summaryrefslogtreecommitdiffstats
path: root/Lib/lib-stdwin/formatter.py
stat options
Period:
Authors:

Commits per author per week (path 'Lib/lib-stdwin/formatter.py')

AuthorW36 2024W37 2024W38 2024W39 2024Total
Total00000
option>
Diffstat
-rw-r--r--bin/patch_capabilities.pl4
-rwxr-xr-xbin/syncqt1
-rwxr-xr-xconfig.tests/mac/defaultarch.test14
-rw-r--r--config.tests/unix/alsa/alsa.pro4
-rw-r--r--config.tests/unix/alsa/alsatest.cpp6
-rwxr-xr-xconfig.tests/unix/makeabs8
-rw-r--r--config.tests/unix/openssl/openssl.pri11
-rw-r--r--config.tests/unix/stl/stltest.cpp61
-rw-r--r--config.tests/x11/xsync/xsync.cpp11
-rw-r--r--config.tests/x11/xsync/xsync.pro3
-rwxr-xr-xconfigure250
-rwxr-xr-xconfigure.exebin864256 -> 1160192 bytes
-rw-r--r--demos/browser/browserapplication.cpp1
-rw-r--r--demos/browser/browsermainwindow.cpp1
-rw-r--r--demos/demobase.pri24
-rw-r--r--demos/demos.pro4
-rw-r--r--demos/embedded/anomaly/src/AddressBar.cpp4
-rw-r--r--demos/embedded/anomaly/src/AddressBar.h4
-rw-r--r--demos/embedded/anomaly/src/BookmarksView.cpp4
-rw-r--r--demos/embedded/anomaly/src/BookmarksView.h4
-rw-r--r--demos/embedded/anomaly/src/BrowserView.cpp4
-rw-r--r--demos/embedded/anomaly/src/BrowserView.h4
-rw-r--r--demos/embedded/anomaly/src/BrowserWindow.cpp4
-rw-r--r--demos/embedded/anomaly/src/BrowserWindow.h4
-rw-r--r--demos/embedded/anomaly/src/ControlStrip.cpp4
-rw-r--r--demos/embedded/anomaly/src/ControlStrip.h4
-rw-r--r--demos/embedded/anomaly/src/HomeView.cpp4
-rw-r--r--demos/embedded/anomaly/src/HomeView.h4
-rw-r--r--demos/embedded/anomaly/src/Main.cpp4
-rw-r--r--demos/embedded/anomaly/src/TitleBar.cpp4
-rw-r--r--demos/embedded/anomaly/src/TitleBar.h4
-rw-r--r--demos/embedded/anomaly/src/ZoomStrip.cpp4
-rw-r--r--demos/embedded/anomaly/src/ZoomStrip.h4
-rw-r--r--demos/embedded/anomaly/src/flickcharm.cpp4
-rw-r--r--demos/embedded/anomaly/src/flickcharm.h4
-rw-r--r--demos/embedded/desktopservices/contenttab.cpp6
-rw-r--r--demos/embedded/desktopservices/contenttab.h6
-rw-r--r--demos/embedded/desktopservices/desktopwidget.cpp6
-rw-r--r--demos/embedded/desktopservices/desktopwidget.h6
-rw-r--r--demos/embedded/desktopservices/linktab.cpp6
-rw-r--r--demos/embedded/desktopservices/linktab.h6
-rw-r--r--demos/embedded/desktopservices/main.cpp6
-rw-r--r--demos/embedded/embedded.pro2
-rw-r--r--demos/qtdemo/qtdemo.rc30
-rw-r--r--demos/qtdemo/xml/examples.xml8
-rw-r--r--demos/sub-attaq/animationmanager.cpp (renamed from examples/animation/sub-attaq/animationmanager.cpp)0
-rw-r--r--demos/sub-attaq/animationmanager.h (renamed from examples/animation/sub-attaq/animationmanager.h)0
-rw-r--r--demos/sub-attaq/boat.cpp318
-rw-r--r--demos/sub-attaq/boat.h (renamed from examples/animation/sub-attaq/boat.h)0
-rw-r--r--demos/sub-attaq/boat_p.h (renamed from examples/animation/sub-attaq/boat_p.h)0
-rw-r--r--demos/sub-attaq/bomb.cpp124
-rw-r--r--demos/sub-attaq/bomb.h (renamed from examples/animation/sub-attaq/bomb.h)0
-rw-r--r--demos/sub-attaq/custompropertyanimation.cpp108
-rw-r--r--demos/sub-attaq/custompropertyanimation.h (renamed from examples/animation/sub-attaq/custompropertyanimation.h)0
-rw-r--r--demos/sub-attaq/data.xml39
-rw-r--r--demos/sub-attaq/graphicsscene.cpp374
-rw-r--r--demos/sub-attaq/graphicsscene.h (renamed from examples/animation/sub-attaq/graphicsscene.h)0
-rw-r--r--demos/sub-attaq/main.cpp (renamed from examples/animation/sub-attaq/main.cpp)0
-rw-r--r--demos/sub-attaq/mainwindow.cpp (renamed from examples/animation/sub-attaq/mainwindow.cpp)0
-rw-r--r--demos/sub-attaq/mainwindow.h (renamed from examples/animation/sub-attaq/mainwindow.h)0
-rw-r--r--demos/sub-attaq/pics/big/background.png (renamed from examples/animation/sub-attaq/pics/big/background.png)bin48858 -> 48858 bytes
-rw-r--r--demos/sub-attaq/pics/big/boat.png (renamed from examples/animation/sub-attaq/pics/big/boat.png)bin5198 -> 5198 bytes
-rw-r--r--demos/sub-attaq/pics/big/bomb.png (renamed from examples/animation/sub-attaq/pics/small/bomb.png)bin760 -> 760 bytes
-rw-r--r--demos/sub-attaq/pics/big/explosion/boat/step1.png (renamed from examples/animation/sub-attaq/pics/big/explosion/boat/step1.png)bin5760 -> 5760 bytes
-rw-r--r--demos/sub-attaq/pics/big/explosion/boat/step2.png (renamed from examples/animation/sub-attaq/pics/big/explosion/boat/step2.png)bin9976 -> 9976 bytes
-rw-r--r--demos/sub-attaq/pics/big/explosion/boat/step3.png (renamed from examples/animation/sub-attaq/pics/big/explosion/boat/step3.png)bin12411 -> 12411 bytes
-rw-r--r--demos/sub-attaq/pics/big/explosion/boat/step4.png (renamed from examples/animation/sub-attaq/pics/big/explosion/boat/step4.png)bin15438 -> 15438 bytes
-rw-r--r--demos/sub-attaq/pics/big/explosion/submarine/step1.png (renamed from examples/animation/sub-attaq/pics/big/explosion/submarine/step1.png)bin3354 -> 3354 bytes
-rw-r--r--demos/sub-attaq/pics/big/explosion/submarine/step2.png (renamed from examples/animation/sub-attaq/pics/big/explosion/submarine/step2.png)bin6205 -> 6205 bytes
-rw-r--r--demos/sub-attaq/pics/big/explosion/submarine/step3.png (renamed from examples/animation/sub-attaq/pics/big/explosion/submarine/step3.png)bin6678 -> 6678 bytes
-rw-r--r--demos/sub-attaq/pics/big/explosion/submarine/step4.png (renamed from examples/animation/sub-attaq/pics/big/explosion/submarine/step4.png)bin6666 -> 6666 bytes
-rw-r--r--demos/sub-attaq/pics/big/submarine.png (renamed from examples/animation/sub-attaq/pics/big/submarine.png)bin3202 -> 3202 bytes
-rw-r--r--demos/sub-attaq/pics/big/surface.png (renamed from examples/animation/sub-attaq/pics/big/surface.png)bin575 -> 575 bytes
-rw-r--r--demos/sub-attaq/pics/big/torpedo.png (renamed from examples/animation/sub-attaq/pics/small/torpedo.png)bin951 -> 951 bytes
-rw-r--r--demos/sub-attaq/pics/scalable/background-n810.svg (renamed from examples/animation/sub-attaq/pics/scalable/background-n810.svg)0
-rw-r--r--demos/sub-attaq/pics/scalable/background.svg (renamed from examples/animation/sub-attaq/pics/scalable/background.svg)0
-rw-r--r--demos/sub-attaq/pics/scalable/boat.svg (renamed from examples/animation/sub-attaq/pics/scalable/boat.svg)0
-rw-r--r--demos/sub-attaq/pics/scalable/bomb.svg (renamed from examples/animation/sub-attaq/pics/scalable/bomb.svg)0
-rw-r--r--demos/sub-attaq/pics/scalable/sand.svg (renamed from examples/animation/sub-attaq/pics/scalable/sand.svg)0
-rw-r--r--demos/sub-attaq/pics/scalable/see.svg (renamed from examples/animation/sub-attaq/pics/scalable/see.svg)0
-rw-r--r--demos/sub-attaq/pics/scalable/sky.svg (renamed from examples/animation/sub-attaq/pics/scalable/sky.svg)0
-rw-r--r--demos/sub-attaq/pics/scalable/sub-attaq.svg (renamed from examples/animation/sub-attaq/pics/scalable/sub-attaq.svg)0
-rw-r--r--demos/sub-attaq/pics/scalable/submarine.svg (renamed from examples/animation/sub-attaq/pics/scalable/submarine.svg)0
-rw-r--r--demos/sub-attaq/pics/scalable/surface.svg (renamed from examples/animation/sub-attaq/pics/scalable/surface.svg)0
-rw-r--r--demos/sub-attaq/pics/scalable/torpedo.svg (renamed from examples/animation/sub-attaq/pics/scalable/torpedo.svg)0
-rw-r--r--demos/sub-attaq/pics/small/background.png (renamed from examples/animation/sub-attaq/pics/small/background.png)bin34634 -> 34634 bytes
-rw-r--r--demos/sub-attaq/pics/small/boat.png (renamed from examples/animation/sub-attaq/pics/small/boat.png)bin2394 -> 2394 bytes
-rw-r--r--demos/sub-attaq/pics/small/bomb.png (renamed from examples/animation/sub-attaq/pics/big/bomb.png)bin760 -> 760 bytes
-rw-r--r--demos/sub-attaq/pics/small/submarine.png (renamed from examples/animation/sub-attaq/pics/small/submarine.png)bin1338 -> 1338 bytes
-rw-r--r--demos/sub-attaq/pics/small/surface.png (renamed from examples/animation/sub-attaq/pics/small/surface.png)bin502 -> 502 bytes
-rw-r--r--demos/sub-attaq/pics/small/torpedo.png (renamed from examples/animation/sub-attaq/pics/big/torpedo.png)bin951 -> 951 bytes
-rw-r--r--demos/sub-attaq/pics/welcome/logo-a.png (renamed from examples/animation/sub-attaq/pics/welcome/logo-a.png)bin5972 -> 5972 bytes
-rw-r--r--demos/sub-attaq/pics/welcome/logo-a2.png (renamed from examples/animation/sub-attaq/pics/welcome/logo-a2.png)bin5969 -> 5969 bytes
-rw-r--r--demos/sub-attaq/pics/welcome/logo-b.png (renamed from examples/animation/sub-attaq/pics/welcome/logo-b.png)bin6869 -> 6869 bytes
-rw-r--r--demos/sub-attaq/pics/welcome/logo-dash.png (renamed from examples/animation/sub-attaq/pics/welcome/logo-dash.png)bin2255 -> 2255 bytes
-rw-r--r--demos/sub-attaq/pics/welcome/logo-excl.png (renamed from examples/animation/sub-attaq/pics/welcome/logo-excl.png)bin2740 -> 2740 bytes
-rw-r--r--demos/sub-attaq/pics/welcome/logo-q.png (renamed from examples/animation/sub-attaq/pics/welcome/logo-q.png)bin7016 -> 7016 bytes
-rw-r--r--demos/sub-attaq/pics/welcome/logo-s.png (renamed from examples/animation/sub-attaq/pics/welcome/logo-s.png)bin5817 -> 5817 bytes
-rw-r--r--demos/sub-attaq/pics/welcome/logo-t.png (renamed from examples/animation/sub-attaq/pics/welcome/logo-t.png)bin3717 -> 3717 bytes
-rw-r--r--demos/sub-attaq/pics/welcome/logo-t2.png (renamed from examples/animation/sub-attaq/pics/welcome/logo-t2.png)bin3688 -> 3688 bytes
-rw-r--r--demos/sub-attaq/pics/welcome/logo-u.png (renamed from examples/animation/sub-attaq/pics/welcome/logo-u.png)bin5374 -> 5374 bytes
-rw-r--r--demos/sub-attaq/pixmapitem.cpp (renamed from examples/animation/sub-attaq/pixmapitem.cpp)0
-rw-r--r--demos/sub-attaq/pixmapitem.h (renamed from examples/animation/sub-attaq/pixmapitem.h)0
-rw-r--r--demos/sub-attaq/progressitem.cpp (renamed from examples/animation/sub-attaq/progressitem.cpp)0
-rw-r--r--demos/sub-attaq/progressitem.h (renamed from examples/animation/sub-attaq/progressitem.h)0
-rw-r--r--demos/sub-attaq/qanimationstate.cpp (renamed from examples/animation/sub-attaq/qanimationstate.cpp)0
-rw-r--r--demos/sub-attaq/qanimationstate.h (renamed from examples/animation/sub-attaq/qanimationstate.h)0
-rw-r--r--demos/sub-attaq/states.cpp327
-rw-r--r--demos/sub-attaq/states.h (renamed from examples/animation/sub-attaq/states.h)0
-rw-r--r--demos/sub-attaq/sub-attaq.pro37
-rw-r--r--demos/sub-attaq/subattaq.qrc (renamed from examples/animation/sub-attaq/subattaq.qrc)0
-rw-r--r--demos/sub-attaq/submarine.cpp218
-rw-r--r--demos/sub-attaq/submarine.h96
-rw-r--r--demos/sub-attaq/submarine_p.h139
-rw-r--r--demos/sub-attaq/torpedo.cpp120
-rw-r--r--demos/sub-attaq/torpedo.h (renamed from examples/animation/sub-attaq/torpedo.h)0
-rw-r--r--demos/textedit/textedit.cpp23
-rw-r--r--dist/changes-4.6.040
-rw-r--r--doc/doc.pri11
-rw-r--r--doc/src/annotated.qdoc62
-rw-r--r--doc/src/bughowto.qdoc8
-rw-r--r--doc/src/classes.qdoc96
-rw-r--r--doc/src/classes/phonon-api.qdoc (renamed from doc/src/phonon-api.qdoc)0
-rw-r--r--doc/src/classes/q3asciicache.qdoc (renamed from doc/src/q3asciicache.qdoc)0
-rw-r--r--doc/src/classes/q3asciidict.qdoc (renamed from doc/src/q3asciidict.qdoc)0
-rw-r--r--doc/src/classes/q3cache.qdoc (renamed from doc/src/q3cache.qdoc)0
-rw-r--r--doc/src/classes/q3dict.qdoc (renamed from doc/src/q3dict.qdoc)0
-rw-r--r--doc/src/classes/q3intcache.qdoc (renamed from doc/src/q3intcache.qdoc)0
-rw-r--r--doc/src/classes/q3intdict.qdoc (renamed from doc/src/q3intdict.qdoc)0
-rw-r--r--doc/src/classes/q3memarray.qdoc (renamed from doc/src/q3memarray.qdoc)0
-rw-r--r--doc/src/classes/q3popupmenu.qdoc (renamed from doc/src/q3popupmenu.qdoc)0
-rw-r--r--doc/src/classes/q3ptrdict.qdoc (renamed from doc/src/q3ptrdict.qdoc)0
-rw-r--r--doc/src/classes/q3ptrlist.qdoc (renamed from doc/src/q3ptrlist.qdoc)0
-rw-r--r--doc/src/classes/q3ptrqueue.qdoc (renamed from doc/src/q3ptrqueue.qdoc)0
-rw-r--r--doc/src/classes/q3ptrstack.qdoc (renamed from doc/src/q3ptrstack.qdoc)0
-rw-r--r--doc/src/classes/q3ptrvector.qdoc (renamed from doc/src/q3ptrvector.qdoc)0
-rw-r--r--doc/src/classes/q3sqlfieldinfo.qdoc (renamed from doc/src/q3sqlfieldinfo.qdoc)0
-rw-r--r--doc/src/classes/q3sqlrecordinfo.qdoc (renamed from doc/src/q3sqlrecordinfo.qdoc)0
-rw-r--r--doc/src/classes/q3valuelist.qdoc (renamed from doc/src/q3valuelist.qdoc)0
-rw-r--r--doc/src/classes/q3valuestack.qdoc (renamed from doc/src/q3valuestack.qdoc)0
-rw-r--r--doc/src/classes/q3valuevector.qdoc (renamed from doc/src/q3valuevector.qdoc)0
-rw-r--r--doc/src/classes/qalgorithms.qdoc (renamed from doc/src/qalgorithms.qdoc)0
-rw-r--r--doc/src/classes/qcache.qdoc (renamed from doc/src/qcache.qdoc)0
-rw-r--r--doc/src/classes/qcolormap.qdoc (renamed from doc/src/qcolormap.qdoc)0
-rw-r--r--doc/src/classes/qdesktopwidget.qdoc266
-rw-r--r--doc/src/classes/qiterator.qdoc (renamed from doc/src/qiterator.qdoc)0
-rw-r--r--doc/src/classes/qmacstyle.qdoc (renamed from doc/src/qstyles.qdoc)0
-rw-r--r--doc/src/classes/qnamespace.qdoc2745
-rw-r--r--doc/src/classes/qpagesetupdialog.qdoc (renamed from doc/src/qpagesetupdialog.qdoc)0
-rw-r--r--doc/src/classes/qpaintdevice.qdoc (renamed from doc/src/qpaintdevice.qdoc)0
-rw-r--r--doc/src/classes/qpair.qdoc (renamed from doc/src/qpair.qdoc)0
-rw-r--r--doc/src/classes/qpatternistdummy.cpp (renamed from doc/src/qpatternistdummy.cpp)0
-rw-r--r--doc/src/classes/qplugin.qdoc (renamed from doc/src/qplugin.qdoc)0
-rw-r--r--doc/src/classes/qprintdialog.qdoc (renamed from doc/src/qprintdialog.qdoc)0
-rw-r--r--doc/src/classes/qprinterinfo.qdoc (renamed from doc/src/qprinterinfo.qdoc)0
-rw-r--r--doc/src/classes/qset.qdoc (renamed from doc/src/qset.qdoc)0
-rw-r--r--doc/src/classes/qsignalspy.qdoc (renamed from doc/src/qsignalspy.qdoc)0
-rw-r--r--doc/src/classes/qsizepolicy.qdoc (renamed from doc/src/qsizepolicy.qdoc)0
-rw-r--r--doc/src/classes/qtdesigner-api.qdoc1413
-rw-r--r--doc/src/classes/qtendian.qdoc (renamed from doc/src/qtendian.qdoc)0
-rw-r--r--doc/src/classes/qtestevent.qdoc (renamed from doc/src/qtestevent.qdoc)0
-rw-r--r--doc/src/classes/qvarlengtharray.qdoc (renamed from doc/src/qvarlengtharray.qdoc)0
-rw-r--r--doc/src/classes/qwaitcondition.qdoc (renamed from doc/src/qwaitcondition.qdoc)0
-rw-r--r--doc/src/compatclasses.qdoc54
-rw-r--r--doc/src/compiler-notes.qdoc278
-rw-r--r--doc/src/coordsys.qdoc18
-rw-r--r--doc/src/credits.qdoc1
-rw-r--r--doc/src/datastreamformat.qdoc56
-rw-r--r--doc/src/demos/sub-attaq.qdoc54
-rw-r--r--doc/src/deployment.qdoc10
-rw-r--r--doc/src/designer-manual.qdoc44
-rw-r--r--doc/src/diagrams/programs/easingcurve/main.cpp29
-rw-r--r--doc/src/dnd.qdoc15
-rw-r--r--doc/src/emb-charinput.qdoc54
-rw-r--r--doc/src/emb-kmap2qmap.qdoc84
-rw-r--r--doc/src/emb-pointer.qdoc17
-rw-r--r--doc/src/examples-overview.qdoc11
-rw-r--r--doc/src/examples.qdoc10
-rw-r--r--doc/src/examples/arrowpad.qdoc8
-rw-r--r--doc/src/examples/audiodevices.qdoc54
-rw-r--r--doc/src/examples/audioinput.qdoc54
-rw-r--r--doc/src/examples/audiooutput.qdoc52
-rw-r--r--doc/src/examples/calculatorform.qdoc6
-rw-r--r--doc/src/examples/collidingmice-example.qdoc4
-rw-r--r--doc/src/examples/completer.qdoc16
-rw-r--r--doc/src/examples/googlechat.qdoc1
-rw-r--r--doc/src/examples/googlesuggest.qdoc1
-rw-r--r--doc/src/examples/helloscript.qdoc12
-rw-r--r--doc/src/examples/hellotr.qdoc26
-rw-r--r--doc/src/examples/htmlinfo.qdoc8
-rw-r--r--doc/src/examples/moveblocks.qdoc4
-rw-r--r--doc/src/examples/multipleinheritance.qdoc2
-rw-r--r--doc/src/examples/qtscripttetrix.qdoc2
-rw-r--r--doc/src/examples/schema.qdoc143
-rw-r--r--doc/src/examples/scribble.qdoc2
-rw-r--r--doc/src/examples/simpletextviewer.qdoc7
-rw-r--r--doc/src/examples/svggenerator.qdoc4
-rw-r--r--doc/src/examples/tablet.qdoc5
-rw-r--r--doc/src/examples/tankgame.qdoc117
-rw-r--r--doc/src/examples/textfinder.qdoc4
-rw-r--r--doc/src/examples/transformations.qdoc6
-rw-r--r--doc/src/examples/worldtimeclockbuilder.qdoc2
-rw-r--r--doc/src/exceptionsafety.qdoc4
-rw-r--r--doc/src/functions.qdoc63
-rw-r--r--doc/src/graphicsview.qdoc13
-rw-r--r--doc/src/groups.qdoc137
-rw-r--r--doc/src/hierarchy.qdoc52
-rw-r--r--doc/src/i18n.qdoc30
-rw-r--r--doc/src/images/cursor-hsplit.pngbin161 -> 155 bytes
-rw-r--r--doc/src/images/cursor-vsplit.pngbin155 -> 161 bytes
-rw-r--r--doc/src/images/qeasingcurve-cosinecurve.pngbin2544 -> 3419 bytes
-rw-r--r--doc/src/images/qeasingcurve-inback.pngbin2225 -> 2808 bytes
-rw-r--r--doc/src/images/qeasingcurve-inbounce.pngbin2378 -> 3154 bytes
-rw-r--r--doc/src/images/qeasingcurve-incirc.pngbin2138 -> 2605 bytes
-rw-r--r--doc/src/images/qeasingcurve-incubic.pngbin2230 -> 2722 bytes
-rw-r--r--doc/src/images/qeasingcurve-incurve.pngbin2325 -> 2692 bytes
-rw-r--r--doc/src/images/qeasingcurve-inelastic.pngbin2314 -> 3304 bytes
-rw-r--r--doc/src/images/qeasingcurve-inexpo.pngbin2183 -> 2675 bytes
-rw-r--r--doc/src/images/qeasingcurve-inoutback.pngbin2460 -> 3241 bytes
-rw-r--r--doc/src/images/qeasingcurve-inoutbounce.pngbin2522 -> 3386 bytes
-rw-r--r--doc/src/images/qeasingcurve-inoutcirc.pngbin2352 -> 2843 bytes
-rw-r--r--doc/src/images/qeasingcurve-inoutcubic.pngbin2410 -> 2931 bytes
-rw-r--r--doc/src/images/qeasingcurve-inoutelastic.pngbin2485 -> 3461 bytes
-rw-r--r--doc/src/images/qeasingcurve-inoutexpo.pngbin2383 -> 3004 bytes
-rw-r--r--doc/src/images/qeasingcurve-inoutquad.pngbin2392 -> 2893 bytes
-rw-r--r--doc/src/images/qeasingcurve-inoutquart.pngbin2331 -> 2925 bytes
-rw-r--r--doc/src/images/qeasingcurve-inoutquint.pngbin2244 -> 2823 bytes
-rw-r--r--doc/src/images/qeasingcurve-inoutsine.pngbin2405 -> 2891 bytes
-rw-r--r--doc/src/images/qeasingcurve-inquad.pngbin2283 -> 2733 bytes
-rw-r--r--doc/src/images/qeasingcurve-inquart.pngbin2261 -> 2727 bytes
-rw-r--r--doc/src/images/qeasingcurve-inquint.pngbin2178 -> 2630 bytes
-rw-r--r--doc/src/images/qeasingcurve-insine.pngbin2167 -> 2567 bytes
-rw-r--r--doc/src/images/qeasingcurve-linear.pngbin2165 -> 2318 bytes
-rw-r--r--doc/src/images/qeasingcurve-outback.pngbin2371 -> 2852 bytes
-rw-r--r--doc/src/images/qeasingcurve-outbounce.pngbin2481 -> 3360 bytes
-rw-r--r--doc/src/images/qeasingcurve-outcirc.pngbin2269 -> 2796 bytes
-rw-r--r--doc/src/images/qeasingcurve-outcubic.pngbin2336 -> 2792 bytes
-rw-r--r--doc/src/images/qeasingcurve-outcurve.pngbin2389 -> 2724 bytes
-rw-r--r--doc/src/images/qeasingcurve-outelastic.pngbin2402 -> 3423 bytes
-rw-r--r--doc/src/images/qeasingcurve-outexpo.pngbin2299 -> 2803 bytes
-rw-r--r--doc/src/images/qeasingcurve-outinback.pngbin2400 -> 3026 bytes
-rw-r--r--doc/src/images/qeasingcurve-outinbounce.pngbin2568 -> 3629 bytes
-rw-r--r--doc/src/images/qeasingcurve-outincirc.pngbin2339 -> 2822 bytes
-rw-r--r--doc/src/images/qeasingcurve-outincubic.pngbin2393 -> 2872 bytes
-rw-r--r--doc/src/images/qeasingcurve-outinelastic.pngbin2517 -> 3941 bytes
-rw-r--r--doc/src/images/qeasingcurve-outinexpo.pngbin2377 -> 2923 bytes
-rw-r--r--doc/src/images/qeasingcurve-outinquad.pngbin2380 -> 2858 bytes
-rw-r--r--doc/src/images/qeasingcurve-outinquart.pngbin2319 -> 2830 bytes
-rw-r--r--doc/src/images/qeasingcurve-outinquint.pngbin2248 -> 2724 bytes
-rw-r--r--doc/src/images/qeasingcurve-outinsine.pngbin2388 -> 2817 bytes
-rw-r--r--doc/src/images/qeasingcurve-outquad.pngbin2324 -> 2760 bytes
-rw-r--r--doc/src/images/qeasingcurve-outquart.pngbin2304 -> 2764 bytes
-rw-r--r--doc/src/images/qeasingcurve-outquint.pngbin2242 -> 2687 bytes
-rw-r--r--doc/src/images/qeasingcurve-outsine.pngbin2364 -> 2773 bytes
-rw-r--r--doc/src/images/qeasingcurve-sinecurve.pngbin2470 -> 3329 bytes
-rw-r--r--doc/src/images/schema-example.pngbin0 -> 84320 bytes
-rw-r--r--doc/src/images/sub-attaq-demo.pngbin0 -> 51552 bytes
-rw-r--r--doc/src/implicit-sharing.qdoc144
-rw-r--r--doc/src/ipc.qdoc12
-rw-r--r--doc/src/layout.qdoc3
-rw-r--r--doc/src/legal/3rdparty.qdoc (renamed from doc/src/3rdparty.qdoc)0
-rw-r--r--doc/src/legal/commercialeditions.qdoc (renamed from doc/src/commercialeditions.qdoc)0
-rw-r--r--doc/src/legal/editions.qdoc (renamed from doc/src/editions.qdoc)0
-rw-r--r--doc/src/legal/gpl.qdoc (renamed from doc/src/gpl.qdoc)0
-rw-r--r--doc/src/legal/licenses.qdoc496
-rw-r--r--doc/src/legal/opensourceedition.qdoc (renamed from doc/src/opensourceedition.qdoc)0
-rw-r--r--doc/src/legal/trademarks.qdoc (renamed from doc/src/trademarks.qdoc)0
-rw-r--r--doc/src/licenses.qdoc483
-rw-r--r--doc/src/linguist-manual.qdoc59
-rw-r--r--doc/src/mainclasses.qdoc51
-rw-r--r--doc/src/model-view-programming.qdoc9
-rw-r--r--doc/src/paintsystem.qdoc6
-rw-r--r--doc/src/platform-notes-rtos.qdoc220
-rw-r--r--doc/src/platform-notes.qdoc349
-rw-r--r--doc/src/plugins-howto.qdoc1
-rw-r--r--doc/src/porting4-canvas.qdoc2
-rw-r--r--doc/src/porting4-designer.qdoc40
-rw-r--r--doc/src/porting4-overview.qdoc10
-rw-r--r--doc/src/porting4.qdoc32
-rw-r--r--doc/src/properties.qdoc11
-rw-r--r--doc/src/qdesktopwidget.qdoc247
-rw-r--r--doc/src/qmake-manual.qdoc46
-rw-r--r--doc/src/qmsdev.qdoc2
-rw-r--r--doc/src/qnamespace.qdoc2780
-rw-r--r--doc/src/qsql.qdoc3
-rw-r--r--doc/src/qsqldatatype-table.qdoc127
-rw-r--r--doc/src/qt3to4.qdoc2
-rw-r--r--doc/src/qt4-intro.qdoc2
-rw-r--r--doc/src/qt4-network.qdoc10
-rw-r--r--doc/src/qtdesigner.qdoc1377
-rw-r--r--doc/src/qthelp.qdoc16
-rw-r--r--doc/src/qtnetwork.qdoc18
-rw-r--r--doc/src/qtscript.qdoc24
-rw-r--r--doc/src/qtuiloader.qdoc2
-rw-r--r--doc/src/qtxmlpatterns.qdoc75
-rw-r--r--doc/src/resources.qdoc2
-rw-r--r--doc/src/richtext.qdoc4
-rw-r--r--doc/src/s60-introduction.qdoc8
-rw-r--r--doc/src/signalsandslots.qdoc2
-rw-r--r--doc/src/snippets/code/doc_src_emb-charinput.qdoc2
-rw-r--r--doc/src/snippets/code/doc_src_linguist-manual.qdoc6
-rw-r--r--doc/src/snippets/code/doc_src_properties.qdoc4
-rw-r--r--doc/src/snippets/code/doc_src_qmake-manual.qdoc2
-rw-r--r--doc/src/snippets/code/doc_src_qthelp.qdoc6
-rw-r--r--doc/src/snippets/code/doc_src_styles.qdoc2
-rw-r--r--doc/src/snippets/code/src_corelib_global_qglobal.cpp24
-rw-r--r--doc/src/snippets/code/src_corelib_io_qfileinfo.cpp6
-rw-r--r--doc/src/snippets/code/src_corelib_kernel_qobject.cpp9
-rw-r--r--doc/src/snippets/code/src_corelib_tools_qlistdata.cpp6
-rw-r--r--doc/src/snippets/code/src_network_access_qnetworkreply.cpp10
-rw-r--r--doc/src/snippets/code/src_network_ssl_qsslsocket.cpp11
-rw-r--r--doc/src/snippets/qxmlschema/main.cpp118
-rw-r--r--doc/src/snippets/qxmlschema/qxmlschema.pro3
-rw-r--r--doc/src/snippets/qxmlschemavalidator/main.cpp160
-rw-r--r--doc/src/snippets/qxmlschemavalidator/qxmlschemavalidator.pro3
-rw-r--r--doc/src/snippets/snippets.pro2
-rw-r--r--doc/src/snippets/statemachine/eventtest.cpp34
-rw-r--r--doc/src/snippets/stringlistmodel/model.cpp32
-rw-r--r--doc/src/styles.qdoc16
-rw-r--r--doc/src/supported-platforms.qdoc141
-rw-r--r--doc/src/symbian-exceptionsafety.qdoc4
-rw-r--r--doc/src/tech-preview/images/mainwindow-docks-example.pngbin14427 -> 0 bytes
-rw-r--r--doc/src/tech-preview/images/mainwindow-docks.pngbin10168 -> 0 bytes
-rw-r--r--doc/src/tech-preview/images/plaintext-layout.pngbin40981 -> 0 bytes
-rw-r--r--doc/src/tech-preview/known-issues.html110
-rw-r--r--doc/src/templates.qdoc2
-rw-r--r--doc/src/threads.qdoc121
-rw-r--r--doc/src/topics.qdoc12
-rw-r--r--doc/src/trolltech-webpages.qdoc10
-rw-r--r--doc/src/tutorials/addressbook-fr.qdoc2
-rw-r--r--doc/src/tutorials/addressbook.qdoc75
-rw-r--r--examples/activeqt/dotnet/wrapper/lib/tools.cpp2
-rw-r--r--examples/activeqt/webbrowser/main.cpp4
-rw-r--r--examples/activeqt/webbrowser/mainwindow_windowsmobile.ui (renamed from examples/activeqt/webbrowser/wincemainwindow.ui)0
-rw-r--r--examples/activeqt/webbrowser/webbrowser.pro2
-rw-r--r--examples/animation/animatedtiles/main.cpp12
-rw-r--r--examples/animation/animation.pro1
-rw-r--r--examples/animation/appchooser/main.cpp2
-rw-r--r--examples/animation/moveblocks/main.cpp6
-rw-r--r--examples/animation/states/main.cpp7
-rw-r--r--examples/animation/stickman/editor/animationdialog.cpp192
-rw-r--r--examples/animation/stickman/editor/animationdialog.h84
-rw-r--r--examples/animation/stickman/editor/editor.pri2
-rw-r--r--examples/animation/stickman/editor/mainwindow.cpp76
-rw-r--r--examples/animation/stickman/editor/mainwindow.h58
-rw-r--r--examples/animation/stickman/graphicsview.cpp23
-rw-r--r--examples/animation/stickman/lifecycle.cpp12
-rw-r--r--examples/animation/stickman/stickman.pro2
-rw-r--r--examples/animation/sub-attaq/boat.cpp318
-rw-r--r--examples/animation/sub-attaq/bomb.cpp124
-rw-r--r--examples/animation/sub-attaq/custompropertyanimation.cpp108
-rw-r--r--examples/animation/sub-attaq/data.xml15
-rw-r--r--examples/animation/sub-attaq/graphicsscene.cpp374
-rw-r--r--examples/animation/sub-attaq/states.cpp325
-rw-r--r--examples/animation/sub-attaq/sub-attaq.pro36
-rw-r--r--examples/animation/sub-attaq/submarine.cpp211
-rw-r--r--examples/animation/sub-attaq/submarine.h92
-rw-r--r--examples/animation/sub-attaq/submarine_p.h139
-rw-r--r--examples/animation/sub-attaq/torpedo.cpp120
-rw-r--r--examples/examples.pro2
-rw-r--r--examples/gestures/browser/Info_mac.plist43
-rw-r--r--examples/gestures/browser/addbookmarkdialog.ui98
-rw-r--r--examples/gestures/browser/autosaver.cpp94
-rw-r--r--examples/gestures/browser/autosaver.h76
-rw-r--r--examples/gestures/browser/bookmarks.cpp987
-rw-r--r--examples/gestures/browser/bookmarks.h310
-rw-r--r--examples/gestures/browser/bookmarks.ui106
-rw-r--r--examples/gestures/browser/browser.icnsbin50218 -> 0 bytes
-rw-r--r--examples/gestures/browser/browser.icobin15374 -> 0 bytes
-rw-r--r--examples/gestures/browser/browser.pro91
-rw-r--r--examples/gestures/browser/browser.rc2
-rw-r--r--examples/gestures/browser/browserapplication.cpp447
-rw-r--r--examples/gestures/browser/browserapplication.h119
-rw-r--r--examples/gestures/browser/browsermainwindow.cpp991
-rw-r--r--examples/gestures/browser/browsermainwindow.h169
-rw-r--r--examples/gestures/browser/chasewidget.cpp142
-rw-r--r--examples/gestures/browser/chasewidget.h85
-rw-r--r--examples/gestures/browser/cookiejar.cpp733
-rw-r--r--examples/gestures/browser/cookiejar.h204
-rw-r--r--examples/gestures/browser/cookies.ui106
-rw-r--r--examples/gestures/browser/cookiesexceptions.ui184
-rw-r--r--examples/gestures/browser/data/addtab.pngbin469 -> 0 bytes
-rw-r--r--examples/gestures/browser/data/browser.svg411
-rw-r--r--examples/gestures/browser/data/closetab.pngbin516 -> 0 bytes
-rw-r--r--examples/gestures/browser/data/data.qrc11
-rw-r--r--examples/gestures/browser/data/defaultbookmarks.xbel40
-rw-r--r--examples/gestures/browser/data/defaulticon.pngbin1473 -> 0 bytes
-rw-r--r--examples/gestures/browser/data/history.pngbin1527 -> 0 bytes
-rw-r--r--examples/gestures/browser/data/loading.gifbin847 -> 0 bytes
-rw-r--r--examples/gestures/browser/downloaditem.ui134
-rw-r--r--examples/gestures/browser/downloadmanager.cpp579
-rw-r--r--examples/gestures/browser/downloadmanager.h162
-rw-r--r--examples/gestures/browser/downloads.ui83
-rw-r--r--examples/gestures/browser/edittableview.cpp78
-rw-r--r--examples/gestures/browser/edittableview.h61
-rw-r--r--examples/gestures/browser/edittreeview.cpp77
-rw-r--r--examples/gestures/browser/edittreeview.h61
-rw-r--r--examples/gestures/browser/history.cpp1282
-rw-r--r--examples/gestures/browser/history.h350
-rw-r--r--examples/gestures/browser/history.ui106
-rw-r--r--examples/gestures/browser/htmls/htmls.qrc5
-rw-r--r--examples/gestures/browser/htmls/notfound.html63
-rw-r--r--examples/gestures/browser/main.cpp53
-rw-r--r--examples/gestures/browser/modelmenu.cpp227
-rw-r--r--examples/gestures/browser/modelmenu.h105
-rw-r--r--examples/gestures/browser/networkaccessmanager.cpp171
-rw-r--r--examples/gestures/browser/networkaccessmanager.h68
-rw-r--r--examples/gestures/browser/passworddialog.ui111
-rw-r--r--examples/gestures/browser/proxy.ui104
-rw-r--r--examples/gestures/browser/searchlineedit.cpp238
-rw-r--r--examples/gestures/browser/searchlineedit.h103
-rw-r--r--examples/gestures/browser/settings.cpp324
-rw-r--r--examples/gestures/browser/settings.h74
-rw-r--r--examples/gestures/browser/settings.ui614
-rw-r--r--examples/gestures/browser/squeezelabel.cpp61
-rw-r--r--examples/gestures/browser/squeezelabel.h60
-rw-r--r--examples/gestures/browser/tabwidget.cpp830
-rw-r--r--examples/gestures/browser/tabwidget.h224
-rw-r--r--examples/gestures/browser/toolbarsearch.cpp161
-rw-r--r--examples/gestures/browser/toolbarsearch.h84
-rw-r--r--examples/gestures/browser/urllineedit.cpp340
-rw-r--r--examples/gestures/browser/urllineedit.h115
-rw-r--r--examples/gestures/browser/webview.cpp363
-rw-r--r--examples/gestures/browser/webview.h124
-rw-r--r--examples/gestures/browser/xbel.cpp320
-rw-r--r--examples/gestures/browser/xbel.h113
-rw-r--r--examples/gestures/collidingmice/collidingmice.pro18
-rw-r--r--examples/gestures/collidingmice/gesturerecognizerlinjazax.cpp213
-rw-r--r--examples/gestures/collidingmice/gesturerecognizerlinjazax.h106
-rw-r--r--examples/gestures/collidingmice/images/cheese.jpgbin3029 -> 0 bytes
-rw-r--r--examples/gestures/collidingmice/linjazaxgesture.h102
-rw-r--r--examples/gestures/collidingmice/main.cpp163
-rw-r--r--examples/gestures/collidingmice/mice.qrc5
-rw-r--r--examples/gestures/collidingmice/mouse.cpp200
-rw-r--r--examples/gestures/collidingmice/mouse.h72
-rw-r--r--examples/gestures/gestures.pro9
-rw-r--r--examples/gestures/graphicsview/graphicsview.pro2
-rw-r--r--examples/gestures/graphicsview/main.cpp150
-rw-r--r--examples/gestures/imageviewer/imageviewer.pro11
-rw-r--r--examples/gestures/imageviewer/imagewidget.cpp106
-rw-r--r--examples/gestures/imageviewer/imagewidget.h16
-rw-r--r--examples/gestures/imageviewer/main.cpp3
-rw-r--r--examples/gestures/imageviewer/tapandholdgesture.cpp138
-rw-r--r--examples/gestures/imageviewer/tapandholdgesture.h73
-rw-r--r--examples/gestures/pannablewebview/main.cpp90
-rw-r--r--examples/gestures/pannablewebview/pannablewebview.pro4
-rw-r--r--examples/graphicsview/collidingmice/mouse.cpp4
-rw-r--r--examples/ipc/ipc.pro3
-rw-r--r--examples/itemviews/chart/chart.pro2
-rw-r--r--examples/itemviews/frozencolumn/freezetablewidget.h1
-rw-r--r--examples/itemviews/frozencolumn/main.cpp1
-rw-r--r--examples/mainwindows/application/main.cpp2
-rw-r--r--examples/mainwindows/application/mainwindow.cpp7
-rw-r--r--examples/mainwindows/mdi/mainwindow.cpp1
-rw-r--r--examples/mainwindows/recentfiles/main.cpp2
-rw-r--r--examples/mainwindows/recentfiles/mainwindow.cpp12
-rw-r--r--examples/mainwindows/sdi/main.cpp2
-rw-r--r--examples/mainwindows/sdi/mainwindow.cpp8
-rw-r--r--examples/multimedia/README34
-rw-r--r--examples/multimedia/audio/audio.pro10
-rw-r--r--examples/multimedia/audio/audiodevices/audiodevices.cpp272
-rw-r--r--examples/multimedia/audio/audiodevices/audiodevices.h79
-rw-r--r--examples/multimedia/audio/audiodevices/audiodevices.pro12
-rw-r--r--examples/multimedia/audio/audiodevices/audiodevicesbase.ui255
-rw-r--r--examples/multimedia/audio/audiodevices/main.cpp55
-rw-r--r--examples/multimedia/audio/audioinput/audioinput.cpp376
-rw-r--r--examples/multimedia/audio/audioinput/audioinput.h144
-rw-r--r--examples/multimedia/audio/audioinput/audioinput.pro12
-rw-r--r--examples/multimedia/audio/audioinput/main.cpp55
-rw-r--r--examples/multimedia/audio/audiooutput/audiooutput.cpp280
-rw-r--r--examples/multimedia/audio/audiooutput/audiooutput.h112
-rw-r--r--examples/multimedia/audio/audiooutput/audiooutput.pro11
-rw-r--r--examples/multimedia/audio/audiooutput/main.cpp56
-rw-r--r--examples/multimedia/multimedia.pro8
-rw-r--r--examples/network/ftp/sym_iap_util.h4
-rw-r--r--examples/network/network.pro4
-rw-r--r--examples/opengl/hellogl_es2/glwidget.cpp3
-rw-r--r--examples/openvg/README40
-rw-r--r--examples/openvg/openvg.pro8
-rw-r--r--examples/openvg/star/main.cpp54
-rw-r--r--examples/openvg/star/star.pro6
-rw-r--r--examples/openvg/star/starwidget.cpp115
-rw-r--r--examples/openvg/star/starwidget.h66
-rw-r--r--examples/painting/painterpaths/painterpaths.pro4
-rw-r--r--examples/phonon/musicplayer/mainwindow.cpp5
-rw-r--r--examples/qws/qws.pro4
-rw-r--r--examples/script/customclass/bytearrayclass.cpp9
-rw-r--r--examples/script/customclass/main.cpp4
-rw-r--r--examples/script/qsdbg/scriptdebugger.h2
-rw-r--r--examples/statemachine/factorial/main.cpp4
-rw-r--r--examples/statemachine/statemachine.pro4
-rw-r--r--examples/statemachine/tankgame/gameitem.cpp129
-rw-r--r--examples/statemachine/tankgame/gameitem.h66
-rw-r--r--examples/statemachine/tankgame/gameovertransition.cpp80
-rw-r--r--examples/statemachine/tankgame/gameovertransition.h63
-rw-r--r--examples/statemachine/tankgame/main.cpp53
-rw-r--r--examples/statemachine/tankgame/mainwindow.cpp342
-rw-r--r--examples/statemachine/tankgame/mainwindow.h93
-rw-r--r--examples/statemachine/tankgame/plugin.h62
-rw-r--r--examples/statemachine/tankgame/rocketitem.cpp101
-rw-r--r--examples/statemachine/tankgame/rocketitem.h66
-rw-r--r--examples/statemachine/tankgame/tankgame.pro19
-rw-r--r--examples/statemachine/tankgame/tankitem.cpp302
-rw-r--r--examples/statemachine/tankgame/tankitem.h109
-rw-r--r--examples/statemachine/tankgameplugins/random_ai/random_ai.pro13
-rw-r--r--examples/statemachine/tankgameplugins/random_ai/random_ai_plugin.cpp78
-rw-r--r--examples/statemachine/tankgameplugins/random_ai/random_ai_plugin.h105
-rw-r--r--examples/statemachine/tankgameplugins/seek_ai/seek_ai.cpp89
-rw-r--r--examples/statemachine/tankgameplugins/seek_ai/seek_ai.h249
-rw-r--r--examples/statemachine/tankgameplugins/seek_ai/seek_ai.pro13
-rw-r--r--examples/statemachine/tankgameplugins/spin_ai/spin_ai.cpp70
-rw-r--r--examples/statemachine/tankgameplugins/spin_ai/spin_ai.h92
-rw-r--r--examples/statemachine/tankgameplugins/spin_ai/spin_ai.pro13
-rw-r--r--examples/statemachine/tankgameplugins/spin_ai_with_error/spin_ai_with_error.cpp70
-rw-r--r--examples/statemachine/tankgameplugins/spin_ai_with_error/spin_ai_with_error.h92
-rw-r--r--examples/statemachine/tankgameplugins/spin_ai_with_error/spin_ai_with_error.pro13
-rw-r--r--examples/statemachine/tankgameplugins/tankgameplugins.pro11
-rw-r--r--examples/threads/mandelbrot/mandelbrot.pro2
-rw-r--r--examples/tools/codecs/encodedfiles/.gitattributes2
-rw-r--r--examples/tools/codecs/encodedfiles/iso-8859-1.txt12
-rw-r--r--examples/tools/codecs/encodedfiles/iso-8859-15.txt16
-rw-r--r--examples/tools/completer/mainwindow.cpp24
-rw-r--r--examples/tools/completer/mainwindow.h3
-rw-r--r--examples/tools/regexp/regexpdialog.cpp1
-rw-r--r--examples/uitools/textfinder/forms/input.txt2
-rw-r--r--examples/widgets/softkeys/main.cpp4
-rw-r--r--examples/widgets/softkeys/softkeys.cpp4
-rw-r--r--examples/widgets/softkeys/softkeys.h4
-rw-r--r--examples/widgets/tablet/tabletcanvas.cpp33
-rw-r--r--examples/xml/htmlinfo/main.cpp8
-rw-r--r--examples/xmlpatterns/schema/files/contact.xsd25
-rw-r--r--examples/xmlpatterns/schema/files/invalid_contact.xml11
-rw-r--r--examples/xmlpatterns/schema/files/invalid_order.xml13
-rw-r--r--examples/xmlpatterns/schema/files/invalid_recipe.xml14
-rw-r--r--examples/xmlpatterns/schema/files/order.xsd23
-rw-r--r--examples/xmlpatterns/schema/files/recipe.xsd40
-rw-r--r--examples/xmlpatterns/schema/files/valid_contact.xml11
-rw-r--r--examples/xmlpatterns/schema/files/valid_order.xml18
-rw-r--r--examples/xmlpatterns/schema/files/valid_recipe.xml13
-rw-r--r--examples/xmlpatterns/schema/main.cpp54
-rw-r--r--examples/xmlpatterns/schema/mainwindow.cpp218
-rw-r--r--examples/xmlpatterns/schema/mainwindow.h68
-rw-r--r--examples/xmlpatterns/schema/schema.pro11
-rw-r--r--examples/xmlpatterns/schema/schema.qrc13
-rw-r--r--examples/xmlpatterns/schema/schema.ui71
-rw-r--r--examples/xmlpatterns/trafficinfo/mainwindow.cpp4
-rw-r--r--examples/xmlpatterns/xmlpatterns.pro3
-rw-r--r--mkspecs/common/symbian/fixed_stdlib.h8
-rw-r--r--mkspecs/common/symbian/qplatformdefs.h6
-rw-r--r--mkspecs/common/symbian/symbian.conf4
-rw-r--r--mkspecs/features/moc.prf11
-rw-r--r--mkspecs/features/qt.prf4
-rw-r--r--mkspecs/features/uic.prf2
-rw-r--r--mkspecs/features/unix/openvg.prf10
-rw-r--r--mkspecs/features/vxworks.prf63
-rw-r--r--mkspecs/symbian-sbsv2/flm/qt/qmake_emulator_deployment.flm2
-rw-r--r--mkspecs/symbian-sbsv2/flm/qt/qmake_extra_pre_targetdep.flm2
-rw-r--r--mkspecs/symbian-sbsv2/flm/qt/qmake_generate_temp_dirs.flm2
-rw-r--r--mkspecs/symbian-sbsv2/flm/qt/qmake_post_link.flm2
-rw-r--r--mkspecs/symbian-sbsv2/flm/qt/qt.xml2
-rw-r--r--mkspecs/unsupported/qnx-g++/qmake.conf59
-rw-r--r--mkspecs/unsupported/qnx-g++/qplatformdefs.h172
-rw-r--r--mkspecs/unsupported/qws/qnx-generic-g++/qmake.conf102
-rw-r--r--mkspecs/unsupported/qws/qnx-generic-g++/qplatformdefs.h42
-rw-r--r--mkspecs/unsupported/qws/qnx-i386-g++/qmake.conf97
-rw-r--r--mkspecs/unsupported/qws/qnx-i386-g++/qplatformdefs.h42
-rw-r--r--mkspecs/unsupported/qws/qnx-ppc-g++/qmake.conf97
-rw-r--r--mkspecs/unsupported/qws/qnx-ppc-g++/qplatformdefs.h42
-rw-r--r--mkspecs/unsupported/vxworks-ppc-dcc/qmake.conf111
-rw-r--r--mkspecs/unsupported/vxworks-ppc-dcc/qplatformdefs.h42
-rw-r--r--mkspecs/unsupported/vxworks-ppc-g++/qmake.conf37
-rw-r--r--mkspecs/unsupported/vxworks-ppc-g++/qplatformdefs.h42
-rw-r--r--mkspecs/unsupported/vxworks-simpentium-dcc/qmake.conf110
-rw-r--r--mkspecs/unsupported/vxworks-simpentium-dcc/qplatformdefs.h42
-rw-r--r--mkspecs/unsupported/vxworks-simpentium-g++/qmake.conf37
-rw-r--r--mkspecs/unsupported/vxworks-simpentium-g++/qplatformdefs.h128
-rw-r--r--mkspecs/win32-g++/qplatformdefs.h2
-rw-r--r--mkspecs/win32-mwc/qplatformdefs.h6
-rw-r--r--qmake/Makefile.unix9
-rw-r--r--qmake/Makefile.win3211
-rw-r--r--qmake/Makefile.win32-g++9
-rw-r--r--qmake/Makefile.win32-g++-sh9
-rw-r--r--qmake/generators/mac/pbuilder_pbx.cpp2
-rw-r--r--qmake/generators/makefile.cpp70
-rw-r--r--qmake/generators/makefiledeps.cpp14
-rw-r--r--qmake/generators/metamakefile.cpp91
-rw-r--r--qmake/generators/symbian/initprojectdeploy_symbian.cpp82
-rw-r--r--qmake/generators/symbian/initprojectdeploy_symbian.h11
-rw-r--r--qmake/generators/symbian/symmake.cpp521
-rw-r--r--qmake/generators/symbian/symmake.h69
-rw-r--r--qmake/generators/symbian/symmake_abld.cpp51
-rw-r--r--qmake/generators/symbian/symmake_abld.h10
-rw-r--r--qmake/generators/symbian/symmake_sbsv2.cpp51
-rw-r--r--qmake/generators/symbian/symmake_sbsv2.h10
-rw-r--r--qmake/generators/win32/msvc_dsp.cpp2
-rw-r--r--qmake/generators/win32/msvc_objectmodel.cpp20
-rw-r--r--qmake/generators/win32/msvc_vcproj.cpp48
-rw-r--r--qmake/option.cpp17
-rw-r--r--qmake/option.h3
-rw-r--r--qmake/project.cpp50
-rw-r--r--qmake/qmake.pri4
-rw-r--r--qmake/qmake.pro1
-rw-r--r--qmake/qpopen.cpp40
-rw-r--r--qmake/qpopen.h8
-rw-r--r--src/3rdparty/freetype/builds/unix/ftsystem.c9
-rw-r--r--src/3rdparty/libjpeg/jmorecfg.h5
-rw-r--r--src/3rdparty/libpng/pngconf.h2
-rw-r--r--src/3rdparty/libtiff/libtiff/tif_config.h2
-rw-r--r--src/3rdparty/patches/freetype-2.3.6-vxworks.patch35
-rw-r--r--src/3rdparty/patches/libjpeg-6b-vxworks.patch23
-rw-r--r--src/3rdparty/patches/libpng-1.2.20-vxworks.patch13
-rw-r--r--src/3rdparty/patches/libtiff-3.8.2-vxworks.patch11
-rw-r--r--src/3rdparty/patches/sqlite-3.5.6-vxworks.patch68
-rw-r--r--src/3rdparty/phonon/ds9/abstractvideorenderer.cpp4
-rw-r--r--src/3rdparty/phonon/ds9/backend.cpp6
-rw-r--r--src/3rdparty/phonon/ds9/backendnode.cpp2
-rw-r--r--src/3rdparty/phonon/ds9/fakesource.cpp34
-rw-r--r--src/3rdparty/phonon/ds9/iodevicereader.cpp13
-rw-r--r--src/3rdparty/phonon/ds9/mediagraph.cpp8
-rw-r--r--src/3rdparty/phonon/ds9/mediaobject.cpp71
-rw-r--r--src/3rdparty/phonon/ds9/qaudiocdreader.cpp54
-rw-r--r--src/3rdparty/phonon/ds9/qbasefilter.cpp7
-rw-r--r--src/3rdparty/phonon/ds9/qmeminputpin.cpp13
-rw-r--r--src/3rdparty/phonon/ds9/qpin.cpp39
-rw-r--r--src/3rdparty/phonon/ds9/videorenderer_soft.cpp38
-rw-r--r--src/3rdparty/phonon/ds9/videowidget.cpp2
-rw-r--r--src/3rdparty/phonon/ds9/volumeeffect.cpp12
-rw-r--r--src/3rdparty/phonon/phonon/abstractmediastream.h2
-rw-r--r--src/3rdparty/phonon/phonon/audiooutput.cpp14
-rw-r--r--src/3rdparty/phonon/phonon/backendcapabilities.cpp14
-rw-r--r--src/3rdparty/phonon/phonon/backendcapabilities.h13
-rw-r--r--src/3rdparty/phonon/phonon/effect.cpp6
-rw-r--r--src/3rdparty/phonon/phonon/effectwidget.cpp10
-rw-r--r--src/3rdparty/phonon/phonon/factory.cpp43
-rw-r--r--src/3rdparty/phonon/phonon/iodevicestream_p.h2
-rw-r--r--src/3rdparty/phonon/phonon/medianode.cpp4
-rw-r--r--src/3rdparty/phonon/phonon/mediaobject.cpp12
-rw-r--r--src/3rdparty/phonon/phonon/mediaobject.h22
-rw-r--r--src/3rdparty/phonon/phonon/objectdescriptionmodel.cpp4
-rw-r--r--src/3rdparty/phonon/phonon/objectdescriptionmodel.h8
-rw-r--r--src/3rdparty/phonon/phonon/path.cpp24
-rw-r--r--src/3rdparty/sqlite/sqlite3.c25
-rw-r--r--src/3rdparty/webkit/ChangeLog170
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/API/JSBase.cpp2
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/API/JSClassRef.h4
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/API/JSContextRef.cpp4
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/API/JSObjectRef.cpp6
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/ChangeLog1748
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.gypi452
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.pri68
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.pro2
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/assembler/ARMAssembler.cpp353
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/assembler/ARMAssembler.h706
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/assembler/ARMv7Assembler.h41
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/assembler/AbstractMacroAssembler.h322
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/assembler/AssemblerBuffer.h17
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/assembler/AssemblerBufferWithConstantPool.h305
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/assembler/LinkBuffer.h195
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssembler.h4
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssemblerARM.h797
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssemblerARMv7.h19
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssemblerCodeRef.h10
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssemblerX86.h18
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssemblerX86_64.h25
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/assembler/RepatchBuffer.h136
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/assembler/X86Assembler.h44
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/bytecode/CodeBlock.cpp31
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/bytecode/CodeBlock.h49
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/bytecode/Opcode.h3
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/bytecode/SamplingTool.h4
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp87
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/bytecompiler/BytecodeGenerator.h14
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/bytecompiler/RegisterID.h2
-rwxr-xr-xsrc/3rdparty/webkit/JavaScriptCore/create_hash_table2
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/debugger/Debugger.h2
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/generated/ArrayPrototype.lut.h2
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/generated/DatePrototype.lut.h2
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/generated/Grammar.cpp1656
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/generated/Grammar.h109
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/generated/JSONObject.lut.h2
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/generated/Lexer.lut.h2
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/generated/MathObject.lut.h2
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/generated/NumberConstructor.lut.h2
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/generated/RegExpConstructor.lut.h2
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/generated/RegExpObject.lut.h2
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/generated/StringPrototype.lut.h2
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/interpreter/CachedCall.h2
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/interpreter/CallFrame.h19
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/interpreter/Interpreter.cpp564
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/interpreter/Interpreter.h4
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/interpreter/RegisterFile.h4
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/jit/ExecutableAllocator.h71
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/jit/JIT.cpp57
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/jit/JIT.h16
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/jit/JITCode.h7
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/jit/JITInlineMethods.h4
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/jit/JITOpcodes.cpp13
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/jit/JITPropertyAccess.cpp37
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/jit/JITStubs.cpp69
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/jsc.cpp12
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/jsc.pro31
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/parser/Grammar.y10
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/parser/Lexer.h2
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/parser/NodeConstructors.h5
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/parser/Nodes.cpp8
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/parser/Nodes.h4
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/parser/Parser.h2
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/pcre/pcre_exec.cpp2
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/profiler/Profiler.h2
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/runtime/ArgList.h2
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/runtime/BatchedTransitionOptimizer.h2
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/runtime/Collector.cpp68
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/runtime/Collector.h2
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/runtime/CommonIdentifiers.h2
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/runtime/Identifier.cpp2
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/runtime/JSActivation.cpp2
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/runtime/JSCell.h2
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/runtime/JSGlobalData.cpp16
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/runtime/JSGlobalObject.h2
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/runtime/JSLock.cpp40
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/runtime/JSLock.h28
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/runtime/JSONObject.cpp2
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/runtime/LiteralParser.cpp6
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/runtime/Lookup.h7
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/runtime/RegExp.cpp41
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/runtime/RegExp.h3
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/runtime/RegExpConstructor.cpp53
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/runtime/SmallStrings.cpp2
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/runtime/SmallStrings.h2
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/runtime/StringPrototype.cpp3
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/wtf/Assertions.cpp22
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/wtf/Assertions.h4
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/wtf/ByteArray.h4
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/wtf/CrossThreadRefCounted.h2
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/wtf/DateMath.cpp20
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/wtf/DateMath.h11
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/wtf/FastAllocBase.h2
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/wtf/FastMalloc.cpp36
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/wtf/FastMalloc.h7
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/wtf/GOwnPtr.h2
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/wtf/HashSet.h16
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/wtf/Locker.h2
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/wtf/MessageQueue.h2
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/wtf/Noncopyable.h11
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/wtf/OwnArrayPtr.h6
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/wtf/OwnFastMallocPtr.h2
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/wtf/OwnPtr.h2
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/wtf/OwnPtrCommon.h3
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/wtf/OwnPtrWin.cpp7
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/wtf/Platform.h122
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/wtf/PtrAndFlags.h15
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/wtf/RandomNumber.cpp10
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/wtf/RandomNumberSeed.h16
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/wtf/RefCounted.h19
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/wtf/ThreadSpecific.h2
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/wtf/Threading.cpp2
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/wtf/Threading.h8
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/wtf/ThreadingWin.cpp20
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/wtf/Vector.h4
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/wtf/dtoa.cpp216
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/wtf/unicode/Collator.h2
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/wtf/unicode/icu/CollatorICU.cpp10
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/wtf/wince/FastMallocWince.h177
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/wtf/wince/MemoryManager.cpp171
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/wtf/wince/MemoryManager.h80
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/wtf/wince/mt19937ar.c170
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/yarr/RegexJIT.cpp20
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/yarr/RegexPattern.h6
-rw-r--r--src/3rdparty/webkit/VERSION6
-rw-r--r--src/3rdparty/webkit/WebCore/ChangeLog12814
-rw-r--r--src/3rdparty/webkit/WebCore/DerivedSources.cpp8
-rw-r--r--src/3rdparty/webkit/WebCore/WebCore.gypi3396
-rw-r--r--src/3rdparty/webkit/WebCore/WebCore.order1
-rw-r--r--src/3rdparty/webkit/WebCore/WebCore.pro1189
-rw-r--r--src/3rdparty/webkit/WebCore/WebCorePrefix.h20
-rw-r--r--src/3rdparty/webkit/WebCore/accessibility/AccessibilityObject.cpp362
-rw-r--r--src/3rdparty/webkit/WebCore/accessibility/AccessibilityObject.h163
-rw-r--r--src/3rdparty/webkit/WebCore/accessibility/AccessibilityRenderObject.cpp50
-rw-r--r--src/3rdparty/webkit/WebCore/accessibility/AccessibilityRenderObject.h1
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/CachedScriptSourceProvider.h6
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/DOMObjectWithSVGContext.h57
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/GCController.cpp6
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/GCController.h2
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSAbstractWorkerCustom.cpp87
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSAttrCustom.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSAudioConstructor.cpp27
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSAudioConstructor.h8
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSCDATASectionCustom.cpp6
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSCSSRuleCustom.cpp23
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSCSSValueCustom.cpp14
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSCustomPositionCallback.cpp11
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSCustomPositionErrorCallback.cpp7
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSCustomSQLStatementCallback.cpp7
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSCustomSQLStatementErrorCallback.cpp9
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSCustomSQLTransactionCallback.cpp7
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSCustomSQLTransactionErrorCallback.cpp5
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSCustomVoidCallback.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSCustomXPathNSResolver.cpp4
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSDOMApplicationCacheCustom.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSDOMBinding.cpp22
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSDOMBinding.h138
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSDOMGlobalObject.h13
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSDOMWindowBase.cpp11
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSDOMWindowBase.h3
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSDOMWindowCustom.cpp22
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSDataGridColumnListCustom.cpp7
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSDataGridDataSource.cpp35
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSDataGridDataSource.h5
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSDedicatedWorkerContextCustom.cpp50
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSDocumentCustom.cpp11
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSElementCustom.cpp16
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSEventCustom.cpp42
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSEventListener.cpp54
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSEventListener.h1
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSEventTarget.cpp42
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSEventTarget.h3
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSHTMLAllCollection.h4
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSHTMLCollectionCustom.cpp39
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSHTMLDataGridElementCustom.cpp10
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSHTMLElementCustom.cpp6
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSHTMLFormElementCustom.cpp7
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSHTMLFrameElementCustom.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSHTMLIFrameElementCustom.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSHTMLOptionsCollectionCustom.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSImageConstructor.cpp27
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSImageConstructor.h7
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSImageDataCustom.cpp4
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSInspectorBackendCustom.cpp283
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSInspectorControllerCustom.cpp298
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSLazyEventListener.cpp10
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSMessageChannelConstructor.cpp22
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSMessageChannelConstructor.h9
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSMessageChannelCustom.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSMessagePortCustom.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSNamedNodesCollection.cpp6
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSNamedNodesCollection.h4
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSNodeCustom.cpp44
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSNodeFilterCondition.cpp6
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSNodeFilterCustom.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSNodeIteratorCustom.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSOptionConstructor.cpp24
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSOptionConstructor.h7
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSRGBColor.cpp85
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSRGBColor.h59
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSSVGElementInstanceCustom.cpp6
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSSVGMatrixCustom.cpp4
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSSVGPathSegCustom.cpp42
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSSVGPathSegListCustom.cpp12
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSSVGPointListCustom.cpp6
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSSVGTransformListCustom.cpp6
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSSharedWorkerConstructor.cpp83
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSSharedWorkerConstructor.h56
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSSharedWorkerCustom.cpp57
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSStyleSheetCustom.cpp6
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSTextCustom.cpp4
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSTreeWalkerCustom.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSWebKitCSSMatrixConstructor.cpp11
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSWebKitCSSMatrixConstructor.h4
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSWebKitPointConstructor.cpp12
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSWebKitPointConstructor.h4
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSWorkerConstructor.cpp19
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSWorkerConstructor.h4
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSWorkerContextBase.cpp22
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSWorkerContextBase.h7
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSWorkerContextCustom.cpp13
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSWorkerCustom.cpp38
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSXMLHttpRequestConstructor.cpp22
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSXMLHttpRequestConstructor.h7
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSXSLTProcessorConstructor.cpp11
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSXSLTProcessorConstructor.h4
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/ScheduledAction.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/ScriptArray.cpp107
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/ScriptArray.h59
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/ScriptCachedFrameData.cpp6
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/ScriptController.cpp31
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/ScriptControllerHaiku.cpp46
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/ScriptControllerMac.mm2
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/ScriptEventListener.cpp5
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/ScriptFunctionCall.cpp12
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/ScriptObject.cpp31
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/ScriptObject.h4
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/ScriptObjectQuarantine.cpp25
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/ScriptSourceCode.h12
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/ScriptSourceProvider.h48
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/ScriptValue.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/StringSourceProvider.h5
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/WorkerScriptController.cpp21
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/WorkerScriptController.h2
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/scripts/CodeGenerator.pm2
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/scripts/CodeGeneratorCOM.pm24
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/scripts/CodeGeneratorJS.pm240
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/scripts/CodeGeneratorObjC.pm17
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/scripts/CodeGeneratorV8.pm495
-rw-r--r--src/3rdparty/webkit/WebCore/bridge/NP_jsobject.cpp20
-rw-r--r--src/3rdparty/webkit/WebCore/bridge/c/c_class.cpp6
-rw-r--r--src/3rdparty/webkit/WebCore/bridge/c/c_instance.cpp10
-rw-r--r--src/3rdparty/webkit/WebCore/bridge/c/c_runtime.cpp4
-rw-r--r--src/3rdparty/webkit/WebCore/bridge/c/c_utility.cpp4
-rw-r--r--src/3rdparty/webkit/WebCore/bridge/jni/jni_class.cpp6
-rw-r--r--src/3rdparty/webkit/WebCore/bridge/jni/jni_instance.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/bridge/jni/jni_jsobject.mm20
-rw-r--r--src/3rdparty/webkit/WebCore/bridge/jni/jni_objc.mm4
-rw-r--r--src/3rdparty/webkit/WebCore/bridge/jni/jni_runtime.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/bridge/jni/jni_runtime.h8
-rw-r--r--src/3rdparty/webkit/WebCore/bridge/jni/jni_utility.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/bridge/npapi.h10
-rw-r--r--src/3rdparty/webkit/WebCore/bridge/qt/qt_instance.cpp41
-rw-r--r--src/3rdparty/webkit/WebCore/bridge/qt/qt_instance.h3
-rw-r--r--src/3rdparty/webkit/WebCore/bridge/qt/qt_runtime.cpp14
-rw-r--r--src/3rdparty/webkit/WebCore/bridge/runtime.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/bridge/runtime.h6
-rw-r--r--src/3rdparty/webkit/WebCore/bridge/runtime_array.cpp8
-rw-r--r--src/3rdparty/webkit/WebCore/bridge/runtime_method.cpp7
-rw-r--r--src/3rdparty/webkit/WebCore/bridge/runtime_object.cpp4
-rw-r--r--src/3rdparty/webkit/WebCore/bridge/runtime_root.cpp1
-rw-r--r--src/3rdparty/webkit/WebCore/bridge/runtime_root.h2
-rw-r--r--src/3rdparty/webkit/WebCore/config.h11
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSComputedStyleDeclaration.cpp112
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSComputedStyleDeclaration.h5
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSFunctionValue.cpp1
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSGrammar.y17
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSHelper.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSHelper.h15
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSMutableStyleDeclaration.cpp4
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSParser.cpp378
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSParser.h2
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSParserValues.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSPrimitiveValue.cpp48
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSPrimitiveValue.h32
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSPrimitiveValueMappings.h41
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSPropertyLonghand.cpp4
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSPropertyNames.in4
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSRule.idl1
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSSelector.cpp18
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSSelector.h7
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSSelectorList.h2
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSStyleSelector.cpp180
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSStyleSelector.h12
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSValue.idl1
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSValueKeywords.in13
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSValueList.cpp26
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSValueList.h2
-rw-r--r--src/3rdparty/webkit/WebCore/css/MediaList.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/css/MediaQuery.h3
-rw-r--r--src/3rdparty/webkit/WebCore/css/MediaQueryEvaluator.cpp35
-rw-r--r--src/3rdparty/webkit/WebCore/css/MediaQueryEvaluator.h3
-rw-r--r--src/3rdparty/webkit/WebCore/css/MediaQueryExp.h6
-rw-r--r--src/3rdparty/webkit/WebCore/css/RGBColor.cpp62
-rw-r--r--src/3rdparty/webkit/WebCore/css/RGBColor.h58
-rw-r--r--src/3rdparty/webkit/WebCore/css/RGBColor.idl2
-rw-r--r--src/3rdparty/webkit/WebCore/css/ShadowValue.cpp16
-rw-r--r--src/3rdparty/webkit/WebCore/css/ShadowValue.h10
-rw-r--r--src/3rdparty/webkit/WebCore/css/StyleSheet.idl1
-rw-r--r--src/3rdparty/webkit/WebCore/css/WebKitCSSMatrix.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/css/WebKitCSSMatrix.h2
-rw-r--r--src/3rdparty/webkit/WebCore/css/html.css615
-rw-r--r--src/3rdparty/webkit/WebCore/css/html4.css617
-rw-r--r--src/3rdparty/webkit/WebCore/css/makeprop.pl6
-rw-r--r--src/3rdparty/webkit/WebCore/css/makevalues.pl6
-rw-r--r--src/3rdparty/webkit/WebCore/css/mediaControls.css13
-rw-r--r--src/3rdparty/webkit/WebCore/css/mediaControlsQT.css113
-rw-r--r--src/3rdparty/webkit/WebCore/css/themeWin.css2
-rw-r--r--src/3rdparty/webkit/WebCore/css/tokenizer.flex1
-rw-r--r--src/3rdparty/webkit/WebCore/dom/ClassNames.h2
-rw-r--r--src/3rdparty/webkit/WebCore/dom/Comment.h3
-rw-r--r--src/3rdparty/webkit/WebCore/dom/ContainerNode.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/dom/Document.cpp36
-rw-r--r--src/3rdparty/webkit/WebCore/dom/Document.h21
-rw-r--r--src/3rdparty/webkit/WebCore/dom/Document.idl2
-rw-r--r--src/3rdparty/webkit/WebCore/dom/DocumentFragment.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/dom/DocumentFragment.h3
-rw-r--r--src/3rdparty/webkit/WebCore/dom/DynamicNodeList.cpp13
-rw-r--r--src/3rdparty/webkit/WebCore/dom/DynamicNodeList.h9
-rw-r--r--src/3rdparty/webkit/WebCore/dom/EditingText.h3
-rw-r--r--src/3rdparty/webkit/WebCore/dom/Element.cpp69
-rw-r--r--src/3rdparty/webkit/WebCore/dom/Element.h9
-rw-r--r--src/3rdparty/webkit/WebCore/dom/ErrorEvent.cpp76
-rw-r--r--src/3rdparty/webkit/WebCore/dom/ErrorEvent.h74
-rw-r--r--src/3rdparty/webkit/WebCore/dom/ErrorEvent.idl46
-rw-r--r--src/3rdparty/webkit/WebCore/dom/Event.cpp7
-rw-r--r--src/3rdparty/webkit/WebCore/dom/Event.h5
-rw-r--r--src/3rdparty/webkit/WebCore/dom/Event.idl1
-rw-r--r--src/3rdparty/webkit/WebCore/dom/EventListener.h3
-rw-r--r--src/3rdparty/webkit/WebCore/dom/EventTarget.cpp9
-rw-r--r--src/3rdparty/webkit/WebCore/dom/EventTarget.h10
-rw-r--r--src/3rdparty/webkit/WebCore/dom/HTMLAllCollection.idl40
-rw-r--r--src/3rdparty/webkit/WebCore/dom/InputElement.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/dom/MessageChannel.cpp4
-rw-r--r--src/3rdparty/webkit/WebCore/dom/MessagePortChannel.cpp17
-rw-r--r--src/3rdparty/webkit/WebCore/dom/MessagePortChannel.h6
-rw-r--r--src/3rdparty/webkit/WebCore/dom/NamedAttrMap.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/dom/Node.cpp28
-rw-r--r--src/3rdparty/webkit/WebCore/dom/Node.idl2
-rw-r--r--src/3rdparty/webkit/WebCore/dom/NodeRareData.h21
-rw-r--r--src/3rdparty/webkit/WebCore/dom/Notation.h3
-rw-r--r--src/3rdparty/webkit/WebCore/dom/Position.h4
-rw-r--r--src/3rdparty/webkit/WebCore/dom/ProcessingInstruction.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/dom/ProcessingInstruction.h3
-rw-r--r--src/3rdparty/webkit/WebCore/dom/Range.cpp15
-rw-r--r--src/3rdparty/webkit/WebCore/dom/Range.h6
-rw-r--r--src/3rdparty/webkit/WebCore/dom/ScriptExecutionContext.h2
-rw-r--r--src/3rdparty/webkit/WebCore/dom/SelectElement.cpp85
-rw-r--r--src/3rdparty/webkit/WebCore/dom/SelectElement.h3
-rw-r--r--src/3rdparty/webkit/WebCore/dom/StyledElement.cpp11
-rw-r--r--src/3rdparty/webkit/WebCore/dom/Text.cpp36
-rw-r--r--src/3rdparty/webkit/WebCore/dom/Text.h4
-rw-r--r--src/3rdparty/webkit/WebCore/dom/XMLTokenizerLibxml2.cpp19
-rw-r--r--src/3rdparty/webkit/WebCore/dom/XMLTokenizerQt.cpp7
-rw-r--r--src/3rdparty/webkit/WebCore/dom/XMLTokenizerScope.h2
-rw-r--r--src/3rdparty/webkit/WebCore/dom/default/PlatformMessagePortChannel.cpp21
-rwxr-xr-xsrc/3rdparty/webkit/WebCore/dom/make_names.pl22
-rw-r--r--src/3rdparty/webkit/WebCore/editing/ApplyStyleCommand.cpp97
-rw-r--r--src/3rdparty/webkit/WebCore/editing/ApplyStyleCommand.h2
-rw-r--r--src/3rdparty/webkit/WebCore/editing/CompositeEditCommand.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/editing/DeleteSelectionCommand.cpp10
-rw-r--r--src/3rdparty/webkit/WebCore/editing/EditCommand.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/editing/Editor.cpp52
-rw-r--r--src/3rdparty/webkit/WebCore/editing/Editor.h1
-rw-r--r--src/3rdparty/webkit/WebCore/editing/EditorCommand.cpp80
-rw-r--r--src/3rdparty/webkit/WebCore/editing/IndentOutdentCommand.cpp177
-rw-r--r--src/3rdparty/webkit/WebCore/editing/IndentOutdentCommand.h8
-rw-r--r--src/3rdparty/webkit/WebCore/editing/RemoveFormatCommand.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/editing/ReplaceSelectionCommand.cpp12
-rw-r--r--src/3rdparty/webkit/WebCore/editing/SelectionController.cpp49
-rw-r--r--src/3rdparty/webkit/WebCore/editing/SelectionController.h2
-rw-r--r--src/3rdparty/webkit/WebCore/editing/SmartReplaceICU.cpp3
-rw-r--r--src/3rdparty/webkit/WebCore/editing/TextIterator.cpp149
-rw-r--r--src/3rdparty/webkit/WebCore/editing/gtk/SelectionControllerGtk.cpp4
-rw-r--r--src/3rdparty/webkit/WebCore/editing/htmlediting.cpp105
-rw-r--r--src/3rdparty/webkit/WebCore/editing/htmlediting.h11
-rw-r--r--src/3rdparty/webkit/WebCore/editing/markup.cpp88
-rw-r--r--src/3rdparty/webkit/WebCore/editing/visible_units.cpp3
-rw-r--r--src/3rdparty/webkit/WebCore/generated/ArrayPrototype.lut.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/CSSGrammar.cpp2459
-rw-r--r--src/3rdparty/webkit/WebCore/generated/CSSGrammar.h162
-rw-r--r--src/3rdparty/webkit/WebCore/generated/CSSPropertyNames.cpp1105
-rw-r--r--src/3rdparty/webkit/WebCore/generated/CSSPropertyNames.h538
-rw-r--r--src/3rdparty/webkit/WebCore/generated/CSSValueKeywords.c2652
-rw-r--r--src/3rdparty/webkit/WebCore/generated/CSSValueKeywords.h577
-rw-r--r--src/3rdparty/webkit/WebCore/generated/DatePrototype.lut.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/Grammar.cpp1656
-rw-r--r--src/3rdparty/webkit/WebCore/generated/Grammar.h109
-rw-r--r--src/3rdparty/webkit/WebCore/generated/HTMLElementFactory.cpp28
-rw-r--r--src/3rdparty/webkit/WebCore/generated/HTMLNames.cpp32
-rw-r--r--src/3rdparty/webkit/WebCore/generated/HTMLNames.h7
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSAbstractWorker.cpp227
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSAbstractWorker.h96
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSAttr.cpp44
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSAttr.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSBarInfo.cpp15
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSBarInfo.h9
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCDATASection.cpp25
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCDATASection.h6
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCSSCharsetRule.cpp28
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCSSCharsetRule.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCSSFontFaceRule.cpp30
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCSSFontFaceRule.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCSSImportRule.cpp38
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCSSImportRule.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCSSMediaRule.cpp35
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCSSMediaRule.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCSSPageRule.cpp33
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCSSPageRule.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCSSPrimitiveValue.cpp35
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCSSPrimitiveValue.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCSSRule.cpp41
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCSSRule.h11
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCSSRuleList.cpp36
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCSSRuleList.h11
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCSSStyleDeclaration.cpp42
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCSSStyleDeclaration.h11
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCSSStyleRule.cpp33
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCSSStyleRule.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCSSStyleSheet.cpp40
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCSSStyleSheet.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCSSValue.cpp31
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCSSValue.h11
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCSSValueList.cpp32
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCSSValueList.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCSSVariablesDeclaration.cpp40
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCSSVariablesDeclaration.h11
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCSSVariablesRule.cpp35
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCSSVariablesRule.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCanvasGradient.cpp10
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCanvasGradient.h9
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCanvasPattern.cpp10
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCanvasPattern.h9
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCanvasRenderingContext2D.cpp89
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCanvasRenderingContext2D.h11
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCharacterData.cpp31
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCharacterData.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSClientRect.cpp47
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSClientRect.h11
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSClientRectList.cpp36
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSClientRectList.h11
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSClipboard.cpp43
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSClipboard.h11
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSComment.cpp25
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSComment.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSConsole.cpp15
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSConsole.h9
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCoordinates.cpp33
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCoordinates.h9
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCounter.cpp38
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCounter.h11
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSDOMApplicationCache.cpp39
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSDOMApplicationCache.h9
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSDOMCoreException.cpp38
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSDOMCoreException.h11
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSDOMImplementation.cpp37
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSDOMImplementation.h11
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSDOMParser.cpp37
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSDOMParser.h11
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSDOMSelection.cpp55
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSDOMSelection.h9
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSDOMWindow.cpp1638
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSDOMWindow.h9
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSDataGridColumn.cpp52
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSDataGridColumn.h15
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSDataGridColumnList.cpp53
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSDataGridColumnList.h15
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSDatabase.cpp15
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSDatabase.h9
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSDedicatedWorkerContext.cpp158
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSDedicatedWorkerContext.h83
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSDocument.cpp308
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSDocument.h6
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSDocumentFragment.cpp29
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSDocumentFragment.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSDocumentType.cpp47
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSDocumentType.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSElement.cpp231
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSElement.h6
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSEntity.cpp34
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSEntity.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSEntityReference.cpp25
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSEntityReference.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSErrorEvent.cpp203
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSErrorEvent.h78
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSEvent.cpp64
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSEvent.h11
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSEventException.cpp38
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSEventException.h11
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSFile.cpp35
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSFile.h11
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSFileList.cpp36
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSFileList.h11
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSGeolocation.cpp17
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSGeolocation.h9
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSGeoposition.cpp20
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSGeoposition.h9
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLAnchorElement.cpp127
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLAnchorElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLAppletElement.cpp103
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLAppletElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLAreaElement.cpp92
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLAreaElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLAudioElement.cpp25
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLAudioElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLBRElement.cpp33
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLBRElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLBaseElement.cpp40
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLBaseElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLBaseFontElement.cpp43
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLBaseFontElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLBlockquoteElement.cpp33
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLBlockquoteElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLBodyElement.cpp89
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLBodyElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLButtonElement.cpp64
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLButtonElement.h5
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLCanvasElement.cpp33
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLCanvasElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLCollection.cpp32
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLCollection.h11
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLDListElement.cpp28
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLDListElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLDataGridCellElement.cpp45
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLDataGridCellElement.h8
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLDataGridColElement.cpp45
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLDataGridColElement.h8
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLDataGridElement.cpp47
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLDataGridElement.h8
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLDataGridRowElement.cpp39
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLDataGridRowElement.h8
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLDirectoryElement.cpp28
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLDirectoryElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLDivElement.cpp28
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLDivElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLDocument.cpp78
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLDocument.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLElement.cpp85
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLElement.h6
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLElementWrapperFactory.cpp290
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLElementWrapperFactory.h3
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLEmbedElement.cpp45
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLEmbedElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLFieldSetElement.cpp46
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLFieldSetElement.h5
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLFontElement.cpp34
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLFontElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLFormElement.cpp56
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLFormElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLFrameElement.cpp70
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLFrameElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLFrameSetElement.cpp52
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLFrameSetElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLHRElement.cpp37
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLHRElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLHeadElement.cpp28
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLHeadElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLHeadingElement.cpp28
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLHeadingElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLHtmlElement.cpp28
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLHtmlElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLIFrameElement.cpp67
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLIFrameElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLImageElement.cpp79
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLImageElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLInputElement.cpp152
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLInputElement.h9
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLIsIndexElement.cpp33
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLIsIndexElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLLIElement.cpp31
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLLIElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLLabelElement.cpp36
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLLabelElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLLegendElement.cpp36
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLLegendElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLLinkElement.cpp57
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLLinkElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLMapElement.cpp33
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLMapElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLMarqueeElement.cpp25
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLMarqueeElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLMediaElement.cpp102
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLMediaElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLMenuElement.cpp28
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLMenuElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLMetaElement.cpp37
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLMetaElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLModElement.cpp31
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLModElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLOListElement.cpp34
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLOListElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLObjectElement.cpp85
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLObjectElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLOptGroupElement.cpp31
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLOptGroupElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLOptionElement.cpp51
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLOptionElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLOptionsCollection.cpp14
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLOptionsCollection.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLParagraphElement.cpp28
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLParagraphElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLParamElement.cpp37
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLParamElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLPreElement.cpp31
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLPreElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLQuoteElement.cpp28
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLQuoteElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLScriptElement.cpp46
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLScriptElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLSelectElement.cpp86
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLSelectElement.h5
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLSourceElement.cpp34
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLSourceElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLStyleElement.cpp39
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLStyleElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLTableCaptionElement.cpp28
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLTableCaptionElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLTableCellElement.cpp70
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLTableCellElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLTableColElement.cpp43
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLTableColElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLTableElement.cpp85
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLTableElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLTableRowElement.cpp53
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLTableRowElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLTableSectionElement.cpp44
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLTableSectionElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLTextAreaElement.cpp99
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLTextAreaElement.h7
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLTitleElement.cpp28
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLTitleElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLUListElement.cpp31
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLUListElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLVideoElement.cpp40
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLVideoElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHistory.cpp15
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHistory.h9
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSImageData.cpp31
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSImageData.h11
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSInspectorBackend.cpp773
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSInspectorBackend.h138
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSInspectorController.cpp769
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSInspectorController.h138
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSJavaScriptCallFrame.cpp35
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSJavaScriptCallFrame.h9
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSKeyboardEvent.cpp46
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSKeyboardEvent.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSLocation.cpp36
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSLocation.h9
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSMediaError.cpp32
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSMediaError.h11
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSMediaList.cpp35
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSMediaList.h11
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSMessageChannel.cpp22
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSMessageChannel.h9
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSMessageEvent.cpp44
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSMessageEvent.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSMessagePort.cpp32
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSMessagePort.h11
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSMimeType.cpp43
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSMimeType.h11
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSMimeTypeArray.cpp38
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSMimeTypeArray.h11
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSMouseEvent.cpp84
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSMouseEvent.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSMutationEvent.cpp42
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSMutationEvent.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSNamedNodeMap.cpp48
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSNamedNodeMap.h11
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSNavigator.cpp58
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSNavigator.h9
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSNode.cpp96
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSNode.h13
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSNodeFilter.cpp29
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSNodeFilter.h11
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSNodeIterator.cpp53
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSNodeIterator.h11
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSNodeList.cpp36
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSNodeList.h11
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSNotation.cpp31
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSNotation.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSONObject.lut.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSOverflowEvent.cpp34
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSOverflowEvent.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSPlugin.cpp47
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSPlugin.h11
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSPluginArray.cpp38
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSPluginArray.h11
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSPositionError.cpp35
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSPositionError.h11
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSProcessingInstruction.cpp36
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSProcessingInstruction.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSProgressEvent.cpp34
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSProgressEvent.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSRGBColor.cpp178
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSRGBColor.h76
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSRGBColor.lut.h16
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSRange.cpp61
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSRange.h11
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSRangeException.cpp38
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSRangeException.h11
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSRect.cpp49
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSRect.h11
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSQLError.cpp18
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSQLError.h9
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSQLResultSet.cpp23
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSQLResultSet.h9
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSQLResultSetRowList.cpp15
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSQLResultSetRowList.h9
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSQLTransaction.cpp10
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSQLTransaction.h9
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAElement.cpp79
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAltGlyphElement.cpp19
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAltGlyphElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAngle.cpp42
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAngle.h15
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAnimateColorElement.cpp6
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAnimateColorElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAnimateElement.cpp6
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAnimateElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAnimateTransformElement.cpp6
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAnimateTransformElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedAngle.cpp23
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedAngle.h13
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedBoolean.cpp19
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedBoolean.h13
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedEnumeration.cpp19
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedEnumeration.h13
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedInteger.cpp19
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedInteger.h13
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedLength.cpp23
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedLength.h13
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedLengthList.cpp23
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedLengthList.h13
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedNumber.cpp19
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedNumber.h13
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedNumberList.cpp23
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedNumberList.h13
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedPreserveAspectRatio.cpp23
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedPreserveAspectRatio.h13
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedRect.cpp23
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedRect.h13
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedString.cpp19
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedString.h13
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedTransformList.cpp23
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedTransformList.h13
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAnimationElement.cpp33
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAnimationElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGCircleElement.cpp84
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGCircleElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGClipPathElement.cpp74
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGClipPathElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGColor.cpp34
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGColor.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGComponentTransferFunctionElement.cpp60
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGComponentTransferFunctionElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGCursorElement.cpp43
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGCursorElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGDefinitionSrcElement.cpp6
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGDefinitionSrcElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGDefsElement.cpp69
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGDefsElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGDescElement.cpp26
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGDescElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGDocument.cpp15
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGDocument.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGElement.cpp24
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGElementInstance.cpp168
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGElementInstance.h9
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGElementInstanceList.cpp17
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGElementInstanceList.h9
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGElementWrapperFactory.cpp200
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGElementWrapperFactory.h3
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGEllipseElement.cpp89
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGEllipseElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGException.cpp39
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGException.h15
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFEBlendElement.cpp77
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFEBlendElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFEColorMatrixElement.cpp77
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFEColorMatrixElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFEComponentTransferElement.cpp50
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFEComponentTransferElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFECompositeElement.cpp97
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFECompositeElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFEDiffuseLightingElement.cpp70
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFEDiffuseLightingElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFEDisplacementMapElement.cpp87
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFEDisplacementMapElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFEDistantLightElement.cpp18
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFEDistantLightElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFEFloodElement.cpp67
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFEFloodElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncAElement.cpp6
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncAElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncBElement.cpp6
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncBElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncGElement.cpp6
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncGElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncRElement.cpp6
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncRElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFEGaussianBlurElement.cpp60
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFEGaussianBlurElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFEImageElement.cpp61
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFEImageElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFEMergeElement.cpp45
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFEMergeElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFEMergeNodeElement.cpp13
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFEMergeNodeElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFEOffsetElement.cpp60
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFEOffsetElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFEPointLightElement.cpp23
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFEPointLightElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFESpecularLightingElement.cpp65
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFESpecularLightingElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFESpotLightElement.cpp48
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFESpotLightElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFETileElement.cpp50
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFETileElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFETurbulenceElement.cpp92
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFETurbulenceElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFilterElement.cpp76
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFilterElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFontElement.cpp6
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFontElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceElement.cpp6
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceFormatElement.cpp6
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceFormatElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceNameElement.cpp6
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceNameElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceSrcElement.cpp6
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceSrcElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceUriElement.cpp6
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceUriElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGForeignObjectElement.cpp89
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGForeignObjectElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGGElement.cpp69
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGGElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGGlyphElement.cpp6
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGGlyphElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGGradientElement.cpp62
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGGradientElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGHKernElement.cpp6
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGHKernElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGImageElement.cpp99
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGImageElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGLength.cpp42
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGLength.h15
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGLengthList.cpp28
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGLengthList.h13
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGLineElement.cpp89
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGLineElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGLinearGradientElement.cpp28
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGLinearGradientElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGMarkerElement.cpp93
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGMarkerElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGMaskElement.cpp76
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGMaskElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGMatrix.cpp49
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGMatrix.h13
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGMetadataElement.cpp6
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGMetadataElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGMissingGlyphElement.cpp6
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGMissingGlyphElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGNumber.cpp16
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGNumber.h13
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGNumberList.cpp28
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGNumberList.h13
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPaint.cpp31
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPaint.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathElement.cpp134
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSeg.cpp32
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSeg.h15
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSegArcAbs.cpp29
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSegArcAbs.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSegArcRel.cpp29
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSegArcRel.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSegClosePath.cpp6
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSegClosePath.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicAbs.cpp26
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicAbs.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicRel.cpp26
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicRel.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicSmoothAbs.cpp20
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicSmoothAbs.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicSmoothRel.cpp20
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicSmoothRel.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticAbs.cpp20
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticAbs.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticRel.cpp20
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticRel.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticSmoothAbs.cpp14
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticSmoothAbs.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticSmoothRel.cpp14
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticSmoothRel.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoAbs.cpp14
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoAbs.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoHorizontalAbs.cpp11
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoHorizontalAbs.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoHorizontalRel.cpp11
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoHorizontalRel.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoRel.cpp14
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoRel.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoVerticalAbs.cpp11
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoVerticalAbs.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoVerticalRel.cpp11
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoVerticalRel.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSegList.cpp16
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSegList.h13
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSegMovetoAbs.cpp14
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSegMovetoAbs.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSegMovetoRel.cpp14
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSegMovetoRel.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPatternElement.cpp96
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPatternElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPoint.cpp21
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPoint.h13
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPointList.cpp16
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPointList.h13
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPolygonElement.cpp79
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPolygonElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPolylineElement.cpp79
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPolylineElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPreserveAspectRatio.cpp36
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPreserveAspectRatio.h15
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGRadialGradientElement.cpp33
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGRadialGradientElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGRect.cpp25
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGRect.h13
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGRectElement.cpp99
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGRectElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGRenderingIntent.cpp30
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGRenderingIntent.h15
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGSVGElement.cpp151
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGSVGElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGScriptElement.cpp21
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGScriptElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGSetElement.cpp6
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGSetElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGStopElement.cpp25
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGStopElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGStringList.cpp16
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGStringList.h13
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGStyleElement.cpp20
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGStyleElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGSwitchElement.cpp69
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGSwitchElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGSymbolElement.cpp41
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGSymbolElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGTRefElement.cpp13
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGTRefElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGTSpanElement.cpp6
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGTSpanElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGTextContentElement.cpp79
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGTextContentElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGTextElement.cpp31
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGTextElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGTextPathElement.cpp45
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGTextPathElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGTextPositioningElement.cpp33
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGTextPositioningElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGTitleElement.cpp26
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGTitleElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGTransform.cpp41
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGTransform.h15
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGTransformList.cpp20
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGTransformList.h13
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGUnitTypes.cpp30
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGUnitTypes.h15
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGUseElement.cpp104
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGUseElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGViewElement.cpp31
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGViewElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGZoomEvent.cpp29
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGZoomEvent.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSScreen.cpp36
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSScreen.h9
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSStorage.cpp32
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSStorage.h11
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSStorageEvent.cpp47
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSStorageEvent.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSStyleSheet.cpp52
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSStyleSheet.h11
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSStyleSheetList.cpp36
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSStyleSheetList.h11
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSText.cpp32
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSText.h6
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSTextEvent.cpp28
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSTextEvent.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSTextMetrics.cpp32
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSTextMetrics.h11
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSTimeRanges.cpp15
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSTimeRanges.h9
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSTreeWalker.cpp50
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSTreeWalker.h11
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSUIEvent.cpp54
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSUIEvent.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSValidityState.cpp181
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSValidityState.h80
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSVoidCallback.cpp10
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSVoidCallback.h9
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSWebKitAnimationEvent.cpp31
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSWebKitAnimationEvent.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSWebKitCSSKeyframeRule.cpp33
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSWebKitCSSKeyframeRule.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSWebKitCSSKeyframesRule.cpp37
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSWebKitCSSKeyframesRule.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSWebKitCSSMatrix.cpp90
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSWebKitCSSMatrix.h9
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSWebKitCSSTransformValue.cpp28
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSWebKitCSSTransformValue.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSWebKitPoint.cpp18
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSWebKitPoint.h9
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSWebKitTransitionEvent.cpp31
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSWebKitTransitionEvent.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSWheelEvent.cpp70
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSWheelEvent.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSWorker.cpp112
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSWorker.h31
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSWorkerContext.cpp133
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSWorkerContext.h8
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSWorkerLocation.cpp53
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSWorkerLocation.h11
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSWorkerNavigator.cpp27
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSWorkerNavigator.h9
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSXMLHttpRequest.cpp55
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSXMLHttpRequest.h9
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSXMLHttpRequestException.cpp38
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSXMLHttpRequestException.h11
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSXMLHttpRequestProgressEvent.cpp31
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSXMLHttpRequestProgressEvent.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSXMLHttpRequestUpload.cpp44
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSXMLHttpRequestUpload.h11
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSXMLSerializer.cpp35
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSXMLSerializer.h11
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSXPathEvaluator.cpp41
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSXPathEvaluator.h11
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSXPathException.cpp38
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSXPathException.h11
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSXPathExpression.cpp31
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSXPathExpression.h11
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSXPathNSResolver.cpp10
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSXPathNSResolver.h9
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSXPathResult.cpp56
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSXPathResult.h11
-rw-r--r--src/3rdparty/webkit/WebCore/generated/Lexer.lut.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/MathObject.lut.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/NumberConstructor.lut.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/RegExpConstructor.lut.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/RegExpObject.lut.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/StringPrototype.lut.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/UserAgentStyleSheets.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/UserAgentStyleSheetsData.cpp772
-rw-r--r--src/3rdparty/webkit/WebCore/generated/XPathGrammar.cpp528
-rw-r--r--src/3rdparty/webkit/WebCore/generated/XPathGrammar.h64
-rw-r--r--src/3rdparty/webkit/WebCore/generated/tokenizer.cpp2919
-rw-r--r--src/3rdparty/webkit/WebCore/history/BackForwardList.cpp7
-rw-r--r--src/3rdparty/webkit/WebCore/history/BackForwardList.h2
-rw-r--r--src/3rdparty/webkit/WebCore/history/CachedFrame.cpp9
-rw-r--r--src/3rdparty/webkit/WebCore/history/CachedFrame.h2
-rw-r--r--src/3rdparty/webkit/WebCore/history/HistoryItem.cpp26
-rw-r--r--src/3rdparty/webkit/WebCore/history/HistoryItem.h9
-rw-r--r--src/3rdparty/webkit/WebCore/history/PageCache.cpp17
-rw-r--r--src/3rdparty/webkit/WebCore/history/PageCache.h6
-rw-r--r--src/3rdparty/webkit/WebCore/html/CanvasRenderingContext2D.cpp21
-rw-r--r--src/3rdparty/webkit/WebCore/html/CanvasRenderingContext2D.h2
-rw-r--r--src/3rdparty/webkit/WebCore/html/CanvasStyle.cpp4
-rw-r--r--src/3rdparty/webkit/WebCore/html/DOMDataGridDataSource.cpp44
-rw-r--r--src/3rdparty/webkit/WebCore/html/DOMDataGridDataSource.h69
-rw-r--r--src/3rdparty/webkit/WebCore/html/DataGridColumn.cpp11
-rw-r--r--src/3rdparty/webkit/WebCore/html/DataGridColumn.h47
-rw-r--r--src/3rdparty/webkit/WebCore/html/DataGridColumn.idl3
-rw-r--r--src/3rdparty/webkit/WebCore/html/DataGridColumnList.cpp40
-rw-r--r--src/3rdparty/webkit/WebCore/html/DataGridColumnList.h21
-rw-r--r--src/3rdparty/webkit/WebCore/html/DataGridColumnList.idl3
-rw-r--r--src/3rdparty/webkit/WebCore/html/DataGridDataSource.h7
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLAnchorElement.cpp128
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLAnchorElement.h68
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLAnchorElement.idl24
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLAppletElement.cpp59
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLAppletElement.h35
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLAppletElement.idl24
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLAreaElement.cpp55
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLAreaElement.h29
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLAreaElement.idl14
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLAttributeNames.in4
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLAudioElement.h3
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLBRElement.cpp20
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLBRElement.h16
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLBRElement.idl4
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLBaseElement.cpp34
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLBaseElement.h11
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLBaseElement.idl6
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLBaseFontElement.cpp28
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLBaseFontElement.h23
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLBaseFontElement.idl6
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLBlockquoteElement.cpp23
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLBlockquoteElement.h6
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLBlockquoteElement.idl4
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLBodyElement.cpp24
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLBodyElement.h40
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLBodyElement.idl18
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLButtonElement.h1
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLButtonElement.idl3
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLDListElement.h3
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLDataGridCellElement.cpp5
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLDataGridCellElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLDataGridCellElement.idl3
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLDataGridColElement.cpp75
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLDataGridColElement.h23
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLDataGridColElement.idl3
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLDataGridElement.cpp32
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLDataGridElement.h10
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLDataGridElement.idl3
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLDataGridRowElement.cpp5
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLDataGridRowElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLDataGridRowElement.idl3
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLDirectoryElement.h3
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLDocument.cpp38
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLDocument.h14
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLElement.cpp26
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLElement.h3
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLElement.idl1
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLEmbedElement.cpp4
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLFieldSetElement.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLFieldSetElement.idl3
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLFormControlElement.cpp37
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLFormControlElement.h13
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLFormElement.cpp12
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLFormElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLFrameElementBase.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLHRElement.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLHeadElement.h3
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLHtmlElement.h3
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLImageElement.cpp8
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLImageElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLImageLoader.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLInputElement.cpp162
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLInputElement.h6
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLInputElement.idl7
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLIsIndexElement.h3
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLLinkElement.cpp6
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLMarqueeElement.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLMediaElement.cpp42
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLMediaElement.h15
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLMenuElement.h3
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLMetaElement.h3
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLModElement.h3
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLOListElement.h3
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLObjectElement.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLOptionElement.cpp8
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLParamElement.h3
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLParser.cpp18
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLParser.h4
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLParserQuirks.h2
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLQuoteElement.h3
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLSelectElement.cpp8
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLSelectElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLSelectElement.idl3
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLStyleElement.h3
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLTableCaptionElement.h3
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLTableCellElement.h3
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLTableColElement.h3
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLTableElement.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLTablePartElement.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLTableSectionElement.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLTagNames.in11
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLTextAreaElement.cpp39
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLTextAreaElement.h5
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLTextAreaElement.idl4
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLTitleElement.h3
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLTokenizer.cpp59
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLTokenizer.h4
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLUListElement.h3
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLVideoElement.cpp16
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLVideoElement.h6
-rw-r--r--src/3rdparty/webkit/WebCore/html/ImageData.idl2
-rw-r--r--src/3rdparty/webkit/WebCore/html/PreloadScanner.cpp6
-rw-r--r--src/3rdparty/webkit/WebCore/html/PreloadScanner.h2
-rw-r--r--src/3rdparty/webkit/WebCore/html/TimeRanges.h3
-rw-r--r--src/3rdparty/webkit/WebCore/html/ValidityState.cpp42
-rw-r--r--src/3rdparty/webkit/WebCore/html/ValidityState.h58
-rw-r--r--src/3rdparty/webkit/WebCore/html/ValidityState.idl36
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/ConsoleMessage.cpp8
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/ConsoleMessage.h5
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/InspectorBackend.cpp363
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/InspectorBackend.h140
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/InspectorBackend.idl101
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/InspectorController.cpp256
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/InspectorController.h78
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/InspectorController.idl94
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/InspectorFrontend.cpp3
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/JavaScriptCallFrame.cpp10
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/JavaScriptCallFrame.h1
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/JavaScriptDebugServer.cpp23
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/JavaScriptDebugServer.h3
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/JavaScriptProfileNode.cpp20
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Breakpoint.js23
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/BreakpointsSidebarPane.js94
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/CallStackSidebarPane.js57
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Console.js121
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/DatabasesPanel.js2
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/ElementsPanel.js2
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/ElementsTreeOutline.js146
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/KeyboardShortcut.js108
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/ObjectPropertiesSection.js45
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Resource.js10
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/ResourcesPanel.js13
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/ScriptsPanel.js83
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/SourceFrame.js41
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/SourceView.js7
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/StylesSidebarPane.js89
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/TextPrompt.js5
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/WebKit.qrc2
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/inspector.css60
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/inspector.html5
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/inspector.js74
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/utilities.js6
-rw-r--r--src/3rdparty/webkit/WebCore/loader/Cache.h2
-rw-r--r--src/3rdparty/webkit/WebCore/loader/CrossOriginPreflightResultCache.h4
-rw-r--r--src/3rdparty/webkit/WebCore/loader/DocLoader.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/loader/DocumentThreadableLoader.cpp3
-rw-r--r--src/3rdparty/webkit/WebCore/loader/EmptyClients.h20
-rw-r--r--src/3rdparty/webkit/WebCore/loader/FrameLoader.cpp134
-rw-r--r--src/3rdparty/webkit/WebCore/loader/FrameLoader.h20
-rw-r--r--src/3rdparty/webkit/WebCore/loader/FrameLoaderClient.h9
-rw-r--r--src/3rdparty/webkit/WebCore/loader/PlaceholderDocument.cpp47
-rw-r--r--src/3rdparty/webkit/WebCore/loader/PlaceholderDocument.h48
-rw-r--r--src/3rdparty/webkit/WebCore/loader/ProgressTracker.h2
-rw-r--r--src/3rdparty/webkit/WebCore/loader/TextDocument.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/loader/ThreadableLoader.h2
-rw-r--r--src/3rdparty/webkit/WebCore/loader/appcache/ApplicationCache.cpp18
-rw-r--r--src/3rdparty/webkit/WebCore/loader/appcache/ApplicationCache.h7
-rw-r--r--src/3rdparty/webkit/WebCore/loader/appcache/ApplicationCacheGroup.cpp159
-rw-r--r--src/3rdparty/webkit/WebCore/loader/appcache/ApplicationCacheGroup.h11
-rw-r--r--src/3rdparty/webkit/WebCore/loader/appcache/ApplicationCacheResource.cpp23
-rw-r--r--src/3rdparty/webkit/WebCore/loader/appcache/ApplicationCacheResource.h3
-rw-r--r--src/3rdparty/webkit/WebCore/loader/appcache/ApplicationCacheStorage.cpp249
-rw-r--r--src/3rdparty/webkit/WebCore/loader/appcache/ApplicationCacheStorage.h30
-rw-r--r--src/3rdparty/webkit/WebCore/loader/archive/ArchiveResourceCollection.h2
-rw-r--r--src/3rdparty/webkit/WebCore/loader/icon/IconDatabase.cpp4
-rw-r--r--src/3rdparty/webkit/WebCore/loader/icon/IconDatabase.h6
-rw-r--r--src/3rdparty/webkit/WebCore/loader/icon/IconDatabaseNone.cpp21
-rw-r--r--src/3rdparty/webkit/WebCore/loader/icon/IconLoader.h2
-rw-r--r--src/3rdparty/webkit/WebCore/loader/icon/PageURLRecord.h2
-rw-r--r--src/3rdparty/webkit/WebCore/loader/loader.cpp48
-rw-r--r--src/3rdparty/webkit/WebCore/loader/loader.h11
-rw-r--r--src/3rdparty/webkit/WebCore/page/BarInfo.cpp28
-rw-r--r--src/3rdparty/webkit/WebCore/page/Chrome.cpp50
-rw-r--r--src/3rdparty/webkit/WebCore/page/ChromeClient.h16
-rw-r--r--src/3rdparty/webkit/WebCore/page/Console.cpp123
-rw-r--r--src/3rdparty/webkit/WebCore/page/Console.h19
-rw-r--r--src/3rdparty/webkit/WebCore/page/ContextMenuController.h2
-rw-r--r--src/3rdparty/webkit/WebCore/page/Coordinates.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/page/DOMSelection.cpp14
-rw-r--r--src/3rdparty/webkit/WebCore/page/DOMSelection.h2
-rw-r--r--src/3rdparty/webkit/WebCore/page/DOMTimer.cpp35
-rw-r--r--src/3rdparty/webkit/WebCore/page/DOMTimer.h60
-rw-r--r--src/3rdparty/webkit/WebCore/page/DOMWindow.cpp16
-rw-r--r--src/3rdparty/webkit/WebCore/page/DOMWindow.idl10
-rw-r--r--src/3rdparty/webkit/WebCore/page/DragController.cpp212
-rw-r--r--src/3rdparty/webkit/WebCore/page/EventHandler.cpp115
-rw-r--r--src/3rdparty/webkit/WebCore/page/EventHandler.h13
-rw-r--r--src/3rdparty/webkit/WebCore/page/FocusController.cpp36
-rw-r--r--src/3rdparty/webkit/WebCore/page/FocusController.h4
-rw-r--r--src/3rdparty/webkit/WebCore/page/Frame.cpp197
-rw-r--r--src/3rdparty/webkit/WebCore/page/Frame.h456
-rw-r--r--src/3rdparty/webkit/WebCore/page/FrameTree.h2
-rw-r--r--src/3rdparty/webkit/WebCore/page/FrameView.cpp236
-rw-r--r--src/3rdparty/webkit/WebCore/page/FrameView.h40
-rw-r--r--src/3rdparty/webkit/WebCore/page/MouseEventWithHitTestResults.h5
-rw-r--r--src/3rdparty/webkit/WebCore/page/NavigatorBase.cpp14
-rw-r--r--src/3rdparty/webkit/WebCore/page/Page.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/page/Page.h4
-rw-r--r--src/3rdparty/webkit/WebCore/page/PageGroup.h2
-rw-r--r--src/3rdparty/webkit/WebCore/page/PageGroupLoadDeferrer.h2
-rw-r--r--src/3rdparty/webkit/WebCore/page/Settings.cpp18
-rw-r--r--src/3rdparty/webkit/WebCore/page/Settings.h12
-rw-r--r--src/3rdparty/webkit/WebCore/page/XSSAuditor.cpp142
-rw-r--r--src/3rdparty/webkit/WebCore/page/XSSAuditor.h24
-rw-r--r--src/3rdparty/webkit/WebCore/page/android/DragControllerAndroid.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/page/android/EventHandlerAndroid.cpp4
-rw-r--r--src/3rdparty/webkit/WebCore/page/animation/AnimationBase.cpp22
-rw-r--r--src/3rdparty/webkit/WebCore/page/animation/AnimationController.cpp18
-rw-r--r--src/3rdparty/webkit/WebCore/page/animation/CompositeAnimation.cpp147
-rw-r--r--src/3rdparty/webkit/WebCore/page/animation/CompositeAnimation.h2
-rw-r--r--src/3rdparty/webkit/WebCore/page/animation/ImplicitAnimation.cpp4
-rw-r--r--src/3rdparty/webkit/WebCore/page/qt/DragControllerQt.cpp3
-rw-r--r--src/3rdparty/webkit/WebCore/page/win/DragControllerWin.cpp3
-rw-r--r--src/3rdparty/webkit/WebCore/page/win/FrameWin.h2
-rw-r--r--src/3rdparty/webkit/WebCore/platform/AutodrainedPool.h2
-rw-r--r--src/3rdparty/webkit/WebCore/platform/ContextMenu.h2
-rw-r--r--src/3rdparty/webkit/WebCore/platform/CrossThreadCopier.h9
-rw-r--r--src/3rdparty/webkit/WebCore/platform/DragImage.h4
-rw-r--r--src/3rdparty/webkit/WebCore/platform/EventLoop.h2
-rw-r--r--src/3rdparty/webkit/WebCore/platform/FileSystem.h38
-rw-r--r--src/3rdparty/webkit/WebCore/platform/HostWindow.h2
-rw-r--r--src/3rdparty/webkit/WebCore/platform/LocalizedStrings.h3
-rw-r--r--src/3rdparty/webkit/WebCore/platform/Logging.cpp79
-rw-r--r--src/3rdparty/webkit/WebCore/platform/Pasteboard.h2
-rw-r--r--src/3rdparty/webkit/WebCore/platform/PurgeableBuffer.h2
-rw-r--r--src/3rdparty/webkit/WebCore/platform/RunLoopTimer.h2
-rw-r--r--src/3rdparty/webkit/WebCore/platform/ScrollView.cpp78
-rw-r--r--src/3rdparty/webkit/WebCore/platform/ScrollView.h17
-rw-r--r--src/3rdparty/webkit/WebCore/platform/Scrollbar.cpp31
-rw-r--r--src/3rdparty/webkit/WebCore/platform/Scrollbar.h15
-rw-r--r--src/3rdparty/webkit/WebCore/platform/ScrollbarClient.h26
-rw-r--r--src/3rdparty/webkit/WebCore/platform/Theme.h2
-rw-r--r--src/3rdparty/webkit/WebCore/platform/ThemeTypes.h7
-rw-r--r--src/3rdparty/webkit/WebCore/platform/ThreadGlobalData.h2
-rw-r--r--src/3rdparty/webkit/WebCore/platform/ThreadTimers.h2
-rw-r--r--src/3rdparty/webkit/WebCore/platform/Timer.h2
-rw-r--r--src/3rdparty/webkit/WebCore/platform/TreeShared.h2
-rw-r--r--src/3rdparty/webkit/WebCore/platform/Widget.cpp106
-rw-r--r--src/3rdparty/webkit/WebCore/platform/Widget.h26
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/BitmapImage.cpp4
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/Color.h1
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/FontData.h7
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/GlyphPageTreeNode.cpp38
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/GlyphPageTreeNode.h11
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/GlyphWidthMap.h2
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/Gradient.cpp13
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/Gradient.h3
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/GraphicsContext.cpp22
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/GraphicsContext.h6
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/GraphicsLayer.cpp26
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/GraphicsLayer.h14
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/Image.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/Image.h16
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/ImageBuffer.h2
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/ImageSource.h2
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/IntPoint.h1
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/MediaPlayer.cpp27
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/MediaPlayer.h7
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/MediaPlayerPrivate.h10
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/Path.h3
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/SegmentedFontData.cpp8
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/SegmentedFontData.h4
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/SimpleFontData.cpp12
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/SimpleFontData.h4
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/qt/FontCacheQt.cpp230
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/qt/FontFallbackListQt.cpp29
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/qt/FontPlatformData.h34
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/qt/FontPlatformDataQt.cpp18
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/qt/FontQt.cpp13
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/qt/FontQt43.cpp16
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/qt/GradientQt.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/qt/GraphicsContextQt.cpp24
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/qt/IconQt.cpp5
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/qt/ImageDecoderQt.cpp10
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/qt/ImageQt.cpp11
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/qt/ImageSourceQt.cpp10
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/qt/MediaPlayerPrivatePhonon.cpp14
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/qt/PathQt.cpp15
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/qt/TransformationMatrixQt.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/platform/mac/LocalCurrentGraphicsContext.h2
-rw-r--r--src/3rdparty/webkit/WebCore/platform/mac/LocalizedStringsMac.mm16
-rw-r--r--src/3rdparty/webkit/WebCore/platform/mac/RuntimeApplicationChecks.h1
-rw-r--r--src/3rdparty/webkit/WebCore/platform/mac/RuntimeApplicationChecks.mm6
-rw-r--r--src/3rdparty/webkit/WebCore/platform/mac/ThemeMac.mm13
-rw-r--r--src/3rdparty/webkit/WebCore/platform/mac/WebCoreSystemInterface.h7
-rw-r--r--src/3rdparty/webkit/WebCore/platform/mac/WebCoreSystemInterface.mm7
-rw-r--r--src/3rdparty/webkit/WebCore/platform/mac/WidgetMac.mm74
-rw-r--r--src/3rdparty/webkit/WebCore/platform/network/FormDataBuilder.h2
-rw-r--r--src/3rdparty/webkit/WebCore/platform/network/ResourceHandle.h6
-rw-r--r--src/3rdparty/webkit/WebCore/platform/network/ResourceHandleInternal.h6
-rw-r--r--src/3rdparty/webkit/WebCore/platform/network/ResourceResponseBase.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/platform/network/ResourceResponseBase.h2
-rw-r--r--src/3rdparty/webkit/WebCore/platform/network/qt/QNetworkReplyHandler.cpp6
-rw-r--r--src/3rdparty/webkit/WebCore/platform/qt/ClipboardQt.cpp42
-rw-r--r--src/3rdparty/webkit/WebCore/platform/qt/ClipboardQt.h12
-rw-r--r--src/3rdparty/webkit/WebCore/platform/qt/ContextMenuItemQt.cpp4
-rw-r--r--src/3rdparty/webkit/WebCore/platform/qt/CursorQt.cpp6
-rw-r--r--src/3rdparty/webkit/WebCore/platform/qt/DragDataQt.cpp26
-rw-r--r--src/3rdparty/webkit/WebCore/platform/qt/DragImageQt.cpp10
-rw-r--r--src/3rdparty/webkit/WebCore/platform/qt/FileSystemQt.cpp6
-rw-r--r--src/3rdparty/webkit/WebCore/platform/qt/Localizations.cpp14
-rw-r--r--src/3rdparty/webkit/WebCore/platform/qt/MIMETypeRegistryQt.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/platform/qt/PasteboardQt.cpp8
-rw-r--r--src/3rdparty/webkit/WebCore/platform/qt/PlatformKeyboardEventQt.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/platform/qt/PlatformMouseEventQt.cpp4
-rw-r--r--src/3rdparty/webkit/WebCore/platform/qt/PopupMenuQt.cpp3
-rw-r--r--src/3rdparty/webkit/WebCore/platform/qt/RenderThemeQt.cpp47
-rw-r--r--src/3rdparty/webkit/WebCore/platform/qt/RenderThemeQt.h9
-rw-r--r--src/3rdparty/webkit/WebCore/platform/qt/ScreenQt.cpp6
-rw-r--r--src/3rdparty/webkit/WebCore/platform/qt/ScrollbarQt.cpp4
-rw-r--r--src/3rdparty/webkit/WebCore/platform/qt/ScrollbarThemeQt.cpp36
-rw-r--r--src/3rdparty/webkit/WebCore/platform/qt/ScrollbarThemeQt.h2
-rw-r--r--src/3rdparty/webkit/WebCore/platform/qt/SharedBufferQt.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/platform/qt/TemporaryLinkStubs.cpp41
-rw-r--r--src/3rdparty/webkit/WebCore/platform/sql/SQLiteDatabase.cpp17
-rw-r--r--src/3rdparty/webkit/WebCore/platform/sql/SQLiteDatabase.h3
-rw-r--r--src/3rdparty/webkit/WebCore/platform/sql/SQLiteFileSystem.cpp123
-rw-r--r--src/3rdparty/webkit/WebCore/platform/sql/SQLiteFileSystem.h114
-rw-r--r--src/3rdparty/webkit/WebCore/platform/text/CharacterNames.h12
-rw-r--r--src/3rdparty/webkit/WebCore/platform/text/StringBuffer.h2
-rw-r--r--src/3rdparty/webkit/WebCore/platform/text/StringImpl.cpp26
-rw-r--r--src/3rdparty/webkit/WebCore/platform/text/TextBreakIteratorICU.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/platform/text/TextBreakIteratorInternalICU.h4
-rw-r--r--src/3rdparty/webkit/WebCore/platform/text/TextCodec.h2
-rw-r--r--src/3rdparty/webkit/WebCore/platform/text/android/TextBreakIteratorInternalICU.cpp7
-rw-r--r--src/3rdparty/webkit/WebCore/platform/text/mac/TextBreakIteratorInternalICUMac.mm96
-rw-r--r--src/3rdparty/webkit/WebCore/platform/text/qt/StringQt.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/platform/text/qt/TextBoundaries.cpp8
-rw-r--r--src/3rdparty/webkit/WebCore/platform/text/qt/TextBreakIteratorQt.cpp40
-rw-r--r--src/3rdparty/webkit/WebCore/platform/text/win/TextBreakIteratorInternalICUWin.cpp6
-rw-r--r--src/3rdparty/webkit/WebCore/plugins/PluginDatabase.cpp21
-rw-r--r--src/3rdparty/webkit/WebCore/plugins/PluginDatabase.h19
-rw-r--r--src/3rdparty/webkit/WebCore/plugins/PluginDebug.cpp168
-rw-r--r--src/3rdparty/webkit/WebCore/plugins/PluginDebug.h37
-rw-r--r--src/3rdparty/webkit/WebCore/plugins/PluginView.cpp87
-rw-r--r--src/3rdparty/webkit/WebCore/plugins/PluginView.h4
-rw-r--r--src/3rdparty/webkit/WebCore/plugins/mac/PluginViewMac.cpp128
-rw-r--r--src/3rdparty/webkit/WebCore/plugins/qt/PluginPackageQt.cpp18
-rw-r--r--src/3rdparty/webkit/WebCore/plugins/qt/PluginViewQt.cpp18
-rw-r--r--src/3rdparty/webkit/WebCore/plugins/win/PluginDatabaseWin.cpp46
-rw-r--r--src/3rdparty/webkit/WebCore/plugins/win/PluginMessageThrottlerWin.cpp3
-rw-r--r--src/3rdparty/webkit/WebCore/plugins/win/PluginPackageWin.cpp24
-rw-r--r--src/3rdparty/webkit/WebCore/plugins/win/PluginViewWin.cpp157
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/AutoTableLayout.cpp4
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/CounterNode.h2
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/HitTestResult.cpp44
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/HitTestResult.h8
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/InlineBox.cpp38
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/InlineBox.h39
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/InlineFlowBox.cpp78
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/InlineFlowBox.h14
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/InlineTextBox.cpp18
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/LayoutState.h2
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/MediaControlElements.cpp309
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/MediaControlElements.h97
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderApplet.cpp1
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderArena.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderBlock.cpp121
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderBlock.h21
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderBlockLineLayout.cpp2264
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderBox.cpp7
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderBoxModelObject.cpp247
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderBoxModelObject.h2
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderButton.cpp5
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderButton.h3
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderDataGrid.cpp136
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderDataGrid.h22
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderFieldset.cpp5
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderFlexibleBox.cpp38
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderFrameSet.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderFrameSet.h5
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderImage.cpp3
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderInline.cpp6
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderInline.h5
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderLayer.cpp154
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderLayer.h28
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderLayerBacking.cpp19
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderLayerBacking.h3
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderLayerCompositor.cpp180
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderLayerCompositor.h30
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderListBox.cpp70
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderListBox.h4
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderMarquee.cpp3
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderMedia.cpp209
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderMedia.h25
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderMenuList.cpp7
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderObject.cpp47
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderObject.h8
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderPart.cpp16
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderPart.h4
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderReplaced.cpp7
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderSVGImage.cpp14
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderSVGInline.cpp4
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderSVGInline.h2
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderSVGInlineText.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderSVGText.cpp4
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderSVGText.h2
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderSlider.cpp90
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderSlider.h3
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderTable.cpp8
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderTableCell.cpp6
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderTableCol.h3
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderTextControl.cpp33
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderTextControlMultiLine.cpp13
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderTextControlSingleLine.cpp4
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderTheme.cpp25
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderTheme.h10
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderThemeChromiumMac.h2
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderThemeChromiumMac.mm30
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderThemeChromiumSkia.cpp23
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderThemeChromiumSkia.h2
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderThemeChromiumWin.cpp10
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderThemeMac.h7
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderThemeSafari.cpp6
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderThemeSafari.h2
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderThemeWince.cpp667
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderThemeWince.h147
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderView.cpp4
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderView.h2
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderWidget.cpp31
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderWidget.h7
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RootInlineBox.cpp4
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/SVGCharacterLayoutInfo.cpp4
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/SVGCharacterLayoutInfo.h3
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/SVGInlineFlowBox.h2
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/SVGInlineTextBox.h2
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/SVGRenderTreeAsText.cpp3
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/SVGRootInlineBox.h2
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/TextControlInnerElements.cpp10
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/TextControlInnerElements.h4
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/TransformState.h2
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/bidi.cpp2231
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/bidi.h65
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/style/FillLayer.h10
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/style/RenderStyle.cpp9
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/style/RenderStyle.h13
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/style/RenderStyleConstants.h9
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/style/SVGRenderStyle.cpp3
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/style/SVGRenderStyleDefs.h4
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/style/ShadowData.cpp6
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/style/ShadowData.h20
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/style/StyleInheritedData.h2
-rw-r--r--src/3rdparty/webkit/WebCore/storage/Database.cpp24
-rw-r--r--src/3rdparty/webkit/WebCore/storage/Database.h3
-rw-r--r--src/3rdparty/webkit/WebCore/storage/DatabaseTask.h15
-rw-r--r--src/3rdparty/webkit/WebCore/storage/DatabaseThread.cpp27
-rw-r--r--src/3rdparty/webkit/WebCore/storage/DatabaseThread.h8
-rw-r--r--src/3rdparty/webkit/WebCore/storage/DatabaseTracker.cpp62
-rw-r--r--src/3rdparty/webkit/WebCore/storage/LocalStorageTask.cpp4
-rw-r--r--src/3rdparty/webkit/WebCore/storage/LocalStorageTask.h2
-rw-r--r--src/3rdparty/webkit/WebCore/storage/OriginUsageRecord.cpp12
-rw-r--r--src/3rdparty/webkit/WebCore/storage/Storage.cpp4
-rw-r--r--src/3rdparty/webkit/WebCore/storage/Storage.h6
-rw-r--r--src/3rdparty/webkit/WebCore/storage/StorageArea.cpp256
-rw-r--r--src/3rdparty/webkit/WebCore/storage/StorageArea.h55
-rw-r--r--src/3rdparty/webkit/WebCore/storage/StorageAreaImpl.cpp261
-rw-r--r--src/3rdparty/webkit/WebCore/storage/StorageAreaImpl.h85
-rw-r--r--src/3rdparty/webkit/WebCore/storage/StorageAreaSync.cpp9
-rw-r--r--src/3rdparty/webkit/WebCore/storage/StorageAreaSync.h14
-rw-r--r--src/3rdparty/webkit/WebCore/storage/StorageEvent.cpp14
-rw-r--r--src/3rdparty/webkit/WebCore/storage/StorageEvent.h15
-rw-r--r--src/3rdparty/webkit/WebCore/storage/StorageNamespace.cpp96
-rw-r--r--src/3rdparty/webkit/WebCore/storage/StorageNamespace.h33
-rw-r--r--src/3rdparty/webkit/WebCore/storage/StorageNamespaceImpl.cpp133
-rw-r--r--src/3rdparty/webkit/WebCore/storage/StorageNamespaceImpl.h74
-rw-r--r--src/3rdparty/webkit/WebCore/storage/StorageSyncManager.cpp6
-rw-r--r--src/3rdparty/webkit/WebCore/storage/StorageSyncManager.h12
-rw-r--r--src/3rdparty/webkit/WebCore/svg/GradientAttributes.h3
-rw-r--r--src/3rdparty/webkit/WebCore/svg/LinearGradientAttributes.h3
-rw-r--r--src/3rdparty/webkit/WebCore/svg/PatternAttributes.h3
-rw-r--r--src/3rdparty/webkit/WebCore/svg/RadialGradientAttributes.h3
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGAElement.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGAnimatedPathData.h6
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGAnimatedPoints.h6
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGAnimatedProperty.h2
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGAnimationElement.h3
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGClipPathElement.h3
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGColor.cpp5
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGColor.h4
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGDocumentExtensions.cpp4
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGElementInstance.h3
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGElementInstance.idl2
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFEBlendElement.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFEBlendElement.h6
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFEColorMatrixElement.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFEComponentTransferElement.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFECompositeElement.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFEDiffuseLightingElement.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFEDisplacementMapElement.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFEDistantLightElement.h6
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFEFloodElement.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFEFloodElement.h6
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFEFuncAElement.h6
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFEFuncBElement.h6
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFEFuncGElement.h6
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFEFuncRElement.h6
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFEGaussianBlurElement.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFEImageElement.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFEMergeElement.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFEOffsetElement.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFEPointLightElement.h6
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFESpecularLightingElement.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFESpotLightElement.h6
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFETileElement.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGImageLoader.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGLineElement.cpp3
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGList.h3
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGListTraits.h6
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGMPathElement.h3
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGMetadataElement.h6
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGParserUtilities.cpp4
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGPathElement.h3
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGPathSeg.idl2
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGPathSegClosePath.h6
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGPolyElement.h1
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGSVGElement.h6
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGSetElement.h6
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGSwitchElement.h6
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGTextPathElement.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGTextPathElement.h6
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGTitleElement.h6
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGTransformDistance.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGTransformList.cpp18
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGTransformList.h1
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGTransformable.cpp12
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGViewSpec.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SynchronizableTypeWrapper.h2
-rw-r--r--src/3rdparty/webkit/WebCore/svg/animation/SMILTime.cpp9
-rw-r--r--src/3rdparty/webkit/WebCore/svg/animation/SVGSMILElement.h3
-rw-r--r--src/3rdparty/webkit/WebCore/svg/graphics/SVGImage.cpp4
-rw-r--r--src/3rdparty/webkit/WebCore/svg/graphics/SVGPaintServer.cpp11
-rw-r--r--src/3rdparty/webkit/WebCore/svg/graphics/SVGPaintServer.h2
-rw-r--r--src/3rdparty/webkit/WebCore/svg/graphics/SVGResource.cpp3
-rw-r--r--src/3rdparty/webkit/WebCore/wml/WMLAElement.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/wml/WMLCardElement.cpp41
-rw-r--r--src/3rdparty/webkit/WebCore/wml/WMLCardElement.h1
-rw-r--r--src/3rdparty/webkit/WebCore/wml/WMLDoElement.cpp11
-rw-r--r--src/3rdparty/webkit/WebCore/wml/WMLDoElement.h1
-rw-r--r--src/3rdparty/webkit/WebCore/wml/WMLElement.cpp5
-rw-r--r--src/3rdparty/webkit/WebCore/wml/WMLElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/wml/WMLErrorHandling.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/wml/WMLGoElement.cpp5
-rw-r--r--src/3rdparty/webkit/WebCore/wml/WMLImageLoader.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/wml/WMLNoopElement.cpp7
-rw-r--r--src/3rdparty/webkit/WebCore/wml/WMLOptGroupElement.cpp5
-rw-r--r--src/3rdparty/webkit/WebCore/wml/WMLOptGroupElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/wml/WMLOptionElement.cpp8
-rw-r--r--src/3rdparty/webkit/WebCore/wml/WMLPageState.cpp29
-rw-r--r--src/3rdparty/webkit/WebCore/wml/WMLPageState.h4
-rw-r--r--src/3rdparty/webkit/WebCore/wml/WMLPostfieldElement.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/wml/WMLSelectElement.cpp331
-rw-r--r--src/3rdparty/webkit/WebCore/wml/WMLSelectElement.h21
-rw-r--r--src/3rdparty/webkit/WebCore/wml/WMLSetvarElement.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/workers/AbstractWorker.cpp139
-rw-r--r--src/3rdparty/webkit/WebCore/workers/AbstractWorker.h86
-rw-r--r--src/3rdparty/webkit/WebCore/workers/AbstractWorker.idl52
-rw-r--r--src/3rdparty/webkit/WebCore/workers/DedicatedWorkerContext.cpp101
-rw-r--r--src/3rdparty/webkit/WebCore/workers/DedicatedWorkerContext.h64
-rw-r--r--src/3rdparty/webkit/WebCore/workers/DedicatedWorkerContext.idl48
-rw-r--r--src/3rdparty/webkit/WebCore/workers/GenericWorkerTask.h70
-rw-r--r--src/3rdparty/webkit/WebCore/workers/SharedWorker.cpp52
-rw-r--r--src/3rdparty/webkit/WebCore/workers/SharedWorker.h61
-rw-r--r--src/3rdparty/webkit/WebCore/workers/SharedWorker.idl42
-rw-r--r--src/3rdparty/webkit/WebCore/workers/Worker.cpp103
-rw-r--r--src/3rdparty/webkit/WebCore/workers/Worker.h34
-rw-r--r--src/3rdparty/webkit/WebCore/workers/Worker.idl21
-rw-r--r--src/3rdparty/webkit/WebCore/workers/WorkerContext.cpp51
-rw-r--r--src/3rdparty/webkit/WebCore/workers/WorkerContext.h26
-rw-r--r--src/3rdparty/webkit/WebCore/workers/WorkerContext.idl15
-rw-r--r--src/3rdparty/webkit/WebCore/workers/WorkerContextProxy.h5
-rw-r--r--src/3rdparty/webkit/WebCore/workers/WorkerLoaderProxy.h2
-rw-r--r--src/3rdparty/webkit/WebCore/workers/WorkerMessagingProxy.cpp66
-rw-r--r--src/3rdparty/webkit/WebCore/workers/WorkerMessagingProxy.h11
-rw-r--r--src/3rdparty/webkit/WebCore/workers/WorkerObjectProxy.h7
-rw-r--r--src/3rdparty/webkit/WebCore/workers/WorkerRunLoop.cpp3
-rw-r--r--src/3rdparty/webkit/WebCore/workers/WorkerScriptLoader.cpp65
-rw-r--r--src/3rdparty/webkit/WebCore/workers/WorkerScriptLoader.h20
-rw-r--r--src/3rdparty/webkit/WebCore/workers/WorkerThread.cpp6
-rw-r--r--src/3rdparty/webkit/WebCore/xml/XMLHttpRequest.cpp36
-rw-r--r--src/3rdparty/webkit/WebCore/xml/XMLHttpRequest.h1
-rw-r--r--src/3rdparty/webkit/WebCore/xml/XPathExpressionNode.h2
-rw-r--r--src/3rdparty/webkit/WebCore/xml/XPathFunctions.cpp8
-rw-r--r--src/3rdparty/webkit/WebCore/xml/XPathGrammar.y4
-rw-r--r--src/3rdparty/webkit/WebCore/xml/XPathParser.h2
-rw-r--r--src/3rdparty/webkit/WebCore/xml/XPathPath.h3
-rw-r--r--src/3rdparty/webkit/WebCore/xml/XPathPredicate.h2
-rw-r--r--src/3rdparty/webkit/WebCore/xml/XPathStep.h2
-rw-r--r--src/3rdparty/webkit/WebCore/xml/XSLTProcessor.cpp2
-rw-r--r--src/3rdparty/webkit/WebKit.pri23
-rw-r--r--src/3rdparty/webkit/WebKit/ChangeLog181
-rw-r--r--src/3rdparty/webkit/WebKit/StringsNotToBeLocalized.txt9
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/headers.pri4
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebdatabase.cpp40
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebdatabase.h6
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebdatabase_p.h3
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebelement.cpp62
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebelement.h91
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebframe.cpp287
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebframe.h21
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebframe_p.h28
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebhistory.cpp17
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebhistory.h11
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebhistory_p.h6
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebhistoryinterface.cpp14
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebhistoryinterface.h3
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp171
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebpage.h8
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebpage_p.h13
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebpluginfactory.h17
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebsecurityorigin.cpp15
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebsecurityorigin.h3
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebsecurityorigin_p.h3
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebsettings.cpp64
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebsettings.h6
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebview.cpp52
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebview.h53
-rw-r--r--src/3rdparty/webkit/WebKit/qt/ChangeLog857
-rw-r--r--src/3rdparty/webkit/WebKit/qt/WebCoreSupport/ChromeClientQt.cpp22
-rw-r--r--src/3rdparty/webkit/WebKit/qt/WebCoreSupport/ChromeClientQt.h7
-rw-r--r--src/3rdparty/webkit/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp77
-rw-r--r--src/3rdparty/webkit/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.h8
-rw-r--r--src/3rdparty/webkit/WebKit/qt/WebKit_pch.h3
-rw-r--r--src/3rdparty/webkit/WebKit/qt/docs/qtwebkit.qdoc28
-rw-r--r--src/3rdparty/webkit/WebKit/qt/docs/qtwebkit.qdocconf1
-rw-r--r--src/3rdparty/webkit/WebKit/qt/docs/qwebview-diagram.pngbin0 -> 9036 bytes
-rw-r--r--src/3rdparty/webkit/WebKit/qt/tests/benchmarks/loading/tst_loading.cpp105
-rw-r--r--src/3rdparty/webkit/WebKit/qt/tests/benchmarks/loading/tst_loading.pro6
-rw-r--r--src/3rdparty/webkit/WebKit/qt/tests/benchmarks/painting/tst_painting.cpp109
-rw-r--r--src/3rdparty/webkit/WebKit/qt/tests/benchmarks/painting/tst_painting.pro6
-rw-r--r--src/3rdparty/webkit/WebKit/qt/tests/qwebframe/qwebframe.qrc2
-rw-r--r--src/3rdparty/webkit/WebKit/qt/tests/qwebframe/test1.html1
-rw-r--r--src/3rdparty/webkit/WebKit/qt/tests/qwebframe/test2.html1
-rw-r--r--src/3rdparty/webkit/WebKit/qt/tests/qwebframe/tst_qwebframe.cpp230
-rw-r--r--src/3rdparty/webkit/WebKit/qt/tests/qwebpage/frametest/iframe.html6
-rw-r--r--src/3rdparty/webkit/WebKit/qt/tests/qwebpage/frametest/iframe2.html7
-rw-r--r--src/3rdparty/webkit/WebKit/qt/tests/qwebpage/frametest/iframe3.html5
-rw-r--r--src/3rdparty/webkit/WebKit/qt/tests/qwebpage/tst_qwebpage.cpp76
-rw-r--r--src/3rdparty/webkit/WebKit/qt/tests/qwebpage/tst_qwebpage.qrc3
-rw-r--r--src/3rdparty/webkit/WebKit/qt/tests/tests.pro1
-rw-r--r--src/activeqt/container/qaxbase.cpp72
-rw-r--r--src/activeqt/container/qaxdump.cpp4
-rw-r--r--src/activeqt/container/qaxobject.cpp12
-rw-r--r--src/activeqt/container/qaxscript.cpp22
-rw-r--r--src/activeqt/container/qaxselect.cpp34
-rw-r--r--src/activeqt/container/qaxwidget.cpp110
-rw-r--r--src/activeqt/control/qaxfactory.cpp12
-rw-r--r--src/activeqt/control/qaxserver.cpp18
-rw-r--r--src/activeqt/control/qaxserverbase.cpp276
-rw-r--r--src/activeqt/control/qaxserverdll.cpp4
-rw-r--r--src/activeqt/control/qaxservermain.cpp15
-rw-r--r--src/activeqt/shared/qaxtypes.cpp15
-rw-r--r--src/activeqt/shared/qaxtypes.h3
-rw-r--r--src/corelib/animation/qabstractanimation.cpp84
-rw-r--r--src/corelib/animation/qabstractanimation.h2
-rw-r--r--src/corelib/animation/qabstractanimation_p.h10
-rw-r--r--src/corelib/animation/qanimationgroup.h2
-rw-r--r--src/corelib/animation/qanimationgroup_p.h4
-rw-r--r--src/corelib/animation/qparallelanimationgroup.cpp3
-rw-r--r--src/corelib/animation/qparallelanimationgroup.h2
-rw-r--r--src/corelib/animation/qparallelanimationgroup_p.h4
-rw-r--r--src/corelib/animation/qpauseanimation.h2
-rw-r--r--src/corelib/animation/qpropertyanimation.cpp18
-rw-r--r--src/corelib/animation/qpropertyanimation.h2
-rw-r--r--src/corelib/animation/qpropertyanimation_p.h6
-rw-r--r--src/corelib/animation/qsequentialanimationgroup.cpp4
-rw-r--r--src/corelib/animation/qsequentialanimationgroup.h2
-rw-r--r--src/corelib/animation/qsequentialanimationgroup_p.h3
-rw-r--r--src/corelib/animation/qvariantanimation.cpp2
-rw-r--r--src/corelib/animation/qvariantanimation.h4
-rw-r--r--src/corelib/animation/qvariantanimation_p.h4
-rw-r--r--src/corelib/arch/arch.pri2
-rw-r--r--src/corelib/arch/qatomic_arch.h4
-rw-r--r--src/corelib/arch/qatomic_powerpc.h2
-rw-r--r--src/corelib/arch/qatomic_symbian.h8
-rw-r--r--src/corelib/arch/qatomic_vxworks.h318
-rw-r--r--src/corelib/arch/symbian/qatomic_symbian.cpp8
-rw-r--r--src/corelib/arch/vxworks/arch.pri6
-rw-r--r--src/corelib/arch/vxworks/qatomic_ppc.s415
-rw-r--r--src/corelib/codecs/qiconvcodec.cpp10
-rw-r--r--src/corelib/codecs/qtextcodec.cpp55
-rw-r--r--src/corelib/codecs/qtextcodec_p.h27
-rw-r--r--src/corelib/codecs/qutfcodec.cpp349
-rw-r--r--src/corelib/codecs/qutfcodec_p.h53
-rw-r--r--src/corelib/concurrent/qfuture.h2
-rw-r--r--src/corelib/concurrent/qfuturewatcher.h2
-rw-r--r--src/corelib/concurrent/qtconcurrentiteratekernel.cpp10
-rw-r--r--src/corelib/concurrent/qtconcurrentmap.cpp3
-rw-r--r--src/corelib/concurrent/qtconcurrentthreadengine.h6
-rw-r--r--src/corelib/concurrent/qthreadpool.h2
-rw-r--r--src/corelib/global/qglobal.cpp120
-rw-r--r--src/corelib/global/qglobal.h177
-rw-r--r--src/corelib/global/qnamespace.h32
-rw-r--r--src/corelib/global/qt_windows.h37
-rw-r--r--src/corelib/io/io.pri5
-rw-r--r--src/corelib/io/qabstractfileengine.cpp22
-rw-r--r--src/corelib/io/qabstractfileengine.h2
-rw-r--r--src/corelib/io/qbuffer.h2
-rw-r--r--src/corelib/io/qdatastream.cpp10
-rw-r--r--src/corelib/io/qdir.h2
-rw-r--r--src/corelib/io/qdiriterator.cpp231
-rw-r--r--src/corelib/io/qfile.h2
-rw-r--r--src/corelib/io/qfileinfo.cpp6
-rw-r--r--src/corelib/io/qfileinfo.h2
-rw-r--r--src/corelib/io/qfilesystemwatcher.cpp18
-rw-r--r--src/corelib/io/qfilesystemwatcher.h2
-rw-r--r--src/corelib/io/qfilesystemwatcher_dnotify.cpp20
-rw-r--r--src/corelib/io/qfilesystemwatcher_fsevents.cpp472
-rw-r--r--src/corelib/io/qfilesystemwatcher_fsevents_p.h128
-rw-r--r--src/corelib/io/qfilesystemwatcher_inotify.cpp40
-rw-r--r--src/corelib/io/qfilesystemwatcher_kqueue.cpp5
-rw-r--r--src/corelib/io/qfilesystemwatcher_p.h7
-rw-r--r--src/corelib/io/qfilesystemwatcher_symbian.cpp8
-rw-r--r--src/corelib/io/qfilesystemwatcher_symbian_p.h8
-rw-r--r--src/corelib/io/qfilesystemwatcher_win.cpp435
-rw-r--r--src/corelib/io/qfilesystemwatcher_win_p.h53
-rw-r--r--src/corelib/io/qfsfileengine.cpp6
-rw-r--r--src/corelib/io/qfsfileengine.h2
-rw-r--r--src/corelib/io/qfsfileengine_iterator_win.cpp32
-rw-r--r--src/corelib/io/qfsfileengine_p.h4
-rw-r--r--src/corelib/io/qfsfileengine_unix.cpp24
-rw-r--r--src/corelib/io/qfsfileengine_win.cpp935
-rw-r--r--src/corelib/io/qiodevice.h2
-rw-r--r--src/corelib/io/qprocess.cpp6
-rw-r--r--src/corelib/io/qprocess.h2
-rw-r--r--src/corelib/io/qprocess_symbian.cpp8
-rw-r--r--src/corelib/io/qprocess_unix.cpp285
-rw-r--r--src/corelib/io/qprocess_win.cpp231
-rw-r--r--src/corelib/io/qresource.cpp15
-rw-r--r--src/corelib/io/qresource.h2
-rw-r--r--src/corelib/io/qresource_iterator.cpp8
-rw-r--r--src/corelib/io/qresource_iterator_p.h4
-rw-r--r--src/corelib/io/qresource_p.h2
-rw-r--r--src/corelib/io/qsettings.cpp43
-rw-r--r--src/corelib/io/qsettings.h2
-rw-r--r--src/corelib/io/qsettings_win.cpp209
-rw-r--r--src/corelib/io/qtemporaryfile.cpp26
-rw-r--r--src/corelib/io/qtemporaryfile.h2
-rw-r--r--src/corelib/io/qtextstream.h2
-rw-r--r--src/corelib/io/qurl.cpp318
-rw-r--r--src/corelib/kernel/kernel.pri46
-rw-r--r--src/corelib/kernel/qabstracteventdispatcher.cpp25
-rw-r--r--src/corelib/kernel/qabstracteventdispatcher.h2
-rw-r--r--src/corelib/kernel/qabstractitemmodel.cpp57
-rw-r--r--src/corelib/kernel/qabstractitemmodel.h6
-rw-r--r--src/corelib/kernel/qabstractitemmodel_p.h5
-rw-r--r--src/corelib/kernel/qcore_symbian_p.cpp8
-rw-r--r--src/corelib/kernel/qcore_symbian_p.h8
-rw-r--r--src/corelib/kernel/qcore_unix.cpp163
-rw-r--r--src/corelib/kernel/qcore_unix_p.h323
-rw-r--r--src/corelib/kernel/qcoreapplication.cpp79
-rw-r--r--src/corelib/kernel/qcoreapplication.h2
-rw-r--r--src/corelib/kernel/qcoreapplication_win.cpp106
-rw-r--r--src/corelib/kernel/qcorecmdlineargs_p.h9
-rw-r--r--src/corelib/kernel/qcoreevent.cpp5
-rw-r--r--src/corelib/kernel/qcoreevent.h3
-rw-r--r--src/corelib/kernel/qeventdispatcher_glib.cpp1
-rw-r--r--src/corelib/kernel/qeventdispatcher_glib_p.h2
-rw-r--r--src/corelib/kernel/qeventdispatcher_symbian.cpp8
-rw-r--r--src/corelib/kernel/qeventdispatcher_symbian_p.h12
-rw-r--r--src/corelib/kernel/qeventdispatcher_unix.cpp189
-rw-r--r--src/corelib/kernel/qeventdispatcher_unix_p.h59
-rw-r--r--src/corelib/kernel/qeventdispatcher_win.cpp89
-rw-r--r--src/corelib/kernel/qeventdispatcher_win_p.h2
-rw-r--r--src/corelib/kernel/qeventloop.h2
-rw-r--r--src/corelib/kernel/qfunctions_p.h2
-rw-r--r--src/corelib/kernel/qfunctions_vxworks.cpp202
-rw-r--r--src/corelib/kernel/qfunctions_vxworks.h153
-rw-r--r--src/corelib/kernel/qfunctions_wince.cpp12
-rw-r--r--src/corelib/kernel/qfunctions_wince.h6
-rw-r--r--src/corelib/kernel/qguard_p.h157
-rw-r--r--src/corelib/kernel/qmath.h4
-rw-r--r--src/corelib/kernel/qmetaobject.cpp136
-rw-r--r--src/corelib/kernel/qmetaobject.h4
-rw-r--r--src/corelib/kernel/qmetatype.cpp27
-rw-r--r--src/corelib/kernel/qmetatype.h14
-rw-r--r--src/corelib/kernel/qmimedata.cpp2
-rw-r--r--src/corelib/kernel/qmimedata.h2
-rw-r--r--src/corelib/kernel/qobject.cpp152
-rw-r--r--src/corelib/kernel/qobject.h13
-rw-r--r--src/corelib/kernel/qobject_p.h146
-rw-r--r--src/corelib/kernel/qobjectdefs.h5
-rw-r--r--src/corelib/kernel/qsharedmemory.h2
-rw-r--r--src/corelib/kernel/qsharedmemory_symbian.cpp8
-rw-r--r--src/corelib/kernel/qsharedmemory_unix.cpp11
-rw-r--r--src/corelib/kernel/qsharedmemory_win.cpp19
-rw-r--r--src/corelib/kernel/qsignalmapper.h2
-rw-r--r--src/corelib/kernel/qsocketnotifier.h2
-rw-r--r--src/corelib/kernel/qsystemsemaphore_symbian.cpp8
-rw-r--r--src/corelib/kernel/qsystemsemaphore_win.cpp6
-rw-r--r--src/corelib/kernel/qtimer.cpp5
-rw-r--r--src/corelib/kernel/qtranslator.cpp3
-rw-r--r--src/corelib/kernel/qtranslator.h2
-rw-r--r--src/corelib/kernel/qvariant.cpp11
-rw-r--r--src/corelib/kernel/qvariant.h7
-rw-r--r--src/corelib/kernel/qwineventnotifier_p.h2
-rw-r--r--src/corelib/plugin/qfactoryloader_p.h2
-rw-r--r--src/corelib/plugin/qlibrary.cpp13
-rw-r--r--src/corelib/plugin/qlibrary_unix.cpp22
-rw-r--r--src/corelib/plugin/qlibrary_win.cpp34
-rw-r--r--src/corelib/plugin/qplugin.h19
-rw-r--r--src/corelib/statemachine/qabstractstate.h2
-rw-r--r--src/corelib/statemachine/qabstracttransition.cpp37
-rw-r--r--src/corelib/statemachine/qabstracttransition.h5
-rw-r--r--src/corelib/statemachine/qeventtransition.cpp30
-rw-r--r--src/corelib/statemachine/qeventtransition.h7
-rw-r--r--src/corelib/statemachine/qfinalstate.h2
-rw-r--r--src/corelib/statemachine/qhistorystate.h2
-rw-r--r--src/corelib/statemachine/qsignalevent.h6
-rw-r--r--src/corelib/statemachine/qsignaltransition.cpp15
-rw-r--r--src/corelib/statemachine/qsignaltransition.h5
-rw-r--r--src/corelib/statemachine/qstate.cpp34
-rw-r--r--src/corelib/statemachine/qstate.h4
-rw-r--r--src/corelib/statemachine/qstatemachine.cpp374
-rw-r--r--src/corelib/statemachine/qstatemachine.h24
-rw-r--r--src/corelib/statemachine/qstatemachine_p.h29
-rw-r--r--src/corelib/thread/qmutex_unix.cpp4
-rw-r--r--src/corelib/thread/qmutex_win.cpp16
-rw-r--r--src/corelib/thread/qreadwritelock.h3
-rw-r--r--src/corelib/thread/qthread.cpp11
-rw-r--r--src/corelib/thread/qthread.h4
-rw-r--r--src/corelib/thread/qthread_p.h2
-rw-r--r--src/corelib/thread/qthread_unix.cpp43
-rw-r--r--src/corelib/thread/qthread_win.cpp40
-rw-r--r--src/corelib/thread/qwaitcondition_win.cpp6
-rw-r--r--src/corelib/tools/qbytearraymatcher.h11
-rw-r--r--src/corelib/tools/qbytedata_p.h213
-rw-r--r--src/corelib/tools/qchar.cpp38
-rw-r--r--src/corelib/tools/qcontiguouscache.cpp18
-rw-r--r--src/corelib/tools/qcontiguouscache.h29
-rw-r--r--src/corelib/tools/qdatetime.cpp15
-rw-r--r--src/corelib/tools/qeasingcurve.cpp176
-rw-r--r--src/corelib/tools/qlocale.cpp148
-rw-r--r--src/corelib/tools/qlocale_symbian.cpp4
-rw-r--r--src/corelib/tools/qpoint.cpp2
-rw-r--r--src/corelib/tools/qregexp.cpp344
-rw-r--r--src/corelib/tools/qregexp.h2
-rw-r--r--src/corelib/tools/qringbuffer_p.h50
-rw-r--r--src/corelib/tools/qscopedpointer.cpp4
-rw-r--r--src/corelib/tools/qscopedpointer.h6
-rw-r--r--src/corelib/tools/qshareddata.cpp2
-rw-r--r--src/corelib/tools/qsharedpointer.cpp269
-rw-r--r--src/corelib/tools/qsharedpointer.h3
-rw-r--r--src/corelib/tools/qsharedpointer_impl.h252
-rw-r--r--src/corelib/tools/qstring.cpp168
-rw-r--r--src/corelib/tools/qstring.h2
-rw-r--r--src/corelib/tools/qstringbuilder.h18
-rw-r--r--src/corelib/tools/qstringlist.cpp1
-rw-r--r--src/corelib/tools/qstringlist.h1
-rw-r--r--src/corelib/tools/qstringmatcher.h11
-rw-r--r--src/corelib/tools/qtimeline.cpp2
-rw-r--r--src/corelib/tools/qtimeline.h2
-rw-r--r--src/corelib/tools/qvector.h8
-rw-r--r--src/corelib/tools/tools.pri3
-rw-r--r--src/corelib/xml/qxmlstream.cpp19
-rw-r--r--src/corelib/xml/qxmlstream.h4
-rw-r--r--src/corelib/xml/qxmlstream_p.h4
-rw-r--r--src/dbus/qdbusabstractadaptor.h2
-rw-r--r--src/dbus/qdbusabstractinterface.cpp252
-rw-r--r--src/dbus/qdbusabstractinterface.h20
-rw-r--r--src/dbus/qdbusabstractinterface_p.h8
-rw-r--r--src/dbus/qdbusargument_p.h3
-rw-r--r--src/dbus/qdbusconnection_p.h5
-rw-r--r--src/dbus/qdbuserror.cpp21
-rw-r--r--src/dbus/qdbuserror.h6
-rw-r--r--src/dbus/qdbusintegrator.cpp100
-rw-r--r--src/dbus/qdbusinterface.cpp146
-rw-r--r--src/dbus/qdbusinterface.h2
-rw-r--r--src/dbus/qdbusinternalfilters.cpp167
-rw-r--r--src/dbus/qdbusmarshaller.cpp48
-rw-r--r--src/dbus/qdbusmessage.cpp78
-rw-r--r--src/dbus/qdbusmessage.h6
-rw-r--r--src/dbus/qdbusmessage_p.h11
-rw-r--r--src/dbus/qdbusmisc.cpp47
-rw-r--r--src/dbus/qdbuspendingcall.cpp38
-rw-r--r--src/dbus/qdbuspendingcall.h5
-rw-r--r--src/dbus/qdbuspendingcall_p.h3
-rw-r--r--src/dbus/qdbusutil_p.h68
-rw-r--r--src/dbus/qdbusxmlgenerator.cpp37
-rw-r--r--src/gui/accessible/accessible.pri3
-rw-r--r--src/gui/accessible/qaccessible.h1
-rw-r--r--src/gui/accessible/qaccessible_mac_cocoa.mm234
-rw-r--r--src/gui/accessible/qaccessible_win.cpp34
-rw-r--r--src/gui/accessible/qaccessiblewidget.cpp2
-rw-r--r--src/gui/dialogs/qabstractpagesetupdialog.h2
-rw-r--r--src/gui/dialogs/qabstractprintdialog.cpp6
-rw-r--r--src/gui/dialogs/qabstractprintdialog.h2
-rw-r--r--src/gui/dialogs/qcolordialog.cpp22
-rw-r--r--src/gui/dialogs/qcolordialog.h2
-rw-r--r--src/gui/dialogs/qcolordialog_mac.mm221
-rw-r--r--src/gui/dialogs/qcolordialog_p.h13
-rw-r--r--src/gui/dialogs/qdialog.cpp3
-rw-r--r--src/gui/dialogs/qdialog.h2
-rw-r--r--src/gui/dialogs/qerrormessage.h2
-rw-r--r--src/gui/dialogs/qfiledialog.cpp65
-rw-r--r--src/gui/dialogs/qfiledialog.h2
-rw-r--r--src/gui/dialogs/qfiledialog_p.h4
-rw-r--r--src/gui/dialogs/qfiledialog_win.cpp667
-rw-r--r--src/gui/dialogs/qfileinfogatherer.cpp7
-rw-r--r--src/gui/dialogs/qfilesystemmodel.cpp23
-rw-r--r--src/gui/dialogs/qfilesystemmodel.h2
-rw-r--r--src/gui/dialogs/qfontdialog.h2
-rw-r--r--src/gui/dialogs/qfscompleter_p.h4
-rw-r--r--src/gui/dialogs/qinputdialog.h2
-rw-r--r--src/gui/dialogs/qmessagebox.cpp6
-rw-r--r--src/gui/dialogs/qmessagebox.h2
-rw-r--r--src/gui/dialogs/qpagesetupdialog.h2
-rw-r--r--src/gui/dialogs/qpagesetupdialog_win.cpp7
-rw-r--r--src/gui/dialogs/qprintdialog.h2
-rw-r--r--src/gui/dialogs/qprintdialog_win.cpp115
-rw-r--r--src/gui/dialogs/qprintpreviewdialog.h2
-rw-r--r--src/gui/dialogs/qprogressdialog.h2
-rw-r--r--src/gui/dialogs/qsidebar.cpp13
-rw-r--r--src/gui/dialogs/qwizard.cpp18
-rw-r--r--src/gui/dialogs/qwizard.h4
-rw-r--r--src/gui/dialogs/qwizard_win.cpp6
-rw-r--r--src/gui/dialogs/qwizard_win_p.h2
-rw-r--r--src/gui/egl/qegl.cpp11
-rw-r--r--src/gui/egl/qegl_p.h3
-rw-r--r--src/gui/egl/qegl_x11.cpp23
-rw-r--r--src/gui/egl/qeglproperties.cpp25
-rw-r--r--src/gui/egl/qeglproperties_p.h1
-rw-r--r--src/gui/embedded/embedded.pri55
-rw-r--r--src/gui/embedded/qdirectpainter_qws.cpp8
-rw-r--r--src/gui/embedded/qdirectpainter_qws.h2
-rw-r--r--src/gui/embedded/qkbd_qws.cpp8
-rw-r--r--src/gui/embedded/qkbddriverfactory_qws.cpp28
-rw-r--r--src/gui/embedded/qkbdlinuxinput_qws.cpp14
-rw-r--r--src/gui/embedded/qkbdqnx_qws.cpp231
-rw-r--r--src/gui/embedded/qkbdqnx_qws.h76
-rw-r--r--src/gui/embedded/qkbdsl5000_qws.cpp365
-rw-r--r--src/gui/embedded/qkbdsl5000_qws.h92
-rw-r--r--src/gui/embedded/qkbdtty_qws.cpp18
-rw-r--r--src/gui/embedded/qkbdvfb_qws.cpp9
-rw-r--r--src/gui/embedded/qkbdvr41xx_qws.cpp185
-rw-r--r--src/gui/embedded/qkbdvr41xx_qws.h73
-rw-r--r--src/gui/embedded/qkbdyopy_qws.cpp209
-rw-r--r--src/gui/embedded/qkbdyopy_qws.h73
-rw-r--r--src/gui/embedded/qlock.cpp74
-rw-r--r--src/gui/embedded/qmousebus_qws.cpp238
-rw-r--r--src/gui/embedded/qmousebus_qws.h76
-rw-r--r--src/gui/embedded/qmousedriverfactory_qws.cpp42
-rw-r--r--src/gui/embedded/qmouselinuxinput_qws.cpp205
-rw-r--r--src/gui/embedded/qmouselinuxinput_qws.h78
-rw-r--r--src/gui/embedded/qmouselinuxtp_qws.cpp7
-rw-r--r--src/gui/embedded/qmousepc_qws.cpp41
-rw-r--r--src/gui/embedded/qmouseqnx_qws.cpp190
-rw-r--r--src/gui/embedded/qmouseqnx_qws.h79
-rw-r--r--src/gui/embedded/qmousevfb_qws.cpp9
-rw-r--r--src/gui/embedded/qmousevr41xx_qws.cpp250
-rw-r--r--src/gui/embedded/qmousevr41xx_qws.h80
-rw-r--r--src/gui/embedded/qmouseyopy_qws.cpp184
-rw-r--r--src/gui/embedded/qmouseyopy_qws.h80
-rw-r--r--src/gui/embedded/qscreendriverfactory_qws.cpp8
-rw-r--r--src/gui/embedded/qscreenlinuxfb_qws.cpp20
-rw-r--r--src/gui/embedded/qscreenproxy_qws.cpp8
-rw-r--r--src/gui/embedded/qscreenqnx_qws.cpp447
-rw-r--r--src/gui/embedded/qscreenqnx_qws.h82
-rw-r--r--src/gui/embedded/qsoundqss_qws.cpp9
-rw-r--r--src/gui/embedded/qtransportauth_qws.cpp7
-rw-r--r--src/gui/embedded/qtransportauth_qws.h2
-rw-r--r--src/gui/embedded/qunixsocket.cpp18
-rw-r--r--src/gui/embedded/qwindowsystem_qws.cpp37
-rw-r--r--src/gui/embedded/qwindowsystem_qws.h4
-rw-r--r--src/gui/embedded/qwsembedwidget.h2
-rw-r--r--src/gui/embedded/qwsmanager_qws.h2
-rw-r--r--src/gui/graphicsview/graphicsview.pri53
-rw-r--r--src/gui/graphicsview/qgraphicsgridlayout.h2
-rw-r--r--src/gui/graphicsview/qgraphicsitem.cpp1204
-rw-r--r--src/gui/graphicsview/qgraphicsitem.h140
-rw-r--r--src/gui/graphicsview/qgraphicsitem_p.h156
-rw-r--r--src/gui/graphicsview/qgraphicslayout.h2
-rw-r--r--src/gui/graphicsview/qgraphicslayoutitem.cpp4
-rw-r--r--src/gui/graphicsview/qgraphicslayoutitem.h2
-rw-r--r--src/gui/graphicsview/qgraphicslinearlayout.h2
-rw-r--r--src/gui/graphicsview/qgraphicsproxywidget.cpp36
-rw-r--r--src/gui/graphicsview/qgraphicsproxywidget_p.h2
-rw-r--r--src/gui/graphicsview/qgraphicsscene.cpp2205
-rw-r--r--src/gui/graphicsview/qgraphicsscene.h48
-rw-r--r--src/gui/graphicsview/qgraphicsscene_bsp.cpp56
-rw-r--r--src/gui/graphicsview/qgraphicsscene_bsp_p.h9
-rw-r--r--src/gui/graphicsview/qgraphicsscene_p.h140
-rw-r--r--src/gui/graphicsview/qgraphicsscenebsptreeindex.cpp784
-rw-r--r--src/gui/graphicsview/qgraphicsscenebsptreeindex_p.h208
-rw-r--r--src/gui/graphicsview/qgraphicssceneevent.cpp247
-rw-r--r--src/gui/graphicsview/qgraphicssceneevent.h61
-rw-r--r--src/gui/graphicsview/qgraphicssceneindex.cpp648
-rw-r--r--src/gui/graphicsview/qgraphicssceneindex_p.h182
-rw-r--r--src/gui/graphicsview/qgraphicsscenelinearindex.cpp95
-rw-r--r--src/gui/graphicsview/qgraphicsscenelinearindex_p.h109
-rw-r--r--src/gui/graphicsview/qgraphicstransform.cpp573
-rw-r--r--src/gui/graphicsview/qgraphicstransform.h169
-rw-r--r--src/gui/graphicsview/qgraphicstransform_p.h73
-rw-r--r--src/gui/graphicsview/qgraphicsview.cpp282
-rw-r--r--src/gui/graphicsview/qgraphicsview.h2
-rw-r--r--src/gui/graphicsview/qgraphicsview_p.h21
-rw-r--r--src/gui/graphicsview/qgraphicswidget.cpp58
-rw-r--r--src/gui/graphicsview/qgraphicswidget.h8
-rw-r--r--src/gui/graphicsview/qgraphicswidget_p.cpp34
-rw-r--r--src/gui/graphicsview/qgraphicswidget_p.h4
-rw-r--r--src/gui/image/image.pri6
-rw-r--r--src/gui/image/qbitmap.cpp3
-rw-r--r--src/gui/image/qimage.cpp48
-rw-r--r--src/gui/image/qimageiohandler.h2
-rw-r--r--src/gui/image/qimagepixmapcleanuphooks.cpp110
-rw-r--r--src/gui/image/qimagepixmapcleanuphooks_p.h89
-rw-r--r--src/gui/image/qmovie.h2
-rw-r--r--src/gui/image/qpaintengine_pic_p.h2
-rw-r--r--src/gui/image/qpicture.cpp2
-rw-r--r--src/gui/image/qpicture.h2
-rw-r--r--src/gui/image/qpixmap.cpp113
-rw-r--r--src/gui/image/qpixmap_mac.cpp100
-rw-r--r--src/gui/image/qpixmap_mac_p.h5
-rw-r--r--src/gui/image/qpixmap_s60.cpp8
-rw-r--r--src/gui/image/qpixmap_win.cpp12
-rw-r--r--src/gui/image/qpixmap_x11.cpp23
-rw-r--r--src/gui/image/qpixmap_x11_p.h12
-rw-r--r--src/gui/image/qpixmapcache.cpp75
-rw-r--r--src/gui/image/qpixmapcache.h2
-rw-r--r--src/gui/image/qpixmapdata_p.h1
-rw-r--r--src/gui/image/qpixmapfilter.cpp10
-rw-r--r--src/gui/image/qpixmapfilter_p.h8
-rw-r--r--src/gui/inputmethod/qcoefepinputcontext_p.h8
-rw-r--r--src/gui/inputmethod/qcoefepinputcontext_s60.cpp8
-rw-r--r--src/gui/inputmethod/qinputcontext.h2
-rw-r--r--src/gui/inputmethod/qinputcontextplugin.h2
-rw-r--r--src/gui/inputmethod/qmacinputcontext_p.h2
-rw-r--r--src/gui/inputmethod/qwininputcontext_win.cpp116
-rw-r--r--src/gui/inputmethod/qximinputcontext_x11.cpp1
-rw-r--r--src/gui/itemviews/qabstractitemview.cpp282
-rw-r--r--src/gui/itemviews/qabstractitemview.h3
-rw-r--r--src/gui/itemviews/qabstractitemview_p.h30
-rw-r--r--src/gui/itemviews/qabstractproxymodel.h2
-rw-r--r--src/gui/itemviews/qcolumnview.cpp82
-rw-r--r--src/gui/itemviews/qcolumnview.h10
-rw-r--r--src/gui/itemviews/qcolumnview_p.h9
-rw-r--r--src/gui/itemviews/qcolumnviewgrip_p.h2
-rw-r--r--src/gui/itemviews/qdatawidgetmapper.h2
-rw-r--r--src/gui/itemviews/qdirmodel.cpp5
-rw-r--r--src/gui/itemviews/qdirmodel.h2
-rw-r--r--src/gui/itemviews/qfileiconprovider.cpp61
-rw-r--r--src/gui/itemviews/qfileiconprovider.h2
-rw-r--r--src/gui/itemviews/qheaderview.cpp26
-rw-r--r--src/gui/itemviews/qheaderview.h5
-rw-r--r--src/gui/itemviews/qitemdelegate.cpp15
-rw-r--r--src/gui/itemviews/qitemdelegate.h2
-rw-r--r--src/gui/itemviews/qitemselectionmodel.cpp357
-rw-r--r--src/gui/itemviews/qitemselectionmodel.h2
-rw-r--r--src/gui/itemviews/qlistview.cpp155
-rw-r--r--src/gui/itemviews/qlistview.h2
-rw-r--r--src/gui/itemviews/qlistview_p.h24
-rw-r--r--src/gui/itemviews/qlistwidget.cpp25
-rw-r--r--src/gui/itemviews/qlistwidget.h2
-rw-r--r--src/gui/itemviews/qproxymodel.h2
-rw-r--r--src/gui/itemviews/qsortfilterproxymodel.cpp42
-rw-r--r--src/gui/itemviews/qsortfilterproxymodel.h2
-rw-r--r--src/gui/itemviews/qstandarditemmodel.h4
-rw-r--r--src/gui/itemviews/qstyleditemdelegate.cpp10
-rw-r--r--src/gui/itemviews/qstyleditemdelegate.h2
-rw-r--r--src/gui/itemviews/qtableview.cpp8
-rw-r--r--src/gui/itemviews/qtableview.h2
-rw-r--r--src/gui/itemviews/qtablewidget.cpp2
-rw-r--r--src/gui/itemviews/qtablewidget.h2
-rw-r--r--src/gui/itemviews/qtreeview.cpp210
-rw-r--r--src/gui/itemviews/qtreeview.h14
-rw-r--r--src/gui/itemviews/qtreeview_p.h38
-rw-r--r--src/gui/itemviews/qtreewidget.cpp8
-rw-r--r--src/gui/itemviews/qtreewidget.h2
-rw-r--r--src/gui/itemviews/qtreewidget_p.h2
-rw-r--r--src/gui/itemviews/qtreewidgetitemiterator.h2
-rw-r--r--src/gui/kernel/kernel.pri13
-rw-r--r--src/gui/kernel/qaction.cpp48
-rw-r--r--src/gui/kernel/qaction.h42
-rw-r--r--src/gui/kernel/qaction_p.h1
-rw-r--r--src/gui/kernel/qactiongroup.h2
-rw-r--r--src/gui/kernel/qapplication.cpp229
-rw-r--r--src/gui/kernel/qapplication.h11
-rw-r--r--src/gui/kernel/qapplication_mac.mm90
-rw-r--r--src/gui/kernel/qapplication_p.h99
-rw-r--r--src/gui/kernel/qapplication_qws.cpp25
-rw-r--r--src/gui/kernel/qapplication_s60.cpp8
-rw-r--r--src/gui/kernel/qapplication_win.cpp623
-rw-r--r--src/gui/kernel/qapplication_x11.cpp64
-rw-r--r--src/gui/kernel/qboxlayout.cpp6
-rw-r--r--src/gui/kernel/qboxlayout.h2
-rw-r--r--src/gui/kernel/qclipboard.h2
-rw-r--r--src/gui/kernel/qclipboard_mac.cpp14
-rw-r--r--src/gui/kernel/qclipboard_s60.cpp8
-rw-r--r--src/gui/kernel/qclipboard_win.cpp10
-rw-r--r--src/gui/kernel/qcocoapanel_mac.mm6
-rw-r--r--src/gui/kernel/qcocoaview_mac.mm39
-rw-r--r--src/gui/kernel/qcocoaview_mac_p.h1
-rw-r--r--src/gui/kernel/qcocoawindow_mac.mm6
-rw-r--r--src/gui/kernel/qcursor.cpp4
-rw-r--r--src/gui/kernel/qcursor_s60.cpp8
-rw-r--r--src/gui/kernel/qcursor_win.cpp48
-rw-r--r--src/gui/kernel/qdesktopwidget.h10
-rw-r--r--src/gui/kernel/qdesktopwidget_mac.mm64
-rw-r--r--src/gui/kernel/qdesktopwidget_mac_p.h3
-rw-r--r--src/gui/kernel/qdesktopwidget_s60.cpp8
-rw-r--r--src/gui/kernel/qdesktopwidget_win.cpp139
-rw-r--r--src/gui/kernel/qdesktopwidget_x11.cpp25
-rw-r--r--src/gui/kernel/qdirectionrecognizer.cpp182
-rw-r--r--src/gui/kernel/qdirectionrecognizer_p.h105
-rw-r--r--src/gui/kernel/qdirectionsimplificator_p.h172
-rw-r--r--src/gui/kernel/qdnd_mac.mm4
-rw-r--r--src/gui/kernel/qdnd_p.h2
-rw-r--r--src/gui/kernel/qdnd_s60.cpp8
-rw-r--r--src/gui/kernel/qdnd_win.cpp75
-rw-r--r--src/gui/kernel/qdnd_x11.cpp2
-rw-r--r--src/gui/kernel/qdrag.h2
-rw-r--r--src/gui/kernel/qevent.cpp300
-rw-r--r--src/gui/kernel/qevent.h35
-rw-r--r--src/gui/kernel/qevent_p.h26
-rw-r--r--src/gui/kernel/qeventdispatcher_glib_qws_p.h2
-rw-r--r--src/gui/kernel/qeventdispatcher_mac.mm22
-rw-r--r--src/gui/kernel/qeventdispatcher_mac_p.h2
-rw-r--r--src/gui/kernel/qeventdispatcher_qws_p.h2
-rw-r--r--src/gui/kernel/qeventdispatcher_s60.cpp8
-rw-r--r--src/gui/kernel/qeventdispatcher_s60_p.h8
-rw-r--r--src/gui/kernel/qeventdispatcher_x11_p.h2
-rw-r--r--src/gui/kernel/qformlayout.cpp6
-rw-r--r--src/gui/kernel/qformlayout.h2
-rw-r--r--src/gui/kernel/qgesture.cpp322
-rw-r--r--src/gui/kernel/qgesture.h104
-rw-r--r--src/gui/kernel/qgesture_p.h38
-rw-r--r--src/gui/kernel/qgesturemanager.cpp644
-rw-r--r--src/gui/kernel/qgesturemanager_p.h126
-rw-r--r--src/gui/kernel/qgesturerecognizer.cpp159
-rw-r--r--src/gui/kernel/qgesturerecognizer.h87
-rw-r--r--src/gui/kernel/qgesturerecognizer_p.h72
-rw-r--r--src/gui/kernel/qgesturestandardrecognizers.cpp306
-rw-r--r--src/gui/kernel/qgesturestandardrecognizers_p.h131
-rw-r--r--src/gui/kernel/qgridlayout.cpp21
-rw-r--r--src/gui/kernel/qgridlayout.h2
-rw-r--r--src/gui/kernel/qguieventdispatcher_glib_p.h2
-rw-r--r--src/gui/kernel/qguifunctions_wince.cpp24
-rw-r--r--src/gui/kernel/qguifunctions_wince.h8
-rw-r--r--src/gui/kernel/qguivariant.cpp161
-rw-r--r--src/gui/kernel/qkeymapper_mac.cpp4
-rw-r--r--src/gui/kernel/qkeymapper_p.h2
-rw-r--r--src/gui/kernel/qkeymapper_s60.cpp8
-rw-r--r--src/gui/kernel/qkeymapper_win.cpp130
-rw-r--r--src/gui/kernel/qlayout.cpp9
-rw-r--r--src/gui/kernel/qlayout.h2
-rw-r--r--src/gui/kernel/qmime_win.cpp148
-rw-r--r--src/gui/kernel/qmultitouch_mac.mm6
-rw-r--r--src/gui/kernel/qmultitouch_mac_p.h4
-rw-r--r--src/gui/kernel/qsessionmanager.h2
-rw-r--r--src/gui/kernel/qshortcut.h2
-rw-r--r--src/gui/kernel/qshortcutmap_p.h2
-rw-r--r--src/gui/kernel/qsound.h2
-rw-r--r--src/gui/kernel/qsound_s60.cpp6
-rw-r--r--src/gui/kernel/qsound_win.cpp40
-rw-r--r--src/gui/kernel/qstackedlayout.h2
-rw-r--r--src/gui/kernel/qstandardgestures.cpp291
-rw-r--r--src/gui/kernel/qstandardgestures.h85
-rw-r--r--src/gui/kernel/qstandardgestures_p.h90
-rw-r--r--src/gui/kernel/qt_cocoa_helpers_mac.mm137
-rw-r--r--src/gui/kernel/qt_cocoa_helpers_mac_p.h12
-rw-r--r--src/gui/kernel/qt_s60_p.h8
-rw-r--r--src/gui/kernel/qt_x11_p.h12
-rw-r--r--src/gui/kernel/qwhatsthis.cpp9
-rw-r--r--src/gui/kernel/qwidget.cpp231
-rw-r--r--src/gui/kernel/qwidget.h9
-rw-r--r--src/gui/kernel/qwidget_mac.mm138
-rw-r--r--src/gui/kernel/qwidget_p.h7
-rw-r--r--src/gui/kernel/qwidget_s60.cpp8
-rw-r--r--src/gui/kernel/qwidget_win.cpp160
-rw-r--r--src/gui/kernel/qwidget_wince.cpp46
-rw-r--r--src/gui/kernel/qwidgetaction.h2
-rw-r--r--src/gui/kernel/qx11embed_x11.cpp9
-rw-r--r--src/gui/kernel/qx11embed_x11.h4
-rw-r--r--src/gui/math3d/qgenericmatrix.h4
-rw-r--r--src/gui/math3d/qmatrix4x4.cpp58
-rw-r--r--src/gui/math3d/qmatrix4x4.h9
-rw-r--r--src/gui/math3d/qquaternion.cpp53
-rw-r--r--src/gui/math3d/qquaternion.h9
-rw-r--r--src/gui/math3d/qvector2d.cpp46
-rw-r--r--src/gui/math3d/qvector2d.h9
-rw-r--r--src/gui/math3d/qvector3d.cpp55
-rw-r--r--src/gui/math3d/qvector3d.h9
-rw-r--r--src/gui/math3d/qvector4d.cpp57
-rw-r--r--src/gui/math3d/qvector4d.h9
-rw-r--r--src/gui/painting/painting.pri8
-rw-r--r--src/gui/painting/qbackingstore.cpp3
-rw-r--r--src/gui/painting/qblendfunctions.cpp8
-rw-r--r--src/gui/painting/qblendfunctions_armv6_rvct.s4
-rw-r--r--src/gui/painting/qbrush.h9
-rw-r--r--src/gui/painting/qcolormap_s60.cpp4
-rw-r--r--src/gui/painting/qdrawhelper.cpp72
-rw-r--r--src/gui/painting/qdrawhelper_armv6_p.h4
-rw-r--r--src/gui/painting/qdrawhelper_armv6_rvct.inc4
-rw-r--r--src/gui/painting/qdrawhelper_armv6_rvct.s4
-rw-r--r--src/gui/painting/qdrawutil.cpp3
-rw-r--r--src/gui/painting/qdrawutil.h7
-rw-r--r--src/gui/painting/qgrayraster.c4
-rw-r--r--src/gui/painting/qmatrix.cpp8
-rw-r--r--src/gui/painting/qoutlinemapper.cpp30
-rw-r--r--src/gui/painting/qpaintdevice_s60.cpp8
-rw-r--r--src/gui/painting/qpaintengine.h2
-rw-r--r--src/gui/painting/qpaintengine_alpha_p.h2
-rw-r--r--src/gui/painting/qpaintengine_mac_p.h107
-rw-r--r--src/gui/painting/qpaintengine_preview_p.h2
-rw-r--r--src/gui/painting/qpaintengine_raster.cpp229
-rw-r--r--src/gui/painting/qpaintengine_raster_p.h4
-rw-r--r--src/gui/painting/qpaintengine_x11_p.h2
-rw-r--r--src/gui/painting/qpaintengineex.cpp144
-rw-r--r--src/gui/painting/qpaintengineex_p.h4
-rw-r--r--src/gui/painting/qpainter.cpp104
-rw-r--r--src/gui/painting/qpainter.h2
-rw-r--r--src/gui/painting/qpainterpath.cpp4
-rw-r--r--src/gui/painting/qpainterpath.h2
-rw-r--r--src/gui/painting/qpdf.cpp31
-rw-r--r--src/gui/painting/qpdf_p.h2
-rw-r--r--src/gui/painting/qprintengine_mac_p.h2
-rw-r--r--src/gui/painting/qprintengine_pdf.cpp2
-rw-r--r--src/gui/painting/qprintengine_pdf_p.h2
-rw-r--r--src/gui/painting/qprintengine_ps_p.h2
-rw-r--r--src/gui/painting/qprintengine_qws_p.h2
-rw-r--r--src/gui/painting/qprintengine_win.cpp646
-rw-r--r--src/gui/painting/qprintengine_win_p.h18
-rw-r--r--src/gui/painting/qprinter.cpp7
-rw-r--r--src/gui/painting/qprinter.h2
-rw-r--r--src/gui/painting/qprinterinfo.h2
-rw-r--r--src/gui/painting/qprinterinfo_win.cpp100
-rw-r--r--src/gui/painting/qregion.cpp32
-rw-r--r--src/gui/painting/qregion.h5
-rw-r--r--src/gui/painting/qregion_mac.cpp37
-rw-r--r--src/gui/painting/qregion_s60.cpp8
-rw-r--r--src/gui/painting/qregion_win.cpp514
-rw-r--r--src/gui/painting/qregion_wince.cpp119
-rw-r--r--src/gui/painting/qstroker.cpp5
-rw-r--r--src/gui/painting/qtextureglyphcache_p.h4
-rw-r--r--src/gui/painting/qtransform.cpp88
-rw-r--r--src/gui/painting/qtransform.h4
-rw-r--r--src/gui/painting/qvectorpath_p.h2
-rw-r--r--src/gui/painting/qwindowsurface_qws.cpp3
-rw-r--r--src/gui/painting/qwindowsurface_raster.cpp26
-rw-r--r--src/gui/painting/qwindowsurface_raster_p.h15
-rw-r--r--src/gui/painting/qwindowsurface_s60.cpp8
-rw-r--r--src/gui/painting/qwindowsurface_s60_p.h8
-rw-r--r--src/gui/painting/qwindowsurface_x11.cpp4
-rw-r--r--src/gui/statemachine/qbasickeyeventtransition_p.h2
-rw-r--r--src/gui/statemachine/qbasicmouseeventtransition_p.h2
-rw-r--r--src/gui/statemachine/qkeyeventtransition.cpp13
-rw-r--r--src/gui/statemachine/qkeyeventtransition.h5
-rw-r--r--src/gui/statemachine/qmouseeventtransition.cpp15
-rw-r--r--src/gui/statemachine/qmouseeventtransition.h6
-rw-r--r--src/gui/styles/gtksymbols.cpp65
-rw-r--r--src/gui/styles/gtksymbols_p.h2
-rw-r--r--src/gui/styles/qcleanlooksstyle.cpp13
-rw-r--r--src/gui/styles/qcleanlooksstyle.h2
-rw-r--r--src/gui/styles/qcommonstyle.cpp169
-rw-r--r--src/gui/styles/qcommonstyle.h2
-rw-r--r--src/gui/styles/qcommonstyle_p.h1
-rw-r--r--src/gui/styles/qgtkstyle.cpp36
-rw-r--r--src/gui/styles/qgtkstyle.h2
-rw-r--r--src/gui/styles/qmacstyle_mac.mm144
-rw-r--r--src/gui/styles/qmotifstyle.h2
-rw-r--r--src/gui/styles/qplastiquestyle.cpp31
-rw-r--r--src/gui/styles/qplastiquestyle.h2
-rw-r--r--src/gui/styles/qproxystyle.h2
-rw-r--r--src/gui/styles/qs60style.cpp14
-rw-r--r--src/gui/styles/qs60style.h10
-rw-r--r--src/gui/styles/qs60style_p.h8
-rw-r--r--src/gui/styles/qs60style_s60.cpp8
-rw-r--r--src/gui/styles/qs60style_simulated.cpp8
-rw-r--r--src/gui/styles/qstyle.cpp35
-rw-r--r--src/gui/styles/qstyle.h4
-rw-r--r--src/gui/styles/qstyle_p.h3
-rw-r--r--src/gui/styles/qstylehelper.cpp7
-rw-r--r--src/gui/styles/qstyleoption.cpp39
-rw-r--r--src/gui/styles/qstylesheetstyle.cpp2
-rw-r--r--src/gui/styles/qstylesheetstyle_p.h2
-rw-r--r--src/gui/styles/qwindowsmobilestyle.h2
-rw-r--r--src/gui/styles/qwindowsstyle.cpp122
-rw-r--r--src/gui/styles/qwindowsstyle.h2
-rw-r--r--src/gui/styles/qwindowsvistastyle.cpp156
-rw-r--r--src/gui/styles/qwindowsvistastyle.h2
-rw-r--r--src/gui/styles/qwindowsxpstyle.cpp50
-rw-r--r--src/gui/styles/qwindowsxpstyle.h2
-rw-r--r--src/gui/text/qabstractfontengine_qws.h4
-rw-r--r--src/gui/text/qabstracttextdocumentlayout.cpp1
-rw-r--r--src/gui/text/qabstracttextdocumentlayout.h2
-rw-r--r--src/gui/text/qcssparser.cpp10
-rw-r--r--src/gui/text/qcssparser_p.h7
-rw-r--r--src/gui/text/qfont_s60.cpp8
-rw-r--r--src/gui/text/qfont_win.cpp8
-rw-r--r--src/gui/text/qfontdatabase_qws.cpp11
-rw-r--r--src/gui/text/qfontdatabase_s60.cpp14
-rw-r--r--src/gui/text/qfontdatabase_win.cpp261
-rw-r--r--src/gui/text/qfontengine_ft.cpp4
-rw-r--r--src/gui/text/qfontengine_mac.mm9
-rw-r--r--src/gui/text/qfontengine_qpf.cpp59
-rw-r--r--src/gui/text/qfontengine_qws.cpp7
-rw-r--r--src/gui/text/qfontengine_s60.cpp8
-rw-r--r--src/gui/text/qfontengine_s60_p.h8
-rw-r--r--src/gui/text/qfontengine_win.cpp450
-rw-r--r--src/gui/text/qfontengine_win_p.h18
-rw-r--r--src/gui/text/qfontmetrics.cpp12
-rw-r--r--src/gui/text/qsyntaxhighlighter.cpp42
-rw-r--r--src/gui/text/qsyntaxhighlighter.h3
-rw-r--r--src/gui/text/qtextcontrol_p.h4
-rw-r--r--src/gui/text/qtextcursor.cpp2
-rw-r--r--src/gui/text/qtextdocument.cpp7
-rw-r--r--src/gui/text/qtextdocument.h2
-rw-r--r--src/gui/text/qtextdocument_p.cpp45
-rw-r--r--src/gui/text/qtextdocumentfragment.cpp4
-rw-r--r--src/gui/text/qtextdocumentlayout.cpp6
-rw-r--r--src/gui/text/qtextdocumentlayout_p.h2
-rw-r--r--src/gui/text/qtextformat.cpp103
-rw-r--r--src/gui/text/qtextformat.h2
-rw-r--r--src/gui/text/qtexthtmlparser.cpp6
-rw-r--r--src/gui/text/qtextlist.cpp51
-rw-r--r--src/gui/text/qtextlist.h2
-rw-r--r--src/gui/text/qtextobject.h6
-rw-r--r--src/gui/text/qtextodfwriter.cpp8
-rw-r--r--src/gui/text/qtexttable.h2
-rw-r--r--src/gui/text/qzip.cpp20
-rw-r--r--src/gui/util/qcompleter.cpp44
-rw-r--r--src/gui/util/qcompleter.h6
-rw-r--r--src/gui/util/qcompleter_p.h3
-rw-r--r--src/gui/util/qdesktopservices.cpp5
-rw-r--r--src/gui/util/qdesktopservices_s60.cpp91
-rw-r--r--src/gui/util/qdesktopservices_win.cpp34
-rw-r--r--src/gui/util/qdesktopservices_x11.cpp4
-rw-r--r--src/gui/util/qsystemtrayicon.h2
-rw-r--r--src/gui/util/qsystemtrayicon_win.cpp349
-rw-r--r--src/gui/util/qundogroup.h2
-rw-r--r--src/gui/util/qundostack.h2
-rw-r--r--src/gui/util/qundoview.h2
-rw-r--r--src/gui/widgets/qabstractbutton.h2
-rw-r--r--src/gui/widgets/qabstractscrollarea.cpp37
-rw-r--r--src/gui/widgets/qabstractscrollarea.h2
-rw-r--r--src/gui/widgets/qabstractscrollarea_p.h9
-rw-r--r--src/gui/widgets/qabstractslider.h2
-rw-r--r--src/gui/widgets/qabstractspinbox.cpp13
-rw-r--r--src/gui/widgets/qabstractspinbox.h2
-rw-r--r--src/gui/widgets/qactiontokeyeventmapper.cpp4
-rw-r--r--src/gui/widgets/qactiontokeyeventmapper_p.h4
-rw-r--r--src/gui/widgets/qbuttongroup.h2
-rw-r--r--src/gui/widgets/qcalendarwidget.h2
-rw-r--r--src/gui/widgets/qcheckbox.h2
-rw-r--r--src/gui/widgets/qcocoamenu_mac.mm4
-rw-r--r--src/gui/widgets/qcocoatoolbardelegate_mac.mm10
-rw-r--r--src/gui/widgets/qcombobox.cpp6
-rw-r--r--src/gui/widgets/qcombobox.h2
-rw-r--r--src/gui/widgets/qcommandlinkbutton.h2
-rw-r--r--src/gui/widgets/qdatetimeedit.cpp14
-rw-r--r--src/gui/widgets/qdatetimeedit.h2
-rw-r--r--src/gui/widgets/qdial.h2
-rw-r--r--src/gui/widgets/qdialogbuttonbox.h2
-rw-r--r--src/gui/widgets/qdockarealayout.cpp14
-rw-r--r--src/gui/widgets/qdockwidget.h2
-rw-r--r--src/gui/widgets/qeffects.cpp96
-rw-r--r--src/gui/widgets/qfocusframe.h2
-rw-r--r--src/gui/widgets/qfontcombobox.cpp2
-rw-r--r--src/gui/widgets/qfontcombobox.h2
-rw-r--r--src/gui/widgets/qframe.cpp2
-rw-r--r--src/gui/widgets/qframe.h2
-rw-r--r--src/gui/widgets/qgroupbox.cpp11
-rw-r--r--src/gui/widgets/qgroupbox.h2
-rw-r--r--src/gui/widgets/qlabel.h2
-rw-r--r--src/gui/widgets/qlcdnumber.h2
-rw-r--r--src/gui/widgets/qlinecontrol.cpp1750
-rw-r--r--src/gui/widgets/qlinecontrol_p.h741
-rw-r--r--src/gui/widgets/qlineedit.cpp1905
-rw-r--r--src/gui/widgets/qlineedit.h4
-rw-r--r--src/gui/widgets/qlineedit_p.cpp253
-rw-r--r--src/gui/widgets/qlineedit_p.h176
-rw-r--r--src/gui/widgets/qmaccocoaviewcontainer_mac.h2
-rw-r--r--src/gui/widgets/qmacnativewidget_mac.h2
-rw-r--r--src/gui/widgets/qmainwindow.cpp13
-rw-r--r--src/gui/widgets/qmainwindow.h2
-rw-r--r--src/gui/widgets/qmainwindowlayout.cpp276
-rw-r--r--src/gui/widgets/qmainwindowlayout_mac.mm31
-rw-r--r--src/gui/widgets/qmainwindowlayout_p.h25
-rw-r--r--src/gui/widgets/qmdiarea.h2
-rw-r--r--src/gui/widgets/qmdisubwindow.cpp37
-rw-r--r--src/gui/widgets/qmdisubwindow.h2
-rw-r--r--src/gui/widgets/qmenu.cpp130
-rw-r--r--src/gui/widgets/qmenu.h2
-rw-r--r--src/gui/widgets/qmenu_mac.mm89
-rw-r--r--src/gui/widgets/qmenu_p.h14
-rw-r--r--src/gui/widgets/qmenu_symbian.cpp6
-rw-r--r--src/gui/widgets/qmenubar.cpp30
-rw-r--r--src/gui/widgets/qmenubar.h2
-rw-r--r--src/gui/widgets/qplaintextedit.cpp37
-rw-r--r--src/gui/widgets/qplaintextedit.h5
-rw-r--r--src/gui/widgets/qplaintextedit_p.h5
-rw-r--r--src/gui/widgets/qprintpreviewwidget.h2
-rw-r--r--src/gui/widgets/qprogressbar.cpp17
-rw-r--r--src/gui/widgets/qprogressbar.h2
-rw-r--r--src/gui/widgets/qpushbutton.h2
-rw-r--r--src/gui/widgets/qradiobutton.h2
-rw-r--r--src/gui/widgets/qrubberband.h2
-rw-r--r--src/gui/widgets/qscrollarea.h2
-rw-r--r--src/gui/widgets/qscrollbar.h2
-rw-r--r--src/gui/widgets/qsizegrip.cpp3
-rw-r--r--src/gui/widgets/qsizegrip.h2
-rw-r--r--src/gui/widgets/qslider.h2
-rw-r--r--src/gui/widgets/qspinbox.cpp11
-rw-r--r--src/gui/widgets/qspinbox.h4
-rw-r--r--src/gui/widgets/qsplashscreen.h2
-rw-r--r--src/gui/widgets/qsplitter.h4
-rw-r--r--src/gui/widgets/qstackedwidget.h2
-rw-r--r--src/gui/widgets/qstatusbar.h2
-rw-r--r--src/gui/widgets/qtabbar.cpp76
-rw-r--r--src/gui/widgets/qtabbar.h4
-rw-r--r--src/gui/widgets/qtabbar_p.h68
-rw-r--r--src/gui/widgets/qtabwidget.h2
-rw-r--r--src/gui/widgets/qtextbrowser.h2
-rw-r--r--src/gui/widgets/qtextedit.cpp26
-rw-r--r--src/gui/widgets/qtextedit.h3
-rw-r--r--src/gui/widgets/qtextedit_p.h5
-rw-r--r--src/gui/widgets/qtoolbar.cpp71
-rw-r--r--src/gui/widgets/qtoolbar.h3
-rw-r--r--src/gui/widgets/qtoolbar_p.h8
-rw-r--r--src/gui/widgets/qtoolbararealayout.cpp18
-rw-r--r--src/gui/widgets/qtoolbox.h2
-rw-r--r--src/gui/widgets/qtoolbutton.cpp15
-rw-r--r--src/gui/widgets/qtoolbutton.h2
-rw-r--r--src/gui/widgets/qvalidator.h8
-rw-r--r--src/gui/widgets/qwidgetanimator.cpp164
-rw-r--r--src/gui/widgets/qwidgetanimator_p.h34
-rw-r--r--src/gui/widgets/qworkspace.cpp34
-rw-r--r--src/gui/widgets/qworkspace.h2
-rw-r--r--src/gui/widgets/widgets.pri3
-rw-r--r--src/multimedia/audio/audio.pri56
-rw-r--r--src/multimedia/audio/qaudio.cpp102
-rw-r--r--src/multimedia/audio/qaudio.h71
-rw-r--r--src/multimedia/audio/qaudio_mac.cpp142
-rw-r--r--src/multimedia/audio/qaudio_mac_p.h144
-rw-r--r--src/multimedia/audio/qaudiodevicefactory.cpp250
-rw-r--r--src/multimedia/audio/qaudiodevicefactory_p.h100
-rw-r--r--src/multimedia/audio/qaudiodeviceid.cpp168
-rw-r--r--src/multimedia/audio/qaudiodeviceid.h94
-rw-r--r--src/multimedia/audio/qaudiodeviceid_p.h82
-rw-r--r--src/multimedia/audio/qaudiodeviceinfo.cpp270
-rw-r--r--src/multimedia/audio/qaudiodeviceinfo.h102
-rw-r--r--src/multimedia/audio/qaudiodeviceinfo_alsa_p.cpp394
-rw-r--r--src/multimedia/audio/qaudiodeviceinfo_alsa_p.h113
-rw-r--r--src/multimedia/audio/qaudiodeviceinfo_mac_p.cpp357
-rw-r--r--src/multimedia/audio/qaudiodeviceinfo_mac_p.h97
-rw-r--r--src/multimedia/audio/qaudiodeviceinfo_win32_p.cpp378
-rw-r--r--src/multimedia/audio/qaudiodeviceinfo_win32_p.h108
-rw-r--r--src/multimedia/audio/qaudioengine.cpp343
-rw-r--r--src/multimedia/audio/qaudioengine.h131
-rw-r--r--src/multimedia/audio/qaudioengineplugin.cpp54
-rw-r--r--src/multimedia/audio/qaudioengineplugin.h93
-rw-r--r--src/multimedia/audio/qaudioformat.cpp335
-rw-r--r--src/multimedia/audio/qaudioformat.h103
-rw-r--r--src/multimedia/audio/qaudioinput.cpp400
-rw-r--r--src/multimedia/audio/qaudioinput.h108
-rw-r--r--src/multimedia/audio/qaudioinput_alsa_p.cpp688
-rw-r--r--src/multimedia/audio/qaudioinput_alsa_p.h151
-rw-r--r--src/multimedia/audio/qaudioinput_mac_p.cpp930
-rw-r--r--src/multimedia/audio/qaudioinput_mac_p.h171
-rw-r--r--src/multimedia/audio/qaudioinput_win32_p.cpp540
-rw-r--r--src/multimedia/audio/qaudioinput_win32_p.h154
-rw-r--r--src/multimedia/audio/qaudiooutput.cpp403
-rw-r--r--src/multimedia/audio/qaudiooutput.h109
-rw-r--r--src/multimedia/audio/qaudiooutput_alsa_p.cpp706
-rw-r--r--src/multimedia/audio/qaudiooutput_alsa_p.h159
-rw-r--r--src/multimedia/audio/qaudiooutput_mac_p.cpp700
-rw-r--r--src/multimedia/audio/qaudiooutput_mac_p.h171
-rw-r--r--src/multimedia/audio/qaudiooutput_win32_p.cpp502
-rw-r--r--src/multimedia/audio/qaudiooutput_win32_p.h154
-rw-r--r--src/multimedia/multimedia.pro11
-rw-r--r--src/network/access/access.pri5
-rw-r--r--src/network/access/qabstractnetworkcache.cpp4
-rw-r--r--src/network/access/qabstractnetworkcache.h2
-rw-r--r--src/network/access/qftp.cpp9
-rw-r--r--src/network/access/qftp.h2
-rw-r--r--src/network/access/qhttp.cpp7
-rw-r--r--src/network/access/qhttp.h8
-rw-r--r--src/network/access/qhttpnetworkconnection.cpp381
-rw-r--r--src/network/access/qhttpnetworkconnection_p.h81
-rw-r--r--src/network/access/qhttpnetworkconnectionchannel.cpp278
-rw-r--r--src/network/access/qhttpnetworkconnectionchannel_p.h154
-rw-r--r--src/network/access/qhttpnetworkreply.cpp117
-rw-r--r--src/network/access/qhttpnetworkreply_p.h22
-rw-r--r--src/network/access/qnetworkaccessbackend.cpp10
-rw-r--r--src/network/access/qnetworkaccessbackend_p.h3
-rw-r--r--src/network/access/qnetworkaccesscachebackend.cpp14
-rw-r--r--src/network/access/qnetworkaccessdatabackend.cpp6
-rw-r--r--src/network/access/qnetworkaccessdebugpipebackend.cpp8
-rw-r--r--src/network/access/qnetworkaccessfilebackend.cpp6
-rw-r--r--src/network/access/qnetworkaccessftpbackend.cpp6
-rw-r--r--src/network/access/qnetworkaccesshttpbackend.cpp37
-rw-r--r--src/network/access/qnetworkaccesshttpbackend_p.h4
-rw-r--r--src/network/access/qnetworkaccessmanager.cpp72
-rw-r--r--src/network/access/qnetworkaccessmanager.h2
-rw-r--r--src/network/access/qnetworkcookie.cpp255
-rw-r--r--src/network/access/qnetworkcookie.h21
-rw-r--r--src/network/access/qnetworkcookiejar.cpp296
-rw-r--r--src/network/access/qnetworkcookiejar.h81
-rw-r--r--src/network/access/qnetworkcookiejar_p.h71
-rw-r--r--src/network/access/qnetworkdiskcache.h2
-rw-r--r--src/network/access/qnetworkreply.cpp68
-rw-r--r--src/network/access/qnetworkreply.h5
-rw-r--r--src/network/access/qnetworkreply_p.h2
-rw-r--r--src/network/access/qnetworkreplyimpl.cpp68
-rw-r--r--src/network/access/qnetworkreplyimpl_p.h10
-rw-r--r--src/network/access/qnetworkrequest.cpp4
-rw-r--r--src/network/kernel/qauthenticator.cpp4
-rw-r--r--src/network/kernel/qhostinfo_unix.cpp16
-rw-r--r--src/network/kernel/qnetworkinterface_symbian.cpp6
-rw-r--r--src/network/kernel/qnetworkinterface_unix.cpp19
-rw-r--r--src/network/kernel/qnetworkinterface_win.cpp15
-rw-r--r--src/network/kernel/qnetworkinterface_win_p.h2
-rw-r--r--src/network/kernel/qnetworkproxy.cpp11
-rw-r--r--src/network/kernel/qnetworkproxy_win.cpp17
-rw-r--r--src/network/socket/qabstractsocket.cpp68
-rw-r--r--src/network/socket/qabstractsocket.h10
-rw-r--r--src/network/socket/qabstractsocketengine_p.h6
-rw-r--r--src/network/socket/qhttpsocketengine.cpp22
-rw-r--r--src/network/socket/qhttpsocketengine_p.h2
-rw-r--r--src/network/socket/qlocalserver.cpp2
-rw-r--r--src/network/socket/qlocalserver.h2
-rw-r--r--src/network/socket/qlocalserver_unix.cpp13
-rw-r--r--src/network/socket/qlocalserver_win.cpp19
-rw-r--r--src/network/socket/qlocalsocket.cpp29
-rw-r--r--src/network/socket/qlocalsocket.h3
-rw-r--r--src/network/socket/qlocalsocket_p.h53
-rw-r--r--src/network/socket/qlocalsocket_unix.cpp9
-rw-r--r--src/network/socket/qlocalsocket_win.cpp285
-rw-r--r--src/network/socket/qnativesocketengine_p.h166
-rw-r--r--src/network/socket/qnativesocketengine_unix.cpp233
-rw-r--r--src/network/socket/qnativesocketengine_win.cpp153
-rw-r--r--src/network/socket/qnet_unix_p.h204
-rw-r--r--src/network/socket/qsocks5socketengine.cpp20
-rw-r--r--src/network/socket/qsocks5socketengine_p.h2
-rw-r--r--src/network/socket/qtcpserver.h2
-rw-r--r--src/network/socket/qtcpsocket.cpp8
-rw-r--r--src/network/socket/qtcpsocket.h3
-rw-r--r--src/network/socket/qudpsocket.cpp3
-rw-r--r--src/network/socket/qudpsocket.h2
-rw-r--r--src/network/socket/socket.pri3
-rw-r--r--src/network/ssl/qsslsocket.cpp36
-rw-r--r--src/network/ssl/qsslsocket.h3
-rw-r--r--src/network/ssl/qsslsocket_openssl.cpp22
-rw-r--r--src/network/ssl/qsslsocket_openssl_p.h2
-rw-r--r--src/network/ssl/qsslsocket_p.h3
-rw-r--r--src/opengl/gl2paintengineex/qglengineshadermanager.cpp62
-rw-r--r--src/opengl/gl2paintengineex/qglengineshadermanager_p.h29
-rw-r--r--src/opengl/gl2paintengineex/qglgradientcache.cpp29
-rw-r--r--src/opengl/gl2paintengineex/qglgradientcache_p.h27
-rw-r--r--src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp257
-rw-r--r--src/opengl/gl2paintengineex/qpaintengineex_opengl2_p.h30
-rw-r--r--src/opengl/opengl.pro1
-rw-r--r--src/opengl/qgl.cpp505
-rw-r--r--src/opengl/qgl.h5
-rw-r--r--src/opengl/qgl_p.h173
-rw-r--r--src/opengl/qgl_win.cpp16
-rw-r--r--src/opengl/qgl_x11.cpp213
-rw-r--r--src/opengl/qgl_x11egl.cpp199
-rw-r--r--src/opengl/qglcolormap.cpp24
-rw-r--r--src/opengl/qglextensions_p.h2
-rw-r--r--src/opengl/qglframebufferobject.cpp32
-rw-r--r--src/opengl/qglframebufferobject.h2
-rw-r--r--src/opengl/qglpaintdevice_qws_p.h2
-rw-r--r--src/opengl/qglpixelbuffer.cpp2
-rw-r--r--src/opengl/qglpixelbuffer.h2
-rw-r--r--src/opengl/qglpixelbuffer_x11.cpp2
-rw-r--r--src/opengl/qglpixmapfilter.cpp2
-rw-r--r--src/opengl/qglscreen_qws.h2
-rw-r--r--src/opengl/qglwindowsurface_qws_p.h2
-rw-r--r--src/opengl/qpaintengine_opengl.cpp2
-rw-r--r--src/opengl/qpaintengine_opengl_p.h2
-rw-r--r--src/opengl/qpixmapdata_gl.cpp49
-rw-r--r--src/opengl/qpixmapdata_gl_p.h6
-rw-r--r--src/opengl/qwindowsurface_gl.cpp2
-rw-r--r--src/openvg/qpaintengine_vg.cpp192
-rw-r--r--src/openvg/qpaintengine_vg_p.h1
-rw-r--r--src/plugins/accessible/compat/q3complexwidgets.cpp2
-rw-r--r--src/plugins/audio/audio.pro3
-rw-r--r--src/plugins/gfxdrivers/directfb/qdirectfbkeyboard.cpp31
-rw-r--r--src/plugins/gfxdrivers/directfb/qdirectfbmouse.cpp18
-rw-r--r--src/plugins/gfxdrivers/directfb/qdirectfbpaintdevice.cpp37
-rw-r--r--src/plugins/gfxdrivers/directfb/qdirectfbpaintdevice.h27
-rw-r--r--src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.cpp1013
-rw-r--r--src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.h57
-rw-r--r--src/plugins/gfxdrivers/directfb/qdirectfbpixmap.cpp20
-rw-r--r--src/plugins/gfxdrivers/directfb/qdirectfbpixmap.h5
-rw-r--r--src/plugins/gfxdrivers/directfb/qdirectfbscreen.cpp382
-rw-r--r--src/plugins/gfxdrivers/directfb/qdirectfbscreen.h34
-rw-r--r--src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp307
-rw-r--r--src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.h17
-rw-r--r--src/plugins/graphicssystems/openvg/openvg.pro8
-rw-r--r--src/plugins/graphicssystems/shivavg/shivavg.pro4
-rw-r--r--src/plugins/imageformats/ico/qicohandler.cpp12
-rw-r--r--src/plugins/imageformats/mng/qmnghandler.h2
-rw-r--r--src/plugins/kbddrivers/kbddrivers.pro3
-rw-r--r--src/plugins/kbddrivers/sl5000/main.cpp77
-rw-r--r--src/plugins/kbddrivers/sl5000/sl5000.pro16
-rw-r--r--src/plugins/kbddrivers/vr41xx/main.cpp77
-rw-r--r--src/plugins/kbddrivers/vr41xx/vr41xx.pro14
-rw-r--r--src/plugins/kbddrivers/yopy/main.cpp77
-rw-r--r--src/plugins/kbddrivers/yopy/yopy.pro14
-rw-r--r--src/plugins/mousedrivers/bus/bus.pro14
-rw-r--r--src/plugins/mousedrivers/bus/main.cpp76
-rw-r--r--src/plugins/mousedrivers/linuxis/linuxis.pro10
-rw-r--r--src/plugins/mousedrivers/linuxis/linuxismousedriverplugin.cpp83
-rw-r--r--src/plugins/mousedrivers/linuxis/linuxismousedriverplugin.h58
-rw-r--r--src/plugins/mousedrivers/linuxis/linuxismousehandler.cpp180
-rw-r--r--src/plugins/mousedrivers/linuxis/linuxismousehandler.h72
-rw-r--r--src/plugins/mousedrivers/mousedrivers.pro5
-rw-r--r--src/plugins/mousedrivers/vr41xx/main.cpp76
-rw-r--r--src/plugins/mousedrivers/vr41xx/vr41xx.pro14
-rw-r--r--src/plugins/mousedrivers/yopy/main.cpp76
-rw-r--r--src/plugins/mousedrivers/yopy/yopy.pro14
-rw-r--r--src/plugins/plugins.pro1
-rw-r--r--src/plugins/s60/src/qdesktopservices_3_1.cpp6
-rw-r--r--src/plugins/s60/src/qdesktopservices_3_2.cpp6
-rw-r--r--src/plugins/s60/src/qlocale_3_1.cpp6
-rw-r--r--src/plugins/s60/src/qlocale_3_2.cpp6
-rw-r--r--src/qt3support/canvas/q3canvas.cpp2
-rw-r--r--src/qt3support/dialogs/q3filedialog.cpp206
-rw-r--r--src/qt3support/dialogs/q3filedialog_win.cpp430
-rw-r--r--src/qt3support/dialogs/q3tabdialog.cpp2
-rw-r--r--src/qt3support/itemviews/q3table.cpp2
-rw-r--r--src/qt3support/network/q3dns.cpp70
-rw-r--r--src/qt3support/network/q3http.cpp4
-rw-r--r--src/qt3support/network/q3socketdevice_win.cpp7
-rw-r--r--src/qt3support/other/q3dragobject.cpp7
-rw-r--r--src/qt3support/other/q3dragobject.h8
-rw-r--r--src/qt3support/other/q3process_win.cpp152
-rw-r--r--src/qt3support/painting/q3paintengine_svg_p.h2
-rw-r--r--src/qt3support/sql/q3datatable.cpp2
-rw-r--r--src/qt3support/sql/q3sqlcursor.cpp2
-rw-r--r--src/qt3support/tools/q3cstring.cpp32
-rw-r--r--src/qt3support/widgets/q3datetimeedit.cpp75
-rw-r--r--src/qt3support/widgets/q3dockarea.cpp29
-rw-r--r--src/qt3support/widgets/q3mainwindow.h2
-rw-r--r--src/qt3support/widgets/q3scrollview.cpp4
-rw-r--r--src/qt3support/widgets/q3titlebar.cpp33
-rw-r--r--src/qt3support/widgets/q3titlebar_p.h2
-rw-r--r--src/s60main/qts60main.cpp10
-rw-r--r--src/s60main/qts60main_mcrt0.cpp7
-rw-r--r--src/s60main/qts60mainapplication.cpp12
-rw-r--r--src/s60main/qts60mainapplication.h93
-rw-r--r--src/s60main/qts60mainapplication_p.h104
-rw-r--r--src/s60main/qts60mainappui.cpp10
-rw-r--r--src/s60main/qts60mainappui.h135
-rw-r--r--src/s60main/qts60mainappui_p.h146
-rw-r--r--src/s60main/qts60maindocument.cpp12
-rw-r--r--src/s60main/qts60maindocument.h122
-rw-r--r--src/s60main/qts60maindocument_p.h133
-rw-r--r--src/s60main/s60main.pro6
-rw-r--r--src/s60main/s60main.rss8
-rw-r--r--src/script/qscriptable.h2
-rw-r--r--src/script/qscriptbuffer_p.h5
-rw-r--r--src/script/qscriptclass.h2
-rw-r--r--src/script/qscriptclassinfo_p.h4
-rw-r--r--src/script/qscriptclasspropertyiterator.h2
-rw-r--r--src/script/qscriptcontext.h2
-rw-r--r--src/script/qscriptcontextinfo.h2
-rw-r--r--src/script/qscriptecmadate.cpp10
-rw-r--r--src/script/qscriptengine.cpp2
-rw-r--r--src/script/qscriptengine.h4
-rw-r--r--src/script/qscriptengineagent.h2
-rw-r--r--src/script/qscriptextqobject.cpp2
-rw-r--r--src/script/qscriptgc_p.h4
-rw-r--r--src/script/qscriptmemberfwd_p.h4
-rw-r--r--src/script/qscriptstring.h2
-rw-r--r--src/script/qscriptsyntaxcheckresult_p.h4
-rw-r--r--src/script/qscriptvalue.cpp18
-rw-r--r--src/script/qscriptvalue.h2
-rw-r--r--src/script/qscriptvalueimplfwd_p.h4
-rw-r--r--src/script/qscriptvalueiterator.h2
-rw-r--r--src/scripttools/debugging/qscriptbreakpointdata_p.h2
-rw-r--r--src/scripttools/debugging/qscriptbreakpointsmodel_p.h2
-rw-r--r--src/scripttools/debugging/qscriptbreakpointswidget_p.h2
-rw-r--r--src/scripttools/debugging/qscriptbreakpointswidgetinterface_p.h2
-rw-r--r--src/scripttools/debugging/qscriptcompletiontask_p.h2
-rw-r--r--src/scripttools/debugging/qscriptcompletiontaskinterface_p.h2
-rw-r--r--src/scripttools/debugging/qscriptdebugger_p.h2
-rw-r--r--src/scripttools/debugging/qscriptdebuggeragent_p.h2
-rw-r--r--src/scripttools/debugging/qscriptdebuggerbackend_p.h2
-rw-r--r--src/scripttools/debugging/qscriptdebuggercodefinderwidget_p.h2
-rw-r--r--src/scripttools/debugging/qscriptdebuggercodefinderwidgetinterface_p.h2
-rw-r--r--src/scripttools/debugging/qscriptdebuggercodeview_p.h2
-rw-r--r--src/scripttools/debugging/qscriptdebuggercodeviewinterface_p.h2
-rw-r--r--src/scripttools/debugging/qscriptdebuggercodewidget_p.h2
-rw-r--r--src/scripttools/debugging/qscriptdebuggercodewidgetinterface_p.h2
-rw-r--r--src/scripttools/debugging/qscriptdebuggercommand_p.h2
-rw-r--r--src/scripttools/debugging/qscriptdebuggercommandexecutor_p.h2
-rw-r--r--src/scripttools/debugging/qscriptdebuggercommandschedulerjob_p.h2
-rw-r--r--src/scripttools/debugging/qscriptdebuggerconsole_p.h2
-rw-r--r--src/scripttools/debugging/qscriptdebuggerconsolecommand_p.h2
-rw-r--r--src/scripttools/debugging/qscriptdebuggerconsolecommandgroupdata_p.h2
-rw-r--r--src/scripttools/debugging/qscriptdebuggerconsolecommandjob_p.h2
-rw-r--r--src/scripttools/debugging/qscriptdebuggerconsolecommandmanager_p.h2
-rw-r--r--src/scripttools/debugging/qscriptdebuggerconsoleglobalobject_p.h2
-rw-r--r--src/scripttools/debugging/qscriptdebuggerconsolewidget_p.h2
-rw-r--r--src/scripttools/debugging/qscriptdebuggerconsolewidgetinterface_p.h2
-rw-r--r--src/scripttools/debugging/qscriptdebuggerevent_p.h2
-rw-r--r--src/scripttools/debugging/qscriptdebuggerfrontend_p.h2
-rw-r--r--src/scripttools/debugging/qscriptdebuggerjob_p.h2
-rw-r--r--src/scripttools/debugging/qscriptdebuggerlocalsmodel_p.h2
-rw-r--r--src/scripttools/debugging/qscriptdebuggerlocalswidget_p.h2
-rw-r--r--src/scripttools/debugging/qscriptdebuggerlocalswidgetinterface_p.h2
-rw-r--r--src/scripttools/debugging/qscriptdebuggerresponse_p.h2
-rw-r--r--src/scripttools/debugging/qscriptdebuggerscriptedconsolecommand.cpp20
-rw-r--r--src/scripttools/debugging/qscriptdebuggerscriptedconsolecommand_p.h2
-rw-r--r--src/scripttools/debugging/qscriptdebuggerscriptsmodel_p.h2
-rw-r--r--src/scripttools/debugging/qscriptdebuggerscriptswidget_p.h2
-rw-r--r--src/scripttools/debugging/qscriptdebuggerscriptswidgetinterface_p.h2
-rw-r--r--src/scripttools/debugging/qscriptdebuggerstackmodel_p.h2
-rw-r--r--src/scripttools/debugging/qscriptdebuggerstackwidget_p.h2
-rw-r--r--src/scripttools/debugging/qscriptdebuggerstackwidgetinterface_p.h2
-rw-r--r--src/scripttools/debugging/qscriptdebuggervalue_p.h2
-rw-r--r--src/scripttools/debugging/qscriptdebuggervalueproperty_p.h2
-rw-r--r--src/scripttools/debugging/qscriptdebugoutputwidget_p.h2
-rw-r--r--src/scripttools/debugging/qscriptdebugoutputwidgetinterface_p.h2
-rw-r--r--src/scripttools/debugging/qscriptenginedebugger.h2
-rw-r--r--src/scripttools/debugging/qscriptenginedebuggerfrontend.cpp4
-rw-r--r--src/scripttools/debugging/qscriptenginedebuggerfrontend_p.h2
-rw-r--r--src/scripttools/debugging/qscripterrorlogwidget_p.h2
-rw-r--r--src/scripttools/debugging/qscripterrorlogwidgetinterface_p.h2
-rw-r--r--src/scripttools/debugging/qscriptscriptdata_p.h2
-rw-r--r--src/scripttools/debugging/qscriptstdmessagehandler_p.h2
-rw-r--r--src/scripttools/debugging/qscriptvalueproperty_p.h2
-rw-r--r--src/sql/drivers/db2/qsql_db2.cpp36
-rw-r--r--src/sql/drivers/mysql/qsql_mysql.cpp47
-rw-r--r--src/sql/drivers/odbc/qsql_odbc.cpp27
-rw-r--r--src/sql/drivers/psql/qsql_psql.cpp51
-rw-r--r--src/sql/drivers/sqlite2/qsql_sqlite2.cpp4
-rw-r--r--src/sql/kernel/qsqldatabase.cpp28
-rw-r--r--src/sql/kernel/qsqldriver.cpp26
-rw-r--r--src/sql/kernel/qsqldriver.h2
-rw-r--r--src/sql/models/qsqlquerymodel.h2
-rw-r--r--src/sql/models/qsqlrelationaltablemodel.h2
-rw-r--r--src/sql/models/qsqltablemodel.cpp3
-rw-r--r--src/sql/models/qsqltablemodel.h2
-rw-r--r--src/src.pro6
-rw-r--r--src/svg/qgraphicssvgitem.h2
-rw-r--r--src/svg/qsvggenerator.cpp2
-rw-r--r--src/svg/qsvggenerator.h2
-rw-r--r--src/svg/qsvggraphics.cpp286
-rw-r--r--src/svg/qsvggraphics_p.h51
-rw-r--r--src/svg/qsvghandler.cpp820
-rw-r--r--src/svg/qsvgnode.cpp2
-rw-r--r--src/svg/qsvgnode_p.h1
-rw-r--r--src/svg/qsvgrenderer.h2
-rw-r--r--src/svg/qsvgstyle.cpp182
-rw-r--r--src/svg/qsvgstyle_p.h121
-rw-r--r--src/svg/qsvgwidget.h2
-rw-r--r--src/testlib/qabstracttestlogger_p.h36
-rw-r--r--src/testlib/qplaintestlogger.cpp10
-rw-r--r--src/testlib/qtest.h25
-rw-r--r--src/testlib/qtest_global.h1
-rw-r--r--src/testlib/qtestbasicstreamer.cpp24
-rw-r--r--src/testlib/qtestbasicstreamer.h10
-rw-r--r--src/testlib/qtestcase.cpp262
-rw-r--r--src/testlib/qtestcoreelement.h2
-rw-r--r--src/testlib/qtestfilelogger.cpp25
-rw-r--r--src/testlib/qtestlightxmlstreamer.cpp93
-rw-r--r--src/testlib/qtestlightxmlstreamer.h6
-rw-r--r--src/testlib/qtestxmlstreamer.cpp119
-rw-r--r--src/testlib/qtestxmlstreamer.h6
-rw-r--r--src/testlib/qtestxunitstreamer.cpp42
-rw-r--r--src/testlib/qtestxunitstreamer.h8
-rw-r--r--src/testlib/qxmltestlogger.cpp187
-rw-r--r--src/testlib/qxmltestlogger_p.h6
-rw-r--r--src/tools/bootstrap/bootstrap.pri20
-rw-r--r--src/tools/idc/main.cpp69
-rw-r--r--src/tools/moc/generator.cpp17
-rw-r--r--src/tools/moc/moc.cpp46
-rw-r--r--src/tools/moc/moc.h4
-rw-r--r--src/tools/uic/uic.cpp4
-rw-r--r--src/tools/uic3/main.cpp6
-rw-r--r--src/tools/uic3/uic.cpp4
-rw-r--r--src/winmain/qtmain_win.cpp20
-rw-r--r--src/xml/sax/qxml.cpp89
-rw-r--r--src/xml/sax/qxml.h3
-rw-r--r--src/xmlpatterns/Doxyfile2
-rw-r--r--src/xmlpatterns/acceltree/qacceltree.cpp43
-rw-r--r--src/xmlpatterns/acceltree/qacceltree_p.h17
-rw-r--r--src/xmlpatterns/acceltree/qacceltreebuilder.cpp31
-rw-r--r--src/xmlpatterns/acceltree/qacceltreebuilder_p.h19
-rw-r--r--src/xmlpatterns/acceltree/qacceltreeresourceloader.cpp62
-rw-r--r--src/xmlpatterns/acceltree/qacceltreeresourceloader_p.h27
-rw-r--r--src/xmlpatterns/api/api.pri11
-rw-r--r--src/xmlpatterns/api/qabstractmessagehandler.h2
-rw-r--r--src/xmlpatterns/api/qabstracturiresolver.h2
-rw-r--r--src/xmlpatterns/api/qabstractxmlforwarditerator_p.h15
-rw-r--r--src/xmlpatterns/api/qabstractxmlnodemodel.cpp16
-rw-r--r--src/xmlpatterns/api/qabstractxmlnodemodel.h5
-rw-r--r--src/xmlpatterns/api/qabstractxmlnodemodel_p.h10
-rw-r--r--src/xmlpatterns/api/qabstractxmlpullprovider.cpp177
-rw-r--r--src/xmlpatterns/api/qabstractxmlpullprovider_p.h113
-rw-r--r--src/xmlpatterns/api/qpullbridge.cpp232
-rw-r--r--src/xmlpatterns/api/qpullbridge_p.h103
-rw-r--r--src/xmlpatterns/api/qresourcedelegator.cpp8
-rw-r--r--src/xmlpatterns/api/qsimplexmlnodemodel.h2
-rw-r--r--src/xmlpatterns/api/qxmlformatter.h2
-rw-r--r--src/xmlpatterns/api/qxmlnamepool.cpp4
-rw-r--r--src/xmlpatterns/api/qxmlnamepool.h7
-rw-r--r--src/xmlpatterns/api/qxmlquery.cpp18
-rw-r--r--src/xmlpatterns/api/qxmlquery.h11
-rw-r--r--src/xmlpatterns/api/qxmlquery_p.h37
-rw-r--r--src/xmlpatterns/api/qxmlresultitems.h2
-rw-r--r--src/xmlpatterns/api/qxmlschema.cpp299
-rw-r--r--src/xmlpatterns/api/qxmlschema.h97
-rw-r--r--src/xmlpatterns/api/qxmlschema_p.cpp203
-rw-r--r--src/xmlpatterns/api/qxmlschema_p.h109
-rw-r--r--src/xmlpatterns/api/qxmlschemavalidator.cpp344
-rw-r--r--src/xmlpatterns/api/qxmlschemavalidator.h97
-rw-r--r--src/xmlpatterns/api/qxmlschemavalidator_p.h131
-rw-r--r--src/xmlpatterns/api/qxmlserializer.h2
-rw-r--r--src/xmlpatterns/common.pri1
-rw-r--r--src/xmlpatterns/data/data.pri20
-rw-r--r--src/xmlpatterns/data/qboolean.cpp2
-rw-r--r--src/xmlpatterns/data/qcomparisonfactory.cpp154
-rw-r--r--src/xmlpatterns/data/qcomparisonfactory_p.h121
-rw-r--r--src/xmlpatterns/data/qitem_p.h5
-rw-r--r--src/xmlpatterns/data/qresourceloader_p.h2
-rw-r--r--src/xmlpatterns/data/qvaluefactory.cpp106
-rw-r--r--src/xmlpatterns/data/qvaluefactory_p.h98
-rw-r--r--src/xmlpatterns/environment/createReportContext.xsl5
-rw-r--r--src/xmlpatterns/environment/qreportcontext.cpp1
-rw-r--r--src/xmlpatterns/environment/qreportcontext_p.h4
-rw-r--r--src/xmlpatterns/expr/qcastingplatform.cpp22
-rw-r--r--src/xmlpatterns/expr/qcastingplatform_p.h23
-rw-r--r--src/xmlpatterns/expr/qexpressionfactory.cpp27
-rw-r--r--src/xmlpatterns/functions/qpatternplatform.cpp21
-rw-r--r--src/xmlpatterns/functions/qpatternplatform_p.h18
-rw-r--r--src/xmlpatterns/functions/qsequencegeneratingfns.cpp13
-rw-r--r--src/xmlpatterns/parser/qmaintainingreader.cpp7
-rw-r--r--src/xmlpatterns/parser/qmaintainingreader_p.h1
-rw-r--r--src/xmlpatterns/parser/qquerytransformparser.cpp944
-rw-r--r--src/xmlpatterns/parser/qquerytransformparser_p.h82
-rw-r--r--src/xmlpatterns/parser/querytransformparser.ypp176
-rw-r--r--src/xmlpatterns/parser/winCEWorkaround.sed12
-rw-r--r--src/xmlpatterns/schema/.gitignore1
-rw-r--r--src/xmlpatterns/schema/builtinschemas.qrc5
-rw-r--r--src/xmlpatterns/schema/doc/All_diagram.dot13
-rw-r--r--src/xmlpatterns/schema/doc/Alternative_diagram.dot11
-rw-r--r--src/xmlpatterns/schema/doc/Annotation_diagram.dot9
-rw-r--r--src/xmlpatterns/schema/doc/AnyAttribute_diagram.dot6
-rw-r--r--src/xmlpatterns/schema/doc/Any_diagram.dot6
-rw-r--r--src/xmlpatterns/schema/doc/Assert_diagram.dot6
-rw-r--r--src/xmlpatterns/schema/doc/Choice_diagram.dot22
-rw-r--r--src/xmlpatterns/schema/doc/ComplexContentExtension_diagram.dot47
-rw-r--r--src/xmlpatterns/schema/doc/ComplexContentRestriction_diagram.dot47
-rw-r--r--src/xmlpatterns/schema/doc/ComplexContent_diagram.dot11
-rw-r--r--src/xmlpatterns/schema/doc/DefaultOpenContent_diagram.dot9
-rw-r--r--src/xmlpatterns/schema/doc/EnumerationFacet_diagram.dot6
-rw-r--r--src/xmlpatterns/schema/doc/Field_diagram.dot6
-rw-r--r--src/xmlpatterns/schema/doc/FractionDigitsFacet_diagram.dot6
-rw-r--r--src/xmlpatterns/schema/doc/GlobalAttribute_diagram.dot9
-rw-r--r--src/xmlpatterns/schema/doc/GlobalComplexType_diagram.dot52
-rw-r--r--src/xmlpatterns/schema/doc/GlobalElement_diagram.dot32
-rw-r--r--src/xmlpatterns/schema/doc/GlobalSimpleType_diagram.dot13
-rw-r--r--src/xmlpatterns/schema/doc/Import_diagram.dot6
-rw-r--r--src/xmlpatterns/schema/doc/Include_diagram.dot6
-rw-r--r--src/xmlpatterns/schema/doc/KeyRef_diagram.dot12
-rw-r--r--src/xmlpatterns/schema/doc/Key_diagram.dot12
-rw-r--r--src/xmlpatterns/schema/doc/LengthFacet_diagram.dot6
-rw-r--r--src/xmlpatterns/schema/doc/List_diagram.dot9
-rw-r--r--src/xmlpatterns/schema/doc/LocalAll_diagram.dot13
-rw-r--r--src/xmlpatterns/schema/doc/LocalAttribute_diagram.dot9
-rw-r--r--src/xmlpatterns/schema/doc/LocalChoice_diagram.dot22
-rw-r--r--src/xmlpatterns/schema/doc/LocalComplexType_diagram.dot52
-rw-r--r--src/xmlpatterns/schema/doc/LocalElement_diagram.dot32
-rw-r--r--src/xmlpatterns/schema/doc/LocalSequence_diagram.dot22
-rw-r--r--src/xmlpatterns/schema/doc/LocalSimpleType_diagram.dot13
-rw-r--r--src/xmlpatterns/schema/doc/MaxExclusiveFacet_diagram.dot6
-rw-r--r--src/xmlpatterns/schema/doc/MaxInclusiveFacet_diagram.dot6
-rw-r--r--src/xmlpatterns/schema/doc/MaxLengthFacet_diagram.dot6
-rw-r--r--src/xmlpatterns/schema/doc/MinExclusiveFacet_diagram.dot6
-rw-r--r--src/xmlpatterns/schema/doc/MinInclusiveFacet_diagram.dot6
-rw-r--r--src/xmlpatterns/schema/doc/MinLengthFacet_diagram.dot6
-rw-r--r--src/xmlpatterns/schema/doc/NamedAttributeGroup_diagram.dot17
-rw-r--r--src/xmlpatterns/schema/doc/NamedGroup_diagram.dot13
-rw-r--r--src/xmlpatterns/schema/doc/Notation_diagram.dot6
-rw-r--r--src/xmlpatterns/schema/doc/Override_diagram.dot21
-rw-r--r--src/xmlpatterns/schema/doc/PatternFacet_diagram.dot6
-rw-r--r--src/xmlpatterns/schema/doc/Redefine_diagram.dot15
-rw-r--r--src/xmlpatterns/schema/doc/ReferredAttributeGroup_diagram.dot6
-rw-r--r--src/xmlpatterns/schema/doc/ReferredGroup_diagram.dot13
-rw-r--r--src/xmlpatterns/schema/doc/Schema_diagram.dot66
-rw-r--r--src/xmlpatterns/schema/doc/Selector_diagram.dot6
-rw-r--r--src/xmlpatterns/schema/doc/Sequence_diagram.dot22
-rw-r--r--src/xmlpatterns/schema/doc/SimpleContentExtension_diagram.dot23
-rw-r--r--src/xmlpatterns/schema/doc/SimpleContentRestriction_diagram.dot87
-rw-r--r--src/xmlpatterns/schema/doc/SimpleContent_diagram.dot11
-rw-r--r--src/xmlpatterns/schema/doc/SimpleRestriction_diagram.dot62
-rw-r--r--src/xmlpatterns/schema/doc/TotalDigitsFacet_diagram.dot6
-rw-r--r--src/xmlpatterns/schema/doc/Union_diagram.dot10
-rw-r--r--src/xmlpatterns/schema/doc/Unique_diagram.dot12
-rw-r--r--src/xmlpatterns/schema/doc/WhiteSpaceFacet_diagram.dot6
-rw-r--r--src/xmlpatterns/schema/doc/legend.dot7
-rw-r--r--src/xmlpatterns/schema/qnamespacesupport.cpp160
-rw-r--r--src/xmlpatterns/schema/qnamespacesupport_p.h173
-rw-r--r--src/xmlpatterns/schema/qxsdalternative.cpp68
-rw-r--r--src/xmlpatterns/schema/qxsdalternative_p.h114
-rw-r--r--src/xmlpatterns/schema/qxsdannotated.cpp63
-rw-r--r--src/xmlpatterns/schema/qxsdannotated_p.h96
-rw-r--r--src/xmlpatterns/schema/qxsdannotation.cpp78
-rw-r--r--src/xmlpatterns/schema/qxsdannotation_p.h127
-rw-r--r--src/xmlpatterns/schema/qxsdapplicationinformation.cpp68
-rw-r--r--src/xmlpatterns/schema/qxsdapplicationinformation_p.h115
-rw-r--r--src/xmlpatterns/schema/qxsdassertion.cpp58
-rw-r--r--src/xmlpatterns/schema/qxsdassertion_p.h101
-rw-r--r--src/xmlpatterns/schema/qxsdattribute.cpp130
-rw-r--r--src/xmlpatterns/schema/qxsdattribute_p.h246
-rw-r--r--src/xmlpatterns/schema/qxsdattributegroup.cpp73
-rw-r--r--src/xmlpatterns/schema/qxsdattributegroup_p.h122
-rw-r--r--src/xmlpatterns/schema/qxsdattributereference.cpp88
-rw-r--r--src/xmlpatterns/schema/qxsdattributereference_p.h147
-rw-r--r--src/xmlpatterns/schema/qxsdattributeterm.cpp58
-rw-r--r--src/xmlpatterns/schema/qxsdattributeterm_p.h96
-rw-r--r--src/xmlpatterns/schema/qxsdattributeuse.cpp136
-rw-r--r--src/xmlpatterns/schema/qxsdattributeuse_p.h224
-rw-r--r--src/xmlpatterns/schema/qxsdcomplextype.cpp231
-rw-r--r--src/xmlpatterns/schema/qxsdcomplextype_p.h404
-rw-r--r--src/xmlpatterns/schema/qxsddocumentation.cpp86
-rw-r--r--src/xmlpatterns/schema/qxsddocumentation_p.h137
-rw-r--r--src/xmlpatterns/schema/qxsdelement.cpp244
-rw-r--r--src/xmlpatterns/schema/qxsdelement_p.h403
-rw-r--r--src/xmlpatterns/schema/qxsdfacet.cpp124
-rw-r--r--src/xmlpatterns/schema/qxsdfacet_p.h213
-rw-r--r--src/xmlpatterns/schema/qxsdidcache.cpp66
-rw-r--r--src/xmlpatterns/schema/qxsdidcache_p.h99
-rw-r--r--src/xmlpatterns/schema/qxsdidchelper.cpp137
-rw-r--r--src/xmlpatterns/schema/qxsdidchelper_p.h186
-rw-r--r--src/xmlpatterns/schema/qxsdidentityconstraint.cpp93
-rw-r--r--src/xmlpatterns/schema/qxsdidentityconstraint_p.h173
-rw-r--r--src/xmlpatterns/schema/qxsdinstancereader.cpp196
-rw-r--r--src/xmlpatterns/schema/qxsdinstancereader_p.h189
-rw-r--r--src/xmlpatterns/schema/qxsdmodelgroup.cpp78
-rw-r--r--src/xmlpatterns/schema/qxsdmodelgroup_p.h139
-rw-r--r--src/xmlpatterns/schema/qxsdnotation.cpp68
-rw-r--r--src/xmlpatterns/schema/qxsdnotation_p.h119
-rw-r--r--src/xmlpatterns/schema/qxsdparticle.cpp95
-rw-r--r--src/xmlpatterns/schema/qxsdparticle_p.h154
-rw-r--r--src/xmlpatterns/schema/qxsdparticlechecker.cpp540
-rw-r--r--src/xmlpatterns/schema/qxsdparticlechecker_p.h99
-rw-r--r--src/xmlpatterns/schema/qxsdreference.cpp83
-rw-r--r--src/xmlpatterns/schema/qxsdreference_p.h145
-rw-r--r--src/xmlpatterns/schema/qxsdschema.cpp272
-rw-r--r--src/xmlpatterns/schema/qxsdschema_p.h301
-rw-r--r--src/xmlpatterns/schema/qxsdschemachecker.cpp2061
-rw-r--r--src/xmlpatterns/schema/qxsdschemachecker_helper.cpp306
-rw-r--r--src/xmlpatterns/schema/qxsdschemachecker_p.h284
-rw-r--r--src/xmlpatterns/schema/qxsdschemachecker_setup.cpp327
-rw-r--r--src/xmlpatterns/schema/qxsdschemacontext.cpp528
-rw-r--r--src/xmlpatterns/schema/qxsdschemacontext_p.h187
-rw-r--r--src/xmlpatterns/schema/qxsdschemadebugger.cpp226
-rw-r--r--src/xmlpatterns/schema/qxsdschemadebugger_p.h127
-rw-r--r--src/xmlpatterns/schema/qxsdschemahelper.cpp821
-rw-r--r--src/xmlpatterns/schema/qxsdschemahelper_p.h217
-rw-r--r--src/xmlpatterns/schema/qxsdschemamerger.cpp157
-rw-r--r--src/xmlpatterns/schema/qxsdschemamerger_p.h99
-rw-r--r--src/xmlpatterns/schema/qxsdschemaparser.cpp6078
-rw-r--r--src/xmlpatterns/schema/qxsdschemaparser_p.h721
-rw-r--r--src/xmlpatterns/schema/qxsdschemaparser_setup.cpp1110
-rw-r--r--src/xmlpatterns/schema/qxsdschemaparsercontext.cpp603
-rw-r--r--src/xmlpatterns/schema/qxsdschemaparsercontext_p.h231
-rw-r--r--src/xmlpatterns/schema/qxsdschemaresolver.cpp1736
-rw-r--r--src/xmlpatterns/schema/qxsdschemaresolver_p.h578
-rw-r--r--src/xmlpatterns/schema/qxsdschematoken.cpp2981
-rw-r--r--src/xmlpatterns/schema/qxsdschematoken_p.h209
-rw-r--r--src/xmlpatterns/schema/qxsdschematypesfactory.cpp126
-rw-r--r--src/xmlpatterns/schema/qxsdschematypesfactory_p.h109
-rw-r--r--src/xmlpatterns/schema/qxsdsimpletype.cpp148
-rw-r--r--src/xmlpatterns/schema/qxsdsimpletype_p.h219
-rw-r--r--src/xmlpatterns/schema/qxsdstatemachine.cpp477
-rw-r--r--src/xmlpatterns/schema/qxsdstatemachine_p.h245
-rw-r--r--src/xmlpatterns/schema/qxsdstatemachinebuilder.cpp260
-rw-r--r--src/xmlpatterns/schema/qxsdstatemachinebuilder_p.h141
-rw-r--r--src/xmlpatterns/schema/qxsdterm.cpp68
-rw-r--r--src/xmlpatterns/schema/qxsdterm_p.h114
-rw-r--r--src/xmlpatterns/schema/qxsdtypechecker.cpp1338
-rw-r--r--src/xmlpatterns/schema/qxsdtypechecker_p.h189
-rw-r--r--src/xmlpatterns/schema/qxsduserschematype.cpp75
-rw-r--r--src/xmlpatterns/schema/qxsduserschematype_p.h124
-rw-r--r--src/xmlpatterns/schema/qxsdvalidatedxmlnodemodel.cpp215
-rw-r--r--src/xmlpatterns/schema/qxsdvalidatedxmlnodemodel_p.h179
-rw-r--r--src/xmlpatterns/schema/qxsdvalidatinginstancereader.cpp1276
-rw-r--r--src/xmlpatterns/schema/qxsdvalidatinginstancereader_p.h296
-rw-r--r--src/xmlpatterns/schema/qxsdwildcard.cpp115
-rw-r--r--src/xmlpatterns/schema/qxsdwildcard_p.h199
-rw-r--r--src/xmlpatterns/schema/qxsdxpathexpression.cpp88
-rw-r--r--src/xmlpatterns/schema/qxsdxpathexpression_p.h143
-rw-r--r--src/xmlpatterns/schema/schema.pri93
-rw-r--r--src/xmlpatterns/schema/schemas/xml.xsd145
-rw-r--r--src/xmlpatterns/schema/schemas/xml.xsd-LICENSE40
-rw-r--r--src/xmlpatterns/schema/tokens.xml155
-rw-r--r--src/xmlpatterns/type/qanysimpletype.cpp10
-rw-r--r--src/xmlpatterns/type/qanysimpletype_p.h12
-rw-r--r--src/xmlpatterns/type/qanytype.cpp12
-rw-r--r--src/xmlpatterns/type/qanytype_p.h10
-rw-r--r--src/xmlpatterns/type/qnamedschemacomponent.cpp71
-rw-r--r--src/xmlpatterns/type/qnamedschemacomponent_p.h127
-rw-r--r--src/xmlpatterns/type/qprimitives_p.h15
-rw-r--r--src/xmlpatterns/type/qschematype.cpp5
-rw-r--r--src/xmlpatterns/type/qschematype_p.h30
-rw-r--r--src/xmlpatterns/type/type.pri2
-rw-r--r--src/xmlpatterns/utils/qpatternistlocale_p.h13
-rw-r--r--src/xmlpatterns/utils/qxpathhelper.cpp12
-rw-r--r--src/xmlpatterns/utils/qxpathhelper_p.h5
-rw-r--r--src/xmlpatterns/xmlpatterns.pro2
-rw-r--r--tests/arthur/data/1.2/textArea01.svg2
-rw-r--r--tests/arthur/data/qps/linear_gradients_perspectives_qps.pngbin78017 -> 77944 bytes
-rw-r--r--tests/arthur/data/qps/linear_gradients_qps.pngbin82119 -> 162643 bytes
-rw-r--r--tests/arthur/data/qps/lineconsistency_qps.pngbin12500 -> 12388 bytes
-rw-r--r--tests/arthur/data/qps/linedashes2_aa_qps.pngbin28956 -> 28418 bytes
-rw-r--r--tests/arthur/data/qps/paths_aa_qps.pngbin92711 -> 92147 bytes
-rw-r--r--tests/arthur/data/qps/paths_qps.pngbin20637 -> 20392 bytes
-rw-r--r--tests/arthur/data/qps/pixmap_scaling.qps346
-rw-r--r--tests/arthur/data/qps/radial_gradients_perspectives_qps.pngbin133150 -> 131744 bytes
-rw-r--r--tests/arthur/data/qps/radial_gradients_qps.pngbin156036 -> 161009 bytes
-rw-r--r--tests/arthur/data/qps/rasterops.qps167
-rw-r--r--tests/arthur/data/qps/rasterops_qps.pngbin20400 -> 11059 bytes
-rw-r--r--tests/arthur/data/qps/text_perspectives_qps.pngbin112750 -> 116847 bytes
-rw-r--r--tests/arthur/data/qps/text_qps.pngbin72027 -> 32991 bytes
-rw-r--r--tests/arthur/lance/interactivewidget.cpp2
-rw-r--r--tests/arthur/lance/lance.pro2
-rw-r--r--tests/arthur/lance/main.cpp16
-rw-r--r--tests/arthur/lance/widgets.h151
-rw-r--r--tests/auto/auto.pro14
-rw-r--r--tests/auto/bic/data/Qt3Support.4.0.0.aix-gcc-power32.txt1215
-rw-r--r--tests/auto/bic/data/Qt3Support.4.0.0.linux-gcc-amd64.txt1411
-rw-r--r--tests/auto/bic/data/Qt3Support.4.0.0.linux-gcc-ia32.txt1411
-rw-r--r--tests/auto/bic/data/Qt3Support.4.0.0.linux-gcc-ppc32.txt1411
-rw-r--r--tests/auto/bic/data/Qt3Support.4.0.0.macx-gcc-ppc32.txt1391
-rw-r--r--tests/auto/bic/data/Qt3Support.4.1.0.linux-gcc-ia32.txt1503
-rw-r--r--tests/auto/bic/data/Qt3Support.4.1.0.linux-gcc-ppc32.txt1523
-rw-r--r--tests/auto/bic/data/Qt3Support.4.1.0.macx-gcc-ia32.txt1447
-rw-r--r--tests/auto/bic/data/Qt3Support.4.1.0.macx-gcc-ppc32.txt1447
-rw-r--r--tests/auto/bic/data/Qt3Support.4.1.0.win32-gcc-ia32.txt1427
-rw-r--r--tests/auto/bic/data/Qt3Support.4.2.0.linux-gcc-ia32.txt1805
-rw-r--r--tests/auto/bic/data/Qt3Support.4.2.0.linux-gcc-ppc32.txt1801
-rw-r--r--tests/auto/bic/data/Qt3Support.4.2.0.macx-gcc-ia32.txt1743
-rw-r--r--tests/auto/bic/data/Qt3Support.4.2.0.macx-gcc-ppc32.txt1747
-rw-r--r--tests/auto/bic/data/Qt3Support.4.2.0.win32-gcc-ia32.txt1707
-rw-r--r--tests/auto/bic/data/Qt3Support.4.3.0.linux-gcc-ia32.txt1897
-rw-r--r--tests/auto/bic/data/Qt3Support.4.3.1.linux-gcc-ia32.txt1895
-rw-r--r--tests/auto/bic/data/Qt3Support.4.3.2.linux-gcc-ia32.txt1897
-rw-r--r--tests/auto/bic/data/Qt3Support.4.4.0.linux-gcc-ia32.txt3156
-rw-r--r--tests/auto/bic/data/QtCore.4.0.0.aix-gcc-power32.txt399
-rw-r--r--tests/auto/bic/data/QtCore.4.0.0.linux-gcc-amd64.txt432
-rw-r--r--tests/auto/bic/data/QtCore.4.0.0.linux-gcc-ia32.txt432
-rw-r--r--tests/auto/bic/data/QtCore.4.0.0.linux-gcc-ppc32.txt2256
-rw-r--r--tests/auto/bic/data/QtCore.4.0.0.macx-gcc-ppc32.txt412
-rw-r--r--tests/auto/bic/data/QtCore.4.1.0.linux-gcc-ia32.txt496
-rw-r--r--tests/auto/bic/data/QtCore.4.1.0.linux-gcc-ppc32.txt516
-rw-r--r--tests/auto/bic/data/QtCore.4.1.0.macx-gcc-ia32.txt440
-rw-r--r--tests/auto/bic/data/QtCore.4.1.0.macx-gcc-ppc32.txt440
-rw-r--r--tests/auto/bic/data/QtCore.4.1.0.win32-gcc-ia32.txt420
-rw-r--r--tests/auto/bic/data/QtCore.4.2.0.linux-gcc-ia32.txt718
-rw-r--r--tests/auto/bic/data/QtCore.4.2.0.linux-gcc-ppc32.txt714
-rw-r--r--tests/auto/bic/data/QtCore.4.2.0.macx-gcc-ia32.txt638
-rw-r--r--tests/auto/bic/data/QtCore.4.2.0.macx-gcc-ppc32.txt642
-rw-r--r--tests/auto/bic/data/QtCore.4.2.0.win32-gcc-ia32.txt618
-rw-r--r--tests/auto/bic/data/QtCore.4.3.0.linux-gcc-ia32.txt722
-rw-r--r--tests/auto/bic/data/QtCore.4.3.1.linux-gcc-ia32.txt722
-rw-r--r--tests/auto/bic/data/QtCore.4.3.2.linux-gcc-ia32.txt722
-rw-r--r--tests/auto/bic/data/QtCore.4.4.0.linux-gcc-ia32.txt1909
-rw-r--r--tests/auto/bic/data/QtDBus.4.2.0.linux-gcc-ia32.txt490
-rw-r--r--tests/auto/bic/data/QtDBus.4.2.0.linux-gcc-ppc32.txt490
-rw-r--r--tests/auto/bic/data/QtDBus.4.2.0.macx-gcc-ia32.txt490
-rw-r--r--tests/auto/bic/data/QtDBus.4.2.0.macx-gcc-ppc32.txt490
-rw-r--r--tests/auto/bic/data/QtDBus.4.2.0.win32-gcc-ia32.txt490
-rw-r--r--tests/auto/bic/data/QtDBus.4.3.0.linux-gcc-ia32.txt534
-rw-r--r--tests/auto/bic/data/QtDBus.4.3.1.linux-gcc-ia32.txt534
-rw-r--r--tests/auto/bic/data/QtDBus.4.3.2.linux-gcc-ia32.txt534
-rw-r--r--tests/auto/bic/data/QtDBus.4.4.0.linux-gcc-ia32.txt2029
-rw-r--r--tests/auto/bic/data/QtDesigner.4.2.0.linux-gcc-ia32.txt802
-rw-r--r--tests/auto/bic/data/QtDesigner.4.3.0.linux-gcc-ia32.txt838
-rw-r--r--tests/auto/bic/data/QtDesigner.4.3.1.linux-gcc-ia32.txt838
-rw-r--r--tests/auto/bic/data/QtDesigner.4.3.2.linux-gcc-ia32.txt838
-rw-r--r--tests/auto/bic/data/QtDesigner.4.4.0.linux-gcc-ia32.txt2173
-rw-r--r--tests/auto/bic/data/QtGui.4.0.0.aix-gcc-power32.txt720
-rw-r--r--tests/auto/bic/data/QtGui.4.0.0.linux-gcc-amd64.txt860
-rw-r--r--tests/auto/bic/data/QtGui.4.0.0.linux-gcc-ia32.txt860
-rw-r--r--tests/auto/bic/data/QtGui.4.0.0.linux-gcc-ppc32.txt812
-rw-r--r--tests/auto/bic/data/QtGui.4.0.0.macx-gcc-ppc32.txt840
-rw-r--r--tests/auto/bic/data/QtGui.4.1.0.linux-gcc-ia32.txt952
-rw-r--r--tests/auto/bic/data/QtGui.4.1.0.linux-gcc-ppc32.txt972
-rw-r--r--tests/auto/bic/data/QtGui.4.1.0.macx-gcc-ia32.txt896
-rw-r--r--tests/auto/bic/data/QtGui.4.1.0.macx-gcc-ppc32.txt896
-rw-r--r--tests/auto/bic/data/QtGui.4.1.0.win32-gcc-ia32.txt876
-rw-r--r--tests/auto/bic/data/QtGui.4.2.0.linux-gcc-ia32.txt1242
-rw-r--r--tests/auto/bic/data/QtGui.4.2.0.linux-gcc-ppc32.txt1238
-rw-r--r--tests/auto/bic/data/QtGui.4.2.0.macx-gcc-ia32.txt1178
-rw-r--r--tests/auto/bic/data/QtGui.4.2.0.macx-gcc-ppc32.txt1182
-rw-r--r--tests/auto/bic/data/QtGui.4.2.0.win32-gcc-ia32.txt1142
-rw-r--r--tests/auto/bic/data/QtGui.4.3.0.linux-gcc-ia32.txt1314
-rw-r--r--tests/auto/bic/data/QtGui.4.3.1.linux-gcc-ia32.txt1314
-rw-r--r--tests/auto/bic/data/QtGui.4.3.2.linux-gcc-ia32.txt1314
-rw-r--r--tests/auto/bic/data/QtGui.4.4.0.linux-gcc-ia32.txt2519
-rw-r--r--tests/auto/bic/data/QtNetwork.4.0.0.aix-gcc-power32.txt399
-rw-r--r--tests/auto/bic/data/QtNetwork.4.0.0.linux-gcc-amd64.txt432
-rw-r--r--tests/auto/bic/data/QtNetwork.4.0.0.linux-gcc-ia32.txt432
-rw-r--r--tests/auto/bic/data/QtNetwork.4.0.0.linux-gcc-ppc32.txt396
-rw-r--r--tests/auto/bic/data/QtNetwork.4.0.0.macx-gcc-ppc32.txt412
-rw-r--r--tests/auto/bic/data/QtNetwork.4.1.0.linux-gcc-ia32.txt496
-rw-r--r--tests/auto/bic/data/QtNetwork.4.1.0.linux-gcc-ppc32.txt516
-rw-r--r--tests/auto/bic/data/QtNetwork.4.1.0.macx-gcc-ia32.txt440
-rw-r--r--tests/auto/bic/data/QtNetwork.4.1.0.macx-gcc-ppc32.txt440
-rw-r--r--tests/auto/bic/data/QtNetwork.4.1.0.win32-gcc-ia32.txt420
-rw-r--r--tests/auto/bic/data/QtNetwork.4.2.0.linux-gcc-ia32.txt730
-rw-r--r--tests/auto/bic/data/QtNetwork.4.2.0.linux-gcc-ppc32.txt726
-rw-r--r--tests/auto/bic/data/QtNetwork.4.2.0.macx-gcc-ia32.txt650
-rw-r--r--tests/auto/bic/data/QtNetwork.4.2.0.macx-gcc-ppc32.txt654
-rw-r--r--tests/auto/bic/data/QtNetwork.4.2.0.win32-gcc-ia32.txt630
-rw-r--r--tests/auto/bic/data/QtNetwork.4.3.0.linux-gcc-ia32.txt754
-rw-r--r--tests/auto/bic/data/QtNetwork.4.3.1.linux-gcc-ia32.txt754
-rw-r--r--tests/auto/bic/data/QtNetwork.4.3.2.linux-gcc-ia32.txt754
-rw-r--r--tests/auto/bic/data/QtNetwork.4.4.0.linux-gcc-ia32.txt1977
-rw-r--r--tests/auto/bic/data/QtOpenGL.4.0.0.aix-gcc-power32.txt723
-rw-r--r--tests/auto/bic/data/QtOpenGL.4.0.0.linux-gcc-amd64.txt864
-rw-r--r--tests/auto/bic/data/QtOpenGL.4.0.0.linux-gcc-ia32.txt864
-rw-r--r--tests/auto/bic/data/QtOpenGL.4.0.0.linux-gcc-ppc32.txt816
-rw-r--r--tests/auto/bic/data/QtOpenGL.4.0.0.macx-gcc-ppc32.txt844
-rw-r--r--tests/auto/bic/data/QtOpenGL.4.1.0.linux-gcc-ia32.txt956
-rw-r--r--tests/auto/bic/data/QtOpenGL.4.1.0.linux-gcc-ppc32.txt976
-rw-r--r--tests/auto/bic/data/QtOpenGL.4.1.0.macx-gcc-ia32.txt900
-rw-r--r--tests/auto/bic/data/QtOpenGL.4.1.0.macx-gcc-ppc32.txt900
-rw-r--r--tests/auto/bic/data/QtOpenGL.4.1.0.win32-gcc-ia32.txt1372
-rw-r--r--tests/auto/bic/data/QtOpenGL.4.2.0.linux-gcc-ia32.txt1250
-rw-r--r--tests/auto/bic/data/QtOpenGL.4.2.0.linux-gcc-ppc32.txt1246
-rw-r--r--tests/auto/bic/data/QtOpenGL.4.2.0.macx-gcc-ia32.txt1186
-rw-r--r--tests/auto/bic/data/QtOpenGL.4.2.0.macx-gcc-ppc32.txt1190
-rw-r--r--tests/auto/bic/data/QtOpenGL.4.2.0.win32-gcc-ia32.txt1642
-rw-r--r--tests/auto/bic/data/QtOpenGL.4.3.0.linux-gcc-ia32.txt1326
-rw-r--r--tests/auto/bic/data/QtOpenGL.4.3.1.linux-gcc-ia32.txt1326
-rw-r--r--tests/auto/bic/data/QtOpenGL.4.3.2.linux-gcc-ia32.txt1326
-rw-r--r--tests/auto/bic/data/QtOpenGL.4.4.0.linux-gcc-ia32.txt2531
-rw-r--r--tests/auto/bic/data/QtScript.4.3.0.linux-gcc-ia32.txt726
-rw-r--r--tests/auto/bic/data/QtScript.4.3.0.macx-gcc-ia32.txt674
-rw-r--r--tests/auto/bic/data/QtScript.4.4.0.linux-gcc-ia32.txt1941
-rw-r--r--tests/auto/bic/data/QtSql.4.0.0.aix-gcc-power32.txt408
-rw-r--r--tests/auto/bic/data/QtSql.4.0.0.linux-gcc-amd64.txt444
-rw-r--r--tests/auto/bic/data/QtSql.4.0.0.linux-gcc-ia32.txt444
-rw-r--r--tests/auto/bic/data/QtSql.4.0.0.linux-gcc-ppc32.txt408
-rw-r--r--tests/auto/bic/data/QtSql.4.0.0.macx-gcc-ppc32.txt424
-rw-r--r--tests/auto/bic/data/QtSql.4.1.0.linux-gcc-ia32.txt508
-rw-r--r--tests/auto/bic/data/QtSql.4.1.0.linux-gcc-ppc32.txt528
-rw-r--r--tests/auto/bic/data/QtSql.4.1.0.macx-gcc-ia32.txt452
-rw-r--r--tests/auto/bic/data/QtSql.4.1.0.macx-gcc-ppc32.txt452
-rw-r--r--tests/auto/bic/data/QtSql.4.1.0.win32-gcc-ia32.txt432
-rw-r--r--tests/auto/bic/data/QtSql.4.2.0.linux-gcc-ia32.txt730
-rw-r--r--tests/auto/bic/data/QtSql.4.2.0.linux-gcc-ppc32.txt726
-rw-r--r--tests/auto/bic/data/QtSql.4.2.0.macx-gcc-ia32.txt650
-rw-r--r--tests/auto/bic/data/QtSql.4.2.0.macx-gcc-ppc32.txt654
-rw-r--r--tests/auto/bic/data/QtSql.4.2.0.win32-gcc-ia32.txt630
-rw-r--r--tests/auto/bic/data/QtSql.4.3.0.linux-gcc-ia32.txt734
-rw-r--r--tests/auto/bic/data/QtSql.4.3.1.linux-gcc-ia32.txt734
-rw-r--r--tests/auto/bic/data/QtSql.4.3.2.linux-gcc-ia32.txt734
-rw-r--r--tests/auto/bic/data/QtSql.4.4.0.linux-gcc-ia32.txt1921
-rw-r--r--tests/auto/bic/data/QtSvg.4.1.0.linux-gcc-ia32.txt976
-rw-r--r--tests/auto/bic/data/QtSvg.4.1.0.win32-gcc-ia32.txt876
-rw-r--r--tests/auto/bic/data/QtSvg.4.2.0.linux-gcc-ia32.txt1242
-rw-r--r--tests/auto/bic/data/QtSvg.4.2.0.linux-gcc-ppc32.txt1238
-rw-r--r--tests/auto/bic/data/QtSvg.4.2.0.macx-gcc-ia32.txt1178
-rw-r--r--tests/auto/bic/data/QtSvg.4.2.0.macx-gcc-ppc32.txt1182
-rw-r--r--tests/auto/bic/data/QtSvg.4.2.0.win32-gcc-ia32.txt1142
-rw-r--r--tests/auto/bic/data/QtSvg.4.3.0.linux-gcc-ia32.txt1314
-rw-r--r--tests/auto/bic/data/QtSvg.4.3.1.linux-gcc-ia32.txt1314
-rw-r--r--tests/auto/bic/data/QtSvg.4.3.2.linux-gcc-ia32.txt1314
-rw-r--r--tests/auto/bic/data/QtSvg.4.4.0.linux-gcc-ia32.txt2519
-rw-r--r--tests/auto/bic/data/QtTest.4.1.0.linux-gcc-ia32.txt560
-rw-r--r--tests/auto/bic/data/QtTest.4.1.0.win32-gcc-ia32.txt460
-rw-r--r--tests/auto/bic/data/QtTest.4.2.0.linux-gcc-ia32.txt754
-rw-r--r--tests/auto/bic/data/QtTest.4.2.0.linux-gcc-ppc32.txt750
-rw-r--r--tests/auto/bic/data/QtTest.4.2.0.macx-gcc-ia32.txt674
-rw-r--r--tests/auto/bic/data/QtTest.4.2.0.macx-gcc-ppc32.txt678
-rw-r--r--tests/auto/bic/data/QtTest.4.2.0.win32-gcc-ia32.txt654
-rw-r--r--tests/auto/bic/data/QtTest.4.3.0.linux-gcc-ia32.txt758
-rw-r--r--tests/auto/bic/data/QtTest.4.3.1.linux-gcc-ia32.txt758
-rw-r--r--tests/auto/bic/data/QtTest.4.3.2.linux-gcc-ia32.txt758
-rw-r--r--tests/auto/bic/data/QtTest.4.4.0.linux-gcc-ia32.txt1945
-rw-r--r--tests/auto/bic/data/QtXml.4.0.0.aix-gcc-power32.txt411
-rw-r--r--tests/auto/bic/data/QtXml.4.0.0.linux-gcc-amd64.txt448
-rw-r--r--tests/auto/bic/data/QtXml.4.0.0.linux-gcc-ia32.txt448
-rw-r--r--tests/auto/bic/data/QtXml.4.0.0.linux-gcc-ppc32.txt412
-rw-r--r--tests/auto/bic/data/QtXml.4.0.0.macx-gcc-ppc32.txt428
-rw-r--r--tests/auto/bic/data/QtXml.4.1.0.linux-gcc-ia32.txt512
-rw-r--r--tests/auto/bic/data/QtXml.4.1.0.linux-gcc-ppc32.txt532
-rw-r--r--tests/auto/bic/data/QtXml.4.1.0.macx-gcc-ia32.txt456
-rw-r--r--tests/auto/bic/data/QtXml.4.1.0.macx-gcc-ppc32.txt456
-rw-r--r--tests/auto/bic/data/QtXml.4.1.0.win32-gcc-ia32.txt436
-rw-r--r--tests/auto/bic/data/QtXml.4.2.0.linux-gcc-ia32.txt734
-rw-r--r--tests/auto/bic/data/QtXml.4.2.0.linux-gcc-ppc32.txt730
-rw-r--r--tests/auto/bic/data/QtXml.4.2.0.macx-gcc-ia32.txt654
-rw-r--r--tests/auto/bic/data/QtXml.4.2.0.macx-gcc-ppc32.txt658
-rw-r--r--tests/auto/bic/data/QtXml.4.2.0.win32-gcc-ia32.txt634
-rw-r--r--tests/auto/bic/data/QtXml.4.3.0.linux-gcc-ia32.txt762
-rw-r--r--tests/auto/bic/data/QtXml.4.3.1.linux-gcc-ia32.txt762
-rw-r--r--tests/auto/bic/data/QtXml.4.3.2.linux-gcc-ia32.txt762
-rw-r--r--tests/auto/bic/data/QtXml.4.4.0.linux-gcc-ia32.txt1925
-rw-r--r--tests/auto/bic/data/QtXmlPatterns.4.4.0.linux-gcc-ia32.txt2021
-rw-r--r--tests/auto/bic/data/QtXmlPatterns.4.4.1.linux-gcc-ia32.txt2806
-rwxr-xr-xtests/auto/bic/gen.sh4
-rw-r--r--tests/auto/bic/tst_bic.cpp36
-rw-r--r--tests/auto/compilerwarnings/tst_compilerwarnings.cpp12
-rw-r--r--tests/auto/exceptionsafety_objects/oomsimulator.h4
-rw-r--r--tests/auto/exceptionsafety_objects/tst_exceptionsafety_objects.cpp314
-rw-r--r--tests/auto/gestures/tst_gestures.cpp29
-rwxr-xr-xtests/auto/linguist/lconvert/data/makeplurals.pl42
-rwxr-xr-xtests/auto/linguist/lconvert/data/makeplurals.sh43
-rw-r--r--tests/auto/linguist/lconvert/data/test-broken-utf8.po.out2
-rw-r--r--tests/auto/linguist/lconvert/tst_lconvert.cpp11
-rw-r--r--tests/auto/linguist/lrelease/tst_lrelease.cpp29
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/lacksqobject/expectedoutput.txt8
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/lacksqobject/main.cpp4
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/mergeui/project.ts.before2
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/mergeui_obsolete/project.ts.result2
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/mergeui_obsolete/project.ui2
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/parsecpp/main.cpp31
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/parsecpp/project.ts.result39
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/parsecpp2/expectedoutput.txt7
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/parsecpp2/main.cpp24
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/parsecpp2/main2.cpp28
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/parsecpp2/main3.cpp42
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/parsecpp2/project.pro12
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/parsecpp2/project.ts.result4
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/proparsingpaths/file1.cpp9
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/proparsingpaths/filter.cpp9
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/proparsingpaths/project.pro10
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/proparsingpaths/project.ts.result31
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/proparsingpaths/sub/sub.pri3
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/proparsingpaths/sub/subfile1.cpp9
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/proparsingpaths/sub/subfilter.cpp9
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/textsimilarity/project.ts.result2
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/textsimilarity/project.ui2
-rw-r--r--tests/auto/linguist/lupdate/testlupdate.cpp5
-rw-r--r--tests/auto/math3d/qmatrixnxn/tst_qmatrixnxn.cpp82
-rw-r--r--tests/auto/math3d/qquaternion/tst_qquaternion.cpp56
-rw-r--r--tests/auto/math3d/qvectornd/tst_qvectornd.cpp100
-rw-r--r--tests/auto/moc/os9-newlines.h2
-rw-r--r--tests/auto/moc/tst_moc.cpp49
-rw-r--r--tests/auto/patternistheaders/tst_patternistheaders.cpp8
-rw-r--r--tests/auto/q3socket/tst_qsocket.cpp14
-rw-r--r--tests/auto/q3sqlcursor/tst_q3sqlcursor.cpp18
-rw-r--r--tests/auto/q3urloperator/tst_q3urloperator.cpp12
-rw-r--r--tests/auto/qabstractitemview/tst_qabstractitemview.cpp56
-rw-r--r--tests/auto/qabstractscrollarea/tst_qabstractscrollarea.cpp35
-rw-r--r--tests/auto/qabstractxmlnodemodel/tst_qabstractxmlnodemodel.cpp8
-rw-r--r--tests/auto/qaccessibility/tst_qaccessibility.cpp13
-rw-r--r--tests/auto/qaction/tst_qaction.cpp4
-rw-r--r--tests/auto/qapplication/tst_qapplication.cpp76
-rw-r--r--tests/auto/qaudiodeviceid/qaudiodeviceid.pro7
-rw-r--r--tests/auto/qaudiodeviceid/tst_qaudiodeviceid.cpp98
-rw-r--r--tests/auto/qaudiodeviceinfo/qaudiodeviceinfo.pro7
-rw-r--r--tests/auto/qaudiodeviceinfo/tst_qaudiodeviceinfo.cpp159
-rw-r--r--tests/auto/qaudioformat/qaudioformat.pro7
-rw-r--r--tests/auto/qaudioformat/tst_qaudioformat.cpp180
-rw-r--r--tests/auto/qaudioinput/qaudioinput.pro7
-rw-r--r--tests/auto/qaudioinput/tst_qaudioinput.cpp120
-rw-r--r--tests/auto/qaudiooutput/4.wavbin0 -> 5538 bytes
-rw-r--r--tests/auto/qaudiooutput/qaudiooutput.pro12
-rw-r--r--tests/auto/qaudiooutput/tst_qaudiooutput.cpp156
-rw-r--r--tests/auto/qbytearray/tst_qbytearray.cpp2
-rw-r--r--tests/auto/qchar/tst_qchar.cpp3
-rw-r--r--tests/auto/qclipboard/tst_qclipboard.cpp2
-rw-r--r--tests/auto/qcolumnview/tst_qcolumnview.cpp42
-rw-r--r--tests/auto/qcombobox/tst_qcombobox.cpp6
-rw-r--r--tests/auto/qcompleter/tst_qcompleter.cpp138
-rw-r--r--tests/auto/qcopchannel/tst_qcopchannel.cpp2
-rw-r--r--tests/auto/qcssparser/qcssparser.pro2
-rw-r--r--tests/auto/qdatetimeedit/tst_qdatetimeedit.cpp2
-rw-r--r--tests/auto/qdbusabstractadaptor/tst_qdbusabstractadaptor.cpp21
-rw-r--r--tests/auto/qdbusabstractinterface/com.trolltech.QtDBus.Pinger.xml30
-rw-r--r--tests/auto/qdbusabstractinterface/interface.cpp48
-rw-r--r--tests/auto/qdbusabstractinterface/interface.h113
-rw-r--r--tests/auto/qdbusabstractinterface/pinger.cpp67
-rw-r--r--tests/auto/qdbusabstractinterface/pinger.h145
-rw-r--r--tests/auto/qdbusabstractinterface/qdbusabstractinterface.pro15
-rw-r--r--tests/auto/qdbusabstractinterface/tst_qdbusabstractinterface.cpp576
-rw-r--r--tests/auto/qdbusinterface/tst_qdbusinterface.cpp194
-rw-r--r--tests/auto/qdbusmarshall/tst_qdbusmarshall.cpp121
-rw-r--r--tests/auto/qdesktopservices/tst_qdesktopservices.cpp2
-rw-r--r--tests/auto/qdir/tst_qdir.cpp94
-rw-r--r--tests/auto/qdirectpainter/tst_qdirectpainter.cpp4
-rw-r--r--tests/auto/qdiriterator/tst_qdiriterator.cpp51
-rw-r--r--tests/auto/qdom/qdom.pro4
-rw-r--r--tests/auto/qdom/tst_qdom.cpp54
-rw-r--r--tests/auto/qfile/tst_qfile.cpp127
-rw-r--r--tests/auto/qfiledialog/tst_qfiledialog.cpp52
-rw-r--r--tests/auto/qfileinfo/tst_qfileinfo.cpp95
-rw-r--r--tests/auto/qfilesystemmodel/qfilesystemmodel.pro2
-rw-r--r--tests/auto/qfilesystemmodel/tst_qfilesystemmodel.cpp4
-rw-r--r--tests/auto/qfilesystemwatcher/tst_qfilesystemwatcher.cpp80
-rw-r--r--tests/auto/qflags/tst_qflags.cpp24
-rw-r--r--tests/auto/qfontcombobox/tst_qfontcombobox.cpp6
-rw-r--r--tests/auto/qfontdialog/tst_qfontdialog.cpp10
-rw-r--r--tests/auto/qformlayout/tst_qformlayout.cpp30
-rw-r--r--tests/auto/qgl/qgl.pro3
-rw-r--r--tests/auto/qgl/tst_qgl.cpp353
-rw-r--r--tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp711
-rw-r--r--tests/auto/qgraphicslayout/tst_qgraphicslayout.cpp1
-rw-r--r--tests/auto/qgraphicsproxywidget/tst_qgraphicsproxywidget.cpp84
-rw-r--r--tests/auto/qgraphicsscene/tst_qgraphicsscene.cpp221
-rw-r--r--tests/auto/qgraphicssceneindex/qgraphicssceneindex.pro4
-rw-r--r--tests/auto/qgraphicssceneindex/tst_qgraphicssceneindex.cpp305
-rw-r--r--tests/auto/qgraphicstransform/qgraphicstransform.pro2
-rw-r--r--tests/auto/qgraphicstransform/tst_qgraphicstransform.cpp162
-rw-r--r--tests/auto/qgraphicsview/tst_qgraphicsview.cpp277
-rw-r--r--tests/auto/qgraphicswidget/tst_qgraphicswidget.cpp11
-rw-r--r--tests/auto/qgroupbox/tst_qgroupbox.cpp11
-rw-r--r--tests/auto/qguard/qguard.pro2
-rw-r--r--tests/auto/qguard/tst_qguard.cpp350
-rw-r--r--tests/auto/qhelpenginecore/data/collection.qhcbin10240 -> 10240 bytes
-rw-r--r--tests/auto/qhelpenginecore/data/collection1.qhcbin10240 -> 10240 bytes
-rw-r--r--tests/auto/qhelpenginecore/data/linguist-3.3.8.qchbin131072 -> 131072 bytes
-rw-r--r--tests/auto/qhelpenginecore/data/qmake-3.3.8.qchbin61440 -> 61440 bytes
-rw-r--r--tests/auto/qhelpenginecore/data/qmake-4.3.0.qchbin93184 -> 93184 bytes
-rw-r--r--tests/auto/qhelpenginecore/data/test.qchbin22528 -> 22528 bytes
-rw-r--r--tests/auto/qhelpenginecore/tst_qhelpenginecore.cpp40
-rw-r--r--tests/auto/qhelpgenerator/data/test.qhp7
-rw-r--r--tests/auto/qhelpindexmodel/data/collection.qhcbin10240 -> 10240 bytes
-rw-r--r--tests/auto/qhelpindexmodel/data/collection1.qhcbin10240 -> 10240 bytes
-rw-r--r--tests/auto/qhelpindexmodel/data/linguist-3.3.8.qchbin131072 -> 131072 bytes
-rw-r--r--tests/auto/qhelpindexmodel/data/qmake-3.3.8.qchbin61440 -> 61440 bytes
-rw-r--r--tests/auto/qhelpindexmodel/data/qmake-4.3.0.qchbin93184 -> 93184 bytes
-rw-r--r--tests/auto/qhelpindexmodel/data/test.qchbin22528 -> 22528 bytes
-rw-r--r--tests/auto/qhelpindexmodel/tst_qhelpindexmodel.cpp6
-rw-r--r--tests/auto/qhttp/qhttp.pro2
-rw-r--r--tests/auto/qhttpnetworkconnection/qhttpnetworkconnection.pro2
-rw-r--r--tests/auto/qhttpnetworkconnection/tst_qhttpnetworkconnection.cpp15
-rw-r--r--tests/auto/qhttpnetworkreply/qhttpnetworkreply.pro2
-rw-r--r--tests/auto/qicoimageformat/icons/valid/Qt.icobin0 -> 31371 bytes
-rw-r--r--tests/auto/qicoimageformat/tst_qticoimageformat.cpp33
-rw-r--r--tests/auto/qinputcontext/tst_qinputcontext.cpp4
-rw-r--r--tests/auto/qitemdelegate/tst_qitemdelegate.cpp33
-rw-r--r--tests/auto/qitemselectionmodel/tst_qitemselectionmodel.cpp2
-rw-r--r--tests/auto/qitemview/tst_qitemview.cpp2
-rw-r--r--tests/auto/qkeysequence/tst_qkeysequence.cpp2
-rw-r--r--tests/auto/qline/qline.pro5
-rw-r--r--tests/auto/qlistview/tst_qlistview.cpp67
-rw-r--r--tests/auto/qlocale/tst_qlocale.cpp47
-rw-r--r--tests/auto/qlocalsocket/tst_qlocalsocket.cpp50
-rw-r--r--tests/auto/qmainwindow/tst_qmainwindow.cpp6
-rw-r--r--tests/auto/qmake/testdata/simple_app_build/README1
-rw-r--r--tests/auto/qmenu/tst_qmenu.cpp48
-rw-r--r--tests/auto/qmenubar/tst_qmenubar.cpp3
-rw-r--r--tests/auto/qmetaobject/qmetaobject.pro3
-rw-r--r--tests/auto/qmetaobject/tst_qmetaobject.cpp34
-rw-r--r--tests/auto/qnativesocketengine/qnativesocketengine.pro2
-rw-r--r--tests/auto/qnetworkreply/qnetworkreply.pro2
-rw-r--r--tests/auto/qnetworkreply/tst_qnetworkreply.cpp233
-rw-r--r--tests/auto/qnumeric/tst_qnumeric.cpp5
-rw-r--r--tests/auto/qobject/tst_qobject.cpp16
-rw-r--r--tests/auto/qobjectrace/tst_qobjectrace.cpp8
-rw-r--r--tests/auto/qparallelanimationgroup/tst_qparallelanimationgroup.cpp33
-rw-r--r--tests/auto/qpathclipper/qpathclipper.pro2
-rw-r--r--tests/auto/qpixmap/tst_qpixmap.cpp7
-rw-r--r--tests/auto/qplaintextedit/tst_qplaintextedit.cpp2
-rw-r--r--tests/auto/qprocess/tst_qprocess.cpp7
-rw-r--r--tests/auto/qprogressbar/tst_qprogressbar.cpp30
-rw-r--r--tests/auto/qpropertyanimation/tst_qpropertyanimation.cpp57
-rw-r--r--tests/auto/qreadwritelock/tst_qreadwritelock.cpp2
-rw-r--r--tests/auto/qregexp/qregexp.pro3
-rw-r--r--tests/auto/qregion/tst_qregion.cpp6
-rw-r--r--tests/auto/qresourceengine/qresourceengine.pro1
-rw-r--r--tests/auto/qresourceengine/tst_resourceengine.cpp2
-rw-r--r--tests/auto/qscopedpointer/tst_qscopedpointer.cpp36
-rw-r--r--tests/auto/qscriptcontext/tst_qscriptcontext.cpp30
-rw-r--r--tests/auto/qscriptengine/qscriptengine.pro2
-rw-r--r--tests/auto/qscriptengine/script/com/__init__.js4
-rw-r--r--tests/auto/qscriptengine/script/com/trolltech/__init__.js4
-rw-r--r--tests/auto/qscriptengine/tst_qscriptengine.cpp141
-rw-r--r--tests/auto/qscriptqobject/qscriptqobject.pro2
-rw-r--r--tests/auto/qscriptqobject/tst_qscriptqobject.cpp33
-rw-r--r--tests/auto/qscriptvalue/qscriptvalue.pro2
-rw-r--r--tests/auto/qscriptvalue/tst_qscriptvalue.cpp8
-rw-r--r--tests/auto/qsettings/tst_qsettings.cpp38
-rw-r--r--tests/auto/qsharedmemory/src/qsystemlock_win.cpp26
-rw-r--r--tests/auto/qsharedpointer/externaltests.cpp108
-rw-r--r--tests/auto/qsharedpointer/externaltests.h4
-rw-r--r--tests/auto/qsharedpointer/externaltests.pri1
-rw-r--r--tests/auto/qsharedpointer/forwarddeclaration.cpp52
-rw-r--r--tests/auto/qsharedpointer/forwarddeclared.cpp53
-rw-r--r--tests/auto/qsharedpointer/forwarddeclared.h54
-rw-r--r--tests/auto/qsharedpointer/qsharedpointer.pro11
-rw-r--r--tests/auto/qsharedpointer/tst_qsharedpointer.cpp562
-rw-r--r--tests/auto/qsharedpointer/wrapper.cpp60
-rw-r--r--tests/auto/qsharedpointer/wrapper.h55
-rw-r--r--tests/auto/qsocketnotifier/qsocketnotifier.pro2
-rw-r--r--tests/auto/qsocks5socketengine/qsocks5socketengine.pro1
-rw-r--r--tests/auto/qsqldatabase/qsqldatabase.pro5
-rw-r--r--tests/auto/qsqldatabase/tst_databases.h104
-rw-r--r--tests/auto/qsqldatabase/tst_qsqldatabase.cpp50
-rw-r--r--tests/auto/qsqldriver/qsqldriver.pro1
-rw-r--r--tests/auto/qsqldriver/tst_qsqldriver.cpp4
-rw-r--r--tests/auto/qsqlquery/qsqlquery.pro1
-rw-r--r--tests/auto/qsqlquery/tst_qsqlquery.cpp40
-rw-r--r--tests/auto/qsqlquerymodel/qsqlquerymodel.pro3
-rw-r--r--tests/auto/qsqlrelationaltablemodel/qsqlrelationaltablemodel.pro3
-rw-r--r--tests/auto/qsqlrelationaltablemodel/tst_qsqlrelationaltablemodel.cpp34
-rw-r--r--tests/auto/qsqltablemodel/qsqltablemodel.pro1
-rw-r--r--tests/auto/qsqltablemodel/tst_qsqltablemodel.cpp62
-rw-r--r--tests/auto/qsqlthread/qsqlthread.pro1
-rw-r--r--tests/auto/qsslsocket/certs/qt-test-server-cacert.pem35
-rw-r--r--tests/auto/qsslsocket/tst_qsslsocket.cpp88
-rw-r--r--tests/auto/qstandarditemmodel/tst_qstandarditemmodel.cpp6
-rw-r--r--tests/auto/qstate/tst_qstate.cpp17
-rw-r--r--tests/auto/qstatemachine/tst_qstatemachine.cpp595
-rw-r--r--tests/auto/qstring/tst_qstring.cpp8
-rw-r--r--tests/auto/qstringbuilder/tst_qstringbuilder.cpp17
-rw-r--r--tests/auto/qstyle/tst_qstyle.cpp2
-rw-r--r--tests/auto/qstylesheetstyle/qstylesheetstyle.pro1
-rw-r--r--tests/auto/qsvgrenderer/tst_qsvgrenderer.cpp280
-rw-r--r--tests/auto/qsyntaxhighlighter/tst_qsyntaxhighlighter.cpp29
-rw-r--r--tests/auto/qtableview/tst_qtableview.cpp56
-rw-r--r--tests/auto/qtcpserver/tst_qtcpserver.cpp120
-rw-r--r--tests/auto/qtcpsocket/qtcpsocket.pro2
-rw-r--r--tests/auto/qtcpsocket/test/test.pro1
-rw-r--r--tests/auto/qtcpsocket/tst_qtcpsocket.cpp25
-rw-r--r--tests/auto/qtextcodec/tst_qtextcodec.cpp4
-rw-r--r--tests/auto/qtextdocumentfragment/tst_qtextdocumentfragment.cpp10
-rw-r--r--tests/auto/qtextedit/tst_qtextedit.cpp4
-rw-r--r--tests/auto/qtextlist/tst_qtextlist.cpp76
-rw-r--r--tests/auto/qtextpiecetable/qtextpiecetable.pro5
-rw-r--r--tests/auto/qtextpiecetable/tst_qtextpiecetable.cpp32
-rw-r--r--tests/auto/qthreadonce/tst_qthreadonce.cpp2
-rw-r--r--tests/auto/qthreadpool/tst_qthreadpool.cpp6
-rw-r--r--tests/auto/qtimer/tst_qtimer.cpp2
-rw-r--r--tests/auto/qtoolbar/tst_qtoolbar.cpp4
-rw-r--r--tests/auto/qtoolbutton/tst_qtoolbutton.cpp27
-rw-r--r--tests/auto/qurl/tst_qurl.cpp106
-rw-r--r--tests/auto/qvariant/tst_qvariant.cpp86
-rw-r--r--tests/auto/qvector/qvector.pro1
-rw-r--r--tests/auto/qwidget/tst_qwidget.cpp58
-rw-r--r--tests/auto/qwineventnotifier/tst_qwineventnotifier.cpp7
-rw-r--r--tests/auto/qxml/tst_qxml.cpp26
-rw-r--r--tests/auto/qxmlquery/tst_qxmlquery.cpp176
-rw-r--r--tests/auto/qxmlschema/.gitignore1
-rw-r--r--tests/auto/qxmlschema/qxmlschema.pro5
-rw-r--r--tests/auto/qxmlschema/tst_qxmlschema.cpp372
-rw-r--r--tests/auto/qxmlschemavalidator/.gitignore1
-rw-r--r--tests/auto/qxmlschemavalidator/qxmlschemavalidator.pro5
-rw-r--r--tests/auto/qxmlschemavalidator/tst_qxmlschemavalidator.cpp445
-rw-r--r--tests/auto/qxmlsimplereader/parser/main.cpp1
-rwxr-xr-xtests/auto/runQtXmlPatternsTests.sh2
-rw-r--r--tests/auto/selftests/cmptest/tst_cmptest.cpp46
-rw-r--r--tests/auto/selftests/exception/exception.pro9
-rw-r--r--tests/auto/selftests/exception/tst_exception.cpp69
-rw-r--r--tests/auto/selftests/exceptionthrow/exceptionthrow.pro9
-rw-r--r--tests/auto/selftests/exceptionthrow/tst_exceptionthrow.cpp69
-rw-r--r--tests/auto/selftests/expected_cmptest.txt20
-rw-r--r--tests/auto/selftests/expected_crashes_3.txt8
-rw-r--r--tests/auto/selftests/expected_exceptionthrow.txt (renamed from tests/auto/selftests/expected_exception.txt)0
-rw-r--r--tests/auto/selftests/expected_longstring.txt16
-rw-r--r--tests/auto/selftests/expected_maxwarnings.txt4
-rw-r--r--tests/auto/selftests/longstring/longstring.pro10
-rw-r--r--tests/auto/selftests/longstring/tst_longstring.cpp72
-rw-r--r--tests/auto/selftests/selftests.pro4
-rw-r--r--tests/auto/selftests/selftests.qrc4
-rw-r--r--tests/auto/selftests/tst_selftests.cpp20
-rw-r--r--tests/auto/selftests/xunit/xunit.pro11
-rw-r--r--tests/auto/symbian/orientationchange/tst_orientationchange.cpp4
-rw-r--r--tests/auto/symbian/qmainexceptions/tst_qmainexceptions.cpp4
-rwxr-xr-xtests/auto/test.pl2
-rw-r--r--tests/auto/tests.xml8
-rw-r--r--tests/auto/uic3/uic3.pro3
-rw-r--r--tests/auto/uiloader/baseline/css_scrollarea_base.ui197
-rw-r--r--tests/auto/windowsmobile/test/tst_windowsmobile.cpp2
-rw-r--r--tests/auto/xmlpatterns.pri14
-rw-r--r--tests/auto/xmlpatternsdiagnosticsts/test/tst_xmlpatternsdiagnosticsts.cpp2
-rw-r--r--tests/auto/xmlpatternsdiagnosticsts/xmlpatternsdiagnosticsts.pro1
-rw-r--r--tests/auto/xmlpatternsschema/.gitignore1
-rw-r--r--tests/auto/xmlpatternsschema/tst_xmlpatternsschema.cpp988
-rw-r--r--tests/auto/xmlpatternsschema/xmlpatternsschema.pro6
-rw-r--r--tests/auto/xmlpatternsschemats/.gitignore4
-rw-r--r--tests/auto/xmlpatternsschemats/Baseline.xml2
-rw-r--r--tests/auto/xmlpatternsschemats/TESTSUITE/.gitignore3
-rw-r--r--tests/auto/xmlpatternsschemats/TESTSUITE/unifyCatalog.xsl21
-rwxr-xr-xtests/auto/xmlpatternsschemats/TESTSUITE/updateSuite.sh20
-rw-r--r--tests/auto/xmlpatternsschemats/tst_xmlpatternsschemats.cpp44
-rw-r--r--tests/auto/xmlpatternsschemats/xmlpatternsschemats.pro23
-rw-r--r--tests/auto/xmlpatternsvalidator/files/instance.xml3
-rw-r--r--tests/auto/xmlpatternsvalidator/files/invalid_schema.xsd12
-rw-r--r--tests/auto/xmlpatternsvalidator/files/other_valid_schema.xsd12
-rw-r--r--tests/auto/xmlpatternsvalidator/files/sa_invalid_instance.xml3
-rw-r--r--tests/auto/xmlpatternsvalidator/files/sa_valid_instance.xml3
-rw-r--r--tests/auto/xmlpatternsvalidator/files/valid_schema.xsd12
-rw-r--r--tests/auto/xmlpatternsvalidator/tst_xmlpatternsvalidator.cpp174
-rw-r--r--tests/auto/xmlpatternsvalidator/xmlpatternsvalidator.pro5
-rw-r--r--tests/auto/xmlpatternsview/view/MainWindow.cpp32
-rw-r--r--tests/auto/xmlpatternsview/view/MainWindow.h6
-rw-r--r--tests/auto/xmlpatternsview/view/ui_MainWindow.ui9
-rw-r--r--tests/auto/xmlpatternsview/xmlpatternsview.pro1
-rw-r--r--tests/auto/xmlpatternsxqts/lib/TestBaseLine.cpp7
-rw-r--r--tests/auto/xmlpatternsxqts/lib/TestBaseLine.h9
-rw-r--r--tests/auto/xmlpatternsxqts/lib/TestGroup.cpp6
-rw-r--r--tests/auto/xmlpatternsxqts/lib/TestSuite.cpp26
-rw-r--r--tests/auto/xmlpatternsxqts/lib/TestSuite.h14
-rw-r--r--tests/auto/xmlpatternsxqts/lib/TreeModel.cpp9
-rw-r--r--tests/auto/xmlpatternsxqts/lib/XSDTSTestCase.cpp346
-rw-r--r--tests/auto/xmlpatternsxqts/lib/XSDTSTestCase.h130
-rw-r--r--tests/auto/xmlpatternsxqts/lib/XSDTestSuiteHandler.cpp881
-rw-r--r--tests/auto/xmlpatternsxqts/lib/XSDTestSuiteHandler.h90
-rw-r--r--tests/auto/xmlpatternsxqts/lib/lib.pro4
-rw-r--r--tests/auto/xmlpatternsxqts/test/tst_suitetest.cpp15
-rw-r--r--tests/auto/xmlpatternsxqts/test/tst_suitetest.h14
-rw-r--r--tests/auto/xmlpatternsxqts/test/tst_xmlpatternsxqts.cpp2
-rw-r--r--tests/auto/xmlpatternsxqts/xmlpatternsxqts.pro3
-rw-r--r--tests/auto/xmlpatternsxslts/tst_xmlpatternsxslts.cpp2
-rw-r--r--tests/auto/xmlpatternsxslts/xmlpatternsxslts.pro1
-rw-r--r--tests/benchmarks/benchmarks.pro4
-rw-r--r--tests/benchmarks/qdir/tst_qdir.cpp35
-rw-r--r--tests/benchmarks/qdiriterator/main.cpp2
-rw-r--r--tests/benchmarks/qdiriterator/qfilesystemiterator.cpp19
-rw-r--r--tests/benchmarks/qfile/main.cpp16
-rw-r--r--tests/benchmarks/qgraphicsitem/qgraphicsitem.pro1
-rw-r--r--tests/benchmarks/qgraphicsitem/tst_qgraphicsitem.cpp51
-rw-r--r--tests/benchmarks/qnetworkreply/main.cpp74
-rw-r--r--tests/benchmarks/qnetworkreply/qnetworkreply.pro13
-rw-r--r--tests/benchmarks/qquaternion/qquaternion.pro6
-rw-r--r--tests/benchmarks/qquaternion/tst_qquaternion.cpp124
-rw-r--r--tests/benchmarks/qstring/main.cpp18
-rw-r--r--tests/benchmarks/qstring/qstring.pro8
-rw-r--r--tests/benchmarks/qstring/utf-8.txt72
-rw-r--r--tests/manual/qdesktopwidget/main.cpp188
-rw-r--r--tests/manual/qdesktopwidget/qdesktopwidget.pro2
-rw-r--r--tests/manual/windowflags/controllerwindow.cpp263
-rw-r--r--tests/manual/windowflags/controllerwindow.h115
-rw-r--r--tests/manual/windowflags/main.cpp52
-rw-r--r--tests/manual/windowflags/previewwindow.cpp146
-rw-r--r--tests/manual/windowflags/previewwindow.h81
-rw-r--r--tests/manual/windowflags/windowflags.pro5
-rw-r--r--tools/activeqt/dumpcpp/main.cpp6
-rw-r--r--tools/assistant/lib/lib.pro96
-rw-r--r--tools/assistant/lib/qhelpprojectdata.cpp49
-rw-r--r--tools/assistant/lib/qhelpsearchengine.cpp14
-rw-r--r--tools/assistant/lib/qhelpsearchindexreader.cpp106
-rw-r--r--tools/assistant/lib/qhelpsearchindexreader_clucene.cpp60
-rw-r--r--tools/assistant/lib/qhelpsearchindexreader_clucene_p.h36
-rw-r--r--tools/assistant/lib/qhelpsearchindexreader_default.cpp49
-rw-r--r--tools/assistant/lib/qhelpsearchindexreader_default_p.h37
-rw-r--r--tools/assistant/lib/qhelpsearchindexreader_p.h108
-rw-r--r--tools/assistant/lib/qhelpsearchquerywidget.cpp295
-rw-r--r--tools/assistant/tools/assistant/assistant.qchbin368640 -> 368640 bytes
-rw-r--r--tools/assistant/tools/assistant/assistant.rc31
-rw-r--r--tools/assistant/tools/assistant/centralwidget.cpp28
-rw-r--r--tools/assistant/tools/assistant/centralwidget.h3
-rw-r--r--tools/assistant/tools/assistant/doc/assistant.qhp2
-rw-r--r--tools/assistant/tools/assistant/helpviewer.cpp4
-rw-r--r--tools/assistant/tools/assistant/main.cpp18
-rw-r--r--tools/assistant/tools/assistant/mainwindow.cpp15
-rw-r--r--tools/assistant/tools/assistant/preferencesdialog.cpp41
-rw-r--r--tools/assistant/tools/assistant/preferencesdialog.h12
-rw-r--r--tools/assistant/tools/assistant/preferencesdialog.ui118
-rw-r--r--tools/assistant/tools/qhelpconverter/adpreader.cpp20
-rw-r--r--tools/assistant/tools/qhelpconverter/adpreader.h6
-rw-r--r--tools/checksdk/cesdkhandler.cpp7
-rw-r--r--tools/checksdk/cesdkhandler.h4
-rw-r--r--tools/checksdk/checksdk.pro39
-rw-r--r--tools/checksdk/main.cpp42
-rw-r--r--tools/configure/configure.pro4
-rw-r--r--tools/configure/configureapp.cpp140
-rw-r--r--tools/configure/configureapp.h4
-rw-r--r--tools/configure/environment.cpp218
-rw-r--r--tools/configure/main.cpp2
-rw-r--r--tools/configure/tools.cpp4
-rw-r--r--tools/designer/data/generate_shared.xsl4
-rw-r--r--tools/designer/src/components/formeditor/brushmanagerproxy.h2
-rw-r--r--tools/designer/src/components/formeditor/qdesigner_resource.cpp6
-rw-r--r--tools/designer/src/components/formeditor/qtbrushmanager.h2
-rw-r--r--tools/designer/src/components/propertyeditor/designerpropertymanager.cpp7
-rw-r--r--tools/designer/src/components/signalsloteditor/connectdialog.ui8
-rw-r--r--tools/designer/src/designer/Info_mac.plist2
-rw-r--r--tools/designer/src/designer/designer.pro3
-rw-r--r--tools/designer/src/designer/designer.rc30
-rw-r--r--tools/designer/src/designer/mainwindow.cpp2
-rw-r--r--tools/designer/src/designer/qdesigner_workbench.cpp13
-rw-r--r--tools/designer/src/designer/uifile.icnsbin0 -> 123696 bytes
-rw-r--r--tools/designer/src/lib/sdk/abstractformwindow.cpp14
-rw-r--r--tools/designer/src/lib/sdk/script.cpp6
-rw-r--r--tools/designer/src/lib/shared/iconselector_p.h4
-rw-r--r--tools/designer/src/lib/shared/qdesigner_propertysheet.cpp28
-rw-r--r--tools/designer/src/lib/shared/qtresourceeditordialog_p.h2
-rw-r--r--tools/designer/src/lib/shared/qtresourcemodel_p.h4
-rw-r--r--tools/designer/src/lib/shared/qtresourceview_p.h4
-rw-r--r--tools/designer/src/lib/shared/widgetfactory.cpp6
-rw-r--r--tools/designer/src/lib/uilib/abstractformbuilder.cpp14
-rw-r--r--tools/designer/src/lib/uilib/formbuilder.cpp4
-rw-r--r--tools/designer/src/plugins/activeqt/qaxwidgettaskmenu.cpp2
-rw-r--r--tools/designer/src/uitools/quiloader.cpp8
-rw-r--r--tools/designer/src/uitools/quiloader.h2
-rw-r--r--tools/linguist/lconvert/main.cpp23
-rw-r--r--tools/linguist/linguist/linguist.rc31
-rw-r--r--tools/linguist/linguist/mainwindow.cpp22
-rw-r--r--tools/linguist/linguist/mainwindow.h6
-rw-r--r--tools/linguist/linguist/mainwindow.ui2
-rw-r--r--tools/linguist/linguist/messagemodel.cpp2
-rw-r--r--tools/linguist/lrelease/lrelease.112
-rw-r--r--tools/linguist/lrelease/main.cpp32
-rw-r--r--tools/linguist/lupdate/cpp.cpp122
-rw-r--r--tools/linguist/lupdate/lupdate.114
-rw-r--r--tools/linguist/lupdate/main.cpp22
-rw-r--r--tools/linguist/phrasebooks/french.qph227
-rw-r--r--tools/linguist/shared/abstractproitemvisitor.h24
-rw-r--r--tools/linguist/shared/po.cpp5
-rw-r--r--tools/linguist/shared/profileevaluator.cpp1119
-rw-r--r--tools/linguist/shared/profileevaluator.h13
-rw-r--r--tools/linguist/shared/proitems.cpp84
-rw-r--r--tools/linguist/shared/proitems.h33
-rw-r--r--tools/linguist/shared/proparser.pri2
-rw-r--r--tools/linguist/shared/proreader.cpp131
-rw-r--r--tools/linguist/shared/proreader.h57
-rw-r--r--tools/linguist/shared/qm.cpp57
-rw-r--r--tools/linguist/shared/translator.cpp42
-rw-r--r--tools/linguist/shared/translator.h9
-rw-r--r--tools/linguist/shared/ts.cpp4
-rw-r--r--tools/linguist/shared/ts.dtd8
-rw-r--r--tools/linguist/shared/xliff.cpp14
-rw-r--r--tools/qdbus/qdbusxml2cpp/qdbusxml2cpp.cpp11
-rw-r--r--tools/qdoc3/atom.cpp2
-rw-r--r--tools/qdoc3/atom.h1
-rw-r--r--tools/qdoc3/codemarker.cpp81
-rw-r--r--tools/qdoc3/codemarker.h12
-rw-r--r--tools/qdoc3/command.cpp44
-rw-r--r--tools/qdoc3/config.h1
-rw-r--r--tools/qdoc3/cppcodemarker.cpp141
-rw-r--r--tools/qdoc3/cppcodemarker.h5
-rw-r--r--tools/qdoc3/cppcodeparser.cpp310
-rw-r--r--tools/qdoc3/cppcodeparser.h15
-rw-r--r--tools/qdoc3/doc.cpp35
-rw-r--r--tools/qdoc3/generator.cpp355
-rw-r--r--tools/qdoc3/generator.h13
-rw-r--r--tools/qdoc3/helpprojectwriter.cpp35
-rw-r--r--tools/qdoc3/htmlgenerator.cpp654
-rw-r--r--tools/qdoc3/htmlgenerator.h28
-rw-r--r--tools/qdoc3/jambiapiparser.cpp5
-rw-r--r--tools/qdoc3/javadocgenerator.cpp3
-rw-r--r--tools/qdoc3/javadocgenerator.h2
-rw-r--r--tools/qdoc3/main.cpp12
-rw-r--r--tools/qdoc3/node.cpp118
-rw-r--r--tools/qdoc3/node.h135
-rw-r--r--tools/qdoc3/pagegenerator.cpp59
-rw-r--r--tools/qdoc3/qdoc3.pro3
-rw-r--r--tools/qdoc3/separator.cpp36
-rw-r--r--tools/qdoc3/separator.h1
-rw-r--r--tools/qdoc3/test/assistant.qdocconf4
-rw-r--r--tools/qdoc3/test/classic.css51
-rw-r--r--tools/qdoc3/test/designer.qdocconf4
-rw-r--r--tools/qdoc3/test/linguist.qdocconf4
-rw-r--r--tools/qdoc3/test/macros.qdocconf5
-rw-r--r--tools/qdoc3/test/qmake.qdocconf4
-rw-r--r--tools/qdoc3/test/qt-build-docs.qdocconf4
-rw-r--r--tools/qdoc3/test/qt-cpp-ignore.qdocconf3
-rw-r--r--tools/qdoc3/test/qt-inc.qdocconf5
-rw-r--r--tools/qdoc3/test/qt.qdocconf4
-rw-r--r--tools/qdoc3/tree.cpp54
-rw-r--r--tools/qdoc3/webxmlgenerator.cpp4
-rw-r--r--tools/qtconfig/paletteeditoradvanced.cpp2
-rw-r--r--tools/qtestlib/wince/cetest/activesyncconnection.cpp42
-rw-r--r--tools/qtestlib/wince/cetest/bootstrapped.pri3
-rw-r--r--tools/qtestlib/wince/cetest/deployment.cpp34
-rw-r--r--tools/qtestlib/wince/cetest/main.cpp1
-rw-r--r--tools/qtestlib/wince/cetest/remoteconnection.cpp32
-rw-r--r--tools/qtestlib/wince/cetest/remoteconnection.h2
-rw-r--r--tools/qtestlib/wince/remotelib/commands.cpp10
-rw-r--r--tools/qtestlib/wince/remotelib/commands.h2
-rw-r--r--tools/shared/qtgradienteditor/qtcolorbutton.h2
-rw-r--r--tools/shared/qtgradienteditor/qtcolorline.h2
-rw-r--r--tools/shared/qtgradienteditor/qtgradientdialog.h2
-rw-r--r--tools/shared/qtgradienteditor/qtgradienteditor.h2
-rw-r--r--tools/shared/qtgradienteditor/qtgradientstopscontroller.h2
-rw-r--r--tools/shared/qtgradienteditor/qtgradientstopsmodel.h2
-rw-r--r--tools/shared/qtgradienteditor/qtgradientstopswidget.h2
-rw-r--r--tools/shared/qtgradienteditor/qtgradientwidget.h2
-rw-r--r--tools/shared/qtpropertybrowser/qtbuttonpropertybrowser.h2
-rw-r--r--tools/shared/qtpropertybrowser/qteditorfactory.h30
-rw-r--r--tools/shared/qtpropertybrowser/qtgroupboxpropertybrowser.h2
-rw-r--r--tools/shared/qtpropertybrowser/qtpropertybrowser.h4
-rw-r--r--tools/shared/qtpropertybrowser/qtpropertymanager.h44
-rw-r--r--tools/shared/qtpropertybrowser/qttreepropertybrowser.h2
-rw-r--r--tools/shared/qtpropertybrowser/qtvariantproperty.h4
-rw-r--r--tools/shared/qttoolbardialog/qttoolbardialog.cpp2
-rw-r--r--tools/shared/qttoolbardialog/qttoolbardialog.h4
-rw-r--r--tools/tools.pro2
-rw-r--r--tools/xmlpatterns/main.cpp2
-rw-r--r--tools/xmlpatterns/qcoloringmessagehandler.cpp12
-rw-r--r--tools/xmlpatternsvalidator/main.cpp133
-rw-r--r--tools/xmlpatternsvalidator/main.h76
-rw-r--r--tools/xmlpatternsvalidator/xmlpatternsvalidator.pro19
-rw-r--r--translations/assistant_de.ts100
-rw-r--r--translations/linguist_de.ts194
-rw-r--r--translations/qt_de.ts14
-rw-r--r--util/s60pixelmetrics/bld.inf4
-rw-r--r--util/s60pixelmetrics/pixel_metrics.cpp4
-rw-r--r--util/s60pixelmetrics/pixel_metrics.h4
-rw-r--r--util/s60pixelmetrics/pm_mapper.hrh4
-rw-r--r--util/s60pixelmetrics/pm_mapper.mmp4
-rw-r--r--util/s60pixelmetrics/pm_mapper.rss4
-rw-r--r--util/s60pixelmetrics/pm_mapper_reg.rss4
-rw-r--r--util/s60pixelmetrics/pm_mapperapp.cpp4
-rw-r--r--util/s60pixelmetrics/pm_mapperapp.h4
-rw-r--r--util/s60pixelmetrics/pm_mapperview.cpp4
-rw-r--r--util/s60pixelmetrics/pm_mapperview.h4
-rw-r--r--util/s60theme/main.cpp4
-rw-r--r--util/s60theme/s60themeconvert.cpp4
-rw-r--r--util/s60theme/s60themeconvert.h4
-rwxr-xr-xutil/webkit/mkdist-webkit22
4438 files changed, 183313 insertions, 253333 deletions
diff --git a/bin/patch_capabilities.pl b/bin/patch_capabilities.pl
index 4c4e67a..f1d94e0 100644
--- a/bin/patch_capabilities.pl
+++ b/bin/patch_capabilities.pl
@@ -3,7 +3,7 @@
# A script for setting binary capabilities based on .pkg file contents.
#
# Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
-# Contact: Qt Software Information (qt-info@nokia.com)
+# Contact: Nokia Corporation (qt-info@nokia.com)
#
#######################################################################
@@ -104,4 +104,4 @@ else
print("capabilities supported by self-signed certificates.\n");
print("\nUsage: patch_capabilities.pl pkg_filename [capability list]\n");
print("\nE.g. patch_capabilities.pl myapp_armv5_urel.pkg \"All -TCB\"\n");
-} \ No newline at end of file
+}
diff --git a/bin/syncqt b/bin/syncqt
index 6c4de6a..589659f 100755
--- a/bin/syncqt
+++ b/bin/syncqt
@@ -43,6 +43,7 @@ my %modules = ( # path to module name map
"QtDBus" => "$basedir/src/dbus",
"QtWebKit" => "$basedir/src/3rdparty/webkit/WebCore",
"phonon" => "$basedir/src/phonon",
+ "QtMultimedia" => "$basedir/src/multimedia",
);
my %moduleheaders = ( # restrict the module headers to those found in relative path
"QtWebKit" => "../WebKit/qt/Api",
diff --git a/config.tests/mac/defaultarch.test b/config.tests/mac/defaultarch.test
index 4502af7..80f244a 100755
--- a/config.tests/mac/defaultarch.test
+++ b/config.tests/mac/defaultarch.test
@@ -3,7 +3,7 @@
COMPILER=$1
VERBOSE=$2
WORKDIR=$3
-QT_MAC_DEFUALT_ARCH=
+QT_MAC_DEFAULT_ARCH=
touch defaultarch.c
@@ -17,17 +17,17 @@ rm -f defaultarch.c defaultarch.o
# detect our known archs.
if echo "$FIlE_OUTPUT" | grep '\<i386\>' > /dev/null 2>&1; then
- QT_MAC_DEFUALT_ARCH=x86 # configure knows it as "x86" not "i386"
+ QT_MAC_DEFAULT_ARCH=x86 # configure knows it as "x86" not "i386"
fi
if echo "$FIlE_OUTPUT" | grep '\<x86_64\>' > /dev/null 2>&1; then
- QT_MAC_DEFUALT_ARCH=x86_64
+ QT_MAC_DEFAULT_ARCH=x86_64
fi
if echo "$FIlE_OUTPUT" | grep '\<ppc\>' > /dev/null 2>&1; then
- QT_MAC_DEFUALT_ARCH=ppc
+ QT_MAC_DEFAULT_ARCH=ppc
fi
if echo "$FIlE_OUTPUT" | grep '\<ppc64\>' > /dev/null 2>&1; then
- QT_MAC_DEFUALT_ARCH=ppc64
+ QT_MAC_DEFAULT_ARCH=ppc64
fi
-[ "$VERBOSE" = "yes" ] && echo "setting QT_MAC_DEFUALT_ARCH to \"$QT_MAC_DEFUALT_ARCH\""
-export QT_MAC_DEFUALT_ARCH
+[ "$VERBOSE" = "yes" ] && echo "setting QT_MAC_DEFAULT_ARCH to \"$QT_MAC_DEFAULT_ARCH\""
+export QT_MAC_DEFAULT_ARCH
diff --git a/config.tests/unix/alsa/alsa.pro b/config.tests/unix/alsa/alsa.pro
new file mode 100644
index 0000000..4931d38
--- /dev/null
+++ b/config.tests/unix/alsa/alsa.pro
@@ -0,0 +1,4 @@
+SOURCES = alsatest.cpp
+LIBS+=-lasound
+CONFIG -= qt dylib
+mac:CONFIG -= app_bundle
diff --git a/config.tests/unix/alsa/alsatest.cpp b/config.tests/unix/alsa/alsatest.cpp
new file mode 100644
index 0000000..af2f5d9
--- /dev/null
+++ b/config.tests/unix/alsa/alsatest.cpp
@@ -0,0 +1,6 @@
+#include <alsa/asoundlib.h>
+int main(int argc,char **argv)
+{
+ return 0;
+}
+
diff --git a/config.tests/unix/makeabs b/config.tests/unix/makeabs
index 9d66108..c415cc7 100755
--- a/config.tests/unix/makeabs
+++ b/config.tests/unix/makeabs
@@ -3,7 +3,13 @@
FILE="$1"
RES="$FILE"
-if [ `echo $FILE | cut -b1` = "/" ]; then
+CUT_ARG="-b1"
+if [ `uname -s` = "QNX" ]; then
+ # QNX does not understand "-b1"
+ CUT_ARG="-c1"
+fi
+
+if [ `echo $FILE | cut $CUT_ARG` = "/" ]; then
true
else
RES="$PWD/$FILE"
diff --git a/config.tests/unix/openssl/openssl.pri b/config.tests/unix/openssl/openssl.pri
index c8703c2..377d630 100644
--- a/config.tests/unix/openssl/openssl.pri
+++ b/config.tests/unix/openssl/openssl.pri
@@ -1,12 +1,5 @@
-!cross_compile {
- TRY_INCLUDEPATHS = /include /usr/include /usr/local/include $$QMAKE_INCDIR $$INCLUDEPATH
- # LSB doesn't allow using headers from /include or /usr/include
- linux-lsb-g++:TRY_INCLUDEPATHS = $$QMAKE_INCDIR $$INCLUDEPATH
- for(p, TRY_INCLUDEPATHS) {
- pp = $$join(p, "", "", "/openssl")
- exists($$pp):INCLUDEPATH *= $$p
- }
-}
+# Empty file since Qt 4.6
+# I'm too lazy to find all places where this file is included
symbian{
TRY_INCLUDEPATHS = $${EPOCROOT}epoc32 $${EPOCROOT}epoc32/include $${EPOCROOT}epoc32/include/stdapis $${EPOCROOT}epoc32/include/stdapis/sys $$OS_LAYER_LIBC_SYSTEMINCLUDE $$QMAKE_INCDIR $$INCLUDEPATH
diff --git a/config.tests/unix/stl/stltest.cpp b/config.tests/unix/stl/stltest.cpp
index ff653a4..4d74ed1 100644
--- a/config.tests/unix/stl/stltest.cpp
+++ b/config.tests/unix/stl/stltest.cpp
@@ -9,6 +9,53 @@ templates for common STL container classes.
#include <algorithm>
#include <iostream>
+// something mean to see if the compiler and C++ standard lib are good enough
+template<class K, class T>
+class DummyClass
+{
+ // everything in std namespace ?
+ typedef std::bidirectional_iterator_tag i;
+ typedef std::ptrdiff_t d;
+ // typename implemented ?
+ typedef typename std::map<K,T>::iterator MyIterator;
+};
+
+// extracted from QVector's strict iterator
+template<class T>
+class DummyIterator
+{
+ typedef DummyIterator<int> iterator;
+public:
+ T *i;
+ typedef std::random_access_iterator_tag iterator_category;
+ typedef ptrdiff_t difference_type;
+ typedef T value_type;
+ typedef T *pointer;
+ typedef T &reference;
+
+ inline DummyIterator() : i(0) {}
+ inline DummyIterator(T *n) : i(n) {}
+ inline DummyIterator(const DummyIterator &o): i(o.i){}
+ inline T &operator*() const { return *i; }
+ inline T *operator->() const { return i; }
+ inline T &operator[](int j) const { return *(i + j); }
+ inline bool operator==(const DummyIterator &o) const { return i == o.i; }
+ inline bool operator!=(const DummyIterator &o) const { return i != o.i; }
+ inline bool operator<(const DummyIterator& other) const { return i < other.i; }
+ inline bool operator<=(const DummyIterator& other) const { return i <= other.i; }
+ inline bool operator>(const DummyIterator& other) const { return i > other.i; }
+ inline bool operator>=(const DummyIterator& other) const { return i >= other.i; }
+ inline DummyIterator &operator++() { ++i; return *this; }
+ inline DummyIterator operator++(int) { T *n = i; ++i; return n; }
+ inline DummyIterator &operator--() { i--; return *this; }
+ inline DummyIterator operator--(int) { T *n = i; i--; return n; }
+ inline DummyIterator &operator+=(int j) { i+=j; return *this; }
+ inline DummyIterator &operator-=(int j) { i-=j; return *this; }
+ inline DummyIterator operator+(int j) const { return DummyIterator(i+j); }
+ inline DummyIterator operator-(int j) const { return DummyIterator(i-j); }
+ inline int operator-(DummyIterator j) const { return i - j.i; }
+};
+
int main()
{
std::vector<int> v1;
@@ -53,16 +100,10 @@ int main()
int m2size = m2.size();
m2size = 0;
+ DummyIterator<int> it1, it2;
+ int n = std::distance(it1, it2);
+ std::advance(it1, 3);
+
return 0;
}
-// something mean to see if the compiler and C++ standard lib are good enough
-template<class K, class T>
-class DummyClass
-{
- // everything in std namespace ?
- typedef std::bidirectional_iterator_tag i;
- typedef std::ptrdiff_t d;
- // typename implemented ?
- typedef typename std::map<K,T>::iterator MyIterator;
-};
diff --git a/config.tests/x11/xsync/xsync.cpp b/config.tests/x11/xsync/xsync.cpp
new file mode 100644
index 0000000..a23fb08
--- /dev/null
+++ b/config.tests/x11/xsync/xsync.cpp
@@ -0,0 +1,11 @@
+#include <X11/Xlib.h>
+#include <X11/Xutil.h>
+#include <X11/extensions/sync.h>
+
+int main(int, char **)
+{
+ XSyncValue value;
+ (void*)&XSyncIntToValue;
+ (void*)&XSyncCreateCounter;
+ return 0;
+}
diff --git a/config.tests/x11/xsync/xsync.pro b/config.tests/x11/xsync/xsync.pro
new file mode 100644
index 0000000..58b8238
--- /dev/null
+++ b/config.tests/x11/xsync/xsync.pro
@@ -0,0 +1,3 @@
+CONFIG += x11
+CONFIG -= qt
+SOURCES = xsync.cpp
diff --git a/configure b/configure
index f9b3030..1d1f826 100755
--- a/configure
+++ b/configure
@@ -542,9 +542,12 @@ cp "$QMAKE_VARS_FILE" "$outpath/config.tests/.qmake.cache"
QMakeVar add styles "cde mac motif plastique cleanlooks windows"
QMakeVar add decorations "default windows styled"
-QMakeVar add gfx-drivers "linuxfb"
+QMakeVar add mouse-drivers "pc"
+if [ "$UNAME_SYSTEM" = "Linux" ] ; then
+ QMakeVar add gfx-drivers "linuxfb"
+ QMakeVar add mouse-drivers "linuxtp"
+fi
QMakeVar add kbd-drivers "tty"
-QMakeVar add mouse-drivers "pc linuxtp"
if [ "$CFG_DEV" = "yes" ]; then
QMakeVar add kbd-drivers "um"
@@ -570,6 +573,7 @@ CFG_DEBUG_RELEASE=no
CFG_SHARED=yes
CFG_SM=auto
CFG_XSHAPE=auto
+CFG_XSYNC=auto
CFG_XINERAMA=runtime
CFG_XFIXES=runtime
CFG_ZLIB=auto
@@ -605,6 +609,7 @@ CFG_NOBUILD_PARTS=""
CFG_RELEASE_QMAKE=no
CFG_PHONON=auto
CFG_PHONON_BACKEND=yes
+CFG_MULTIMEDIA=yes
CFG_SVG=yes
CFG_WEBKIT=auto # (yes|no|auto)
@@ -613,11 +618,17 @@ CFG_GFX_ON="linuxfb multiscreen"
CFG_GFX_PLUGIN_AVAILABLE=
CFG_GFX_PLUGIN=
CFG_GFX_OFF=
-CFG_KBD_AVAILABLE="tty linuxinput sl5000 yopy vr41xx qvfb"
+CFG_KBD_AVAILABLE="tty linuxinput qvfb"
CFG_KBD_ON="tty" #default, see QMakeVar above
-CFG_MOUSE_AVAILABLE="pc bus linuxtp yopy vr41xx tslib qvfb"
+CFG_MOUSE_AVAILABLE="pc linuxtp linuxinput tslib qvfb"
CFG_MOUSE_ON="pc linuxtp" #default, see QMakeVar above
+if [ -f "$relpath/src/gui/embedded/qscreenqnx_qws.cpp" ]; then
+ CFG_KBD_AVAILABLE="${CFG_KBD_AVAILABLE} qnx"
+ CFG_MOUSE_AVAILABLE="${CFG_MOUSE_AVAILABLE} qnx"
+ CFG_GFX_AVAILABLE="${CFG_GFX_AVAILABLE} qnx"
+fi
+
CFG_ARCH=
CFG_HOST_ARCH=
CFG_KBD_PLUGIN_AVAILABLE=
@@ -699,6 +710,7 @@ OPT_VERBOSE=no
OPT_HELP=
CFG_SILENT=no
CFG_GRAPHICS_SYSTEM=default
+CFG_ALSA=auto
# initalize variables used for installation
QT_INSTALL_PREFIX=
@@ -838,7 +850,7 @@ while [ "$#" -gt 0 ]; do
VAL=no
;;
#Qt style yes options
- -incremental|-qvfb|-profile|-shared|-static|-sm|-xinerama|-xshape|-xinput|-reduce-exports|-pch|-separate-debug-info|-stl|-freetype|-xcursor|-xfixes|-xrandr|-xrender|-mitshm|-fontconfig|-xkb|-nis|-qdbus|-dbus|-dbus-linked|-glib|-gstreamer|-gtkstyle|-cups|-iconv|-largefile|-h|-help|-v|-verbose|-debug|-release|-fast|-accessibility|-confirm-license|-gnumake|-framework|-qt3support|-debug-and-release|-exceptions|-cocoa|-universal|-prefix-install|-silent|-armfpa|-optimized-qmake|-dwarf2|-reduce-relocations|-sse|-openssl|-openssl-linked|-ptmalloc|-xmlpatterns|-phonon|-phonon-backend|-svg|-webkit|-scripttools|-rpath|-force-pkg-config)
+ -incremental|-qvfb|-profile|-shared|-static|-sm|-xinerama|-xshape|-xshape|-xinput|-reduce-exports|-pch|-separate-debug-info|-stl|-freetype|-xcursor|-xfixes|-xrandr|-xrender|-mitshm|-fontconfig|-xkb|-nis|-qdbus|-dbus|-dbus-linked|-glib|-gstreamer|-gtkstyle|-cups|-iconv|-largefile|-h|-help|-v|-verbose|-debug|-release|-fast|-accessibility|-confirm-license|-gnumake|-framework|-qt3support|-debug-and-release|-exceptions|-cocoa|-universal|-prefix-install|-silent|-armfpa|-optimized-qmake|-dwarf2|-reduce-relocations|-sse|-openssl|-openssl-linked|-ptmalloc|-xmlpatterns|-phonon|-phonon-backend|-multimedia|-svg|-webkit|-scripttools|-rpath|-force-pkg-config)
VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
VAL=yes
;;
@@ -1165,6 +1177,8 @@ while [ "$#" -gt 0 ]; do
else
if [ "$VAL" = "opengl" ]; then
CFG_GRAPHICS_SYSTEM="opengl"
+ elif [ "$VAL" = "openvg" ]; then
+ CFG_GRAPHICS_SYSTEM="openvg"
elif [ "$VAL" = "raster" ]; then
CFG_GRAPHICS_SYSTEM="raster"
else
@@ -1444,6 +1458,13 @@ while [ "$#" -gt 0 ]; do
UNKNOWN_OPT=yes
fi
;;
+ xsync)
+ if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
+ CFG_XSYNC="$VAL"
+ else
+ UNKNOWN_OPT=yes
+ fi
+ ;;
xinput)
if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "runtime" ]; then
CFG_XINPUT="$VAL"
@@ -1957,6 +1978,13 @@ while [ "$#" -gt 0 ]; do
UNKNOWN_OPT=yes
fi
;;
+ multimedia)
+ if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
+ CFG_MULTIMEDIA="$VAL"
+ else
+ UNKNOWN_OPT=yes
+ fi
+ ;;
*)
UNKNOWN_OPT=yes
;;
@@ -2011,6 +2039,12 @@ for e in gawk nawk awk; do
fi
done
+# find perl
+PERL="/usr/bin/perl"
+if "$WHICH" perl >/dev/null 2>&1 && ( perl /dev/null ) >/dev/null 2>&1; then
+ PERL=`$WHICH perl`
+fi
+
### skip this if the user just needs help...
if [ "$OPT_HELP" != "yes" ]; then
@@ -2239,6 +2273,13 @@ if [ "$CFG_EMBEDDED" != "no" ]; then
XPLATFORM="qws/linux-$CFG_EMBEDDED-g++"
fi
;;
+ QNX:*)
+ [ -z "$PLATFORM" ] && PLATFORM=unsupported/qws/qnx-generic-g++
+ if [ -z "$XPLATFORM" ]; then
+ [ "$CFG_EMBEDDED" = "auto" ] && CFG_EMBEDDED=generic
+ XPLATFORM="unsupported/qws/qnx-$CFG_EMBEDDED-g++"
+ fi
+ ;;
CYGWIN*:*)
CFG_EMBEDDED=x86
;;
@@ -2390,6 +2431,9 @@ if [ -z "$PLATFORM" ]; then
UNIX_SV:*)
PLATFORM=unixware-g++
;;
+ QNX:*)
+ PLATFORM=unsupported/qnx-g++
+ ;;
*)
if [ "$OPT_HELP" != "yes" ]; then
echo
@@ -2615,6 +2659,16 @@ if [ -z "${CFG_HOST_ARCH}" ]; then
fi
CFG_HOST_ARCH=sparc
;;
+ QNX:*:*)
+ case "$UNAME_MACHINE" in
+ x86pc)
+ if [ "$OPT_VERBOSE" = "yes" ]; then
+ echo " QNX on Intel 80x86 (i386)"
+ fi
+ CFG_HOST_ARCH=i386
+ ;;
+ esac
+ ;;
*:*:*)
if [ "$OPT_VERBOSE" = "yes" ]; then
echo " Trying '$UNAME_MACHINE'..."
@@ -3107,6 +3161,7 @@ Usage: $relconf [-h] [-prefix <dir>] [-prefix-install] [-bindir <dir>] [-libdir
[-no-optimized-qmake] [-optimized-qmake] [-no-xmlpatterns] [-xmlpatterns]
[-no-phonon] [-phonon] [-no-phonon-backend] [-phonon-backend]
[-no-openssl] [-openssl] [-openssl-linked]
+ [-no-multimedia] [-multimedia]
[-no-gtkstyle] [-gtkstyle] [-no-svg] [-svg] [-no-webkit] [-webkit]
[-no-scripttools] [-scripttools]
@@ -3247,6 +3302,9 @@ fi
-no-phonon-backend.. Do not build the platform phonon plugin.
+ -phonon-backend..... Build the platform phonon plugin.
+ -no-multimedia ..... Do not build the multimedia module.
+ * -multimedia ........ Build the multimedia module.
+
-no-svg ............ Do not build the SVG module.
+ -svg ............... Build the SVG module.
@@ -3517,6 +3575,10 @@ Qt/X11 only:
$SHY -xshape ............ Compile XShape support.
Requires X11/extensions/shape.h.
+ $SHN -no-xsync .......... Do not compile XSync support.
+ $SHY -xsync ............. Compile XSync support.
+ Requires X11/extensions/sync.h.
+
$XAN -no-xinerama ....... Do not compile Xinerama (multihead) support.
$XAY -xinerama .......... Compile Xinerama support.
Requires X11/extensions/Xinerama.h and libXinerama.
@@ -3757,7 +3819,7 @@ elif [ "$Edition" = "OpenSource" ]; then
read acceptance
fi
echo
- if [ "$acceptance" = "yes" ]; then
+ if [ "$acceptance" = "yes" ] || [ "$acceptance" = "y" ]; then
break
elif [ "$acceptance" = "no" ]; then
echo "You are not licensed to use this software."
@@ -5064,6 +5126,23 @@ if [ "$PLATFORM_X11" = "yes" ]; then
fi
fi
+ # auto-detect XSync support
+ if [ "$CFG_XSYNC" != "no" ]; then
+ if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/xsync "XSync" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS; then
+ CFG_XSYNC=yes
+ else
+ if [ "$CFG_XSYNC" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
+ echo "XSync support cannot be enabled due to functionality tests!"
+ echo " Turn on verbose messaging (-v) to $0 to see the final report."
+ echo " If you believe this message is in error you may use the continue"
+ echo " switch (-continue) to $0 to continue."
+ exit 101
+ else
+ CFG_XSYNC=no
+ fi
+ fi
+ fi
+
# auto-detect Xinerama support
if [ "$CFG_XINERAMA" != "no" ]; then
if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/xinerama "Xinerama" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS; then
@@ -5583,6 +5662,12 @@ if [ "$CFG_OPENVG" != "no" ]; then
fi
fi
+# if openvg is disabled and the user specified graphicssystem vg, disable it...
+if [ "$CFG_GRAPHICS_SYSTEM" = "openvg" ] && [ "$CFG_OPENVG" = "no" ]; then
+ echo "OpenVG Graphics System is disabled due to missing OpenVG support..."
+ CFG_GRAPHICS_SYSTEM=default
+fi
+
if [ "$CFG_PTMALLOC" != "no" ]; then
# build ptmalloc, copy .a file to lib/
echo "Building ptmalloc. Please wait..."
@@ -5592,6 +5677,14 @@ if [ "$CFG_PTMALLOC" != "no" ]; then
QMakeVar add QMAKE_LFLAGS "$outpath/lib/libptmalloc3.a"
fi
+if [ "$CFG_ALSA" = "auto" ]; then
+ if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/alsa "alsa" $L_FLAGS $I_FLAGS $l_FLAGS; then
+ CFG_ALSA=yes
+ else
+ CFG_ALSA=no
+ fi
+fi
+
#-------------------------------------------------------------------------------
# ask for all that hasn't been auto-detected or specified in the arguments
#-------------------------------------------------------------------------------
@@ -5635,17 +5728,23 @@ if [ "$CFG_MAC_DWARF2" = "yes" ]; then
QT_CONFIG="$QT_CONFIG dwarf2"
fi
-# Set the default arch. Select 32-bit/carbon if nothing else has
-# been specified on the configure line.
+# Set the default arch.
+# Carbon builds: 32 bit x86/ppc.
+# For "-cocoa" builds on snow leopard : compiler default (64-bit).
+# For "-cocoa" builds on leopard : compiler default (32-bit).
if [ "$PLATFORM_MAC" = "yes" ] && [ "$CFG_MAC_ARCHS" == "" ]; then
source "$mactests/defaultarch.test" "$TEST_COMPILER" "$OPT_VERBOSE" "$mactests"
- if [ "$QT_MAC_DEFUALT_ARCH" == "x86_64" ]; then
- CFG_MAC_ARCHS=" x86"
- elif [ "$QT_MAC_DEFUALT_ARCH" == "ppc64" ]; then
- CFG_MAC_ARCHS=" ppc"
- else
- CFG_MAC_ARCHS=" $QT_MAC_DEFUALT_ARCH"
+ if [ "$CFG_MAC_COCOA" != "yes" ]; then
+ if [ "$QT_MAC_DEFAULT_ARCH" == "x86_64" ]; then
+ CFG_MAC_ARCHS=" x86"
+ elif [ "$QT_MAC_DEFAULT_ARCH" == "ppc64" ]; then
+ CFG_MAC_ARCHS=" ppc"
+ else
+ CFG_MAC_ARCHS=" $QT_MAC_DEFAULT_ARCH"
+ fi
+ else
+ CFG_MAC_ARCHS=" $QT_MAC_DEFAULT_ARCH"
fi
[ "$OPT_VERBOSE" == "yes" ] && echo "Setting Mac architechture to$CFG_MAC_ARCHS."
@@ -5686,6 +5785,13 @@ case "$PLATFORM,$CFG_MAC_COCOA" in
;;
esac
+# disable Qt 3 support on VxWorks
+case "$XPLATFORM" in
+ unsupported/vxworks*)
+ CFG_QT3SUPPORT="no"
+ ;;
+esac
+
# enable Qt 3 support functionality
if [ "$CFG_QT3SUPPORT" = "yes" ]; then
QT_CONFIG="$QT_CONFIG qt3support"
@@ -5924,6 +6030,9 @@ if [ "$PLATFORM_X11" = "yes" ]; then
if [ "$CFG_XSHAPE" = "yes" ]; then
QT_CONFIG="$QT_CONFIG xshape"
fi
+ if [ "$CFG_XSYNC" = "yes" ]; then
+ QT_CONFIG="$QT_CONFIG xsync"
+ fi
if [ "$CFG_XINERAMA" = "yes" ]; then
QT_CONFIG="$QT_CONFIG xinerama"
QMakeVar set QMAKE_LIBS_X11 '-lXinerama $$QMAKE_LIBS_X11'
@@ -6016,6 +6125,10 @@ if [ "$CFG_EXCEPTIONS" != "no" ]; then
QTCONFIG_CONFIG="$QTCONFIG_CONFIG exceptions"
fi
+if [ "$CFG_ALSA" = "yes" ]; then
+ QT_CONFIG="$QT_CONFIG alsa"
+fi
+
#
# Some Qt modules are too advanced in C++ for some old compilers
# Detect here the platforms where they are known to work.
@@ -6025,6 +6138,7 @@ fi
#
canBuildQtXmlPatterns="yes"
canBuildWebKit="$HAVE_STL"
+canBuildQtConcurrent="yes"
# WebKit requires stdint.h
"$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/stdint "Stdint" $L_FLAGS $I_FLAGS $l_FLAGS
@@ -6051,14 +6165,21 @@ case "$XPLATFORM" in
;;
esac
;;
+ unsupported/vxworks-*-g++*)
+ canBuildWebKit="no"
+ ;;
+ unsupported/vxworks-*-dcc*)
+ canBuildWebKit="no"
+ canBuildQtXmlPatterns="no"
+ ;;
*-g++*)
# Check gcc's version
case "$(${QMAKE_CONF_COMPILER} -dumpversion)" in
4*|3.4*)
;;
- 3.3*)
- canBuildWebKit="no"
- ;;
+ 3.3*)
+ canBuildWebKit="no"
+ ;;
*)
canBuildWebKit="no"
canBuildQtXmlPatterns="no"
@@ -6066,30 +6187,74 @@ case "$XPLATFORM" in
esac
;;
solaris-cc*)
- # Check the compiler version
- case `${QMAKE_CONF_COMPILER} -V 2>&1 | awk '{print $4}'` in
- *)
- canBuildWebKit="no"
- canBuildQtXmlPatterns="no"
- ;;
- esac
- ;;
+ # Check the compiler version
+ case `${QMAKE_CONF_COMPILER} -V 2>&1 | awk '{print $4}'` in
+ 5.[012345678])
+ canBuildWebKit="no"
+ canBuildQtXmlPatterns="no"
+ canBuildQtConcurrent="no"
+ ;;
+ 5.9)
+ canBuildWebKit="no"
+ canBuildQtConcurrent="no"
+ ;;
+ esac
+ ;;
hpux-acc*)
canBuildWebKit="no"
canBuildQtXmlPatterns="no"
+ canBuildQtConcurrent="no"
;;
hpuxi-acc*)
canBuildWebKit="no"
;;
aix-xlc*)
- canBuildWebKit="no"
- canBuildQtXmlPatterns="no"
- ;;
+ # Get the xlC version
+ cat > xlcver.c <<EOF
+#include <stdio.h>
+int main()
+{
+ printf("%d.%d\n", __xlC__ >> 8, __xlC__ & 0xFF);
+ return 0;
+}
+EOF
+ xlcver=
+ if ${QMAKE_CONF_COMPILER} -o xlcver xlcver.c >/dev/null 2>/dev/null; then
+ xlcver=`./xlcver 2>/dev/null`
+ rm -f ./xlcver
+ fi
+ if [ "$OPT_VERBOSE" = "yes" ]; then
+ if [ -n "$xlcver" ]; then
+ echo Found IBM xlC version: $xlcver.
+ else
+ echo Could not determine IBM xlC version, assuming oldest supported.
+ fi
+ fi
+
+ case "$xlcver" in
+ [123456].*)
+ canBuildWebKit="no"
+ canBuildQtXmlPatterns="no"
+ canBuildQtConcurrent="no"
+ ;;
+ *)
+ canBuildWebKit="no"
+ canBuildQtConcurrent="no"
+ ;;
+ esac
+ ;;
irix-cc*)
canBuildWebKit="no"
+ canBuildQtConcurrent="no"
;;
esac
+CFG_CONCURRENT="yes"
+if [ "$canBuildQtConcurrent" = "no" ]; then
+ QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_CONCURRENT"
+ CFG_CONCURRENT="no"
+fi
+
if [ "$CFG_XMLPATTERNS" = "yes" -a "$CFG_EXCEPTIONS" = "no" ]; then
echo "QtXmlPatterns was requested, but it can't be built due to exceptions being disabled."
exit 1
@@ -6135,6 +6300,12 @@ else
QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_SCRIPTTOOLS"
fi
+if [ "$CFG_MULTIMEDIA" = "yes" ]; then
+ QT_CONFIG="$QT_CONFIG multimedia"
+else
+ QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_MULTIMEDIA"
+fi
+
if [ "$CFG_EXCEPTIONS" = "no" ]; then
case "$COMPILER" in
g++*)
@@ -6243,10 +6414,8 @@ esac
# Different edition modules:
# network canvas table xml opengl sql
#
-# Options:
-# stl
-#
# Things that do not affect the Qt API/ABI:
+# stl
# system-jpeg no-jpeg jpeg
# system-mng no-mng mng
# system-png no-png png
@@ -6256,7 +6425,6 @@ esac
# debug release
# dll staticlib
#
-# internal
# nocrosscompiler
# GNUmake
# largefile
@@ -6268,7 +6436,7 @@ esac
# X11 : x11sm xinerama xcursor xfixes xrandr xrender mitshm fontconfig xkb
# Embedded: embedded freetype
#
-ALL_OPTIONS="stl"
+ALL_OPTIONS=
BUILD_CONFIG=
BUILD_OPTIONS=
@@ -6282,12 +6450,6 @@ for config_option in $QMAKE_CONFIG $QT_CONFIG; do
BUILD_CONFIG="$config_option"
;;
- stl)
- # these config options affect the Qt API/ABI. they should influence
- # the generation of the buildkey, so we don't skip them
- SKIP="no"
- ;;
-
*) # skip all other options since they don't affect the Qt API/ABI.
;;
esac
@@ -6607,6 +6769,7 @@ QMakeVar set sql-plugins "$SQL_PLUGINS"
if [ "$PLATFORM_QWS" != "yes" ]; then
[ "$CFG_GRAPHICS_SYSTEM" = "raster" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_GRAPHICSSYSTEM_RASTER"
[ "$CFG_GRAPHICS_SYSTEM" = "opengl" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_GRAPHICSSYSTEM_OPENGL"
+ [ "$CFG_GRAPHICS_SYSTEM" = "openvg" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_GRAPHICSSYSTEM_OPENVG"
fi
# X11/Unix/Mac only configs
@@ -6636,6 +6799,7 @@ fi
[ "$CFG_XRENDER" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XRENDER"
[ "$CFG_MITSHM" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_MITSHM"
[ "$CFG_XSHAPE" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_SHAPE"
+[ "$CFG_XSYNC" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XSYNC"
[ "$CFG_XINPUT" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XINPUT QT_NO_TABLET"
[ "$CFG_XCURSOR" = "runtime" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_RUNTIME_XCURSOR"
@@ -6643,6 +6807,7 @@ fi
[ "$CFG_XFIXES" = "runtime" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_RUNTIME_XFIXES"
[ "$CFG_XRANDR" = "runtime" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_RUNTIME_XRANDR"
[ "$CFG_XINPUT" = "runtime" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_RUNTIME_XINPUT"
+[ "$CFG_ALSA" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_ALSA"
# sort QCONFIG_FLAGS for neatness if we can
[ '!' -z "$AWK" ] && QCONFIG_FLAGS=`echo $QCONFIG_FLAGS | $AWK '{ gsub(" ", "\n"); print }' | sort | uniq`
@@ -6736,6 +6901,9 @@ fi
if [ "$PLATFORM_MAC" = "yes" ]; then
QT_CONFIG="$QT_CONFIG $CFG_MAC_ARCHS"
fi
+if [ "$CFG_DEV" = "yes" ]; then
+ QT_CONFIG="$QT_CONFIG private_tests"
+fi
# Make the application arch follow the Qt arch for single arch builds.
# (for multiple-arch builds, set CONFIG manually in the application .pro file)
@@ -6995,9 +7163,11 @@ echo "Qt 3 compatibility .. $CFG_QT3SUPPORT"
[ "$CFG_DBUS" = "no" ] && echo "QtDBus module ....... no"
[ "$CFG_DBUS" = "yes" ] && echo "QtDBus module ....... yes (run-time)"
[ "$CFG_DBUS" = "linked" ] && echo "QtDBus module ....... yes (linked)"
+echo "QtConcurrent code.... $CFG_CONCURRENT"
echo "QtScriptTools module $CFG_SCRIPTTOOLS"
echo "QtXmlPatterns module $CFG_XMLPATTERNS"
echo "Phonon module ....... $CFG_PHONON"
+echo "Multimedia module ... $CFG_MULTIMEDIA"
echo "SVG module .......... $CFG_SVG"
echo "WebKit module ....... $CFG_WEBKIT"
echo "STL support ......... $CFG_STL"
@@ -7094,6 +7264,7 @@ fi
if [ "$PLATFORM_X11" = "yes" ]; then
echo "NAS sound support ... $CFG_NAS"
echo "XShape support ...... $CFG_XSHAPE"
+ echo "XSync support ....... $CFG_XSYNC"
echo "Xinerama support .... $CFG_XINERAMA"
echo "Xcursor support ..... $CFG_XCURSOR"
echo "Xfixes support ...... $CFG_XFIXES"
@@ -7147,6 +7318,7 @@ if [ "$PLATFORM_MAC" = "yes" ] && [ "$CFG_FRAMEWORK" = "yes" ] && [ "$CFG_DEBUG"
echo "NOTE: Mac OS X frameworks implicitly build debug and release Qt libraries."
echo
fi
+echo "alsa support ........ $CFG_ALSA"
echo
sepath=`echo "$relpath" | sed -e 's/\\./\\\\./g'`
diff --git a/configure.exe b/configure.exe
index 0a0d121..1019167 100755
--- a/configure.exe
+++ b/configure.exe
Binary files differ
diff --git a/demos/browser/browserapplication.cpp b/demos/browser/browserapplication.cpp
index 5ef3ce6..b27b5c1 100644
--- a/demos/browser/browserapplication.cpp
+++ b/demos/browser/browserapplication.cpp
@@ -205,6 +205,7 @@ void BrowserApplication::postLaunch()
if (directory.isEmpty())
directory = QDir::homePath() + QLatin1String("/.") + QCoreApplication::applicationName();
QWebSettings::setIconDatabasePath(directory);
+ QWebSettings::setOfflineStoragePath(directory);
setWindowIcon(QIcon(QLatin1String(":browser.svg")));
diff --git a/demos/browser/browsermainwindow.cpp b/demos/browser/browsermainwindow.cpp
index c386991..8dd59d5 100644
--- a/demos/browser/browsermainwindow.cpp
+++ b/demos/browser/browsermainwindow.cpp
@@ -81,6 +81,7 @@ BrowserMainWindow::BrowserMainWindow(QWidget *parent, Qt::WindowFlags flags)
, m_stop(0)
, m_reload(0)
{
+ setToolButtonStyle(Qt::ToolButtonFollowStyle);
setAttribute(Qt::WA_DeleteOnClose, true);
statusBar()->setSizeGripEnabled(true);
setupMenu();
diff --git a/demos/demobase.pri b/demos/demobase.pri
index 9ec8fe9..ec26f3a 100644
--- a/demos/demobase.pri
+++ b/demos/demobase.pri
@@ -1,12 +1,12 @@
-symbian {
- RSS_RULES ="group_name=\"QtDemos\";"
-
- vendorinfo = \
- "; Localised Vendor name" \
- "%{\"Nokia, Qt Software\"}" \
- " " \
- "; Unique Vendor name" \
- ":\"Nokia, Qt Software\"" \
- " "
- default_deployment.pkg_prerules += vendorinfo
-} \ No newline at end of file
+symbian {
+ RSS_RULES ="group_name=\"QtDemos\";"
+
+ vendorinfo = \
+ "; Localised Vendor name" \
+ "%{\"Nokia, Qt Software\"}" \
+ " " \
+ "; Unique Vendor name" \
+ ":\"Nokia, Qt Software\"" \
+ " "
+ default_deployment.pkg_prerules += vendorinfo
+}
diff --git a/demos/demos.pro b/demos/demos.pro
index 3856591..d734c05 100644
--- a/demos/demos.pro
+++ b/demos/demos.pro
@@ -13,7 +13,8 @@ SUBDIRS = \
demos_textedit \
demos_chip \
demos_embeddeddialogs \
- demos_undo
+ demos_undo \
+ demos_sub-attaq
symbian: SUBDIRS = \
demos_shared \
@@ -68,6 +69,7 @@ demos_mediaplayer.subdir = mediaplayer
demos_browser.subdir = browser
demos_boxes.subdir = boxes
+demos_sub-attaq.subdir = sub-attaq
#CONFIG += ordered
!ordered {
diff --git a/demos/embedded/anomaly/src/AddressBar.cpp b/demos/embedded/anomaly/src/AddressBar.cpp
index 64734c8..0fd3d35 100644
--- a/demos/embedded/anomaly/src/AddressBar.cpp
+++ b/demos/embedded/anomaly/src/AddressBar.cpp
@@ -1,7 +1,7 @@
/****************************************************************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the Anomaly project on Qt Labs.
**
@@ -14,7 +14,7 @@
** http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
**
** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
diff --git a/demos/embedded/anomaly/src/AddressBar.h b/demos/embedded/anomaly/src/AddressBar.h
index 632ae1f..a1e58d2 100644
--- a/demos/embedded/anomaly/src/AddressBar.h
+++ b/demos/embedded/anomaly/src/AddressBar.h
@@ -1,7 +1,7 @@
/****************************************************************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the Anomaly project on Qt Labs.
**
@@ -14,7 +14,7 @@
** http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
**
** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
diff --git a/demos/embedded/anomaly/src/BookmarksView.cpp b/demos/embedded/anomaly/src/BookmarksView.cpp
index f705383..62e483c 100644
--- a/demos/embedded/anomaly/src/BookmarksView.cpp
+++ b/demos/embedded/anomaly/src/BookmarksView.cpp
@@ -1,7 +1,7 @@
/****************************************************************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the Anomaly project on Qt Labs.
**
@@ -14,7 +14,7 @@
** http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
**
** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
diff --git a/demos/embedded/anomaly/src/BookmarksView.h b/demos/embedded/anomaly/src/BookmarksView.h
index 95abdd7..3c9a054 100644
--- a/demos/embedded/anomaly/src/BookmarksView.h
+++ b/demos/embedded/anomaly/src/BookmarksView.h
@@ -1,7 +1,7 @@
/****************************************************************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the Anomaly project on Qt Labs.
**
@@ -14,7 +14,7 @@
** http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
**
** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
diff --git a/demos/embedded/anomaly/src/BrowserView.cpp b/demos/embedded/anomaly/src/BrowserView.cpp
index 4ef1920..b882a2e 100644
--- a/demos/embedded/anomaly/src/BrowserView.cpp
+++ b/demos/embedded/anomaly/src/BrowserView.cpp
@@ -1,7 +1,7 @@
/****************************************************************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the Anomaly project on Qt Labs.
**
@@ -14,7 +14,7 @@
** http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
**
** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
diff --git a/demos/embedded/anomaly/src/BrowserView.h b/demos/embedded/anomaly/src/BrowserView.h
index 0dba14e..a9cf8d2 100644
--- a/demos/embedded/anomaly/src/BrowserView.h
+++ b/demos/embedded/anomaly/src/BrowserView.h
@@ -1,7 +1,7 @@
/****************************************************************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the Anomaly project on Qt Labs.
**
@@ -14,7 +14,7 @@
** http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
**
** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
diff --git a/demos/embedded/anomaly/src/BrowserWindow.cpp b/demos/embedded/anomaly/src/BrowserWindow.cpp
index fd2f833..61dcb61 100644
--- a/demos/embedded/anomaly/src/BrowserWindow.cpp
+++ b/demos/embedded/anomaly/src/BrowserWindow.cpp
@@ -1,7 +1,7 @@
/****************************************************************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the Anomaly project on Qt Labs.
**
@@ -14,7 +14,7 @@
** http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
**
** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
diff --git a/demos/embedded/anomaly/src/BrowserWindow.h b/demos/embedded/anomaly/src/BrowserWindow.h
index 50a6508..b65d421 100644
--- a/demos/embedded/anomaly/src/BrowserWindow.h
+++ b/demos/embedded/anomaly/src/BrowserWindow.h
@@ -1,7 +1,7 @@
/****************************************************************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the Anomaly project on Qt Labs.
**
@@ -14,7 +14,7 @@
** http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
**
** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
diff --git a/demos/embedded/anomaly/src/ControlStrip.cpp b/demos/embedded/anomaly/src/ControlStrip.cpp
index 72bc485..4801870 100644
--- a/demos/embedded/anomaly/src/ControlStrip.cpp
+++ b/demos/embedded/anomaly/src/ControlStrip.cpp
@@ -1,7 +1,7 @@
/****************************************************************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the Anomaly project on Qt Labs.
**
@@ -14,7 +14,7 @@
** http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
**
** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
diff --git a/demos/embedded/anomaly/src/ControlStrip.h b/demos/embedded/anomaly/src/ControlStrip.h
index 99fc58d..d3fb253 100644
--- a/demos/embedded/anomaly/src/ControlStrip.h
+++ b/demos/embedded/anomaly/src/ControlStrip.h
@@ -1,7 +1,7 @@
/****************************************************************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the Anomaly project on Qt Labs.
**
@@ -14,7 +14,7 @@
** http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
**
** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
diff --git a/demos/embedded/anomaly/src/HomeView.cpp b/demos/embedded/anomaly/src/HomeView.cpp
index 0f59d54..f4e19f5 100644
--- a/demos/embedded/anomaly/src/HomeView.cpp
+++ b/demos/embedded/anomaly/src/HomeView.cpp
@@ -1,7 +1,7 @@
/****************************************************************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the Anomaly project on Qt Labs.
**
@@ -14,7 +14,7 @@
** http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
**
** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
diff --git a/demos/embedded/anomaly/src/HomeView.h b/demos/embedded/anomaly/src/HomeView.h
index b54f07e..a33881a 100644
--- a/demos/embedded/anomaly/src/HomeView.h
+++ b/demos/embedded/anomaly/src/HomeView.h
@@ -1,7 +1,7 @@
/****************************************************************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the Anomaly project on Qt Labs.
**
@@ -14,7 +14,7 @@
** http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
**
** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
diff --git a/demos/embedded/anomaly/src/Main.cpp b/demos/embedded/anomaly/src/Main.cpp
index 6ab7403..f3e2298 100644
--- a/demos/embedded/anomaly/src/Main.cpp
+++ b/demos/embedded/anomaly/src/Main.cpp
@@ -1,7 +1,7 @@
/****************************************************************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the Anomaly project on Qt Labs.
**
@@ -14,7 +14,7 @@
** http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
**
** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
diff --git a/demos/embedded/anomaly/src/TitleBar.cpp b/demos/embedded/anomaly/src/TitleBar.cpp
index ff7837c..2e4eda5 100644
--- a/demos/embedded/anomaly/src/TitleBar.cpp
+++ b/demos/embedded/anomaly/src/TitleBar.cpp
@@ -1,7 +1,7 @@
/****************************************************************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the Anomaly project on Qt Labs.
**
@@ -14,7 +14,7 @@
** http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
**
** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
diff --git a/demos/embedded/anomaly/src/TitleBar.h b/demos/embedded/anomaly/src/TitleBar.h
index 10ef2a8..7f56860 100644
--- a/demos/embedded/anomaly/src/TitleBar.h
+++ b/demos/embedded/anomaly/src/TitleBar.h
@@ -1,7 +1,7 @@
/****************************************************************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the Anomaly project on Qt Labs.
**
@@ -14,7 +14,7 @@
** http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
**
** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
diff --git a/demos/embedded/anomaly/src/ZoomStrip.cpp b/demos/embedded/anomaly/src/ZoomStrip.cpp
index 80bfdea..8848347 100644
--- a/demos/embedded/anomaly/src/ZoomStrip.cpp
+++ b/demos/embedded/anomaly/src/ZoomStrip.cpp
@@ -1,7 +1,7 @@
/****************************************************************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the Anomaly project on Qt Labs.
**
@@ -14,7 +14,7 @@
** http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
**
** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
diff --git a/demos/embedded/anomaly/src/ZoomStrip.h b/demos/embedded/anomaly/src/ZoomStrip.h
index fdf0328..f613249 100644
--- a/demos/embedded/anomaly/src/ZoomStrip.h
+++ b/demos/embedded/anomaly/src/ZoomStrip.h
@@ -1,7 +1,7 @@
/****************************************************************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the Anomaly project on Qt Labs.
**
@@ -14,7 +14,7 @@
** http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
**
** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
diff --git a/demos/embedded/anomaly/src/flickcharm.cpp b/demos/embedded/anomaly/src/flickcharm.cpp
index 620ef88..851cadf 100644
--- a/demos/embedded/anomaly/src/flickcharm.cpp
+++ b/demos/embedded/anomaly/src/flickcharm.cpp
@@ -1,7 +1,7 @@
/****************************************************************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the Graphics Dojo project on Qt Labs.
**
@@ -14,7 +14,7 @@
** http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
**
** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
diff --git a/demos/embedded/anomaly/src/flickcharm.h b/demos/embedded/anomaly/src/flickcharm.h
index 3b3831f..74de9c5 100644
--- a/demos/embedded/anomaly/src/flickcharm.h
+++ b/demos/embedded/anomaly/src/flickcharm.h
@@ -1,7 +1,7 @@
/****************************************************************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the Graphics Dojo project on Qt Labs.
**
@@ -14,7 +14,7 @@
** http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
**
** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
diff --git a/demos/embedded/desktopservices/contenttab.cpp b/demos/embedded/desktopservices/contenttab.cpp
index e2618b0..8b70c1d 100644
--- a/demos/embedded/desktopservices/contenttab.cpp
+++ b/demos/embedded/desktopservices/contenttab.cpp
@@ -1,9 +1,9 @@
/****************************************************************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
-** This file is part of the $MODULE$ of the Qt Toolkit.
+** This file is part of the demonstration applications of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/demos/embedded/desktopservices/contenttab.h b/demos/embedded/desktopservices/contenttab.h
index 21da07f..e703754 100644
--- a/demos/embedded/desktopservices/contenttab.h
+++ b/demos/embedded/desktopservices/contenttab.h
@@ -1,9 +1,9 @@
/****************************************************************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
-** This file is part of the $MODULE$ of the Qt Toolkit.
+** This file is part of the demonstration applications of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/demos/embedded/desktopservices/desktopwidget.cpp b/demos/embedded/desktopservices/desktopwidget.cpp
index f3c02dc..fbcc078 100644
--- a/demos/embedded/desktopservices/desktopwidget.cpp
+++ b/demos/embedded/desktopservices/desktopwidget.cpp
@@ -1,9 +1,9 @@
/****************************************************************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
-** This file is part of the $MODULE$ of the Qt Toolkit.
+** This file is part of the demonstration applications of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/demos/embedded/desktopservices/desktopwidget.h b/demos/embedded/desktopservices/desktopwidget.h
index 6b0af79..c550715 100644
--- a/demos/embedded/desktopservices/desktopwidget.h
+++ b/demos/embedded/desktopservices/desktopwidget.h
@@ -1,9 +1,9 @@
/****************************************************************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
-** This file is part of the $MODULE$ of the Qt Toolkit.
+** This file is part of the demonstration applications of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/demos/embedded/desktopservices/linktab.cpp b/demos/embedded/desktopservices/linktab.cpp
index 67dbccf..95024da 100644
--- a/demos/embedded/desktopservices/linktab.cpp
+++ b/demos/embedded/desktopservices/linktab.cpp
@@ -1,9 +1,9 @@
/****************************************************************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
-** This file is part of the $MODULE$ of the Qt Toolkit.
+** This file is part of the demonstration applications of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/demos/embedded/desktopservices/linktab.h b/demos/embedded/desktopservices/linktab.h
index e44b785..3f8cc5d 100644
--- a/demos/embedded/desktopservices/linktab.h
+++ b/demos/embedded/desktopservices/linktab.h
@@ -1,9 +1,9 @@
/****************************************************************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
-** This file is part of the $MODULE$ of the Qt Toolkit.
+** This file is part of the demonstration applications of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/demos/embedded/desktopservices/main.cpp b/demos/embedded/desktopservices/main.cpp
index 0abfc78..89c31d8 100644
--- a/demos/embedded/desktopservices/main.cpp
+++ b/demos/embedded/desktopservices/main.cpp
@@ -1,9 +1,9 @@
/****************************************************************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
-** This file is part of the $MODULE$ of the Qt Toolkit.
+** This file is part of the demonstration applications of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/demos/embedded/embedded.pro b/demos/embedded/embedded.pro
index a5e3465..f876dc1 100644
--- a/demos/embedded/embedded.pro
+++ b/demos/embedded/embedded.pro
@@ -3,8 +3,8 @@ SUBDIRS = styledemo
contains(QT_CONFIG, svg) {
SUBDIRS += embeddedsvgviewer \
- fluidlauncher \
desktopservices
+ !vxworks:!qnx:SUBDIRS += fluidlauncher
}
contains(QT_CONFIG, webkit) {
diff --git a/demos/qtdemo/qtdemo.rc b/demos/qtdemo/qtdemo.rc
index 4cf2a63..882b355 100644
--- a/demos/qtdemo/qtdemo.rc
+++ b/demos/qtdemo/qtdemo.rc
@@ -1,2 +1,32 @@
+#include "winver.h"
+
IDI_ICON1 ICON DISCARDABLE "qtdemo.ico"
+VS_VERSION_INFO VERSIONINFO
+ FILEVERSION 1,0,0,0
+ PRODUCTVERSION 1,0,0,0
+ FILEFLAGS 0x0L
+ FILEFLAGSMASK 0x3fL
+ FILEOS 0x00040004L
+ FILETYPE 0x1L
+ FILESUBTYPE 0x0L
+BEGIN
+ BLOCK "StringFileInfo"
+ BEGIN
+ BLOCK "000004b0"
+ BEGIN
+ VALUE "CompanyName", "Nokia Corporation and/or its subsidiary(-ies)"
+ VALUE "FileDescription", "Qt Examples and Demos"
+ VALUE "FileVersion", "1.0.0.0"
+ VALUE "LegalCopyright", "Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies)."
+ VALUE "InternalName", "qtdemo"
+ VALUE "OriginalFilename", "qtdemo.exe"
+ VALUE "ProductName", "Qt Examples and Demos"
+ VALUE "ProductVersion", "1.0.0.0"
+ END
+ END
+ BLOCK "VarFileInfo"
+ BEGIN
+ VALUE "Translation", 0x0, 1200
+ END
+END
diff --git a/demos/qtdemo/xml/examples.xml b/demos/qtdemo/xml/examples.xml
index 2560848..1b0b533 100644
--- a/demos/qtdemo/xml/examples.xml
+++ b/demos/qtdemo/xml/examples.xml
@@ -18,6 +18,7 @@
<example filename="browser" name="Browser" />
<example filename="mediaplayer" name="Media Player" />
<example filename="boxes" name="Boxes" />
+ <example filename="sub-attaq" name="Sub-attaq" />
</demos>
<category dirname="animation" name="Animation Framework">
<example filename="animatedtiles" name="Animated Tiles" />
@@ -26,7 +27,6 @@
<example filename="moveblocks" name="Moving Blocks" />
<example filename="states" name="UI States" />
<example filename="stickman" name="Stickman" />
- <example filename="sub-attaq" name="Sub-attaq" />
</category>
<category dirname="qtconcurrent" name="Concurrent Programming">
<example filename="map" name="Map" executable="false" />
@@ -154,6 +154,11 @@
<category dirname="phonon" name="Phonon">
<example filename="musicplayer" name="Music Player" />
</category>
+ <category dirname="multimedia/audio" name="Multimedia">
+ <example filename="audiodevices" name="Audio Devices" />
+ <example filename="audiooutput" name="Audio Output" />
+ <example filename="audioinput" name="Audio Input" />
+ </category>
<category dirname="richtext" name="Rich Text">
<example filename="calendar" name="Calendar" />
<example filename="orderform" name="Order Form" />
@@ -246,5 +251,6 @@
<example filename="qobjectxmlmodel" name="QObjectXmlModel" />
<example filename="filetree" name="File Tree" />
<example filename="trafficinfo" name="Traffic Info" />
+ <example filename="schema" name="XML Schema Validation" />
</category>
</categories>
diff --git a/examples/animation/sub-attaq/animationmanager.cpp b/demos/sub-attaq/animationmanager.cpp
index 13266f9..13266f9 100644
--- a/examples/animation/sub-attaq/animationmanager.cpp
+++ b/demos/sub-attaq/animationmanager.cpp
diff --git a/examples/animation/sub-attaq/animationmanager.h b/demos/sub-attaq/animationmanager.h
index 63ecae6..63ecae6 100644
--- a/examples/animation/sub-attaq/animationmanager.h
+++ b/demos/sub-attaq/animationmanager.h
diff --git a/demos/sub-attaq/boat.cpp b/demos/sub-attaq/boat.cpp
new file mode 100644
index 0000000..68e646e
--- /dev/null
+++ b/demos/sub-attaq/boat.cpp
@@ -0,0 +1,318 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtCore module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//Own
+#include "boat.h"
+#include "boat_p.h"
+#include "bomb.h"
+#include "pixmapitem.h"
+#include "graphicsscene.h"
+#include "animationmanager.h"
+#include "custompropertyanimation.h"
+#include "qanimationstate.h"
+
+//Qt
+#include <QtCore/QPropertyAnimation>
+#include <QtCore/QStateMachine>
+#include <QtCore/QHistoryState>
+#include <QtCore/QFinalState>
+#include <QtCore/QState>
+#include <QtCore/QSequentialAnimationGroup>
+
+static QAbstractAnimation *setupDestroyAnimation(Boat *boat)
+{
+ QSequentialAnimationGroup *group = new QSequentialAnimationGroup(boat);
+#if QT_VERSION >=0x040500
+ PixmapItem *step1 = new PixmapItem(QString("explosion/boat/step1"),GraphicsScene::Big, boat);
+ step1->setZValue(6);
+ PixmapItem *step2 = new PixmapItem(QString("explosion/boat/step2"),GraphicsScene::Big, boat);
+ step2->setZValue(6);
+ PixmapItem *step3 = new PixmapItem(QString("explosion/boat/step3"),GraphicsScene::Big, boat);
+ step3->setZValue(6);
+ PixmapItem *step4 = new PixmapItem(QString("explosion/boat/step4"),GraphicsScene::Big, boat);
+ step4->setZValue(6);
+ step1->setOpacity(0);
+ step2->setOpacity(0);
+ step3->setOpacity(0);
+ step4->setOpacity(0);
+ CustomPropertyAnimation *anim1 = new CustomPropertyAnimation(boat);
+ anim1->setMemberFunctions((QGraphicsItem*)step1, &QGraphicsItem::opacity, &QGraphicsItem::setOpacity);
+ anim1->setDuration(100);
+ anim1->setEndValue(1);
+ CustomPropertyAnimation *anim2 = new CustomPropertyAnimation(boat);
+ anim2->setMemberFunctions((QGraphicsItem*)step2, &QGraphicsItem::opacity, &QGraphicsItem::setOpacity);
+ anim2->setDuration(100);
+ anim2->setEndValue(1);
+ CustomPropertyAnimation *anim3 = new CustomPropertyAnimation(boat);
+ anim3->setMemberFunctions((QGraphicsItem*)step3, &QGraphicsItem::opacity, &QGraphicsItem::setOpacity);
+ anim3->setDuration(100);
+ anim3->setEndValue(1);
+ CustomPropertyAnimation *anim4 = new CustomPropertyAnimation(boat);
+ anim4->setMemberFunctions((QGraphicsItem*)step4, &QGraphicsItem::opacity, &QGraphicsItem::setOpacity);
+ anim4->setDuration(100);
+ anim4->setEndValue(1);
+ CustomPropertyAnimation *anim5 = new CustomPropertyAnimation(boat);
+ anim5->setMemberFunctions((QGraphicsItem*)step1, &QGraphicsItem::opacity, &QGraphicsItem::setOpacity);
+ anim5->setDuration(100);
+ anim5->setEndValue(0);
+ CustomPropertyAnimation *anim6 = new CustomPropertyAnimation(boat);
+ anim6->setMemberFunctions((QGraphicsItem*)step2, &QGraphicsItem::opacity, &QGraphicsItem::setOpacity);
+ anim6->setDuration(100);
+ anim6->setEndValue(0);
+ CustomPropertyAnimation *anim7 = new CustomPropertyAnimation(boat);
+ anim7->setMemberFunctions((QGraphicsItem*)step3, &QGraphicsItem::opacity, &QGraphicsItem::setOpacity);
+ anim7->setDuration(100);
+ anim7->setEndValue(0);
+ CustomPropertyAnimation *anim8 = new CustomPropertyAnimation(boat);
+ anim8->setMemberFunctions((QGraphicsItem*)step4, &QGraphicsItem::opacity, &QGraphicsItem::setOpacity);
+ anim8->setDuration(100);
+ anim8->setEndValue(0);
+ group->addAnimation(anim1);
+ group->addAnimation(anim2);
+ group->addAnimation(anim3);
+ group->addAnimation(anim4);
+ group->addAnimation(anim5);
+ group->addAnimation(anim6);
+ group->addAnimation(anim7);
+ group->addAnimation(anim8);
+#else
+ // work around for a bug where we don't transition if the duration is zero.
+ QtPauseAnimation *anim = new QtPauseAnimation(group);
+ anim->setDuration(1);
+ group->addAnimation(anim);
+#endif
+ AnimationManager::self()->registerAnimation(group);
+ return group;
+}
+
+
+
+Boat::Boat(QGraphicsItem * parent, Qt::WindowFlags wFlags)
+ : QGraphicsWidget(parent,wFlags), speed(0), bombsAlreadyLaunched(0), direction(Boat::None), movementAnimation(0)
+{
+ pixmapItem = new PixmapItem(QString("boat"),GraphicsScene::Big, this);
+ setZValue(4);
+ setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
+ setFlags(QGraphicsItem::ItemIsMovable | QGraphicsItem::ItemIsFocusable);
+ resize(pixmapItem->boundingRect().size());
+
+ //The movement animation used to animate the boat
+ movementAnimation = new QPropertyAnimation(this, "pos");
+
+ //The movement animation used to animate the boat
+ destroyAnimation = setupDestroyAnimation(this);
+
+ //We setup the state machien of the boat
+ machine = new QStateMachine(this);
+ QState *moving = new QState(machine);
+ StopState *stopState = new StopState(this, moving);
+ machine->setInitialState(moving);
+ moving->setInitialState(stopState);
+ MoveStateRight *moveStateRight = new MoveStateRight(this, moving);
+ MoveStateLeft *moveStateLeft = new MoveStateLeft(this, moving);
+ LaunchStateRight *launchStateRight = new LaunchStateRight(this, machine);
+ LaunchStateLeft *launchStateLeft = new LaunchStateLeft(this, machine);
+
+ //then setup the transitions for the rightMove state
+ KeyStopTransition *leftStopRight = new KeyStopTransition(this, QEvent::KeyPress, Qt::Key_Left);
+ leftStopRight->setTargetState(stopState);
+ KeyMoveTransition *leftMoveRight = new KeyMoveTransition(this, QEvent::KeyPress, Qt::Key_Left);
+ leftMoveRight->setTargetState(moveStateRight);
+ KeyMoveTransition *rightMoveRight = new KeyMoveTransition(this, QEvent::KeyPress, Qt::Key_Right);
+ rightMoveRight->setTargetState(moveStateRight);
+ KeyMoveTransition *rightMoveStop = new KeyMoveTransition(this, QEvent::KeyPress, Qt::Key_Right);
+ rightMoveStop->setTargetState(moveStateRight);
+
+ //then setup the transitions for the leftMove state
+ KeyStopTransition *rightStopLeft = new KeyStopTransition(this, QEvent::KeyPress, Qt::Key_Right);
+ rightStopLeft->setTargetState(stopState);
+ KeyMoveTransition *rightMoveLeft = new KeyMoveTransition(this, QEvent::KeyPress, Qt::Key_Right);
+ rightMoveLeft->setTargetState(moveStateLeft);
+ KeyMoveTransition *leftMoveLeft = new KeyMoveTransition(this, QEvent::KeyPress,Qt::Key_Left);
+ leftMoveLeft->setTargetState(moveStateLeft);
+ KeyMoveTransition *leftMoveStop = new KeyMoveTransition(this, QEvent::KeyPress,Qt::Key_Left);
+ leftMoveStop->setTargetState(moveStateLeft);
+
+ //We set up the right move state
+ moveStateRight->addTransition(leftStopRight);
+ moveStateRight->addTransition(leftMoveRight);
+ moveStateRight->addTransition(rightMoveRight);
+ stopState->addTransition(rightMoveStop);
+
+ //We set up the left move state
+ moveStateLeft->addTransition(rightStopLeft);
+ moveStateLeft->addTransition(leftMoveLeft);
+ moveStateLeft->addTransition(rightMoveLeft);
+ stopState->addTransition(leftMoveStop);
+
+ //The animation is finished, it means we reached the border of the screen, the boat is stopped so we move to the stop state
+ moveStateLeft->addTransition(movementAnimation, SIGNAL(finished()), stopState);
+ moveStateRight->addTransition(movementAnimation, SIGNAL(finished()), stopState);
+
+ //We set up the keys for dropping bombs
+ KeyLaunchTransition *upFireLeft = new KeyLaunchTransition(this, QEvent::KeyPress, Qt::Key_Up);
+ upFireLeft->setTargetState(launchStateRight);
+ KeyLaunchTransition *upFireRight = new KeyLaunchTransition(this, QEvent::KeyPress, Qt::Key_Up);
+ upFireRight->setTargetState(launchStateRight);
+ KeyLaunchTransition *upFireStop = new KeyLaunchTransition(this, QEvent::KeyPress, Qt::Key_Up);
+ upFireStop->setTargetState(launchStateRight);
+ KeyLaunchTransition *downFireLeft = new KeyLaunchTransition(this, QEvent::KeyPress, Qt::Key_Down);
+ downFireLeft->setTargetState(launchStateLeft);
+ KeyLaunchTransition *downFireRight = new KeyLaunchTransition(this, QEvent::KeyPress, Qt::Key_Down);
+ downFireRight->setTargetState(launchStateLeft);
+ KeyLaunchTransition *downFireMove = new KeyLaunchTransition(this, QEvent::KeyPress, Qt::Key_Down);
+ downFireMove->setTargetState(launchStateLeft);
+
+ //We set up transitions for fire up
+ moveStateRight->addTransition(upFireRight);
+ moveStateLeft->addTransition(upFireLeft);
+ stopState->addTransition(upFireStop);
+
+ //We set up transitions for fire down
+ moveStateRight->addTransition(downFireRight);
+ moveStateLeft->addTransition(downFireLeft);
+ stopState->addTransition(downFireMove);
+
+ //Finally the launch state should come back to its original state
+ QHistoryState *historyState = new QHistoryState(moving);
+ launchStateLeft->addTransition(historyState);
+ launchStateRight->addTransition(historyState);
+
+ QFinalState *final = new QFinalState(machine);
+
+ //This state play the destroyed animation
+ QAnimationState *destroyedState = new QAnimationState(machine);
+ destroyedState->setAnimation(destroyAnimation);
+
+ //Play a nice animation when the boat is destroyed
+ moving->addTransition(this, SIGNAL(boatDestroyed()),destroyedState);
+
+ //Transition to final state when the destroyed animation is finished
+ destroyedState->addTransition(destroyedState, SIGNAL(animationFinished()), final);
+
+ //The machine has finished to be executed, then the boat is dead
+ connect(machine,SIGNAL(finished()),this, SIGNAL(boatExecutionFinished()));
+
+}
+
+void Boat::run()
+{
+ //We register animations
+ AnimationManager::self()->registerAnimation(movementAnimation);
+ AnimationManager::self()->registerAnimation(destroyAnimation);
+ machine->start();
+}
+
+void Boat::stop()
+{
+ movementAnimation->stop();
+ machine->stop();
+}
+
+void Boat::updateBoatMovement()
+{
+ if (speed == 0 || direction == Boat::None) {
+ movementAnimation->stop();
+ return;
+ }
+
+ movementAnimation->stop();
+ movementAnimation->setStartValue(pos());
+
+ if (direction == Boat::Left) {
+ movementAnimation->setEndValue(QPointF(0,y()));
+ movementAnimation->setDuration(x()/speed*15);
+ }
+ else /*if (direction == Boat::Right)*/ {
+ movementAnimation->setEndValue(QPointF(scene()->width()-size().width(),y()));
+ movementAnimation->setDuration((scene()->width()-size().width()-x())/speed*15);
+ }
+ movementAnimation->start();
+}
+
+void Boat::destroy()
+{
+ movementAnimation->stop();
+ emit boatDestroyed();
+}
+
+int Boat::bombsLaunched() const
+{
+ return bombsAlreadyLaunched;
+}
+
+void Boat::setBombsLaunched(int number)
+{
+ if (number > MAX_BOMB) {
+ qWarning("Boat::setBombsLaunched : It impossible to launch that number of bombs");
+ return;
+ }
+ bombsAlreadyLaunched = number;
+}
+
+int Boat::currentSpeed() const
+{
+ return speed;
+}
+
+void Boat::setCurrentSpeed(int speed)
+{
+ if (speed > 3 || speed < 0) {
+ qWarning("Boat::setCurrentSpeed: The boat can't run on that speed");
+ return;
+ }
+ this->speed = speed;
+}
+
+enum Boat::Movement Boat::currentDirection() const
+{
+ return direction;
+}
+
+void Boat::setCurrentDirection(Movement direction)
+{
+ this->direction = direction;
+}
+
+int Boat::type() const
+{
+ return Type;
+}
diff --git a/examples/animation/sub-attaq/boat.h b/demos/sub-attaq/boat.h
index f6b1a90..f6b1a90 100644
--- a/examples/animation/sub-attaq/boat.h
+++ b/demos/sub-attaq/boat.h
diff --git a/examples/animation/sub-attaq/boat_p.h b/demos/sub-attaq/boat_p.h
index 4e962fc..4e962fc 100644
--- a/examples/animation/sub-attaq/boat_p.h
+++ b/demos/sub-attaq/boat_p.h
diff --git a/demos/sub-attaq/bomb.cpp b/demos/sub-attaq/bomb.cpp
new file mode 100644
index 0000000..e92a723
--- /dev/null
+++ b/demos/sub-attaq/bomb.cpp
@@ -0,0 +1,124 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtCore module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//Own
+#include "bomb.h"
+#include "submarine.h"
+#include "pixmapitem.h"
+#include "animationmanager.h"
+#include "qanimationstate.h"
+
+//Qt
+#include <QtCore/QSequentialAnimationGroup>
+#include <QtCore/QPropertyAnimation>
+#include <QtCore/QStateMachine>
+#include <QtCore/QFinalState>
+
+Bomb::Bomb(QGraphicsItem * parent, Qt::WindowFlags wFlags)
+ : QGraphicsWidget(parent,wFlags), launchAnimation(0)
+{
+ pixmapItem = new PixmapItem(QString("bomb"),GraphicsScene::Big, this);
+ setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
+ setFlags(QGraphicsItem::ItemIsMovable);
+ setZValue(2);
+ resize(pixmapItem->boundingRect().size());
+}
+
+void Bomb::launch(Bomb::Direction direction)
+{
+ launchAnimation = new QSequentialAnimationGroup();
+ AnimationManager::self()->registerAnimation(launchAnimation);
+ qreal delta = direction == Right ? 20 : - 20;
+ QPropertyAnimation *anim = new QPropertyAnimation(this, "pos");
+ anim->setEndValue(QPointF(x() + delta,y() - 20));
+ anim->setDuration(150);
+ launchAnimation->addAnimation(anim);
+ anim = new QPropertyAnimation(this, "pos");
+ anim->setEndValue(QPointF(x() + delta*2, y() ));
+ anim->setDuration(150);
+ launchAnimation->addAnimation(anim);
+ anim = new QPropertyAnimation(this, "pos");
+ anim->setEndValue(QPointF(x() + delta*2,scene()->height()));
+ anim->setDuration(y()/2*60);
+ launchAnimation->addAnimation(anim);
+ connect(anim,SIGNAL(valueChanged(const QVariant &)),this,SLOT(onAnimationLaunchValueChanged(const QVariant &)));
+
+ //We setup the state machine of the bomb
+ QStateMachine *machine = new QStateMachine(this);
+
+ //This state is when the launch animation is playing
+ QAnimationState *launched = new QAnimationState(machine);
+ launched->setAnimation(launchAnimation);
+
+ //End
+ QFinalState *final = new QFinalState(machine);
+
+ machine->setInitialState(launched);
+
+ //### Add a nice animation when the bomb is destroyed
+ launched->addTransition(this, SIGNAL(bombExplosed()),final);
+
+ //If the animation is finished, then we move to the final state
+ launched->addTransition(launched, SIGNAL(animationFinished()), final);
+
+ //The machine has finished to be executed, then the boat is dead
+ connect(machine,SIGNAL(finished()),this, SIGNAL(bombExecutionFinished()));
+
+ machine->start();
+
+}
+
+void Bomb::onAnimationLaunchValueChanged(const QVariant &)
+{
+ foreach (QGraphicsItem * item , collidingItems(Qt::IntersectsItemBoundingRect)) {
+ if (item->type() == SubMarine::Type) {
+ SubMarine *s = static_cast<SubMarine *>(item);
+ destroy();
+ s->destroy();
+ }
+ }
+}
+
+void Bomb::destroy()
+{
+ launchAnimation->stop();
+ emit bombExplosed();
+}
diff --git a/examples/animation/sub-attaq/bomb.h b/demos/sub-attaq/bomb.h
index ed6b0f5..ed6b0f5 100644
--- a/examples/animation/sub-attaq/bomb.h
+++ b/demos/sub-attaq/bomb.h
diff --git a/demos/sub-attaq/custompropertyanimation.cpp b/demos/sub-attaq/custompropertyanimation.cpp
new file mode 100644
index 0000000..27a4eba
--- /dev/null
+++ b/demos/sub-attaq/custompropertyanimation.cpp
@@ -0,0 +1,108 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtCore module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "custompropertyanimation.h"
+
+// Qt
+#include <QtCore/qdebug.h>
+
+CustomPropertyAnimation::CustomPropertyAnimation(QObject *parent) :
+ QVariantAnimation(parent), animProp(0)
+{
+}
+
+CustomPropertyAnimation::~CustomPropertyAnimation()
+{
+}
+
+void CustomPropertyAnimation::setProperty(AbstractProperty *_animProp)
+{
+ if (animProp == _animProp)
+ return;
+ delete animProp;
+ animProp = _animProp;
+}
+
+/*!
+ \reimp
+ */
+void CustomPropertyAnimation::updateCurrentValue(const QVariant &value)
+{
+ if (!animProp || state() == QAbstractAnimation::Stopped)
+ return;
+
+ animProp->write(value);
+}
+
+
+/*!
+ \reimp
+*/
+void CustomPropertyAnimation::updateState(QAbstractAnimation::State oldState, QAbstractAnimation::State newState)
+{
+ // Initialize start value
+ if (oldState == QAbstractAnimation::Stopped) {
+ if (!animProp)
+ return;
+ QVariant def = animProp->read();
+ if (def.isValid()) {
+ const int t = def.userType();
+ KeyValues values = keyValues();
+ //this ensures that all the keyValues are of type t
+ for (int i = 0; i < values.count(); ++i) {
+ QVariantAnimation::KeyValue &pair = values[i];
+ if (pair.second.userType() != t)
+ pair.second.convert(static_cast<QVariant::Type>(t));
+ }
+ //let's now update the key values
+ setKeyValues(values);
+ }
+
+ if ((animProp && !startValue().isValid() && currentTime() == 0)
+ || (currentTime() == duration() && currentLoop() == (loopCount() - 1))) {
+ setStartValue(def);
+ }
+ }
+
+ QVariantAnimation::updateState(oldState, newState);
+}
+
+#include "moc_custompropertyanimation.cpp"
diff --git a/examples/animation/sub-attaq/custompropertyanimation.h b/demos/sub-attaq/custompropertyanimation.h
index a984163..a984163 100644
--- a/examples/animation/sub-attaq/custompropertyanimation.h
+++ b/demos/sub-attaq/custompropertyanimation.h
diff --git a/demos/sub-attaq/data.xml b/demos/sub-attaq/data.xml
new file mode 100644
index 0000000..0f30515
--- /dev/null
+++ b/demos/sub-attaq/data.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<subattaq>
+ <submarines>
+ <submarine type="0" points="10" name="Q1" />
+ <submarine type="1" points="20" name="Q2" />
+ </submarines>
+ <levels>
+ <level id="0" name="Seaman recruit">
+ <subinstance type="0" nb="1"/>
+ </level>
+ <level id="1" name="Seaman apprentice">
+ <subinstance type="0" nb="2"/>
+ </level>
+ <level id="2" name="Seaman">
+ <subinstance type="0" nb="4"/>
+ </level>
+ <level id="3" name="Petty Officer Third Class">
+ <subinstance type="0" nb="6"/>
+ </level>
+ <level id="4" name="Petty Officer Second Class">
+ <subinstance type="0" nb="6"/>
+ </level>
+ <level id="5" name="Petty Officer First Class">
+ <subinstance type="0" nb="8"/>
+ </level>
+ <level id="6" name="Lieutenant">
+ <subinstance type="0" nb="10"/>
+ </level>
+ <level id="7" name="Commander">
+ <subinstance type="0" nb="15"/>
+ </level>
+ <level id="8" name="Captain">
+ <subinstance type="0" nb="12"/>
+ </level>
+ <level id="9" name="Admiral">
+ <subinstance type="0" nb="12"/>
+ </level>
+ </levels>
+</subattaq>
diff --git a/demos/sub-attaq/graphicsscene.cpp b/demos/sub-attaq/graphicsscene.cpp
new file mode 100644
index 0000000..fcbc1b3
--- /dev/null
+++ b/demos/sub-attaq/graphicsscene.cpp
@@ -0,0 +1,374 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtCore module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//Own
+#include "graphicsscene.h"
+#include "states.h"
+#include "boat.h"
+#include "submarine.h"
+#include "torpedo.h"
+#include "bomb.h"
+#include "pixmapitem.h"
+#include "custompropertyanimation.h"
+#include "animationmanager.h"
+#include "qanimationstate.h"
+#include "progressitem.h"
+
+//Qt
+#include <QtCore/QPropertyAnimation>
+#include <QtCore/QSequentialAnimationGroup>
+#include <QtCore/QParallelAnimationGroup>
+#include <QtCore/QStateMachine>
+#include <QtCore/QFinalState>
+#include <QtCore/QPauseAnimation>
+#include <QtGui/QAction>
+#include <QtCore/QDir>
+#include <QtGui/QApplication>
+#include <QtGui/QMessageBox>
+#include <QtGui/QGraphicsView>
+#include <QtGui/QGraphicsSceneMouseEvent>
+#include <QtCore/QXmlStreamReader>
+
+//helper function that creates an animation for position and inserts it into group
+static CustomPropertyAnimation *addGraphicsItemPosAnimation(QSequentialAnimationGroup *group,
+ QGraphicsItem *item, const QPointF &endPos)
+{
+ CustomPropertyAnimation *ret = new CustomPropertyAnimation(group);
+ ret->setMemberFunctions(item, &QGraphicsItem::pos, &QGraphicsItem::setPos);
+ ret->setEndValue(endPos);
+ ret->setDuration(200);
+ ret->setEasingCurve(QEasingCurve::OutElastic);
+ group->addPause(50);
+ return ret;
+}
+
+//helper function that creates an animation for opacity and inserts it into group
+static void addGraphicsItemFadeoutAnimation(QAnimationGroup *group, QGraphicsItem *item)
+{
+#if QT_VERSION >=0x040500
+ CustomPropertyAnimation *anim = new CustomPropertyAnimation(group);
+ anim->setMemberFunctions(item, &QGraphicsItem::opacity, &QGraphicsItem::setOpacity);
+ anim->setDuration(800);
+ anim->setEndValue(0);
+ anim->setEasingCurve(QEasingCurve::OutQuad);
+#else
+ // work around for a bug where we don't transition if the duration is zero.
+ QtPauseAnimation *anim = new QtPauseAnimation(group);
+ anim->setDuration(1);
+#endif
+}
+
+GraphicsScene::GraphicsScene(int x, int y, int width, int height, Mode mode)
+ : QGraphicsScene(x,y,width,height), mode(mode), newAction(0), quitAction(0), boat(0)
+{
+ backgroundItem = new PixmapItem(QString("background"),mode);
+ backgroundItem->setZValue(1);
+ backgroundItem->setPos(0,0);
+ addItem(backgroundItem);
+
+ PixmapItem *surfaceItem = new PixmapItem(QString("surface"),mode);
+ surfaceItem->setZValue(3);
+ surfaceItem->setPos(0,sealLevel() - surfaceItem->boundingRect().height()/2);
+ addItem(surfaceItem);
+
+ //The item that display score and level
+ progressItem = new ProgressItem(backgroundItem);
+
+ //We create the boat
+ boat = new Boat();
+ addItem(boat);
+ boat->setPos(this->width()/2, sealLevel() - boat->size().height());
+ boat->hide();
+
+ //parse the xml that contain all data of the game
+ QXmlStreamReader reader;
+ QFile file(":data.xml");
+ file.open(QIODevice::ReadOnly);
+ reader.setDevice(&file);
+ LevelDescription currentLevel;
+ while (!reader.atEnd()) {
+ reader.readNext();
+ if (reader.tokenType() == QXmlStreamReader::StartElement) {
+ if (reader.name() == "submarine")
+ {
+ SubmarineDescription desc;
+ desc.name = reader.attributes().value("name").toString();
+ desc.points = reader.attributes().value("points").toString().toInt();
+ desc.type = reader.attributes().value("type").toString().toInt();
+ submarinesData.append(desc);
+ }
+ if (reader.name() == "level")
+ {
+ currentLevel.id = reader.attributes().value("id").toString().toInt();
+ currentLevel.name = reader.attributes().value("name").toString();
+ }
+ if (reader.name() == "subinstance")
+ {
+ currentLevel.submarines.append(qMakePair(reader.attributes().value("type").toString().toInt(),reader.attributes().value("nb").toString().toInt()));
+ }
+ }
+ if (reader.tokenType() == QXmlStreamReader::EndElement) {
+ if (reader.name() == "level")
+ {
+ levelsData.insert(currentLevel.id,currentLevel);
+ currentLevel.submarines.clear();
+ }
+ }
+ }
+}
+
+qreal GraphicsScene::sealLevel() const
+{
+ if (mode == Big)
+ return 220;
+ else
+ return 160;
+}
+
+void GraphicsScene::setupScene(const QList<QAction *> &actions)
+{
+ newAction = actions.at(0);
+ quitAction = actions.at(1);
+
+ QGraphicsItem *logo_s = addWelcomeItem(QPixmap(":/logo-s"));
+ QGraphicsItem *logo_u = addWelcomeItem(QPixmap(":/logo-u"));
+ QGraphicsItem *logo_b = addWelcomeItem(QPixmap(":/logo-b"));
+ QGraphicsItem *logo_dash = addWelcomeItem(QPixmap(":/logo-dash"));
+ QGraphicsItem *logo_a = addWelcomeItem(QPixmap(":/logo-a"));
+ QGraphicsItem *logo_t = addWelcomeItem(QPixmap(":/logo-t"));
+ QGraphicsItem *logo_t2 = addWelcomeItem(QPixmap(":/logo-t2"));
+ QGraphicsItem *logo_a2 = addWelcomeItem(QPixmap(":/logo-a2"));
+ QGraphicsItem *logo_q = addWelcomeItem(QPixmap(":/logo-q"));
+ QGraphicsItem *logo_excl = addWelcomeItem(QPixmap(":/logo-excl"));
+ logo_s->setZValue(3);
+ logo_u->setZValue(4);
+ logo_b->setZValue(5);
+ logo_dash->setZValue(6);
+ logo_a->setZValue(7);
+ logo_t->setZValue(8);
+ logo_t2->setZValue(9);
+ logo_a2->setZValue(10);
+ logo_q->setZValue(11);
+ logo_excl->setZValue(12);
+ logo_s->setPos(QPointF(-1000, -1000));
+ logo_u->setPos(QPointF(-800, -1000));
+ logo_b->setPos(QPointF(-600, -1000));
+ logo_dash->setPos(QPointF(-400, -1000));
+ logo_a->setPos(QPointF(1000, 2000));
+ logo_t->setPos(QPointF(800, 2000));
+ logo_t2->setPos(QPointF(600, 2000));
+ logo_a2->setPos(QPointF(400, 2000));
+ logo_q->setPos(QPointF(200, 2000));
+ logo_excl->setPos(QPointF(0, 2000));
+
+ QSequentialAnimationGroup * lettersGroupMoving = new QSequentialAnimationGroup(this);
+ QParallelAnimationGroup * lettersGroupFading = new QParallelAnimationGroup(this);
+
+ //creation of the animations for moving letters
+ addGraphicsItemPosAnimation(lettersGroupMoving, logo_s, QPointF(300, 150));
+ addGraphicsItemPosAnimation(lettersGroupMoving, logo_u, QPointF(350, 150));
+ addGraphicsItemPosAnimation(lettersGroupMoving, logo_b, QPointF(400, 120));
+ addGraphicsItemPosAnimation(lettersGroupMoving, logo_dash, QPointF(460, 150));
+ addGraphicsItemPosAnimation(lettersGroupMoving, logo_a, QPointF(350, 250));
+ addGraphicsItemPosAnimation(lettersGroupMoving, logo_t, QPointF(400, 250));
+ addGraphicsItemPosAnimation(lettersGroupMoving, logo_t2, QPointF(430, 250));
+ addGraphicsItemPosAnimation(lettersGroupMoving, logo_a2, QPointF(465, 250));
+ addGraphicsItemPosAnimation(lettersGroupMoving, logo_q, QPointF(510, 250));
+ addGraphicsItemPosAnimation(lettersGroupMoving, logo_excl, QPointF(570, 220));
+
+ //creation of the animations for fading out the letters
+ addGraphicsItemFadeoutAnimation(lettersGroupFading, logo_s);
+ addGraphicsItemFadeoutAnimation(lettersGroupFading, logo_u);
+ addGraphicsItemFadeoutAnimation(lettersGroupFading, logo_b);
+ addGraphicsItemFadeoutAnimation(lettersGroupFading, logo_dash);
+ addGraphicsItemFadeoutAnimation(lettersGroupFading, logo_a);
+ addGraphicsItemFadeoutAnimation(lettersGroupFading, logo_t);
+ addGraphicsItemFadeoutAnimation(lettersGroupFading, logo_t2);
+ addGraphicsItemFadeoutAnimation(lettersGroupFading, logo_a2);
+ addGraphicsItemFadeoutAnimation(lettersGroupFading, logo_q);
+ addGraphicsItemFadeoutAnimation(lettersGroupFading, logo_excl);
+ connect(lettersGroupFading, SIGNAL(finished()), this, SLOT(onIntroAnimationFinished()));
+
+ QStateMachine *machine = new QStateMachine(this);
+
+ //This state is when the player is playing
+ PlayState *gameState = new PlayState(this,machine);
+
+ //Final state
+ QFinalState *final = new QFinalState(machine);
+
+ //Animation when the player enter in the game
+ QAnimationState *lettersMovingState = new QAnimationState(machine);
+ lettersMovingState->setAnimation(lettersGroupMoving);
+
+ //Animation when the welcome screen disappear
+ QAnimationState *lettersFadingState = new QAnimationState(machine);
+ lettersFadingState->setAnimation(lettersGroupFading);
+
+ //if new game then we fade out the welcome screen and start playing
+ lettersMovingState->addTransition(newAction, SIGNAL(triggered()),lettersFadingState);
+ lettersFadingState->addTransition(lettersFadingState, SIGNAL(animationFinished()),gameState);
+
+ //New Game is triggered then player start playing
+ gameState->addTransition(newAction, SIGNAL(triggered()),gameState);
+
+ //Wanna quit, then connect to CTRL+Q
+ gameState->addTransition(quitAction, SIGNAL(triggered()),final);
+ lettersMovingState->addTransition(quitAction, SIGNAL(triggered()),final);
+
+ //Welcome screen is the initial state
+ machine->setInitialState(lettersMovingState);
+
+ machine->start();
+
+ //We reach the final state, then we quit
+ connect(machine,SIGNAL(finished()),this, SLOT(onQuitGameTriggered()));
+}
+
+void GraphicsScene::addItem(Bomb *bomb)
+{
+ bombs.insert(bomb);
+ connect(bomb,SIGNAL(bombExecutionFinished()),this, SLOT(onBombExecutionFinished()));
+ QGraphicsScene::addItem(bomb);
+}
+
+void GraphicsScene::addItem(Torpedo *torpedo)
+{
+ torpedos.insert(torpedo);
+ connect(torpedo,SIGNAL(torpedoExecutionFinished()),this, SLOT(onTorpedoExecutionFinished()));
+ QGraphicsScene::addItem(torpedo);
+}
+
+void GraphicsScene::addItem(SubMarine *submarine)
+{
+ submarines.insert(submarine);
+ connect(submarine,SIGNAL(subMarineExecutionFinished()),this, SLOT(onSubMarineExecutionFinished()));
+ QGraphicsScene::addItem(submarine);
+}
+
+void GraphicsScene::addItem(QGraphicsItem *item)
+{
+ QGraphicsScene::addItem(item);
+}
+
+void GraphicsScene::mousePressEvent (QGraphicsSceneMouseEvent * event)
+{
+ event->ignore();
+}
+
+void GraphicsScene::onQuitGameTriggered()
+{
+ qApp->closeAllWindows();
+}
+
+void GraphicsScene::onBombExecutionFinished()
+{
+ Bomb *bomb = qobject_cast<Bomb *>(sender());
+ bombs.remove(bomb);
+ bomb->deleteLater();
+ if (boat)
+ boat->setBombsLaunched(boat->bombsLaunched() - 1);
+}
+
+void GraphicsScene::onTorpedoExecutionFinished()
+{
+ Torpedo *torpedo = qobject_cast<Torpedo *>(sender());
+ torpedos.remove(torpedo);
+ torpedo->deleteLater();
+}
+
+void GraphicsScene::onSubMarineExecutionFinished()
+{
+ SubMarine *submarine = qobject_cast<SubMarine *>(sender());
+ submarines.remove(submarine);
+ if (submarines.count() == 0) {
+ emit allSubMarineDestroyed(submarine->points());
+ } else {
+ emit subMarineDestroyed(submarine->points());
+ }
+ submarine->deleteLater();
+}
+
+int GraphicsScene::remainingSubMarines() const
+{
+ return submarines.count();
+}
+
+void GraphicsScene::clearScene()
+{
+ foreach (SubMarine *sub,submarines) {
+ sub->destroy();
+ sub->deleteLater();
+ }
+
+ foreach (Torpedo *torpedo,torpedos) {
+ torpedo->destroy();
+ torpedo->deleteLater();
+ }
+
+ foreach (Bomb *bomb,bombs) {
+ bomb->destroy();
+ bomb->deleteLater();
+ }
+
+ submarines.clear();
+ bombs.clear();
+ torpedos.clear();
+
+ AnimationManager::self()->unregisterAllAnimations();
+
+ boat->stop();
+ boat->hide();
+}
+
+QGraphicsPixmapItem *GraphicsScene::addWelcomeItem(const QPixmap &pm)
+{
+ QGraphicsPixmapItem *item = addPixmap(pm);
+ welcomeItems << item;
+ return item;
+}
+
+void GraphicsScene::onIntroAnimationFinished()
+{
+ qDeleteAll(welcomeItems);
+ welcomeItems.clear();
+}
+
diff --git a/examples/animation/sub-attaq/graphicsscene.h b/demos/sub-attaq/graphicsscene.h
index 068ee97..068ee97 100644
--- a/examples/animation/sub-attaq/graphicsscene.h
+++ b/demos/sub-attaq/graphicsscene.h
diff --git a/examples/animation/sub-attaq/main.cpp b/demos/sub-attaq/main.cpp
index 4f6f4f9..4f6f4f9 100644
--- a/examples/animation/sub-attaq/main.cpp
+++ b/demos/sub-attaq/main.cpp
diff --git a/examples/animation/sub-attaq/mainwindow.cpp b/demos/sub-attaq/mainwindow.cpp
index bcccd34..bcccd34 100644
--- a/examples/animation/sub-attaq/mainwindow.cpp
+++ b/demos/sub-attaq/mainwindow.cpp
diff --git a/examples/animation/sub-attaq/mainwindow.h b/demos/sub-attaq/mainwindow.h
index 08cfcd9..08cfcd9 100644
--- a/examples/animation/sub-attaq/mainwindow.h
+++ b/demos/sub-attaq/mainwindow.h
diff --git a/examples/animation/sub-attaq/pics/big/background.png b/demos/sub-attaq/pics/big/background.png
index 9f58157..9f58157 100644
--- a/examples/animation/sub-attaq/pics/big/background.png
+++ b/demos/sub-attaq/pics/big/background.png
Binary files differ
diff --git a/examples/animation/sub-attaq/pics/big/boat.png b/demos/sub-attaq/pics/big/boat.png
index be82dff..be82dff 100644
--- a/examples/animation/sub-attaq/pics/big/boat.png
+++ b/demos/sub-attaq/pics/big/boat.png
Binary files differ
diff --git a/examples/animation/sub-attaq/pics/small/bomb.png b/demos/sub-attaq/pics/big/bomb.png
index 3af5f2f..3af5f2f 100644
--- a/examples/animation/sub-attaq/pics/small/bomb.png
+++ b/demos/sub-attaq/pics/big/bomb.png
Binary files differ
diff --git a/examples/animation/sub-attaq/pics/big/explosion/boat/step1.png b/demos/sub-attaq/pics/big/explosion/boat/step1.png
index c9fd8b0..c9fd8b0 100644
--- a/examples/animation/sub-attaq/pics/big/explosion/boat/step1.png
+++ b/demos/sub-attaq/pics/big/explosion/boat/step1.png
Binary files differ
diff --git a/examples/animation/sub-attaq/pics/big/explosion/boat/step2.png b/demos/sub-attaq/pics/big/explosion/boat/step2.png
index 7528f2d..7528f2d 100644
--- a/examples/animation/sub-attaq/pics/big/explosion/boat/step2.png
+++ b/demos/sub-attaq/pics/big/explosion/boat/step2.png
Binary files differ
diff --git a/examples/animation/sub-attaq/pics/big/explosion/boat/step3.png b/demos/sub-attaq/pics/big/explosion/boat/step3.png
index aae9c9c..aae9c9c 100644
--- a/examples/animation/sub-attaq/pics/big/explosion/boat/step3.png
+++ b/demos/sub-attaq/pics/big/explosion/boat/step3.png
Binary files differ
diff --git a/examples/animation/sub-attaq/pics/big/explosion/boat/step4.png b/demos/sub-attaq/pics/big/explosion/boat/step4.png
index d697c1b..d697c1b 100644
--- a/examples/animation/sub-attaq/pics/big/explosion/boat/step4.png
+++ b/demos/sub-attaq/pics/big/explosion/boat/step4.png
Binary files differ
diff --git a/examples/animation/sub-attaq/pics/big/explosion/submarine/step1.png b/demos/sub-attaq/pics/big/explosion/submarine/step1.png
index 88ca514..88ca514 100644
--- a/examples/animation/sub-attaq/pics/big/explosion/submarine/step1.png
+++ b/demos/sub-attaq/pics/big/explosion/submarine/step1.png
Binary files differ
diff --git a/examples/animation/sub-attaq/pics/big/explosion/submarine/step2.png b/demos/sub-attaq/pics/big/explosion/submarine/step2.png
index 524f589..524f589 100644
--- a/examples/animation/sub-attaq/pics/big/explosion/submarine/step2.png
+++ b/demos/sub-attaq/pics/big/explosion/submarine/step2.png
Binary files differ
diff --git a/examples/animation/sub-attaq/pics/big/explosion/submarine/step3.png b/demos/sub-attaq/pics/big/explosion/submarine/step3.png
index 2cca1e8..2cca1e8 100644
--- a/examples/animation/sub-attaq/pics/big/explosion/submarine/step3.png
+++ b/demos/sub-attaq/pics/big/explosion/submarine/step3.png
Binary files differ
diff --git a/examples/animation/sub-attaq/pics/big/explosion/submarine/step4.png b/demos/sub-attaq/pics/big/explosion/submarine/step4.png
index 82100a8..82100a8 100644
--- a/examples/animation/sub-attaq/pics/big/explosion/submarine/step4.png
+++ b/demos/sub-attaq/pics/big/explosion/submarine/step4.png
Binary files differ
diff --git a/examples/animation/sub-attaq/pics/big/submarine.png b/demos/sub-attaq/pics/big/submarine.png
index df435dc..df435dc 100644
--- a/examples/animation/sub-attaq/pics/big/submarine.png
+++ b/demos/sub-attaq/pics/big/submarine.png
Binary files differ
diff --git a/examples/animation/sub-attaq/pics/big/surface.png b/demos/sub-attaq/pics/big/surface.png
index 4eba29e..4eba29e 100644
--- a/examples/animation/sub-attaq/pics/big/surface.png
+++ b/demos/sub-attaq/pics/big/surface.png
Binary files differ
diff --git a/examples/animation/sub-attaq/pics/small/torpedo.png b/demos/sub-attaq/pics/big/torpedo.png
index f9c2687..f9c2687 100644
--- a/examples/animation/sub-attaq/pics/small/torpedo.png
+++ b/demos/sub-attaq/pics/big/torpedo.png
Binary files differ
diff --git a/examples/animation/sub-attaq/pics/scalable/background-n810.svg b/demos/sub-attaq/pics/scalable/background-n810.svg
index ece9f7a..ece9f7a 100644
--- a/examples/animation/sub-attaq/pics/scalable/background-n810.svg
+++ b/demos/sub-attaq/pics/scalable/background-n810.svg
diff --git a/examples/animation/sub-attaq/pics/scalable/background.svg b/demos/sub-attaq/pics/scalable/background.svg
index 0be2680..0be2680 100644
--- a/examples/animation/sub-attaq/pics/scalable/background.svg
+++ b/demos/sub-attaq/pics/scalable/background.svg
diff --git a/examples/animation/sub-attaq/pics/scalable/boat.svg b/demos/sub-attaq/pics/scalable/boat.svg
index 5298821b..5298821b 100644
--- a/examples/animation/sub-attaq/pics/scalable/boat.svg
+++ b/demos/sub-attaq/pics/scalable/boat.svg
diff --git a/examples/animation/sub-attaq/pics/scalable/bomb.svg b/demos/sub-attaq/pics/scalable/bomb.svg
index 294771a..294771a 100644
--- a/examples/animation/sub-attaq/pics/scalable/bomb.svg
+++ b/demos/sub-attaq/pics/scalable/bomb.svg
diff --git a/examples/animation/sub-attaq/pics/scalable/sand.svg b/demos/sub-attaq/pics/scalable/sand.svg
index 8af11b7..8af11b7 100644
--- a/examples/animation/sub-attaq/pics/scalable/sand.svg
+++ b/demos/sub-attaq/pics/scalable/sand.svg
diff --git a/examples/animation/sub-attaq/pics/scalable/see.svg b/demos/sub-attaq/pics/scalable/see.svg
index 0666691..0666691 100644
--- a/examples/animation/sub-attaq/pics/scalable/see.svg
+++ b/demos/sub-attaq/pics/scalable/see.svg
diff --git a/examples/animation/sub-attaq/pics/scalable/sky.svg b/demos/sub-attaq/pics/scalable/sky.svg
index 1546c08..1546c08 100644
--- a/examples/animation/sub-attaq/pics/scalable/sky.svg
+++ b/demos/sub-attaq/pics/scalable/sky.svg
diff --git a/examples/animation/sub-attaq/pics/scalable/sub-attaq.svg b/demos/sub-attaq/pics/scalable/sub-attaq.svg
index b075179..b075179 100644
--- a/examples/animation/sub-attaq/pics/scalable/sub-attaq.svg
+++ b/demos/sub-attaq/pics/scalable/sub-attaq.svg
diff --git a/examples/animation/sub-attaq/pics/scalable/submarine.svg b/demos/sub-attaq/pics/scalable/submarine.svg
index 8a0ffdd..8a0ffdd 100644
--- a/examples/animation/sub-attaq/pics/scalable/submarine.svg
+++ b/demos/sub-attaq/pics/scalable/submarine.svg
diff --git a/examples/animation/sub-attaq/pics/scalable/surface.svg b/demos/sub-attaq/pics/scalable/surface.svg
index 40ed239..40ed239 100644
--- a/examples/animation/sub-attaq/pics/scalable/surface.svg
+++ b/demos/sub-attaq/pics/scalable/surface.svg
diff --git a/examples/animation/sub-attaq/pics/scalable/torpedo.svg b/demos/sub-attaq/pics/scalable/torpedo.svg
index 48e429d..48e429d 100644
--- a/examples/animation/sub-attaq/pics/scalable/torpedo.svg
+++ b/demos/sub-attaq/pics/scalable/torpedo.svg
diff --git a/examples/animation/sub-attaq/pics/small/background.png b/demos/sub-attaq/pics/small/background.png
index 5ad3db6..5ad3db6 100644
--- a/examples/animation/sub-attaq/pics/small/background.png
+++ b/demos/sub-attaq/pics/small/background.png
Binary files differ
diff --git a/examples/animation/sub-attaq/pics/small/boat.png b/demos/sub-attaq/pics/small/boat.png
index 114ccc3..114ccc3 100644
--- a/examples/animation/sub-attaq/pics/small/boat.png
+++ b/demos/sub-attaq/pics/small/boat.png
Binary files differ
diff --git a/examples/animation/sub-attaq/pics/big/bomb.png b/demos/sub-attaq/pics/small/bomb.png
index 3af5f2f..3af5f2f 100644
--- a/examples/animation/sub-attaq/pics/big/bomb.png
+++ b/demos/sub-attaq/pics/small/bomb.png
Binary files differ
diff --git a/examples/animation/sub-attaq/pics/small/submarine.png b/demos/sub-attaq/pics/small/submarine.png
index 0c0c350..0c0c350 100644
--- a/examples/animation/sub-attaq/pics/small/submarine.png
+++ b/demos/sub-attaq/pics/small/submarine.png
Binary files differ
diff --git a/examples/animation/sub-attaq/pics/small/surface.png b/demos/sub-attaq/pics/small/surface.png
index 06d0e47..06d0e47 100644
--- a/examples/animation/sub-attaq/pics/small/surface.png
+++ b/demos/sub-attaq/pics/small/surface.png
Binary files differ
diff --git a/examples/animation/sub-attaq/pics/big/torpedo.png b/demos/sub-attaq/pics/small/torpedo.png
index f9c2687..f9c2687 100644
--- a/examples/animation/sub-attaq/pics/big/torpedo.png
+++ b/demos/sub-attaq/pics/small/torpedo.png
Binary files differ
diff --git a/examples/animation/sub-attaq/pics/welcome/logo-a.png b/demos/sub-attaq/pics/welcome/logo-a.png
index 67dd76d..67dd76d 100644
--- a/examples/animation/sub-attaq/pics/welcome/logo-a.png
+++ b/demos/sub-attaq/pics/welcome/logo-a.png
Binary files differ
diff --git a/examples/animation/sub-attaq/pics/welcome/logo-a2.png b/demos/sub-attaq/pics/welcome/logo-a2.png
index 17668b0..17668b0 100644
--- a/examples/animation/sub-attaq/pics/welcome/logo-a2.png
+++ b/demos/sub-attaq/pics/welcome/logo-a2.png
Binary files differ
diff --git a/examples/animation/sub-attaq/pics/welcome/logo-b.png b/demos/sub-attaq/pics/welcome/logo-b.png
index cf6c045..cf6c045 100644
--- a/examples/animation/sub-attaq/pics/welcome/logo-b.png
+++ b/demos/sub-attaq/pics/welcome/logo-b.png
Binary files differ
diff --git a/examples/animation/sub-attaq/pics/welcome/logo-dash.png b/demos/sub-attaq/pics/welcome/logo-dash.png
index 219233c..219233c 100644
--- a/examples/animation/sub-attaq/pics/welcome/logo-dash.png
+++ b/demos/sub-attaq/pics/welcome/logo-dash.png
Binary files differ
diff --git a/examples/animation/sub-attaq/pics/welcome/logo-excl.png b/demos/sub-attaq/pics/welcome/logo-excl.png
index 8dd0a2e..8dd0a2e 100644
--- a/examples/animation/sub-attaq/pics/welcome/logo-excl.png
+++ b/demos/sub-attaq/pics/welcome/logo-excl.png
Binary files differ
diff --git a/examples/animation/sub-attaq/pics/welcome/logo-q.png b/demos/sub-attaq/pics/welcome/logo-q.png
index 86e588d..86e588d 100644
--- a/examples/animation/sub-attaq/pics/welcome/logo-q.png
+++ b/demos/sub-attaq/pics/welcome/logo-q.png
Binary files differ
diff --git a/examples/animation/sub-attaq/pics/welcome/logo-s.png b/demos/sub-attaq/pics/welcome/logo-s.png
index 7b6a36e..7b6a36e 100644
--- a/examples/animation/sub-attaq/pics/welcome/logo-s.png
+++ b/demos/sub-attaq/pics/welcome/logo-s.png
Binary files differ
diff --git a/examples/animation/sub-attaq/pics/welcome/logo-t.png b/demos/sub-attaq/pics/welcome/logo-t.png
index b2e3526..b2e3526 100644
--- a/examples/animation/sub-attaq/pics/welcome/logo-t.png
+++ b/demos/sub-attaq/pics/welcome/logo-t.png
Binary files differ
diff --git a/examples/animation/sub-attaq/pics/welcome/logo-t2.png b/demos/sub-attaq/pics/welcome/logo-t2.png
index b11a778..b11a778 100644
--- a/examples/animation/sub-attaq/pics/welcome/logo-t2.png
+++ b/demos/sub-attaq/pics/welcome/logo-t2.png
Binary files differ
diff --git a/examples/animation/sub-attaq/pics/welcome/logo-u.png b/demos/sub-attaq/pics/welcome/logo-u.png
index 24eede8..24eede8 100644
--- a/examples/animation/sub-attaq/pics/welcome/logo-u.png
+++ b/demos/sub-attaq/pics/welcome/logo-u.png
Binary files differ
diff --git a/examples/animation/sub-attaq/pixmapitem.cpp b/demos/sub-attaq/pixmapitem.cpp
index ed0f075..ed0f075 100644
--- a/examples/animation/sub-attaq/pixmapitem.cpp
+++ b/demos/sub-attaq/pixmapitem.cpp
diff --git a/examples/animation/sub-attaq/pixmapitem.h b/demos/sub-attaq/pixmapitem.h
index e32973e..e32973e 100644
--- a/examples/animation/sub-attaq/pixmapitem.h
+++ b/demos/sub-attaq/pixmapitem.h
diff --git a/examples/animation/sub-attaq/progressitem.cpp b/demos/sub-attaq/progressitem.cpp
index 9ccaa72..9ccaa72 100644
--- a/examples/animation/sub-attaq/progressitem.cpp
+++ b/demos/sub-attaq/progressitem.cpp
diff --git a/examples/animation/sub-attaq/progressitem.h b/demos/sub-attaq/progressitem.h
index 7be57c9..7be57c9 100644
--- a/examples/animation/sub-attaq/progressitem.h
+++ b/demos/sub-attaq/progressitem.h
diff --git a/examples/animation/sub-attaq/qanimationstate.cpp b/demos/sub-attaq/qanimationstate.cpp
index 4e6df56..4e6df56 100644
--- a/examples/animation/sub-attaq/qanimationstate.cpp
+++ b/demos/sub-attaq/qanimationstate.cpp
diff --git a/examples/animation/sub-attaq/qanimationstate.h b/demos/sub-attaq/qanimationstate.h
index 6c5b565..6c5b565 100644
--- a/examples/animation/sub-attaq/qanimationstate.h
+++ b/demos/sub-attaq/qanimationstate.h
diff --git a/demos/sub-attaq/states.cpp b/demos/sub-attaq/states.cpp
new file mode 100644
index 0000000..d6c0b5a
--- /dev/null
+++ b/demos/sub-attaq/states.cpp
@@ -0,0 +1,327 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtCore module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//Own
+#include "states.h"
+#include "graphicsscene.h"
+#include "boat.h"
+#include "submarine.h"
+#include "torpedo.h"
+#include "animationmanager.h"
+#include "progressitem.h"
+
+//Qt
+#include <QtGui/QMessageBox>
+#include <QtGui/QGraphicsView>
+#include <QtCore/QStateMachine>
+#include <QtGui/QKeyEventTransition>
+#include <QtCore/QSignalEvent>
+#include <QtCore/QFinalState>
+
+PlayState::PlayState(GraphicsScene *scene, QState *parent)
+ : QState(parent),
+ scene(scene),
+ machine(0),
+ currentLevel(0),
+ score(0)
+{
+}
+
+PlayState::~PlayState()
+{
+}
+
+void PlayState::onEntry(QEvent *)
+{
+ //We are now playing?
+ if (machine) {
+ machine->stop();
+ scene->clearScene();
+ currentLevel = 0;
+ score = 0;
+ delete machine;
+ }
+
+ machine = new QStateMachine(this);
+
+ //This state is when player is playing
+ LevelState *levelState = new LevelState(scene, this, machine);
+
+ //This state is when the player is actually playing but the game is not paused
+ QState *playingState = new QState(levelState);
+ levelState->setInitialState(playingState);
+
+ //This state is when the game is paused
+ PauseState *pauseState = new PauseState(scene, levelState);
+
+ //We have one view, it receive the key press event
+ QKeyEventTransition *pressPplay = new QKeyEventTransition(scene->views().at(0), QEvent::KeyPress, Qt::Key_P);
+ pressPplay->setTargetState(pauseState);
+ QKeyEventTransition *pressPpause = new QKeyEventTransition(scene->views().at(0), QEvent::KeyPress, Qt::Key_P);
+ pressPpause->setTargetState(playingState);
+
+ //Pause "P" is triggered, the player pause the game
+ playingState->addTransition(pressPplay);
+
+ //To get back playing when the game has been paused
+ pauseState->addTransition(pressPpause);
+
+ //This state is when player have lost
+ LostState *lostState = new LostState(scene, this, machine);
+
+ //This state is when player have won
+ WinState *winState = new WinState(scene, this, machine);
+
+ //The boat has been destroyed then the game is finished
+ levelState->addTransition(scene->boat, SIGNAL(boatExecutionFinished()),lostState);
+
+ //This transition check if we won or not
+ WinTransition *winTransition = new WinTransition(scene, this, winState);
+
+ //The boat has been destroyed then the game is finished
+ levelState->addTransition(winTransition);
+
+ //This state is an animation when the score changed
+ UpdateScoreState *scoreState = new UpdateScoreState(this, levelState);
+
+ //This transition update the score when a submarine die
+ UpdateScoreTransition *scoreTransition = new UpdateScoreTransition(scene, this, levelState);
+ scoreTransition->setTargetState(scoreState);
+
+ //The boat has been destroyed then the game is finished
+ playingState->addTransition(scoreTransition);
+
+ //We go back to play state
+ scoreState->addTransition(playingState);
+
+ //We start playing!!!
+ machine->setInitialState(levelState);
+
+ //Final state
+ QFinalState *final = new QFinalState(machine);
+
+ //This transition is triggered when the player press space after completing a level
+ CustomSpaceTransition *spaceTransition = new CustomSpaceTransition(scene->views().at(0), this, QEvent::KeyPress, Qt::Key_Space);
+ spaceTransition->setTargetState(levelState);
+ winState->addTransition(spaceTransition);
+
+ //We lost we should reach the final state
+ lostState->addTransition(lostState, SIGNAL(finished()), final);
+
+ machine->start();
+}
+
+LevelState::LevelState(GraphicsScene *scene, PlayState *game, QState *parent) : QState(parent), scene(scene), game(game)
+{
+}
+void LevelState::onEntry(QEvent *)
+{
+ initializeLevel();
+}
+
+void LevelState::initializeLevel()
+{
+ //we re-init the boat
+ scene->boat->setPos(scene->width()/2, scene->sealLevel() - scene->boat->size().height());
+ scene->boat->setCurrentSpeed(0);
+ scene->boat->setCurrentDirection(Boat::None);
+ scene->boat->setBombsLaunched(0);
+ scene->boat->show();
+ scene->setFocusItem(scene->boat,Qt::OtherFocusReason);
+ scene->boat->run();
+
+ scene->progressItem->setScore(game->score);
+ scene->progressItem->setLevel(game->currentLevel + 1);
+
+ GraphicsScene::LevelDescription currentLevelDescription = scene->levelsData.value(game->currentLevel);
+
+ for (int i = 0; i < currentLevelDescription.submarines.size(); ++i ) {
+
+ QPair<int,int> subContent = currentLevelDescription.submarines.at(i);
+ GraphicsScene::SubmarineDescription submarineDesc = scene->submarinesData.at(subContent.first);
+
+ for (int j = 0; j < subContent.second; ++j ) {
+ SubMarine *sub = new SubMarine(submarineDesc.type, submarineDesc.name, submarineDesc.points);
+ scene->addItem(sub);
+ int random = (qrand() % 15 + 1);
+ qreal x = random == 13 || random == 5 ? 0 : scene->width() - sub->size().width();
+ qreal y = scene->height() -(qrand() % 150 + 1) - sub->size().height();
+ sub->setPos(x,y);
+ sub->setCurrentDirection(x == 0 ? SubMarine::Right : SubMarine::Left);
+ sub->setCurrentSpeed(qrand() % 3 + 1);
+ }
+ }
+}
+
+/** Pause State */
+PauseState::PauseState(GraphicsScene *scene, QState *parent) : QState(parent),scene(scene)
+{
+}
+void PauseState::onEntry(QEvent *)
+{
+ AnimationManager::self()->pauseAll();
+ scene->boat->setEnabled(false);
+}
+void PauseState::onExit(QEvent *)
+{
+ AnimationManager::self()->resumeAll();
+ scene->boat->setEnabled(true);
+ scene->boat->setFocus();
+}
+
+/** Lost State */
+LostState::LostState(GraphicsScene *scene, PlayState *game, QState *parent) : QState(parent), scene(scene), game(game)
+{
+}
+
+void LostState::onEntry(QEvent *)
+{
+ //The message to display
+ QString message = QString("You lose on level %1. Your score is %2.").arg(game->currentLevel+1).arg(game->score);
+
+ //We set the level back to 0
+ game->currentLevel = 0;
+
+ //We set the score back to 0
+ game->score = 0;
+
+ //We clear the scene
+ scene->clearScene();
+
+ //we have only one view
+ QMessageBox::information(scene->views().at(0),"You lose",message);
+}
+
+/** Win State */
+WinState::WinState(GraphicsScene *scene, PlayState *game, QState *parent) : QState(parent), scene(scene), game(game)
+{
+}
+
+void WinState::onEntry(QEvent *)
+{
+ //We clear the scene
+ scene->clearScene();
+
+ QString message;
+ if (scene->levelsData.size() - 1 != game->currentLevel) {
+ message = QString("You win the level %1. Your score is %2.\nPress Space to continue after closing this dialog.").arg(game->currentLevel+1).arg(game->score);
+ //We increment the level number
+ game->currentLevel++;
+ } else {
+ message = QString("You finish the game on level %1. Your score is %2.").arg(game->currentLevel+1).arg(game->score);
+ //We set the level back to 0
+ game->currentLevel = 0;
+ //We set the score back to 0
+ game->score = 0;
+ }
+
+ //we have only one view
+ QMessageBox::information(scene->views().at(0),"You win",message);
+}
+
+/** UpdateScore State */
+UpdateScoreState::UpdateScoreState(PlayState *game, QState *parent) : QState(parent)
+{
+ this->game = game;
+}
+void UpdateScoreState::onEntry(QEvent *e)
+{
+ QState::onEntry(e);
+}
+
+/** Win transition */
+UpdateScoreTransition::UpdateScoreTransition(GraphicsScene *scene, PlayState *game, QAbstractState *target)
+ : QSignalTransition(scene,SIGNAL(subMarineDestroyed(int))),
+ game(game), scene(scene)
+{
+ setTargetState(target);
+}
+
+bool UpdateScoreTransition::eventTest(QEvent *event)
+{
+ if (!QSignalTransition::eventTest(event))
+ return false;
+ else {
+ QSignalEvent *se = static_cast<QSignalEvent*>(event);
+ game->score += se->arguments().at(0).toInt();
+ scene->progressItem->setScore(game->score);
+ return true;
+ }
+}
+
+/** Win transition */
+WinTransition::WinTransition(GraphicsScene *scene, PlayState *game, QAbstractState *target)
+ : QSignalTransition(scene,SIGNAL(allSubMarineDestroyed(int))),
+ game(game), scene(scene)
+{
+ setTargetState(target);
+}
+
+bool WinTransition::eventTest(QEvent *event)
+{
+ if (!QSignalTransition::eventTest(event))
+ return false;
+ else {
+ QSignalEvent *se = static_cast<QSignalEvent*>(event);
+ game->score += se->arguments().at(0).toInt();
+ scene->progressItem->setScore(game->score);
+ return true;
+ }
+}
+
+/** Space transition */
+CustomSpaceTransition::CustomSpaceTransition(QWidget *widget, PlayState *game, QEvent::Type type, int key)
+ : QKeyEventTransition(widget, type, key),
+ game(game)
+{
+}
+
+bool CustomSpaceTransition::eventTest(QEvent *event)
+{
+ Q_UNUSED(event);
+ if (!QKeyEventTransition::eventTest(event))
+ return false;
+ if (game->currentLevel != 0)
+ return true;
+ else
+ return false;
+
+}
diff --git a/examples/animation/sub-attaq/states.h b/demos/sub-attaq/states.h
index c3d81e7..c3d81e7 100644
--- a/examples/animation/sub-attaq/states.h
+++ b/demos/sub-attaq/states.h
diff --git a/demos/sub-attaq/sub-attaq.pro b/demos/sub-attaq/sub-attaq.pro
new file mode 100644
index 0000000..ad1327d
--- /dev/null
+++ b/demos/sub-attaq/sub-attaq.pro
@@ -0,0 +1,37 @@
+contains(QT_CONFIG, opengl):QT += opengl
+
+HEADERS += boat.h \
+ bomb.h \
+ mainwindow.h \
+ submarine.h \
+ torpedo.h \
+ pixmapitem.h \
+ graphicsscene.h \
+ animationmanager.h \
+ states.h \
+ boat_p.h \
+ submarine_p.h \
+ custompropertyanimation.h \
+ qanimationstate.h \
+ progressitem.h
+SOURCES += boat.cpp \
+ bomb.cpp \
+ main.cpp \
+ mainwindow.cpp \
+ submarine.cpp \
+ torpedo.cpp \
+ pixmapitem.cpp \
+ graphicsscene.cpp \
+ animationmanager.cpp \
+ states.cpp \
+ custompropertyanimation.cpp \
+ qanimationstate.cpp \
+ progressitem.cpp
+RESOURCES += subattaq.qrc
+
+# install
+target.path = $$[QT_INSTALL_DEMOS]/animation/sub-attaq
+sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS sub-attaq.pro pics
+sources.path = $$[QT_INSTALL_DEMOS]/animation/sub-attaq
+INSTALLS += target sources
+
diff --git a/examples/animation/sub-attaq/subattaq.qrc b/demos/sub-attaq/subattaq.qrc
index 80a3af1..80a3af1 100644
--- a/examples/animation/sub-attaq/subattaq.qrc
+++ b/demos/sub-attaq/subattaq.qrc
diff --git a/demos/sub-attaq/submarine.cpp b/demos/sub-attaq/submarine.cpp
new file mode 100644
index 0000000..029e04b
--- /dev/null
+++ b/demos/sub-attaq/submarine.cpp
@@ -0,0 +1,218 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtCore module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//Own
+#include "submarine.h"
+#include "submarine_p.h"
+#include "torpedo.h"
+#include "pixmapitem.h"
+#include "graphicsscene.h"
+#include "animationmanager.h"
+#include "custompropertyanimation.h"
+#include "qanimationstate.h"
+
+#include <QtCore/QPropertyAnimation>
+#include <QtCore/QStateMachine>
+#include <QtCore/QFinalState>
+#include <QtCore/QSequentialAnimationGroup>
+
+static QAbstractAnimation *setupDestroyAnimation(SubMarine *sub)
+{
+ QSequentialAnimationGroup *group = new QSequentialAnimationGroup(sub);
+#if QT_VERSION >=0x040500
+ PixmapItem *step1 = new PixmapItem(QString("explosion/submarine/step1"),GraphicsScene::Big, sub);
+ step1->setZValue(6);
+ PixmapItem *step2 = new PixmapItem(QString("explosion/submarine/step2"),GraphicsScene::Big, sub);
+ step2->setZValue(6);
+ PixmapItem *step3 = new PixmapItem(QString("explosion/submarine/step3"),GraphicsScene::Big, sub);
+ step3->setZValue(6);
+ PixmapItem *step4 = new PixmapItem(QString("explosion/submarine/step4"),GraphicsScene::Big, sub);
+ step4->setZValue(6);
+ step1->setOpacity(0);
+ step2->setOpacity(0);
+ step3->setOpacity(0);
+ step4->setOpacity(0);
+ CustomPropertyAnimation *anim1 = new CustomPropertyAnimation(sub);
+ anim1->setMemberFunctions((QGraphicsItem*)step1, &QGraphicsItem::opacity, &QGraphicsItem::setOpacity);
+ anim1->setDuration(100);
+ anim1->setEndValue(1);
+ CustomPropertyAnimation *anim2 = new CustomPropertyAnimation(sub);
+ anim2->setMemberFunctions((QGraphicsItem*)step2, &QGraphicsItem::opacity, &QGraphicsItem::setOpacity);
+ anim2->setDuration(100);
+ anim2->setEndValue(1);
+ CustomPropertyAnimation *anim3 = new CustomPropertyAnimation(sub);
+ anim3->setMemberFunctions((QGraphicsItem*)step3, &QGraphicsItem::opacity, &QGraphicsItem::setOpacity);
+ anim3->setDuration(100);
+ anim3->setEndValue(1);
+ CustomPropertyAnimation *anim4 = new CustomPropertyAnimation(sub);
+ anim4->setMemberFunctions((QGraphicsItem*)step4, &QGraphicsItem::opacity, &QGraphicsItem::setOpacity);
+ anim4->setDuration(100);
+ anim4->setEndValue(1);
+ group->addAnimation(anim1);
+ group->addAnimation(anim2);
+ group->addAnimation(anim3);
+ group->addAnimation(anim4);
+#else
+ // work around for a bug where we don't transition if the duration is zero.
+ QtPauseAnimation *anim = new QtPauseAnimation(group);
+ anim->setDuration(1);
+ group->addAnimation(anim);
+#endif
+ AnimationManager::self()->registerAnimation(group);
+ return group;
+}
+
+
+SubMarine::SubMarine(int type, const QString &name, int points, QGraphicsItem * parent, Qt::WindowFlags wFlags)
+ : QGraphicsWidget(parent,wFlags), subType(type), subName(name), subPoints(points), speed(0), direction(SubMarine::None)
+{
+ pixmapItem = new PixmapItem(QString("submarine"),GraphicsScene::Big, this);
+ setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
+ setZValue(5);
+ setFlags(QGraphicsItem::ItemIsMovable);
+ resize(pixmapItem->boundingRect().width(),pixmapItem->boundingRect().height());
+ setTransformOriginPoint(boundingRect().center());
+
+ graphicsRotation = new QGraphicsRotation3D(this);
+ graphicsRotation->setAxis(QVector3D(0, 1, 0));
+ graphicsRotation->setOrigin(QPointF(size().width()/2, size().height()/2));
+ QList<QGraphicsTransform *> r;
+ r.append(graphicsRotation);
+ setTransformations(r);
+
+ //We setup the state machine of the submarine
+ QStateMachine *machine = new QStateMachine(this);
+
+ //This state is when the boat is moving/rotating
+ QState *moving = new QState(machine);
+
+ //This state is when the boat is moving from left to right
+ MovementState *movement = new MovementState(this, moving);
+
+ //This state is when the boat is moving from left to right
+ ReturnState *rotation = new ReturnState(this, moving);
+
+ //This is the initial state of the moving root state
+ moving->setInitialState(movement);
+
+ movement->addTransition(this, SIGNAL(subMarineStateChanged()), moving);
+
+ //This is the initial state of the machine
+ machine->setInitialState(moving);
+
+ //End
+ QFinalState *final = new QFinalState(machine);
+
+ //If the moving animation is finished we move to the return state
+ movement->addTransition(movement, SIGNAL(animationFinished()), rotation);
+
+ //If the return animation is finished we move to the moving state
+ rotation->addTransition(rotation, SIGNAL(animationFinished()), movement);
+
+ //This state play the destroyed animation
+ QAnimationState *destroyedState = new QAnimationState(machine);
+ destroyedState->setAnimation(setupDestroyAnimation(this));
+
+ //Play a nice animation when the submarine is destroyed
+ moving->addTransition(this, SIGNAL(subMarineDestroyed()), destroyedState);
+
+ //Transition to final state when the destroyed animation is finished
+ destroyedState->addTransition(destroyedState, SIGNAL(animationFinished()), final);
+
+ //The machine has finished to be executed, then the submarine is dead
+ connect(machine,SIGNAL(finished()),this, SIGNAL(subMarineExecutionFinished()));
+
+ machine->start();
+}
+
+int SubMarine::points()
+{
+ return subPoints;
+}
+
+void SubMarine::setCurrentDirection(SubMarine::Movement direction)
+{
+ if (this->direction == direction)
+ return;
+ if (direction == SubMarine::Right && this->direction == SubMarine::None) {
+ graphicsRotation->setAngle(180);
+ }
+ this->direction = direction;
+}
+
+enum SubMarine::Movement SubMarine::currentDirection() const
+{
+ return direction;
+}
+
+void SubMarine::setCurrentSpeed(int speed)
+{
+ if (speed < 0 || speed > 3) {
+ qWarning("SubMarine::setCurrentSpeed : The speed is invalid");
+ }
+ this->speed = speed;
+ emit subMarineStateChanged();
+}
+
+int SubMarine::currentSpeed() const
+{
+ return speed;
+}
+
+void SubMarine::launchTorpedo(int speed)
+{
+ Torpedo * torp = new Torpedo();
+ GraphicsScene *scene = static_cast<GraphicsScene *>(this->scene());
+ scene->addItem(torp);
+ torp->setPos(x(), y());
+ torp->setCurrentSpeed(speed);
+ torp->launch();
+}
+
+void SubMarine::destroy()
+{
+ emit subMarineDestroyed();
+}
+
+int SubMarine::type() const
+{
+ return Type;
+}
diff --git a/demos/sub-attaq/submarine.h b/demos/sub-attaq/submarine.h
new file mode 100644
index 0000000..564e9c6
--- /dev/null
+++ b/demos/sub-attaq/submarine.h
@@ -0,0 +1,96 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtCore module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef __SUBMARINE__H__
+#define __SUBMARINE__H__
+
+//Qt
+#include <QtCore/QVariantAnimation>
+#include <QtGui/QGraphicsWidget>
+#include <QtGui/QGraphicsTransform>
+
+class PixmapItem;
+
+class Torpedo;
+
+class SubMarine : public QGraphicsWidget
+{
+Q_OBJECT
+public:
+ enum Movement {
+ None = 0,
+ Left,
+ Right
+ };
+ enum { Type = UserType + 1 };
+ SubMarine(int type, const QString &name, int points, QGraphicsItem * parent = 0, Qt::WindowFlags wFlags = 0);
+
+ int points();
+
+ void setCurrentDirection(Movement direction);
+ enum Movement currentDirection() const;
+
+ void setCurrentSpeed(int speed);
+ int currentSpeed() const;
+
+ void launchTorpedo(int speed);
+ void destroy();
+
+ virtual int type() const;
+
+ QGraphicsRotation3D *rotation3d() const { return graphicsRotation; }
+
+signals:
+ void subMarineDestroyed();
+ void subMarineExecutionFinished();
+ void subMarineStateChanged();
+
+private:
+ int subType;
+ QString subName;
+ int subPoints;
+ int speed;
+ Movement direction;
+ PixmapItem *pixmapItem;
+ QGraphicsRotation3D *graphicsRotation;
+};
+
+#endif //__SUBMARINE__H__
diff --git a/demos/sub-attaq/submarine_p.h b/demos/sub-attaq/submarine_p.h
new file mode 100644
index 0000000..c04b25b
--- /dev/null
+++ b/demos/sub-attaq/submarine_p.h
@@ -0,0 +1,139 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef SUBMARINE_P_H
+#define SUBMARINE_P_H
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
+//Own
+#include "animationmanager.h"
+#include "submarine.h"
+#include "qanimationstate.h"
+
+//Qt
+#include <QtCore/QPropertyAnimation>
+#include <QtGui/QGraphicsScene>
+
+//This state is describing when the boat is moving right
+class MovementState : public QAnimationState
+{
+Q_OBJECT
+public:
+ MovementState(SubMarine *submarine, QState *parent = 0) : QAnimationState(parent)
+ {
+ movementAnimation = new QPropertyAnimation(submarine, "pos");
+ connect(movementAnimation,SIGNAL(valueChanged(const QVariant &)),this,SLOT(onAnimationMovementValueChanged(const QVariant &)));
+ setAnimation(movementAnimation);
+ AnimationManager::self()->registerAnimation(movementAnimation);
+ this->submarine = submarine;
+ }
+
+protected slots:
+ void onAnimationMovementValueChanged(const QVariant &)
+ {
+ if (qrand() % 200 + 1 == 3)
+ submarine->launchTorpedo(qrand() % 3 + 1);
+ }
+
+protected:
+ void onEntry(QEvent *e)
+ {
+ if (submarine->currentDirection() == SubMarine::Left) {
+ movementAnimation->setEndValue(QPointF(0,submarine->y()));
+ movementAnimation->setDuration(submarine->x()/submarine->currentSpeed()*12);
+ }
+ else /*if (submarine->currentDirection() == SubMarine::Right)*/ {
+ movementAnimation->setEndValue(QPointF(submarine->scene()->width()-submarine->size().width(),submarine->y()));
+ movementAnimation->setDuration((submarine->scene()->width()-submarine->size().width()-submarine->x())/submarine->currentSpeed()*12);
+ }
+ movementAnimation->setStartValue(submarine->pos());
+ QAnimationState::onEntry(e);
+ }
+
+private:
+ SubMarine *submarine;
+ QPropertyAnimation *movementAnimation;
+};
+
+//This state is describing when the boat is moving right
+class ReturnState : public QAnimationState
+{
+public:
+ ReturnState(SubMarine *submarine, QState *parent = 0) : QAnimationState(parent)
+ {
+ returnAnimation = new QPropertyAnimation(submarine->rotation3d(), "angle");
+ AnimationManager::self()->registerAnimation(returnAnimation);
+ setAnimation(returnAnimation);
+ this->submarine = submarine;
+ }
+
+protected:
+ void onEntry(QEvent *e)
+ {
+ returnAnimation->stop();
+ returnAnimation->setStartValue(submarine->rotation3d()->angle());
+ returnAnimation->setEndValue(submarine->currentDirection() == SubMarine::Right ? 360. : 180.);
+ returnAnimation->setDuration(500);
+ QAnimationState::onEntry(e);
+ }
+
+ void onExit(QEvent *e)
+ {
+ submarine->currentDirection() == SubMarine::Right ? submarine->setCurrentDirection(SubMarine::Left) : submarine->setCurrentDirection(SubMarine::Right);
+ QAnimationState::onExit(e);
+ }
+
+private:
+ SubMarine *submarine;
+ QPropertyAnimation *returnAnimation;
+};
+
+#endif // SUBMARINE_P_H
diff --git a/demos/sub-attaq/torpedo.cpp b/demos/sub-attaq/torpedo.cpp
new file mode 100644
index 0000000..fe79488
--- /dev/null
+++ b/demos/sub-attaq/torpedo.cpp
@@ -0,0 +1,120 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtCore module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//Own
+#include "torpedo.h"
+#include "pixmapitem.h"
+#include "boat.h"
+#include "graphicsscene.h"
+#include "animationmanager.h"
+#include "qanimationstate.h"
+
+#include <QtCore/QPropertyAnimation>
+#include <QtCore/QStateMachine>
+#include <QtCore/QFinalState>
+
+Torpedo::Torpedo(QGraphicsItem * parent, Qt::WindowFlags wFlags)
+ : QGraphicsWidget(parent,wFlags), currentSpeed(0), launchAnimation(0)
+{
+ pixmapItem = new PixmapItem(QString::fromLatin1("torpedo"),GraphicsScene::Big, this);
+ setZValue(2);
+ setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
+ setFlags(QGraphicsItem::ItemIsMovable);
+ resize(pixmapItem->boundingRect().size());
+}
+
+void Torpedo::launch()
+{
+ launchAnimation = new QPropertyAnimation(this, "pos");
+ AnimationManager::self()->registerAnimation(launchAnimation);
+ launchAnimation->setEndValue(QPointF(x(),qobject_cast<GraphicsScene *>(scene())->sealLevel() - 15));
+ launchAnimation->setEasingCurve(QEasingCurve::InQuad);
+ launchAnimation->setDuration(y()/currentSpeed*10);
+ connect(launchAnimation,SIGNAL(valueChanged(const QVariant &)),this,SLOT(onAnimationLaunchValueChanged(const QVariant &)));
+
+ //We setup the state machine of the torpedo
+ QStateMachine *machine = new QStateMachine(this);
+
+ //This state is when the launch animation is playing
+ QAnimationState *launched = new QAnimationState(machine);
+ launched->setAnimation(launchAnimation);
+
+ //End
+ QFinalState *final = new QFinalState(machine);
+
+ machine->setInitialState(launched);
+
+ //### Add a nice animation when the torpedo is destroyed
+ launched->addTransition(this, SIGNAL(torpedoExplosed()),final);
+
+ //If the animation is finished, then we move to the final state
+ launched->addTransition(launched, SIGNAL(animationFinished()), final);
+
+ //The machine has finished to be executed, then the boat is dead
+ connect(machine,SIGNAL(finished()),this, SIGNAL(torpedoExecutionFinished()));
+
+ machine->start();
+}
+
+void Torpedo::setCurrentSpeed(int speed)
+{
+ if (speed < 0) {
+ qWarning("Torpedo::setCurrentSpeed : The speed is invalid");
+ return;
+ }
+ currentSpeed = speed;
+}
+
+void Torpedo::onAnimationLaunchValueChanged(const QVariant &)
+{
+ foreach (QGraphicsItem *item , collidingItems(Qt::IntersectsItemBoundingRect)) {
+ if (item->type() == Boat::Type) {
+ Boat *b = static_cast<Boat *>(item);
+ b->destroy();
+ }
+ }
+}
+
+void Torpedo::destroy()
+{
+ launchAnimation->stop();
+ emit torpedoExplosed();
+}
diff --git a/examples/animation/sub-attaq/torpedo.h b/demos/sub-attaq/torpedo.h
index c44037f..c44037f 100644
--- a/examples/animation/sub-attaq/torpedo.h
+++ b/demos/sub-attaq/torpedo.h
diff --git a/demos/textedit/textedit.cpp b/demos/textedit/textedit.cpp
index 7f4e032..be740be 100644
--- a/demos/textedit/textedit.cpp
+++ b/demos/textedit/textedit.cpp
@@ -75,6 +75,7 @@ const QString rsrcPath = ":/images/win";
TextEdit::TextEdit(QWidget *parent)
: QMainWindow(parent)
{
+ setToolButtonStyle(Qt::ToolButtonFollowStyle);
setupFileActions();
setupEditActions();
setupTextActions();
@@ -160,6 +161,7 @@ void TextEdit::setupFileActions()
QAction *a;
a = new QAction(QIcon(rsrcPath + "/filenew.png"), tr("&New"), this);
+ a->setPriority(QAction::LowPriority);
a->setShortcut(QKeySequence::New);
connect(a, SIGNAL(triggered()), this, SLOT(fileNew()));
tb->addAction(a);
@@ -181,6 +183,7 @@ void TextEdit::setupFileActions()
menu->addAction(a);
a = new QAction(tr("Save &As..."), this);
+ a->setPriority(QAction::LowPriority);
connect(a, SIGNAL(triggered()), this, SLOT(fileSaveAs()));
menu->addAction(a);
menu->addSeparator();
@@ -197,6 +200,7 @@ void TextEdit::setupFileActions()
menu->addAction(a);
a = new QAction(QIcon(rsrcPath + "/exportpdf.png"), tr("&Export PDF..."), this);
+ a->setPriority(QAction::LowPriority);
a->setShortcut(Qt::CTRL + Qt::Key_D);
connect(a, SIGNAL(triggered()), this, SLOT(filePrintPdf()));
tb->addAction(a);
@@ -226,19 +230,23 @@ void TextEdit::setupEditActions()
tb->addAction(a);
menu->addAction(a);
a = actionRedo = new QAction(QIcon(rsrcPath + "/editredo.png"), tr("&Redo"), this);
+ a->setPriority(QAction::LowPriority);
a->setShortcut(QKeySequence::Redo);
tb->addAction(a);
menu->addAction(a);
menu->addSeparator();
a = actionCut = new QAction(QIcon(rsrcPath + "/editcut.png"), tr("Cu&t"), this);
+ a->setPriority(QAction::LowPriority);
a->setShortcut(QKeySequence::Cut);
tb->addAction(a);
menu->addAction(a);
a = actionCopy = new QAction(QIcon(rsrcPath + "/editcopy.png"), tr("&Copy"), this);
+ a->setPriority(QAction::LowPriority);
a->setShortcut(QKeySequence::Copy);
tb->addAction(a);
menu->addAction(a);
a = actionPaste = new QAction(QIcon(rsrcPath + "/editpaste.png"), tr("&Paste"), this);
+ a->setPriority(QAction::LowPriority);
a->setShortcut(QKeySequence::Paste);
tb->addAction(a);
menu->addAction(a);
@@ -257,6 +265,7 @@ void TextEdit::setupTextActions()
menuBar()->addMenu(menu);
actionTextBold = new QAction(QIcon(rsrcPath + "/textbold.png"), tr("&Bold"), this);
+ actionTextBold->setPriority(QAction::LowPriority);
actionTextBold->setShortcut(Qt::CTRL + Qt::Key_B);
QFont bold;
bold.setBold(true);
@@ -267,6 +276,7 @@ void TextEdit::setupTextActions()
actionTextBold->setCheckable(true);
actionTextItalic = new QAction(QIcon(rsrcPath + "/textitalic.png"), tr("&Italic"), this);
+ actionTextItalic->setPriority(QAction::LowPriority);
actionTextItalic->setShortcut(Qt::CTRL + Qt::Key_I);
QFont italic;
italic.setItalic(true);
@@ -277,6 +287,7 @@ void TextEdit::setupTextActions()
actionTextItalic->setCheckable(true);
actionTextUnderline = new QAction(QIcon(rsrcPath + "/textunder.png"), tr("&Underline"), this);
+ actionTextUnderline->setPriority(QAction::LowPriority);
actionTextUnderline->setShortcut(Qt::CTRL + Qt::Key_U);
QFont underline;
underline.setUnderline(true);
@@ -305,12 +316,16 @@ void TextEdit::setupTextActions()
actionAlignLeft->setShortcut(Qt::CTRL + Qt::Key_L);
actionAlignLeft->setCheckable(true);
+ actionAlignLeft->setPriority(QAction::LowPriority);
actionAlignCenter->setShortcut(Qt::CTRL + Qt::Key_E);
actionAlignCenter->setCheckable(true);
+ actionAlignCenter->setPriority(QAction::LowPriority);
actionAlignRight->setShortcut(Qt::CTRL + Qt::Key_R);
actionAlignRight->setCheckable(true);
+ actionAlignRight->setPriority(QAction::LowPriority);
actionAlignJustify->setShortcut(Qt::CTRL + Qt::Key_J);
actionAlignJustify->setCheckable(true);
+ actionAlignJustify->setPriority(QAction::LowPriority);
tb->addActions(grp->actions());
menu->addActions(grp->actions());
@@ -340,6 +355,8 @@ void TextEdit::setupTextActions()
comboStyle->addItem("Ordered List (Decimal)");
comboStyle->addItem("Ordered List (Alpha lower)");
comboStyle->addItem("Ordered List (Alpha upper)");
+ comboStyle->addItem("Ordered List (Roman lower)");
+ comboStyle->addItem("Ordered List (Roman upper)");
connect(comboStyle, SIGNAL(activated(int)),
this, SLOT(textStyle(int)));
@@ -577,6 +594,12 @@ void TextEdit::textStyle(int styleIndex)
case 6:
style = QTextListFormat::ListUpperAlpha;
break;
+ case 7:
+ style = QTextListFormat::ListLowerRoman;
+ break;
+ case 8:
+ style = QTextListFormat::ListUpperRoman;
+ break;
}
cursor.beginEditBlock();
diff --git a/dist/changes-4.6.0 b/dist/changes-4.6.0
index 4c7bf52..7a6decf 100644
--- a/dist/changes-4.6.0
+++ b/dist/changes-4.6.0
@@ -31,10 +31,18 @@ information about a particular change.
* Platform Specific Changes *
****************************************************************************
+ - Significant external contribution from Milan Burda for planned removal
+ of (non-unicode) Windows 9x/ME support.
+ - QRegion is no longer a GDI object by default. This means it is no
+ longer subjuect to gui-thread only nor does it potentially impact
+ the 10.000 GDI object limit per process. By explicitly calling
+ .handle() a GDI object will be created and memory managed by
+ QRegion. The native handle is for reading out only. Any GDI calls
+ made on the HRGN handle will not affect the QRegion.
****************************************************************************
-* Important Behavior Changes *
+* Important Behavior Changes *
****************************************************************************
- The experimental Direct3D paint engine has been removed. The reason for
@@ -68,3 +76,33 @@ information about a particular change.
to the item's position and transformation, you can set the flag
QGraphicsItem::ItemSendsGeometryChanges (which is enabled by default by
QGraphicsWidget and QGraphicsProxyWidget).
+
+ - QDesktopWidget on X11 no longer emits the resized(int) signal when screens
+ are added or removed. This was not done on other platforms. Use the
+ screenCountChanged signal instead
+
+ - QUrl's parser is more strict when for hostnames in URLs. QUrl now
+ enforces STD 3 rules:
+
+ * each individual hostname section (between dots) must be at most
+ 63 ASCII characters in length;
+
+ * only letters, digits, and the hyphen character are allowed in the
+ ASCII range; letters outside the ASCII range follow the normal
+ IDN rules
+
+ That means QUrl no longer accepts some URLs that were invalid
+ before, but weren't interpreted as such.
+
+ - The Unix configure-time check for STL is stricter now in Qt
+ 4.6.0. This means some legacy STL implementations may fail to pass
+ the test and, therefore, Qt will automatically disable STL support.
+
+ This is a binary-compatible change: existing code will continue to
+ work without being recompiled. However, it affects the source code,
+ since some STL-compatibility API will not be enabled.
+
+ Platforms affected by this change:
+ * solaris-cc-* with the default (Cstd) C++ STL library
+ recommendation: use -library=stlport4
+ See Sun Studio's documentation for the effects of this option
diff --git a/doc/doc.pri b/doc/doc.pri
index a4c77fe..13d481f 100644
--- a/doc/doc.pri
+++ b/doc/doc.pri
@@ -2,13 +2,6 @@
# Qt documentation build
#####################################################################
-win32 {
- QT_WINCONFIG = release/
- !CONFIG(release, debug|release) {
- QT_WINCONFIG = debug/
- }
-}
-
DOCS_GENERATION_DEFINES = -Dopensourceedition
GENERATOR = $$QT_BUILD_TREE/bin/qhelpgenerator
@@ -21,9 +14,9 @@ win32:!win32-g++ {
}
$$unixstyle {
- QDOC = cd $$QT_SOURCE_TREE/tools/qdoc3/test && QT_BUILD_TREE=$$QT_BUILD_TREE QT_SOURCE_TREE=$$QT_SOURCE_TREE $$QT_BUILD_TREE/tools/qdoc3/$${QT_WINCONFIG}qdoc3 $$DOCS_GENERATION_DEFINES
+ QDOC = cd $$QT_SOURCE_TREE/tools/qdoc3/test && QT_BUILD_TREE=$$QT_BUILD_TREE QT_SOURCE_TREE=$$QT_SOURCE_TREE $$QT_BUILD_TREE/tools/qdoc3/qdoc3 $$DOCS_GENERATION_DEFINES
} else {
- QDOC = cd $$QT_SOURCE_TREE/tools/qdoc3/test && set QT_BUILD_TREE=$$QT_BUILD_TREE&& set QT_SOURCE_TREE=$$QT_SOURCE_TREE&& $$QT_BUILD_TREE/tools/qdoc3/$${QT_WINCONFIG}qdoc3.exe $$DOCS_GENERATION_DEFINES
+ QDOC = cd $$QT_SOURCE_TREE/tools/qdoc3/test && set QT_BUILD_TREE=$$QT_BUILD_TREE&& set QT_SOURCE_TREE=$$QT_SOURCE_TREE&& $$QT_BUILD_TREE/tools/qdoc3/qdoc3.exe $$DOCS_GENERATION_DEFINES
QDOC = $$replace(QDOC, "/", "\\")
}
macx {
diff --git a/doc/src/annotated.qdoc b/doc/src/annotated.qdoc
deleted file mode 100644
index a817df6..0000000
--- a/doc/src/annotated.qdoc
+++ /dev/null
@@ -1,62 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-/****************************************************************************
-**
-** Documentation for class overview.
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the Qt GUI Toolkit.
-** EDITIONS: FREE, PROFESSIONAL, ENTERPRISE
-**
-****************************************************************************/
-
-/*!
- \page annotated.html
- \title Annotated Class Index
- \ingroup classlists
-
- Qt's classes with brief descriptions:
-
- \generatelist annotatedclasses
-*/
diff --git a/doc/src/bughowto.qdoc b/doc/src/bughowto.qdoc
index 927cb04..fae1180 100644
--- a/doc/src/bughowto.qdoc
+++ b/doc/src/bughowto.qdoc
@@ -52,7 +52,9 @@
Notes}, and the \l{Task Tracker} on the Qt website to see
if the issue is already known.
- Always include the following information in your bug report:
+ If you have found a new bug, please submit a bug report using
+ the \l{Bug Report Form}. Always include the following information
+ in your bug report:
\list 1
\o The name and version number of your compiler
@@ -66,6 +68,6 @@
such a program can be created with some minor changes to one
of the many example programs in Qt's \c examples directory.
- Please submit the bug report using the \l{Task Tracker} on the Qt
- website.
+ If you have implemented a bug fix and want to contribute your fix
+ directly, then you can do so through the \l{Public Qt Repository}.
*/
diff --git a/doc/src/classes.qdoc b/doc/src/classes.qdoc
index dddc96f..e955a5a 100644
--- a/doc/src/classes.qdoc
+++ b/doc/src/classes.qdoc
@@ -40,17 +40,31 @@
****************************************************************************/
/*!
+ \group groups
+ \title Grouped Classes
+ \ingroup classlists
+
+ This page provides a way of navigating Qt's classes by grouping
+ related classes together. Some classes may appear in more than one group.
+
+ \generatelist{related}
+
+*/
+
+/*!
\page classes.html
\title Qt's Classes
\ingroup classlists
- This is a list of all Qt classes excluding the \l{Qt 3
- compatibility classes}. For a shorter list that only includes the
- most frequently used classes, see \l{Qt's Main Classes}.
+ This is a list of all Qt classes. For a shorter list of the most
+ frequently used Qt classes, see \l{Qt's Main Classes}. For a list
+ of the classes provided for compatibility with Qt3, see \l{Qt 3
+ compatibility classes}. For classes that have been deprecated, see
+ the \l{Obsolete Classes} list.
\generatelist classes
- \sa {Qt 3 Compatibility Classes}, {Qt's Modules}
+ \sa {Qt 3 Compatibility Classes}, {Qt's Modules}, {Obsolete Classes}
*/
/*!
@@ -63,3 +77,77 @@
\generatelist{namespaces}
*/
+
+/*!
+ \page obsoleteclasses.html
+ \title Obsolete Classes
+ \ingroup classlists
+
+
+ This is a list of Qt classes that are obsolete (deprecated). These
+ classes are provided to keep old source code working but they are
+ no longer maintained. We strongly advise against using these
+ classes in new code.
+
+ \generatelist obsoleteclasses
+
+ \sa {Qt's Classes}, {Qt's Modules}
+*/
+
+/*!
+ \page annotated.html
+ \title Annotated Class Index
+ \ingroup classlists
+
+ Qt's classes with brief descriptions:
+
+ \generatelist annotatedclasses
+*/
+
+/*!
+ \page functions.html
+ \title Member Function Index
+ \ingroup classlists
+
+ Here is the list of all the documented member functions in the Qt
+ API with links to the class documentation for each function.
+
+ \generatelist functionindex
+*/
+
+/*!
+ \page hierarchy.html
+
+ \title Class Inheritance Hierarchy
+ \ingroup classlists
+
+ This list shows the C++ class inheritance relations between the
+ classes in the Qt API.
+
+ \generatelist classhierarchy
+*/
+
+/*!
+ \page mainclasses.html
+ \title Qt's Main Classes
+ \ingroup classlists
+
+ These are the most frequently used Qt classes. For the complete
+ list see \link classes.html Qt's Classes \endlink.
+
+ \generatelist mainclasses
+*/
+
+/*!
+ \page compatclasses.html
+ \title Qt 3 Compatibility Classes
+ \ingroup classlists
+
+ This is a list of the classes that Qt provides for compatibility
+ with Qt 3. The vast majority of these are provided by the
+ Qt3Support module.
+
+ \generatelist compatclasses
+
+ \sa {Qt's Classes}, {Qt's Modules}
+*/
diff --git a/doc/src/phonon-api.qdoc b/doc/src/classes/phonon-api.qdoc
index 09274bf..09274bf 100644
--- a/doc/src/phonon-api.qdoc
+++ b/doc/src/classes/phonon-api.qdoc
diff --git a/doc/src/q3asciicache.qdoc b/doc/src/classes/q3asciicache.qdoc
index 43537cc..43537cc 100644
--- a/doc/src/q3asciicache.qdoc
+++ b/doc/src/classes/q3asciicache.qdoc
diff --git a/doc/src/q3asciidict.qdoc b/doc/src/classes/q3asciidict.qdoc
index 9a51db1..9a51db1 100644
--- a/doc/src/q3asciidict.qdoc
+++ b/doc/src/classes/q3asciidict.qdoc
diff --git a/doc/src/q3cache.qdoc b/doc/src/classes/q3cache.qdoc
index d8799b6..d8799b6 100644
--- a/doc/src/q3cache.qdoc
+++ b/doc/src/classes/q3cache.qdoc
diff --git a/doc/src/q3dict.qdoc b/doc/src/classes/q3dict.qdoc
index 0e6d51d..0e6d51d 100644
--- a/doc/src/q3dict.qdoc
+++ b/doc/src/classes/q3dict.qdoc
diff --git a/doc/src/q3intcache.qdoc b/doc/src/classes/q3intcache.qdoc
index dfff679..dfff679 100644
--- a/doc/src/q3intcache.qdoc
+++ b/doc/src/classes/q3intcache.qdoc
diff --git a/doc/src/q3intdict.qdoc b/doc/src/classes/q3intdict.qdoc
index cef2e79..cef2e79 100644
--- a/doc/src/q3intdict.qdoc
+++ b/doc/src/classes/q3intdict.qdoc
diff --git a/doc/src/q3memarray.qdoc b/doc/src/classes/q3memarray.qdoc
index b9c1f73..b9c1f73 100644
--- a/doc/src/q3memarray.qdoc
+++ b/doc/src/classes/q3memarray.qdoc
diff --git a/doc/src/q3popupmenu.qdoc b/doc/src/classes/q3popupmenu.qdoc
index a2cfe08..a2cfe08 100644
--- a/doc/src/q3popupmenu.qdoc
+++ b/doc/src/classes/q3popupmenu.qdoc
diff --git a/doc/src/q3ptrdict.qdoc b/doc/src/classes/q3ptrdict.qdoc
index 38ca0bb..38ca0bb 100644
--- a/doc/src/q3ptrdict.qdoc
+++ b/doc/src/classes/q3ptrdict.qdoc
diff --git a/doc/src/q3ptrlist.qdoc b/doc/src/classes/q3ptrlist.qdoc
index 3000940..3000940 100644
--- a/doc/src/q3ptrlist.qdoc
+++ b/doc/src/classes/q3ptrlist.qdoc
diff --git a/doc/src/q3ptrqueue.qdoc b/doc/src/classes/q3ptrqueue.qdoc
index b3af5f6..b3af5f6 100644
--- a/doc/src/q3ptrqueue.qdoc
+++ b/doc/src/classes/q3ptrqueue.qdoc
diff --git a/doc/src/q3ptrstack.qdoc b/doc/src/classes/q3ptrstack.qdoc
index 1650d69..1650d69 100644
--- a/doc/src/q3ptrstack.qdoc
+++ b/doc/src/classes/q3ptrstack.qdoc
diff --git a/doc/src/q3ptrvector.qdoc b/doc/src/classes/q3ptrvector.qdoc
index fa78de5..fa78de5 100644
--- a/doc/src/q3ptrvector.qdoc
+++ b/doc/src/classes/q3ptrvector.qdoc
diff --git a/doc/src/q3sqlfieldinfo.qdoc b/doc/src/classes/q3sqlfieldinfo.qdoc
index ba064f3..ba064f3 100644
--- a/doc/src/q3sqlfieldinfo.qdoc
+++ b/doc/src/classes/q3sqlfieldinfo.qdoc
diff --git a/doc/src/q3sqlrecordinfo.qdoc b/doc/src/classes/q3sqlrecordinfo.qdoc
index 64236d2..64236d2 100644
--- a/doc/src/q3sqlrecordinfo.qdoc
+++ b/doc/src/classes/q3sqlrecordinfo.qdoc
diff --git a/doc/src/q3valuelist.qdoc b/doc/src/classes/q3valuelist.qdoc
index fd73763..fd73763 100644
--- a/doc/src/q3valuelist.qdoc
+++ b/doc/src/classes/q3valuelist.qdoc
diff --git a/doc/src/q3valuestack.qdoc b/doc/src/classes/q3valuestack.qdoc
index e3ae677..e3ae677 100644
--- a/doc/src/q3valuestack.qdoc
+++ b/doc/src/classes/q3valuestack.qdoc
diff --git a/doc/src/q3valuevector.qdoc b/doc/src/classes/q3valuevector.qdoc
index 353b7fa..353b7fa 100644
--- a/doc/src/q3valuevector.qdoc
+++ b/doc/src/classes/q3valuevector.qdoc
diff --git a/doc/src/qalgorithms.qdoc b/doc/src/classes/qalgorithms.qdoc
index 7634322..7634322 100644
--- a/doc/src/qalgorithms.qdoc
+++ b/doc/src/classes/qalgorithms.qdoc
diff --git a/doc/src/qcache.qdoc b/doc/src/classes/qcache.qdoc
index 6c88ede..6c88ede 100644
--- a/doc/src/qcache.qdoc
+++ b/doc/src/classes/qcache.qdoc
diff --git a/doc/src/qcolormap.qdoc b/doc/src/classes/qcolormap.qdoc
index 95f7dc0..95f7dc0 100644
--- a/doc/src/qcolormap.qdoc
+++ b/doc/src/classes/qcolormap.qdoc
diff --git a/doc/src/classes/qdesktopwidget.qdoc b/doc/src/classes/qdesktopwidget.qdoc
new file mode 100644
index 0000000..56a882d
--- /dev/null
+++ b/doc/src/classes/qdesktopwidget.qdoc
@@ -0,0 +1,266 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+ \class QDesktopWidget
+ \brief The QDesktopWidget class provides access to screen information on multi-head systems.
+
+ \ingroup advanced
+ \ingroup desktop
+ \ingroup environment
+ \mainclass
+
+ QApplication::desktop() function should be used to get an instance
+ of the QDesktopWidget.
+
+ Systems with more than one graphics card and monitor can manage the
+ physical screen space available either as multiple desktops, or as a
+ large virtual desktop, which usually has the size of the bounding
+ rectangle of all the screens (see virtualDesktop). For an
+ application, one of the available screens is the primary screen, i.e.
+ the screen where the main widget resides (see primaryScreen). All
+ windows opened in the context of the application should be
+ constrained to the boundaries of the primary screen; for example,
+ it would be inconvenient if a dialog box popped up on a different
+ screen, or split over two screens.
+
+ The QDesktopWidget provides information about the geometry of the
+ available screens with screenGeometry(). The number of screens
+ available is returned by screenCount, and the screenCountChanged
+ signal is emitted when screens are added or removed during runtime.
+ The screen number that a particular point or widget is located in
+ is returned by screenNumber().
+
+ Widgets provided by Qt use this class, for example, to place
+ tooltips, menus and dialog boxes according to the parent or
+ application widget. Applications can use this class to save window
+ positions, or to place child widgets and dialogs on one particular
+ screen.
+
+ \img qdesktopwidget.png Managing Multiple Screens
+
+ In the illustration above, Application One's primary screen is
+ screen 0, and App Two's primary screen is screen 1.
+
+ \target multiple screens note
+ \note QDesktopWidget inherits the QWidget properties, width() and
+ height(), which specify the size of the desktop. However, for
+ desktops with multiple screens, the size of the desktop is the union
+ of all the screen sizes, so width() and height() should \e not be
+ used for computing the size of a widget to be placed on one of the
+ screens. The correct width and height values are obtained using
+ availableGeometry() or screenGeometry() for a particular screen.
+
+ \sa QApplication, QApplication::desktop(), QX11Info::appRootWindow()
+*/
+
+/*!
+ \fn QDesktopWidget::QDesktopWidget()
+
+ \internal
+
+ Creates the desktop widget.
+
+ If the system supports a virtual desktop, this widget will have
+ the size of the virtual desktop; otherwise this widget will have
+ the size of the primary screen.
+
+ Instead of using QDesktopWidget directly, use QApplication::desktop().
+*/
+
+/*!
+ \fn QDesktopWidget::~QDesktopWidget()
+
+ \internal
+
+ Destroys the desktop widget and frees any allocated resources.
+*/
+
+/*!
+ \fn int QDesktopWidget::numScreens() const
+
+ Returns the number of available screens.
+
+ \obsolete
+
+ This function is deprecated. Use screenCount instead.
+
+ \sa primaryScreen
+*/
+
+/*!
+ \fn QWidget *QDesktopWidget::screen(int screen)
+
+ Returns a widget that represents the screen with index \a screen
+ (a value of -1 means the default screen).
+
+ If the system uses a virtual desktop, the returned widget will
+ have the geometry of the entire virtual desktop; i.e., bounding
+ every \a screen.
+
+ \sa primaryScreen, screenCount, virtualDesktop
+*/
+
+/*!
+ \fn const QRect QDesktopWidget::availableGeometry(int screen) const
+
+ Returns the available geometry of the screen with index \a screen. What
+ is available will be subrect of screenGeometry() based on what the
+ platform decides is available (for example excludes the dock and menu bar
+ on Mac OS X, or the task bar on Windows). The default screen is used if
+ \a screen is -1.
+
+ \sa screenNumber(), screenGeometry()
+*/
+
+/*!
+ \fn const QRect QDesktopWidget::availableGeometry(const QWidget *widget) const
+ \overload
+
+ Returns the available geometry of the screen which contains \a widget.
+
+ \sa screenGeometry()
+*/
+
+/*!
+ \fn const QRect QDesktopWidget::availableGeometry(const QPoint &p) const
+ \overload
+
+ Returns the available geometry of the screen which contains \a p.
+
+ \sa screenGeometry()
+*/
+
+
+/*!
+ \fn const QRect QDesktopWidget::screenGeometry(int screen) const
+
+ Returns the geometry of the screen with index \a screen. The default
+ screen is used if \a screen is -1.
+
+ \sa screenNumber()
+*/
+
+/*!
+ \fn const QRect QDesktopWidget::screenGeometry(const QWidget *widget) const
+ \overload
+
+ Returns the geometry of the screen which contains \a widget.
+*/
+
+/*!
+ \fn const QRect QDesktopWidget::screenGeometry(const QPoint &p) const
+ \overload
+
+ Returns the geometry of the screen which contains \a p.
+*/
+
+
+/*!
+ \fn int QDesktopWidget::screenNumber(const QWidget *widget) const
+
+ Returns the index of the screen that contains the largest
+ part of \a widget, or -1 if the widget not on a screen.
+
+ \sa primaryScreen
+*/
+
+/*!
+ \fn int QDesktopWidget::screenNumber(const QPoint &point) const
+
+ \overload
+ Returns the index of the screen that contains the \a point, or the
+ screen which is the shortest distance from the \a point.
+
+ \sa primaryScreen
+*/
+
+/*!
+ \fn void QDesktopWidget::resizeEvent(QResizeEvent *event)
+ \reimp
+*/
+
+/*!
+ \fn void QDesktopWidget::resized(int screen)
+
+ This signal is emitted when the size of \a screen changes.
+*/
+
+/*!
+ \fn void QDesktopWidget::workAreaResized(int screen)
+
+ This signal is emitted when the work area available on \a screen changes.
+*/
+
+/*!
+ \property QDesktopWidget::screenCount
+ \brief the number of screens currently available on the system.
+
+ \since 4.6
+
+ \sa screenCountChanged()
+*/
+
+/*!
+ \property QDesktopWidget::primaryScreen
+ \brief the index of the screen that is configured to be the primary screen
+ on the system.
+*/
+
+/*!
+ \property QDesktopWidget::virtualDesktop
+
+ \brief if the system manages the available screens in a virtual desktop.
+
+ For virtual desktops, screen() will always return the same widget.
+ The size of the virtual desktop is the size of this desktop
+ widget.
+*/
+
+/*!
+ \fn void QDesktopWidget::screenCountChanged(int newCount)
+
+ \since 4.6
+
+ This signal is emitted when the number of screens changes to \a newCount.
+
+ \sa screenCount
+*/
diff --git a/doc/src/qiterator.qdoc b/doc/src/classes/qiterator.qdoc
index 416b4bc..416b4bc 100644
--- a/doc/src/qiterator.qdoc
+++ b/doc/src/classes/qiterator.qdoc
diff --git a/doc/src/qstyles.qdoc b/doc/src/classes/qmacstyle.qdoc
index ae2d95b..ae2d95b 100644
--- a/doc/src/qstyles.qdoc
+++ b/doc/src/classes/qmacstyle.qdoc
diff --git a/doc/src/classes/qnamespace.qdoc b/doc/src/classes/qnamespace.qdoc
new file mode 100644
index 0000000..0436547
--- /dev/null
+++ b/doc/src/classes/qnamespace.qdoc
@@ -0,0 +1,2745 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+ \namespace Qt
+ \inmodule QtCore
+
+ \brief The Qt namespace contains miscellaneous identifiers
+ used throughout the Qt library.
+
+ \ingroup misc
+*/
+
+/*!
+ \enum Qt::Orientation
+
+ This type is used to signify an object's orientation.
+
+ \value Horizontal
+ \value Vertical
+
+ Orientation is used with QScrollBar for example.
+*/
+
+/*!
+ \enum Qt::AlignmentFlag
+
+ This enum type is used to describe alignment. It contains
+ horizontal and vertical flags that can be combined to produce
+ the required effect.
+
+ The \l{TextElideMode} enum can also be used in many situations
+ to fine-tune the appearance of aligned text.
+
+ The horizontal flags are:
+
+ \value AlignLeft Aligns with the left edge.
+ \value AlignRight Aligns with the right edge.
+ \value AlignHCenter Centers horizontally in the available space.
+ \value AlignJustify Justifies the text in the available space.
+ \omitvalue AlignAuto
+
+ The vertical flags are:
+
+ \value AlignTop Aligns with the top.
+ \value AlignBottom Aligns with the bottom.
+ \value AlignVCenter Centers vertically in the available space.
+
+ You can use only one of the horizontal flags at a time. There is
+ one two-dimensional flag:
+
+ \value AlignCenter Centers in both dimensions.
+
+ You can use at most one horizontal and one vertical flag at a
+ time. Qt::AlignCenter counts as both horizontal and vertical.
+
+ Three enum values are useful in applications that can be run in
+ right-to-left mode:
+
+ \value AlignAbsolute If the widget's layout direction is
+ Qt::RightToLeft (instead of Qt::LeftToRight, the default),
+ Qt::AlignLeft refers to the \e right edge and Qt::AlignRight
+ to the \e left edge. This is normally the desired behavior.
+ If you want Qt::AlignLeft to always mean "left" and
+ Qt::AlignRight to always mean "right", combine the flag with
+ Qt::AlignAbsolute.
+ \value AlignLeading Synonym for Qt::AlignLeft.
+ \value AlignTrailing Synonym for Qt::AlignRight.
+
+ Masks:
+
+ \value AlignHorizontal_Mask
+ \value AlignVertical_Mask
+
+ Conflicting combinations of flags have undefined meanings.
+*/
+
+/*!
+ \enum Qt::ApplicationAttribute
+
+ This enum describes attributes that change the behavior of
+ application-wide features. These are enabled and disabled using
+ QCoreApplication::setAttribute(), and can be tested for with
+ QCoreApplication::testAttribute().
+
+ \value AA_ImmediateWidgetCreation Ensures that widgets are created
+ as soon as they are constructed. By default, resources for
+ widgets are allocated on demand to improve efficiency and
+ minimize resource usage. Setting or clearing this attribute
+ affects widgets constructed after the change. Setting it
+ tells Qt to create toplevel windows immediately.
+ Therefore, if it is important to minimize resource
+ consumption, do not set this attribute.
+
+ \value AA_MSWindowsUseDirect3DByDefault This value is obsolete and
+ has no effect.
+
+ \value AA_DontShowIconsInMenus Actions with the Icon property won't be
+ shown in any menus unless specifically set by the
+ QAction::iconVisibleInMenu property.
+
+ Menus that are currently open or menus already created in the native
+ Mac OS X menubar \e{may not} pick up a change in this attribute. Changes
+ in the QAction::iconVisibleInMenu property will always be picked up.
+
+ \value AA_NativeWindows Ensures that widgets have native windows.
+
+ \value AA_DontCreateNativeWidgetSiblings Ensures that siblings of native
+ widgets stay non-native unless specifically set by the
+ Qt::WA_NativeWindow attribute.
+
+ \value AA_MacPluginApplication Stops the Qt mac application from doing
+ specific initializations that do not necessarily make sense when using Qt
+ to author a plugin. This includes avoiding loading our nib for the main
+ menu and not taking possession of the native menu bar. When setting this
+ attribute to true will also set the AA_DontUseNativeMenuBar attribute
+ to true.
+
+ \value AA_DontUseNativeMenuBar All menubars created while this attribute is
+ set to true won't be used as a native menubar (e.g, the menubar at
+ the top of the main screen on Mac OS X or at the bottom in Windows CE).
+
+ \value AA_MacDontSwapCtrlAndMeta On Mac OS X by default, Qt swaps the
+ Control and Meta (Command) keys (i.e., whenever Control is pressed, Qt
+ sends Meta and whenever Meta is pressed Control is sent. When this
+ attribute is true, Qt will not do the flip. QKeySequence::StandardShortcuts
+ will also flip accordingly (i.e., QKeySequence::Copy will be
+ Command+C on the keyboard regardless of the value set, though what is output for
+ QKeySequence::toString(QKeySequence::PortableText) will be different).
+
+ \omitvalue AA_AttributeCount
+*/
+
+/*!
+ \enum Qt::MouseButton
+
+ This enum type describes the different mouse buttons.
+
+ \value NoButton The button state does not refer to any
+ button (see QMouseEvent::button()).
+ \value LeftButton The left button is pressed, or an event refers
+ to the left button. (The left button may be the right button on
+ left-handed mice.)
+ \value RightButton The right button.
+ \value MidButton The middle button.
+ \value XButton1 The first X button.
+ \value XButton2 The second X button.
+
+ \omitvalue MouseButtonMask
+
+ \sa KeyboardModifier Modifier
+*/
+
+/*!
+ \enum Qt::KeyboardModifier
+
+ This enum describes the modifier keys.
+
+ \value NoModifier No modifier key is pressed.
+ \value ShiftModifier A Shift key on the keyboard is pressed.
+ \value ControlModifier A Ctrl key on the keyboard is pressed.
+ \value AltModifier An Alt key on the keyboard is pressed.
+ \value MetaModifier A Meta key on the keyboard is pressed.
+ \value KeypadModifier A keypad button is pressed.
+ \value GroupSwitchModifier X11 only. A Mode_switch key on the keyboard is pressed.
+
+ \omitvalue KeyboardModifierMask
+
+ \note On Mac OS X, the \c ControlModifier value corresponds to
+ the Command keys on the Macintosh keyboard, and the \c MetaModifier value
+ corresponds to the Control keys. The \c KeypadModifier value will also be set
+ when an arrow key is pressed as the arrow keys are considered part of the
+ keypad.
+
+ \note On Windows Keyboards, Qt::MetaModifier and Qt::Key_Meta are mapped
+ to the Windows key.
+
+ \sa MouseButton Modifier
+*/
+
+/*!
+ \enum Qt::Modifier
+
+ This enum provides shorter names for the keyboard modifier keys
+ supported by Qt.
+
+ \bold{Note:} On Mac OS X, the \c CTRL value corresponds to
+ the Command keys on the Macintosh keyboard, and the \c META value
+ corresponds to the Control keys.
+
+ \value SHIFT The Shift keys provided on all standard keyboards.
+ \value META The Meta keys.
+ \value CTRL The Ctrl keys.
+ \value ALT The normal Alt keys, but not keys like AltGr.
+ \value UNICODE_ACCEL The shortcut is specified as a Unicode code
+ point, not as a Qt Key.
+ \omitvalue MODIFIER_MASK
+
+ \sa KeyboardModifier MouseButton
+*/
+
+/*!
+ \enum Qt::GlobalColor
+
+ \raw HTML
+ <style type="text/css" id="colorstyles">
+ #white { background-color: #ffffff; color: #000000 }
+ #black { background-color: #000000; color: #ffffff }
+ #red { background-color: #ff0000; color: #000000 }
+ #darkRed { background-color: #800000; color: #ffffff }
+ #green { background-color: #00ff00; color: #000000 }
+ #darkGreen { background-color: #008000; color: #ffffff }
+ #blue { background-color: #0000ff; color: #ffffff }
+ #darkBlue { background-color: #000080; color: #ffffff }
+ #cyan { background-color: #00ffff; color: #000000 }
+ #darkCyan { background-color: #008080; color: #ffffff }
+ #magenta { background-color: #ff00ff; color: #000000 }
+ #darkMagenta { background-color: #800080; color: #ffffff }
+ #yellow { background-color: #ffff00; color: #000000 }
+ #darkYellow { background-color: #808000; color: #ffffff }
+ #gray { background-color: #a0a0a4; color: #000000 }
+ #darkGray { background-color: #808080; color: #ffffff }
+ #lightGray { background-color: #c0c0c0; color: #000000 }
+ </style>
+ \endraw
+
+ Qt's predefined QColor objects:
+
+ \value white \raw HTML
+ White <tt id="white">(#ffffff)</tt>
+ \endraw
+ \value black \raw HTML
+ Black <tt id="black">(#000000)</tt>
+ \endraw
+ \value red \raw HTML
+ Red <tt id="red">(#ff0000)</tt>
+ \endraw
+ \value darkRed \raw HTML
+ Dark red <tt id="darkRed">(#800000)</tt>
+ \endraw
+ \value green \raw HTML
+ Green <tt id="green">(#00ff00)</tt>
+ \endraw
+ \value darkGreen \raw HTML
+ Dark green <tt id="darkGreen">(#008000)</tt>
+ \endraw
+ \value blue \raw HTML
+ Blue <tt id="blue">(#0000ff)</tt>
+ \endraw
+ \value darkBlue \raw HTML
+ Dark blue <tt id="darkBlue">(#000080)</tt>
+ \endraw
+ \value cyan \raw HTML
+ Cyan <tt id="cyan">(#00ffff)</tt>
+ \endraw
+ \value darkCyan \raw HTML
+ Dark cyan <tt id="darkCyan">(#008080)</tt>
+ \endraw
+ \value magenta \raw HTML
+ Magenta <tt id="magenta">(#ff00ff)</tt>
+ \endraw
+ \value darkMagenta \raw HTML
+ Dark magenta <tt id="darkMagenta">(#800080)</tt>
+ \endraw
+ \value yellow \raw HTML
+ Yellow <tt id="yellow">(#ffff00)</tt>
+ \endraw
+ \value darkYellow \raw HTML
+ Dark yellow <tt id="darkYellow">(#808000)</tt>
+ \endraw
+ \value gray \raw HTML
+ Gray <tt id="gray">(#a0a0a4)</tt>
+ \endraw
+ \value darkGray \raw HTML
+ Dark gray <tt id="darkGray">(#808080)</tt>
+ \endraw
+ \value lightGray \raw HTML
+ Light gray <tt id="lightGray">(#c0c0c0)</tt>
+ \endraw
+ \value transparent a transparent black value (i.e., QColor(0, 0, 0, 0))
+ \value color0 0 pixel value (for bitmaps)
+ \value color1 1 pixel value (for bitmaps)
+
+ \sa QColor
+
+*/
+
+/*!
+ \enum Qt::PenStyle
+
+ This enum type defines the pen styles that can be drawn using
+ QPainter. The styles are:
+
+ \table
+ \row
+ \o \inlineimage qpen-solid.png
+ \o \inlineimage qpen-dash.png
+ \o \inlineimage qpen-dot.png
+ \row
+ \o Qt::SolidLine
+ \o Qt::DashLine
+ \o Qt::DotLine
+ \row
+ \o \inlineimage qpen-dashdot.png
+ \o \inlineimage qpen-dashdotdot.png
+ \o \inlineimage qpen-custom.png
+ \row
+ \o Qt::DashDotLine
+ \o Qt::DashDotDotLine
+ \o Qt::CustomDashLine
+ \endtable
+
+ \value NoPen no line at all. For example, QPainter::drawRect()
+ fills but does not draw any boundary line.
+
+ \value SolidLine A plain line.
+ \value DashLine Dashes separated by a few pixels.
+ \value DotLine Dots separated by a few pixels.
+ \value DashDotLine Alternate dots and dashes.
+ \value DashDotDotLine One dash, two dots, one dash, two dots.
+ \value CustomDashLine A custom pattern defined using
+ QPainterPathStroker::setDashPattern().
+
+ \omitvalue MPenStyle
+
+ \sa QPen
+*/
+
+/*!
+ \enum Qt::PenCapStyle
+
+ This enum type defines the pen cap styles supported by Qt, i.e.
+ the line end caps that can be drawn using QPainter.
+
+ \table
+ \row
+ \o \inlineimage qpen-square.png
+ \o \inlineimage qpen-flat.png
+ \o \inlineimage qpen-roundcap.png
+ \row
+ \o Qt::SquareCap
+ \o Qt::FlatCap
+ \o Qt::RoundCap
+ \endtable
+
+ \value FlatCap a square line end that does not cover the end
+ point of the line.
+ \value SquareCap a square line end that covers the end point and
+ extends beyond it by half the line width.
+ \value RoundCap a rounded line end.
+ \omitvalue MPenCapStyle
+
+ \sa QPen
+*/
+
+/*!
+ \enum Qt::PenJoinStyle
+
+ This enum type defines the pen join styles supported by Qt, i.e.
+ which joins between two connected lines can be drawn using
+ QPainter.
+
+ \table
+ \row
+ \o \inlineimage qpen-bevel.png
+ \o \inlineimage qpen-miter.png
+ \o \inlineimage qpen-roundjoin.png
+ \row
+ \o Qt::BevelJoin
+ \o Qt::MiterJoin
+ \o Qt::RoundJoin
+ \endtable
+
+ \value MiterJoin The outer edges of the lines are extended to
+ meet at an angle, and this area is filled.
+ \value BevelJoin The triangular notch between the two lines is filled.
+ \value RoundJoin A circular arc between the two lines is filled.
+ \value SvgMiterJoin A miter join corresponding to the definition of
+ a miter join in the \l{SVG 1.2 Tiny} specification.
+ \omitvalue MPenJoinStyle
+
+ \sa QPen
+*/
+
+/*!
+ \enum Qt::BrushStyle
+
+ This enum type defines the brush styles supported by Qt, i.e. the
+ fill pattern of shapes drawn using QPainter.
+
+ \image brush-styles.png Brush Styles
+
+ \value NoBrush No brush pattern.
+ \value SolidPattern Uniform color.
+ \value Dense1Pattern Extremely dense brush pattern.
+ \value Dense2Pattern Very dense brush pattern.
+ \value Dense3Pattern Somewhat dense brush pattern.
+ \value Dense4Pattern Half dense brush pattern.
+ \value Dense5Pattern Somewhat sparse brush pattern.
+ \value Dense6Pattern Very sparse brush pattern.
+ \value Dense7Pattern Extremely sparse brush pattern.
+ \value HorPattern Horizontal lines.
+ \value VerPattern Vertical lines.
+ \value CrossPattern Crossing horizontal and vertical lines.
+ \value BDiagPattern Backward diagonal lines.
+ \value FDiagPattern Forward diagonal lines.
+ \value DiagCrossPattern Crossing diagonal lines.
+ \value LinearGradientPattern Linear gradient (set using a dedicated QBrush constructor).
+ \value ConicalGradientPattern Conical gradient (set using a dedicated QBrush constructor).
+ \value RadialGradientPattern Radial gradient (set using a dedicated QBrush constructor).
+ \value TexturePattern Custom pattern (see QBrush::setTexture()).
+
+ \omitvalue CustomPattern
+
+ \sa QBrush
+*/
+
+/*!
+ \enum Qt::TextFlag
+
+ This enum type is used to define some modifier flags. Some of
+ these flags only make sense in the context of printing:
+
+ \value TextSingleLine Treats all whitespace as spaces and prints just
+ one line.
+ \value TextDontClip If it's impossible to stay within the given bounds,
+ it prints outside.
+ \value TextExpandTabs Makes the U+0009 (ASCII tab) character move to
+ the next tab stop.
+ \value TextShowMnemonic Displays the string "\&P" as \underline{P}
+ (see QButton for an example). For an ampersand, use "\&\&".
+ \value TextWordWrap Breaks lines at appropriate points, e.g. at word
+ boundaries.
+ \value TextWrapAnywhere Breaks lines anywhere, even within words.
+ \value TextHideMnemonic Same as Qt::TextShowMnemonic but doesn't draw the underlines.
+ \value TextDontPrint Treat this text as "hidden" and don't print
+ it.
+ \value IncludeTrailingSpaces When this option is set, QTextLine::naturalTextWidth() and naturalTextRect() will
+ return a value that includes the width of trailing spaces in the text; otherwise
+ this width is excluded.
+ \value TextIncludeTrailingSpaces Same as IncludeTrailingSpaces
+ \value TextJustificationForced Ensures that text lines are justified.
+
+ \omitvalue BreakAnywhere
+ \omitvalue DontClip
+ \omitvalue DontPrint
+ \omitvalue ExpandTabs
+ \omitvalue IncludeTrailingSpaces
+ \omitvalue NoAccel
+ \omitvalue ShowPrefix
+ \omitvalue SingleLine
+ \omitvalue WordBreak
+ \omitvalue TextForceLeftToRight
+ \omitvalue TextForceRightToLeft
+
+ You can use as many modifier flags as you want, except that
+ Qt::TextSingleLine and Qt::TextWordWrap cannot be combined.
+
+ Flags that are inappropriate for a given use are generally
+ ignored.
+*/
+
+/*!
+ \enum Qt::BGMode
+
+ Background mode:
+
+ \value TransparentMode
+ \value OpaqueMode
+*/
+
+/*!
+ \enum Qt::ConnectionType
+
+ This enum describes the types of connection that can be used between signals and
+ slots. In particular, it determines whether a particular signal is delivered to a
+ slot immediately or queued for delivery at a later time.
+
+ \omitvalue AutoCompatConnection
+ \value DirectConnection When emitted, the signal is immediately delivered to the slot.
+ \value QueuedConnection When emitted, the signal is queued until the event loop is
+ able to deliver it to the slot.
+ \value BlockingQueuedConnection
+ Same as QueuedConnection, except that the current thread blocks
+ until the slot has been delivered. This connection type should
+ only be used for receivers in a different thread. Note that misuse
+ of this type can lead to deadlocks in your application.
+ \value AutoConnection If the signal is emitted from the thread
+ in which the receiving object lives, the
+ slot is invoked directly, as with
+ Qt::DirectConnection; otherwise the
+ signal is queued, as with
+ Qt::QueuedConnection.
+ \value UniqueConnection Same as AutoConnection, but there will be a check that the signal is
+ not already connected to the same slot before connecting, otherwise,
+ the connection will fail.
+ This value was introduced in Qt 4.6.
+
+ With queued connections, the parameters must be of types that are known to
+ Qt's meta-object system, because Qt needs to copy the arguments to store them
+ in an event behind the scenes. If you try to use a queued connection and
+ get the error message
+
+ \snippet doc/src/snippets/code/doc_src_qnamespace.qdoc 0
+
+ call qRegisterMetaType() to register the data type before you
+ establish the connection.
+
+ \sa {Thread Support in Qt}, QObject::connect(), qRegisterMetaType()
+*/
+
+/*!
+ \enum Qt::DateFormat
+
+ \value TextDate The default Qt format, which includes the day and month name,
+ the day number in the month, and the year in full. The day and month names will
+ be short, localized names. This is basically equivalent to using the date format
+ string, "ddd MMM d yyyy". See QDate::toString() for more information.
+
+ \value ISODate ISO 8601 extended format: either \c{YYYY-MM-DD} for dates or
+ \c{YYYY-MM-DDTHH:MM:SS} for combined dates and times.
+
+ \value SystemLocaleShortDate The \l{QLocale::ShortFormat}{short format} used
+ by the \l{QLocale::system()}{operating system}.
+
+ \value SystemLocaleLongDate The \l{QLocale::LongFormat}{long format} used
+ by the \l{QLocale::system()}{operating system}.
+
+ \value DefaultLocaleShortDate The \l{QLocale::ShortFormat}{short format} specified
+ by the \l{QLocale::setDefault()}{application's locale}.
+
+ \value DefaultLocaleLongDate The \l{QLocale::LongFormat}{long format} used
+ by the \l{QLocale::setDefault()}{application's locale}.
+
+ \value SystemLocaleDate \e{This enum value is deprecated.} Use Qt::SystemLocaleShortDate
+ instead (or Qt::SystemLocaleLongDate if you want long dates).
+
+ \value LocaleDate \e{This enum value is deprecated.} Use Qt::DefaultLocaleShortDate
+ instead (or Qt::DefaultLocaleLongDate if you want long dates).
+
+ \value LocalDate \e{This enum value is deprecated.} Use Qt::SystemLocaleShortDate
+ instead (or Qt::SystemLocaleLongDate if you want long dates).
+
+ \note For \c ISODate formats, each \c Y, \c M and \c D represents a single digit
+ of the year, month and day used to specify the date. Each \c H, \c M and \c S
+ represents a single digit of the hour, minute and second used to specify the time.
+ The presence of a literal \c T character is used to separate the date and time when
+ both are specified.
+*/
+
+
+/*!
+ \enum Qt::TimeSpec
+
+ \value LocalTime Locale dependent time (Timezones and Daylight Savings Time).
+ \value UTC Coordinated Universal Time, replaces Greenwich Mean Time.
+ \value OffsetFromUTC An offset in seconds from Coordinated Universal Time.
+*/
+
+/*!
+ \enum Qt::DayOfWeek
+
+ \value Monday
+ \value Tuesday
+ \value Wednesday
+ \value Thursday
+ \value Friday
+ \value Saturday
+ \value Sunday
+*/
+
+/*!
+ \enum Qt::CaseSensitivity
+
+ \value CaseInsensitive
+ \value CaseSensitive
+*/
+
+/*!
+ \enum Qt::ToolBarArea
+
+ \value LeftToolBarArea
+ \value RightToolBarArea
+ \value TopToolBarArea
+ \value BottomToolBarArea
+ \value AllToolBarAreas
+ \value NoToolBarArea
+
+ \omitvalue ToolBarArea_Mask
+*/
+
+/*!
+ \enum Qt::DockWidgetArea
+
+ \value LeftDockWidgetArea
+ \value RightDockWidgetArea
+ \value TopDockWidgetArea
+ \value BottomDockWidgetArea
+ \value AllDockWidgetAreas
+ \value NoDockWidgetArea
+
+ \omitvalue DockWidgetArea_Mask
+*/
+
+/*!
+ \enum Qt::BackgroundMode
+
+ \compat
+
+ \value FixedColor
+ \value FixedPixmap
+ \value NoBackground
+ \value PaletteForeground
+ \value PaletteButton
+ \value PaletteLight
+ \value PaletteMidlight
+ \value PaletteDark
+ \value PaletteMid
+ \value PaletteText
+ \value PaletteBrightText
+ \value PaletteBase
+ \value PaletteBackground
+ \value PaletteShadow
+ \value PaletteHighlight
+ \value PaletteHighlightedText
+ \value PaletteButtonText
+ \value PaletteLink
+ \value PaletteLinkVisited
+ \value X11ParentRelative
+*/
+
+/*!
+ \enum Qt::ImageConversionFlag
+
+ The options marked "(default)" are set if no other values from
+ the list are included (since the defaults are zero):
+
+ Color/Mono preference (ignored for QBitmap):
+
+ \value AutoColor (default) - If the image has \link
+ QImage::depth() depth\endlink 1 and contains only
+ black and white pixels, the pixmap becomes monochrome.
+ \value ColorOnly The pixmap is dithered/converted to the
+ \link QPixmap::defaultDepth() native display depth\endlink.
+ \value MonoOnly The pixmap becomes monochrome. If necessary,
+ it is dithered using the chosen dithering algorithm.
+
+ Dithering mode preference for RGB channels:
+
+ \value DiffuseDither (default) - A high-quality dither.
+ \value OrderedDither A faster, more ordered dither.
+ \value ThresholdDither No dithering; closest color is used.
+
+ Dithering mode preference for alpha channel:
+
+ \value ThresholdAlphaDither (default) - No dithering.
+ \value OrderedAlphaDither A faster, more ordered dither.
+ \value DiffuseAlphaDither A high-quality dither.
+ \omitvalue NoAlpha
+
+ Color matching versus dithering preference:
+
+ \value PreferDither (default when converting to a pixmap) - Always dither
+ 32-bit images when the image is converted to 8 bits.
+ \value AvoidDither (default when converting for the purpose of saving to
+ file) - Dither 32-bit images only if the image has more than 256
+ colors and it is being converted to 8 bits.
+ \omitvalue AutoDither
+
+ \omitvalue ColorMode_Mask
+ \omitvalue Dither_Mask
+ \omitvalue AlphaDither_Mask
+ \omitvalue DitherMode_Mask
+ \omitvalue NoOpaqueDetection
+*/
+
+/*! \enum Qt::GUIStyle
+
+ \compat
+
+ \value WindowsStyle
+ \value MotifStyle
+ \value MacStyle
+ \value Win3Style
+ \value PMStyle
+*/
+
+/*!
+ \enum Qt::UIEffect
+
+ This enum describes the available UI effects.
+
+ By default, Qt will try to use the platform specific desktop
+ settings for each effect. Use the
+ QApplication::setDesktopSettingsAware() function (passing \c false
+ as argument) to prevent this, and the
+ QApplication::setEffectEnabled() to enable or disable a particular
+ effect.
+
+ Note that all effects are disabled on screens running at less than
+ 16-bit color depth.
+
+ \omitvalue UI_General
+
+ \value UI_AnimateMenu Show animated menus.
+ \value UI_FadeMenu Show faded menus.
+ \value UI_AnimateCombo Show animated comboboxes.
+ \value UI_AnimateTooltip Show tooltip animations.
+ \value UI_FadeTooltip Show tooltip fading effects.
+ \value UI_AnimateToolBox Reserved
+
+ \sa QApplication::setEffectEnabled(), QApplication::setDesktopSettingsAware()
+*/
+
+/*! \enum Qt::AspectRatioMode
+
+ This enum type defines what happens to the aspect ratio when
+ scaling an rectangle.
+
+ \image qimage-scaling.png
+
+ \value IgnoreAspectRatio The size is scaled freely. The aspect
+ ratio is not preserved.
+ \value KeepAspectRatio The size is scaled to a rectangle as
+ large as possible inside a given
+ rectangle, preserving the aspect ratio.
+ \value KeepAspectRatioByExpanding The size is scaled to a
+ rectangle as small as possible
+ outside a given rectangle,
+ preserving the aspect ratio.
+
+ \omitvalue ScaleFree
+ \omitvalue ScaleMin
+ \omitvalue ScaleMax
+
+ \sa QSize::scale(), QImage::scaled()
+*/
+
+/*! \typedef Qt::ScaleMode
+ \compat
+
+ Use Qt::AspectRatioMode instead.
+
+ The enum values have been renamed as follows:
+
+ \table
+ \row \i Old enum value \i New enum value
+ \row \i Qt::ScaleFree \i Qt::IgnoreAspectRatio
+ \row \i Qt::ScaleMin \i Qt::KeepAspectRatio
+ \row \i Qt::ScaleMax \i Qt::KeepAspectRatioByExpanding
+ \endtable
+*/
+
+/*! \enum Qt::TransformationMode
+
+ This enum type defines whether image transformations (e.g.,
+ scaling) should be smooth or not.
+
+ \value FastTransformation The transformation is performed
+ quickly, with no smoothing.
+ \value SmoothTransformation The resulting image is transformed
+ using bilinear filtering.
+
+ \sa QImage::scaled()
+*/
+
+/*! \enum Qt::Axis
+
+ This enum type defines three values to represent the three
+ axes in the cartesian coordinate system.
+
+ \value XAxis The X axis.
+ \value YAxis The Y axis.
+ \value ZAxis The Z axis.
+
+ \sa QTransform::rotate(), QTransform::rotateRadians()
+ */
+
+/*!
+ \enum Qt::WidgetAttribute
+
+ \keyword widget attributes
+
+ This enum type is used to specify various widget attributes.
+ Attributes are set and cleared with QWidget::setAttribute(), and
+ queried with QWidget::testAttribute(), although some have special
+ convenience functions which are mentioned below.
+
+ \value WA_AcceptDrops Allows data from drag and drop operations
+ to be dropped onto the widget (see QWidget::setAcceptDrops()).
+
+ \value WA_AlwaysShowToolTips Enables tooltips for inactive windows.
+
+ \value WA_ContentsPropagated This flag is superfluous and
+ obsolete; it no longer has any effect. Since Qt 4.1, all widgets
+ that do not set WA_PaintOnScreen propagate their contents.
+
+ \value WA_CustomWhatsThis Indicates that the widget wants to
+ continue operating normally in "What's This?" mode. This is set by the
+ widget's author.
+
+ \value WA_DeleteOnClose Makes Qt delete this widget when the
+ widget has accepted the close event (see QWidget::closeEvent()).
+
+ \value WA_Disabled Indicates that the widget is disabled, i.e.
+ it does not receive any mouse or keyboard events. There is also a
+ getter functions QWidget::isEnabled(). This is set/cleared by the
+ Qt kernel.
+
+ \omitvalue WA_DropSiteRegistered
+ \omitvalue WA_ForceAcceptDrops
+
+ \value WA_ForceDisabled Indicates that the widget is
+ explicitly disabled, i.e. it will remain disabled even when all
+ its ancestors are set to the enabled state. This implies
+ WA_Disabled. This is set/cleared by QWidget::setEnabled() and
+ QWidget::setDisabled().
+
+ \value WA_ForceUpdatesDisabled Indicates that updates are
+ explicitly disabled for the widget; i.e. it will remain disabled
+ even when all its ancestors are set to the updates-enabled state.
+ This implies WA_UpdatesDisabled. This is set/cleared by
+ QWidget::setUpdatesEnabled().
+
+ \value WA_GroupLeader
+ \e{This attribute has been deprecated.} Use QWidget::windowModality
+ instead.
+
+ \value WA_Hover Forces Qt to generate paint events when the mouse
+ enters or leaves the widget. This feature is typically used when
+ implementing custom styles; see the \l{widgets/styles}{Styles}
+ example for details.
+
+ \value WA_InputMethodEnabled Enables input methods for Asian languages.
+ Must be set when creating custom text editing widgets.
+ On Windows CE this flag can be used in addition to
+ QApplication::autoSipEnabled to automatically display the SIP when
+ entering a widget.
+
+ \value WA_KeyboardFocusChange Set on a toplevel window when
+ the users changes focus with the keyboard (tab, backtab, or shortcut).
+
+ \value WA_KeyCompression Enables key event compression if set,
+ and disables it if not set. By default key compression is off, so
+ widgets receive one key press event for each key press (or more,
+ since autorepeat is usually on). If you turn it on and your
+ program doesn't keep up with key input, Qt may try to compress key
+ events so that more than one character can be processed in each
+ event.
+ For example, a word processor widget might receive 2, 3 or more
+ characters in each QKeyEvent::text(), if the layout recalculation
+ takes too long for the CPU.
+ If a widget supports multiple character unicode input, it is
+ always safe to turn the compression on.
+ Qt performs key event compression only for printable characters.
+ Qt::Modifier keys, cursor movement keys, function keys and
+ miscellaneous action keys (e.g. Escape, Enter, Backspace,
+ PrintScreen) will stop key event compression, even if there are
+ more compressible key events available.
+ Platforms other than Mac and X11 do not support this compression,
+ in which case turning it on will have no effect.
+ This is set/cleared by the widget's author.
+
+ \value WA_LayoutOnEntireRect Indicates that the widget
+ wants QLayout to operate on the entire QWidget::rect(), not only
+ on QWidget::contentsRect(). This is set by the widget's author.
+
+ \value WA_LayoutUsesWidgetRect Ignore the layout item rect from the style
+ when laying out this widget with QLayout. This makes a difference in
+ QMacStyle and QPlastiqueStyle for some widgets.
+
+ \value WA_MacNoClickThrough When a widget that has this attribute set
+ is clicked, and its window is inactive, the click will make the window
+ active but won't be seen by the widget. Typical use of this attribute
+ is on widgets with "destructive" actions, such as a "Delete" button.
+ WA_MacNoClickThrough also applies to all child widgets of the widget
+ that has it set.
+
+ \value WA_MacOpaqueSizeGrip Indicates that the native Carbon size grip
+ should be opaque instead of transparent (the default). This attribute
+ is only applicable to Mac OS X and is set by the widget's author.
+
+ \value WA_MacShowFocusRect Indicates that this widget should get a
+ QFocusFrame around it. Some widgets draw their own focus halo
+ regardless of this attribute. Not that the QWidget::focusPolicy
+ also plays the main role in whether something is given focus or
+ not, this only controls whether or not this gets the focus
+ frame. This attribute is only applicable to Mac OS X.
+
+ \value WA_MacNormalSize Indicates the widget should have the
+ normal size for widgets in Mac OS X. This attribute is only
+ applicable to Mac OS X.
+
+ \value WA_MacSmallSize Indicates the widget should have the small
+ size for widgets in Mac OS X. This attribute is only applicable to
+ Mac OS X.
+
+ \value WA_MacMiniSize Indicates the widget should have the mini
+ size for widgets in Mac OS X. This attribute is only applicable to
+ Mac OS X.
+
+ \value WA_MacVariableSize Indicates the widget can choose between
+ alternative sizes for widgets to avoid clipping.
+ This attribute is only applicable to Mac OS X.
+
+ \value WA_MacBrushedMetal Indicates the widget should be drawn in
+ the brushed metal style as supported by the windowing system. This
+ attribute is only applicable to Mac OS X.
+
+ \omitvalue WA_MacMetalStyle
+
+ \value WA_Mapped Indicates that the widget is mapped on screen.
+ This is set/cleared by the Qt kernel.
+
+ \value WA_MouseNoMask Makes the widget receive mouse events for
+ the entire widget regardless of the currently set mask,
+ overriding QWidget::setMask(). This is not applicable for
+ top-level windows.
+
+ \value WA_MouseTracking Indicates that the widget has mouse
+ tracking enabled. See QWidget::mouseTracking.
+
+ \value WA_Moved Indicates that the widget has an explicit
+ position. This is set/cleared by QWidget::move() and
+ by QWidget::setGeometry().
+
+ \value WA_MSWindowsUseDirect3D This value is obsolete and has no
+ effect.
+
+ \value WA_NoBackground This value is obsolete. Use
+ WA_OpaquePaintEvent instead.
+
+ \value WA_NoChildEventsForParent Indicates that the widget does
+ not want ChildAdded or ChildRemoved events sent to its
+ parent. This is rarely necessary but can help to avoid automatic
+ insertion widgets like splitters and layouts. This is set by a
+ widget's author.
+
+ \value WA_NoChildEventsFromChildren Indicates that the widget does
+ not want to receive ChildAdded or ChildRemoved events sent from its
+ children. This is set by a widget's author.
+
+ \value WA_NoMouseReplay Used for pop-up widgets. Indicates that the most
+ recent mouse press event should not be replayed when the pop-up widget
+ closes. The flag is set by the widget's author and cleared by the Qt kernel
+ every time the widget receives a new mouse event.
+
+ \value WA_NoMousePropagation Prohibits mouse events from being propagated
+ to the widget's parent. This attribute is disabled by default.
+
+ \value WA_TransparentForMouseEvents When enabled, this attribute disables
+ the delivery of mouse events to the widget and its children. Mouse events
+ are delivered to other widgets as if the widget and its children were not
+ present in the widget hierarchy; mouse clicks and other events effectively
+ "pass through" them. This attribute is disabled by default.
+
+ \value WA_NoSystemBackground Indicates that the widget has no background,
+ i.e. when the widget receives paint events, the background is not
+ automatically repainted. \note Unlike WA_OpaquePaintEvent, newly exposed
+ areas are \bold never filled with the background (e.g., after showing a
+ window for the first time the user can see "through" it until the
+ application processes the paint events). This flag is set or cleared by the
+ widget's author.
+
+ \value WA_OpaquePaintEvent Indicates that the widget paints all its pixels
+ when it receives a paint event. Thus, it is not required for operations
+ like updating, resizing, scrolling and focus changes to erase the widget
+ before generating paint events. The use of WA_OpaquePaintEvent provides a
+ small optimization by helping to reduce flicker on systems that do not
+ support double buffering and avoiding computational cycles necessary to
+ erase the background prior to painting. \note Unlike
+ WA_NoSystemBackground, WA_OpaquePaintEvent makes an effort to avoid
+ transparent window backgrounds. This flag is set or cleared by the widget's
+ author.
+
+ \value WA_OutsideWSRange Indicates that the widget is outside
+ the valid range of the window system's coordinate system. A widget
+ outside the valid range cannot be mapped on screen. This is
+ set/cleared by the Qt kernel.
+
+ \value WA_PaintOnScreen Indicates that the widget wants to draw directly
+ onto the screen. Widgets with this attribute set do not participate in
+ composition management, i.e. they cannot be semi-transparent or shine
+ through semi-transparent overlapping widgets. \note This flag is only
+ supported on X11 and it disables double buffering. On Qt for Embedded
+ Linux, the flag only works when set on a top-level widget and it relies on
+ support from the active screen driver. This flag is set or cleared by the
+ widget's author. To render outside of Qt's paint system, e.g., if you
+ require native painting primitives, you need to reimplement
+ QWidget::paintEngine() to return 0 and set this flag.
+
+ \value WA_PaintOutsidePaintEvent Makes it possible to use QPainter to
+ paint on the widget outside \l{QWidget::paintEvent()}{paintEvent()}. This
+ flag is not supported on Windows, Mac OS X or Embedded Linux. We recommend
+ that you use it only when porting Qt 3 code to Qt 4.
+
+ \value WA_PaintUnclipped Makes all painters operating on this widget
+ unclipped. Children of this widget or other widgets in front of it do not
+ clip the area the painter can paint on. This flag is only supported for
+ widgets with the WA_PaintOnScreen flag set. The preferred way to do this in
+ a cross platform way is to create a transparent widget that lies in front
+ of the other widgets.
+
+ \value WA_PendingMoveEvent Indicates that a move event is pending, e.g.,
+ when a hidden widget was moved. This flag is set or cleared by the Qt
+ kernel.
+
+ \value WA_PendingResizeEvent Indicates that a resize event is pending,
+ e.g., when a hidden widget was resized. This flag is set or cleared by the
+ Qt kernel.
+
+ \value WA_QuitOnClose Makes Qt quit the application when the last widget
+ with the attribute set has accepted closeEvent(). This behavior can be
+ modified with the QApplication::quitOnLastWindowClosed property. By default
+ this attribute is set for all widgets of type Qt::Window.
+
+ \value WA_Resized Indicates that the widget has an explicit size. This flag
+ is set or cleared by QWidget::resize() and QWidget::setGeometry().
+
+ \value WA_RightToLeft Indicates that the layout direction for the widget
+ is right to left.
+
+ \value WA_SetCursor Indicates that the widget has a cursor of its own. This
+ flag is set or cleared by QWidget::setCursor() and QWidget::unsetCursor().
+
+ \value WA_SetFont Indicates that the widget has a font of its own. This
+ flag is set or cleared by QWidget::setFont().
+
+ \value WA_SetPalette Indicates that the widget has a palette of its own.
+ This flag is set or cleared by QWidget::setPalette().
+
+ \value WA_SetStyle Indicates that the widget has a style of its own. This
+ flag is set or cleared by QWidget::setStyle().
+
+ \value WA_ShowModal \e{This attribute has been deprecated.} Use
+ QWidget::windowModality instead.
+
+ \value WA_StaticContents Indicates that the widget contents are north-west
+ aligned and static. On resize, such a widget will receive paint events only
+ for parts of itself that are newly visible. This flag is set or cleared by
+ the widget's author.
+
+ \value WA_StyleSheet Indicates that the widget is styled using a
+ \l{Qt Style Sheets}{style sheet}.
+
+ \value WA_TranslucentBackground Indicates that the widget should have a
+ translucent background, i.e., any non-opaque regions of the widgets will be
+ translucent because the widget will have an alpha channel. Setting this
+ flag causes WA_NoSystemBackground to be set. On Windows the
+ widget also needs the Qt::FramelessWindowHint window flag to be set.
+ This flag is set or cleared by the widget's author.
+
+ \value WA_UnderMouse Indicates that the widget is under the mouse cursor.
+ The value is not updated correctly during drag and drop operations. There
+ is also a getter function, QWidget::underMouse(). This flag is set or
+ cleared by the Qt kernel.
+
+ \value WA_UpdatesDisabled Indicates that updates are blocked (including the
+ system background). This flag is set or cleared by the Qt kernel.
+ \warning This flag must \e never be set or cleared by the widget's author.
+
+ \value WA_WindowModified Indicates that the window is marked as modified.
+ On some platforms this flag will do nothing, on others (including Mac OS X
+ and Windows) the window will take a modified appearance. This flag is set
+ or cleared by QWidget::setWindowModified().
+
+ \value WA_WindowPropagation Makes a toplevel window inherit font and
+ palette from its parent.
+
+ \value WA_MacAlwaysShowToolWindow On Mac OS X, show the tool window even
+ when the application is not active. By default, all tool windows are
+ hidden when the application is inactive.
+
+ \value WA_SetLocale Indicates the locale should be taken into consideration
+ in the widget.
+
+ \value WA_StyledBackground Indicates the widget should be drawn using a
+ styled background.
+
+ \value WA_ShowWithoutActivating Show the widget without making it active.
+
+ \value WA_NativeWindow Indicates that a native window is created for the
+ widget. Enabling this flag will also force a native window for the widget's
+ ancestors unless Qt::WA_DontCreateNativeAncestors is set.
+
+ \value WA_DontCreateNativeAncestors Indicates that the widget's ancestors
+ are kept non-native even though the widget itself is native.
+
+ \value WA_X11NetWmWindowTypeDesktop Adds _NET_WM_WINDOW_TYPE_DESKTOP to the
+ window's _NET_WM_WINDOW_TYPE X11 window property. See
+ http://standards.freedesktop.org/wm-spec/ for more details. This attribute
+ has no effect on non-X11 platforms.
+
+ \value WA_X11NetWmWindowTypeDock Adds _NET_WM_WINDOW_TYPE_DOCK to the
+ window's _NET_WM_WINDOW_TYPE X11 window property. See
+ http://standards.freedesktop.org/wm-spec/ for more details. This attribute
+ has no effect on non-X11 platforms.
+
+ \value WA_X11NetWmWindowTypeToolBar Adds _NET_WM_WINDOW_TYPE_TOOLBAR to the
+ window's _NET_WM_WINDOW_TYPE X11 window property. See
+ http://standards.freedesktop.org/wm-spec/ for more details. This attribute
+ has no effect on non-X11 platforms. \note Qt automaticaly sets this
+ attribute for QToolBar.
+
+ \value WA_X11NetWmWindowTypeMenu Adds _NET_WM_WINDOW_TYPE_MENU to the
+ window's _NET_WM_WINDOW_TYPE X11 window property. See
+ http://standards.freedesktop.org/wm-spec/ for more details. This attribute
+ has no effect on non-X11 platforms. \note Qt automatically sets this
+ attribute for QMenu when torn-off.
+
+ \value WA_X11NetWmWindowTypeUtility Adds _NET_WM_WINDOW_TYPE_UTILITY to the
+ window's _NET_WM_WINDOW_TYPE X11 window property. See
+ http://standards.freedesktop.org/wm-spec/ for more details. This attribute
+ has no effect on non-X11 platforms. \note Qt automatically sets this
+ attribute for the Qt::Tool window type.
+
+ \value WA_X11NetWmWindowTypeSplash Adds _NET_WM_WINDOW_TYPE_SPLASH to the
+ window's _NET_WM_WINDOW_TYPE X11 window property. See
+ http://standards.freedesktop.org/wm-spec/ for more details. This attribute
+ has no effect on non-X11 platforms. \note Qt automatically sets this
+ attribute for the Qt::SplashScreen window type.
+
+ \value WA_X11NetWmWindowTypeDialog Adds _NET_WM_WINDOW_TYPE_DIALOG
+ to the window's _NET_WM_WINDOW_TYPE X11 window property. See
+ http://standards.freedesktop.org/wm-spec/ for more details. This
+ attribute has no effect on non-X11 platforms. \note Qt automatically sets
+ this attribute for the Qt::Dialog and Qt::Sheet window types.
+
+ \value WA_X11NetWmWindowTypeDropDownMenu Adds
+ _NET_WM_WINDOW_TYPE_DROPDOWN_MENU to the window's
+ _NET_WM_WINDOW_TYPE X11 window property. See
+ http://standards.freedesktop.org/wm-spec/ for more details. This
+ attribute has no effect on non-X11 platforms. \note Qt
+ automatically sets this attribute for QMenus added to a QMenuBar.
+
+ \value WA_X11NetWmWindowTypePopupMenu Adds _NET_WM_WINDOW_TYPE_POPUP_MENU
+ to the window's _NET_WM_WINDOW_TYPE X11 window property. See
+ http://standards.freedesktop.org/wm-spec/ for more details. This attribute
+ has no effect on non-X11 platforms. \note Qt automatically sets this
+ attribute for QMenu.
+
+ \value WA_X11NetWmWindowTypeToolTip Adds _NET_WM_WINDOW_TYPE_TOOLTIP to the
+ window's _NET_WM_WINDOW_TYPE X11 window property. See
+ http://standards.freedesktop.org/wm-spec/ for more details. This attribute
+ has no effect on non-X11 platforms. \note Qt automatically sets this
+ attribute for the Qt::ToolTip window type.
+
+ \value WA_X11NetWmWindowTypeNotification Adds
+ _NET_WM_WINDOW_TYPE_NOTIFICATION to the window's _NET_WM_WINDOW_TYPE X11
+ window property. See http://standards.freedesktop.org/wm-spec/ for more
+ details. This attribute has no effect on non-X11 platforms.
+
+ \value WA_X11NetWmWindowTypeCombo Adds _NET_WM_WINDOW_TYPE_COMBO
+ to the window's _NET_WM_WINDOW_TYPE X11 window property. See
+ http://standards.freedesktop.org/wm-spec/ for more details. This attribute
+ has no effect on non-X11 platforms. \note Qt automatically sets this
+ attribute for the QComboBox pop-up.
+
+ \value WA_X11NetWmWindowTypeDND Adds _NET_WM_WINDOW_TYPE_DND to
+ the window's _NET_WM_WINDOW_TYPE X11 window property. See
+ http://standards.freedesktop.org/wm-spec/ for more details. This attribute
+ has no effect on non-X11 platforms. \note Qt automatically sets this
+ attribute on the feedback widget used during a drag.
+
+ \value WA_MacFrameworkScaled Enables resolution independence aware mode
+ on Mac when using Carbon. This attribute has no effect on Cocoa.
+ The attribute is off by default and can be enabled on a per-window basis.
+
+ \value WA_AcceptTouchEvents Allows touch events (see QTouchEvent)
+ to be sent to the widget. Must be set on all widgets that can
+ handle touch events. Without this attribute set, events from a
+ touch device will be sent as mouse events.
+
+ \value WA_TouchPadAcceptSingleTouchEvents Allows touchpad single
+ touch events to be sent to the widget.
+
+ \omitvalue WA_SetLayoutDirection
+ \omitvalue WA_InputMethodTransparent
+ \omitvalue WA_WState_CompressKeys
+ \omitvalue WA_WState_ConfigPending
+ \omitvalue WA_WState_Created
+ \omitvalue WA_WState_DND
+ \omitvalue WA_WState_ExplicitShowHide
+ \omitvalue WA_WState_Hidden
+ \omitvalue WA_WState_InPaintEvent
+ \omitvalue WA_WState_OwnSizePolicy
+ \omitvalue WA_WState_Polished
+ \omitvalue WA_WState_Reparented
+ \omitvalue WA_WState_Visible
+ \omitvalue WA_SetWindowIcon
+ \omitvalue WA_PendingUpdate
+ \omitvalue WA_LaidOut
+ \omitvalue WA_GrabbedShortcut
+ \omitvalue WA_DontShowOnScreen
+ \omitvalue WA_InvalidSize
+ \omitvalue WA_ForceUpdatesDisabled
+ \omitvalue WA_NoX11EventCompression
+ \omitvalue WA_TintedBackground
+ \omitvalue WA_X11OpenGLOverlay
+ \omitvalue WA_CanHostQMdiSubWindowTitleBar
+ \omitvalue WA_AttributeCount
+ \omitvalue WA_StyleSheet
+ \omitvalue WA_X11BypassTransientForHint
+ \omitvalue WA_SetWindowModality
+ \omitvalue WA_WState_WindowOpacitySet
+ \omitvalue WA_WState_AcceptedTouchBeginEvent
+*/
+
+/*! \typedef Qt::HANDLE
+
+ Platform-specific handle type for system objects. This is
+ equivalent to \c{void *} on Mac OS X and embedded Linux,
+ and to \c{unsigned long} on X11. On Windows it is the
+ DWORD returned by the Win32 function getCurrentThreadId().
+
+ \warning Using this type is not portable.
+*/
+
+/*!
+ \enum Qt::Key
+
+ The key names used by Qt.
+
+ \value Key_Escape
+ \value Key_Tab
+ \value Key_Backtab
+ \omitvalue Key_BackTab
+ \value Key_Backspace
+ \omitvalue Key_BackSpace
+ \value Key_Return
+ \value Key_Enter Typically located on the keypad.
+ \value Key_Insert
+ \value Key_Delete
+ \value Key_Pause
+ \value Key_Print
+ \value Key_SysReq
+ \value Key_Clear
+ \value Key_Home
+ \value Key_End
+ \value Key_Left
+ \value Key_Up
+ \value Key_Right
+ \value Key_Down
+ \value Key_PageUp
+ \omitvalue Key_Prior
+ \value Key_PageDown
+ \omitvalue Key_Next
+ \value Key_Shift
+ \value Key_Control On Mac OS X, this corresponds to the Command keys.
+ \value Key_Meta On Mac OS X, this corresponds to the Control keys.
+ On Windows keyboards, this key is mapped to the
+ Windows key.
+ \value Key_Alt
+ \value Key_AltGr On Windows, when the KeyDown event for this key is
+ sent, the Ctrl+Alt modifiers are also set.
+ \value Key_CapsLock
+ \value Key_NumLock
+ \value Key_ScrollLock
+ \value Key_F1
+ \value Key_F2
+ \value Key_F3
+ \value Key_F4
+ \value Key_F5
+ \value Key_F6
+ \value Key_F7
+ \value Key_F8
+ \value Key_F9
+ \value Key_F10
+ \value Key_F11
+ \value Key_F12
+ \value Key_F13
+ \value Key_F14
+ \value Key_F15
+ \value Key_F16
+ \value Key_F17
+ \value Key_F18
+ \value Key_F19
+ \value Key_F20
+ \value Key_F21
+ \value Key_F22
+ \value Key_F23
+ \value Key_F24
+ \value Key_F25
+ \value Key_F26
+ \value Key_F27
+ \value Key_F28
+ \value Key_F29
+ \value Key_F30
+ \value Key_F31
+ \value Key_F32
+ \value Key_F33
+ \value Key_F34
+ \value Key_F35
+ \value Key_Super_L
+ \value Key_Super_R
+ \value Key_Menu
+ \value Key_Hyper_L
+ \value Key_Hyper_R
+ \value Key_Help
+ \value Key_Direction_L
+ \value Key_Direction_R
+ \value Key_Space
+ \value Key_Any
+ \value Key_Exclam
+ \value Key_QuoteDbl
+ \value Key_NumberSign
+ \value Key_Dollar
+ \value Key_Percent
+ \value Key_Ampersand
+ \value Key_Apostrophe
+ \value Key_ParenLeft
+ \value Key_ParenRight
+ \value Key_Asterisk
+ \value Key_Plus
+ \value Key_Comma
+ \value Key_Minus
+ \value Key_Period
+ \value Key_Slash
+ \value Key_0
+ \value Key_1
+ \value Key_2
+ \value Key_3
+ \value Key_4
+ \value Key_5
+ \value Key_6
+ \value Key_7
+ \value Key_8
+ \value Key_9
+ \value Key_Colon
+ \value Key_Semicolon
+ \value Key_Less
+ \value Key_Equal
+ \value Key_Greater
+ \value Key_Question
+ \value Key_At
+ \value Key_A
+ \value Key_B
+ \value Key_C
+ \value Key_D
+ \value Key_E
+ \value Key_F
+ \value Key_G
+ \value Key_H
+ \value Key_I
+ \value Key_J
+ \value Key_K
+ \value Key_L
+ \value Key_M
+ \value Key_N
+ \value Key_O
+ \value Key_P
+ \value Key_Q
+ \value Key_R
+ \value Key_S
+ \value Key_T
+ \value Key_U
+ \value Key_V
+ \value Key_W
+ \value Key_X
+ \value Key_Y
+ \value Key_Z
+ \value Key_BracketLeft
+ \value Key_Backslash
+ \value Key_BracketRight
+ \value Key_AsciiCircum
+ \value Key_Underscore
+ \value Key_QuoteLeft
+ \value Key_BraceLeft
+ \value Key_Bar
+ \value Key_BraceRight
+ \value Key_AsciiTilde
+ \value Key_nobreakspace
+ \value Key_exclamdown
+ \value Key_cent
+ \value Key_sterling
+ \value Key_currency
+ \value Key_yen
+ \value Key_brokenbar
+ \value Key_section
+ \value Key_diaeresis
+ \value Key_copyright
+ \value Key_ordfeminine
+ \value Key_guillemotleft
+ \value Key_notsign
+ \value Key_hyphen
+ \value Key_registered
+ \value Key_macron
+ \value Key_degree
+ \value Key_plusminus
+ \value Key_twosuperior
+ \value Key_threesuperior
+ \value Key_acute
+ \value Key_mu
+ \value Key_paragraph
+ \value Key_periodcentered
+ \value Key_cedilla
+ \value Key_onesuperior
+ \value Key_masculine
+ \value Key_guillemotright
+ \value Key_onequarter
+ \value Key_onehalf
+ \value Key_threequarters
+ \value Key_questiondown
+ \value Key_Agrave
+ \value Key_Aacute
+ \value Key_Acircumflex
+ \value Key_Atilde
+ \value Key_Adiaeresis
+ \value Key_Aring
+ \value Key_AE
+ \value Key_Ccedilla
+ \value Key_Egrave
+ \value Key_Eacute
+ \value Key_Ecircumflex
+ \value Key_Ediaeresis
+ \value Key_Igrave
+ \value Key_Iacute
+ \value Key_Icircumflex
+ \value Key_Idiaeresis
+ \value Key_ETH
+ \value Key_Ntilde
+ \value Key_Ograve
+ \value Key_Oacute
+ \value Key_Ocircumflex
+ \value Key_Otilde
+ \value Key_Odiaeresis
+ \value Key_multiply
+ \value Key_Ooblique
+ \value Key_Ugrave
+ \value Key_Uacute
+ \value Key_Ucircumflex
+ \value Key_Udiaeresis
+ \value Key_Yacute
+ \value Key_THORN
+ \value Key_ssharp
+ \omitvalue Key_agrave
+ \omitvalue Key_aacute
+ \omitvalue Key_acircumflex
+ \omitvalue Key_atilde
+ \omitvalue Key_adiaeresis
+ \omitvalue Key_aring
+ \omitvalue Key_ae
+ \omitvalue Key_ccedilla
+ \omitvalue Key_egrave
+ \omitvalue Key_eacute
+ \omitvalue Key_ecircumflex
+ \omitvalue Key_ediaeresis
+ \omitvalue Key_igrave
+ \omitvalue Key_iacute
+ \omitvalue Key_icircumflex
+ \omitvalue Key_idiaeresis
+ \omitvalue Key_eth
+ \omitvalue Key_ntilde
+ \omitvalue Key_ograve
+ \omitvalue Key_oacute
+ \omitvalue Key_ocircumflex
+ \omitvalue Key_otilde
+ \omitvalue Key_odiaeresis
+ \value Key_division
+ \omitvalue Key_oslash
+ \omitvalue Key_ugrave
+ \omitvalue Key_uacute
+ \omitvalue Key_ucircumflex
+ \omitvalue Key_udiaeresis
+ \omitvalue Key_yacute
+ \omitvalue Key_thorn
+ \value Key_ydiaeresis
+ \value Key_Multi_key
+ \value Key_Codeinput
+ \value Key_SingleCandidate
+ \value Key_MultipleCandidate
+ \value Key_PreviousCandidate
+ \value Key_Mode_switch
+ \value Key_Kanji
+ \value Key_Muhenkan
+ \value Key_Henkan
+ \value Key_Romaji
+ \value Key_Hiragana
+ \value Key_Katakana
+ \value Key_Hiragana_Katakana
+ \value Key_Zenkaku
+ \value Key_Hankaku
+ \value Key_Zenkaku_Hankaku
+ \value Key_Touroku
+ \value Key_Massyo
+ \value Key_Kana_Lock
+ \value Key_Kana_Shift
+ \value Key_Eisu_Shift
+ \value Key_Eisu_toggle
+ \value Key_Hangul
+ \value Key_Hangul_Start
+ \value Key_Hangul_End
+ \value Key_Hangul_Hanja
+ \value Key_Hangul_Jamo
+ \value Key_Hangul_Romaja
+ \value Key_Hangul_Jeonja
+ \value Key_Hangul_Banja
+ \value Key_Hangul_PreHanja
+ \value Key_Hangul_PostHanja
+ \value Key_Hangul_Special
+ \value Key_Dead_Grave
+ \value Key_Dead_Acute
+ \value Key_Dead_Circumflex
+ \value Key_Dead_Tilde
+ \value Key_Dead_Macron
+ \value Key_Dead_Breve
+ \value Key_Dead_Abovedot
+ \value Key_Dead_Diaeresis
+ \value Key_Dead_Abovering
+ \value Key_Dead_Doubleacute
+ \value Key_Dead_Caron
+ \value Key_Dead_Cedilla
+ \value Key_Dead_Ogonek
+ \value Key_Dead_Iota
+ \value Key_Dead_Voiced_Sound
+ \value Key_Dead_Semivoiced_Sound
+ \value Key_Dead_Belowdot
+ \value Key_Dead_Hook
+ \value Key_Dead_Horn
+ \value Key_Back
+ \value Key_Forward
+ \value Key_Stop
+ \value Key_Refresh
+ \value Key_VolumeDown
+ \value Key_VolumeMute
+ \value Key_VolumeUp
+ \value Key_BassBoost
+ \value Key_BassUp
+ \value Key_BassDown
+ \value Key_TrebleUp
+ \value Key_TrebleDown
+ \value Key_MediaPlay
+ \value Key_MediaStop
+ \value Key_MediaPrevious
+ \omitvalue Key_MediaPrev
+ \value Key_MediaNext
+ \value Key_MediaRecord
+ \value Key_HomePage
+ \value Key_Favorites
+ \value Key_Search
+ \value Key_Standby
+ \value Key_OpenUrl
+ \value Key_LaunchMail
+ \value Key_LaunchMedia
+ \value Key_Launch0
+ \value Key_Launch1
+ \value Key_Launch2
+ \value Key_Launch3
+ \value Key_Launch4
+ \value Key_Launch5
+ \value Key_Launch6
+ \value Key_Launch7
+ \value Key_Launch8
+ \value Key_Launch9
+ \value Key_LaunchA
+ \value Key_LaunchB
+ \value Key_LaunchC
+ \value Key_LaunchD
+ \value Key_LaunchE
+ \value Key_LaunchF
+ \value Key_MediaLast
+ \value Key_unknown
+
+ \value Key_Call
+ \value Key_Context1
+ \value Key_Context2
+ \value Key_Context3
+ \value Key_Context4
+ \value Key_Flip
+ \value Key_Hangup
+ \value Key_No
+ \value Key_Select
+ \value Key_Yes
+
+ \value Key_Execute
+ \value Key_Printer
+ \value Key_Play
+ \value Key_Sleep
+ \value Key_Zoom
+ \value Key_Cancel
+
+ \sa QKeyEvent::key()
+*/
+
+/*!
+ \enum Qt::HitTestAccuracy
+
+ This enum contains the types of accuracy that can be used by the
+ QTextDocument class when testing for mouse clicks on text documents.
+
+ \value ExactHit The point at which input occurred must coincide
+ exactly with input-sensitive parts of the document.
+ \value FuzzyHit The point at which input occurred can lie close to
+ input-sensitive parts of the document.
+
+ This enum is defined in the \c <QTextDocument> header file.
+*/
+
+/*!
+ \enum Qt::WhiteSpaceMode
+
+ This enum describes the types of whitespace mode that are used by
+ the QTextDocument class to meet the requirements of different kinds
+ of textual information.
+
+ \value WhiteSpaceNormal The whitespace mode used to display
+ normal word wrapped text in paragraphs.
+ \value WhiteSpacePre A preformatted text mode in which
+ whitespace is reproduced exactly.
+ \value WhiteSpaceNoWrap
+
+ \omitvalue WhiteSpaceModeUndefined
+
+ This enum is defined in the \c <QTextDocument> header file.
+*/
+
+/*!
+ \enum Qt::ButtonState_enum
+ \compat
+ \value ShiftButton
+ \value ControlButton
+ \value AltButton
+ \value MetaButton
+ \value Keypad
+ \value KeyButtonMask
+
+ Use Qt::KeyboardModifier instead.
+*/
+
+/*!
+ \typedef Qt::ButtonState
+ \compat
+
+ Use Qt::KeyboardModifier instead.
+*/
+
+/*!
+ \enum Qt::CheckState
+
+ This enum describes the state of checkable items, controls, and widgets.
+
+ \value Unchecked The item is unchecked.
+ \value PartiallyChecked The item is partially checked. Items in hierarchical models
+ may be partially checked if some, but not all, of their
+ children are checked.
+ \value Checked The item is checked.
+
+ \sa QCheckBox, Qt::ItemFlags, Qt::ItemDataRole
+*/
+
+
+/*!
+ \enum Qt::ToolButtonStyle
+
+ The style of the tool button, describing how the button's text and
+ icon should be displayed.
+
+ \value ToolButtonIconOnly Only display the icon.
+ \value ToolButtonTextOnly Only display the text.
+ \value ToolButtonTextBesideIcon The text appears beside the icon.
+ \value ToolButtonTextUnderIcon The text appears under the icon.
+ \value ToolButtonFollowStyle Follow the \l{QStyle::SH_ToolButtonStyle}{style}.
+*/
+
+/*!
+ \enum Qt::Corner
+
+ This enum type specifies a corner in a rectangle:
+
+ \value TopLeftCorner The top-left corner of the rectangle.
+ \value TopRightCorner The top-right corner of the rectangle.
+ \value BottomLeftCorner The bottom-left corner of the rectangle.
+ \value BottomRightCorner The bottom-right corner of the rectangle.
+
+ \omitvalue TopLeft
+ \omitvalue TopRight
+ \omitvalue BottomLeft
+ \omitvalue BottomRight
+*/
+
+/*!
+ \enum Qt::ScrollBarPolicy
+
+ This enum type describes the various modes of QAbstractScrollArea's scroll
+ bars.
+
+ \value ScrollBarAsNeeded QAbstractScrollArea shows a scroll bar when the
+ content is too large to fit and not otherwise. This is the
+ default.
+
+ \value ScrollBarAlwaysOff QAbstractScrollArea never shows a scroll bar.
+
+ \value ScrollBarAlwaysOn QAbstractScrollArea always shows a scroll bar.
+
+ (The modes for the horizontal and vertical scroll bars are
+ independent.)
+*/
+
+/*!
+ \enum Qt::ArrowType
+
+ \value NoArrow
+ \value UpArrow
+ \value DownArrow
+ \value LeftArrow
+ \value RightArrow
+*/
+
+/*!
+ \enum Qt::FocusReason
+
+ This enum specifies why the focus changed. It will be passed
+ through QWidget::setFocus and can be retrieved in the QFocusEvent
+ sent to the widget upon focus change.
+
+ \value MouseFocusReason A mouse action occurred.
+ \value TabFocusReason The Tab key was pressed.
+ \value BacktabFocusReason A Backtab occurred. The input for this may
+ include the Shift or Control keys;
+ e.g. Shift+Tab.
+ \value ActiveWindowFocusReason The window system made this window either
+ active or inactive.
+ \value PopupFocusReason The application opened/closed a pop-up that
+ grabbed/released the keyboard focus.
+ \value ShortcutFocusReason The user typed a label's buddy shortcut
+ \value MenuBarFocusReason The menu bar took focus.
+ \value OtherFocusReason Another reason, usually application-specific.
+
+ \omitvalue NoFocusReason
+
+ \sa {Keyboard Focus}
+*/
+
+/*!
+ \enum Qt::WindowState
+
+ \keyword window state
+
+ This enum type is used to specify the current state of a top-level
+ window.
+
+ The states are
+
+ \value WindowNoState The window has no state set (in normal state).
+ \value WindowMinimized The window is minimized (i.e. iconified).
+ \value WindowMaximized The window is maximized with a frame around it.
+ \value WindowFullScreen The window fills the entire screen without any frame around it.
+ \value WindowActive The window is the active window, i.e. it has keyboard focus.
+
+*/
+
+/*!
+ \enum Qt::ContextMenuPolicy
+
+ This enum type defines the various policies a widget can have with
+ respect to showing a context menu.
+
+ \value NoContextMenu the widget does not feature a context menu,
+ context menu handling is deferred to the widget's parent.
+ \value PreventContextMenu the widget does not feature a context
+ menu, and in contrast to \c NoContextMenu, the handling is \e not
+ deferred to the widget's parent. This means that all right mouse
+ button events are guaranteed to be delivered to the widget itself
+ through mousePressEvent(), and mouseReleaseEvent().
+ \value DefaultContextMenu the widget's QWidget::contextMenuEvent() handler is called.
+ \value ActionsContextMenu the widget displays its QWidget::actions() as context menu.
+ \value CustomContextMenu the widget emits the QWidget::customContextMenuRequested() signal.
+*/
+
+/*!
+ \enum Qt::FocusPolicy
+
+ This enum type defines the various policies a widget can have with
+ respect to acquiring keyboard focus.
+
+ \value TabFocus the widget accepts focus by tabbing.
+ \value ClickFocus the widget accepts focus by clicking.
+ \value StrongFocus the widget accepts focus by both tabbing
+ and clicking. On Mac OS X this will also
+ be indicate that the widget accepts tab focus
+ when in 'Text/List focus mode'.
+ \value WheelFocus like Qt::StrongFocus plus the widget accepts
+ focus by using the mouse wheel.
+ \value NoFocus the widget does not accept focus.
+
+*/
+
+/*!
+ \enum Qt::ShortcutContext
+
+ For a QEvent::Shortcut event to occur, the shortcut's key sequence
+ must be entered by the user in a context where the shortcut is
+ active. The possible contexts are these:
+
+ \value WidgetShortcut The shortcut is active when its
+ parent widget has focus.
+ \value WidgetWithChildrenShortcut The shortcut is active
+ when its parent widget, or any of its children has focus.
+ Children which are top-level widgets, except pop-ups, are
+ not affected by this shortcut context.
+ \value WindowShortcut The shortcut is active when its
+ parent widget is a logical subwidget of the
+ active top-level window.
+ \value ApplicationShortcut The shortcut is active when one of
+ the applications windows are active.
+*/
+
+/*!
+ \typedef Qt::WFlags
+
+ Synonym for Qt::WindowFlags.
+*/
+
+/*!
+ \enum Qt::WindowType
+
+ \keyword window flag
+
+ This enum type is used to specify various window-system properties
+ for the widget. They are fairly unusual but necessary in a few
+ cases. Some of these flags depend on whether the underlying window
+ manager supports them.
+
+ The main types are
+
+ \value Widget This is the default type for QWidget. Widgets of
+ this type are child widgets if they have a parent,
+ and independent windows if they have no parent.
+ See also Qt::Window and Qt::SubWindow.
+
+ \value Window Indicates that the widget is a window, usually
+ with a window system frame and a title bar,
+ irrespective of whether the widget has a parent or
+ not. Note that it is not possible to unset this
+ flag if the widget does not have a parent.
+
+ \value Dialog Indicates that the widget is a window that should
+ be decorated as a dialog (i.e., typically no
+ maximize or minimize buttons in the title bar).
+ This is the default type for QDialog. If you want
+ to use it as a modal dialog, it should be launched
+ from another window, or have a parent and used
+ with the QWidget::windowModality property. If you make
+ it modal, the dialog will prevent other top-level
+ windows in the application from getting any input.
+ We refer to a top-level window that has a parent
+ as a \e secondary window.
+
+ \value Sheet Indicates that the window is a Macintosh sheet. Since
+ using a sheet implies window modality, the recommended
+ way is to use QWidget::setWindowModality(), or
+ QDialog::open(), instead.
+
+ \value Drawer Indicates that the widget is a Macintosh drawer.
+
+ \value Popup Indicates that the widget is a pop-up top-level
+ window, i.e. that it is modal, but has a window
+ system frame appropriate for pop-up menus.
+
+ \value Tool Indicates that the widget is a tool window. A tool
+ window is often a small window with a smaller than
+ usual title bar and decoration, typically used for
+ collections of tool buttons. It there is a parent,
+ the tool window will always be kept on top of it.
+ If there isn't a parent, you may consider using
+ Qt::WindowStaysOnTopHint as well. If the window
+ system supports it, a tool window can be decorated
+ with a somewhat lighter frame. It can also be
+ combined with Qt::FramelessWindowHint.
+ \br
+ \br
+ On Mac OS X, tool windows correspond to the
+ \l{http://developer.apple.com/documentation/Carbon/Conceptual/HandlingWindowsControls/hitb-wind_cont_concept/chapter_2_section_2.html}{Floating}
+ class of windows. This means that the window lives on a
+ level above normal windows; it impossible to put a normal
+ window on top of it. By default, tool windows will disappear
+ when the application is inactive. This can be controlled by
+ the Qt::WA_MacAlwaysShowToolWindow attribute.
+
+ \value ToolTip Indicates that the widget is a tooltip. This is
+ used internally to implement
+ \l{QWidget::toolTip}{tooltips}.
+
+ \value SplashScreen Indicates that the window is a splash screen.
+ This is the default type for QSplashScreen.
+
+ \value Desktop Indicates that this widget is the desktop. This
+ is the type for QDesktopWidget.
+
+ \value SubWindow Indicates that this widget is a sub-window, such
+ as a QMdiSubWindow widget.
+
+ There are also a number of flags which you can use to customize
+ the appearance of top-level windows. These have no effect on other
+ windows:
+
+ \value MSWindowsFixedSizeDialogHint Gives the window a thin dialog border on Windows.
+ This style is traditionally used for fixed-size dialogs.
+
+ \value MSWindowsOwnDC Gives the window its own display
+ context on Windows.
+
+ \value X11BypassWindowManagerHint Bypass the window
+ manager completely. This results in a borderless window
+ that is not managed at all (i.e., no keyboard input unless
+ you call QWidget::activateWindow() manually).
+
+ \value FramelessWindowHint Produces a borderless window.
+ The user cannot move or resize a borderless window via the window
+ system. On X11, the result of the flag is dependent on the window manager and its
+ ability to understand Motif and/or NETWM hints. Most existing
+ modern window managers can handle this.
+
+ The \c CustomizeWindowHint flag is used to enable customization of
+ the window controls. This flag must be set to allow the \c
+ WindowTitleHint, \c WindowSystemMenuHint, \c
+ WindowMinimizeButtonHint, \c WindowMaximizeButtonHint and \c
+ WindowCloseButtonHint flags to be changed.
+
+ \value CustomizeWindowHint Turns off the default window title hints.
+
+ \value WindowTitleHint Gives the window a title bar.
+
+ \value WindowSystemMenuHint Adds a window system menu, and
+ possibly a close button (for example on Mac). If you need to hide
+ or show a close button, it is more portable to use \c
+ WindowCloseButtonHint.
+
+ \value WindowMinimizeButtonHint Adds a minimize button. On
+ some platforms this implies Qt::WindowSystemMenuHint for it to work.
+
+ \value WindowMaximizeButtonHint Adds a maximize button. On
+ some platforms this implies Qt::WindowSystemMenuHint for it to work.
+
+ \value WindowMinMaxButtonsHint Adds a minimize and a maximize
+ button. On some platforms this implies Qt::WindowSystemMenuHint for it to work.
+
+ \value WindowCloseButtonHint Adds a close button. On
+ some platforms this implies Qt::WindowSystemMenuHint for it
+ to work.
+
+ \value WindowContextHelpButtonHint Adds a context help button to dialogs.
+ On some platforms this implies Qt::WindowSystemMenuHint for it to work.
+
+ \value MacWindowToolBarButtonHint On Mac OS X adds a tool bar button (i.e.,
+ the oblong button that is on the top right of windows that have toolbars.
+
+ \value BypassGraphicsProxyWidget Prevents the window and its children from
+ automatically embedding themselves into a QGraphicsProxyWidget if the
+ parent widget is already embedded. You can set this flag if you
+ want your widget to always be a toplevel widget on the desktop,
+ regardless of whether the parent widget is embedded in a scene or
+ not.
+
+ \value WindowShadeButtonHint
+
+ \value WindowStaysOnTopHint Informs the window system that the
+ window should stay on top of all other windows. Note that
+ on some window managers on X11 you also have to pass
+ Qt::X11BypassWindowManagerHint for this flag to work
+ correctly.
+
+ \value WindowStaysOnBottomHint Informs the window system that the
+ window should stay on bottom of all other windows. Note
+ that on X11 this hint will work only in window managers
+ that support _NET_WM_STATE_BELOW atom. If a window always
+ on the bottom has a parent, the parent will also be left on
+ the bottom. This window hint is currently not implemented
+ for Mac OS X.
+
+ \value WindowOkButtonHint Adds an OK button to the window decoration of a dialog.
+ Only supported for Windows CE.
+
+ \value WindowCancelButtonHint Adds a Cancel button to the window decoration of a dialog.
+ Only supported for Windows CE.
+
+ \value WindowType_Mask A mask for extracting the window type
+ part of the window flags.
+
+ Obsolete flags:
+
+ \value WMouseNoMask Use Qt::WA_MouseNoMask instead.
+ \value WDestructiveClose Use Qt::WA_DeleteOnClose instead.
+ \value WStaticContents Use Qt::WA_StaticContents instead.
+ \value WGroupLeader No longer needed.
+ \value WShowModal Use QWidget::windowModality instead.
+ \value WNoMousePropagation Use Qt::WA_NoMousePropagation instead.
+ \value WType_TopLevel Use Qt::Window instead.
+ \value WType_Dialog Use Qt::Dialog instead.
+ \value WType_Popup Use Qt::Popup instead.
+ \value WType_Desktop Use Qt::Desktop instead.
+ \value WType_Mask Use Qt::WindowType_Mask instead.
+
+ \value WStyle_Customize No longer needed.
+ \value WStyle_NormalBorder No longer needed.
+ \value WStyle_DialogBorder Use Qt::MSWindowsFixedSizeDialogHint instead.
+ \value WStyle_NoBorder Use Qt::FramelessWindowHint instead.
+ \value WStyle_Title Use Qt::WindowTitleHint instead.
+ \value WStyle_SysMenu Use Qt::WindowSystemMenuHint instead.
+ \value WStyle_Minimize Use Qt::WindowMinimizeButtonHint instead.
+ \value WStyle_Maximize Use Qt::WindowMaximizeButtonHint instead.
+ \value WStyle_MinMax Use Qt::WindowMinMaxButtonsHint instead.
+ \value WStyle_Tool Use Qt::Tool instead.
+ \value WStyle_StaysOnTop Use Qt::WindowStaysOnTopHint instead.
+ \value WStyle_ContextHelp Use Qt::WindowContextHelpButtonHint instead.
+
+ \value WPaintDesktop No longer needed.
+ \value WPaintClever No longer needed.
+
+ \value WX11BypassWM Use Qt::X11BypassWindowManagerHint instead.
+ \value WWinOwnDC Use Qt::MSWindowsOwnDC instead.
+ \value WMacSheet Use Qt::Sheet instead.
+ \value WMacDrawer Use Qt::Drawer instead.
+
+ \value WStyle_Splash Use Qt::SplashScreen instead.
+
+ \value WNoAutoErase No longer needed.
+ \value WRepaintNoErase No longer needed.
+ \value WNorthWestGravity Use Qt::WA_StaticContents instead.
+ \value WType_Modal Use Qt::Dialog and QWidget::windowModality instead.
+ \value WStyle_Dialog Use Qt::Dialog instead.
+ \value WStyle_NoBorderEx Use Qt::FramelessWindowHint instead.
+ \value WResizeNoErase No longer needed.
+ \value WMacNoSheet No longer needed.
+
+ \sa QWidget::windowFlags, {Window Flags Example}
+*/
+
+/*!
+ \enum Qt::DropAction
+
+ \value CopyAction Copy the data to the target.
+ \value MoveAction Move the data from the source to the target.
+ \value LinkAction Create a link from the source to the target.
+ \value ActionMask
+ \value IgnoreAction Ignore the action (do nothing with the data).
+ \value TargetMoveAction On Windows, this value is used when the ownership of the D&D data
+ should be taken over by the target application,
+ i.e., the source application should not delete
+ the data.
+ \br
+ On X11 this value is used to do a move.
+ \br
+ TargetMoveAction is not used on the Mac.
+*/
+
+#if defined(Q_OS_WIN) && defined(QT3_SUPPORT)
+/*!
+ \enum Qt::WindowsVersion
+ \compat
+
+ \value WV_32s
+ \value WV_95
+ \value WV_98
+ \value WV_Me
+ \value WV_DOS_based
+ \value WV_NT
+ \value WV_2000
+ \value WV_XP
+ \value WV_2003
+ \value WV_NT_based
+ \value WV_CE
+ \value WV_CENET
+ \value WV_CE_based
+ \value WV_CE_5
+ \value WV_CE_6
+*/
+#endif
+
+#if defined(Q_OS_MAC) && defined(QT3_SUPPORT)
+/*!
+ \enum Qt::MacintoshVersion
+ \compat
+
+ \value MV_Unknown Use QSysInfo::MV_Unknown instead.
+ \value MV_9 Use QSysInfo::MV_9 instead.
+ \value MV_10_DOT_0 Use QSysInfo::MV_10_0 instead.
+ \value MV_10_DOT_1 Use QSysInfo::MV_10_1 instead.
+ \value MV_10_DOT_2 Use QSysInfo::MV_10_2 instead.
+ \value MV_10_DOT_3 Use QSysInfo::MV_10_3 instead.
+ \value MV_10_DOT_4 Use QSysInfo::MV_10_4 instead.
+
+ \value MV_CHEETAH Use QSysInfo::MV_10_0 instead.
+ \value MV_PUMA Use QSysInfo::MV_10_1 instead.
+ \value MV_JAGUAR Use QSysInfo::MV_10_2 instead.
+ \value MV_PANTHER Use QSysInfo::MV_10_3 instead.
+ \value MV_TIGER Use QSysInfo::MV_10_4 instead.
+
+ \sa QSysInfo::MacVersion
+*/
+#endif
+
+/*! \typedef Qt::ToolBarDock
+ \compat
+
+ Use Qt::Dock instead.
+*/
+
+/*!
+ \enum Qt::Dock
+ \compat
+
+ Each dock window can be in one of the following positions:
+
+ \value DockUnmanaged not managed by a Q3MainWindow.
+
+ \value DockTornOff the dock window floats as its own top level
+ window which always stays on top of the main window.
+
+ \value DockTop above the central widget, below the menu bar.
+
+ \value DockBottom below the central widget, above the status bar.
+
+ \value DockRight to the right of the central widget.
+
+ \value DockLeft to the left of the central widget.
+
+ \value DockMinimized the dock window is not shown (this is
+ effectively a 'hidden' dock area); the handles of all minimized
+ dock windows are drawn in one row below the menu bar.
+
+ \omitvalue Bottom
+ \omitvalue Left
+ \omitvalue Minimized
+ \omitvalue Right
+ \omitvalue Top
+ \omitvalue TornOff
+ \omitvalue Unmanaged
+*/
+
+/*!
+ \enum Qt::AnchorAttribute
+
+ An anchor has one or more of the following attributes:
+
+ \value AnchorName the name attribute of the anchor. This attribute is
+ used when scrolling to an anchor in the document.
+
+ \value AnchorHref the href attribute of the anchor. This attribute is
+ used when a link is clicked to determine what content to load.
+*/
+
+/*!
+ \enum Qt::SortOrder
+
+ This enum describes how the items in a widget are sorted.
+
+ \value AscendingOrder The items are sorted ascending e.g. starts with
+ 'AAA' ends with 'ZZZ' in Latin-1 locales
+
+ \value DescendingOrder The items are sorted descending e.g. starts with
+ 'ZZZ' ends with 'AAA' in Latin-1 locales
+
+ \omitvalue Ascending
+ \omitvalue Descending
+*/
+
+/*!
+ \enum Qt::ClipOperation
+
+ \value NoClip This operation turns clipping off.
+
+ \value ReplaceClip Replaces the current clip path/rect/region with
+ the one supplied in the function call.
+
+ \value IntersectClip Intersects the current clip path/rect/region
+ with the one supplied in the function call.
+
+ \value UniteClip Unites the current clip path/rect/region with the
+ one supplied in the function call.
+*/
+
+/*!
+ \enum Qt::ItemSelectionMode
+
+ This enum is used in QGraphicsItem, QGraphicsScene and QGraphicsView to
+ specify how items are selected, or how to determine if a shapes and items
+ collide.
+
+ \value ContainsItemShape The output list contains only items whose
+ \l{QGraphicsItem::shape()}{shape} is fully contained inside the
+ selection area. Items that intersect with the area's outline are
+ not included.
+
+ \value IntersectsItemShape The output list contains both items whose
+ \l{QGraphicsItem::shape()}{shape} is fully contained inside the
+ selection area, and items that intersect with the area's
+ outline. This is a common mode for rubber band selection.
+
+ \value ContainsItemBoundingRect The output list contains only items whose
+ \l{QGraphicsItem::boundingRect()}{bounding rectangle} is fully
+ contained inside the selection area. Items that intersect with the
+ area's outline are not included.
+
+ \value IntersectsItemBoundingRect The output list contains both items
+ whose \l{QGraphicsItem::boundingRect()}{bounding rectangle} is
+ fully contained inside the selection area, and items that intersect
+ with the area's outline. This method is commonly used for
+ determining areas that need redrawing.
+
+ \sa QGraphicsScene::items(), QGraphicsScene::collidingItems(),
+ QGraphicsView::items(), QGraphicsItem::collidesWithItem(),
+ QGraphicsItem::collidesWithPath()
+*/
+
+/*!
+ \enum Qt::FillRule
+
+ Specifies which method should be used to fill the paths and polygons.
+
+ \value OddEvenFill Specifies that the region is filled using the
+ odd even fill rule. With this rule, we determine whether a point
+ is inside the shape by using the following method.
+ Draw a horizontal line from the point to a location outside the shape,
+ and count the number of intersections. If the number of intersections
+ is an odd number, the point is inside the shape. This mode is the
+ default.
+
+ \value WindingFill Specifies that the region is filled using the
+ non zero winding rule. With this rule, we determine whether a
+ point is inside the shape by using the following method.
+ Draw a horizontal line from the point to a location outside the shape.
+ Determine whether the direction of the line at each intersection point
+ is up or down. The winding number is determined by summing the
+ direction of each intersection. If the number is non zero, the point
+ is inside the shape. This fill mode can also in most cases be considered
+ as the intersection of closed shapes.
+*/
+
+/*!
+ \enum Qt::PaintUnit
+
+ \compat
+
+ \value PixelUnit
+ \value LoMetricUnit Obsolete
+ \value HiMetricUnit Obsolete
+ \value LoEnglishUnit Obsolete
+ \value HiEnglishUnit Obsolete
+ \value TwipsUnit Obsolete
+*/
+
+/*!
+ \enum Qt::TextFormat
+
+ This enum is used in widgets that can display both plain text and
+ rich text, e.g. QLabel. It is used for deciding whether a text
+ string should be interpreted as one or the other. This is normally
+ done by passing one of the enum values to a setTextFormat()
+ function.
+
+ \value PlainText The text string is interpreted as a plain text
+ string.
+
+ \value RichText The text string is interpreted as a rich text
+ string.
+
+ \value AutoText The text string is interpreted as for
+ Qt::RichText if Qt::mightBeRichText() returns true, otherwise
+ as Qt::PlainText.
+
+ \value LogText A special, limited text format which is only used
+ by Q3TextEdit in an optimized mode.
+*/
+
+/*!
+ \enum Qt::CursorShape
+
+ This enum type defines the various cursors that can be used.
+
+ The standard arrow cursor is the default for widgets in a normal state.
+
+ \value ArrowCursor \inlineimage cursor-arrow.png
+ The standard arrow cursor.
+ \value UpArrowCursor \inlineimage cursor-uparrow.png
+ An arrow pointing upwards toward the top of the screen.
+ \value CrossCursor \inlineimage cursor-cross.png
+ A crosshair cursor, typically used to help the
+ user accurately select a point on the screen.
+ \value WaitCursor \inlineimage cursor-wait.png
+ An hourglass or watch cursor, usually shown during
+ operations that prevent the user from interacting with
+ the application.
+ \value IBeamCursor \inlineimage cursor-ibeam.png
+ A caret or ibeam cursor, indicating that a widget can
+ accept and display text input.
+ \value SizeVerCursor \inlineimage cursor-sizev.png
+ A cursor used for elements that are used to vertically
+ resize top-level windows.
+ \value SizeHorCursor \inlineimage cursor-sizeh.png
+ A cursor used for elements that are used to horizontally
+ resize top-level windows.
+ \value SizeBDiagCursor \inlineimage cursor-sizeb.png
+ A cursor used for elements that are used to diagonally
+ resize top-level windows at their top-right and
+ bottom-left corners.
+ \value SizeFDiagCursor \inlineimage cursor-sizef.png
+ A cursor used for elements that are used to diagonally
+ resize top-level windows at their top-left and
+ bottom-right corners.
+ \value SizeAllCursor \inlineimage cursor-sizeall.png
+ A cursor used for elements that are used to resize
+ top-level windows in any direction.
+ \value BlankCursor A blank/invisible cursor, typically used when the cursor
+ shape needs to be hidden.
+ \value SplitVCursor \inlineimage cursor-vsplit.png
+ A cursor used for vertical splitters, indicating that
+ a handle can be dragged horizontally to adjust the use
+ of available space.
+ \value SplitHCursor \inlineimage cursor-hsplit.png
+ A cursor used for horizontal splitters, indicating that
+ a handle can be dragged vertically to adjust the use
+ of available space.
+ \value PointingHandCursor \inlineimage cursor-hand.png
+ A pointing hand cursor that is typically used for
+ clickable elements such as hyperlinks.
+ \value ForbiddenCursor \inlineimage cursor-forbidden.png
+ A slashed circle cursor, typically used during drag
+ and drop operations to indicate that dragged content
+ cannot be dropped on particular widgets or inside
+ certain regions.
+ \value OpenHandCursor \inlineimage cursor-openhand.png
+ A cursor representing an open hand, typically used to
+ indicate that the area under the cursor is the visible
+ part of a canvas that the user can click and drag in
+ order to scroll around.
+ \value ClosedHandCursor \inlineimage cursor-closedhand.png
+ A cursor representing a closed hand, typically used to
+ indicate that a dragging operation is in progress that
+ involves scrolling.
+ \value WhatsThisCursor \inlineimage cursor-whatsthis.png
+ An arrow with a question mark, typically used to indicate
+ the presence of What's This? help for a widget.
+ \value BusyCursor \inlineimage cursor-wait.png
+ An hourglass or watch cursor, usually shown during
+ operations that allow the user to interact with
+ the application while they are performed in the
+ background.
+ \value BitmapCursor
+ \omitvalue LastCursor
+ \omitvalue CustomCursor
+
+ \omitvalue arrowCursor
+ \omitvalue upArrowCursor
+ \omitvalue crossCursor
+ \omitvalue waitCursor
+ \omitvalue ibeamCursor
+ \omitvalue sizeVerCursor
+ \omitvalue sizeHorCursor
+ \omitvalue sizeBDiagCursor
+ \omitvalue sizeFDiagCursor
+ \omitvalue sizeAllCursor
+ \omitvalue blankCursor
+ \omitvalue splitVCursor
+ \omitvalue splitHCursor
+ \omitvalue pointingHandCursor
+ \omitvalue forbiddenCursor
+ \omitvalue whatsThisCursor
+*/
+
+/*!
+ \typedef Qt::TextFlags
+ \compat
+
+ Use Qt::TextFlag instead.
+*/
+
+/*!
+ \enum Qt::LayoutDirection
+
+ Specifies the direction of Qt's layouts:
+
+ \value LeftToRight Left-to-right layout.
+ \value RightToLeft Right-to-left layout.
+
+ Right-to-left layouts are necessary for certain languages,
+ notably Arabic and Hebrew.
+
+ \sa QApplication::setLayoutDirection(), QWidget::setLayoutDirection()
+*/
+
+/*!
+ \enum Qt::InputMethodHint
+
+ \value ImhNone No hints.
+ \value ImhHiddenText Characters should be hidden, as is typically used when entering passwords.
+ This is automatically set when setting QLineEdit::echoMode to \c Password.
+ \value ImhNumbersOnly Only number input is allowed.
+ \value ImhUppercaseOnly Only upper case letter input is allowed.
+ \value ImhLowercaseOnly Only lower case letter input is allowed.
+ \value ImhNoAutoUppercase The input method should not try to automatically switch to upper case
+ when a sentence ends.
+ \value ImhPreferNumbers Numbers are preferred (but not required).
+ \value ImhPreferUppercase Upper case letters are preferred (but not required).
+ \value ImhPreferLowercase Lower case letters are preferred (but not required).
+ \value ImhNoPredictiveText Do not use predictive text (i.e. dictionary lookup) while typing.
+ \value ImhDialableCharactersOnly Only characters suitable for phone dialling are allowed.
+
+ \note If several flags ending with \c Only are ORed together, the resulting character set will
+ consist of the union of the specified sets. For instance specifying \c ImhNumbersOnly and
+ \c ImhUppercaseOnly would yield a set consisting of numbers and uppercase letters.
+
+ \sa QGraphicsItem::inputMethodHints()
+*/
+
+/*!
+ \enum Qt::InputMethodQuery
+
+ \value ImMicroFocus The rectangle covering the area of the input cursor in widget coordinates.
+ \value ImFont The currently used font for text input.
+ \value ImCursorPosition The logical position of the cursor within the text surrounding the input area (see \c ImSurroundingText).
+ \value ImSurroundingText The plain text around the input area, for example the current paragraph.
+ \value ImCurrentSelection The currently selected text.
+ \value ImMaximumTextLength The maximum number of characters that the widget can hold. If there is no limit, QVariant() is returned.
+ \value ImAnchorPosition The position of the selection anchor. This may be less or greater than \c ImCursorPosition, depending on which side of selection the cursor is. If there is no selection, it returns the same as \c ImCursorPosition.
+*/
+
+/*!
+ \enum Qt::ItemDataRole
+
+ Each item in the model has a set of data elements associated with
+ it, each with its own role. The roles are used by the view to indicate
+ to the model which type of data it needs.
+
+ The general purpose roles are:
+
+ \value DisplayRole The key data to be rendered in the form of text.
+ \value DecorationRole The data to be rendered as a decoration in the form
+ of an icon.
+ \value EditRole The data in a form suitable for editing in an
+ editor.
+ \value ToolTipRole The data displayed in the item's tooltip.
+ \value StatusTipRole The data displayed in the status bar.
+ \value WhatsThisRole The data displayed for the item in "What's This?"
+ mode.
+ \value SizeHintRole The size hint for the item that will be supplied
+ to views.
+
+ Roles describing appearance and meta data:
+
+ \value FontRole The font used for items rendered with the default
+ delegate.
+ \value TextAlignmentRole The alignment of the text for items rendered with the
+ default delegate.
+ \value BackgroundRole The background brush used for items rendered with
+ the default delegate.
+ \value BackgroundColorRole This role is obsolete. Use BackgroundRole instead.
+ \value ForegroundRole The foreground brush (text color, typically)
+ used for items rendered with the default delegate.
+ \value TextColorRole This role is obsolete. Use ForegroundRole instead.
+ \value CheckStateRole This role is used to obtain the checked state of
+ an item (see \l Qt::CheckState).
+
+ Accessibility roles:
+
+ \value AccessibleTextRole The text to be used by accessibility
+ extensions and plugins, such as screen
+ readers.
+ \value AccessibleDescriptionRole A description of the item for accessibility
+ purposes.
+
+ User roles:
+
+ \value UserRole The first role that can be used for application-specific purposes.
+
+ \omitvalue DisplayPropertyRole
+ \omitvalue DecorationPropertyRole
+ \omitvalue ToolTipPropertyRole
+ \omitvalue StatusTipPropertyRole
+ \omitvalue WhatsThisPropertyRole
+*/
+
+/*!
+ \enum Qt::ItemFlag
+
+ This enum describes the properties of an item:
+
+ \value NoItemFlags It does not have any properties set.
+ \value ItemIsSelectable It can be selected.
+ \value ItemIsEditable It can be edited.
+ \value ItemIsDragEnabled It can be dragged.
+ \value ItemIsDropEnabled It can be used as a drop target.
+ \value ItemIsUserCheckable It can be checked or unchecked by the user.
+ \value ItemIsEnabled The user can interact with the item.
+ \value ItemIsTristate The item is checkable with three separate states.
+
+ Note that checkable items need to be given both a suitable set of flags
+ and an initial state, indicating whether the item is checked or not.
+ This is handled automatically for model/view components, but needs
+ to be explicitly set for instances of QListWidgetItem, QTableWidgetItem,
+ and QTreeWidgetItem.
+
+ \sa QAbstractItemModel
+*/
+
+/*!
+ \enum Qt::MatchFlag
+
+ This enum describes the type of matches that can be used when searching
+ for items in a model.
+
+ \value MatchExactly Performs QVariant-based matching.
+ \value MatchFixedString Performs string-based matching.
+ String-based comparisons are case-insensitive unless the
+ \c MatchCaseSensitive flag is also specified.
+ \value MatchContains The search term is contained in the item.
+ \value MatchStartsWith The search term matches the start of the item.
+ \value MatchEndsWith The search term matches the end of the item.
+ \value MatchCaseSensitive The search is case sensitive.
+ \value MatchRegExp Performs string-based matching using a regular
+ expression as the search term.
+ \value MatchWildcard Performs string-based matching using a string with
+ wildcards as the search term.
+ \value MatchWrap Perform a search that wraps around, so that when
+ the search reaches the last item in the model, it begins again at
+ the first item and continues until all items have been examined.
+ \value MatchRecursive Searches the entire hierarchy.
+
+ \sa QString::compare(), QRegExp
+*/
+
+/*!
+ \enum Qt::TextElideMode
+
+ This enum specifies where the ellipsis should appear when
+ displaying texts that don't fit:
+
+ \value ElideLeft The ellipsis should appear at the beginning of the text.
+ \value ElideRight The ellipsis should appear at the end of the text.
+ \value ElideMiddle The ellipsis should appear in the middle of the text.
+ \value ElideNone Ellipsis should NOT appear in the text.
+
+ Qt::ElideMiddle is normally the most appropriate choice for URLs (e.g.,
+ "\l{http://www.qtsoftware.com/careers/movingto/beijing/}{http://www.qtsof...ovingto/beijing/}"),
+ whereas Qt::ElideRight is appropriate
+ for other strings (e.g.,
+ "\l{http://doc.trolltech.com/qq/qq09-mac-deployment.html}{Deploying Applications on Ma...}").
+
+ \sa QAbstractItemView::textElideMode, QFontMetrics::elidedText(), AlignmentFlag QTabBar::elideMode
+*/
+
+/*!
+ \enum Qt::WindowModality
+
+ \keyword modal
+
+ This enum specifies the behavior of a modal window. A modal window
+ is one that blocks input to other windows. Note that windows that
+ are children of a modal window are not blocked.
+
+ The values are:
+ \value NonModal The window is not modal and does not block input to other windows.
+ \value WindowModal The window is modal to a single window hierarchy and blocks input to its parent window, all grandparent windows, and all siblings of its parent and grandparent windows.
+ \value ApplicationModal The window is modal to the application and blocks input to all windows.
+
+ \sa QWidget::windowModality, QDialog
+*/
+
+/*!
+ \enum Qt::TextInteractionFlag
+
+ This enum specifies how a text displaying widget reacts to user input.
+
+ \value NoTextInteraction No interaction with the text is possible.
+ \value TextSelectableByMouse Text can be selected with the mouse and copied to the clipboard using
+ a context menu or standard keyboard shortcuts.
+ \value TextSelectableByKeyboard Text can be selected with the cursor keys on the keyboard. A text cursor is shown.
+ \value LinksAccessibleByMouse Links can be highlighted and activated with the mouse.
+ \value LinksAccessibleByKeyboard Links can be focused using tab and activated with enter.
+ \value TextEditable The text is fully editable.
+
+ \value TextEditorInteraction The default for a text editor.
+ \value TextBrowserInteraction The default for QTextBrowser.
+*/
+
+/*!
+ \enum Qt::MaskMode
+
+ This enum specifies the behavior of the
+ QPixmap::createMaskFromColor() and QImage::createMaskFromColor()
+ functions.
+
+ \value MaskInColor Creates a mask where all pixels matching the given color are opaque.
+ \value MaskOutColor Creates a mask where all pixels matching the given color are transparent.
+*/
+
+/*!
+ \enum Qt::DockWidgetAreaSizes
+ \internal
+*/
+
+/*!
+ \enum Qt::ToolBarAreaSizes
+ \internal
+*/
+
+/*!
+ \enum Qt::EventPriority
+
+ This enum can be used to specify event priorities.
+
+ \value HighEventPriority Events with this priority are sent before
+ events with NormalEventPriority or LowEventPriority.
+
+ \value NormalEventPriority Events with this priority are sent
+ after events with HighEventPriority, but before events with
+ LowEventPriority.
+
+ \value LowEventPriority Events with this priority are sent after
+ events with HighEventPriority or NormalEventPriority.
+
+ Note that these values are provided purely for convenience, since
+ event priorities can be any value between \c INT_MAX and \c
+ INT_MIN, inclusive. For example, you can define custom priorities
+ as being relative to each other:
+
+ \snippet doc/src/snippets/code/doc_src_qnamespace.qdoc 1
+
+ \sa QCoreApplication::postEvent()
+*/
+/*!
+ \enum Qt::SizeHint
+ \since 4.4
+
+ This enum is used by QGraphicsLayoutItem::sizeHint()
+
+ \value MinimumSize is used to specify the minimum size of a graphics layout item.
+ \value PreferredSize is used to specify the preferred size of a graphics layout item.
+ \value MaximumSize is used to specify the maximum size of a graphics layout item.
+ \value MinimumDescent is used to specify the minimum descent of a text string in a graphics layout item.
+ \omitvalue NSizeHints
+
+ \sa QGraphicsLayoutItem::sizeHint()
+*/
+
+/*!
+ \enum Qt::SizeMode
+ \since 4.4
+
+ This enum is used by QPainter::drawRoundedRect() and QPainterPath::addRoundedRect()
+ functions to specify the radii of rectangle corners with respect to the dimensions
+ of the bounding rectangles specified.
+
+ \value AbsoluteSize Specifies the size using absolute measurements.
+ \value RelativeSize Specifies the size relative to the bounding rectangle,
+ typically using percentage measurements.
+*/
+
+/*!
+ \enum Qt::WindowFrameSection
+ \since 4.4
+
+ This enum is used to describe parts of a window frame. It is returned by
+ QGraphicsWidget::windowFrameSectionAt() to describe what section of the window
+ frame is under the mouse.
+
+ \value NoSection
+ \value LeftSection
+ \value TopLeftSection
+ \value TopSection
+ \value TopRightSection
+ \value RightSection
+ \value BottomRightSection
+ \value BottomSection
+ \value BottomLeftSection
+ \value TitleBarArea
+
+ \sa QGraphicsWidget::windowFrameEvent()
+ \sa QGraphicsWidget::paintWindowFrame()
+ \sa QGraphicsWidget::windowFrameSectionAt()
+
+*/
+
+/*!
+ \enum Qt::TileRule
+ \since 4.6
+
+ This enum describes how to repeat or stretch the parts of an image
+ when drawing.
+
+ \value Stretch Scale the image to fit to the available area.
+
+ \value Repeat Tile the image until there is no more space. May crop
+ the last image.
+
+ \value Round Like Repeat, but scales the images down to ensure that
+ the last image is not cropped.
+*/
+
+/*!
+ \enum Qt::Initialization
+ \internal
+*/
+
+/*!
+ \enum Qt::GestureState
+ \since 4.6
+
+ This enum type describes the state of a gesture.
+
+ \omitvalue NoGesture
+ \value GestureStarted A continuous gesture has started.
+ \value GestureUpdated A gesture continues.
+ \value GestureFinished A gesture has finished.
+
+ \sa QGesture
+*/
diff --git a/doc/src/qpagesetupdialog.qdoc b/doc/src/classes/qpagesetupdialog.qdoc
index 7f0b09e..7f0b09e 100644
--- a/doc/src/qpagesetupdialog.qdoc
+++ b/doc/src/classes/qpagesetupdialog.qdoc
diff --git a/doc/src/qpaintdevice.qdoc b/doc/src/classes/qpaintdevice.qdoc
index 0f4e9a0..0f4e9a0 100644
--- a/doc/src/qpaintdevice.qdoc
+++ b/doc/src/classes/qpaintdevice.qdoc
diff --git a/doc/src/qpair.qdoc b/doc/src/classes/qpair.qdoc
index 6d8a0f9..6d8a0f9 100644
--- a/doc/src/qpair.qdoc
+++ b/doc/src/classes/qpair.qdoc
diff --git a/doc/src/qpatternistdummy.cpp b/doc/src/classes/qpatternistdummy.cpp
index a690184..a690184 100644
--- a/doc/src/qpatternistdummy.cpp
+++ b/doc/src/classes/qpatternistdummy.cpp
diff --git a/doc/src/qplugin.qdoc b/doc/src/classes/qplugin.qdoc
index 4fbd198..4fbd198 100644
--- a/doc/src/qplugin.qdoc
+++ b/doc/src/classes/qplugin.qdoc
diff --git a/doc/src/qprintdialog.qdoc b/doc/src/classes/qprintdialog.qdoc
index 8011f62..8011f62 100644
--- a/doc/src/qprintdialog.qdoc
+++ b/doc/src/classes/qprintdialog.qdoc
diff --git a/doc/src/qprinterinfo.qdoc b/doc/src/classes/qprinterinfo.qdoc
index a4ffeb2..a4ffeb2 100644
--- a/doc/src/qprinterinfo.qdoc
+++ b/doc/src/classes/qprinterinfo.qdoc
diff --git a/doc/src/qset.qdoc b/doc/src/classes/qset.qdoc
index 0db3775..0db3775 100644
--- a/doc/src/qset.qdoc
+++ b/doc/src/classes/qset.qdoc
diff --git a/doc/src/qsignalspy.qdoc b/doc/src/classes/qsignalspy.qdoc
index 4ee7590..4ee7590 100644
--- a/doc/src/qsignalspy.qdoc
+++ b/doc/src/classes/qsignalspy.qdoc
diff --git a/doc/src/qsizepolicy.qdoc b/doc/src/classes/qsizepolicy.qdoc
index c74beb8..c74beb8 100644
--- a/doc/src/qsizepolicy.qdoc
+++ b/doc/src/classes/qsizepolicy.qdoc
diff --git a/doc/src/classes/qtdesigner-api.qdoc b/doc/src/classes/qtdesigner-api.qdoc
new file mode 100644
index 0000000..d7c47b1
--- /dev/null
+++ b/doc/src/classes/qtdesigner-api.qdoc
@@ -0,0 +1,1413 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+ \class QDesignerMemberSheetExtension
+
+ \brief The QDesignerMemberSheetExtension class allows you to
+ manipulate a widget's member functions which is displayed when
+ configuring connections using Qt Designer's mode for editing
+ signals and slots.
+
+ \inmodule QtDesigner
+
+ QDesignerMemberSheetExtension is a collection of functions that is
+ typically used to query a widget's member functions, and to
+ manipulate the member functions' appearance in \QD's signals and
+ slots editing mode. For example:
+
+ \snippet doc/src/snippets/code/doc_src_qtdesigner.qdoc 2
+
+ When implementing a custom widget plugin, a pointer to \QD's
+ current QDesignerFormEditorInterface object (\c formEditor in the
+ example above) is provided by the
+ QDesignerCustomWidgetInterface::initialize() function's parameter.
+
+ The member sheet (and any other extension), can be retrieved by
+ querying \QD's extension manager using the qt_extension()
+ function. When you want to release the extension, you only need to
+ delete the pointer.
+
+ All widgets have a default member sheet used in \QD's signals and
+ slots editing mode with the widget's member functions. But
+ QDesignerMemberSheetExtension also provides an interface for
+ creating custom member sheet extensions.
+
+ \warning \QD uses the QDesignerMemberSheetExtension to facilitate
+ the signal and slot editing mode. Whenever a connection between
+ two widgets is requested, \QD will query for the widgets' member
+ sheet extensions. If a widget has an implemented member sheet
+ extension, this extension will override the default member sheet.
+
+ To create a member sheet extension, your extension class must
+ inherit from both QObject and QDesignerMemberSheetExtension. Then,
+ since we are implementing an interface, we must ensure that it's
+ made known to the meta object system using the Q_INTERFACES()
+ macro:
+
+ \snippet doc/src/snippets/code/doc_src_qtdesigner.qdoc 3
+
+ This enables \QD to use qobject_cast() to query for
+ supported interfaces using nothing but a QObject pointer.
+
+ In \QD the extensions are not created until they are
+ required. For that reason, when implementing a member sheet
+ extension, you must also create a QExtensionFactory, i.e a class
+ that is able to make an instance of your extension, and register
+ it using \QD's \l {QExtensionManager}{extension manager}.
+
+ When a widget's member sheet extension is required, \QD's \l
+ {QExtensionManager}{extension manager} will run through all its
+ registered factories calling QExtensionFactory::createExtension()
+ for each until the first one that is able to create a member sheet
+ extension for that widget, is found. This factory will then make
+ an instance of the extension. If no such factory is found, \QD
+ will use the default member sheet.
+
+ There are four available types of extensions in \QD:
+ QDesignerContainerExtension, QDesignerMemberSheetExtension,
+ QDesignerPropertySheetExtension and
+ QDesignerTaskMenuExtension. \QD's behavior is the same whether the
+ requested extension is associated with a multi page container, a
+ member sheet, a property sheet or a task menu.
+
+ The QExtensionFactory class provides a standard extension
+ factory, and can also be used as an interface for custom
+ extension factories. You can either create a new
+ QExtensionFactory and reimplement the
+ QExtensionFactory::createExtension() function. For example:
+
+ \snippet doc/src/snippets/code/doc_src_qtdesigner.qdoc 4
+
+ Or you can use an existing factory, expanding the
+ QExtensionFactory::createExtension() function to make the factory
+ able to create a member sheet extension as well. For example:
+
+ \snippet doc/src/snippets/code/doc_src_qtdesigner.qdoc 5
+
+ For a complete example using an extension class, see \l
+ {designer/taskmenuextension}{Task Menu Extension example}. The
+ example shows how to create a custom widget plugin for Qt
+ Designer, and how to to use the QDesignerTaskMenuExtension class
+ to add custom items to \QD's task menu.
+
+ \sa QExtensionFactory, QExtensionManager, {Creating Custom Widget
+ Extensions}
+*/
+
+/*!
+ \fn QDesignerMemberSheetExtension::~QDesignerMemberSheetExtension()
+
+ Destroys the member sheet extension.
+*/
+
+/*!
+ \fn int QDesignerMemberSheetExtension::count() const
+
+ Returns the extension's number of member functions.
+*/
+
+/*!
+ \fn int QDesignerMemberSheetExtension::indexOf(const QString &name) const
+
+ Returns the index of the member function specified by the given \a
+ name.
+
+ \sa memberName()
+*/
+
+/*!
+ \fn QString QDesignerMemberSheetExtension::memberName(int index) const
+
+ Returns the name of the member function with the given \a index.
+
+ \sa indexOf()
+*/
+
+/*!
+ \fn QString QDesignerMemberSheetExtension::memberGroup(int index) const
+
+ Returns the name of the member group specified for the function
+ with the given \a index.
+
+ \sa indexOf(), setMemberGroup()
+*/
+
+/*!
+ \fn void QDesignerMemberSheetExtension::setMemberGroup(int index, const QString &group)
+
+ Sets the member group of the member function with the given \a
+ index, to \a group.
+
+ \sa indexOf(), memberGroup()
+*/
+
+/*!
+ \fn bool QDesignerMemberSheetExtension::isVisible(int index) const
+
+ Returns true if the member function with the given \a index is
+ visible in \QD's signal and slot editor, otherwise false.
+
+ \sa indexOf(), setVisible()
+*/
+
+/*!
+ \fn void QDesignerMemberSheetExtension::setVisible(int index, bool visible)
+
+ If \a visible is true, the member function with the given \a index
+ is visible in \QD's signals and slots editing mode; otherwise the
+ member function is hidden.
+
+ \sa indexOf(), isVisible()
+*/
+
+/*!
+ \fn virtual bool QDesignerMemberSheetExtension::isSignal(int index) const
+
+ Returns true if the member function with the given \a index is a
+ signal, otherwise false.
+
+ \sa indexOf()
+*/
+
+/*!
+ \fn bool QDesignerMemberSheetExtension::isSlot(int index) const
+
+ Returns true if the member function with the given \a index is a
+ slot, otherwise false.
+
+ \sa indexOf()
+*/
+
+/*!
+ \fn bool QDesignerMemberSheetExtension::inheritedFromWidget(int index) const
+
+ Returns true if the member function with the given \a index is
+ inherited from QWidget, otherwise false.
+
+ \sa indexOf()
+*/
+
+/*!
+ \fn QString QDesignerMemberSheetExtension::declaredInClass(int index) const
+
+ Returns the name of the class in which the member function with
+ the given \a index is declared.
+
+ \sa indexOf()
+*/
+
+/*!
+ \fn QString QDesignerMemberSheetExtension::signature(int index) const
+
+ Returns the signature of the member function with the given \a
+ index.
+
+ \sa indexOf()
+*/
+
+/*!
+ \fn QList<QByteArray> QDesignerMemberSheetExtension::parameterTypes(int index) const
+
+ Returns the parameter types of the member function with the given
+ \a index, as a QByteArray list.
+
+ \sa indexOf(), parameterNames()
+*/
+
+/*!
+ \fn QList<QByteArray> QDesignerMemberSheetExtension::parameterNames(int index) const
+
+ Returns the parameter names of the member function with the given
+ \a index, as a QByteArray list.
+
+ \sa indexOf(), parameterTypes()
+*/
+
+
+// Doc: Interface only
+
+/*!
+ \class QDesignerLayoutDecorationExtension
+ \brief The QDesignerLayoutDecorationExtension class provides an extension to a layout in \QD.
+ \inmodule QtDesigner
+ \internal
+*/
+
+/*!
+ \enum QDesignerLayoutDecorationExtension::InsertMode
+
+ This enum describes the modes that are used to insert items into a layout.
+
+ \value InsertWidgetMode Widgets are inserted into empty cells in a layout.
+ \value InsertRowMode Whole rows are inserted into a vertical or grid layout.
+ \value InsertColumnMode Whole columns are inserted into a horizontal or grid layout.
+*/
+
+/*!
+ \fn virtual QDesignerLayoutDecorationExtension::~QDesignerLayoutDecorationExtension()
+
+ Destroys the extension.
+*/
+
+/*!
+ \fn virtual QList<QWidget*> QDesignerLayoutDecorationExtension::widgets(QLayout *layout) const
+
+ Returns the widgets that are managed by the given \a layout.
+
+ \sa insertWidget(), removeWidget()
+*/
+
+/*!
+ \fn QRect QDesignerLayoutDecorationExtension::itemInfo(int index) const
+
+ Returns the rectangle covered by the item at the given \a index in the layout.
+*/
+
+/*!
+ \fn int QDesignerLayoutDecorationExtension::indexOf(QWidget *widget) const
+
+ Returns the index of the specified \a widget in the layout.
+*/
+
+/*!
+ \fn int QDesignerLayoutDecorationExtension::indexOf(QLayoutItem *item) const
+
+ Returns the index of the specified layout \a item.
+*/
+
+/*!
+ \fn QDesignerLayoutDecorationExtension::InsertMode QDesignerLayoutDecorationExtension::currentInsertMode() const
+
+ Returns the current insertion mode.
+*/
+
+/*!
+ \fn int QDesignerLayoutDecorationExtension::currentIndex() const
+
+ Returns the current index in the layout.
+*/
+
+/*!
+ \fn QPair<int, int> QDesignerLayoutDecorationExtension::currentCell() const
+
+ Returns a pair containing the row and column of the current cell in the layout.
+*/
+
+/*!
+ \fn void QDesignerLayoutDecorationExtension::insertWidget(QWidget *widget, const QPair<int, int> &cell)
+
+ Inserts the given \a widget into the specified \a cell in the layout.
+
+ \sa removeWidget()
+*/
+
+/*!
+ \fn void QDesignerLayoutDecorationExtension::removeWidget(QWidget *widget)
+
+ Removes the specified \a widget from the layout.
+
+ \sa insertWidget()
+*/
+
+/*!
+ \fn void QDesignerLayoutDecorationExtension::insertRow(int row)
+
+ Inserts a new row into the form at the position specified by \a row.
+*/
+
+/*!
+ \fn void QDesignerLayoutDecorationExtension::insertColumn(int column)
+
+ Inserts a new column into the form at the position specified by \a column.
+*/
+
+/*!
+ \fn void QDesignerLayoutDecorationExtension::simplify()
+
+ Simplifies the layout by removing unnecessary empty rows and columns, and by changing the
+ number of rows or columns spanned by widgets.
+*/
+
+/*!
+ \fn int QDesignerLayoutDecorationExtension::findItemAt(const QPoint &position) const
+
+ Returns the index of the item in the layout that covers the given \a position.
+*/
+
+/*!
+ \fn int QDesignerLayoutDecorationExtension::findItemAt(int row, int column) const
+
+ Returns the item in the layout that occupies the specified \a row and \a column in the layout.
+
+ Currently, this only applies to grid layouts.
+*/
+
+/*!
+ \fn void QDesignerLayoutDecorationExtension::adjustIndicator(const QPoint &position, int index)
+
+ Adjusts the indicator for the item specified by \a index so that
+ it lies at the given \a position on the form.
+*/
+
+
+// Doc: Interface only
+
+/*!
+ \class QDesignerContainerExtension
+ \brief The QDesignerContainerExtension class allows you to add pages to
+ a custom multi-page container in Qt Designer's workspace.
+ \inmodule QtDesigner
+
+ QDesignerContainerExtension provide an interface for creating
+ custom container extensions. A container extension consists of a
+ collection of functions that \QD needs to manage a multi-page
+ container plugin, and a list of the container's pages.
+
+ \image containerextension-example.png
+
+ \warning This is \e not an extension for container plugins in
+ general, only custom \e multi-page containers.
+
+ To create a container extension, your extension class must inherit
+ from both QObject and QDesignerContainerExtension. For example:
+
+ \snippet doc/src/snippets/code/doc_src_qtdesigner.qdoc 6
+
+ Since we are implementing an interface, we must ensure that it's
+ made known to the meta object system using the Q_INTERFACES()
+ macro. This enables \QD to use the qobject_cast() function to
+ query for supported interfaces using nothing but a QObject
+ pointer.
+
+ You must reimplement several functions to enable \QD to manage a
+ custom multi-page container widget: \QD uses count() to keep track
+ of the number pages in your container, widget() to return the page
+ at a given index in the list of the container's pages, and
+ currentIndex() to return the list index of the selected page. \QD
+ uses the addWidget() function to add a given page to the
+ container, expecting it to be appended to the list of pages, while
+ it expects the insertWidget() function to add a given page to the
+ container by inserting it at a given index.
+
+ In \QD the extensions are not created until they are
+ required. For that reason you must also create a
+ QExtensionFactory, i.e a class that is able to make an instance of
+ your extension, and register it using \QD's \l
+ {QExtensionManager}{extension manager}.
+
+ When a container extension is required, \QD's \l
+ {QExtensionManager}{extension manager} will run through all its
+ registered factories calling QExtensionFactory::createExtension()
+ for each until the first one that is able to create a container
+ extension, is found. This factory will then create the extension
+ for the plugin.
+
+ There are four available types of extensions in \QD:
+ QDesignerContainerExtension , QDesignerMemberSheetExtension,
+ QDesignerPropertySheetExtension and QDesignerTaskMenuExtension.
+ \QD's behavior is the same whether the requested extension is
+ associated with a multi page container, a member sheet, a property
+ sheet or a task menu.
+
+ The QExtensionFactory class provides a standard extension factory,
+ and can also be used as an interface for custom extension
+ factories. You can either create a new QExtensionFactory and
+ reimplement the QExtensionFactory::createExtension() function. For
+ example:
+
+ \snippet doc/src/snippets/code/doc_src_qtdesigner.qdoc 7
+
+ Or you can use an existing factory, expanding the
+ QExtensionFactory::createExtension() function to make the factory
+ able to create a container extension as well. For example:
+
+ \snippet doc/src/snippets/code/doc_src_qtdesigner.qdoc 8
+
+ For a complete example using the QDesignerContainerExtension
+ class, see the \l {designer/containerextension}{Container
+ Extension example}. The example shows how to create a custom
+ multi-page plugin for \QD.
+
+ \sa QExtensionFactory, QExtensionManager, {Creating Custom Widget
+ Extensions}
+*/
+
+/*!
+ \fn QDesignerContainerExtension::~QDesignerContainerExtension()
+
+ Destroys the extension.
+*/
+
+/*!
+ \fn int QDesignerContainerExtension::count() const
+
+ Returns the number of pages in the container.
+*/
+
+/*!
+ \fn QWidget *QDesignerContainerExtension::widget(int index) const
+
+ Returns the page at the given \a index in the extension's list of
+ pages.
+
+ \sa addWidget(), insertWidget()
+*/
+
+/*!
+ \fn int QDesignerContainerExtension::currentIndex() const
+
+ Returns the index of the currently selected page in the
+ container.
+
+ \sa setCurrentIndex()
+*/
+
+/*!
+ \fn void QDesignerContainerExtension::setCurrentIndex(int index)
+
+ Sets the currently selected page in the container to be the
+ page at the given \a index in the extension's list of pages.
+
+ \sa currentIndex()
+*/
+
+/*!
+ \fn void QDesignerContainerExtension::addWidget(QWidget *page)
+
+ Adds the given \a page to the container by appending it to the
+ extension's list of pages.
+
+ \sa insertWidget(), remove(), widget()
+*/
+
+/*!
+ \fn void QDesignerContainerExtension::insertWidget(int index, QWidget *page)
+
+ Adds the given \a page to the container by inserting it at the
+ given \a index in the extension's list of pages.
+
+ \sa addWidget(), remove(), widget()
+*/
+
+/*!
+ \fn void QDesignerContainerExtension::remove(int index)
+
+ Removes the page at the given \a index from the extension's list
+ of pages.
+
+ \sa addWidget(), insertWidget()
+*/
+
+
+// Doc: Interface only
+
+/*!
+ \class QDesignerTaskMenuExtension
+ \brief The QDesignerTaskMenuExtension class allows you to add custom
+ menu entries to Qt Designer's task menu.
+ \inmodule QtDesigner
+
+ QDesignerTaskMenuExtension provides an interface for creating
+ custom task menu extensions. It is typically used to create task
+ menu entries that are specific to a plugin in \QD.
+
+ \QD uses the QDesignerTaskMenuExtension to feed its task
+ menu. Whenever a task menu is requested, \QD will query
+ for the selected widget's task menu extension.
+
+ \image taskmenuextension-example-faded.png
+
+ A task menu extension is a collection of QActions. The actions
+ appear as entries in the task menu when the plugin with the
+ specified extension is selected. The image above shows the custom
+ \gui {Edit State...} action which appears in addition to \QD's
+ default task menu entries: \gui Cut, \gui Copy, \gui Paste etc.
+
+ To create a custom task menu extension, your extension class must
+ inherit from both QObject and QDesignerTaskMenuExtension. For
+ example:
+
+ \snippet doc/src/snippets/code/doc_src_qtdesigner.qdoc 9
+
+ Since we are implementing an interface, we must ensure that it
+ is made known to the meta-object system using the Q_INTERFACES()
+ macro. This enables \QD to use the qobject_cast() function to
+ query for supported interfaces using nothing but a QObject
+ pointer.
+
+ You must reimplement the taskActions() function to return a list
+ of actions that will be included in \QD task menu. Optionally, you
+ can reimplement the preferredEditAction() function to set the
+ action that is invoked when selecting your plugin and pressing
+ \key F2. The preferred edit action must be one of the actions
+ returned by taskActions() and, if it's not defined, pressing the
+ \key F2 key will simply be ignored.
+
+ In \QD, extensions are not created until they are required. A
+ task menu extension, for example, is created when you click the
+ right mouse button over a widget in \QD's workspace. For that
+ reason you must also construct an extension factory, using either
+ QExtensionFactory or a subclass, and register it using \QD's
+ \l {QExtensionManager}{extension manager}.
+
+ When a task menu extension is required, \QD's \l
+ {QExtensionManager}{extension manager} will run through all its
+ registered factories calling QExtensionFactory::createExtension()
+ for each until it finds one that is able to create a task menu
+ extension for the selected widget. This factory will then make an
+ instance of the extension.
+
+ There are four available types of extensions in \QD:
+ QDesignerContainerExtension, QDesignerMemberSheetExtension,
+ QDesignerPropertySheetExtension, and QDesignerTaskMenuExtension.
+ \QD's behavior is the same whether the requested extension is
+ associated with a container, a member sheet, a property sheet or a
+ task menu.
+
+ The QExtensionFactory class provides a standard extension factory,
+ and can also be used as an interface for custom extension
+ factories. You can either create a new QExtensionFactory and
+ reimplement the QExtensionFactory::createExtension() function. For
+ example:
+
+ \snippet doc/src/snippets/code/doc_src_qtdesigner.qdoc 10
+
+ Or you can use an existing factory, expanding the
+ QExtensionFactory::createExtension() function to make the factory
+ able to create a task menu extension as well. For example:
+
+ \snippet doc/src/snippets/code/doc_src_qtdesigner.qdoc 11
+
+ For a complete example using the QDesignerTaskMenuExtension class,
+ see the \l {designer/taskmenuextension}{Task Menu Extension
+ example}. The example shows how to create a custom widget plugin
+ for \QD, and how to to use the QDesignerTaskMenuExtension
+ class to add custom items to \QD's task menu.
+
+ \sa QExtensionFactory, QExtensionManager, {Creating Custom Widget
+ Extensions}
+*/
+
+/*!
+ \fn QDesignerTaskMenuExtension::~QDesignerTaskMenuExtension()
+
+ Destroys the task menu extension.
+*/
+
+/*!
+ \fn QAction *QDesignerTaskMenuExtension::preferredEditAction() const
+
+ Returns the action that is invoked when selecting a plugin with
+ the specified extension and pressing \key F2.
+
+ The action must be one of the actions returned by taskActions().
+*/
+
+/*!
+ \fn QList<QAction*> QDesignerTaskMenuExtension::taskActions() const
+
+ Returns the task menu extension as a list of actions which will be
+ included in \QD's task menu when a plugin with the specified
+ extension is selected.
+
+ The function must be reimplemented to add actions to the list.
+*/
+
+
+// Doc: Interface only
+
+/*!
+ \class QDesignerCustomWidgetCollectionInterface
+
+ \brief The QDesignerCustomWidgetCollectionInterface class allows
+ you to include several custom widgets in one single library.
+
+ \inmodule QtDesigner
+
+ When implementing a custom widget plugin, you build it as a
+ separate library. If you want to include several custom widget
+ plugins in the same library, you must in addition subclass
+ QDesignerCustomWidgetCollectionInterface.
+
+ QDesignerCustomWidgetCollectionInterface contains one single
+ function returning a list of the collection's
+ QDesignerCustomWidgetInterface objects. For example, if you have
+ several custom widgets \c CustomWidgetOne, \c CustomWidgetTwo and
+ \c CustomWidgetThree, the class definition may look like this:
+
+ \snippet doc/src/snippets/code/doc_src_qtdesigner.qdoc 12
+
+ In the class constructor you add the interfaces to your custom
+ widgets to the list which you return in the customWidgets()
+ function:
+
+ \snippet doc/src/snippets/code/doc_src_qtdesigner.qdoc 13
+
+ Note that instead of exporting each custom widget plugin using the
+ Q_EXPORT_PLUGIN2() macro, you export the entire collection. The
+ Q_EXPORT_PLUGIN2() macro ensures that \QD can access and construct
+ the custom widgets. Without this macro, there is no way for \QD to
+ use them.
+
+ \sa QDesignerCustomWidgetInterface, {Creating Custom Widgets for
+ Qt Designer}
+*/
+
+/*!
+ \fn QDesignerCustomWidgetCollectionInterface::~QDesignerCustomWidgetCollectionInterface() {
+
+ Destroys the custom widget collection interface.
+*/
+
+/*!
+ \fn QList<QDesignerCustomWidgetInterface*> QDesignerCustomWidgetCollectionInterface::customWidgets() const
+
+ Returns a list of interfaces to the collection's custom widgets.
+*/
+
+
+// Doc: Interface only
+
+/*!
+ \class QDesignerCustomWidgetInterface
+
+ \brief The QDesignerCustomWidgetInterface class enables Qt Designer
+ to access and construct custom widgets.
+
+ \inmodule QtDesigner
+
+ QDesignerCustomWidgetInterface provides a custom widget with an
+ interface. The class contains a set of functions that must be subclassed
+ to return basic information about the widget, such as its class name and
+ the name of its header file. Other functions must be implemented to
+ initialize the plugin when it is loaded, and to construct instances of
+ the custom widget for \QD to use.
+
+ When implementing a custom widget you must subclass
+ QDesignerCustomWidgetInterface to expose your widget to \QD. For
+ example, this is the declaration for the plugin used in the
+ \l{Custom Widget Plugin Example}{Custom Widget Plugin example} that
+ enables an analog clock custom widget to be used by \QD:
+
+ \snippet examples/designer/customwidgetplugin/customwidgetplugin.h 0
+
+ Note that the only part of the class definition that is specific
+ to this particular custom widget is the class name. In addition,
+ since we are implementing an interface, we must ensure that it's
+ made known to the meta object system using the Q_INTERFACES()
+ macro. This enables \QD to use the qobject_cast() function to
+ query for supported interfaces using nothing but a QObject
+ pointer.
+
+ After \QD loads a custom widget plugin, it calls the interface's
+ initialize() function to enable it to set up any resources that it
+ may need. This function is called with a QDesignerFormEditorInterface
+ parameter that provides the plugin with a gateway to all of \QD's API.
+
+ \QD constructs instances of the custom widget by calling the plugin's
+ createWidget() function with a suitable parent widget. Plugins must
+ construct and return an instance of a custom widget with the specified
+ parent widget.
+
+ In the implementation of the class you must remember to export
+ your custom widget plugin to \QD using the Q_EXPORT_PLUGIN2()
+ macro. For example, if a library called \c libcustomwidgetplugin.so
+ (on Unix) or \c libcustomwidget.dll (on Windows) contains a widget
+ class called \c MyCustomWidget, we can export it by adding the
+ following line to the file containing the plugin implementation:
+
+ \snippet doc/src/snippets/code/doc_src_qtdesigner.qdoc 14
+
+ This macro ensures that \QD can access and construct the custom widget.
+ Without this macro, there is no way for \QD to use it.
+
+ When implementing a custom widget plugin, you build it as a
+ separate library. If you want to include several custom widget
+ plugins in the same library, you must in addition subclass
+ QDesignerCustomWidgetCollectionInterface.
+
+ \warning If your custom widget plugin contains QVariant
+ properties, be aware that only the following \l
+ {QVariant::Type}{types} are supported:
+
+ \list
+ \o QVariant::ByteArray
+ \o QVariant::Bool
+ \o QVariant::Color
+ \o QVariant::Cursor
+ \o QVariant::Date
+ \o QVariant::DateTime
+ \o QVariant::Double
+ \o QVariant::Int
+ \o QVariant::Point
+ \o QVariant::Rect
+ \o QVariant::Size
+ \o QVariant::SizePolicy
+ \o QVariant::String
+ \o QVariant::Time
+ \o QVariant::UInt
+ \endlist
+
+ For a complete example using the QDesignerCustomWidgetInterface
+ class, see the \l {designer/customwidgetplugin}{Custom Widget
+ Example}. The example shows how to create a custom widget plugin
+ for \QD.
+
+ \sa QDesignerCustomWidgetCollectionInterface {Creating Custom
+ Widgets for Qt Designer}
+*/
+
+/*!
+ \fn QDesignerCustomWidgetInterface::~QDesignerCustomWidgetInterface()
+
+ Destroys the custom widget interface.
+*/
+
+/*!
+ \fn QString QDesignerCustomWidgetInterface::name() const
+
+ Returns the class name of the custom widget supplied by the interface.
+
+ The name returned \e must be identical to the class name used for the
+ custom widget.
+*/
+
+/*!
+ \fn QString QDesignerCustomWidgetInterface::group() const
+
+ Returns the name of the group to which the custom widget belongs.
+*/
+
+/*!
+ \fn QString QDesignerCustomWidgetInterface::toolTip() const
+
+ Returns a short description of the widget that can be used by \QD
+ in a tool tip.
+*/
+
+/*!
+ \fn QString QDesignerCustomWidgetInterface::whatsThis() const
+
+ Returns a description of the widget that can be used by \QD in
+ "What's This?" help for the widget.
+*/
+
+/*!
+ \fn QString QDesignerCustomWidgetInterface::includeFile() const
+
+ Returns the path to the include file that \l uic uses when
+ creating code for the custom widget.
+*/
+
+/*!
+ \fn QIcon QDesignerCustomWidgetInterface::icon() const
+
+ Returns the icon used to represent the custom widget in \QD's
+ widget box.
+*/
+
+/*!
+ \fn bool QDesignerCustomWidgetInterface::isContainer() const
+
+ Returns true if the custom widget is intended to be used as a
+ container; otherwise returns false.
+
+ Most custom widgets are not used to hold other widgets, so their
+ implementations of this function will return false, but custom
+ containers will return true to ensure that they behave correctly
+ in \QD.
+*/
+
+/*!
+ \fn QWidget *QDesignerCustomWidgetInterface::createWidget(QWidget *parent)
+
+ Returns a new instance of the custom widget, with the given \a
+ parent.
+*/
+
+/*!
+ \fn bool QDesignerCustomWidgetInterface::isInitialized() const
+
+ Returns true if the widget has been initialized; otherwise returns
+ false.
+
+ \sa initialize()
+*/
+
+/*!
+ \fn void QDesignerCustomWidgetInterface::initialize(QDesignerFormEditorInterface *formEditor)
+
+ Initializes the widget for use with the specified \a formEditor
+ interface.
+
+ \sa isInitialized()
+*/
+
+/*!
+ \fn QString QDesignerCustomWidgetInterface::domXml() const
+
+ Returns the XML that is used to describe the custom widget's
+ properties to \QD.
+*/
+
+/*!
+ \fn QString QDesignerCustomWidgetInterface::codeTemplate() const
+
+ This function is reserved for future use by \QD.
+
+ \omit
+ Returns the code template that \QD includes in forms that contain
+ the custom widget when they are saved.
+ \endomit
+*/
+
+/*!
+ \macro QDESIGNER_WIDGET_EXPORT
+ \relates QDesignerCustomWidgetInterface
+ \since 4.1
+
+ This macro is used when defining custom widgets to ensure that they are
+ correctly exported from plugins for use with \QD.
+
+ On some platforms, the symbols required by \QD to create new widgets
+ are removed from plugins by the build system, making them unusable.
+ Using this macro ensures that the symbols are retained on those platforms,
+ and has no side effects on other platforms.
+
+ For example, the \l{designer/worldtimeclockplugin}{World Time Clock Plugin}
+ example exports a custom widget class with the following declaration:
+
+ \snippet examples/designer/worldtimeclockplugin/worldtimeclock.h 0
+ \dots
+ \snippet examples/designer/worldtimeclockplugin/worldtimeclock.h 2
+
+ \sa {Creating Custom Widgets for Qt Designer}
+*/
+
+
+// Doc: Abstract class
+
+/*!
+ \class QDesignerDnDItemInterface
+ \brief The QDesignerDnDItemInterface class provides an interface that is used to manage items
+ during a drag and drop operation.
+ \inmodule QtDesigner
+ \internal
+*/
+
+/*!
+ \enum QDesignerDnDItemInterface::DropType
+
+ This enum describes the result of a drag and drop operation.
+
+ \value MoveDrop The item was moved.
+ \value CopyDrop The item was copied.
+*/
+
+/*!
+ \fn QDesignerDnDItemInterface::QDesignerDnDItemInterface()
+
+ Constructs a new interface to a drag and drop item.
+*/
+
+/*!
+ \fn QDesignerDnDItemInterface::~QDesignerDnDItemInterface()
+
+ Destroys the interface to the item.
+*/
+
+/*!
+ \fn DomUI *QDesignerDnDItemInterface::domUi() const
+
+ Returns a user interface object for the item.
+*/
+
+/*!
+ \fn QWidget *QDesignerDnDItemInterface::widget() const
+
+ Returns the widget being copied or moved in the drag and drop operation.
+
+ \sa source()
+*/
+
+/*!
+ \fn QWidget *QDesignerDnDItemInterface::decoration() const
+
+ Returns the widget used to represent the item.
+*/
+
+/*!
+ \fn QPoint QDesignerDnDItemInterface::hotSpot() const
+
+ Returns the cursor's hotspot.
+
+ \sa QDrag::hotSpot()
+*/
+
+/*!
+ \fn DropType QDesignerDnDItemInterface::type() const
+
+ Returns the type of drag and drop operation in progress.
+*/
+
+/*!
+ \fn QWidget *QDesignerDnDItemInterface::source() const
+
+ Returns the widget that is the source of the drag and drop operation; i.e. the original
+ container of the widget being dragged.
+
+ \sa widget()
+*/
+
+
+// Doc: Abstract class
+
+/*!
+ \class QDesignerIconCacheInterface
+ \brief The QDesignerIconCacheInterface class provides an interface to \QD's icon cache.
+ \inmodule QtDesigner
+ \internal
+*/
+
+/*!
+ \fn QDesignerIconCacheInterface::QDesignerIconCacheInterface(QObject *parent)
+
+ Constructs a new interface with the given \a parent.
+*/
+
+/*!
+ \fn QIcon QDesignerIconCacheInterface::nameToIcon(const QString &filePath, const QString &qrcPath)
+
+ Returns the icon associated with the name specified by \a filePath in the resource
+ file specified by \a qrcPath.
+
+ If \a qrcPath refers to a valid resource file, the name used for the file path is a path
+ within those resources; otherwise the file path refers to a local file.
+
+ \sa {The Qt Resource System}, nameToPixmap()
+*/
+
+/*!
+ \fn QPixmap QDesignerIconCacheInterface::nameToPixmap(const QString &filePath, const QString &qrcPath)
+
+ Returns the pixmap associated with the name specified by \a filePath in the resource
+ file specified by \a qrcPath.
+
+ If \a qrcPath refers to a valid resource file, the name used for the file path is a path
+ within those resources; otherwise the file path refers to a local file.
+
+ \sa {The Qt Resource System}, nameToIcon()
+*/
+
+/*!
+ \fn QString QDesignerIconCacheInterface::iconToFilePath(const QIcon &icon) const
+
+ Returns the file path associated with the given \a icon. The file path is a path within
+ an application resources.
+*/
+
+/*!
+ \fn QString QDesignerIconCacheInterface::iconToQrcPath(const QIcon &icon) const
+
+ Returns the path to the resource file that refers to the specified \a icon. The resource
+ path refers to a local file.
+*/
+
+/*!
+ \fn QString QDesignerIconCacheInterface::pixmapToFilePath(const QPixmap &pixmap) const
+
+ Returns the file path associated with the given \a pixmap. The file path is a path within
+ an application resources.
+*/
+
+/*!
+ \fn QString QDesignerIconCacheInterface::pixmapToQrcPath(const QPixmap &pixmap) const
+
+ Returns the path to the resource file that refers to the specified \a pixmap. The resource
+ path refers to a local file.
+*/
+
+/*!
+ \fn QList<QPixmap> QDesignerIconCacheInterface::pixmapList() const
+
+ Returns a list of pixmaps for the icons provided by the icon cache.
+*/
+
+/*!
+ \fn QList<QIcon> QDesignerIconCacheInterface::iconList() const
+
+ Returns a list of icons provided by the icon cache.
+*/
+
+/*!
+ \fn QString QDesignerIconCacheInterface::resolveQrcPath(const QString &filePath, const QString &qrcPath, const QString &workingDirectory) const
+
+ Returns a path to a resource specified by the \a filePath within
+ the resource file located at \a qrcPath. If \a workingDirectory is
+ a valid path to a directory, the path returned will be relative to
+ that directory; otherwise an absolute path is returned.
+
+ \omit
+ ### Needs checking
+ \endomit
+*/
+
+
+// Doc: Interface only
+
+/*!
+ \class QDesignerPropertySheetExtension
+
+ \brief The QDesignerPropertySheetExtension class allows you to
+ manipulate a widget's properties which is displayed in Qt
+ Designer's property editor.
+
+ \sa QDesignerDynamicPropertySheetExtension
+
+ \inmodule QtDesigner
+
+ QDesignerPropertySheetExtension provides a collection of functions that
+ are typically used to query a widget's properties, and to
+ manipulate the properties' appearance in the property editor. For
+ example:
+
+ \snippet doc/src/snippets/code/doc_src_qtdesigner.qdoc 15
+
+ Note that if you change the value of a property using the
+ QDesignerPropertySheetExtension::setProperty() function, the undo
+ stack is not updated. To ensure that a property's value can be
+ reverted using the undo stack, you must use the
+ QDesignerFormWindowCursorInterface::setProperty() function, or its
+ buddy \l
+ {QDesignerFormWindowCursorInterface::setWidgetProperty()}{setWidgetProperty()},
+ instead.
+
+ When implementing a custom widget plugin, a pointer to \QD's
+ current QDesignerFormEditorInterface object (\c formEditor in the
+ example above) is provided by the
+ QDesignerCustomWidgetInterface::initialize() function's parameter.
+
+ The property sheet, or any other extension, can be retrieved by
+ querying \QD's extension manager using the qt_extension()
+ function. When you want to release the extension, you only need to
+ delete the pointer.
+
+ All widgets have a default property sheet which populates \QD's
+ property editor with the widget's properties (i.e the ones defined
+ with the Q_PROPERTY() macro). But QDesignerPropertySheetExtension
+ also provides an interface for creating custom property sheet
+ extensions.
+
+ \warning \QD uses the QDesignerPropertySheetExtension to feed its
+ property editor. Whenever a widget is selected in its workspace,
+ \QD will query for the widget's property sheet extension. If the
+ selected widget has an implemented property sheet extension, this
+ extension will override the default property sheet.
+
+ To create a property sheet extension, your extension class must
+ inherit from both QObject and
+ QDesignerPropertySheetExtension. Then, since we are implementing
+ an interface, we must ensure that it's made known to the meta
+ object system using the Q_INTERFACES() macro:
+
+ \snippet doc/src/snippets/code/doc_src_qtdesigner.qdoc 16
+
+ This enables \QD to use qobject_cast() to query for supported
+ interfaces using nothing but a QObject pointer.
+
+ In \QD the extensions are not created until they are
+ required. For that reason, when implementing a property sheet
+ extension, you must also create a QExtensionFactory, i.e a class
+ that is able to make an instance of your extension, and register
+ it using \QD's \l {QExtensionManager}{extension manager}.
+
+ When a property sheet extension is required, \QD's \l
+ {QExtensionManager}{extension manager} will run through all its
+ registered factories calling QExtensionFactory::createExtension()
+ for each until the first one that is able to create a property
+ sheet extension for the selected widget, is found. This factory
+ will then make an instance of the extension. If no such factory
+ can be found, \QD will use the default property sheet.
+
+ There are four available types of extensions in \QD:
+ QDesignerContainerExtension, QDesignerMemberSheetExtension,
+ QDesignerPropertySheetExtension and QDesignerTaskMenuExtension. Qt
+ Designer's behavior is the same whether the requested extension is
+ associated with a multi page container, a member sheet, a property
+ sheet or a task menu.
+
+ The QExtensionFactory class provides a standard extension factory,
+ and can also be used as an interface for custom extension
+ factories. You can either create a new QExtensionFactory and
+ reimplement the QExtensionFactory::createExtension() function. For
+ example:
+
+ \snippet doc/src/snippets/code/doc_src_qtdesigner.qdoc 17
+
+ Or you can use an existing factory, expanding the
+ QExtensionFactory::createExtension() function to make the factory
+ able to create a property sheet extension extension as well. For
+ example:
+
+ \snippet doc/src/snippets/code/doc_src_qtdesigner.qdoc 18
+
+ For a complete example using an extension class, see the \l
+ {designer/taskmenuextension}{Task Menu Extension example}. The
+ example shows how to create a custom widget plugin for Qt
+ Designer, and how to to use the QDesignerTaskMenuExtension class
+ to add custom items to \QD's task menu.
+
+ \sa QExtensionFactory, QExtensionManager, {Creating Custom Widget
+ Extensions}
+*/
+
+/*!
+ \fn QDesignerPropertySheetExtension::~QDesignerPropertySheetExtension()
+
+ Destroys the property sheet extension.
+*/
+
+/*!
+ \fn int QDesignerPropertySheetExtension::count() const
+
+ Returns the selected widget's number of properties.
+*/
+
+/*!
+ \fn int QDesignerPropertySheetExtension::indexOf(const QString &name) const
+
+ Returns the index for a given property \a name.
+
+ \sa propertyName()
+*/
+
+/*!
+ \fn QString QDesignerPropertySheetExtension::propertyName(int index) const
+
+ Returns the name of the property at the given \a index.
+
+ \sa indexOf()
+*/
+
+/*!
+ \fn QString QDesignerPropertySheetExtension::propertyGroup(int index) const
+
+ Returns the property group for the property at the given \a index.
+
+ \QD's property editor supports property groups, i.e. sections of
+ related properties. A property can be related to a group using the
+ setPropertyGroup() function. The default group of any property is
+ the name of the class that defines it. For example, the
+ QObject::objectName property appears within the QObject property
+ group.
+
+ \sa indexOf(), setPropertyGroup()
+*/
+
+/*!
+ \fn void QDesignerPropertySheetExtension::setPropertyGroup(int index, const QString &group)
+
+ Sets the property group for the property at the given \a index to
+ \a group.
+
+ Relating a property to a group makes it appear within that group's
+ section in the property editor. The default property group of any
+ property is the name of the class that defines it. For example,
+ the QObject::objectName property appears within the QObject
+ property group.
+
+ \sa indexOf(), property(), propertyGroup()
+*/
+
+/*!
+ \fn bool QDesignerPropertySheetExtension::hasReset(int index) const
+
+ Returns true if the property at the given \a index has a reset
+ button in \QD's property editor, otherwise false.
+
+ \sa indexOf(), reset()
+*/
+
+/*!
+ \fn bool QDesignerPropertySheetExtension::reset(int index)
+
+ Resets the value of the property at the given \a index, to the
+ default value. Returns true if a default value could be found, otherwise false.
+
+ \sa indexOf(), hasReset(), isChanged()
+*/
+
+/*!
+ \fn bool QDesignerPropertySheetExtension::isVisible(int index) const
+
+ Returns true if the property at the given \a index is visible in
+ \QD's property editor, otherwise false.
+
+ \sa indexOf(), setVisible()
+*/
+
+/*!
+ \fn void QDesignerPropertySheetExtension::setVisible(int index, bool visible)
+
+ If \a visible is true, the property at the given \a index is
+ visible in \QD's property editor; otherwise the property is
+ hidden.
+
+ \sa indexOf(), isVisible()
+*/
+
+/*!
+ \fn bool QDesignerPropertySheetExtension::isAttribute(int index) const
+
+ Returns true if the property at the given \a index is an attribute,
+ which will be \e excluded from the UI file, otherwise false.
+
+ \sa indexOf(), setAttribute()
+*/
+
+/*!
+ \fn void QDesignerPropertySheetExtension::setAttribute(int index, bool attribute)
+
+ If \a attribute is true, the property at the given \a index is
+ made an attribute which will be \e excluded from the UI file;
+ otherwise it will be included.
+
+ \sa indexOf(), isAttribute()
+*/
+
+/*!
+ \fn QVariant QDesignerPropertySheetExtension::property(int index) const
+
+ Returns the value of the property at the given \a index.
+
+ \sa indexOf(), setProperty(), propertyGroup()
+*/
+
+/*!
+ \fn void QDesignerPropertySheetExtension::setProperty(int index, const QVariant &value)
+
+ Sets the \a value of the property at the given \a index.
+
+ \warning If you change the value of a property using this
+ function, the undo stack is not updated. To ensure that a
+ property's value can be reverted using the undo stack, you must
+ use the QDesignerFormWindowCursorInterface::setProperty()
+ function, or its buddy \l
+ {QDesignerFormWindowCursorInterface::setWidgetProperty()}{setWidgetProperty()},
+ instead.
+
+ \sa indexOf(), property(), propertyGroup()
+*/
+
+/*!
+ \fn bool QDesignerPropertySheetExtension::isChanged(int index) const
+
+ Returns true if the value of the property at the given \a index
+ differs from the property's default value, otherwise false.
+
+ \sa indexOf(), setChanged(), reset()
+*/
+
+/*!
+ \fn void QDesignerPropertySheetExtension::setChanged(int index, bool changed)
+
+ Sets whether the property at the given \a index is different from
+ its default value, or not, depending on the \a changed parameter.
+
+ \sa indexOf(), isChanged()
+*/
+
+// Doc: Interface only
+
+/*!
+ \class QDesignerDynamicPropertySheetExtension
+
+ \brief The QDesignerDynamicPropertySheetExtension class allows you to
+ manipulate a widget's dynamic properties in Qt Designer's property editor.
+
+ \sa QDesignerPropertySheetExtension, {QObject#Dynamic Properties}{Dynamic Properties}
+
+ \inmodule QtDesigner
+ \since 4.3
+*/
+
+/*!
+ \fn QDesignerDynamicPropertySheetExtension::~QDesignerDynamicPropertySheetExtension()
+
+ Destroys the dynamic property sheet extension.
+*/
+
+/*!
+ \fn bool QDesignerDynamicPropertySheetExtension::dynamicPropertiesAllowed() const
+
+ Returns true if the widget supports dynamic properties; otherwise returns false.
+*/
+
+/*!
+ \fn int QDesignerDynamicPropertySheetExtension::addDynamicProperty(const QString &propertyName, const QVariant &value)
+
+ Adds a dynamic property named \a propertyName and sets its value to \a value.
+ Returns the index of the property if it was added successfully; otherwise returns -1 to
+ indicate failure.
+*/
+
+/*!
+ \fn bool QDesignerDynamicPropertySheetExtension::removeDynamicProperty(int index)
+
+ Removes the dynamic property at the given \a index.
+ Returns true if the operation succeeds; otherwise returns false.
+*/
+
+/*!
+ \fn bool QDesignerDynamicPropertySheetExtension::isDynamicProperty(int index) const
+
+ Returns true if the property at the given \a index is a dynamic property; otherwise
+ returns false.
+*/
+
+/*!
+ \fn bool QDesignerDynamicPropertySheetExtension::canAddDynamicProperty(const QString &propertyName) const
+
+ Returns true if \a propertyName is a valid, unique name for a dynamic
+ property; otherwise returns false.
+
+*/
diff --git a/doc/src/qtendian.qdoc b/doc/src/classes/qtendian.qdoc
index dcffb5d..dcffb5d 100644
--- a/doc/src/qtendian.qdoc
+++ b/doc/src/classes/qtendian.qdoc
diff --git a/doc/src/qtestevent.qdoc b/doc/src/classes/qtestevent.qdoc
index 2e111b3..2e111b3 100644
--- a/doc/src/qtestevent.qdoc
+++ b/doc/src/classes/qtestevent.qdoc
diff --git a/doc/src/qvarlengtharray.qdoc b/doc/src/classes/qvarlengtharray.qdoc
index ac6bb6e..ac6bb6e 100644
--- a/doc/src/qvarlengtharray.qdoc
+++ b/doc/src/classes/qvarlengtharray.qdoc
diff --git a/doc/src/qwaitcondition.qdoc b/doc/src/classes/qwaitcondition.qdoc
index ae94e35..ae94e35 100644
--- a/doc/src/qwaitcondition.qdoc
+++ b/doc/src/classes/qwaitcondition.qdoc
diff --git a/doc/src/compatclasses.qdoc b/doc/src/compatclasses.qdoc
deleted file mode 100644
index cb6d7dd..0000000
--- a/doc/src/compatclasses.qdoc
+++ /dev/null
@@ -1,54 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-/*!
- \page compatclasses.html
- \title Qt 3 Compatibility Classes
- \ingroup classlists
-
- This is a list of the classes that Qt provides for compatibility
- with Qt 3. The vast majority of these are provided by the
- Qt3Support module.
-
- \generatelist compatclasses
-
- \sa {Qt's Classes}, {Qt's Modules}
-*/
diff --git a/doc/src/compiler-notes.qdoc b/doc/src/compiler-notes.qdoc
new file mode 100644
index 0000000..4a7451d
--- /dev/null
+++ b/doc/src/compiler-notes.qdoc
@@ -0,0 +1,278 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+ \page compiler-notes.html
+ \ingroup platform-notes
+ \title Compiler Notes
+ \brief Information about the C++ compilers and tools used to build Qt.
+
+ This page contains information about the C++ compilers and tools used
+ to build Qt on various platforms.
+
+ \tableofcontents
+
+ Please refer to the \l{Platform Notes} for information on the platforms
+ Qt is currently known to run on, and see the \l{Supported Platforms}
+ page for information about the status of each platform.
+
+ If you have anything to add to this list or any of the platform or
+ compiler-specific pages, please submit it via the \l{Bug Report Form}
+ or through the \l{Public Qt Repository}.
+
+ \section1 Supported Features
+
+ Not all compilers used to build Qt are able to compile all modules. The following table
+ shows the compiler support for five modules that are not uniformly available for all
+ platforms and compilers.
+
+ \table
+ \header \o Compiler \o{5,1} Features
+ \header \o \o Concurrent \o XmlPatterns \o WebKit \o CLucene \o Phonon
+ \row \o g++ 3.3 \o \o \bold{X} \o \o \bold{X} \o \bold{X}
+ \row \o g++ 3.4 and up \o \bold{X} \o \bold{X} \o \bold{X} \o \bold{X} \o \bold{X}
+ \row
+ \row \o SunCC 5.5 \o \o \o \o \bold{X} \o \bold{X}
+ \row
+ \row \o aCC series 3 \o \o \o \o \bold{X} \o \bold{X}
+ \row \o aCC series 6 \o \bold{X} \o \bold{X} \o \bold{X} \o \bold{X} \o \bold{X}
+ \row \o xlC 6 \o \o \o \o \bold{X} \o \bold{X}
+ \row \o Intel CC 10 \o \bold{X} \o \bold{X} \o \bold{X} \o \bold{X} \o \bold{X}
+ \row
+ \row \o MSVC 2003 \o \bold{X} \o \bold{X} \o \o \bold{X} \o \bold{X}
+ \row \o MSVC 2005 and up \o \bold{X} \o \bold{X} \o \bold{X} \o \bold{X} \o \bold{X}
+ \endtable
+
+ \target GCC
+ \section1 GCC
+
+ \section2 GCC on Windows (MinGW)
+
+ We have tested Qt with this compiler on Windows XP.
+ The minimal version of MinGW supported is:
+
+ \list
+ \o GCC 3.4.2
+ \o MinGW runtime 3.7
+ \o win32api 3.2
+ \o binutils 2.15.91
+ \o mingw32-make 3.80.0-3
+ \endlist
+
+ \section2 GCC 4.0.0
+
+ The released package of the compiler has some bugs that lead to miscompilations.
+ We recommend using GCC 4.0.1 or later, or to use a recent CVS snapshot of the
+ GCC 4.0 branch. The version of GCC 4.0.0 that is shipped with Mac OS X 10.4
+ "Tiger" is known to work with Qt for Mac OS X.
+
+ \section2 HP-UX
+
+ The hpux-g++ platform is tested with GCC 3.4.4.
+
+ \section2 Solaris
+
+ Please use GCC 3.4.2 or later.
+
+ \section2 Mac OS X
+
+ Please use the latest GCC 3.3 from Apple or a later version of GCC 3.
+ The gcc 3.3 that is provided with Xcode 1.5 is known to generate bad code.
+ Use the November 2004 GCC 3.3 updater \l{http://connect.apple.com}{available from Apple}.
+
+ \section2 GCC 3.4.6 (Debian 3.4.6-5) on AMD64 (x86_64)
+
+ This compiler is known to miscompile some parts of Qt when doing a
+ release build. There are several workarounds:
+
+ \list 1
+ \o Use a debug build instead.
+ \o For each miscompilation encountered, recompile the file, removing the -O2 option.
+ \o Add -fno-gcse to the QMAKE_CXXFLAGS_RELEASE.
+ \endlist
+
+ \section1 HP ANSI C++ (aCC)
+
+ The hpux-acc-32 and hpux-acc-64 platforms are tested with aCC A.03.57. The
+ hpuxi-acc-32 and hpuxi-acc-64 platforms are tested with aCC A.06.10.
+
+ \section1 Intel C++ Compiler
+
+ Qt supports the Intel C++ compiler on both Windows and Linux.
+ However, there are a few issues on Linux (see the following
+ section).
+
+ \section2 Intel C++ Compiler for Linux
+
+ Nokia currently tests the following compilers:
+
+ \list
+
+ \o Intel(R) C++ Compiler for applications running on IA-32,
+ Version 10.1 Build 20080602 Package ID: l_cc_p_10.1.017
+
+ \o Intel(R) C++ Compiler for applications running on Intel(R) 64,
+ Version 10.1 Build 20080602 Package ID: l_cc_p_10.1.017
+
+ \endlist
+
+ We do not currently test the IA-64 (Itanium) compiler.
+
+ \section2 Known Issues with Intel C++ Compiler for Linux
+
+ \list
+
+ \o Precompiled header support does not work in version 10.0.025
+ and older. For these compilers, you should configure Qt with
+ -no-pch. Precompiled header support works properly in version
+ 10.0.026 and later.
+ \o Version 10.0.026 for Intel 64 is known to miscompile qmake when
+ building in release mode. For now, configure Qt with
+ -debug. Version 10.1.008 and later can compile qmake in release
+ mode.
+ \o Versions 10.1.008 to 10.1.015 for both IA-32 and Intel 64 are
+ known crash with "(0): internal error: 0_47021" when compiling
+ QtXmlPatterns, QtWebKit, and Designer in release mode. Version
+ 10.1.017 compiles these modules correctly in release mode.
+ \endlist
+
+ \section2 Intel C++ Compiler (Windows, Altix)
+
+ Qt 4 has been tested successfully with:
+
+ \list
+ \o Windows - Intel(R) C++ Compiler for 32-bit applications,
+ Version 8.1 Build 20050309Z Package ID: W_CC_PC_8.1.026
+ \o Altix - Intel(R) C++ Itanium(R) Compiler for Itanium(R)-based
+ applications Version 8.1 Build 20050406 Package ID: l_cc_pc_8.1.030
+ \endlist
+
+ We currently only test the Intel compiler on 32-bit Windows versions.
+
+ \section1 MIPSpro (IRIX)
+
+ \bold{IRIX is an unsupported platform. See the \l{Supported Platforms} page
+ and Qt's Software's online \l{Platform Support Policy} page for details.}
+
+ Qt 4.4.x requires MIPSpro version 7.4.2m.
+
+ Note that MIPSpro version 7.4.4m is currently not supported, since it has
+ introduced a number of problems that have not yet been resolved.
+ We recommend using 7.4.2m for Qt development. However, please note the
+ unsupported status of this platform.
+
+ \target Sun Studio
+ \section1 Forte Developer / Sun Studio (Solaris)
+
+ \section2 Sun Studio
+
+ Qt is tested using Sun Studio 8 (Sun CC 5.5). Go to
+ \l{Sun Studio Patches} page on Sun's Web site to download
+ the latest patches for your Sun compiler.
+
+ \section2 Sun WorkShop 5.0
+
+ Sun WorkShop 5.0 is not supported with Qt 4.
+
+ \section1 Visual Studio (Windows)
+
+ We do most of our Windows development on Windows XP, using Microsoft
+ Visual Studio .NET 2005 and Visual Studio 2008 (both the 32- and 64-bit
+ versions).
+
+ Qt works with the Standard Edition, the Professional Edition and Team
+ System Edition of Visual Studio 2005.
+
+ We also test Qt 4 on Windows XP with Visual Studio .NET and Visual Studio 2003.
+
+ In order to use Qt with the Visual Studio 2005/2008 Express Edition you need
+ to download and install the platform SDK. Due to limitations in the
+ Express Edition it is not possible for us to install the Qt Visual
+ Studio Integration. You will need to use our command line tools to
+ build Qt applications with this edition.
+
+ The Visual C++ Linker doesn't understand filenames with spaces (as in
+ \c{C:\Program files\Qt\}) so you will have to move it to another place,
+ or explicitly set the path yourself; for example:
+
+ \snippet doc/src/snippets/code/doc_src_compiler-notes.qdoc 0
+
+ If you are experiencing strange problems with using special flags that
+ modify the alignment of structure and union members (such as \c{/Zp2})
+ then you will need to recompile Qt with the flags set for the
+ application as well.
+
+ If you're using Visual Studio .NET (2002) Standard Edition, you should be
+ using the Qt binary package provided, and not the source package.
+ As the Standard Edition does not optimize compiled code, your compiled
+ version of Qt would perform suboptimally with respect to speed.
+
+ With Visual Studio 2005 Service Pack 1 a bug was introduced which
+ causes Qt not to compile, this has been fixed with a hotfix available
+ from Microsoft. See this
+ \l{http://www.qtsoftware.com/developer/faqs/faq.2006-12-18.3281869860}{Knowledge Base entry}
+ for more information.
+
+ \section1 IBM xlC (AIX)
+
+ The makeC++SharedLib utility must be in your PATH and be up to date to
+ build shared libraries. From IBM's
+ \l{http://www.redbooks.ibm.com/abstracts/sg245674.html}{C and C++ Application Development on AIX}
+ Redbook:
+
+ \list
+ \o "The second step is to use the makeC++SharedLib command to create the
+ shared object. The command has many optional arguments, but in its
+ simplest form, can be used as follows:"
+ \snippet doc/src/snippets/code/doc_src_compiler-notes.qdoc 1
+ \o "The full path name to the command is not required; however, to avoid
+ this, you will have to add the directory in which it is located to
+ your PATH environment variable. The command is located in the
+ /usr/vacpp/bin directory with the VisualAge C++ Professional for AIX,
+ Version 5 compiler."
+ \endlist
+
+ \section2 VisualAge C++ for AIX, Version 6.0
+
+ Make sure you have the
+ \l{http://www-1.ibm.com/support/search.wss?rs=32&amp;tc=SSEP5D&amp;dc=D400}{latest upgrades}
+ installed.
+*/
diff --git a/doc/src/coordsys.qdoc b/doc/src/coordsys.qdoc
index 7ba3946..4a73d67 100644
--- a/doc/src/coordsys.qdoc
+++ b/doc/src/coordsys.qdoc
@@ -224,12 +224,12 @@
Transformations} demo for a visualization of a sheared coordinate
system. All the transformation operations operate on QPainter's
transformation matrix that you can retrieve using the
- QPainter::worldMatrix() function. A matrix transforms a point in the
- plane to another point.
+ QPainter::worldTransform() function. A matrix transforms a point
+ in the plane to another point.
If you need the same transformations over and over, you can also
- use QMatrix objects and the QPainter::worldMatrix() and
- QPainter::setWorldMatrix() functions. You can at any time save the
+ use QTransform objects and the QPainter::worldTransform() and
+ QPainter::setWorldTransform() functions. You can at any time save the
QPainter's transformation matrix by calling the QPainter::save()
function which saves the matrix on an internal stack. The
QPainter::restore() function pops it back.
@@ -318,7 +318,7 @@
transformations affects the result.
For more information about the transformation matrix, see the
- QMatrix documentation.
+ QTransform documentation.
\section1 Window-Viewport Conversion
@@ -328,7 +328,7 @@
The mapping of the logical coordinates to the physical coordinates
are handled by QPainter's world transformation \l
- {QPainter::worldMatrix()}{worldMatrix()} (described in the \l
+ {QPainter::worldTransform()}{worldTransform()} (described in the \l
Transformations section), and QPainter's \l
{QPainter::viewport()}{viewport()} and \l
{QPainter::window()}{window()}. The viewport represents the
@@ -419,14 +419,14 @@
\endtable
The 2D transformations of the coordinate system are specified
- using the QMatrix class:
+ using the QTransform class:
\table
\header \o Class \o Description
\row
- \o QMatrix
+ \o QTransform
\o
- A 3 x 3 transformation matrix. Use QMatrix to rotate, shear,
+ A 3 x 3 transformation matrix. Use QTransform to rotate, shear,
scale, or translate the coordinate system.
\endtable
diff --git a/doc/src/credits.qdoc b/doc/src/credits.qdoc
index 81ded04..15bf1e2 100644
--- a/doc/src/credits.qdoc
+++ b/doc/src/credits.qdoc
@@ -247,6 +247,7 @@
Mike Perik <mikep at crt.com>\br
Mike Sharkey <msharkey at softarc.com>\br
Mikko Ala-Fossi <mikko.ala-fossi at vaisala.com>\br
+ Milan Burda <milan.burda at gmail.com>\br
Miroslav Flidr <flidr at kky.zcu.cz>\br
Miyata Shigeru <miyata at kusm.kyoto-u.ac.jp>\br
Myron Uecker <muecker at csd.net>\br
diff --git a/doc/src/datastreamformat.qdoc b/doc/src/datastreamformat.qdoc
index dea193f..5db85cb 100644
--- a/doc/src/datastreamformat.qdoc
+++ b/doc/src/datastreamformat.qdoc
@@ -220,6 +220,25 @@
\o dx (double)
\o dy (double)
\endlist
+ \row \o QMatrix4x4
+ \o \list
+ \o m11 (double)
+ \o m12 (double)
+ \o m13 (double)
+ \o m14 (double)
+ \o m21 (double)
+ \o m22 (double)
+ \o m23 (double)
+ \o m24 (double)
+ \o m31 (double)
+ \o m32 (double)
+ \o m33 (double)
+ \o m34 (double)
+ \o m41 (double)
+ \o m42 (double)
+ \o m43 (double)
+ \o m44 (double)
+ \endlist
\row \o QPair<T1, T2>
\o \list
\o first (T1)
@@ -266,6 +285,13 @@
\o The x coordinate (qint32)
\o The y coordinate (qint32)
\endlist
+ \row \o QQuaternion
+ \o \list
+ \o The scalar component (double)
+ \o The x coordinate (double)
+ \o The y coordinate (double)
+ \o The z coordinate (double)
+ \endlist
\row \o QRect
\o \list
\o left (qint32)
@@ -301,6 +327,18 @@
\o \list
\o Milliseconds since midnight (quint32)
\endlist
+ \row \o QTransform
+ \o \list
+ \o m11 (double)
+ \o m12 (double)
+ \o m13 (double)
+ \o m21 (double)
+ \o m22 (double)
+ \o m23 (double)
+ \o m31 (double)
+ \o m32 (double)
+ \o m33 (double)
+ \endlist
\row \o QUrl
\o \list
\o Holds an URL (QString)
@@ -311,6 +349,24 @@
\o The null flag (qint8)
\o The data of the specified type
\endlist
+ \row \o QVector2D
+ \o \list
+ \o the x coordinate (double)
+ \o the y coordinate (double)
+ \endlist
+ \row \o QVector3D
+ \o \list
+ \o the x coordinate (double)
+ \o the y coordinate (double)
+ \o the z coordinate (double)
+ \endlist
+ \row \o QVector4D
+ \o \list
+ \o the x coordinate (double)
+ \o the y coordinate (double)
+ \o the z coordinate (double)
+ \o the w coordinate (double)
+ \endlist
\row \o QVector<T>
\o \list
\o The number of items (quint32)
diff --git a/doc/src/demos/sub-attaq.qdoc b/doc/src/demos/sub-attaq.qdoc
new file mode 100644
index 0000000..6bbf763
--- /dev/null
+++ b/doc/src/demos/sub-attaq.qdoc
@@ -0,0 +1,54 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+ \example demos/sub-attaq
+ \title Sub-Attaq
+
+ This demo shows Qt's ability to combine \l{The Animation Framework}{the animation framework}
+ and \l{The State Machine Framework}{the state machine framework} to create a game.
+
+ \image sub-attaq-demo.png
+
+ The purpose of the game is to destroy all submarines to win the current level.
+ The boat can be controlled using left and right keys. To fire a bomb you can press
+ up and down keys.
+*/
diff --git a/doc/src/deployment.qdoc b/doc/src/deployment.qdoc
index 0866930..1da2c06 100644
--- a/doc/src/deployment.qdoc
+++ b/doc/src/deployment.qdoc
@@ -715,17 +715,19 @@
\table 100%
\header
- \o \o VC++ 6.0 \o VC++ 7.1 (2003) \o VC++ 8.0 (2005)
+ \o \o VC++ 6.0 \o VC++ 7.1 (2003) \o VC++ 8.0 (2005) \o VC++ 9.0 (2008)
\row
\o The C run-time
\o \c msvcrt.dll
\o \c msvcr71.dll
\o \c msvcr80.dll
+ \o \c msvcr90.dll
\row
\o The C++ run-time
\o \c msvcp60.dll
\o \c msvcp71.dll
\o \c msvcp80.dll
+ \o \c msvcp90.dll
\endtable
To verify that the application now can be successfully deployed,
@@ -893,7 +895,7 @@
\o \l{qt-conf.html}{Using \c qt.conf}. This approach is the recommended
if you have executables in different places sharing the same plugins.
-
+
\o Using QApplication::addLibraryPath() or
QApplication::setLibraryPaths(). This approach is recommended if you only
have one executable that will use the plugin.
@@ -902,10 +904,10 @@
hard-coded paths in the QtCore library.
\endlist
-
+
If you add a custom path using QApplication::addLibraryPath it could
look like this:
-
+
\snippet doc/src/snippets/code/doc_src_deployment.qdoc 54
Then qApp->libraryPaths() would return something like this:
diff --git a/doc/src/designer-manual.qdoc b/doc/src/designer-manual.qdoc
index 67114b9..ab33185 100644
--- a/doc/src/designer-manual.qdoc
+++ b/doc/src/designer-manual.qdoc
@@ -86,7 +86,7 @@
\o \l{Creating Main Windows in Qt Designer}
\o \l{Editing Resources with Qt Designer}
\o \l{Using Stylesheets with Qt Designer}
- \o \l{Using a Designer .ui File in Your Application}
+ \o \l{Using a Designer UI File in Your Application}
\endlist
For advanced usage of \QD, you can refer to these links:
@@ -158,7 +158,7 @@
has been introduced to aid translators in the case of two source
texts being the same but used for different purposes. For example,
a dialog could have two \gui{Add} buttons for two different
- reasons. \note To maintain compatibility, comments in \c{.ui} files
+ reasons. \note To maintain compatibility, comments in UI files
created prior to Qt 4.5 will be listed in the \gui{Disambiguation}
field.
\endlist
@@ -402,7 +402,7 @@
while setting as few widget size constraints as possible.
For a more technical perspective on Qt's layout classes, refer to the
- \l{Layout Classes} document.
+ \l{Layout Management} documentation.
*/
@@ -620,7 +620,7 @@
\key{Ctrl+O}.
At any point, you can save your form by selecting the \gui{Save From As...}
- option from the \gui File menu. The \c{.ui} files saved by \QD contain
+ option from the \gui File menu. The UI files saved by \QD contain
information about the objects used, and any details of signal and slot
connections between them.
@@ -953,7 +953,7 @@
\image designer-form-layout.png
- The \c{.ui} file above results in the previews shown below.
+ The UI file above results in the previews shown below.
\table
\header
@@ -1226,7 +1226,7 @@
The whole connection can be selected by clicking on any of its path
segments. Once selected, a connection can be deleted with the
- \key Delete key, ensuring that it will not be set up in the \c{.ui}
+ \key Delete key, ensuring that it will not be set up in the UI
file.
\endtable
*/
@@ -1360,7 +1360,7 @@
inside. Both widgets and spacers can be used inside containers.
Stacked widgets, tab widgets, and toolboxes are handled specially in \QD.
- Norwally, when adding pages (tabs, pages, compartments) to these containers
+ Normally, when adding pages (tabs, pages, compartments) to these containers
in your own code, you need to supply existing widgets, either as
placeholders or containing child widgets. In \QD, these are automatically
created for you, so you can add child objects to each page straight away.
@@ -1795,7 +1795,7 @@ pixmap property in the property editor.
\page designer-stylesheet.html
\contentspage {Qt Designer Manual}{Contents}
\previouspage Editing Resources with Qt Designer
- \nextpage Using a Designer .ui File in Your Application
+ \nextpage Using a Designer UI File in Your Application
\title Using Stylesheets with Qt Designer
@@ -1824,7 +1824,7 @@ pixmap property in the property editor.
\contentspage {Qt Designer Manual}{Contents}
\nextpage Using Custom Widgets with Qt Designer
- \title Using a Designer .ui File in Your Application
+ \title Using a Designer UI File in Your Application
With Qt's integrated build tools, \l{qmake Manual}{qmake} and \l uic, the
code for user interface components created with \QD is automatically
@@ -1855,11 +1855,11 @@ pixmap property in the property editor.
\section2 The Direct Approach
- To demonstrate how to use user interface (\c{.ui}) files straight from
+ To demonstrate how to use user interface (UI) files straight from
\QD, we create a simple Calculator Form application. This is based on the
original \l{Calculator Form Example}{Calculator Form} example.
- The application consists of one source file, \c main.cpp and a \c{.ui}
+ The application consists of one source file, \c main.cpp and a UI
file.
The \c{calculatorform.ui} file designed with \QD is shown below:
@@ -1882,7 +1882,7 @@ pixmap property in the property editor.
\snippet doc/src/snippets/uitools/calculatorform/main.cpp 0
This include is an additional check to ensure that we do not generate code
- for \c .ui files that are not used.
+ for UI files that are not used.
The \c main function creates the calculator widget by constructing a
standard QWidget that we use to host the user interface described by the
@@ -2003,7 +2003,7 @@ pixmap property in the property editor.
\section2 The UiTools Approach
- A resource file containing a \c{.ui} file is required to process forms at
+ A resource file containing a UI file is required to process forms at
run time. Also, the application needs to be configured to use the QtUiTools
module. This is done by including the following declaration in a \c qmake
project file, ensuring that the application is compiled and linked
@@ -2034,7 +2034,7 @@ pixmap property in the property editor.
\snippet examples/uitools/textfinder/textfinder.cpp 1
Processing forms at run-time gives the developer the freedom to change a
- program's user interface, just by changing the \c{.ui} file. This is useful
+ program's user interface, just by changing the UI file. This is useful
when customizing programs to suit various user needs, such as extra large
icons or a different colour scheme for accessibility support.
@@ -2130,12 +2130,12 @@ pixmap property in the property editor.
\image designer-form-settings.png
- When saving a form in \QD, it is stored as an \c .ui file. Several form
+ When saving a form in \QD, it is stored as a UI file. Several form
settings, for example the grid settings or the margin and spacing for the
default layout, are stored along with the form's components. These settings
are used when the \l uic generates the form's C++ code. For more
information on how to use forms in your application, see the
- \l{Using a Designer .ui File in Your Application} section.
+ \l{Using a Designer UI File in Your Application} section.
\section1 Modifying the Form Settings
@@ -2168,7 +2168,7 @@ pixmap property in the property editor.
You can also specify the form's \gui{Include Hints}; i.e., provide a list
of the header files which will then be included in the form window's
- associated \c .ui file. Header files may be local, i.e., relative to the
+ associated UI file. Header files may be local, i.e., relative to the
project's directory, \c "mywidget.h", or global, i.e. part of Qt or the
compilers standard libraries: \c <QtGui/QWidget>.
@@ -2331,7 +2331,7 @@ pixmap property in the property editor.
\row
\o \c includeFile()
\o The header file that must be included in applications that use
- this widget. This information is stored in .ui files and will
+ this widget. This information is stored in UI files and will
be used by \c uic to create a suitable \c{#includes} statement
in the code it generates for the form containing the custom
widget.
@@ -2379,12 +2379,12 @@ pixmap property in the property editor.
\section2 Notes on the \c{domXml()} Function
- The \c{domXml()} function returns a \c{.ui} file snippet that is used by
+ The \c{domXml()} function returns a UI file snippet that is used by
\QD's widget factory to create a custom widget and its applicable
properties.
- Since Qt 4.4, \QD's widget box allows for a complete \c{.ui} file to
- describe \bold one custom widget. The \c{.ui} file can be loaded using the
+ Since Qt 4.4, \QD's widget box allows for a complete UI file to
+ describe \bold one custom widget. The UI file can be loaded using the
\c{<ui>} tag. Specifying the <ui> tag allows for adding the <customwidget>
element that contains additional information for custom widgets. The
\c{<widget>} tag is sufficient if no additional information is required
@@ -2800,7 +2800,7 @@ pixmap property in the property editor.
\title Qt Designer's UI File Format
- The \c .ui file format used by \QD is described by the
+ The \c UI file format used by \QD is described by the
\l{http://www.w3.org/XML/Schema}{XML schema} presented below,
which we include for your convenience. Be aware that the format
may change in future Qt releases.
diff --git a/doc/src/diagrams/programs/easingcurve/main.cpp b/doc/src/diagrams/programs/easingcurve/main.cpp
index 8a2d53b..f249dbc 100644
--- a/doc/src/diagrams/programs/easingcurve/main.cpp
+++ b/doc/src/diagrams/programs/easingcurve/main.cpp
@@ -85,32 +85,37 @@ void createCurveIcons()
qreal curveScale = iconSize.height()/2;
- painter.drawLine(yAxis - 2, xAxis - curveScale, yAxis + 2, xAxis - curveScale); // hor
+ painter.drawLine(yAxis - 2, xAxis - curveScale, yAxis + 2, xAxis - curveScale); // hor
painter.drawLine(yAxis + curveScale, xAxis + 2, yAxis + curveScale, xAxis - 2); // ver
painter.drawText(yAxis + curveScale - 8, xAxis - curveScale - 4, QLatin1String("(1,1)"));
-
+
painter.drawText(yAxis + 42, xAxis + 10, QLatin1String("progress"));
- painter.drawText(15, xAxis - curveScale - 10, QLatin1String("ease"));
-
- painter.setPen(QPen(Qt::red, 1, Qt::DotLine));
+ painter.drawText(15, xAxis - curveScale - 10, QLatin1String("value"));
+
+ painter.setPen(QPen(Qt::red, 1, Qt::DotLine));
painter.drawLine(yAxis, xAxis - curveScale, yAxis + curveScale, xAxis - curveScale); // hor
painter.drawLine(yAxis + curveScale, xAxis, yAxis + curveScale, xAxis - curveScale); // ver
-
- QPoint currentPos(yAxis, xAxis);
-
+
+ QPoint start(yAxis, xAxis - curveScale * curve.valueForProgress(0));
+
painter.setPen(Qt::black);
QFont font = oldFont;
font.setPixelSize(oldFont.pixelSize() + 15);
painter.setFont(font);
painter.drawText(0, iconSize.height() - 20, iconSize.width(), 20, Qt::AlignHCenter, name);
-
- for (qreal t = 0; t < 1.0; t+=1.0/curveScale) {
+
+ QPainterPath curvePath;
+ curvePath.moveTo(start);
+ for (qreal t = 0; t <= 1.0; t+=1.0/curveScale) {
QPoint to;
to.setX(yAxis + curveScale * t);
to.setY(xAxis - curveScale * curve.valueForProgress(t));
- painter.drawLine(currentPos, to);
- currentPos = to;
+ curvePath.lineTo(to);
}
+ painter.setRenderHint(QPainter::Antialiasing, true);
+ painter.strokePath(curvePath, QColor(32, 32, 32));
+ painter.setRenderHint(QPainter::Antialiasing, false);
+
QString fileName(QString::fromAscii("qeasingcurve-%1.png").arg(name.toLower()));
printf("%s\n", qPrintable(fileName));
pix.save(QString::fromAscii("%1/%2").arg(output).arg(fileName), "PNG");
diff --git a/doc/src/dnd.qdoc b/doc/src/dnd.qdoc
index 8d3d79d..5ede20c 100644
--- a/doc/src/dnd.qdoc
+++ b/doc/src/dnd.qdoc
@@ -141,15 +141,17 @@
types of data that the widget accepts.
You must reimplement this function if you want to receive either
QDragMoveEvent or QDropEvent in your reimplementations of
- \l{QWidget::dragMoveEvent()}{dragMoveEvent()} and dropEvent().
+ \l{QWidget::dragMoveEvent()}{dragMoveEvent()} and
+ \l{QWidget::dropEvent()}{dropEvent()}.
- The following code shows how dragEnterEvent() can be reimplemented to
+ The following code shows how \l{QWidget::dragEnterEvent()}{dragEnterEvent()}
+ can be reimplemented to
tell the drag and drop system that we can only handle plain text:
\snippet doc/src/snippets/dropevents/window.cpp 3
- The dropEvent() is used to unpack dropped data and handle it in way that
- is suitable for your application.
+ The \l{QWidget::dropEvent()}{dropEvent()} is used to unpack dropped data
+ and handle it in way that is suitable for your application.
In the following code, the text supplied in the event is passed to a
QTextBrowser and a QComboBox is filled with the list of MIME types that
@@ -159,7 +161,8 @@
In this case, we accept the proposed action without checking what it is.
In a real world application, it may be necessary to return from the
- dropEvent() function without accepting the proposed action or handling
+ \l{QWidget::dropEvent()}{dropEvent()} function without accepting the
+ proposed action or handling
the data if the action is not relevant. For example, we may choose to
ignore Qt::LinkAction actions if we do not support
links to external sources in our application.
@@ -435,7 +438,7 @@
\title Porting to Qt 4 - Drag and Drop
\contentspage {Porting Guides}{Contents}
\previouspage Porting to Qt 4 - Virtual Functions
- \nextpage Porting .ui Files to Qt 4
+ \nextpage Porting UI Files to Qt 4
\ingroup porting
\brief An overview of the porting process for applications that use drag and drop.
diff --git a/doc/src/emb-charinput.qdoc b/doc/src/emb-charinput.qdoc
index c9c768c..dc4eed5 100644
--- a/doc/src/emb-charinput.qdoc
+++ b/doc/src/emb-charinput.qdoc
@@ -82,13 +82,13 @@
\section1 Available Keyboard Drivers
- \l {Qt for Embedded Linux} provides ready-made drivers for the SL5000, Yopy,
- Vr41XX, console (TTY) and USB protocols. Run the \c configure
- script to list the available drivers:
+ \l {Qt for Embedded Linux} provides ready-made drivers for the console
+ (TTY) and the standard Linux Input Subsystem (USB, PS/2, ...). Run the
+ \c configure script to list the available drivers:
\snippet doc/src/snippets/code/doc_src_emb-charinput.qdoc 0
- Note that the console keyboard driver also handles console
+ Note that only the console (TTY) keyboard driver handles console
switching (\bold{Ctrl+Alt+F1}, ..., \bold{Ctrl+Alt+F10}) and
termination (\bold{Ctrl+Alt+Backspace}).
@@ -105,6 +105,17 @@
detect the plugin, loading the driver into the server application
at run-time.
+ \section1 Keymaps
+
+ Starting with 4.6, \l {Qt for Embedded Linux} has gained support for
+ user defined keymaps. Keymap handling is supported by the built-in
+ keyboard drivers \c TTY and \c LinuxInput. Custom keyboard drivers can
+ use the existing keymap handling code via
+ QWSKeyboardHandler::processKeycode().
+
+ By default Qt will use an internal, compiled-in US keymap.
+ See the options below for how to load a different keymap.
+
\section1 Specifying a Keyboard Driver
To specify which driver to use, set the QWS_KEYBOARD environment
@@ -113,14 +124,41 @@
\snippet doc/src/snippets/code/doc_src_emb-charinput.qdoc 2
- The \c <driver> argument are \c SL5000, \c Yopy, \c VR41xx, \c
- TTY, \c USB and \l {QKbdDriverPlugin::keys()}{keys} identifying
- custom drivers, and the driver specific options are typically a
- device, e.g., \c /dev/tty0.
+ The \c <driver> arguments are \c TTY, \c LinuxInput and \l
+ {QKbdDriverPlugin::keys()}{keys} identifying custom drivers, and the
+ driver specific options are typically a device, e.g., \c /dev/tty0.
Multiple keyboard drivers can be specified in one go:
\snippet doc/src/snippets/code/doc_src_emb-charinput.qdoc 3
Input will be read from all specified drivers.
+
+ Currently the following options are supported by both the \c TTY and \c
+ LinuxInput driver:
+
+ \table
+ \header \o Option \o Description
+ \row \o \c /dev/xxx \o
+ Open the specified device, instead of the driver's default device.
+ \row \o \c repeat-delay=<d> \o
+ Time (in milliseconds) until auto-repeat kicks in.
+ \row \o \c repeat-rate=<r> \o
+ Time (in milliseconds) specifying the interval between auto-repeats.
+ \row \o \c keymap=xx.qmap \o
+ File name of a keymap file in Qt's \c qmap format. See \l {kmap2qmap}
+ for instructions on how to create thoes files.\br Note that the file
+ name can of course also be the name of a QResource.
+ \row \o \c disable-zap \o
+ Disable the QWS server "Zap" shortcut \bold{Ctrl+Alt+Backspace}
+ \row \o \c enable-compose \o
+ Activate Latin-1 composing features in the built-in US keymap. You can
+ use the right \c AltGr or right \c Alt is used as a dead key modifier,
+ while \c AltGr+. is the compose key. For example:
+ \list
+ \o \c AltGr + \c " + \c u = \uuml (u with diaeresis / umlaut u)
+ \o \c AltGr + \c . + \c / + \c o = \oslash (slashed o)
+ \endlist
+ \endtable
+
*/
diff --git a/doc/src/emb-kmap2qmap.qdoc b/doc/src/emb-kmap2qmap.qdoc
new file mode 100644
index 0000000..19d33c1
--- /dev/null
+++ b/doc/src/emb-kmap2qmap.qdoc
@@ -0,0 +1,84 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+ \page qt-embedded-kmap2qmap.html
+ \title kmap2qmap
+ \ingroup qt-embedded-linux
+
+ \c kmap2qmap is a tool to generate keymaps for use on Embedded Linux.
+ The source files have to be in standard Linux \c kmap format that is
+ e.g. understood by the kernel's \c loadkeys command. This means you
+ can use the following sources to generate \c qmap files:
+
+ \list
+ \o The \l {http://lct.sourceforge.net/}{Linux Console Tools (LCT)} project.
+ \o \l {http://www.x.org/}{Xorg} X11 keymaps can be converted to the \c
+ kmap format with the \c ckbcomp utility.
+ \o Since \c kmap files are plain text files, they can also be hand crafted.
+ \endlist
+
+ The generated \c qmap files are size optimized binary files.
+
+ \c kmap2qmap is a command line program, that needs at least 2 files as
+ parameters. The last one will be the generated \c .qmap file, while all
+ the others will be parsed as input \c .kmap files. For example:
+
+ \code
+ kmap2qmap i386/qwertz/de-latin1-nodeadkeys.kmap include/compose.latin1.inc de-latin1-nodeadkeys.qmap
+ \endcode
+
+ \c kmap2qmap does not support all the (pseudo) symbols that the Linux
+ kernel supports. If you are converting a standard keymap you will get a
+ lot of warnings for things like \c Show_Registers, \c Hex_A, etc.: you
+ can safely ignore those.
+
+ It also doesn't support numeric symbols (e.g. \c{keycode 1 = 4242},
+ instead of \c{keycode 1 = colon}), since these are deprecated and can
+ change from one kernel version to the other.
+
+ On the other hand, \c kmap2qmap supports one additional, Qt specific,
+ symbol: \c QtZap. The built-in US keymap has that symbol mapped tp
+ \c{Ctrl+Alt+Backspace} and it serves as a shortcut to kill your QWS
+ server (similiar to the X11 server).
+
+ See also \l {Qt for Embedded Linux Character Input}
+*/
diff --git a/doc/src/emb-pointer.qdoc b/doc/src/emb-pointer.qdoc
index b13dec0..49504fe 100644
--- a/doc/src/emb-pointer.qdoc
+++ b/doc/src/emb-pointer.qdoc
@@ -64,9 +64,10 @@
\section1 Available Drivers
\l{Qt for Embedded Linux} provides ready-made drivers for the MouseMan,
- IntelliMouse, Microsoft, NEC Vr41XX, Linux Touch Panel and Yopy
- protocols as well as the universal touch screen library,
- tslib. Run the \c configure script to list the available drivers:
+ IntelliMouse, Microsoft and Linux Touch Panel protocols, for the
+ standard Linux Input Subsystem as well as the universal touch screen
+ library, tslib. Run the \c configure script to list the available
+ drivers:
\if defined(QTOPIA_PHONE)
@@ -125,7 +126,7 @@
\snippet doc/src/snippets/code/doc_src_emb-pointer.qdoc 4
The valid values for the \c <driver> argument are \c MouseMan, \c
- IntelliMouse, \c Microsoft, \c VR41xx, \c LinuxTP, \c Yopy, \c
+ IntelliMouse, \c Microsoft, \c LinuxTP, \c LinuxInput, \c
Tslib and \l {QMouseDriverPlugin::keys()}{keys} identifying custom
drivers, and the driver specific options are typically a device,
e.g., \c /dev/mouse for mouse devices and \c /dev/ts for touch
@@ -137,14 +138,6 @@
Input will be read from all specified drivers.
- Note that the \c Vr41xx driver also accepts two optional
- arguments: \c press=<value> defining a mouse click (the default
- value is 750) and \c filter=<value> specifying the length of the
- filter used to eliminate noise (the default length is 3). For
- example:
-
- \snippet doc/src/snippets/code/doc_src_emb-pointer.qdoc 6
-
\table
\header \o The Tslib Mouse Driver
\row
diff --git a/doc/src/examples-overview.qdoc b/doc/src/examples-overview.qdoc
index 4313c43..3db4a45 100644
--- a/doc/src/examples-overview.qdoc
+++ b/doc/src/examples-overview.qdoc
@@ -238,6 +238,17 @@
These examples demonstrate the basic techniques used to take advantage of
OpenGL in Qt applications.
+ \section1 \l{Qt Examples#Multimedia}{Multimedia}
+
+ \l{Qt Examples#Multimedia}
+
+ Qt provides low-level audio support on linux,windows and mac platforms by default and
+ an audio plugin API to allow developers to implement there own audio support for
+ custom devices and platforms.
+
+ These examples demonstrate the basic techniques used to take advantage of
+ Audio API in Qt applications.
+
\section1 \l{Qt Examples#SQL}{SQL}
\l{Qt Examples#SQL}{\inlineimage sql-examples.png
diff --git a/doc/src/examples.qdoc b/doc/src/examples.qdoc
index 4ac4fb3..4ff683e 100644
--- a/doc/src/examples.qdoc
+++ b/doc/src/examples.qdoc
@@ -255,6 +255,14 @@
\o \l{phonon/musicplayer}{Music Player}\raisedaster
\endlist
+ \section1 Multimedia
+
+ \list
+ \o \l{multimedia/audio/audiodevices}{Audio Devices}\raisedaster
+ \o \l{multimedia/audio/audiooutput}{Audio Output}\raisedaster
+ \o \l{multimedia/audio/audioinput}{Audio Input}\raisedaster
+ \endlist
+
\section1 Qt Designer
\list
@@ -324,7 +332,6 @@
\o \l{statemachine/pingpong}{Ping Pong States}\raisedaster
\o \l{statemachine/trafficlight}{Traffic Light}\raisedaster
\o \l{statemachine/twowaybutton}{Two-way Button}\raisedaster
- \o \l{statemachine/tankgame}{Tank Game}\raisedaster
\endlist
\section1 Threads
@@ -418,6 +425,7 @@
\o \l{xmlpatterns/qobjectxmlmodel}{QObject XML Model Example}
\o \l{xmlpatterns/xquery/globalVariables}{C++ Source Code Analyzer Example}
\o \l{xmlpatterns/trafficinfo}{Traffic Info}\raisedaster
+ \o \l{xmlpatterns/schema}{XML Schema Validation}\raisedaster
\endlist
\section1 Inter-Process Communication
diff --git a/doc/src/examples/arrowpad.qdoc b/doc/src/examples/arrowpad.qdoc
index 9e9268c..fa19fbb 100644
--- a/doc/src/examples/arrowpad.qdoc
+++ b/doc/src/examples/arrowpad.qdoc
@@ -140,10 +140,10 @@
QLocale::system() can be influenced by setting the \c LANG
environment variable, for example. Notice that the use of a naming
convention that incorporates the locale for \c .qm message files,
- (and \c .ts files), makes it easy to implement choosing the
+ (and TS files), makes it easy to implement choosing the
translation file according to locale.
- If there is no \c .qm message file for the locale chosen the original
+ If there is no QM message file for the locale chosen the original
source text will be used and no error raised.
\section1 Translating to French and Dutch
@@ -194,9 +194,9 @@
\endlist
We have to convert the \c tt1_fr.ts and \c tt1_nl.ts translation source
- files into \c .qm files. We could use \e {Qt Linguist} as we've done
+ files into QM files. We could use \e {Qt Linguist} as we've done
before; however using the command line tool \c lrelease ensures that
- \e all the \c .qm files for the application are created without us
+ \e all the QM files for the application are created without us
having to remember to load and \gui File|Release each one
individually from \e {Qt Linguist}.
diff --git a/doc/src/examples/audiodevices.qdoc b/doc/src/examples/audiodevices.qdoc
new file mode 100644
index 0000000..3b8cdd8
--- /dev/null
+++ b/doc/src/examples/audiodevices.qdoc
@@ -0,0 +1,54 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+ \example multimedia/audio/audiodevices
+ \title Audio Devices Example
+
+ The Audio Devices example demonstrates the basic use of QAudioDeviceInfo class
+ provided with Qt.
+
+ Qt provides the QAudioDeviceInfo class to enable audio querying within
+ a standard application user interface.
+
+ This example allows you to browse audio devices available and try out different
+ configurations to see if they are supported.
+*/
diff --git a/doc/src/examples/audioinput.qdoc b/doc/src/examples/audioinput.qdoc
new file mode 100644
index 0000000..5dfe76e
--- /dev/null
+++ b/doc/src/examples/audioinput.qdoc
@@ -0,0 +1,54 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+ \example multimedia/audio/audioinput
+ \title AudioInput Example
+
+ The Audio Input example demonstrates the basic use of QAudioInput class
+ provided with Qt.
+
+ Qt provides the QAudioInput class to enable audio functionality within
+ a standard application user interface.
+
+ This example uses a fast-fourier transform on the input audio from the microphone
+ and displays the output.
+*/
diff --git a/doc/src/examples/audiooutput.qdoc b/doc/src/examples/audiooutput.qdoc
new file mode 100644
index 0000000..9c8a75f
--- /dev/null
+++ b/doc/src/examples/audiooutput.qdoc
@@ -0,0 +1,52 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+ \example multimedia/audio/audiooutput
+ \title Audio Output Example
+
+ The Audio Output example demonstrates the basic use of the QAudioOutput class
+ provided with Qt.
+
+ This example provides a tone generator to supply continuous audio playback.
+ The first button allows pause and resume of the playback.
+ The second button allows toggling between push and pull modes of operation.
+*/
diff --git a/doc/src/examples/calculatorform.qdoc b/doc/src/examples/calculatorform.qdoc
index 7cbf2ac..90eef3b 100644
--- a/doc/src/examples/calculatorform.qdoc
+++ b/doc/src/examples/calculatorform.qdoc
@@ -45,8 +45,8 @@
The Calculator Form Example shows how to use a form created with
\QD in an application by using the user interface information from
- a QWidget subclass. We use \l{Using a Designer .ui File in Your Application}
- {uic's auto-connection} feature to automatically connect signals
+ a QWidget subclass. We use \l{Using a Designer UI File in Your Application}
+ {uic's auto-connection} feature to automatically connect signals
from widgets on the form to slots in our code.
\image calculatorform-example.png Screenshot of the Calculator Form example
@@ -59,7 +59,7 @@
\section1 Preparation
The user interface for this example is designed completely using \QD. The
- result is a .ui file describing the form, the widgets used, any signal-slot
+ result is a UI file describing the form, the widgets used, any signal-slot
connections between them, and other standard user interface properties.
To ensure that the example can use this file, we need to include a \c FORMS
diff --git a/doc/src/examples/collidingmice-example.qdoc b/doc/src/examples/collidingmice-example.qdoc
index 5b124f9..f627fbf 100644
--- a/doc/src/examples/collidingmice-example.qdoc
+++ b/doc/src/examples/collidingmice-example.qdoc
@@ -95,11 +95,11 @@
the global qrand() function which is a thread-safe version of the
standard C++ rand() function.
- Then we call the \l {QGraphicsItem::rotate()}{rotate()} function
+ Then we call the \l {QGraphicsItem::setRotation()}{setRotation()} function
inherited from QGraphicsItem. Items live in their own local
coordinate system. Their coordinates are usually centered around
(0, 0), and this is also the center for all transformations. By
- calling the item's \l {QGraphicsItem::rotate()}{rotate()} function
+ calling the item's \l {QGraphicsItem::setRotation()}{setRotation()} function
we alter the direction in which the mouse will start moving.
When the QGraphicsScene decides to advance the scene a frame it will call
diff --git a/doc/src/examples/completer.qdoc b/doc/src/examples/completer.qdoc
index 9aaaf66..3805a7c 100644
--- a/doc/src/examples/completer.qdoc
+++ b/doc/src/examples/completer.qdoc
@@ -100,9 +100,9 @@
\section1 MainWindow Class Definition
- The \c MainWindow class is a subclass of QMainWindow and implements four
- private slots - \c about(), \c changeCase(), \c changeMode(), and
- \c changeModel().
+ The \c MainWindow class is a subclass of QMainWindow and implements five
+ private slots - \c about(), \c changeCase(), \c changeMode(), \c changeModel(),
+ and \c changeMaxVisible().
\snippet examples/tools/completer/mainwindow.h 0
@@ -126,6 +126,9 @@
\snippet examples/tools/completer/mainwindow.cpp 0
+ The \c maxVisibleSpinBox is created and determines the number of visible
+ item in the completer
+
The \c wrapCheckBox is then set up. This \c checkBox determines if the
\c{completer}'s \l{QCompleter::setWrapAround()}{setWrapAround()} property
is enabled or disabled.
@@ -242,10 +245,15 @@
\snippet examples/tools/completer/mainwindow.cpp 14
- The \c about() function provides a brief description about the example.
+ The \c changeMaxVisible() update the maximum number of visible items in
+ the completer.
\snippet examples/tools/completer/mainwindow.cpp 15
+ The \c about() function provides a brief description about the example.
+
+ \snippet examples/tools/completer/mainwindow.cpp 16
+
\section1 \c main() Function
The \c main() function instantiates QApplication and \c MainWindow and
diff --git a/doc/src/examples/googlechat.qdoc b/doc/src/examples/googlechat.qdoc
index 42a0198..7c9d7db 100644
--- a/doc/src/examples/googlechat.qdoc
+++ b/doc/src/examples/googlechat.qdoc
@@ -48,4 +48,5 @@
\image googlechat-example.png
+ \note The Google Talk instant messaging service is a registered trademark of Google Inc.
*/
diff --git a/doc/src/examples/googlesuggest.qdoc b/doc/src/examples/googlesuggest.qdoc
index 1752420..e3d2b1f 100644
--- a/doc/src/examples/googlesuggest.qdoc
+++ b/doc/src/examples/googlesuggest.qdoc
@@ -48,4 +48,5 @@
\image googlesuggest-example.png
+ \note The Google Suggest suggestion service is a registered trademark of Google Inc.
*/
diff --git a/doc/src/examples/helloscript.qdoc b/doc/src/examples/helloscript.qdoc
index a18e4ad..1b0f43c 100644
--- a/doc/src/examples/helloscript.qdoc
+++ b/doc/src/examples/helloscript.qdoc
@@ -121,7 +121,7 @@
window). Don't forget the exclamation mark!
Click the \gui Done checkbox and choose \gui File|Save from the
- menu bar. The \c .ts file will no longer contain
+ menu bar. The TS file will no longer contain
\snippet doc/src/snippets/code/doc_src_examples_hellotr.qdoc 3
@@ -129,11 +129,11 @@
\snippet doc/src/snippets/code/doc_src_examples_hellotr.qdoc 4
- To see the application running in Latin, we have to generate a \c .qm
- file from the \c .ts file. Generating a \c .qm file can be achieved
- either from within \e {Qt Linguist} (for a single \c .ts file), or
- by using the command line program \c lrelease which will produce one \c
- .qm file for each of the \c .ts files listed in the project file.
+ To see the application running in Latin, we have to generate a QM
+ file from the TS file. Generating a QM file can be achieved
+ either from within \e {Qt Linguist} (for a single TS file), or
+ by using the command line program \c lrelease which will produce one
+ QM file for each of the TS files listed in the project file.
Generate \c hellotr_la.qm from \c hellotr_la.ts by choosing
\gui File|Release from \e {Qt Linguist}'s menu bar and pressing
\gui Save in the file save dialog that pops up. Now run the \c helloscript
diff --git a/doc/src/examples/hellotr.qdoc b/doc/src/examples/hellotr.qdoc
index bb38737..18e0715 100644
--- a/doc/src/examples/hellotr.qdoc
+++ b/doc/src/examples/hellotr.qdoc
@@ -108,12 +108,12 @@
Note that the file extension is \c .ts, not \c .qm. The \c .ts
translation source format is designed for use during the
application's development. Programmers or release managers run
- the \c lupdate program to generate and update \c .ts files with
+ the \c lupdate program to generate and update TS files with
the source text that is extracted from the source code.
- Translators read and update the \c .ts files using \e {Qt
+ Translators read and update the TS files using \e {Qt
Linguist} adding and editing their translations.
- The \c .ts format is human-readable XML that can be emailed directly
+ The TS format is human-readable XML that can be emailed directly
and is easy to put under version control. If you edit this file
manually, be aware that the default encoding for XML is UTF-8, not
Latin1 (ISO 8859-1). One way to type in a Latin1 character such as
@@ -121,8 +121,8 @@
"\&#xf8;". This will work for any Unicode 4.0 character.
Once the translations are complete the \c lrelease program is used to
- convert the \c .ts files into the \c .qm Qt message file format. The
- \c .qm format is a compact binary format designed to deliver very
+ convert the TS files into the QM Qt message file format. The
+ QM format is a compact binary format designed to deliver very
fast lookup performance. Both \c lupdate and \c lrelease read all the
project's source and header files (as specified in the HEADERS and
SOURCES lines of the project file) and extract the strings that
@@ -131,7 +131,7 @@
\c lupdate is used to create and update the message files (\c hellotr_la.ts
in this case) to keep them in sync with the source code. It is safe to
run \c lupdate at any time, as \c lupdate does not remove any
- information. For example, you can put it in the makefile, so the \c .ts
+ information. For example, you can put it in the makefile, so the TS
files are updated whenever the source changes.
Try running \c lupdate right now, like this:
@@ -151,7 +151,7 @@
We will use \e {Qt Linguist} to provide the translation, although
you can use any XML or plain text editor to enter a translation into a
- \c .ts file.
+ TS file.
To start \e {Qt Linguist}, type
@@ -163,7 +163,7 @@
window). Don't forget the exclamation mark!
Click the \gui Done checkbox and choose \gui File|Save from the
- menu bar. The \c .ts file will no longer contain
+ menu bar. The TS file will no longer contain
\snippet doc/src/snippets/code/doc_src_examples_hellotr.qdoc 3
@@ -173,11 +173,11 @@
\section1 Running the Application in Latin
- To see the application running in Latin, we have to generate a \c .qm
- file from the \c .ts file. Generating a \c .qm file can be achieved
- either from within \e {Qt Linguist} (for a single \c .ts file), or
- by using the command line program \c lrelease which will produce one \c
- .qm file for each of the \c .ts files listed in the project file.
+ To see the application running in Latin, we have to generate a QM
+ file from the TS file. Generating a QM file can be achieved
+ either from within \e {Qt Linguist} (for a single TS file), or
+ by using the command line program \c lrelease which will produce one
+ QM file for each of the TS files listed in the project file.
Generate \c hellotr_la.qm from \c hellotr_la.ts by choosing
\gui File|Release from \e {Qt Linguist}'s menu bar and pressing
\gui Save in the file save dialog that pops up. Now run the \c hellotr
diff --git a/doc/src/examples/htmlinfo.qdoc b/doc/src/examples/htmlinfo.qdoc
index af236e1..e2be964 100644
--- a/doc/src/examples/htmlinfo.qdoc
+++ b/doc/src/examples/htmlinfo.qdoc
@@ -1,9 +1,9 @@
/****************************************************************************
**
-** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
-** This file is part of the $MODULE$ of the Qt Toolkit.
+** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/doc/src/examples/moveblocks.qdoc b/doc/src/examples/moveblocks.qdoc
index 2bdcca5..d11af91 100644
--- a/doc/src/examples/moveblocks.qdoc
+++ b/doc/src/examples/moveblocks.qdoc
@@ -1,7 +1,7 @@
/****************************************************************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the documentation of the Qt Toolkit.
**
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/doc/src/examples/multipleinheritance.qdoc b/doc/src/examples/multipleinheritance.qdoc
index 5a77275..1622fb0 100644
--- a/doc/src/examples/multipleinheritance.qdoc
+++ b/doc/src/examples/multipleinheritance.qdoc
@@ -103,6 +103,6 @@
There are various approaches to include forms into applications. The
Multiple Inheritance approach is just one of them. See
- \l{Using a Designer .ui File in Your Application} for more information on
+ \l{Using a Designer UI File in Your Application} for more information on
the other approaches available.
*/
diff --git a/doc/src/examples/qtscripttetrix.qdoc b/doc/src/examples/qtscripttetrix.qdoc
index c94697a..fb2d537 100644
--- a/doc/src/examples/qtscripttetrix.qdoc
+++ b/doc/src/examples/qtscripttetrix.qdoc
@@ -57,7 +57,7 @@
\section1 Setting up the GUI
- The graphical user interface is defined in a \c{.ui} file, creating
+ The graphical user interface is defined in a UI file, created
using Qt Designer, and is set up in the example's C++ \c{main.cpp} file.
\snippet examples/script/qstetrix/main.cpp 0
diff --git a/doc/src/examples/schema.qdoc b/doc/src/examples/schema.qdoc
new file mode 100644
index 0000000..675158f
--- /dev/null
+++ b/doc/src/examples/schema.qdoc
@@ -0,0 +1,143 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+ \example xmlpatterns/schema
+ \title XML Schema Validation Example
+
+ This example shows how to use QtXmlPatterns to validate XML with
+ a W3C XML Schema.
+
+ \tableofcontents
+
+ \section1 Introduction
+
+ The example application shows different XML schema definitions and
+ for every definition two XML instance documents, one that is valid
+ according to the schema and one that is not.
+ The user can select the valid or invalid instance document, change
+ it and validate it again.
+
+ \section2 The User Interface
+
+ The UI for this example was created using \l{Qt Designer Manual} {Qt
+ Designer}:
+
+ \image schema-example.png
+
+ The UI consists of three parts, at the top the XML schema \l{QComboBox} {selection}
+ and the schema \l{QTextBrowser} {viewer}, below the XML instance \l{QComboBox} {selection}
+ and the instance \l{QTextEdit} {editor} and at the bottom the validation status \l{QLabel} {label}
+ next to the validation \l{QPushButton} {button}.
+
+ \section2 Validating XML Instance Documents
+
+ You can select one of the three predefined XML schemas and for each schema
+ an valid or invalid instance document. A click on the 'Validate' button will
+ validate the content of the XML instance editor against the schema from the
+ XML schema viewer. As you can modify the content of the instance editor, different
+ instances can be tested and validation error messages analysed.
+
+ \section1 Code Walk-Through
+
+ The example's main() function creates the standard instance of
+ QApplication. Then it creates an instance of the mainwindow class, shows it,
+ and starts the Qt event loop:
+
+ \snippet examples/xmlpatterns/schema/main.cpp 0
+
+ \section2 The UI Class: MainWindow
+
+ The example's UI is a conventional Qt GUI application inheriting
+ QMainWindow and the class generated by \l{Qt Designer Manual} {Qt
+ Designer}:
+
+ \snippet examples/xmlpatterns/schema/mainwindow.h 0
+
+ The constructor fills the schema and instance \l{QComboBox} selections with the predefined
+ schemas and instances and connects their \l{QComboBox::currentIndexChanged()} {currentIndexChanged()}
+ signals to the window's \c{schemaSelected()} resp. \c{instanceSelected()} slot.
+ Furthermore the signal-slot connections for the validation \l{QPushButton} {button}
+ and the instance \l{QTextEdit} {editor} are set up.
+
+ The call to \c{schemaSelected(0)} and \c{instanceSelected(0)} will trigger the validation
+ of the initial Contact Schema example.
+
+ \snippet examples/xmlpatterns/schema/mainwindow.cpp 0
+
+ In the \c{schemaSelected()} slot the content of the instance \l{QComboBox} {selection}
+ is adapted to the selected schema and the corresponding schema is loaded from the
+ \l{The Qt Resource System} {resource file} and displayed in the schema \l{QTextBrowser} {viewer}.
+ At the end of the method a revalidation is triggered.
+
+ \snippet examples/xmlpatterns/schema/mainwindow.cpp 1
+
+ In the \c{instanceSelected()} slot the selected instance is loaded from the
+ \l{The Qt Resource System} {resource file} and loaded into the instance \l{QTextEdit} {editor}
+ an the revalidation is triggered again.
+
+ \snippet examples/xmlpatterns/schema/mainwindow.cpp 2
+
+ The \c{validate()} slot does the actual work in this example.
+ At first it stores the content of the schema \l{QTextBrowser} {viewer} and the
+ \l{QTextEdit} {editor} into temporary \l{QByteArray} {variables}.
+ Then it instanciates a \c{MessageHandler} object which inherits from
+ \l{QAbstractMessageHandler} {QAbstractMessageHandler} and is a convenience
+ class to store error messages from the XmlPatterns system.
+
+ \snippet examples/xmlpatterns/schema/mainwindow.cpp 4
+
+ After the \l{QXmlSchema} {QXmlSchema} is instanciated and the message handler set
+ on it, the \l{QXmlSchema::load()} {load()} method is called with the schema data as argument.
+ If the schema is invalid or a parsing error has occured, \l{QXmlSchema::isValid()} {isValid()}
+ returns \c{false} and the error is flagged in \c{errorOccurred}.
+ If the loading was successful, a \l{QXmlSchemaValidator} {QXmlSchemaValidator} is
+ instanciated and the schema passed in the constructor.
+ A call to \l{QXmlSchemaValidator::validate()} {validate()} will validate the passed
+ XML instance data against the XML schema. The return value of that method signals
+ whether the validation was successful.
+ Depending on the success the status \l{QLabel} {label} is set to 'validation successful'
+ or the error message stored in the \c{MessageHandler}
+
+ The rest of the code does only some fancy coloring and eyecandy.
+
+ \snippet examples/xmlpatterns/schema/mainwindow.cpp 3
+*/
diff --git a/doc/src/examples/scribble.qdoc b/doc/src/examples/scribble.qdoc
index 3a5e018..f32440a 100644
--- a/doc/src/examples/scribble.qdoc
+++ b/doc/src/examples/scribble.qdoc
@@ -354,7 +354,7 @@
To retrieve a new pen width in the \c penWidth() slot, we use
QInputDialog. The QInputDialog class provides a simple
convenience dialog to get a single value from the user. We use
- the static QInputDialog::getInteger() function, which combines a
+ the static QInputDialog::getInt() function, which combines a
QLabel and a QSpinBox. The QSpinBox is initialized with the
scribble area's pen width, allows a range from 1 to 50, a step of
1 (meaning that the up and down arrow increment or decrement the
diff --git a/doc/src/examples/simpletextviewer.qdoc b/doc/src/examples/simpletextviewer.qdoc
index 87eae57..2531a86 100644
--- a/doc/src/examples/simpletextviewer.qdoc
+++ b/doc/src/examples/simpletextviewer.qdoc
@@ -198,12 +198,7 @@
<file>openfile.html</file>
<file>wildcardmatching.html</file>
<file>images/browse.png</file>
- <file>images/fadedfilemenu.png</file>
- <file>images/filedialog.png</file>
- <file>images/handbook.png</file>
- <file>images/mainwindow.png</file>
- <file>images/open.png</file>
- <file>images/wildcard.png</file>
+ <file>images/*.png</file>
</files>
</filterSection>
</QtHelpProject>
diff --git a/doc/src/examples/svggenerator.qdoc b/doc/src/examples/svggenerator.qdoc
index 09fe6e1..dd7459a 100644
--- a/doc/src/examples/svggenerator.qdoc
+++ b/doc/src/examples/svggenerator.qdoc
@@ -55,8 +55,8 @@
The example consists of two classes: \c Window and \c DisplayWidget.
The \c Window class contains the application logic and constructs the user
- interface from a Qt Designer \c{.ui} file as described in the
- \l{Using a Designer .ui File in Your Application#The Multiple Inheritance Approach}{Qt Designer manual}.
+ interface from a Qt Designer UI file as described in the
+ \l{Using a Designer UI File in Your Application#The Multiple Inheritance Approach}{Qt Designer manual}.
It also contains the code to write an SVG file.
The \c DisplayWidget class performs all the work of painting a picture on
diff --git a/doc/src/examples/tablet.qdoc b/doc/src/examples/tablet.qdoc
index e412815..61c140f 100644
--- a/doc/src/examples/tablet.qdoc
+++ b/doc/src/examples/tablet.qdoc
@@ -275,7 +275,10 @@
In this function we draw on the image based on the movement of the
device. If the device used on the tablet is a stylus we want to draw a
- line between the positions of the stylus recorded in \c polyLine.
+ line between the positions of the stylus recorded in \c polyLine. We
+ also assume that this is a reasonable handling of any unknown device,
+ but update the statusbar with a warning so that the user can see that
+ for his tablet he might have to implement special handling.
If it is an airbrush we want to draw a circle of points with a
point density based on the tangential pressure, which is the position
of the finger wheel on the airbrush. We use the Qt::BrushStyle to
diff --git a/doc/src/examples/tankgame.qdoc b/doc/src/examples/tankgame.qdoc
deleted file mode 100644
index 536e582..0000000
--- a/doc/src/examples/tankgame.qdoc
+++ /dev/null
@@ -1,117 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-/*!
- \example statemachine/tankgame
- \title Tank Game Example
-
- The Tank Game example is part of the in \l{The State Machine Framework}. It shows how to use
- parallel states to implement artificial intelligence controllers that run in parallel, and error
- states to handle run-time errors in parts of the state graph created by external plugins.
-
- \image tankgame-example.png
-
- In this example we write a simple game. The application runs a state machine with two main
- states: A "stopped" state and a "running" state. The user can load plugins from the disk by
- selecting the "Add tank" menu item.
-
- When the "Add tank" menu item is selected, the "plugins" subdirectory in the example's
- directory is searched for compatible plugins. If any are found, they will be listed in a
- dialog box created using QInputDialog::getItem().
-
- \snippet examples/statemachine/tankgame/mainwindow.cpp 1
-
- If the user selects a plugin, the application will construct a TankItem object, which inherits
- from QGraphicsItem and QObject, and which implements an agreed-upon interface using the
- meta-object mechanism.
-
- \snippet examples/statemachine/tankgame/tankitem.h 0
-
- The tank item will be passed to the plugin's create() function. This will in turn return a
- QState object which is expected to implement an artificial intelligence which controls the
- tank and attempts to destroy other tanks it detects.
-
- \snippet examples/statemachine/tankgame/mainwindow.cpp 2
-
- Each returned QState object becomes a descendant of a \c region in the "running" state, which is
- defined as a parallel state. This means that entering the "running" state will cause each of the
- plugged-in QState objects to be entered simultaneously, allowing the tanks to run independently
- of each other.
-
- \snippet examples/statemachine/tankgame/mainwindow.cpp 0
-
- The maximum number of tanks on the map is four, and when this number is reached, the
- "Add tank" menu item should be disabled. This is implemented by giving the "stopped" state two
- children which define whether the map is full or not.
-
- \snippet examples/statemachine/tankgame/mainwindow.cpp 5
-
- To make sure that we go into the correct child state when returning from the "running" state
- (if the "Stop game" menu item is selected while the game is running) we also give the "stopped"
- state a history state which we make the initial state of "stopped" state.
-
- \snippet examples/statemachine/tankgame/mainwindow.cpp 3
-
- Since part of the state graph is defined by external plugins, we have no way of controlling
- whether they contain errors. By default, run-time errors are handled in the state machine by
- entering a top level state which prints out an error message and never exits. If we were to
- use this default behavior, a run-time error in any of the plugins would cause the "running"
- state to exit, and thus all the other tanks to stop running as well. A better solution would
- be if the broken plugin was disabled and the rest of the tanks allowed to continue as before.
-
- This is done by setting the error state of the plugin's top-most state to a special error state
- defined specifically for the plugin in question.
-
- \snippet examples/statemachine/tankgame/mainwindow.cpp 4
-
- If a run-time error occurs in \c pluginState or any of its descendants, the state machine will
- search the hierarchy of ancestors until it finds a state whose error state is different from
- \c null. (Note that if we are worried that a plugin could inadvertedly be overriding our
- error state, we could search the descendants of \c pluginState and verify that their error
- states are set to \c null before accepting the plugin.)
-
- The specialized \c errorState sets the "enabled" property of the tank item in question to false,
- causing it to be painted with a red cross over it to indicate that it is no longer running.
- Since the error state is a child of the same region in the parallel "running" state as
- \c pluginState, it will not exit the "running" state, and the other tanks will continue running
- without disruption.
-
-*/
diff --git a/doc/src/examples/textfinder.qdoc b/doc/src/examples/textfinder.qdoc
index adbbd0d..acfbd0f 100644
--- a/doc/src/examples/textfinder.qdoc
+++ b/doc/src/examples/textfinder.qdoc
@@ -45,7 +45,7 @@
The Text Finder example demonstrates how to dynamically process forms
using the QtUiTools module. Dynamic form processing enables a form to
- be processed at run-time only by changing the .ui file for the project.
+ be processed at run-time only by changing the UI file for the project.
The program allows the user to look up a particular word within the
contents of a text file. This text file is included in the project's
resource and is loaded into the display at startup.
@@ -95,7 +95,7 @@
\snippet examples/uitools/textfinder/textfinder.h 0
The slot \c{on_find_Button_clicked()} is a slot named according to the
- \l{Using a Designer .ui File in Your Application#Automatic Connections}
+ \l{Using a Designer UI File in Your Application#Automatic Connections}
{Automatic Connection} naming convention required
by \c uic.
diff --git a/doc/src/examples/transformations.qdoc b/doc/src/examples/transformations.qdoc
index a449d4c..a5f92a8 100644
--- a/doc/src/examples/transformations.qdoc
+++ b/doc/src/examples/transformations.qdoc
@@ -85,10 +85,10 @@
All the tranformation operations operate on QPainter's
tranformation matrix that you can retrieve using the
- QPainter::matrix() function. A matrix transforms a point in the
+ QPainter::worldTransform() function. A matrix transforms a point in the
plane to another point. For more information about the
transformation matrix, see the \l {The Coordinate System} and
- QMatrix documentation.
+ QTransform documentation.
\snippet examples/painting/transformations/renderarea.h 0
@@ -375,7 +375,7 @@
All the tranformation operations operate on QPainter's
tranformation matrix. For more information about the
transformation matrix, see the \l {The Coordinate System} and
- QMatrix documentation.
+ QTransform documentation.
The Qt reference documentation provides several painting
demos. Among these is the \l {demos/affine}{Affine
diff --git a/doc/src/examples/worldtimeclockbuilder.qdoc b/doc/src/examples/worldtimeclockbuilder.qdoc
index 55246e9..f38062a 100644
--- a/doc/src/examples/worldtimeclockbuilder.qdoc
+++ b/doc/src/examples/worldtimeclockbuilder.qdoc
@@ -66,7 +66,7 @@
generate a dependency on the \c libQtUiTools library containing the QtUiTools
classes.
- Note that we do not inform \c qmake about any .ui files, and so none will
+ Note that we do not inform \c qmake about any UI files, and so none will
be processed and built into the application. The resource file contains
an entry for the particular form that we wish to use:
diff --git a/doc/src/exceptionsafety.qdoc b/doc/src/exceptionsafety.qdoc
index 580cb17..1378f24 100644
--- a/doc/src/exceptionsafety.qdoc
+++ b/doc/src/exceptionsafety.qdoc
@@ -1,7 +1,7 @@
/****************************************************************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the documentation of the Qt Toolkit.
**
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/doc/src/functions.qdoc b/doc/src/functions.qdoc
deleted file mode 100644
index e4c8c57..0000000
--- a/doc/src/functions.qdoc
+++ /dev/null
@@ -1,63 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-/****************************************************************************
-**
-** Documentation for class overview.
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the Qt GUI Toolkit.
-** EDITIONS: FREE, PROFESSIONAL, ENTERPRISE
-**
-****************************************************************************/
-
-/*!
- \page functions.html
- \title Member Function Index
- \ingroup classlists
-
- Here is the list of all the documented member functions in the Qt
- API with links to the class documentation for each function.
-
- \generatelist functionindex
-*/
diff --git a/doc/src/graphicsview.qdoc b/doc/src/graphicsview.qdoc
index 4c408cd..89f9f3d 100644
--- a/doc/src/graphicsview.qdoc
+++ b/doc/src/graphicsview.qdoc
@@ -141,7 +141,7 @@
to scene coordinates where appropriate), before sending the events
to the visualized scene.
- Using its transformation matrix, QGraphicsView::matrix(), the view can
+ Using its transformation matrix, QGraphicsView::transform(), the view can
\e transform the scene's coordinate system. This allows advanced
navigation features such as zooming and rotation. For convenience,
QGraphicsView also provides functions for translating between view and
@@ -174,7 +174,7 @@
also provides many functions for mapping coordinates between the item
and the scene, and from item to item. Also, like QGraphicsView, it can
transform its coordinate system using a matrix:
- QGraphicsItem::matrix(). This is useful for rotating and scaling
+ QGraphicsItem::transform(). This is useful for rotating and scaling
individual items.
Items can contain other items (children). Parent items'
@@ -201,6 +201,9 @@
using an untransformed view, one unit on the scene is represented by
one pixel on the screen.
+ \note The inverted Y-axis coordinate system (where \c y grows upwards)
+ is unsupported as Graphics Views uses Qt's coordinate system.
+
There are three effective coordinate systems in play in Graphics View:
Item coordinates, scene coordinates, and view coordinates. To simplify
your implementation, Graphics View provides convenience functions that
@@ -458,11 +461,7 @@
By making an item a child of another, you can achieve the most
essential feature of item grouping: the items will move together, and
- all transformations are propagated from parent to child. QGraphicsItem
- can also handle all events for its children (see
- QGraphicsItem::setHandlesChildEvents()). This allows the parent item
- to act on behalf of its children, effectively treating all items as
- one.
+ all transformations are propagated from parent to child.
In addition, QGraphicsItemGroup is a special item that combines child
event handling with a useful interface for adding and removing items
diff --git a/doc/src/groups.qdoc b/doc/src/groups.qdoc
index 2733853..f7296a3 100644
--- a/doc/src/groups.qdoc
+++ b/doc/src/groups.qdoc
@@ -40,24 +40,6 @@
****************************************************************************/
/*!
- \group groups
- \title Grouped Classes
- \ingroup classlists
-
- This page provides a way of navigating Qt's classes by grouping
- related classes together. Some classes may appear in more than one group.
-
- \generatelist{related}
-
- \omit
- \row
- \o \l{Component Model}
- \o Interfaces and helper classes for the Qt Component Model.
- \endomit
-
-*/
-
-/*!
\group advanced
\title Advanced Widgets
\ingroup groups
@@ -147,12 +129,6 @@
*/
-/* \group componentmodel
- \title Component Model
-
- These classes and interfaces form the basis of the \l{Qt Component Model}.
-
-*/
/*!
\group database
@@ -226,22 +202,8 @@
*/
/*!
- \group explicitly-shared
- \ingroup groups
-
- \title Explicitly Shared Classes
- \brief Classes that use explicit sharing to manage internal data.
-
- \keyword explicit sharing
- \keyword explicitly shared
-
- Unlike many of Qt's data types, which use \l{implicit sharing}, these
- classes use explicit sharing to manage internal data.
-*/
-
-/*!
\group geomanagement
- \title Layout Management
+ \title Layout Classes
\ingroup groups
\brief Classes handling automatic resizing and moving of widgets, for
@@ -401,103 +363,6 @@
*/
/*!
- \group shared
- \title Implicitly Shared Classes
- \ingroup architecture
- \ingroup groups
-
- \brief Classes that use reference counting for fast copying.
-
- \keyword implicit data sharing
- \keyword implicit sharing
- \keyword implicitly shared
- \keyword reference counting
- \keyword shared implicitly
- \keyword shared classes
-
- Many C++ classes in Qt use implicit data sharing to maximize
- resource usage and minimize copying. Implicitly shared classes are
- both safe and efficient when passed as arguments, because only a
- pointer to the data is passed around, and the data is copied only
- if and when a function writes to it, i.e., \e {copy-on-write}.
-
- \tableofcontents
-
- \section1 Overview
-
- A shared class consists of a pointer to a shared data block that
- contains a reference count and the data.
-
- When a shared object is created, it sets the reference count to 1. The
- reference count is incremented whenever a new object references the
- shared data, and decremented when the object dereferences the shared
- data. The shared data is deleted when the reference count becomes
- zero.
-
- \keyword deep copy
- \keyword shallow copy
-
- When dealing with shared objects, there are two ways of copying an
- object. We usually speak about \e deep and \e shallow copies. A deep
- copy implies duplicating an object. A shallow copy is a reference
- copy, i.e. just a pointer to a shared data block. Making a deep copy
- can be expensive in terms of memory and CPU. Making a shallow copy is
- very fast, because it only involves setting a pointer and incrementing
- the reference count.
-
- Object assignment (with operator=()) for implicitly shared objects is
- implemented using shallow copies.
-
- The benefit of sharing is that a program does not need to duplicate
- data unnecessarily, which results in lower memory use and less copying
- of data. Objects can easily be assigned, sent as function arguments,
- and returned from functions.
-
- Implicit sharing takes place behind the scenes; the programmer
- does not need to worry about it. Even in multithreaded
- applications, implicit sharing takes place, as explained in
- \l{Threads and Implicit Sharing}.
-
- \section1 Implicit Sharing in Detail
-
- Implicit sharing automatically detaches the object from a shared
- block if the object is about to change and the reference count is
- greater than one. (This is often called \e {copy-on-write} or
- \e {value semantics}.)
-
- An implicitly shared class has total control of its internal data. In
- any member functions that modify its data, it automatically detaches
- before modifying the data.
-
- The QPen class, which uses implicit sharing, detaches from the shared
- data in all member functions that change the internal data.
-
- Code fragment:
- \snippet doc/src/snippets/code/doc_src_groups.qdoc 0
-
- \section1 List of Classes
-
- The classes listed below automatically detach from common data if
- an object is about to be changed. The programmer will not even
- notice that the objects are shared. Thus you should treat
- separate instances of them as separate objects. They will always
- behave as separate objects but with the added benefit of sharing
- data whenever possible. For this reason, you can pass instances
- of these classes as arguments to functions by value without
- concern for the copying overhead.
-
- Example:
- \snippet doc/src/snippets/code/doc_src_groups.qdoc 1
-
- In this example, \c p1 and \c p2 share data until QPainter::begin()
- is called for \c p2, because painting a pixmap will modify it.
-
- \warning Do not copy an implicitly shared container (QMap,
- QVector, etc.) while you are iterating over it using an non-const
- \l{STL-style iterator}.
-*/
-
-/*!
\group ssl
\title Secure Sockets Layer (SSL) Classes
\ingroup groups
diff --git a/doc/src/hierarchy.qdoc b/doc/src/hierarchy.qdoc
deleted file mode 100644
index 4a278dc..0000000
--- a/doc/src/hierarchy.qdoc
+++ /dev/null
@@ -1,52 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-/*!
- \page hierarchy.html
-
- \title Class Inheritance Hierarchy
- \ingroup classlists
-
- This list shows the C++ class inheritance relations between the
- classes in the Qt API.
-
- \generatelist classhierarchy
-*/
diff --git a/doc/src/i18n.qdoc b/doc/src/i18n.qdoc
index 4109b62..d043f45 100644
--- a/doc/src/i18n.qdoc
+++ b/doc/src/i18n.qdoc
@@ -144,13 +144,13 @@
aligned, so for these languages use the version of drawText() that
takes a QRect since this will align in accordance with the language.
- \o When you write your own text input controls, use \l
- QFontMetrics::charWidth() to determine the width of a character in a
- string. In some languages (e.g. Arabic or languages from the Indian
+ \o When you write your own text input controls, use QTextLayout.
+ In some languages (e.g. Arabic or languages from the Indian
subcontinent), the width and shape of a glyph changes depending on the
- surrounding characters. Writing input controls usually requires a
- certain knowledge of the scripts it is going to be used in. Usually
- the easiest way is to subclass QLineEdit or QTextEdit.
+ surrounding characters, which QTextLayout takes into account.
+ Writing input controls usually requires a certain knowledge of the
+ scripts it is going to be used in. Usually the easiest way is to
+ subclass QLineEdit or QTextEdit.
\endlist
@@ -266,19 +266,19 @@
\o Run \c lupdate to extract translatable text from the C++
source code of the Qt application, resulting in a message file
- for translators (a \c .ts file). The utility recognizes the tr()
+ for translators (a TS file). The utility recognizes the tr()
construct and the \c{QT_TR*_NOOP()} macros described above and
- produces \c .ts files (usually one per language).
+ produces TS files (usually one per language).
- \o Provide translations for the source texts in the \c .ts file, using
- \e{Qt Linguist}. Since \c .ts files are in XML format, you can also
+ \o Provide translations for the source texts in the TS file, using
+ \e{Qt Linguist}. Since TS files are in XML format, you can also
edit them by hand.
- \o Run \c lrelease to obtain a light-weight message file (a \c .qm
- file) from the \c .ts file, suitable only for end use. Think of the \c
- .ts files as "source files", and \c .qm files as "object files". The
- translator edits the \c .ts files, but the users of your application
- only need the \c .qm files. Both kinds of files are platform and
+ \o Run \c lrelease to obtain a light-weight message file (a QM
+ file) from the TS file, suitable only for end use. Think of the TS
+ files as "source files", and QM files as "object files". The
+ translator edits the TS files, but the users of your application
+ only need the QM files. Both kinds of files are platform and
locale independent.
\endlist
diff --git a/doc/src/images/cursor-hsplit.png b/doc/src/images/cursor-hsplit.png
index 1beda25..a5667e3 100644
--- a/doc/src/images/cursor-hsplit.png
+++ b/doc/src/images/cursor-hsplit.png
Binary files differ
diff --git a/doc/src/images/cursor-vsplit.png b/doc/src/images/cursor-vsplit.png
index a5667e3..1beda25 100644
--- a/doc/src/images/cursor-vsplit.png
+++ b/doc/src/images/cursor-vsplit.png
Binary files differ
diff --git a/doc/src/images/qeasingcurve-cosinecurve.png b/doc/src/images/qeasingcurve-cosinecurve.png
index b27e763..8cee978 100644
--- a/doc/src/images/qeasingcurve-cosinecurve.png
+++ b/doc/src/images/qeasingcurve-cosinecurve.png
Binary files differ
diff --git a/doc/src/images/qeasingcurve-inback.png b/doc/src/images/qeasingcurve-inback.png
index 8506c0f..0064cb3 100644
--- a/doc/src/images/qeasingcurve-inback.png
+++ b/doc/src/images/qeasingcurve-inback.png
Binary files differ
diff --git a/doc/src/images/qeasingcurve-inbounce.png b/doc/src/images/qeasingcurve-inbounce.png
index 275b38c..eaa64f8 100644
--- a/doc/src/images/qeasingcurve-inbounce.png
+++ b/doc/src/images/qeasingcurve-inbounce.png
Binary files differ
diff --git a/doc/src/images/qeasingcurve-incirc.png b/doc/src/images/qeasingcurve-incirc.png
index b985e9c..7bd0f09 100644
--- a/doc/src/images/qeasingcurve-incirc.png
+++ b/doc/src/images/qeasingcurve-incirc.png
Binary files differ
diff --git a/doc/src/images/qeasingcurve-incubic.png b/doc/src/images/qeasingcurve-incubic.png
index e417ee1..1ac9eaf 100644
--- a/doc/src/images/qeasingcurve-incubic.png
+++ b/doc/src/images/qeasingcurve-incubic.png
Binary files differ
diff --git a/doc/src/images/qeasingcurve-incurve.png b/doc/src/images/qeasingcurve-incurve.png
index d9a9340..578259e 100644
--- a/doc/src/images/qeasingcurve-incurve.png
+++ b/doc/src/images/qeasingcurve-incurve.png
Binary files differ
diff --git a/doc/src/images/qeasingcurve-inelastic.png b/doc/src/images/qeasingcurve-inelastic.png
index b242fd3..f976b5a 100644
--- a/doc/src/images/qeasingcurve-inelastic.png
+++ b/doc/src/images/qeasingcurve-inelastic.png
Binary files differ
diff --git a/doc/src/images/qeasingcurve-inexpo.png b/doc/src/images/qeasingcurve-inexpo.png
index f06316c..1af3652 100644
--- a/doc/src/images/qeasingcurve-inexpo.png
+++ b/doc/src/images/qeasingcurve-inexpo.png
Binary files differ
diff --git a/doc/src/images/qeasingcurve-inoutback.png b/doc/src/images/qeasingcurve-inoutback.png
index 9fd1446..480bc05 100644
--- a/doc/src/images/qeasingcurve-inoutback.png
+++ b/doc/src/images/qeasingcurve-inoutback.png
Binary files differ
diff --git a/doc/src/images/qeasingcurve-inoutbounce.png b/doc/src/images/qeasingcurve-inoutbounce.png
index fb65f31..de62309 100644
--- a/doc/src/images/qeasingcurve-inoutbounce.png
+++ b/doc/src/images/qeasingcurve-inoutbounce.png
Binary files differ
diff --git a/doc/src/images/qeasingcurve-inoutcirc.png b/doc/src/images/qeasingcurve-inoutcirc.png
index 123cc54..b4be8ac 100644
--- a/doc/src/images/qeasingcurve-inoutcirc.png
+++ b/doc/src/images/qeasingcurve-inoutcirc.png
Binary files differ
diff --git a/doc/src/images/qeasingcurve-inoutcubic.png b/doc/src/images/qeasingcurve-inoutcubic.png
index b07695c..49dfbef 100644
--- a/doc/src/images/qeasingcurve-inoutcubic.png
+++ b/doc/src/images/qeasingcurve-inoutcubic.png
Binary files differ
diff --git a/doc/src/images/qeasingcurve-inoutelastic.png b/doc/src/images/qeasingcurve-inoutelastic.png
index 65851e1..5b0e54a 100644
--- a/doc/src/images/qeasingcurve-inoutelastic.png
+++ b/doc/src/images/qeasingcurve-inoutelastic.png
Binary files differ
diff --git a/doc/src/images/qeasingcurve-inoutexpo.png b/doc/src/images/qeasingcurve-inoutexpo.png
index 7cbfb13..776984a 100644
--- a/doc/src/images/qeasingcurve-inoutexpo.png
+++ b/doc/src/images/qeasingcurve-inoutexpo.png
Binary files differ
diff --git a/doc/src/images/qeasingcurve-inoutquad.png b/doc/src/images/qeasingcurve-inoutquad.png
index c5eed06..2643330 100644
--- a/doc/src/images/qeasingcurve-inoutquad.png
+++ b/doc/src/images/qeasingcurve-inoutquad.png
Binary files differ
diff --git a/doc/src/images/qeasingcurve-inoutquart.png b/doc/src/images/qeasingcurve-inoutquart.png
index 3b66c0d..31fc0c8 100644
--- a/doc/src/images/qeasingcurve-inoutquart.png
+++ b/doc/src/images/qeasingcurve-inoutquart.png
Binary files differ
diff --git a/doc/src/images/qeasingcurve-inoutquint.png b/doc/src/images/qeasingcurve-inoutquint.png
index c74efe9..4d7a745 100644
--- a/doc/src/images/qeasingcurve-inoutquint.png
+++ b/doc/src/images/qeasingcurve-inoutquint.png
Binary files differ
diff --git a/doc/src/images/qeasingcurve-inoutsine.png b/doc/src/images/qeasingcurve-inoutsine.png
index 5964f31..012ff75 100644
--- a/doc/src/images/qeasingcurve-inoutsine.png
+++ b/doc/src/images/qeasingcurve-inoutsine.png
Binary files differ
diff --git a/doc/src/images/qeasingcurve-inquad.png b/doc/src/images/qeasingcurve-inquad.png
index 3373310..e697c20 100644
--- a/doc/src/images/qeasingcurve-inquad.png
+++ b/doc/src/images/qeasingcurve-inquad.png
Binary files differ
diff --git a/doc/src/images/qeasingcurve-inquart.png b/doc/src/images/qeasingcurve-inquart.png
index 28086d8..6d65175 100644
--- a/doc/src/images/qeasingcurve-inquart.png
+++ b/doc/src/images/qeasingcurve-inquart.png
Binary files differ
diff --git a/doc/src/images/qeasingcurve-inquint.png b/doc/src/images/qeasingcurve-inquint.png
index 330aa85..faaaea7 100644
--- a/doc/src/images/qeasingcurve-inquint.png
+++ b/doc/src/images/qeasingcurve-inquint.png
Binary files differ
diff --git a/doc/src/images/qeasingcurve-insine.png b/doc/src/images/qeasingcurve-insine.png
index 63d9238..0944903 100644
--- a/doc/src/images/qeasingcurve-insine.png
+++ b/doc/src/images/qeasingcurve-insine.png
Binary files differ
diff --git a/doc/src/images/qeasingcurve-linear.png b/doc/src/images/qeasingcurve-linear.png
index 2a05885..fb3aaf3 100644
--- a/doc/src/images/qeasingcurve-linear.png
+++ b/doc/src/images/qeasingcurve-linear.png
Binary files differ
diff --git a/doc/src/images/qeasingcurve-outback.png b/doc/src/images/qeasingcurve-outback.png
index 7cb34c6..83b3fa2 100644
--- a/doc/src/images/qeasingcurve-outback.png
+++ b/doc/src/images/qeasingcurve-outback.png
Binary files differ
diff --git a/doc/src/images/qeasingcurve-outbounce.png b/doc/src/images/qeasingcurve-outbounce.png
index 932fc16..27ac979 100644
--- a/doc/src/images/qeasingcurve-outbounce.png
+++ b/doc/src/images/qeasingcurve-outbounce.png
Binary files differ
diff --git a/doc/src/images/qeasingcurve-outcirc.png b/doc/src/images/qeasingcurve-outcirc.png
index a1a6cb6..0019370 100644
--- a/doc/src/images/qeasingcurve-outcirc.png
+++ b/doc/src/images/qeasingcurve-outcirc.png
Binary files differ
diff --git a/doc/src/images/qeasingcurve-outcubic.png b/doc/src/images/qeasingcurve-outcubic.png
index aa1d604..45477c0 100644
--- a/doc/src/images/qeasingcurve-outcubic.png
+++ b/doc/src/images/qeasingcurve-outcubic.png
Binary files differ
diff --git a/doc/src/images/qeasingcurve-outcurve.png b/doc/src/images/qeasingcurve-outcurve.png
index a949ae4..295b471 100644
--- a/doc/src/images/qeasingcurve-outcurve.png
+++ b/doc/src/images/qeasingcurve-outcurve.png
Binary files differ
diff --git a/doc/src/images/qeasingcurve-outelastic.png b/doc/src/images/qeasingcurve-outelastic.png
index 2a9ba39..1d407ed 100644
--- a/doc/src/images/qeasingcurve-outelastic.png
+++ b/doc/src/images/qeasingcurve-outelastic.png
Binary files differ
diff --git a/doc/src/images/qeasingcurve-outexpo.png b/doc/src/images/qeasingcurve-outexpo.png
index e771c2e..5685155 100644
--- a/doc/src/images/qeasingcurve-outexpo.png
+++ b/doc/src/images/qeasingcurve-outexpo.png
Binary files differ
diff --git a/doc/src/images/qeasingcurve-outinback.png b/doc/src/images/qeasingcurve-outinback.png
index 7523727..4700ab0 100644
--- a/doc/src/images/qeasingcurve-outinback.png
+++ b/doc/src/images/qeasingcurve-outinback.png
Binary files differ
diff --git a/doc/src/images/qeasingcurve-outinbounce.png b/doc/src/images/qeasingcurve-outinbounce.png
index ab73d02..12cc1a8 100644
--- a/doc/src/images/qeasingcurve-outinbounce.png
+++ b/doc/src/images/qeasingcurve-outinbounce.png
Binary files differ
diff --git a/doc/src/images/qeasingcurve-outincirc.png b/doc/src/images/qeasingcurve-outincirc.png
index ec4b8d3..c8a5c86 100644
--- a/doc/src/images/qeasingcurve-outincirc.png
+++ b/doc/src/images/qeasingcurve-outincirc.png
Binary files differ
diff --git a/doc/src/images/qeasingcurve-outincubic.png b/doc/src/images/qeasingcurve-outincubic.png
index 8b8ae68..42af870 100644
--- a/doc/src/images/qeasingcurve-outincubic.png
+++ b/doc/src/images/qeasingcurve-outincubic.png
Binary files differ
diff --git a/doc/src/images/qeasingcurve-outinelastic.png b/doc/src/images/qeasingcurve-outinelastic.png
index 89dde2c..308be57 100644
--- a/doc/src/images/qeasingcurve-outinelastic.png
+++ b/doc/src/images/qeasingcurve-outinelastic.png
Binary files differ
diff --git a/doc/src/images/qeasingcurve-outinexpo.png b/doc/src/images/qeasingcurve-outinexpo.png
index 5909901..0692baa 100644
--- a/doc/src/images/qeasingcurve-outinexpo.png
+++ b/doc/src/images/qeasingcurve-outinexpo.png
Binary files differ
diff --git a/doc/src/images/qeasingcurve-outinquad.png b/doc/src/images/qeasingcurve-outinquad.png
index 7ddefee..9e3cd83 100644
--- a/doc/src/images/qeasingcurve-outinquad.png
+++ b/doc/src/images/qeasingcurve-outinquad.png
Binary files differ
diff --git a/doc/src/images/qeasingcurve-outinquart.png b/doc/src/images/qeasingcurve-outinquart.png
index 00ef597..9a3c16f 100644
--- a/doc/src/images/qeasingcurve-outinquart.png
+++ b/doc/src/images/qeasingcurve-outinquart.png
Binary files differ
diff --git a/doc/src/images/qeasingcurve-outinquint.png b/doc/src/images/qeasingcurve-outinquint.png
index 361bfaa4..add9feb 100644
--- a/doc/src/images/qeasingcurve-outinquint.png
+++ b/doc/src/images/qeasingcurve-outinquint.png
Binary files differ
diff --git a/doc/src/images/qeasingcurve-outinsine.png b/doc/src/images/qeasingcurve-outinsine.png
index 1737041..4bc2aaf 100644
--- a/doc/src/images/qeasingcurve-outinsine.png
+++ b/doc/src/images/qeasingcurve-outinsine.png
Binary files differ
diff --git a/doc/src/images/qeasingcurve-outquad.png b/doc/src/images/qeasingcurve-outquad.png
index 6f27cbd..c505ff9 100644
--- a/doc/src/images/qeasingcurve-outquad.png
+++ b/doc/src/images/qeasingcurve-outquad.png
Binary files differ
diff --git a/doc/src/images/qeasingcurve-outquart.png b/doc/src/images/qeasingcurve-outquart.png
index d45a0b8..6eac058 100644
--- a/doc/src/images/qeasingcurve-outquart.png
+++ b/doc/src/images/qeasingcurve-outquart.png
Binary files differ
diff --git a/doc/src/images/qeasingcurve-outquint.png b/doc/src/images/qeasingcurve-outquint.png
index 6e7df0e..77a9ad4 100644
--- a/doc/src/images/qeasingcurve-outquint.png
+++ b/doc/src/images/qeasingcurve-outquint.png
Binary files differ
diff --git a/doc/src/images/qeasingcurve-outsine.png b/doc/src/images/qeasingcurve-outsine.png
index 7546a0d..d135b2f 100644
--- a/doc/src/images/qeasingcurve-outsine.png
+++ b/doc/src/images/qeasingcurve-outsine.png
Binary files differ
diff --git a/doc/src/images/qeasingcurve-sinecurve.png b/doc/src/images/qeasingcurve-sinecurve.png
index ca67d44..6134a01 100644
--- a/doc/src/images/qeasingcurve-sinecurve.png
+++ b/doc/src/images/qeasingcurve-sinecurve.png
Binary files differ
diff --git a/doc/src/images/schema-example.png b/doc/src/images/schema-example.png
new file mode 100644
index 0000000..5e95bf5
--- /dev/null
+++ b/doc/src/images/schema-example.png
Binary files differ
diff --git a/doc/src/images/sub-attaq-demo.png b/doc/src/images/sub-attaq-demo.png
new file mode 100644
index 0000000..5a35ec6
--- /dev/null
+++ b/doc/src/images/sub-attaq-demo.png
Binary files differ
diff --git a/doc/src/implicit-sharing.qdoc b/doc/src/implicit-sharing.qdoc
new file mode 100644
index 0000000..85630dc
--- /dev/null
+++ b/doc/src/implicit-sharing.qdoc
@@ -0,0 +1,144 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/* TODO: Move some of the documentation from QSharedDataPointer into this
+ document. */
+
+/*!
+ \group shared
+ \title Implicitly Shared Classes
+ \ingroup architecture
+ \ingroup groups
+
+ \brief Classes that use reference counting for fast copying.
+
+ \keyword implicit data sharing
+ \keyword implicit sharing
+ \keyword implicitly shared
+ \keyword reference counting
+ \keyword shared implicitly
+ \keyword shared classes
+
+ Many C++ classes in Qt use implicit data sharing to maximize
+ resource usage and minimize copying. Implicitly shared classes are
+ both safe and efficient when passed as arguments, because only a
+ pointer to the data is passed around, and the data is copied only
+ if and when a function writes to it, i.e., \e {copy-on-write}.
+
+ \tableofcontents
+
+ \section1 Overview
+
+ A shared class consists of a pointer to a shared data block that
+ contains a reference count and the data.
+
+ When a shared object is created, it sets the reference count to 1. The
+ reference count is incremented whenever a new object references the
+ shared data, and decremented when the object dereferences the shared
+ data. The shared data is deleted when the reference count becomes
+ zero.
+
+ \keyword deep copy
+ \keyword shallow copy
+
+ When dealing with shared objects, there are two ways of copying an
+ object. We usually speak about \e deep and \e shallow copies. A deep
+ copy implies duplicating an object. A shallow copy is a reference
+ copy, i.e. just a pointer to a shared data block. Making a deep copy
+ can be expensive in terms of memory and CPU. Making a shallow copy is
+ very fast, because it only involves setting a pointer and incrementing
+ the reference count.
+
+ Object assignment (with operator=()) for implicitly shared objects is
+ implemented using shallow copies.
+
+ The benefit of sharing is that a program does not need to duplicate
+ data unnecessarily, which results in lower memory use and less copying
+ of data. Objects can easily be assigned, sent as function arguments,
+ and returned from functions.
+
+ Implicit sharing takes place behind the scenes; the programmer
+ does not need to worry about it. Even in multithreaded
+ applications, implicit sharing takes place, as explained in
+ \l{Threads and Implicit Sharing}.
+
+ When implementing your own implicitly shared classes, use the
+ QSharedData and QSharedDataPointer classes.
+
+ \section1 Implicit Sharing in Detail
+
+ Implicit sharing automatically detaches the object from a shared
+ block if the object is about to change and the reference count is
+ greater than one. (This is often called \e {copy-on-write} or
+ \e {value semantics}.)
+
+ An implicitly shared class has total control of its internal data. In
+ any member functions that modify its data, it automatically detaches
+ before modifying the data.
+
+ The QPen class, which uses implicit sharing, detaches from the shared
+ data in all member functions that change the internal data.
+
+ Code fragment:
+ \snippet doc/src/snippets/code/doc_src_groups.qdoc 0
+
+
+ \section1 List of Classes
+
+ The classes listed below automatically detach from common data if
+ an object is about to be changed. The programmer will not even
+ notice that the objects are shared. Thus you should treat
+ separate instances of them as separate objects. They will always
+ behave as separate objects but with the added benefit of sharing
+ data whenever possible. For this reason, you can pass instances
+ of these classes as arguments to functions by value without
+ concern for the copying overhead.
+
+ Example:
+ \snippet doc/src/snippets/code/doc_src_groups.qdoc 1
+
+ In this example, \c p1 and \c p2 share data until QPainter::begin()
+ is called for \c p2, because painting a pixmap will modify it.
+
+ \warning Do not copy an implicitly shared container (QMap,
+ QVector, etc.) while you are iterating over it using an non-const
+ \l{STL-style iterator}.
+*/
diff --git a/doc/src/ipc.qdoc b/doc/src/ipc.qdoc
index 1349fde..1f9d36d 100644
--- a/doc/src/ipc.qdoc
+++ b/doc/src/ipc.qdoc
@@ -61,12 +61,12 @@
\section1 TCP/IP
- The cross-platform \l{QtNetwork} module
- provides classes that make network programming portable and
- easy. It offers high-level classes (e.g., QHttp, QFtp) that
- communicate using specific application-level protocols, and
- lower-level classes (e.g., QTcpSocket, QTcpServer, QSslSocket) for
- implementing protocols.
+ The cross-platform \l{QtNetwork} module provides classes that make
+ network programming portable and easy. It offers high-level
+ classes (e.g., QNetworkAccessManager, QFtp) that communicate using
+ specific application-level protocols, and lower-level classes
+ (e.g., QTcpSocket, QTcpServer, QSslSocket) for implementing
+ protocols.
\section1 Shared Memory
diff --git a/doc/src/layout.qdoc b/doc/src/layout.qdoc
index ec88089..9350aa8 100644
--- a/doc/src/layout.qdoc
+++ b/doc/src/layout.qdoc
@@ -42,9 +42,8 @@
/*!
\page layout.html
- \title Layout Classes
+ \title Layout Management
\ingroup architecture
- \ingroup classlists
\brief A tour of the standard layout managers and an introduction to custom
layouts.
diff --git a/doc/src/3rdparty.qdoc b/doc/src/legal/3rdparty.qdoc
index 0d86ab3..0d86ab3 100644
--- a/doc/src/3rdparty.qdoc
+++ b/doc/src/legal/3rdparty.qdoc
diff --git a/doc/src/commercialeditions.qdoc b/doc/src/legal/commercialeditions.qdoc
index b6d80c2..b6d80c2 100644
--- a/doc/src/commercialeditions.qdoc
+++ b/doc/src/legal/commercialeditions.qdoc
diff --git a/doc/src/editions.qdoc b/doc/src/legal/editions.qdoc
index 9ed4c9c..9ed4c9c 100644
--- a/doc/src/editions.qdoc
+++ b/doc/src/legal/editions.qdoc
diff --git a/doc/src/gpl.qdoc b/doc/src/legal/gpl.qdoc
index 97959e8..97959e8 100644
--- a/doc/src/gpl.qdoc
+++ b/doc/src/legal/gpl.qdoc
diff --git a/doc/src/legal/licenses.qdoc b/doc/src/legal/licenses.qdoc
new file mode 100644
index 0000000..4689114
--- /dev/null
+++ b/doc/src/legal/licenses.qdoc
@@ -0,0 +1,496 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+ \group licensing
+ \title Licensing Information
+ \ingroup topics
+ \brief Information about licenses and licensing issues.
+
+ These documents include information about Qt's licenses and the licenses
+ of third party components used in Qt.
+
+ \generatelist{related}
+*/
+
+
+/*!
+ \page licenses.html
+ \title Other Licenses Used in Qt
+ \ingroup licensing
+ \brief Information about other licenses used for Qt components and third-party code.
+
+ Qt contains some code that is not provided under the
+ \l{GNU General Public License (GPL)},
+ \l{GNU Lesser General Public License (LGPL)} or the
+ \l{Qt Commercial Editions}{Qt Commercial License Agreement}, but rather under
+ specific licenses from the original authors. Some pieces of code were developed
+ by Nokia and others originated from third parties.
+ This page lists the licenses used, names the authors, and links
+ to the places where it is used.
+
+ Nokia gratefully acknowledges these and other contributions
+ to Qt. We recommend that programs that use Qt also acknowledge
+ these contributions, and quote these license statements in an
+ appendix to the documentation.
+
+ See also: \l{Licenses for Fonts Used in Qt for Embedded Linux}
+
+ \generatelist legalese
+
+ \hr
+
+ Copyright (C) 2000-2004, International Business Machines\br
+ Corporation and others. All Rights Reserved.\br
+ Copyright (C) 2007 Apple Inc. All rights reserved.
+
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this
+ software and associated documentation files (the "Software"), to deal in the Software
+ without restriction, including without limitation the rights to use, copy, modify,
+ merge, publish, distribute, and/or sell copies of the Software, and to permit persons
+ to whom the Software is furnished to do so, provided that the above copyright notice(s)
+ and this permission notice appear in all copies of the Software and that both the above
+ copyright notice(s) and this permission notice appear in supporting documentation.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
+ INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
+ PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER
+ OR HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR
+ CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
+ PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
+ OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
+ Except as contained in this notice, the name of a copyright holder shall not be used in
+ advertising or otherwise to promote the sale, use or other dealings in this Software
+ without prior written authorization of the copyright holder.
+
+ \list
+ \o Parts of WebKit used by the QtWebKit module
+ \endlist
+
+ \hr
+
+ Copyright (c) 1998 by Bjorn Reese <breese@imada.ou.dk>
+
+ Permission to use, copy, modify, and distribute this software for any
+ purpose with or without fee is hereby granted, provided that the above
+ copyright notice and this permission notice appear in all copies.
+
+ THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
+ WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
+ MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE AUTHORS AND
+ CONTRIBUTORS ACCEPT NO RESPONSIBILITY IN ANY CONCEIVABLE MANNER.
+
+ \list
+ \o Parts of the QCrashHandler class
+ \endlist
+
+ \hr
+
+ Parts of the FreeType projects have been modified and put into Qt
+ for use in the painting subsystem. These files are ftraster.h,
+ ftraster.c, ftgrays.h and ftgrays.c. The following modifications
+ has been made to these files:
+
+ \list
+ \i Renamed FT_ and ft_ symbols to QT_FT_ and qt_ft_ to avoid name
+ conflicts in \c{qrasterdefs_p.h}.
+ \i Removed parts of code not relevant when compiled with
+ _STANDALONE_ defined.
+ \i Changed behavior in \c{ftraster.c} to follow X polygon filling
+ rules.
+ \i Implemented support in \c{ftraster.c} for winding / odd even
+ polygon fill rules.
+ \i Replaced bitmap generation with span generation in \c{ftraster.c}.
+ \i Renamed \c{ftraster.h} as \c{qblackraster_p.h}.
+ \i Renamed \c{ftraster.c} as \c{qblackraster.c}.
+ \i Renamed \c{ftgrays.h} as \c{qgrayraster_p.h}.
+ \i Renamed \c{ftgrays.c} as \c{qgrayraster.c}.
+ \endlist
+
+ See \c src/3rdparty/freetype/docs/FTL.txt and \c
+ src/3rdparty/freetype/docs/GPL.txt for license details.
+
+ \hr
+
+ Copyright (c) 1985, 1986, 1987 X Consortium
+
+ Permission is hereby granted, free of charge, to any person obtaining
+ a copy of this software and associated documentation files (the
+ "Software"), to deal in the Software without restriction, including
+ without limitation the rights to use, copy, modify, merge, publish,
+ distribute, sublicense, and/or sell copies of the Software, and to
+ permit persons to whom the Software is furnished to do so, subject to
+ the following conditions:
+
+ The above copyright notice and this permission notice shall be included
+ in all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+ OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+ IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+ OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ OTHER DEALINGS IN THE SOFTWARE.
+
+ Except as contained in this notice, the name of the X Consortium shall
+ not be used in advertising or otherwise to promote the sale, use or
+ other dealings in this Software without prior written authorization
+ from the X Consortium.
+
+ \list
+ \o Parts of the Q3PolygonScanner class used in Qt for Embedded Linux
+ \endlist
+
+ \hr
+
+ Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
+
+ All Rights Reserved
+
+ Permission to use, copy, modify, and distribute this software and its
+ documentation for any purpose and without fee is hereby granted,
+ provided that the above copyright notice appear in all copies and that
+ both that copyright notice and this permission notice appear in
+ supporting documentation, and that the name of Digital not be
+ used in advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+ DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+ WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+ SOFTWARE.
+
+ \list
+ \o Parts of the Q3PolygonScanner class used in Qt for Embedded Linux
+ \endlist
+
+ \hr
+
+ Copyright 1985, 1987, 1998 The Open Group
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation.
+
+ The above copyright notice and this permission notice shall be included in
+ all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+ AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+ Except as contained in this notice, the name of The Open Group shall not be
+ used in advertising or otherwise to promote the sale, use or other dealings
+ in this Software without prior written authorization from The Open Group.
+
+ \list
+ \o Parts of the internal QKeyMapper class on X11 platforms
+ \endlist
+
+ \hr
+
+ pnmscale.c - read a portable anymap and scale it
+
+ Copyright (C) 1989, 1991 by Jef Poskanzer.
+
+ Permission to use, copy, modify, and distribute this software and its
+ documentation for any purpose and without fee is hereby granted, provided
+ that the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation. This software is provided "as is" without express or
+ implied warranty.
+
+ \list
+ \o Parts of the internal QImageSmoothScaler::scale() function use code
+ based on pnmscale.c by Jef Poskanzer.
+ \endlist
+
+ \hr
+
+ jQuery JavaScript Library v1.3.2
+ http://jquery.com/
+
+ Copyright (c) 2009 John Resig
+ Dual licensed under the MIT and GPL licenses.
+ http://docs.jquery.com/License
+
+ Sizzle CSS Selector Engine - v0.9.3
+ Copyright 2009, The Dojo Foundation
+ Released under the MIT, BSD, and GPL Licenses.
+ More information: http://sizzlejs.com/
+
+ \list
+ \o examples/webkit/fancybrowser/jquery.min.js
+ \endlist
+*/
+
+/*!
+ \page licenses-fonts.html
+ \title Licenses for Fonts Used in Qt for Embedded Linux
+ \ingroup qt-embedded-linux
+ \ingroup licensing
+ \brief Information about the licenses of fonts supplied with Qt for Embedded Linux.
+
+ The fonts supplied with Qt for Embedded Linux have been obtained under a
+ variety of different licenses listed below.
+
+ \tableofcontents
+
+ See also: \l{Other Licenses Used in Qt}
+
+ \section1 Adobe Helvetica
+
+ Copyright 1984-1989, 1994 Adobe Systems Incorporated.
+ Copyright 1988, 1994 Digital Equipment Corporation.
+
+ Adobe is a trademark of Adobe Systems Incorporated which may be
+ registered in certain jurisdictions.
+ Permission to use these trademarks is hereby granted only in
+ association with the images described in this file.
+
+ Permission to use, copy, modify, distribute and sell this software
+ and its documentation for any purpose and without fee is hereby
+ granted, provided that the above copyright notices appear in all
+ copies and that both those copyright notices and this permission
+ notice appear in supporting documentation, and that the names of
+ Adobe Systems and Digital Equipment Corporation not be used in
+ advertising or publicity pertaining to distribution of the software
+ without specific, written prior permission. Adobe Systems and
+ Digital Equipment Corporation make no representations about the
+ suitability of this software for any purpose. It is provided "as
+ is" without express or implied warranty.
+
+ \section1 Adobe Utopia
+
+ Permission to use, reproduce, display and distribute the listed
+ typefaces is hereby granted, provided that the Adobe Copyright notice
+ appears in all whole and partial copies of the software and that the
+ following trademark symbol and attribution appear in all unmodified
+ copies of the software:
+
+ Copyright (c) 1989 Adobe Systems Incorporated
+ Utopia (R)
+ Utopia is a registered trademark of Adobe Systems Incorporated
+
+ The Utopia font
+ Copyright (c) 1989, 1991 Adobe Systems Incorporated. All Rights
+ Reserved.Utopia is a registered trademark of Adobe Systems
+ Incorporated.
+
+ \section1 Babelfish
+
+ \snippet doc/src/snippets/code/doc_src_licenses.qdoc 1
+
+ \section1 Bigelow & Holmes Luxi
+
+ Luxi fonts copyright (c) 2001 by Bigelow & Holmes Inc. Luxi font
+ instruction code copyright (c) 2001 by URW++ GmbH. All Rights
+ Reserved. Luxi is a registered trademark of Bigelow & Holmes Inc.
+
+ Permission is hereby granted, free of charge, to any person obtaining
+ a copy of these Fonts and associated documentation files (the "Font
+ Software"), to deal in the Font Software, including without
+ limitation the rights to use, copy, merge, publish, distribute,
+ sublicense, and/or sell copies of the Font Software, and to permit
+ persons to whom the Font Software is furnished to do so, subject to
+ the following conditions:
+
+ The above copyright and trademark notices and this permission notice
+ shall be included in all copies of one or more of the Font Software.
+
+ The Font Software may not be modified, altered, or added to, and in
+ particular the designs of glyphs or characters in the Fonts may not
+ be modified nor may additional glyphs or characters be added to the
+ Fonts. This License becomes null and void when the Fonts or Font
+ Software have been modified.
+
+ THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+ OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL
+ BIGELOW & HOLMES INC. OR URW++ GMBH. BE LIABLE FOR ANY CLAIM, DAMAGES
+ OR OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT,
+ INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF
+ CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR
+ INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT
+ SOFTWARE.
+
+ Except as contained in this notice, the names of Bigelow & Holmes
+ Inc. and URW++ GmbH. shall not be used in advertising or otherwise to
+ promote the sale, use or other dealings in this Font Software without
+ prior written authorization from Bigelow & Holmes Inc. and URW++ GmbH.
+
+ For further information, contact:
+
+ info@urwpp.de
+ or
+ design@bigelowandholmes.com
+
+ \section1 Bitstream Charter and Courier
+
+ (c) Copyright 1989-1992, Bitstream Inc., Cambridge, MA.
+
+ You are hereby granted permission under all Bitstream propriety rights
+ to use, copy, modify, sublicense, sell, and redistribute the 4 Bitstream
+ Charter (r) Type 1 outline fonts and the 4 Courier Type 1 outline fonts
+ for any purpose and without restriction; provided, that this notice is
+ left intact on all copies of such fonts and that Bitstream's trademark
+ is acknowledged as shown below on all unmodified copies of the 4 Charter
+ Type 1 fonts.
+
+ BITSTREAM CHARTER is a registered trademark of Bitstream Inc.
+
+ \section1 Bitstream Vera
+
+ Copyright (c) 2003 by Bitstream, Inc.
+
+ All Rights Reserved.
+
+ Bitstream Vera is a trademark of Bitstream, Inc.
+
+ Permission is hereby granted, free of charge, to any person obtaining
+ a copy of the fonts accompanying this license ("Fonts") and associated
+ documentation files (the "Font Software"), to reproduce and distribute
+ the Font Software, including without limitation the rights to use,
+ copy, merge, publish, distribute, and/or sell copies of the Font
+ Software, and to permit persons to whom the Font Software is furnished
+ to do so, subject to the following conditions:
+
+ The above copyright and trademark notices and this permission notice
+ shall be included in all copies of one or more of the Font Software
+ typefaces.
+
+ The Font Software may be modified, altered, or added to, and in
+ particular the designs of glyphs or characters in the Fonts may be
+ modified and additional glyphs or characters may be added to the
+ Fonts, only if the fonts are renamed to names not containing either
+ the words "Bitstream" or the word "Vera".
+
+ This License becomes null and void to the extent applicable to Fonts
+ or Font Software that has been modified and is distributed under the
+ "Bitstream Vera" names.
+
+ The Font Software may be sold as part of a larger software package but
+ no copy of one or more of the Font Software typefaces may be sold by
+ itself.
+
+ THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+ OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL
+ BITSTREAM OR THE GNOME FOUNDATION BE LIABLE FOR ANY CLAIM, DAMAGES OR
+ OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL,
+ OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+ OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT
+ SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE.
+
+ Except as contained in this notice, the names of Gnome, the Gnome
+ Foundation, and Bitstream Inc., shall not be used in advertising or
+ otherwise to promote the sale, use or other dealings in this Font
+ Software without prior written authorization from the Gnome Foundation
+ or Bitstream Inc., respectively. For further information, contact:
+ fonts at gnome dot org.
+
+ \omit
+ http://www.gnome.org/fonts/#Final_Bitstream_Vera_Fonts
+ \endomit
+
+ See also:
+ \l{http://www.bitstream.com/font_rendering/products/dev_fonts/vera.html}{Vera Open Source Fonts}
+
+ \section1 Cursor
+
+ The Cursor font is distributed with the following declaration:
+
+ \e{Copyright (c) 2000 XFree86, Inc.}
+
+ \section1 DejaVu Fonts
+
+ DejaVu fonts come with the following copyright statement:
+
+ Fonts are (c) Bitstream (see below). DejaVu changes are in public domain. Glyphs imported from Arev fonts are (c) Tavmjung Bah (see below)
+
+ \snippet doc/src/snippets/code/doc_src_licenses.qdoc 2
+
+ \section1 Fixed Fonts
+
+ The 5x7 and 6x13 fonts each contain the following copyright notice:
+
+ \e{Public domain font. Share and enjoy.}
+
+ \section1 IBM Courier
+
+ IBM Courier - Copyright (c) IBM Corporation 1990, 1991
+
+ You are hereby granted permission under the terms of the IBM/MIT X Consortium
+ Courier Typefont agreement to execute, reproduce, distribute, display, market,
+ sell and otherwise transfer copies of the IBM Courier font to third parties.
+
+ The font is provided "AS IS" without charge. NO WARRANTIES OR INDEMNIFICATION
+ ARE GIVEN, WHETHER EXPRESS OR IMPLIED INCLUDING, BUT LIMITED TO THE IMPLIED
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+
+ \section1 Micro
+
+ The Micro font contains the following copyright notice:
+
+ \e{Public domain font. Share and enjoy.}
+
+ \section1 Unifont
+
+ The Unifont font was originally obtained from
+ \l{http://www.czyborra.com/}{Roman Czyborra} under the following license:
+
+ \e{All of my works you find here are freeware. You may freely copy, use, quote,
+ modify or redistribute them as long as you properly attribute my contribution
+ and have given a quick thought about whether Roman might perhaps be interested
+ to read what you did with his stuff. Horizontal rules don't apply.}
+*/
diff --git a/doc/src/opensourceedition.qdoc b/doc/src/legal/opensourceedition.qdoc
index e7bb26a..e7bb26a 100644
--- a/doc/src/opensourceedition.qdoc
+++ b/doc/src/legal/opensourceedition.qdoc
diff --git a/doc/src/trademarks.qdoc b/doc/src/legal/trademarks.qdoc
index 0e659d2..0e659d2 100644
--- a/doc/src/trademarks.qdoc
+++ b/doc/src/legal/trademarks.qdoc
diff --git a/doc/src/licenses.qdoc b/doc/src/licenses.qdoc
deleted file mode 100644
index 7597e7f..0000000
--- a/doc/src/licenses.qdoc
+++ /dev/null
@@ -1,483 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-/*!
- \page licenses.html
- \title Other Licenses Used in Qt
- \ingroup licensing
- \brief Information about other licenses used for Qt components and third-party code.
-
- Qt contains some code that is not provided under the
- \l{GNU General Public License (GPL)},
- \l{GNU Lesser General Public License (LGPL)} or the
- \l{Qt Commercial Editions}{Qt Commercial License Agreement}, but rather under
- specific licenses from the original authors. Some pieces of code were developed
- by Nokia and others originated from third parties.
- This page lists the licenses used, names the authors, and links
- to the places where it is used.
-
- Nokia gratefully acknowledges these and other contributions
- to Qt. We recommend that programs that use Qt also acknowledge
- these contributions, and quote these license statements in an
- appendix to the documentation.
-
- See also: \l{Licenses for Fonts Used in Qt for Embedded Linux}
-
- \generatelist legalese
-
- \hr
-
- Copyright (C) 2000-2004, International Business Machines\br
- Corporation and others. All Rights Reserved.\br
- Copyright (C) 2007 Apple Inc. All rights reserved.
-
- Permission is hereby granted, free of charge, to any person obtaining a copy of this
- software and associated documentation files (the "Software"), to deal in the Software
- without restriction, including without limitation the rights to use, copy, modify,
- merge, publish, distribute, and/or sell copies of the Software, and to permit persons
- to whom the Software is furnished to do so, provided that the above copyright notice(s)
- and this permission notice appear in all copies of the Software and that both the above
- copyright notice(s) and this permission notice appear in supporting documentation.
-
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
- INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
- PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER
- OR HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR
- CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
- PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
- OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
- Except as contained in this notice, the name of a copyright holder shall not be used in
- advertising or otherwise to promote the sale, use or other dealings in this Software
- without prior written authorization of the copyright holder.
-
- \list
- \o Parts of WebKit used by the QtWebKit module
- \endlist
-
- \hr
-
- Copyright (c) 1998 by Bjorn Reese <breese@imada.ou.dk>
-
- Permission to use, copy, modify, and distribute this software for any
- purpose with or without fee is hereby granted, provided that the above
- copyright notice and this permission notice appear in all copies.
-
- THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
- WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
- MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE AUTHORS AND
- CONTRIBUTORS ACCEPT NO RESPONSIBILITY IN ANY CONCEIVABLE MANNER.
-
- \list
- \o Parts of the QCrashHandler class
- \endlist
-
- \hr
-
- Parts of the FreeType projects have been modified and put into Qt
- for use in the painting subsystem. These files are ftraster.h,
- ftraster.c, ftgrays.h and ftgrays.c. The following modifications
- has been made to these files:
-
- \list
- \i Renamed FT_ and ft_ symbols to QT_FT_ and qt_ft_ to avoid name
- conflicts in \c{qrasterdefs_p.h}.
- \i Removed parts of code not relevant when compiled with
- _STANDALONE_ defined.
- \i Changed behavior in \c{ftraster.c} to follow X polygon filling
- rules.
- \i Implemented support in \c{ftraster.c} for winding / odd even
- polygon fill rules.
- \i Replaced bitmap generation with span generation in \c{ftraster.c}.
- \i Renamed \c{ftraster.h} as \c{qblackraster_p.h}.
- \i Renamed \c{ftraster.c} as \c{qblackraster.c}.
- \i Renamed \c{ftgrays.h} as \c{qgrayraster_p.h}.
- \i Renamed \c{ftgrays.c} as \c{qgrayraster.c}.
- \endlist
-
- See \c src/3rdparty/freetype/docs/FTL.txt and \c
- src/3rdparty/freetype/docs/GPL.txt for license details.
-
- \hr
-
- Copyright (c) 1985, 1986, 1987 X Consortium
-
- Permission is hereby granted, free of charge, to any person obtaining
- a copy of this software and associated documentation files (the
- "Software"), to deal in the Software without restriction, including
- without limitation the rights to use, copy, modify, merge, publish,
- distribute, sublicense, and/or sell copies of the Software, and to
- permit persons to whom the Software is furnished to do so, subject to
- the following conditions:
-
- The above copyright notice and this permission notice shall be included
- in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
- IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
- OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
- ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
- OTHER DEALINGS IN THE SOFTWARE.
-
- Except as contained in this notice, the name of the X Consortium shall
- not be used in advertising or otherwise to promote the sale, use or
- other dealings in this Software without prior written authorization
- from the X Consortium.
-
- \list
- \o Parts of the Q3PolygonScanner class used in Qt for Embedded Linux
- \endlist
-
- \hr
-
- Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
-
- All Rights Reserved
-
- Permission to use, copy, modify, and distribute this software and its
- documentation for any purpose and without fee is hereby granted,
- provided that the above copyright notice appear in all copies and that
- both that copyright notice and this permission notice appear in
- supporting documentation, and that the name of Digital not be
- used in advertising or publicity pertaining to distribution of the
- software without specific, written prior permission.
-
- DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
- ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
- DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
- ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
- ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
- SOFTWARE.
-
- \list
- \o Parts of the Q3PolygonScanner class used in Qt for Embedded Linux
- \endlist
-
- \hr
-
- Copyright 1985, 1987, 1998 The Open Group
-
- Permission to use, copy, modify, distribute, and sell this software and its
- documentation for any purpose is hereby granted without fee, provided that
- the above copyright notice appear in all copies and that both that
- copyright notice and this permission notice appear in supporting
- documentation.
-
- The above copyright notice and this permission notice shall be included in
- all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
- AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
- Except as contained in this notice, the name of The Open Group shall not be
- used in advertising or otherwise to promote the sale, use or other dealings
- in this Software without prior written authorization from The Open Group.
-
- \list
- \o Parts of the internal QKeyMapper class on X11 platforms
- \endlist
-
- \hr
-
- pnmscale.c - read a portable anymap and scale it
-
- Copyright (C) 1989, 1991 by Jef Poskanzer.
-
- Permission to use, copy, modify, and distribute this software and its
- documentation for any purpose and without fee is hereby granted, provided
- that the above copyright notice appear in all copies and that both that
- copyright notice and this permission notice appear in supporting
- documentation. This software is provided "as is" without express or
- implied warranty.
-
- \list
- \o Parts of the internal QImageSmoothScaler::scale() function use code
- based on pnmscale.c by Jef Poskanzer.
- \endlist
-
- \hr
-
- jQuery JavaScript Library v1.3.2
- http://jquery.com/
-
- Copyright (c) 2009 John Resig
- Dual licensed under the MIT and GPL licenses.
- http://docs.jquery.com/License
-
- Sizzle CSS Selector Engine - v0.9.3
- Copyright 2009, The Dojo Foundation
- Released under the MIT, BSD, and GPL Licenses.
- More information: http://sizzlejs.com/
-
- \list
- \o examples/webkit/fancybrowser/jquery.min.js
- \endlist
-*/
-
-/*!
- \page licenses-fonts.html
- \title Licenses for Fonts Used in Qt for Embedded Linux
- \ingroup qt-embedded-linux
- \ingroup licensing
- \brief Information about the licenses of fonts supplied with Qt for Embedded Linux.
-
- The fonts supplied with Qt for Embedded Linux have been obtained under a
- variety of different licenses listed below.
-
- \tableofcontents
-
- See also: \l{Other Licenses Used in Qt}
-
- \section1 Adobe Helvetica
-
- Copyright 1984-1989, 1994 Adobe Systems Incorporated.
- Copyright 1988, 1994 Digital Equipment Corporation.
-
- Adobe is a trademark of Adobe Systems Incorporated which may be
- registered in certain jurisdictions.
- Permission to use these trademarks is hereby granted only in
- association with the images described in this file.
-
- Permission to use, copy, modify, distribute and sell this software
- and its documentation for any purpose and without fee is hereby
- granted, provided that the above copyright notices appear in all
- copies and that both those copyright notices and this permission
- notice appear in supporting documentation, and that the names of
- Adobe Systems and Digital Equipment Corporation not be used in
- advertising or publicity pertaining to distribution of the software
- without specific, written prior permission. Adobe Systems and
- Digital Equipment Corporation make no representations about the
- suitability of this software for any purpose. It is provided "as
- is" without express or implied warranty.
-
- \section1 Adobe Utopia
-
- Permission to use, reproduce, display and distribute the listed
- typefaces is hereby granted, provided that the Adobe Copyright notice
- appears in all whole and partial copies of the software and that the
- following trademark symbol and attribution appear in all unmodified
- copies of the software:
-
- Copyright (c) 1989 Adobe Systems Incorporated
- Utopia (R)
- Utopia is a registered trademark of Adobe Systems Incorporated
-
- The Utopia font
- Copyright (c) 1989, 1991 Adobe Systems Incorporated. All Rights
- Reserved.Utopia is a registered trademark of Adobe Systems
- Incorporated.
-
- \section1 Babelfish
-
- \snippet doc/src/snippets/code/doc_src_licenses.qdoc 1
-
- \section1 Bigelow & Holmes Luxi
-
- Luxi fonts copyright (c) 2001 by Bigelow & Holmes Inc. Luxi font
- instruction code copyright (c) 2001 by URW++ GmbH. All Rights
- Reserved. Luxi is a registered trademark of Bigelow & Holmes Inc.
-
- Permission is hereby granted, free of charge, to any person obtaining
- a copy of these Fonts and associated documentation files (the "Font
- Software"), to deal in the Font Software, including without
- limitation the rights to use, copy, merge, publish, distribute,
- sublicense, and/or sell copies of the Font Software, and to permit
- persons to whom the Font Software is furnished to do so, subject to
- the following conditions:
-
- The above copyright and trademark notices and this permission notice
- shall be included in all copies of one or more of the Font Software.
-
- The Font Software may not be modified, altered, or added to, and in
- particular the designs of glyphs or characters in the Fonts may not
- be modified nor may additional glyphs or characters be added to the
- Fonts. This License becomes null and void when the Fonts or Font
- Software have been modified.
-
- THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
- OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL
- BIGELOW & HOLMES INC. OR URW++ GMBH. BE LIABLE FOR ANY CLAIM, DAMAGES
- OR OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT,
- INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF
- CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR
- INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT
- SOFTWARE.
-
- Except as contained in this notice, the names of Bigelow & Holmes
- Inc. and URW++ GmbH. shall not be used in advertising or otherwise to
- promote the sale, use or other dealings in this Font Software without
- prior written authorization from Bigelow & Holmes Inc. and URW++ GmbH.
-
- For further information, contact:
-
- info@urwpp.de
- or
- design@bigelowandholmes.com
-
- \section1 Bitstream Charter and Courier
-
- (c) Copyright 1989-1992, Bitstream Inc., Cambridge, MA.
-
- You are hereby granted permission under all Bitstream propriety rights
- to use, copy, modify, sublicense, sell, and redistribute the 4 Bitstream
- Charter (r) Type 1 outline fonts and the 4 Courier Type 1 outline fonts
- for any purpose and without restriction; provided, that this notice is
- left intact on all copies of such fonts and that Bitstream's trademark
- is acknowledged as shown below on all unmodified copies of the 4 Charter
- Type 1 fonts.
-
- BITSTREAM CHARTER is a registered trademark of Bitstream Inc.
-
- \section1 Bitstream Vera
-
- Copyright (c) 2003 by Bitstream, Inc.
-
- All Rights Reserved.
-
- Bitstream Vera is a trademark of Bitstream, Inc.
-
- Permission is hereby granted, free of charge, to any person obtaining
- a copy of the fonts accompanying this license ("Fonts") and associated
- documentation files (the "Font Software"), to reproduce and distribute
- the Font Software, including without limitation the rights to use,
- copy, merge, publish, distribute, and/or sell copies of the Font
- Software, and to permit persons to whom the Font Software is furnished
- to do so, subject to the following conditions:
-
- The above copyright and trademark notices and this permission notice
- shall be included in all copies of one or more of the Font Software
- typefaces.
-
- The Font Software may be modified, altered, or added to, and in
- particular the designs of glyphs or characters in the Fonts may be
- modified and additional glyphs or characters may be added to the
- Fonts, only if the fonts are renamed to names not containing either
- the words "Bitstream" or the word "Vera".
-
- This License becomes null and void to the extent applicable to Fonts
- or Font Software that has been modified and is distributed under the
- "Bitstream Vera" names.
-
- The Font Software may be sold as part of a larger software package but
- no copy of one or more of the Font Software typefaces may be sold by
- itself.
-
- THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
- OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL
- BITSTREAM OR THE GNOME FOUNDATION BE LIABLE FOR ANY CLAIM, DAMAGES OR
- OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL,
- OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR
- OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT
- SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE.
-
- Except as contained in this notice, the names of Gnome, the Gnome
- Foundation, and Bitstream Inc., shall not be used in advertising or
- otherwise to promote the sale, use or other dealings in this Font
- Software without prior written authorization from the Gnome Foundation
- or Bitstream Inc., respectively. For further information, contact:
- fonts at gnome dot org.
-
- \omit
- http://www.gnome.org/fonts/#Final_Bitstream_Vera_Fonts
- \endomit
-
- See also:
- \l{http://www.bitstream.com/font_rendering/products/dev_fonts/vera.html}{Vera Open Source Fonts}
-
- \section1 Cursor
-
- The Cursor font is distributed with the following declaration:
-
- \e{Copyright (c) 2000 XFree86, Inc.}
-
- \section1 DejaVu Fonts
-
- DejaVu fonts come with the following copyright statement:
-
- Fonts are (c) Bitstream (see below). DejaVu changes are in public domain. Glyphs imported from Arev fonts are (c) Tavmjung Bah (see below)
-
- \snippet doc/src/snippets/code/doc_src_licenses.qdoc 2
-
- \section1 Fixed Fonts
-
- The 5x7 and 6x13 fonts each contain the following copyright notice:
-
- \e{Public domain font. Share and enjoy.}
-
- \section1 IBM Courier
-
- IBM Courier - Copyright (c) IBM Corporation 1990, 1991
-
- You are hereby granted permission under the terms of the IBM/MIT X Consortium
- Courier Typefont agreement to execute, reproduce, distribute, display, market,
- sell and otherwise transfer copies of the IBM Courier font to third parties.
-
- The font is provided "AS IS" without charge. NO WARRANTIES OR INDEMNIFICATION
- ARE GIVEN, WHETHER EXPRESS OR IMPLIED INCLUDING, BUT LIMITED TO THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-
- \section1 Micro
-
- The Micro font contains the following copyright notice:
-
- \e{Public domain font. Share and enjoy.}
-
- \section1 Unifont
-
- The Unifont font was originally obtained from
- \l{http://www.czyborra.com/}{Roman Czyborra} under the following license:
-
- \e{All of my works you find here are freeware. You may freely copy, use, quote,
- modify or redistribute them as long as you properly attribute my contribution
- and have given a quick thought about whether Roman might perhaps be interested
- to read what you did with his stuff. Horizontal rules don't apply.}
-*/
diff --git a/doc/src/linguist-manual.qdoc b/doc/src/linguist-manual.qdoc
index ee59fdc..fd062bb 100644
--- a/doc/src/linguist-manual.qdoc
+++ b/doc/src/linguist-manual.qdoc
@@ -247,10 +247,10 @@
subsequent \l lupdate runs would probably take place during the
final beta phase.
- The \c .ts file format is a simple human-readable XML format that
+ The TS file format is a simple human-readable XML format that
can be used with version control systems if required. \c lupdate
can also process Localization Interchange File Format (XLIFF)
- format files; file in this format typically have file names that
+ format files; files in this format typically have file names that
end with the \c .xlf suffix.
Pass the \c -help option to \c lupdate to obtain the list of
@@ -266,19 +266,19 @@
Usage: \c {lrelease myproject.pro}
- \l lrelease is a command line tool that produces \c .qm files out
- of \c .ts files. The \c .qm file format is a compact binary format
+ \l lrelease is a command line tool that produces QM files out
+ of TS files. The QM file format is a compact binary format
that is used by the localized application. It provides extremely
- fast lookups for translations. The \c .ts files \l lrelease
+ fast lookups for translations. The TS files \l lrelease
processes can be specified at the command line, or given
indirectly by a Qt \c .pro project file.
This tool is run whenever a release of the application is to be
made, from initial test version through to final release
- version. If the \c .qm files are not created, e.g. because an
+ version. If the QM files are not created, e.g. because an
alpha release is required before any translation has been
undertaken, the application will run perfectly well using the text
- the programmers placed in the source files. Once the \c .qm files
+ the programmers placed in the source files. Once the QM files
are available the application will detect them and use them
automatically.
@@ -293,7 +293,7 @@
\section1 Missing Translations
- Both \l lupdate and \l lrelease may be used with \c .ts
+ Both \l lupdate and \l lrelease may be used with TS
translation source files which are incomplete. Missing
translations will be replaced with the native language phrases at
runtime.
@@ -317,8 +317,8 @@
from the taskbar menu, or by double clicking the desktop icon, or
by entering the command \c {linguist} at the command line. Once
\QL has started, choose \menu{File|Open} from the \l{menubar}
- {menu bar} and select a translation source (\c{.ts} file) to
- load. If you don't have a \c{.ts} file, see the \l {Qt Linguist
+ {menu bar} and select a translation source (TS file) to
+ load. If you do not have a TS file, see the \l {Qt Linguist
Manual: Release Manager} {release manager manual} to learn how to
generate one.
@@ -928,12 +928,12 @@
\image linguist-previewtool.png
- Forms created by \e{Qt Designer} are stored in special \c .ui files.
- \QL can make use of these \c .ui files to show the translations
- done so far on the form itself. This of course requires access to the \c .ui
+ Forms created by \e{Qt Designer} are stored in special UI files.
+ \QL can make use of these UI files to show the translations
+ done so far on the form itself. This of course requires access to the UI
files during the translation process. Activate
\menu{Tools|Open/Refresh Form Preview} to open the window shown above.
- The list of \c .ui files \QL has detected are displayed in the Forms
+ The list of UI files \QL has detected are displayed in the Forms
List on the left hand. If the path to the files has changed, you can load
the files manually via \menu{File|Open Form...}. Double-click on an entry
in the Forms List to display the Form File. Select \e{<No Translation>} from
@@ -947,15 +947,15 @@
\QL makes use of four kinds of files:
\list
- \o \c .ts \e {translation source files} \BR are human-readable XML
+ \o TS \e {translation source files} \BR are human-readable XML
files containing source phrases and their translations. These files are
usually created and updated by \l lupdate and are specific to an
application.
\o \c .xlf \e {XLIFF files} \BR are human-readable XML files that adhere
to the international XML Localization Interchange File Format. \QL
can be used to edit XLIFF files generated by other programs. For standard
- Qt projects, however, only the \c .ts file format is used.
- \o \c .qm \e {Qt message files} \BR are binary files that contain
+ Qt projects, however, only the TS file format is used.
+ \o QM \e {Qt message files} \BR are binary files that contain
translations used by an application at runtime. These files are
generated by \l lrelease, but can also be generated by \QL.
\o \c .qph \e {Qt phrase book files} \BR are human-readable XML
@@ -974,18 +974,18 @@
\list
\o \gui {Open... Ctrl+O} \BR pops up an open file dialog from which a
translation source \c .ts or \c .xlf file can be chosen.
- \o \gui {Recently opened files} \BR shows the \c .ts files that
+ \o \gui {Recently opened files} \BR shows the TS files that
have been opened recently, click one to open it.
\o \gui {Save Ctrl+S} \BR saves the current translation source file.
\o \gui {Save As...} \BR pops up a save as file dialog so that the
current translation source file may be saved with a different
name, format and/or put in a different location.
- \o \gui {Release} \BR create a Qt message \c .qm file with the same base
+ \o \gui {Release} \BR create a Qt message QM file with the same base
name as the current translation source file. The release manager's
command line tool \l lrelease performs the same function on
\e all of an application's translation source files.
\o \gui {Release As...} \BR pops up a save as file dialog. The
- filename entered will be a Qt message \c .qm file of the translation
+ filename entered will be a Qt message QM file of the translation
based on the current translation source file. The release manager's
command line tool \l lrelease performs the same function on
\e all of an application's translation source files.
@@ -1136,16 +1136,15 @@
\list
\o \inlineimage linguist-fileopen.png
\BR
- Pops up the open file dialog to open a new translation source \c .ts
- file.
+ Pops up the open file dialog to open a new translation source TS file.
\o \inlineimage linguist-filesave.png
\BR
- Saves the current translation source \c .ts file.
+ Saves the current translation source TS file.
\o \inlineimage linguist-fileprint.png
\BR
- Prints the current translation source \c .ts file.
+ Prints the current translation source TS file.
\o \inlineimage linguist-phrasebookopen.png
\BR
@@ -1263,10 +1262,10 @@
Translation files are created as follows:
\list 1
- \o Run \l lupdate initially to generate the first set of \c .ts
+ \o Run \l lupdate initially to generate the first set of TS
translation source files with all the user-visible text but no
translations.
- \o The \c .ts files are given to the translator who adds translations
+ \o The TS files are given to the translator who adds translations
using \QL. \QL takes care of any changed
or deleted source text.
\o Run \l lupdate to incorporate any new text added to the
@@ -1274,7 +1273,7 @@
application with the translations; it does not destroy any data.
\o Steps 2 and 3 are repeated as often as necessary.
\o When a release of the application is needed \l lrelease is run to
- read the \c .ts files and produce the \c .qm files used by the
+ read the TS files and produce the QM files used by the
application at runtime.
\endlist
@@ -1319,7 +1318,7 @@
In production applications a more flexible approach, for example,
loading translations according to locale, might be more appropriate. If
- the \c .ts files are all named according to a convention such as
+ the TS files are all named according to a convention such as
\e appname_locale, e.g. \c tt2_fr, \c tt2_de etc, then the
code above will load the current locale's translation at runtime.
@@ -1413,7 +1412,7 @@
To handle plural forms in the native language, you need to load a
translation file for this language, too. \l lupdate has the
\c -pluralonly command line option, which allows the creation of
- \c .ts files containing only entries with plural forms.
+ TS files containing only entries with plural forms.
See the \l{http://doc.trolltech.com/qq/}{Qt Quarterly} Article
\l{http://doc.trolltech.com/qq/qq19-plurals.html}{Plural Forms in Translations}
@@ -1503,7 +1502,7 @@
\contentspage {Qt Linguist Manual}{Contents}
\previouspage Qt Linguist Manual: Programmers
- The \c .ts file format used by \QL is described by the
+ The TS file format used by \QL is described by the
\l{http://www.w3.org/TR/1998/REC-xml-19980210}{DTD} presented below,
which we include for your convenience. Be aware that the format
may change in future Qt releases.
diff --git a/doc/src/mainclasses.qdoc b/doc/src/mainclasses.qdoc
deleted file mode 100644
index 33bb91a..0000000
--- a/doc/src/mainclasses.qdoc
+++ /dev/null
@@ -1,51 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-/*!
- \page mainclasses.html
- \title Qt's Main Classes
- \ingroup classlists
-
- These are the most frequently used Qt classes. For the complete
- list see \link classes.html Qt's Classes \endlink.
-
- \generatelist mainclasses
-*/
diff --git a/doc/src/model-view-programming.qdoc b/doc/src/model-view-programming.qdoc
index e216591..7d7db19 100644
--- a/doc/src/model-view-programming.qdoc
+++ b/doc/src/model-view-programming.qdoc
@@ -1352,7 +1352,7 @@
The \l{QAbstractItemModel::data()}{data()} function is responsible for
returning the item of data that corresponds to the index argument:
- \snippet doc/src/snippets/stringlistmodel/model.cpp 1
+ \snippet doc/src/snippets/stringlistmodel/model.cpp 1-data-read-only
We only return a valid QVariant if the model index supplied is valid,
the row number is within the range of items in the string list, and the
@@ -1390,6 +1390,7 @@
The read-only model shows how simple choices could be presented to the
user but, for many applications, an editable list model is much more
useful. We can modify the read-only model to make the items editable
+ by changing the data() function we implemented for read-only, and
by implementing two extra functions:
\l{QAbstractItemModel::flags()}{flags()} and
\l{QAbstractItemModel::setData()}{setData()}.
@@ -1399,7 +1400,7 @@
\snippet doc/src/snippets/stringlistmodel/model.h 3
\section2 Making the Model Editable
-
+
A delegate checks whether an item is editable before creating an
editor. The model must let the delegate know that its items are
editable. We do this by returning the correct flags for each item in
@@ -1434,6 +1435,10 @@
one item of data has changed, the range of items specified in the signal
is limited to just one model index.
+ Also the data() function needs to be changed to add the Qt::EditRole test:
+
+ \snippet doc/src/snippets/stringlistmodel/model.cpp 1
+
\section2 Inserting and Removing Rows
It is possible to change the number of rows and columns in a model. In the
diff --git a/doc/src/paintsystem.qdoc b/doc/src/paintsystem.qdoc
index 56f60a3..c2434e0 100644
--- a/doc/src/paintsystem.qdoc
+++ b/doc/src/paintsystem.qdoc
@@ -121,7 +121,7 @@
Normally, QPainter draws in a "natural" coordinate system, but it
is able to perform view and world transformations using the
- QMatrix class. For more information, see \l {The Coordinate
+ QTransform class. For more information, see \l {The Coordinate
System} documentation which also describes the rendering process,
i.e. the relation between the logical representation and the
rendered pixels, and the benefits of anti-aliased painting.
@@ -292,9 +292,7 @@
looking the same.
Qt provides the QPicture::load() and QPicture::save() functions
- for loading and saving pictures. But in addition the QPictureIO
- class is provided to enable the programmer to install new picture
- file formats in addition to those that Qt provides.
+ as well as streaming operators for loading and saving pictures.
\section2 Printer
diff --git a/doc/src/platform-notes-rtos.qdoc b/doc/src/platform-notes-rtos.qdoc
new file mode 100644
index 0000000..8a52d84
--- /dev/null
+++ b/doc/src/platform-notes-rtos.qdoc
@@ -0,0 +1,220 @@
+/*!
+ \page platform-notes-vxworks.html
+ \title Platform Notes - VxWorks
+ \contentspage Platform Notes
+ \target VxWorks
+
+ \note VxWorks is a community supported platform. See the
+ \l{Supported Platforms} page for more information.
+
+ This page contains information about the Qt for VxWorks port. More
+ information about the combinations of platforms and compilers supported
+ by Qt can be found on the \l{Supported Platforms} page.
+
+ \tableofcontents
+
+ \section1 Supported Versions
+
+ Qt has been tested on WindRiver VxWorks 6.7 in kernel mode using the
+ vendor supplied GCC compiler, targetting both the x86 simulator
+ (simpentium) and Power-PC devices (ppc).
+ VxWorks' RTP mode is currently not supported.
+
+ \section1 Limitations
+
+ The VxWorks kernel has an optional POSIX compatibility layer, but this
+ layer does not implement all POSIX functionality needed for a complete
+ Qt port.
+
+ \table
+ \header \o Function \o Notes
+ \row \o QProcess
+ \o Not available - VxWorks has no concept of processes.
+ \row \o QSharedMemory
+ \o Not available - VxWorks has only a global, flat address space.
+ \row \o QSystemSemaphore
+ \o Not available - VxWorks has no concept of processes.
+ \row \o QLibrary
+ \o QLibrary is only a small stub to make it possible to build
+ static plugins.
+ \row \o QCoreApplication
+ \o Can only be instantiated once. Qt's Q(CoreE)Application is
+ tightly coupled to one address space and process, while VxWorks
+ only supports one global address space and has no concept of
+ processes.
+ \row \o Phonon
+ \o There is no standard audio backend, which could be integrated into Phonon.
+ \row \o Qt3Support
+ \o The Qt3Support library is not available on QNX.
+
+ \endtable
+
+ \section1 Build Instructions
+
+ Qt for VxWorks needs to be \l{Cross-Compiling Qt for Embedded Linux
+ Applications}{cross-compiled} on a Linux host. \c configure and \c make
+ the build like you would with a standard \l{Cross-Compiling Qt for
+ Embedded Linux Applications}{embedded Linux cross build}. Building the
+ VxWorks simulator would be done like this:
+
+ \code
+ <path/to/qt/sources>/configure -xplatform unsupported/vxworks-simpentium-g++ -embedded vxworks -exceptions -no-gfx-linuxfb -no-mouse-linuxtp -no-mouse-pc -no-kbd-tty
+ make
+ \endcode
+
+ \list
+ \o \c{-xplatform unsupported/qws/vxworks-simpentium-g++} - selects the x86 simulator mkspec for VxWorks
+ \o \c{-embedded vxworks} - builds the embedded version of Qt and sets the architecture to VxWorks
+ \o \c{-exceptions} - see General Notes below
+ \o \c{-no-gfx-linuxfb}, \c{-no-mouse-linuxtp}, \c{-no-mouse-pc} and \c{-no-kbd-tty} are Linux specific and won't work on VxWorks
+ \endlist
+
+ \section1 General Notes
+
+ \list
+
+ \o Configuring with \c{-exceptions} is necessary, because the VxWorks
+ 6.7 g++ headers require exceptions to be enabled when compiling C++
+ code.
+
+ \o Configure's \c{-xplatform} can be any of
+ \c{unsupported/vxworks-(simpentium|ppc)-(g++|dcc)}, but \c{dcc}
+ (WindRiver DIAB compiler) has not yet tested been tested with Qt 4.6 and
+ VxWorks 6.7.
+
+ \o Building shared libraries with \c{-shared} (the default) doesn't
+ really build shared libraries, like e.g. on Linux, since these are not
+ supported by VxWorks. Instead, qmake will created partially linked
+ objects, that can be loaded at runtime with \c{ld}.
+
+ \o Creating static builds with \c{-static} is fully supported.
+
+ \o "Munching" (generating constructors/destructors for static C++
+ objects) is done automatically by a special qmake extension (for both
+ shared libraries and executables)
+
+ \o VxWorks does not have a file system layer, but the low level storage
+ drivers have to supply a file system like interface to the applications.
+ Since each driver implements a different subset of the functionality
+ supported by this interface, Qt's file system auto-tests show wildly
+ differing results running on different "file systems". The best results
+ can be achieved when running on a (writable) NFS mount, since that
+ provides the most Unix-ish interface. The worst results come from the
+ FTP file system driver, which may crash when accessed by a
+ \c{QFileInfo}.
+
+ \o Keep in mind that VxWorks doesn't call your \c{main()} function with
+ the standard \c{argc}/\c{argv} parameters. So either add a special
+ \c{vxmain()} function or use a tool like \c{callmain} to translate
+ VxWorks' commandline arguments to an \c{argc}/\c{argv} array.
+
+ \o Some example will fail to build, due to some missing dependencies
+ (e.g. shared memory) - this will be fixed in a later release.
+
+ \endlist
+*/
+
+/*!
+ \page platform-notes-qnx.html
+ \title Platform Notes - QNX
+ \contentspage Platform Notes
+ \target QNX
+
+ \note QNX is a community supported platform. See the
+ \l{Supported Platforms} page for more information.
+
+ This page contains information about the Qt for QNX port. More
+ information about the combinations of platforms and compilers supported
+ by Qt can be found on the \l{Supported Platforms} page.
+
+ Note that Qt for QNX is currently based on \l{Qt for Embedded Linux}, which
+ contains its own windowing system. Mixing QNX's Photon environment with
+ Qt for QNX is currently not possible. Building Qt for QNX with Photon's
+ X11 embedded server is not recommended due to missing support for X11 extensions,
+ resulting in poor rendering quality.
+
+ Qt for QNX contains experimental screen and input drivers based on QNX's
+ \c devi-hid and \c io-display. For more information, check the class documentation
+ for QQnxScreen, QWSQnxKeyboardHandler and QQnxMouseHandler. See the
+ \l{Porting Qt for Embedded Linux to a New Architecture} document for information
+ on how to add custom screen or input drivers.
+
+ \tableofcontents
+
+ \section1 Supported Versions
+
+ Qt has been tested on QNX 6.4 on i386 and PowerPC targets with QNX's default
+ gcc compiler.
+
+ \section1 Limitations
+
+ Some of Qt's functionality is currently not available on QNX:
+
+ \table
+ \header \o Function \o Notes
+ \row \o QProcess
+ \o Not available - QNX doesn't support mixing threads and processes.
+ \row \o QSharedMemory
+ \o Not available - QNX doesn't support SYSV style shared memory.
+ \row \o QSystemSemaphore
+ \o Not available - QNX doesn't support SYSV style system semaphores.
+ \row \o QWS Multi Process
+ \o QT_NO_QWS_MULTIPROCESS is always on due to missing shared memory support.
+ \row \o Phonon
+ \o There is no standard audio backend, which could be integrated into Phonon.
+ \row \o Qt3Support
+ \o The Qt3Support library is not available on QNX.
+ \endtable
+
+ \section1 Build Instructions
+
+ Qt for QNX needs to be built either on a QNX system, or \l{Cross-Compiling Qt
+ for Embedded Linux Applications}{cross-compiled} on a Linux host. In either
+ case, The QNX Software Development Platform must be installed.
+
+ Example configure line for cross-compiling Qt for QNX on a Linux host for an
+ i386 QNX target:
+
+ \code
+ configure -xplatform unsupported/qws/qnx-i386-g++ -embedded i386 -no-gfx-linuxfb -no-mouse-linuxtp -no-kbd-tty -no-qt3support -qt-gfx-qnx -qt-mouse-qnx -qt-kbd-qnx -no-exceptions
+ \endcode
+
+ \list
+ \o \c{-xplatform unsupported/qws/qnx-i386-g++} - selects the i386-g++ mkspec for QNX
+ \o \c{-embedded i386} - builds the embedded version of Qt and sets the architecture to i386
+ \o \c{-no-gfx-linuxfb}, \c{-no-mouse-linuxtp} and \c{-no-kbd-tty} are Linux specific and won't work on QNX
+ \o \c{-no-qt3support} - required since the Qt3 support classes are not supported on QNX
+ \o \c{-no-exceptions} - reduces the size of the library by disabling exception support
+ \o \c{-qt-gfx-qnx} - enables the experimental \c{io-graphics} based display driver
+ \o \c{-qt-mouse-qnx} - enables the experimental \c{devi-hig} based mouse driver
+ \o \c{-qt-kbd-qnx} - enables the experimental \c{devi-hig} based keyboard driver
+ \endlist
+
+ \section1 General Notes
+
+ \list
+ \o To enable the experimental QNX display and input drivers, \c{io-display} needs to be
+ up and running. The \c devi-hid based Qt input drivers require \c devi-hid to run
+ in resource mode without Photon support. To enable a standard mouse and keyboard
+ combination, run \c devi-hid as follows: \c{/usr/photon/bin/devi-hid -Pr kbd mouse}.
+ Note that your current shell will not accept keyboard and mouse input anymore after
+ running that command, so run it either from a script that launches a Qt application
+ afterwards, or make sure to have remote login available to launch a Qt application.
+ In addition, the \c QWS_DISPLAY, \c QWS_MOUSE_PROTO and \c QWS_KEYBOARD environment
+ variables should all be set to \c{qnx} before running a Qt application.
+
+ \o The 3rd party TIFF library currently doesn't build due to the missing \c inflateSync
+ symbol from QNX's \c{libz.so.2}. Workarounds would be to manually replace QNX's libz
+ with a newer version, or disable the TIFF plugin entierly by appending
+ \c{QT_CONFIG += no-tiff} to \c{.qmake.cache} after configuring Qt.
+
+ \o Some of the tools, examples and demos do not compile due to dependencies on QProcess
+ or other classes that are not available on QNX.
+ \endlist
+
+ \section1 Platform Regressions
+
+ Qt for QNX's behavior is mostly identical with \l{Qt for Embedded Linux}. However,
+ some regressions were spotted in QDateTime computation around year 0 and year 1970,
+ which have been tracked back to faulty time zone data on some QNX versions.
+*/
diff --git a/doc/src/platform-notes.qdoc b/doc/src/platform-notes.qdoc
index de1fb74..d6f9328 100644
--- a/doc/src/platform-notes.qdoc
+++ b/doc/src/platform-notes.qdoc
@@ -60,6 +60,10 @@
\tableofcontents{1 Platform Notes - Embedded Linux}
\o \l{Platform Notes - Windows CE}
\tableofcontents{1 Platform Notes - Windows CE}
+ \o \l{Platform Notes - QNX}
+ \tableofcontents{1 Platform Notes - QNX}
+ \o \l{Platform Notes - VxWorks}
+ \tableofcontents{1 Platform Notes - VxWorks}
\endlist
See also the \l{Compiler Notes} for information about compiler-specific
@@ -67,7 +71,8 @@
supported by Qt can be found on the \l{Supported Platforms} page.
If you have anything to add to this list or any of the platform or
- compiler-specific pages, please submit it via the \l{Bug Report Form}.
+ compiler-specific pages, please submit it via the \l{Bug Report Form}
+ or through the \l{Public Qt Repository}.
*/
/*!
@@ -374,133 +379,6 @@
*/
/*!
- \page supported-platforms.html
- \title Supported Platforms
- \brief The platforms supported by Nokia for Qt.
- \ingroup platform-notes
-
- Qt is supported on a variety of 32-bit and 64-bit platforms, and can
- usually be built on each platform with GCC, a vendor-supplied compiler, or
- a third party compiler. Although Qt may be built on a range of platform-compiler
- combinations, only a subset of these are actively supported by Qt.
-
- A more general overview of the platforms Qt runs on can be found on the
- \l{Platform Notes} page. Information about the compilers used on each platform
- can be found on the \l{Compiler Notes} page.
-
- \tableofcontents
-
- \section1 Most Common Actively Supported Platforms
-
- \table
- \header \o Platform \o Compilers
- \row \o Apple Mac OS X (32-bit) \o gcc 4.0.1
- \row \o Linux (32 and 64-bit) \o gcc 4.1, 4.2, 4.3
- \row \o Microsoft Windows \o gcc 3.4.2 (MinGW) (32-bit), MSVC 2003, 2005 (32 and 64-bit), 2008,
- \l{Intel C++ Compiler}{Intel icc (see note)}
- \endtable
-
- Any platform-compiler combinations not listed here should be considered unsupported.
-
- \section1 Actively Supported Platforms
-
- \table
- \header \o OS \o Architecture \o Makespec \o Compiler version(s)
- \row \o AIX \o PowerPC \o aix-xlc \o xlC 6
- \row \o AIX \o PowerPC \o aix-xlc-64 \o xlC 6
- \row \o HPUX \o PA/RISC \o hpux-acc* \o A.03.57 (aCC 3.57)
- \row \o HPUX \o PA/RISC \o hpux-g++ \o GCC 3.4.4
- \row \o HPUX \o PA/RISC \o hpux-g++-64 \o GCC 3.4.4
- \row \o HPUX \o Itanium \o hpuxi-acc* \o A.06.10 (aCC 6.10)
- \row \o Embedded Linux \o ARM \o qws/linux-arm-g++ \o GCC 3.4, 4.1, 4.2, 4.3
- \row \o Embedded Linux \o Intel 32-bit \o qws/linux-x86-g++ \o GCC 3.4, 4.1, 4.2, 4.3
- \row \o Linux \o Intel 32/64-bit \o linux-g++ \o GCC 4.1, 4.2, 4.3
- \row \o Linux \o Intel 32/64-bit \o linux-icc \o icc 10.1
- \row \o Linux \o Intel 32-bit \o linux-icc-32 \o icc 10.1
- \row \o Linux \o Intel 64-bit \o linux-icc-64 \o icc 10.1
- \row \o Mac OS X \o Intel 32/64-bit, PowerPC \o macx-g++ \o GCC 4.0.1
- \row \o Mac OS X \o Intel 32/64-bit, PowerPC \o macx-g++42 \o GCC 4.2
- \row \o Solaris \o SPARC, Intel 32-bit \o solaris-cc* \o Sun CC 5.5
- \row \o Solaris \o SPARC, Intel 32-bit \o solaris-g++* \o GCC 3.4.2
- \row \o Windows XP/Vista \o Intel 32/64-bit \o win32-g++ \o GCC 3.4.2 (MinGW 5.1.4)
- \row \o Windows XP/Vista \o Intel 32/64-bit \o win32-icc \o icc 9.1
- \row \o Windows XP/Vista \o Intel 32/64-bit \o win32-msvc2003 \o Visual Studio 2003
- \row \o Windows XP/Vista \o Intel 32/64-bit \o win32-msvc2005 \o Visual Studio 2005
- \row \o Windows XP/Vista \o Intel 32/64-bit \o win32-msvc2008 \o Visual Studio 2008
- \row \o Windows CE \o Intel 32-bit, ARMv4i, MIPS
- \o wince*-msvc2005 \o Visual Studio 2005
- \row \o Windows CE \o Intel 32-bit, ARMv4i, MIPS
- \o wince*-msvc2008 \o Visual Studio 2008
- \endtable
-
- \section1 Community Supported Platforms
-
- \table
- \header \o OS \o Architecture \o Makespec \o Compiler version(s)
- \row \o Mac OS X \o Intel 32-bit, PowerPC \o darwin-g++ \o -
- \row \o FreeBSD \o - \o freebsd-g++ \o -
- \row \o FreeBSD \o - \o freebsd-g++34 \o -
- \row \o FreeBSD \o - \o freebsd-g++40 \o -
- \row \o FreeBSD \o - \o freebsd-icc \o -
- \row \o HPUX \o Itanium \o hpuxi-g++* \o GCC 4.1
- \row \o Linux \o - \o linux-cxx \o -
- \row \o Linux \o - \o linux-ecc-64 \o -
- \row \o Linux \o Itanium \o linux-g++ \o GCC 3.4
- \row \o Linux \o Intel 32/64-bit \o linux-g++ \o GCC 3.3, 3.4
- \row \o Linux \o Intel 32/64-bit \o linux-g++ \o GCC 4.0
- \row \o Linux \o - \o linux-kcc \o -
- \row \o Linux \o - \o linux-llvm \o -
- \row \o Linux \o - \o linux-lsb-g++ \o -
- \row \o LynxOS \o - \o lynxos-g++ \o -
- \row \o Mac OS X \o - \o macx-llvm \o -
- \row \o NetBSD \o - \o netbsd-g++ \o -
- \row \o OpenBSD \o - \o openbsd-g++ \o -
- \row \o Embedded Linux \o MIPS, PowerPC \o qws/linux-g++ \o GCC 3.4, 4.1, 4.2, 4.3
- \endtable
-
- \section1 Unsupported Platforms
-
- The following platforms were supported in previous releases, either as actively supported
- or community supported platforms, but are now unsupported.
-
- \table
- \header \o OS \o Architecture \o Makespec \o Compiler version(s)
- \row \o IRIX \o MIPS \o irix-cc* \o MIPS Pro
- \row \o IRIX \o MIPS \o irix-g++* \o GCC 3.3
- \row \o Windows XP/Vista \o Intel 32/64-bit \o win32-msvc \o Visual C++ 6.0
- \row \o Windows XP/Vista \o Intel 32/64-bit \o win32-msvc2002 \o Visual Studio 2002
- \row \o Windows XP/Vista \o Intel 32/64-bit \o win32-msvc.net \o Visual Studio 2002
- \endtable
-
- Qt's online \l{Platform Support Policy} for Qt describes the level of
- support you should expect for these platforms.
-
- \section1 Supported Features
-
- Not all compilers used to build Qt are able to compile all modules. The following table
- shows the compiler support for five modules that are not uniformly available for all
- platforms and compilers.
-
- \table
- \header \o Compiler \o{5,1} Features
- \header \o \o Concurrent \o XmlPatterns \o WebKit \o CLucene \o Phonon
- \row \o g++ 3.3 \o \o \bold{X} \o \o \bold{X} \o \bold{X}
- \row \o g++ 3.4 and up \o \bold{X} \o \bold{X} \o \bold{X} \o \bold{X} \o \bold{X}
- \row
- \row \o SunCC 5.5 \o \o \o \o \bold{X} \o \bold{X}
- \row
- \row \o aCC series 3 \o \o \o \o \bold{X} \o \bold{X}
- \row \o aCC series 6 \o \bold{X} \o \bold{X} \o \bold{X} \o \bold{X} \o \bold{X}
- \row \o xlC 6 \o \o \o \o \bold{X} \o \bold{X}
- \row \o \l{Known Issues in %VERSION%}{Intel CC 10 (see note)}
- \o \bold{X} \o \bold{X} \o \bold{X} \o \bold{X} \o \bold{X}
- \row
- \row \o MSVC 2003 \o \bold{X} \o \bold{X} \o \o \bold{X} \o \bold{X}
- \row \o MSVC 2005 and up \o \bold{X} \o \bold{X} \o \bold{X} \o \bold{X} \o \bold{X}
- \endtable
-*/
-
-/*!
\page platform-notes-windows-ce.html
\title Platform Notes - Windows CE
\contentspage Platform Notes
@@ -534,218 +412,3 @@
information about the combinations of platforms and compilers supported
by Qt can be found on the \l{Supported Platforms} page.
*/
-
-/*!
- \page compiler-notes.html
- \ingroup platform-notes
- \title Compiler Notes
- \brief Information about the C++ compilers and tools used to build Qt.
-
- This page contains information about the C++ compilers and tools used
- to build Qt on various platforms.
-
- \tableofcontents
-
- Please refer to the \l{Platform Notes} for information on the platforms
- Qt is currently known to run on, and see the \l{Supported Platforms}
- page for information about the status of each platform.
-
- If you have anything to add to this list or any of the platform or
- compiler-specific pages, please submit it via the
- \l{Bug Report Form}.
-
- \target GCC
- \section1 GCC
-
- \section2 GCC on Windows (MinGW)
-
- We have tested Qt with this compiler on Windows XP.
- The minimal version of MinGW supported is:
-
- \list
- \o GCC 3.4.2
- \o MinGW runtime 3.7
- \o win32api 3.2
- \o binutils 2.15.91
- \o mingw32-make 3.80.0-3
- \endlist
-
- \section2 GCC 4.0.0
-
- The released package of the compiler has some bugs that lead to miscompilations.
- We recommend using GCC 4.0.1 or later, or to use a recent CVS snapshot of the
- GCC 4.0 branch. The version of GCC 4.0.0 that is shipped with Mac OS X 10.4
- "Tiger" is known to work with Qt for Mac OS X.
-
- \section2 HP-UX
-
- The hpux-g++ platform is tested with GCC 3.4.4.
-
- \section2 Solaris
-
- Please use GCC 3.4.2 or later.
-
- \section2 Mac OS X
-
- Please use the latest GCC 3.3 from Apple or a later version of GCC 3.
- The gcc 3.3 that is provided with Xcode 1.5 is known to generate bad code.
- Use the November 2004 GCC 3.3 updater \l{http://connect.apple.com}{available from Apple}.
-
- \section2 GCC 3.4.6 (Debian 3.4.6-5) on AMD64 (x86_64)
-
- This compiler is known to miscompile some parts of Qt when doing a
- release build. There are several workarounds:
-
- \list 1
- \o Use a debug build instead.
- \o For each miscompilation encountered, recompile the file, removing the -O2 option.
- \o Add -fno-gcse to the QMAKE_CXXFLAGS_RELEASE.
- \endlist
-
- \section1 HP ANSI C++ (aCC)
-
- The hpux-acc-32 and hpux-acc-64 platforms are tested with aCC A.03.57. The
- hpuxi-acc-32 and hpuxi-acc-64 platforms are tested with aCC A.06.10.
-
- \section1 Intel C++ Compiler
-
- Qt supports the Intel C++ compiler on both Windows and Linux.
- However, there are a few issues on Linux (see the following
- section).
-
- \section2 Intel C++ Compiler for Linux
-
- Nokia currently tests the following compilers:
-
- \list
-
- \o Intel(R) C++ Compiler for applications running on IA-32,
- Version 10.1 Build 20080602 Package ID: l_cc_p_10.1.017
-
- \o Intel(R) C++ Compiler for applications running on Intel(R) 64,
- Version 10.1 Build 20080602 Package ID: l_cc_p_10.1.017
-
- \endlist
-
- We do not currently test the IA-64 (Itanium) compiler.
-
- \section2 Known Issues with Intel C++ Compiler for Linux
-
- \list
-
- \o Precompiled header support does not work in version 10.0.025
- and older. For these compilers, you should configure Qt with
- -no-pch. Precompiled header support works properly in version
- 10.0.026 and later.
- \o Version 10.0.026 for Intel 64 is known to miscompile qmake when
- building in release mode. For now, configure Qt with
- -debug. Version 10.1.008 and later can compile qmake in release
- mode.
- \o Versions 10.1.008 to 10.1.015 for both IA-32 and Intel 64 are
- known crash with "(0): internal error: 0_47021" when compiling
- QtXmlPatterns, QtWebKit, and Designer in release mode. Version
- 10.1.017 compiles these modules correctly in release mode.
- \endlist
-
- \section2 Intel C++ Compiler (Windows, Altix)
-
- Qt 4 has been tested successfully with:
-
- \list
- \o Windows - Intel(R) C++ Compiler for 32-bit applications,
- Version 8.1 Build 20050309Z Package ID: W_CC_PC_8.1.026
- \o Altix - Intel(R) C++ Itanium(R) Compiler for Itanium(R)-based
- applications Version 8.1 Build 20050406 Package ID: l_cc_pc_8.1.030
- \endlist
-
- We currently only test the Intel compiler on 32-bit Windows versions.
-
- \section1 MIPSpro (IRIX)
-
- \bold{IRIX is an unsupported platform. See the \l{Supported Platforms} page
- and Qt's Software's online \l{Platform Support Policy} page for details.}
-
- Qt 4.4.x requires MIPSpro version 7.4.2m.
-
- Note that MIPSpro version 7.4.4m is currently not supported, since it has
- introduced a number of problems that have not yet been resolved.
- We recommend using 7.4.2m for Qt development. However, please note the
- unsupported status of this platform.
-
- \target Sun Studio
- \section1 Forte Developer / Sun Studio (Solaris)
-
- \section2 Sun Studio
-
- Qt is tested using Sun Studio 8 (Sun CC 5.5). Go to
- \l{Sun Studio Patches} page on Sun's Web site to download
- the latest patches for your Sun compiler.
-
- \section2 Sun WorkShop 5.0
-
- Sun WorkShop 5.0 is not supported with Qt 4.
-
- \section1 Visual Studio (Windows)
-
- We do most of our Windows development on Windows XP, using Microsoft
- Visual Studio .NET 2005 and Visual Studio 2008 (both the 32- and 64-bit
- versions).
-
- Qt works with the Standard Edition, the Professional Edition and Team
- System Edition of Visual Studio 2005.
-
- We also test Qt 4 on Windows XP with Visual Studio .NET and Visual Studio 2003.
-
- In order to use Qt with the Visual Studio 2005/2008 Express Edition you need
- to download and install the platform SDK. Due to limitations in the
- Express Edition it is not possible for us to install the Qt Visual
- Studio Integration. You will need to use our command line tools to
- build Qt applications with this edition.
-
- The Visual C++ Linker doesn't understand filenames with spaces (as in
- \c{C:\Program files\Qt\}) so you will have to move it to another place,
- or explicitly set the path yourself; for example:
-
- \snippet doc/src/snippets/code/doc_src_compiler-notes.qdoc 0
-
- If you are experiencing strange problems with using special flags that
- modify the alignment of structure and union members (such as \c{/Zp2})
- then you will need to recompile Qt with the flags set for the
- application as well.
-
- If you're using Visual Studio .NET (2002) Standard Edition, you should be
- using the Qt binary package provided, and not the source package.
- As the Standard Edition does not optimize compiled code, your compiled
- version of Qt would perform suboptimally with respect to speed.
-
- With Visual Studio 2005 Service Pack 1 a bug was introduced which
- causes Qt not to compile, this has been fixed with a hotfix available
- from Microsoft. See this
- \l{http://www.qtsoftware.com/developer/faqs/faq.2006-12-18.3281869860}{Knowledge Base entry}
- for more information.
-
- \section1 IBM xlC (AIX)
-
- The makeC++SharedLib utility must be in your PATH and be up to date to
- build shared libraries. From IBM's
- \l{http://www.redbooks.ibm.com/abstracts/sg245674.html}{C and C++ Application Development on AIX}
- Redbook:
-
- \list
- \o "The second step is to use the makeC++SharedLib command to create the
- shared object. The command has many optional arguments, but in its
- simplest form, can be used as follows:"
- \snippet doc/src/snippets/code/doc_src_compiler-notes.qdoc 1
- \o "The full path name to the command is not required; however, to avoid
- this, you will have to add the directory in which it is located to
- your PATH environment variable. The command is located in the
- /usr/vacpp/bin directory with the VisualAge C++ Professional for AIX,
- Version 5 compiler."
- \endlist
-
- \section2 VisualAge C++ for AIX, Version 6.0
-
- Make sure you have the
- \l{http://www-1.ibm.com/support/search.wss?rs=32&amp;tc=SSEP5D&amp;dc=D400}{latest upgrades}
- installed.
-*/
diff --git a/doc/src/plugins-howto.qdoc b/doc/src/plugins-howto.qdoc
index dff8ed9..ab2e294 100644
--- a/doc/src/plugins-howto.qdoc
+++ b/doc/src/plugins-howto.qdoc
@@ -92,7 +92,6 @@
\row \o QInputContextPlugin \o \c inputmethods \o Case Sensitive
\row \o QKbdDriverPlugin \o \c kbddrivers \o Case Insensitive
\row \o QMouseDriverPlugin \o \c mousedrivers \o Case Insensitive
- \row \o QPictureFormatPlugin \o \c pictureformats \o Case Sensitive
\row \o QScreenDriverPlugin \o \c gfxdrivers \o Case Insensitive
\row \o QScriptExtensionPlugin \o \c script \o Case Sensitive
\row \o QSqlDriverPlugin \o \c sqldrivers \o Case Sensitive
diff --git a/doc/src/porting4-canvas.qdoc b/doc/src/porting4-canvas.qdoc
index fa0bc6b..d1221cf 100644
--- a/doc/src/porting4-canvas.qdoc
+++ b/doc/src/porting4-canvas.qdoc
@@ -43,7 +43,7 @@
\page graphicsview-porting.html
\title Porting to Graphics View
\contentspage {Porting Guides}{Contents}
- \previouspage Porting .ui Files to Qt 4
+ \previouspage Porting UI Files to Qt 4
\nextpage qt3to4 - The Qt 3 to 4 Porting Tool
\ingroup porting
\ingroup multimedia
diff --git a/doc/src/porting4-designer.qdoc b/doc/src/porting4-designer.qdoc
index 916894b..7de1d43 100644
--- a/doc/src/porting4-designer.qdoc
+++ b/doc/src/porting4-designer.qdoc
@@ -41,12 +41,12 @@
/*!
\page porting4-designer.html
- \title Porting .ui Files to Qt 4
+ \title Porting UI Files to Qt 4
\contentspage {Porting Guides}{Contents}
\previouspage Porting to Qt 4 - Drag and Drop
\nextpage Porting to Graphics View
\ingroup porting
- \brief Information about changes to the .ui file format in Qt 4.
+ \brief Information about changes to the UI file format in Qt 4.
Qt Designer has changed significantly in the Qt 4 release. We
have moved away from viewing Qt Designer as an IDE and
@@ -57,20 +57,20 @@
IDEs.
The most important changes in Qt Designer 4 which affect porting
- for \c .ui files are summarized below:
+ for UI files are summarized below:
\list
\o \bold{Removed project manager.}
- Qt Designer now only reads and edits \c .ui
- files. It has no notion of a project (\c .pro file).
+ Qt Designer now only reads and edits UI
+ files. It has no notion of a project file (\c .pro).
\o \bold{Removed code editor.}
Qt Designer can no longer be used to edit source files.
- \o \bold{Changed format of \c .ui files.}
+ \o \bold{Changed format of UI files.}
Qt Designer 4 cannot read files created by Qt Designer 3 and
vice versa. However, we provide the tool \c uic3 to generate Qt
- 4 code out of Qt 3 \c .ui files, and to convert old \c .ui files
+ 4 code out of Qt 3 UI files, and to convert old UI files
into a format readable by Qt Designer 4.
\o \bold{Changed structure of the code generated by \c uic.}
@@ -80,7 +80,7 @@
\c Ui::MyForm.
\o \bold{New resource file system.} Icon data is no longer
- stored in the \c .ui file. Instead, icons are put into resource
+ stored in the UI file. Instead, icons are put into resource
files (\c .qrc).
\endlist
@@ -146,9 +146,9 @@
therefore has an interface identical to that of a class generated
by \c uic in Qt 3.
- Creating POD classes from \c .ui files is more flexible and
+ Creating POD classes from UI files is more flexible and
generic than the old approach of creating widgets. Qt Designer
- doesn't need to know anything about the main container apart from
+ does not need to know anything about the main container apart from
the base widget class it inherits. Indeed, \c Ui::HelloWorld can
be used to populate any container that inherits QWidget.
Conversely, all non-GUI aspects of the main container may be
@@ -163,10 +163,10 @@
\list 1
\o To generate headers and source code for a widget to implement any
custom signals and slots added using Qt Designer 3.
- \o To generate a new \c .ui file that can be used with Qt Designer 4.
+ \o To generate a new UI file that can be used with Qt Designer 4.
\endlist
- You can use both these methods in combination to obtain \c{.ui}, header
+ You can use both these methods in combination to obtain UI, header
and source files that you can use as a starting point when porting
your user interface to Qt 4.
@@ -179,7 +179,7 @@
The resulting files \c myform.h and \c myform.cpp implement the
form in Qt 4 using a QWidget that will include custom signals,
- slots and connections specified in the \c .ui file. However,
+ slots and connections specified in the UI file. However,
see below for the \l{#Limitations of uic3}{limitations} of this
method.
@@ -190,7 +190,7 @@
The resulting file \c myform4.ui can be edited in Qt Designer 4. The
header file for the form is generated by Qt 4's \c uic. See the
- \l{Using a Designer .ui File in Your Application} chapter of the
+ \l{Using a Designer UI File in Your Application} chapter of the
\l{Qt Designer Manual} for information about the preferred ways to
use forms created with Qt Designer 4.
@@ -218,7 +218,7 @@
\section1 Limitations of uic3
- Converting Qt 3 \c .ui files to Qt 4 has some limitations. The
+ Converting Qt 3 UI files to Qt 4 has some limitations. The
most noticeable limitation is the fact that since \c uic no
longer generates a QObject, it's not possible to define custom
signals or slots for the form. Instead, the programmer must
@@ -231,9 +231,9 @@
A quick and dirty way to port forms containing custom signals and
slots is to generate the code using \c uic3, rather than \c uic. Since
\c uic3 does generate a QWidget, it will populate it with custom
- signals, slots and connections specified in the \c .ui file.
- However, \c uic3 can only generate code from Qt 3 \c .ui files, which
- implies that the \c .ui files never get translated and need to be
+ signals, slots and connections specified in the UI file.
+ However, \c uic3 can only generate code from Qt 3 UI files, which
+ implies that the UI files never get translated and need to be
edited using Qt Designer 3.
Note also that it is possible to create implicit connections
@@ -256,7 +256,7 @@
\section1 Icons
In Qt 3, the binary data for the icons used by a form was stored
- in the \c .ui file. In Qt 4 icons and any other external files
+ in the UI file. In Qt 4 icons and any other external files
can be compiled into the application by listing them in a \l{The
Qt Resource System}{resource file} (\c .qrc). This file is
translated into a C++ source file using Qt's resource compiler
@@ -306,7 +306,7 @@
the following steps:
\list 1
- \o Use \c{uic3 -convert} to obtain a \c .ui file understood by
+ \o Use \c{uic3 -convert} to obtain a UI file understood by
Qt Designer 4.
\o Create a \c .qrc file with a list of all the icon files.
diff --git a/doc/src/porting4-overview.qdoc b/doc/src/porting4-overview.qdoc
index d91729d..3c3c085 100644
--- a/doc/src/porting4-overview.qdoc
+++ b/doc/src/porting4-overview.qdoc
@@ -115,13 +115,13 @@
support these project-level features.
We recommend using one of the
- \l{Using a Designer .ui File in Your Application}{form subclassing approaches}
+ \l{Using a Designer UI File in Your Application}{form subclassing approaches}
with forms created using Qt Designer. This avoids the need
to use \c{.ui.h} files and special purpose code editors.
Existing Qt 3 forms created using Qt Designer can be gradually
ported to Qt 4 by following the advice in the
- \l{Porting .ui Files to Qt 4} guide. However, some extra effort
+ \l{Porting UI Files to Qt 4} guide. However, some extra effort
will be required to move application logic from \c{.ui.h} files
into the main body of a Qt 4 application.
@@ -195,9 +195,9 @@
QNetworkRequest, QNetworkReply, and QNetworkAccessManager documentation
for further details.
- It is also possible to perform operations on remote files
- through the QHttp and QFtp classes, and on local files with
- the QFile class.
+ It is also possible to perform operations on remote files through
+ the QNetworkAccessManager and QFtp classes, and on local files
+ with the QFile class.
\section2 SQL Cursors (QSqlCursor)
diff --git a/doc/src/porting4.qdoc b/doc/src/porting4.qdoc
index 7ce2969..963b918 100644
--- a/doc/src/porting4.qdoc
+++ b/doc/src/porting4.qdoc
@@ -97,7 +97,7 @@
to developers porting from Qt 3 to Qt 4.
\o \l{Porting to Qt 4 - Drag and Drop} \mdash covers differences in the
way drag and drop is handled between Qt 3 and Qt 4.
- \o \l{Porting .ui Files to Qt 4} \mdash describes the new format used to
+ \o \l{Porting UI Files to Qt 4} \mdash describes the new format used to
describe forms created with \QD.
\o \l{Porting to Graphics View} \mdash provides a class-by-class overview
of the differences between Qt 3's canvas API and Qt 4's Graphics
@@ -135,7 +135,7 @@
\o Run the \l qt3to4 porting tool. The tool will go through your
source code and adapt it to Qt 4.
- \o Follow the instructions in the \l{Porting .ui Files to Qt 4}
+ \o Follow the instructions in the \l{Porting UI Files to Qt 4}
page to port Qt Designer files.
\o Recompile with Qt 4. For each error, search below for related
@@ -347,7 +347,7 @@
macro, removing the need for a \c Q_OVERRIDE() macro.
The table below lists the Qt properties that have been renamed in
- Qt 4. Occurrences of these in \e{Qt Designer} \c .ui files are
+ Qt 4. Occurrences of these in \e{Qt Designer} UI files are
automatically converted to the new name by \c uic.
\table
@@ -406,11 +406,11 @@
Some properties have been removed from Qt 4, but the associated
access functions are provided if \c QT3_SUPPORT is defined to help
- porting to Qt 4. When converting Qt 3 \c .ui files to Qt 4, \c uic
+ porting to Qt 4. When converting Qt 3 UI files to Qt 4, \c uic
generates calls to the Qt 3 compatibility functions. Note that
this only applies to the properties of the Qt3Support library,
i.e. \c QT3_SUPPORT properties of the other libraries must be
- ported manually when converting Qt 3 .ui files to Qt 4.
+ ported manually when converting Qt 3 UI files to Qt 4.
The table below lists these properties with the read and write
functions that you can use instead. The documentation for the
@@ -518,7 +518,7 @@
(Notice the \c & in the parameter declaration.)
\omit
- \section1 Qt Designer .ui Files
+ \section1 Qt Designer UI Files
###
\endomit
@@ -1977,7 +1977,7 @@
\table
\header \o Qt 3 function \o Qt 4 equivalents
- \row \o QImageIO::description() \o QImageWriter::description()
+ \row \o QImageIO::description() \o QImageWriter::text()
\row \o QImageIO::fileName() \o QImageReader::fileName() and QImageWriter::fileName()
\row \o QImageIO::format() \o QImageReader::format() and QImageWriter::format()
\row \o QImageIO::gamma() \o QImageWriter::gamma()
@@ -1988,7 +1988,7 @@
\row \o QImageIO::parameters() \o N/A
\row \o QImageIO::quality() \o QImageWriter::quality()
\row \o QImageIO::read() \o QImageReader::read()
- \row \o QImageIO::setDescription() \o QImageWriter::setDescription()
+ \row \o QImageIO::setDescription() \o QImageWriter::setText()
\row \o QImageIO::setFileName() \o QImageReader::setFileName() and QImageWriter::setFileName()
\row \o QImageIO::setFormat() \o QImageReader::setFormat() and QImageWriter::setFormat()
\row \o QImageIO::setGamma() \o QImageWriter::setGamma()
@@ -2350,8 +2350,9 @@
Q3NetworkProtocolFactory<T>, and Q3NetworkOperation and have been
moved to the Qt3Support library.
- In Qt 4 applications, you can use classes like QFtp and QHttp
- directly to perform file-related actions on a remote host.
+ In Qt 4 applications, you can use classes like QFtp and
+ QNetworkAccessManager directly to perform file-related actions on
+ a remote host.
\section1 QObject
@@ -3241,12 +3242,11 @@
moved to the Qt3Support library. In Qt 4, there is no
direct equivalent to Q3SocketDevice:
- \list
- \o If you use Q3SocketDevice in a thread to perform blocking network
- I/O (a technique encouraged by the \e{Qt Quarterly} article
- \l{http://doc.trolltech.com/qq/qq09-networkthread.html}{Unblocking Networking}),
- you can now use QTcpSocket, QFtp, or QHttp instead, which can now be used from
- non-GUI threads.
+ \list \o If you use Q3SocketDevice in a thread to perform blocking
+ network I/O (a technique encouraged by the \e{Qt Quarterly}
+ article \l{http://doc.trolltech.com/qq/qq09-networkthread.html}
+ {Unblocking Networking}), you can now use QTcpSocket, QFtp, or
+ QNetworkAccessManager, which can be used from non-GUI threads.
\o If you use Q3SocketDevice for UDP, you can now use QUdpSocket instead.
diff --git a/doc/src/properties.qdoc b/doc/src/properties.qdoc
index 5490dd0..d0a9ccc 100644
--- a/doc/src/properties.qdoc
+++ b/doc/src/properties.qdoc
@@ -122,6 +122,17 @@
editable property for (checkable) buttons. Note that QItemDelegate
gets and sets a widget's \c USER property.
+ \o The presence of the \c CONSTANT attibute indicates that the property
+ value is constant. For a given object instance, the READ method of a
+ constant property must return the same value every time it is called. This
+ constant value may be different for different instances of the object. A
+ constant property cannot have a WRITE method or a NOTIFY signal.
+
+ \o The presence of the \c FINAL attribute indicates that the property
+ will not be overridden by a derived class. This can be used for performance
+ optimizations in some cases, but is not enforced by moc. Care must be taken
+ never to override a \c FINAL property.
+
\endlist
The \c READ, \c WRITE, and \c RESET functions can be inherited.
diff --git a/doc/src/qdesktopwidget.qdoc b/doc/src/qdesktopwidget.qdoc
deleted file mode 100644
index 1158904..0000000
--- a/doc/src/qdesktopwidget.qdoc
+++ /dev/null
@@ -1,247 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-/*!
- \class QDesktopWidget
- \brief The QDesktopWidget class provides access to screen information on multi-head systems.
-
- \ingroup advanced
- \ingroup desktop
- \ingroup environment
- \mainclass
-
- QApplication::desktop() function should be used to get an instance
- of the QDesktopWidget.
-
- Systems with more than one graphics card and monitor can manage the
- physical screen space available either as multiple desktops, or as a
- large virtual desktop, which usually has the size of the bounding
- rectangle of all the screens (see isVirtualDesktop()). For an
- application, one of the available screens is the primary screen, i.e.
- the screen where the main widget resides (see primaryScreen()). All
- windows opened in the context of the application should be
- constrained to the boundaries of the primary screen; for example,
- it would be inconvenient if a dialog box popped up on a different
- screen, or split over two screens.
-
- The QDesktopWidget provides information about the geometry of the
- available screens with screenGeometry(). The number of screens
- available is returned by numScreens(). The screen number that a
- particular point or widget is located in is returned by
- screenNumber().
-
- Widgets provided by Qt use this class, for example, to place
- tooltips, menus and dialog boxes according to the parent or
- application widget.
-
- Applications can use this class to save window positions, or to place
- child widgets on one screen.
-
- \img qdesktopwidget.png Managing Multiple Screens
-
- In the illustration above, Application One's primary screen is
- screen 0, and App Two's primary screen is screen 1.
-
- \target multiple screens note
- \note QDesktopWidget inherits the QWidget properties, width() and
- height(), which specify the size of the desktop. However, for
- desktops with multiple screens, the size of the desktop is the union
- of all the screen sizes, so width() and height() should \e not be
- used for computing the size of a widget to be placed on one of the
- screens. The correct width and height values are obtained using
- availableGeometry() or screenGeometry() for a particular screen.
-
- \sa QApplication, QApplication::desktop(), QX11Info::appRootWindow()
-*/
-
-/*!
- \fn QDesktopWidget::QDesktopWidget()
-
- \internal
-
- Creates the desktop widget.
-
- If the system supports a virtual desktop, this widget will have
- the size of the virtual desktop; otherwise this widget will have
- the size of the primary screen.
-
- Instead of using QDesktopWidget directly, use QApplication::desktop().
-*/
-
-/*!
- \fn QDesktopWidget::~QDesktopWidget()
-
- \internal
-
- Destroys the desktop widget and frees any allocated resources.
-*/
-
-/*!
- \fn bool QDesktopWidget::isVirtualDesktop() const
-
- Returns true if the system manages the available screens in a
- virtual desktop; otherwise returns false.
-
- For virtual desktops, screen() will always return the same widget.
- The size of the virtual desktop is the size of this desktop
- widget.
-*/
-
-/*!
- \fn int QDesktopWidget::primaryScreen() const
-
- Returns the index of the primary screen.
-
- \sa numScreens()
-*/
-
-/*!
- \fn int QDesktopWidget::numScreens() const
-
- Returns the number of available screens.
-
- \sa primaryScreen()
-*/
-
-/*!
- \fn QWidget *QDesktopWidget::screen(int screen)
-
- Returns a widget that represents the screen with index \a screen
- (a value of -1 means the default screen).
-
-
- If the system uses a virtual desktop, the returned widget will
- have the geometry of the entire virtual desktop; i.e., bounding
- every \a screen.
-
- \sa primaryScreen(), numScreens(), isVirtualDesktop()
-*/
-
-/*!
- \fn const QRect QDesktopWidget::availableGeometry(int screen) const
-
- Returns the available geometry of the screen with index \a screen. What
- is available will be subrect of screenGeometry() based on what the
- platform decides is available (for example excludes the dock and menu bar
- on Mac OS X, or the task bar on Windows). The default screen is used if
- \a screen is -1.
-
- \sa screenNumber(), screenGeometry()
-*/
-
-/*!
- \fn const QRect QDesktopWidget::availableGeometry(const QWidget *widget) const
- \overload
-
- Returns the available geometry of the screen which contains \a widget.
-
- \sa screenGeometry()
-*/
-
-/*!
- \fn const QRect QDesktopWidget::availableGeometry(const QPoint &p) const
- \overload
-
- Returns the available geometry of the screen which contains \a p.
-
- \sa screenGeometry()
-*/
-
-
-/*!
- \fn const QRect QDesktopWidget::screenGeometry(int screen) const
-
- Returns the geometry of the screen with index \a screen. The default
- screen is used if \a screen is -1.
-
- \sa screenNumber()
-*/
-
-/*!
- \fn const QRect QDesktopWidget::screenGeometry(const QWidget *widget) const
- \overload
-
- Returns the geometry of the screen which contains \a widget.
-*/
-
-/*!
- \fn const QRect QDesktopWidget::screenGeometry(const QPoint &p) const
- \overload
-
- Returns the geometry of the screen which contains \a p.
-*/
-
-
-/*!
- \fn int QDesktopWidget::screenNumber(const QWidget *widget) const
-
- Returns the index of the screen that contains the largest
- part of \a widget, or -1 if the widget not on a screen.
-
- \sa primaryScreen()
-*/
-
-/*!
- \fn int QDesktopWidget::screenNumber(const QPoint &point) const
-
- \overload
- Returns the index of the screen that contains the \a point, or the
- screen which is the shortest distance from the \a point.
-
- \sa primaryScreen()
-*/
-
-/*!
- \fn void QDesktopWidget::resizeEvent(QResizeEvent *event)
- \reimp
-*/
-
-/*!
- \fn void QDesktopWidget::resized(int screen)
-
- This signal is emitted when the size of \a screen changes.
-*/
-
-/*!
- \fn void QDesktopWidget::workAreaResized(int screen)
-
- This signal is emitted when the work area available on \a screen changes.
-*/
diff --git a/doc/src/qmake-manual.qdoc b/doc/src/qmake-manual.qdoc
index a167399..d752811 100644
--- a/doc/src/qmake-manual.qdoc
+++ b/doc/src/qmake-manual.qdoc
@@ -235,7 +235,7 @@
\row \o CONFIG \o General project configuration options.
\row \o DESTDIR \o The directory in which the executable or binary file will
be placed.
- \row \o FORMS \o A list of .ui files to be processed by \c uic.
+ \row \o FORMS \o A list of UI files to be processed by \c uic.
\row \o HEADERS \o A list of filenames of header (.h) files used when
building the project.
\row \o QT \o Qt-specific configuration options.
@@ -701,8 +701,8 @@
If a directory is specified, it will be included in the \c DEPENDPATH
variable, and relevant code from there will be included in the generated
project file. If a file is given, it will be appended to the correct
- variable, depending on its extension; for example, .ui files are added
- to \c FORMS, and .cpp files are added to \c SOURCES.
+ variable, depending on its extension; for example, UI files are added
+ to \c FORMS, and C++ files are added to \c SOURCES.
You may also pass assignments on the command line in this mode. When doing
so, these assignments will be placed last in the generated project file.
@@ -829,6 +829,29 @@
Note that, if a project is later moved on the disk, \c qmake must be run
again to process the project file and create a new Xcode project file.
+ \section2 On supporting two build targets simultaneously
+
+ Implementing this is currently not feasible, because the XCode
+ concept of Active Build Configurations is conceptually different
+ from the qmake idea of build targets.
+
+ The XCode Active Build Configurations settings are for modifying
+ xcode configurations, compiler flags and similar build
+ options. Unlike Visual Studio, XCode does not allow for the
+ selection of specific library files based on whether debug or
+ release build configurations are selected. The qmake debug and
+ release settings control which library files are linked to the
+ executable.
+
+ It is currently not possible to set files in XCode configuration
+ settings from the qmake generated xcode project file. The way the
+ libraries are linked in the "Frameworks & Libraries" phase in the
+ XCode build system.
+
+ Furthermore, The selected "Active Build Configuration" is stored
+ in a .pbxuser file, which is generated by xcode on first load, not
+ created by qmake.
+
\section1 Windows
Features specific to this platform include support for creating Visual
@@ -1146,8 +1169,9 @@
(see \l{LibDepend}{Library Dependencies} for more info).
\endtable
- Please note that \c create_prl is required when \i {building} a static library,
- while \c link_prl is required when \i {using} a static library.
+ Please note that \c create_prl is required when \e {building} a
+ static library, while \c link_prl is required when \e {using} a
+ static library.
On Windows (or if Qt is configured with \c{-debug_and_release}, adding the
\c build_all option to the \c CONFIG variable makes this rule the default
@@ -1465,10 +1489,10 @@
\target FORMS
\section1 FORMS
- This variable specifies the .ui files (see \link
+ This variable specifies the UI files (see \link
designer-manual.html Qt Designer \endlink) to be processed through \c uic
before compiling. All dependencies, headers and source files required
- to build these .ui files will automatically be added to the project.
+ to build these UI files will automatically be added to the project.
For example:
@@ -1481,10 +1505,10 @@
\target FORMS3
\section1 FORMS3
- This variable specifies the old style .ui files to be processed
+ This variable specifies the old style UI files to be processed
through \c uic3 before compiling, when \c CONFIG contains uic3.
All dependencies, headers and source files required to build these
- .ui files will automatically be added to the project.
+ UI files will automatically be added to the project.
For example:
@@ -4529,7 +4553,7 @@
\list
\o HEADERS - A list of all the header files for the application.
\o SOURCES - A list of all the source files for the application.
- \o FORMS - A list of all the .ui files (created using \c{Qt Designer})
+ \o FORMS - A list of all the UI files (created using \c{Qt Designer})
for the application.
\o LEXSOURCES - A list of all the lex source files for the application.
\o YACCSOURCES - A list of all the yacc source files for the application.
@@ -4547,7 +4571,7 @@
\endlist
You only need to use the system variables that you have values for,
- for instance, if you don't have any extra INCLUDEPATHs then you don't
+ for instance, if you do not have any extra INCLUDEPATHs then you do not
need to specify any, \c qmake will add in the default ones needed.
For instance, an example project file might look like this:
diff --git a/doc/src/qmsdev.qdoc b/doc/src/qmsdev.qdoc
index b8d8f85..127b514 100644
--- a/doc/src/qmsdev.qdoc
+++ b/doc/src/qmsdev.qdoc
@@ -87,7 +87,7 @@
the existing project.
If you want to add an existing dialog to your project, then just select the
- relevant \c .ui file. This will then add it to your existing project and add
+ relevant UI file. This will then add it to your existing project and add
the relevant steps to create the generated code.
\section2 Using the 'Qt Designer' button
diff --git a/doc/src/qnamespace.qdoc b/doc/src/qnamespace.qdoc
deleted file mode 100644
index eb7d626..0000000
--- a/doc/src/qnamespace.qdoc
+++ /dev/null
@@ -1,2780 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-/*!
- \namespace Qt
-
- \brief The Qt namespace contains miscellaneous identifiers
- used throughout the Qt library.
-
- \ingroup misc
-*/
-
-/*!
- \enum Qt::Orientation
-
- This type is used to signify an object's orientation.
-
- \value Horizontal
- \value Vertical
-
- Orientation is used with QScrollBar for example.
-*/
-
-/*!
- \enum Qt::AlignmentFlag
-
- This enum type is used to describe alignment. It contains
- horizontal and vertical flags that can be combined to produce
- the required effect.
-
- The \l{TextElideMode} enum can also be used in many situations
- to fine-tune the appearance of aligned text.
-
- The horizontal flags are:
-
- \value AlignLeft Aligns with the left edge.
- \value AlignRight Aligns with the right edge.
- \value AlignHCenter Centers horizontally in the available space.
- \value AlignJustify Justifies the text in the available space.
- \omitvalue AlignAuto
-
- The vertical flags are:
-
- \value AlignTop Aligns with the top.
- \value AlignBottom Aligns with the bottom.
- \value AlignVCenter Centers vertically in the available space.
-
- You can use only one of the horizontal flags at a time. There is
- one two-dimensional flag:
-
- \value AlignCenter Centers in both dimensions.
-
- You can use at most one horizontal and one vertical flag at a
- time. Qt::AlignCenter counts as both horizontal and vertical.
-
- Three enum values are useful in applications that can be run in
- right-to-left mode:
-
- \value AlignAbsolute If the widget's layout direction is
- Qt::RightToLeft (instead of Qt::LeftToRight, the default),
- Qt::AlignLeft refers to the \e right edge and Qt::AlignRight
- to the \e left edge. This is normally the desired behavior.
- If you want Qt::AlignLeft to always mean "left" and
- Qt::AlignRight to always mean "right", combine the flag with
- Qt::AlignAbsolute.
- \value AlignLeading Synonym for Qt::AlignLeft.
- \value AlignTrailing Synonym for Qt::AlignRight.
-
- Masks:
-
- \value AlignHorizontal_Mask
- \value AlignVertical_Mask
-
- Conflicting combinations of flags have undefined meanings.
-*/
-
-/*!
- \enum Qt::ApplicationAttribute
-
- This enum describes attributes that change the behavior of
- application-wide features. These are enabled and disabled using
- QCoreApplication::setAttribute(), and can be tested for with
- QCoreApplication::testAttribute().
-
- \value AA_ImmediateWidgetCreation Ensures that widgets are created
- as soon as they are constructed. By default, resources for
- widgets are allocated on demand to improve efficiency and
- minimize resource usage. Setting or clearing this attribute
- affects widgets constructed after the change. Setting it
- tells Qt to create toplevel windows immediately.
- Therefore, if it is important to minimize resource
- consumption, do not set this attribute.
-
- \value AA_MSWindowsUseDirect3DByDefault This value is obsolete and
- has no effect.
-
- \value AA_DontShowIconsInMenus Actions with the Icon property won't be
- shown in any menus unless specifically set by the
- QAction::iconVisibleInMenu property.
-
- Menus that are currently open or menus already created in the native
- Mac OS X menubar \e{may not} pick up a change in this attribute. Changes
- in the QAction::iconVisibleInMenu property will always be picked up.
-
- \value AA_NativeWindows Ensures that widgets have native windows.
-
- \value AA_DontCreateNativeWidgetSiblings Ensures that siblings of native
- widgets stay non-native unless specifically set by the
- Qt::WA_NativeWindow attribute.
-
- \value AA_MacPluginApplication Stops the Qt mac application from doing
- specific initializations that do not necessarily make sense when using Qt
- to author a plugin. This includes avoiding loading our nib for the main
- menu and not taking possession of the native menu bar. When setting this
- attribute to true will also set the AA_DontUseNativeMenuBar attribute
- to true.
-
- \value AA_DontUseNativeMenuBar All menubars created while this attribute is
- set to true won't be used as a native menubar (e.g, the menubar at
- the top of the main screen on Mac OS X or at the bottom in Windows CE).
-
- \value AA_MacDontSwapCtrlAndMeta On Mac OS X by default, Qt swaps the
- Control and Meta (Command) keys (i.e., whenever Control is pressed, Qt
- sends Meta and whenever Meta is pressed Control is sent. When this
- attribute is true, Qt will not do the flip. QKeySequence::StandardShortcuts
- will also flip accordingly (i.e., QKeySequence::Copy will be
- Command+C on the keyboard regardless of the value set, though what is output for
- QKeySequence::toString(QKeySequence::PortableText) will be different).
-
- \omitvalue AA_AttributeCount
-*/
-
-/*!
- \enum Qt::MouseButton
-
- This enum type describes the different mouse buttons.
-
- \value NoButton The button state does not refer to any
- button (see QMouseEvent::button()).
- \value LeftButton The left button is pressed, or an event refers
- to the left button. (The left button may be the right button on
- left-handed mice.)
- \value RightButton The right button.
- \value MidButton The middle button.
- \value XButton1 The first X button.
- \value XButton2 The second X button.
-
- \omitvalue MouseButtonMask
-
- \sa KeyboardModifier Modifier
-*/
-
-/*!
- \enum Qt::KeyboardModifier
-
- This enum describes the modifier keys.
-
- \value NoModifier No modifier key is pressed.
- \value ShiftModifier A Shift key on the keyboard is pressed.
- \value ControlModifier A Ctrl key on the keyboard is pressed.
- \value AltModifier An Alt key on the keyboard is pressed.
- \value MetaModifier A Meta key on the keyboard is pressed.
- \value KeypadModifier A keypad button is pressed.
- \value GroupSwitchModifier X11 only. A Mode_switch key on the keyboard is pressed.
-
- \omitvalue KeyboardModifierMask
-
- \note On Mac OS X, the \c ControlModifier value corresponds to
- the Command keys on the Macintosh keyboard, and the \c MetaModifier value
- corresponds to the Control keys. The \c KeypadModifier value will also be set
- when an arrow key is pressed as the arrow keys are considered part of the
- keypad.
-
- \note On Windows Keyboards, Qt::MetaModifier and Qt::Key_Meta are mapped
- to the Windows key.
-
- \sa MouseButton Modifier
-*/
-
-/*!
- \enum Qt::Modifier
-
- This enum provides shorter names for the keyboard modifier keys
- supported by Qt.
-
- \bold{Note:} On Mac OS X, the \c CTRL value corresponds to
- the Command keys on the Macintosh keyboard, and the \c META value
- corresponds to the Control keys.
-
- \value SHIFT The Shift keys provided on all standard keyboards.
- \value META The Meta keys.
- \value CTRL The Ctrl keys.
- \value ALT The normal Alt keys, but not keys like AltGr.
- \value UNICODE_ACCEL The shortcut is specified as a Unicode code
- point, not as a Qt Key.
- \omitvalue MODIFIER_MASK
-
- \sa KeyboardModifier MouseButton
-*/
-
-/*!
- \enum Qt::GlobalColor
-
- \raw HTML
- <style type="text/css" id="colorstyles">
- #white { background-color: #ffffff; color: #000000 }
- #black { background-color: #000000; color: #ffffff }
- #red { background-color: #ff0000; color: #000000 }
- #darkRed { background-color: #800000; color: #ffffff }
- #green { background-color: #00ff00; color: #000000 }
- #darkGreen { background-color: #008000; color: #ffffff }
- #blue { background-color: #0000ff; color: #ffffff }
- #darkBlue { background-color: #000080; color: #ffffff }
- #cyan { background-color: #00ffff; color: #000000 }
- #darkCyan { background-color: #008080; color: #ffffff }
- #magenta { background-color: #ff00ff; color: #000000 }
- #darkMagenta { background-color: #800080; color: #ffffff }
- #yellow { background-color: #ffff00; color: #000000 }
- #darkYellow { background-color: #808000; color: #ffffff }
- #gray { background-color: #a0a0a4; color: #000000 }
- #darkGray { background-color: #808080; color: #ffffff }
- #lightGray { background-color: #c0c0c0; color: #000000 }
- </style>
- \endraw
-
- Qt's predefined QColor objects:
-
- \value white \raw HTML
- White <tt id="white">(#ffffff)</tt>
- \endraw
- \value black \raw HTML
- Black <tt id="black">(#000000)</tt>
- \endraw
- \value red \raw HTML
- Red <tt id="red">(#ff0000)</tt>
- \endraw
- \value darkRed \raw HTML
- Dark red <tt id="darkRed">(#800000)</tt>
- \endraw
- \value green \raw HTML
- Green <tt id="green">(#00ff00)</tt>
- \endraw
- \value darkGreen \raw HTML
- Dark green <tt id="darkGreen">(#008000)</tt>
- \endraw
- \value blue \raw HTML
- Blue <tt id="blue">(#0000ff)</tt>
- \endraw
- \value darkBlue \raw HTML
- Dark blue <tt id="darkBlue">(#000080)</tt>
- \endraw
- \value cyan \raw HTML
- Cyan <tt id="cyan">(#00ffff)</tt>
- \endraw
- \value darkCyan \raw HTML
- Dark cyan <tt id="darkCyan">(#008080)</tt>
- \endraw
- \value magenta \raw HTML
- Magenta <tt id="magenta">(#ff00ff)</tt>
- \endraw
- \value darkMagenta \raw HTML
- Dark magenta <tt id="darkMagenta">(#800080)</tt>
- \endraw
- \value yellow \raw HTML
- Yellow <tt id="yellow">(#ffff00)</tt>
- \endraw
- \value darkYellow \raw HTML
- Dark yellow <tt id="darkYellow">(#808000)</tt>
- \endraw
- \value gray \raw HTML
- Gray <tt id="gray">(#a0a0a4)</tt>
- \endraw
- \value darkGray \raw HTML
- Dark gray <tt id="darkGray">(#808080)</tt>
- \endraw
- \value lightGray \raw HTML
- Light gray <tt id="lightGray">(#c0c0c0)</tt>
- \endraw
- \value transparent a transparent black value (i.e., QColor(0, 0, 0, 0))
- \value color0 0 pixel value (for bitmaps)
- \value color1 1 pixel value (for bitmaps)
-
- \sa QColor
-
-*/
-
-/*!
- \enum Qt::PenStyle
-
- This enum type defines the pen styles that can be drawn using
- QPainter. The styles are:
-
- \table
- \row
- \o \inlineimage qpen-solid.png
- \o \inlineimage qpen-dash.png
- \o \inlineimage qpen-dot.png
- \row
- \o Qt::SolidLine
- \o Qt::DashLine
- \o Qt::DotLine
- \row
- \o \inlineimage qpen-dashdot.png
- \o \inlineimage qpen-dashdotdot.png
- \o \inlineimage qpen-custom.png
- \row
- \o Qt::DashDotLine
- \o Qt::DashDotDotLine
- \o Qt::CustomDashLine
- \endtable
-
- \value NoPen no line at all. For example, QPainter::drawRect()
- fills but does not draw any boundary line.
-
- \value SolidLine A plain line.
- \value DashLine Dashes separated by a few pixels.
- \value DotLine Dots separated by a few pixels.
- \value DashDotLine Alternate dots and dashes.
- \value DashDotDotLine One dash, two dots, one dash, two dots.
- \value CustomDashLine A custom pattern defined using
- QPainterPathStroker::setDashPattern().
-
- \omitvalue MPenStyle
-
- \sa QPen
-*/
-
-/*!
- \enum Qt::PenCapStyle
-
- This enum type defines the pen cap styles supported by Qt, i.e.
- the line end caps that can be drawn using QPainter.
-
- \table
- \row
- \o \inlineimage qpen-square.png
- \o \inlineimage qpen-flat.png
- \o \inlineimage qpen-roundcap.png
- \row
- \o Qt::SquareCap
- \o Qt::FlatCap
- \o Qt::RoundCap
- \endtable
-
- \value FlatCap a square line end that does not cover the end
- point of the line.
- \value SquareCap a square line end that covers the end point and
- extends beyond it by half the line width.
- \value RoundCap a rounded line end.
- \omitvalue MPenCapStyle
-
- \sa QPen
-*/
-
-/*!
- \enum Qt::PenJoinStyle
-
- This enum type defines the pen join styles supported by Qt, i.e.
- which joins between two connected lines can be drawn using
- QPainter.
-
- \table
- \row
- \o \inlineimage qpen-bevel.png
- \o \inlineimage qpen-miter.png
- \o \inlineimage qpen-roundjoin.png
- \row
- \o Qt::BevelJoin
- \o Qt::MiterJoin
- \o Qt::RoundJoin
- \endtable
-
- \value MiterJoin The outer edges of the lines are extended to
- meet at an angle, and this area is filled.
- \value BevelJoin The triangular notch between the two lines is filled.
- \value RoundJoin A circular arc between the two lines is filled.
- \value SvgMiterJoin A miter join corresponding to the definition of
- a miter join in the \l{SVG 1.2 Tiny} specification.
- \omitvalue MPenJoinStyle
-
- \sa QPen
-*/
-
-/*!
- \enum Qt::BrushStyle
-
- This enum type defines the brush styles supported by Qt, i.e. the
- fill pattern of shapes drawn using QPainter.
-
- \image brush-styles.png Brush Styles
-
- \value NoBrush No brush pattern.
- \value SolidPattern Uniform color.
- \value Dense1Pattern Extremely dense brush pattern.
- \value Dense2Pattern Very dense brush pattern.
- \value Dense3Pattern Somewhat dense brush pattern.
- \value Dense4Pattern Half dense brush pattern.
- \value Dense5Pattern Somewhat sparse brush pattern.
- \value Dense6Pattern Very sparse brush pattern.
- \value Dense7Pattern Extremely sparse brush pattern.
- \value HorPattern Horizontal lines.
- \value VerPattern Vertical lines.
- \value CrossPattern Crossing horizontal and vertical lines.
- \value BDiagPattern Backward diagonal lines.
- \value FDiagPattern Forward diagonal lines.
- \value DiagCrossPattern Crossing diagonal lines.
- \value LinearGradientPattern Linear gradient (set using a dedicated QBrush constructor).
- \value ConicalGradientPattern Conical gradient (set using a dedicated QBrush constructor).
- \value RadialGradientPattern Radial gradient (set using a dedicated QBrush constructor).
- \value TexturePattern Custom pattern (see QBrush::setTexture()).
-
- \omitvalue CustomPattern
-
- \sa QBrush
-*/
-
-/*!
- \enum Qt::TextFlag
-
- This enum type is used to define some modifier flags. Some of
- these flags only make sense in the context of printing:
-
- \value TextSingleLine Treats all whitespace as spaces and prints just
- one line.
- \value TextDontClip If it's impossible to stay within the given bounds,
- it prints outside.
- \value TextExpandTabs Makes the U+0009 (ASCII tab) character move to
- the next tab stop.
- \value TextShowMnemonic Displays the string "\&P" as \underline{P}
- (see QButton for an example). For an ampersand, use "\&\&".
- \value TextWordWrap Breaks lines at appropriate points, e.g. at word
- boundaries.
- \value TextWrapAnywhere Breaks lines anywhere, even within words.
- \value TextHideMnemonic Same as Qt::TextShowMnemonic but doesn't draw the underlines.
- \value TextDontPrint Treat this text as "hidden" and don't print
- it.
- \value IncludeTrailingSpaces When this option is set, QTextLine::naturalTextWidth() and naturalTextRect() will
- return a value that includes the width of trailing spaces in the text; otherwise
- this width is excluded.
- \value TextIncludeTrailingSpaces Same as IncludeTrailingSpaces
- \value TextJustificationForced Ensures that text lines are justified.
-
- \omitvalue BreakAnywhere
- \omitvalue DontClip
- \omitvalue DontPrint
- \omitvalue ExpandTabs
- \omitvalue IncludeTrailingSpaces
- \omitvalue NoAccel
- \omitvalue ShowPrefix
- \omitvalue SingleLine
- \omitvalue WordBreak
- \omitvalue TextForceLeftToRight
- \omitvalue TextForceRightToLeft
-
- You can use as many modifier flags as you want, except that
- Qt::TextSingleLine and Qt::TextWordWrap cannot be combined.
-
- Flags that are inappropriate for a given use are generally
- ignored.
-*/
-
-/*!
- \enum Qt::BGMode
-
- Background mode:
-
- \value TransparentMode
- \value OpaqueMode
-*/
-
-/*!
- \enum Qt::ConnectionType
-
- This enum describes the types of connection that can be used between signals and
- slots. In particular, it determines whether a particular signal is delivered to a
- slot immediately or queued for delivery at a later time.
-
- \omitvalue AutoCompatConnection
- \value DirectConnection When emitted, the signal is immediately delivered to the slot.
- \value QueuedConnection When emitted, the signal is queued until the event loop is
- able to deliver it to the slot.
- \value BlockingQueuedConnection
- Same as QueuedConnection, except that the current thread blocks
- until the slot has been delivered. This connection type should
- only be used for receivers in a different thread. Note that misuse
- of this type can lead to deadlocks in your application.
- \value AutoConnection If the signal is emitted from the thread
- in which the receiving object lives, the
- slot is invoked directly, as with
- Qt::DirectConnection; otherwise the
- signal is queued, as with
- Qt::QueuedConnection.
- \value UniqueConnection Same as AutoConnection, but there will be a check that the signal is
- not already connected to the same slot before connecting, otherwise,
- the connection will fail.
- This value was introduced in Qt 4.6.
-
- With queued connections, the parameters must be of types that are known to
- Qt's meta-object system, because Qt needs to copy the arguments to store them
- in an event behind the scenes. If you try to use a queued connection and
- get the error message
-
- \snippet doc/src/snippets/code/doc_src_qnamespace.qdoc 0
-
- call qRegisterMetaType() to register the data type before you
- establish the connection.
-
- \sa {Thread Support in Qt}, QObject::connect(), qRegisterMetaType()
-*/
-
-/*!
- \enum Qt::DateFormat
-
- \value TextDate The default Qt format, which includes the day and month name,
- the day number in the month, and the year in full. The day and month names will
- be short, localized names. This is basically equivalent to using the date format
- string, "ddd MMM d yyyy". See QDate::toString() for more information.
-
- \value ISODate ISO 8601 extended format: either \c{YYYY-MM-DD} for dates or
- \c{YYYY-MM-DDTHH:MM:SS} for combined dates and times.
-
- \value SystemLocaleShortDate The \l{QLocale::ShortFormat}{short format} used
- by the \l{QLocale::system()}{operating system}.
-
- \value SystemLocaleLongDate The \l{QLocale::LongFormat}{long format} used
- by the \l{QLocale::system()}{operating system}.
-
- \value DefaultLocaleShortDate The \l{QLocale::ShortFormat}{short format} specified
- by the \l{QLocale::setDefault()}{application's locale}.
-
- \value DefaultLocaleLongDate The \l{QLocale::LongFormat}{long format} used
- by the \l{QLocale::setDefault()}{application's locale}.
-
- \value SystemLocaleDate \e{This enum value is deprecated.} Use Qt::SystemLocaleShortDate
- instead (or Qt::SystemLocaleLongDate if you want long dates).
-
- \value LocaleDate \e{This enum value is deprecated.} Use Qt::DefaultLocaleShortDate
- instead (or Qt::DefaultLocaleLongDate if you want long dates).
-
- \value LocalDate \e{This enum value is deprecated.} Use Qt::SystemLocaleShortDate
- instead (or Qt::SystemLocaleLongDate if you want long dates).
-
- \note For \c ISODate formats, each \c Y, \c M and \c D represents a single digit
- of the year, month and day used to specify the date. Each \c H, \c M and \c S
- represents a single digit of the hour, minute and second used to specify the time.
- The presence of a literal \c T character is used to separate the date and time when
- both are specified.
-*/
-
-
-/*!
- \enum Qt::TimeSpec
-
- \value LocalTime Locale dependent time (Timezones and Daylight Savings Time).
- \value UTC Coordinated Universal Time, replaces Greenwich Mean Time.
- \value OffsetFromUTC An offset in seconds from Coordinated Universal Time.
-*/
-
-/*!
- \enum Qt::DayOfWeek
-
- \value Monday
- \value Tuesday
- \value Wednesday
- \value Thursday
- \value Friday
- \value Saturday
- \value Sunday
-*/
-
-/*!
- \enum Qt::CaseSensitivity
-
- \value CaseInsensitive
- \value CaseSensitive
-*/
-
-/*!
- \enum Qt::ToolBarArea
-
- \value LeftToolBarArea
- \value RightToolBarArea
- \value TopToolBarArea
- \value BottomToolBarArea
- \value AllToolBarAreas
- \value NoToolBarArea
-
- \omitvalue ToolBarArea_Mask
-*/
-
-/*!
- \enum Qt::DockWidgetArea
-
- \value LeftDockWidgetArea
- \value RightDockWidgetArea
- \value TopDockWidgetArea
- \value BottomDockWidgetArea
- \value AllDockWidgetAreas
- \value NoDockWidgetArea
-
- \omitvalue DockWidgetArea_Mask
-*/
-
-/*!
- \enum Qt::BackgroundMode
-
- \compat
-
- \value FixedColor
- \value FixedPixmap
- \value NoBackground
- \value PaletteForeground
- \value PaletteButton
- \value PaletteLight
- \value PaletteMidlight
- \value PaletteDark
- \value PaletteMid
- \value PaletteText
- \value PaletteBrightText
- \value PaletteBase
- \value PaletteBackground
- \value PaletteShadow
- \value PaletteHighlight
- \value PaletteHighlightedText
- \value PaletteButtonText
- \value PaletteLink
- \value PaletteLinkVisited
- \value X11ParentRelative
-*/
-
-/*!
- \enum Qt::ImageConversionFlag
-
- The options marked "(default)" are set if no other values from
- the list are included (since the defaults are zero):
-
- Color/Mono preference (ignored for QBitmap):
-
- \value AutoColor (default) - If the image has \link
- QImage::depth() depth\endlink 1 and contains only
- black and white pixels, the pixmap becomes monochrome.
- \value ColorOnly The pixmap is dithered/converted to the
- \link QPixmap::defaultDepth() native display depth\endlink.
- \value MonoOnly The pixmap becomes monochrome. If necessary,
- it is dithered using the chosen dithering algorithm.
-
- Dithering mode preference for RGB channels:
-
- \value DiffuseDither (default) - A high-quality dither.
- \value OrderedDither A faster, more ordered dither.
- \value ThresholdDither No dithering; closest color is used.
-
- Dithering mode preference for alpha channel:
-
- \value ThresholdAlphaDither (default) - No dithering.
- \value OrderedAlphaDither A faster, more ordered dither.
- \value DiffuseAlphaDither A high-quality dither.
- \omitvalue NoAlpha
-
- Color matching versus dithering preference:
-
- \value PreferDither (default when converting to a pixmap) - Always dither
- 32-bit images when the image is converted to 8 bits.
- \value AvoidDither (default when converting for the purpose of saving to
- file) - Dither 32-bit images only if the image has more than 256
- colors and it is being converted to 8 bits.
- \omitvalue AutoDither
-
- \omitvalue ColorMode_Mask
- \omitvalue Dither_Mask
- \omitvalue AlphaDither_Mask
- \omitvalue DitherMode_Mask
- \omitvalue NoOpaqueDetection
-*/
-
-/*! \enum Qt::GUIStyle
-
- \compat
-
- \value WindowsStyle
- \value MotifStyle
- \value MacStyle
- \value Win3Style
- \value PMStyle
-*/
-
-/*!
- \enum Qt::UIEffect
-
- This enum describes the available UI effects.
-
- By default, Qt will try to use the platform specific desktop
- settings for each effect. Use the
- QApplication::setDesktopSettingsAware() function (passing \c false
- as argument) to prevent this, and the
- QApplication::setEffectEnabled() to enable or disable a particular
- effect.
-
- Note that all effects are disabled on screens running at less than
- 16-bit color depth.
-
- \omitvalue UI_General
-
- \value UI_AnimateMenu Show animated menus.
- \value UI_FadeMenu Show faded menus.
- \value UI_AnimateCombo Show animated comboboxes.
- \value UI_AnimateTooltip Show tooltip animations.
- \value UI_FadeTooltip Show tooltip fading effects.
- \value UI_AnimateToolBox Reserved
-
- \sa QApplication::setEffectEnabled(), QApplication::setDesktopSettingsAware()
-*/
-
-/*! \enum Qt::AspectRatioMode
-
- This enum type defines what happens to the aspect ratio when
- scaling an rectangle.
-
- \image qimage-scaling.png
-
- \value IgnoreAspectRatio The size is scaled freely. The aspect
- ratio is not preserved.
- \value KeepAspectRatio The size is scaled to a rectangle as
- large as possible inside a given
- rectangle, preserving the aspect ratio.
- \value KeepAspectRatioByExpanding The size is scaled to a
- rectangle as small as possible
- outside a given rectangle,
- preserving the aspect ratio.
-
- \omitvalue ScaleFree
- \omitvalue ScaleMin
- \omitvalue ScaleMax
-
- \sa QSize::scale(), QImage::scaled()
-*/
-
-/*! \typedef Qt::ScaleMode
- \compat
-
- Use Qt::AspectRatioMode instead.
-
- The enum values have been renamed as follows:
-
- \table
- \row \i Old enum value \i New enum value
- \row \i Qt::ScaleFree \i Qt::IgnoreAspectRatio
- \row \i Qt::ScaleMin \i Qt::KeepAspectRatio
- \row \i Qt::ScaleMax \i Qt::KeepAspectRatioByExpanding
- \endtable
-*/
-
-/*! \enum Qt::TransformationMode
-
- This enum type defines whether image transformations (e.g.,
- scaling) should be smooth or not.
-
- \value FastTransformation The transformation is performed
- quickly, with no smoothing.
- \value SmoothTransformation The resulting image is transformed
- using bilinear filtering.
-
- \sa QImage::scaled()
-*/
-
-/*! \enum Qt::Axis
-
- This enum type defines three values to represent the three
- axes in the cartesian coordinate system.
-
- \value XAxis The X axis.
- \value YAxis The Y axis.
- \value ZAxis The Z axis.
-
- \sa QTransform::rotate(), QTransform::rotateRadians()
- */
-
-/*!
- \enum Qt::WidgetAttribute
-
- \keyword widget attributes
-
- This enum type is used to specify various widget attributes.
- Attributes are set and cleared with QWidget::setAttribute(), and
- queried with QWidget::testAttribute(), although some have special
- convenience functions which are mentioned below.
-
- \value WA_AcceptDrops Allows data from drag and drop operations
- to be dropped onto the widget (see QWidget::setAcceptDrops()).
-
- \value WA_AlwaysShowToolTips Enables tooltips for inactive windows.
-
- \value WA_ContentsPropagated This flag is superfluous and
- obsolete; it no longer has any effect. Since Qt 4.1, all widgets
- that do not set WA_PaintOnScreen propagate their contents.
-
- \value WA_CustomWhatsThis Indicates that the widget wants to
- continue operating normally in "What's This?" mode. This is set by the
- widget's author.
-
- \value WA_DeleteOnClose Makes Qt delete this widget when the
- widget has accepted the close event (see QWidget::closeEvent()).
-
- \value WA_Disabled Indicates that the widget is disabled, i.e.
- it does not receive any mouse or keyboard events. There is also a
- getter functions QWidget::isEnabled(). This is set/cleared by the
- Qt kernel.
-
- \omitvalue WA_DropSiteRegistered
- \omitvalue WA_ForceAcceptDrops
-
- \value WA_ForceDisabled Indicates that the widget is
- explicitly disabled, i.e. it will remain disabled even when all
- its ancestors are set to the enabled state. This implies
- WA_Disabled. This is set/cleared by QWidget::setEnabled() and
- QWidget::setDisabled().
-
- \value WA_ForceUpdatesDisabled Indicates that updates are
- explicitly disabled for the widget; i.e. it will remain disabled
- even when all its ancestors are set to the updates-enabled state.
- This implies WA_UpdatesDisabled. This is set/cleared by
- QWidget::setUpdatesEnabled().
-
- \value WA_GroupLeader
- \e{This attribute has been deprecated.} Use QWidget::windowModality
- instead.
-
- \value WA_Hover Forces Qt to generate paint events when the mouse
- enters or leaves the widget. This feature is typically used when
- implementing custom styles; see the \l{widgets/styles}{Styles}
- example for details.
-
- \value WA_InputMethodEnabled Enables input methods for Asian languages.
- Must be set when creating custom text editing widgets.
- On Windows CE this flag can be used in addition to
- QApplication::autoSipEnabled to automatically display the SIP when
- entering a widget.
-
- \value WA_KeyboardFocusChange Set on a toplevel window when
- the users changes focus with the keyboard (tab, backtab, or shortcut).
-
- \value WA_KeyCompression Enables key event compression if set,
- and disables it if not set. By default key compression is off, so
- widgets receive one key press event for each key press (or more,
- since autorepeat is usually on). If you turn it on and your
- program doesn't keep up with key input, Qt may try to compress key
- events so that more than one character can be processed in each
- event.
- For example, a word processor widget might receive 2, 3 or more
- characters in each QKeyEvent::text(), if the layout recalculation
- takes too long for the CPU.
- If a widget supports multiple character unicode input, it is
- always safe to turn the compression on.
- Qt performs key event compression only for printable characters.
- Qt::Modifier keys, cursor movement keys, function keys and
- miscellaneous action keys (e.g. Escape, Enter, Backspace,
- PrintScreen) will stop key event compression, even if there are
- more compressible key events available.
- Platforms other than Mac and X11 do not support this compression,
- in which case turning it on will have no effect.
- This is set/cleared by the widget's author.
-
- \value WA_LayoutOnEntireRect Indicates that the widget
- wants QLayout to operate on the entire QWidget::rect(), not only
- on QWidget::contentsRect(). This is set by the widget's author.
-
- \value WA_LayoutUsesWidgetRect Ignore the layout item rect from the style
- when laying out this widget with QLayout. This makes a difference in
- QMacStyle and QPlastiqueStyle for some widgets.
-
- \value WA_MacNoClickThrough When a widget that has this attribute set
- is clicked, and its window is inactive, the click will make the window
- active but won't be seen by the widget. Typical use of this attribute
- is on widgets with "destructive" actions, such as a "Delete" button.
- WA_MacNoClickThrough also applies to all child widgets of the widget
- that has it set.
-
- \value WA_MacOpaqueSizeGrip Indicates that the native Carbon size grip
- should be opaque instead of transparent (the default). This attribute
- is only applicable to Mac OS X and is set by the widget's author.
-
- \value WA_MacShowFocusRect Indicates that this widget should get a
- QFocusFrame around it. Some widgets draw their own focus halo
- regardless of this attribute. Not that the QWidget::focusPolicy
- also plays the main role in whether something is given focus or
- not, this only controls whether or not this gets the focus
- frame. This attribute is only applicable to Mac OS X.
-
- \value WA_MacNormalSize Indicates the widget should have the
- normal size for widgets in Mac OS X. This attribute is only
- applicable to Mac OS X.
-
- \value WA_MacSmallSize Indicates the widget should have the small
- size for widgets in Mac OS X. This attribute is only applicable to
- Mac OS X.
-
- \value WA_MacMiniSize Indicates the widget should have the mini
- size for widgets in Mac OS X. This attribute is only applicable to
- Mac OS X.
-
- \value WA_MacVariableSize Indicates the widget can choose between
- alternative sizes for widgets to avoid clipping.
- This attribute is only applicable to Mac OS X.
-
- \value WA_MacBrushedMetal Indicates the widget should be drawn in
- the brushed metal style as supported by the windowing system. This
- attribute is only applicable to Mac OS X.
-
- \omitvalue WA_MacMetalStyle
-
- \value WA_Mapped Indicates that the widget is mapped on screen.
- This is set/cleared by the Qt kernel.
-
- \value WA_MouseNoMask Makes the widget receive mouse events for
- the entire widget regardless of the currently set mask,
- overriding QWidget::setMask(). This is not applicable for
- top-level windows.
-
- \value WA_MouseTracking Indicates that the widget has mouse
- tracking enabled. See QWidget::mouseTracking.
-
- \value WA_Moved Indicates that the widget has an explicit
- position. This is set/cleared by QWidget::move() and
- by QWidget::setGeometry().
-
- \value WA_MSWindowsUseDirect3D This value is obsolete and has no
- effect.
-
- \value WA_NoBackground This value is obsolete. Use
- WA_OpaquePaintEvent instead.
-
- \value WA_NoChildEventsForParent Indicates that the widget does
- not want ChildAdded or ChildRemoved events sent to its
- parent. This is rarely necessary but can help to avoid automatic
- insertion widgets like splitters and layouts. This is set by a
- widget's author.
-
- \value WA_NoChildEventsFromChildren Indicates that the widget does
- not want to receive ChildAdded or ChildRemoved events sent from its
- children. This is set by a widget's author.
-
- \value WA_NoMouseReplay Used for pop-up widgets. Indicates that the most
- recent mouse press event should not be replayed when the pop-up widget
- closes. The flag is set by the widget's author and cleared by the Qt kernel
- every time the widget receives a new mouse event.
-
- \value WA_NoMousePropagation Prohibits mouse events from being propagated
- to the widget's parent. This attribute is disabled by default.
-
- \value WA_TransparentForMouseEvents When enabled, this attribute disables
- the delivery of mouse events to the widget and its children. Mouse events
- are delivered to other widgets as if the widget and its children were not
- present in the widget hierarchy; mouse clicks and other events effectively
- "pass through" them. This attribute is disabled by default.
-
- \value WA_NoSystemBackground Indicates that the widget has no background,
- i.e. when the widget receives paint events, the background is not
- automatically repainted. \note Unlike WA_OpaquePaintEvent, newly exposed
- areas are \bold never filled with the background (e.g., after showing a
- window for the first time the user can see "through" it until the
- application processes the paint events). This flag is set or cleared by the
- widget's author.
-
- \value WA_OpaquePaintEvent Indicates that the widget paints all its pixels
- when it receives a paint event. Thus, it is not required for operations
- like updating, resizing, scrolling and focus changes to erase the widget
- before generating paint events. The use of WA_OpaquePaintEvent provides a
- small optimization by helping to reduce flicker on systems that do not
- support double buffering and avoiding computational cycles necessary to
- erase the background prior to painting. \note Unlike
- WA_NoSystemBackground, WA_OpaquePaintEvent makes an effort to avoid
- transparent window backgrounds. This flag is set or cleared by the widget's
- author.
-
- \value WA_OutsideWSRange Indicates that the widget is outside
- the valid range of the window system's coordinate system. A widget
- outside the valid range cannot be mapped on screen. This is
- set/cleared by the Qt kernel.
-
- \value WA_PaintOnScreen Indicates that the widget wants to draw directly
- onto the screen. Widgets with this attribute set do not participate in
- composition management, i.e. they cannot be semi-transparent or shine
- through semi-transparent overlapping widgets. \note This flag is only
- supported on X11 and it disables double buffering. On Qt for Embedded
- Linux, the flag only works when set on a top-level widget and it relies on
- support from the active screen driver. This flag is set or cleared by the
- widget's author. To render outside of Qt's paint system, e.g., if you
- require native painting primitives, you need to reimplement
- QWidget::paintEngine() to return 0 and set this flag.
-
- \value WA_PaintOutsidePaintEvent Makes it possible to use QPainter to
- paint on the widget outside \l{QWidget::paintEvent()}{paintEvent()}. This
- flag is not supported on Windows, Mac OS X or Embedded Linux. We recommend
- that you use it only when porting Qt 3 code to Qt 4.
-
- \value WA_PaintUnclipped Makes all painters operating on this widget
- unclipped. Children of this widget or other widgets in front of it do not
- clip the area the painter can paint on. This flag is only supported for
- widgets with the WA_PaintOnScreen flag set. The preferred way to do this in
- a cross platform way is to create a transparent widget that lies in front
- of the other widgets.
-
- \value WA_PendingMoveEvent Indicates that a move event is pending, e.g.,
- when a hidden widget was moved. This flag is set or cleared by the Qt
- kernel.
-
- \value WA_PendingResizeEvent Indicates that a resize event is pending,
- e.g., when a hidden widget was resized. This flag is set or cleared by the
- Qt kernel.
-
- \value WA_QuitOnClose Makes Qt quit the application when the last widget
- with the attribute set has accepted closeEvent(). This behavior can be
- modified with the QApplication::quitOnLastWindowClosed property. By default
- this attribute is set for all widgets of type Qt::Window.
-
- \value WA_Resized Indicates that the widget has an explicit size. This flag
- is set or cleared by QWidget::resize() and QWidget::setGeometry().
-
- \value WA_RightToLeft Indicates that the layout direction for the widget
- is right to left.
-
- \value WA_SetCursor Indicates that the widget has a cursor of its own. This
- flag is set or cleared by QWidget::setCursor() and QWidget::unsetCursor().
-
- \value WA_SetFont Indicates that the widget has a font of its own. This
- flag is set or cleared by QWidget::setFont().
-
- \value WA_SetPalette Indicates that the widget has a palette of its own.
- This flag is set or cleared by QWidget::setPalette().
-
- \value WA_SetStyle Indicates that the widget has a style of its own. This
- flag is set or cleared by QWidget::setStyle().
-
- \value WA_ShowModal \e{This attribute has been deprecated.} Use
- QWidget::windowModality instead.
-
- \value WA_StaticContents Indicates that the widget contents are north-west
- aligned and static. On resize, such a widget will receive paint events only
- for parts of itself that are newly visible. This flag is set or cleared by
- the widget's author.
-
- \value WA_StyleSheet Indicates that the widget is styled using a
- \l{Qt Style Sheets}{style sheet}.
-
- \value WA_TranslucentBackground Indicates that the widget should have a
- translucent background, i.e., any non-opaque regions of the widgets will be
- translucent because the widget will have an alpha channel. Setting this
- flag causes WA_NoSystemBackground to be set. On Windows the
- widget also needs the Qt::FramelessWindowHint window flag to be set.
- This flag is set or cleared by the widget's author.
-
- \value WA_UnderMouse Indicates that the widget is under the mouse cursor.
- The value is not updated correctly during drag and drop operations. There
- is also a getter function, QWidget::underMouse(). This flag is set or
- cleared by the Qt kernel.
-
- \value WA_UpdatesDisabled Indicates that updates are blocked (including the
- system background). This flag is set or cleared by the Qt kernel.
- \warning This flag must \e never be set or cleared by the widget's author.
-
- \value WA_WindowModified Indicates that the window is marked as modified.
- On some platforms this flag will do nothing, on others (including Mac OS X
- and Windows) the window will take a modified appearance. This flag is set
- or cleared by QWidget::setWindowModified().
-
- \value WA_WindowPropagation Makes a toplevel window inherit font and
- palette from its parent.
-
- \value WA_MacAlwaysShowToolWindow On Mac OS X, show the tool window even
- when the application is not active. By default, all tool windows are
- hidden when the application is inactive.
-
- \value WA_SetLocale Indicates the locale should be taken into consideration
- in the widget.
-
- \value WA_StyledBackground Indicates the widget should be drawn using a
- styled background.
-
- \value WA_ShowWithoutActivating Show the widget without making it active.
-
- \value WA_NativeWindow Indicates that a native window is created for the
- widget. Enabling this flag will also force a native window for the widget's
- ancestors unless Qt::WA_DontCreateNativeAncestors is set.
-
- \value WA_DontCreateNativeAncestors Indicates that the widget's ancestors
- are kept non-native even though the widget itself is native.
-
- \value WA_X11NetWmWindowTypeDesktop Adds _NET_WM_WINDOW_TYPE_DESKTOP to the
- window's _NET_WM_WINDOW_TYPE X11 window property. See
- http://standards.freedesktop.org/wm-spec/ for more details. This attribute
- has no effect on non-X11 platforms.
-
- \value WA_X11NetWmWindowTypeDock Adds _NET_WM_WINDOW_TYPE_DOCK to the
- window's _NET_WM_WINDOW_TYPE X11 window property. See
- http://standards.freedesktop.org/wm-spec/ for more details. This attribute
- has no effect on non-X11 platforms.
-
- \value WA_X11NetWmWindowTypeToolBar Adds _NET_WM_WINDOW_TYPE_TOOLBAR to the
- window's _NET_WM_WINDOW_TYPE X11 window property. See
- http://standards.freedesktop.org/wm-spec/ for more details. This attribute
- has no effect on non-X11 platforms. \note Qt automaticaly sets this
- attribute for QToolBar.
-
- \value WA_X11NetWmWindowTypeMenu Adds _NET_WM_WINDOW_TYPE_MENU to the
- window's _NET_WM_WINDOW_TYPE X11 window property. See
- http://standards.freedesktop.org/wm-spec/ for more details. This attribute
- has no effect on non-X11 platforms. \note Qt automatically sets this
- attribute for QMenu when torn-off.
-
- \value WA_X11NetWmWindowTypeUtility Adds _NET_WM_WINDOW_TYPE_UTILITY to the
- window's _NET_WM_WINDOW_TYPE X11 window property. See
- http://standards.freedesktop.org/wm-spec/ for more details. This attribute
- has no effect on non-X11 platforms. \note Qt automatically sets this
- attribute for the Qt::Tool window type.
-
- \value WA_X11NetWmWindowTypeSplash Adds _NET_WM_WINDOW_TYPE_SPLASH to the
- window's _NET_WM_WINDOW_TYPE X11 window property. See
- http://standards.freedesktop.org/wm-spec/ for more details. This attribute
- has no effect on non-X11 platforms. \note Qt automatically sets this
- attribute for the Qt::SplashScreen window type.
-
- \value WA_X11NetWmWindowTypeDialog Adds _NET_WM_WINDOW_TYPE_DIALOG
- to the window's _NET_WM_WINDOW_TYPE X11 window property. See
- http://standards.freedesktop.org/wm-spec/ for more details. This
- attribute has no effect on non-X11 platforms. \note Qt automatically sets
- this attribute for the Qt::Dialog and Qt::Sheet window types.
-
- \value WA_X11NetWmWindowTypeDropDownMenu Adds
- _NET_WM_WINDOW_TYPE_DROPDOWN_MENU to the window's
- _NET_WM_WINDOW_TYPE X11 window property. See
- http://standards.freedesktop.org/wm-spec/ for more details. This
- attribute has no effect on non-X11 platforms. \note Qt
- automatically sets this attribute for QMenus added to a QMenuBar.
-
- \value WA_X11NetWmWindowTypePopupMenu Adds _NET_WM_WINDOW_TYPE_POPUP_MENU
- to the window's _NET_WM_WINDOW_TYPE X11 window property. See
- http://standards.freedesktop.org/wm-spec/ for more details. This attribute
- has no effect on non-X11 platforms. \note Qt automatically sets this
- attribute for QMenu.
-
- \value WA_X11NetWmWindowTypeToolTip Adds _NET_WM_WINDOW_TYPE_TOOLTIP to the
- window's _NET_WM_WINDOW_TYPE X11 window property. See
- http://standards.freedesktop.org/wm-spec/ for more details. This attribute
- has no effect on non-X11 platforms. \note Qt automatically sets this
- attribute for the Qt::ToolTip window type.
-
- \value WA_X11NetWmWindowTypeNotification Adds
- _NET_WM_WINDOW_TYPE_NOTIFICATION to the window's _NET_WM_WINDOW_TYPE X11
- window property. See http://standards.freedesktop.org/wm-spec/ for more
- details. This attribute has no effect on non-X11 platforms.
-
- \value WA_X11NetWmWindowTypeCombo Adds _NET_WM_WINDOW_TYPE_COMBO
- to the window's _NET_WM_WINDOW_TYPE X11 window property. See
- http://standards.freedesktop.org/wm-spec/ for more details. This attribute
- has no effect on non-X11 platforms. \note Qt automatically sets this
- attribute for the QComboBox pop-up.
-
- \value WA_X11NetWmWindowTypeDND Adds _NET_WM_WINDOW_TYPE_DND to
- the window's _NET_WM_WINDOW_TYPE X11 window property. See
- http://standards.freedesktop.org/wm-spec/ for more details. This attribute
- has no effect on non-X11 platforms. \note Qt automatically sets this
- attribute on the feedback widget used during a drag.
-
- \value WA_MacFrameworkScaled Enables resolution independence aware mode
- on Mac when using Carbon. This attribute has no effect on Cocoa.
- The attribute is off by default and can be enabled on a per-window basis.
-
- \value WA_AcceptTouchEvents Allows touch events (see QTouchEvent)
- to be sent to the widget. Must be set on all widgets that can
- handle touch events. Without this attribute set, events from a
- touch device will be sent as mouse events.
-
- \omitvalue WA_SetLayoutDirection
- \omitvalue WA_InputMethodTransparent
- \omitvalue WA_WState_CompressKeys
- \omitvalue WA_WState_ConfigPending
- \omitvalue WA_WState_Created
- \omitvalue WA_WState_DND
- \omitvalue WA_WState_ExplicitShowHide
- \omitvalue WA_WState_Hidden
- \omitvalue WA_WState_InPaintEvent
- \omitvalue WA_WState_OwnSizePolicy
- \omitvalue WA_WState_Polished
- \omitvalue WA_WState_Reparented
- \omitvalue WA_WState_Visible
- \omitvalue WA_SetWindowIcon
- \omitvalue WA_PendingUpdate
- \omitvalue WA_LaidOut
- \omitvalue WA_GrabbedShortcut
- \omitvalue WA_DontShowOnScreen
- \omitvalue WA_InvalidSize
- \omitvalue WA_ForceUpdatesDisabled
- \omitvalue WA_NoX11EventCompression
- \omitvalue WA_TintedBackground
- \omitvalue WA_X11OpenGLOverlay
- \omitvalue WA_CanHostQMdiSubWindowTitleBar
- \omitvalue WA_AttributeCount
- \omitvalue WA_StyleSheet
- \omitvalue WA_X11BypassTransientForHint
- \omitvalue WA_SetWindowModality
- \omitvalue WA_WState_WindowOpacitySet
- \omitvalue WA_WState_AcceptedTouchBeginEvent
-*/
-
-/*! \typedef Qt::HANDLE
-
- Platform-specific handle type for system objects. This is
- equivalent to \c{void *} on Windows and Mac OS X, and embedded
- Linux, and to \c{unsigned long} on X11.
-
- \warning Using this type is not portable.
-*/
-
-/*!
- \enum Qt::Key
-
- The key names used by Qt.
-
- \value Key_Escape
- \value Key_Tab
- \value Key_Backtab
- \omitvalue Key_BackTab
- \value Key_Backspace
- \omitvalue Key_BackSpace
- \value Key_Return
- \value Key_Enter Typically located on the keypad.
- \value Key_Insert
- \value Key_Delete
- \value Key_Pause
- \value Key_Print
- \value Key_SysReq
- \value Key_Clear
- \value Key_Home
- \value Key_End
- \value Key_Left
- \value Key_Up
- \value Key_Right
- \value Key_Down
- \value Key_PageUp
- \omitvalue Key_Prior
- \value Key_PageDown
- \omitvalue Key_Next
- \value Key_Shift
- \value Key_Control On Mac OS X, this corresponds to the Command keys.
- \value Key_Meta On Mac OS X, this corresponds to the Control keys.
- On Windows keyboards, this key is mapped to the
- Windows key.
- \value Key_Alt
- \value Key_AltGr On Windows, when the KeyDown event for this key is
- sent, the Ctrl+Alt modifiers are also set.
- \value Key_CapsLock
- \value Key_NumLock
- \value Key_ScrollLock
- \value Key_F1
- \value Key_F2
- \value Key_F3
- \value Key_F4
- \value Key_F5
- \value Key_F6
- \value Key_F7
- \value Key_F8
- \value Key_F9
- \value Key_F10
- \value Key_F11
- \value Key_F12
- \value Key_F13
- \value Key_F14
- \value Key_F15
- \value Key_F16
- \value Key_F17
- \value Key_F18
- \value Key_F19
- \value Key_F20
- \value Key_F21
- \value Key_F22
- \value Key_F23
- \value Key_F24
- \value Key_F25
- \value Key_F26
- \value Key_F27
- \value Key_F28
- \value Key_F29
- \value Key_F30
- \value Key_F31
- \value Key_F32
- \value Key_F33
- \value Key_F34
- \value Key_F35
- \value Key_Super_L
- \value Key_Super_R
- \value Key_Menu
- \value Key_Hyper_L
- \value Key_Hyper_R
- \value Key_Help
- \value Key_Direction_L
- \value Key_Direction_R
- \value Key_Space
- \value Key_Any
- \value Key_Exclam
- \value Key_QuoteDbl
- \value Key_NumberSign
- \value Key_Dollar
- \value Key_Percent
- \value Key_Ampersand
- \value Key_Apostrophe
- \value Key_ParenLeft
- \value Key_ParenRight
- \value Key_Asterisk
- \value Key_Plus
- \value Key_Comma
- \value Key_Minus
- \value Key_Period
- \value Key_Slash
- \value Key_0
- \value Key_1
- \value Key_2
- \value Key_3
- \value Key_4
- \value Key_5
- \value Key_6
- \value Key_7
- \value Key_8
- \value Key_9
- \value Key_Colon
- \value Key_Semicolon
- \value Key_Less
- \value Key_Equal
- \value Key_Greater
- \value Key_Question
- \value Key_At
- \value Key_A
- \value Key_B
- \value Key_C
- \value Key_D
- \value Key_E
- \value Key_F
- \value Key_G
- \value Key_H
- \value Key_I
- \value Key_J
- \value Key_K
- \value Key_L
- \value Key_M
- \value Key_N
- \value Key_O
- \value Key_P
- \value Key_Q
- \value Key_R
- \value Key_S
- \value Key_T
- \value Key_U
- \value Key_V
- \value Key_W
- \value Key_X
- \value Key_Y
- \value Key_Z
- \value Key_BracketLeft
- \value Key_Backslash
- \value Key_BracketRight
- \value Key_AsciiCircum
- \value Key_Underscore
- \value Key_QuoteLeft
- \value Key_BraceLeft
- \value Key_Bar
- \value Key_BraceRight
- \value Key_AsciiTilde
- \value Key_nobreakspace
- \value Key_exclamdown
- \value Key_cent
- \value Key_sterling
- \value Key_currency
- \value Key_yen
- \value Key_brokenbar
- \value Key_section
- \value Key_diaeresis
- \value Key_copyright
- \value Key_ordfeminine
- \value Key_guillemotleft
- \value Key_notsign
- \value Key_hyphen
- \value Key_registered
- \value Key_macron
- \value Key_degree
- \value Key_plusminus
- \value Key_twosuperior
- \value Key_threesuperior
- \value Key_acute
- \value Key_mu
- \value Key_paragraph
- \value Key_periodcentered
- \value Key_cedilla
- \value Key_onesuperior
- \value Key_masculine
- \value Key_guillemotright
- \value Key_onequarter
- \value Key_onehalf
- \value Key_threequarters
- \value Key_questiondown
- \value Key_Agrave
- \value Key_Aacute
- \value Key_Acircumflex
- \value Key_Atilde
- \value Key_Adiaeresis
- \value Key_Aring
- \value Key_AE
- \value Key_Ccedilla
- \value Key_Egrave
- \value Key_Eacute
- \value Key_Ecircumflex
- \value Key_Ediaeresis
- \value Key_Igrave
- \value Key_Iacute
- \value Key_Icircumflex
- \value Key_Idiaeresis
- \value Key_ETH
- \value Key_Ntilde
- \value Key_Ograve
- \value Key_Oacute
- \value Key_Ocircumflex
- \value Key_Otilde
- \value Key_Odiaeresis
- \value Key_multiply
- \value Key_Ooblique
- \value Key_Ugrave
- \value Key_Uacute
- \value Key_Ucircumflex
- \value Key_Udiaeresis
- \value Key_Yacute
- \value Key_THORN
- \value Key_ssharp
- \omitvalue Key_agrave
- \omitvalue Key_aacute
- \omitvalue Key_acircumflex
- \omitvalue Key_atilde
- \omitvalue Key_adiaeresis
- \omitvalue Key_aring
- \omitvalue Key_ae
- \omitvalue Key_ccedilla
- \omitvalue Key_egrave
- \omitvalue Key_eacute
- \omitvalue Key_ecircumflex
- \omitvalue Key_ediaeresis
- \omitvalue Key_igrave
- \omitvalue Key_iacute
- \omitvalue Key_icircumflex
- \omitvalue Key_idiaeresis
- \omitvalue Key_eth
- \omitvalue Key_ntilde
- \omitvalue Key_ograve
- \omitvalue Key_oacute
- \omitvalue Key_ocircumflex
- \omitvalue Key_otilde
- \omitvalue Key_odiaeresis
- \value Key_division
- \omitvalue Key_oslash
- \omitvalue Key_ugrave
- \omitvalue Key_uacute
- \omitvalue Key_ucircumflex
- \omitvalue Key_udiaeresis
- \omitvalue Key_yacute
- \omitvalue Key_thorn
- \value Key_ydiaeresis
- \value Key_Multi_key
- \value Key_Codeinput
- \value Key_SingleCandidate
- \value Key_MultipleCandidate
- \value Key_PreviousCandidate
- \value Key_Mode_switch
- \value Key_Kanji
- \value Key_Muhenkan
- \value Key_Henkan
- \value Key_Romaji
- \value Key_Hiragana
- \value Key_Katakana
- \value Key_Hiragana_Katakana
- \value Key_Zenkaku
- \value Key_Hankaku
- \value Key_Zenkaku_Hankaku
- \value Key_Touroku
- \value Key_Massyo
- \value Key_Kana_Lock
- \value Key_Kana_Shift
- \value Key_Eisu_Shift
- \value Key_Eisu_toggle
- \value Key_Hangul
- \value Key_Hangul_Start
- \value Key_Hangul_End
- \value Key_Hangul_Hanja
- \value Key_Hangul_Jamo
- \value Key_Hangul_Romaja
- \value Key_Hangul_Jeonja
- \value Key_Hangul_Banja
- \value Key_Hangul_PreHanja
- \value Key_Hangul_PostHanja
- \value Key_Hangul_Special
- \value Key_Dead_Grave
- \value Key_Dead_Acute
- \value Key_Dead_Circumflex
- \value Key_Dead_Tilde
- \value Key_Dead_Macron
- \value Key_Dead_Breve
- \value Key_Dead_Abovedot
- \value Key_Dead_Diaeresis
- \value Key_Dead_Abovering
- \value Key_Dead_Doubleacute
- \value Key_Dead_Caron
- \value Key_Dead_Cedilla
- \value Key_Dead_Ogonek
- \value Key_Dead_Iota
- \value Key_Dead_Voiced_Sound
- \value Key_Dead_Semivoiced_Sound
- \value Key_Dead_Belowdot
- \value Key_Dead_Hook
- \value Key_Dead_Horn
- \value Key_Back
- \value Key_Forward
- \value Key_Stop
- \value Key_Refresh
- \value Key_VolumeDown
- \value Key_VolumeMute
- \value Key_VolumeUp
- \value Key_BassBoost
- \value Key_BassUp
- \value Key_BassDown
- \value Key_TrebleUp
- \value Key_TrebleDown
- \value Key_MediaPlay
- \value Key_MediaStop
- \value Key_MediaPrevious
- \omitvalue Key_MediaPrev
- \value Key_MediaNext
- \value Key_MediaRecord
- \value Key_HomePage
- \value Key_Favorites
- \value Key_Search
- \value Key_Standby
- \value Key_OpenUrl
- \value Key_LaunchMail
- \value Key_LaunchMedia
- \value Key_Launch0
- \value Key_Launch1
- \value Key_Launch2
- \value Key_Launch3
- \value Key_Launch4
- \value Key_Launch5
- \value Key_Launch6
- \value Key_Launch7
- \value Key_Launch8
- \value Key_Launch9
- \value Key_LaunchA
- \value Key_LaunchB
- \value Key_LaunchC
- \value Key_LaunchD
- \value Key_LaunchE
- \value Key_LaunchF
- \value Key_MediaLast
- \value Key_unknown
-
- \value Key_Call
- \value Key_Context1
- \value Key_Context2
- \value Key_Context3
- \value Key_Context4
- \value Key_Flip
- \value Key_Hangup
- \value Key_No
- \value Key_Select
- \value Key_Yes
-
- \value Key_Execute
- \value Key_Printer
- \value Key_Play
- \value Key_Sleep
- \value Key_Zoom
- \value Key_Cancel
-
- \sa QKeyEvent::key()
-*/
-
-/*!
- \enum Qt::HitTestAccuracy
-
- This enum contains the types of accuracy that can be used by the
- QTextDocument class when testing for mouse clicks on text documents.
-
- \value ExactHit The point at which input occurred must coincide
- exactly with input-sensitive parts of the document.
- \value FuzzyHit The point at which input occurred can lie close to
- input-sensitive parts of the document.
-
- This enum is defined in the \c <QTextDocument> header file.
-*/
-
-/*!
- \enum Qt::WhiteSpaceMode
-
- This enum describes the types of whitespace mode that are used by
- the QTextDocument class to meet the requirements of different kinds
- of textual information.
-
- \value WhiteSpaceNormal The whitespace mode used to display
- normal word wrapped text in paragraphs.
- \value WhiteSpacePre A preformatted text mode in which
- whitespace is reproduced exactly.
- \value WhiteSpaceNoWrap
-
- \omitvalue WhiteSpaceModeUndefined
-
- This enum is defined in the \c <QTextDocument> header file.
-*/
-
-/*!
- \enum Qt::ButtonState_enum
- \compat
- \value ShiftButton
- \value ControlButton
- \value AltButton
- \value MetaButton
- \value Keypad
- \value KeyButtonMask
-
- Use Qt::KeyboardModifier instead.
-*/
-
-/*!
- \typedef Qt::ButtonState
- \compat
-
- Use Qt::KeyboardModifier instead.
-*/
-
-/*!
- \enum Qt::CheckState
-
- This enum describes the state of checkable items, controls, and widgets.
-
- \value Unchecked The item is unchecked.
- \value PartiallyChecked The item is partially checked. Items in hierarchical models
- may be partially checked if some, but not all, of their
- children are checked.
- \value Checked The item is checked.
-
- \sa QCheckBox, Qt::ItemFlags, Qt::ItemDataRole
-*/
-
-
-/*!
- \enum Qt::ToolButtonStyle
-
- The style of the tool button, describing how the button's text and
- icon should be displayed.
-
- \value ToolButtonIconOnly Only display the icon.
- \value ToolButtonTextOnly Only display the text.
- \value ToolButtonTextBesideIcon The text appears beside the icon.
- \value ToolButtonTextUnderIcon The text appears under the icon.
-*/
-
-/*!
- \enum Qt::Corner
-
- This enum type specifies a corner in a rectangle:
-
- \value TopLeftCorner The top-left corner of the rectangle.
- \value TopRightCorner The top-right corner of the rectangle.
- \value BottomLeftCorner The bottom-left corner of the rectangle.
- \value BottomRightCorner The bottom-right corner of the rectangle.
-
- \omitvalue TopLeft
- \omitvalue TopRight
- \omitvalue BottomLeft
- \omitvalue BottomRight
-*/
-
-/*!
- \enum Qt::ScrollBarPolicy
-
- This enum type describes the various modes of QAbstractScrollArea's scroll
- bars.
-
- \value ScrollBarAsNeeded QAbstractScrollArea shows a scroll bar when the
- content is too large to fit and not otherwise. This is the
- default.
-
- \value ScrollBarAlwaysOff QAbstractScrollArea never shows a scroll bar.
-
- \value ScrollBarAlwaysOn QAbstractScrollArea always shows a scroll bar.
-
- (The modes for the horizontal and vertical scroll bars are
- independent.)
-*/
-
-/*!
- \enum Qt::ArrowType
-
- \value NoArrow
- \value UpArrow
- \value DownArrow
- \value LeftArrow
- \value RightArrow
-*/
-
-/*!
- \enum Qt::FocusReason
-
- This enum specifies why the focus changed. It will be passed
- through QWidget::setFocus and can be retrieved in the QFocusEvent
- sent to the widget upon focus change.
-
- \value MouseFocusReason A mouse action occurred.
- \value TabFocusReason The Tab key was pressed.
- \value BacktabFocusReason A Backtab occurred. The input for this may
- include the Shift or Control keys;
- e.g. Shift+Tab.
- \value ActiveWindowFocusReason The window system made this window either
- active or inactive.
- \value PopupFocusReason The application opened/closed a pop-up that
- grabbed/released the keyboard focus.
- \value ShortcutFocusReason The user typed a label's buddy shortcut
- \value MenuBarFocusReason The menu bar took focus.
- \value OtherFocusReason Another reason, usually application-specific.
-
- \omitvalue NoFocusReason
-
- \sa {Keyboard Focus}
-*/
-
-/*!
- \enum Qt::WindowState
-
- \keyword window state
-
- This enum type is used to specify the current state of a top-level
- window.
-
- The states are
-
- \value WindowNoState The window has no state set (in normal state).
- \value WindowMinimized The window is minimized (i.e. iconified).
- \value WindowMaximized The window is maximized with a frame around it.
- \value WindowFullScreen The window fills the entire screen without any frame around it.
- \value WindowActive The window is the active window, i.e. it has keyboard focus.
-
-*/
-
-/*!
- \enum Qt::ContextMenuPolicy
-
- This enum type defines the various policies a widget can have with
- respect to showing a context menu.
-
- \value NoContextMenu the widget does not feature a context menu,
- context menu handling is deferred to the widget's parent.
- \value PreventContextMenu the widget does not feature a context
- menu, and in contrast to \c NoContextMenu, the handling is \e not
- deferred to the widget's parent. This means that all right mouse
- button events are guaranteed to be delivered to the widget itself
- through mousePressEvent(), and mouseReleaseEvent().
- \value DefaultContextMenu the widget's QWidget::contextMenuEvent() handler is called.
- \value ActionsContextMenu the widget displays its QWidget::actions() as context menu.
- \value CustomContextMenu the widget emits the QWidget::customContextMenuRequested() signal.
-*/
-
-/*!
- \enum Qt::FocusPolicy
-
- This enum type defines the various policies a widget can have with
- respect to acquiring keyboard focus.
-
- \value TabFocus the widget accepts focus by tabbing.
- \value ClickFocus the widget accepts focus by clicking.
- \value StrongFocus the widget accepts focus by both tabbing
- and clicking. On Mac OS X this will also
- be indicate that the widget accepts tab focus
- when in 'Text/List focus mode'.
- \value WheelFocus like Qt::StrongFocus plus the widget accepts
- focus by using the mouse wheel.
- \value NoFocus the widget does not accept focus.
-
-*/
-
-/*!
- \enum Qt::ShortcutContext
-
- For a QEvent::Shortcut event to occur, the shortcut's key sequence
- must be entered by the user in a context where the shortcut is
- active. The possible contexts are these:
-
- \value WidgetShortcut The shortcut is active when its
- parent widget has focus.
- \value WidgetWithChildrenShortcut The shortcut is active
- when its parent widget, or any of its children has focus.
- Children which are top-level widgets, except pop-ups, are
- not affected by this shortcut context.
- \value WindowShortcut The shortcut is active when its
- parent widget is a logical subwidget of the
- active top-level window.
- \value ApplicationShortcut The shortcut is active when one of
- the applications windows are active.
-*/
-
-/*!
- \typedef Qt::WFlags
-
- Synonym for Qt::WindowFlags.
-*/
-
-/*!
- \enum Qt::WindowType
-
- \keyword window flag
-
- This enum type is used to specify various window-system properties
- for the widget. They are fairly unusual but necessary in a few
- cases. Some of these flags depend on whether the underlying window
- manager supports them.
-
- The main types are
-
- \value Widget This is the default type for QWidget. Widgets of
- this type are child widgets if they have a parent,
- and independent windows if they have no parent.
- See also Qt::Window and Qt::SubWindow.
-
- \value Window Indicates that the widget is a window, usually
- with a window system frame and a title bar,
- irrespective of whether the widget has a parent or
- not. Note that it is not possible to unset this
- flag if the widget does not have a parent.
-
- \value Dialog Indicates that the widget is a window that should
- be decorated as a dialog (i.e., typically no
- maximize or minimize buttons in the title bar).
- This is the default type for QDialog. If you want
- to use it as a modal dialog, it should be launched
- from another window, or have a parent and used
- with the QWidget::windowModality property. If you make
- it modal, the dialog will prevent other top-level
- windows in the application from getting any input.
- We refer to a top-level window that has a parent
- as a \e secondary window.
-
- \value Sheet Indicates that the widget is a Macintosh sheet.
-
- \value Drawer Indicates that the widget is a Macintosh drawer.
-
- \value Popup Indicates that the widget is a pop-up top-level
- window, i.e. that it is modal, but has a window
- system frame appropriate for pop-up menus.
-
- \value Tool Indicates that the widget is a tool window. A tool
- window is often a small window with a smaller than
- usual title bar and decoration, typically used for
- collections of tool buttons. It there is a parent,
- the tool window will always be kept on top of it.
- If there isn't a parent, you may consider using
- Qt::WindowStaysOnTopHint as well. If the window
- system supports it, a tool window can be decorated
- with a somewhat lighter frame. It can also be
- combined with Qt::FramelessWindowHint.
- \br
- \br
- On Mac OS X, tool windows correspond to the
- \l{http://developer.apple.com/documentation/Carbon/Conceptual/HandlingWindowsControls/hitb-wind_cont_concept/chapter_2_section_2.html}{Floating}
- class of windows. This means that the window lives on a
- level above normal windows; it impossible to put a normal
- window on top of it. By default, tool windows will disappear
- when the application is inactive. This can be controlled by
- the Qt::WA_MacAlwaysShowToolWindow attribute.
-
- \value ToolTip Indicates that the widget is a tooltip. This is
- used internally to implement
- \l{QWidget::toolTip}{tooltips}.
-
- \value SplashScreen Indicates that the window is a splash screen.
- This is the default type for QSplashScreen.
-
- \value Desktop Indicates that this widget is the desktop. This
- is the type for QDesktopWidget.
-
- \value SubWindow Indicates that this widget is a sub-window, such
- as a QMdiSubWindow widget.
-
- There are also a number of flags which you can use to customize
- the appearance of top-level windows. These have no effect on other
- windows:
-
- \value MSWindowsFixedSizeDialogHint Gives the window a thin dialog border on Windows.
- This style is traditionally used for fixed-size dialogs.
-
- \value MSWindowsOwnDC Gives the window its own display
- context on Windows.
-
- \value X11BypassWindowManagerHint Bypass the window
- manager completely. This results in a borderless window
- that is not managed at all (i.e., no keyboard input unless
- you call QWidget::activateWindow() manually).
-
- \value FramelessWindowHint Produces a borderless window.
- The user cannot move or resize a borderless window via the window
- system. On X11, the result of the flag is dependent on the window manager and its
- ability to understand Motif and/or NETWM hints. Most existing
- modern window managers can handle this.
-
- The \c CustomizeWindowHint flag is used to enable customization of
- the window controls. This flag must be set to allow the \c
- WindowTitleHint, \c WindowSystemMenuHint, \c
- WindowMinimizeButtonHint, \c WindowMaximizeButtonHint and \c
- WindowCloseButtonHint flags to be changed.
-
- \value CustomizeWindowHint Turns off the default window title hints.
-
- \value WindowTitleHint Gives the window a title bar.
-
- \value WindowSystemMenuHint Adds a window system menu, and
- possibly a close button (for example on Mac). If you need to hide
- or show a close button, it is more portable to use \c
- WindowCloseButtonHint.
-
- \value WindowMinimizeButtonHint Adds a minimize button. On
- some platforms this implies Qt::WindowSystemMenuHint for it to work.
-
- \value WindowMaximizeButtonHint Adds a maximize button. On
- some platforms this implies Qt::WindowSystemMenuHint for it to work.
-
- \value WindowMinMaxButtonsHint Adds a minimize and a maximize
- button. On some platforms this implies Qt::WindowSystemMenuHint for it to work.
-
- \value WindowCloseButtonHint Adds a close button. On
- some platforms this implies Qt::WindowSystemMenuHint for it
- to work.
-
- \value WindowContextHelpButtonHint Adds a context help button to dialogs.
- On some platforms this implies Qt::WindowSystemMenuHint for it to work.
-
- \value MacWindowToolBarButtonHint On Mac OS X adds a tool bar button (i.e.,
- the oblong button that is on the top right of windows that have toolbars.
-
- \value BypassGraphicsProxyWidget Prevents the window and its children from
- automatically embedding themselves into a QGraphicsProxyWidget if the
- parent widget is already embedded. You can set this flag if you
- want your widget to always be a toplevel widget on the desktop,
- regardless of whether the parent widget is embedded in a scene or
- not.
-
- \value WindowShadeButtonHint
-
- \value WindowStaysOnTopHint Informs the window system that the
- window should stay on top of all other windows. Note that
- on some window managers on X11 you also have to pass
- Qt::X11BypassWindowManagerHint for this flag to work
- correctly.
-
- \value WindowStaysOnBottomHint Informs the window system that the
- window should stay on bottom of all other windows. Note
- that on X11 this hint will work only in window managers
- that support _NET_WM_STATE_BELOW atom. If a window always
- on the bottom has a parent, the parent will also be left on
- the bottom. This window hint is currently not implemented
- for Mac OS X.
-
- \value WindowOkButtonHint Adds an OK button to the window decoration of a dialog.
- Only supported for Windows CE.
-
- \value WindowCancelButtonHint Adds a Cancel button to the window decoration of a dialog.
- Only supported for Windows CE.
-
- \value WindowType_Mask A mask for extracting the window type
- part of the window flags.
-
- Obsolete flags:
-
- \value WMouseNoMask Use Qt::WA_MouseNoMask instead.
- \value WDestructiveClose Use Qt::WA_DeleteOnClose instead.
- \value WStaticContents Use Qt::WA_StaticContents instead.
- \value WGroupLeader No longer needed.
- \value WShowModal Use QWidget::windowModality instead.
- \value WNoMousePropagation Use Qt::WA_NoMousePropagation instead.
- \value WType_TopLevel Use Qt::Window instead.
- \value WType_Dialog Use Qt::Dialog instead.
- \value WType_Popup Use Qt::Popup instead.
- \value WType_Desktop Use Qt::Desktop instead.
- \value WType_Mask Use Qt::WindowType_Mask instead.
-
- \value WStyle_Customize No longer needed.
- \value WStyle_NormalBorder No longer needed.
- \value WStyle_DialogBorder Use Qt::MSWindowsFixedSizeDialogHint instead.
- \value WStyle_NoBorder Use Qt::FramelessWindowHint instead.
- \value WStyle_Title Use Qt::WindowTitleHint instead.
- \value WStyle_SysMenu Use Qt::WindowSystemMenuHint instead.
- \value WStyle_Minimize Use Qt::WindowMinimizeButtonHint instead.
- \value WStyle_Maximize Use Qt::WindowMaximizeButtonHint instead.
- \value WStyle_MinMax Use Qt::WindowMinMaxButtonsHint instead.
- \value WStyle_Tool Use Qt::Tool instead.
- \value WStyle_StaysOnTop Use Qt::WindowStaysOnTopHint instead.
- \value WStyle_ContextHelp Use Qt::WindowContextHelpButtonHint instead.
-
- \value WPaintDesktop No longer needed.
- \value WPaintClever No longer needed.
-
- \value WX11BypassWM Use Qt::X11BypassWindowManagerHint instead.
- \value WWinOwnDC Use Qt::MSWindowsOwnDC instead.
- \value WMacSheet Use Qt::Sheet instead.
- \value WMacDrawer Use Qt::Drawer instead.
-
- \value WStyle_Splash Use Qt::SplashScreen instead.
-
- \value WNoAutoErase No longer needed.
- \value WRepaintNoErase No longer needed.
- \value WNorthWestGravity Use Qt::WA_StaticContents instead.
- \value WType_Modal Use Qt::Dialog and QWidget::windowModality instead.
- \value WStyle_Dialog Use Qt::Dialog instead.
- \value WStyle_NoBorderEx Use Qt::FramelessWindowHint instead.
- \value WResizeNoErase No longer needed.
- \value WMacNoSheet No longer needed.
-
- \sa QWidget::windowFlags, {Window Flags Example}
-*/
-
-/*!
- \enum Qt::DropAction
-
- \value CopyAction Copy the data to the target.
- \value MoveAction Move the data from the source to the target.
- \value LinkAction Create a link from the source to the target.
- \value ActionMask
- \value IgnoreAction Ignore the action (do nothing with the data).
- \value TargetMoveAction On Windows, this value is used when the ownership of the D&D data
- should be taken over by the target application,
- i.e., the source application should not delete
- the data.
- \br
- On X11 this value is used to do a move.
- \br
- TargetMoveAction is not used on the Mac.
-*/
-
-#if defined(Q_OS_WIN) && defined(QT3_SUPPORT)
-/*!
- \enum Qt::WindowsVersion
- \compat
-
- \value WV_32s
- \value WV_95
- \value WV_98
- \value WV_Me
- \value WV_DOS_based
- \value WV_NT
- \value WV_2000
- \value WV_XP
- \value WV_2003
- \value WV_NT_based
- \value WV_CE
- \value WV_CENET
- \value WV_CE_based
- \value WV_CE_5
- \value WV_CE_6
-*/
-#endif
-
-#if defined(Q_OS_MAC) && defined(QT3_SUPPORT)
-/*!
- \enum Qt::MacintoshVersion
- \compat
-
- \value MV_Unknown Use QSysInfo::MV_Unknown instead.
- \value MV_9 Use QSysInfo::MV_9 instead.
- \value MV_10_DOT_0 Use QSysInfo::MV_10_0 instead.
- \value MV_10_DOT_1 Use QSysInfo::MV_10_1 instead.
- \value MV_10_DOT_2 Use QSysInfo::MV_10_2 instead.
- \value MV_10_DOT_3 Use QSysInfo::MV_10_3 instead.
- \value MV_10_DOT_4 Use QSysInfo::MV_10_4 instead.
-
- \value MV_CHEETAH Use QSysInfo::MV_10_0 instead.
- \value MV_PUMA Use QSysInfo::MV_10_1 instead.
- \value MV_JAGUAR Use QSysInfo::MV_10_2 instead.
- \value MV_PANTHER Use QSysInfo::MV_10_3 instead.
- \value MV_TIGER Use QSysInfo::MV_10_4 instead.
-
- \sa QSysInfo::MacVersion
-*/
-#endif
-
-/*! \typedef Qt::ToolBarDock
- \compat
-
- Use Qt::Dock instead.
-*/
-
-/*!
- \enum Qt::Dock
- \compat
-
- Each dock window can be in one of the following positions:
-
- \value DockUnmanaged not managed by a Q3MainWindow.
-
- \value DockTornOff the dock window floats as its own top level
- window which always stays on top of the main window.
-
- \value DockTop above the central widget, below the menu bar.
-
- \value DockBottom below the central widget, above the status bar.
-
- \value DockRight to the right of the central widget.
-
- \value DockLeft to the left of the central widget.
-
- \value DockMinimized the dock window is not shown (this is
- effectively a 'hidden' dock area); the handles of all minimized
- dock windows are drawn in one row below the menu bar.
-
- \omitvalue Bottom
- \omitvalue Left
- \omitvalue Minimized
- \omitvalue Right
- \omitvalue Top
- \omitvalue TornOff
- \omitvalue Unmanaged
-*/
-
-/*!
- \enum Qt::AnchorAttribute
-
- An anchor has one or more of the following attributes:
-
- \value AnchorName the name attribute of the anchor. This attribute is
- used when scrolling to an anchor in the document.
-
- \value AnchorHref the href attribute of the anchor. This attribute is
- used when a link is clicked to determine what content to load.
-*/
-
-/*!
- \enum Qt::SortOrder
-
- This enum describes how the items in a widget are sorted.
-
- \value AscendingOrder The items are sorted ascending e.g. starts with
- 'AAA' ends with 'ZZZ' in Latin-1 locales
-
- \value DescendingOrder The items are sorted descending e.g. starts with
- 'ZZZ' ends with 'AAA' in Latin-1 locales
-
- \omitvalue Ascending
- \omitvalue Descending
-*/
-
-/*!
- \enum Qt::ClipOperation
-
- \value NoClip This operation turns clipping off.
-
- \value ReplaceClip Replaces the current clip path/rect/region with
- the one supplied in the function call.
-
- \value IntersectClip Intersects the current clip path/rect/region
- with the one supplied in the function call.
-
- \value UniteClip Unites the current clip path/rect/region with the
- one supplied in the function call.
-*/
-
-/*!
- \enum Qt::ItemSelectionMode
-
- This enum is used in QGraphicsItem, QGraphicsScene and QGraphicsView to
- specify how items are selected, or how to determine if a shapes and items
- collide.
-
- \value ContainsItemShape The output list contains only items whose
- \l{QGraphicsItem::shape()}{shape} is fully contained inside the
- selection area. Items that intersect with the area's outline are
- not included.
-
- \value IntersectsItemShape The output list contains both items whose
- \l{QGraphicsItem::shape()}{shape} is fully contained inside the
- selection area, and items that intersect with the area's
- outline. This is a common mode for rubber band selection.
-
- \value ContainsItemBoundingRect The output list contains only items whose
- \l{QGraphicsItem::boundingRect()}{bounding rectangle} is fully
- contained inside the selection area. Items that intersect with the
- area's outline are not included.
-
- \value IntersectsItemBoundingRect The output list contains both items
- whose \l{QGraphicsItem::boundingRect()}{bounding rectangle} is
- fully contained inside the selection area, and items that intersect
- with the area's outline. This method is commonly used for
- determining areas that need redrawing.
-
- \sa QGraphicsScene::items(), QGraphicsScene::collidingItems(),
- QGraphicsView::items(), QGraphicsItem::collidesWithItem(),
- QGraphicsItem::collidesWithPath()
-*/
-
-/*!
- \enum Qt::FillRule
-
- Specifies which method should be used to fill the paths and polygons.
-
- \value OddEvenFill Specifies that the region is filled using the
- odd even fill rule. With this rule, we determine whether a point
- is inside the shape by using the following method.
- Draw a horizontal line from the point to a location outside the shape,
- and count the number of intersections. If the number of intersections
- is an odd number, the point is inside the shape. This mode is the
- default.
-
- \value WindingFill Specifies that the region is filled using the
- non zero winding rule. With this rule, we determine whether a
- point is inside the shape by using the following method.
- Draw a horizontal line from the point to a location outside the shape.
- Determine whether the direction of the line at each intersection point
- is up or down. The winding number is determined by summing the
- direction of each intersection. If the number is non zero, the point
- is inside the shape. This fill mode can also in most cases be considered
- as the intersection of closed shapes.
-*/
-
-/*!
- \enum Qt::PaintUnit
-
- \compat
-
- \value PixelUnit
- \value LoMetricUnit Obsolete
- \value HiMetricUnit Obsolete
- \value LoEnglishUnit Obsolete
- \value HiEnglishUnit Obsolete
- \value TwipsUnit Obsolete
-*/
-
-/*!
- \enum Qt::TextFormat
-
- This enum is used in widgets that can display both plain text and
- rich text, e.g. QLabel. It is used for deciding whether a text
- string should be interpreted as one or the other. This is normally
- done by passing one of the enum values to a setTextFormat()
- function.
-
- \value PlainText The text string is interpreted as a plain text
- string.
-
- \value RichText The text string is interpreted as a rich text
- string.
-
- \value AutoText The text string is interpreted as for
- Qt::RichText if Qt::mightBeRichText() returns true, otherwise
- as Qt::PlainText.
-
- \value LogText A special, limited text format which is only used
- by Q3TextEdit in an optimized mode.
-*/
-
-/*!
- \enum Qt::CursorShape
-
- This enum type defines the various cursors that can be used.
-
- The standard arrow cursor is the default for widgets in a normal state.
-
- \value ArrowCursor \inlineimage cursor-arrow.png
- The standard arrow cursor.
- \value UpArrowCursor \inlineimage cursor-uparrow.png
- An arrow pointing upwards toward the top of the screen.
- \value CrossCursor \inlineimage cursor-cross.png
- A crosshair cursor, typically used to help the
- user accurately select a point on the screen.
- \value WaitCursor \inlineimage cursor-wait.png
- An hourglass or watch cursor, usually shown during
- operations that prevent the user from interacting with
- the application.
- \value IBeamCursor \inlineimage cursor-ibeam.png
- A caret or ibeam cursor, indicating that a widget can
- accept and display text input.
- \value SizeVerCursor \inlineimage cursor-sizev.png
- A cursor used for elements that are used to vertically
- resize top-level windows.
- \value SizeHorCursor \inlineimage cursor-sizeh.png
- A cursor used for elements that are used to horizontally
- resize top-level windows.
- \value SizeBDiagCursor \inlineimage cursor-sizeb.png
- A cursor used for elements that are used to diagonally
- resize top-level windows at their top-right and
- bottom-left corners.
- \value SizeFDiagCursor \inlineimage cursor-sizef.png
- A cursor used for elements that are used to diagonally
- resize top-level windows at their top-left and
- bottom-right corners.
- \value SizeAllCursor \inlineimage cursor-sizeall.png
- A cursor used for elements that are used to resize
- top-level windows in any direction.
- \value BlankCursor A blank/invisible cursor, typically used when the cursor
- shape needs to be hidden.
- \value SplitVCursor \inlineimage cursor-vsplit.png
- A cursor used for vertical splitters, indicating that
- a handle can be dragged horizontally to adjust the use
- of available space.
- \value SplitHCursor \inlineimage cursor-hsplit.png
- A cursor used for horizontal splitters, indicating that
- a handle can be dragged vertically to adjust the use
- of available space.
- \value PointingHandCursor \inlineimage cursor-hand.png
- A pointing hand cursor that is typically used for
- clickable elements such as hyperlinks.
- \value ForbiddenCursor \inlineimage cursor-forbidden.png
- A slashed circle cursor, typically used during drag
- and drop operations to indicate that dragged content
- cannot be dropped on particular widgets or inside
- certain regions.
- \value OpenHandCursor \inlineimage cursor-openhand.png
- A cursor representing an open hand, typically used to
- indicate that the area under the cursor is the visible
- part of a canvas that the user can click and drag in
- order to scroll around.
- \value ClosedHandCursor \inlineimage cursor-closedhand.png
- A cursor representing a closed hand, typically used to
- indicate that a dragging operation is in progress that
- involves scrolling.
- \value WhatsThisCursor \inlineimage cursor-whatsthis.png
- An arrow with a question mark, typically used to indicate
- the presence of What's This? help for a widget.
- \value BusyCursor \inlineimage cursor-wait.png
- An hourglass or watch cursor, usually shown during
- operations that allow the user to interact with
- the application while they are performed in the
- background.
- \value BitmapCursor
- \omitvalue LastCursor
- \omitvalue CustomCursor
-
- \omitvalue arrowCursor
- \omitvalue upArrowCursor
- \omitvalue crossCursor
- \omitvalue waitCursor
- \omitvalue ibeamCursor
- \omitvalue sizeVerCursor
- \omitvalue sizeHorCursor
- \omitvalue sizeBDiagCursor
- \omitvalue sizeFDiagCursor
- \omitvalue sizeAllCursor
- \omitvalue blankCursor
- \omitvalue splitVCursor
- \omitvalue splitHCursor
- \omitvalue pointingHandCursor
- \omitvalue forbiddenCursor
- \omitvalue whatsThisCursor
-*/
-
-/*!
- \typedef Qt::TextFlags
- \compat
-
- Use Qt::TextFlag instead.
-*/
-
-/*!
- \enum Qt::LayoutDirection
-
- Specifies the direction of Qt's layouts:
-
- \value LeftToRight Left-to-right layout.
- \value RightToLeft Right-to-left layout.
-
- Right-to-left layouts are necessary for certain languages,
- notably Arabic and Hebrew.
-
- \sa QApplication::setLayoutDirection(), QWidget::setLayoutDirection()
-*/
-
-/*!
- \enum Qt::InputMethodHint
-
- \value ImhNone No hints.
- \value ImhHiddenText Characters should be hidden, as is typically used when entering passwords.
- This is automatically set when setting QLineEdit::echoMode to \c Password.
- \value ImhDigitsOnly Only digit input is allowed.
- \value ImhFormattedNumbersOnly Only number input (including integers and real numbers) is allowed.
- \value ImhUppercaseOnly Only upper case letter input is allowed.
- \value ImhLowercaseOnly Only lower case letter input is allowed.
- \value ImhNoAutoUppercase The input method should not try to automatically switch to upper case
- at the beginning of a sentence.
- \value ImhPreferNumbers Numbers are preferred (but not required). This can include only digits,
- phone numbers, or all numbers, depending on which one of the
- \c ImhDigitsOnly, \c ImhDialableCharactersOnly and
- \c ImhFormattedNumbersOnly flags is given.
- \value ImhPreferUppercase Upper case letters are preferred (but not required).
- \value ImhPreferLowercase Lower case letters are preferred (but not required).
- \value ImhNoPredictiveText Do not use predictive text (i.e. dictionary lookup) while typing.
- \value ImhDialableCharactersOnly Only characters suitable for phone dialling are allowed.
-
- \value ImhExclusiveInputMask A mask to test for the presence of any flags ending with \c Only.
-
- \note If several flags ending with \c Only are ORed together, the resulting character set will
- consist of the union of the specified sets. For instance specifying \c ImhNumbersOnly and
- \c ImhUppercaseOnly would yield a set consisting of numbers and uppercase letters.
-
- \note If several flags of the \c Prefer type are ORed together, the result is undefined.
-
- \sa QWidget::inputMethodHints
-*/
-
-/*!
- \enum Qt::InputMethodQuery
-
- \value ImMicroFocus The rectangle covering the area of the input cursor in widget coordinates.
- \value ImFont The currently used font for text input.
- \value ImCursorPosition The logical position of the cursor within the text surrounding the input area (see \c ImSurroundingText).
- \value ImSurroundingText The plain text around the input area, for example the current paragraph.
- \value ImCurrentSelection The currently selected text.
- \value ImMaximumTextLength The maximum number of characters that the widget can hold. If there is no limit, QVariant() is returned.
- \value ImAnchorPosition The position of the selection anchor. This may be less or greater than \c ImCursorPosition, depending on which side of selection the cursor is. If there is no selection, it returns the same as \c ImCursorPosition.
-*/
-
-/*!
- \enum Qt::ItemDataRole
-
- Each item in the model has a set of data elements associated with
- it, each with its own role. The roles are used by the view to indicate
- to the model which type of data it needs.
-
- The general purpose roles are:
-
- \value DisplayRole The key data to be rendered in the form of text.
- \value DecorationRole The data to be rendered as a decoration in the form
- of an icon.
- \value EditRole The data in a form suitable for editing in an
- editor.
- \value ToolTipRole The data displayed in the item's tooltip.
- \value StatusTipRole The data displayed in the status bar.
- \value WhatsThisRole The data displayed for the item in "What's This?"
- mode.
- \value SizeHintRole The size hint for the item that will be supplied
- to views.
-
- Roles describing appearance and meta data:
-
- \value FontRole The font used for items rendered with the default
- delegate.
- \value TextAlignmentRole The alignment of the text for items rendered with the
- default delegate.
- \value BackgroundRole The background brush used for items rendered with
- the default delegate.
- \value BackgroundColorRole This role is obsolete. Use BackgroundRole instead.
- \value ForegroundRole The foreground brush (text color, typically)
- used for items rendered with the default delegate.
- \value TextColorRole This role is obsolete. Use ForegroundRole instead.
- \value CheckStateRole This role is used to obtain the checked state of
- an item (see \l Qt::CheckState).
-
- Accessibility roles:
-
- \value AccessibleTextRole The text to be used by accessibility
- extensions and plugins, such as screen
- readers.
- \value AccessibleDescriptionRole A description of the item for accessibility
- purposes.
-
- User roles:
-
- \value UserRole The first role that can be used for application-specific purposes.
-
- \omitvalue DisplayPropertyRole
- \omitvalue DecorationPropertyRole
- \omitvalue ToolTipPropertyRole
- \omitvalue StatusTipPropertyRole
- \omitvalue WhatsThisPropertyRole
-*/
-
-/*!
- \enum Qt::ItemFlag
-
- This enum describes the properties of an item:
-
- \value NoItemFlags It does not have any properties set.
- \value ItemIsSelectable It can be selected.
- \value ItemIsEditable It can be edited.
- \value ItemIsDragEnabled It can be dragged.
- \value ItemIsDropEnabled It can be used as a drop target.
- \value ItemIsUserCheckable It can be checked or unchecked by the user.
- \value ItemIsEnabled The user can interact with the item.
- \value ItemIsTristate The item is checkable with three separate states.
-
- Note that checkable items need to be given both a suitable set of flags
- and an initial state, indicating whether the item is checked or not.
- This is handled automatically for model/view components, but needs
- to be explicitly set for instances of QListWidgetItem, QTableWidgetItem,
- and QTreeWidgetItem.
-
- \sa QAbstractItemModel
-*/
-
-/*!
- \enum Qt::MatchFlag
-
- This enum describes the type of matches that can be used when searching
- for items in a model.
-
- \value MatchExactly Performs QVariant-based matching.
- \value MatchFixedString Performs string-based matching.
- String-based comparisons are case-insensitive unless the
- \c MatchCaseSensitive flag is also specified.
- \value MatchContains The search term is contained in the item.
- \value MatchStartsWith The search term matches the start of the item.
- \value MatchEndsWith The search term matches the end of the item.
- \value MatchCaseSensitive The search is case sensitive.
- \value MatchRegExp Performs string-based matching using a regular
- expression as the search term.
- \value MatchWildcard Performs string-based matching using a string with
- wildcards as the search term.
- \value MatchWrap Perform a search that wraps around, so that when
- the search reaches the last item in the model, it begins again at
- the first item and continues until all items have been examined.
- \value MatchRecursive Searches the entire hierarchy.
-
- \sa QString::compare(), QRegExp
-*/
-
-/*!
- \enum Qt::TextElideMode
-
- This enum specifies where the ellipsis should appear when
- displaying texts that don't fit:
-
- \value ElideLeft The ellipsis should appear at the beginning of the text.
- \value ElideRight The ellipsis should appear at the end of the text.
- \value ElideMiddle The ellipsis should appear in the middle of the text.
- \value ElideNone Ellipsis should NOT appear in the text.
-
- Qt::ElideMiddle is normally the most appropriate choice for URLs (e.g.,
- "\l{http://www.qtsoftware.com/careers/movingto/beijing/}{http://www.qtsof...ovingto/beijing/}"),
- whereas Qt::ElideRight is appropriate
- for other strings (e.g.,
- "\l{http://doc.trolltech.com/qq/qq09-mac-deployment.html}{Deploying Applications on Ma...}").
-
- \sa QAbstractItemView::textElideMode, QFontMetrics::elidedText(), AlignmentFlag QTabBar::elideMode
-*/
-
-/*!
- \enum Qt::WindowModality
-
- \keyword modal
-
- This enum specifies the behavior of a modal window. A modal window
- is one that blocks input to other windows. Note that windows that
- are children of a modal window are not blocked.
-
- The values are:
- \value NonModal The window is not modal and does not block input to other windows.
- \value WindowModal The window is modal to a single window hierarchy and blocks input to its parent window, all grandparent windows, and all siblings of its parent and grandparent windows.
- \value ApplicationModal The window is modal to the application and blocks input to all windows.
-
- \sa QWidget::windowModality, QDialog
-*/
-
-/*!
- \enum Qt::TextInteractionFlag
-
- This enum specifies how a text displaying widget reacts to user input.
-
- \value NoTextInteraction No interaction with the text is possible.
- \value TextSelectableByMouse Text can be selected with the mouse and copied to the clipboard using
- a context menu or standard keyboard shortcuts.
- \value TextSelectableByKeyboard Text can be selected with the cursor keys on the keyboard. A text cursor is shown.
- \value LinksAccessibleByMouse Links can be highlighted and activated with the mouse.
- \value LinksAccessibleByKeyboard Links can be focused using tab and activated with enter.
- \value TextEditable The text is fully editable.
-
- \value TextEditorInteraction The default for a text editor.
- \value TextBrowserInteraction The default for QTextBrowser.
-*/
-
-/*!
- \enum Qt::MaskMode
-
- This enum specifies the behavior of the
- QPixmap::createMaskFromColor() and QImage::createMaskFromColor()
- functions.
-
- \value MaskInColor Creates a mask where all pixels matching the given color are opaque.
- \value MaskOutColor Creates a mask where all pixels matching the given color are transparent.
-*/
-
-/*!
- \enum Qt::DockWidgetAreaSizes
- \internal
-*/
-
-/*!
- \enum Qt::ToolBarAreaSizes
- \internal
-*/
-
-/*!
- \enum Qt::EventPriority
-
- This enum can be used to specify event priorities.
-
- \value HighEventPriority Events with this priority are sent before
- events with NormalEventPriority or LowEventPriority.
-
- \value NormalEventPriority Events with this priority are sent
- after events with HighEventPriority, but before events with
- LowEventPriority.
-
- \value LowEventPriority Events with this priority are sent after
- events with HighEventPriority or NormalEventPriority.
-
- Note that these values are provided purely for convenience, since
- event priorities can be any value between \c INT_MAX and \c
- INT_MIN, inclusive. For example, you can define custom priorities
- as being relative to each other:
-
- \snippet doc/src/snippets/code/doc_src_qnamespace.qdoc 1
-
- \sa QCoreApplication::postEvent()
-*/
-/*!
- \enum Qt::SizeHint
- \since 4.4
-
- This enum is used by QGraphicsLayoutItem::sizeHint()
-
- \value MinimumSize is used to specify the minimum size of a graphics layout item.
- \value PreferredSize is used to specify the preferred size of a graphics layout item.
- \value MaximumSize is used to specify the maximum size of a graphics layout item.
- \value MinimumDescent is used to specify the minimum descent of a text string in a graphics layout item.
- \omitvalue NSizeHints
-
- \sa QGraphicsLayoutItem::sizeHint()
-*/
-
-/*!
- \enum Qt::SizeMode
- \since 4.4
-
- This enum is used by QPainter::drawRoundedRect() and QPainterPath::addRoundedRect()
- functions to specify the radii of rectangle corners with respect to the dimensions
- of the bounding rectangles specified.
-
- \value AbsoluteSize Specifies the size using absolute measurements.
- \value RelativeSize Specifies the size relative to the bounding rectangle,
- typically using percentage measurements.
-*/
-
-/*!
- \enum Qt::WindowFrameSection
- \since 4.4
-
- This enum is used to describe parts of a window frame. It is returned by
- QGraphicsWidget::windowFrameSectionAt() to describe what section of the window
- frame is under the mouse.
-
- \value NoSection
- \value LeftSection
- \value TopLeftSection
- \value TopSection
- \value TopRightSection
- \value RightSection
- \value BottomRightSection
- \value BottomSection
- \value BottomLeftSection
- \value TitleBarArea
-
- \sa QGraphicsWidget::windowFrameEvent()
- \sa QGraphicsWidget::paintWindowFrame()
- \sa QGraphicsWidget::windowFrameSectionAt()
-
-*/
-
-/*!
- \enum Qt::TileRule
- \since 4.6
-
- This enum describes how to repeat or stretch the parts of an image
- when drawing.
-
- \value Stretch Scale the image to fit to the available area.
-
- \value Repeat Tile the image until there is no more space. May crop
- the last image.
-
- \value Round Like Repeat, but scales the images down to ensure that
- the last image is not cropped.
-*/
-
-/*!
- \enum Qt::Initialization
- \internal
-*/
-
-/*! \enum Qt::GestureType
- \since 4.6
-
- This enum lists standard gestures.
-
- \value UnknownGesture An unknown gesture. This enum value shouldn't be used.
- \value TapGesture A single tap gesture.
- \value DoubleTapGesture A double tap gesture.
- \value TrippleTapGesture A tripple tap gesture.
- \value TapAndHoldGesture A tap-and-hold (long tap) gesture.
- \value PanGesture A pan gesture.
- \value PinchGesture A pinch gesture.
-*/
-
-/*!
- \enum Qt::GestureState
- \since 4.6
-
- This enum type describes the state of a gesture.
-
- \omitvalue NoGesture
- \value GestureStarted A continuous gesture has started.
- \value GestureUpdated A gesture continiues.
- \value GestureFinished A gesture has finished.
-
- \sa QGesture
-*/
-
-/*!
- \enum Qt::DirectionType
- \since 4.6
-
- This enum type describes directions. This could be used by the
- gesture recognizers.
-
- \value NoDirection Non-specific direction.
- \value LeftDownDirection
- \value DownLeftDirection
- \value DownDirection
- \value RightDownDirection
- \value DownRightDirection
- \value LeftDirection
- \value RightDirection
- \value LeftUpDirection
- \value UpLeftDirection
- \value UpDirection
- \value RightUpDirection
- \value UpRightDirection
-*/
diff --git a/doc/src/qsql.qdoc b/doc/src/qsql.qdoc
index 5315413..bb8f090 100644
--- a/doc/src/qsql.qdoc
+++ b/doc/src/qsql.qdoc
@@ -41,12 +41,13 @@
/*!
\namespace QSql
+ \inmodule QtSql
\brief The QSql namespace contains miscellaneous identifiers used throughout
the Qt SQL library.
+ \inheaderfile QtSql
\ingroup database
\mainclass
- \omit ### \module sql \endomit
\sa {QtSql Module}
*/
diff --git a/doc/src/qsqldatatype-table.qdoc b/doc/src/qsqldatatype-table.qdoc
index 5ab6413..bc88c30 100644
--- a/doc/src/qsqldatatype-table.qdoc
+++ b/doc/src/qsqldatatype-table.qdoc
@@ -1,7 +1,7 @@
/****************************************************************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the documentation of the Qt Toolkit.
**
@@ -34,36 +34,34 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
/*!
- \module QtSql
-
- \page qsqldatatype-table.html
-
- \title QtSql Module - Recommended use of data types
+ \page sql-types.html
+ \title QtSql Module - Recommended Use of Data Types
- \section1 Recommended use of types and widgets in Qt supported Databases
+ \section1 Recommended Use of Types in Qt Supported Databases
This table shows the recommended data types used when extracting data
from the databases supported in Qt. It is important to note that the
- types used in Qt not necessary are valid as input to the specific
- database. One example could be that a double would work perfect as
- input for floating point records in a database, but not necessary
- as output to the database since it would be stored with 64-bit in C++.
+ types used in Qt are not necessarily valid as input to the specific
+ database. One example could be that a double would work perfectly as
+ input for floating point records in a database, but not necessarily
+ as a storage format for output from the database since it would be stored
+ with 64-bit precision in C++.
\tableofcontents
- \section2 IBM DB2 data type
+ \section2 IBM DB2 Data Types
- \table
- \row
- \header IBM DB2 data type
- \header SQL Type Description
- \header Recommended input (C++ data type and Qt )
+ \table 90%
+ \header
+ \o IBM DB2 data type
+ \o SQL type description
+ \o Recommended input (C++ or Qt data type)
\row
\o SMALLINT
\o 16-bit signed integer
@@ -124,13 +122,13 @@
\o Mapped to QDateTime
\endtable
- \section2 Borland InterBase data type
+ \section2 Borland InterBase Data Types
- \table
- \row
- \header Borland InterBase data type
- \header SQL Type Description
- \header Recommended input (C++ data type/Qt Widget)
+ \table 90%
+ \header
+ \o Borland InterBase data type
+ \o SQL type description
+ \o Recommended input (C++ or Qt data type)
\row
\o BOOLEAN
\o Boolean
@@ -189,13 +187,13 @@
\o Mapped to QDateTime
\endtable
- \section2 MySQL data type
+ \section2 MySQL Data Types
- \table
- \row
- \header MySQL data type
- \header SQL Type Description
- \header Recommended input (C++ data type/Qt Widget)
+ \table 90%
+ \header
+ \o MySQL data type
+ \o SQL type description
+ \o Recommended input (C++ or Qt data type)
\row
\o TINYINT
\o 8 bit signed integer
@@ -290,13 +288,13 @@
\o Mapped to QString
\endtable
- \section2 Oracle Call Interface data type
+ \section2 Oracle Call Interface Data Types
- \table
- \row
- \header Oracle Call Interface data type
- \header SQL Type Description
- \header Recommended input (C++ data type/Qt Widget)
+ \table 90%
+ \header
+ \o Oracle Call Interface data type
+ \o SQL type description
+ \o Recommended input (C++ or Qt data type)
\row
\o NUMBER
\o FLOAT, DOUBLE, PRECISIONc REAL
@@ -338,13 +336,13 @@
\o Mapped to QDateTime
\endtable
- \section2 ODBC data type
+ \section2 ODBC Data Types
- \table
- \row
- \header ODBC data type
- \header SQL Type Description
- \header Recommended input (C++ data type/Qt Widget)
+ \table 90%
+ \header
+ \o ODBC data type
+ \o SQL type description
+ \o Recommended input (C++ or Qt data type)
\row
\o BIT
\o Boolean
@@ -407,13 +405,13 @@
\o Mapped to QDateTime
\endtable
- \section2 PostgreSQL data type
+ \section2 PostgreSQL Data Types
- \table
- \row
- \header PostgreSQL data type
- \header SQL Type Description
- \header Recommended input (C++ data type/Qt Widget)
+ \table 90%
+ \header
+ \o PostgreSQL data type
+ \o SQL type description
+ \o Recommended input (C++ or Qt data type)
\row
\o BOOLEAN
\o Boolean
@@ -484,13 +482,13 @@
\o Mapped to QDateTime
\endtable
- \section2 QSQLITE SQLite version 3 data type
+ \section2 QSQLITE SQLite version 3 Data Types
- \table
- \row
- \header QSQLITE SQLite version 3 data type
- \header SQL Type Description
- \header Recommended input (C++ data type/Qt Widget)
+ \table 90%
+ \header
+ \o QSQLITE SQLite version 3 data type
+ \o SQL type description
+ \o Recommended input (C++ or Qt data type)
\row
\o NULL
\o NULL value.
@@ -518,13 +516,13 @@
\o Mapped to QByteArray
\endtable
- \section2 Sybase Adaptive Server data type
+ \section2 Sybase Adaptive Server Data Types
- \table
- \row
- \header Sybase Adaptive Server data type
- \header SQL Type Description
- \header Recommended input (C++ data type/Qt Widget)
+ \table 90%
+ \header
+ \o Sybase Adaptive Server data type
+ \o SQL type description
+ \o Recommended input (C++ or Qt data type)
\row
\o BINARY
\o Describes a fixed-length binary value up to 255 bytes in size.
@@ -535,8 +533,7 @@
\o Mapped to QString
\row
\o DATETIME
- \o Date and time. Range: 1753-01-01 00:00:00 through
- 9999-12-31 23:59:59.
+ \o Date and time. Range: 1753-01-01 00:00:00 through 9999-12-31 23:59:59.
\o Mapped to QDateTime
\row
\o NCHAR
@@ -577,8 +574,8 @@
\endtable
\section2 SQLite Version 2
- SQLite V.2 is "typeless". This means that you can store any kind of
- data you want in any column of any table, regardless of the declared
- data type of that column. We recommend that you map the data to QString.
+ SQLite version 2 is "typeless". This means that you can store any kind of
+ data you want in any column of any table, regardless of the declared
+ data type of that column. We recommend that you map the data to QString.
*/
diff --git a/doc/src/qt3to4.qdoc b/doc/src/qt3to4.qdoc
index 9ffd52e..47e85b4 100644
--- a/doc/src/qt3to4.qdoc
+++ b/doc/src/qt3to4.qdoc
@@ -50,7 +50,7 @@
to Qt 4. It is designed to automate the most tedious part of the
porting effort.
- See \l{Porting to Qt 4} and \l{Porting .ui Files to Qt 4} for
+ See \l{Porting to Qt 4} and \l{Porting UI Files to Qt 4} for
more information about porting Qt 3 applications to Qt 4.
\section1 Usage
diff --git a/doc/src/qt4-intro.qdoc b/doc/src/qt4-intro.qdoc
index 2fda7cf..6f59cae 100644
--- a/doc/src/qt4-intro.qdoc
+++ b/doc/src/qt4-intro.qdoc
@@ -235,7 +235,7 @@
for your project (using "DEFINES +=") on to moc, which has its own
built-in C++ preprocessor.
- To compile code that uses .ui files, you will also need this line in
+ To compile code that uses UI files, you will also need this line in
the .pro file:
\snippet doc/src/snippets/code/doc_src_qt4-intro.qdoc 2
diff --git a/doc/src/qt4-network.qdoc b/doc/src/qt4-network.qdoc
index 3b3091e..5e1999e 100644
--- a/doc/src/qt4-network.qdoc
+++ b/doc/src/qt4-network.qdoc
@@ -109,9 +109,10 @@
of programming, with the networking logic concentrated in one or
two functions instead of spread across multiple slots.
- QFtp and QHttp use QTcpSocket internally to implement the FTP and
- HTTP protocols. Both classes work asynchronously and can schedule
- (i.e., queue) requests.
+ QFtp and QNetworkAccessManager and its associated classes use
+ QTcpSocket internally to implement the FTP and HTTP protocols. The
+ classes work asynchronously and can schedule (i.e., queue)
+ requests.
The network module contains four helper classes: QHostAddress,
QHostInfo, QUrl, and QUrlInfo. QHostAddress stores an IPv4 or IPv6
@@ -198,8 +199,7 @@
level QNetworkProtocol and QUrlOperator abstraction has been
eliminated. These classes attempted the impossible (unify FTP and
HTTP under one roof), and unsurprisingly failed at that. Qt 4
- still provides QFtp and QHttp classes, but only with the more
- mature API that appeared in Qt 3.1.
+ still provides QFtp, and it also proveds the QNetworkAccessManager.
The QSocket class in Qt 3 has been renamed QTcpSocket. The new
class is reentrant and supports blocking. It's also easier to
diff --git a/doc/src/qtdesigner.qdoc b/doc/src/qtdesigner.qdoc
index 2117b27..0959bd9 100644
--- a/doc/src/qtdesigner.qdoc
+++ b/doc/src/qtdesigner.qdoc
@@ -52,7 +52,7 @@
that enable you to access Qt Designer's components.
In addition, the QFormBuilder class provides the possibility of
- constructing user interfaces from \c .ui files at run-time.
+ constructing user interfaces from UI files at run-time.
To include the definitions of the module's classes, use the
following directive:
@@ -155,7 +155,7 @@
The \c QtDesigner module contains the QFormBuilder class that
provides a mechanism for dynamically creating user interfaces at
- run-time, based on \c .ui files created with \QD. This class is
+ run-time, based on UI files created with \QD. This class is
typically used by custom components and applications that embed
\QD. Standalone applications that need to dynamically generate
user interfaces at run-time use the QUiLoader class, found in
@@ -166,1376 +166,3 @@
\sa {Qt Designer Manual}, {QtUiTools Module}
*/
-
-/*!
- \class QDesignerMemberSheetExtension
-
- \brief The QDesignerMemberSheetExtension class allows you to
- manipulate a widget's member functions which is displayed when
- configuring connections using Qt Designer's mode for editing
- signals and slots.
-
- \inmodule QtDesigner
-
- QDesignerMemberSheetExtension is a collection of functions that is
- typically used to query a widget's member functions, and to
- manipulate the member functions' appearance in \QD's signals and
- slots editing mode. For example:
-
- \snippet doc/src/snippets/code/doc_src_qtdesigner.qdoc 2
-
- When implementing a custom widget plugin, a pointer to \QD's
- current QDesignerFormEditorInterface object (\c formEditor in the
- example above) is provided by the
- QDesignerCustomWidgetInterface::initialize() function's parameter.
-
- The member sheet (and any other extension), can be retrieved by
- querying \QD's extension manager using the qt_extension()
- function. When you want to release the extension, you only need to
- delete the pointer.
-
- All widgets have a default member sheet used in \QD's signals and
- slots editing mode with the widget's member functions. But
- QDesignerMemberSheetExtension also provides an interface for
- creating custom member sheet extensions.
-
- \warning \QD uses the QDesignerMemberSheetExtension to facilitate
- the signal and slot editing mode. Whenever a connection between
- two widgets is requested, \QD will query for the widgets' member
- sheet extensions. If a widget has an implemented member sheet
- extension, this extension will override the default member sheet.
-
- To create a member sheet extension, your extension class must
- inherit from both QObject and QDesignerMemberSheetExtension. Then,
- since we are implementing an interface, we must ensure that it's
- made known to the meta object system using the Q_INTERFACES()
- macro:
-
- \snippet doc/src/snippets/code/doc_src_qtdesigner.qdoc 3
-
- This enables \QD to use qobject_cast() to query for
- supported interfaces using nothing but a QObject pointer.
-
- In \QD the extensions are not created until they are
- required. For that reason, when implementing a member sheet
- extension, you must also create a QExtensionFactory, i.e a class
- that is able to make an instance of your extension, and register
- it using \QD's \l {QExtensionManager}{extension manager}.
-
- When a widget's member sheet extension is required, \QD's \l
- {QExtensionManager}{extension manager} will run through all its
- registered factories calling QExtensionFactory::createExtension()
- for each until the first one that is able to create a member sheet
- extension for that widget, is found. This factory will then make
- an instance of the extension. If no such factory is found, \QD
- will use the default member sheet.
-
- There are four available types of extensions in \QD:
- QDesignerContainerExtension, QDesignerMemberSheetExtension,
- QDesignerPropertySheetExtension and
- QDesignerTaskMenuExtension. \QD's behavior is the same whether the
- requested extension is associated with a multi page container, a
- member sheet, a property sheet or a task menu.
-
- The QExtensionFactory class provides a standard extension
- factory, and can also be used as an interface for custom
- extension factories. You can either create a new
- QExtensionFactory and reimplement the
- QExtensionFactory::createExtension() function. For example:
-
- \snippet doc/src/snippets/code/doc_src_qtdesigner.qdoc 4
-
- Or you can use an existing factory, expanding the
- QExtensionFactory::createExtension() function to make the factory
- able to create a member sheet extension as well. For example:
-
- \snippet doc/src/snippets/code/doc_src_qtdesigner.qdoc 5
-
- For a complete example using an extension class, see \l
- {designer/taskmenuextension}{Task Menu Extension example}. The
- example shows how to create a custom widget plugin for Qt
- Designer, and how to to use the QDesignerTaskMenuExtension class
- to add custom items to \QD's task menu.
-
- \sa QExtensionFactory, QExtensionManager, {Creating Custom Widget
- Extensions}
-*/
-
-/*!
- \fn QDesignerMemberSheetExtension::~QDesignerMemberSheetExtension()
-
- Destroys the member sheet extension.
-*/
-
-/*!
- \fn int QDesignerMemberSheetExtension::count() const
-
- Returns the extension's number of member functions.
-*/
-
-/*!
- \fn int QDesignerMemberSheetExtension::indexOf(const QString &name) const
-
- Returns the index of the member function specified by the given \a
- name.
-
- \sa memberName()
-*/
-
-/*!
- \fn QString QDesignerMemberSheetExtension::memberName(int index) const
-
- Returns the name of the member function with the given \a index.
-
- \sa indexOf()
-*/
-
-/*!
- \fn QString QDesignerMemberSheetExtension::memberGroup(int index) const
-
- Returns the name of the member group specified for the function
- with the given \a index.
-
- \sa indexOf(), setMemberGroup()
-*/
-
-/*!
- \fn void QDesignerMemberSheetExtension::setMemberGroup(int index, const QString &group)
-
- Sets the member group of the member function with the given \a
- index, to \a group.
-
- \sa indexOf(), memberGroup()
-*/
-
-/*!
- \fn bool QDesignerMemberSheetExtension::isVisible(int index) const
-
- Returns true if the member function with the given \a index is
- visible in \QD's signal and slot editor, otherwise false.
-
- \sa indexOf(), setVisible()
-*/
-
-/*!
- \fn void QDesignerMemberSheetExtension::setVisible(int index, bool visible)
-
- If \a visible is true, the member function with the given \a index
- is visible in \QD's signals and slots editing mode; otherwise the
- member function is hidden.
-
- \sa indexOf(), isVisible()
-*/
-
-/*!
- \fn virtual bool QDesignerMemberSheetExtension::isSignal(int index) const
-
- Returns true if the member function with the given \a index is a
- signal, otherwise false.
-
- \sa indexOf()
-*/
-
-/*!
- \fn bool QDesignerMemberSheetExtension::isSlot(int index) const
-
- Returns true if the member function with the given \a index is a
- slot, otherwise false.
-
- \sa indexOf()
-*/
-
-/*!
- \fn bool QDesignerMemberSheetExtension::inheritedFromWidget(int index) const
-
- Returns true if the member function with the given \a index is
- inherited from QWidget, otherwise false.
-
- \sa indexOf()
-*/
-
-/*!
- \fn QString QDesignerMemberSheetExtension::declaredInClass(int index) const
-
- Returns the name of the class in which the member function with
- the given \a index is declared.
-
- \sa indexOf()
-*/
-
-/*!
- \fn QString QDesignerMemberSheetExtension::signature(int index) const
-
- Returns the signature of the member function with the given \a
- index.
-
- \sa indexOf()
-*/
-
-/*!
- \fn QList<QByteArray> QDesignerMemberSheetExtension::parameterTypes(int index) const
-
- Returns the parameter types of the member function with the given
- \a index, as a QByteArray list.
-
- \sa indexOf(), parameterNames()
-*/
-
-/*!
- \fn QList<QByteArray> QDesignerMemberSheetExtension::parameterNames(int index) const
-
- Returns the parameter names of the member function with the given
- \a index, as a QByteArray list.
-
- \sa indexOf(), parameterTypes()
-*/
-
-
-// Doc: Interface only
-
-/*!
- \class QDesignerLayoutDecorationExtension
- \brief The QDesignerLayoutDecorationExtension class provides an extension to a layout in \QD.
- \inmodule QtDesigner
- \internal
-*/
-
-/*!
- \enum QDesignerLayoutDecorationExtension::InsertMode
-
- This enum describes the modes that are used to insert items into a layout.
-
- \value InsertWidgetMode Widgets are inserted into empty cells in a layout.
- \value InsertRowMode Whole rows are inserted into a vertical or grid layout.
- \value InsertColumnMode Whole columns are inserted into a horizontal or grid layout.
-*/
-
-/*!
- \fn virtual QDesignerLayoutDecorationExtension::~QDesignerLayoutDecorationExtension()
-
- Destroys the extension.
-*/
-
-/*!
- \fn virtual QList<QWidget*> QDesignerLayoutDecorationExtension::widgets(QLayout *layout) const
-
- Returns the widgets that are managed by the given \a layout.
-
- \sa insertWidget(), removeWidget()
-*/
-
-/*!
- \fn QRect QDesignerLayoutDecorationExtension::itemInfo(int index) const
-
- Returns the rectangle covered by the item at the given \a index in the layout.
-*/
-
-/*!
- \fn int QDesignerLayoutDecorationExtension::indexOf(QWidget *widget) const
-
- Returns the index of the specified \a widget in the layout.
-*/
-
-/*!
- \fn int QDesignerLayoutDecorationExtension::indexOf(QLayoutItem *item) const
-
- Returns the index of the specified layout \a item.
-*/
-
-/*!
- \fn QDesignerLayoutDecorationExtension::InsertMode QDesignerLayoutDecorationExtension::currentInsertMode() const
-
- Returns the current insertion mode.
-*/
-
-/*!
- \fn int QDesignerLayoutDecorationExtension::currentIndex() const
-
- Returns the current index in the layout.
-*/
-
-/*!
- \fn QPair<int, int> QDesignerLayoutDecorationExtension::currentCell() const
-
- Returns a pair containing the row and column of the current cell in the layout.
-*/
-
-/*!
- \fn void QDesignerLayoutDecorationExtension::insertWidget(QWidget *widget, const QPair<int, int> &cell)
-
- Inserts the given \a widget into the specified \a cell in the layout.
-
- \sa removeWidget()
-*/
-
-/*!
- \fn void QDesignerLayoutDecorationExtension::removeWidget(QWidget *widget)
-
- Removes the specified \a widget from the layout.
-
- \sa insertWidget()
-*/
-
-/*!
- \fn void QDesignerLayoutDecorationExtension::insertRow(int row)
-
- Inserts a new row into the form at the position specified by \a row.
-*/
-
-/*!
- \fn void QDesignerLayoutDecorationExtension::insertColumn(int column)
-
- Inserts a new column into the form at the position specified by \a column.
-*/
-
-/*!
- \fn void QDesignerLayoutDecorationExtension::simplify()
-
- Simplifies the layout by removing unnecessary empty rows and columns, and by changing the
- number of rows or columns spanned by widgets.
-*/
-
-/*!
- \fn int QDesignerLayoutDecorationExtension::findItemAt(const QPoint &position) const
-
- Returns the index of the item in the layout that covers the given \a position.
-*/
-
-/*!
- \fn int QDesignerLayoutDecorationExtension::findItemAt(int row, int column) const
-
- Returns the item in the layout that occupies the specified \a row and \a column in the layout.
-
- Currently, this only applies to grid layouts.
-*/
-
-/*!
- \fn void QDesignerLayoutDecorationExtension::adjustIndicator(const QPoint &position, int index)
-
- Adjusts the indicator for the item specified by \a index so that
- it lies at the given \a position on the form.
-*/
-
-
-// Doc: Interface only
-
-/*!
- \class QDesignerContainerExtension
- \brief The QDesignerContainerExtension class allows you to add pages to
- a custom multi-page container in Qt Designer's workspace.
- \inmodule QtDesigner
-
- QDesignerContainerExtension provide an interface for creating
- custom container extensions. A container extension consists of a
- collection of functions that \QD needs to manage a multi-page
- container plugin, and a list of the container's pages.
-
- \image containerextension-example.png
-
- \warning This is \e not an extension for container plugins in
- general, only custom \e multi-page containers.
-
- To create a container extension, your extension class must inherit
- from both QObject and QDesignerContainerExtension. For example:
-
- \snippet doc/src/snippets/code/doc_src_qtdesigner.qdoc 6
-
- Since we are implementing an interface, we must ensure that it's
- made known to the meta object system using the Q_INTERFACES()
- macro. This enables \QD to use the qobject_cast() function to
- query for supported interfaces using nothing but a QObject
- pointer.
-
- You must reimplement several functions to enable \QD to manage a
- custom multi-page container widget: \QD uses count() to keep track
- of the number pages in your container, widget() to return the page
- at a given index in the list of the container's pages, and
- currentIndex() to return the list index of the selected page. \QD
- uses the addWidget() function to add a given page to the
- container, expecting it to be appended to the list of pages, while
- it expects the insertWidget() function to add a given page to the
- container by inserting it at a given index.
-
- In \QD the extensions are not created until they are
- required. For that reason you must also create a
- QExtensionFactory, i.e a class that is able to make an instance of
- your extension, and register it using \QD's \l
- {QExtensionManager}{extension manager}.
-
- When a container extension is required, \QD's \l
- {QExtensionManager}{extension manager} will run through all its
- registered factories calling QExtensionFactory::createExtension()
- for each until the first one that is able to create a container
- extension, is found. This factory will then create the extension
- for the plugin.
-
- There are four available types of extensions in \QD:
- QDesignerContainerExtension , QDesignerMemberSheetExtension,
- QDesignerPropertySheetExtension and QDesignerTaskMenuExtension.
- \QD's behavior is the same whether the requested extension is
- associated with a multi page container, a member sheet, a property
- sheet or a task menu.
-
- The QExtensionFactory class provides a standard extension factory,
- and can also be used as an interface for custom extension
- factories. You can either create a new QExtensionFactory and
- reimplement the QExtensionFactory::createExtension() function. For
- example:
-
- \snippet doc/src/snippets/code/doc_src_qtdesigner.qdoc 7
-
- Or you can use an existing factory, expanding the
- QExtensionFactory::createExtension() function to make the factory
- able to create a container extension as well. For example:
-
- \snippet doc/src/snippets/code/doc_src_qtdesigner.qdoc 8
-
- For a complete example using the QDesignerContainerExtension
- class, see the \l {designer/containerextension}{Container
- Extension example}. The example shows how to create a custom
- multi-page plugin for \QD.
-
- \sa QExtensionFactory, QExtensionManager, {Creating Custom Widget
- Extensions}
-*/
-
-/*!
- \fn QDesignerContainerExtension::~QDesignerContainerExtension()
-
- Destroys the extension.
-*/
-
-/*!
- \fn int QDesignerContainerExtension::count() const
-
- Returns the number of pages in the container.
-*/
-
-/*!
- \fn QWidget *QDesignerContainerExtension::widget(int index) const
-
- Returns the page at the given \a index in the extension's list of
- pages.
-
- \sa addWidget(), insertWidget()
-*/
-
-/*!
- \fn int QDesignerContainerExtension::currentIndex() const
-
- Returns the index of the currently selected page in the
- container.
-
- \sa setCurrentIndex()
-*/
-
-/*!
- \fn void QDesignerContainerExtension::setCurrentIndex(int index)
-
- Sets the currently selected page in the container to be the
- page at the given \a index in the extension's list of pages.
-
- \sa currentIndex()
-*/
-
-/*!
- \fn void QDesignerContainerExtension::addWidget(QWidget *page)
-
- Adds the given \a page to the container by appending it to the
- extension's list of pages.
-
- \sa insertWidget(), remove(), widget()
-*/
-
-/*!
- \fn void QDesignerContainerExtension::insertWidget(int index, QWidget *page)
-
- Adds the given \a page to the container by inserting it at the
- given \a index in the extension's list of pages.
-
- \sa addWidget(), remove(), widget()
-*/
-
-/*!
- \fn void QDesignerContainerExtension::remove(int index)
-
- Removes the page at the given \a index from the extension's list
- of pages.
-
- \sa addWidget(), insertWidget()
-*/
-
-
-// Doc: Interface only
-
-/*!
- \class QDesignerTaskMenuExtension
- \brief The QDesignerTaskMenuExtension class allows you to add custom
- menu entries to Qt Designer's task menu.
- \inmodule QtDesigner
-
- QDesignerTaskMenuExtension provides an interface for creating
- custom task menu extensions. It is typically used to create task
- menu entries that are specific to a plugin in \QD.
-
- \QD uses the QDesignerTaskMenuExtension to feed its task
- menu. Whenever a task menu is requested, \QD will query
- for the selected widget's task menu extension.
-
- \image taskmenuextension-example-faded.png
-
- A task menu extension is a collection of QActions. The actions
- appear as entries in the task menu when the plugin with the
- specified extension is selected. The image above shows the custom
- \gui {Edit State...} action which appears in addition to \QD's
- default task menu entries: \gui Cut, \gui Copy, \gui Paste etc.
-
- To create a custom task menu extension, your extension class must
- inherit from both QObject and QDesignerTaskMenuExtension. For
- example:
-
- \snippet doc/src/snippets/code/doc_src_qtdesigner.qdoc 9
-
- Since we are implementing an interface, we must ensure that it
- is made known to the meta-object system using the Q_INTERFACES()
- macro. This enables \QD to use the qobject_cast() function to
- query for supported interfaces using nothing but a QObject
- pointer.
-
- You must reimplement the taskActions() function to return a list
- of actions that will be included in \QD task menu. Optionally, you
- can reimplement the preferredEditAction() function to set the
- action that is invoked when selecting your plugin and pressing
- \key F2. The preferred edit action must be one of the actions
- returned by taskActions() and, if it's not defined, pressing the
- \key F2 key will simply be ignored.
-
- In \QD, extensions are not created until they are required. A
- task menu extension, for example, is created when you click the
- right mouse button over a widget in \QD's workspace. For that
- reason you must also construct an extension factory, using either
- QExtensionFactory or a subclass, and register it using \QD's
- \l {QExtensionManager}{extension manager}.
-
- When a task menu extension is required, \QD's \l
- {QExtensionManager}{extension manager} will run through all its
- registered factories calling QExtensionFactory::createExtension()
- for each until it finds one that is able to create a task menu
- extension for the selected widget. This factory will then make an
- instance of the extension.
-
- There are four available types of extensions in \QD:
- QDesignerContainerExtension, QDesignerMemberSheetExtension,
- QDesignerPropertySheetExtension, and QDesignerTaskMenuExtension.
- \QD's behavior is the same whether the requested extension is
- associated with a container, a member sheet, a property sheet or a
- task menu.
-
- The QExtensionFactory class provides a standard extension factory,
- and can also be used as an interface for custom extension
- factories. You can either create a new QExtensionFactory and
- reimplement the QExtensionFactory::createExtension() function. For
- example:
-
- \snippet doc/src/snippets/code/doc_src_qtdesigner.qdoc 10
-
- Or you can use an existing factory, expanding the
- QExtensionFactory::createExtension() function to make the factory
- able to create a task menu extension as well. For example:
-
- \snippet doc/src/snippets/code/doc_src_qtdesigner.qdoc 11
-
- For a complete example using the QDesignerTaskMenuExtension class,
- see the \l {designer/taskmenuextension}{Task Menu Extension
- example}. The example shows how to create a custom widget plugin
- for \QD, and how to to use the QDesignerTaskMenuExtension
- class to add custom items to \QD's task menu.
-
- \sa QExtensionFactory, QExtensionManager, {Creating Custom Widget
- Extensions}
-*/
-
-/*!
- \fn QDesignerTaskMenuExtension::~QDesignerTaskMenuExtension()
-
- Destroys the task menu extension.
-*/
-
-/*!
- \fn QAction *QDesignerTaskMenuExtension::preferredEditAction() const
-
- Returns the action that is invoked when selecting a plugin with
- the specified extension and pressing \key F2.
-
- The action must be one of the actions returned by taskActions().
-*/
-
-/*!
- \fn QList<QAction*> QDesignerTaskMenuExtension::taskActions() const
-
- Returns the task menu extension as a list of actions which will be
- included in \QD's task menu when a plugin with the specified
- extension is selected.
-
- The function must be reimplemented to add actions to the list.
-*/
-
-
-// Doc: Interface only
-
-/*!
- \class QDesignerCustomWidgetCollectionInterface
-
- \brief The QDesignerCustomWidgetCollectionInterface class allows
- you to include several custom widgets in one single library.
-
- \inmodule QtDesigner
-
- When implementing a custom widget plugin, you build it as a
- separate library. If you want to include several custom widget
- plugins in the same library, you must in addition subclass
- QDesignerCustomWidgetCollectionInterface.
-
- QDesignerCustomWidgetCollectionInterface contains one single
- function returning a list of the collection's
- QDesignerCustomWidgetInterface objects. For example, if you have
- several custom widgets \c CustomWidgetOne, \c CustomWidgetTwo and
- \c CustomWidgetThree, the class definition may look like this:
-
- \snippet doc/src/snippets/code/doc_src_qtdesigner.qdoc 12
-
- In the class constructor you add the interfaces to your custom
- widgets to the list which you return in the customWidgets()
- function:
-
- \snippet doc/src/snippets/code/doc_src_qtdesigner.qdoc 13
-
- Note that instead of exporting each custom widget plugin using the
- Q_EXPORT_PLUGIN2() macro, you export the entire collection. The
- Q_EXPORT_PLUGIN2() macro ensures that \QD can access and construct
- the custom widgets. Without this macro, there is no way for \QD to
- use them.
-
- \sa QDesignerCustomWidgetInterface, {Creating Custom Widgets for
- Qt Designer}
-*/
-
-/*!
- \fn QDesignerCustomWidgetCollectionInterface::~QDesignerCustomWidgetCollectionInterface() {
-
- Destroys the custom widget collection interface.
-*/
-
-/*!
- \fn QList<QDesignerCustomWidgetInterface*> QDesignerCustomWidgetCollectionInterface::customWidgets() const
-
- Returns a list of interfaces to the collection's custom widgets.
-*/
-
-
-// Doc: Interface only
-
-/*!
- \class QDesignerCustomWidgetInterface
-
- \brief The QDesignerCustomWidgetInterface class enables Qt Designer
- to access and construct custom widgets.
-
- \inmodule QtDesigner
-
- QDesignerCustomWidgetInterface provides a custom widget with an
- interface. The class contains a set of functions that must be subclassed
- to return basic information about the widget, such as its class name and
- the name of its header file. Other functions must be implemented to
- initialize the plugin when it is loaded, and to construct instances of
- the custom widget for \QD to use.
-
- When implementing a custom widget you must subclass
- QDesignerCustomWidgetInterface to expose your widget to \QD. For
- example, this is the declaration for the plugin used in the
- \l{Custom Widget Plugin Example}{Custom Widget Plugin example} that
- enables an analog clock custom widget to be used by \QD:
-
- \snippet examples/designer/customwidgetplugin/customwidgetplugin.h 0
-
- Note that the only part of the class definition that is specific
- to this particular custom widget is the class name. In addition,
- since we are implementing an interface, we must ensure that it's
- made known to the meta object system using the Q_INTERFACES()
- macro. This enables \QD to use the qobject_cast() function to
- query for supported interfaces using nothing but a QObject
- pointer.
-
- After \QD loads a custom widget plugin, it calls the interface's
- initialize() function to enable it to set up any resources that it
- may need. This function is called with a QDesignerFormEditorInterface
- parameter that provides the plugin with a gateway to all of \QD's API.
-
- \QD constructs instances of the custom widget by calling the plugin's
- createWidget() function with a suitable parent widget. Plugins must
- construct and return an instance of a custom widget with the specified
- parent widget.
-
- In the implementation of the class you must remember to export
- your custom widget plugin to \QD using the Q_EXPORT_PLUGIN2()
- macro. For example, if a library called \c libcustomwidgetplugin.so
- (on Unix) or \c libcustomwidget.dll (on Windows) contains a widget
- class called \c MyCustomWidget, we can export it by adding the
- following line to the file containing the plugin implementation:
-
- \snippet doc/src/snippets/code/doc_src_qtdesigner.qdoc 14
-
- This macro ensures that \QD can access and construct the custom widget.
- Without this macro, there is no way for \QD to use it.
-
- When implementing a custom widget plugin, you build it as a
- separate library. If you want to include several custom widget
- plugins in the same library, you must in addition subclass
- QDesignerCustomWidgetCollectionInterface.
-
- \warning If your custom widget plugin contains QVariant
- properties, be aware that only the following \l
- {QVariant::Type}{types} are supported:
-
- \list
- \o QVariant::ByteArray
- \o QVariant::Bool
- \o QVariant::Color
- \o QVariant::Cursor
- \o QVariant::Date
- \o QVariant::DateTime
- \o QVariant::Double
- \o QVariant::Int
- \o QVariant::Point
- \o QVariant::Rect
- \o QVariant::Size
- \o QVariant::SizePolicy
- \o QVariant::String
- \o QVariant::Time
- \o QVariant::UInt
- \endlist
-
- For a complete example using the QDesignerCustomWidgetInterface
- class, see the \l {designer/customwidgetplugin}{Custom Widget
- Example}. The example shows how to create a custom widget plugin
- for \QD.
-
- \sa QDesignerCustomWidgetCollectionInterface {Creating Custom
- Widgets for Qt Designer}
-*/
-
-/*!
- \fn QDesignerCustomWidgetInterface::~QDesignerCustomWidgetInterface()
-
- Destroys the custom widget interface.
-*/
-
-/*!
- \fn QString QDesignerCustomWidgetInterface::name() const
-
- Returns the class name of the custom widget supplied by the interface.
-
- The name returned \e must be identical to the class name used for the
- custom widget.
-*/
-
-/*!
- \fn QString QDesignerCustomWidgetInterface::group() const
-
- Returns the name of the group to which the custom widget belongs.
-*/
-
-/*!
- \fn QString QDesignerCustomWidgetInterface::toolTip() const
-
- Returns a short description of the widget that can be used by \QD
- in a tool tip.
-*/
-
-/*!
- \fn QString QDesignerCustomWidgetInterface::whatsThis() const
-
- Returns a description of the widget that can be used by \QD in
- "What's This?" help for the widget.
-*/
-
-/*!
- \fn QString QDesignerCustomWidgetInterface::includeFile() const
-
- Returns the path to the include file that \l uic uses when
- creating code for the custom widget.
-*/
-
-/*!
- \fn QIcon QDesignerCustomWidgetInterface::icon() const
-
- Returns the icon used to represent the custom widget in \QD's
- widget box.
-*/
-
-/*!
- \fn bool QDesignerCustomWidgetInterface::isContainer() const
-
- Returns true if the custom widget is intended to be used as a
- container; otherwise returns false.
-
- Most custom widgets are not used to hold other widgets, so their
- implementations of this function will return false, but custom
- containers will return true to ensure that they behave correctly
- in \QD.
-*/
-
-/*!
- \fn QWidget *QDesignerCustomWidgetInterface::createWidget(QWidget *parent)
-
- Returns a new instance of the custom widget, with the given \a
- parent.
-*/
-
-/*!
- \fn bool QDesignerCustomWidgetInterface::isInitialized() const
-
- Returns true if the widget has been initialized; otherwise returns
- false.
-
- \sa initialize()
-*/
-
-/*!
- \fn void QDesignerCustomWidgetInterface::initialize(QDesignerFormEditorInterface *formEditor)
-
- Initializes the widget for use with the specified \a formEditor
- interface.
-
- \sa isInitialized()
-*/
-
-/*!
- \fn QString QDesignerCustomWidgetInterface::domXml() const
-
- Returns the XML that is used to describe the custom widget's
- properties to \QD.
-*/
-
-/*!
- \fn QString QDesignerCustomWidgetInterface::codeTemplate() const
-
- This function is reserved for future use by \QD.
-
- \omit
- Returns the code template that \QD includes in forms that contain
- the custom widget when they are saved.
- \endomit
-*/
-
-/*!
- \macro QDESIGNER_WIDGET_EXPORT
- \relates QDesignerCustomWidgetInterface
- \since 4.1
-
- This macro is used when defining custom widgets to ensure that they are
- correctly exported from plugins for use with \QD.
-
- On some platforms, the symbols required by \QD to create new widgets
- are removed from plugins by the build system, making them unusable.
- Using this macro ensures that the symbols are retained on those platforms,
- and has no side effects on other platforms.
-
- For example, the \l{designer/worldtimeclockplugin}{World Time Clock Plugin}
- example exports a custom widget class with the following declaration:
-
- \snippet examples/designer/worldtimeclockplugin/worldtimeclock.h 0
- \dots
- \snippet examples/designer/worldtimeclockplugin/worldtimeclock.h 2
-
- \sa {Creating Custom Widgets for Qt Designer}
-*/
-
-
-// Doc: Abstract class
-
-/*!
- \class QDesignerDnDItemInterface
- \brief The QDesignerDnDItemInterface class provides an interface that is used to manage items
- during a drag and drop operation.
- \inmodule QtDesigner
- \internal
-*/
-
-/*!
- \enum QDesignerDnDItemInterface::DropType
-
- This enum describes the result of a drag and drop operation.
-
- \value MoveDrop The item was moved.
- \value CopyDrop The item was copied.
-*/
-
-/*!
- \fn QDesignerDnDItemInterface::QDesignerDnDItemInterface()
-
- Constructs a new interface to a drag and drop item.
-*/
-
-/*!
- \fn QDesignerDnDItemInterface::~QDesignerDnDItemInterface()
-
- Destroys the interface to the item.
-*/
-
-/*!
- \fn DomUI *QDesignerDnDItemInterface::domUi() const
-
- Returns a user interface object for the item.
-*/
-
-/*!
- \fn QWidget *QDesignerDnDItemInterface::widget() const
-
- Returns the widget being copied or moved in the drag and drop operation.
-
- \sa source()
-*/
-
-/*!
- \fn QWidget *QDesignerDnDItemInterface::decoration() const
-
- Returns the widget used to represent the item.
-*/
-
-/*!
- \fn QPoint QDesignerDnDItemInterface::hotSpot() const
-
- Returns the cursor's hotspot.
-
- \sa QDrag::hotSpot()
-*/
-
-/*!
- \fn DropType QDesignerDnDItemInterface::type() const
-
- Returns the type of drag and drop operation in progress.
-*/
-
-/*!
- \fn QWidget *QDesignerDnDItemInterface::source() const
-
- Returns the widget that is the source of the drag and drop operation; i.e. the original
- container of the widget being dragged.
-
- \sa widget()
-*/
-
-
-// Doc: Abstract class
-
-/*!
- \class QDesignerIconCacheInterface
- \brief The QDesignerIconCacheInterface class provides an interface to \QD's icon cache.
- \inmodule QtDesigner
- \internal
-*/
-
-/*!
- \fn QDesignerIconCacheInterface::QDesignerIconCacheInterface(QObject *parent)
-
- Constructs a new interface with the given \a parent.
-*/
-
-/*!
- \fn QIcon QDesignerIconCacheInterface::nameToIcon(const QString &filePath, const QString &qrcPath)
-
- Returns the icon associated with the name specified by \a filePath in the resource
- file specified by \a qrcPath.
-
- If \a qrcPath refers to a valid resource file, the name used for the file path is a path
- within those resources; otherwise the file path refers to a local file.
-
- \sa {The Qt Resource System}, nameToPixmap()
-*/
-
-/*!
- \fn QPixmap QDesignerIconCacheInterface::nameToPixmap(const QString &filePath, const QString &qrcPath)
-
- Returns the pixmap associated with the name specified by \a filePath in the resource
- file specified by \a qrcPath.
-
- If \a qrcPath refers to a valid resource file, the name used for the file path is a path
- within those resources; otherwise the file path refers to a local file.
-
- \sa {The Qt Resource System}, nameToIcon()
-*/
-
-/*!
- \fn QString QDesignerIconCacheInterface::iconToFilePath(const QIcon &icon) const
-
- Returns the file path associated with the given \a icon. The file path is a path within
- an application resources.
-*/
-
-/*!
- \fn QString QDesignerIconCacheInterface::iconToQrcPath(const QIcon &icon) const
-
- Returns the path to the resource file that refers to the specified \a icon. The resource
- path refers to a local file.
-*/
-
-/*!
- \fn QString QDesignerIconCacheInterface::pixmapToFilePath(const QPixmap &pixmap) const
-
- Returns the file path associated with the given \a pixmap. The file path is a path within
- an application resources.
-*/
-
-/*!
- \fn QString QDesignerIconCacheInterface::pixmapToQrcPath(const QPixmap &pixmap) const
-
- Returns the path to the resource file that refers to the specified \a pixmap. The resource
- path refers to a local file.
-*/
-
-/*!
- \fn QList<QPixmap> QDesignerIconCacheInterface::pixmapList() const
-
- Returns a list of pixmaps for the icons provided by the icon cache.
-*/
-
-/*!
- \fn QList<QIcon> QDesignerIconCacheInterface::iconList() const
-
- Returns a list of icons provided by the icon cache.
-*/
-
-/*!
- \fn QString QDesignerIconCacheInterface::resolveQrcPath(const QString &filePath, const QString &qrcPath, const QString &workingDirectory) const
-
- Returns a path to a resource specified by the \a filePath within
- the resource file located at \a qrcPath. If \a workingDirectory is
- a valid path to a directory, the path returned will be relative to
- that directory; otherwise an absolute path is returned.
-
- \omit
- ### Needs checking
- \endomit
-*/
-
-
-// Doc: Interface only
-
-/*!
- \class QDesignerPropertySheetExtension
-
- \brief The QDesignerPropertySheetExtension class allows you to
- manipulate a widget's properties which is displayed in Qt
- Designer's property editor.
-
- \sa QDesignerDynamicPropertySheetExtension
-
- \inmodule QtDesigner
-
- QDesignerPropertySheetExtension provides a collection of functions that
- are typically used to query a widget's properties, and to
- manipulate the properties' appearance in the property editor. For
- example:
-
- \snippet doc/src/snippets/code/doc_src_qtdesigner.qdoc 15
-
- Note that if you change the value of a property using the
- QDesignerPropertySheetExtension::setProperty() function, the undo
- stack is not updated. To ensure that a property's value can be
- reverted using the undo stack, you must use the
- QDesignerFormWindowCursorInterface::setProperty() function, or its
- buddy \l
- {QDesignerFormWindowCursorInterface::setWidgetProperty()}{setWidgetProperty()},
- instead.
-
- When implementing a custom widget plugin, a pointer to \QD's
- current QDesignerFormEditorInterface object (\c formEditor in the
- example above) is provided by the
- QDesignerCustomWidgetInterface::initialize() function's parameter.
-
- The property sheet, or any other extension, can be retrieved by
- querying \QD's extension manager using the qt_extension()
- function. When you want to release the extension, you only need to
- delete the pointer.
-
- All widgets have a default property sheet which populates \QD's
- property editor with the widget's properties (i.e the ones defined
- with the Q_PROPERTY() macro). But QDesignerPropertySheetExtension
- also provides an interface for creating custom property sheet
- extensions.
-
- \warning \QD uses the QDesignerPropertySheetExtension to feed its
- property editor. Whenever a widget is selected in its workspace,
- \QD will query for the widget's property sheet extension. If the
- selected widget has an implemented property sheet extension, this
- extension will override the default property sheet.
-
- To create a property sheet extension, your extension class must
- inherit from both QObject and
- QDesignerPropertySheetExtension. Then, since we are implementing
- an interface, we must ensure that it's made known to the meta
- object system using the Q_INTERFACES() macro:
-
- \snippet doc/src/snippets/code/doc_src_qtdesigner.qdoc 16
-
- This enables \QD to use qobject_cast() to query for supported
- interfaces using nothing but a QObject pointer.
-
- In \QD the extensions are not created until they are
- required. For that reason, when implementing a property sheet
- extension, you must also create a QExtensionFactory, i.e a class
- that is able to make an instance of your extension, and register
- it using \QD's \l {QExtensionManager}{extension manager}.
-
- When a property sheet extension is required, \QD's \l
- {QExtensionManager}{extension manager} will run through all its
- registered factories calling QExtensionFactory::createExtension()
- for each until the first one that is able to create a property
- sheet extension for the selected widget, is found. This factory
- will then make an instance of the extension. If no such factory
- can be found, \QD will use the default property sheet.
-
- There are four available types of extensions in \QD:
- QDesignerContainerExtension, QDesignerMemberSheetExtension,
- QDesignerPropertySheetExtension and QDesignerTaskMenuExtension. Qt
- Designer's behavior is the same whether the requested extension is
- associated with a multi page container, a member sheet, a property
- sheet or a task menu.
-
- The QExtensionFactory class provides a standard extension factory,
- and can also be used as an interface for custom extension
- factories. You can either create a new QExtensionFactory and
- reimplement the QExtensionFactory::createExtension() function. For
- example:
-
- \snippet doc/src/snippets/code/doc_src_qtdesigner.qdoc 17
-
- Or you can use an existing factory, expanding the
- QExtensionFactory::createExtension() function to make the factory
- able to create a property sheet extension extension as well. For
- example:
-
- \snippet doc/src/snippets/code/doc_src_qtdesigner.qdoc 18
-
- For a complete example using an extension class, see the \l
- {designer/taskmenuextension}{Task Menu Extension example}. The
- example shows how to create a custom widget plugin for Qt
- Designer, and how to to use the QDesignerTaskMenuExtension class
- to add custom items to \QD's task menu.
-
- \sa QExtensionFactory, QExtensionManager, {Creating Custom Widget
- Extensions}
-*/
-
-/*!
- \fn QDesignerPropertySheetExtension::~QDesignerPropertySheetExtension()
-
- Destroys the property sheet extension.
-*/
-
-/*!
- \fn int QDesignerPropertySheetExtension::count() const
-
- Returns the selected widget's number of properties.
-*/
-
-/*!
- \fn int QDesignerPropertySheetExtension::indexOf(const QString &name) const
-
- Returns the index for a given property \a name.
-
- \sa propertyName()
-*/
-
-/*!
- \fn QString QDesignerPropertySheetExtension::propertyName(int index) const
-
- Returns the name of the property at the given \a index.
-
- \sa indexOf()
-*/
-
-/*!
- \fn QString QDesignerPropertySheetExtension::propertyGroup(int index) const
-
- Returns the property group for the property at the given \a index.
-
- \QD's property editor supports property groups, i.e. sections of
- related properties. A property can be related to a group using the
- setPropertyGroup() function. The default group of any property is
- the name of the class that defines it. For example, the
- QObject::objectName property appears within the QObject property
- group.
-
- \sa indexOf(), setPropertyGroup()
-*/
-
-/*!
- \fn void QDesignerPropertySheetExtension::setPropertyGroup(int index, const QString &group)
-
- Sets the property group for the property at the given \a index to
- \a group.
-
- Relating a property to a group makes it appear within that group's
- section in the property editor. The default property group of any
- property is the name of the class that defines it. For example,
- the QObject::objectName property appears within the QObject
- property group.
-
- \sa indexOf(), property(), propertyGroup()
-*/
-
-/*!
- \fn bool QDesignerPropertySheetExtension::hasReset(int index) const
-
- Returns true if the property at the given \a index has a reset
- button in \QD's property editor, otherwise false.
-
- \sa indexOf(), reset()
-*/
-
-/*!
- \fn bool QDesignerPropertySheetExtension::reset(int index)
-
- Resets the value of the property at the given \a index, to the
- default value. Returns true if a default value could be found, otherwise false.
-
- \sa indexOf(), hasReset(), isChanged()
-*/
-
-/*!
- \fn bool QDesignerPropertySheetExtension::isVisible(int index) const
-
- Returns true if the property at the given \a index is visible in
- \QD's property editor, otherwise false.
-
- \sa indexOf(), setVisible()
-*/
-
-/*!
- \fn void QDesignerPropertySheetExtension::setVisible(int index, bool visible)
-
- If \a visible is true, the property at the given \a index is
- visible in \QD's property editor; otherwise the property is
- hidden.
-
- \sa indexOf(), isVisible()
-*/
-
-/*!
- \fn bool QDesignerPropertySheetExtension::isAttribute(int index) const
-
- Returns true if the property at the given \a index is an attribute,
- which will be \e excluded from the .ui file, otherwise false.
-
- \sa indexOf(), setAttribute()
-*/
-
-/*!
- \fn void QDesignerPropertySheetExtension::setAttribute(int index, bool attribute)
-
- If \a attribute is true, the property at the given \a index is
- made an attribute which will be \e excluded from the .ui file;
- otherwise it will be included.
-
- \sa indexOf(), isAttribute()
-*/
-
-/*!
- \fn QVariant QDesignerPropertySheetExtension::property(int index) const
-
- Returns the value of the property at the given \a index.
-
- \sa indexOf(), setProperty(), propertyGroup()
-*/
-
-/*!
- \fn void QDesignerPropertySheetExtension::setProperty(int index, const QVariant &value)
-
- Sets the \a value of the property at the given \a index.
-
- \warning If you change the value of a property using this
- function, the undo stack is not updated. To ensure that a
- property's value can be reverted using the undo stack, you must
- use the QDesignerFormWindowCursorInterface::setProperty()
- function, or its buddy \l
- {QDesignerFormWindowCursorInterface::setWidgetProperty()}{setWidgetProperty()},
- instead.
-
- \sa indexOf(), property(), propertyGroup()
-*/
-
-/*!
- \fn bool QDesignerPropertySheetExtension::isChanged(int index) const
-
- Returns true if the value of the property at the given \a index
- differs from the property's default value, otherwise false.
-
- \sa indexOf(), setChanged(), reset()
-*/
-
-/*!
- \fn void QDesignerPropertySheetExtension::setChanged(int index, bool changed)
-
- Sets whether the property at the given \a index is different from
- its default value, or not, depending on the \a changed parameter.
-
- \sa indexOf(), isChanged()
-*/
-
-// Doc: Interface only
-
-/*!
- \class QDesignerDynamicPropertySheetExtension
-
- \brief The QDesignerDynamicPropertySheetExtension class allows you to
- manipulate a widget's dynamic properties in Qt Designer's property editor.
-
- \sa QDesignerPropertySheetExtension, {QObject#Dynamic Properties}{Dynamic Properties}
-
- \inmodule QtDesigner
- \since 4.3
-*/
-
-/*!
- \fn QDesignerDynamicPropertySheetExtension::~QDesignerDynamicPropertySheetExtension()
-
- Destroys the dynamic property sheet extension.
-*/
-
-/*!
- \fn bool QDesignerDynamicPropertySheetExtension::dynamicPropertiesAllowed() const
-
- Returns true if the widget supports dynamic properties; otherwise returns false.
-*/
-
-/*!
- \fn int QDesignerDynamicPropertySheetExtension::addDynamicProperty(const QString &propertyName, const QVariant &value)
-
- Adds a dynamic property named \a propertyName and sets its value to \a value.
- Returns the index of the property if it was added successfully; otherwise returns -1 to
- indicate failure.
-*/
-
-/*!
- \fn bool QDesignerDynamicPropertySheetExtension::removeDynamicProperty(int index)
-
- Removes the dynamic property at the given \a index.
- Returns true if the operation succeeds; otherwise returns false.
-*/
-
-/*!
- \fn bool QDesignerDynamicPropertySheetExtension::isDynamicProperty(int index) const
-
- Returns true if the property at the given \a index is a dynamic property; otherwise
- returns false.
-*/
-
-/*!
- \fn bool QDesignerDynamicPropertySheetExtension::canAddDynamicProperty(const QString &propertyName) const
-
- Returns true if \a propertyName is a valid, unique name for a dynamic
- property; otherwise returns false.
-
-*/
diff --git a/doc/src/qthelp.qdoc b/doc/src/qthelp.qdoc
index 7260b6e..92c9609 100644
--- a/doc/src/qthelp.qdoc
+++ b/doc/src/qthelp.qdoc
@@ -279,7 +279,7 @@
\section1 Qt Help Project File Format
- The file format is XML based. For a better understanding of
+ The file format is XML-based. For a better understanding of
the format we'll discuss the following example:
\snippet doc/src/snippets/code/doc_src_qthelp.qdoc 7
@@ -398,11 +398,13 @@
Finally, the actual documentation files have to be listed. Make sure
that all files neccessary to display the help are mentioned, i.e.
- stylesheets or similar files need to be there as well. The file, like all
+ stylesheets or similar files need to be there as well. The files, like all
file references in a Qt help project, are relative to the help project file
- itself. All listed files will be compressed and written to the Qt compressed
- help file. So, in the end, one single Qt help file contains all
- documentation files along with the contents and indices. \note The
- referenced files must be inside the same directory (or within a subdirectory)
- as the help project file. An absolute file path is not supported either.
+ itself. As the example shows, files (but not directories) can also be
+ specified as patterns using wildcards. All listed files will be compressed
+ and written to the Qt compressed help file. So, in the end, one single Qt
+ help file contains all documentation files along with the contents and
+ indices. \note The referenced files must be inside the same directory
+ (or within a subdirectory) as the help project file. An absolute file path
+ is not supported either.
*/
diff --git a/doc/src/qtnetwork.qdoc b/doc/src/qtnetwork.qdoc
index 0443f0f..3802273 100644
--- a/doc/src/qtnetwork.qdoc
+++ b/doc/src/qtnetwork.qdoc
@@ -145,11 +145,11 @@
\l{QFtp::commandFinished()}{commandFinished()} signal with the
command ID for each command that is executed.
- \o \e{Data transfer progress indicators.} QFtp emits
- signals whenever data is transferred
- (QFtp::dataTransferProgress(), QHttp::dataReadProgress(), and
- QHttp::dataSendProgress()). You could connect these signals to
- QProgressBar::setProgress() or QProgressDialog::setProgress(),
+ \o \e{Data transfer progress indicators.} QFtp emits signals
+ whenever data is transferred (QFtp::dataTransferProgress(),
+ QNetworkReply::downloadProgress(), and
+ QNetworkReply::uploadProgress()). You could connect these signals
+ to QProgressBar::setProgress() or QProgressDialog::setProgress(),
for example.
\o \e{QIODevice support.} The class supports convenient
@@ -196,10 +196,10 @@
will then stop immediately.
QTcpSocket works asynchronously and emits signals to report status
- changes and errors, just like QHttp and QFtp. It relies on the
- event loop to detect incoming data and to automatically flush
- outgoing data. You can write data to the socket using
- QTcpSocket::write(), and read data using
+ changes and errors, just like QNetworkAccessManager and QFtp. It
+ relies on the event loop to detect incoming data and to
+ automatically flush outgoing data. You can write data to the
+ socket using QTcpSocket::write(), and read data using
QTcpSocket::read(). QTcpSocket represents two independent streams
of data: one for reading and one for writing.
diff --git a/doc/src/qtscript.qdoc b/doc/src/qtscript.qdoc
index f2ac6c9..6b8f639 100644
--- a/doc/src/qtscript.qdoc
+++ b/doc/src/qtscript.qdoc
@@ -1782,20 +1782,20 @@
\list 1
\o Run \c lupdate to extract translatable text from the script source code
- of the Qt application, resulting in a message file for translators (a \c
- .ts file). The utility recognizes qsTr(), qsTranslate() and the
- \c{QT_TR*_NOOP()} functions described above and produces \c .ts files
+ of the Qt application, resulting in a message file for translators (a TS
+ file). The utility recognizes qsTr(), qsTranslate() and the
+ \c{QT_TR*_NOOP()} functions described above and produces TS files
(usually one per language).
- \o Provide translations for the source texts in the \c .ts file, using
- \e{Qt Linguist}. Since \c .ts files are in XML format, you can also
+ \o Provide translations for the source texts in the TS file, using
+ \e{Qt Linguist}. Since TS files are in XML format, you can also
edit them by hand.
- \o Run \c lrelease to obtain a light-weight message file (a \c .qm
- file) from the \c .ts file, suitable only for end use. Think of the \c
- .ts files as "source files", and \c .qm files as "object files". The
- translator edits the \c .ts files, but the users of your application
- only need the \c .qm files. Both kinds of files are platform and
+ \o Run \c lrelease to obtain a light-weight message file (a QM
+ file) from the TS file, suitable only for end use. Think of the TS
+ files as "source files", and QM files as "object files". The
+ translator edits the TS files, but the users of your application
+ only need the QM files. Both kinds of files are platform and
locale independent.
\endlist
@@ -1805,7 +1805,7 @@
translations from previous releases.
When running \c lupdate, you must specify the location of the script(s),
- and the name of the \c{.ts} file to produce. Examples:
+ and the name of the TS file to produce. Examples:
\snippet doc/src/snippets/code/doc_src_qtscript.qdoc 87
@@ -1823,7 +1823,7 @@
\snippet doc/src/snippets/code/doc_src_qtscript.qdoc 89
- When running \c lrelease, you must specify the name of the \c{.ts} input
+ When running \c lrelease, you must specify the name of the TS input
file; or, if you are using a qmake project file to manage script
translations, you specify the name of that file. \c lrelease will create
\c myscript_la.qm, the binary representation of the translation.
diff --git a/doc/src/qtuiloader.qdoc b/doc/src/qtuiloader.qdoc
index 137cfeb..0a23366 100644
--- a/doc/src/qtuiloader.qdoc
+++ b/doc/src/qtuiloader.qdoc
@@ -53,7 +53,7 @@
These forms are processed at run-time to produce dynamically-generated
user interfaces. In order to generate a form at run-time, a resource
- file containing a \c{.ui} file is needed. Applications that use the
+ file containing a UI file is needed. Applications that use the
form handling classes need to be configured to be built against the
QtUiTools module. This is done by including the following declaration
in a \c qmake project file to ensure that the application is compiled
diff --git a/doc/src/qtxmlpatterns.qdoc b/doc/src/qtxmlpatterns.qdoc
index 6b82c0d..3177736 100644
--- a/doc/src/qtxmlpatterns.qdoc
+++ b/doc/src/qtxmlpatterns.qdoc
@@ -839,6 +839,33 @@
with the \c fn:id() function. See
\l{http://www.w3.org/TR/xml-id/}{xml:id Version 1.0} for details.
+ \section2 XML Schema 1.0
+
+ There are two ways QtXmlPatterns can be used to validate schemas:
+ You can use the C++ API in your Qt application using the classes
+ QXmlSchema and QXmlSchemaValidator, or you can use the command line
+ utility named xmlpatternsvalidator (located in the "bin" directory
+ of your Qt build).
+
+ The QtXmlPatterns implementation of XML Schema validation supports
+ the schema specification version 1.0 in large parts. Known problems
+ of the implementation and areas where conformancy may be questionable
+ are:
+
+ \list
+ \o Large \c minOccurs or \c maxOccurs values or deeply nested ones
+ require huge amount of memory which might cause the system to freeze.
+ Such a schema should be rewritten to use \c unbounded as value instead
+ of large numbers. This restriction will hopefully be fixed in a later release.
+ \o Comparison of really small or large floating point values might lead to
+ wrong results in some cases. However such numbers should not be relevant
+ for day-to-day usage.
+ \o Regular expression support is currently not conformant but follows
+ Qt's QRegExp standard syntax.
+ \o Identity constraint checks can not use the values of default or fixed
+ attribute definitions.
+ \endlist
+
\section2 Resource Loading
When QtXmlPatterns loads an XML resource, e.g., using the
@@ -884,6 +911,54 @@
URIs are first passed to QAbstractUriResolver. Check
QXmlQuery::setUriResolver() for possible rewrites.
+ \section1 License Information
+
+ The XML Schema implementation provided by this module contains the \c xml.xsd file
+ (located in \c{src/xmlpatterns/schema/schemas}) which is licensed under the terms
+ given below. This module is always built with XML Schema support enabled.
+
+ \legalese
+ W3C\copyright SOFTWARE NOTICE AND LICENSE
+
+ This license came from: http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+
+ This work (and included software, documentation such as READMEs, or other
+ related items) is being provided by the copyright holders under the following
+ license. By obtaining, using and/or copying this work, you (the licensee)
+ agree that you have read, understood, and will comply with the following
+ terms and conditions.
+
+ Permission to copy, modify, and distribute this software and its
+ documentation, with or without modification, for any purpose and without
+ fee or royalty is hereby granted, provided that you include the following on
+ ALL copies of the software and documentation or portions thereof, including
+ modifications:
+
+ 1. The full text of this NOTICE in a location viewable to users of the
+ redistributed or derivative work.\br
+ 2. Any pre-existing intellectual property disclaimers, notices, or terms
+ and conditions. If none exist, the W3C Software Short Notice should be
+ included (hypertext is preferred, text is permitted)
+ within the body of any redistributed or derivative code.\br
+ 3. Notice of any changes or modifications to the files, including the date
+ changes were made. (We recommend you provide URIs to the location from
+ which the code is derived.)
+
+ THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS
+ MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT
+ LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR
+ PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENTATION WILL NOT INFRINGE
+ ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.
+
+ COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR
+ CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR
+ DOCUMENTATION.
+
+ The name and trademarks of copyright holders may NOT be used in
+ advertising or publicity pertaining to the software without specific, written
+ prior permission. Title to copyright in this software and any associated
+ documentation will at all times remain with copyright holders.
+ \endlegalese
*/
/*!
diff --git a/doc/src/resources.qdoc b/doc/src/resources.qdoc
index e4d4c35..6f3f939 100644
--- a/doc/src/resources.qdoc
+++ b/doc/src/resources.qdoc
@@ -175,7 +175,7 @@
Qt's resources support the concept of a search path list. If you then
refer to a resource with \c : instead of \c :/ as the prefix, the
resource will be looked up using the search path list. The search
- path list is empty at startup; call QDir::addResourceSearchPath() to
+ path list is empty at startup; call QDir::addSearchPath() to
add paths to it.
If you have resources in a static library, you might need to
diff --git a/doc/src/richtext.qdoc b/doc/src/richtext.qdoc
index 1c76268..c43db0c 100644
--- a/doc/src/richtext.qdoc
+++ b/doc/src/richtext.qdoc
@@ -714,8 +714,8 @@ Ideas for other sections:
\previouspage Common Rich Text Editing Tasks
Qt's text widgets are able to display rich text, specified using a subset of \l{HTML 4}
- markup. Widgets that use QTextDocument, such as QLabel, QTextEdit, QTreeWidgetItem and
- the other item widgets, are able to display rich text specified in this way.
+ markup. Widgets that use QTextDocument, such as QLabel and QTextEdit, are able to display
+ rich text specified in this way.
\tableofcontents
diff --git a/doc/src/s60-introduction.qdoc b/doc/src/s60-introduction.qdoc
index 537b37d..16919cb 100644
--- a/doc/src/s60-introduction.qdoc
+++ b/doc/src/s60-introduction.qdoc
@@ -1,9 +1,9 @@
/****************************************************************************
**
-** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
-** This file is part of the $MODULE$ of the Qt Toolkit.
+** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/doc/src/signalsandslots.qdoc b/doc/src/signalsandslots.qdoc
index 356db33..09eb0a6 100644
--- a/doc/src/signalsandslots.qdoc
+++ b/doc/src/signalsandslots.qdoc
@@ -190,7 +190,7 @@
know any information about each other. To enable this, the objects only
need to be connected together, and this can be achieved with some simple
QObject::connect() function calls, or with \c{uic}'s
- \l{Using a Designer .ui File in Your Application#Automatic Connections}
+ \l{Using a Designer UI File in Your Application#Automatic Connections}
{automatic connections} feature.
\section1 Building the Example
diff --git a/doc/src/snippets/code/doc_src_emb-charinput.qdoc b/doc/src/snippets/code/doc_src_emb-charinput.qdoc
index 2539e13..f6b33fe 100644
--- a/doc/src/snippets/code/doc_src_emb-charinput.qdoc
+++ b/doc/src/snippets/code/doc_src_emb-charinput.qdoc
@@ -4,7 +4,7 @@
//! [1]
-configure -qt-kbd-s15000
+configure -qt-kbd-linuxinput
//! [1]
diff --git a/doc/src/snippets/code/doc_src_linguist-manual.qdoc b/doc/src/snippets/code/doc_src_linguist-manual.qdoc
index ce3b997..5697300 100644
--- a/doc/src/snippets/code/doc_src_linguist-manual.qdoc
+++ b/doc/src/snippets/code/doc_src_linguist-manual.qdoc
@@ -42,7 +42,7 @@ Options:
-pluralonly
Only include plural form messages.
-silent
- Don't explain what is being done.
+ Do not explain what is being done.
-version
Display the version of lupdate and exit.
//! [4]
@@ -55,14 +55,14 @@ Usage:
Options:
-help Display this information and exit
-compress
- Compress the .qm files
+ Compress the QM files
-nounfinished
Do not include unfinished translations
-removeidentical
If the translated text is the same as
the source text, do not include the message
-silent
- Don't explain what is being done
+ Do not explain what is being done
-version
Display the version of lrelease and exit
//! [5]
diff --git a/doc/src/snippets/code/doc_src_properties.qdoc b/doc/src/snippets/code/doc_src_properties.qdoc
index 377cc9c..3c9109f 100644
--- a/doc/src/snippets/code/doc_src_properties.qdoc
+++ b/doc/src/snippets/code/doc_src_properties.qdoc
@@ -7,7 +7,9 @@ Q_PROPERTY(type name
[DESIGNABLE bool]
[SCRIPTABLE bool]
[STORED bool]
- [USER bool])
+ [USER bool]
+ [CONSTANT]
+ [FINAL])
//! [0]
diff --git a/doc/src/snippets/code/doc_src_qmake-manual.qdoc b/doc/src/snippets/code/doc_src_qmake-manual.qdoc
index 50515b7..64dc559 100644
--- a/doc/src/snippets/code/doc_src_qmake-manual.qdoc
+++ b/doc/src/snippets/code/doc_src_qmake-manual.qdoc
@@ -689,7 +689,7 @@ qmake -o Makefile hello.pro
//! [115]
-qmake -tp vc -o hello.dsp hello.pro
+qmake -tp vc hello.pro
//! [115]
diff --git a/doc/src/snippets/code/doc_src_qthelp.qdoc b/doc/src/snippets/code/doc_src_qthelp.qdoc
index 11d231f..949e2a5 100644
--- a/doc/src/snippets/code/doc_src_qthelp.qdoc
+++ b/doc/src/snippets/code/doc_src_qthelp.qdoc
@@ -92,8 +92,7 @@ if (links.count()) {
</keywords>
<files>
<file>classic.css</file>
- <file>index.html</file>
- <file>doc.html</file>
+ <file>*.html</file>
</files>
</filterSection>
</QtHelpProject>
@@ -154,8 +153,7 @@ if (links.count()) {
...
<files>
<file>classic.css</file>
- <file>index.html</file>
- <file>doc.html</file>
+ <file>*.html</file>
</files>
...
//! [13]
diff --git a/doc/src/snippets/code/doc_src_styles.qdoc b/doc/src/snippets/code/doc_src_styles.qdoc
index e11dc05..9d5756a 100644
--- a/doc/src/snippets/code/doc_src_styles.qdoc
+++ b/doc/src/snippets/code/doc_src_styles.qdoc
@@ -1,5 +1,5 @@
//! [0]
- opt.init(q);
+ opt.initFrom(q);
if (down)
opt.state |= QStyle::State_Sunken;
if (tristate && noChange)
diff --git a/doc/src/snippets/code/src_corelib_global_qglobal.cpp b/doc/src/snippets/code/src_corelib_global_qglobal.cpp
index 287181a..50052c3 100644
--- a/doc/src/snippets/code/src_corelib_global_qglobal.cpp
+++ b/doc/src/snippets/code/src_corelib_global_qglobal.cpp
@@ -358,6 +358,30 @@ QString global_greeting(int type)
//! [36]
+//! [qttrid]
+ //% "%n fooish bar(s) found.\n"
+ //% "Do you want to continue?"
+ QString text = qtTrId("qtn_foo_bar", n);
+//! [qttrid]
+
+
+//! [qttrid_noop]
+static const char * const ids[] = {
+ //% "This is the first text."
+ QT_TRID_NOOP("qtn_1st_text"),
+ //% "This is the second text."
+ QT_TRID_NOOP("qtn_2nd_text"),
+ 0
+};
+
+void TheClass::addLabels()
+{
+ for (int i = 0; ids[i]; ++i)
+ new QLabel(qtTrId(ids[i]), this);
+}
+//! [qttrid_noop]
+
+
//! [37]
qWarning("%s: %s", qPrintable(key), qPrintable(value));
//! [37]
diff --git a/doc/src/snippets/code/src_corelib_io_qfileinfo.cpp b/doc/src/snippets/code/src_corelib_io_qfileinfo.cpp
index 2ab15ee..89b4f33 100644
--- a/doc/src/snippets/code/src_corelib_io_qfileinfo.cpp
+++ b/doc/src/snippets/code/src_corelib_io_qfileinfo.cpp
@@ -13,9 +13,9 @@ info1.size(); // returns 56201
info1.symLinkTarget(); // returns "/opt/pretty++/bin/untabify"
QFileInfo info2(info1.symLinkTarget());
-info1.isSymLink(); // returns false
-info1.absoluteFilePath(); // returns "/opt/pretty++/bin/untabify"
-info1.size(); // returns 56201
+info2.isSymLink(); // returns false
+info2.absoluteFilePath(); // returns "/opt/pretty++/bin/untabify"
+info2.size(); // returns 56201
#endif
//! [0]
diff --git a/doc/src/snippets/code/src_corelib_kernel_qobject.cpp b/doc/src/snippets/code/src_corelib_kernel_qobject.cpp
index 5a7c5a7..5c0f80c 100644
--- a/doc/src/snippets/code/src_corelib_kernel_qobject.cpp
+++ b/doc/src/snippets/code/src_corelib_kernel_qobject.cpp
@@ -376,6 +376,15 @@ hostNameLabel->setText(tr("Name:"));
QString example = tr("Example");
//! [40]
+//! [meta data]
+//: This is a comment for the translator.
+//= qtn_foo_bar
+//~ loc-layout_id foo_dialog
+//~ loc-blank False
+//~ magic-stuff This might mean something magic.
+QString text = MyMagicClass::tr("Sim sala bim.");
+//! [meta data]
+
//! [explicit tr context]
QString text = QScrollBar::tr("Page up");
//! [explicit tr context]
diff --git a/doc/src/snippets/code/src_corelib_tools_qlistdata.cpp b/doc/src/snippets/code/src_corelib_tools_qlistdata.cpp
index 7d75e1b..3b9a756 100644
--- a/doc/src/snippets/code/src_corelib_tools_qlistdata.cpp
+++ b/doc/src/snippets/code/src_corelib_tools_qlistdata.cpp
@@ -190,10 +190,10 @@ QVector<QString> vect = list.toVector();
//! [23]
-QSet<double> set;
-set << 20.0 << 30.0 << 40.0 << ... << 70.0;
+QSet<int> set;
+set << 20 << 30 << 40 << ... << 70;
-QList<double> list = QList<double>::fromSet(set);
+QList<int> list = QList<int>::fromSet(set);
qSort(list);
//! [23]
diff --git a/doc/src/snippets/code/src_network_access_qnetworkreply.cpp b/doc/src/snippets/code/src_network_access_qnetworkreply.cpp
new file mode 100644
index 0000000..78b388b
--- /dev/null
+++ b/doc/src/snippets/code/src_network_access_qnetworkreply.cpp
@@ -0,0 +1,10 @@
+//! [0]
+QList<QSslCertificate> cert = QSslCertificate::fromPath(QLatin1String("server-certificate.pem"));
+QSslError error(QSslError::SelfSignedCertificate, cert.at(0));
+QList<QSslError> expectedSslErrors;
+expectedSslErrors.append(error);
+
+QNetworkReply *reply = manager.get(QNetworkRequest(QUrl("https://server.tld/index.html")));
+reply->ignoreSslErrors(expectedSslErrors);
+// here connect signals etc.
+//! [0]
diff --git a/doc/src/snippets/code/src_network_ssl_qsslsocket.cpp b/doc/src/snippets/code/src_network_ssl_qsslsocket.cpp
index afffbab..7845e9b 100644
--- a/doc/src/snippets/code/src_network_ssl_qsslsocket.cpp
+++ b/doc/src/snippets/code/src_network_ssl_qsslsocket.cpp
@@ -54,3 +54,14 @@ socket->connectToHostEncrypted("imap", 993);
if (socket->waitForEncrypted(1000))
qDebug("Encrypted!");
//! [5]
+
+//! [6]
+QList<QSslCertificate> cert = QSslCertificate::fromPath(QLatin1String("server-certificate.pem"));
+QSslError error(QSslError::SelfSignedCertificate, cert.at(0));
+QList<QSslError> expectedSslErrors;
+expectedSslErrors.append(error);
+
+QSslSocket socket;
+socket.ignoreSslErrors(expectedSslErrors);
+socket.connectToHostEncrypted("server.tld", 443);
+//! [6]
diff --git a/doc/src/snippets/qxmlschema/main.cpp b/doc/src/snippets/qxmlschema/main.cpp
new file mode 100644
index 0000000..3375a6c
--- /dev/null
+++ b/doc/src/snippets/qxmlschema/main.cpp
@@ -0,0 +1,118 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QtCore>
+#include <QtXmlPatterns>
+
+class Schema
+{
+ public:
+ void loadFromUrl() const;
+ void loadFromFile() const;
+ void loadFromData() const;
+};
+
+void Schema::loadFromUrl() const
+{
+//! [0]
+ QUrl url("http://www.schema-example.org/myschema.xsd");
+
+ QXmlSchema schema;
+ if (schema.load(url) == true)
+ qDebug() << "schema is valid";
+ else
+ qDebug() << "schema is invalid";
+//! [0]
+}
+
+void Schema::loadFromFile() const
+{
+//! [1]
+ QFile file("myschema.xsd");
+ file.open(QIODevice::ReadOnly);
+
+ QXmlSchema schema;
+ schema.load(&file, QUrl::fromLocalFile(file.fileName()));
+
+ if (schema.isValid())
+ qDebug() << "schema is valid";
+ else
+ qDebug() << "schema is invalid";
+//! [1]
+}
+
+void Schema::loadFromData() const
+{
+//! [2]
+ QByteArray data( "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"
+ "<xsd:schema"
+ " xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\""
+ " xmlns=\"http://www.qtsoftware.com/xmlschematest\""
+ " targetNamespace=\"http://www.qtsoftware.com/xmlschematest\""
+ " version=\"1.0\""
+ " elementFormDefault=\"qualified\">"
+ "</xsd:schema>" );
+
+ QBuffer buffer(&data);
+ buffer.open(QIODevice::ReadOnly);
+
+ QXmlSchema schema;
+ schema.load(&buffer);
+
+ if (schema.isValid())
+ qDebug() << "schema is valid";
+ else
+ qDebug() << "schema is invalid";
+//! [2]
+}
+
+int main(int argc, char **argv)
+{
+ QCoreApplication app(argc, argv);
+
+ Schema schema;
+
+ schema.loadFromUrl();
+ schema.loadFromFile();
+ schema.loadFromData();
+
+ return 0;
+}
diff --git a/doc/src/snippets/qxmlschema/qxmlschema.pro b/doc/src/snippets/qxmlschema/qxmlschema.pro
new file mode 100644
index 0000000..7e8782a
--- /dev/null
+++ b/doc/src/snippets/qxmlschema/qxmlschema.pro
@@ -0,0 +1,3 @@
+SOURCES += main.cpp
+
+QT += xmlpatterns
diff --git a/doc/src/snippets/qxmlschemavalidator/main.cpp b/doc/src/snippets/qxmlschemavalidator/main.cpp
new file mode 100644
index 0000000..108016c
--- /dev/null
+++ b/doc/src/snippets/qxmlschemavalidator/main.cpp
@@ -0,0 +1,160 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QtCore>
+#include <QtXmlPatterns>
+
+class SchemaValidator
+{
+ public:
+ void validateFromUrl() const;
+ void validateFromFile() const;
+ void validateFromData() const;
+ void validateComplete() const;
+
+ private:
+ QXmlSchema getSchema() const;
+};
+
+void SchemaValidator::validateFromUrl() const
+{
+//! [0]
+ const QXmlSchema schema = getSchema();
+
+ const QUrl url("http://www.schema-example.org/test.xml");
+
+ QXmlSchemaValidator validator(schema);
+ if (validator.validate(url))
+ qDebug() << "instance document is valid";
+ else
+ qDebug() << "instance document is invalid";
+//! [0]
+}
+
+void SchemaValidator::validateFromFile() const
+{
+//! [1]
+ const QXmlSchema schema = getSchema();
+
+ QFile file("test.xml");
+ file.open(QIODevice::ReadOnly);
+
+ QXmlSchemaValidator validator(schema);
+ if (validator.validate(&file, QUrl::fromLocalFile(file.fileName())))
+ qDebug() << "instance document is valid";
+ else
+ qDebug() << "instance document is invalid";
+//! [1]
+}
+
+void SchemaValidator::validateFromData() const
+{
+//! [2]
+ const QXmlSchema schema = getSchema();
+
+ QByteArray data("<?xml version=\"1.0\" encoding=\"UTF-8\"?>"
+ "<test></test>");
+
+ QBuffer buffer(&data);
+ buffer.open(QIODevice::ReadOnly);
+
+ QXmlSchemaValidator validator(schema);
+ if (validator.validate(&buffer))
+ qDebug() << "instance document is valid";
+ else
+ qDebug() << "instance document is invalid";
+//! [2]
+}
+
+QXmlSchema SchemaValidator::getSchema() const
+{
+ QByteArray data("<?xml version=\"1.0\" encoding=\"UTF-8\"?>"
+ "<xsd:schema"
+ " xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\""
+ " xmlns=\"http://www.qtsoftware.com/xmlschematest\""
+ " targetNamespace=\"http://www.qtsoftware.com/xmlschematest\""
+ " version=\"1.0\""
+ " elementFormDefault=\"qualified\">"
+ "</xsd:schema>");
+
+ QBuffer buffer(&data);
+ buffer.open(QIODevice::ReadOnly);
+
+ QXmlSchema schema;
+ schema.load(&buffer);
+
+ return schema;
+}
+
+void SchemaValidator::validateComplete() const
+{
+//! [3]
+ QUrl schemaUrl("file:///home/user/schema.xsd");
+
+ QXmlSchema schema;
+ schema.load(schemaUrl);
+
+ if (schema.isValid()) {
+ QFile file("test.xml");
+ file.open(QIODevice::ReadOnly);
+
+ QXmlSchemaValidator validator(schema);
+ if (validator.validate(&file, QUrl::fromLocalFile(file.fileName())))
+ qDebug() << "instance document is valid";
+ else
+ qDebug() << "instance document is invalid";
+ }
+//! [3]
+}
+
+int main(int argc, char **argv)
+{
+ QCoreApplication app(argc, argv);
+
+ SchemaValidator validator;
+
+ validator.validateFromUrl();
+ validator.validateFromFile();
+ validator.validateFromData();
+ validator.validateComplete();
+
+ return 0;
+}
diff --git a/doc/src/snippets/qxmlschemavalidator/qxmlschemavalidator.pro b/doc/src/snippets/qxmlschemavalidator/qxmlschemavalidator.pro
new file mode 100644
index 0000000..7e8782a
--- /dev/null
+++ b/doc/src/snippets/qxmlschemavalidator/qxmlschemavalidator.pro
@@ -0,0 +1,3 @@
+SOURCES += main.cpp
+
+QT += xmlpatterns
diff --git a/doc/src/snippets/snippets.pro b/doc/src/snippets/snippets.pro
index 50e33b3..e3e7eca 100644
--- a/doc/src/snippets/snippets.pro
+++ b/doc/src/snippets/snippets.pro
@@ -73,6 +73,8 @@ SUBDIRS = brush \
quiloader \
qx11embedcontainer \
qx11embedwidget \
+ qxmlschema \
+ qxmlschemavalidator \
reading-selections \
scribe-overview \
separations \
diff --git a/doc/src/snippets/statemachine/eventtest.cpp b/doc/src/snippets/statemachine/eventtest.cpp
new file mode 100644
index 0000000..e0f359a
--- /dev/null
+++ b/doc/src/snippets/statemachine/eventtest.cpp
@@ -0,0 +1,34 @@
+
+#include <QtGui>
+
+class MyTransition : public QAbstractTransition
+{
+ Q_OBJECT
+public:
+ MyTransition() {}
+
+protected:
+//![0]
+ bool eventTest(QEvent *event)
+ {
+ if (event->type() == QEvent::Wrapped) {
+ QEvent *wrappedEvent = static_cast<QWrappedEvent *>(event)->event();
+ if (wrappedEvent->type() == QEvent::KeyPress) {
+ QKeyEvent *keyEvent = static_cast<QKeyEvent *>(wrappedEvent);
+ // Do your event test
+ }
+ }
+ return false;
+ }
+//![0]
+
+ void onTransition(QEvent *event)
+ {
+
+ }
+};
+
+int main(int argv, char **args)
+{
+ return 0;
+}
diff --git a/doc/src/snippets/stringlistmodel/model.cpp b/doc/src/snippets/stringlistmodel/model.cpp
index 76329dd..49e0fc7 100644
--- a/doc/src/snippets/stringlistmodel/model.cpp
+++ b/doc/src/snippets/stringlistmodel/model.cpp
@@ -59,6 +59,11 @@ int StringListModel::rowCount(const QModelIndex &parent) const
}
//! [0]
+
+#ifdef 0
+// This represents a read-only version of data(), an early stage in the
+// development of the example leading to an editable StringListModel.
+
/*!
Returns an appropriate value for the requested data.
If the view requests an invalid index, an invalid variant is returned.
@@ -66,7 +71,7 @@ int StringListModel::rowCount(const QModelIndex &parent) const
string to be returned.
*/
-//! [1]
+//! [1-data-read-only]
QVariant StringListModel::data(const QModelIndex &index, int role) const
{
if (!index.isValid())
@@ -80,6 +85,31 @@ QVariant StringListModel::data(const QModelIndex &index, int role) const
else
return QVariant();
}
+//! [1-data-read-only]
+#endif
+
+
+/*!
+ Returns an appropriate value for the requested data.
+ If the view requests an invalid index, an invalid variant is returned.
+ Any valid index that corresponds to a string in the list causes that
+ string to be returned.
+*/
+
+//! [1]
+QVariant StringListModel::data(const QModelIndex &index, int role) const
+{
+ if (!index.isValid())
+ return QVariant();
+
+ if (index.row() >= stringList.size())
+ return QVariant();
+
+ if (role == Qt::DisplayRole || role == Qt::EditRole)
+ return stringList.at(index.row());
+ else
+ return QVariant();
+}
//! [1]
/*!
diff --git a/doc/src/styles.qdoc b/doc/src/styles.qdoc
index b818c4a..752fef0 100644
--- a/doc/src/styles.qdoc
+++ b/doc/src/styles.qdoc
@@ -246,7 +246,7 @@
defined by the \l{QStyle::}{State} enum. Some of the state flags have
different meanings depending on the widget, but others are common
for all widgets like State_Disabled. It is QStyleOption that sets
- the common states with QStyleOption::init(); the rest of the
+ the common states with QStyleOption::initFrom(); the rest of the
states are set by the individual widgets.
Most notably, the style options contain the palette and bounding
@@ -502,7 +502,7 @@
\snippet doc/src/snippets/code/doc_src_styles.qdoc 0
First we let QStyleOption set up the option with the information
- that is common for all widgets with \c init(). We will look at
+ that is common for all widgets with \c initFrom(). We will look at
this shortly.
The down boolean is true when the user press the box down; this is
@@ -514,7 +514,7 @@
set - you set this in QStyle::polish(). In addition, the style
option also contains the text, icon, and icon size of the button.
- \l{QStyleOption::}{init()} sets up the style option with the
+ \l{QStyleOption::}{initFrom()} sets up the style option with the
attributes that are common for all widgets. We print its
implementation here:
@@ -726,9 +726,9 @@
\section2 Common Widget Properties
Some states and variables are common for all widgets. These are
- set with QStyleOption::init(). Not all elements use this function;
+ set with QStyleOption::initFrom(). Not all elements use this function;
it is the widgets that create the style options, and for some
- elements the information from \l{QStyleOption::}{init()} is not
+ elements the information from \l{QStyleOption::}{initFrom()} is not
necessary.
A table with the common states follows:
@@ -1451,7 +1451,7 @@
\o Set if it is a horizontal splitter
\endtable
- QSplitter does not use \l{QStyleOption::}{init()} to set up its
+ QSplitter does not use \l{QStyleOption::}{initFrom()} to set up its
option; it sets the State_MouseOver and State_Disabled flags
itself.
@@ -1625,7 +1625,7 @@
QToolBarSaparator uses QStyleOption for their style option. It
sets the State_horizontal flag if the toolbar they live in is
- horizontal. Other than that, they use \l{QStyleOption::}{init()}.
+ horizontal. Other than that, they use \l{QStyleOption::}{initFrom()}.
The style option for QToolBar is QStyleOptionToolBar. The only
state flag set (besides the common flags) is State_Horizontal
@@ -1757,7 +1757,7 @@
The setup of the style option for CE_MenuTearOff and
CE_MenuScroller also uses QStyleOptionMenuItem; they only set the
\c menuRect variable in addition to the common settings with
- QStyleOption's \l{QStyleOption::}{init()}.
+ QStyleOption's \l{QStyleOption::}{initFrom()}.
\section3 Menu Bar
diff --git a/doc/src/supported-platforms.qdoc b/doc/src/supported-platforms.qdoc
new file mode 100644
index 0000000..3f35e14
--- /dev/null
+++ b/doc/src/supported-platforms.qdoc
@@ -0,0 +1,141 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+ \page supported-platforms.html
+ \title Supported Platforms
+ \brief The platforms supported by Nokia for Qt.
+ \ingroup platform-notes
+
+ Qt Software strives to provide support for the platforms most
+ frequently used by Qt users. We have designed our internal testing procedure to
+ divide platforms into three test categories (Tier 1, Tier 2 and Tier 3) in order
+ to prioritize internal testing and development resources so that the most
+ frequently used platforms are subjected to our most rigorous testing processes.
+
+ Qt is supported on a variety of 32-bit and 64-bit platforms, and can
+ usually be built on each platform with GCC, a vendor-supplied compiler, or
+ a third party compiler. Although Qt may be built on a range of platform-compiler
+ combinations, only a subset of these are actively supported by Nokia.
+
+ \tableofcontents
+
+ Information about the specific platforms Qt runs on can be found on the
+ \l{Platform Notes} page. Information about the compilers used on each platform
+ can be found on the \l{Compiler Notes} page.
+
+ \section1 Tier 1 Platforms
+
+ All Tier 1 platforms are subjected to our unit test suite and other internal
+ testing tools on a frequent basis (prior to new version releases, source tree
+ branching, and at other significant period points in the development process).
+ Errors or bugs discovered in these platforms are prioritized for correction
+ by the development team. Significant errors discovered in Tier 1 platforms can
+ impact release dates and Qt Development Frameworks strives to resolve all known
+ high priority errors in Tier 1 platforms prior to new version releases.
+
+ \table
+ \header \o Platform
+ \o Compilers
+ \row \o Linux (32 and 64-bit)
+ \o gcc 4.2
+ \row \o Microsoft Windows XP
+ \o gcc 3.4.2 (MinGW) (32-bit), MSVC 2003, 2005 (32 and 64-bit)
+ \row \o Microsoft Windows Vista
+ \o MSVC 2005, 2008
+ \row \o Microsoft Windows Vista 64bit
+ \o MSVC 2008
+ \row \o Apple Mac OS X 10.5 "Leopard" x86_64 (Carbon, Cocoa 32 and 64bit)
+ \o As provided by Apple
+ \row \o Embedded Linux QWS (ARM)
+ \o gcc (\l{http:\\www.codesourcery.com}{Codesourcery version)}
+ \row \o Windows CE 5.0 (ARMv4i, x86, MIPS)
+ \o MSVC 2005 WinCE 5.0 Standard (x86, pocket, smart, mipsii)
+ \endtable
+
+ \section1 Tier 2 Platforms
+
+ Tier 2 platforms are subjected to our unit test suite and other internal testing
+ tools prior to release of new product versions. Qt users should note, however,
+ that errors may be present in released product versions for Tier 2 platforms and,
+ subject to resource availability, known errors in Tier 2 platforms may or may not
+ be corrected prior to new version releases.
+
+ \table
+ \header \o Platform
+ \o Compilers
+ \row \o Apple Mac OS X 10.4 "Tiger"
+ \o As provided by Apple
+ \row \o HPUXi 11.11
+ \o aCC 3.57, gcc 3.4
+ \row \o HPUXi 11.23
+ \o aCC 6.10
+ \row \o Solaris 10 UltraSparc
+ \o Sun Studio 12
+ \row \o AIX 6
+ \o Power5 xlC 7
+ \row \o Microsoft Windows XP
+ \o Intel Compiler
+ \row \o Linux
+ \o Intel Compiler
+ \row \o Embedded Linux QWS (Mips, PowerPC)
+ \o gcc (\l{http:\\www.codesourcery.com}{Codesourcery version)}
+ \row \o Windows CE 6.0 (ARMv4i, x86, MIPS)
+ \o MSVC 2008 WinCE 6.0 Professional
+ \endtable
+
+ \section1 Tier 3 Platforms (Not supported by Nokia)
+
+ All platforms not specifically listed above are not supported by Nokia. Nokia does
+ not run its unit test suite or perform any other internal tests on platforms not
+ listed above. Qt users should note, however, that there may be various open source
+ projects, community users and/or Qt partners who are able to provide assistance with
+ platforms not supported by Nokia.
+
+ \section1 General Legal Disclaimer
+
+ Please note that Qt Software’s products are offered on an "as is" basis without warranty
+ of any kind and that our products are not error or bug free. To the maximum extent
+ permitted by applicable law, Nokia on behalf of itself and its suppliers, disclaims all
+ warranties and conditions, either express or implied, including, but not limited to,
+ implied warranties of merchantability, fitness for a particular purpose, title and
+ non-infringement with regard to the Licensed Software.
+*/
diff --git a/doc/src/symbian-exceptionsafety.qdoc b/doc/src/symbian-exceptionsafety.qdoc
index df18031..4818953 100644
--- a/doc/src/symbian-exceptionsafety.qdoc
+++ b/doc/src/symbian-exceptionsafety.qdoc
@@ -1,7 +1,7 @@
/****************************************************************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the documentation of the Qt Toolkit.
**
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/doc/src/tech-preview/images/mainwindow-docks-example.png b/doc/src/tech-preview/images/mainwindow-docks-example.png
deleted file mode 100644
index a5641fd..0000000
--- a/doc/src/tech-preview/images/mainwindow-docks-example.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/tech-preview/images/mainwindow-docks.png b/doc/src/tech-preview/images/mainwindow-docks.png
deleted file mode 100644
index 96dafc3..0000000
--- a/doc/src/tech-preview/images/mainwindow-docks.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/tech-preview/images/plaintext-layout.png b/doc/src/tech-preview/images/plaintext-layout.png
deleted file mode 100644
index 9a0f9c1..0000000
--- a/doc/src/tech-preview/images/plaintext-layout.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/tech-preview/known-issues.html b/doc/src/tech-preview/known-issues.html
deleted file mode 100644
index 885104e..0000000
--- a/doc/src/tech-preview/known-issues.html
+++ /dev/null
@@ -1,110 +0,0 @@
-<html>
-<head>
-<title>Known issues</title>
-<link rel="stylesheet" href="http://qtsoftware.com/trollstyle.css">
-<style type="text/css">
- H2 { position: relative; top: 10px; }
- H4 { margin-left: 15px; }
- .issue { margin-left: 15px; }
- .workaround { margin-left: 30px; margin-right: 30px; padding: 2px; border-style: solid; border-color: #AACA00; border-width: 1px; }
-</style>
-</head>
-<body bgcolor="#ffffff">
-<table border="0" cellpadding="0" cellspacing="0" width="100%">
- <tr bgcolor="#E5E5E5">
- <td><img src="http://doc.trolltech.com/doctitle.png" width="443" height="32" border="0"></td>
- <td align="right" valign="middle"></td></tr></table>
-<h1>Known Issues: Qt 4.0.0 Technology Preview 1</h1>
-<p>
- This is the list of known and reported issues for the Qt 4.0.0
- Technology Preview 1. This list is updated daily.
-</p>
-<br><br>
-<table width="100%">
- <tr><td align="left"><b><a href="#buildissues">Build Issues</a></b></td></tr>
- <tr><td align="left"><b><a href="#general">General</a></b></td></tr>
- <tr><td align="left"><b><a href="#demos">Demos</a></b></td></tr>
- <tr><td align="left"><b><a href="#window">Windows specific</a></b></td></tr>
- <tr><td align="left"><b><a href="#x11">X11 specific</a></b></td></tr>
- <tr><td align="left"><b><a href="#mac">Mac specific</a></b></td></tr>
-</table>
-<br><br>
-<!-- Build section ------------------------------------------------- -->
-<a name="buildissues"></a>
-<h2>Build Issues</h2>
- <h4>Static libraries on Mac OS X</h4>
- <p class="issue">Building a static build on mac will fail the first time.</p>
- <p class="workaround">Run qmake a second time.</p>
-
- <h4>QTDIR</h4>
- <p class="issue">Some applications(e.g. uic3) need QTDIR set and QTDIR/bin in the path to work.</p>
- <p class="workaround">Set QTDIR and PATH as described in INSTALL.</p>
-
- <h4>ODBC driver on Windows</h4>
- <p class="issue">Problems compiling the ODBC driver.</p>
- <p class="workaround">Change the include from qapplication.h to qcoreapplication.h</p>
-
- <h4>QtGui does not link because of accessibility errors</h4>
- <p class="issue">undefined reference to QAccessible::setRootObject(QObject*)</p>
- <p class="workaround">Rerun configure and rebuild, if that does not help, add the contents of $QTDIR/.qt.config to $QTDIR/.qmake.cache</p>
-
-
-<!-- General section ---------------------------------------------- -->
-<a name="general"></a>
-<h2>General</h2>
-
- <h4>No connection to Oracle</h4>
- <p class="issue">I cannot connect to my Oracle server</p>
- <p class="workaround">Use the Oracle &gt;= 9 client libraries, currently there is no workaround for OCI 8</p>
-
- <h4>QSqlModel</h4>
- <p class="issue">Only the first 16 rows from a database result are displayed</p>
- <p class="workaround">You are using a database driver which does not report back the size of a result set and incremental fetching is not yet implemented in the itemviews. You can either use another database like MySQL or increase the QSQL_PREFETCH in qsqlmodel.cpp</p>
-
-
-<!-- Demos section ------------------------------------------------- -->
-<a name="demos"></a>
-<h2>Demos</h2>
-
- <h4>-</h4>
-
-
-<!-- Windows platform section -------------------------------------- -->
-<a name="window"></a>
-<h2>Windows specific</h2>
-
- <h4>Qt Assistant</h4>
- <p class="issue">Problems with zooming and laying out text. Sometimes the text overlaps.</p>
-
- <h4>GDI handle leak</h4>
- <p class="issue">Setting fonts through QPainter::setFont() leaks GDI
- handles on windows. This is for instance visible in the OpenGL
- part of the Arthur demo. The issue will be fixed before the next
- preview.</p>
-
-<!-- X11 platform section ------------------------------------------ -->
-<a name="x11"></a>
-<h2>X11 specific</h2>
-
- <h4>-</h4>
-
-
-<!-- Mac platform section ------------------------------------------ -->
-<a name="mac"></a>
-<h2>Mac specific</h2>
-
- <h4>QComboBox</h4>
- <p class="issue">Does not have the native Mac look and feel yet. It is rendered in a Windows-like style.</p>
-
- <h4>Clicking on widgets</h4>
- <p class="issue"><i>Jaguar 10.2 only:</i> Clicking on widgets that has a focusrect may fail.</p>
- <p class="workaround">Use 10.3 for now.</p>
-
-
-<!-- [Page footer] ------------------------------------------------- -->
-<table width="100%">
- <tr><td><hr size="1" noshade></td></tr>
- <tr><td align="center" valign="bottom"><a href="http://qtsoftware.com">qtsoftware.com</a></td></tr>
-</table>
-</body>
-</html>
diff --git a/doc/src/templates.qdoc b/doc/src/templates.qdoc
index 5a8acf7..8cfb851 100644
--- a/doc/src/templates.qdoc
+++ b/doc/src/templates.qdoc
@@ -162,7 +162,7 @@
without having to know the exact types of the objects we are connecting.
This is impossible with a template based solution. This kind of runtime
introspection opens up new possibilities, for example GUIs that are
- generated and connected from Qt Designer's XML \c{ui} files.
+ generated and connected from Qt Designer's XML UI files.
\section1 Calling Performance is Not Everything
diff --git a/doc/src/threads.qdoc b/doc/src/threads.qdoc
index c9d0904..067de5f 100644
--- a/doc/src/threads.qdoc
+++ b/doc/src/threads.qdoc
@@ -262,48 +262,41 @@
\keyword thread-safe
\section1 Reentrancy and Thread-Safety
- Throughout the Qt documentation, the terms \e reentrant and \e
- thread-safe are used to specify how a function can be used in
- multithreaded applications:
+ Throughout the documentation, the terms \e{reentrant} and
+ \e{thread-safe} are used to mark classes and functions to indicate
+ how they can be used in multithread applications:
\list
- \o A \e reentrant function can be called simultaneously by
- multiple threads provided that each invocation of the function
- references unique data.
- \o A \e thread-safe function can be called simultaneously by
- multiple threads when each invocation references shared data.
- All access to the shared data is serialized.
+ \o A \e thread-safe function can be called simultaneously from
+ multiple threads, even when the invocations use shared data,
+ because all references to the shared data are serialized.
+ \o A \e reentrant function can also be called simultaneously from
+ multiple threads, but only if each invocation uses its own data.
\endlist
- By extension, a class is said to be reentrant if each and every
- one of its functions can be called simultaneously by multiple
- threads on different instances of the class. Similarly, the class
- is said to be thread-safe if the functions can be called by
- different threads on the same instance.
+ Hence, a \e{thread-safe} function is always \e{reentrant}, but a
+ \e{reentrant} function is not always \e{thread-safe}.
- Classes in the documentation will be documented as thread-safe only
- if they are intended to be used by multiple threads.
+ By extension, a class is said to be \e{reentrant} if its member
+ functions can be called safely from multiple threads, as long as
+ each thread uses a \e{different} instance of the class. The class
+ is \e{thread-safe} if its member functions can be called safely
+ from multiple threads, even if all the threads use the \e{same}
+ instance of the class.
- Note that the terminology in this domain isn't entirely
- standardized. POSIX uses a somewhat different definition of
- reentrancy and thread-safety for its C APIs. When dealing with an
- object-oriented C++ class library such as Qt, the definitions
- must be adapted.
-
- Most C++ classes are inherently reentrant, since they typically
- only reference member data. Any thread can call such a member
- function on an instance of the class, as long as no other thread
- is calling a member function on the same instance. For example,
- the \c Counter class below is reentrant:
+ C++ classes are often reentrant, simply because they only access
+ their own member data. Any thread can call a member function on an
+ instance of a reentrant class, as long as no other thread can call
+ a member function on the \e{same} instance of the class at the
+ same time. For example, the \c Counter class below is reentrant:
\snippet doc/src/snippets/threads/threads.cpp 3
\snippet doc/src/snippets/threads/threads.cpp 4
The class isn't thread-safe, because if multiple threads try to
modify the data member \c n, the result is undefined. This is
- because C++'s \c ++ and \c -- operators aren't necessarily
- atomic. Indeed, they usually expand to three machine
- instructions:
+ because the \c ++ and \c -- operators aren't always atomic.
+ Indeed, they usually expand to three machine instructions:
\list 1
\o Load the variable's value in a register.
@@ -332,14 +325,27 @@
declared with the \c mutable qualifier because we need to lock
and unlock the mutex in \c value(), which is a const function.
- Most Qt classes are reentrant and not thread-safe, to avoid the
- overhead of repeatedly locking and unlocking a QMutex. For
- example, QString is reentrant, meaning that you can use it in
- different threads, but you can't access the same QString object
- from different threads simultaneously (unless you protect it with
- a mutex yourself). A few classes and functions are thread-safe;
- these are mainly thread-related classes such as QMutex, or
- fundamental functions such as QCoreApplication::postEvent().
+ Many Qt classes are \e{reentrant}, but they are not made
+ \e{thread-safe}, because making them thread-safe would incur the
+ extra overhead of repeatedly locking and unlocking a QMutex. For
+ example, QString is reentrant but not thread-safe. You can safely
+ access \e{different} instances of QString from multiple threads
+ simultaneously, but you can't safely access the \e{same} instance
+ of QString from multiple threads simultaneously (unless you
+ protect the accesses yourself with a QMutex).
+
+ Some Qt classes and functions are thread-safe. These are mainly
+ the thread-related classes (e.g. QMutex) and fundamental functions
+ (e.g. QCoreApplication::postEvent()).
+
+ \note Qt Classes are only documented as \e{thread-safe} if they
+ are intended to be used by multiple threads.
+
+ \note Terminology in the multithreading domain isn't entirely
+ standardized. POSIX uses definitions of reentrant and thread-safe
+ that are somewhat different for its C APIs. When using other
+ object-oriented C++ class libraries with Qt, be sure the
+ definitions are understood.
\section1 Threads and QObjects
@@ -356,13 +362,12 @@
\section2 QObject Reentrancy
QObject is reentrant. Most of its non-GUI subclasses, such as
- QTimer, QTcpSocket, QUdpSocket, QHttp, QFtp, and QProcess, are
- also reentrant, making it possible to use these classes from
- multiple threads simultaneously. Note that these classes are
- designed to be created and used from within a single thread;
- creating an object in one thread and calling its functions from
- another thread is not guaranteed to work. There are three
- constraints to be aware of:
+ QTimer, QTcpSocket, QUdpSocket, QFtp, and QProcess, are also
+ reentrant, making it possible to use these classes from multiple
+ threads simultaneously. Note that these classes are designed to be
+ created and used from within a single thread; creating an object
+ in one thread and calling its functions from another thread is not
+ guaranteed to work. There are three constraints to be aware of:
\list
\o \e{The child of a QObject must always be created in the thread
@@ -428,20 +433,22 @@
an object and its children (the object cannot be moved if it has a
parent).
- Calling \c delete on a QObject from another thread than the
- thread where it is created (or accessing the object in other
- ways) is unsafe unless you can guarantee that the object isn't
- processing events at the same moment. Use QObject::deleteLater()
- instead; it will post a
- \l{QEvent::DeferredDelete}{DeferredDelete} event, which the
- event loop of the object's thread will eventually pick up.
+ Calling \c delete on a QObject from a thread other than the one
+ that \e owns the object (or accessing the object in other ways) is
+ unsafe, unless you guarantee that the object isn't processing
+ events at that moment. Use QObject::deleteLater() instead, and a
+ \l{QEvent::DeferredDelete}{DeferredDelete} event will be posted,
+ which the event loop of the object's thread will eventually pick
+ up. By default, the thread that \e owns a QObject is the thread
+ that \e creates the QObject, but not after QObject::moveToThread()
+ has been called.
If no event loop is running, events won't be delivered to the
- object. For example, if you create a QTimer object in a thread
- but never call \l{QThread::exec()}{exec()}, the QTimer will never emit its
- \l{QTimer::timeout()}{timeout()} signal. Calling
- \l{QObject::deleteLater()}{deleteLater()} won't work either. (These
- restrictions apply to the main thread as well.)
+ object. For example, if you create a QTimer object in a thread but
+ never call \l{QThread::exec()}{exec()}, the QTimer will never emit
+ its \l{QTimer::timeout()}{timeout()} signal. Calling
+ \l{QObject::deleteLater()}{deleteLater()} won't work
+ either. (These restrictions apply to the main thread as well.)
You can manually post events to any object in any thread at any
time using the thread-safe function
diff --git a/doc/src/topics.qdoc b/doc/src/topics.qdoc
index f6deaa5..0fe5c5f 100644
--- a/doc/src/topics.qdoc
+++ b/doc/src/topics.qdoc
@@ -150,18 +150,6 @@ These guides provide specific help about specific Qt-related topics.
*/
/*!
-\group licensing
-\title Licensing Information
-\ingroup topics
-\brief Information about licenses and licensing issues.
-
-These documents include information about Qt's licenses and the licenses
-of third party components used in Qt.
-
-\generatelist{related}
-*/
-
-/*!
\group platform-notes
\title Platform-Specific Notes
\ingroup topics
diff --git a/doc/src/trolltech-webpages.qdoc b/doc/src/trolltech-webpages.qdoc
index 7d48167..abbe4e0 100644
--- a/doc/src/trolltech-webpages.qdoc
+++ b/doc/src/trolltech-webpages.qdoc
@@ -165,11 +165,6 @@
*/
/*!
- \externalpage http://www.qtsoftware.com/developer/supported-platforms/supported-platforms/
- \title Qt 4 Supported Platforms
-*/
-
-/*!
\externalpage http://www.qtsoftware.com/products/qtopia/
\title Qt Extended
*/
@@ -243,3 +238,8 @@
\externalpage http://www.qtsoftware.com/developer/faqs/qt/installation
\title Installation FAQ
*/
+
+/*!
+ \externalpage http://qt.gitorious.org
+ \title Public Qt Repository
+*/
diff --git a/doc/src/tutorials/addressbook-fr.qdoc b/doc/src/tutorials/addressbook-fr.qdoc
index 78f6821..739f047 100644
--- a/doc/src/tutorials/addressbook-fr.qdoc
+++ b/doc/src/tutorials/addressbook-fr.qdoc
@@ -220,7 +220,7 @@
On remarque que le label \c AddressLabel est positionné en utilisant Qt::AlignTop
comme argument optionnel. Ceci est destiné à assurer qu'il ne sera pas centré
verticalement dans la cellule (1,0). Pour un aperçu rapide des layouts de Qt,
- consultez la section \l{Layout Classes}.
+ consultez la section \l{Layout Management}.
Afin d'installer l'objet layout dans un widget, il faut appeler la méthode
\l{QWidget::setLayout()}{setLayout()} du widget en question:
diff --git a/doc/src/tutorials/addressbook.qdoc b/doc/src/tutorials/addressbook.qdoc
index 2f6cec2..fd08bfe 100644
--- a/doc/src/tutorials/addressbook.qdoc
+++ b/doc/src/tutorials/addressbook.qdoc
@@ -222,8 +222,8 @@
Notice that \c addressLabel is positioned using Qt::AlignTop as an
additional argument. This is to make sure it is not vertically centered in
- cell (1,0). For a basic overview on Qt Layouts, refer to the \l{Layout Classes}
- document.
+ cell (1,0). For a basic overview on Qt Layouts, refer to the
+ \l{Layout Management} documentation.
In order to install the layout object onto the widget, we have to invoke
the widget's \l{QWidget::setLayout()}{setLayout()} function:
@@ -697,10 +697,11 @@
\snippet tutorials/addressbook/part5/finddialog.h FindDialog header
- We define a public function, \c getFindText() for use by classes that
- instantiate \c FindDialog, which allows them to obtain the text
- entered by the user. A public slot, \c findClicked(), is defined to
- handle the search string when the user clicks the \gui Find button.
+ We define a public function, \c getFindText(), to be used by classes that
+ instantiate \c FindDialog. This function allows these classes to obtain the
+ search string entered by the user. A public slot, \c findClicked(), is also
+ defined to handle the search string when the user clicks the \gui Find
+ button.
Lastly, we define the private variables, \c findButton, \c lineEdit
and \c findText, corresponding to the \gui Find button, the line edit
@@ -715,15 +716,15 @@
\snippet tutorials/addressbook/part5/finddialog.cpp constructor
- We set the layout and window title, as well as connect the signals
- to their respective slots. Notice that \c{findButton}'s
- \l{QPushButton::clicked()}{clicked()} signal is connected to to
- \c findClicked() and \l{QDialog::accept()}{accept()}. The
- \l{QDialog::accept()}{accept()} slot provided by QDialog hides
- the dialog and sets the result code to \l{QDialog::}{Accepted}.
- We use this function to help \c{AddressBook}'s \c findContact() function
- know when the \c FindDialog object has been closed. This will be
- further explained when discussing the \c findContact() function.
+ We set the layout and window title, as well as connect the signals to their
+ respective slots. Notice that \c{findButton}'s \l{QPushButton::clicked()}
+ {clicked()} signal is connected to to \c findClicked() and
+ \l{QDialog::accept()}{accept()}. The \l{QDialog::accept()}{accept()} slot
+ provided by QDialog hides the dialog and sets the result code to
+ \l{QDialog::}{Accepted}. We use this function to help \c{AddressBook}'s
+ \c findContact() function know when the \c FindDialog object has been
+ closed. We will explain this logic in further detail when discussing the
+ \c findContact() function.
\image addressbook-tutorial-part5-signals-and-slots.png
@@ -817,21 +818,23 @@
\image addressbook-tutorial-part6-screenshot.png
- Although browsing and searching for contacts are useful features, our address
- book is not really fully ready for use until we can saving existing contacts
- and load them again at a later time.
- Qt provides a number of classes for \l{Input/Output and Networking}{input and output},
- but we have chosen to use two which are simple to use in combination: QFile and
- QDataStream.
+ Although browsing and searching for contacts are useful features, our
+ address book is not ready for use until we can save existing contacts and
+ load them again at a later time.
- A QFile object represents a file on disk that can be read from and written to.
- QFile is a subclass of the more general QIODevice class which represents many
- different kinds of devices.
+ Qt provides a number of classes for \l{Input/Output and Networking}
+ {input and output}, but we have chosen to use two which are simple to use
+ in combination: QFile and QDataStream.
+
+ A QFile object represents a file on disk that can be read from and written
+ to. QFile is a subclass of the more general QIODevice class which
+ represents many different kinds of devices.
+
+ A QDataStream object is used to serialize binary data so that it can be
+ stored in a QIODevice and retrieved again later. Reading from a QIODevice
+ and writing to it is as simple as opening the stream - with the respective
+ device as a parameter - and reading from or writing to it.
- A QDataStream object is used to serialize binary data so that it can be stored
- in a QIODevice and retrieved again later. Reading from a QIODevice and writing
- to it is as simple as opening the stream - with the respective device as a
- parameter - and reading from or writing to it.
\section1 Defining the AddressBook Class
@@ -873,7 +876,7 @@
\image addressbook-tutorial-part6-save.png
- If \c fileName is not empty, we create a QFile object, \c file with
+ If \c fileName is not empty, we create a QFile object, \c file, with
\c fileName. QFile works with QDataStream as QFile is a QIODevice.
Next, we attempt to open the file in \l{QIODevice::}{WriteOnly} mode.
@@ -903,18 +906,18 @@
\image addressbook-tutorial-part6-load.png
If \c fileName is not empty, again, we use a QFile object, \c file, and
- attempt to open it in \l{QIODevice::}{ReadOnly} mode. In a similar way
- to our implementation of \c saveToFile(), if this attempt is unsuccessful,
- we display a QMessageBox to inform the user.
+ attempt to open it in \l{QIODevice::}{ReadOnly} mode. Similar to our
+ implementation of \c saveToFile(), if this attempt is unsuccessful, we
+ display a QMessageBox to inform the user.
\snippet tutorials/addressbook/part6/addressbook.cpp loadFromFile() function part2
Otherwise, we instantiate a QDataStream object, \c in, set its version as
above and read the serialized data into the \c contacts data structure.
- Note that we empty \c contacts before reading data into it to simplify the
- file reading process. A more advanced method would be to read the contacts
- into temporary QMap object, and copy only the contacts that do not already
- exist in \c contacts.
+ The \c contacts object is emptied before data is read into it to simplify
+ the file reading process. A more advanced method would be to read the
+ contacts into a temporary QMap object, and copy over non-duplicate contacts
+ into \c contacts.
\snippet tutorials/addressbook/part6/addressbook.cpp loadFromFile() function part3
diff --git a/examples/activeqt/dotnet/wrapper/lib/tools.cpp b/examples/activeqt/dotnet/wrapper/lib/tools.cpp
index 856b5c8..eac2d78 100644
--- a/examples/activeqt/dotnet/wrapper/lib/tools.cpp
+++ b/examples/activeqt/dotnet/wrapper/lib/tools.cpp
@@ -56,6 +56,6 @@ String *QStringToString(const QString &qstring)
QString StringToQString(String *string)
{
const wchar_t __pin *chars = PtrToStringChars(string);
- return QString::fromUtf16((const ushort *)chars);
+ return QString::fromWCharArray(chars);
}
//! [1]
diff --git a/examples/activeqt/webbrowser/main.cpp b/examples/activeqt/webbrowser/main.cpp
index ab14c0b..e83ef56 100644
--- a/examples/activeqt/webbrowser/main.cpp
+++ b/examples/activeqt/webbrowser/main.cpp
@@ -46,8 +46,8 @@
#include <QMainWindow>
#include <QAbstractEventDispatcher>
-#if defined(Q_OS_WINCE)
-#include "ui_wincemainwindow.h"
+#if defined(Q_WS_WINCE_WM)
+#include "ui_mainwindow_windowsmobile.h"
#include <windows.h>
#else
#include "ui_mainwindow.h"
diff --git a/examples/activeqt/webbrowser/wincemainwindow.ui b/examples/activeqt/webbrowser/mainwindow_windowsmobile.ui
index 98a9ddb..98a9ddb 100644
--- a/examples/activeqt/webbrowser/wincemainwindow.ui
+++ b/examples/activeqt/webbrowser/mainwindow_windowsmobile.ui
diff --git a/examples/activeqt/webbrowser/webbrowser.pro b/examples/activeqt/webbrowser/webbrowser.pro
index d6566cb6..c3e6e1e 100644
--- a/examples/activeqt/webbrowser/webbrowser.pro
+++ b/examples/activeqt/webbrowser/webbrowser.pro
@@ -7,7 +7,7 @@ QTDIR_build:REQUIRES = shared
HEADERS = webaxwidget.h
SOURCES = main.cpp
FORMS = mainwindow.ui
-wince*: FORMS = wincemainwindow.ui
+wincewm*: FORMS = mainwindow_windowsmobile.ui
# install
diff --git a/examples/animation/animatedtiles/main.cpp b/examples/animation/animatedtiles/main.cpp
index 9360d7c..c0d55f3 100644
--- a/examples/animation/animatedtiles/main.cpp
+++ b/examples/animation/animatedtiles/main.cpp
@@ -178,7 +178,7 @@ int main(int argc, char **argv)
QState *centeredState = new QState(rootState);
// Values
- for (int i = 0; i < 64; ++i) {
+ for (int i = 0; i < items.count(); ++i) {
Pixmap *item = items.at(i);
// Ellipse
ellipseState->assignProperty(item, "pos",
@@ -219,7 +219,7 @@ int main(int argc, char **argv)
rootState->setInitialState(centeredState);
QParallelAnimationGroup *group = new QParallelAnimationGroup;
- for (int i = 0; i < 64; ++i) {
+ for (int i = 0; i < items.count(); ++i) {
QPropertyAnimation *anim = new QPropertyAnimation(items[i], "pos");
anim->setDuration(750 + i * 25);
anim->setEasingCurve(QEasingCurve::InOutBack);
@@ -229,7 +229,7 @@ int main(int argc, char **argv)
trans->addAnimation(group);
group = new QParallelAnimationGroup;
- for (int i = 0; i < 64; ++i) {
+ for (int i = 0; i < items.count(); ++i) {
QPropertyAnimation *anim = new QPropertyAnimation(items[i], "pos");
anim->setDuration(750 + i * 25);
anim->setEasingCurve(QEasingCurve::InOutBack);
@@ -239,7 +239,7 @@ int main(int argc, char **argv)
trans->addAnimation(group);
group = new QParallelAnimationGroup;
- for (int i = 0; i < 64; ++i) {
+ for (int i = 0; i < items.count(); ++i) {
QPropertyAnimation *anim = new QPropertyAnimation(items[i], "pos");
anim->setDuration(750 + i * 25);
anim->setEasingCurve(QEasingCurve::InOutBack);
@@ -249,7 +249,7 @@ int main(int argc, char **argv)
trans->addAnimation(group);
group = new QParallelAnimationGroup;
- for (int i = 0; i < 64; ++i) {
+ for (int i = 0; i < items.count(); ++i) {
QPropertyAnimation *anim = new QPropertyAnimation(items[i], "pos");
anim->setDuration(750 + i * 25);
anim->setEasingCurve(QEasingCurve::InOutBack);
@@ -259,7 +259,7 @@ int main(int argc, char **argv)
trans->addAnimation(group);
group = new QParallelAnimationGroup;
- for (int i = 0; i < 64; ++i) {
+ for (int i = 0; i < items.count(); ++i) {
QPropertyAnimation *anim = new QPropertyAnimation(items[i], "pos");
anim->setDuration(750 + i * 25);
anim->setEasingCurve(QEasingCurve::InOutBack);
diff --git a/examples/animation/animation.pro b/examples/animation/animation.pro
index 9a2874b..c72c532 100644
--- a/examples/animation/animation.pro
+++ b/examples/animation/animation.pro
@@ -7,7 +7,6 @@ SUBDIRS += \
moveblocks \
states \
stickman \
- sub-attaq
# install
target.path = $$[QT_INSTALL_EXAMPLES]/animation
diff --git a/examples/animation/appchooser/main.cpp b/examples/animation/appchooser/main.cpp
index fe4be1f..97751b2 100644
--- a/examples/animation/appchooser/main.cpp
+++ b/examples/animation/appchooser/main.cpp
@@ -134,7 +134,7 @@ int main(int argc, char **argv)
QStateMachine machine;
machine.setGlobalRestorePolicy(QStateMachine::RestoreProperties);
- QState *group = new QState(machine.rootState());
+ QState *group = new QState(&machine);
group->setObjectName("group");
QRect selectedRect(86, 86, 128, 128);
diff --git a/examples/animation/moveblocks/main.cpp b/examples/animation/moveblocks/main.cpp
index c43e841..97d3f81 100644
--- a/examples/animation/moveblocks/main.cpp
+++ b/examples/animation/moveblocks/main.cpp
@@ -108,8 +108,7 @@ class StateSwitcher : public QState
Q_OBJECT
public:
StateSwitcher(QStateMachine *machine)
- : QState(machine->rootState()), m_machine(machine),
- m_stateCount(0), m_lastIndex(0)
+ : QState(machine), m_stateCount(0), m_lastIndex(0)
{ }
//![10]
@@ -120,7 +119,7 @@ public:
while ((n = (qrand() % m_stateCount + 1)) == m_lastIndex)
{ }
m_lastIndex = n;
- m_machine->postEvent(new StateSwitchEvent(n));
+ machine()->postEvent(new StateSwitchEvent(n));
}
virtual void onExit(QEvent *) {}
//![11]
@@ -135,7 +134,6 @@ public:
//![12]
private:
- QStateMachine *m_machine;
int m_stateCount;
int m_lastIndex;
};
diff --git a/examples/animation/states/main.cpp b/examples/animation/states/main.cpp
index b3c28f2..99e04c3 100644
--- a/examples/animation/states/main.cpp
+++ b/examples/animation/states/main.cpp
@@ -124,10 +124,9 @@ int main(int argc, char *argv[])
scene.addItem(p6);
QStateMachine machine;
- QState *root = machine.rootState();
- QState *state1 = new QState(root);
- QState *state2 = new QState(root);
- QState *state3 = new QState(root);
+ QState *state1 = new QState(&machine);
+ QState *state2 = new QState(&machine);
+ QState *state3 = new QState(&machine);
machine.setInitialState(state1);
// State 1
diff --git a/examples/animation/stickman/editor/animationdialog.cpp b/examples/animation/stickman/editor/animationdialog.cpp
deleted file mode 100644
index 853046d..0000000
--- a/examples/animation/stickman/editor/animationdialog.cpp
+++ /dev/null
@@ -1,192 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtCore module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "animationdialog.h"
-#include "stickman.h"
-#include "animation.h"
-#include "node.h"
-
-#include <QHBoxLayout>
-#include <QStackedWidget>
-#include <QSpinBox>
-#include <QPushButton>
-#include <QLabel>
-#include <QLineEdit>
-#include <QMessageBox>
-#include <QFileDialog>
-
-AnimationDialog::AnimationDialog(StickMan *stickman, QWidget *parent)
- : QDialog(parent), m_animation(0), m_stickman(stickman)
-{
- initUi();
-}
-
-AnimationDialog::~AnimationDialog()
-{
- delete m_animation;
-}
-
-void AnimationDialog::initUi()
-{
- setWindowTitle("Animation");
- setEnabled(false);
-
- // Second page
- m_currentFrame = new QSpinBox();
- m_totalFrames = new QSpinBox();
- m_name = new QLineEdit();
-
- connect(m_currentFrame, SIGNAL(valueChanged(int)), this, SLOT(currentFrameChanged(int)));
- connect(m_totalFrames, SIGNAL(valueChanged(int)), this, SLOT(totalFramesChanged(int)));
- connect(m_name, SIGNAL(textChanged(QString)), this, SLOT(setCurrentAnimationName(QString)));
-
- QGridLayout *gridLayout = new QGridLayout(this);
- gridLayout->addWidget(new QLabel("Name:"), 0, 0, 1, 2);
- gridLayout->addWidget(m_name, 0, 2, 1, 2);
- gridLayout->addWidget(new QLabel("Frame:"), 1, 0);
- gridLayout->addWidget(m_currentFrame, 1, 1);
- gridLayout->addWidget(new QLabel("of total # of frames: "), 1, 2);
- gridLayout->addWidget(m_totalFrames, 1, 3);
-}
-
-void AnimationDialog::initFromAnimation()
-{
- m_currentFrame->setRange(0, m_animation->totalFrames()-1);
- m_currentFrame->setValue(m_animation->currentFrame());
-
- m_totalFrames->setRange(1, 1000);
- m_totalFrames->setValue(m_animation->totalFrames());
-
- m_name->setText(m_animation->name());
-}
-
-void AnimationDialog::saveAnimation()
-{
- saveCurrentFrame();
-
- QString fileName = QFileDialog::getSaveFileName(this, "Save animation");
-
- QFile file(fileName);
- if (file.open(QIODevice::WriteOnly))
- m_animation->save(&file);
-}
-
-void AnimationDialog::loadAnimation()
-{
- if (maybeSave() != QMessageBox::Cancel) {
- QString fileName = QFileDialog::getOpenFileName(this, "Open animation");
-
- QFile file(fileName);
- if (file.open(QIODevice::ReadOnly)) {
- if (m_animation == 0)
- newAnimation();
-
- m_animation->load(&file);
- stickManFromCurrentFrame();
- initFromAnimation();
- }
- }
-}
-
-QMessageBox::StandardButton AnimationDialog::maybeSave()
-{
- if (m_animation == 0)
- return QMessageBox::No;
-
- QMessageBox::StandardButton button = QMessageBox::question(this, "Save?", "Do you want to save your changes?",
- QMessageBox::Save | QMessageBox::Discard | QMessageBox::Cancel);
- if (button == QMessageBox::Save)
- saveAnimation();
-
- return button;
-}
-
-void AnimationDialog::newAnimation()
-{
- if (maybeSave() != QMessageBox::Cancel) {
- setEnabled(true);
- delete m_animation;
- m_animation = new Animation();
- initFromAnimation();
- }
-}
-
-// Gets the data from the stickman and stores it in current frame
-void AnimationDialog::saveCurrentFrame()
-{
- int count = m_stickman->nodeCount();
- m_animation->setNodeCount(count);
- for (int i=0; i<count; ++i) {
- QGraphicsItem *node = m_stickman->node(i);
- m_animation->setNodePos(i, node->pos());
- }
-}
-
-// Gets the data from the current frame and sets the stickman
-void AnimationDialog::stickManFromCurrentFrame()
-{
- int count = m_animation->nodeCount();
- for (int i=0;i<count;++i) {
- QGraphicsItem *node = m_stickman->node(i);
- node->setPos(m_animation->nodePos(i));
- }
-}
-
-void AnimationDialog::currentFrameChanged(int currentFrame)
-{
- saveCurrentFrame();
- qDebug("currentFrame: %d", currentFrame);
- m_animation->setCurrentFrame(currentFrame);
- stickManFromCurrentFrame();
- initFromAnimation();
-}
-
-void AnimationDialog::totalFramesChanged(int totalFrames)
-{
- m_animation->setTotalFrames(totalFrames);
- stickManFromCurrentFrame();
- initFromAnimation();
-}
-
-void AnimationDialog::setCurrentAnimationName(const QString &name)
-{
- m_animation->setName(name);
-}
diff --git a/examples/animation/stickman/editor/animationdialog.h b/examples/animation/stickman/editor/animationdialog.h
deleted file mode 100644
index 293f0d4..0000000
--- a/examples/animation/stickman/editor/animationdialog.h
+++ /dev/null
@@ -1,84 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtCore module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef ANIMATIONDIALOG_H
-#define ANIMATIONDIALOG_H
-
-#include <QDialog>
-#include <QMessageBox>
-
-QT_BEGIN_NAMESPACE
-class QSpinBox;
-class QLineEdit;
-QT_END_NAMESPACE
-class StickMan;
-class Animation;
-class AnimationDialog: public QDialog
-{
- Q_OBJECT
-public:
- AnimationDialog(StickMan *stickMan, QWidget *parent = 0);
- ~AnimationDialog();
-
-public slots:
- void currentFrameChanged(int currentFrame);
- void totalFramesChanged(int totalFrames);
- void setCurrentAnimationName(const QString &name);
-
- void newAnimation();
- void saveAnimation();
- void loadAnimation();
-
-private:
- void saveCurrentFrame();
- void stickManFromCurrentFrame();
- void initFromAnimation();
- void initUi();
- QMessageBox::StandardButton maybeSave();
-
- QSpinBox *m_currentFrame;
- QSpinBox *m_totalFrames;
- QLineEdit *m_name;
- Animation *m_animation;
- StickMan *m_stickman;
-};
-
-#endif
diff --git a/examples/animation/stickman/editor/editor.pri b/examples/animation/stickman/editor/editor.pri
deleted file mode 100644
index 7ad9edb..0000000
--- a/examples/animation/stickman/editor/editor.pri
+++ /dev/null
@@ -1,2 +0,0 @@
-SOURCES += $$PWD/animationdialog.cpp $$PWD/mainwindow.cpp
-HEADERS += $$PWD/animationdialog.h $$PWD/mainwindow.h
diff --git a/examples/animation/stickman/editor/mainwindow.cpp b/examples/animation/stickman/editor/mainwindow.cpp
deleted file mode 100644
index e1d08cc..0000000
--- a/examples/animation/stickman/editor/mainwindow.cpp
+++ /dev/null
@@ -1,76 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtCore module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "mainwindow.h"
-#include "animationdialog.h"
-#include "stickman.h"
-
-#include <QMenuBar>
-#include <QApplication>
-
-MainWindow::MainWindow(StickMan *stickMan)
-{
- initActions(stickMan);
-}
-
-MainWindow::~MainWindow()
-{
-}
-
-void MainWindow::initActions(StickMan *stickMan)
-{
- AnimationDialog *dialog = new AnimationDialog(stickMan, this);
- dialog->show();
-
- QMenu *fileMenu = menuBar()->addMenu("&File");
- QAction *loadAction = fileMenu->addAction("&Open");
- QAction *saveAction = fileMenu->addAction("&Save");
- QAction *exitAction = fileMenu->addAction("E&xit");
-
- QMenu *animationMenu = menuBar()->addMenu("&Animation");
- QAction *newAnimationAction = animationMenu->addAction("&New animation");
-
- connect(loadAction, SIGNAL(triggered()), dialog, SLOT(loadAnimation()));
- connect(saveAction, SIGNAL(triggered()), dialog, SLOT(saveAnimation()));
- connect(exitAction, SIGNAL(triggered()), QApplication::instance(), SLOT(quit()));
- connect(newAnimationAction, SIGNAL(triggered()), dialog, SLOT(newAnimation()));
-
-}
diff --git a/examples/animation/stickman/editor/mainwindow.h b/examples/animation/stickman/editor/mainwindow.h
deleted file mode 100644
index ef122d9..0000000
--- a/examples/animation/stickman/editor/mainwindow.h
+++ /dev/null
@@ -1,58 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtCore module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef MAINWINDOW_H
-#define MAINWINDOW_H
-
-#include <QMainWindow>
-
-class StickMan;
-class MainWindow: public QMainWindow
-{
-public:
- MainWindow(StickMan *stickMan);
- ~MainWindow();
-
-private:
- void initActions(StickMan *stickMan);
-};
-
-#endif
diff --git a/examples/animation/stickman/graphicsview.cpp b/examples/animation/stickman/graphicsview.cpp
index 760c31b..89f2430 100644
--- a/examples/animation/stickman/graphicsview.cpp
+++ b/examples/animation/stickman/graphicsview.cpp
@@ -40,7 +40,6 @@
****************************************************************************/
#include "graphicsview.h"
-#include "editor/mainwindow.h"
#include "stickman.h"
#include <QtGui/QKeyEvent>
@@ -53,28 +52,6 @@ void GraphicsView::keyPressEvent(QKeyEvent *e)
{
if (e->key() == Qt::Key_Escape)
close();
-
-#if 0
- if (e->key() == Qt::Key_F1) {
- if (m_editor == 0) {
- QGraphicsScene *scene = new QGraphicsScene;
- StickMan *stickMan = new StickMan;
- stickMan->setDrawSticks(true);
- scene->addItem(stickMan);
-
- QGraphicsView *view = new QGraphicsView;
- view->setBackgroundBrush(Qt::black);
- view->setRenderHints(QPainter::Antialiasing);
- view->setScene(scene);
-
- m_editor = new MainWindow(stickMan);
- m_editor->setCentralWidget(view);
- }
-
- m_editor->showMaximized();
- }
-#endif
-
emit keyPressed(Qt::Key(e->key()));
}
diff --git a/examples/animation/stickman/lifecycle.cpp b/examples/animation/stickman/lifecycle.cpp
index 2a54c82..700916d 100644
--- a/examples/animation/stickman/lifecycle.cpp
+++ b/examples/animation/stickman/lifecycle.cpp
@@ -56,8 +56,9 @@ public:
{
}
KeyPressTransition(GraphicsView *receiver, Qt::Key key, QAbstractState *target)
- : QSignalTransition(receiver, SIGNAL(keyPressed(int)), QList<QAbstractState*>() << target), m_key(key)
+ : QSignalTransition(receiver, SIGNAL(keyPressed(int))), m_key(key)
{
+ setTargetState(target);
}
virtual bool eventTest(QEvent *e)
@@ -78,8 +79,9 @@ class LightningStrikesTransition: public QEventTransition
{
public:
LightningStrikesTransition(QAbstractState *target)
- : QEventTransition(this, QEvent::Timer, QList<QAbstractState*>() << target)
+ : QEventTransition(this, QEvent::Timer)
{
+ setTargetState(target);
qsrand((uint)QDateTime::currentDateTime().toTime_t());
startTimer(1000);
}
@@ -108,11 +110,11 @@ LifeCycle::LifeCycle(StickMan *stickMan, GraphicsView *keyReceiver)
m_machine->addDefaultAnimation(m_animationGroup);
//! [3]
- m_alive = new QState(m_machine->rootState());
+ m_alive = new QState(m_machine);
m_alive->setObjectName("alive");
// Make it blink when lightning strikes before entering dead animation
- QState *lightningBlink = new QState(m_machine->rootState());
+ QState *lightningBlink = new QState(m_machine);
lightningBlink->assignProperty(m_stickMan->scene(), "backgroundBrush", Qt::white);
lightningBlink->assignProperty(m_stickMan, "penColor", Qt::black);
lightningBlink->assignProperty(m_stickMan, "fillColor", Qt::white);
@@ -126,7 +128,7 @@ LifeCycle::LifeCycle(StickMan *stickMan, GraphicsView *keyReceiver)
QObject::connect(lightningBlink, SIGNAL(exited()), timer, SLOT(stop()));
//! [5]
- m_dead = new QState(m_machine->rootState());
+ m_dead = new QState(m_machine);
m_dead->assignProperty(m_stickMan->scene(), "backgroundBrush", Qt::black);
m_dead->assignProperty(m_stickMan, "penColor", Qt::white);
m_dead->assignProperty(m_stickMan, "fillColor", Qt::black);
diff --git a/examples/animation/stickman/stickman.pro b/examples/animation/stickman/stickman.pro
index 1dbbce9..7f8be33 100644
--- a/examples/animation/stickman/stickman.pro
+++ b/examples/animation/stickman/stickman.pro
@@ -12,8 +12,6 @@ SOURCES += main.cpp \
INCLUDEPATH += $$PWD
-include(editor/editor.pri)
-
# install
target.path = $$[QT_INSTALL_EXAMPLES]/animation/stickman
sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS stickman.pro
diff --git a/examples/animation/sub-attaq/boat.cpp b/examples/animation/sub-attaq/boat.cpp
deleted file mode 100644
index d286be5..0000000
--- a/examples/animation/sub-attaq/boat.cpp
+++ /dev/null
@@ -1,318 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtCore module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//Own
-#include "boat.h"
-#include "boat_p.h"
-#include "bomb.h"
-#include "pixmapitem.h"
-#include "graphicsscene.h"
-#include "animationmanager.h"
-#include "custompropertyanimation.h"
-#include "qanimationstate.h"
-
-//Qt
-#include <QtCore/QPropertyAnimation>
-#include <QtCore/QStateMachine>
-#include <QtCore/QHistoryState>
-#include <QtCore/QFinalState>
-#include <QtCore/QState>
-#include <QtCore/QSequentialAnimationGroup>
-
-static QAbstractAnimation *setupDestroyAnimation(Boat *boat)
-{
- QSequentialAnimationGroup *group = new QSequentialAnimationGroup(boat);
-#if QT_VERSION >=0x040500
- PixmapItem *step1 = new PixmapItem(QString("explosion/boat/step1"),GraphicsScene::Big, boat);
- step1->setZValue(6);
- PixmapItem *step2 = new PixmapItem(QString("explosion/boat/step2"),GraphicsScene::Big, boat);
- step2->setZValue(6);
- PixmapItem *step3 = new PixmapItem(QString("explosion/boat/step3"),GraphicsScene::Big, boat);
- step3->setZValue(6);
- PixmapItem *step4 = new PixmapItem(QString("explosion/boat/step4"),GraphicsScene::Big, boat);
- step4->setZValue(6);
- step1->setOpacity(0);
- step2->setOpacity(0);
- step3->setOpacity(0);
- step4->setOpacity(0);
- CustomPropertyAnimation *anim1 = new CustomPropertyAnimation(boat);
- anim1->setMemberFunctions((QGraphicsItem*)step1, &QGraphicsItem::opacity, &QGraphicsItem::setOpacity);
- anim1->setDuration(100);
- anim1->setEndValue(1);
- CustomPropertyAnimation *anim2 = new CustomPropertyAnimation(boat);
- anim2->setMemberFunctions((QGraphicsItem*)step2, &QGraphicsItem::opacity, &QGraphicsItem::setOpacity);
- anim2->setDuration(100);
- anim2->setEndValue(1);
- CustomPropertyAnimation *anim3 = new CustomPropertyAnimation(boat);
- anim3->setMemberFunctions((QGraphicsItem*)step3, &QGraphicsItem::opacity, &QGraphicsItem::setOpacity);
- anim3->setDuration(100);
- anim3->setEndValue(1);
- CustomPropertyAnimation *anim4 = new CustomPropertyAnimation(boat);
- anim4->setMemberFunctions((QGraphicsItem*)step4, &QGraphicsItem::opacity, &QGraphicsItem::setOpacity);
- anim4->setDuration(100);
- anim4->setEndValue(1);
- CustomPropertyAnimation *anim5 = new CustomPropertyAnimation(boat);
- anim5->setMemberFunctions((QGraphicsItem*)step1, &QGraphicsItem::opacity, &QGraphicsItem::setOpacity);
- anim5->setDuration(100);
- anim5->setEndValue(0);
- CustomPropertyAnimation *anim6 = new CustomPropertyAnimation(boat);
- anim6->setMemberFunctions((QGraphicsItem*)step2, &QGraphicsItem::opacity, &QGraphicsItem::setOpacity);
- anim6->setDuration(100);
- anim6->setEndValue(0);
- CustomPropertyAnimation *anim7 = new CustomPropertyAnimation(boat);
- anim7->setMemberFunctions((QGraphicsItem*)step3, &QGraphicsItem::opacity, &QGraphicsItem::setOpacity);
- anim7->setDuration(100);
- anim7->setEndValue(0);
- CustomPropertyAnimation *anim8 = new CustomPropertyAnimation(boat);
- anim8->setMemberFunctions((QGraphicsItem*)step4, &QGraphicsItem::opacity, &QGraphicsItem::setOpacity);
- anim8->setDuration(100);
- anim8->setEndValue(0);
- group->addAnimation(anim1);
- group->addAnimation(anim2);
- group->addAnimation(anim3);
- group->addAnimation(anim4);
- group->addAnimation(anim5);
- group->addAnimation(anim6);
- group->addAnimation(anim7);
- group->addAnimation(anim8);
-#else
- // work around for a bug where we don't transition if the duration is zero.
- QtPauseAnimation *anim = new QtPauseAnimation(group);
- anim->setDuration(1);
- group->addAnimation(anim);
-#endif
- AnimationManager::self()->registerAnimation(group);
- return group;
-}
-
-
-
-Boat::Boat(QGraphicsItem * parent, Qt::WindowFlags wFlags)
- : QGraphicsWidget(parent,wFlags), speed(0), bombsAlreadyLaunched(0), direction(Boat::None), movementAnimation(0)
-{
- pixmapItem = new PixmapItem(QString("boat"),GraphicsScene::Big, this);
- setZValue(4);
- setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
- setFlags(QGraphicsItem::ItemIsMovable | QGraphicsItem::ItemIsFocusable);
- resize(pixmapItem->boundingRect().size());
-
- //The movement animation used to animate the boat
- movementAnimation = new QPropertyAnimation(this, "pos");
-
- //The movement animation used to animate the boat
- destroyAnimation = setupDestroyAnimation(this);
-
- //We setup the state machien of the boat
- machine = new QStateMachine(this);
- QState *moving = new QState(machine->rootState());
- StopState *stopState = new StopState(this, moving);
- machine->setInitialState(moving);
- moving->setInitialState(stopState);
- MoveStateRight *moveStateRight = new MoveStateRight(this, moving);
- MoveStateLeft *moveStateLeft = new MoveStateLeft(this, moving);
- LaunchStateRight *launchStateRight = new LaunchStateRight(this, machine->rootState());
- LaunchStateLeft *launchStateLeft = new LaunchStateLeft(this, machine->rootState());
-
- //then setup the transitions for the rightMove state
- KeyStopTransition *leftStopRight = new KeyStopTransition(this, QEvent::KeyPress, Qt::Key_Left);
- leftStopRight->setTargetState(stopState);
- KeyMoveTransition *leftMoveRight = new KeyMoveTransition(this, QEvent::KeyPress, Qt::Key_Left);
- leftMoveRight->setTargetState(moveStateRight);
- KeyMoveTransition *rightMoveRight = new KeyMoveTransition(this, QEvent::KeyPress, Qt::Key_Right);
- rightMoveRight->setTargetState(moveStateRight);
- KeyMoveTransition *rightMoveStop = new KeyMoveTransition(this, QEvent::KeyPress, Qt::Key_Right);
- rightMoveStop->setTargetState(moveStateRight);
-
- //then setup the transitions for the leftMove state
- KeyStopTransition *rightStopLeft = new KeyStopTransition(this, QEvent::KeyPress, Qt::Key_Right);
- rightStopLeft->setTargetState(stopState);
- KeyMoveTransition *rightMoveLeft = new KeyMoveTransition(this, QEvent::KeyPress, Qt::Key_Right);
- rightMoveLeft->setTargetState(moveStateLeft);
- KeyMoveTransition *leftMoveLeft = new KeyMoveTransition(this, QEvent::KeyPress,Qt::Key_Left);
- leftMoveLeft->setTargetState(moveStateLeft);
- KeyMoveTransition *leftMoveStop = new KeyMoveTransition(this, QEvent::KeyPress,Qt::Key_Left);
- leftMoveStop->setTargetState(moveStateLeft);
-
- //We set up the right move state
- moveStateRight->addTransition(leftStopRight);
- moveStateRight->addTransition(leftMoveRight);
- moveStateRight->addTransition(rightMoveRight);
- stopState->addTransition(rightMoveStop);
-
- //We set up the left move state
- moveStateLeft->addTransition(rightStopLeft);
- moveStateLeft->addTransition(leftMoveLeft);
- moveStateLeft->addTransition(rightMoveLeft);
- stopState->addTransition(leftMoveStop);
-
- //The animation is finished, it means we reached the border of the screen, the boat is stopped so we move to the stop state
- moveStateLeft->addTransition(movementAnimation, SIGNAL(finished()), stopState);
- moveStateRight->addTransition(movementAnimation, SIGNAL(finished()), stopState);
-
- //We set up the keys for dropping bombs
- KeyLaunchTransition *upFireLeft = new KeyLaunchTransition(this, QEvent::KeyPress, Qt::Key_Up);
- upFireLeft->setTargetState(launchStateRight);
- KeyLaunchTransition *upFireRight = new KeyLaunchTransition(this, QEvent::KeyPress, Qt::Key_Up);
- upFireRight->setTargetState(launchStateRight);
- KeyLaunchTransition *upFireStop = new KeyLaunchTransition(this, QEvent::KeyPress, Qt::Key_Up);
- upFireStop->setTargetState(launchStateRight);
- KeyLaunchTransition *downFireLeft = new KeyLaunchTransition(this, QEvent::KeyPress, Qt::Key_Down);
- downFireLeft->setTargetState(launchStateLeft);
- KeyLaunchTransition *downFireRight = new KeyLaunchTransition(this, QEvent::KeyPress, Qt::Key_Down);
- downFireRight->setTargetState(launchStateLeft);
- KeyLaunchTransition *downFireMove = new KeyLaunchTransition(this, QEvent::KeyPress, Qt::Key_Down);
- downFireMove->setTargetState(launchStateLeft);
-
- //We set up transitions for fire up
- moveStateRight->addTransition(upFireRight);
- moveStateLeft->addTransition(upFireLeft);
- stopState->addTransition(upFireStop);
-
- //We set up transitions for fire down
- moveStateRight->addTransition(downFireRight);
- moveStateLeft->addTransition(downFireLeft);
- stopState->addTransition(downFireMove);
-
- //Finally the launch state should come back to its original state
- QHistoryState *historyState = new QHistoryState(moving);
- launchStateLeft->addTransition(historyState);
- launchStateRight->addTransition(historyState);
-
- QFinalState *final = new QFinalState(machine->rootState());
-
- //This state play the destroyed animation
- QAnimationState *destroyedState = new QAnimationState(machine->rootState());
- destroyedState->setAnimation(destroyAnimation);
-
- //Play a nice animation when the boat is destroyed
- moving->addTransition(this, SIGNAL(boatDestroyed()),destroyedState);
-
- //Transition to final state when the destroyed animation is finished
- destroyedState->addTransition(destroyedState, SIGNAL(animationFinished()), final);
-
- //The machine has finished to be executed, then the boat is dead
- connect(machine,SIGNAL(finished()),this, SIGNAL(boatExecutionFinished()));
-
-}
-
-void Boat::run()
-{
- //We register animations
- AnimationManager::self()->registerAnimation(movementAnimation);
- AnimationManager::self()->registerAnimation(destroyAnimation);
- machine->start();
-}
-
-void Boat::stop()
-{
- movementAnimation->stop();
- machine->stop();
-}
-
-void Boat::updateBoatMovement()
-{
- if (speed == 0 || direction == Boat::None) {
- movementAnimation->stop();
- return;
- }
-
- movementAnimation->stop();
- movementAnimation->setStartValue(pos());
-
- if (direction == Boat::Left) {
- movementAnimation->setEndValue(QPointF(0,y()));
- movementAnimation->setDuration(x()/speed*15);
- }
- else /*if (direction == Boat::Right)*/ {
- movementAnimation->setEndValue(QPointF(scene()->width()-size().width(),y()));
- movementAnimation->setDuration((scene()->width()-size().width()-x())/speed*15);
- }
- movementAnimation->start();
-}
-
-void Boat::destroy()
-{
- movementAnimation->stop();
- emit boatDestroyed();
-}
-
-int Boat::bombsLaunched() const
-{
- return bombsAlreadyLaunched;
-}
-
-void Boat::setBombsLaunched(int number)
-{
- if (number > MAX_BOMB) {
- qWarning("Boat::setBombsLaunched : It impossible to launch that number of bombs");
- return;
- }
- bombsAlreadyLaunched = number;
-}
-
-int Boat::currentSpeed() const
-{
- return speed;
-}
-
-void Boat::setCurrentSpeed(int speed)
-{
- if (speed > 3 || speed < 0) {
- qWarning("Boat::setCurrentSpeed: The boat can't run on that speed");
- return;
- }
- this->speed = speed;
-}
-
-enum Boat::Movement Boat::currentDirection() const
-{
- return direction;
-}
-
-void Boat::setCurrentDirection(Movement direction)
-{
- this->direction = direction;
-}
-
-int Boat::type() const
-{
- return Type;
-}
diff --git a/examples/animation/sub-attaq/bomb.cpp b/examples/animation/sub-attaq/bomb.cpp
deleted file mode 100644
index 454970a..0000000
--- a/examples/animation/sub-attaq/bomb.cpp
+++ /dev/null
@@ -1,124 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtCore module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//Own
-#include "bomb.h"
-#include "submarine.h"
-#include "pixmapitem.h"
-#include "animationmanager.h"
-#include "qanimationstate.h"
-
-//Qt
-#include <QtCore/QSequentialAnimationGroup>
-#include <QtCore/QPropertyAnimation>
-#include <QtCore/QStateMachine>
-#include <QtCore/QFinalState>
-
-Bomb::Bomb(QGraphicsItem * parent, Qt::WindowFlags wFlags)
- : QGraphicsWidget(parent,wFlags), launchAnimation(0)
-{
- pixmapItem = new PixmapItem(QString("bomb"),GraphicsScene::Big, this);
- setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
- setFlags(QGraphicsItem::ItemIsMovable);
- setZValue(2);
- resize(pixmapItem->boundingRect().size());
-}
-
-void Bomb::launch(Bomb::Direction direction)
-{
- launchAnimation = new QSequentialAnimationGroup();
- AnimationManager::self()->registerAnimation(launchAnimation);
- qreal delta = direction == Right ? 20 : - 20;
- QPropertyAnimation *anim = new QPropertyAnimation(this, "pos");
- anim->setEndValue(QPointF(x() + delta,y() - 20));
- anim->setDuration(150);
- launchAnimation->addAnimation(anim);
- anim = new QPropertyAnimation(this, "pos");
- anim->setEndValue(QPointF(x() + delta*2, y() ));
- anim->setDuration(150);
- launchAnimation->addAnimation(anim);
- anim = new QPropertyAnimation(this, "pos");
- anim->setEndValue(QPointF(x() + delta*2,scene()->height()));
- anim->setDuration(y()/2*60);
- launchAnimation->addAnimation(anim);
- connect(anim,SIGNAL(valueChanged(const QVariant &)),this,SLOT(onAnimationLaunchValueChanged(const QVariant &)));
-
- //We setup the state machine of the bomb
- QStateMachine *machine = new QStateMachine(this);
-
- //This state is when the launch animation is playing
- QAnimationState *launched = new QAnimationState(machine->rootState());
- launched->setAnimation(launchAnimation);
-
- //End
- QFinalState *final = new QFinalState(machine->rootState());
-
- machine->setInitialState(launched);
-
- //### Add a nice animation when the bomb is destroyed
- launched->addTransition(this, SIGNAL(bombExplosed()),final);
-
- //If the animation is finished, then we move to the final state
- launched->addTransition(launched, SIGNAL(animationFinished()), final);
-
- //The machine has finished to be executed, then the boat is dead
- connect(machine,SIGNAL(finished()),this, SIGNAL(bombExecutionFinished()));
-
- machine->start();
-
-}
-
-void Bomb::onAnimationLaunchValueChanged(const QVariant &)
-{
- foreach (QGraphicsItem * item , collidingItems(Qt::IntersectsItemBoundingRect)) {
- if (item->type() == SubMarine::Type) {
- SubMarine *s = static_cast<SubMarine *>(item);
- destroy();
- s->destroy();
- }
- }
-}
-
-void Bomb::destroy()
-{
- launchAnimation->stop();
- emit bombExplosed();
-}
diff --git a/examples/animation/sub-attaq/custompropertyanimation.cpp b/examples/animation/sub-attaq/custompropertyanimation.cpp
deleted file mode 100644
index 9282f42..0000000
--- a/examples/animation/sub-attaq/custompropertyanimation.cpp
+++ /dev/null
@@ -1,108 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtCore module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "custompropertyanimation.h"
-
-// Qt
-#include <QtCore/qdebug.h>
-
-CustomPropertyAnimation::CustomPropertyAnimation(QObject *parent) :
- QVariantAnimation(parent), animProp(0)
-{
-}
-
-CustomPropertyAnimation::~CustomPropertyAnimation()
-{
-}
-
-void CustomPropertyAnimation::setProperty(AbstractProperty *_animProp)
-{
- if (animProp == _animProp)
- return;
- delete animProp;
- animProp = _animProp;
-}
-
-/*!
- \reimp
- */
-void CustomPropertyAnimation::updateCurrentValue(const QVariant &value)
-{
- if (!animProp || state() == QAbstractAnimation::Stopped)
- return;
-
- animProp->write(value);
-}
-
-
-/*!
- \reimp
-*/
-void CustomPropertyAnimation::updateState(QAbstractAnimation::State oldState, QAbstractAnimation::State newState)
-{
- // Initialize start value
- if (oldState == QAbstractAnimation::Stopped) {
- if (!animProp)
- return;
- QVariant def = animProp->read();
- if (def.isValid()) {
- const int t = def.userType();
- KeyValues values = keyValues();
- //this ensures that all the keyValues are of type t
- for (int i = 0; i < values.count(); ++i) {
- QVariantAnimation::KeyValue &pair = values[i];
- if (pair.second.userType() != t)
- pair.second.convert(static_cast<QVariant::Type>(t));
- }
- //let's now update the key values
- setKeyValues(values);
- }
-
- if (animProp && !startValue().isValid() && currentTime() == 0
- || (currentTime() == duration() && currentLoop() == (loopCount() - 1))) {
- setStartValue(def);
- }
- }
-
- QVariantAnimation::updateState(oldState, newState);
-}
-
-#include "moc_custompropertyanimation.cpp"
diff --git a/examples/animation/sub-attaq/data.xml b/examples/animation/sub-attaq/data.xml
deleted file mode 100644
index 41d4754..0000000
--- a/examples/animation/sub-attaq/data.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<subattaq>
- <submarines>
- <submarine type="0" points="10" name="Q1" />
- <submarine type="1" points="20" name="Q2" />
- </submarines>
- <levels>
- <level id="0" name="Seaman recruit">
- <subinstance type="0" nb="2"/>
- </level>
- <level id="1" name="Seaman apprentice">
- <subinstance type="0" nb="4"/>
- </level>
- </levels>
-</subattaq>
diff --git a/examples/animation/sub-attaq/graphicsscene.cpp b/examples/animation/sub-attaq/graphicsscene.cpp
deleted file mode 100644
index bd37ce2..0000000
--- a/examples/animation/sub-attaq/graphicsscene.cpp
+++ /dev/null
@@ -1,374 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtCore module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//Own
-#include "graphicsscene.h"
-#include "states.h"
-#include "boat.h"
-#include "submarine.h"
-#include "torpedo.h"
-#include "bomb.h"
-#include "pixmapitem.h"
-#include "custompropertyanimation.h"
-#include "animationmanager.h"
-#include "qanimationstate.h"
-#include "progressitem.h"
-
-//Qt
-#include <QtCore/QPropertyAnimation>
-#include <QtCore/QSequentialAnimationGroup>
-#include <QtCore/QParallelAnimationGroup>
-#include <QtCore/QStateMachine>
-#include <QtCore/QFinalState>
-#include <QtCore/QPauseAnimation>
-#include <QtGui/QAction>
-#include <QtCore/QDir>
-#include <QtGui/QApplication>
-#include <QtGui/QMessageBox>
-#include <QtGui/QGraphicsView>
-#include <QtGui/QGraphicsSceneMouseEvent>
-#include <QtCore/QXmlStreamReader>
-
-//helper function that creates an animation for position and inserts it into group
-static CustomPropertyAnimation *addGraphicsItemPosAnimation(QSequentialAnimationGroup *group,
- QGraphicsItem *item, const QPointF &endPos)
-{
- CustomPropertyAnimation *ret = new CustomPropertyAnimation(group);
- ret->setMemberFunctions(item, &QGraphicsItem::pos, &QGraphicsItem::setPos);
- ret->setEndValue(endPos);
- ret->setDuration(200);
- ret->setEasingCurve(QEasingCurve::OutElastic);
- group->addPause(50);
- return ret;
-}
-
-//helper function that creates an animation for opacity and inserts it into group
-static void addGraphicsItemFadeoutAnimation(QAnimationGroup *group, QGraphicsItem *item)
-{
-#if QT_VERSION >=0x040500
- CustomPropertyAnimation *anim = new CustomPropertyAnimation(group);
- anim->setMemberFunctions(item, &QGraphicsItem::opacity, &QGraphicsItem::setOpacity);
- anim->setDuration(800);
- anim->setEndValue(0);
- anim->setEasingCurve(QEasingCurve::OutQuad);
-#else
- // work around for a bug where we don't transition if the duration is zero.
- QtPauseAnimation *anim = new QtPauseAnimation(group);
- anim->setDuration(1);
-#endif
-}
-
-GraphicsScene::GraphicsScene(int x, int y, int width, int height, Mode mode)
- : QGraphicsScene(x,y,width,height), mode(mode), newAction(0), quitAction(0), boat(0)
-{
- backgroundItem = new PixmapItem(QString("background"),mode);
- backgroundItem->setZValue(1);
- backgroundItem->setPos(0,0);
- addItem(backgroundItem);
-
- PixmapItem *surfaceItem = new PixmapItem(QString("surface"),mode);
- surfaceItem->setZValue(3);
- surfaceItem->setPos(0,sealLevel() - surfaceItem->boundingRect().height()/2);
- addItem(surfaceItem);
-
- //The item that display score and level
- progressItem = new ProgressItem(backgroundItem);
-
- //We create the boat
- boat = new Boat();
- addItem(boat);
- boat->setPos(this->width()/2, sealLevel() - boat->size().height());
- boat->hide();
-
- //parse the xml that contain all data of the game
- QXmlStreamReader reader;
- QFile file(":data.xml");
- file.open(QIODevice::ReadOnly);
- reader.setDevice(&file);
- LevelDescription currentLevel;
- while (!reader.atEnd()) {
- reader.readNext();
- if (reader.tokenType() == QXmlStreamReader::StartElement) {
- if (reader.name() == "submarine")
- {
- SubmarineDescription desc;
- desc.name = reader.attributes().value("name").toString();
- desc.points = reader.attributes().value("points").toString().toInt();
- desc.type = reader.attributes().value("type").toString().toInt();
- submarinesData.append(desc);
- }
- if (reader.name() == "level")
- {
- currentLevel.id = reader.attributes().value("id").toString().toInt();
- currentLevel.name = reader.attributes().value("name").toString();
- }
- if (reader.name() == "subinstance")
- {
- currentLevel.submarines.append(qMakePair(reader.attributes().value("type").toString().toInt(),reader.attributes().value("nb").toString().toInt()));
- }
- }
- if (reader.tokenType() == QXmlStreamReader::EndElement) {
- if (reader.name() == "level")
- {
- levelsData.insert(currentLevel.id,currentLevel);
- currentLevel.submarines.clear();
- }
- }
- }
-}
-
-qreal GraphicsScene::sealLevel() const
-{
- if (mode == Big)
- return 220;
- else
- return 160;
-}
-
-void GraphicsScene::setupScene(const QList<QAction *> &actions)
-{
- newAction = actions.at(0);
- quitAction = actions.at(1);
-
- QGraphicsItem *logo_s = addWelcomeItem(QPixmap(":/logo-s"));
- QGraphicsItem *logo_u = addWelcomeItem(QPixmap(":/logo-u"));
- QGraphicsItem *logo_b = addWelcomeItem(QPixmap(":/logo-b"));
- QGraphicsItem *logo_dash = addWelcomeItem(QPixmap(":/logo-dash"));
- QGraphicsItem *logo_a = addWelcomeItem(QPixmap(":/logo-a"));
- QGraphicsItem *logo_t = addWelcomeItem(QPixmap(":/logo-t"));
- QGraphicsItem *logo_t2 = addWelcomeItem(QPixmap(":/logo-t2"));
- QGraphicsItem *logo_a2 = addWelcomeItem(QPixmap(":/logo-a2"));
- QGraphicsItem *logo_q = addWelcomeItem(QPixmap(":/logo-q"));
- QGraphicsItem *logo_excl = addWelcomeItem(QPixmap(":/logo-excl"));
- logo_s->setZValue(3);
- logo_u->setZValue(4);
- logo_b->setZValue(5);
- logo_dash->setZValue(6);
- logo_a->setZValue(7);
- logo_t->setZValue(8);
- logo_t2->setZValue(9);
- logo_a2->setZValue(10);
- logo_q->setZValue(11);
- logo_excl->setZValue(12);
- logo_s->setPos(QPointF(-1000, -1000));
- logo_u->setPos(QPointF(-800, -1000));
- logo_b->setPos(QPointF(-600, -1000));
- logo_dash->setPos(QPointF(-400, -1000));
- logo_a->setPos(QPointF(1000, 2000));
- logo_t->setPos(QPointF(800, 2000));
- logo_t2->setPos(QPointF(600, 2000));
- logo_a2->setPos(QPointF(400, 2000));
- logo_q->setPos(QPointF(200, 2000));
- logo_excl->setPos(QPointF(0, 2000));
-
- QSequentialAnimationGroup * lettersGroupMoving = new QSequentialAnimationGroup(this);
- QParallelAnimationGroup * lettersGroupFading = new QParallelAnimationGroup(this);
-
- //creation of the animations for moving letters
- addGraphicsItemPosAnimation(lettersGroupMoving, logo_s, QPointF(300, 150));
- addGraphicsItemPosAnimation(lettersGroupMoving, logo_u, QPointF(350, 150));
- addGraphicsItemPosAnimation(lettersGroupMoving, logo_b, QPointF(400, 120));
- addGraphicsItemPosAnimation(lettersGroupMoving, logo_dash, QPointF(460, 150));
- addGraphicsItemPosAnimation(lettersGroupMoving, logo_a, QPointF(350, 250));
- addGraphicsItemPosAnimation(lettersGroupMoving, logo_t, QPointF(400, 250));
- addGraphicsItemPosAnimation(lettersGroupMoving, logo_t2, QPointF(430, 250));
- addGraphicsItemPosAnimation(lettersGroupMoving, logo_a2, QPointF(465, 250));
- addGraphicsItemPosAnimation(lettersGroupMoving, logo_q, QPointF(510, 250));
- addGraphicsItemPosAnimation(lettersGroupMoving, logo_excl, QPointF(570, 220));
-
- //creation of the animations for fading out the letters
- addGraphicsItemFadeoutAnimation(lettersGroupFading, logo_s);
- addGraphicsItemFadeoutAnimation(lettersGroupFading, logo_u);
- addGraphicsItemFadeoutAnimation(lettersGroupFading, logo_b);
- addGraphicsItemFadeoutAnimation(lettersGroupFading, logo_dash);
- addGraphicsItemFadeoutAnimation(lettersGroupFading, logo_a);
- addGraphicsItemFadeoutAnimation(lettersGroupFading, logo_t);
- addGraphicsItemFadeoutAnimation(lettersGroupFading, logo_t2);
- addGraphicsItemFadeoutAnimation(lettersGroupFading, logo_a2);
- addGraphicsItemFadeoutAnimation(lettersGroupFading, logo_q);
- addGraphicsItemFadeoutAnimation(lettersGroupFading, logo_excl);
- connect(lettersGroupFading, SIGNAL(finished()), this, SLOT(onIntroAnimationFinished()));
-
- QStateMachine *machine = new QStateMachine(this);
-
- //This state is when the player is playing
- PlayState *gameState = new PlayState(this,machine->rootState());
-
- //Final state
- QFinalState *final = new QFinalState(machine->rootState());
-
- //Animation when the player enter in the game
- QAnimationState *lettersMovingState = new QAnimationState(machine->rootState());
- lettersMovingState->setAnimation(lettersGroupMoving);
-
- //Animation when the welcome screen disappear
- QAnimationState *lettersFadingState = new QAnimationState(machine->rootState());
- lettersFadingState->setAnimation(lettersGroupFading);
-
- //if new game then we fade out the welcome screen and start playing
- lettersMovingState->addTransition(newAction, SIGNAL(triggered()),lettersFadingState);
- lettersFadingState->addTransition(lettersFadingState, SIGNAL(animationFinished()),gameState);
-
- //New Game is triggered then player start playing
- gameState->addTransition(newAction, SIGNAL(triggered()),gameState);
-
- //Wanna quit, then connect to CTRL+Q
- gameState->addTransition(quitAction, SIGNAL(triggered()),final);
- lettersMovingState->addTransition(quitAction, SIGNAL(triggered()),final);
-
- //Welcome screen is the initial state
- machine->setInitialState(lettersMovingState);
-
- machine->start();
-
- //We reach the final state, then we quit
- connect(machine,SIGNAL(finished()),this, SLOT(onQuitGameTriggered()));
-}
-
-void GraphicsScene::addItem(Bomb *bomb)
-{
- bombs.insert(bomb);
- connect(bomb,SIGNAL(bombExecutionFinished()),this, SLOT(onBombExecutionFinished()));
- QGraphicsScene::addItem(bomb);
-}
-
-void GraphicsScene::addItem(Torpedo *torpedo)
-{
- torpedos.insert(torpedo);
- connect(torpedo,SIGNAL(torpedoExecutionFinished()),this, SLOT(onTorpedoExecutionFinished()));
- QGraphicsScene::addItem(torpedo);
-}
-
-void GraphicsScene::addItem(SubMarine *submarine)
-{
- submarines.insert(submarine);
- connect(submarine,SIGNAL(subMarineExecutionFinished()),this, SLOT(onSubMarineExecutionFinished()));
- QGraphicsScene::addItem(submarine);
-}
-
-void GraphicsScene::addItem(QGraphicsItem *item)
-{
- QGraphicsScene::addItem(item);
-}
-
-void GraphicsScene::mousePressEvent (QGraphicsSceneMouseEvent * event)
-{
- event->ignore();
-}
-
-void GraphicsScene::onQuitGameTriggered()
-{
- qApp->closeAllWindows();
-}
-
-void GraphicsScene::onBombExecutionFinished()
-{
- Bomb *bomb = qobject_cast<Bomb *>(sender());
- bombs.remove(bomb);
- bomb->deleteLater();
- if (boat)
- boat->setBombsLaunched(boat->bombsLaunched() - 1);
-}
-
-void GraphicsScene::onTorpedoExecutionFinished()
-{
- Torpedo *torpedo = qobject_cast<Torpedo *>(sender());
- torpedos.remove(torpedo);
- torpedo->deleteLater();
-}
-
-void GraphicsScene::onSubMarineExecutionFinished()
-{
- SubMarine *submarine = qobject_cast<SubMarine *>(sender());
- submarines.remove(submarine);
- if (submarines.count() == 0) {
- emit allSubMarineDestroyed(submarine->points());
- } else {
- emit subMarineDestroyed(submarine->points());
- }
- submarine->deleteLater();
-}
-
-int GraphicsScene::remainingSubMarines() const
-{
- return submarines.count();
-}
-
-void GraphicsScene::clearScene()
-{
- foreach (SubMarine *sub,submarines) {
- sub->destroy();
- sub->deleteLater();
- }
-
- foreach (Torpedo *torpedo,torpedos) {
- torpedo->destroy();
- torpedo->deleteLater();
- }
-
- foreach (Bomb *bomb,bombs) {
- bomb->destroy();
- bomb->deleteLater();
- }
-
- submarines.clear();
- bombs.clear();
- torpedos.clear();
-
- AnimationManager::self()->unregisterAllAnimations();
-
- boat->stop();
- boat->hide();
-}
-
-QGraphicsPixmapItem *GraphicsScene::addWelcomeItem(const QPixmap &pm)
-{
- QGraphicsPixmapItem *item = addPixmap(pm);
- welcomeItems << item;
- return item;
-}
-
-void GraphicsScene::onIntroAnimationFinished()
-{
- qDeleteAll(welcomeItems);
- welcomeItems.clear();
-}
-
diff --git a/examples/animation/sub-attaq/states.cpp b/examples/animation/sub-attaq/states.cpp
deleted file mode 100644
index 81fd2de..0000000
--- a/examples/animation/sub-attaq/states.cpp
+++ /dev/null
@@ -1,325 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtCore module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//Own
-#include "states.h"
-#include "graphicsscene.h"
-#include "boat.h"
-#include "submarine.h"
-#include "torpedo.h"
-#include "animationmanager.h"
-#include "progressitem.h"
-
-//Qt
-#include <QtGui/QMessageBox>
-#include <QtGui/QGraphicsView>
-#include <QtCore/QStateMachine>
-#include <QtGui/QKeyEventTransition>
-#include <QtCore/QSignalEvent>
-#include <QtCore/QFinalState>
-
-PlayState::PlayState(GraphicsScene *scene, QState *parent)
- : QState(parent),
- scene(scene),
- machine(0),
- currentLevel(0),
- score(0)
-{
-}
-
-PlayState::~PlayState()
-{
-}
-
-void PlayState::onEntry(QEvent *)
-{
- //We are now playing?
- if (machine) {
- machine->stop();
- scene->clearScene();
- currentLevel = 0;
- score = 0;
- delete machine;
- }
-
- machine = new QStateMachine(this);
-
- //This state is when player is playing
- LevelState *levelState = new LevelState(scene, this, machine->rootState());
-
- //This state is when the player is actually playing but the game is not paused
- QState *playingState = new QState(levelState);
- levelState->setInitialState(playingState);
-
- //This state is when the game is paused
- PauseState *pauseState = new PauseState(scene, levelState);
-
- //We have one view, it receive the key press event
- QKeyEventTransition *pressPplay = new QKeyEventTransition(scene->views().at(0), QEvent::KeyPress, Qt::Key_P);
- pressPplay->setTargetState(pauseState);
- QKeyEventTransition *pressPpause = new QKeyEventTransition(scene->views().at(0), QEvent::KeyPress, Qt::Key_P);
- pressPpause->setTargetState(playingState);
-
- //Pause "P" is triggered, the player pause the game
- playingState->addTransition(pressPplay);
-
- //To get back playing when the game has been paused
- pauseState->addTransition(pressPpause);
-
- //This state is when player have lost
- LostState *lostState = new LostState(scene, this, machine->rootState());
-
- //This state is when player have won
- WinState *winState = new WinState(scene, this, machine->rootState());
-
- //The boat has been destroyed then the game is finished
- levelState->addTransition(scene->boat, SIGNAL(boatExecutionFinished()),lostState);
-
- //This transition check if we won or not
- WinTransition *winTransition = new WinTransition(scene, this, winState);
-
- //The boat has been destroyed then the game is finished
- levelState->addTransition(winTransition);
-
- //This state is an animation when the score changed
- UpdateScoreState *scoreState = new UpdateScoreState(this, levelState);
-
- //This transition update the score when a submarine die
- UpdateScoreTransition *scoreTransition = new UpdateScoreTransition(scene, this, levelState);
- scoreTransition->setTargetState(scoreState);
-
- //The boat has been destroyed then the game is finished
- playingState->addTransition(scoreTransition);
-
- //We go back to play state
- scoreState->addTransition(playingState);
-
- //We start playing!!!
- machine->setInitialState(levelState);
-
- //Final state
- QFinalState *final = new QFinalState(machine->rootState());
-
- //This transition is triggered when the player press space after completing a level
- CustomSpaceTransition *spaceTransition = new CustomSpaceTransition(scene->views().at(0), this, QEvent::KeyPress, Qt::Key_Space);
- spaceTransition->setTargetState(levelState);
- winState->addTransition(spaceTransition);
-
- //We lost we should reach the final state
- lostState->addTransition(lostState, SIGNAL(finished()), final);
-
- machine->start();
-}
-
-LevelState::LevelState(GraphicsScene *scene, PlayState *game, QState *parent) : QState(parent), scene(scene), game(game)
-{
-}
-void LevelState::onEntry(QEvent *)
-{
- initializeLevel();
-}
-
-void LevelState::initializeLevel()
-{
- //we re-init the boat
- scene->boat->setPos(scene->width()/2, scene->sealLevel() - scene->boat->size().height());
- scene->boat->setCurrentSpeed(0);
- scene->boat->setCurrentDirection(Boat::None);
- scene->boat->setBombsLaunched(0);
- scene->boat->show();
- scene->setFocusItem(scene->boat,Qt::OtherFocusReason);
- scene->boat->run();
-
- scene->progressItem->setScore(game->score);
- scene->progressItem->setLevel(game->currentLevel + 1);
-
- GraphicsScene::LevelDescription currentLevelDescription = scene->levelsData.value(game->currentLevel);
-
- for (int i = 0; i < currentLevelDescription.submarines.size(); ++i ) {
-
- QPair<int,int> subContent = currentLevelDescription.submarines.at(i);
- GraphicsScene::SubmarineDescription submarineDesc = scene->submarinesData.at(subContent.first);
-
- for (int j = 0; j < subContent.second; ++j ) {
- SubMarine *sub = new SubMarine(submarineDesc.type, submarineDesc.name, submarineDesc.points);
- scene->addItem(sub);
- int random = (qrand() % 15 + 1);
- qreal x = random == 13 || random == 5 ? 0 : scene->width() - sub->size().width();
- qreal y = scene->height() -(qrand() % 150 + 1) - sub->size().height();
- sub->setPos(x,y);
- sub->setCurrentDirection(x == 0 ? SubMarine::Right : SubMarine::Left);
- sub->setCurrentSpeed(qrand() % 3 + 1);
- }
- }
-}
-
-/** Pause State */
-PauseState::PauseState(GraphicsScene *scene, QState *parent) : QState(parent),scene(scene)
-{
-}
-void PauseState::onEntry(QEvent *)
-{
- AnimationManager::self()->pauseAll();
- scene->boat->setEnabled(false);
-}
-void PauseState::onExit(QEvent *)
-{
- AnimationManager::self()->resumeAll();
- scene->boat->setEnabled(true);
- scene->boat->setFocus();
-}
-
-/** Lost State */
-LostState::LostState(GraphicsScene *scene, PlayState *game, QState *parent) : QState(parent), scene(scene), game(game)
-{
-}
-
-void LostState::onEntry(QEvent *)
-{
- //The message to display
- QString message = QString("You lose on level %1. Your score is %2.").arg(game->currentLevel+1).arg(game->score);
-
- //We set the level back to 0
- game->currentLevel = 0;
-
- //We set the score back to 0
- game->score = 0;
-
- //We clear the scene
- scene->clearScene();
-
- //we have only one view
- QMessageBox::information(scene->views().at(0),"You lose",message);
-}
-
-/** Win State */
-WinState::WinState(GraphicsScene *scene, PlayState *game, QState *parent) : QState(parent), scene(scene), game(game)
-{
-}
-
-void WinState::onEntry(QEvent *)
-{
- //We clear the scene
- scene->clearScene();
-
- QString message;
- if (scene->levelsData.size() - 1 != game->currentLevel) {
- message = QString("You win the level %1. Your score is %2.\nPress Space to continue after closing this dialog.").arg(game->currentLevel+1).arg(game->score);
- //We increment the level number
- game->currentLevel++;
- } else {
- message = QString("You finish the game on level %1. Your score is %2.").arg(game->currentLevel+1).arg(game->score);
- //We set the level back to 0
- game->currentLevel = 0;
- //We set the score back to 0
- game->score = 0;
- }
-
- //we have only one view
- QMessageBox::information(scene->views().at(0),"You win",message);
-}
-
-/** UpdateScore State */
-UpdateScoreState::UpdateScoreState(PlayState *game, QState *parent) : QState(parent)
-{
- this->game = game;
-}
-void UpdateScoreState::onEntry(QEvent *e)
-{
- QState::onEntry(e);
-}
-
-/** Win transition */
-UpdateScoreTransition::UpdateScoreTransition(GraphicsScene *scene, PlayState *game, QAbstractState *target)
- : QSignalTransition(scene,SIGNAL(subMarineDestroyed(int)), QList<QAbstractState*>() << target),
- game(game), scene(scene)
-{
-}
-
-bool UpdateScoreTransition::eventTest(QEvent *event)
-{
- if (!QSignalTransition::eventTest(event))
- return false;
- else {
- QSignalEvent *se = static_cast<QSignalEvent*>(event);
- game->score += se->arguments().at(0).toInt();
- scene->progressItem->setScore(game->score);
- return true;
- }
-}
-
-/** Win transition */
-WinTransition::WinTransition(GraphicsScene *scene, PlayState *game, QAbstractState *target)
- : QSignalTransition(scene,SIGNAL(allSubMarineDestroyed(int)), QList<QAbstractState*>() << target),
- game(game), scene(scene)
-{
-}
-
-bool WinTransition::eventTest(QEvent *event)
-{
- if (!QSignalTransition::eventTest(event))
- return false;
- else {
- QSignalEvent *se = static_cast<QSignalEvent*>(event);
- game->score += se->arguments().at(0).toInt();
- scene->progressItem->setScore(game->score);
- return true;
- }
-}
-
-/** Space transition */
-CustomSpaceTransition::CustomSpaceTransition(QWidget *widget, PlayState *game, QEvent::Type type, int key)
- : QKeyEventTransition(widget, type, key),
- game(game)
-{
-}
-
-bool CustomSpaceTransition::eventTest(QEvent *event)
-{
- Q_UNUSED(event);
- if (!QKeyEventTransition::eventTest(event))
- return false;
- if (game->currentLevel != 0)
- return true;
- else
- return false;
-
-}
diff --git a/examples/animation/sub-attaq/sub-attaq.pro b/examples/animation/sub-attaq/sub-attaq.pro
deleted file mode 100644
index d13a099..0000000
--- a/examples/animation/sub-attaq/sub-attaq.pro
+++ /dev/null
@@ -1,36 +0,0 @@
-contains(QT_CONFIG, opengl):QT += opengl
-
-HEADERS += boat.h \
- bomb.h \
- mainwindow.h \
- submarine.h \
- torpedo.h \
- pixmapitem.h \
- graphicsscene.h \
- animationmanager.h \
- states.h \
- boat_p.h \
- submarine_p.h \
- custompropertyanimation.h \
- qanimationstate.h \
- progressitem.h
-SOURCES += boat.cpp \
- bomb.cpp \
- main.cpp \
- mainwindow.cpp \
- submarine.cpp \
- torpedo.cpp \
- pixmapitem.cpp \
- graphicsscene.cpp \
- animationmanager.cpp \
- states.cpp \
- custompropertyanimation.cpp \
- qanimationstate.cpp \
- progressitem.cpp
-RESOURCES += subattaq.qrc
-
-# install
-target.path = $$[QT_INSTALL_EXAMPLES]/animation/sub-attaq
-sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS sub-attaq.pro pics
-sources.path = $$[QT_INSTALL_EXAMPLES]/animation/sub-attaq
-INSTALLS += target sources
diff --git a/examples/animation/sub-attaq/submarine.cpp b/examples/animation/sub-attaq/submarine.cpp
deleted file mode 100644
index 04b7916..0000000
--- a/examples/animation/sub-attaq/submarine.cpp
+++ /dev/null
@@ -1,211 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtCore module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//Own
-#include "submarine.h"
-#include "submarine_p.h"
-#include "torpedo.h"
-#include "pixmapitem.h"
-#include "graphicsscene.h"
-#include "animationmanager.h"
-#include "custompropertyanimation.h"
-#include "qanimationstate.h"
-
-#include <QtCore/QPropertyAnimation>
-#include <QtCore/QStateMachine>
-#include <QtCore/QFinalState>
-#include <QtCore/QSequentialAnimationGroup>
-
-static QAbstractAnimation *setupDestroyAnimation(SubMarine *sub)
-{
- QSequentialAnimationGroup *group = new QSequentialAnimationGroup(sub);
-#if QT_VERSION >=0x040500
- PixmapItem *step1 = new PixmapItem(QString("explosion/submarine/step1"),GraphicsScene::Big, sub);
- step1->setZValue(6);
- PixmapItem *step2 = new PixmapItem(QString("explosion/submarine/step2"),GraphicsScene::Big, sub);
- step2->setZValue(6);
- PixmapItem *step3 = new PixmapItem(QString("explosion/submarine/step3"),GraphicsScene::Big, sub);
- step3->setZValue(6);
- PixmapItem *step4 = new PixmapItem(QString("explosion/submarine/step4"),GraphicsScene::Big, sub);
- step4->setZValue(6);
- step1->setOpacity(0);
- step2->setOpacity(0);
- step3->setOpacity(0);
- step4->setOpacity(0);
- CustomPropertyAnimation *anim1 = new CustomPropertyAnimation(sub);
- anim1->setMemberFunctions((QGraphicsItem*)step1, &QGraphicsItem::opacity, &QGraphicsItem::setOpacity);
- anim1->setDuration(100);
- anim1->setEndValue(1);
- CustomPropertyAnimation *anim2 = new CustomPropertyAnimation(sub);
- anim2->setMemberFunctions((QGraphicsItem*)step2, &QGraphicsItem::opacity, &QGraphicsItem::setOpacity);
- anim2->setDuration(100);
- anim2->setEndValue(1);
- CustomPropertyAnimation *anim3 = new CustomPropertyAnimation(sub);
- anim3->setMemberFunctions((QGraphicsItem*)step3, &QGraphicsItem::opacity, &QGraphicsItem::setOpacity);
- anim3->setDuration(100);
- anim3->setEndValue(1);
- CustomPropertyAnimation *anim4 = new CustomPropertyAnimation(sub);
- anim4->setMemberFunctions((QGraphicsItem*)step4, &QGraphicsItem::opacity, &QGraphicsItem::setOpacity);
- anim4->setDuration(100);
- anim4->setEndValue(1);
- group->addAnimation(anim1);
- group->addAnimation(anim2);
- group->addAnimation(anim3);
- group->addAnimation(anim4);
-#else
- // work around for a bug where we don't transition if the duration is zero.
- QtPauseAnimation *anim = new QtPauseAnimation(group);
- anim->setDuration(1);
- group->addAnimation(anim);
-#endif
- AnimationManager::self()->registerAnimation(group);
- return group;
-}
-
-
-SubMarine::SubMarine(int type, const QString &name, int points, QGraphicsItem * parent, Qt::WindowFlags wFlags)
- : QGraphicsWidget(parent,wFlags), subType(type), subName(name), subPoints(points), speed(0), direction(SubMarine::None)
-{
- pixmapItem = new PixmapItem(QString("submarine"),GraphicsScene::Big, this);
- setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
- setZValue(5);
- setFlags(QGraphicsItem::ItemIsMovable);
- resize(pixmapItem->boundingRect().width(),pixmapItem->boundingRect().height());
- setTransformOrigin(boundingRect().center());
-
- //We setup the state machine of the submarine
- QStateMachine *machine = new QStateMachine(this);
-
- //This state is when the boat is moving/rotating
- QState *moving = new QState(machine->rootState());
-
- //This state is when the boat is moving from left to right
- MovementState *movement = new MovementState(this, moving);
-
- //This state is when the boat is moving from left to right
- ReturnState *rotation = new ReturnState(this, moving);
-
- //This is the initial state of the moving root state
- moving->setInitialState(movement);
-
- movement->addTransition(this, SIGNAL(subMarineStateChanged()), moving);
-
- //This is the initial state of the machine
- machine->setInitialState(moving);
-
- //End
- QFinalState *final = new QFinalState(machine->rootState());
-
- //If the moving animation is finished we move to the return state
- movement->addTransition(movement, SIGNAL(animationFinished()), rotation);
-
- //If the return animation is finished we move to the moving state
- rotation->addTransition(rotation, SIGNAL(animationFinished()), movement);
-
- //This state play the destroyed animation
- QAnimationState *destroyedState = new QAnimationState(machine->rootState());
- destroyedState->setAnimation(setupDestroyAnimation(this));
-
- //Play a nice animation when the submarine is destroyed
- moving->addTransition(this, SIGNAL(subMarineDestroyed()), destroyedState);
-
- //Transition to final state when the destroyed animation is finished
- destroyedState->addTransition(destroyedState, SIGNAL(animationFinished()), final);
-
- //The machine has finished to be executed, then the submarine is dead
- connect(machine,SIGNAL(finished()),this, SIGNAL(subMarineExecutionFinished()));
-
- machine->start();
-}
-
-int SubMarine::points()
-{
- return subPoints;
-}
-
-void SubMarine::setCurrentDirection(SubMarine::Movement direction)
-{
- if (this->direction == direction)
- return;
- if (direction == SubMarine::Right && this->direction == SubMarine::None) {
- setYRotation(180);
- }
- this->direction = direction;
-}
-
-enum SubMarine::Movement SubMarine::currentDirection() const
-{
- return direction;
-}
-
-void SubMarine::setCurrentSpeed(int speed)
-{
- if (speed < 0 || speed > 3) {
- qWarning("SubMarine::setCurrentSpeed : The speed is invalid");
- }
- this->speed = speed;
- emit subMarineStateChanged();
-}
-
-int SubMarine::currentSpeed() const
-{
- return speed;
-}
-
-void SubMarine::launchTorpedo(int speed)
-{
- Torpedo * torp = new Torpedo();
- GraphicsScene *scene = static_cast<GraphicsScene *>(this->scene());
- scene->addItem(torp);
- torp->setPos(x(), y());
- torp->setCurrentSpeed(speed);
- torp->launch();
-}
-
-void SubMarine::destroy()
-{
- emit subMarineDestroyed();
-}
-
-int SubMarine::type() const
-{
- return Type;
-}
diff --git a/examples/animation/sub-attaq/submarine.h b/examples/animation/sub-attaq/submarine.h
deleted file mode 100644
index 481e816..0000000
--- a/examples/animation/sub-attaq/submarine.h
+++ /dev/null
@@ -1,92 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtCore module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef __SUBMARINE__H__
-#define __SUBMARINE__H__
-
-//Qt
-#include <QtCore/QVariantAnimation>
-#include <QtGui/QGraphicsWidget>
-
-class PixmapItem;
-
-class Torpedo;
-
-class SubMarine : public QGraphicsWidget
-{
-Q_OBJECT
-public:
- enum Movement {
- None = 0,
- Left,
- Right
- };
- enum { Type = UserType + 1 };
- SubMarine(int type, const QString &name, int points, QGraphicsItem * parent = 0, Qt::WindowFlags wFlags = 0);
-
- int points();
-
- void setCurrentDirection(Movement direction);
- enum Movement currentDirection() const;
-
- void setCurrentSpeed(int speed);
- int currentSpeed() const;
-
- void launchTorpedo(int speed);
- void destroy();
-
- virtual int type() const;
-
-signals:
- void subMarineDestroyed();
- void subMarineExecutionFinished();
- void subMarineStateChanged();
-
-private:
- int subType;
- QString subName;
- int subPoints;
- int speed;
- Movement direction;
- PixmapItem *pixmapItem;
-};
-
-#endif //__SUBMARINE__H__
diff --git a/examples/animation/sub-attaq/submarine_p.h b/examples/animation/sub-attaq/submarine_p.h
deleted file mode 100644
index e8df877..0000000
--- a/examples/animation/sub-attaq/submarine_p.h
+++ /dev/null
@@ -1,139 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef SUBMARINE_P_H
-#define SUBMARINE_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-//Own
-#include "animationmanager.h"
-#include "submarine.h"
-#include "qanimationstate.h"
-
-//Qt
-#include <QtCore/QPropertyAnimation>
-#include <QtGui/QGraphicsScene>
-
-//This state is describing when the boat is moving right
-class MovementState : public QAnimationState
-{
-Q_OBJECT
-public:
- MovementState(SubMarine *submarine, QState *parent = 0) : QAnimationState(parent)
- {
- movementAnimation = new QPropertyAnimation(submarine, "pos");
- connect(movementAnimation,SIGNAL(valueChanged(const QVariant &)),this,SLOT(onAnimationMovementValueChanged(const QVariant &)));
- setAnimation(movementAnimation);
- AnimationManager::self()->registerAnimation(movementAnimation);
- this->submarine = submarine;
- }
-
-protected slots:
- void onAnimationMovementValueChanged(const QVariant &)
- {
- if (qrand() % 200 + 1 == 3)
- submarine->launchTorpedo(qrand() % 3 + 1);
- }
-
-protected:
- void onEntry(QEvent *e)
- {
- if (submarine->currentDirection() == SubMarine::Left) {
- movementAnimation->setEndValue(QPointF(0,submarine->y()));
- movementAnimation->setDuration(submarine->x()/submarine->currentSpeed()*12);
- }
- else /*if (submarine->currentDirection() == SubMarine::Right)*/ {
- movementAnimation->setEndValue(QPointF(submarine->scene()->width()-submarine->size().width(),submarine->y()));
- movementAnimation->setDuration((submarine->scene()->width()-submarine->size().width()-submarine->x())/submarine->currentSpeed()*12);
- }
- movementAnimation->setStartValue(submarine->pos());
- QAnimationState::onEntry(e);
- }
-
-private:
- SubMarine *submarine;
- QPropertyAnimation *movementAnimation;
-};
-
-//This state is describing when the boat is moving right
-class ReturnState : public QAnimationState
-{
-public:
- ReturnState(SubMarine *submarine, QState *parent = 0) : QAnimationState(parent)
- {
- returnAnimation = new QPropertyAnimation(submarine, "yRotation");
- AnimationManager::self()->registerAnimation(returnAnimation);
- setAnimation(returnAnimation);
- this->submarine = submarine;
- }
-
-protected:
- void onEntry(QEvent *e)
- {
- returnAnimation->stop();
- returnAnimation->setStartValue(submarine->yRotation());
- returnAnimation->setEndValue(submarine->currentDirection() == SubMarine::Right ? 360. : 180.);
- returnAnimation->setDuration(500);
- QAnimationState::onEntry(e);
- }
-
- void onExit(QEvent *e)
- {
- submarine->currentDirection() == SubMarine::Right ? submarine->setCurrentDirection(SubMarine::Left) : submarine->setCurrentDirection(SubMarine::Right);
- QAnimationState::onExit(e);
- }
-
-private:
- SubMarine *submarine;
- QPropertyAnimation *returnAnimation;
-};
-
-#endif // SUBMARINE_P_H
diff --git a/examples/animation/sub-attaq/torpedo.cpp b/examples/animation/sub-attaq/torpedo.cpp
deleted file mode 100644
index 5ef237a..0000000
--- a/examples/animation/sub-attaq/torpedo.cpp
+++ /dev/null
@@ -1,120 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtCore module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//Own
-#include "torpedo.h"
-#include "pixmapitem.h"
-#include "boat.h"
-#include "graphicsscene.h"
-#include "animationmanager.h"
-#include "qanimationstate.h"
-
-#include <QtCore/QPropertyAnimation>
-#include <QtCore/QStateMachine>
-#include <QtCore/QFinalState>
-
-Torpedo::Torpedo(QGraphicsItem * parent, Qt::WindowFlags wFlags)
- : QGraphicsWidget(parent,wFlags), currentSpeed(0), launchAnimation(0)
-{
- pixmapItem = new PixmapItem(QString::fromLatin1("torpedo"),GraphicsScene::Big, this);
- setZValue(2);
- setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
- setFlags(QGraphicsItem::ItemIsMovable);
- resize(pixmapItem->boundingRect().size());
-}
-
-void Torpedo::launch()
-{
- launchAnimation = new QPropertyAnimation(this, "pos");
- AnimationManager::self()->registerAnimation(launchAnimation);
- launchAnimation->setEndValue(QPointF(x(),qobject_cast<GraphicsScene *>(scene())->sealLevel() - 15));
- launchAnimation->setEasingCurve(QEasingCurve::InQuad);
- launchAnimation->setDuration(y()/currentSpeed*10);
- connect(launchAnimation,SIGNAL(valueChanged(const QVariant &)),this,SLOT(onAnimationLaunchValueChanged(const QVariant &)));
-
- //We setup the state machine of the torpedo
- QStateMachine *machine = new QStateMachine(this);
-
- //This state is when the launch animation is playing
- QAnimationState *launched = new QAnimationState(machine->rootState());
- launched->setAnimation(launchAnimation);
-
- //End
- QFinalState *final = new QFinalState(machine->rootState());
-
- machine->setInitialState(launched);
-
- //### Add a nice animation when the torpedo is destroyed
- launched->addTransition(this, SIGNAL(torpedoExplosed()),final);
-
- //If the animation is finished, then we move to the final state
- launched->addTransition(launched, SIGNAL(animationFinished()), final);
-
- //The machine has finished to be executed, then the boat is dead
- connect(machine,SIGNAL(finished()),this, SIGNAL(torpedoExecutionFinished()));
-
- machine->start();
-}
-
-void Torpedo::setCurrentSpeed(int speed)
-{
- if (speed < 0) {
- qWarning("Torpedo::setCurrentSpeed : The speed is invalid");
- return;
- }
- currentSpeed = speed;
-}
-
-void Torpedo::onAnimationLaunchValueChanged(const QVariant &)
-{
- foreach (QGraphicsItem *item , collidingItems(Qt::IntersectsItemBoundingRect)) {
- if (item->type() == Boat::Type) {
- Boat *b = static_cast<Boat *>(item);
- b->destroy();
- }
- }
-}
-
-void Torpedo::destroy()
-{
- launchAnimation->stop();
- emit torpedoExplosed();
-}
diff --git a/examples/examples.pro b/examples/examples.pro
index 42a3aa3..dc407e7 100644
--- a/examples/examples.pro
+++ b/examples/examples.pro
@@ -39,6 +39,7 @@ symbian: SUBDIRS = \
uitools \
xml
+contains(QT_CONFIG, multimedia):!static: SUBDIRS += multimedia
contains(QT_CONFIG, phonon):!static: SUBDIRS += phonon
contains(QT_CONFIG, webkit): SUBDIRS += webkit
embedded:SUBDIRS += qws
@@ -49,6 +50,7 @@ embedded:SUBDIRS += qws
contains(QT_BUILD_PARTS, tools):SUBDIRS += qtestlib
}
contains(QT_CONFIG, opengl): SUBDIRS += opengl
+contains(QT_CONFIG, openvg): SUBDIRS += openvg
contains(QT_CONFIG, dbus): SUBDIRS += dbus
win32: SUBDIRS += activeqt
contains(QT_CONFIG, xmlpatterns): SUBDIRS += xmlpatterns
diff --git a/examples/gestures/browser/Info_mac.plist b/examples/gestures/browser/Info_mac.plist
deleted file mode 100644
index 5648631..0000000
--- a/examples/gestures/browser/Info_mac.plist
+++ /dev/null
@@ -1,43 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist SYSTEM "file://localhost/System/Library/DTDs/PropertyList.dtd">
-<plist version="0.9">
-<dict>
- <key>CFBundleIconFile</key>
- <string>@ICON@</string>
- <key>CFBundlePackageType</key>
- <string>APPL</string>
- <key>CFBundleGetInfoString</key>
- <string>Created by Qt/QMake</string>
- <key>CFBundleIdentifier</key>
- <string>com.trolltech.DemoBrowser</string>
- <key>CFBundleSignature</key>
- <string>ttxt</string>
- <key>CFBundleExecutable</key>
- <string>@EXECUTABLE@</string>
- <key>CFBundleDocumentTypes</key>
- <array>
- <dict>
- <key>CFBundleTypeExtensions</key>
- <array>
- <string>html</string>
- <string>htm</string>
- <string>shtml</string>
- <string>xht</string>
- <string>xhtml</string>
- </array>
- <key>CFBundleTypeIconFile</key>
- <string>@ICON@</string>
- <key>CFBundleTypeName</key>
- <string>HTML Document</string>
- <key>CFBundleTypeOSTypes</key>
- <array>
- <string>HTML</string>
- </array>
- <key>CFBundleTypeRole</key>
- <string>Viewer</string>
- </dict>
- </array>
- <key>NOTE</key>
- <string>DemoBrowser by Nokia Corporation and/or its subsidiary(-ies)</string>
-</dict>
-</plist>
diff --git a/examples/gestures/browser/addbookmarkdialog.ui b/examples/gestures/browser/addbookmarkdialog.ui
deleted file mode 100644
index 3460d7b..0000000
--- a/examples/gestures/browser/addbookmarkdialog.ui
+++ /dev/null
@@ -1,98 +0,0 @@
-<ui version="4.0" >
- <class>AddBookmarkDialog</class>
- <widget class="QDialog" name="AddBookmarkDialog" >
- <property name="geometry" >
- <rect>
- <x>0</x>
- <y>0</y>
- <width>240</width>
- <height>168</height>
- </rect>
- </property>
- <property name="windowTitle" >
- <string>Add Bookmark</string>
- </property>
- <layout class="QVBoxLayout" name="verticalLayout" >
- <item>
- <widget class="QLabel" name="label" >
- <property name="text" >
- <string>Type a name for the bookmark, and choose where to keep it.</string>
- </property>
- <property name="textFormat" >
- <enum>Qt::PlainText</enum>
- </property>
- <property name="wordWrap" >
- <bool>true</bool>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QLineEdit" name="name" />
- </item>
- <item>
- <widget class="QComboBox" name="location" />
- </item>
- <item>
- <spacer name="verticalSpacer" >
- <property name="orientation" >
- <enum>Qt::Vertical</enum>
- </property>
- <property name="sizeHint" stdset="0" >
- <size>
- <width>20</width>
- <height>2</height>
- </size>
- </property>
- </spacer>
- </item>
- <item>
- <widget class="QDialogButtonBox" name="buttonBox" >
- <property name="orientation" >
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="standardButtons" >
- <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
- </property>
- <property name="centerButtons" >
- <bool>false</bool>
- </property>
- </widget>
- </item>
- </layout>
- </widget>
- <resources/>
- <connections>
- <connection>
- <sender>buttonBox</sender>
- <signal>accepted()</signal>
- <receiver>AddBookmarkDialog</receiver>
- <slot>accept()</slot>
- <hints>
- <hint type="sourcelabel" >
- <x>248</x>
- <y>254</y>
- </hint>
- <hint type="destinationlabel" >
- <x>157</x>
- <y>274</y>
- </hint>
- </hints>
- </connection>
- <connection>
- <sender>buttonBox</sender>
- <signal>rejected()</signal>
- <receiver>AddBookmarkDialog</receiver>
- <slot>reject()</slot>
- <hints>
- <hint type="sourcelabel" >
- <x>316</x>
- <y>260</y>
- </hint>
- <hint type="destinationlabel" >
- <x>286</x>
- <y>274</y>
- </hint>
- </hints>
- </connection>
- </connections>
-</ui>
diff --git a/examples/gestures/browser/autosaver.cpp b/examples/gestures/browser/autosaver.cpp
deleted file mode 100644
index 77888ce..0000000
--- a/examples/gestures/browser/autosaver.cpp
+++ /dev/null
@@ -1,94 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "autosaver.h"
-
-#include <QtCore/QDir>
-#include <QtCore/QCoreApplication>
-#include <QtCore/QMetaObject>
-#include <QtDebug>
-
-#define AUTOSAVE_IN 1000 * 3 // seconds
-#define MAXWAIT 1000 * 15 // seconds
-
-AutoSaver::AutoSaver(QObject *parent) : QObject(parent)
-{
- Q_ASSERT(parent);
-}
-
-AutoSaver::~AutoSaver()
-{
- if (m_timer.isActive())
- qWarning() << "AutoSaver: still active when destroyed, changes not saved.";
-}
-
-void AutoSaver::changeOccurred()
-{
- if (m_firstChange.isNull())
- m_firstChange.start();
-
- if (m_firstChange.elapsed() > MAXWAIT) {
- saveIfNeccessary();
- } else {
- m_timer.start(AUTOSAVE_IN, this);
- }
-}
-
-void AutoSaver::timerEvent(QTimerEvent *event)
-{
- if (event->timerId() == m_timer.timerId()) {
- saveIfNeccessary();
- } else {
- QObject::timerEvent(event);
- }
-}
-
-void AutoSaver::saveIfNeccessary()
-{
- if (!m_timer.isActive())
- return;
- m_timer.stop();
- m_firstChange = QTime();
- if (!QMetaObject::invokeMethod(parent(), "save", Qt::DirectConnection)) {
- qWarning() << "AutoSaver: error invoking slot save() on parent";
- }
-}
-
diff --git a/examples/gestures/browser/autosaver.h b/examples/gestures/browser/autosaver.h
deleted file mode 100644
index e6b44ed..0000000
--- a/examples/gestures/browser/autosaver.h
+++ /dev/null
@@ -1,76 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef AUTOSAVER_H
-#define AUTOSAVER_H
-
-#include <QtCore/QObject>
-#include <QtCore/QBasicTimer>
-#include <QtCore/QTime>
-
-/*
- This class will call the save() slot on the parent object when the parent changes.
- It will wait several seconds after changed() to combining multiple changes and
- prevent continuous writing to disk.
- */
-class AutoSaver : public QObject {
-
-Q_OBJECT
-
-public:
- AutoSaver(QObject *parent);
- ~AutoSaver();
- void saveIfNeccessary();
-
-public slots:
- void changeOccurred();
-
-protected:
- void timerEvent(QTimerEvent *event);
-
-private:
- QBasicTimer m_timer;
- QTime m_firstChange;
-
-};
-
-#endif // AUTOSAVER_H
-
diff --git a/examples/gestures/browser/bookmarks.cpp b/examples/gestures/browser/bookmarks.cpp
deleted file mode 100644
index 125bcbe..0000000
--- a/examples/gestures/browser/bookmarks.cpp
+++ /dev/null
@@ -1,987 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "bookmarks.h"
-
-#include "autosaver.h"
-#include "browserapplication.h"
-#include "history.h"
-#include "xbel.h"
-
-#include <QtCore/QBuffer>
-#include <QtCore/QFile>
-#include <QtCore/QMimeData>
-
-#include <QtGui/QDesktopServices>
-#include <QtGui/QDragEnterEvent>
-#include <QtGui/QFileDialog>
-#include <QtGui/QHeaderView>
-#include <QtGui/QIcon>
-#include <QtGui/QMessageBox>
-#include <QtGui/QToolButton>
-
-#include <QtWebKit/QWebSettings>
-
-#include <QtCore/QDebug>
-
-#define BOOKMARKBAR "Bookmarks Bar"
-#define BOOKMARKMENU "Bookmarks Menu"
-
-BookmarksManager::BookmarksManager(QObject *parent)
- : QObject(parent)
- , m_loaded(false)
- , m_saveTimer(new AutoSaver(this))
- , m_bookmarkRootNode(0)
- , m_bookmarkModel(0)
-{
- connect(this, SIGNAL(entryAdded(BookmarkNode *)),
- m_saveTimer, SLOT(changeOccurred()));
- connect(this, SIGNAL(entryRemoved(BookmarkNode *, int, BookmarkNode *)),
- m_saveTimer, SLOT(changeOccurred()));
- connect(this, SIGNAL(entryChanged(BookmarkNode *)),
- m_saveTimer, SLOT(changeOccurred()));
-}
-
-BookmarksManager::~BookmarksManager()
-{
- m_saveTimer->saveIfNeccessary();
-}
-
-void BookmarksManager::changeExpanded()
-{
- m_saveTimer->changeOccurred();
-}
-
-void BookmarksManager::load()
-{
- if (m_loaded)
- return;
- m_loaded = true;
-
- QString dir = QDesktopServices::storageLocation(QDesktopServices::DataLocation);
- QString bookmarkFile = dir + QLatin1String("/bookmarks.xbel");
- if (!QFile::exists(bookmarkFile))
- bookmarkFile = QLatin1String(":defaultbookmarks.xbel");
-
- XbelReader reader;
- m_bookmarkRootNode = reader.read(bookmarkFile);
- if (reader.error() != QXmlStreamReader::NoError) {
- QMessageBox::warning(0, QLatin1String("Loading Bookmark"),
- tr("Error when loading bookmarks on line %1, column %2:\n"
- "%3").arg(reader.lineNumber()).arg(reader.columnNumber()).arg(reader.errorString()));
- }
-
- BookmarkNode *toolbar = 0;
- BookmarkNode *menu = 0;
- QList<BookmarkNode*> others;
- for (int i = m_bookmarkRootNode->children().count() - 1; i >= 0; --i) {
- BookmarkNode *node = m_bookmarkRootNode->children().at(i);
- if (node->type() == BookmarkNode::Folder) {
- // Automatically convert
- if (node->title == tr("Toolbar Bookmarks") && !toolbar) {
- node->title = tr(BOOKMARKBAR);
- }
- if (node->title == tr(BOOKMARKBAR) && !toolbar) {
- toolbar = node;
- }
-
- // Automatically convert
- if (node->title == tr("Menu") && !menu) {
- node->title = tr(BOOKMARKMENU);
- }
- if (node->title == tr(BOOKMARKMENU) && !menu) {
- menu = node;
- }
- } else {
- others.append(node);
- }
- m_bookmarkRootNode->remove(node);
- }
- Q_ASSERT(m_bookmarkRootNode->children().count() == 0);
- if (!toolbar) {
- toolbar = new BookmarkNode(BookmarkNode::Folder, m_bookmarkRootNode);
- toolbar->title = tr(BOOKMARKBAR);
- } else {
- m_bookmarkRootNode->add(toolbar);
- }
-
- if (!menu) {
- menu = new BookmarkNode(BookmarkNode::Folder, m_bookmarkRootNode);
- menu->title = tr(BOOKMARKMENU);
- } else {
- m_bookmarkRootNode->add(menu);
- }
-
- for (int i = 0; i < others.count(); ++i)
- menu->add(others.at(i));
-}
-
-void BookmarksManager::save() const
-{
- if (!m_loaded)
- return;
-
- XbelWriter writer;
- QString dir = QDesktopServices::storageLocation(QDesktopServices::DataLocation);
- QString bookmarkFile = dir + QLatin1String("/bookmarks.xbel");
- if (!writer.write(bookmarkFile, m_bookmarkRootNode))
- qWarning() << "BookmarkManager: error saving to" << bookmarkFile;
-}
-
-void BookmarksManager::addBookmark(BookmarkNode *parent, BookmarkNode *node, int row)
-{
- if (!m_loaded)
- return;
- Q_ASSERT(parent);
- InsertBookmarksCommand *command = new InsertBookmarksCommand(this, parent, node, row);
- m_commands.push(command);
-}
-
-void BookmarksManager::removeBookmark(BookmarkNode *node)
-{
- if (!m_loaded)
- return;
-
- Q_ASSERT(node);
- BookmarkNode *parent = node->parent();
- int row = parent->children().indexOf(node);
- RemoveBookmarksCommand *command = new RemoveBookmarksCommand(this, parent, row);
- m_commands.push(command);
-}
-
-void BookmarksManager::setTitle(BookmarkNode *node, const QString &newTitle)
-{
- if (!m_loaded)
- return;
-
- Q_ASSERT(node);
- ChangeBookmarkCommand *command = new ChangeBookmarkCommand(this, node, newTitle, true);
- m_commands.push(command);
-}
-
-void BookmarksManager::setUrl(BookmarkNode *node, const QString &newUrl)
-{
- if (!m_loaded)
- return;
-
- Q_ASSERT(node);
- ChangeBookmarkCommand *command = new ChangeBookmarkCommand(this, node, newUrl, false);
- m_commands.push(command);
-}
-
-BookmarkNode *BookmarksManager::bookmarks()
-{
- if (!m_loaded)
- load();
- return m_bookmarkRootNode;
-}
-
-BookmarkNode *BookmarksManager::menu()
-{
- if (!m_loaded)
- load();
-
- for (int i = m_bookmarkRootNode->children().count() - 1; i >= 0; --i) {
- BookmarkNode *node = m_bookmarkRootNode->children().at(i);
- if (node->title == tr(BOOKMARKMENU))
- return node;
- }
- Q_ASSERT(false);
- return 0;
-}
-
-BookmarkNode *BookmarksManager::toolbar()
-{
- if (!m_loaded)
- load();
-
- for (int i = m_bookmarkRootNode->children().count() - 1; i >= 0; --i) {
- BookmarkNode *node = m_bookmarkRootNode->children().at(i);
- if (node->title == tr(BOOKMARKBAR))
- return node;
- }
- Q_ASSERT(false);
- return 0;
-}
-
-BookmarksModel *BookmarksManager::bookmarksModel()
-{
- if (!m_bookmarkModel)
- m_bookmarkModel = new BookmarksModel(this, this);
- return m_bookmarkModel;
-}
-
-void BookmarksManager::importBookmarks()
-{
- QString fileName = QFileDialog::getOpenFileName(0, tr("Open File"),
- QString(),
- tr("XBEL (*.xbel *.xml)"));
- if (fileName.isEmpty())
- return;
-
- XbelReader reader;
- BookmarkNode *importRootNode = reader.read(fileName);
- if (reader.error() != QXmlStreamReader::NoError) {
- QMessageBox::warning(0, QLatin1String("Loading Bookmark"),
- tr("Error when loading bookmarks on line %1, column %2:\n"
- "%3").arg(reader.lineNumber()).arg(reader.columnNumber()).arg(reader.errorString()));
- }
-
- importRootNode->setType(BookmarkNode::Folder);
- importRootNode->title = (tr("Imported %1").arg(QDate::currentDate().toString(Qt::SystemLocaleShortDate)));
- addBookmark(menu(), importRootNode);
-}
-
-void BookmarksManager::exportBookmarks()
-{
- QString fileName = QFileDialog::getSaveFileName(0, tr("Save File"),
- tr("%1 Bookmarks.xbel").arg(QCoreApplication::applicationName()),
- tr("XBEL (*.xbel *.xml)"));
- if (fileName.isEmpty())
- return;
-
- XbelWriter writer;
- if (!writer.write(fileName, m_bookmarkRootNode))
- QMessageBox::critical(0, tr("Export error"), tr("error saving bookmarks"));
-}
-
-RemoveBookmarksCommand::RemoveBookmarksCommand(BookmarksManager *m_bookmarkManagaer, BookmarkNode *parent, int row)
- : QUndoCommand(BookmarksManager::tr("Remove Bookmark"))
- , m_row(row)
- , m_bookmarkManagaer(m_bookmarkManagaer)
- , m_node(parent->children().value(row))
- , m_parent(parent)
- , m_done(false)
-{
-}
-
-RemoveBookmarksCommand::~RemoveBookmarksCommand()
-{
- if (m_done && !m_node->parent()) {
- delete m_node;
- }
-}
-
-void RemoveBookmarksCommand::undo()
-{
- m_parent->add(m_node, m_row);
- emit m_bookmarkManagaer->entryAdded(m_node);
- m_done = false;
-}
-
-void RemoveBookmarksCommand::redo()
-{
- m_parent->remove(m_node);
- emit m_bookmarkManagaer->entryRemoved(m_parent, m_row, m_node);
- m_done = true;
-}
-
-InsertBookmarksCommand::InsertBookmarksCommand(BookmarksManager *m_bookmarkManagaer,
- BookmarkNode *parent, BookmarkNode *node, int row)
- : RemoveBookmarksCommand(m_bookmarkManagaer, parent, row)
-{
- setText(BookmarksManager::tr("Insert Bookmark"));
- m_node = node;
-}
-
-ChangeBookmarkCommand::ChangeBookmarkCommand(BookmarksManager *m_bookmarkManagaer, BookmarkNode *node,
- const QString &newValue, bool title)
- : QUndoCommand()
- , m_bookmarkManagaer(m_bookmarkManagaer)
- , m_title(title)
- , m_newValue(newValue)
- , m_node(node)
-{
- if (m_title) {
- m_oldValue = m_node->title;
- setText(BookmarksManager::tr("Name Change"));
- } else {
- m_oldValue = m_node->url;
- setText(BookmarksManager::tr("Address Change"));
- }
-}
-
-void ChangeBookmarkCommand::undo()
-{
- if (m_title)
- m_node->title = m_oldValue;
- else
- m_node->url = m_oldValue;
- emit m_bookmarkManagaer->entryChanged(m_node);
-}
-
-void ChangeBookmarkCommand::redo()
-{
- if (m_title)
- m_node->title = m_newValue;
- else
- m_node->url = m_newValue;
- emit m_bookmarkManagaer->entryChanged(m_node);
-}
-
-BookmarksModel::BookmarksModel(BookmarksManager *bookmarkManager, QObject *parent)
- : QAbstractItemModel(parent)
- , m_endMacro(false)
- , m_bookmarksManager(bookmarkManager)
-{
- connect(bookmarkManager, SIGNAL(entryAdded(BookmarkNode *)),
- this, SLOT(entryAdded(BookmarkNode *)));
- connect(bookmarkManager, SIGNAL(entryRemoved(BookmarkNode *, int, BookmarkNode *)),
- this, SLOT(entryRemoved(BookmarkNode *, int, BookmarkNode *)));
- connect(bookmarkManager, SIGNAL(entryChanged(BookmarkNode *)),
- this, SLOT(entryChanged(BookmarkNode *)));
-}
-
-QModelIndex BookmarksModel::index(BookmarkNode *node) const
-{
- BookmarkNode *parent = node->parent();
- if (!parent)
- return QModelIndex();
- return createIndex(parent->children().indexOf(node), 0, node);
-}
-
-void BookmarksModel::entryAdded(BookmarkNode *item)
-{
- Q_ASSERT(item && item->parent());
- int row = item->parent()->children().indexOf(item);
- BookmarkNode *parent = item->parent();
- // item was already added so remove beore beginInsertRows is called
- parent->remove(item);
- beginInsertRows(index(parent), row, row);
- parent->add(item, row);
- endInsertRows();
-}
-
-void BookmarksModel::entryRemoved(BookmarkNode *parent, int row, BookmarkNode *item)
-{
- // item was already removed, re-add so beginRemoveRows works
- parent->add(item, row);
- beginRemoveRows(index(parent), row, row);
- parent->remove(item);
- endRemoveRows();
-}
-
-void BookmarksModel::entryChanged(BookmarkNode *item)
-{
- QModelIndex idx = index(item);
- emit dataChanged(idx, idx);
-}
-
-bool BookmarksModel::removeRows(int row, int count, const QModelIndex &parent)
-{
- if (row < 0 || count <= 0 || row + count > rowCount(parent))
- return false;
-
- BookmarkNode *bookmarkNode = node(parent);
- for (int i = row + count - 1; i >= row; --i) {
- BookmarkNode *node = bookmarkNode->children().at(i);
- if (node == m_bookmarksManager->menu()
- || node == m_bookmarksManager->toolbar())
- continue;
-
- m_bookmarksManager->removeBookmark(node);
- }
- if (m_endMacro) {
- m_bookmarksManager->undoRedoStack()->endMacro();
- m_endMacro = false;
- }
- return true;
-}
-
-QVariant BookmarksModel::headerData(int section, Qt::Orientation orientation, int role) const
-{
- if (orientation == Qt::Horizontal && role == Qt::DisplayRole) {
- switch (section) {
- case 0: return tr("Title");
- case 1: return tr("Address");
- }
- }
- return QAbstractItemModel::headerData(section, orientation, role);
-}
-
-QVariant BookmarksModel::data(const QModelIndex &index, int role) const
-{
- if (!index.isValid() || index.model() != this)
- return QVariant();
-
- const BookmarkNode *bookmarkNode = node(index);
- switch (role) {
- case Qt::EditRole:
- case Qt::DisplayRole:
- if (bookmarkNode->type() == BookmarkNode::Separator) {
- switch (index.column()) {
- case 0: return QString(50, 0xB7);
- case 1: return QString();
- }
- }
-
- switch (index.column()) {
- case 0: return bookmarkNode->title;
- case 1: return bookmarkNode->url;
- }
- break;
- case BookmarksModel::UrlRole:
- return QUrl(bookmarkNode->url);
- break;
- case BookmarksModel::UrlStringRole:
- return bookmarkNode->url;
- break;
- case BookmarksModel::TypeRole:
- return bookmarkNode->type();
- break;
- case BookmarksModel::SeparatorRole:
- return (bookmarkNode->type() == BookmarkNode::Separator);
- break;
- case Qt::DecorationRole:
- if (index.column() == 0) {
- if (bookmarkNode->type() == BookmarkNode::Folder)
- return QApplication::style()->standardIcon(QStyle::SP_DirIcon);
- return BrowserApplication::instance()->icon(bookmarkNode->url);
- }
- }
-
- return QVariant();
-}
-
-int BookmarksModel::columnCount(const QModelIndex &parent) const
-{
- return (parent.column() > 0) ? 0 : 2;
-}
-
-int BookmarksModel::rowCount(const QModelIndex &parent) const
-{
- if (parent.column() > 0)
- return 0;
-
- if (!parent.isValid())
- return m_bookmarksManager->bookmarks()->children().count();
-
- const BookmarkNode *item = static_cast<BookmarkNode*>(parent.internalPointer());
- return item->children().count();
-}
-
-QModelIndex BookmarksModel::index(int row, int column, const QModelIndex &parent) const
-{
- if (row < 0 || column < 0 || row >= rowCount(parent) || column >= columnCount(parent))
- return QModelIndex();
-
- // get the parent node
- BookmarkNode *parentNode = node(parent);
- return createIndex(row, column, parentNode->children().at(row));
-}
-
-QModelIndex BookmarksModel::parent(const QModelIndex &index) const
-{
- if (!index.isValid())
- return QModelIndex();
-
- BookmarkNode *itemNode = node(index);
- BookmarkNode *parentNode = (itemNode ? itemNode->parent() : 0);
- if (!parentNode || parentNode == m_bookmarksManager->bookmarks())
- return QModelIndex();
-
- // get the parent's row
- BookmarkNode *grandParentNode = parentNode->parent();
- int parentRow = grandParentNode->children().indexOf(parentNode);
- Q_ASSERT(parentRow >= 0);
- return createIndex(parentRow, 0, parentNode);
-}
-
-bool BookmarksModel::hasChildren(const QModelIndex &parent) const
-{
- if (!parent.isValid())
- return true;
- const BookmarkNode *parentNode = node(parent);
- return (parentNode->type() == BookmarkNode::Folder);
-}
-
-Qt::ItemFlags BookmarksModel::flags(const QModelIndex &index) const
-{
- if (!index.isValid())
- return Qt::NoItemFlags;
-
- Qt::ItemFlags flags = Qt::ItemIsSelectable | Qt::ItemIsEnabled;
-
- BookmarkNode *bookmarkNode = node(index);
-
- if (bookmarkNode != m_bookmarksManager->menu()
- && bookmarkNode != m_bookmarksManager->toolbar()) {
- flags |= Qt::ItemIsDragEnabled;
- if (bookmarkNode->type() != BookmarkNode::Separator)
- flags |= Qt::ItemIsEditable;
- }
- if (hasChildren(index))
- flags |= Qt::ItemIsDropEnabled;
- return flags;
-}
-
-Qt::DropActions BookmarksModel::supportedDropActions () const
-{
- return Qt::CopyAction | Qt::MoveAction;
-}
-
-#define MIMETYPE QLatin1String("application/bookmarks.xbel")
-
-QStringList BookmarksModel::mimeTypes() const
-{
- QStringList types;
- types << MIMETYPE;
- return types;
-}
-
-QMimeData *BookmarksModel::mimeData(const QModelIndexList &indexes) const
-{
- QMimeData *mimeData = new QMimeData();
- QByteArray data;
- QDataStream stream(&data, QIODevice::WriteOnly);
- foreach (QModelIndex index, indexes) {
- if (index.column() != 0 || !index.isValid())
- continue;
- QByteArray encodedData;
- QBuffer buffer(&encodedData);
- buffer.open(QBuffer::ReadWrite);
- XbelWriter writer;
- const BookmarkNode *parentNode = node(index);
- writer.write(&buffer, parentNode);
- stream << encodedData;
- }
- mimeData->setData(MIMETYPE, data);
- return mimeData;
-}
-
-bool BookmarksModel::dropMimeData(const QMimeData *data,
- Qt::DropAction action, int row, int column, const QModelIndex &parent)
-{
- if (action == Qt::IgnoreAction)
- return true;
-
- if (!data->hasFormat(MIMETYPE)
- || column > 0)
- return false;
-
- QByteArray ba = data->data(MIMETYPE);
- QDataStream stream(&ba, QIODevice::ReadOnly);
- if (stream.atEnd())
- return false;
-
- QUndoStack *undoStack = m_bookmarksManager->undoRedoStack();
- undoStack->beginMacro(QLatin1String("Move Bookmarks"));
-
- while (!stream.atEnd()) {
- QByteArray encodedData;
- stream >> encodedData;
- QBuffer buffer(&encodedData);
- buffer.open(QBuffer::ReadOnly);
-
- XbelReader reader;
- BookmarkNode *rootNode = reader.read(&buffer);
- QList<BookmarkNode*> children = rootNode->children();
- for (int i = 0; i < children.count(); ++i) {
- BookmarkNode *bookmarkNode = children.at(i);
- rootNode->remove(bookmarkNode);
- row = qMax(0, row);
- BookmarkNode *parentNode = node(parent);
- m_bookmarksManager->addBookmark(parentNode, bookmarkNode, row);
- m_endMacro = true;
- }
- delete rootNode;
- }
- return true;
-}
-
-bool BookmarksModel::setData(const QModelIndex &index, const QVariant &value, int role)
-{
- if (!index.isValid() || (flags(index) & Qt::ItemIsEditable) == 0)
- return false;
-
- BookmarkNode *item = node(index);
-
- switch (role) {
- case Qt::EditRole:
- case Qt::DisplayRole:
- if (index.column() == 0) {
- m_bookmarksManager->setTitle(item, value.toString());
- break;
- }
- if (index.column() == 1) {
- m_bookmarksManager->setUrl(item, value.toString());
- break;
- }
- return false;
- case BookmarksModel::UrlRole:
- m_bookmarksManager->setUrl(item, value.toUrl().toString());
- break;
- case BookmarksModel::UrlStringRole:
- m_bookmarksManager->setUrl(item, value.toString());
- break;
- default:
- break;
- return false;
- }
-
- return true;
-}
-
-BookmarkNode *BookmarksModel::node(const QModelIndex &index) const
-{
- BookmarkNode *itemNode = static_cast<BookmarkNode*>(index.internalPointer());
- if (!itemNode)
- return m_bookmarksManager->bookmarks();
- return itemNode;
-}
-
-
-AddBookmarkProxyModel::AddBookmarkProxyModel(QObject *parent)
- : QSortFilterProxyModel(parent)
-{
-}
-
-int AddBookmarkProxyModel::columnCount(const QModelIndex &parent) const
-{
- return qMin(1, QSortFilterProxyModel::columnCount(parent));
-}
-
-bool AddBookmarkProxyModel::filterAcceptsRow(int source_row, const QModelIndex &source_parent) const
-{
- QModelIndex idx = sourceModel()->index(source_row, 0, source_parent);
- return sourceModel()->hasChildren(idx);
-}
-
-AddBookmarkDialog::AddBookmarkDialog(const QString &url, const QString &title, QWidget *parent, BookmarksManager *bookmarkManager)
- : QDialog(parent)
- , m_url(url)
- , m_bookmarksManager(bookmarkManager)
-{
- setWindowFlags(Qt::Sheet);
- if (!m_bookmarksManager)
- m_bookmarksManager = BrowserApplication::bookmarksManager();
- setupUi(this);
- QTreeView *view = new QTreeView(this);
- m_proxyModel = new AddBookmarkProxyModel(this);
- BookmarksModel *model = m_bookmarksManager->bookmarksModel();
- m_proxyModel->setSourceModel(model);
- view->setModel(m_proxyModel);
- view->expandAll();
- view->header()->setStretchLastSection(true);
- view->header()->hide();
- view->setItemsExpandable(false);
- view->setRootIsDecorated(false);
- view->setIndentation(10);
- location->setModel(m_proxyModel);
- view->show();
- location->setView(view);
- BookmarkNode *menu = m_bookmarksManager->menu();
- QModelIndex idx = m_proxyModel->mapFromSource(model->index(menu));
- view->setCurrentIndex(idx);
- location->setCurrentIndex(idx.row());
- name->setText(title);
-}
-
-void AddBookmarkDialog::accept()
-{
- QModelIndex index = location->view()->currentIndex();
- index = m_proxyModel->mapToSource(index);
- if (!index.isValid())
- index = m_bookmarksManager->bookmarksModel()->index(0, 0);
- BookmarkNode *parent = m_bookmarksManager->bookmarksModel()->node(index);
- BookmarkNode *bookmark = new BookmarkNode(BookmarkNode::Bookmark);
- bookmark->url = m_url;
- bookmark->title = name->text();
- m_bookmarksManager->addBookmark(parent, bookmark);
- QDialog::accept();
-}
-
-BookmarksMenu::BookmarksMenu(QWidget *parent)
- : ModelMenu(parent)
- , m_bookmarksManager(0)
-{
- connect(this, SIGNAL(activated(const QModelIndex &)),
- this, SLOT(activated(const QModelIndex &)));
- setMaxRows(-1);
- setHoverRole(BookmarksModel::UrlStringRole);
- setSeparatorRole(BookmarksModel::SeparatorRole);
-}
-
-void BookmarksMenu::activated(const QModelIndex &index)
-{
- emit openUrl(index.data(BookmarksModel::UrlRole).toUrl());
-}
-
-bool BookmarksMenu::prePopulated()
-{
- m_bookmarksManager = BrowserApplication::bookmarksManager();
- setModel(m_bookmarksManager->bookmarksModel());
- setRootIndex(m_bookmarksManager->bookmarksModel()->index(1, 0));
- // initial actions
- for (int i = 0; i < m_initialActions.count(); ++i)
- addAction(m_initialActions.at(i));
- if (!m_initialActions.isEmpty())
- addSeparator();
- createMenu(model()->index(0, 0), 1, this);
- return true;
-}
-
-void BookmarksMenu::setInitialActions(QList<QAction*> actions)
-{
- m_initialActions = actions;
- for (int i = 0; i < m_initialActions.count(); ++i)
- addAction(m_initialActions.at(i));
-}
-
-BookmarksDialog::BookmarksDialog(QWidget *parent, BookmarksManager *manager)
- : QDialog(parent)
-{
- m_bookmarksManager = manager;
- if (!m_bookmarksManager)
- m_bookmarksManager = BrowserApplication::bookmarksManager();
- setupUi(this);
-
- tree->setUniformRowHeights(true);
- tree->setSelectionBehavior(QAbstractItemView::SelectRows);
- tree->setSelectionMode(QAbstractItemView::ContiguousSelection);
- tree->setTextElideMode(Qt::ElideMiddle);
- m_bookmarksModel = m_bookmarksManager->bookmarksModel();
- m_proxyModel = new TreeProxyModel(this);
- connect(search, SIGNAL(textChanged(QString)),
- m_proxyModel, SLOT(setFilterFixedString(QString)));
- connect(removeButton, SIGNAL(clicked()), tree, SLOT(removeOne()));
- m_proxyModel->setSourceModel(m_bookmarksModel);
- tree->setModel(m_proxyModel);
- tree->setDragDropMode(QAbstractItemView::InternalMove);
- tree->setExpanded(m_proxyModel->index(0, 0), true);
- tree->setAlternatingRowColors(true);
- QFontMetrics fm(font());
- int header = fm.width(QLatin1Char('m')) * 40;
- tree->header()->resizeSection(0, header);
- tree->header()->setStretchLastSection(true);
- connect(tree, SIGNAL(activated(const QModelIndex&)),
- this, SLOT(open()));
- tree->setContextMenuPolicy(Qt::CustomContextMenu);
- connect(tree, SIGNAL(customContextMenuRequested(const QPoint &)),
- this, SLOT(customContextMenuRequested(const QPoint &)));
- connect(addFolderButton, SIGNAL(clicked()),
- this, SLOT(newFolder()));
- expandNodes(m_bookmarksManager->bookmarks());
- setAttribute(Qt::WA_DeleteOnClose);
-}
-
-BookmarksDialog::~BookmarksDialog()
-{
- if (saveExpandedNodes(tree->rootIndex()))
- m_bookmarksManager->changeExpanded();
-}
-
-bool BookmarksDialog::saveExpandedNodes(const QModelIndex &parent)
-{
- bool changed = false;
- for (int i = 0; i < m_proxyModel->rowCount(parent); ++i) {
- QModelIndex child = m_proxyModel->index(i, 0, parent);
- QModelIndex sourceIndex = m_proxyModel->mapToSource(child);
- BookmarkNode *childNode = m_bookmarksModel->node(sourceIndex);
- bool wasExpanded = childNode->expanded;
- if (tree->isExpanded(child)) {
- childNode->expanded = true;
- changed |= saveExpandedNodes(child);
- } else {
- childNode->expanded = false;
- }
- changed |= (wasExpanded != childNode->expanded);
- }
- return changed;
-}
-
-void BookmarksDialog::expandNodes(BookmarkNode *node)
-{
- for (int i = 0; i < node->children().count(); ++i) {
- BookmarkNode *childNode = node->children()[i];
- if (childNode->expanded) {
- QModelIndex idx = m_bookmarksModel->index(childNode);
- idx = m_proxyModel->mapFromSource(idx);
- tree->setExpanded(idx, true);
- expandNodes(childNode);
- }
- }
-}
-
-void BookmarksDialog::customContextMenuRequested(const QPoint &pos)
-{
- QMenu menu;
- QModelIndex index = tree->indexAt(pos);
- index = index.sibling(index.row(), 0);
- if (index.isValid() && !tree->model()->hasChildren(index)) {
- menu.addAction(tr("Open"), this, SLOT(open()));
- menu.addSeparator();
- }
- menu.addAction(tr("Delete"), tree, SLOT(removeOne()));
- menu.exec(QCursor::pos());
-}
-
-void BookmarksDialog::open()
-{
- QModelIndex index = tree->currentIndex();
- if (!index.parent().isValid())
- return;
- emit openUrl(index.sibling(index.row(), 1).data(BookmarksModel::UrlRole).toUrl());
-}
-
-void BookmarksDialog::newFolder()
-{
- QModelIndex currentIndex = tree->currentIndex();
- QModelIndex idx = currentIndex;
- if (idx.isValid() && !idx.model()->hasChildren(idx))
- idx = idx.parent();
- if (!idx.isValid())
- idx = tree->rootIndex();
- idx = m_proxyModel->mapToSource(idx);
- BookmarkNode *parent = m_bookmarksManager->bookmarksModel()->node(idx);
- BookmarkNode *node = new BookmarkNode(BookmarkNode::Folder);
- node->title = tr("New Folder");
- m_bookmarksManager->addBookmark(parent, node, currentIndex.row() + 1);
-}
-
-BookmarksToolBar::BookmarksToolBar(BookmarksModel *model, QWidget *parent)
- : QToolBar(tr("Bookmark"), parent)
- , m_bookmarksModel(model)
-{
- connect(this, SIGNAL(actionTriggered(QAction*)), this, SLOT(triggered(QAction*)));
- setRootIndex(model->index(0, 0));
- connect(m_bookmarksModel, SIGNAL(modelReset()), this, SLOT(build()));
- connect(m_bookmarksModel, SIGNAL(rowsInserted(const QModelIndex &, int, int)), this, SLOT(build()));
- connect(m_bookmarksModel, SIGNAL(rowsRemoved(const QModelIndex &, int, int)), this, SLOT(build()));
- connect(m_bookmarksModel, SIGNAL(dataChanged(const QModelIndex &, const QModelIndex &)), this, SLOT(build()));
- setAcceptDrops(true);
-}
-
-void BookmarksToolBar::dragEnterEvent(QDragEnterEvent *event)
-{
- const QMimeData *mimeData = event->mimeData();
- if (mimeData->hasUrls())
- event->acceptProposedAction();
- QToolBar::dragEnterEvent(event);
-}
-
-void BookmarksToolBar::dropEvent(QDropEvent *event)
-{
- const QMimeData *mimeData = event->mimeData();
- if (mimeData->hasUrls() && mimeData->hasText()) {
- QList<QUrl> urls = mimeData->urls();
- QAction *action = actionAt(event->pos());
- QString dropText;
- if (action)
- dropText = action->text();
- int row = -1;
- QModelIndex parentIndex = m_root;
- for (int i = 0; i < m_bookmarksModel->rowCount(m_root); ++i) {
- QModelIndex idx = m_bookmarksModel->index(i, 0, m_root);
- QString title = idx.data().toString();
- if (title == dropText) {
- row = i;
- if (m_bookmarksModel->hasChildren(idx)) {
- parentIndex = idx;
- row = -1;
- }
- break;
- }
- }
- BookmarkNode *bookmark = new BookmarkNode(BookmarkNode::Bookmark);
- bookmark->url = urls.at(0).toString();
- bookmark->title = mimeData->text();
-
- BookmarkNode *parent = m_bookmarksModel->node(parentIndex);
- BookmarksManager *bookmarksManager = m_bookmarksModel->bookmarksManager();
- bookmarksManager->addBookmark(parent, bookmark, row);
- event->acceptProposedAction();
- }
- QToolBar::dropEvent(event);
-}
-
-
-void BookmarksToolBar::setRootIndex(const QModelIndex &index)
-{
- m_root = index;
- build();
-}
-
-QModelIndex BookmarksToolBar::rootIndex() const
-{
- return m_root;
-}
-
-void BookmarksToolBar::build()
-{
- clear();
- for (int i = 0; i < m_bookmarksModel->rowCount(m_root); ++i) {
- QModelIndex idx = m_bookmarksModel->index(i, 0, m_root);
- if (m_bookmarksModel->hasChildren(idx)) {
- QToolButton *button = new QToolButton(this);
- button->setPopupMode(QToolButton::InstantPopup);
- button->setArrowType(Qt::DownArrow);
- button->setText(idx.data().toString());
- ModelMenu *menu = new ModelMenu(this);
- connect(menu, SIGNAL(activated(const QModelIndex &)),
- this, SLOT(activated(const QModelIndex &)));
- menu->setModel(m_bookmarksModel);
- menu->setRootIndex(idx);
- menu->addAction(new QAction(menu));
- button->setMenu(menu);
- button->setToolButtonStyle(Qt::ToolButtonTextOnly);
- QAction *a = addWidget(button);
- a->setText(idx.data().toString());
- } else {
- QAction *action = addAction(idx.data().toString());
- action->setData(idx.data(BookmarksModel::UrlRole));
- }
- }
-}
-
-void BookmarksToolBar::triggered(QAction *action)
-{
- QVariant v = action->data();
- if (v.canConvert<QUrl>()) {
- emit openUrl(v.toUrl());
- }
-}
-
-void BookmarksToolBar::activated(const QModelIndex &index)
-{
- emit openUrl(index.data(BookmarksModel::UrlRole).toUrl());
-}
-
diff --git a/examples/gestures/browser/bookmarks.h b/examples/gestures/browser/bookmarks.h
deleted file mode 100644
index 7fcdae1..0000000
--- a/examples/gestures/browser/bookmarks.h
+++ /dev/null
@@ -1,310 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef BOOKMARKS_H
-#define BOOKMARKS_H
-
-#include <QtCore/QObject>
-#include <QtCore/QAbstractItemModel>
-
-#include <QtGui/QUndoCommand>
-
-/*!
- Bookmark manager, owner of the bookmarks, loads, saves and basic tasks
- */
-class AutoSaver;
-class BookmarkNode;
-class BookmarksModel;
-class BookmarksManager : public QObject
-{
- Q_OBJECT
-
-signals:
- void entryAdded(BookmarkNode *item);
- void entryRemoved(BookmarkNode *parent, int row, BookmarkNode *item);
- void entryChanged(BookmarkNode *item);
-
-public:
- BookmarksManager(QObject *parent = 0);
- ~BookmarksManager();
-
- void addBookmark(BookmarkNode *parent, BookmarkNode *node, int row = -1);
- void removeBookmark(BookmarkNode *node);
- void setTitle(BookmarkNode *node, const QString &newTitle);
- void setUrl(BookmarkNode *node, const QString &newUrl);
- void changeExpanded();
-
- BookmarkNode *bookmarks();
- BookmarkNode *menu();
- BookmarkNode *toolbar();
-
- BookmarksModel *bookmarksModel();
- QUndoStack *undoRedoStack() { return &m_commands; };
-
-public slots:
- void importBookmarks();
- void exportBookmarks();
-
-private slots:
- void save() const;
-
-private:
- void load();
-
- bool m_loaded;
- AutoSaver *m_saveTimer;
- BookmarkNode *m_bookmarkRootNode;
- BookmarksModel *m_bookmarkModel;
- QUndoStack m_commands;
-
- friend class RemoveBookmarksCommand;
- friend class ChangeBookmarkCommand;
-};
-
-class RemoveBookmarksCommand : public QUndoCommand
-{
-
-public:
- RemoveBookmarksCommand(BookmarksManager *m_bookmarkManagaer, BookmarkNode *parent, int row);
- ~RemoveBookmarksCommand();
- void undo();
- void redo();
-
-protected:
- int m_row;
- BookmarksManager *m_bookmarkManagaer;
- BookmarkNode *m_node;
- BookmarkNode *m_parent;
- bool m_done;
-};
-
-class InsertBookmarksCommand : public RemoveBookmarksCommand
-{
-
-public:
- InsertBookmarksCommand(BookmarksManager *m_bookmarkManagaer,
- BookmarkNode *parent, BookmarkNode *node, int row);
- void undo() { RemoveBookmarksCommand::redo(); }
- void redo() { RemoveBookmarksCommand::undo(); }
-
-};
-
-class ChangeBookmarkCommand : public QUndoCommand
-{
-
-public:
- ChangeBookmarkCommand(BookmarksManager *m_bookmarkManagaer,
- BookmarkNode *node, const QString &newValue, bool title);
- void undo();
- void redo();
-
-private:
- BookmarksManager *m_bookmarkManagaer;
- bool m_title;
- QString m_oldValue;
- QString m_newValue;
- BookmarkNode *m_node;
-};
-
-/*!
- BookmarksModel is a QAbstractItemModel wrapper around the BookmarkManager
- */
-#include <QtGui/QIcon>
-class BookmarksModel : public QAbstractItemModel
-{
- Q_OBJECT
-
-public slots:
- void entryAdded(BookmarkNode *item);
- void entryRemoved(BookmarkNode *parent, int row, BookmarkNode *item);
- void entryChanged(BookmarkNode *item);
-
-public:
- enum Roles {
- TypeRole = Qt::UserRole + 1,
- UrlRole = Qt::UserRole + 2,
- UrlStringRole = Qt::UserRole + 3,
- SeparatorRole = Qt::UserRole + 4
- };
-
- BookmarksModel(BookmarksManager *bookmarkManager, QObject *parent = 0);
- inline BookmarksManager *bookmarksManager() const { return m_bookmarksManager; }
-
- QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const;
- QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const;
- int columnCount(const QModelIndex &parent = QModelIndex()) const;
- int rowCount(const QModelIndex &parent = QModelIndex()) const;
- QModelIndex index(int, int, const QModelIndex& = QModelIndex()) const;
- QModelIndex parent(const QModelIndex& index= QModelIndex()) const;
- Qt::ItemFlags flags(const QModelIndex &index) const;
- Qt::DropActions supportedDropActions () const;
- bool removeRows(int row, int count, const QModelIndex &parent = QModelIndex());
- bool setData(const QModelIndex &index, const QVariant &value, int role = Qt::EditRole);
- QMimeData *mimeData(const QModelIndexList &indexes) const;
- QStringList mimeTypes() const;
- bool dropMimeData(const QMimeData *data,
- Qt::DropAction action, int row, int column, const QModelIndex &parent);
- bool hasChildren(const QModelIndex &parent = QModelIndex()) const;
-
- BookmarkNode *node(const QModelIndex &index) const;
- QModelIndex index(BookmarkNode *node) const;
-
-private:
-
- bool m_endMacro;
- BookmarksManager *m_bookmarksManager;
-};
-
-// Menu that is dynamically populated from the bookmarks
-#include "modelmenu.h"
-class BookmarksMenu : public ModelMenu
-{
- Q_OBJECT
-
-signals:
- void openUrl(const QUrl &url);
-
-public:
- BookmarksMenu(QWidget *parent = 0);
- void setInitialActions(QList<QAction*> actions);
-
-protected:
- bool prePopulated();
-
-private slots:
- void activated(const QModelIndex &index);
-
-private:
- BookmarksManager *m_bookmarksManager;
- QList<QAction*> m_initialActions;
-};
-
-/*
- Proxy model that filters out the bookmarks so only the folders
- are left behind. Used in the add bookmark dialog combobox.
- */
-#include <QtGui/QSortFilterProxyModel>
-class AddBookmarkProxyModel : public QSortFilterProxyModel
-{
- Q_OBJECT
-public:
- AddBookmarkProxyModel(QObject * parent = 0);
- int columnCount(const QModelIndex & parent = QModelIndex()) const;
-
-protected:
- bool filterAcceptsRow(int source_row, const QModelIndex &source_parent) const;
-};
-
-/*!
- Add bookmark dialog
- */
-#include "ui_addbookmarkdialog.h"
-class AddBookmarkDialog : public QDialog, public Ui_AddBookmarkDialog
-{
- Q_OBJECT
-
-public:
- AddBookmarkDialog(const QString &url, const QString &title, QWidget *parent = 0, BookmarksManager *bookmarkManager = 0);
-
-private slots:
- void accept();
-
-private:
- QString m_url;
- BookmarksManager *m_bookmarksManager;
- AddBookmarkProxyModel *m_proxyModel;
-};
-
-#include "ui_bookmarks.h"
-class TreeProxyModel;
-class BookmarksDialog : public QDialog, public Ui_BookmarksDialog
-{
- Q_OBJECT
-
-signals:
- void openUrl(const QUrl &url);
-
-public:
- BookmarksDialog(QWidget *parent = 0, BookmarksManager *manager = 0);
- ~BookmarksDialog();
-
-private slots:
- void customContextMenuRequested(const QPoint &pos);
- void open();
- void newFolder();
-
-private:
- void expandNodes(BookmarkNode *node);
- bool saveExpandedNodes(const QModelIndex &parent);
-
- BookmarksManager *m_bookmarksManager;
- BookmarksModel *m_bookmarksModel;
- TreeProxyModel *m_proxyModel;
-};
-
-#include <QtGui/QToolBar>
-class BookmarksToolBar : public QToolBar
-{
- Q_OBJECT
-
-signals:
- void openUrl(const QUrl &url);
-
-public:
- BookmarksToolBar(BookmarksModel *model, QWidget *parent = 0);
- void setRootIndex(const QModelIndex &index);
- QModelIndex rootIndex() const;
-
-protected:
- void dragEnterEvent(QDragEnterEvent *event);
- void dropEvent(QDropEvent *event);
-
-private slots:
- void triggered(QAction *action);
- void activated(const QModelIndex &index);
- void build();
-
-private:
- BookmarksModel *m_bookmarksModel;
- QPersistentModelIndex m_root;
-};
-
-#endif // BOOKMARKS_H
diff --git a/examples/gestures/browser/bookmarks.ui b/examples/gestures/browser/bookmarks.ui
deleted file mode 100644
index c893e94..0000000
--- a/examples/gestures/browser/bookmarks.ui
+++ /dev/null
@@ -1,106 +0,0 @@
-<ui version="4.0" >
- <class>BookmarksDialog</class>
- <widget class="QDialog" name="BookmarksDialog" >
- <property name="geometry" >
- <rect>
- <x>0</x>
- <y>0</y>
- <width>758</width>
- <height>450</height>
- </rect>
- </property>
- <property name="windowTitle" >
- <string>Bookmarks</string>
- </property>
- <layout class="QGridLayout" name="gridLayout" >
- <item row="0" column="0" >
- <spacer>
- <property name="orientation" >
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" stdset="0" >
- <size>
- <width>252</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- <item row="0" column="1" >
- <widget class="SearchLineEdit" name="search" />
- </item>
- <item row="1" column="0" colspan="2" >
- <widget class="EditTreeView" name="tree" />
- </item>
- <item row="2" column="0" colspan="2" >
- <layout class="QHBoxLayout" >
- <item>
- <widget class="QPushButton" name="removeButton" >
- <property name="text" >
- <string>&amp;Remove</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QPushButton" name="addFolderButton" >
- <property name="text" >
- <string>Add Folder</string>
- </property>
- </widget>
- </item>
- <item>
- <spacer>
- <property name="orientation" >
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" stdset="0" >
- <size>
- <width>40</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- <item>
- <widget class="QDialogButtonBox" name="buttonBox" >
- <property name="standardButtons" >
- <set>QDialogButtonBox::Ok</set>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- </layout>
- </widget>
- <customwidgets>
- <customwidget>
- <class>SearchLineEdit</class>
- <extends>QLineEdit</extends>
- <header>searchlineedit.h</header>
- </customwidget>
- <customwidget>
- <class>EditTreeView</class>
- <extends>QTreeView</extends>
- <header>edittreeview.h</header>
- </customwidget>
- </customwidgets>
- <resources/>
- <connections>
- <connection>
- <sender>buttonBox</sender>
- <signal>accepted()</signal>
- <receiver>BookmarksDialog</receiver>
- <slot>accept()</slot>
- <hints>
- <hint type="sourcelabel" >
- <x>472</x>
- <y>329</y>
- </hint>
- <hint type="destinationlabel" >
- <x>461</x>
- <y>356</y>
- </hint>
- </hints>
- </connection>
- </connections>
-</ui>
diff --git a/examples/gestures/browser/browser.icns b/examples/gestures/browser/browser.icns
deleted file mode 100644
index f591ae4..0000000
--- a/examples/gestures/browser/browser.icns
+++ /dev/null
Binary files differ
diff --git a/examples/gestures/browser/browser.ico b/examples/gestures/browser/browser.ico
deleted file mode 100644
index 7f9be93..0000000
--- a/examples/gestures/browser/browser.ico
+++ /dev/null
Binary files differ
diff --git a/examples/gestures/browser/browser.pro b/examples/gestures/browser/browser.pro
deleted file mode 100644
index d970f99..0000000
--- a/examples/gestures/browser/browser.pro
+++ /dev/null
@@ -1,91 +0,0 @@
-TEMPLATE = app
-TARGET = browser
-QT += webkit network
-
-CONFIG += qt warn_on
-contains(QT_BUILD_PARTS, tools): CONFIG += uitools
-else: DEFINES += QT_NO_UITOOLS
-
-FORMS += \
- addbookmarkdialog.ui \
- bookmarks.ui \
- cookies.ui \
- cookiesexceptions.ui \
- downloaditem.ui \
- downloads.ui \
- history.ui \
- passworddialog.ui \
- proxy.ui \
- settings.ui
-
-HEADERS += \
- autosaver.h \
- bookmarks.h \
- browserapplication.h \
- browsermainwindow.h \
- chasewidget.h \
- cookiejar.h \
- downloadmanager.h \
- edittableview.h \
- edittreeview.h \
- history.h \
- modelmenu.h \
- networkaccessmanager.h \
- searchlineedit.h \
- settings.h \
- squeezelabel.h \
- tabwidget.h \
- toolbarsearch.h \
- urllineedit.h \
- webview.h \
- xbel.h
-
-SOURCES += \
- autosaver.cpp \
- bookmarks.cpp \
- browserapplication.cpp \
- browsermainwindow.cpp \
- chasewidget.cpp \
- cookiejar.cpp \
- downloadmanager.cpp \
- edittableview.cpp \
- edittreeview.cpp \
- history.cpp \
- modelmenu.cpp \
- networkaccessmanager.cpp \
- searchlineedit.cpp \
- settings.cpp \
- squeezelabel.cpp \
- tabwidget.cpp \
- toolbarsearch.cpp \
- urllineedit.cpp \
- webview.cpp \
- xbel.cpp \
- main.cpp
-
-RESOURCES += data/data.qrc htmls/htmls.qrc
-
-build_all:!build_pass {
- CONFIG -= build_all
- CONFIG += release
-}
-
-win32 {
- RC_FILE = browser.rc
-}
-
-mac {
- ICON = browser.icns
- QMAKE_INFO_PLIST = Info_mac.plist
- TARGET = Browser
-}
-
-wince*: {
- DEPLOYMENT_PLUGIN += qjpeg qgif
-}
-
-# install
-target.path = $$[QT_INSTALL_DEMOS]/browser
-sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS *.plist *.icns *.ico *.rc *.pro *.html *.doc images htmls
-sources.path = $$[QT_INSTALL_DEMOS]/browser
-INSTALLS += target sources
diff --git a/examples/gestures/browser/browser.rc b/examples/gestures/browser/browser.rc
deleted file mode 100644
index 89a237c..0000000
--- a/examples/gestures/browser/browser.rc
+++ /dev/null
@@ -1,2 +0,0 @@
-IDI_ICON1 ICON DISCARDABLE "browser.ico"
-
diff --git a/examples/gestures/browser/browserapplication.cpp b/examples/gestures/browser/browserapplication.cpp
deleted file mode 100644
index 718a8ec..0000000
--- a/examples/gestures/browser/browserapplication.cpp
+++ /dev/null
@@ -1,447 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "browserapplication.h"
-
-#include "bookmarks.h"
-#include "browsermainwindow.h"
-#include "cookiejar.h"
-#include "downloadmanager.h"
-#include "history.h"
-#include "networkaccessmanager.h"
-#include "tabwidget.h"
-#include "webview.h"
-
-#include <QtCore/QBuffer>
-#include <QtCore/QDir>
-#include <QtCore/QLibraryInfo>
-#include <QtCore/QSettings>
-#include <QtCore/QTextStream>
-#include <QtCore/QTranslator>
-
-#include <QtGui/QDesktopServices>
-#include <QtGui/QFileOpenEvent>
-
-#include <QtNetwork/QLocalServer>
-#include <QtNetwork/QLocalSocket>
-#include <QtNetwork/QNetworkProxy>
-
-#include <QtWebKit/QWebSettings>
-
-#include <QtCore/QDebug>
-
-DownloadManager *BrowserApplication::s_downloadManager = 0;
-HistoryManager *BrowserApplication::s_historyManager = 0;
-NetworkAccessManager *BrowserApplication::s_networkAccessManager = 0;
-BookmarksManager *BrowserApplication::s_bookmarksManager = 0;
-
-BrowserApplication::BrowserApplication(int &argc, char **argv)
- : QApplication(argc, argv)
- , m_localServer(0)
-{
- QCoreApplication::setOrganizationName(QLatin1String("Trolltech"));
- QCoreApplication::setApplicationName(QLatin1String("demobrowser"));
- QCoreApplication::setApplicationVersion(QLatin1String("0.1"));
-#ifdef Q_WS_QWS
- // Use a different server name for QWS so we can run an X11
- // browser and a QWS browser in parallel on the same machine for
- // debugging
- QString serverName = QCoreApplication::applicationName() + QLatin1String("_qws");
-#else
- QString serverName = QCoreApplication::applicationName();
-#endif
- QLocalSocket socket;
- socket.connectToServer(serverName);
- if (socket.waitForConnected(500)) {
- QTextStream stream(&socket);
- QStringList args = QCoreApplication::arguments();
- if (args.count() > 1)
- stream << args.last();
- else
- stream << QString();
- stream.flush();
- socket.waitForBytesWritten();
- return;
- }
-
-#if defined(Q_WS_MAC)
- QApplication::setQuitOnLastWindowClosed(false);
-#else
- QApplication::setQuitOnLastWindowClosed(true);
-#endif
-
- m_localServer = new QLocalServer(this);
- connect(m_localServer, SIGNAL(newConnection()),
- this, SLOT(newLocalSocketConnection()));
- if (!m_localServer->listen(serverName)) {
- if (m_localServer->serverError() == QAbstractSocket::AddressInUseError
- && QFile::exists(m_localServer->serverName())) {
- QFile::remove(m_localServer->serverName());
- m_localServer->listen(serverName);
- }
- }
-
- QDesktopServices::setUrlHandler(QLatin1String("http"), this, "openUrl");
- QString localSysName = QLocale::system().name();
-
- installTranslator(QLatin1String("qt_") + localSysName);
-
- QSettings settings;
- settings.beginGroup(QLatin1String("sessions"));
- m_lastSession = settings.value(QLatin1String("lastSession")).toByteArray();
- settings.endGroup();
-
-#if defined(Q_WS_MAC)
- connect(this, SIGNAL(lastWindowClosed()),
- this, SLOT(lastWindowClosed()));
-#endif
-
- QTimer::singleShot(0, this, SLOT(postLaunch()));
-}
-
-BrowserApplication::~BrowserApplication()
-{
- delete s_downloadManager;
- for (int i = 0; i < m_mainWindows.size(); ++i) {
- BrowserMainWindow *window = m_mainWindows.at(i);
- delete window;
- }
- delete s_networkAccessManager;
- delete s_bookmarksManager;
-}
-
-#if defined(Q_WS_MAC)
-void BrowserApplication::lastWindowClosed()
-{
- clean();
- BrowserMainWindow *mw = new BrowserMainWindow;
- mw->slotHome();
- m_mainWindows.prepend(mw);
-}
-#endif
-
-BrowserApplication *BrowserApplication::instance()
-{
- return (static_cast<BrowserApplication *>(QCoreApplication::instance()));
-}
-
-#if defined(Q_WS_MAC)
-#include <QtGui/QMessageBox>
-void BrowserApplication::quitBrowser()
-{
- clean();
- int tabCount = 0;
- for (int i = 0; i < m_mainWindows.count(); ++i) {
- tabCount =+ m_mainWindows.at(i)->tabWidget()->count();
- }
-
- if (tabCount > 1) {
- int ret = QMessageBox::warning(mainWindow(), QString(),
- tr("There are %1 windows and %2 tabs open\n"
- "Do you want to quit anyway?").arg(m_mainWindows.count()).arg(tabCount),
- QMessageBox::Yes | QMessageBox::No,
- QMessageBox::No);
- if (ret == QMessageBox::No)
- return;
- }
-
- exit(0);
-}
-#endif
-
-/*!
- Any actions that can be delayed until the window is visible
- */
-void BrowserApplication::postLaunch()
-{
- QString directory = QDesktopServices::storageLocation(QDesktopServices::DataLocation);
- if (directory.isEmpty())
- directory = QDir::homePath() + QLatin1String("/.") + QCoreApplication::applicationName();
- QWebSettings::setIconDatabasePath(directory);
-
- setWindowIcon(QIcon(QLatin1String(":browser.svg")));
-
- loadSettings();
-
- // newMainWindow() needs to be called in main() for this to happen
- if (m_mainWindows.count() > 0) {
- QStringList args = QCoreApplication::arguments();
- if (args.count() > 1)
- mainWindow()->loadPage(args.last());
- else
- mainWindow()->slotHome();
- }
- BrowserApplication::historyManager();
-}
-
-void BrowserApplication::loadSettings()
-{
- QSettings settings;
- settings.beginGroup(QLatin1String("websettings"));
-
- QWebSettings *defaultSettings = QWebSettings::globalSettings();
- QString standardFontFamily = defaultSettings->fontFamily(QWebSettings::StandardFont);
- int standardFontSize = defaultSettings->fontSize(QWebSettings::DefaultFontSize);
- QFont standardFont = QFont(standardFontFamily, standardFontSize);
- standardFont = qVariantValue<QFont>(settings.value(QLatin1String("standardFont"), standardFont));
- defaultSettings->setFontFamily(QWebSettings::StandardFont, standardFont.family());
- defaultSettings->setFontSize(QWebSettings::DefaultFontSize, standardFont.pointSize());
-
- QString fixedFontFamily = defaultSettings->fontFamily(QWebSettings::FixedFont);
- int fixedFontSize = defaultSettings->fontSize(QWebSettings::DefaultFixedFontSize);
- QFont fixedFont = QFont(fixedFontFamily, fixedFontSize);
- fixedFont = qVariantValue<QFont>(settings.value(QLatin1String("fixedFont"), fixedFont));
- defaultSettings->setFontFamily(QWebSettings::FixedFont, fixedFont.family());
- defaultSettings->setFontSize(QWebSettings::DefaultFixedFontSize, fixedFont.pointSize());
-
- defaultSettings->setAttribute(QWebSettings::JavascriptEnabled, settings.value(QLatin1String("enableJavascript"), true).toBool());
- defaultSettings->setAttribute(QWebSettings::PluginsEnabled, settings.value(QLatin1String("enablePlugins"), true).toBool());
-
- QUrl url = settings.value(QLatin1String("userStyleSheet")).toUrl();
- defaultSettings->setUserStyleSheetUrl(url);
-
- settings.endGroup();
-}
-
-QList<BrowserMainWindow*> BrowserApplication::mainWindows()
-{
- clean();
- QList<BrowserMainWindow*> list;
- for (int i = 0; i < m_mainWindows.count(); ++i)
- list.append(m_mainWindows.at(i));
- return list;
-}
-
-void BrowserApplication::clean()
-{
- // cleanup any deleted main windows first
- for (int i = m_mainWindows.count() - 1; i >= 0; --i)
- if (m_mainWindows.at(i).isNull())
- m_mainWindows.removeAt(i);
-}
-
-void BrowserApplication::saveSession()
-{
- QWebSettings *globalSettings = QWebSettings::globalSettings();
- if (globalSettings->testAttribute(QWebSettings::PrivateBrowsingEnabled))
- return;
-
- clean();
-
- QSettings settings;
- settings.beginGroup(QLatin1String("sessions"));
-
- QByteArray data;
- QBuffer buffer(&data);
- QDataStream stream(&buffer);
- buffer.open(QIODevice::ReadWrite);
-
- stream << m_mainWindows.count();
- for (int i = 0; i < m_mainWindows.count(); ++i)
- stream << m_mainWindows.at(i)->saveState();
- settings.setValue(QLatin1String("lastSession"), data);
- settings.endGroup();
-}
-
-bool BrowserApplication::canRestoreSession() const
-{
- return !m_lastSession.isEmpty();
-}
-
-void BrowserApplication::restoreLastSession()
-{
- QList<QByteArray> windows;
- QBuffer buffer(&m_lastSession);
- QDataStream stream(&buffer);
- buffer.open(QIODevice::ReadOnly);
- int windowCount;
- stream >> windowCount;
- for (int i = 0; i < windowCount; ++i) {
- QByteArray windowState;
- stream >> windowState;
- windows.append(windowState);
- }
- for (int i = 0; i < windows.count(); ++i) {
- BrowserMainWindow *newWindow = 0;
- if (m_mainWindows.count() == 1
- && mainWindow()->tabWidget()->count() == 1
- && mainWindow()->currentTab()->url() == QUrl()) {
- newWindow = mainWindow();
- } else {
- newWindow = newMainWindow();
- }
- newWindow->restoreState(windows.at(i));
- }
-}
-
-bool BrowserApplication::isTheOnlyBrowser() const
-{
- return (m_localServer != 0);
-}
-
-void BrowserApplication::installTranslator(const QString &name)
-{
- QTranslator *translator = new QTranslator(this);
- translator->load(name, QLibraryInfo::location(QLibraryInfo::TranslationsPath));
- QApplication::installTranslator(translator);
-}
-
-#if defined(Q_WS_MAC)
-bool BrowserApplication::event(QEvent* event)
-{
- switch (event->type()) {
- case QEvent::ApplicationActivate: {
- clean();
- if (!m_mainWindows.isEmpty()) {
- BrowserMainWindow *mw = mainWindow();
- if (mw && !mw->isMinimized()) {
- mainWindow()->show();
- }
- return true;
- }
- }
- case QEvent::FileOpen:
- if (!m_mainWindows.isEmpty()) {
- mainWindow()->loadPage(static_cast<QFileOpenEvent *>(event)->file());
- return true;
- }
- default:
- break;
- }
- return QApplication::event(event);
-}
-#endif
-
-void BrowserApplication::openUrl(const QUrl &url)
-{
- mainWindow()->loadPage(url.toString());
-}
-
-BrowserMainWindow *BrowserApplication::newMainWindow()
-{
- BrowserMainWindow *browser = new BrowserMainWindow();
- m_mainWindows.prepend(browser);
- browser->show();
- return browser;
-}
-
-BrowserMainWindow *BrowserApplication::mainWindow()
-{
- clean();
- if (m_mainWindows.isEmpty())
- newMainWindow();
- return m_mainWindows[0];
-}
-
-void BrowserApplication::newLocalSocketConnection()
-{
- QLocalSocket *socket = m_localServer->nextPendingConnection();
- if (!socket)
- return;
- socket->waitForReadyRead(1000);
- QTextStream stream(socket);
- QString url;
- stream >> url;
- if (!url.isEmpty()) {
- QSettings settings;
- settings.beginGroup(QLatin1String("general"));
- int openLinksIn = settings.value(QLatin1String("openLinksIn"), 0).toInt();
- settings.endGroup();
- if (openLinksIn == 1)
- newMainWindow();
- else
- mainWindow()->tabWidget()->newTab();
- openUrl(url);
- }
- delete socket;
- mainWindow()->raise();
- mainWindow()->activateWindow();
-}
-
-CookieJar *BrowserApplication::cookieJar()
-{
- return (CookieJar*)networkAccessManager()->cookieJar();
-}
-
-DownloadManager *BrowserApplication::downloadManager()
-{
- if (!s_downloadManager) {
- s_downloadManager = new DownloadManager();
- }
- return s_downloadManager;
-}
-
-NetworkAccessManager *BrowserApplication::networkAccessManager()
-{
- if (!s_networkAccessManager) {
- s_networkAccessManager = new NetworkAccessManager();
- s_networkAccessManager->setCookieJar(new CookieJar);
- }
- return s_networkAccessManager;
-}
-
-HistoryManager *BrowserApplication::historyManager()
-{
- if (!s_historyManager) {
- s_historyManager = new HistoryManager();
- QWebHistoryInterface::setDefaultInterface(s_historyManager);
- }
- return s_historyManager;
-}
-
-BookmarksManager *BrowserApplication::bookmarksManager()
-{
- if (!s_bookmarksManager) {
- s_bookmarksManager = new BookmarksManager;
- }
- return s_bookmarksManager;
-}
-
-QIcon BrowserApplication::icon(const QUrl &url) const
-{
- QIcon icon = QWebSettings::iconForUrl(url);
- if (!icon.isNull())
- return icon.pixmap(16, 16);
- if (m_defaultIcon.isNull())
- m_defaultIcon = QIcon(QLatin1String(":defaulticon.png"));
- return m_defaultIcon.pixmap(16, 16);
-}
-
diff --git a/examples/gestures/browser/browserapplication.h b/examples/gestures/browser/browserapplication.h
deleted file mode 100644
index db83a85..0000000
--- a/examples/gestures/browser/browserapplication.h
+++ /dev/null
@@ -1,119 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef BROWSERAPPLICATION_H
-#define BROWSERAPPLICATION_H
-
-#include <QtGui/QApplication>
-
-#include <QtCore/QUrl>
-#include <QtCore/QPointer>
-
-#include <QtGui/QIcon>
-
-QT_BEGIN_NAMESPACE
-class QLocalServer;
-QT_END_NAMESPACE
-
-class BookmarksManager;
-class BrowserMainWindow;
-class CookieJar;
-class DownloadManager;
-class HistoryManager;
-class NetworkAccessManager;
-class BrowserApplication : public QApplication
-{
- Q_OBJECT
-
-public:
- BrowserApplication(int &argc, char **argv);
- ~BrowserApplication();
- static BrowserApplication *instance();
- void loadSettings();
-
- bool isTheOnlyBrowser() const;
- BrowserMainWindow *mainWindow();
- QList<BrowserMainWindow*> mainWindows();
- QIcon icon(const QUrl &url) const;
-
- void saveSession();
- bool canRestoreSession() const;
-
- static HistoryManager *historyManager();
- static CookieJar *cookieJar();
- static DownloadManager *downloadManager();
- static NetworkAccessManager *networkAccessManager();
- static BookmarksManager *bookmarksManager();
-
-#if defined(Q_WS_MAC)
- bool event(QEvent *event);
-#endif
-
-public slots:
- BrowserMainWindow *newMainWindow();
- void restoreLastSession();
-#if defined(Q_WS_MAC)
- void lastWindowClosed();
- void quitBrowser();
-#endif
-
-private slots:
- void postLaunch();
- void openUrl(const QUrl &url);
- void newLocalSocketConnection();
-
-private:
- void clean();
- void installTranslator(const QString &name);
-
- static HistoryManager *s_historyManager;
- static DownloadManager *s_downloadManager;
- static NetworkAccessManager *s_networkAccessManager;
- static BookmarksManager *s_bookmarksManager;
-
- QList<QPointer<BrowserMainWindow> > m_mainWindows;
- QLocalServer *m_localServer;
- QByteArray m_lastSession;
- mutable QIcon m_defaultIcon;
-};
-
-#endif // BROWSERAPPLICATION_H
-
diff --git a/examples/gestures/browser/browsermainwindow.cpp b/examples/gestures/browser/browsermainwindow.cpp
deleted file mode 100644
index c6fe82d..0000000
--- a/examples/gestures/browser/browsermainwindow.cpp
+++ /dev/null
@@ -1,991 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "browsermainwindow.h"
-
-#include "autosaver.h"
-#include "bookmarks.h"
-#include "browserapplication.h"
-#include "chasewidget.h"
-#include "downloadmanager.h"
-#include "history.h"
-#include "settings.h"
-#include "tabwidget.h"
-#include "toolbarsearch.h"
-#include "ui_passworddialog.h"
-#include "webview.h"
-
-#include <QtCore/QSettings>
-
-#include <QtGui/QDesktopWidget>
-#include <QtGui/QFileDialog>
-#include <QtGui/QPlainTextEdit>
-#include <QtGui/QPrintDialog>
-#include <QtGui/QPrintPreviewDialog>
-#include <QtGui/QPrinter>
-#include <QtGui/QMenuBar>
-#include <QtGui/QMessageBox>
-#include <QtGui/QStatusBar>
-#include <QtGui/QToolBar>
-#include <QtGui/QInputDialog>
-
-#include <QtWebKit/QWebFrame>
-#include <QtWebKit/QWebHistory>
-
-#include <QtCore/QDebug>
-
-BrowserMainWindow::BrowserMainWindow(QWidget *parent, Qt::WindowFlags flags)
- : QMainWindow(parent, flags)
- , m_tabWidget(new TabWidget(this))
- , m_autoSaver(new AutoSaver(this))
- , m_historyBack(0)
- , m_historyForward(0)
- , m_stop(0)
- , m_reload(0)
-{
- setAttribute(Qt::WA_DeleteOnClose, true);
- statusBar()->setSizeGripEnabled(true);
- setupMenu();
- setupToolBar();
-
- QWidget *centralWidget = new QWidget(this);
- BookmarksModel *boomarksModel = BrowserApplication::bookmarksManager()->bookmarksModel();
- m_bookmarksToolbar = new BookmarksToolBar(boomarksModel, this);
- connect(m_bookmarksToolbar, SIGNAL(openUrl(const QUrl&)),
- m_tabWidget, SLOT(loadUrlInCurrentTab(const QUrl&)));
- connect(m_bookmarksToolbar->toggleViewAction(), SIGNAL(toggled(bool)),
- this, SLOT(updateBookmarksToolbarActionText(bool)));
-
- QVBoxLayout *layout = new QVBoxLayout;
- layout->setSpacing(0);
- layout->setMargin(0);
-#if defined(Q_WS_MAC)
- layout->addWidget(m_bookmarksToolbar);
- layout->addWidget(new QWidget); // <- OS X tab widget style bug
-#else
- addToolBarBreak();
- addToolBar(m_bookmarksToolbar);
-#endif
- layout->addWidget(m_tabWidget);
- centralWidget->setLayout(layout);
- setCentralWidget(centralWidget);
-
- connect(m_tabWidget, SIGNAL(loadPage(const QString &)),
- this, SLOT(loadPage(const QString &)));
- connect(m_tabWidget, SIGNAL(setCurrentTitle(const QString &)),
- this, SLOT(slotUpdateWindowTitle(const QString &)));
- connect(m_tabWidget, SIGNAL(showStatusBarMessage(const QString&)),
- statusBar(), SLOT(showMessage(const QString&)));
- connect(m_tabWidget, SIGNAL(linkHovered(const QString&)),
- statusBar(), SLOT(showMessage(const QString&)));
- connect(m_tabWidget, SIGNAL(loadProgress(int)),
- this, SLOT(slotLoadProgress(int)));
- connect(m_tabWidget, SIGNAL(tabsChanged()),
- m_autoSaver, SLOT(changeOccurred()));
- connect(m_tabWidget, SIGNAL(geometryChangeRequested(const QRect &)),
- this, SLOT(geometryChangeRequested(const QRect &)));
- connect(m_tabWidget, SIGNAL(printRequested(QWebFrame *)),
- this, SLOT(printRequested(QWebFrame *)));
- connect(m_tabWidget, SIGNAL(menuBarVisibilityChangeRequested(bool)),
- menuBar(), SLOT(setVisible(bool)));
- connect(m_tabWidget, SIGNAL(statusBarVisibilityChangeRequested(bool)),
- statusBar(), SLOT(setVisible(bool)));
- connect(m_tabWidget, SIGNAL(toolBarVisibilityChangeRequested(bool)),
- m_navigationBar, SLOT(setVisible(bool)));
- connect(m_tabWidget, SIGNAL(toolBarVisibilityChangeRequested(bool)),
- m_bookmarksToolbar, SLOT(setVisible(bool)));
-#if defined(Q_WS_MAC)
- connect(m_tabWidget, SIGNAL(lastTabClosed()),
- this, SLOT(close()));
-#else
- connect(m_tabWidget, SIGNAL(lastTabClosed()),
- m_tabWidget, SLOT(newTab()));
-#endif
-
- slotUpdateWindowTitle();
- loadDefaultState();
- m_tabWidget->newTab();
-
- int size = m_tabWidget->lineEditStack()->sizeHint().height();
- m_navigationBar->setIconSize(QSize(size, size));
-
-}
-
-BrowserMainWindow::~BrowserMainWindow()
-{
- m_autoSaver->changeOccurred();
- m_autoSaver->saveIfNeccessary();
-}
-
-void BrowserMainWindow::loadDefaultState()
-{
- QSettings settings;
- settings.beginGroup(QLatin1String("BrowserMainWindow"));
- QByteArray data = settings.value(QLatin1String("defaultState")).toByteArray();
- restoreState(data);
- settings.endGroup();
-}
-
-QSize BrowserMainWindow::sizeHint() const
-{
- QRect desktopRect = QApplication::desktop()->screenGeometry();
- QSize size = desktopRect.size() * qreal(0.9);
- return size;
-}
-
-void BrowserMainWindow::save()
-{
- BrowserApplication::instance()->saveSession();
-
- QSettings settings;
- settings.beginGroup(QLatin1String("BrowserMainWindow"));
- QByteArray data = saveState(false);
- settings.setValue(QLatin1String("defaultState"), data);
- settings.endGroup();
-}
-
-static const qint32 BrowserMainWindowMagic = 0xba;
-
-QByteArray BrowserMainWindow::saveState(bool withTabs) const
-{
- int version = 2;
- QByteArray data;
- QDataStream stream(&data, QIODevice::WriteOnly);
-
- stream << qint32(BrowserMainWindowMagic);
- stream << qint32(version);
-
- stream << size();
- stream << !m_navigationBar->isHidden();
- stream << !m_bookmarksToolbar->isHidden();
- stream << !statusBar()->isHidden();
- if (withTabs)
- stream << tabWidget()->saveState();
- else
- stream << QByteArray();
- return data;
-}
-
-bool BrowserMainWindow::restoreState(const QByteArray &state)
-{
- int version = 2;
- QByteArray sd = state;
- QDataStream stream(&sd, QIODevice::ReadOnly);
- if (stream.atEnd())
- return false;
-
- qint32 marker;
- qint32 v;
- stream >> marker;
- stream >> v;
- if (marker != BrowserMainWindowMagic || v != version)
- return false;
-
- QSize size;
- bool showToolbar;
- bool showBookmarksBar;
- bool showStatusbar;
- QByteArray tabState;
-
- stream >> size;
- stream >> showToolbar;
- stream >> showBookmarksBar;
- stream >> showStatusbar;
- stream >> tabState;
-
- resize(size);
-
- m_navigationBar->setVisible(showToolbar);
- updateToolbarActionText(showToolbar);
-
- m_bookmarksToolbar->setVisible(showBookmarksBar);
- updateBookmarksToolbarActionText(showBookmarksBar);
-
- statusBar()->setVisible(showStatusbar);
- updateStatusbarActionText(showStatusbar);
-
- if (!tabWidget()->restoreState(tabState))
- return false;
-
- return true;
-}
-
-void BrowserMainWindow::setupMenu()
-{
- new QShortcut(QKeySequence(Qt::Key_F6), this, SLOT(slotSwapFocus()));
-
- // File
- QMenu *fileMenu = menuBar()->addMenu(tr("&File"));
-
- fileMenu->addAction(tr("&New Window"), this, SLOT(slotFileNew()), QKeySequence::New);
- fileMenu->addAction(m_tabWidget->newTabAction());
- fileMenu->addAction(tr("&Open File..."), this, SLOT(slotFileOpen()), QKeySequence::Open);
- fileMenu->addAction(tr("Open &Location..."), this,
- SLOT(slotSelectLineEdit()), QKeySequence(Qt::ControlModifier + Qt::Key_L));
- fileMenu->addSeparator();
- fileMenu->addAction(m_tabWidget->closeTabAction());
- fileMenu->addSeparator();
- fileMenu->addAction(tr("&Save As..."), this,
- SLOT(slotFileSaveAs()), QKeySequence(QKeySequence::Save));
- fileMenu->addSeparator();
- BookmarksManager *bookmarksManager = BrowserApplication::bookmarksManager();
- fileMenu->addAction(tr("&Import Bookmarks..."), bookmarksManager, SLOT(importBookmarks()));
- fileMenu->addAction(tr("&Export Bookmarks..."), bookmarksManager, SLOT(exportBookmarks()));
- fileMenu->addSeparator();
- fileMenu->addAction(tr("P&rint Preview..."), this, SLOT(slotFilePrintPreview()));
- fileMenu->addAction(tr("&Print..."), this, SLOT(slotFilePrint()), QKeySequence::Print);
- fileMenu->addSeparator();
- QAction *action = fileMenu->addAction(tr("Private &Browsing..."), this, SLOT(slotPrivateBrowsing()));
- action->setCheckable(true);
- fileMenu->addSeparator();
-
-#if defined(Q_WS_MAC)
- fileMenu->addAction(tr("&Quit"), BrowserApplication::instance(), SLOT(quitBrowser()), QKeySequence(Qt::CTRL | Qt::Key_Q));
-#else
- fileMenu->addAction(tr("&Quit"), this, SLOT(close()), QKeySequence(Qt::CTRL | Qt::Key_Q));
-#endif
-
- // Edit
- QMenu *editMenu = menuBar()->addMenu(tr("&Edit"));
- QAction *m_undo = editMenu->addAction(tr("&Undo"));
- m_undo->setShortcuts(QKeySequence::Undo);
- m_tabWidget->addWebAction(m_undo, QWebPage::Undo);
- QAction *m_redo = editMenu->addAction(tr("&Redo"));
- m_redo->setShortcuts(QKeySequence::Redo);
- m_tabWidget->addWebAction(m_redo, QWebPage::Redo);
- editMenu->addSeparator();
- QAction *m_cut = editMenu->addAction(tr("Cu&t"));
- m_cut->setShortcuts(QKeySequence::Cut);
- m_tabWidget->addWebAction(m_cut, QWebPage::Cut);
- QAction *m_copy = editMenu->addAction(tr("&Copy"));
- m_copy->setShortcuts(QKeySequence::Copy);
- m_tabWidget->addWebAction(m_copy, QWebPage::Copy);
- QAction *m_paste = editMenu->addAction(tr("&Paste"));
- m_paste->setShortcuts(QKeySequence::Paste);
- m_tabWidget->addWebAction(m_paste, QWebPage::Paste);
- editMenu->addSeparator();
-
- QAction *m_find = editMenu->addAction(tr("&Find"));
- m_find->setShortcuts(QKeySequence::Find);
- connect(m_find, SIGNAL(triggered()), this, SLOT(slotEditFind()));
- new QShortcut(QKeySequence(Qt::Key_Slash), this, SLOT(slotEditFind()));
-
- QAction *m_findNext = editMenu->addAction(tr("&Find Next"));
- m_findNext->setShortcuts(QKeySequence::FindNext);
- connect(m_findNext, SIGNAL(triggered()), this, SLOT(slotEditFindNext()));
-
- QAction *m_findPrevious = editMenu->addAction(tr("&Find Previous"));
- m_findPrevious->setShortcuts(QKeySequence::FindPrevious);
- connect(m_findPrevious, SIGNAL(triggered()), this, SLOT(slotEditFindPrevious()));
-
- editMenu->addSeparator();
- editMenu->addAction(tr("&Preferences"), this, SLOT(slotPreferences()), tr("Ctrl+,"));
-
- // View
- QMenu *viewMenu = menuBar()->addMenu(tr("&View"));
-
- m_viewBookmarkBar = new QAction(this);
- updateBookmarksToolbarActionText(true);
- m_viewBookmarkBar->setShortcut(tr("Shift+Ctrl+B"));
- connect(m_viewBookmarkBar, SIGNAL(triggered()), this, SLOT(slotViewBookmarksBar()));
- viewMenu->addAction(m_viewBookmarkBar);
-
- m_viewToolbar = new QAction(this);
- updateToolbarActionText(true);
- m_viewToolbar->setShortcut(tr("Ctrl+|"));
- connect(m_viewToolbar, SIGNAL(triggered()), this, SLOT(slotViewToolbar()));
- viewMenu->addAction(m_viewToolbar);
-
- m_viewStatusbar = new QAction(this);
- updateStatusbarActionText(true);
- m_viewStatusbar->setShortcut(tr("Ctrl+/"));
- connect(m_viewStatusbar, SIGNAL(triggered()), this, SLOT(slotViewStatusbar()));
- viewMenu->addAction(m_viewStatusbar);
-
- viewMenu->addSeparator();
-
- m_stop = viewMenu->addAction(tr("&Stop"));
- QList<QKeySequence> shortcuts;
- shortcuts.append(QKeySequence(Qt::CTRL | Qt::Key_Period));
- shortcuts.append(Qt::Key_Escape);
- m_stop->setShortcuts(shortcuts);
- m_tabWidget->addWebAction(m_stop, QWebPage::Stop);
-
- m_reload = viewMenu->addAction(tr("Reload Page"));
- m_reload->setShortcuts(QKeySequence::Refresh);
- m_tabWidget->addWebAction(m_reload, QWebPage::Reload);
-
- viewMenu->addAction(tr("Zoom &In"), this, SLOT(slotViewZoomIn()), QKeySequence(Qt::CTRL | Qt::Key_Plus));
- viewMenu->addAction(tr("Zoom &Out"), this, SLOT(slotViewZoomOut()), QKeySequence(Qt::CTRL | Qt::Key_Minus));
- viewMenu->addAction(tr("Reset &Zoom"), this, SLOT(slotViewResetZoom()), QKeySequence(Qt::CTRL | Qt::Key_0));
- QAction *zoomTextOnlyAction = viewMenu->addAction(tr("Zoom &Text Only"));
- connect(zoomTextOnlyAction, SIGNAL(toggled(bool)), this, SLOT(slotViewZoomTextOnly(bool)));
- zoomTextOnlyAction->setCheckable(true);
- zoomTextOnlyAction->setChecked(false);
-
- viewMenu->addSeparator();
- viewMenu->addAction(tr("Page S&ource"), this, SLOT(slotViewPageSource()), tr("Ctrl+Alt+U"));
- QAction *a = viewMenu->addAction(tr("&Full Screen"), this, SLOT(slotViewFullScreen(bool)), Qt::Key_F11);
- a->setCheckable(true);
-
- // History
- HistoryMenu *historyMenu = new HistoryMenu(this);
- connect(historyMenu, SIGNAL(openUrl(const QUrl&)),
- m_tabWidget, SLOT(loadUrlInCurrentTab(const QUrl&)));
- connect(historyMenu, SIGNAL(hovered(const QString&)), this,
- SLOT(slotUpdateStatusbar(const QString&)));
- historyMenu->setTitle(tr("Hi&story"));
- menuBar()->addMenu(historyMenu);
- QList<QAction*> historyActions;
-
- m_historyBack = new QAction(tr("Back"), this);
- m_tabWidget->addWebAction(m_historyBack, QWebPage::Back);
- m_historyBack->setShortcuts(QKeySequence::Back);
- m_historyBack->setIconVisibleInMenu(false);
-
- m_historyForward = new QAction(tr("Forward"), this);
- m_tabWidget->addWebAction(m_historyForward, QWebPage::Forward);
- m_historyForward->setShortcuts(QKeySequence::Forward);
- m_historyForward->setIconVisibleInMenu(false);
-
- QAction *m_historyHome = new QAction(tr("Home"), this);
- connect(m_historyHome, SIGNAL(triggered()), this, SLOT(slotHome()));
- m_historyHome->setShortcut(QKeySequence(Qt::CTRL | Qt::SHIFT | Qt::Key_H));
-
- m_restoreLastSession = new QAction(tr("Restore Last Session"), this);
- connect(m_restoreLastSession, SIGNAL(triggered()), BrowserApplication::instance(), SLOT(restoreLastSession()));
- m_restoreLastSession->setEnabled(BrowserApplication::instance()->canRestoreSession());
-
- historyActions.append(m_historyBack);
- historyActions.append(m_historyForward);
- historyActions.append(m_historyHome);
- historyActions.append(m_tabWidget->recentlyClosedTabsAction());
- historyActions.append(m_restoreLastSession);
- historyMenu->setInitialActions(historyActions);
-
- // Bookmarks
- BookmarksMenu *bookmarksMenu = new BookmarksMenu(this);
- connect(bookmarksMenu, SIGNAL(openUrl(const QUrl&)),
- m_tabWidget, SLOT(loadUrlInCurrentTab(const QUrl&)));
- connect(bookmarksMenu, SIGNAL(hovered(const QString&)),
- this, SLOT(slotUpdateStatusbar(const QString&)));
- bookmarksMenu->setTitle(tr("&Bookmarks"));
- menuBar()->addMenu(bookmarksMenu);
-
- QList<QAction*> bookmarksActions;
-
- QAction *showAllBookmarksAction = new QAction(tr("Show All Bookmarks"), this);
- connect(showAllBookmarksAction, SIGNAL(triggered()), this, SLOT(slotShowBookmarksDialog()));
- m_addBookmark = new QAction(QIcon(QLatin1String(":addbookmark.png")), tr("Add Bookmark..."), this);
- m_addBookmark->setIconVisibleInMenu(false);
-
- connect(m_addBookmark, SIGNAL(triggered()), this, SLOT(slotAddBookmark()));
- m_addBookmark->setShortcut(QKeySequence(Qt::CTRL | Qt::Key_D));
-
- bookmarksActions.append(showAllBookmarksAction);
- bookmarksActions.append(m_addBookmark);
- bookmarksMenu->setInitialActions(bookmarksActions);
-
- // Window
- m_windowMenu = menuBar()->addMenu(tr("&Window"));
- connect(m_windowMenu, SIGNAL(aboutToShow()),
- this, SLOT(slotAboutToShowWindowMenu()));
- slotAboutToShowWindowMenu();
-
- QMenu *toolsMenu = menuBar()->addMenu(tr("&Tools"));
- toolsMenu->addAction(tr("Web &Search"), this, SLOT(slotWebSearch()), QKeySequence(tr("Ctrl+K", "Web Search")));
-#ifndef Q_CC_MINGW
- a = toolsMenu->addAction(tr("Enable Web &Inspector"), this, SLOT(slotToggleInspector(bool)));
- a->setCheckable(true);
-#endif
-
- QMenu *helpMenu = menuBar()->addMenu(tr("&Help"));
- helpMenu->addAction(tr("About &Qt"), qApp, SLOT(aboutQt()));
- helpMenu->addAction(tr("About &Demo Browser"), this, SLOT(slotAboutApplication()));
-}
-
-void BrowserMainWindow::setupToolBar()
-{
- setUnifiedTitleAndToolBarOnMac(true);
- m_navigationBar = addToolBar(tr("Navigation"));
- connect(m_navigationBar->toggleViewAction(), SIGNAL(toggled(bool)),
- this, SLOT(updateToolbarActionText(bool)));
-
- m_historyBack->setIcon(style()->standardIcon(QStyle::SP_ArrowBack, 0, this));
- m_historyBackMenu = new QMenu(this);
- m_historyBack->setMenu(m_historyBackMenu);
- connect(m_historyBackMenu, SIGNAL(aboutToShow()),
- this, SLOT(slotAboutToShowBackMenu()));
- connect(m_historyBackMenu, SIGNAL(triggered(QAction *)),
- this, SLOT(slotOpenActionUrl(QAction *)));
- m_navigationBar->addAction(m_historyBack);
-
- m_historyForward->setIcon(style()->standardIcon(QStyle::SP_ArrowForward, 0, this));
- m_historyForwardMenu = new QMenu(this);
- connect(m_historyForwardMenu, SIGNAL(aboutToShow()),
- this, SLOT(slotAboutToShowForwardMenu()));
- connect(m_historyForwardMenu, SIGNAL(triggered(QAction *)),
- this, SLOT(slotOpenActionUrl(QAction *)));
- m_historyForward->setMenu(m_historyForwardMenu);
- m_navigationBar->addAction(m_historyForward);
-
- m_stopReload = new QAction(this);
- m_reloadIcon = style()->standardIcon(QStyle::SP_BrowserReload);
- m_stopReload->setIcon(m_reloadIcon);
-
- m_navigationBar->addAction(m_stopReload);
-
- m_navigationBar->addWidget(m_tabWidget->lineEditStack());
-
- m_toolbarSearch = new ToolbarSearch(m_navigationBar);
- m_navigationBar->addWidget(m_toolbarSearch);
- connect(m_toolbarSearch, SIGNAL(search(const QUrl&)), SLOT(loadUrl(const QUrl&)));
-
- m_chaseWidget = new ChaseWidget(this);
- m_navigationBar->addWidget(m_chaseWidget);
-}
-
-void BrowserMainWindow::slotShowBookmarksDialog()
-{
- BookmarksDialog *dialog = new BookmarksDialog(this);
- connect(dialog, SIGNAL(openUrl(const QUrl&)),
- m_tabWidget, SLOT(loadUrlInCurrentTab(const QUrl&)));
- dialog->show();
-}
-
-void BrowserMainWindow::slotAddBookmark()
-{
- WebView *webView = currentTab();
- QString url = webView->url().toString();
- QString title = webView->title();
- AddBookmarkDialog dialog(url, title);
- dialog.exec();
-}
-
-void BrowserMainWindow::slotViewToolbar()
-{
- if (m_navigationBar->isVisible()) {
- updateToolbarActionText(false);
- m_navigationBar->close();
- } else {
- updateToolbarActionText(true);
- m_navigationBar->show();
- }
- m_autoSaver->changeOccurred();
-}
-
-void BrowserMainWindow::slotViewBookmarksBar()
-{
- if (m_bookmarksToolbar->isVisible()) {
- updateBookmarksToolbarActionText(false);
- m_bookmarksToolbar->close();
- } else {
- updateBookmarksToolbarActionText(true);
- m_bookmarksToolbar->show();
- }
- m_autoSaver->changeOccurred();
-}
-
-void BrowserMainWindow::updateStatusbarActionText(bool visible)
-{
- m_viewStatusbar->setText(!visible ? tr("Show Status Bar") : tr("Hide Status Bar"));
-}
-
-void BrowserMainWindow::updateToolbarActionText(bool visible)
-{
- m_viewToolbar->setText(!visible ? tr("Show Toolbar") : tr("Hide Toolbar"));
-}
-
-void BrowserMainWindow::updateBookmarksToolbarActionText(bool visible)
-{
- m_viewBookmarkBar->setText(!visible ? tr("Show Bookmarks bar") : tr("Hide Bookmarks bar"));
-}
-
-void BrowserMainWindow::slotViewStatusbar()
-{
- if (statusBar()->isVisible()) {
- updateStatusbarActionText(false);
- statusBar()->close();
- } else {
- updateStatusbarActionText(true);
- statusBar()->show();
- }
- m_autoSaver->changeOccurred();
-}
-
-QUrl BrowserMainWindow::guessUrlFromString(const QString &string)
-{
- QString urlStr = string.trimmed();
- QRegExp test(QLatin1String("^[a-zA-Z]+\\:.*"));
-
- // Check if it looks like a qualified URL. Try parsing it and see.
- bool hasSchema = test.exactMatch(urlStr);
- if (hasSchema) {
- QUrl url = QUrl::fromEncoded(urlStr.toUtf8(), QUrl::TolerantMode);
- if (url.isValid())
- return url;
- }
-
- // Might be a file.
- if (QFile::exists(urlStr)) {
- QFileInfo info(urlStr);
- return QUrl::fromLocalFile(info.absoluteFilePath());
- }
-
- // Might be a shorturl - try to detect the schema.
- if (!hasSchema) {
- int dotIndex = urlStr.indexOf(QLatin1Char('.'));
- if (dotIndex != -1) {
- QString prefix = urlStr.left(dotIndex).toLower();
- QByteArray schema = (prefix == QLatin1String("ftp")) ? prefix.toLatin1() : "http";
- QUrl url =
- QUrl::fromEncoded(schema + "://" + urlStr.toUtf8(), QUrl::TolerantMode);
- if (url.isValid())
- return url;
- }
- }
-
- // Fall back to QUrl's own tolerant parser.
- QUrl url = QUrl::fromEncoded(string.toUtf8(), QUrl::TolerantMode);
-
- // finally for cases where the user just types in a hostname add http
- if (url.scheme().isEmpty())
- url = QUrl::fromEncoded("http://" + string.toUtf8(), QUrl::TolerantMode);
- return url;
-}
-
-void BrowserMainWindow::loadUrl(const QUrl &url)
-{
- if (!currentTab() || !url.isValid())
- return;
-
- m_tabWidget->currentLineEdit()->setText(QString::fromUtf8(url.toEncoded()));
- m_tabWidget->loadUrlInCurrentTab(url);
-}
-
-void BrowserMainWindow::slotDownloadManager()
-{
- BrowserApplication::downloadManager()->show();
-}
-
-void BrowserMainWindow::slotSelectLineEdit()
-{
- m_tabWidget->currentLineEdit()->selectAll();
- m_tabWidget->currentLineEdit()->setFocus();
-}
-
-void BrowserMainWindow::slotFileSaveAs()
-{
- BrowserApplication::downloadManager()->download(currentTab()->url(), true);
-}
-
-void BrowserMainWindow::slotPreferences()
-{
- SettingsDialog *s = new SettingsDialog(this);
- s->show();
-}
-
-void BrowserMainWindow::slotUpdateStatusbar(const QString &string)
-{
- statusBar()->showMessage(string, 2000);
-}
-
-void BrowserMainWindow::slotUpdateWindowTitle(const QString &title)
-{
- if (title.isEmpty()) {
- setWindowTitle(tr("Qt Demo Browser"));
- } else {
-#if defined(Q_WS_MAC)
- setWindowTitle(title);
-#else
- setWindowTitle(tr("%1 - Qt Demo Browser", "Page title and Browser name").arg(title));
-#endif
- }
-}
-
-void BrowserMainWindow::slotAboutApplication()
-{
- QMessageBox::about(this, tr("About"), tr(
- "Version %1"
- "<p>This demo demonstrates Qt's "
- "webkit facilities in action, providing an example "
- "browser for you to experiment with.<p>"
- "<p>QtWebKit is based on the Open Source WebKit Project developed at <a href=\"http://webkit.org/\">http://webkit.org/</a>."
- ).arg(QCoreApplication::applicationVersion()));
-}
-
-void BrowserMainWindow::slotFileNew()
-{
- BrowserApplication::instance()->newMainWindow();
- BrowserMainWindow *mw = BrowserApplication::instance()->mainWindow();
- mw->slotHome();
-}
-
-void BrowserMainWindow::slotFileOpen()
-{
- QString file = QFileDialog::getOpenFileName(this, tr("Open Web Resource"), QString(),
- tr("Web Resources (*.html *.htm *.svg *.png *.gif *.svgz);;All files (*.*)"));
-
- if (file.isEmpty())
- return;
-
- loadPage(file);
-}
-
-void BrowserMainWindow::slotFilePrintPreview()
-{
-#ifndef QT_NO_PRINTER
- if (!currentTab())
- return;
- QPrintPreviewDialog *dialog = new QPrintPreviewDialog(this);
- connect(dialog, SIGNAL(paintRequested(QPrinter *)),
- currentTab(), SLOT(print(QPrinter *)));
- dialog->exec();
-#endif
-}
-
-void BrowserMainWindow::slotFilePrint()
-{
- if (!currentTab())
- return;
- printRequested(currentTab()->page()->mainFrame());
-}
-
-void BrowserMainWindow::printRequested(QWebFrame *frame)
-{
-#ifndef QT_NO_PRINTER
- QPrinter printer;
- QPrintDialog *dialog = new QPrintDialog(&printer, this);
- dialog->setWindowTitle(tr("Print Document"));
- if (dialog->exec() != QDialog::Accepted)
- return;
- frame->print(&printer);
-#endif
-}
-
-void BrowserMainWindow::slotPrivateBrowsing()
-{
- QWebSettings *settings = QWebSettings::globalSettings();
- bool pb = settings->testAttribute(QWebSettings::PrivateBrowsingEnabled);
- if (!pb) {
- QString title = tr("Are you sure you want to turn on private browsing?");
- QString text = tr("<b>%1</b><br><br>When private browsing in turned on,"
- " webpages are not added to the history,"
- " items are automatically removed from the Downloads window," \
- " new cookies are not stored, current cookies can't be accessed," \
- " site icons wont be stored, session wont be saved, " \
- " and searches are not addded to the pop-up menu in the Google search box." \
- " Until you close the window, you can still click the Back and Forward buttons" \
- " to return to the webpages you have opened.").arg(title);
-
- QMessageBox::StandardButton button = QMessageBox::question(this, QString(), text,
- QMessageBox::Ok | QMessageBox::Cancel,
- QMessageBox::Ok);
- if (button == QMessageBox::Ok) {
- settings->setAttribute(QWebSettings::PrivateBrowsingEnabled, true);
- }
- } else {
- settings->setAttribute(QWebSettings::PrivateBrowsingEnabled, false);
-
- QList<BrowserMainWindow*> windows = BrowserApplication::instance()->mainWindows();
- for (int i = 0; i < windows.count(); ++i) {
- BrowserMainWindow *window = windows.at(i);
- window->m_lastSearch = QString::null;
- window->tabWidget()->clear();
- }
- }
-}
-
-void BrowserMainWindow::closeEvent(QCloseEvent *event)
-{
- if (m_tabWidget->count() > 1) {
- int ret = QMessageBox::warning(this, QString(),
- tr("Are you sure you want to close the window?"
- " There are %1 tab open").arg(m_tabWidget->count()),
- QMessageBox::Yes | QMessageBox::No,
- QMessageBox::No);
- if (ret == QMessageBox::No) {
- event->ignore();
- return;
- }
- }
- event->accept();
- deleteLater();
-}
-
-void BrowserMainWindow::slotEditFind()
-{
- if (!currentTab())
- return;
- bool ok;
- QString search = QInputDialog::getText(this, tr("Find"),
- tr("Text:"), QLineEdit::Normal,
- m_lastSearch, &ok);
- if (ok && !search.isEmpty()) {
- m_lastSearch = search;
- if (!currentTab()->findText(m_lastSearch))
- slotUpdateStatusbar(tr("\"%1\" not found.").arg(m_lastSearch));
- }
-}
-
-void BrowserMainWindow::slotEditFindNext()
-{
- if (!currentTab() && !m_lastSearch.isEmpty())
- return;
- currentTab()->findText(m_lastSearch);
-}
-
-void BrowserMainWindow::slotEditFindPrevious()
-{
- if (!currentTab() && !m_lastSearch.isEmpty())
- return;
- currentTab()->findText(m_lastSearch, QWebPage::FindBackward);
-}
-
-void BrowserMainWindow::slotViewZoomIn()
-{
- if (!currentTab())
- return;
- currentTab()->setZoomFactor(currentTab()->zoomFactor() + 0.1);
-}
-
-void BrowserMainWindow::slotViewZoomOut()
-{
- if (!currentTab())
- return;
- currentTab()->setZoomFactor(currentTab()->zoomFactor() - 0.1);
-}
-
-void BrowserMainWindow::slotViewResetZoom()
-{
- if (!currentTab())
- return;
- currentTab()->setZoomFactor(1.0);
-}
-
-void BrowserMainWindow::slotViewZoomTextOnly(bool enable)
-{
- if (!currentTab())
- return;
- currentTab()->page()->settings()->setAttribute(QWebSettings::ZoomTextOnly, enable);
-}
-
-void BrowserMainWindow::slotViewFullScreen(bool makeFullScreen)
-{
- if (makeFullScreen) {
- showFullScreen();
- } else {
- if (isMinimized())
- showMinimized();
- else if (isMaximized())
- showMaximized();
- else showNormal();
- }
-}
-
-void BrowserMainWindow::slotViewPageSource()
-{
- if (!currentTab())
- return;
-
- QString markup = currentTab()->page()->mainFrame()->toHtml();
- QPlainTextEdit *view = new QPlainTextEdit(markup);
- view->setWindowTitle(tr("Page Source of %1").arg(currentTab()->title()));
- view->setMinimumWidth(640);
- view->setAttribute(Qt::WA_DeleteOnClose);
- view->show();
-}
-
-void BrowserMainWindow::slotHome()
-{
- QSettings settings;
- settings.beginGroup(QLatin1String("MainWindow"));
- QString home = settings.value(QLatin1String("home"), QLatin1String("http://qtsoftware.com/")).toString();
- loadPage(home);
-}
-
-void BrowserMainWindow::slotWebSearch()
-{
- m_toolbarSearch->lineEdit()->selectAll();
- m_toolbarSearch->lineEdit()->setFocus();
-}
-
-void BrowserMainWindow::slotToggleInspector(bool enable)
-{
- QWebSettings::globalSettings()->setAttribute(QWebSettings::DeveloperExtrasEnabled, enable);
- if (enable) {
- int result = QMessageBox::question(this, tr("Web Inspector"),
- tr("The web inspector will only work correctly for pages that were loaded after enabling.\n"
- "Do you want to reload all pages?"),
- QMessageBox::Yes | QMessageBox::No);
- if (result == QMessageBox::Yes) {
- m_tabWidget->reloadAllTabs();
- }
- }
-}
-
-void BrowserMainWindow::slotSwapFocus()
-{
- if (currentTab()->hasFocus())
- m_tabWidget->currentLineEdit()->setFocus();
- else
- currentTab()->setFocus();
-}
-
-void BrowserMainWindow::loadPage(const QString &page)
-{
- QUrl url = guessUrlFromString(page);
- loadUrl(url);
-}
-
-TabWidget *BrowserMainWindow::tabWidget() const
-{
- return m_tabWidget;
-}
-
-WebView *BrowserMainWindow::currentTab() const
-{
- return m_tabWidget->currentWebView();
-}
-
-void BrowserMainWindow::slotLoadProgress(int progress)
-{
- if (progress < 100 && progress > 0) {
- m_chaseWidget->setAnimated(true);
- disconnect(m_stopReload, SIGNAL(triggered()), m_reload, SLOT(trigger()));
- if (m_stopIcon.isNull())
- m_stopIcon = style()->standardIcon(QStyle::SP_BrowserStop);
- m_stopReload->setIcon(m_stopIcon);
- connect(m_stopReload, SIGNAL(triggered()), m_stop, SLOT(trigger()));
- m_stopReload->setToolTip(tr("Stop loading the current page"));
- } else {
- m_chaseWidget->setAnimated(false);
- disconnect(m_stopReload, SIGNAL(triggered()), m_stop, SLOT(trigger()));
- m_stopReload->setIcon(m_reloadIcon);
- connect(m_stopReload, SIGNAL(triggered()), m_reload, SLOT(trigger()));
- m_stopReload->setToolTip(tr("Reload the current page"));
- }
-}
-
-void BrowserMainWindow::slotAboutToShowBackMenu()
-{
- m_historyBackMenu->clear();
- if (!currentTab())
- return;
- QWebHistory *history = currentTab()->history();
- int historyCount = history->count();
- for (int i = history->backItems(historyCount).count() - 1; i >= 0; --i) {
- QWebHistoryItem item = history->backItems(history->count()).at(i);
- QAction *action = new QAction(this);
- action->setData(-1*(historyCount-i-1));
- QIcon icon = BrowserApplication::instance()->icon(item.url());
- action->setIcon(icon);
- action->setText(item.title());
- m_historyBackMenu->addAction(action);
- }
-}
-
-void BrowserMainWindow::slotAboutToShowForwardMenu()
-{
- m_historyForwardMenu->clear();
- if (!currentTab())
- return;
- QWebHistory *history = currentTab()->history();
- int historyCount = history->count();
- for (int i = 0; i < history->forwardItems(history->count()).count(); ++i) {
- QWebHistoryItem item = history->forwardItems(historyCount).at(i);
- QAction *action = new QAction(this);
- action->setData(historyCount-i);
- QIcon icon = BrowserApplication::instance()->icon(item.url());
- action->setIcon(icon);
- action->setText(item.title());
- m_historyForwardMenu->addAction(action);
- }
-}
-
-void BrowserMainWindow::slotAboutToShowWindowMenu()
-{
- m_windowMenu->clear();
- m_windowMenu->addAction(m_tabWidget->nextTabAction());
- m_windowMenu->addAction(m_tabWidget->previousTabAction());
- m_windowMenu->addSeparator();
- m_windowMenu->addAction(tr("Downloads"), this, SLOT(slotDownloadManager()), QKeySequence(tr("Alt+Ctrl+L", "Download Manager")));
-
- m_windowMenu->addSeparator();
- QList<BrowserMainWindow*> windows = BrowserApplication::instance()->mainWindows();
- for (int i = 0; i < windows.count(); ++i) {
- BrowserMainWindow *window = windows.at(i);
- QAction *action = m_windowMenu->addAction(window->windowTitle(), this, SLOT(slotShowWindow()));
- action->setData(i);
- action->setCheckable(true);
- if (window == this)
- action->setChecked(true);
- }
-}
-
-void BrowserMainWindow::slotShowWindow()
-{
- if (QAction *action = qobject_cast<QAction*>(sender())) {
- QVariant v = action->data();
- if (v.canConvert<int>()) {
- int offset = qvariant_cast<int>(v);
- QList<BrowserMainWindow*> windows = BrowserApplication::instance()->mainWindows();
- windows.at(offset)->activateWindow();
- windows.at(offset)->currentTab()->setFocus();
- }
- }
-}
-
-void BrowserMainWindow::slotOpenActionUrl(QAction *action)
-{
- int offset = action->data().toInt();
- QWebHistory *history = currentTab()->history();
- if (offset < 0)
- history->goToItem(history->backItems(-1*offset).first()); // back
- else if (offset > 0)
- history->goToItem(history->forwardItems(history->count() - offset + 1).back()); // forward
- }
-
-void BrowserMainWindow::geometryChangeRequested(const QRect &geometry)
-{
- setGeometry(geometry);
-}
-
diff --git a/examples/gestures/browser/browsermainwindow.h b/examples/gestures/browser/browsermainwindow.h
deleted file mode 100644
index 04f6c0c..0000000
--- a/examples/gestures/browser/browsermainwindow.h
+++ /dev/null
@@ -1,169 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef BROWSERMAINWINDOW_H
-#define BROWSERMAINWINDOW_H
-
-#include <QtGui/QMainWindow>
-#include <QtGui/QIcon>
-#include <QtCore/QUrl>
-
-class AutoSaver;
-class BookmarksToolBar;
-class ChaseWidget;
-class QWebFrame;
-class TabWidget;
-class ToolbarSearch;
-class WebView;
-
-/*!
- The MainWindow of the Browser Application.
-
- Handles the tab widget and all the actions
- */
-class BrowserMainWindow : public QMainWindow {
- Q_OBJECT
-
-public:
- BrowserMainWindow(QWidget *parent = 0, Qt::WindowFlags flags = 0);
- ~BrowserMainWindow();
- QSize sizeHint() const;
-
-public:
- static QUrl guessUrlFromString(const QString &url);
- TabWidget *tabWidget() const;
- WebView *currentTab() const;
- QByteArray saveState(bool withTabs = true) const;
- bool restoreState(const QByteArray &state);
-
-public slots:
- void loadPage(const QString &url);
- void slotHome();
-
-protected:
- void closeEvent(QCloseEvent *event);
-
-private slots:
- void save();
-
- void slotLoadProgress(int);
- void slotUpdateStatusbar(const QString &string);
- void slotUpdateWindowTitle(const QString &title = QString());
-
- void loadUrl(const QUrl &url);
- void slotPreferences();
-
- void slotFileNew();
- void slotFileOpen();
- void slotFilePrintPreview();
- void slotFilePrint();
- void slotPrivateBrowsing();
- void slotFileSaveAs();
- void slotEditFind();
- void slotEditFindNext();
- void slotEditFindPrevious();
- void slotShowBookmarksDialog();
- void slotAddBookmark();
- void slotViewZoomIn();
- void slotViewZoomOut();
- void slotViewResetZoom();
- void slotViewZoomTextOnly(bool enable);
- void slotViewToolbar();
- void slotViewBookmarksBar();
- void slotViewStatusbar();
- void slotViewPageSource();
- void slotViewFullScreen(bool enable);
-
- void slotWebSearch();
- void slotToggleInspector(bool enable);
- void slotAboutApplication();
- void slotDownloadManager();
- void slotSelectLineEdit();
-
- void slotAboutToShowBackMenu();
- void slotAboutToShowForwardMenu();
- void slotAboutToShowWindowMenu();
- void slotOpenActionUrl(QAction *action);
- void slotShowWindow();
- void slotSwapFocus();
-
- void printRequested(QWebFrame *frame);
- void geometryChangeRequested(const QRect &geometry);
- void updateToolbarActionText(bool visible);
- void updateBookmarksToolbarActionText(bool visible);
-
-private:
- void loadDefaultState();
- void setupMenu();
- void setupToolBar();
- void updateStatusbarActionText(bool visible);
-
-private:
- QToolBar *m_navigationBar;
- ToolbarSearch *m_toolbarSearch;
- BookmarksToolBar *m_bookmarksToolbar;
- ChaseWidget *m_chaseWidget;
- TabWidget *m_tabWidget;
- AutoSaver *m_autoSaver;
-
- QAction *m_historyBack;
- QMenu *m_historyBackMenu;
- QAction *m_historyForward;
- QMenu *m_historyForwardMenu;
- QMenu *m_windowMenu;
-
- QAction *m_stop;
- QAction *m_reload;
- QAction *m_stopReload;
- QAction *m_viewToolbar;
- QAction *m_viewBookmarkBar;
- QAction *m_viewStatusbar;
- QAction *m_restoreLastSession;
- QAction *m_addBookmark;
-
- QIcon m_reloadIcon;
- QIcon m_stopIcon;
-
- QString m_lastSearch;
-};
-
-#endif // BROWSERMAINWINDOW_H
-
diff --git a/examples/gestures/browser/chasewidget.cpp b/examples/gestures/browser/chasewidget.cpp
deleted file mode 100644
index de6c90b..0000000
--- a/examples/gestures/browser/chasewidget.cpp
+++ /dev/null
@@ -1,142 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "chasewidget.h"
-
-#include <QtCore/QPoint>
-
-#include <QtGui/QApplication>
-#include <QtGui/QHideEvent>
-#include <QtGui/QPainter>
-#include <QtGui/QPaintEvent>
-#include <QtGui/QShowEvent>
-
-ChaseWidget::ChaseWidget(QWidget *parent, QPixmap pixmap, bool pixmapEnabled)
- : QWidget(parent)
- , m_segment(0)
- , m_delay(100)
- , m_step(40)
- , m_timerId(-1)
- , m_animated(false)
- , m_pixmap(pixmap)
- , m_pixmapEnabled(pixmapEnabled)
-{
-}
-
-void ChaseWidget::setAnimated(bool value)
-{
- if (m_animated == value)
- return;
- m_animated = value;
- if (m_timerId != -1) {
- killTimer(m_timerId);
- m_timerId = -1;
- }
- if (m_animated) {
- m_segment = 0;
- m_timerId = startTimer(m_delay);
- }
- update();
-}
-
-void ChaseWidget::paintEvent(QPaintEvent *event)
-{
- Q_UNUSED(event);
- QPainter p(this);
- if (m_pixmapEnabled && !m_pixmap.isNull()) {
- p.drawPixmap(0, 0, m_pixmap);
- return;
- }
-
- const int extent = qMin(width() - 8, height() - 8);
- const int displ = extent / 4;
- const int ext = extent / 4 - 1;
-
- p.setRenderHint(QPainter::Antialiasing, true);
-
- if(m_animated)
- p.setPen(Qt::gray);
- else
- p.setPen(QPen(palette().dark().color()));
-
- p.translate(width() / 2, height() / 2); // center
-
- for (int segment = 0; segment < segmentCount(); ++segment) {
- p.rotate(QApplication::isRightToLeft() ? m_step : -m_step);
- if(m_animated)
- p.setBrush(colorForSegment(segment));
- else
- p.setBrush(palette().background());
- p.drawEllipse(QRect(displ, -ext / 2, ext, ext));
- }
-}
-
-QSize ChaseWidget::sizeHint() const
-{
- return QSize(32, 32);
-}
-
-void ChaseWidget::timerEvent(QTimerEvent *event)
-{
- if (event->timerId() == m_timerId) {
- ++m_segment;
- update();
- }
- QWidget::timerEvent(event);
-}
-
-QColor ChaseWidget::colorForSegment(int seg) const
-{
- int index = ((seg + m_segment) % segmentCount());
- int comp = qMax(0, 255 - (index * (255 / segmentCount())));
- return QColor(comp, comp, comp, 255);
-}
-
-int ChaseWidget::segmentCount() const
-{
- return 360 / m_step;
-}
-
-void ChaseWidget::setPixmapEnabled(bool enable)
-{
- m_pixmapEnabled = enable;
-}
-
diff --git a/examples/gestures/browser/chasewidget.h b/examples/gestures/browser/chasewidget.h
deleted file mode 100644
index 5b983e4..0000000
--- a/examples/gestures/browser/chasewidget.h
+++ /dev/null
@@ -1,85 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef CHASEWIDGET_H
-#define CHASEWIDGET_H
-
-#include <QtGui/QWidget>
-
-#include <QtCore/QSize>
-#include <QtGui/QColor>
-#include <QtGui/QPixmap>
-
-QT_BEGIN_NAMESPACE
-class QHideEvent;
-class QShowEvent;
-class QPaintEvent;
-class QTimerEvent;
-QT_END_NAMESPACE
-
-class ChaseWidget : public QWidget
-{
- Q_OBJECT
-public:
- ChaseWidget(QWidget *parent = 0, QPixmap pixmap = QPixmap(), bool pixmapEnabled = false);
-
- void setAnimated(bool value);
- void setPixmapEnabled(bool enable);
- QSize sizeHint() const;
-
-protected:
- void paintEvent(QPaintEvent *event);
- void timerEvent(QTimerEvent *event);
-
-private:
- int segmentCount() const;
- QColor colorForSegment(int segment) const;
-
- int m_segment;
- int m_delay;
- int m_step;
- int m_timerId;
- bool m_animated;
- QPixmap m_pixmap;
- bool m_pixmapEnabled;
-};
-
-#endif
diff --git a/examples/gestures/browser/cookiejar.cpp b/examples/gestures/browser/cookiejar.cpp
deleted file mode 100644
index 3ae443f..0000000
--- a/examples/gestures/browser/cookiejar.cpp
+++ /dev/null
@@ -1,733 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "cookiejar.h"
-
-#include "autosaver.h"
-
-#include <QtCore/QDateTime>
-#include <QtCore/QDir>
-#include <QtCore/QFile>
-#include <QtCore/QMetaEnum>
-#include <QtCore/QSettings>
-#include <QtCore/QUrl>
-
-#include <QtGui/QCompleter>
-#include <QtGui/QDesktopServices>
-#include <QtGui/QFont>
-#include <QtGui/QFontMetrics>
-#include <QtGui/QHeaderView>
-#include <QtGui/QKeyEvent>
-#include <QtGui/QSortFilterProxyModel>
-
-#include <QtWebKit/QWebSettings>
-
-#include <QtCore/QDebug>
-
-static const unsigned int JAR_VERSION = 23;
-
-QT_BEGIN_NAMESPACE
-QDataStream &operator<<(QDataStream &stream, const QList<QNetworkCookie> &list)
-{
- stream << JAR_VERSION;
- stream << quint32(list.size());
- for (int i = 0; i < list.size(); ++i)
- stream << list.at(i).toRawForm();
- return stream;
-}
-
-QDataStream &operator>>(QDataStream &stream, QList<QNetworkCookie> &list)
-{
- list.clear();
-
- quint32 version;
- stream >> version;
-
- if (version != JAR_VERSION)
- return stream;
-
- quint32 count;
- stream >> count;
- for(quint32 i = 0; i < count; ++i)
- {
- QByteArray value;
- stream >> value;
- QList<QNetworkCookie> newCookies = QNetworkCookie::parseCookies(value);
- if (newCookies.count() == 0 && value.length() != 0) {
- qWarning() << "CookieJar: Unable to parse saved cookie:" << value;
- }
- for (int j = 0; j < newCookies.count(); ++j)
- list.append(newCookies.at(j));
- if (stream.atEnd())
- break;
- }
- return stream;
-}
-QT_END_NAMESPACE
-
-CookieJar::CookieJar(QObject *parent)
- : QNetworkCookieJar(parent)
- , m_loaded(false)
- , m_saveTimer(new AutoSaver(this))
- , m_acceptCookies(AcceptOnlyFromSitesNavigatedTo)
-{
-}
-
-CookieJar::~CookieJar()
-{
- if (m_keepCookies == KeepUntilExit)
- clear();
- m_saveTimer->saveIfNeccessary();
-}
-
-void CookieJar::clear()
-{
- setAllCookies(QList<QNetworkCookie>());
- m_saveTimer->changeOccurred();
- emit cookiesChanged();
-}
-
-void CookieJar::load()
-{
- if (m_loaded)
- return;
- // load cookies and exceptions
- qRegisterMetaTypeStreamOperators<QList<QNetworkCookie> >("QList<QNetworkCookie>");
- QSettings cookieSettings(QDesktopServices::storageLocation(QDesktopServices::DataLocation) + QLatin1String("/cookies.ini"), QSettings::IniFormat);
- setAllCookies(qvariant_cast<QList<QNetworkCookie> >(cookieSettings.value(QLatin1String("cookies"))));
- cookieSettings.beginGroup(QLatin1String("Exceptions"));
- m_exceptions_block = cookieSettings.value(QLatin1String("block")).toStringList();
- m_exceptions_allow = cookieSettings.value(QLatin1String("allow")).toStringList();
- m_exceptions_allowForSession = cookieSettings.value(QLatin1String("allowForSession")).toStringList();
- qSort(m_exceptions_block.begin(), m_exceptions_block.end());
- qSort(m_exceptions_allow.begin(), m_exceptions_allow.end());
- qSort(m_exceptions_allowForSession.begin(), m_exceptions_allowForSession.end());
-
- loadSettings();
-}
-
-void CookieJar::loadSettings()
-{
- QSettings settings;
- settings.beginGroup(QLatin1String("cookies"));
- QByteArray value = settings.value(QLatin1String("acceptCookies"),
- QLatin1String("AcceptOnlyFromSitesNavigatedTo")).toByteArray();
- QMetaEnum acceptPolicyEnum = staticMetaObject.enumerator(staticMetaObject.indexOfEnumerator("AcceptPolicy"));
- m_acceptCookies = acceptPolicyEnum.keyToValue(value) == -1 ?
- AcceptOnlyFromSitesNavigatedTo :
- static_cast<AcceptPolicy>(acceptPolicyEnum.keyToValue(value));
-
- value = settings.value(QLatin1String("keepCookiesUntil"), QLatin1String("KeepUntilExpire")).toByteArray();
- QMetaEnum keepPolicyEnum = staticMetaObject.enumerator(staticMetaObject.indexOfEnumerator("KeepPolicy"));
- m_keepCookies = keepPolicyEnum.keyToValue(value) == -1 ?
- KeepUntilExpire :
- static_cast<KeepPolicy>(keepPolicyEnum.keyToValue(value));
-
- if (m_keepCookies == KeepUntilExit)
- setAllCookies(QList<QNetworkCookie>());
-
- m_loaded = true;
- emit cookiesChanged();
-}
-
-void CookieJar::save()
-{
- if (!m_loaded)
- return;
- purgeOldCookies();
- QString directory = QDesktopServices::storageLocation(QDesktopServices::DataLocation);
- if (directory.isEmpty())
- directory = QDir::homePath() + QLatin1String("/.") + QCoreApplication::applicationName();
- if (!QFile::exists(directory)) {
- QDir dir;
- dir.mkpath(directory);
- }
- QSettings cookieSettings(directory + QLatin1String("/cookies.ini"), QSettings::IniFormat);
- QList<QNetworkCookie> cookies = allCookies();
- for (int i = cookies.count() - 1; i >= 0; --i) {
- if (cookies.at(i).isSessionCookie())
- cookies.removeAt(i);
- }
- cookieSettings.setValue(QLatin1String("cookies"), qVariantFromValue<QList<QNetworkCookie> >(cookies));
- cookieSettings.beginGroup(QLatin1String("Exceptions"));
- cookieSettings.setValue(QLatin1String("block"), m_exceptions_block);
- cookieSettings.setValue(QLatin1String("allow"), m_exceptions_allow);
- cookieSettings.setValue(QLatin1String("allowForSession"), m_exceptions_allowForSession);
-
- // save cookie settings
- QSettings settings;
- settings.beginGroup(QLatin1String("cookies"));
- QMetaEnum acceptPolicyEnum = staticMetaObject.enumerator(staticMetaObject.indexOfEnumerator("AcceptPolicy"));
- settings.setValue(QLatin1String("acceptCookies"), QLatin1String(acceptPolicyEnum.valueToKey(m_acceptCookies)));
-
- QMetaEnum keepPolicyEnum = staticMetaObject.enumerator(staticMetaObject.indexOfEnumerator("KeepPolicy"));
- settings.setValue(QLatin1String("keepCookiesUntil"), QLatin1String(keepPolicyEnum.valueToKey(m_keepCookies)));
-}
-
-void CookieJar::purgeOldCookies()
-{
- QList<QNetworkCookie> cookies = allCookies();
- if (cookies.isEmpty())
- return;
- int oldCount = cookies.count();
- QDateTime now = QDateTime::currentDateTime();
- for (int i = cookies.count() - 1; i >= 0; --i) {
- if (!cookies.at(i).isSessionCookie() && cookies.at(i).expirationDate() < now)
- cookies.removeAt(i);
- }
- if (oldCount == cookies.count())
- return;
- setAllCookies(cookies);
- emit cookiesChanged();
-}
-
-QList<QNetworkCookie> CookieJar::cookiesForUrl(const QUrl &url) const
-{
- CookieJar *that = const_cast<CookieJar*>(this);
- if (!m_loaded)
- that->load();
-
- QWebSettings *globalSettings = QWebSettings::globalSettings();
- if (globalSettings->testAttribute(QWebSettings::PrivateBrowsingEnabled)) {
- QList<QNetworkCookie> noCookies;
- return noCookies;
- }
-
- return QNetworkCookieJar::cookiesForUrl(url);
-}
-
-bool CookieJar::setCookiesFromUrl(const QList<QNetworkCookie> &cookieList, const QUrl &url)
-{
- if (!m_loaded)
- load();
-
- QWebSettings *globalSettings = QWebSettings::globalSettings();
- if (globalSettings->testAttribute(QWebSettings::PrivateBrowsingEnabled))
- return false;
-
- QString host = url.host();
- bool eBlock = qBinaryFind(m_exceptions_block.begin(), m_exceptions_block.end(), host) != m_exceptions_block.end();
- bool eAllow = qBinaryFind(m_exceptions_allow.begin(), m_exceptions_allow.end(), host) != m_exceptions_allow.end();
- bool eAllowSession = qBinaryFind(m_exceptions_allowForSession.begin(), m_exceptions_allowForSession.end(), host) != m_exceptions_allowForSession.end();
-
- bool addedCookies = false;
- // pass exceptions
- bool acceptInitially = (m_acceptCookies != AcceptNever);
- if ((acceptInitially && !eBlock)
- || (!acceptInitially && (eAllow || eAllowSession))) {
- // pass url domain == cookie domain
- QDateTime soon = QDateTime::currentDateTime();
- soon = soon.addDays(90);
- foreach(QNetworkCookie cookie, cookieList) {
- QList<QNetworkCookie> lst;
- if (m_keepCookies == KeepUntilTimeLimit
- && !cookie.isSessionCookie()
- && cookie.expirationDate() > soon) {
- cookie.setExpirationDate(soon);
- }
- lst += cookie;
- if (QNetworkCookieJar::setCookiesFromUrl(lst, url)) {
- addedCookies = true;
- } else {
- // finally force it in if wanted
- if (m_acceptCookies == AcceptAlways) {
- QList<QNetworkCookie> cookies = allCookies();
- cookies += cookie;
- setAllCookies(cookies);
- addedCookies = true;
- }
-#if 0
- else
- qWarning() << "setCookiesFromUrl failed" << url << cookieList.value(0).toRawForm();
-#endif
- }
- }
- }
-
- if (addedCookies) {
- m_saveTimer->changeOccurred();
- emit cookiesChanged();
- }
- return addedCookies;
-}
-
-CookieJar::AcceptPolicy CookieJar::acceptPolicy() const
-{
- if (!m_loaded)
- (const_cast<CookieJar*>(this))->load();
- return m_acceptCookies;
-}
-
-void CookieJar::setAcceptPolicy(AcceptPolicy policy)
-{
- if (!m_loaded)
- load();
- if (policy == m_acceptCookies)
- return;
- m_acceptCookies = policy;
- m_saveTimer->changeOccurred();
-}
-
-CookieJar::KeepPolicy CookieJar::keepPolicy() const
-{
- if (!m_loaded)
- (const_cast<CookieJar*>(this))->load();
- return m_keepCookies;
-}
-
-void CookieJar::setKeepPolicy(KeepPolicy policy)
-{
- if (!m_loaded)
- load();
- if (policy == m_keepCookies)
- return;
- m_keepCookies = policy;
- m_saveTimer->changeOccurred();
-}
-
-QStringList CookieJar::blockedCookies() const
-{
- if (!m_loaded)
- (const_cast<CookieJar*>(this))->load();
- return m_exceptions_block;
-}
-
-QStringList CookieJar::allowedCookies() const
-{
- if (!m_loaded)
- (const_cast<CookieJar*>(this))->load();
- return m_exceptions_allow;
-}
-
-QStringList CookieJar::allowForSessionCookies() const
-{
- if (!m_loaded)
- (const_cast<CookieJar*>(this))->load();
- return m_exceptions_allowForSession;
-}
-
-void CookieJar::setBlockedCookies(const QStringList &list)
-{
- if (!m_loaded)
- load();
- m_exceptions_block = list;
- qSort(m_exceptions_block.begin(), m_exceptions_block.end());
- m_saveTimer->changeOccurred();
-}
-
-void CookieJar::setAllowedCookies(const QStringList &list)
-{
- if (!m_loaded)
- load();
- m_exceptions_allow = list;
- qSort(m_exceptions_allow.begin(), m_exceptions_allow.end());
- m_saveTimer->changeOccurred();
-}
-
-void CookieJar::setAllowForSessionCookies(const QStringList &list)
-{
- if (!m_loaded)
- load();
- m_exceptions_allowForSession = list;
- qSort(m_exceptions_allowForSession.begin(), m_exceptions_allowForSession.end());
- m_saveTimer->changeOccurred();
-}
-
-CookieModel::CookieModel(CookieJar *cookieJar, QObject *parent)
- : QAbstractTableModel(parent)
- , m_cookieJar(cookieJar)
-{
- connect(m_cookieJar, SIGNAL(cookiesChanged()), this, SLOT(cookiesChanged()));
- m_cookieJar->load();
-}
-
-QVariant CookieModel::headerData(int section, Qt::Orientation orientation, int role) const
-{
- if (role == Qt::SizeHintRole) {
- QFont font;
- font.setPointSize(10);
- QFontMetrics fm(font);
- int height = fm.height() + fm.height()/3;
- int width = fm.width(headerData(section, orientation, Qt::DisplayRole).toString());
- return QSize(width, height);
- }
-
- if (orientation == Qt::Horizontal) {
- if (role != Qt::DisplayRole)
- return QVariant();
-
- switch (section) {
- case 0:
- return tr("Website");
- case 1:
- return tr("Name");
- case 2:
- return tr("Path");
- case 3:
- return tr("Secure");
- case 4:
- return tr("Expires");
- case 5:
- return tr("Contents");
- default:
- return QVariant();
- }
- }
- return QAbstractTableModel::headerData(section, orientation, role);
-}
-
-QVariant CookieModel::data(const QModelIndex &index, int role) const
-{
- QList<QNetworkCookie> lst;
- if (m_cookieJar)
- lst = m_cookieJar->allCookies();
- if (index.row() < 0 || index.row() >= lst.size())
- return QVariant();
-
- switch (role) {
- case Qt::DisplayRole:
- case Qt::EditRole: {
- QNetworkCookie cookie = lst.at(index.row());
- switch (index.column()) {
- case 0:
- return cookie.domain();
- case 1:
- return cookie.name();
- case 2:
- return cookie.path();
- case 3:
- return cookie.isSecure();
- case 4:
- return cookie.expirationDate();
- case 5:
- return cookie.value();
- }
- }
- case Qt::FontRole:{
- QFont font;
- font.setPointSize(10);
- return font;
- }
- }
-
- return QVariant();
-}
-
-int CookieModel::columnCount(const QModelIndex &parent) const
-{
- return (parent.isValid()) ? 0 : 6;
-}
-
-int CookieModel::rowCount(const QModelIndex &parent) const
-{
- return (parent.isValid() || !m_cookieJar) ? 0 : m_cookieJar->allCookies().count();
-}
-
-bool CookieModel::removeRows(int row, int count, const QModelIndex &parent)
-{
- if (parent.isValid() || !m_cookieJar)
- return false;
- int lastRow = row + count - 1;
- beginRemoveRows(parent, row, lastRow);
- QList<QNetworkCookie> lst = m_cookieJar->allCookies();
- for (int i = lastRow; i >= row; --i) {
- lst.removeAt(i);
- }
- m_cookieJar->setAllCookies(lst);
- endRemoveRows();
- return true;
-}
-
-void CookieModel::cookiesChanged()
-{
- reset();
-}
-
-CookiesDialog::CookiesDialog(CookieJar *cookieJar, QWidget *parent) : QDialog(parent)
-{
- setupUi(this);
- setWindowFlags(Qt::Sheet);
- CookieModel *model = new CookieModel(cookieJar, this);
- m_proxyModel = new QSortFilterProxyModel(this);
- connect(search, SIGNAL(textChanged(QString)),
- m_proxyModel, SLOT(setFilterFixedString(QString)));
- connect(removeButton, SIGNAL(clicked()), cookiesTable, SLOT(removeOne()));
- connect(removeAllButton, SIGNAL(clicked()), cookiesTable, SLOT(removeAll()));
- m_proxyModel->setSourceModel(model);
- cookiesTable->verticalHeader()->hide();
- cookiesTable->setSelectionBehavior(QAbstractItemView::SelectRows);
- cookiesTable->setModel(m_proxyModel);
- cookiesTable->setAlternatingRowColors(true);
- cookiesTable->setTextElideMode(Qt::ElideMiddle);
- cookiesTable->setShowGrid(false);
- cookiesTable->setSortingEnabled(true);
- QFont f = font();
- f.setPointSize(10);
- QFontMetrics fm(f);
- int height = fm.height() + fm.height()/3;
- cookiesTable->verticalHeader()->setDefaultSectionSize(height);
- cookiesTable->verticalHeader()->setMinimumSectionSize(-1);
- for (int i = 0; i < model->columnCount(); ++i){
- int header = cookiesTable->horizontalHeader()->sectionSizeHint(i);
- switch (i) {
- case 0:
- header = fm.width(QLatin1String("averagehost.domain.com"));
- break;
- case 1:
- header = fm.width(QLatin1String("_session_id"));
- break;
- case 4:
- header = fm.width(QDateTime::currentDateTime().toString(Qt::LocalDate));
- break;
- }
- int buffer = fm.width(QLatin1String("xx"));
- header += buffer;
- cookiesTable->horizontalHeader()->resizeSection(i, header);
- }
- cookiesTable->horizontalHeader()->setStretchLastSection(true);
-}
-
-
-
-CookieExceptionsModel::CookieExceptionsModel(CookieJar *cookiejar, QObject *parent)
- : QAbstractTableModel(parent)
- , m_cookieJar(cookiejar)
-{
- m_allowedCookies = m_cookieJar->allowedCookies();
- m_blockedCookies = m_cookieJar->blockedCookies();
- m_sessionCookies = m_cookieJar->allowForSessionCookies();
-}
-
-QVariant CookieExceptionsModel::headerData(int section, Qt::Orientation orientation, int role) const
-{
- if (role == Qt::SizeHintRole) {
- QFont font;
- font.setPointSize(10);
- QFontMetrics fm(font);
- int height = fm.height() + fm.height()/3;
- int width = fm.width(headerData(section, orientation, Qt::DisplayRole).toString());
- return QSize(width, height);
- }
-
- if (orientation == Qt::Horizontal
- && role == Qt::DisplayRole) {
- switch (section) {
- case 0:
- return tr("Website");
- case 1:
- return tr("Status");
- }
- }
- return QAbstractTableModel::headerData(section, orientation, role);
-}
-
-QVariant CookieExceptionsModel::data(const QModelIndex &index, int role) const
-{
- if (index.row() < 0 || index.row() >= rowCount())
- return QVariant();
-
- switch (role) {
- case Qt::DisplayRole:
- case Qt::EditRole: {
- int row = index.row();
- if (row < m_allowedCookies.count()) {
- switch (index.column()) {
- case 0:
- return m_allowedCookies.at(row);
- case 1:
- return tr("Allow");
- }
- }
- row = row - m_allowedCookies.count();
- if (row < m_blockedCookies.count()) {
- switch (index.column()) {
- case 0:
- return m_blockedCookies.at(row);
- case 1:
- return tr("Block");
- }
- }
- row = row - m_blockedCookies.count();
- if (row < m_sessionCookies.count()) {
- switch (index.column()) {
- case 0:
- return m_sessionCookies.at(row);
- case 1:
- return tr("Allow For Session");
- }
- }
- }
- case Qt::FontRole:{
- QFont font;
- font.setPointSize(10);
- return font;
- }
- }
- return QVariant();
-}
-
-int CookieExceptionsModel::columnCount(const QModelIndex &parent) const
-{
- return (parent.isValid()) ? 0 : 2;
-}
-
-int CookieExceptionsModel::rowCount(const QModelIndex &parent) const
-{
- return (parent.isValid() || !m_cookieJar) ? 0 : m_allowedCookies.count() + m_blockedCookies.count() + m_sessionCookies.count();
-}
-
-bool CookieExceptionsModel::removeRows(int row, int count, const QModelIndex &parent)
-{
- if (parent.isValid() || !m_cookieJar)
- return false;
-
- int lastRow = row + count - 1;
- beginRemoveRows(parent, row, lastRow);
- for (int i = lastRow; i >= row; --i) {
- if (i < m_allowedCookies.count()) {
- m_allowedCookies.removeAt(row);
- continue;
- }
- i = i - m_allowedCookies.count();
- if (i < m_blockedCookies.count()) {
- m_blockedCookies.removeAt(row);
- continue;
- }
- i = i - m_blockedCookies.count();
- if (i < m_sessionCookies.count()) {
- m_sessionCookies.removeAt(row);
- continue;
- }
- }
- m_cookieJar->setAllowedCookies(m_allowedCookies);
- m_cookieJar->setBlockedCookies(m_blockedCookies);
- m_cookieJar->setAllowForSessionCookies(m_sessionCookies);
- endRemoveRows();
- return true;
-}
-
-CookiesExceptionsDialog::CookiesExceptionsDialog(CookieJar *cookieJar, QWidget *parent)
- : QDialog(parent)
- , m_cookieJar(cookieJar)
-{
- setupUi(this);
- setWindowFlags(Qt::Sheet);
- connect(removeButton, SIGNAL(clicked()), exceptionTable, SLOT(removeOne()));
- connect(removeAllButton, SIGNAL(clicked()), exceptionTable, SLOT(removeAll()));
- exceptionTable->verticalHeader()->hide();
- exceptionTable->setSelectionBehavior(QAbstractItemView::SelectRows);
- exceptionTable->setAlternatingRowColors(true);
- exceptionTable->setTextElideMode(Qt::ElideMiddle);
- exceptionTable->setShowGrid(false);
- exceptionTable->setSortingEnabled(true);
- m_exceptionsModel = new CookieExceptionsModel(cookieJar, this);
- m_proxyModel = new QSortFilterProxyModel(this);
- m_proxyModel->setSourceModel(m_exceptionsModel);
- connect(search, SIGNAL(textChanged(QString)),
- m_proxyModel, SLOT(setFilterFixedString(QString)));
- exceptionTable->setModel(m_proxyModel);
-
- CookieModel *cookieModel = new CookieModel(cookieJar, this);
- domainLineEdit->setCompleter(new QCompleter(cookieModel, domainLineEdit));
-
- connect(domainLineEdit, SIGNAL(textChanged(const QString &)),
- this, SLOT(textChanged(const QString &)));
- connect(blockButton, SIGNAL(clicked()), this, SLOT(block()));
- connect(allowButton, SIGNAL(clicked()), this, SLOT(allow()));
- connect(allowForSessionButton, SIGNAL(clicked()), this, SLOT(allowForSession()));
-
- QFont f = font();
- f.setPointSize(10);
- QFontMetrics fm(f);
- int height = fm.height() + fm.height()/3;
- exceptionTable->verticalHeader()->setDefaultSectionSize(height);
- exceptionTable->verticalHeader()->setMinimumSectionSize(-1);
- for (int i = 0; i < m_exceptionsModel->columnCount(); ++i){
- int header = exceptionTable->horizontalHeader()->sectionSizeHint(i);
- switch (i) {
- case 0:
- header = fm.width(QLatin1String("averagebiglonghost.domain.com"));
- break;
- case 1:
- header = fm.width(QLatin1String("Allow For Session"));
- break;
- }
- int buffer = fm.width(QLatin1String("xx"));
- header += buffer;
- exceptionTable->horizontalHeader()->resizeSection(i, header);
- }
-}
-
-void CookiesExceptionsDialog::textChanged(const QString &text)
-{
- bool enabled = !text.isEmpty();
- blockButton->setEnabled(enabled);
- allowButton->setEnabled(enabled);
- allowForSessionButton->setEnabled(enabled);
-}
-
-void CookiesExceptionsDialog::block()
-{
- if (domainLineEdit->text().isEmpty())
- return;
- m_exceptionsModel->m_blockedCookies.append(domainLineEdit->text());
- m_cookieJar->setBlockedCookies(m_exceptionsModel->m_blockedCookies);
- m_exceptionsModel->reset();
-}
-
-void CookiesExceptionsDialog::allow()
-{
- if (domainLineEdit->text().isEmpty())
- return;
- m_exceptionsModel->m_allowedCookies.append(domainLineEdit->text());
- m_cookieJar->setAllowedCookies(m_exceptionsModel->m_allowedCookies);
- m_exceptionsModel->reset();
-}
-
-void CookiesExceptionsDialog::allowForSession()
-{
- if (domainLineEdit->text().isEmpty())
- return;
- m_exceptionsModel->m_sessionCookies.append(domainLineEdit->text());
- m_cookieJar->setAllowForSessionCookies(m_exceptionsModel->m_sessionCookies);
- m_exceptionsModel->reset();
-}
-
diff --git a/examples/gestures/browser/cookiejar.h b/examples/gestures/browser/cookiejar.h
deleted file mode 100644
index 55ba185..0000000
--- a/examples/gestures/browser/cookiejar.h
+++ /dev/null
@@ -1,204 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef COOKIEJAR_H
-#define COOKIEJAR_H
-
-#include <QtNetwork/QNetworkCookieJar>
-
-#include <QtCore/QAbstractItemModel>
-#include <QtCore/QStringList>
-
-#include <QtGui/QDialog>
-#include <QtGui/QTableView>
-
-QT_BEGIN_NAMESPACE
-class QSortFilterProxyModel;
-class QKeyEvent;
-QT_END_NAMESPACE
-
-class AutoSaver;
-
-class CookieJar : public QNetworkCookieJar
-{
- friend class CookieModel;
- Q_OBJECT
- Q_PROPERTY(AcceptPolicy acceptPolicy READ acceptPolicy WRITE setAcceptPolicy)
- Q_PROPERTY(KeepPolicy keepPolicy READ keepPolicy WRITE setKeepPolicy)
- Q_PROPERTY(QStringList blockedCookies READ blockedCookies WRITE setBlockedCookies)
- Q_PROPERTY(QStringList allowedCookies READ allowedCookies WRITE setAllowedCookies)
- Q_PROPERTY(QStringList allowForSessionCookies READ allowForSessionCookies WRITE setAllowForSessionCookies)
- Q_ENUMS(KeepPolicy)
- Q_ENUMS(AcceptPolicy)
-
-signals:
- void cookiesChanged();
-
-public:
- enum AcceptPolicy {
- AcceptAlways,
- AcceptNever,
- AcceptOnlyFromSitesNavigatedTo
- };
-
- enum KeepPolicy {
- KeepUntilExpire,
- KeepUntilExit,
- KeepUntilTimeLimit
- };
-
- CookieJar(QObject *parent = 0);
- ~CookieJar();
-
- QList<QNetworkCookie> cookiesForUrl(const QUrl &url) const;
- bool setCookiesFromUrl(const QList<QNetworkCookie> &cookieList, const QUrl &url);
-
- AcceptPolicy acceptPolicy() const;
- void setAcceptPolicy(AcceptPolicy policy);
-
- KeepPolicy keepPolicy() const;
- void setKeepPolicy(KeepPolicy policy);
-
- QStringList blockedCookies() const;
- QStringList allowedCookies() const;
- QStringList allowForSessionCookies() const;
-
- void setBlockedCookies(const QStringList &list);
- void setAllowedCookies(const QStringList &list);
- void setAllowForSessionCookies(const QStringList &list);
-
-public slots:
- void clear();
- void loadSettings();
-
-private slots:
- void save();
-
-private:
- void purgeOldCookies();
- void load();
- bool m_loaded;
- AutoSaver *m_saveTimer;
-
- AcceptPolicy m_acceptCookies;
- KeepPolicy m_keepCookies;
-
- QStringList m_exceptions_block;
- QStringList m_exceptions_allow;
- QStringList m_exceptions_allowForSession;
-};
-
-class CookieModel : public QAbstractTableModel
-{
- Q_OBJECT
-
-public:
- CookieModel(CookieJar *jar, QObject *parent = 0);
- QVariant headerData(int section, Qt::Orientation orientation, int role) const;
- QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const;
- int columnCount(const QModelIndex &parent = QModelIndex()) const;
- int rowCount(const QModelIndex &parent = QModelIndex()) const;
- bool removeRows(int row, int count, const QModelIndex &parent = QModelIndex());
-
-private slots:
- void cookiesChanged();
-
-private:
- CookieJar *m_cookieJar;
-};
-
-#include "ui_cookies.h"
-#include "ui_cookiesexceptions.h"
-
-class CookiesDialog : public QDialog, public Ui_CookiesDialog
-{
- Q_OBJECT
-
-public:
- CookiesDialog(CookieJar *cookieJar, QWidget *parent = 0);
-
-private:
- QSortFilterProxyModel *m_proxyModel;
-};
-
-class CookieExceptionsModel : public QAbstractTableModel
-{
- Q_OBJECT
- friend class CookiesExceptionsDialog;
-
-public:
- CookieExceptionsModel(CookieJar *cookieJar, QObject *parent = 0);
- QVariant headerData(int section, Qt::Orientation orientation, int role) const;
- QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const;
- int columnCount(const QModelIndex &parent = QModelIndex()) const;
- int rowCount(const QModelIndex &parent = QModelIndex()) const;
- bool removeRows(int row, int count, const QModelIndex &parent = QModelIndex());
-
-private:
- CookieJar *m_cookieJar;
-
- // Domains we allow, Domains we block, Domains we allow for this session
- QStringList m_allowedCookies;
- QStringList m_blockedCookies;
- QStringList m_sessionCookies;
-};
-
-class CookiesExceptionsDialog : public QDialog, public Ui_CookiesExceptionsDialog
-{
- Q_OBJECT
-
-public:
- CookiesExceptionsDialog(CookieJar *cookieJar, QWidget *parent = 0);
-
-private slots:
- void block();
- void allow();
- void allowForSession();
- void textChanged(const QString &text);
-
-private:
- CookieExceptionsModel *m_exceptionsModel;
- QSortFilterProxyModel *m_proxyModel;
- CookieJar *m_cookieJar;
-};
-
-#endif // COOKIEJAR_H
-
diff --git a/examples/gestures/browser/cookies.ui b/examples/gestures/browser/cookies.ui
deleted file mode 100644
index c4bccc5..0000000
--- a/examples/gestures/browser/cookies.ui
+++ /dev/null
@@ -1,106 +0,0 @@
-<ui version="4.0" >
- <class>CookiesDialog</class>
- <widget class="QDialog" name="CookiesDialog" >
- <property name="geometry" >
- <rect>
- <x>0</x>
- <y>0</y>
- <width>550</width>
- <height>370</height>
- </rect>
- </property>
- <property name="windowTitle" >
- <string>Cookies</string>
- </property>
- <layout class="QGridLayout" >
- <item row="0" column="0" >
- <spacer>
- <property name="orientation" >
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" stdset="0" >
- <size>
- <width>252</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- <item row="0" column="1" >
- <widget class="SearchLineEdit" name="search" />
- </item>
- <item row="1" column="0" colspan="2" >
- <widget class="EditTableView" name="cookiesTable" />
- </item>
- <item row="2" column="0" colspan="2" >
- <layout class="QHBoxLayout" >
- <item>
- <widget class="QPushButton" name="removeButton" >
- <property name="text" >
- <string>&amp;Remove</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QPushButton" name="removeAllButton" >
- <property name="text" >
- <string>Remove &amp;All Cookies</string>
- </property>
- </widget>
- </item>
- <item>
- <spacer>
- <property name="orientation" >
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" stdset="0" >
- <size>
- <width>40</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- <item>
- <widget class="QDialogButtonBox" name="buttonBox" >
- <property name="standardButtons" >
- <set>QDialogButtonBox::Ok</set>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- </layout>
- </widget>
- <customwidgets>
- <customwidget>
- <class>SearchLineEdit</class>
- <extends>QLineEdit</extends>
- <header>searchlineedit.h</header>
- </customwidget>
- <customwidget>
- <class>EditTableView</class>
- <extends>QTableView</extends>
- <header>edittableview.h</header>
- </customwidget>
- </customwidgets>
- <resources/>
- <connections>
- <connection>
- <sender>buttonBox</sender>
- <signal>accepted()</signal>
- <receiver>CookiesDialog</receiver>
- <slot>accept()</slot>
- <hints>
- <hint type="sourcelabel" >
- <x>472</x>
- <y>329</y>
- </hint>
- <hint type="destinationlabel" >
- <x>461</x>
- <y>356</y>
- </hint>
- </hints>
- </connection>
- </connections>
-</ui>
diff --git a/examples/gestures/browser/cookiesexceptions.ui b/examples/gestures/browser/cookiesexceptions.ui
deleted file mode 100644
index 3d9ef62..0000000
--- a/examples/gestures/browser/cookiesexceptions.ui
+++ /dev/null
@@ -1,184 +0,0 @@
-<ui version="4.0" >
- <class>CookiesExceptionsDialog</class>
- <widget class="QDialog" name="CookiesExceptionsDialog" >
- <property name="geometry" >
- <rect>
- <x>0</x>
- <y>0</y>
- <width>466</width>
- <height>446</height>
- </rect>
- </property>
- <property name="windowTitle" >
- <string>Cookie Exceptions</string>
- </property>
- <layout class="QVBoxLayout" >
- <item>
- <widget class="QGroupBox" name="newExceptionGroupBox" >
- <property name="title" >
- <string>New Exception</string>
- </property>
- <layout class="QGridLayout" >
- <item row="0" column="0" >
- <layout class="QHBoxLayout" >
- <item>
- <widget class="QLabel" name="label" >
- <property name="text" >
- <string>Domain:</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QLineEdit" name="domainLineEdit" />
- </item>
- </layout>
- </item>
- <item row="1" column="0" >
- <layout class="QHBoxLayout" >
- <item>
- <spacer>
- <property name="orientation" >
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" stdset="0" >
- <size>
- <width>81</width>
- <height>25</height>
- </size>
- </property>
- </spacer>
- </item>
- <item>
- <widget class="QPushButton" name="blockButton" >
- <property name="enabled" >
- <bool>false</bool>
- </property>
- <property name="text" >
- <string>Block</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QPushButton" name="allowForSessionButton" >
- <property name="enabled" >
- <bool>false</bool>
- </property>
- <property name="text" >
- <string>Allow For Session</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QPushButton" name="allowButton" >
- <property name="enabled" >
- <bool>false</bool>
- </property>
- <property name="text" >
- <string>Allow</string>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- </layout>
- </widget>
- </item>
- <item>
- <widget class="QGroupBox" name="ExceptionsGroupBox" >
- <property name="title" >
- <string>Exceptions</string>
- </property>
- <layout class="QGridLayout" >
- <item row="0" column="0" colspan="3" >
- <spacer>
- <property name="orientation" >
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" stdset="0" >
- <size>
- <width>252</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- <item row="0" column="3" >
- <widget class="SearchLineEdit" name="search" />
- </item>
- <item row="1" column="0" colspan="4" >
- <widget class="EditTableView" name="exceptionTable" />
- </item>
- <item row="2" column="0" >
- <widget class="QPushButton" name="removeButton" >
- <property name="text" >
- <string>&amp;Remove</string>
- </property>
- </widget>
- </item>
- <item row="2" column="1" >
- <widget class="QPushButton" name="removeAllButton" >
- <property name="text" >
- <string>Remove &amp;All</string>
- </property>
- </widget>
- </item>
- <item row="2" column="2" colspan="2" >
- <spacer>
- <property name="orientation" >
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" stdset="0" >
- <size>
- <width>40</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- </layout>
- </widget>
- </item>
- <item>
- <widget class="QDialogButtonBox" name="buttonBox" >
- <property name="orientation" >
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="standardButtons" >
- <set>QDialogButtonBox::Ok</set>
- </property>
- </widget>
- </item>
- </layout>
- </widget>
- <customwidgets>
- <customwidget>
- <class>SearchLineEdit</class>
- <extends>QLineEdit</extends>
- <header>searchlineedit.h</header>
- </customwidget>
- <customwidget>
- <class>EditTableView</class>
- <extends>QTableView</extends>
- <header>edittableview.h</header>
- </customwidget>
- </customwidgets>
- <resources/>
- <connections>
- <connection>
- <sender>buttonBox</sender>
- <signal>accepted()</signal>
- <receiver>CookiesExceptionsDialog</receiver>
- <slot>accept()</slot>
- <hints>
- <hint type="sourcelabel" >
- <x>381</x>
- <y>428</y>
- </hint>
- <hint type="destinationlabel" >
- <x>336</x>
- <y>443</y>
- </hint>
- </hints>
- </connection>
- </connections>
-</ui>
diff --git a/examples/gestures/browser/data/addtab.png b/examples/gestures/browser/data/addtab.png
deleted file mode 100644
index 20928fb..0000000
--- a/examples/gestures/browser/data/addtab.png
+++ /dev/null
Binary files differ
diff --git a/examples/gestures/browser/data/browser.svg b/examples/gestures/browser/data/browser.svg
deleted file mode 100644
index 4b0fa72..0000000
--- a/examples/gestures/browser/data/browser.svg
+++ /dev/null
@@ -1,411 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-<svg
- xmlns:dc="http://purl.org/dc/elements/1.1/"
- xmlns:cc="http://creativecommons.org/ns#"
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:svg="http://www.w3.org/2000/svg"
- xmlns="http://www.w3.org/2000/svg"
- xmlns:xlink="http://www.w3.org/1999/xlink"
- xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- width="48px"
- height="48px"
- id="svg2160"
- sodipodi:version="0.32"
- inkscape:version="0.46"
- inkscape:export-filename="c:\icons\qtbrowser48.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90"
- sodipodi:docbase="C:\icons"
- sodipodi:docname="browser.svg"
- inkscape:output_extension="org.inkscape.output.svg.inkscape">
- <defs
- id="defs2162"><linearGradient
- id="linearGradient3808">
- <stop
- id="stop3810"
- offset="0"
- style="stop-color:#000000;stop-opacity:0.54263568;" />
- <stop
- id="stop3812"
- offset="1"
- style="stop-color:#000000;stop-opacity:0;" />
-</linearGradient>
-<inkscape:perspective
- sodipodi:type="inkscape:persp3d"
- inkscape:vp_x="0 : 24 : 1"
- inkscape:vp_y="0 : 1000 : 0"
- inkscape:vp_z="48 : 24 : 1"
- inkscape:persp3d-origin="24 : 16 : 1"
- id="perspective63" />
-<linearGradient
- id="linearGradient3326">
- <stop
- style="stop-color:#000000;stop-opacity:0.3137255;"
- offset="0"
- id="stop3328" />
- <stop
- style="stop-color:#000000;stop-opacity:0;"
- offset="1"
- id="stop3330" />
-</linearGradient>
-<linearGradient
- id="linearGradient3318">
- <stop
- style="stop-color:#000000;stop-opacity:0.3137255;"
- offset="0"
- id="stop3320" />
- <stop
- style="stop-color:#000000;stop-opacity:0;"
- offset="1"
- id="stop3322" />
-</linearGradient>
-<linearGradient
- id="linearGradient3302">
- <stop
- style="stop-color:#000000;stop-opacity:0.3137255;"
- offset="0"
- id="stop3304" />
- <stop
- style="stop-color:#000000;stop-opacity:0;"
- offset="1"
- id="stop3306" />
-</linearGradient>
-<linearGradient
- id="linearGradient3267">
- <stop
- style="stop-color:#000000;stop-opacity:1;"
- offset="0"
- id="stop3269" />
- <stop
- id="stop3275"
- offset="0.79661018"
- style="stop-color:#000000;stop-opacity:1;" />
- <stop
- style="stop-color:#000000;stop-opacity:0;"
- offset="1"
- id="stop3271" />
-</linearGradient>
-<linearGradient
- id="linearGradient3745">
- <stop
- style="stop-color:#ffffff;stop-opacity:0.19587629;"
- offset="0"
- id="stop3747" />
- <stop
- style="stop-color:#7cb2ff;stop-opacity:0.07216495;"
- offset="1"
- id="stop3749" />
-</linearGradient>
-<linearGradient
- inkscape:collect="always"
- id="linearGradient3561">
- <stop
- style="stop-color:#b1d0ff;stop-opacity:1;"
- offset="0"
- id="stop3563" />
- <stop
- style="stop-color:#b1d0ff;stop-opacity:0;"
- offset="1"
- id="stop3565" />
-</linearGradient>
-<linearGradient
- id="linearGradient3181">
- <stop
- style="stop-color:#4f7a33;stop-opacity:1;"
- offset="0"
- id="stop3183" />
- <stop
- style="stop-color:#204712;stop-opacity:1;"
- offset="1"
- id="stop3185" />
-</linearGradient>
-<linearGradient
- id="linearGradient3143">
- <stop
- style="stop-color:#c1dbff;stop-opacity:1;"
- offset="0"
- id="stop3145" />
- <stop
- style="stop-color:#004e92;stop-opacity:1;"
- offset="1"
- id="stop3147" />
-</linearGradient>
-<radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3143"
- id="radialGradient3149"
- cx="9.1428566"
- cy="15.142858"
- fx="9.1428566"
- fy="15.142858"
- r="20.121096"
- gradientUnits="userSpaceOnUse" />
-<radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3181"
- id="radialGradient3187"
- cx="10.739879"
- cy="18.250999"
- fx="10.739879"
- fy="18.250999"
- r="7.4191086"
- gradientTransform="matrix(1.0504709,0,0,1.5077925,-0.3797113,-9.2677171)"
- gradientUnits="userSpaceOnUse" />
-<radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3181"
- id="radialGradient3195"
- cx="14.947268"
- cy="35.920116"
- fx="14.947268"
- fy="35.920116"
- r="6.0472684"
- gradientTransform="matrix(1,0,0,0.7248478,0,9.8834985)"
- gradientUnits="userSpaceOnUse" />
-<radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3181"
- id="radialGradient3203"
- cx="34.227203"
- cy="24.681196"
- fx="34.227203"
- fy="24.681196"
- r="6.7517419"
- gradientTransform="matrix(0.9941509,-0.1079997,0.2962199,2.7267411,-7.1108629,-38.921508)"
- gradientUnits="userSpaceOnUse" />
-<radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3561"
- id="radialGradient3567"
- cx="22.714285"
- cy="23.571428"
- fx="22.714285"
- fy="23.571428"
- r="19.828572"
- gradientUnits="userSpaceOnUse" />
-<linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3745"
- id="linearGradient3751"
- x1="0.84126461"
- y1="13.678415"
- x2="31.397495"
- y2="13.678415"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.8791332,0.7829527,-0.6285195,1.0951445,14.147627,-10.49311)" />
-<filter
- inkscape:collect="always"
- id="filter4176">
- <feGaussianBlur
- inkscape:collect="always"
- stdDeviation="0.27747502"
- id="feGaussianBlur4178" />
-</filter>
-<radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3267"
- id="radialGradient3273"
- cx="22.714285"
- cy="23.571428"
- fx="22.714285"
- fy="23.571428"
- r="19.428572"
- gradientUnits="userSpaceOnUse" />
-<inkscape:perspective
- id="perspective136"
- inkscape:persp3d-origin="138.6795 : 92.479329 : 1"
- inkscape:vp_z="277.35901 : 138.71899 : 1"
- inkscape:vp_y="0 : 1000 : 0"
- inkscape:vp_x="0 : 138.71899 : 1"
- sodipodi:type="inkscape:persp3d" />
-
-
-
-
-
-
-
-
-
-
-<linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3808"
- id="linearGradient3806"
- x1="32.829472"
- y1="32.055603"
- x2="34.522324"
- y2="-1.0290829"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.8832227,0,0,1,-8.0103007,9.1923882)" />
-</defs>
- <sodipodi:namedview
- id="base"
- pagecolor="#ffffff"
- bordercolor="#666666"
- borderopacity="1.0"
- inkscape:pageopacity="0.0"
- inkscape:pageshadow="2"
- inkscape:zoom="5.6568542"
- inkscape:cx="30.924085"
- inkscape:cy="24.59691"
- inkscape:current-layer="layer1"
- showgrid="false"
- inkscape:grid-bbox="true"
- inkscape:document-units="px"
- inkscape:window-width="1299"
- inkscape:window-height="883"
- inkscape:window-x="373"
- inkscape:window-y="89"
- showguides="false" />
- <metadata
- id="metadata2165">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- <dc:title>Qt Browser</dc:title>
- <dc:creator>
- <cc:Agent>
- <dc:title>Jens Bache-Wiig</dc:title>
- </cc:Agent>
- </dc:creator>
- <dc:rights>
- <cc:Agent>
- <dc:title>Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).</dc:title>
- </cc:Agent>
- </dc:rights>
- </cc:Work>
- </rdf:RDF>
- </metadata>
- <g
- id="layer1"
- inkscape:label="Layer 1"
- inkscape:groupmode="layer">
- <path
- sodipodi:type="arc"
- style="opacity:0.78108437;fill:url(#radialGradient3273);fill-opacity:1;stroke:none;stroke-width:0.80000001;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- id="path3407"
- sodipodi:cx="22.714285"
- sodipodi:cy="23.571428"
- sodipodi:rx="19.428572"
- sodipodi:ry="19.428572"
- d="M 42.142857,23.571428 A 19.428572,19.428572 0 1 1 3.2857132,23.571428 A 19.428572,19.428572 0 1 1 42.142857,23.571428 z"
- transform="matrix(1.0818892,0,0,1.0409446,-2.4313375,0.4303723)" />
- <path
- sodipodi:type="arc"
- style="fill:url(#radialGradient3149);fill-opacity:1;stroke:none;stroke-width:0.80000000000000004;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- id="path2170"
- sodipodi:cx="22.714285"
- sodipodi:cy="23.571428"
- sodipodi:rx="19.428572"
- sodipodi:ry="19.428572"
- d="M 42.142857 23.571428 A 19.428572 19.428572 0 1 1 3.2857132,23.571428 A 19.428572 19.428572 0 1 1 42.142857 23.571428 z" />
- <path
- d="M 26.602136,8.2160843 C 26.322653,8.1637524 26.048884,8.1512446 25.78375,8.1745351 L 25.783243,8.1743913 C 25.783243,8.1743913 23.973525,8.3138471 23.891496,8.3211793 C 22.239361,8.4705552 20.985434,10.008307 20.985434,12.131916 L 20.985434,37.174579 L 22.83515,39.126673 L 41.425135,33.998394 C 42.704203,33.746799 43.714709,33.629384 43.714709,31.78483 L 43.714709,11.392226 L 26.602136,8.2160843 z"
- id="path2998"
- style="fill:url(#linearGradient3806);fill-opacity:1"
- sodipodi:nodetypes="cccsccccccc" />
- <path
- style="fill:url(#radialGradient3203);fill-opacity:1;fill-rule:evenodd;stroke:#1d3215;stroke-width:0.51392877000000003;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- d="M 37.535517,11.721122 C 32.782916,8.7478602 30.602351,6.3542385 32.09957,13.4346 C 32.320572,14.27055 33.291276,13.739232 33.291276,14.862228 C 33.291276,16.155819 32.607502,17.380765 31.797574,18.146663 C 30.959323,18.939344 31.011357,20.258984 31.797574,21.002459 C 33.06234,22.198469 33.942515,22.715936 35.572536,22.715936 C 36.6448,22.715936 37.003629,23.274262 37.23352,24.143834 C 37.362263,24.630808 38.410486,25.085663 38.894503,25.428942 C 38.938905,25.460433 38.139512,26.551348 38.139512,27.999158 C 38.139512,29.113512 38.405167,29.358325 38.743505,29.998215 C 38.949111,30.387072 36.418877,30.283794 36.025532,30.283794 C 35.005751,30.283794 34.181701,30.712163 33.15656,30.712163 C 32.264543,30.712163 31.099578,30.3566 31.344578,31.283323 C 31.763542,32.868074 32.552566,33.932342 32.552566,35.709806 C 32.552566,36.862272 31.047367,37.598377 30.287588,38.137232 C 29.30273,38.835721 29.133207,39.307154 28.475606,40.136289 C 28.132145,40.569341 26.990548,41.409612 28.475606,40.707448 C 29.476144,40.234375 31.192063,39.423774 32.09957,38.565601 C 33.257846,37.470293 34.527421,37.269266 35.723534,36.138176 C 36.659137,35.253436 37.512933,34.691155 38.29051,33.710749 C 39.024031,32.785889 39.498498,31.90347 39.498498,30.712163 C 39.498498,29.682482 39.308098,28.750366 39.951493,28.141948 C 40.902684,24.235856 42.225874,19.789742 39.751646,16.005086 C 38.569376,15.014407 37.717516,13.109859 37.535517,11.721122 z "
- id="path3151"
- sodipodi:nodetypes="ccsssssssssssssssssssccc" />
- <path
- style="fill:url(#radialGradient3187);fill-opacity:1;fill-rule:evenodd;stroke:#063a0a;stroke-width:0.51231807;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- d="M 14.777083,7.8630009 C 14.047432,8.4403746 12.751987,10.898939 13.27641,12.146301 C 13.709874,13.177316 14.920827,13.613143 15.827553,13.859622 C 16.568703,14.061091 17.049015,14.457271 17.478293,15.001835 C 17.832696,15.451415 17.971105,16.346745 18.078563,16.857932 C 18.298637,17.904845 18.947911,17.058563 17.62836,18.000145 C 17.234352,18.281296 14.875696,18.000145 14.476948,18.000145 C 11.976825,18.384083 14.297504,19.464893 14.92715,20.712903 C 15.204987,21.770261 15.377352,22.405336 15.377352,23.711213 C 15.377352,24.875672 15.377352,24.78389 15.377352,25.99564 C 15.377352,27.194757 15.044241,27.28063 13.876679,27.28063 C 13.023055,27.28063 12.647321,26.423969 11.625669,26.423969 C 10.400599,26.423969 11.303539,27.667106 11.475602,27.994513 C 12.006402,29.004538 11.662121,29.599737 10.875334,28.851174 C 9.855722,27.881096 8.8280305,26.760556 8.0240557,25.99564 C 2.8789379,25.807372 4.5677903,23.466499 3.9722395,18.999582 C 5.041259,16.526382 4.7558935,17.248897 7.2737194,12.574632 C 10.149914,9.5491592 13.589212,5.9532919 14.777083,7.8630009 z"
- id="path3159"
- sodipodi:nodetypes="csssssccsssssscccc" />
- <path
- style="fill:url(#radialGradient3195);fill-opacity:1;fill-rule:evenodd;stroke:#163c0c;stroke-width:0.59999999999999998;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- d="M 10.265966,34.571429 C 9.245427,35.081699 8.6225774,36.042538 9.980252,36.857143 C 10.637564,37.25153 11.478587,37.606311 12.265966,38 C 13.258976,38.496505 14.481138,39.018522 15.408823,39.714286 C 16.227572,40.328348 15.587589,39.928184 16.123109,38.857143 C 16.827927,37.447507 18.14516,38.79674 18.837395,39.142857 C 20.044787,39.746554 20.46001,38.652394 20.694537,37.714286 C 20.459863,35.791335 18.579948,34.625723 17.123109,33.285715 C 16.704922,32.588736 15.507117,31.689713 14.837395,31.857143 C 13.49505,33.304042 12.350312,33.960279 10.265966,34.571429 z "
- id="path3161"
- sodipodi:nodetypes="cssssscccc" />
- <path
- sodipodi:type="arc"
- style="fill:none;fill-opacity:1;stroke:url(#radialGradient3567);stroke-width:0.80000001;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.6502732"
- id="path3557"
- sodipodi:cx="22.714285"
- sodipodi:cy="23.571428"
- sodipodi:rx="19.428572"
- sodipodi:ry="19.428572"
- d="M 42.142857 23.571428 A 19.428572 19.428572 0 1 1 3.2857132,23.571428 A 19.428572 19.428572 0 1 1 42.142857 23.571428 z"
- transform="matrix(0.95317,0,0,0.95317,0.9922816,1.1752786)" />
- <path
- style="fill:url(#linearGradient3751);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- d="M 39.916926,27.786316 C 44.588637,26.790847 38.225604,13.201712 32.946381,8.5000566 C 18.135275,-0.40265528 10.844456,5.6490056 3.6645529,16.333771 C 5.7478288,18.189127 14.704728,33.158645 39.916926,27.786316 z"
- id="path3578"
- sodipodi:nodetypes="cccs" />
- <path
- d="M 45.902562,20.610592 C 46.007701,20.610592 46.120332,20.603354 46.240455,20.590275 L 45.609873,20.590275 C 45.697743,20.603608 45.798946,20.610592 45.902562,20.610592 z"
- id="path3012"
- style="fill:#0a6333" />
- <path
- sodipodi:type="arc"
- style="fill:none;fill-opacity:1;stroke:#273e5e;stroke-width:0.80000001;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- id="path3818"
- sodipodi:cx="22.714285"
- sodipodi:cy="23.571428"
- sodipodi:rx="19.428572"
- sodipodi:ry="19.428572"
- d="M 42.142857,23.571428 A 19.428572,19.428572 0 1 1 3.2857132,23.571428 A 19.428572,19.428572 0 1 1 42.142857,23.571428 z"
- transform="matrix(0.9754581,0,0,0.9754581,0.3821951,0.7002631)" />
- <g
- transform="matrix(0.1269799,0,0,0.1269799,23.283534,9.5774104)"
- id="g236">
- <path
- style="fill:#024c1c"
- id="path238"
- d="M 44.233,0.368 C 42.032,0.004 39.876,-0.083 37.788,0.079 L 37.784,0.078 C 37.784,0.078 23.532,1.048 22.886,1.099 C 9.875,2.138 0,12.834 0,27.605 L 0,201.792 L 14.567,215.37 L 160.968,190.766 C 171.041,189.016 178.999,177.133 178.999,164.303 L 178.999,22.46 L 44.233,0.368 z" />
-
- <path
- style="fill:#66b036"
- id="path240"
- d="M 179,164.304 C 179,177.134 171.042,189.017 160.969,190.767 L 14.567,215.37 L 14.567,26.683 C 14.567,9.52 28.263,-2.264 44.231,0.368 L 179,22.462 L 179,164.304 z" />
-
- <g
- id="g242">
- <path
- style="fill:#ffffff"
- id="path244"
- d="M 133.897,47.137 L 145.72,48.411 L 145.72,69.158 L 159.025,70.099 L 159.025,83.113 L 145.72,82.502 L 145.72,130.066 C 145.72,134.207 146.176,136.869 147.093,138.064 C 147.919,139.158 149.195,139.697 150.907,139.697 C 151.069,139.697 151.24,139.695 151.414,139.683 C 154.031,139.533 156.878,138.728 159.98,137.314 L 159.98,149.275 C 154.707,151.591 149.532,152.966 144.452,153.398 C 143.716,153.457 143.005,153.486 142.317,153.486 C 137.716,153.486 134.199,152.152 131.797,149.451 C 128.998,146.318 127.598,141.285 127.598,134.387 L 127.598,81.661 L 121.209,81.368 L 121.209,67.424 L 129,67.985 L 133.897,47.137 z" />
-
- </g>
-
- <polygon
- style="fill:#0a6333"
- id="polygon246"
- points="159.027,83.112 145.722,82.501 145.722,82.785 152.854,83.112 159.027,83.112 " />
-
- <path
- style="fill:#024c1c"
- id="path248"
- d="M 148.488,139.21 C 149.168,139.548 149.96,139.696 150.908,139.696 C 151.07,139.696 151.241,139.694 151.415,139.682 C 154.032,139.532 156.879,138.727 159.981,137.313 L 153.806,137.313 C 151.938,138.169 150.178,138.808 148.488,139.21 z" />
-
- <path
- style="fill:#024c1c"
- id="path250"
- d="M 133.897,47.137 L 127.723,47.137 L 122.93,67.549 L 129,67.985 L 133.897,47.137 z M 131.799,149.45 C 129,146.317 127.6,141.284 127.6,134.386 L 127.6,81.661 L 121.211,81.368 L 121.211,67.424 L 115.03,67.424 L 115.03,70.539 C 115.926,73.897 116.63,77.539 117.149,81.465 L 121.426,81.661 L 121.426,134.386 C 121.426,141.284 122.827,146.318 125.625,149.45 C 128.029,152.151 131.541,153.485 136.141,153.485 L 142.318,153.485 C 137.718,153.485 134.2,152.151 131.799,149.45 z" />
-
- <path
- style="fill:#0a6333"
- id="path252"
- d="M 102.954,170.419 C 103.782,170.419 104.669,170.362 105.615,170.259 L 100.649,170.259 C 101.341,170.364 102.138,170.419 102.954,170.419 z" />
-
- <path
- style="fill:#ffffff"
- id="path254"
- d="M 112.036,139.78 C 107.81,149.749 101.365,156.27 92.542,159.288 C 93.43,163.856 94.778,166.929 96.567,168.55 C 97.955,169.796 100.094,170.419 102.958,170.419 C 103.782,170.419 104.671,170.362 105.615,170.259 L 105.615,183.736 L 99.497,184.539 C 97.692,184.771 95.98,184.889 94.361,184.889 C 89.001,184.889 84.665,183.59 81.402,180.961 C 77.085,177.496 73.899,170.805 71.857,160.908 C 62.48,158.91 55.166,152.945 50.103,142.937 C 44.965,132.769 42.349,117.895 42.349,98.441 C 42.349,77.466 45.927,61.985 52.971,52.169 C 58.912,43.885 67.202,39.812 77.634,39.812 C 79.306,39.812 81.033,39.916 82.809,40.124 C 95.081,41.539 103.977,47.329 109.77,57.362 C 115.453,67.177 118.243,81.244 118.243,99.721 C 118.242,116.643 116.186,129.954 112.036,139.78 z M 93.582,135.933 C 95.996,129.724 97.189,117.54 97.189,99.37 C 97.189,83.054 96.007,71.837 93.608,65.682 C 91.21,59.496 87.622,56.153 82.808,55.731 C 82.441,55.7 82.075,55.681 81.724,55.681 C 77.264,55.681 73.84,58.283 71.447,63.508 C 68.863,69.201 67.555,81.003 67.555,98.866 C 67.555,116.129 68.826,128.379 71.388,135.569 C 73.804,142.419 77.423,145.813 82.174,145.813 C 82.384,145.813 82.593,145.805 82.809,145.79 C 87.566,145.489 91.148,142.202 93.582,135.933" />
-
- <path
- style="fill:#024c1c"
- id="path256"
- d="M 84.708,183.003 C 84.59,182.95 84.477,182.896 84.361,182.839 C 84.349,182.835 84.336,182.829 84.323,182.821 C 84.218,182.77 84.115,182.716 84.011,182.663 C 83.991,182.653 83.971,182.642 83.948,182.63 C 83.854,182.579 83.761,182.528 83.667,182.476 C 83.636,182.46 83.609,182.443 83.579,182.427 C 83.494,182.38 83.412,182.331 83.328,182.284 C 83.286,182.263 83.25,182.239 83.209,182.214 C 83.137,182.171 83.062,182.128 82.994,182.083 C 82.943,182.054 82.897,182.024 82.848,181.993 C 82.785,181.954 82.726,181.915 82.663,181.876 C 82.606,181.837 82.552,181.798 82.492,181.759 C 82.442,181.726 82.392,181.693 82.342,181.659 C 82.272,181.612 82.206,181.563 82.141,181.518 C 82.101,181.489 82.061,181.463 82.021,181.432 C 81.943,181.377 81.866,181.319 81.79,181.26 C 81.764,181.239 81.735,181.221 81.708,181.199 C 81.607,181.121 81.505,181.039 81.402,180.959 C 77.085,177.494 73.899,170.803 71.857,160.906 C 62.48,158.908 55.166,152.943 50.103,142.935 C 44.965,132.767 42.349,117.893 42.349,98.439 C 42.349,77.464 45.927,61.983 52.971,52.167 C 58.912,43.883 67.202,39.81 77.634,39.81 C 77.67,39.81 71.114,39.806 71.114,39.806 L 71.114,39.81 C 60.694,39.818 52.411,43.89 46.476,52.167 C 39.434,61.984 35.855,77.465 35.855,98.439 C 35.855,117.892 38.469,132.767 43.609,142.935 C 48.671,152.943 55.983,158.908 65.361,160.906 C 67.403,170.802 70.588,177.494 74.904,180.959 C 78.168,183.588 82.507,184.887 87.867,184.887 C 87.967,184.887 88.07,184.887 88.17,184.885 L 93.861,184.885 C 90.361,184.828 87.306,184.203 84.716,183.006 C 84.712,183.007 84.708,183.007 84.708,183.003 z M 87.113,65.681 C 89.511,71.837 90.69,83.054 90.69,99.369 C 90.69,117.539 89.502,129.723 87.083,135.932 C 85.142,140.942 82.439,144.047 79.013,145.248 C 79.999,145.621 81.058,145.81 82.173,145.81 C 82.383,145.81 82.592,145.802 82.808,145.787 C 87.567,145.488 91.149,142.201 93.582,135.932 C 95.996,129.723 97.189,117.539 97.189,99.369 C 97.189,83.053 96.007,71.836 93.608,65.681 C 91.21,59.495 87.622,56.152 82.808,55.73 C 82.441,55.699 82.075,55.68 81.724,55.68 C 80.601,55.68 79.549,55.845 78.556,56.173 L 78.556,56.175 L 78.556,56.175 C 82.254,57.322 85.104,60.5 87.113,65.681 z" />
-
-</g>
- </g>
-</svg>
diff --git a/examples/gestures/browser/data/closetab.png b/examples/gestures/browser/data/closetab.png
deleted file mode 100644
index ab9d669..0000000
--- a/examples/gestures/browser/data/closetab.png
+++ /dev/null
Binary files differ
diff --git a/examples/gestures/browser/data/data.qrc b/examples/gestures/browser/data/data.qrc
deleted file mode 100644
index c7d0294..0000000
--- a/examples/gestures/browser/data/data.qrc
+++ /dev/null
@@ -1,11 +0,0 @@
-<!DOCTYPE RCC><RCC version="1.0">
-<qresource>
- <file>addtab.png</file>
- <file>closetab.png</file>
- <file>history.png</file>
- <file>browser.svg</file>
- <file>defaultbookmarks.xbel</file>
- <file>loading.gif</file>
- <file>defaulticon.png</file>
-</qresource>
-</RCC>
diff --git a/examples/gestures/browser/data/defaultbookmarks.xbel b/examples/gestures/browser/data/defaultbookmarks.xbel
deleted file mode 100644
index a168244..0000000
--- a/examples/gestures/browser/data/defaultbookmarks.xbel
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE xbel>
-<xbel version="1.0">
- <folder folded="yes">
- <title>Bookmarks Bar</title>
- <bookmark href="http://qtsoftware.com/">
- <title>Qt Software</title>
- </bookmark>
- <bookmark href="http://webkit.org/">
- <title>WebKit.org</title>
- </bookmark>
- <bookmark href="http://doc.trolltech.com/">
- <title>Qt Documentation</title>
- </bookmark>
- <bookmark href="http://doc.trolltech.com/qq/">
- <title>Qt Quarterly</title>
- </bookmark>
- <bookmark href="http://labs.trolltech.com/">
- <title>Qt Labs</title>
- </bookmark>
- <bookmark href="http://www.qtcentre.org/">
- <title>Qt Centre</title>
- </bookmark>
- <bookmark href="http://qt-apps.org/">
- <title>Qt-Apps.org</title>
- </bookmark>
- <bookmark href="http://qtnode.net/">
- <title>qtnode</title>
- </bookmark>
- <bookmark href="http://xkcd.com/">
- <title>xkcd</title>
- </bookmark>
- </folder>
- <folder folded="yes">
- <title>Bookmarks Menu</title>
- <bookmark href="http://reddit.com/">
- <title>reddit.com: what's new online!</title>
- </bookmark>
- </folder>
-</xbel>
diff --git a/examples/gestures/browser/data/defaulticon.png b/examples/gestures/browser/data/defaulticon.png
deleted file mode 100644
index 01a0920..0000000
--- a/examples/gestures/browser/data/defaulticon.png
+++ /dev/null
Binary files differ
diff --git a/examples/gestures/browser/data/history.png b/examples/gestures/browser/data/history.png
deleted file mode 100644
index 552a1cb..0000000
--- a/examples/gestures/browser/data/history.png
+++ /dev/null
Binary files differ
diff --git a/examples/gestures/browser/data/loading.gif b/examples/gestures/browser/data/loading.gif
deleted file mode 100644
index c1545eb..0000000
--- a/examples/gestures/browser/data/loading.gif
+++ /dev/null
Binary files differ
diff --git a/examples/gestures/browser/downloaditem.ui b/examples/gestures/browser/downloaditem.ui
deleted file mode 100644
index 4a0a0fd..0000000
--- a/examples/gestures/browser/downloaditem.ui
+++ /dev/null
@@ -1,134 +0,0 @@
-<ui version="4.0" >
- <class>DownloadItem</class>
- <widget class="QWidget" name="DownloadItem" >
- <property name="geometry" >
- <rect>
- <x>0</x>
- <y>0</y>
- <width>423</width>
- <height>110</height>
- </rect>
- </property>
- <property name="windowTitle" >
- <string>Form</string>
- </property>
- <layout class="QHBoxLayout" name="horizontalLayout" >
- <property name="margin" >
- <number>0</number>
- </property>
- <item>
- <widget class="QLabel" name="fileIcon" >
- <property name="sizePolicy" >
- <sizepolicy vsizetype="Minimum" hsizetype="Minimum" >
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text" >
- <string>Ico</string>
- </property>
- </widget>
- </item>
- <item>
- <layout class="QVBoxLayout" name="verticalLayout_2" >
- <item>
- <widget class="SqueezeLabel" native="1" name="fileNameLabel" >
- <property name="sizePolicy" >
- <sizepolicy vsizetype="Preferred" hsizetype="Expanding" >
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text" stdset="0" >
- <string>Filename</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QProgressBar" name="progressBar" >
- <property name="value" >
- <number>0</number>
- </property>
- </widget>
- </item>
- <item>
- <widget class="SqueezeLabel" native="1" name="downloadInfoLabel" >
- <property name="sizePolicy" >
- <sizepolicy vsizetype="Preferred" hsizetype="Minimum" >
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text" stdset="0" >
- <string/>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item>
- <layout class="QVBoxLayout" name="verticalLayout" >
- <item>
- <spacer name="verticalSpacer" >
- <property name="orientation" >
- <enum>Qt::Vertical</enum>
- </property>
- <property name="sizeHint" stdset="0" >
- <size>
- <width>17</width>
- <height>1</height>
- </size>
- </property>
- </spacer>
- </item>
- <item>
- <widget class="QPushButton" name="tryAgainButton" >
- <property name="enabled" >
- <bool>false</bool>
- </property>
- <property name="text" >
- <string>Try Again</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QPushButton" name="stopButton" >
- <property name="text" >
- <string>Stop</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QPushButton" name="openButton" >
- <property name="text" >
- <string>Open</string>
- </property>
- </widget>
- </item>
- <item>
- <spacer name="verticalSpacer_2" >
- <property name="orientation" >
- <enum>Qt::Vertical</enum>
- </property>
- <property name="sizeHint" stdset="0" >
- <size>
- <width>17</width>
- <height>5</height>
- </size>
- </property>
- </spacer>
- </item>
- </layout>
- </item>
- </layout>
- </widget>
- <customwidgets>
- <customwidget>
- <class>SqueezeLabel</class>
- <extends>QWidget</extends>
- <header>squeezelabel.h</header>
- </customwidget>
- </customwidgets>
- <resources/>
- <connections/>
-</ui>
diff --git a/examples/gestures/browser/downloadmanager.cpp b/examples/gestures/browser/downloadmanager.cpp
deleted file mode 100644
index 8e23795..0000000
--- a/examples/gestures/browser/downloadmanager.cpp
+++ /dev/null
@@ -1,579 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "downloadmanager.h"
-
-#include "autosaver.h"
-#include "browserapplication.h"
-#include "networkaccessmanager.h"
-
-#include <math.h>
-
-#include <QtCore/QMetaEnum>
-#include <QtCore/QSettings>
-
-#include <QtGui/QDesktopServices>
-#include <QtGui/QFileDialog>
-#include <QtGui/QHeaderView>
-#include <QtGui/QFileIconProvider>
-
-#include <QtCore/QDebug>
-
-#include <QtWebKit/QWebSettings>
-
-/*!
- DownloadItem is a widget that is displayed in the download manager list.
- It moves the data from the QNetworkReply into the QFile as well
- as update the information/progressbar and report errors.
- */
-DownloadItem::DownloadItem(QNetworkReply *reply, bool requestFileName, QWidget *parent)
- : QWidget(parent)
- , m_reply(reply)
- , m_requestFileName(requestFileName)
- , m_bytesReceived(0)
-{
- setupUi(this);
- QPalette p = downloadInfoLabel->palette();
- p.setColor(QPalette::Text, Qt::darkGray);
- downloadInfoLabel->setPalette(p);
- progressBar->setMaximum(0);
- tryAgainButton->hide();
- connect(stopButton, SIGNAL(clicked()), this, SLOT(stop()));
- connect(openButton, SIGNAL(clicked()), this, SLOT(open()));
- connect(tryAgainButton, SIGNAL(clicked()), this, SLOT(tryAgain()));
-
- init();
-}
-
-void DownloadItem::init()
-{
- if (!m_reply)
- return;
-
- // attach to the m_reply
- m_url = m_reply->url();
- m_reply->setParent(this);
- connect(m_reply, SIGNAL(readyRead()), this, SLOT(downloadReadyRead()));
- connect(m_reply, SIGNAL(error(QNetworkReply::NetworkError)),
- this, SLOT(error(QNetworkReply::NetworkError)));
- connect(m_reply, SIGNAL(downloadProgress(qint64, qint64)),
- this, SLOT(downloadProgress(qint64, qint64)));
- connect(m_reply, SIGNAL(metaDataChanged()),
- this, SLOT(metaDataChanged()));
- connect(m_reply, SIGNAL(finished()),
- this, SLOT(finished()));
-
- // reset info
- downloadInfoLabel->clear();
- progressBar->setValue(0);
- getFileName();
-
- // start timer for the download estimation
- m_downloadTime.start();
-
- if (m_reply->error() != QNetworkReply::NoError) {
- error(m_reply->error());
- finished();
- }
-}
-
-void DownloadItem::getFileName()
-{
- QSettings settings;
- settings.beginGroup(QLatin1String("downloadmanager"));
- QString defaultLocation = QDesktopServices::storageLocation(QDesktopServices::DesktopLocation);
- QString downloadDirectory = settings.value(QLatin1String("downloadDirectory"), defaultLocation).toString();
- if (!downloadDirectory.isEmpty())
- downloadDirectory += QLatin1Char('/');
-
- QString defaultFileName = saveFileName(downloadDirectory);
- QString fileName = defaultFileName;
- if (m_requestFileName) {
- fileName = QFileDialog::getSaveFileName(this, tr("Save File"), defaultFileName);
- if (fileName.isEmpty()) {
- m_reply->close();
- fileNameLabel->setText(tr("Download canceled: %1").arg(QFileInfo(defaultFileName).fileName()));
- return;
- }
- }
- m_output.setFileName(fileName);
- fileNameLabel->setText(QFileInfo(m_output.fileName()).fileName());
- if (m_requestFileName)
- downloadReadyRead();
-}
-
-QString DownloadItem::saveFileName(const QString &directory) const
-{
- // Move this function into QNetworkReply to also get file name sent from the server
- QString path = m_url.path();
- QFileInfo info(path);
- QString baseName = info.completeBaseName();
- QString endName = info.suffix();
-
- if (baseName.isEmpty()) {
- baseName = QLatin1String("unnamed_download");
- qDebug() << "DownloadManager:: downloading unknown file:" << m_url;
- }
- QString name = directory + baseName + QLatin1Char('.') + endName;
- if (QFile::exists(name)) {
- // already exists, don't overwrite
- int i = 1;
- do {
- name = directory + baseName + QLatin1Char('-') + QString::number(i++) + QLatin1Char('.') + endName;
- } while (QFile::exists(name));
- }
- return name;
-}
-
-
-void DownloadItem::stop()
-{
- setUpdatesEnabled(false);
- stopButton->setEnabled(false);
- stopButton->hide();
- tryAgainButton->setEnabled(true);
- tryAgainButton->show();
- setUpdatesEnabled(true);
- m_reply->abort();
-}
-
-void DownloadItem::open()
-{
- QFileInfo info(m_output);
- QUrl url = QUrl::fromLocalFile(info.absolutePath());
- QDesktopServices::openUrl(url);
-}
-
-void DownloadItem::tryAgain()
-{
- if (!tryAgainButton->isEnabled())
- return;
-
- tryAgainButton->setEnabled(false);
- tryAgainButton->setVisible(false);
- stopButton->setEnabled(true);
- stopButton->setVisible(true);
- progressBar->setVisible(true);
-
- QNetworkReply *r = BrowserApplication::networkAccessManager()->get(QNetworkRequest(m_url));
- if (m_reply)
- m_reply->deleteLater();
- if (m_output.exists())
- m_output.remove();
- m_reply = r;
- init();
- emit statusChanged();
-}
-
-void DownloadItem::downloadReadyRead()
-{
- if (m_requestFileName && m_output.fileName().isEmpty())
- return;
- if (!m_output.isOpen()) {
- // in case someone else has already put a file there
- if (!m_requestFileName)
- getFileName();
- if (!m_output.open(QIODevice::WriteOnly)) {
- downloadInfoLabel->setText(tr("Error opening save file: %1")
- .arg(m_output.errorString()));
- stopButton->click();
- emit statusChanged();
- return;
- }
- emit statusChanged();
- }
- if (-1 == m_output.write(m_reply->readAll())) {
- downloadInfoLabel->setText(tr("Error saving: %1")
- .arg(m_output.errorString()));
- stopButton->click();
- }
-}
-
-void DownloadItem::error(QNetworkReply::NetworkError)
-{
- qDebug() << "DownloadItem::error" << m_reply->errorString() << m_url;
- downloadInfoLabel->setText(tr("Network Error: %1").arg(m_reply->errorString()));
- tryAgainButton->setEnabled(true);
- tryAgainButton->setVisible(true);
-}
-
-void DownloadItem::metaDataChanged()
-{
- qDebug() << "DownloadItem::metaDataChanged: not handled.";
-}
-
-void DownloadItem::downloadProgress(qint64 bytesReceived, qint64 bytesTotal)
-{
- m_bytesReceived = bytesReceived;
- if (bytesTotal == -1) {
- progressBar->setValue(0);
- progressBar->setMaximum(0);
- } else {
- progressBar->setValue(bytesReceived);
- progressBar->setMaximum(bytesTotal);
- }
- updateInfoLabel();
-}
-
-void DownloadItem::updateInfoLabel()
-{
- if (m_reply->error() == QNetworkReply::NoError)
- return;
-
- qint64 bytesTotal = progressBar->maximum();
- bool running = !downloadedSuccessfully();
-
- // update info label
- double speed = m_bytesReceived * 1000.0 / m_downloadTime.elapsed();
- double timeRemaining = ((double)(bytesTotal - m_bytesReceived)) / speed;
- QString timeRemainingString = tr("seconds");
- if (timeRemaining > 60) {
- timeRemaining = timeRemaining / 60;
- timeRemainingString = tr("minutes");
- }
- timeRemaining = floor(timeRemaining);
-
- // When downloading the eta should never be 0
- if (timeRemaining == 0)
- timeRemaining = 1;
-
- QString info;
- if (running) {
- QString remaining;
- if (bytesTotal != 0)
- remaining = tr("- %4 %5 remaining")
- .arg(timeRemaining)
- .arg(timeRemainingString);
- info = QString(tr("%1 of %2 (%3/sec) %4"))
- .arg(dataString(m_bytesReceived))
- .arg(bytesTotal == 0 ? tr("?") : dataString(bytesTotal))
- .arg(dataString((int)speed))
- .arg(remaining);
- } else {
- if (m_bytesReceived == bytesTotal)
- info = dataString(m_output.size());
- else
- info = tr("%1 of %2 - Stopped")
- .arg(dataString(m_bytesReceived))
- .arg(dataString(bytesTotal));
- }
- downloadInfoLabel->setText(info);
-}
-
-QString DownloadItem::dataString(int size) const
-{
- QString unit;
- if (size < 1024) {
- unit = tr("bytes");
- } else if (size < 1024*1024) {
- size /= 1024;
- unit = tr("kB");
- } else {
- size /= 1024*1024;
- unit = tr("MB");
- }
- return QString(QLatin1String("%1 %2")).arg(size).arg(unit);
-}
-
-bool DownloadItem::downloading() const
-{
- return (progressBar->isVisible());
-}
-
-bool DownloadItem::downloadedSuccessfully() const
-{
- return (stopButton->isHidden() && tryAgainButton->isHidden());
-}
-
-void DownloadItem::finished()
-{
- progressBar->hide();
- stopButton->setEnabled(false);
- stopButton->hide();
- m_output.close();
- updateInfoLabel();
- emit statusChanged();
-}
-
-/*!
- DownloadManager is a Dialog that contains a list of DownloadItems
-
- It is a basic download manager. It only downloads the file, doesn't do BitTorrent,
- extract zipped files or anything fancy.
- */
-DownloadManager::DownloadManager(QWidget *parent)
- : QDialog(parent)
- , m_autoSaver(new AutoSaver(this))
- , m_manager(BrowserApplication::networkAccessManager())
- , m_iconProvider(0)
- , m_removePolicy(Never)
-{
- setupUi(this);
- downloadsView->setShowGrid(false);
- downloadsView->verticalHeader()->hide();
- downloadsView->horizontalHeader()->hide();
- downloadsView->setAlternatingRowColors(true);
- downloadsView->horizontalHeader()->setStretchLastSection(true);
- m_model = new DownloadModel(this);
- downloadsView->setModel(m_model);
- connect(cleanupButton, SIGNAL(clicked()), this, SLOT(cleanup()));
- load();
-}
-
-DownloadManager::~DownloadManager()
-{
- m_autoSaver->changeOccurred();
- m_autoSaver->saveIfNeccessary();
- if (m_iconProvider)
- delete m_iconProvider;
-}
-
-int DownloadManager::activeDownloads() const
-{
- int count = 0;
- for (int i = 0; i < m_downloads.count(); ++i) {
- if (m_downloads.at(i)->stopButton->isEnabled())
- ++count;
- }
- return count;
-}
-
-void DownloadManager::download(const QNetworkRequest &request, bool requestFileName)
-{
- if (request.url().isEmpty())
- return;
- handleUnsupportedContent(m_manager->get(request), requestFileName);
-}
-
-void DownloadManager::handleUnsupportedContent(QNetworkReply *reply, bool requestFileName)
-{
- if (!reply || reply->url().isEmpty())
- return;
- QVariant header = reply->header(QNetworkRequest::ContentLengthHeader);
- bool ok;
- int size = header.toInt(&ok);
- if (ok && size == 0)
- return;
-
- qDebug() << "DownloadManager::handleUnsupportedContent" << reply->url() << "requestFileName" << requestFileName;
- DownloadItem *item = new DownloadItem(reply, requestFileName, this);
- addItem(item);
-}
-
-void DownloadManager::addItem(DownloadItem *item)
-{
- connect(item, SIGNAL(statusChanged()), this, SLOT(updateRow()));
- int row = m_downloads.count();
- m_model->beginInsertRows(QModelIndex(), row, row);
- m_downloads.append(item);
- m_model->endInsertRows();
- updateItemCount();
- if (row == 0)
- show();
- downloadsView->setIndexWidget(m_model->index(row, 0), item);
- QIcon icon = style()->standardIcon(QStyle::SP_FileIcon);
- item->fileIcon->setPixmap(icon.pixmap(48, 48));
- downloadsView->setRowHeight(row, item->sizeHint().height());
-}
-
-void DownloadManager::updateRow()
-{
- DownloadItem *item = qobject_cast<DownloadItem*>(sender());
- int row = m_downloads.indexOf(item);
- if (-1 == row)
- return;
- if (!m_iconProvider)
- m_iconProvider = new QFileIconProvider();
- QIcon icon = m_iconProvider->icon(item->m_output.fileName());
- if (icon.isNull())
- icon = style()->standardIcon(QStyle::SP_FileIcon);
- item->fileIcon->setPixmap(icon.pixmap(48, 48));
- downloadsView->setRowHeight(row, item->minimumSizeHint().height());
-
- bool remove = false;
- QWebSettings *globalSettings = QWebSettings::globalSettings();
- if (!item->downloading()
- && globalSettings->testAttribute(QWebSettings::PrivateBrowsingEnabled))
- remove = true;
-
- if (item->downloadedSuccessfully()
- && removePolicy() == DownloadManager::SuccessFullDownload) {
- remove = true;
- }
- if (remove)
- m_model->removeRow(row);
-
- cleanupButton->setEnabled(m_downloads.count() - activeDownloads() > 0);
-}
-
-DownloadManager::RemovePolicy DownloadManager::removePolicy() const
-{
- return m_removePolicy;
-}
-
-void DownloadManager::setRemovePolicy(RemovePolicy policy)
-{
- if (policy == m_removePolicy)
- return;
- m_removePolicy = policy;
- m_autoSaver->changeOccurred();
-}
-
-void DownloadManager::save() const
-{
- QSettings settings;
- settings.beginGroup(QLatin1String("downloadmanager"));
- QMetaEnum removePolicyEnum = staticMetaObject.enumerator(staticMetaObject.indexOfEnumerator("RemovePolicy"));
- settings.setValue(QLatin1String("removeDownloadsPolicy"), QLatin1String(removePolicyEnum.valueToKey(m_removePolicy)));
- settings.setValue(QLatin1String("size"), size());
- if (m_removePolicy == Exit)
- return;
-
- for (int i = 0; i < m_downloads.count(); ++i) {
- QString key = QString(QLatin1String("download_%1_")).arg(i);
- settings.setValue(key + QLatin1String("url"), m_downloads[i]->m_url);
- settings.setValue(key + QLatin1String("location"), QFileInfo(m_downloads[i]->m_output).filePath());
- settings.setValue(key + QLatin1String("done"), m_downloads[i]->downloadedSuccessfully());
- }
- int i = m_downloads.count();
- QString key = QString(QLatin1String("download_%1_")).arg(i);
- while (settings.contains(key + QLatin1String("url"))) {
- settings.remove(key + QLatin1String("url"));
- settings.remove(key + QLatin1String("location"));
- settings.remove(key + QLatin1String("done"));
- key = QString(QLatin1String("download_%1_")).arg(++i);
- }
-}
-
-void DownloadManager::load()
-{
- QSettings settings;
- settings.beginGroup(QLatin1String("downloadmanager"));
- QSize size = settings.value(QLatin1String("size")).toSize();
- if (size.isValid())
- resize(size);
- QByteArray value = settings.value(QLatin1String("removeDownloadsPolicy"), QLatin1String("Never")).toByteArray();
- QMetaEnum removePolicyEnum = staticMetaObject.enumerator(staticMetaObject.indexOfEnumerator("RemovePolicy"));
- m_removePolicy = removePolicyEnum.keyToValue(value) == -1 ?
- Never :
- static_cast<RemovePolicy>(removePolicyEnum.keyToValue(value));
-
- int i = 0;
- QString key = QString(QLatin1String("download_%1_")).arg(i);
- while (settings.contains(key + QLatin1String("url"))) {
- QUrl url = settings.value(key + QLatin1String("url")).toUrl();
- QString fileName = settings.value(key + QLatin1String("location")).toString();
- bool done = settings.value(key + QLatin1String("done"), true).toBool();
- if (!url.isEmpty() && !fileName.isEmpty()) {
- DownloadItem *item = new DownloadItem(0, this);
- item->m_output.setFileName(fileName);
- item->fileNameLabel->setText(QFileInfo(item->m_output.fileName()).fileName());
- item->m_url = url;
- item->stopButton->setVisible(false);
- item->stopButton->setEnabled(false);
- item->tryAgainButton->setVisible(!done);
- item->tryAgainButton->setEnabled(!done);
- item->progressBar->setVisible(!done);
- addItem(item);
- }
- key = QString(QLatin1String("download_%1_")).arg(++i);
- }
- cleanupButton->setEnabled(m_downloads.count() - activeDownloads() > 0);
-}
-
-void DownloadManager::cleanup()
-{
- if (m_downloads.isEmpty())
- return;
- m_model->removeRows(0, m_downloads.count());
- updateItemCount();
- if (m_downloads.isEmpty() && m_iconProvider) {
- delete m_iconProvider;
- m_iconProvider = 0;
- }
- m_autoSaver->changeOccurred();
-}
-
-void DownloadManager::updateItemCount()
-{
- int count = m_downloads.count();
- itemCount->setText(count == 1 ? tr("1 Download") : tr("%1 Downloads").arg(count));
-}
-
-DownloadModel::DownloadModel(DownloadManager *downloadManager, QObject *parent)
- : QAbstractListModel(parent)
- , m_downloadManager(downloadManager)
-{
-}
-
-QVariant DownloadModel::data(const QModelIndex &index, int role) const
-{
- if (index.row() < 0 || index.row() >= rowCount(index.parent()))
- return QVariant();
- if (role == Qt::ToolTipRole)
- if (!m_downloadManager->m_downloads.at(index.row())->downloadedSuccessfully())
- return m_downloadManager->m_downloads.at(index.row())->downloadInfoLabel->text();
- return QVariant();
-}
-
-int DownloadModel::rowCount(const QModelIndex &parent) const
-{
- return (parent.isValid()) ? 0 : m_downloadManager->m_downloads.count();
-}
-
-bool DownloadModel::removeRows(int row, int count, const QModelIndex &parent)
-{
- if (parent.isValid())
- return false;
-
- int lastRow = row + count - 1;
- for (int i = lastRow; i >= row; --i) {
- if (m_downloadManager->m_downloads.at(i)->downloadedSuccessfully()
- || m_downloadManager->m_downloads.at(i)->tryAgainButton->isEnabled()) {
- beginRemoveRows(parent, i, i);
- m_downloadManager->m_downloads.takeAt(i)->deleteLater();
- endRemoveRows();
- }
- }
- m_downloadManager->m_autoSaver->changeOccurred();
- return true;
-}
-
diff --git a/examples/gestures/browser/downloadmanager.h b/examples/gestures/browser/downloadmanager.h
deleted file mode 100644
index af13fec..0000000
--- a/examples/gestures/browser/downloadmanager.h
+++ /dev/null
@@ -1,162 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef DOWNLOADMANAGER_H
-#define DOWNLOADMANAGER_H
-
-#include "ui_downloads.h"
-#include "ui_downloaditem.h"
-
-#include <QtNetwork/QNetworkReply>
-
-#include <QtCore/QFile>
-#include <QtCore/QTime>
-
-class DownloadItem : public QWidget, public Ui_DownloadItem
-{
- Q_OBJECT
-
-signals:
- void statusChanged();
-
-public:
- DownloadItem(QNetworkReply *reply = 0, bool requestFileName = false, QWidget *parent = 0);
- bool downloading() const;
- bool downloadedSuccessfully() const;
-
- QUrl m_url;
-
- QFile m_output;
- QNetworkReply *m_reply;
-
-private slots:
- void stop();
- void tryAgain();
- void open();
-
- void downloadReadyRead();
- void error(QNetworkReply::NetworkError code);
- void downloadProgress(qint64 bytesReceived, qint64 bytesTotal);
- void metaDataChanged();
- void finished();
-
-private:
- void getFileName();
- void init();
- void updateInfoLabel();
- QString dataString(int size) const;
-
- QString saveFileName(const QString &directory) const;
-
- bool m_requestFileName;
- qint64 m_bytesReceived;
- QTime m_downloadTime;
-};
-
-class AutoSaver;
-class DownloadModel;
-QT_BEGIN_NAMESPACE
-class QFileIconProvider;
-QT_END_NAMESPACE
-
-class DownloadManager : public QDialog, public Ui_DownloadDialog
-{
- Q_OBJECT
- Q_PROPERTY(RemovePolicy removePolicy READ removePolicy WRITE setRemovePolicy)
- Q_ENUMS(RemovePolicy)
-
-public:
- enum RemovePolicy {
- Never,
- Exit,
- SuccessFullDownload
- };
-
- DownloadManager(QWidget *parent = 0);
- ~DownloadManager();
- int activeDownloads() const;
-
- RemovePolicy removePolicy() const;
- void setRemovePolicy(RemovePolicy policy);
-
-public slots:
- void download(const QNetworkRequest &request, bool requestFileName = false);
- inline void download(const QUrl &url, bool requestFileName = false)
- { download(QNetworkRequest(url), requestFileName); }
- void handleUnsupportedContent(QNetworkReply *reply, bool requestFileName = false);
- void cleanup();
-
-private slots:
- void save() const;
- void updateRow();
-
-private:
- void addItem(DownloadItem *item);
- void updateItemCount();
- void load();
-
- AutoSaver *m_autoSaver;
- DownloadModel *m_model;
- QNetworkAccessManager *m_manager;
- QFileIconProvider *m_iconProvider;
- QList<DownloadItem*> m_downloads;
- RemovePolicy m_removePolicy;
- friend class DownloadModel;
-};
-
-class DownloadModel : public QAbstractListModel
-{
- friend class DownloadManager;
- Q_OBJECT
-
-public:
- DownloadModel(DownloadManager *downloadManager, QObject *parent = 0);
- QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const;
- int rowCount(const QModelIndex &parent = QModelIndex()) const;
- bool removeRows(int row, int count, const QModelIndex &parent = QModelIndex());
-
-private:
- DownloadManager *m_downloadManager;
-
-};
-
-#endif // DOWNLOADMANAGER_H
-
diff --git a/examples/gestures/browser/downloads.ui b/examples/gestures/browser/downloads.ui
deleted file mode 100644
index a2e2569..0000000
--- a/examples/gestures/browser/downloads.ui
+++ /dev/null
@@ -1,83 +0,0 @@
-<ui version="4.0" >
- <class>DownloadDialog</class>
- <widget class="QDialog" name="DownloadDialog" >
- <property name="geometry" >
- <rect>
- <x>0</x>
- <y>0</y>
- <width>332</width>
- <height>252</height>
- </rect>
- </property>
- <property name="windowTitle" >
- <string>Downloads</string>
- </property>
- <layout class="QGridLayout" name="gridLayout" >
- <property name="margin" >
- <number>0</number>
- </property>
- <property name="spacing" >
- <number>0</number>
- </property>
- <item row="0" column="0" colspan="3" >
- <widget class="EditTableView" name="downloadsView" />
- </item>
- <item row="1" column="0" >
- <layout class="QHBoxLayout" name="horizontalLayout" >
- <item>
- <widget class="QPushButton" name="cleanupButton" >
- <property name="enabled" >
- <bool>false</bool>
- </property>
- <property name="text" >
- <string>Clean up</string>
- </property>
- </widget>
- </item>
- <item>
- <spacer>
- <property name="orientation" >
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" stdset="0" >
- <size>
- <width>58</width>
- <height>24</height>
- </size>
- </property>
- </spacer>
- </item>
- </layout>
- </item>
- <item row="1" column="1" >
- <widget class="QLabel" name="itemCount" >
- <property name="text" >
- <string>0 Items</string>
- </property>
- </widget>
- </item>
- <item row="1" column="2" >
- <spacer name="horizontalSpacer" >
- <property name="orientation" >
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" stdset="0" >
- <size>
- <width>148</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- </layout>
- </widget>
- <customwidgets>
- <customwidget>
- <class>EditTableView</class>
- <extends>QTableView</extends>
- <header>edittableview.h</header>
- </customwidget>
- </customwidgets>
- <resources/>
- <connections/>
-</ui>
diff --git a/examples/gestures/browser/edittableview.cpp b/examples/gestures/browser/edittableview.cpp
deleted file mode 100644
index f7d5e67..0000000
--- a/examples/gestures/browser/edittableview.cpp
+++ /dev/null
@@ -1,78 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "edittableview.h"
-#include <QtGui/QKeyEvent>
-
-EditTableView::EditTableView(QWidget *parent)
- : QTableView(parent)
-{
-}
-
-void EditTableView::keyPressEvent(QKeyEvent *event)
-{
- if ((event->key() == Qt::Key_Delete
- || event->key() == Qt::Key_Backspace)
- && model()) {
- removeOne();
- } else {
- QAbstractItemView::keyPressEvent(event);
- }
-}
-
-void EditTableView::removeOne()
-{
- if (!model() || !selectionModel())
- return;
- int row = currentIndex().row();
- model()->removeRow(row, rootIndex());
- QModelIndex idx = model()->index(row, 0, rootIndex());
- if (!idx.isValid())
- idx = model()->index(row - 1, 0, rootIndex());
- selectionModel()->select(idx, QItemSelectionModel::SelectCurrent | QItemSelectionModel::Rows);
-}
-
-void EditTableView::removeAll()
-{
- if (model())
- model()->removeRows(0, model()->rowCount(rootIndex()), rootIndex());
-}
-
diff --git a/examples/gestures/browser/edittableview.h b/examples/gestures/browser/edittableview.h
deleted file mode 100644
index fb033ce..0000000
--- a/examples/gestures/browser/edittableview.h
+++ /dev/null
@@ -1,61 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef EDITTABLEVIEW_H
-#define EDITTABLEVIEW_H
-
-#include <QtGui/QTableView>
-
-class EditTableView : public QTableView
-{
- Q_OBJECT
-
-public:
- EditTableView(QWidget *parent = 0);
- void keyPressEvent(QKeyEvent *event);
-
-public slots:
- void removeOne();
- void removeAll();
-};
-
-#endif // EDITTABLEVIEW_H
-
diff --git a/examples/gestures/browser/edittreeview.cpp b/examples/gestures/browser/edittreeview.cpp
deleted file mode 100644
index c7cefe6..0000000
--- a/examples/gestures/browser/edittreeview.cpp
+++ /dev/null
@@ -1,77 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "edittreeview.h"
-
-#include <QtGui/QKeyEvent>
-
-EditTreeView::EditTreeView(QWidget *parent)
- : QTreeView(parent)
-{
-}
-
-void EditTreeView::keyPressEvent(QKeyEvent *event)
-{
- if ((event->key() == Qt::Key_Delete
- || event->key() == Qt::Key_Backspace)
- && model()) {
- removeOne();
- } else {
- QAbstractItemView::keyPressEvent(event);
- }
-}
-
-void EditTreeView::removeOne()
-{
- if (!model())
- return;
- QModelIndex ci = currentIndex();
- int row = ci.row();
- model()->removeRow(row, ci.parent());
-}
-
-void EditTreeView::removeAll()
-{
- if (!model())
- return;
- model()->removeRows(0, model()->rowCount(rootIndex()), rootIndex());
-}
-
diff --git a/examples/gestures/browser/edittreeview.h b/examples/gestures/browser/edittreeview.h
deleted file mode 100644
index 3a6fcaf..0000000
--- a/examples/gestures/browser/edittreeview.h
+++ /dev/null
@@ -1,61 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef EDITTREEVIEW_H
-#define EDITTREEVIEW_H
-
-#include <QtGui/QTreeView>
-
-class EditTreeView : public QTreeView
-{
- Q_OBJECT
-
-public:
- EditTreeView(QWidget *parent = 0);
- void keyPressEvent(QKeyEvent *event);
-
-public slots:
- void removeOne();
- void removeAll();
-};
-
-#endif // EDITTREEVIEW_H
-
diff --git a/examples/gestures/browser/history.cpp b/examples/gestures/browser/history.cpp
deleted file mode 100644
index 0e0652d..0000000
--- a/examples/gestures/browser/history.cpp
+++ /dev/null
@@ -1,1282 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "history.h"
-
-#include "autosaver.h"
-#include "browserapplication.h"
-
-#include <QtCore/QBuffer>
-#include <QtCore/QDir>
-#include <QtCore/QFile>
-#include <QtCore/QFileInfo>
-#include <QtCore/QSettings>
-#include <QtCore/QTemporaryFile>
-#include <QtCore/QTextStream>
-
-#include <QtCore/QtAlgorithms>
-
-#include <QtGui/QClipboard>
-#include <QtGui/QDesktopServices>
-#include <QtGui/QHeaderView>
-#include <QtGui/QStyle>
-
-#include <QtWebKit/QWebHistoryInterface>
-#include <QtWebKit/QWebSettings>
-
-#include <QtCore/QDebug>
-
-static const unsigned int HISTORY_VERSION = 23;
-
-HistoryManager::HistoryManager(QObject *parent)
- : QWebHistoryInterface(parent)
- , m_saveTimer(new AutoSaver(this))
- , m_historyLimit(30)
- , m_historyModel(0)
- , m_historyFilterModel(0)
- , m_historyTreeModel(0)
-{
- m_expiredTimer.setSingleShot(true);
- connect(&m_expiredTimer, SIGNAL(timeout()),
- this, SLOT(checkForExpired()));
- connect(this, SIGNAL(entryAdded(const HistoryItem &)),
- m_saveTimer, SLOT(changeOccurred()));
- connect(this, SIGNAL(entryRemoved(const HistoryItem &)),
- m_saveTimer, SLOT(changeOccurred()));
- load();
-
- m_historyModel = new HistoryModel(this, this);
- m_historyFilterModel = new HistoryFilterModel(m_historyModel, this);
- m_historyTreeModel = new HistoryTreeModel(m_historyFilterModel, this);
-
- // QWebHistoryInterface will delete the history manager
- QWebHistoryInterface::setDefaultInterface(this);
-}
-
-HistoryManager::~HistoryManager()
-{
- m_saveTimer->saveIfNeccessary();
-}
-
-QList<HistoryItem> HistoryManager::history() const
-{
- return m_history;
-}
-
-bool HistoryManager::historyContains(const QString &url) const
-{
- return m_historyFilterModel->historyContains(url);
-}
-
-void HistoryManager::addHistoryEntry(const QString &url)
-{
- QUrl cleanUrl(url);
- cleanUrl.setPassword(QString());
- cleanUrl.setHost(cleanUrl.host().toLower());
- HistoryItem item(cleanUrl.toString(), QDateTime::currentDateTime());
- addHistoryItem(item);
-}
-
-void HistoryManager::setHistory(const QList<HistoryItem> &history, bool loadedAndSorted)
-{
- m_history = history;
-
- // verify that it is sorted by date
- if (!loadedAndSorted)
- qSort(m_history.begin(), m_history.end());
-
- checkForExpired();
-
- if (loadedAndSorted) {
- m_lastSavedUrl = m_history.value(0).url;
- } else {
- m_lastSavedUrl = QString();
- m_saveTimer->changeOccurred();
- }
- emit historyReset();
-}
-
-HistoryModel *HistoryManager::historyModel() const
-{
- return m_historyModel;
-}
-
-HistoryFilterModel *HistoryManager::historyFilterModel() const
-{
- return m_historyFilterModel;
-}
-
-HistoryTreeModel *HistoryManager::historyTreeModel() const
-{
- return m_historyTreeModel;
-}
-
-void HistoryManager::checkForExpired()
-{
- if (m_historyLimit < 0 || m_history.isEmpty())
- return;
-
- QDateTime now = QDateTime::currentDateTime();
- int nextTimeout = 0;
-
- while (!m_history.isEmpty()) {
- QDateTime checkForExpired = m_history.last().dateTime;
- checkForExpired.setDate(checkForExpired.date().addDays(m_historyLimit));
- if (now.daysTo(checkForExpired) > 7) {
- // check at most in a week to prevent int overflows on the timer
- nextTimeout = 7 * 86400;
- } else {
- nextTimeout = now.secsTo(checkForExpired);
- }
- if (nextTimeout > 0)
- break;
- HistoryItem item = m_history.takeLast();
- // remove from saved file also
- m_lastSavedUrl = QString();
- emit entryRemoved(item);
- }
-
- if (nextTimeout > 0)
- m_expiredTimer.start(nextTimeout * 1000);
-}
-
-void HistoryManager::addHistoryItem(const HistoryItem &item)
-{
- QWebSettings *globalSettings = QWebSettings::globalSettings();
- if (globalSettings->testAttribute(QWebSettings::PrivateBrowsingEnabled))
- return;
-
- m_history.prepend(item);
- emit entryAdded(item);
- if (m_history.count() == 1)
- checkForExpired();
-}
-
-void HistoryManager::updateHistoryItem(const QUrl &url, const QString &title)
-{
- for (int i = 0; i < m_history.count(); ++i) {
- if (url == m_history.at(i).url) {
- m_history[i].title = title;
- m_saveTimer->changeOccurred();
- if (m_lastSavedUrl.isEmpty())
- m_lastSavedUrl = m_history.at(i).url;
- emit entryUpdated(i);
- break;
- }
- }
-}
-
-int HistoryManager::historyLimit() const
-{
- return m_historyLimit;
-}
-
-void HistoryManager::setHistoryLimit(int limit)
-{
- if (m_historyLimit == limit)
- return;
- m_historyLimit = limit;
- checkForExpired();
- m_saveTimer->changeOccurred();
-}
-
-void HistoryManager::clear()
-{
- m_history.clear();
- m_lastSavedUrl = QString();
- m_saveTimer->changeOccurred();
- m_saveTimer->saveIfNeccessary();
- historyReset();
-}
-
-void HistoryManager::loadSettings()
-{
- // load settings
- QSettings settings;
- settings.beginGroup(QLatin1String("history"));
- m_historyLimit = settings.value(QLatin1String("historyLimit"), 30).toInt();
-}
-
-void HistoryManager::load()
-{
- loadSettings();
-
- QFile historyFile(QDesktopServices::storageLocation(QDesktopServices::DataLocation)
- + QLatin1String("/history"));
- if (!historyFile.exists())
- return;
- if (!historyFile.open(QFile::ReadOnly)) {
- qWarning() << "Unable to open history file" << historyFile.fileName();
- return;
- }
-
- QList<HistoryItem> list;
- QDataStream in(&historyFile);
- // Double check that the history file is sorted as it is read in
- bool needToSort = false;
- HistoryItem lastInsertedItem;
- QByteArray data;
- QDataStream stream;
- QBuffer buffer;
- stream.setDevice(&buffer);
- while (!historyFile.atEnd()) {
- in >> data;
- buffer.close();
- buffer.setBuffer(&data);
- buffer.open(QIODevice::ReadOnly);
- quint32 ver;
- stream >> ver;
- if (ver != HISTORY_VERSION)
- continue;
- HistoryItem item;
- stream >> item.url;
- stream >> item.dateTime;
- stream >> item.title;
-
- if (!item.dateTime.isValid())
- continue;
-
- if (item == lastInsertedItem) {
- if (lastInsertedItem.title.isEmpty() && !list.isEmpty())
- list[0].title = item.title;
- continue;
- }
-
- if (!needToSort && !list.isEmpty() && lastInsertedItem < item)
- needToSort = true;
-
- list.prepend(item);
- lastInsertedItem = item;
- }
- if (needToSort)
- qSort(list.begin(), list.end());
-
- setHistory(list, true);
-
- // If we had to sort re-write the whole history sorted
- if (needToSort) {
- m_lastSavedUrl = QString();
- m_saveTimer->changeOccurred();
- }
-}
-
-void HistoryManager::save()
-{
- QSettings settings;
- settings.beginGroup(QLatin1String("history"));
- settings.setValue(QLatin1String("historyLimit"), m_historyLimit);
-
- bool saveAll = m_lastSavedUrl.isEmpty();
- int first = m_history.count() - 1;
- if (!saveAll) {
- // find the first one to save
- for (int i = 0; i < m_history.count(); ++i) {
- if (m_history.at(i).url == m_lastSavedUrl) {
- first = i - 1;
- break;
- }
- }
- }
- if (first == m_history.count() - 1)
- saveAll = true;
-
- QString directory = QDesktopServices::storageLocation(QDesktopServices::DataLocation);
- if (directory.isEmpty())
- directory = QDir::homePath() + QLatin1String("/.") + QCoreApplication::applicationName();
- if (!QFile::exists(directory)) {
- QDir dir;
- dir.mkpath(directory);
- }
-
- QFile historyFile(directory + QLatin1String("/history"));
- // When saving everything use a temporary file to prevent possible data loss.
- QTemporaryFile tempFile;
- tempFile.setAutoRemove(false);
- bool open = false;
- if (saveAll) {
- open = tempFile.open();
- } else {
- open = historyFile.open(QFile::Append);
- }
-
- if (!open) {
- qWarning() << "Unable to open history file for saving"
- << (saveAll ? tempFile.fileName() : historyFile.fileName());
- return;
- }
-
- QDataStream out(saveAll ? &tempFile : &historyFile);
- for (int i = first; i >= 0; --i) {
- QByteArray data;
- QDataStream stream(&data, QIODevice::WriteOnly);
- HistoryItem item = m_history.at(i);
- stream << HISTORY_VERSION << item.url << item.dateTime << item.title;
- out << data;
- }
- tempFile.close();
-
- if (saveAll) {
- if (historyFile.exists() && !historyFile.remove())
- qWarning() << "History: error removing old history." << historyFile.errorString();
- if (!tempFile.rename(historyFile.fileName()))
- qWarning() << "History: error moving new history over old." << tempFile.errorString() << historyFile.fileName();
- }
- m_lastSavedUrl = m_history.value(0).url;
-}
-
-HistoryModel::HistoryModel(HistoryManager *history, QObject *parent)
- : QAbstractTableModel(parent)
- , m_history(history)
-{
- Q_ASSERT(m_history);
- connect(m_history, SIGNAL(historyReset()),
- this, SLOT(historyReset()));
- connect(m_history, SIGNAL(entryRemoved(const HistoryItem &)),
- this, SLOT(historyReset()));
-
- connect(m_history, SIGNAL(entryAdded(const HistoryItem &)),
- this, SLOT(entryAdded()));
- connect(m_history, SIGNAL(entryUpdated(int)),
- this, SLOT(entryUpdated(int)));
-}
-
-void HistoryModel::historyReset()
-{
- reset();
-}
-
-void HistoryModel::entryAdded()
-{
- beginInsertRows(QModelIndex(), 0, 0);
- endInsertRows();
-}
-
-void HistoryModel::entryUpdated(int offset)
-{
- QModelIndex idx = index(offset, 0);
- emit dataChanged(idx, idx);
-}
-
-QVariant HistoryModel::headerData(int section, Qt::Orientation orientation, int role) const
-{
- if (orientation == Qt::Horizontal
- && role == Qt::DisplayRole) {
- switch (section) {
- case 0: return tr("Title");
- case 1: return tr("Address");
- }
- }
- return QAbstractTableModel::headerData(section, orientation, role);
-}
-
-QVariant HistoryModel::data(const QModelIndex &index, int role) const
-{
- QList<HistoryItem> lst = m_history->history();
- if (index.row() < 0 || index.row() >= lst.size())
- return QVariant();
-
- const HistoryItem &item = lst.at(index.row());
- switch (role) {
- case DateTimeRole:
- return item.dateTime;
- case DateRole:
- return item.dateTime.date();
- case UrlRole:
- return QUrl(item.url);
- case UrlStringRole:
- return item.url;
- case Qt::DisplayRole:
- case Qt::EditRole: {
- switch (index.column()) {
- case 0:
- // when there is no title try to generate one from the url
- if (item.title.isEmpty()) {
- QString page = QFileInfo(QUrl(item.url).path()).fileName();
- if (!page.isEmpty())
- return page;
- return item.url;
- }
- return item.title;
- case 1:
- return item.url;
- }
- }
- case Qt::DecorationRole:
- if (index.column() == 0) {
- return BrowserApplication::instance()->icon(item.url);
- }
- }
- return QVariant();
-}
-
-int HistoryModel::columnCount(const QModelIndex &parent) const
-{
- return (parent.isValid()) ? 0 : 2;
-}
-
-int HistoryModel::rowCount(const QModelIndex &parent) const
-{
- return (parent.isValid()) ? 0 : m_history->history().count();
-}
-
-bool HistoryModel::removeRows(int row, int count, const QModelIndex &parent)
-{
- if (parent.isValid())
- return false;
- int lastRow = row + count - 1;
- beginRemoveRows(parent, row, lastRow);
- QList<HistoryItem> lst = m_history->history();
- for (int i = lastRow; i >= row; --i)
- lst.removeAt(i);
- disconnect(m_history, SIGNAL(historyReset()), this, SLOT(historyReset()));
- m_history->setHistory(lst);
- connect(m_history, SIGNAL(historyReset()), this, SLOT(historyReset()));
- endRemoveRows();
- return true;
-}
-
-#define MOVEDROWS 15
-
-/*
- Maps the first bunch of items of the source model to the root
-*/
-HistoryMenuModel::HistoryMenuModel(HistoryTreeModel *sourceModel, QObject *parent)
- : QAbstractProxyModel(parent)
- , m_treeModel(sourceModel)
-{
- setSourceModel(sourceModel);
-}
-
-int HistoryMenuModel::bumpedRows() const
-{
- QModelIndex first = m_treeModel->index(0, 0);
- if (!first.isValid())
- return 0;
- return qMin(m_treeModel->rowCount(first), MOVEDROWS);
-}
-
-int HistoryMenuModel::columnCount(const QModelIndex &parent) const
-{
- return m_treeModel->columnCount(mapToSource(parent));
-}
-
-int HistoryMenuModel::rowCount(const QModelIndex &parent) const
-{
- if (parent.column() > 0)
- return 0;
-
- if (!parent.isValid()) {
- int folders = sourceModel()->rowCount();
- int bumpedItems = bumpedRows();
- if (bumpedItems <= MOVEDROWS
- && bumpedItems == sourceModel()->rowCount(sourceModel()->index(0, 0)))
- --folders;
- return bumpedItems + folders;
- }
-
- if (parent.internalId() == -1) {
- if (parent.row() < bumpedRows())
- return 0;
- }
-
- QModelIndex idx = mapToSource(parent);
- int defaultCount = sourceModel()->rowCount(idx);
- if (idx == sourceModel()->index(0, 0))
- return defaultCount - bumpedRows();
- return defaultCount;
-}
-
-QModelIndex HistoryMenuModel::mapFromSource(const QModelIndex &sourceIndex) const
-{
- // currently not used or autotested
- Q_ASSERT(false);
- int sr = m_treeModel->mapToSource(sourceIndex).row();
- return createIndex(sourceIndex.row(), sourceIndex.column(), sr);
-}
-
-QModelIndex HistoryMenuModel::mapToSource(const QModelIndex &proxyIndex) const
-{
- if (!proxyIndex.isValid())
- return QModelIndex();
-
- if (proxyIndex.internalId() == -1) {
- int bumpedItems = bumpedRows();
- if (proxyIndex.row() < bumpedItems)
- return m_treeModel->index(proxyIndex.row(), proxyIndex.column(), m_treeModel->index(0, 0));
- if (bumpedItems <= MOVEDROWS && bumpedItems == sourceModel()->rowCount(m_treeModel->index(0, 0)))
- --bumpedItems;
- return m_treeModel->index(proxyIndex.row() - bumpedItems, proxyIndex.column());
- }
-
- QModelIndex historyIndex = m_treeModel->sourceModel()->index(proxyIndex.internalId(), proxyIndex.column());
- QModelIndex treeIndex = m_treeModel->mapFromSource(historyIndex);
- return treeIndex;
-}
-
-QModelIndex HistoryMenuModel::index(int row, int column, const QModelIndex &parent) const
-{
- if (row < 0
- || column < 0 || column >= columnCount(parent)
- || parent.column() > 0)
- return QModelIndex();
- if (!parent.isValid())
- return createIndex(row, column, -1);
-
- QModelIndex treeIndexParent = mapToSource(parent);
-
- int bumpedItems = 0;
- if (treeIndexParent == m_treeModel->index(0, 0))
- bumpedItems = bumpedRows();
- QModelIndex treeIndex = m_treeModel->index(row + bumpedItems, column, treeIndexParent);
- QModelIndex historyIndex = m_treeModel->mapToSource(treeIndex);
- int historyRow = historyIndex.row();
- if (historyRow == -1)
- historyRow = treeIndex.row();
- return createIndex(row, column, historyRow);
-}
-
-QModelIndex HistoryMenuModel::parent(const QModelIndex &index) const
-{
- int offset = index.internalId();
- if (offset == -1 || !index.isValid())
- return QModelIndex();
-
- QModelIndex historyIndex = m_treeModel->sourceModel()->index(index.internalId(), 0);
- QModelIndex treeIndex = m_treeModel->mapFromSource(historyIndex);
- QModelIndex treeIndexParent = treeIndex.parent();
-
- int sr = m_treeModel->mapToSource(treeIndexParent).row();
- int bumpedItems = bumpedRows();
- if (bumpedItems <= MOVEDROWS && bumpedItems == sourceModel()->rowCount(sourceModel()->index(0, 0)))
- --bumpedItems;
- return createIndex(bumpedItems + treeIndexParent.row(), treeIndexParent.column(), sr);
-}
-
-
-HistoryMenu::HistoryMenu(QWidget *parent)
- : ModelMenu(parent)
- , m_history(0)
-{
- connect(this, SIGNAL(activated(const QModelIndex &)),
- this, SLOT(activated(const QModelIndex &)));
- setHoverRole(HistoryModel::UrlStringRole);
-}
-
-void HistoryMenu::activated(const QModelIndex &index)
-{
- emit openUrl(index.data(HistoryModel::UrlRole).toUrl());
-}
-
-bool HistoryMenu::prePopulated()
-{
- if (!m_history) {
- m_history = BrowserApplication::historyManager();
- m_historyMenuModel = new HistoryMenuModel(m_history->historyTreeModel(), this);
- setModel(m_historyMenuModel);
- }
- // initial actions
- for (int i = 0; i < m_initialActions.count(); ++i)
- addAction(m_initialActions.at(i));
- if (!m_initialActions.isEmpty())
- addSeparator();
- setFirstSeparator(m_historyMenuModel->bumpedRows());
-
- return false;
-}
-
-void HistoryMenu::postPopulated()
-{
- if (m_history->history().count() > 0)
- addSeparator();
-
- QAction *showAllAction = new QAction(tr("Show All History"), this);
- connect(showAllAction, SIGNAL(triggered()), this, SLOT(showHistoryDialog()));
- addAction(showAllAction);
-
- QAction *clearAction = new QAction(tr("Clear History"), this);
- connect(clearAction, SIGNAL(triggered()), m_history, SLOT(clear()));
- addAction(clearAction);
-}
-
-void HistoryMenu::showHistoryDialog()
-{
- HistoryDialog *dialog = new HistoryDialog(this);
- connect(dialog, SIGNAL(openUrl(const QUrl&)),
- this, SIGNAL(openUrl(const QUrl&)));
- dialog->show();
-}
-
-void HistoryMenu::setInitialActions(QList<QAction*> actions)
-{
- m_initialActions = actions;
- for (int i = 0; i < m_initialActions.count(); ++i)
- addAction(m_initialActions.at(i));
-}
-
-TreeProxyModel::TreeProxyModel(QObject *parent) : QSortFilterProxyModel(parent)
-{
- setSortRole(HistoryModel::DateTimeRole);
- setFilterCaseSensitivity(Qt::CaseInsensitive);
-}
-
-bool TreeProxyModel::filterAcceptsRow(int source_row, const QModelIndex &source_parent) const
-{
- if (!source_parent.isValid())
- return true;
- return QSortFilterProxyModel::filterAcceptsRow(source_row, source_parent);
-}
-
-HistoryDialog::HistoryDialog(QWidget *parent, HistoryManager *setHistory) : QDialog(parent)
-{
- HistoryManager *history = setHistory;
- if (!history)
- history = BrowserApplication::historyManager();
- setupUi(this);
- tree->setUniformRowHeights(true);
- tree->setSelectionBehavior(QAbstractItemView::SelectRows);
- tree->setTextElideMode(Qt::ElideMiddle);
- QAbstractItemModel *model = history->historyTreeModel();
- TreeProxyModel *proxyModel = new TreeProxyModel(this);
- connect(search, SIGNAL(textChanged(QString)),
- proxyModel, SLOT(setFilterFixedString(QString)));
- connect(removeButton, SIGNAL(clicked()), tree, SLOT(removeOne()));
- connect(removeAllButton, SIGNAL(clicked()), history, SLOT(clear()));
- proxyModel->setSourceModel(model);
- tree->setModel(proxyModel);
- tree->setExpanded(proxyModel->index(0, 0), true);
- tree->setAlternatingRowColors(true);
- QFontMetrics fm(font());
- int header = fm.width(QLatin1Char('m')) * 40;
- tree->header()->resizeSection(0, header);
- tree->header()->setStretchLastSection(true);
- connect(tree, SIGNAL(activated(const QModelIndex&)),
- this, SLOT(open()));
- tree->setContextMenuPolicy(Qt::CustomContextMenu);
- connect(tree, SIGNAL(customContextMenuRequested(const QPoint &)),
- this, SLOT(customContextMenuRequested(const QPoint &)));
-}
-
-void HistoryDialog::customContextMenuRequested(const QPoint &pos)
-{
- QMenu menu;
- QModelIndex index = tree->indexAt(pos);
- index = index.sibling(index.row(), 0);
- if (index.isValid() && !tree->model()->hasChildren(index)) {
- menu.addAction(tr("Open"), this, SLOT(open()));
- menu.addSeparator();
- menu.addAction(tr("Copy"), this, SLOT(copy()));
- }
- menu.addAction(tr("Delete"), tree, SLOT(removeOne()));
- menu.exec(QCursor::pos());
-}
-
-void HistoryDialog::open()
-{
- QModelIndex index = tree->currentIndex();
- if (!index.parent().isValid())
- return;
- emit openUrl(index.data(HistoryModel::UrlRole).toUrl());
-}
-
-void HistoryDialog::copy()
-{
- QModelIndex index = tree->currentIndex();
- if (!index.parent().isValid())
- return;
- QString url = index.data(HistoryModel::UrlStringRole).toString();
-
- QClipboard *clipboard = QApplication::clipboard();
- clipboard->setText(url);
-}
-
-HistoryFilterModel::HistoryFilterModel(QAbstractItemModel *sourceModel, QObject *parent)
- : QAbstractProxyModel(parent),
- m_loaded(false)
-{
- setSourceModel(sourceModel);
-}
-
-int HistoryFilterModel::historyLocation(const QString &url) const
-{
- load();
- if (!m_historyHash.contains(url))
- return 0;
- return sourceModel()->rowCount() - m_historyHash.value(url);
-}
-
-QVariant HistoryFilterModel::data(const QModelIndex &index, int role) const
-{
- return QAbstractProxyModel::data(index, role);
-}
-
-void HistoryFilterModel::setSourceModel(QAbstractItemModel *newSourceModel)
-{
- if (sourceModel()) {
- disconnect(sourceModel(), SIGNAL(modelReset()), this, SLOT(sourceReset()));
- disconnect(sourceModel(), SIGNAL(dataChanged(const QModelIndex &, const QModelIndex &)),
- this, SLOT(dataChanged(const QModelIndex &, const QModelIndex &)));
- disconnect(sourceModel(), SIGNAL(rowsInserted(const QModelIndex &, int, int)),
- this, SLOT(sourceRowsInserted(const QModelIndex &, int, int)));
- disconnect(sourceModel(), SIGNAL(rowsRemoved(const QModelIndex &, int, int)),
- this, SLOT(sourceRowsRemoved(const QModelIndex &, int, int)));
- }
-
- QAbstractProxyModel::setSourceModel(newSourceModel);
-
- if (sourceModel()) {
- m_loaded = false;
- connect(sourceModel(), SIGNAL(modelReset()), this, SLOT(sourceReset()));
- connect(sourceModel(), SIGNAL(dataChanged(const QModelIndex &, const QModelIndex &)),
- this, SLOT(sourceDataChanged(const QModelIndex &, const QModelIndex &)));
- connect(sourceModel(), SIGNAL(rowsInserted(const QModelIndex &, int, int)),
- this, SLOT(sourceRowsInserted(const QModelIndex &, int, int)));
- connect(sourceModel(), SIGNAL(rowsRemoved(const QModelIndex &, int, int)),
- this, SLOT(sourceRowsRemoved(const QModelIndex &, int, int)));
- }
-}
-
-void HistoryFilterModel::sourceDataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight)
-{
- emit dataChanged(mapFromSource(topLeft), mapFromSource(bottomRight));
-}
-
-QVariant HistoryFilterModel::headerData(int section, Qt::Orientation orientation, int role) const
-{
- return sourceModel()->headerData(section, orientation, role);
-}
-
-void HistoryFilterModel::sourceReset()
-{
- m_loaded = false;
- reset();
-}
-
-int HistoryFilterModel::rowCount(const QModelIndex &parent) const
-{
- load();
- if (parent.isValid())
- return 0;
- return m_historyHash.count();
-}
-
-int HistoryFilterModel::columnCount(const QModelIndex &parent) const
-{
- return (parent.isValid()) ? 0 : 2;
-}
-
-QModelIndex HistoryFilterModel::mapToSource(const QModelIndex &proxyIndex) const
-{
- load();
- int sourceRow = sourceModel()->rowCount() - proxyIndex.internalId();
- return sourceModel()->index(sourceRow, proxyIndex.column());
-}
-
-QModelIndex HistoryFilterModel::mapFromSource(const QModelIndex &sourceIndex) const
-{
- load();
- QString url = sourceIndex.data(HistoryModel::UrlStringRole).toString();
- if (!m_historyHash.contains(url))
- return QModelIndex();
-
- // This can be done in a binary search, but we can't use qBinary find
- // because it can't take: qBinaryFind(m_sourceRow.end(), m_sourceRow.begin(), v);
- // so if this is a performance bottlneck then convert to binary search, until then
- // the cleaner/easier to read code wins the day.
- int realRow = -1;
- int sourceModelRow = sourceModel()->rowCount() - sourceIndex.row();
-
- for (int i = 0; i < m_sourceRow.count(); ++i) {
- if (m_sourceRow.at(i) == sourceModelRow) {
- realRow = i;
- break;
- }
- }
- if (realRow == -1)
- return QModelIndex();
-
- return createIndex(realRow, sourceIndex.column(), sourceModel()->rowCount() - sourceIndex.row());
-}
-
-QModelIndex HistoryFilterModel::index(int row, int column, const QModelIndex &parent) const
-{
- load();
- if (row < 0 || row >= rowCount(parent)
- || column < 0 || column >= columnCount(parent))
- return QModelIndex();
-
- return createIndex(row, column, m_sourceRow[row]);
-}
-
-QModelIndex HistoryFilterModel::parent(const QModelIndex &) const
-{
- return QModelIndex();
-}
-
-void HistoryFilterModel::load() const
-{
- if (m_loaded)
- return;
- m_sourceRow.clear();
- m_historyHash.clear();
- m_historyHash.reserve(sourceModel()->rowCount());
- for (int i = 0; i < sourceModel()->rowCount(); ++i) {
- QModelIndex idx = sourceModel()->index(i, 0);
- QString url = idx.data(HistoryModel::UrlStringRole).toString();
- if (!m_historyHash.contains(url)) {
- m_sourceRow.append(sourceModel()->rowCount() - i);
- m_historyHash[url] = sourceModel()->rowCount() - i;
- }
- }
- m_loaded = true;
-}
-
-void HistoryFilterModel::sourceRowsInserted(const QModelIndex &parent, int start, int end)
-{
- Q_ASSERT(start == end && start == 0);
- Q_UNUSED(end);
- if (!m_loaded)
- return;
- QModelIndex idx = sourceModel()->index(start, 0, parent);
- QString url = idx.data(HistoryModel::UrlStringRole).toString();
- if (m_historyHash.contains(url)) {
- int sourceRow = sourceModel()->rowCount() - m_historyHash[url];
- int realRow = mapFromSource(sourceModel()->index(sourceRow, 0)).row();
- beginRemoveRows(QModelIndex(), realRow, realRow);
- m_sourceRow.removeAt(realRow);
- m_historyHash.remove(url);
- endRemoveRows();
- }
- beginInsertRows(QModelIndex(), 0, 0);
- m_historyHash.insert(url, sourceModel()->rowCount() - start);
- m_sourceRow.insert(0, sourceModel()->rowCount());
- endInsertRows();
-}
-
-void HistoryFilterModel::sourceRowsRemoved(const QModelIndex &, int start, int end)
-{
- Q_UNUSED(start);
- Q_UNUSED(end);
- sourceReset();
-}
-
-/*
- Removing a continuous block of rows will remove filtered rows too as this is
- the users intention.
-*/
-bool HistoryFilterModel::removeRows(int row, int count, const QModelIndex &parent)
-{
- if (row < 0 || count <= 0 || row + count > rowCount(parent) || parent.isValid())
- return false;
- int lastRow = row + count - 1;
- disconnect(sourceModel(), SIGNAL(rowsRemoved(const QModelIndex &, int, int)),
- this, SLOT(sourceRowsRemoved(const QModelIndex &, int, int)));
- beginRemoveRows(parent, row, lastRow);
- int oldCount = rowCount();
- int start = sourceModel()->rowCount() - m_sourceRow.value(row);
- int end = sourceModel()->rowCount() - m_sourceRow.value(lastRow);
- sourceModel()->removeRows(start, end - start + 1);
- endRemoveRows();
- connect(sourceModel(), SIGNAL(rowsRemoved(const QModelIndex &, int, int)),
- this, SLOT(sourceRowsRemoved(const QModelIndex &, int, int)));
- m_loaded = false;
- if (oldCount - count != rowCount())
- reset();
- return true;
-}
-
-HistoryCompletionModel::HistoryCompletionModel(QObject *parent)
- : QAbstractProxyModel(parent)
-{
-}
-
-QVariant HistoryCompletionModel::data(const QModelIndex &index, int role) const
-{
- if (sourceModel()
- && (role == Qt::EditRole || role == Qt::DisplayRole)
- && index.isValid()) {
- QModelIndex idx = mapToSource(index);
- idx = idx.sibling(idx.row(), 1);
- QString urlString = idx.data(HistoryModel::UrlStringRole).toString();
- if (index.row() % 2) {
- QUrl url = urlString;
- QString s = url.toString(QUrl::RemoveScheme
- | QUrl::RemoveUserInfo
- | QUrl::StripTrailingSlash);
- return s.mid(2); // strip // from the front
- }
- return urlString;
- }
- return QAbstractProxyModel::data(index, role);
-}
-
-int HistoryCompletionModel::rowCount(const QModelIndex &parent) const
-{
- return (parent.isValid() || !sourceModel()) ? 0 : sourceModel()->rowCount(parent) * 2;
-}
-
-int HistoryCompletionModel::columnCount(const QModelIndex &parent) const
-{
- return (parent.isValid()) ? 0 : 1;
-}
-
-QModelIndex HistoryCompletionModel::mapFromSource(const QModelIndex &sourceIndex) const
-{
- int row = sourceIndex.row() * 2;
- return index(row, sourceIndex.column());
-}
-
-QModelIndex HistoryCompletionModel::mapToSource(const QModelIndex &proxyIndex) const
-{
- if (!sourceModel())
- return QModelIndex();
- int row = proxyIndex.row() / 2;
- return sourceModel()->index(row, proxyIndex.column());
-}
-
-QModelIndex HistoryCompletionModel::index(int row, int column, const QModelIndex &parent) const
-{
- if (row < 0 || row >= rowCount(parent)
- || column < 0 || column >= columnCount(parent))
- return QModelIndex();
- return createIndex(row, column, 0);
-}
-
-QModelIndex HistoryCompletionModel::parent(const QModelIndex &) const
-{
- return QModelIndex();
-}
-
-void HistoryCompletionModel::setSourceModel(QAbstractItemModel *newSourceModel)
-{
- if (sourceModel()) {
- disconnect(sourceModel(), SIGNAL(modelReset()), this, SLOT(sourceReset()));
- disconnect(sourceModel(), SIGNAL(rowsInserted(const QModelIndex &, int, int)),
- this, SLOT(sourceReset()));
- disconnect(sourceModel(), SIGNAL(rowsRemoved(const QModelIndex &, int, int)),
- this, SLOT(sourceReset()));
- }
-
- QAbstractProxyModel::setSourceModel(newSourceModel);
-
- if (newSourceModel) {
- connect(newSourceModel, SIGNAL(modelReset()), this, SLOT(sourceReset()));
- connect(sourceModel(), SIGNAL(rowsInserted(const QModelIndex &, int, int)),
- this, SLOT(sourceReset()));
- connect(sourceModel(), SIGNAL(rowsRemoved(const QModelIndex &, int, int)),
- this, SLOT(sourceReset()));
- }
-
- reset();
-}
-
-void HistoryCompletionModel::sourceReset()
-{
- reset();
-}
-
-HistoryTreeModel::HistoryTreeModel(QAbstractItemModel *sourceModel, QObject *parent)
- : QAbstractProxyModel(parent)
-{
- setSourceModel(sourceModel);
-}
-
-QVariant HistoryTreeModel::headerData(int section, Qt::Orientation orientation, int role) const
-{
- return sourceModel()->headerData(section, orientation, role);
-}
-
-QVariant HistoryTreeModel::data(const QModelIndex &index, int role) const
-{
- if ((role == Qt::EditRole || role == Qt::DisplayRole)) {
- int start = index.internalId();
- if (start == 0) {
- int offset = sourceDateRow(index.row());
- if (index.column() == 0) {
- QModelIndex idx = sourceModel()->index(offset, 0);
- QDate date = idx.data(HistoryModel::DateRole).toDate();
- if (date == QDate::currentDate())
- return tr("Earlier Today");
- return date.toString(QLatin1String("dddd, MMMM d, yyyy"));
- }
- if (index.column() == 1) {
- return tr("%1 items").arg(rowCount(index.sibling(index.row(), 0)));
- }
- }
- }
- if (role == Qt::DecorationRole && index.column() == 0 && !index.parent().isValid())
- return QIcon(QLatin1String(":history.png"));
- if (role == HistoryModel::DateRole && index.column() == 0 && index.internalId() == 0) {
- int offset = sourceDateRow(index.row());
- QModelIndex idx = sourceModel()->index(offset, 0);
- return idx.data(HistoryModel::DateRole);
- }
-
- return QAbstractProxyModel::data(index, role);
-}
-
-int HistoryTreeModel::columnCount(const QModelIndex &parent) const
-{
- return sourceModel()->columnCount(mapToSource(parent));
-}
-
-int HistoryTreeModel::rowCount(const QModelIndex &parent) const
-{
- if ( parent.internalId() != 0
- || parent.column() > 0
- || !sourceModel())
- return 0;
-
- // row count OF dates
- if (!parent.isValid()) {
- if (!m_sourceRowCache.isEmpty())
- return m_sourceRowCache.count();
- QDate currentDate;
- int rows = 0;
- int totalRows = sourceModel()->rowCount();
-
- for (int i = 0; i < totalRows; ++i) {
- QDate rowDate = sourceModel()->index(i, 0).data(HistoryModel::DateRole).toDate();
- if (rowDate != currentDate) {
- m_sourceRowCache.append(i);
- currentDate = rowDate;
- ++rows;
- }
- }
- Q_ASSERT(m_sourceRowCache.count() == rows);
- return rows;
- }
-
- // row count FOR a date
- int start = sourceDateRow(parent.row());
- int end = sourceDateRow(parent.row() + 1);
- return (end - start);
-}
-
-// Translate the top level date row into the offset where that date starts
-int HistoryTreeModel::sourceDateRow(int row) const
-{
- if (row <= 0)
- return 0;
-
- if (m_sourceRowCache.isEmpty())
- rowCount(QModelIndex());
-
- if (row >= m_sourceRowCache.count()) {
- if (!sourceModel())
- return 0;
- return sourceModel()->rowCount();
- }
- return m_sourceRowCache.at(row);
-}
-
-QModelIndex HistoryTreeModel::mapToSource(const QModelIndex &proxyIndex) const
-{
- int offset = proxyIndex.internalId();
- if (offset == 0)
- return QModelIndex();
- int startDateRow = sourceDateRow(offset - 1);
- return sourceModel()->index(startDateRow + proxyIndex.row(), proxyIndex.column());
-}
-
-QModelIndex HistoryTreeModel::index(int row, int column, const QModelIndex &parent) const
-{
- if (row < 0
- || column < 0 || column >= columnCount(parent)
- || parent.column() > 0)
- return QModelIndex();
-
- if (!parent.isValid())
- return createIndex(row, column, 0);
- return createIndex(row, column, parent.row() + 1);
-}
-
-QModelIndex HistoryTreeModel::parent(const QModelIndex &index) const
-{
- int offset = index.internalId();
- if (offset == 0 || !index.isValid())
- return QModelIndex();
- return createIndex(offset - 1, 0, 0);
-}
-
-bool HistoryTreeModel::hasChildren(const QModelIndex &parent) const
-{
- QModelIndex grandparent = parent.parent();
- if (!grandparent.isValid())
- return true;
- return false;
-}
-
-Qt::ItemFlags HistoryTreeModel::flags(const QModelIndex &index) const
-{
- if (!index.isValid())
- return Qt::NoItemFlags;
- return Qt::ItemIsSelectable | Qt::ItemIsEnabled | Qt::ItemIsDragEnabled;
-}
-
-bool HistoryTreeModel::removeRows(int row, int count, const QModelIndex &parent)
-{
- if (row < 0 || count <= 0 || row + count > rowCount(parent))
- return false;
-
- if (parent.isValid()) {
- // removing pages
- int offset = sourceDateRow(parent.row());
- return sourceModel()->removeRows(offset + row, count);
- } else {
- // removing whole dates
- for (int i = row + count - 1; i >= row; --i) {
- QModelIndex dateParent = index(i, 0);
- int offset = sourceDateRow(dateParent.row());
- if (!sourceModel()->removeRows(offset, rowCount(dateParent)))
- return false;
- }
- }
- return true;
-}
-
-void HistoryTreeModel::setSourceModel(QAbstractItemModel *newSourceModel)
-{
- if (sourceModel()) {
- disconnect(sourceModel(), SIGNAL(modelReset()), this, SLOT(sourceReset()));
- disconnect(sourceModel(), SIGNAL(layoutChanged()), this, SLOT(sourceReset()));
- disconnect(sourceModel(), SIGNAL(rowsInserted(const QModelIndex &, int, int)),
- this, SLOT(sourceRowsInserted(const QModelIndex &, int, int)));
- disconnect(sourceModel(), SIGNAL(rowsRemoved(const QModelIndex &, int, int)),
- this, SLOT(sourceRowsRemoved(const QModelIndex &, int, int)));
- }
-
- QAbstractProxyModel::setSourceModel(newSourceModel);
-
- if (newSourceModel) {
- connect(sourceModel(), SIGNAL(modelReset()), this, SLOT(sourceReset()));
- connect(sourceModel(), SIGNAL(layoutChanged()), this, SLOT(sourceReset()));
- connect(sourceModel(), SIGNAL(rowsInserted(const QModelIndex &, int, int)),
- this, SLOT(sourceRowsInserted(const QModelIndex &, int, int)));
- connect(sourceModel(), SIGNAL(rowsRemoved(const QModelIndex &, int, int)),
- this, SLOT(sourceRowsRemoved(const QModelIndex &, int, int)));
- }
-
- reset();
-}
-
-void HistoryTreeModel::sourceReset()
-{
- m_sourceRowCache.clear();
- reset();
-}
-
-void HistoryTreeModel::sourceRowsInserted(const QModelIndex &parent, int start, int end)
-{
- Q_UNUSED(parent); // Avoid warnings when compiling release
- Q_ASSERT(!parent.isValid());
- if (start != 0 || start != end) {
- m_sourceRowCache.clear();
- reset();
- return;
- }
-
- m_sourceRowCache.clear();
- QModelIndex treeIndex = mapFromSource(sourceModel()->index(start, 0));
- QModelIndex treeParent = treeIndex.parent();
- if (rowCount(treeParent) == 1) {
- beginInsertRows(QModelIndex(), 0, 0);
- endInsertRows();
- } else {
- beginInsertRows(treeParent, treeIndex.row(), treeIndex.row());
- endInsertRows();
- }
-}
-
-QModelIndex HistoryTreeModel::mapFromSource(const QModelIndex &sourceIndex) const
-{
- if (!sourceIndex.isValid())
- return QModelIndex();
-
- if (m_sourceRowCache.isEmpty())
- rowCount(QModelIndex());
-
- QList<int>::iterator it;
- it = qLowerBound(m_sourceRowCache.begin(), m_sourceRowCache.end(), sourceIndex.row());
- if (*it != sourceIndex.row())
- --it;
- int dateRow = qMax(0, it - m_sourceRowCache.begin());
- int row = sourceIndex.row() - m_sourceRowCache.at(dateRow);
- return createIndex(row, sourceIndex.column(), dateRow + 1);
-}
-
-void HistoryTreeModel::sourceRowsRemoved(const QModelIndex &parent, int start, int end)
-{
- Q_UNUSED(parent); // Avoid warnings when compiling release
- Q_ASSERT(!parent.isValid());
- if (m_sourceRowCache.isEmpty())
- return;
- for (int i = end; i >= start;) {
- QList<int>::iterator it;
- it = qLowerBound(m_sourceRowCache.begin(), m_sourceRowCache.end(), i);
- // playing it safe
- if (it == m_sourceRowCache.end()) {
- m_sourceRowCache.clear();
- reset();
- return;
- }
-
- if (*it != i)
- --it;
- int row = qMax(0, it - m_sourceRowCache.begin());
- int offset = m_sourceRowCache[row];
- QModelIndex dateParent = index(row, 0);
- // If we can remove all the rows in the date do that and skip over them
- int rc = rowCount(dateParent);
- if (i - rc + 1 == offset && start <= i - rc + 1) {
- beginRemoveRows(QModelIndex(), row, row);
- m_sourceRowCache.removeAt(row);
- i -= rc + 1;
- } else {
- beginRemoveRows(dateParent, i - offset, i - offset);
- ++row;
- --i;
- }
- for (int j = row; j < m_sourceRowCache.count(); ++j)
- --m_sourceRowCache[j];
- endRemoveRows();
- }
-}
-
diff --git a/examples/gestures/browser/history.h b/examples/gestures/browser/history.h
deleted file mode 100644
index 626e2f3..0000000
--- a/examples/gestures/browser/history.h
+++ /dev/null
@@ -1,350 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef HISTORY_H
-#define HISTORY_H
-
-#include "modelmenu.h"
-
-#include <QtCore/QDateTime>
-#include <QtCore/QHash>
-#include <QtCore/QObject>
-#include <QtCore/QTimer>
-#include <QtCore/QUrl>
-
-#include <QtGui/QSortFilterProxyModel>
-
-#include <QWebHistoryInterface>
-
-class HistoryItem
-{
-public:
- HistoryItem() {}
- HistoryItem(const QString &u,
- const QDateTime &d = QDateTime(), const QString &t = QString())
- : title(t), url(u), dateTime(d) {}
-
- inline bool operator==(const HistoryItem &other) const
- { return other.title == title
- && other.url == url && other.dateTime == dateTime; }
-
- // history is sorted in reverse
- inline bool operator <(const HistoryItem &other) const
- { return dateTime > other.dateTime; }
-
- QString title;
- QString url;
- QDateTime dateTime;
-};
-
-class AutoSaver;
-class HistoryModel;
-class HistoryFilterModel;
-class HistoryTreeModel;
-class HistoryManager : public QWebHistoryInterface
-{
- Q_OBJECT
- Q_PROPERTY(int historyLimit READ historyLimit WRITE setHistoryLimit)
-
-signals:
- void historyReset();
- void entryAdded(const HistoryItem &item);
- void entryRemoved(const HistoryItem &item);
- void entryUpdated(int offset);
-
-public:
- HistoryManager(QObject *parent = 0);
- ~HistoryManager();
-
- bool historyContains(const QString &url) const;
- void addHistoryEntry(const QString &url);
-
- void updateHistoryItem(const QUrl &url, const QString &title);
-
- int historyLimit() const;
- void setHistoryLimit(int limit);
-
- QList<HistoryItem> history() const;
- void setHistory(const QList<HistoryItem> &history, bool loadedAndSorted = false);
-
- // History manager keeps around these models for use by the completer and other classes
- HistoryModel *historyModel() const;
- HistoryFilterModel *historyFilterModel() const;
- HistoryTreeModel *historyTreeModel() const;
-
-public slots:
- void clear();
- void loadSettings();
-
-private slots:
- void save();
- void checkForExpired();
-
-protected:
- void addHistoryItem(const HistoryItem &item);
-
-private:
- void load();
-
- AutoSaver *m_saveTimer;
- int m_historyLimit;
- QTimer m_expiredTimer;
- QList<HistoryItem> m_history;
- QString m_lastSavedUrl;
-
- HistoryModel *m_historyModel;
- HistoryFilterModel *m_historyFilterModel;
- HistoryTreeModel *m_historyTreeModel;
-};
-
-class HistoryModel : public QAbstractTableModel
-{
- Q_OBJECT
-
-public slots:
- void historyReset();
- void entryAdded();
- void entryUpdated(int offset);
-
-public:
- enum Roles {
- DateRole = Qt::UserRole + 1,
- DateTimeRole = Qt::UserRole + 2,
- UrlRole = Qt::UserRole + 3,
- UrlStringRole = Qt::UserRole + 4
- };
-
- HistoryModel(HistoryManager *history, QObject *parent = 0);
- QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const;
- QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const;
- int columnCount(const QModelIndex &parent = QModelIndex()) const;
- int rowCount(const QModelIndex &parent = QModelIndex()) const;
- bool removeRows(int row, int count, const QModelIndex &parent = QModelIndex());
-
-private:
- HistoryManager *m_history;
-};
-
-/*!
- Proxy model that will remove any duplicate entries.
- Both m_sourceRow and m_historyHash store their offsets not from
- the front of the list, but as offsets from the back.
- */
-class HistoryFilterModel : public QAbstractProxyModel
-{
- Q_OBJECT
-
-public:
- HistoryFilterModel(QAbstractItemModel *sourceModel, QObject *parent = 0);
-
- inline bool historyContains(const QString &url) const
- { load(); return m_historyHash.contains(url); }
- int historyLocation(const QString &url) const;
-
- QModelIndex mapFromSource(const QModelIndex &sourceIndex) const;
- QModelIndex mapToSource(const QModelIndex &proxyIndex) const;
- void setSourceModel(QAbstractItemModel *sourceModel);
- QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const;
- int rowCount(const QModelIndex &parent = QModelIndex()) const;
- int columnCount(const QModelIndex &parent = QModelIndex()) const;
- QModelIndex index(int, int, const QModelIndex& = QModelIndex()) const;
- QModelIndex parent(const QModelIndex& index= QModelIndex()) const;
- bool removeRows(int row, int count, const QModelIndex &parent = QModelIndex());
- QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const;
-
-private slots:
- void sourceReset();
- void sourceDataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight);
- void sourceRowsInserted(const QModelIndex &parent, int start, int end);
- void sourceRowsRemoved(const QModelIndex &, int, int);
-
-private:
- void load() const;
-
- mutable QList<int> m_sourceRow;
- mutable QHash<QString, int> m_historyHash;
- mutable bool m_loaded;
-};
-
-/*
- The history menu
- - Removes the first twenty entries and puts them as children of the top level.
- - If there are less then twenty entries then the first folder is also removed.
-
- The mapping is done by knowing that HistoryTreeModel is over a table
- We store that row offset in our index's private data.
-*/
-class HistoryMenuModel : public QAbstractProxyModel
-{
- Q_OBJECT
-
-public:
- HistoryMenuModel(HistoryTreeModel *sourceModel, QObject *parent = 0);
- int columnCount(const QModelIndex &parent) const;
- int rowCount(const QModelIndex &parent = QModelIndex()) const;
- QModelIndex mapFromSource(const QModelIndex & sourceIndex) const;
- QModelIndex mapToSource(const QModelIndex & proxyIndex) const;
- QModelIndex index(int, int, const QModelIndex &parent = QModelIndex()) const;
- QModelIndex parent(const QModelIndex &index = QModelIndex()) const;
-
- int bumpedRows() const;
-
-private:
- HistoryTreeModel *m_treeModel;
-};
-
-// Menu that is dynamically populated from the history
-class HistoryMenu : public ModelMenu
-{
- Q_OBJECT
-
-signals:
- void openUrl(const QUrl &url);
-
-public:
- HistoryMenu(QWidget *parent = 0);
- void setInitialActions(QList<QAction*> actions);
-
-protected:
- bool prePopulated();
- void postPopulated();
-
-private slots:
- void activated(const QModelIndex &index);
- void showHistoryDialog();
-
-private:
- HistoryManager *m_history;
- HistoryMenuModel *m_historyMenuModel;
- QList<QAction*> m_initialActions;
-};
-
-// proxy model for the history model that
-// exposes each url http://www.foo.com and it url starting at the host www.foo.com
-class HistoryCompletionModel : public QAbstractProxyModel
-{
- Q_OBJECT
-
-public:
- HistoryCompletionModel(QObject *parent = 0);
- QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const;
- int rowCount(const QModelIndex &parent = QModelIndex()) const;
- int columnCount(const QModelIndex &parent = QModelIndex()) const;
- QModelIndex mapFromSource(const QModelIndex &sourceIndex) const;
- QModelIndex mapToSource(const QModelIndex &proxyIndex) const;
- QModelIndex index(int, int, const QModelIndex& = QModelIndex()) const;
- QModelIndex parent(const QModelIndex& index= QModelIndex()) const;
- void setSourceModel(QAbstractItemModel *sourceModel);
-
-private slots:
- void sourceReset();
-
-};
-
-// proxy model for the history model that converts the list
-// into a tree, one top level node per day.
-// Used in the HistoryDialog.
-class HistoryTreeModel : public QAbstractProxyModel
-{
- Q_OBJECT
-
-public:
- HistoryTreeModel(QAbstractItemModel *sourceModel, QObject *parent = 0);
- QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const;
- int columnCount(const QModelIndex &parent) const;
- int rowCount(const QModelIndex &parent = QModelIndex()) const;
- QModelIndex mapFromSource(const QModelIndex &sourceIndex) const;
- QModelIndex mapToSource(const QModelIndex &proxyIndex) const;
- QModelIndex index(int row, int column, const QModelIndex &parent = QModelIndex()) const;
- QModelIndex parent(const QModelIndex &index= QModelIndex()) const;
- bool hasChildren(const QModelIndex &parent = QModelIndex()) const;
- Qt::ItemFlags flags(const QModelIndex &index) const;
- bool removeRows(int row, int count, const QModelIndex &parent = QModelIndex());
- QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const;
-
- void setSourceModel(QAbstractItemModel *sourceModel);
-
-private slots:
- void sourceReset();
- void sourceRowsInserted(const QModelIndex &parent, int start, int end);
- void sourceRowsRemoved(const QModelIndex &parent, int start, int end);
-
-private:
- int sourceDateRow(int row) const;
- mutable QList<int> m_sourceRowCache;
-
-};
-
-// A modified QSortFilterProxyModel that always accepts the root nodes in the tree
-// so filtering is only done on the children.
-// Used in the HistoryDialog
-class TreeProxyModel : public QSortFilterProxyModel
-{
- Q_OBJECT
-
-public:
- TreeProxyModel(QObject *parent = 0);
-
-protected:
- bool filterAcceptsRow(int source_row, const QModelIndex &source_parent) const;
-};
-
-#include "ui_history.h"
-
-class HistoryDialog : public QDialog, public Ui_HistoryDialog
-{
- Q_OBJECT
-
-signals:
- void openUrl(const QUrl &url);
-
-public:
- HistoryDialog(QWidget *parent = 0, HistoryManager *history = 0);
-
-private slots:
- void customContextMenuRequested(const QPoint &pos);
- void open();
- void copy();
-
-};
-
-#endif // HISTORY_H
-
diff --git a/examples/gestures/browser/history.ui b/examples/gestures/browser/history.ui
deleted file mode 100644
index 0944940..0000000
--- a/examples/gestures/browser/history.ui
+++ /dev/null
@@ -1,106 +0,0 @@
-<ui version="4.0" >
- <class>HistoryDialog</class>
- <widget class="QDialog" name="HistoryDialog" >
- <property name="geometry" >
- <rect>
- <x>0</x>
- <y>0</y>
- <width>758</width>
- <height>450</height>
- </rect>
- </property>
- <property name="windowTitle" >
- <string>History</string>
- </property>
- <layout class="QGridLayout" name="gridLayout" >
- <item row="0" column="0" >
- <spacer>
- <property name="orientation" >
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" stdset="0" >
- <size>
- <width>252</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- <item row="0" column="1" >
- <widget class="SearchLineEdit" name="search" />
- </item>
- <item row="1" column="0" colspan="2" >
- <widget class="EditTreeView" name="tree" />
- </item>
- <item row="2" column="0" colspan="2" >
- <layout class="QHBoxLayout" >
- <item>
- <widget class="QPushButton" name="removeButton" >
- <property name="text" >
- <string>&amp;Remove</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QPushButton" name="removeAllButton" >
- <property name="text" >
- <string>Remove &amp;All</string>
- </property>
- </widget>
- </item>
- <item>
- <spacer>
- <property name="orientation" >
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" stdset="0" >
- <size>
- <width>40</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- <item>
- <widget class="QDialogButtonBox" name="buttonBox" >
- <property name="standardButtons" >
- <set>QDialogButtonBox::Ok</set>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- </layout>
- </widget>
- <customwidgets>
- <customwidget>
- <class>SearchLineEdit</class>
- <extends>QLineEdit</extends>
- <header>searchlineedit.h</header>
- </customwidget>
- <customwidget>
- <class>EditTreeView</class>
- <extends>QTreeView</extends>
- <header>edittreeview.h</header>
- </customwidget>
- </customwidgets>
- <resources/>
- <connections>
- <connection>
- <sender>buttonBox</sender>
- <signal>accepted()</signal>
- <receiver>HistoryDialog</receiver>
- <slot>accept()</slot>
- <hints>
- <hint type="sourcelabel" >
- <x>472</x>
- <y>329</y>
- </hint>
- <hint type="destinationlabel" >
- <x>461</x>
- <y>356</y>
- </hint>
- </hints>
- </connection>
- </connections>
-</ui>
diff --git a/examples/gestures/browser/htmls/htmls.qrc b/examples/gestures/browser/htmls/htmls.qrc
deleted file mode 100644
index 03b256c..0000000
--- a/examples/gestures/browser/htmls/htmls.qrc
+++ /dev/null
@@ -1,5 +0,0 @@
-<!DOCTYPE RCC><RCC version="1.0">
-<qresource>
- <file>notfound.html</file>
-</qresource>
-</RCC>
diff --git a/examples/gestures/browser/htmls/notfound.html b/examples/gestures/browser/htmls/notfound.html
deleted file mode 100644
index b04a9f8..0000000
--- a/examples/gestures/browser/htmls/notfound.html
+++ /dev/null
@@ -1,63 +0,0 @@
-<html>
-<head>
-<title>%1</title>
-<style>
-body {
- padding: 3em 0em;
- background: #eeeeee;
-}
-hr {
- color: lightgray;
- width: 100%;
-}
-img {
- float: left;
- opacity: .8;
-}
-#box {
- background: white;
- border: 1px solid lightgray;
- width: 600px;
- padding: 60px;
- margin: auto;
-}
-h1 {
- font-size: 130%;
- font-weight: bold;
- border-bottom: 1px solid lightgray;
- margin-left: 48px;
-}
-h2 {
- font-size: 100%;
- font-weight: normal;
- border-bottom: 1px solid lightgray;
- margin-left: 48px;
-}
-ul {
- font-size: 80%;
- padding-left: 48px;
- margin: 0;
-}
-#reloadButton {
- padding-left: 48px;
-}
-</style>
-</head>
-<body>
- <div id="box">
- <img src="data:image/png;base64,IMAGE_BINARY_DATA_HERE" width="32" height="32"/>
- <h1>%2</h1>
- <h2>When connecting to: %3.</h2>
- <ul>
- <li>Check the address for errors such as <b>ww</b>.trolltech.com
- instead of <b>www</b>.trolltech.com</li>
- <li>If the address is correct, try checking the network
- connection.</li>
- <li>If your computer or network is protected by a firewall or
- proxy, make sure that the browser demo is permitted to access
- the network.</li>
- </ul>
- <br/><br/>
- </div>
-</body>
-</html>
diff --git a/examples/gestures/browser/main.cpp b/examples/gestures/browser/main.cpp
deleted file mode 100644
index b9e2830..0000000
--- a/examples/gestures/browser/main.cpp
+++ /dev/null
@@ -1,53 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "browserapplication.h"
-
-int main(int argc, char **argv)
-{
- Q_INIT_RESOURCE(data);
- BrowserApplication application(argc, argv);
- if (!application.isTheOnlyBrowser())
- return 0;
- application.newMainWindow();
- return application.exec();
-}
-
diff --git a/examples/gestures/browser/modelmenu.cpp b/examples/gestures/browser/modelmenu.cpp
deleted file mode 100644
index 2e81d0d..0000000
--- a/examples/gestures/browser/modelmenu.cpp
+++ /dev/null
@@ -1,227 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "modelmenu.h"
-
-#include <QtCore/QAbstractItemModel>
-#include <qdebug.h>
-
-ModelMenu::ModelMenu(QWidget * parent)
- : QMenu(parent)
- , m_maxRows(7)
- , m_firstSeparator(-1)
- , m_maxWidth(-1)
- , m_hoverRole(0)
- , m_separatorRole(0)
- , m_model(0)
-{
- connect(this, SIGNAL(aboutToShow()), this, SLOT(aboutToShow()));
-}
-
-bool ModelMenu::prePopulated()
-{
- return false;
-}
-
-void ModelMenu::postPopulated()
-{
-}
-
-void ModelMenu::setModel(QAbstractItemModel *model)
-{
- m_model = model;
-}
-
-QAbstractItemModel *ModelMenu::model() const
-{
- return m_model;
-}
-
-void ModelMenu::setMaxRows(int max)
-{
- m_maxRows = max;
-}
-
-int ModelMenu::maxRows() const
-{
- return m_maxRows;
-}
-
-void ModelMenu::setFirstSeparator(int offset)
-{
- m_firstSeparator = offset;
-}
-
-int ModelMenu::firstSeparator() const
-{
- return m_firstSeparator;
-}
-
-void ModelMenu::setRootIndex(const QModelIndex &index)
-{
- m_root = index;
-}
-
-QModelIndex ModelMenu::rootIndex() const
-{
- return m_root;
-}
-
-void ModelMenu::setHoverRole(int role)
-{
- m_hoverRole = role;
-}
-
-int ModelMenu::hoverRole() const
-{
- return m_hoverRole;
-}
-
-void ModelMenu::setSeparatorRole(int role)
-{
- m_separatorRole = role;
-}
-
-int ModelMenu::separatorRole() const
-{
- return m_separatorRole;
-}
-
-Q_DECLARE_METATYPE(QModelIndex)
-void ModelMenu::aboutToShow()
-{
- if (QMenu *menu = qobject_cast<QMenu*>(sender())) {
- QVariant v = menu->menuAction()->data();
- if (v.canConvert<QModelIndex>()) {
- QModelIndex idx = qvariant_cast<QModelIndex>(v);
- createMenu(idx, -1, menu, menu);
- disconnect(menu, SIGNAL(aboutToShow()), this, SLOT(aboutToShow()));
- return;
- }
- }
-
- clear();
- if (prePopulated())
- addSeparator();
- int max = m_maxRows;
- if (max != -1)
- max += m_firstSeparator;
- createMenu(m_root, max, this, this);
- postPopulated();
-}
-
-void ModelMenu::createMenu(const QModelIndex &parent, int max, QMenu *parentMenu, QMenu *menu)
-{
- if (!menu) {
- QString title = parent.data().toString();
- menu = new QMenu(title, this);
- QIcon icon = qvariant_cast<QIcon>(parent.data(Qt::DecorationRole));
- menu->setIcon(icon);
- parentMenu->addMenu(menu);
- QVariant v;
- v.setValue(parent);
- menu->menuAction()->setData(v);
- connect(menu, SIGNAL(aboutToShow()), this, SLOT(aboutToShow()));
- return;
- }
-
- int end = m_model->rowCount(parent);
- if (max != -1)
- end = qMin(max, end);
-
- connect(menu, SIGNAL(triggered(QAction*)), this, SLOT(triggered(QAction*)));
- connect(menu, SIGNAL(hovered(QAction*)), this, SLOT(hovered(QAction*)));
-
- for (int i = 0; i < end; ++i) {
- QModelIndex idx = m_model->index(i, 0, parent);
- if (m_model->hasChildren(idx)) {
- createMenu(idx, -1, menu);
- } else {
- if (m_separatorRole != 0
- && idx.data(m_separatorRole).toBool())
- addSeparator();
- else
- menu->addAction(makeAction(idx));
- }
- if (menu == this && i == m_firstSeparator - 1)
- addSeparator();
- }
-}
-
-QAction *ModelMenu::makeAction(const QModelIndex &index)
-{
- QIcon icon = qvariant_cast<QIcon>(index.data(Qt::DecorationRole));
- QAction *action = makeAction(icon, index.data().toString(), this);
- QVariant v;
- v.setValue(index);
- action->setData(v);
- return action;
-}
-
-QAction *ModelMenu::makeAction(const QIcon &icon, const QString &text, QObject *parent)
-{
- QFontMetrics fm(font());
- if (-1 == m_maxWidth)
- m_maxWidth = fm.width(QLatin1Char('m')) * 30;
- QString smallText = fm.elidedText(text, Qt::ElideMiddle, m_maxWidth);
- return new QAction(icon, smallText, parent);
-}
-
-void ModelMenu::triggered(QAction *action)
-{
- QVariant v = action->data();
- if (v.canConvert<QModelIndex>()) {
- QModelIndex idx = qvariant_cast<QModelIndex>(v);
- emit activated(idx);
- }
-}
-
-void ModelMenu::hovered(QAction *action)
-{
- QVariant v = action->data();
- if (v.canConvert<QModelIndex>()) {
- QModelIndex idx = qvariant_cast<QModelIndex>(v);
- QString hoveredString = idx.data(m_hoverRole).toString();
- if (!hoveredString.isEmpty())
- emit hovered(hoveredString);
- }
-}
-
diff --git a/examples/gestures/browser/modelmenu.h b/examples/gestures/browser/modelmenu.h
deleted file mode 100644
index b44daa8..0000000
--- a/examples/gestures/browser/modelmenu.h
+++ /dev/null
@@ -1,105 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef MODELMENU_H
-#define MODELMENU_H
-
-#include <QtGui/QMenu>
-#include <QtCore/QAbstractItemModel>
-
-// A QMenu that is dynamically populated from a QAbstractItemModel
-class ModelMenu : public QMenu
-{
- Q_OBJECT
-
-signals:
- void activated(const QModelIndex &index);
- void hovered(const QString &text);
-
-public:
- ModelMenu(QWidget *parent = 0);
-
- void setModel(QAbstractItemModel *model);
- QAbstractItemModel *model() const;
-
- void setMaxRows(int max);
- int maxRows() const;
-
- void setFirstSeparator(int offset);
- int firstSeparator() const;
-
- void setRootIndex(const QModelIndex &index);
- QModelIndex rootIndex() const;
-
- void setHoverRole(int role);
- int hoverRole() const;
-
- void setSeparatorRole(int role);
- int separatorRole() const;
-
- QAction *makeAction(const QIcon &icon, const QString &text, QObject *parent);
-
-protected:
- // add any actions before the tree, return true if any actions are added.
- virtual bool prePopulated();
- // add any actions after the tree
- virtual void postPopulated();
- // put all of the children of parent into menu up to max
- void createMenu(const QModelIndex &parent, int max, QMenu *parentMenu = 0, QMenu *menu = 0);
-
-private slots:
- void aboutToShow();
- void triggered(QAction *action);
- void hovered(QAction *action);
-
-private:
- QAction *makeAction(const QModelIndex &index);
- int m_maxRows;
- int m_firstSeparator;
- int m_maxWidth;
- int m_hoverRole;
- int m_separatorRole;
- QAbstractItemModel *m_model;
- QPersistentModelIndex m_root;
-};
-
-#endif // MODELMENU_H
-
diff --git a/examples/gestures/browser/networkaccessmanager.cpp b/examples/gestures/browser/networkaccessmanager.cpp
deleted file mode 100644
index 3a4598c..0000000
--- a/examples/gestures/browser/networkaccessmanager.cpp
+++ /dev/null
@@ -1,171 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "networkaccessmanager.h"
-
-#include "browserapplication.h"
-#include "browsermainwindow.h"
-#include "ui_passworddialog.h"
-#include "ui_proxy.h"
-
-#include <QtCore/QSettings>
-
-#include <QtGui/QDesktopServices>
-#include <QtGui/QDialog>
-#include <QtGui/QMessageBox>
-#include <QtGui/QStyle>
-#include <QtGui/QTextDocument>
-
-#include <QtNetwork/QAuthenticator>
-#include <QtNetwork/QNetworkDiskCache>
-#include <QtNetwork/QNetworkProxy>
-#include <QtNetwork/QNetworkReply>
-#include <QtNetwork/QSslError>
-
-NetworkAccessManager::NetworkAccessManager(QObject *parent)
- : QNetworkAccessManager(parent)
-{
- connect(this, SIGNAL(authenticationRequired(QNetworkReply*, QAuthenticator*)),
- SLOT(authenticationRequired(QNetworkReply*,QAuthenticator*)));
- connect(this, SIGNAL(proxyAuthenticationRequired(const QNetworkProxy&, QAuthenticator*)),
- SLOT(proxyAuthenticationRequired(const QNetworkProxy&, QAuthenticator*)));
-#ifndef QT_NO_OPENSSL
- connect(this, SIGNAL(sslErrors(QNetworkReply*, const QList<QSslError>&)),
- SLOT(sslErrors(QNetworkReply*, const QList<QSslError>&)));
-#endif
- loadSettings();
-
- QNetworkDiskCache *diskCache = new QNetworkDiskCache(this);
- QString location = QDesktopServices::storageLocation(QDesktopServices::CacheLocation);
- diskCache->setCacheDirectory(location);
- setCache(diskCache);
-}
-
-void NetworkAccessManager::loadSettings()
-{
- QSettings settings;
- settings.beginGroup(QLatin1String("proxy"));
- QNetworkProxy proxy;
- if (settings.value(QLatin1String("enabled"), false).toBool()) {
- if (settings.value(QLatin1String("type"), 0).toInt() == 0)
- proxy = QNetworkProxy::Socks5Proxy;
- else
- proxy = QNetworkProxy::HttpProxy;
- proxy.setHostName(settings.value(QLatin1String("hostName")).toString());
- proxy.setPort(settings.value(QLatin1String("port"), 1080).toInt());
- proxy.setUser(settings.value(QLatin1String("userName")).toString());
- proxy.setPassword(settings.value(QLatin1String("password")).toString());
- }
- setProxy(proxy);
-}
-
-void NetworkAccessManager::authenticationRequired(QNetworkReply *reply, QAuthenticator *auth)
-{
- BrowserMainWindow *mainWindow = BrowserApplication::instance()->mainWindow();
-
- QDialog dialog(mainWindow);
- dialog.setWindowFlags(Qt::Sheet);
-
- Ui::PasswordDialog passwordDialog;
- passwordDialog.setupUi(&dialog);
-
- passwordDialog.iconLabel->setText(QString());
- passwordDialog.iconLabel->setPixmap(mainWindow->style()->standardIcon(QStyle::SP_MessageBoxQuestion, 0, mainWindow).pixmap(32, 32));
-
- QString introMessage = tr("<qt>Enter username and password for \"%1\" at %2</qt>");
- introMessage = introMessage.arg(Qt::escape(reply->url().toString())).arg(Qt::escape(reply->url().toString()));
- passwordDialog.introLabel->setText(introMessage);
- passwordDialog.introLabel->setWordWrap(true);
-
- if (dialog.exec() == QDialog::Accepted) {
- auth->setUser(passwordDialog.userNameLineEdit->text());
- auth->setPassword(passwordDialog.passwordLineEdit->text());
- }
-}
-
-void NetworkAccessManager::proxyAuthenticationRequired(const QNetworkProxy &proxy, QAuthenticator *auth)
-{
- BrowserMainWindow *mainWindow = BrowserApplication::instance()->mainWindow();
-
- QDialog dialog(mainWindow);
- dialog.setWindowFlags(Qt::Sheet);
-
- Ui::ProxyDialog proxyDialog;
- proxyDialog.setupUi(&dialog);
-
- proxyDialog.iconLabel->setText(QString());
- proxyDialog.iconLabel->setPixmap(mainWindow->style()->standardIcon(QStyle::SP_MessageBoxQuestion, 0, mainWindow).pixmap(32, 32));
-
- QString introMessage = tr("<qt>Connect to proxy \"%1\" using:</qt>");
- introMessage = introMessage.arg(Qt::escape(proxy.hostName()));
- proxyDialog.introLabel->setText(introMessage);
- proxyDialog.introLabel->setWordWrap(true);
-
- if (dialog.exec() == QDialog::Accepted) {
- auth->setUser(proxyDialog.userNameLineEdit->text());
- auth->setPassword(proxyDialog.passwordLineEdit->text());
- }
-}
-
-#ifndef QT_NO_OPENSSL
-void NetworkAccessManager::sslErrors(QNetworkReply *reply, const QList<QSslError> &error)
-{
- // check if SSL certificate has been trusted already
- QString replyHost = reply->url().host() + ":" + reply->url().port();
- if(! sslTrustedHostList.contains(replyHost)) {
- BrowserMainWindow *mainWindow = BrowserApplication::instance()->mainWindow();
-
- QStringList errorStrings;
- for (int i = 0; i < error.count(); ++i)
- errorStrings += error.at(i).errorString();
- QString errors = errorStrings.join(QLatin1String("\n"));
- int ret = QMessageBox::warning(mainWindow, QCoreApplication::applicationName(),
- tr("SSL Errors:\n\n%1\n\n%2\n\n"
- "Do you want to ignore these errors for this host?").arg(reply->url().toString()).arg(errors),
- QMessageBox::Yes | QMessageBox::No,
- QMessageBox::No);
- if (ret == QMessageBox::Yes) {
- reply->ignoreSslErrors();
- sslTrustedHostList.append(replyHost);
- }
- }
-}
-#endif
diff --git a/examples/gestures/browser/networkaccessmanager.h b/examples/gestures/browser/networkaccessmanager.h
deleted file mode 100644
index d90a4d4..0000000
--- a/examples/gestures/browser/networkaccessmanager.h
+++ /dev/null
@@ -1,68 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef NETWORKACCESSMANAGER_H
-#define NETWORKACCESSMANAGER_H
-
-#include <QtNetwork/QNetworkAccessManager>
-
-class NetworkAccessManager : public QNetworkAccessManager
-{
- Q_OBJECT
-
-public:
- NetworkAccessManager(QObject *parent = 0);
-
-private:
- QList<QString> sslTrustedHostList;
-
-public slots:
- void loadSettings();
-
-private slots:
- void authenticationRequired(QNetworkReply *reply, QAuthenticator *auth);
- void proxyAuthenticationRequired(const QNetworkProxy &proxy, QAuthenticator *auth);
-#ifndef QT_NO_OPENSSL
- void sslErrors(QNetworkReply *reply, const QList<QSslError> &error);
-#endif
-};
-
-#endif // NETWORKACCESSMANAGER_H
diff --git a/examples/gestures/browser/passworddialog.ui b/examples/gestures/browser/passworddialog.ui
deleted file mode 100644
index 7c16658..0000000
--- a/examples/gestures/browser/passworddialog.ui
+++ /dev/null
@@ -1,111 +0,0 @@
-<ui version="4.0" >
- <class>PasswordDialog</class>
- <widget class="QDialog" name="PasswordDialog" >
- <property name="geometry" >
- <rect>
- <x>0</x>
- <y>0</y>
- <width>399</width>
- <height>148</height>
- </rect>
- </property>
- <property name="windowTitle" >
- <string>Authentication Required</string>
- </property>
- <layout class="QGridLayout" name="gridLayout" >
- <item row="0" column="0" colspan="2" >
- <layout class="QHBoxLayout" >
- <item>
- <widget class="QLabel" name="iconLabel" >
- <property name="text" >
- <string>DUMMY ICON</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QLabel" name="introLabel" >
- <property name="sizePolicy" >
- <sizepolicy vsizetype="MinimumExpanding" hsizetype="MinimumExpanding" >
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text" >
- <string>INTRO TEXT DUMMY</string>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item row="1" column="0" >
- <widget class="QLabel" name="label" >
- <property name="text" >
- <string>Username:</string>
- </property>
- </widget>
- </item>
- <item row="1" column="1" >
- <widget class="QLineEdit" name="userNameLineEdit" />
- </item>
- <item row="2" column="0" >
- <widget class="QLabel" name="lblPassword" >
- <property name="text" >
- <string>Password:</string>
- </property>
- </widget>
- </item>
- <item row="2" column="1" >
- <widget class="QLineEdit" name="passwordLineEdit" >
- <property name="echoMode" >
- <enum>QLineEdit::Password</enum>
- </property>
- </widget>
- </item>
- <item row="3" column="0" colspan="2" >
- <widget class="QDialogButtonBox" name="buttonBox" >
- <property name="orientation" >
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="standardButtons" >
- <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
- </property>
- </widget>
- </item>
- </layout>
- </widget>
- <resources/>
- <connections>
- <connection>
- <sender>buttonBox</sender>
- <signal>accepted()</signal>
- <receiver>PasswordDialog</receiver>
- <slot>accept()</slot>
- <hints>
- <hint type="sourcelabel" >
- <x>248</x>
- <y>254</y>
- </hint>
- <hint type="destinationlabel" >
- <x>157</x>
- <y>274</y>
- </hint>
- </hints>
- </connection>
- <connection>
- <sender>buttonBox</sender>
- <signal>rejected()</signal>
- <receiver>PasswordDialog</receiver>
- <slot>reject()</slot>
- <hints>
- <hint type="sourcelabel" >
- <x>316</x>
- <y>260</y>
- </hint>
- <hint type="destinationlabel" >
- <x>286</x>
- <y>274</y>
- </hint>
- </hints>
- </connection>
- </connections>
-</ui>
diff --git a/examples/gestures/browser/proxy.ui b/examples/gestures/browser/proxy.ui
deleted file mode 100644
index 62a8be6..0000000
--- a/examples/gestures/browser/proxy.ui
+++ /dev/null
@@ -1,104 +0,0 @@
-<ui version="4.0" >
- <class>ProxyDialog</class>
- <widget class="QDialog" name="ProxyDialog" >
- <property name="geometry" >
- <rect>
- <x>0</x>
- <y>0</y>
- <width>369</width>
- <height>144</height>
- </rect>
- </property>
- <property name="windowTitle" >
- <string>Proxy Authentication</string>
- </property>
- <layout class="QGridLayout" name="gridLayout" >
- <item row="0" column="0" >
- <widget class="QLabel" name="iconLabel" >
- <property name="text" >
- <string>ICON</string>
- </property>
- </widget>
- </item>
- <item row="0" column="1" colspan="2" >
- <widget class="QLabel" name="introLabel" >
- <property name="text" >
- <string>Connect to proxy</string>
- </property>
- <property name="wordWrap" >
- <bool>true</bool>
- </property>
- </widget>
- </item>
- <item row="1" column="0" colspan="2" >
- <widget class="QLabel" name="usernameLabel" >
- <property name="text" >
- <string>Username:</string>
- </property>
- </widget>
- </item>
- <item row="1" column="2" >
- <widget class="QLineEdit" name="userNameLineEdit" />
- </item>
- <item row="2" column="0" colspan="2" >
- <widget class="QLabel" name="passwordLabel" >
- <property name="text" >
- <string>Password:</string>
- </property>
- </widget>
- </item>
- <item row="2" column="2" >
- <widget class="QLineEdit" name="passwordLineEdit" >
- <property name="echoMode" >
- <enum>QLineEdit::Password</enum>
- </property>
- </widget>
- </item>
- <item row="3" column="0" colspan="3" >
- <widget class="QDialogButtonBox" name="buttonBox" >
- <property name="orientation" >
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="standardButtons" >
- <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
- </property>
- </widget>
- </item>
- </layout>
- </widget>
- <resources/>
- <connections>
- <connection>
- <sender>buttonBox</sender>
- <signal>accepted()</signal>
- <receiver>ProxyDialog</receiver>
- <slot>accept()</slot>
- <hints>
- <hint type="sourcelabel" >
- <x>248</x>
- <y>254</y>
- </hint>
- <hint type="destinationlabel" >
- <x>157</x>
- <y>274</y>
- </hint>
- </hints>
- </connection>
- <connection>
- <sender>buttonBox</sender>
- <signal>rejected()</signal>
- <receiver>ProxyDialog</receiver>
- <slot>reject()</slot>
- <hints>
- <hint type="sourcelabel" >
- <x>316</x>
- <y>260</y>
- </hint>
- <hint type="destinationlabel" >
- <x>286</x>
- <y>274</y>
- </hint>
- </hints>
- </connection>
- </connections>
-</ui>
diff --git a/examples/gestures/browser/searchlineedit.cpp b/examples/gestures/browser/searchlineedit.cpp
deleted file mode 100644
index e04010d..0000000
--- a/examples/gestures/browser/searchlineedit.cpp
+++ /dev/null
@@ -1,238 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "searchlineedit.h"
-
-#include <QtGui/QPainter>
-#include <QtGui/QMouseEvent>
-#include <QtGui/QMenu>
-#include <QtGui/QStyle>
-#include <QtGui/QStyleOptionFrameV2>
-
-ClearButton::ClearButton(QWidget *parent)
- : QAbstractButton(parent)
-{
- setCursor(Qt::ArrowCursor);
- setToolTip(tr("Clear"));
- setVisible(false);
- setFocusPolicy(Qt::NoFocus);
-}
-
-void ClearButton::paintEvent(QPaintEvent *event)
-{
- Q_UNUSED(event);
- QPainter painter(this);
- int height = this->height();
-
- painter.setRenderHint(QPainter::Antialiasing, true);
- QColor color = palette().color(QPalette::Mid);
- painter.setBrush(isDown()
- ? palette().color(QPalette::Dark)
- : palette().color(QPalette::Mid));
- painter.setPen(painter.brush().color());
- int size = width();
- int offset = size / 5;
- int radius = size - offset * 2;
- painter.drawEllipse(offset, offset, radius, radius);
-
- painter.setPen(palette().color(QPalette::Base));
- int border = offset * 2;
- painter.drawLine(border, border, width() - border, height - border);
- painter.drawLine(border, height - border, width() - border, border);
-}
-
-void ClearButton::textChanged(const QString &text)
-{
- setVisible(!text.isEmpty());
-}
-
-/*
- Search icon on the left hand side of the search widget
- When a menu is set a down arrow appears
- */
-class SearchButton : public QAbstractButton {
-public:
- SearchButton(QWidget *parent = 0);
- void paintEvent(QPaintEvent *event);
- QMenu *m_menu;
-
-protected:
- void mousePressEvent(QMouseEvent *event);
-};
-
-SearchButton::SearchButton(QWidget *parent)
- : QAbstractButton(parent),
- m_menu(0)
-{
- setObjectName(QLatin1String("SearchButton"));
- setCursor(Qt::ArrowCursor);
- setFocusPolicy(Qt::NoFocus);
-}
-
-void SearchButton::mousePressEvent(QMouseEvent *event)
-{
- if (m_menu && event->button() == Qt::LeftButton) {
- QWidget *p = parentWidget();
- if (p) {
- QPoint r = p->mapToGlobal(QPoint(0, p->height()));
- m_menu->exec(QPoint(r.x() + height() / 2, r.y()));
- }
- event->accept();
- }
- QAbstractButton::mousePressEvent(event);
-}
-
-void SearchButton::paintEvent(QPaintEvent *event)
-{
- Q_UNUSED(event);
- QPainterPath myPath;
-
- int radius = (height() / 5) * 2;
- QRect circle(height() / 3 - 1, height() / 4, radius, radius);
- myPath.addEllipse(circle);
-
- myPath.arcMoveTo(circle, 300);
- QPointF c = myPath.currentPosition();
- int diff = height() / 7;
- myPath.lineTo(qMin(width() - 2, (int)c.x() + diff), c.y() + diff);
-
- QPainter painter(this);
- painter.setRenderHint(QPainter::Antialiasing, true);
- painter.setPen(QPen(Qt::darkGray, 2));
- painter.drawPath(myPath);
-
- if (m_menu) {
- QPainterPath dropPath;
- dropPath.arcMoveTo(circle, 320);
- QPointF c = dropPath.currentPosition();
- c = QPointF(c.x() + 3.5, c.y() + 0.5);
- dropPath.moveTo(c);
- dropPath.lineTo(c.x() + 4, c.y());
- dropPath.lineTo(c.x() + 2, c.y() + 2);
- dropPath.closeSubpath();
- painter.setPen(Qt::darkGray);
- painter.setBrush(Qt::darkGray);
- painter.setRenderHint(QPainter::Antialiasing, false);
- painter.drawPath(dropPath);
- }
- painter.end();
-}
-
-/*
- SearchLineEdit is an enhanced QLineEdit
- - A Search icon on the left with optional menu
- - When there is no text and doesn't have focus an "inactive text" is displayed
- - When there is text a clear button is displayed on the right hand side
- */
-SearchLineEdit::SearchLineEdit(QWidget *parent) : ExLineEdit(parent),
- m_searchButton(new SearchButton(this))
-{
- connect(lineEdit(), SIGNAL(textChanged(const QString &)),
- this, SIGNAL(textChanged(const QString &)));
- setLeftWidget(m_searchButton);
- m_inactiveText = tr("Search");
-
- QSizePolicy policy = sizePolicy();
- setSizePolicy(QSizePolicy::Preferred, policy.verticalPolicy());
-}
-
-void SearchLineEdit::paintEvent(QPaintEvent *event)
-{
- if (lineEdit()->text().isEmpty() && !hasFocus() && !m_inactiveText.isEmpty()) {
- ExLineEdit::paintEvent(event);
- QStyleOptionFrameV2 panel;
- initStyleOption(&panel);
- QRect r = style()->subElementRect(QStyle::SE_LineEditContents, &panel, this);
- QFontMetrics fm = fontMetrics();
- int horizontalMargin = lineEdit()->x();
- QRect lineRect(horizontalMargin + r.x(), r.y() + (r.height() - fm.height() + 1) / 2,
- r.width() - 2 * horizontalMargin, fm.height());
- QPainter painter(this);
- painter.setPen(palette().brush(QPalette::Disabled, QPalette::Text).color());
- painter.drawText(lineRect, Qt::AlignLeft|Qt::AlignVCenter, m_inactiveText);
- } else {
- ExLineEdit::paintEvent(event);
- }
-}
-
-void SearchLineEdit::resizeEvent(QResizeEvent *event)
-{
- updateGeometries();
- ExLineEdit::resizeEvent(event);
-}
-
-void SearchLineEdit::updateGeometries()
-{
- int menuHeight = height();
- int menuWidth = menuHeight + 1;
- if (!m_searchButton->m_menu)
- menuWidth = (menuHeight / 5) * 4;
- m_searchButton->resize(QSize(menuWidth, menuHeight));
-}
-
-QString SearchLineEdit::inactiveText() const
-{
- return m_inactiveText;
-}
-
-void SearchLineEdit::setInactiveText(const QString &text)
-{
- m_inactiveText = text;
-}
-
-void SearchLineEdit::setMenu(QMenu *menu)
-{
- if (m_searchButton->m_menu)
- m_searchButton->m_menu->deleteLater();
- m_searchButton->m_menu = menu;
- updateGeometries();
-}
-
-QMenu *SearchLineEdit::menu() const
-{
- if (!m_searchButton->m_menu) {
- m_searchButton->m_menu = new QMenu(m_searchButton);
- if (isVisible())
- (const_cast<SearchLineEdit*>(this))->updateGeometries();
- }
- return m_searchButton->m_menu;
-}
-
diff --git a/examples/gestures/browser/searchlineedit.h b/examples/gestures/browser/searchlineedit.h
deleted file mode 100644
index ad37dc7..0000000
--- a/examples/gestures/browser/searchlineedit.h
+++ /dev/null
@@ -1,103 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef SEARCHLINEEDIT_H
-#define SEARCHLINEEDIT_H
-
-#include "urllineedit.h"
-
-#include <QtGui/QLineEdit>
-#include <QtGui/QAbstractButton>
-
-QT_BEGIN_NAMESPACE
-class QMenu;
-QT_END_NAMESPACE
-
-class SearchButton;
-
-/*
- Clear button on the right hand side of the search widget.
- Hidden by default
- "A circle with an X in it"
- */
-class ClearButton : public QAbstractButton
-{
- Q_OBJECT
-
-public:
- ClearButton(QWidget *parent = 0);
- void paintEvent(QPaintEvent *event);
-
-public slots:
- void textChanged(const QString &text);
-};
-
-
-class SearchLineEdit : public ExLineEdit
-{
- Q_OBJECT
- Q_PROPERTY(QString inactiveText READ inactiveText WRITE setInactiveText)
-
-signals:
- void textChanged(const QString &text);
-
-public:
- SearchLineEdit(QWidget *parent = 0);
-
- QString inactiveText() const;
- void setInactiveText(const QString &text);
-
- QMenu *menu() const;
- void setMenu(QMenu *menu);
-
-protected:
- void resizeEvent(QResizeEvent *event);
- void paintEvent(QPaintEvent *event);
-
-private:
- void updateGeometries();
-
- SearchButton *m_searchButton;
- QString m_inactiveText;
-};
-
-#endif // SEARCHLINEEDIT_H
-
diff --git a/examples/gestures/browser/settings.cpp b/examples/gestures/browser/settings.cpp
deleted file mode 100644
index 2576449..0000000
--- a/examples/gestures/browser/settings.cpp
+++ /dev/null
@@ -1,324 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "settings.h"
-
-#include "browserapplication.h"
-#include "browsermainwindow.h"
-#include "cookiejar.h"
-#include "history.h"
-#include "networkaccessmanager.h"
-#include "webview.h"
-
-#include <QtCore/QSettings>
-#include <QtGui/QtGui>
-#include <QtWebKit/QtWebKit>
-
-SettingsDialog::SettingsDialog(QWidget *parent)
- : QDialog(parent)
-{
- setupUi(this);
- connect(exceptionsButton, SIGNAL(clicked()), this, SLOT(showExceptions()));
- connect(setHomeToCurrentPageButton, SIGNAL(clicked()), this, SLOT(setHomeToCurrentPage()));
- connect(cookiesButton, SIGNAL(clicked()), this, SLOT(showCookies()));
- connect(standardFontButton, SIGNAL(clicked()), this, SLOT(chooseFont()));
- connect(fixedFontButton, SIGNAL(clicked()), this, SLOT(chooseFixedFont()));
-
- loadDefaults();
- loadFromSettings();
-}
-
-void SettingsDialog::loadDefaults()
-{
- QWebSettings *defaultSettings = QWebSettings::globalSettings();
- QString standardFontFamily = defaultSettings->fontFamily(QWebSettings::StandardFont);
- int standardFontSize = defaultSettings->fontSize(QWebSettings::DefaultFontSize);
- standardFont = QFont(standardFontFamily, standardFontSize);
- standardLabel->setText(QString(QLatin1String("%1 %2")).arg(standardFont.family()).arg(standardFont.pointSize()));
-
- QString fixedFontFamily = defaultSettings->fontFamily(QWebSettings::FixedFont);
- int fixedFontSize = defaultSettings->fontSize(QWebSettings::DefaultFixedFontSize);
- fixedFont = QFont(fixedFontFamily, fixedFontSize);
- fixedLabel->setText(QString(QLatin1String("%1 %2")).arg(fixedFont.family()).arg(fixedFont.pointSize()));
-
- downloadsLocation->setText(QDesktopServices::storageLocation(QDesktopServices::DesktopLocation));
-
- enableJavascript->setChecked(defaultSettings->testAttribute(QWebSettings::JavascriptEnabled));
- enablePlugins->setChecked(defaultSettings->testAttribute(QWebSettings::PluginsEnabled));
-}
-
-void SettingsDialog::loadFromSettings()
-{
- QSettings settings;
- settings.beginGroup(QLatin1String("MainWindow"));
- QString defaultHome = QLatin1String("http://qtsoftware.com");
- homeLineEdit->setText(settings.value(QLatin1String("home"), defaultHome).toString());
- settings.endGroup();
-
- settings.beginGroup(QLatin1String("history"));
- int historyExpire = settings.value(QLatin1String("historyExpire")).toInt();
- int idx = 0;
- switch (historyExpire) {
- case 1: idx = 0; break;
- case 7: idx = 1; break;
- case 14: idx = 2; break;
- case 30: idx = 3; break;
- case 365: idx = 4; break;
- case -1: idx = 5; break;
- default:
- idx = 5;
- }
- expireHistory->setCurrentIndex(idx);
- settings.endGroup();
-
- settings.beginGroup(QLatin1String("downloadmanager"));
- QString downloadDirectory = settings.value(QLatin1String("downloadDirectory"), downloadsLocation->text()).toString();
- downloadsLocation->setText(downloadDirectory);
- settings.endGroup();
-
- settings.beginGroup(QLatin1String("general"));
- openLinksIn->setCurrentIndex(settings.value(QLatin1String("openLinksIn"), openLinksIn->currentIndex()).toInt());
-
- settings.endGroup();
-
- // Appearance
- settings.beginGroup(QLatin1String("websettings"));
- fixedFont = qVariantValue<QFont>(settings.value(QLatin1String("fixedFont"), fixedFont));
- standardFont = qVariantValue<QFont>(settings.value(QLatin1String("standardFont"), standardFont));
-
- standardLabel->setText(QString(QLatin1String("%1 %2")).arg(standardFont.family()).arg(standardFont.pointSize()));
- fixedLabel->setText(QString(QLatin1String("%1 %2")).arg(fixedFont.family()).arg(fixedFont.pointSize()));
-
- enableJavascript->setChecked(settings.value(QLatin1String("enableJavascript"), enableJavascript->isChecked()).toBool());
- enablePlugins->setChecked(settings.value(QLatin1String("enablePlugins"), enablePlugins->isChecked()).toBool());
- userStyleSheet->setText(settings.value(QLatin1String("userStyleSheet")).toUrl().toString());
- settings.endGroup();
-
- // Privacy
- settings.beginGroup(QLatin1String("cookies"));
-
- CookieJar *jar = BrowserApplication::cookieJar();
- QByteArray value = settings.value(QLatin1String("acceptCookies"), QLatin1String("AcceptOnlyFromSitesNavigatedTo")).toByteArray();
- QMetaEnum acceptPolicyEnum = jar->staticMetaObject.enumerator(jar->staticMetaObject.indexOfEnumerator("AcceptPolicy"));
- CookieJar::AcceptPolicy acceptCookies = acceptPolicyEnum.keyToValue(value) == -1 ?
- CookieJar::AcceptOnlyFromSitesNavigatedTo :
- static_cast<CookieJar::AcceptPolicy>(acceptPolicyEnum.keyToValue(value));
- switch(acceptCookies) {
- case CookieJar::AcceptAlways:
- acceptCombo->setCurrentIndex(0);
- break;
- case CookieJar::AcceptNever:
- acceptCombo->setCurrentIndex(1);
- break;
- case CookieJar::AcceptOnlyFromSitesNavigatedTo:
- acceptCombo->setCurrentIndex(2);
- break;
- }
-
- value = settings.value(QLatin1String("keepCookiesUntil"), QLatin1String("Expire")).toByteArray();
- QMetaEnum keepPolicyEnum = jar->staticMetaObject.enumerator(jar->staticMetaObject.indexOfEnumerator("KeepPolicy"));
- CookieJar::KeepPolicy keepCookies = keepPolicyEnum.keyToValue(value) == -1 ?
- CookieJar::KeepUntilExpire :
- static_cast<CookieJar::KeepPolicy>(keepPolicyEnum.keyToValue(value));
- switch(keepCookies) {
- case CookieJar::KeepUntilExpire:
- keepUntilCombo->setCurrentIndex(0);
- break;
- case CookieJar::KeepUntilExit:
- keepUntilCombo->setCurrentIndex(1);
- break;
- case CookieJar::KeepUntilTimeLimit:
- keepUntilCombo->setCurrentIndex(2);
- break;
- }
- settings.endGroup();
-
-
- // Proxy
- settings.beginGroup(QLatin1String("proxy"));
- proxySupport->setChecked(settings.value(QLatin1String("enabled"), false).toBool());
- proxyType->setCurrentIndex(settings.value(QLatin1String("type"), 0).toInt());
- proxyHostName->setText(settings.value(QLatin1String("hostName")).toString());
- proxyPort->setValue(settings.value(QLatin1String("port"), 1080).toInt());
- proxyUserName->setText(settings.value(QLatin1String("userName")).toString());
- proxyPassword->setText(settings.value(QLatin1String("password")).toString());
- settings.endGroup();
-}
-
-void SettingsDialog::saveToSettings()
-{
- QSettings settings;
- settings.beginGroup(QLatin1String("MainWindow"));
- settings.setValue(QLatin1String("home"), homeLineEdit->text());
- settings.endGroup();
-
- settings.beginGroup(QLatin1String("general"));
- settings.setValue(QLatin1String("openLinksIn"), openLinksIn->currentIndex());
- settings.endGroup();
-
- settings.beginGroup(QLatin1String("history"));
- int historyExpire = expireHistory->currentIndex();
- int idx = -1;
- switch (historyExpire) {
- case 0: idx = 1; break;
- case 1: idx = 7; break;
- case 2: idx = 14; break;
- case 3: idx = 30; break;
- case 4: idx = 365; break;
- case 5: idx = -1; break;
- }
- settings.setValue(QLatin1String("historyExpire"), idx);
- settings.endGroup();
-
- // Appearance
- settings.beginGroup(QLatin1String("websettings"));
- settings.setValue(QLatin1String("fixedFont"), fixedFont);
- settings.setValue(QLatin1String("standardFont"), standardFont);
- settings.setValue(QLatin1String("enableJavascript"), enableJavascript->isChecked());
- settings.setValue(QLatin1String("enablePlugins"), enablePlugins->isChecked());
- QString userStyleSheetString = userStyleSheet->text();
- if (QFile::exists(userStyleSheetString))
- settings.setValue(QLatin1String("userStyleSheet"), QUrl::fromLocalFile(userStyleSheetString));
- else
- settings.setValue(QLatin1String("userStyleSheet"), QUrl(userStyleSheetString));
- settings.endGroup();
-
- //Privacy
- settings.beginGroup(QLatin1String("cookies"));
-
- CookieJar::KeepPolicy keepCookies;
- switch(acceptCombo->currentIndex()) {
- default:
- case 0:
- keepCookies = CookieJar::KeepUntilExpire;
- break;
- case 1:
- keepCookies = CookieJar::KeepUntilExit;
- break;
- case 2:
- keepCookies = CookieJar::KeepUntilTimeLimit;
- break;
- }
- CookieJar *jar = BrowserApplication::cookieJar();
- QMetaEnum acceptPolicyEnum = jar->staticMetaObject.enumerator(jar->staticMetaObject.indexOfEnumerator("AcceptPolicy"));
- settings.setValue(QLatin1String("acceptCookies"), QLatin1String(acceptPolicyEnum.valueToKey(keepCookies)));
-
- CookieJar::KeepPolicy keepPolicy;
- switch(keepUntilCombo->currentIndex()) {
- default:
- case 0:
- keepPolicy = CookieJar::KeepUntilExpire;
- break;
- case 1:
- keepPolicy = CookieJar::KeepUntilExit;
- break;
- case 2:
- keepPolicy = CookieJar::KeepUntilTimeLimit;
- break;
- }
-
- QMetaEnum keepPolicyEnum = jar->staticMetaObject.enumerator(jar->staticMetaObject.indexOfEnumerator("KeepPolicy"));
- settings.setValue(QLatin1String("keepCookiesUntil"), QLatin1String(keepPolicyEnum.valueToKey(keepPolicy)));
-
- settings.endGroup();
-
- // proxy
- settings.beginGroup(QLatin1String("proxy"));
- settings.setValue(QLatin1String("enabled"), proxySupport->isChecked());
- settings.setValue(QLatin1String("type"), proxyType->currentIndex());
- settings.setValue(QLatin1String("hostName"), proxyHostName->text());
- settings.setValue(QLatin1String("port"), proxyPort->text());
- settings.setValue(QLatin1String("userName"), proxyUserName->text());
- settings.setValue(QLatin1String("password"), proxyPassword->text());
- settings.endGroup();
-
- BrowserApplication::instance()->loadSettings();
- BrowserApplication::networkAccessManager()->loadSettings();
- BrowserApplication::cookieJar()->loadSettings();
- BrowserApplication::historyManager()->loadSettings();
-}
-
-void SettingsDialog::accept()
-{
- saveToSettings();
- QDialog::accept();
-}
-
-void SettingsDialog::showCookies()
-{
- CookiesDialog *dialog = new CookiesDialog(BrowserApplication::cookieJar(), this);
- dialog->exec();
-}
-
-void SettingsDialog::showExceptions()
-{
- CookiesExceptionsDialog *dialog = new CookiesExceptionsDialog(BrowserApplication::cookieJar(), this);
- dialog->exec();
-}
-
-void SettingsDialog::chooseFont()
-{
- bool ok;
- QFont font = QFontDialog::getFont(&ok, standardFont, this);
- if ( ok ) {
- standardFont = font;
- standardLabel->setText(QString(QLatin1String("%1 %2")).arg(font.family()).arg(font.pointSize()));
- }
-}
-
-void SettingsDialog::chooseFixedFont()
-{
- bool ok;
- QFont font = QFontDialog::getFont(&ok, fixedFont, this);
- if ( ok ) {
- fixedFont = font;
- fixedLabel->setText(QString(QLatin1String("%1 %2")).arg(font.family()).arg(font.pointSize()));
- }
-}
-
-void SettingsDialog::setHomeToCurrentPage()
-{
- BrowserMainWindow *mw = static_cast<BrowserMainWindow*>(parent());
- WebView *webView = mw->currentTab();
- if (webView)
- homeLineEdit->setText(webView->url().toString());
-}
-
diff --git a/examples/gestures/browser/settings.h b/examples/gestures/browser/settings.h
deleted file mode 100644
index 900be7b..0000000
--- a/examples/gestures/browser/settings.h
+++ /dev/null
@@ -1,74 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef SETTINGS_H
-#define SETTINGS_H
-
-#include <QtGui/QDialog>
-#include "ui_settings.h"
-
-class SettingsDialog : public QDialog, public Ui_Settings
-{
- Q_OBJECT
-
-public:
- SettingsDialog(QWidget *parent = 0);
- void accept();
-
-private slots:
- void loadDefaults();
- void loadFromSettings();
- void saveToSettings();
-
- void setHomeToCurrentPage();
- void showCookies();
- void showExceptions();
-
- void chooseFont();
- void chooseFixedFont();
-
-private:
- QFont standardFont;
- QFont fixedFont;
-};
-
-#endif // SETTINGS_H
-
diff --git a/examples/gestures/browser/settings.ui b/examples/gestures/browser/settings.ui
deleted file mode 100644
index 3491ce0..0000000
--- a/examples/gestures/browser/settings.ui
+++ /dev/null
@@ -1,614 +0,0 @@
-<ui version="4.0" >
- <class>Settings</class>
- <widget class="QDialog" name="Settings" >
- <property name="geometry" >
- <rect>
- <x>0</x>
- <y>0</y>
- <width>657</width>
- <height>322</height>
- </rect>
- </property>
- <property name="windowTitle" >
- <string>Settings</string>
- </property>
- <layout class="QGridLayout" name="gridLayout" >
- <item row="2" column="0" >
- <widget class="QDialogButtonBox" name="buttonBox" >
- <property name="orientation" >
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="standardButtons" >
- <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
- </property>
- </widget>
- </item>
- <item row="1" column="0" >
- <widget class="QTabWidget" name="tabWidget" >
- <property name="currentIndex" >
- <number>0</number>
- </property>
- <widget class="QWidget" name="tab" >
- <property name="geometry" >
- <rect>
- <x>0</x>
- <y>0</y>
- <width>627</width>
- <height>243</height>
- </rect>
- </property>
- <attribute name="title" >
- <string>General</string>
- </attribute>
- <layout class="QGridLayout" name="gridLayout_4" >
- <item row="0" column="0" >
- <widget class="QLabel" name="label_3" >
- <property name="text" >
- <string>Home:</string>
- </property>
- <property name="alignment" >
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item row="0" column="1" colspan="2" >
- <widget class="QLineEdit" name="homeLineEdit" />
- </item>
- <item row="1" column="1" >
- <widget class="QPushButton" name="setHomeToCurrentPageButton" >
- <property name="text" >
- <string>Set to current page</string>
- </property>
- </widget>
- </item>
- <item row="1" column="2" >
- <spacer name="horizontalSpacer" >
- <property name="orientation" >
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" stdset="0" >
- <size>
- <width>280</width>
- <height>18</height>
- </size>
- </property>
- </spacer>
- </item>
- <item row="2" column="0" >
- <widget class="QLabel" name="label_4" >
- <property name="text" >
- <string>Remove history items:</string>
- </property>
- <property name="alignment" >
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item row="2" column="1" colspan="2" >
- <widget class="QComboBox" name="expireHistory" >
- <item>
- <property name="text" >
- <string>After one day</string>
- </property>
- </item>
- <item>
- <property name="text" >
- <string>After one week</string>
- </property>
- </item>
- <item>
- <property name="text" >
- <string>After two weeks</string>
- </property>
- </item>
- <item>
- <property name="text" >
- <string>After one month</string>
- </property>
- </item>
- <item>
- <property name="text" >
- <string>After one year</string>
- </property>
- </item>
- <item>
- <property name="text" >
- <string>Manually</string>
- </property>
- </item>
- </widget>
- </item>
- <item row="3" column="0" >
- <widget class="QLabel" name="label_7" >
- <property name="text" >
- <string>Save downloads to:</string>
- </property>
- <property name="alignment" >
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item row="3" column="1" colspan="2" >
- <widget class="QLineEdit" name="downloadsLocation" />
- </item>
- <item row="4" column="0" >
- <widget class="QLabel" name="label_8" >
- <property name="text" >
- <string>Open links from applications:</string>
- </property>
- <property name="alignment" >
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item row="4" column="1" colspan="2" >
- <widget class="QComboBox" name="openLinksIn" >
- <item>
- <property name="text" >
- <string>In a tab in the current window</string>
- </property>
- </item>
- <item>
- <property name="text" >
- <string>In a new window</string>
- </property>
- </item>
- </widget>
- </item>
- <item row="5" column="1" colspan="2" >
- <spacer>
- <property name="orientation" >
- <enum>Qt::Vertical</enum>
- </property>
- <property name="sizeHint" stdset="0" >
- <size>
- <width>391</width>
- <height>262</height>
- </size>
- </property>
- </spacer>
- </item>
- </layout>
- </widget>
- <widget class="QWidget" name="tab_3" >
- <property name="geometry" >
- <rect>
- <x>0</x>
- <y>0</y>
- <width>627</width>
- <height>243</height>
- </rect>
- </property>
- <attribute name="title" >
- <string>Appearance</string>
- </attribute>
- <layout class="QGridLayout" name="gridLayout_3" >
- <item row="0" column="0" >
- <widget class="QLabel" name="label_5" >
- <property name="text" >
- <string>Standard font:</string>
- </property>
- <property name="alignment" >
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item row="0" column="1" >
- <widget class="QLabel" name="standardLabel" >
- <property name="sizePolicy" >
- <sizepolicy vsizetype="Preferred" hsizetype="Expanding" >
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="frameShape" >
- <enum>QFrame::StyledPanel</enum>
- </property>
- <property name="text" >
- <string>Times 16</string>
- </property>
- <property name="alignment" >
- <set>Qt::AlignCenter</set>
- </property>
- </widget>
- </item>
- <item row="0" column="2" >
- <widget class="QPushButton" name="standardFontButton" >
- <property name="text" >
- <string>Select...</string>
- </property>
- </widget>
- </item>
- <item row="1" column="0" >
- <widget class="QLabel" name="label_6" >
- <property name="text" >
- <string>Fixed-width font:</string>
- </property>
- <property name="alignment" >
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item row="1" column="1" >
- <widget class="QLabel" name="fixedLabel" >
- <property name="frameShape" >
- <enum>QFrame::StyledPanel</enum>
- </property>
- <property name="text" >
- <string>Courier 13</string>
- </property>
- <property name="alignment" >
- <set>Qt::AlignCenter</set>
- </property>
- </widget>
- </item>
- <item row="1" column="2" >
- <widget class="QPushButton" name="fixedFontButton" >
- <property name="text" >
- <string>Select...</string>
- </property>
- </widget>
- </item>
- <item row="2" column="1" >
- <spacer name="verticalSpacer" >
- <property name="orientation" >
- <enum>Qt::Vertical</enum>
- </property>
- <property name="sizeHint" stdset="0" >
- <size>
- <width>20</width>
- <height>93</height>
- </size>
- </property>
- </spacer>
- </item>
- </layout>
- </widget>
- <widget class="QWidget" name="tab_2" >
- <property name="geometry" >
- <rect>
- <x>0</x>
- <y>0</y>
- <width>627</width>
- <height>243</height>
- </rect>
- </property>
- <attribute name="title" >
- <string>Privacy</string>
- </attribute>
- <layout class="QVBoxLayout" name="verticalLayout_3" >
- <item>
- <widget class="QGroupBox" name="groupBox" >
- <property name="title" >
- <string>Web Content</string>
- </property>
- <layout class="QVBoxLayout" name="verticalLayout_2" >
- <item>
- <widget class="QCheckBox" name="enablePlugins" >
- <property name="text" >
- <string>Enable Plugins</string>
- </property>
- <property name="checked" >
- <bool>true</bool>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QCheckBox" name="enableJavascript" >
- <property name="text" >
- <string>Enable Javascript</string>
- </property>
- <property name="checked" >
- <bool>true</bool>
- </property>
- </widget>
- </item>
- </layout>
- </widget>
- </item>
- <item>
- <widget class="QGroupBox" name="cookiesGroupBox" >
- <property name="title" >
- <string>Cookies</string>
- </property>
- <layout class="QGridLayout" >
- <item row="0" column="0" >
- <widget class="QLabel" name="label_2" >
- <property name="text" >
- <string>Accept Cookies:</string>
- </property>
- <property name="alignment" >
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item row="0" column="1" >
- <widget class="QComboBox" name="acceptCombo" >
- <item>
- <property name="text" >
- <string>Always</string>
- </property>
- </item>
- <item>
- <property name="text" >
- <string>Never</string>
- </property>
- </item>
- <item>
- <property name="text" >
- <string>Only from sites you navigate to</string>
- </property>
- </item>
- </widget>
- </item>
- <item row="0" column="2" >
- <widget class="QPushButton" name="exceptionsButton" >
- <property name="text" >
- <string>Exceptions...</string>
- </property>
- </widget>
- </item>
- <item row="1" column="0" >
- <widget class="QLabel" name="label" >
- <property name="text" >
- <string>Keep until:</string>
- </property>
- <property name="alignment" >
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item row="1" column="1" >
- <widget class="QComboBox" name="keepUntilCombo" >
- <item>
- <property name="text" >
- <string>They expire</string>
- </property>
- </item>
- <item>
- <property name="text" >
- <string>I exit the application</string>
- </property>
- </item>
- <item>
- <property name="text" >
- <string>At most 90 days</string>
- </property>
- </item>
- </widget>
- </item>
- <item row="1" column="2" >
- <widget class="QPushButton" name="cookiesButton" >
- <property name="text" >
- <string>Cookies...</string>
- </property>
- </widget>
- </item>
- </layout>
- </widget>
- </item>
- <item>
- <spacer>
- <property name="orientation" >
- <enum>Qt::Vertical</enum>
- </property>
- <property name="sizeHint" stdset="0" >
- <size>
- <width>371</width>
- <height>177</height>
- </size>
- </property>
- </spacer>
- </item>
- </layout>
- </widget>
- <widget class="QWidget" name="tab_4" >
- <property name="geometry" >
- <rect>
- <x>0</x>
- <y>0</y>
- <width>627</width>
- <height>243</height>
- </rect>
- </property>
- <attribute name="title" >
- <string>Proxy</string>
- </attribute>
- <layout class="QVBoxLayout" name="verticalLayout" >
- <item>
- <widget class="QGroupBox" name="proxySupport" >
- <property name="title" >
- <string>Enable proxy</string>
- </property>
- <property name="checkable" >
- <bool>true</bool>
- </property>
- <layout class="QGridLayout" name="gridLayout_6" >
- <item row="0" column="0" >
- <widget class="QLabel" name="label_9" >
- <property name="text" >
- <string>Type:</string>
- </property>
- <property name="alignment" >
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item row="0" column="1" colspan="2" >
- <widget class="QComboBox" name="proxyType" >
- <item>
- <property name="text" >
- <string>Socks5</string>
- </property>
- </item>
- <item>
- <property name="text" >
- <string>Http</string>
- </property>
- </item>
- </widget>
- </item>
- <item row="1" column="0" >
- <widget class="QLabel" name="label_10" >
- <property name="text" >
- <string>Host:</string>
- </property>
- <property name="alignment" >
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item row="1" column="1" colspan="2" >
- <widget class="QLineEdit" name="proxyHostName" />
- </item>
- <item row="2" column="0" >
- <widget class="QLabel" name="label_11" >
- <property name="text" >
- <string>Port:</string>
- </property>
- <property name="alignment" >
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item row="2" column="1" >
- <widget class="QSpinBox" name="proxyPort" >
- <property name="maximum" >
- <number>10000</number>
- </property>
- <property name="value" >
- <number>1080</number>
- </property>
- </widget>
- </item>
- <item row="2" column="2" >
- <spacer name="horizontalSpacer_2" >
- <property name="orientation" >
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" stdset="0" >
- <size>
- <width>293</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- <item row="3" column="0" >
- <widget class="QLabel" name="label_12" >
- <property name="text" >
- <string>User Name:</string>
- </property>
- <property name="alignment" >
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item row="3" column="1" colspan="2" >
- <widget class="QLineEdit" name="proxyUserName" />
- </item>
- <item row="4" column="0" >
- <widget class="QLabel" name="label_13" >
- <property name="text" >
- <string>Password:</string>
- </property>
- <property name="alignment" >
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item row="4" column="1" colspan="2" >
- <widget class="QLineEdit" name="proxyPassword" >
- <property name="echoMode" >
- <enum>QLineEdit::Password</enum>
- </property>
- </widget>
- </item>
- <item row="5" column="0" >
- <spacer name="verticalSpacer_2" >
- <property name="orientation" >
- <enum>Qt::Vertical</enum>
- </property>
- <property name="sizeHint" stdset="0" >
- <size>
- <width>20</width>
- <height>8</height>
- </size>
- </property>
- </spacer>
- </item>
- </layout>
- </widget>
- </item>
- </layout>
- </widget>
- <widget class="QWidget" name="tab_5" >
- <attribute name="title" >
- <string>Advanced</string>
- </attribute>
- <layout class="QGridLayout" name="gridLayout_2" >
- <item row="0" column="0" >
- <widget class="QLabel" name="label_14" >
- <property name="text" >
- <string>Style Sheet:</string>
- </property>
- </widget>
- </item>
- <item row="0" column="1" >
- <widget class="QLineEdit" name="userStyleSheet" />
- </item>
- <item row="1" column="1" >
- <spacer name="verticalSpacer_3" >
- <property name="orientation" >
- <enum>Qt::Vertical</enum>
- </property>
- <property name="sizeHint" stdset="0" >
- <size>
- <width>20</width>
- <height>176</height>
- </size>
- </property>
- </spacer>
- </item>
- </layout>
- </widget>
- </widget>
- </item>
- </layout>
- </widget>
- <resources/>
- <connections>
- <connection>
- <sender>buttonBox</sender>
- <signal>accepted()</signal>
- <receiver>Settings</receiver>
- <slot>accept()</slot>
- <hints>
- <hint type="sourcelabel" >
- <x>248</x>
- <y>254</y>
- </hint>
- <hint type="destinationlabel" >
- <x>157</x>
- <y>274</y>
- </hint>
- </hints>
- </connection>
- <connection>
- <sender>buttonBox</sender>
- <signal>rejected()</signal>
- <receiver>Settings</receiver>
- <slot>reject()</slot>
- <hints>
- <hint type="sourcelabel" >
- <x>316</x>
- <y>260</y>
- </hint>
- <hint type="destinationlabel" >
- <x>286</x>
- <y>274</y>
- </hint>
- </hints>
- </connection>
- </connections>
-</ui>
diff --git a/examples/gestures/browser/squeezelabel.cpp b/examples/gestures/browser/squeezelabel.cpp
deleted file mode 100644
index 3247330..0000000
--- a/examples/gestures/browser/squeezelabel.cpp
+++ /dev/null
@@ -1,61 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "squeezelabel.h"
-
-SqueezeLabel::SqueezeLabel(QWidget *parent) : QLabel(parent)
-{
-}
-
-void SqueezeLabel::paintEvent(QPaintEvent *event)
-{
- QFontMetrics fm = fontMetrics();
- if (fm.width(text()) > contentsRect().width()) {
- QString elided = fm.elidedText(text(), Qt::ElideMiddle, width());
- QString oldText = text();
- setText(elided);
- QLabel::paintEvent(event);
- setText(oldText);
- } else {
- QLabel::paintEvent(event);
- }
-}
-
diff --git a/examples/gestures/browser/squeezelabel.h b/examples/gestures/browser/squeezelabel.h
deleted file mode 100644
index 550a275..0000000
--- a/examples/gestures/browser/squeezelabel.h
+++ /dev/null
@@ -1,60 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef SQUEEZELABEL_H
-#define SQUEEZELABEL_H
-
-#include <QtGui/QLabel>
-
-class SqueezeLabel : public QLabel
-{
- Q_OBJECT
-
-public:
- SqueezeLabel(QWidget *parent = 0);
-
-protected:
- void paintEvent(QPaintEvent *event);
-
-};
-
-#endif // SQUEEZELABEL_H
-
diff --git a/examples/gestures/browser/tabwidget.cpp b/examples/gestures/browser/tabwidget.cpp
deleted file mode 100644
index 67714e4..0000000
--- a/examples/gestures/browser/tabwidget.cpp
+++ /dev/null
@@ -1,830 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "tabwidget.h"
-
-#include "browserapplication.h"
-#include "browsermainwindow.h"
-#include "history.h"
-#include "urllineedit.h"
-#include "webview.h"
-
-#include <QtGui/QClipboard>
-#include <QtGui/QCompleter>
-#include <QtGui/QListView>
-#include <QtGui/QMenu>
-#include <QtGui/QMessageBox>
-#include <QtGui/QMouseEvent>
-#include <QtGui/QStackedWidget>
-#include <QtGui/QStyle>
-#include <QtGui/QToolButton>
-
-#include <QtCore/QDebug>
-
-TabBar::TabBar(QWidget *parent)
- : QTabBar(parent)
-{
- setContextMenuPolicy(Qt::CustomContextMenu);
- setAcceptDrops(true);
- connect(this, SIGNAL(customContextMenuRequested(const QPoint &)),
- this, SLOT(contextMenuRequested(const QPoint &)));
-
- QString alt = QLatin1String("Alt+%1");
- for (int i = 1; i <= 10; ++i) {
- int key = i;
- if (key == 10)
- key = 0;
- QShortcut *shortCut = new QShortcut(alt.arg(key), this);
- m_tabShortcuts.append(shortCut);
- connect(shortCut, SIGNAL(activated()), this, SLOT(selectTabAction()));
- }
- setTabsClosable(true);
- connect(this, SIGNAL(tabCloseRequested(int)),
- this, SIGNAL(closeTab(int)));
- setSelectionBehaviorOnRemove(QTabBar::SelectPreviousTab);
- setMovable(true);
-}
-
-void TabBar::selectTabAction()
-{
- if (QShortcut *shortCut = qobject_cast<QShortcut*>(sender())) {
- int index = m_tabShortcuts.indexOf(shortCut);
- if (index == 0)
- index = 10;
- setCurrentIndex(index);
- }
-}
-
-void TabBar::contextMenuRequested(const QPoint &position)
-{
- QMenu menu;
- menu.addAction(tr("New &Tab"), this, SIGNAL(newTab()), QKeySequence::AddTab);
- int index = tabAt(position);
- if (-1 != index) {
- QAction *action = menu.addAction(tr("Clone Tab"),
- this, SLOT(cloneTab()));
- action->setData(index);
-
- menu.addSeparator();
-
- action = menu.addAction(tr("&Close Tab"),
- this, SLOT(closeTab()), QKeySequence::Close);
- action->setData(index);
-
- action = menu.addAction(tr("Close &Other Tabs"),
- this, SLOT(closeOtherTabs()));
- action->setData(index);
-
- menu.addSeparator();
-
- action = menu.addAction(tr("Reload Tab"),
- this, SLOT(reloadTab()), QKeySequence::Refresh);
- action->setData(index);
- } else {
- menu.addSeparator();
- }
- menu.addAction(tr("Reload All Tabs"), this, SIGNAL(reloadAllTabs()));
- menu.exec(QCursor::pos());
-}
-
-void TabBar::cloneTab()
-{
- if (QAction *action = qobject_cast<QAction*>(sender())) {
- int index = action->data().toInt();
- emit cloneTab(index);
- }
-}
-
-void TabBar::closeTab()
-{
- if (QAction *action = qobject_cast<QAction*>(sender())) {
- int index = action->data().toInt();
- emit closeTab(index);
- }
-}
-
-void TabBar::closeOtherTabs()
-{
- if (QAction *action = qobject_cast<QAction*>(sender())) {
- int index = action->data().toInt();
- emit closeOtherTabs(index);
- }
-}
-
-void TabBar::mousePressEvent(QMouseEvent *event)
-{
- if (event->button() == Qt::LeftButton)
- m_dragStartPos = event->pos();
- QTabBar::mousePressEvent(event);
-}
-
-void TabBar::mouseMoveEvent(QMouseEvent *event)
-{
- if (event->buttons() == Qt::LeftButton) {
- int diffX = event->pos().x() - m_dragStartPos.x();
- int diffY = event->pos().y() - m_dragStartPos.y();
- if ((event->pos() - m_dragStartPos).manhattanLength() > QApplication::startDragDistance()
- && diffX < 3 && diffX > -3
- && diffY < -10) {
- QDrag *drag = new QDrag(this);
- QMimeData *mimeData = new QMimeData;
- QList<QUrl> urls;
- int index = tabAt(event->pos());
- QUrl url = tabData(index).toUrl();
- urls.append(url);
- mimeData->setUrls(urls);
- mimeData->setText(tabText(index));
- mimeData->setData(QLatin1String("action"), "tab-reordering");
- drag->setMimeData(mimeData);
- drag->exec();
- }
- }
- QTabBar::mouseMoveEvent(event);
-}
-
-// When index is -1 index chooses the current tab
-void TabWidget::reloadTab(int index)
-{
- if (index < 0)
- index = currentIndex();
- if (index < 0 || index >= count())
- return;
-
- QWidget *widget = this->widget(index);
- if (WebView *tab = qobject_cast<WebView*>(widget))
- tab->reload();
-}
-
-void TabBar::reloadTab()
-{
- if (QAction *action = qobject_cast<QAction*>(sender())) {
- int index = action->data().toInt();
- emit reloadTab(index);
- }
-}
-
-TabWidget::TabWidget(QWidget *parent)
- : QTabWidget(parent)
- , m_recentlyClosedTabsAction(0)
- , m_newTabAction(0)
- , m_closeTabAction(0)
- , m_nextTabAction(0)
- , m_previousTabAction(0)
- , m_recentlyClosedTabsMenu(0)
- , m_lineEditCompleter(0)
- , m_lineEdits(0)
- , m_tabBar(new TabBar(this))
-{
- setElideMode(Qt::ElideRight);
-
- connect(m_tabBar, SIGNAL(newTab()), this, SLOT(newTab()));
- connect(m_tabBar, SIGNAL(closeTab(int)), this, SLOT(closeTab(int)));
- connect(m_tabBar, SIGNAL(cloneTab(int)), this, SLOT(cloneTab(int)));
- connect(m_tabBar, SIGNAL(closeOtherTabs(int)), this, SLOT(closeOtherTabs(int)));
- connect(m_tabBar, SIGNAL(reloadTab(int)), this, SLOT(reloadTab(int)));
- connect(m_tabBar, SIGNAL(reloadAllTabs()), this, SLOT(reloadAllTabs()));
- connect(m_tabBar, SIGNAL(tabMoved(int, int)), this, SLOT(moveTab(int, int)));
- setTabBar(m_tabBar);
- setDocumentMode(true);
-
- // Actions
- m_newTabAction = new QAction(QIcon(QLatin1String(":addtab.png")), tr("New &Tab"), this);
- m_newTabAction->setShortcuts(QKeySequence::AddTab);
- m_newTabAction->setIconVisibleInMenu(false);
- connect(m_newTabAction, SIGNAL(triggered()), this, SLOT(newTab()));
-
- m_closeTabAction = new QAction(QIcon(QLatin1String(":closetab.png")), tr("&Close Tab"), this);
- m_closeTabAction->setShortcuts(QKeySequence::Close);
- m_closeTabAction->setIconVisibleInMenu(false);
- connect(m_closeTabAction, SIGNAL(triggered()), this, SLOT(closeTab()));
-
- m_nextTabAction = new QAction(tr("Show Next Tab"), this);
- QList<QKeySequence> shortcuts;
- shortcuts.append(QKeySequence(Qt::CTRL | Qt::Key_BraceRight));
- shortcuts.append(QKeySequence(Qt::CTRL | Qt::Key_PageDown));
- shortcuts.append(QKeySequence(Qt::CTRL | Qt::Key_BracketRight));
- shortcuts.append(QKeySequence(Qt::CTRL | Qt::Key_Less));
- m_nextTabAction->setShortcuts(shortcuts);
- connect(m_nextTabAction, SIGNAL(triggered()), this, SLOT(nextTab()));
-
- m_previousTabAction = new QAction(tr("Show Previous Tab"), this);
- shortcuts.clear();
- shortcuts.append(QKeySequence(Qt::CTRL | Qt::Key_BraceLeft));
- shortcuts.append(QKeySequence(Qt::CTRL | Qt::Key_PageUp));
- shortcuts.append(QKeySequence(Qt::CTRL | Qt::Key_BracketLeft));
- shortcuts.append(QKeySequence(Qt::CTRL | Qt::Key_Greater));
- m_previousTabAction->setShortcuts(shortcuts);
- connect(m_previousTabAction, SIGNAL(triggered()), this, SLOT(previousTab()));
-
- m_recentlyClosedTabsMenu = new QMenu(this);
- connect(m_recentlyClosedTabsMenu, SIGNAL(aboutToShow()),
- this, SLOT(aboutToShowRecentTabsMenu()));
- connect(m_recentlyClosedTabsMenu, SIGNAL(triggered(QAction *)),
- this, SLOT(aboutToShowRecentTriggeredAction(QAction *)));
- m_recentlyClosedTabsAction = new QAction(tr("Recently Closed Tabs"), this);
- m_recentlyClosedTabsAction->setMenu(m_recentlyClosedTabsMenu);
- m_recentlyClosedTabsAction->setEnabled(false);
-
- connect(this, SIGNAL(currentChanged(int)),
- this, SLOT(currentChanged(int)));
-
- m_lineEdits = new QStackedWidget(this);
-}
-
-void TabWidget::clear()
-{
- // clear the recently closed tabs
- m_recentlyClosedTabs.clear();
- // clear the line edit history
- for (int i = 0; i < m_lineEdits->count(); ++i) {
- QLineEdit *qLineEdit = lineEdit(i);
- qLineEdit->setText(qLineEdit->text());
- }
-}
-
-void TabWidget::moveTab(int fromIndex, int toIndex)
-{
- QWidget *lineEdit = m_lineEdits->widget(fromIndex);
- m_lineEdits->removeWidget(lineEdit);
- m_lineEdits->insertWidget(toIndex, lineEdit);
-}
-
-void TabWidget::addWebAction(QAction *action, QWebPage::WebAction webAction)
-{
- if (!action)
- return;
- m_actions.append(new WebActionMapper(action, webAction, this));
-}
-
-void TabWidget::currentChanged(int index)
-{
- WebView *webView = this->webView(index);
- if (!webView)
- return;
-
- Q_ASSERT(m_lineEdits->count() == count());
-
- WebView *oldWebView = this->webView(m_lineEdits->currentIndex());
- if (oldWebView) {
- disconnect(oldWebView, SIGNAL(statusBarMessage(const QString&)),
- this, SIGNAL(showStatusBarMessage(const QString&)));
- disconnect(oldWebView->page(), SIGNAL(linkHovered(const QString&, const QString&, const QString&)),
- this, SIGNAL(linkHovered(const QString&)));
- disconnect(oldWebView, SIGNAL(loadProgress(int)),
- this, SIGNAL(loadProgress(int)));
- }
-
- connect(webView, SIGNAL(statusBarMessage(const QString&)),
- this, SIGNAL(showStatusBarMessage(const QString&)));
- connect(webView->page(), SIGNAL(linkHovered(const QString&, const QString&, const QString&)),
- this, SIGNAL(linkHovered(const QString&)));
- connect(webView, SIGNAL(loadProgress(int)),
- this, SIGNAL(loadProgress(int)));
-
- for (int i = 0; i < m_actions.count(); ++i) {
- WebActionMapper *mapper = m_actions[i];
- mapper->updateCurrent(webView->page());
- }
- emit setCurrentTitle(webView->title());
- m_lineEdits->setCurrentIndex(index);
- emit loadProgress(webView->progress());
- emit showStatusBarMessage(webView->lastStatusBarText());
- if (webView->url().isEmpty())
- m_lineEdits->currentWidget()->setFocus();
- else
- webView->setFocus();
-}
-
-QAction *TabWidget::newTabAction() const
-{
- return m_newTabAction;
-}
-
-QAction *TabWidget::closeTabAction() const
-{
- return m_closeTabAction;
-}
-
-QAction *TabWidget::recentlyClosedTabsAction() const
-{
- return m_recentlyClosedTabsAction;
-}
-
-QAction *TabWidget::nextTabAction() const
-{
- return m_nextTabAction;
-}
-
-QAction *TabWidget::previousTabAction() const
-{
- return m_previousTabAction;
-}
-
-QWidget *TabWidget::lineEditStack() const
-{
- return m_lineEdits;
-}
-
-QLineEdit *TabWidget::currentLineEdit() const
-{
- return lineEdit(m_lineEdits->currentIndex());
-}
-
-WebView *TabWidget::currentWebView() const
-{
- return webView(currentIndex());
-}
-
-QLineEdit *TabWidget::lineEdit(int index) const
-{
- UrlLineEdit *urlLineEdit = qobject_cast<UrlLineEdit*>(m_lineEdits->widget(index));
- if (urlLineEdit)
- return urlLineEdit->lineEdit();
- return 0;
-}
-
-WebView *TabWidget::webView(int index) const
-{
- QWidget *widget = this->widget(index);
- if (WebView *webView = qobject_cast<WebView*>(widget)) {
- return webView;
- } else {
- // optimization to delay creating the first webview
- if (count() == 1) {
- TabWidget *that = const_cast<TabWidget*>(this);
- that->setUpdatesEnabled(false);
- that->newTab();
- that->closeTab(0);
- that->setUpdatesEnabled(true);
- return currentWebView();
- }
- }
- return 0;
-}
-
-int TabWidget::webViewIndex(WebView *webView) const
-{
- int index = indexOf(webView);
- return index;
-}
-
-WebView *TabWidget::newTab(bool makeCurrent)
-{
- // line edit
- UrlLineEdit *urlLineEdit = new UrlLineEdit;
- QLineEdit *lineEdit = urlLineEdit->lineEdit();
- if (!m_lineEditCompleter && count() > 0) {
- HistoryCompletionModel *completionModel = new HistoryCompletionModel(this);
- completionModel->setSourceModel(BrowserApplication::historyManager()->historyFilterModel());
- m_lineEditCompleter = new QCompleter(completionModel, this);
- // Should this be in Qt by default?
- QAbstractItemView *popup = m_lineEditCompleter->popup();
- QListView *listView = qobject_cast<QListView*>(popup);
- if (listView)
- listView->setUniformItemSizes(true);
- }
- lineEdit->setCompleter(m_lineEditCompleter);
- connect(lineEdit, SIGNAL(returnPressed()), this, SLOT(lineEditReturnPressed()));
- m_lineEdits->addWidget(urlLineEdit);
- m_lineEdits->setSizePolicy(lineEdit->sizePolicy());
-
- // optimization to delay creating the more expensive WebView, history, etc
- if (count() == 0) {
- QWidget *emptyWidget = new QWidget;
- QPalette p = emptyWidget->palette();
- p.setColor(QPalette::Window, palette().color(QPalette::Base));
- emptyWidget->setPalette(p);
- emptyWidget->setAutoFillBackground(true);
- disconnect(this, SIGNAL(currentChanged(int)),
- this, SLOT(currentChanged(int)));
- addTab(emptyWidget, tr("(Untitled)"));
- connect(this, SIGNAL(currentChanged(int)),
- this, SLOT(currentChanged(int)));
- return 0;
- }
-
- // webview
- WebView *webView = new WebView;
- urlLineEdit->setWebView(webView);
- connect(webView, SIGNAL(loadStarted()),
- this, SLOT(webViewLoadStarted()));
- connect(webView, SIGNAL(loadFinished(bool)),
- this, SLOT(webViewIconChanged()));
- connect(webView, SIGNAL(iconChanged()),
- this, SLOT(webViewIconChanged()));
- connect(webView, SIGNAL(titleChanged(const QString &)),
- this, SLOT(webViewTitleChanged(const QString &)));
- connect(webView, SIGNAL(urlChanged(const QUrl &)),
- this, SLOT(webViewUrlChanged(const QUrl &)));
- connect(webView->page(), SIGNAL(windowCloseRequested()),
- this, SLOT(windowCloseRequested()));
- connect(webView->page(), SIGNAL(geometryChangeRequested(const QRect &)),
- this, SIGNAL(geometryChangeRequested(const QRect &)));
- connect(webView->page(), SIGNAL(printRequested(QWebFrame *)),
- this, SIGNAL(printRequested(QWebFrame *)));
- connect(webView->page(), SIGNAL(menuBarVisibilityChangeRequested(bool)),
- this, SIGNAL(menuBarVisibilityChangeRequested(bool)));
- connect(webView->page(), SIGNAL(statusBarVisibilityChangeRequested(bool)),
- this, SIGNAL(statusBarVisibilityChangeRequested(bool)));
- connect(webView->page(), SIGNAL(toolBarVisibilityChangeRequested(bool)),
- this, SIGNAL(toolBarVisibilityChangeRequested(bool)));
- addTab(webView, tr("(Untitled)"));
- if (makeCurrent)
- setCurrentWidget(webView);
-
- // webview actions
- for (int i = 0; i < m_actions.count(); ++i) {
- WebActionMapper *mapper = m_actions[i];
- mapper->addChild(webView->page()->action(mapper->webAction()));
- }
-
- if (count() == 1)
- currentChanged(currentIndex());
- emit tabsChanged();
- return webView;
-}
-
-void TabWidget::reloadAllTabs()
-{
- for (int i = 0; i < count(); ++i) {
- QWidget *tabWidget = widget(i);
- if (WebView *tab = qobject_cast<WebView*>(tabWidget)) {
- tab->reload();
- }
- }
-}
-
-void TabWidget::lineEditReturnPressed()
-{
- if (QLineEdit *lineEdit = qobject_cast<QLineEdit*>(sender())) {
- emit loadPage(lineEdit->text());
- if (m_lineEdits->currentWidget() == lineEdit)
- currentWebView()->setFocus();
- }
-}
-
-void TabWidget::windowCloseRequested()
-{
- WebPage *webPage = qobject_cast<WebPage*>(sender());
- WebView *webView = qobject_cast<WebView*>(webPage->view());
- int index = webViewIndex(webView);
- if (index >= 0) {
- if (count() == 1)
- webView->webPage()->mainWindow()->close();
- else
- closeTab(index);
- }
-}
-
-void TabWidget::closeOtherTabs(int index)
-{
- if (-1 == index)
- return;
- for (int i = count() - 1; i > index; --i)
- closeTab(i);
- for (int i = index - 1; i >= 0; --i)
- closeTab(i);
-}
-
-// When index is -1 index chooses the current tab
-void TabWidget::cloneTab(int index)
-{
- if (index < 0)
- index = currentIndex();
- if (index < 0 || index >= count())
- return;
- WebView *tab = newTab(false);
- tab->setUrl(webView(index)->url());
-}
-
-// When index is -1 index chooses the current tab
-void TabWidget::closeTab(int index)
-{
- if (index < 0)
- index = currentIndex();
- if (index < 0 || index >= count())
- return;
-
- bool hasFocus = false;
- if (WebView *tab = webView(index)) {
- if (tab->isModified()) {
- QMessageBox closeConfirmation(tab);
- closeConfirmation.setWindowFlags(Qt::Sheet);
- closeConfirmation.setWindowTitle(tr("Do you really want to close this page?"));
- closeConfirmation.setInformativeText(tr("You have modified this page and when closing it you would lose the modification.\n"
- "Do you really want to close this page?\n"));
- closeConfirmation.setIcon(QMessageBox::Question);
- closeConfirmation.addButton(QMessageBox::Yes);
- closeConfirmation.addButton(QMessageBox::No);
- closeConfirmation.setEscapeButton(QMessageBox::No);
- if (closeConfirmation.exec() == QMessageBox::No)
- return;
- }
- hasFocus = tab->hasFocus();
-
- m_recentlyClosedTabsAction->setEnabled(true);
- m_recentlyClosedTabs.prepend(tab->url());
- if (m_recentlyClosedTabs.size() >= TabWidget::m_recentlyClosedTabsSize)
- m_recentlyClosedTabs.removeLast();
- }
- QWidget *lineEdit = m_lineEdits->widget(index);
- m_lineEdits->removeWidget(lineEdit);
- lineEdit->deleteLater();
- QWidget *webView = widget(index);
- removeTab(index);
- webView->deleteLater();
- emit tabsChanged();
- if (hasFocus && count() > 0)
- currentWebView()->setFocus();
- if (count() == 0)
- emit lastTabClosed();
-}
-
-void TabWidget::webViewLoadStarted()
-{
- WebView *webView = qobject_cast<WebView*>(sender());
- int index = webViewIndex(webView);
- if (-1 != index) {
- QIcon icon(QLatin1String(":loading.gif"));
- setTabIcon(index, icon);
- }
-}
-
-void TabWidget::webViewIconChanged()
-{
- WebView *webView = qobject_cast<WebView*>(sender());
- int index = webViewIndex(webView);
- if (-1 != index) {
- QIcon icon = BrowserApplication::instance()->icon(webView->url());
- setTabIcon(index, icon);
- }
-}
-
-void TabWidget::webViewTitleChanged(const QString &title)
-{
- WebView *webView = qobject_cast<WebView*>(sender());
- int index = webViewIndex(webView);
- if (-1 != index) {
- setTabText(index, title);
- }
- if (currentIndex() == index)
- emit setCurrentTitle(title);
- BrowserApplication::historyManager()->updateHistoryItem(webView->url(), title);
-}
-
-void TabWidget::webViewUrlChanged(const QUrl &url)
-{
- WebView *webView = qobject_cast<WebView*>(sender());
- int index = webViewIndex(webView);
- if (-1 != index) {
- m_tabBar->setTabData(index, url);
- }
- emit tabsChanged();
-}
-
-void TabWidget::aboutToShowRecentTabsMenu()
-{
- m_recentlyClosedTabsMenu->clear();
- for (int i = 0; i < m_recentlyClosedTabs.count(); ++i) {
- QAction *action = new QAction(m_recentlyClosedTabsMenu);
- action->setData(m_recentlyClosedTabs.at(i));
- QIcon icon = BrowserApplication::instance()->icon(m_recentlyClosedTabs.at(i));
- action->setIcon(icon);
- action->setText(m_recentlyClosedTabs.at(i).toString());
- m_recentlyClosedTabsMenu->addAction(action);
- }
-}
-
-void TabWidget::aboutToShowRecentTriggeredAction(QAction *action)
-{
- QUrl url = action->data().toUrl();
- loadUrlInCurrentTab(url);
-}
-
-void TabWidget::mouseDoubleClickEvent(QMouseEvent *event)
-{
- if (!childAt(event->pos())
- // Remove the line below when QTabWidget does not have a one pixel frame
- && event->pos().y() < (tabBar()->y() + tabBar()->height())) {
- newTab();
- return;
- }
- QTabWidget::mouseDoubleClickEvent(event);
-}
-
-void TabWidget::contextMenuEvent(QContextMenuEvent *event)
-{
- if (!childAt(event->pos())) {
- m_tabBar->contextMenuRequested(event->pos());
- return;
- }
- QTabWidget::contextMenuEvent(event);
-}
-
-void TabWidget::mouseReleaseEvent(QMouseEvent *event)
-{
- if (event->button() == Qt::MidButton && !childAt(event->pos())
- // Remove the line below when QTabWidget does not have a one pixel frame
- && event->pos().y() < (tabBar()->y() + tabBar()->height())) {
- QUrl url(QApplication::clipboard()->text(QClipboard::Selection));
- if (!url.isEmpty() && url.isValid() && !url.scheme().isEmpty()) {
- WebView *webView = newTab();
- webView->setUrl(url);
- }
- }
-}
-
-void TabWidget::loadUrlInCurrentTab(const QUrl &url)
-{
- WebView *webView = currentWebView();
- if (webView) {
- webView->loadUrl(url);
- webView->setFocus();
- }
-}
-
-void TabWidget::nextTab()
-{
- int next = currentIndex() + 1;
- if (next == count())
- next = 0;
- setCurrentIndex(next);
-}
-
-void TabWidget::previousTab()
-{
- int next = currentIndex() - 1;
- if (next < 0)
- next = count() - 1;
- setCurrentIndex(next);
-}
-
-static const qint32 TabWidgetMagic = 0xaa;
-
-QByteArray TabWidget::saveState() const
-{
- int version = 1;
- QByteArray data;
- QDataStream stream(&data, QIODevice::WriteOnly);
-
- stream << qint32(TabWidgetMagic);
- stream << qint32(version);
-
- QStringList tabs;
- for (int i = 0; i < count(); ++i) {
- if (WebView *tab = qobject_cast<WebView*>(widget(i))) {
- tabs.append(tab->url().toString());
- } else {
- tabs.append(QString::null);
- }
- }
- stream << tabs;
- stream << currentIndex();
- return data;
-}
-
-bool TabWidget::restoreState(const QByteArray &state)
-{
- int version = 1;
- QByteArray sd = state;
- QDataStream stream(&sd, QIODevice::ReadOnly);
- if (stream.atEnd())
- return false;
-
- qint32 marker;
- qint32 v;
- stream >> marker;
- stream >> v;
- if (marker != TabWidgetMagic || v != version)
- return false;
-
- QStringList openTabs;
- stream >> openTabs;
-
- for (int i = 0; i < openTabs.count(); ++i) {
- if (i != 0)
- newTab();
- loadPage(openTabs.at(i));
- }
-
- int currentTab;
- stream >> currentTab;
- setCurrentIndex(currentTab);
-
- return true;
-}
-
-WebActionMapper::WebActionMapper(QAction *root, QWebPage::WebAction webAction, QObject *parent)
- : QObject(parent)
- , m_currentParent(0)
- , m_root(root)
- , m_webAction(webAction)
-{
- if (!m_root)
- return;
- connect(m_root, SIGNAL(triggered()), this, SLOT(rootTriggered()));
- connect(root, SIGNAL(destroyed(QObject *)), this, SLOT(rootDestroyed()));
- root->setEnabled(false);
-}
-
-void WebActionMapper::rootDestroyed()
-{
- m_root = 0;
-}
-
-void WebActionMapper::currentDestroyed()
-{
- updateCurrent(0);
-}
-
-void WebActionMapper::addChild(QAction *action)
-{
- if (!action)
- return;
- connect(action, SIGNAL(changed()), this, SLOT(childChanged()));
-}
-
-QWebPage::WebAction WebActionMapper::webAction() const
-{
- return m_webAction;
-}
-
-void WebActionMapper::rootTriggered()
-{
- if (m_currentParent) {
- QAction *gotoAction = m_currentParent->action(m_webAction);
- gotoAction->trigger();
- }
-}
-
-void WebActionMapper::childChanged()
-{
- if (QAction *source = qobject_cast<QAction*>(sender())) {
- if (m_root
- && m_currentParent
- && source->parent() == m_currentParent) {
- m_root->setChecked(source->isChecked());
- m_root->setEnabled(source->isEnabled());
- }
- }
-}
-
-void WebActionMapper::updateCurrent(QWebPage *currentParent)
-{
- if (m_currentParent)
- disconnect(m_currentParent, SIGNAL(destroyed(QObject *)),
- this, SLOT(currentDestroyed()));
-
- m_currentParent = currentParent;
- if (!m_root)
- return;
- if (!m_currentParent) {
- m_root->setEnabled(false);
- m_root->setChecked(false);
- return;
- }
- QAction *source = m_currentParent->action(m_webAction);
- m_root->setChecked(source->isChecked());
- m_root->setEnabled(source->isEnabled());
- connect(m_currentParent, SIGNAL(destroyed(QObject *)),
- this, SLOT(currentDestroyed()));
-}
-
diff --git a/examples/gestures/browser/tabwidget.h b/examples/gestures/browser/tabwidget.h
deleted file mode 100644
index ee7b226..0000000
--- a/examples/gestures/browser/tabwidget.h
+++ /dev/null
@@ -1,224 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef TABWIDGET_H
-#define TABWIDGET_H
-
-#include <QtGui/QTabBar>
-
-#include <QtGui/QShortcut>
-/*
- Tab bar with a few more features such as a context menu and shortcuts
- */
-class TabBar : public QTabBar
-{
- Q_OBJECT
-
-signals:
- void newTab();
- void cloneTab(int index);
- void closeTab(int index);
- void closeOtherTabs(int index);
- void reloadTab(int index);
- void reloadAllTabs();
- void tabMoveRequested(int fromIndex, int toIndex);
-
-public:
- TabBar(QWidget *parent = 0);
-
-protected:
- void mousePressEvent(QMouseEvent* event);
- void mouseMoveEvent(QMouseEvent* event);
-
-private slots:
- void selectTabAction();
- void cloneTab();
- void closeTab();
- void closeOtherTabs();
- void reloadTab();
- void contextMenuRequested(const QPoint &position);
-
-private:
- QList<QShortcut*> m_tabShortcuts;
- friend class TabWidget;
-
- QPoint m_dragStartPos;
- int m_dragCurrentIndex;
-};
-
-#include <QtWebKit/QWebPage>
-
-QT_BEGIN_NAMESPACE
-class QAction;
-QT_END_NAMESPACE
-class WebView;
-/*!
- A proxy object that connects a single browser action
- to one child webpage action at a time.
-
- Example usage: used to keep the main window stop action in sync with
- the current tabs webview's stop action.
- */
-class WebActionMapper : public QObject
-{
- Q_OBJECT
-
-public:
- WebActionMapper(QAction *root, QWebPage::WebAction webAction, QObject *parent);
- QWebPage::WebAction webAction() const;
- void addChild(QAction *action);
- void updateCurrent(QWebPage *currentParent);
-
-private slots:
- void rootTriggered();
- void childChanged();
- void rootDestroyed();
- void currentDestroyed();
-
-private:
- QWebPage *m_currentParent;
- QAction *m_root;
- QWebPage::WebAction m_webAction;
-};
-
-#include <QtCore/QUrl>
-#include <QtGui/QTabWidget>
-QT_BEGIN_NAMESPACE
-class QCompleter;
-class QLineEdit;
-class QMenu;
-class QStackedWidget;
-QT_END_NAMESPACE
-/*!
- TabWidget that contains WebViews and a stack widget of associated line edits.
-
- Connects up the current tab's signals to this class's signal and uses WebActionMapper
- to proxy the actions.
- */
-class TabWidget : public QTabWidget
-{
- Q_OBJECT
-
-signals:
- // tab widget signals
- void loadPage(const QString &url);
- void tabsChanged();
- void lastTabClosed();
-
- // current tab signals
- void setCurrentTitle(const QString &url);
- void showStatusBarMessage(const QString &message);
- void linkHovered(const QString &link);
- void loadProgress(int progress);
- void geometryChangeRequested(const QRect &geometry);
- void menuBarVisibilityChangeRequested(bool visible);
- void statusBarVisibilityChangeRequested(bool visible);
- void toolBarVisibilityChangeRequested(bool visible);
- void printRequested(QWebFrame *frame);
-
-public:
- TabWidget(QWidget *parent = 0);
- void clear();
- void addWebAction(QAction *action, QWebPage::WebAction webAction);
-
- QAction *newTabAction() const;
- QAction *closeTabAction() const;
- QAction *recentlyClosedTabsAction() const;
- QAction *nextTabAction() const;
- QAction *previousTabAction() const;
-
- QWidget *lineEditStack() const;
- QLineEdit *currentLineEdit() const;
- WebView *currentWebView() const;
- WebView *webView(int index) const;
- QLineEdit *lineEdit(int index) const;
- int webViewIndex(WebView *webView) const;
-
- QByteArray saveState() const;
- bool restoreState(const QByteArray &state);
-
-protected:
- void mouseDoubleClickEvent(QMouseEvent *event);
- void contextMenuEvent(QContextMenuEvent *event);
- void mouseReleaseEvent(QMouseEvent *event);
-
-public slots:
- void loadUrlInCurrentTab(const QUrl &url);
- WebView *newTab(bool makeCurrent = true);
- void cloneTab(int index = -1);
- void closeTab(int index = -1);
- void closeOtherTabs(int index);
- void reloadTab(int index = -1);
- void reloadAllTabs();
- void nextTab();
- void previousTab();
-
-private slots:
- void currentChanged(int index);
- void aboutToShowRecentTabsMenu();
- void aboutToShowRecentTriggeredAction(QAction *action);
- void webViewLoadStarted();
- void webViewIconChanged();
- void webViewTitleChanged(const QString &title);
- void webViewUrlChanged(const QUrl &url);
- void lineEditReturnPressed();
- void windowCloseRequested();
- void moveTab(int fromIndex, int toIndex);
-
-private:
- QAction *m_recentlyClosedTabsAction;
- QAction *m_newTabAction;
- QAction *m_closeTabAction;
- QAction *m_nextTabAction;
- QAction *m_previousTabAction;
-
- QMenu *m_recentlyClosedTabsMenu;
- static const int m_recentlyClosedTabsSize = 10;
- QList<QUrl> m_recentlyClosedTabs;
- QList<WebActionMapper*> m_actions;
-
- QCompleter *m_lineEditCompleter;
- QStackedWidget *m_lineEdits;
- TabBar *m_tabBar;
-};
-
-#endif // TABWIDGET_H
-
diff --git a/examples/gestures/browser/toolbarsearch.cpp b/examples/gestures/browser/toolbarsearch.cpp
deleted file mode 100644
index 0fb5322..0000000
--- a/examples/gestures/browser/toolbarsearch.cpp
+++ /dev/null
@@ -1,161 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "toolbarsearch.h"
-#include "autosaver.h"
-
-#include <QtCore/QSettings>
-#include <QtCore/QUrl>
-
-#include <QtGui/QCompleter>
-#include <QtGui/QMenu>
-#include <QtGui/QStringListModel>
-
-#include <QtWebKit/QWebSettings>
-
-/*
- ToolbarSearch is a very basic search widget that also contains a small history.
- Searches are turned into urls that use Google to perform search
- */
-ToolbarSearch::ToolbarSearch(QWidget *parent)
- : SearchLineEdit(parent)
- , m_autosaver(new AutoSaver(this))
- , m_maxSavedSearches(10)
- , m_stringListModel(new QStringListModel(this))
-{
- QMenu *m = menu();
- connect(m, SIGNAL(aboutToShow()), this, SLOT(aboutToShowMenu()));
- connect(m, SIGNAL(triggered(QAction*)), this, SLOT(triggeredMenuAction(QAction*)));
-
- QCompleter *completer = new QCompleter(m_stringListModel, this);
- completer->setCompletionMode(QCompleter::InlineCompletion);
- lineEdit()->setCompleter(completer);
-
- connect(lineEdit(), SIGNAL(returnPressed()), SLOT(searchNow()));
- setInactiveText(tr("Google"));
- load();
-}
-
-ToolbarSearch::~ToolbarSearch()
-{
- m_autosaver->saveIfNeccessary();
-}
-
-void ToolbarSearch::save()
-{
- QSettings settings;
- settings.beginGroup(QLatin1String("toolbarsearch"));
- settings.setValue(QLatin1String("recentSearches"), m_stringListModel->stringList());
- settings.setValue(QLatin1String("maximumSaved"), m_maxSavedSearches);
- settings.endGroup();
-}
-
-void ToolbarSearch::load()
-{
- QSettings settings;
- settings.beginGroup(QLatin1String("toolbarsearch"));
- QStringList list = settings.value(QLatin1String("recentSearches")).toStringList();
- m_maxSavedSearches = settings.value(QLatin1String("maximumSaved"), m_maxSavedSearches).toInt();
- m_stringListModel->setStringList(list);
- settings.endGroup();
-}
-
-void ToolbarSearch::searchNow()
-{
- QString searchText = lineEdit()->text();
- QStringList newList = m_stringListModel->stringList();
- if (newList.contains(searchText))
- newList.removeAt(newList.indexOf(searchText));
- newList.prepend(searchText);
- if (newList.size() >= m_maxSavedSearches)
- newList.removeLast();
-
- QWebSettings *globalSettings = QWebSettings::globalSettings();
- if (!globalSettings->testAttribute(QWebSettings::PrivateBrowsingEnabled)) {
- m_stringListModel->setStringList(newList);
- m_autosaver->changeOccurred();
- }
-
- QUrl url(QLatin1String("http://www.google.com/search"));
- url.addQueryItem(QLatin1String("q"), searchText);
- url.addQueryItem(QLatin1String("ie"), QLatin1String("UTF-8"));
- url.addQueryItem(QLatin1String("oe"), QLatin1String("UTF-8"));
- url.addQueryItem(QLatin1String("client"), QLatin1String("qtdemobrowser"));
- emit search(url);
-}
-
-void ToolbarSearch::aboutToShowMenu()
-{
- lineEdit()->selectAll();
- QMenu *m = menu();
- m->clear();
- QStringList list = m_stringListModel->stringList();
- if (list.isEmpty()) {
- m->addAction(tr("No Recent Searches"));
- return;
- }
-
- QAction *recent = m->addAction(tr("Recent Searches"));
- recent->setEnabled(false);
- for (int i = 0; i < list.count(); ++i) {
- QString text = list.at(i);
- m->addAction(text)->setData(text);
- }
- m->addSeparator();
- m->addAction(tr("Clear Recent Searches"), this, SLOT(clear()));
-}
-
-void ToolbarSearch::triggeredMenuAction(QAction *action)
-{
- QVariant v = action->data();
- if (v.canConvert<QString>()) {
- QString text = v.toString();
- lineEdit()->setText(text);
- searchNow();
- }
-}
-
-void ToolbarSearch::clear()
-{
- m_stringListModel->setStringList(QStringList());
- m_autosaver->changeOccurred();;
-}
-
diff --git a/examples/gestures/browser/toolbarsearch.h b/examples/gestures/browser/toolbarsearch.h
deleted file mode 100644
index 02c1871..0000000
--- a/examples/gestures/browser/toolbarsearch.h
+++ /dev/null
@@ -1,84 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef TOOLBARSEARCH_H
-#define TOOLBARSEARCH_H
-
-#include "searchlineedit.h"
-
-QT_BEGIN_NAMESPACE
-class QUrl;
-class QAction;
-class QStringListModel;
-QT_END_NAMESPACE
-
-class AutoSaver;
-
-class ToolbarSearch : public SearchLineEdit
-{
- Q_OBJECT
-
-signals:
- void search(const QUrl &url);
-
-public:
- ToolbarSearch(QWidget *parent = 0);
- ~ToolbarSearch();
-
-public slots:
- void clear();
- void searchNow();
-
-private slots:
- void save();
- void aboutToShowMenu();
- void triggeredMenuAction(QAction *action);
-
-private:
- void load();
-
- AutoSaver *m_autosaver;
- int m_maxSavedSearches;
- QStringListModel *m_stringListModel;
-};
-
-#endif // TOOLBARSEARCH_H
-
diff --git a/examples/gestures/browser/urllineedit.cpp b/examples/gestures/browser/urllineedit.cpp
deleted file mode 100644
index 70951d1..0000000
--- a/examples/gestures/browser/urllineedit.cpp
+++ /dev/null
@@ -1,340 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "urllineedit.h"
-
-#include "browserapplication.h"
-#include "searchlineedit.h"
-#include "webview.h"
-
-#include <QtCore/QEvent>
-
-#include <QtGui/QApplication>
-#include <QtGui/QCompleter>
-#include <QtGui/QFocusEvent>
-#include <QtGui/QHBoxLayout>
-#include <QtGui/QLabel>
-#include <QtGui/QLineEdit>
-#include <QtGui/QPainter>
-#include <QtGui/QStyle>
-#include <QtGui/QStyleOptionFrameV2>
-
-#include <QtCore/QDebug>
-
-ExLineEdit::ExLineEdit(QWidget *parent)
- : QWidget(parent)
- , m_leftWidget(0)
- , m_lineEdit(new QLineEdit(this))
- , m_clearButton(0)
-{
- setFocusPolicy(m_lineEdit->focusPolicy());
- setAttribute(Qt::WA_InputMethodEnabled);
- setSizePolicy(m_lineEdit->sizePolicy());
- setBackgroundRole(m_lineEdit->backgroundRole());
- setMouseTracking(true);
- setAcceptDrops(true);
- setAttribute(Qt::WA_MacShowFocusRect, true);
- QPalette p = m_lineEdit->palette();
- setPalette(p);
-
- // line edit
- m_lineEdit->setFrame(false);
- m_lineEdit->setFocusProxy(this);
- m_lineEdit->setAttribute(Qt::WA_MacShowFocusRect, false);
- QPalette clearPalette = m_lineEdit->palette();
- clearPalette.setBrush(QPalette::Base, QBrush(Qt::transparent));
- m_lineEdit->setPalette(clearPalette);
-
- // clearButton
- m_clearButton = new ClearButton(this);
- connect(m_clearButton, SIGNAL(clicked()),
- m_lineEdit, SLOT(clear()));
- connect(m_lineEdit, SIGNAL(textChanged(const QString&)),
- m_clearButton, SLOT(textChanged(const QString&)));
-}
-
-void ExLineEdit::setLeftWidget(QWidget *widget)
-{
- m_leftWidget = widget;
-}
-
-QWidget *ExLineEdit::leftWidget() const
-{
- return m_leftWidget;
-}
-
-void ExLineEdit::resizeEvent(QResizeEvent *event)
-{
- Q_ASSERT(m_leftWidget);
- updateGeometries();
- QWidget::resizeEvent(event);
-}
-
-void ExLineEdit::updateGeometries()
-{
- QStyleOptionFrameV2 panel;
- initStyleOption(&panel);
- QRect rect = style()->subElementRect(QStyle::SE_LineEditContents, &panel, this);
-
- int height = rect.height();
- int width = rect.width();
-
- int m_leftWidgetHeight = m_leftWidget->height();
- m_leftWidget->setGeometry(rect.x() + 2, rect.y() + (height - m_leftWidgetHeight)/2,
- m_leftWidget->width(), m_leftWidget->height());
-
- int clearButtonWidth = this->height();
- m_lineEdit->setGeometry(m_leftWidget->x() + m_leftWidget->width(), 0,
- width - clearButtonWidth - m_leftWidget->width(), this->height());
-
- m_clearButton->setGeometry(this->width() - clearButtonWidth, 0,
- clearButtonWidth, this->height());
-}
-
-void ExLineEdit::initStyleOption(QStyleOptionFrameV2 *option) const
-{
- option->initFrom(this);
- option->rect = contentsRect();
- option->lineWidth = style()->pixelMetric(QStyle::PM_DefaultFrameWidth, option, this);
- option->midLineWidth = 0;
- option->state |= QStyle::State_Sunken;
- if (m_lineEdit->isReadOnly())
- option->state |= QStyle::State_ReadOnly;
-#ifdef QT_KEYPAD_NAVIGATION
- if (hasEditFocus())
- option->state |= QStyle::State_HasEditFocus;
-#endif
- option->features = QStyleOptionFrameV2::None;
-}
-
-QSize ExLineEdit::sizeHint() const
-{
- m_lineEdit->setFrame(true);
- QSize size = m_lineEdit->sizeHint();
- m_lineEdit->setFrame(false);
- return size;
-}
-
-void ExLineEdit::focusInEvent(QFocusEvent *event)
-{
- m_lineEdit->event(event);
- QWidget::focusInEvent(event);
-}
-
-void ExLineEdit::focusOutEvent(QFocusEvent *event)
-{
- m_lineEdit->event(event);
-
- if (m_lineEdit->completer()) {
- connect(m_lineEdit->completer(), SIGNAL(activated(QString)),
- m_lineEdit, SLOT(setText(QString)));
- connect(m_lineEdit->completer(), SIGNAL(highlighted(QString)),
- m_lineEdit, SLOT(_q_completionHighlighted(QString)));
- }
- QWidget::focusOutEvent(event);
-}
-
-void ExLineEdit::keyPressEvent(QKeyEvent *event)
-{
- m_lineEdit->event(event);
-}
-
-bool ExLineEdit::event(QEvent *event)
-{
- if (event->type() == QEvent::ShortcutOverride)
- return m_lineEdit->event(event);
- return QWidget::event(event);
-}
-
-void ExLineEdit::paintEvent(QPaintEvent *)
-{
- QPainter p(this);
- QStyleOptionFrameV2 panel;
- initStyleOption(&panel);
- style()->drawPrimitive(QStyle::PE_PanelLineEdit, &panel, &p, this);
-}
-
-QVariant ExLineEdit::inputMethodQuery(Qt::InputMethodQuery property) const
-{
- return m_lineEdit->inputMethodQuery(property);
-}
-
-void ExLineEdit::inputMethodEvent(QInputMethodEvent *e)
-{
- m_lineEdit->event(e);
-}
-
-
-class UrlIconLabel : public QLabel
-{
-
-public:
- UrlIconLabel(QWidget *parent);
-
- WebView *m_webView;
-
-protected:
- void mousePressEvent(QMouseEvent *event);
- void mouseMoveEvent(QMouseEvent *event);
-
-private:
- QPoint m_dragStartPos;
-
-};
-
-UrlIconLabel::UrlIconLabel(QWidget *parent)
- : QLabel(parent)
- , m_webView(0)
-{
- setMinimumWidth(16);
- setMinimumHeight(16);
-}
-
-void UrlIconLabel::mousePressEvent(QMouseEvent *event)
-{
- if (event->button() == Qt::LeftButton)
- m_dragStartPos = event->pos();
- QLabel::mousePressEvent(event);
-}
-
-void UrlIconLabel::mouseMoveEvent(QMouseEvent *event)
-{
- if (event->buttons() == Qt::LeftButton
- && (event->pos() - m_dragStartPos).manhattanLength() > QApplication::startDragDistance()
- && m_webView) {
- QDrag *drag = new QDrag(this);
- QMimeData *mimeData = new QMimeData;
- mimeData->setText(QString::fromUtf8(m_webView->url().toEncoded()));
- QList<QUrl> urls;
- urls.append(m_webView->url());
- mimeData->setUrls(urls);
- drag->setMimeData(mimeData);
- drag->exec();
- }
-}
-
-UrlLineEdit::UrlLineEdit(QWidget *parent)
- : ExLineEdit(parent)
- , m_webView(0)
- , m_iconLabel(0)
-{
- // icon
- m_iconLabel = new UrlIconLabel(this);
- m_iconLabel->resize(16, 16);
- setLeftWidget(m_iconLabel);
- m_defaultBaseColor = palette().color(QPalette::Base);
-
- webViewIconChanged();
-}
-
-void UrlLineEdit::setWebView(WebView *webView)
-{
- Q_ASSERT(!m_webView);
- m_webView = webView;
- m_iconLabel->m_webView = webView;
- connect(webView, SIGNAL(urlChanged(const QUrl &)),
- this, SLOT(webViewUrlChanged(const QUrl &)));
- connect(webView, SIGNAL(loadFinished(bool)),
- this, SLOT(webViewIconChanged()));
- connect(webView, SIGNAL(iconChanged()),
- this, SLOT(webViewIconChanged()));
- connect(webView, SIGNAL(loadProgress(int)),
- this, SLOT(update()));
-}
-
-void UrlLineEdit::webViewUrlChanged(const QUrl &url)
-{
- m_lineEdit->setText(QString::fromUtf8(url.toEncoded()));
- m_lineEdit->setCursorPosition(0);
-}
-
-void UrlLineEdit::webViewIconChanged()
-{
- QUrl url = (m_webView) ? m_webView->url() : QUrl();
- QIcon icon = BrowserApplication::instance()->icon(url);
- QPixmap pixmap(icon.pixmap(16, 16));
- m_iconLabel->setPixmap(pixmap);
-}
-
-QLinearGradient UrlLineEdit::generateGradient(const QColor &color) const
-{
- QLinearGradient gradient(0, 0, 0, height());
- gradient.setColorAt(0, m_defaultBaseColor);
- gradient.setColorAt(0.15, color.lighter(120));
- gradient.setColorAt(0.5, color);
- gradient.setColorAt(0.85, color.lighter(120));
- gradient.setColorAt(1, m_defaultBaseColor);
- return gradient;
-}
-
-void UrlLineEdit::focusOutEvent(QFocusEvent *event)
-{
- if (m_lineEdit->text().isEmpty() && m_webView)
- m_lineEdit->setText(QString::fromUtf8(m_webView->url().toEncoded()));
- ExLineEdit::focusOutEvent(event);
-}
-
-void UrlLineEdit::paintEvent(QPaintEvent *event)
-{
- QPalette p = palette();
- if (m_webView && m_webView->url().scheme() == QLatin1String("https")) {
- QColor lightYellow(248, 248, 210);
- p.setBrush(QPalette::Base, generateGradient(lightYellow));
- } else {
- p.setBrush(QPalette::Base, m_defaultBaseColor);
- }
- setPalette(p);
- ExLineEdit::paintEvent(event);
-
- QPainter painter(this);
- QStyleOptionFrameV2 panel;
- initStyleOption(&panel);
- QRect backgroundRect = style()->subElementRect(QStyle::SE_LineEditContents, &panel, this);
- if (m_webView && !hasFocus()) {
- int progress = m_webView->progress();
- QColor loadingColor = QColor(116, 192, 250);
- painter.setBrush(generateGradient(loadingColor));
- painter.setPen(Qt::transparent);
- int mid = backgroundRect.width() / 100 * progress;
- QRect progressRect(backgroundRect.x(), backgroundRect.y(), mid, backgroundRect.height());
- painter.drawRect(progressRect);
- }
-}
diff --git a/examples/gestures/browser/urllineedit.h b/examples/gestures/browser/urllineedit.h
deleted file mode 100644
index 0727e6a..0000000
--- a/examples/gestures/browser/urllineedit.h
+++ /dev/null
@@ -1,115 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef URLLINEEDIT_H
-#define URLLINEEDIT_H
-
-#include <QtCore/QUrl>
-#include <QtGui/QWidget>
-#include <QtGui/QStyleOptionFrame>
-
-QT_BEGIN_NAMESPACE
-class QLineEdit;
-QT_END_NAMESPACE
-
-class ClearButton;
-class ExLineEdit : public QWidget
-{
- Q_OBJECT
-
-public:
- ExLineEdit(QWidget *parent = 0);
-
- inline QLineEdit *lineEdit() const { return m_lineEdit; }
-
- void setLeftWidget(QWidget *widget);
- QWidget *leftWidget() const;
-
- QSize sizeHint() const;
-
- QVariant inputMethodQuery(Qt::InputMethodQuery property) const;
-protected:
- void focusInEvent(QFocusEvent *event);
- void focusOutEvent(QFocusEvent *event);
- void keyPressEvent(QKeyEvent *event);
- void paintEvent(QPaintEvent *event);
- void resizeEvent(QResizeEvent *event);
- void inputMethodEvent(QInputMethodEvent *e);
- bool event(QEvent *event);
-
-protected:
- void updateGeometries();
- void initStyleOption(QStyleOptionFrameV2 *option) const;
-
- QWidget *m_leftWidget;
- QLineEdit *m_lineEdit;
- ClearButton *m_clearButton;
-};
-
-class UrlIconLabel;
-class WebView;
-class UrlLineEdit : public ExLineEdit
-{
- Q_OBJECT
-
-public:
- UrlLineEdit(QWidget *parent = 0);
- void setWebView(WebView *webView);
-
-protected:
- void paintEvent(QPaintEvent *event);
- void focusOutEvent(QFocusEvent *event);
-
-private slots:
- void webViewUrlChanged(const QUrl &url);
- void webViewIconChanged();
-
-private:
- QLinearGradient generateGradient(const QColor &color) const;
- WebView *m_webView;
- UrlIconLabel *m_iconLabel;
- QColor m_defaultBaseColor;
-
-};
-
-
-#endif // URLLINEEDIT_H
-
diff --git a/examples/gestures/browser/webview.cpp b/examples/gestures/browser/webview.cpp
deleted file mode 100644
index e50872f..0000000
--- a/examples/gestures/browser/webview.cpp
+++ /dev/null
@@ -1,363 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "browserapplication.h"
-#include "browsermainwindow.h"
-#include "cookiejar.h"
-#include "downloadmanager.h"
-#include "networkaccessmanager.h"
-#include "tabwidget.h"
-#include "webview.h"
-
-#include <QtGui/QClipboard>
-#include <QtGui/QGesture>
-#include <QtGui/QMenu>
-#include <QtGui/QMessageBox>
-#include <QtGui/QMouseEvent>
-
-#include <QtWebKit/QWebHitTestResult>
-
-#include <QtUiTools/QUiLoader>
-
-#include <QtCore/QDebug>
-#include <QtCore/QBuffer>
-
-WebPage::WebPage(QObject *parent)
- : QWebPage(parent)
- , m_keyboardModifiers(Qt::NoModifier)
- , m_pressedButtons(Qt::NoButton)
- , m_openInNewTab(false)
-{
- setNetworkAccessManager(BrowserApplication::networkAccessManager());
- connect(this, SIGNAL(unsupportedContent(QNetworkReply *)),
- this, SLOT(handleUnsupportedContent(QNetworkReply *)));
-}
-
-BrowserMainWindow *WebPage::mainWindow()
-{
- QObject *w = this->parent();
- while (w) {
- if (BrowserMainWindow *mw = qobject_cast<BrowserMainWindow*>(w))
- return mw;
- w = w->parent();
- }
- return BrowserApplication::instance()->mainWindow();
-}
-
-bool WebPage::acceptNavigationRequest(QWebFrame *frame, const QNetworkRequest &request, NavigationType type)
-{
- // ctrl open in new tab
- // ctrl-shift open in new tab and select
- // ctrl-alt open in new window
- if (type == QWebPage::NavigationTypeLinkClicked
- && (m_keyboardModifiers & Qt::ControlModifier
- || m_pressedButtons == Qt::MidButton)) {
- bool newWindow = (m_keyboardModifiers & Qt::AltModifier);
- WebView *webView;
- if (newWindow) {
- BrowserApplication::instance()->newMainWindow();
- BrowserMainWindow *newMainWindow = BrowserApplication::instance()->mainWindow();
- webView = newMainWindow->currentTab();
- newMainWindow->raise();
- newMainWindow->activateWindow();
- webView->setFocus();
- } else {
- bool selectNewTab = (m_keyboardModifiers & Qt::ShiftModifier);
- webView = mainWindow()->tabWidget()->newTab(selectNewTab);
- }
- webView->load(request);
- m_keyboardModifiers = Qt::NoModifier;
- m_pressedButtons = Qt::NoButton;
- return false;
- }
- if (frame == mainFrame()) {
- m_loadingUrl = request.url();
- emit loadingUrl(m_loadingUrl);
- }
- return QWebPage::acceptNavigationRequest(frame, request, type);
-}
-
-QWebPage *WebPage::createWindow(QWebPage::WebWindowType type)
-{
- Q_UNUSED(type);
- if (m_keyboardModifiers & Qt::ControlModifier || m_pressedButtons == Qt::MidButton)
- m_openInNewTab = true;
- if (m_openInNewTab) {
- m_openInNewTab = false;
- return mainWindow()->tabWidget()->newTab()->page();
- }
- BrowserApplication::instance()->newMainWindow();
- BrowserMainWindow *mainWindow = BrowserApplication::instance()->mainWindow();
- return mainWindow->currentTab()->page();
-}
-
-#if !defined(QT_NO_UITOOLS)
-QObject *WebPage::createPlugin(const QString &classId, const QUrl &url, const QStringList &paramNames, const QStringList &paramValues)
-{
- Q_UNUSED(url);
- Q_UNUSED(paramNames);
- Q_UNUSED(paramValues);
- QUiLoader loader;
- return loader.createWidget(classId, view());
-}
-#endif // !defined(QT_NO_UITOOLS)
-
-void WebPage::handleUnsupportedContent(QNetworkReply *reply)
-{
- if (reply->error() == QNetworkReply::NoError) {
- BrowserApplication::downloadManager()->handleUnsupportedContent(reply);
- return;
- }
-
- QFile file(QLatin1String(":/notfound.html"));
- bool isOpened = file.open(QIODevice::ReadOnly);
- Q_ASSERT(isOpened);
- QString title = tr("Error loading page: %1").arg(reply->url().toString());
- QString html = QString(QLatin1String(file.readAll()))
- .arg(title)
- .arg(reply->errorString())
- .arg(reply->url().toString());
-
- QBuffer imageBuffer;
- imageBuffer.open(QBuffer::ReadWrite);
- QIcon icon = view()->style()->standardIcon(QStyle::SP_MessageBoxWarning, 0, view());
- QPixmap pixmap = icon.pixmap(QSize(32,32));
- if (pixmap.save(&imageBuffer, "PNG")) {
- html.replace(QLatin1String("IMAGE_BINARY_DATA_HERE"),
- QString(QLatin1String(imageBuffer.buffer().toBase64())));
- }
-
- QList<QWebFrame*> frames;
- frames.append(mainFrame());
- while (!frames.isEmpty()) {
- QWebFrame *frame = frames.takeFirst();
- if (frame->url() == reply->url()) {
- frame->setHtml(html, reply->url());
- return;
- }
- QList<QWebFrame *> children = frame->childFrames();
- foreach(QWebFrame *frame, children)
- frames.append(frame);
- }
- if (m_loadingUrl == reply->url()) {
- mainFrame()->setHtml(html, reply->url());
- }
-}
-
-
-WebView::WebView(QWidget* parent)
- : QWebView(parent)
- , m_progress(0)
- , m_page(new WebPage(this))
- , m_currentPanFrame(0)
-{
- grabGesture(Qt::PanGesture);
- setPage(m_page);
- connect(page(), SIGNAL(statusBarMessage(const QString&)),
- SLOT(setStatusBarText(const QString&)));
- connect(this, SIGNAL(loadProgress(int)),
- this, SLOT(setProgress(int)));
- connect(this, SIGNAL(loadFinished(bool)),
- this, SLOT(loadFinished()));
- connect(page(), SIGNAL(loadingUrl(const QUrl&)),
- this, SIGNAL(urlChanged(const QUrl &)));
- connect(page(), SIGNAL(downloadRequested(const QNetworkRequest &)),
- this, SLOT(downloadRequested(const QNetworkRequest &)));
- page()->setForwardUnsupportedContent(true);
-
-}
-
-void WebView::contextMenuEvent(QContextMenuEvent *event)
-{
- QWebHitTestResult r = page()->mainFrame()->hitTestContent(event->pos());
- if (!r.linkUrl().isEmpty()) {
- QMenu menu(this);
- menu.addAction(pageAction(QWebPage::OpenLinkInNewWindow));
- menu.addAction(tr("Open in New Tab"), this, SLOT(openLinkInNewTab()));
- menu.addSeparator();
- menu.addAction(pageAction(QWebPage::DownloadLinkToDisk));
- // Add link to bookmarks...
- menu.addSeparator();
- menu.addAction(pageAction(QWebPage::CopyLinkToClipboard));
- if (page()->settings()->testAttribute(QWebSettings::DeveloperExtrasEnabled))
- menu.addAction(pageAction(QWebPage::InspectElement));
- menu.exec(mapToGlobal(event->pos()));
- return;
- }
- QWebView::contextMenuEvent(event);
-}
-
-void WebView::wheelEvent(QWheelEvent *event)
-{
- if (QApplication::keyboardModifiers() & Qt::ControlModifier) {
- int numDegrees = event->delta() / 8;
- int numSteps = numDegrees / 15;
- setTextSizeMultiplier(textSizeMultiplier() + numSteps * 0.1);
- event->accept();
- return;
- }
- QWebView::wheelEvent(event);
-}
-
-void WebView::openLinkInNewTab()
-{
- m_page->m_openInNewTab = true;
- pageAction(QWebPage::OpenLinkInNewWindow)->trigger();
-}
-
-void WebView::setProgress(int progress)
-{
- m_progress = progress;
-}
-
-void WebView::loadFinished()
-{
- if (100 != m_progress) {
- qWarning() << "Recieved finished signal while progress is still:" << progress()
- << "Url:" << url();
- }
- m_progress = 0;
-}
-
-void WebView::loadUrl(const QUrl &url)
-{
- m_initialUrl = url;
- load(url);
-}
-
-QString WebView::lastStatusBarText() const
-{
- return m_statusBarText;
-}
-
-QUrl WebView::url() const
-{
- QUrl url = QWebView::url();
- if (!url.isEmpty())
- return url;
-
- return m_initialUrl;
-}
-
-void WebView::mousePressEvent(QMouseEvent *event)
-{
- m_page->m_pressedButtons = event->buttons();
- m_page->m_keyboardModifiers = event->modifiers();
- QWebView::mousePressEvent(event);
-}
-
-void WebView::mouseReleaseEvent(QMouseEvent *event)
-{
- QWebView::mouseReleaseEvent(event);
- if (!event->isAccepted() && (m_page->m_pressedButtons & Qt::MidButton)) {
- QUrl url(QApplication::clipboard()->text(QClipboard::Selection));
- if (!url.isEmpty() && url.isValid() && !url.scheme().isEmpty()) {
- setUrl(url);
- }
- }
-}
-
-void WebView::setStatusBarText(const QString &string)
-{
- m_statusBarText = string;
-}
-
-void WebView::downloadRequested(const QNetworkRequest &request)
-{
- BrowserApplication::downloadManager()->download(request);
-}
-
-bool WebView::event(QEvent *event)
-{
- if (event->type() == QEvent::Gesture)
- {
- gestureEvent(static_cast<QGestureEvent*>(event));
- return true;
- }
- return QWebView::event(event);
-}
-
-void WebView::gestureEvent(QGestureEvent *event)
-{
- if (const QGesture *g = event->gesture(Qt::PanGesture)) {
- if (g->state() == Qt::GestureUpdated) {
- if (m_currentPanFrame) {
- m_panSpeed = g->pos() - g->lastPos();
- m_currentPanFrame->scroll(-m_panSpeed.x(), -m_panSpeed.y());
- }
- } else if (g->state() == Qt::GestureStarted) {
- startTimer(20);
- m_currentPanFrame = 0;
- if (QWebFrame *frame = page()->mainFrame()) {
- QWebHitTestResult result = frame->hitTestContent(g->startPos());
- if (!result.isNull())
- m_currentPanFrame = result.frame();
- while (m_currentPanFrame &&
- m_currentPanFrame->scrollBarMinimum(Qt::Vertical) == 0 &&
- m_currentPanFrame->scrollBarMaximum(Qt::Vertical) == 0 &&
- m_currentPanFrame->scrollBarMinimum(Qt::Horizontal) == 0 &&
- m_currentPanFrame->scrollBarMaximum(Qt::Horizontal) == 0) {
- m_currentPanFrame = m_currentPanFrame->parentFrame();
- }
- }
- } else {
- }
- event->accept();
- }
-}
-
-static QPoint deaccelerate(const QPoint &speed, int a = 1, int max = 64)
-{
- int x = qBound(-max, speed.x(), max);
- int y = qBound(-max, speed.y(), max);
- x = (x == 0) ? x : (x > 0) ? qMax(0, x - a) : qMin(0, x + a);
- y = (y == 0) ? y : (y > 0) ? qMax(0, y - a) : qMin(0, y + a);
- return QPoint(x, y);
-}
-
-void WebView::timerEvent(QTimerEvent *event)
-{
- m_panSpeed = deaccelerate(m_panSpeed);
- if (m_panSpeed.isNull())
- killTimer(event->timerId());
- if (m_currentPanFrame)
- m_currentPanFrame->scroll(-m_panSpeed.x(), -m_panSpeed.y());
-}
diff --git a/examples/gestures/browser/webview.h b/examples/gestures/browser/webview.h
deleted file mode 100644
index 71aca1a..0000000
--- a/examples/gestures/browser/webview.h
+++ /dev/null
@@ -1,124 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef WEBVIEW_H
-#define WEBVIEW_H
-
-#include <QtWebKit/QWebView>
-
-QT_BEGIN_NAMESPACE
-class QAuthenticator;
-class QMouseEvent;
-class QNetworkProxy;
-class QNetworkReply;
-class QSslError;
-QT_END_NAMESPACE
-
-class BrowserMainWindow;
-class WebPage : public QWebPage {
- Q_OBJECT
-
-signals:
- void loadingUrl(const QUrl &url);
-
-public:
- WebPage(QObject *parent = 0);
- BrowserMainWindow *mainWindow();
-
-protected:
- bool acceptNavigationRequest(QWebFrame *frame, const QNetworkRequest &request, NavigationType type);
- QWebPage *createWindow(QWebPage::WebWindowType type);
-#if !defined(QT_NO_UITOOLS)
- QObject *createPlugin(const QString &classId, const QUrl &url, const QStringList &paramNames, const QStringList &paramValues);
-#endif
-
-private slots:
- void handleUnsupportedContent(QNetworkReply *reply);
-
-private:
- friend class WebView;
-
- // set the webview mousepressedevent
- Qt::KeyboardModifiers m_keyboardModifiers;
- Qt::MouseButtons m_pressedButtons;
- bool m_openInNewTab;
- QUrl m_loadingUrl;
-};
-
-class WebView : public QWebView {
- Q_OBJECT
-
-public:
- WebView(QWidget *parent = 0);
- WebPage *webPage() const { return m_page; }
-
- void loadUrl(const QUrl &url);
- QUrl url() const;
-
- QString lastStatusBarText() const;
- inline int progress() const { return m_progress; }
-
-protected:
- bool event(QEvent *event);
- void gestureEvent(QGestureEvent *event);
- void timerEvent(QTimerEvent *event);
- void mousePressEvent(QMouseEvent *event);
- void mouseReleaseEvent(QMouseEvent *event);
- void contextMenuEvent(QContextMenuEvent *event);
- void wheelEvent(QWheelEvent *event);
-
-private slots:
- void setProgress(int progress);
- void loadFinished();
- void setStatusBarText(const QString &string);
- void downloadRequested(const QNetworkRequest &request);
- void openLinkInNewTab();
-
-private:
- QString m_statusBarText;
- QUrl m_initialUrl;
- int m_progress;
- WebPage *m_page;
- QPoint m_panSpeed;
- QWebFrame *m_currentPanFrame;
-};
-
-#endif
diff --git a/examples/gestures/browser/xbel.cpp b/examples/gestures/browser/xbel.cpp
deleted file mode 100644
index 6145281..0000000
--- a/examples/gestures/browser/xbel.cpp
+++ /dev/null
@@ -1,320 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "xbel.h"
-
-#include <QtCore/QFile>
-
-BookmarkNode::BookmarkNode(BookmarkNode::Type type, BookmarkNode *parent) :
- expanded(false)
- , m_parent(parent)
- , m_type(type)
-{
- if (parent)
- parent->add(this);
-}
-
-BookmarkNode::~BookmarkNode()
-{
- if (m_parent)
- m_parent->remove(this);
- qDeleteAll(m_children);
- m_parent = 0;
- m_type = BookmarkNode::Root;
-}
-
-bool BookmarkNode::operator==(const BookmarkNode &other)
-{
- if (url != other.url
- || title != other.title
- || desc != other.desc
- || expanded != other.expanded
- || m_type != other.m_type
- || m_children.count() != other.m_children.count())
- return false;
-
- for (int i = 0; i < m_children.count(); ++i)
- if (!((*(m_children[i])) == (*(other.m_children[i]))))
- return false;
- return true;
-}
-
-BookmarkNode::Type BookmarkNode::type() const
-{
- return m_type;
-}
-
-void BookmarkNode::setType(Type type)
-{
- m_type = type;
-}
-
-QList<BookmarkNode *> BookmarkNode::children() const
-{
- return m_children;
-}
-
-BookmarkNode *BookmarkNode::parent() const
-{
- return m_parent;
-}
-
-void BookmarkNode::add(BookmarkNode *child, int offset)
-{
- Q_ASSERT(child->m_type != Root);
- if (child->m_parent)
- child->m_parent->remove(child);
- child->m_parent = this;
- if (-1 == offset)
- offset = m_children.size();
- m_children.insert(offset, child);
-}
-
-void BookmarkNode::remove(BookmarkNode *child)
-{
- child->m_parent = 0;
- m_children.removeAll(child);
-}
-
-
-XbelReader::XbelReader()
-{
-}
-
-BookmarkNode *XbelReader::read(const QString &fileName)
-{
- QFile file(fileName);
- if (!file.exists()) {
- return new BookmarkNode(BookmarkNode::Root);
- }
- file.open(QFile::ReadOnly);
- return read(&file);
-}
-
-BookmarkNode *XbelReader::read(QIODevice *device)
-{
- BookmarkNode *root = new BookmarkNode(BookmarkNode::Root);
- setDevice(device);
- while (!atEnd()) {
- readNext();
- if (isStartElement()) {
- QString version = attributes().value(QLatin1String("version")).toString();
- if (name() == QLatin1String("xbel")
- && (version.isEmpty() || version == QLatin1String("1.0"))) {
- readXBEL(root);
- } else {
- raiseError(QObject::tr("The file is not an XBEL version 1.0 file."));
- }
- }
- }
- return root;
-}
-
-void XbelReader::readXBEL(BookmarkNode *parent)
-{
- Q_ASSERT(isStartElement() && name() == QLatin1String("xbel"));
-
- while (!atEnd()) {
- readNext();
- if (isEndElement())
- break;
-
- if (isStartElement()) {
- if (name() == QLatin1String("folder"))
- readFolder(parent);
- else if (name() == QLatin1String("bookmark"))
- readBookmarkNode(parent);
- else if (name() == QLatin1String("separator"))
- readSeparator(parent);
- else
- skipUnknownElement();
- }
- }
-}
-
-void XbelReader::readFolder(BookmarkNode *parent)
-{
- Q_ASSERT(isStartElement() && name() == QLatin1String("folder"));
-
- BookmarkNode *folder = new BookmarkNode(BookmarkNode::Folder, parent);
- folder->expanded = (attributes().value(QLatin1String("folded")) == QLatin1String("no"));
-
- while (!atEnd()) {
- readNext();
-
- if (isEndElement())
- break;
-
- if (isStartElement()) {
- if (name() == QLatin1String("title"))
- readTitle(folder);
- else if (name() == QLatin1String("desc"))
- readDescription(folder);
- else if (name() == QLatin1String("folder"))
- readFolder(folder);
- else if (name() == QLatin1String("bookmark"))
- readBookmarkNode(folder);
- else if (name() == QLatin1String("separator"))
- readSeparator(folder);
- else
- skipUnknownElement();
- }
- }
-}
-
-void XbelReader::readTitle(BookmarkNode *parent)
-{
- Q_ASSERT(isStartElement() && name() == QLatin1String("title"));
- parent->title = readElementText();
-}
-
-void XbelReader::readDescription(BookmarkNode *parent)
-{
- Q_ASSERT(isStartElement() && name() == QLatin1String("desc"));
- parent->desc = readElementText();
-}
-
-void XbelReader::readSeparator(BookmarkNode *parent)
-{
- new BookmarkNode(BookmarkNode::Separator, parent);
- // empty elements have a start and end element
- readNext();
-}
-
-void XbelReader::readBookmarkNode(BookmarkNode *parent)
-{
- Q_ASSERT(isStartElement() && name() == QLatin1String("bookmark"));
- BookmarkNode *bookmark = new BookmarkNode(BookmarkNode::Bookmark, parent);
- bookmark->url = attributes().value(QLatin1String("href")).toString();
- while (!atEnd()) {
- readNext();
- if (isEndElement())
- break;
-
- if (isStartElement()) {
- if (name() == QLatin1String("title"))
- readTitle(bookmark);
- else if (name() == QLatin1String("desc"))
- readDescription(bookmark);
- else
- skipUnknownElement();
- }
- }
- if (bookmark->title.isEmpty())
- bookmark->title = QObject::tr("Unknown title");
-}
-
-void XbelReader::skipUnknownElement()
-{
- Q_ASSERT(isStartElement());
-
- while (!atEnd()) {
- readNext();
-
- if (isEndElement())
- break;
-
- if (isStartElement())
- skipUnknownElement();
- }
-}
-
-
-XbelWriter::XbelWriter()
-{
- setAutoFormatting(true);
-}
-
-bool XbelWriter::write(const QString &fileName, const BookmarkNode *root)
-{
- QFile file(fileName);
- if (!root || !file.open(QFile::WriteOnly))
- return false;
- return write(&file, root);
-}
-
-bool XbelWriter::write(QIODevice *device, const BookmarkNode *root)
-{
- setDevice(device);
-
- writeStartDocument();
- writeDTD(QLatin1String("<!DOCTYPE xbel>"));
- writeStartElement(QLatin1String("xbel"));
- writeAttribute(QLatin1String("version"), QLatin1String("1.0"));
- if (root->type() == BookmarkNode::Root) {
- for (int i = 0; i < root->children().count(); ++i)
- writeItem(root->children().at(i));
- } else {
- writeItem(root);
- }
-
- writeEndDocument();
- return true;
-}
-
-void XbelWriter::writeItem(const BookmarkNode *parent)
-{
- switch (parent->type()) {
- case BookmarkNode::Folder:
- writeStartElement(QLatin1String("folder"));
- writeAttribute(QLatin1String("folded"), parent->expanded ? QLatin1String("no") : QLatin1String("yes"));
- writeTextElement(QLatin1String("title"), parent->title);
- for (int i = 0; i < parent->children().count(); ++i)
- writeItem(parent->children().at(i));
- writeEndElement();
- break;
- case BookmarkNode::Bookmark:
- writeStartElement(QLatin1String("bookmark"));
- if (!parent->url.isEmpty())
- writeAttribute(QLatin1String("href"), parent->url);
- writeTextElement(QLatin1String("title"), parent->title);
- if (!parent->desc.isEmpty())
- writeAttribute(QLatin1String("desc"), parent->desc);
- writeEndElement();
- break;
- case BookmarkNode::Separator:
- writeEmptyElement(QLatin1String("separator"));
- break;
- default:
- break;
- }
-}
-
diff --git a/examples/gestures/browser/xbel.h b/examples/gestures/browser/xbel.h
deleted file mode 100644
index 20cbda6..0000000
--- a/examples/gestures/browser/xbel.h
+++ /dev/null
@@ -1,113 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef XBEL_H
-#define XBEL_H
-
-#include <QtCore/QXmlStreamReader>
-#include <QtCore/QDateTime>
-
-class BookmarkNode
-{
-public:
- enum Type {
- Root,
- Folder,
- Bookmark,
- Separator
- };
-
- BookmarkNode(Type type = Root, BookmarkNode *parent = 0);
- ~BookmarkNode();
- bool operator==(const BookmarkNode &other);
-
- Type type() const;
- void setType(Type type);
- QList<BookmarkNode *> children() const;
- BookmarkNode *parent() const;
-
- void add(BookmarkNode *child, int offset = -1);
- void remove(BookmarkNode *child);
-
- QString url;
- QString title;
- QString desc;
- bool expanded;
-
-private:
- BookmarkNode *m_parent;
- Type m_type;
- QList<BookmarkNode *> m_children;
-
-};
-
-class XbelReader : public QXmlStreamReader
-{
-public:
- XbelReader();
- BookmarkNode *read(const QString &fileName);
- BookmarkNode *read(QIODevice *device);
-
-private:
- void skipUnknownElement();
- void readXBEL(BookmarkNode *parent);
- void readTitle(BookmarkNode *parent);
- void readDescription(BookmarkNode *parent);
- void readSeparator(BookmarkNode *parent);
- void readFolder(BookmarkNode *parent);
- void readBookmarkNode(BookmarkNode *parent);
-};
-
-#include <QtCore/QXmlStreamWriter>
-
-class XbelWriter : public QXmlStreamWriter
-{
-public:
- XbelWriter();
- bool write(const QString &fileName, const BookmarkNode *root);
- bool write(QIODevice *device, const BookmarkNode *root);
-
-private:
- void writeItem(const BookmarkNode *parent);
-};
-
-#endif // XBEL_H
-
diff --git a/examples/gestures/collidingmice/collidingmice.pro b/examples/gestures/collidingmice/collidingmice.pro
deleted file mode 100644
index 15164ce..0000000
--- a/examples/gestures/collidingmice/collidingmice.pro
+++ /dev/null
@@ -1,18 +0,0 @@
-HEADERS += \
- mouse.h \
- gesturerecognizerlinjazax.h \
- linjazaxgesture.h
-
-SOURCES += \
- main.cpp \
- mouse.cpp \
- gesturerecognizerlinjazax.cpp
-
-RESOURCES += \
- mice.qrc
-
-# install
-target.path = $$[QT_INSTALL_EXAMPLES]/gestures/collidingmice
-sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS collidingmice.pro images
-sources.path = $$[QT_INSTALL_EXAMPLES]/gestures/collidingmice
-INSTALLS += target sources
diff --git a/examples/gestures/collidingmice/gesturerecognizerlinjazax.cpp b/examples/gestures/collidingmice/gesturerecognizerlinjazax.cpp
deleted file mode 100644
index 2070f6f..0000000
--- a/examples/gestures/collidingmice/gesturerecognizerlinjazax.cpp
+++ /dev/null
@@ -1,213 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "gesturerecognizerlinjazax.h"
-
-#include <QRegExp>
-#include <QDebug>
-
-static const int SIZE = 20;
-
-DirectionSimpleRecognizer::DirectionSimpleRecognizer()
-{
-}
-
-Direction DirectionSimpleRecognizer::addPosition(const QPoint &pos)
-{
- if (!directions.isEmpty()) {
- const QPoint tmp = pos - directions.back().point;
- if (tmp.manhattanLength() < 5)
- return Direction();
- }
- if (lastPoint.isNull()) {
- lastPoint = pos;
- return Direction();
- }
- int dx = pos.x() - lastPoint.x();
- int dy = pos.y() - lastPoint.y();
- QString direction;
- if (dx < 0) {
- if (-1*dx >= SIZE/2)
- direction = "4";
- } else {
- if (dx >= SIZE/2)
- direction = "6";
- }
- if (dy < 0) {
- if (-1*dy >= SIZE/2)
- direction = "8";
- } else {
- if (dy >= SIZE/2)
- direction = "2";
- }
- if (direction.isEmpty())
- return Direction();
-
- lastPoint = pos;
- directions.push_back(Direction(direction, pos));
- return Direction(direction, pos);
-}
-
-
-DirectionList DirectionSimpleRecognizer::getDirections() const
-{
- return directions;
-}
-
-void DirectionSimpleRecognizer::reset()
-{
- directions.clear();
- lastPoint = QPoint();
-}
-
-///////////////////////////////////////////////////////////////////////////
-
-GestureRecognizerLinjaZax::GestureRecognizerLinjaZax()
- : QGestureRecognizer(QLatin1String("LinjaZax")), mousePressed(false), gestureFinished(false),
- zoomState(LinjaZaxGesture::NoZoom)
-{
-}
-
-QGestureRecognizer::Result GestureRecognizerLinjaZax::filterEvent(const QEvent *event)
-{
- if (zoomState != LinjaZaxGesture::NoZoom && !lastDirections.isEmpty()) {
- lastDirections = lastDirections.right(1);
- zoomState = LinjaZaxGesture::NoZoom;
- }
-
- if (event->type() == QEvent::MouseButtonPress) {
- if (!currentDirection.isEmpty()) {
- reset();
- return QGestureRecognizer::NotGesture;
- }
- mousePressed = true;
- const QMouseEvent *ev = static_cast<const QMouseEvent*>(event);
- pressedPos = lastPos = currentPos = ev->pos();
- return QGestureRecognizer::MaybeGesture;
- } else if (event->type() == QEvent::MouseButtonRelease) {
- const QMouseEvent *ev = static_cast<const QMouseEvent*>(event);
- if (mousePressed && !currentDirection.isEmpty()) {
- gestureFinished = true;
- currentPos = ev->pos();
- internalReset();
- return QGestureRecognizer::GestureFinished;
- }
- reset();
- return QGestureRecognizer::NotGesture;
- } else if (event->type() == QEvent::MouseMove) {
- if (!mousePressed)
- return QGestureRecognizer::NotGesture;
- lastPos = currentPos;
- const QMouseEvent *ev = static_cast<const QMouseEvent*>(event);
- currentPos = ev->pos();
- QString direction =
- simpleRecognizer.addPosition(ev->pos()).direction;
- QGestureRecognizer::Result result = QGestureRecognizer::NotGesture;
- if (currentDirection.isEmpty()) {
- if (direction.isEmpty())
- result = QGestureRecognizer::MaybeGesture;
- else
- result = QGestureRecognizer::GestureStarted;
- } else {
- result = QGestureRecognizer::GestureStarted;
- }
- if (!direction.isEmpty()) {
- lastDirections.append(direction);
- currentDirection = direction;
- if (lastDirections.length() > 5)
- lastDirections.remove(0, 1);
- if (lastDirections.contains("248") || lastDirections.contains("2448"))
- zoomState = LinjaZaxGesture::ZoomingIn;
- else if (lastDirections.contains("268") || lastDirections.contains("2668"))
- zoomState = LinjaZaxGesture::ZoomingOut;
- }
- return result;
- }
- return QGestureRecognizer::NotGesture;
-}
-
-static inline LinjaZaxGesture::DirectionType convertPanningDirection(const QString &direction)
-{
- if (direction.length() == 1) {
- if (direction == "4")
- return LinjaZaxGesture::Left;
- else if (direction == "6")
- return LinjaZaxGesture::Right;
- else if (direction == "8")
- return LinjaZaxGesture::Up;
- else if (direction == "2")
- return LinjaZaxGesture::Down;
- }
- return LinjaZaxGesture::None;
-}
-
-QGesture* GestureRecognizerLinjaZax::getGesture()
-{
- LinjaZaxGesture::DirectionType dir = convertPanningDirection(currentDirection);
- LinjaZaxGesture::DirectionType lastDir = convertPanningDirection(lastDirections.right(1));
- if (dir == LinjaZaxGesture::None)
- return 0;
- LinjaZaxGesture *g =
- new LinjaZaxGesture(this, pressedPos, lastPos, currentPos,
- QRect(), pressedPos, QDateTime(), 0,
- gestureFinished ? Qt::GestureFinished : Qt::GestureStarted);
- g->lastDirection_ = lastDir;
- g->direction_ = dir;
- g->zoomState_ = zoomState;
-
- return g;
-}
-
-void GestureRecognizerLinjaZax::reset()
-{
- mousePressed = false;
- lastDirections.clear();
- currentDirection.clear();
- gestureFinished = false;
- simpleRecognizer.reset();
- zoomState = LinjaZaxGesture::NoZoom;
-}
-
-void GestureRecognizerLinjaZax::internalReset()
-{
- mousePressed = false;
- simpleRecognizer.reset();
-}
diff --git a/examples/gestures/collidingmice/gesturerecognizerlinjazax.h b/examples/gestures/collidingmice/gesturerecognizerlinjazax.h
deleted file mode 100644
index 79b2c2b..0000000
--- a/examples/gestures/collidingmice/gesturerecognizerlinjazax.h
+++ /dev/null
@@ -1,106 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef GESTURERECOGNIZERLINJAZAX_H
-#define GESTURERECOGNIZERLINJAZAX_H
-
-#include <QList>
-#include <QPoint>
-#include <QString>
-#include <QGesture>
-#include <QGestureRecognizer>
-
-#include "linjazaxgesture.h"
-
-struct Direction
-{
- QString direction;
- QPoint point;
-
- Direction(QString dir, const QPoint &pt)
- : direction(dir), point(pt) { }
- Direction()
- : direction() { }
-
- inline bool isEmpty() const { return direction.isEmpty(); }
- inline bool isNull() const { return direction.isEmpty(); }
-};
-typedef QList<Direction> DirectionList;
-
-class DirectionSimpleRecognizer
-{
-public:
- DirectionSimpleRecognizer();
- Direction addPosition(const QPoint &pos);
- DirectionList getDirections() const;
- void reset();
-
-private:
- QPoint lastPoint;
- DirectionList directions;
-};
-
-class GestureRecognizerLinjaZax : public QGestureRecognizer
-{
- Q_OBJECT
-public:
- GestureRecognizerLinjaZax();
-
- QGestureRecognizer::Result filterEvent(const QEvent *event);
- QGesture* getGesture();
-
- void reset();
-
-private:
- void internalReset();
-
- QPoint pressedPos;
- QPoint lastPos;
- QPoint currentPos;
- bool mousePressed;
- bool gestureFinished;
- QString lastDirections;
- QString currentDirection;
- DirectionSimpleRecognizer simpleRecognizer;
- LinjaZaxGesture::ZoomState zoomState;
-};
-
-#endif
diff --git a/examples/gestures/collidingmice/images/cheese.jpg b/examples/gestures/collidingmice/images/cheese.jpg
deleted file mode 100644
index dea5795..0000000
--- a/examples/gestures/collidingmice/images/cheese.jpg
+++ /dev/null
Binary files differ
diff --git a/examples/gestures/collidingmice/linjazaxgesture.h b/examples/gestures/collidingmice/linjazaxgesture.h
deleted file mode 100644
index 53b907e..0000000
--- a/examples/gestures/collidingmice/linjazaxgesture.h
+++ /dev/null
@@ -1,102 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef LINJAZAXGESTURE_H
-#define LINJAZAXGESTURE_H
-
-#include <QGesture>
-
-class LinjaZaxGesture : public QGesture
-{
-public:
- enum DirectionType
- {
- None = 0,
- LeftDown = 1,
- DownLeft = LeftDown,
- Down = 2,
- RightDown = 3,
- DownRight = RightDown,
- Left = 4,
- Right = 6,
- LeftUp = 7,
- UpLeft = LeftUp,
- Up = 8,
- RightUp = 9,
- UpRight = RightUp
- };
-
- enum ZoomState
- {
- NoZoom,
- ZoomingIn,
- ZoomingOut
- };
-
-public:
- explicit LinjaZaxGesture(QObject *parent,
- Qt::GestureState state = Qt::GestureStarted)
- : QGesture(parent, QLatin1String("LinjaZax"), state), lastDirection_(None),
- direction_(None), zoomState_(NoZoom) { }
- LinjaZaxGesture(QObject *parent, const QPoint &startPos,
- const QPoint &lastPos, const QPoint &pos, const QRect &rect,
- const QPoint &hotSpot, const QDateTime &startTime,
- uint duration, Qt::GestureState state)
- : QGesture(parent, QLatin1String("LinjaZax"), startPos, lastPos,
- pos, rect, hotSpot, startTime, duration, state) { }
- ~LinjaZaxGesture() { }
-
- DirectionType lastDirection() const
- { return lastDirection_; }
- DirectionType direction() const
- { return direction_; }
-
- ZoomState zoomState() const
- { return zoomState_; }
-
-private:
- DirectionType lastDirection_;
- DirectionType direction_;
- ZoomState zoomState_;
- friend class GestureRecognizerLinjaZax;
-};
-
-#endif
diff --git a/examples/gestures/collidingmice/main.cpp b/examples/gestures/collidingmice/main.cpp
deleted file mode 100644
index 3638442..0000000
--- a/examples/gestures/collidingmice/main.cpp
+++ /dev/null
@@ -1,163 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "mouse.h"
-
-#include "gesturerecognizerlinjazax.h"
-#include "linjazaxgesture.h"
-
-#include <QtGui>
-
-#include <math.h>
-
-#define ZOOMING_ANIMATION
-#ifdef ZOOMING_ANIMATION
-static const int AnimationSteps = 10;
-#endif
-
-static const int MouseCount = 7;
-
-class PannableGraphicsView : public QGraphicsView
-{
- Q_OBJECT
-public:
- PannableGraphicsView(QGraphicsScene *scene, QWidget *parent = 0)
- : QGraphicsView(scene, parent)
- {
- grabGesture(QLatin1String("LinjaZax"));
-#ifdef ZOOMING_ANIMATION
- timeline = new QTimeLine(700, this);
- timeline->setFrameRange(0, AnimationSteps);
- connect(timeline, SIGNAL(frameChanged(int)), this, SLOT(animationStep(int)));
-#endif
- }
-protected:
- bool event(QEvent *event)
- {
- if (event->type() == QEvent::Gesture) {
- QGestureEvent *ge = static_cast<QGestureEvent*>(event);
- const LinjaZaxGesture *g = static_cast<const LinjaZaxGesture*>(ge->gesture("LinjaZax"));
- if (g) {
- switch (g->zoomState()) {
- case LinjaZaxGesture::ZoomingIn:
-#ifdef ZOOMING_ANIMATION
- scaleStep = 1. + 0.5/AnimationSteps;
- timeline->stop();
- timeline->start();
-#else
- scale(1.5, 1.5);
-#endif
- break;
- case LinjaZaxGesture::ZoomingOut:
-#ifdef ZOOMING_ANIMATION
- scaleStep = 1. - 0.5/AnimationSteps;
- timeline->stop();
- timeline->start();
-#else
- scale(0.6, 0.6);
-#endif
- break;
- default:
- break;
- };
- QPoint pt = g->pos() - g->lastPos();
- horizontalScrollBar()->setValue(horizontalScrollBar()->value() - pt.x());
- verticalScrollBar()->setValue(verticalScrollBar()->value() - pt.y());
- event->accept();
- return true;
- }
- }
- return QGraphicsView::event(event);
- }
-private slots:
-#ifdef ZOOMING_ANIMATION
- void animationStep(int step)
- {
- scale(scaleStep, scaleStep);
- }
-private:
- qreal scaleStep;
- QTimeLine *timeline;
-#endif
-};
-
-//! [0]
-int main(int argc, char **argv)
-{
- QApplication app(argc, argv);
- app.addGestureRecognizer(new GestureRecognizerLinjaZax);
- qsrand(QTime(0,0,0).secsTo(QTime::currentTime()));
-//! [0]
-
-//! [1]
- QGraphicsScene scene;
- scene.setSceneRect(-600, -600, 1200, 1200);
-//! [1] //! [2]
- scene.setItemIndexMethod(QGraphicsScene::NoIndex);
-//! [2]
-
-//! [3]
- for (int i = 0; i < MouseCount; ++i) {
- Mouse *mouse = new Mouse;
- mouse->setPos(::sin((i * 6.28) / MouseCount) * 200,
- ::cos((i * 6.28) / MouseCount) * 200);
- scene.addItem(mouse);
- }
-//! [3]
-
-//! [4]
- PannableGraphicsView view(&scene);
- view.setRenderHint(QPainter::Antialiasing);
- view.setBackgroundBrush(QPixmap(":/images/cheese.jpg"));
-//! [4] //! [5]
- view.setCacheMode(QGraphicsView::CacheBackground);
- view.setViewportUpdateMode(QGraphicsView::BoundingRectViewportUpdate);
- //view.setDragMode(QGraphicsView::ScrollHandDrag);
-//! [5] //! [6]
- view.setWindowTitle(QT_TRANSLATE_NOOP(QGraphicsView, "Colliding Mice"));
- view.resize(400, 300);
- view.show();
-
- return app.exec();
-}
-//! [6]
-
-#include "main.moc"
diff --git a/examples/gestures/collidingmice/mice.qrc b/examples/gestures/collidingmice/mice.qrc
deleted file mode 100644
index accdb4d..0000000
--- a/examples/gestures/collidingmice/mice.qrc
+++ /dev/null
@@ -1,5 +0,0 @@
-<RCC>
- <qresource prefix="/" >
- <file>images/cheese.jpg</file>
- </qresource>
-</RCC>
diff --git a/examples/gestures/collidingmice/mouse.cpp b/examples/gestures/collidingmice/mouse.cpp
deleted file mode 100644
index 256811a..0000000
--- a/examples/gestures/collidingmice/mouse.cpp
+++ /dev/null
@@ -1,200 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "mouse.h"
-
-#include <QGraphicsScene>
-#include <QPainter>
-#include <QStyleOption>
-
-#include <math.h>
-
-static const double Pi = 3.14159265358979323846264338327950288419717;
-static double TwoPi = 2.0 * Pi;
-
-static qreal normalizeAngle(qreal angle)
-{
- while (angle < 0)
- angle += TwoPi;
- while (angle > TwoPi)
- angle -= TwoPi;
- return angle;
-}
-
-//! [0]
-Mouse::Mouse()
- : angle(0), speed(0), mouseEyeDirection(0),
- color(qrand() % 256, qrand() % 256, qrand() % 256)
-{
- rotate(qrand() % (360 * 16));
- startTimer(1000 / 33);
-}
-//! [0]
-
-//! [1]
-QRectF Mouse::boundingRect() const
-{
- qreal adjust = 0.5;
- return QRectF(-18 - adjust, -22 - adjust,
- 36 + adjust, 60 + adjust);
-}
-//! [1]
-
-//! [2]
-QPainterPath Mouse::shape() const
-{
- QPainterPath path;
- path.addRect(-10, -20, 20, 40);
- return path;
-}
-//! [2]
-
-//! [3]
-void Mouse::paint(QPainter *painter, const QStyleOptionGraphicsItem *, QWidget *)
-{
- // Body
- painter->setBrush(color);
- painter->drawEllipse(-10, -20, 20, 40);
-
- // Eyes
- painter->setBrush(Qt::white);
- painter->drawEllipse(-10, -17, 8, 8);
- painter->drawEllipse(2, -17, 8, 8);
-
- // Nose
- painter->setBrush(Qt::black);
- painter->drawEllipse(QRectF(-2, -22, 4, 4));
-
- // Pupils
- painter->drawEllipse(QRectF(-8.0 + mouseEyeDirection, -17, 4, 4));
- painter->drawEllipse(QRectF(4.0 + mouseEyeDirection, -17, 4, 4));
-
- // Ears
- painter->setBrush(scene()->collidingItems(this).isEmpty() ? Qt::darkYellow : Qt::red);
- painter->drawEllipse(-17, -12, 16, 16);
- painter->drawEllipse(1, -12, 16, 16);
-
- // Tail
- QPainterPath path(QPointF(0, 20));
- path.cubicTo(-5, 22, -5, 22, 0, 25);
- path.cubicTo(5, 27, 5, 32, 0, 30);
- path.cubicTo(-5, 32, -5, 42, 0, 35);
- painter->setBrush(Qt::NoBrush);
- painter->drawPath(path);
-}
-//! [3]
-
-//! [4]
-void Mouse::timerEvent(QTimerEvent *)
-{
-//! [4]
- // Don't move too far away
-//! [5]
- QLineF lineToCenter(QPointF(0, 0), mapFromScene(0, 0));
- if (lineToCenter.length() > 150) {
- qreal angleToCenter = ::acos(lineToCenter.dx() / lineToCenter.length());
- if (lineToCenter.dy() < 0)
- angleToCenter = TwoPi - angleToCenter;
- angleToCenter = normalizeAngle((Pi - angleToCenter) + Pi / 2);
-
- if (angleToCenter < Pi && angleToCenter > Pi / 4) {
- // Rotate left
- angle += (angle < -Pi / 2) ? 0.25 : -0.25;
- } else if (angleToCenter >= Pi && angleToCenter < (Pi + Pi / 2 + Pi / 4)) {
- // Rotate right
- angle += (angle < Pi / 2) ? 0.25 : -0.25;
- }
- } else if (::sin(angle) < 0) {
- angle += 0.25;
- } else if (::sin(angle) > 0) {
- angle -= 0.25;
-//! [5] //! [6]
- }
-//! [6]
-
- // Try not to crash with any other mice
-//! [7]
- QList<QGraphicsItem *> dangerMice = scene()->items(QPolygonF()
- << mapToScene(0, 0)
- << mapToScene(-30, -50)
- << mapToScene(30, -50));
- foreach (QGraphicsItem *item, dangerMice) {
- if (item == this)
- continue;
-
- QLineF lineToMouse(QPointF(0, 0), mapFromItem(item, 0, 0));
- qreal angleToMouse = ::acos(lineToMouse.dx() / lineToMouse.length());
- if (lineToMouse.dy() < 0)
- angleToMouse = TwoPi - angleToMouse;
- angleToMouse = normalizeAngle((Pi - angleToMouse) + Pi / 2);
-
- if (angleToMouse >= 0 && angleToMouse < Pi / 2) {
- // Rotate right
- angle += 0.5;
- } else if (angleToMouse <= TwoPi && angleToMouse > (TwoPi - Pi / 2)) {
- // Rotate left
- angle -= 0.5;
-//! [7] //! [8]
- }
-//! [8] //! [9]
- }
-//! [9]
-
- // Add some random movement
-//! [10]
- if (dangerMice.size() > 1 && (qrand() % 10) == 0) {
- if (qrand() % 1)
- angle += (qrand() % 100) / 500.0;
- else
- angle -= (qrand() % 100) / 500.0;
- }
-//! [10]
-
-//! [11]
- speed += (-50 + qrand() % 100) / 100.0;
-
- qreal dx = ::sin(angle) * 10;
- mouseEyeDirection = (qAbs(dx / 5) < 1) ? 0 : dx / 5;
-
- rotate(dx);
- setPos(mapToParent(0, -(3 + sin(speed) * 3)));
-}
-//! [11]
diff --git a/examples/gestures/collidingmice/mouse.h b/examples/gestures/collidingmice/mouse.h
deleted file mode 100644
index 6c8486f..0000000
--- a/examples/gestures/collidingmice/mouse.h
+++ /dev/null
@@ -1,72 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef MOUSE_H
-#define MOUSE_H
-
-#include <QGraphicsItem>
-#include <QObject>
-
-//! [0]
-class Mouse : public QObject, public QGraphicsItem
-{
- Q_OBJECT
-
-public:
- Mouse();
-
- QRectF boundingRect() const;
- QPainterPath shape() const;
- void paint(QPainter *painter, const QStyleOptionGraphicsItem *option,
- QWidget *widget);
-
-protected:
- void timerEvent(QTimerEvent *event);
-
-private:
- qreal angle;
- qreal speed;
- qreal mouseEyeDirection;
- QColor color;
-};
-//! [0]
-
-#endif
diff --git a/examples/gestures/gestures.pro b/examples/gestures/gestures.pro
index d0735ae..09cd56a 100644
--- a/examples/gestures/gestures.pro
+++ b/examples/gestures/gestures.pro
@@ -1,14 +1,7 @@
TEMPLATE = \
subdirs
SUBDIRS = \
- imageviewer \
- graphicsview \
- collidingmice
-
-contains(QT_CONFIG, webkit) {
- SUBDIRS += pannablewebview
- contains(QT_CONFIG, svg):SUBDIRS += browser
-}
+ imageviewer
# install
target.path = $$[QT_INSTALL_EXAMPLES]/gestures
diff --git a/examples/gestures/graphicsview/graphicsview.pro b/examples/gestures/graphicsview/graphicsview.pro
deleted file mode 100644
index 9cef564..0000000
--- a/examples/gestures/graphicsview/graphicsview.pro
+++ /dev/null
@@ -1,2 +0,0 @@
-SOURCES = main.cpp
-
diff --git a/examples/gestures/graphicsview/main.cpp b/examples/gestures/graphicsview/main.cpp
deleted file mode 100644
index 12f4e75..0000000
--- a/examples/gestures/graphicsview/main.cpp
+++ /dev/null
@@ -1,150 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtGui>
-
-class PannableGraphicsView : public QGraphicsView
-{
-public:
- PannableGraphicsView()
- {
- grabGesture(Qt::PanGesture);
- }
-protected:
- bool event(QEvent *event)
- {
- if (event->type() == QEvent::Gesture) {
- QGestureEvent *gestureEvent = static_cast<QGestureEvent*>(event);
- if (const QGesture *g = gestureEvent->gesture(Qt::PanGesture)) {
- QPoint pt = g->pos() - g->lastPos();
- horizontalScrollBar()->setValue(horizontalScrollBar()->value() - pt.x());
- verticalScrollBar()->setValue(verticalScrollBar()->value() - pt.y());
- event->accept();
- return true;
- }
- }
- return QGraphicsView::event(event);
- }
-};
-
-class ImageItem : public QGraphicsItem
-{
-public:
- ImageItem()
- : colored(false)
- {
- grabGesture(Qt::DoubleTapGesture);
- }
-
- QRectF boundingRect() const
- {
- return pixmap.isNull() ? QRectF(0, 0, 100, 100)
- : QRectF(QPointF(0,0), QSizeF(pixmap.size()));
- }
-
- void paint(QPainter *painter, const QStyleOptionGraphicsItem*, QWidget*)
- {
- if (pixmap.isNull()) {
- painter->setBrush(QBrush( colored ? Qt::green : Qt::white));
- painter->drawRect(0, 0, 100, 100);
- painter->drawLine(0, 0, 100, 100);
- painter->drawLine(0, 100, 100, 0);
- return;
- }
- painter->drawPixmap(0, 0, pixmap);
- }
-
- bool sceneEvent(QEvent *event)
- {
- if (event->type() == QEvent::GraphicsSceneGesture) {
- QGraphicsSceneGestureEvent *gestureEvent = static_cast<QGraphicsSceneGestureEvent*>(event);
- if (gestureEvent->gesture(Qt::DoubleTapGesture)) {
- event->accept();
- colored = !colored;
- update();
- return true;
- } else {
- qWarning("Item received unknown gesture");
- }
- }
- return QGraphicsItem::sceneEvent(event);
- }
-
-private:
- QPixmap pixmap;
- bool colored;
-};
-
-class MainWidget : public QWidget
-{
- Q_OBJECT
-
-public:
- MainWidget(QWidget *parent = 0)
- : QWidget(parent)
- {
- QVBoxLayout *l = new QVBoxLayout(this);
- view = new PannableGraphicsView;
- l->addWidget(view);
- scene = new QGraphicsScene(0, 0, 1024, 768, view);
- view->setScene(scene);
-
- ImageItem *item = new ImageItem;
- scene->addItem(item);
- item->setPos(scene->width()/3, scene->height()/3);
- }
-
-signals:
-public slots:
-private:
- QGraphicsView *view;
- QGraphicsScene *scene;
-};
-
-int main(int argc, char *argv[])
-{
- QApplication app(argc, argv);
- MainWidget w;
- w.show();
- return app.exec();
-}
-
-#include "main.moc"
diff --git a/examples/gestures/imageviewer/imageviewer.pro b/examples/gestures/imageviewer/imageviewer.pro
index 4c35dce..efbca00 100644
--- a/examples/gestures/imageviewer/imageviewer.pro
+++ b/examples/gestures/imageviewer/imageviewer.pro
@@ -1,12 +1,11 @@
-######################################################################
-# Automatically generated by qmake (2.01a) Thu Sep 11 17:18:17 2008
-######################################################################
-
TEMPLATE = app
TARGET =
DEPENDPATH += .
INCLUDEPATH += .
# Input
-HEADERS += imagewidget.h
-SOURCES += imagewidget.cpp main.cpp
+HEADERS += imagewidget.h \
+ tapandholdgesture.h
+SOURCES += imagewidget.cpp \
+ tapandholdgesture.cpp \
+ main.cpp
diff --git a/examples/gestures/imageviewer/imagewidget.cpp b/examples/gestures/imageviewer/imagewidget.cpp
index a4f3c9a..99889ed 100644
--- a/examples/gestures/imageviewer/imagewidget.cpp
+++ b/examples/gestures/imageviewer/imagewidget.cpp
@@ -46,6 +46,7 @@
ImageWidget::ImageWidget(QWidget *parent)
: QWidget(parent)
{
+ setAttribute(Qt::WA_AcceptTouchEvents);
setAttribute(Qt::WA_PaintOnScreen);
setAttribute(Qt::WA_OpaquePaintEvent);
setAttribute(Qt::WA_NoSystemBackground);
@@ -61,9 +62,11 @@ ImageWidget::ImageWidget(QWidget *parent)
horizontalOffset = 0;
verticalOffset = 0;
- grabGesture(Qt::DoubleTapGesture);
- grabGesture(Qt::PanGesture);
- grabGesture(Qt::TapAndHoldGesture);
+ panGesture = new QPanGesture(this);
+ connect(panGesture, SIGNAL(triggered()), this, SLOT(gestureTriggered()));
+
+ tapAndHoldGesture = new TapAndHoldGesture(this);
+ connect(tapAndHoldGesture, SIGNAL(triggered()), this, SLOT(gestureTriggered()));
}
void ImageWidget::paintEvent(QPaintEvent*)
@@ -97,7 +100,7 @@ void ImageWidget::paintEvent(QPaintEvent*)
p.setPen(QPen(Qt::gray, 2));
p.drawEllipse(touchFeedback.position, 5, 5);
if (touchFeedback.doubleTapped) {
- p.setPen(QPen(Qt::gray, 2, Qt::DotLine));
+ p.setPen(QPen(Qt::darkGray, 2, Qt::DotLine));
p.drawEllipse(touchFeedback.position, 15, 15);
} else if (touchFeedback.tapAndHoldState != 0) {
QPoint pts[8] = {
@@ -131,64 +134,62 @@ void ImageWidget::paintEvent(QPaintEvent*)
p.restore();
}
-bool ImageWidget::event(QEvent *event)
+void ImageWidget::mousePressEvent(QMouseEvent *event)
{
- if (event->type() == QEvent::Gesture) {
- gestureEvent(static_cast<QGestureEvent*>(event));
- return true;
- }
- return QWidget::event(event);
+ touchFeedback.tapped = true;
+ touchFeedback.position = event->pos();
}
-void ImageWidget::gestureEvent(QGestureEvent *event)
+void ImageWidget::mouseDoubleClickEvent(QMouseEvent *event)
{
+ touchFeedback.doubleTapped = true;
+ const QPoint p = event->pos();
+ touchFeedback.position = p;
+ horizontalOffset = p.x() - currentImage.width()*1.0*p.x()/width();
+ verticalOffset = p.y() - currentImage.height()*1.0*p.y()/height();
+ setZoomedIn(!zoomedIn);
+ zoomed = rotated = false;
+ updateImage();
+
+ feedbackFadeOutTimer.start(500, this);
+}
+
+void ImageWidget::gestureTriggered()
+{
+ touchFeedback.tapped = false;
touchFeedback.doubleTapped = false;
- Q_ASSERT(event);
- if (event->contains(Qt::TapGesture)) {
- //
- } else if (const QGesture *g = event->gesture(Qt::DoubleTapGesture)) {
- touchFeedback.doubleTapped = true;
- horizontalOffset = g->hotSpot().x() - currentImage.width()*1.0*g->hotSpot().x()/width();
- verticalOffset = g->hotSpot().y() - currentImage.height()*1.0*g->hotSpot().y()/height();
- setZoomedIn(!zoomedIn);
- zoomed = rotated = false;
- updateImage();
- } else if (const QGesture *g = event->gesture(Qt::PanGesture)) {
+ if (sender() == panGesture) {
+ QPanGesture *pg = qobject_cast<QPanGesture*>(sender());
if (zoomedIn) {
- // usual panning
#ifndef QT_NO_CURSOR
- if (g->state() == Qt::GestureStarted)
- setCursor(Qt::SizeAllCursor);
- else
- setCursor(Qt::ArrowCursor);
+ switch (pg->state()) {
+ case Qt::GestureStarted:
+ case Qt::GestureUpdated:
+ setCursor(Qt::SizeAllCursor);
+ break;
+ default:
+ setCursor(Qt::ArrowCursor);
+ }
#endif
- const int dx = g->pos().x() - g->lastPos().x();
- const int dy = g->pos().y() - g->lastPos().y();
- horizontalOffset += dx;
- verticalOffset += dy;
+ horizontalOffset += pg->lastOffset().width();
+ verticalOffset += pg->lastOffset().height();
update();
} else {
// only slide gesture should be accepted
- const QPanningGesture *pg = static_cast<const QPanningGesture*>(g);
- if (pg->direction() != pg->lastDirection()) {
- // ###: event->cancel();
- }
- if (g->state() == Qt::GestureFinished) {
+ if (pg->state() == Qt::GestureFinished) {
touchFeedback.sliding = false;
zoomed = rotated = false;
- if (pg->direction() == Qt::RightDirection) {
- qDebug() << "slide right";
+ if (pg->totalOffset().width() > 0)
goNextImage();
- } else if (pg->direction() == Qt::LeftDirection) {
- qDebug() << "slide left";
+ else
goPrevImage();
- }
updateImage();
}
}
- } else if (const QGesture *g = event->gesture(Qt::TapAndHoldGesture)) {
- if (g->state() == Qt::GestureFinished) {
+ feedbackFadeOutTimer.start(500, this);
+ } else if (sender() == tapAndHoldGesture) {
+ if (tapAndHoldGesture->state() == Qt::GestureFinished) {
qDebug() << "tap and hold detected";
touchFeedback.reset();
update();
@@ -197,13 +198,20 @@ void ImageWidget::gestureEvent(QGestureEvent *event)
menu.addAction("Action 1");
menu.addAction("Action 2");
menu.addAction("Action 3");
- menu.exec(mapToGlobal(g->hotSpot()));
+ menu.exec(mapToGlobal(tapAndHoldGesture->pos()));
}
- } else {
- qDebug() << "unknown gesture";
+ feedbackFadeOutTimer.start(500, this);
}
- feedbackFadeOutTimer.start(500, this);
- event->accept();
+}
+
+void ImageWidget::gestureFinished()
+{
+ qDebug() << "gesture finished" << sender();
+}
+
+void ImageWidget::gestureCancelled()
+{
+ qDebug() << "gesture cancelled" << sender();
}
void ImageWidget::resizeEvent(QResizeEvent*)
@@ -345,3 +353,5 @@ void ImageWidget::timerEvent(QTimerEvent *event)
}
update();
}
+
+#include "moc_imagewidget.cpp"
diff --git a/examples/gestures/imageviewer/imagewidget.h b/examples/gestures/imageviewer/imagewidget.h
index 7ec73a7..d8d5f8d 100644
--- a/examples/gestures/imageviewer/imagewidget.h
+++ b/examples/gestures/imageviewer/imagewidget.h
@@ -48,19 +48,28 @@
#include <QtGui>
+#include "tapandholdgesture.h"
+
class ImageWidget : public QWidget
{
+ Q_OBJECT
+
public:
ImageWidget(QWidget *parent = 0);
void openDirectory(const QString &path);
protected:
- bool event(QEvent *event);
void paintEvent(QPaintEvent*);
- void gestureEvent(QGestureEvent *event);
void resizeEvent(QResizeEvent*);
void timerEvent(QTimerEvent*);
+ void mousePressEvent(QMouseEvent*);
+ void mouseDoubleClickEvent(QMouseEvent*);
+
+private slots:
+ void gestureTriggered();
+ void gestureFinished();
+ void gestureCancelled();
private:
void updateImage();
@@ -71,6 +80,9 @@ private:
void goPrevImage();
void goToImage(int index);
+ QPanGesture *panGesture;
+ TapAndHoldGesture *tapAndHoldGesture;
+
QString path;
QStringList files;
int position;
diff --git a/examples/gestures/imageviewer/main.cpp b/examples/gestures/imageviewer/main.cpp
index 6bda418..cd1928b 100644
--- a/examples/gestures/imageviewer/main.cpp
+++ b/examples/gestures/imageviewer/main.cpp
@@ -81,6 +81,9 @@ int main(int argc, char *argv[])
if (QApplication::arguments().size() > 1)
w.openDirectory(QApplication::arguments().at(1));
+ else
+ w.openDirectory(QFileDialog::getExistingDirectory(0, "Select image folder"));
+
return app.exec();
}
diff --git a/examples/gestures/imageviewer/tapandholdgesture.cpp b/examples/gestures/imageviewer/tapandholdgesture.cpp
new file mode 100644
index 0000000..ff5284e
--- /dev/null
+++ b/examples/gestures/imageviewer/tapandholdgesture.cpp
@@ -0,0 +1,138 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "tapandholdgesture.h"
+
+#include <QtGui/qevent.h>
+
+/*!
+ \class TapAndHoldGesture
+ \since 4.6
+
+ \brief The TapAndHoldGesture class represents a Tap-and-Hold gesture,
+ providing additional information.
+*/
+
+const int TapAndHoldGesture::iterationCount = 40;
+const int TapAndHoldGesture::iterationTimeout = 50;
+
+/*!
+ Creates a new Tap and Hold gesture handler object and marks it as a child
+ of \a parent.
+
+ On some platforms like Windows there is a system-wide tap and hold gesture
+ that cannot be overriden, hence the gesture might never trigger and default
+ context menu will be shown instead.
+*/
+TapAndHoldGesture::TapAndHoldGesture(QWidget *parent)
+ : QGesture(parent), iteration(0)
+{
+}
+
+/*! \internal */
+bool TapAndHoldGesture::filterEvent(QEvent *event)
+{
+ if (!event->spontaneous())
+ return false;
+ const QTouchEvent *ev = static_cast<const QTouchEvent*>(event);
+ switch (event->type()) {
+ case QEvent::TouchBegin: {
+ if (timer.isActive())
+ timer.stop();
+ timer.start(TapAndHoldGesture::iterationTimeout, this);
+ const QPoint p = ev->touchPoints().at(0).pos().toPoint();
+ position = p;
+ break;
+ }
+ case QEvent::TouchUpdate:
+ if (ev->touchPoints().size() == 1) {
+ const QPoint startPos = ev->touchPoints().at(0).startPos().toPoint();
+ const QPoint pos = ev->touchPoints().at(0).pos().toPoint();
+ if ((startPos - pos).manhattanLength() > 15)
+ reset();
+ } else {
+ reset();
+ }
+ break;
+ case QEvent::TouchEnd:
+ reset();
+ break;
+ default:
+ break;
+ }
+ return false;
+}
+
+/*! \internal */
+void TapAndHoldGesture::timerEvent(QTimerEvent *event)
+{
+ if (event->timerId() != timer.timerId())
+ return;
+ if (iteration == TapAndHoldGesture::iterationCount) {
+ timer.stop();
+ setState(Qt::GestureFinished);
+ emit triggered();
+ } else {
+ setState(Qt::GestureStarted);
+ emit triggered();
+ }
+ ++iteration;
+}
+
+/*! \internal */
+void TapAndHoldGesture::reset()
+{
+ if (state() != Qt::NoGesture)
+ emit cancelled();
+ setState(Qt::NoGesture);
+ timer.stop();
+ iteration = 0;
+}
+
+/*!
+ \property TapAndHoldGesture::pos
+
+ \brief The position of the gesture.
+*/
+QPoint TapAndHoldGesture::pos() const
+{
+ return position;
+}
diff --git a/examples/gestures/imageviewer/tapandholdgesture.h b/examples/gestures/imageviewer/tapandholdgesture.h
new file mode 100644
index 0000000..e0d50b5
--- /dev/null
+++ b/examples/gestures/imageviewer/tapandholdgesture.h
@@ -0,0 +1,73 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef TAPANDHOLDGESTURE_H
+#define TAPANDHOLDGESTURE_H
+
+#include <QtCore/QBasicTimer>
+#include <QtGui/QGesture>
+#include <QtGui/QWidget>
+
+class TapAndHoldGesture : public QGesture
+{
+ Q_OBJECT
+ Q_PROPERTY(QPoint pos READ pos)
+
+public:
+ TapAndHoldGesture(QWidget *parent);
+
+ bool filterEvent(QEvent *event);
+ void reset();
+
+ QPoint pos() const;
+
+protected:
+ void timerEvent(QTimerEvent *event);
+
+private:
+ QBasicTimer timer;
+ int iteration;
+ QPoint position;
+ static const int iterationCount;
+ static const int iterationTimeout;
+};
+
+#endif // TAPANDHOLDGESTURE_H
diff --git a/examples/gestures/pannablewebview/main.cpp b/examples/gestures/pannablewebview/main.cpp
deleted file mode 100644
index 89c1fce..0000000
--- a/examples/gestures/pannablewebview/main.cpp
+++ /dev/null
@@ -1,90 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtGui>
-#include <QtWebKit>
-
-class PannableWebView : public QWebView
-{
-public:
- PannableWebView(QWidget *parent = 0)
- : QWebView(parent)
- {
-#if 0
- QPushButton *btn = new QPushButton("Some test button", this);
- btn->resize(300, 200);
- btn->move(40, 300);
-#endif
- grabGesture(Qt::PanGesture);
- }
-protected:
- bool event(QEvent *event)
- {
- if (event->type() == QEvent::Gesture)
- {
- QGestureEvent *ev = static_cast<QGestureEvent*>(event);
- if (const QGesture *g = ev->gesture(Qt::PanGesture)) {
- if (QWebFrame *frame = page()->mainFrame()) {
- QPoint offset = g->pos() - g->lastPos();
- frame->setScrollPosition(frame->scrollPosition() - offset);
- }
- event->accept();
- }
- return true;
- }
- return QWebView::event(event);
- }
-};
-
-int main(int argc, char *argv[])
-{
- QApplication app(argc, argv);
- QGraphicsScene scene;
- QGraphicsView w(&scene);
-
- QWebView *wv = new PannableWebView;
- wv->resize(480, 800);
- wv->setUrl(QUrl("http://www.trolltech.com"));
- scene.addWidget(wv);
- w.show();
-
- return app.exec();
-}
diff --git a/examples/gestures/pannablewebview/pannablewebview.pro b/examples/gestures/pannablewebview/pannablewebview.pro
deleted file mode 100644
index 07d8f91..0000000
--- a/examples/gestures/pannablewebview/pannablewebview.pro
+++ /dev/null
@@ -1,4 +0,0 @@
-SOURCES += \
- main.cpp
-
-QT += webkit
diff --git a/examples/graphicsview/collidingmice/mouse.cpp b/examples/graphicsview/collidingmice/mouse.cpp
index c6a67b1..4cc29dd 100644
--- a/examples/graphicsview/collidingmice/mouse.cpp
+++ b/examples/graphicsview/collidingmice/mouse.cpp
@@ -64,7 +64,7 @@ Mouse::Mouse()
: angle(0), speed(0), mouseEyeDirection(0),
color(qrand() % 256, qrand() % 256, qrand() % 256)
{
- rotate(qrand() % (360 * 16));
+ setRotation(qrand() % (360 * 16));
}
//! [0]
@@ -195,7 +195,7 @@ void Mouse::advance(int step)
qreal dx = ::sin(angle) * 10;
mouseEyeDirection = (qAbs(dx / 5) < 1) ? 0 : dx / 5;
- rotate(dx);
+ setRotation(rotation() + dx);
setPos(mapToParent(0, -(3 + sin(speed) * 3)));
}
//! [11]
diff --git a/examples/ipc/ipc.pro b/examples/ipc/ipc.pro
index b758fc4..e70fc38 100644
--- a/examples/ipc/ipc.pro
+++ b/examples/ipc/ipc.pro
@@ -1,5 +1,6 @@
TEMPLATE = subdirs
-SUBDIRS = sharedmemory
+# no QSharedMemory
+!vxworks:!qnx:SUBDIRS = sharedmemory
!wince*: SUBDIRS += localfortuneserver localfortuneclient
# install
diff --git a/examples/itemviews/chart/chart.pro b/examples/itemviews/chart/chart.pro
index 3556de0..3290170 100644
--- a/examples/itemviews/chart/chart.pro
+++ b/examples/itemviews/chart/chart.pro
@@ -4,7 +4,7 @@ RESOURCES = chart.qrc
SOURCES = main.cpp \
mainwindow.cpp \
pieview.cpp
-unix:!mac:!symbian:LIBS+= -lm
+unix:!mac:!symbian:!vxworks:LIBS+= -lm
TARGET.EPOCHEAPSIZE = 0x200000 0x800000
diff --git a/examples/itemviews/frozencolumn/freezetablewidget.h b/examples/itemviews/frozencolumn/freezetablewidget.h
index e22660e..f7b8e43 100644
--- a/examples/itemviews/frozencolumn/freezetablewidget.h
+++ b/examples/itemviews/frozencolumn/freezetablewidget.h
@@ -39,7 +39,6 @@
**
****************************************************************************/
-
#ifndef FREEZETABLEWIDGET_H
#define FREEZETABLEWIDGET_H
diff --git a/examples/itemviews/frozencolumn/main.cpp b/examples/itemviews/frozencolumn/main.cpp
index 8ed9d3b..9f6a637 100644
--- a/examples/itemviews/frozencolumn/main.cpp
+++ b/examples/itemviews/frozencolumn/main.cpp
@@ -39,7 +39,6 @@
**
****************************************************************************/
-
#include <QApplication>
#include <QStandardItemModel>
#include <QFile>
diff --git a/examples/mainwindows/application/main.cpp b/examples/mainwindows/application/main.cpp
index f83e709..2fe6d5f 100644
--- a/examples/mainwindows/application/main.cpp
+++ b/examples/mainwindows/application/main.cpp
@@ -49,6 +49,8 @@ int main(int argc, char *argv[])
Q_INIT_RESOURCE(application);
QApplication app(argc, argv);
+ app.setOrganizationName("Trolltech");
+ app.setApplicationName("Application Example");
MainWindow mainWin;
mainWin.show();
return app.exec();
diff --git a/examples/mainwindows/application/mainwindow.cpp b/examples/mainwindows/application/mainwindow.cpp
index 68c7287..43dfe14 100644
--- a/examples/mainwindows/application/mainwindow.cpp
+++ b/examples/mainwindows/application/mainwindow.cpp
@@ -377,13 +377,10 @@ void MainWindow::setCurrentFile(const QString &fileName)
textEdit->document()->setModified(false);
setWindowModified(false);
- QString shownName;
+ QString shownName = curFile;
if (curFile.isEmpty())
shownName = "untitled.txt";
- else
- shownName = strippedName(curFile);
-
- setWindowTitle(tr("%1[*] - %2").arg(shownName).arg(tr("Application")));
+ setWindowFilePath(shownName);
}
//! [47]
diff --git a/examples/mainwindows/mdi/mainwindow.cpp b/examples/mainwindows/mdi/mainwindow.cpp
index 3cb54f1..9ef2cae 100644
--- a/examples/mainwindows/mdi/mainwindow.cpp
+++ b/examples/mainwindows/mdi/mainwindow.cpp
@@ -259,7 +259,6 @@ void MainWindow::createActions()
connect(pasteAct, SIGNAL(triggered()), this, SLOT(paste()));
closeAct = new QAction(tr("Cl&ose"), this);
- closeAct->setShortcut(tr("Ctrl+F4"));
closeAct->setStatusTip(tr("Close the active window"));
connect(closeAct, SIGNAL(triggered()),
mdiArea, SLOT(closeActiveSubWindow()));
diff --git a/examples/mainwindows/recentfiles/main.cpp b/examples/mainwindows/recentfiles/main.cpp
index 5417429..1dd3c1b 100644
--- a/examples/mainwindows/recentfiles/main.cpp
+++ b/examples/mainwindows/recentfiles/main.cpp
@@ -46,6 +46,8 @@
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
+ app.setOrganizationName("Trolltech");
+ app.setApplicationName("Recent Files Example");
MainWindow *mainWin = new MainWindow;
mainWin->show();
return app.exec();
diff --git a/examples/mainwindows/recentfiles/mainwindow.cpp b/examples/mainwindows/recentfiles/mainwindow.cpp
index 1671f53..53d0d0e 100644
--- a/examples/mainwindows/recentfiles/mainwindow.cpp
+++ b/examples/mainwindows/recentfiles/mainwindow.cpp
@@ -54,7 +54,7 @@ MainWindow::MainWindow()
createMenus();
(void)statusBar();
- setWindowTitle(tr("Recent Files"));
+ setWindowFilePath(QString());
resize(400, 300);
}
@@ -209,13 +209,9 @@ void MainWindow::saveFile(const QString &fileName)
void MainWindow::setCurrentFile(const QString &fileName)
{
curFile = fileName;
- if (curFile.isEmpty())
- setWindowTitle(tr("Recent Files"));
- else
- setWindowTitle(tr("%1 - %2").arg(strippedName(curFile))
- .arg(tr("Recent Files")));
+ setWindowFilePath(curFile);
- QSettings settings("Trolltech", "Recent Files Example");
+ QSettings settings;
QStringList files = settings.value("recentFileList").toStringList();
files.removeAll(fileName);
files.prepend(fileName);
@@ -233,7 +229,7 @@ void MainWindow::setCurrentFile(const QString &fileName)
void MainWindow::updateRecentFileActions()
{
- QSettings settings("Trolltech", "Recent Files Example");
+ QSettings settings;
QStringList files = settings.value("recentFileList").toStringList();
int numRecentFiles = qMin(files.size(), (int)MaxRecentFiles);
diff --git a/examples/mainwindows/sdi/main.cpp b/examples/mainwindows/sdi/main.cpp
index a7e20d8..055d761 100644
--- a/examples/mainwindows/sdi/main.cpp
+++ b/examples/mainwindows/sdi/main.cpp
@@ -47,6 +47,8 @@ int main(int argc, char *argv[])
{
Q_INIT_RESOURCE(sdi);
QApplication app(argc, argv);
+ app.setApplicationName("SDI Example");
+ app.setOrganizationName("Trolltech");
MainWindow *mainWin = new MainWindow;
mainWin->show();
return app.exec();
diff --git a/examples/mainwindows/sdi/mainwindow.cpp b/examples/mainwindows/sdi/mainwindow.cpp
index 8710105..1e7f2c0 100644
--- a/examples/mainwindows/sdi/mainwindow.cpp
+++ b/examples/mainwindows/sdi/mainwindow.cpp
@@ -266,7 +266,7 @@ void MainWindow::createStatusBar()
void MainWindow::readSettings()
{
- QSettings settings("Trolltech", "SDI Example");
+ QSettings settings;
QPoint pos = settings.value("pos", QPoint(200, 200)).toPoint();
QSize size = settings.value("size", QSize(400, 400)).toSize();
move(pos);
@@ -275,7 +275,7 @@ void MainWindow::readSettings()
void MainWindow::writeSettings()
{
- QSettings settings("Trolltech", "SDI Example");
+ QSettings settings;
settings.setValue("pos", pos());
settings.setValue("size", size());
}
@@ -352,9 +352,7 @@ void MainWindow::setCurrentFile(const QString &fileName)
textEdit->document()->setModified(false);
setWindowModified(false);
-
- setWindowTitle(tr("%1[*] - %2").arg(strippedName(curFile))
- .arg(tr("SDI")));
+ setWindowFilePath(curFile);
}
QString MainWindow::strippedName(const QString &fullFileName)
diff --git a/examples/multimedia/README b/examples/multimedia/README
new file mode 100644
index 0000000..aa78e36
--- /dev/null
+++ b/examples/multimedia/README
@@ -0,0 +1,34 @@
+
+The example launcher provided with Qt can be used to explore each of the
+examples in this directory.
+
+Documentation for these examples can be found via the Tutorial and Examples
+link in the main Qt documentation.
+
+
+Finding the Qt Examples and Demos launcher
+==========================================
+
+On Windows:
+
+The launcher can be accessed via the Windows Start menu. Select the menu
+entry entitled "Qt Examples and Demos" entry in the submenu containing
+the Qt tools.
+
+On Mac OS X:
+
+For the binary distribution, the qtdemo executable is installed in the
+/Developer/Applications/Qt directory. For the source distribution, it is
+installed alongside the other Qt tools on the path specified when Qt is
+configured.
+
+On Unix/Linux:
+
+The qtdemo executable is installed alongside the other Qt tools on the path
+specified when Qt is configured.
+
+On all platforms:
+
+The source code for the launcher can be found in the demos/qtdemo directory
+in the Qt package. This example is built at the same time as the Qt libraries,
+tools, examples, and demonstrations.
diff --git a/examples/multimedia/audio/audio.pro b/examples/multimedia/audio/audio.pro
new file mode 100644
index 0000000..c64bb34
--- /dev/null
+++ b/examples/multimedia/audio/audio.pro
@@ -0,0 +1,10 @@
+TEMPLATE = subdirs
+SUBDIRS = audioinput \
+ audiooutput \
+ audiodevices
+
+# install
+target.path = $$[QT_INSTALL_EXAMPLES]/multimedia/audio
+sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS audio.pro README
+sources.path = $$[QT_INSTALL_EXAMPLES]/multimedia/audio
+INSTALLS += target sources
diff --git a/examples/multimedia/audio/audiodevices/audiodevices.cpp b/examples/multimedia/audio/audiodevices/audiodevices.cpp
new file mode 100644
index 0000000..2a3af98
--- /dev/null
+++ b/examples/multimedia/audio/audiodevices/audiodevices.cpp
@@ -0,0 +1,272 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+
+#include <QDebug>
+#include <QAudioDeviceInfo>
+
+#include "audiodevices.h"
+
+AudioDevicesBase::AudioDevicesBase( QMainWindow *parent, Qt::WFlags f )
+{
+ Q_UNUSED(parent)
+ Q_UNUSED(f)
+ setupUi( this );
+}
+
+AudioDevicesBase::~AudioDevicesBase() {}
+
+
+AudioTest::AudioTest( QMainWindow *parent, Qt::WFlags f )
+ : AudioDevicesBase( parent, f )
+{
+ mode = QAudio::AudioOutput;
+ modeBox->addItem("Input");
+ modeBox->addItem("Output");
+
+ connect(testButton,SIGNAL(clicked()),SLOT(test()));
+ connect(modeBox,SIGNAL(activated(int)),SLOT(modeChanged(int)));
+ connect(deviceBox,SIGNAL(activated(int)),SLOT(deviceChanged(int)));
+ connect(frequencyBox,SIGNAL(activated(int)),SLOT(freqChanged(int)));
+ connect(channelsBox,SIGNAL(activated(int)),SLOT(channelChanged(int)));
+ connect(codecsBox,SIGNAL(activated(int)),SLOT(codecChanged(int)));
+ connect(sampleSizesBox,SIGNAL(activated(int)),SLOT(sampleSizeChanged(int)));
+ connect(sampleTypesBox,SIGNAL(activated(int)),SLOT(sampleTypeChanged(int)));
+ connect(endianBox,SIGNAL(activated(int)),SLOT(endianChanged(int)));
+
+ device = 0;
+
+ modeBox->setCurrentIndex(0);
+ modeChanged(0);
+ deviceBox->setCurrentIndex(0);
+ deviceChanged(0);
+}
+
+AudioTest::~AudioTest()
+{
+}
+
+void AudioTest::test()
+{
+ // tries to set all the settings picked.
+
+ if(device) {
+ if(device->isFormatSupported(settings)) {
+ logOutput->append("Success");
+ nearestFreq->setText("");
+ nearestChannel->setText("");
+ nearestCodec->setText("");
+ nearestSampleSize->setText("");
+ nearestSampleType->setText("");
+ nearestEndian->setText("");
+ } else {
+ QAudioFormat nearest = device->nearestFormat(settings);
+ logOutput->append(tr("Failed"));
+ nearestFreq->setText(QString("%1").arg(nearest.frequency()));
+ nearestChannel->setText(QString("%1").arg(nearest.channels()));
+ nearestCodec->setText(nearest.codec());
+ nearestSampleSize->setText(QString("%1").arg(nearest.sampleSize()));
+
+ switch(nearest.sampleType()) {
+ case QAudioFormat::SignedInt:
+ nearestSampleType->setText("SignedInt");
+ break;
+ case QAudioFormat::UnSignedInt:
+ nearestSampleType->setText("UnSignedInt");
+ break;
+ case QAudioFormat::Float:
+ nearestSampleType->setText("Float");
+ break;
+ case QAudioFormat::Unknown:
+ nearestSampleType->setText("Unknown");
+ }
+ switch(nearest.byteOrder()) {
+ case QAudioFormat::LittleEndian:
+ nearestEndian->setText("LittleEndian");
+ break;
+ case QAudioFormat::BigEndian:
+ nearestEndian->setText("BigEndian");
+ }
+ }
+ }
+ else
+ logOutput->append("No Device");
+}
+
+void AudioTest::modeChanged(int idx)
+{
+ // mode has changed
+ if(idx == 0)
+ mode=QAudio::AudioInput;
+ else
+ mode=QAudio::AudioOutput;
+
+ deviceBox->clear();
+ QList<QAudioDeviceId> devices = QAudioDeviceInfo::deviceList(mode);
+ for(int i = 0; i < devices.size(); ++i) {
+ deviceBox->addItem(QAudioDeviceInfo(devices.at(i)).deviceName(), qVariantFromValue(devices.at(i)));
+ }
+}
+
+void AudioTest::deviceChanged(int idx)
+{
+ delete device;
+ device = 0;
+
+ if (deviceBox->count() == 0)
+ return;
+
+ // device has changed
+ deviceHandle = deviceBox->itemData(idx).value<QAudioDeviceId>();
+ device = new QAudioDeviceInfo(deviceHandle, this);
+
+ frequencyBox->clear();
+ QList<int> freqz = device->supportedFrequencies();
+ for(int i = 0; i < freqz.size(); ++i)
+ frequencyBox->addItem(QString("%1").arg(freqz.at(i)));
+ if(freqz.size())
+ settings.setFrequency(freqz.at(0));
+
+ channelsBox->clear();
+ QList<int> chz = device->supportedChannels();
+ for(int i = 0; i < chz.size(); ++i)
+ channelsBox->addItem(QString("%1").arg(chz.at(i)));
+ if(chz.size())
+ settings.setChannels(chz.at(0));
+
+ codecsBox->clear();
+ QStringList codecz = device->supportedCodecs();
+ for(int i = 0; i < codecz.size(); ++i)
+ codecsBox->addItem(QString("%1").arg(codecz.at(i)));
+ if(codecz.size())
+ settings.setCodec(codecz.at(0));
+ // Add false to create failed condition!
+ codecsBox->addItem("audio/mpeg");
+
+ sampleSizesBox->clear();
+ QList<int> sampleSizez = device->supportedSampleSizes();
+ for(int i = 0; i < sampleSizez.size(); ++i)
+ sampleSizesBox->addItem(QString("%1").arg(sampleSizez.at(i)));
+ if(sampleSizez.size())
+ settings.setSampleSize(sampleSizez.at(0));
+
+ sampleTypesBox->clear();
+ QList<QAudioFormat::SampleType> sampleTypez = device->supportedSampleTypes();
+ for(int i = 0; i < sampleTypez.size(); ++i) {
+ switch(sampleTypez.at(i)) {
+ case QAudioFormat::SignedInt:
+ sampleTypesBox->addItem("SignedInt");
+ break;
+ case QAudioFormat::UnSignedInt:
+ sampleTypesBox->addItem("UnSignedInt");
+ break;
+ case QAudioFormat::Float:
+ sampleTypesBox->addItem("Float");
+ break;
+ case QAudioFormat::Unknown:
+ sampleTypesBox->addItem("Unknown");
+ }
+ if(sampleTypez.size())
+ settings.setSampleType(sampleTypez.at(0));
+ }
+
+ endianBox->clear();
+ QList<QAudioFormat::Endian> endianz = device->supportedByteOrders();
+ for(int i = 0; i < endianz.size(); ++i) {
+ switch(endianz.at(i)) {
+ case QAudioFormat::LittleEndian:
+ endianBox->addItem("Little Endian");
+ break;
+ case QAudioFormat::BigEndian:
+ endianBox->addItem("Big Endian");
+ break;
+ }
+ }
+ if(endianz.size())
+ settings.setByteOrder(endianz.at(0));
+}
+
+void AudioTest::freqChanged(int idx)
+{
+ // freq has changed
+ settings.setFrequency(frequencyBox->itemText(idx).toInt());
+}
+
+void AudioTest::channelChanged(int idx)
+{
+ settings.setChannels(channelsBox->itemText(idx).toInt());
+}
+
+void AudioTest::codecChanged(int idx)
+{
+ settings.setCodec(codecsBox->itemText(idx));
+}
+
+void AudioTest::sampleSizeChanged(int idx)
+{
+ settings.setSampleSize(sampleSizesBox->itemText(idx).toInt());
+}
+
+void AudioTest::sampleTypeChanged(int idx)
+{
+ switch(sampleTypesBox->itemText(idx).toInt()) {
+ case QAudioFormat::SignedInt:
+ settings.setSampleType(QAudioFormat::SignedInt);
+ break;
+ case QAudioFormat::UnSignedInt:
+ settings.setSampleType(QAudioFormat::UnSignedInt);
+ break;
+ case QAudioFormat::Float:
+ settings.setSampleType(QAudioFormat::Float);
+ }
+}
+
+void AudioTest::endianChanged(int idx)
+{
+ switch(endianBox->itemText(idx).toInt()) {
+ case QAudioFormat::LittleEndian:
+ settings.setByteOrder(QAudioFormat::LittleEndian);
+ break;
+ case QAudioFormat::BigEndian:
+ settings.setByteOrder(QAudioFormat::BigEndian);
+ }
+}
+
diff --git a/examples/multimedia/audio/audiodevices/audiodevices.h b/examples/multimedia/audio/audiodevices/audiodevices.h
new file mode 100644
index 0000000..34a531b
--- /dev/null
+++ b/examples/multimedia/audio/audiodevices/audiodevices.h
@@ -0,0 +1,79 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+
+#include <QObject>
+#include <QMainWindow>
+#include <QAudioDeviceInfo>
+
+#include "ui_audiodevicesbase.h"
+
+class AudioDevicesBase : public QMainWindow, public Ui::AudioDevicesBase
+{
+public:
+ AudioDevicesBase( QMainWindow *parent = 0, Qt::WFlags f = 0 );
+ virtual ~AudioDevicesBase();
+};
+
+class AudioTest : public AudioDevicesBase
+{
+ Q_OBJECT
+public:
+ AudioTest( QMainWindow *parent = 0, Qt::WFlags f = 0 );
+ virtual ~AudioTest();
+
+ QAudioDeviceId deviceHandle;
+ QAudioDeviceInfo* device;
+ QAudioFormat settings;
+ QAudio::Mode mode;
+
+private slots:
+ void modeChanged(int idx);
+ void deviceChanged(int idx);
+ void freqChanged(int idx);
+ void channelChanged(int idx);
+ void codecChanged(int idx);
+ void sampleSizeChanged(int idx);
+ void sampleTypeChanged(int idx);
+ void endianChanged(int idx);
+ void test();
+};
+
diff --git a/examples/multimedia/audio/audiodevices/audiodevices.pro b/examples/multimedia/audio/audiodevices/audiodevices.pro
new file mode 100644
index 0000000..adc4890
--- /dev/null
+++ b/examples/multimedia/audio/audiodevices/audiodevices.pro
@@ -0,0 +1,12 @@
+HEADERS = audiodevices.h
+SOURCES = audiodevices.cpp \
+ main.cpp
+FORMS += audiodevicesbase.ui
+
+QT += multimedia
+
+# install
+target.path = $$[QT_INSTALL_EXAMPLES]/multimedia/audio/audiodevices
+sources.files = $$SOURCES *.h $$RESOURCES $$FORMS audiodevices.pro
+sources.path = $$[QT_INSTALL_EXAMPLES]/multimedia/audio/audiodevices
+INSTALLS += target sources
diff --git a/examples/multimedia/audio/audiodevices/audiodevicesbase.ui b/examples/multimedia/audio/audiodevices/audiodevicesbase.ui
new file mode 100644
index 0000000..674f201
--- /dev/null
+++ b/examples/multimedia/audio/audiodevices/audiodevicesbase.ui
@@ -0,0 +1,255 @@
+<ui version="4.0" >
+ <class>AudioDevicesBase</class>
+ <widget class="QMainWindow" name="AudioDevicesBase" >
+ <property name="geometry" >
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>504</width>
+ <height>702</height>
+ </rect>
+ </property>
+ <property name="windowTitle" >
+ <string>AudioDevicesBase</string>
+ </property>
+ <widget class="QWidget" name="centralwidget" >
+ <property name="geometry" >
+ <rect>
+ <x>0</x>
+ <y>28</y>
+ <width>504</width>
+ <height>653</height>
+ </rect>
+ </property>
+ <widget class="QWidget" name="layoutWidget" >
+ <property name="geometry" >
+ <rect>
+ <x>40</x>
+ <y>21</y>
+ <width>321</width>
+ <height>506</height>
+ </rect>
+ </property>
+ <layout class="QGridLayout" name="gridLayout" >
+ <item row="0" column="0" >
+ <widget class="QLabel" name="deviceLabel" >
+ <property name="sizePolicy" >
+ <sizepolicy vsizetype="Preferred" hsizetype="Preferred" >
+ <horstretch>1</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text" >
+ <string>Device</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1" >
+ <widget class="QLabel" name="modeLabel" >
+ <property name="text" >
+ <string>Mode</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0" >
+ <widget class="QComboBox" name="deviceBox" />
+ </item>
+ <item row="1" column="1" >
+ <widget class="QComboBox" name="modeBox" />
+ </item>
+ <item row="2" column="0" >
+ <widget class="QLabel" name="actualLabel" >
+ <property name="frameShape" >
+ <enum>QFrame::Panel</enum>
+ </property>
+ <property name="frameShadow" >
+ <enum>QFrame::Raised</enum>
+ </property>
+ <property name="text" >
+ <string>Actual Settings</string>
+ </property>
+ <property name="alignment" >
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1" >
+ <widget class="QLabel" name="nearestLabel" >
+ <property name="frameShape" >
+ <enum>QFrame::Panel</enum>
+ </property>
+ <property name="frameShadow" >
+ <enum>QFrame::Raised</enum>
+ </property>
+ <property name="text" >
+ <string>Nearest Settings</string>
+ </property>
+ <property name="alignment" >
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="0" >
+ <widget class="QLabel" name="actualFreqLabel" >
+ <property name="text" >
+ <string>Frequency</string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="1" >
+ <widget class="QLabel" name="nearestFreqLabel" >
+ <property name="text" >
+ <string>Frequency</string>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="0" >
+ <widget class="QComboBox" name="frequencyBox" />
+ </item>
+ <item row="4" column="1" >
+ <widget class="QLineEdit" name="nearestFreq" />
+ </item>
+ <item row="5" column="0" >
+ <widget class="QLabel" name="actualChannelsLabel" >
+ <property name="text" >
+ <string>Channels</string>
+ </property>
+ </widget>
+ </item>
+ <item row="5" column="1" >
+ <widget class="QLabel" name="nearestChannelLabel" >
+ <property name="text" >
+ <string>Channel</string>
+ </property>
+ </widget>
+ </item>
+ <item row="6" column="0" >
+ <widget class="QComboBox" name="channelsBox" />
+ </item>
+ <item row="6" column="1" >
+ <widget class="QLineEdit" name="nearestChannel" />
+ </item>
+ <item row="7" column="0" >
+ <widget class="QLabel" name="actualCodecLabel" >
+ <property name="text" >
+ <string>Codecs</string>
+ </property>
+ </widget>
+ </item>
+ <item row="7" column="1" >
+ <widget class="QLabel" name="nearestCodecLabel" >
+ <property name="text" >
+ <string>Codec</string>
+ </property>
+ </widget>
+ </item>
+ <item row="8" column="0" >
+ <widget class="QComboBox" name="codecsBox" />
+ </item>
+ <item row="8" column="1" >
+ <widget class="QLineEdit" name="nearestCodec" />
+ </item>
+ <item row="9" column="0" >
+ <widget class="QLabel" name="actualSampleSizeLabel" >
+ <property name="text" >
+ <string>SampleSize</string>
+ </property>
+ </widget>
+ </item>
+ <item row="9" column="1" >
+ <widget class="QLabel" name="nearestSampleSizeLabel" >
+ <property name="text" >
+ <string>SampleSize</string>
+ </property>
+ </widget>
+ </item>
+ <item row="10" column="0" >
+ <widget class="QComboBox" name="sampleSizesBox" />
+ </item>
+ <item row="10" column="1" >
+ <widget class="QLineEdit" name="nearestSampleSize" />
+ </item>
+ <item row="11" column="0" >
+ <widget class="QLabel" name="actualSampleTypeLabel" >
+ <property name="text" >
+ <string>SampleType</string>
+ </property>
+ </widget>
+ </item>
+ <item row="11" column="1" >
+ <widget class="QLabel" name="nearestSampleTypeLabel" >
+ <property name="text" >
+ <string>SampleType</string>
+ </property>
+ </widget>
+ </item>
+ <item row="12" column="0" >
+ <widget class="QComboBox" name="sampleTypesBox" />
+ </item>
+ <item row="12" column="1" >
+ <widget class="QLineEdit" name="nearestSampleType" />
+ </item>
+ <item row="13" column="0" >
+ <widget class="QLabel" name="actualEndianLabel" >
+ <property name="text" >
+ <string>Endianess</string>
+ </property>
+ </widget>
+ </item>
+ <item row="13" column="1" >
+ <widget class="QLabel" name="nearestEndianLabel" >
+ <property name="text" >
+ <string>Endianess</string>
+ </property>
+ </widget>
+ </item>
+ <item row="14" column="0" >
+ <widget class="QComboBox" name="endianBox" />
+ </item>
+ <item row="14" column="1" >
+ <widget class="QLineEdit" name="nearestEndian" />
+ </item>
+ <item row="15" column="0" colspan="2" >
+ <widget class="QTextEdit" name="logOutput" >
+ <property name="minimumSize" >
+ <size>
+ <width>0</width>
+ <height>40</height>
+ </size>
+ </property>
+ </widget>
+ </item>
+ <item row="16" column="0" colspan="2" >
+ <widget class="QPushButton" name="testButton" >
+ <property name="text" >
+ <string>Test</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </widget>
+ <widget class="QMenuBar" name="menubar" >
+ <property name="geometry" >
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>504</width>
+ <height>28</height>
+ </rect>
+ </property>
+ </widget>
+ <widget class="QStatusBar" name="statusbar" >
+ <property name="geometry" >
+ <rect>
+ <x>0</x>
+ <y>681</y>
+ <width>504</width>
+ <height>21</height>
+ </rect>
+ </property>
+ </widget>
+ </widget>
+ <resources/>
+ <connections/>
+</ui>
diff --git a/examples/multimedia/audio/audiodevices/main.cpp b/examples/multimedia/audio/audiodevices/main.cpp
new file mode 100644
index 0000000..12e413e
--- /dev/null
+++ b/examples/multimedia/audio/audiodevices/main.cpp
@@ -0,0 +1,55 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QtGui>
+
+#include "audiodevices.h"
+
+int main(int argv, char **args)
+{
+ QApplication app(argv, args);
+ app.setApplicationName("Audio Device Test");
+
+ AudioTest audio;
+ audio.show();
+
+ return app.exec();
+}
diff --git a/examples/multimedia/audio/audioinput/audioinput.cpp b/examples/multimedia/audio/audioinput/audioinput.cpp
new file mode 100644
index 0000000..ae7d84c
--- /dev/null
+++ b/examples/multimedia/audio/audioinput/audioinput.cpp
@@ -0,0 +1,376 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <stdlib.h>
+#include <math.h>
+
+#include <QDebug>
+#include <QPainter>
+#include <QVBoxLayout>
+
+#include <QAudioDeviceInfo>
+#include <QAudioInput>
+#include "audioinput.h"
+
+#ifndef M_PI
+#define M_PI 3.14159265358979323846
+#endif
+
+Spectrum::Spectrum(QObject* parent, QAudioInput* device, float* out)
+ :QIODevice( parent )
+{
+ input = device;
+ output = out;
+
+ unsigned int i;
+
+ // Allocate sample buffer and initialize sin and cos lookup tables
+ fftState = (fft_state *) malloc (sizeof(fft_state));
+
+ for(i = 0; i < BUFFER_SIZE; i++) {
+ bitReverse[i] = reverseBits(i);
+ }
+ for(i = 0; i < BUFFER_SIZE / 2; i++) {
+ float j = 2 * M_PI * i / BUFFER_SIZE;
+ costable[i] = cos(j);
+ sintable[i] = sin(j);
+ }
+}
+
+Spectrum::~Spectrum()
+{
+}
+
+void Spectrum::start()
+{
+ open(QIODevice::WriteOnly);
+}
+
+void Spectrum::stop()
+{
+ close();
+}
+
+qint64 Spectrum::readData(char *data, qint64 maxlen)
+{
+ Q_UNUSED(data)
+ Q_UNUSED(maxlen)
+
+ return 0;
+}
+
+qint64 Spectrum::writeData(const char *data, qint64 len)
+{
+ performFFT((sound_sample*)data);
+ emit update();
+
+ return len;
+}
+
+int Spectrum::reverseBits(unsigned int initial) {
+ // BIT-REVERSE-COPY(a,A)
+
+ unsigned int reversed = 0, loop;
+ for(loop = 0; loop < BUFFER_SIZE_LOG; loop++) {
+ reversed <<= 1;
+ reversed += (initial & 1);
+ initial >>= 1;
+ }
+ return reversed;
+}
+
+void Spectrum::performFFT(const sound_sample *input) {
+ /* Convert to reverse bit order for FFT */
+ prepFFT(input, fftState->real, fftState->imag);
+
+ /* Calculate FFT */
+ calcFFT(fftState->real, fftState->imag);
+
+ /* Convert FFT to intensities */
+ outputFFT(fftState->real, fftState->imag);
+}
+
+void Spectrum::prepFFT(const sound_sample *input, float * re, float * im) {
+ unsigned int i;
+ float *realptr = re;
+ float *imagptr = im;
+
+ /* Get input, in reverse bit order */
+ for(i = 0; i < BUFFER_SIZE; i++) {
+ *realptr++ = input[bitReverse[i]];
+ *imagptr++ = 0;
+ }
+}
+
+void Spectrum::calcFFT(float * re, float * im) {
+ unsigned int i, j, k;
+ unsigned int exchanges;
+ float fact_real, fact_imag;
+ float tmp_real, tmp_imag;
+ unsigned int factfact;
+
+ /* Set up some variables to reduce calculation in the loops */
+ exchanges = 1;
+ factfact = BUFFER_SIZE / 2;
+
+ /* divide and conquer method */
+ for(i = BUFFER_SIZE_LOG; i != 0; i--) {
+ for(j = 0; j != exchanges; j++) {
+ fact_real = costable[j * factfact];
+ fact_imag = sintable[j * factfact];
+ for(k = j; k < BUFFER_SIZE; k += exchanges << 1) {
+ int k1 = k + exchanges;
+ tmp_real = fact_real * re[k1] - fact_imag * im[k1];
+ tmp_imag = fact_real * im[k1] + fact_imag * re[k1];
+ re[k1] = re[k] - tmp_real;
+ im[k1] = im[k] - tmp_imag;
+ re[k] += tmp_real;
+ im[k] += tmp_imag;
+ }
+ }
+ exchanges <<= 1;
+ factfact >>= 1;
+ }
+}
+
+void Spectrum::outputFFT(const float * re, const float * im) {
+ const float *realptr = re;
+ const float *imagptr = im;
+ float *outputptr = output;
+
+ float *endptr = output + BUFFER_SIZE / 2;
+
+ /* Convert FFT to intensities */
+
+ while(outputptr <= endptr) {
+ *outputptr = (*realptr * *realptr) + (*imagptr * *imagptr);
+ outputptr++; realptr++; imagptr++;
+ }
+ *output /= 4;
+ *endptr /= 4;
+}
+
+
+RenderArea::RenderArea(QWidget *parent)
+ : QWidget(parent)
+{
+ setBackgroundRole(QPalette::Base);
+ setAutoFillBackground(true);
+
+ samples = 0;
+ sampleSize = 0;
+ setMinimumHeight(30);
+ setMinimumWidth(200);
+}
+
+void RenderArea::paintEvent(QPaintEvent * /* event */)
+{
+ QPainter painter(this);
+
+ if(sampleSize == 0)
+ return;
+
+ painter.setPen(Qt::red);
+ int max = 0;
+ for(int i=0;i<sampleSize;i++) {
+ int m = (int)(sqrt(samples[i])/32768);
+ if(m > max)
+ max = m;
+ }
+ int x1,y1,x2,y2;
+
+ for(int i=0;i<10;i++) {
+ x1 = painter.viewport().left()+11;
+ y1 = painter.viewport().top()+10+i;
+ x2 = painter.viewport().right()-20-max;
+ y2 = painter.viewport().top()+10+i;
+ if(x2 < painter.viewport().left()+10)
+ x2 = painter.viewport().left()+10;
+
+ painter.drawLine(QPoint(x1,y1),QPoint(x2,y2));
+ }
+
+ painter.setPen(Qt::black);
+ painter.drawRect(QRect(painter.viewport().left()+10, painter.viewport().top()+10,
+ painter.viewport().right()-20, painter.viewport().bottom()-20));
+}
+
+void RenderArea::spectrum(float* output, int size)
+{
+ samples = output;
+ sampleSize = size;
+ repaint();
+}
+
+
+InputTest::InputTest()
+{
+ QWidget *window = new QWidget;
+ QVBoxLayout* layout = new QVBoxLayout;
+
+ canvas = new RenderArea;
+ layout->addWidget(canvas);
+
+ deviceBox = new QComboBox(this);
+ QList<QAudioDeviceId> devices = QAudioDeviceInfo::deviceList(QAudio::AudioInput);
+ for(int i = 0; i < devices.size(); ++i) {
+ deviceBox->addItem(QAudioDeviceInfo(devices.at(i)).deviceName(), qVariantFromValue(devices.at(i)));
+ }
+ connect(deviceBox,SIGNAL(activated(int)),SLOT(deviceChanged(int)));
+ layout->addWidget(deviceBox);
+
+ button = new QPushButton(this);
+ button->setText(tr("Click for Push Mode"));
+ connect(button,SIGNAL(clicked()),SLOT(toggleMode()));
+ layout->addWidget(button);
+
+ button2 = new QPushButton(this);
+ button2->setText(tr("Click To Suspend"));
+ connect(button2,SIGNAL(clicked()),SLOT(toggleSuspend()));
+ layout->addWidget(button2);
+
+ window->setLayout(layout);
+ setCentralWidget(window);
+ window->show();
+
+ buffer = new char[BUFFER_SIZE*10];
+ output = new float[1024];
+
+ pullMode = true;
+
+ format.setFrequency(8000);
+ format.setChannels(1);
+ format.setSampleSize(8);
+ format.setSampleType(QAudioFormat::UnSignedInt);
+ format.setByteOrder(QAudioFormat::LittleEndian);
+ format.setCodec("audio/pcm");
+
+ audioInput = new QAudioInput(format,this);
+ connect(audioInput,SIGNAL(notify()),SLOT(status()));
+ connect(audioInput,SIGNAL(stateChanged(QAudio::State)),SLOT(state(QAudio::State)));
+ spec = new Spectrum(this,audioInput,output);
+ connect(spec,SIGNAL(update()),SLOT(refreshDisplay()));
+ spec->start();
+ audioInput->start(spec);
+}
+
+InputTest::~InputTest() {}
+
+void InputTest::status()
+{
+ qWarning()<<"bytesReady = "<<audioInput->bytesReady()<<" bytes, clock = "<<audioInput->clock()<<"ms, totalTime = "<<audioInput->totalTime()/1000<<"ms";
+}
+
+void InputTest::readMore()
+{
+ if(!audioInput)
+ return;
+ qint64 len = audioInput->bytesReady();
+ if(len > BUFFER_SIZE*10)
+ len = BUFFER_SIZE*10;
+ qint64 l = input->read(buffer,len);
+ if(l > 0) {
+ spec->write(buffer,l);
+ }
+}
+
+void InputTest::toggleMode()
+{
+ // Change bewteen pull and push modes
+ audioInput->stop();
+
+ if(pullMode) {
+ button->setText(tr("Click for Push Mode"));
+ input = audioInput->start(0);
+ connect(input,SIGNAL(readyRead()),SLOT(readMore()));
+ pullMode = false;
+ } else {
+ button->setText(tr("Click for Pull Mode"));
+ pullMode = true;
+ audioInput->start(spec);
+ }
+}
+
+void InputTest::toggleSuspend()
+{
+ // toggle suspend/resume
+ if(audioInput->state() == QAudio::SuspendState) {
+ qWarning()<<"status: Suspended, resume()";
+ audioInput->resume();
+ button2->setText("Click To Suspend");
+ } else if (audioInput->state() == QAudio::ActiveState) {
+ qWarning()<<"status: Active, suspend()";
+ audioInput->suspend();
+ button2->setText("Click To Resume");
+ } else if (audioInput->state() == QAudio::StopState) {
+ qWarning()<<"status: Stopped, resume()";
+ audioInput->resume();
+ button2->setText("Click To Suspend");
+ } else if (audioInput->state() == QAudio::IdleState) {
+ qWarning()<<"status: IdleState";
+ }
+}
+
+void InputTest::state(QAudio::State state)
+{
+ qWarning()<<" state="<<state;
+}
+
+void InputTest::refreshDisplay()
+{
+ canvas->spectrum(output,256);
+ canvas->repaint();
+}
+
+void InputTest::deviceChanged(int idx)
+{
+ spec->stop();
+ audioInput->stop();
+ audioInput->disconnect(this);
+ delete audioInput;
+
+ device = deviceBox->itemData(idx).value<QAudioDeviceId>();
+ audioInput = new QAudioInput(device, format, this);
+ connect(audioInput,SIGNAL(notify()),SLOT(status()));
+ connect(audioInput,SIGNAL(stateChanged(QAudio::State)),SLOT(state(QAudio::State)));
+ spec->start();
+ audioInput->start(spec);
+}
diff --git a/examples/multimedia/audio/audioinput/audioinput.h b/examples/multimedia/audio/audioinput/audioinput.h
new file mode 100644
index 0000000..3a6b356
--- /dev/null
+++ b/examples/multimedia/audio/audioinput/audioinput.h
@@ -0,0 +1,144 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QPixmap>
+#include <QWidget>
+#include <QObject>
+#include <QMainWindow>
+#include <QPushButton>
+#include <QComboBox>
+
+#include <qaudioinput.h>
+
+#define BUFFER_SIZE_LOG 9
+#define BUFFER_SIZE (1 << BUFFER_SIZE_LOG)
+
+struct _struct_fft_state {
+ float real[BUFFER_SIZE];
+ float imag[BUFFER_SIZE];
+};
+typedef _struct_fft_state fft_state;
+typedef short int sound_sample;
+
+class Spectrum : public QIODevice
+{
+ Q_OBJECT
+public:
+ Spectrum(QObject* parent, QAudioInput* device, float* out);
+ ~Spectrum();
+
+ void start();
+ void stop();
+
+ qint64 readData(char *data, qint64 maxlen);
+ qint64 writeData(const char *data, qint64 len);
+
+ QAudioInput* input;
+ float* output;
+ fft_state* fftState;
+
+ unsigned int bitReverse[BUFFER_SIZE];
+ float sintable[BUFFER_SIZE / 2];
+ float costable[BUFFER_SIZE / 2];
+
+ void prepFFT (const sound_sample *input, float *re, float *im);
+ void calcFFT (float *re, float *im);
+ void outputFFT (const float *re, const float *im);
+ int reverseBits (unsigned int initial);
+ void performFFT (const sound_sample *input);
+
+signals:
+ void update();
+};
+
+
+class RenderArea : public QWidget
+{
+ Q_OBJECT
+
+public:
+ RenderArea(QWidget *parent = 0);
+
+ void spectrum(float* output, int size);
+
+protected:
+ void paintEvent(QPaintEvent *event);
+
+private:
+ QPixmap pixmap;
+
+ float* samples;
+ int sampleSize;
+};
+
+class InputTest : public QMainWindow
+{
+ Q_OBJECT
+public:
+ InputTest();
+ ~InputTest();
+
+ QAudioDeviceId device;
+ QAudioFormat format;
+ QAudioInput* audioInput;
+ Spectrum* spec;
+ QIODevice* input;
+ RenderArea* canvas;
+
+ bool pullMode;
+
+ QPushButton* button;
+ QPushButton* button2;
+ QComboBox* deviceBox;
+
+ char* buffer;
+ float* output;
+
+private slots:
+ void refreshDisplay();
+ void status();
+ void readMore();
+ void toggleMode();
+ void toggleSuspend();
+ void state(QAudio::State s);
+ void deviceChanged(int idx);
+};
+
diff --git a/examples/multimedia/audio/audioinput/audioinput.pro b/examples/multimedia/audio/audioinput/audioinput.pro
new file mode 100644
index 0000000..d930750
--- /dev/null
+++ b/examples/multimedia/audio/audioinput/audioinput.pro
@@ -0,0 +1,12 @@
+HEADERS = audioinput.h
+SOURCES = audioinput.cpp \
+ main.cpp
+
+QT += multimedia
+
+# install
+target.path = $$[QT_INSTALL_EXAMPLES]/multimedia/audio/audioinput
+sources.files = $$SOURCES *.h $$RESOURCES $$FORMS audioinput.pro
+sources.path = $$[QT_INSTALL_EXAMPLES]/multimedia/audio/audioinput
+INSTALLS += target sources
+
diff --git a/examples/multimedia/audio/audioinput/main.cpp b/examples/multimedia/audio/audioinput/main.cpp
new file mode 100644
index 0000000..64a9b04
--- /dev/null
+++ b/examples/multimedia/audio/audioinput/main.cpp
@@ -0,0 +1,55 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QtGui>
+
+#include "audioinput.h"
+
+int main(int argv, char **args)
+{
+ QApplication app(argv, args);
+ app.setApplicationName("Audio Input Test");
+
+ InputTest input;
+ input.show();
+
+ return app.exec();
+}
diff --git a/examples/multimedia/audio/audiooutput/audiooutput.cpp b/examples/multimedia/audio/audiooutput/audiooutput.cpp
new file mode 100644
index 0000000..be26f19
--- /dev/null
+++ b/examples/multimedia/audio/audiooutput/audiooutput.cpp
@@ -0,0 +1,280 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QDebug>
+#include <QVBoxLayout>
+
+#include <QAudioOutput>
+#include <QAudioDeviceInfo>
+#include "audiooutput.h"
+
+#ifndef M_PI
+#define M_PI 3.14159265358979323846
+#endif
+
+Generator::Generator(QObject *parent)
+ :QIODevice( parent )
+{
+ finished = false;
+ buffer = new char[SECONDS*44100*4+1000];
+ t=buffer;
+ len=fillData(t+4,450,SECONDS); /* left channel, 450Hz sine */
+ len+=fillData(t+6,452,SECONDS); /* right channel, 452Hz sine */
+ putLong(t,len);
+ putLong(buffer+4,len+8+16+8);
+ pos = 0;
+ total = len+8+16+8;
+}
+
+Generator::~Generator()
+{
+ delete [] buffer;
+}
+
+void Generator::start()
+{
+ open(QIODevice::ReadOnly);
+}
+
+void Generator::stop()
+{
+ close();
+}
+
+int Generator::putShort(char *t, unsigned int value)
+{
+ *(unsigned char *)(t++)=value&255;
+ *(unsigned char *)(t)=(value/256)&255;
+ return 2;
+}
+
+int Generator::putLong(char *t, unsigned int value)
+{
+ *(unsigned char *)(t++)=value&255;
+ *(unsigned char *)(t++)=(value/256)&255;
+ *(unsigned char *)(t++)=(value/(256*256))&255;
+ *(unsigned char *)(t)=(value/(256*256*256))&255;
+ return 4;
+}
+
+int Generator::fillData(char *start, int frequency, int seconds)
+{
+ int i, len=0;
+ int value;
+ for(i=0; i<seconds*44100; i++) {
+ value=(int)(32767.0*sin(2.0*M_PI*((double)(i))*(double)(frequency)/44100.0));
+ putShort(start, value);
+ start += 4;
+ len+=2;
+ }
+ return len;
+}
+
+qint64 Generator::readData(char *data, qint64 maxlen)
+{
+ int len = maxlen;
+ if(len > 16384)
+ len = 16384;
+
+ if(len < (SECONDS*44100*4+1000)-pos) {
+ // Normal
+ memcpy(data,t+pos,len);
+ pos+=len;
+ return len;
+ } else {
+ // Whats left and reset to start
+ qint64 left = (SECONDS*44100*4+1000)-pos;
+ memcpy(data,t+pos,left);
+ pos=0;
+ return left;
+ }
+}
+
+qint64 Generator::writeData(const char *data, qint64 len)
+{
+ Q_UNUSED(data);
+ Q_UNUSED(len);
+
+ return 0;
+}
+
+AudioTest::AudioTest()
+{
+ QWidget *window = new QWidget;
+ QVBoxLayout* layout = new QVBoxLayout;
+
+ deviceBox = new QComboBox(this);
+ QList<QAudioDeviceId> devices = QAudioDeviceInfo::deviceList(QAudio::AudioOutput);
+ for(int i = 0; i < devices.size(); ++i) {
+ deviceBox->addItem(QAudioDeviceInfo(devices.at(i)).deviceName(), qVariantFromValue(devices.at(i)));
+ }
+ connect(deviceBox,SIGNAL(activated(int)),SLOT(deviceChanged(int)));
+ layout->addWidget(deviceBox);
+
+ button = new QPushButton(this);
+ button->setText(tr("Click for Push Mode"));
+ connect(button,SIGNAL(clicked()),SLOT(toggle()));
+ layout->addWidget(button);
+
+ button2 = new QPushButton(this);
+ button2->setText(tr("Click To Suspend"));
+ connect(button2,SIGNAL(clicked()),SLOT(togglePlay()));
+ layout->addWidget(button2);
+
+ window->setLayout(layout);
+ setCentralWidget(window);
+ window->show();
+
+ buffer = new char[BUFFER_SIZE];
+
+ gen = new Generator(this);
+
+ pullMode = true;
+
+ timer = new QTimer(this);
+ connect(timer,SIGNAL(timeout()),SLOT(writeMore()));
+
+ gen->start();
+
+ settings.setFrequency(44100);
+ settings.setChannels(2);
+ settings.setSampleSize(16);
+ settings.setCodec("audio/pcm");
+ settings.setByteOrder(QAudioFormat::LittleEndian);
+ settings.setSampleType(QAudioFormat::SignedInt);
+ audioOutput = new QAudioOutput(settings,this);
+ connect(audioOutput,SIGNAL(notify()),SLOT(status()));
+ connect(audioOutput,SIGNAL(stateChanged(QAudio::State)),SLOT(state(QAudio::State)));
+
+ audioOutput->start(gen);
+}
+
+AudioTest::~AudioTest()
+{
+ delete [] buffer;
+}
+
+void AudioTest::deviceChanged(int idx)
+{
+ timer->stop();
+ gen->stop();
+ audioOutput->stop();
+ audioOutput->disconnect(this);
+ delete audioOutput;
+
+ device = deviceBox->itemData(idx).value<QAudioDeviceId>();
+ audioOutput = new QAudioOutput(device,settings,this);
+ connect(audioOutput,SIGNAL(notify()),SLOT(status()));
+ connect(audioOutput,SIGNAL(stateChanged(QAudio::State)),SLOT(state(QAudio::State)));
+ gen->start();
+ audioOutput->start(gen);
+}
+
+void AudioTest::status()
+{
+ qWarning()<<"byteFree = "<<audioOutput->bytesFree()<<" bytes, clock = "<<audioOutput->clock()<<"ms, totalTime = "<<audioOutput->totalTime()/1000<<"ms";
+}
+
+void AudioTest::writeMore()
+{
+ if(!audioOutput)
+ return;
+
+ if(audioOutput->state() == QAudio::StopState)
+ return;
+
+ int l;
+ int out;
+
+ int chunks = audioOutput->bytesFree()/audioOutput->periodSize();
+ while(chunks) {
+ l = gen->read(buffer,audioOutput->periodSize());
+ if(l > 0)
+ out = output->write(buffer,l);
+ if(l != audioOutput->periodSize())
+ break;
+ chunks--;
+ }
+}
+
+void AudioTest::toggle()
+{
+ // Change between pull and push modes
+
+ timer->stop();
+ audioOutput->stop();
+
+ if (pullMode) {
+ button->setText("Click for Pull Mode");
+ output = audioOutput->start(0);
+ pullMode = false;
+ timer->start(20);
+ } else {
+ button->setText("Click for Push Mode");
+ pullMode = true;
+ audioOutput->start(gen);
+ }
+}
+
+void AudioTest::togglePlay()
+{
+ // toggle suspend/resume
+ if(audioOutput->state() == QAudio::SuspendState) {
+ qWarning()<<"status: Suspended, resume()";
+ audioOutput->resume();
+ button2->setText("Click To Suspend");
+ } else if (audioOutput->state() == QAudio::ActiveState) {
+ qWarning()<<"status: Active, suspend()";
+ audioOutput->suspend();
+ button2->setText("Click To Resume");
+ } else if (audioOutput->state() == QAudio::StopState) {
+ qWarning()<<"status: Stopped, resume()";
+ audioOutput->resume();
+ button2->setText("Click To Suspend");
+ } else if (audioOutput->state() == QAudio::IdleState) {
+ qWarning()<<"status: IdleState";
+ }
+}
+
+void AudioTest::state(QAudio::State state)
+{
+ qWarning()<<" state="<<state;
+}
diff --git a/examples/multimedia/audio/audiooutput/audiooutput.h b/examples/multimedia/audio/audiooutput/audiooutput.h
new file mode 100644
index 0000000..1e21b48
--- /dev/null
+++ b/examples/multimedia/audio/audiooutput/audiooutput.h
@@ -0,0 +1,112 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <math.h>
+
+#define BUFFER_SIZE 32768
+#define SECONDS 3
+
+#include <QObject>
+#include <QMainWindow>
+#include <QIODevice>
+#include <QTimer>
+#include <QPushButton>
+#include <QComboBox>
+
+#include <QAudioOutput>
+
+class Generator : public QIODevice
+{
+ Q_OBJECT
+public:
+ Generator(QObject *parent);
+ ~Generator();
+
+ void start();
+ void stop();
+
+ char *t;
+ int len;
+ int pos;
+ int total;
+ char *buffer;
+ bool finished;
+ int chunk_size;
+
+ qint64 readData(char *data, qint64 maxlen);
+ qint64 writeData(const char *data, qint64 len);
+
+private:
+ int putShort(char *t, unsigned int value);
+ int putLong(char *t, unsigned int value);
+ int fillData(char *start, int frequency, int seconds);
+};
+
+class AudioTest : public QMainWindow
+{
+ Q_OBJECT
+public:
+ AudioTest();
+ ~AudioTest();
+
+ QAudioDeviceId device;
+ Generator* gen;
+ QAudioOutput* audioOutput;
+ QIODevice* output;
+ QTimer* timer;
+ QAudioFormat settings;
+
+ bool pullMode;
+ char* buffer;
+
+ QPushButton* button;
+ QPushButton* button2;
+ QComboBox* deviceBox;
+
+private slots:
+ void status();
+ void writeMore();
+ void toggle();
+ void togglePlay();
+ void state(QAudio::State s);
+ void deviceChanged(int idx);
+};
+
diff --git a/examples/multimedia/audio/audiooutput/audiooutput.pro b/examples/multimedia/audio/audiooutput/audiooutput.pro
new file mode 100644
index 0000000..08f43ce
--- /dev/null
+++ b/examples/multimedia/audio/audiooutput/audiooutput.pro
@@ -0,0 +1,11 @@
+HEADERS = audiooutput.h
+SOURCES = audiooutput.cpp \
+ main.cpp
+
+QT += multimedia
+
+# install
+target.path = $$[QT_INSTALL_EXAMPLES]/multimedia/audio/audiooutput
+sources.files = $$SOURCES *.h $$RESOURCES $$FORMS audiooutput.pro
+sources.path = $$[QT_INSTALL_EXAMPLES]/multimedia/audio/audiooutput
+INSTALLS += target sources
diff --git a/examples/multimedia/audio/audiooutput/main.cpp b/examples/multimedia/audio/audiooutput/main.cpp
new file mode 100644
index 0000000..fc319bd
--- /dev/null
+++ b/examples/multimedia/audio/audiooutput/main.cpp
@@ -0,0 +1,56 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+
+#include <QtGui>
+
+#include "audiooutput.h"
+
+int main(int argv, char **args)
+{
+ QApplication app(argv, args);
+ app.setApplicationName("Audio Output Test");
+
+ AudioTest audio;
+ audio.show();
+
+ return app.exec();
+}
diff --git a/examples/multimedia/multimedia.pro b/examples/multimedia/multimedia.pro
new file mode 100644
index 0000000..ac78b15
--- /dev/null
+++ b/examples/multimedia/multimedia.pro
@@ -0,0 +1,8 @@
+TEMPLATE = subdirs
+SUBDIRS = audio
+
+# install
+target.path = $$[QT_INSTALL_EXAMPLES]/multimedia
+sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS multimedia.pro README
+sources.path = $$[QT_INSTALL_EXAMPLES]/multimedia
+INSTALLS += target sources
diff --git a/examples/network/ftp/sym_iap_util.h b/examples/network/ftp/sym_iap_util.h
index c399b35..1eb66a3 100644
--- a/examples/network/ftp/sym_iap_util.h
+++ b/examples/network/ftp/sym_iap_util.h
@@ -1,7 +1,7 @@
/****************************************************************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the examples of the Qt Toolkit.
**
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/network/network.pro b/examples/network/network.pro
index 9e48e9a..99c778c 100644
--- a/examples/network/network.pro
+++ b/examples/network/network.pro
@@ -2,7 +2,6 @@ TEMPLATE = subdirs
SUBDIRS = blockingfortuneclient \
broadcastreceiver \
broadcastsender \
- network-chat \
download \
downloadmanager \
fortuneclient \
@@ -14,6 +13,9 @@ SUBDIRS = blockingfortuneclient \
googlesuggest \
torrent
+# no QProcess
+!vxworks:!qnx:SUBDIRS += network-chat
+
symbian: SUBDIRS = ftp
contains(QT_CONFIG, openssl):SUBDIRS += securesocketclient
diff --git a/examples/opengl/hellogl_es2/glwidget.cpp b/examples/opengl/hellogl_es2/glwidget.cpp
index 6b08662..bb07b22 100644
--- a/examples/opengl/hellogl_es2/glwidget.cpp
+++ b/examples/opengl/hellogl_es2/glwidget.cpp
@@ -41,6 +41,7 @@
#include "glwidget.h"
#include <QPainter>
+#include <QPaintEngine>
#include <math.h>
#include "bubble.h"
@@ -265,6 +266,8 @@ void GLWidget::paintGL()
QPainter painter;
painter.begin(this);
+ painter.paintEngine()->syncState();
+
glClearColor(0.1f, 0.1f, 0.2f, 1.0f);
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glEnable(GL_TEXTURE_2D);
diff --git a/examples/openvg/README b/examples/openvg/README
new file mode 100644
index 0000000..5e385ea
--- /dev/null
+++ b/examples/openvg/README
@@ -0,0 +1,40 @@
+Qt provides support for integration with OpenVG implementations on
+platforms with appropriate hardware acceleration.
+
+These examples demonstrate the basic techniques used to take advantage of
+OpenVG in Qt applications. In particular, the "star" example shows how
+to mix QPainter and OpenVG calls in the same paint event.
+
+The example launcher provided with Qt can be used to explore each of the
+examples in this directory.
+
+Documentation for these examples can be found via the Tutorial and Examples
+link in the main Qt documentation.
+
+
+Finding the Qt Examples and Demos launcher
+==========================================
+
+On Windows:
+
+The launcher can be accessed via the Windows Start menu. Select the menu
+entry entitled "Qt Examples and Demos" entry in the submenu containing
+the Qt tools.
+
+On Mac OS X:
+
+For the binary distribution, the qtdemo executable is installed in the
+/Developer/Applications/Qt directory. For the source distribution, it is
+installed alongside the other Qt tools on the path specified when Qt is
+configured.
+
+On Unix/Linux:
+
+The qtdemo executable is installed alongside the other Qt tools on the path
+specified when Qt is configured.
+
+On all platforms:
+
+The source code for the launcher can be found in the demos/qtdemo directory
+in the Qt package. This example is built at the same time as the Qt libraries,
+tools, examples, and demonstrations.
diff --git a/examples/openvg/openvg.pro b/examples/openvg/openvg.pro
new file mode 100644
index 0000000..d76a389
--- /dev/null
+++ b/examples/openvg/openvg.pro
@@ -0,0 +1,8 @@
+TEMPLATE = subdirs
+SUBDIRS = star
+
+# install
+target.path = $$[QT_INSTALL_EXAMPLES]/openvg
+sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS openvg.pro README
+sources.path = $$[QT_INSTALL_EXAMPLES]/openvg
+INSTALLS += target sources
diff --git a/examples/openvg/star/main.cpp b/examples/openvg/star/main.cpp
new file mode 100644
index 0000000..eec2186
--- /dev/null
+++ b/examples/openvg/star/main.cpp
@@ -0,0 +1,54 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtOpenGL module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QApplication>
+#include "starwidget.h"
+
+int main(int argc, char *argv[])
+{
+#ifdef Q_OS_SYMBIAN
+ QApplication::setGraphicsSystem("openvg");
+#endif
+ QApplication app(argc, argv);
+ StarWidget mw;
+ mw.show();
+ return app.exec();
+}
diff --git a/examples/openvg/star/star.pro b/examples/openvg/star/star.pro
new file mode 100644
index 0000000..90c236d
--- /dev/null
+++ b/examples/openvg/star/star.pro
@@ -0,0 +1,6 @@
+TEMPLATE = app
+TARGET = star
+CONFIG += qt debug warn_on
+QT += openvg
+SOURCES = starwidget.cpp main.cpp
+HEADERS = starwidget.h
diff --git a/examples/openvg/star/starwidget.cpp b/examples/openvg/star/starwidget.cpp
new file mode 100644
index 0000000..9d2a255
--- /dev/null
+++ b/examples/openvg/star/starwidget.cpp
@@ -0,0 +1,115 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtOpenGL module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "starwidget.h"
+
+StarWidget::StarWidget(QWidget *parent)
+ : QWidget(parent)
+ , path(VG_INVALID_HANDLE)
+ , pen(Qt::red, 4.0, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin)
+ , brush(Qt::yellow)
+{
+ setMinimumSize(220, 250);
+ setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding);
+}
+
+static VGubyte const starSegments[] = {
+ VG_MOVE_TO_ABS,
+ VG_LINE_TO_REL,
+ VG_LINE_TO_REL,
+ VG_LINE_TO_REL,
+ VG_LINE_TO_REL,
+ VG_CLOSE_PATH
+};
+static VGfloat const starCoords[] = {
+ 110, 35,
+ 50, 160,
+ -130, -100,
+ 160, 0,
+ -130, 100
+};
+
+void StarWidget::paintEvent(QPaintEvent *)
+{
+ QPainter painter;
+ painter.begin(this);
+
+ // Make sure that we are using the OpenVG paint engine.
+ if (painter.paintEngine()->type() != QPaintEngine::OpenVG) {
+#ifdef Q_WS_QWS
+ qWarning("Not using OpenVG: use the '-display' option to specify an OpenVG driver");
+#else
+ qWarning("Not using OpenVG: specify '-graphicssystem OpenVG'");
+#endif
+ return;
+ }
+
+ // Select a pen and a brush for drawing the star.
+ painter.setPen(pen);
+ painter.setBrush(brush);
+
+ // We want the star border to be anti-aliased.
+ painter.setRenderHints(QPainter::Antialiasing);
+
+ // Flush the state changes to the OpenVG implementation
+ // and prepare to perform raw OpenVG calls.
+ painter.paintEngine()->syncState();
+
+ // Cache the path if we haven't already.
+ if (path == VG_INVALID_HANDLE) {
+ path = vgCreatePath(VG_PATH_FORMAT_STANDARD,
+ VG_PATH_DATATYPE_F,
+ 1.0f, // scale
+ 0.0f, // bias
+ 6, // segmentCapacityHint
+ 10, // coordCapacityHint
+ VG_PATH_CAPABILITY_ALL);
+ vgAppendPathData(path, sizeof(starSegments), starSegments, starCoords);
+ }
+
+ // Draw the star directly using the OpenVG API.
+ vgDrawPath(path, VG_FILL_PATH | VG_STROKE_PATH);
+
+ // Restore normal QPainter operations.
+ painter.paintEngine()->syncState();
+
+ painter.end();
+}
diff --git a/examples/openvg/star/starwidget.h b/examples/openvg/star/starwidget.h
new file mode 100644
index 0000000..883f8c4
--- /dev/null
+++ b/examples/openvg/star/starwidget.h
@@ -0,0 +1,66 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtOpenGL module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef STARWIDGET_H
+#define STARWIDGET_H
+
+#include <QWidget>
+#include <QPainter>
+#include <QPaintEngine>
+#include "qvg.h"
+
+class StarWidget : public QWidget
+{
+ Q_OBJECT
+public:
+ StarWidget(QWidget *parent = 0);
+ ~StarWidget() {}
+
+protected:
+ void paintEvent(QPaintEvent *);
+
+private:
+ VGPath path;
+ QPen pen;
+ QBrush brush;
+};
+
+#endif
diff --git a/examples/painting/painterpaths/painterpaths.pro b/examples/painting/painterpaths/painterpaths.pro
index 6c9ba95..fbf2ba9 100644
--- a/examples/painting/painterpaths/painterpaths.pro
+++ b/examples/painting/painterpaths/painterpaths.pro
@@ -3,7 +3,7 @@ HEADERS = renderarea.h \
SOURCES = main.cpp \
renderarea.cpp \
window.cpp
-unix:!mac:!symbian:LIBS += -lm
+unix:!mac:!symbian:!vxworks:LIBS += -lm
# install
target.path = $$[QT_INSTALL_EXAMPLES]/painting/painterpaths
@@ -13,4 +13,4 @@ INSTALLS += target sources
include($$QT_SOURCE_TREE/examples/examplebase.pri)
-symbian:TARGET.UID3 = 0xA000A64C \ No newline at end of file
+symbian:TARGET.UID3 = 0xA000A64C
diff --git a/examples/phonon/musicplayer/mainwindow.cpp b/examples/phonon/musicplayer/mainwindow.cpp
index ee97c7a..f123d29 100644
--- a/examples/phonon/musicplayer/mainwindow.cpp
+++ b/examples/phonon/musicplayer/mainwindow.cpp
@@ -157,9 +157,12 @@ void MainWindow::tableClicked(int row, int /* column */)
mediaObject->stop();
mediaObject->clearQueue();
+ if (row >= sources.size())
+ return;
+
mediaObject->setCurrentSource(sources[row]);
- if (wasPlaying)
+ if (wasPlaying)
mediaObject->play();
else
mediaObject->stop();
diff --git a/examples/qws/qws.pro b/examples/qws/qws.pro
index e9f310f..34b1d2c 100644
--- a/examples/qws/qws.pro
+++ b/examples/qws/qws.pro
@@ -1,5 +1,7 @@
TEMPLATE = subdirs
-SUBDIRS = framebuffer mousecalibration simpledecoration
+# no /dev/fbX
+!qnx:!vxworks:SUBDIRS = framebuffer
+SUBDIRS += mousecalibration simpledecoration
# install
sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS README *.pro
diff --git a/examples/script/customclass/bytearrayclass.cpp b/examples/script/customclass/bytearrayclass.cpp
index 81a0b8a..2044a16 100644
--- a/examples/script/customclass/bytearrayclass.cpp
+++ b/examples/script/customclass/bytearrayclass.cpp
@@ -100,7 +100,7 @@ ByteArrayClass::ByteArrayClass(QScriptEngine *engine)
QScriptValue global = engine->globalObject();
proto.setPrototype(global.property("Object").property("prototype"));
- ctor = engine->newFunction(construct);
+ ctor = engine->newFunction(construct, proto);
ctor.setData(qScriptValueFromValue(engine, this));
}
//! [0]
@@ -224,7 +224,10 @@ QScriptValue ByteArrayClass::construct(QScriptContext *ctx, QScriptEngine *)
ByteArrayClass *cls = qscriptvalue_cast<ByteArrayClass*>(ctx->callee().data());
if (!cls)
return QScriptValue();
- int size = ctx->argument(0).toInt32();
+ QScriptValue arg = ctx->argument(0);
+ if (arg.instanceOf(ctx->callee()))
+ return cls->newInstance(qscriptvalue_cast<QByteArray>(arg));
+ int size = arg.toInt32();
return cls->newInstance(size);
}
//! [2]
@@ -240,7 +243,7 @@ QScriptValue ByteArrayClass::toScriptValue(QScriptEngine *eng, const QByteArray
void ByteArrayClass::fromScriptValue(const QScriptValue &obj, QByteArray &ba)
{
- ba = qscriptvalue_cast<QByteArray>(obj.data());
+ ba = qvariant_cast<QByteArray>(obj.data().toVariant());
}
diff --git a/examples/script/customclass/main.cpp b/examples/script/customclass/main.cpp
index 05aefd5..3b98f5c 100644
--- a/examples/script/customclass/main.cpp
+++ b/examples/script/customclass/main.cpp
@@ -52,6 +52,7 @@ int main(int argc, char **argv)
eng.globalObject().setProperty("ByteArray", baClass->constructor());
qDebug() << "ba = new ByteArray(4):" << eng.evaluate("ba = new ByteArray(4)").toString();
+ qDebug() << "ba instanceof ByteArray:" << eng.evaluate("ba instanceof ByteArray").toBool();
qDebug() << "ba.length:" << eng.evaluate("ba.length").toNumber();
qDebug() << "ba[1] = 123; ba[1]:" << eng.evaluate("ba[1] = 123; ba[1]").toNumber();
qDebug() << "ba[7] = 224; ba.length:" << eng.evaluate("ba[7] = 224; ba.length").toNumber();
@@ -65,6 +66,9 @@ int main(int argc, char **argv)
qDebug() << "ba.toBase64().toLatin1String():" << eng.evaluate("b64.toLatin1String()").toString();
qDebug() << "ba.valueOf():" << eng.evaluate("ba.valueOf()").toString();
qDebug() << "ba.chop(2); ba.length:" << eng.evaluate("ba.chop(2); ba.length").toNumber();
+ qDebug() << "ba2 = new ByteArray(ba):" << eng.evaluate("ba2 = new ByteArray(ba)").toString();
+ qDebug() << "ba2.equals(ba):" << eng.evaluate("ba2.equals(ba)").toBool();
+ qDebug() << "ba2.equals(new ByteArray()):" << eng.evaluate("ba2.equals(new ByteArray())").toBool();
return 0;
}
diff --git a/examples/script/qsdbg/scriptdebugger.h b/examples/script/qsdbg/scriptdebugger.h
index 4752511..2d4ba07 100644
--- a/examples/script/qsdbg/scriptdebugger.h
+++ b/examples/script/qsdbg/scriptdebugger.h
@@ -78,7 +78,7 @@ protected:
ScriptDebuggerPrivate *d_ptr;
private:
- Q_DECLARE_SCOPED_PRIVATE(ScriptDebugger)
+ Q_DECLARE_PRIVATE(ScriptDebugger)
Q_DISABLE_COPY(ScriptDebugger)
};
diff --git a/examples/statemachine/factorial/main.cpp b/examples/statemachine/factorial/main.cpp
index 18a9521..5050347 100644
--- a/examples/statemachine/factorial/main.cpp
+++ b/examples/statemachine/factorial/main.cpp
@@ -151,14 +151,14 @@ int main(int argc, char **argv)
//! [3]
//! [4]
- QState *compute = new QState(machine.rootState());
+ QState *compute = new QState(&machine);
compute->assignProperty(&factorial, "fac", 1);
compute->assignProperty(&factorial, "x", 6);
compute->addTransition(new FactorialLoopTransition(&factorial));
//! [4]
//! [5]
- QFinalState *done = new QFinalState(machine.rootState());
+ QFinalState *done = new QFinalState(&machine);
FactorialDoneTransition *doneTransition = new FactorialDoneTransition(&factorial);
doneTransition->setTargetState(done);
compute->addTransition(doneTransition);
diff --git a/examples/statemachine/statemachine.pro b/examples/statemachine/statemachine.pro
index 5074a3c..ea3e7a8 100644
--- a/examples/statemachine/statemachine.pro
+++ b/examples/statemachine/statemachine.pro
@@ -4,9 +4,7 @@ SUBDIRS = \
factorial \
pingpong \
trafficlight \
- twowaybutton \
- tankgame \
- tankgameplugins
+ twowaybutton
# install
target.path = $$[QT_INSTALL_EXAMPLES]/statemachine
diff --git a/examples/statemachine/tankgame/gameitem.cpp b/examples/statemachine/tankgame/gameitem.cpp
deleted file mode 100644
index 94affb4..0000000
--- a/examples/statemachine/tankgame/gameitem.cpp
+++ /dev/null
@@ -1,129 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "gameitem.h"
-
-#include <QGraphicsScene>
-#include <QDebug>
-
-GameItem::GameItem(QObject *parent) : QObject(parent)
-{
-}
-
-QPointF GameItem::tryMove(const QPointF &requestedPosition, QLineF *collidedLine,
- QGraphicsItem **collidedItem) const
-{
- QLineF movementPath(pos(), requestedPosition);
-
- qreal cannonLength = 0.0;
- {
- QPointF p1 = boundingRect().center();
- QPointF p2 = QPointF(boundingRect().right() + 10.0, p1.y());
-
- cannonLength = QLineF(mapToScene(p1), mapToScene(p2)).length();
- }
-
- movementPath.setLength(movementPath.length() + cannonLength);
-
- QRectF boundingRectPath(QPointF(qMin(movementPath.x1(), movementPath.x2()), qMin(movementPath.y1(), movementPath.y2())),
- QPointF(qMax(movementPath.x1(), movementPath.x2()), qMax(movementPath.y1(), movementPath.y2())));
-
- QList<QGraphicsItem *> itemsInRect = scene()->items(boundingRectPath, Qt::IntersectsItemBoundingRect);
-
- QPointF nextPoint = requestedPosition;
- QRectF sceneRect = scene()->sceneRect();
-
- foreach (QGraphicsItem *item, itemsInRect) {
- if (item == static_cast<const QGraphicsItem *>(this))
- continue;
-
- QPolygonF mappedBoundingRect = item->mapToScene(item->boundingRect());
- for (int i=0; i<mappedBoundingRect.size(); ++i) {
- QPointF p1 = mappedBoundingRect.at(i == 0 ? mappedBoundingRect.size()-1 : i-1);
- QPointF p2 = mappedBoundingRect.at(i);
-
- QLineF rectLine(p1, p2);
- QPointF intersectionPoint;
- QLineF::IntersectType intersectType = movementPath.intersect(rectLine, &intersectionPoint);
-
- if (intersectType == QLineF::BoundedIntersection) {
- movementPath.setP2(intersectionPoint);
- movementPath.setLength(movementPath.length() - cannonLength);
- nextPoint = movementPath.p2();
-
- if (collidedLine != 0)
- *collidedLine = rectLine;
-
- if (collidedItem != 0)
- *collidedItem = item;
- }
- }
- }
-
-
- // Don't go outside of map
- if (nextPoint.x() < sceneRect.left()) {
- nextPoint.rx() = sceneRect.left();
- if (collidedLine != 0)
- *collidedLine = QLineF(scene()->sceneRect().topLeft(), scene()->sceneRect().bottomLeft());
- }
-
- if (nextPoint.x() > sceneRect.right()) {
- nextPoint.rx() = sceneRect.right();
- if (collidedLine != 0)
- *collidedLine = QLineF(scene()->sceneRect().topRight(), scene()->sceneRect().bottomRight());
- }
-
- if (nextPoint.y() < sceneRect.top()) {
- nextPoint.ry() = sceneRect.top();
- if (collidedLine != 0)
- *collidedLine = QLineF(scene()->sceneRect().topLeft(), scene()->sceneRect().topRight());
- }
-
- if (nextPoint.y() > sceneRect.bottom()) {
- nextPoint.ry() = sceneRect.bottom();
- if (collidedLine != 0)
- *collidedLine = QLineF(scene()->sceneRect().bottomLeft(), scene()->sceneRect().bottomRight());
- }
-
- return nextPoint;
-}
-
diff --git a/examples/statemachine/tankgame/gameitem.h b/examples/statemachine/tankgame/gameitem.h
deleted file mode 100644
index af012bb..0000000
--- a/examples/statemachine/tankgame/gameitem.h
+++ /dev/null
@@ -1,66 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef GAMEITEM_H
-#define GAMEITEM_H
-
-#include <QGraphicsItem>
-
-QT_BEGIN_NAMESPACE
-class QLineF;
-QT_END_NAMESPACE
-class GameItem: public QObject, public QGraphicsItem
-{
- Q_OBJECT
-public:
- enum { Type = UserType + 1 };
- int type() const { return Type; }
-
- GameItem(QObject *parent = 0);
-
- virtual void idle(qreal elapsed) = 0;
-
-protected:
- QPointF tryMove(const QPointF &requestedPosition, QLineF *collidedLine = 0,
- QGraphicsItem **collidedItem = 0) const;
-};
-
-#endif
diff --git a/examples/statemachine/tankgame/gameovertransition.cpp b/examples/statemachine/tankgame/gameovertransition.cpp
deleted file mode 100644
index 634fbce..0000000
--- a/examples/statemachine/tankgame/gameovertransition.cpp
+++ /dev/null
@@ -1,80 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "gameovertransition.h"
-#include "tankitem.h"
-
-#include <QSignalEvent>
-#include <QSignalMapper>
-
-GameOverTransition::GameOverTransition(QAbstractState *targetState)
- : QSignalTransition(new QSignalMapper(), SIGNAL(mapped(QObject*)))
-{
- setTargetState(targetState);
-
- QSignalMapper *mapper = qobject_cast<QSignalMapper *>(senderObject());
- mapper->setParent(this);
-}
-
-void GameOverTransition::addTankItem(TankItem *tankItem)
-{
- m_tankItems.append(tankItem);
-
- QSignalMapper *mapper = qobject_cast<QSignalMapper *>(senderObject());
- mapper->setMapping(tankItem, tankItem);
- connect(tankItem, SIGNAL(aboutToBeDestroyed()), mapper, SLOT(map()));
-}
-
-bool GameOverTransition::eventTest(QEvent *e)
-{
- bool ret = QSignalTransition::eventTest(e);
-
- if (ret) {
- QSignalEvent *signalEvent = static_cast<QSignalEvent *>(e);
- QObject *sender = qvariant_cast<QObject *>(signalEvent->arguments().at(0));
- TankItem *tankItem = qobject_cast<TankItem *>(sender);
- m_tankItems.removeAll(tankItem);
-
- return m_tankItems.size() <= 1;
- } else {
- return false;
- }
-}
diff --git a/examples/statemachine/tankgame/gameovertransition.h b/examples/statemachine/tankgame/gameovertransition.h
deleted file mode 100644
index e918359..0000000
--- a/examples/statemachine/tankgame/gameovertransition.h
+++ /dev/null
@@ -1,63 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef GAMEOVERTRANSITION_H
-#define GAMEOVERTRANSITION_H
-
-#include <QSignalTransition>
-
-class TankItem;
-class GameOverTransition: public QSignalTransition
-{
- Q_OBJECT
-public:
- GameOverTransition(QAbstractState *targetState);
-
- void addTankItem(TankItem *tankItem);
-
-protected:
- bool eventTest(QEvent *event);
-
-private:
- QList<TankItem *> m_tankItems;
-};
-
-#endif
diff --git a/examples/statemachine/tankgame/main.cpp b/examples/statemachine/tankgame/main.cpp
deleted file mode 100644
index 85e2747..0000000
--- a/examples/statemachine/tankgame/main.cpp
+++ /dev/null
@@ -1,53 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QApplication>
-#include "mainwindow.h"
-
-int main(int argc, char **argv)
-{
- QApplication app(argc, argv);
-
- MainWindow mainWindow;
- mainWindow.show();
-
- return app.exec();
-}
diff --git a/examples/statemachine/tankgame/mainwindow.cpp b/examples/statemachine/tankgame/mainwindow.cpp
deleted file mode 100644
index 68a8d68..0000000
--- a/examples/statemachine/tankgame/mainwindow.cpp
+++ /dev/null
@@ -1,342 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "mainwindow.h"
-#include "tankitem.h"
-#include "rocketitem.h"
-#include "plugin.h"
-#include "gameovertransition.h"
-
-#include <QStateMachine>
-#include <QGraphicsView>
-#include <QAction>
-#include <QMenuBar>
-#include <QState>
-#include <QHistoryState>
-#include <QTimer>
-#include <QFileDialog>
-#include <QPluginLoader>
-#include <QApplication>
-#include <QInputDialog>
-#include <QMessageBox>
-
-MainWindow::MainWindow(QWidget *parent)
- : QMainWindow(parent), m_scene(0), m_machine(0), m_runningState(0), m_started(false)
-{
- init();
-}
-
-MainWindow::~MainWindow()
-{
-}
-
-void MainWindow::addWall(const QRectF &wall)
-{
- QGraphicsRectItem *item = new QGraphicsRectItem;
- item->setRect(wall);
- item->setBrush(Qt::darkGreen);
- item->setPen(QPen(Qt::black, 0));
-
- m_scene->addItem(item);
-}
-
-void MainWindow::init()
-{
- setWindowTitle("Pluggable Tank Game");
-
- QGraphicsView *view = new QGraphicsView(this);
- view->setRenderHints(QPainter::Antialiasing);
- setCentralWidget(view);
-
- m_scene = new QGraphicsScene(this);
- view->setScene(m_scene);
-
- QRectF sceneRect = QRectF(-200.0, -200.0, 400.0, 400.0);
- m_scene->setSceneRect(sceneRect);
-
- {
- TankItem *item = new TankItem(this);
-
- item->setPos(m_scene->sceneRect().topLeft() + QPointF(30.0, 30.0));
- item->setDirection(45.0);
- item->setColor(Qt::red);
-
- m_spawns.append(item);
- }
-
- {
- TankItem *item = new TankItem(this);
-
- item->setPos(m_scene->sceneRect().topRight() + QPointF(-30.0, 30.0));
- item->setDirection(135.0);
- item->setColor(Qt::green);
-
- m_spawns.append(item);
- }
-
- {
- TankItem *item = new TankItem(this);
-
- item->setPos(m_scene->sceneRect().bottomRight() + QPointF(-30.0, -30.0));
- item->setDirection(225.0);
- item->setColor(Qt::blue);
-
- m_spawns.append(item);
- }
-
- {
- TankItem *item = new TankItem(this);
-
- item->setPos(m_scene->sceneRect().bottomLeft() + QPointF(30.0, -30.0));
- item->setDirection(315.0);
- item->setColor(Qt::yellow);
-
- m_spawns.append(item);
- }
-
- QPointF centerOfMap = sceneRect.center();
-
- addWall(QRectF(centerOfMap + QPointF(-50.0, -60.0), centerOfMap + QPointF(50.0, -50.0)));
- addWall(QRectF(centerOfMap - QPointF(-50.0, -60.0), centerOfMap - QPointF(50.0, -50.0)));
- addWall(QRectF(centerOfMap + QPointF(-50.0, -50.0), centerOfMap + QPointF(-40.0, 50.0)));
- addWall(QRectF(centerOfMap - QPointF(-50.0, -50.0), centerOfMap - QPointF(-40.0, 50.0)));
-
- addWall(QRectF(sceneRect.topLeft() + QPointF(sceneRect.width() / 2.0 - 5.0, -10.0),
- sceneRect.topLeft() + QPointF(sceneRect.width() / 2.0 + 5.0, 100.0)));
- addWall(QRectF(sceneRect.bottomLeft() + QPointF(sceneRect.width() / 2.0 - 5.0, 10.0),
- sceneRect.bottomLeft() + QPointF(sceneRect.width() / 2.0 + 5.0, -100.0)));
- addWall(QRectF(sceneRect.topLeft() + QPointF(-10.0, sceneRect.height() / 2.0 - 5.0),
- sceneRect.topLeft() + QPointF(100.0, sceneRect.height() / 2.0 + 5.0)));
- addWall(QRectF(sceneRect.topRight() + QPointF(10.0, sceneRect.height() / 2.0 - 5.0),
- sceneRect.topRight() + QPointF(-100.0, sceneRect.height() / 2.0 + 5.0)));
-
-
- QAction *addTankAction = menuBar()->addAction("&Add tank");
- QAction *runGameAction = menuBar()->addAction("&Run game");
- runGameAction->setObjectName("runGameAction");
- QAction *stopGameAction = menuBar()->addAction("&Stop game");
- menuBar()->addSeparator();
- QAction *quitAction = menuBar()->addAction("&Quit");
-
- connect(addTankAction, SIGNAL(triggered()), this, SLOT(addTank()));
- connect(quitAction, SIGNAL(triggered()), this, SLOT(close()));
-
- m_machine = new QStateMachine(this);
- QState *stoppedState = new QState(m_machine->rootState());
- stoppedState->setObjectName("stoppedState");
- stoppedState->assignProperty(runGameAction, "enabled", true);
- stoppedState->assignProperty(stopGameAction, "enabled", false);
- stoppedState->assignProperty(this, "started", false);
- m_machine->setInitialState(stoppedState);
-
-//! [5]
- QState *spawnsAvailable = new QState(stoppedState);
- spawnsAvailable->assignProperty(addTankAction, "enabled", true);
-
- QState *noSpawnsAvailable = new QState(stoppedState);
- noSpawnsAvailable->assignProperty(addTankAction, "enabled", false);
-//! [5]
- spawnsAvailable->setObjectName("spawnsAvailable");
- noSpawnsAvailable->setObjectName("noSpawnsAvailable");
-
- spawnsAvailable->addTransition(this, SIGNAL(mapFull()), noSpawnsAvailable);
-
-//! [3]
- QHistoryState *hs = new QHistoryState(stoppedState);
- hs->setDefaultState(spawnsAvailable);
-//! [3]
- hs->setObjectName("hs");
-
- stoppedState->setInitialState(hs);
-
-//! [0]
- m_runningState = new QState(QState::ParallelStates, m_machine->rootState());
-//! [0]
- m_runningState->setObjectName("runningState");
- m_runningState->assignProperty(addTankAction, "enabled", false);
- m_runningState->assignProperty(runGameAction, "enabled", false);
- m_runningState->assignProperty(stopGameAction, "enabled", true);
-
- QState *gameOverState = new QState(m_machine->rootState());
- gameOverState->setObjectName("gameOverState");
- gameOverState->assignProperty(stopGameAction, "enabled", false);
- connect(gameOverState, SIGNAL(entered()), this, SLOT(gameOver()));
-
- stoppedState->addTransition(runGameAction, SIGNAL(triggered()), m_runningState);
- m_runningState->addTransition(stopGameAction, SIGNAL(triggered()), stoppedState);
-
- m_gameOverTransition = new GameOverTransition(gameOverState);
- m_runningState->addTransition(m_gameOverTransition);
-
- QTimer *timer = new QTimer(this);
- timer->setInterval(100);
- connect(timer, SIGNAL(timeout()), this, SLOT(runStep()));
- connect(m_runningState, SIGNAL(entered()), timer, SLOT(start()));
- connect(m_runningState, SIGNAL(exited()), timer, SLOT(stop()));
-
- m_machine->start();
- m_time.start();
-}
-
-void MainWindow::runStep()
-{
- if (!m_started) {
- m_time.restart();
- m_started = true;
- } else {
- int elapsed = m_time.elapsed();
- if (elapsed > 0) {
- m_time.restart();
- qreal elapsedSecs = elapsed / 1000.0;
- QList<QGraphicsItem *> items = m_scene->items();
- foreach (QGraphicsItem *item, items) {
- if (GameItem *gameItem = qgraphicsitem_cast<GameItem *>(item))
- gameItem->idle(elapsedSecs);
- }
- }
- }
-}
-
-void MainWindow::gameOver()
-{
- QList<QGraphicsItem *> items = m_scene->items();
-
- TankItem *lastTankStanding = 0;
- foreach (QGraphicsItem *item, items) {
- if (GameItem *gameItem = qgraphicsitem_cast<GameItem *>(item)) {
- if ((lastTankStanding = qobject_cast<TankItem *>(gameItem)) != 0)
- break;
- }
- }
-
- QMessageBox::information(this, "Game over!",
- QString::fromLatin1("The tank played by '%1' has won!").arg(lastTankStanding->objectName()));
-}
-
-void MainWindow::addRocket()
-{
- TankItem *tankItem = qobject_cast<TankItem *>(sender());
- if (tankItem != 0) {
- RocketItem *rocketItem = new RocketItem;
-
- QPointF s = tankItem->mapToScene(QPointF(tankItem->boundingRect().right() + 10.0,
- tankItem->boundingRect().center().y()));
- rocketItem->setPos(s);
- rocketItem->setDirection(tankItem->direction());
- m_scene->addItem(rocketItem);
- }
-}
-
-void MainWindow::addTank()
-{
- Q_ASSERT(!m_spawns.isEmpty());
-
- QDir pluginsDir(qApp->applicationDirPath());
-#if defined(Q_OS_WIN)
- if (pluginsDir.dirName().toLower() == "debug" || pluginsDir.dirName().toLower() == "release")
- pluginsDir.cdUp();
-#elif defined(Q_OS_MAC)
- if (pluginsDir.dirName() == "MacOS") {
- pluginsDir.cdUp();
- pluginsDir.cdUp();
- pluginsDir.cdUp();
- }
-#endif
-
- pluginsDir.cd("plugins");
-
- QStringList itemNames;
- QList<Plugin *> items;
- foreach (QString fileName, pluginsDir.entryList(QDir::Files)) {
- QPluginLoader loader(pluginsDir.absoluteFilePath(fileName));
- QObject *possiblePlugin = loader.instance();
- if (Plugin *plugin = qobject_cast<Plugin *>(possiblePlugin)) {
- QString objectName = possiblePlugin->objectName();
- if (objectName.isEmpty())
- objectName = fileName;
-
- itemNames.append(objectName);
- items.append(plugin);
- }
- }
-
- if (items.isEmpty()) {
- QMessageBox::information(this, "No tank types found", "Please build the errorstateplugins directory");
- return;
- }
-
- bool ok;
-//! [1]
- QString selectedName = QInputDialog::getItem(this, "Select a tank type", "Tank types",
- itemNames, 0, false, &ok);
-//! [1]
-
- if (ok && !selectedName.isEmpty()) {
- int idx = itemNames.indexOf(selectedName);
- if (Plugin *plugin = idx >= 0 ? items.at(idx) : 0) {
- TankItem *tankItem = m_spawns.takeLast();
- tankItem->setObjectName(selectedName);
- tankItem->setToolTip(selectedName);
- m_scene->addItem(tankItem);
- connect(tankItem, SIGNAL(cannonFired()), this, SLOT(addRocket()));
- if (m_spawns.isEmpty())
- emit mapFull();
-
- m_gameOverTransition->addTankItem(tankItem);
-
- QState *region = new QState(m_runningState);
- region->setObjectName(QString::fromLatin1("region%1").arg(m_spawns.size()));
-//! [2]
- QState *pluginState = plugin->create(region, tankItem);
-//! [2]
- region->setInitialState(pluginState);
-
- // If the plugin has an error it is disabled
-//! [4]
- QState *errorState = new QState(region);
- errorState->setObjectName(QString::fromLatin1("errorState%1").arg(m_spawns.size()));
- errorState->assignProperty(tankItem, "enabled", false);
- pluginState->setErrorState(errorState);
-//! [4]
- }
- }
-}
-
diff --git a/examples/statemachine/tankgame/mainwindow.h b/examples/statemachine/tankgame/mainwindow.h
deleted file mode 100644
index d42b7ac..0000000
--- a/examples/statemachine/tankgame/mainwindow.h
+++ /dev/null
@@ -1,93 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef MAINWINDOW_H
-#define MAINWINDOW_H
-
-#include <QMainWindow>
-#include <QTime>
-
-QT_BEGIN_NAMESPACE
-class QGraphicsScene;
-class QStateMachine;
-class QState;
-QT_END_NAMESPACE
-class GameOverTransition;
-class TankItem;
-
-class MainWindow: public QMainWindow
-{
- Q_OBJECT
- Q_PROPERTY(bool started READ started WRITE setStarted)
-public:
- MainWindow(QWidget *parent = 0);
- ~MainWindow();
-
- void setStarted(bool b) { m_started = b; }
- bool started() const { return m_started; }
-
-public slots:
- void addTank();
- void addRocket();
- void runStep();
- void gameOver();
-
-signals:
- void mapFull();
-
-private:
- void init();
- void addWall(const QRectF &wall);
-
- QGraphicsScene *m_scene;
-
- QStateMachine *m_machine;
- QState *m_runningState;
- GameOverTransition *m_gameOverTransition;
-
- QList<TankItem *> m_spawns;
- QTime m_time;
-
- bool m_started : 1;
-};
-
-#endif
-
diff --git a/examples/statemachine/tankgame/plugin.h b/examples/statemachine/tankgame/plugin.h
deleted file mode 100644
index 97e4640..0000000
--- a/examples/statemachine/tankgame/plugin.h
+++ /dev/null
@@ -1,62 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef PLUGIN_H
-#define PLUGIN_H
-
-#include <QtPlugin>
-
-QT_BEGIN_NAMESPACE
-class QState;
-QT_END_NAMESPACE
-class Plugin
-{
-public:
- virtual ~Plugin() {}
-
- virtual QState *create(QState *parentState, QObject *tank) = 0;
-};
-
-QT_BEGIN_NAMESPACE
-Q_DECLARE_INTERFACE(Plugin, "TankPlugin")
-QT_END_NAMESPACE
-
-#endif
diff --git a/examples/statemachine/tankgame/rocketitem.cpp b/examples/statemachine/tankgame/rocketitem.cpp
deleted file mode 100644
index d286e5d..0000000
--- a/examples/statemachine/tankgame/rocketitem.cpp
+++ /dev/null
@@ -1,101 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "rocketitem.h"
-#include "tankitem.h"
-
-#include <QPainter>
-#include <QGraphicsScene>
-
-#include <math.h>
-
-#ifndef M_PI
-#define M_PI 3.14159265358979323846
-#endif
-
-RocketItem::RocketItem(QObject *parent)
- : GameItem(parent), m_direction(0.0), m_distance(300.0)
-{
-}
-
-QRectF RocketItem::boundingRect() const
-{
- return QRectF(-1.0, -1.0, 2.0, 2.0);
-}
-
-void RocketItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *, QWidget *)
-{
- painter->setBrush(Qt::black);
- painter->drawEllipse(boundingRect());
-}
-
-void RocketItem::idle(qreal elapsed)
-{
- qreal dist = elapsed * speed();
-
- m_distance -= dist;
- if (m_distance < 0.0) {
- scene()->removeItem(this);
- delete this;
- return;
- }
-
- qreal a = m_direction * M_PI / 180.0;
-
- qreal yd = dist * sin(a);
- qreal xd = dist * sin(M_PI / 2.0 - a);
-
- QPointF requestedPosition = pos() + QPointF(xd, yd);
- QGraphicsItem *collidedItem = 0;
- QPointF nextPosition = tryMove(requestedPosition, 0, &collidedItem);
- if (requestedPosition == nextPosition) {
- setPos(nextPosition);
- } else {
- if (GameItem *gameItem = qgraphicsitem_cast<GameItem *>(collidedItem)) {
- TankItem *tankItem = qobject_cast<TankItem *>(gameItem);
- if (tankItem != 0)
- tankItem->hitByRocket();
- }
-
- scene()->removeItem(this);
- delete this;
- }
-}
diff --git a/examples/statemachine/tankgame/rocketitem.h b/examples/statemachine/tankgame/rocketitem.h
deleted file mode 100644
index a485d03..0000000
--- a/examples/statemachine/tankgame/rocketitem.h
+++ /dev/null
@@ -1,66 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef ROCKETITEM_H
-#define ROCKETITEM_H
-
-#include "gameitem.h"
-
-class RocketItem: public GameItem
-{
- Q_OBJECT
-public:
- RocketItem(QObject *parent = 0);
-
- virtual void idle(qreal elapsed);
- qreal speed() const { return 100.0; }
- void setDirection(qreal direction) { m_direction = direction; }
-
-protected:
- virtual void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget);
- QRectF boundingRect() const;
-
-private:
- qreal m_direction;
- qreal m_distance;
-};
-
-#endif
diff --git a/examples/statemachine/tankgame/tankgame.pro b/examples/statemachine/tankgame/tankgame.pro
deleted file mode 100644
index 59415be..0000000
--- a/examples/statemachine/tankgame/tankgame.pro
+++ /dev/null
@@ -1,19 +0,0 @@
-HEADERS += mainwindow.h \
- plugin.h \
- tankitem.h \
- rocketitem.h \
- gameitem.h \
- gameovertransition.h
-SOURCES += main.cpp \
- mainwindow.cpp \
- tankitem.cpp \
- rocketitem.cpp \
- gameitem.cpp \
- gameovertransition.cpp
-CONFIG += console
-
-# install
-target.path = $$[QT_INSTALL_EXAMPLES]/statemachine/tankgame
-sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS tankgame.pro
-sources.path = $$[QT_INSTALL_EXAMPLES]/statemachine/tankgame
-INSTALLS += target sources
diff --git a/examples/statemachine/tankgame/tankitem.cpp b/examples/statemachine/tankgame/tankitem.cpp
deleted file mode 100644
index 192b272..0000000
--- a/examples/statemachine/tankgame/tankitem.cpp
+++ /dev/null
@@ -1,302 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "tankitem.h"
-
-#include <QPainter>
-#include <QGraphicsScene>
-#include <QDebug>
-
-#include <math.h>
-
-#ifndef M_PI
-#define M_PI 3.14159265358979323846
-#endif
-
-class Action
-{
-public:
- Action(TankItem *item) : m_item(item)
- {
- }
-
- TankItem *item() const { return m_item; }
- void setItem(TankItem *item) { m_item = item; }
-
- virtual bool apply(qreal timeDelta) = 0;
-
-private:
- TankItem *m_item;
-};
-
-class MoveAction: public Action
-{
-public:
- MoveAction(TankItem *item, qreal distance)
- : Action(item), m_distance(distance)
- {
- m_reverse = m_distance < 0.0;
- }
-
- bool apply(qreal timeDelta)
- {
- qreal dist = timeDelta * item()->speed() * (m_reverse ? -1.0 : 1.0);
-
- bool done = false;
- if (qAbs(m_distance) < qAbs(dist)) {
- done = true;
- dist = m_distance;
- }
- m_distance -= dist;
-
- qreal a = item()->direction() * M_PI / 180.0;
-
- qreal yd = dist * sin(a);
- qreal xd = dist * sin(M_PI / 2.0 - a);
-
- item()->setPos(item()->pos() + QPointF(xd, yd));
- return !done;
- }
-
-private:
- qreal m_distance;
- bool m_reverse;
-};
-
-class TurnAction: public Action
-{
-public:
- TurnAction(TankItem *item, qreal distance)
- : Action(item), m_distance(distance)
- {
- m_reverse = m_distance < 0.0;
- }
-
- bool apply(qreal timeDelta)
- {
- qreal dist = timeDelta * item()->angularSpeed() * (m_reverse ? -1.0 : 1.0);
- bool done = false;
- if (qAbs(m_distance) < qAbs(dist)) {
- done = true;
- dist = m_distance;
- }
- m_distance -= dist;
-
- item()->setDirection(item()->direction() + dist);
- return !done;
- }
-
-private:
- qreal m_distance;
- bool m_reverse;
-};
-
-TankItem::TankItem(QObject *parent)
- : GameItem(parent), m_currentAction(0), m_currentDirection(0.0), m_enabled(true)
-{
- connect(this, SIGNAL(cannonFired()), this, SIGNAL(actionCompleted()));
-}
-
-void TankItem::idle(qreal elapsed)
-{
- if (m_enabled) {
- if (m_currentAction != 0) {
- if (!m_currentAction->apply(elapsed)) {
- setAction(0);
- emit actionCompleted();
- }
-
- QGraphicsItem *item = 0;
- qreal distance = distanceToObstacle(&item);
- if (TankItem *tankItem = qgraphicsitem_cast<TankItem *>(item))
- emit tankSpotted(tankItem->direction(), distance);
- }
- }
-}
-
-void TankItem::hitByRocket()
-{
- emit aboutToBeDestroyed();
- deleteLater();
-}
-
-void TankItem::setAction(Action *newAction)
-{
- if (m_currentAction != 0)
- delete m_currentAction;
-
- m_currentAction = newAction;
-}
-
-void TankItem::fireCannon()
-{
- emit cannonFired();
-}
-
-void TankItem::moveForwards(qreal length)
-{
- setAction(new MoveAction(this, length));
-}
-
-void TankItem::moveBackwards(qreal length)
-{
- setAction(new MoveAction(this, -length));
-}
-
-void TankItem::turn(qreal degrees)
-{
- setAction(new TurnAction(this, degrees));
-}
-
-void TankItem::turnTo(qreal degrees)
-{
- setAction(new TurnAction(this, degrees - direction()));
-}
-
-void TankItem::stop()
-{
- setAction(0);
-}
-
-QVariant TankItem::itemChange(QGraphicsItem::GraphicsItemChange change, const QVariant &value)
-{
- if (change == ItemPositionChange && scene()) {
- QPointF requestedPosition = value.toPointF();
- QLineF collidedLine;
- QPointF nextPoint = tryMove(requestedPosition, &collidedLine);
- if (nextPoint != requestedPosition)
- emit collision(collidedLine);
- return nextPoint;
- } else {
- return QGraphicsItem::itemChange(change, value);
- }
-}
-
-
-void TankItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *, QWidget *)
-{
- QRectF brect = boundingRect();
-
- painter->setBrush(m_color);
- painter->setPen(Qt::black);
-
- // body
- painter->drawRect(brect.adjusted(0.0, 4.0, -2.0, -4.0));
-
- // cannon
- QRectF cannonBase = brect.adjusted(10.0, 6.0, -12.0, -6.0);
- painter->drawEllipse(cannonBase);
-
- painter->drawRect(QRectF(QPointF(cannonBase.center().x(), cannonBase.center().y() - 2.0),
- QPointF(brect.right(), cannonBase.center().y() + 2.0)));
-
- // left track
- painter->setBrush(QBrush(Qt::black, Qt::VerPattern));
- QRectF leftTrackRect = QRectF(brect.topLeft(), QPointF(brect.right() - 2.0, brect.top() + 4.0));
- painter->fillRect(leftTrackRect, Qt::darkYellow);
- painter->drawRect(leftTrackRect);
-
- // right track
- QRectF rightTrackRect = QRectF(QPointF(brect.left(), brect.bottom() - 4.0),
- QPointF(brect.right() - 2.0, brect.bottom()));
- painter->fillRect(rightTrackRect, Qt::darkYellow);
- painter->drawRect(rightTrackRect);
-
- if (!m_enabled) {
- painter->setPen(QPen(Qt::red, 5));
-
- painter->drawEllipse(brect);
-
- QPainterPath path;
- path.addEllipse(brect);
- painter->setClipPath(path);
- painter->drawLine(brect.topRight(), brect.bottomLeft());
- }
-}
-
-QRectF TankItem::boundingRect() const
-{
- return QRectF(-20.0, -10.0, 40.0, 20.0);
-}
-
-qreal TankItem::direction() const
-{
- return m_currentDirection;
-}
-
-void TankItem::setDirection(qreal newDirection)
-{
- int fullRotations = int(newDirection) / 360;
- newDirection -= fullRotations * 360.0;
-
- qreal diff = newDirection - m_currentDirection;
- m_currentDirection = newDirection;
- rotate(diff);
-}
-
-qreal TankItem::distanceToObstacle(QGraphicsItem **obstacle) const
-{
- qreal dist = sqrt(pow(scene()->sceneRect().width(), 2) + pow(scene()->sceneRect().height(), 2));
-
- qreal a = m_currentDirection * M_PI / 180.0;
-
- qreal yd = dist * sin(a);
- qreal xd = dist * sin(M_PI / 2.0 - a);
-
- QPointF requestedPosition = pos() + QPointF(xd, yd);
- QGraphicsItem *collidedItem = 0;
- QPointF nextPosition = tryMove(requestedPosition, 0, &collidedItem);
- if (collidedItem != 0) {
- if (obstacle != 0)
- *obstacle = collidedItem;
-
- QPointF d = nextPosition - pos();
- return sqrt(pow(d.x(), 2) + pow(d.y(), 2));
- } else {
- return 0.0;
- }
-}
-
-qreal TankItem::distanceToObstacle() const
-{
- return distanceToObstacle(0);
-}
-
diff --git a/examples/statemachine/tankgame/tankitem.h b/examples/statemachine/tankgame/tankitem.h
deleted file mode 100644
index a2f72de..0000000
--- a/examples/statemachine/tankgame/tankitem.h
+++ /dev/null
@@ -1,109 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef TANKITEM_H
-#define TANKITEM_H
-
-#include "gameitem.h"
-
-#include <QColor>
-
-class Action;
-class TankItem: public GameItem
-{
- Q_OBJECT
- Q_PROPERTY(bool enabled READ enabled WRITE setEnabled)
- Q_PROPERTY(qreal direction READ direction WRITE turnTo)
- Q_PROPERTY(qreal distanceToObstacle READ distanceToObstacle)
-public:
- TankItem(QObject *parent = 0);
-
- void setColor(const QColor &color) { m_color = color; }
- QColor color() const { return m_color; }
-
- void idle(qreal elapsed);
- void setDirection(qreal newDirection);
-
- qreal speed() const { return 90.0; }
- qreal angularSpeed() const { return 90.0; }
-
- QRectF boundingRect() const;
-
- void hitByRocket();
-
- void setEnabled(bool b) { m_enabled = b; }
- bool enabled() const { return m_enabled; }
-
- qreal direction() const;
- qreal distanceToObstacle() const;
- qreal distanceToObstacle(QGraphicsItem **item) const;
-
-//! [0]
-signals:
- void tankSpotted(qreal direction, qreal distance);
- void collision(const QLineF &collidedLine);
- void actionCompleted();
- void cannonFired();
- void aboutToBeDestroyed();
-
-public slots:
- void moveForwards(qreal length = 10.0);
- void moveBackwards(qreal length = 10.0);
- void turn(qreal degrees = 30.0);
- void turnTo(qreal degrees = 0.0);
- void stop();
- void fireCannon();
-//! [0]
-
-protected:
- virtual void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget);
- QVariant itemChange(QGraphicsItem::GraphicsItemChange change, const QVariant &value);
-
-private:
- void setAction(Action *newAction);
-
- Action *m_currentAction;
- qreal m_currentDirection;
- QColor m_color;
- bool m_enabled;
-};
-
-#endif
diff --git a/examples/statemachine/tankgameplugins/random_ai/random_ai.pro b/examples/statemachine/tankgameplugins/random_ai/random_ai.pro
deleted file mode 100644
index 5bc0b26..0000000
--- a/examples/statemachine/tankgameplugins/random_ai/random_ai.pro
+++ /dev/null
@@ -1,13 +0,0 @@
-TEMPLATE = lib
-CONFIG += plugin
-INCLUDEPATH += ../..
-HEADERS = random_ai_plugin.h
-SOURCES = random_ai_plugin.cpp
-TARGET = $$qtLibraryTarget(random_ai)
-DESTDIR = ../../tankgame/plugins
-
-#! [0]
-# install
-target.path = $$[QT_INSTALL_EXAMPLES]/statemachine/tankgame/plugins
-sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS random_ai.pro
-sources.path = $$[QT_INSTALL_EXAMPLES]/statemachine/tankgameplugins/random_ai \ No newline at end of file
diff --git a/examples/statemachine/tankgameplugins/random_ai/random_ai_plugin.cpp b/examples/statemachine/tankgameplugins/random_ai/random_ai_plugin.cpp
deleted file mode 100644
index ddfd1c5..0000000
--- a/examples/statemachine/tankgameplugins/random_ai/random_ai_plugin.cpp
+++ /dev/null
@@ -1,78 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "random_ai_plugin.h"
-
-#include <QState>
-#include <QTime>
-#include <QtPlugin>
-
-QState *RandomAiPlugin::create(QState *parentState, QObject *tank)
-{
- qsrand(QTime(0,0,0).secsTo(QTime::currentTime()));
-
- QState *topLevel = new QState(parentState);
-
- QState *selectNextActionState = new SelectActionState(topLevel);
- topLevel->setInitialState(selectNextActionState);
-
- QState *fireState = new RandomDistanceState(topLevel);
- connect(fireState, SIGNAL(distanceComputed(qreal)), tank, SLOT(fireCannon()));
- selectNextActionState->addTransition(selectNextActionState, SIGNAL(fireSelected()), fireState);
-
- QState *moveForwardsState = new RandomDistanceState(topLevel);
- connect(moveForwardsState, SIGNAL(distanceComputed(qreal)), tank, SLOT(moveForwards(qreal)));
- selectNextActionState->addTransition(selectNextActionState, SIGNAL(moveForwardsSelected()), moveForwardsState);
-
- QState *moveBackwardsState = new RandomDistanceState(topLevel);
- connect(moveBackwardsState, SIGNAL(distanceComputed(qreal)), tank, SLOT(moveBackwards(qreal)));
- selectNextActionState->addTransition(selectNextActionState, SIGNAL(moveBackwardsSelected()), moveBackwardsState);
-
- QState *turnState = new RandomDistanceState(topLevel);
- connect(turnState, SIGNAL(distanceComputed(qreal)), tank, SLOT(turn(qreal)));
- selectNextActionState->addTransition(selectNextActionState, SIGNAL(turnSelected()), turnState);
-
- topLevel->addTransition(tank, SIGNAL(actionCompleted()), selectNextActionState);
-
- return topLevel;
-}
-
-Q_EXPORT_PLUGIN2(random_ai, RandomAiPlugin)
diff --git a/examples/statemachine/tankgameplugins/random_ai/random_ai_plugin.h b/examples/statemachine/tankgameplugins/random_ai/random_ai_plugin.h
deleted file mode 100644
index 4c3fc0f..0000000
--- a/examples/statemachine/tankgameplugins/random_ai/random_ai_plugin.h
+++ /dev/null
@@ -1,105 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef RANDOM_AI_PLUGIN_H
-#define RANDOM_AI_PLUGIN_H
-
-#include <QObject>
-#include <QState>
-
-#include <tankgame/plugin.h>
-
-class SelectActionState: public QState
-{
- Q_OBJECT
-public:
- SelectActionState(QState *parent = 0) : QState(parent)
- {
- }
-
-signals:
- void fireSelected();
- void moveForwardsSelected();
- void moveBackwardsSelected();
- void turnSelected();
-
-protected:
- void onEntry(QEvent *)
- {
- int rand = qrand() % 4;
- switch (rand) {
- case 0: emit fireSelected(); break;
- case 1: emit moveForwardsSelected(); break;
- case 2: emit moveBackwardsSelected(); break;
- case 3: emit turnSelected(); break;
- };
- }
-};
-
-class RandomDistanceState: public QState
-{
- Q_OBJECT
-public:
- RandomDistanceState(QState *parent = 0) : QState(parent)
- {
- }
-
-signals:
- void distanceComputed(qreal distance);
-
-protected:
- void onEntry(QEvent *)
- {
- emit distanceComputed(qreal(qrand() % 180));
- }
-};
-
-class RandomAiPlugin: public QObject, public Plugin
-{
- Q_OBJECT
- Q_INTERFACES(Plugin)
-public:
- RandomAiPlugin() { setObjectName("Random"); }
-
- virtual QState *create(QState *parentState, QObject *tank);
-};
-
-#endif // RANDOM_AI_PLUGIN_H
diff --git a/examples/statemachine/tankgameplugins/seek_ai/seek_ai.cpp b/examples/statemachine/tankgameplugins/seek_ai/seek_ai.cpp
deleted file mode 100644
index 79d7d0c..0000000
--- a/examples/statemachine/tankgameplugins/seek_ai/seek_ai.cpp
+++ /dev/null
@@ -1,89 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "seek_ai.h"
-
-QState *SeekAi::create(QState *parentState, QObject *tank)
-{
- QState *topLevel = new QState(parentState);
- topLevel->setObjectName("topLevel");
-
- QState *seek = new QState(topLevel);
- seek->setObjectName("seek");
- topLevel->setInitialState(seek);
-
- QState *lookForNearestWall = new SearchState(tank, seek);
- lookForNearestWall->setObjectName("lookForNearestWall");
- seek->setInitialState(lookForNearestWall);
-
- QState *driveToFirstObstacle = new QState(seek);
- driveToFirstObstacle->setObjectName("driveToFirstObstacle");
- lookForNearestWall->addTransition(lookForNearestWall, SIGNAL(nearestObstacleStraightAhead()),
- driveToFirstObstacle);
-
- QState *drive = new QState(driveToFirstObstacle);
- drive->setObjectName("drive");
- driveToFirstObstacle->setInitialState(drive);
- connect(drive, SIGNAL(entered()), tank, SLOT(moveForwards()));
- connect(drive, SIGNAL(exited()), tank, SLOT(stop()));
-
- // Go in loop
- QState *finishedDriving = new QState(driveToFirstObstacle);
- finishedDriving->setObjectName("finishedDriving");
- drive->addTransition(tank, SIGNAL(actionCompleted()), finishedDriving);
- finishedDriving->addTransition(drive);
-
- QState *turnTo = new QState(seek);
- turnTo->setObjectName("turnTo");
- driveToFirstObstacle->addTransition(new CollisionTransition(tank, turnTo));
-
- turnTo->addTransition(tank, SIGNAL(actionCompleted()), driveToFirstObstacle);
-
- ChaseState *chase = new ChaseState(tank, topLevel);
- chase->setObjectName("chase");
- seek->addTransition(new TankSpottedTransition(tank, chase));
- chase->addTransition(chase, SIGNAL(finished()), driveToFirstObstacle);
- chase->addTransition(new TankSpottedTransition(tank, chase));
-
- return topLevel;
-}
-
-Q_EXPORT_PLUGIN2(seek_ai, SeekAi)
diff --git a/examples/statemachine/tankgameplugins/seek_ai/seek_ai.h b/examples/statemachine/tankgameplugins/seek_ai/seek_ai.h
deleted file mode 100644
index 1bc5b26..0000000
--- a/examples/statemachine/tankgameplugins/seek_ai/seek_ai.h
+++ /dev/null
@@ -1,249 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef SEEK_AI_H
-#define SEEK_AI_H
-
-#include <tankgame/plugin.h>
-
-#include <QState>
-#include <QFinalState>
-#include <QSignalTransition>
-#include <QSignalEvent>
-#include <QVariant>
-#include <QLineF>
-#include <QDebug>
-
-class SearchState: public QState
-{
- Q_OBJECT
-public:
- SearchState(QObject *tank, QState *parentState = 0)
- : QState(parentState),
- m_tank(tank),
- m_distanceToTurn(360.0),
- m_nearestDistance(-1.0),
- m_directionOfNearestObstacle(0.0)
- {
- }
-
-public slots:
- void turnAlittle()
- {
- qreal dist = m_tank->property("distanceToObstacle").toDouble();
-
- if (m_nearestDistance < 0.0 || dist < m_nearestDistance) {
- m_nearestDistance = dist;
- m_directionOfNearestObstacle = m_tank->property("direction").toDouble();
- }
-
- m_distanceToTurn -= 10.0;
- if (m_distanceToTurn < 0.0) {
- disconnect(m_tank, SIGNAL(actionCompleted()), this, SLOT(turnAlittle()));
- connect(m_tank, SIGNAL(actionCompleted()), this, SIGNAL(nearestObstacleStraightAhead()));
- m_tank->setProperty("direction", m_directionOfNearestObstacle);
- }
-
- qreal currentDirection = m_tank->property("direction").toDouble();
- m_tank->setProperty("direction", currentDirection + 10.0);
- }
-
-signals:
- void nearestObstacleStraightAhead();
-
-protected:
- void onEntry(QEvent *)
- {
- connect(m_tank, SIGNAL(actionCompleted()), this, SLOT(turnAlittle()));
- turnAlittle();
- }
-
- void onExit(QEvent *)
- {
- disconnect(m_tank, SIGNAL(actionCompleted()), this, SLOT(turnAlittle()));
- disconnect(m_tank, SIGNAL(actionCompleted()), this, SLOT(nearestObstacleStraightAhead()));
- }
-
-private:
- QObject *m_tank;
-
- qreal m_distanceToTurn;
- qreal m_nearestDistance;
- qreal m_directionOfNearestObstacle;
-};
-
-class CollisionTransition: public QSignalTransition
-{
-public:
- CollisionTransition(QObject *tank, QState *turnTo)
- : QSignalTransition(tank, SIGNAL(collision(QLineF))),
- m_tank(tank),
- m_turnTo(turnTo)
- {
- setTargetState(turnTo);
- }
-
-protected:
- bool eventTest(QEvent *event)
- {
- bool b = QSignalTransition::eventTest(event);
- if (b) {
- QSignalEvent *se = static_cast<QSignalEvent *>(event);
- m_lastLine = se->arguments().at(0).toLineF();
- }
- return b;
- }
-
- void onTransition(QEvent *)
- {
- qreal angleOfWall = m_lastLine.angle();
-
- qreal newDirection;
- if (qrand() % 2 == 0)
- newDirection = angleOfWall;
- else
- newDirection = angleOfWall - 180.0;
-
- m_turnTo->assignProperty(m_tank, "direction", newDirection);
- }
-
-private:
- QLineF m_lastLine;
- QObject *m_tank;
- QState *m_turnTo;
-};
-
-class ChaseState: public QState
-{
- class GoToLocationState: public QState
- {
- public:
- GoToLocationState(QObject *tank, QState *parentState = 0)
- : QState(parentState), m_tank(tank), m_distance(0.0)
- {
- }
-
- void setDistance(qreal distance) { m_distance = distance; }
-
- protected:
- void onEntry()
- {
- QMetaObject::invokeMethod(m_tank, "moveForwards", Q_ARG(qreal, m_distance));
- }
-
- private:
- QObject *m_tank;
- qreal m_distance;
- };
-
-public:
- ChaseState(QObject *tank, QState *parentState = 0) : QState(parentState), m_tank(tank)
- {
- QState *fireCannon = new QState(this);
- fireCannon->setObjectName("fireCannon");
- connect(fireCannon, SIGNAL(entered()), tank, SLOT(fireCannon()));
- setInitialState(fireCannon);
-
- m_goToLocation = new GoToLocationState(tank, this);
- m_goToLocation->setObjectName("goToLocation");
- fireCannon->addTransition(tank, SIGNAL(actionCompleted()), m_goToLocation);
-
- m_turnToDirection = new QState(this);
- m_turnToDirection->setObjectName("turnToDirection");
- m_goToLocation->addTransition(tank, SIGNAL(actionCompleted()), m_turnToDirection);
-
- QFinalState *finalState = new QFinalState(this);
- finalState->setObjectName("finalState");
- m_turnToDirection->addTransition(tank, SIGNAL(actionCompleted()), finalState);
- }
-
- void setDirection(qreal direction)
- {
- m_turnToDirection->assignProperty(m_tank, "direction", direction);
- }
-
- void setDistance(qreal distance)
- {
- m_goToLocation->setDistance(distance);
- }
-
-private:
- QObject *m_tank;
- GoToLocationState *m_goToLocation;
- QState *m_turnToDirection;
-
-};
-
-class TankSpottedTransition: public QSignalTransition
-{
-public:
- TankSpottedTransition(QObject *tank, ChaseState *target) : QSignalTransition(tank, SIGNAL(tankSpotted(qreal,qreal))), m_chase(target)
- {
- setTargetState(target);
- }
-
-protected:
- bool eventTest(QEvent *event)
- {
- bool b = QSignalTransition::eventTest(event);
- if (b) {
- QSignalEvent *se = static_cast<QSignalEvent *>(event);
- m_chase->setDirection(se->arguments().at(0).toDouble());
- m_chase->setDistance(se->arguments().at(1).toDouble());
- }
- return b;
- }
-
-private:
- ChaseState *m_chase;
-};
-
-class SeekAi: public QObject, public Plugin
-{
- Q_OBJECT
- Q_INTERFACES(Plugin)
-public:
- SeekAi() { setObjectName("Seek and destroy"); }
-
- virtual QState *create(QState *parentState, QObject *tank);
-};
-
-#endif
diff --git a/examples/statemachine/tankgameplugins/seek_ai/seek_ai.pro b/examples/statemachine/tankgameplugins/seek_ai/seek_ai.pro
deleted file mode 100644
index 0d8bf2e..0000000
--- a/examples/statemachine/tankgameplugins/seek_ai/seek_ai.pro
+++ /dev/null
@@ -1,13 +0,0 @@
-TEMPLATE = lib
-CONFIG += plugin
-INCLUDEPATH += ../..
-HEADERS = seek_ai.h
-SOURCES = seek_ai.cpp
-TARGET = $$qtLibraryTarget(seek_ai)
-DESTDIR = ../../tankgame/plugins
-
-#! [0]
-# install
-target.path = $$[QT_INSTALL_EXAMPLES]/statemachine/tankgame/plugins
-sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS seek_ai.pro
-sources.path = $$[QT_INSTALL_EXAMPLES]/statemachine/tankgameplugins/seek_ai \ No newline at end of file
diff --git a/examples/statemachine/tankgameplugins/spin_ai/spin_ai.cpp b/examples/statemachine/tankgameplugins/spin_ai/spin_ai.cpp
deleted file mode 100644
index 4e71285..0000000
--- a/examples/statemachine/tankgameplugins/spin_ai/spin_ai.cpp
+++ /dev/null
@@ -1,70 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "spin_ai.h"
-
-#include <QtPlugin>
-
-QState *SpinAi::create(QState *parentState, QObject *tank)
-{
- QState *topLevel = new QState(parentState);
- QState *spinState = new SpinState(tank, topLevel);
- topLevel->setInitialState(spinState);
-
- // When tank is spotted, fire two times and go back to spin state
- QState *fireState = new QState(topLevel);
-
- QState *fireOnce = new QState(fireState);
- fireState->setInitialState(fireOnce);
- connect(fireOnce, SIGNAL(entered()), tank, SLOT(fireCannon()));
-
- QState *fireTwice = new QState(fireState);
- connect(fireTwice, SIGNAL(entered()), tank, SLOT(fireCannon()));
-
- fireOnce->addTransition(tank, SIGNAL(actionCompleted()), fireTwice);
- fireTwice->addTransition(tank, SIGNAL(actionCompleted()), spinState);
-
- spinState->addTransition(tank, SIGNAL(tankSpotted(qreal,qreal)), fireState);
-
- return topLevel;
-}
-
-Q_EXPORT_PLUGIN2(spin_ai, SpinAi)
diff --git a/examples/statemachine/tankgameplugins/spin_ai/spin_ai.h b/examples/statemachine/tankgameplugins/spin_ai/spin_ai.h
deleted file mode 100644
index a97024d..0000000
--- a/examples/statemachine/tankgameplugins/spin_ai/spin_ai.h
+++ /dev/null
@@ -1,92 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef SPIN_AI_H
-#define SPIN_AI_H
-
-#include <tankgame/plugin.h>
-
-#include <QObject>
-#include <QState>
-#include <QVariant>
-
-class SpinState: public QState
-{
- Q_OBJECT
-public:
- SpinState(QObject *tank, QState *parent) : QState(parent), m_tank(tank)
- {
- }
-
-public slots:
- void spin()
- {
- m_tank->setProperty("direction", m_tank->property("direction").toDouble() + 90.0);
- }
-
-protected:
- void onEntry(QEvent *)
- {
- connect(m_tank, SIGNAL(actionCompleted()), this, SLOT(spin()));
- spin();
- }
-
- void onExit(QEvent *)
- {
- disconnect(m_tank, SIGNAL(actionCompleted()), this, SLOT(spin()));
- }
-
-private:
- QObject *m_tank;
-
-};
-
-class SpinAi: public QObject, public Plugin
-{
- Q_OBJECT
- Q_INTERFACES(Plugin)
-public:
- SpinAi() { setObjectName("Spin and destroy"); }
-
- virtual QState *create(QState *parentState, QObject *tank);
-};
-
-#endif
diff --git a/examples/statemachine/tankgameplugins/spin_ai/spin_ai.pro b/examples/statemachine/tankgameplugins/spin_ai/spin_ai.pro
deleted file mode 100644
index 8ab4da0..0000000
--- a/examples/statemachine/tankgameplugins/spin_ai/spin_ai.pro
+++ /dev/null
@@ -1,13 +0,0 @@
-TEMPLATE = lib
-CONFIG += plugin
-INCLUDEPATH += ../..
-HEADERS = spin_ai.h
-SOURCES = spin_ai.cpp
-TARGET = $$qtLibraryTarget(spin_ai)
-DESTDIR = ../../tankgame/plugins
-
-#! [0]
-# install
-target.path = $$[QT_INSTALL_EXAMPLES]/statemachine/tankgame/plugins
-sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS spin_ai.pro
-sources.path = $$[QT_INSTALL_EXAMPLES]/statemachine/tankgameplugins/spin_ai \ No newline at end of file
diff --git a/examples/statemachine/tankgameplugins/spin_ai_with_error/spin_ai_with_error.cpp b/examples/statemachine/tankgameplugins/spin_ai_with_error/spin_ai_with_error.cpp
deleted file mode 100644
index 12a9656..0000000
--- a/examples/statemachine/tankgameplugins/spin_ai_with_error/spin_ai_with_error.cpp
+++ /dev/null
@@ -1,70 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "spin_ai_with_error.h"
-
-#include <QtPlugin>
-
-QState *SpinAiWithError::create(QState *parentState, QObject *tank)
-{
- QState *topLevel = new QState(parentState);
- QState *spinState = new SpinState(tank, topLevel);
- topLevel->setInitialState(spinState);
-
- // When tank is spotted, fire two times and go back to spin state
- // (no initial state set for fireState will lead to run-time error in machine)
- QState *fireState = new QState(topLevel);
-
- QState *fireOnce = new QState(fireState);
- connect(fireOnce, SIGNAL(entered()), tank, SLOT(fireCannon()));
-
- QState *fireTwice = new QState(fireState);
- connect(fireTwice, SIGNAL(entered()), tank, SLOT(fireCannon()));
-
- fireOnce->addTransition(tank, SIGNAL(actionCompleted()), fireTwice);
- fireTwice->addTransition(tank, SIGNAL(actionCompleted()), spinState);
-
- spinState->addTransition(tank, SIGNAL(tankSpotted(qreal,qreal)), fireState);
-
- return topLevel;
-}
-
-Q_EXPORT_PLUGIN2(spin_ai_with_error, SpinAiWithError)
diff --git a/examples/statemachine/tankgameplugins/spin_ai_with_error/spin_ai_with_error.h b/examples/statemachine/tankgameplugins/spin_ai_with_error/spin_ai_with_error.h
deleted file mode 100644
index f35da26..0000000
--- a/examples/statemachine/tankgameplugins/spin_ai_with_error/spin_ai_with_error.h
+++ /dev/null
@@ -1,92 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef SPIN_AI_WITH_ERROR_H
-#define SPIN_AI_WITH_ERROR_H
-
-#include <tankgame/plugin.h>
-
-#include <QObject>
-#include <QState>
-#include <QVariant>
-
-class SpinState: public QState
-{
- Q_OBJECT
-public:
- SpinState(QObject *tank, QState *parent) : QState(parent), m_tank(tank)
- {
- }
-
-public slots:
- void spin()
- {
- m_tank->setProperty("direction", m_tank->property("direction").toDouble() + 90.0);
- }
-
-protected:
- void onEntry(QEvent *)
- {
- connect(m_tank, SIGNAL(actionCompleted()), this, SLOT(spin()));
- spin();
- }
-
- void onExit(QEvent *)
- {
- disconnect(m_tank, SIGNAL(actionCompleted()), this, SLOT(spin()));
- }
-
-private:
- QObject *m_tank;
-
-};
-
-class SpinAiWithError: public QObject, public Plugin
-{
- Q_OBJECT
- Q_INTERFACES(Plugin)
-public:
- SpinAiWithError() { setObjectName("Spin and destroy with runtime error in state machine"); }
-
- virtual QState *create(QState *parentState, QObject *tank);
-};
-
-#endif
diff --git a/examples/statemachine/tankgameplugins/spin_ai_with_error/spin_ai_with_error.pro b/examples/statemachine/tankgameplugins/spin_ai_with_error/spin_ai_with_error.pro
deleted file mode 100644
index 124cf98..0000000
--- a/examples/statemachine/tankgameplugins/spin_ai_with_error/spin_ai_with_error.pro
+++ /dev/null
@@ -1,13 +0,0 @@
-TEMPLATE = lib
-CONFIG += plugin
-INCLUDEPATH += ../..
-HEADERS = spin_ai_with_error.h
-SOURCES = spin_ai_with_error.cpp
-TARGET = $$qtLibraryTarget(spin_ai_with_error)
-DESTDIR = ../../tankgame/plugins
-
-#! [0]
-# install
-target.path = $$[QT_INSTALL_EXAMPLES]/statemachine/tankgame/plugins
-sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS spin_ai_with_error.pro
-sources.path = $$[QT_INSTALL_EXAMPLES]/statemachine/tankgameplugins/spin_ai_with_error \ No newline at end of file
diff --git a/examples/statemachine/tankgameplugins/tankgameplugins.pro b/examples/statemachine/tankgameplugins/tankgameplugins.pro
deleted file mode 100644
index a098e03..0000000
--- a/examples/statemachine/tankgameplugins/tankgameplugins.pro
+++ /dev/null
@@ -1,11 +0,0 @@
-TEMPLATE = subdirs
-SUBDIRS = random_ai \
- spin_ai_with_error \
- spin_ai \
- seek_ai
-
-# install
-target.path = $$[QT_INSTALL_EXAMPLES]/statemachine/tankgameplugins
-sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS tankgameplugins.pro
-sources.path = $$[QT_INSTALL_EXAMPLES]/statemachine/tankgameplugins
-INSTALLS += target sources
diff --git a/examples/threads/mandelbrot/mandelbrot.pro b/examples/threads/mandelbrot/mandelbrot.pro
index 8f552a8..cf95ea0 100644
--- a/examples/threads/mandelbrot/mandelbrot.pro
+++ b/examples/threads/mandelbrot/mandelbrot.pro
@@ -4,7 +4,7 @@ SOURCES = main.cpp \
mandelbrotwidget.cpp \
renderthread.cpp
-unix:!mac:!symbian:LIBS += -lm
+unix:!mac:!symbian:!vxworks:LIBS += -lm
# install
target.path = $$[QT_INSTALL_EXAMPLES]/threads/mandelbrot
diff --git a/examples/tools/codecs/encodedfiles/.gitattributes b/examples/tools/codecs/encodedfiles/.gitattributes
deleted file mode 100644
index 996aab2..0000000
--- a/examples/tools/codecs/encodedfiles/.gitattributes
+++ /dev/null
@@ -1,2 +0,0 @@
-iso-8859-15.txt -crlf
-iso-8859-1.txt -crlf
diff --git a/examples/tools/codecs/encodedfiles/iso-8859-1.txt b/examples/tools/codecs/encodedfiles/iso-8859-1.txt
index 4a7ebe3..d7fcaca 100644
--- a/examples/tools/codecs/encodedfiles/iso-8859-1.txt
+++ b/examples/tools/codecs/encodedfiles/iso-8859-1.txt
@@ -1,6 +1,6 @@
-Paulo Coelho: O Gênio e as Rosas
-Anna Hallström, Urban Östberg: Svår svenska
-Darrell Huff: How to Lie with Statistics
-Franz Kafka: Das Schloß
-Walter Moers: Die 13½ Leben des Käpt'n Blaubär
-Dag Solstad: Forsøk på å beskrive det ugjennomtrengelige
+Paulo Coelho: O Gênio e as Rosas
+Anna Hallström, Urban Östberg: Svår svenska
+Darrell Huff: How to Lie with Statistics
+Franz Kafka: Das Schloß
+Walter Moers: Die 13½ Leben des Käpt'n Blaubär
+Dag Solstad: Forsøk på å beskrive det ugjennomtrengelige
diff --git a/examples/tools/codecs/encodedfiles/iso-8859-15.txt b/examples/tools/codecs/encodedfiles/iso-8859-15.txt
index cd43ea3..be2d83c 100644
--- a/examples/tools/codecs/encodedfiles/iso-8859-15.txt
+++ b/examples/tools/codecs/encodedfiles/iso-8859-15.txt
@@ -1,8 +1,8 @@
-Paulo Coelho: O Gênio e as Rosas
-Jean-Pierre Coffe: À table en famille avec 15 ¤ par jour
-Anna Hallström, Urban Östberg: Svår svenska
-Darrell Huff: How to Lie with Statistics
-Franz Kafka: Das Schloß
-Helena Lehecková: T¨ekkiä suomalaisille
-Arthur Rimbaud: ¼uvres complètes
-Dag Solstad: Forsøk på å beskrive det ugjennomtrengelige
+Paulo Coelho: O Gênio e as Rosas
+Jean-Pierre Coffe: À table en famille avec 15 ¤ par jour
+Anna Hallström, Urban Östberg: Svår svenska
+Darrell Huff: How to Lie with Statistics
+Franz Kafka: Das Schloß
+Helena Lehecková: T¨ekkiä suomalaisille
+Arthur Rimbaud: ¼uvres complètes
+Dag Solstad: Forsøk på å beskrive det ugjennomtrengelige
diff --git a/examples/tools/completer/mainwindow.cpp b/examples/tools/completer/mainwindow.cpp
index 8ea1c39..c98482a 100644
--- a/examples/tools/completer/mainwindow.cpp
+++ b/examples/tools/completer/mainwindow.cpp
@@ -78,6 +78,12 @@ MainWindow::MainWindow(QWidget *parent)
//! [0]
//! [1]
+ QLabel *maxVisibleLabel = new QLabel;
+ maxVisibleLabel->setText(tr("Max Visible Items"));
+ maxVisibleSpinBox = new QSpinBox;
+ maxVisibleSpinBox->setRange(3,25);
+ maxVisibleSpinBox->setValue(10);
+
wrapCheckBox = new QCheckBox;
wrapCheckBox->setText(tr("Wrap around completions"));
wrapCheckBox->setChecked(true);
@@ -90,6 +96,7 @@ MainWindow::MainWindow(QWidget *parent)
connect(modelCombo, SIGNAL(activated(int)), this, SLOT(changeModel()));
connect(modeCombo, SIGNAL(activated(int)), this, SLOT(changeMode(int)));
connect(caseCombo, SIGNAL(activated(int)), this, SLOT(changeCase(int)));
+ connect(maxVisibleSpinBox, SIGNAL(valueChanged(int)), this, SLOT(changeMaxVisible(int)));
//! [2]
//! [3]
@@ -99,9 +106,10 @@ MainWindow::MainWindow(QWidget *parent)
layout->addWidget(modelLabel, 0, 0); layout->addWidget(modelCombo, 0, 1);
layout->addWidget(modeLabel, 1, 0); layout->addWidget(modeCombo, 1, 1);
layout->addWidget(caseLabel, 2, 0); layout->addWidget(caseCombo, 2, 1);
- layout->addWidget(wrapCheckBox, 3, 0);
- layout->addWidget(contentsLabel, 4, 0, 1, 2);
- layout->addWidget(lineEdit, 5, 0, 1, 2);
+ layout->addWidget(maxVisibleLabel, 3, 0); layout->addWidget(maxVisibleSpinBox, 3, 1);
+ layout->addWidget(wrapCheckBox, 4, 0);
+ layout->addWidget(contentsLabel, 5, 0, 1, 2);
+ layout->addWidget(lineEdit, 6, 0, 1, 2);
centralWidget->setLayout(layout);
setCentralWidget(centralWidget);
@@ -205,6 +213,7 @@ void MainWindow::changeModel()
{
delete completer;
completer = new QCompleter(this);
+ completer->setMaxVisibleItems(maxVisibleSpinBox->value());
switch (modelCombo->currentIndex()) {
default:
@@ -256,9 +265,16 @@ void MainWindow::changeModel()
//! [14]
//! [15]
+void MainWindow::changeMaxVisible(int max)
+{
+ completer->setMaxVisibleItems(max);
+}
+//! [15]
+
+//! [16]
void MainWindow::about()
{
QMessageBox::about(this, tr("About"), tr("This example demonstrates the "
"different features of the QCompleter class."));
}
-//! [15]
+//! [16]
diff --git a/examples/tools/completer/mainwindow.h b/examples/tools/completer/mainwindow.h
index f6c962b..30b8d26 100644
--- a/examples/tools/completer/mainwindow.h
+++ b/examples/tools/completer/mainwindow.h
@@ -52,6 +52,7 @@ class QLabel;
class QLineEdit;
class QProgressBar;
class QCheckBox;
+class QSpinBox;
QT_END_NAMESPACE
//! [0]
@@ -67,6 +68,7 @@ private slots:
void changeCase(int);
void changeMode(int);
void changeModel();
+ void changeMaxVisible(int);
//! [0]
//! [1]
@@ -77,6 +79,7 @@ private:
QComboBox *caseCombo;
QComboBox *modeCombo;
QComboBox *modelCombo;
+ QSpinBox *maxVisibleSpinBox;
QCheckBox *wrapCheckBox;
QCompleter *completer;
QLabel *contentsLabel;
diff --git a/examples/tools/regexp/regexpdialog.cpp b/examples/tools/regexp/regexpdialog.cpp
index 42cb617..7aab1be 100644
--- a/examples/tools/regexp/regexpdialog.cpp
+++ b/examples/tools/regexp/regexpdialog.cpp
@@ -69,6 +69,7 @@ RegExpDialog::RegExpDialog(QWidget *parent)
syntaxComboBox->addItem(tr("Regular expression v2"), QRegExp::RegExp2);
syntaxComboBox->addItem(tr("Wildcard"), QRegExp::Wildcard);
syntaxComboBox->addItem(tr("Fixed string"), QRegExp::FixedString);
+ syntaxComboBox->addItem(tr("W3C Xml Schema 1.1"), QRegExp::W3CXmlSchema11);
syntaxLabel = new QLabel(tr("&Pattern Syntax:"));
syntaxLabel->setBuddy(syntaxComboBox);
diff --git a/examples/uitools/textfinder/forms/input.txt b/examples/uitools/textfinder/forms/input.txt
index fae542f..29dfe5d 100644
--- a/examples/uitools/textfinder/forms/input.txt
+++ b/examples/uitools/textfinder/forms/input.txt
@@ -1,5 +1,5 @@
These forms are processed at run-time to produce dynamically-generated user interfaces.
-In order to generate a form at run-time, a resource file containing a .ui file is needed.
+In order to generate a form at run-time, a resource file containing a UI file is needed.
Applications that use the form handling classes need to be configured to be built against
the QtUiTools module. This is done by including the following declaration in a qmake project
file to ensure that the application is compiled and linked appropriately. A form loader object,
diff --git a/examples/widgets/softkeys/main.cpp b/examples/widgets/softkeys/main.cpp
index a544b28..3025e36 100644
--- a/examples/widgets/softkeys/main.cpp
+++ b/examples/widgets/softkeys/main.cpp
@@ -1,7 +1,7 @@
/****************************************************************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the examples of the Qt Toolkit.
**
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/widgets/softkeys/softkeys.cpp b/examples/widgets/softkeys/softkeys.cpp
index d8ab09a..7419aec 100644
--- a/examples/widgets/softkeys/softkeys.cpp
+++ b/examples/widgets/softkeys/softkeys.cpp
@@ -1,7 +1,7 @@
/****************************************************************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the examples of the Qt Toolkit.
**
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/widgets/softkeys/softkeys.h b/examples/widgets/softkeys/softkeys.h
index da56eae..6f46563 100644
--- a/examples/widgets/softkeys/softkeys.h
+++ b/examples/widgets/softkeys/softkeys.h
@@ -1,7 +1,7 @@
/****************************************************************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the examples of the Qt Toolkit.
**
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/widgets/tablet/tabletcanvas.cpp b/examples/widgets/tablet/tabletcanvas.cpp
index 4e8150e..3e9ae38 100644
--- a/examples/widgets/tablet/tabletcanvas.cpp
+++ b/examples/widgets/tablet/tabletcanvas.cpp
@@ -137,11 +137,6 @@ void TabletCanvas::paintImage(QPainter &painter, QTabletEvent *event)
QPoint brushAdjust(10, 10);
switch (myTabletDevice) {
- case QTabletEvent::Stylus:
- painter.setBrush(myBrush);
- painter.setPen(myPen);
- painter.drawLine(polyLine[1], event->pos());
- break;
case QTabletEvent::Airbrush:
myBrush.setColor(myColor);
myBrush.setStyle(brushPattern(event->pressure()));
@@ -156,10 +151,32 @@ void TabletCanvas::paintImage(QPainter &painter, QTabletEvent *event)
case QTabletEvent::Puck:
case QTabletEvent::FourDMouse:
case QTabletEvent::RotationStylus:
- qWarning("This input device is not supported by the example.");
+ {
+ const QString error(tr("This input device is not supported by the example."));
+#ifndef QT_NO_STATUSTIP
+ QStatusTipEvent status(error);
+ QApplication::sendEvent(this, &status);
+#else
+ qWarning() << error;
+#endif
+ }
break;
default:
- qWarning("Unknown tablet device.");
+ {
+ const QString error(tr("Unknown tablet device - treating as stylus"));
+#ifndef QT_NO_STATUSTIP
+ QStatusTipEvent status(error);
+ QApplication::sendEvent(this, &status);
+#else
+ qWarning() << error;
+#endif
+ }
+ // FALL-THROUGH
+ case QTabletEvent::Stylus:
+ painter.setBrush(myBrush);
+ painter.setPen(myPen);
+ painter.drawLine(polyLine[1], event->pos());
+ break;
}
}
//! [5]
@@ -250,7 +267,7 @@ void TabletCanvas::updateBrush(QTabletEvent *event)
}
//! [11]
-void TabletCanvas::resizeEvent(QResizeEvent *event)
+void TabletCanvas::resizeEvent(QResizeEvent *)
{
initImage();
polyLine[0] = polyLine[1] = polyLine[2] = QPoint();
diff --git a/examples/xml/htmlinfo/main.cpp b/examples/xml/htmlinfo/main.cpp
index 72aef81..fa85f55 100644
--- a/examples/xml/htmlinfo/main.cpp
+++ b/examples/xml/htmlinfo/main.cpp
@@ -1,9 +1,9 @@
/****************************************************************************
**
-** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
-** This file is part of the $MODULE$ of the Qt Toolkit.
+** This file is part of the examples of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/xmlpatterns/schema/files/contact.xsd b/examples/xmlpatterns/schema/files/contact.xsd
new file mode 100644
index 0000000..3e1b570
--- /dev/null
+++ b/examples/xmlpatterns/schema/files/contact.xsd
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+
+ <xsd:element name="contact">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="givenName" type="xsd:string"/>
+ <xsd:element name="familyName" type="xsd:string"/>
+ <xsd:element name="birthdate" type="xsd:date" minOccurs="0"/>
+ <xsd:element name="homeAddress" type="address"/>
+ <xsd:element name="workAddress" type="address" minOccurs="0"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:complexType name="address">
+ <xsd:sequence>
+ <xsd:element name="street" type="xsd:string"/>
+ <xsd:element name="zipCode" type="xsd:string"/>
+ <xsd:element name="city" type="xsd:string"/>
+ <xsd:element name="country" type="xsd:string"/>
+ </xsd:sequence>
+ </xsd:complexType>
+
+</xsd:schema>
diff --git a/examples/xmlpatterns/schema/files/invalid_contact.xml b/examples/xmlpatterns/schema/files/invalid_contact.xml
new file mode 100644
index 0000000..42f1edd
--- /dev/null
+++ b/examples/xmlpatterns/schema/files/invalid_contact.xml
@@ -0,0 +1,11 @@
+<contact>
+ <givenName>John</givenName>
+ <familyName>Doe</familyName>
+ <title>Prof.</title>
+ <workAddress>
+ <street>Sandakerveien 116</street>
+ <zipCode>N-0550</zipCode>
+ <city>Oslo</city>
+ <country>Norway</country>
+ </workAddress>
+</contact>
diff --git a/examples/xmlpatterns/schema/files/invalid_order.xml b/examples/xmlpatterns/schema/files/invalid_order.xml
new file mode 100644
index 0000000..8ffc5fd
--- /dev/null
+++ b/examples/xmlpatterns/schema/files/invalid_order.xml
@@ -0,0 +1,13 @@
+<order>
+ <customerId>234219</customerId>
+ <article>
+ <articleId>21692</articleId>
+ <count>3</count>
+ </article>
+ <article>
+ <articleId>24749</articleId>
+ <count>9</count>
+ </article>
+ <deliveryDate>2009-01-23</deliveryDate>
+ <payed>yes</payed>
+</order>
diff --git a/examples/xmlpatterns/schema/files/invalid_recipe.xml b/examples/xmlpatterns/schema/files/invalid_recipe.xml
new file mode 100644
index 0000000..4d75af6
--- /dev/null
+++ b/examples/xmlpatterns/schema/files/invalid_recipe.xml
@@ -0,0 +1,14 @@
+<recipe>
+ <title>Cheese on Toast</title>
+ <ingredient name="Bread" quantity="2" unit="slices"/>
+ <ingredient name="Cheese" quantity="2" unit="slices"/>
+ <time quantity="3" unit="days"/>
+ <method>
+ <step>1. Slice the bread and cheese.</step>
+ <step>2. Grill one side of each slice of bread.</step>
+ <step>3. Turn over the bread and place a slice of cheese on each piece.</step>
+ <step>4. Grill until the cheese has started to melt.</step>
+ <step>5. Serve and enjoy!</step>
+ </method>
+ <comment>Tell your friends about it!</comment>
+</recipe>
diff --git a/examples/xmlpatterns/schema/files/order.xsd b/examples/xmlpatterns/schema/files/order.xsd
new file mode 100644
index 0000000..405cafe
--- /dev/null
+++ b/examples/xmlpatterns/schema/files/order.xsd
@@ -0,0 +1,23 @@
+<?xml version="1.0"?>
+<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+
+ <xsd:element name="order">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="customerId" type="xsd:positiveInteger"/>
+ <xsd:element name="article" type="articleType" maxOccurs="unbounded"/>
+ <xsd:element name="deliveryDate" type="xsd:date"/>
+ <xsd:element name="payed" type="xsd:boolean"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:complexType name="articleType">
+ <xsd:sequence>
+ <xsd:element name="articleId" type="xsd:positiveInteger"/>
+ <xsd:element name="count" type="xsd:positiveInteger"/>
+ <xsd:element name="comment" type="xsd:string" minOccurs="0"/>
+ </xsd:sequence>
+ </xsd:complexType>
+
+</xsd:schema>
diff --git a/examples/xmlpatterns/schema/files/recipe.xsd b/examples/xmlpatterns/schema/files/recipe.xsd
new file mode 100644
index 0000000..bbbafd9
--- /dev/null
+++ b/examples/xmlpatterns/schema/files/recipe.xsd
@@ -0,0 +1,40 @@
+<?xml version="1.0"?>
+<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+
+ <xsd:element name="recipe">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="title" type="xsd:string"/>
+ <xsd:element name="ingredient" type="ingredientType" maxOccurs="unbounded"/>
+ <xsd:element name="time" type="timeType"/>
+ <xsd:element name="method">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="step" type="xsd:string" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:complexType name="ingredientType">
+ <xsd:attribute name="name" type="xsd:string"/>
+ <xsd:attribute name="quantity" type="xsd:positiveInteger"/>
+ <xsd:attribute name="unit" type="xsd:string"/>
+ </xsd:complexType>
+
+ <xsd:complexType name="timeType">
+ <xsd:attribute name="quantity" type="xsd:positiveInteger"/>
+ <xsd:attribute name="unit">
+ <xsd:simpleType>
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="seconds"/>
+ <xsd:enumeration value="minutes"/>
+ <xsd:enumeration value="hours"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ </xsd:attribute>
+ </xsd:complexType>
+
+</xsd:schema>
diff --git a/examples/xmlpatterns/schema/files/valid_contact.xml b/examples/xmlpatterns/schema/files/valid_contact.xml
new file mode 100644
index 0000000..53c04d4
--- /dev/null
+++ b/examples/xmlpatterns/schema/files/valid_contact.xml
@@ -0,0 +1,11 @@
+<contact>
+ <givenName>John</givenName>
+ <familyName>Doe</familyName>
+ <birthdate>1977-12-25</birthdate>
+ <homeAddress>
+ <street>Sandakerveien 116</street>
+ <zipCode>N-0550</zipCode>
+ <city>Oslo</city>
+ <country>Norway</country>
+ </homeAddress>
+</contact>
diff --git a/examples/xmlpatterns/schema/files/valid_order.xml b/examples/xmlpatterns/schema/files/valid_order.xml
new file mode 100644
index 0000000..f83c36c
--- /dev/null
+++ b/examples/xmlpatterns/schema/files/valid_order.xml
@@ -0,0 +1,18 @@
+<order>
+ <customerId>194223</customerId>
+ <article>
+ <articleId>22242</articleId>
+ <count>5</count>
+ </article>
+ <article>
+ <articleId>32372</articleId>
+ <count>12</count>
+ <comment>without stripes</comment>
+ </article>
+ <article>
+ <articleId>23649</articleId>
+ <count>2</count>
+ </article>
+ <deliveryDate>2009-01-23</deliveryDate>
+ <payed>true</payed>
+</order>
diff --git a/examples/xmlpatterns/schema/files/valid_recipe.xml b/examples/xmlpatterns/schema/files/valid_recipe.xml
new file mode 100644
index 0000000..f6499ba
--- /dev/null
+++ b/examples/xmlpatterns/schema/files/valid_recipe.xml
@@ -0,0 +1,13 @@
+<recipe>
+ <title>Cheese on Toast</title>
+ <ingredient name="Bread" quantity="2" unit="slices"/>
+ <ingredient name="Cheese" quantity="2" unit="slices"/>
+ <time quantity="3" unit="minutes"/>
+ <method>
+ <step>1. Slice the bread and cheese.</step>
+ <step>2. Grill one side of each slice of bread.</step>
+ <step>3. Turn over the bread and place a slice of cheese on each piece.</step>
+ <step>4. Grill until the cheese has started to melt.</step>
+ <step>5. Serve and enjoy!</step>
+ </method>
+</recipe>
diff --git a/examples/xmlpatterns/schema/main.cpp b/examples/xmlpatterns/schema/main.cpp
new file mode 100644
index 0000000..3324135
--- /dev/null
+++ b/examples/xmlpatterns/schema/main.cpp
@@ -0,0 +1,54 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QtGui>
+#include "mainwindow.h"
+
+//! [0]
+int main(int argc, char* argv[])
+{
+ Q_INIT_RESOURCE(schema);
+ QApplication app(argc, argv);
+ MainWindow* const window = new MainWindow;
+ window->show();
+ return app.exec();
+}
+//! [0]
diff --git a/examples/xmlpatterns/schema/mainwindow.cpp b/examples/xmlpatterns/schema/mainwindow.cpp
new file mode 100644
index 0000000..3cb5ff3
--- /dev/null
+++ b/examples/xmlpatterns/schema/mainwindow.cpp
@@ -0,0 +1,218 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QtGui>
+#include <QtXmlPatterns>
+
+#include "mainwindow.h"
+#include "xmlsyntaxhighlighter.h"
+
+//! [4]
+class MessageHandler : public QAbstractMessageHandler
+{
+ public:
+ MessageHandler()
+ : QAbstractMessageHandler(0)
+ {
+ }
+
+ QString statusMessage() const
+ {
+ return m_description;
+ }
+
+ int line() const
+ {
+ return m_sourceLocation.line();
+ }
+
+ int column() const
+ {
+ return m_sourceLocation.column();
+ }
+
+ protected:
+ virtual void handleMessage(QtMsgType type, const QString &description,
+ const QUrl &identifier, const QSourceLocation &sourceLocation)
+ {
+ Q_UNUSED(type);
+ Q_UNUSED(identifier);
+
+ m_messageType = type;
+ m_description = description;
+ m_sourceLocation = sourceLocation;
+ }
+
+ private:
+ QtMsgType m_messageType;
+ QString m_description;
+ QSourceLocation m_sourceLocation;
+};
+//! [4]
+
+//! [0]
+MainWindow::MainWindow()
+{
+ setupUi(this);
+
+ new XmlSyntaxHighlighter(schemaView->document());
+ new XmlSyntaxHighlighter(instanceEdit->document());
+
+ schemaSelection->addItem(tr("Contact Schema"));
+ schemaSelection->addItem(tr("Recipe Schema"));
+ schemaSelection->addItem(tr("Order Schema"));
+
+ instanceSelection->addItem(tr("Valid Contact Instance"));
+ instanceSelection->addItem(tr("Invalid Contact Instance"));
+
+ connect(schemaSelection, SIGNAL(currentIndexChanged(int)), SLOT(schemaSelected(int)));
+ connect(instanceSelection, SIGNAL(currentIndexChanged(int)), SLOT(instanceSelected(int)));
+ connect(validateButton, SIGNAL(clicked()), SLOT(validate()));
+ connect(instanceEdit, SIGNAL(textChanged()), SLOT(textChanged()));
+
+ validationStatus->setAlignment(Qt::AlignCenter | Qt::AlignVCenter);
+
+ schemaSelected(0);
+ instanceSelected(0);
+}
+//! [0]
+
+//! [1]
+void MainWindow::schemaSelected(int index)
+{
+ instanceSelection->clear();
+ if (index == 0) {
+ instanceSelection->addItem(tr("Valid Contact Instance"));
+ instanceSelection->addItem(tr("Invalid Contact Instance"));
+ } else if (index == 1) {
+ instanceSelection->addItem(tr("Valid Recipe Instance"));
+ instanceSelection->addItem(tr("Invalid Recipe Instance"));
+ } else if (index == 2) {
+ instanceSelection->addItem(tr("Valid Order Instance"));
+ instanceSelection->addItem(tr("Invalid Order Instance"));
+ }
+ textChanged();
+
+ QFile schemaFile(QString(":/schema_%1.xsd").arg(index));
+ schemaFile.open(QIODevice::ReadOnly);
+ const QString schemaText(QString::fromUtf8(schemaFile.readAll()));
+ schemaView->setPlainText(schemaText);
+
+ validate();
+}
+//! [1]
+
+//! [2]
+void MainWindow::instanceSelected(int index)
+{
+ QFile instanceFile(QString(":/instance_%1.xml").arg((2*schemaSelection->currentIndex()) + index));
+ instanceFile.open(QIODevice::ReadOnly);
+ const QString instanceText(QString::fromUtf8(instanceFile.readAll()));
+ instanceEdit->setPlainText(instanceText);
+
+ validate();
+}
+//! [2]
+
+//! [3]
+void MainWindow::validate()
+{
+ const QByteArray schemaData = schemaView->toPlainText().toUtf8();
+ const QByteArray instanceData = instanceEdit->toPlainText().toUtf8();
+
+ MessageHandler messageHandler;
+
+ QXmlSchema schema;
+ schema.setMessageHandler(&messageHandler);
+
+ schema.load(schemaData);
+
+ bool errorOccurred = false;
+ if (!schema.isValid()) {
+ errorOccurred = true;
+ } else {
+ QXmlSchemaValidator validator(schema);
+ if (!validator.validate(instanceData))
+ errorOccurred = true;
+ }
+
+ if (errorOccurred) {
+ validationStatus->setText(messageHandler.statusMessage());
+ moveCursor(messageHandler.line(), messageHandler.column());
+ } else {
+ validationStatus->setText(tr("validation successful"));
+ }
+
+ const QString styleSheet = QString("QLabel {background: %1; padding: 3px}")
+ .arg(errorOccurred ? QColor(Qt::red).lighter(160).name() :
+ QColor(Qt::green).lighter(160).name());
+ validationStatus->setStyleSheet(styleSheet);
+}
+//! [3]
+
+void MainWindow::textChanged()
+{
+ instanceEdit->setExtraSelections(QList<QTextEdit::ExtraSelection>());
+}
+
+void MainWindow::moveCursor(int line, int column)
+{
+ instanceEdit->moveCursor(QTextCursor::Start);
+ for (int i = 1; i < line; ++i)
+ instanceEdit->moveCursor(QTextCursor::Down);
+
+ for (int i = 1; i < column; ++i)
+ instanceEdit->moveCursor(QTextCursor::Right);
+
+ QList<QTextEdit::ExtraSelection> extraSelections;
+ QTextEdit::ExtraSelection selection;
+
+ const QColor lineColor = QColor(Qt::red).lighter(160);
+ selection.format.setBackground(lineColor);
+ selection.format.setProperty(QTextFormat::FullWidthSelection, true);
+ selection.cursor = instanceEdit->textCursor();
+ selection.cursor.clearSelection();
+ extraSelections.append(selection);
+
+ instanceEdit->setExtraSelections(extraSelections);
+
+ instanceEdit->setFocus();
+}
diff --git a/examples/xmlpatterns/schema/mainwindow.h b/examples/xmlpatterns/schema/mainwindow.h
new file mode 100644
index 0000000..32d9b09
--- /dev/null
+++ b/examples/xmlpatterns/schema/mainwindow.h
@@ -0,0 +1,68 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef MAINWINDOW_H
+#define MAINWINDOW_H
+
+#include <QMainWindow>
+
+#include "ui_schema.h"
+
+//! [0]
+class MainWindow : public QMainWindow,
+ private Ui::SchemaMainWindow
+{
+ Q_OBJECT
+
+ public:
+ MainWindow();
+
+ private Q_SLOTS:
+ void schemaSelected(int index);
+ void instanceSelected(int index);
+ void validate();
+ void textChanged();
+
+ private:
+ void moveCursor(int line, int column);
+};
+//! [0]
+#endif
diff --git a/examples/xmlpatterns/schema/schema.pro b/examples/xmlpatterns/schema/schema.pro
new file mode 100644
index 0000000..af32e0a
--- /dev/null
+++ b/examples/xmlpatterns/schema/schema.pro
@@ -0,0 +1,11 @@
+QT += xmlpatterns
+FORMS += schema.ui
+HEADERS = mainwindow.h ../shared/xmlsyntaxhighlighter.h
+RESOURCES = schema.qrc
+SOURCES = main.cpp mainwindow.cpp ../shared/xmlsyntaxhighlighter.cpp
+INCLUDEPATH += ../shared/
+
+target.path = $$[QT_INSTALL_EXAMPLES]/xmlpatterns/schema
+sources.files = $$SOURCES $$HEADERS $$RESOURCES *.pro *.xq *.html files
+sources.path = $$[QT_INSTALL_EXAMPLES]/xmlpatterns/schema
+INSTALLS += target sources
diff --git a/examples/xmlpatterns/schema/schema.qrc b/examples/xmlpatterns/schema/schema.qrc
new file mode 100644
index 0000000..eb7ddfd
--- /dev/null
+++ b/examples/xmlpatterns/schema/schema.qrc
@@ -0,0 +1,13 @@
+<!DOCTYPE RCC><RCC version="1.0">
+<qresource>
+ <file alias="schema_0.xsd">files/contact.xsd</file>
+ <file alias="schema_1.xsd">files/recipe.xsd</file>
+ <file alias="schema_2.xsd">files/order.xsd</file>
+ <file alias="instance_0.xml">files/valid_contact.xml</file>
+ <file alias="instance_1.xml">files/invalid_contact.xml</file>
+ <file alias="instance_2.xml">files/valid_recipe.xml</file>
+ <file alias="instance_3.xml">files/invalid_recipe.xml</file>
+ <file alias="instance_4.xml">files/valid_order.xml</file>
+ <file alias="instance_5.xml">files/invalid_order.xml</file>
+</qresource>
+</RCC>
diff --git a/examples/xmlpatterns/schema/schema.ui b/examples/xmlpatterns/schema/schema.ui
new file mode 100644
index 0000000..b67f444
--- /dev/null
+++ b/examples/xmlpatterns/schema/schema.ui
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>SchemaMainWindow</class>
+ <widget class="QMainWindow" name="SchemaMainWindow">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>417</width>
+ <height>594</height>
+ </rect>
+ </property>
+ <property name="windowTitle">
+ <string>XML Schema Validation</string>
+ </property>
+ <widget class="QWidget" name="centralwidget">
+ <layout class="QGridLayout" name="gridLayout">
+ <item row="0" column="0" colspan="2">
+ <widget class="QLabel" name="schemaLabel">
+ <property name="text">
+ <string>XML Schema Document:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="2" colspan="2">
+ <widget class="QComboBox" name="schemaSelection"/>
+ </item>
+ <item row="1" column="0" colspan="4">
+ <widget class="QTextBrowser" name="schemaView"/>
+ </item>
+ <item row="2" column="0" colspan="2">
+ <widget class="QLabel" name="instanceLabel">
+ <property name="text">
+ <string>XML Instance Document:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="2" colspan="2">
+ <widget class="QComboBox" name="instanceSelection"/>
+ </item>
+ <item row="3" column="0" colspan="4">
+ <widget class="QTextEdit" name="instanceEdit"/>
+ </item>
+ <item row="4" column="0">
+ <widget class="QLabel" name="label">
+ <property name="text">
+ <string>Status:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="1" colspan="2">
+ <widget class="QLabel" name="validationStatus">
+ <property name="text">
+ <string>not validated</string>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="3">
+ <widget class="QPushButton" name="validateButton">
+ <property name="text">
+ <string>Validate</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QStatusBar" name="statusbar"/>
+ </widget>
+ <resources/>
+ <connections/>
+</ui>
diff --git a/examples/xmlpatterns/trafficinfo/mainwindow.cpp b/examples/xmlpatterns/trafficinfo/mainwindow.cpp
index 943055a..105ede4 100644
--- a/examples/xmlpatterns/trafficinfo/mainwindow.cpp
+++ b/examples/xmlpatterns/trafficinfo/mainwindow.cpp
@@ -111,7 +111,9 @@ void MainWindow::mousePressEvent(QMouseEvent *event)
void MainWindow::paintEvent(QPaintEvent*)
{
- QLinearGradient gradient(QPoint(width()/2, 0), QPoint(width()/2, height()));
+ const QPoint start(width()/2, 0);
+ const QPoint finalStop(width()/2, height());
+ QLinearGradient gradient(start, finalStop);
const QColor qtGreen(102, 176, 54);
gradient.setColorAt(0, qtGreen.dark());
gradient.setColorAt(0.5, qtGreen);
diff --git a/examples/xmlpatterns/xmlpatterns.pro b/examples/xmlpatterns/xmlpatterns.pro
index 081abde..d5b3498 100644
--- a/examples/xmlpatterns/xmlpatterns.pro
+++ b/examples/xmlpatterns/xmlpatterns.pro
@@ -2,7 +2,8 @@ TEMPLATE = subdirs
SUBDIRS = recipes \
trafficinfo \
xquery \
- filetree
+ filetree \
+ schema
# This example depends on QtWebkit as well.
contains(QT_CONFIG, webkit):SUBDIRS += qobjectxmlmodel
diff --git a/mkspecs/common/symbian/fixed_stdlib.h b/mkspecs/common/symbian/fixed_stdlib.h
index 7fd73d6..82ad45d 100644
--- a/mkspecs/common/symbian/fixed_stdlib.h
+++ b/mkspecs/common/symbian/fixed_stdlib.h
@@ -1,9 +1,9 @@
/****************************************************************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
-** This file is part of the $MODULE$ of the Qt Toolkit.
+** This file is part of the makespecs of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
@@ -61,4 +61,4 @@
# undef REVERT_WCHAR_T_DECLARED
# endif //REVERT_WCHAR_T_DECLARED
-#endif \ No newline at end of file
+#endif
diff --git a/mkspecs/common/symbian/qplatformdefs.h b/mkspecs/common/symbian/qplatformdefs.h
index 5f093b7..db5f461 100644
--- a/mkspecs/common/symbian/qplatformdefs.h
+++ b/mkspecs/common/symbian/qplatformdefs.h
@@ -1,7 +1,7 @@
/****************************************************************************
**
-** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the qmake spec of the Qt Toolkit.
**
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/mkspecs/common/symbian/symbian.conf b/mkspecs/common/symbian/symbian.conf
index 554bf85..af2be8f 100644
--- a/mkspecs/common/symbian/symbian.conf
+++ b/mkspecs/common/symbian/symbian.conf
@@ -29,7 +29,7 @@ QMAKE_CFLAGS_YACC = -Wno-unused -Wno-parentheses
QMAKE_CXX = g++
QMAKE_CXXFLAGS = $$QMAKE_CFLAGS
QMAKE_CXXFLAGS.CW =
-QMAKE_CXXFLAGS.ARMCC = --no_hide_all
+QMAKE_CXXFLAGS.ARMCC = --visibility_inlines_hidden
QMAKE_CXXFLAGS_DEPS = $$QMAKE_CFLAGS_DEPS
QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON
QMAKE_CXXFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF
@@ -77,7 +77,7 @@ QMAKE_LIBS_S60 = -lavkon -leikcoctl
QMAKE_COPY = cp
QMAKE_COPY_DIR = cp -r
QMAKE_MOVE = mv
- QMAKE_DEL_FILE = rm
+ QMAKE_DEL_FILE = rm -f
QMAKE_MKDIR = mkdir
QMAKE_DEL_DIR = rmdir
QMAKE_CHK_DIR_EXISTS = test -d
diff --git a/mkspecs/features/moc.prf b/mkspecs/features/moc.prf
index fdc72ca..42ce1bc 100644
--- a/mkspecs/features/moc.prf
+++ b/mkspecs/features/moc.prf
@@ -15,10 +15,7 @@ WIN_INCLUDETEMP=
win32:count($$list($$INCPATH), 40, >) {
INCLUDETEMP = $$MOC_DIR/mocinclude.tmp
- # Remove any existing mocinclude.tmp when qmake runs
WIN_INCLUDETEMP=$$INCLUDETEMP
- WIN_INCLUDETEMP~=s,/,\,g
- system($$QMAKE_DEL_FILE $$WIN_INCLUDETEMP > NUL 2>&1)
EOC = $$escape_expand(\n\t)
@@ -65,7 +62,9 @@ moc_header.output = $$MOC_DIR/$${QMAKE_H_MOD_MOC}${QMAKE_FILE_BASE}$${first(QMAK
moc_header.input = HEADERS
moc_header.variable_out = SOURCES
moc_header.name = MOC ${QMAKE_FILE_IN}
-!isEmpty(INCLUDETEMP):moc_header.depends += $$INCLUDETEMP
+if(!contains(TEMPLATE, "vc.*"):!contains(TEMPLATE_PREFIX, "vc")) {
+ !isEmpty(INCLUDETEMP):moc_header.depends += $$INCLUDETEMP
+}
silent:moc_header.commands = @echo moc ${QMAKE_FILE_IN} && $$moc_header.commands
QMAKE_EXTRA_COMPILERS += moc_header
INCREDIBUILD_XGE += moc_header
@@ -77,7 +76,9 @@ moc_source.commands = ${QMAKE_FUNC_mocCmd}
moc_source.output = $$MOC_DIR/$${QMAKE_CPP_MOD_MOC}${QMAKE_FILE_BASE}$${QMAKE_EXT_CPP_MOC}
moc_source.input = SOURCES OBJECTIVE_SOURCES
moc_source.name = MOC ${QMAKE_FILE_IN}
-!isEmpty(INCLUDETEMP):moc_source.depends += $$INCLUDETEMP
+if(!contains(TEMPLATE, "vc.*"):!contains(TEMPLATE_PREFIX, "vc")) {
+ !isEmpty(INCLUDETEMP):moc_source.depends += $$INCLUDETEMP
+}
silent:moc_source.commands = @echo moc ${QMAKE_FILE_IN} && $$moc_source.commands
QMAKE_EXTRA_COMPILERS += moc_source
INCREDIBUILD_XGE += moc_source
diff --git a/mkspecs/features/qt.prf b/mkspecs/features/qt.prf
index 9ac67dd..6de19c3 100644
--- a/mkspecs/features/qt.prf
+++ b/mkspecs/features/qt.prf
@@ -36,7 +36,7 @@ INCLUDEPATH = $$QMAKE_INCDIR_QT $$INCLUDEPATH #prepending prevents us from picki
win32:INCLUDEPATH += $$QMAKE_INCDIR_QT/ActiveQt
# As order does matter for static libs, we reorder the QT variable here
-TMPLIBS = webkit phonon dbus testlib script scripttools svg qt3support sql xmlpatterns xml egl opengl openvg gui network core
+TMPLIBS = multimedia webkit phonon dbus testlib script scripttools svg qt3support sql xmlpatterns xml egl opengl openvg gui network core
for(QTLIB, $$list($$TMPLIBS)) {
contains(QT, $$QTLIB): QT_ORDERED += $$QTLIB
}
@@ -160,6 +160,7 @@ for(QTLIB, $$list($$lower($$unique(QT)))) {
else:isEqual(QTLIB, dbus):qlib = QtDBus
else:isEqual(QTLIB, phonon):qlib = phonon
else:isEqual(QTLIB, webkit):qlib = QtWebKit
+ else:isEqual(QTLIB, multimedia):qlib = QtMultimedia
else:message("Unknown QT: $$QTLIB"):qlib =
!isEmpty(qlib) {
target_qt:isEqual(TARGET, qlib) {
@@ -167,6 +168,7 @@ for(QTLIB, $$list($$lower($$unique(QT)))) {
} else {
DEFINES *= $$upper(QT_$${QTLIB}_LIB)
isEqual(QTLIB, opengl):CONFIG += opengl
+ isEqual(QTLIB, openvg):CONFIG += openvg
isEqual(QTLIB, qt3support):DEFINES *= QT3_SUPPORT
isEqual(QTLIB, testlib):CONFIG += console
isEqual(QTLIB, dbus):CONFIG += dbusadaptors dbusinterfaces
diff --git a/mkspecs/features/uic.prf b/mkspecs/features/uic.prf
index 385765b..eaf373a 100644
--- a/mkspecs/features/uic.prf
+++ b/mkspecs/features/uic.prf
@@ -51,7 +51,7 @@ equals(UI_DIR, .) {
uic3 {
isEmpty(FORMS3) {
UIC3_FORMS = FORMS
- !build_pass:message("Project contains CONFIG+=uic3, but no files in FORMS3; .ui files in FORMS treated as UIC3 form files.")
+ !build_pass:message("Project contains CONFIG+=uic3, but no files in FORMS3; UI files in FORMS treated as UIC3 form files.")
} else {
UIC3_FORMS = FORMS3
}
diff --git a/mkspecs/features/unix/openvg.prf b/mkspecs/features/unix/openvg.prf
index a21d1ca..29acec1 100644
--- a/mkspecs/features/unix/openvg.prf
+++ b/mkspecs/features/unix/openvg.prf
@@ -1,9 +1,15 @@
!isEmpty(QMAKE_INCDIR_OPENVG): INCLUDEPATH += $$QMAKE_INCDIR_OPENVG
!isEmpty(QMAKE_LIBDIR_OPENVG): QMAKE_LIBDIR += -L$$QMAKE_LIBDIR_OPENVG
-!isEmpty(QMAKE_LIBS_OPENVG): LIBS += $QMAKE_LIBS_OPENVG
+!isEmpty(QMAKE_LIBS_OPENVG): LIBS += $$QMAKE_LIBS_OPENVG
+
+contains(QT_CONFIG, egl) {
+ !isEmpty(QMAKE_INCDIR_EGL): INCLUDEPATH += $$QMAKE_INCDIR_EGL
+ !isEmpty(QMAKE_LIBDIR_EGL): LIBS += -L$$QMAKE_LIBDIR_EGL
+ !isEmpty(QMAKE_LIBS_EGL): LIBS += $$QMAKE_LIBS_EGL
+}
contains(QT_CONFIG, openvg_on_opengl) {
!isEmpty(QMAKE_INCDIR_OPENGL): INCLUDEPATH += $$QMAKE_INCDIR_OPENGL
!isEmpty(QMAKE_LIBDIR_OPENGL): QMAKE_LIBDIR += -L$$QMAKE_LIBDIR_OPENGL
- !isEmpty(QMAKE_LIBS_OPENGL): LIBS += $QMAKE_LIBS_OPENGL
+ !isEmpty(QMAKE_LIBS_OPENGL): LIBS += $$QMAKE_LIBS_OPENGL
}
diff --git a/mkspecs/features/vxworks.prf b/mkspecs/features/vxworks.prf
new file mode 100644
index 0000000..a910c69
--- /dev/null
+++ b/mkspecs/features/vxworks.prf
@@ -0,0 +1,63 @@
+# VxWorks Munching Feature
+# When compiling C++ sources on VxWorks in kernel mode, all .o files have to
+# be processed by the so-called 'munch' script which will generate
+# additional code for static c'tors and d'tors. The resulting .c file has to
+# be compiled in turn and linked to the executable.
+# This can only been done when linking applications, since the munch script
+# generates a .c file containing static symbols: linking a lib that was
+# already munched to a munched application would lead to duplicate symbols!
+
+isEmpty(VXWORKS_MUNCH_EXT):VXWORKS_MUNCH_EXT = vxm
+isEmpty(VXWORKS_MUNCH_TOOL):VXWORKS_MUNCH_TOOL = $(WIND_BASE)/host/resource/hutils/tcl/munch.tcl
+
+
+!exists($$VXWORKS_MUNCH_TOOL) {
+ error("Could not find VxWorks Munch tool: '$${VXWORKS_MUNCH_TOOL}'. Please set the environment variable WIND_BASE correctly.")
+}
+
+# The following scope is entered for any project that specifies 'shared' as well
+# as for any project specifying neither 'shared', nor 'lib', nor 'staticlib'.
+# This means that for a static build only the executable is munched, while for
+# a shared build, every lib, plugin and executable is munched separately.
+
+shared|!staticlib:!lib {
+ *-dcc {
+ VXWORKS_MUNCH_CMD = (targ=`basename $(TARGET)`; \
+ ddump -Ng \"$(TARGET)\" | tclsh $$VXWORKS_MUNCH_TOOL -c $$VXWORKS_ARCH_MUNCH >\"$(OBJECTS_DIR)/\$\${targ}_ctdt.c\" && \
+ $$QMAKE_CC -c $$QMAKE_CFLAGS \"$(OBJECTS_DIR)/\$\${targ}_ctdt.c\" -o \"$(OBJECTS_DIR)/\$\${targ}_ctdt.o\" && \
+ $$QMAKE_LINK $$QMAKE_LFLAGS -X -r5 -r4 \"$(OBJECTS_DIR)/\$\${targ}_ctdt.o\" \"$(TARGET)\" -o \"$(TARGET).munched\" && \
+ mv \"$(TARGET).munched\" \"$(TARGET)\" && \
+ chmod +x \"$(TARGET)\")
+ }
+ *-g++ {
+ VXWORKS_MUNCH_CMD = (targ=`basename $(TARGET)`; \
+ nm \"$(DESTDIR)$(TARGET)\" | tclsh $$VXWORKS_MUNCH_TOOL -c $$VXWORKS_ARCH_MUNCH >\"$(OBJECTS_DIR)/\$\${targ}_ctdt.c\" && \
+ $$QMAKE_CC -c $$QMAKE_CFLAGS -fdollars-in-identifiers \"$(OBJECTS_DIR)/\$\${targ}_ctdt.c\" -o \"$(OBJECTS_DIR)/\$\${targ}_ctdt.o\" && \
+ $$QMAKE_LINK $$QMAKE_LFLAGS -nostdlib -Wl,-X -T $(WIND_BASE)/target/h/tool/gnu/ldscripts/link.OUT \"$(OBJECTS_DIR)/\$\${targ}_ctdt.o\" \"$(DESTDIR)$(TARGET)\" -o \"$(DESTDIR)$(TARGET).munched\" && \
+ mv \"$(DESTDIR)$(TARGET).munched\" \"$(DESTDIR)$(TARGET)\" && \
+ chmod +x \"$(DESTDIR)$(TARGET)\")
+ }
+
+ # We need to create a dummy lib.a in case someone links against this lib.
+ # In VxWorks it's the responsibility of the run-time linker ld to resolve
+ # symbols, since there are no real shared libraries for the toolchain linker
+ # to link against.
+
+ shared:contains(TEMPLATE, lib) {
+ VXWORKS_MUNCH_CMD += "&&"
+ VXWORKS_MUNCH_CMD += (atarg=`basename $(TARGET) .so.$${VERSION}`.a ; touch \"$(DESTDIR)\$\${atarg}\")
+ }
+
+ QMAKE_POST_LINK = $$VXWORKS_MUNCH_CMD $$QMAKE_POST_LINK
+ silent:QMAKE_POST_LINK = @echo creating $@.$$VXWORKS_MUNCH_EXT && $$QMAKE_POST_LINK
+
+ isEmpty(DESTDIR) {
+ target.targets += "`basename $(TARGET)`.$$VXWORKS_MUNCH_EXT"
+ QMAKE_DISTCLEAN += "`basename $(TARGET)`.$$VXWORKS_MUNCH_EXT"
+ } else {
+ target.targets += "$(DESTDIR)/`basename $(TARGET)`.$$VXWORKS_MUNCH_EXT"
+ QMAKE_DISTCLEAN += "$(DESTDIR)/`basename $(TARGET)`.$$VXWORKS_MUNCH_EXT"
+ }
+ *-g++:LIBS += -lgcc
+}
+
diff --git a/mkspecs/symbian-sbsv2/flm/qt/qmake_emulator_deployment.flm b/mkspecs/symbian-sbsv2/flm/qt/qmake_emulator_deployment.flm
index 354ce26..b4f39f5 100644
--- a/mkspecs/symbian-sbsv2/flm/qt/qmake_emulator_deployment.flm
+++ b/mkspecs/symbian-sbsv2/flm/qt/qmake_emulator_deployment.flm
@@ -1,7 +1,7 @@
# /****************************************************************************
# **
# ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# ** Contact: Qt Software Information (qt-info@nokia.com)
+# ** Contact: Nokia Corporation (qt-info@nokia.com)
# **
# ** This file is part of symbian-sbsv2 mkspec.
# **
diff --git a/mkspecs/symbian-sbsv2/flm/qt/qmake_extra_pre_targetdep.flm b/mkspecs/symbian-sbsv2/flm/qt/qmake_extra_pre_targetdep.flm
index 9dc529f..cc57bf4 100644
--- a/mkspecs/symbian-sbsv2/flm/qt/qmake_extra_pre_targetdep.flm
+++ b/mkspecs/symbian-sbsv2/flm/qt/qmake_extra_pre_targetdep.flm
@@ -1,7 +1,7 @@
# /****************************************************************************
# **
# ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# ** Contact: Qt Software Information (qt-info@nokia.com)
+# ** Contact: Nokia Corporation (qt-info@nokia.com)
# **
# ** This file is part of symbian-sbsv2 mkspec.
# **
diff --git a/mkspecs/symbian-sbsv2/flm/qt/qmake_generate_temp_dirs.flm b/mkspecs/symbian-sbsv2/flm/qt/qmake_generate_temp_dirs.flm
index 97fc6b3..ca6cca9 100644
--- a/mkspecs/symbian-sbsv2/flm/qt/qmake_generate_temp_dirs.flm
+++ b/mkspecs/symbian-sbsv2/flm/qt/qmake_generate_temp_dirs.flm
@@ -1,7 +1,7 @@
# /****************************************************************************
# **
# ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# ** Contact: Qt Software Information (qt-info@nokia.com)
+# ** Contact: Nokia Corporation (qt-info@nokia.com)
# **
# ** This file is part of symbian-sbsv2 mkspec.
# **
diff --git a/mkspecs/symbian-sbsv2/flm/qt/qmake_post_link.flm b/mkspecs/symbian-sbsv2/flm/qt/qmake_post_link.flm
index 8cbd0a8..a3e0f4a 100644
--- a/mkspecs/symbian-sbsv2/flm/qt/qmake_post_link.flm
+++ b/mkspecs/symbian-sbsv2/flm/qt/qmake_post_link.flm
@@ -1,7 +1,7 @@
# /****************************************************************************
# **
# ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# ** Contact: Qt Software Information (qt-info@nokia.com)
+# ** Contact: Nokia Corporation (qt-info@nokia.com)
# **
# ** This file is part of symbian-sbsv2 mkspec.
# **
diff --git a/mkspecs/symbian-sbsv2/flm/qt/qt.xml b/mkspecs/symbian-sbsv2/flm/qt/qt.xml
index ff12761..ad08bd8 100644
--- a/mkspecs/symbian-sbsv2/flm/qt/qt.xml
+++ b/mkspecs/symbian-sbsv2/flm/qt/qt.xml
@@ -3,7 +3,7 @@
# /****************************************************************************
# **
# ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# ** Contact: Qt Software Information (qt-info@nokia.com)
+# ** Contact: Nokia Corporation (qt-info@nokia.com)
# **
# ** This file is part of symbian-sbsv2 mkspec.
# **
diff --git a/mkspecs/unsupported/qnx-g++/qmake.conf b/mkspecs/unsupported/qnx-g++/qmake.conf
new file mode 100644
index 0000000..2e568dc
--- /dev/null
+++ b/mkspecs/unsupported/qnx-g++/qmake.conf
@@ -0,0 +1,59 @@
+#
+# qmake configuration for qnx-g++
+#
+# Written for QNX RTOS v6 with X11
+#
+
+MAKEFILE_GENERATOR = UNIX
+TEMPLATE = app
+CONFIG += qt warn_on release link_prl
+QT += core gui
+
+include(../common/g++.conf)
+include(../common/unix.conf)
+
+QMAKE_CFLAGS_THREAD = -D_REENTRANT
+QMAKE_CXXFLAGS_THREAD = $$QMAKE_CLFAGS_THREAD
+QMAKE_COMPILER_DEFINES += __QNXNTO__
+
+QMAKE_INCDIR =
+QMAKE_LIBDIR =
+QMAKE_INCDIR_X11 = /opt/X11R6/include
+QMAKE_LIBDIR_X11 = /opt/X11R6/lib
+QMAKE_INCDIR_QT = $$[QT_INSTALL_HEADERS]
+QMAKE_LIBDIR_QT = $$[QT_INSTALL_LIBS]
+QMAKE_INCDIR_OPENGL = /opt/X11R6/include
+QMAKE_LIBDIR_OPENGL = /opt/X11R6/lib
+
+#QMAKE_LIBS = -lunix
+QMAKE_LIBS =
+QMAKE_LIBS_DYNLOAD =
+QMAKE_LIBS_X11 = -lXext -lX11 -lm -lsocket
+QMAKE_LIBS_X11SM = -lSM -lICE
+QMAKE_LIBS_OPENGL = -lGLU -lGL
+QMAKE_LIBS_OPENGL_QT = -lGL
+QMAKE_LIBS_THREAD =
+QMAKE_LIBS_NETWORK = -lsocket
+
+QMAKE_MOC = $$[QT_INSTALL_BINS]/moc
+QMAKE_UIC = $$[QT_INSTALL_BINS]/uic
+
+QMAKE_AR = ar cqs
+QMAKE_RANLIB =
+
+QMAKE_TAR = tar -cf
+QMAKE_GZIP = gzip -9f
+
+QMAKE_COPY = cp -f
+QMAKE_COPY_FILE = $(COPY)
+QMAKE_COPY_DIR = $(COPY) -r
+QMAKE_MOVE = mv -f
+QMAKE_DEL_FILE = rm -f
+QMAKE_DEL_DIR = rmdir
+QMAKE_CHK_DIR_EXISTS = test -d
+QMAKE_MKDIR = mkdir -p
+QMAKE_STRIP = strip
+QMAKE_STRIPFLAGS_LIB += --strip-unneeded
+QMAKE_CHK_DIR_EXISTS = test -d
+QMAKE_MKDIR = mkdir -p
+load(qt_config)
diff --git a/mkspecs/unsupported/qnx-g++/qplatformdefs.h b/mkspecs/unsupported/qnx-g++/qplatformdefs.h
new file mode 100644
index 0000000..f59922d
--- /dev/null
+++ b/mkspecs/unsupported/qnx-g++/qplatformdefs.h
@@ -0,0 +1,172 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the qmake spec of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QPLATFORMDEFS_H
+#define QPLATFORMDEFS_H
+
+// Get Qt defines/settings
+
+#include "qglobal.h"
+
+// Set any POSIX/XOPEN defines at the top of this file to turn on specific APIs
+
+#include <unistd.h>
+
+
+// We are hot - unistd.h should have turned on the specific APIs we requested
+
+
+#include <pthread.h>
+#include <dirent.h>
+#include <fcntl.h>
+#include <grp.h>
+#include <pwd.h>
+#include <signal.h>
+
+#include <sys/types.h>
+#include <sys/ioctl.h>
+#include <sys/ipc.h>
+#include <sys/time.h>
+// QNX doesn't have the System V <sys/shm.h> header. This is not a standard
+// POSIX header, it's only documented in the Single UNIX Specification.
+// The preferred POSIX compliant way to share memory is to use the functions
+// in <sys/mman.h> that comply with the POSIX Real Time Interface (1003.1b).
+#include <sys/mman.h>
+#include <sys/socket.h>
+#include <sys/stat.h>
+#include <sys/wait.h>
+#include <netinet/in.h>
+#ifndef QT_NO_IPV6IFNAME
+#include <net/if.h>
+#endif
+
+// for htonl
+#include <arpa/inet.h>
+
+#ifdef QT_LARGEFILE_SUPPORT
+#define QT_FOPEN ::fopen64
+#define QT_FSEEK ::fseeko64
+#define QT_FTELL ::ftello64
+#define QT_FGETPOS ::fgetpos64
+#define QT_FSETPOS ::fsetpos64
+#define QT_FPOS_T fpos64_t
+#define QT_OFF_T off64_t
+#else
+#define QT_FOPEN ::fopen
+#define QT_FSEEK ::fseeko
+#define QT_FTELL ::ftello
+#define QT_FGETPOS ::fgetpos
+#define QT_FSETPOS ::fsetpos
+#define QT_FPOS_T fpos_t
+#define QT_OFF_T off_t
+#endif
+
+#ifdef QT_LARGEFILE_SUPPORT
+#define QT_STATBUF struct stat64
+#define QT_STATBUF4TSTAT struct stat64
+#define QT_STAT ::stat64
+#define QT_FSTAT ::fstat64
+#define QT_LSTAT ::lstat64
+#define QT_OPEN ::open64
+#define QT_TRUNCATE ::truncate64
+#define QT_FTRUNCATE ::ftruncate64
+#define QT_LSEEK ::lseek64
+#else
+#define QT_STATBUF struct stat
+#define QT_STATBUF4TSTAT struct stat
+#define QT_STAT ::stat
+#define QT_FSTAT ::fstat
+#define QT_LSTAT ::lstat
+#define QT_OPEN ::open
+#define QT_TRUNCATE ::truncate
+#define QT_FTRUNCATE ::ftruncate
+#define QT_LSEEK ::lseek
+#endif
+
+#define QT_STAT_REG S_IFREG
+#define QT_STAT_DIR S_IFDIR
+#define QT_STAT_MASK S_IFMT
+#define QT_STAT_LNK S_IFLNK
+#define QT_SOCKET_CONNECT ::connect
+#define QT_SOCKET_BIND ::bind
+#define QT_FILENO fileno
+#define QT_CLOSE ::close
+#define QT_READ ::read
+#define QT_WRITE ::write
+#define QT_ACCESS ::access
+#define QT_GETCWD ::getcwd
+#define QT_CHDIR ::chdir
+#define QT_MKDIR ::mkdir
+#define QT_RMDIR ::rmdir
+#define QT_OPEN_LARGEFILE O_LARGEFILE
+#define QT_OPEN_RDONLY O_RDONLY
+#define QT_OPEN_WRONLY O_WRONLY
+#define QT_OPEN_RDWR O_RDWR
+#define QT_OPEN_CREAT O_CREAT
+#define QT_OPEN_TRUNC O_TRUNC
+#define QT_OPEN_APPEND O_APPEND
+
+#define QT_SIGNAL_RETTYPE void
+#define QT_SIGNAL_ARGS int
+#define QT_SIGNAL_IGNORE SIG_IGN
+
+#define QT_SOCKLEN_T socklen_t
+
+#define QT_SNPRINTF ::snprintf
+#define QT_VSNPRINTF ::vsnprintf
+
+// QNX6 doesn't have getpagesize()
+inline int getpagesize()
+{
+ return ::sysconf(_SC_PAGESIZE);
+}
+
+#include <stdlib.h>
+
+// QNX6 doesn't have strtof - use strtod instead
+inline float strtof(const char *b, char **e)
+{
+ return float(strtod(b, e));
+}
+
+#define QT_QWS_TEMP_DIR qgetenv("TMP");
+
+#endif // QPLATFORMDEFS_H
diff --git a/mkspecs/unsupported/qws/qnx-generic-g++/qmake.conf b/mkspecs/unsupported/qws/qnx-generic-g++/qmake.conf
new file mode 100644
index 0000000..51fe697
--- /dev/null
+++ b/mkspecs/unsupported/qws/qnx-generic-g++/qmake.conf
@@ -0,0 +1,102 @@
+#
+# qmake configuration for qnx-g++
+#
+# Written for QNX RTOS v6
+#
+
+MAKEFILE_GENERATOR = UNIX
+TEMPLATE = app
+CONFIG += qt warn_on release link_prl
+QT += core gui
+
+#
+# qmake configuration for common gcc
+#
+
+QMAKE_CC = ntox86-gcc-3.3.5
+QMAKE_CFLAGS += -pipe
+QMAKE_CFLAGS_DEPS += -M
+QMAKE_CFLAGS_WARN_ON += -Wall -W
+QMAKE_CFLAGS_WARN_OFF += -w
+QMAKE_CFLAGS_RELEASE += -O2
+QMAKE_CFLAGS_DEBUG += -g
+QMAKE_CFLAGS_SHLIB += -fPIC
+QMAKE_CFLAGS_STATIC_LIB += -fPIC
+QMAKE_CFLAGS_YACC += -Wno-unused -Wno-parentheses
+QMAKE_CFLAGS_HIDESYMS += -fvisibility=hidden
+QMAKE_CFLAGS_PRECOMPILE += -x c-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT}
+QMAKE_CFLAGS_USE_PRECOMPILE += -include ${QMAKE_PCH_OUTPUT_BASE}
+QMAKE_COMPILER_DEFINES += __QNXNTO__
+
+QMAKE_CXX = ntox86-g++-3.3.5
+QMAKE_CXXFLAGS += $$QMAKE_CFLAGS
+QMAKE_CXXFLAGS_DEPS += $$QMAKE_CFLAGS_DEPS
+QMAKE_CXXFLAGS_WARN_ON += $$QMAKE_CFLAGS_WARN_ON
+QMAKE_CXXFLAGS_WARN_OFF += $$QMAKE_CFLAGS_WARN_OFF
+QMAKE_CXXFLAGS_RELEASE += $$QMAKE_CFLAGS_RELEASE
+QMAKE_CXXFLAGS_DEBUG += $$QMAKE_CFLAGS_DEBUG
+QMAKE_CXXFLAGS_SHLIB += $$QMAKE_CFLAGS_SHLIB
+QMAKE_CXXFLAGS_STATIC_LIB += $$QMAKE_CFLAGS_STATIC_LIB
+QMAKE_CXXFLAGS_YACC += $$QMAKE_CFLAGS_YACC
+QMAKE_CXXFLAGS_HIDESYMS += $$QMAKE_CFLAGS_HIDESYMS -fvisibility-inlines-hidden
+QMAKE_CXXFLAGS_PRECOMPILE += -x c++-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT}
+QMAKE_CXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE
+
+QMAKE_LINK = ntox86-gcc-3.3.5
+QMAKE_LINK_SHLIB = ntox86-gcc-3.3.5
+QMAKE_LFLAGS += -Wl,--no-undefined
+QMAKE_LFLAGS_RELEASE +=
+QMAKE_LFLAGS_DEBUG +=
+QMAKE_LFLAGS_APP +=
+QMAKE_LFLAGS_SHLIB += -shared
+QMAKE_LFLAGS_PLUGIN += $$QMAKE_LFLAGS_SHLIB
+QMAKE_LFLAGS_SONAME += -Wl,-soname,
+QMAKE_LFLAGS_THREAD +=
+QMAKE_RPATH = -Wl,-rpath,
+
+QMAKE_PCH_OUTPUT_EXT = .gch
+
+# -Bsymbolic-functions (ld) support
+QMAKE_LFLAGS_BSYMBOLIC_FUNC = -Wl,-Bsymbolic-functions
+QMAKE_LFLAGS_DYNAMIC_LIST = -Wl,--dynamic-list,
+
+#include(../../common/g++.conf)
+include(../../common/unix.conf)
+
+QMAKE_CFLAGS_THREAD = -D_REENTRANT
+QMAKE_CXXFLAGS_THREAD = $$QMAKE_CLFAGS_THREAD
+
+QMAKE_INCDIR =
+QMAKE_LIBDIR =
+QMAKE_INCDIR_QT = $$[QT_INSTALL_HEADERS]
+QMAKE_LIBDIR_QT = $$[QT_INSTALL_LIBS]
+
+#QMAKE_LIBS = -lunix
+QMAKE_LIBS =
+QMAKE_LIBS_DYNLOAD =
+QMAKE_LIBS_THREAD =
+QMAKE_LIBS_NETWORK += -lsocket
+QMAKE_LIBS_GUI += -lsocket
+
+QMAKE_MOC = $$[QT_INSTALL_BINS]/moc
+QMAKE_UIC = $$[QT_INSTALL_BINS]/uic
+
+QMAKE_AR = ar cqs
+QMAKE_RANLIB =
+
+QMAKE_TAR = tar -cf
+QMAKE_GZIP = gzip -9f
+
+QMAKE_COPY = cp -f
+QMAKE_COPY_FILE = $(COPY)
+QMAKE_COPY_DIR = $(COPY) -r
+QMAKE_MOVE = mv -f
+QMAKE_DEL_FILE = rm -f
+QMAKE_DEL_DIR = rmdir
+QMAKE_CHK_DIR_EXISTS = test -d
+QMAKE_MKDIR = mkdir -p
+QMAKE_STRIP = strip
+QMAKE_STRIPFLAGS_LIB += --strip-unneeded
+QMAKE_CHK_DIR_EXISTS = test -d
+QMAKE_MKDIR = mkdir -p
+load(qt_config)
diff --git a/mkspecs/unsupported/qws/qnx-generic-g++/qplatformdefs.h b/mkspecs/unsupported/qws/qnx-generic-g++/qplatformdefs.h
new file mode 100644
index 0000000..7f0d1c4
--- /dev/null
+++ b/mkspecs/unsupported/qws/qnx-generic-g++/qplatformdefs.h
@@ -0,0 +1,42 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the qmake spec of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "../../qnx-g++/qplatformdefs.h"
diff --git a/mkspecs/unsupported/qws/qnx-i386-g++/qmake.conf b/mkspecs/unsupported/qws/qnx-i386-g++/qmake.conf
new file mode 100644
index 0000000..3f24cd9
--- /dev/null
+++ b/mkspecs/unsupported/qws/qnx-i386-g++/qmake.conf
@@ -0,0 +1,97 @@
+#
+# qmake configuration for qnx-g++
+#
+# Written for QNX RTOS v6
+#
+
+MAKEFILE_GENERATOR = UNIX
+TEMPLATE = app
+CONFIG += qt warn_on release link_prl
+QT += core gui
+
+QMAKE_CC = ntox86-gcc-4.2.4
+QMAKE_CFLAGS += -pipe
+QMAKE_CFLAGS_DEPS += -M
+QMAKE_CFLAGS_WARN_ON += -Wall -W
+QMAKE_CFLAGS_WARN_OFF += -w
+QMAKE_CFLAGS_RELEASE += -O2
+QMAKE_CFLAGS_DEBUG += -g
+QMAKE_CFLAGS_SHLIB += -fPIC
+QMAKE_CFLAGS_STATIC_LIB += -fPIC
+QMAKE_CFLAGS_YACC += -Wno-unused -Wno-parentheses
+QMAKE_CFLAGS_HIDESYMS += -fvisibility=hidden
+QMAKE_CFLAGS_PRECOMPILE += -x c-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT}
+QMAKE_CFLAGS_USE_PRECOMPILE += -include ${QMAKE_PCH_OUTPUT_BASE}
+QMAKE_COMPILER_DEFINES += __QNXNTO__
+
+QMAKE_CXX = ntox86-g++-4.2.4
+QMAKE_CXXFLAGS += $$QMAKE_CFLAGS
+QMAKE_CXXFLAGS_DEPS += $$QMAKE_CFLAGS_DEPS
+QMAKE_CXXFLAGS_WARN_ON += $$QMAKE_CFLAGS_WARN_ON
+QMAKE_CXXFLAGS_WARN_OFF += $$QMAKE_CFLAGS_WARN_OFF
+QMAKE_CXXFLAGS_RELEASE += $$QMAKE_CFLAGS_RELEASE
+QMAKE_CXXFLAGS_DEBUG += $$QMAKE_CFLAGS_DEBUG
+QMAKE_CXXFLAGS_SHLIB += $$QMAKE_CFLAGS_SHLIB
+QMAKE_CXXFLAGS_STATIC_LIB += $$QMAKE_CFLAGS_STATIC_LIB
+QMAKE_CXXFLAGS_YACC += $$QMAKE_CFLAGS_YACC
+QMAKE_CXXFLAGS_HIDESYMS += $$QMAKE_CFLAGS_HIDESYMS -fvisibility-inlines-hidden
+QMAKE_CXXFLAGS_PRECOMPILE += -x c++-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT}
+QMAKE_CXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE
+
+QMAKE_LINK = ntox86-g++-4.2.4
+QMAKE_LINK_SHLIB = ntox86-g++-4.2.4
+QMAKE_LFLAGS += -Wl,--no-undefined
+QMAKE_LFLAGS_RELEASE +=
+QMAKE_LFLAGS_DEBUG +=
+QMAKE_LFLAGS_APP +=
+QMAKE_LFLAGS_SHLIB += -shared
+QMAKE_LFLAGS_PLUGIN += $$QMAKE_LFLAGS_SHLIB
+QMAKE_LFLAGS_SONAME += -Wl,-soname,
+QMAKE_LFLAGS_THREAD +=
+QMAKE_RPATH = -Wl,-rpath,
+
+QMAKE_PCH_OUTPUT_EXT = .gch
+
+# -Bsymbolic-functions (ld) support
+QMAKE_LFLAGS_BSYMBOLIC_FUNC = -Wl,-Bsymbolic-functions
+QMAKE_LFLAGS_DYNAMIC_LIST = -Wl,--dynamic-list,
+
+include(../../common/unix.conf)
+
+QMAKE_CFLAGS_THREAD = -D_REENTRANT
+QMAKE_CXXFLAGS_THREAD = $$QMAKE_CLFAGS_THREAD
+
+QMAKE_INCDIR =
+QMAKE_LIBDIR =
+QMAKE_INCDIR_QT = $$[QT_INSTALL_HEADERS]
+QMAKE_LIBDIR_QT = $$[QT_INSTALL_LIBS]
+
+#QMAKE_LIBS = -lunix
+QMAKE_LIBS =
+QMAKE_LIBS_DYNLOAD =
+QMAKE_LIBS_THREAD =
+QMAKE_LIBS_NETWORK += -lsocket
+QMAKE_LIBS_GUI += -lsocket
+
+QMAKE_MOC = $$[QT_INSTALL_BINS]/moc
+QMAKE_UIC = $$[QT_INSTALL_BINS]/uic
+
+QMAKE_AR = ar cqs
+QMAKE_RANLIB =
+
+QMAKE_TAR = tar -cf
+QMAKE_GZIP = gzip -9f
+
+QMAKE_COPY = cp -f
+QMAKE_COPY_FILE = $(COPY)
+QMAKE_COPY_DIR = $(COPY) -r
+QMAKE_MOVE = mv -f
+QMAKE_DEL_FILE = rm -f
+QMAKE_DEL_DIR = rmdir
+QMAKE_CHK_DIR_EXISTS = test -d
+QMAKE_MKDIR = mkdir -p
+QMAKE_STRIP = strip
+QMAKE_STRIPFLAGS_LIB += --strip-unneeded
+QMAKE_CHK_DIR_EXISTS = test -d
+QMAKE_MKDIR = mkdir -p
+load(qt_config)
diff --git a/mkspecs/unsupported/qws/qnx-i386-g++/qplatformdefs.h b/mkspecs/unsupported/qws/qnx-i386-g++/qplatformdefs.h
new file mode 100644
index 0000000..7f0d1c4
--- /dev/null
+++ b/mkspecs/unsupported/qws/qnx-i386-g++/qplatformdefs.h
@@ -0,0 +1,42 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the qmake spec of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "../../qnx-g++/qplatformdefs.h"
diff --git a/mkspecs/unsupported/qws/qnx-ppc-g++/qmake.conf b/mkspecs/unsupported/qws/qnx-ppc-g++/qmake.conf
new file mode 100644
index 0000000..56a9c66
--- /dev/null
+++ b/mkspecs/unsupported/qws/qnx-ppc-g++/qmake.conf
@@ -0,0 +1,97 @@
+#
+# qmake configuration for qnx-g++
+#
+# Written for QNX RTOS v6
+#
+
+MAKEFILE_GENERATOR = UNIX
+TEMPLATE = app
+CONFIG += qt warn_on release link_prl
+QT += core gui
+
+QMAKE_CC = ntoppc-gcc-4.3.3
+QMAKE_CFLAGS += -pipe
+QMAKE_CFLAGS_DEPS += -M
+QMAKE_CFLAGS_WARN_ON += -Wall -W
+QMAKE_CFLAGS_WARN_OFF += -w
+QMAKE_CFLAGS_RELEASE += -O2
+QMAKE_CFLAGS_DEBUG += -g
+QMAKE_CFLAGS_SHLIB += -fPIC
+QMAKE_CFLAGS_STATIC_LIB += -fPIC
+QMAKE_CFLAGS_YACC += -Wno-unused -Wno-parentheses
+QMAKE_CFLAGS_HIDESYMS += -fvisibility=hidden
+QMAKE_CFLAGS_PRECOMPILE += -x c-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT}
+QMAKE_CFLAGS_USE_PRECOMPILE += -include ${QMAKE_PCH_OUTPUT_BASE}
+QMAKE_COMPILER_DEFINES += __QNXNTO__
+
+QMAKE_CXX = ntoppc-g++-4.3.3
+QMAKE_CXXFLAGS += $$QMAKE_CFLAGS
+QMAKE_CXXFLAGS_DEPS += $$QMAKE_CFLAGS_DEPS
+QMAKE_CXXFLAGS_WARN_ON += $$QMAKE_CFLAGS_WARN_ON
+QMAKE_CXXFLAGS_WARN_OFF += $$QMAKE_CFLAGS_WARN_OFF
+QMAKE_CXXFLAGS_RELEASE += $$QMAKE_CFLAGS_RELEASE
+QMAKE_CXXFLAGS_DEBUG += $$QMAKE_CFLAGS_DEBUG
+QMAKE_CXXFLAGS_SHLIB += $$QMAKE_CFLAGS_SHLIB
+QMAKE_CXXFLAGS_STATIC_LIB += $$QMAKE_CFLAGS_STATIC_LIB
+QMAKE_CXXFLAGS_YACC += $$QMAKE_CFLAGS_YACC
+QMAKE_CXXFLAGS_HIDESYMS += $$QMAKE_CFLAGS_HIDESYMS -fvisibility-inlines-hidden
+QMAKE_CXXFLAGS_PRECOMPILE += -x c++-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT}
+QMAKE_CXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE
+
+QMAKE_LINK = ntoppc-g++-4.3.3
+QMAKE_LINK_SHLIB = ntoppc-g++-4.3.3
+QMAKE_LFLAGS += -Wl,--no-undefined
+QMAKE_LFLAGS_RELEASE +=
+QMAKE_LFLAGS_DEBUG +=
+QMAKE_LFLAGS_APP +=
+QMAKE_LFLAGS_SHLIB += -shared
+QMAKE_LFLAGS_PLUGIN += $$QMAKE_LFLAGS_SHLIB
+QMAKE_LFLAGS_SONAME += -Wl,-soname,
+QMAKE_LFLAGS_THREAD +=
+QMAKE_RPATH = -Wl,-rpath,
+
+QMAKE_PCH_OUTPUT_EXT = .gch
+
+# -Bsymbolic-functions (ld) support
+QMAKE_LFLAGS_BSYMBOLIC_FUNC = -Wl,-Bsymbolic-functions
+QMAKE_LFLAGS_DYNAMIC_LIST = -Wl,--dynamic-list,
+
+include(../../common/unix.conf)
+
+QMAKE_CFLAGS_THREAD = -D_REENTRANT
+QMAKE_CXXFLAGS_THREAD = $$QMAKE_CLFAGS_THREAD
+
+QMAKE_INCDIR =
+QMAKE_LIBDIR =
+QMAKE_INCDIR_QT = $$[QT_INSTALL_HEADERS]
+QMAKE_LIBDIR_QT = $$[QT_INSTALL_LIBS]
+
+#QMAKE_LIBS = -lunix
+QMAKE_LIBS =
+QMAKE_LIBS_DYNLOAD =
+QMAKE_LIBS_THREAD =
+QMAKE_LIBS_NETWORK += -lsocket
+QMAKE_LIBS_GUI += -lsocket
+
+QMAKE_MOC = $$[QT_INSTALL_BINS]/moc
+QMAKE_UIC = $$[QT_INSTALL_BINS]/uic
+
+QMAKE_AR = ar cqs
+QMAKE_RANLIB =
+
+QMAKE_TAR = tar -cf
+QMAKE_GZIP = gzip -9f
+
+QMAKE_COPY = cp -f
+QMAKE_COPY_FILE = $(COPY)
+QMAKE_COPY_DIR = $(COPY) -r
+QMAKE_MOVE = mv -f
+QMAKE_DEL_FILE = rm -f
+QMAKE_DEL_DIR = rmdir
+QMAKE_CHK_DIR_EXISTS = test -d
+QMAKE_MKDIR = mkdir -p
+QMAKE_STRIP = strip
+QMAKE_STRIPFLAGS_LIB += --strip-unneeded
+QMAKE_CHK_DIR_EXISTS = test -d
+QMAKE_MKDIR = mkdir -p
+load(qt_config)
diff --git a/mkspecs/unsupported/qws/qnx-ppc-g++/qplatformdefs.h b/mkspecs/unsupported/qws/qnx-ppc-g++/qplatformdefs.h
new file mode 100644
index 0000000..7f0d1c4
--- /dev/null
+++ b/mkspecs/unsupported/qws/qnx-ppc-g++/qplatformdefs.h
@@ -0,0 +1,42 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the qmake spec of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "../../qnx-g++/qplatformdefs.h"
diff --git a/mkspecs/unsupported/vxworks-ppc-dcc/qmake.conf b/mkspecs/unsupported/vxworks-ppc-dcc/qmake.conf
new file mode 100644
index 0000000..a8f7e49
--- /dev/null
+++ b/mkspecs/unsupported/vxworks-ppc-dcc/qmake.conf
@@ -0,0 +1,111 @@
+#
+# qmake configuration for vxworks-ppc-dcc
+#
+
+MAKEFILE_GENERATOR = UNIX
+TEMPLATE = app
+CONFIG += qt warn_on release incremental link_prl vxworks
+QT += core gui network
+QMAKE_INCREMENTAL_STYLE = sublib
+
+VXWORKS_ARCH = ppc
+VXWORKS_CPU = PPC32
+VXWORKS_DIAB_SPEC = -tPPC7400FV:vxworks66
+VXWORKS_ARCH_MUNCH = ppc
+
+QMAKE_CC = dcc
+QMAKE_CFLAGS += $$VXWORKS_DIAB_SPEC -Xkeywords=0x0 -Xcode-absolute-far -Xansi -Xforce-declarations -I$(WIND_BASE)/target/h -I$(WIND_BASE)/target/h/wrn/coreip -DCPU=$$upper($$VXWORKS_ARCH) -DVX_CPU_FAMILY=$$VXWORKS_ARCH -DTOOL_FAMILY=diab -DTOOL=diab -D_WRS_KERNEL -DVXWORKS -D_VSB_CONFIG_FILE=\'<../lib/h/config/vsbConfig.h>\'
+QMAKE_CFLAGS_DEPS +=
+QMAKE_CFLAGS_WARN_ON +=
+QMAKE_CFLAGS_WARN_OFF += -Xsuppress-warnings
+QMAKE_CFLAGS_RELEASE +=
+QMAKE_CFLAGS_DEBUG += -g
+QMAKE_CFLAGS_SHLIB +=
+QMAKE_CFLAGS_STATIC_LIB +=
+QMAKE_CFLAGS_YACC +=
+QMAKE_CFLAGS_HIDESYMS +=
+QMAKE_CFLAGS_PRECOMPILE +=
+QMAKE_CFLAGS_USE_PRECOMPILE +=
+
+QMAKE_CXX = dcc
+QMAKE_CXXFLAGS += $$QMAKE_CFLAGS
+QMAKE_CXXFLAGS_DEPS += $$QMAKE_CFLAGS_DEPS
+QMAKE_CXXFLAGS_WARN_ON += $$QMAKE_CFLAGS_WARN_ON
+QMAKE_CXXFLAGS_WARN_OFF += $$QMAKE_CFLAGS_WARN_OFF
+QMAKE_CXXFLAGS_RELEASE += $$QMAKE_CFLAGS_RELEASE
+QMAKE_CXXFLAGS_DEBUG += $$QMAKE_CFLAGS_DEBUG
+QMAKE_CXXFLAGS_SHLIB += $$QMAKE_CFLAGS_SHLIB
+QMAKE_CXXFLAGS_STATIC_LIB += $$QMAKE_CFLAGS_STATIC_LIB
+QMAKE_CXXFLAGS_YACC += $$QMAKE_CFLAGS_YACC
+QMAKE_CXXFLAGS_HIDESYMS += $$QMAKE_CFLAGS_HIDESYMS
+QMAKE_CXXFLAGS_PRECOMPILE +=
+QMAKE_CXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE
+
+QMAKE_LINK = dld
+QMAKE_LINK_SHLIB = dld
+QMAKE_LFLAGS += $$VXWORKS_DIAB_SPEC
+QMAKE_LFLAGS_RELEASE +=
+QMAKE_LFLAGS_DEBUG +=
+QMAKE_LFLAGS_APP += -r5
+QMAKE_LFLAGS_SHLIB +=
+QMAKE_LFLAGS_PLUGIN += $$QMAKE_LFLAGS_SHLIB
+QMAKE_LFLAGS_SONAME +=
+QMAKE_LFLAGS_THREAD +=
+QMAKE_LFLAGS_NOUNDEF +=
+QMAKE_RPATH =
+
+QMAKE_PCH_OUTPUT_EXT = .gch
+
+# -Bsymbolic-functions (ld) support
+QMAKE_LFLAGS_BSYMBOLIC_FUNC =
+QMAKE_LFLAGS_DYNAMIC_LIST =
+
+QMAKE_CFLAGS_THREAD += -D_REENTRANT
+QMAKE_CXXFLAGS_THREAD += $$QMAKE_CFLAGS_THREAD
+
+QMAKE_INCDIR =
+QMAKE_LIBDIR =
+QMAKE_INCDIR_X11 = $(WIND_HOME)/GSS/include
+QMAKE_LIBDIR_X11 = $(WIND_HOME)/GSS/lib
+QMAKE_INCDIR_QT = $$[QT_INSTALL_HEADERS]
+QMAKE_LIBDIR_QT = $$[QT_INSTALL_LIBS]
+QMAKE_INCDIR_OPENGL = $$QMAKE_INCDIR_X11
+QMAKE_LIBDIR_OPENGL = $$QMAKE_LIBDIR_X11
+
+QMAKE_LIBS =
+QMAKE_LIBS_DYNLOAD =
+QMAKE_LIBS_X11 = -lXext -lX11
+QMAKE_LIBS_X11SM = -lSM -lICE
+QMAKE_LIBS_NIS = -lnsl
+QMAKE_LIBS_OPENGL = -lGLU -lGL
+QMAKE_LIBS_OPENGL_QT = -lGL
+QMAKE_LIBS_THREAD =
+QMAKE_LIBS_NETWORK = # -lnetwrap # only needed if kernel is missing gethostbyname and friends
+
+
+QMAKE_MOC = $$[QT_INSTALL_BINS]/moc
+QMAKE_UIC = $$[QT_INSTALL_BINS]/uic
+
+QMAKE_AR = ar cqs
+QMAKE_OBJCOPY = objcopy
+QMAKE_RANLIB =
+
+QMAKE_TAR = tar -cf
+QMAKE_GZIP = gzip -9f
+
+QMAKE_COPY = cp -f
+QMAKE_COPY_FILE = $(COPY)
+QMAKE_COPY_DIR = $(COPY) -r
+QMAKE_MOVE = mv -f
+QMAKE_DEL_FILE = rm -f
+QMAKE_DEL_DIR = rmdir
+QMAKE_STRIP = strip
+QMAKE_STRIPFLAGS_LIB += --strip-unneeded
+QMAKE_CHK_DIR_EXISTS = test -d
+QMAKE_MKDIR = mkdir -p
+QMAKE_INSTALL_FILE = install -m 644 -p
+QMAKE_INSTALL_PROGRAM = install -m 755 -p
+
+include(../../common/unix.conf)
+load(qt_config)
+
diff --git a/mkspecs/unsupported/vxworks-ppc-dcc/qplatformdefs.h b/mkspecs/unsupported/vxworks-ppc-dcc/qplatformdefs.h
new file mode 100644
index 0000000..a1735d0
--- /dev/null
+++ b/mkspecs/unsupported/vxworks-ppc-dcc/qplatformdefs.h
@@ -0,0 +1,42 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the qmake spec of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "../vxworks-simpentium-g++/qplatformdefs.h"
diff --git a/mkspecs/unsupported/vxworks-ppc-g++/qmake.conf b/mkspecs/unsupported/vxworks-ppc-g++/qmake.conf
new file mode 100644
index 0000000..be8c13d
--- /dev/null
+++ b/mkspecs/unsupported/vxworks-ppc-g++/qmake.conf
@@ -0,0 +1,37 @@
+#
+# qmake configuration for vxworks-simpentium-g++
+#
+
+MAKEFILE_GENERATOR = UNIX
+TEMPLATE = app
+CONFIG += qt warn_on release incremental link_prl vxworks
+QT += core gui network
+QMAKE_INCREMENTAL_STYLE = sublib
+DEFINES += VXWORKS
+
+VXWORKS_ARCH = ppc
+VXWORKS_CPU = PPC32
+VXWORKS_ARCH_MUNCH = ppc
+
+include(../../common/g++.conf)
+include(../../common/linux.conf)
+
+QMAKE_CC = cc$$VXWORKS_ARCH_MUNCH
+QMAKE_CFLAGS = -fno-builtin -I$(WIND_BASE)/target/h -I$(WIND_BASE)/target/h/wrn/coreip -DCPU=$$upper($$VXWORKS_ARCH) -DVX_CPU_FAMILY=$$VXWORKS_ARCH -DTOOL_FAMILY=gnu -DTOOL=gnu -D_WRS_KERNEL -D_VSB_CONFIG_FILE=\'<../lib/h/config/vsbConfig.h>\'
+QMAKE_CFLAGS_SHLIB = # remove -fPIC
+QMAKE_CFLAGS_STATIC_LIB = # remove -fPIC
+QMAKE_CXX = c++$$VXWORKS_ARCH_MUNCH
+QMAKE_CXXFLAGS = $$QMAKE_CFLAGS
+QMAKE_CXXFLAGS_SHLIB= # remove -fPIC
+QMAKE_CXXFLAGS_STATIC_LIB= # remove -fPIC
+QMAKE_LINK = $$QMAKE_CXX
+QMAKE_LINK_SHLIB = $$QMAKE_CXX
+QMAKE_LFLAGS_SHLIB = -Wl,-Ur -L $(WIND_BASE)/target/lib/$$VXWORKS_ARCH/$$VXWORKS_CPU/common # remove -shared
+QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB
+QMAKE_LFLAGS_APP += -Wl,-Ur -L $(WIND_BASE)/target/lib/$$VXWORKS_ARCH/$$VXWORKS_CPU/common
+# QMAKE_LIBS_NETWORK = # -lnetwrap # only needed if kernel is missing gethostbyname() and friends
+QMAKE_LIBS_DYNLOAD =
+QMAKE_LIBS_THREAD =
+
+load(qt_config)
+
diff --git a/mkspecs/unsupported/vxworks-ppc-g++/qplatformdefs.h b/mkspecs/unsupported/vxworks-ppc-g++/qplatformdefs.h
new file mode 100644
index 0000000..a1735d0
--- /dev/null
+++ b/mkspecs/unsupported/vxworks-ppc-g++/qplatformdefs.h
@@ -0,0 +1,42 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the qmake spec of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "../vxworks-simpentium-g++/qplatformdefs.h"
diff --git a/mkspecs/unsupported/vxworks-simpentium-dcc/qmake.conf b/mkspecs/unsupported/vxworks-simpentium-dcc/qmake.conf
new file mode 100644
index 0000000..6228a6b
--- /dev/null
+++ b/mkspecs/unsupported/vxworks-simpentium-dcc/qmake.conf
@@ -0,0 +1,110 @@
+#
+# qmake configuration for vxworks-simpentium-dcc
+#
+
+MAKEFILE_GENERATOR = UNIX
+TEMPLATE = app
+CONFIG += qt warn_on release incremental link_prl vxworks
+QT += core gui network
+QMAKE_INCREMENTAL_STYLE = sublib
+
+VXWORKS_ARCH = simlinux
+VXWORKS_CPU = SIMLINUX
+VXWORKS_DIAB_SPEC = -tX86LH:vxworks66
+VXWORKS_ARCH_MUNCH = pentium
+
+QMAKE_CC = dcc
+QMAKE_CFLAGS += $$VXWORKS_DIAB_SPEC -Xkeywords=0x0 -Xcode-absolute-far -Xansi -Xforce-declarations -I$(WIND_BASE)/target/h -I$(WIND_BASE)/target/h/wrn/coreip -DCPU=$$upper($$VXWORKS_ARCH) -DVX_CPU_FAMILY=$$VXWORKS_ARCH -DTOOL_FAMILY=diab -DTOOL=diab -D_WRS_KERNEL -DVXWORKS -D_VSB_CONFIG_FILE=\'<../lib/h/config/vsbConfig.h>\'
+QMAKE_CFLAGS_DEPS +=
+QMAKE_CFLAGS_WARN_ON +=
+QMAKE_CFLAGS_WARN_OFF += -Xsuppress-warnings
+QMAKE_CFLAGS_RELEASE +=
+QMAKE_CFLAGS_DEBUG += -g
+QMAKE_CFLAGS_SHLIB +=
+QMAKE_CFLAGS_STATIC_LIB +=
+QMAKE_CFLAGS_YACC +=
+QMAKE_CFLAGS_HIDESYMS +=
+QMAKE_CFLAGS_PRECOMPILE +=
+QMAKE_CFLAGS_USE_PRECOMPILE +=
+
+QMAKE_CXX = dcc
+QMAKE_CXXFLAGS += $$QMAKE_CFLAGS
+QMAKE_CXXFLAGS_DEPS += $$QMAKE_CFLAGS_DEPS
+QMAKE_CXXFLAGS_WARN_ON += $$QMAKE_CFLAGS_WARN_ON
+QMAKE_CXXFLAGS_WARN_OFF += $$QMAKE_CFLAGS_WARN_OFF
+QMAKE_CXXFLAGS_RELEASE += $$QMAKE_CFLAGS_RELEASE
+QMAKE_CXXFLAGS_DEBUG += $$QMAKE_CFLAGS_DEBUG
+QMAKE_CXXFLAGS_SHLIB += $$QMAKE_CFLAGS_SHLIB
+QMAKE_CXXFLAGS_STATIC_LIB += $$QMAKE_CFLAGS_STATIC_LIB
+QMAKE_CXXFLAGS_YACC += $$QMAKE_CFLAGS_YACC
+QMAKE_CXXFLAGS_HIDESYMS += $$QMAKE_CFLAGS_HIDESYMS
+QMAKE_CXXFLAGS_PRECOMPILE +=
+QMAKE_CXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE
+
+QMAKE_LINK = dld
+QMAKE_LINK_SHLIB = dld
+QMAKE_LFLAGS += $$VXWORKS_DIAB_SPEC -L $(WIND_BASE)/target/lib/$$VXWORKS_ARCH/$$VXWORKS_CPU/common
+QMAKE_LFLAGS_RELEASE +=
+QMAKE_LFLAGS_DEBUG +=
+QMAKE_LFLAGS_APP += -r5
+QMAKE_LFLAGS_SHLIB +=
+QMAKE_LFLAGS_PLUGIN += $$QMAKE_LFLAGS_SHLIB
+QMAKE_LFLAGS_SONAME +=
+QMAKE_LFLAGS_THREAD +=
+QMAKE_LFLAGS_NOUNDEF +=
+QMAKE_RPATH =
+
+QMAKE_PCH_OUTPUT_EXT = .gch
+
+# -Bsymbolic-functions (ld) support
+QMAKE_LFLAGS_BSYMBOLIC_FUNC =
+QMAKE_LFLAGS_DYNAMIC_LIST =
+
+QMAKE_CFLAGS_THREAD += -D_REENTRANT
+QMAKE_CXXFLAGS_THREAD += $$QMAKE_CFLAGS_THREAD
+
+QMAKE_INCDIR =
+QMAKE_LIBDIR =
+QMAKE_INCDIR_X11 = $(WIND_HOME)/GSS/include
+QMAKE_LIBDIR_X11 = $(WIND_HOME)/GSS/lib
+QMAKE_INCDIR_QT = $$[QT_INSTALL_HEADERS]
+QMAKE_LIBDIR_QT = $$[QT_INSTALL_LIBS]
+QMAKE_INCDIR_OPENGL = $$QMAKE_INCDIR_X11
+QMAKE_LIBDIR_OPENGL = $$QMAKE_LIBDIR_X11
+
+QMAKE_LIBS =
+QMAKE_LIBS_DYNLOAD =
+QMAKE_LIBS_X11 = -lXext -lX11
+QMAKE_LIBS_X11SM = -lSM -lICE
+QMAKE_LIBS_NIS = -lnsl
+QMAKE_LIBS_OPENGL = -lGLU -lGL
+QMAKE_LIBS_OPENGL_QT = -lGL
+QMAKE_LIBS_THREAD =
+QMAKE_LIBS_NETWORK = # -lnet # only needed if kernel is missing gethostbyname and friends
+
+QMAKE_MOC = $$[QT_INSTALL_BINS]/moc
+QMAKE_UIC = $$[QT_INSTALL_BINS]/uic
+
+QMAKE_AR = ar cqs
+QMAKE_OBJCOPY = objcopy
+QMAKE_RANLIB =
+
+QMAKE_TAR = tar -cf
+QMAKE_GZIP = gzip -9f
+
+QMAKE_COPY = cp -f
+QMAKE_COPY_FILE = $(COPY)
+QMAKE_COPY_DIR = $(COPY) -r
+QMAKE_MOVE = mv -f
+QMAKE_DEL_FILE = rm -f
+QMAKE_DEL_DIR = rmdir
+QMAKE_STRIP = strip
+QMAKE_STRIPFLAGS_LIB += --strip-unneeded
+QMAKE_CHK_DIR_EXISTS = test -d
+QMAKE_MKDIR = mkdir -p
+QMAKE_INSTALL_FILE = install -m 644 -p
+QMAKE_INSTALL_PROGRAM = install -m 755 -p
+
+include(../../common/unix.conf)
+load(qt_config)
+
diff --git a/mkspecs/unsupported/vxworks-simpentium-dcc/qplatformdefs.h b/mkspecs/unsupported/vxworks-simpentium-dcc/qplatformdefs.h
new file mode 100644
index 0000000..a1735d0
--- /dev/null
+++ b/mkspecs/unsupported/vxworks-simpentium-dcc/qplatformdefs.h
@@ -0,0 +1,42 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the qmake spec of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "../vxworks-simpentium-g++/qplatformdefs.h"
diff --git a/mkspecs/unsupported/vxworks-simpentium-g++/qmake.conf b/mkspecs/unsupported/vxworks-simpentium-g++/qmake.conf
new file mode 100644
index 0000000..29e9c70
--- /dev/null
+++ b/mkspecs/unsupported/vxworks-simpentium-g++/qmake.conf
@@ -0,0 +1,37 @@
+#
+# qmake configuration for vxworks-simpentium-g++
+#
+
+MAKEFILE_GENERATOR = UNIX
+TEMPLATE = app
+CONFIG += qt warn_on release incremental link_prl vxworks
+QT += core gui network
+QMAKE_INCREMENTAL_STYLE = sublib
+DEFINES += VXWORKS
+
+VXWORKS_ARCH = simlinux
+VXWORKS_CPU = SIMLINUX
+VXWORKS_ARCH_MUNCH = pentium
+
+include(../../common/g++.conf)
+include(../../common/linux.conf)
+
+QMAKE_CC = cc$$VXWORKS_ARCH_MUNCH
+QMAKE_CFLAGS = -fno-builtin -I$(WIND_BASE)/target/h -I$(WIND_BASE)/target/h/wrn/coreip -DCPU=$$upper($$VXWORKS_ARCH) -DVX_CPU_FAMILY=$$VXWORKS_ARCH -DTOOL_FAMILY=gnu -DTOOL=gnu -D_WRS_KERNEL -D_VSB_CONFIG_FILE=\'<../lib/h/config/vsbConfig.h>\'
+QMAKE_CFLAGS_SHLIB = # remove -fPIC
+QMAKE_CFLAGS_STATIC_LIB = # remove -fPIC
+QMAKE_CXX = c++$$VXWORKS_ARCH_MUNCH
+QMAKE_CXXFLAGS = $$QMAKE_CFLAGS
+QMAKE_CXXFLAGS_SHLIB= # remove -fPIC
+QMAKE_CXXFLAGS_STATIC_LIB= # remove -fPIC
+QMAKE_LINK = $$QMAKE_CXX
+QMAKE_LINK_SHLIB = $$QMAKE_CXX
+QMAKE_LFLAGS_SHLIB = -Wl,-Ur -L $(WIND_BASE)/target/lib/$$VXWORKS_ARCH/$$VXWORKS_CPU/common # remove -shared
+QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB
+QMAKE_LFLAGS_APP += -Wl,-Ur -L $(WIND_BASE)/target/lib/$$VXWORKS_ARCH/$$VXWORKS_CPU/common
+QMAKE_LIBS_NETWORK = # -lnetwrap # only needed if kernel is missing gethostbyname() and friends
+QMAKE_LIBS_DYNLOAD =
+QMAKE_LIBS_THREAD =
+
+load(qt_config)
+
diff --git a/mkspecs/unsupported/vxworks-simpentium-g++/qplatformdefs.h b/mkspecs/unsupported/vxworks-simpentium-g++/qplatformdefs.h
new file mode 100644
index 0000000..b3eefea
--- /dev/null
+++ b/mkspecs/unsupported/vxworks-simpentium-g++/qplatformdefs.h
@@ -0,0 +1,128 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the qmake spec of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QPLATFORMDEFS_H
+#define QPLATFORMDEFS_H
+
+// Get Qt defines/settings
+
+#include "qglobal.h"
+#include "qfunctions_vxworks.h"
+
+
+#ifdef QT_LARGEFILE_SUPPORT
+#define QT_STATBUF struct stat64
+#define QT_STATBUF4TSTAT struct stat64
+#define QT_STAT ::stat64
+#define QT_FSTAT ::fstat64
+#define QT_LSTAT ::stat64
+#define QT_OPEN ::open64
+#define QT_TRUNCATE ::truncate64
+#define QT_FTRUNCATE ::ftruncate64
+#define QT_LSEEK ::lseek64
+#else
+#define QT_STATBUF struct stat
+#define QT_STATBUF4TSTAT struct stat
+#define QT_STAT ::stat
+#define QT_FSTAT ::fstat
+#define QT_LSTAT ::stat
+#define QT_OPEN ::open
+#define QT_TRUNCATE ::truncate
+#define QT_FTRUNCATE ::ftruncate
+#define QT_LSEEK ::lseek
+#endif
+
+#ifdef QT_LARGEFILE_SUPPORT
+#define QT_FOPEN ::fopen64
+#define QT_FSEEK ::fseeko64
+#define QT_FTELL ::ftello64
+#define QT_FGETPOS ::fgetpos64
+#define QT_FSETPOS ::fsetpos64
+#define QT_FPOS_T fpos64_t
+#define QT_OFF_T off64_t
+#else
+#define QT_FOPEN ::fopen
+#define QT_FSEEK ::fseek
+#define QT_FTELL ::ftell
+#define QT_FGETPOS ::fgetpos
+#define QT_FSETPOS ::fsetpos
+#define QT_FPOS_T fpos_t
+#define QT_OFF_T long
+#endif
+
+#define QT_STAT_REG S_IFREG
+#define QT_STAT_DIR S_IFDIR
+#define QT_STAT_MASK S_IFMT
+#define QT_STAT_LNK S_IFLNK
+#define QT_SOCKET_CONNECT(sd, to, tolen) \
+ ::connect(sd, (struct sockaddr *) to, tolen)
+#define QT_SOCKET_BIND ::bind
+#define QT_FILENO fileno
+#define QT_CLOSE ::close
+#define QT_READ(fd, buf, len) ::read(fd, (char*) buf, len)
+#define QT_WRITE(fd, buf, len) ::write(fd, (char*) buf, len)
+#define QT_ACCESS ::access
+#define QT_GETCWD ::getcwd
+#define QT_CHDIR ::chdir
+#define QT_MKDIR(dir, perm) ::mkdir(dir)
+#define QT_RMDIR ::rmdir
+#define QT_OPEN_LARGEFILE O_LARGEFILE
+#define QT_OPEN_RDONLY O_RDONLY
+#define QT_OPEN_WRONLY O_WRONLY
+#define QT_OPEN_RDWR O_RDWR
+#define QT_OPEN_CREAT O_CREAT
+#define QT_OPEN_TRUNC O_TRUNC
+#define QT_OPEN_APPEND O_APPEND
+
+#define QT_SIGNAL_RETTYPE void
+#define QT_SIGNAL_ARGS int
+#define QT_SIGNAL_IGNORE SIG_IGN
+
+// there IS a socklen_t in sys/socket.h (unsigned int),
+// but sockLib.h uses int in all function declaration...
+//#define QT_SOCKLEN_T socklen_t
+#define QT_SOCKLEN_T int
+
+#define QT_SNPRINTF ::snprintf
+#define QT_VSNPRINTF ::vsnprintf
+
+
+#endif // QPLATFORMDEFS_H
diff --git a/mkspecs/win32-g++/qplatformdefs.h b/mkspecs/win32-g++/qplatformdefs.h
index c4ee4b4..97c63f5 100644
--- a/mkspecs/win32-g++/qplatformdefs.h
+++ b/mkspecs/win32-g++/qplatformdefs.h
@@ -60,7 +60,7 @@
#include <errno.h>
#include <sys/stat.h>
#include <stdlib.h>
-#include <windows.h>
+#include <qt_windows.h>
#include <limits.h>
#if !defined(_WIN32_WINNT) || (_WIN32_WINNT-0 < 0x0500)
diff --git a/mkspecs/win32-mwc/qplatformdefs.h b/mkspecs/win32-mwc/qplatformdefs.h
index 0ce3ac6..5c31394 100644
--- a/mkspecs/win32-mwc/qplatformdefs.h
+++ b/mkspecs/win32-mwc/qplatformdefs.h
@@ -1,7 +1,7 @@
/****************************************************************************
**
-** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the qmake spec of the Qt Toolkit.
**
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/qmake/Makefile.unix b/qmake/Makefile.unix
index c7f4dc4..6ba5b6b 100644
--- a/qmake/Makefile.unix
+++ b/qmake/Makefile.unix
@@ -13,7 +13,7 @@ OBJS=project.o property.o main.o makefile.o unixmake2.o unixmake.o \
symmake.o initprojectdeploy_symbian.o symmake_abld.o symmake_sbsv2.o
#qt code
-QOBJS=qstring.o qtextstream.o qiodevice.o qmalloc.o qglobal.o \
+QOBJS=qtextcodec.o qutfcodec.o qstring.o qtextstream.o qiodevice.o qmalloc.o qglobal.o \
qbytearray.o qbytearraymatcher.o qdatastream.o qbuffer.o qlistdata.o qfile.o \
qfsfileengine_unix.o qfsfileengine_iterator_unix.o qfsfileengine.o \
qfsfileengine_iterator.o qregexp.o qvector.o qbitarray.o qdir.o qdiriterator.o quuid.o qhash.o \
@@ -47,6 +47,7 @@ DEPEND_SRC=project.cpp property.cpp meta.cpp main.cpp generators/makefile.cpp ge
generators/win32/msvc_objectmodel.cpp generators/win32/msvc_nmake.cpp generators/win32/borland_bmake.cpp \
generators/symbian/symmake.cpp generators/symbian/initprojectdeploy_symbian.cpp \
generators/symbian/symmake_abld.cpp generators/symbian/symmake_sbsv2.cpp \
+ $(SOURCE_PATH)/src/corelib/codecs/qtextcodec.cpp $(SOURCE_PATH)/src/corelib/codecs/qutfcodec.cpp \
$(SOURCE_PATH)/src/corelib/tools/qstring.cpp $(SOURCE_PATH)/src/corelib/io/qfile.cpp \
$(SOURCE_PATH)/src/corelib/io/qtextstream.cpp $(SOURCE_PATH)/src/corelib/io/qiodevice.cpp \
$(SOURCE_PATH)/src/corelib/global/qmalloc.cpp \
@@ -165,6 +166,12 @@ qcore_mac.o: $(SOURCE_PATH)/src/corelib/kernel/qcore_mac.cpp
qurl.o: $(SOURCE_PATH)/src/corelib/io/qurl.cpp
$(CXX) -c -o $@ $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/io/qurl.cpp
+qutfcodec.o: $(SOURCE_PATH)/src/corelib/codecs/qutfcodec.cpp
+ $(CXX) -c -o $@ $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/codecs/qutfcodec.cpp
+
+qtextcodec.o: $(SOURCE_PATH)/src/corelib/codecs/qtextcodec.cpp
+ $(CXX) -c -o $@ $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/codecs/qtextcodec.cpp
+
qstring.o: $(SOURCE_PATH)/src/corelib/tools/qstring.cpp
$(CXX) -c -o $@ $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/tools/qstring.cpp
diff --git a/qmake/Makefile.win32 b/qmake/Makefile.win32
index 3f4f8d4..929f950 100644
--- a/qmake/Makefile.win32
+++ b/qmake/Makefile.win32
@@ -110,6 +110,8 @@ QTOBJS= \
qmalloc.obj \
qmap.obj \
qregexp.obj \
+ qtextcodec.obj \
+ qutfcodec.obj \
qstring.obj \
qstringlist.obj \
qtextstream.obj \
@@ -198,6 +200,8 @@ clean::
-del qmalloc.obj
-del qmap.obj
-del qregexp.obj
+ -del qtextcodec.obj
+ -del qutfcodec.obj
-del qstring.obj
-del qstringlist.obj
-del qtextstream.obj
@@ -347,6 +351,9 @@ qbytearraymatcher.obj: $(SOURCE_PATH)\src\corelib\tools\qbytearraymatcher.cpp
qchar.obj: $(SOURCE_PATH)\src\corelib\tools\qchar.cpp
$(CXX) $(CXXFLAGS) $(SOURCE_PATH)\src\corelib\tools\qchar.cpp
+qutfcodec.obj: $(SOURCE_PATH)\src\corelib\codecs\qutfcodec.cpp
+ $(CXX) $(CXXFLAGS) $(SOURCE_PATH)\src\corelib\codecs\qutfcodec.cpp
+
qstring.obj: $(SOURCE_PATH)\src\corelib\tools\qstring.cpp
$(CXX) $(CXXFLAGS) $(SOURCE_PATH)\src\corelib\tools\qstring.cpp
@@ -389,8 +396,8 @@ qfsfileengine_iterator.obj: $(SOURCE_PATH)\src\corelib\io\qfsfileengine_iterator
qabstractfileengine.obj: $(SOURCE_PATH)\src\corelib\io\qabstractfileengine.cpp
$(CXX) $(CXXFLAGS) $(SOURCE_PATH)\src\corelib\io\qabstractfileengine.cpp
-qtextcodec.obj: $(SOURCE_PATH)\src\codecs\qtextcodec.cpp
- $(CXX) $(CXXFLAGS) $(SOURCE_PATH)\src\codecs\qtextcodec.cpp
+qtextcodec.obj: $(SOURCE_PATH)\src\corelib\codecs\qtextcodec.cpp
+ $(CXX) $(CXXFLAGS) $(SOURCE_PATH)\src\corelib\codecs\qtextcodec.cpp
qregexp.obj: $(SOURCE_PATH)\src\corelib\tools\qregexp.cpp
$(CXX) $(CXXFLAGS) $(SOURCE_PATH)\src\corelib\tools\qregexp.cpp
diff --git a/qmake/Makefile.win32-g++ b/qmake/Makefile.win32-g++
index 03ca6dd..c18201e 100644
--- a/qmake/Makefile.win32-g++
+++ b/qmake/Makefile.win32-g++
@@ -75,6 +75,8 @@ QTOBJS= \
qmalloc.o \
qmap.o \
qregexp.o \
+ qtextcodec.o \
+ qutfcodec.o \
qstring.o \
qstringlist.o \
qtextstream.o \
@@ -198,6 +200,9 @@ qvsnprintf.o: $(SOURCE_PATH)/src/corelib/tools/qvsnprintf.cpp
qbytearraymatcher.o: $(SOURCE_PATH)/src/corelib/tools/qbytearraymatcher.cpp
$(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/tools/qbytearraymatcher.cpp
+qutfcodec.o: $(SOURCE_PATH)/src/corelib/codecs/qutfcodec.cpp
+ $(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/codecs/qutfcodec.cpp
+
qstring.o: $(SOURCE_PATH)/src/corelib/tools/qstring.cpp
$(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/tools/qstring.cpp
@@ -237,8 +242,8 @@ qfsfileengine.o: $(SOURCE_PATH)/src/corelib/io/qfsfileengine.cpp
qfsfileengine_iterator.o: $(SOURCE_PATH)/src/corelib/io/qfsfileengine_iterator.cpp
$(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/io/qfsfileengine_iterator.cpp
-qtextcodec.o: $(SOURCE_PATH)/src/codecs/qtextcodec.cpp
- $(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/codecs/qtextcodec.cpp
+qtextcodec.o: $(SOURCE_PATH)/src/corelib/codecs/qtextcodec.cpp
+ $(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/codecs/qtextcodec.cpp
qregexp.o: $(SOURCE_PATH)/src/corelib/tools/qregexp.cpp
$(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/tools/qregexp.cpp
diff --git a/qmake/Makefile.win32-g++-sh b/qmake/Makefile.win32-g++-sh
index bd1b8b5..e02a021 100644
--- a/qmake/Makefile.win32-g++-sh
+++ b/qmake/Makefile.win32-g++-sh
@@ -75,6 +75,8 @@ QTOBJS= \
qmalloc.o \
qmap.o \
qregexp.o \
+ qtextcodec.o \
+ qutfcodec.o \
qstring.o \
qstringlist.o \
qtextstream.o \
@@ -197,6 +199,9 @@ qvsnprintf.o: $(SOURCE_PATH)/src/corelib/tools/qvsnprintf.cpp
qbytearraymatcher.o: $(SOURCE_PATH)/src/corelib/tools/qbytearraymatcher.cpp
$(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/tools/qbytearraymatcher.cpp
+qutfcodec.o: $(SOURCE_PATH)/src/corelib/codecs/qutfcodec.cpp
+ $(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/codecs/qutfcodec.cpp
+
qstring.o: $(SOURCE_PATH)/src/corelib/tools/qstring.cpp
$(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/tools/qstring.cpp
@@ -236,8 +241,8 @@ qfsfileengine.o: $(SOURCE_PATH)/src/corelib/io/qfsfileengine.cpp
qfsfileengine_iterator.o: $(SOURCE_PATH)/src/corelib/io/qfsfileengine_iterator.cpp
$(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/io/qfsfileengine_iterator.cpp
-qtextcodec.o: $(SOURCE_PATH)/src/codecs/qtextcodec.cpp
- $(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/codecs/qtextcodec.cpp
+qtextcodec.o: $(SOURCE_PATH)/src/corelib/codecs/qtextcodec.cpp
+ $(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/codecs/qtextcodec.cpp
qregexp.o: $(SOURCE_PATH)/src/corelib/tools/qregexp.cpp
$(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/tools/qregexp.cpp
diff --git a/qmake/generators/mac/pbuilder_pbx.cpp b/qmake/generators/mac/pbuilder_pbx.cpp
index dae38fc..a983d3b 100644
--- a/qmake/generators/mac/pbuilder_pbx.cpp
+++ b/qmake/generators/mac/pbuilder_pbx.cpp
@@ -156,7 +156,7 @@ ProjectBuilderMakefileGenerator::writeSubDirs(QTextStream &t)
QString profile = tmp;
if(!profile.endsWith(Option::dir_sep))
profile += Option::dir_sep;
- profile += fi.baseName() + ".pro";
+ profile += fi.baseName() + Option::pro_ext;
fi = QFileInfo(profile);
}
QMakeProject tmp_proj;
diff --git a/qmake/generators/makefile.cpp b/qmake/generators/makefile.cpp
index 345f999..0db24ae 100644
--- a/qmake/generators/makefile.cpp
+++ b/qmake/generators/makefile.cpp
@@ -121,7 +121,7 @@ bool MakefileGenerator::mkdir(const QString &in_path) const
QDir d;
if(path.startsWith(QDir::separator())) {
d.cd(QString(QDir::separator()));
- path = path.right(path.length() - 1);
+ path.remove(0, 1);
}
bool ret = true;
#ifdef Q_OS_WIN
@@ -129,7 +129,7 @@ bool MakefileGenerator::mkdir(const QString &in_path) const
if(!QDir::isRelativePath(path)) {
if(QFile::exists(path.left(3))) {
d.cd(path.left(3));
- path = path.right(path.length() - 3);
+ path.remove(0, 3);
} else {
warn_msg(WarnLogic, "Cannot access drive '%s' (%s)",
path.left(3).toLatin1().data(), path.toLatin1().data());
@@ -201,13 +201,13 @@ MakefileGenerator::initOutPaths()
if(Option::mkfile::do_cache && !Option::mkfile::cachefile.isEmpty() &&
v.contains("QMAKE_ABSOLUTE_SOURCE_ROOT")) {
QString root = v["QMAKE_ABSOLUTE_SOURCE_ROOT"].first();
- root = Option::fixPathToTargetOS(root);
+ root = QDir::fromNativeSeparators(root);
if(!root.isEmpty()) {
QFileInfo fi = fileInfo(Option::mkfile::cachefile);
if(!fi.makeAbsolute()) {
QString cache_r = fi.path(), pwd = Option::output_dir;
if(pwd.startsWith(cache_r) && !pwd.startsWith(root)) {
- pwd = Option::fixPathToTargetOS(root + pwd.mid(cache_r.length()));
+ pwd = root + pwd.mid(cache_r.length());
if(exists(pwd))
v.insert("QMAKE_ABSOLUTE_SOURCE_PATH", QStringList(pwd));
}
@@ -217,7 +217,7 @@ MakefileGenerator::initOutPaths()
}
if(!v["QMAKE_ABSOLUTE_SOURCE_PATH"].isEmpty()) {
QString &asp = v["QMAKE_ABSOLUTE_SOURCE_PATH"].first();
- asp = Option::fixPathToTargetOS(asp);
+ asp = QDir::fromNativeSeparators(asp);
if(asp.isEmpty() || asp == Option::output_dir) //if they're the same, why bother?
v["QMAKE_ABSOLUTE_SOURCE_PATH"].clear();
}
@@ -243,7 +243,7 @@ MakefileGenerator::initOutPaths()
if(!(dirs[x] == "DLLDESTDIR"))
#endif
{
- if(pathRef.right(Option::dir_sep.length()) != Option::dir_sep)
+ if(!pathRef.endsWith(Option::dir_sep))
pathRef += Option::dir_sep;
}
@@ -346,7 +346,7 @@ MakefileGenerator::findFilesInVPATH(QStringList l, uchar flags, const QString &v
QString real_dir = Option::fixPathToLocalOS((*vpath_it));
if(exists(real_dir + QDir::separator() + val)) {
QString dir = (*vpath_it);
- if(dir.right(Option::dir_sep.length()) != Option::dir_sep)
+ if(!dir.endsWith(Option::dir_sep))
dir += Option::dir_sep;
val = dir + val;
if(!(flags & VPATH_NoFixify))
@@ -365,7 +365,7 @@ MakefileGenerator::findFilesInVPATH(QStringList l, uchar flags, const QString &v
real_dir = dir;
if(!(flags & VPATH_NoFixify))
real_dir = fileFixify(real_dir, qmake_getpwd(), Option::output_dir);
- regex = regex.right(regex.length() - dir.length());
+ regex.remove(0, dir.length());
}
if(real_dir.isEmpty() || exists(real_dir)) {
QStringList files = QDir(real_dir).entryList(QStringList(regex));
@@ -725,14 +725,14 @@ MakefileGenerator::init()
if(project->isActiveConfig("qmake_cache")) {
QString cache_file;
if(!project->isEmpty("QMAKE_INTERNAL_CACHE_FILE")) {
- cache_file = Option::fixPathToLocalOS(project->first("QMAKE_INTERNAL_CACHE_FILE"));
+ cache_file = QDir::fromNativeSeparators(project->first("QMAKE_INTERNAL_CACHE_FILE"));
} else {
cache_file = ".qmake.internal.cache";
if(project->isActiveConfig("build_pass"))
cache_file += ".BUILD." + project->first("BUILD_PASS");
}
- if(cache_file.indexOf(QDir::separator()) == -1)
- cache_file.prepend(Option::output_dir + QDir::separator());
+ if(cache_file.indexOf('/') == -1)
+ cache_file.prepend(Option::output_dir + '/');
QMakeSourceFileInfo::setCacheFile(cache_file);
}
@@ -789,7 +789,7 @@ MakefileGenerator::init()
QString dir, regex = Option::fixPathToLocalOS((*dep_it));
if(regex.lastIndexOf(Option::dir_sep) != -1) {
dir = regex.left(regex.lastIndexOf(Option::dir_sep) + 1);
- regex = regex.right(regex.length() - dir.length());
+ regex.remove(0, dir.length());
}
QStringList files = QDir(dir).entryList(QStringList(regex));
if(files.isEmpty()) {
@@ -939,7 +939,7 @@ MakefileGenerator::writePrlFile(QTextStream &t)
QString target = project->first("TARGET");
int slsh = target.lastIndexOf(Option::dir_sep);
if(slsh != -1)
- target = target.right(target.length() - slsh - 1);
+ target.remove(0, slsh + 1);
QString bdir = Option::output_dir;
if(bdir.isEmpty())
bdir = qmake_getpwd();
@@ -1057,11 +1057,11 @@ MakefileGenerator::prlFileName(bool fixify)
ret = project->first("TARGET");
int slsh = ret.lastIndexOf(Option::dir_sep);
if(slsh != -1)
- ret = ret.right(ret.length() - slsh);
+ ret.remove(0, slsh);
if(!ret.endsWith(Option::prl_ext)) {
int dot = ret.indexOf('.');
if(dot != -1)
- ret = ret.left(dot);
+ ret.truncate(dot);
ret += Option::prl_ext;
}
if(!project->isEmpty("QMAKE_BUNDLE"))
@@ -1211,7 +1211,7 @@ MakefileGenerator::writeInstalls(QTextStream &t, const QString &installs, bool n
if(project->values((*it) + ".CONFIG").indexOf("no_path") == -1 &&
project->values((*it) + ".CONFIG").indexOf("dummy_install") == -1) {
dst = fileFixify(unescapeFilePath(project->values(pvar).first()), FileFixifyAbsolute, false);
- if(dst.right(1) != Option::dir_sep)
+ if(!dst.endsWith(Option::dir_sep))
dst += Option::dir_sep;
}
dst = escapeFilePath(dst);
@@ -1240,9 +1240,9 @@ MakefileGenerator::writeInstalls(QTextStream &t, const QString &installs, bool n
int slsh = filestr.lastIndexOf(Option::dir_sep);
if(slsh != -1) {
dirstr = filestr.left(slsh+1);
- filestr = filestr.right(filestr.length() - slsh - 1);
+ filestr.remove(0, slsh+1);
}
- if(dirstr.right(Option::dir_sep.length()) != Option::dir_sep)
+ if(!dirstr.endsWith(Option::dir_sep))
dirstr += Option::dir_sep;
if(exists(wild)) { //real file
QString file = wild;
@@ -1342,7 +1342,7 @@ MakefileGenerator::writeInstalls(QTextStream &t, const QString &installs, bool n
const QStringList &dirs = project->values(pvar);
for(QStringList::ConstIterator pit = dirs.begin(); pit != dirs.end(); ++pit) {
QString tmp_dst = fileFixify((*pit), FileFixifyAbsolute, false);
- if (!isWindowsShell() && tmp_dst.right(1) != Option::dir_sep)
+ if (!isWindowsShell() && !tmp_dst.endsWith(Option::dir_sep))
tmp_dst += Option::dir_sep;
t << mkdir_p_asstring(filePrefixRoot(root, tmp_dst)) << "\n\t";
}
@@ -2174,8 +2174,6 @@ QString MakefileGenerator::buildArgs(const QString &outdir)
ret += " -unix";
else if(Option::target_mode == Option::TARG_WIN_MODE)
ret += " -win32";
- else if(Option::target_mode == Option::TARG_QNX6_MODE)
- ret += " -qnx6";
//configs
for(QStringList::Iterator it = Option::user_configs.begin();
@@ -2277,8 +2275,8 @@ MakefileGenerator::findSubDirsSubTargets() const
st->profile = file.section(Option::dir_sep, -1) + Option::pro_ext;
st->in_directory = file;
}
- while(st->in_directory.right(1) == Option::dir_sep)
- st->in_directory = st->in_directory.left(st->in_directory.length() - 1);
+ while(st->in_directory.endsWith(Option::dir_sep))
+ st->in_directory.chop(1);
if(fileInfo(st->in_directory).isRelative())
st->out_directory = st->in_directory;
else
@@ -2358,7 +2356,7 @@ MakefileGenerator::writeSubTargets(QTextStream &t, QList<MakefileGenerator::SubT
if (!(flags & SubTargetSkipDefaultVariables)) {
QString ofile = Option::fixPathToTargetOS(Option::output.fileName());
if(ofile.lastIndexOf(Option::dir_sep) != -1)
- ofile = ofile.right(ofile.length() - ofile.lastIndexOf(Option::dir_sep) -1);
+ ofile.remove(0, ofile.lastIndexOf(Option::dir_sep) +1);
t << "MAKEFILE = " << ofile << endl;
/* Calling Option::fixPathToTargetOS() is necessary for MinGW/MSYS, which requires
* back-slashes to be turned into slashes. */
@@ -2802,11 +2800,13 @@ MakefileGenerator::fileFixify(const QString& file, const QString &out_d, const Q
return cacheVal;
//do the fixin'
- const QString pwd = qmake_getpwd() + "/";
+ QString pwd = qmake_getpwd();
+ if (!pwd.endsWith('/'))
+ pwd += '/';
QString orig_file = ret;
if(ret.startsWith(QLatin1Char('~'))) {
if(ret.startsWith(QLatin1String("~/")))
- ret = QDir::homePath() + Option::dir_sep + ret.mid(1);
+ ret = QDir::homePath() + ret.mid(1);
else
warn_msg(WarnLogic, "Unable to expand ~ in %s", ret.toLatin1().constData());
}
@@ -2895,13 +2895,13 @@ MakefileGenerator::checkMultipleDefinition(const QString &f, const QString &w)
QString file = f;
int slsh = f.lastIndexOf(Option::dir_sep);
if(slsh != -1)
- file = file.right(file.length() - slsh - 1);
+ file.remove(0, slsh + 1);
QStringList &l = project->values(w);
for(QStringList::Iterator val_it = l.begin(); val_it != l.end(); ++val_it) {
QString file2((*val_it));
slsh = file2.lastIndexOf(Option::dir_sep);
if(slsh != -1)
- file2 = file2.right(file2.length() - slsh - 1);
+ file2.remove(0, slsh + 1);
if(file2 == file) {
warn_msg(WarnLogic, "Found potential symbol conflict of %s (%s) in %s",
file.toLatin1().constData(), (*val_it).toLatin1().constData(), w.toLatin1().constData());
@@ -3055,7 +3055,7 @@ MakefileGenerator::openOutput(QFile &file, const QString &build) const
file.setFileName(Option::output_dir + "/" + file.fileName()); //pwd when qmake was run
QFileInfo fi(fileInfo(file.fileName()));
if(fi.isDir())
- outdir = file.fileName() + QDir::separator();
+ outdir = file.fileName() + '/';
}
if(!outdir.isEmpty() || file.fileName().isEmpty()) {
QString fname = "Makefile";
@@ -3075,7 +3075,7 @@ MakefileGenerator::openOutput(QFile &file, const QString &build) const
file.setFileName(file.fileName() + "." + build);
if(project->isEmpty("QMAKE_MAKEFILE"))
project->values("QMAKE_MAKEFILE").append(file.fileName());
- int slsh = file.fileName().lastIndexOf(Option::dir_sep);
+ int slsh = file.fileName().lastIndexOf('/');
if(slsh != -1)
mkdir(file.fileName().left(slsh));
if(file.open(QIODevice::WriteOnly | QIODevice::Text | QIODevice::Truncate)) {
@@ -3085,9 +3085,13 @@ MakefileGenerator::openOutput(QFile &file, const QString &build) const
od = fileInfo(fi.readLink()).absolutePath();
else
od = fi.path();
- od = Option::fixPathToTargetOS(od);
- if(QDir::isRelativePath(od))
- od.prepend(Option::output_dir);
+ od = QDir::fromNativeSeparators(od);
+ if(QDir::isRelativePath(od)) {
+ QString dir = Option::output_dir;
+ if (!dir.endsWith('/') && !od.isEmpty())
+ dir += '/';
+ od.prepend(dir);
+ }
Option::output_dir = od;
return true;
}
diff --git a/qmake/generators/makefiledeps.cpp b/qmake/generators/makefiledeps.cpp
index 34a5322..d907394 100644
--- a/qmake/generators/makefiledeps.cpp
+++ b/qmake/generators/makefiledeps.cpp
@@ -378,17 +378,19 @@ bool QMakeSourceFileInfo::findDeps(SourceFile *file)
files_changed = true;
file->dep_checked = true;
+ const QMakeLocalFileName sourceFile = fixPathForFile(file->file, true);
+
struct stat fst;
char *buffer = 0;
int buffer_len = 0;
{
int fd;
#if defined(_MSC_VER) && _MSC_VER >= 1400
- if (_sopen_s(&fd, fixPathForFile(file->file, true).local().toLatin1().constData(),
+ if (_sopen_s(&fd, sourceFile.local().toLatin1().constData(),
_O_RDONLY, _SH_DENYNO, _S_IREAD) != 0)
fd = -1;
#else
- fd = open(fixPathForFile(file->file, true).local().toLatin1().constData(), O_RDONLY);
+ fd = open(sourceFile.local().toLatin1().constData(), O_RDONLY);
#endif
if(fd == -1 || fstat(fd, &fst) || S_ISDIR(fst.st_mode))
return false;
@@ -623,12 +625,8 @@ bool QMakeSourceFileInfo::findDeps(SourceFile *file)
QMakeLocalFileName lfn(inc);
if(QDir::isRelativePath(lfn.real())) {
if(try_local) {
- QString dir = findFileInfo(file->file).path();
- if(QDir::isRelativePath(dir))
- dir.prepend(qmake_getpwd() + "/");
- if(!dir.endsWith("/"))
- dir += "/";
- QMakeLocalFileName f(dir + lfn.local());
+ QDir sourceDir = findFileInfo(sourceFile).dir();
+ QMakeLocalFileName f(sourceDir.absoluteFilePath(lfn.local()));
if(findFileInfo(f).exists()) {
lfn = fixPathForFile(f);
exists = true;
diff --git a/qmake/generators/metamakefile.cpp b/qmake/generators/metamakefile.cpp
index 0b8fa17..4a9fd8d 100644
--- a/qmake/generators/metamakefile.cpp
+++ b/qmake/generators/metamakefile.cpp
@@ -294,9 +294,9 @@ SubdirsMetaMakefileGenerator::init()
init_flag = true;
if(Option::recursive) {
- QString old_output_dir = QDir::cleanPath(Option::output_dir);
+ QString old_output_dir = Option::output_dir;
QString old_output = Option::output.fileName();
- QString oldpwd = QDir::cleanPath(qmake_getpwd());
+ QString oldpwd = qmake_getpwd();
QString thispwd = oldpwd;
if(!thispwd.endsWith('/'))
thispwd += '/';
@@ -452,18 +452,17 @@ QStringList SymbianSubdirsMetaMakefileGenerator::getDependencyList(QString mmpFi
QStringList list;
QList<QString> values = mmpDependency.values(mmpFilename);
- if(recursionDepth < 0) {
+ if (recursionDepth < 0) {
// special case; just first dependency level
list = values;
return list;
}
- if(values.size() == 0) {
+ if (values.size() == 0) {
//reached recursion END condition
- if(recursionDepth == 0) {
+ if (recursionDepth == 0) {
--recursionDepth;
return list; // empty list // no dependencies / return
- }
- else {
+ } else {
list.append(mmpFilename);
recursionDepth--;
return list; // leaf // return
@@ -473,13 +472,13 @@ QStringList SymbianSubdirsMetaMakefileGenerator::getDependencyList(QString mmpFi
for (int i = 0; i < values.size(); ++i) {
QString current = values.at(i);
QStringList tailList = getDependencyList(current, recursionDepth);
- for(int j = 0; j < tailList.size(); ++j) {
- QString path = tailList.at(j);
- list.append(path);
+ for (int j = 0; j < tailList.size(); ++j) {
+ QString path = tailList.at(j);
+ list.append(path);
}
}
- if(recursionDepth > 0) {
+ if (recursionDepth > 0) {
//for mmp somewhere in middle
list.append(mmpFilename);
}
@@ -510,7 +509,7 @@ QString SymbianSubdirsMetaMakefileGenerator::cleanFromSpecialCharacters(QString&
bool SymbianSubdirsMetaMakefileGenerator::init()
{
- if(init_flag)
+ if (init_flag)
return false;
init_flag = true;
@@ -519,54 +518,53 @@ bool SymbianSubdirsMetaMakefileGenerator::init()
Option::recursive = true;
- if(Option::recursive) {
+ if (Option::recursive) {
QString old_output_dir = QDir::cleanPath(Option::output_dir);
- if(!old_output_dir.endsWith('/'))
- old_output_dir += '/';
- QString old_output = Option::output.fileName();
+ if (!old_output_dir.endsWith('/'))
+ old_output_dir += '/';
+ QString old_output = Option::output.fileName();
QString oldpwd = QDir::cleanPath(qmake_getpwd());
- if(!oldpwd.endsWith('/'))
- oldpwd += '/';
+ if (!oldpwd.endsWith('/'))
+ oldpwd += '/';
// find the parent mmp filename
int end = oldpwd.size() - 1;
int start = oldpwd.lastIndexOf("/", end - 2);
QString parentMmpFilename = oldpwd.mid(start + 1, end - start - 1);
parentMmpFilename.prepend(oldpwd);
- parentMmpFilename = parentMmpFilename.append(".mmp");
+ parentMmpFilename = parentMmpFilename.append(Option::mmp_ext);
const QStringList &subdirs = project->values("SUBDIRS");
static int recurseDepth = -1;
++recurseDepth;
- for(int i = 0; i < subdirs.size(); ++i) {
+ for (int i = 0; i < subdirs.size(); ++i) {
Subdir *sub = new Subdir;
sub->indent = recurseDepth;
QFileInfo subdir(subdirs.at(i));
// childMmpFielname should be derived from subdirName
QString subdirName = subdirs.at(i);
- if(!project->isEmpty(subdirs.at(i) + ".file"))
+ if (!project->isEmpty(subdirs.at(i) + ".file"))
subdir = project->first(subdirs.at(i) + ".file");
- else if(!project->isEmpty(subdirs.at(i) + ".subdir"))
+ else if (!project->isEmpty(subdirs.at(i) + ".subdir"))
subdir = project->first(subdirs.at(i) + ".subdir");
QString sub_name;
QString childMmpFilename;
- if(subdir.isDir()) {
+ if (subdir.isDir()) {
subdir = QFileInfo(subdir.filePath() + "/" + subdir.fileName() + Option::pro_ext);
childMmpFilename = subdir.fileName();
childMmpFilename = subdir.absoluteFilePath();
childMmpFilename.replace(Option::pro_ext, QString(""));
- childMmpFilename.append(".mmp");
- }
- else {
+ childMmpFilename.append(Option::mmp_ext);
+ } else {
childMmpFilename = subdir.absoluteFilePath();
- childMmpFilename.replace(QString(".pro"), QString(".mmp"));
+ childMmpFilename.replace(Option::pro_ext, Option::mmp_ext);
sub_name = childMmpFilename;
- sub_name.replace(QString(".mmp"), QString(""));
+ sub_name.replace(Option::mmp_ext, QString(""));
sub_name.replace(0, sub_name.lastIndexOf("/") + 1, QString(""));
project->values("SHADOW_BLD_INFS").append(QString("bld.inf.") + sub_name);
}
@@ -576,7 +574,7 @@ bool SymbianSubdirsMetaMakefileGenerator::init()
for (int ind = 0; ind < sub->indent; ++ind)
printf(" ");
sub->input_dir = subdir.absolutePath();
- if(subdir.isRelative() && old_output_dir != oldpwd) {
+ if (subdir.isRelative() && old_output_dir != oldpwd) {
sub->output_dir = old_output_dir + "/" + subdir.path();
printf("Reading %s [%s]\n", subdir.absoluteFilePath().toLatin1().constData(), sub->output_dir.toLatin1().constData());
} else {
@@ -590,10 +588,10 @@ bool SymbianSubdirsMetaMakefileGenerator::init()
QString newpwd = qmake_getpwd();
Option::output_dir = sub->output_dir;
- if(Option::output_dir.at(Option::output_dir.length()-1) != QLatin1Char('/'))
+ if (Option::output_dir.at(Option::output_dir.length() - 1) != QLatin1Char('/'))
Option::output_dir += QLatin1Char('/');
sub_proj->read(subdir.fileName());
- if(!sub_proj->variables()["QMAKE_FAILED_REQUIREMENTS"].isEmpty()) {
+ if (!sub_proj->variables()["QMAKE_FAILED_REQUIREMENTS"].isEmpty()) {
fprintf(stderr, "Project file(%s) not recursed because all requirements not met:\n\t%s\n",
subdir.fileName().toLatin1().constData(),
sub_proj->values("QMAKE_FAILED_REQUIREMENTS").join(" ").toLatin1().constData());
@@ -608,7 +606,7 @@ bool SymbianSubdirsMetaMakefileGenerator::init()
mmpDependency.insert(parentMmpFilename, childMmpFilename);
sub->makefile = MetaMakefileGenerator::createMetaGenerator(sub_proj, sub_name);
- if(0 && sub->makefile->type() == SUBDIRSMETATYPE) {
+ if (0 && sub->makefile->type() == SUBDIRSMETATYPE) {
subs.append(sub);
} else {
const QString output_name = Option::output.fileName();
@@ -626,7 +624,7 @@ bool SymbianSubdirsMetaMakefileGenerator::init()
}
--recurseDepth;
- Option::output.setFileName(old_output);
+ Option::output.setFileName(old_output);
Option::output_dir = old_output_dir;
qmake_setpwd(oldpwd);
}
@@ -637,27 +635,27 @@ bool SymbianSubdirsMetaMakefileGenerator::init()
// To fully expand find all dependencies:
// Do as recursion, then insert result as subdirs data in project
QString newpwd = qmake_getpwd();
- if(!newpwd.endsWith('/'))
+ if (!newpwd.endsWith('/'))
newpwd += '/';
int end = newpwd.size() - 1;
int start = newpwd.lastIndexOf("/", end - 2);
QString mmpFilename = newpwd.mid(start + 1, end - start - 1);
mmpFilename.prepend(newpwd);
- mmpFilename = mmpFilename.append(".mmp");
+ mmpFilename = mmpFilename.append(Option::mmp_ext);
// map mmpfile to its absolute filepath
mmpPaths.insert(mmpFilename, newpwd);
QStringList directDependencyList = getDependencyList(mmpFilename, -1);
- for(int i = 0; i < directDependencyList.size(); ++i) {
+ for (int i = 0; i < directDependencyList.size(); ++i) {
project->values("MMPFILES_DIRECT_DEPENDS").append(directDependencyList.at(i));
}
QStringList dependencyList = getDependencyList(mmpFilename, 0);
self->output_dir = Option::output_dir;
- if(!Option::recursive || (!Option::output.fileName().endsWith(Option::dir_sep) && !QFileInfo(Option::output).isDir()))
- self->output_file = Option::output.fileName();
+ if (!Option::recursive || (!Option::output.fileName().endsWith(Option::dir_sep) && !QFileInfo(Option::output).isDir()))
+ self->output_file = Option::output.fileName();
self->makefile = new BuildsMetaMakefileGenerator(project, name, false);
self->makefile->init();
subs.append(self);
@@ -665,17 +663,18 @@ bool SymbianSubdirsMetaMakefileGenerator::init()
return true;
}
-QStringList SymbianSubdirsMetaMakefileGenerator::calculateRelativePaths(QString mmpParent, QStringList mmpChildren) {
+QStringList SymbianSubdirsMetaMakefileGenerator::calculateRelativePaths(QString mmpParent, QStringList mmpChildren)
+{
QStringList mmpRelativePaths;
QString parentDir = mmpPaths.value(mmpParent);
QDir directory(parentDir);
- for(int i = 0; i < mmpChildren.size(); ++i) {
+ for (int i = 0; i < mmpChildren.size(); ++i) {
QString childDir = mmpPaths.value(mmpChildren.at(i));
- if(mmpChildren.at(i) == mmpParent)
+ if (mmpChildren.at(i) == mmpParent)
mmpRelativePaths.append(mmpChildren.at(i));
else {
QString relativePath = directory.relativeFilePath(childDir);
- if(relativePath.startsWith(".."))
+ if (relativePath.startsWith(".."))
mmpRelativePaths.append(childDir);
else
directory.relativeFilePath(relativePath);
@@ -750,15 +749,15 @@ MetaMakefileGenerator *
MetaMakefileGenerator::createMetaGenerator(QMakeProject *proj, const QString &name, bool op)
{
MetaMakefileGenerator *ret = 0;
- if((Option::qmake_mode == Option::QMAKE_GENERATE_MAKEFILE ||
- Option::qmake_mode == Option::QMAKE_GENERATE_PRL)) {
- if(proj->first("MAKEFILE_GENERATOR").startsWith("SYMBIAN") && proj->values("TEMPLATE").contains("subdirs")) {
+ if ((Option::qmake_mode == Option::QMAKE_GENERATE_MAKEFILE ||
+ Option::qmake_mode == Option::QMAKE_GENERATE_PRL)) {
+ if (proj->first("MAKEFILE_GENERATOR").startsWith("SYMBIAN") && proj->values("TEMPLATE").contains("subdirs")) {
// new metamakefilegenerator type to support subdirs for symbian related projects
ret = new SymbianSubdirsMetaMakefileGenerator(proj, name, op);
} else if (proj->first("TEMPLATE").endsWith("subdirs"))
ret = new SubdirsMetaMakefileGenerator(proj, name, op);
}
- if(!ret)
+ if (!ret)
ret = new BuildsMetaMakefileGenerator(proj, name, op);
ret->init();
return ret;
diff --git a/qmake/generators/symbian/initprojectdeploy_symbian.cpp b/qmake/generators/symbian/initprojectdeploy_symbian.cpp
index 8e3e20b..392eca2 100644
--- a/qmake/generators/symbian/initprojectdeploy_symbian.cpp
+++ b/qmake/generators/symbian/initprojectdeploy_symbian.cpp
@@ -1,9 +1,9 @@
/****************************************************************************
**
-** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
-** This file is part of the $MODULE$ of the Qt Toolkit.
+** This file is part of the qmake application of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
@@ -45,15 +45,20 @@
#include <qdebug.h>
#define PLUGIN_STUB_DIR "qmakepluginstubs"
+#define SYSBIN_DIR "\\sys\\bin"
+
+#define SUFFIX_DLL "dll"
+#define SUFFIX_EXE "exe"
+#define SUFFIX_QTPLUGIN "qtplugin"
static bool isPlugin(const QFileInfo& info, const QString& devicePath)
{
// Libraries are plugins if deployment path is something else than
- // \\sys\\bin or x:\\sys\\bin
- if (0 == info.suffix().compare(QLatin1String("dll")) &&
- (devicePath.size() < 8 ||
- (0 != devicePath.compare(QLatin1String("\\sys\\bin")) &&
- 0 != devicePath.mid(1).compare(QLatin1String(":\\sys\\bin"))))) {
+ // SYSBIN_DIR with or without drive letter
+ if (0 == info.suffix().compare(QLatin1String(SUFFIX_DLL), Qt::CaseInsensitive) &&
+ (devicePath.size() < 8 ||
+ (0 != devicePath.compare(QLatin1String(SYSBIN_DIR), Qt::CaseInsensitive) &&
+ 0 != devicePath.mid(1).compare(QLatin1String(":" SYSBIN_DIR), Qt::CaseInsensitive)))) {
return true;
} else {
return false;
@@ -62,8 +67,8 @@ static bool isPlugin(const QFileInfo& info, const QString& devicePath)
static bool isBinary(const QFileInfo& info)
{
- if (0 == info.suffix().compare(QLatin1String("dll")) ||
- 0 == info.suffix().compare(QLatin1String("exe"))) {
+ if (0 == info.suffix().compare(QLatin1String(SUFFIX_DLL), Qt::CaseInsensitive) ||
+ 0 == info.suffix().compare(QLatin1String(SUFFIX_EXE), Qt::CaseInsensitive)) {
return true;
} else {
return false;
@@ -74,27 +79,28 @@ static void createPluginStub(const QFileInfo& info,
const QString& devicePath,
DeploymentList &deploymentList,
QStringList& generatedDirs,
- QStringList& generatedFiles) {
+ QStringList& generatedFiles)
+{
QDir().mkpath(QLatin1String(PLUGIN_STUB_DIR "\\"));
if (!generatedDirs.contains(PLUGIN_STUB_DIR))
generatedDirs << PLUGIN_STUB_DIR;
// Plugin stubs must have different name from the actual plugins, because
// the toolchain for creating ROM images cannot handle non-binary .dll files properly.
- QFile stubFile(QLatin1String(PLUGIN_STUB_DIR "\\") + info.completeBaseName() + ".qtplugin");
- if(stubFile.open(QIODevice::WriteOnly)) {
+ QFile stubFile(QLatin1String(PLUGIN_STUB_DIR "\\") + info.completeBaseName() + "." SUFFIX_QTPLUGIN);
+ if (stubFile.open(QIODevice::WriteOnly)) {
if (!generatedFiles.contains(stubFile.fileName()))
generatedFiles << stubFile.fileName();
QTextStream t(&stubFile);
// Add note to stub so that people will not wonder what it is.
// Creation date is added to make new stub to deploy always to
// force plugin cache miss when loading plugins.
- t << "This file is a Qt plugin stub file. The real Qt plugin is located in \\sys\\bin. Created:" << QDateTime::currentDateTime().toString(Qt::ISODate) << "\n";
+ t << "This file is a Qt plugin stub file. The real Qt plugin is located in " SYSBIN_DIR ". Created:" << QDateTime::currentDateTime().toString(Qt::ISODate) << "\n";
} else {
fprintf(stderr, "cannot deploy \"%s\" because of plugin stub file creation failed\n", info.fileName().toLatin1().constData());
}
QFileInfo stubInfo(stubFile);
deploymentList.append(CopyItem(Option::fixPathToLocalOS(stubInfo.absoluteFilePath()),
- Option::fixPathToLocalOS(devicePath + "\\" + stubInfo.fileName())));
+ Option::fixPathToLocalOS(devicePath + "\\" + stubInfo.fileName())));
}
void initProjectDeploySymbian(QMakeProject* project,
@@ -110,7 +116,7 @@ void initProjectDeploySymbian(QMakeProject* project,
if (targetPath.isEmpty())
targetPath = testPath;
if (targetPath.endsWith("/") || targetPath.endsWith("\\"))
- targetPath = targetPath.mid(0,targetPath.size()-1);
+ targetPath = targetPath.mid(0, targetPath.size() - 1);
bool targetPathHasDriveLetter = false;
if (targetPath.size() > 1) {
@@ -121,9 +127,9 @@ void initProjectDeploySymbian(QMakeProject* project,
foreach(QString item, project->values("DEPLOYMENT")) {
QString devicePath = project->first(item + ".path");
if (!deployBinaries
- && !devicePath.isEmpty()
- && (0 == devicePath.compare(project->values("APP_RESOURCE_DIR").join(""))
- || 0 == devicePath.compare(project->values("REG_RESOURCE_IMPORT_DIR").join("")))) {
+ && !devicePath.isEmpty()
+ && (0 == devicePath.compare(project->values("APP_RESOURCE_DIR").join(""), Qt::CaseInsensitive)
+ || 0 == devicePath.compare(project->values("REG_RESOURCE_IMPORT_DIR").join(""), Qt::CaseInsensitive))) {
// Do not deploy resources in emulator builds, as that seems to cause conflicts
// If there is ever a real need to deploy pre-built resources for emulator,
// BLD_INF_RULES.prj_exports can be used as a workaround.
@@ -140,14 +146,14 @@ void initProjectDeploySymbian(QMakeProject* project,
}
// check if item.path is relative (! either / or \)
else if (!(devicePath.at(0) == QLatin1Char('/')
- || devicePath.at(0) == QLatin1Char('\\')
- || devicePathHasDriveLetter)) {
+ || devicePath.at(0) == QLatin1Char('\\')
+ || devicePathHasDriveLetter)) {
// create output path
devicePath = Option::fixPathToLocalOS(QDir::cleanPath(targetPath + QLatin1Char('\\') + devicePath));
} else {
- if (0 == platform.compare(QLatin1String("winscw"))) {
+ if (0 == platform.compare(QLatin1String("winscw"), Qt::CaseInsensitive)) {
if (devicePathHasDriveLetter) {
- devicePath = epocRoot() + "epoc32\\winscw\\" + devicePath.remove(1,1);
+ devicePath = epocRoot() + "epoc32\\winscw\\" + devicePath.remove(1, 1);
} else {
devicePath = epocRoot() + "epoc32\\winscw\\c" + devicePath;
}
@@ -162,13 +168,13 @@ void initProjectDeploySymbian(QMakeProject* project,
devicePath.replace(QLatin1String("/"), QLatin1String("\\"));
if (!deployBinaries &&
- 0 == devicePath.right(8).compare(QLatin1String("\\sys\\bin"))) {
- // Skip deploying to \\sys\\bin for anything but binary deployments
- // Note: Deploying pre-built binaries also follow this rule, so emulator builds
- // will not get those deployed. Since there is no way to differentiate currently
- // between pre-built binaries for emulator and HW anyway, this is not a major issue.
- continue;
- }
+ 0 == devicePath.right(8).compare(QLatin1String(SYSBIN_DIR), Qt::CaseInsensitive)) {
+ // Skip deploying to SYSBIN_DIR for anything but binary deployments
+ // Note: Deploying pre-built binaries also follow this rule, so emulator builds
+ // will not get those deployed. Since there is no way to differentiate currently
+ // between pre-built binaries for emulator and HW anyway, this is not a major issue.
+ continue;
+ }
foreach(QString source, project->values(item + ".sources")) {
source = Option::fixPathToLocalOS(source);
@@ -193,7 +199,7 @@ void initProjectDeploySymbian(QMakeProject* project,
// Executables and libraries are deployed to \sys\bin
QFileInfo releasePath(epocRoot() + "epoc32\\release\\" + platform + "\\" + build + "\\");
deploymentList.append(CopyItem(Option::fixPathToLocalOS(releasePath.absolutePath() + "\\" + info.fileName()),
- Option::fixPathToLocalOS(deploymentDrive + QLatin1String("\\sys\\bin\\") + info.fileName())));
+ Option::fixPathToLocalOS(deploymentDrive + QLatin1String(SYSBIN_DIR "\\") + info.fileName())));
}
if (isPlugin(info, devicePath)) {
createPluginStub(info, devicePath, deploymentList, generatedDirs, generatedFiles);
@@ -203,7 +209,7 @@ void initProjectDeploySymbian(QMakeProject* project,
// Generate deployment even if file doesn't exist, as this may be the case
// when generating .pkg files.
deploymentList.append(CopyItem(Option::fixPathToLocalOS(info.absoluteFilePath()),
- Option::fixPathToLocalOS(devicePath + "\\" + info.fileName())));
+ Option::fixPathToLocalOS(devicePath + "\\" + info.fileName())));
continue;
}
}
@@ -212,9 +218,9 @@ void initProjectDeploySymbian(QMakeProject* project,
int pathSize = info.absolutePath().size();
QDirIterator iterator(searchPath, QStringList() << nameFilter
, QDir::Files | QDir::NoDotAndDotDot | QDir::NoSymLinks
- , dirSearch ? QDirIterator::Subdirectories : QDirIterator::NoIteratorFlags );
+ , dirSearch ? QDirIterator::Subdirectories : QDirIterator::NoIteratorFlags);
- while(iterator.hasNext()) {
+ while (iterator.hasNext()) {
iterator.next();
QFileInfo iteratorInfo(iterator.filePath());
QString absoluteItemPath = Option::fixPathToLocalOS(iteratorInfo.absolutePath());
@@ -223,16 +229,16 @@ void initProjectDeploySymbian(QMakeProject* project,
if (!iteratorInfo.isDir()) {
if (isPlugin(iterator.fileInfo(), devicePath)) {
// This deploys pre-built plugins. Other pre-built binaries will deploy normally,
- // as they have \sys\bin target path.
+ // as they have SYSBIN_DIR target path.
if (deployBinaries) {
deploymentList.append(CopyItem(Option::fixPathToLocalOS(absoluteItemPath + "\\" + iterator.fileName()),
- Option::fixPathToLocalOS(deploymentDrive + QLatin1String("\\sys\\bin\\") + iterator.fileName())));
+ Option::fixPathToLocalOS(deploymentDrive + QLatin1String(SYSBIN_DIR "\\") + iterator.fileName())));
}
createPluginStub(info, devicePath + "\\" + absoluteItemPath.right(diffSize), deploymentList, generatedDirs, generatedFiles);
continue;
} else {
deploymentList.append(CopyItem(Option::fixPathToLocalOS(absoluteItemPath + "\\" + iterator.fileName()),
- Option::fixPathToLocalOS(devicePath + "\\" + absoluteItemPath.right(diffSize) + "\\" + iterator.fileName())));
+ Option::fixPathToLocalOS(devicePath + "\\" + absoluteItemPath.right(diffSize) + "\\" + iterator.fileName())));
}
}
}
diff --git a/qmake/generators/symbian/initprojectdeploy_symbian.h b/qmake/generators/symbian/initprojectdeploy_symbian.h
index 0aad431..a104985 100644
--- a/qmake/generators/symbian/initprojectdeploy_symbian.h
+++ b/qmake/generators/symbian/initprojectdeploy_symbian.h
@@ -1,9 +1,9 @@
/****************************************************************************
**
-** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
-** This file is part of the $MODULE$ of the Qt Toolkit.
+** This file is part of the qmake application of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
@@ -66,4 +66,5 @@ extern void initProjectDeploySymbian(QMakeProject* project,
const QString &build,
QStringList& generatedDirs,
QStringList& generatedFiles);
-#endif // INITPROJECTDEPLOYSYMBIAN_H \ No newline at end of file
+
+#endif // INITPROJECTDEPLOYSYMBIAN_H
diff --git a/qmake/generators/symbian/symmake.cpp b/qmake/generators/symbian/symmake.cpp
index 1f22c70..b3fa0f2 100644
--- a/qmake/generators/symbian/symmake.cpp
+++ b/qmake/generators/symbian/symmake.cpp
@@ -1,9 +1,9 @@
/****************************************************************************
**
-** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
-** This file is part of the $MODULE$ of the Qt Toolkit.
+** This file is part of the qmake application of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
@@ -62,24 +62,17 @@
#define BLD_INF_TAG_MMPFILES "prj_mmpfiles"
#define BLD_INF_TAG_TESTMMPFILES "prj_testmmpfiles"
#define BLD_INF_TAG_EXTENSIONS "prj_extensions"
+
#define RSS_RULES "RSS_RULES"
#define RSS_RULES_BASE "RSS_RULES."
#define RSS_TAG_NBROFICONS "number_of_icons"
#define RSS_TAG_ICONFILE "icon_file"
-#define DUMP_VAR(v) \
-{ \
- QString s(v); \
- QStringList list = project->values(s); \
- printf("----------------------------------\n", qPrintable(s)); \
- printf("Dumping %s (%d items) from %s, %d\n", \
- qPrintable(s), \
- list.count(), \
- __FILE__, \
- __LINE__); \
- foreach(QString l, list) \
- printf("\t%s\n", qPrintable(l)); \
-}
+#define MMP_TARGET "TARGET"
+#define MMP_TARGETTYPE "TARGETTYPE"
+#define MMP_SECUREID "SECUREID"
+
+#define PRINT_FILE_CREATE_ERROR(filename) fprintf(stderr, "Error: Could not create '%s'\n", qPrintable(filename));
QString SymbianMakefileGenerator::fixPathForMmp(const QString& origPath, const QDir& parentDir)
{
@@ -129,7 +122,7 @@ QString SymbianMakefileGenerator::canonizePath(const QString& origPath)
resultPath = QDir::fromNativeSeparators(epocRoot()) + resultPath.mid(1);
QFileInfo fi(fileInfo(resultPath));
- if(fi.isDir()) {
+ if (fi.isDir()) {
resultPath = fi.canonicalFilePath();
} else {
resultPath = fi.canonicalPath();
@@ -163,7 +156,7 @@ void SymbianMakefileGenerator::writeHeader(QTextStream &t)
QString shortProFilename = project->projectFile();
shortProFilename.replace(0, shortProFilename.lastIndexOf("/") + 1, QString(""));
- shortProFilename.replace(QString(".pro"), QString(""));
+ shortProFilename.replace(Option::pro_ext, QString(""));
QString bldinfDefine = shortProFilename;
bldinfDefine.append("_");
@@ -189,7 +182,7 @@ bool SymbianMakefileGenerator::writeMakefile(QTextStream &t)
// Generate pkg files if there are any actual files to deploy
bool generatePkg = false;
- if (getTargetExtension() == "exe") {
+ if (targetType == TypeExe) {
generatePkg = true;
} else {
foreach(QString item, project->values("DEPLOYMENT")) {
@@ -203,7 +196,7 @@ bool SymbianMakefileGenerator::writeMakefile(QTextStream &t)
if (generatePkg) {
QStringList platformList = project->values("SYMBIAN_PLATFORMS");
foreach(QString platform, platformList) {
- if(platform.compare("WINSCW", Qt::CaseInsensitive)) {
+ if (platform.compare("WINSCW", Qt::CaseInsensitive)) {
generatePkgFile(platform.toLower(), "udeb", iconFile);
generatePkgFile(platform.toLower(), "urel", iconFile);
}
@@ -223,41 +216,39 @@ bool SymbianMakefileGenerator::writeMakefile(QTextStream &t)
}
QFile wrapperMakefile(wrapperFileName);
- if(wrapperMakefile.open(QIODevice::WriteOnly)) {
+ if (wrapperMakefile.open(QIODevice::WriteOnly)) {
generatedFiles << wrapperFileName;
} else {
- fprintf(stderr, "Error: Could not open wrapper makefile '%s'\n", qPrintable(wrapperFileName));
+ PRINT_FILE_CREATE_ERROR(wrapperFileName);
return false;
}
- if (getTargetExtension() == "subdirs") {
- // If we have something to deploy, generate extension makefile for just that, since
- // normal extension makefile is not getting generated and we need emulator deployment to be done.
- if (generatePkg)
- writeMkFile(wrapperFileName, true);
- writeWrapperMakefile(wrapperMakefile, isPrimaryMakefile);
- return true;
- }
+ if (targetType == TypeSubdirs) {
+ // If we have something to deploy, generate extension makefile for just that, since
+ // normal extension makefile is not getting generated and we need emulator deployment to be done.
+ if (generatePkg)
+ writeMkFile(wrapperFileName, true);
+ writeWrapperMakefile(wrapperMakefile, isPrimaryMakefile);
+ return true;
+ }
writeMkFile(wrapperFileName, false);
QString shortProFilename = project->projectFile();
shortProFilename.replace(0, shortProFilename.lastIndexOf("/") + 1, QString(""));
- shortProFilename.replace(QString(".pro"), QString(""));
+ shortProFilename.replace(Option::pro_ext, QString(""));
QString mmpFilename = shortProFilename;
mmpFilename.append("_");
mmpFilename.append(uid3);
- mmpFilename.append(".mmp");
+ mmpFilename.append(Option::mmp_ext);
writeMmpFile(mmpFilename, symbianLangCodes);
- if (getTargetExtension() == "exe") {
+ if (targetType == TypeExe) {
if (!project->values("CONFIG").contains("no_icon", Qt::CaseInsensitive)) {
- QString appname = escapeFilePath(fileFixify(project->first("TARGET")));
- appname = removePathSeparators(appname);
- writeRegRssFile(appname, userRssRules);
- writeRssFile(appname, numberOfIcons, iconFile);
- writeLocFile(appname, symbianLangCodes);
+ writeRegRssFile(fixedTarget, userRssRules);
+ writeRssFile(fixedTarget, numberOfIcons, iconFile);
+ writeLocFile(fixedTarget, symbianLangCodes);
}
}
@@ -267,17 +258,19 @@ bool SymbianMakefileGenerator::writeMakefile(QTextStream &t)
return true;
}
-bool SymbianMakefileGenerator::generatePkgFile(const QString &compiler, const QString &config, const QString &iconFile)
+void SymbianMakefileGenerator::generatePkgFile(const QString &compiler, const QString &config, const QString &iconFile)
{
- QString build = ( config == "udeb" ) ? "debug" : "release";
+ QString build = (config == "udeb") ? "debug" : "release";
QString pkgFilename = QString("%1_%2-%3.%4")
.arg(fileInfo(project->projectFile()).completeBaseName())
.arg(build)
.arg(compiler)
.arg("pkg");
QFile pkgFile(pkgFilename);
- if (!pkgFile.open(QIODevice::WriteOnly | QIODevice::Text))
- return false;
+ if (!pkgFile.open(QIODevice::WriteOnly | QIODevice::Text)) {
+ PRINT_FILE_CREATE_ERROR(pkgFilename);
+ return;
+ }
generatedFiles << pkgFile.fileName();
@@ -294,7 +287,7 @@ bool SymbianMakefileGenerator::generatePkgFile(const QString &compiler, const QS
QStringList pkgrulesValue = project->values(pkgrulesItem);
// If there is no stringlist defined for a rule, use rule name directly
// This is convenience for defining single line mmp statements
- if (pkgrulesValue.isEmpty()){
+ if (pkgrulesValue.isEmpty()) {
rawPkgPreRules << pkgrulesItem;
} else {
foreach(QString pkgrule, pkgrulesValue) {
@@ -306,41 +299,38 @@ bool SymbianMakefileGenerator::generatePkgFile(const QString &compiler, const QS
// Apply some defaults if specific data does not exist in PKG pre-rules
- if(!containsStartWithItem('&', rawPkgPreRules)) {
+ if (!containsStartWithItem('&', rawPkgPreRules)) {
// language, (*** hardcoded to english atm, should be parsed from TRANSLATIONS)
t << "; Language" << endl;
t << "&EN" << endl << endl;
} else {
// In case user defines langs, he must take care also about SIS header
- if(!containsStartWithItem('#', rawPkgPreRules))
+ if (!containsStartWithItem('#', rawPkgPreRules))
fprintf(stderr, "Warning: If language is defined with DEPLOYMENT pkg_prerules, also the SIS header must be defined\n");
}
// name of application, UID and version
- QString applicationName = project->first("TARGET");
- int last = applicationName.lastIndexOf(QLatin1Char('/'));
- applicationName = applicationName.mid( last == -1 ? 0 : last+1 );
QString applicationVersion = project->first("VERSION").isEmpty() ? "1,0,0" : project->first("VERSION").replace('.', ',');
- if(!containsStartWithItem('#', rawPkgPreRules)) {
+ if (!containsStartWithItem('#', rawPkgPreRules)) {
t << "; SIS header: name, uid, version" << endl;
- t << QString("#{\"%1\"},(%2),%3").arg(applicationName).arg(uid3).arg(applicationVersion) << endl << endl;
+ t << QString("#{\"%1\"},(%2),%3").arg(fixedTarget).arg(uid3).arg(applicationVersion) << endl << endl;
}
// Localized vendor name
- if(!containsStartWithItem('%', rawPkgPreRules)) {
+ if (!containsStartWithItem('%', rawPkgPreRules)) {
t << "; Localised Vendor name" << endl;
t << "%{\"Vendor\"}" << endl << endl;
}
// Unique vendor name
- if(!containsStartWithItem(':', rawPkgPreRules)) {
+ if (!containsStartWithItem(':', rawPkgPreRules)) {
t << "; Unique Vendor name" << endl;
t << ":\"Vendor\"" << endl << endl;
}
// PKG pre-rules - these are added before actual file installations i.e. SISX package body
- if(rawPkgPreRules.size()) {
+ if (rawPkgPreRules.size()) {
t << "; Manual PKG pre-rules from PRO files" << endl;
foreach(QString item, rawPkgPreRules) {
t << item << endl;
@@ -360,10 +350,10 @@ bool SymbianMakefileGenerator::generatePkgFile(const QString &compiler, const QS
.arg(config);
- if (getTargetExtension() == "exe") {
+ if (targetType == TypeExe) {
// deploy .exe file
t << "; Executable and default resource files" << endl;
- QString exeFile = applicationName + ".exe";
+ QString exeFile = fixedTarget + ".exe";
t << QString("\"%1/%2\" - \"%3\\%4\"")
.arg(epocReleasePath)
.arg(exeFile)
@@ -374,24 +364,24 @@ bool SymbianMakefileGenerator::generatePkgFile(const QString &compiler, const QS
if (!project->values("CONFIG").contains("no_icon", Qt::CaseInsensitive)) {
t << QString("\"%1epoc32/data/z/resource/apps/%2\" - \"%3\\%4\"")
.arg(epocRoot())
- .arg(applicationName + ".rsc")
+ .arg(fixedTarget + ".rsc")
.arg(installPathResource)
- .arg(applicationName + ".rsc") << endl;
+ .arg(fixedTarget + ".rsc") << endl;
t << QString("\"%1epoc32/data/z/private/10003a3f/import/apps/%2\" - \"%3\\%4\"")
.arg(epocRoot())
- .arg(applicationName + "_reg.rsc")
+ .arg(fixedTarget + "_reg.rsc")
.arg(installPathRegResource)
- .arg(applicationName + "_reg.rsc") << endl;
+ .arg(fixedTarget + "_reg.rsc") << endl;
QString myIconFile = iconFile;
myIconFile = myIconFile.replace("\\\\", "\\");
if (!iconFile.isEmpty()) {
t << QString("\"%1epoc32/data/z%2\" - \"!:%3\"")
- .arg(epocRoot())
- .arg(QString(myIconFile).replace('\\','/'))
- .arg(myIconFile) << endl << endl;
+ .arg(epocRoot())
+ .arg(QString(myIconFile).replace('\\','/'))
+ .arg(myIconFile) << endl << endl;
}
}
}
@@ -401,10 +391,10 @@ bool SymbianMakefileGenerator::generatePkgFile(const QString &compiler, const QS
QString remoteTestPath;
remoteTestPath = QString("!:\\private\\%1").arg(privateDirUid);
- initProjectDeploySymbian( project, depList, remoteTestPath, true, compiler, config, generatedDirs, generatedFiles );
+ initProjectDeploySymbian(project, depList, remoteTestPath, true, compiler, config, generatedDirs, generatedFiles);
if (depList.size())
t << "; DEPLOYMENT" << endl;
- for (int i=0; i<depList.size(); ++i) {
+ for (int i = 0; i < depList.size(); ++i) {
t << QString("\"%1\" - \"%2\"")
.arg(QString(depList.at(i).from).replace('\\','/'))
.arg(depList.at(i).to) << endl;
@@ -418,7 +408,7 @@ bool SymbianMakefileGenerator::generatePkgFile(const QString &compiler, const QS
QStringList pkgrulesValue = project->values(pkgrulesItem);
// If there is no stringlist defined for a rule, use rule name directly
// This is convenience for defining single line statements
- if (pkgrulesValue.isEmpty()){
+ if (pkgrulesValue.isEmpty()) {
t << pkgrulesItem << endl;
} else {
foreach(QString pkgrule, pkgrulesValue) {
@@ -428,29 +418,27 @@ bool SymbianMakefileGenerator::generatePkgFile(const QString &compiler, const QS
t << endl;
}
}
-
- return true;
}
bool SymbianMakefileGenerator::containsStartWithItem(const QChar &c, const QStringList& src)
{
- bool result = false;
- foreach (QString str, src) {
- if (str.startsWith(c)) {
- result = true;
- break;
+ bool result = false;
+ foreach(QString str, src) {
+ if (str.startsWith(c)) {
+ result = true;
+ break;
}
- }
- return result;
+ }
+ return result;
}
-bool SymbianMakefileGenerator::writeCustomDefFile()
+void SymbianMakefileGenerator::writeCustomDefFile()
{
- if(targetType.compare("plugin", Qt::CaseInsensitive) == 0 && !project->values("CONFIG").contains("stdbinary", Qt::CaseInsensitive)) {
+ if (targetType == TypePlugin && !project->values("CONFIG").contains("stdbinary", Qt::CaseInsensitive)) {
// Create custom def file for plugin
QFile ft(QLatin1String(PLUGIN_COMMON_DEF_FILE_ACTUAL));
- if(ft.open(QIODevice::WriteOnly)) {
+ if (ft.open(QIODevice::WriteOnly)) {
generatedFiles << ft.fileName();
QTextStream t(&ft);
@@ -473,26 +461,24 @@ bool SymbianMakefileGenerator::writeCustomDefFile()
t << "\tqt_plugin_instance @ 2 NONAME" << endl;
t << endl;
} else {
- return false;
+ PRINT_FILE_CREATE_ERROR(QString(PLUGIN_COMMON_DEF_FILE_ACTUAL))
}
}
-
- return true;
}
void SymbianMakefileGenerator::init()
{
MakefileGenerator::init();
+ fixedTarget = escapeFilePath(fileFixify(project->first("TARGET")));
+ fixedTarget = removePathSeparators(fixedTarget);
- if(0 != project->values("QMAKE_PLATFORM").size())
+ if (0 != project->values("QMAKE_PLATFORM").size())
platform = varGlue("QMAKE_PLATFORM", "", " ", "");
- if(0 == project->values("QMAKESPEC").size())
+ if (0 == project->values("QMAKESPEC").size())
project->values("QMAKESPEC").append(qgetenv("QMAKESPEC"));
- if(!isConfigSetToSymbian())
- project->values("QMAKE_LIBS") += escapeFilePaths(project->values("LIBS"));
-
+ project->values("QMAKE_LIBS") += escapeFilePaths(project->values("LIBS"));
// bld.inf
project->values("MAKEFILE") += BLD_INF_FILENAME;
@@ -501,40 +487,40 @@ void SymbianMakefileGenerator::init()
initMmpVariables();
// Check TARGET.UID2 and TARGET.UID3 presence
- if(0 != project->values("TARGET.UID3").size()) {
+ if (0 != project->values("TARGET.UID3").size()) {
uid3 = project->first("TARGET.UID3");
} else {
uid3 = generateUID3();
}
- if((project->values("TEMPLATE")).contains("app"))
- targetType = "exe";
- else if((project->values("TEMPLATE")).contains("lib")) {
+ if ((project->values("TEMPLATE")).contains("app"))
+ targetType = TypeExe;
+ else if ((project->values("TEMPLATE")).contains("lib")) {
// Check CONFIG to see if we are to build staticlib or dll
- if(project->values("CONFIG").contains("staticlib") || project->values("CONFIG").contains("static"))
- targetType = "staticlib";
+ if (project->values("CONFIG").contains("staticlib") || project->values("CONFIG").contains("static"))
+ targetType = TypeLib;
else if (project->values("CONFIG").contains("plugin"))
- targetType = "plugin";
+ targetType = TypePlugin;
else
- targetType = "dll";
+ targetType = TypeDll;
+ } else {
+ targetType = TypeSubdirs;
}
- else
- targetType = "subdirs";
- if(0 != project->values("TARGET.UID2").size()) {
+ if (0 != project->values("TARGET.UID2").size()) {
uid2 = project->first("TARGET.UID2");
} else if (project->values("CONFIG").contains("stdbinary", Qt::CaseInsensitive)) {
uid2 = "0x20004C45";
} else {
- if(getTargetExtension() == "exe") {
- if(project->values("QT").contains("gui", Qt::CaseInsensitive)) {
+ if (targetType == TypeExe) {
+ if (project->values("QT").contains("gui", Qt::CaseInsensitive)) {
// exe and gui -> uid2 needed
uid2 = "0x100039CE";
} else {
// exe but not gui: uid2 is ignored anyway -> set it to 0
uid2 = "0";
}
- } else if(getTargetExtension() == "dll" || getTargetExtension() == "lib") {
+ } else if (targetType == TypeDll || targetType == TypeLib || targetType == TypePlugin) {
uid2 = "0x1000008d";
}
}
@@ -548,25 +534,25 @@ void SymbianMakefileGenerator::init()
uint uidNum = uid3.toUInt(&conversionOk, 0);
if (!conversionOk) {
- fprintf(stderr, "Error: Invalid UID \"%s\".", uid3.toUtf8().constData());
+ fprintf(stderr, "Error: Invalid UID \"%s\".\n", uid3.toUtf8().constData());
} else {
privateDirUid.setNum(uidNum, 16);
while (privateDirUid.length() < 8)
- privateDirUid.insert(0,QLatin1Char('0'));
+ privateDirUid.insert(0, QLatin1Char('0'));
}
}
QString SymbianMakefileGenerator::getTargetExtension()
{
QString ret;
- if(targetType.compare("exe", Qt::CaseInsensitive) == 0 || targetType.compare("app", Qt::CaseInsensitive) == 0) {
+ if (targetType == TypeExe) {
ret.append("exe");
- } else if (targetType.compare("staticlib",Qt::CaseInsensitive) == 0) {
+ } else if (targetType == TypeLib) {
ret.append("lib");
- } else if (targetType.compare("dll", Qt::CaseInsensitive) == 0 || targetType.compare("plugin", Qt::CaseInsensitive) == 0) {
+ } else if (targetType == TypeDll || targetType == TypePlugin) {
ret.append("dll");
- } else if (targetType.compare("subdirs", Qt::CaseInsensitive) == 0) {
- ret.append("subdirs");
+ } else if (targetType == TypeSubdirs) {
+ // Not actually usable, so return empty
} else {
// If nothing else set, default to exe
ret.append("exe");
@@ -575,11 +561,6 @@ QString SymbianMakefileGenerator::getTargetExtension()
return ret;
}
-bool SymbianMakefileGenerator::isConfigSetToSymbian()
-{
- return project->values("CONFIG").contains("symbian", Qt::CaseInsensitive);
-}
-
QString SymbianMakefileGenerator::generateUID3()
{
QString target = project->first("TARGET");
@@ -588,7 +569,7 @@ QString SymbianMakefileGenerator::generateUID3()
return generate_test_uid(target);
}
-bool SymbianMakefileGenerator::initMmpVariables()
+void SymbianMakefileGenerator::initMmpVariables()
{
QStringList sysincspaths;
QStringList srcincpaths;
@@ -601,12 +582,12 @@ bool SymbianMakefileGenerator::initMmpVariables()
QDir current = QDir::current();
QString canonizedCurrent = canonizePath(".");
- for(int j = 0; j < srcpaths.size(); ++j) {
+ for (int j = 0; j < srcpaths.size(); ++j) {
QFileInfo fi(fileInfo(srcpaths.at(j)));
// Sometimes sources have other than *.c* files (e.g. *.moc); prune them.
if (fi.suffix().startsWith("c")) {
- if(fi.filePath().length() > fi.fileName().length() ) {
- appendIfnotExist(srcincpaths, fi.path() );
+ if (fi.filePath().length() > fi.fileName().length()) {
+ appendIfnotExist(srcincpaths, fi.path());
sources[canonizePath(fi.path())] += fi.fileName();
} else {
sources[canonizedCurrent] += fi.fileName();
@@ -624,7 +605,7 @@ bool SymbianMakefileGenerator::initMmpVariables()
incpaths << project->values("UI_DIR");
QString epocPath("epoc32");
- for(int j = 0; j < incpaths.size(); ++j) {
+ for (int j = 0; j < incpaths.size(); ++j) {
QString includepath = canonizePath(incpaths.at(j));
appendIfnotExist(sysincspaths, includepath);
// As a workaround for Symbian toolchain insistence to treat include
@@ -640,18 +621,18 @@ bool SymbianMakefileGenerator::initMmpVariables()
// Remove duplicate include path entries
QStringList temporary;
- for(int i = 0; i < sysincspaths.size(); ++i) {
+ for (int i = 0; i < sysincspaths.size(); ++i) {
QString origPath = sysincspaths.at(i);
QFileInfo origPathInfo(fileInfo(origPath));
bool bFound = false;
- for(int j = 0; j < temporary.size(); ++j) {
+ for (int j = 0; j < temporary.size(); ++j) {
QString tmpPath = temporary.at(j);
QFileInfo tmpPathInfo(fileInfo(tmpPath));
- if(origPathInfo.absoluteFilePath() == tmpPathInfo.absoluteFilePath()) {
+ if (origPathInfo.absoluteFilePath() == tmpPathInfo.absoluteFilePath()) {
bFound = true;
- if(!tmpPathInfo.isRelative() && origPathInfo.isRelative()) {
+ if (!tmpPathInfo.isRelative() && origPathInfo.isRelative()) {
// We keep the relative notation
temporary.removeOne(tmpPath);
temporary << origPath;
@@ -659,7 +640,7 @@ bool SymbianMakefileGenerator::initMmpVariables()
}
}
- if(!bFound)
+ if (!bFound)
temporary << origPath;
}
@@ -668,17 +649,15 @@ bool SymbianMakefileGenerator::initMmpVariables()
sysincspaths << temporary;
systeminclude.insert("SYSTEMINCLUDE", sysincspaths);
-
- return true;
}
bool SymbianMakefileGenerator::removeDuplicatedStrings(QStringList& stringList)
{
QStringList tmpStringList;
- for(int i = 0; i < stringList.size(); ++i) {
+ for (int i = 0; i < stringList.size(); ++i) {
QString string = stringList.at(i);
- if(tmpStringList.contains(string))
+ if (tmpStringList.contains(string))
continue;
else
tmpStringList.append(string);
@@ -689,23 +668,21 @@ bool SymbianMakefileGenerator::removeDuplicatedStrings(QStringList& stringList)
return true;
}
-bool SymbianMakefileGenerator::writeMmpFileHeader(QTextStream &t)
+void SymbianMakefileGenerator::writeMmpFileHeader(QTextStream &t)
{
t << "// ==============================================================================" << endl;
t << "// Generated by qmake (" << qmake_version() << ") (Qt " << QT_VERSION_STR << ") on: ";
t << QDateTime::currentDateTime().toString(Qt::ISODate) << endl;
t << "// This file is generated by qmake and should not be modified by the" << endl;
t << "// user." << endl;
- t << "// Name : " << escapeFilePath(fileFixify(project->projectFile().remove(project->projectFile().length()-4,4))) << ".mmp" << endl;
+ t << "// Name : " << escapeFilePath(fileFixify(project->projectFile().remove(project->projectFile().length() - 4, 4))) << Option::mmp_ext << endl;
t << "// ==============================================================================" << endl << endl;
-
- return true;
}
-bool SymbianMakefileGenerator::writeMmpFile(QString &filename, QStringList &symbianLangCodes)
+void SymbianMakefileGenerator::writeMmpFile(QString &filename, QStringList &symbianLangCodes)
{
QFile ft(filename);
- if(ft.open(QIODevice::WriteOnly)) {
+ if (ft.open(QIODevice::WriteOnly)) {
generatedFiles << ft.fileName();
QTextStream t(&ft);
@@ -722,7 +699,7 @@ bool SymbianMakefileGenerator::writeMmpFile(QString &filename, QStringList &symb
QDir current = QDir::current();
- for(QMap<QString, QStringList>::iterator it = sources.begin(); it != sources.end(); ++it) {
+ for (QMap<QString, QStringList>::iterator it = sources.begin(); it != sources.end(); ++it) {
QStringList values = it.value();
QString currentSourcePath = it.key();
@@ -749,23 +726,18 @@ bool SymbianMakefileGenerator::writeMmpFile(QString &filename, QStringList &symb
writeMmpFileRulesPart(t);
} else {
- return false;
+ PRINT_FILE_CREATE_ERROR(filename)
}
-
- return true;
}
-bool SymbianMakefileGenerator::writeMmpFileMacrosPart(QTextStream& t)
+void SymbianMakefileGenerator::writeMmpFileMacrosPart(QTextStream& t)
{
t << endl;
- if(isConfigSetToSymbian())
- return true;
-
QStringList &defines = project->values("DEFINES");
if (defines.size())
t << "// Qt Macros" << endl;
- for(int i = 0; i < defines.size(); ++i) {
+ for (int i = 0; i < defines.size(); ++i) {
QString def = defines.at(i);
addMacro(t, def);
}
@@ -774,82 +746,77 @@ bool SymbianMakefileGenerator::writeMmpFileMacrosPart(QTextStream& t)
QStringList &exp_defines = project->values("PRL_EXPORT_DEFINES");
if (exp_defines.size())
t << endl << "// Qt Export Defines" << endl;
- for(int i = 0; i < exp_defines.size(); ++i) {
+ for (int i = 0; i < exp_defines.size(); ++i) {
QString def = exp_defines.at(i);
addMacro(t, def);
}
t << endl;
-
- return true;
}
-bool SymbianMakefileGenerator::addMacro(QTextStream& t, const QString& value)
+void SymbianMakefileGenerator::addMacro(QTextStream& t, const QString& value)
{
- t << "MACRO" << "\t\t" << value << endl;
- return true;
+ t << "MACRO" << "\t\t" << value << endl;
}
-bool SymbianMakefileGenerator::writeMmpFileTargetPart(QTextStream& t)
+void SymbianMakefileGenerator::writeMmpFileTargetPart(QTextStream& t)
{
- if(getTargetExtension() == "exe") {
- t << "TARGET" << "\t\t" << removePathSeparators(escapeFilePath(fileFixify(project->first("TARGET"))).append(".exe")) << "\n";
+ if (targetType == TypeExe) {
+ t << MMP_TARGET << "\t\t" << fixedTarget << ".exe" << endl;
if (project->values("CONFIG").contains("stdbinary", Qt::CaseInsensitive))
- t << "TARGETTYPE" << "\t\t" << "STDEXE" << endl;
+ t << MMP_TARGETTYPE << "\t\t" << "STDEXE" << endl;
else
- t << "TARGETTYPE" << "\t\t" << "EXE" << endl;
- } else if (getTargetExtension() == "dll"){
- t << "TARGET" << "\t\t" << removePathSeparators(escapeFilePath(fileFixify(project->first("TARGET"))).append(".dll")) << "\n";
+ t << MMP_TARGETTYPE << "\t\t" << "EXE" << endl;
+ } else if (targetType == TypeDll || targetType == TypePlugin) {
+ t << MMP_TARGET << "\t\t" << fixedTarget << ".dll" << endl;
if (project->values("CONFIG").contains("stdbinary", Qt::CaseInsensitive))
- t << "TARGETTYPE" << "\t\t" << "STDDLL" << endl;
+ t << MMP_TARGETTYPE << "\t\t" << "STDDLL" << endl;
else
- t << "TARGETTYPE" << "\t\t" << "DLL" << endl;
- } else if (getTargetExtension() == "lib"){
- t << "TARGET" << "\t\t" << removePathSeparators(escapeFilePath(fileFixify(project->first("TARGET"))).append(".lib")) << "\n";
+ t << MMP_TARGETTYPE << "\t\t" << "DLL" << endl;
+ } else if (targetType == TypeLib) {
+ t << MMP_TARGET << "\t\t" << fixedTarget << ".lib" << endl;
if (project->values("CONFIG").contains("stdbinary", Qt::CaseInsensitive))
- t << "TARGETTYPE" << "\t\t" << "STDLIB" << endl;
+ t << MMP_TARGETTYPE << "\t\t" << "STDLIB" << endl;
else
- t << "TARGETTYPE" << "\t\t" << "LIB" << endl;
+ t << MMP_TARGETTYPE << "\t\t" << "LIB" << endl;
} else {
- printf("unexpected target and targettype %s\n", getTargetExtension().toAscii().data());
+ fprintf(stderr, "Error: Unexpected targettype (%d) in SymbianMakefileGenerator::writeMmpFileTargetPart\n", targetType);
}
t << endl;
t << "UID" << "\t\t" << uid2 << " " << uid3 << endl;
- if(0 != project->values("TARGET.SID").size()) {
- t << "SECUREID" << "\t\t" << project->values("TARGET.SID").join(" ") << endl;
+ if (0 != project->values("TARGET.SID").size()) {
+ t << MMP_SECUREID << "\t\t" << project->values("TARGET.SID").join(" ") << endl;
} else {
- if(0 == uid3.size())
- t << "SECUREID" << "\t\t" << "0" << endl;
+ if (0 == uid3.size())
+ t << MMP_SECUREID << "\t\t" << "0" << endl;
else
- t << "SECUREID" << "\t\t" << uid3 << endl;
+ t << MMP_SECUREID << "\t\t" << uid3 << endl;
}
// default value used from mkspecs is 0
- if(0 != project->values("TARGET.VID").size()) {
+ if (0 != project->values("TARGET.VID").size()) {
t << "VENDORID" << "\t\t" << project->values("TARGET.VID").join(" ") << endl;
}
t << endl;
- if(0 != project->first("TARGET.EPOCSTACKSIZE").size())
+ if (0 != project->first("TARGET.EPOCSTACKSIZE").size())
t << "EPOCSTACKSIZE" << "\t\t" << project->first("TARGET.EPOCSTACKSIZE") << endl;
- if(0 != project->values("TARGET.EPOCHEAPSIZE").size())
+ if (0 != project->values("TARGET.EPOCHEAPSIZE").size())
t << "EPOCHEAPSIZE" << "\t\t" << project->values("TARGET.EPOCHEAPSIZE").join(" ") << endl;
- if(0 != project->values("TARGET.EPOCALLOWDLLDATA").size())
+ if (0 != project->values("TARGET.EPOCALLOWDLLDATA").size())
t << "EPOCALLOWDLLDATA" << endl;
- if(targetType.compare("plugin", Qt::CaseInsensitive) == 0 && !project->values("CONFIG").contains("stdbinary", Qt::CaseInsensitive)) {
+ if (targetType == TypePlugin && !project->values("CONFIG").contains("stdbinary", Qt::CaseInsensitive)) {
// Use custom def file for Qt plugins
t << "DEFFILE " PLUGIN_COMMON_DEF_FILE_FOR_MMP << endl;
}
t << endl;
-
- return true;
}
@@ -857,14 +824,12 @@ bool SymbianMakefileGenerator::writeMmpFileTargetPart(QTextStream& t)
Application registration resource files should be installed to the
\private\10003a3f\import\apps directory.
*/
-bool SymbianMakefileGenerator::writeMmpFileResourcePart(QTextStream& t, QStringList &symbianLangCodes)
+void SymbianMakefileGenerator::writeMmpFileResourcePart(QTextStream& t, QStringList &symbianLangCodes)
{
- if((getTargetExtension() == "exe") &&
- !project->values("CONFIG").contains("no_icon", Qt::CaseInsensitive)) {
- QString target = escapeFilePath(fileFixify(project->first("TARGET")));
- target = removePathSeparators(target);
+ if ((targetType == TypeExe) &&
+ !project->values("CONFIG").contains("no_icon", Qt::CaseInsensitive)) {
- QString locTarget = target;
+ QString locTarget = fixedTarget;
locTarget.append(".rss");
t << "SOURCEPATH\t\t\t. " << endl;
@@ -875,28 +840,26 @@ bool SymbianMakefileGenerator::writeMmpFileResourcePart(QTextStream& t, QStringL
t << endl;
t << "START RESOURCE\t\t" << locTarget << endl;
t << "HEADER" << endl;
- t << "TARGETPATH\t\t\t" RESOURCE_DIRECTORY_MMP<< endl;
+ t << "TARGETPATH\t\t\t" RESOURCE_DIRECTORY_MMP << endl;
t << "END" << endl << endl;
- QString regTarget = target;
+ QString regTarget = fixedTarget;
regTarget.append("_reg.rss");
t << "SOURCEPATH\t\t\t." << endl;
t << "START RESOURCE\t\t" << regTarget << endl;
if (isForSymbianSbsv2())
- t << "DEPENDS " << target << ".rsg" << endl;
+ t << "DEPENDS " << fixedTarget << ".rsg" << endl;
t << "TARGETPATH\t\t" REGISTRATION_RESOURCE_DIRECTORY_HW << endl;
t << "END" << endl << endl;
- }
- return true;
+ }
}
-bool SymbianMakefileGenerator::writeMmpFileSystemIncludePart(QTextStream& t)
+void SymbianMakefileGenerator::writeMmpFileSystemIncludePart(QTextStream& t)
{
-
QDir current = QDir::current();
- for(QMap<QString, QStringList>::iterator it = systeminclude.begin(); it != systeminclude.end(); ++it) {
+ for (QMap<QString, QStringList>::iterator it = systeminclude.begin(); it != systeminclude.end(); ++it) {
QStringList values = it.value();
for (int i = 0; i < values.size(); ++i) {
QString handledPath = values.at(i);
@@ -905,30 +868,25 @@ bool SymbianMakefileGenerator::writeMmpFileSystemIncludePart(QTextStream& t)
}
t << endl;
-
- return true;
}
-bool SymbianMakefileGenerator::writeMmpFileIncludePart(QTextStream& t)
+void SymbianMakefileGenerator::writeMmpFileIncludePart(QTextStream& t)
{
-
writeMmpFileSystemIncludePart(t);
-
- return true;
}
-bool SymbianMakefileGenerator::writeMmpFileLibraryPart(QTextStream& t)
+void SymbianMakefileGenerator::writeMmpFileLibraryPart(QTextStream& t)
{
QStringList &libs = project->values("LIBS");
libs << project->values("QMAKE_LIBS");
removeDuplicatedStrings(libs);
- for(int i = 0; i < libs.size(); ++i) {
+ for (int i = 0; i < libs.size(); ++i) {
QString lib = libs.at(i);
// The -L flag is uninteresting, since all symbian libraries exist in the same directory.
- if(lib.startsWith("-l")) {
- lib.remove(0,2);
+ if (lib.startsWith("-l")) {
+ lib.remove(0, 2);
QString mmpStatement;
if (lib.endsWith(".dll")) {
lib.chop(4);
@@ -955,61 +913,56 @@ bool SymbianMakefileGenerator::writeMmpFileLibraryPart(QTextStream& t)
}
t << endl;
-
- return true;
}
-bool SymbianMakefileGenerator::writeMmpFileCapabilityPart(QTextStream& t)
+void SymbianMakefileGenerator::writeMmpFileCapabilityPart(QTextStream& t)
{
- if(0 != project->first("TARGET.CAPABILITY").size()) {
+ if (0 != project->first("TARGET.CAPABILITY").size()) {
QStringList &capabilities = project->values("TARGET.CAPABILITY");
t << "CAPABILITY" << "\t\t";
- for(int i = 0; i < capabilities.size(); ++i) {
+ for (int i = 0; i < capabilities.size(); ++i) {
QString cap = capabilities.at(i);
t << cap << " ";
}
- }
- else {
+ } else {
t << "CAPABILITY" << "\t\t" << "None";
}
t << endl << endl;
-
- return true;
}
-bool SymbianMakefileGenerator::writeMmpFileCompilerOptionPart(QTextStream& t)
+void SymbianMakefileGenerator::writeMmpFileCompilerOptionPart(QTextStream& t)
{
QString cw, armcc;
- if(0 != project->values("QMAKE_CXXFLAGS.CW").size()) {
+ if (0 != project->values("QMAKE_CXXFLAGS.CW").size()) {
cw.append(project->values("QMAKE_CXXFLAGS.CW").join(" "));
cw.append(" ");
}
- if(0 != project->values("QMAKE_CXXFLAGS.ARMCC").size()) {
+ if (0 != project->values("QMAKE_CXXFLAGS.ARMCC").size()) {
armcc.append(project->values("QMAKE_CXXFLAGS.ARMCC").join(" "));
armcc.append(" ");
}
- if(0 != project->values("QMAKE_CFLAGS.CW").size()) {
+ if (0 != project->values("QMAKE_CFLAGS.CW").size()) {
cw.append(project->values("QMAKE_CFLAGS.CW").join(" "));
cw.append(" ");
}
- if(0 != project->values("QMAKE_CFLAGS.ARMCC").size()) {
+ if (0 != project->values("QMAKE_CFLAGS.ARMCC").size()) {
armcc.append(project->values("QMAKE_CFLAGS.ARMCC").join(" "));
armcc.append(" ");
}
- if(0 != project->values("QMAKE_CXXFLAGS").size()) {
+ if (0 != project->values("QMAKE_CXXFLAGS").size()) {
cw.append(project->values("QMAKE_CXXFLAGS").join(" "));
cw.append(" ");
armcc.append(project->values("QMAKE_CXXFLAGS").join(" "));
armcc.append(" ");
}
- if(0 != project->values("QMAKE_CFLAGS").size()) {
+ if (0 != project->values("QMAKE_CFLAGS").size()) {
cw.append(project->values("QMAKE_CFLAGS").join(" "));
cw.append(" ");
armcc.append(project->values("QMAKE_CFLAGS").join(" "));
@@ -1024,13 +977,12 @@ bool SymbianMakefileGenerator::writeMmpFileCompilerOptionPart(QTextStream& t)
if (!cw.isEmpty())
t << "OPTION" << '\t' << " CW " << cw << endl;
if (!armcc.isEmpty())
- t << "OPTION" << '\t' << " ARMCC "<< armcc << endl;
+ t << "OPTION" << '\t' << " ARMCC " << armcc << endl;
t << endl;
- return true;
}
-bool SymbianMakefileGenerator::writeMmpFileBinaryVersionPart(QTextStream& t)
+void SymbianMakefileGenerator::writeMmpFileBinaryVersionPart(QTextStream& t)
{
QString applicationVersion = project->first("VERSION");
QStringList verNumList = applicationVersion.split('.');
@@ -1064,11 +1016,9 @@ bool SymbianMakefileGenerator::writeMmpFileBinaryVersionPart(QTextStream& t)
}
t << "VERSION " << mmpVersion << endl;
-
- return true;
}
-bool SymbianMakefileGenerator::writeMmpFileRulesPart(QTextStream& t)
+void SymbianMakefileGenerator::writeMmpFileRulesPart(QTextStream& t)
{
foreach(QString item, project->values("MMP_RULES")) {
t << endl;
@@ -1082,16 +1032,15 @@ bool SymbianMakefileGenerator::writeMmpFileRulesPart(QTextStream& t)
}
}
}
- return true;
}
-bool SymbianMakefileGenerator::writeBldInfContent(QTextStream &t, bool addDeploymentExtension)
+void SymbianMakefileGenerator::writeBldInfContent(QTextStream &t, bool addDeploymentExtension)
{
// Read user defined bld inf rules
QMap<QString, QStringList> userBldInfRules;
- for(QMap<QString, QStringList>::iterator it = project->variables().begin(); it != project->variables().end(); ++it) {
+ for (QMap<QString, QStringList>::iterator it = project->variables().begin(); it != project->variables().end(); ++it) {
if (it.key().startsWith(BLD_INF_RULES_BASE)) {
- QString newKey = it.key().mid(sizeof(BLD_INF_RULES_BASE)-1);
+ QString newKey = it.key().mid(sizeof(BLD_INF_RULES_BASE) - 1);
if (newKey.isEmpty()) {
fprintf(stderr, "Warning: Empty BLD_INF_RULES key encountered\n");
continue;
@@ -1116,10 +1065,10 @@ bool SymbianMakefileGenerator::writeBldInfContent(QTextStream &t, bool addDeploy
// Add includes of subdirs bld.inf files
QString mmpfilename = escapeFilePath(fileFixify(project->projectFile()));
- mmpfilename = mmpfilename.replace(mmpfilename.lastIndexOf(".")+1, 3, "mmp");
+ mmpfilename = mmpfilename.replace(mmpfilename.lastIndexOf("."), 4, Option::mmp_ext);
QString currentPath = qmake_getpwd();
- if(!currentPath.endsWith(QString("/")))
+ if (!currentPath.endsWith(QString("/")))
currentPath.append("/");
QStringList mmpProjects = project->values("MMPFILES_DIRECT_DEPENDS");
@@ -1131,26 +1080,26 @@ bool SymbianMakefileGenerator::writeBldInfContent(QTextStream &t, bool addDeploy
// Go in reverse order as that is the way how we build the list
QListIterator<QString> iT(mmpProjects);
iT.toBack();
- while(iT.hasPrevious()) {
+ while (iT.hasPrevious()) {
QString fullMmpName = iT.previous();
QString relativePath;
QString bldinfFilename;
QString fullProFilename = fullMmpName;
- fullProFilename.replace(QString(".mmp"), QString(".pro"));
+ fullProFilename.replace(Option::mmp_ext, Option::pro_ext);
QString uid = generate_uid(fullProFilename);
QString cleanMmpName = fullProFilename;
- cleanMmpName.replace(QString(".pro"), QString(""));
+ cleanMmpName.replace(Option::pro_ext, QString(""));
cleanMmpName.replace(0, cleanMmpName.lastIndexOf("/") + 1, QString(""));
- if(shadowProjects.contains(BLD_INF_FILENAME "." + cleanMmpName)) { // shadow project
+ if (shadowProjects.contains(BLD_INF_FILENAME "." + cleanMmpName)) { // shadow project
QDir directory(currentPath);
relativePath = directory.relativeFilePath(fullProFilename);
bldinfFilename = BLD_INF_FILENAME "." + cleanMmpName;
- if(relativePath.contains("/")) {
+ if (relativePath.contains("/")) {
// Shadow .pro not in same directory as parent .pro
- if(relativePath.startsWith("..")) {
+ if (relativePath.startsWith("..")) {
// Shadow .pro out of parent .pro
relativePath.replace(relativePath.lastIndexOf("/"), relativePath.length(), QString(""));
bldinfFilename.prepend("/").prepend(relativePath);
@@ -1181,7 +1130,7 @@ bool SymbianMakefileGenerator::writeBldInfContent(QTextStream &t, bool addDeploy
// Add supported project platforms
t << endl << BLD_INF_TAG_PLATFORMS << endl << endl;
- if(0 != project->values("SYMBIAN_PLATFORMS").size())
+ if (0 != project->values("SYMBIAN_PLATFORMS").size())
t << project->values("SYMBIAN_PLATFORMS").join(" ") << endl;
QStringList userItems = userBldInfRules.value(BLD_INF_TAG_PLATFORMS);
@@ -1200,16 +1149,14 @@ bool SymbianMakefileGenerator::writeBldInfContent(QTextStream &t, bool addDeploy
t << endl << mmpTag << endl << endl;
writeBldInfMkFilePart(t, addDeploymentExtension);
- if (getTargetExtension() == "subdirs") {
+ if (targetType == TypeSubdirs) {
mmpProjects.removeOne(mmpfilename);
- }
-
- if(getTargetExtension() != "subdirs") {
+ } else {
QString shortProFilename = project->projectFile();
shortProFilename.replace(0, shortProFilename.lastIndexOf("/") + 1, QString(""));
- shortProFilename.replace(QString(".pro"), QString(""));
+ shortProFilename.replace(Option::pro_ext, QString(""));
- QString mmpFilename = shortProFilename + QString("_") + uid3 + QString(".mmp");
+ QString mmpFilename = shortProFilename + QString("_") + uid3 + Option::mmp_ext;
t << mmpFilename << endl;
}
@@ -1231,22 +1178,20 @@ bool SymbianMakefileGenerator::writeBldInfContent(QTextStream &t, bool addDeploy
// Add rest of the user defined content
- for(QMap<QString, QStringList>::iterator it = userBldInfRules.begin(); it != userBldInfRules.end(); ++it) {
+ for (QMap<QString, QStringList>::iterator it = userBldInfRules.begin(); it != userBldInfRules.end(); ++it) {
t << endl << endl << it.key() << endl << endl;
userItems = it.value();
foreach(QString item, userItems)
t << item << endl;
}
-
- return true;
}
-bool SymbianMakefileGenerator::writeRegRssFile(QString &appName, QStringList &userItems)
+void SymbianMakefileGenerator::writeRegRssFile(QString &appName, QStringList &userItems)
{
QString filename(appName);
filename.append("_reg.rss");
QFile ft(filename);
- if(ft.open(QIODevice::WriteOnly)) {
+ if (ft.open(QIODevice::WriteOnly)) {
generatedFiles << ft.fileName();
QTextStream t(&ft);
t << "// ============================================================================" << endl;
@@ -1272,17 +1217,16 @@ bool SymbianMakefileGenerator::writeRegRssFile(QString &appName, QStringList &us
t << "\t" << item << endl;
t << "\t}" << endl;
} else {
- return false;
+ PRINT_FILE_CREATE_ERROR(filename)
}
- return true;
}
-bool SymbianMakefileGenerator::writeRssFile(QString &appName, QString &numberOfIcons, QString &iconFile)
+void SymbianMakefileGenerator::writeRssFile(QString &appName, QString &numberOfIcons, QString &iconFile)
{
QString filename(appName);
filename.append(".rss");
QFile ft(filename);
- if(ft.open(QIODevice::WriteOnly)) {
+ if (ft.open(QIODevice::WriteOnly)) {
generatedFiles << ft.fileName();
QTextStream t(&ft);
t << "// ============================================================================" << endl;
@@ -1303,12 +1247,11 @@ bool SymbianMakefileGenerator::writeRssFile(QString &appName, QString &numberOfI
t << "\t\t{" << endl;
t << "\t\tcaption = STRING_r_caption;" << endl;
- if(numberOfIcons.isEmpty() || iconFile.isEmpty() ) {
+ if (numberOfIcons.isEmpty() || iconFile.isEmpty()) {
// There can be maximum one item in this tag, validated when parsed
t << "\t\tnumber_of_icons = 0;" << endl;
t << "\t\ticon_file = \"\";" << endl;
- }
- else {
+ } else {
// There can be maximum one item in this tag, validated when parsed
t << "\t\tnumber_of_icons = " << numberOfIcons << ";" << endl;
t << "\t\ticon_file = \"" << iconFile << "\";" << endl;
@@ -1317,17 +1260,16 @@ bool SymbianMakefileGenerator::writeRssFile(QString &appName, QString &numberOfI
t << "\t}" << endl;
t << endl;
} else {
- return false;
+ PRINT_FILE_CREATE_ERROR(filename);
}
- return true;
}
-bool SymbianMakefileGenerator::writeLocFile(QString &appName, QStringList &symbianLangCodes)
+void SymbianMakefileGenerator::writeLocFile(QString &appName, QStringList &symbianLangCodes)
{
QString filename(appName);
filename.append(".loc");
QFile ft(filename);
- if(ft.open(QIODevice::WriteOnly)) {
+ if (ft.open(QIODevice::WriteOnly)) {
generatedFiles << ft.fileName();
QTextStream t(&ft);
t << "// ============================================================================" << endl;
@@ -1352,16 +1294,15 @@ bool SymbianMakefileGenerator::writeLocFile(QString &appName, QStringList &symbi
t << "#define STRING_r_caption \"" << appName << "\"" << endl;
t << "#endif" << endl;
} else {
- return false;
+ PRINT_FILE_CREATE_ERROR(filename);
}
- return true;
}
void SymbianMakefileGenerator::readRssRules(QString &numberOfIcons, QString &iconFile, QStringList &userRssRules)
{
- for(QMap<QString, QStringList>::iterator it = project->variables().begin(); it != project->variables().end(); ++it) {
+ for (QMap<QString, QStringList>::iterator it = project->variables().begin(); it != project->variables().end(); ++it) {
if (it.key().startsWith(RSS_RULES_BASE)) {
- QString newKey = it.key().mid(sizeof(RSS_RULES_BASE)-1);
+ QString newKey = it.key().mid(sizeof(RSS_RULES_BASE) - 1);
if (newKey.isEmpty()) {
fprintf(stderr, "Warning: Empty RSS_RULES_BASE key encountered\n");
continue;
@@ -1385,7 +1326,7 @@ void SymbianMakefileGenerator::readRssRules(QString &numberOfIcons, QString &ico
numberOfIcons = newValues[0];
} else {
fprintf(stderr, "Warning: There must be exactly one value in '%s%s'\n",
- RSS_RULES_BASE, RSS_TAG_NBROFICONS);
+ RSS_RULES_BASE, RSS_TAG_NBROFICONS);
continue;
}
// Verify thet there is exactly one value in RSS_TAG_ICONFILE
@@ -1394,12 +1335,12 @@ void SymbianMakefileGenerator::readRssRules(QString &numberOfIcons, QString &ico
iconFile = newValues[0];
} else {
fprintf(stderr, "Warning: There must be exactly one value in '%s%s'\n",
- RSS_RULES_BASE, RSS_TAG_ICONFILE);
+ RSS_RULES_BASE, RSS_TAG_ICONFILE);
continue;
}
} else {
fprintf(stderr, "Warning: Unsupported key:'%s%s'\n",
- RSS_RULES_BASE, newKey.toLatin1().constData());
+ RSS_RULES_BASE, newKey.toLatin1().constData());
continue;
}
}
@@ -1417,16 +1358,16 @@ void SymbianMakefileGenerator::readRssRules(QString &numberOfIcons, QString &ico
// Validate that either both RSS_TAG_NBROFICONS and RSS_TAG_ICONFILE keys exist
// or neither of them exist
- if ( !((numberOfIcons.isEmpty() && iconFile.isEmpty()) ||
- (!numberOfIcons.isEmpty() && !iconFile.isEmpty())) ) {
+ if (!((numberOfIcons.isEmpty() && iconFile.isEmpty()) ||
+ (!numberOfIcons.isEmpty() && !iconFile.isEmpty()))) {
numberOfIcons.clear();
iconFile.clear();
fprintf(stderr, "Warning: Both or neither of '%s%s' and '%s%s' keys must exist.\n",
- RSS_RULES_BASE, RSS_TAG_NBROFICONS, RSS_RULES_BASE, RSS_TAG_ICONFILE );
+ RSS_RULES_BASE, RSS_TAG_NBROFICONS, RSS_RULES_BASE, RSS_TAG_ICONFILE);
}
// Validate that RSS_TAG_NBROFICONS contains only numbers
- if( !numberOfIcons.isEmpty() ) {
+ if (!numberOfIcons.isEmpty()) {
bool ok;
numberOfIcons = numberOfIcons.simplified();
int tmp = numberOfIcons.toInt(&ok);
@@ -1434,7 +1375,7 @@ void SymbianMakefileGenerator::readRssRules(QString &numberOfIcons, QString &ico
numberOfIcons.clear();
iconFile.clear();
fprintf(stderr, "Warning: '%s%s' must be integer in decimal format.\n",
- RSS_RULES_BASE, RSS_TAG_NBROFICONS );
+ RSS_RULES_BASE, RSS_TAG_NBROFICONS);
}
}
}
@@ -1451,10 +1392,10 @@ QStringList SymbianMakefileGenerator::symbianLangCodesFromTsFiles()
int extIndex = file.lastIndexOf(".");
int langIndex = file.lastIndexOf("_", (extIndex - file.length()));
langIndex += 1;
- QString qtlang = file.mid(langIndex, extIndex - langIndex );
+ QString qtlang = file.mid(langIndex, extIndex - langIndex);
QString s60lang = qt2S60LangMapTable.value(qtlang, QString("SC"));
- if( !symbianLangCodes.contains(s60lang) && s60lang != "SC" )
+ if (!symbianLangCodes.contains(s60lang) && s60lang != "SC")
symbianLangCodes += s60lang;
}
@@ -1466,8 +1407,8 @@ void SymbianMakefileGenerator::fillQt2S60LangMapTable()
qt2S60LangMapTable.reserve(170); // 165 items at time of writing.
qt2S60LangMapTable.insert("ab", "SC"); //Abkhazian //
qt2S60LangMapTable.insert("om", "SC"); //Afan //
- qt2S60LangMapTable.insert("aa", "SC"); //Afar //
- qt2S60LangMapTable.insert("af", "34"); //Afrikaans //Afrikaans
+ qt2S60LangMapTable.insert("aa", "SC"); //Afar //
+ qt2S60LangMapTable.insert("af", "34"); //Afrikaans //Afrikaans
qt2S60LangMapTable.insert("sq", "35"); //Albanian //Albanian
qt2S60LangMapTable.insert("am", "36"); //Amharic //Amharic
qt2S60LangMapTable.insert("ar", "37"); //Arabic //Arabic
@@ -1621,18 +1562,18 @@ void SymbianMakefileGenerator::fillQt2S60LangMapTable()
qt2S60LangMapTable.insert("cch", "SC"); //Atsam //
qt2S60LangMapTable.insert("tig", "SC"); //Tigre //
qt2S60LangMapTable.insert("kaj", "SC"); //Jju //
- qt2S60LangMapTable.insert("fur", "SC"); //Friulian //
- qt2S60LangMapTable.insert("ve", "SC"); //Venda //
- qt2S60LangMapTable.insert("ee", "SC"); //Ewe //
- qt2S60LangMapTable.insert("wa", "SC"); //Walamo //
- qt2S60LangMapTable.insert("haw", "SC"); //Hawaiian //
- qt2S60LangMapTable.insert("kcg", "SC"); //Tyap //
- qt2S60LangMapTable.insert("ny", "SC"); //Chewa //
+ qt2S60LangMapTable.insert("fur", "SC"); //Friulian //
+ qt2S60LangMapTable.insert("ve", "SC"); //Venda //
+ qt2S60LangMapTable.insert("ee", "SC"); //Ewe //
+ qt2S60LangMapTable.insert("wa", "SC"); //Walamo //
+ qt2S60LangMapTable.insert("haw", "SC"); //Hawaiian //
+ qt2S60LangMapTable.insert("kcg", "SC"); //Tyap //
+ qt2S60LangMapTable.insert("ny", "SC"); //Chewa //
}
void SymbianMakefileGenerator::appendIfnotExist(QStringList &list, QString value)
{
- if(!list.contains(value))
+ if (!list.contains(value))
list += value;
}
@@ -1645,8 +1586,8 @@ void SymbianMakefileGenerator::appendIfnotExist(QStringList &list, QStringList v
QString SymbianMakefileGenerator::removePathSeparators(QString &file)
{
QString ret = file;
- while(ret.indexOf(QDir::separator()) > 0) {
- ret.remove(0, ret.indexOf(QDir::separator())+1);
+ while (ret.indexOf(QDir::separator()) > 0) {
+ ret.remove(0, ret.indexOf(QDir::separator()) + 1);
}
return ret;
@@ -1656,19 +1597,19 @@ QString SymbianMakefileGenerator::removePathSeparators(QString &file)
QString SymbianMakefileGenerator::removeTrailingPathSeparators(QString &file)
{
QString ret = file;
- if(ret.endsWith(QDir::separator())) {
- ret.remove(ret.length()-1,1);
+ if (ret.endsWith(QDir::separator())) {
+ ret.remove(ret.length() - 1, 1);
}
return ret;
}
void SymbianMakefileGenerator::generateCleanCommands(QTextStream& t,
- const QStringList& toClean,
- const QString& cmd,
- const QString& cmdOptions,
- const QString& itemPrefix,
- const QString& itemSuffix)
+ const QStringList& toClean,
+ const QString& cmd,
+ const QString& cmdOptions,
+ const QString& itemPrefix,
+ const QString& itemSuffix)
{
for (int i = 0; i < toClean.size(); ++i) {
QString item = toClean.at(i);
@@ -1699,10 +1640,10 @@ void SymbianMakefileGenerator::generateDistcleanTargets(QTextStream& t)
foreach(QString item, project->values("SUBDIRS")) {
bool fromFile = false;
QString fixedItem;
- if(!project->isEmpty(item + ".file")) {
+ if (!project->isEmpty(item + ".file")) {
fixedItem = project->first(item + ".file");
fromFile = true;
- } else if(!project->isEmpty(item + ".subdir")) {
+ } else if (!project->isEmpty(item + ".subdir")) {
fixedItem = project->first(item + ".subdir");
fromFile = false;
} else {
@@ -1716,7 +1657,7 @@ void SymbianMakefileGenerator::generateDistcleanTargets(QTextStream& t)
QString itemName = fi.fileName();
int extIndex = itemName.lastIndexOf(Option::pro_ext);
if (extIndex)
- fixedItem = fi.absolutePath() + "/" + QString("Makefile.") + itemName.mid(0,extIndex);
+ fixedItem = fi.absolutePath() + "/" + QString("Makefile.") + itemName.mid(0, extIndex);
t << "\t-$(MAKE) -f \"" << Option::fixPathToTargetOS(fixedItem) << "\" dodistclean" << endl;
}
diff --git a/qmake/generators/symbian/symmake.h b/qmake/generators/symbian/symmake.h
index 3bf9f1d..e4b23e2 100644
--- a/qmake/generators/symbian/symmake.h
+++ b/qmake/generators/symbian/symmake.h
@@ -1,9 +1,9 @@
/****************************************************************************
**
-** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
-** This file is part of the $MODULE$ of the Qt Toolkit.
+** This file is part of the qmake application of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
@@ -54,12 +54,19 @@ QT_BEGIN_NAMESPACE
class SymbianMakefileGenerator : public MakefileGenerator
{
protected:
+ enum TargetType {
+ TypeExe,
+ TypeDll,
+ TypeLib,
+ TypePlugin,
+ TypeSubdirs
+ };
QString platform;
QString uid2;
QString uid3;
QString privateDirUid;
- QString targetType;
+ TargetType targetType;
QMap<QString, QStringList> sources;
QMap<QString, QStringList> systeminclude;
QMap<QString, QStringList> library;
@@ -70,46 +77,50 @@ protected:
QStringList generatedDirs;
QHash<QString, QString> qt2S60LangMapTable;
+ QString fixedTarget;
+
void removeSpecialCharacters(QString& str);
QString fixPathForMmp(const QString& origPath, const QDir& parentDir);
QString canonizePath(const QString& origPath);
virtual bool writeMakefile(QTextStream &t);
- bool generatePkgFile(const QString &compiler, const QString &config, const QString &iconFile);
+ void generatePkgFile(const QString &compiler, const QString &config, const QString &iconFile);
bool containsStartWithItem(const QChar &c, const QStringList& src);
virtual void init();
QString getTargetExtension();
- bool isConfigSetToSymbian();
QString generateUID3();
- bool initMmpVariables();
+ void initMmpVariables();
void writeHeader(QTextStream &t);
- bool writeBldInfContent(QTextStream& t, bool addDeploymentExtension);
+ void writeBldInfContent(QTextStream& t, bool addDeploymentExtension);
static bool removeDuplicatedStrings(QStringList& stringList);
- bool writeMmpFileHeader(QTextStream &t);
- bool writeMmpFile(QString &filename, QStringList &symbianLangCodes);
- bool writeMmpFileMacrosPart(QTextStream& t);
- bool addMacro(QTextStream& t, const QString& value);
- bool writeMmpFileTargetPart(QTextStream& t);
- bool writeMmpFileResourcePart(QTextStream& t, QStringList &symbianLangCodes);
- bool writeMmpFileSystemIncludePart(QTextStream& t);
- bool writeMmpFileIncludePart(QTextStream& t);
- bool writeMmpFileLibraryPart(QTextStream& t);
- bool writeMmpFileCapabilityPart(QTextStream& t);
- bool writeMmpFileCompilerOptionPart(QTextStream& t);
- bool writeMmpFileBinaryVersionPart(QTextStream& t);
- bool writeMmpFileRulesPart(QTextStream& t);
-
- bool writeRegRssFile(QString &appname, QStringList &useritems);
- bool writeRssFile(QString &appName, QString &numberOfIcons, QString &iconfile);
- bool writeLocFile(QString &appName, QStringList &symbianLangCodes);
+ void writeMmpFileHeader(QTextStream &t);
+ void writeMmpFile(QString &filename, QStringList &symbianLangCodes);
+ void writeMmpFileMacrosPart(QTextStream& t);
+ void addMacro(QTextStream& t, const QString& value);
+ void writeMmpFileTargetPart(QTextStream& t);
+ void writeMmpFileResourcePart(QTextStream& t, QStringList &symbianLangCodes);
+ void writeMmpFileSystemIncludePart(QTextStream& t);
+ void writeMmpFileIncludePart(QTextStream& t);
+ void writeMmpFileLibraryPart(QTextStream& t);
+ void writeMmpFileCapabilityPart(QTextStream& t);
+ void writeMmpFileCompilerOptionPart(QTextStream& t);
+ void writeMmpFileBinaryVersionPart(QTextStream& t);
+ void writeMmpFileRulesPart(QTextStream& t);
+
+ void writeCustomDefFile();
+
+ void writeRegRssFile(QString &appname, QStringList &useritems);
+ void writeRssFile(QString &appName, QString &numberOfIcons, QString &iconfile);
+ void writeLocFile(QString &appName, QStringList &symbianLangCodes);
void readRssRules(QString &numberOfIcons, QString &iconFile, QStringList &userRssRules);
+
QStringList symbianLangCodesFromTsFiles();
void fillQt2S60LangMapTable();
@@ -127,12 +138,10 @@ protected:
void generateDistcleanTargets(QTextStream& t);
- bool writeCustomDefFile();
-
// Subclass implements
- virtual bool writeBldInfExtensionRulesPart(QTextStream& t) = 0;
+ virtual void writeBldInfExtensionRulesPart(QTextStream& t) = 0;
virtual void writeBldInfMkFilePart(QTextStream& t, bool addDeploymentExtension) = 0;
- virtual bool writeMkFile(const QString& wrapperFileName, bool deploymentOnly) = 0;
+ virtual void writeMkFile(const QString& wrapperFileName, bool deploymentOnly) = 0;
virtual void writeWrapperMakefile(QFile& wrapperFile, bool isPrimaryMakefile) = 0;
public:
diff --git a/qmake/generators/symbian/symmake_abld.cpp b/qmake/generators/symbian/symmake_abld.cpp
index 17c365d..d88b34b 100644
--- a/qmake/generators/symbian/symmake_abld.cpp
+++ b/qmake/generators/symbian/symmake_abld.cpp
@@ -1,9 +1,9 @@
/****************************************************************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
-** This file is part of the $MODULE$ of the Qt Toolkit.
+** This file is part of the qmake application of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
@@ -62,14 +62,14 @@
SymbianAbldMakefileGenerator::SymbianAbldMakefileGenerator() : SymbianMakefileGenerator() { }
SymbianAbldMakefileGenerator::~SymbianAbldMakefileGenerator() { }
-bool SymbianAbldMakefileGenerator::writeMkFile(const QString& wrapperFileName, bool deploymentOnly)
+void SymbianAbldMakefileGenerator::writeMkFile(const QString& wrapperFileName, bool deploymentOnly)
{
QString gnuMakefileName = QLatin1String("Makefile_") + uid3;
removeSpecialCharacters(gnuMakefileName);
gnuMakefileName.append(".mk");
QFile ft(gnuMakefileName);
- if(ft.open(QIODevice::WriteOnly)) {
+ if (ft.open(QIODevice::WriteOnly)) {
generatedFiles << ft.fileName();
QTextStream t(&ft);
@@ -103,7 +103,7 @@ bool SymbianAbldMakefileGenerator::writeMkFile(const QString& wrapperFileName, b
if (deploymentOnly) {
buildDeps.append(DO_NOTHING_TARGET);
cleanDeps.append(DO_NOTHING_TARGET);
- cleanDepsWinscw.append( WINSCW_DEPLOYMENT_CLEAN_TARGET);
+ cleanDepsWinscw.append(WINSCW_DEPLOYMENT_CLEAN_TARGET);
finalDeps.append(DO_NOTHING_TARGET);
finalDepsWinscw.append(WINSCW_DEPLOYMENT_TARGET);
wrapperTargets << WINSCW_DEPLOYMENT_TARGET << WINSCW_DEPLOYMENT_CLEAN_TARGET;
@@ -148,8 +148,6 @@ bool SymbianAbldMakefileGenerator::writeMkFile(const QString& wrapperFileName, b
t << endl;
} // if(ft.open(QIODevice::WriteOnly))
-
- return true;
}
void SymbianAbldMakefileGenerator::writeWrapperMakefile(QFile& wrapperFile, bool isPrimaryMakefile)
@@ -163,8 +161,6 @@ void SymbianAbldMakefileGenerator::writeWrapperMakefile(QFile& wrapperFile, bool
QStringList releasePlatforms = allPlatforms;
releasePlatforms.removeAll("winscw"); // No release for emulator
- bool isSubdirs = getTargetExtension() == "subdirs";
-
QString testClause;
if (project->values("CONFIG").contains("symbian_test", Qt::CaseInsensitive))
testClause = QLatin1String(" test");
@@ -184,12 +180,13 @@ void SymbianAbldMakefileGenerator::writeWrapperMakefile(QFile& wrapperFile, bool
t << "# ==============================================================================" << "\n" << endl;
t << endl;
QString ofile = Option::fixPathToTargetOS(Option::output.fileName());
- if(ofile.lastIndexOf(Option::dir_sep) != -1)
- ofile = ofile.right(ofile.length() - ofile.lastIndexOf(Option::dir_sep) -1);
+ if (ofile.lastIndexOf(Option::dir_sep) != -1)
+ ofile = ofile.right(ofile.length() - ofile.lastIndexOf(Option::dir_sep) - 1);
t << "MAKEFILE = " << ofile << endl;
t << "QMAKE = " << Option::fixPathToTargetOS(var("QMAKE_QMAKE")) << endl;
t << "DEL_FILE = " << var("QMAKE_DEL_FILE") << endl;
t << "DEL_DIR = " << var("QMAKE_DEL_DIR") << endl;
+ t << "MOVE = " << var("QMAKE_MOVE") << endl;
t << "XCOPY = xcopy /d /f /h /r /y /i" << endl;
t << "ABLD = ABLD.BAT" << endl;
t << "DEBUG_PLATFORMS = " << debugPlatforms.join(" ") << endl;
@@ -209,7 +206,7 @@ void SymbianAbldMakefileGenerator::writeWrapperMakefile(QFile& wrapperFile, bool
t << "INCPATH" << '\t' << " = ";
- for(QMap<QString, QStringList>::iterator it = systeminclude.begin(); it != systeminclude.end(); ++it) {
+ for (QMap<QString, QStringList>::iterator it = systeminclude.begin(); it != systeminclude.end(); ++it) {
QStringList values = it.value();
for (int i = 0; i < values.size(); ++i) {
t << " -I\"" << values.at(i) << "\"";
@@ -285,7 +282,7 @@ void SymbianAbldMakefileGenerator::writeWrapperMakefile(QFile& wrapperFile, bool
// Unfortunately, Symbian build chain doesn't support linking generated objects to target,
// so supporting generating sources is the best we can do. This is enough for mocs.
- if (!isSubdirs) {
+ if (targetType != TypeSubdirs) {
writeExtraTargets(t);
writeExtraCompilerTargets(t);
@@ -293,7 +290,7 @@ void SymbianAbldMakefileGenerator::writeWrapperMakefile(QFile& wrapperFile, bool
// generate command lines like this ...
// -@ if NOT EXIST ".\somedir" mkdir ".\somedir"
QStringList dirsToClean;
- for(QMap<QString, QStringList>::iterator it = systeminclude.begin(); it != systeminclude.end(); ++it) {
+ for (QMap<QString, QStringList>::iterator it = systeminclude.begin(); it != systeminclude.end(); ++it) {
QStringList values = it.value();
for (int i = 0; i < values.size(); ++i) {
if (values.at(i).endsWith("/" QT_EXTRA_INCLUDE_DIR)) {
@@ -325,7 +322,7 @@ void SymbianAbldMakefileGenerator::writeWrapperMakefile(QFile& wrapperFile, bool
t << ALL_SOURCE_DEPS_TARGET ":";
QStringList allDeps;
- for(QMap<QString, QStringList>::iterator it = sources.begin(); it != sources.end(); ++it) {
+ for (QMap<QString, QStringList>::iterator it = sources.begin(); it != sources.end(); ++it) {
QString currentSourcePath = it.key();
QStringList values = it.value();
for (int i = 0; i < values.size(); ++i) {
@@ -343,15 +340,14 @@ void SymbianAbldMakefileGenerator::writeWrapperMakefile(QFile& wrapperFile, bool
// Post link operations
t << FINALIZE_TARGET ":" << endl;
- if(!project->isEmpty("QMAKE_POST_LINK")) {
+ if (!project->isEmpty("QMAKE_POST_LINK")) {
t << '\t' << var("QMAKE_POST_LINK");
t << endl;
}
t << endl;
- }
- else {
+ } else {
QList<MakefileGenerator::SubTarget*> subtargets = findSubDirsSubTargets();
- writeSubTargets(t, subtargets, SubTargetSkipDefaultVariables|SubTargetSkipDefaultTargets);
+ writeSubTargets(t, subtargets, SubTargetSkipDefaultVariables | SubTargetSkipDefaultTargets);
qDeleteAll(subtargets);
}
@@ -365,17 +361,16 @@ void SymbianAbldMakefileGenerator::writeWrapperMakefile(QFile& wrapperFile, bool
t << endl;
// Create execution target
- if (debugPlatforms.contains("winscw") && getTargetExtension() == "exe") {
+ if (debugPlatforms.contains("winscw") && targetType == TypeExe) {
t << "run:" << endl;
t << "\t-call " << epocRoot() << "epoc32\\release\\winscw\\udeb\\" << removePathSeparators(escapeFilePath(fileFixify(project->first("TARGET"))).append(".exe")) << endl << endl;
}
}
-bool SymbianAbldMakefileGenerator::writeBldInfExtensionRulesPart(QTextStream& t)
+void SymbianAbldMakefileGenerator::writeBldInfExtensionRulesPart(QTextStream& t)
{
// We don't use extensions for anything in abld
Q_UNUSED(t);
- return true;
}
bool SymbianAbldMakefileGenerator::writeDeploymentTargets(QTextStream &t)
@@ -384,23 +379,23 @@ bool SymbianAbldMakefileGenerator::writeDeploymentTargets(QTextStream &t)
QString remoteTestPath = epocRoot() + QLatin1String("epoc32\\winscw\\c\\private\\") + privateDirUid; // default 4 OpenC; 4 all Symbian too
DeploymentList depList;
- initProjectDeploySymbian( project, depList, remoteTestPath, false, QLatin1String("winscw"), QLatin1String("udeb"), generatedDirs, generatedFiles );
+ initProjectDeploySymbian(project, depList, remoteTestPath, false, QLatin1String("winscw"), QLatin1String("udeb"), generatedDirs, generatedFiles);
if (depList.size())
t << "\t-echo Deploying changed files..." << endl;
- for (int i=0; i<depList.size(); ++i) {
+ for (int i = 0; i < depList.size(); ++i) {
// Xcopy prompts for selecting file or directory if target doesn't exist,
// and doesn't provide switch to force file selection. It does provide dir forcing, though,
// so strip the last part of the destination.
- t << "\t-$(XCOPY) \"" << depList.at(i).from << "\" \"" << depList.at(i).to.left(depList.at(i).to.lastIndexOf("\\")+1) << "\"" << endl;
+ t << "\t-$(XCOPY) \"" << depList.at(i).from << "\" \"" << depList.at(i).to.left(depList.at(i).to.lastIndexOf("\\") + 1) << "\"" << endl;
}
t << endl;
t << WINSCW_DEPLOYMENT_CLEAN_TARGET ":" << endl;
QStringList cleanList;
- for (int i=0; i<depList.size(); ++i) {
+ for (int i = 0; i < depList.size(); ++i) {
cleanList.append(depList.at(i).to);
}
generateCleanCommands(t, cleanList, "$(DEL_FILE)", "", "", "");
@@ -417,7 +412,7 @@ void SymbianAbldMakefileGenerator::writeBldInfMkFilePart(QTextStream& t, bool ad
{
// Normally emulator deployment gets done via regular makefile, but since subdirs
// do not get that, special deployment only makefile is generated for them if needed.
- if(getTargetExtension() != "subdirs" || addDeploymentExtension) {
+ if (targetType != TypeSubdirs || addDeploymentExtension) {
QString gnuMakefileName = QLatin1String("Makefile_") + uid3;
removeSpecialCharacters(gnuMakefileName);
gnuMakefileName.append(".mk");
diff --git a/qmake/generators/symbian/symmake_abld.h b/qmake/generators/symbian/symmake_abld.h
index 7de6510..0b2989f 100644
--- a/qmake/generators/symbian/symmake_abld.h
+++ b/qmake/generators/symbian/symmake_abld.h
@@ -1,9 +1,9 @@
/****************************************************************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
-** This file is part of the $MODULE$ of the Qt Toolkit.
+** This file is part of the qmake application of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
@@ -51,9 +51,9 @@ class SymbianAbldMakefileGenerator : public SymbianMakefileGenerator
protected:
// Inherited from parent
- virtual bool writeBldInfExtensionRulesPart(QTextStream& t);
+ virtual void writeBldInfExtensionRulesPart(QTextStream& t);
virtual void writeBldInfMkFilePart(QTextStream& t, bool addDeploymentExtension);
- virtual bool writeMkFile(const QString& wrapperFileName, bool deploymentOnly);
+ virtual void writeMkFile(const QString& wrapperFileName, bool deploymentOnly);
virtual void writeWrapperMakefile(QFile& wrapperFile, bool isPrimaryMakefile);
bool writeDeploymentTargets(QTextStream &t);
diff --git a/qmake/generators/symbian/symmake_sbsv2.cpp b/qmake/generators/symbian/symmake_sbsv2.cpp
index 34585e8..f3b90c6 100644
--- a/qmake/generators/symbian/symmake_sbsv2.cpp
+++ b/qmake/generators/symbian/symmake_sbsv2.cpp
@@ -1,9 +1,9 @@
/****************************************************************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
-** This file is part of the $MODULE$ of the Qt Toolkit.
+** This file is part of the qmake application of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
@@ -79,20 +79,19 @@ void SymbianSbsv2MakefileGenerator::exportFlm()
generatedFiles << destInfo.absoluteFilePath();
else
fprintf(stderr, "Error: Could not copy '%s' -> '%s'\n",
- qPrintable(item.absoluteFilePath()),
- qPrintable(destInfo.absoluteFilePath()));
+ qPrintable(item.absoluteFilePath()),
+ qPrintable(destInfo.absoluteFilePath()));
}
}
flmExportDone = true;
}
}
-bool SymbianSbsv2MakefileGenerator::writeMkFile(const QString& wrapperFileName, bool deploymentOnly)
+void SymbianSbsv2MakefileGenerator::writeMkFile(const QString& wrapperFileName, bool deploymentOnly)
{
// Can't use extension makefile with sbsv2
Q_UNUSED(wrapperFileName);
Q_UNUSED(deploymentOnly);
- return true;
}
void SymbianSbsv2MakefileGenerator::writeWrapperMakefile(QFile& wrapperFile, bool isPrimaryMakefile)
@@ -106,8 +105,6 @@ void SymbianSbsv2MakefileGenerator::writeWrapperMakefile(QFile& wrapperFile, boo
QStringList releasePlatforms = allPlatforms;
releasePlatforms.removeAll("winscw"); // No release for emulator
- bool isSubdirs = getTargetExtension() == "subdirs";
-
QString testClause;
if (project->values("CONFIG").contains("symbian_test", Qt::CaseInsensitive))
testClause = QLatin1String(".test");
@@ -127,12 +124,13 @@ void SymbianSbsv2MakefileGenerator::writeWrapperMakefile(QFile& wrapperFile, boo
t << "# ==============================================================================" << "\n" << endl;
t << endl;
QString ofile = Option::fixPathToTargetOS(Option::output.fileName());
- if(ofile.lastIndexOf(Option::dir_sep) != -1)
- ofile = ofile.right(ofile.length() - ofile.lastIndexOf(Option::dir_sep) -1);
+ if (ofile.lastIndexOf(Option::dir_sep) != -1)
+ ofile = ofile.right(ofile.length() - ofile.lastIndexOf(Option::dir_sep) - 1);
t << "MAKEFILE = " << ofile << endl;
t << "QMAKE = " << Option::fixPathToTargetOS(var("QMAKE_QMAKE")) << endl;
t << "DEL_FILE = " << var("QMAKE_DEL_FILE") << endl;
t << "DEL_DIR = " << var("QMAKE_DEL_DIR") << endl;
+ t << "MOVE = " << var("QMAKE_MOVE") << endl;
t << "DEBUG_PLATFORMS = " << debugPlatforms.join(" ") << endl;
t << "RELEASE_PLATFORMS = " << releasePlatforms.join(" ") << endl;
t << "MAKE = make" << endl;
@@ -145,7 +143,7 @@ void SymbianSbsv2MakefileGenerator::writeWrapperMakefile(QFile& wrapperFile, boo
t << "INCPATH" << '\t' << " = ";
- for(QMap<QString, QStringList>::iterator it = systeminclude.begin(); it != systeminclude.end(); ++it) {
+ for (QMap<QString, QStringList>::iterator it = systeminclude.begin(); it != systeminclude.end(); ++it) {
QStringList values = it.value();
for (int i = 0; i < values.size(); ++i) {
t << " -I\"" << values.at(i) << "\" ";
@@ -212,11 +210,10 @@ void SymbianSbsv2MakefileGenerator::writeWrapperMakefile(QFile& wrapperFile, boo
// Add all extra targets including extra compiler targest also to wrapper makefile,
// even though many of them may have already been added to bld.inf as FLMs.
// This is to enable use of targets like 'mocables', which call targets generated by extra compilers.
- if (!isSubdirs) {
+ if (targetType != TypeSubdirs) {
t << extraTargetsCache;
t << extraCompilersCache;
- }
- else {
+ } else {
QList<MakefileGenerator::SubTarget*> subtargets = findSubDirsSubTargets();
writeSubTargets(t, subtargets, SubTargetSkipDefaultVariables|SubTargetSkipDefaultTargets);
qDeleteAll(subtargets);
@@ -229,13 +226,13 @@ void SymbianSbsv2MakefileGenerator::writeWrapperMakefile(QFile& wrapperFile, boo
t << endl;
// create execution target
- if (debugPlatforms.contains("winscw") && getTargetExtension() == "exe") {
+ if (debugPlatforms.contains("winscw") && targetType == TypeExe) {
t << "run:" << endl;
t << "\t-call " << epocRoot() << "epoc32/release/winscw/udeb/" << removePathSeparators(escapeFilePath(fileFixify(project->first("TARGET"))).append(".exe")) << endl << endl;
}
}
-bool SymbianSbsv2MakefileGenerator::writeBldInfExtensionRulesPart(QTextStream& t)
+void SymbianSbsv2MakefileGenerator::writeBldInfExtensionRulesPart(QTextStream& t)
{
// Makes sure we have needed FLMs in place.
exportFlm();
@@ -247,7 +244,7 @@ bool SymbianSbsv2MakefileGenerator::writeBldInfExtensionRulesPart(QTextStream& t
defines << varGlue("PRL_EXPORT_DEFINES","-D"," -D"," ")
<< varGlue("QMAKE_COMPILER_DEFINES", "-D", "-D", " ")
<< varGlue("DEFINES","-D"," -D","");
- for(QMap<QString, QStringList>::iterator it = systeminclude.begin(); it != systeminclude.end(); ++it) {
+ for (QMap<QString, QStringList>::iterator it = systeminclude.begin(); it != systeminclude.end(); ++it) {
QStringList values = it.value();
for (int i = 0; i < values.size(); ++i) {
incPath << QLatin1String(" -I\"") + values.at(i) + "\"";
@@ -267,8 +264,8 @@ bool SymbianSbsv2MakefileGenerator::writeBldInfExtensionRulesPart(QTextStream& t
foreach(QString item, project->values("PRE_TARGETDEPS")) {
// Predeps get mangled in windows, so fix them to more sbsv2 friendly format
#if defined(Q_OS_WIN)
- if (item.mid(1,1) == ":")
- item = item.mid(0,1).toUpper().append(item.mid(1)); // Fix drive to uppercase
+ if (item.mid(1, 1) == ":")
+ item = item.mid(0, 1).toUpper().append(item.mid(1)); // Fix drive to uppercase
#endif
item.replace("\\", "/");
allPreDeps << escapeDependencyPath(item);
@@ -278,7 +275,7 @@ bool SymbianSbsv2MakefileGenerator::writeBldInfExtensionRulesPart(QTextStream& t
allPreDeps.append(fileInfo(item).absoluteFilePath());
}
- for(QMap<QString, QStringList>::iterator it = sources.begin(); it != sources.end(); ++it) {
+ for (QMap<QString, QStringList>::iterator it = sources.begin(); it != sources.end(); ++it) {
QString currentSourcePath = it.key();
QStringList values = it.value();
for (int i = 0; i < values.size(); ++i) {
@@ -299,7 +296,6 @@ bool SymbianSbsv2MakefileGenerator::writeBldInfExtensionRulesPart(QTextStream& t
QString absoluteTarget = fileInfo(targetItem).absoluteFilePath();
if (allPreDeps.contains(absoluteTarget)) {
QStringList deps = project->values(QLatin1String("QMAKE_ET_PARSED_DEPS.") + item + targetItem);
- //QString depsItem = project->values(QLatin1String("QMAKE_ET_PARSED_DEPS.") + item + targetItem).join(" ");
QString commandItem = project->values(QLatin1String("QMAKE_ET_PARSED_CMD.") + item + targetItem).join(" ");
@@ -315,7 +311,6 @@ bool SymbianSbsv2MakefileGenerator::writeBldInfExtensionRulesPart(QTextStream& t
t << "START EXTENSION qt/qmake_extra_pre_targetdep" << endl;
t << "OPTION PREDEP_TARGET " << absoluteTarget << endl;
t << "OPTION DEPS " << absoluteDeps << endl;
- //t << "OPTION DEPS " << depsItem << endl;
if (commandItem.indexOf("$(INCPATH)") != -1)
commandItem.replace("$(INCPATH)", incPath.join(" "));
@@ -336,10 +331,10 @@ bool SymbianSbsv2MakefileGenerator::writeBldInfExtensionRulesPart(QTextStream& t
// Write winscw deployment rules
QString remoteTestPath = epocRoot() + QLatin1String("epoc32/winscw/c/private/") + privateDirUid;
DeploymentList depList;
- initProjectDeploySymbian( project, depList, remoteTestPath, false, QLatin1String("winscw"), QLatin1String("udeb"), generatedDirs, generatedFiles );
+ initProjectDeploySymbian(project, depList, remoteTestPath, false, QLatin1String("winscw"), QLatin1String("udeb"), generatedDirs, generatedFiles);
t << "#if defined(WINSCW)" << endl;
- for (int i=0; i<depList.size(); ++i) {
+ for (int i = 0; i < depList.size(); ++i) {
t << "START EXTENSION qt/qmake_emulator_deployment" << endl;
QString fromItem = depList.at(i).from;
QString toItem = depList.at(i).to;
@@ -357,7 +352,7 @@ bool SymbianSbsv2MakefileGenerator::writeBldInfExtensionRulesPart(QTextStream& t
t << endl;
// Write post link rules
- if(!project->isEmpty("QMAKE_POST_LINK")) {
+ if (!project->isEmpty("QMAKE_POST_LINK")) {
t << "START EXTENSION qt/qmake_post_link" << endl;
t << "OPTION POST_LINK_CMD " << var("QMAKE_POST_LINK") << endl;
t << "OPTION LINK_TARGET " << removePathSeparators(escapeFilePath(fileFixify(project->first("TARGET"))).append(".").append(getTargetExtension())) << endl;
@@ -387,7 +382,7 @@ bool SymbianSbsv2MakefileGenerator::writeBldInfExtensionRulesPart(QTextStream& t
// Generate temp dirs
QString tempDirs;
- for(QMap<QString, QStringList>::iterator it = systeminclude.begin(); it != systeminclude.end(); ++it) {
+ for (QMap<QString, QStringList>::iterator it = systeminclude.begin(); it != systeminclude.end(); ++it) {
QStringList values = it.value();
for (int i = 0; i < values.size(); ++i) {
QString value = values.at(i);
@@ -408,8 +403,6 @@ bool SymbianSbsv2MakefileGenerator::writeBldInfExtensionRulesPart(QTextStream& t
t << endl;
t << endl;
-
- return true;
}
void SymbianSbsv2MakefileGenerator::writeBldInfMkFilePart(QTextStream& t, bool addDeploymentExtension)
diff --git a/qmake/generators/symbian/symmake_sbsv2.h b/qmake/generators/symbian/symmake_sbsv2.h
index caa491d..7806d53 100644
--- a/qmake/generators/symbian/symmake_sbsv2.h
+++ b/qmake/generators/symbian/symmake_sbsv2.h
@@ -1,9 +1,9 @@
/****************************************************************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
-** This file is part of the $MODULE$ of the Qt Toolkit.
+** This file is part of the qmake application of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
@@ -51,9 +51,9 @@ class SymbianSbsv2MakefileGenerator : public SymbianMakefileGenerator
protected:
// Inherited from parent
- virtual bool writeBldInfExtensionRulesPart(QTextStream& t);
+ virtual void writeBldInfExtensionRulesPart(QTextStream& t);
virtual void writeBldInfMkFilePart(QTextStream& t, bool addDeploymentExtension);
- virtual bool writeMkFile(const QString& wrapperFileName, bool deploymentOnly);
+ virtual void writeMkFile(const QString& wrapperFileName, bool deploymentOnly);
virtual void writeWrapperMakefile(QFile& wrapperFile, bool isPrimaryMakefile);
public:
diff --git a/qmake/generators/win32/msvc_dsp.cpp b/qmake/generators/win32/msvc_dsp.cpp
index 44caa68..3668fe2 100644
--- a/qmake/generators/win32/msvc_dsp.cpp
+++ b/qmake/generators/win32/msvc_dsp.cpp
@@ -682,7 +682,7 @@ void DspMakefileGenerator::writeSubDirs(QTextStream &t)
QString profile = tmp;
if(!profile.endsWith(Option::dir_sep))
profile += Option::dir_sep;
- profile += fi.baseName() + ".pro";
+ profile += fi.baseName() + Option::pro_ext;
subdirs.append(profile);
} else {
QMakeProject tmp_proj;
diff --git a/qmake/generators/win32/msvc_objectmodel.cpp b/qmake/generators/win32/msvc_objectmodel.cpp
index 9d3fa67..372d902 100644
--- a/qmake/generators/win32/msvc_objectmodel.cpp
+++ b/qmake/generators/win32/msvc_objectmodel.cpp
@@ -49,9 +49,9 @@ QT_BEGIN_NAMESPACE
// XML Tags ---------------------------------------------------------
const char _Configuration[] = "Configuration";
const char _Configurations[] = "Configurations";
-const char _File[] = "File";
+const char q_File[] = "File";
const char _FileConfiguration[] = "FileConfiguration";
-const char _Files[] = "Files";
+const char q_Files[] = "Files";
const char _Filter[] = "Filter";
const char _Globals[] = "Globals";
const char _Platform[] = "Platform";
@@ -2402,11 +2402,11 @@ XmlOutput &operator<<(XmlOutput &xml, VCFilter &tool)
}
for (int i = 0; i < tool.Files.count(); ++i) {
const VCFilterFile &info = tool.Files.at(i);
- xml << tag(_File)
+ xml << tag(q_File)
<< attrS(_RelativePath, Option::fixPathToLocalOS(info.file))
<< data(); // In case no custom builds, to avoid "/>" endings
tool.outputFileConfig(xml, tool.Files.at(i).file);
- xml << closetag(_File);
+ xml << closetag(q_File);
}
if (!tool.Name.isEmpty())
xml << closetag(_Filter);
@@ -2442,7 +2442,7 @@ XmlOutput &operator<<(XmlOutput &xml, const VCProjectSingleConfig &tool)
<< tag(_Configurations)
<< tool.Configuration;
xml << closetag(_Configurations)
- << tag(_Files);
+ << tag(q_Files);
// Add this configuration into a multi-config project, since that's where we have the flat/tree
// XML output functionality
VCProject tempProj;
@@ -2458,7 +2458,7 @@ XmlOutput &operator<<(XmlOutput &xml, const VCProjectSingleConfig &tool)
tempProj.outputFilter(xml, tempProj.ExtraCompilers.at(x));
}
tempProj.outputFilter(xml, "RootFiles");
- xml << closetag(_Files)
+ xml << closetag(q_Files)
<< tag(_Globals)
<< data(); // No "/>" end tag
return xml;
@@ -2513,7 +2513,7 @@ void VCProject::outputFileConfigs(XmlOutput &xml,
const VCFilterFile &info,
const QString &filtername)
{
- xml << tag(_File)
+ xml << tag(q_File)
<< attrS(_RelativePath, Option::fixPathToLocalOS(info.file));
for (int i = 0; i < SingleProjects.count(); ++i) {
VCFilter filter;
@@ -2541,7 +2541,7 @@ void VCProject::outputFileConfigs(XmlOutput &xml,
if (filter.Config) // only if the filter is not empty
filter.outputFileConfig(xml, info.file);
}
- xml << closetag(_File);
+ xml << closetag(q_File);
}
// outputs a given filter for all existing configurations of a project
@@ -2636,7 +2636,7 @@ XmlOutput &operator<<(XmlOutput &xml, VCProject &tool)
for (int i = 0; i < tool.SingleProjects.count(); ++i)
xml << tool.SingleProjects.at(i).Configuration;
xml << closetag(_Configurations)
- << tag(_Files);
+ << tag(q_Files);
tool.outputFilter(xml, "Sources");
tool.outputFilter(xml, "Headers");
tool.outputFilter(xml, "GeneratedFiles");
@@ -2648,7 +2648,7 @@ XmlOutput &operator<<(XmlOutput &xml, VCProject &tool)
tool.outputFilter(xml, tool.ExtraCompilers.at(x));
}
tool.outputFilter(xml, "RootFiles");
- xml << closetag(_Files)
+ xml << closetag(q_Files)
<< tag(_Globals)
<< data(); // No "/>" end tag
return xml;
diff --git a/qmake/generators/win32/msvc_vcproj.cpp b/qmake/generators/win32/msvc_vcproj.cpp
index 303e3e1..538b0e7 100644
--- a/qmake/generators/win32/msvc_vcproj.cpp
+++ b/qmake/generators/win32/msvc_vcproj.cpp
@@ -120,14 +120,7 @@ static QString readRegistryKey(HKEY parentHandle, const QString &rSubkey)
QString rSubkeyPath = keyPath(rSubkey);
HKEY handle = 0;
- LONG res;
- QT_WA( {
- res = RegOpenKeyExW(parentHandle, (WCHAR*)rSubkeyPath.utf16(),
- 0, KEY_READ, &handle);
- } , {
- res = RegOpenKeyExA(parentHandle, rSubkeyPath.toLocal8Bit(),
- 0, KEY_READ, &handle);
- } );
+ LONG res = RegOpenKeyEx(parentHandle, (wchar_t*)rSubkeyPath.utf16(), 0, KEY_READ, &handle);
if (res != ERROR_SUCCESS)
return QString();
@@ -135,11 +128,7 @@ static QString readRegistryKey(HKEY parentHandle, const QString &rSubkey)
// get the size and type of the value
DWORD dataType;
DWORD dataSize;
- QT_WA( {
- res = RegQueryValueExW(handle, (WCHAR*)rSubkeyName.utf16(), 0, &dataType, 0, &dataSize);
- }, {
- res = RegQueryValueExA(handle, rSubkeyName.toLocal8Bit(), 0, &dataType, 0, &dataSize);
- } );
+ res = RegQueryValueEx(handle, (wchar_t*)rSubkeyName.utf16(), 0, &dataType, 0, &dataSize);
if (res != ERROR_SUCCESS) {
RegCloseKey(handle);
return QString();
@@ -147,13 +136,8 @@ static QString readRegistryKey(HKEY parentHandle, const QString &rSubkey)
// get the value
QByteArray data(dataSize, 0);
- QT_WA( {
- res = RegQueryValueExW(handle, (WCHAR*)rSubkeyName.utf16(), 0, 0,
- reinterpret_cast<unsigned char*>(data.data()), &dataSize);
- }, {
- res = RegQueryValueExA(handle, rSubkeyName.toLocal8Bit(), 0, 0,
- reinterpret_cast<unsigned char*>(data.data()), &dataSize);
- } );
+ res = RegQueryValueEx(handle, (wchar_t*)rSubkeyName.utf16(), 0, 0,
+ reinterpret_cast<unsigned char*>(data.data()), &dataSize);
if (res != ERROR_SUCCESS) {
RegCloseKey(handle);
return QString();
@@ -163,11 +147,7 @@ static QString readRegistryKey(HKEY parentHandle, const QString &rSubkey)
switch (dataType) {
case REG_EXPAND_SZ:
case REG_SZ: {
- QT_WA( {
- result = QString::fromUtf16(((const ushort*)data.constData()));
- }, {
- result = QString::fromLatin1(data.constData());
- } );
+ result = QString::fromWCharArray(((const wchar_t *)data.constData()));
break;
}
@@ -175,12 +155,7 @@ static QString readRegistryKey(HKEY parentHandle, const QString &rSubkey)
QStringList l;
int i = 0;
for (;;) {
- QString s;
- QT_WA( {
- s = QString::fromUtf16((const ushort*)data.constData() + i);
- }, {
- s = QString::fromLatin1(data.constData() + i);
- } );
+ QString s = QString::fromWCharArray((const wchar_t *)data.constData() + i);
i += s.length() + 1;
if (s.isEmpty())
@@ -193,11 +168,7 @@ static QString readRegistryKey(HKEY parentHandle, const QString &rSubkey)
case REG_NONE:
case REG_BINARY: {
- QT_WA( {
- result = QString::fromUtf16((const ushort*)data.constData(), data.size()/2);
- }, {
- result = QString::fromLatin1(data.constData(), data.size());
- } );
+ result = QString::fromWCharArray((const wchar_t *)data.constData(), data.size() / 2);
break;
}
@@ -524,7 +495,7 @@ void VcprojGenerator::writeSubDirs(QTextStream &t)
QString profile = tmp;
if(!profile.endsWith(Option::dir_sep))
profile += Option::dir_sep;
- profile += fi.baseName() + ".pro";
+ profile += fi.baseName() + Option::pro_ext;
subdirs.append(profile);
} else {
QMakeProject tmp_proj;
@@ -1268,9 +1239,8 @@ void VcprojGenerator::initDeploymentTool()
foreach(QString item, project->values("DEPLOYMENT")) {
// get item.path
QString devicePath = project->first(item + ".path");
- // if the path does not exist, skip it
if (devicePath.isEmpty())
- continue;
+ devicePath = targetPath;
// check if item.path is relative (! either /,\ or %)
if (!(devicePath.at(0) == QLatin1Char('/')
|| devicePath.at(0) == QLatin1Char('\\')
diff --git a/qmake/option.cpp b/qmake/option.cpp
index 0e4a608..6ec61ec 100644
--- a/qmake/option.cpp
+++ b/qmake/option.cpp
@@ -68,6 +68,7 @@ QString Option::obj_ext;
QString Option::lex_ext;
QString Option::yacc_ext;
QString Option::pro_ext;
+QString Option::mmp_ext;
QString Option::dir_sep;
QString Option::dirlist_sep;
QString Option::h_moc_mod;
@@ -99,8 +100,6 @@ QStringList Option::shellPath;
Option::TARG_MODE Option::target_mode = Option::TARG_WIN_MODE;
#elif defined(Q_OS_MAC)
Option::TARG_MODE Option::target_mode = Option::TARG_MACX_MODE;
-#elif defined(Q_OS_QNX6)
-Option::TARG_MODE Option::target_mode = Option::TARG_QNX6_MODE;
#else
Option::TARG_MODE Option::target_mode = Option::TARG_UNIX_MODE;
#endif
@@ -381,6 +380,7 @@ Option::init(int argc, char **argv)
Option::lex_ext = ".l";
Option::yacc_ext = ".y";
Option::pro_ext = ".pro";
+ Option::mmp_ext = ".mmp";
#ifdef Q_OS_WIN
Option::dirlist_sep = ";";
Option::shellPath = detectShellPath();
@@ -716,16 +716,9 @@ QString qmake_libraryInfoFile()
{
QString ret;
#if defined( Q_OS_WIN )
- QFileInfo filePath;
- QT_WA({
- unsigned short module_name[256];
- GetModuleFileNameW(0, reinterpret_cast<wchar_t *>(module_name), sizeof(module_name));
- filePath = QString::fromUtf16(module_name);
- }, {
- char module_name[256];
- GetModuleFileNameA(0, module_name, sizeof(module_name));
- filePath = QString::fromLocal8Bit(module_name);
- });
+ wchar_t module_name[MAX_PATH];
+ GetModuleFileName(0, module_name, MAX_PATH);
+ QFileInfo filePath = QString::fromWCharArray(module_name);
ret = filePath.filePath();
#else
QString argv0 = QFile::decodeName(QByteArray(Option::application_argv0));
diff --git a/qmake/option.h b/qmake/option.h
index 4205b03..b548aa5 100644
--- a/qmake/option.h
+++ b/qmake/option.h
@@ -92,6 +92,7 @@ struct Option
static QString dirlist_sep;
static QString sysenv_mod;
static QString pro_ext;
+ static QString mmp_ext;
static QString res_ext;
static char field_sep;
static const char *application_argv0;
@@ -149,7 +150,7 @@ struct Option
static int warn_level;
static bool recursive;
static QStringList before_user_vars, after_user_vars, user_configs, after_user_configs;
- enum TARG_MODE { TARG_UNIX_MODE, TARG_WIN_MODE, TARG_MACX_MODE, TARG_MAC9_MODE, TARG_QNX6_MODE };
+ enum TARG_MODE { TARG_UNIX_MODE, TARG_WIN_MODE, TARG_MACX_MODE, TARG_MAC9_MODE };
static TARG_MODE target_mode;
static QString user_template, user_template_prefix;
static QStringList shellPath;
diff --git a/qmake/project.cpp b/qmake/project.cpp
index 7c7044c..6bb8b2c 100644
--- a/qmake/project.cpp
+++ b/qmake/project.cpp
@@ -597,8 +597,7 @@ static void qmake_error_msg(const QString &msg)
msg.toLatin1().constData());
}
-enum isForSymbian_enum
-{
+enum isForSymbian_enum {
isForSymbian_NOT_SET = -1,
isForSymbian_FALSE = 0,
isForSymbian_ABLD = 1,
@@ -705,10 +704,6 @@ QStringList qmake_feature_paths(QMakeProperty *prop=0)
concat << base_concat + QDir::separator() + "mac";
concat << base_concat + QDir::separator() + "mac9";
break;
- case Option::TARG_QNX6_MODE: //also a unix
- concat << base_concat + QDir::separator() + "qnx6";
- concat << base_concat + QDir::separator() + "unix";
- break;
}
concat << base_concat;
}
@@ -1606,8 +1601,8 @@ QMakeProject::read(uchar cmd)
if(cmd & ReadProFile) { // parse project file
debug_msg(1, "Project file: reading %s", pfile.toLatin1().constData());
- if(pfile != "-" && !QFile::exists(pfile) && !pfile.endsWith(".pro"))
- pfile += ".pro";
+ if(pfile != "-" && !QFile::exists(pfile) && !pfile.endsWith(Option::pro_ext))
+ pfile += Option::pro_ext;
if(!read(pfile, vars))
return false;
}
@@ -1707,13 +1702,11 @@ QMakeProject::isActiveConfig(const QString &x, bool regex, QMap<QString, QString
return true;
//mkspecs
- if((Option::target_mode == Option::TARG_MACX_MODE || Option::target_mode == Option::TARG_QNX6_MODE ||
+ if((Option::target_mode == Option::TARG_MACX_MODE ||
Option::target_mode == Option::TARG_UNIX_MODE) && x == "unix")
return !isForSymbian();
else if(Option::target_mode == Option::TARG_MACX_MODE && x == "macx")
return !isForSymbian();
- else if(Option::target_mode == Option::TARG_QNX6_MODE && x == "qnx6")
- return !isForSymbian();
else if(Option::target_mode == Option::TARG_MAC9_MODE && x == "mac9")
return !isForSymbian();
else if((Option::target_mode == Option::TARG_MAC9_MODE || Option::target_mode == Option::TARG_MACX_MODE) &&
@@ -3261,9 +3254,9 @@ QStringList &QMakeProject::values(const QString &_var, QMap<QString, QStringList
ret = "Windows";
} else if(type == "name") {
DWORD name_length = 1024;
- TCHAR name[1024];
- if(GetComputerName(name, &name_length))
- ret = QString::fromUtf16((ushort*)name, name_length);
+ wchar_t name[1024];
+ if (GetComputerName(name, &name_length))
+ ret = QString::fromWCharArray(name);
} else if(type == "version" || type == "version_string") {
QSysInfo::WinVersion ver = QSysInfo::WindowsVersion;
if(type == "version")
@@ -3339,10 +3332,10 @@ QStringList &QMakeProject::values(const QString &_var, QMap<QString, QStringList
// UIDs starting with 0xE are test UIDs in symbian
-QString generate_test_uid(const QString& target)
+QString generate_test_uid(const QString& target)
{
QString tmp = generate_uid(target);
- tmp.replace(0,1,"E");
+ tmp.replace(0, 1, "E");
tmp.prepend("0x");
return tmp;
@@ -3350,38 +3343,38 @@ QString generate_test_uid(const QString& target)
// UIDs starting with 0xE are test UIDs in symbian
-QString generate_uid(const QString& target)
+QString generate_uid(const QString& target)
{
static QMap<QString, QString> targetToUid;
QString tmp = targetToUid[target];
- if(!tmp.isEmpty()) {
+ if (!tmp.isEmpty()) {
return tmp;
}
unsigned long hash = 5381;
int c;
- for(int i = 0; i < target.size(); ++i) {
+ for (int i = 0; i < target.size(); ++i) {
c = target.at(i).toAscii();
- hash ^= c + ((c-i) << i%20) + ((c+i) << (i+5)%20) + ((c-2*i) << (i+10)%20) + ((c+2*i) << (i+15)%20);
+ hash ^= c + ((c - i) << i % 20) + ((c + i) << (i + 5) % 20) + ((c - 2 * i) << (i + 10) % 20) + ((c + 2 * i) << (i + 15) % 20);
}
tmp.setNum(hash, 16);
- for(int i = tmp.size(); i < 8; ++i)
+ for (int i = tmp.size(); i < 8; ++i)
tmp.prepend("0");
#if 0
static QMap<QString, QString> uidConflictCheckList;
QString testStr = tmp;
- testStr.replace(0,1,"E"); // Simulate actual UID generation
+ testStr.replace(0, 1, "E"); // Simulate actual UID generation
if (uidConflictCheckList.contains(testStr)) {
printf("\n\n!!!! generated duplicate uid for %s is %s <-> %s !!!!\n\n\n",
- qPrintable(target),
- qPrintable(testStr),
- qPrintable(uidConflictCheckList.value(testStr)));
- }
+ qPrintable(target),
+ qPrintable(testStr),
+ qPrintable(uidConflictCheckList.value(testStr)));
+ }
uidConflictCheckList.insert(testStr, target);
printf("generate_uid for %s is %s \n", qPrintable(target), qPrintable(tmp));
#endif
@@ -3393,7 +3386,7 @@ QString generate_uid(const QString& target)
static void fixEpocRootStr(QString& path)
{
- path.replace("\\","/");
+ path.replace("\\", "/");
if (path.size() > 1 && path[1] == QChar(':')) {
path = path.mid(2);
@@ -3410,8 +3403,7 @@ static QString epocRootStr;
QString epocRoot()
{
- if (!epocRootStr.isEmpty())
- {
+ if (!epocRootStr.isEmpty()) {
return epocRootStr;
}
diff --git a/qmake/qmake.pri b/qmake/qmake.pri
index f43d933..65bd7d4 100644
--- a/qmake/qmake.pri
+++ b/qmake/qmake.pri
@@ -68,6 +68,8 @@ bootstrap { #Qt code
qmap.cpp \
qmetatype.cpp \
qregexp.cpp \
+ qtextcodec.cpp \
+ qutfcodec.cpp \
qstring.cpp \
qstringlist.cpp \
qtemporaryfile.cpp \
@@ -107,6 +109,8 @@ bootstrap { #Qt code
qmap.h \
qmetatype.h \
qregexp.h \
+ qtextcodec.h \
+ qutfcodec.h \
qstring.h \
qstringlist.h \
qstringmatcher.h \
diff --git a/qmake/qmake.pro b/qmake/qmake.pro
index 594e698..acf7718 100644
--- a/qmake/qmake.pro
+++ b/qmake/qmake.pro
@@ -15,6 +15,7 @@ MOC_DIR = .
VPATH += $$QT_SOURCE_TREE/src/corelib/global \
$$QT_SOURCE_TREE/src/corelib/tools \
$$QT_SOURCE_TREE/src/corelib/kernel \
+ $$QT_SOURCE_TREE/src/corelib/codecs \
$$QT_SOURCE_TREE/src/corelib/plugin \
$$QT_SOURCE_TREE/src/corelib/io \
$$QT_SOURCE_TREE/src/corelib/xml \
diff --git a/qmake/qpopen.cpp b/qmake/qpopen.cpp
index 7acff92..f2d530d 100644
--- a/qmake/qpopen.cpp
+++ b/qmake/qpopen.cpp
@@ -1,9 +1,9 @@
/****************************************************************************
**
-** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
-** This file is part of the $MODULE$ of the Qt Toolkit.
+** This file is part of the qmake application of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
@@ -59,7 +59,7 @@ bool QPopen::init(const char *command, const char* /* mode */)
}
// Ensure that the read handle to the child process's pipe for STDOUT is not inherited.
- SetHandleInformation( childStdOutR, HANDLE_FLAG_INHERIT, 0);
+ SetHandleInformation(childStdOutR, HANDLE_FLAG_INHERIT, 0);
// Create a pipe for the child process's STDIN.
if (! CreatePipe(&childStdInR, &childStdInW, &attributes, 0)) {
@@ -67,18 +67,18 @@ bool QPopen::init(const char *command, const char* /* mode */)
}
// Ensure that the write handle to the child process's pipe for STDIN is not inherited.
- SetHandleInformation( childStdInW, HANDLE_FLAG_INHERIT, 0);
+ SetHandleInformation(childStdInW, HANDLE_FLAG_INHERIT, 0);
TCHAR *szCmdLine = new TCHAR[strlen(command)+1];
strcpy(szCmdLine, command);
// Set up members of the PROCESS_INFORMATION structure.
- ZeroMemory( &processInfo, sizeof(PROCESS_INFORMATION) );
+ ZeroMemory(&processInfo, sizeof(PROCESS_INFORMATION));
// Set up members of the STARTUPINFO structure.
- ZeroMemory( &siStartInfo, sizeof(STARTUPINFO) );
+ ZeroMemory(&siStartInfo, sizeof(STARTUPINFO));
siStartInfo.cb = sizeof(STARTUPINFO);
siStartInfo.hStdError = childStdOutW;
siStartInfo.hStdOutput = childStdOutW;
@@ -88,15 +88,15 @@ bool QPopen::init(const char *command, const char* /* mode */)
// Create the child process.
bool success = CreateProcess(NULL,
- szCmdLine, // command line
- NULL, // process security attributes
- NULL, // primary thread security attributes
- TRUE, // handles are inherited
- 0, // creation flags
- NULL, // use parent's environment
- NULL, // use parent's current directory
- &siStartInfo, // STARTUPINFO pointer
- &processInfo); // receives PROCESS_INFORMATION
+ szCmdLine, // command line
+ NULL, // process security attributes
+ NULL, // primary thread security attributes
+ TRUE, // handles are inherited
+ 0, // creation flags
+ NULL, // use parent's environment
+ NULL, // use parent's current directory
+ &siStartInfo, // STARTUPINFO pointer
+ &processInfo); // receives PROCESS_INFORMATION
delete szCmdLine;
@@ -118,7 +118,7 @@ int QPopen::fwrite(char* buffer, int maxBytes)
DWORD bytesWritten;
bool success = WriteFile(childStdInW, buffer, maxBytes, &bytesWritten, NULL);
- if(success) {
+ if (success) {
return bytesWritten;
}
@@ -129,11 +129,11 @@ int QPopen::fread(char* buffer, int maxBytes)
{
DWORD bytesRead;
- if( !CloseHandle(childStdOutW) )
+ if (!CloseHandle(childStdOutW))
return 0;
bool success = ReadFile(childStdOutR, buffer, maxBytes, &bytesRead, NULL);
- if(success)
+ if (success)
return bytesRead;
return 0;
diff --git a/qmake/qpopen.h b/qmake/qpopen.h
index e15830d..f979c97 100644
--- a/qmake/qpopen.h
+++ b/qmake/qpopen.h
@@ -1,9 +1,9 @@
/****************************************************************************
**
-** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
-** This file is part of the $MODULE$ of the Qt Toolkit.
+** This file is part of the qmake application of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/src/3rdparty/freetype/builds/unix/ftsystem.c b/src/3rdparty/freetype/builds/unix/ftsystem.c
index 3a740fd..40fa8d0 100644
--- a/src/3rdparty/freetype/builds/unix/ftsystem.c
+++ b/src/3rdparty/freetype/builds/unix/ftsystem.c
@@ -69,6 +69,9 @@
#include <string.h>
#include <errno.h>
+#ifdef VXWORKS
+#include <ioLib.h>
+#endif
/*************************************************************************/
/* */
@@ -238,7 +241,7 @@
return FT_Err_Invalid_Stream_Handle;
/* open the file */
- file = open( filepathname, O_RDONLY );
+ file = open( filepathname, O_RDONLY, 0);
if ( file < 0 )
{
FT_ERROR(( "FT_Stream_Open:" ));
@@ -317,7 +320,11 @@
read_count = read( file,
+#ifndef VXWORKS
stream->base + total_read_count,
+#else
+ (char *) stream->base + total_read_count,
+#endif
stream->size - total_read_count );
if ( read_count <= 0 )
diff --git a/src/3rdparty/libjpeg/jmorecfg.h b/src/3rdparty/libjpeg/jmorecfg.h
index 54a7d1c..b0b5870 100644
--- a/src/3rdparty/libjpeg/jmorecfg.h
+++ b/src/3rdparty/libjpeg/jmorecfg.h
@@ -157,7 +157,7 @@ typedef short INT16;
/* INT32 must hold at least signed 32-bit values. */
-#ifndef XMD_H /* X11/xmd.h correctly defines INT32 */
+#if !defined(XMD_H) && !defined(VXWORKS) /* X11/xmd.h correctly defines INT32 */
typedef long INT32;
#endif
@@ -183,6 +183,9 @@ typedef unsigned int JDIMENSION;
/* a function called through method pointers: */
#define METHODDEF(type) static type
/* a function used only in its module: */
+#if defined(VXWORKS) && defined(LOCAL)
+# undef LOCAL
+#endif
#define LOCAL(type) static type
/* a function referenced thru EXTERNs: */
#define GLOBAL(type) type
diff --git a/src/3rdparty/libpng/pngconf.h b/src/3rdparty/libpng/pngconf.h
index 9edb468..e680a05 100644
--- a/src/3rdparty/libpng/pngconf.h
+++ b/src/3rdparty/libpng/pngconf.h
@@ -344,7 +344,7 @@
# endif /* __linux__ */
#endif /* PNG_SETJMP_SUPPORTED */
-#ifdef BSD
+#if defined(BSD) && !defined(VXWORKS)
# include <strings.h>
#else
# include <string.h>
diff --git a/src/3rdparty/libtiff/libtiff/tif_config.h b/src/3rdparty/libtiff/libtiff/tif_config.h
index f6da51b..a6bb35d 100644
--- a/src/3rdparty/libtiff/libtiff/tif_config.h
+++ b/src/3rdparty/libtiff/libtiff/tif_config.h
@@ -104,7 +104,7 @@
/* #undef HAVE_PTHREAD */
/* Define to 1 if you have the <search.h> header file. */
-#if !defined(Q_OS_WINCE) && !defined(Q_OS_SYMBIAN)
+#if !defined(Q_OS_WINCE) && !defined(Q_OS_SYMBIAN) && !defined(Q_OS_VXWORKS)
#define HAVE_SEARCH_H 1
#endif
diff --git a/src/3rdparty/patches/freetype-2.3.6-vxworks.patch b/src/3rdparty/patches/freetype-2.3.6-vxworks.patch
new file mode 100644
index 0000000..21e884c
--- /dev/null
+++ b/src/3rdparty/patches/freetype-2.3.6-vxworks.patch
@@ -0,0 +1,35 @@
+diff --git builds/unix/ftsystem.c builds/unix/ftsystem.c
+index 3a740fd..40fa8d0 100644
+--- builds/unix/ftsystem.c
++++ builds/unix/ftsystem.c
+@@ -69,6 +69,9 @@
+ #include <string.h>
+ #include <errno.h>
+
++#ifdef VXWORKS
++#include <ioLib.h>
++#endif
+
+ /*************************************************************************/
+ /* */
+@@ -238,7 +241,7 @@
+ return FT_Err_Invalid_Stream_Handle;
+
+ /* open the file */
+- file = open( filepathname, O_RDONLY );
++ file = open( filepathname, O_RDONLY, 0);
+ if ( file < 0 )
+ {
+ FT_ERROR(( "FT_Stream_Open:" ));
+@@ -317,7 +320,11 @@
+
+
+ read_count = read( file,
++#ifndef VXWORKS
+ stream->base + total_read_count,
++#else
++ (char *) stream->base + total_read_count,
++#endif
+ stream->size - total_read_count );
+
+ if ( read_count <= 0 )
diff --git a/src/3rdparty/patches/libjpeg-6b-vxworks.patch b/src/3rdparty/patches/libjpeg-6b-vxworks.patch
new file mode 100644
index 0000000..263c8d0
--- /dev/null
+++ b/src/3rdparty/patches/libjpeg-6b-vxworks.patch
@@ -0,0 +1,23 @@
+diff --git jmorecfg.h jmorecfg.h
+index 54a7d1c..b0b5870 100644
+--- jmorecfg.h
++++ jmorecfg.h
+@@ -157,7 +157,7 @@ typedef short INT16;
+
+ /* INT32 must hold at least signed 32-bit values. */
+
+-#ifndef XMD_H /* X11/xmd.h correctly defines INT32 */
++#if !defined(XMD_H) && !defined(VXWORKS) /* X11/xmd.h correctly defines INT32 */
+ typedef long INT32;
+ #endif
+
+@@ -183,6 +183,9 @@ typedef unsigned int JDIMENSION;
+ /* a function called through method pointers: */
+ #define METHODDEF(type) static type
+ /* a function used only in its module: */
++#if defined(VXWORKS) && defined(LOCAL)
++# undef LOCAL
++#endif
+ #define LOCAL(type) static type
+ /* a function referenced thru EXTERNs: */
+ #define GLOBAL(type) type
diff --git a/src/3rdparty/patches/libpng-1.2.20-vxworks.patch b/src/3rdparty/patches/libpng-1.2.20-vxworks.patch
new file mode 100644
index 0000000..4c49b3f
--- /dev/null
+++ b/src/3rdparty/patches/libpng-1.2.20-vxworks.patch
@@ -0,0 +1,13 @@
+diff --git pngconf.h pngconf.h
+index 19e4732..8eb7d35 100644
+--- pngconf.h
++++ pngconf.h
+@@ -344,7 +344,7 @@
+ # endif /* __linux__ */
+ #endif /* PNG_SETJMP_SUPPORTED */
+
+-#ifdef BSD
++#if defined(BSD) && !defined(VXWORKS)
+ # include <strings.h>
+ #else
+ # include <string.h>
diff --git a/src/3rdparty/patches/libtiff-3.8.2-vxworks.patch b/src/3rdparty/patches/libtiff-3.8.2-vxworks.patch
new file mode 100644
index 0000000..b1b725e
--- /dev/null
+++ b/src/3rdparty/patches/libtiff-3.8.2-vxworks.patch
@@ -0,0 +1,11 @@
+--- libtiff/tif_config.h.orig
++++ libtiff/tif_config.h
+@@ -104,7 +104,7 @@
+ /* #undef HAVE_PTHREAD */
+
+ /* Define to 1 if you have the <search.h> header file. */
+-#if !defined(Q_OS_WINCE)
++#if !defined(Q_OS_WINCE) && !defined(Q_OS_VXWORKS)
+ #define HAVE_SEARCH_H 1
+ #endif
+
diff --git a/src/3rdparty/patches/sqlite-3.5.6-vxworks.patch b/src/3rdparty/patches/sqlite-3.5.6-vxworks.patch
new file mode 100644
index 0000000..6ae65fd
--- /dev/null
+++ b/src/3rdparty/patches/sqlite-3.5.6-vxworks.patch
@@ -0,0 +1,68 @@
+--- sqlite3.c.orig
++++ sqlite3.c
+@@ -383,7 +383,7 @@ SQLITE_PRIVATE void sqlite3Coverage(int);
+ **
+ ** See also ticket #2741.
+ */
+-#if !defined(_XOPEN_SOURCE) && !defined(__DARWIN__) && !defined(__APPLE__) && SQLITE_THREADSAFE
++#if !defined(_XOPEN_SOURCE) && !defined(__DARWIN__) && !defined(__APPLE__) && SQLITE_THREADSAFE && !defined(VXWORKS)
+ # define _XOPEN_SOURCE 500 /* Needed to enable pthread recursive mutexes */
+ #endif
+
+@@ -440,6 +440,13 @@ SQLITE_PRIVATE void sqlite3Coverage(int);
+ */
+ #ifndef _SQLITE3_H_
+ #define _SQLITE3_H_
++
++#ifdef VXWORKS
++# define SQLITE_HOMEGROWN_RECURSIVE_MUTEX
++# define NO_GETTOD
++# include <ioLib.h>
++#endif
++
+ #include <stdarg.h> /* Needed for the definition of va_list */
+
+ /*
+@@ -18792,7 +18799,11 @@ SQLITE_PRIVATE sqlite3_vfs *sqlite3OsDefaultVfs(void){
+ #include <sys/stat.h>
+ #include <fcntl.h>
+ #include <unistd.h>
+-#include <sys/time.h>
++#ifdef VXWORKS
++# include <sys/times.h>
++#else
++# include <sys/time.h>
++#endif
+ #include <errno.h>
+ #ifdef SQLITE_ENABLE_LOCKING_STYLE
+ #include <sys/ioctl.h>
+@@ -19728,7 +19739,11 @@ static int seekAndWrite(unixFile *id, i64 offset, const void *pBuf, int cnt){
+ if( newOffset!=offset ){
+ return -1;
+ }
++# ifndef VXWORKS
+ got = write(id->h, pBuf, cnt);
++# else
++ got = write(id->h, (char *)pBuf, cnt);
++# endif
+ #endif
+ TIMER_END;
+ OSTRACE5("WRITE %-3d %5d %7lld %d\n", id->h, got, offset, TIMER_ELAPSED);
+@@ -21554,12 +21569,16 @@ static int unixRandomness(sqlite3_vfs *pVfs, int nBuf, char *zBuf){
+ #if !defined(SQLITE_TEST)
+ {
+ int pid, fd;
+- fd = open("/dev/urandom", O_RDONLY);
++ fd = open("/dev/urandom", O_RDONLY, 0);
+ if( fd<0 ){
+ time_t t;
+ time(&t);
+ memcpy(zBuf, &t, sizeof(t));
++#ifndef VXWORKS
+ pid = getpid();
++#else
++ pid = (int)taskIdCurrent();
++#endif
+ memcpy(&zBuf[sizeof(t)], &pid, sizeof(pid));
+ }else{
+ read(fd, zBuf, nBuf);
diff --git a/src/3rdparty/phonon/ds9/abstractvideorenderer.cpp b/src/3rdparty/phonon/ds9/abstractvideorenderer.cpp
index e932e70..a9d0694 100644
--- a/src/3rdparty/phonon/ds9/abstractvideorenderer.cpp
+++ b/src/3rdparty/phonon/ds9/abstractvideorenderer.cpp
@@ -99,8 +99,8 @@ namespace Phonon
m_dstX = m_dstY = 0;
if (ratio > 0) {
- if (realWidth / realHeight > ratio && scaleMode == Phonon::VideoWidget::FitInView
- || realWidth / realHeight < ratio && scaleMode == Phonon::VideoWidget::ScaleAndCrop) {
+ if ((realWidth / realHeight > ratio && scaleMode == Phonon::VideoWidget::FitInView)
+ || (realWidth / realHeight < ratio && scaleMode == Phonon::VideoWidget::ScaleAndCrop)) {
//the height is correct, let's change the width
m_dstWidth = qRound(realHeight * ratio);
m_dstX = qRound((realWidth - realHeight * ratio) / 2.);
diff --git a/src/3rdparty/phonon/ds9/backend.cpp b/src/3rdparty/phonon/ds9/backend.cpp
index 245749a..2c56af7 100644
--- a/src/3rdparty/phonon/ds9/backend.cpp
+++ b/src/3rdparty/phonon/ds9/backend.cpp
@@ -50,7 +50,7 @@ namespace Phonon
Backend::Backend(QObject *parent, const QVariantList &)
: QObject(parent)
{
- ::CoInitialize(0);
+ ::CoInitialize(0);
//registering meta types
qRegisterMetaType<HRESULT>("HRESULT");
@@ -61,7 +61,7 @@ namespace Phonon
{
m_audioOutputs.clear();
m_audioEffects.clear();
- ::CoUninitialize();
+ ::CoUninitialize();
}
QObject *Backend::createObject(BackendInterface::Class c, QObject *parent, const QList<QVariant> &args)
@@ -216,7 +216,7 @@ namespace Phonon
LPOLESTR str = 0;
HRESULT hr = mon->GetDisplayName(0,0, &str);
if (SUCCEEDED(hr)) {
- QString name = QString::fromUtf16((unsigned short*)str);
+ QString name = QString::fromUtf16((unsigned short*)str);
ComPointer<IMalloc> alloc;
::CoGetMalloc(1, alloc.pparam());
alloc->Free(str);
diff --git a/src/3rdparty/phonon/ds9/backendnode.cpp b/src/3rdparty/phonon/ds9/backendnode.cpp
index 7e0b3cd..855357a 100644
--- a/src/3rdparty/phonon/ds9/backendnode.cpp
+++ b/src/3rdparty/phonon/ds9/backendnode.cpp
@@ -57,6 +57,8 @@ namespace Phonon
BackendNode::~BackendNode()
{
+ //this will remove the filter from the graph
+ mediaObjectDestroyed();
}
void BackendNode::setMediaObject(MediaObject *mo)
diff --git a/src/3rdparty/phonon/ds9/fakesource.cpp b/src/3rdparty/phonon/ds9/fakesource.cpp
index 9a61a2e..4dce138 100644
--- a/src/3rdparty/phonon/ds9/fakesource.cpp
+++ b/src/3rdparty/phonon/ds9/fakesource.cpp
@@ -29,8 +29,10 @@ namespace Phonon
namespace DS9
{
static WAVEFORMATEX g_defaultWaveFormat = {WAVE_FORMAT_PCM, 2, 44100, 176400, 4, 16, 0};
- static BITMAPINFOHEADER g_defautBitmapHeader = { sizeof(BITMAPINFOHEADER), 1, 1, 1, 0, 0, 0, 0, 0, 0, 0};
- static VIDEOINFOHEADER2 g_defaultVideoInfo = { { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
+ static VIDEOINFOHEADER2 g_defaultVideoInfo = { { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, 0, 0, 0, 0, 0, 0, 0, {0}, 0, {sizeof(BITMAPINFOHEADER), 1, 1, 1, 0, 0, 0, 0, 0, 0, 0} };
+
+ static const AM_MEDIA_TYPE g_fakeAudioType = {MEDIATYPE_Audio, MEDIASUBTYPE_PCM, 0, 0, 2, FORMAT_WaveFormatEx, 0, sizeof(WAVEFORMATEX), reinterpret_cast<BYTE*>(&g_defaultWaveFormat)};
+ static const AM_MEDIA_TYPE g_fakeVideoType = {MEDIATYPE_Video, MEDIASUBTYPE_RGB32, TRUE, FALSE, 0, FORMAT_VideoInfo2, 0, sizeof(VIDEOINFOHEADER2), reinterpret_cast<BYTE*>(&g_defaultVideoInfo)};
class FakePin : public QPin
{
@@ -128,36 +130,12 @@ namespace Phonon
void FakeSource::createFakeAudioPin()
{
- AM_MEDIA_TYPE mt;
- qMemSet(&mt, 0, sizeof(AM_MEDIA_TYPE));
- mt.majortype = MEDIATYPE_Audio;
- mt.subtype = MEDIASUBTYPE_PCM;
- mt.formattype = FORMAT_WaveFormatEx;
- mt.lSampleSize = 2;
-
- //fake the format (stereo 44.1 khz stereo 16 bits)
- mt.cbFormat = sizeof(WAVEFORMATEX);
- mt.pbFormat = reinterpret_cast<BYTE*>(&g_defaultWaveFormat);
-
- new FakePin(this, mt);
+ new FakePin(this, g_fakeAudioType);
}
void FakeSource::createFakeVideoPin()
{
- AM_MEDIA_TYPE mt;
- qMemSet(&mt, 0, sizeof(AM_MEDIA_TYPE));
- mt.majortype = MEDIATYPE_Video;
- mt.subtype = MEDIASUBTYPE_RGB32;
- mt.formattype = FORMAT_VideoInfo2;
- mt.bFixedSizeSamples = 1;
-
- g_defaultVideoInfo.bmiHeader = g_defautBitmapHeader;
-
- //fake the format
- mt.cbFormat = sizeof(VIDEOINFOHEADER2);
- mt.pbFormat = reinterpret_cast<BYTE*>(&g_defaultVideoInfo);
-
- new FakePin(this, mt);
+ new FakePin(this, g_fakeVideoType);
}
}
diff --git a/src/3rdparty/phonon/ds9/iodevicereader.cpp b/src/3rdparty/phonon/ds9/iodevicereader.cpp
index ec10278..a885a69 100644
--- a/src/3rdparty/phonon/ds9/iodevicereader.cpp
+++ b/src/3rdparty/phonon/ds9/iodevicereader.cpp
@@ -36,19 +36,10 @@ namespace Phonon
//these mediatypes define a stream, its type will be autodetected by DirectShow
static QVector<AM_MEDIA_TYPE> getMediaTypes()
{
- AM_MEDIA_TYPE mt;
- mt.majortype = MEDIATYPE_Stream;
- mt.bFixedSizeSamples = TRUE;
- mt.bTemporalCompression = FALSE;
- mt.lSampleSize = 1;
- mt.formattype = GUID_NULL;
- mt.pUnk = 0;
- mt.cbFormat = 0;
- mt.pbFormat = 0;
+ AM_MEDIA_TYPE mt = { MEDIATYPE_Stream, MEDIASUBTYPE_NULL, TRUE, FALSE, 1, GUID_NULL, 0, 0, 0};
QVector<AM_MEDIA_TYPE> ret;
//normal auto-detect stream
- mt.subtype = MEDIASUBTYPE_NULL;
ret << mt;
//AVI stream
mt.subtype = MEDIASUBTYPE_Avi;
@@ -176,7 +167,7 @@ namespace Phonon
oldSize = currentBufferSize();
}
- DWORD bytesRead = qMin(currentBufferSize(), int(length));
+ int bytesRead = qMin(currentBufferSize(), int(length));
{
QWriteLocker locker(&m_lock);
qMemCopy(buffer, m_buffer.data(), bytesRead);
diff --git a/src/3rdparty/phonon/ds9/mediagraph.cpp b/src/3rdparty/phonon/ds9/mediagraph.cpp
index 31a0622..7b10176 100644
--- a/src/3rdparty/phonon/ds9/mediagraph.cpp
+++ b/src/3rdparty/phonon/ds9/mediagraph.cpp
@@ -68,6 +68,8 @@ namespace Phonon
return ret;
}
+
+/*
static HRESULT saveToFile(Graph graph, const QString &filepath)
{
const WCHAR wszStreamName[] = L"ActiveMovieGraph";
@@ -103,7 +105,7 @@ namespace Phonon
return hr;
}
-
+*/
MediaGraph::MediaGraph(MediaObject *mo, short index) :
m_graph(CLSID_FilterGraph, IID_IGraphBuilder),
@@ -537,7 +539,7 @@ namespace Phonon
const QList<OutputPin> outputs = BackendNode::pins(filter, PINDIR_OUTPUT);
for(int i = 0; i < outputs.count(); ++i) {
const OutputPin &pin = outputs.at(i);
- if (VFW_E_NOT_CONNECTED == pin->ConnectedTo(inPin.pparam())) {
+ if (HRESULT(VFW_E_NOT_CONNECTED) == pin->ConnectedTo(inPin.pparam())) {
return SUCCEEDED(pin->Connect(newIn, 0));
}
}
@@ -809,7 +811,7 @@ namespace Phonon
for (int i = 0; i < outputs.count(); ++i) {
const OutputPin &out = outputs.at(i);
InputPin pin;
- if (out->ConnectedTo(pin.pparam()) == VFW_E_NOT_CONNECTED) {
+ if (out->ConnectedTo(pin.pparam()) == HRESULT(VFW_E_NOT_CONNECTED)) {
m_decoderPins += out; //unconnected outputs can be decoded outputs
}
}
diff --git a/src/3rdparty/phonon/ds9/mediaobject.cpp b/src/3rdparty/phonon/ds9/mediaobject.cpp
index 1d0b69d..10782c2 100644
--- a/src/3rdparty/phonon/ds9/mediaobject.cpp
+++ b/src/3rdparty/phonon/ds9/mediaobject.cpp
@@ -36,7 +36,7 @@ along with this library. If not, see <http://www.gnu.org/licenses/>.
#include <QtCore/QDebug>
-#define TIMER_INTERVAL 16 //... ms for the timer that polls the current state (we use the multimedia timer
+#define TIMER_INTERVAL 16 //... ms for the timer that polls the current state (we use the multimedia timer)
#define PRELOAD_TIME 2000 // 2 seconds to load a source
QT_BEGIN_NAMESPACE
@@ -89,7 +89,7 @@ namespace Phonon
DWORD result = ::WaitForMultipleObjects(count, handles, FALSE, INFINITE);
if (result == WAIT_OBJECT_0) {
if (m_finished) {
- //that's the end if the thread execution
+ //that's the end of the thread execution
return;
}
@@ -207,12 +207,14 @@ namespace Phonon
HRESULT hr = S_OK;
- m_currentRender = w.graph;
- m_currentRenderId = w.id;
- if (w.task == ReplaceGraph) {
+ {
QMutexLocker locker(&m_mutex);
- HANDLE h;
+ m_currentRender = w.graph;
+ m_currentRenderId = w.id;
+ }
+ if (w.task == ReplaceGraph) {
+ QMutexLocker locker(&m_mutex);
int index = -1;
for(int i = 0; i < FILTER_COUNT; ++i) {
if (m_graphHandle[i].graph == w.oldGraph) {
@@ -228,6 +230,7 @@ namespace Phonon
Q_ASSERT(index != -1);
//add the new graph
+ HANDLE h;
if (SUCCEEDED(ComPointer<IMediaEvent>(w.graph, IID_IMediaEvent)
->GetEventHandle(reinterpret_cast<OAEVENT*>(&h)))) {
m_graphHandle[index].graph = w.graph;
@@ -250,7 +253,7 @@ namespace Phonon
hr = w.graph->RenderFile(reinterpret_cast<const wchar_t *>(w.url.utf16()), 0);
}
if (hr != E_ABORT) {
- emit asyncRenderFinished(w.id, hr, w.graph);
+ emit asyncRenderFinished(w.id, hr, w.graph);
}
} else if (w.task == Seek) {
//that's a seekrequest
@@ -266,7 +269,7 @@ namespace Phonon
}
}
emit asyncSeekingFinished(w.id, currentTime);
- hr = E_ABORT; //to avoid emitting asyncRenderFinished
+ hr = E_ABORT; //to avoid emitting asyncRenderFinished
} else if (w.task == ChangeState) {
//remove useless decoders
@@ -324,16 +327,17 @@ namespace Phonon
}
}
- m_currentRender = Graph();
- m_currentRenderId = 0;
-
+ {
+ QMutexLocker locker(&m_mutex);
+ m_currentRender = Graph();
+ m_currentRenderId = 0;
+ }
}
- void WorkerThread::abortCurrentRender(qint16 renderId)
- {
+ void WorkerThread::abortCurrentRender(qint16 renderId)
+ {
QMutexLocker locker(&m_mutex);
bool found = false;
- //we try to see if there is already an attempt to seek and we remove it
for(int i = 0; !found && i < m_queue.size(); ++i) {
const Work &w = m_queue.at(i);
if (w.id == renderId) {
@@ -342,10 +346,10 @@ namespace Phonon
}
}
- if (m_currentRender && m_currentRenderId == renderId) {
- m_currentRender->Abort();
- }
- }
+ if (m_currentRender && m_currentRenderId == renderId) {
+ m_currentRender->Abort();
+ }
+ }
//tells the thread to stop processing
void WorkerThread::signalStop()
@@ -383,13 +387,13 @@ namespace Phonon
{
for(int i = 0; i < FILTER_COUNT; ++i) {
- m_graphs[i] = new MediaGraph(this, i);
+ m_graphs[i] = new MediaGraph(this, i);
}
- connect(&m_thread, SIGNAL(stateReady(Graph, Phonon::State)),
+ connect(&m_thread, SIGNAL(stateReady(Graph, Phonon::State)),
SLOT(slotStateReady(Graph, Phonon::State)));
- connect(&m_thread, SIGNAL(eventReady(Graph, long, long)),
+ connect(&m_thread, SIGNAL(eventReady(Graph, long, long)),
SLOT(handleEvents(Graph, long, long)));
connect(&m_thread, SIGNAL(asyncRenderFinished(quint16, HRESULT, Graph)),
@@ -484,7 +488,7 @@ namespace Phonon
}
if (!m_aboutToFinishSent && remaining < PRELOAD_TIME - m_transitionTime + TIMER_INTERVAL/2) {
- //let's take a 2 seconds time time to actually load the next file
+ //let's take a 2 seconds time to actually load the next file
#ifdef GRAPH_DEBUG
qDebug() << "DS9: emit aboutToFinish" << remaining << QTime::currentTime().toString();
#endif
@@ -573,7 +577,7 @@ namespace Phonon
{
#ifndef QT_NO_PHONON_MEDIACONTROLLER
//1st, check if there is more titles after
- const qint64 ret = (m_currentTitle < _iface_availableTitles() - 1) ?
+ const qint64 ret = (m_currentTitle < _iface_availableTitles() - 1) ?
titleAbsolutePosition(m_currentTitle+1) : currentGraph()->absoluteTotalTime();
//this is the duration of the current title
@@ -586,7 +590,7 @@ namespace Phonon
qint64 MediaObject::currentTime() const
{
//this handles inaccuracy when stopping on a title
- return currentGraph()->absoluteCurrentTime()
+ return currentGraph()->absoluteCurrentTime()
#ifndef QT_NO_PHONON_MEDIACONTROLLER
- titleAbsolutePosition(m_currentTitle)
#endif //QT_NO_PHONON_MEDIACONTROLLER
@@ -736,7 +740,7 @@ namespace Phonon
m_oldHasVideo = currentGraph()->hasVideo();
setState(Phonon::LoadingState);
//After loading we go into stopped state
- m_nextState = Phonon::StoppedState;
+ m_nextState = Phonon::StoppedState;
catchComError(currentGraph()->loadSource(source));
emit currentSourceChanged(source);
}
@@ -750,7 +754,7 @@ namespace Phonon
void MediaObject::loadingFinished(MediaGraph *mg)
{
- if (mg == currentGraph()) {
+ if (mg == currentGraph()) {
#ifndef QT_NO_PHONON_MEDIACONTROLLER
//Title interface
m_currentTitle = 0;
@@ -782,15 +786,16 @@ namespace Phonon
case Phonon::PausedState:
pause();
break;
- case Phonon::StoppedState:
- stop();
- break;
case Phonon::PlayingState:
play();
break;
case Phonon::ErrorState:
setState(Phonon::ErrorState);
break;
+ case Phonon::StoppedState:
+ default:
+ stop();
+ break;
}
}
}
@@ -807,7 +812,7 @@ namespace Phonon
void MediaObject::seekingFinished(MediaGraph *mg)
{
- if (mg == currentGraph()) {
+ if (mg == currentGraph()) {
updateTargetTick();
if (currentTime() < totalTime() - m_prefinishMark) {
@@ -882,7 +887,7 @@ namespace Phonon
#ifndef QT_NO_PHONON_VIDEO
if (VideoWidget *video = qobject_cast<VideoWidget*>(sink)) {
m_videoWidgets += video;
- } else
+ } else
#endif //QT_NO_PHONON_VIDEO
if (AudioOutput *audio = qobject_cast<AudioOutput*>(sink)) {
m_audioOutputs += audio;
@@ -901,7 +906,7 @@ namespace Phonon
#ifndef QT_NO_PHONON_VIDEO
if (VideoWidget *video = qobject_cast<VideoWidget*>(sink)) {
m_videoWidgets.removeOne(video);
- } else
+ } else
#endif //QT_NO_PHONON_VIDEO
if (AudioOutput *audio = qobject_cast<AudioOutput*>(sink)) {
m_audioOutputs.removeOne(audio);
@@ -983,7 +988,7 @@ namespace Phonon
emit stateChanged(state(), m_state);
}
break;
- case EC_LENGTH_CHANGED:
+ case EC_LENGTH_CHANGED:
if (graph == currentGraph()->graph()) {
emit totalTimeChanged( totalTime() );
}
diff --git a/src/3rdparty/phonon/ds9/qaudiocdreader.cpp b/src/3rdparty/phonon/ds9/qaudiocdreader.cpp
index b9f9fd6..6d0f335 100644
--- a/src/3rdparty/phonon/ds9/qaudiocdreader.cpp
+++ b/src/3rdparty/phonon/ds9/qaudiocdreader.cpp
@@ -103,8 +103,8 @@ namespace Phonon
private:
HANDLE m_cddrive;
- CDROM_TOC *m_toc;
- WaveStructure *m_waveHeader;
+ CDROM_TOC m_toc;
+ WaveStructure m_waveHeader;
qint64 m_trackAddress;
};
@@ -112,19 +112,8 @@ namespace Phonon
#define SECTOR_SIZE 2352
#define NB_SECTORS_READ 20
- static AM_MEDIA_TYPE getAudioCDMediaType()
- {
- AM_MEDIA_TYPE mt;
- qMemSet(&mt, 0, sizeof(AM_MEDIA_TYPE));
- mt.majortype = MEDIATYPE_Stream;
- mt.subtype = MEDIASUBTYPE_WAVE;
- mt.bFixedSizeSamples = TRUE;
- mt.bTemporalCompression = FALSE;
- mt.lSampleSize = 1;
- mt.formattype = GUID_NULL;
- return mt;
- }
-
+ static const AM_MEDIA_TYPE audioCDMediaType = { MEDIATYPE_Stream, MEDIASUBTYPE_WAVE, TRUE, FALSE, 1, GUID_NULL, 0, 0, 0};
+
int addressToSectors(UCHAR address[4])
{
return ((address[0] * 60 + address[1]) * 60 + address[2]) * 75 + address[3] - 150;
@@ -141,11 +130,8 @@ namespace Phonon
}
- QAudioCDReader::QAudioCDReader(QBaseFilter *parent, QChar drive) : QAsyncReader(parent, QVector<AM_MEDIA_TYPE>() << getAudioCDMediaType())
+ QAudioCDReader::QAudioCDReader(QBaseFilter *parent, QChar drive) : QAsyncReader(parent, QVector<AM_MEDIA_TYPE>() << audioCDMediaType)
{
- m_toc = new CDROM_TOC;
- m_waveHeader = new WaveStructure;
-
//now open the cd-drive
QString path;
if (drive.isNull()) {
@@ -154,36 +140,30 @@ namespace Phonon
path = QString::fromLatin1("\\\\.\\%1:").arg(drive);
}
- m_cddrive = QT_WA_INLINE (
- ::CreateFile( (TCHAR*)path.utf16(), GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, 0, NULL ),
- ::CreateFileA( path.toLocal8Bit().constData(), GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, 0, NULL )
- );
+ m_cddrive = ::CreateFile((const wchar_t *)path.utf16(), GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, 0, NULL);
- qMemSet(m_toc, 0, sizeof(CDROM_TOC));
+ qMemSet(&m_toc, 0, sizeof(CDROM_TOC));
//read the TOC
DWORD bytesRead = 0;
- bool tocRead = ::DeviceIoControl(m_cddrive, IOCTL_CDROM_READ_TOC, 0, 0, m_toc, sizeof(CDROM_TOC), &bytesRead, 0);
+ bool tocRead = ::DeviceIoControl(m_cddrive, IOCTL_CDROM_READ_TOC, 0, 0, &m_toc, sizeof(CDROM_TOC), &bytesRead, 0);
if (!tocRead) {
qWarning("unable to load the TOC from the CD");
return;
}
- m_trackAddress = addressToSectors(m_toc->TrackData[0].Address);
- const qint32 nbSectorsToRead = (addressToSectors(m_toc->TrackData[m_toc->LastTrack + 1 - m_toc->FirstTrack].Address)
+ m_trackAddress = addressToSectors(m_toc.TrackData[0].Address);
+ const qint32 nbSectorsToRead = (addressToSectors(m_toc.TrackData[m_toc.LastTrack + 1 - m_toc.FirstTrack].Address)
- m_trackAddress);
const qint32 dataLength = nbSectorsToRead * SECTOR_SIZE;
- m_waveHeader->chunksize = 4 + (8 + m_waveHeader->chunksize2) + (8 + dataLength);
- m_waveHeader->dataLength = dataLength;
+ m_waveHeader.chunksize = 4 + (8 + m_waveHeader.chunksize2) + (8 + dataLength);
+ m_waveHeader.dataLength = dataLength;
}
QAudioCDReader::~QAudioCDReader()
{
::CloseHandle(m_cddrive);
- delete m_toc;
- delete m_waveHeader;
-
}
STDMETHODIMP_(ULONG) QAudioCDReader::AddRef()
@@ -199,7 +179,7 @@ namespace Phonon
STDMETHODIMP QAudioCDReader::Length(LONGLONG *total,LONGLONG *available)
{
- const LONGLONG length = sizeof(WaveStructure) + m_waveHeader->dataLength;
+ const LONGLONG length = sizeof(WaveStructure) + m_waveHeader.dataLength;
if (total) {
*total = length;
}
@@ -238,11 +218,11 @@ namespace Phonon
if (pos < sizeof(WaveStructure)) {
//we first copy the content of the structure
nbRead = qMin(LONG(sizeof(WaveStructure) - pos), length);
- qMemCopy(buffer, reinterpret_cast<char*>(m_waveHeader) + pos, nbRead);
+ qMemCopy(buffer, reinterpret_cast<char*>(&m_waveHeader) + pos, nbRead);
}
const LONGLONG posInTrack = pos - sizeof(WaveStructure) + nbRead;
- const int bytesLeft = qMin(m_waveHeader->dataLength - posInTrack, LONGLONG(length - nbRead));
+ const int bytesLeft = qMin(m_waveHeader.dataLength - posInTrack, LONGLONG(length - nbRead));
if (bytesLeft > 0) {
@@ -297,8 +277,8 @@ namespace Phonon
{
QList<qint64> ret;
ret << 0;
- for(int i = m_toc->FirstTrack; i <= m_toc->LastTrack ; ++i) {
- const uchar *address = m_toc->TrackData[i].Address;
+ for(int i = m_toc.FirstTrack; i <= m_toc.LastTrack ; ++i) {
+ const uchar *address = m_toc.TrackData[i].Address;
ret << ((address[0] * 60 + address[1]) * 60 + address[2]) * 1000 + address[3]*1000/75 - 2000;
}
diff --git a/src/3rdparty/phonon/ds9/qbasefilter.cpp b/src/3rdparty/phonon/ds9/qbasefilter.cpp
index 95cab92..c950c41 100644
--- a/src/3rdparty/phonon/ds9/qbasefilter.cpp
+++ b/src/3rdparty/phonon/ds9/qbasefilter.cpp
@@ -92,8 +92,8 @@ namespace Phonon
return E_POINTER;
}
- int nbfetched = 0;
- while (nbfetched < int(count) && m_index < m_pins.count()) {
+ uint nbfetched = 0;
+ while (nbfetched < count && m_index < m_pins.count()) {
IPin *current = m_pins[m_index];
current->AddRef();
ret[nbfetched] = current;
@@ -211,7 +211,8 @@ namespace Phonon
}
else if (iid == IID_IMediaPosition || iid == IID_IMediaSeeking) {
if (inputPins().isEmpty()) {
- if (*out = getUpStreamInterface(iid)) {
+ *out = getUpStreamInterface(iid);
+ if (*out) {
return S_OK; //we return here to avoid adding a reference
} else {
hr = E_NOINTERFACE;
diff --git a/src/3rdparty/phonon/ds9/qmeminputpin.cpp b/src/3rdparty/phonon/ds9/qmeminputpin.cpp
index 0af1bfd..865b8af 100644
--- a/src/3rdparty/phonon/ds9/qmeminputpin.cpp
+++ b/src/3rdparty/phonon/ds9/qmeminputpin.cpp
@@ -28,7 +28,7 @@ namespace Phonon
namespace DS9
{
- QMemInputPin::QMemInputPin(QBaseFilter *parent, const QVector<AM_MEDIA_TYPE> &mt, bool transform) :
+ QMemInputPin::QMemInputPin(QBaseFilter *parent, const QVector<AM_MEDIA_TYPE> &mt, bool transform) :
QPin(parent, PINDIR_INPUT, mt), m_shouldDuplicateSamples(true), m_transform(transform)
{
}
@@ -137,7 +137,8 @@ namespace Phonon
return E_POINTER;
}
- if (*alloc = memoryAllocator(true)) {
+ *alloc = memoryAllocator(true);
+ if (*alloc) {
return S_OK;
}
@@ -203,7 +204,7 @@ namespace Phonon
for (int i = 0; i < m_outputs.count(); ++i) {
QPin *current = m_outputs.at(i);
- IMediaSample *outSample = m_shouldDuplicateSamples ?
+ IMediaSample *outSample = m_shouldDuplicateSamples ?
duplicateSampleForOutput(sample, current->memoryAllocator())
: sample;
@@ -261,7 +262,7 @@ namespace Phonon
}
//addition
- //this should be used by the filter to tell it's input pins to which output they should route the samples
+ //this should be used by the filter to tell its input pins to which output they should route the samples
void QMemInputPin::addOutput(QPin *output)
{
@@ -294,7 +295,7 @@ namespace Phonon
LONG length = sample->GetActualDataLength();
HRESULT hr = alloc->Commit();
- if (hr == VFW_E_SIZENOTSET) {
+ if (hr == HRESULT(VFW_E_SIZENOTSET)) {
ALLOCATOR_PROPERTIES prop = getDefaultAllocatorProperties();
prop.cbBuffer = qMax(prop.cbBuffer, length);
ALLOCATOR_PROPERTIES actual;
@@ -324,7 +325,7 @@ namespace Phonon
{
LONGLONG start, end;
hr = sample->GetMediaTime(&start, &end);
- if (hr != VFW_E_MEDIA_TIME_NOT_SET) {
+ if (hr != HRESULT(VFW_E_MEDIA_TIME_NOT_SET)) {
hr = out->SetMediaTime(&start, &end);
Q_ASSERT(SUCCEEDED(hr));
}
diff --git a/src/3rdparty/phonon/ds9/qpin.cpp b/src/3rdparty/phonon/ds9/qpin.cpp
index 37fe48d..d14876b 100644
--- a/src/3rdparty/phonon/ds9/qpin.cpp
+++ b/src/3rdparty/phonon/ds9/qpin.cpp
@@ -28,20 +28,7 @@ namespace Phonon
namespace DS9
{
- static const AM_MEDIA_TYPE defaultMediaType()
- {
- AM_MEDIA_TYPE ret;
- ret.majortype = MEDIATYPE_NULL;
- ret.subtype = MEDIASUBTYPE_NULL;
- ret.bFixedSizeSamples = TRUE;
- ret.bTemporalCompression = FALSE;
- ret.lSampleSize = 1;
- ret.formattype = GUID_NULL;
- ret.pUnk = 0;
- ret.cbFormat = 0;
- ret.pbFormat = 0;
- return ret;
- }
+ static const AM_MEDIA_TYPE defaultMediaType = { MEDIATYPE_NULL, MEDIASUBTYPE_NULL, TRUE, FALSE, 1, GUID_NULL, 0, 0, 0};
class QEnumMediaTypes : public IEnumMediaTypes
{
@@ -104,8 +91,8 @@ namespace Phonon
return E_INVALIDARG;
}
- int nbFetched = 0;
- while (nbFetched < int(count) && m_index < m_pin->mediaTypes().count()) {
+ uint nbFetched = 0;
+ while (nbFetched < count && m_index < m_pin->mediaTypes().count()) {
//the caller will deallocate the memory
*out = static_cast<AM_MEDIA_TYPE *>(::CoTaskMemAlloc(sizeof(AM_MEDIA_TYPE)));
const AM_MEDIA_TYPE original = m_pin->mediaTypes().at(m_index);
@@ -158,9 +145,9 @@ namespace Phonon
QPin::QPin(QBaseFilter *parent, PIN_DIRECTION dir, const QVector<AM_MEDIA_TYPE> &mt) :
- m_memAlloc(0), m_parent(parent), m_refCount(1), m_connected(0),
- m_direction(dir), m_mediaTypes(mt), m_connectedType(defaultMediaType()),
- m_flushing(false)
+ m_parent(parent), m_flushing(false), m_refCount(1), m_connected(0),
+ m_direction(dir), m_mediaTypes(mt), m_connectedType(defaultMediaType),
+ m_memAlloc(0)
{
Q_ASSERT(m_parent);
m_parent->addPin(this);
@@ -273,7 +260,7 @@ namespace Phonon
if (FAILED(hr)) {
setConnected(0);
- setConnectedType(defaultMediaType());
+ setConnectedType(defaultMediaType);
} else {
ComPointer<IMemInputPin> input(pin, IID_IMemInputPin);
if (input) {
@@ -315,10 +302,8 @@ namespace Phonon
}
setConnected(0);
- setConnectedType(defaultMediaType());
- if (m_direction == PINDIR_INPUT) {
- setMemoryAllocator(0);
- }
+ setConnectedType(defaultMediaType);
+ setMemoryAllocator(0);
return S_OK;
}
@@ -456,8 +441,8 @@ namespace Phonon
HRESULT QPin::checkOutputMediaTypesConnection(IPin *pin)
{
- IEnumMediaTypes *emt = 0;
- HRESULT hr = pin->EnumMediaTypes(&emt);
+ ComPointer<IEnumMediaTypes> emt;
+ HRESULT hr = pin->EnumMediaTypes(emt.pparam());
if (hr != S_OK) {
return hr;
}
@@ -470,7 +455,7 @@ namespace Phonon
freeMediaType(type);
return S_OK;
} else {
- setConnectedType(defaultMediaType());
+ setConnectedType(defaultMediaType);
freeMediaType(type);
}
}
diff --git a/src/3rdparty/phonon/ds9/videorenderer_soft.cpp b/src/3rdparty/phonon/ds9/videorenderer_soft.cpp
index dd6e076..cf5ce96 100644
--- a/src/3rdparty/phonon/ds9/videorenderer_soft.cpp
+++ b/src/3rdparty/phonon/ds9/videorenderer_soft.cpp
@@ -63,9 +63,9 @@ along with this library. If not, see <http://www.gnu.org/licenses/>.
static const char yv12ToRgb[] =
"!!ARBfp1.0"
"PARAM c[5] = { program.local[0..1],"
-" { 1.164, 0, 1.596, 0.5 },"
-" { 0.0625, 1.164, -0.391, -0.81300002 },"
-" { 1.164, 2.0179999, 0 } };"
+"{ 1.164, 0, 1.596, 0.5 },"
+"{ 0.0625, 1.164, -0.391, -0.81300002 },"
+"{ 1.164, 2.0179999, 0 } };"
"TEMP R0;"
"TEX R0.x, fragment.texcoord[0], texture[1], 2D;"
"ADD R0.y, R0.x, -c[2].w;"
@@ -89,11 +89,11 @@ static const char yv12ToRgb[] =
"END";
static const char yuy2ToRgb[] =
- "!!ARBfp1.0"
+"!!ARBfp1.0"
"PARAM c[5] = { program.local[0..1],"
-" { 0.5, 2, 1, 0.0625 },"
-" { 1.164, 0, 1.596, 2.0179999 },"
-" { 1.164, -0.391, -0.81300002 } };"
+"{ 0.5, 2, 1, 0.0625 },"
+"{ 1.164, 0, 1.596, 2.0179999 },"
+"{ 1.164, -0.391, -0.81300002 } };"
"TEMP R0;"
"TEMP R1;"
"TEMP R2;"
@@ -149,24 +149,16 @@ namespace Phonon
{
static const QVector<AM_MEDIA_TYPE> videoMediaTypes()
{
- AM_MEDIA_TYPE mt;
- qMemSet(&mt, 0, sizeof(AM_MEDIA_TYPE));
- mt.majortype = MEDIATYPE_Video;
-
- //we accept any video format
- mt.formattype = GUID_NULL;
- mt.cbFormat = 0;
- mt.pbFormat = 0;
+ AM_MEDIA_TYPE mt = { MEDIATYPE_Video, MEDIASUBTYPE_YV12, 0, 0, 0, GUID_NULL, 0, 0, 0 };
QVector<AM_MEDIA_TYPE> ret;
- //we support YUV (YV12 and YUY2) and RGB32
- mt.subtype = MEDIASUBTYPE_YV12;
- ret << mt;
+ //we add all the subtypes we support
+ ret << mt; //YV12
mt.subtype = MEDIASUBTYPE_YUY2;
- ret << mt;
+ ret << mt; //YUY2
mt.subtype = MEDIASUBTYPE_RGB32;
- ret << mt;
+ ret << mt; //RGB32
return ret;
}
@@ -202,8 +194,8 @@ namespace Phonon
m_sampleBuffer = ComPointer<IMediaSample>();
#ifndef QT_NO_OPENGL
freeGLResources();
-#endif // QT_NO_OPENGL
m_textureUploaded = false;
+#endif // QT_NO_OPENGL
}
void endOfStream()
@@ -322,7 +314,6 @@ namespace Phonon
REFERENCE_TIME m_start;
HANDLE m_renderEvent, m_receiveCanWait; // Signals sample to render
QSize m_size;
- bool m_textureUploaded;
//mixer settings
qreal m_brightness,
@@ -364,6 +355,7 @@ namespace Phonon
bool m_checkedPrograms;
bool m_usingOpenGL;
+ bool m_textureUploaded;
GLuint m_program[2];
GLuint m_texture[3];
#endif
@@ -444,7 +436,7 @@ namespace Phonon
QBaseFilter(CLSID_NULL), m_inputPin(new VideoRendererSoftPin(this)),
m_renderer(renderer), m_start(0)
#ifndef QT_NO_OPENGL
- ,m_usingOpenGL(false), m_checkedPrograms(false), m_textureUploaded(false)
+ , m_checkedPrograms(false), m_usingOpenGL(false), m_textureUploaded(false)
#endif
{
m_renderEvent = ::CreateEvent(0, 0, 0, 0);
diff --git a/src/3rdparty/phonon/ds9/videowidget.cpp b/src/3rdparty/phonon/ds9/videowidget.cpp
index 0ef653f..34ff8cb 100644
--- a/src/3rdparty/phonon/ds9/videowidget.cpp
+++ b/src/3rdparty/phonon/ds9/videowidget.cpp
@@ -153,7 +153,7 @@ namespace Phonon
}
} else if (!isEmbedded()) {
m_currentRenderer = m_node->switchRendering(m_currentRenderer);
- setAttribute(Qt::WA_PaintOnScreen, true);
+ setAttribute(Qt::WA_PaintOnScreen, false);
}
}
diff --git a/src/3rdparty/phonon/ds9/volumeeffect.cpp b/src/3rdparty/phonon/ds9/volumeeffect.cpp
index 2fd1afc..b9a5fce 100644
--- a/src/3rdparty/phonon/ds9/volumeeffect.cpp
+++ b/src/3rdparty/phonon/ds9/volumeeffect.cpp
@@ -68,17 +68,7 @@ namespace Phonon
static const QVector<AM_MEDIA_TYPE> audioMediaType()
{
QVector<AM_MEDIA_TYPE> ret;
-
- AM_MEDIA_TYPE mt;
- mt.majortype = MEDIATYPE_Audio;
- mt.subtype = MEDIASUBTYPE_PCM;
- mt.bFixedSizeSamples = 1;
- mt.bTemporalCompression = 0;
- mt.pUnk = 0;
- mt.lSampleSize = 1;
- mt.cbFormat = 0;
- mt.pbFormat = 0;
- mt.formattype = GUID_NULL;
+ AM_MEDIA_TYPE mt = { MEDIATYPE_Audio, MEDIASUBTYPE_PCM, 1, 0, 1, GUID_NULL, 0, 0, 0};
ret << mt;
return ret;
}
diff --git a/src/3rdparty/phonon/phonon/abstractmediastream.h b/src/3rdparty/phonon/phonon/abstractmediastream.h
index be45861..c4cde85 100644
--- a/src/3rdparty/phonon/phonon/abstractmediastream.h
+++ b/src/3rdparty/phonon/phonon/abstractmediastream.h
@@ -103,7 +103,7 @@ class AbstractMediaStreamPrivate;
class PHONON_EXPORT AbstractMediaStream : public QObject
{
Q_OBJECT
- Q_DECLARE_SCOPED_PRIVATE(AbstractMediaStream)
+ Q_DECLARE_PRIVATE(AbstractMediaStream)
friend class MediaObject;
friend class MediaObjectPrivate;
friend class StreamInterface;
diff --git a/src/3rdparty/phonon/phonon/audiooutput.cpp b/src/3rdparty/phonon/phonon/audiooutput.cpp
index 752580a..00b2ebd 100644
--- a/src/3rdparty/phonon/phonon/audiooutput.cpp
+++ b/src/3rdparty/phonon/phonon/audiooutput.cpp
@@ -264,8 +264,8 @@ void AudioOutputPrivate::setupBackendObject()
if (deviceList.isEmpty()) {
return;
}
- foreach (int devIndex, deviceList) {
- const AudioOutputDevice &dev = AudioOutputDevice::fromIndex(devIndex);
+ for (int i = 0; i < deviceList.count(); ++i) {
+ const AudioOutputDevice &dev = AudioOutputDevice::fromIndex(deviceList.at(i));
if (callSetOutputDevice(this, dev)) {
handleAutomaticDeviceChange(dev, AudioOutputPrivate::FallbackChange);
return; // found one that works
@@ -305,8 +305,9 @@ void AudioOutputPrivate::_k_audioDeviceFailed()
pDebug() << Q_FUNC_INFO;
// outputDeviceIndex identifies a failing device
// fall back in the preference list of output devices
- QList<int> deviceList = GlobalConfig().audioOutputDeviceListFor(category, GlobalConfig::AdvancedDevicesFromSettings | GlobalConfig::HideUnavailableDevices);
- foreach (int devIndex, deviceList) {
+ const QList<int> deviceList = GlobalConfig().audioOutputDeviceListFor(category, GlobalConfig::AdvancedDevicesFromSettings | GlobalConfig::HideUnavailableDevices);
+ for (int i = 0; i < deviceList.count(); ++i) {
+ const int devIndex = deviceList.at(i);
// if it's the same device as the one that failed, ignore it
if (device.index() != devIndex) {
const AudioOutputDevice &info = AudioOutputDevice::fromIndex(devIndex);
@@ -326,9 +327,10 @@ void AudioOutputPrivate::_k_deviceListChanged()
{
pDebug() << Q_FUNC_INFO;
// let's see if there's a usable device higher in the preference list
- QList<int> deviceList = GlobalConfig().audioOutputDeviceListFor(category, GlobalConfig::AdvancedDevicesFromSettings);
+ const QList<int> deviceList = GlobalConfig().audioOutputDeviceListFor(category, GlobalConfig::AdvancedDevicesFromSettings);
DeviceChangeType changeType = HigherPreferenceChange;
- foreach (int devIndex, deviceList) {
+ for (int i = 0; i < deviceList.count(); ++i) {
+ const int devIndex = deviceList.at(i);
const AudioOutputDevice &info = AudioOutputDevice::fromIndex(devIndex);
if (!info.property("available").toBool()) {
if (device.index() == devIndex) {
diff --git a/src/3rdparty/phonon/phonon/backendcapabilities.cpp b/src/3rdparty/phonon/phonon/backendcapabilities.cpp
index 5dee6a0..62c9cc9 100644
--- a/src/3rdparty/phonon/phonon/backendcapabilities.cpp
+++ b/src/3rdparty/phonon/phonon/backendcapabilities.cpp
@@ -76,8 +76,8 @@ QList<AudioOutputDevice> BackendCapabilities::availableAudioOutputDevices()
{
QList<AudioOutputDevice> ret;
const QList<int> deviceIndexes = GlobalConfig().audioOutputDeviceListFor(Phonon::NoCategory);
- foreach (int i, deviceIndexes) {
- ret.append(AudioOutputDevice::fromIndex(i));
+ for (int i = 0; i < deviceIndexes.count(); ++i) {
+ ret.append(AudioOutputDevice::fromIndex(deviceIndexes.at(i)));
}
return ret;
}
@@ -88,8 +88,8 @@ QList<AudioCaptureDevice> BackendCapabilities::availableAudioCaptureDevices()
{
QList<AudioCaptureDevice> ret;
const QList<int> deviceIndexes = GlobalConfig().audioCaptureDeviceListFor(Phonon::NoCategory);
- foreach (int i, deviceIndexes) {
- ret.append(AudioCaptureDevice::fromIndex(i));
+ for (int i = 0; i < deviceIndexes.count(); ++i) {
+ ret.append(AudioCaptureDevice::fromIndex(deviceIndexes.at(i)));
}
return ret;
}
@@ -101,9 +101,9 @@ QList<EffectDescription> BackendCapabilities::availableAudioEffects()
BackendInterface *backendIface = qobject_cast<BackendInterface *>(Factory::backend());
QList<EffectDescription> ret;
if (backendIface) {
- QList<int> deviceIndexes = backendIface->objectDescriptionIndexes(Phonon::EffectType);
- foreach (int i, deviceIndexes) {
- ret.append(EffectDescription::fromIndex(i));
+ const QList<int> deviceIndexes = backendIface->objectDescriptionIndexes(Phonon::EffectType);
+ for (int i = 0; i < deviceIndexes.count(); ++i) {
+ ret.append(EffectDescription::fromIndex(deviceIndexes.at(i)));
}
}
return ret;
diff --git a/src/3rdparty/phonon/phonon/backendcapabilities.h b/src/3rdparty/phonon/phonon/backendcapabilities.h
index 65b2830..36454a3 100644
--- a/src/3rdparty/phonon/phonon/backendcapabilities.h
+++ b/src/3rdparty/phonon/phonon/backendcapabilities.h
@@ -6,7 +6,7 @@
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) version 3, or any
later version accepted by the membership of KDE e.V. (or its
- successor approved by the membership of KDE e.V.), Trolltech ASA
+ successor approved by the membership of KDE e.V.), Trolltech ASA
(or its successors, if any) and the KDE Free Qt Foundation, which shall
act as a proxy defined in Section 6 of version 3 of the license.
@@ -15,7 +15,7 @@
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
- You should have received a copy of the GNU Lesser General Public
+ You should have received a copy of the GNU Lesser General Public
License along with this library. If not, see <http://www.gnu.org/licenses/>.
*/
@@ -88,19 +88,18 @@ namespace BackendCapabilities
};
/**
- * Use this function to get a QObject pointer to connect to the capabilitiesChanged signal.
+ * Use this function to get a QObject pointer to connect to one of the Notifier signals.
*
* \return a pointer to a QObject.
*
- * The capabilitiesChanged signal is emitted if the capabilities have changed. This can
- * happen if the user has requested a backend change.
- *
- * To connect to this signal do the following:
+ * To connect to the signal do the following:
* \code
* QObject::connect(BackendCapabilities::notifier(), SIGNAL(capabilitiesChanged()), ...
* \endcode
*
* \see Notifier::capabilitiesChanged()
+ * \see Notifier::availableAudioOutputDevicesChanged()
+ * \see Notifier::availableAudioCaptureDevicesChanged()
*/
PHONON_EXPORT Notifier *notifier();
diff --git a/src/3rdparty/phonon/phonon/effect.cpp b/src/3rdparty/phonon/phonon/effect.cpp
index c125232..98662a5 100644
--- a/src/3rdparty/phonon/phonon/effect.cpp
+++ b/src/3rdparty/phonon/phonon/effect.cpp
@@ -107,7 +107,8 @@ bool EffectPrivate::aboutToDeleteBackendObject()
{
if (m_backendObject) {
const QList<EffectParameter> parameters = pINTERFACE_CALL(parameters());
- foreach (const EffectParameter &p, parameters) {
+ for (int i = 0; i < parameters.count(); ++i) {
+ const EffectParameter &p = parameters.at(i);
parameterValues[p] = pINTERFACE_CALL(parameterValue(p));
}
}
@@ -120,7 +121,8 @@ void EffectPrivate::setupBackendObject()
// set up attributes
const QList<EffectParameter> parameters = pINTERFACE_CALL(parameters());
- foreach (const EffectParameter &p, parameters) {
+ for (int i = 0; i < parameters.count(); ++i) {
+ const EffectParameter &p = parameters.at(i);
pINTERFACE_CALL(setParameterValue(p, parameterValues[p]));
}
}
diff --git a/src/3rdparty/phonon/phonon/effectwidget.cpp b/src/3rdparty/phonon/phonon/effectwidget.cpp
index d5c6c81..99478f7 100644
--- a/src/3rdparty/phonon/phonon/effectwidget.cpp
+++ b/src/3rdparty/phonon/phonon/effectwidget.cpp
@@ -97,7 +97,8 @@ void EffectWidgetPrivate::autogenerateUi()
Q_Q(EffectWidget);
QVBoxLayout *mainLayout = new QVBoxLayout(q);
mainLayout->setMargin(0);
- foreach (const EffectParameter &para, effect->parameters()) {
+ for (int i = 0; i < effect->parameters().count(); ++i) {
+ const EffectParameter &para = effect->parameters().at(i);
QVariant value = effect->parameterValue(para);
QHBoxLayout *pLayout = new QHBoxLayout;
mainLayout->addLayout(pLayout);
@@ -117,13 +118,14 @@ void EffectWidgetPrivate::autogenerateUi()
control = cb;
if (value.type() == QVariant::Int) {
//value just defines the item index
- foreach (const QVariant &item, para.possibleValues()) {
- cb->addItem(item.toString());
+ for (int i = 0; i < para.possibleValues().count(); ++i) {
+ cb->addItem(para.possibleValues().at(i).toString());
}
cb->setCurrentIndex(value.toInt());
QObject::connect(cb, SIGNAL(currentIndexChanged(int)), q, SLOT(_k_setIntParameter(int)));
} else {
- foreach (const QVariant &item, para.possibleValues()) {
+ for (int i = 0; i < para.possibleValues().count(); ++i) {
+ const QVariant &item = para.possibleValues().at(i);
cb->addItem(item.toString());
if (item == value) {
cb->setCurrentIndex(cb->count() - 1);
diff --git a/src/3rdparty/phonon/phonon/factory.cpp b/src/3rdparty/phonon/phonon/factory.cpp
index 43c45ee..fef88f0 100644
--- a/src/3rdparty/phonon/phonon/factory.cpp
+++ b/src/3rdparty/phonon/phonon/factory.cpp
@@ -124,15 +124,18 @@ bool FactoryPrivate::createBackend()
// could not load a backend through the platform plugin. Falling back to the default
// (finding the first loadable backend).
const QLatin1String suffix("/phonon_backend/");
- foreach (QString libPath, QCoreApplication::libraryPaths()) {
- libPath += suffix;
+ const QStringList paths = QCoreApplication::libraryPaths();
+ for (int i = 0; i < paths.count(); ++i) {
+ const QString libPath = paths.at(i) + suffix;
const QDir dir(libPath);
if (!dir.exists()) {
pDebug() << Q_FUNC_INFO << dir.absolutePath() << "does not exist";
continue;
}
- foreach (const QString &pluginName, dir.entryList(QDir::Files)) {
- QPluginLoader pluginLoader(libPath + pluginName);
+
+ const QStringList files = dir.entryList(QDir::Files);
+ for (int i = 0; i < files.count(); ++i) {
+ QPluginLoader pluginLoader(libPath + files.at(i));
if (!pluginLoader.load()) {
pDebug() << Q_FUNC_INFO << " load failed:"
<< pluginLoader.errorString();
@@ -183,14 +186,8 @@ FactoryPrivate::FactoryPrivate()
FactoryPrivate::~FactoryPrivate()
{
- foreach (QObject *o, objects) {
- MediaObject *m = qobject_cast<MediaObject *>(o);
- if (m) {
- m->stop();
- }
- }
- foreach (MediaNodePrivate *bp, mediaNodePrivateList) {
- bp->deleteBackendObject();
+ for (int i = 0; i < mediaNodePrivateList.count(); ++i) {
+ mediaNodePrivateList.at(i)->deleteBackendObject();
}
if (objects.size() > 0) {
pError() << "The backend objects are not deleted as was requested.";
@@ -258,8 +255,8 @@ void Factory::deregisterFrontendObject(MediaNodePrivate *bp)
void FactoryPrivate::phononBackendChanged()
{
if (m_backendObject) {
- foreach (MediaNodePrivate *bp, mediaNodePrivateList) {
- bp->deleteBackendObject();
+ for (int i = 0; i < mediaNodePrivateList.count(); ++i) {
+ mediaNodePrivateList.at(i)->deleteBackendObject();
}
if (objects.size() > 0) {
pDebug() << "WARNING: we were asked to change the backend but the application did\n"
@@ -268,8 +265,8 @@ void FactoryPrivate::phononBackendChanged()
"backendswitching possible.";
// in case there were objects deleted give 'em a chance to recreate
// them now
- foreach (MediaNodePrivate *bp, mediaNodePrivateList) {
- bp->createBackendObject();
+ for (int i = 0; i < mediaNodePrivateList.count(); ++i) {
+ mediaNodePrivateList.at(i)->createBackendObject();
}
return;
}
@@ -277,8 +274,8 @@ void FactoryPrivate::phononBackendChanged()
m_backendObject = 0;
}
createBackend();
- foreach (MediaNodePrivate *bp, mediaNodePrivateList) {
- bp->createBackendObject();
+ for (int i = 0; i < mediaNodePrivateList.count(); ++i) {
+ mediaNodePrivateList.at(i)->createBackendObject();
}
emit backendChanged();
}
@@ -362,15 +359,17 @@ PlatformPlugin *FactoryPrivate::platformPlugin()
QStringList())
);
dir.setFilter(QDir::Files);
+ const QStringList libPaths = QCoreApplication::libraryPaths();
forever {
- foreach (QString libPath, QCoreApplication::libraryPaths()) {
- libPath += suffix;
+ for (int i = 0; i < libPaths.count(); ++i) {
+ const QString libPath = libPaths.at(i) + suffix;
dir.setPath(libPath);
if (!dir.exists()) {
continue;
}
- foreach (const QString &pluginName, dir.entryList()) {
- QPluginLoader pluginLoader(libPath + pluginName);
+ const QStringList files = dir.entryList(QDir::Files);
+ for (int i = 0; i < files.count(); ++i) {
+ QPluginLoader pluginLoader(libPath + files.at(i));
if (!pluginLoader.load()) {
pDebug() << Q_FUNC_INFO << " platform plugin load failed:"
<< pluginLoader.errorString();
diff --git a/src/3rdparty/phonon/phonon/iodevicestream_p.h b/src/3rdparty/phonon/phonon/iodevicestream_p.h
index 527ff17..5eb90bc 100644
--- a/src/3rdparty/phonon/phonon/iodevicestream_p.h
+++ b/src/3rdparty/phonon/phonon/iodevicestream_p.h
@@ -39,7 +39,7 @@ class IODeviceStreamPrivate;
class IODeviceStream : public AbstractMediaStream
{
Q_OBJECT
- Q_DECLARE_SCOPED_PRIVATE(IODeviceStream)
+ Q_DECLARE_PRIVATE(IODeviceStream)
public:
explicit IODeviceStream(QIODevice *ioDevice, QObject *parent = 0);
~IODeviceStream();
diff --git a/src/3rdparty/phonon/phonon/medianode.cpp b/src/3rdparty/phonon/phonon/medianode.cpp
index 4693cb8..63fa2e3 100644
--- a/src/3rdparty/phonon/phonon/medianode.cpp
+++ b/src/3rdparty/phonon/phonon/medianode.cpp
@@ -67,8 +67,8 @@ bool MediaNode::isValid() const
MediaNodePrivate::~MediaNodePrivate()
{
- foreach (MediaNodeDestructionHandler *handler, handlers) {
- handler->phononObjectDestroyed(this);
+ for (int i = 0 ; i < handlers.count(); ++i) {
+ handlers.at(i)->phononObjectDestroyed(this);
}
Factory::deregisterFrontendObject(this);
delete m_backendObject;
diff --git a/src/3rdparty/phonon/phonon/mediaobject.cpp b/src/3rdparty/phonon/phonon/mediaobject.cpp
index de5fbc8..10fefbd 100644
--- a/src/3rdparty/phonon/phonon/mediaobject.cpp
+++ b/src/3rdparty/phonon/phonon/mediaobject.cpp
@@ -300,15 +300,15 @@ void MediaObject::enqueue(const MediaSource &source)
void MediaObject::enqueue(const QList<MediaSource> &sources)
{
- foreach (const MediaSource &m, sources) {
- enqueue(m);
+ for (int i = 0; i < sources.count(); ++i) {
+ enqueue(sources.at(i));
}
}
void MediaObject::enqueue(const QList<QUrl> &urls)
{
- foreach (const QUrl &url, urls) {
- enqueue(url);
+ for (int i = 0; i < urls.count(); ++i) {
+ enqueue(urls.at(i));
}
}
@@ -502,8 +502,8 @@ void MediaObjectPrivate::setupBackendObject()
}
#ifndef QT_NO_PHONON_MEDIACONTROLLER
- foreach (FrontendInterfacePrivate *f, interfaceList) {
- f->_backendObjectChanged();
+ for (int i = 0 ; i < interfaceList.count(); ++i) {
+ interfaceList.at(i)->_backendObjectChanged();
}
#endif //QT_NO_PHONON_MEDIACONTROLLER
diff --git a/src/3rdparty/phonon/phonon/mediaobject.h b/src/3rdparty/phonon/phonon/mediaobject.h
index 5cbddbb..c56b6b5 100644
--- a/src/3rdparty/phonon/phonon/mediaobject.h
+++ b/src/3rdparty/phonon/phonon/mediaobject.h
@@ -6,7 +6,7 @@
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) version 3, or any
later version accepted by the membership of KDE e.V. (or its
- successor approved by the membership of KDE e.V.), Trolltech ASA
+ successor approved by the membership of KDE e.V.), Trolltech ASA
(or its successors, if any) and the KDE Free Qt Foundation, which shall
act as a proxy defined in Section 6 of version 3 of the license.
@@ -15,7 +15,7 @@
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
- You should have received a copy of the GNU Lesser General Public
+ You should have received a copy of the GNU Lesser General Public
License along with this library. If not, see <http://www.gnu.org/licenses/>.
*/
@@ -58,7 +58,7 @@ namespace Phonon
* media->play();
* \endcode
*
- * If you want to play more that one media file (one after another) you can
+ * If you want to play more than one media file (one after another) you can
* either tell MediaObject about all those files
* \code
* media->setCurrentSource(":/sounds/startsound.ogg");
@@ -198,18 +198,18 @@ namespace Phonon
* Check whether the current media may be seeked.
*
* \warning This information cannot be known immediately. It is best
- * to also listen to the hasVideoChanged signal.
+ * to also listen to the seekableChanged signal.
*
* \code
- * connect(media, SIGNAL(hasVideoChanged(bool)), hasVideoChanged(bool));
+ * connect(media, SIGNAL(seekableChanged(bool)), seekableChanged(bool));
* media->setCurrentSource("somevideo.avi");
- * media->hasVideo(); // returns false;
+ * media->isSeekable(); // returns false;
* }
*
- * void hasVideoChanged(bool b)
+ * void seekableChanged(bool b)
* {
* // b == true
- * media->hasVideo(); // returns true;
+ * media->isSeekable(); // returns true;
* }
* \endcode
*
@@ -301,7 +301,7 @@ namespace Phonon
void setCurrentSource(const MediaSource &source);
/**
- * Returns the queued media sources. This does list does not include
+ * Returns the queued media sources. This list does not include
* the current source (returned by currentSource).
*/
QList<MediaSource> queue() const;
@@ -456,8 +456,6 @@ namespace Phonon
Q_SIGNALS:
/**
* Emitted when the state of the MediaObject has changed.
- * In case you're not interested in the old state you can also
- * connect to a slot that only has one State argument.
*
* @param newstate The state the Player is in now.
* @param oldstate The state the Player was in before.
@@ -587,7 +585,7 @@ namespace Phonon
/**
* This signal is emitted as soon as the total time of the media file is
* known or has changed. For most non-local media data the total
- * time of the media can only be known after some time. At that time the
+ * time of the media can only be known after some time. Initially the
* totalTime function can not return useful information. You have
* to wait for this signal to know the real total time.
*
diff --git a/src/3rdparty/phonon/phonon/objectdescriptionmodel.cpp b/src/3rdparty/phonon/phonon/objectdescriptionmodel.cpp
index e989d0c..b67344f 100644
--- a/src/3rdparty/phonon/phonon/objectdescriptionmodel.cpp
+++ b/src/3rdparty/phonon/phonon/objectdescriptionmodel.cpp
@@ -321,8 +321,8 @@ bool ObjectDescriptionModelData::dropMimeData(ObjectDescriptionType type, const
}
}
d->model->beginInsertRows(QModelIndex(), row, row + toInsert.size() - 1);
- foreach (const QExplicitlySharedDataPointer<ObjectDescriptionData> &obj, toInsert) {
- d->data.insert(row, obj);
+ for (int i = 0 ; i < toInsert.count(); ++i) {
+ d->data.insert(row, toInsert.at(i));
}
d->model->endInsertRows();
return true;
diff --git a/src/3rdparty/phonon/phonon/objectdescriptionmodel.h b/src/3rdparty/phonon/phonon/objectdescriptionmodel.h
index 84dc0bb..ba3cb42 100644
--- a/src/3rdparty/phonon/phonon/objectdescriptionmodel.h
+++ b/src/3rdparty/phonon/phonon/objectdescriptionmodel.h
@@ -292,8 +292,8 @@ namespace Phonon
*/
inline void setModelData(const QList<ObjectDescription<type> > &data) { //krazy:exclude=inline
QList<QExplicitlySharedDataPointer<ObjectDescriptionData> > list;
- Q_FOREACH (const ObjectDescription<type> &desc, data) {
- list << desc.d;
+ for (int i = 0; i < data.count(); ++i) {
+ list += data.at(i).d;
}
d->setModelData(list);
}
@@ -307,8 +307,8 @@ namespace Phonon
inline QList<ObjectDescription<type> > modelData() const { //krazy:exclude=inline
QList<ObjectDescription<type> > ret;
QList<QExplicitlySharedDataPointer<ObjectDescriptionData> > list = d->modelData();
- Q_FOREACH (const QExplicitlySharedDataPointer<ObjectDescriptionData> &data, list) {
- ret << ObjectDescription<type>(data);
+ for (int i = 0; i < list.count(); ++i) {
+ ret << ObjectDescription<type>(list.at(i));
}
return ret;
}
diff --git a/src/3rdparty/phonon/phonon/path.cpp b/src/3rdparty/phonon/phonon/path.cpp
index b46d30a..aec8d05 100644
--- a/src/3rdparty/phonon/phonon/path.cpp
+++ b/src/3rdparty/phonon/phonon/path.cpp
@@ -58,8 +58,8 @@ class ConnectionTransaction
PathPrivate::~PathPrivate()
{
#ifndef QT_NO_PHONON_EFFECT
- foreach (Effect *e, effects) {
- e->k_ptr->removeDestructionHandler(this);
+ for (int i = 0; i < effects.count(); ++i) {
+ effects.at(i)->k_ptr->removeDestructionHandler(this);
}
delete effectsParent;
#endif
@@ -233,8 +233,8 @@ bool Path::disconnect()
if (d->sourceNode)
list << d->sourceNode->k_ptr->backendObject();
#ifndef QT_NO_PHONON_EFFECT
- foreach(Effect *e, d->effects) {
- list << e->k_ptr->backendObject();
+ for (int i = 0; i < d->effects.count(); ++i) {
+ list << d->effects.at(i)->k_ptr->backendObject();
}
#endif
if (d->sinkNode) {
@@ -260,8 +260,8 @@ bool Path::disconnect()
d->sourceNode = 0;
#ifndef QT_NO_PHONON_EFFECT
- foreach(Effect *e, d->effects) {
- e->k_ptr->removeDestructionHandler(d.data());
+ for (int i = 0; i < d->effects.count(); ++i) {
+ d->effects.at(i)->k_ptr->removeDestructionHandler(d.data());
}
d->effects.clear();
#endif
@@ -292,11 +292,13 @@ MediaNode *Path::sink() const
bool PathPrivate::executeTransaction( const QList<QObjectPair> &disconnections, const QList<QObjectPair> &connections)
{
QSet<QObject*> nodesForTransaction;
- foreach(const QObjectPair &pair, disconnections) {
+ for (int i = 0; i < disconnections.count(); ++i) {
+ const QObjectPair &pair = disconnections.at(i);
nodesForTransaction << pair.first;
nodesForTransaction << pair.second;
}
- foreach(const QObjectPair &pair, connections) {
+ for (int i = 0; i < connections.count(); ++i) {
+ const QObjectPair &pair = connections.at(i);
nodesForTransaction << pair.first;
nodesForTransaction << pair.second;
}
@@ -338,7 +340,8 @@ bool PathPrivate::executeTransaction( const QList<QObjectPair> &disconnections,
}
//and now let's reconnect the nodes that were disconnected: rollback
- foreach(const QObjectPair &pair, disconnections) {
+ for (int i = 0; i < disconnections.count(); ++i) {
+ const QObjectPair &pair = disconnections.at(i);
bool success = backend->connectNodes(pair.first, pair.second);
Q_ASSERT(success); //a failure here means it is impossible to reestablish the connection
Q_UNUSED(success);
@@ -417,7 +420,8 @@ void PathPrivate::phononObjectDestroyed(MediaNodePrivate *mediaNodePrivate)
sinkNode = 0;
} else {
#ifndef QT_NO_PHONON_EFFECT
- foreach (Effect *e, effects) {
+ for (int i = 0; i < effects.count(); ++i) {
+ Effect *e = effects.at(i);
if (e->k_ptr == mediaNodePrivate) {
removeEffect(e);
}
diff --git a/src/3rdparty/sqlite/sqlite3.c b/src/3rdparty/sqlite/sqlite3.c
index 91ce30f..7e604cb 100644
--- a/src/3rdparty/sqlite/sqlite3.c
+++ b/src/3rdparty/sqlite/sqlite3.c
@@ -383,7 +383,7 @@ SQLITE_PRIVATE void sqlite3Coverage(int);
**
** See also ticket #2741.
*/
-#if !defined(_XOPEN_SOURCE) && !defined(__DARWIN__) && !defined(__APPLE__) && SQLITE_THREADSAFE
+#if !defined(_XOPEN_SOURCE) && !defined(__DARWIN__) && !defined(__APPLE__) && SQLITE_THREADSAFE && !defined(VXWORKS)
# define _XOPEN_SOURCE 500 /* Needed to enable pthread recursive mutexes */
#endif
@@ -440,6 +440,13 @@ SQLITE_PRIVATE void sqlite3Coverage(int);
*/
#ifndef _SQLITE3_H_
#define _SQLITE3_H_
+
+#ifdef VXWORKS
+# define SQLITE_HOMEGROWN_RECURSIVE_MUTEX
+# define NO_GETTOD
+# include <ioLib.h>
+#endif
+
#include <stdarg.h> /* Needed for the definition of va_list */
/*
@@ -18792,7 +18799,11 @@ SQLITE_PRIVATE sqlite3_vfs *sqlite3OsDefaultVfs(void){
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
-#include <sys/time.h>
+#ifdef VXWORKS
+# include <sys/times.h>
+#else
+# include <sys/time.h>
+#endif
#include <errno.h>
#ifdef SQLITE_ENABLE_LOCKING_STYLE
#include <sys/ioctl.h>
@@ -19728,7 +19739,11 @@ static int seekAndWrite(unixFile *id, i64 offset, const void *pBuf, int cnt){
if( newOffset!=offset ){
return -1;
}
+# ifndef VXWORKS
got = write(id->h, pBuf, cnt);
+# else
+ got = write(id->h, (char *)pBuf, cnt);
+# endif
#endif
TIMER_END;
OSTRACE5("WRITE %-3d %5d %7lld %d\n", id->h, got, offset, TIMER_ELAPSED);
@@ -21554,12 +21569,16 @@ static int unixRandomness(sqlite3_vfs *pVfs, int nBuf, char *zBuf){
#if !defined(SQLITE_TEST)
{
int pid, fd;
- fd = open("/dev/urandom", O_RDONLY);
+ fd = open("/dev/urandom", O_RDONLY, 0);
if( fd<0 ){
time_t t;
time(&t);
memcpy(zBuf, &t, sizeof(t));
+#ifndef VXWORKS
pid = getpid();
+#else
+ pid = (int)taskIdCurrent();
+#endif
memcpy(&zBuf[sizeof(t)], &pid, sizeof(pid));
}else{
read(fd, zBuf, nBuf);
diff --git a/src/3rdparty/webkit/ChangeLog b/src/3rdparty/webkit/ChangeLog
index f2cc9a2..a08a7b4 100644
--- a/src/3rdparty/webkit/ChangeLog
+++ b/src/3rdparty/webkit/ChangeLog
@@ -1,3 +1,173 @@
+2009-07-28 Xan Lopez <xlopez@igalia.com>
+
+ Reviewed by Gustavo Noronha.
+
+ Use automake 1.11 SILENT_RULES when present, for cleaner build
+ output. You can disable it by passing --disable-silent-rules to
+ configure or V=1 to make.
+
+ * autotools/dolt.m4:
+ * configure.ac:
+
+2009-07-28 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Disable some compiler warnings for the win build
+ https://bugs.webkit.org/show_bug.cgi?id=27709
+
+ * WebKit.pri:
+
+2009-07-28 Xan Lopez <xlopez@igalia.com>
+
+ Reviewed by Gustavo Noronha.
+
+ * configure.ac: bump version for 1.1.12 release.
+
+2009-07-24 Xan Lopez <xlopez@igalia.com>
+
+ Reviewed by Gustavo Noronha.
+
+ Remove unneeded commas from PKG_CHECK_MODULES.
+
+ * configure.ac:
+
+2009-07-24 Jan Michael Alonzo <jmalonzo@webkit.org>
+
+ Reviewed by Xan Lopez.
+
+ Bump pango version requirement to 1.12 which is the version that
+ came with Gtk 2.10.
+
+ * configure.ac:
+
+2009-07-21 Roland Steiner <rolandsteiner@google.com>
+
+ Reviewed by David Levin.
+
+ Add ENABLE_RUBY to list of build options
+ https://bugs.webkit.org/show_bug.cgi?id=27324
+
+ * configure.ac: Added flag ENABLE_RUBY.
+
+2009-07-20 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Holger Freyther.
+
+ [Qt] Add an option for QtLauncher to build without QtUiTools dependency
+ https://bugs.webkit.org/show_bug.cgi?id=27438
+
+ Based on Norbert Leser's work.
+
+ * WebKit.pri: Symbian does not have UiTools
+
+2009-07-16 Fumitoshi Ukai <ukai@chromium.org>
+
+ Reviewed by David Levin.
+
+ Add --web-sockets flag and ENABLE_WEB_SOCKETS define.
+ https://bugs.webkit.org/show_bug.cgi?id=27206
+
+ Add --enable-web-sockets in configure.ac
+
+ * configure.ac:
+
+2009-07-16 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Enable GNU compiler extensions to the ARM compiler
+ for all Qt ports using RVCT
+ https://bugs.webkit.org/show_bug.cgi?id=27348
+
+ * WebKit.pri:
+
+2009-07-15 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
+
+ Rubber-stamped by Simon Hausmann.
+
+ Fix the Qt/Mac build by disabling TestNetscapePlugin
+
+ We should fix and enable this once we run DRT for Qt/Mac
+
+ * WebKit.pro:
+
+2009-07-13 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
+
+ Unreviewed build fix. Require the correct libsoup version now that
+ it's released.
+
+ * configure.ac:
+
+2009-07-13 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Tor Arne Vestbø.
+
+ [Qt] Build fix for QtWebKit on Win
+ https://bugs.webkit.org/show_bug.cgi?id=27205
+
+ * WebKit.pri: Include the major version number in the QtWebKit
+ library file for Win.
+
+2009-07-13 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Reviewed by Ariya Hidayat.
+
+ Add the test netscape plugin for the Qt DRT to the build.
+
+ * WebKit.pro:
+
+2009-07-13 Drew Wilson <atwilson@google.com>
+
+ Reviewed by David Levin.
+
+ Add ENABLE(SHARED_WORKERS) flag and define SharedWorker APIs
+ https://bugs.webkit.org/show_bug.cgi?id=26932
+
+ Added ENABLE(SHARED_WORKERS) flag.
+
+ * configure.ac:
+
+2009-07-12 Xan Lopez <xlopez@igalia.com>
+
+ Reviewed by Gustavo Noronha.
+
+ Bump version in preparation for 1.1.11 release.
+
+ * configure.ac:
+
+2009-07-07 Norbert Leser <norbert.leser@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ Exclude DumpRenderTree.pro from symbian build
+
+ * WebKit.pro:
+
+2009-07-09 Drew Wilson <atwilson@google.com>
+
+ Reviewed by Alexey Proskuryakov.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26903
+
+ Turned on CHANNEL_MESSAGING by default because the MessageChannel API
+ can now be implemented for Web Workers and is reasonably stable.
+
+ * configure.ac: enable CHANNEL_MESSAGING.
+
+2009-07-03 Jan Michael Alonzo <jmalonzo@webkit.org>
+
+ Reviewed by Xan Lopez and Gustavo Noronha.
+
+ Set user-agent from application
+ https://bugs.webkit.org/show_bug.cgi?id=17375
+
+ Define UA version macros to be used by the UA string.
+ Add new WebSettings unit test for the User-Agent string API.
+
+ * GNUmakefile.am:
+ * configure.ac:
+
2009-06-20 Gustavo Noronha Silva <gns@gnome.org>
Reviewed by Jan Alonzo.
diff --git a/src/3rdparty/webkit/JavaScriptCore/API/JSBase.cpp b/src/3rdparty/webkit/JavaScriptCore/API/JSBase.cpp
index fc3d0fe..4a32d35 100644
--- a/src/3rdparty/webkit/JavaScriptCore/API/JSBase.cpp
+++ b/src/3rdparty/webkit/JavaScriptCore/API/JSBase.cpp
@@ -96,7 +96,7 @@ void JSGarbageCollect(JSContextRef ctx)
ExecState* exec = toJS(ctx);
JSGlobalData& globalData = exec->globalData();
- JSLock lock(globalData.isSharedInstance);
+ JSLock lock(globalData.isSharedInstance ? LockForReal : SilenceAssertionsOnly);
if (!globalData.heap.isBusy())
globalData.heap.collect();
diff --git a/src/3rdparty/webkit/JavaScriptCore/API/JSClassRef.h b/src/3rdparty/webkit/JavaScriptCore/API/JSClassRef.h
index 4f67618..c742d96 100644
--- a/src/3rdparty/webkit/JavaScriptCore/API/JSClassRef.h
+++ b/src/3rdparty/webkit/JavaScriptCore/API/JSClassRef.h
@@ -34,7 +34,7 @@
#include <wtf/HashMap.h>
#include <wtf/RefCounted.h>
-struct StaticValueEntry {
+struct StaticValueEntry : FastAllocBase {
StaticValueEntry(JSObjectGetPropertyCallback _getProperty, JSObjectSetPropertyCallback _setProperty, JSPropertyAttributes _attributes)
: getProperty(_getProperty), setProperty(_setProperty), attributes(_attributes)
{
@@ -45,7 +45,7 @@ struct StaticValueEntry {
JSPropertyAttributes attributes;
};
-struct StaticFunctionEntry {
+struct StaticFunctionEntry : FastAllocBase {
StaticFunctionEntry(JSObjectCallAsFunctionCallback _callAsFunction, JSPropertyAttributes _attributes)
: callAsFunction(_callAsFunction), attributes(_attributes)
{
diff --git a/src/3rdparty/webkit/JavaScriptCore/API/JSContextRef.cpp b/src/3rdparty/webkit/JavaScriptCore/API/JSContextRef.cpp
index a3bdc69..c358a84 100644
--- a/src/3rdparty/webkit/JavaScriptCore/API/JSContextRef.cpp
+++ b/src/3rdparty/webkit/JavaScriptCore/API/JSContextRef.cpp
@@ -70,7 +70,7 @@ JSGlobalContextRef JSGlobalContextCreate(JSClassRef globalObjectClass)
#else
{
#endif
- JSLock lock(true);
+ JSLock lock(LockForReal);
return JSGlobalContextCreateInGroup(toRef(&JSGlobalData::sharedInstance()), globalObjectClass);
}
#endif // PLATFORM(DARWIN)
@@ -82,7 +82,7 @@ JSGlobalContextRef JSGlobalContextCreateInGroup(JSContextGroupRef group, JSClass
{
initializeThreading();
- JSLock lock(true);
+ JSLock lock(LockForReal);
RefPtr<JSGlobalData> globalData = group ? PassRefPtr<JSGlobalData>(toJS(group)) : JSGlobalData::create();
diff --git a/src/3rdparty/webkit/JavaScriptCore/API/JSObjectRef.cpp b/src/3rdparty/webkit/JavaScriptCore/API/JSObjectRef.cpp
index 50ee635..87d36ec 100644
--- a/src/3rdparty/webkit/JavaScriptCore/API/JSObjectRef.cpp
+++ b/src/3rdparty/webkit/JavaScriptCore/API/JSObjectRef.cpp
@@ -449,7 +449,7 @@ JSObjectRef JSObjectCallAsConstructor(JSContextRef ctx, JSObjectRef object, size
return result;
}
-struct OpaqueJSPropertyNameArray {
+struct OpaqueJSPropertyNameArray : FastAllocBase {
OpaqueJSPropertyNameArray(JSGlobalData* globalData)
: refCount(0)
, globalData(globalData)
@@ -491,7 +491,7 @@ JSPropertyNameArrayRef JSPropertyNameArrayRetain(JSPropertyNameArrayRef array)
void JSPropertyNameArrayRelease(JSPropertyNameArrayRef array)
{
if (--array->refCount == 0) {
- JSLock lock(array->globalData->isSharedInstance);
+ JSLock lock(array->globalData->isSharedInstance ? LockForReal : SilenceAssertionsOnly);
delete array;
}
}
@@ -511,7 +511,7 @@ void JSPropertyNameAccumulatorAddName(JSPropertyNameAccumulatorRef array, JSStri
PropertyNameArray* propertyNames = toJS(array);
propertyNames->globalData()->heap.registerThread();
- JSLock lock(propertyNames->globalData()->isSharedInstance);
+ JSLock lock(propertyNames->globalData()->isSharedInstance ? LockForReal : SilenceAssertionsOnly);
propertyNames->add(propertyName->identifier(propertyNames->globalData()));
}
diff --git a/src/3rdparty/webkit/JavaScriptCore/ChangeLog b/src/3rdparty/webkit/JavaScriptCore/ChangeLog
index c8bba0f..24fc7e7 100644
--- a/src/3rdparty/webkit/JavaScriptCore/ChangeLog
+++ b/src/3rdparty/webkit/JavaScriptCore/ChangeLog
@@ -1,3 +1,1751 @@
+2009-07-28 Xan Lopez <xlopez@igalia.com>
+
+ Add new files, fixes distcheck.
+
+ * GNUmakefile.am:
+
+2009-07-28 Csaba Osztrogonac <oszi@inf.u-szeged.hu>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Determining whether to use JIT or interpreter
+ moved from JavaScriptCore.pri to Platform.h
+
+ * JavaScriptCore.pri:
+ * wtf/Platform.h:
+
+2009-07-27 Brian Weinstein <bweinstein@apple.com>
+
+ Fix of misuse of sort command.
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def:
+
+2009-07-27 Brian Weinstein <bweinstein@apple.com>
+
+ Build fix for Windows.
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def:
+
+2009-07-27 Gavin Barraclough <barraclough@apple.com>
+
+ Rubber stamped by Oliver Hunt.
+
+ Fix tyop in JIT, renamed preverveReturnAddressAfterCall -> preserveReturnAddressAfterCall.
+
+ * jit/JIT.cpp:
+ (JSC::JIT::privateCompile):
+ (JSC::JIT::privateCompileCTIMachineTrampolines):
+ * jit/JIT.h:
+ * jit/JITInlineMethods.h:
+ (JSC::JIT::preserveReturnAddressAfterCall):
+ * jit/JITPropertyAccess.cpp:
+ (JSC::JIT::privateCompilePutByIdTransition):
+
+2009-07-27 Alexey Proskuryakov <ap@webkit.org>
+
+ Gtk build fix.
+
+ * runtime/JSLock.cpp: (JSC::JSLock::JSLock): Fix "no threading" case.
+
+2009-07-27 Alexey Proskuryakov <ap@webkit.org>
+
+ Release build fix.
+
+ * runtime/JSLock.h: (JSC::JSLock::~JSLock):
+
+2009-07-27 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27735
+ Give a helpful name to JSLock constructor argument
+
+ * API/JSBase.cpp:
+ (JSGarbageCollect):
+ * API/JSContextRef.cpp:
+ * API/JSObjectRef.cpp:
+ (JSPropertyNameArrayRelease):
+ (JSPropertyNameAccumulatorAddName):
+ * JavaScriptCore.exp:
+ * jsc.cpp:
+ (functionGC):
+ (cleanupGlobalData):
+ (jscmain):
+ * runtime/Collector.cpp:
+ (JSC::Heap::destroy):
+ * runtime/JSLock.cpp:
+ (JSC::JSLock::JSLock):
+ (JSC::JSLock::lock):
+ (JSC::JSLock::unlock):
+ (JSC::JSLock::DropAllLocks::DropAllLocks):
+ (JSC::JSLock::DropAllLocks::~DropAllLocks):
+ * runtime/JSLock.h:
+ (JSC::):
+ (JSC::JSLock::JSLock):
+ (JSC::JSLock::~JSLock):
+
+2009-07-25 Zoltan Horvath <hzoltan@inf.u-szeged.hu>
+
+ Reviewed by Eric Seidel.
+
+ Allow custom memory allocation control for OpaqueJSPropertyNameArray struct
+ https://bugs.webkit.org/show_bug.cgi?id=27342
+
+ Inherits OpaqueJSPropertyNameArray struct from FastAllocBase because it has been
+ instantiated by 'new' JavaScriptCore/API/JSObjectRef.cpp:473.
+
+ * API/JSObjectRef.cpp:
+
+2009-07-24 Ada Chan <adachan@apple.com>
+
+ In preparation for https://bugs.webkit.org/show_bug.cgi?id=27236:
+ Remove TCMALLOC_TRACK_DECOMMITED_SPANS. We'll always track decommitted spans.
+ We have tested this and show it has little impact on performance.
+
+ Reviewed by Mark Rowe.
+
+ * wtf/FastMalloc.cpp:
+ (WTF::TCMalloc_PageHeap::New):
+ (WTF::TCMalloc_PageHeap::AllocLarge):
+ (WTF::propagateDecommittedState):
+ (WTF::mergeDecommittedStates):
+ (WTF::TCMalloc_PageHeap::Delete):
+ (WTF::TCMalloc_PageHeap::IncrementalScavenge):
+
+2009-07-24 Csaba Osztrogonac <oszi@inf.u-szeged.hu>
+
+ Reviewed by Darin Adler and Adam Barth.
+
+ Build fix for x86 platforms.
+ https://bugs.webkit.org/show_bug.cgi?id=27602
+
+ * jit/JIT.cpp:
+
+2009-07-23 Kevin Ollivier <kevino@theolliviers.com>
+
+ wx build fix, adding missing header.
+
+ * jit/JIT.cpp:
+
+2009-07-22 Yong Li <yong.li@torchmobile.com>
+
+ Reviewed by George Staikos.
+
+ Add wince specific memory files into wtf/wince
+ https://bugs.webkit.org/show_bug.cgi?id=27550
+
+ * wtf/wince/FastMallocWince.h: Added.
+ * wtf/wince/MemoryManager.cpp: Added.
+ * wtf/wince/MemoryManager.h: Added.
+
+2009-07-23 Norbert Leser <norbert.leser@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ Fix for missing mmap features in Symbian
+ https://bugs.webkit.org/show_bug.cgi?id=24540
+
+ Fix, conditionally for PLATFORM(SYMBIAN), as an alternative
+ to missing support for the MAP_ANON property flag in mmap.
+ It utilizes Symbian specific memory allocation features.
+
+ * runtime/Collector.cpp
+
+2009-07-22 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ With ENABLE(ASSEMBLER_WX_EXCLUSIVE), only change permissions once per repatch event.
+ ( https://bugs.webkit.org/show_bug.cgi?id=27564 )
+
+ Currently we change permissions forwards and backwards for each instruction modified,
+ instead we should only change permissions once per complete repatching event.
+
+ 2.5% progression running with ENABLE(ASSEMBLER_WX_EXCLUSIVE) enabled,
+ which recoups 1/3 of the penalty of running with this mode enabled.
+
+ * assembler/ARMAssembler.cpp:
+ (JSC::ARMAssembler::linkBranch):
+ - Replace usage of MakeWritable with cacheFlush.
+
+ * assembler/ARMAssembler.h:
+ (JSC::ARMAssembler::patchPointerInternal):
+ (JSC::ARMAssembler::repatchLoadPtrToLEA):
+ - Replace usage of MakeWritable with cacheFlush.
+
+ * assembler/ARMv7Assembler.h:
+ (JSC::ARMv7Assembler::relinkJump):
+ (JSC::ARMv7Assembler::relinkCall):
+ (JSC::ARMv7Assembler::repatchInt32):
+ (JSC::ARMv7Assembler::repatchPointer):
+ (JSC::ARMv7Assembler::repatchLoadPtrToLEA):
+ (JSC::ARMv7Assembler::setInt32):
+ - Replace usage of MakeWritable with cacheFlush.
+
+ * assembler/LinkBuffer.h:
+ (JSC::LinkBuffer::performFinalization):
+ - Make explicit call to cacheFlush.
+
+ * assembler/MacroAssemblerCodeRef.h:
+ (JSC::MacroAssemblerCodeRef::MacroAssemblerCodeRef):
+ - Make size always available.
+
+ * assembler/RepatchBuffer.h:
+ (JSC::RepatchBuffer::RepatchBuffer):
+ (JSC::RepatchBuffer::~RepatchBuffer):
+ - Add calls to MakeWritable & makeExecutable.
+
+ * assembler/X86Assembler.h:
+ (JSC::X86Assembler::relinkJump):
+ (JSC::X86Assembler::relinkCall):
+ (JSC::X86Assembler::repatchInt32):
+ (JSC::X86Assembler::repatchPointer):
+ (JSC::X86Assembler::repatchLoadPtrToLEA):
+ - Remove usage of MakeWritable.
+
+ * bytecode/CodeBlock.h:
+ (JSC::CodeBlock::getJITCode):
+ - Provide access to CodeBlock's JITCode.
+
+ * jit/ExecutableAllocator.h:
+ (JSC::ExecutableAllocator::makeExecutable):
+ (JSC::ExecutableAllocator::cacheFlush):
+ - Remove MakeWritable, make cacheFlush public.
+
+ * jit/JIT.cpp:
+ (JSC::ctiPatchNearCallByReturnAddress):
+ (JSC::ctiPatchCallByReturnAddress):
+ (JSC::JIT::privateCompile):
+ (JSC::JIT::unlinkCall):
+ (JSC::JIT::linkCall):
+ - Add CodeBlock argument to RepatchBuffer.
+
+ * jit/JIT.h:
+ - Pass CodeBlock argument for use by RepatchBuffer.
+
+ * jit/JITCode.h:
+ (JSC::JITCode::start):
+ (JSC::JITCode::size):
+ - Provide access to code start & size.
+
+ * jit/JITPropertyAccess.cpp:
+ (JSC::JIT::privateCompilePutByIdTransition):
+ (JSC::JIT::patchGetByIdSelf):
+ (JSC::JIT::patchMethodCallProto):
+ (JSC::JIT::patchPutByIdReplace):
+ (JSC::JIT::privateCompilePatchGetArrayLength):
+ (JSC::JIT::privateCompileGetByIdProto):
+ (JSC::JIT::privateCompileGetByIdSelfList):
+ (JSC::JIT::privateCompileGetByIdProtoList):
+ (JSC::JIT::privateCompileGetByIdChainList):
+ (JSC::JIT::privateCompileGetByIdChain):
+ - Add CodeBlock argument to RepatchBuffer.
+
+ * jit/JITStubs.cpp:
+ (JSC::JITThunks::tryCachePutByID):
+ (JSC::JITThunks::tryCacheGetByID):
+ (JSC::JITStubs::DEFINE_STUB_FUNCTION):
+ - Pass CodeBlock argument for use by RepatchBuffer.
+
+2009-07-21 Zoltan Herczeg <zherczeg@inf.u-szeged.hu>
+
+ Reviewed by Gavin Barraclough.
+
+ Cache not only the structure of the method, but the
+ structure of its prototype as well.
+ https://bugs.webkit.org/show_bug.cgi?id=27077
+
+ * bytecode/CodeBlock.cpp:
+ (JSC::CodeBlock::~CodeBlock):
+ * bytecode/CodeBlock.h:
+ (JSC::MethodCallLinkInfo::MethodCallLinkInfo):
+ * jit/JITPropertyAccess.cpp:
+ (JSC::JIT::patchMethodCallProto):
+
+2009-07-21 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Move call linking / repatching down from AbstractMacroAssembler into MacroAssemblerARCH classes.
+ ( https://bugs.webkit.org/show_bug.cgi?id=27527 )
+
+ This allows the implementation to be defined per architecture. Specifically this addresses the
+ fact that x86-64 MacroAssembler implements far calls as a load to register, followed by a call
+ to register. Patching the call actually requires the pointer load to be patched, rather than
+ the call to be patched. This is implementation detail specific to MacroAssemblerX86_64, and as
+ such is best handled there.
+
+ * assembler/AbstractMacroAssembler.h:
+ * assembler/MacroAssemblerARM.h:
+ (JSC::MacroAssemblerARM::linkCall):
+ (JSC::MacroAssemblerARM::repatchCall):
+ * assembler/MacroAssemblerARMv7.h:
+ (JSC::MacroAssemblerARMv7::linkCall):
+ (JSC::MacroAssemblerARMv7::repatchCall):
+ * assembler/MacroAssemblerX86.h:
+ (JSC::MacroAssemblerX86::linkCall):
+ (JSC::MacroAssemblerX86::repatchCall):
+ * assembler/MacroAssemblerX86_64.h:
+ (JSC::MacroAssemblerX86_64::linkCall):
+ (JSC::MacroAssemblerX86_64::repatchCall):
+
+2009-07-21 Adam Treat <adam.treat@torchmobile.com>
+
+ Reviewed by George Staikos.
+
+ Every wtf file includes other wtf files with <> style includes
+ except this one. Fix the exception.
+
+ * wtf/ByteArray.h:
+
+2009-07-21 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Move LinkBuffer/RepatchBuffer out of AbstractMacroAssembler.
+ ( https://bugs.webkit.org/show_bug.cgi?id=27485 )
+
+ This change is the first step in a process to move code that should be in
+ the architecture-specific MacroAssembler classes up out of Assmbler and
+ AbstractMacroAssembler.
+
+ * JavaScriptCore.xcodeproj/project.pbxproj:
+ - added new files
+
+ * assembler/ARMAssembler.h:
+ (JSC::ARMAssembler::linkPointer):
+ - rename patchPointer to bring it in line with the current link/repatch naming scheme
+
+ * assembler/ARMv7Assembler.h:
+ (JSC::ARMv7Assembler::linkCall):
+ (JSC::ARMv7Assembler::linkPointer):
+ (JSC::ARMv7Assembler::relinkCall):
+ (JSC::ARMv7Assembler::repatchInt32):
+ (JSC::ARMv7Assembler::repatchPointer):
+ (JSC::ARMv7Assembler::setInt32):
+ (JSC::ARMv7Assembler::setPointer):
+ - rename patchPointer to bring it in line with the current link/repatch naming scheme
+
+ * assembler/AbstractMacroAssembler.h:
+ (JSC::AbstractMacroAssembler::linkJump):
+ (JSC::AbstractMacroAssembler::linkCall):
+ (JSC::AbstractMacroAssembler::linkPointer):
+ (JSC::AbstractMacroAssembler::getLinkerAddress):
+ (JSC::AbstractMacroAssembler::getLinkerCallReturnOffset):
+ (JSC::AbstractMacroAssembler::repatchJump):
+ (JSC::AbstractMacroAssembler::repatchCall):
+ (JSC::AbstractMacroAssembler::repatchNearCall):
+ (JSC::AbstractMacroAssembler::repatchInt32):
+ (JSC::AbstractMacroAssembler::repatchPointer):
+ (JSC::AbstractMacroAssembler::repatchLoadPtrToLEA):
+ - remove the LinkBuffer/RepatchBuffer classes, but leave a set of (private, friended) methods to interface to the Assembler
+
+ * assembler/LinkBuffer.h: Added.
+ (JSC::LinkBuffer::LinkBuffer):
+ (JSC::LinkBuffer::~LinkBuffer):
+ (JSC::LinkBuffer::link):
+ (JSC::LinkBuffer::patch):
+ (JSC::LinkBuffer::locationOf):
+ (JSC::LinkBuffer::locationOfNearCall):
+ (JSC::LinkBuffer::returnAddressOffset):
+ (JSC::LinkBuffer::finalizeCode):
+ (JSC::LinkBuffer::finalizeCodeAddendum):
+ (JSC::LinkBuffer::code):
+ (JSC::LinkBuffer::performFinalization):
+ - new file containing the LinkBuffer class, previously a member of AbstractMacroAssembler
+
+ * assembler/RepatchBuffer.h: Added.
+ (JSC::RepatchBuffer::RepatchBuffer):
+ (JSC::RepatchBuffer::relink):
+ (JSC::RepatchBuffer::repatch):
+ (JSC::RepatchBuffer::repatchLoadPtrToLEA):
+ (JSC::RepatchBuffer::relinkCallerToTrampoline):
+ (JSC::RepatchBuffer::relinkCallerToFunction):
+ (JSC::RepatchBuffer::relinkNearCallerToTrampoline):
+ - new file containing the RepatchBuffer class, previously a member of AbstractMacroAssembler
+
+ * assembler/X86Assembler.h:
+ (JSC::X86Assembler::linkJump):
+ (JSC::X86Assembler::linkCall):
+ (JSC::X86Assembler::linkPointerForCall):
+ (JSC::X86Assembler::linkPointer):
+ (JSC::X86Assembler::relinkJump):
+ (JSC::X86Assembler::relinkCall):
+ (JSC::X86Assembler::repatchInt32):
+ (JSC::X86Assembler::repatchPointer):
+ (JSC::X86Assembler::setPointer):
+ (JSC::X86Assembler::setInt32):
+ (JSC::X86Assembler::setRel32):
+ - rename patchPointer to bring it in line with the current link/repatch naming scheme
+
+ * jit/JIT.cpp:
+ (JSC::ctiPatchNearCallByReturnAddress):
+ (JSC::ctiPatchCallByReturnAddress):
+ - include new headers
+ - remove MacroAssembler:: specification from RepatchBuffer usage
+
+ * jit/JITPropertyAccess.cpp:
+ * yarr/RegexJIT.cpp:
+ - include new headers
+
+2009-07-21 Robert Agoston <Agoston.Robert@stud.u-szeged.hu>
+
+ Reviewed by David Levin.
+
+ Fixed #undef typo.
+ https://bugs.webkit.org/show_bug.cgi?id=27506
+
+ * bytecode/Opcode.h:
+
+2009-07-21 Adam Roben <aroben@apple.com>
+
+ Roll out r46153, r46154, and r46155
+
+ These changes were causing build failures and assertion failures on
+ Windows.
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def:
+ * JavaScriptCore.xcodeproj/project.pbxproj:
+ * runtime/JSArray.cpp:
+ * runtime/StringPrototype.cpp:
+ * runtime/UString.cpp:
+ * runtime/UString.h:
+ * wtf/FastMalloc.cpp:
+ * wtf/FastMalloc.h:
+ * wtf/Platform.h:
+ * wtf/PossiblyNull.h: Removed.
+
+2009-07-21 Roland Steiner <rolandsteiner@google.com>
+
+ Reviewed by David Levin.
+
+ Add ENABLE_RUBY to list of build options
+ https://bugs.webkit.org/show_bug.cgi?id=27324
+
+ * Configurations/FeatureDefines.xcconfig: Added flag ENABLE_RUBY.
+
+2009-07-20 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by NOBODY (Build fix).
+
+ Build fix attempt #2
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def:
+
+2009-07-20 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by NOBODY (Build fix).
+
+ Build fix attempt #1
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def:
+
+2009-07-20 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Gavin Barraclough.
+
+ Make it harder to misuse try* allocation routines
+ https://bugs.webkit.org/show_bug.cgi?id=27469
+
+ Jump through a few hoops to make it much harder to accidentally
+ miss null-checking of values returned by the try-* allocation
+ routines.
+
+ * JavaScriptCore.xcodeproj/project.pbxproj:
+ * runtime/JSArray.cpp:
+ (JSC::JSArray::putSlowCase):
+ (JSC::JSArray::increaseVectorLength):
+ * runtime/StringPrototype.cpp:
+ (JSC::stringProtoFuncFontsize):
+ (JSC::stringProtoFuncLink):
+ * runtime/UString.cpp:
+ (JSC::allocChars):
+ (JSC::reallocChars):
+ (JSC::expandCapacity):
+ (JSC::UString::Rep::reserveCapacity):
+ (JSC::UString::expandPreCapacity):
+ (JSC::createRep):
+ (JSC::concatenate):
+ (JSC::UString::spliceSubstringsWithSeparators):
+ (JSC::UString::replaceRange):
+ (JSC::UString::append):
+ (JSC::UString::operator=):
+ * runtime/UString.h:
+ (JSC::UString::Rep::createEmptyBuffer):
+ * wtf/FastMalloc.cpp:
+ (WTF::tryFastZeroedMalloc):
+ (WTF::tryFastMalloc):
+ (WTF::tryFastCalloc):
+ (WTF::tryFastRealloc):
+ (WTF::TCMallocStats::tryFastMalloc):
+ (WTF::TCMallocStats::tryFastCalloc):
+ (WTF::TCMallocStats::tryFastRealloc):
+ * wtf/FastMalloc.h:
+ (WTF::TryMallocReturnValue::TryMallocReturnValue):
+ (WTF::TryMallocReturnValue::~TryMallocReturnValue):
+ (WTF::TryMallocReturnValue::operator Maybe<T>):
+ (WTF::TryMallocReturnValue::getValue):
+ * wtf/PossiblyNull.h:
+ (WTF::PossiblyNull::PossiblyNull):
+ (WTF::PossiblyNull::~PossiblyNull):
+ (WTF::PossiblyNull::getValue):
+ * wtf/Platform.h:
+
+2009-07-20 Gavin Barraclough <barraclough@apple.com>
+
+ RS Oliver Hunt.
+
+ Add ARM assembler files to xcodeproj, for convenience editing.
+
+ * JavaScriptCore.xcodeproj/project.pbxproj:
+
+2009-07-20 Jessie Berlin <jberlin@apple.com>
+
+ Reviewed by David Levin.
+
+ Fix an incorrect assertion in Vector::remove.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27477
+
+ * wtf/Vector.h:
+ (WTF::::remove):
+ Assert that the position at which to start removing elements + the
+ length (the number of elements to remove) is less than or equal to the
+ size of the entire Vector.
+
+2009-07-20 Peter Kasting <pkasting@google.com>
+
+ Reviewed by Mark Rowe.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27468
+ Back out r46060, which caused problems for some Apple developers.
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreCommon.vsprops:
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGenerated.vcproj:
+ * JavaScriptCore.vcproj/WTF/WTFCommon.vsprops:
+ * JavaScriptCore.vcproj/jsc/jscCommon.vsprops:
+ * JavaScriptCore.vcproj/testapi/testapiCommon.vsprops:
+
+2009-07-20 Zoltan Horvath <hzoltan@inf.u-szeged.hu>
+
+ Reviewed by Oliver Hunt.
+
+ Allow custom memory allocation control in NewThreadContext
+ https://bugs.webkit.org/show_bug.cgi?id=27338
+
+ Inherits NewThreadContext struct from FastAllocBase because it
+ has been instantiated by 'new' JavaScriptCore/wtf/Threading.cpp:76.
+
+ * wtf/Threading.cpp:
+
+2009-07-20 Zoltan Horvath <hzoltan@inf.u-szeged.hu>
+
+ Reviewed by Oliver Hunt.
+
+ Allow custom memory allocation control in JavaScriptCore's JSClassRef.h
+ https://bugs.webkit.org/show_bug.cgi?id=27340
+
+ Inherit StaticValueEntry and StaticFunctionEntry struct from FastAllocBase because these
+ have been instantiated by 'new' in JavaScriptCore/API/JSClassRef.cpp:153
+ and in JavaScriptCore/API/JSClassRef.cpp:166.
+
+ * API/JSClassRef.h:
+
+2009-07-20 Zoltan Horvath <hzoltan@inf.u-szeged.hu>
+
+ Reviewed by Darin Adler.
+
+ Allow custom memory allocation control in JavaScriptCore's RegexPattern.h
+ https://bugs.webkit.org/show_bug.cgi?id=27343
+
+ Inherits RegexPattern.h's structs (which have been instantiated by operator new) from FastAllocBase:
+
+ CharacterClass (new call: JavaScriptCore/yarr/RegexCompiler.cpp:144)
+ PatternAlternative (new call: JavaScriptCore/yarr/RegexPattern.h:221)
+ PatternDisjunction (new call: JavaScriptCore/yarr/RegexCompiler.cpp:446)
+
+ * yarr/RegexPattern.h:
+
+2009-07-20 Zoltan Horvath <hzoltan@inf.u-szeged.hu>
+
+ Reviewed by Darin Adler.
+
+ Allow custom memory allocation control for JavaScriptCore's MatchFrame struct
+ https://bugs.webkit.org/show_bug.cgi?id=27344
+
+ Inherits MatchFrame struct from FastAllocBase because it has
+ been instantiated by 'new' JavaScriptCore/pcre/pcre_exec.cpp:359.
+
+ * pcre/pcre_exec.cpp:
+
+2009-07-20 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Holger Freyther.
+
+ Remove some outdated S60 platform specific code
+ https://bugs.webkit.org/show_bug.cgi?id=27423
+
+ * wtf/Platform.h:
+
+2009-07-20 Csaba Osztrogonac <oszi@inf.u-szeged.hu>
+
+ Reviewed by Simon Hausmann.
+
+ Qt build fix with MSVC and MinGW.
+
+ * jsc.pro: Make sure jsc is a console application, and turn off
+ exceptions and stl support to fix the build.
+
+2009-07-20 Xan Lopez <xlopez@igalia.com>
+
+ Reviewed by Gustavo Noronha.
+
+ Do not use C++-style comments in preprocessor directives.
+
+ GCC does not like this in some configurations, using C-style
+ comments is safer.
+
+ * wtf/Platform.h:
+
+2009-07-17 Peter Kasting <pkasting@google.com>
+
+ Reviewed by Steve Falkenburg.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27323
+ Only add Cygwin to the path when it isn't already there. This avoids
+ causing problems for people who purposefully have non-Cygwin versions of
+ executables like svn in front of the Cygwin ones in their paths.
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreCommon.vsprops:
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGenerated.vcproj:
+ * JavaScriptCore.vcproj/WTF/WTFCommon.vsprops:
+ * JavaScriptCore.vcproj/jsc/jscCommon.vsprops:
+ * JavaScriptCore.vcproj/testapi/testapiCommon.vsprops:
+
+2009-07-17 Gabor Loki <loki@inf.u-szeged.hu>
+
+ Reviewed by Gavin Barraclough.
+
+ Add YARR support for generic ARM platforms (disabled by default).
+ https://bugs.webkit.org/show_bug.cgi?id=24986
+
+ Add generic ARM port for MacroAssembler. It supports the whole
+ MacroAssembler functionality except floating point.
+
+ The class JmpSrc is extended with a flag which enables to patch
+ the jump destination offset during execution. This feature is
+ required for generic ARM port.
+
+ Signed off by Zoltan Herczeg <zherczeg@inf.u-szeged.hu>
+ Signed off by Gabor Loki <loki@inf.u-szeged.hu>
+
+ * JavaScriptCore.pri:
+ * assembler/ARMAssembler.cpp: Added.
+ (JSC::ARMAssembler::getLdrImmAddress):
+ (JSC::ARMAssembler::linkBranch):
+ (JSC::ARMAssembler::patchConstantPoolLoad):
+ (JSC::ARMAssembler::getOp2):
+ (JSC::ARMAssembler::genInt):
+ (JSC::ARMAssembler::getImm):
+ (JSC::ARMAssembler::moveImm):
+ (JSC::ARMAssembler::dataTransfer32):
+ (JSC::ARMAssembler::baseIndexTransfer32):
+ (JSC::ARMAssembler::executableCopy):
+ * assembler/ARMAssembler.h: Added.
+ (JSC::ARM::):
+ (JSC::ARMAssembler::ARMAssembler):
+ (JSC::ARMAssembler::):
+ (JSC::ARMAssembler::JmpSrc::JmpSrc):
+ (JSC::ARMAssembler::JmpSrc::enableLatePatch):
+ (JSC::ARMAssembler::JmpDst::JmpDst):
+ (JSC::ARMAssembler::JmpDst::isUsed):
+ (JSC::ARMAssembler::JmpDst::used):
+ (JSC::ARMAssembler::emitInst):
+ (JSC::ARMAssembler::and_r):
+ (JSC::ARMAssembler::ands_r):
+ (JSC::ARMAssembler::eor_r):
+ (JSC::ARMAssembler::eors_r):
+ (JSC::ARMAssembler::sub_r):
+ (JSC::ARMAssembler::subs_r):
+ (JSC::ARMAssembler::rsb_r):
+ (JSC::ARMAssembler::rsbs_r):
+ (JSC::ARMAssembler::add_r):
+ (JSC::ARMAssembler::adds_r):
+ (JSC::ARMAssembler::adc_r):
+ (JSC::ARMAssembler::adcs_r):
+ (JSC::ARMAssembler::sbc_r):
+ (JSC::ARMAssembler::sbcs_r):
+ (JSC::ARMAssembler::rsc_r):
+ (JSC::ARMAssembler::rscs_r):
+ (JSC::ARMAssembler::tst_r):
+ (JSC::ARMAssembler::teq_r):
+ (JSC::ARMAssembler::cmp_r):
+ (JSC::ARMAssembler::orr_r):
+ (JSC::ARMAssembler::orrs_r):
+ (JSC::ARMAssembler::mov_r):
+ (JSC::ARMAssembler::movs_r):
+ (JSC::ARMAssembler::bic_r):
+ (JSC::ARMAssembler::bics_r):
+ (JSC::ARMAssembler::mvn_r):
+ (JSC::ARMAssembler::mvns_r):
+ (JSC::ARMAssembler::mul_r):
+ (JSC::ARMAssembler::muls_r):
+ (JSC::ARMAssembler::mull_r):
+ (JSC::ARMAssembler::ldr_imm):
+ (JSC::ARMAssembler::ldr_un_imm):
+ (JSC::ARMAssembler::dtr_u):
+ (JSC::ARMAssembler::dtr_ur):
+ (JSC::ARMAssembler::dtr_d):
+ (JSC::ARMAssembler::dtr_dr):
+ (JSC::ARMAssembler::ldrh_r):
+ (JSC::ARMAssembler::ldrh_d):
+ (JSC::ARMAssembler::ldrh_u):
+ (JSC::ARMAssembler::strh_r):
+ (JSC::ARMAssembler::push_r):
+ (JSC::ARMAssembler::pop_r):
+ (JSC::ARMAssembler::poke_r):
+ (JSC::ARMAssembler::peek_r):
+ (JSC::ARMAssembler::clz_r):
+ (JSC::ARMAssembler::bkpt):
+ (JSC::ARMAssembler::lsl):
+ (JSC::ARMAssembler::lsr):
+ (JSC::ARMAssembler::asr):
+ (JSC::ARMAssembler::lsl_r):
+ (JSC::ARMAssembler::lsr_r):
+ (JSC::ARMAssembler::asr_r):
+ (JSC::ARMAssembler::size):
+ (JSC::ARMAssembler::ensureSpace):
+ (JSC::ARMAssembler::label):
+ (JSC::ARMAssembler::align):
+ (JSC::ARMAssembler::jmp):
+ (JSC::ARMAssembler::patchPointerInternal):
+ (JSC::ARMAssembler::patchConstantPoolLoad):
+ (JSC::ARMAssembler::patchPointer):
+ (JSC::ARMAssembler::repatchInt32):
+ (JSC::ARMAssembler::repatchPointer):
+ (JSC::ARMAssembler::repatchLoadPtrToLEA):
+ (JSC::ARMAssembler::linkJump):
+ (JSC::ARMAssembler::relinkJump):
+ (JSC::ARMAssembler::linkCall):
+ (JSC::ARMAssembler::relinkCall):
+ (JSC::ARMAssembler::getRelocatedAddress):
+ (JSC::ARMAssembler::getDifferenceBetweenLabels):
+ (JSC::ARMAssembler::getCallReturnOffset):
+ (JSC::ARMAssembler::getOp2Byte):
+ (JSC::ARMAssembler::placeConstantPoolBarrier):
+ (JSC::ARMAssembler::RM):
+ (JSC::ARMAssembler::RS):
+ (JSC::ARMAssembler::RD):
+ (JSC::ARMAssembler::RN):
+ (JSC::ARMAssembler::getConditionalField):
+ * assembler/ARMv7Assembler.h:
+ (JSC::ARMv7Assembler::JmpSrc::enableLatePatch):
+ * assembler/AbstractMacroAssembler.h:
+ (JSC::AbstractMacroAssembler::Call::enableLatePatch):
+ (JSC::AbstractMacroAssembler::Jump::enableLatePatch):
+ * assembler/MacroAssembler.h:
+ * assembler/MacroAssemblerARM.h: Added.
+ (JSC::MacroAssemblerARM::):
+ (JSC::MacroAssemblerARM::add32):
+ (JSC::MacroAssemblerARM::and32):
+ (JSC::MacroAssemblerARM::lshift32):
+ (JSC::MacroAssemblerARM::mul32):
+ (JSC::MacroAssemblerARM::not32):
+ (JSC::MacroAssemblerARM::or32):
+ (JSC::MacroAssemblerARM::rshift32):
+ (JSC::MacroAssemblerARM::sub32):
+ (JSC::MacroAssemblerARM::xor32):
+ (JSC::MacroAssemblerARM::load32):
+ (JSC::MacroAssemblerARM::load32WithAddressOffsetPatch):
+ (JSC::MacroAssemblerARM::loadPtrWithPatchToLEA):
+ (JSC::MacroAssemblerARM::load16):
+ (JSC::MacroAssemblerARM::store32WithAddressOffsetPatch):
+ (JSC::MacroAssemblerARM::store32):
+ (JSC::MacroAssemblerARM::pop):
+ (JSC::MacroAssemblerARM::push):
+ (JSC::MacroAssemblerARM::move):
+ (JSC::MacroAssemblerARM::swap):
+ (JSC::MacroAssemblerARM::signExtend32ToPtr):
+ (JSC::MacroAssemblerARM::zeroExtend32ToPtr):
+ (JSC::MacroAssemblerARM::branch32):
+ (JSC::MacroAssemblerARM::branch16):
+ (JSC::MacroAssemblerARM::branchTest32):
+ (JSC::MacroAssemblerARM::jump):
+ (JSC::MacroAssemblerARM::branchAdd32):
+ (JSC::MacroAssemblerARM::mull32):
+ (JSC::MacroAssemblerARM::branchMul32):
+ (JSC::MacroAssemblerARM::branchSub32):
+ (JSC::MacroAssemblerARM::breakpoint):
+ (JSC::MacroAssemblerARM::nearCall):
+ (JSC::MacroAssemblerARM::call):
+ (JSC::MacroAssemblerARM::ret):
+ (JSC::MacroAssemblerARM::set32):
+ (JSC::MacroAssemblerARM::setTest32):
+ (JSC::MacroAssemblerARM::tailRecursiveCall):
+ (JSC::MacroAssemblerARM::makeTailRecursiveCall):
+ (JSC::MacroAssemblerARM::moveWithPatch):
+ (JSC::MacroAssemblerARM::branchPtrWithPatch):
+ (JSC::MacroAssemblerARM::storePtrWithPatch):
+ (JSC::MacroAssemblerARM::supportsFloatingPoint):
+ (JSC::MacroAssemblerARM::supportsFloatingPointTruncate):
+ (JSC::MacroAssemblerARM::loadDouble):
+ (JSC::MacroAssemblerARM::storeDouble):
+ (JSC::MacroAssemblerARM::addDouble):
+ (JSC::MacroAssemblerARM::subDouble):
+ (JSC::MacroAssemblerARM::mulDouble):
+ (JSC::MacroAssemblerARM::convertInt32ToDouble):
+ (JSC::MacroAssemblerARM::branchDouble):
+ (JSC::MacroAssemblerARM::branchTruncateDoubleToInt32):
+ (JSC::MacroAssemblerARM::ARMCondition):
+ (JSC::MacroAssemblerARM::prepareCall):
+ (JSC::MacroAssemblerARM::call32):
+ * assembler/X86Assembler.h:
+ (JSC::X86Assembler::JmpSrc::enableLatePatch):
+ * jit/ExecutableAllocator.h:
+ (JSC::ExecutableAllocator::cacheFlush):
+ * wtf/Platform.h:
+ * yarr/RegexJIT.cpp:
+ (JSC::Yarr::RegexGenerator::generateEnter):
+ (JSC::Yarr::RegexGenerator::generateReturn):
+
+2009-07-17 Gabor Loki <loki@inf.u-szeged.hu>
+
+ Reviewed by Gavin Barraclough.
+
+ Extend AssemblerBuffer with constant pool handling mechanism.
+ https://bugs.webkit.org/show_bug.cgi?id=24986
+
+ Add a platform independed constant pool framework.
+ This pool can store 32 or 64 bits values which is enough to hold
+ any integer, pointer or double constant.
+
+ * assembler/AssemblerBuffer.h:
+ (JSC::AssemblerBuffer::putIntUnchecked):
+ (JSC::AssemblerBuffer::putInt64Unchecked):
+ (JSC::AssemblerBuffer::append):
+ (JSC::AssemblerBuffer::grow):
+ * assembler/AssemblerBufferWithConstantPool.h: Added.
+ (JSC::):
+
+2009-07-17 Eric Roman <eroman@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Build fix for non-Darwin.
+ Add a guard for inclusion of RetainPtr.h which includes CoreFoundation.h
+
+ https://bugs.webkit.org/show_bug.cgi?id=27382
+
+ * wtf/unicode/icu/CollatorICU.cpp:
+
+2009-07-17 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by John Sullivan.
+
+ Get user default collation order via a CFLocale API when available.
+
+ * wtf/unicode/icu/CollatorICU.cpp: (WTF::Collator::userDefault):
+
+2009-07-17 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Fix the include path for the Symbian port
+ https://bugs.webkit.org/show_bug.cgi?id=27358
+
+ * JavaScriptCore.pri:
+
+2009-07-17 Csaba Osztrogonac <oszi@inf.u-szeged.hu>
+
+ Reviewed by David Levin.
+
+ Build fix on platforms don't have MMAP.
+ https://bugs.webkit.org/show_bug.cgi?id=27365
+
+ * interpreter/RegisterFile.h: Including stdio.h irrespectively of HAVE(MMAP)
+
+2009-07-16 Fumitoshi Ukai <ukai@chromium.org>
+
+ Reviewed by David Levin.
+
+ Add --web-sockets flag and ENABLE_WEB_SOCKETS define.
+ https://bugs.webkit.org/show_bug.cgi?id=27206
+
+ Add ENABLE_WEB_SOCKETS
+
+ * Configurations/FeatureDefines.xcconfig: add ENABLE_WEB_SOCKETS
+
+2009-07-16 Maxime Simon <simon.maxime@gmail.com>
+
+ Reviewed by Eric Seidel.
+
+ Added Haiku-specific files for JavaScriptCore.
+ https://bugs.webkit.org/show_bug.cgi?id=26620
+
+ * wtf/haiku/MainThreadHaiku.cpp: Added.
+ (WTF::initializeMainThreadPlatform):
+ (WTF::scheduleDispatchFunctionsOnMainThread):
+
+2009-07-16 Gavin Barraclough <barraclough@apple.com>
+
+ RS by Oliver Hunt.
+
+ Revert r45969, this fix does not appear to be valid.
+ https://bugs.webkit.org/show_bug.cgi?id=27077
+
+ * bytecode/CodeBlock.cpp:
+ (JSC::CodeBlock::~CodeBlock):
+ (JSC::CodeBlock::unlinkCallers):
+ * jit/JIT.cpp:
+ * jit/JIT.h:
+
+2009-07-16 Zoltan Horvath <hzoltan@inf.u-szeged.hu>
+
+ Reviewed by Oliver Hunt.
+
+ Allow custom memory allocation control in ExceptionInfo and RareData struct
+ https://bugs.webkit.org/show_bug.cgi?id=27336
+
+ Inherits ExceptionInfo and RareData struct from FastAllocBase because these
+ have been instantiated by 'new' in JavaScriptCore/bytecode/CodeBlock.cpp:1289 and
+ in JavaScriptCore/bytecode/CodeBlock.h:453.
+
+ Remove unnecessary WTF:: namespace from CodeBlock inheritance.
+
+ * bytecode/CodeBlock.h:
+
+2009-07-16 Mark Rowe <mrowe@apple.com>
+
+ Rubber-stamped by Geoff Garen.
+
+ Fix FeatureDefines.xcconfig to not be out of sync with the rest of the world.
+
+ * Configurations/FeatureDefines.xcconfig:
+
+2009-07-16 Yong Li <yong.li@torchmobile.com>
+
+ Reviewed by George Staikos.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27320
+ _countof is only included in CE6; for CE5 we need to define it ourself
+
+ * wtf/Platform.h:
+
+2009-07-16 Zoltan Herczeg <zherczeg@inf.u-szeged.hu>
+
+ Reviewed by Oliver Hunt.
+
+ Workers + garbage collector: weird crashes
+ https://bugs.webkit.org/show_bug.cgi?id=27077
+
+ We need to unlink cached method call sites when a function is destroyed.
+
+ * JavaScriptCore.xcodeproj/project.pbxproj:
+ * bytecode/CodeBlock.cpp:
+ (JSC::CodeBlock::~CodeBlock):
+ (JSC::CodeBlock::unlinkCallers):
+ * jit/JIT.cpp:
+ (JSC::JIT::unlinkMethodCall):
+ * jit/JIT.h:
+
+2009-07-15 Steve Falkenburg <sfalken@apple.com>
+
+ Windows Build fix.
+
+ Visual Studio reset our intermediate directory on us.
+ This sets it back.
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
+ * JavaScriptCore.vcproj/testapi/testapi.vcproj:
+
+2009-07-15 Kwang Yul Seo <skyul@company100.net>
+
+ Reviewed by Eric Seidel.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26794
+ Make Yacc-generated parsers to use fastMalloc/fastFree.
+
+ Define YYMALLOC and YYFREE to fastMalloc and fastFree
+ respectively.
+
+ * parser/Grammar.y:
+
+2009-07-15 Darin Adler <darin@apple.com>
+
+ Fix a build for a particular Apple configuration.
+
+ * wtf/FastAllocBase.h: Change include to use "" style for
+ including another wtf header. This is the style we use for
+ including other public headers in the same directory.
+
+2009-07-15 George Staikos <george.staikos@torchmobile.com>
+
+ Reviewed by Adam Treat.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27303
+ Implement createThreadInternal for WinCE.
+ Contains changes by George Staikos <george.staikos@torchmobile.com> and Joe Mason <joe.mason@torchmobile.com>
+
+ * wtf/ThreadingWin.cpp:
+ (WTF::createThreadInternal):
+
+2009-07-15 Joe Mason <joe.mason@torchmobile.com>
+
+ Reviewed by George Staikos.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27298
+ Platform defines for WINCE.
+ Contains changes by Yong Li <yong.li@torchmobile.com>,
+ George Staikos <george.staikos@torchmobile.com> and Joe Mason <joe.mason@torchmobile.com>
+
+ * wtf/Platform.h:
+
+2009-07-15 Yong Li <yong.li@torchmobile.com>
+
+ Reviewed by Adam Treat.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27306
+ Use RegisterClass instead of RegisterClassEx on WinCE.
+
+ * wtf/win/MainThreadWin.cpp:
+ (WTF::initializeMainThreadPlatform):
+
+2009-07-15 Yong Li <yong.li@torchmobile.com>
+
+ Reviewed by George Staikos.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27301
+ Use OutputDebugStringW on WinCE since OutputDebugStringA is not supported
+ Originally written by Yong Li <yong.li@torchmobile.com> and refactored by
+ Joe Mason <joe.mason@torchmobile.com>
+
+ * wtf/Assertions.cpp: vprintf_stderr_common
+
+2009-07-15 Yong Li <yong.li@torchmobile.com>
+
+ Reviewed by George Staikos.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27020
+ msToGregorianDateTime should set utcOffset to 0 when outputIsUTC is false
+
+ * wtf/DateMath.cpp:
+ (WTF::gregorianDateTimeToMS):
+
+2009-07-15 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Cleanup - Remove obsolete code from the make system
+ https://bugs.webkit.org/show_bug.cgi?id=27299
+
+ * JavaScriptCore.pro:
+ * jsc.pro:
+
+2009-07-07 Norbert Leser <norbert.leser@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27056
+
+ Alternate bool operator for codewarrior compiler (WINSCW).
+ Compiler (latest b482) reports error for UnspecifiedBoolType construct:
+ "illegal explicit conversion from 'WTF::OwnArrayPtr<JSC::Register>' to 'bool'"
+
+ Same fix as in r38391.
+
+ * JavaScriptCore/wtf/OwnArrayPtr.h:
+
+2009-07-15 Norbert Leser <norbert.leser@nokia.com>
+
+ Reviewed by Darin Adler.
+
+ Qualify include path with wtf to fix compilation
+ on Symbian.
+ https://bugs.webkit.org/show_bug.cgi?id=27055
+
+ * interpreter/Interpreter.h:
+
+2009-07-15 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Dave Kilzer.
+
+ Turn off non-portable date manipulations for SYMBIAN
+ https://bugs.webkit.org/show_bug.cgi?id=27064
+
+ Introduce HAVE(TM_GMTOFF), HAVE(TM_ZONE) and HAVE(TIMEGM) guards
+ and place the rules for controlling the guards in Platform.h.
+ Turn off these newly introduced guards for SYMBIAN.
+
+ * wtf/DateMath.cpp:
+ (WTF::calculateUTCOffset):
+ * wtf/DateMath.h:
+ (WTF::GregorianDateTime::GregorianDateTime):
+ (WTF::GregorianDateTime::operator tm):
+ * wtf/Platform.h:
+
+2009-07-15 Norbert Leser <norbert.leser@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ Undef ASSERT on Symbian, to avoid excessive warnings
+ https://bugs.webkit.org/show_bug.cgi?id=27052
+
+ * wtf/Assertions.h:
+
+2009-07-15 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Simon Hausmann.
+
+ REGRESSION: fast/js/postfix-syntax.html fails with interpreter
+ https://bugs.webkit.org/show_bug.cgi?id=27294
+
+ When postfix operators operating on locals assign to the same local
+ the order of operations has to be to store the incremented value, then
+ store the unmodified number. Rather than implementing this subtle
+ semantic in the interpreter I've just made the logic explicit in the
+ bytecode generator, so x=x++ effectively becomes x=ToNumber(x) (for a
+ local var x).
+
+ * parser/Nodes.cpp:
+ (JSC::emitPostIncOrDec):
+
+2009-07-15 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Simon Hausmann.
+
+ REGRESSION(43559): fast/js/kde/arguments-scope.html fails with interpreter
+ https://bugs.webkit.org/show_bug.cgi?id=27259
+
+ The interpreter was incorrectly basing its need to create the arguments object
+ based on the presence of the callframe's argument reference rather than the local
+ arguments reference. Based on this it then overrode the local variable reference.
+
+ * interpreter/Interpreter.cpp:
+ (JSC::Interpreter::privateExecute):
+
+2009-07-14 Steve Falkenburg <sfalken@apple.com>
+
+ Reorganize JavaScriptCore headers into:
+ API: include/JavaScriptCore/
+ Private: include/private/JavaScriptCore/
+
+ Reviewed by Darin Adler.
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreCommon.vsprops:
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGenerated.make:
+ * JavaScriptCore.vcproj/testapi/testapi.vcproj:
+ * JavaScriptCore.vcproj/testapi/testapiCommon.vsprops:
+
+2009-07-14 Zoltan Horvath <hzoltan@inf.u-szeged.hu>
+
+ Reviewed by Darin Adler.
+
+ Change JSCell's superclass to NoncopyableCustomAllocated
+ https://bugs.webkit.org/show_bug.cgi?id=27248
+
+ JSCell class customizes operator new, since Noncopyable will be
+ inherited from FastAllocBase, NoncopyableCustomAllocated has
+ to be used.
+
+ * runtime/JSCell.h:
+
+2009-07-14 Zoltan Horvath <hzoltan@inf.u-szeged.hu>
+
+ Reviewed by Darin Adler.
+
+ Change all Noncopyable inheriting visibility to public.
+ https://bugs.webkit.org/show_bug.cgi?id=27225
+
+ Change all Noncopyable inheriting visibility to public because
+ it is needed to the custom allocation framework (bug #20422).
+
+ * bytecode/SamplingTool.h:
+ * bytecompiler/RegisterID.h:
+ * interpreter/CachedCall.h:
+ * interpreter/RegisterFile.h:
+ * parser/Lexer.h:
+ * parser/Parser.h:
+ * runtime/ArgList.h:
+ * runtime/BatchedTransitionOptimizer.h:
+ * runtime/Collector.h:
+ * runtime/CommonIdentifiers.h:
+ * runtime/JSCell.h:
+ * runtime/JSGlobalObject.h:
+ * runtime/JSLock.h:
+ * runtime/JSONObject.cpp:
+ * runtime/SmallStrings.cpp:
+ * runtime/SmallStrings.h:
+ * wtf/CrossThreadRefCounted.h:
+ * wtf/GOwnPtr.h:
+ * wtf/Locker.h:
+ * wtf/MessageQueue.h:
+ * wtf/OwnArrayPtr.h:
+ * wtf/OwnFastMallocPtr.h:
+ * wtf/OwnPtr.h:
+ * wtf/RefCounted.h:
+ * wtf/ThreadSpecific.h:
+ * wtf/Threading.h:
+ * wtf/Vector.h:
+ * wtf/unicode/Collator.h:
+
+2009-07-14 Zoltan Horvath <hzoltan@inf.u-szeged.hu>
+
+ Reviewed by Darin Adler.
+
+ Change ParserArenaRefCounted's superclass to RefCountedCustomAllocated
+ https://bugs.webkit.org/show_bug.cgi?id=27249
+
+ ParserArenaDeletable customizes operator new, to avoid double inheritance
+ ParserArenaDeletable's superclass has been changed to RefCountedCustomAllocated.
+
+ * parser/Nodes.h:
+
+2009-07-14 Zoltan Horvath <hzoltan@inf.u-szeged.hu>
+
+ Reviewed by Darin Adler.
+
+ Add RefCountedCustomAllocated to RefCounted.h
+ https://bugs.webkit.org/show_bug.cgi?id=27232
+
+ Some class which are inherited from RefCounted customize
+ operator new, but RefCounted is inherited from Noncopyable
+ which will be inherited from FastAllocBase. To avoid
+ conflicts Noncopyable inheriting was moved down to RefCounted
+ and to avoid double inheritance this class has been added.
+
+ * wtf/RefCounted.h:
+ (WTF::RefCountedCustomAllocated::deref):
+ (WTF::RefCountedCustomAllocated::~RefCountedCustomAllocated):
+
+2009-07-14 Zoltan Horvath <hzoltan@inf.u-szeged.hu>
+
+ Reviewed by Darin Adler.
+
+ Add NoncopyableCustomAllocated to Noncopyable.h.
+ https://bugs.webkit.org/show_bug.cgi?id=27228
+
+ Some classes which inherited from Noncopyable overrides operator new
+ since Noncopyable'll be inherited from FastAllocBase, Noncopyable.h
+ needs to be extended with this new class to support the overriding.
+
+ * wtf/Noncopyable.h:
+ (WTFNoncopyable::NoncopyableCustomAllocated::NoncopyableCustomAllocated):
+ (WTFNoncopyable::NoncopyableCustomAllocated::~NoncopyableCustomAllocated):
+
+2009-07-14 Zoltan Horvath <hzoltan@inf.u-szeged.hu>
+
+ Reviewed by Darin Adler.
+
+ Allow custom memory allocation control for JavaScriptCore's IdentifierTable class
+ https://bugs.webkit.org/show_bug.cgi?id=27260
+
+ Inherits IdentifierTable class from FastAllocBase because it has been
+ instantiated by 'new' in JavaScriptCore/runtime/Identifier.cpp:70.
+
+ * runtime/Identifier.cpp:
+
+2009-07-14 Zoltan Horvath <hzoltan@inf.u-szeged.hu>
+
+ Reviewed by Darin Adler.
+
+ Allow custom memory allocation control for JavaScriptCore's Profiler class
+ https://bugs.webkit.org/show_bug.cgi?id=27253
+
+ Inherits Profiler class from FastAllocBase because it has been instantiated by
+ 'new' in JavaScriptCore/profiler/Profiler.cpp:56.
+
+ * profiler/Profiler.h:
+
+2009-07-06 George Staikos <george.staikos@torchmobile.com>
+
+ Reviewed by Adam Treat.
+
+ Authors: George Staikos <george.staikos@torchmobile.com>, Joe Mason <joe.mason@torchmobile.com>, Makoto Matsumoto <matumoto@math.keio.ac.jp>, Takuji Nishimura
+
+ https://bugs.webkit.org/show_bug.cgi?id=27030
+ Implement custom RNG for WinCE using Mersenne Twister
+
+ * wtf/RandomNumber.cpp:
+ (WTF::randomNumber):
+ * wtf/RandomNumberSeed.h:
+ (WTF::initializeRandomNumberGenerator):
+ * wtf/wince/mt19937ar.c: Added.
+ (init_genrand):
+ (init_by_array):
+ (genrand_int32):
+ (genrand_int31):
+ (genrand_real1):
+ (genrand_real2):
+ (genrand_real3):
+ (genrand_res53):
+
+2009-07-13 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
+
+ Unreviewed make dist build fix.
+
+ * GNUmakefile.am:
+
+2009-07-13 Drew Wilson <atwilson@google.com>
+
+ Reviewed by David Levin.
+
+ Add ENABLE(SHARED_WORKERS) flag and define SharedWorker APIs
+ https://bugs.webkit.org/show_bug.cgi?id=26932
+
+ Added ENABLE(SHARED_WORKERS) flag (off by default).
+
+ * Configurations/FeatureDefines.xcconfig:
+
+2009-07-07 Norbert Leser <norbert.leser@nokia.com>
+
+ Reviewed by Maciej Stachoviak.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27058
+
+ Removed superfluous parenthesis around single expression.
+ Compilers on Symbian platform fail to properly parse and compile.
+
+ * JavaScriptCore/wtf/Platform.h:
+
+2009-07-13 Norbert Leser <norbert.leser@nokia.com>
+
+ Reviewed by Maciej Stachoviak.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27054
+
+ Renamed Translator to HashTranslator
+
+ Codewarrior compiler (WINSCW) latest b482 cannot resolve typename
+ mismatch between template declaration and definition
+ (HashTranslator / Translator)
+
+ * wtf/HashSet.h:
+
+2009-07-13 Norbert Leser <norbert.leser@nokia.com>
+
+ Reviewed by Eric Seidel.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27053
+
+ Ambiguity in LabelScope initialization
+
+ Codewarrior compiler (WINSCW) latest b482 on Symbian cannot resolve
+ type of "0" unambiguously. Set expression explicitly to
+ PassRefPtr<Label>::PassRefPtr()
+
+ * bytecompiler/BytecodeGenerator.cpp
+
+2009-07-11 Simon Fraser <simon.fraser@apple.com>
+
+ Enable support for accelerated compositing and 3d transforms on Leopard.
+ <https://bugs.webkit.org/show_bug.cgi?id=20166>
+ <rdar://problem/6120614>
+
+ Reviewed by Oliver Hunt.
+
+ * Configurations/FeatureDefines.xcconfig:
+ * wtf/Platform.h:
+
+2009-07-10 Mark Rowe <mrowe@apple.com>
+
+ Second part of the "make Windows happier" dance.
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def:
+
+2009-07-10 Mark Rowe <mrowe@apple.com>
+
+ Try and make the Windows build happy.
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def:
+
+2009-07-10 Kevin McCullough <kmccullough@apple.com>
+
+ Reviewed by Geoffrey Garen.
+
+ * debugger/Debugger.h: Made this function virtual for use in WebCore's
+ WebInspector.
+
+2009-07-10 Kwang Yul Seo <skyul@company100.net>
+
+ Reviewed by Darin Adler.
+
+ ParserArenaDeletable should override delete
+ https://bugs.webkit.org/show_bug.cgi?id=26790
+
+ ParserArenaDeletable overrides new, but it does not override delete.
+ ParserArenaDeletable must be freed by fastFree
+ because it is allocated by fastMalloc.
+
+ * parser/NodeConstructors.h:
+ (JSC::ParserArenaDeletable::operator delete):
+ * parser/Nodes.h:
+
+2009-07-10 Adam Roben <aroben@apple.com>
+
+ Sort all our Xcode projects
+
+ Accomplished using sort-Xcode-project-file.
+
+ Requested by Dave Kilzer.
+
+ * JavaScriptCore.xcodeproj/project.pbxproj:
+
+2009-07-09 Maciej Stachowiak <mjs@apple.com>
+
+ Not reviewed, build fix.
+
+ Windows build fix for the last change.
+
+ * wtf/dtoa.cpp: Forgot to include Vector.h
+
+2009-07-09 Maciej Stachowiak <mjs@apple.com>
+
+ Reviewed by Darin Adler.
+
+ REGRESSION: crash in edge cases of floating point parsing.
+ https://bugs.webkit.org/show_bug.cgi?id=27110
+ <rdar://problem/7044458>
+
+ Tests: fast/css/number-parsing-crash.html
+ fast/css/number-parsing-crash.html
+ fast/js/number-parsing-crash.html
+
+ * wtf/dtoa.cpp:
+ (WTF::BigInt::BigInt): Converted this to more a proper class, using a Vector
+ with inline capacity
+
+ (WTF::lshift): Rearranged logic somewhat nontrivially to deal with the new way of sizing BigInts.
+ Added an assertion to verify that invariants are maintained.
+
+ All other functions are adapted fairly mechanically to the above changes.
+ (WTF::BigInt::clear):
+ (WTF::BigInt::size):
+ (WTF::BigInt::resize):
+ (WTF::BigInt::words):
+ (WTF::BigInt::append):
+ (WTF::multadd):
+ (WTF::s2b):
+ (WTF::i2b):
+ (WTF::mult):
+ (WTF::cmp):
+ (WTF::diff):
+ (WTF::b2d):
+ (WTF::d2b):
+ (WTF::ratio):
+ (WTF::strtod):
+ (WTF::quorem):
+ (WTF::dtoa):
+
+2009-07-09 Drew Wilson <atwilson@google.com>
+
+ Reviewed by Alexey Proskuryakov.
+
+ Turned on CHANNEL_MESSAGING by default because the MessageChannel API
+ can now be implemented for Web Workers and is reasonably stable.
+
+ * Configurations/FeatureDefines.xcconfig:
+
+2009-07-09 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by NOBODY (Build fix).
+
+ * interpreter/Interpreter.cpp:
+ (JSC::Interpreter::privateExecute):
+
+2009-07-09 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Bug 27016 - Interpreter crashes due to invalid array indexes
+ <https://bugs.webkit.org/show_bug.cgi?id=27016>
+
+ Unsigned vs signed conversions results in incorrect behaviour in
+ 64bit interpreter builds.
+
+ * interpreter/Interpreter.cpp:
+ (JSC::Interpreter::privateExecute):
+
+2009-07-09 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ [Chromium] Upstream JavaScriptCore.gypi, the project file for Chromium build.
+ https://bugs.webkit.org/show_bug.cgi?id=27135
+
+ * JavaScriptCore.gypi: Added.
+
+2009-07-09 Joe Mason <joe.mason@torchmobile.com>
+
+ Reviewed by George Staikos.
+
+ Authors: Yong Li <yong.li@torchmobile.com>, Joe Mason <joe.mason@torchmobile.com>
+
+ https://bugs.webkit.org/show_bug.cgi?id=27031
+ Add an override for deleteOwnedPtr(HDC) on Windows
+
+ * wtf/OwnPtrCommon.h:
+ * wtf/OwnPtrWin.cpp:
+ (WTF::deleteOwnedPtr):
+
+2009-07-09 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Darin Adler.
+
+ Guard singal.h dependency with HAVE(SIGNAL_H) to enable building jsc
+ on SYMBIAN.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27026
+
+ Based on Norbert Leser's work.
+
+ * jsc.cpp:
+ (printUsageStatement):
+ (parseArguments):
+ * wtf/Platform.h:
+
+2009-07-07 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Stop loading constants into the register file.
+
+ Instead, use high register values (highest bit bar the sign bit set) to indicate
+ constants in the instruction stream, and when we encounter such a value load it
+ directly from the CodeBlock.
+
+ Since constants are no longer copied into the register file, this patch renders
+ the 'unexpected constant' mechanism redundant, and removes it.
+
+ 2% improvement, thanks to Sam Weinig.
+
+ * bytecode/CodeBlock.cpp:
+ (JSC::CodeBlock::dump):
+ (JSC::CodeBlock::CodeBlock):
+ (JSC::CodeBlock::mark):
+ (JSC::CodeBlock::shrinkToFit):
+ * bytecode/CodeBlock.h:
+ (JSC::CodeBlock::isTemporaryRegisterIndex):
+ (JSC::CodeBlock::constantRegister):
+ (JSC::CodeBlock::isConstantRegisterIndex):
+ (JSC::CodeBlock::getConstant):
+ (JSC::ExecState::r):
+ * bytecode/Opcode.h:
+ * bytecompiler/BytecodeGenerator.cpp:
+ (JSC::BytecodeGenerator::preserveLastVar):
+ (JSC::BytecodeGenerator::BytecodeGenerator):
+ (JSC::BytecodeGenerator::addConstantValue):
+ (JSC::BytecodeGenerator::emitEqualityOp):
+ (JSC::BytecodeGenerator::emitLoad):
+ (JSC::BytecodeGenerator::emitResolveBase):
+ (JSC::BytecodeGenerator::emitResolveWithBase):
+ (JSC::BytecodeGenerator::emitNewError):
+ * bytecompiler/BytecodeGenerator.h:
+ (JSC::BytecodeGenerator::emitNode):
+ * interpreter/CallFrame.h:
+ (JSC::ExecState::noCaller):
+ (JSC::ExecState::hasHostCallFrameFlag):
+ (JSC::ExecState::addHostCallFrameFlag):
+ (JSC::ExecState::removeHostCallFrameFlag):
+ * interpreter/Interpreter.cpp:
+ (JSC::Interpreter::resolve):
+ (JSC::Interpreter::resolveSkip):
+ (JSC::Interpreter::resolveGlobal):
+ (JSC::Interpreter::resolveBase):
+ (JSC::Interpreter::resolveBaseAndProperty):
+ (JSC::Interpreter::resolveBaseAndFunc):
+ (JSC::Interpreter::dumpRegisters):
+ (JSC::Interpreter::throwException):
+ (JSC::Interpreter::createExceptionScope):
+ (JSC::Interpreter::privateExecute):
+ (JSC::Interpreter::retrieveArguments):
+ * jit/JIT.cpp:
+ (JSC::JIT::privateCompileMainPass):
+ * jit/JITInlineMethods.h:
+ (JSC::JIT::emitLoadDouble):
+ (JSC::JIT::emitLoadInt32ToDouble):
+ * jit/JITOpcodes.cpp:
+ (JSC::JIT::emit_op_new_error):
+ (JSC::JIT::emit_op_enter):
+ (JSC::JIT::emit_op_enter_with_activation):
+ * parser/Nodes.cpp:
+ (JSC::DeleteResolveNode::emitBytecode):
+ (JSC::DeleteValueNode::emitBytecode):
+ (JSC::PrefixResolveNode::emitBytecode):
+ * runtime/JSActivation.cpp:
+ (JSC::JSActivation::JSActivation):
+ * wtf/Platform.h:
+
+2009-07-07 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Fix <https://bugs.webkit.org/show_bug.cgi?id=27025> / <rdar://problem/7033448>.
+ Bug 27025: Crashes and regression test failures related to regexps in 64-bit
+
+ For x86_64 RegexGenerator uses rbx, a callee-save register, as a scratch register but
+ neglects to save and restore it. The change in handling of the output vector in r45545
+ altered code generation so that the RegExp::match was now storing important data in rbx,
+ which caused crashes and bogus results when it was clobbered.
+
+ * yarr/RegexJIT.cpp:
+ (JSC::Yarr::RegexGenerator::generateEnter): Save rbx.
+ (JSC::Yarr::RegexGenerator::generateReturn): Restore rbx.
+
+2009-07-06 Ada Chan <adachan@apple.com>
+
+ Reviewed by Darin Adler and Mark Rowe.
+
+ Decommitted spans are added to the list of normal spans rather than
+ the returned spans in TCMalloc_PageHeap::Delete().
+ https://bugs.webkit.org/show_bug.cgi?id=26998
+
+ In TCMalloc_PageHeap::Delete(), the deleted span can be decommitted in
+ the process of merging with neighboring spans that are also decommitted.
+ The merged span needs to be placed in the list of returned spans (spans
+ whose memory has been returned to the system). Right now it's always added
+ to the list of the normal spans which can theoretically cause thrashing.
+
+ * wtf/FastMalloc.cpp:
+ (WTF::TCMalloc_PageHeap::Delete):
+
+2009-07-05 Lars Knoll <lars.knoll@nokia.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26843
+
+ Fix run-time crashes in JavaScriptCore with the Metrowerks compiler on Symbian.
+
+ The Metrowerks compiler on the Symbian platform moves the globally
+ defined Hashtables into read-only memory, despite one of the members
+ being mutable. This causes crashes at run-time due to write access to
+ read-only memory.
+
+ Avoid the use of const with this compiler by introducing the
+ JSC_CONST_HASHTABLE macro.
+
+ Based on idea by Norbert Leser.
+
+ * runtime/Lookup.h: Define JSC_CONST_HASHTABLE as const for !WINSCW.
+ * create_hash_table: Use JSC_CONST_HASHTABLE for hashtables.
+ * runtime/JSGlobalData.cpp: Import various global hashtables via the macro.
+
+2009-07-04 Dan Bernstein <mitz@apple.com>
+
+ - debug build fix
+
+ * runtime/RegExpConstructor.cpp:
+ (JSC::RegExpConstructor::getLastParen):
+
+2009-07-03 Yong Li <yong.li@torchmobile.com>
+
+ Reviewed by Maciej Stachowiak (and revised slightly)
+
+ RegExp::match to be optimized
+ https://bugs.webkit.org/show_bug.cgi?id=26957
+
+ Allow regexp matching to use Vectors with inline capacity instead of
+ allocating a new ovector buffer every time.
+
+ ~5% speedup on SunSpider string-unpack-code test, 0.3% on SunSpider overall.
+
+ * runtime/RegExp.cpp:
+ (JSC::RegExp::match):
+ * runtime/RegExp.h:
+ * runtime/RegExpConstructor.cpp:
+ (JSC::RegExpConstructorPrivate::RegExpConstructorPrivate):
+ (JSC::RegExpConstructorPrivate::lastOvector):
+ (JSC::RegExpConstructorPrivate::tempOvector):
+ (JSC::RegExpConstructorPrivate::changeLastOvector):
+ (JSC::RegExpConstructor::performMatch):
+ (JSC::RegExpMatchesArray::RegExpMatchesArray):
+ (JSC::RegExpMatchesArray::fillArrayInstance):
+ (JSC::RegExpConstructor::getBackref):
+ (JSC::RegExpConstructor::getLastParen):
+ (JSC::RegExpConstructor::getLeftContext):
+ (JSC::RegExpConstructor::getRightContext):
+ * runtime/StringPrototype.cpp:
+ (JSC::stringProtoFuncSplit):
+
+2009-06-30 Kwang Yul Seo <skyul@company100.net>
+
+ Reviewed by Eric Seidel.
+
+ Override operator new/delete with const std::nothrow_t& as the second
+ argument.
+ https://bugs.webkit.org/show_bug.cgi?id=26792
+
+ On Windows CE, operator new/delete, new[]/delete[] with const
+ std::nothrow_t& must be overrided because some standard template
+ libraries use these operators.
+
+ The problem occurs when memory allocated by new(size_t s, const
+ std::nothrow_t&) is freed by delete(void* p). This causes the umatched
+ malloc/free problem.
+
+ The patch overrides all new, delete, new[] and delete[] to use
+ fastMaloc and fastFree consistently.
+
+ * wtf/FastMalloc.h:
+ (throw):
+
+2009-06-30 Gabor Loki <loki@inf.u-szeged.hu>
+
+ Reviewed by Sam Weinig.
+
+ <https://bugs.webkit.org/show_bug.cgi?id=24986>
+
+ Remove unnecessary references to AssemblerBuffer.
+
+ * interpreter/Interpreter.cpp:
+ * interpreter/Interpreter.h:
+
+2009-06-29 David Levin <levin@chromium.org>
+
+ Reviewed by Oliver Hunt.
+
+ Still seeing occasional leaks from UString::sharedBuffer code
+ https://bugs.webkit.org/show_bug.cgi?id=26420
+
+ The problem is that the pointer to the memory allocation isn't visible
+ by "leaks" due to the lower bits being used as flags. The fix is to
+ make the pointer visible in memory (in debug only). The downside of
+ this fix that the memory allocated by sharedBuffer will still look like
+ a leak in non-debug builds when any flags are set.
+
+ * wtf/PtrAndFlags.h:
+ (WTF::PtrAndFlags::set):
+
+2009-06-29 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Mark Rowe.
+
+ Remove more unused scons support.
+
+ * SConstruct: Removed.
+
+2009-06-29 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Gavin Barraclough.
+
+ <rdar://problem/7016214> JSON.parse fails to parse valid JSON with most Unicode characters
+ <https://bugs.webkit.org/show_bug.cgi?id=26802>
+
+ In the original JSON.parse patch unicode was handled correctly, however in some last
+ minute "clean up" I oversimplified isSafeStringCharacter. This patch corrects this bug.
+
+ * runtime/LiteralParser.cpp:
+ (JSC::isSafeStringCharacter):
+ (JSC::LiteralParser::Lexer::lexString):
+
2009-06-26 Oliver Hunt <oliver@apple.com>
Reviewed by Dan Bernstein.
diff --git a/src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.gypi b/src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.gypi
new file mode 100644
index 0000000..2d69c7d
--- /dev/null
+++ b/src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.gypi
@@ -0,0 +1,452 @@
+{
+ 'variables': {
+ 'javascriptcore_files': [
+ 'AllInOneFile.cpp',
+ 'API/APICast.h',
+ 'API/JavaScript.h',
+ 'API/JavaScriptCore.h',
+ 'API/JSBase.cpp',
+ 'API/JSBase.h',
+ 'API/JSBasePrivate.h',
+ 'API/JSCallbackConstructor.cpp',
+ 'API/JSCallbackConstructor.h',
+ 'API/JSCallbackFunction.cpp',
+ 'API/JSCallbackFunction.h',
+ 'API/JSCallbackObject.cpp',
+ 'API/JSCallbackObject.h',
+ 'API/JSCallbackObjectFunctions.h',
+ 'API/JSClassRef.cpp',
+ 'API/JSClassRef.h',
+ 'API/JSContextRef.cpp',
+ 'API/JSContextRef.h',
+ 'API/JSObjectRef.cpp',
+ 'API/JSObjectRef.h',
+ 'API/JSProfilerPrivate.cpp',
+ 'API/JSProfilerPrivate.h',
+ 'API/JSRetainPtr.h',
+ 'API/JSStringRef.cpp',
+ 'API/JSStringRef.h',
+ 'API/JSStringRefBSTR.cpp',
+ 'API/JSStringRefBSTR.h',
+ 'API/JSStringRefCF.cpp',
+ 'API/JSStringRefCF.h',
+ 'API/JSValueRef.cpp',
+ 'API/JSValueRef.h',
+ 'API/OpaqueJSString.cpp',
+ 'API/OpaqueJSString.h',
+ 'API/tests/JSNode.h',
+ 'API/tests/JSNodeList.h',
+ 'API/tests/Node.h',
+ 'API/tests/NodeList.h',
+ 'API/WebKitAvailability.h',
+ 'assembler/AbstractMacroAssembler.h',
+ 'assembler/ARMv7Assembler.h',
+ 'assembler/AssemblerBuffer.h',
+ 'assembler/CodeLocation.h',
+ 'assembler/MacroAssembler.h',
+ 'assembler/MacroAssemblerARMv7.h',
+ 'assembler/MacroAssemblerCodeRef.h',
+ 'assembler/MacroAssemblerX86.h',
+ 'assembler/MacroAssemblerX86_64.h',
+ 'assembler/MacroAssemblerX86Common.h',
+ 'assembler/X86Assembler.h',
+ 'bytecode/CodeBlock.cpp',
+ 'bytecode/CodeBlock.h',
+ 'bytecode/EvalCodeCache.h',
+ 'bytecode/Instruction.h',
+ 'bytecode/JumpTable.cpp',
+ 'bytecode/JumpTable.h',
+ 'bytecode/Opcode.cpp',
+ 'bytecode/Opcode.h',
+ 'bytecode/SamplingTool.cpp',
+ 'bytecode/SamplingTool.h',
+ 'bytecode/StructureStubInfo.cpp',
+ 'bytecode/StructureStubInfo.h',
+ 'bytecompiler/BytecodeGenerator.cpp',
+ 'bytecompiler/BytecodeGenerator.h',
+ 'bytecompiler/Label.h',
+ 'bytecompiler/LabelScope.h',
+ 'bytecompiler/RegisterID.h',
+ 'config.h',
+ 'debugger/Debugger.cpp',
+ 'debugger/Debugger.h',
+ 'debugger/DebuggerActivation.cpp',
+ 'debugger/DebuggerActivation.h',
+ 'debugger/DebuggerCallFrame.cpp',
+ 'debugger/DebuggerCallFrame.h',
+ 'icu/unicode/parseerr.h',
+ 'icu/unicode/platform.h',
+ 'icu/unicode/putil.h',
+ 'icu/unicode/uchar.h',
+ 'icu/unicode/ucnv.h',
+ 'icu/unicode/ucnv_err.h',
+ 'icu/unicode/ucol.h',
+ 'icu/unicode/uconfig.h',
+ 'icu/unicode/uenum.h',
+ 'icu/unicode/uiter.h',
+ 'icu/unicode/uloc.h',
+ 'icu/unicode/umachine.h',
+ 'icu/unicode/unorm.h',
+ 'icu/unicode/urename.h',
+ 'icu/unicode/uset.h',
+ 'icu/unicode/ustring.h',
+ 'icu/unicode/utf.h',
+ 'icu/unicode/utf16.h',
+ 'icu/unicode/utf8.h',
+ 'icu/unicode/utf_old.h',
+ 'icu/unicode/utypes.h',
+ 'icu/unicode/uversion.h',
+ 'interpreter/CachedCall.h',
+ 'interpreter/CallFrame.cpp',
+ 'interpreter/CallFrame.h',
+ 'interpreter/CallFrameClosure.h',
+ 'interpreter/Interpreter.cpp',
+ 'interpreter/Interpreter.h',
+ 'interpreter/Register.h',
+ 'interpreter/RegisterFile.cpp',
+ 'interpreter/RegisterFile.h',
+ 'JavaScriptCorePrefix.h',
+ 'jit/ExecutableAllocator.cpp',
+ 'jit/ExecutableAllocator.h',
+ 'jit/ExecutableAllocatorFixedVMPool.cpp',
+ 'jit/ExecutableAllocatorPosix.cpp',
+ 'jit/ExecutableAllocatorWin.cpp',
+ 'jit/JIT.cpp',
+ 'jit/JIT.h',
+ 'jit/JITArithmetic.cpp',
+ 'jit/JITCall.cpp',
+ 'jit/JITCode.h',
+ 'jit/JITInlineMethods.h',
+ 'jit/JITOpcodes.cpp',
+ 'jit/JITPropertyAccess.cpp',
+ 'jit/JITStubCall.h',
+ 'jit/JITStubs.cpp',
+ 'jit/JITStubs.h',
+ 'jsc.cpp',
+ 'os-win32/stdbool.h',
+ 'os-win32/stdint.h',
+ 'parser/Lexer.cpp',
+ 'parser/Lexer.h',
+ 'parser/NodeConstructors.h',
+ 'parser/NodeInfo.h',
+ 'parser/Nodes.cpp',
+ 'parser/Nodes.h',
+ 'parser/Parser.cpp',
+ 'parser/Parser.h',
+ 'parser/ParserArena.cpp',
+ 'parser/ParserArena.h',
+ 'parser/ResultType.h',
+ 'parser/SourceCode.h',
+ 'parser/SourceProvider.h',
+ 'pcre/pcre.h',
+ 'pcre/pcre_compile.cpp',
+ 'pcre/pcre_exec.cpp',
+ 'pcre/pcre_internal.h',
+ 'pcre/pcre_tables.cpp',
+ 'pcre/pcre_ucp_searchfuncs.cpp',
+ 'pcre/pcre_xclass.cpp',
+ 'pcre/ucpinternal.h',
+ 'pcre/ucptable.cpp',
+ 'profiler/CallIdentifier.h',
+ 'profiler/HeavyProfile.cpp',
+ 'profiler/HeavyProfile.h',
+ 'profiler/Profile.cpp',
+ 'profiler/Profile.h',
+ 'profiler/ProfileGenerator.cpp',
+ 'profiler/ProfileGenerator.h',
+ 'profiler/ProfileNode.cpp',
+ 'profiler/ProfileNode.h',
+ 'profiler/Profiler.cpp',
+ 'profiler/Profiler.h',
+ 'profiler/ProfilerServer.h',
+ 'profiler/TreeProfile.cpp',
+ 'profiler/TreeProfile.h',
+ 'runtime/ArgList.cpp',
+ 'runtime/ArgList.h',
+ 'runtime/Arguments.cpp',
+ 'runtime/Arguments.h',
+ 'runtime/ArrayConstructor.cpp',
+ 'runtime/ArrayConstructor.h',
+ 'runtime/ArrayPrototype.cpp',
+ 'runtime/ArrayPrototype.h',
+ 'runtime/BatchedTransitionOptimizer.h',
+ 'runtime/BooleanConstructor.cpp',
+ 'runtime/BooleanConstructor.h',
+ 'runtime/BooleanObject.cpp',
+ 'runtime/BooleanObject.h',
+ 'runtime/BooleanPrototype.cpp',
+ 'runtime/BooleanPrototype.h',
+ 'runtime/CallData.cpp',
+ 'runtime/CallData.h',
+ 'runtime/ClassInfo.h',
+ 'runtime/Collector.cpp',
+ 'runtime/Collector.h',
+ 'runtime/CollectorHeapIterator.h',
+ 'runtime/CommonIdentifiers.cpp',
+ 'runtime/CommonIdentifiers.h',
+ 'runtime/Completion.cpp',
+ 'runtime/Completion.h',
+ 'runtime/ConstructData.cpp',
+ 'runtime/ConstructData.h',
+ 'runtime/DateConstructor.cpp',
+ 'runtime/DateConstructor.h',
+ 'runtime/DateConversion.cpp',
+ 'runtime/DateConversion.h',
+ 'runtime/DateInstance.cpp',
+ 'runtime/DateInstance.h',
+ 'runtime/DatePrototype.cpp',
+ 'runtime/DatePrototype.h',
+ 'runtime/Error.cpp',
+ 'runtime/Error.h',
+ 'runtime/ErrorConstructor.cpp',
+ 'runtime/ErrorConstructor.h',
+ 'runtime/ErrorInstance.cpp',
+ 'runtime/ErrorInstance.h',
+ 'runtime/ErrorPrototype.cpp',
+ 'runtime/ErrorPrototype.h',
+ 'runtime/ExceptionHelpers.cpp',
+ 'runtime/ExceptionHelpers.h',
+ 'runtime/FunctionConstructor.cpp',
+ 'runtime/FunctionConstructor.h',
+ 'runtime/FunctionPrototype.cpp',
+ 'runtime/FunctionPrototype.h',
+ 'runtime/GetterSetter.cpp',
+ 'runtime/GetterSetter.h',
+ 'runtime/GlobalEvalFunction.cpp',
+ 'runtime/GlobalEvalFunction.h',
+ 'runtime/Identifier.cpp',
+ 'runtime/Identifier.h',
+ 'runtime/InitializeThreading.cpp',
+ 'runtime/InitializeThreading.h',
+ 'runtime/InternalFunction.cpp',
+ 'runtime/InternalFunction.h',
+ 'runtime/JSActivation.cpp',
+ 'runtime/JSActivation.h',
+ 'runtime/JSArray.cpp',
+ 'runtime/JSArray.h',
+ 'runtime/JSByteArray.cpp',
+ 'runtime/JSByteArray.h',
+ 'runtime/JSCell.cpp',
+ 'runtime/JSCell.h',
+ 'runtime/JSFunction.cpp',
+ 'runtime/JSFunction.h',
+ 'runtime/JSGlobalData.cpp',
+ 'runtime/JSGlobalData.h',
+ 'runtime/JSGlobalObject.cpp',
+ 'runtime/JSGlobalObject.h',
+ 'runtime/JSGlobalObjectFunctions.cpp',
+ 'runtime/JSGlobalObjectFunctions.h',
+ 'runtime/JSImmediate.cpp',
+ 'runtime/JSImmediate.h',
+ 'runtime/JSLock.cpp',
+ 'runtime/JSLock.h',
+ 'runtime/JSNotAnObject.cpp',
+ 'runtime/JSNotAnObject.h',
+ 'runtime/JSNumberCell.cpp',
+ 'runtime/JSNumberCell.h',
+ 'runtime/JSObject.cpp',
+ 'runtime/JSObject.h',
+ 'runtime/JSONObject.cpp',
+ 'runtime/JSONObject.h',
+ 'runtime/JSPropertyNameIterator.cpp',
+ 'runtime/JSPropertyNameIterator.h',
+ 'runtime/JSStaticScopeObject.cpp',
+ 'runtime/JSStaticScopeObject.h',
+ 'runtime/JSString.cpp',
+ 'runtime/JSString.h',
+ 'runtime/JSType.h',
+ 'runtime/JSValue.cpp',
+ 'runtime/JSValue.h',
+ 'runtime/JSVariableObject.cpp',
+ 'runtime/JSVariableObject.h',
+ 'runtime/JSWrapperObject.cpp',
+ 'runtime/JSWrapperObject.h',
+ 'runtime/LiteralParser.cpp',
+ 'runtime/LiteralParser.h',
+ 'runtime/Lookup.cpp',
+ 'runtime/Lookup.h',
+ 'runtime/MathObject.cpp',
+ 'runtime/MathObject.h',
+ 'runtime/NativeErrorConstructor.cpp',
+ 'runtime/NativeErrorConstructor.h',
+ 'runtime/NativeErrorPrototype.cpp',
+ 'runtime/NativeErrorPrototype.h',
+ 'runtime/NativeFunctionWrapper.h',
+ 'runtime/NumberConstructor.cpp',
+ 'runtime/NumberConstructor.h',
+ 'runtime/NumberObject.cpp',
+ 'runtime/NumberObject.h',
+ 'runtime/NumberPrototype.cpp',
+ 'runtime/NumberPrototype.h',
+ 'runtime/ObjectConstructor.cpp',
+ 'runtime/ObjectConstructor.h',
+ 'runtime/ObjectPrototype.cpp',
+ 'runtime/ObjectPrototype.h',
+ 'runtime/Operations.cpp',
+ 'runtime/Operations.h',
+ 'runtime/PropertyMapHashTable.h',
+ 'runtime/PropertyNameArray.cpp',
+ 'runtime/PropertyNameArray.h',
+ 'runtime/PropertySlot.cpp',
+ 'runtime/PropertySlot.h',
+ 'runtime/Protect.h',
+ 'runtime/PrototypeFunction.cpp',
+ 'runtime/PrototypeFunction.h',
+ 'runtime/PutPropertySlot.h',
+ 'runtime/RegExp.cpp',
+ 'runtime/RegExp.h',
+ 'runtime/RegExpConstructor.cpp',
+ 'runtime/RegExpConstructor.h',
+ 'runtime/RegExpMatchesArray.h',
+ 'runtime/RegExpObject.cpp',
+ 'runtime/RegExpObject.h',
+ 'runtime/RegExpPrototype.cpp',
+ 'runtime/RegExpPrototype.h',
+ 'runtime/ScopeChain.cpp',
+ 'runtime/ScopeChain.h',
+ 'runtime/ScopeChainMark.h',
+ 'runtime/SmallStrings.cpp',
+ 'runtime/SmallStrings.h',
+ 'runtime/StringConstructor.cpp',
+ 'runtime/StringConstructor.h',
+ 'runtime/StringObject.cpp',
+ 'runtime/StringObject.h',
+ 'runtime/StringObjectThatMasqueradesAsUndefined.h',
+ 'runtime/StringPrototype.cpp',
+ 'runtime/StringPrototype.h',
+ 'runtime/Structure.cpp',
+ 'runtime/Structure.h',
+ 'runtime/StructureChain.cpp',
+ 'runtime/StructureChain.h',
+ 'runtime/StructureTransitionTable.h',
+ 'runtime/SymbolTable.h',
+ 'runtime/TimeoutChecker.cpp',
+ 'runtime/TimeoutChecker.h',
+ 'runtime/Tracing.h',
+ 'runtime/TypeInfo.h',
+ 'runtime/UString.cpp',
+ 'runtime/UString.h',
+ 'wrec/CharacterClass.cpp',
+ 'wrec/CharacterClass.h',
+ 'wrec/CharacterClassConstructor.cpp',
+ 'wrec/CharacterClassConstructor.h',
+ 'wrec/Escapes.h',
+ 'wrec/Quantifier.h',
+ 'wrec/WREC.cpp',
+ 'wrec/WREC.h',
+ 'wrec/WRECFunctors.cpp',
+ 'wrec/WRECFunctors.h',
+ 'wrec/WRECGenerator.cpp',
+ 'wrec/WRECGenerator.h',
+ 'wrec/WRECParser.cpp',
+ 'wrec/WRECParser.h',
+ 'wtf/AlwaysInline.h',
+ 'wtf/ASCIICType.h',
+ 'wtf/Assertions.cpp',
+ 'wtf/Assertions.h',
+ 'wtf/AVLTree.h',
+ 'wtf/ByteArray.cpp',
+ 'wtf/ByteArray.h',
+ 'wtf/chromium/ChromiumThreading.h',
+ 'wtf/chromium/MainThreadChromium.cpp',
+ 'wtf/CrossThreadRefCounted.h',
+ 'wtf/CurrentTime.cpp',
+ 'wtf/CurrentTime.h',
+ 'wtf/DateMath.cpp',
+ 'wtf/DateMath.h',
+ 'wtf/Deque.h',
+ 'wtf/DisallowCType.h',
+ 'wtf/dtoa.cpp',
+ 'wtf/dtoa.h',
+ 'wtf/FastAllocBase.h',
+ 'wtf/FastMalloc.cpp',
+ 'wtf/FastMalloc.h',
+ 'wtf/Forward.h',
+ 'wtf/GetPtr.h',
+ 'wtf/GOwnPtr.cpp',
+ 'wtf/GOwnPtr.h',
+ 'wtf/gtk/MainThreadGtk.cpp',
+ 'wtf/gtk/ThreadingGtk.cpp',
+ 'wtf/HashCountedSet.h',
+ 'wtf/HashFunctions.h',
+ 'wtf/HashIterators.h',
+ 'wtf/HashMap.h',
+ 'wtf/HashSet.h',
+ 'wtf/HashTable.cpp',
+ 'wtf/HashTable.h',
+ 'wtf/HashTraits.h',
+ 'wtf/ListHashSet.h',
+ 'wtf/ListRefPtr.h',
+ 'wtf/Locker.h',
+ 'wtf/MainThread.cpp',
+ 'wtf/MainThread.h',
+ 'wtf/MallocZoneSupport.h',
+ 'wtf/MathExtras.h',
+ 'wtf/MessageQueue.h',
+ 'wtf/Noncopyable.h',
+ 'wtf/NotFound.h',
+ 'wtf/OwnArrayPtr.h',
+ 'wtf/OwnFastMallocPtr.h',
+ 'wtf/OwnPtr.h',
+ 'wtf/OwnPtrCommon.h',
+ 'wtf/OwnPtrWin.cpp',
+ 'wtf/PassOwnPtr.h',
+ 'wtf/PassRefPtr.h',
+ 'wtf/Platform.h',
+ 'wtf/PtrAndFlags.h',
+ 'wtf/qt/MainThreadQt.cpp',
+ 'wtf/qt/ThreadingQt.cpp',
+ 'wtf/RandomNumber.cpp',
+ 'wtf/RandomNumber.h',
+ 'wtf/RandomNumberSeed.h',
+ 'wtf/RefCounted.h',
+ 'wtf/RefCountedLeakCounter.cpp',
+ 'wtf/RefCountedLeakCounter.h',
+ 'wtf/RefPtr.h',
+ 'wtf/RefPtrHashMap.h',
+ 'wtf/RetainPtr.h',
+ 'wtf/SegmentedVector.h',
+ 'wtf/StdLibExtras.h',
+ 'wtf/StringExtras.h',
+ 'wtf/TCPackedCache.h',
+ 'wtf/TCPageMap.h',
+ 'wtf/TCSpinLock.h',
+ 'wtf/TCSystemAlloc.cpp',
+ 'wtf/TCSystemAlloc.h',
+ 'wtf/Threading.cpp',
+ 'wtf/Threading.h',
+ 'wtf/ThreadingNone.cpp',
+ 'wtf/ThreadingPthreads.cpp',
+ 'wtf/ThreadingWin.cpp',
+ 'wtf/ThreadSpecific.h',
+ 'wtf/ThreadSpecificWin.cpp',
+ 'wtf/TypeTraits.cpp',
+ 'wtf/TypeTraits.h',
+ 'wtf/unicode/Collator.h',
+ 'wtf/unicode/CollatorDefault.cpp',
+ 'wtf/unicode/glib/UnicodeGLib.cpp',
+ 'wtf/unicode/glib/UnicodeGLib.h',
+ 'wtf/unicode/glib/UnicodeMacrosFromICU.h',
+ 'wtf/unicode/icu/CollatorICU.cpp',
+ 'wtf/unicode/icu/UnicodeIcu.h',
+ 'wtf/unicode/qt4/UnicodeQt4.h',
+ 'wtf/unicode/Unicode.h',
+ 'wtf/unicode/UTF8.cpp',
+ 'wtf/unicode/UTF8.h',
+ 'wtf/UnusedParam.h',
+ 'wtf/Vector.h',
+ 'wtf/VectorTraits.h',
+ 'wtf/VMTags.h',
+ 'wtf/win/MainThreadWin.cpp',
+ 'wtf/wx/MainThreadWx.cpp',
+ 'yarr/RegexCompiler.cpp',
+ 'yarr/RegexCompiler.h',
+ 'yarr/RegexInterpreter.cpp',
+ 'yarr/RegexInterpreter.h',
+ 'yarr/RegexJIT.cpp',
+ 'yarr/RegexJIT.h',
+ 'yarr/RegexParser.h',
+ 'yarr/RegexPattern.h',
+ ]
+ }
+}
diff --git a/src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.pri b/src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.pri
index dbc467d..b43602e 100644
--- a/src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.pri
+++ b/src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.pri
@@ -9,24 +9,26 @@ CONFIG(debug, debug|release) {
OBJECTS_DIR = obj/release
}
-INCLUDEPATH += $$GENERATED_SOURCES_DIR \
- $$PWD \
- $$PWD/parser \
- $$PWD/bytecompiler \
- $$PWD/debugger \
- $$PWD/runtime \
- $$PWD/wtf \
- $$PWD/wtf/unicode \
- $$PWD/interpreter \
- $$PWD/jit \
- $$PWD/profiler \
- $$PWD/wrec \
- $$PWD/yarr \
- $$PWD/API \
- $$PWD/.. \
- $$PWD/ForwardingHeaders \
- $$PWD/bytecode \
- $$PWD/assembler \
+INCLUDEPATH = \
+ $$PWD \
+ $$PWD/.. \
+ $$PWD/assembler \
+ $$PWD/bytecode \
+ $$PWD/bytecompiler \
+ $$PWD/debugger \
+ $$PWD/interpreter \
+ $$PWD/jit \
+ $$PWD/parser \
+ $$PWD/profiler \
+ $$PWD/runtime \
+ $$PWD/wrec \
+ $$PWD/wtf \
+ $$PWD/wtf/unicode \
+ $$PWD/yarr \
+ $$PWD/API \
+ $$PWD/ForwardingHeaders \
+ $$GENERATED_SOURCES_DIR \
+ $$INCLUDEPATH
DEFINES += BUILDING_QT__ BUILDING_JavaScriptCore BUILDING_WTF
@@ -35,34 +37,17 @@ win32-* {
LIBS += -lwinmm
}
-# Default rules to turn JIT on/off
-!contains(DEFINES, ENABLE_JIT=.) {
- isEqual(QT_ARCH,i386)|isEqual(QT_ARCH,windows) {
- # Require gcc >= 4.1
- CONFIG(release):linux-g++*:greaterThan(QT_GCC_MAJOR_VERSION,3):greaterThan(QT_GCC_MINOR_VERSION,0) {
- DEFINES += ENABLE_JIT=1
- }
- win32-msvc* {
- DEFINES += ENABLE_JIT=1
- }
- }
+# In debug mode JIT disabled until crash fixed
+win32-* {
+ CONFIG(debug):!contains(DEFINES, ENABLE_JIT=1): DEFINES+=ENABLE_JIT=0
}
-# Rules when JIT enabled
-contains(DEFINES, ENABLE_JIT=1) {
- !contains(DEFINES, ENABLE_YARR=.): DEFINES += ENABLE_YARR=1
- !contains(DEFINES, ENABLE_YARR_JIT=.): DEFINES += ENABLE_YARR_JIT=1
- !contains(DEFINES, ENABLE_JIT_OPTIMIZE_CALL=.): DEFINES += ENABLE_JIT_OPTIMIZE_CALL=1
- !contains(DEFINES, ENABLE_JIT_OPTIMIZE_PROPERTY_ACCESS=.): DEFINES += ENABLE_JIT_OPTIMIZE_PROPERTY_ACCESS=1
- !contains(DEFINES, ENABLE_JIT_OPTIMIZE_ARITHMETIC=.): DEFINES += ENABLE_JIT_OPTIMIZE_ARITHMETIC=1
- linux-g++* {
- !contains(DEFINES, WTF_USE_JIT_STUB_ARGUMENT_VA_LIST=.): DEFINES += WTF_USE_JIT_STUB_ARGUMENT_VA_LIST=1
+# Rules when JIT enabled (not disabled)
+!contains(DEFINES, ENABLE_JIT=0) {
+ linux-g++*:greaterThan(QT_GCC_MAJOR_VERSION,3):greaterThan(QT_GCC_MINOR_VERSION,0) {
QMAKE_CXXFLAGS += -fno-stack-protector
QMAKE_CFLAGS += -fno-stack-protector
}
- win32-msvc* {
- !contains(DEFINES, WTF_USE_JIT_STUB_ARGUMENT_REGISTER=.): DEFINES += WTF_USE_JIT_STUB_ARGUMENT_REGISTER=1
- }
}
win32-msvc*: INCLUDEPATH += $$PWD/os-win32
@@ -124,6 +109,7 @@ SOURCES += \
bytecode/CodeBlock.cpp \
bytecode/StructureStubInfo.cpp \
bytecode/JumpTable.cpp \
+ assembler/ARMAssembler.cpp \
jit/JIT.cpp \
jit/JITCall.cpp \
jit/JITArithmetic.cpp \
diff --git a/src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.pro b/src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.pro
index 28f0e6b..f881c05 100644
--- a/src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.pro
+++ b/src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.pro
@@ -33,8 +33,6 @@ INCLUDEPATH += $$GENERATED_SOURCES_DIR
}
}
-include($$OUTPUT_DIR/config.pri)
-
CONFIG -= warn_on
*-g++*:QMAKE_CXXFLAGS += -Wreturn-type -fno-strict-aliasing
#QMAKE_CXXFLAGS += -Wall -Wno-undef -Wno-unused-parameter
diff --git a/src/3rdparty/webkit/JavaScriptCore/assembler/ARMAssembler.cpp b/src/3rdparty/webkit/JavaScriptCore/assembler/ARMAssembler.cpp
new file mode 100644
index 0000000..dafc482
--- /dev/null
+++ b/src/3rdparty/webkit/JavaScriptCore/assembler/ARMAssembler.cpp
@@ -0,0 +1,353 @@
+/*
+ * Copyright (C) 2009 University of Szeged
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY UNIVERSITY OF SZEGED ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL UNIVERSITY OF SZEGED OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+
+#if ENABLE(ASSEMBLER) && PLATFORM(ARM)
+
+#include "ARMAssembler.h"
+
+namespace JSC {
+
+// Patching helpers
+
+ARMWord* ARMAssembler::getLdrImmAddress(ARMWord* insn, uint32_t* constPool)
+{
+ // Must be an ldr ..., [pc +/- imm]
+ ASSERT((*insn & 0x0f7f0000) == 0x051f0000);
+
+ if (constPool && (*insn & 0x1))
+ return reinterpret_cast<ARMWord*>(constPool + ((*insn & SDT_OFFSET_MASK) >> 1));
+
+ ARMWord addr = reinterpret_cast<ARMWord>(insn) + 2 * sizeof(ARMWord);
+ if (*insn & DT_UP)
+ return reinterpret_cast<ARMWord*>(addr + (*insn & SDT_OFFSET_MASK));
+ else
+ return reinterpret_cast<ARMWord*>(addr - (*insn & SDT_OFFSET_MASK));
+}
+
+void ARMAssembler::linkBranch(void* code, JmpSrc from, void* to)
+{
+ ARMWord* insn = reinterpret_cast<ARMWord*>(code) + (from.m_offset / sizeof(ARMWord));
+
+ if (!from.m_latePatch) {
+ int diff = reinterpret_cast<ARMWord*>(to) - reinterpret_cast<ARMWord*>(insn + 2);
+
+ if ((diff <= BOFFSET_MAX && diff >= BOFFSET_MIN)) {
+ *insn = B | getConditionalField(*insn) | (diff & BRANCH_MASK);
+ ExecutableAllocator::cacheFlush(insn, sizeof(ARMWord));
+ return;
+ }
+ }
+ ARMWord* addr = getLdrImmAddress(insn);
+ *addr = reinterpret_cast<ARMWord>(to);
+ ExecutableAllocator::cacheFlush(addr, sizeof(ARMWord));
+}
+
+void ARMAssembler::patchConstantPoolLoad(void* loadAddr, void* constPoolAddr)
+{
+ ARMWord *ldr = reinterpret_cast<ARMWord*>(loadAddr);
+ ARMWord diff = reinterpret_cast<ARMWord*>(constPoolAddr) - ldr;
+ ARMWord index = (*ldr & 0xfff) >> 1;
+
+ ASSERT(diff >= 1);
+ if (diff >= 2 || index > 0) {
+ diff = (diff + index - 2) * sizeof(ARMWord);
+ ASSERT(diff <= 0xfff);
+ *ldr = (*ldr & ~0xfff) | diff;
+ } else
+ *ldr = (*ldr & ~(0xfff | ARMAssembler::DT_UP)) | sizeof(ARMWord);
+}
+
+// Handle immediates
+
+ARMWord ARMAssembler::getOp2(ARMWord imm)
+{
+ int rol;
+
+ if (imm <= 0xff)
+ return OP2_IMM | imm;
+
+ if ((imm & 0xff000000) == 0) {
+ imm <<= 8;
+ rol = 8;
+ }
+ else {
+ imm = (imm << 24) | (imm >> 8);
+ rol = 0;
+ }
+
+ if ((imm & 0xff000000) == 0) {
+ imm <<= 8;
+ rol += 4;
+ }
+
+ if ((imm & 0xf0000000) == 0) {
+ imm <<= 4;
+ rol += 2;
+ }
+
+ if ((imm & 0xc0000000) == 0) {
+ imm <<= 2;
+ rol += 1;
+ }
+
+ if ((imm & 0x00ffffff) == 0)
+ return OP2_IMM | (imm >> 24) | (rol << 8);
+
+ return 0;
+}
+
+int ARMAssembler::genInt(int reg, ARMWord imm, bool positive)
+{
+ // Step1: Search a non-immediate part
+ ARMWord mask;
+ ARMWord imm1;
+ ARMWord imm2;
+ int rol;
+
+ mask = 0xff000000;
+ rol = 8;
+ while(1) {
+ if ((imm & mask) == 0) {
+ imm = (imm << rol) | (imm >> (32 - rol));
+ rol = 4 + (rol >> 1);
+ break;
+ }
+ rol += 2;
+ mask >>= 2;
+ if (mask & 0x3) {
+ // rol 8
+ imm = (imm << 8) | (imm >> 24);
+ mask = 0xff00;
+ rol = 24;
+ while (1) {
+ if ((imm & mask) == 0) {
+ imm = (imm << rol) | (imm >> (32 - rol));
+ rol = (rol >> 1) - 8;
+ break;
+ }
+ rol += 2;
+ mask >>= 2;
+ if (mask & 0x3)
+ return 0;
+ }
+ break;
+ }
+ }
+
+ ASSERT((imm & 0xff) == 0);
+
+ if ((imm & 0xff000000) == 0) {
+ imm1 = OP2_IMM | ((imm >> 16) & 0xff) | (((rol + 4) & 0xf) << 8);
+ imm2 = OP2_IMM | ((imm >> 8) & 0xff) | (((rol + 8) & 0xf) << 8);
+ } else if (imm & 0xc0000000) {
+ imm1 = OP2_IMM | ((imm >> 24) & 0xff) | ((rol & 0xf) << 8);
+ imm <<= 8;
+ rol += 4;
+
+ if ((imm & 0xff000000) == 0) {
+ imm <<= 8;
+ rol += 4;
+ }
+
+ if ((imm & 0xf0000000) == 0) {
+ imm <<= 4;
+ rol += 2;
+ }
+
+ if ((imm & 0xc0000000) == 0) {
+ imm <<= 2;
+ rol += 1;
+ }
+
+ if ((imm & 0x00ffffff) == 0)
+ imm2 = OP2_IMM | (imm >> 24) | ((rol & 0xf) << 8);
+ else
+ return 0;
+ } else {
+ if ((imm & 0xf0000000) == 0) {
+ imm <<= 4;
+ rol += 2;
+ }
+
+ if ((imm & 0xc0000000) == 0) {
+ imm <<= 2;
+ rol += 1;
+ }
+
+ imm1 = OP2_IMM | ((imm >> 24) & 0xff) | ((rol & 0xf) << 8);
+ imm <<= 8;
+ rol += 4;
+
+ if ((imm & 0xf0000000) == 0) {
+ imm <<= 4;
+ rol += 2;
+ }
+
+ if ((imm & 0xc0000000) == 0) {
+ imm <<= 2;
+ rol += 1;
+ }
+
+ if ((imm & 0x00ffffff) == 0)
+ imm2 = OP2_IMM | (imm >> 24) | ((rol & 0xf) << 8);
+ else
+ return 0;
+ }
+
+ if (positive) {
+ mov_r(reg, imm1);
+ orr_r(reg, reg, imm2);
+ } else {
+ mvn_r(reg, imm1);
+ bic_r(reg, reg, imm2);
+ }
+
+ return 1;
+}
+
+ARMWord ARMAssembler::getImm(ARMWord imm, int tmpReg, bool invert)
+{
+ ARMWord tmp;
+
+ // Do it by 1 instruction
+ tmp = getOp2(imm);
+ if (tmp)
+ return tmp;
+
+ tmp = getOp2(~imm);
+ if (tmp) {
+ if (invert)
+ return tmp | OP2_INV_IMM;
+ mvn_r(tmpReg, tmp);
+ return tmpReg;
+ }
+
+ // Do it by 2 instruction
+ if (genInt(tmpReg, imm, true))
+ return tmpReg;
+ if (genInt(tmpReg, ~imm, false))
+ return tmpReg;
+
+ ldr_imm(tmpReg, imm);
+ return tmpReg;
+}
+
+void ARMAssembler::moveImm(ARMWord imm, int dest)
+{
+ ARMWord tmp;
+
+ // Do it by 1 instruction
+ tmp = getOp2(imm);
+ if (tmp) {
+ mov_r(dest, tmp);
+ return;
+ }
+
+ tmp = getOp2(~imm);
+ if (tmp) {
+ mvn_r(dest, tmp);
+ return;
+ }
+
+ // Do it by 2 instruction
+ if (genInt(dest, imm, true))
+ return;
+ if (genInt(dest, ~imm, false))
+ return;
+
+ ldr_imm(dest, imm);
+}
+
+// Memory load/store helpers
+
+void ARMAssembler::dataTransfer32(bool isLoad, RegisterID srcDst, RegisterID base, int32_t offset)
+{
+ if (offset >= 0) {
+ if (offset <= 0xfff)
+ dtr_u(isLoad, srcDst, base, offset);
+ else if (offset <= 0xfffff) {
+ add_r(ARM::S0, base, OP2_IMM | (offset >> 12) | (10 << 8));
+ dtr_u(isLoad, srcDst, ARM::S0, offset & 0xfff);
+ } else {
+ ARMWord reg = getImm(offset, ARM::S0);
+ dtr_ur(isLoad, srcDst, base, reg);
+ }
+ } else {
+ offset = -offset;
+ if (offset <= 0xfff)
+ dtr_d(isLoad, srcDst, base, offset);
+ else if (offset <= 0xfffff) {
+ sub_r(ARM::S0, base, OP2_IMM | (offset >> 12) | (10 << 8));
+ dtr_d(isLoad, srcDst, ARM::S0, offset & 0xfff);
+ } else {
+ ARMWord reg = getImm(offset, ARM::S0);
+ dtr_dr(isLoad, srcDst, base, reg);
+ }
+ }
+}
+
+void ARMAssembler::baseIndexTransfer32(bool isLoad, RegisterID srcDst, RegisterID base, RegisterID index, int scale, int32_t offset)
+{
+ ARMWord op2;
+
+ ASSERT(scale >= 0 && scale <= 3);
+ op2 = lsl(index, scale);
+
+ if (offset >= 0 && offset <= 0xfff) {
+ add_r(ARM::S0, base, op2);
+ dtr_u(isLoad, srcDst, ARM::S0, offset);
+ return;
+ }
+ if (offset <= 0 && offset >= -0xfff) {
+ add_r(ARM::S0, base, op2);
+ dtr_d(isLoad, srcDst, ARM::S0, -offset);
+ return;
+ }
+
+ moveImm(offset, ARM::S0);
+ add_r(ARM::S0, ARM::S0, op2);
+ dtr_ur(isLoad, srcDst, base, ARM::S0);
+}
+
+void* ARMAssembler::executableCopy(ExecutablePool* allocator)
+{
+ char* data = reinterpret_cast<char*>(m_buffer.executableCopy(allocator));
+
+ for (Jumps::Iterator iter = m_jumps.begin(); iter != m_jumps.end(); ++iter) {
+ ARMWord* ldrAddr = reinterpret_cast<ARMWord*>(data + *iter);
+ ARMWord* offset = getLdrImmAddress(ldrAddr);
+ if (*offset != 0xffffffff)
+ linkBranch(data, JmpSrc(*iter), data + *offset);
+ }
+
+ return data;
+}
+
+} // namespace JSC
+
+#endif // ENABLE(ASSEMBLER) && PLATFORM(ARM)
diff --git a/src/3rdparty/webkit/JavaScriptCore/assembler/ARMAssembler.h b/src/3rdparty/webkit/JavaScriptCore/assembler/ARMAssembler.h
new file mode 100644
index 0000000..d6bb43e
--- /dev/null
+++ b/src/3rdparty/webkit/JavaScriptCore/assembler/ARMAssembler.h
@@ -0,0 +1,706 @@
+/*
+ * Copyright (C) 2009 University of Szeged
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY UNIVERSITY OF SZEGED ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL UNIVERSITY OF SZEGED OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef ARMAssembler_h
+#define ARMAssembler_h
+
+#include <wtf/Platform.h>
+
+#if ENABLE(ASSEMBLER) && PLATFORM(ARM)
+
+#include "AssemblerBufferWithConstantPool.h"
+#include <wtf/Assertions.h>
+namespace JSC {
+
+typedef uint32_t ARMWord;
+
+namespace ARM {
+ typedef enum {
+ r0 = 0,
+ r1,
+ r2,
+ r3,
+ S0 = r3,
+ r4,
+ r5,
+ r6,
+ r7,
+ r8,
+ S1 = r8,
+ r9,
+ r10,
+ r11,
+ r12,
+ r13,
+ sp = r13,
+ r14,
+ lr = r14,
+ r15,
+ pc = r15
+ } RegisterID;
+
+ typedef enum {
+ fp0 //FIXME
+ } FPRegisterID;
+} // namespace ARM
+
+ class ARMAssembler {
+ public:
+ typedef ARM::RegisterID RegisterID;
+ typedef ARM::FPRegisterID FPRegisterID;
+ typedef AssemblerBufferWithConstantPool<2048, 4, 4, ARMAssembler> ARMBuffer;
+ typedef WTF::SegmentedVector<int, 64> Jumps;
+
+ ARMAssembler() { }
+
+ // ARM conditional constants
+ typedef enum {
+ EQ = 0x00000000, // Zero
+ NE = 0x10000000, // Non-zero
+ CS = 0x20000000,
+ CC = 0x30000000,
+ MI = 0x40000000,
+ PL = 0x50000000,
+ VS = 0x60000000,
+ VC = 0x70000000,
+ HI = 0x80000000,
+ LS = 0x90000000,
+ GE = 0xa0000000,
+ LT = 0xb0000000,
+ GT = 0xc0000000,
+ LE = 0xd0000000,
+ AL = 0xe0000000
+ } Condition;
+
+ // ARM instruction constants
+ enum {
+ AND = (0x0 << 21),
+ EOR = (0x1 << 21),
+ SUB = (0x2 << 21),
+ RSB = (0x3 << 21),
+ ADD = (0x4 << 21),
+ ADC = (0x5 << 21),
+ SBC = (0x6 << 21),
+ RSC = (0x7 << 21),
+ TST = (0x8 << 21),
+ TEQ = (0x9 << 21),
+ CMP = (0xa << 21),
+ CMN = (0xb << 21),
+ ORR = (0xc << 21),
+ MOV = (0xd << 21),
+ BIC = (0xe << 21),
+ MVN = (0xf << 21),
+ MUL = 0x00000090,
+ MULL = 0x00c00090,
+ DTR = 0x05000000,
+ LDRH = 0x00100090,
+ STRH = 0x00000090,
+ STMDB = 0x09200000,
+ LDMIA = 0x08b00000,
+ B = 0x0a000000,
+ BL = 0x0b000000,
+#if ARM_ARCH_VERSION >= 5
+ CLZ = 0x016f0f10,
+ BKPT = 0xe120070,
+#endif
+ };
+
+ enum {
+ OP2_IMM = (1 << 25),
+ OP2_IMMh = (1 << 22),
+ OP2_INV_IMM = (1 << 26),
+ SET_CC = (1 << 20),
+ OP2_OFSREG = (1 << 25),
+ DT_UP = (1 << 23),
+ DT_WB = (1 << 21),
+ // This flag is inlcuded in LDR and STR
+ DT_PRE = (1 << 24),
+ HDT_UH = (1 << 5),
+ DT_LOAD = (1 << 20),
+ };
+
+ // Masks of ARM instructions
+ enum {
+ BRANCH_MASK = 0x00ffffff,
+ NONARM = 0xf0000000,
+ SDT_MASK = 0x0c000000,
+ SDT_OFFSET_MASK = 0xfff,
+ };
+
+ enum {
+ BOFFSET_MIN = -0x00800000,
+ BOFFSET_MAX = 0x007fffff,
+ SDT = 0x04000000,
+ };
+
+ enum {
+ padForAlign8 = 0x00,
+ padForAlign16 = 0x0000,
+ padForAlign32 = 0xee120070,
+ };
+
+ class JmpSrc {
+ friend class ARMAssembler;
+ public:
+ JmpSrc()
+ : m_offset(-1)
+ , m_latePatch(false)
+ {
+ }
+
+ void enableLatePatch() { m_latePatch = true; }
+ private:
+ JmpSrc(int offset)
+ : m_offset(offset)
+ , m_latePatch(false)
+ {
+ }
+
+ int m_offset : 31;
+ int m_latePatch : 1;
+ };
+
+ class JmpDst {
+ friend class ARMAssembler;
+ public:
+ JmpDst()
+ : m_offset(-1)
+ , m_used(false)
+ {
+ }
+
+ bool isUsed() const { return m_used; }
+ void used() { m_used = true; }
+ private:
+ JmpDst(int offset)
+ : m_offset(offset)
+ , m_used(false)
+ {
+ ASSERT(m_offset == offset);
+ }
+
+ int m_offset : 31;
+ int m_used : 1;
+ };
+
+ // Instruction formating
+
+ void emitInst(ARMWord op, int rd, int rn, ARMWord op2)
+ {
+ ASSERT ( ((op2 & ~OP2_IMM) <= 0xfff) || (((op2 & ~OP2_IMMh) <= 0xfff)) );
+ m_buffer.putInt(op | RN(rn) | RD(rd) | op2);
+ }
+
+ void and_r(int rd, int rn, ARMWord op2, Condition cc = AL)
+ {
+ emitInst(static_cast<ARMWord>(cc) | AND, rd, rn, op2);
+ }
+
+ void ands_r(int rd, int rn, ARMWord op2, Condition cc = AL)
+ {
+ emitInst(static_cast<ARMWord>(cc) | AND | SET_CC, rd, rn, op2);
+ }
+
+ void eor_r(int rd, int rn, ARMWord op2, Condition cc = AL)
+ {
+ emitInst(static_cast<ARMWord>(cc) | EOR, rd, rn, op2);
+ }
+
+ void eors_r(int rd, int rn, ARMWord op2, Condition cc = AL)
+ {
+ emitInst(static_cast<ARMWord>(cc) | EOR | SET_CC, rd, rn, op2);
+ }
+
+ void sub_r(int rd, int rn, ARMWord op2, Condition cc = AL)
+ {
+ emitInst(static_cast<ARMWord>(cc) | SUB, rd, rn, op2);
+ }
+
+ void subs_r(int rd, int rn, ARMWord op2, Condition cc = AL)
+ {
+ emitInst(static_cast<ARMWord>(cc) | SUB | SET_CC, rd, rn, op2);
+ }
+
+ void rsb_r(int rd, int rn, ARMWord op2, Condition cc = AL)
+ {
+ emitInst(static_cast<ARMWord>(cc) | RSB, rd, rn, op2);
+ }
+
+ void rsbs_r(int rd, int rn, ARMWord op2, Condition cc = AL)
+ {
+ emitInst(static_cast<ARMWord>(cc) | RSB | SET_CC, rd, rn, op2);
+ }
+
+ void add_r(int rd, int rn, ARMWord op2, Condition cc = AL)
+ {
+ emitInst(static_cast<ARMWord>(cc) | ADD, rd, rn, op2);
+ }
+
+ void adds_r(int rd, int rn, ARMWord op2, Condition cc = AL)
+ {
+ emitInst(static_cast<ARMWord>(cc) | ADD | SET_CC, rd, rn, op2);
+ }
+
+ void adc_r(int rd, int rn, ARMWord op2, Condition cc = AL)
+ {
+ emitInst(static_cast<ARMWord>(cc) | ADC, rd, rn, op2);
+ }
+
+ void adcs_r(int rd, int rn, ARMWord op2, Condition cc = AL)
+ {
+ emitInst(static_cast<ARMWord>(cc) | ADC | SET_CC, rd, rn, op2);
+ }
+
+ void sbc_r(int rd, int rn, ARMWord op2, Condition cc = AL)
+ {
+ emitInst(static_cast<ARMWord>(cc) | SBC, rd, rn, op2);
+ }
+
+ void sbcs_r(int rd, int rn, ARMWord op2, Condition cc = AL)
+ {
+ emitInst(static_cast<ARMWord>(cc) | SBC | SET_CC, rd, rn, op2);
+ }
+
+ void rsc_r(int rd, int rn, ARMWord op2, Condition cc = AL)
+ {
+ emitInst(static_cast<ARMWord>(cc) | RSC, rd, rn, op2);
+ }
+
+ void rscs_r(int rd, int rn, ARMWord op2, Condition cc = AL)
+ {
+ emitInst(static_cast<ARMWord>(cc) | RSC | SET_CC, rd, rn, op2);
+ }
+
+ void tst_r(int rn, ARMWord op2, Condition cc = AL)
+ {
+ emitInst(static_cast<ARMWord>(cc) | TST | SET_CC, 0, rn, op2);
+ }
+
+ void teq_r(int rn, ARMWord op2, Condition cc = AL)
+ {
+ emitInst(static_cast<ARMWord>(cc) | TEQ | SET_CC, 0, rn, op2);
+ }
+
+ void cmp_r(int rn, ARMWord op2, Condition cc = AL)
+ {
+ emitInst(static_cast<ARMWord>(cc) | CMP | SET_CC, 0, rn, op2);
+ }
+
+ void orr_r(int rd, int rn, ARMWord op2, Condition cc = AL)
+ {
+ emitInst(static_cast<ARMWord>(cc) | ORR, rd, rn, op2);
+ }
+
+ void orrs_r(int rd, int rn, ARMWord op2, Condition cc = AL)
+ {
+ emitInst(static_cast<ARMWord>(cc) | ORR | SET_CC, rd, rn, op2);
+ }
+
+ void mov_r(int rd, ARMWord op2, Condition cc = AL)
+ {
+ emitInst(static_cast<ARMWord>(cc) | MOV, rd, ARM::r0, op2);
+ }
+
+ void movs_r(int rd, ARMWord op2, Condition cc = AL)
+ {
+ emitInst(static_cast<ARMWord>(cc) | MOV | SET_CC, rd, ARM::r0, op2);
+ }
+
+ void bic_r(int rd, int rn, ARMWord op2, Condition cc = AL)
+ {
+ emitInst(static_cast<ARMWord>(cc) | BIC, rd, rn, op2);
+ }
+
+ void bics_r(int rd, int rn, ARMWord op2, Condition cc = AL)
+ {
+ emitInst(static_cast<ARMWord>(cc) | BIC | SET_CC, rd, rn, op2);
+ }
+
+ void mvn_r(int rd, ARMWord op2, Condition cc = AL)
+ {
+ emitInst(static_cast<ARMWord>(cc) | MVN, rd, ARM::r0, op2);
+ }
+
+ void mvns_r(int rd, ARMWord op2, Condition cc = AL)
+ {
+ emitInst(static_cast<ARMWord>(cc) | MVN | SET_CC, rd, ARM::r0, op2);
+ }
+
+ void mul_r(int rd, int rn, int rm, Condition cc = AL)
+ {
+ m_buffer.putInt(static_cast<ARMWord>(cc) | MUL | RN(rd) | RS(rn) | RM(rm));
+ }
+
+ void muls_r(int rd, int rn, int rm, Condition cc = AL)
+ {
+ m_buffer.putInt(static_cast<ARMWord>(cc) | MUL | SET_CC | RN(rd) | RS(rn) | RM(rm));
+ }
+
+ void mull_r(int rdhi, int rdlo, int rn, int rm, Condition cc = AL)
+ {
+ m_buffer.putInt(static_cast<ARMWord>(cc) | MULL | RN(rdhi) | RD(rdlo) | RS(rn) | RM(rm));
+ }
+
+ void ldr_imm(int rd, ARMWord imm, Condition cc = AL)
+ {
+ m_buffer.putIntWithConstantInt(static_cast<ARMWord>(cc) | DTR | DT_LOAD | DT_UP | RN(ARM::pc) | RD(rd), imm, true);
+ }
+
+ void ldr_un_imm(int rd, ARMWord imm, Condition cc = AL)
+ {
+ m_buffer.putIntWithConstantInt(static_cast<ARMWord>(cc) | DTR | DT_LOAD | DT_UP | RN(ARM::pc) | RD(rd), imm);
+ }
+
+ void dtr_u(bool isLoad, int rd, int rb, ARMWord op2, Condition cc = AL)
+ {
+ emitInst(static_cast<ARMWord>(cc) | DTR | (isLoad ? DT_LOAD : 0) | DT_UP, rd, rb, op2);
+ }
+
+ void dtr_ur(bool isLoad, int rd, int rb, int rm, Condition cc = AL)
+ {
+ emitInst(static_cast<ARMWord>(cc) | DTR | (isLoad ? DT_LOAD : 0) | DT_UP | OP2_OFSREG, rd, rb, rm);
+ }
+
+ void dtr_d(bool isLoad, int rd, int rb, ARMWord op2, Condition cc = AL)
+ {
+ emitInst(static_cast<ARMWord>(cc) | DTR | (isLoad ? DT_LOAD : 0), rd, rb, op2);
+ }
+
+ void dtr_dr(bool isLoad, int rd, int rb, int rm, Condition cc = AL)
+ {
+ emitInst(static_cast<ARMWord>(cc) | DTR | (isLoad ? DT_LOAD : 0) | OP2_OFSREG, rd, rb, rm);
+ }
+
+ void ldrh_r(int rd, int rn, int rm, Condition cc = AL)
+ {
+ emitInst(static_cast<ARMWord>(cc) | LDRH | HDT_UH | DT_UP | DT_PRE, rd, rn, rm);
+ }
+
+ void ldrh_d(int rd, int rb, ARMWord op2, Condition cc = AL)
+ {
+ emitInst(static_cast<ARMWord>(cc) | LDRH | HDT_UH | DT_PRE, rd, rb, op2);
+ }
+
+ void ldrh_u(int rd, int rb, ARMWord op2, Condition cc = AL)
+ {
+ emitInst(static_cast<ARMWord>(cc) | LDRH | HDT_UH | DT_UP | DT_PRE, rd, rb, op2);
+ }
+
+ void strh_r(int rn, int rm, int rd, Condition cc = AL)
+ {
+ emitInst(static_cast<ARMWord>(cc) | STRH | HDT_UH | DT_UP | DT_PRE, rd, rn, rm);
+ }
+
+ void push_r(int reg, Condition cc = AL)
+ {
+ ASSERT(ARMWord(reg) <= 0xf);
+ m_buffer.putInt(cc | DTR | DT_WB | RN(ARM::sp) | RD(reg) | 0x4);
+ }
+
+ void pop_r(int reg, Condition cc = AL)
+ {
+ ASSERT(ARMWord(reg) <= 0xf);
+ m_buffer.putInt(cc | (DTR ^ DT_PRE) | DT_LOAD | DT_UP | RN(ARM::sp) | RD(reg) | 0x4);
+ }
+
+ inline void poke_r(int reg, Condition cc = AL)
+ {
+ dtr_d(false, ARM::sp, 0, reg, cc);
+ }
+
+ inline void peek_r(int reg, Condition cc = AL)
+ {
+ dtr_u(true, reg, ARM::sp, 0, cc);
+ }
+
+#if ARM_ARCH_VERSION >= 5
+ void clz_r(int rd, int rm, Condition cc = AL)
+ {
+ m_buffer.putInt(static_cast<ARMWord>(cc) | CLZ | RD(rd) | RM(rm));
+ }
+#endif
+
+ void bkpt(ARMWord value)
+ {
+#if ARM_ARCH_VERSION >= 5
+ m_buffer.putInt(BKPT | ((value & 0xff0) << 4) | (value & 0xf));
+#else
+ // Cannot access to Zero memory address
+ dtr_dr(true, ARM::S0, ARM::S0, ARM::S0);
+#endif
+ }
+
+ static ARMWord lsl(int reg, ARMWord value)
+ {
+ ASSERT(reg <= ARM::pc);
+ ASSERT(value <= 0x1f);
+ return reg | (value << 7) | 0x00;
+ }
+
+ static ARMWord lsr(int reg, ARMWord value)
+ {
+ ASSERT(reg <= ARM::pc);
+ ASSERT(value <= 0x1f);
+ return reg | (value << 7) | 0x20;
+ }
+
+ static ARMWord asr(int reg, ARMWord value)
+ {
+ ASSERT(reg <= ARM::pc);
+ ASSERT(value <= 0x1f);
+ return reg | (value << 7) | 0x40;
+ }
+
+ static ARMWord lsl_r(int reg, int shiftReg)
+ {
+ ASSERT(reg <= ARM::pc);
+ ASSERT(shiftReg <= ARM::pc);
+ return reg | (shiftReg << 8) | 0x10;
+ }
+
+ static ARMWord lsr_r(int reg, int shiftReg)
+ {
+ ASSERT(reg <= ARM::pc);
+ ASSERT(shiftReg <= ARM::pc);
+ return reg | (shiftReg << 8) | 0x30;
+ }
+
+ static ARMWord asr_r(int reg, int shiftReg)
+ {
+ ASSERT(reg <= ARM::pc);
+ ASSERT(shiftReg <= ARM::pc);
+ return reg | (shiftReg << 8) | 0x50;
+ }
+
+ // General helpers
+
+ int size()
+ {
+ return m_buffer.size();
+ }
+
+ void ensureSpace(int insnSpace, int constSpace)
+ {
+ m_buffer.ensureSpace(insnSpace, constSpace);
+ }
+
+ JmpDst label()
+ {
+ return JmpDst(m_buffer.size());
+ }
+
+ JmpDst align(int alignment)
+ {
+ while (!m_buffer.isAligned(alignment))
+ mov_r(ARM::r0, ARM::r0);
+
+ return label();
+ }
+
+ JmpSrc jmp(Condition cc = AL)
+ {
+ int s = size();
+ ldr_un_imm(ARM::pc, 0xffffffff, cc);
+ m_jumps.append(s);
+ return JmpSrc(s);
+ }
+
+ void* executableCopy(ExecutablePool* allocator);
+
+ // Patching helpers
+
+ static ARMWord* getLdrImmAddress(ARMWord* insn, uint32_t* constPool = 0);
+ static void linkBranch(void* code, JmpSrc from, void* to);
+
+ static void patchPointerInternal(intptr_t from, void* to)
+ {
+ ARMWord* insn = reinterpret_cast<ARMWord*>(from);
+ ARMWord* addr = getLdrImmAddress(insn);
+ *addr = reinterpret_cast<ARMWord>(to);
+ ExecutableAllocator::cacheFlush(addr, sizeof(ARMWord));
+ }
+
+ static ARMWord patchConstantPoolLoad(ARMWord load, ARMWord value)
+ {
+ value = (value << 1) + 1;
+ ASSERT(!(value & ~0xfff));
+ return (load & ~0xfff) | value;
+ }
+
+ static void patchConstantPoolLoad(void* loadAddr, void* constPoolAddr);
+
+ // Patch pointers
+
+ static void linkPointer(void* code, JmpDst from, void* to)
+ {
+ patchPointerInternal(reinterpret_cast<intptr_t>(code) + from.m_offset, to);
+ }
+
+ static void repatchInt32(void* from, int32_t to)
+ {
+ patchPointerInternal(reinterpret_cast<intptr_t>(from), reinterpret_cast<void*>(to));
+ }
+
+ static void repatchPointer(void* from, void* to)
+ {
+ patchPointerInternal(reinterpret_cast<intptr_t>(from), to);
+ }
+
+ static void repatchLoadPtrToLEA(void* from)
+ {
+ // On arm, this is a patch from LDR to ADD. It is restricted conversion,
+ // from special case to special case, altough enough for its purpose
+ ARMWord* insn = reinterpret_cast<ARMWord*>(from);
+ ASSERT((*insn & 0x0ff00f00) == 0x05900000);
+
+ *insn = (*insn & 0xf00ff0ff) | 0x02800000;
+ ExecutableAllocator::cacheFlush(insn, sizeof(ARMWord));
+ }
+
+ // Linkers
+
+ void linkJump(JmpSrc from, JmpDst to)
+ {
+ ARMWord* insn = reinterpret_cast<ARMWord*>(m_buffer.data()) + (from.m_offset / sizeof(ARMWord));
+ *getLdrImmAddress(insn, m_buffer.poolAddress()) = static_cast<ARMWord>(to.m_offset);
+ }
+
+ static void linkJump(void* code, JmpSrc from, void* to)
+ {
+ linkBranch(code, from, to);
+ }
+
+ static void relinkJump(void* from, void* to)
+ {
+ patchPointerInternal(reinterpret_cast<intptr_t>(from) - sizeof(ARMWord), to);
+ }
+
+ static void linkCall(void* code, JmpSrc from, void* to)
+ {
+ linkBranch(code, from, to);
+ }
+
+ static void relinkCall(void* from, void* to)
+ {
+ relinkJump(from, to);
+ }
+
+ // Address operations
+
+ static void* getRelocatedAddress(void* code, JmpSrc jump)
+ {
+ return reinterpret_cast<void*>(reinterpret_cast<ARMWord*>(code) + jump.m_offset / sizeof(ARMWord) + 1);
+ }
+
+ static void* getRelocatedAddress(void* code, JmpDst label)
+ {
+ return reinterpret_cast<void*>(reinterpret_cast<ARMWord*>(code) + label.m_offset / sizeof(ARMWord));
+ }
+
+ // Address differences
+
+ static int getDifferenceBetweenLabels(JmpDst from, JmpSrc to)
+ {
+ return (to.m_offset + sizeof(ARMWord)) - from.m_offset;
+ }
+
+ static int getDifferenceBetweenLabels(JmpDst from, JmpDst to)
+ {
+ return to.m_offset - from.m_offset;
+ }
+
+ static unsigned getCallReturnOffset(JmpSrc call)
+ {
+ return call.m_offset + sizeof(ARMWord);
+ }
+
+ // Handle immediates
+
+ static ARMWord getOp2Byte(ARMWord imm)
+ {
+ ASSERT(imm <= 0xff);
+ return OP2_IMMh | (imm & 0x0f) | ((imm & 0xf0) << 4) ;
+ }
+
+ static ARMWord getOp2(ARMWord imm);
+ ARMWord getImm(ARMWord imm, int tmpReg, bool invert = false);
+ void moveImm(ARMWord imm, int dest);
+
+ // Memory load/store helpers
+
+ void dataTransfer32(bool isLoad, RegisterID srcDst, RegisterID base, int32_t offset);
+ void baseIndexTransfer32(bool isLoad, RegisterID srcDst, RegisterID base, RegisterID index, int scale, int32_t offset);
+
+ // Constant pool hnadlers
+
+ static ARMWord placeConstantPoolBarrier(int offset)
+ {
+ offset = (offset - sizeof(ARMWord)) >> 2;
+ ASSERT((offset <= BOFFSET_MAX && offset >= BOFFSET_MIN));
+ return AL | B | (offset & BRANCH_MASK);
+ }
+
+ private:
+ ARMWord RM(int reg)
+ {
+ ASSERT(reg <= ARM::pc);
+ return reg;
+ }
+
+ ARMWord RS(int reg)
+ {
+ ASSERT(reg <= ARM::pc);
+ return reg << 8;
+ }
+
+ ARMWord RD(int reg)
+ {
+ ASSERT(reg <= ARM::pc);
+ return reg << 12;
+ }
+
+ ARMWord RN(int reg)
+ {
+ ASSERT(reg <= ARM::pc);
+ return reg << 16;
+ }
+
+ static ARMWord getConditionalField(ARMWord i)
+ {
+ return i & 0xf0000000;
+ }
+
+ int genInt(int reg, ARMWord imm, bool positive);
+
+ ARMBuffer m_buffer;
+ Jumps m_jumps;
+ };
+
+} // namespace JSC
+
+#endif // ENABLE(ASSEMBLER) && PLATFORM(ARM)
+
+#endif // ARMAssembler_h
diff --git a/src/3rdparty/webkit/JavaScriptCore/assembler/ARMv7Assembler.h b/src/3rdparty/webkit/JavaScriptCore/assembler/ARMv7Assembler.h
index 9745d6d..f7e2fb4 100644
--- a/src/3rdparty/webkit/JavaScriptCore/assembler/ARMv7Assembler.h
+++ b/src/3rdparty/webkit/JavaScriptCore/assembler/ARMv7Assembler.h
@@ -442,6 +442,7 @@ public:
{
}
+ void enableLatePatch() { }
private:
JmpSrc(int offset)
: m_offset(offset)
@@ -1528,51 +1529,51 @@ public:
ASSERT(from.m_offset != -1);
ASSERT(reinterpret_cast<intptr_t>(to) & 1);
- patchPointer(reinterpret_cast<uint16_t*>(reinterpret_cast<intptr_t>(code) + from.m_offset) - 1, to);
+ setPointer(reinterpret_cast<uint16_t*>(reinterpret_cast<intptr_t>(code) + from.m_offset) - 1, to);
}
- static void patchPointer(void* code, JmpDst where, void* value)
+ static void linkPointer(void* code, JmpDst where, void* value)
{
- patchPointer(reinterpret_cast<char*>(code) + where.m_offset, value);
+ setPointer(reinterpret_cast<char*>(code) + where.m_offset, value);
}
static void relinkJump(void* from, void* to)
{
- ExecutableAllocator::MakeWritable unprotect(reinterpret_cast<uint16_t*>(from) - 2, 2 * sizeof(uint16_t));
-
ASSERT(!(reinterpret_cast<intptr_t>(from) & 1));
ASSERT(!(reinterpret_cast<intptr_t>(to) & 1));
intptr_t relative = reinterpret_cast<intptr_t>(to) - reinterpret_cast<intptr_t>(from);
linkWithOffset(reinterpret_cast<uint16_t*>(from), relative);
+
+ ExecutableAllocator::cacheFlush(reinterpret_cast<uint16_t*>(from) - 2, 2 * sizeof(uint16_t));
}
static void relinkCall(void* from, void* to)
{
- ExecutableAllocator::MakeWritable unprotect(reinterpret_cast<uint16_t*>(from) - 5, 4 * sizeof(uint16_t));
-
ASSERT(!(reinterpret_cast<intptr_t>(from) & 1));
ASSERT(reinterpret_cast<intptr_t>(to) & 1);
- patchPointer(reinterpret_cast<uint16_t*>(from) - 1, to);
+ setPointer(reinterpret_cast<uint16_t*>(from) - 1, to);
+
+ ExecutableAllocator::cacheFlush(reinterpret_cast<uint16_t*>(from) - 5, 4 * sizeof(uint16_t));
}
static void repatchInt32(void* where, int32_t value)
{
- ExecutableAllocator::MakeWritable unprotect(reinterpret_cast<uint16_t*>(where) - 4, 4 * sizeof(uint16_t));
-
ASSERT(!(reinterpret_cast<intptr_t>(where) & 1));
- patchInt32(where, value);
+ setInt32(where, value);
+
+ ExecutableAllocator::cacheFlush(reinterpret_cast<uint16_t*>(where) - 4, 4 * sizeof(uint16_t));
}
static void repatchPointer(void* where, void* value)
{
- ExecutableAllocator::MakeWritable unprotect(reinterpret_cast<uint16_t*>(where) - 4, 4 * sizeof(uint16_t));
-
ASSERT(!(reinterpret_cast<intptr_t>(where) & 1));
- patchPointer(where, value);
+ setPointer(where, value);
+
+ ExecutableAllocator::cacheFlush(reinterpret_cast<uint16_t*>(where) - 4, 4 * sizeof(uint16_t));
}
static void repatchLoadPtrToLEA(void* where)
@@ -1582,8 +1583,8 @@ public:
uint16_t* loadOp = reinterpret_cast<uint16_t*>(where) + 4;
ASSERT((*loadOp & 0xfff0) == OP_LDR_reg_T2);
- ExecutableAllocator::MakeWritable unprotect(loadOp, sizeof(uint16_t));
*loadOp = OP_ADD_reg_T3 | (*loadOp & 0xf);
+ ExecutableAllocator::cacheFlush(loadOp, sizeof(uint16_t));
}
private:
@@ -1610,12 +1611,10 @@ private:
m_formatter.vfpOp(0x0b00ed00 | offset | (up << 7) | (isLoad << 4) | doubleRegisterMask(rd, 6, 28) | rn);
}
- static void patchInt32(void* code, uint32_t value)
+ static void setInt32(void* code, uint32_t value)
{
uint16_t* location = reinterpret_cast<uint16_t*>(code);
- ExecutableAllocator::MakeWritable unprotect(location - 4, 4 * sizeof(uint16_t));
-
uint16_t lo16 = value;
uint16_t hi16 = value >> 16;
@@ -1623,11 +1622,13 @@ private:
spliceLo11(location - 3, lo16);
spliceHi5(location - 2, hi16);
spliceLo11(location - 1, hi16);
+
+ ExecutableAllocator::cacheFlush(location - 4, 4 * sizeof(uint16_t));
}
- static void patchPointer(void* code, void* value)
+ static void setPointer(void* code, void* value)
{
- patchInt32(code, reinterpret_cast<uint32_t>(value));
+ setInt32(code, reinterpret_cast<uint32_t>(value));
}
// Linking & patching:
diff --git a/src/3rdparty/webkit/JavaScriptCore/assembler/AbstractMacroAssembler.h b/src/3rdparty/webkit/JavaScriptCore/assembler/AbstractMacroAssembler.h
index cf94677..95b5afc 100644
--- a/src/3rdparty/webkit/JavaScriptCore/assembler/AbstractMacroAssembler.h
+++ b/src/3rdparty/webkit/JavaScriptCore/assembler/AbstractMacroAssembler.h
@@ -35,22 +35,20 @@
#if ENABLE(ASSEMBLER)
-// FIXME: keep transitioning this out into MacroAssemblerX86_64.
-#if PLATFORM(X86_64)
-#define REPTACH_OFFSET_CALL_R11 3
-#endif
-
namespace JSC {
+class LinkBuffer;
+class RepatchBuffer;
+
template <class AssemblerType>
class AbstractMacroAssembler {
public:
+ typedef AssemblerType AssemblerType_T;
+
typedef MacroAssemblerCodePtr CodePtr;
typedef MacroAssemblerCodeRef CodeRef;
class Jump;
- class LinkBuffer;
- class RepatchBuffer;
typedef typename AssemblerType::RegisterID RegisterID;
typedef typename AssemblerType::FPRegisterID FPRegisterID;
@@ -292,7 +290,7 @@ public:
class Call {
template<class TemplateAssemblerType>
friend class AbstractMacroAssembler;
- friend class LinkBuffer;
+
public:
enum Flags {
None = 0x0,
@@ -322,8 +320,13 @@ public:
return Call(jump.m_jmp, Linkable);
}
- private:
+ void enableLatePatch()
+ {
+ m_jmp.enableLatePatch();
+ }
+
JmpSrc m_jmp;
+ private:
Flags m_flags;
};
@@ -358,6 +361,11 @@ public:
masm->m_assembler.linkJump(m_jmp, label.m_label);
}
+ void enableLatePatch()
+ {
+ m_jmp.enableLatePatch();
+ }
+
private:
JmpSrc m_jmp;
};
@@ -406,254 +414,13 @@ public:
};
- // Section 3: LinkBuffer - utility to finalize code generation.
+ // Section 3: Misc admin methods
static CodePtr trampolineAt(CodeRef ref, Label label)
{
return CodePtr(AssemblerType::getRelocatedAddress(ref.m_code.dataLocation(), label.m_label));
}
- // LinkBuffer:
- //
- // This class assists in linking code generated by the macro assembler, once code generation
- // has been completed, and the code has been copied to is final location in memory. At this
- // time pointers to labels within the code may be resolved, and relative offsets to external
- // addresses may be fixed.
- //
- // Specifically:
- // * Jump objects may be linked to external targets,
- // * The address of Jump objects may taken, such that it can later be relinked.
- // * The return address of a Jump object representing a call may be acquired.
- // * The address of a Label pointing into the code may be resolved.
- // * The value referenced by a DataLabel may be fixed.
- //
- // FIXME: distinguish between Calls & Jumps (make a specific call to obtain the return
- // address of calls, as opposed to a point that can be used to later relink a Jump -
- // possibly wrap the later up in an object that can do just that).
- class LinkBuffer : public Noncopyable {
- public:
- // Note: Initialization sequence is significant, since executablePool is a PassRefPtr.
- // First, executablePool is copied into m_executablePool, then the initialization of
- // m_code uses m_executablePool, *not* executablePool, since this is no longer valid.
- LinkBuffer(AbstractMacroAssembler<AssemblerType>* masm, PassRefPtr<ExecutablePool> executablePool)
- : m_executablePool(executablePool)
- , m_code(masm->m_assembler.executableCopy(m_executablePool.get()))
- , m_size(masm->m_assembler.size())
-#ifndef NDEBUG
- , m_completed(false)
-#endif
- {
- }
-
- ~LinkBuffer()
- {
- ASSERT(m_completed);
- }
-
- // These methods are used to link or set values at code generation time.
-
- void link(Call call, FunctionPtr function)
- {
- ASSERT(call.isFlagSet(Call::Linkable));
-#if PLATFORM(X86_64)
- if (!call.isFlagSet(Call::Near)) {
- char* callLocation = reinterpret_cast<char*>(AssemblerType::getRelocatedAddress(code(), call.m_jmp)) - REPTACH_OFFSET_CALL_R11;
- AssemblerType::patchPointerForCall(callLocation, function.value());
- } else
-#endif
- AssemblerType::linkCall(code(), call.m_jmp, function.value());
- }
-
- void link(Jump jump, CodeLocationLabel label)
- {
- AssemblerType::linkJump(code(), jump.m_jmp, label.dataLocation());
- }
-
- void link(JumpList list, CodeLocationLabel label)
- {
- for (unsigned i = 0; i < list.m_jumps.size(); ++i)
- AssemblerType::linkJump(code(), list.m_jumps[i].m_jmp, label.dataLocation());
- }
-
- void patch(DataLabelPtr label, void* value)
- {
- AssemblerType::patchPointer(code(), label.m_label, value);
- }
-
- void patch(DataLabelPtr label, CodeLocationLabel value)
- {
- AssemblerType::patchPointer(code(), label.m_label, value.executableAddress());
- }
-
- // These methods are used to obtain handles to allow the code to be relinked / repatched later.
-
- CodeLocationCall locationOf(Call call)
- {
- ASSERT(call.isFlagSet(Call::Linkable));
- ASSERT(!call.isFlagSet(Call::Near));
- return CodeLocationCall(AssemblerType::getRelocatedAddress(code(), call.m_jmp));
- }
-
- CodeLocationNearCall locationOfNearCall(Call call)
- {
- ASSERT(call.isFlagSet(Call::Linkable));
- ASSERT(call.isFlagSet(Call::Near));
- return CodeLocationNearCall(AssemblerType::getRelocatedAddress(code(), call.m_jmp));
- }
-
- CodeLocationLabel locationOf(Label label)
- {
- return CodeLocationLabel(AssemblerType::getRelocatedAddress(code(), label.m_label));
- }
-
- CodeLocationDataLabelPtr locationOf(DataLabelPtr label)
- {
- return CodeLocationDataLabelPtr(AssemblerType::getRelocatedAddress(code(), label.m_label));
- }
-
- CodeLocationDataLabel32 locationOf(DataLabel32 label)
- {
- return CodeLocationDataLabel32(AssemblerType::getRelocatedAddress(code(), label.m_label));
- }
-
- // This method obtains the return address of the call, given as an offset from
- // the start of the code.
- unsigned returnAddressOffset(Call call)
- {
- return AssemblerType::getCallReturnOffset(call.m_jmp);
- }
-
- // Upon completion of all patching either 'finalizeCode()' or 'finalizeCodeAddendum()' should be called
- // once to complete generation of the code. 'finalizeCode()' is suited to situations
- // where the executable pool must also be retained, the lighter-weight 'finalizeCodeAddendum()' is
- // suited to adding to an existing allocation.
- CodeRef finalizeCode()
- {
- performFinalization();
-
- return CodeRef(m_code, m_executablePool, m_size);
- }
- CodeLocationLabel finalizeCodeAddendum()
- {
- performFinalization();
-
- return CodeLocationLabel(code());
- }
-
- private:
- // Keep this private! - the underlying code should only be obtained externally via
- // finalizeCode() or finalizeCodeAddendum().
- void* code()
- {
- return m_code;
- }
-
- void performFinalization()
- {
-#ifndef NDEBUG
- ASSERT(!m_completed);
- m_completed = true;
-#endif
-
- ExecutableAllocator::makeExecutable(code(), m_size);
- }
-
- RefPtr<ExecutablePool> m_executablePool;
- void* m_code;
- size_t m_size;
-#ifndef NDEBUG
- bool m_completed;
-#endif
- };
-
- class RepatchBuffer {
- public:
- RepatchBuffer()
- {
- }
-
- void relink(CodeLocationJump jump, CodeLocationLabel destination)
- {
- AssemblerType::relinkJump(jump.dataLocation(), destination.dataLocation());
- }
-
- void relink(CodeLocationCall call, CodeLocationLabel destination)
- {
-#if PLATFORM(X86_64)
- repatch(call.dataLabelPtrAtOffset(-REPTACH_OFFSET_CALL_R11), destination.executableAddress());
-#else
- AssemblerType::relinkCall(call.dataLocation(), destination.executableAddress());
-#endif
- }
-
- void relink(CodeLocationCall call, FunctionPtr destination)
- {
-#if PLATFORM(X86_64)
- repatch(call.dataLabelPtrAtOffset(-REPTACH_OFFSET_CALL_R11), destination.executableAddress());
-#else
- AssemblerType::relinkCall(call.dataLocation(), destination.executableAddress());
-#endif
- }
-
- void relink(CodeLocationNearCall nearCall, CodePtr destination)
- {
- AssemblerType::relinkCall(nearCall.dataLocation(), destination.executableAddress());
- }
-
- void relink(CodeLocationNearCall nearCall, CodeLocationLabel destination)
- {
- AssemblerType::relinkCall(nearCall.dataLocation(), destination.executableAddress());
- }
-
- void relink(CodeLocationNearCall nearCall, FunctionPtr destination)
- {
- AssemblerType::relinkCall(nearCall.dataLocation(), destination.executableAddress());
- }
-
- void repatch(CodeLocationDataLabel32 dataLabel32, int32_t value)
- {
- AssemblerType::repatchInt32(dataLabel32.dataLocation(), value);
- }
-
- void repatch(CodeLocationDataLabelPtr dataLabelPtr, void* value)
- {
- AssemblerType::repatchPointer(dataLabelPtr.dataLocation(), value);
- }
-
- void relinkCallerToTrampoline(ReturnAddressPtr returnAddress, CodeLocationLabel label)
- {
- relink(CodeLocationCall(CodePtr(returnAddress)), label);
- }
-
- void relinkCallerToTrampoline(ReturnAddressPtr returnAddress, CodePtr newCalleeFunction)
- {
- relinkCallerToTrampoline(returnAddress, CodeLocationLabel(newCalleeFunction));
- }
-
- void relinkCallerToFunction(ReturnAddressPtr returnAddress, FunctionPtr function)
- {
- relink(CodeLocationCall(CodePtr(returnAddress)), function);
- }
-
- void relinkNearCallerToTrampoline(ReturnAddressPtr returnAddress, CodeLocationLabel label)
- {
- relink(CodeLocationNearCall(CodePtr(returnAddress)), label);
- }
-
- void relinkNearCallerToTrampoline(ReturnAddressPtr returnAddress, CodePtr newCalleeFunction)
- {
- relinkNearCallerToTrampoline(returnAddress, CodeLocationLabel(newCalleeFunction));
- }
-
- void repatchLoadPtrToLEA(CodeLocationInstruction instruction)
- {
- AssemblerType::repatchLoadPtrToLEA(instruction.dataLocation());
- }
- };
-
-
- // Section 4: Misc admin methods
-
size_t size()
{
return m_assembler.size();
@@ -712,6 +479,59 @@ public:
protected:
AssemblerType m_assembler;
+
+ friend class LinkBuffer;
+ friend class RepatchBuffer;
+
+ static void linkJump(void* code, Jump jump, CodeLocationLabel target)
+ {
+ AssemblerType::linkJump(code, jump.m_jmp, target.dataLocation());
+ }
+
+ static void linkPointer(void* code, typename AssemblerType::JmpDst label, void* value)
+ {
+ AssemblerType::linkPointer(code, label, value);
+ }
+
+ static void* getLinkerAddress(void* code, typename AssemblerType::JmpSrc label)
+ {
+ return AssemblerType::getRelocatedAddress(code, label);
+ }
+
+ static void* getLinkerAddress(void* code, typename AssemblerType::JmpDst label)
+ {
+ return AssemblerType::getRelocatedAddress(code, label);
+ }
+
+ static unsigned getLinkerCallReturnOffset(Call call)
+ {
+ return AssemblerType::getCallReturnOffset(call.m_jmp);
+ }
+
+ static void repatchJump(CodeLocationJump jump, CodeLocationLabel destination)
+ {
+ AssemblerType::relinkJump(jump.dataLocation(), destination.dataLocation());
+ }
+
+ static void repatchNearCall(CodeLocationNearCall nearCall, CodeLocationLabel destination)
+ {
+ AssemblerType::relinkCall(nearCall.dataLocation(), destination.executableAddress());
+ }
+
+ static void repatchInt32(CodeLocationDataLabel32 dataLabel32, int32_t value)
+ {
+ AssemblerType::repatchInt32(dataLabel32.dataLocation(), value);
+ }
+
+ static void repatchPointer(CodeLocationDataLabelPtr dataLabelPtr, void* value)
+ {
+ AssemblerType::repatchPointer(dataLabelPtr.dataLocation(), value);
+ }
+
+ static void repatchLoadPtrToLEA(CodeLocationInstruction instruction)
+ {
+ AssemblerType::repatchLoadPtrToLEA(instruction.dataLocation());
+ }
};
} // namespace JSC
diff --git a/src/3rdparty/webkit/JavaScriptCore/assembler/AssemblerBuffer.h b/src/3rdparty/webkit/JavaScriptCore/assembler/AssemblerBuffer.h
index 7a5a8d3..073906a 100644
--- a/src/3rdparty/webkit/JavaScriptCore/assembler/AssemblerBuffer.h
+++ b/src/3rdparty/webkit/JavaScriptCore/assembler/AssemblerBuffer.h
@@ -95,12 +95,14 @@ namespace JSC {
void putIntUnchecked(int value)
{
+ ASSERT(!(m_size > m_capacity - 4));
*reinterpret_cast<int*>(&m_buffer[m_size]) = value;
m_size += 4;
}
void putInt64Unchecked(int64_t value)
{
+ ASSERT(!(m_size > m_capacity - 8));
*reinterpret_cast<int64_t*>(&m_buffer[m_size]) = value;
m_size += 8;
}
@@ -137,10 +139,19 @@ namespace JSC {
return memcpy(result, m_buffer, m_size);
}
- private:
- void grow()
+ protected:
+ void append(const char* data, int size)
+ {
+ if (m_size > m_capacity - size)
+ grow(size);
+
+ memcpy(m_buffer + m_size, data, size);
+ m_size += size;
+ }
+
+ void grow(int extraCapacity = 0)
{
- m_capacity += m_capacity / 2;
+ m_capacity += m_capacity / 2 + extraCapacity;
if (m_buffer == m_inlineBuffer) {
char* newBuffer = static_cast<char*>(fastMalloc(m_capacity));
diff --git a/src/3rdparty/webkit/JavaScriptCore/assembler/AssemblerBufferWithConstantPool.h b/src/3rdparty/webkit/JavaScriptCore/assembler/AssemblerBufferWithConstantPool.h
new file mode 100644
index 0000000..f15b7f3
--- /dev/null
+++ b/src/3rdparty/webkit/JavaScriptCore/assembler/AssemblerBufferWithConstantPool.h
@@ -0,0 +1,305 @@
+/*
+ * Copyright (C) 2009 University of Szeged
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY UNIVERSITY OF SZEGED ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL UNIVERSITY OF SZEGED OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef AssemblerBufferWithConstantPool_h
+#define AssemblerBufferWithConstantPool_h
+
+#include <wtf/Platform.h>
+
+#if ENABLE(ASSEMBLER)
+
+#include "AssemblerBuffer.h"
+#include <wtf/SegmentedVector.h>
+
+namespace JSC {
+
+/*
+ On a constant pool 4 or 8 bytes data can be stored. The values can be
+ constants or addresses. The addresses should be 32 or 64 bits. The constants
+ should be double-precisions float or integer numbers which are hard to be
+ encoded as few machine instructions.
+
+ TODO: The pool is desinged to handle both 32 and 64 bits values, but
+ currently only the 4 bytes constants are implemented and tested.
+
+ The AssemblerBuffer can contain multiple constant pools. Each pool is inserted
+ into the instruction stream - protected by a jump instruction from the
+ execution flow.
+
+ The flush mechanism is called when no space remain to insert the next instruction
+ into the pool. Three values are used to determine when the constant pool itself
+ have to be inserted into the instruction stream (Assembler Buffer):
+
+ - maxPoolSize: size of the constant pool in bytes, this value cannot be
+ larger than the maximum offset of a PC relative memory load
+
+ - barrierSize: size of jump instruction in bytes which protects the
+ constant pool from execution
+
+ - maxInstructionSize: maximum length of a machine instruction in bytes
+
+ There are some callbacks which solve the target architecture specific
+ address handling:
+
+ - TYPE patchConstantPoolLoad(TYPE load, int value):
+ patch the 'load' instruction with the index of the constant in the
+ constant pool and return the patched instruction.
+
+ - void patchConstantPoolLoad(void* loadAddr, void* constPoolAddr):
+ patch the a PC relative load instruction at 'loadAddr' address with the
+ final relative offset. The offset can be computed with help of
+ 'constPoolAddr' (the address of the constant pool) and index of the
+ constant (which is stored previously in the load instruction itself).
+
+ - TYPE placeConstantPoolBarrier(int size):
+ return with a constant pool barrier instruction which jumps over the
+ constant pool.
+
+ The 'put*WithConstant*' functions should be used to place a data into the
+ constant pool.
+*/
+
+template <int maxPoolSize, int barrierSize, int maxInstructionSize, class AssemblerType>
+class AssemblerBufferWithConstantPool: public AssemblerBuffer {
+ typedef WTF::SegmentedVector<uint32_t, 512> LoadOffsets;
+public:
+ enum {
+ UniqueConst,
+ ReusableConst,
+ UnusedEntry,
+ };
+
+ AssemblerBufferWithConstantPool()
+ : AssemblerBuffer()
+ , m_numConsts(0)
+ , m_maxDistance(maxPoolSize)
+ , m_lastConstDelta(0)
+ {
+ m_pool = static_cast<uint32_t*>(fastMalloc(maxPoolSize));
+ m_mask = static_cast<char*>(fastMalloc(maxPoolSize / sizeof(uint32_t)));
+ }
+
+ ~AssemblerBufferWithConstantPool()
+ {
+ fastFree(m_mask);
+ fastFree(m_pool);
+ }
+
+ void ensureSpace(int space)
+ {
+ flushIfNoSpaceFor(space);
+ AssemblerBuffer::ensureSpace(space);
+ }
+
+ void ensureSpace(int insnSpace, int constSpace)
+ {
+ flushIfNoSpaceFor(insnSpace, constSpace);
+ AssemblerBuffer::ensureSpace(insnSpace);
+ }
+
+ bool isAligned(int alignment)
+ {
+ flushIfNoSpaceFor(alignment);
+ return AssemblerBuffer::isAligned(alignment);
+ }
+
+ void putByteUnchecked(int value)
+ {
+ AssemblerBuffer::putByteUnchecked(value);
+ correctDeltas(1);
+ }
+
+ void putByte(int value)
+ {
+ flushIfNoSpaceFor(1);
+ AssemblerBuffer::putByte(value);
+ correctDeltas(1);
+ }
+
+ void putShortUnchecked(int value)
+ {
+ AssemblerBuffer::putShortUnchecked(value);
+ correctDeltas(2);
+ }
+
+ void putShort(int value)
+ {
+ flushIfNoSpaceFor(2);
+ AssemblerBuffer::putShort(value);
+ correctDeltas(2);
+ }
+
+ void putIntUnchecked(int value)
+ {
+ AssemblerBuffer::putIntUnchecked(value);
+ correctDeltas(4);
+ }
+
+ void putInt(int value)
+ {
+ flushIfNoSpaceFor(4);
+ AssemblerBuffer::putInt(value);
+ correctDeltas(4);
+ }
+
+ void putInt64Unchecked(int64_t value)
+ {
+ AssemblerBuffer::putInt64Unchecked(value);
+ correctDeltas(8);
+ }
+
+ int size()
+ {
+ flushIfNoSpaceFor(maxInstructionSize, sizeof(uint64_t));
+ return AssemblerBuffer::size();
+ }
+
+ void* executableCopy(ExecutablePool* allocator)
+ {
+ flushConstantPool(false);
+ return AssemblerBuffer::executableCopy(allocator);
+ }
+
+ void putIntWithConstantInt(uint32_t insn, uint32_t constant, bool isReusable = false)
+ {
+ flushIfNoSpaceFor(4, 4);
+
+ m_loadOffsets.append(AssemblerBuffer::size());
+ if (isReusable)
+ for (int i = 0; i < m_numConsts; ++i) {
+ if (m_mask[i] == ReusableConst && m_pool[i] == constant) {
+ AssemblerBuffer::putInt(AssemblerType::patchConstantPoolLoad(insn, i));
+ correctDeltas(4);
+ return;
+ }
+ }
+
+ m_pool[m_numConsts] = constant;
+ m_mask[m_numConsts] = static_cast<char>(isReusable ? ReusableConst : UniqueConst);
+
+ AssemblerBuffer::putInt(AssemblerType::patchConstantPoolLoad(insn, m_numConsts));
+ ++m_numConsts;
+
+ correctDeltas(4, 4);
+ }
+
+ // This flushing mechanism can be called after any unconditional jumps.
+ void flushWithoutBarrier()
+ {
+ // Flush if constant pool is more than 60% full to avoid overuse of this function.
+ if (5 * m_numConsts > 3 * maxPoolSize / sizeof(uint32_t))
+ flushConstantPool(false);
+ }
+
+ uint32_t* poolAddress()
+ {
+ return m_pool;
+ }
+
+private:
+ void correctDeltas(int insnSize)
+ {
+ m_maxDistance -= insnSize;
+ m_lastConstDelta -= insnSize;
+ if (m_lastConstDelta < 0)
+ m_lastConstDelta = 0;
+ }
+
+ void correctDeltas(int insnSize, int constSize)
+ {
+ correctDeltas(insnSize);
+
+ m_maxDistance -= m_lastConstDelta;
+ m_lastConstDelta = constSize;
+ }
+
+ void flushConstantPool(bool useBarrier = true)
+ {
+ if (m_numConsts == 0)
+ return;
+ int alignPool = (AssemblerBuffer::size() + (useBarrier ? barrierSize : 0)) & (sizeof(uint64_t) - 1);
+
+ if (alignPool)
+ alignPool = sizeof(uint64_t) - alignPool;
+
+ // Callback to protect the constant pool from execution
+ if (useBarrier)
+ AssemblerBuffer::putInt(AssemblerType::placeConstantPoolBarrier(m_numConsts * sizeof(uint32_t) + alignPool));
+
+ if (alignPool) {
+ if (alignPool & 1)
+ AssemblerBuffer::putByte(AssemblerType::padForAlign8);
+ if (alignPool & 2)
+ AssemblerBuffer::putShort(AssemblerType::padForAlign16);
+ if (alignPool & 4)
+ AssemblerBuffer::putInt(AssemblerType::padForAlign32);
+ }
+
+ int constPoolOffset = AssemblerBuffer::size();
+ append(reinterpret_cast<char*>(m_pool), m_numConsts * sizeof(uint32_t));
+
+ // Patch each PC relative load
+ for (LoadOffsets::Iterator iter = m_loadOffsets.begin(); iter != m_loadOffsets.end(); ++iter) {
+ void* loadAddr = reinterpret_cast<void*>(m_buffer + *iter);
+ AssemblerType::patchConstantPoolLoad(loadAddr, reinterpret_cast<void*>(m_buffer + constPoolOffset));
+ }
+
+ m_loadOffsets.clear();
+ m_numConsts = 0;
+ m_maxDistance = maxPoolSize;
+ }
+
+ void flushIfNoSpaceFor(int nextInsnSize)
+ {
+ if (m_numConsts == 0)
+ return;
+ if ((m_maxDistance < nextInsnSize + m_lastConstDelta + barrierSize + (int)sizeof(uint32_t)))
+ flushConstantPool();
+ }
+
+ void flushIfNoSpaceFor(int nextInsnSize, int nextConstSize)
+ {
+ if (m_numConsts == 0)
+ return;
+ if ((m_maxDistance < nextInsnSize + m_lastConstDelta + barrierSize + (int)sizeof(uint32_t)) ||
+ (m_numConsts + nextConstSize / sizeof(uint32_t) >= maxPoolSize))
+ flushConstantPool();
+ }
+
+ uint32_t* m_pool;
+ char* m_mask;
+ LoadOffsets m_loadOffsets;
+
+ int m_numConsts;
+ int m_maxDistance;
+ int m_lastConstDelta;
+};
+
+} // namespace JSC
+
+#endif // ENABLE(ASSEMBLER)
+
+#endif // AssemblerBufferWithConstantPool_h
diff --git a/src/3rdparty/webkit/JavaScriptCore/assembler/LinkBuffer.h b/src/3rdparty/webkit/JavaScriptCore/assembler/LinkBuffer.h
new file mode 100644
index 0000000..6d08117
--- /dev/null
+++ b/src/3rdparty/webkit/JavaScriptCore/assembler/LinkBuffer.h
@@ -0,0 +1,195 @@
+/*
+ * Copyright (C) 2009 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef LinkBuffer_h
+#define LinkBuffer_h
+
+#include <wtf/Platform.h>
+
+#if ENABLE(ASSEMBLER)
+
+#include <MacroAssembler.h>
+#include <wtf/Noncopyable.h>
+
+namespace JSC {
+
+// LinkBuffer:
+//
+// This class assists in linking code generated by the macro assembler, once code generation
+// has been completed, and the code has been copied to is final location in memory. At this
+// time pointers to labels within the code may be resolved, and relative offsets to external
+// addresses may be fixed.
+//
+// Specifically:
+// * Jump objects may be linked to external targets,
+// * The address of Jump objects may taken, such that it can later be relinked.
+// * The return address of a Call may be acquired.
+// * The address of a Label pointing into the code may be resolved.
+// * The value referenced by a DataLabel may be set.
+//
+class LinkBuffer : public Noncopyable {
+ typedef MacroAssemblerCodeRef CodeRef;
+ typedef MacroAssembler::Label Label;
+ typedef MacroAssembler::Jump Jump;
+ typedef MacroAssembler::JumpList JumpList;
+ typedef MacroAssembler::Call Call;
+ typedef MacroAssembler::DataLabel32 DataLabel32;
+ typedef MacroAssembler::DataLabelPtr DataLabelPtr;
+
+public:
+ // Note: Initialization sequence is significant, since executablePool is a PassRefPtr.
+ // First, executablePool is copied into m_executablePool, then the initialization of
+ // m_code uses m_executablePool, *not* executablePool, since this is no longer valid.
+ LinkBuffer(MacroAssembler* masm, PassRefPtr<ExecutablePool> executablePool)
+ : m_executablePool(executablePool)
+ , m_code(masm->m_assembler.executableCopy(m_executablePool.get()))
+ , m_size(masm->m_assembler.size())
+#ifndef NDEBUG
+ , m_completed(false)
+#endif
+ {
+ }
+
+ ~LinkBuffer()
+ {
+ ASSERT(m_completed);
+ }
+
+ // These methods are used to link or set values at code generation time.
+
+ void link(Call call, FunctionPtr function)
+ {
+ ASSERT(call.isFlagSet(Call::Linkable));
+ MacroAssembler::linkCall(code(), call, function);
+ }
+
+ void link(Jump jump, CodeLocationLabel label)
+ {
+ MacroAssembler::linkJump(code(), jump, label);
+ }
+
+ void link(JumpList list, CodeLocationLabel label)
+ {
+ for (unsigned i = 0; i < list.m_jumps.size(); ++i)
+ MacroAssembler::linkJump(code(), list.m_jumps[i], label);
+ }
+
+ void patch(DataLabelPtr label, void* value)
+ {
+ MacroAssembler::linkPointer(code(), label.m_label, value);
+ }
+
+ void patch(DataLabelPtr label, CodeLocationLabel value)
+ {
+ MacroAssembler::linkPointer(code(), label.m_label, value.executableAddress());
+ }
+
+ // These methods are used to obtain handles to allow the code to be relinked / repatched later.
+
+ CodeLocationCall locationOf(Call call)
+ {
+ ASSERT(call.isFlagSet(Call::Linkable));
+ ASSERT(!call.isFlagSet(Call::Near));
+ return CodeLocationCall(MacroAssembler::getLinkerAddress(code(), call.m_jmp));
+ }
+
+ CodeLocationNearCall locationOfNearCall(Call call)
+ {
+ ASSERT(call.isFlagSet(Call::Linkable));
+ ASSERT(call.isFlagSet(Call::Near));
+ return CodeLocationNearCall(MacroAssembler::getLinkerAddress(code(), call.m_jmp));
+ }
+
+ CodeLocationLabel locationOf(Label label)
+ {
+ return CodeLocationLabel(MacroAssembler::getLinkerAddress(code(), label.m_label));
+ }
+
+ CodeLocationDataLabelPtr locationOf(DataLabelPtr label)
+ {
+ return CodeLocationDataLabelPtr(MacroAssembler::getLinkerAddress(code(), label.m_label));
+ }
+
+ CodeLocationDataLabel32 locationOf(DataLabel32 label)
+ {
+ return CodeLocationDataLabel32(MacroAssembler::getLinkerAddress(code(), label.m_label));
+ }
+
+ // This method obtains the return address of the call, given as an offset from
+ // the start of the code.
+ unsigned returnAddressOffset(Call call)
+ {
+ return MacroAssembler::getLinkerCallReturnOffset(call);
+ }
+
+ // Upon completion of all patching either 'finalizeCode()' or 'finalizeCodeAddendum()' should be called
+ // once to complete generation of the code. 'finalizeCode()' is suited to situations
+ // where the executable pool must also be retained, the lighter-weight 'finalizeCodeAddendum()' is
+ // suited to adding to an existing allocation.
+ CodeRef finalizeCode()
+ {
+ performFinalization();
+
+ return CodeRef(m_code, m_executablePool, m_size);
+ }
+ CodeLocationLabel finalizeCodeAddendum()
+ {
+ performFinalization();
+
+ return CodeLocationLabel(code());
+ }
+
+private:
+ // Keep this private! - the underlying code should only be obtained externally via
+ // finalizeCode() or finalizeCodeAddendum().
+ void* code()
+ {
+ return m_code;
+ }
+
+ void performFinalization()
+ {
+#ifndef NDEBUG
+ ASSERT(!m_completed);
+ m_completed = true;
+#endif
+
+ ExecutableAllocator::makeExecutable(code(), m_size);
+ ExecutableAllocator::cacheFlush(code(), m_size);
+ }
+
+ RefPtr<ExecutablePool> m_executablePool;
+ void* m_code;
+ size_t m_size;
+#ifndef NDEBUG
+ bool m_completed;
+#endif
+};
+
+} // namespace JSC
+
+#endif // ENABLE(ASSEMBLER)
+
+#endif // LinkBuffer_h
diff --git a/src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssembler.h b/src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssembler.h
index 43d27e7..9e1c5d3 100644
--- a/src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssembler.h
+++ b/src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssembler.h
@@ -34,6 +34,10 @@
#include "MacroAssemblerARMv7.h"
namespace JSC { typedef MacroAssemblerARMv7 MacroAssemblerBase; };
+#elif PLATFORM(ARM)
+#include "MacroAssemblerARM.h"
+namespace JSC { typedef MacroAssemblerARM MacroAssemblerBase; };
+
#elif PLATFORM(X86)
#include "MacroAssemblerX86.h"
namespace JSC { typedef MacroAssemblerX86 MacroAssemblerBase; };
diff --git a/src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssemblerARM.h b/src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssemblerARM.h
new file mode 100644
index 0000000..27879a9
--- /dev/null
+++ b/src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssemblerARM.h
@@ -0,0 +1,797 @@
+/*
+ * Copyright (C) 2008 Apple Inc.
+ * Copyright (C) 2009 University of Szeged
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef MacroAssemblerARM_h
+#define MacroAssemblerARM_h
+
+#include <wtf/Platform.h>
+
+#if ENABLE(ASSEMBLER) && PLATFORM(ARM)
+
+#include "ARMAssembler.h"
+#include "AbstractMacroAssembler.h"
+
+namespace JSC {
+
+class MacroAssemblerARM : public AbstractMacroAssembler<ARMAssembler> {
+public:
+ enum Condition {
+ Equal = ARMAssembler::EQ,
+ NotEqual = ARMAssembler::NE,
+ Above = ARMAssembler::HI,
+ AboveOrEqual = ARMAssembler::CS,
+ Below = ARMAssembler::CC,
+ BelowOrEqual = ARMAssembler::LS,
+ GreaterThan = ARMAssembler::GT,
+ GreaterThanOrEqual = ARMAssembler::GE,
+ LessThan = ARMAssembler::LT,
+ LessThanOrEqual = ARMAssembler::LE,
+ Overflow = ARMAssembler::VS,
+ Signed = ARMAssembler::MI,
+ Zero = ARMAssembler::EQ,
+ NonZero = ARMAssembler::NE
+ };
+
+ enum DoubleCondition {
+ DoubleEqual, //FIXME
+ DoubleNotEqual, //FIXME
+ DoubleGreaterThan, //FIXME
+ DoubleGreaterThanOrEqual, //FIXME
+ DoubleLessThan, //FIXME
+ DoubleLessThanOrEqual, //FIXME
+ };
+
+ static const RegisterID stackPointerRegister = ARM::sp;
+
+ static const Scale ScalePtr = TimesFour;
+
+ void add32(RegisterID src, RegisterID dest)
+ {
+ m_assembler.adds_r(dest, dest, src);
+ }
+
+ void add32(Imm32 imm, Address address)
+ {
+ load32(address, ARM::S1);
+ add32(imm, ARM::S1);
+ store32(ARM::S1, address);
+ }
+
+ void add32(Imm32 imm, RegisterID dest)
+ {
+ m_assembler.adds_r(dest, dest, m_assembler.getImm(imm.m_value, ARM::S0));
+ }
+
+ void add32(Address src, RegisterID dest)
+ {
+ load32(src, ARM::S1);
+ add32(ARM::S1, dest);
+ }
+
+ void and32(RegisterID src, RegisterID dest)
+ {
+ m_assembler.ands_r(dest, dest, src);
+ }
+
+ void and32(Imm32 imm, RegisterID dest)
+ {
+ ARMWord w = m_assembler.getImm(imm.m_value, ARM::S0, true);
+ if (w & ARMAssembler::OP2_INV_IMM)
+ m_assembler.bics_r(dest, dest, w & ~ARMAssembler::OP2_INV_IMM);
+ else
+ m_assembler.ands_r(dest, dest, w);
+ }
+
+ void lshift32(Imm32 imm, RegisterID dest)
+ {
+ m_assembler.movs_r(dest, m_assembler.lsl(dest, imm.m_value & 0x1f));
+ }
+
+ void lshift32(RegisterID shift_amount, RegisterID dest)
+ {
+ m_assembler.movs_r(dest, m_assembler.lsl_r(dest, shift_amount));
+ }
+
+ void mul32(RegisterID src, RegisterID dest)
+ {
+ if (src == dest) {
+ move(src, ARM::S0);
+ src = ARM::S0;
+ }
+ m_assembler.muls_r(dest, dest, src);
+ }
+
+ void mul32(Imm32 imm, RegisterID src, RegisterID dest)
+ {
+ move(imm, ARM::S0);
+ m_assembler.muls_r(dest, src, ARM::S0);
+ }
+
+ void not32(RegisterID dest)
+ {
+ m_assembler.mvns_r(dest, dest);
+ }
+
+ void or32(RegisterID src, RegisterID dest)
+ {
+ m_assembler.orrs_r(dest, dest, src);
+ }
+
+ void or32(Imm32 imm, RegisterID dest)
+ {
+ m_assembler.orrs_r(dest, dest, m_assembler.getImm(imm.m_value, ARM::S0));
+ }
+
+ void rshift32(RegisterID shift_amount, RegisterID dest)
+ {
+ m_assembler.movs_r(dest, m_assembler.asr_r(dest, shift_amount));
+ }
+
+ void rshift32(Imm32 imm, RegisterID dest)
+ {
+ m_assembler.movs_r(dest, m_assembler.asr(dest, imm.m_value & 0x1f));
+ }
+
+ void sub32(RegisterID src, RegisterID dest)
+ {
+ m_assembler.subs_r(dest, dest, src);
+ }
+
+ void sub32(Imm32 imm, RegisterID dest)
+ {
+ m_assembler.subs_r(dest, dest, m_assembler.getImm(imm.m_value, ARM::S0));
+ }
+
+ void sub32(Imm32 imm, Address address)
+ {
+ load32(address, ARM::S1);
+ sub32(imm, ARM::S1);
+ store32(ARM::S1, address);
+ }
+
+ void sub32(Address src, RegisterID dest)
+ {
+ load32(src, ARM::S1);
+ sub32(ARM::S1, dest);
+ }
+
+ void xor32(RegisterID src, RegisterID dest)
+ {
+ m_assembler.eors_r(dest, dest, src);
+ }
+
+ void xor32(Imm32 imm, RegisterID dest)
+ {
+ m_assembler.eors_r(dest, dest, m_assembler.getImm(imm.m_value, ARM::S0));
+ }
+
+ void load32(ImplicitAddress address, RegisterID dest)
+ {
+ m_assembler.dataTransfer32(true, dest, address.base, address.offset);
+ }
+
+ void load32(BaseIndex address, RegisterID dest)
+ {
+ m_assembler.baseIndexTransfer32(true, dest, address.base, address.index, static_cast<int>(address.scale), address.offset);
+ }
+
+ DataLabel32 load32WithAddressOffsetPatch(Address address, RegisterID dest)
+ {
+ DataLabel32 dataLabel(this);
+ m_assembler.ldr_un_imm(ARM::S0, 0);
+ m_assembler.dtr_ur(true, dest, address.base, ARM::S0);
+ return dataLabel;
+ }
+
+ Label loadPtrWithPatchToLEA(Address address, RegisterID dest)
+ {
+ Label label(this);
+ load32(address, dest);
+ return label;
+ }
+
+ void load16(BaseIndex address, RegisterID dest)
+ {
+ m_assembler.add_r(ARM::S0, address.base, m_assembler.lsl(address.index, address.scale));
+ if (address.offset>=0)
+ m_assembler.ldrh_u(dest, ARM::S0, ARMAssembler::getOp2Byte(address.offset));
+ else
+ m_assembler.ldrh_d(dest, ARM::S0, ARMAssembler::getOp2Byte(-address.offset));
+ }
+
+ DataLabel32 store32WithAddressOffsetPatch(RegisterID src, Address address)
+ {
+ DataLabel32 dataLabel(this);
+ m_assembler.ldr_un_imm(ARM::S0, 0);
+ m_assembler.dtr_ur(false, src, address.base, ARM::S0);
+ return dataLabel;
+ }
+
+ void store32(RegisterID src, ImplicitAddress address)
+ {
+ m_assembler.dataTransfer32(false, src, address.base, address.offset);
+ }
+
+ void store32(RegisterID src, BaseIndex address)
+ {
+ m_assembler.baseIndexTransfer32(false, src, address.base, address.index, static_cast<int>(address.scale), address.offset);
+ }
+
+ void store32(Imm32 imm, ImplicitAddress address)
+ {
+ move(imm, ARM::S1);
+ store32(ARM::S1, address);
+ }
+
+ void store32(RegisterID src, void* address)
+ {
+ m_assembler.moveImm(reinterpret_cast<ARMWord>(address), ARM::S0);
+ m_assembler.dtr_u(false, src, ARM::S0, 0);
+ }
+
+ void store32(Imm32 imm, void* address)
+ {
+ m_assembler.moveImm(reinterpret_cast<ARMWord>(address), ARM::S0);
+ m_assembler.moveImm(imm.m_value, ARM::S1);
+ m_assembler.dtr_u(false, ARM::S1, ARM::S0, 0);
+ }
+
+ void pop(RegisterID dest)
+ {
+ m_assembler.pop_r(dest);
+ }
+
+ void push(RegisterID src)
+ {
+ m_assembler.push_r(src);
+ }
+
+ void push(Address address)
+ {
+ load32(address, ARM::S1);
+ push(ARM::S1);
+ }
+
+ void push(Imm32 imm)
+ {
+ move(imm, ARM::S0);
+ push(ARM::S0);
+ }
+
+ void move(Imm32 imm, RegisterID dest)
+ {
+ m_assembler.moveImm(imm.m_value, dest);
+ }
+
+ void move(RegisterID src, RegisterID dest)
+ {
+ m_assembler.mov_r(dest, src);
+ }
+
+ void move(ImmPtr imm, RegisterID dest)
+ {
+ m_assembler.mov_r(dest, m_assembler.getImm(reinterpret_cast<ARMWord>(imm.m_value), ARM::S0));
+ }
+
+ void swap(RegisterID reg1, RegisterID reg2)
+ {
+ m_assembler.mov_r(ARM::S0, reg1);
+ m_assembler.mov_r(reg1, reg2);
+ m_assembler.mov_r(reg2, ARM::S0);
+ }
+
+ void signExtend32ToPtr(RegisterID src, RegisterID dest)
+ {
+ if (src != dest)
+ move(src, dest);
+ }
+
+ void zeroExtend32ToPtr(RegisterID src, RegisterID dest)
+ {
+ if (src != dest)
+ move(src, dest);
+ }
+
+ Jump branch32(Condition cond, RegisterID left, RegisterID right)
+ {
+ m_assembler.cmp_r(left, right);
+ return Jump(m_assembler.jmp(ARMCondition(cond)));
+ }
+
+ Jump branch32(Condition cond, RegisterID left, Imm32 right)
+ {
+ m_assembler.cmp_r(left, m_assembler.getImm(right.m_value, ARM::S0));
+ return Jump(m_assembler.jmp(ARMCondition(cond)));
+ }
+
+ Jump branch32(Condition cond, RegisterID left, Address right)
+ {
+ load32(right, ARM::S1);
+ return branch32(cond, left, ARM::S1);
+ }
+
+ Jump branch32(Condition cond, Address left, RegisterID right)
+ {
+ load32(left, ARM::S1);
+ return branch32(cond, ARM::S1, right);
+ }
+
+ Jump branch32(Condition cond, Address left, Imm32 right)
+ {
+ load32(left, ARM::S1);
+ return branch32(cond, ARM::S1, right);
+ }
+
+ Jump branch32(Condition cond, BaseIndex left, Imm32 right)
+ {
+ load32(left, ARM::S1);
+ return branch32(cond, ARM::S1, right);
+ }
+
+ Jump branch16(Condition cond, BaseIndex left, RegisterID right)
+ {
+ UNUSED_PARAM(cond);
+ UNUSED_PARAM(left);
+ UNUSED_PARAM(right);
+ ASSERT_NOT_REACHED();
+ return jump();
+ }
+
+ Jump branch16(Condition cond, BaseIndex left, Imm32 right)
+ {
+ load16(left, ARM::S0);
+ move(right, ARM::S1);
+ m_assembler.cmp_r(ARM::S0, ARM::S1);
+ return m_assembler.jmp(ARMCondition(cond));
+ }
+
+ Jump branchTest32(Condition cond, RegisterID reg, RegisterID mask)
+ {
+ ASSERT((cond == Zero) || (cond == NonZero));
+ m_assembler.tst_r(reg, mask);
+ return Jump(m_assembler.jmp(ARMCondition(cond)));
+ }
+
+ Jump branchTest32(Condition cond, RegisterID reg, Imm32 mask = Imm32(-1))
+ {
+ ASSERT((cond == Zero) || (cond == NonZero));
+ ARMWord w = m_assembler.getImm(mask.m_value, ARM::S0, true);
+ if (w & ARMAssembler::OP2_INV_IMM)
+ m_assembler.bics_r(ARM::S0, reg, w & ~ARMAssembler::OP2_INV_IMM);
+ else
+ m_assembler.tst_r(reg, w);
+ return Jump(m_assembler.jmp(ARMCondition(cond)));
+ }
+
+ Jump branchTest32(Condition cond, Address address, Imm32 mask = Imm32(-1))
+ {
+ load32(address, ARM::S1);
+ return branchTest32(cond, ARM::S1, mask);
+ }
+
+ Jump branchTest32(Condition cond, BaseIndex address, Imm32 mask = Imm32(-1))
+ {
+ load32(address, ARM::S1);
+ return branchTest32(cond, ARM::S1, mask);
+ }
+
+ Jump jump()
+ {
+ return Jump(m_assembler.jmp());
+ }
+
+ void jump(RegisterID target)
+ {
+ move(target, ARM::pc);
+ }
+
+ void jump(Address address)
+ {
+ load32(address, ARM::pc);
+ }
+
+ Jump branchAdd32(Condition cond, RegisterID src, RegisterID dest)
+ {
+ ASSERT((cond == Overflow) || (cond == Signed) || (cond == Zero) || (cond == NonZero));
+ add32(src, dest);
+ return Jump(m_assembler.jmp(ARMCondition(cond)));
+ }
+
+ Jump branchAdd32(Condition cond, Imm32 imm, RegisterID dest)
+ {
+ ASSERT((cond == Overflow) || (cond == Signed) || (cond == Zero) || (cond == NonZero));
+ add32(imm, dest);
+ return Jump(m_assembler.jmp(ARMCondition(cond)));
+ }
+
+ void mull32(RegisterID src1, RegisterID src2, RegisterID dest)
+ {
+ if (src1 == dest) {
+ move(src1, ARM::S0);
+ src1 = ARM::S0;
+ }
+ m_assembler.mull_r(ARM::S1, dest, src2, src1);
+ m_assembler.cmp_r(ARM::S1, m_assembler.asr(dest, 31));
+ }
+
+ Jump branchMul32(Condition cond, RegisterID src, RegisterID dest)
+ {
+ ASSERT((cond == Overflow) || (cond == Signed) || (cond == Zero) || (cond == NonZero));
+ if (cond == Overflow) {
+ mull32(src, dest, dest);
+ cond = NonZero;
+ }
+ else
+ mul32(src, dest);
+ return Jump(m_assembler.jmp(ARMCondition(cond)));
+ }
+
+ Jump branchMul32(Condition cond, Imm32 imm, RegisterID src, RegisterID dest)
+ {
+ ASSERT((cond == Overflow) || (cond == Signed) || (cond == Zero) || (cond == NonZero));
+ if (cond == Overflow) {
+ move(imm, ARM::S0);
+ mull32(ARM::S0, src, dest);
+ cond = NonZero;
+ }
+ else
+ mul32(imm, src, dest);
+ return Jump(m_assembler.jmp(ARMCondition(cond)));
+ }
+
+ Jump branchSub32(Condition cond, RegisterID src, RegisterID dest)
+ {
+ ASSERT((cond == Overflow) || (cond == Signed) || (cond == Zero) || (cond == NonZero));
+ sub32(src, dest);
+ return Jump(m_assembler.jmp(ARMCondition(cond)));
+ }
+
+ Jump branchSub32(Condition cond, Imm32 imm, RegisterID dest)
+ {
+ ASSERT((cond == Overflow) || (cond == Signed) || (cond == Zero) || (cond == NonZero));
+ sub32(imm, dest);
+ return Jump(m_assembler.jmp(ARMCondition(cond)));
+ }
+
+ void breakpoint()
+ {
+ m_assembler.bkpt(0);
+ }
+
+ Call nearCall()
+ {
+ prepareCall();
+ return Call(m_assembler.jmp(), Call::LinkableNear);
+ }
+
+ Call call(RegisterID target)
+ {
+ prepareCall();
+ move(ARM::pc, target);
+ JmpSrc jmpSrc;
+ return Call(jmpSrc, Call::None);
+ }
+
+ void call(Address address)
+ {
+ call32(address.base, address.offset);
+ }
+
+ void ret()
+ {
+ pop(ARM::pc);
+ }
+
+ void set32(Condition cond, RegisterID left, RegisterID right, RegisterID dest)
+ {
+ m_assembler.cmp_r(left, right);
+ m_assembler.mov_r(dest, ARMAssembler::getOp2(0));
+ m_assembler.mov_r(dest, ARMAssembler::getOp2(1), ARMCondition(cond));
+ }
+
+ void set32(Condition cond, RegisterID left, Imm32 right, RegisterID dest)
+ {
+ m_assembler.cmp_r(left, m_assembler.getImm(right.m_value, ARM::S0));
+ m_assembler.mov_r(dest, ARMAssembler::getOp2(0));
+ m_assembler.mov_r(dest, ARMAssembler::getOp2(1), ARMCondition(cond));
+ }
+
+ void setTest32(Condition cond, Address address, Imm32 mask, RegisterID dest)
+ {
+ load32(address, ARM::S1);
+ if (mask.m_value == -1)
+ m_assembler.cmp_r(0, ARM::S1);
+ else
+ m_assembler.tst_r(ARM::S1, m_assembler.getImm(mask.m_value, ARM::S0));
+ m_assembler.mov_r(dest, ARMAssembler::getOp2(0));
+ m_assembler.mov_r(dest, ARMAssembler::getOp2(1), ARMCondition(cond));
+ }
+
+ void add32(Imm32 imm, RegisterID src, RegisterID dest)
+ {
+ m_assembler.add_r(dest, src, m_assembler.getImm(imm.m_value, ARM::S0));
+ }
+
+ void add32(Imm32 imm, AbsoluteAddress address)
+ {
+ m_assembler.moveImm(reinterpret_cast<ARMWord>(address.m_ptr), ARM::S1);
+ m_assembler.dtr_u(true, ARM::S1, ARM::S1, 0);
+ add32(imm, ARM::S1);
+ m_assembler.moveImm(reinterpret_cast<ARMWord>(address.m_ptr), ARM::S0);
+ m_assembler.dtr_u(false, ARM::S1, ARM::S0, 0);
+ }
+
+ void sub32(Imm32 imm, AbsoluteAddress address)
+ {
+ m_assembler.moveImm(reinterpret_cast<ARMWord>(address.m_ptr), ARM::S1);
+ m_assembler.dtr_u(true, ARM::S1, ARM::S1, 0);
+ sub32(imm, ARM::S1);
+ m_assembler.moveImm(reinterpret_cast<ARMWord>(address.m_ptr), ARM::S0);
+ m_assembler.dtr_u(false, ARM::S1, ARM::S0, 0);
+ }
+
+ void load32(void* address, RegisterID dest)
+ {
+ m_assembler.moveImm(reinterpret_cast<ARMWord>(address), ARM::S0);
+ m_assembler.dtr_u(true, dest, ARM::S0, 0);
+ }
+
+ Jump branch32(Condition cond, AbsoluteAddress left, RegisterID right)
+ {
+ load32(left.m_ptr, ARM::S1);
+ return branch32(cond, ARM::S1, right);
+ }
+
+ Jump branch32(Condition cond, AbsoluteAddress left, Imm32 right)
+ {
+ load32(left.m_ptr, ARM::S1);
+ return branch32(cond, ARM::S1, right);
+ }
+
+ Call call()
+ {
+ prepareCall();
+ return Call(m_assembler.jmp(), Call::Linkable);
+ }
+
+ Call tailRecursiveCall()
+ {
+ return Call::fromTailJump(jump());
+ }
+
+ Call makeTailRecursiveCall(Jump oldJump)
+ {
+ return Call::fromTailJump(oldJump);
+ }
+
+ DataLabelPtr moveWithPatch(ImmPtr initialValue, RegisterID dest)
+ {
+ DataLabelPtr dataLabel(this);
+ m_assembler.ldr_un_imm(dest, reinterpret_cast<ARMWord>(initialValue.m_value));
+ return dataLabel;
+ }
+
+ Jump branchPtrWithPatch(Condition cond, RegisterID left, DataLabelPtr& dataLabel, ImmPtr initialRightValue = ImmPtr(0))
+ {
+ dataLabel = moveWithPatch(initialRightValue, ARM::S1);
+ Jump jump = branch32(cond, left, ARM::S1);
+ jump.enableLatePatch();
+ return jump;
+ }
+
+ Jump branchPtrWithPatch(Condition cond, Address left, DataLabelPtr& dataLabel, ImmPtr initialRightValue = ImmPtr(0))
+ {
+ load32(left, ARM::S1);
+ dataLabel = moveWithPatch(initialRightValue, ARM::S0);
+ Jump jump = branch32(cond, ARM::S0, ARM::S1);
+ jump.enableLatePatch();
+ return jump;
+ }
+
+ DataLabelPtr storePtrWithPatch(ImmPtr initialValue, ImplicitAddress address)
+ {
+ DataLabelPtr dataLabel = moveWithPatch(initialValue, ARM::S1);
+ store32(ARM::S1, address);
+ return dataLabel;
+ }
+
+ DataLabelPtr storePtrWithPatch(ImplicitAddress address)
+ {
+ return storePtrWithPatch(ImmPtr(0), address);
+ }
+
+ // Floating point operators
+ bool supportsFloatingPoint() const
+ {
+ return false;
+ }
+
+ bool supportsFloatingPointTruncate() const
+ {
+ return false;
+ }
+
+ void loadDouble(ImplicitAddress address, FPRegisterID dest)
+ {
+ UNUSED_PARAM(address);
+ UNUSED_PARAM(dest);
+ ASSERT_NOT_REACHED();
+ }
+
+ void storeDouble(FPRegisterID src, ImplicitAddress address)
+ {
+ UNUSED_PARAM(src);
+ UNUSED_PARAM(address);
+ ASSERT_NOT_REACHED();
+ }
+
+ void addDouble(FPRegisterID src, FPRegisterID dest)
+ {
+ UNUSED_PARAM(src);
+ UNUSED_PARAM(dest);
+ ASSERT_NOT_REACHED();
+ }
+
+ void addDouble(Address src, FPRegisterID dest)
+ {
+ UNUSED_PARAM(src);
+ UNUSED_PARAM(dest);
+ ASSERT_NOT_REACHED();
+ }
+
+ void subDouble(FPRegisterID src, FPRegisterID dest)
+ {
+ UNUSED_PARAM(src);
+ UNUSED_PARAM(dest);
+ ASSERT_NOT_REACHED();
+ }
+
+ void subDouble(Address src, FPRegisterID dest)
+ {
+ UNUSED_PARAM(src);
+ UNUSED_PARAM(dest);
+ ASSERT_NOT_REACHED();
+ }
+
+ void mulDouble(FPRegisterID src, FPRegisterID dest)
+ {
+ UNUSED_PARAM(src);
+ UNUSED_PARAM(dest);
+ ASSERT_NOT_REACHED();
+ }
+
+ void mulDouble(Address src, FPRegisterID dest)
+ {
+ UNUSED_PARAM(src);
+ UNUSED_PARAM(dest);
+ ASSERT_NOT_REACHED();
+ }
+
+ void convertInt32ToDouble(RegisterID src, FPRegisterID dest)
+ {
+ UNUSED_PARAM(src);
+ UNUSED_PARAM(dest);
+ ASSERT_NOT_REACHED();
+ }
+
+ Jump branchDouble(DoubleCondition cond, FPRegisterID left, FPRegisterID right)
+ {
+ UNUSED_PARAM(cond);
+ UNUSED_PARAM(left);
+ UNUSED_PARAM(right);
+ ASSERT_NOT_REACHED();
+ return jump();
+ }
+
+ // Truncates 'src' to an integer, and places the resulting 'dest'.
+ // If the result is not representable as a 32 bit value, branch.
+ // May also branch for some values that are representable in 32 bits
+ // (specifically, in this case, INT_MIN).
+ Jump branchTruncateDoubleToInt32(FPRegisterID src, RegisterID dest)
+ {
+ UNUSED_PARAM(src);
+ UNUSED_PARAM(dest);
+ ASSERT_NOT_REACHED();
+ return jump();
+ }
+
+protected:
+ ARMAssembler::Condition ARMCondition(Condition cond)
+ {
+ return static_cast<ARMAssembler::Condition>(cond);
+ }
+
+ void prepareCall()
+ {
+ m_assembler.ensureSpace(3 * sizeof(ARMWord), sizeof(ARMWord));
+
+ // S0 might be used for parameter passing
+ m_assembler.add_r(ARM::S1, ARM::pc, ARMAssembler::OP2_IMM | 0x4);
+ m_assembler.push_r(ARM::S1);
+ }
+
+ void call32(RegisterID base, int32_t offset)
+ {
+ if (base == ARM::sp)
+ offset += 4;
+
+ if (offset >= 0) {
+ if (offset <= 0xfff) {
+ prepareCall();
+ m_assembler.dtr_u(true, ARM::pc, base, offset);
+ } else if (offset <= 0xfffff) {
+ m_assembler.add_r(ARM::S0, base, ARMAssembler::OP2_IMM | (offset >> 12) | (10 << 8));
+ prepareCall();
+ m_assembler.dtr_u(true, ARM::pc, ARM::S0, offset & 0xfff);
+ } else {
+ ARMWord reg = m_assembler.getImm(offset, ARM::S0);
+ prepareCall();
+ m_assembler.dtr_ur(true, ARM::pc, base, reg);
+ }
+ } else {
+ offset = -offset;
+ if (offset <= 0xfff) {
+ prepareCall();
+ m_assembler.dtr_d(true, ARM::pc, base, offset);
+ } else if (offset <= 0xfffff) {
+ m_assembler.sub_r(ARM::S0, base, ARMAssembler::OP2_IMM | (offset >> 12) | (10 << 8));
+ prepareCall();
+ m_assembler.dtr_d(true, ARM::pc, ARM::S0, offset & 0xfff);
+ } else {
+ ARMWord reg = m_assembler.getImm(offset, ARM::S0);
+ prepareCall();
+ m_assembler.dtr_dr(true, ARM::pc, base, reg);
+ }
+ }
+ }
+
+private:
+ friend class LinkBuffer;
+ friend class RepatchBuffer;
+
+ static void linkCall(void* code, Call call, FunctionPtr function)
+ {
+ ARMAssembler::linkCall(code, call.m_jmp, function.value());
+ }
+
+ static void repatchCall(CodeLocationCall call, CodeLocationLabel destination)
+ {
+ ARMAssembler::relinkCall(call.dataLocation(), destination.executableAddress());
+ }
+
+ static void repatchCall(CodeLocationCall call, FunctionPtr destination)
+ {
+ ARMAssembler::relinkCall(call.dataLocation(), destination.executableAddress());
+ }
+
+};
+
+}
+
+#endif
+
+#endif // MacroAssemblerARM_h
diff --git a/src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssemblerARMv7.h b/src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssemblerARMv7.h
index bd83c60..f7a8402 100644
--- a/src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssemblerARMv7.h
+++ b/src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssemblerARMv7.h
@@ -1054,6 +1054,25 @@ protected:
{
return static_cast<ARMv7Assembler::Condition>(cond);
}
+
+private:
+ friend class LinkBuffer;
+ friend class RepatchBuffer;
+
+ static void linkCall(void* code, Call call, FunctionPtr function)
+ {
+ ARMv7Assembler::linkCall(code, call.m_jmp, function.value());
+ }
+
+ static void repatchCall(CodeLocationCall call, CodeLocationLabel destination)
+ {
+ ARMv7Assembler::relinkCall(call.dataLocation(), destination.executableAddress());
+ }
+
+ static void repatchCall(CodeLocationCall call, FunctionPtr destination)
+ {
+ ARMv7Assembler::relinkCall(call.dataLocation(), destination.executableAddress());
+ }
};
} // namespace JSC
diff --git a/src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssemblerCodeRef.h b/src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssemblerCodeRef.h
index 50fca5b..341a7ff 100644
--- a/src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssemblerCodeRef.h
+++ b/src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssemblerCodeRef.h
@@ -165,28 +165,20 @@ private:
class MacroAssemblerCodeRef {
public:
MacroAssemblerCodeRef()
-#ifndef NDEBUG
: m_size(0)
-#endif
{
}
MacroAssemblerCodeRef(void* code, PassRefPtr<ExecutablePool> executablePool, size_t size)
: m_code(code)
, m_executablePool(executablePool)
+ , m_size(size)
{
-#ifndef NDEBUG
- m_size = size;
-#else
- UNUSED_PARAM(size);
-#endif
}
MacroAssemblerCodePtr m_code;
RefPtr<ExecutablePool> m_executablePool;
-#ifndef NDEBUG
size_t m_size;
-#endif
};
} // namespace JSC
diff --git a/src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssemblerX86.h b/src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssemblerX86.h
index aaf98fd..0b9ff35 100644
--- a/src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssemblerX86.h
+++ b/src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssemblerX86.h
@@ -164,6 +164,24 @@ public:
private:
const bool m_isSSE2Present;
+
+ friend class LinkBuffer;
+ friend class RepatchBuffer;
+
+ static void linkCall(void* code, Call call, FunctionPtr function)
+ {
+ X86Assembler::linkCall(code, call.m_jmp, function.value());
+ }
+
+ static void repatchCall(CodeLocationCall call, CodeLocationLabel destination)
+ {
+ X86Assembler::relinkCall(call.dataLocation(), destination.executableAddress());
+ }
+
+ static void repatchCall(CodeLocationCall call, FunctionPtr destination)
+ {
+ X86Assembler::relinkCall(call.dataLocation(), destination.executableAddress());
+ }
};
} // namespace JSC
diff --git a/src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssemblerX86_64.h b/src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssemblerX86_64.h
index ffdca7c..df0090a 100644
--- a/src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssemblerX86_64.h
+++ b/src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssemblerX86_64.h
@@ -32,6 +32,8 @@
#include "MacroAssemblerX86Common.h"
+#define REPTACH_OFFSET_CALL_R11 3
+
namespace JSC {
class MacroAssemblerX86_64 : public MacroAssemblerX86Common {
@@ -446,6 +448,29 @@ public:
bool supportsFloatingPoint() const { return true; }
// See comment on MacroAssemblerARMv7::supportsFloatingPointTruncate()
bool supportsFloatingPointTruncate() const { return true; }
+
+private:
+ friend class LinkBuffer;
+ friend class RepatchBuffer;
+
+ static void linkCall(void* code, Call call, FunctionPtr function)
+ {
+ if (!call.isFlagSet(Call::Near))
+ X86Assembler::linkPointer(code, X86Assembler::labelFor(call.m_jmp, -REPTACH_OFFSET_CALL_R11), function.value());
+ else
+ X86Assembler::linkCall(code, call.m_jmp, function.value());
+ }
+
+ static void repatchCall(CodeLocationCall call, CodeLocationLabel destination)
+ {
+ X86Assembler::repatchPointer(call.dataLabelPtrAtOffset(-REPTACH_OFFSET_CALL_R11).dataLocation(), destination.executableAddress());
+ }
+
+ static void repatchCall(CodeLocationCall call, FunctionPtr destination)
+ {
+ X86Assembler::repatchPointer(call.dataLabelPtrAtOffset(-REPTACH_OFFSET_CALL_R11).dataLocation(), destination.executableAddress());
+ }
+
};
} // namespace JSC
diff --git a/src/3rdparty/webkit/JavaScriptCore/assembler/RepatchBuffer.h b/src/3rdparty/webkit/JavaScriptCore/assembler/RepatchBuffer.h
new file mode 100644
index 0000000..89cbf06
--- /dev/null
+++ b/src/3rdparty/webkit/JavaScriptCore/assembler/RepatchBuffer.h
@@ -0,0 +1,136 @@
+/*
+ * Copyright (C) 2009 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef RepatchBuffer_h
+#define RepatchBuffer_h
+
+#include <wtf/Platform.h>
+
+#if ENABLE(ASSEMBLER)
+
+#include <MacroAssembler.h>
+#include <wtf/Noncopyable.h>
+
+namespace JSC {
+
+// RepatchBuffer:
+//
+// This class is used to modify code after code generation has been completed,
+// and after the code has potentially already been executed. This mechanism is
+// used to apply optimizations to the code.
+//
+class RepatchBuffer {
+ typedef MacroAssemblerCodePtr CodePtr;
+
+public:
+ RepatchBuffer(CodeBlock* codeBlock)
+ {
+ JITCode& code = codeBlock->getJITCode();
+ m_start = code.start();
+ m_size = code.size();
+
+ ExecutableAllocator::makeWritable(m_start, m_size);
+ }
+
+ ~RepatchBuffer()
+ {
+ ExecutableAllocator::makeExecutable(m_start, m_size);
+ }
+
+ void relink(CodeLocationJump jump, CodeLocationLabel destination)
+ {
+ MacroAssembler::repatchJump(jump, destination);
+ }
+
+ void relink(CodeLocationCall call, CodeLocationLabel destination)
+ {
+ MacroAssembler::repatchCall(call, destination);
+ }
+
+ void relink(CodeLocationCall call, FunctionPtr destination)
+ {
+ MacroAssembler::repatchCall(call, destination);
+ }
+
+ void relink(CodeLocationNearCall nearCall, CodePtr destination)
+ {
+ MacroAssembler::repatchNearCall(nearCall, CodeLocationLabel(destination));
+ }
+
+ void relink(CodeLocationNearCall nearCall, CodeLocationLabel destination)
+ {
+ MacroAssembler::repatchNearCall(nearCall, destination);
+ }
+
+ void repatch(CodeLocationDataLabel32 dataLabel32, int32_t value)
+ {
+ MacroAssembler::repatchInt32(dataLabel32, value);
+ }
+
+ void repatch(CodeLocationDataLabelPtr dataLabelPtr, void* value)
+ {
+ MacroAssembler::repatchPointer(dataLabelPtr, value);
+ }
+
+ void repatchLoadPtrToLEA(CodeLocationInstruction instruction)
+ {
+ MacroAssembler::repatchLoadPtrToLEA(instruction);
+ }
+
+ void relinkCallerToTrampoline(ReturnAddressPtr returnAddress, CodeLocationLabel label)
+ {
+ relink(CodeLocationCall(CodePtr(returnAddress)), label);
+ }
+
+ void relinkCallerToTrampoline(ReturnAddressPtr returnAddress, CodePtr newCalleeFunction)
+ {
+ relinkCallerToTrampoline(returnAddress, CodeLocationLabel(newCalleeFunction));
+ }
+
+ void relinkCallerToFunction(ReturnAddressPtr returnAddress, FunctionPtr function)
+ {
+ relink(CodeLocationCall(CodePtr(returnAddress)), function);
+ }
+
+ void relinkNearCallerToTrampoline(ReturnAddressPtr returnAddress, CodeLocationLabel label)
+ {
+ relink(CodeLocationNearCall(CodePtr(returnAddress)), label);
+ }
+
+ void relinkNearCallerToTrampoline(ReturnAddressPtr returnAddress, CodePtr newCalleeFunction)
+ {
+ relinkNearCallerToTrampoline(returnAddress, CodeLocationLabel(newCalleeFunction));
+ }
+
+private:
+ void* m_start;
+ size_t m_size;
+};
+
+} // namespace JSC
+
+#endif // ENABLE(ASSEMBLER)
+
+#endif // RepatchBuffer_h
diff --git a/src/3rdparty/webkit/JavaScriptCore/assembler/X86Assembler.h b/src/3rdparty/webkit/JavaScriptCore/assembler/X86Assembler.h
index 7a8b58d..745bc60 100644
--- a/src/3rdparty/webkit/JavaScriptCore/assembler/X86Assembler.h
+++ b/src/3rdparty/webkit/JavaScriptCore/assembler/X86Assembler.h
@@ -226,6 +226,7 @@ public:
{
}
+ void enableLatePatch() { }
private:
JmpSrc(int offset)
: m_offset(offset)
@@ -1344,6 +1345,11 @@ public:
return JmpDst(m_formatter.size());
}
+ static JmpDst labelFor(JmpSrc jump, intptr_t offset = 0)
+ {
+ return JmpDst(jump.m_offset + offset);
+ }
+
JmpDst align(int alignment)
{
while (!m_formatter.isAligned(alignment))
@@ -1366,59 +1372,48 @@ public:
ASSERT(to.m_offset != -1);
char* code = reinterpret_cast<char*>(m_formatter.data());
- patchRel32(code + from.m_offset, code + to.m_offset);
+ setRel32(code + from.m_offset, code + to.m_offset);
}
static void linkJump(void* code, JmpSrc from, void* to)
{
ASSERT(from.m_offset != -1);
- patchRel32(reinterpret_cast<char*>(code) + from.m_offset, to);
+ setRel32(reinterpret_cast<char*>(code) + from.m_offset, to);
}
static void linkCall(void* code, JmpSrc from, void* to)
{
ASSERT(from.m_offset != -1);
- patchRel32(reinterpret_cast<char*>(code) + from.m_offset, to);
+ setRel32(reinterpret_cast<char*>(code) + from.m_offset, to);
}
-#if PLATFORM(X86_64)
- static void patchPointerForCall(void* where, void* value)
- {
- reinterpret_cast<void**>(where)[-1] = value;
- }
-#endif
-
- static void patchPointer(void* code, JmpDst where, void* value)
+ static void linkPointer(void* code, JmpDst where, void* value)
{
ASSERT(where.m_offset != -1);
- patchPointer(reinterpret_cast<char*>(code) + where.m_offset, value);
+ setPointer(reinterpret_cast<char*>(code) + where.m_offset, value);
}
static void relinkJump(void* from, void* to)
{
- ExecutableAllocator::MakeWritable unprotect(reinterpret_cast<char*>(from) - sizeof(int32_t), sizeof(int32_t));
- patchRel32(from, to);
+ setRel32(from, to);
}
static void relinkCall(void* from, void* to)
{
- ExecutableAllocator::MakeWritable unprotect(reinterpret_cast<char*>(from) - sizeof(int32_t), sizeof(int32_t));
- patchRel32(from, to);
+ setRel32(from, to);
}
static void repatchInt32(void* where, int32_t value)
{
- ExecutableAllocator::MakeWritable unprotect(reinterpret_cast<char*>(where) - sizeof(int32_t), sizeof(int32_t));
- patchInt32(where, value);
+ setInt32(where, value);
}
static void repatchPointer(void* where, void* value)
{
- ExecutableAllocator::MakeWritable unprotect(reinterpret_cast<char*>(where) - sizeof(void*), sizeof(void*));
- patchPointer(where, value);
+ setPointer(where, value);
}
static void repatchLoadPtrToLEA(void* where)
@@ -1428,7 +1423,6 @@ public:
// Skip over the prefix byte.
where = reinterpret_cast<char*>(where) + 1;
#endif
- ExecutableAllocator::MakeWritable unprotect(where, 1);
*reinterpret_cast<unsigned char*>(where) = static_cast<unsigned char>(OP_LEA);
}
@@ -1476,22 +1470,22 @@ public:
private:
- static void patchPointer(void* where, void* value)
+ static void setPointer(void* where, void* value)
{
reinterpret_cast<void**>(where)[-1] = value;
}
- static void patchInt32(void* where, int32_t value)
+ static void setInt32(void* where, int32_t value)
{
reinterpret_cast<int32_t*>(where)[-1] = value;
}
- static void patchRel32(void* from, void* to)
+ static void setRel32(void* from, void* to)
{
intptr_t offset = reinterpret_cast<intptr_t>(to) - reinterpret_cast<intptr_t>(from);
ASSERT(offset == static_cast<int32_t>(offset));
- patchInt32(from, offset);
+ setInt32(from, offset);
}
class X86InstructionFormatter {
diff --git a/src/3rdparty/webkit/JavaScriptCore/bytecode/CodeBlock.cpp b/src/3rdparty/webkit/JavaScriptCore/bytecode/CodeBlock.cpp
index d777f73..0cb3813 100644
--- a/src/3rdparty/webkit/JavaScriptCore/bytecode/CodeBlock.cpp
+++ b/src/3rdparty/webkit/JavaScriptCore/bytecode/CodeBlock.cpp
@@ -363,15 +363,6 @@ void CodeBlock::dump(ExecState* exec) const
} while (i < m_constantRegisters.size());
}
- if (m_rareData && !m_rareData->m_unexpectedConstants.isEmpty()) {
- printf("\nUnexpected Constants:\n");
- size_t i = 0;
- do {
- printf(" k%u = %s\n", static_cast<unsigned>(i), valueToSourceString(exec, m_rareData->m_unexpectedConstants[i]).ascii());
- ++i;
- } while (i < m_rareData->m_unexpectedConstants.size());
- }
-
if (m_rareData && !m_rareData->m_regexps.isEmpty()) {
printf("\nm_regexps:\n");
size_t i = 0;
@@ -506,12 +497,6 @@ void CodeBlock::dump(ExecState* exec, const Vector<Instruction>::const_iterator&
printf("[%4d] convert_this %s\n", location, registerName(r0).c_str());
break;
}
- case op_unexpected_load: {
- int r0 = (++it)->u.operand;
- int k0 = (++it)->u.operand;
- printf("[%4d] unexpected_load\t %s, %s\n", location, registerName(r0).c_str(), constantName(exec, k0, unexpectedConstant(k0)).c_str());
- break;
- }
case op_new_object: {
int r0 = (++it)->u.operand;
printf("[%4d] new_object\t %s\n", location, registerName(r0).c_str());
@@ -1084,7 +1069,7 @@ void CodeBlock::dump(ExecState* exec, const Vector<Instruction>::const_iterator&
int r0 = (++it)->u.operand;
int errorType = (++it)->u.operand;
int k0 = (++it)->u.operand;
- printf("[%4d] new_error\t %s, %d, %s\n", location, registerName(r0).c_str(), errorType, constantName(exec, k0, unexpectedConstant(k0)).c_str());
+ printf("[%4d] new_error\t %s, %d, %s\n", location, registerName(r0).c_str(), errorType, constantName(exec, k0, getConstant(k0)).c_str());
break;
}
case op_jsr: {
@@ -1142,7 +1127,6 @@ static HashSet<CodeBlock*> liveCodeBlockSet;
#define FOR_EACH_MEMBER_VECTOR_RARE_DATA(macro) \
macro(regexps) \
macro(functions) \
- macro(unexpectedConstants) \
macro(exceptionHandlers) \
macro(immediateSwitchJumpTables) \
macro(characterSwitchJumpTables) \
@@ -1267,7 +1251,6 @@ void CodeBlock::dumpStatistics()
CodeBlock::CodeBlock(ScopeNode* ownerNode)
: m_numCalleeRegisters(0)
- , m_numConstants(0)
, m_numVars(0)
, m_numParameters(0)
, m_ownerNode(ownerNode)
@@ -1290,7 +1273,6 @@ CodeBlock::CodeBlock(ScopeNode* ownerNode)
CodeBlock::CodeBlock(ScopeNode* ownerNode, CodeType codeType, PassRefPtr<SourceProvider> sourceProvider, unsigned sourceOffset)
: m_numCalleeRegisters(0)
- , m_numConstants(0)
, m_numVars(0)
, m_numParameters(0)
, m_ownerNode(ownerNode)
@@ -1337,8 +1319,12 @@ CodeBlock::~CodeBlock()
}
for (size_t size = m_methodCallLinkInfos.size(), i = 0; i < size; ++i) {
- if (Structure* structure = m_methodCallLinkInfos[i].cachedStructure)
+ if (Structure* structure = m_methodCallLinkInfos[i].cachedStructure) {
structure->deref();
+ // Both members must be filled at the same time
+ ASSERT(m_methodCallLinkInfos[i].cachedPrototypeStructure);
+ m_methodCallLinkInfos[i].cachedPrototypeStructure->deref();
+ }
}
unlinkCallers();
@@ -1455,10 +1441,6 @@ void CodeBlock::mark()
for (size_t i = 0; i < m_rareData->m_functions.size(); ++i)
m_rareData->m_functions[i]->body()->mark();
- for (size_t i = 0; i < m_rareData->m_unexpectedConstants.size(); ++i) {
- if (!m_rareData->m_unexpectedConstants[i].marked())
- m_rareData->m_unexpectedConstants[i].mark();
- }
m_rareData->m_evalCodeCache.mark();
}
}
@@ -1757,7 +1739,6 @@ void CodeBlock::shrinkToFit()
if (m_rareData) {
m_rareData->m_exceptionHandlers.shrinkToFit();
m_rareData->m_functions.shrinkToFit();
- m_rareData->m_unexpectedConstants.shrinkToFit();
m_rareData->m_regexps.shrinkToFit();
m_rareData->m_immediateSwitchJumpTables.shrinkToFit();
m_rareData->m_characterSwitchJumpTables.shrinkToFit();
diff --git a/src/3rdparty/webkit/JavaScriptCore/bytecode/CodeBlock.h b/src/3rdparty/webkit/JavaScriptCore/bytecode/CodeBlock.h
index afd32f0..e9f2697 100644
--- a/src/3rdparty/webkit/JavaScriptCore/bytecode/CodeBlock.h
+++ b/src/3rdparty/webkit/JavaScriptCore/bytecode/CodeBlock.h
@@ -46,6 +46,12 @@
#include "StructureStubInfo.h"
#endif
+// Register numbers used in bytecode operations have different meaning accoring to their ranges:
+// 0x80000000-0xFFFFFFFF Negative indicies from the CallFrame pointer are entries in the call frame, see RegisterFile.h.
+// 0x00000000-0x3FFFFFFF Forwards indices from the CallFrame pointer are local vars and temporaries with the function's callframe.
+// 0x40000000-0x7FFFFFFF Positive indices from 0x40000000 specify entries in the constant pool on the CodeBlock.
+static const int FirstConstantRegisterIndex = 0x40000000;
+
namespace JSC {
class ExecState;
@@ -99,6 +105,7 @@ namespace JSC {
CodeLocationNearCall callReturnLocation;
CodeLocationDataLabelPtr hotPathBegin;
CodeLocationNearCall hotPathOther;
+ CodeBlock* ownerCodeBlock;
CodeBlock* callee;
unsigned position;
@@ -109,12 +116,14 @@ namespace JSC {
struct MethodCallLinkInfo {
MethodCallLinkInfo()
: cachedStructure(0)
+ , cachedPrototypeStructure(0)
{
}
CodeLocationCall callReturnLocation;
CodeLocationDataLabelPtr structureLabel;
Structure* cachedStructure;
+ Structure* cachedPrototypeStructure;
};
struct FunctionRegisterInfo {
@@ -215,7 +224,7 @@ namespace JSC {
}
#endif
- class CodeBlock : public WTF::FastAllocBase {
+ class CodeBlock : public FastAllocBase {
friend class JIT;
public:
CodeBlock(ScopeNode* ownerNode);
@@ -248,19 +257,9 @@ namespace JSC {
return false;
}
- ALWAYS_INLINE bool isConstantRegisterIndex(int index)
- {
- return index >= m_numVars && index < m_numVars + m_numConstants;
- }
-
- ALWAYS_INLINE JSValue getConstant(int index)
- {
- return m_constantRegisters[index - m_numVars].jsValue();
- }
-
ALWAYS_INLINE bool isTemporaryRegisterIndex(int index)
{
- return index >= m_numVars + m_numConstants;
+ return index >= m_numVars;
}
HandlerInfo* handlerForBytecodeOffset(unsigned bytecodeOffset);
@@ -321,6 +320,7 @@ namespace JSC {
#endif
#if ENABLE(JIT)
+ JITCode& getJITCode() { return ownerNode()->generatedJITCode(); }
void setJITCode(JITCode);
ExecutablePool* executablePool() { return ownerNode()->getExecutablePool(); }
#endif
@@ -400,7 +400,9 @@ namespace JSC {
size_t numberOfConstantRegisters() const { return m_constantRegisters.size(); }
void addConstantRegister(const Register& r) { return m_constantRegisters.append(r); }
- Register& constantRegister(int index) { return m_constantRegisters[index]; }
+ Register& constantRegister(int index) { return m_constantRegisters[index - FirstConstantRegisterIndex]; }
+ ALWAYS_INLINE bool isConstantRegisterIndex(int index) { return index >= FirstConstantRegisterIndex; }
+ ALWAYS_INLINE JSValue getConstant(int index) const { return m_constantRegisters[index - FirstConstantRegisterIndex].jsValue(); }
unsigned addFunctionExpression(FuncExprNode* n) { unsigned size = m_functionExpressions.size(); m_functionExpressions.append(n); return size; }
FuncExprNode* functionExpression(int index) const { return m_functionExpressions[index].get(); }
@@ -410,9 +412,6 @@ namespace JSC {
bool hasFunctions() const { return m_functionExpressions.size() || (m_rareData && m_rareData->m_functions.size()); }
- unsigned addUnexpectedConstant(JSValue v) { createRareDataIfNecessary(); unsigned size = m_rareData->m_unexpectedConstants.size(); m_rareData->m_unexpectedConstants.append(v); return size; }
- JSValue unexpectedConstant(int index) const { ASSERT(m_rareData); return m_rareData->m_unexpectedConstants[index]; }
-
unsigned addRegExp(RegExp* r) { createRareDataIfNecessary(); unsigned size = m_rareData->m_regexps.size(); m_rareData->m_regexps.append(r); return size; }
RegExp* regexp(int index) const { ASSERT(m_rareData); return m_rareData->m_regexps[index].get(); }
@@ -441,11 +440,6 @@ namespace JSC {
// FIXME: Make these remaining members private.
int m_numCalleeRegisters;
- // NOTE: numConstants holds the number of constant registers allocated
- // by the code generator, not the number of constant registers used.
- // (Duplicate constants are uniqued during code generation, and spare
- // constant registers may be allocated.)
- int m_numConstants;
int m_numVars;
int m_numParameters;
@@ -503,7 +497,7 @@ namespace JSC {
SymbolTable m_symbolTable;
- struct ExceptionInfo {
+ struct ExceptionInfo : FastAllocBase {
Vector<ExpressionRangeInfo> m_expressionInfo;
Vector<LineInfo> m_lineInfo;
Vector<GetByIdExceptionInfo> m_getByIdExceptionInfo;
@@ -514,12 +508,11 @@ namespace JSC {
};
OwnPtr<ExceptionInfo> m_exceptionInfo;
- struct RareData {
+ struct RareData : FastAllocBase {
Vector<HandlerInfo> m_exceptionHandlers;
// Rare Constants
Vector<RefPtr<FuncDeclNode> > m_functions;
- Vector<JSValue> m_unexpectedConstants;
Vector<RefPtr<RegExp> > m_regexps;
// Jump Tables
@@ -574,6 +567,14 @@ namespace JSC {
int m_baseScopeDepth;
};
+ inline Register& ExecState::r(int index)
+ {
+ CodeBlock* codeBlock = this->codeBlock();
+ if (codeBlock->isConstantRegisterIndex(index))
+ return codeBlock->constantRegister(index);
+ return this[index];
+ }
+
} // namespace JSC
#endif // CodeBlock_h
diff --git a/src/3rdparty/webkit/JavaScriptCore/bytecode/Opcode.h b/src/3rdparty/webkit/JavaScriptCore/bytecode/Opcode.h
index f4421df..2d1ca98 100644
--- a/src/3rdparty/webkit/JavaScriptCore/bytecode/Opcode.h
+++ b/src/3rdparty/webkit/JavaScriptCore/bytecode/Opcode.h
@@ -44,7 +44,6 @@ namespace JSC {
macro(op_create_arguments, 1) \
macro(op_convert_this, 2) \
\
- macro(op_unexpected_load, 3) \
macro(op_new_object, 2) \
macro(op_new_array, 4) \
macro(op_new_regexp, 3) \
@@ -182,7 +181,7 @@ namespace JSC {
#define OPCODE_ID_LENGTHS(id, length) const int id##_length = length;
FOR_EACH_OPCODE_ID(OPCODE_ID_LENGTHS);
- #undef OPCODE_ID_SIZES
+ #undef OPCODE_ID_LENGTHS
#define OPCODE_LENGTH(opcode) opcode##_length
diff --git a/src/3rdparty/webkit/JavaScriptCore/bytecode/SamplingTool.h b/src/3rdparty/webkit/JavaScriptCore/bytecode/SamplingTool.h
index 7d7dc9c..fa95603 100644
--- a/src/3rdparty/webkit/JavaScriptCore/bytecode/SamplingTool.h
+++ b/src/3rdparty/webkit/JavaScriptCore/bytecode/SamplingTool.h
@@ -140,7 +140,7 @@ namespace JSC {
friend class HostCallRecord;
#if ENABLE(OPCODE_SAMPLING)
- class CallRecord : Noncopyable {
+ class CallRecord : public Noncopyable {
public:
CallRecord(SamplingTool* samplingTool)
: m_samplingTool(samplingTool)
@@ -170,7 +170,7 @@ namespace JSC {
}
};
#else
- class CallRecord : Noncopyable {
+ class CallRecord : public Noncopyable {
public:
CallRecord(SamplingTool*)
{
diff --git a/src/3rdparty/webkit/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp b/src/3rdparty/webkit/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp
index 7feb3c8..15261ee 100644
--- a/src/3rdparty/webkit/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp
+++ b/src/3rdparty/webkit/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp
@@ -196,17 +196,10 @@ bool BytecodeGenerator::addGlobalVar(const Identifier& ident, bool isConstant, R
return result.second;
}
-void BytecodeGenerator::allocateConstants(size_t count)
+void BytecodeGenerator::preserveLastVar()
{
- m_codeBlock->m_numConstants = count;
- if (!count)
- return;
-
- m_nextConstantIndex = m_calleeRegisters.size();
-
- for (size_t i = 0; i < count; ++i)
- newRegister();
- m_lastConstant = &m_calleeRegisters.last();
+ if ((m_firstConstantIndex = m_calleeRegisters.size()) != 0)
+ m_lastVar = &m_calleeRegisters.last();
}
BytecodeGenerator::BytecodeGenerator(ProgramNode* programNode, const Debugger* debugger, const ScopeChain& scopeChain, SymbolTable* symbolTable, ProgramCodeBlock* codeBlock)
@@ -222,6 +215,7 @@ BytecodeGenerator::BytecodeGenerator(ProgramNode* programNode, const Debugger* d
, m_baseScopeDepth(0)
, m_codeType(GlobalCode)
, m_nextGlobalIndex(-1)
+ , m_nextConstantOffset(0)
, m_globalConstantIndex(0)
, m_globalData(&scopeChain.globalObject()->globalExec()->globalData())
, m_lastOpcodeID(op_end)
@@ -272,7 +266,7 @@ BytecodeGenerator::BytecodeGenerator(ProgramNode* programNode, const Debugger* d
if (!globalObject->hasProperty(exec, varStack[i].first))
newVars.append(addGlobalVar(varStack[i].first, varStack[i].second & DeclarationStacks::IsConstant));
- allocateConstants(programNode->neededConstants());
+ preserveLastVar();
for (size_t i = 0; i < newVars.size(); ++i)
emitLoad(newVars[i], jsUndefined());
@@ -290,7 +284,7 @@ BytecodeGenerator::BytecodeGenerator(ProgramNode* programNode, const Debugger* d
globalObject->putWithAttributes(exec, varStack[i].first, jsUndefined(), attributes);
}
- allocateConstants(programNode->neededConstants());
+ preserveLastVar();
}
}
@@ -305,6 +299,7 @@ BytecodeGenerator::BytecodeGenerator(FunctionBodyNode* functionBody, const Debug
, m_dynamicScopeDepth(0)
, m_baseScopeDepth(0)
, m_codeType(FunctionCode)
+ , m_nextConstantOffset(0)
, m_globalConstantIndex(0)
, m_globalData(&scopeChain.globalObject()->globalExec()->globalData())
, m_lastOpcodeID(op_end)
@@ -372,7 +367,7 @@ BytecodeGenerator::BytecodeGenerator(FunctionBodyNode* functionBody, const Debug
for (size_t i = 0; i < parameterCount; ++i)
addParameter(parameters[i]);
- allocateConstants(functionBody->neededConstants());
+ preserveLastVar();
}
BytecodeGenerator::BytecodeGenerator(EvalNode* evalNode, const Debugger* debugger, const ScopeChain& scopeChain, SymbolTable* symbolTable, EvalCodeBlock* codeBlock)
@@ -387,6 +382,7 @@ BytecodeGenerator::BytecodeGenerator(EvalNode* evalNode, const Debugger* debugge
, m_dynamicScopeDepth(0)
, m_baseScopeDepth(codeBlock->baseScopeDepth())
, m_codeType(EvalCode)
+ , m_nextConstantOffset(0)
, m_globalConstantIndex(0)
, m_globalData(&scopeChain.globalObject()->globalExec()->globalData())
, m_lastOpcodeID(op_end)
@@ -401,7 +397,7 @@ BytecodeGenerator::BytecodeGenerator(EvalNode* evalNode, const Debugger* debugge
codeBlock->setGlobalData(m_globalData);
m_codeBlock->m_numParameters = 1; // Allocate space for "this"
- allocateConstants(evalNode->neededConstants());
+ preserveLastVar();
}
RegisterID* BytecodeGenerator::addParameter(const Identifier& ident)
@@ -525,7 +521,7 @@ PassRefPtr<LabelScope> BytecodeGenerator::newLabelScope(LabelScope::Type type, c
m_labelScopes.removeLast();
// Allocate new label scope.
- LabelScope scope(type, name, scopeDepth(), newLabel(), type == LabelScope::Loop ? newLabel() : 0); // Only loops have continue targets.
+ LabelScope scope(type, name, scopeDepth(), newLabel(), type == LabelScope::Loop ? newLabel() : PassRefPtr<Label>()); // Only loops have continue targets.
m_labelScopes.append(scope);
return &m_labelScopes.last();
}
@@ -791,34 +787,19 @@ unsigned BytecodeGenerator::addConstant(const Identifier& ident)
return result.first->second;
}
-RegisterID* BytecodeGenerator::addConstant(JSValue v)
+RegisterID* BytecodeGenerator::addConstantValue(JSValue v)
{
- pair<JSValueMap::iterator, bool> result = m_jsValueMap.add(JSValue::encode(v), m_nextConstantIndex);
- if (result.second) {
- RegisterID& constant = m_calleeRegisters[m_nextConstantIndex];
-
- ++m_nextConstantIndex;
+ int index = m_nextConstantOffset;
+ pair<JSValueMap::iterator, bool> result = m_jsValueMap.add(JSValue::encode(v), m_nextConstantOffset);
+ if (result.second) {
+ m_constantPoolRegisters.append(FirstConstantRegisterIndex + m_nextConstantOffset);
+ ++m_nextConstantOffset;
m_codeBlock->addConstantRegister(JSValue(v));
- return &constant;
- }
+ } else
+ index = result.first->second;
- return &registerFor(result.first->second);
-}
-
-unsigned BytecodeGenerator::addUnexpectedConstant(JSValue v)
-{
- return m_codeBlock->addUnexpectedConstant(v);
-}
-
-RegisterID* BytecodeGenerator::emitLoadGlobalObject(RegisterID* dst, JSObject* globalObject)
-{
- if (!m_globalConstantIndex)
- m_globalConstantIndex = m_codeBlock->addUnexpectedConstant(globalObject);
- emitOpcode(op_unexpected_load);
- instructions().append(dst->index());
- instructions().append(m_globalConstantIndex);
- return dst;
+ return &m_constantPoolRegisters[index];
}
unsigned BytecodeGenerator::addRegExp(RegExp* r)
@@ -898,8 +879,8 @@ RegisterID* BytecodeGenerator::emitEqualityOp(OpcodeID opcodeID, RegisterID* dst
if (src1->index() == dstIndex
&& src1->isTemporary()
&& m_codeBlock->isConstantRegisterIndex(src2->index())
- && m_codeBlock->constantRegister(src2->index() - m_codeBlock->m_numVars).jsValue().isString()) {
- const UString& value = asString(m_codeBlock->constantRegister(src2->index() - m_codeBlock->m_numVars).jsValue())->value();
+ && m_codeBlock->constantRegister(src2->index()).jsValue().isString()) {
+ const UString& value = asString(m_codeBlock->constantRegister(src2->index()).jsValue())->value();
if (value == "undefined") {
rewindUnaryOp();
emitOpcode(op_is_undefined);
@@ -979,28 +960,12 @@ RegisterID* BytecodeGenerator::emitLoad(RegisterID* dst, const Identifier& ident
RegisterID* BytecodeGenerator::emitLoad(RegisterID* dst, JSValue v)
{
- RegisterID* constantID = addConstant(v);
+ RegisterID* constantID = addConstantValue(v);
if (dst)
return emitMove(dst, constantID);
return constantID;
}
-RegisterID* BytecodeGenerator::emitUnexpectedLoad(RegisterID* dst, bool b)
-{
- emitOpcode(op_unexpected_load);
- instructions().append(dst->index());
- instructions().append(addUnexpectedConstant(jsBoolean(b)));
- return dst;
-}
-
-RegisterID* BytecodeGenerator::emitUnexpectedLoad(RegisterID* dst, double d)
-{
- emitOpcode(op_unexpected_load);
- instructions().append(dst->index());
- instructions().append(addUnexpectedConstant(jsNumber(globalData(), d)));
- return dst;
-}
-
bool BytecodeGenerator::findScopedProperty(const Identifier& property, int& index, size_t& stackDepth, bool forWriting, JSObject*& globalObject)
{
// Cases where we cannot statically optimize the lookup.
@@ -1169,7 +1134,7 @@ RegisterID* BytecodeGenerator::emitResolveBase(RegisterID* dst, const Identifier
}
// Global object is the base
- return emitLoadGlobalObject(dst, globalObject);
+ return emitLoad(dst, JSValue(globalObject));
}
RegisterID* BytecodeGenerator::emitResolveWithBase(RegisterID* baseDst, RegisterID* propDst, const Identifier& property)
@@ -1196,7 +1161,7 @@ RegisterID* BytecodeGenerator::emitResolveWithBase(RegisterID* baseDst, Register
}
// Global object is the base
- emitLoadGlobalObject(baseDst, globalObject);
+ emitLoad(baseDst, JSValue(globalObject));
if (index != missingSymbolMarker() && !forceGlobalResolve) {
// Directly index the property lookup across multiple scopes.
@@ -1831,7 +1796,7 @@ RegisterID* BytecodeGenerator::emitNewError(RegisterID* dst, ErrorType type, JSV
emitOpcode(op_new_error);
instructions().append(dst->index());
instructions().append(static_cast<int>(type));
- instructions().append(addUnexpectedConstant(message));
+ instructions().append(addConstantValue(message)->index());
return dst;
}
diff --git a/src/3rdparty/webkit/JavaScriptCore/bytecompiler/BytecodeGenerator.h b/src/3rdparty/webkit/JavaScriptCore/bytecompiler/BytecodeGenerator.h
index d29a24d..54d0289 100644
--- a/src/3rdparty/webkit/JavaScriptCore/bytecompiler/BytecodeGenerator.h
+++ b/src/3rdparty/webkit/JavaScriptCore/bytecompiler/BytecodeGenerator.h
@@ -245,9 +245,6 @@ namespace JSC {
RegisterID* emitLoad(RegisterID* dst, double);
RegisterID* emitLoad(RegisterID* dst, const Identifier&);
RegisterID* emitLoad(RegisterID* dst, JSValue);
- RegisterID* emitUnexpectedLoad(RegisterID* dst, bool);
- RegisterID* emitUnexpectedLoad(RegisterID* dst, double);
- RegisterID* emitLoadGlobalObject(RegisterID* dst, JSObject* globalObject);
RegisterID* emitUnaryOp(OpcodeID, RegisterID* dst, RegisterID* src);
RegisterID* emitBinaryOp(OpcodeID, RegisterID* dst, RegisterID* src1, RegisterID* src2, OperandTypes);
@@ -399,7 +396,7 @@ namespace JSC {
RegisterID* addParameter(const Identifier&);
- void allocateConstants(size_t);
+ void preserveLastVar();
RegisterID& registerFor(int index)
{
@@ -420,8 +417,7 @@ namespace JSC {
unsigned addConstant(FuncDeclNode*);
unsigned addConstant(FuncExprNode*);
unsigned addConstant(const Identifier&);
- RegisterID* addConstant(JSValue);
- unsigned addUnexpectedConstant(JSValue);
+ RegisterID* addConstantValue(JSValue);
unsigned addRegExp(RegExp*);
Vector<Instruction>& instructions() { return m_codeBlock->instructions(); }
@@ -450,12 +446,13 @@ namespace JSC {
RegisterID m_thisRegister;
RegisterID m_argumentsRegister;
int m_activationRegisterIndex;
+ WTF::SegmentedVector<RegisterID, 32> m_constantPoolRegisters;
WTF::SegmentedVector<RegisterID, 32> m_calleeRegisters;
WTF::SegmentedVector<RegisterID, 32> m_parameters;
WTF::SegmentedVector<RegisterID, 32> m_globals;
WTF::SegmentedVector<Label, 32> m_labels;
WTF::SegmentedVector<LabelScope, 8> m_labelScopes;
- RefPtr<RegisterID> m_lastConstant;
+ RefPtr<RegisterID> m_lastVar;
int m_finallyDepth;
int m_dynamicScopeDepth;
int m_baseScopeDepth;
@@ -466,7 +463,8 @@ namespace JSC {
int m_nextGlobalIndex;
int m_nextParameterIndex;
- int m_nextConstantIndex;
+ int m_firstConstantIndex;
+ int m_nextConstantOffset;
unsigned m_globalConstantIndex;
int m_globalVarStorageOffset;
diff --git a/src/3rdparty/webkit/JavaScriptCore/bytecompiler/RegisterID.h b/src/3rdparty/webkit/JavaScriptCore/bytecompiler/RegisterID.h
index 0223c2a..3532ad8 100644
--- a/src/3rdparty/webkit/JavaScriptCore/bytecompiler/RegisterID.h
+++ b/src/3rdparty/webkit/JavaScriptCore/bytecompiler/RegisterID.h
@@ -35,7 +35,7 @@
namespace JSC {
- class RegisterID : Noncopyable {
+ class RegisterID : public Noncopyable {
public:
RegisterID()
: m_refCount(0)
diff --git a/src/3rdparty/webkit/JavaScriptCore/create_hash_table b/src/3rdparty/webkit/JavaScriptCore/create_hash_table
index 25d0b02..4184500 100755
--- a/src/3rdparty/webkit/JavaScriptCore/create_hash_table
+++ b/src/3rdparty/webkit/JavaScriptCore/create_hash_table
@@ -268,7 +268,7 @@ sub output() {
}
print " { 0, 0, 0, 0 }\n";
print "};\n\n";
- print "extern const struct HashTable $name =\n";
+ print "extern JSC_CONST_HASHTABLE HashTable $name =\n";
print " \{ $compactSize, $compactHashSizeMask, $nameEntries, 0 \};\n";
print "} // namespace\n";
}
diff --git a/src/3rdparty/webkit/JavaScriptCore/debugger/Debugger.h b/src/3rdparty/webkit/JavaScriptCore/debugger/Debugger.h
index 868ea71..98d0935 100644
--- a/src/3rdparty/webkit/JavaScriptCore/debugger/Debugger.h
+++ b/src/3rdparty/webkit/JavaScriptCore/debugger/Debugger.h
@@ -38,7 +38,7 @@ namespace JSC {
virtual ~Debugger();
void attach(JSGlobalObject*);
- void detach(JSGlobalObject*);
+ virtual void detach(JSGlobalObject*);
virtual void sourceParsed(ExecState*, const SourceCode&, int errorLine, const UString& errorMsg) = 0;
virtual void exception(const DebuggerCallFrame&, intptr_t sourceID, int lineno) = 0;
diff --git a/src/3rdparty/webkit/JavaScriptCore/generated/ArrayPrototype.lut.h b/src/3rdparty/webkit/JavaScriptCore/generated/ArrayPrototype.lut.h
index 2a7c98f..5732add 100644
--- a/src/3rdparty/webkit/JavaScriptCore/generated/ArrayPrototype.lut.h
+++ b/src/3rdparty/webkit/JavaScriptCore/generated/ArrayPrototype.lut.h
@@ -29,6 +29,6 @@ static const struct HashTableValue arrayTableValues[22] = {
{ 0, 0, 0, 0 }
};
-extern const struct HashTable arrayTable =
+extern JSC_CONST_HASHTABLE HashTable arrayTable =
{ 65, 63, arrayTableValues, 0 };
} // namespace
diff --git a/src/3rdparty/webkit/JavaScriptCore/generated/DatePrototype.lut.h b/src/3rdparty/webkit/JavaScriptCore/generated/DatePrototype.lut.h
index 1f43d4d..8b1c735 100644
--- a/src/3rdparty/webkit/JavaScriptCore/generated/DatePrototype.lut.h
+++ b/src/3rdparty/webkit/JavaScriptCore/generated/DatePrototype.lut.h
@@ -54,6 +54,6 @@ static const struct HashTableValue dateTableValues[47] = {
{ 0, 0, 0, 0 }
};
-extern const struct HashTable dateTable =
+extern JSC_CONST_HASHTABLE HashTable dateTable =
{ 134, 127, dateTableValues, 0 };
} // namespace
diff --git a/src/3rdparty/webkit/JavaScriptCore/generated/Grammar.cpp b/src/3rdparty/webkit/JavaScriptCore/generated/Grammar.cpp
index 8e80eca..94b9654 100644
--- a/src/3rdparty/webkit/JavaScriptCore/generated/Grammar.cpp
+++ b/src/3rdparty/webkit/JavaScriptCore/generated/Grammar.cpp
@@ -1,24 +1,23 @@
-/* A Bison parser, made by GNU Bison 2.3. */
-/* Skeleton implementation for Bison's Yacc-like parsers in C
+/* A Bison parser, made by GNU Bison 2.4.1. */
- Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
+/* Skeleton implementation for Bison's Yacc-like parsers in C
+
+ Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
Free Software Foundation, Inc.
-
- This program is free software; you can redistribute it and/or modify
+
+ This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2, or (at your option)
- any later version.
-
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
-
+
You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 51 Franklin Street, Fifth Floor,
- Boston, MA 02110-1301, USA. */
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
/* As a special exception, you may create a larger work that contains
part or all of the Bison parser skeleton and distribute that work
@@ -29,7 +28,7 @@
special exception, which will cause the skeleton and the resulting
Bison output files to be licensed under the GNU General Public
License without this special exception.
-
+
This special exception was added by the Free Software Foundation in
version 2.2 of Bison. */
@@ -47,7 +46,7 @@
#define YYBISON 1
/* Bison version. */
-#define YYBISON_VERSION "2.3"
+#define YYBISON_VERSION "2.4.1"
/* Skeleton name. */
#define YYSKELETON_NAME "yacc.c"
@@ -55,159 +54,28 @@
/* Pure parsers. */
#define YYPURE 1
+/* Push parsers. */
+#define YYPUSH 0
+
+/* Pull parsers. */
+#define YYPULL 1
+
/* Using locations. */
#define YYLSP_NEEDED 1
/* Substitute the variable and function names. */
-#define yyparse jscyyparse
-#define yylex jscyylex
-#define yyerror jscyyerror
-#define yylval jscyylval
-#define yychar jscyychar
-#define yydebug jscyydebug
-#define yynerrs jscyynerrs
-#define yylloc jscyylloc
-
-/* Tokens. */
-#ifndef YYTOKENTYPE
-# define YYTOKENTYPE
- /* Put the tokens into the symbol table, so that GDB and other debuggers
- know about them. */
- enum yytokentype {
- NULLTOKEN = 258,
- TRUETOKEN = 259,
- FALSETOKEN = 260,
- BREAK = 261,
- CASE = 262,
- DEFAULT = 263,
- FOR = 264,
- NEW = 265,
- VAR = 266,
- CONSTTOKEN = 267,
- CONTINUE = 268,
- FUNCTION = 269,
- RETURN = 270,
- VOIDTOKEN = 271,
- DELETETOKEN = 272,
- IF = 273,
- THISTOKEN = 274,
- DO = 275,
- WHILE = 276,
- INTOKEN = 277,
- INSTANCEOF = 278,
- TYPEOF = 279,
- SWITCH = 280,
- WITH = 281,
- RESERVED = 282,
- THROW = 283,
- TRY = 284,
- CATCH = 285,
- FINALLY = 286,
- DEBUGGER = 287,
- IF_WITHOUT_ELSE = 288,
- ELSE = 289,
- EQEQ = 290,
- NE = 291,
- STREQ = 292,
- STRNEQ = 293,
- LE = 294,
- GE = 295,
- OR = 296,
- AND = 297,
- PLUSPLUS = 298,
- MINUSMINUS = 299,
- LSHIFT = 300,
- RSHIFT = 301,
- URSHIFT = 302,
- PLUSEQUAL = 303,
- MINUSEQUAL = 304,
- MULTEQUAL = 305,
- DIVEQUAL = 306,
- LSHIFTEQUAL = 307,
- RSHIFTEQUAL = 308,
- URSHIFTEQUAL = 309,
- ANDEQUAL = 310,
- MODEQUAL = 311,
- XOREQUAL = 312,
- OREQUAL = 313,
- OPENBRACE = 314,
- CLOSEBRACE = 315,
- NUMBER = 316,
- IDENT = 317,
- STRING = 318,
- AUTOPLUSPLUS = 319,
- AUTOMINUSMINUS = 320
- };
-#endif
-/* Tokens. */
-#define NULLTOKEN 258
-#define TRUETOKEN 259
-#define FALSETOKEN 260
-#define BREAK 261
-#define CASE 262
-#define DEFAULT 263
-#define FOR 264
-#define NEW 265
-#define VAR 266
-#define CONSTTOKEN 267
-#define CONTINUE 268
-#define FUNCTION 269
-#define RETURN 270
-#define VOIDTOKEN 271
-#define DELETETOKEN 272
-#define IF 273
-#define THISTOKEN 274
-#define DO 275
-#define WHILE 276
-#define INTOKEN 277
-#define INSTANCEOF 278
-#define TYPEOF 279
-#define SWITCH 280
-#define WITH 281
-#define RESERVED 282
-#define THROW 283
-#define TRY 284
-#define CATCH 285
-#define FINALLY 286
-#define DEBUGGER 287
-#define IF_WITHOUT_ELSE 288
-#define ELSE 289
-#define EQEQ 290
-#define NE 291
-#define STREQ 292
-#define STRNEQ 293
-#define LE 294
-#define GE 295
-#define OR 296
-#define AND 297
-#define PLUSPLUS 298
-#define MINUSMINUS 299
-#define LSHIFT 300
-#define RSHIFT 301
-#define URSHIFT 302
-#define PLUSEQUAL 303
-#define MINUSEQUAL 304
-#define MULTEQUAL 305
-#define DIVEQUAL 306
-#define LSHIFTEQUAL 307
-#define RSHIFTEQUAL 308
-#define URSHIFTEQUAL 309
-#define ANDEQUAL 310
-#define MODEQUAL 311
-#define XOREQUAL 312
-#define OREQUAL 313
-#define OPENBRACE 314
-#define CLOSEBRACE 315
-#define NUMBER 316
-#define IDENT 317
-#define STRING 318
-#define AUTOPLUSPLUS 319
-#define AUTOMINUSMINUS 320
-
-
-
+#define yyparse jscyyparse
+#define yylex jscyylex
+#define yyerror jscyyerror
+#define yylval jscyylval
+#define yychar jscyychar
+#define yydebug jscyydebug
+#define yynerrs jscyynerrs
+#define yylloc jscyylloc
/* Copy the first part of user declarations. */
+
+/* Line 189 of yacc.c */
#line 3 "../parser/Grammar.y"
@@ -245,8 +113,12 @@
#include "CommonIdentifiers.h"
#include "NodeInfo.h"
#include "Parser.h"
+#include <wtf/FastMalloc.h>
#include <wtf/MathExtras.h>
+#define YYMALLOC fastMalloc
+#define YYFREE fastFree
+
#define YYMAXDEPTH 10000
#define YYENABLE_NLS 0
@@ -297,12 +169,6 @@ static ExpressionNode* combineCommaNodes(void*, ExpressionNode* list, Expression
#pragma warning(disable: 4244)
#pragma warning(disable: 4702)
-// At least some of the time, the declarations of malloc and free that bison
-// generates are causing warnings. A way to avoid this is to explicitly define
-// the macros so that bison doesn't try to declare malloc and free.
-#define YYMALLOC malloc
-#define YYFREE free
-
#endif
#define YYPARSE_PARAM globalPtr
@@ -363,6 +229,9 @@ static inline void appendToVarDeclarationList(void* globalPtr, ParserArenaData<D
+/* Line 189 of yacc.c */
+#line 234 "JavaScriptCore/tmp/../generated/Grammar.tab.c"
+
/* Enabling traces. */
#ifndef YYDEBUG
# define YYDEBUG 0
@@ -381,10 +250,88 @@ static inline void appendToVarDeclarationList(void* globalPtr, ParserArenaData<D
# define YYTOKEN_TABLE 0
#endif
+
+/* Tokens. */
+#ifndef YYTOKENTYPE
+# define YYTOKENTYPE
+ /* Put the tokens into the symbol table, so that GDB and other debuggers
+ know about them. */
+ enum yytokentype {
+ NULLTOKEN = 258,
+ TRUETOKEN = 259,
+ FALSETOKEN = 260,
+ BREAK = 261,
+ CASE = 262,
+ DEFAULT = 263,
+ FOR = 264,
+ NEW = 265,
+ VAR = 266,
+ CONSTTOKEN = 267,
+ CONTINUE = 268,
+ FUNCTION = 269,
+ RETURN = 270,
+ VOIDTOKEN = 271,
+ DELETETOKEN = 272,
+ IF = 273,
+ THISTOKEN = 274,
+ DO = 275,
+ WHILE = 276,
+ INTOKEN = 277,
+ INSTANCEOF = 278,
+ TYPEOF = 279,
+ SWITCH = 280,
+ WITH = 281,
+ RESERVED = 282,
+ THROW = 283,
+ TRY = 284,
+ CATCH = 285,
+ FINALLY = 286,
+ DEBUGGER = 287,
+ IF_WITHOUT_ELSE = 288,
+ ELSE = 289,
+ EQEQ = 290,
+ NE = 291,
+ STREQ = 292,
+ STRNEQ = 293,
+ LE = 294,
+ GE = 295,
+ OR = 296,
+ AND = 297,
+ PLUSPLUS = 298,
+ MINUSMINUS = 299,
+ LSHIFT = 300,
+ RSHIFT = 301,
+ URSHIFT = 302,
+ PLUSEQUAL = 303,
+ MINUSEQUAL = 304,
+ MULTEQUAL = 305,
+ DIVEQUAL = 306,
+ LSHIFTEQUAL = 307,
+ RSHIFTEQUAL = 308,
+ URSHIFTEQUAL = 309,
+ ANDEQUAL = 310,
+ MODEQUAL = 311,
+ XOREQUAL = 312,
+ OREQUAL = 313,
+ OPENBRACE = 314,
+ CLOSEBRACE = 315,
+ NUMBER = 316,
+ IDENT = 317,
+ STRING = 318,
+ AUTOPLUSPLUS = 319,
+ AUTOMINUSMINUS = 320
+ };
+#endif
+
+
+
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
typedef union YYSTYPE
-#line 157 "../parser/Grammar.y"
{
+
+/* Line 214 of yacc.c */
+#line 155 "../parser/Grammar.y"
+
int intValue;
double doubleValue;
Identifier* ident;
@@ -414,13 +361,15 @@ typedef union YYSTYPE
ParameterListInfo parameterList;
Operator op;
-}
-/* Line 187 of yacc.c. */
-#line 420 "JavaScriptCore/tmp/../generated/Grammar.tab.c"
- YYSTYPE;
+
+
+
+/* Line 214 of yacc.c */
+#line 369 "JavaScriptCore/tmp/../generated/Grammar.tab.c"
+} YYSTYPE;
+# define YYSTYPE_IS_TRIVIAL 1
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
-# define YYSTYPE_IS_TRIVIAL 1
#endif
#if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED
@@ -440,8 +389,8 @@ typedef struct YYLTYPE
/* Copy the second part of user declarations. */
-/* Line 216 of yacc.c. */
-#line 445 "JavaScriptCore/tmp/../generated/Grammar.tab.c"
+/* Line 264 of yacc.c */
+#line 394 "JavaScriptCore/tmp/../generated/Grammar.tab.c"
#ifdef short
# undef short
@@ -516,14 +465,14 @@ typedef short int yytype_int16;
#if (defined __STDC__ || defined __C99__FUNC__ \
|| defined __cplusplus || defined _MSC_VER)
static int
-YYID (int i)
+YYID (int yyi)
#else
static int
-YYID (i)
- int i;
+YYID (yyi)
+ int yyi;
#endif
{
- return i;
+ return yyi;
}
#endif
@@ -605,9 +554,9 @@ void free (void *); /* INFRINGES ON USER NAME SPACE */
/* A type that is properly aligned for any stack member. */
union yyalloc
{
- yytype_int16 yyss;
- YYSTYPE yyvs;
- YYLTYPE yyls;
+ yytype_int16 yyss_alloc;
+ YYSTYPE yyvs_alloc;
+ YYLTYPE yyls_alloc;
};
/* The size of the maximum gap between one aligned stack and the next. */
@@ -642,12 +591,12 @@ union yyalloc
elements in the stack, and YYPTR gives the new location of the
stack. Advance YYPTR to a properly aligned location for the next
stack. */
-# define YYSTACK_RELOCATE(Stack) \
+# define YYSTACK_RELOCATE(Stack_alloc, Stack) \
do \
{ \
YYSIZE_T yynewbytes; \
- YYCOPY (&yyptr->Stack, Stack, yysize); \
- Stack = &yyptr->Stack; \
+ YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
+ Stack = &yyptr->Stack_alloc; \
yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
yyptr += yynewbytes / sizeof (*yyptr); \
} \
@@ -995,66 +944,66 @@ static const yytype_int16 yyrhs[] =
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
static const yytype_uint16 yyrline[] =
{
- 0, 290, 290, 291, 292, 293, 294, 295, 304, 316,
- 317, 318, 319, 320, 332, 336, 343, 344, 345, 347,
- 351, 352, 353, 354, 355, 359, 360, 361, 365, 369,
- 377, 378, 382, 383, 387, 388, 389, 393, 397, 404,
- 405, 409, 413, 420, 421, 428, 429, 436, 437, 438,
- 442, 448, 449, 450, 454, 461, 462, 466, 470, 477,
- 478, 482, 483, 487, 488, 489, 493, 494, 495, 499,
- 500, 501, 502, 503, 504, 505, 506, 507, 508, 509,
- 512, 513, 517, 518, 522, 523, 524, 525, 529, 530,
- 532, 534, 539, 540, 541, 545, 546, 548, 553, 554,
- 555, 556, 560, 561, 562, 563, 567, 568, 569, 570,
- 571, 572, 575, 581, 582, 583, 584, 585, 586, 593,
- 594, 595, 596, 597, 598, 602, 609, 610, 611, 612,
- 613, 617, 618, 620, 622, 624, 629, 630, 632, 633,
- 635, 640, 641, 645, 646, 651, 652, 656, 657, 661,
- 662, 667, 668, 673, 674, 678, 679, 684, 685, 690,
- 691, 695, 696, 701, 702, 707, 708, 712, 713, 718,
- 719, 723, 724, 729, 730, 735, 736, 741, 742, 749,
- 750, 757, 758, 765, 766, 767, 768, 769, 770, 771,
- 772, 773, 774, 775, 776, 780, 781, 785, 786, 790,
- 791, 795, 796, 797, 798, 799, 800, 801, 802, 803,
- 804, 805, 806, 807, 808, 809, 810, 811, 815, 817,
- 822, 824, 830, 837, 846, 854, 867, 874, 883, 891,
- 904, 906, 912, 920, 932, 933, 937, 941, 945, 949,
- 951, 956, 959, 969, 971, 973, 975, 981, 988, 997,
- 1003, 1014, 1015, 1019, 1020, 1024, 1028, 1032, 1036, 1043,
- 1046, 1049, 1052, 1058, 1061, 1064, 1067, 1073, 1079, 1085,
- 1086, 1095, 1096, 1100, 1106, 1116, 1117, 1121, 1122, 1126,
- 1132, 1136, 1143, 1149, 1155, 1165, 1167, 1172, 1173, 1184,
- 1185, 1192, 1193, 1203, 1206, 1212, 1213, 1217, 1218, 1223,
- 1230, 1241, 1242, 1243, 1244, 1245, 1246, 1247, 1251, 1252,
- 1253, 1254, 1255, 1259, 1260, 1264, 1265, 1266, 1268, 1272,
- 1273, 1274, 1275, 1276, 1280, 1281, 1282, 1286, 1287, 1290,
- 1292, 1296, 1297, 1301, 1302, 1303, 1304, 1305, 1309, 1310,
- 1311, 1312, 1316, 1317, 1321, 1322, 1326, 1327, 1328, 1329,
- 1333, 1334, 1335, 1336, 1340, 1341, 1345, 1346, 1350, 1351,
- 1355, 1356, 1360, 1361, 1362, 1366, 1367, 1368, 1372, 1373,
- 1374, 1375, 1376, 1377, 1378, 1379, 1380, 1381, 1382, 1385,
- 1386, 1390, 1391, 1395, 1396, 1397, 1398, 1402, 1403, 1404,
- 1405, 1409, 1410, 1411, 1415, 1416, 1417, 1421, 1422, 1423,
- 1424, 1428, 1429, 1430, 1431, 1435, 1436, 1437, 1438, 1439,
- 1440, 1441, 1445, 1446, 1447, 1448, 1449, 1450, 1454, 1455,
- 1456, 1457, 1458, 1459, 1460, 1464, 1465, 1466, 1467, 1468,
- 1472, 1473, 1474, 1475, 1476, 1480, 1481, 1482, 1483, 1484,
- 1488, 1489, 1493, 1494, 1498, 1499, 1503, 1504, 1508, 1509,
- 1513, 1514, 1518, 1519, 1523, 1524, 1528, 1529, 1533, 1534,
- 1538, 1539, 1543, 1544, 1548, 1549, 1553, 1554, 1558, 1559,
- 1563, 1564, 1568, 1569, 1573, 1574, 1578, 1579, 1583, 1584,
- 1588, 1589, 1593, 1594, 1595, 1596, 1597, 1598, 1599, 1600,
- 1601, 1602, 1603, 1604, 1608, 1609, 1613, 1614, 1618, 1619,
- 1623, 1624, 1625, 1626, 1627, 1628, 1629, 1630, 1631, 1632,
- 1633, 1634, 1635, 1636, 1637, 1638, 1639, 1643, 1644, 1648,
- 1649, 1653, 1654, 1655, 1656, 1660, 1661, 1662, 1663, 1667,
- 1668, 1672, 1673, 1677, 1678, 1682, 1686, 1690, 1694, 1695,
- 1699, 1700, 1704, 1705, 1706, 1707, 1708, 1709, 1710, 1711,
- 1714, 1716, 1719, 1721, 1725, 1726, 1727, 1728, 1732, 1733,
- 1734, 1735, 1739, 1740, 1741, 1742, 1746, 1750, 1754, 1755,
- 1758, 1760, 1764, 1765, 1769, 1770, 1774, 1775, 1779, 1783,
- 1784, 1788, 1789, 1790, 1794, 1795, 1799, 1800, 1804, 1805,
- 1806, 1807, 1811, 1812, 1815, 1817, 1821, 1822
+ 0, 288, 288, 289, 290, 291, 292, 293, 302, 314,
+ 315, 316, 317, 318, 330, 334, 341, 342, 343, 345,
+ 349, 350, 351, 352, 353, 357, 358, 359, 363, 367,
+ 375, 376, 380, 381, 385, 386, 387, 391, 395, 402,
+ 403, 407, 411, 418, 419, 426, 427, 434, 435, 436,
+ 440, 446, 447, 448, 452, 459, 460, 464, 468, 475,
+ 476, 480, 481, 485, 486, 487, 491, 492, 493, 497,
+ 498, 499, 500, 501, 502, 503, 504, 505, 506, 507,
+ 510, 511, 515, 516, 520, 521, 522, 523, 527, 528,
+ 530, 532, 537, 538, 539, 543, 544, 546, 551, 552,
+ 553, 554, 558, 559, 560, 561, 565, 566, 567, 568,
+ 569, 570, 573, 579, 580, 581, 582, 583, 584, 591,
+ 592, 593, 594, 595, 596, 600, 607, 608, 609, 610,
+ 611, 615, 616, 618, 620, 622, 627, 628, 630, 631,
+ 633, 638, 639, 643, 644, 649, 650, 654, 655, 659,
+ 660, 665, 666, 671, 672, 676, 677, 682, 683, 688,
+ 689, 693, 694, 699, 700, 705, 706, 710, 711, 716,
+ 717, 721, 722, 727, 728, 733, 734, 739, 740, 747,
+ 748, 755, 756, 763, 764, 765, 766, 767, 768, 769,
+ 770, 771, 772, 773, 774, 778, 779, 783, 784, 788,
+ 789, 793, 794, 795, 796, 797, 798, 799, 800, 801,
+ 802, 803, 804, 805, 806, 807, 808, 809, 813, 815,
+ 820, 822, 828, 835, 844, 852, 865, 872, 881, 889,
+ 902, 904, 910, 918, 930, 931, 935, 939, 943, 947,
+ 949, 954, 957, 967, 969, 971, 973, 979, 986, 995,
+ 1001, 1012, 1013, 1017, 1018, 1022, 1026, 1030, 1034, 1041,
+ 1044, 1047, 1050, 1056, 1059, 1062, 1065, 1071, 1077, 1083,
+ 1084, 1093, 1094, 1098, 1104, 1114, 1115, 1119, 1120, 1124,
+ 1130, 1134, 1141, 1147, 1153, 1163, 1165, 1170, 1171, 1182,
+ 1183, 1190, 1191, 1201, 1204, 1210, 1211, 1215, 1216, 1221,
+ 1228, 1239, 1240, 1241, 1242, 1243, 1244, 1245, 1249, 1250,
+ 1251, 1252, 1253, 1257, 1258, 1262, 1263, 1264, 1266, 1270,
+ 1271, 1272, 1273, 1274, 1278, 1279, 1280, 1284, 1285, 1288,
+ 1290, 1294, 1295, 1299, 1300, 1301, 1302, 1303, 1307, 1308,
+ 1309, 1310, 1314, 1315, 1319, 1320, 1324, 1325, 1326, 1327,
+ 1331, 1332, 1333, 1334, 1338, 1339, 1343, 1344, 1348, 1349,
+ 1353, 1354, 1358, 1359, 1360, 1364, 1365, 1366, 1370, 1371,
+ 1372, 1373, 1374, 1375, 1376, 1377, 1378, 1379, 1380, 1383,
+ 1384, 1388, 1389, 1393, 1394, 1395, 1396, 1400, 1401, 1402,
+ 1403, 1407, 1408, 1409, 1413, 1414, 1415, 1419, 1420, 1421,
+ 1422, 1426, 1427, 1428, 1429, 1433, 1434, 1435, 1436, 1437,
+ 1438, 1439, 1443, 1444, 1445, 1446, 1447, 1448, 1452, 1453,
+ 1454, 1455, 1456, 1457, 1458, 1462, 1463, 1464, 1465, 1466,
+ 1470, 1471, 1472, 1473, 1474, 1478, 1479, 1480, 1481, 1482,
+ 1486, 1487, 1491, 1492, 1496, 1497, 1501, 1502, 1506, 1507,
+ 1511, 1512, 1516, 1517, 1521, 1522, 1526, 1527, 1531, 1532,
+ 1536, 1537, 1541, 1542, 1546, 1547, 1551, 1552, 1556, 1557,
+ 1561, 1562, 1566, 1567, 1571, 1572, 1576, 1577, 1581, 1582,
+ 1586, 1587, 1591, 1592, 1593, 1594, 1595, 1596, 1597, 1598,
+ 1599, 1600, 1601, 1602, 1606, 1607, 1611, 1612, 1616, 1617,
+ 1621, 1622, 1623, 1624, 1625, 1626, 1627, 1628, 1629, 1630,
+ 1631, 1632, 1633, 1634, 1635, 1636, 1637, 1641, 1642, 1646,
+ 1647, 1651, 1652, 1653, 1654, 1658, 1659, 1660, 1661, 1665,
+ 1666, 1670, 1671, 1675, 1676, 1680, 1684, 1688, 1692, 1693,
+ 1697, 1698, 1702, 1703, 1704, 1705, 1706, 1707, 1708, 1709,
+ 1712, 1714, 1717, 1719, 1723, 1724, 1725, 1726, 1730, 1731,
+ 1732, 1733, 1737, 1738, 1739, 1740, 1744, 1748, 1752, 1753,
+ 1756, 1758, 1762, 1763, 1767, 1768, 1772, 1773, 1777, 1781,
+ 1782, 1786, 1787, 1788, 1792, 1793, 1797, 1798, 1802, 1803,
+ 1804, 1805, 1809, 1810, 1813, 1815, 1819, 1820
};
#endif
@@ -2361,17 +2310,20 @@ yy_symbol_print (yyoutput, yytype, yyvaluep, yylocationp)
#if (defined __STDC__ || defined __C99__FUNC__ \
|| defined __cplusplus || defined _MSC_VER)
static void
-yy_stack_print (yytype_int16 *bottom, yytype_int16 *top)
+yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
#else
static void
-yy_stack_print (bottom, top)
- yytype_int16 *bottom;
- yytype_int16 *top;
+yy_stack_print (yybottom, yytop)
+ yytype_int16 *yybottom;
+ yytype_int16 *yytop;
#endif
{
YYFPRINTF (stderr, "Stack now");
- for (; bottom <= top; ++bottom)
- YYFPRINTF (stderr, " %d", *bottom);
+ for (; yybottom <= yytop; yybottom++)
+ {
+ int yybot = *yybottom;
+ YYFPRINTF (stderr, " %d", yybot);
+ }
YYFPRINTF (stderr, "\n");
}
@@ -2406,11 +2358,11 @@ yy_reduce_print (yyvsp, yylsp, yyrule)
/* The symbols being reduced. */
for (yyi = 0; yyi < yynrhs; yyi++)
{
- fprintf (stderr, " $%d = ", yyi + 1);
+ YYFPRINTF (stderr, " $%d = ", yyi + 1);
yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
&(yyvsp[(yyi + 1) - (yynrhs)])
, &(yylsp[(yyi + 1) - (yynrhs)]) );
- fprintf (stderr, "\n");
+ YYFPRINTF (stderr, "\n");
}
}
@@ -2692,10 +2644,8 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp)
break;
}
}
-
/* Prevent warnings from -Wmissing-prototypes. */
-
#ifdef YYPARSE_PARAM
#if defined __STDC__ || defined __cplusplus
int yyparse (void *YYPARSE_PARAM);
@@ -2714,10 +2664,9 @@ int yyparse ();
-
-/*----------.
-| yyparse. |
-`----------*/
+/*-------------------------.
+| yyparse or yypush_parse. |
+`-------------------------*/
#ifdef YYPARSE_PARAM
#if (defined __STDC__ || defined __C99__FUNC__ \
@@ -2741,88 +2690,97 @@ yyparse ()
#endif
#endif
{
- /* The look-ahead symbol. */
+/* The lookahead symbol. */
int yychar;
-/* The semantic value of the look-ahead symbol. */
+/* The semantic value of the lookahead symbol. */
YYSTYPE yylval;
-/* Number of syntax errors so far. */
-int yynerrs;
-/* Location data for the look-ahead symbol. */
+/* Location data for the lookahead symbol. */
YYLTYPE yylloc;
- int yystate;
- int yyn;
- int yyresult;
- /* Number of tokens to shift before error messages enabled. */
- int yyerrstatus;
- /* Look-ahead token as an internal (translated) token number. */
- int yytoken = 0;
-#if YYERROR_VERBOSE
- /* Buffer for error messages, and its allocated size. */
- char yymsgbuf[128];
- char *yymsg = yymsgbuf;
- YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
-#endif
+ /* Number of syntax errors so far. */
+ int yynerrs;
- /* Three stacks and their tools:
- `yyss': related to states,
- `yyvs': related to semantic values,
- `yyls': related to locations.
+ int yystate;
+ /* Number of tokens to shift before error messages enabled. */
+ int yyerrstatus;
- Refer to the stacks thru separate pointers, to allow yyoverflow
- to reallocate them elsewhere. */
+ /* The stacks and their tools:
+ `yyss': related to states.
+ `yyvs': related to semantic values.
+ `yyls': related to locations.
- /* The state stack. */
- yytype_int16 yyssa[YYINITDEPTH];
- yytype_int16 *yyss = yyssa;
- yytype_int16 *yyssp;
+ Refer to the stacks thru separate pointers, to allow yyoverflow
+ to reallocate them elsewhere. */
- /* The semantic value stack. */
- YYSTYPE yyvsa[YYINITDEPTH];
- YYSTYPE *yyvs = yyvsa;
- YYSTYPE *yyvsp;
+ /* The state stack. */
+ yytype_int16 yyssa[YYINITDEPTH];
+ yytype_int16 *yyss;
+ yytype_int16 *yyssp;
- /* The location stack. */
- YYLTYPE yylsa[YYINITDEPTH];
- YYLTYPE *yyls = yylsa;
- YYLTYPE *yylsp;
- /* The locations where the error started and ended. */
- YYLTYPE yyerror_range[2];
+ /* The semantic value stack. */
+ YYSTYPE yyvsa[YYINITDEPTH];
+ YYSTYPE *yyvs;
+ YYSTYPE *yyvsp;
-#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N), yylsp -= (N))
+ /* The location stack. */
+ YYLTYPE yylsa[YYINITDEPTH];
+ YYLTYPE *yyls;
+ YYLTYPE *yylsp;
- YYSIZE_T yystacksize = YYINITDEPTH;
+ /* The locations where the error started and ended. */
+ YYLTYPE yyerror_range[2];
+ YYSIZE_T yystacksize;
+
+ int yyn;
+ int yyresult;
+ /* Lookahead token as an internal (translated) token number. */
+ int yytoken;
/* The variables used to return semantic value and location from the
action routines. */
YYSTYPE yyval;
YYLTYPE yyloc;
+#if YYERROR_VERBOSE
+ /* Buffer for error messages, and its allocated size. */
+ char yymsgbuf[128];
+ char *yymsg = yymsgbuf;
+ YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
+#endif
+
+#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N), yylsp -= (N))
+
/* The number of symbols on the RHS of the reduced rule.
Keep to zero when no symbol should be popped. */
int yylen = 0;
+ yytoken = 0;
+ yyss = yyssa;
+ yyvs = yyvsa;
+ yyls = yylsa;
+ yystacksize = YYINITDEPTH;
+
YYDPRINTF ((stderr, "Starting parse\n"));
yystate = 0;
yyerrstatus = 0;
yynerrs = 0;
- yychar = YYEMPTY; /* Cause a token to be read. */
+ yychar = YYEMPTY; /* Cause a token to be read. */
/* Initialize stack pointers.
Waste one element of value and location stack
so that they stay on the same level as the state stack.
The wasted elements are never initialized. */
-
yyssp = yyss;
yyvsp = yyvs;
yylsp = yyls;
+
#if YYLTYPE_IS_TRIVIAL
/* Initialize the default location before parsing starts. */
yylloc.first_line = yylloc.last_line = 1;
- yylloc.first_column = yylloc.last_column = 0;
+ yylloc.first_column = yylloc.last_column = 1;
#endif
goto yysetstate;
@@ -2861,6 +2819,7 @@ YYLTYPE yylloc;
&yyvs1, yysize * sizeof (*yyvsp),
&yyls1, yysize * sizeof (*yylsp),
&yystacksize);
+
yyls = yyls1;
yyss = yyss1;
yyvs = yyvs1;
@@ -2882,9 +2841,9 @@ YYLTYPE yylloc;
(union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
if (! yyptr)
goto yyexhaustedlab;
- YYSTACK_RELOCATE (yyss);
- YYSTACK_RELOCATE (yyvs);
- YYSTACK_RELOCATE (yyls);
+ YYSTACK_RELOCATE (yyss_alloc, yyss);
+ YYSTACK_RELOCATE (yyvs_alloc, yyvs);
+ YYSTACK_RELOCATE (yyls_alloc, yyls);
# undef YYSTACK_RELOCATE
if (yyss1 != yyssa)
YYSTACK_FREE (yyss1);
@@ -2905,6 +2864,9 @@ YYLTYPE yylloc;
YYDPRINTF ((stderr, "Entering state %d\n", yystate));
+ if (yystate == YYFINAL)
+ YYACCEPT;
+
goto yybackup;
/*-----------.
@@ -2913,16 +2875,16 @@ YYLTYPE yylloc;
yybackup:
/* Do appropriate processing given the current state. Read a
- look-ahead token if we need one and don't already have one. */
+ lookahead token if we need one and don't already have one. */
- /* First try to decide what to do without reference to look-ahead token. */
+ /* First try to decide what to do without reference to lookahead token. */
yyn = yypact[yystate];
if (yyn == YYPACT_NINF)
goto yydefault;
- /* Not known => get a look-ahead token if don't already have one. */
+ /* Not known => get a lookahead token if don't already have one. */
- /* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol. */
+ /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */
if (yychar == YYEMPTY)
{
YYDPRINTF ((stderr, "Reading a token: "));
@@ -2954,20 +2916,16 @@ yybackup:
goto yyreduce;
}
- if (yyn == YYFINAL)
- YYACCEPT;
-
/* Count tokens shifted since error; after three, turn off error
status. */
if (yyerrstatus)
yyerrstatus--;
- /* Shift the look-ahead token. */
+ /* Shift the lookahead token. */
YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
- /* Discard the shifted token unless it is eof. */
- if (yychar != YYEOF)
- yychar = YYEMPTY;
+ /* Discard the shifted token. */
+ yychar = YYEMPTY;
yystate = yyn;
*++yyvsp = yylval;
@@ -3008,32 +2966,44 @@ yyreduce:
switch (yyn)
{
case 2:
-#line 290 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 288 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) NullNode(GLOBAL_DATA), 0, 1); ;}
break;
case 3:
-#line 291 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 289 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) BooleanNode(GLOBAL_DATA, true), 0, 1); ;}
break;
case 4:
-#line 292 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 290 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) BooleanNode(GLOBAL_DATA, false), 0, 1); ;}
break;
case 5:
-#line 293 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 291 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeNumberNode(GLOBAL_DATA, (yyvsp[(1) - (1)].doubleValue)), 0, 1); ;}
break;
case 6:
-#line 294 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 292 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) StringNode(GLOBAL_DATA, *(yyvsp[(1) - (1)].ident)), 0, 1); ;}
break;
case 7:
-#line 295 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 293 "../parser/Grammar.y"
{
Lexer& l = *LEXER;
if (!l.scanRegExp())
@@ -3046,7 +3016,9 @@ yyreduce:
break;
case 8:
-#line 304 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 302 "../parser/Grammar.y"
{
Lexer& l = *LEXER;
if (!l.scanRegExp())
@@ -3059,27 +3031,37 @@ yyreduce:
break;
case 9:
-#line 316 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 314 "../parser/Grammar.y"
{ (yyval.propertyNode) = createNodeInfo<PropertyNode*>(new (GLOBAL_DATA) PropertyNode(GLOBAL_DATA, *(yyvsp[(1) - (3)].ident), (yyvsp[(3) - (3)].expressionNode).m_node, PropertyNode::Constant), (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 10:
-#line 317 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 315 "../parser/Grammar.y"
{ (yyval.propertyNode) = createNodeInfo<PropertyNode*>(new (GLOBAL_DATA) PropertyNode(GLOBAL_DATA, *(yyvsp[(1) - (3)].ident), (yyvsp[(3) - (3)].expressionNode).m_node, PropertyNode::Constant), (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 11:
-#line 318 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 316 "../parser/Grammar.y"
{ (yyval.propertyNode) = createNodeInfo<PropertyNode*>(new (GLOBAL_DATA) PropertyNode(GLOBAL_DATA, Identifier(GLOBAL_DATA, UString::from((yyvsp[(1) - (3)].doubleValue))), (yyvsp[(3) - (3)].expressionNode).m_node, PropertyNode::Constant), (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 12:
-#line 319 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 317 "../parser/Grammar.y"
{ (yyval.propertyNode) = createNodeInfo<PropertyNode*>(makeGetterOrSetterPropertyNode(globalPtr, *(yyvsp[(1) - (7)].ident), *(yyvsp[(2) - (7)].ident), 0, (yyvsp[(6) - (7)].functionBodyNode), LEXER->sourceCode((yyvsp[(5) - (7)].intValue), (yyvsp[(7) - (7)].intValue), (yylsp[(5) - (7)]).first_line)), ClosureFeature, 0); DBG((yyvsp[(6) - (7)].functionBodyNode), (yylsp[(5) - (7)]), (yylsp[(7) - (7)])); if (!(yyval.propertyNode).m_node) YYABORT; ;}
break;
case 13:
-#line 321 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 319 "../parser/Grammar.y"
{
(yyval.propertyNode) = createNodeInfo<PropertyNode*>(makeGetterOrSetterPropertyNode(globalPtr, *(yyvsp[(1) - (8)].ident), *(yyvsp[(2) - (8)].ident), (yyvsp[(4) - (8)].parameterList).m_node.head, (yyvsp[(7) - (8)].functionBodyNode), LEXER->sourceCode((yyvsp[(6) - (8)].intValue), (yyvsp[(8) - (8)].intValue), (yylsp[(6) - (8)]).first_line)), (yyvsp[(4) - (8)].parameterList).m_features | ClosureFeature, 0);
if ((yyvsp[(4) - (8)].parameterList).m_features & ArgumentsFeature)
@@ -3091,7 +3073,9 @@ yyreduce:
break;
case 14:
-#line 332 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 330 "../parser/Grammar.y"
{ (yyval.propertyList).m_node.head = new (GLOBAL_DATA) PropertyListNode(GLOBAL_DATA, (yyvsp[(1) - (1)].propertyNode).m_node);
(yyval.propertyList).m_node.tail = (yyval.propertyList).m_node.head;
(yyval.propertyList).m_features = (yyvsp[(1) - (1)].propertyNode).m_features;
@@ -3099,7 +3083,9 @@ yyreduce:
break;
case 15:
-#line 336 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 334 "../parser/Grammar.y"
{ (yyval.propertyList).m_node.head = (yyvsp[(1) - (3)].propertyList).m_node.head;
(yyval.propertyList).m_node.tail = new (GLOBAL_DATA) PropertyListNode(GLOBAL_DATA, (yyvsp[(3) - (3)].propertyNode).m_node, (yyvsp[(1) - (3)].propertyList).m_node.tail);
(yyval.propertyList).m_features = (yyvsp[(1) - (3)].propertyList).m_features | (yyvsp[(3) - (3)].propertyNode).m_features;
@@ -3107,52 +3093,72 @@ yyreduce:
break;
case 17:
-#line 344 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 342 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) ObjectLiteralNode(GLOBAL_DATA), 0, 0); ;}
break;
case 18:
-#line 345 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 343 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) ObjectLiteralNode(GLOBAL_DATA, (yyvsp[(2) - (3)].propertyList).m_node.head), (yyvsp[(2) - (3)].propertyList).m_features, (yyvsp[(2) - (3)].propertyList).m_numConstants); ;}
break;
case 19:
-#line 347 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 345 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) ObjectLiteralNode(GLOBAL_DATA, (yyvsp[(2) - (4)].propertyList).m_node.head), (yyvsp[(2) - (4)].propertyList).m_features, (yyvsp[(2) - (4)].propertyList).m_numConstants); ;}
break;
case 20:
-#line 351 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 349 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) ThisNode(GLOBAL_DATA), ThisFeature, 0); ;}
break;
case 23:
-#line 354 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 352 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) ResolveNode(GLOBAL_DATA, *(yyvsp[(1) - (1)].ident), (yylsp[(1) - (1)]).first_column), (*(yyvsp[(1) - (1)].ident) == GLOBAL_DATA->propertyNames->arguments) ? ArgumentsFeature : 0, 0); ;}
break;
case 24:
-#line 355 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 353 "../parser/Grammar.y"
{ (yyval.expressionNode) = (yyvsp[(2) - (3)].expressionNode); ;}
break;
case 25:
-#line 359 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 357 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) ArrayNode(GLOBAL_DATA, (yyvsp[(2) - (3)].intValue)), 0, (yyvsp[(2) - (3)].intValue) ? 1 : 0); ;}
break;
case 26:
-#line 360 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 358 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) ArrayNode(GLOBAL_DATA, (yyvsp[(2) - (3)].elementList).m_node.head), (yyvsp[(2) - (3)].elementList).m_features, (yyvsp[(2) - (3)].elementList).m_numConstants); ;}
break;
case 27:
-#line 361 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 359 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) ArrayNode(GLOBAL_DATA, (yyvsp[(4) - (5)].intValue), (yyvsp[(2) - (5)].elementList).m_node.head), (yyvsp[(2) - (5)].elementList).m_features, (yyvsp[(4) - (5)].intValue) ? (yyvsp[(2) - (5)].elementList).m_numConstants + 1 : (yyvsp[(2) - (5)].elementList).m_numConstants); ;}
break;
case 28:
-#line 365 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 363 "../parser/Grammar.y"
{ (yyval.elementList).m_node.head = new (GLOBAL_DATA) ElementNode(GLOBAL_DATA, (yyvsp[(1) - (2)].intValue), (yyvsp[(2) - (2)].expressionNode).m_node);
(yyval.elementList).m_node.tail = (yyval.elementList).m_node.head;
(yyval.elementList).m_features = (yyvsp[(2) - (2)].expressionNode).m_features;
@@ -3160,7 +3166,9 @@ yyreduce:
break;
case 29:
-#line 370 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 368 "../parser/Grammar.y"
{ (yyval.elementList).m_node.head = (yyvsp[(1) - (4)].elementList).m_node.head;
(yyval.elementList).m_node.tail = new (GLOBAL_DATA) ElementNode(GLOBAL_DATA, (yyvsp[(1) - (4)].elementList).m_node.tail, (yyvsp[(3) - (4)].intValue), (yyvsp[(4) - (4)].expressionNode).m_node);
(yyval.elementList).m_features = (yyvsp[(1) - (4)].elementList).m_features | (yyvsp[(4) - (4)].expressionNode).m_features;
@@ -3168,27 +3176,37 @@ yyreduce:
break;
case 30:
-#line 377 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 375 "../parser/Grammar.y"
{ (yyval.intValue) = 0; ;}
break;
case 32:
-#line 382 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 380 "../parser/Grammar.y"
{ (yyval.intValue) = 1; ;}
break;
case 33:
-#line 383 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 381 "../parser/Grammar.y"
{ (yyval.intValue) = (yyvsp[(1) - (2)].intValue) + 1; ;}
break;
case 35:
-#line 388 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 386 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>((yyvsp[(1) - (1)].funcExprNode).m_node, (yyvsp[(1) - (1)].funcExprNode).m_features, (yyvsp[(1) - (1)].funcExprNode).m_numConstants); ;}
break;
case 36:
-#line 389 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 387 "../parser/Grammar.y"
{ BracketAccessorNode* node = new (GLOBAL_DATA) BracketAccessorNode(GLOBAL_DATA, (yyvsp[(1) - (4)].expressionNode).m_node, (yyvsp[(3) - (4)].expressionNode).m_node, (yyvsp[(3) - (4)].expressionNode).m_features & AssignFeature);
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (4)]).first_column, (yylsp[(1) - (4)]).last_column, (yylsp[(4) - (4)]).last_column);
(yyval.expressionNode) = createNodeInfo<ExpressionNode*>(node, (yyvsp[(1) - (4)].expressionNode).m_features | (yyvsp[(3) - (4)].expressionNode).m_features, (yyvsp[(1) - (4)].expressionNode).m_numConstants + (yyvsp[(3) - (4)].expressionNode).m_numConstants);
@@ -3196,7 +3214,9 @@ yyreduce:
break;
case 37:
-#line 393 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 391 "../parser/Grammar.y"
{ DotAccessorNode* node = new (GLOBAL_DATA) DotAccessorNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, *(yyvsp[(3) - (3)].ident));
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (3)]).first_column, (yylsp[(1) - (3)]).last_column, (yylsp[(3) - (3)]).last_column);
(yyval.expressionNode) = createNodeInfo<ExpressionNode*>(node, (yyvsp[(1) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants);
@@ -3204,7 +3224,9 @@ yyreduce:
break;
case 38:
-#line 397 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 395 "../parser/Grammar.y"
{ NewExprNode* node = new (GLOBAL_DATA) NewExprNode(GLOBAL_DATA, (yyvsp[(2) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].argumentsNode).m_node);
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (3)]).first_column, (yylsp[(2) - (3)]).last_column, (yylsp[(3) - (3)]).last_column);
(yyval.expressionNode) = createNodeInfo<ExpressionNode*>(node, (yyvsp[(2) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].argumentsNode).m_features, (yyvsp[(2) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].argumentsNode).m_numConstants);
@@ -3212,7 +3234,9 @@ yyreduce:
break;
case 40:
-#line 405 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 403 "../parser/Grammar.y"
{ BracketAccessorNode* node = new (GLOBAL_DATA) BracketAccessorNode(GLOBAL_DATA, (yyvsp[(1) - (4)].expressionNode).m_node, (yyvsp[(3) - (4)].expressionNode).m_node, (yyvsp[(3) - (4)].expressionNode).m_features & AssignFeature);
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (4)]).first_column, (yylsp[(1) - (4)]).last_column, (yylsp[(4) - (4)]).last_column);
(yyval.expressionNode) = createNodeInfo<ExpressionNode*>(node, (yyvsp[(1) - (4)].expressionNode).m_features | (yyvsp[(3) - (4)].expressionNode).m_features, (yyvsp[(1) - (4)].expressionNode).m_numConstants + (yyvsp[(3) - (4)].expressionNode).m_numConstants);
@@ -3220,7 +3244,9 @@ yyreduce:
break;
case 41:
-#line 409 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 407 "../parser/Grammar.y"
{ DotAccessorNode* node = new (GLOBAL_DATA) DotAccessorNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, *(yyvsp[(3) - (3)].ident));
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (3)]).first_column, (yylsp[(1) - (3)]).last_column, (yylsp[(3) - (3)]).last_column);
(yyval.expressionNode) = createNodeInfo<ExpressionNode*>(node, (yyvsp[(1) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants);
@@ -3228,7 +3254,9 @@ yyreduce:
break;
case 42:
-#line 413 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 411 "../parser/Grammar.y"
{ NewExprNode* node = new (GLOBAL_DATA) NewExprNode(GLOBAL_DATA, (yyvsp[(2) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].argumentsNode).m_node);
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (3)]).first_column, (yylsp[(2) - (3)]).last_column, (yylsp[(3) - (3)]).last_column);
(yyval.expressionNode) = createNodeInfo<ExpressionNode*>(node, (yyvsp[(2) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].argumentsNode).m_features, (yyvsp[(2) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].argumentsNode).m_numConstants);
@@ -3236,7 +3264,9 @@ yyreduce:
break;
case 44:
-#line 421 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 419 "../parser/Grammar.y"
{ NewExprNode* node = new (GLOBAL_DATA) NewExprNode(GLOBAL_DATA, (yyvsp[(2) - (2)].expressionNode).m_node);
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (2)]).first_column, (yylsp[(2) - (2)]).last_column, (yylsp[(2) - (2)]).last_column);
(yyval.expressionNode) = createNodeInfo<ExpressionNode*>(node, (yyvsp[(2) - (2)].expressionNode).m_features, (yyvsp[(2) - (2)].expressionNode).m_numConstants);
@@ -3244,7 +3274,9 @@ yyreduce:
break;
case 46:
-#line 429 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 427 "../parser/Grammar.y"
{ NewExprNode* node = new (GLOBAL_DATA) NewExprNode(GLOBAL_DATA, (yyvsp[(2) - (2)].expressionNode).m_node);
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (2)]).first_column, (yylsp[(2) - (2)]).last_column, (yylsp[(2) - (2)]).last_column);
(yyval.expressionNode) = createNodeInfo<ExpressionNode*>(node, (yyvsp[(2) - (2)].expressionNode).m_features, (yyvsp[(2) - (2)].expressionNode).m_numConstants);
@@ -3252,17 +3284,23 @@ yyreduce:
break;
case 47:
-#line 436 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 434 "../parser/Grammar.y"
{ (yyval.expressionNode) = makeFunctionCallNode(globalPtr, (yyvsp[(1) - (2)].expressionNode), (yyvsp[(2) - (2)].argumentsNode), (yylsp[(1) - (2)]).first_column, (yylsp[(1) - (2)]).last_column, (yylsp[(2) - (2)]).last_column); ;}
break;
case 48:
-#line 437 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 435 "../parser/Grammar.y"
{ (yyval.expressionNode) = makeFunctionCallNode(globalPtr, (yyvsp[(1) - (2)].expressionNode), (yyvsp[(2) - (2)].argumentsNode), (yylsp[(1) - (2)]).first_column, (yylsp[(1) - (2)]).last_column, (yylsp[(2) - (2)]).last_column); ;}
break;
case 49:
-#line 438 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 436 "../parser/Grammar.y"
{ BracketAccessorNode* node = new (GLOBAL_DATA) BracketAccessorNode(GLOBAL_DATA, (yyvsp[(1) - (4)].expressionNode).m_node, (yyvsp[(3) - (4)].expressionNode).m_node, (yyvsp[(3) - (4)].expressionNode).m_features & AssignFeature);
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (4)]).first_column, (yylsp[(1) - (4)]).last_column, (yylsp[(4) - (4)]).last_column);
(yyval.expressionNode) = createNodeInfo<ExpressionNode*>(node, (yyvsp[(1) - (4)].expressionNode).m_features | (yyvsp[(3) - (4)].expressionNode).m_features, (yyvsp[(1) - (4)].expressionNode).m_numConstants + (yyvsp[(3) - (4)].expressionNode).m_numConstants);
@@ -3270,24 +3308,32 @@ yyreduce:
break;
case 50:
-#line 442 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 440 "../parser/Grammar.y"
{ DotAccessorNode* node = new (GLOBAL_DATA) DotAccessorNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, *(yyvsp[(3) - (3)].ident));
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (3)]).first_column, (yylsp[(1) - (3)]).last_column, (yylsp[(3) - (3)]).last_column);
(yyval.expressionNode) = createNodeInfo<ExpressionNode*>(node, (yyvsp[(1) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants); ;}
break;
case 51:
-#line 448 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 446 "../parser/Grammar.y"
{ (yyval.expressionNode) = makeFunctionCallNode(globalPtr, (yyvsp[(1) - (2)].expressionNode), (yyvsp[(2) - (2)].argumentsNode), (yylsp[(1) - (2)]).first_column, (yylsp[(1) - (2)]).last_column, (yylsp[(2) - (2)]).last_column); ;}
break;
case 52:
-#line 449 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 447 "../parser/Grammar.y"
{ (yyval.expressionNode) = makeFunctionCallNode(globalPtr, (yyvsp[(1) - (2)].expressionNode), (yyvsp[(2) - (2)].argumentsNode), (yylsp[(1) - (2)]).first_column, (yylsp[(1) - (2)]).last_column, (yylsp[(2) - (2)]).last_column); ;}
break;
case 53:
-#line 450 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 448 "../parser/Grammar.y"
{ BracketAccessorNode* node = new (GLOBAL_DATA) BracketAccessorNode(GLOBAL_DATA, (yyvsp[(1) - (4)].expressionNode).m_node, (yyvsp[(3) - (4)].expressionNode).m_node, (yyvsp[(3) - (4)].expressionNode).m_features & AssignFeature);
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (4)]).first_column, (yylsp[(1) - (4)]).last_column, (yylsp[(4) - (4)]).last_column);
(yyval.expressionNode) = createNodeInfo<ExpressionNode*>(node, (yyvsp[(1) - (4)].expressionNode).m_features | (yyvsp[(3) - (4)].expressionNode).m_features, (yyvsp[(1) - (4)].expressionNode).m_numConstants + (yyvsp[(3) - (4)].expressionNode).m_numConstants);
@@ -3295,7 +3341,9 @@ yyreduce:
break;
case 54:
-#line 454 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 452 "../parser/Grammar.y"
{ DotAccessorNode* node = new (GLOBAL_DATA) DotAccessorNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, *(yyvsp[(3) - (3)].ident));
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (3)]).first_column, (yylsp[(1) - (3)]).last_column, (yylsp[(3) - (3)]).last_column);
(yyval.expressionNode) = createNodeInfo<ExpressionNode*>(node, (yyvsp[(1) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants);
@@ -3303,17 +3351,23 @@ yyreduce:
break;
case 55:
-#line 461 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 459 "../parser/Grammar.y"
{ (yyval.argumentsNode) = createNodeInfo<ArgumentsNode*>(new (GLOBAL_DATA) ArgumentsNode(GLOBAL_DATA), 0, 0); ;}
break;
case 56:
-#line 462 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 460 "../parser/Grammar.y"
{ (yyval.argumentsNode) = createNodeInfo<ArgumentsNode*>(new (GLOBAL_DATA) ArgumentsNode(GLOBAL_DATA, (yyvsp[(2) - (3)].argumentList).m_node.head), (yyvsp[(2) - (3)].argumentList).m_features, (yyvsp[(2) - (3)].argumentList).m_numConstants); ;}
break;
case 57:
-#line 466 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 464 "../parser/Grammar.y"
{ (yyval.argumentList).m_node.head = new (GLOBAL_DATA) ArgumentListNode(GLOBAL_DATA, (yyvsp[(1) - (1)].expressionNode).m_node);
(yyval.argumentList).m_node.tail = (yyval.argumentList).m_node.head;
(yyval.argumentList).m_features = (yyvsp[(1) - (1)].expressionNode).m_features;
@@ -3321,7 +3375,9 @@ yyreduce:
break;
case 58:
-#line 470 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 468 "../parser/Grammar.y"
{ (yyval.argumentList).m_node.head = (yyvsp[(1) - (3)].argumentList).m_node.head;
(yyval.argumentList).m_node.tail = new (GLOBAL_DATA) ArgumentListNode(GLOBAL_DATA, (yyvsp[(1) - (3)].argumentList).m_node.tail, (yyvsp[(3) - (3)].expressionNode).m_node);
(yyval.argumentList).m_features = (yyvsp[(1) - (3)].argumentList).m_features | (yyvsp[(3) - (3)].expressionNode).m_features;
@@ -3329,528 +3385,730 @@ yyreduce:
break;
case 64:
-#line 488 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 486 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makePostfixNode(GLOBAL_DATA, (yyvsp[(1) - (2)].expressionNode).m_node, OpPlusPlus, (yylsp[(1) - (2)]).first_column, (yylsp[(1) - (2)]).last_column, (yylsp[(2) - (2)]).last_column), (yyvsp[(1) - (2)].expressionNode).m_features | AssignFeature, (yyvsp[(1) - (2)].expressionNode).m_numConstants); ;}
break;
case 65:
-#line 489 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 487 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makePostfixNode(GLOBAL_DATA, (yyvsp[(1) - (2)].expressionNode).m_node, OpMinusMinus, (yylsp[(1) - (2)]).first_column, (yylsp[(1) - (2)]).last_column, (yylsp[(2) - (2)]).last_column), (yyvsp[(1) - (2)].expressionNode).m_features | AssignFeature, (yyvsp[(1) - (2)].expressionNode).m_numConstants); ;}
break;
case 67:
-#line 494 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 492 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makePostfixNode(GLOBAL_DATA, (yyvsp[(1) - (2)].expressionNode).m_node, OpPlusPlus, (yylsp[(1) - (2)]).first_column, (yylsp[(1) - (2)]).last_column, (yylsp[(2) - (2)]).last_column), (yyvsp[(1) - (2)].expressionNode).m_features | AssignFeature, (yyvsp[(1) - (2)].expressionNode).m_numConstants); ;}
break;
case 68:
-#line 495 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 493 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makePostfixNode(GLOBAL_DATA, (yyvsp[(1) - (2)].expressionNode).m_node, OpMinusMinus, (yylsp[(1) - (2)]).first_column, (yylsp[(1) - (2)]).last_column, (yylsp[(2) - (2)]).last_column), (yyvsp[(1) - (2)].expressionNode).m_features | AssignFeature, (yyvsp[(1) - (2)].expressionNode).m_numConstants); ;}
break;
case 69:
-#line 499 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 497 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeDeleteNode(GLOBAL_DATA, (yyvsp[(2) - (2)].expressionNode).m_node, (yylsp[(1) - (2)]).first_column, (yylsp[(2) - (2)]).last_column, (yylsp[(2) - (2)]).last_column), (yyvsp[(2) - (2)].expressionNode).m_features, (yyvsp[(2) - (2)].expressionNode).m_numConstants); ;}
break;
case 70:
-#line 500 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 498 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) VoidNode(GLOBAL_DATA, (yyvsp[(2) - (2)].expressionNode).m_node), (yyvsp[(2) - (2)].expressionNode).m_features, (yyvsp[(2) - (2)].expressionNode).m_numConstants + 1); ;}
break;
case 71:
-#line 501 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 499 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeTypeOfNode(GLOBAL_DATA, (yyvsp[(2) - (2)].expressionNode).m_node), (yyvsp[(2) - (2)].expressionNode).m_features, (yyvsp[(2) - (2)].expressionNode).m_numConstants); ;}
break;
case 72:
-#line 502 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 500 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makePrefixNode(GLOBAL_DATA, (yyvsp[(2) - (2)].expressionNode).m_node, OpPlusPlus, (yylsp[(1) - (2)]).first_column, (yylsp[(2) - (2)]).first_column + 1, (yylsp[(2) - (2)]).last_column), (yyvsp[(2) - (2)].expressionNode).m_features | AssignFeature, (yyvsp[(2) - (2)].expressionNode).m_numConstants); ;}
break;
case 73:
-#line 503 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 501 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makePrefixNode(GLOBAL_DATA, (yyvsp[(2) - (2)].expressionNode).m_node, OpPlusPlus, (yylsp[(1) - (2)]).first_column, (yylsp[(2) - (2)]).first_column + 1, (yylsp[(2) - (2)]).last_column), (yyvsp[(2) - (2)].expressionNode).m_features | AssignFeature, (yyvsp[(2) - (2)].expressionNode).m_numConstants); ;}
break;
case 74:
-#line 504 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 502 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makePrefixNode(GLOBAL_DATA, (yyvsp[(2) - (2)].expressionNode).m_node, OpMinusMinus, (yylsp[(1) - (2)]).first_column, (yylsp[(2) - (2)]).first_column + 1, (yylsp[(2) - (2)]).last_column), (yyvsp[(2) - (2)].expressionNode).m_features | AssignFeature, (yyvsp[(2) - (2)].expressionNode).m_numConstants); ;}
break;
case 75:
-#line 505 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 503 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makePrefixNode(GLOBAL_DATA, (yyvsp[(2) - (2)].expressionNode).m_node, OpMinusMinus, (yylsp[(1) - (2)]).first_column, (yylsp[(2) - (2)]).first_column + 1, (yylsp[(2) - (2)]).last_column), (yyvsp[(2) - (2)].expressionNode).m_features | AssignFeature, (yyvsp[(2) - (2)].expressionNode).m_numConstants); ;}
break;
case 76:
-#line 506 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 504 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) UnaryPlusNode(GLOBAL_DATA, (yyvsp[(2) - (2)].expressionNode).m_node), (yyvsp[(2) - (2)].expressionNode).m_features, (yyvsp[(2) - (2)].expressionNode).m_numConstants); ;}
break;
case 77:
-#line 507 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 505 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeNegateNode(GLOBAL_DATA, (yyvsp[(2) - (2)].expressionNode).m_node), (yyvsp[(2) - (2)].expressionNode).m_features, (yyvsp[(2) - (2)].expressionNode).m_numConstants); ;}
break;
case 78:
-#line 508 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 506 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeBitwiseNotNode(GLOBAL_DATA, (yyvsp[(2) - (2)].expressionNode).m_node), (yyvsp[(2) - (2)].expressionNode).m_features, (yyvsp[(2) - (2)].expressionNode).m_numConstants); ;}
break;
case 79:
-#line 509 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 507 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) LogicalNotNode(GLOBAL_DATA, (yyvsp[(2) - (2)].expressionNode).m_node), (yyvsp[(2) - (2)].expressionNode).m_features, (yyvsp[(2) - (2)].expressionNode).m_numConstants); ;}
break;
case 85:
-#line 523 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 521 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeMultNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 86:
-#line 524 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 522 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeDivNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 87:
-#line 525 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 523 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) ModNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 89:
-#line 531 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 529 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeMultNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 90:
-#line 533 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 531 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeDivNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 91:
-#line 535 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 533 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) ModNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 93:
-#line 540 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 538 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeAddNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 94:
-#line 541 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 539 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeSubNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 96:
-#line 547 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 545 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeAddNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 97:
-#line 549 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 547 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeSubNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 99:
-#line 554 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 552 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeLeftShiftNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 100:
-#line 555 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 553 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeRightShiftNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 101:
-#line 556 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 554 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) UnsignedRightShiftNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 103:
-#line 561 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 559 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeLeftShiftNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 104:
-#line 562 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 560 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeRightShiftNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 105:
-#line 563 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 561 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) UnsignedRightShiftNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 107:
-#line 568 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 566 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) LessNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 108:
-#line 569 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 567 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) GreaterNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 109:
-#line 570 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 568 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) LessEqNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 110:
-#line 571 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 569 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) GreaterEqNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 111:
-#line 572 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 570 "../parser/Grammar.y"
{ InstanceOfNode* node = new (GLOBAL_DATA) InstanceOfNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature);
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (3)]).first_column, (yylsp[(3) - (3)]).first_column, (yylsp[(3) - (3)]).last_column);
(yyval.expressionNode) = createNodeInfo<ExpressionNode*>(node, (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 112:
-#line 575 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 573 "../parser/Grammar.y"
{ InNode* node = new (GLOBAL_DATA) InNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature);
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (3)]).first_column, (yylsp[(3) - (3)]).first_column, (yylsp[(3) - (3)]).last_column);
(yyval.expressionNode) = createNodeInfo<ExpressionNode*>(node, (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 114:
-#line 582 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 580 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) LessNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 115:
-#line 583 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 581 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) GreaterNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 116:
-#line 584 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 582 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) LessEqNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 117:
-#line 585 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 583 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) GreaterEqNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 118:
-#line 587 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 585 "../parser/Grammar.y"
{ InstanceOfNode* node = new (GLOBAL_DATA) InstanceOfNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature);
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (3)]).first_column, (yylsp[(3) - (3)]).first_column, (yylsp[(3) - (3)]).last_column);
(yyval.expressionNode) = createNodeInfo<ExpressionNode*>(node, (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 120:
-#line 594 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 592 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) LessNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 121:
-#line 595 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 593 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) GreaterNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 122:
-#line 596 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 594 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) LessEqNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 123:
-#line 597 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 595 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) GreaterEqNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 124:
-#line 599 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 597 "../parser/Grammar.y"
{ InstanceOfNode* node = new (GLOBAL_DATA) InstanceOfNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature);
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (3)]).first_column, (yylsp[(3) - (3)]).first_column, (yylsp[(3) - (3)]).last_column);
(yyval.expressionNode) = createNodeInfo<ExpressionNode*>(node, (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 125:
-#line 603 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 601 "../parser/Grammar.y"
{ InNode* node = new (GLOBAL_DATA) InNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature);
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (3)]).first_column, (yylsp[(3) - (3)]).first_column, (yylsp[(3) - (3)]).last_column);
(yyval.expressionNode) = createNodeInfo<ExpressionNode*>(node, (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 127:
-#line 610 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 608 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) EqualNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 128:
-#line 611 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 609 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) NotEqualNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 129:
-#line 612 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 610 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) StrictEqualNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 130:
-#line 613 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 611 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) NotStrictEqualNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 132:
-#line 619 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 617 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) EqualNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 133:
-#line 621 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 619 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) NotEqualNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 134:
-#line 623 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 621 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) StrictEqualNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 135:
-#line 625 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 623 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) NotStrictEqualNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 137:
-#line 631 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 629 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) EqualNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 138:
-#line 632 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 630 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) NotEqualNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 139:
-#line 634 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 632 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) StrictEqualNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 140:
-#line 636 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 634 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) NotStrictEqualNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 142:
-#line 641 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 639 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) BitAndNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 144:
-#line 647 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 645 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) BitAndNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 146:
-#line 652 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 650 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) BitAndNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 148:
-#line 657 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 655 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) BitXOrNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 150:
-#line 663 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 661 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) BitXOrNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 152:
-#line 669 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 667 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) BitXOrNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 154:
-#line 674 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 672 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) BitOrNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 156:
-#line 680 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 678 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) BitOrNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 158:
-#line 686 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 684 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) BitOrNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 160:
-#line 691 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 689 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) LogicalOpNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, OpLogicalAnd), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 162:
-#line 697 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 695 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) LogicalOpNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, OpLogicalAnd), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 164:
-#line 703 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 701 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) LogicalOpNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, OpLogicalAnd), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 166:
-#line 708 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 706 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) LogicalOpNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, OpLogicalOr), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 168:
-#line 714 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 712 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) LogicalOpNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, OpLogicalOr), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 170:
-#line 719 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 717 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) LogicalOpNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, OpLogicalOr), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 172:
-#line 725 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 723 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) ConditionalNode(GLOBAL_DATA, (yyvsp[(1) - (5)].expressionNode).m_node, (yyvsp[(3) - (5)].expressionNode).m_node, (yyvsp[(5) - (5)].expressionNode).m_node), (yyvsp[(1) - (5)].expressionNode).m_features | (yyvsp[(3) - (5)].expressionNode).m_features | (yyvsp[(5) - (5)].expressionNode).m_features, (yyvsp[(1) - (5)].expressionNode).m_numConstants + (yyvsp[(3) - (5)].expressionNode).m_numConstants + (yyvsp[(5) - (5)].expressionNode).m_numConstants); ;}
break;
case 174:
-#line 731 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 729 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) ConditionalNode(GLOBAL_DATA, (yyvsp[(1) - (5)].expressionNode).m_node, (yyvsp[(3) - (5)].expressionNode).m_node, (yyvsp[(5) - (5)].expressionNode).m_node), (yyvsp[(1) - (5)].expressionNode).m_features | (yyvsp[(3) - (5)].expressionNode).m_features | (yyvsp[(5) - (5)].expressionNode).m_features, (yyvsp[(1) - (5)].expressionNode).m_numConstants + (yyvsp[(3) - (5)].expressionNode).m_numConstants + (yyvsp[(5) - (5)].expressionNode).m_numConstants); ;}
break;
case 176:
-#line 737 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 735 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) ConditionalNode(GLOBAL_DATA, (yyvsp[(1) - (5)].expressionNode).m_node, (yyvsp[(3) - (5)].expressionNode).m_node, (yyvsp[(5) - (5)].expressionNode).m_node), (yyvsp[(1) - (5)].expressionNode).m_features | (yyvsp[(3) - (5)].expressionNode).m_features | (yyvsp[(5) - (5)].expressionNode).m_features, (yyvsp[(1) - (5)].expressionNode).m_numConstants + (yyvsp[(3) - (5)].expressionNode).m_numConstants + (yyvsp[(5) - (5)].expressionNode).m_numConstants); ;}
break;
case 178:
-#line 743 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 741 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeAssignNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(2) - (3)].op), (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(1) - (3)].expressionNode).m_features & AssignFeature, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature,
(yylsp[(1) - (3)]).first_column, (yylsp[(2) - (3)]).first_column + 1, (yylsp[(3) - (3)]).last_column), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features | AssignFeature, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants);
;}
break;
case 180:
-#line 751 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 749 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeAssignNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(2) - (3)].op), (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(1) - (3)].expressionNode).m_features & AssignFeature, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature,
(yylsp[(1) - (3)]).first_column, (yylsp[(2) - (3)]).first_column + 1, (yylsp[(3) - (3)]).last_column), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features | AssignFeature, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants);
;}
break;
case 182:
-#line 759 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 757 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeAssignNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(2) - (3)].op), (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(1) - (3)].expressionNode).m_features & AssignFeature, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature,
(yylsp[(1) - (3)]).first_column, (yylsp[(2) - (3)]).first_column + 1, (yylsp[(3) - (3)]).last_column), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features | AssignFeature, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants);
;}
break;
case 183:
-#line 765 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 763 "../parser/Grammar.y"
{ (yyval.op) = OpEqual; ;}
break;
case 184:
-#line 766 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 764 "../parser/Grammar.y"
{ (yyval.op) = OpPlusEq; ;}
break;
case 185:
-#line 767 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 765 "../parser/Grammar.y"
{ (yyval.op) = OpMinusEq; ;}
break;
case 186:
-#line 768 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 766 "../parser/Grammar.y"
{ (yyval.op) = OpMultEq; ;}
break;
case 187:
-#line 769 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 767 "../parser/Grammar.y"
{ (yyval.op) = OpDivEq; ;}
break;
case 188:
-#line 770 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 768 "../parser/Grammar.y"
{ (yyval.op) = OpLShift; ;}
break;
case 189:
-#line 771 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 769 "../parser/Grammar.y"
{ (yyval.op) = OpRShift; ;}
break;
case 190:
-#line 772 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 770 "../parser/Grammar.y"
{ (yyval.op) = OpURShift; ;}
break;
case 191:
-#line 773 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 771 "../parser/Grammar.y"
{ (yyval.op) = OpAndEq; ;}
break;
case 192:
-#line 774 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 772 "../parser/Grammar.y"
{ (yyval.op) = OpXOrEq; ;}
break;
case 193:
-#line 775 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 773 "../parser/Grammar.y"
{ (yyval.op) = OpOrEq; ;}
break;
case 194:
-#line 776 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 774 "../parser/Grammar.y"
{ (yyval.op) = OpModEq; ;}
break;
case 196:
-#line 781 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 779 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(combineCommaNodes(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 198:
-#line 786 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 784 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(combineCommaNodes(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 200:
-#line 791 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 789 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(combineCommaNodes(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 218:
-#line 815 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 813 "../parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) BlockNode(GLOBAL_DATA, 0), 0, 0, 0, 0);
DBG((yyval.statementNode).m_node, (yylsp[(1) - (2)]), (yylsp[(2) - (2)])); ;}
break;
case 219:
-#line 817 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 815 "../parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) BlockNode(GLOBAL_DATA, (yyvsp[(2) - (3)].sourceElements).m_node), (yyvsp[(2) - (3)].sourceElements).m_varDeclarations, (yyvsp[(2) - (3)].sourceElements).m_funcDeclarations, (yyvsp[(2) - (3)].sourceElements).m_features, (yyvsp[(2) - (3)].sourceElements).m_numConstants);
DBG((yyval.statementNode).m_node, (yylsp[(1) - (3)]), (yylsp[(3) - (3)])); ;}
break;
case 220:
-#line 822 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 820 "../parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(makeVarStatementNode(GLOBAL_DATA, (yyvsp[(2) - (3)].varDeclList).m_node), (yyvsp[(2) - (3)].varDeclList).m_varDeclarations, (yyvsp[(2) - (3)].varDeclList).m_funcDeclarations, (yyvsp[(2) - (3)].varDeclList).m_features, (yyvsp[(2) - (3)].varDeclList).m_numConstants);
DBG((yyval.statementNode).m_node, (yylsp[(1) - (3)]), (yylsp[(3) - (3)])); ;}
break;
case 221:
-#line 824 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 822 "../parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(makeVarStatementNode(GLOBAL_DATA, (yyvsp[(2) - (3)].varDeclList).m_node), (yyvsp[(2) - (3)].varDeclList).m_varDeclarations, (yyvsp[(2) - (3)].varDeclList).m_funcDeclarations, (yyvsp[(2) - (3)].varDeclList).m_features, (yyvsp[(2) - (3)].varDeclList).m_numConstants);
DBG((yyval.statementNode).m_node, (yylsp[(1) - (3)]), (yylsp[(2) - (3)]));
AUTO_SEMICOLON; ;}
break;
case 222:
-#line 830 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 828 "../parser/Grammar.y"
{ (yyval.varDeclList).m_node = 0;
(yyval.varDeclList).m_varDeclarations = new (GLOBAL_DATA) ParserArenaData<DeclarationStacks::VarStack>;
appendToVarDeclarationList(GLOBAL_DATA, (yyval.varDeclList).m_varDeclarations, *(yyvsp[(1) - (1)].ident), 0);
@@ -3861,7 +4119,9 @@ yyreduce:
break;
case 223:
-#line 837 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 835 "../parser/Grammar.y"
{ AssignResolveNode* node = new (GLOBAL_DATA) AssignResolveNode(GLOBAL_DATA, *(yyvsp[(1) - (2)].ident), (yyvsp[(2) - (2)].expressionNode).m_node, (yyvsp[(2) - (2)].expressionNode).m_features & AssignFeature);
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (2)]).first_column, (yylsp[(2) - (2)]).first_column + 1, (yylsp[(2) - (2)]).last_column);
(yyval.varDeclList).m_node = node;
@@ -3874,7 +4134,9 @@ yyreduce:
break;
case 224:
-#line 847 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 845 "../parser/Grammar.y"
{ (yyval.varDeclList).m_node = (yyvsp[(1) - (3)].varDeclList).m_node;
(yyval.varDeclList).m_varDeclarations = (yyvsp[(1) - (3)].varDeclList).m_varDeclarations;
appendToVarDeclarationList(GLOBAL_DATA, (yyval.varDeclList).m_varDeclarations, *(yyvsp[(3) - (3)].ident), 0);
@@ -3885,7 +4147,9 @@ yyreduce:
break;
case 225:
-#line 855 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 853 "../parser/Grammar.y"
{ AssignResolveNode* node = new (GLOBAL_DATA) AssignResolveNode(GLOBAL_DATA, *(yyvsp[(3) - (4)].ident), (yyvsp[(4) - (4)].expressionNode).m_node, (yyvsp[(4) - (4)].expressionNode).m_features & AssignFeature);
SET_EXCEPTION_LOCATION(node, (yylsp[(3) - (4)]).first_column, (yylsp[(4) - (4)]).first_column + 1, (yylsp[(4) - (4)]).last_column);
(yyval.varDeclList).m_node = combineCommaNodes(GLOBAL_DATA, (yyvsp[(1) - (4)].varDeclList).m_node, node);
@@ -3898,7 +4162,9 @@ yyreduce:
break;
case 226:
-#line 867 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 865 "../parser/Grammar.y"
{ (yyval.varDeclList).m_node = 0;
(yyval.varDeclList).m_varDeclarations = new (GLOBAL_DATA) ParserArenaData<DeclarationStacks::VarStack>;
appendToVarDeclarationList(GLOBAL_DATA, (yyval.varDeclList).m_varDeclarations, *(yyvsp[(1) - (1)].ident), 0);
@@ -3909,7 +4175,9 @@ yyreduce:
break;
case 227:
-#line 874 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 872 "../parser/Grammar.y"
{ AssignResolveNode* node = new (GLOBAL_DATA) AssignResolveNode(GLOBAL_DATA, *(yyvsp[(1) - (2)].ident), (yyvsp[(2) - (2)].expressionNode).m_node, (yyvsp[(2) - (2)].expressionNode).m_features & AssignFeature);
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (2)]).first_column, (yylsp[(2) - (2)]).first_column + 1, (yylsp[(2) - (2)]).last_column);
(yyval.varDeclList).m_node = node;
@@ -3922,7 +4190,9 @@ yyreduce:
break;
case 228:
-#line 884 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 882 "../parser/Grammar.y"
{ (yyval.varDeclList).m_node = (yyvsp[(1) - (3)].varDeclList).m_node;
(yyval.varDeclList).m_varDeclarations = (yyvsp[(1) - (3)].varDeclList).m_varDeclarations;
appendToVarDeclarationList(GLOBAL_DATA, (yyval.varDeclList).m_varDeclarations, *(yyvsp[(3) - (3)].ident), 0);
@@ -3933,7 +4203,9 @@ yyreduce:
break;
case 229:
-#line 892 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 890 "../parser/Grammar.y"
{ AssignResolveNode* node = new (GLOBAL_DATA) AssignResolveNode(GLOBAL_DATA, *(yyvsp[(3) - (4)].ident), (yyvsp[(4) - (4)].expressionNode).m_node, (yyvsp[(4) - (4)].expressionNode).m_features & AssignFeature);
SET_EXCEPTION_LOCATION(node, (yylsp[(3) - (4)]).first_column, (yylsp[(4) - (4)]).first_column + 1, (yylsp[(4) - (4)]).last_column);
(yyval.varDeclList).m_node = combineCommaNodes(GLOBAL_DATA, (yyvsp[(1) - (4)].varDeclList).m_node, node);
@@ -3946,19 +4218,25 @@ yyreduce:
break;
case 230:
-#line 904 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 902 "../parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) ConstStatementNode(GLOBAL_DATA, (yyvsp[(2) - (3)].constDeclList).m_node.head), (yyvsp[(2) - (3)].constDeclList).m_varDeclarations, (yyvsp[(2) - (3)].constDeclList).m_funcDeclarations, (yyvsp[(2) - (3)].constDeclList).m_features, (yyvsp[(2) - (3)].constDeclList).m_numConstants);
DBG((yyval.statementNode).m_node, (yylsp[(1) - (3)]), (yylsp[(3) - (3)])); ;}
break;
case 231:
-#line 907 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 905 "../parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) ConstStatementNode(GLOBAL_DATA, (yyvsp[(2) - (3)].constDeclList).m_node.head), (yyvsp[(2) - (3)].constDeclList).m_varDeclarations, (yyvsp[(2) - (3)].constDeclList).m_funcDeclarations, (yyvsp[(2) - (3)].constDeclList).m_features, (yyvsp[(2) - (3)].constDeclList).m_numConstants);
DBG((yyval.statementNode).m_node, (yylsp[(1) - (3)]), (yylsp[(2) - (3)])); AUTO_SEMICOLON; ;}
break;
case 232:
-#line 912 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 910 "../parser/Grammar.y"
{ (yyval.constDeclList).m_node.head = (yyvsp[(1) - (1)].constDeclNode).m_node;
(yyval.constDeclList).m_node.tail = (yyval.constDeclList).m_node.head;
(yyval.constDeclList).m_varDeclarations = new (GLOBAL_DATA) ParserArenaData<DeclarationStacks::VarStack>;
@@ -3970,7 +4248,9 @@ yyreduce:
break;
case 233:
-#line 921 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 919 "../parser/Grammar.y"
{ (yyval.constDeclList).m_node.head = (yyvsp[(1) - (3)].constDeclList).m_node.head;
(yyvsp[(1) - (3)].constDeclList).m_node.tail->m_next = (yyvsp[(3) - (3)].constDeclNode).m_node;
(yyval.constDeclList).m_node.tail = (yyvsp[(3) - (3)].constDeclNode).m_node;
@@ -3982,50 +4262,68 @@ yyreduce:
break;
case 234:
-#line 932 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 930 "../parser/Grammar.y"
{ (yyval.constDeclNode) = createNodeInfo<ConstDeclNode*>(new (GLOBAL_DATA) ConstDeclNode(GLOBAL_DATA, *(yyvsp[(1) - (1)].ident), 0), (*(yyvsp[(1) - (1)].ident) == GLOBAL_DATA->propertyNames->arguments) ? ArgumentsFeature : 0, 0); ;}
break;
case 235:
-#line 933 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 931 "../parser/Grammar.y"
{ (yyval.constDeclNode) = createNodeInfo<ConstDeclNode*>(new (GLOBAL_DATA) ConstDeclNode(GLOBAL_DATA, *(yyvsp[(1) - (2)].ident), (yyvsp[(2) - (2)].expressionNode).m_node), ((*(yyvsp[(1) - (2)].ident) == GLOBAL_DATA->propertyNames->arguments) ? ArgumentsFeature : 0) | (yyvsp[(2) - (2)].expressionNode).m_features, (yyvsp[(2) - (2)].expressionNode).m_numConstants); ;}
break;
case 236:
-#line 937 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 935 "../parser/Grammar.y"
{ (yyval.expressionNode) = (yyvsp[(2) - (2)].expressionNode); ;}
break;
case 237:
-#line 941 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 939 "../parser/Grammar.y"
{ (yyval.expressionNode) = (yyvsp[(2) - (2)].expressionNode); ;}
break;
case 238:
-#line 945 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 943 "../parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) EmptyStatementNode(GLOBAL_DATA), 0, 0, 0, 0); ;}
break;
case 239:
-#line 949 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 947 "../parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) ExprStatementNode(GLOBAL_DATA, (yyvsp[(1) - (2)].expressionNode).m_node), 0, 0, (yyvsp[(1) - (2)].expressionNode).m_features, (yyvsp[(1) - (2)].expressionNode).m_numConstants);
DBG((yyval.statementNode).m_node, (yylsp[(1) - (2)]), (yylsp[(2) - (2)])); ;}
break;
case 240:
-#line 951 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 949 "../parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) ExprStatementNode(GLOBAL_DATA, (yyvsp[(1) - (2)].expressionNode).m_node), 0, 0, (yyvsp[(1) - (2)].expressionNode).m_features, (yyvsp[(1) - (2)].expressionNode).m_numConstants);
DBG((yyval.statementNode).m_node, (yylsp[(1) - (2)]), (yylsp[(1) - (2)])); AUTO_SEMICOLON; ;}
break;
case 241:
-#line 957 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 955 "../parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) IfNode(GLOBAL_DATA, (yyvsp[(3) - (5)].expressionNode).m_node, (yyvsp[(5) - (5)].statementNode).m_node), (yyvsp[(5) - (5)].statementNode).m_varDeclarations, (yyvsp[(5) - (5)].statementNode).m_funcDeclarations, (yyvsp[(3) - (5)].expressionNode).m_features | (yyvsp[(5) - (5)].statementNode).m_features, (yyvsp[(3) - (5)].expressionNode).m_numConstants + (yyvsp[(5) - (5)].statementNode).m_numConstants);
DBG((yyval.statementNode).m_node, (yylsp[(1) - (5)]), (yylsp[(4) - (5)])); ;}
break;
case 242:
-#line 960 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 958 "../parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) IfElseNode(GLOBAL_DATA, (yyvsp[(3) - (7)].expressionNode).m_node, (yyvsp[(5) - (7)].statementNode).m_node, (yyvsp[(7) - (7)].statementNode).m_node),
mergeDeclarationLists((yyvsp[(5) - (7)].statementNode).m_varDeclarations, (yyvsp[(7) - (7)].statementNode).m_varDeclarations),
mergeDeclarationLists((yyvsp[(5) - (7)].statementNode).m_funcDeclarations, (yyvsp[(7) - (7)].statementNode).m_funcDeclarations),
@@ -4035,25 +4333,33 @@ yyreduce:
break;
case 243:
-#line 969 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 967 "../parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) DoWhileNode(GLOBAL_DATA, (yyvsp[(2) - (7)].statementNode).m_node, (yyvsp[(5) - (7)].expressionNode).m_node), (yyvsp[(2) - (7)].statementNode).m_varDeclarations, (yyvsp[(2) - (7)].statementNode).m_funcDeclarations, (yyvsp[(2) - (7)].statementNode).m_features | (yyvsp[(5) - (7)].expressionNode).m_features, (yyvsp[(2) - (7)].statementNode).m_numConstants + (yyvsp[(5) - (7)].expressionNode).m_numConstants);
DBG((yyval.statementNode).m_node, (yylsp[(1) - (7)]), (yylsp[(3) - (7)])); ;}
break;
case 244:
-#line 971 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 969 "../parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) DoWhileNode(GLOBAL_DATA, (yyvsp[(2) - (7)].statementNode).m_node, (yyvsp[(5) - (7)].expressionNode).m_node), (yyvsp[(2) - (7)].statementNode).m_varDeclarations, (yyvsp[(2) - (7)].statementNode).m_funcDeclarations, (yyvsp[(2) - (7)].statementNode).m_features | (yyvsp[(5) - (7)].expressionNode).m_features, (yyvsp[(2) - (7)].statementNode).m_numConstants + (yyvsp[(5) - (7)].expressionNode).m_numConstants);
DBG((yyval.statementNode).m_node, (yylsp[(1) - (7)]), (yylsp[(3) - (7)])); ;}
break;
case 245:
-#line 973 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 971 "../parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) WhileNode(GLOBAL_DATA, (yyvsp[(3) - (5)].expressionNode).m_node, (yyvsp[(5) - (5)].statementNode).m_node), (yyvsp[(5) - (5)].statementNode).m_varDeclarations, (yyvsp[(5) - (5)].statementNode).m_funcDeclarations, (yyvsp[(3) - (5)].expressionNode).m_features | (yyvsp[(5) - (5)].statementNode).m_features, (yyvsp[(3) - (5)].expressionNode).m_numConstants + (yyvsp[(5) - (5)].statementNode).m_numConstants);
DBG((yyval.statementNode).m_node, (yylsp[(1) - (5)]), (yylsp[(4) - (5)])); ;}
break;
case 246:
-#line 976 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 974 "../parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) ForNode(GLOBAL_DATA, (yyvsp[(3) - (9)].expressionNode).m_node, (yyvsp[(5) - (9)].expressionNode).m_node, (yyvsp[(7) - (9)].expressionNode).m_node, (yyvsp[(9) - (9)].statementNode).m_node, false), (yyvsp[(9) - (9)].statementNode).m_varDeclarations, (yyvsp[(9) - (9)].statementNode).m_funcDeclarations,
(yyvsp[(3) - (9)].expressionNode).m_features | (yyvsp[(5) - (9)].expressionNode).m_features | (yyvsp[(7) - (9)].expressionNode).m_features | (yyvsp[(9) - (9)].statementNode).m_features,
(yyvsp[(3) - (9)].expressionNode).m_numConstants + (yyvsp[(5) - (9)].expressionNode).m_numConstants + (yyvsp[(7) - (9)].expressionNode).m_numConstants + (yyvsp[(9) - (9)].statementNode).m_numConstants);
@@ -4062,7 +4368,9 @@ yyreduce:
break;
case 247:
-#line 982 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 980 "../parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) ForNode(GLOBAL_DATA, (yyvsp[(4) - (10)].varDeclList).m_node, (yyvsp[(6) - (10)].expressionNode).m_node, (yyvsp[(8) - (10)].expressionNode).m_node, (yyvsp[(10) - (10)].statementNode).m_node, true),
mergeDeclarationLists((yyvsp[(4) - (10)].varDeclList).m_varDeclarations, (yyvsp[(10) - (10)].statementNode).m_varDeclarations),
mergeDeclarationLists((yyvsp[(4) - (10)].varDeclList).m_funcDeclarations, (yyvsp[(10) - (10)].statementNode).m_funcDeclarations),
@@ -4072,7 +4380,9 @@ yyreduce:
break;
case 248:
-#line 989 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 987 "../parser/Grammar.y"
{
ForInNode* node = new (GLOBAL_DATA) ForInNode(GLOBAL_DATA, (yyvsp[(3) - (7)].expressionNode).m_node, (yyvsp[(5) - (7)].expressionNode).m_node, (yyvsp[(7) - (7)].statementNode).m_node);
SET_EXCEPTION_LOCATION(node, (yylsp[(3) - (7)]).first_column, (yylsp[(3) - (7)]).last_column, (yylsp[(5) - (7)]).last_column);
@@ -4084,7 +4394,9 @@ yyreduce:
break;
case 249:
-#line 998 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 996 "../parser/Grammar.y"
{ ForInNode *forIn = new (GLOBAL_DATA) ForInNode(GLOBAL_DATA, *(yyvsp[(4) - (8)].ident), 0, (yyvsp[(6) - (8)].expressionNode).m_node, (yyvsp[(8) - (8)].statementNode).m_node, (yylsp[(5) - (8)]).first_column, (yylsp[(5) - (8)]).first_column - (yylsp[(4) - (8)]).first_column, (yylsp[(6) - (8)]).last_column - (yylsp[(5) - (8)]).first_column);
SET_EXCEPTION_LOCATION(forIn, (yylsp[(4) - (8)]).first_column, (yylsp[(5) - (8)]).first_column + 1, (yylsp[(6) - (8)]).last_column);
appendToVarDeclarationList(GLOBAL_DATA, (yyvsp[(8) - (8)].statementNode).m_varDeclarations, *(yyvsp[(4) - (8)].ident), DeclarationStacks::HasInitializer);
@@ -4093,7 +4405,9 @@ yyreduce:
break;
case 250:
-#line 1004 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1002 "../parser/Grammar.y"
{ ForInNode *forIn = new (GLOBAL_DATA) ForInNode(GLOBAL_DATA, *(yyvsp[(4) - (9)].ident), (yyvsp[(5) - (9)].expressionNode).m_node, (yyvsp[(7) - (9)].expressionNode).m_node, (yyvsp[(9) - (9)].statementNode).m_node, (yylsp[(5) - (9)]).first_column, (yylsp[(5) - (9)]).first_column - (yylsp[(4) - (9)]).first_column, (yylsp[(5) - (9)]).last_column - (yylsp[(5) - (9)]).first_column);
SET_EXCEPTION_LOCATION(forIn, (yylsp[(4) - (9)]).first_column, (yylsp[(6) - (9)]).first_column + 1, (yylsp[(7) - (9)]).last_column);
appendToVarDeclarationList(GLOBAL_DATA, (yyvsp[(9) - (9)].statementNode).m_varDeclarations, *(yyvsp[(4) - (9)].ident), DeclarationStacks::HasInitializer);
@@ -4104,17 +4418,23 @@ yyreduce:
break;
case 251:
-#line 1014 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1012 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(0, 0, 0); ;}
break;
case 253:
-#line 1019 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1017 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(0, 0, 0); ;}
break;
case 255:
-#line 1024 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1022 "../parser/Grammar.y"
{ ContinueNode* node = new (GLOBAL_DATA) ContinueNode(GLOBAL_DATA);
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (2)]).first_column, (yylsp[(1) - (2)]).last_column, (yylsp[(1) - (2)]).last_column);
(yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(node, 0, 0, 0, 0);
@@ -4122,7 +4442,9 @@ yyreduce:
break;
case 256:
-#line 1028 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1026 "../parser/Grammar.y"
{ ContinueNode* node = new (GLOBAL_DATA) ContinueNode(GLOBAL_DATA);
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (2)]).first_column, (yylsp[(1) - (2)]).last_column, (yylsp[(1) - (2)]).last_column);
(yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(node, 0, 0, 0, 0);
@@ -4130,7 +4452,9 @@ yyreduce:
break;
case 257:
-#line 1032 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1030 "../parser/Grammar.y"
{ ContinueNode* node = new (GLOBAL_DATA) ContinueNode(GLOBAL_DATA, *(yyvsp[(2) - (3)].ident));
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (3)]).first_column, (yylsp[(2) - (3)]).last_column, (yylsp[(2) - (3)]).last_column);
(yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(node, 0, 0, 0, 0);
@@ -4138,7 +4462,9 @@ yyreduce:
break;
case 258:
-#line 1036 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1034 "../parser/Grammar.y"
{ ContinueNode* node = new (GLOBAL_DATA) ContinueNode(GLOBAL_DATA, *(yyvsp[(2) - (3)].ident));
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (3)]).first_column, (yylsp[(2) - (3)]).last_column, (yylsp[(2) - (3)]).last_column);
(yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(node, 0, 0, 0, 0);
@@ -4146,82 +4472,106 @@ yyreduce:
break;
case 259:
-#line 1043 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1041 "../parser/Grammar.y"
{ BreakNode* node = new (GLOBAL_DATA) BreakNode(GLOBAL_DATA);
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (2)]).first_column, (yylsp[(1) - (2)]).last_column, (yylsp[(1) - (2)]).last_column);
(yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(node, 0, 0, 0, 0); DBG((yyval.statementNode).m_node, (yylsp[(1) - (2)]), (yylsp[(2) - (2)])); ;}
break;
case 260:
-#line 1046 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1044 "../parser/Grammar.y"
{ BreakNode* node = new (GLOBAL_DATA) BreakNode(GLOBAL_DATA);
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (2)]).first_column, (yylsp[(1) - (2)]).last_column, (yylsp[(1) - (2)]).last_column);
(yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) BreakNode(GLOBAL_DATA), 0, 0, 0, 0); DBG((yyval.statementNode).m_node, (yylsp[(1) - (2)]), (yylsp[(1) - (2)])); AUTO_SEMICOLON; ;}
break;
case 261:
-#line 1049 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1047 "../parser/Grammar.y"
{ BreakNode* node = new (GLOBAL_DATA) BreakNode(GLOBAL_DATA, *(yyvsp[(2) - (3)].ident));
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (3)]).first_column, (yylsp[(2) - (3)]).last_column, (yylsp[(2) - (3)]).last_column);
(yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(node, 0, 0, 0, 0); DBG((yyval.statementNode).m_node, (yylsp[(1) - (3)]), (yylsp[(3) - (3)])); ;}
break;
case 262:
-#line 1052 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1050 "../parser/Grammar.y"
{ BreakNode* node = new (GLOBAL_DATA) BreakNode(GLOBAL_DATA, *(yyvsp[(2) - (3)].ident));
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (3)]).first_column, (yylsp[(2) - (3)]).last_column, (yylsp[(2) - (3)]).last_column);
(yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) BreakNode(GLOBAL_DATA, *(yyvsp[(2) - (3)].ident)), 0, 0, 0, 0); DBG((yyval.statementNode).m_node, (yylsp[(1) - (3)]), (yylsp[(2) - (3)])); AUTO_SEMICOLON; ;}
break;
case 263:
-#line 1058 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1056 "../parser/Grammar.y"
{ ReturnNode* node = new (GLOBAL_DATA) ReturnNode(GLOBAL_DATA, 0);
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (2)]).first_column, (yylsp[(1) - (2)]).last_column, (yylsp[(1) - (2)]).last_column);
(yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(node, 0, 0, 0, 0); DBG((yyval.statementNode).m_node, (yylsp[(1) - (2)]), (yylsp[(2) - (2)])); ;}
break;
case 264:
-#line 1061 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1059 "../parser/Grammar.y"
{ ReturnNode* node = new (GLOBAL_DATA) ReturnNode(GLOBAL_DATA, 0);
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (2)]).first_column, (yylsp[(1) - (2)]).last_column, (yylsp[(1) - (2)]).last_column);
(yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(node, 0, 0, 0, 0); DBG((yyval.statementNode).m_node, (yylsp[(1) - (2)]), (yylsp[(1) - (2)])); AUTO_SEMICOLON; ;}
break;
case 265:
-#line 1064 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1062 "../parser/Grammar.y"
{ ReturnNode* node = new (GLOBAL_DATA) ReturnNode(GLOBAL_DATA, (yyvsp[(2) - (3)].expressionNode).m_node);
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (3)]).first_column, (yylsp[(2) - (3)]).last_column, (yylsp[(2) - (3)]).last_column);
(yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(node, 0, 0, (yyvsp[(2) - (3)].expressionNode).m_features, (yyvsp[(2) - (3)].expressionNode).m_numConstants); DBG((yyval.statementNode).m_node, (yylsp[(1) - (3)]), (yylsp[(3) - (3)])); ;}
break;
case 266:
-#line 1067 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1065 "../parser/Grammar.y"
{ ReturnNode* node = new (GLOBAL_DATA) ReturnNode(GLOBAL_DATA, (yyvsp[(2) - (3)].expressionNode).m_node);
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (3)]).first_column, (yylsp[(2) - (3)]).last_column, (yylsp[(2) - (3)]).last_column);
(yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(node, 0, 0, (yyvsp[(2) - (3)].expressionNode).m_features, (yyvsp[(2) - (3)].expressionNode).m_numConstants); DBG((yyval.statementNode).m_node, (yylsp[(1) - (3)]), (yylsp[(2) - (3)])); AUTO_SEMICOLON; ;}
break;
case 267:
-#line 1073 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1071 "../parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) WithNode(GLOBAL_DATA, (yyvsp[(3) - (5)].expressionNode).m_node, (yyvsp[(5) - (5)].statementNode).m_node, (yylsp[(3) - (5)]).last_column, (yylsp[(3) - (5)]).last_column - (yylsp[(3) - (5)]).first_column),
(yyvsp[(5) - (5)].statementNode).m_varDeclarations, (yyvsp[(5) - (5)].statementNode).m_funcDeclarations, (yyvsp[(3) - (5)].expressionNode).m_features | (yyvsp[(5) - (5)].statementNode).m_features | WithFeature, (yyvsp[(3) - (5)].expressionNode).m_numConstants + (yyvsp[(5) - (5)].statementNode).m_numConstants);
DBG((yyval.statementNode).m_node, (yylsp[(1) - (5)]), (yylsp[(4) - (5)])); ;}
break;
case 268:
-#line 1079 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1077 "../parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) SwitchNode(GLOBAL_DATA, (yyvsp[(3) - (5)].expressionNode).m_node, (yyvsp[(5) - (5)].caseBlockNode).m_node), (yyvsp[(5) - (5)].caseBlockNode).m_varDeclarations, (yyvsp[(5) - (5)].caseBlockNode).m_funcDeclarations,
(yyvsp[(3) - (5)].expressionNode).m_features | (yyvsp[(5) - (5)].caseBlockNode).m_features, (yyvsp[(3) - (5)].expressionNode).m_numConstants + (yyvsp[(5) - (5)].caseBlockNode).m_numConstants);
DBG((yyval.statementNode).m_node, (yylsp[(1) - (5)]), (yylsp[(4) - (5)])); ;}
break;
case 269:
-#line 1085 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1083 "../parser/Grammar.y"
{ (yyval.caseBlockNode) = createNodeDeclarationInfo<CaseBlockNode*>(new (GLOBAL_DATA) CaseBlockNode(GLOBAL_DATA, (yyvsp[(2) - (3)].clauseList).m_node.head, 0, 0), (yyvsp[(2) - (3)].clauseList).m_varDeclarations, (yyvsp[(2) - (3)].clauseList).m_funcDeclarations, (yyvsp[(2) - (3)].clauseList).m_features, (yyvsp[(2) - (3)].clauseList).m_numConstants); ;}
break;
case 270:
-#line 1087 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1085 "../parser/Grammar.y"
{ (yyval.caseBlockNode) = createNodeDeclarationInfo<CaseBlockNode*>(new (GLOBAL_DATA) CaseBlockNode(GLOBAL_DATA, (yyvsp[(2) - (5)].clauseList).m_node.head, (yyvsp[(3) - (5)].caseClauseNode).m_node, (yyvsp[(4) - (5)].clauseList).m_node.head),
mergeDeclarationLists(mergeDeclarationLists((yyvsp[(2) - (5)].clauseList).m_varDeclarations, (yyvsp[(3) - (5)].caseClauseNode).m_varDeclarations), (yyvsp[(4) - (5)].clauseList).m_varDeclarations),
mergeDeclarationLists(mergeDeclarationLists((yyvsp[(2) - (5)].clauseList).m_funcDeclarations, (yyvsp[(3) - (5)].caseClauseNode).m_funcDeclarations), (yyvsp[(4) - (5)].clauseList).m_funcDeclarations),
@@ -4230,12 +4580,16 @@ yyreduce:
break;
case 271:
-#line 1095 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1093 "../parser/Grammar.y"
{ (yyval.clauseList).m_node.head = 0; (yyval.clauseList).m_node.tail = 0; (yyval.clauseList).m_varDeclarations = 0; (yyval.clauseList).m_funcDeclarations = 0; (yyval.clauseList).m_features = 0; (yyval.clauseList).m_numConstants = 0; ;}
break;
case 273:
-#line 1100 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1098 "../parser/Grammar.y"
{ (yyval.clauseList).m_node.head = new (GLOBAL_DATA) ClauseListNode(GLOBAL_DATA, (yyvsp[(1) - (1)].caseClauseNode).m_node);
(yyval.clauseList).m_node.tail = (yyval.clauseList).m_node.head;
(yyval.clauseList).m_varDeclarations = (yyvsp[(1) - (1)].caseClauseNode).m_varDeclarations;
@@ -4245,7 +4599,9 @@ yyreduce:
break;
case 274:
-#line 1106 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1104 "../parser/Grammar.y"
{ (yyval.clauseList).m_node.head = (yyvsp[(1) - (2)].clauseList).m_node.head;
(yyval.clauseList).m_node.tail = new (GLOBAL_DATA) ClauseListNode(GLOBAL_DATA, (yyvsp[(1) - (2)].clauseList).m_node.tail, (yyvsp[(2) - (2)].caseClauseNode).m_node);
(yyval.clauseList).m_varDeclarations = mergeDeclarationLists((yyvsp[(1) - (2)].clauseList).m_varDeclarations, (yyvsp[(2) - (2)].caseClauseNode).m_varDeclarations);
@@ -4256,34 +4612,46 @@ yyreduce:
break;
case 275:
-#line 1116 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1114 "../parser/Grammar.y"
{ (yyval.caseClauseNode) = createNodeDeclarationInfo<CaseClauseNode*>(new (GLOBAL_DATA) CaseClauseNode(GLOBAL_DATA, (yyvsp[(2) - (3)].expressionNode).m_node), 0, 0, (yyvsp[(2) - (3)].expressionNode).m_features, (yyvsp[(2) - (3)].expressionNode).m_numConstants); ;}
break;
case 276:
-#line 1117 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1115 "../parser/Grammar.y"
{ (yyval.caseClauseNode) = createNodeDeclarationInfo<CaseClauseNode*>(new (GLOBAL_DATA) CaseClauseNode(GLOBAL_DATA, (yyvsp[(2) - (4)].expressionNode).m_node, (yyvsp[(4) - (4)].sourceElements).m_node), (yyvsp[(4) - (4)].sourceElements).m_varDeclarations, (yyvsp[(4) - (4)].sourceElements).m_funcDeclarations, (yyvsp[(2) - (4)].expressionNode).m_features | (yyvsp[(4) - (4)].sourceElements).m_features, (yyvsp[(2) - (4)].expressionNode).m_numConstants + (yyvsp[(4) - (4)].sourceElements).m_numConstants); ;}
break;
case 277:
-#line 1121 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1119 "../parser/Grammar.y"
{ (yyval.caseClauseNode) = createNodeDeclarationInfo<CaseClauseNode*>(new (GLOBAL_DATA) CaseClauseNode(GLOBAL_DATA, 0), 0, 0, 0, 0); ;}
break;
case 278:
-#line 1122 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1120 "../parser/Grammar.y"
{ (yyval.caseClauseNode) = createNodeDeclarationInfo<CaseClauseNode*>(new (GLOBAL_DATA) CaseClauseNode(GLOBAL_DATA, 0, (yyvsp[(3) - (3)].sourceElements).m_node), (yyvsp[(3) - (3)].sourceElements).m_varDeclarations, (yyvsp[(3) - (3)].sourceElements).m_funcDeclarations, (yyvsp[(3) - (3)].sourceElements).m_features, (yyvsp[(3) - (3)].sourceElements).m_numConstants); ;}
break;
case 279:
-#line 1126 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1124 "../parser/Grammar.y"
{ LabelNode* node = new (GLOBAL_DATA) LabelNode(GLOBAL_DATA, *(yyvsp[(1) - (3)].ident), (yyvsp[(3) - (3)].statementNode).m_node);
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (3)]).first_column, (yylsp[(2) - (3)]).last_column, (yylsp[(2) - (3)]).last_column);
(yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(node, (yyvsp[(3) - (3)].statementNode).m_varDeclarations, (yyvsp[(3) - (3)].statementNode).m_funcDeclarations, (yyvsp[(3) - (3)].statementNode).m_features, (yyvsp[(3) - (3)].statementNode).m_numConstants); ;}
break;
case 280:
-#line 1132 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1130 "../parser/Grammar.y"
{ ThrowNode* node = new (GLOBAL_DATA) ThrowNode(GLOBAL_DATA, (yyvsp[(2) - (3)].expressionNode).m_node);
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (3)]).first_column, (yylsp[(2) - (3)]).last_column, (yylsp[(2) - (3)]).last_column);
(yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(node, 0, 0, (yyvsp[(2) - (3)].expressionNode).m_features, (yyvsp[(2) - (3)].expressionNode).m_numConstants); DBG((yyval.statementNode).m_node, (yylsp[(1) - (3)]), (yylsp[(2) - (3)]));
@@ -4291,7 +4659,9 @@ yyreduce:
break;
case 281:
-#line 1136 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1134 "../parser/Grammar.y"
{ ThrowNode* node = new (GLOBAL_DATA) ThrowNode(GLOBAL_DATA, (yyvsp[(2) - (3)].expressionNode).m_node);
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (3)]).first_column, (yylsp[(2) - (3)]).last_column, (yylsp[(2) - (3)]).last_column);
(yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(node, 0, 0, (yyvsp[(2) - (3)].expressionNode).m_features, (yyvsp[(2) - (3)].expressionNode).m_numConstants); DBG((yyval.statementNode).m_node, (yylsp[(1) - (3)]), (yylsp[(2) - (3)])); AUTO_SEMICOLON;
@@ -4299,7 +4669,9 @@ yyreduce:
break;
case 282:
-#line 1143 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1141 "../parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) TryNode(GLOBAL_DATA, (yyvsp[(2) - (4)].statementNode).m_node, GLOBAL_DATA->propertyNames->nullIdentifier, false, 0, (yyvsp[(4) - (4)].statementNode).m_node),
mergeDeclarationLists((yyvsp[(2) - (4)].statementNode).m_varDeclarations, (yyvsp[(4) - (4)].statementNode).m_varDeclarations),
mergeDeclarationLists((yyvsp[(2) - (4)].statementNode).m_funcDeclarations, (yyvsp[(4) - (4)].statementNode).m_funcDeclarations),
@@ -4309,7 +4681,9 @@ yyreduce:
break;
case 283:
-#line 1149 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1147 "../parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) TryNode(GLOBAL_DATA, (yyvsp[(2) - (7)].statementNode).m_node, *(yyvsp[(5) - (7)].ident), ((yyvsp[(7) - (7)].statementNode).m_features & EvalFeature) != 0, (yyvsp[(7) - (7)].statementNode).m_node, 0),
mergeDeclarationLists((yyvsp[(2) - (7)].statementNode).m_varDeclarations, (yyvsp[(7) - (7)].statementNode).m_varDeclarations),
mergeDeclarationLists((yyvsp[(2) - (7)].statementNode).m_funcDeclarations, (yyvsp[(7) - (7)].statementNode).m_funcDeclarations),
@@ -4319,7 +4693,9 @@ yyreduce:
break;
case 284:
-#line 1156 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1154 "../parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) TryNode(GLOBAL_DATA, (yyvsp[(2) - (9)].statementNode).m_node, *(yyvsp[(5) - (9)].ident), ((yyvsp[(7) - (9)].statementNode).m_features & EvalFeature) != 0, (yyvsp[(7) - (9)].statementNode).m_node, (yyvsp[(9) - (9)].statementNode).m_node),
mergeDeclarationLists(mergeDeclarationLists((yyvsp[(2) - (9)].statementNode).m_varDeclarations, (yyvsp[(7) - (9)].statementNode).m_varDeclarations), (yyvsp[(9) - (9)].statementNode).m_varDeclarations),
mergeDeclarationLists(mergeDeclarationLists((yyvsp[(2) - (9)].statementNode).m_funcDeclarations, (yyvsp[(7) - (9)].statementNode).m_funcDeclarations), (yyvsp[(9) - (9)].statementNode).m_funcDeclarations),
@@ -4329,24 +4705,32 @@ yyreduce:
break;
case 285:
-#line 1165 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1163 "../parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) DebuggerStatementNode(GLOBAL_DATA), 0, 0, 0, 0);
DBG((yyval.statementNode).m_node, (yylsp[(1) - (2)]), (yylsp[(2) - (2)])); ;}
break;
case 286:
-#line 1167 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1165 "../parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) DebuggerStatementNode(GLOBAL_DATA), 0, 0, 0, 0);
DBG((yyval.statementNode).m_node, (yylsp[(1) - (2)]), (yylsp[(1) - (2)])); AUTO_SEMICOLON; ;}
break;
case 287:
-#line 1172 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1170 "../parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new FuncDeclNode(GLOBAL_DATA, *(yyvsp[(2) - (7)].ident), (yyvsp[(6) - (7)].functionBodyNode), LEXER->sourceCode((yyvsp[(5) - (7)].intValue), (yyvsp[(7) - (7)].intValue), (yylsp[(5) - (7)]).first_line)), 0, new (GLOBAL_DATA) ParserArenaData<DeclarationStacks::FunctionStack>, ((*(yyvsp[(2) - (7)].ident) == GLOBAL_DATA->propertyNames->arguments) ? ArgumentsFeature : 0) | ClosureFeature, 0); DBG((yyvsp[(6) - (7)].functionBodyNode), (yylsp[(5) - (7)]), (yylsp[(7) - (7)])); (yyval.statementNode).m_funcDeclarations->data.append(static_cast<FuncDeclNode*>((yyval.statementNode).m_node)); ;}
break;
case 288:
-#line 1174 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1172 "../parser/Grammar.y"
{
(yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new FuncDeclNode(GLOBAL_DATA, *(yyvsp[(2) - (8)].ident), (yyvsp[(7) - (8)].functionBodyNode), LEXER->sourceCode((yyvsp[(6) - (8)].intValue), (yyvsp[(8) - (8)].intValue), (yylsp[(6) - (8)]).first_line), (yyvsp[(4) - (8)].parameterList).m_node.head), 0, new (GLOBAL_DATA) ParserArenaData<DeclarationStacks::FunctionStack>, ((*(yyvsp[(2) - (8)].ident) == GLOBAL_DATA->propertyNames->arguments) ? ArgumentsFeature : 0) | (yyvsp[(4) - (8)].parameterList).m_features | ClosureFeature, 0);
if ((yyvsp[(4) - (8)].parameterList).m_features & ArgumentsFeature)
@@ -4357,12 +4741,16 @@ yyreduce:
break;
case 289:
-#line 1184 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1182 "../parser/Grammar.y"
{ (yyval.funcExprNode) = createNodeInfo(new FuncExprNode(GLOBAL_DATA, GLOBAL_DATA->propertyNames->nullIdentifier, (yyvsp[(5) - (6)].functionBodyNode), LEXER->sourceCode((yyvsp[(4) - (6)].intValue), (yyvsp[(6) - (6)].intValue), (yylsp[(4) - (6)]).first_line)), ClosureFeature, 0); DBG((yyvsp[(5) - (6)].functionBodyNode), (yylsp[(4) - (6)]), (yylsp[(6) - (6)])); ;}
break;
case 290:
-#line 1186 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1184 "../parser/Grammar.y"
{
(yyval.funcExprNode) = createNodeInfo(new FuncExprNode(GLOBAL_DATA, GLOBAL_DATA->propertyNames->nullIdentifier, (yyvsp[(6) - (7)].functionBodyNode), LEXER->sourceCode((yyvsp[(5) - (7)].intValue), (yyvsp[(7) - (7)].intValue), (yylsp[(5) - (7)]).first_line), (yyvsp[(3) - (7)].parameterList).m_node.head), (yyvsp[(3) - (7)].parameterList).m_features | ClosureFeature, 0);
if ((yyvsp[(3) - (7)].parameterList).m_features & ArgumentsFeature)
@@ -4372,12 +4760,16 @@ yyreduce:
break;
case 291:
-#line 1192 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1190 "../parser/Grammar.y"
{ (yyval.funcExprNode) = createNodeInfo(new FuncExprNode(GLOBAL_DATA, *(yyvsp[(2) - (7)].ident), (yyvsp[(6) - (7)].functionBodyNode), LEXER->sourceCode((yyvsp[(5) - (7)].intValue), (yyvsp[(7) - (7)].intValue), (yylsp[(5) - (7)]).first_line)), ClosureFeature, 0); DBG((yyvsp[(6) - (7)].functionBodyNode), (yylsp[(5) - (7)]), (yylsp[(7) - (7)])); ;}
break;
case 292:
-#line 1194 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1192 "../parser/Grammar.y"
{
(yyval.funcExprNode) = createNodeInfo(new FuncExprNode(GLOBAL_DATA, *(yyvsp[(2) - (8)].ident), (yyvsp[(7) - (8)].functionBodyNode), LEXER->sourceCode((yyvsp[(6) - (8)].intValue), (yyvsp[(8) - (8)].intValue), (yylsp[(6) - (8)]).first_line), (yyvsp[(4) - (8)].parameterList).m_node.head), (yyvsp[(4) - (8)].parameterList).m_features | ClosureFeature, 0);
if ((yyvsp[(4) - (8)].parameterList).m_features & ArgumentsFeature)
@@ -4387,42 +4779,56 @@ yyreduce:
break;
case 293:
-#line 1203 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1201 "../parser/Grammar.y"
{ (yyval.parameterList).m_node.head = new (GLOBAL_DATA) ParameterNode(GLOBAL_DATA, *(yyvsp[(1) - (1)].ident));
(yyval.parameterList).m_features = (*(yyvsp[(1) - (1)].ident) == GLOBAL_DATA->propertyNames->arguments) ? ArgumentsFeature : 0;
(yyval.parameterList).m_node.tail = (yyval.parameterList).m_node.head; ;}
break;
case 294:
-#line 1206 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1204 "../parser/Grammar.y"
{ (yyval.parameterList).m_node.head = (yyvsp[(1) - (3)].parameterList).m_node.head;
(yyval.parameterList).m_features = (yyvsp[(1) - (3)].parameterList).m_features | ((*(yyvsp[(3) - (3)].ident) == GLOBAL_DATA->propertyNames->arguments) ? ArgumentsFeature : 0);
(yyval.parameterList).m_node.tail = new (GLOBAL_DATA) ParameterNode(GLOBAL_DATA, (yyvsp[(1) - (3)].parameterList).m_node.tail, *(yyvsp[(3) - (3)].ident)); ;}
break;
case 295:
-#line 1212 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1210 "../parser/Grammar.y"
{ (yyval.functionBodyNode) = FunctionBodyNode::create(GLOBAL_DATA); ;}
break;
case 296:
-#line 1213 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1211 "../parser/Grammar.y"
{ (yyval.functionBodyNode) = FunctionBodyNode::create(GLOBAL_DATA); ;}
break;
case 297:
-#line 1217 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1215 "../parser/Grammar.y"
{ GLOBAL_DATA->parser->didFinishParsing(new (GLOBAL_DATA) SourceElements(GLOBAL_DATA), 0, 0, NoFeatures, (yylsp[(0) - (0)]).last_line, 0); ;}
break;
case 298:
-#line 1218 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1216 "../parser/Grammar.y"
{ GLOBAL_DATA->parser->didFinishParsing((yyvsp[(1) - (1)].sourceElements).m_node, (yyvsp[(1) - (1)].sourceElements).m_varDeclarations, (yyvsp[(1) - (1)].sourceElements).m_funcDeclarations, (yyvsp[(1) - (1)].sourceElements).m_features,
(yylsp[(1) - (1)]).last_line, (yyvsp[(1) - (1)].sourceElements).m_numConstants); ;}
break;
case 299:
-#line 1223 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1221 "../parser/Grammar.y"
{ (yyval.sourceElements).m_node = new (GLOBAL_DATA) SourceElements(GLOBAL_DATA);
(yyval.sourceElements).m_node->append((yyvsp[(1) - (1)].statementNode).m_node);
(yyval.sourceElements).m_varDeclarations = (yyvsp[(1) - (1)].statementNode).m_varDeclarations;
@@ -4433,7 +4839,9 @@ yyreduce:
break;
case 300:
-#line 1230 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1228 "../parser/Grammar.y"
{ (yyval.sourceElements).m_node->append((yyvsp[(2) - (2)].statementNode).m_node);
(yyval.sourceElements).m_varDeclarations = mergeDeclarationLists((yyvsp[(1) - (2)].sourceElements).m_varDeclarations, (yyvsp[(2) - (2)].statementNode).m_varDeclarations);
(yyval.sourceElements).m_funcDeclarations = mergeDeclarationLists((yyvsp[(1) - (2)].sourceElements).m_funcDeclarations, (yyvsp[(2) - (2)].statementNode).m_funcDeclarations);
@@ -4443,188 +4851,261 @@ yyreduce:
break;
case 304:
-#line 1244 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1242 "../parser/Grammar.y"
{ ;}
break;
case 305:
-#line 1245 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1243 "../parser/Grammar.y"
{ ;}
break;
case 306:
-#line 1246 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1244 "../parser/Grammar.y"
{ Lexer& l = *LEXER; if (!l.scanRegExp()) YYABORT; ;}
break;
case 307:
-#line 1247 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1245 "../parser/Grammar.y"
{ Lexer& l = *LEXER; if (!l.scanRegExp()) YYABORT; ;}
break;
case 308:
-#line 1251 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1249 "../parser/Grammar.y"
{ ;}
break;
case 309:
-#line 1252 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1250 "../parser/Grammar.y"
{ ;}
break;
case 310:
-#line 1253 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1251 "../parser/Grammar.y"
{ ;}
break;
case 311:
-#line 1254 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1252 "../parser/Grammar.y"
{ if (*(yyvsp[(1) - (7)].ident) != "get" && *(yyvsp[(1) - (7)].ident) != "set") YYABORT; ;}
break;
case 312:
-#line 1255 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1253 "../parser/Grammar.y"
{ if (*(yyvsp[(1) - (8)].ident) != "get" && *(yyvsp[(1) - (8)].ident) != "set") YYABORT; ;}
break;
case 316:
-#line 1265 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1263 "../parser/Grammar.y"
{ ;}
break;
case 317:
-#line 1266 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1264 "../parser/Grammar.y"
{ ;}
break;
case 318:
-#line 1268 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1266 "../parser/Grammar.y"
{ ;}
break;
case 322:
-#line 1275 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1273 "../parser/Grammar.y"
{ ;}
break;
case 517:
-#line 1643 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1641 "../parser/Grammar.y"
{ ;}
break;
case 518:
-#line 1644 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1642 "../parser/Grammar.y"
{ ;}
break;
case 520:
-#line 1649 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1647 "../parser/Grammar.y"
{ AUTO_SEMICOLON; ;}
break;
case 521:
-#line 1653 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1651 "../parser/Grammar.y"
{ ;}
break;
case 522:
-#line 1654 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1652 "../parser/Grammar.y"
{ ;}
break;
case 525:
-#line 1660 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1658 "../parser/Grammar.y"
{ ;}
break;
case 526:
-#line 1661 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1659 "../parser/Grammar.y"
{ ;}
break;
case 530:
-#line 1668 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1666 "../parser/Grammar.y"
{ AUTO_SEMICOLON; ;}
break;
case 533:
-#line 1677 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1675 "../parser/Grammar.y"
{ ;}
break;
case 534:
-#line 1678 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1676 "../parser/Grammar.y"
{ ;}
break;
case 539:
-#line 1695 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1693 "../parser/Grammar.y"
{ AUTO_SEMICOLON; ;}
break;
case 555:
-#line 1726 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1724 "../parser/Grammar.y"
{ AUTO_SEMICOLON; ;}
break;
case 557:
-#line 1728 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1726 "../parser/Grammar.y"
{ AUTO_SEMICOLON; ;}
break;
case 559:
-#line 1733 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1731 "../parser/Grammar.y"
{ AUTO_SEMICOLON; ;}
break;
case 561:
-#line 1735 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1733 "../parser/Grammar.y"
{ AUTO_SEMICOLON; ;}
break;
case 563:
-#line 1740 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1738 "../parser/Grammar.y"
{ AUTO_SEMICOLON; ;}
break;
case 565:
-#line 1742 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1740 "../parser/Grammar.y"
{ AUTO_SEMICOLON; ;}
break;
case 568:
-#line 1754 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1752 "../parser/Grammar.y"
{ ;}
break;
case 569:
-#line 1755 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1753 "../parser/Grammar.y"
{ ;}
break;
case 578:
-#line 1779 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1777 "../parser/Grammar.y"
{ ;}
break;
case 580:
-#line 1784 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1782 "../parser/Grammar.y"
{ AUTO_SEMICOLON; ;}
break;
case 585:
-#line 1795 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1793 "../parser/Grammar.y"
{ AUTO_SEMICOLON; ;}
break;
case 592:
-#line 1811 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1809 "../parser/Grammar.y"
{ ;}
break;
-/* Line 1267 of yacc.c. */
-#line 4628 "JavaScriptCore/tmp/../generated/Grammar.tab.c"
+
+/* Line 1455 of yacc.c */
+#line 5109 "JavaScriptCore/tmp/../generated/Grammar.tab.c"
default: break;
}
YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
@@ -4700,7 +5181,7 @@ yyerrlab:
if (yyerrstatus == 3)
{
- /* If just tried and failed to reuse look-ahead token after an
+ /* If just tried and failed to reuse lookahead token after an
error, discard it. */
if (yychar <= YYEOF)
@@ -4717,7 +5198,7 @@ yyerrlab:
}
}
- /* Else will try to reuse look-ahead token after shifting the error
+ /* Else will try to reuse lookahead token after shifting the error
token. */
goto yyerrlab1;
@@ -4775,14 +5256,11 @@ yyerrlab1:
YY_STACK_PRINT (yyss, yyssp);
}
- if (yyn == YYFINAL)
- YYACCEPT;
-
*++yyvsp = yylval;
yyerror_range[1] = yylloc;
/* Using YYLLOC is tempting, but would change the location of
- the look-ahead. YYLOC is available though. */
+ the lookahead. YYLOC is available though. */
YYLLOC_DEFAULT (yyloc, (yyerror_range - 1), 2);
*++yylsp = yyloc;
@@ -4807,7 +5285,7 @@ yyabortlab:
yyresult = 1;
goto yyreturn;
-#ifndef yyoverflow
+#if !defined(yyoverflow) || YYERROR_VERBOSE
/*-------------------------------------------------.
| yyexhaustedlab -- memory exhaustion comes here. |
`-------------------------------------------------*/
@@ -4818,7 +5296,7 @@ yyexhaustedlab:
#endif
yyreturn:
- if (yychar != YYEOF && yychar != YYEMPTY)
+ if (yychar != YYEMPTY)
yydestruct ("Cleanup: discarding lookahead",
yytoken, &yylval, &yylloc);
/* Do not reclaim the symbols of the rule which action triggered
@@ -4844,7 +5322,9 @@ yyreturn:
}
-#line 1827 "../parser/Grammar.y"
+
+/* Line 1675 of yacc.c */
+#line 1825 "../parser/Grammar.y"
static ExpressionNode* makeAssignNode(void* globalPtr, ExpressionNode* loc, Operator op, ExpressionNode* expr, bool locHasAssignments, bool exprHasAssignments, int start, int divot, int end)
diff --git a/src/3rdparty/webkit/JavaScriptCore/generated/Grammar.h b/src/3rdparty/webkit/JavaScriptCore/generated/Grammar.h
index ebd30c8..847624f 100644
--- a/src/3rdparty/webkit/JavaScriptCore/generated/Grammar.h
+++ b/src/3rdparty/webkit/JavaScriptCore/generated/Grammar.h
@@ -1,24 +1,23 @@
-/* A Bison parser, made by GNU Bison 2.3. */
-/* Skeleton interface for Bison's Yacc-like parsers in C
+/* A Bison parser, made by GNU Bison 2.4.1. */
- Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
+/* Skeleton interface for Bison's Yacc-like parsers in C
+
+ Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
Free Software Foundation, Inc.
-
- This program is free software; you can redistribute it and/or modify
+
+ This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2, or (at your option)
- any later version.
-
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
-
+
You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 51 Franklin Street, Fifth Floor,
- Boston, MA 02110-1301, USA. */
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
/* As a special exception, you may create a larger work that contains
part or all of the Bison parser skeleton and distribute that work
@@ -29,10 +28,11 @@
special exception, which will cause the skeleton and the resulting
Bison output files to be licensed under the GNU General Public
License without this special exception.
-
+
This special exception was added by the Free Software Foundation in
version 2.2 of Bison. */
+
/* Tokens. */
#ifndef YYTOKENTYPE
# define YYTOKENTYPE
@@ -104,78 +104,16 @@
AUTOMINUSMINUS = 320
};
#endif
-/* Tokens. */
-#define NULLTOKEN 258
-#define TRUETOKEN 259
-#define FALSETOKEN 260
-#define BREAK 261
-#define CASE 262
-#define DEFAULT 263
-#define FOR 264
-#define NEW 265
-#define VAR 266
-#define CONSTTOKEN 267
-#define CONTINUE 268
-#define FUNCTION 269
-#define RETURN 270
-#define VOIDTOKEN 271
-#define DELETETOKEN 272
-#define IF 273
-#define THISTOKEN 274
-#define DO 275
-#define WHILE 276
-#define INTOKEN 277
-#define INSTANCEOF 278
-#define TYPEOF 279
-#define SWITCH 280
-#define WITH 281
-#define RESERVED 282
-#define THROW 283
-#define TRY 284
-#define CATCH 285
-#define FINALLY 286
-#define DEBUGGER 287
-#define IF_WITHOUT_ELSE 288
-#define ELSE 289
-#define EQEQ 290
-#define NE 291
-#define STREQ 292
-#define STRNEQ 293
-#define LE 294
-#define GE 295
-#define OR 296
-#define AND 297
-#define PLUSPLUS 298
-#define MINUSMINUS 299
-#define LSHIFT 300
-#define RSHIFT 301
-#define URSHIFT 302
-#define PLUSEQUAL 303
-#define MINUSEQUAL 304
-#define MULTEQUAL 305
-#define DIVEQUAL 306
-#define LSHIFTEQUAL 307
-#define RSHIFTEQUAL 308
-#define URSHIFTEQUAL 309
-#define ANDEQUAL 310
-#define MODEQUAL 311
-#define XOREQUAL 312
-#define OREQUAL 313
-#define OPENBRACE 314
-#define CLOSEBRACE 315
-#define NUMBER 316
-#define IDENT 317
-#define STRING 318
-#define AUTOPLUSPLUS 319
-#define AUTOMINUSMINUS 320
-
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
typedef union YYSTYPE
-#line 157 "../parser/Grammar.y"
{
+
+/* Line 1676 of yacc.c */
+#line 155 "../parser/Grammar.y"
+
int intValue;
double doubleValue;
Identifier* ident;
@@ -205,13 +143,15 @@ typedef union YYSTYPE
ParameterListInfo parameterList;
Operator op;
-}
-/* Line 1489 of yacc.c. */
-#line 211 "JavaScriptCore/tmp/../generated/Grammar.tab.h"
- YYSTYPE;
+
+
+
+/* Line 1676 of yacc.c */
+#line 151 "JavaScriptCore/tmp/../generated/Grammar.tab.h"
+} YYSTYPE;
+# define YYSTYPE_IS_TRIVIAL 1
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
-# define YYSTYPE_IS_TRIVIAL 1
#endif
@@ -230,3 +170,4 @@ typedef struct YYLTYPE
#endif
+
diff --git a/src/3rdparty/webkit/JavaScriptCore/generated/JSONObject.lut.h b/src/3rdparty/webkit/JavaScriptCore/generated/JSONObject.lut.h
index 2b7e836..a9b1631 100644
--- a/src/3rdparty/webkit/JavaScriptCore/generated/JSONObject.lut.h
+++ b/src/3rdparty/webkit/JavaScriptCore/generated/JSONObject.lut.h
@@ -10,6 +10,6 @@ static const struct HashTableValue jsonTableValues[3] = {
{ 0, 0, 0, 0 }
};
-extern const struct HashTable jsonTable =
+extern JSC_CONST_HASHTABLE HashTable jsonTable =
{ 4, 3, jsonTableValues, 0 };
} // namespace
diff --git a/src/3rdparty/webkit/JavaScriptCore/generated/Lexer.lut.h b/src/3rdparty/webkit/JavaScriptCore/generated/Lexer.lut.h
index fb1ae29..95c33b6 100644
--- a/src/3rdparty/webkit/JavaScriptCore/generated/Lexer.lut.h
+++ b/src/3rdparty/webkit/JavaScriptCore/generated/Lexer.lut.h
@@ -44,6 +44,6 @@ static const struct HashTableValue mainTableValues[37] = {
{ 0, 0, 0, 0 }
};
-extern const struct HashTable mainTable =
+extern JSC_CONST_HASHTABLE HashTable mainTable =
{ 133, 127, mainTableValues, 0 };
} // namespace
diff --git a/src/3rdparty/webkit/JavaScriptCore/generated/MathObject.lut.h b/src/3rdparty/webkit/JavaScriptCore/generated/MathObject.lut.h
index 7d9b43e..9cb0ee2 100644
--- a/src/3rdparty/webkit/JavaScriptCore/generated/MathObject.lut.h
+++ b/src/3rdparty/webkit/JavaScriptCore/generated/MathObject.lut.h
@@ -26,6 +26,6 @@ static const struct HashTableValue mathTableValues[19] = {
{ 0, 0, 0, 0 }
};
-extern const struct HashTable mathTable =
+extern JSC_CONST_HASHTABLE HashTable mathTable =
{ 67, 63, mathTableValues, 0 };
} // namespace
diff --git a/src/3rdparty/webkit/JavaScriptCore/generated/NumberConstructor.lut.h b/src/3rdparty/webkit/JavaScriptCore/generated/NumberConstructor.lut.h
index e963e1a..6285d62 100644
--- a/src/3rdparty/webkit/JavaScriptCore/generated/NumberConstructor.lut.h
+++ b/src/3rdparty/webkit/JavaScriptCore/generated/NumberConstructor.lut.h
@@ -13,6 +13,6 @@ static const struct HashTableValue numberTableValues[6] = {
{ 0, 0, 0, 0 }
};
-extern const struct HashTable numberTable =
+extern JSC_CONST_HASHTABLE HashTable numberTable =
{ 16, 15, numberTableValues, 0 };
} // namespace
diff --git a/src/3rdparty/webkit/JavaScriptCore/generated/RegExpConstructor.lut.h b/src/3rdparty/webkit/JavaScriptCore/generated/RegExpConstructor.lut.h
index fd822c6..a3f15b3 100644
--- a/src/3rdparty/webkit/JavaScriptCore/generated/RegExpConstructor.lut.h
+++ b/src/3rdparty/webkit/JavaScriptCore/generated/RegExpConstructor.lut.h
@@ -29,6 +29,6 @@ static const struct HashTableValue regExpConstructorTableValues[22] = {
{ 0, 0, 0, 0 }
};
-extern const struct HashTable regExpConstructorTable =
+extern JSC_CONST_HASHTABLE HashTable regExpConstructorTable =
{ 65, 63, regExpConstructorTableValues, 0 };
} // namespace
diff --git a/src/3rdparty/webkit/JavaScriptCore/generated/RegExpObject.lut.h b/src/3rdparty/webkit/JavaScriptCore/generated/RegExpObject.lut.h
index 81d5b60..8c87f16 100644
--- a/src/3rdparty/webkit/JavaScriptCore/generated/RegExpObject.lut.h
+++ b/src/3rdparty/webkit/JavaScriptCore/generated/RegExpObject.lut.h
@@ -13,6 +13,6 @@ static const struct HashTableValue regExpTableValues[6] = {
{ 0, 0, 0, 0 }
};
-extern const struct HashTable regExpTable =
+extern JSC_CONST_HASHTABLE HashTable regExpTable =
{ 17, 15, regExpTableValues, 0 };
} // namespace
diff --git a/src/3rdparty/webkit/JavaScriptCore/generated/StringPrototype.lut.h b/src/3rdparty/webkit/JavaScriptCore/generated/StringPrototype.lut.h
index dfb9c20..f912298 100644
--- a/src/3rdparty/webkit/JavaScriptCore/generated/StringPrototype.lut.h
+++ b/src/3rdparty/webkit/JavaScriptCore/generated/StringPrototype.lut.h
@@ -40,6 +40,6 @@ static const struct HashTableValue stringTableValues[33] = {
{ 0, 0, 0, 0 }
};
-extern const struct HashTable stringTable =
+extern JSC_CONST_HASHTABLE HashTable stringTable =
{ 71, 63, stringTableValues, 0 };
} // namespace
diff --git a/src/3rdparty/webkit/JavaScriptCore/interpreter/CachedCall.h b/src/3rdparty/webkit/JavaScriptCore/interpreter/CachedCall.h
index f48f4f4..767c262 100644
--- a/src/3rdparty/webkit/JavaScriptCore/interpreter/CachedCall.h
+++ b/src/3rdparty/webkit/JavaScriptCore/interpreter/CachedCall.h
@@ -32,7 +32,7 @@
#include "Interpreter.h"
namespace JSC {
- class CachedCall : Noncopyable {
+ class CachedCall : public Noncopyable {
public:
CachedCall(CallFrame* callFrame, JSFunction* function, int argCount, JSValue* exception)
: m_valid(false)
diff --git a/src/3rdparty/webkit/JavaScriptCore/interpreter/CallFrame.h b/src/3rdparty/webkit/JavaScriptCore/interpreter/CallFrame.h
index 0b0e5fe..2d677ce 100644
--- a/src/3rdparty/webkit/JavaScriptCore/interpreter/CallFrame.h
+++ b/src/3rdparty/webkit/JavaScriptCore/interpreter/CallFrame.h
@@ -124,26 +124,23 @@ namespace JSC {
setCalleeArguments(0);
}
- private:
- friend class Arguments;
- friend class JSActivation;
- friend class JSGlobalObject;
- friend class Interpreter;
- friend struct CallFrameClosure;
+ // Read a register from the codeframe (or constant from the CodeBlock).
+ inline Register& r(int);
+ static CallFrame* noCaller() { return reinterpret_cast<CallFrame*>(HostCallFrameFlag); }
int returnValueRegister() const { return this[RegisterFile::ReturnValueRegister].i(); }
+ bool hasHostCallFrameFlag() const { return reinterpret_cast<intptr_t>(this) & HostCallFrameFlag; }
+ CallFrame* addHostCallFrameFlag() const { return reinterpret_cast<CallFrame*>(reinterpret_cast<intptr_t>(this) | HostCallFrameFlag); }
+ CallFrame* removeHostCallFrameFlag() { return reinterpret_cast<CallFrame*>(reinterpret_cast<intptr_t>(this) & ~HostCallFrameFlag); }
+
+ private:
void setArgumentCount(int count) { this[RegisterFile::ArgumentCount] = count; }
void setCallee(JSFunction* callee) { this[RegisterFile::Callee] = callee; }
void setCodeBlock(CodeBlock* codeBlock) { this[RegisterFile::CodeBlock] = codeBlock; }
static const intptr_t HostCallFrameFlag = 1;
- static CallFrame* noCaller() { return reinterpret_cast<CallFrame*>(HostCallFrameFlag); }
- bool hasHostCallFrameFlag() const { return reinterpret_cast<intptr_t>(this) & HostCallFrameFlag; }
- CallFrame* addHostCallFrameFlag() const { return reinterpret_cast<CallFrame*>(reinterpret_cast<intptr_t>(this) | HostCallFrameFlag); }
- CallFrame* removeHostCallFrameFlag() { return reinterpret_cast<CallFrame*>(reinterpret_cast<intptr_t>(this) & ~HostCallFrameFlag); }
-
ExecState();
~ExecState();
};
diff --git a/src/3rdparty/webkit/JavaScriptCore/interpreter/Interpreter.cpp b/src/3rdparty/webkit/JavaScriptCore/interpreter/Interpreter.cpp
index 7b1e547..e4eebb2 100644
--- a/src/3rdparty/webkit/JavaScriptCore/interpreter/Interpreter.cpp
+++ b/src/3rdparty/webkit/JavaScriptCore/interpreter/Interpreter.cpp
@@ -65,10 +65,6 @@
#include "JIT.h"
#endif
-#if ENABLE(ASSEMBLER)
-#include "AssemblerBuffer.h"
-#endif
-
using namespace std;
namespace JSC {
@@ -112,7 +108,7 @@ NEVER_INLINE bool Interpreter::resolve(CallFrame* callFrame, Instruction* vPC, J
exceptionValue = callFrame->globalData().exception;
if (exceptionValue)
return false;
- callFrame[dst] = JSValue(result);
+ callFrame->r(dst) = JSValue(result);
return true;
}
} while (++iter != end);
@@ -145,7 +141,7 @@ NEVER_INLINE bool Interpreter::resolveSkip(CallFrame* callFrame, Instruction* vP
exceptionValue = callFrame->globalData().exception;
if (exceptionValue)
return false;
- callFrame[dst] = JSValue(result);
+ callFrame->r(dst) = JSValue(result);
return true;
}
} while (++iter != end);
@@ -163,7 +159,7 @@ NEVER_INLINE bool Interpreter::resolveGlobal(CallFrame* callFrame, Instruction*
int offset = (vPC + 5)->u.operand;
if (structure == globalObject->structure()) {
- callFrame[dst] = JSValue(globalObject->getDirectOffset(offset));
+ callFrame->r(dst) = JSValue(globalObject->getDirectOffset(offset));
return true;
}
@@ -178,14 +174,14 @@ NEVER_INLINE bool Interpreter::resolveGlobal(CallFrame* callFrame, Instruction*
globalObject->structure()->ref();
vPC[4] = globalObject->structure();
vPC[5] = slot.cachedOffset();
- callFrame[dst] = JSValue(result);
+ callFrame->r(dst) = JSValue(result);
return true;
}
exceptionValue = callFrame->globalData().exception;
if (exceptionValue)
return false;
- callFrame[dst] = JSValue(result);
+ callFrame->r(dst) = JSValue(result);
return true;
}
@@ -197,7 +193,7 @@ NEVER_INLINE void Interpreter::resolveBase(CallFrame* callFrame, Instruction* vP
{
int dst = (vPC + 1)->u.operand;
int property = (vPC + 2)->u.operand;
- callFrame[dst] = JSValue(JSC::resolveBase(callFrame, callFrame->codeBlock()->identifier(property), callFrame->scopeChain()));
+ callFrame->r(dst) = JSValue(JSC::resolveBase(callFrame, callFrame->codeBlock()->identifier(property), callFrame->scopeChain()));
}
NEVER_INLINE bool Interpreter::resolveBaseAndProperty(CallFrame* callFrame, Instruction* vPC, JSValue& exceptionValue)
@@ -225,8 +221,8 @@ NEVER_INLINE bool Interpreter::resolveBaseAndProperty(CallFrame* callFrame, Inst
exceptionValue = callFrame->globalData().exception;
if (exceptionValue)
return false;
- callFrame[propDst] = JSValue(result);
- callFrame[baseDst] = JSValue(base);
+ callFrame->r(propDst) = JSValue(result);
+ callFrame->r(baseDst) = JSValue(base);
return true;
}
++iter;
@@ -270,8 +266,8 @@ NEVER_INLINE bool Interpreter::resolveBaseAndFunc(CallFrame* callFrame, Instruct
if (exceptionValue)
return false;
- callFrame[baseDst] = JSValue(thisObj);
- callFrame[funcDst] = JSValue(result);
+ callFrame->r(baseDst) = JSValue(thisObj);
+ callFrame->r(funcDst) = JSValue(result);
return true;
}
++iter;
@@ -436,17 +432,7 @@ void Interpreter::dumpRegisters(CallFrame* callFrame)
}
printf("----------------------------------------------------\n");
- end = it + codeBlock->m_numConstants;
- if (it != end) {
- do {
- printf("[r%2d] | %10p | %10p \n", registerCount, it, (*it).v());
- ++it;
- ++registerCount;
- } while (it != end);
- }
- printf("----------------------------------------------------\n");
-
- end = it + codeBlock->m_numCalleeRegisters - codeBlock->m_numConstants - codeBlock->m_numVars;
+ end = it + codeBlock->m_numCalleeRegisters - codeBlock->m_numVars;
if (it != end) {
do {
printf("[r%2d] | %10p | %10p \n", registerCount, it, (*it).v());
@@ -567,13 +553,13 @@ NEVER_INLINE HandlerInfo* Interpreter::throwException(CallFrame*& callFrame, JSV
if (Profiler* profiler = *Profiler::enabledProfilerReference()) {
#if !ENABLE(JIT)
if (isCallBytecode(codeBlock->instructions()[bytecodeOffset].u.opcode))
- profiler->didExecute(callFrame, callFrame[codeBlock->instructions()[bytecodeOffset + 2].u.operand].jsValue());
+ profiler->didExecute(callFrame, callFrame->r(codeBlock->instructions()[bytecodeOffset + 2].u.operand).jsValue());
else if (codeBlock->instructions()[bytecodeOffset + 8].u.opcode == getOpcode(op_construct))
- profiler->didExecute(callFrame, callFrame[codeBlock->instructions()[bytecodeOffset + 10].u.operand].jsValue());
+ profiler->didExecute(callFrame, callFrame->r(codeBlock->instructions()[bytecodeOffset + 10].u.operand).jsValue());
#else
int functionRegisterIndex;
if (codeBlock->functionRegisterForBytecodeOffset(bytecodeOffset, functionRegisterIndex))
- profiler->didExecute(callFrame, callFrame[functionRegisterIndex].jsValue());
+ profiler->didExecute(callFrame, callFrame->r(functionRegisterIndex).jsValue());
#endif
}
@@ -625,7 +611,7 @@ JSValue Interpreter::execute(ProgramNode* programNode, CallFrame* callFrame, Sco
globalObject->copyGlobalsTo(m_registerFile);
CallFrame* newCallFrame = CallFrame::create(oldEnd + codeBlock->m_numParameters + RegisterFile::CallFrameHeaderSize);
- newCallFrame[codeBlock->thisRegister()] = JSValue(thisObj);
+ newCallFrame->r(codeBlock->thisRegister()) = JSValue(thisObj);
newCallFrame->init(codeBlock, 0, scopeChain, CallFrame::noCaller(), 0, 0, 0);
if (codeBlock->needsFullScopeChain())
@@ -682,10 +668,10 @@ JSValue Interpreter::execute(FunctionBodyNode* functionBodyNode, CallFrame* call
CallFrame* newCallFrame = CallFrame::create(oldEnd);
size_t dst = 0;
- newCallFrame[0] = JSValue(thisObj);
+ newCallFrame->r(0) = JSValue(thisObj);
ArgList::const_iterator end = args.end();
for (ArgList::const_iterator it = args.begin(); it != end; ++it)
- newCallFrame[++dst] = *it;
+ newCallFrame->r(++dst) = *it;
CodeBlock* codeBlock = &functionBodyNode->bytecode(scopeChain);
newCallFrame = slideRegisterWindowForCall(codeBlock, &m_registerFile, newCallFrame, argc + RegisterFile::CallFrameHeaderSize, argc);
@@ -743,7 +729,7 @@ CallFrameClosure Interpreter::prepareForRepeatCall(FunctionBodyNode* functionBod
CallFrame* newCallFrame = CallFrame::create(oldEnd);
size_t dst = 0;
for (int i = 0; i < argc; ++i)
- newCallFrame[++dst] = jsUndefined();
+ newCallFrame->r(++dst) = jsUndefined();
CodeBlock* codeBlock = &functionBodyNode->bytecode(scopeChain);
newCallFrame = slideRegisterWindowForCall(codeBlock, &m_registerFile, newCallFrame, argc + RegisterFile::CallFrameHeaderSize, argc);
@@ -854,7 +840,7 @@ JSValue Interpreter::execute(EvalNode* evalNode, CallFrame* callFrame, JSObject*
CallFrame* newCallFrame = CallFrame::create(m_registerFile.start() + globalRegisterOffset);
// a 0 codeBlock indicates a built-in caller
- newCallFrame[codeBlock->thisRegister()] = JSValue(thisObj);
+ newCallFrame->r(codeBlock->thisRegister()) = JSValue(thisObj);
newCallFrame->init(codeBlock, 0, scopeChain, callFrame->addHostCallFrameFlag(), 0, 0, 0);
if (codeBlock->needsFullScopeChain())
@@ -918,9 +904,9 @@ NEVER_INLINE ScopeChainNode* Interpreter::createExceptionScope(CallFrame* callFr
int dst = (++vPC)->u.operand;
CodeBlock* codeBlock = callFrame->codeBlock();
Identifier& property = codeBlock->identifier((++vPC)->u.operand);
- JSValue value = callFrame[(++vPC)->u.operand].jsValue();
+ JSValue value = callFrame->r((++vPC)->u.operand).jsValue();
JSObject* scope = new (callFrame) JSStaticScopeObject(callFrame, property, value, DontDelete);
- callFrame[dst] = JSValue(scope);
+ callFrame->r(dst) = JSValue(scope);
return callFrame->scopeChain()->push(scope);
}
@@ -1197,7 +1183,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
constructor, and puts the result in register dst.
*/
int dst = (++vPC)->u.operand;
- callFrame[dst] = JSValue(constructEmptyObject(callFrame));
+ callFrame->r(dst) = JSValue(constructEmptyObject(callFrame));
++vPC;
NEXT_INSTRUCTION();
@@ -1214,7 +1200,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
int firstArg = (++vPC)->u.operand;
int argCount = (++vPC)->u.operand;
ArgList args(callFrame->registers() + firstArg, argCount);
- callFrame[dst] = JSValue(constructArray(callFrame, args));
+ callFrame->r(dst) = JSValue(constructArray(callFrame, args));
++vPC;
NEXT_INSTRUCTION();
@@ -1228,7 +1214,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
*/
int dst = (++vPC)->u.operand;
int regExp = (++vPC)->u.operand;
- callFrame[dst] = JSValue(new (globalData) RegExpObject(callFrame->scopeChain()->globalObject()->regExpStructure(), callFrame->codeBlock()->regexp(regExp)));
+ callFrame->r(dst) = JSValue(new (globalData) RegExpObject(callFrame->scopeChain()->globalObject()->regExpStructure(), callFrame->codeBlock()->regexp(regExp)));
++vPC;
NEXT_INSTRUCTION();
@@ -1240,7 +1226,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
*/
int dst = (++vPC)->u.operand;
int src = (++vPC)->u.operand;
- callFrame[dst] = callFrame[src];
+ callFrame->r(dst) = callFrame->r(src);
++vPC;
NEXT_INSTRUCTION();
@@ -1253,14 +1239,14 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
as a boolean in register dst.
*/
int dst = (++vPC)->u.operand;
- JSValue src1 = callFrame[(++vPC)->u.operand].jsValue();
- JSValue src2 = callFrame[(++vPC)->u.operand].jsValue();
+ JSValue src1 = callFrame->r((++vPC)->u.operand).jsValue();
+ JSValue src2 = callFrame->r((++vPC)->u.operand).jsValue();
if (JSFastMath::canDoFastBitwiseOperations(src1, src2))
- callFrame[dst] = JSFastMath::equal(src1, src2);
+ callFrame->r(dst) = JSFastMath::equal(src1, src2);
else {
JSValue result = jsBoolean(JSValue::equalSlowCase(callFrame, src1, src2));
CHECK_FOR_EXCEPTION();
- callFrame[dst] = result;
+ callFrame->r(dst) = result;
}
++vPC;
@@ -1273,15 +1259,15 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
operator, and puts the result as a boolean in register dst.
*/
int dst = (++vPC)->u.operand;
- JSValue src = callFrame[(++vPC)->u.operand].jsValue();
+ JSValue src = callFrame->r((++vPC)->u.operand).jsValue();
if (src.isUndefinedOrNull()) {
- callFrame[dst] = jsBoolean(true);
+ callFrame->r(dst) = jsBoolean(true);
++vPC;
NEXT_INSTRUCTION();
}
- callFrame[dst] = jsBoolean(src.isCell() && src.asCell()->structure()->typeInfo().masqueradesAsUndefined());
+ callFrame->r(dst) = jsBoolean(src.isCell() && src.asCell()->structure()->typeInfo().masqueradesAsUndefined());
++vPC;
NEXT_INSTRUCTION();
}
@@ -1293,14 +1279,14 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
result as a boolean in register dst.
*/
int dst = (++vPC)->u.operand;
- JSValue src1 = callFrame[(++vPC)->u.operand].jsValue();
- JSValue src2 = callFrame[(++vPC)->u.operand].jsValue();
+ JSValue src1 = callFrame->r((++vPC)->u.operand).jsValue();
+ JSValue src2 = callFrame->r((++vPC)->u.operand).jsValue();
if (JSFastMath::canDoFastBitwiseOperations(src1, src2))
- callFrame[dst] = JSFastMath::notEqual(src1, src2);
+ callFrame->r(dst) = JSFastMath::notEqual(src1, src2);
else {
JSValue result = jsBoolean(!JSValue::equalSlowCase(callFrame, src1, src2));
CHECK_FOR_EXCEPTION();
- callFrame[dst] = result;
+ callFrame->r(dst) = result;
}
++vPC;
@@ -1313,15 +1299,15 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
operator, and puts the result as a boolean in register dst.
*/
int dst = (++vPC)->u.operand;
- JSValue src = callFrame[(++vPC)->u.operand].jsValue();
+ JSValue src = callFrame->r((++vPC)->u.operand).jsValue();
if (src.isUndefinedOrNull()) {
- callFrame[dst] = jsBoolean(false);
+ callFrame->r(dst) = jsBoolean(false);
++vPC;
NEXT_INSTRUCTION();
}
- callFrame[dst] = jsBoolean(!src.isCell() || !asCell(src)->structure()->typeInfo().masqueradesAsUndefined());
+ callFrame->r(dst) = jsBoolean(!src.isCell() || !asCell(src)->structure()->typeInfo().masqueradesAsUndefined());
++vPC;
NEXT_INSTRUCTION();
}
@@ -1333,9 +1319,9 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
result as a boolean in register dst.
*/
int dst = (++vPC)->u.operand;
- JSValue src1 = callFrame[(++vPC)->u.operand].jsValue();
- JSValue src2 = callFrame[(++vPC)->u.operand].jsValue();
- callFrame[dst] = jsBoolean(JSValue::strictEqual(src1, src2));
+ JSValue src1 = callFrame->r((++vPC)->u.operand).jsValue();
+ JSValue src2 = callFrame->r((++vPC)->u.operand).jsValue();
+ callFrame->r(dst) = jsBoolean(JSValue::strictEqual(src1, src2));
++vPC;
NEXT_INSTRUCTION();
@@ -1348,9 +1334,9 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
puts the result as a boolean in register dst.
*/
int dst = (++vPC)->u.operand;
- JSValue src1 = callFrame[(++vPC)->u.operand].jsValue();
- JSValue src2 = callFrame[(++vPC)->u.operand].jsValue();
- callFrame[dst] = jsBoolean(!JSValue::strictEqual(src1, src2));
+ JSValue src1 = callFrame->r((++vPC)->u.operand).jsValue();
+ JSValue src2 = callFrame->r((++vPC)->u.operand).jsValue();
+ callFrame->r(dst) = jsBoolean(!JSValue::strictEqual(src1, src2));
++vPC;
NEXT_INSTRUCTION();
@@ -1363,11 +1349,11 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
a boolean in register dst.
*/
int dst = (++vPC)->u.operand;
- JSValue src1 = callFrame[(++vPC)->u.operand].jsValue();
- JSValue src2 = callFrame[(++vPC)->u.operand].jsValue();
+ JSValue src1 = callFrame->r((++vPC)->u.operand).jsValue();
+ JSValue src2 = callFrame->r((++vPC)->u.operand).jsValue();
JSValue result = jsBoolean(jsLess(callFrame, src1, src2));
CHECK_FOR_EXCEPTION();
- callFrame[dst] = result;
+ callFrame->r(dst) = result;
++vPC;
NEXT_INSTRUCTION();
@@ -1380,11 +1366,11 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
puts the result as a boolean in register dst.
*/
int dst = (++vPC)->u.operand;
- JSValue src1 = callFrame[(++vPC)->u.operand].jsValue();
- JSValue src2 = callFrame[(++vPC)->u.operand].jsValue();
+ JSValue src1 = callFrame->r((++vPC)->u.operand).jsValue();
+ JSValue src2 = callFrame->r((++vPC)->u.operand).jsValue();
JSValue result = jsBoolean(jsLessEq(callFrame, src1, src2));
CHECK_FOR_EXCEPTION();
- callFrame[dst] = result;
+ callFrame->r(dst) = result;
++vPC;
NEXT_INSTRUCTION();
@@ -1396,13 +1382,13 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
back in register srcDst.
*/
int srcDst = (++vPC)->u.operand;
- JSValue v = callFrame[srcDst].jsValue();
+ JSValue v = callFrame->r(srcDst).jsValue();
if (JSFastMath::canDoFastAdditiveOperations(v))
- callFrame[srcDst] = JSValue(JSFastMath::incImmediateNumber(v));
+ callFrame->r(srcDst) = JSValue(JSFastMath::incImmediateNumber(v));
else {
JSValue result = jsNumber(callFrame, v.toNumber(callFrame) + 1);
CHECK_FOR_EXCEPTION();
- callFrame[srcDst] = result;
+ callFrame->r(srcDst) = result;
}
++vPC;
@@ -1415,13 +1401,13 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
back in register srcDst.
*/
int srcDst = (++vPC)->u.operand;
- JSValue v = callFrame[srcDst].jsValue();
+ JSValue v = callFrame->r(srcDst).jsValue();
if (JSFastMath::canDoFastAdditiveOperations(v))
- callFrame[srcDst] = JSValue(JSFastMath::decImmediateNumber(v));
+ callFrame->r(srcDst) = JSValue(JSFastMath::decImmediateNumber(v));
else {
JSValue result = jsNumber(callFrame, v.toNumber(callFrame) - 1);
CHECK_FOR_EXCEPTION();
- callFrame[srcDst] = result;
+ callFrame->r(srcDst) = result;
}
++vPC;
@@ -1436,15 +1422,15 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
*/
int dst = (++vPC)->u.operand;
int srcDst = (++vPC)->u.operand;
- JSValue v = callFrame[srcDst].jsValue();
+ JSValue v = callFrame->r(srcDst).jsValue();
if (JSFastMath::canDoFastAdditiveOperations(v)) {
- callFrame[dst] = v;
- callFrame[srcDst] = JSValue(JSFastMath::incImmediateNumber(v));
+ callFrame->r(dst) = v;
+ callFrame->r(srcDst) = JSValue(JSFastMath::incImmediateNumber(v));
} else {
- JSValue number = callFrame[srcDst].jsValue().toJSNumber(callFrame);
+ JSValue number = callFrame->r(srcDst).jsValue().toJSNumber(callFrame);
CHECK_FOR_EXCEPTION();
- callFrame[dst] = number;
- callFrame[srcDst] = JSValue(jsNumber(callFrame, number.uncheckedGetNumber() + 1));
+ callFrame->r(dst) = number;
+ callFrame->r(srcDst) = JSValue(jsNumber(callFrame, number.uncheckedGetNumber() + 1));
}
++vPC;
@@ -1459,15 +1445,15 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
*/
int dst = (++vPC)->u.operand;
int srcDst = (++vPC)->u.operand;
- JSValue v = callFrame[srcDst].jsValue();
+ JSValue v = callFrame->r(srcDst).jsValue();
if (JSFastMath::canDoFastAdditiveOperations(v)) {
- callFrame[dst] = v;
- callFrame[srcDst] = JSValue(JSFastMath::decImmediateNumber(v));
+ callFrame->r(dst) = v;
+ callFrame->r(srcDst) = JSValue(JSFastMath::decImmediateNumber(v));
} else {
- JSValue number = callFrame[srcDst].jsValue().toJSNumber(callFrame);
+ JSValue number = callFrame->r(srcDst).jsValue().toJSNumber(callFrame);
CHECK_FOR_EXCEPTION();
- callFrame[dst] = number;
- callFrame[srcDst] = JSValue(jsNumber(callFrame, number.uncheckedGetNumber() - 1));
+ callFrame->r(dst) = number;
+ callFrame->r(srcDst) = JSValue(jsNumber(callFrame, number.uncheckedGetNumber() - 1));
}
++vPC;
@@ -1482,14 +1468,14 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
int dst = (++vPC)->u.operand;
int src = (++vPC)->u.operand;
- JSValue srcVal = callFrame[src].jsValue();
+ JSValue srcVal = callFrame->r(src).jsValue();
if (LIKELY(srcVal.isNumber()))
- callFrame[dst] = callFrame[src];
+ callFrame->r(dst) = callFrame->r(src);
else {
JSValue result = srcVal.toJSNumber(callFrame);
CHECK_FOR_EXCEPTION();
- callFrame[dst] = result;
+ callFrame->r(dst) = result;
}
++vPC;
@@ -1502,15 +1488,15 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
result in register dst.
*/
int dst = (++vPC)->u.operand;
- JSValue src = callFrame[(++vPC)->u.operand].jsValue();
+ JSValue src = callFrame->r((++vPC)->u.operand).jsValue();
++vPC;
double v;
if (src.getNumber(v))
- callFrame[dst] = JSValue(jsNumber(callFrame, -v));
+ callFrame->r(dst) = JSValue(jsNumber(callFrame, -v));
else {
JSValue result = jsNumber(callFrame, -src.toNumber(callFrame));
CHECK_FOR_EXCEPTION();
- callFrame[dst] = result;
+ callFrame->r(dst) = result;
}
NEXT_INSTRUCTION();
@@ -1523,14 +1509,14 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
numeric add, depending on the types of the operands.)
*/
int dst = (++vPC)->u.operand;
- JSValue src1 = callFrame[(++vPC)->u.operand].jsValue();
- JSValue src2 = callFrame[(++vPC)->u.operand].jsValue();
+ JSValue src1 = callFrame->r((++vPC)->u.operand).jsValue();
+ JSValue src2 = callFrame->r((++vPC)->u.operand).jsValue();
if (JSFastMath::canDoFastAdditiveOperations(src1, src2))
- callFrame[dst] = JSValue(JSFastMath::addImmediateNumbers(src1, src2));
+ callFrame->r(dst) = JSValue(JSFastMath::addImmediateNumbers(src1, src2));
else {
JSValue result = jsAdd(callFrame, src1, src2);
CHECK_FOR_EXCEPTION();
- callFrame[dst] = result;
+ callFrame->r(dst) = result;
}
vPC += 2;
NEXT_INSTRUCTION();
@@ -1542,23 +1528,23 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
numbers), and puts the product in register dst.
*/
int dst = (++vPC)->u.operand;
- JSValue src1 = callFrame[(++vPC)->u.operand].jsValue();
- JSValue src2 = callFrame[(++vPC)->u.operand].jsValue();
+ JSValue src1 = callFrame->r((++vPC)->u.operand).jsValue();
+ JSValue src2 = callFrame->r((++vPC)->u.operand).jsValue();
double left;
double right;
if (JSValue::areBothInt32Fast(src1, src2)) {
int32_t left = src1.getInt32Fast();
int32_t right = src2.getInt32Fast();
if ((left | right) >> 15 == 0)
- callFrame[dst] = JSValue(jsNumber(callFrame, left * right));
+ callFrame->r(dst) = JSValue(jsNumber(callFrame, left * right));
else
- callFrame[dst] = JSValue(jsNumber(callFrame, static_cast<double>(left) * static_cast<double>(right)));
+ callFrame->r(dst) = JSValue(jsNumber(callFrame, static_cast<double>(left) * static_cast<double>(right)));
} else if (src1.getNumber(left) && src2.getNumber(right))
- callFrame[dst] = JSValue(jsNumber(callFrame, left * right));
+ callFrame->r(dst) = JSValue(jsNumber(callFrame, left * right));
else {
JSValue result = jsNumber(callFrame, src1.toNumber(callFrame) * src2.toNumber(callFrame));
CHECK_FOR_EXCEPTION();
- callFrame[dst] = result;
+ callFrame->r(dst) = result;
}
vPC += 2;
@@ -1572,16 +1558,16 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
quotient in register dst.
*/
int dst = (++vPC)->u.operand;
- JSValue dividend = callFrame[(++vPC)->u.operand].jsValue();
- JSValue divisor = callFrame[(++vPC)->u.operand].jsValue();
+ JSValue dividend = callFrame->r((++vPC)->u.operand).jsValue();
+ JSValue divisor = callFrame->r((++vPC)->u.operand).jsValue();
double left;
double right;
if (dividend.getNumber(left) && divisor.getNumber(right))
- callFrame[dst] = JSValue(jsNumber(callFrame, left / right));
+ callFrame->r(dst) = JSValue(jsNumber(callFrame, left / right));
else {
JSValue result = jsNumber(callFrame, dividend.toNumber(callFrame) / divisor.toNumber(callFrame));
CHECK_FOR_EXCEPTION();
- callFrame[dst] = result;
+ callFrame->r(dst) = result;
}
++vPC;
NEXT_INSTRUCTION();
@@ -1597,15 +1583,15 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
int dividend = (++vPC)->u.operand;
int divisor = (++vPC)->u.operand;
- JSValue dividendValue = callFrame[dividend].jsValue();
- JSValue divisorValue = callFrame[divisor].jsValue();
+ JSValue dividendValue = callFrame->r(dividend).jsValue();
+ JSValue divisorValue = callFrame->r(divisor).jsValue();
if (JSValue::areBothInt32Fast(dividendValue, divisorValue) && divisorValue != jsNumber(callFrame, 0)) {
// We expect the result of the modulus of a number that was representable as an int32 to also be representable
// as an int32.
JSValue result = JSValue::makeInt32Fast(dividendValue.getInt32Fast() % divisorValue.getInt32Fast());
ASSERT(result);
- callFrame[dst] = result;
+ callFrame->r(dst) = result;
++vPC;
NEXT_INSTRUCTION();
}
@@ -1613,7 +1599,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
double d = dividendValue.toNumber(callFrame);
JSValue result = jsNumber(callFrame, fmod(d, divisorValue.toNumber(callFrame)));
CHECK_FOR_EXCEPTION();
- callFrame[dst] = result;
+ callFrame->r(dst) = result;
++vPC;
NEXT_INSTRUCTION();
}
@@ -1625,18 +1611,18 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
register dst.
*/
int dst = (++vPC)->u.operand;
- JSValue src1 = callFrame[(++vPC)->u.operand].jsValue();
- JSValue src2 = callFrame[(++vPC)->u.operand].jsValue();
+ JSValue src1 = callFrame->r((++vPC)->u.operand).jsValue();
+ JSValue src2 = callFrame->r((++vPC)->u.operand).jsValue();
double left;
double right;
if (JSFastMath::canDoFastAdditiveOperations(src1, src2))
- callFrame[dst] = JSValue(JSFastMath::subImmediateNumbers(src1, src2));
+ callFrame->r(dst) = JSValue(JSFastMath::subImmediateNumbers(src1, src2));
else if (src1.getNumber(left) && src2.getNumber(right))
- callFrame[dst] = JSValue(jsNumber(callFrame, left - right));
+ callFrame->r(dst) = JSValue(jsNumber(callFrame, left - right));
else {
JSValue result = jsNumber(callFrame, src1.toNumber(callFrame) - src2.toNumber(callFrame));
CHECK_FOR_EXCEPTION();
- callFrame[dst] = result;
+ callFrame->r(dst) = result;
}
vPC += 2;
NEXT_INSTRUCTION();
@@ -1649,18 +1635,18 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
in register dst.
*/
int dst = (++vPC)->u.operand;
- JSValue val = callFrame[(++vPC)->u.operand].jsValue();
- JSValue shift = callFrame[(++vPC)->u.operand].jsValue();
+ JSValue val = callFrame->r((++vPC)->u.operand).jsValue();
+ JSValue shift = callFrame->r((++vPC)->u.operand).jsValue();
int32_t left;
uint32_t right;
if (JSValue::areBothInt32Fast(val, shift))
- callFrame[dst] = JSValue(jsNumber(callFrame, val.getInt32Fast() << (shift.getInt32Fast() & 0x1f)));
+ callFrame->r(dst) = JSValue(jsNumber(callFrame, val.getInt32Fast() << (shift.getInt32Fast() & 0x1f)));
else if (val.numberToInt32(left) && shift.numberToUInt32(right))
- callFrame[dst] = JSValue(jsNumber(callFrame, left << (right & 0x1f)));
+ callFrame->r(dst) = JSValue(jsNumber(callFrame, left << (right & 0x1f)));
else {
JSValue result = jsNumber(callFrame, (val.toInt32(callFrame)) << (shift.toUInt32(callFrame) & 0x1f));
CHECK_FOR_EXCEPTION();
- callFrame[dst] = result;
+ callFrame->r(dst) = result;
}
++vPC;
@@ -1674,18 +1660,18 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
uint32), and puts the result in register dst.
*/
int dst = (++vPC)->u.operand;
- JSValue val = callFrame[(++vPC)->u.operand].jsValue();
- JSValue shift = callFrame[(++vPC)->u.operand].jsValue();
+ JSValue val = callFrame->r((++vPC)->u.operand).jsValue();
+ JSValue shift = callFrame->r((++vPC)->u.operand).jsValue();
int32_t left;
uint32_t right;
if (JSFastMath::canDoFastRshift(val, shift))
- callFrame[dst] = JSValue(JSFastMath::rightShiftImmediateNumbers(val, shift));
+ callFrame->r(dst) = JSValue(JSFastMath::rightShiftImmediateNumbers(val, shift));
else if (val.numberToInt32(left) && shift.numberToUInt32(right))
- callFrame[dst] = JSValue(jsNumber(callFrame, left >> (right & 0x1f)));
+ callFrame->r(dst) = JSValue(jsNumber(callFrame, left >> (right & 0x1f)));
else {
JSValue result = jsNumber(callFrame, (val.toInt32(callFrame)) >> (shift.toUInt32(callFrame) & 0x1f));
CHECK_FOR_EXCEPTION();
- callFrame[dst] = result;
+ callFrame->r(dst) = result;
}
++vPC;
@@ -1699,14 +1685,14 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
uint32), and puts the result in register dst.
*/
int dst = (++vPC)->u.operand;
- JSValue val = callFrame[(++vPC)->u.operand].jsValue();
- JSValue shift = callFrame[(++vPC)->u.operand].jsValue();
+ JSValue val = callFrame->r((++vPC)->u.operand).jsValue();
+ JSValue shift = callFrame->r((++vPC)->u.operand).jsValue();
if (JSFastMath::canDoFastUrshift(val, shift))
- callFrame[dst] = JSValue(JSFastMath::rightShiftImmediateNumbers(val, shift));
+ callFrame->r(dst) = JSValue(JSFastMath::rightShiftImmediateNumbers(val, shift));
else {
JSValue result = jsNumber(callFrame, (val.toUInt32(callFrame)) >> (shift.toUInt32(callFrame) & 0x1f));
CHECK_FOR_EXCEPTION();
- callFrame[dst] = result;
+ callFrame->r(dst) = result;
}
++vPC;
@@ -1720,18 +1706,18 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
in register dst.
*/
int dst = (++vPC)->u.operand;
- JSValue src1 = callFrame[(++vPC)->u.operand].jsValue();
- JSValue src2 = callFrame[(++vPC)->u.operand].jsValue();
+ JSValue src1 = callFrame->r((++vPC)->u.operand).jsValue();
+ JSValue src2 = callFrame->r((++vPC)->u.operand).jsValue();
int32_t left;
int32_t right;
if (JSFastMath::canDoFastBitwiseOperations(src1, src2))
- callFrame[dst] = JSValue(JSFastMath::andImmediateNumbers(src1, src2));
+ callFrame->r(dst) = JSValue(JSFastMath::andImmediateNumbers(src1, src2));
else if (src1.numberToInt32(left) && src2.numberToInt32(right))
- callFrame[dst] = JSValue(jsNumber(callFrame, left & right));
+ callFrame->r(dst) = JSValue(jsNumber(callFrame, left & right));
else {
JSValue result = jsNumber(callFrame, src1.toInt32(callFrame) & src2.toInt32(callFrame));
CHECK_FOR_EXCEPTION();
- callFrame[dst] = result;
+ callFrame->r(dst) = result;
}
vPC += 2;
@@ -1745,18 +1731,18 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
in register dst.
*/
int dst = (++vPC)->u.operand;
- JSValue src1 = callFrame[(++vPC)->u.operand].jsValue();
- JSValue src2 = callFrame[(++vPC)->u.operand].jsValue();
+ JSValue src1 = callFrame->r((++vPC)->u.operand).jsValue();
+ JSValue src2 = callFrame->r((++vPC)->u.operand).jsValue();
int32_t left;
int32_t right;
if (JSFastMath::canDoFastBitwiseOperations(src1, src2))
- callFrame[dst] = JSValue(JSFastMath::xorImmediateNumbers(src1, src2));
+ callFrame->r(dst) = JSValue(JSFastMath::xorImmediateNumbers(src1, src2));
else if (src1.numberToInt32(left) && src2.numberToInt32(right))
- callFrame[dst] = JSValue(jsNumber(callFrame, left ^ right));
+ callFrame->r(dst) = JSValue(jsNumber(callFrame, left ^ right));
else {
JSValue result = jsNumber(callFrame, src1.toInt32(callFrame) ^ src2.toInt32(callFrame));
CHECK_FOR_EXCEPTION();
- callFrame[dst] = result;
+ callFrame->r(dst) = result;
}
vPC += 2;
@@ -1770,18 +1756,18 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
result in register dst.
*/
int dst = (++vPC)->u.operand;
- JSValue src1 = callFrame[(++vPC)->u.operand].jsValue();
- JSValue src2 = callFrame[(++vPC)->u.operand].jsValue();
+ JSValue src1 = callFrame->r((++vPC)->u.operand).jsValue();
+ JSValue src2 = callFrame->r((++vPC)->u.operand).jsValue();
int32_t left;
int32_t right;
if (JSFastMath::canDoFastBitwiseOperations(src1, src2))
- callFrame[dst] = JSValue(JSFastMath::orImmediateNumbers(src1, src2));
+ callFrame->r(dst) = JSValue(JSFastMath::orImmediateNumbers(src1, src2));
else if (src1.numberToInt32(left) && src2.numberToInt32(right))
- callFrame[dst] = JSValue(jsNumber(callFrame, left | right));
+ callFrame->r(dst) = JSValue(jsNumber(callFrame, left | right));
else {
JSValue result = jsNumber(callFrame, src1.toInt32(callFrame) | src2.toInt32(callFrame));
CHECK_FOR_EXCEPTION();
- callFrame[dst] = result;
+ callFrame->r(dst) = result;
}
vPC += 2;
@@ -1794,14 +1780,14 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
and puts the result in register dst.
*/
int dst = (++vPC)->u.operand;
- JSValue src = callFrame[(++vPC)->u.operand].jsValue();
+ JSValue src = callFrame->r((++vPC)->u.operand).jsValue();
int32_t value;
if (src.numberToInt32(value))
- callFrame[dst] = JSValue(jsNumber(callFrame, ~value));
+ callFrame->r(dst) = JSValue(jsNumber(callFrame, ~value));
else {
JSValue result = jsNumber(callFrame, ~src.toInt32(callFrame));
CHECK_FOR_EXCEPTION();
- callFrame[dst] = result;
+ callFrame->r(dst) = result;
}
++vPC;
NEXT_INSTRUCTION();
@@ -1814,9 +1800,9 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
*/
int dst = (++vPC)->u.operand;
int src = (++vPC)->u.operand;
- JSValue result = jsBoolean(!callFrame[src].jsValue().toBoolean(callFrame));
+ JSValue result = jsBoolean(!callFrame->r(src).jsValue().toBoolean(callFrame));
CHECK_FOR_EXCEPTION();
- callFrame[dst] = result;
+ callFrame->r(dst) = result;
++vPC;
NEXT_INSTRUCTION();
@@ -1839,14 +1825,14 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
int base = vPC[3].u.operand;
int baseProto = vPC[4].u.operand;
- JSValue baseVal = callFrame[base].jsValue();
+ JSValue baseVal = callFrame->r(base).jsValue();
if (isInvalidParamForInstanceOf(callFrame, callFrame->codeBlock(), vPC, baseVal, exceptionValue))
goto vm_throw;
- bool result = asObject(baseVal)->hasInstance(callFrame, callFrame[value].jsValue(), callFrame[baseProto].jsValue());
+ bool result = asObject(baseVal)->hasInstance(callFrame, callFrame->r(value).jsValue(), callFrame->r(baseProto).jsValue());
CHECK_FOR_EXCEPTION();
- callFrame[dst] = jsBoolean(result);
+ callFrame->r(dst) = jsBoolean(result);
vPC += 5;
NEXT_INSTRUCTION();
@@ -1859,7 +1845,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
*/
int dst = (++vPC)->u.operand;
int src = (++vPC)->u.operand;
- callFrame[dst] = JSValue(jsTypeStringForValue(callFrame, callFrame[src].jsValue()));
+ callFrame->r(dst) = JSValue(jsTypeStringForValue(callFrame, callFrame->r(src).jsValue()));
++vPC;
NEXT_INSTRUCTION();
@@ -1873,8 +1859,8 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
*/
int dst = (++vPC)->u.operand;
int src = (++vPC)->u.operand;
- JSValue v = callFrame[src].jsValue();
- callFrame[dst] = jsBoolean(v.isCell() ? v.asCell()->structure()->typeInfo().masqueradesAsUndefined() : v.isUndefined());
+ JSValue v = callFrame->r(src).jsValue();
+ callFrame->r(dst) = jsBoolean(v.isCell() ? v.asCell()->structure()->typeInfo().masqueradesAsUndefined() : v.isUndefined());
++vPC;
NEXT_INSTRUCTION();
@@ -1888,7 +1874,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
*/
int dst = (++vPC)->u.operand;
int src = (++vPC)->u.operand;
- callFrame[dst] = jsBoolean(callFrame[src].jsValue().isBoolean());
+ callFrame->r(dst) = jsBoolean(callFrame->r(src).jsValue().isBoolean());
++vPC;
NEXT_INSTRUCTION();
@@ -1902,7 +1888,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
*/
int dst = (++vPC)->u.operand;
int src = (++vPC)->u.operand;
- callFrame[dst] = jsBoolean(callFrame[src].jsValue().isNumber());
+ callFrame->r(dst) = jsBoolean(callFrame->r(src).jsValue().isNumber());
++vPC;
NEXT_INSTRUCTION();
@@ -1916,7 +1902,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
*/
int dst = (++vPC)->u.operand;
int src = (++vPC)->u.operand;
- callFrame[dst] = jsBoolean(callFrame[src].jsValue().isString());
+ callFrame->r(dst) = jsBoolean(callFrame->r(src).jsValue().isString());
++vPC;
NEXT_INSTRUCTION();
@@ -1930,7 +1916,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
*/
int dst = (++vPC)->u.operand;
int src = (++vPC)->u.operand;
- callFrame[dst] = jsBoolean(jsIsObjectType(callFrame[src].jsValue()));
+ callFrame->r(dst) = jsBoolean(jsIsObjectType(callFrame->r(src).jsValue()));
++vPC;
NEXT_INSTRUCTION();
@@ -1944,7 +1930,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
*/
int dst = (++vPC)->u.operand;
int src = (++vPC)->u.operand;
- callFrame[dst] = jsBoolean(jsIsFunctionType(callFrame[src].jsValue()));
+ callFrame->r(dst) = jsBoolean(jsIsFunctionType(callFrame->r(src).jsValue()));
++vPC;
NEXT_INSTRUCTION();
@@ -1962,21 +1948,21 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
int property = (++vPC)->u.operand;
int base = (++vPC)->u.operand;
- JSValue baseVal = callFrame[base].jsValue();
+ JSValue baseVal = callFrame->r(base).jsValue();
if (isInvalidParamForIn(callFrame, callFrame->codeBlock(), vPC, baseVal, exceptionValue))
goto vm_throw;
JSObject* baseObj = asObject(baseVal);
- JSValue propName = callFrame[property].jsValue();
+ JSValue propName = callFrame->r(property).jsValue();
uint32_t i;
if (propName.getUInt32(i))
- callFrame[dst] = jsBoolean(baseObj->hasProperty(callFrame, i));
+ callFrame->r(dst) = jsBoolean(baseObj->hasProperty(callFrame, i));
else {
Identifier property(callFrame, propName.toString(callFrame));
CHECK_FOR_EXCEPTION();
- callFrame[dst] = jsBoolean(baseObj->hasProperty(callFrame, property));
+ callFrame->r(dst) = jsBoolean(baseObj->hasProperty(callFrame, property));
}
++vPC;
@@ -2034,7 +2020,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
ASSERT(scope->isGlobalObject());
int index = (++vPC)->u.operand;
- callFrame[dst] = scope->registerAt(index);
+ callFrame->r(dst) = scope->registerAt(index);
++vPC;
NEXT_INSTRUCTION();
}
@@ -2048,7 +2034,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
int index = (++vPC)->u.operand;
int value = (++vPC)->u.operand;
- scope->registerAt(index) = JSValue(callFrame[value].jsValue());
+ scope->registerAt(index) = JSValue(callFrame->r(value).jsValue());
++vPC;
NEXT_INSTRUCTION();
}
@@ -2073,7 +2059,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
ASSERT((*iter)->isVariableObject());
JSVariableObject* scope = static_cast<JSVariableObject*>(*iter);
- callFrame[dst] = scope->registerAt(index);
+ callFrame->r(dst) = scope->registerAt(index);
++vPC;
NEXT_INSTRUCTION();
}
@@ -2096,7 +2082,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
ASSERT((*iter)->isVariableObject());
JSVariableObject* scope = static_cast<JSVariableObject*>(*iter);
- scope->registerAt(index) = JSValue(callFrame[value].jsValue());
+ scope->registerAt(index) = JSValue(callFrame->r(value).jsValue());
++vPC;
NEXT_INSTRUCTION();
}
@@ -2164,14 +2150,14 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
CodeBlock* codeBlock = callFrame->codeBlock();
Identifier& ident = codeBlock->identifier(property);
- JSValue baseValue = callFrame[base].jsValue();
+ JSValue baseValue = callFrame->r(base).jsValue();
PropertySlot slot(baseValue);
JSValue result = baseValue.get(callFrame, ident, slot);
CHECK_FOR_EXCEPTION();
tryCacheGetByID(callFrame, codeBlock, vPC, baseValue, ident, slot);
- callFrame[dst] = result;
+ callFrame->r(dst) = result;
vPC += 8;
NEXT_INSTRUCTION();
}
@@ -2183,7 +2169,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
op_get_by_id.
*/
int base = vPC[2].u.operand;
- JSValue baseValue = callFrame[base].jsValue();
+ JSValue baseValue = callFrame->r(base).jsValue();
if (LIKELY(baseValue.isCell())) {
JSCell* baseCell = asCell(baseValue);
@@ -2196,7 +2182,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
int offset = vPC[5].u.operand;
ASSERT(baseObject->get(callFrame, callFrame->codeBlock()->identifier(vPC[3].u.operand)) == baseObject->getDirectOffset(offset));
- callFrame[dst] = JSValue(baseObject->getDirectOffset(offset));
+ callFrame->r(dst) = JSValue(baseObject->getDirectOffset(offset));
vPC += 8;
NEXT_INSTRUCTION();
@@ -2214,7 +2200,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
reverts to op_get_by_id.
*/
int base = vPC[2].u.operand;
- JSValue baseValue = callFrame[base].jsValue();
+ JSValue baseValue = callFrame->r(base).jsValue();
if (LIKELY(baseValue.isCell())) {
JSCell* baseCell = asCell(baseValue);
@@ -2230,7 +2216,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
int offset = vPC[6].u.operand;
ASSERT(protoObject->get(callFrame, callFrame->codeBlock()->identifier(vPC[3].u.operand)) == protoObject->getDirectOffset(offset));
- callFrame[dst] = JSValue(protoObject->getDirectOffset(offset));
+ callFrame->r(dst) = JSValue(protoObject->getDirectOffset(offset));
vPC += 8;
NEXT_INSTRUCTION();
@@ -2263,7 +2249,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
reverts to op_get_by_id.
*/
int base = vPC[2].u.operand;
- JSValue baseValue = callFrame[base].jsValue();
+ JSValue baseValue = callFrame->r(base).jsValue();
if (LIKELY(baseValue.isCell())) {
JSCell* baseCell = asCell(baseValue);
@@ -2285,7 +2271,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
int offset = vPC[7].u.operand;
ASSERT(baseObject->get(callFrame, callFrame->codeBlock()->identifier(vPC[3].u.operand)) == baseObject->getDirectOffset(offset));
- callFrame[dst] = JSValue(baseObject->getDirectOffset(offset));
+ callFrame->r(dst) = JSValue(baseObject->getDirectOffset(offset));
vPC += 8;
NEXT_INSTRUCTION();
@@ -2311,12 +2297,12 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
int property = vPC[3].u.operand;
Identifier& ident = callFrame->codeBlock()->identifier(property);
- JSValue baseValue = callFrame[base].jsValue();
+ JSValue baseValue = callFrame->r(base).jsValue();
PropertySlot slot(baseValue);
JSValue result = baseValue.get(callFrame, ident, slot);
CHECK_FOR_EXCEPTION();
- callFrame[dst] = result;
+ callFrame->r(dst) = result;
vPC += 8;
NEXT_INSTRUCTION();
}
@@ -2329,10 +2315,10 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
*/
int base = vPC[2].u.operand;
- JSValue baseValue = callFrame[base].jsValue();
+ JSValue baseValue = callFrame->r(base).jsValue();
if (LIKELY(isJSArray(globalData, baseValue))) {
int dst = vPC[1].u.operand;
- callFrame[dst] = JSValue(jsNumber(callFrame, asArray(baseValue)->length()));
+ callFrame->r(dst) = JSValue(jsNumber(callFrame, asArray(baseValue)->length()));
vPC += 8;
NEXT_INSTRUCTION();
}
@@ -2349,10 +2335,10 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
*/
int base = vPC[2].u.operand;
- JSValue baseValue = callFrame[base].jsValue();
+ JSValue baseValue = callFrame->r(base).jsValue();
if (LIKELY(isJSString(globalData, baseValue))) {
int dst = vPC[1].u.operand;
- callFrame[dst] = JSValue(jsNumber(callFrame, asString(baseValue)->value().size()));
+ callFrame->r(dst) = JSValue(jsNumber(callFrame, asString(baseValue)->value().size()));
vPC += 8;
NEXT_INSTRUCTION();
}
@@ -2375,10 +2361,10 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
int value = vPC[3].u.operand;
CodeBlock* codeBlock = callFrame->codeBlock();
- JSValue baseValue = callFrame[base].jsValue();
+ JSValue baseValue = callFrame->r(base).jsValue();
Identifier& ident = codeBlock->identifier(property);
PutPropertySlot slot;
- baseValue.put(callFrame, ident, callFrame[value].jsValue(), slot);
+ baseValue.put(callFrame, ident, callFrame->r(value).jsValue(), slot);
CHECK_FOR_EXCEPTION();
tryCachePutByID(callFrame, codeBlock, vPC, baseValue, slot);
@@ -2398,7 +2384,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
the register file.
*/
int base = vPC[1].u.operand;
- JSValue baseValue = callFrame[base].jsValue();
+ JSValue baseValue = callFrame->r(base).jsValue();
if (LIKELY(baseValue.isCell())) {
JSCell* baseCell = asCell(baseValue);
@@ -2426,7 +2412,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
int value = vPC[3].u.operand;
unsigned offset = vPC[7].u.operand;
ASSERT(baseObject->offsetForLocation(baseObject->getDirectLocation(callFrame->codeBlock()->identifier(vPC[2].u.operand))) == offset);
- baseObject->putDirectOffset(offset, callFrame[value].jsValue());
+ baseObject->putDirectOffset(offset, callFrame->r(value).jsValue());
vPC += 8;
NEXT_INSTRUCTION();
@@ -2448,7 +2434,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
the register file.
*/
int base = vPC[1].u.operand;
- JSValue baseValue = callFrame[base].jsValue();
+ JSValue baseValue = callFrame->r(base).jsValue();
if (LIKELY(baseValue.isCell())) {
JSCell* baseCell = asCell(baseValue);
@@ -2461,7 +2447,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
unsigned offset = vPC[5].u.operand;
ASSERT(baseObject->offsetForLocation(baseObject->getDirectLocation(callFrame->codeBlock()->identifier(vPC[2].u.operand))) == offset);
- baseObject->putDirectOffset(offset, callFrame[value].jsValue());
+ baseObject->putDirectOffset(offset, callFrame->r(value).jsValue());
vPC += 8;
NEXT_INSTRUCTION();
@@ -2484,10 +2470,10 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
int property = vPC[2].u.operand;
int value = vPC[3].u.operand;
- JSValue baseValue = callFrame[base].jsValue();
+ JSValue baseValue = callFrame->r(base).jsValue();
Identifier& ident = callFrame->codeBlock()->identifier(property);
PutPropertySlot slot;
- baseValue.put(callFrame, ident, callFrame[value].jsValue(), slot);
+ baseValue.put(callFrame, ident, callFrame->r(value).jsValue(), slot);
CHECK_FOR_EXCEPTION();
vPC += 8;
@@ -2505,11 +2491,11 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
int base = (++vPC)->u.operand;
int property = (++vPC)->u.operand;
- JSObject* baseObj = callFrame[base].jsValue().toObject(callFrame);
+ JSObject* baseObj = callFrame->r(base).jsValue().toObject(callFrame);
Identifier& ident = callFrame->codeBlock()->identifier(property);
JSValue result = jsBoolean(baseObj->deleteProperty(callFrame, ident));
CHECK_FOR_EXCEPTION();
- callFrame[dst] = result;
+ callFrame->r(dst) = result;
++vPC;
NEXT_INSTRUCTION();
}
@@ -2525,8 +2511,8 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
int base = (++vPC)->u.operand;
int property = (++vPC)->u.operand;
- JSValue baseValue = callFrame[base].jsValue();
- JSValue subscript = callFrame[property].jsValue();
+ JSValue baseValue = callFrame->r(base).jsValue();
+ JSValue subscript = callFrame->r(property).jsValue();
JSValue result;
@@ -2550,7 +2536,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
}
CHECK_FOR_EXCEPTION();
- callFrame[dst] = result;
+ callFrame->r(dst) = result;
++vPC;
NEXT_INSTRUCTION();
}
@@ -2569,21 +2555,21 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
int property = (++vPC)->u.operand;
int value = (++vPC)->u.operand;
- JSValue baseValue = callFrame[base].jsValue();
- JSValue subscript = callFrame[property].jsValue();
+ JSValue baseValue = callFrame->r(base).jsValue();
+ JSValue subscript = callFrame->r(property).jsValue();
if (LIKELY(subscript.isUInt32Fast())) {
uint32_t i = subscript.getUInt32Fast();
if (isJSArray(globalData, baseValue)) {
JSArray* jsArray = asArray(baseValue);
if (jsArray->canSetIndex(i))
- jsArray->setIndex(i, callFrame[value].jsValue());
+ jsArray->setIndex(i, callFrame->r(value).jsValue());
else
- jsArray->JSArray::put(callFrame, i, callFrame[value].jsValue());
+ jsArray->JSArray::put(callFrame, i, callFrame->r(value).jsValue());
} else if (isJSByteArray(globalData, baseValue) && asByteArray(baseValue)->canAccessIndex(i)) {
JSByteArray* jsByteArray = asByteArray(baseValue);
double dValue = 0;
- JSValue jsValue = callFrame[value].jsValue();
+ JSValue jsValue = callFrame->r(value).jsValue();
if (jsValue.isInt32Fast())
jsByteArray->setIndex(i, jsValue.getInt32Fast());
else if (jsValue.getNumber(dValue))
@@ -2591,12 +2577,12 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
else
baseValue.put(callFrame, i, jsValue);
} else
- baseValue.put(callFrame, i, callFrame[value].jsValue());
+ baseValue.put(callFrame, i, callFrame->r(value).jsValue());
} else {
Identifier property(callFrame, subscript.toString(callFrame));
if (!globalData->exception) { // Don't put to an object if toString threw an exception.
PutPropertySlot slot;
- baseValue.put(callFrame, property, callFrame[value].jsValue(), slot);
+ baseValue.put(callFrame, property, callFrame->r(value).jsValue(), slot);
}
}
@@ -2616,9 +2602,9 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
int base = (++vPC)->u.operand;
int property = (++vPC)->u.operand;
- JSObject* baseObj = callFrame[base].jsValue().toObject(callFrame); // may throw
+ JSObject* baseObj = callFrame->r(base).jsValue().toObject(callFrame); // may throw
- JSValue subscript = callFrame[property].jsValue();
+ JSValue subscript = callFrame->r(property).jsValue();
JSValue result;
uint32_t i;
if (subscript.getUInt32(i))
@@ -2631,7 +2617,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
}
CHECK_FOR_EXCEPTION();
- callFrame[dst] = result;
+ callFrame->r(dst) = result;
++vPC;
NEXT_INSTRUCTION();
}
@@ -2651,7 +2637,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
unsigned property = (++vPC)->u.operand;
int value = (++vPC)->u.operand;
- callFrame[base].jsValue().put(callFrame, property, callFrame[value].jsValue());
+ callFrame->r(base).jsValue().put(callFrame, property, callFrame->r(value).jsValue());
++vPC;
NEXT_INSTRUCTION();
@@ -2698,7 +2684,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
*/
int cond = (++vPC)->u.operand;
int target = (++vPC)->u.operand;
- if (callFrame[cond].jsValue().toBoolean(callFrame)) {
+ if (callFrame->r(cond).jsValue().toBoolean(callFrame)) {
vPC += target;
CHECK_FOR_TIMEOUT();
NEXT_INSTRUCTION();
@@ -2715,7 +2701,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
*/
int cond = (++vPC)->u.operand;
int target = (++vPC)->u.operand;
- if (callFrame[cond].jsValue().toBoolean(callFrame)) {
+ if (callFrame->r(cond).jsValue().toBoolean(callFrame)) {
vPC += target;
NEXT_INSTRUCTION();
}
@@ -2731,7 +2717,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
*/
int cond = (++vPC)->u.operand;
int target = (++vPC)->u.operand;
- if (!callFrame[cond].jsValue().toBoolean(callFrame)) {
+ if (!callFrame->r(cond).jsValue().toBoolean(callFrame)) {
vPC += target;
NEXT_INSTRUCTION();
}
@@ -2747,7 +2733,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
*/
int src = (++vPC)->u.operand;
int target = (++vPC)->u.operand;
- JSValue srcValue = callFrame[src].jsValue();
+ JSValue srcValue = callFrame->r(src).jsValue();
if (srcValue.isUndefinedOrNull() || (srcValue.isCell() && srcValue.asCell()->structure()->typeInfo().masqueradesAsUndefined())) {
vPC += target;
@@ -2765,7 +2751,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
*/
int src = (++vPC)->u.operand;
int target = (++vPC)->u.operand;
- JSValue srcValue = callFrame[src].jsValue();
+ JSValue srcValue = callFrame->r(src).jsValue();
if (!srcValue.isUndefinedOrNull() || (srcValue.isCell() && !srcValue.asCell()->structure()->typeInfo().masqueradesAsUndefined())) {
vPC += target;
@@ -2784,7 +2770,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
int src = (++vPC)->u.operand;
JSValue ptr = JSValue((++vPC)->u.jsCell);
int target = (++vPC)->u.operand;
- JSValue srcValue = callFrame[src].jsValue();
+ JSValue srcValue = callFrame->r(src).jsValue();
if (srcValue != ptr) {
vPC += target;
NEXT_INSTRUCTION();
@@ -2804,8 +2790,8 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
Additionally this loop instruction may terminate JS execution is
the JS timeout is reached.
*/
- JSValue src1 = callFrame[(++vPC)->u.operand].jsValue();
- JSValue src2 = callFrame[(++vPC)->u.operand].jsValue();
+ JSValue src1 = callFrame->r((++vPC)->u.operand).jsValue();
+ JSValue src2 = callFrame->r((++vPC)->u.operand).jsValue();
int target = (++vPC)->u.operand;
bool result = jsLess(callFrame, src1, src2);
@@ -2831,8 +2817,8 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
Additionally this loop instruction may terminate JS execution is
the JS timeout is reached.
*/
- JSValue src1 = callFrame[(++vPC)->u.operand].jsValue();
- JSValue src2 = callFrame[(++vPC)->u.operand].jsValue();
+ JSValue src1 = callFrame->r((++vPC)->u.operand).jsValue();
+ JSValue src2 = callFrame->r((++vPC)->u.operand).jsValue();
int target = (++vPC)->u.operand;
bool result = jsLessEq(callFrame, src1, src2);
@@ -2855,8 +2841,8 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
target from the current instruction, if and only if the
result of the comparison is false.
*/
- JSValue src1 = callFrame[(++vPC)->u.operand].jsValue();
- JSValue src2 = callFrame[(++vPC)->u.operand].jsValue();
+ JSValue src1 = callFrame->r((++vPC)->u.operand).jsValue();
+ JSValue src2 = callFrame->r((++vPC)->u.operand).jsValue();
int target = (++vPC)->u.operand;
bool result = jsLess(callFrame, src1, src2);
@@ -2878,8 +2864,8 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
and then jumps to offset target from the current instruction,
if and only if theresult of the comparison is false.
*/
- JSValue src1 = callFrame[(++vPC)->u.operand].jsValue();
- JSValue src2 = callFrame[(++vPC)->u.operand].jsValue();
+ JSValue src1 = callFrame->r((++vPC)->u.operand).jsValue();
+ JSValue src2 = callFrame->r((++vPC)->u.operand).jsValue();
int target = (++vPC)->u.operand;
bool result = jsLessEq(callFrame, src1, src2);
@@ -2904,7 +2890,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
*/
int tableIndex = (++vPC)->u.operand;
int defaultOffset = (++vPC)->u.operand;
- JSValue scrutinee = callFrame[(++vPC)->u.operand].jsValue();
+ JSValue scrutinee = callFrame->r((++vPC)->u.operand).jsValue();
if (scrutinee.isInt32Fast())
vPC += callFrame->codeBlock()->immediateSwitchJumpTable(tableIndex).offsetForValue(scrutinee.getInt32Fast(), defaultOffset);
else {
@@ -2928,7 +2914,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
*/
int tableIndex = (++vPC)->u.operand;
int defaultOffset = (++vPC)->u.operand;
- JSValue scrutinee = callFrame[(++vPC)->u.operand].jsValue();
+ JSValue scrutinee = callFrame->r((++vPC)->u.operand).jsValue();
if (!scrutinee.isString())
vPC += defaultOffset;
else {
@@ -2951,7 +2937,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
*/
int tableIndex = (++vPC)->u.operand;
int defaultOffset = (++vPC)->u.operand;
- JSValue scrutinee = callFrame[(++vPC)->u.operand].jsValue();
+ JSValue scrutinee = callFrame->r((++vPC)->u.operand).jsValue();
if (!scrutinee.isString())
vPC += defaultOffset;
else
@@ -2969,7 +2955,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
int dst = (++vPC)->u.operand;
int func = (++vPC)->u.operand;
- callFrame[dst] = callFrame->codeBlock()->function(func)->makeFunction(callFrame, callFrame->scopeChain());
+ callFrame->r(dst) = callFrame->codeBlock()->function(func)->makeFunction(callFrame, callFrame->scopeChain());
++vPC;
NEXT_INSTRUCTION();
@@ -2985,7 +2971,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
int dst = (++vPC)->u.operand;
int func = (++vPC)->u.operand;
- callFrame[dst] = callFrame->codeBlock()->functionExpression(func)->makeFunction(callFrame, callFrame->scopeChain());
+ callFrame->r(dst) = callFrame->codeBlock()->functionExpression(func)->makeFunction(callFrame, callFrame->scopeChain());
++vPC;
NEXT_INSTRUCTION();
@@ -3007,7 +2993,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
int argCount = vPC[3].u.operand;
int registerOffset = vPC[4].u.operand;
- JSValue funcVal = callFrame[func].jsValue();
+ JSValue funcVal = callFrame->r(func).jsValue();
Register* newCallFrame = callFrame->registers() + registerOffset;
Register* argv = newCallFrame - RegisterFile::CallFrameHeaderSize - argCount;
@@ -3018,7 +3004,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
JSValue result = callEval(callFrame, registerFile, argv, argCount, registerOffset, exceptionValue);
if (exceptionValue)
goto vm_throw;
- callFrame[dst] = result;
+ callFrame->r(dst) = result;
vPC += 5;
NEXT_INSTRUCTION();
@@ -3044,7 +3030,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
int argCount = vPC[3].u.operand;
int registerOffset = vPC[4].u.operand;
- JSValue v = callFrame[func].jsValue();
+ JSValue v = callFrame->r(func).jsValue();
CallData callData;
CallType callType = v.getCallData(callData);
@@ -3093,7 +3079,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
}
CHECK_FOR_EXCEPTION();
- callFrame[dst] = JSValue(returnValue);
+ callFrame->r(dst) = JSValue(returnValue);
vPC += 5;
NEXT_INSTRUCTION();
@@ -3108,19 +3094,19 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
int argCountDst = (++vPC)->u.operand;
int argsOffset = (++vPC)->u.operand;
- JSValue arguments = callFrame[argsOffset].jsValue();
- uint32_t argCount = 0;
+ JSValue arguments = callFrame->r(argsOffset).jsValue();
+ int32_t argCount = 0;
if (!arguments) {
- argCount = (uint32_t)(callFrame[RegisterFile::ArgumentCount].u.i) - 1;
+ argCount = (uint32_t)(callFrame->argumentCount()) - 1;
int32_t sizeDelta = argsOffset + argCount + RegisterFile::CallFrameHeaderSize;
Register* newEnd = callFrame->registers() + sizeDelta;
if (!registerFile->grow(newEnd) || ((newEnd - callFrame->registers()) != sizeDelta)) {
exceptionValue = createStackOverflowError(callFrame);
goto vm_throw;
}
- uint32_t expectedParams = asFunction(callFrame[RegisterFile::Callee].jsValue())->body()->parameterCount();
- uint32_t inplaceArgs = min(argCount, expectedParams);
- uint32_t i = 0;
+ int32_t expectedParams = callFrame->callee()->body()->parameterCount();
+ int32_t inplaceArgs = min(argCount, expectedParams);
+ int32_t i = 0;
Register* argStore = callFrame->registers() + argsOffset;
// First step is to copy the "expected" parameters from their normal location relative to the callframe
@@ -3164,7 +3150,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
goto vm_throw;
}
Register* argsBuffer = callFrame->registers() + argsOffset;
- for (unsigned i = 0; i < argCount; ++i) {
+ for (int32_t i = 0; i < argCount; ++i) {
argsBuffer[i] = asObject(arguments)->get(callFrame, i);
CHECK_FOR_EXCEPTION();
}
@@ -3176,7 +3162,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
}
}
CHECK_FOR_EXCEPTION();
- callFrame[argCountDst] = argCount + 1;
+ callFrame->r(argCountDst) = argCount + 1;
++vPC;
NEXT_INSTRUCTION();
}
@@ -3197,8 +3183,8 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
int argCountReg = vPC[3].u.operand;
int registerOffset = vPC[4].u.operand;
- JSValue v = callFrame[func].jsValue();
- int argCount = callFrame[argCountReg].i();
+ JSValue v = callFrame->r(func).jsValue();
+ int argCount = callFrame->r(argCountReg).i();
registerOffset += argCount;
CallData callData;
CallType callType = v.getCallData(callData);
@@ -3247,7 +3233,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
}
CHECK_FOR_EXCEPTION();
- callFrame[dst] = JSValue(returnValue);
+ callFrame->r(dst) = JSValue(returnValue);
vPC += 5;
NEXT_INSTRUCTION();
@@ -3274,7 +3260,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
int src = (++vPC)->u.operand;
ASSERT(callFrame->codeBlock()->needsFullScopeChain());
- asActivation(callFrame[src].jsValue())->copyRegisters(callFrame->optionalCalleeArguments());
+ asActivation(callFrame->r(src).jsValue())->copyRegisters(callFrame->optionalCalleeArguments());
++vPC;
NEXT_INSTRUCTION();
@@ -3314,7 +3300,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
if (callFrame->codeBlock()->needsFullScopeChain())
callFrame->scopeChain()->deref();
- JSValue returnValue = callFrame[result].jsValue();
+ JSValue returnValue = callFrame->r(result).jsValue();
vPC = callFrame->returnPC();
int dst = callFrame->returnValueRegister();
@@ -3323,7 +3309,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
if (callFrame->hasHostCallFrameFlag())
return returnValue;
- callFrame[dst] = JSValue(returnValue);
+ callFrame->r(dst) = JSValue(returnValue);
NEXT_INSTRUCTION();
}
@@ -3342,10 +3328,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
CodeBlock* codeBlock = callFrame->codeBlock();
for (size_t count = codeBlock->m_numVars; i < count; ++i)
- callFrame[i] = jsUndefined();
-
- for (size_t count = codeBlock->numberOfConstantRegisters(), j = 0; j < count; ++i, ++j)
- callFrame[i] = codeBlock->constantRegister(j);
+ callFrame->r(i) = jsUndefined();
++vPC;
NEXT_INSTRUCTION();
@@ -3367,14 +3350,11 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
CodeBlock* codeBlock = callFrame->codeBlock();
for (size_t count = codeBlock->m_numVars; i < count; ++i)
- callFrame[i] = jsUndefined();
-
- for (size_t count = codeBlock->numberOfConstantRegisters(), j = 0; j < count; ++i, ++j)
- callFrame[i] = codeBlock->constantRegister(j);
+ callFrame->r(i) = jsUndefined();
int dst = (++vPC)->u.operand;
JSActivation* activation = new (globalData) JSActivation(callFrame, static_cast<FunctionBodyNode*>(codeBlock->ownerNode()));
- callFrame[dst] = activation;
+ callFrame->r(dst) = activation;
callFrame->setScopeChain(callFrame->scopeChain()->copy()->push(activation));
++vPC;
@@ -3393,9 +3373,9 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
*/
int thisRegister = (++vPC)->u.operand;
- JSValue thisVal = callFrame[thisRegister].jsValue();
+ JSValue thisVal = callFrame->r(thisRegister).jsValue();
if (thisVal.needsThisConversion())
- callFrame[thisRegister] = JSValue(thisVal.toThisObject(callFrame));
+ callFrame->r(thisRegister) = JSValue(thisVal.toThisObject(callFrame));
++vPC;
NEXT_INSTRUCTION();
@@ -3410,7 +3390,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
This opcode should only be used at the beginning of a code
block.
*/
- callFrame[RegisterFile::ArgumentsRegister] = JSValue();
+ callFrame->r(RegisterFile::ArgumentsRegister) = JSValue();
++vPC;
NEXT_INSTRUCTION();
}
@@ -3422,10 +3402,10 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
register, if it has not already been initialised.
*/
- if (!callFrame->optionalCalleeArguments()) {
+ if (!callFrame->r(RegisterFile::ArgumentsRegister).jsValue()) {
Arguments* arguments = new (globalData) Arguments(callFrame);
callFrame->setCalleeArguments(arguments);
- callFrame[RegisterFile::ArgumentsRegister] = arguments;
+ callFrame->r(RegisterFile::ArgumentsRegister) = arguments;
}
++vPC;
NEXT_INSTRUCTION();
@@ -3452,7 +3432,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
int proto = vPC[5].u.operand;
int thisRegister = vPC[6].u.operand;
- JSValue v = callFrame[func].jsValue();
+ JSValue v = callFrame->r(func).jsValue();
ConstructData constructData;
ConstructType constructType = v.getConstructData(constructData);
@@ -3463,14 +3443,14 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
CodeBlock* newCodeBlock = &functionBodyNode->bytecode(callDataScopeChain);
Structure* structure;
- JSValue prototype = callFrame[proto].jsValue();
+ JSValue prototype = callFrame->r(proto).jsValue();
if (prototype.isObject())
structure = asObject(prototype)->inheritorID();
else
structure = callDataScopeChain->globalObject()->emptyObjectStructure();
JSObject* newObject = new (globalData) JSObject(structure);
- callFrame[thisRegister] = JSValue(newObject); // "this" value
+ callFrame->r(thisRegister) = JSValue(newObject); // "this" value
CallFrame* previousCallFrame = callFrame;
@@ -3504,7 +3484,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
returnValue = constructData.native.function(newCallFrame, asObject(v), args);
}
CHECK_FOR_EXCEPTION();
- callFrame[dst] = JSValue(returnValue);
+ callFrame->r(dst) = JSValue(returnValue);
vPC += 7;
NEXT_INSTRUCTION();
@@ -3523,13 +3503,13 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
*/
int dst = vPC[1].u.operand;
- if (LIKELY(callFrame[dst].jsValue().isObject())) {
+ if (LIKELY(callFrame->r(dst).jsValue().isObject())) {
vPC += 3;
NEXT_INSTRUCTION();
}
int override = vPC[2].u.operand;
- callFrame[dst] = callFrame[override];
+ callFrame->r(dst) = callFrame->r(override);
vPC += 3;
NEXT_INSTRUCTION();
@@ -3539,7 +3519,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
int src = (++vPC)->u.operand;
int count = (++vPC)->u.operand;
- callFrame[dst] = concatenateStrings(callFrame, &callFrame->registers()[src], count);
+ callFrame->r(dst) = concatenateStrings(callFrame, &callFrame->registers()[src], count);
++vPC;
NEXT_INSTRUCTION();
@@ -3548,7 +3528,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
int dst = (++vPC)->u.operand;
int src = (++vPC)->u.operand;
- callFrame[dst] = callFrame[src].jsValue().toPrimitive(callFrame);
+ callFrame->r(dst) = callFrame->r(src).jsValue().toPrimitive(callFrame);
++vPC;
NEXT_INSTRUCTION();
@@ -3561,11 +3541,11 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
are replaced by the result of toObject conversion of the scope.
*/
int scope = (++vPC)->u.operand;
- JSValue v = callFrame[scope].jsValue();
+ JSValue v = callFrame->r(scope).jsValue();
JSObject* o = v.toObject(callFrame);
CHECK_FOR_EXCEPTION();
- callFrame[scope] = JSValue(o);
+ callFrame->r(scope) = JSValue(o);
callFrame->setScopeChain(callFrame->scopeChain()->push(o));
++vPC;
@@ -3592,7 +3572,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
int dst = (++vPC)->u.operand;
int base = (++vPC)->u.operand;
- callFrame[dst] = JSPropertyNameIterator::create(callFrame, callFrame[base].jsValue());
+ callFrame->r(dst) = JSPropertyNameIterator::create(callFrame, callFrame->r(base).jsValue());
++vPC;
NEXT_INSTRUCTION();
}
@@ -3609,10 +3589,10 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
int iter = (++vPC)->u.operand;
int target = (++vPC)->u.operand;
- JSPropertyNameIterator* it = callFrame[iter].propertyNameIterator();
+ JSPropertyNameIterator* it = callFrame->r(iter).propertyNameIterator();
if (JSValue temp = it->next(callFrame)) {
CHECK_FOR_TIMEOUT();
- callFrame[dst] = JSValue(temp);
+ callFrame->r(dst) = JSValue(temp);
vPC += target;
NEXT_INSTRUCTION();
}
@@ -3668,7 +3648,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
ASSERT(exceptionValue);
ASSERT(!globalData->exception);
int ex = (++vPC)->u.operand;
- callFrame[ex] = exceptionValue;
+ callFrame->r(ex) = exceptionValue;
exceptionValue = JSValue();
++vPC;
@@ -3686,7 +3666,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
*/
int ex = (++vPC)->u.operand;
- exceptionValue = callFrame[ex].jsValue();
+ exceptionValue = callFrame->r(ex).jsValue();
handler = throwException(callFrame, exceptionValue, vPC - callFrame->codeBlock()->instructions().begin(), true);
if (!handler) {
@@ -3697,18 +3677,6 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
vPC = callFrame->codeBlock()->instructions().begin() + handler->target;
NEXT_INSTRUCTION();
}
- DEFINE_OPCODE(op_unexpected_load) {
- /* unexpected_load load dst(r) src(k)
-
- Copies constant src to register dst.
- */
- int dst = (++vPC)->u.operand;
- int src = (++vPC)->u.operand;
- callFrame[dst] = JSValue(callFrame->codeBlock()->unexpectedConstant(src));
-
- ++vPC;
- NEXT_INSTRUCTION();
- }
DEFINE_OPCODE(op_new_error) {
/* new_error dst(r) type(n) message(k)
@@ -3722,7 +3690,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
int message = (++vPC)->u.operand;
CodeBlock* codeBlock = callFrame->codeBlock();
- callFrame[dst] = JSValue(Error::create(callFrame, (ErrorType)type, codeBlock->unexpectedConstant(message).toString(callFrame), codeBlock->lineNumberForBytecodeOffset(callFrame, vPC - codeBlock->instructions().begin()), codeBlock->ownerNode()->sourceID(), codeBlock->ownerNode()->sourceURL()));
+ callFrame->r(dst) = JSValue(Error::create(callFrame, (ErrorType)type, callFrame->r(message).jsValue().toString(callFrame), codeBlock->lineNumberForBytecodeOffset(callFrame, vPC - codeBlock->instructions().begin()), codeBlock->ownerNode()->sourceID(), codeBlock->ownerNode()->sourceURL()));
++vPC;
NEXT_INSTRUCTION();
@@ -3740,7 +3708,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
scopeChain->deref();
}
int result = (++vPC)->u.operand;
- return callFrame[result].jsValue();
+ return callFrame->r(result).jsValue();
}
DEFINE_OPCODE(op_put_getter) {
/* put_getter base(r) property(id) function(r)
@@ -3757,11 +3725,11 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
int property = (++vPC)->u.operand;
int function = (++vPC)->u.operand;
- ASSERT(callFrame[base].jsValue().isObject());
- JSObject* baseObj = asObject(callFrame[base].jsValue());
+ ASSERT(callFrame->r(base).jsValue().isObject());
+ JSObject* baseObj = asObject(callFrame->r(base).jsValue());
Identifier& ident = callFrame->codeBlock()->identifier(property);
- ASSERT(callFrame[function].jsValue().isObject());
- baseObj->defineGetter(callFrame, ident, asObject(callFrame[function].jsValue()));
+ ASSERT(callFrame->r(function).jsValue().isObject());
+ baseObj->defineGetter(callFrame, ident, asObject(callFrame->r(function).jsValue()));
++vPC;
NEXT_INSTRUCTION();
@@ -3781,11 +3749,11 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
int property = (++vPC)->u.operand;
int function = (++vPC)->u.operand;
- ASSERT(callFrame[base].jsValue().isObject());
- JSObject* baseObj = asObject(callFrame[base].jsValue());
+ ASSERT(callFrame->r(base).jsValue().isObject());
+ JSObject* baseObj = asObject(callFrame->r(base).jsValue());
Identifier& ident = callFrame->codeBlock()->identifier(property);
- ASSERT(callFrame[function].jsValue().isObject());
- baseObj->defineSetter(callFrame, ident, asObject(callFrame[function].jsValue()));
+ ASSERT(callFrame->r(function).jsValue().isObject());
+ baseObj->defineSetter(callFrame, ident, asObject(callFrame->r(function).jsValue()));
++vPC;
NEXT_INSTRUCTION();
@@ -3802,7 +3770,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
*/
int retAddrDst = (++vPC)->u.operand;
int target = (++vPC)->u.operand;
- callFrame[retAddrDst] = vPC + 1;
+ callFrame->r(retAddrDst) = vPC + 1;
vPC += target;
NEXT_INSTRUCTION();
@@ -3815,7 +3783,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
register, not as an immediate.
*/
int retAddrSrc = (++vPC)->u.operand;
- vPC = callFrame[retAddrSrc].vPC();
+ vPC = callFrame->r(retAddrSrc).vPC();
NEXT_INSTRUCTION();
}
DEFINE_OPCODE(op_debug) {
@@ -3842,7 +3810,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
int function = vPC[1].u.operand;
if (*enabledProfilerReference)
- (*enabledProfilerReference)->willExecute(callFrame, callFrame[function].jsValue());
+ (*enabledProfilerReference)->willExecute(callFrame, callFrame->r(function).jsValue());
vPC += 2;
NEXT_INSTRUCTION();
@@ -3856,7 +3824,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
int function = vPC[1].u.operand;
if (*enabledProfilerReference)
- (*enabledProfilerReference)->didExecute(callFrame, callFrame[function].jsValue());
+ (*enabledProfilerReference)->didExecute(callFrame, callFrame->r(function).jsValue());
vPC += 2;
NEXT_INSTRUCTION();
@@ -3899,12 +3867,12 @@ JSValue Interpreter::retrieveArguments(CallFrame* callFrame, JSFunction* functio
ASSERT(codeBlock->codeType() == FunctionCode);
SymbolTable& symbolTable = codeBlock->symbolTable();
int argumentsIndex = symbolTable.get(functionCallFrame->propertyNames().arguments.ustring().rep()).getIndex();
- if (!functionCallFrame[argumentsIndex].arguments()) {
+ if (!functionCallFrame->r(argumentsIndex).arguments()) {
Arguments* arguments = new (callFrame) Arguments(functionCallFrame);
functionCallFrame->setCalleeArguments(arguments);
- functionCallFrame[RegisterFile::ArgumentsRegister] = arguments;
+ functionCallFrame->r(RegisterFile::ArgumentsRegister) = arguments;
}
- return functionCallFrame[argumentsIndex].jsValue();
+ return functionCallFrame->r(argumentsIndex).jsValue();
}
Arguments* arguments = functionCallFrame->optionalCalleeArguments();
diff --git a/src/3rdparty/webkit/JavaScriptCore/interpreter/Interpreter.h b/src/3rdparty/webkit/JavaScriptCore/interpreter/Interpreter.h
index 702c89c..5331d92 100644
--- a/src/3rdparty/webkit/JavaScriptCore/interpreter/Interpreter.h
+++ b/src/3rdparty/webkit/JavaScriptCore/interpreter/Interpreter.h
@@ -31,13 +31,14 @@
#include "ArgList.h"
#include "FastAllocBase.h"
-#include "HashMap.h"
#include "JSCell.h"
#include "JSValue.h"
#include "JSObject.h"
#include "Opcode.h"
#include "RegisterFile.h"
+#include <wtf/HashMap.h>
+
namespace JSC {
class CodeBlock;
@@ -45,7 +46,6 @@ namespace JSC {
class FunctionBodyNode;
class Instruction;
class InternalFunction;
- class AssemblerBuffer;
class JSFunction;
class JSGlobalObject;
class ProgramNode;
diff --git a/src/3rdparty/webkit/JavaScriptCore/interpreter/RegisterFile.h b/src/3rdparty/webkit/JavaScriptCore/interpreter/RegisterFile.h
index 3a6e63b..d46bdc9 100644
--- a/src/3rdparty/webkit/JavaScriptCore/interpreter/RegisterFile.h
+++ b/src/3rdparty/webkit/JavaScriptCore/interpreter/RegisterFile.h
@@ -32,12 +32,12 @@
#include "Collector.h"
#include "ExecutableAllocator.h"
#include "Register.h"
+#include <stdio.h>
#include <wtf/Noncopyable.h>
#include <wtf/VMTags.h>
#if HAVE(MMAP)
#include <errno.h>
-#include <stdio.h>
#include <sys/mman.h>
#endif
@@ -92,7 +92,7 @@ namespace JSC {
class JSGlobalObject;
- class RegisterFile : Noncopyable {
+ class RegisterFile : public Noncopyable {
friend class JIT;
public:
enum CallFrameHeaderEntry {
diff --git a/src/3rdparty/webkit/JavaScriptCore/jit/ExecutableAllocator.h b/src/3rdparty/webkit/JavaScriptCore/jit/ExecutableAllocator.h
index 0de4f79..4ed47e3 100644
--- a/src/3rdparty/webkit/JavaScriptCore/jit/ExecutableAllocator.h
+++ b/src/3rdparty/webkit/JavaScriptCore/jit/ExecutableAllocator.h
@@ -156,7 +156,7 @@ public:
return pool.release();
}
-#if ENABLE(ASSEMBLER_WX_EXCLUSIVE) || !(PLATFORM(X86) || PLATFORM(X86_64))
+#if ENABLE(ASSEMBLER_WX_EXCLUSIVE)
static void makeWritable(void* start, size_t size)
{
reprotectRegion(start, size, Writable);
@@ -165,58 +165,47 @@ public:
static void makeExecutable(void* start, size_t size)
{
reprotectRegion(start, size, Executable);
- cacheFlush(start, size);
}
-
- // If ASSEMBLER_WX_EXCLUSIVE protection is turned on, or on non-x86 platforms,
- // we need to track start & size so we can makeExecutable/cacheFlush at the end.
- class MakeWritable {
- public:
- MakeWritable(void* start, size_t size)
- : m_start(start)
- , m_size(size)
- {
- makeWritable(start, size);
- }
-
- ~MakeWritable()
- {
- makeExecutable(m_start, m_size);
- }
-
- private:
- void* m_start;
- size_t m_size;
- };
#else
static void makeWritable(void*, size_t) {}
static void makeExecutable(void*, size_t) {}
-
- // On x86, without ASSEMBLER_WX_EXCLUSIVE, there is nothing to do here.
- class MakeWritable { public: MakeWritable(void*, size_t) {} };
#endif
-private:
-
-#if ENABLE(ASSEMBLER_WX_EXCLUSIVE) || !(PLATFORM(X86) || PLATFORM(X86_64))
-#if ENABLE(ASSEMBLER_WX_EXCLUSIVE)
- static void reprotectRegion(void*, size_t, ProtectionSeting);
-#else
- static void reprotectRegion(void*, size_t, ProtectionSeting) {}
-#endif
- static void cacheFlush(void* code, size_t size)
- {
#if PLATFORM(X86) || PLATFORM(X86_64)
- UNUSED_PARAM(code);
- UNUSED_PARAM(size);
+ static void cacheFlush(void*, size_t)
+ {
+ }
#elif PLATFORM_ARM_ARCH(7) && PLATFORM(IPHONE)
+ static void cacheFlush(void* code, size_t size)
+ {
sys_dcache_flush(code, size);
sys_icache_invalidate(code, size);
-#else
-#error "ExecutableAllocator::cacheFlush not implemented on this platform."
-#endif
}
+#elif PLATFORM(ARM)
+ static void cacheFlush(void* code, size_t size)
+ {
+ #if COMPILER(GCC) && (GCC_VERSION >= 30406)
+ __clear_cache(reinterpret_cast<char*>(code), reinterpret_cast<char*>(code) + size);
+ #else
+ const int syscall = 0xf0002;
+ __asm __volatile (
+ "mov r0, %0\n"
+ "mov r1, %1\n"
+ "mov r7, %2\n"
+ "mov r2, #0x0\n"
+ "swi 0x00000000\n"
+ :
+ : "r" (code), "r" (reinterpret_cast<char*>(code) + size), "r" (syscall)
+ : "r0", "r1", "r7");
+ #endif // COMPILER(GCC) && (GCC_VERSION >= 30406)
+ }
+#endif
+
+private:
+
+#if ENABLE(ASSEMBLER_WX_EXCLUSIVE)
+ static void reprotectRegion(void*, size_t, ProtectionSeting);
#endif
RefPtr<ExecutablePool> m_smallAllocationPool;
diff --git a/src/3rdparty/webkit/JavaScriptCore/jit/JIT.cpp b/src/3rdparty/webkit/JavaScriptCore/jit/JIT.cpp
index 02cb09b..a0e462b 100644
--- a/src/3rdparty/webkit/JavaScriptCore/jit/JIT.cpp
+++ b/src/3rdparty/webkit/JavaScriptCore/jit/JIT.cpp
@@ -26,6 +26,12 @@
#include "config.h"
#include "JIT.h"
+// This probably does not belong here; adding here for now as a quick Windows build fix.
+#if ENABLE(ASSEMBLER) && PLATFORM(X86) && !PLATFORM(MAC)
+#include "MacroAssembler.h"
+JSC::MacroAssemblerX86Common::SSE2CheckState JSC::MacroAssemblerX86Common::s_sse2CheckState = NotCheckedSSE2;
+#endif
+
#if ENABLE(JIT)
#include "CodeBlock.h"
@@ -34,6 +40,8 @@
#include "JITStubCall.h"
#include "JSArray.h"
#include "JSFunction.h"
+#include "LinkBuffer.h"
+#include "RepatchBuffer.h"
#include "ResultType.h"
#include "SamplingTool.h"
@@ -45,21 +53,21 @@ using namespace std;
namespace JSC {
-void ctiPatchNearCallByReturnAddress(ReturnAddressPtr returnAddress, MacroAssemblerCodePtr newCalleeFunction)
+void ctiPatchNearCallByReturnAddress(CodeBlock* codeblock, ReturnAddressPtr returnAddress, MacroAssemblerCodePtr newCalleeFunction)
{
- MacroAssembler::RepatchBuffer repatchBuffer;
+ RepatchBuffer repatchBuffer(codeblock);
repatchBuffer.relinkNearCallerToTrampoline(returnAddress, newCalleeFunction);
}
-void ctiPatchCallByReturnAddress(ReturnAddressPtr returnAddress, MacroAssemblerCodePtr newCalleeFunction)
+void ctiPatchCallByReturnAddress(CodeBlock* codeblock, ReturnAddressPtr returnAddress, MacroAssemblerCodePtr newCalleeFunction)
{
- MacroAssembler::RepatchBuffer repatchBuffer;
+ RepatchBuffer repatchBuffer(codeblock);
repatchBuffer.relinkCallerToTrampoline(returnAddress, newCalleeFunction);
}
-void ctiPatchCallByReturnAddress(ReturnAddressPtr returnAddress, FunctionPtr newCalleeFunction)
+void ctiPatchCallByReturnAddress(CodeBlock* codeblock, ReturnAddressPtr returnAddress, FunctionPtr newCalleeFunction)
{
- MacroAssembler::RepatchBuffer repatchBuffer;
+ RepatchBuffer repatchBuffer(codeblock);
repatchBuffer.relinkCallerToFunction(returnAddress, newCalleeFunction);
}
@@ -275,7 +283,6 @@ void JIT::privateCompileMainPass()
DEFINE_OP(op_throw)
DEFINE_OP(op_to_jsnumber)
DEFINE_OP(op_to_primitive)
- DEFINE_OP(op_unexpected_load)
case op_get_array_length:
case op_get_by_id_chain:
@@ -397,7 +404,7 @@ void JIT::privateCompile()
#endif
// Could use a pop_m, but would need to offset the following instruction if so.
- preverveReturnAddressAfterCall(regT2);
+ preserveReturnAddressAfterCall(regT2);
emitPutToCallFrameHeader(regT2, RegisterFile::ReturnPC);
Jump slowRegisterFileCheck;
@@ -489,6 +496,7 @@ void JIT::privateCompile()
#if ENABLE(JIT_OPTIMIZE_CALL)
for (unsigned i = 0; i < m_codeBlock->numberOfCallLinkInfos(); ++i) {
CallLinkInfo& info = m_codeBlock->callLinkInfo(i);
+ info.ownerCodeBlock = m_codeBlock;
info.callReturnLocation = patchBuffer.locationOfNearCall(m_callStructureStubCompilationInfo[i].callReturnLocation);
info.hotPathBegin = patchBuffer.locationOf(m_callStructureStubCompilationInfo[i].hotPathBegin);
info.hotPathOther = patchBuffer.locationOfNearCall(m_callStructureStubCompilationInfo[i].hotPathOther);
@@ -554,7 +562,7 @@ void JIT::privateCompileCTIMachineTrampolines(RefPtr<ExecutablePool>* executable
loadPtr(Address(regT2, OBJECT_OFFSETOF(JSFunction, m_body)), regT3);
loadPtr(Address(regT3, OBJECT_OFFSETOF(FunctionBodyNode, m_code)), regT0);
Jump hasCodeBlock1 = branchTestPtr(NonZero, regT0);
- preverveReturnAddressAfterCall(regT3);
+ preserveReturnAddressAfterCall(regT3);
restoreArgumentReference();
Call callJSFunction1 = call();
emitGetJITStubArg(1, regT2);
@@ -566,7 +574,7 @@ void JIT::privateCompileCTIMachineTrampolines(RefPtr<ExecutablePool>* executable
// Check argCount matches callee arity.
Jump arityCheckOkay1 = branch32(Equal, Address(regT0, OBJECT_OFFSETOF(CodeBlock, m_numParameters)), regT1);
- preverveReturnAddressAfterCall(regT3);
+ preserveReturnAddressAfterCall(regT3);
emitPutJITStubArg(regT3, 2);
emitPutJITStubArg(regT0, 4);
restoreArgumentReference();
@@ -580,7 +588,7 @@ void JIT::privateCompileCTIMachineTrampolines(RefPtr<ExecutablePool>* executable
compileOpCallInitializeCallFrame();
- preverveReturnAddressAfterCall(regT3);
+ preserveReturnAddressAfterCall(regT3);
emitPutJITStubArg(regT3, 2);
restoreArgumentReference();
Call callDontLazyLinkCall = call();
@@ -595,7 +603,7 @@ void JIT::privateCompileCTIMachineTrampolines(RefPtr<ExecutablePool>* executable
loadPtr(Address(regT2, OBJECT_OFFSETOF(JSFunction, m_body)), regT3);
loadPtr(Address(regT3, OBJECT_OFFSETOF(FunctionBodyNode, m_code)), regT0);
Jump hasCodeBlock2 = branchTestPtr(NonZero, regT0);
- preverveReturnAddressAfterCall(regT3);
+ preserveReturnAddressAfterCall(regT3);
restoreArgumentReference();
Call callJSFunction2 = call();
emitGetJITStubArg(1, regT2);
@@ -607,7 +615,7 @@ void JIT::privateCompileCTIMachineTrampolines(RefPtr<ExecutablePool>* executable
// Check argCount matches callee arity.
Jump arityCheckOkay2 = branch32(Equal, Address(regT0, OBJECT_OFFSETOF(CodeBlock, m_numParameters)), regT1);
- preverveReturnAddressAfterCall(regT3);
+ preserveReturnAddressAfterCall(regT3);
emitPutJITStubArg(regT3, 2);
emitPutJITStubArg(regT0, 4);
restoreArgumentReference();
@@ -621,7 +629,7 @@ void JIT::privateCompileCTIMachineTrampolines(RefPtr<ExecutablePool>* executable
compileOpCallInitializeCallFrame();
- preverveReturnAddressAfterCall(regT3);
+ preserveReturnAddressAfterCall(regT3);
emitPutJITStubArg(regT3, 2);
restoreArgumentReference();
Call callLazyLinkCall = call();
@@ -635,7 +643,7 @@ void JIT::privateCompileCTIMachineTrampolines(RefPtr<ExecutablePool>* executable
loadPtr(Address(regT2, OBJECT_OFFSETOF(JSFunction, m_body)), regT3);
loadPtr(Address(regT3, OBJECT_OFFSETOF(FunctionBodyNode, m_code)), regT0);
Jump hasCodeBlock3 = branchTestPtr(NonZero, regT0);
- preverveReturnAddressAfterCall(regT3);
+ preserveReturnAddressAfterCall(regT3);
restoreArgumentReference();
Call callJSFunction3 = call();
emitGetJITStubArg(1, regT2);
@@ -648,7 +656,7 @@ void JIT::privateCompileCTIMachineTrampolines(RefPtr<ExecutablePool>* executable
// Check argCount matches callee arity.
Jump arityCheckOkay3 = branch32(Equal, Address(regT0, OBJECT_OFFSETOF(CodeBlock, m_numParameters)), regT1);
- preverveReturnAddressAfterCall(regT3);
+ preserveReturnAddressAfterCall(regT3);
emitPutJITStubArg(regT3, 2);
emitPutJITStubArg(regT0, 4);
restoreArgumentReference();
@@ -669,7 +677,7 @@ void JIT::privateCompileCTIMachineTrampolines(RefPtr<ExecutablePool>* executable
Label nativeCallThunk = align();
- preverveReturnAddressAfterCall(regT0);
+ preserveReturnAddressAfterCall(regT0);
emitPutToCallFrameHeader(regT0, RegisterFile::ReturnPC); // Push return address
// Load caller frame's scope chain into this callframe so that whatever we call can
@@ -904,14 +912,14 @@ void JIT::unlinkCall(CallLinkInfo* callLinkInfo)
// When the JSFunction is deleted the pointer embedded in the instruction stream will no longer be valid
// (and, if a new JSFunction happened to be constructed at the same location, we could get a false positive
// match). Reset the check so it no longer matches.
- RepatchBuffer repatchBuffer;
+ RepatchBuffer repatchBuffer(callLinkInfo->ownerCodeBlock);
repatchBuffer.repatch(callLinkInfo->hotPathBegin, JSValue::encode(JSValue()));
}
-void JIT::linkCall(JSFunction* callee, CodeBlock* calleeCodeBlock, JITCode& code, CallLinkInfo* callLinkInfo, int callerArgCount, JSGlobalData* globalData)
+void JIT::linkCall(JSFunction* callee, CodeBlock* callerCodeBlock, CodeBlock* calleeCodeBlock, JITCode& code, CallLinkInfo* callLinkInfo, int callerArgCount, JSGlobalData* globalData)
{
ASSERT(calleeCodeBlock);
- RepatchBuffer repatchBuffer;
+ RepatchBuffer repatchBuffer(callerCodeBlock);
// Currently we only link calls with the exact number of arguments.
// If this is a native call calleeCodeBlock is null so the number of parameters is unimportant
@@ -932,12 +940,3 @@ void JIT::linkCall(JSFunction* callee, CodeBlock* calleeCodeBlock, JITCode& code
} // namespace JSC
#endif // ENABLE(JIT)
-
-// This probably does not belong here; adding here for now as a quick Windows build fix.
-#if ENABLE(ASSEMBLER)
-
-#if PLATFORM(X86) && !PLATFORM(MAC)
-JSC::MacroAssemblerX86Common::SSE2CheckState JSC::MacroAssemblerX86Common::s_sse2CheckState = NotCheckedSSE2;
-#endif
-
-#endif
diff --git a/src/3rdparty/webkit/JavaScriptCore/jit/JIT.h b/src/3rdparty/webkit/JavaScriptCore/jit/JIT.h
index db3f38a..ceffe59 100644
--- a/src/3rdparty/webkit/JavaScriptCore/jit/JIT.h
+++ b/src/3rdparty/webkit/JavaScriptCore/jit/JIT.h
@@ -171,9 +171,9 @@ namespace JSC {
};
// Near calls can only be patched to other JIT code, regular calls can be patched to JIT code or relinked to stub functions.
- void ctiPatchNearCallByReturnAddress(ReturnAddressPtr returnAddress, MacroAssemblerCodePtr newCalleeFunction);
- void ctiPatchCallByReturnAddress(ReturnAddressPtr returnAddress, MacroAssemblerCodePtr newCalleeFunction);
- void ctiPatchCallByReturnAddress(ReturnAddressPtr returnAddress, FunctionPtr newCalleeFunction);
+ void ctiPatchNearCallByReturnAddress(CodeBlock* codeblock, ReturnAddressPtr returnAddress, MacroAssemblerCodePtr newCalleeFunction);
+ void ctiPatchCallByReturnAddress(CodeBlock* codeblock, ReturnAddressPtr returnAddress, MacroAssemblerCodePtr newCalleeFunction);
+ void ctiPatchCallByReturnAddress(CodeBlock* codeblock, ReturnAddressPtr returnAddress, FunctionPtr newCalleeFunction);
class JIT : private MacroAssembler {
friend class JITStubCall;
@@ -379,9 +379,9 @@ namespace JSC {
jit.privateCompileCTIMachineTrampolines(executablePool, globalData, ctiArrayLengthTrampoline, ctiStringLengthTrampoline, ctiVirtualCallPreLink, ctiVirtualCallLink, ctiVirtualCall, ctiNativeCallThunk);
}
- static void patchGetByIdSelf(StructureStubInfo*, Structure*, size_t cachedOffset, ReturnAddressPtr returnAddress);
- static void patchPutByIdReplace(StructureStubInfo*, Structure*, size_t cachedOffset, ReturnAddressPtr returnAddress);
- static void patchMethodCallProto(MethodCallLinkInfo&, JSFunction*, Structure*, JSObject*);
+ static void patchGetByIdSelf(CodeBlock* codeblock, StructureStubInfo*, Structure*, size_t cachedOffset, ReturnAddressPtr returnAddress);
+ static void patchPutByIdReplace(CodeBlock* codeblock, StructureStubInfo*, Structure*, size_t cachedOffset, ReturnAddressPtr returnAddress);
+ static void patchMethodCallProto(CodeBlock* codeblock, MethodCallLinkInfo&, JSFunction*, Structure*, JSObject*);
static void compilePatchGetArrayLength(JSGlobalData* globalData, CodeBlock* codeBlock, ReturnAddressPtr returnAddress)
{
@@ -389,7 +389,7 @@ namespace JSC {
return jit.privateCompilePatchGetArrayLength(returnAddress);
}
- static void linkCall(JSFunction* callee, CodeBlock* calleeCodeBlock, JITCode&, CallLinkInfo*, int callerArgCount, JSGlobalData*);
+ static void linkCall(JSFunction* callee, CodeBlock* callerCodeBlock, CodeBlock* calleeCodeBlock, JITCode&, CallLinkInfo*, int callerArgCount, JSGlobalData*);
static void unlinkCall(CallLinkInfo*);
private:
@@ -663,7 +663,7 @@ namespace JSC {
void restoreArgumentReferenceForTrampoline();
Call emitNakedCall(CodePtr function = CodePtr());
- void preverveReturnAddressAfterCall(RegisterID);
+ void preserveReturnAddressAfterCall(RegisterID);
void restoreReturnAddressBeforeReturn(RegisterID);
void restoreReturnAddressBeforeReturn(Address);
diff --git a/src/3rdparty/webkit/JavaScriptCore/jit/JITCode.h b/src/3rdparty/webkit/JavaScriptCore/jit/JITCode.h
index 7ee644b..b502c8a 100644
--- a/src/3rdparty/webkit/JavaScriptCore/jit/JITCode.h
+++ b/src/3rdparty/webkit/JavaScriptCore/jit/JITCode.h
@@ -83,13 +83,16 @@ namespace JSC {
m_ref.m_code.executableAddress(), registerFile, callFrame, exception, Profiler::enabledProfilerReference(), globalData));
}
-#ifndef NDEBUG
+ void* start()
+ {
+ return m_ref.m_code.dataLocation();
+ }
+
size_t size()
{
ASSERT(m_ref.m_code.executableAddress());
return m_ref.m_size;
}
-#endif
ExecutablePool* getExecutablePool()
{
diff --git a/src/3rdparty/webkit/JavaScriptCore/jit/JITInlineMethods.h b/src/3rdparty/webkit/JavaScriptCore/jit/JITInlineMethods.h
index deca0d1..f03d635 100644
--- a/src/3rdparty/webkit/JavaScriptCore/jit/JITInlineMethods.h
+++ b/src/3rdparty/webkit/JavaScriptCore/jit/JITInlineMethods.h
@@ -179,7 +179,7 @@ ALWAYS_INLINE JIT::Call JIT::emitNakedCall(CodePtr function)
#if PLATFORM(X86) || PLATFORM(X86_64)
-ALWAYS_INLINE void JIT::preverveReturnAddressAfterCall(RegisterID reg)
+ALWAYS_INLINE void JIT::preserveReturnAddressAfterCall(RegisterID reg)
{
pop(reg);
}
@@ -196,7 +196,7 @@ ALWAYS_INLINE void JIT::restoreReturnAddressBeforeReturn(Address address)
#elif PLATFORM_ARM_ARCH(7)
-ALWAYS_INLINE void JIT::preverveReturnAddressAfterCall(RegisterID reg)
+ALWAYS_INLINE void JIT::preserveReturnAddressAfterCall(RegisterID reg)
{
move(linkRegister, reg);
}
diff --git a/src/3rdparty/webkit/JavaScriptCore/jit/JITOpcodes.cpp b/src/3rdparty/webkit/JavaScriptCore/jit/JITOpcodes.cpp
index dbcb34d..b669dfa 100644
--- a/src/3rdparty/webkit/JavaScriptCore/jit/JITOpcodes.cpp
+++ b/src/3rdparty/webkit/JavaScriptCore/jit/JITOpcodes.cpp
@@ -505,13 +505,6 @@ void JIT::emit_op_jneq_ptr(Instruction* currentInstruction)
RECORD_JUMP_TARGET(target + 3);
}
-void JIT::emit_op_unexpected_load(Instruction* currentInstruction)
-{
- JSValue v = m_codeBlock->unexpectedConstant(currentInstruction[2].u.operand);
- move(ImmPtr(JSValue::encode(v)), regT0);
- emitPutVirtualRegister(currentInstruction[1].u.operand);
-}
-
void JIT::emit_op_jsr(Instruction* currentInstruction)
{
int retAddrDst = currentInstruction[1].u.operand;
@@ -759,7 +752,7 @@ void JIT::emit_op_new_error(Instruction* currentInstruction)
{
JITStubCall stubCall(this, JITStubs::cti_op_new_error);
stubCall.addArgument(Imm32(currentInstruction[2].u.operand));
- stubCall.addArgument(ImmPtr(JSValue::encode(m_codeBlock->unexpectedConstant(currentInstruction[3].u.operand))));
+ stubCall.addArgument(ImmPtr(JSValue::encode(m_codeBlock->getConstant(currentInstruction[3].u.operand))));
stubCall.addArgument(Imm32(m_bytecodeIndex));
stubCall.call(currentInstruction[1].u.operand);
}
@@ -828,7 +821,7 @@ void JIT::emit_op_enter(Instruction*)
// Even though CTI doesn't use them, we initialize our constant
// registers to zap stale pointers, to avoid unnecessarily prolonging
// object lifetime and increasing GC pressure.
- size_t count = m_codeBlock->m_numVars + m_codeBlock->numberOfConstantRegisters();
+ size_t count = m_codeBlock->m_numVars;
for (size_t j = 0; j < count; ++j)
emitInitRegister(j);
@@ -839,7 +832,7 @@ void JIT::emit_op_enter_with_activation(Instruction* currentInstruction)
// Even though CTI doesn't use them, we initialize our constant
// registers to zap stale pointers, to avoid unnecessarily prolonging
// object lifetime and increasing GC pressure.
- size_t count = m_codeBlock->m_numVars + m_codeBlock->numberOfConstantRegisters();
+ size_t count = m_codeBlock->m_numVars;
for (size_t j = 0; j < count; ++j)
emitInitRegister(j);
diff --git a/src/3rdparty/webkit/JavaScriptCore/jit/JITPropertyAccess.cpp b/src/3rdparty/webkit/JavaScriptCore/jit/JITPropertyAccess.cpp
index ed8f48f..c1e5c29 100644
--- a/src/3rdparty/webkit/JavaScriptCore/jit/JITPropertyAccess.cpp
+++ b/src/3rdparty/webkit/JavaScriptCore/jit/JITPropertyAccess.cpp
@@ -34,6 +34,8 @@
#include "JSArray.h"
#include "JSFunction.h"
#include "Interpreter.h"
+#include "LinkBuffer.h"
+#include "RepatchBuffer.h"
#include "ResultType.h"
#include "SamplingTool.h"
@@ -461,7 +463,7 @@ void JIT::privateCompilePutByIdTransition(StructureStubInfo* stubInfo, Structure
if (willNeedStorageRealloc) {
// This trampoline was called to like a JIT stub; before we can can call again we need to
// remove the return address from the stack, to prevent the stack from becoming misaligned.
- preverveReturnAddressAfterCall(regT3);
+ preserveReturnAddressAfterCall(regT3);
JITStubCall stubCall(this, JITStubs::cti_op_put_by_id_transition_realloc);
stubCall.addArgument(regT0);
@@ -501,13 +503,13 @@ void JIT::privateCompilePutByIdTransition(StructureStubInfo* stubInfo, Structure
CodeLocationLabel entryLabel = patchBuffer.finalizeCodeAddendum();
stubInfo->stubRoutine = entryLabel;
- RepatchBuffer repatchBuffer;
+ RepatchBuffer repatchBuffer(m_codeBlock);
repatchBuffer.relinkCallerToTrampoline(returnAddress, entryLabel);
}
-void JIT::patchGetByIdSelf(StructureStubInfo* stubInfo, Structure* structure, size_t cachedOffset, ReturnAddressPtr returnAddress)
+void JIT::patchGetByIdSelf(CodeBlock* codeBlock, StructureStubInfo* stubInfo, Structure* structure, size_t cachedOffset, ReturnAddressPtr returnAddress)
{
- RepatchBuffer repatchBuffer;
+ RepatchBuffer repatchBuffer(codeBlock);
// We don't want to patch more than once - in future go to cti_op_get_by_id_generic.
// Should probably go to JITStubs::cti_op_get_by_id_fail, but that doesn't do anything interesting right now.
@@ -525,23 +527,28 @@ void JIT::patchGetByIdSelf(StructureStubInfo* stubInfo, Structure* structure, si
repatchBuffer.repatch(stubInfo->hotPathBegin.dataLabel32AtOffset(patchOffsetGetByIdPropertyMapOffset), offset);
}
-void JIT::patchMethodCallProto(MethodCallLinkInfo& methodCallLinkInfo, JSFunction* callee, Structure* structure, JSObject* proto)
+void JIT::patchMethodCallProto(CodeBlock* codeBlock, MethodCallLinkInfo& methodCallLinkInfo, JSFunction* callee, Structure* structure, JSObject* proto)
{
- RepatchBuffer repatchBuffer;
+ RepatchBuffer repatchBuffer(codeBlock);
ASSERT(!methodCallLinkInfo.cachedStructure);
methodCallLinkInfo.cachedStructure = structure;
structure->ref();
+ Structure* prototypeStructure = proto->structure();
+ ASSERT(!methodCallLinkInfo.cachedPrototypeStructure);
+ methodCallLinkInfo.cachedPrototypeStructure = prototypeStructure;
+ prototypeStructure->ref();
+
repatchBuffer.repatch(methodCallLinkInfo.structureLabel, structure);
repatchBuffer.repatch(methodCallLinkInfo.structureLabel.dataLabelPtrAtOffset(patchOffsetMethodCheckProtoObj), proto);
- repatchBuffer.repatch(methodCallLinkInfo.structureLabel.dataLabelPtrAtOffset(patchOffsetMethodCheckProtoStruct), proto->structure());
+ repatchBuffer.repatch(methodCallLinkInfo.structureLabel.dataLabelPtrAtOffset(patchOffsetMethodCheckProtoStruct), prototypeStructure);
repatchBuffer.repatch(methodCallLinkInfo.structureLabel.dataLabelPtrAtOffset(patchOffsetMethodCheckPutFunction), callee);
}
-void JIT::patchPutByIdReplace(StructureStubInfo* stubInfo, Structure* structure, size_t cachedOffset, ReturnAddressPtr returnAddress)
+void JIT::patchPutByIdReplace(CodeBlock* codeBlock, StructureStubInfo* stubInfo, Structure* structure, size_t cachedOffset, ReturnAddressPtr returnAddress)
{
- RepatchBuffer repatchBuffer;
+ RepatchBuffer repatchBuffer(codeBlock);
// We don't want to patch more than once - in future go to cti_op_put_by_id_generic.
// Should probably go to JITStubs::cti_op_put_by_id_fail, but that doesn't do anything interesting right now.
@@ -591,7 +598,7 @@ void JIT::privateCompilePatchGetArrayLength(ReturnAddressPtr returnAddress)
// Finally patch the jump to slow case back in the hot path to jump here instead.
CodeLocationJump jumpLocation = stubInfo->hotPathBegin.jumpAtOffset(patchOffsetGetByIdBranchToSlowCase);
- RepatchBuffer repatchBuffer;
+ RepatchBuffer repatchBuffer(m_codeBlock);
repatchBuffer.relink(jumpLocation, entryLabel);
// We don't want to patch more than once - in future go to cti_op_put_by_id_generic.
@@ -637,7 +644,7 @@ void JIT::privateCompileGetByIdProto(StructureStubInfo* stubInfo, Structure* str
// Finally patch the jump to slow case back in the hot path to jump here instead.
CodeLocationJump jumpLocation = stubInfo->hotPathBegin.jumpAtOffset(patchOffsetGetByIdBranchToSlowCase);
- RepatchBuffer repatchBuffer;
+ RepatchBuffer repatchBuffer(m_codeBlock);
repatchBuffer.relink(jumpLocation, entryLabel);
// We don't want to patch more than once - in future go to cti_op_put_by_id_generic.
@@ -669,7 +676,7 @@ void JIT::privateCompileGetByIdSelfList(StructureStubInfo* stubInfo, Polymorphic
// Finally patch the jump to slow case back in the hot path to jump here instead.
CodeLocationJump jumpLocation = stubInfo->hotPathBegin.jumpAtOffset(patchOffsetGetByIdBranchToSlowCase);
- RepatchBuffer repatchBuffer;
+ RepatchBuffer repatchBuffer(m_codeBlock);
repatchBuffer.relink(jumpLocation, entryLabel);
}
@@ -714,7 +721,7 @@ void JIT::privateCompileGetByIdProtoList(StructureStubInfo* stubInfo, Polymorphi
// Finally patch the jump to slow case back in the hot path to jump here instead.
CodeLocationJump jumpLocation = stubInfo->hotPathBegin.jumpAtOffset(patchOffsetGetByIdBranchToSlowCase);
- RepatchBuffer repatchBuffer;
+ RepatchBuffer repatchBuffer(m_codeBlock);
repatchBuffer.relink(jumpLocation, entryLabel);
}
@@ -768,7 +775,7 @@ void JIT::privateCompileGetByIdChainList(StructureStubInfo* stubInfo, Polymorphi
// Finally patch the jump to slow case back in the hot path to jump here instead.
CodeLocationJump jumpLocation = stubInfo->hotPathBegin.jumpAtOffset(patchOffsetGetByIdBranchToSlowCase);
- RepatchBuffer repatchBuffer;
+ RepatchBuffer repatchBuffer(m_codeBlock);
repatchBuffer.relink(jumpLocation, entryLabel);
}
@@ -816,7 +823,7 @@ void JIT::privateCompileGetByIdChain(StructureStubInfo* stubInfo, Structure* str
// Finally patch the jump to slow case back in the hot path to jump here instead.
CodeLocationJump jumpLocation = stubInfo->hotPathBegin.jumpAtOffset(patchOffsetGetByIdBranchToSlowCase);
- RepatchBuffer repatchBuffer;
+ RepatchBuffer repatchBuffer(m_codeBlock);
repatchBuffer.relink(jumpLocation, entryLabel);
// We don't want to patch more than once - in future go to cti_op_put_by_id_generic.
diff --git a/src/3rdparty/webkit/JavaScriptCore/jit/JITStubs.cpp b/src/3rdparty/webkit/JavaScriptCore/jit/JITStubs.cpp
index 02bf7c0..5049477 100644
--- a/src/3rdparty/webkit/JavaScriptCore/jit/JITStubs.cpp
+++ b/src/3rdparty/webkit/JavaScriptCore/jit/JITStubs.cpp
@@ -358,7 +358,7 @@ NEVER_INLINE void JITThunks::tryCachePutByID(CallFrame* callFrame, CodeBlock* co
// Uncacheable: give up.
if (!slot.isCacheable()) {
- ctiPatchCallByReturnAddress(returnAddress, FunctionPtr(JITStubs::cti_op_put_by_id_generic));
+ ctiPatchCallByReturnAddress(codeBlock, returnAddress, FunctionPtr(JITStubs::cti_op_put_by_id_generic));
return;
}
@@ -366,13 +366,13 @@ NEVER_INLINE void JITThunks::tryCachePutByID(CallFrame* callFrame, CodeBlock* co
Structure* structure = baseCell->structure();
if (structure->isDictionary()) {
- ctiPatchCallByReturnAddress(returnAddress, FunctionPtr(JITStubs::cti_op_put_by_id_generic));
+ ctiPatchCallByReturnAddress(codeBlock, returnAddress, FunctionPtr(JITStubs::cti_op_put_by_id_generic));
return;
}
// If baseCell != base, then baseCell must be a proxy for another object.
if (baseCell != slot.base()) {
- ctiPatchCallByReturnAddress(returnAddress, FunctionPtr(JITStubs::cti_op_put_by_id_generic));
+ ctiPatchCallByReturnAddress(codeBlock, returnAddress, FunctionPtr(JITStubs::cti_op_put_by_id_generic));
return;
}
@@ -384,7 +384,7 @@ NEVER_INLINE void JITThunks::tryCachePutByID(CallFrame* callFrame, CodeBlock* co
if (slot.type() == PutPropertySlot::NewProperty) {
StructureChain* prototypeChain = structure->prototypeChain(callFrame);
if (!prototypeChain->isCacheable()) {
- ctiPatchCallByReturnAddress(returnAddress, FunctionPtr(JITStubs::cti_op_put_by_id_generic));
+ ctiPatchCallByReturnAddress(codeBlock, returnAddress, FunctionPtr(JITStubs::cti_op_put_by_id_generic));
return;
}
stubInfo->initPutByIdTransition(structure->previousID(), structure, prototypeChain);
@@ -394,7 +394,7 @@ NEVER_INLINE void JITThunks::tryCachePutByID(CallFrame* callFrame, CodeBlock* co
stubInfo->initPutByIdReplace(structure);
- JIT::patchPutByIdReplace(stubInfo, structure, slot.cachedOffset(), returnAddress);
+ JIT::patchPutByIdReplace(codeBlock, stubInfo, structure, slot.cachedOffset(), returnAddress);
}
NEVER_INLINE void JITThunks::tryCacheGetByID(CallFrame* callFrame, CodeBlock* codeBlock, ReturnAddressPtr returnAddress, JSValue baseValue, const Identifier& propertyName, const PropertySlot& slot)
@@ -404,7 +404,7 @@ NEVER_INLINE void JITThunks::tryCacheGetByID(CallFrame* callFrame, CodeBlock* co
// FIXME: Cache property access for immediates.
if (!baseValue.isCell()) {
- ctiPatchCallByReturnAddress(returnAddress, FunctionPtr(JITStubs::cti_op_get_by_id_generic));
+ ctiPatchCallByReturnAddress(codeBlock, returnAddress, FunctionPtr(JITStubs::cti_op_get_by_id_generic));
return;
}
@@ -418,13 +418,13 @@ NEVER_INLINE void JITThunks::tryCacheGetByID(CallFrame* callFrame, CodeBlock* co
if (isJSString(globalData, baseValue) && propertyName == callFrame->propertyNames().length) {
// The tradeoff of compiling an patched inline string length access routine does not seem
// to pay off, so we currently only do this for arrays.
- ctiPatchCallByReturnAddress(returnAddress, globalData->jitStubs.ctiStringLengthTrampoline());
+ ctiPatchCallByReturnAddress(codeBlock, returnAddress, globalData->jitStubs.ctiStringLengthTrampoline());
return;
}
// Uncacheable: give up.
if (!slot.isCacheable()) {
- ctiPatchCallByReturnAddress(returnAddress, FunctionPtr(JITStubs::cti_op_get_by_id_generic));
+ ctiPatchCallByReturnAddress(codeBlock, returnAddress, FunctionPtr(JITStubs::cti_op_get_by_id_generic));
return;
}
@@ -432,7 +432,7 @@ NEVER_INLINE void JITThunks::tryCacheGetByID(CallFrame* callFrame, CodeBlock* co
Structure* structure = baseCell->structure();
if (structure->isDictionary()) {
- ctiPatchCallByReturnAddress(returnAddress, FunctionPtr(JITStubs::cti_op_get_by_id_generic));
+ ctiPatchCallByReturnAddress(codeBlock, returnAddress, FunctionPtr(JITStubs::cti_op_get_by_id_generic));
return;
}
@@ -447,7 +447,7 @@ NEVER_INLINE void JITThunks::tryCacheGetByID(CallFrame* callFrame, CodeBlock* co
// set this up, so derefStructures can do it's job.
stubInfo->initGetByIdSelf(structure);
- JIT::patchGetByIdSelf(stubInfo, structure, slot.cachedOffset(), returnAddress);
+ JIT::patchGetByIdSelf(codeBlock, stubInfo, structure, slot.cachedOffset(), returnAddress);
return;
}
@@ -475,7 +475,7 @@ NEVER_INLINE void JITThunks::tryCacheGetByID(CallFrame* callFrame, CodeBlock* co
StructureChain* prototypeChain = structure->prototypeChain(callFrame);
if (!prototypeChain->isCacheable()) {
- ctiPatchCallByReturnAddress(returnAddress, FunctionPtr(JITStubs::cti_op_get_by_id_generic));
+ ctiPatchCallByReturnAddress(codeBlock, returnAddress, FunctionPtr(JITStubs::cti_op_get_by_id_generic));
return;
}
stubInfo->initGetByIdChain(structure, prototypeChain);
@@ -777,7 +777,7 @@ DEFINE_STUB_FUNCTION(void, op_put_by_id)
PutPropertySlot slot;
stackFrame.args[0].jsValue().put(callFrame, ident, stackFrame.args[2].jsValue(), slot);
- ctiPatchCallByReturnAddress(STUB_RETURN_ADDRESS, FunctionPtr(cti_op_put_by_id_second));
+ ctiPatchCallByReturnAddress(callFrame->codeBlock(), STUB_RETURN_ADDRESS, FunctionPtr(cti_op_put_by_id_second));
CHECK_FOR_EXCEPTION_AT_END();
}
@@ -831,7 +831,7 @@ DEFINE_STUB_FUNCTION(EncodedJSValue, op_get_by_id)
PropertySlot slot(baseValue);
JSValue result = baseValue.get(callFrame, ident, slot);
- ctiPatchCallByReturnAddress(STUB_RETURN_ADDRESS, FunctionPtr(cti_op_get_by_id_second));
+ ctiPatchCallByReturnAddress(callFrame->codeBlock(), STUB_RETURN_ADDRESS, FunctionPtr(cti_op_get_by_id_second));
CHECK_FOR_EXCEPTION_AT_END();
return JSValue::encode(result);
@@ -848,7 +848,7 @@ DEFINE_STUB_FUNCTION(EncodedJSValue, op_get_by_id_method_check)
PropertySlot slot(baseValue);
JSValue result = baseValue.get(callFrame, ident, slot);
- ctiPatchCallByReturnAddress(STUB_RETURN_ADDRESS, FunctionPtr(cti_op_get_by_id_method_check_second));
+ ctiPatchCallByReturnAddress(callFrame->codeBlock(), STUB_RETURN_ADDRESS, FunctionPtr(cti_op_get_by_id_method_check_second));
CHECK_FOR_EXCEPTION_AT_END();
return JSValue::encode(result);
@@ -900,7 +900,7 @@ DEFINE_STUB_FUNCTION(EncodedJSValue, op_get_by_id_method_check_second)
// Check to see if the function is on the object's prototype. Patch up the code to optimize.
if (slot.slotBase() == structure->prototypeForLookup(callFrame))
- JIT::patchMethodCallProto(methodCallLinkInfo, callee, structure, slotBaseObject);
+ JIT::patchMethodCallProto(callFrame->codeBlock(), methodCallLinkInfo, callee, structure, slotBaseObject);
// Check to see if the function is on the object itself.
// Since we generate the method-check to check both the structure and a prototype-structure (since this
// is the common case) we have a problem - we need to patch the prototype structure check to do something
@@ -908,13 +908,13 @@ DEFINE_STUB_FUNCTION(EncodedJSValue, op_get_by_id_method_check_second)
// for now. For now it performs a check on a special object on the global object only used for this
// purpose. The object is in no way exposed, and as such the check will always pass.
else if (slot.slotBase() == baseValue)
- JIT::patchMethodCallProto(methodCallLinkInfo, callee, structure, callFrame->scopeChain()->globalObject()->methodCallDummy());
+ JIT::patchMethodCallProto(callFrame->codeBlock(), methodCallLinkInfo, callee, structure, callFrame->scopeChain()->globalObject()->methodCallDummy());
// For now let any other case be cached as a normal get_by_id.
}
// Revert the get_by_id op back to being a regular get_by_id - allow it to cache like normal, if it needs to.
- ctiPatchCallByReturnAddress(STUB_RETURN_ADDRESS, FunctionPtr(cti_op_get_by_id));
+ ctiPatchCallByReturnAddress(callFrame->codeBlock(), STUB_RETURN_ADDRESS, FunctionPtr(cti_op_get_by_id));
return JSValue::encode(result);
}
@@ -975,10 +975,9 @@ DEFINE_STUB_FUNCTION(EncodedJSValue, op_get_by_id_self_fail)
JIT::compileGetByIdSelfList(callFrame->scopeChain()->globalData, codeBlock, stubInfo, polymorphicStructureList, listIndex, asCell(baseValue)->structure(), slot.cachedOffset());
if (listIndex == (POLYMORPHIC_LIST_CACHE_SIZE - 1))
- ctiPatchCallByReturnAddress(STUB_RETURN_ADDRESS, FunctionPtr(cti_op_get_by_id_generic));
- } else {
- ctiPatchCallByReturnAddress(STUB_RETURN_ADDRESS, FunctionPtr(cti_op_get_by_id_generic));
- }
+ ctiPatchCallByReturnAddress(codeBlock, STUB_RETURN_ADDRESS, FunctionPtr(cti_op_get_by_id_generic));
+ } else
+ ctiPatchCallByReturnAddress(callFrame->codeBlock(), STUB_RETURN_ADDRESS, FunctionPtr(cti_op_get_by_id_generic));
return JSValue::encode(result);
}
@@ -1024,7 +1023,7 @@ DEFINE_STUB_FUNCTION(EncodedJSValue, op_get_by_id_proto_list)
CHECK_FOR_EXCEPTION();
if (!baseValue.isCell() || !slot.isCacheable() || asCell(baseValue)->structure()->isDictionary()) {
- ctiPatchCallByReturnAddress(STUB_RETURN_ADDRESS, FunctionPtr(cti_op_get_by_id_proto_fail));
+ ctiPatchCallByReturnAddress(callFrame->codeBlock(), STUB_RETURN_ADDRESS, FunctionPtr(cti_op_get_by_id_proto_fail));
return JSValue::encode(result);
}
@@ -1036,7 +1035,7 @@ DEFINE_STUB_FUNCTION(EncodedJSValue, op_get_by_id_proto_list)
JSObject* slotBaseObject = asObject(slot.slotBase());
if (slot.slotBase() == baseValue)
- ctiPatchCallByReturnAddress(STUB_RETURN_ADDRESS, FunctionPtr(cti_op_get_by_id_proto_fail));
+ ctiPatchCallByReturnAddress(codeBlock, STUB_RETURN_ADDRESS, FunctionPtr(cti_op_get_by_id_proto_fail));
else if (slot.slotBase() == asCell(baseValue)->structure()->prototypeForLookup(callFrame)) {
// Since we're accessing a prototype in a loop, it's a good bet that it
// should not be treated as a dictionary.
@@ -1049,11 +1048,11 @@ DEFINE_STUB_FUNCTION(EncodedJSValue, op_get_by_id_proto_list)
JIT::compileGetByIdProtoList(callFrame->scopeChain()->globalData, callFrame, codeBlock, stubInfo, prototypeStructureList, listIndex, structure, slotBaseObject->structure(), slot.cachedOffset());
if (listIndex == (POLYMORPHIC_LIST_CACHE_SIZE - 1))
- ctiPatchCallByReturnAddress(STUB_RETURN_ADDRESS, FunctionPtr(cti_op_get_by_id_proto_list_full));
+ ctiPatchCallByReturnAddress(codeBlock, STUB_RETURN_ADDRESS, FunctionPtr(cti_op_get_by_id_proto_list_full));
} else if (size_t count = countPrototypeChainEntriesAndCheckForProxies(callFrame, baseValue, slot)) {
StructureChain* protoChain = structure->prototypeChain(callFrame);
if (!protoChain->isCacheable()) {
- ctiPatchCallByReturnAddress(STUB_RETURN_ADDRESS, FunctionPtr(cti_op_get_by_id_proto_fail));
+ ctiPatchCallByReturnAddress(codeBlock, STUB_RETURN_ADDRESS, FunctionPtr(cti_op_get_by_id_proto_fail));
return JSValue::encode(result);
}
@@ -1062,9 +1061,9 @@ DEFINE_STUB_FUNCTION(EncodedJSValue, op_get_by_id_proto_list)
JIT::compileGetByIdChainList(callFrame->scopeChain()->globalData, callFrame, codeBlock, stubInfo, prototypeStructureList, listIndex, structure, protoChain, count, slot.cachedOffset());
if (listIndex == (POLYMORPHIC_LIST_CACHE_SIZE - 1))
- ctiPatchCallByReturnAddress(STUB_RETURN_ADDRESS, FunctionPtr(cti_op_get_by_id_proto_list_full));
+ ctiPatchCallByReturnAddress(codeBlock, STUB_RETURN_ADDRESS, FunctionPtr(cti_op_get_by_id_proto_list_full));
} else
- ctiPatchCallByReturnAddress(STUB_RETURN_ADDRESS, FunctionPtr(cti_op_get_by_id_proto_fail));
+ ctiPatchCallByReturnAddress(codeBlock, STUB_RETURN_ADDRESS, FunctionPtr(cti_op_get_by_id_proto_fail));
return JSValue::encode(result);
}
@@ -1271,7 +1270,7 @@ DEFINE_STUB_FUNCTION(void*, vm_dontLazyLinkCall)
JSGlobalData* globalData = stackFrame.globalData;
JSFunction* callee = asFunction(stackFrame.args[0].jsValue());
- ctiPatchNearCallByReturnAddress(stackFrame.args[1].returnAddress(), globalData->jitStubs.ctiVirtualCallLink());
+ ctiPatchNearCallByReturnAddress(stackFrame.callFrame->callerFrame()->codeBlock(), stackFrame.args[1].returnAddress(), globalData->jitStubs.ctiVirtualCallLink());
return callee->body()->generatedJITCode().addressForCall().executableAddress();
}
@@ -1290,7 +1289,7 @@ DEFINE_STUB_FUNCTION(void*, vm_lazyLinkCall)
codeBlock = &callee->body()->generatedBytecode();
CallLinkInfo* callLinkInfo = &stackFrame.callFrame->callerFrame()->codeBlock()->getCallLinkInfo(stackFrame.args[1].returnAddress());
- JIT::linkCall(callee, codeBlock, jitCode, callLinkInfo, stackFrame.args[2].int32(), stackFrame.globalData);
+ JIT::linkCall(callee, stackFrame.callFrame->callerFrame()->codeBlock(), codeBlock, jitCode, callLinkInfo, stackFrame.args[2].int32(), stackFrame.globalData);
return jitCode.addressForCall().executableAddress();
}
@@ -1530,11 +1529,11 @@ DEFINE_STUB_FUNCTION(EncodedJSValue, op_get_by_val)
result = jsArray->JSArray::get(callFrame, i);
} else if (isJSString(globalData, baseValue) && asString(baseValue)->canGetIndex(i)) {
// All fast byte array accesses are safe from exceptions so return immediately to avoid exception checks.
- ctiPatchCallByReturnAddress(STUB_RETURN_ADDRESS, FunctionPtr(cti_op_get_by_val_string));
+ ctiPatchCallByReturnAddress(callFrame->codeBlock(), STUB_RETURN_ADDRESS, FunctionPtr(cti_op_get_by_val_string));
result = asString(baseValue)->getIndex(stackFrame.globalData, i);
} else if (isJSByteArray(globalData, baseValue) && asByteArray(baseValue)->canAccessIndex(i)) {
// All fast byte array accesses are safe from exceptions so return immediately to avoid exception checks.
- ctiPatchCallByReturnAddress(STUB_RETURN_ADDRESS, FunctionPtr(cti_op_get_by_val_byte_array));
+ ctiPatchCallByReturnAddress(callFrame->codeBlock(), STUB_RETURN_ADDRESS, FunctionPtr(cti_op_get_by_val_byte_array));
return JSValue::encode(asByteArray(baseValue)->getIndex(callFrame, i));
} else
result = baseValue.get(callFrame, i);
@@ -1566,7 +1565,7 @@ DEFINE_STUB_FUNCTION(EncodedJSValue, op_get_by_val_string)
else {
result = baseValue.get(callFrame, i);
if (!isJSString(globalData, baseValue))
- ctiPatchCallByReturnAddress(STUB_RETURN_ADDRESS, FunctionPtr(cti_op_get_by_val));
+ ctiPatchCallByReturnAddress(callFrame->codeBlock(), STUB_RETURN_ADDRESS, FunctionPtr(cti_op_get_by_val));
}
} else {
Identifier property(callFrame, subscript.toString(callFrame));
@@ -1599,7 +1598,7 @@ DEFINE_STUB_FUNCTION(EncodedJSValue, op_get_by_val_byte_array)
result = baseValue.get(callFrame, i);
if (!isJSByteArray(globalData, baseValue))
- ctiPatchCallByReturnAddress(STUB_RETURN_ADDRESS, FunctionPtr(cti_op_get_by_val));
+ ctiPatchCallByReturnAddress(callFrame->codeBlock(), STUB_RETURN_ADDRESS, FunctionPtr(cti_op_get_by_val));
} else {
Identifier property(callFrame, subscript.toString(callFrame));
result = baseValue.get(callFrame, property);
@@ -1692,7 +1691,7 @@ DEFINE_STUB_FUNCTION(void, op_put_by_val)
jsArray->JSArray::put(callFrame, i, value);
} else if (isJSByteArray(globalData, baseValue) && asByteArray(baseValue)->canAccessIndex(i)) {
JSByteArray* jsByteArray = asByteArray(baseValue);
- ctiPatchCallByReturnAddress(STUB_RETURN_ADDRESS, FunctionPtr(cti_op_put_by_val_byte_array));
+ ctiPatchCallByReturnAddress(callFrame->codeBlock(), STUB_RETURN_ADDRESS, FunctionPtr(cti_op_put_by_val_byte_array));
// All fast byte array accesses are safe from exceptions so return immediately to avoid exception checks.
if (value.isInt32Fast()) {
jsByteArray->setIndex(i, value.getInt32Fast());
@@ -1776,7 +1775,7 @@ DEFINE_STUB_FUNCTION(void, op_put_by_val_byte_array)
}
if (!isJSByteArray(globalData, baseValue))
- ctiPatchCallByReturnAddress(STUB_RETURN_ADDRESS, FunctionPtr(cti_op_put_by_val));
+ ctiPatchCallByReturnAddress(callFrame->codeBlock(), STUB_RETURN_ADDRESS, FunctionPtr(cti_op_put_by_val));
baseValue.put(callFrame, i, value);
} else {
Identifier property(callFrame, subscript.toString(callFrame));
diff --git a/src/3rdparty/webkit/JavaScriptCore/jsc.cpp b/src/3rdparty/webkit/JavaScriptCore/jsc.cpp
index 20d6694..190deff 100644
--- a/src/3rdparty/webkit/JavaScriptCore/jsc.cpp
+++ b/src/3rdparty/webkit/JavaScriptCore/jsc.cpp
@@ -48,7 +48,7 @@
#include <sys/time.h>
#endif
-#if PLATFORM(UNIX)
+#if HAVE(SIGNAL_H)
#include <signal.h>
#endif
@@ -221,7 +221,7 @@ JSValue JSC_HOST_CALL functionDebug(ExecState* exec, JSObject*, JSValue, const A
JSValue JSC_HOST_CALL functionGC(ExecState* exec, JSObject*, JSValue, const ArgList&)
{
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
exec->heap()->collect();
return jsUndefined();
}
@@ -375,7 +375,7 @@ int main(int argc, char** argv)
static void cleanupGlobalData(JSGlobalData* globalData)
{
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
globalData->heap.destroy();
globalData->deref();
}
@@ -489,7 +489,9 @@ static NO_RETURN void printUsageStatement(JSGlobalData* globalData, bool help =
fprintf(stderr, " -f Specifies a source file (deprecated)\n");
fprintf(stderr, " -h|--help Prints this help message\n");
fprintf(stderr, " -i Enables interactive mode (default if no files are specified)\n");
+#if HAVE(SIGNAL_H)
fprintf(stderr, " -s Installs signal handlers that exit on a crash (Unix platforms only)\n");
+#endif
cleanupGlobalData(globalData);
exit(help ? EXIT_SUCCESS : EXIT_FAILURE);
@@ -524,7 +526,7 @@ static void parseArguments(int argc, char** argv, Options& options, JSGlobalData
continue;
}
if (strcmp(arg, "-s") == 0) {
-#if PLATFORM(UNIX)
+#if HAVE(SIGNAL_H)
signal(SIGILL, _exit);
signal(SIGFPE, _exit);
signal(SIGBUS, _exit);
@@ -548,7 +550,7 @@ static void parseArguments(int argc, char** argv, Options& options, JSGlobalData
int jscmain(int argc, char** argv, JSGlobalData* globalData)
{
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
Options options;
parseArguments(argc, argv, options, globalData);
diff --git a/src/3rdparty/webkit/JavaScriptCore/jsc.pro b/src/3rdparty/webkit/JavaScriptCore/jsc.pro
new file mode 100644
index 0000000..ba880ff
--- /dev/null
+++ b/src/3rdparty/webkit/JavaScriptCore/jsc.pro
@@ -0,0 +1,31 @@
+TEMPLATE = app
+TARGET = jsc
+DESTDIR = .
+SOURCES = jsc.cpp
+QT -= gui
+CONFIG -= app_bundle
+CONFIG += building-libs
+win32-*: CONFIG += console
+win32-msvc*: CONFIG += exceptions_off stl_off
+
+include($$PWD/../WebKit.pri)
+
+CONFIG += link_pkgconfig
+
+QMAKE_RPATHDIR += $$OUTPUT_DIR/lib
+
+isEmpty(OUTPUT_DIR):OUTPUT_DIR=$$PWD/..
+CONFIG(debug, debug|release) {
+ OBJECTS_DIR = obj/debug
+} else { # Release
+ OBJECTS_DIR = obj/release
+}
+OBJECTS_DIR_WTR = $$OBJECTS_DIR$${QMAKE_DIR_SEP}
+include($$PWD/JavaScriptCore.pri)
+
+lessThan(QT_MINOR_VERSION, 4) {
+ DEFINES += QT_BEGIN_NAMESPACE="" QT_END_NAMESPACE=""
+}
+
+*-g++*:QMAKE_CXXFLAGS_RELEASE -= -O2
+*-g++*:QMAKE_CXXFLAGS_RELEASE += -O3
diff --git a/src/3rdparty/webkit/JavaScriptCore/parser/Grammar.y b/src/3rdparty/webkit/JavaScriptCore/parser/Grammar.y
index c5ca425..354c786 100644
--- a/src/3rdparty/webkit/JavaScriptCore/parser/Grammar.y
+++ b/src/3rdparty/webkit/JavaScriptCore/parser/Grammar.y
@@ -36,8 +36,12 @@
#include "CommonIdentifiers.h"
#include "NodeInfo.h"
#include "Parser.h"
+#include <wtf/FastMalloc.h>
#include <wtf/MathExtras.h>
+#define YYMALLOC fastMalloc
+#define YYFREE fastFree
+
#define YYMAXDEPTH 10000
#define YYENABLE_NLS 0
@@ -88,12 +92,6 @@ static ExpressionNode* combineCommaNodes(void*, ExpressionNode* list, Expression
#pragma warning(disable: 4244)
#pragma warning(disable: 4702)
-// At least some of the time, the declarations of malloc and free that bison
-// generates are causing warnings. A way to avoid this is to explicitly define
-// the macros so that bison doesn't try to declare malloc and free.
-#define YYMALLOC malloc
-#define YYFREE free
-
#endif
#define YYPARSE_PARAM globalPtr
diff --git a/src/3rdparty/webkit/JavaScriptCore/parser/Lexer.h b/src/3rdparty/webkit/JavaScriptCore/parser/Lexer.h
index 0e1b618..2583162 100644
--- a/src/3rdparty/webkit/JavaScriptCore/parser/Lexer.h
+++ b/src/3rdparty/webkit/JavaScriptCore/parser/Lexer.h
@@ -33,7 +33,7 @@ namespace JSC {
class RegExp;
- class Lexer : Noncopyable {
+ class Lexer : public Noncopyable {
public:
// Character manipulation functions.
static bool isWhiteSpace(int character);
diff --git a/src/3rdparty/webkit/JavaScriptCore/parser/NodeConstructors.h b/src/3rdparty/webkit/JavaScriptCore/parser/NodeConstructors.h
index d17da69..780a624 100644
--- a/src/3rdparty/webkit/JavaScriptCore/parser/NodeConstructors.h
+++ b/src/3rdparty/webkit/JavaScriptCore/parser/NodeConstructors.h
@@ -39,6 +39,11 @@ namespace JSC {
return fastMalloc(size);
}
+ inline void ParserArenaDeletable::operator delete(void* p)
+ {
+ fastFree(p);
+ }
+
inline ParserArenaRefCounted::ParserArenaRefCounted(JSGlobalData* globalData)
{
globalData->parser->arena().derefWithArena(adoptRef(this));
diff --git a/src/3rdparty/webkit/JavaScriptCore/parser/Nodes.cpp b/src/3rdparty/webkit/JavaScriptCore/parser/Nodes.cpp
index ba6e1e0..6c0d1af 100644
--- a/src/3rdparty/webkit/JavaScriptCore/parser/Nodes.cpp
+++ b/src/3rdparty/webkit/JavaScriptCore/parser/Nodes.cpp
@@ -495,6 +495,8 @@ static RegisterID* emitPreIncOrDec(BytecodeGenerator& generator, RegisterID* src
static RegisterID* emitPostIncOrDec(BytecodeGenerator& generator, RegisterID* dst, RegisterID* srcDst, Operator oper)
{
+ if (srcDst == dst)
+ return generator.emitToJSNumber(dst, srcDst);
return (oper == OpPlusPlus) ? generator.emitPostInc(dst, srcDst) : generator.emitPostDec(dst, srcDst);
}
@@ -601,7 +603,7 @@ RegisterID* PostfixErrorNode::emitBytecode(BytecodeGenerator& generator, Registe
RegisterID* DeleteResolveNode::emitBytecode(BytecodeGenerator& generator, RegisterID* dst)
{
if (generator.registerFor(m_ident))
- return generator.emitUnexpectedLoad(generator.finalDestination(dst), false);
+ return generator.emitLoad(generator.finalDestination(dst), false);
generator.emitExpressionInfo(divot(), startOffset(), endOffset());
RegisterID* base = generator.emitResolveBase(generator.tempDestination(dst), m_ident);
@@ -636,7 +638,7 @@ RegisterID* DeleteValueNode::emitBytecode(BytecodeGenerator& generator, Register
generator.emitNode(generator.ignoredResult(), m_expr);
// delete on a non-location expression ignores the value and returns true
- return generator.emitUnexpectedLoad(generator.finalDestination(dst), true);
+ return generator.emitLoad(generator.finalDestination(dst), true);
}
// ------------------------------ VoidNode -------------------------------------
@@ -688,7 +690,7 @@ RegisterID* PrefixResolveNode::emitBytecode(BytecodeGenerator& generator, Regist
if (generator.isLocalConstant(m_ident)) {
if (dst == generator.ignoredResult())
return 0;
- RefPtr<RegisterID> r0 = generator.emitUnexpectedLoad(generator.finalDestination(dst), (m_operator == OpPlusPlus) ? 1.0 : -1.0);
+ RefPtr<RegisterID> r0 = generator.emitLoad(generator.finalDestination(dst), (m_operator == OpPlusPlus) ? 1.0 : -1.0);
return generator.emitBinaryOp(op_add, r0.get(), local, r0.get(), OperandTypes());
}
diff --git a/src/3rdparty/webkit/JavaScriptCore/parser/Nodes.h b/src/3rdparty/webkit/JavaScriptCore/parser/Nodes.h
index a9f88b7..84e8b95 100644
--- a/src/3rdparty/webkit/JavaScriptCore/parser/Nodes.h
+++ b/src/3rdparty/webkit/JavaScriptCore/parser/Nodes.h
@@ -109,9 +109,11 @@ namespace JSC {
// Objects created with this version of new are not deleted when the arena is deleted.
// Other arrangements must be made.
void* operator new(size_t);
+
+ void operator delete(void*);
};
- class ParserArenaRefCounted : public RefCounted<ParserArenaRefCounted> {
+ class ParserArenaRefCounted : public RefCountedCustomAllocated<ParserArenaRefCounted> {
protected:
ParserArenaRefCounted(JSGlobalData*);
diff --git a/src/3rdparty/webkit/JavaScriptCore/parser/Parser.h b/src/3rdparty/webkit/JavaScriptCore/parser/Parser.h
index 6f4c2b7..373dc00 100644
--- a/src/3rdparty/webkit/JavaScriptCore/parser/Parser.h
+++ b/src/3rdparty/webkit/JavaScriptCore/parser/Parser.h
@@ -39,7 +39,7 @@ namespace JSC {
template <typename T> struct ParserArenaData : ParserArenaDeletable { T data; };
- class Parser : Noncopyable {
+ class Parser : public Noncopyable {
public:
template <class ParsedNode> PassRefPtr<ParsedNode> parse(ExecState*, Debugger*, const SourceCode&, int* errLine = 0, UString* errMsg = 0);
template <class ParsedNode> PassRefPtr<ParsedNode> reparse(JSGlobalData*, ParsedNode*);
diff --git a/src/3rdparty/webkit/JavaScriptCore/pcre/pcre_exec.cpp b/src/3rdparty/webkit/JavaScriptCore/pcre/pcre_exec.cpp
index af770f3..16619d4 100644
--- a/src/3rdparty/webkit/JavaScriptCore/pcre/pcre_exec.cpp
+++ b/src/3rdparty/webkit/JavaScriptCore/pcre/pcre_exec.cpp
@@ -112,7 +112,7 @@ struct BracketChainNode {
const UChar* bracketStart;
};
-struct MatchFrame {
+struct MatchFrame : FastAllocBase {
ReturnLocation returnLocation;
struct MatchFrame* previousFrame;
diff --git a/src/3rdparty/webkit/JavaScriptCore/profiler/Profiler.h b/src/3rdparty/webkit/JavaScriptCore/profiler/Profiler.h
index b37f613..869f419 100644
--- a/src/3rdparty/webkit/JavaScriptCore/profiler/Profiler.h
+++ b/src/3rdparty/webkit/JavaScriptCore/profiler/Profiler.h
@@ -44,7 +44,7 @@ namespace JSC {
class ProfileGenerator;
class UString;
- class Profiler {
+ class Profiler : public FastAllocBase {
public:
static Profiler** enabledProfilerReference()
{
diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/ArgList.h b/src/3rdparty/webkit/JavaScriptCore/runtime/ArgList.h
index 4d571fc..0899e85 100644
--- a/src/3rdparty/webkit/JavaScriptCore/runtime/ArgList.h
+++ b/src/3rdparty/webkit/JavaScriptCore/runtime/ArgList.h
@@ -31,7 +31,7 @@
namespace JSC {
- class MarkedArgumentBuffer : Noncopyable {
+ class MarkedArgumentBuffer : public Noncopyable {
private:
static const unsigned inlineCapacity = 8;
typedef Vector<Register, inlineCapacity> VectorType;
diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/BatchedTransitionOptimizer.h b/src/3rdparty/webkit/JavaScriptCore/runtime/BatchedTransitionOptimizer.h
index 13dd95c..b9f738f 100644
--- a/src/3rdparty/webkit/JavaScriptCore/runtime/BatchedTransitionOptimizer.h
+++ b/src/3rdparty/webkit/JavaScriptCore/runtime/BatchedTransitionOptimizer.h
@@ -32,7 +32,7 @@
namespace JSC {
- class BatchedTransitionOptimizer : Noncopyable {
+ class BatchedTransitionOptimizer : public Noncopyable {
public:
BatchedTransitionOptimizer(JSObject* object)
: m_object(object)
diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/Collector.cpp b/src/3rdparty/webkit/JavaScriptCore/runtime/Collector.cpp
index 0ff97b8..bc5582c 100644
--- a/src/3rdparty/webkit/JavaScriptCore/runtime/Collector.cpp
+++ b/src/3rdparty/webkit/JavaScriptCore/runtime/Collector.cpp
@@ -48,6 +48,11 @@
#include <mach/thread_act.h>
#include <mach/vm_map.h>
+#elif PLATFORM(SYMBIAN)
+#include <e32std.h>
+#include <e32cmn.h>
+#include <unistd.h>
+
#elif PLATFORM(WIN_OS)
#include <windows.h>
@@ -84,6 +89,13 @@ extern int *__libc_stack_end;
#include <pthread_np.h>
#endif
+#if PLATFORM(QNX)
+#include <fcntl.h>
+#include <sys/procfs.h>
+#include <stdio.h>
+#include <errno.h>
+#endif
+
#endif
#define DEBUG_COLLECTOR 0
@@ -103,6 +115,11 @@ const size_t ALLOCATIONS_PER_COLLECTION = 4000;
// a PIC branch in Mach-O binaries, see <rdar://problem/5971391>.
#define MIN_ARRAY_SIZE (static_cast<size_t>(14))
+#if PLATFORM(SYMBIAN)
+const size_t MAX_NUM_BLOCKS = 256; // Max size of collector heap set to 16 MB
+static RHeap* userChunk = 0;
+#endif
+
static void freeHeap(CollectorHeap*);
#if ENABLE(JSC_MULTIPLE_THREADS)
@@ -144,6 +161,26 @@ Heap::Heap(JSGlobalData* globalData)
{
ASSERT(globalData);
+#if PLATFORM(SYMBIAN)
+ // Symbian OpenC supports mmap but currently not the MAP_ANON flag.
+ // Using fastMalloc() does not properly align blocks on 64k boundaries
+ // and previous implementation was flawed/incomplete.
+ // UserHeap::ChunkHeap allows allocation of continuous memory and specification
+ // of alignment value for (symbian) cells within that heap.
+ //
+ // Clarification and mapping of terminology:
+ // RHeap (created by UserHeap::ChunkHeap below) is continuos memory chunk,
+ // which can dynamically grow up to 8 MB,
+ // that holds all CollectorBlocks of this session (static).
+ // Each symbian cell within RHeap maps to a 64kb aligned CollectorBlock.
+ // JSCell objects are maintained as usual within CollectorBlocks.
+ if (!userChunk) {
+ userChunk = UserHeap::ChunkHeap(0, 0, MAX_NUM_BLOCKS * BLOCK_SIZE, BLOCK_SIZE, BLOCK_SIZE);
+ if (!userChunk)
+ CRASH();
+ }
+#endif // PLATFORM(SYMBIAN)
+
memset(&primaryHeap, 0, sizeof(CollectorHeap));
memset(&numberHeap, 0, sizeof(CollectorHeap));
}
@@ -156,7 +193,7 @@ Heap::~Heap()
void Heap::destroy()
{
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
if (!m_globalData)
return;
@@ -201,8 +238,12 @@ static NEVER_INLINE CollectorBlock* allocateBlock()
// FIXME: tag the region as a JavaScriptCore heap when we get a registered VM tag: <rdar://problem/6054788>.
vm_map(current_task(), &address, BLOCK_SIZE, BLOCK_OFFSET_MASK, VM_FLAGS_ANYWHERE | VM_TAG_FOR_COLLECTOR_MEMORY, MEMORY_OBJECT_NULL, 0, FALSE, VM_PROT_DEFAULT, VM_PROT_DEFAULT, VM_INHERIT_DEFAULT);
#elif PLATFORM(SYMBIAN)
- // no memory map in symbian, need to hack with fastMalloc
- void* address = fastMalloc(BLOCK_SIZE);
+ // Allocate a 64 kb aligned CollectorBlock
+ unsigned char* mask = reinterpret_cast<unsigned char*>(userChunk->Alloc(BLOCK_SIZE));
+ if (!mask)
+ CRASH();
+ uintptr_t address = reinterpret_cast<uintptr_t>(mask);
+
memset(reinterpret_cast<void*>(address), 0, BLOCK_SIZE);
#elif PLATFORM(WIN_OS)
// windows virtual address granularity is naturally 64k
@@ -247,7 +288,7 @@ static void freeBlock(CollectorBlock* block)
#if PLATFORM(DARWIN)
vm_deallocate(current_task(), reinterpret_cast<vm_address_t>(block), BLOCK_SIZE);
#elif PLATFORM(SYMBIAN)
- fastFree(block);
+ userChunk->Free(reinterpret_cast<TAny*>(block));
#elif PLATFORM(WIN_OS)
VirtualFree(block, 0, MEM_RELEASE);
#elif HAVE(POSIX_MEMALIGN)
@@ -546,6 +587,24 @@ static inline void* currentThreadStackBase()
static pthread_t stackThread;
pthread_t thread = pthread_self();
if (stackBase == 0 || thread != stackThread) {
+#if PLATFORM(QNX)
+ int fd;
+ struct _debug_thread_info tinfo;
+ memset(&tinfo, 0, sizeof(tinfo));
+ tinfo.tid = pthread_self();
+ fd = open("/proc/self", O_RDONLY);
+ if (fd == -1) {
+#ifndef NDEBUG
+ perror("Unable to open /proc/self:");
+#endif
+ return 0;
+ }
+ devctl(fd, DCMD_PROC_TIDSTATUS, &tinfo, sizeof(tinfo), NULL);
+ close(fd);
+ stackBase = (void*)tinfo.stkbase;
+ stackSize = tinfo.stksize;
+ ASSERT(stackBase);
+#else
#if defined(QT_LINUXBASE)
// LinuxBase is missing pthread_getattr_np - resolve it once at runtime instead
// see http://bugs.linuxbase.org/show_bug.cgi?id=2364
@@ -570,6 +629,7 @@ static inline void* currentThreadStackBase()
(void)rc; // FIXME: Deal with error code somehow? Seems fatal.
ASSERT(stackBase);
pthread_attr_destroy(&sattr);
+#endif
stackThread = thread;
}
return static_cast<char*>(stackBase) + stackSize;
diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/Collector.h b/src/3rdparty/webkit/JavaScriptCore/runtime/Collector.h
index 23f9f15..852ac59 100644
--- a/src/3rdparty/webkit/JavaScriptCore/runtime/Collector.h
+++ b/src/3rdparty/webkit/JavaScriptCore/runtime/Collector.h
@@ -63,7 +63,7 @@ namespace JSC {
OperationInProgress operationInProgress;
};
- class Heap : Noncopyable {
+ class Heap : public Noncopyable {
public:
class Thread;
typedef CollectorHeapIterator<PrimaryHeap> iterator;
diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/CommonIdentifiers.h b/src/3rdparty/webkit/JavaScriptCore/runtime/CommonIdentifiers.h
index 408d819..7b275bd 100644
--- a/src/3rdparty/webkit/JavaScriptCore/runtime/CommonIdentifiers.h
+++ b/src/3rdparty/webkit/JavaScriptCore/runtime/CommonIdentifiers.h
@@ -70,7 +70,7 @@
namespace JSC {
- class CommonIdentifiers : Noncopyable {
+ class CommonIdentifiers : public Noncopyable {
private:
CommonIdentifiers(JSGlobalData*);
friend class JSGlobalData;
diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/Identifier.cpp b/src/3rdparty/webkit/JavaScriptCore/runtime/Identifier.cpp
index 040c123..7db723b 100644
--- a/src/3rdparty/webkit/JavaScriptCore/runtime/Identifier.cpp
+++ b/src/3rdparty/webkit/JavaScriptCore/runtime/Identifier.cpp
@@ -32,7 +32,7 @@ namespace JSC {
typedef HashMap<const char*, RefPtr<UString::Rep>, PtrHash<const char*> > LiteralIdentifierTable;
-class IdentifierTable {
+class IdentifierTable : public FastAllocBase {
public:
~IdentifierTable()
{
diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/JSActivation.cpp b/src/3rdparty/webkit/JavaScriptCore/runtime/JSActivation.cpp
index 8996629..3bef263 100644
--- a/src/3rdparty/webkit/JavaScriptCore/runtime/JSActivation.cpp
+++ b/src/3rdparty/webkit/JavaScriptCore/runtime/JSActivation.cpp
@@ -40,7 +40,7 @@ ASSERT_CLASS_FITS_IN_CELL(JSActivation);
const ClassInfo JSActivation::info = { "JSActivation", 0, 0, 0 };
JSActivation::JSActivation(CallFrame* callFrame, PassRefPtr<FunctionBodyNode> functionBody)
- : Base(callFrame->globalData().activationStructure, new JSActivationData(functionBody, callFrame))
+ : Base(callFrame->globalData().activationStructure, new JSActivationData(functionBody, callFrame->registers()))
{
}
diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/JSCell.h b/src/3rdparty/webkit/JavaScriptCore/runtime/JSCell.h
index e0a9b4d..32aa22b 100644
--- a/src/3rdparty/webkit/JavaScriptCore/runtime/JSCell.h
+++ b/src/3rdparty/webkit/JavaScriptCore/runtime/JSCell.h
@@ -31,7 +31,7 @@
namespace JSC {
- class JSCell : Noncopyable {
+ class JSCell : public NoncopyableCustomAllocated {
friend class GetterSetter;
friend class Heap;
friend class JIT;
diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/JSGlobalData.cpp b/src/3rdparty/webkit/JavaScriptCore/runtime/JSGlobalData.cpp
index d5c4ee4..ff728e8 100644
--- a/src/3rdparty/webkit/JavaScriptCore/runtime/JSGlobalData.cpp
+++ b/src/3rdparty/webkit/JavaScriptCore/runtime/JSGlobalData.cpp
@@ -59,14 +59,14 @@ using namespace WTF;
namespace JSC {
-extern const HashTable arrayTable;
-extern const HashTable jsonTable;
-extern const HashTable dateTable;
-extern const HashTable mathTable;
-extern const HashTable numberTable;
-extern const HashTable regExpTable;
-extern const HashTable regExpConstructorTable;
-extern const HashTable stringTable;
+extern JSC_CONST_HASHTABLE HashTable arrayTable;
+extern JSC_CONST_HASHTABLE HashTable jsonTable;
+extern JSC_CONST_HASHTABLE HashTable dateTable;
+extern JSC_CONST_HASHTABLE HashTable mathTable;
+extern JSC_CONST_HASHTABLE HashTable numberTable;
+extern JSC_CONST_HASHTABLE HashTable regExpTable;
+extern JSC_CONST_HASHTABLE HashTable regExpConstructorTable;
+extern JSC_CONST_HASHTABLE HashTable stringTable;
struct VPtrSet {
VPtrSet();
diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/JSGlobalObject.h b/src/3rdparty/webkit/JavaScriptCore/runtime/JSGlobalObject.h
index 983274b..7ab759d 100644
--- a/src/3rdparty/webkit/JavaScriptCore/runtime/JSGlobalObject.h
+++ b/src/3rdparty/webkit/JavaScriptCore/runtime/JSGlobalObject.h
@@ -391,7 +391,7 @@ namespace JSC {
return globalData().dynamicGlobalObject;
}
- class DynamicGlobalObjectScope : Noncopyable {
+ class DynamicGlobalObjectScope : public Noncopyable {
public:
DynamicGlobalObjectScope(CallFrame* callFrame, JSGlobalObject* dynamicGlobalObject)
: m_dynamicGlobalObjectSlot(callFrame->globalData().dynamicGlobalObject)
diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/JSLock.cpp b/src/3rdparty/webkit/JavaScriptCore/runtime/JSLock.cpp
index 7ece5da..8f056c8 100644
--- a/src/3rdparty/webkit/JavaScriptCore/runtime/JSLock.cpp
+++ b/src/3rdparty/webkit/JavaScriptCore/runtime/JSLock.cpp
@@ -60,23 +60,23 @@ static void setLockCount(intptr_t count)
}
JSLock::JSLock(ExecState* exec)
- : m_lockingForReal(exec->globalData().isSharedInstance)
+ : m_lockBehavior(exec->globalData().isSharedInstance ? LockForReal : SilenceAssertionsOnly)
{
- lock(m_lockingForReal);
+ lock(m_lockBehavior);
}
-void JSLock::lock(bool lockForReal)
+void JSLock::lock(JSLockBehavior lockBehavior)
{
#ifdef NDEBUG
// Locking "not for real" is a debug-only feature.
- if (!lockForReal)
+ if (lockBehavior == SilenceAssertionsOnly)
return;
#endif
pthread_once(&createJSLockCountOnce, createJSLockCount);
intptr_t currentLockCount = lockCount();
- if (!currentLockCount && lockForReal) {
+ if (!currentLockCount && lockBehavior == LockForReal) {
int result;
result = pthread_mutex_lock(&JSMutex);
ASSERT(!result);
@@ -84,19 +84,19 @@ void JSLock::lock(bool lockForReal)
setLockCount(currentLockCount + 1);
}
-void JSLock::unlock(bool lockForReal)
+void JSLock::unlock(JSLockBehavior lockBehavior)
{
ASSERT(lockCount());
#ifdef NDEBUG
// Locking "not for real" is a debug-only feature.
- if (!lockForReal)
+ if (lockBehavior == SilenceAssertionsOnly)
return;
#endif
intptr_t newLockCount = lockCount() - 1;
setLockCount(newLockCount);
- if (!newLockCount && lockForReal) {
+ if (!newLockCount && lockBehavior == LockForReal) {
int result;
result = pthread_mutex_unlock(&JSMutex);
ASSERT(!result);
@@ -105,12 +105,12 @@ void JSLock::unlock(bool lockForReal)
void JSLock::lock(ExecState* exec)
{
- lock(exec->globalData().isSharedInstance);
+ lock(exec->globalData().isSharedInstance ? LockForReal : SilenceAssertionsOnly);
}
void JSLock::unlock(ExecState* exec)
{
- unlock(exec->globalData().isSharedInstance);
+ unlock(exec->globalData().isSharedInstance ? LockForReal : SilenceAssertionsOnly);
}
bool JSLock::currentThreadIsHoldingLock()
@@ -162,7 +162,7 @@ bool JSLock::currentThreadIsHoldingLock()
static unsigned lockDropDepth = 0;
JSLock::DropAllLocks::DropAllLocks(ExecState* exec)
- : m_lockingForReal(exec->globalData().isSharedInstance)
+ : m_lockBehavior(exec->globalData().isSharedInstance ? LockForReal : SilenceAssertionsOnly)
{
pthread_once(&createJSLockCountOnce, createJSLockCount);
@@ -173,11 +173,11 @@ JSLock::DropAllLocks::DropAllLocks(ExecState* exec)
m_lockCount = JSLock::lockCount();
for (intptr_t i = 0; i < m_lockCount; i++)
- JSLock::unlock(m_lockingForReal);
+ JSLock::unlock(m_lockBehavior);
}
-JSLock::DropAllLocks::DropAllLocks(bool lockingForReal)
- : m_lockingForReal(lockingForReal)
+JSLock::DropAllLocks::DropAllLocks(JSLockBehavior JSLockBehavior)
+ : m_lockBehavior(JSLockBehavior)
{
pthread_once(&createJSLockCountOnce, createJSLockCount);
@@ -191,13 +191,13 @@ JSLock::DropAllLocks::DropAllLocks(bool lockingForReal)
m_lockCount = JSLock::lockCount();
for (intptr_t i = 0; i < m_lockCount; i++)
- JSLock::unlock(m_lockingForReal);
+ JSLock::unlock(m_lockBehavior);
}
JSLock::DropAllLocks::~DropAllLocks()
{
for (intptr_t i = 0; i < m_lockCount; i++)
- JSLock::lock(m_lockingForReal);
+ JSLock::lock(m_lockBehavior);
--lockDropDepth;
}
@@ -205,7 +205,7 @@ JSLock::DropAllLocks::~DropAllLocks()
#else
JSLock::JSLock(ExecState*)
- : m_lockingForReal(false)
+ : m_lockBehavior(SilenceAssertionsOnly)
{
}
@@ -221,11 +221,11 @@ bool JSLock::currentThreadIsHoldingLock()
return true;
}
-void JSLock::lock(bool)
+void JSLock::lock(JSLockBehavior)
{
}
-void JSLock::unlock(bool)
+void JSLock::unlock(JSLockBehavior)
{
}
@@ -241,7 +241,7 @@ JSLock::DropAllLocks::DropAllLocks(ExecState*)
{
}
-JSLock::DropAllLocks::DropAllLocks(bool)
+JSLock::DropAllLocks::DropAllLocks(JSLockBehavior)
{
}
diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/JSLock.h b/src/3rdparty/webkit/JavaScriptCore/runtime/JSLock.h
index 3dde358..8b015c4 100644
--- a/src/3rdparty/webkit/JavaScriptCore/runtime/JSLock.h
+++ b/src/3rdparty/webkit/JavaScriptCore/runtime/JSLock.h
@@ -50,50 +50,52 @@ namespace JSC {
class ExecState;
- class JSLock : Noncopyable {
+ enum JSLockBehavior { SilenceAssertionsOnly, LockForReal };
+
+ class JSLock : public Noncopyable {
public:
JSLock(ExecState*);
- JSLock(bool lockingForReal)
- : m_lockingForReal(lockingForReal)
+ JSLock(JSLockBehavior lockBehavior)
+ : m_lockBehavior(lockBehavior)
{
#ifdef NDEBUG
// Locking "not for real" is a debug-only feature.
- if (!lockingForReal)
+ if (lockBehavior == SilenceAssertionsOnly)
return;
#endif
- lock(lockingForReal);
+ lock(lockBehavior);
}
~JSLock()
{
#ifdef NDEBUG
// Locking "not for real" is a debug-only feature.
- if (!m_lockingForReal)
+ if (m_lockBehavior == SilenceAssertionsOnly)
return;
#endif
- unlock(m_lockingForReal);
+ unlock(m_lockBehavior);
}
- static void lock(bool);
- static void unlock(bool);
+ static void lock(JSLockBehavior);
+ static void unlock(JSLockBehavior);
static void lock(ExecState*);
static void unlock(ExecState*);
static intptr_t lockCount();
static bool currentThreadIsHoldingLock();
- bool m_lockingForReal;
+ JSLockBehavior m_lockBehavior;
- class DropAllLocks : Noncopyable {
+ class DropAllLocks : public Noncopyable {
public:
DropAllLocks(ExecState* exec);
- DropAllLocks(bool);
+ DropAllLocks(JSLockBehavior);
~DropAllLocks();
private:
intptr_t m_lockCount;
- bool m_lockingForReal;
+ JSLockBehavior m_lockBehavior;
};
};
diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/JSONObject.cpp b/src/3rdparty/webkit/JavaScriptCore/runtime/JSONObject.cpp
index 4a89c55..2f02b1d 100644
--- a/src/3rdparty/webkit/JavaScriptCore/runtime/JSONObject.cpp
+++ b/src/3rdparty/webkit/JavaScriptCore/runtime/JSONObject.cpp
@@ -61,7 +61,7 @@ private:
mutable JSValue m_value;
};
-class Stringifier : Noncopyable {
+class Stringifier : public Noncopyable {
public:
Stringifier(ExecState*, JSValue replacer, JSValue space);
~Stringifier();
diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/LiteralParser.cpp b/src/3rdparty/webkit/JavaScriptCore/runtime/LiteralParser.cpp
index 3f3fab9..798013a 100644
--- a/src/3rdparty/webkit/JavaScriptCore/runtime/LiteralParser.cpp
+++ b/src/3rdparty/webkit/JavaScriptCore/runtime/LiteralParser.cpp
@@ -124,9 +124,9 @@ LiteralParser::TokenType LiteralParser::Lexer::lex(LiteralParserToken& token)
return TokError;
}
-static inline bool isSafeStringCharacter(UChar c)
+template <LiteralParser::ParserMode mode> static inline bool isSafeStringCharacter(UChar c)
{
- return (c >= ' ' && c <= 0xff && c != '\\' && c != '"') || c == '\t';
+ return (c >= ' ' && (mode == LiteralParser::StrictJSON || c <= 0xff) && c != '\\' && c != '"') || c == '\t';
}
template <LiteralParser::ParserMode mode> LiteralParser::TokenType LiteralParser::Lexer::lexString(LiteralParserToken& token)
@@ -136,7 +136,7 @@ template <LiteralParser::ParserMode mode> LiteralParser::TokenType LiteralParser
token.stringToken = UString();
do {
runStart = m_ptr;
- while (m_ptr < m_end && isSafeStringCharacter(*m_ptr))
+ while (m_ptr < m_end && isSafeStringCharacter<mode>(*m_ptr))
++m_ptr;
if (runStart < m_ptr)
token.stringToken.append(runStart, m_ptr - runStart);
diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/Lookup.h b/src/3rdparty/webkit/JavaScriptCore/runtime/Lookup.h
index 3b7353d..167f2bc 100644
--- a/src/3rdparty/webkit/JavaScriptCore/runtime/Lookup.h
+++ b/src/3rdparty/webkit/JavaScriptCore/runtime/Lookup.h
@@ -29,6 +29,13 @@
#include <stdio.h>
#include <wtf/Assertions.h>
+// Bug #26843: Work around Metrowerks compiler bug
+#if COMPILER(WINSCW)
+#define JSC_CONST_HASHTABLE
+#else
+#define JSC_CONST_HASHTABLE const
+#endif
+
namespace JSC {
// Hash table generated by the create_hash_table script.
diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/RegExp.cpp b/src/3rdparty/webkit/JavaScriptCore/runtime/RegExp.cpp
index 857a316..7dd4a8f 100644
--- a/src/3rdparty/webkit/JavaScriptCore/runtime/RegExp.cpp
+++ b/src/3rdparty/webkit/JavaScriptCore/runtime/RegExp.cpp
@@ -1,6 +1,7 @@
/*
* Copyright (C) 1999-2001, 2004 Harri Porten (porten@kde.org)
* Copyright (c) 2007, 2008 Apple Inc. All rights reserved.
+ * Copyright (C) 2009 Torch Mobile, Inc.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@@ -110,7 +111,7 @@ void RegExp::compile(JSGlobalData* globalData)
#endif
}
-int RegExp::match(const UString& s, int startOffset, OwnArrayPtr<int>* ovector)
+int RegExp::match(const UString& s, int startOffset, Vector<int, 32>* ovector)
{
if (startOffset < 0)
startOffset = 0;
@@ -126,16 +127,20 @@ int RegExp::match(const UString& s, int startOffset, OwnArrayPtr<int>* ovector)
if (m_regExpBytecode) {
#endif
int offsetVectorSize = (m_numSubpatterns + 1) * 3; // FIXME: should be 2 - but adding temporary fallback to pcre.
- int* offsetVector = new int [offsetVectorSize];
+ int* offsetVector;
+ Vector<int, 32> nonReturnedOvector;
+ if (ovector) {
+ ovector->resize(offsetVectorSize);
+ offsetVector = ovector->data();
+ } else {
+ nonReturnedOvector.resize(offsetVectorSize);
+ offsetVector = nonReturnedOvector.data();
+ }
+
ASSERT(offsetVector);
for (int j = 0; j < offsetVectorSize; ++j)
offsetVector[j] = -1;
- OwnArrayPtr<int> nonReturnedOvector;
- if (!ovector)
- nonReturnedOvector.set(offsetVector);
- else
- ovector->set(offsetVector);
#if ENABLE(YARR_JIT)
int result = Yarr::executeRegex(m_regExpJITCode, s.data(), startOffset, s.size(), offsetVector, offsetVectorSize);
@@ -177,7 +182,7 @@ void RegExp::compile(JSGlobalData* globalData)
m_regExp = jsRegExpCompile(reinterpret_cast<const UChar*>(m_pattern.data()), m_pattern.size(), ignoreCaseOption, multilineOption, &m_numSubpatterns, &m_constructionError);
}
-int RegExp::match(const UString& s, int startOffset, OwnArrayPtr<int>* ovector)
+int RegExp::match(const UString& s, int startOffset, Vector<int, 32>* ovector)
{
if (startOffset < 0)
startOffset = 0;
@@ -190,17 +195,19 @@ int RegExp::match(const UString& s, int startOffset, OwnArrayPtr<int>* ovector)
#if ENABLE(WREC)
if (m_wrecFunction) {
int offsetVectorSize = (m_numSubpatterns + 1) * 2;
- int* offsetVector = new int [offsetVectorSize];
+ int* offsetVector;
+ Vector<int, 32> nonReturnedOvector;
+ if (ovector) {
+ ovector->resize(offsetVectorSize);
+ offsetVector = ovector->data();
+ } else {
+ nonReturnedOvector.resize(offsetVectorSize);
+ offsetVector = nonReturnedOvector.data();
+ }
ASSERT(offsetVector);
for (int j = 0; j < offsetVectorSize; ++j)
offsetVector[j] = -1;
- OwnArrayPtr<int> nonReturnedOvector;
- if (!ovector)
- nonReturnedOvector.set(offsetVector);
- else
- ovector->set(offsetVector);
-
int result = m_wrecFunction(s.data(), startOffset, s.size(), offsetVector);
if (result < 0) {
@@ -226,8 +233,8 @@ int RegExp::match(const UString& s, int startOffset, OwnArrayPtr<int>* ovector)
offsetVector = fixedSizeOffsetVector;
} else {
offsetVectorSize = (m_numSubpatterns + 1) * 3;
- offsetVector = new int [offsetVectorSize];
- ovector->set(offsetVector);
+ ovector->resize(offsetVectorSize);
+ offsetVector = ovector->data();
}
int numMatches = jsRegExpExecute(m_regExp, reinterpret_cast<const UChar*>(s.data()), s.size(), startOffset, offsetVector, offsetVectorSize);
diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/RegExp.h b/src/3rdparty/webkit/JavaScriptCore/runtime/RegExp.h
index f3be656..24d4199 100644
--- a/src/3rdparty/webkit/JavaScriptCore/runtime/RegExp.h
+++ b/src/3rdparty/webkit/JavaScriptCore/runtime/RegExp.h
@@ -1,6 +1,7 @@
/*
* Copyright (C) 1999-2000 Harri Porten (porten@kde.org)
* Copyright (C) 2007, 2008, 2009 Apple Inc. All rights reserved.
+ * Copyright (C) 2009 Torch Mobile, Inc.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@@ -53,7 +54,7 @@ namespace JSC {
bool isValid() const { return !m_constructionError; }
const char* errorMessage() const { return m_constructionError; }
- int match(const UString&, int startOffset, OwnArrayPtr<int>* ovector = 0);
+ int match(const UString&, int startOffset, Vector<int, 32>* ovector = 0);
unsigned numSubpatterns() const { return m_numSubpatterns; }
private:
diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/RegExpConstructor.cpp b/src/3rdparty/webkit/JavaScriptCore/runtime/RegExpConstructor.cpp
index bcd0d07..e468521 100644
--- a/src/3rdparty/webkit/JavaScriptCore/runtime/RegExpConstructor.cpp
+++ b/src/3rdparty/webkit/JavaScriptCore/runtime/RegExpConstructor.cpp
@@ -1,6 +1,7 @@
/*
* Copyright (C) 1999-2000 Harri Porten (porten@kde.org)
* Copyright (C) 2003, 2007, 2008 Apple Inc. All Rights Reserved.
+ * Copyright (C) 2009 Torch Mobile, Inc.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@@ -93,14 +94,21 @@ struct RegExpConstructorPrivate {
RegExpConstructorPrivate()
: lastNumSubPatterns(0)
, multiline(false)
+ , lastOvectorIndex(0)
{
}
+ const Vector<int, 32>& lastOvector() const { return ovector[lastOvectorIndex]; }
+ Vector<int, 32>& lastOvector() { return ovector[lastOvectorIndex]; }
+ Vector<int, 32>& tempOvector() { return ovector[lastOvectorIndex ? 0 : 1]; }
+ void changeLastOvector() { lastOvectorIndex = lastOvectorIndex ? 0 : 1; }
+
UString input;
UString lastInput;
- OwnArrayPtr<int> lastOvector;
- unsigned lastNumSubPatterns : 31;
+ Vector<int, 32> ovector[2];
+ unsigned lastNumSubPatterns : 30;
bool multiline : 1;
+ unsigned lastOvectorIndex : 1;
};
RegExpConstructor::RegExpConstructor(ExecState* exec, PassRefPtr<Structure> structure, RegExpPrototype* regExpPrototype)
@@ -121,20 +129,19 @@ RegExpConstructor::RegExpConstructor(ExecState* exec, PassRefPtr<Structure> stru
*/
void RegExpConstructor::performMatch(RegExp* r, const UString& s, int startOffset, int& position, int& length, int** ovector)
{
- OwnArrayPtr<int> tmpOvector;
- position = r->match(s, startOffset, &tmpOvector);
+ position = r->match(s, startOffset, &d->tempOvector());
if (ovector)
- *ovector = tmpOvector.get();
+ *ovector = d->tempOvector().data();
if (position != -1) {
- ASSERT(tmpOvector);
+ ASSERT(!d->tempOvector().isEmpty());
- length = tmpOvector[1] - tmpOvector[0];
+ length = d->tempOvector()[1] - d->tempOvector()[0];
d->input = s;
d->lastInput = s;
- d->lastOvector.set(tmpOvector.release());
+ d->changeLastOvector();
d->lastNumSubPatterns = r->numSubpatterns();
}
}
@@ -147,8 +154,8 @@ RegExpMatchesArray::RegExpMatchesArray(ExecState* exec, RegExpConstructorPrivate
d->lastInput = data->lastInput;
d->lastNumSubPatterns = data->lastNumSubPatterns;
unsigned offsetVectorSize = (data->lastNumSubPatterns + 1) * 2; // only copying the result part of the vector
- d->lastOvector.set(new int[offsetVectorSize]);
- memcpy(d->lastOvector.get(), data->lastOvector.get(), offsetVectorSize * sizeof(int));
+ d->lastOvector().resize(offsetVectorSize);
+ memcpy(d->lastOvector().data(), data->lastOvector().data(), offsetVectorSize * sizeof(int));
// d->multiline is not needed, and remains uninitialized
setLazyCreationData(d);
@@ -167,13 +174,13 @@ void RegExpMatchesArray::fillArrayInstance(ExecState* exec)
unsigned lastNumSubpatterns = d->lastNumSubPatterns;
for (unsigned i = 0; i <= lastNumSubpatterns; ++i) {
- int start = d->lastOvector[2 * i];
+ int start = d->lastOvector()[2 * i];
if (start >= 0)
- JSArray::put(exec, i, jsSubstring(exec, d->lastInput, start, d->lastOvector[2 * i + 1] - start));
+ JSArray::put(exec, i, jsSubstring(exec, d->lastInput, start, d->lastOvector()[2 * i + 1] - start));
}
PutPropertySlot slot;
- JSArray::put(exec, exec->propertyNames().index, jsNumber(exec, d->lastOvector[0]), slot);
+ JSArray::put(exec, exec->propertyNames().index, jsNumber(exec, d->lastOvector()[0]), slot);
JSArray::put(exec, exec->propertyNames().input, jsString(exec, d->input), slot);
delete d;
@@ -187,10 +194,10 @@ JSObject* RegExpConstructor::arrayOfMatches(ExecState* exec) const
JSValue RegExpConstructor::getBackref(ExecState* exec, unsigned i) const
{
- if (d->lastOvector && i <= d->lastNumSubPatterns) {
- int start = d->lastOvector[2 * i];
+ if (!d->lastOvector().isEmpty() && i <= d->lastNumSubPatterns) {
+ int start = d->lastOvector()[2 * i];
if (start >= 0)
- return jsSubstring(exec, d->lastInput, start, d->lastOvector[2 * i + 1] - start);
+ return jsSubstring(exec, d->lastInput, start, d->lastOvector()[2 * i + 1] - start);
}
return jsEmptyString(exec);
}
@@ -199,25 +206,25 @@ JSValue RegExpConstructor::getLastParen(ExecState* exec) const
{
unsigned i = d->lastNumSubPatterns;
if (i > 0) {
- ASSERT(d->lastOvector);
- int start = d->lastOvector[2 * i];
+ ASSERT(!d->lastOvector().isEmpty());
+ int start = d->lastOvector()[2 * i];
if (start >= 0)
- return jsSubstring(exec, d->lastInput, start, d->lastOvector[2 * i + 1] - start);
+ return jsSubstring(exec, d->lastInput, start, d->lastOvector()[2 * i + 1] - start);
}
return jsEmptyString(exec);
}
JSValue RegExpConstructor::getLeftContext(ExecState* exec) const
{
- if (d->lastOvector)
- return jsSubstring(exec, d->lastInput, 0, d->lastOvector[0]);
+ if (!d->lastOvector().isEmpty())
+ return jsSubstring(exec, d->lastInput, 0, d->lastOvector()[0]);
return jsEmptyString(exec);
}
JSValue RegExpConstructor::getRightContext(ExecState* exec) const
{
- if (d->lastOvector)
- return jsSubstring(exec, d->lastInput, d->lastOvector[1], d->lastInput.size() - d->lastOvector[1]);
+ if (!d->lastOvector().isEmpty())
+ return jsSubstring(exec, d->lastInput, d->lastOvector()[1], d->lastInput.size() - d->lastOvector()[1]);
return jsEmptyString(exec);
}
diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/SmallStrings.cpp b/src/3rdparty/webkit/JavaScriptCore/runtime/SmallStrings.cpp
index 87b49f0..9d1f01a 100644
--- a/src/3rdparty/webkit/JavaScriptCore/runtime/SmallStrings.cpp
+++ b/src/3rdparty/webkit/JavaScriptCore/runtime/SmallStrings.cpp
@@ -34,7 +34,7 @@
namespace JSC {
static const unsigned numCharactersToStore = 0x100;
-class SmallStringsStorage : Noncopyable {
+class SmallStringsStorage : public Noncopyable {
public:
SmallStringsStorage();
diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/SmallStrings.h b/src/3rdparty/webkit/JavaScriptCore/runtime/SmallStrings.h
index e7f1170..f0dd8df 100644
--- a/src/3rdparty/webkit/JavaScriptCore/runtime/SmallStrings.h
+++ b/src/3rdparty/webkit/JavaScriptCore/runtime/SmallStrings.h
@@ -36,7 +36,7 @@ namespace JSC {
class SmallStringsStorage;
- class SmallStrings : Noncopyable {
+ class SmallStrings : public Noncopyable {
public:
SmallStrings();
~SmallStrings();
diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/StringPrototype.cpp b/src/3rdparty/webkit/JavaScriptCore/runtime/StringPrototype.cpp
index d6939cb..ceb6b1e 100644
--- a/src/3rdparty/webkit/JavaScriptCore/runtime/StringPrototype.cpp
+++ b/src/3rdparty/webkit/JavaScriptCore/runtime/StringPrototype.cpp
@@ -1,6 +1,7 @@
/*
* Copyright (C) 1999-2001 Harri Porten (porten@kde.org)
* Copyright (C) 2004, 2005, 2006, 2007, 2008 Apple Inc. All rights reserved.
+ * Copyright (C) 2009 Torch Mobile, Inc.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@@ -575,7 +576,7 @@ JSValue JSC_HOST_CALL stringProtoFuncSplit(ExecState* exec, JSObject*, JSValue t
}
int pos = 0;
while (i != limit && pos < s.size()) {
- OwnArrayPtr<int> ovector;
+ Vector<int, 32> ovector;
int mpos = reg->match(s, pos, &ovector);
if (mpos < 0)
break;
diff --git a/src/3rdparty/webkit/JavaScriptCore/wtf/Assertions.cpp b/src/3rdparty/webkit/JavaScriptCore/wtf/Assertions.cpp
index 098186e..819ed9a 100644
--- a/src/3rdparty/webkit/JavaScriptCore/wtf/Assertions.cpp
+++ b/src/3rdparty/webkit/JavaScriptCore/wtf/Assertions.cpp
@@ -1,5 +1,6 @@
/*
* Copyright (C) 2003, 2006, 2007 Apple Inc. All rights reserved.
+ * Copyright (C) 2007-2009 Torch Mobile, Inc.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -45,6 +46,10 @@
#include <crtdbg.h>
#endif
+#if PLATFORM(WINCE)
+#include <winbase.h>
+#endif
+
extern "C" {
WTF_ATTRIBUTE_PRINTF(1, 0)
@@ -66,7 +71,7 @@ static void vprintf_stderr_common(const char* format, va_list args)
CFRelease(str);
CFRelease(cfFormat);
} else
-#elif COMPILER(MSVC) && !PLATFORM(WINCE)
+#elif COMPILER(MSVC) && !defined(WINCEBASIC)
if (IsDebuggerPresent()) {
size_t size = 1024;
@@ -77,7 +82,20 @@ static void vprintf_stderr_common(const char* format, va_list args)
break;
if (_vsnprintf(buffer, size, format, args) != -1) {
+#if PLATFORM(WINCE)
+ // WinCE only supports wide chars
+ wchar_t* wideBuffer = (wchar_t*)malloc(size * sizeof(wchar_t));
+ if (wideBuffer == NULL)
+ break;
+ for (unsigned int i = 0; i < size; ++i) {
+ if (!(wideBuffer[i] = buffer[i]))
+ break;
+ }
+ OutputDebugStringW(wideBuffer);
+ free(wideBuffer);
+#else
OutputDebugStringA(buffer);
+#endif
free(buffer);
break;
}
@@ -101,7 +119,7 @@ static void printf_stderr_common(const char* format, ...)
static void printCallSite(const char* file, int line, const char* function)
{
-#if PLATFORM(WIN) && defined _DEBUG
+#if PLATFORM(WIN) && !PLATFORM(WINCE) && defined _DEBUG
_CrtDbgReport(_CRT_WARN, file, line, NULL, "%s\n", function);
#else
printf_stderr_common("(%s:%d %s)\n", file, line, function);
diff --git a/src/3rdparty/webkit/JavaScriptCore/wtf/Assertions.h b/src/3rdparty/webkit/JavaScriptCore/wtf/Assertions.h
index ad66d06..59efd84 100644
--- a/src/3rdparty/webkit/JavaScriptCore/wtf/Assertions.h
+++ b/src/3rdparty/webkit/JavaScriptCore/wtf/Assertions.h
@@ -136,8 +136,8 @@ void WTFLogVerbose(const char* file, int line, const char* function, WTFLogChann
#undef ERROR
#endif
-#if PLATFORM(WIN_OS)
-/* FIXME: Change to use something other than ASSERT to avoid this conflict with win32. */
+#if PLATFORM(WIN_OS) || PLATFORM(SYMBIAN)
+/* FIXME: Change to use something other than ASSERT to avoid this conflict with the underlying platform */
#undef ASSERT
#endif
diff --git a/src/3rdparty/webkit/JavaScriptCore/wtf/ByteArray.h b/src/3rdparty/webkit/JavaScriptCore/wtf/ByteArray.h
index 33f0877..96e9cc2 100644
--- a/src/3rdparty/webkit/JavaScriptCore/wtf/ByteArray.h
+++ b/src/3rdparty/webkit/JavaScriptCore/wtf/ByteArray.h
@@ -26,8 +26,8 @@
#ifndef ByteArray_h
#define ByteArray_h
-#include "wtf/PassRefPtr.h"
-#include "wtf/RefCounted.h"
+#include <wtf/PassRefPtr.h>
+#include <wtf/RefCounted.h>
namespace WTF {
class ByteArray : public RefCountedBase {
diff --git a/src/3rdparty/webkit/JavaScriptCore/wtf/CrossThreadRefCounted.h b/src/3rdparty/webkit/JavaScriptCore/wtf/CrossThreadRefCounted.h
index 281dfa6..6a05211 100644
--- a/src/3rdparty/webkit/JavaScriptCore/wtf/CrossThreadRefCounted.h
+++ b/src/3rdparty/webkit/JavaScriptCore/wtf/CrossThreadRefCounted.h
@@ -51,7 +51,7 @@ namespace WTF {
// with respect to the original and any other copies. The underlying m_data is jointly
// owned by the original instance and all copies.
template<class T>
- class CrossThreadRefCounted : Noncopyable {
+ class CrossThreadRefCounted : public Noncopyable {
public:
static PassRefPtr<CrossThreadRefCounted<T> > create(T* data)
{
diff --git a/src/3rdparty/webkit/JavaScriptCore/wtf/DateMath.cpp b/src/3rdparty/webkit/JavaScriptCore/wtf/DateMath.cpp
index 47c9d44..0b76649 100644
--- a/src/3rdparty/webkit/JavaScriptCore/wtf/DateMath.cpp
+++ b/src/3rdparty/webkit/JavaScriptCore/wtf/DateMath.cpp
@@ -2,6 +2,7 @@
* Copyright (C) 1999-2000 Harri Porten (porten@kde.org)
* Copyright (C) 2006, 2007 Apple Inc. All rights reserved.
* Copyright (C) 2009 Google Inc. All rights reserved.
+ * Copyright (C) 2007-2009 Torch Mobile, Inc.
*
* The Original Code is Mozilla Communicator client code, released
* March 31, 1998.
@@ -375,14 +376,19 @@ static int32_t calculateUTCOffset()
localt.tm_wday = 0;
localt.tm_yday = 0;
localt.tm_isdst = 0;
-#if PLATFORM(WIN_OS) || PLATFORM(SOLARIS) || COMPILER(RVCT)
+#if HAVE(TM_GMTOFF)
+ localt.tm_gmtoff = 0;
+#endif
+#if HAVE(TM_ZONE)
+ localt.tm_zone = 0;
+#endif
+
+#if HAVE(TIMEGM)
+ time_t utcOffset = timegm(&localt) - mktime(&localt);
+#else
// Using a canned date of 01/01/2009 on platforms with weaker date-handling foo.
localt.tm_year = 109;
time_t utcOffset = 1230768000 - mktime(&localt);
-#else
- localt.tm_zone = 0;
- localt.tm_gmtoff = 0;
- time_t utcOffset = timegm(&localt) - mktime(&localt);
#endif
return static_cast<int32_t>(utcOffset * 1000);
@@ -512,7 +518,7 @@ void msToGregorianDateTime(double ms, bool outputIsUTC, GregorianDateTime& tm)
tm.year = year - 1900;
tm.isDST = dstOff != 0.0;
- tm.utcOffset = static_cast<long>((dstOff + utcOff) / msPerSecond);
+ tm.utcOffset = outputIsUTC ? 0 : static_cast<long>((dstOff + utcOff) / msPerSecond);
tm.timeZone = NULL;
}
@@ -835,7 +841,7 @@ double parseDateFromNullTerminatedCharacters(const char* dateString)
return NaN;
int sgn = (o < 0) ? -1 : 1;
- o = abs(o);
+ o = labs(o);
if (*dateString != ':') {
offset = ((o / 100) * 60 + (o % 100)) * sgn;
} else { // GMT+05:00
diff --git a/src/3rdparty/webkit/JavaScriptCore/wtf/DateMath.h b/src/3rdparty/webkit/JavaScriptCore/wtf/DateMath.h
index 8690a49..6110f76 100644
--- a/src/3rdparty/webkit/JavaScriptCore/wtf/DateMath.h
+++ b/src/3rdparty/webkit/JavaScriptCore/wtf/DateMath.h
@@ -109,14 +109,17 @@ struct GregorianDateTime : Noncopyable {
, year(inTm.tm_year)
, isDST(inTm.tm_isdst)
{
-#if !PLATFORM(WIN_OS) && !PLATFORM(SOLARIS) && !COMPILER(RVCT)
+#if HAVE(TM_GMTOFF)
utcOffset = static_cast<int>(inTm.tm_gmtoff);
+#else
+ utcOffset = static_cast<int>(getUTCOffset() / msPerSecond + (isDST ? secondsPerHour : 0));
+#endif
+#if HAVE(TM_ZONE)
int inZoneSize = strlen(inTm.tm_zone) + 1;
timeZone = new char[inZoneSize];
strncpy(timeZone, inTm.tm_zone, inZoneSize);
#else
- utcOffset = static_cast<int>(getUTCOffset() / msPerSecond + (isDST ? secondsPerHour : 0));
timeZone = 0;
#endif
}
@@ -136,8 +139,10 @@ struct GregorianDateTime : Noncopyable {
ret.tm_year = year;
ret.tm_isdst = isDST;
-#if !PLATFORM(WIN_OS) && !PLATFORM(SOLARIS) && !COMPILER(RVCT)
+#if HAVE(TM_GMTOFF)
ret.tm_gmtoff = static_cast<long>(utcOffset);
+#endif
+#if HAVE(TM_ZONE)
ret.tm_zone = timeZone;
#endif
diff --git a/src/3rdparty/webkit/JavaScriptCore/wtf/FastAllocBase.h b/src/3rdparty/webkit/JavaScriptCore/wtf/FastAllocBase.h
index 1c81856..9fcbbc1 100644
--- a/src/3rdparty/webkit/JavaScriptCore/wtf/FastAllocBase.h
+++ b/src/3rdparty/webkit/JavaScriptCore/wtf/FastAllocBase.h
@@ -79,9 +79,9 @@
#include <stdint.h>
#include <stdlib.h>
#include <string.h>
+#include "Assertions.h"
#include "FastMalloc.h"
#include "TypeTraits.h"
-#include <wtf/Assertions.h>
namespace WTF {
diff --git a/src/3rdparty/webkit/JavaScriptCore/wtf/FastMalloc.cpp b/src/3rdparty/webkit/JavaScriptCore/wtf/FastMalloc.cpp
index c65ba85..c855a41 100644
--- a/src/3rdparty/webkit/JavaScriptCore/wtf/FastMalloc.cpp
+++ b/src/3rdparty/webkit/JavaScriptCore/wtf/FastMalloc.cpp
@@ -95,8 +95,6 @@
#define FORCE_SYSTEM_MALLOC 1
#endif
-#define TCMALLOC_TRACK_DECOMMITED_SPANS (HAVE(VIRTUALALLOC) || HAVE(MADV_FREE_REUSE))
-
#ifndef NDEBUG
namespace WTF {
@@ -1043,11 +1041,7 @@ struct Span {
#endif
};
-#if TCMALLOC_TRACK_DECOMMITED_SPANS
#define ASSERT_SPAN_COMMITTED(span) ASSERT(!span->decommitted)
-#else
-#define ASSERT_SPAN_COMMITTED(span)
-#endif
#ifdef SPAN_HISTORY
void Event(Span* span, char op, int v = 0) {
@@ -1369,12 +1363,10 @@ inline Span* TCMalloc_PageHeap::New(Length n) {
Span* result = ll->next;
Carve(result, n, released);
-#if TCMALLOC_TRACK_DECOMMITED_SPANS
if (result->decommitted) {
TCMalloc_SystemCommit(reinterpret_cast<void*>(result->start << kPageShift), static_cast<size_t>(n << kPageShift));
result->decommitted = false;
}
-#endif
ASSERT(Check());
free_pages_ -= n;
return result;
@@ -1431,12 +1423,10 @@ Span* TCMalloc_PageHeap::AllocLarge(Length n) {
if (best != NULL) {
Carve(best, n, from_released);
-#if TCMALLOC_TRACK_DECOMMITED_SPANS
if (best->decommitted) {
TCMalloc_SystemCommit(reinterpret_cast<void*>(best->start << kPageShift), static_cast<size_t>(n << kPageShift));
best->decommitted = false;
}
-#endif
ASSERT(Check());
free_pages_ -= n;
return best;
@@ -1461,14 +1451,10 @@ Span* TCMalloc_PageHeap::Split(Span* span, Length n) {
return leftover;
}
-#if !TCMALLOC_TRACK_DECOMMITED_SPANS
-static ALWAYS_INLINE void propagateDecommittedState(Span*, Span*) { }
-#else
static ALWAYS_INLINE void propagateDecommittedState(Span* destination, Span* source)
{
destination->decommitted = source->decommitted;
}
-#endif
inline void TCMalloc_PageHeap::Carve(Span* span, Length n, bool released) {
ASSERT(n > 0);
@@ -1495,9 +1481,6 @@ inline void TCMalloc_PageHeap::Carve(Span* span, Length n, bool released) {
}
}
-#if !TCMALLOC_TRACK_DECOMMITED_SPANS
-static ALWAYS_INLINE void mergeDecommittedStates(Span*, Span*) { }
-#else
static ALWAYS_INLINE void mergeDecommittedStates(Span* destination, Span* other)
{
if (destination->decommitted && !other->decommitted) {
@@ -1509,7 +1492,6 @@ static ALWAYS_INLINE void mergeDecommittedStates(Span* destination, Span* other)
destination->decommitted = true;
}
}
-#endif
inline void TCMalloc_PageHeap::Delete(Span* span) {
ASSERT(Check());
@@ -1526,10 +1508,6 @@ inline void TCMalloc_PageHeap::Delete(Span* span) {
// necessary. We do not bother resetting the stale pagemap
// entries for the pieces we are merging together because we only
// care about the pagemap entries for the boundaries.
- //
- // Note that the spans we merge into "span" may come out of
- // a "returned" list. For simplicity, we move these into the
- // "normal" list of the appropriate size class.
const PageID p = span->start;
const Length n = span->length;
Span* prev = GetDescriptor(p-1);
@@ -1560,10 +1538,16 @@ inline void TCMalloc_PageHeap::Delete(Span* span) {
Event(span, 'D', span->length);
span->free = 1;
- if (span->length < kMaxPages) {
- DLL_Prepend(&free_[span->length].normal, span);
+ if (span->decommitted) {
+ if (span->length < kMaxPages)
+ DLL_Prepend(&free_[span->length].returned, span);
+ else
+ DLL_Prepend(&large_.returned, span);
} else {
- DLL_Prepend(&large_.normal, span);
+ if (span->length < kMaxPages)
+ DLL_Prepend(&free_[span->length].normal, span);
+ else
+ DLL_Prepend(&large_.normal, span);
}
free_pages_ += n;
@@ -1591,9 +1575,7 @@ void TCMalloc_PageHeap::IncrementalScavenge(Length n) {
DLL_Remove(s);
TCMalloc_SystemRelease(reinterpret_cast<void*>(s->start << kPageShift),
static_cast<size_t>(s->length << kPageShift));
-#if TCMALLOC_TRACK_DECOMMITED_SPANS
s->decommitted = true;
-#endif
DLL_Prepend(&slist->returned, s);
scavenge_counter_ = std::max<size_t>(64UL, std::min<size_t>(kDefaultReleaseDelay, kDefaultReleaseDelay - (free_pages_ / kDefaultReleaseDelay)));
diff --git a/src/3rdparty/webkit/JavaScriptCore/wtf/FastMalloc.h b/src/3rdparty/webkit/JavaScriptCore/wtf/FastMalloc.h
index 9e13cf9..61ebe32 100644
--- a/src/3rdparty/webkit/JavaScriptCore/wtf/FastMalloc.h
+++ b/src/3rdparty/webkit/JavaScriptCore/wtf/FastMalloc.h
@@ -179,6 +179,13 @@ WTF_PRIVATE_INLINE void* operator new(size_t s) { return fastMalloc(s); }
WTF_PRIVATE_INLINE void operator delete(void* p) { fastFree(p); }
WTF_PRIVATE_INLINE void* operator new[](size_t s) { return fastMalloc(s); }
WTF_PRIVATE_INLINE void operator delete[](void* p) { fastFree(p); }
+
+#if PLATFORM(WINCE)
+WTF_PRIVATE_INLINE void* operator new(size_t s, const std::nothrow_t&) throw() { return fastMalloc(s); }
+WTF_PRIVATE_INLINE void operator delete(void* p, const std::nothrow_t&) throw() { fastFree(p); }
+WTF_PRIVATE_INLINE void* operator new[](size_t s, const std::nothrow_t&) throw() { return fastMalloc(s); }
+WTF_PRIVATE_INLINE void operator delete[](void* p, const std::nothrow_t&) throw() { fastFree(p); }
+#endif
#endif
#endif // _CRTDBG_MAP_ALLOC
diff --git a/src/3rdparty/webkit/JavaScriptCore/wtf/GOwnPtr.h b/src/3rdparty/webkit/JavaScriptCore/wtf/GOwnPtr.h
index 8d03ff2..4993348 100644
--- a/src/3rdparty/webkit/JavaScriptCore/wtf/GOwnPtr.h
+++ b/src/3rdparty/webkit/JavaScriptCore/wtf/GOwnPtr.h
@@ -37,7 +37,7 @@ namespace WTF {
template<> void freeOwnedGPtr<GDir>(GDir*);
template<> void freeOwnedGPtr<GHashTable>(GHashTable*);
- template <typename T> class GOwnPtr : Noncopyable {
+ template <typename T> class GOwnPtr : public Noncopyable {
public:
explicit GOwnPtr(T* ptr = 0) : m_ptr(ptr) { }
~GOwnPtr() { freeOwnedGPtr(m_ptr); }
diff --git a/src/3rdparty/webkit/JavaScriptCore/wtf/HashSet.h b/src/3rdparty/webkit/JavaScriptCore/wtf/HashSet.h
index d664c67..990670d 100644
--- a/src/3rdparty/webkit/JavaScriptCore/wtf/HashSet.h
+++ b/src/3rdparty/webkit/JavaScriptCore/wtf/HashSet.h
@@ -176,28 +176,28 @@ namespace WTF {
}
template<typename Value, typename HashFunctions, typename Traits>
- template<typename T, typename Translator>
+ template<typename T, typename HashTranslator>
typename HashSet<Value, HashFunctions, Traits>::iterator
inline HashSet<Value, HashFunctions, Traits>::find(const T& value)
{
- typedef HashSetTranslatorAdapter<ValueType, ValueTraits, T, Translator> Adapter;
+ typedef HashSetTranslatorAdapter<ValueType, ValueTraits, T, HashTranslator> Adapter;
return m_impl.template find<T, Adapter>(value);
}
template<typename Value, typename HashFunctions, typename Traits>
- template<typename T, typename Translator>
+ template<typename T, typename HashTranslator>
typename HashSet<Value, HashFunctions, Traits>::const_iterator
inline HashSet<Value, HashFunctions, Traits>::find(const T& value) const
{
- typedef HashSetTranslatorAdapter<ValueType, ValueTraits, T, Translator> Adapter;
+ typedef HashSetTranslatorAdapter<ValueType, ValueTraits, T, HashTranslator> Adapter;
return m_impl.template find<T, Adapter>(value);
}
template<typename Value, typename HashFunctions, typename Traits>
- template<typename T, typename Translator>
+ template<typename T, typename HashTranslator>
inline bool HashSet<Value, HashFunctions, Traits>::contains(const T& value) const
{
- typedef HashSetTranslatorAdapter<ValueType, ValueTraits, T, Translator> Adapter;
+ typedef HashSetTranslatorAdapter<ValueType, ValueTraits, T, HashTranslator> Adapter;
return m_impl.template contains<T, Adapter>(value);
}
@@ -208,11 +208,11 @@ namespace WTF {
}
template<typename Value, typename HashFunctions, typename Traits>
- template<typename T, typename Translator>
+ template<typename T, typename HashTranslator>
pair<typename HashSet<Value, HashFunctions, Traits>::iterator, bool>
HashSet<Value, HashFunctions, Traits>::add(const T& value)
{
- typedef HashSetTranslatorAdapter<ValueType, ValueTraits, T, Translator> Adapter;
+ typedef HashSetTranslatorAdapter<ValueType, ValueTraits, T, HashTranslator> Adapter;
return m_impl.template addPassingHashCode<T, T, Adapter>(value, value);
}
diff --git a/src/3rdparty/webkit/JavaScriptCore/wtf/Locker.h b/src/3rdparty/webkit/JavaScriptCore/wtf/Locker.h
index 9feec1f..41813d3 100644
--- a/src/3rdparty/webkit/JavaScriptCore/wtf/Locker.h
+++ b/src/3rdparty/webkit/JavaScriptCore/wtf/Locker.h
@@ -32,7 +32,7 @@
namespace WTF {
-template <typename T> class Locker : Noncopyable {
+template <typename T> class Locker : public Noncopyable {
public:
Locker(T& lockable) : m_lockable(lockable) { m_lockable.lock(); }
~Locker() { m_lockable.unlock(); }
diff --git a/src/3rdparty/webkit/JavaScriptCore/wtf/MessageQueue.h b/src/3rdparty/webkit/JavaScriptCore/wtf/MessageQueue.h
index 7721dba..12291cc 100644
--- a/src/3rdparty/webkit/JavaScriptCore/wtf/MessageQueue.h
+++ b/src/3rdparty/webkit/JavaScriptCore/wtf/MessageQueue.h
@@ -45,7 +45,7 @@ namespace WTF {
};
template<typename DataType>
- class MessageQueue : Noncopyable {
+ class MessageQueue : public Noncopyable {
public:
MessageQueue() : m_killed(false) { }
diff --git a/src/3rdparty/webkit/JavaScriptCore/wtf/Noncopyable.h b/src/3rdparty/webkit/JavaScriptCore/wtf/Noncopyable.h
index f241c7c..c50c9d8 100644
--- a/src/3rdparty/webkit/JavaScriptCore/wtf/Noncopyable.h
+++ b/src/3rdparty/webkit/JavaScriptCore/wtf/Noncopyable.h
@@ -24,6 +24,8 @@
// We don't want argument-dependent lookup to pull in everything from the WTF
// namespace when you use Noncopyable, so put it in its own namespace.
+#include "FastAllocBase.h"
+
namespace WTFNoncopyable {
class Noncopyable {
@@ -34,8 +36,17 @@ namespace WTFNoncopyable {
~Noncopyable() { }
};
+ class NoncopyableCustomAllocated {
+ NoncopyableCustomAllocated(const NoncopyableCustomAllocated&);
+ NoncopyableCustomAllocated& operator=(const NoncopyableCustomAllocated&);
+ protected:
+ NoncopyableCustomAllocated() { }
+ ~NoncopyableCustomAllocated() { }
+ };
+
} // namespace WTFNoncopyable
using WTFNoncopyable::Noncopyable;
+using WTFNoncopyable::NoncopyableCustomAllocated;
#endif // WTF_Noncopyable_h
diff --git a/src/3rdparty/webkit/JavaScriptCore/wtf/OwnArrayPtr.h b/src/3rdparty/webkit/JavaScriptCore/wtf/OwnArrayPtr.h
index 344f813..61375c7 100644
--- a/src/3rdparty/webkit/JavaScriptCore/wtf/OwnArrayPtr.h
+++ b/src/3rdparty/webkit/JavaScriptCore/wtf/OwnArrayPtr.h
@@ -27,7 +27,7 @@
namespace WTF {
- template <typename T> class OwnArrayPtr : Noncopyable {
+ template <typename T> class OwnArrayPtr : public Noncopyable {
public:
explicit OwnArrayPtr(T* ptr = 0) : m_ptr(ptr) { }
~OwnArrayPtr() { safeDelete(); }
@@ -46,8 +46,12 @@ namespace WTF {
bool operator!() const { return !m_ptr; }
// This conversion operator allows implicit conversion to bool but not to other integer types.
+#if COMPILER(WINSCW)
+ operator bool() const { return m_ptr; }
+#else
typedef T* OwnArrayPtr::*UnspecifiedBoolType;
operator UnspecifiedBoolType() const { return m_ptr ? &OwnArrayPtr::m_ptr : 0; }
+#endif
void swap(OwnArrayPtr& o) { std::swap(m_ptr, o.m_ptr); }
diff --git a/src/3rdparty/webkit/JavaScriptCore/wtf/OwnFastMallocPtr.h b/src/3rdparty/webkit/JavaScriptCore/wtf/OwnFastMallocPtr.h
index 5c0d064..c88235a 100644
--- a/src/3rdparty/webkit/JavaScriptCore/wtf/OwnFastMallocPtr.h
+++ b/src/3rdparty/webkit/JavaScriptCore/wtf/OwnFastMallocPtr.h
@@ -27,7 +27,7 @@
namespace WTF {
- template<class T> class OwnFastMallocPtr : Noncopyable {
+ template<class T> class OwnFastMallocPtr : public Noncopyable {
public:
explicit OwnFastMallocPtr(T* ptr) : m_ptr(ptr)
{
diff --git a/src/3rdparty/webkit/JavaScriptCore/wtf/OwnPtr.h b/src/3rdparty/webkit/JavaScriptCore/wtf/OwnPtr.h
index 9e4bd32..b7e62b1 100644
--- a/src/3rdparty/webkit/JavaScriptCore/wtf/OwnPtr.h
+++ b/src/3rdparty/webkit/JavaScriptCore/wtf/OwnPtr.h
@@ -34,7 +34,7 @@ namespace WTF {
template <typename T> class PassOwnPtr;
- template <typename T> class OwnPtr : Noncopyable {
+ template <typename T> class OwnPtr : public Noncopyable {
public:
typedef typename RemovePointer<T>::Type ValueType;
typedef ValueType* PtrType;
diff --git a/src/3rdparty/webkit/JavaScriptCore/wtf/OwnPtrCommon.h b/src/3rdparty/webkit/JavaScriptCore/wtf/OwnPtrCommon.h
index 6cd8bdd..6d91a54 100644
--- a/src/3rdparty/webkit/JavaScriptCore/wtf/OwnPtrCommon.h
+++ b/src/3rdparty/webkit/JavaScriptCore/wtf/OwnPtrCommon.h
@@ -1,5 +1,6 @@
/*
* Copyright (C) 2009 Apple Inc. All rights reserved.
+ * Copyright (C) 2009 Torch Mobile, Inc.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -29,6 +30,7 @@
#if PLATFORM(WIN)
typedef struct HBITMAP__* HBITMAP;
typedef struct HBRUSH__* HBRUSH;
+typedef struct HDC__* HDC;
typedef struct HFONT__* HFONT;
typedef struct HPALETTE__* HPALETTE;
typedef struct HPEN__* HPEN;
@@ -47,6 +49,7 @@ namespace WTF {
#if PLATFORM(WIN)
void deleteOwnedPtr(HBITMAP);
void deleteOwnedPtr(HBRUSH);
+ void deleteOwnedPtr(HDC);
void deleteOwnedPtr(HFONT);
void deleteOwnedPtr(HPALETTE);
void deleteOwnedPtr(HPEN);
diff --git a/src/3rdparty/webkit/JavaScriptCore/wtf/OwnPtrWin.cpp b/src/3rdparty/webkit/JavaScriptCore/wtf/OwnPtrWin.cpp
index b08d7dc..67a32ff 100644
--- a/src/3rdparty/webkit/JavaScriptCore/wtf/OwnPtrWin.cpp
+++ b/src/3rdparty/webkit/JavaScriptCore/wtf/OwnPtrWin.cpp
@@ -1,5 +1,6 @@
/*
* Copyright (C) 2007 Apple Inc. All rights reserved.
+ * Copyright (C) 2008, 2009 Torch Mobile, Inc.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -42,6 +43,12 @@ void deleteOwnedPtr(HBRUSH ptr)
DeleteObject(ptr);
}
+void deleteOwnedPtr(HDC ptr)
+{
+ if (ptr)
+ DeleteDC(ptr);
+}
+
void deleteOwnedPtr(HFONT ptr)
{
if (ptr)
diff --git a/src/3rdparty/webkit/JavaScriptCore/wtf/Platform.h b/src/3rdparty/webkit/JavaScriptCore/wtf/Platform.h
index c82d1f7..c7a5be9 100644
--- a/src/3rdparty/webkit/JavaScriptCore/wtf/Platform.h
+++ b/src/3rdparty/webkit/JavaScriptCore/wtf/Platform.h
@@ -1,5 +1,6 @@
/*
* Copyright (C) 2006, 2007, 2008, 2009 Apple Inc. All rights reserved.
+ * Copyright (C) 2007-2009 Torch Mobile, Inc.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -27,11 +28,11 @@
#define WTF_Platform_h
/* PLATFORM handles OS, operating environment, graphics API, and CPU */
-#define PLATFORM(WTF_FEATURE) (defined( WTF_PLATFORM_##WTF_FEATURE ) && WTF_PLATFORM_##WTF_FEATURE)
-#define COMPILER(WTF_FEATURE) (defined( WTF_COMPILER_##WTF_FEATURE ) && WTF_COMPILER_##WTF_FEATURE)
-#define HAVE(WTF_FEATURE) (defined( HAVE_##WTF_FEATURE ) && HAVE_##WTF_FEATURE)
-#define USE(WTF_FEATURE) (defined( WTF_USE_##WTF_FEATURE ) && WTF_USE_##WTF_FEATURE)
-#define ENABLE(WTF_FEATURE) (defined( ENABLE_##WTF_FEATURE ) && ENABLE_##WTF_FEATURE)
+#define PLATFORM(WTF_FEATURE) (defined WTF_PLATFORM_##WTF_FEATURE && WTF_PLATFORM_##WTF_FEATURE)
+#define COMPILER(WTF_FEATURE) (defined WTF_COMPILER_##WTF_FEATURE && WTF_COMPILER_##WTF_FEATURE)
+#define HAVE(WTF_FEATURE) (defined HAVE_##WTF_FEATURE && HAVE_##WTF_FEATURE)
+#define USE(WTF_FEATURE) (defined WTF_USE_##WTF_FEATURE && WTF_USE_##WTF_FEATURE)
+#define ENABLE(WTF_FEATURE) (defined ENABLE_##WTF_FEATURE && ENABLE_##WTF_FEATURE)
/* Operating systems - low-level dependencies */
@@ -93,12 +94,10 @@
#define WTF_PLATFORM_SOLARIS 1
#endif
-#if defined (__S60__) || defined (__SYMBIAN32__)
+#if defined (__SYMBIAN32__)
/* we are cross-compiling, it is not really windows */
#undef WTF_PLATFORM_WIN_OS
#undef WTF_PLATFORM_WIN
-#undef WTF_PLATFORM_CAIRO
-#define WTF_PLATFORM_S60 1
#define WTF_PLATFORM_SYMBIAN 1
#endif
@@ -110,17 +109,25 @@
#define WTF_PLATFORM_NETBSD 1
#endif
+/* PLATFORM(QNX) */
+/* Operating system level dependencies for QNX that should be used */
+/* regardless of operating environment */
+#if defined(__QNXNTO__)
+#define WTF_PLATFORM_QNX 1
+#endif
+
/* PLATFORM(UNIX) */
/* Operating system level dependencies for Unix-like systems that */
/* should be used regardless of operating environment */
#if PLATFORM(DARWIN) \
|| PLATFORM(FREEBSD) \
- || PLATFORM(S60) \
+ || PLATFORM(SYMBIAN) \
|| PLATFORM(NETBSD) \
|| defined(unix) \
|| defined(__unix) \
|| defined(__unix__) \
- || defined(_AIX)
+ || defined(_AIX) \
+ || defined(__QNXNTO__)
#define WTF_PLATFORM_UNIX 1
#endif
@@ -191,7 +198,7 @@
/* Makes PLATFORM(WIN) default to PLATFORM(CAIRO) */
/* FIXME: This should be changed from a blacklist to a whitelist */
-#if !PLATFORM(MAC) && !PLATFORM(QT) && !PLATFORM(WX) && !PLATFORM(CHROMIUM)
+#if !PLATFORM(MAC) && !PLATFORM(QT) && !PLATFORM(WX) && !PLATFORM(CHROMIUM) && !PLATFORM(WINCE)
#define WTF_PLATFORM_CAIRO 1
#endif
@@ -311,6 +318,7 @@
/* --gnu option of the RVCT compiler also defines __GNUC__ */
#if defined(__GNUC__) && !COMPILER(RVCT)
#define WTF_COMPILER_GCC 1
+#define GCC_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__)
#endif
/* COMPILER(MINGW) */
@@ -339,11 +347,36 @@
#define ENABLE_JSC_MULTIPLE_THREADS 1
#endif
+#if PLATFORM(WINCE) && !PLATFORM(QT)
+#undef ENABLE_JSC_MULTIPLE_THREADS
+#define ENABLE_JSC_MULTIPLE_THREADS 0
+#define USE_SYSTEM_MALLOC 0
+#define ENABLE_ICONDATABASE 0
+#define ENABLE_JAVASCRIPT_DEBUGGER 0
+#define ENABLE_FTPDIR 0
+#define ENABLE_PAN_SCROLLING 0
+#define ENABLE_WML 1
+#define HAVE_ACCESSIBILITY 0
+
+#define NOMINMAX // Windows min and max conflict with standard macros
+#define NOSHLWAPI // shlwapi.h not available on WinCe
+
+// MSDN documentation says these functions are provided with uspce.lib. But we cannot find this file.
+#define __usp10__ // disable "usp10.h"
+
+#define _INC_ASSERT // disable "assert.h"
+#define assert(x)
+
+// _countof is only included in CE6; for CE5 we need to define it ourself
+#ifndef _countof
+#define _countof(x) (sizeof(x) / sizeof((x)[0]))
+#endif
+
+#endif /* PLATFORM(WINCE) && !PLATFORM(QT) */
+
/* for Unicode, KDE uses Qt */
#if PLATFORM(KDE) || PLATFORM(QT)
#define WTF_USE_QT4_UNICODE 1
-#elif PLATFORM(SYMBIAN)
-#define WTF_USE_SYMBIAN_UNICODE 1
#elif PLATFORM(GTK)
/* The GTK+ Unicode backend is configurable */
#else
@@ -402,6 +435,17 @@
#endif
#endif /* !defined(HAVE_ACCESSIBILITY) */
+#if PLATFORM(UNIX) && !PLATFORM(SYMBIAN)
+#define HAVE_SIGNAL_H 1
+#endif
+
+#if !PLATFORM(WIN_OS) && !PLATFORM(SOLARIS) && !PLATFORM(QNX) \
+ && !PLATFORM(SYMBIAN) && !COMPILER(RVCT)
+#define HAVE_TM_GMTOFF 1
+#define HAVE_TM_ZONE 1
+#define HAVE_TIMEGM 1
+#endif
+
#if PLATFORM(DARWIN)
#define HAVE_ERRNO_H 1
@@ -446,6 +490,15 @@
#define HAVE_SYS_PARAM_H 1
#endif
+#elif PLATFORM(QNX)
+
+#define HAVE_ERRNO_H 1
+#define HAVE_MMAP 1
+#define HAVE_SBRK 1
+#define HAVE_STRINGS_H 1
+#define HAVE_SYS_PARAM_H 1
+#define HAVE_SYS_TIME_H 1
+
#else
/* FIXME: is this actually used or do other platforms generate their own config.h? */
@@ -532,6 +585,7 @@
#endif
#if !defined(ENABLE_JIT)
+
/* The JIT is tested & working on x86_64 Mac */
#if PLATFORM(X86_64) && PLATFORM(MAC)
#define ENABLE_JIT 1
@@ -547,8 +601,23 @@
#elif PLATFORM(X86) && PLATFORM(WIN)
#define ENABLE_JIT 1
#endif
+
+#if PLATFORM(X86) && PLATFORM(QT)
+#if PLATFORM(WIN_OS) && COMPILER(MINGW) && GCC_VERSION >= 40100
+ #define ENABLE_JIT 1
+ #define WTF_USE_JIT_STUB_ARGUMENT_VA_LIST 1
+#elif PLATFORM(WIN_OS) && COMPILER(MSVC)
+ #define ENABLE_JIT 1
+ #define WTF_USE_JIT_STUB_ARGUMENT_REGISTER 1
+#elif PLATFORM(LINUX) && GCC_VERSION >= 40100
+ #define ENABLE_JIT 1
+ #define WTF_USE_JIT_STUB_ARGUMENT_VA_LIST 1
#endif
+#endif /* PLATFORM(QT) && PLATFORM(X86) */
+
+#endif /* !defined(ENABLE_JIT) */
+#if ENABLE(JIT)
#ifndef ENABLE_JIT_OPTIMIZE_CALL
#define ENABLE_JIT_OPTIMIZE_CALL 1
#endif
@@ -564,6 +633,7 @@
#ifndef ENABLE_JIT_OPTIMIZE_METHOD_CALLS
#define ENABLE_JIT_OPTIMIZE_METHOD_CALLS 1
#endif
+#endif
#if PLATFORM(X86) && COMPILER(MSVC)
#define JSC_HOST_CALL __fastcall
@@ -584,15 +654,29 @@
#endif
/* Yet Another Regex Runtime. */
+#if !defined(ENABLE_YARR_JIT)
+
/* YARR supports x86 & x86-64, and has been tested on Mac and Windows. */
-#if (!defined(ENABLE_YARR_JIT) && PLATFORM(X86) && PLATFORM(MAC)) \
- || (!defined(ENABLE_YARR_JIT) && PLATFORM(X86_64) && PLATFORM(MAC)) \
+#if (PLATFORM(X86) && PLATFORM(MAC)) \
+ || (PLATFORM(X86_64) && PLATFORM(MAC)) \
/* Under development, temporarily disabled until 16Mb link range limit in assembler is fixed. */ \
- || (!defined(ENABLE_YARR_JIT) && PLATFORM_ARM_ARCH(7) && PLATFORM(IPHONE) && 0) \
- || (!defined(ENABLE_YARR_JIT) && PLATFORM(X86) && PLATFORM(WIN))
+ || (PLATFORM_ARM_ARCH(7) && PLATFORM(IPHONE) && 0) \
+ || (PLATFORM(X86) && PLATFORM(WIN))
#define ENABLE_YARR 1
#define ENABLE_YARR_JIT 1
#endif
+
+#if PLATFORM(X86) && PLATFORM(QT)
+#if (PLATFORM(WIN_OS) && COMPILER(MINGW) && GCC_VERSION >= 40100) \
+ || (PLATFORM(WIN_OS) && COMPILER(MSVC)) \
+ || (PLATFORM(LINUX) && GCC_VERSION >= 40100)
+#define ENABLE_YARR 1
+#define ENABLE_YARR_JIT 1
+#endif
+#endif
+
+#endif /* !defined(ENABLE_YARR_JIT) */
+
/* Sanity Check */
#if ENABLE(YARR_JIT) && !ENABLE(YARR)
#error "YARR_JIT requires YARR"
@@ -603,7 +687,7 @@
#endif
/* Setting this flag prevents the assembler from using RWX memory; this may improve
security but currectly comes at a significant performance cost. */
-#if PLATFORM_ARM_ARCH(7) && PLATFORM(IPHONE)
+#if PLATFORM(ARM)
#define ENABLE_ASSEMBLER_WX_EXCLUSIVE 1
#else
#define ENABLE_ASSEMBLER_WX_EXCLUSIVE 0
@@ -630,7 +714,7 @@
/* Accelerated compositing */
#if PLATFORM(MAC)
-#if !defined(BUILDING_ON_TIGER) && !defined(BUILDING_ON_LEOPARD)
+#if !defined(BUILDING_ON_TIGER)
#define WTF_USE_ACCELERATED_COMPOSITING 1
#endif
#endif
diff --git a/src/3rdparty/webkit/JavaScriptCore/wtf/PtrAndFlags.h b/src/3rdparty/webkit/JavaScriptCore/wtf/PtrAndFlags.h
index 477e893..f4527df 100644
--- a/src/3rdparty/webkit/JavaScriptCore/wtf/PtrAndFlags.h
+++ b/src/3rdparty/webkit/JavaScriptCore/wtf/PtrAndFlags.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2009, Google Inc. All rights reserved.
+ * Copyright (C) 2009 Google Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are
@@ -42,9 +42,20 @@ namespace WTF {
void setFlag(FlagEnum flagNumber) { ASSERT(flagNumber < 2); m_ptrAndFlags |= (1 << flagNumber);}
void clearFlag(FlagEnum flagNumber) { ASSERT(flagNumber < 2); m_ptrAndFlags &= ~(1 << flagNumber);}
T* get() const { return reinterpret_cast<T*>(m_ptrAndFlags & ~3); }
- void set(T* ptr) { ASSERT(!(reinterpret_cast<intptr_t>(ptr) & 3)); m_ptrAndFlags = reinterpret_cast<intptr_t>(ptr) | (m_ptrAndFlags & 3);}
+ void set(T* ptr)
+ {
+ ASSERT(!(reinterpret_cast<intptr_t>(ptr) & 3));
+ m_ptrAndFlags = reinterpret_cast<intptr_t>(ptr) | (m_ptrAndFlags & 3);
+#ifndef NDEBUG
+ m_leaksPtr = ptr;
+#endif
+ }
+
private:
intptr_t m_ptrAndFlags;
+#ifndef NDEBUG
+ void* m_leaksPtr; // Only used to allow tools like leaks on OSX to detect that the memory is referenced.
+#endif
};
} // namespace WTF
diff --git a/src/3rdparty/webkit/JavaScriptCore/wtf/RandomNumber.cpp b/src/3rdparty/webkit/JavaScriptCore/wtf/RandomNumber.cpp
index c94d5a4..0e6e208 100644
--- a/src/3rdparty/webkit/JavaScriptCore/wtf/RandomNumber.cpp
+++ b/src/3rdparty/webkit/JavaScriptCore/wtf/RandomNumber.cpp
@@ -1,6 +1,6 @@
/*
* Copyright (C) 2006, 2007, 2008 Apple Inc. All rights reserved.
- * (C) 2008 Torch Mobile Inc. All rights reserved. (http://www.torchmobile.com/)
+ * (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.torchmobile.com/)
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -34,6 +34,12 @@
#include <stdint.h>
#include <stdlib.h>
+#if PLATFORM(WINCE)
+extern "C" {
+#include "wince/mt19937ar.c"
+}
+#endif
+
namespace WTF {
double weakRandomNumber()
@@ -74,6 +80,8 @@ double randomNumber()
// Mask off the low 53bits
fullRandom &= (1LL << 53) - 1;
return static_cast<double>(fullRandom)/static_cast<double>(1LL << 53);
+#elif PLATFORM(WINCE)
+ return genrand_res53();
#else
uint32_t part1 = rand() & (RAND_MAX - 1);
uint32_t part2 = rand() & (RAND_MAX - 1);
diff --git a/src/3rdparty/webkit/JavaScriptCore/wtf/RandomNumberSeed.h b/src/3rdparty/webkit/JavaScriptCore/wtf/RandomNumberSeed.h
index 32291dd..1c2d364 100644
--- a/src/3rdparty/webkit/JavaScriptCore/wtf/RandomNumberSeed.h
+++ b/src/3rdparty/webkit/JavaScriptCore/wtf/RandomNumberSeed.h
@@ -39,6 +39,9 @@
#endif
#if PLATFORM(WINCE)
+extern "C" {
+void init_by_array(unsigned long init_key[],int key_length);
+}
#include <ce_time.h>
#endif
@@ -49,8 +52,19 @@ inline void initializeRandomNumberGenerator()
{
#if PLATFORM(DARWIN)
// On Darwin we use arc4random which initialises itself.
+#elif PLATFORM(WINCE)
+ // initialize rand()
+ srand(static_cast<unsigned>(time(0)));
+
+ // use rand() to initialize the real RNG
+ unsigned long initializationBuffer[4];
+ initializationBuffer[0] = (rand() << 16) | rand();
+ initializationBuffer[1] = (rand() << 16) | rand();
+ initializationBuffer[2] = (rand() << 16) | rand();
+ initializationBuffer[3] = (rand() << 16) | rand();
+ init_by_array(initializationBuffer, 4);
#elif COMPILER(MSVC) && defined(_CRT_RAND_S)
- // On Windows we use rand_s which intialises itself
+ // On Windows we use rand_s which initialises itself
#elif PLATFORM(UNIX)
// srandomdev is not guaranteed to exist on linux so we use this poor seed, this should be improved
timeval time;
diff --git a/src/3rdparty/webkit/JavaScriptCore/wtf/RefCounted.h b/src/3rdparty/webkit/JavaScriptCore/wtf/RefCounted.h
index c174145..761a856 100644
--- a/src/3rdparty/webkit/JavaScriptCore/wtf/RefCounted.h
+++ b/src/3rdparty/webkit/JavaScriptCore/wtf/RefCounted.h
@@ -29,7 +29,7 @@ namespace WTF {
// This base class holds the non-template methods and attributes.
// The RefCounted class inherits from it reducing the template bloat
// generated by the compiler (technique called template hoisting).
-class RefCountedBase : Noncopyable {
+class RefCountedBase {
public:
void ref()
{
@@ -101,7 +101,7 @@ private:
};
-template<class T> class RefCounted : public RefCountedBase {
+template<class T> class RefCounted : public RefCountedBase, public Noncopyable {
public:
void deref()
{
@@ -115,8 +115,23 @@ protected:
}
};
+template<class T> class RefCountedCustomAllocated : public RefCountedBase, public NoncopyableCustomAllocated {
+public:
+ void deref()
+ {
+ if (derefBase())
+ delete static_cast<T*>(this);
+ }
+
+protected:
+ ~RefCountedCustomAllocated()
+ {
+ }
+};
+
} // namespace WTF
using WTF::RefCounted;
+using WTF::RefCountedCustomAllocated;
#endif // RefCounted_h
diff --git a/src/3rdparty/webkit/JavaScriptCore/wtf/ThreadSpecific.h b/src/3rdparty/webkit/JavaScriptCore/wtf/ThreadSpecific.h
index b07a9a2..4d5d2f7 100644
--- a/src/3rdparty/webkit/JavaScriptCore/wtf/ThreadSpecific.h
+++ b/src/3rdparty/webkit/JavaScriptCore/wtf/ThreadSpecific.h
@@ -59,7 +59,7 @@ namespace WTF {
void ThreadSpecificThreadExit();
#endif
-template<typename T> class ThreadSpecific : Noncopyable {
+template<typename T> class ThreadSpecific : public Noncopyable {
public:
ThreadSpecific();
T* operator->();
diff --git a/src/3rdparty/webkit/JavaScriptCore/wtf/Threading.cpp b/src/3rdparty/webkit/JavaScriptCore/wtf/Threading.cpp
index bd25ee7..56bf438 100644
--- a/src/3rdparty/webkit/JavaScriptCore/wtf/Threading.cpp
+++ b/src/3rdparty/webkit/JavaScriptCore/wtf/Threading.cpp
@@ -30,7 +30,7 @@
namespace WTF {
-struct NewThreadContext {
+struct NewThreadContext : FastAllocBase {
NewThreadContext(ThreadFunction entryPoint, void* data, const char* name)
: entryPoint(entryPoint)
, data(data)
diff --git a/src/3rdparty/webkit/JavaScriptCore/wtf/Threading.h b/src/3rdparty/webkit/JavaScriptCore/wtf/Threading.h
index b12f41f..6578151 100644
--- a/src/3rdparty/webkit/JavaScriptCore/wtf/Threading.h
+++ b/src/3rdparty/webkit/JavaScriptCore/wtf/Threading.h
@@ -159,7 +159,7 @@ typedef void* PlatformReadWriteLock;
typedef void* PlatformCondition;
#endif
-class Mutex : Noncopyable {
+class Mutex : public Noncopyable {
public:
Mutex();
~Mutex();
@@ -176,7 +176,7 @@ private:
typedef Locker<Mutex> MutexLocker;
-class ReadWriteLock : Noncopyable {
+class ReadWriteLock : public Noncopyable {
public:
ReadWriteLock();
~ReadWriteLock();
@@ -193,7 +193,7 @@ private:
PlatformReadWriteLock m_readWriteLock;
};
-class ThreadCondition : Noncopyable {
+class ThreadCondition : public Noncopyable {
public:
ThreadCondition();
~ThreadCondition();
@@ -234,7 +234,7 @@ inline int atomicDecrement(int volatile* addend) { return __gnu_cxx::__exchange_
#endif
-class ThreadSafeSharedBase : Noncopyable {
+class ThreadSafeSharedBase : public Noncopyable {
public:
ThreadSafeSharedBase(int initialRefCount = 1)
: m_refCount(initialRefCount)
diff --git a/src/3rdparty/webkit/JavaScriptCore/wtf/ThreadingWin.cpp b/src/3rdparty/webkit/JavaScriptCore/wtf/ThreadingWin.cpp
index ea18656..cccbda1 100644
--- a/src/3rdparty/webkit/JavaScriptCore/wtf/ThreadingWin.cpp
+++ b/src/3rdparty/webkit/JavaScriptCore/wtf/ThreadingWin.cpp
@@ -1,6 +1,7 @@
/*
* Copyright (C) 2007, 2008 Apple Inc. All rights reserved.
* Copyright (C) 2009 Google Inc. All rights reserved.
+ * Copyright (C) 2009 Torch Mobile, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -89,7 +90,14 @@
#if !USE(PTHREADS) && PLATFORM(WIN_OS)
#include "ThreadSpecific.h"
#endif
+#if !PLATFORM(WINCE)
#include <process.h>
+#endif
+#if HAVE(ERRNO_H)
+#include <errno.h>
+#else
+#define NO_ERRNO
+#endif
#include <windows.h>
#include <wtf/CurrentTime.h>
#include <wtf/HashMap.h>
@@ -210,9 +218,21 @@ ThreadIdentifier createThreadInternal(ThreadFunction entryPoint, void* data, con
unsigned threadIdentifier = 0;
ThreadIdentifier threadID = 0;
ThreadFunctionInvocation* invocation = new ThreadFunctionInvocation(entryPoint, data);
+#if PLATFORM(WINCE)
+ // This is safe on WINCE, since CRT is in the core and innately multithreaded.
+ // On desktop Windows, need to use _beginthreadex (not available on WinCE) if using any CRT functions
+ HANDLE threadHandle = CreateThread(0, 0, (LPTHREAD_START_ROUTINE)wtfThreadEntryPoint, invocation, 0, (LPDWORD)&threadIdentifier);
+#else
HANDLE threadHandle = reinterpret_cast<HANDLE>(_beginthreadex(0, 0, wtfThreadEntryPoint, invocation, 0, &threadIdentifier));
+#endif
if (!threadHandle) {
+#if PLATFORM(WINCE)
+ LOG_ERROR("Failed to create thread at entry point %p with data %p: %ld", entryPoint, data, ::GetLastError());
+#elif defined(NO_ERRNO)
+ LOG_ERROR("Failed to create thread at entry point %p with data %p.", entryPoint, data);
+#else
LOG_ERROR("Failed to create thread at entry point %p with data %p: %ld", entryPoint, data, errno);
+#endif
return 0;
}
diff --git a/src/3rdparty/webkit/JavaScriptCore/wtf/Vector.h b/src/3rdparty/webkit/JavaScriptCore/wtf/Vector.h
index c378fd0..7cba4e4 100644
--- a/src/3rdparty/webkit/JavaScriptCore/wtf/Vector.h
+++ b/src/3rdparty/webkit/JavaScriptCore/wtf/Vector.h
@@ -268,7 +268,7 @@ namespace WTF {
};
template<typename T>
- class VectorBufferBase : Noncopyable {
+ class VectorBufferBase : public Noncopyable {
public:
void allocateBuffer(size_t newCapacity)
{
@@ -934,7 +934,7 @@ namespace WTF {
inline void Vector<T, inlineCapacity>::remove(size_t position, size_t length)
{
ASSERT(position < size());
- ASSERT(position + length < size());
+ ASSERT(position + length <= size());
T* beginSpot = begin() + position;
T* endSpot = beginSpot + length;
TypeOperations::destruct(beginSpot, endSpot);
diff --git a/src/3rdparty/webkit/JavaScriptCore/wtf/dtoa.cpp b/src/3rdparty/webkit/JavaScriptCore/wtf/dtoa.cpp
index 9509388..d75c17a 100644
--- a/src/3rdparty/webkit/JavaScriptCore/wtf/dtoa.cpp
+++ b/src/3rdparty/webkit/JavaScriptCore/wtf/dtoa.cpp
@@ -148,6 +148,7 @@
#include <wtf/AlwaysInline.h>
#include <wtf/Assertions.h>
#include <wtf/FastMalloc.h>
+#include <wtf/Vector.h>
#include <wtf/Threading.h>
#include <stdio.h>
@@ -255,6 +256,8 @@ typedef union { double d; uint32_t L[2]; } U;
#define Big0 (Frac_mask1 | Exp_msk1 * (DBL_MAX_EXP + Bias - 1))
#define Big1 0xffffffff
+
+// FIXME: we should remove non-Pack_32 mode since it is unused and unmaintained
#ifndef Pack_32
#define Pack_32
#endif
@@ -278,25 +281,41 @@ typedef union { double d; uint32_t L[2]; } U;
#define Kmax 15
struct BigInt {
- BigInt() : sign(0), wds(0) { }
- BigInt(const BigInt& other) : sign(other.sign), wds(other.wds)
+ BigInt() : sign(0) { }
+ int sign;
+
+ void clear()
+ {
+ sign = 0;
+ m_words.clear();
+ }
+
+ size_t size() const
+ {
+ return m_words.size();
+ }
+
+ void resize(size_t s)
{
- for (int i = 0; i < 64; ++i)
- x[i] = other.x[i];
+ m_words.resize(s);
+ }
+
+ uint32_t* words()
+ {
+ return m_words.data();
}
- BigInt& operator=(const BigInt& other)
+ const uint32_t* words() const
{
- sign = other.sign;
- wds = other.wds;
- for (int i = 0; i < 64; ++i)
- x[i] = other.x[i];
- return *this;
+ return m_words.data();
}
- int sign;
- int wds;
- uint32_t x[64];
+ void append(uint32_t w)
+ {
+ m_words.append(w);
+ }
+
+ Vector<uint32_t, 16> m_words;
};
static void multadd(BigInt& b, int m, int a) /* multiply by m and add a */
@@ -307,8 +326,8 @@ static void multadd(BigInt& b, int m, int a) /* multiply by m and add a */
uint32_t carry;
#endif
- int wds = b.wds;
- uint32_t* x = b.x;
+ int wds = b.size();
+ uint32_t* x = b.words();
int i = 0;
carry = a;
do {
@@ -331,10 +350,8 @@ static void multadd(BigInt& b, int m, int a) /* multiply by m and add a */
#endif
} while (++i < wds);
- if (carry) {
- b.x[wds++] = (uint32_t)carry;
- b.wds = wds;
- }
+ if (carry)
+ b.append((uint32_t)carry);
}
static void s2b(BigInt& b, const char* s, int nd0, int nd, uint32_t y9)
@@ -346,12 +363,12 @@ static void s2b(BigInt& b, const char* s, int nd0, int nd, uint32_t y9)
for (k = 0, y = 1; x > y; y <<= 1, k++) { }
#ifdef Pack_32
b.sign = 0;
- b.x[0] = y9;
- b.wds = 1;
+ b.resize(1);
+ b.words()[0] = y9;
#else
b.sign = 0;
- b.x[0] = y9 & 0xffff;
- b.wds = (b->x[1] = y9 >> 16) ? 2 : 1;
+ b.resize((b->x[1] = y9 >> 16) ? 2 : 1);
+ b.words()[0] = y9 & 0xffff;
#endif
int i = 9;
@@ -440,8 +457,8 @@ static int lo0bits (uint32_t* y)
static void i2b(BigInt& b, int i)
{
b.sign = 0;
- b.x[0] = i;
- b.wds = 1;
+ b.resize(1);
+ b.words()[0] = i;
}
static void mult(BigInt& aRef, const BigInt& bRef)
@@ -459,23 +476,24 @@ static void mult(BigInt& aRef, const BigInt& bRef)
uint32_t carry, z;
#endif
- if (a->wds < b->wds) {
+ if (a->size() < b->size()) {
const BigInt* tmp = a;
a = b;
b = tmp;
}
- wa = a->wds;
- wb = b->wds;
+ wa = a->size();
+ wb = b->size();
wc = wa + wb;
+ c.resize(wc);
- for (xc = c.x, xa = xc + wc; xc < xa; xc++)
+ for (xc = c.words(), xa = xc + wc; xc < xa; xc++)
*xc = 0;
- xa = a->x;
+ xa = a->words();
xae = xa + wa;
- xb = b->x;
+ xb = b->words();
xbe = xb + wb;
- xc0 = c.x;
+ xc0 = c.words();
#ifdef USE_LONG_LONG
for (; xb < xbe; xc0++) {
if ((y = *xb++)) {
@@ -537,8 +555,8 @@ static void mult(BigInt& aRef, const BigInt& bRef)
}
#endif
#endif
- for (xc0 = c.x, xc = xc0 + wc; wc > 0 && !*--xc; --wc) { }
- c.wds = wc;
+ for (xc0 = c.words(), xc = xc0 + wc; wc > 0 && !*--xc; --wc) { }
+ c.resize(wc);
aRef = c;
}
@@ -617,14 +635,20 @@ static ALWAYS_INLINE void lshift(BigInt& b, int k)
int n = k >> 4;
#endif
- int n1 = n + b.wds + 1;
+ int origSize = b.size();
+ int n1 = n + origSize + 1;
+
+ if (k &= 0x1f)
+ b.resize(b.size() + n + 1);
+ else
+ b.resize(b.size() + n);
- const uint32_t* srcStart = b.x;
- uint32_t* dstStart = b.x;
- const uint32_t* src = srcStart + b.wds - 1;
+ const uint32_t* srcStart = b.words();
+ uint32_t* dstStart = b.words();
+ const uint32_t* src = srcStart + origSize - 1;
uint32_t* dst = dstStart + n1 - 1;
#ifdef Pack_32
- if (k &= 0x1f) {
+ if (k) {
uint32_t hiSubword = 0;
int s = 32 - k;
for (; src >= srcStart; --src) {
@@ -633,7 +657,8 @@ static ALWAYS_INLINE void lshift(BigInt& b, int k)
}
*dst = hiSubword;
ASSERT(dst == dstStart + n);
- b.wds = b.wds + n + (b.x[n1 - 1] != 0);
+
+ b.resize(origSize + n + (b.words()[n1 - 1] != 0));
}
#else
if (k &= 0xf) {
@@ -652,10 +677,11 @@ static ALWAYS_INLINE void lshift(BigInt& b, int k)
do {
*--dst = *src--;
} while (src >= srcStart);
- b.wds = b.wds + n;
}
for (dst = dstStart + n; dst != dstStart; )
*--dst = 0;
+
+ ASSERT(b.size() <= 1 || b.words()[b.size() - 1]);
}
static int cmp(const BigInt& a, const BigInt& b)
@@ -663,15 +689,15 @@ static int cmp(const BigInt& a, const BigInt& b)
const uint32_t *xa, *xa0, *xb, *xb0;
int i, j;
- i = a.wds;
- j = b.wds;
- ASSERT(i <= 1 || a.x[i - 1]);
- ASSERT(j <= 1 || b.x[j - 1]);
+ i = a.size();
+ j = b.size();
+ ASSERT(i <= 1 || a.words()[i - 1]);
+ ASSERT(j <= 1 || b.words()[j - 1]);
if (i -= j)
return i;
- xa0 = a.x;
+ xa0 = a.words();
xa = xa0 + j;
- xb0 = b.x;
+ xb0 = b.words();
xb = xb0 + j;
for (;;) {
if (*--xa != *--xb)
@@ -692,8 +718,8 @@ static ALWAYS_INLINE void diff(BigInt& c, const BigInt& aRef, const BigInt& bRef
i = cmp(*a, *b);
if (!i) {
c.sign = 0;
- c.wds = 1;
- c.x[0] = 0;
+ c.resize(1);
+ c.words()[0] = 0;
return;
}
if (i < 0) {
@@ -704,15 +730,16 @@ static ALWAYS_INLINE void diff(BigInt& c, const BigInt& aRef, const BigInt& bRef
} else
i = 0;
- c.wds = 0;
- c.sign = i;
- wa = a->wds;
- const uint32_t* xa = a->x;
+ wa = a->size();
+ const uint32_t* xa = a->words();
const uint32_t* xae = xa + wa;
- wb = b->wds;
- const uint32_t* xb = b->x;
+ wb = b->size();
+ const uint32_t* xb = b->words();
const uint32_t* xbe = xb + wb;
- xc = c.x;
+
+ c.resize(wa);
+ c.sign = i;
+ xc = c.words();
#ifdef USE_LONG_LONG
unsigned long long borrow = 0;
do {
@@ -757,7 +784,7 @@ static ALWAYS_INLINE void diff(BigInt& c, const BigInt& aRef, const BigInt& bRef
#endif
while (!*--xc)
wa--;
- c.wds = wa;
+ c.resize(wa);
}
static double ulp(U *x)
@@ -804,8 +831,8 @@ static double b2d(const BigInt& a, int* e)
#define d0 word0(&d)
#define d1 word1(&d)
- xa0 = a.x;
- xa = xa0 + a.wds;
+ xa0 = a.words();
+ xa = xa0 + a.size();
y = *--xa;
ASSERT(y);
k = hi0bits(y);
@@ -860,11 +887,11 @@ static ALWAYS_INLINE void d2b(BigInt& b, U* d, int* e, int* bits)
b.sign = 0;
#ifdef Pack_32
- b.wds = 1;
+ b.resize(1);
#else
- b.wds = 2;
+ b.resize(2);
#endif
- x = b.x;
+ x = b.words();
z = d0 & Frac_mask;
d0 &= 0x7fffffff; /* clear sign bit, which we ignore */
@@ -881,17 +908,21 @@ static ALWAYS_INLINE void d2b(BigInt& b, U* d, int* e, int* bits)
z >>= k;
} else
x[0] = y;
+ if (z) {
+ b.resize(2);
+ x[1] = z;
+ }
+
#ifndef Sudden_Underflow
- i =
+ i = b.size();
#endif
- b.wds = (x[1] = z) ? 2 : 1;
} else {
k = lo0bits(&z);
x[0] = z;
#ifndef Sudden_Underflow
- i =
+ i = 1;
#endif
- b.wds = 1;
+ b.resize(1);
k += 32;
}
#else
@@ -929,7 +960,7 @@ static ALWAYS_INLINE void d2b(BigInt& b, U* d, int* e, int* bits)
k += 32;
} while (!x[i])
--i;
- b->wds = i + 1;
+ b->resize(i + 1);
#endif
#ifndef Sudden_Underflow
if (de) {
@@ -958,9 +989,9 @@ static double ratio(const BigInt& a, const BigInt& b)
dval(&da) = b2d(a, &ka);
dval(&db) = b2d(b, &kb);
#ifdef Pack_32
- k = ka - kb + 32 * (a.wds - b.wds);
+ k = ka - kb + 32 * (a.size() - b.size());
#else
- k = ka - kb + 16 * (a.wds - b.wds);
+ k = ka - kb + 16 * (a.size() - b.size());
#endif
if (k > 0)
word0(&da) += k * Exp_msk1;
@@ -1452,12 +1483,12 @@ undfl:
#endif
) {
#ifdef SET_INEXACT
- if (!delta->x[0] && delta->wds <= 1)
+ if (!delta->words()[0] && delta->size() <= 1)
inexact = 0;
#endif
break;
}
- if (!delta.x[0] && delta.wds <= 1) {
+ if (!delta.words()[0] && delta.size() <= 1) {
/* exact result */
#ifdef SET_INEXACT
inexact = 0;
@@ -1700,7 +1731,7 @@ ret:
static ALWAYS_INLINE int quorem(BigInt& b, BigInt& S)
{
- int n;
+ size_t n;
uint32_t *bx, *bxe, q, *sx, *sxe;
#ifdef USE_LONG_LONG
unsigned long long borrow, carry, y, ys;
@@ -1710,14 +1741,16 @@ static ALWAYS_INLINE int quorem(BigInt& b, BigInt& S)
uint32_t si, z, zs;
#endif
#endif
+ ASSERT(b.size() <= 1 || b.words()[b.size() - 1]);
+ ASSERT(S.size() <= 1 || S.words()[S.size() - 1]);
- n = S.wds;
- ASSERT_WITH_MESSAGE(b.wds <= n, "oversize b in quorem");
- if (b.wds < n)
+ n = S.size();
+ ASSERT_WITH_MESSAGE(b.size() <= n, "oversize b in quorem");
+ if (b.size() < n)
return 0;
- sx = S.x;
+ sx = S.words();
sxe = sx + --n;
- bx = b.x;
+ bx = b.words();
bxe = bx + n;
q = *bxe / (*sxe + 1); /* ensure q <= true quotient */
ASSERT_WITH_MESSAGE(q <= 9, "oversized quotient in quorem");
@@ -1752,18 +1785,18 @@ static ALWAYS_INLINE int quorem(BigInt& b, BigInt& S)
#endif
} while (sx <= sxe);
if (!*bxe) {
- bx = b.x;
+ bx = b.words();
while (--bxe > bx && !*bxe)
--n;
- b.wds = n;
+ b.resize(n);
}
}
if (cmp(b, S) >= 0) {
q++;
borrow = 0;
carry = 0;
- bx = b.x;
- sx = S.x;
+ bx = b.words();
+ sx = S.words();
do {
#ifdef USE_LONG_LONG
ys = *sx++ + carry;
@@ -1791,12 +1824,12 @@ static ALWAYS_INLINE int quorem(BigInt& b, BigInt& S)
#endif
#endif
} while (sx <= sxe);
- bx = b.x;
+ bx = b.words();
bxe = bx + n;
if (!*bxe) {
while (--bxe > bx && !*bxe)
--n;
- b.wds = n;
+ b.resize(n);
}
}
return q;
@@ -2027,7 +2060,8 @@ void dtoa(char* result, double dd, int ndigits, int* decpt, int* sign, char** rv
dval(&eps) = (ieps * dval(&u)) + 7.;
word0(&eps) -= (P - 1) * Exp_msk1;
if (ilim == 0) {
- S = mhi = BigInt();
+ S.clear();
+ mhi.clear();
dval(&u) -= 5.;
if (dval(&u) > dval(&eps))
goto one_digit;
@@ -2090,7 +2124,8 @@ fast_failed:
/* Yes. */
ds = tens[k];
if (ndigits < 0 && ilim <= 0) {
- S = mhi = BigInt();
+ S.clear();
+ mhi.clear();
if (ilim < 0 || dval(&u) <= 5 * ds)
goto no_digits;
goto one_digit;
@@ -2132,7 +2167,8 @@ bump_up:
m2 = b2;
m5 = b5;
- mhi = mlo = BigInt();
+ mhi.clear();
+ mlo.clear();
if (leftright) {
i =
#ifndef Sudden_Underflow
@@ -2186,10 +2222,10 @@ bump_up:
* can do shifts and ors to compute the numerator for q.
*/
#ifdef Pack_32
- if ((i = ((s5 ? 32 - hi0bits(S.x[S.wds - 1]) : 1) + s2) & 0x1f))
+ if ((i = ((s5 ? 32 - hi0bits(S.words()[S.size() - 1]) : 1) + s2) & 0x1f))
i = 32 - i;
#else
- if ((i = ((s5 ? 32 - hi0bits(S.x[S.wds - 1]) : 1) + s2) & 0xf))
+ if ((i = ((s5 ? 32 - hi0bits(S.words()[S.size() - 1]) : 1) + s2) & 0xf))
i = 16 - i;
#endif
if (i > 4) {
@@ -2252,7 +2288,7 @@ bump_up:
goto ret;
}
if (j < 0 || (j == 0 && !(word1(&u) & 1))) {
- if (!b.x[0] && b.wds <= 1) {
+ if (!b.words()[0] && b.size() <= 1) {
#ifdef SET_INEXACT
inexact = 0;
#endif
@@ -2287,7 +2323,7 @@ round_9_up:
} else
for (i = 1;; i++) {
*s++ = dig = quorem(b,S) + '0';
- if (!b.x[0] && b.wds <= 1) {
+ if (!b.words()[0] && b.size() <= 1) {
#ifdef SET_INEXACT
inexact = 0;
#endif
diff --git a/src/3rdparty/webkit/JavaScriptCore/wtf/unicode/Collator.h b/src/3rdparty/webkit/JavaScriptCore/wtf/unicode/Collator.h
index f04779d..51e8a06 100644
--- a/src/3rdparty/webkit/JavaScriptCore/wtf/unicode/Collator.h
+++ b/src/3rdparty/webkit/JavaScriptCore/wtf/unicode/Collator.h
@@ -39,7 +39,7 @@ struct UCollator;
namespace WTF {
- class Collator : Noncopyable {
+ class Collator : public Noncopyable {
public:
enum Result { Equal = 0, Greater = 1, Less = -1 };
diff --git a/src/3rdparty/webkit/JavaScriptCore/wtf/unicode/icu/CollatorICU.cpp b/src/3rdparty/webkit/JavaScriptCore/wtf/unicode/icu/CollatorICU.cpp
index 79dec79..6376bb3 100644
--- a/src/3rdparty/webkit/JavaScriptCore/wtf/unicode/icu/CollatorICU.cpp
+++ b/src/3rdparty/webkit/JavaScriptCore/wtf/unicode/icu/CollatorICU.cpp
@@ -37,6 +37,7 @@
#include <string.h>
#if PLATFORM(DARWIN)
+#include "RetainPtr.h"
#include <CoreFoundation/CoreFoundation.h>
#endif
@@ -60,11 +61,16 @@ std::auto_ptr<Collator> Collator::userDefault()
{
#if PLATFORM(DARWIN) && PLATFORM(CF)
// Mac OS X doesn't set UNIX locale to match user-selected one, so ICU default doesn't work.
- CFStringRef collationOrder = (CFStringRef)CFPreferencesCopyValue(CFSTR("AppleCollationOrder"), kCFPreferencesAnyApplication, kCFPreferencesCurrentUser, kCFPreferencesAnyHost);
+#if !defined(BUILDING_ON_TIGER) && !defined(BUILDING_ON_LEOPARD) && !PLATFORM(IPHONE)
+ RetainPtr<CFLocaleRef> currentLocale(AdoptCF, CFLocaleCopyCurrent());
+ CFStringRef collationOrder = (CFStringRef)CFLocaleGetValue(currentLocale.get(), kCFLocaleCollatorIdentifier);
+#else
+ RetainPtr<CFStringRef> collationOrderRetainer(AdoptCF, (CFStringRef)CFPreferencesCopyValue(CFSTR("AppleCollationOrder"), kCFPreferencesAnyApplication, kCFPreferencesCurrentUser, kCFPreferencesAnyHost));
+ CFStringRef collationOrder = collationOrderRetainer.get();
+#endif
char buf[256];
if (collationOrder) {
CFStringGetCString(collationOrder, buf, sizeof(buf), kCFStringEncodingASCII);
- CFRelease(collationOrder);
return std::auto_ptr<Collator>(new Collator(buf));
} else
return std::auto_ptr<Collator>(new Collator(""));
diff --git a/src/3rdparty/webkit/JavaScriptCore/wtf/wince/FastMallocWince.h b/src/3rdparty/webkit/JavaScriptCore/wtf/wince/FastMallocWince.h
new file mode 100644
index 0000000..93d9f75
--- /dev/null
+++ b/src/3rdparty/webkit/JavaScriptCore/wtf/wince/FastMallocWince.h
@@ -0,0 +1,177 @@
+/*
+ * This file is part of the KDE libraries
+ * Copyright (C) 2005, 2006, 2007, 2008 Apple Inc. All rights reserved.
+ * Copyright (C) 2007-2009 Torch Mobile, Inc. All rights reserved
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public License
+ * along with this library; see the file COPYING.LIB. If not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef FastMallocWince_h
+#define FastMallocWince_h
+
+#include <new.h>
+
+#ifdef __cplusplus
+#include <new>
+#include "MemoryManager.h"
+extern "C" {
+#endif
+
+void* fastMalloc(size_t n);
+void* fastCalloc(size_t n_elements, size_t element_size);
+void fastFree(void* p);
+void* fastRealloc(void* p, size_t n);
+void* fastZeroedMalloc(size_t n);
+// These functions return 0 if an allocation fails.
+void* tryFastMalloc(size_t n);
+void* tryFastZeroedMalloc(size_t n);
+void* tryFastCalloc(size_t n_elements, size_t element_size);
+void* tryFastRealloc(void* p, size_t n);
+char* fastStrDup(const char*);
+
+#ifndef NDEBUG
+void fastMallocForbid();
+void fastMallocAllow();
+#endif
+
+#if !defined(USE_SYSTEM_MALLOC) || !USE_SYSTEM_MALLOC
+
+#define malloc(n) fastMalloc(n)
+#define calloc(n_elements, element_size) fastCalloc(n_elements, element_size)
+#define realloc(p, n) fastRealloc(p, n)
+#define free(p) fastFree(p)
+#define strdup(p) fastStrDup(p)
+
+#else
+
+#define strdup(p) _strdup(p)
+
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
+#ifdef __cplusplus
+#if !defined(USE_SYSTEM_MALLOC) || !USE_SYSTEM_MALLOC
+static inline void* __cdecl operator new(size_t s) { return fastMalloc(s); }
+static inline void __cdecl operator delete(void* p) { fastFree(p); }
+static inline void* __cdecl operator new[](size_t s) { return fastMalloc(s); }
+static inline void __cdecl operator delete[](void* p) { fastFree(p); }
+static inline void* operator new(size_t s, const std::nothrow_t&) throw() { return fastMalloc(s); }
+static inline void operator delete(void* p, const std::nothrow_t&) throw() { fastFree(p); }
+static inline void* operator new[](size_t s, const std::nothrow_t&) throw() { return fastMalloc(s); }
+static inline void operator delete[](void* p, const std::nothrow_t&) throw() { fastFree(p); }
+#endif
+
+namespace WTF {
+ // This defines a type which holds an unsigned integer and is the same
+ // size as the minimally aligned memory allocation.
+ typedef unsigned long long AllocAlignmentInteger;
+
+ namespace Internal {
+ enum AllocType { // Start with an unusual number instead of zero, because zero is common.
+ AllocTypeMalloc = 0x375d6750, // Encompasses fastMalloc, fastZeroedMalloc, fastCalloc, fastRealloc.
+ AllocTypeClassNew, // Encompasses class operator new from FastAllocBase.
+ AllocTypeClassNewArray, // Encompasses class operator new[] from FastAllocBase.
+ AllocTypeFastNew, // Encompasses fastNew.
+ AllocTypeFastNewArray, // Encompasses fastNewArray.
+ AllocTypeNew, // Encompasses global operator new.
+ AllocTypeNewArray // Encompasses global operator new[].
+ };
+ }
+
+
+#if ENABLE(FAST_MALLOC_MATCH_VALIDATION)
+
+ // Malloc validation is a scheme whereby a tag is attached to an
+ // allocation which identifies how it was originally allocated.
+ // This allows us to verify that the freeing operation matches the
+ // allocation operation. If memory is allocated with operator new[]
+ // but freed with free or delete, this system would detect that.
+ // In the implementation here, the tag is an integer prepended to
+ // the allocation memory which is assigned one of the AllocType
+ // enumeration values. An alternative implementation of this
+ // scheme could store the tag somewhere else or ignore it.
+ // Users of FastMalloc don't need to know or care how this tagging
+ // is implemented.
+
+ namespace Internal {
+
+ // Return the AllocType tag associated with the allocated block p.
+ inline AllocType fastMallocMatchValidationType(const void* p)
+ {
+ const AllocAlignmentInteger* type = static_cast<const AllocAlignmentInteger*>(p) - 1;
+ return static_cast<AllocType>(*type);
+ }
+
+ // Return the address of the AllocType tag associated with the allocated block p.
+ inline AllocAlignmentInteger* fastMallocMatchValidationValue(void* p)
+ {
+ return reinterpret_cast<AllocAlignmentInteger*>(static_cast<char*>(p) - sizeof(AllocAlignmentInteger));
+ }
+
+ // Set the AllocType tag to be associaged with the allocated block p.
+ inline void setFastMallocMatchValidationType(void* p, AllocType allocType)
+ {
+ AllocAlignmentInteger* type = static_cast<AllocAlignmentInteger*>(p) - 1;
+ *type = static_cast<AllocAlignmentInteger>(allocType);
+ }
+
+ // Handle a detected alloc/free mismatch. By default this calls CRASH().
+ void fastMallocMatchFailed(void* p);
+
+ } // namespace Internal
+
+ // This is a higher level function which is used by FastMalloc-using code.
+ inline void fastMallocMatchValidateMalloc(void* p, Internal::AllocType allocType)
+ {
+ if (!p)
+ return;
+
+ Internal::setFastMallocMatchValidationType(p, allocType);
+ }
+
+ // This is a higher level function which is used by FastMalloc-using code.
+ inline void fastMallocMatchValidateFree(void* p, Internal::AllocType allocType)
+ {
+ if (!p)
+ return;
+
+ if (Internal::fastMallocMatchValidationType(p) != allocType)
+ Internal::fastMallocMatchFailed(p);
+ Internal::setFastMallocMatchValidationType(p, Internal::AllocTypeMalloc); // Set it to this so that fastFree thinks it's OK.
+ }
+
+#else
+
+ inline void fastMallocMatchValidateMalloc(void*, Internal::AllocType)
+ {
+ }
+
+ inline void fastMallocMatchValidateFree(void*, Internal::AllocType)
+ {
+ }
+
+#endif
+
+} // namespace WTF
+
+#endif
+
+#endif // FastMallocWince_h
+
diff --git a/src/3rdparty/webkit/JavaScriptCore/wtf/wince/MemoryManager.cpp b/src/3rdparty/webkit/JavaScriptCore/wtf/wince/MemoryManager.cpp
new file mode 100644
index 0000000..b65b368
--- /dev/null
+++ b/src/3rdparty/webkit/JavaScriptCore/wtf/wince/MemoryManager.cpp
@@ -0,0 +1,171 @@
+/*
+ * Copyright (C) 2008-2009 Torch Mobile Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public License
+ * along with this library; see the file COPYING.LIB. If not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#include "config.h"
+#include "MemoryManager.h"
+
+#undef malloc
+#undef calloc
+#undef realloc
+#undef free
+#undef strdup
+#undef _strdup
+#undef VirtualAlloc
+#undef VirtualFree
+
+#include <malloc.h>
+#include <windows.h>
+
+namespace WTF {
+
+MemoryManager* memoryManager()
+{
+ static MemoryManager mm;
+ return &mm;
+}
+
+MemoryManager::MemoryManager()
+: m_allocationCanFail(false)
+{
+}
+
+MemoryManager::~MemoryManager()
+{
+}
+
+HBITMAP MemoryManager::createCompatibleBitmap(HDC hdc, int width, int height)
+{
+ return ::CreateCompatibleBitmap(hdc, width, height);
+}
+
+HBITMAP MemoryManager::createDIBSection(const BITMAPINFO* pbmi, void** ppvBits)
+{
+ return ::CreateDIBSection(0, pbmi, DIB_RGB_COLORS, ppvBits, 0, 0);
+}
+
+void* MemoryManager::m_malloc(size_t size)
+{
+ return malloc(size);
+}
+
+void* MemoryManager::m_calloc(size_t num, size_t size)
+{
+ return calloc(num, size);
+}
+
+void* MemoryManager::m_realloc(void* p, size_t size)
+{
+ return realloc(p, size);
+}
+
+void MemoryManager::m_free(void* p)
+{
+ return free(p);
+}
+
+bool MemoryManager::resizeMemory(void*, size_t)
+{
+ return false;
+}
+
+void* MemoryManager::allocate64kBlock()
+{
+ return VirtualAlloc(0, 65536, MEM_COMMIT | MEM_RESERVE, PAGE_READWRITE);
+}
+
+void MemoryManager::free64kBlock(void* p)
+{
+ VirtualFree(p, 65536, MEM_RELEASE);
+}
+
+bool MemoryManager::onIdle(DWORD& timeLimitMs)
+{
+ return false;
+}
+
+LPVOID MemoryManager::virtualAlloc(LPVOID lpAddress, DWORD dwSize, DWORD flAllocationType, DWORD flProtect)
+{
+ return ::VirtualAlloc(lpAddress, dwSize, flAllocationType, flProtect);
+}
+
+BOOL MemoryManager::virtualFree(LPVOID lpAddress, DWORD dwSize, DWORD dwFreeType)
+{
+ return ::VirtualFree(lpAddress, dwSize, dwFreeType);
+}
+
+
+#if defined(USE_SYSTEM_MALLOC) && USE_SYSTEM_MALLOC
+
+void *fastMalloc(size_t n) { return malloc(n); }
+void *fastCalloc(size_t n_elements, size_t element_size) { return calloc(n_elements, element_size); }
+void fastFree(void* p) { return free(p); }
+void *fastRealloc(void* p, size_t n) { return realloc(p, n); }
+
+#else
+
+void *fastMalloc(size_t n) { return MemoryManager::m_malloc(n); }
+void *fastCalloc(size_t n_elements, size_t element_size) { return MemoryManager::m_calloc(n_elements, element_size); }
+void fastFree(void* p) { return MemoryManager::m_free(p); }
+void *fastRealloc(void* p, size_t n) { return MemoryManager::m_realloc(p, n); }
+
+#endif
+
+#ifndef NDEBUG
+void fastMallocForbid() {}
+void fastMallocAllow() {}
+#endif
+
+void* fastZeroedMalloc(size_t n)
+{
+ void* p = fastMalloc(n);
+ if (p)
+ memset(p, 0, n);
+ return p;
+}
+
+void* tryFastMalloc(size_t n)
+{
+ MemoryAllocationCanFail canFail;
+ return fastMalloc(n);
+}
+
+void* tryFastZeroedMalloc(size_t n)
+{
+ MemoryAllocationCanFail canFail;
+ return fastZeroedMalloc(n);
+}
+
+void* tryFastCalloc(size_t n_elements, size_t element_size)
+{
+ MemoryAllocationCanFail canFail;
+ return fastCalloc(n_elements, element_size);
+}
+
+void* tryFastRealloc(void* p, size_t n)
+{
+ MemoryAllocationCanFail canFail;
+ return fastRealloc(p, n);
+}
+
+char* fastStrDup(const char* str)
+{
+ return _strdup(str);
+}
+
+} \ No newline at end of file
diff --git a/src/3rdparty/webkit/JavaScriptCore/wtf/wince/MemoryManager.h b/src/3rdparty/webkit/JavaScriptCore/wtf/wince/MemoryManager.h
new file mode 100644
index 0000000..f405612
--- /dev/null
+++ b/src/3rdparty/webkit/JavaScriptCore/wtf/wince/MemoryManager.h
@@ -0,0 +1,80 @@
+/*
+ * Copyright (C) 2008-2009 Torch Mobile Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public License
+ * along with this library; see the file COPYING.LIB. If not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#pragma once
+
+#include <winbase.h>
+
+typedef struct HBITMAP__* HBITMAP;
+typedef struct HDC__* HDC;
+typedef void *HANDLE;
+typedef struct tagBITMAPINFO BITMAPINFO;
+
+namespace WTF {
+
+ class MemoryManager {
+ public:
+ MemoryManager();
+ ~MemoryManager();
+
+ bool allocationCanFail() const { return m_allocationCanFail; }
+ void setAllocationCanFail(bool c) { m_allocationCanFail = c; }
+
+ static HBITMAP createCompatibleBitmap(HDC hdc, int width, int height);
+ static HBITMAP createDIBSection(const BITMAPINFO* pbmi, void** ppvBits);
+ static void* m_malloc(size_t size);
+ static void* m_calloc(size_t num, size_t size);
+ static void* m_realloc(void* p, size_t size);
+ static void m_free(void*);
+ static bool resizeMemory(void* p, size_t newSize);
+ static void* allocate64kBlock();
+ static void free64kBlock(void*);
+ static bool onIdle(DWORD& timeLimitMs);
+ static LPVOID virtualAlloc(LPVOID lpAddress, DWORD dwSize, DWORD flAllocationType, DWORD flProtect);
+ static BOOL virtualFree(LPVOID lpAddress, DWORD dwSize, DWORD dwFreeType);
+
+ private:
+ friend MemoryManager* memoryManager();
+
+ bool m_allocationCanFail;
+ };
+
+ MemoryManager* memoryManager();
+
+ class MemoryAllocationCanFail {
+ public:
+ MemoryAllocationCanFail() : m_old(memoryManager()->allocationCanFail()) { memoryManager()->setAllocationCanFail(true); }
+ ~MemoryAllocationCanFail() { memoryManager()->setAllocationCanFail(m_old); }
+ private:
+ bool m_old;
+ };
+
+ class MemoryAllocationCannotFail {
+ public:
+ MemoryAllocationCannotFail() : m_old(memoryManager()->allocationCanFail()) { memoryManager()->setAllocationCanFail(false); }
+ ~MemoryAllocationCannotFail() { memoryManager()->setAllocationCanFail(m_old); }
+ private:
+ bool m_old;
+ };
+}
+
+using WTF::MemoryManager;
+using WTF::memoryManager;
+using WTF::MemoryAllocationCanFail;
+using WTF::MemoryAllocationCannotFail;
diff --git a/src/3rdparty/webkit/JavaScriptCore/wtf/wince/mt19937ar.c b/src/3rdparty/webkit/JavaScriptCore/wtf/wince/mt19937ar.c
new file mode 100644
index 0000000..4715958
--- /dev/null
+++ b/src/3rdparty/webkit/JavaScriptCore/wtf/wince/mt19937ar.c
@@ -0,0 +1,170 @@
+/*
+ A C-program for MT19937, with initialization improved 2002/1/26.
+ Coded by Takuji Nishimura and Makoto Matsumoto.
+
+ Before using, initialize the state by using init_genrand(seed)
+ or init_by_array(init_key, key_length).
+
+ Copyright (C) 1997 - 2002, Makoto Matsumoto and Takuji Nishimura,
+ All rights reserved.
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions
+ are met:
+
+ 1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ 2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+ 3. The names of its contributors may not be used to endorse or promote
+ products derived from this software without specific prior written
+ permission.
+
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+ CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ Any feedback is very welcome.
+ http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/emt.html
+ email: m-mat @ math.sci.hiroshima-u.ac.jp (remove space)
+*/
+
+#include <stdio.h>
+
+/* Period parameters */
+#define N 624
+#define M 397
+#define MATRIX_A 0x9908b0dfUL /* constant vector a */
+#define UPPER_MASK 0x80000000UL /* most significant w-r bits */
+#define LOWER_MASK 0x7fffffffUL /* least significant r bits */
+
+static unsigned long mt[N]; /* the array for the state vector */
+static int mti=N+1; /* mti==N+1 means mt[N] is not initialized */
+
+/* initializes mt[N] with a seed */
+void init_genrand(unsigned long s)
+{
+ mt[0]= s & 0xffffffffUL;
+ for (mti=1; mti<N; mti++) {
+ mt[mti] = (1812433253UL * (mt[mti-1] ^ (mt[mti-1] >> 30)) + mti);
+ /* See Knuth TAOCP Vol2. 3rd Ed. P.106 for multiplier. */
+ /* In the previous versions, MSBs of the seed affect */
+ /* only MSBs of the array mt[]. */
+ /* 2002/01/09 modified by Makoto Matsumoto */
+ mt[mti] &= 0xffffffffUL;
+ /* for >32 bit machines */
+ }
+}
+
+/* initialize by an array with array-length */
+/* init_key is the array for initializing keys */
+/* key_length is its length */
+/* slight change for C++, 2004/2/26 */
+void init_by_array(unsigned long init_key[],int key_length)
+{
+ int i, j, k;
+ init_genrand(19650218UL);
+ i=1; j=0;
+ k = (N>key_length ? N : key_length);
+ for (; k; k--) {
+ mt[i] = (mt[i] ^ ((mt[i-1] ^ (mt[i-1] >> 30)) * 1664525UL))
+ + init_key[j] + j; /* non linear */
+ mt[i] &= 0xffffffffUL; /* for WORDSIZE > 32 machines */
+ i++; j++;
+ if (i>=N) { mt[0] = mt[N-1]; i=1; }
+ if (j>=key_length) j=0;
+ }
+ for (k=N-1; k; k--) {
+ mt[i] = (mt[i] ^ ((mt[i-1] ^ (mt[i-1] >> 30)) * 1566083941UL))
+ - i; /* non linear */
+ mt[i] &= 0xffffffffUL; /* for WORDSIZE > 32 machines */
+ i++;
+ if (i>=N) { mt[0] = mt[N-1]; i=1; }
+ }
+
+ mt[0] = 0x80000000UL; /* MSB is 1; assuring non-zero initial array */
+}
+
+/* generates a random number on [0,0xffffffff]-interval */
+unsigned long genrand_int32(void)
+{
+ unsigned long y;
+ static unsigned long mag01[2]={0x0UL, MATRIX_A};
+ /* mag01[x] = x * MATRIX_A for x=0,1 */
+
+ if (mti >= N) { /* generate N words at one time */
+ int kk;
+
+ if (mti == N+1) /* if init_genrand() has not been called, */
+ init_genrand(5489UL); /* a default initial seed is used */
+
+ for (kk=0;kk<N-M;kk++) {
+ y = (mt[kk]&UPPER_MASK)|(mt[kk+1]&LOWER_MASK);
+ mt[kk] = mt[kk+M] ^ (y >> 1) ^ mag01[y & 0x1UL];
+ }
+ for (;kk<N-1;kk++) {
+ y = (mt[kk]&UPPER_MASK)|(mt[kk+1]&LOWER_MASK);
+ mt[kk] = mt[kk+(M-N)] ^ (y >> 1) ^ mag01[y & 0x1UL];
+ }
+ y = (mt[N-1]&UPPER_MASK)|(mt[0]&LOWER_MASK);
+ mt[N-1] = mt[M-1] ^ (y >> 1) ^ mag01[y & 0x1UL];
+
+ mti = 0;
+ }
+
+ y = mt[mti++];
+
+ /* Tempering */
+ y ^= (y >> 11);
+ y ^= (y << 7) & 0x9d2c5680UL;
+ y ^= (y << 15) & 0xefc60000UL;
+ y ^= (y >> 18);
+
+ return y;
+}
+
+/* generates a random number on [0,0x7fffffff]-interval */
+long genrand_int31(void)
+{
+ return (long)(genrand_int32()>>1);
+}
+
+/* generates a random number on [0,1]-real-interval */
+double genrand_real1(void)
+{
+ return genrand_int32()*(1.0/4294967295.0);
+ /* divided by 2^32-1 */
+}
+
+/* generates a random number on [0,1)-real-interval */
+double genrand_real2(void)
+{
+ return genrand_int32()*(1.0/4294967296.0);
+ /* divided by 2^32 */
+}
+
+/* generates a random number on (0,1)-real-interval */
+double genrand_real3(void)
+{
+ return (((double)genrand_int32()) + 0.5)*(1.0/4294967296.0);
+ /* divided by 2^32 */
+}
+
+/* generates a random number on [0,1) with 53-bit resolution*/
+double genrand_res53(void)
+{
+ unsigned long a=genrand_int32()>>5, b=genrand_int32()>>6;
+ return(a*67108864.0+b)*(1.0/9007199254740992.0);
+}
diff --git a/src/3rdparty/webkit/JavaScriptCore/yarr/RegexJIT.cpp b/src/3rdparty/webkit/JavaScriptCore/yarr/RegexJIT.cpp
index 29a9d18..663a524 100644
--- a/src/3rdparty/webkit/JavaScriptCore/yarr/RegexJIT.cpp
+++ b/src/3rdparty/webkit/JavaScriptCore/yarr/RegexJIT.cpp
@@ -28,6 +28,7 @@
#include "ASCIICType.h"
#include "JSGlobalData.h"
+#include "LinkBuffer.h"
#include "MacroAssembler.h"
#include "RegexCompiler.h"
@@ -43,18 +44,17 @@ namespace JSC { namespace Yarr {
class RegexGenerator : private MacroAssembler {
friend void jitCompileRegex(JSGlobalData* globalData, RegexCodeBlock& jitObject, const UString& pattern, unsigned& numSubpatterns, const char*& error, bool ignoreCase, bool multiline);
-#if PLATFORM_ARM_ARCH(7)
+#if PLATFORM(ARM)
static const RegisterID input = ARM::r0;
static const RegisterID index = ARM::r1;
static const RegisterID length = ARM::r2;
-
static const RegisterID output = ARM::r4;
+
static const RegisterID regT0 = ARM::r5;
static const RegisterID regT1 = ARM::r6;
static const RegisterID returnRegister = ARM::r0;
-#endif
-#if PLATFORM(X86)
+#elif PLATFORM(X86)
static const RegisterID input = X86::eax;
static const RegisterID index = X86::edx;
static const RegisterID length = X86::ecx;
@@ -64,8 +64,7 @@ class RegexGenerator : private MacroAssembler {
static const RegisterID regT1 = X86::esi;
static const RegisterID returnRegister = X86::eax;
-#endif
-#if PLATFORM(X86_64)
+#elif PLATFORM(X86_64)
static const RegisterID input = X86::edi;
static const RegisterID index = X86::esi;
static const RegisterID length = X86::edx;
@@ -1292,6 +1291,7 @@ class RegexGenerator : private MacroAssembler {
#if PLATFORM(X86_64)
push(X86::ebp);
move(stackPointerRegister, X86::ebp);
+ push(X86::ebx);
#elif PLATFORM(X86)
push(X86::ebp);
move(stackPointerRegister, X86::ebp);
@@ -1308,7 +1308,10 @@ class RegexGenerator : private MacroAssembler {
#else
loadPtr(Address(X86::ebp, 2 * sizeof(void*)), output);
#endif
-#elif PLATFORM_ARM_ARCH(7)
+#elif PLATFORM(ARM)
+#if !PLATFORM_ARM_ARCH(7)
+ push(ARM::lr);
+#endif
push(ARM::r4);
push(ARM::r5);
push(ARM::r6);
@@ -1319,13 +1322,14 @@ class RegexGenerator : private MacroAssembler {
void generateReturn()
{
#if PLATFORM(X86_64)
+ pop(X86::ebx);
pop(X86::ebp);
#elif PLATFORM(X86)
pop(X86::esi);
pop(X86::edi);
pop(X86::ebx);
pop(X86::ebp);
-#elif PLATFORM_ARM_ARCH(7)
+#elif PLATFORM(ARM)
pop(ARM::r6);
pop(ARM::r5);
pop(ARM::r4);
diff --git a/src/3rdparty/webkit/JavaScriptCore/yarr/RegexPattern.h b/src/3rdparty/webkit/JavaScriptCore/yarr/RegexPattern.h
index fb1b0ab..a451131 100644
--- a/src/3rdparty/webkit/JavaScriptCore/yarr/RegexPattern.h
+++ b/src/3rdparty/webkit/JavaScriptCore/yarr/RegexPattern.h
@@ -57,7 +57,7 @@ struct CharacterRange {
}
};
-struct CharacterClass {
+struct CharacterClass : FastAllocBase {
Vector<UChar> m_matches;
Vector<CharacterRange> m_ranges;
Vector<UChar> m_matchesUnicode;
@@ -181,7 +181,7 @@ struct PatternTerm {
}
};
-struct PatternAlternative {
+struct PatternAlternative : FastAllocBase {
PatternAlternative(PatternDisjunction* disjunction)
: m_parent(disjunction)
{
@@ -205,7 +205,7 @@ struct PatternAlternative {
bool m_hasFixedSize;
};
-struct PatternDisjunction {
+struct PatternDisjunction : FastAllocBase {
PatternDisjunction(PatternAlternative* parent = 0)
: m_parent(parent)
{
diff --git a/src/3rdparty/webkit/VERSION b/src/3rdparty/webkit/VERSION
index 730c023..6834134 100644
--- a/src/3rdparty/webkit/VERSION
+++ b/src/3rdparty/webkit/VERSION
@@ -1,11 +1,11 @@
This is a snapshot of the Qt port of WebKit from
- git://code.staikos.net/webkit
+ git://gitorious.org/qtwebkit/qtwebkit.git
The commit imported was from the
- qtwebkit-4.6-snapshot-29062009 branch/tag
+ qtwebkit-4.6-snapshot-29072009 branch/tag
and has the sha1 checksum
- 22aadba1b4356ad7d8e9446b95baccb6b2c037b0
+ 07fbaeddfade72be1d0d7e7f2b947e5d3c183f4a
diff --git a/src/3rdparty/webkit/WebCore/ChangeLog b/src/3rdparty/webkit/WebCore/ChangeLog
index 8991528..7fc69b4 100644
--- a/src/3rdparty/webkit/WebCore/ChangeLog
+++ b/src/3rdparty/webkit/WebCore/ChangeLog
@@ -1,3 +1,12815 @@
+2009-07-28 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
+
+ Reviewed by Steve Falkenburg.
+
+ Add output directory for VS pre-build steps to enable out-of-tree builds
+
+ https://bugs.webkit.org/show_bug.cgi?id=27700
+
+ The tmp.obj file is now placed in the intermediate build directory.
+
+ * WebCore.vcproj/WebCoreCommon.vsprops:
+
+2009-07-28 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: Add inspected node using public console API.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27758
+
+ * inspector/front-end/Console.js:
+ (WebInspector.Console.prototype.addInspectedNode):
+ * inspector/front-end/ElementsPanel.js:
+ (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
+ (WebInspector.ElementsPanel):
+
+2009-07-28 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
+
+ Reviewed by George Staikos.
+
+ [WML] <do> elements with a <noop> task shouldn't be exposed to the user
+ https://bugs.webkit.org/show_bug.cgi?id=27724
+
+ Fix WMLNoopElement to disable it's parent WMLDoElement, as required by the spec.
+ Moved manual-tests/wml/task-noop-in-do.wml to LayoutTests/fast/wml/task-noop-in-do.wml.
+
+ * manual-tests/wml/task-noop-in-do.wml: Removed.
+ * wml/WMLNoopElement.cpp:
+ (WebCore::WMLNoopElement::insertedIntoDocument):
+
+2009-07-28 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Disable some compiler warnings for the win build
+ https://bugs.webkit.org/show_bug.cgi?id=27709
+
+ * WebCore.pro: Move the msvc options to WebKit.pri
+
+2009-07-28 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
+
+ Reviewed by Tor Arne Vestbø
+
+ Make equality checks for logging channel names ignore casing.
+
+ * platform/Logging.cpp:
+ (WebCore::getChannelFromName):
+
+2009-07-28 Jan Michael Alonzo <jmalonzo@webkit.org>
+
+ Reviewed by Xan Lopez.
+
+ [Gtk] Refactor ResourceHandleSoup - make start* functions static
+ https://bugs.webkit.org/show_bug.cgi?id=27687
+
+ * platform/network/ResourceHandle.h:
+ * platform/network/soup/ResourceHandleSoup.cpp:
+ (WebCore::startData):
+ (WebCore::startHttp):
+ (WebCore::):
+
+2009-07-28 Xan Lopez <xlopez@igalia.com>
+
+ Reviewed by Gustavo Noronha.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25415
+ [GTK][ATK] Please implement support for get_text_at_offset
+
+ Do not cache the pango layout in the object, since the layout of
+ the page can change between calls.
+
+ * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
+
+2009-07-23 Anton Muhin <antonm@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Simplify management of Nodes in weak handles callbacks.
+ https://bugs.webkit.org/show_bug.cgi?id=27628
+
+ * bindings/v8/V8DOMMap.cpp:
+ (WebCore::weakNodeCallback):
+
+2009-07-28 Brian Weinstein <bweinstein@apple.com>
+
+ Rubber-stamped by David Levin.
+
+ Fix error handling of GetIconInfo (returns a bool).
+
+ * platform/win/DragImageWin.cpp:
+ (WebCore::createDragImageIconForCachedImage):
+
+2009-07-27 Brian Weinstein <bweinstein@apple.com>
+
+ Reviewed by Jon Honeycutt.
+
+ Fix of <rdar://5015949> Drag Icon is not produced for over sized images.
+
+ Implemented the createDragImageIconForCachedImage function by using the Windows
+ SHFILEINFO structure.
+
+ * platform/win/DragImageWin.cpp:
+ (WebCore::createDragImageIconForCachedImage):
+
+2009-07-25 Adam Barth <abarth@webkit.org>
+
+ Reviewed by David Levin.
+
+ [V8] Split up V8DOMMap.cpp by class
+ https://bugs.webkit.org/show_bug.cgi?id=27685
+
+ No behavior change. Just copy-and-paste.
+
+ * WebCore.gypi:
+ * bindings/v8/ChildThreadDOMData.cpp: Added.
+ (WebCore::ChildThreadDOMData::ChildThreadDOMData):
+ (WebCore::ChildThreadDOMData::getStore):
+ * bindings/v8/ChildThreadDOMData.h: Added.
+ * bindings/v8/DOMData.cpp: Added.
+ (WebCore::DOMData::DOMData):
+ (WebCore::DOMData::getCurrent):
+ (WebCore::DOMData::getCurrentMainThread):
+ (WebCore::DOMData::handleWeakObject):
+ (WebCore::DOMData::ensureDeref):
+ (WebCore::DOMData::derefObject):
+ (WebCore::DOMData::derefDelayedObjects):
+ (WebCore::DOMData::derefDelayedObjectsInCurrentThread):
+ (WebCore::DOMData::removeObjectsFromWrapperMap):
+ * bindings/v8/DOMData.h: Added.
+ (WebCore::):
+ * bindings/v8/DOMDataStore.cpp: Added.
+ (WebCore::DOMDataStore::DOMDataStore):
+ (WebCore::DOMDataStore::~DOMDataStore):
+ (WebCore::DOMDataStore::allStores):
+ (WebCore::DOMDataStore::allStoresMutex):
+ (WebCore::DOMDataStore::getDOMWrapperMap):
+ (WebCore::forget):
+ (WebCore::DOMDataStore::weakDOMObjectCallback):
+ (WebCore::DOMDataStore::weakActiveDOMObjectCallback):
+ (WebCore::DOMDataStore::weakNodeCallback):
+ (WebCore::DOMDataStore::weakSVGElementInstanceCallback):
+ (WebCore::DOMDataStore::weakSVGObjectWithContextCallback):
+ * bindings/v8/DOMDataStore.h: Added.
+ (WebCore::DOMDataStore::):
+ (WebCore::DOMDataStore::InternalDOMWrapperMap::InternalDOMWrapperMap):
+ (WebCore::DOMDataStore::InternalDOMWrapperMap::forgetOnly):
+ (WebCore::DOMDataStore::domData):
+ (WebCore::DOMDataStore::domNodeMap):
+ (WebCore::DOMDataStore::domObjectMap):
+ (WebCore::DOMDataStore::activeDomObjectMap):
+ (WebCore::DOMDataStore::domSvgElementInstanceMap):
+ (WebCore::DOMDataStore::domSvgObjectWithContextMap):
+ * bindings/v8/MainThreadDOMData.cpp: Added.
+ (WebCore::MainThreadDOMData::MainThreadDOMData):
+ (WebCore::MainThreadDOMData::getStore):
+ * bindings/v8/MainThreadDOMData.h: Added.
+ * bindings/v8/ScopedDOMDataStore.cpp: Added.
+ (WebCore::ScopedDOMDataStore::ScopedDOMDataStore):
+ (WebCore::ScopedDOMDataStore::~ScopedDOMDataStore):
+ * bindings/v8/ScopedDOMDataStore.h: Added.
+ * bindings/v8/StaticDOMDataStore.cpp: Added.
+ (WebCore::StaticDOMDataStore::StaticDOMDataStore):
+ * bindings/v8/StaticDOMDataStore.h: Added.
+ * bindings/v8/V8DOMMap.cpp:
+
+2009-07-27 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by Darin Adler.
+
+ <rdar://problem/7091036> REGRESSION: Microsoft Messenger crashes during file send/receive due to use of WebKit on non-main thread
+
+ Add a method for detecting if we're being used within Microsoft Messenger.
+
+ * WebCore.base.exp: Export applicationIsMicrosoftMessenger and sort existing entries.
+ * platform/mac/RuntimeApplicationChecks.h:
+ * platform/mac/RuntimeApplicationChecks.mm:
+ (WebCore::applicationIsMicrosoftMessenger):
+
+2009-07-27 Jian Li <jianli@chromium.org>
+
+ Reviewed by David Levin.
+
+ [V8] Implement EventListener::reportError for V8 event listeners in worker context.
+ https://bugs.webkit.org/show_bug.cgi?id=27731
+
+ * bindings/v8/V8WorkerContextEventListener.cpp:
+ (WebCore::V8WorkerContextEventListener::reportError):
+ * bindings/v8/V8WorkerContextEventListener.h:
+
+2009-07-27 Stephen White <senorblanco@chromium.org>
+
+ Reviewed by Eric Seidel and David Levin.
+
+ Re-apply chromium/skia border fix (originally landed in r46157,
+ reverted in r46363), since it was not the cause of the reliability
+ failures in Chromium.
+
+ http://bugs.webkit.org/show_bug.cgi?id=27388
+
+ * platform/graphics/skia/GraphicsContextSkia.cpp:
+ (WebCore::GraphicsContext::drawLine):
+ * platform/graphics/skia/PlatformContextSkia.cpp:
+ (PlatformContextSkia::setupPaintForStroking):
+
+2009-07-27 Ryosuke Niwa <rniwa@webkit.org>
+
+ Reviewed by Justin Garcia.
+
+ createMarkup does not handle CSS properly
+ https://bugs.webkit.org/show_bug.cgi?id=27660
+
+ This patch isolates code that creates markup for styles in addStyleMarkup
+ It also makes all presentational elements (u, s, strike, i, em, b, strong) special ancestor in createMarkup
+ so that we can assume no text decoration style is passed to addStyleMarkup.
+
+ * editing/markup.cpp:
+ (WebCore::propertyMissingOrEqualToNone): Changed the first argument from CSSMutableStyleDecleration to CSSStyleDeclaration
+ (WebCore::isElementPresentational): Used to be elementHasTextDecorationProperty, now supports presentational tags
+ (WebCore::addStyleMarkup): Adds markup for style span and div
+ (WebCore::createMarkup): Uses isElementPresentational and addStyleMarkup
+
+2009-07-27 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ fix more obvious global object lookups
+ https://bugs.webkit.org/show_bug.cgi?id=27745
+
+ No new tests for these changes. I believe in many cases
+ testing to be impossible. Lack of testing justification next to
+ each change below. The remaining pieces of bug 27634 will all
+ need tests.
+
+ * bindings/js/JSDOMWindowBase.cpp:
+ (WebCore::JSDOMWindowBase::updateDocument): not testable.
+ * bindings/js/JSDataGridColumnListCustom.cpp:
+ (WebCore::JSDataGridColumnList::nameGetter): no testing for this incomplete feature.
+ * bindings/js/JSEventListener.cpp:
+ (WebCore::JSEventListener::handleEvent): would require outer frame to trigger an event in the inner frame
+ * bindings/js/JSEventTarget.cpp:
+ (WebCore::toJS): covered by other tests, always correct to pass the globalObject through.
+ * bindings/js/JSHTMLElementCustom.cpp:
+ (WebCore::JSHTMLElement::pushEventHandlerScope): unclear when this could be triggered.
+ * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
+ (WebCore::JSHTMLOptionsCollection::remove): toJS seems superfluous here to begin with.
+ * bindings/js/JSLazyEventListener.cpp:
+ (WebCore::JSLazyEventListener::parseCode): would require outer frame to trigger inner frame event.
+ * bindings/js/ScriptController.cpp:
+ (WebCore::ScriptController::jsObjectForPluginElement): only used for NPAPI binding, unclear how to test.
+ * bindings/js/ScriptEventListener.cpp:
+ (WebCore::createAttributeEventListener): unclear how to test.
+ * bindings/js/ScriptObject.cpp:
+ (WebCore::ScriptGlobalObject::set): unclear how to test/inspector only.
+ * bindings/js/ScriptObjectQuarantine.cpp:
+ (WebCore::getQuarantinedScriptObject): unclear how to test.
+ * bindings/objc/DOMInternal.mm:
+ (-[WebScriptObject _initializeScriptDOMNodeImp]): unclear how to test.
+
+2009-07-27 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
+
+ Reviewed by George Staikos.
+
+ [WML] 'title' attribute handling not correct for <a> / <anchor> elements
+ https://bugs.webkit.org/show_bug.cgi?id=27720
+
+ Unify title() implementation in WMLElement instead of several copies of the same logic.
+ We forgot WMLAnchorElement/WMLAElement, that lead to bugs. Fixes hovering links in the
+ WML manual-test suite.
+
+ * wml/WMLCardElement.cpp:
+ * wml/WMLCardElement.h:
+ * wml/WMLElement.cpp:
+ (WebCore::WMLElement::title):
+ * wml/WMLElement.h:
+ * wml/WMLOptGroupElement.cpp:
+ * wml/WMLOptGroupElement.h:
+ * wml/WMLSelectElement.cpp:
+ * wml/WMLSelectElement.h:
+
+2009-07-27 Adam Treat <adam.treat@torchmobile.com>
+
+ Speculative build fix for Windows and WinCE.
+
+ * plugins/win/PluginPackageWin.cpp:
+ (WebCore::PluginPackage::load):
+
+2009-07-27 Ojan Vafai <ojan@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27474
+ Fixes crashes due to renderer getting destroyed in updateLayout.
+ We need to call updateLayout before we call into the renderer.
+ Removed the updateLayout call from RenderTextControl and moved it
+ into the calling sites.
+
+ Also changes updateLayout to updateLayoutIgnorePendingStylesheets so
+ this works with pending stylesheets. Unfortunately, this seems to be
+ untestable. Loading an external stylesheet and then having an inline
+ script hit this code did not result in an pending stylesheets.
+
+ The are other cases of this bug in the rendering code. I'll file a
+ followup bug to audit the calls to updateLayout.
+
+ Test: fast/dom/text-control-crash-on-select.html
+
+ * dom/Document.h:
+ (WebCore::Document::inStyleRecalc): Added so the ASSERTs in updateFocusAppearance
+ and setSelectionRange could deal with cases of reentrancy into updateLayout
+ calls. This happens in a couple layout tests.
+ * dom/InputElement.cpp:
+ (WebCore::InputElement::updateSelectionRange):
+ * html/HTMLInputElement.cpp:
+ (WebCore::isTextFieldWithRendererAfterUpdateLayout):
+ (WebCore::HTMLInputElement::setSelectionStart):
+ (WebCore::HTMLInputElement::setSelectionEnd):
+ (WebCore::HTMLInputElement::select):
+ * html/HTMLTextAreaElement.cpp:
+ (WebCore::rendererAfterUpdateLayout):
+ (WebCore::HTMLTextAreaElement::setSelectionStart):
+ (WebCore::HTMLTextAreaElement::setSelectionEnd):
+ (WebCore::HTMLTextAreaElement::select):
+ (WebCore::HTMLTextAreaElement::setSelectionRange):
+ (WebCore::HTMLTextAreaElement::updateFocusAppearance):
+ * rendering/RenderTextControl.cpp:
+ (WebCore::RenderTextControl::setSelectionRange):
+
+2009-07-27 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Reviewed by Dave Levin.
+
+ [V8] Remove parameterless frame/window retrieval methods from V8Proxy.
+ https://bugs.webkit.org/show_bug.cgi?id=27737
+
+ Refactoring, no new behavior, covered by existing tests.
+
+ * bindings/v8/ScriptCallStack.cpp:
+ (WebCore::ScriptCallStack::ScriptCallStack):
+ * bindings/v8/V8NPUtils.cpp:
+ (convertV8ObjectToNPVariant): Ditto.
+ * bindings/v8/V8Proxy.cpp:
+ (WebCore::V8Proxy::retrieve): Ditto.
+ (WebCore::V8Proxy::canAccessPrivate): Ditto.
+ * bindings/v8/V8Proxy.h: Removed parameterless retrieveWindow/retrieveProxy decls.
+ * bindings/v8/custom/V8DatabaseCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL): Changed to use V8Proxy::retrieveFrameForCurrentContext().
+ * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp:
+ (WebCore::CALLBACK_FUNC_DECL): Ditto.
+ * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
+ (WebCore::CALLBACK_FUNC_DECL): Ditto.
+ * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp:
+ (WebCore::CALLBACK_FUNC_DECL): Ditto.
+ * bindings/v8/custom/V8MessageChannelConstructor.cpp:
+ (WebCore::CALLBACK_FUNC_DECL): Ditto.
+ * bindings/v8/custom/V8SQLTransactionCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL): Ditto.
+ * bindings/v8/custom/V8WorkerCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL): Ditto.
+ * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
+ (WebCore::CALLBACK_FUNC_DECL): Ditto.
+
+2009-07-27 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
+
+ Reviewed by George Staikos.
+
+ [WML] 'onpick' intrinsic event handling missing
+ https://bugs.webkit.org/show_bug.cgi?id=27723
+
+ Trigger 'onpick' intrinsic events from WMLOptionElement::setSelectedState().
+ All was in place, just forgot to enable the relevant code.
+
+ Fixes manual-tests/wml/select-onpick-event.wml
+ Test: wml/option-element-onpick.html
+
+ * wml/WMLOptionElement.cpp:
+ (WebCore::WMLOptionElement::setSelectedState):
+
+2009-07-27 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27735
+ Give a helpful name to JSLock constructor argument
+
+ * bindings/js/GCController.cpp:
+ (WebCore::collect):
+ (WebCore::GCController::gcTimerFired):
+ (WebCore::GCController::garbageCollectNow):
+ * bindings/js/JSCustomPositionCallback.cpp:
+ (WebCore::JSCustomPositionCallback::handleEvent):
+ * bindings/js/JSCustomPositionErrorCallback.cpp:
+ (WebCore::JSCustomPositionErrorCallback::handleEvent):
+ * bindings/js/JSCustomSQLStatementCallback.cpp:
+ (WebCore::JSCustomSQLStatementCallback::handleEvent):
+ * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
+ (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
+ * bindings/js/JSCustomSQLTransactionCallback.cpp:
+ (WebCore::JSCustomSQLTransactionCallback::handleEvent):
+ * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
+ (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
+ * bindings/js/JSCustomVoidCallback.cpp:
+ (WebCore::JSCustomVoidCallback::handleEvent):
+ * bindings/js/JSCustomXPathNSResolver.cpp:
+ (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
+ * bindings/js/JSEventCustom.cpp:
+ (WebCore::toJS):
+ * bindings/js/JSEventListener.cpp:
+ (WebCore::JSEventListener::handleEvent):
+ * bindings/js/JSInspectorBackendCustom.cpp:
+ (WebCore::JSInspectorBackend::currentCallFrame):
+ (WebCore::JSInspectorBackend::profiles):
+ * bindings/js/JSNodeFilterCondition.cpp:
+ (WebCore::JSNodeFilterCondition::acceptNode):
+ * bindings/js/ScheduledAction.cpp:
+ (WebCore::ScheduledAction::executeFunctionInContext):
+ * bindings/js/ScriptArray.cpp:
+ (WebCore::ScriptArray::set):
+ (WebCore::ScriptArray::createNew):
+ * bindings/js/ScriptCachedFrameData.cpp:
+ (WebCore::ScriptCachedFrameData::ScriptCachedFrameData):
+ (WebCore::ScriptCachedFrameData::restore):
+ (WebCore::ScriptCachedFrameData::clear):
+ * bindings/js/ScriptController.cpp:
+ (WebCore::ScriptController::evaluate):
+ (WebCore::ScriptController::clearWindowShell):
+ (WebCore::ScriptController::initScript):
+ (WebCore::ScriptController::updateDocument):
+ (WebCore::ScriptController::bindingRootObject):
+ (WebCore::ScriptController::windowScriptNPObject):
+ (WebCore::ScriptController::jsObjectForPluginElement):
+ (WebCore::ScriptController::clearScriptObjects):
+ * bindings/js/ScriptControllerMac.mm:
+ (WebCore::ScriptController::windowScriptObject):
+ * bindings/js/ScriptEventListener.cpp:
+ (WebCore::createAttributeEventListener):
+ * bindings/js/ScriptFunctionCall.cpp:
+ (WebCore::ScriptFunctionCall::appendArgument):
+ (WebCore::ScriptFunctionCall::call):
+ (WebCore::ScriptFunctionCall::construct):
+ * bindings/js/ScriptObject.cpp:
+ (WebCore::ScriptObject::set):
+ (WebCore::ScriptObject::createNew):
+ (WebCore::ScriptGlobalObject::set):
+ (WebCore::ScriptGlobalObject::get):
+ (WebCore::ScriptGlobalObject::remove):
+ * bindings/js/ScriptObjectQuarantine.cpp:
+ (WebCore::quarantineValue):
+ (WebCore::getQuarantinedScriptObject):
+ * bindings/js/ScriptValue.cpp:
+ (WebCore::ScriptValue::getString):
+ * bindings/js/WorkerScriptController.cpp:
+ (WebCore::WorkerScriptController::initScript):
+ (WebCore::WorkerScriptController::evaluate):
+ * bindings/objc/WebScriptObject.mm:
+ (-[WebScriptObject callWebScriptMethod:withArguments:]):
+ (-[WebScriptObject evaluateWebScript:]):
+ (-[WebScriptObject setValue:forKey:]):
+ (-[WebScriptObject valueForKey:]):
+ (-[WebScriptObject removeWebScriptKey:]):
+ (-[WebScriptObject stringRepresentation]):
+ (-[WebScriptObject webScriptValueAtIndex:]):
+ (-[WebScriptObject setWebScriptValueAtIndex:value:]):
+ (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
+ * bridge/NP_jsobject.cpp:
+ (_NPN_InvokeDefault):
+ (_NPN_Invoke):
+ (_NPN_Evaluate):
+ (_NPN_GetProperty):
+ (_NPN_SetProperty):
+ (_NPN_RemoveProperty):
+ (_NPN_HasProperty):
+ (_NPN_HasMethod):
+ (_NPN_Enumerate):
+ (_NPN_Construct):
+ * bridge/c/c_class.cpp:
+ (JSC::Bindings::CClass::~CClass):
+ (JSC::Bindings::CClass::methodsNamed):
+ (JSC::Bindings::CClass::fieldNamed):
+ * bridge/c/c_instance.cpp:
+ (JSC::Bindings::CInstance::moveGlobalExceptionToExecState):
+ (JSC::Bindings::CInstance::invokeMethod):
+ (JSC::Bindings::CInstance::invokeDefaultMethod):
+ (JSC::Bindings::CInstance::invokeConstruct):
+ (JSC::Bindings::CInstance::getPropertyNames):
+ * bridge/c/c_runtime.cpp:
+ (JSC::Bindings::CField::valueFromInstance):
+ (JSC::Bindings::CField::setValueToInstance):
+ * bridge/c/c_utility.cpp:
+ (JSC::Bindings::convertValueToNPVariant):
+ (JSC::Bindings::convertNPVariantToValue):
+ * bridge/jni/jni_class.cpp:
+ (JavaClass::JavaClass):
+ (JavaClass::~JavaClass):
+ * bridge/jni/jni_instance.cpp:
+ (JavaInstance::stringValue):
+ * bridge/jni/jni_jsobject.mm:
+ (JavaJSObject::call):
+ (JavaJSObject::eval):
+ (JavaJSObject::getMember):
+ (JavaJSObject::setMember):
+ (JavaJSObject::removeMember):
+ (JavaJSObject::getSlot):
+ (JavaJSObject::setSlot):
+ (JavaJSObject::toString):
+ (JavaJSObject::convertValueToJObject):
+ (JavaJSObject::convertJObjectToValue):
+ * bridge/jni/jni_objc.mm:
+ (JSC::Bindings::dispatchJNICall):
+ * bridge/jni/jni_runtime.cpp:
+ (JavaMethod::signature):
+ * bridge/jni/jni_runtime.h:
+ (JSC::Bindings::JavaString::JavaString):
+ (JSC::Bindings::JavaString::_commonInit):
+ (JSC::Bindings::JavaString::~JavaString):
+ (JSC::Bindings::JavaString::UTF8String):
+ * bridge/jni/jni_utility.cpp:
+ (JSC::Bindings::convertValueToJValue):
+ * bridge/objc/objc_instance.mm:
+ (ObjcInstance::moveGlobalExceptionToExecState):
+ (ObjcInstance::invokeMethod):
+ (ObjcInstance::invokeDefaultMethod):
+ (ObjcInstance::setValueOfUndefinedField):
+ (ObjcInstance::getValueOfUndefinedField):
+ * bridge/objc/objc_runtime.mm:
+ (JSC::Bindings::ObjcField::valueFromInstance):
+ (JSC::Bindings::ObjcField::setValueToInstance):
+ * bridge/objc/objc_utility.mm:
+ (JSC::Bindings::convertValueToObjcValue):
+ (JSC::Bindings::convertNSStringToString):
+ (JSC::Bindings::convertObjcValueToValue):
+ * bridge/qt/qt_instance.cpp:
+ (JSC::Bindings::QtRuntimeObjectImp::removeFromCache):
+ (JSC::Bindings::QtInstance::~QtInstance):
+ (JSC::Bindings::QtInstance::getQtInstance):
+ (JSC::Bindings::QtInstance::createRuntimeObject):
+ * bridge/qt/qt_runtime.cpp:
+ (JSC::Bindings::convertValueToQVariant):
+ (JSC::Bindings::convertQVariantToValue):
+ (JSC::Bindings::QtRuntimeMetaMethod::call):
+ (JSC::Bindings::QtRuntimeConnectionMethod::call):
+ (JSC::Bindings::QtConnectionObject::execute):
+ * bridge/runtime.cpp:
+ (JSC::Bindings::Instance::createRuntimeObject):
+ * inspector/InspectorController.cpp:
+ (WebCore::InspectorController::addScriptProfile):
+ * inspector/JavaScriptCallFrame.cpp:
+ (WebCore::JavaScriptCallFrame::evaluate):
+ * inspector/JavaScriptDebugServer.cpp:
+ (WebCore::JavaScriptDebugServer::recompileAllJSFunctions):
+ * inspector/JavaScriptProfileNode.cpp:
+ (WebCore::getTotalTime):
+ (WebCore::getSelfTime):
+ (WebCore::getTotalPercent):
+ (WebCore::getSelfPercent):
+ (WebCore::getNumberOfCalls):
+ (WebCore::getChildren):
+ (WebCore::getParent):
+ (WebCore::getHead):
+ (WebCore::getVisible):
+ (WebCore::getCallUID):
+ * plugins/PluginView.cpp:
+ (WebCore::PluginView::start):
+ (WebCore::getString):
+ (WebCore::PluginView::performRequest):
+ (WebCore::PluginView::bindingInstance):
+ * plugins/gtk/PluginViewGtk.cpp:
+ (WebCore::PluginView::dispatchNPEvent):
+ (WebCore::PluginView::handleKeyboardEvent):
+ (WebCore::PluginView::handleMouseEvent):
+ (WebCore::PluginView::setNPWindowIfNeeded):
+ (WebCore::PluginView::stop):
+ (WebCore::PluginView::init):
+ * plugins/mac/PluginViewMac.cpp:
+ (WebCore::PluginView::stop):
+ (WebCore::PluginView::setNPWindowIfNeeded):
+ (WebCore::PluginView::dispatchNPEvent):
+ * plugins/qt/PluginViewQt.cpp:
+ (WebCore::PluginView::setNPWindowIfNeeded):
+ (WebCore::PluginView::stop):
+ (WebCore::PluginView::init):
+ * plugins/win/PluginViewWin.cpp:
+ (WebCore::PluginView::dispatchNPEvent):
+ (WebCore::PluginView::handleKeyboardEvent):
+ (WebCore::PluginView::handleMouseEvent):
+ (WebCore::PluginView::setNPWindowRect):
+ (WebCore::PluginView::stop):
+
+2009-07-27 Yong Li <yong.li@torchmobile.com>
+
+ Reviewed by George Staikos.
+
+ WINCE PORT: Make plugin work for WINCE
+ https://bugs.webkit.org/show_bug.cgi?id=27713
+
+ * plugins/win/PluginDatabaseWin.cpp:
+ (SHGetValue):
+ (PathRemoveFileSpec):
+ (WebCore::addWindowsMediaPlayerPluginDirectory):
+ (WebCore::addMacromediaPluginDirectories):
+ * plugins/win/PluginPackageWin.cpp:
+ (WebCore::PluginPackage::load):
+ * plugins/win/PluginViewWin.cpp:
+ (WebCore::registerPluginView):
+ (WebCore::PluginView::wndProc):
+ (WebCore::PluginView::updatePluginWidget):
+ (WebCore::PluginView::paintWindowedPluginIntoContext):
+ (WebCore::PluginView::paint):
+ (WebCore::PluginView::handleMouseEvent):
+ (WebCore::PluginView::setParent):
+ (WebCore::PluginView::setNPWindowRect):
+ (WebCore::PluginView::stop):
+ (WebCore::PluginView::init):
+
+2009-07-27 Joseph Pecoraro <joepeck02@gmail.com>
+
+ Inspector: Tab Through Element Attributes and CSS Properties When Editing
+
+ https://bugs.webkit.org/show_bug.cgi?id=27673
+
+ Reviewed by Timothy Hatcher.
+
+ * inspector/front-end/ElementsTreeOutline.js:
+ (WebInspector.ElementsTreeElement):
+ (WebInspector.ElementsTreeElement.prototype._startEditing): refactored parameter
+ (WebInspector.ElementsTreeElement.prototype._addNewAttribute): refactored to remove excess
+ (WebInspector.ElementsTreeElement.prototype._triggerEditAttribute): provide an attribute name and this will start editing it
+ (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted.moveToNextAttributeIfNeeded): move between attributes
+ (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted):
+ * inspector/front-end/StylesSidebarPane.js:
+ (WebInspector.StylePropertiesSection.prototype.onpopulate):
+ (WebInspector.StylePropertiesSection.prototype.findTreeElementWithName): search through treeElements for a style property name
+ (WebInspector.StylePropertiesSection.prototype.addNewBlankProperty): initialize a blank property for adding new properties
+ (WebInspector.StylePropertyTreeElement.prototype.updateTitle): add references to the name and value elements
+ (WebInspector.StylePropertyTreeElement.prototype.):
+ (WebInspector.StylePropertyTreeElement.prototype):
+ * inspector/front-end/inspector.js:
+ (WebInspector.startEditing.editingCommitted): include the move direction as a parameter to the commit callback
+ (WebInspector.startEditing.element.handleKeyEvent): handle the tab key to specify the move direction
+ (WebInspector.startEditing):
+
+2009-07-27 Mike Fenton <mike.fenton@torchmobile.com>
+
+ Reviewed by Adam Treat.
+
+ Add mapping FontWeight to QFont::Weight values as requested via FIXME.
+ https://bugs.webkit.org/show_bug.cgi?id=27663
+
+ * platform/graphics/qt/FontCacheQt.cpp:
+ (WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey):
+ * platform/graphics/qt/FontPlatformData.h:
+ (WebCore::FontPlatformData::toQFontWeight):
+ * platform/graphics/qt/FontPlatformDataQt.cpp:
+ (WebCore::FontPlatformData::FontPlatformData):
+
+2009-07-27 Jakub Wieczorek <faw217@gmail.com>
+
+ Reviewed by Adam Treat.
+
+ When clearing the plugin database, clear also the timestamp map.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27651
+
+ Currently, if we clear the database, it will still think that it is up
+ to date with the plugin directories so refreshing the database again
+ after changing the search paths may not work.
+
+ * plugins/PluginDatabase.cpp:
+ (WebCore::PluginDatabase::clear):
+
+2009-07-27 Albert J. Wong <ajwong@chromium.org>
+
+ Reviewed by David Levin.
+
+ Add in trivial implementation of FontPlatformData::description() for
+ linux to fix build bustage in chromium.
+
+ Fix chromium linux build by adding missing function implementation.
+ https://bugs.webkit.org/show_bug.cgi?id=27732
+
+ Tested with a build of chromium on linux.
+
+ * platform/graphics/chromium/FontPlatformDataLinux.cpp:
+ (WebCore::FontPlatformData::description):
+ * platform/graphics/chromium/FontPlatformDataLinux.h:
+
+2009-07-27 Brent Fulgham <bfulgham@webkit.org>
+
+ Build correct, no review.
+
+ Final correction for WinCairo builds.
+ CoreServices only exists in Apple builds, but
+ some of its internal includes (e.g., <windows.h>) are needed
+ for other Windows targets.
+
+ * WebCorePrefix.h: When building for WinCairo, make sure
+ to include <windows.h>, <stdio.h>, and <ConditionalMacros.h>
+
+2009-07-27 Michelangelo De Simone <micdesim@gmail.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25552
+ Added new "pattern" attribute to HTMLInputElement and validation code
+ (validity.patternMismatch) as per HTML5 specs.
+ http://www.whatwg.org/specs/web-apps/current-work/multipage/forms.html#attr-input-pattern
+
+ Tests: fast/forms/ValidityState-002.html
+ fast/forms/ValidityState-patternMismatch-001.html
+ fast/forms/ValidityState-patternMismatch-002.html
+ fast/forms/ValidityState-patternMismatch-003.html
+ fast/forms/ValidityState-patternMismatch-004.html
+ fast/forms/ValidityState-patternMismatch-005.html
+ fast/forms/ValidityState-patternMismatch-006.html
+ fast/forms/ValidityState-patternMismatch-007.html
+ fast/forms/pattern-attribute-001.html
+ fast/forms/pattern-attribute-002.html
+ fast/forms/pattern-attribute-003.html
+
+ * html/HTMLAttributeNames.in: pattern attribute
+ * html/HTMLFormControlElement.h:
+ (WebCore::HTMLFormControlElement::patternMismatch): method definition
+ * html/HTMLInputElement.cpp:
+ (WebCore::HTMLInputElement::patternMismatch): validation method
+ * html/HTMLInputElement.h:
+ * html/HTMLInputElement.idl:
+ * html/ValidityState.h:
+ (WebCore::ValidityState::patternMismatch): validation flag
+
+2009-07-27 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
+
+ Reviewed by George Staikos.
+
+ [WML] Manual WML tests aren't properly working
+ https://bugs.webkit.org/show_bug.cgi?id=27718
+
+ Fix file paths in the manual WML layout tests, remove unneeded tests (already covered by DRT tests).
+ Add missing resources directory and test image. Reformat all testcases to a common style.
+ Add new StartTests.wml file, which should be used as starting point to crawl through the manual tests.
+
+ Filing bugs soon for all tests exposing bugs (7 in total).
+
+ * manual-tests/wml/StartTests.wml: Added.
+ * manual-tests/wml/a-br-element.wml:
+ * manual-tests/wml/a-element.wml:
+ * manual-tests/wml/a-img-element.wml:
+ * manual-tests/wml/access-target.wml:
+ * manual-tests/wml/anchor-br-element.wml:
+ * manual-tests/wml/anchor-element.wml:
+ * manual-tests/wml/anchor-img-element.wml:
+ * manual-tests/wml/card-newcontext-attr.wml:
+ * manual-tests/wml/card-onenterbackward.wml:
+ * manual-tests/wml/card-onenterforward.wml:
+ * manual-tests/wml/card-ontimer.wml:
+ * manual-tests/wml/card-title-attr.wml: Removed.
+ * manual-tests/wml/deck-access-control.wml:
+ * manual-tests/wml/go-element.wml: Removed.
+ * manual-tests/wml/input-emptyok.wml: Removed.
+ * manual-tests/wml/input-format.wml:
+ * manual-tests/wml/onevent-go.wml:
+ * manual-tests/wml/onevent-noop.wml:
+ * manual-tests/wml/onevent-prev.wml:
+ * manual-tests/wml/onevent-refresh.wml:
+ * manual-tests/wml/onevent-shadow.wml:
+ * manual-tests/wml/postfield-get.wml: Removed.
+ * manual-tests/wml/postfield-post.wml: Removed.
+ * manual-tests/wml/resources: Added.
+ * manual-tests/wml/resources/smiley.png: Added.
+ * manual-tests/wml/select-element.wml:
+ * manual-tests/wml/select-onpick-event.wml:
+ * manual-tests/wml/setvar-element.wml:
+ * manual-tests/wml/targetdeck.wml:
+ * manual-tests/wml/task-go-in-anchor.wml:
+ * manual-tests/wml/task-noop-in-do.wml:
+ * manual-tests/wml/task-noop-in-onevent.wml: Removed.
+ * manual-tests/wml/task-prev-in-anchor.wml:
+ * manual-tests/wml/task-refresh-in-anchor.wml:
+ * manual-tests/wml/template-go.wml:
+ * manual-tests/wml/template-onevent.wml: Removed.
+ * manual-tests/wml/template-ontimer.wml:
+ * manual-tests/wml/timer.wml:
+ * manual-tests/wml/variable-substitution.wml:
+
+2009-07-27 Nate Chapin <japhet@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Fix a regression introduced in r42671, which caused the js event
+ object to be hidden (some websites depend on being able to access it).
+
+ https://bugs.webkit.org/show_bug.cgi?id=27719
+
+ * bindings/v8/V8AbstractEventListener.cpp:
+ (WebCore::V8AbstractEventListener::invokeEventHandler): Make the event object visible to javascript, instead of hidden.
+
+2009-07-27 Dumitru Daniliuc <dumi@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Removing a no-op block of code in DatabaseTracker.cpp that
+ should've been removed in the patch for bug 26054.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27666
+
+ All tests in WebCore/storage pass.
+
+ * storage/DatabaseTracker.cpp:
+ (WebCore::DatabaseTracker::fullPathForDatabase): Removed a no-op
+ block of code that was moved to SQLiteFileSystem.cpp and should
+ have been removed from DatabaseTracker.cpp
+
+2009-07-27 Jian Li <jianli@chromium.org>
+
+ Reviewed by David Levin.
+
+ Fix error handling in dedicated worker and worker context.
+ https://bugs.webkit.org/show_bug.cgi?id=27525
+
+ The following problems have been fixed:
+ 1) The uncaught runtime script error is not reported using the
+ WorkerGlobalScope object's onerror attribute.
+ 2) If the error is still not handled afterwards (onerror attribute
+ is not defined as a function or it returns true), the error should
+ be reported back to the associated Worker object by firing an
+ ErrorEvent.
+ 3) If the error is still not handled by the associated Worker
+ object, the error should be reported to the user.
+
+ Test: fast/workers/worker-script-error.html
+
+ * bindings/js/JSEventListener.cpp:
+ (WebCore::JSEventListener::reportError):
+ * bindings/js/JSEventListener.h:
+ * dom/EventListener.h:
+ (WebCore::EventListener::reportError): adds a function to call
+ EventListener as a function with 3 arguments to report an error.
+ * workers/AbstractWorker.cpp:
+ (WebCore::AbstractWorker::dispatchScriptErrorEvent):
+ * workers/AbstractWorker.h:
+ * workers/DedicatedWorkerContext.cpp:
+ (WebCore::DedicatedWorkerContext::reportException):
+ * workers/WorkerContext.cpp:
+ (WebCore::WorkerContext::reportException):
+ * workers/WorkerContext.h:
+ * workers/WorkerMessagingProxy.cpp:
+ (WebCore::WorkerExceptionTask::performTask):
+ * workers/WorkerMessagingProxy.h:
+
+2009-07-27 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
+
+ Reviewed by George Staikos.
+
+ [WML] History handling / page cache / loading is buggy and depends on several hacks
+ https://bugs.webkit.org/show_bug.cgi?id=27707
+
+ Redesign WML history/loading handling. In detail:
+
+ - Remove FrameLoader::setForceReloadWmlDeck(). WML used to force a special loading behaviour
+ by calling this method from WMLGoElement & friends - instead teach FrameLoader to detect
+ WML content itself.
+
+ WML content is usually a standalone WML document (isWMLDocument()=true) or as special case
+ an XHTML document which embeds a WML document (that's the way the WML layout tests work).
+ Force WML loading behaviour even for XHTML document which embed WML documents. This only
+ applies to our layout tests, not for any real world site. Though it gives us a perfect
+ way to test the WML loading code even when we're not operating on a standalone WML document.
+
+ Whenever a WMLCardElement is inserted into the document it will check wheter it's inserted
+ in a standalone WML document or wheter the main frame document is different. If it differs
+ the main frame documents' "containsWMLContent" property is set to true.
+
+ -> Make FrameLoader::shouldReload() use the new frameContainsWMLContent() method, which
+ checks if the associated frame document is a WML document or wheter it contains WML content.
+
+ - Change FrameLoader::loadItem() to use the new frameContainsWMLContent() method for 'shouldScroll'
+ detection. WML documents (or those containing WML content) always want new loads even for in-page
+ navigation. No "scroll to anchor" mechanism should apply.
+
+ - Modify FrameLoader::canCachePageContainingThisFrame() to check for !frameContainsWMLContent().
+ WML pages should never be cached, potential security problem due the use of variables (per spec).
+
+ Add two new WML tests which were broken before, testing onenterforward/onenterbackward event handling
+ and history navigation (<prev/> task).
+
+ Tests: wml/enter-card-with-events.html
+ wml/enter-first-card-with-events.html
+
+ * dom/Document.cpp: Initialize new 'm_containsWMLContent' property.
+ (WebCore::Document::Document):
+ * dom/Document.h: Add new helper methods and 'm_containsWMLContent" variable (explained above).
+ (WebCore::Document::setContainsWMLContent):
+ (WebCore::Document::containsWMLContent):
+ * history/BackForwardList.cpp:
+ (WebCore::BackForwardList::clearWMLPageHistory): Renamed from clearWmlPageHistory() & slight cleanup.
+ * history/BackForwardList.h:
+ * loader/FrameLoader.cpp: Rework WML loading behaviour (explained above).
+ (WebCore::FrameLoader::FrameLoader):
+ (WebCore::frameContainsWMLContent):
+ (WebCore::FrameLoader::canCachePageContainingThisFrame):
+ (WebCore::FrameLoader::shouldReload):
+ (WebCore::FrameLoader::loadItem):
+ * loader/FrameLoader.h:
+ * wml/WMLCardElement.cpp:
+ (WebCore::WMLCardElement::handleIntrinsicEventIfNeeded): No need anymore to manually track history length.
+ (WebCore::WMLCardElement::insertedIntoDocument): Handle setting containsWMLContent on the main frame document.
+ * wml/WMLGoElement.cpp:
+ (WebCore::WMLGoElement::executeTask): Remove call to FrameLoader::setForceReloadWmlDeck()
+ * wml/WMLPageState.cpp: Remove 'm_historyLength' - no need anymore to track history length on our own.
+ (WebCore::WMLPageState::WMLPageState):
+ (WebCore::WMLPageState::dump):
+ (WebCore::WMLPageState::reset):
+ * wml/WMLPageState.h:
+
+2009-07-27 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Adam Roben.
+
+ Fix Chromium build breakage introduced in 46388.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27705
+
+ * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
+ (WebCore::FontPlatformData::description):
+ * platform/graphics/chromium/FontPlatformDataChromiumWin.h:
+
+2009-07-27 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ Add some more debug logging to PluginViewMac.
+
+ * plugins/mac/PluginViewMac.cpp:
+
+2009-07-27 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
+
+ Reviewed by Jan Michael Alonzo.
+
+ Remove dead code from the GTK NPAPI implementation.
+
+ * plugins/gtk/PluginViewGtk.cpp:
+
+2009-07-27 Csaba Osztrogonac <oszi@inf.u-szeged.hu>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Buildfix on Windows.
+ https://bugs.webkit.org/show_bug.cgi?id=27702
+
+ * plugins/win/PluginViewWin.cpp:
+ (WebCore::PluginView::hookedEndPaint):
+ Constraint of (*endPaint) operand modified from "g" to "m" (memory) in inline
+ assembly, because with "g" constraint, wrong assembly code generated.
+
+2009-07-27 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ WebCore bindings: Implement ScriptArray bindings.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27691
+
+ * GNUmakefile.am:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * bindings/js/ScriptArray.cpp: Added.
+ (WebCore::ScriptArray::ScriptArray):
+ (WebCore::handleException):
+ (WebCore::ScriptArray::set):
+ (WebCore::length):
+ (WebCore::ScriptArray::createNew):
+ * bindings/js/ScriptArray.h: Added.
+ (WebCore::ScriptArray::ScriptArray):
+ (WebCore::ScriptArray::jsArray):
+ * bindings/v8/ScriptArray.cpp: Added.
+ (WebCore::ScriptArray::ScriptArray):
+ (WebCore::ScriptArray::set):
+ (WebCore::ScriptArray::length):
+ (WebCore::ScriptArray::createNew):
+ * bindings/v8/ScriptArray.h: Added.
+ (WebCore::ScriptArray::ScriptArray):
+ (WebCore::ScriptArray::~ScriptArray):
+
+2009-07-27 Brent Fulgham <bfulgham@webkit.org>
+
+ Build correct, no review.
+
+ Change in r46407 broke Apple Windows build.
+ Switch to WinCairo-only test, to avoid any
+ other platform break.
+
+ * WebCorePrefix.h:
+
+2009-07-26 Brent Fulgham <bfulgham@webkit.org>
+
+ Build correct, no review.
+
+ Change in r46407 broke Apple Windows build.
+
+ * WebCorePrefix.h: Use WTF_PLATFORM_CG to decide if
+ CoreServices.h should be included.
+
+2009-07-26 Brent Fulgham <bfulgham@webkit.org>
+
+ Build correction, no review.
+
+ Change in r46195 broke WinCairo build.
+
+ * WebCorePrefix.h: CoreServices should be ignored
+ for non-Apple build.
+
+2009-07-26 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: Implement the breakpoints sidebar pane.
+ This change adds simple UI support into the existing
+ BreakpointSidebarPane.
+
+ https://bugs.webkit.org/show_bug.cgi?id=11175
+
+ * inspector/front-end/Breakpoint.js:
+ (WebInspector.Breakpoint.prototype.set enabled):
+ (WebInspector.Breakpoint.prototype.get label):
+ (WebInspector.Breakpoint.prototype.get id):
+ * inspector/front-end/BreakpointsSidebarPane.js:
+ (WebInspector.BreakpointsSidebarPane):
+ (WebInspector.BreakpointsSidebarPane.prototype.addBreakpoint):
+ (WebInspector.BreakpointsSidebarPane.prototype._appendBreakpointElement):
+ (WebInspector.BreakpointsSidebarPane.prototype._appendBreakpointElement.labelClicked):
+ (WebInspector.BreakpointsSidebarPane.prototype.removeBreakpoint):
+ (WebInspector.BreakpointsSidebarPane.prototype._breakpointEnableChanged):
+ * inspector/front-end/ScriptsPanel.js:
+ (WebInspector.ScriptsPanel):
+ (WebInspector.ScriptsPanel.prototype.scriptOrResourceForID):
+ * inspector/front-end/inspector.css:
+
+2009-07-16 Shinichiro Hamaji <hamaji@chromium.org>
+
+ Reviewed by Oliver Hunt.
+
+ Canvas: rotation of 'no-repeat' pattern still has small error
+ https://bugs.webkit.org/show_bug.cgi?id=26749
+
+ Use 1<<22 as steps of no-repeat pattern to make the error less
+ than 0.5. The previous value may cause 1 pixel errors.
+
+ Add another test to show this bug clearly.
+ Also add png expected image which was missing in the previous patch.
+
+ Test: fast/canvas/image-pattern-rotate.html
+
+ * platform/graphics/cg/PatternCG.cpp:
+ (WebCore::Pattern::createPlatformPattern):
+
+2009-07-25 Kwang Yul Seo <skyul@company100.net>
+
+ Reviewed by Darin Adler.
+
+ Windows build break due to warning C4819
+ https://bugs.webkit.org/show_bug.cgi?id=27416
+
+ Disable C4819 warning to fix build.
+
+ * WebCore.vcproj/QTMovieWin.vcproj:
+ * WebCore.vcproj/WebCore.vcproj:
+
+2009-07-25 Joseph Pecoraro <joepeck02@gmail.com>
+
+ Reviewed by Kevin McCullough.
+
+ Inspector: Keyboard Shortcuts to Switch Panels
+ https://bugs.webkit.org/show_bug.cgi?id=27286
+
+ * inspector/front-end/inspector.js:
+ (WebInspector.loaded): save a list of the order of the panels
+ (WebInspector.documentKeyDown): handle the keyboard shortcuts to traverse the panels
+
+2009-07-25 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by George Staikos.
+
+ [Qt] Fix build break after r46369
+ https://bugs.webkit.org/show_bug.cgi?id=27680
+
+ * WebCore.pro:
+
+2009-07-25 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
+
+ Reviewed by George Staikos.
+
+ [WML] Variable substitution is buggy
+ https://bugs.webkit.org/show_bug.cgi?id=27677
+
+ Substitute variables upon attach() time instead of insertedIntoDocument(). Otherwhise variable substitution
+ won't work during inter-deck jumps (same URL, different fragment). Covered by new test fast/wml/newcontext-same-deck.html.
+
+ * dom/Text.cpp:
+ (WebCore::Text::attach):
+ * dom/Text.h:
+
+2009-07-25 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
+
+ Reviewed by George Staikos.
+
+ [WML] WMLDoElement doesn't update its RenderButton object upon attach()
+ https://bugs.webkit.org/show_bug.cgi?id=27676
+
+ WMLDoElement needs to implement attach() and call updateFromElement() on its associated RenderButton.
+ Mimics HTMLButtonElement/HTMLFormControlElement behaviour and fixes several painting/styling issues covered by existing tests in fast/wml.
+
+ * wml/WMLDoElement.cpp:
+ (WebCore::WMLDoElement::attach):
+ * wml/WMLDoElement.h:
+
+2009-07-25 Pavel Feldman <pfeldman@chromium.org>
+
+ Fix Windows build breakage introduced in 46390.
+
+ * WebCore.vcproj/WebCore.vcproj:
+
+2009-07-24 Joseph Pecoraro <joepeck02@gmail.com>
+
+ Reviewed by Oliver Hunt.
+
+ Inspector: Properties Should be Sorted more Naturally
+ https://bugs.webkit.org/show_bug.cgi?id=27329
+
+ * inspector/front-end/ObjectPropertiesSection.js:
+ (WebInspector.ObjectPropertiesSection.prototype.update): use the displaySort when showing properties
+ (WebInspector.ObjectPropertiesSection.prototype._displaySort): alphaNumerical sort
+ (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate): use the displaySort when showing properties
+ * inspector/front-end/utilities.js:
+ (Object.sortedProperties): allow for an optional sorting function in Object.sortedProperties
+
+2009-07-24 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: Split InspectorController into InspectorController
+ and InspectorBackend. Everything frontend needs from InspectorController
+ will slowly migrate into the InspectorBackend.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27541
+
+ * DerivedSources.make:
+ * GNUmakefile.am:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.xcodeproj/project.pbxproj:
+ * WebCoreSources.bkl:
+ * bindings/js/JSInspectorBackendCustom.cpp: Added.
+ (WebCore::JSInspectorBackend::highlightDOMNode):
+ (WebCore::JSInspectorBackend::search):
+ (WebCore::JSInspectorBackend::databaseTableNames):
+ (WebCore::JSInspectorBackend::inspectedWindow):
+ (WebCore::JSInspectorBackend::setting):
+ (WebCore::JSInspectorBackend::setSetting):
+ (WebCore::JSInspectorBackend::wrapCallback):
+ (WebCore::JSInspectorBackend::currentCallFrame):
+ (WebCore::JSInspectorBackend::profiles):
+ * bindings/v8/custom/V8InspectorBackendCustom.cpp: Added.
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/js/JSInspectorControllerCustom.cpp: Removed.
+ * bindings/js/ScriptObject.cpp:
+ (WebCore::ScriptGlobalObject::set):
+ * bindings/js/ScriptObject.h:
+ * bindings/v8/DOMObjectsInclude.h:
+ * bindings/v8/DerivedSourcesAllInOne.cpp:
+ * bindings/v8/ScriptObject.cpp:
+ (WebCore::ScriptGlobalObject::set):
+ * bindings/v8/ScriptObject.h:
+ * bindings/v8/V8Index.cpp:
+ * bindings/v8/V8Index.h:
+ * bindings/v8/custom/V8CustomBinding.h:
+ * bindings/v8/custom/V8InspectorControllerCustom.cpp: Removed.
+ * inspector/InspectorController.cpp:
+ (WebCore::InspectorController::InspectorController):
+ (WebCore::InspectorController::windowScriptObjectAvailable):
+ * inspector/InspectorController.h:
+ (WebCore::InspectorController::inspectorBackend):
+ * inspector/InspectorBackend.cpp: Added.
+ * inspector/InspectorBackend.h: Added.
+ (WebCore::InspectorBackend::create):
+ (WebCore::InspectorBackend::inspectorController):
+ * inspector/InspectorBackend.idl: Added.
+ * inspector/InspectorController.idl: Removed.
+ * inspector/front-end/Resource.js:
+ * page/Page.cpp:
+ (WebCore::Page::Page):
+ * page/Page.h:
+
+2009-07-25 Mike Fenton <mike.fenton@torchmobile.com>
+
+ Reviewed by George Staikos.
+
+ Update WebCore/page/Frame.cpp/h to conform to WebKit
+ Style Guidelines as identified by cpplint.py.
+ https://bugs.webkit.org/show_bug.cgi?id=27654
+
+ * page/Frame.cpp:
+ (WebCore::Frame::Frame):
+ (WebCore::Frame::~Frame):
+ (WebCore::Frame::setDocument):
+ (WebCore::Frame::firstRectForRange):
+ (WebCore::createRegExpForLabels):
+ (WebCore::Frame::searchForLabelsBeforeElement):
+ (WebCore::Frame::matchLabelsAgainstElement):
+ (WebCore::Frame::selectionLayoutChanged):
+ (WebCore::Frame::setZoomFactor):
+ (WebCore::Frame::reapplyStyles):
+ (WebCore::Frame::isContentEditable):
+ (WebCore::Frame::computeAndSetTypingStyle):
+ (WebCore::Frame::selectionStartStylePropertyValue):
+ (WebCore::Frame::selectionComputedStyle):
+ (WebCore::Frame::applyEditingStyleToBodyElement):
+ (WebCore::Frame::removeEditingStyleFromBodyElement):
+ (WebCore::Frame::applyEditingStyleToElement):
+ (WebCore::Frame::selectionBounds):
+ (WebCore::Frame::currentForm):
+ (WebCore::Frame::revealSelection):
+ (WebCore::Frame::styleForSelectionStart):
+ (WebCore::Frame::setSelectionFromNone):
+ (WebCore::Frame::findString):
+ (WebCore::Frame::markAllMatchesForText):
+ (WebCore::Frame::setMarkedTextMatchesAreHighlighted):
+ (WebCore::Frame::clearFormerDOMWindow):
+ (WebCore::Frame::unfocusWindow):
+ (WebCore::Frame::respondToChangedSelection):
+ (WebCore::Frame::documentAtPoint):
+ * page/Frame.h:
+ (WebCore::Frame::create):
+ (WebCore::Frame::displayStringModifiedByEncoding):
+ (WebCore::Frame::pageZoomFactor):
+ (WebCore::Frame::textZoomFactor):
+
+2009-07-24 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Add functions to print the glyph page trees for debugging
+ https://bugs.webkit.org/show_bug.cgi?id=27671
+
+ * platform/graphics/FontData.h: Defined a description() method.
+
+ * platform/graphics/GlyphPageTreeNode.cpp:
+ (WebCore::GlyphPageTreeNode::showSubtree): Added. Prints the node and
+ its descendants.
+ (showGlyphPageTrees): Added. Prints all glyph page trees.
+ (showGlyphPageTree): Added. Prints the glyph page tree for a given page.
+ * platform/graphics/GlyphPageTreeNode.h:
+
+ * platform/graphics/SegmentedFontData.cpp:
+ (WebCore::SegmentedFontData::description): Added.
+
+ * platform/graphics/SegmentedFontData.h:
+ * platform/graphics/SimpleFontData.cpp:
+ (WebCore::SimpleFontData::description): Added. Uses the platform data
+ as the description for non-svg, non-custom fonts.
+ * platform/graphics/SimpleFontData.h:
+
+ * platform/graphics/gtk/FontPlatformData.h:
+ * platform/graphics/gtk/FontPlatformDataGtk.cpp:
+ (WebCore::FontPlatformData::description): Added. Returns a null string.
+ * platform/graphics/gtk/FontPlatformDataPango.cpp:
+ (WebCore::FontPlatformData::description): Added. Returns a null string.
+
+ * platform/graphics/mac/FontPlatformData.h:
+ * platform/graphics/mac/FontPlatformDataMac.mm:
+ (WebCore::FontPlatformData::description): Added. Returns the
+ description of the CGFont, the size and the synthetic style flags,
+ if set.
+
+ * platform/graphics/qt/FontPlatformData.h:
+ * platform/graphics/qt/FontPlatformDataQt.cpp:
+ (WebCore::FontPlatformData::description): Added. Returns a null string.
+
+ * platform/graphics/win/FontPlatformData.h:
+ * platform/graphics/win/FontPlatformDataWin.cpp:
+ (WebCore::FontPlatformData::description): Added. Returns a null string.
+
+ * platform/graphics/wince/FontPlatformData.cpp:
+ (WebCore::FontPlatformData::description): Added. Returns a null string.
+ * platform/graphics/wince/FontPlatformData.h:
+
+ * platform/graphics/wx/FontPlatformData.h:
+ * platform/graphics/wx/FontPlatformDataWx.cpp:
+ (WebCore::FontPlatformData::description): Added. Returns a null string.
+
+2009-07-24 Mads Ager <ager@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ SVG and XPath memory leaks in V8 bindings
+ https://bugs.webkit.org/show_bug.cgi?id=27488
+
+ Add proper 'create' methods to SVGPodTypeWrappers and
+ XPathNSResolvers in the V8 bindings to avoid memory leaks.
+
+ Introduce convertToV8Object methods that accept PassRefPtrs and
+ clean up the use of get() and release() on RefPtrs.
+
+ * bindings/scripts/CodeGeneratorV8.pm:
+ * bindings/v8/V8DOMWrapper.h:
+ (WebCore::V8DOMWrapper::convertNodeToV8Object):
+ (WebCore::V8DOMWrapper::convertEventToV8Object):
+ (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
+ (WebCore::V8DOMWrapper::convertEventListenerToV8Object):
+ * bindings/v8/V8SVGPODTypeWrapper.h:
+ (WebCore::V8SVGPODTypeWrapperCreatorForList::create):
+ (WebCore::V8SVGPODTypeWrapperCreatorForList::V8SVGPODTypeWrapperCreatorForList):
+ (WebCore::V8SVGStaticPODTypeWrapper::create):
+ (WebCore::V8SVGStaticPODTypeWrapper::V8SVGStaticPODTypeWrapper):
+ (WebCore::V8SVGStaticPODTypeWrapperWithPODTypeParent::create):
+ (WebCore::V8SVGStaticPODTypeWrapperWithPODTypeParent::V8SVGStaticPODTypeWrapperWithPODTypeParent):
+ (WebCore::V8SVGStaticPODTypeWrapperWithParent::create):
+ (WebCore::V8SVGStaticPODTypeWrapperWithParent::V8SVGStaticPODTypeWrapperWithParent):
+ (WebCore::V8SVGDynamicPODTypeWrapper::create):
+ (WebCore::V8SVGDynamicPODTypeWrapper::V8SVGDynamicPODTypeWrapper):
+ (WebCore::V8SVGDynamicPODTypeWrapperCache::lookupOrCreateWrapper):
+ * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8ClientRectListCustom.cpp:
+ (WebCore::INDEXED_PROPERTY_GETTER):
+ * bindings/v8/custom/V8CustomXPathNSResolver.cpp:
+ (WebCore::V8CustomXPathNSResolver::create):
+ * bindings/v8/custom/V8CustomXPathNSResolver.h:
+ * bindings/v8/custom/V8DOMWindowCustom.cpp:
+ (WebCore::NAMED_PROPERTY_GETTER):
+ * bindings/v8/custom/V8DocumentCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8ElementCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
+ (WebCore::getNamedItems):
+ (WebCore::getItem):
+ * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
+ (WebCore::NAMED_PROPERTY_GETTER):
+ (WebCore::ACCESSOR_GETTER):
+ * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
+ (WebCore::INDEXED_PROPERTY_GETTER):
+ (WebCore::NAMED_PROPERTY_GETTER):
+ * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
+ (WebCore::INDEXED_PROPERTY_GETTER):
+ * bindings/v8/custom/V8HTMLSelectElementCollectionCustom.cpp:
+ (WebCore::NAMED_PROPERTY_GETTER):
+ * bindings/v8/custom/V8InspectorControllerCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
+ (WebCore::INDEXED_PROPERTY_GETTER):
+ (WebCore::NAMED_PROPERTY_GETTER):
+ * bindings/v8/custom/V8NodeIteratorCustom.cpp:
+ (WebCore::toV8):
+ * bindings/v8/custom/V8NodeListCustom.cpp:
+ (WebCore::NAMED_PROPERTY_GETTER):
+ * bindings/v8/custom/V8SVGMatrixCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8TreeWalkerCustom.cpp:
+ (WebCore::toV8):
+ * bindings/v8/custom/V8XSLTProcessorCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+
+2009-07-24 Brian Weinstein <bweinstein@apple.com>
+
+ Reviewed by Jon Honeycutt.
+
+ Fix of <rdar://6310538> Middle-click panning should be springloaded while dragging
+ https://bugs.webkit.org/show_bug.cgi?id=21794
+
+ Create two new booleans to determine whether we have done a springloaded pan scroll, and update
+ the name of setPanScrollCursor to updatePanScrollState to more accurately describe what the function
+ does.
+
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::EventHandler): Initialized two new booleans.
+ (WebCore::EventHandler::autoscrollTimerFired):
+ (WebCore::EventHandler::updatePanScrollState): Renamed from setPanScrollCursor.
+ (WebCore::EventHandler::stopAutoscrollTimer): Clear the pan scrolling in progress flag.
+ (WebCore::EventHandler::handleMouseReleaseEvent): Clear the pan scrolling button pressed flag.
+ * page/EventHandler.h:
+
+2009-07-24 Yong Li <yong.li@torchmobile.com>
+
+ Reviewed by George Staikos.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27657
+ Add more wince port files to WebCore
+
+ Written by Yong Li <yong.li@torchmobile.com> and Lyon Chen <lyon.chen@torchmobile.com>
+
+ * loader/icon/wince/IconDatabaseWince.cpp: Added.
+ * rendering/RenderThemeWince.cpp: Added.
+ * rendering/RenderThemeWince.h: Added.
+ * storage/wince/DatabaseThreadWince.cpp: Added.
+ * storage/wince/DatabaseThreadWince.h: Added.
+ * storage/wince/LocalStorageThreadWince.cpp: Added.
+ * storage/wince/LocalStorageThreadWince.h: Added.
+ * svg/graphics/wince/SVGResourceFilterWince.cpp: Added.
+
+2009-07-24 Ryosuke Niwa <rniwa@webkit.org>
+
+ Reviewed by Justin Garcia.
+
+ execCommand('underline') can modify DOM outside of the contentEditable area
+ https://bugs.webkit.org/show_bug.cgi?id=24333
+
+ highestAncestorWithTextDecoration stops at the closest unsplittable element so that if text-decoration is applied
+ outside of it, we don't accidently modify the style attribute.
+
+ Tests: editing/style/textdecoration-outside-of-rooteditable.html
+ editing/style/textdecoration-outside-of-unsplittable-element.html
+
+ * editing/ApplyStyleCommand.cpp:
+ (WebCore::StyleChange::init):
+ (WebCore::highestAncestorWithTextDecoration):
+
+2009-07-24 Daniel Bates <dbates@intudata.com>
+
+ Reviewed by Adam Barth.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27639
+
+ Fixes false positives when evaluating certain strings that only contain
+ non-canonical characters.
+
+ Test: http/tests/security/xssAuditor/script-tag-safe.html
+
+ * page/XSSAuditor.cpp:
+ (WebCore::isNonCanonicalCharacter):
+ (WebCore::XSSAuditor::findInRequest):
+
+2009-07-24 Drew Wilson <atwilson@google.com>
+
+ Reviewed by David Levin.
+
+ Changed WorkerContext destructor to not access possibly-freed WorkerThread.
+
+ Failed assertion in WorkerContext::~WorkerContext().
+ https://bugs.webkit.org/show_bug.cgi?id=27665
+
+ * workers/DedicatedWorkerContext.cpp:
+ (WebCore::DedicatedWorkerContext::~DedicatedWorkerContext):
+ * workers/WorkerContext.cpp:
+ (WebCore::WorkerContext::~WorkerContext):
+ Removed assertion that relies on WorkerThread still being alive (moved to DedicatedWorkerContext destructor).
+
+2009-07-24 Drew Wilson <atwilson@google.com>
+
+ Reviewed by Adam Barth.
+
+ Updated code generator to properly generate bindings for WorkerContext exposed functions.
+
+ Storing a reference to WorkerContext.postMessage() and calling it later yields a TypeError
+ https://bugs.webkit.org/show_bug.cgi?id=27419
+
+ Test: fast/workers/worker-call.html
+
+ * bindings/js/JSWorkerContextBase.cpp:
+ (WebCore::toJSDedicatedWorkerContext):
+ (WebCore::toJSWorkerContext):
+ Functions that convert from JSValue to the appropriate WorkerContext/DedicatedWorkerContext object.
+ * bindings/js/JSWorkerContextBase.h:
+ Added toJS*WorkerContext APIs.
+ * bindings/scripts/CodeGeneratorJS.pm:
+ Added code to appropriately check the passed-in this object when invoking functions at global scope.
+
+2009-07-24 Drew Wilson <atwilson@google.com>
+
+ Reviewed by Adam Barth.
+
+ Refactor WorkerContext to move DedicatedWorker-specific APIs into DedicatedWorkerContext
+ https://bugs.webkit.org/show_bug.cgi?id=27420
+
+ No new tests as the existing tests already provide sufficient coverage (this is just a refactoring with no new functionality).
+
+ * DerivedSources.cpp:
+ Added JSDerivedWorkerContext.cpp
+ * DerivedSources.make:
+ Added DerivedWorkerContext files
+ * GNUmakefile.am:
+ Added DerivedWorkerContext files
+ * WebCore.gypi:
+ Added DerivedWorkerContext files
+ * WebCore.pro:
+ Added DerivedWorkerContext files
+ * WebCore.vcproj/WebCore.vcproj:
+ Added DerivedWorkerContext files
+ * WebCore.xcodeproj/project.pbxproj:
+ Added DerivedWorkerContext files
+ * bindings/js/JSDedicatedWorkerContextCustom.cpp: Added.
+ (WebCore::JSDedicatedWorkerContext::mark):
+ Custom mark function for onmessage event handler.
+ * bindings/js/JSEventTarget.cpp:
+ (WebCore::toJS):
+ Supports conversion to JSDedicatedWorkerContext.
+ (WebCore::toEventTarget):
+ * bindings/js/JSWorkerContextCustom.cpp:
+ (WebCore::JSWorkerContext::mark):
+ Moved onmessage mark handling into DedicatedWorkerContext.
+ * bindings/js/WorkerScriptController.cpp:
+ Added appropriate casts to DedicatedWorkerContext for postMessage().
+ (WebCore::WorkerScriptController::initScript):
+ Manually sets up the prototype chain for the worker context.
+ * bindings/scripts/CodeGeneratorJS.pm:
+ Changed special case code for WorkerContext to be triggered by new IsWorkerContext attribute.
+ * bindings/scripts/CodeGeneratorV8.pm:
+ Changed hard-coded tests for WorkerContext to support DedicatedWorkerContext.
+ * bindings/v8/DOMObjectsInclude.h:
+ Added DedicatedWorkerContext.h
+ * bindings/v8/DerivedSourcesAllInOne.cpp:
+ Added V8DedicatedWorkerContext.cpp
+ * bindings/v8/V8DOMWrapper.cpp:
+ (WebCore::V8DOMWrapper::getTemplate):
+ Added code to reserve extra fields for V8DedicatedWorkerContext.
+ * bindings/v8/V8Index.cpp:
+ Now includes V8DedicatedWorkerContext.h in addition to V8WorkerContext.h
+ * bindings/v8/V8Index.h:
+ Added DedicatedWorkerContext as a non-node wrapper type.
+ Removed WORKERCONTEXT as a valid template type.
+ * bindings/v8/WorkerContextExecutionProxy.cpp:
+ (WebCore::WorkerContextExecutionProxy::initContextIfNeeded):
+ Creates DedicatedWorkerContext instead of WorkerContext.
+ (WebCore::WorkerContextExecutionProxy::EventTargetToV8Object):
+ Returns DedicatedWorkerContext instead of WorkerContext.
+ (WebCore::WorkerContextExecutionProxy::retrieve):
+ Refactored to deal with DedicatedWorkerContext.
+ * bindings/v8/custom/V8AbstractWorkerCustom.cpp:
+ * bindings/v8/custom/V8CustomBinding.h:
+ * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp: Added.
+ Moved onmessage code from V8WorkerContextCustom.cpp
+ (WebCore::ACCESSOR_GETTER):
+ (WebCore::ACCESSOR_SETTER):
+ * bindings/v8/custom/V8WorkerContextCustom.cpp:
+ Moved onmessage code to V8DedicatedWorkerContextCustom.cpp
+ * dom/EventTarget.cpp:
+ (WebCore::EventTarget::toDedicatedWorkerContext):
+ * dom/EventTarget.h:
+ * workers/DedicatedWorkerContext.cpp: Added.
+ Moved DedicatedWorker-only APIs from WorkerContext.
+ (WebCore::DedicatedWorkerContext::DedicatedWorkerContext):
+ (WebCore::DedicatedWorkerContext::~DedicatedWorkerContext):
+ (WebCore::DedicatedWorkerContext::reportException):
+ (WebCore::DedicatedWorkerContext::postMessage):
+ (WebCore::DedicatedWorkerContext::dispatchMessage):
+ * workers/DedicatedWorkerContext.h: Added.
+ Moved DedicatedWorker-only APIs from WorkerContext.
+ (WebCore::DedicatedWorkerContext::create):
+ (WebCore::DedicatedWorkerContext::toDedicatedWorkerContext):
+ (WebCore::DedicatedWorkerContext::setOnmessage):
+ (WebCore::DedicatedWorkerContext::onmessage):
+ * workers/DedicatedWorkerContext.idl: Added.
+ * workers/WorkerContext.cpp:
+ (WebCore::WorkerContext::~WorkerContext):
+ Moved code that notifies parent that worker is closing down into DedicatedWorkerContext.
+ * workers/WorkerContext.h:
+ (WebCore::WorkerContext::isClosing):
+ Exposed closing flag as an API so derived classes can access it.
+ * workers/WorkerContext.idl:
+ * workers/WorkerMessagingProxy.cpp:
+ (WebCore::MessageWorkerContextTask::performTask):
+ Calls into DedicatedWorkerContext to handle message.
+ * workers/WorkerThread.cpp:
+ (WebCore::WorkerThread::workerThread):
+ Creates a DedicatedWorkerContext when the thread starts up.
+
+2009-07-24 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Move more callers to using 3 argument toJS
+ https://bugs.webkit.org/show_bug.cgi?id=27661
+
+ No functional changes, thus no tests.
+ These are all the places where we can't yet pass the
+ correct globalObject because we don't have or don't know the right one.
+
+ * bindings/js/JSCustomPositionCallback.cpp:
+ (WebCore::JSCustomPositionCallback::handleEvent):
+ * bindings/js/JSCustomPositionErrorCallback.cpp:
+ (WebCore::JSCustomPositionErrorCallback::handleEvent):
+ * bindings/js/JSCustomSQLStatementCallback.cpp:
+ (WebCore::JSCustomSQLStatementCallback::handleEvent):
+ * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
+ (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
+ * bindings/js/JSCustomSQLTransactionCallback.cpp:
+ (WebCore::JSCustomSQLTransactionCallback::handleEvent):
+ * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
+ (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
+ * bindings/js/JSNodeFilterCondition.cpp:
+ (WebCore::JSNodeFilterCondition::acceptNode):
+
+2009-07-24 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Fix the last of the x-frame constructor calls to have the right prototype chains
+ https://bugs.webkit.org/show_bug.cgi?id=27645
+
+ Fix the last few constructors to use their stored globalObject pointer when
+ constructing objects instead of the lexicalGlobalObject().
+
+ * bindings/js/JSAudioConstructor.cpp:
+ (WebCore::constructAudio):
+ * bindings/js/JSImageConstructor.cpp:
+ (WebCore::constructImage):
+ * bindings/js/JSMessageChannelConstructor.cpp:
+ (WebCore::JSMessageChannelConstructor::construct):
+ * bindings/js/JSOptionConstructor.cpp:
+ (WebCore::constructHTMLOptionElement):
+ * bindings/js/JSWebKitPointConstructor.cpp:
+ (WebCore::constructWebKitPoint):
+ * bindings/js/JSWorkerConstructor.cpp:
+ (WebCore::constructWorker):
+
+2009-07-24 Jian Li <jianli@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ [V8] Cleanup exception handling in worker evaluation code.
+ https://bugs.webkit.org/show_bug.cgi?id=27282
+
+ * bindings/v8/WorkerContextExecutionProxy.cpp:
+ (WebCore::WorkerContextExecutionProxy::evaluate):
+ * bindings/v8/WorkerContextExecutionProxy.h:
+ (WebCore::WorkerContextExecutionState::WorkerContextExecutionState):
+ * bindings/v8/WorkerScriptController.cpp:
+ (WebCore::WorkerScriptController::evaluate):
+ (WebCore::WorkerScriptController::setException):
+
+2009-07-24 Stephen White <senorblanco@chromium.org>
+
+ Reviewed by David Levin.
+
+ Reverting r46157, since it may be causing problems with Chromium
+ reliability (see http://crbug.com/17569).
+
+ https://bugs.webkit.org/show_bug.cgi?id=27388
+
+ * platform/graphics/skia/GraphicsContextSkia.cpp:
+ (WebCore::GraphicsContext::drawLine):
+ * platform/graphics/skia/PlatformContextSkia.cpp:
+ (PlatformContextSkia::setupPaintForStroking):
+
+2009-07-24 Joseph Pecoraro <joepeck02@gmail.com>
+
+ Reviewed by Timothy Hatcher.
+
+ REGRESSION: inspector seems broken in ToT WebKit
+ https://bugs.webkit.org/show_bug.cgi?id=27646
+
+ * inspector/front-end/Console.js:
+ (WebInspector.Console.prototype._ensureCommandLineAPIInstalled):
+
+2009-07-24 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ Add the shadow style member to the ShadowData constructor and ==
+ operator
+
+ * rendering/style/ShadowData.cpp:
+ (WebCore::ShadowData::ShadowData):
+ (WebCore::ShadowData::operator==):
+
+2009-07-24 Jian Li <jianli@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ [V8] More V8 bindings changes to use ErrorEvent.
+ https://bugs.webkit.org/show_bug.cgi?id=27630
+
+ * bindings/v8/DOMObjectsInclude.h:
+ * bindings/v8/DerivedSourcesAllInOne.cpp:
+ * bindings/v8/V8DOMWrapper.cpp:
+ (WebCore::V8DOMWrapper::convertEventToV8Object):
+ * bindings/v8/V8Index.cpp:
+ * bindings/v8/V8Index.h:
+
+2009-07-24 Brent Fulgham <bfulgham@webkit.org>
+
+ Reviewed by Dave Hyatt.
+
+ Clean up dependencies on Apple support libraries for non-Apple build.
+ http://bugs.webkit.org/show_bug.cgi?id=27532.
+
+ * platform/graphics/win/SimpleFontDataWin.cpp: Conditionalize references
+ to ApplicationServices.h and WebKitSystemInterface.h
+
+2009-07-24 Dan Bernstein <mitz@apple.com>
+
+ Another attempted build fix
+
+ * bindings/js/JSAbstractWorkerCustom.cpp:
+
+2009-07-24 Dan Bernstein <mitz@apple.com>
+
+ Attempted build fix
+
+ * bindings/js/JSAbstractWorkerCustom.cpp:
+ (WebCore::toJS):
+
+2009-07-24 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Build fix for 64 bit Linux.
+
+ int64_t is long on Linux 64 bit and not long long, thus
+ getFileSize with a int64_t out value fails to build.
+
+ Use a temporary to work around the problem.
+
+ * loader/appcache/ApplicationCacheStorage.cpp:
+ (WebCore::ApplicationCacheStorage::spaceNeeded):
+
+2009-07-24 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Update all CREATE_DOM_*_WRAPPER callers to pass globalObject
+ https://bugs.webkit.org/show_bug.cgi?id=27644
+
+ This is another attempt at making the change for bug 27634 smaller.
+ I included the changes to make_names.pl as well as any file which
+ used CREATE_DOM_*_WRAPPER macros.
+
+ The changes to the construct* functions are what fix the cases in
+ fast/dom/constructed-objects-prototypes.html
+
+ The changes to passing globalObject through CREATE_* are what fix
+ fast/dom/prototype-inheritance-2.html
+
+ * bindings/js/JSCDATASectionCustom.cpp:
+ (WebCore::toJSNewlyCreated): pass globalObject.
+ * bindings/js/JSCSSRuleCustom.cpp:
+ (WebCore::toJS): pass globalObject.
+ * bindings/js/JSCSSValueCustom.cpp:
+ (WebCore::toJS): pass globalObject.
+ * bindings/js/JSDOMBinding.h: updated macros to pass globalObject.
+ * bindings/js/JSDocumentCustom.cpp:
+ (WebCore::toJS): pass globalObject.
+ * bindings/js/JSElementCustom.cpp:
+ (WebCore::JSElement::setAttributeNode): use globalObject() for wrapping return value.
+ (WebCore::JSElement::setAttributeNodeNS): use globalObject() for wrapping return value.
+ (WebCore::toJSNewlyCreated): pass globalObject.
+ * bindings/js/JSEventCustom.cpp:
+ (WebCore::JSEvent::clipboardData): pass globalObject.
+ (WebCore::toJS): pass globalObject.
+ * bindings/js/JSHTMLCollectionCustom.cpp:
+ (WebCore::getNamedItems): use globalObject() for wrapping returned collection items.
+ (WebCore::callHTMLCollection): use globalObject() for wrapping returned collection items.
+ (WebCore::JSHTMLCollection::item): use globalObject() for wrapping returned collection items.
+ (WebCore::toJS): pass globalObject.
+ * bindings/js/JSImageDataCustom.cpp:
+ (WebCore::toJS): pass globalObject.
+ * bindings/js/JSNodeCustom.cpp:
+ (WebCore::createWrapper): pass globalObject.
+ * bindings/js/JSSVGPathSegCustom.cpp:
+ (WebCore::toJS): pass globalObject.
+ * bindings/js/JSStyleSheetCustom.cpp:
+ (WebCore::toJS): pass globalObject.
+ * bindings/js/JSTextCustom.cpp:
+ (WebCore::toJSNewlyCreated): pass globalObject.
+ * bindings/js/JSWebKitCSSMatrixConstructor.cpp:
+ (WebCore::constructWebKitCSSMatrix): use constructors globalObject when constructing
+ * bindings/js/JSXMLHttpRequestConstructor.cpp:
+ (WebCore::constructXMLHttpRequest): use constructors globalObject when constructing
+ * bindings/js/JSXSLTProcessorConstructor.cpp:
+ (WebCore::constructXSLTProcessor): use constructors globalObject when constructing
+ * dom/make_names.pl:
+ Pass globalObject through CREATE_* macros and various support functions.
+
+2009-07-24 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Update CodeGeneratorJS.pm to support passing JSDOMGlobalObject* to toJS calls
+ https://bugs.webkit.org/show_bug.cgi?id=27643
+
+ This is an attempt to make this change as small as possible.
+ I started by including all changes to CodeGeneratorJS.pm from bug 27634,
+ and then made the minimal amount of other changes needed to support that change.
+
+ Most toJS implementations ignore their passed JSDOMGlobalObject.
+ There are stub 2-argument toJS, toJSNewlyCreated implementations to help compiling.
+ All places where it is not clear what we should pass as the global object
+ (or where the global object is simply not available, like for some SVG bindings)
+ we pass deprecatedGlobalObjectForPrototype instead.
+
+ * bindings/js/JSCDATASectionCustom.cpp:
+ (WebCore::toJSNewlyCreated): add ignored JSDOMGlobalObject*
+ * bindings/js/JSCSSRuleCustom.cpp:
+ (WebCore::toJS): add ignored JSDOMGlobalObject*
+ * bindings/js/JSCSSValueCustom.cpp:
+ (WebCore::toJS): add ignored JSDOMGlobalObject*
+ * bindings/js/JSDOMBinding.cpp:
+ (WebCore::setDOMException): pass the wrong globalObject for now
+ * bindings/js/JSDOMBinding.h:
+ Pass the wrong global object to the CREATE_ macros for now.
+ In the next change we'll come back and pass the correct one.
+ That will require changes to make_names.pl.
+ (WebCore::DOMObjectWithGlobalPointer::scriptExecutionContext):
+ (WebCore::DOMObjectWithGlobalPointer::DOMObjectWithGlobalPointer):
+ (WebCore::DOMObjectWithGlobalPointer::~DOMObjectWithGlobalPointer):
+ (WebCore::createDOMObjectWrapper):
+ (WebCore::getDOMObjectWrapper):
+ (WebCore::createDOMNodeWrapper):
+ (WebCore::getDOMNodeWrapper):
+ (WebCore::toJS): added to convert 2 arg calls to 3 arg calls to limit the scope of this change.
+ (WebCore::toJSNewlyCreated):
+ * bindings/js/JSDOMWindowBase.cpp:
+ (WebCore::toJS): DOMWindow always uses its own prototype chain.
+ * bindings/js/JSDOMWindowBase.h:
+ * bindings/js/JSDocumentCustom.cpp:
+ (WebCore::toJS): add ignored JSDOMGlobalObject*
+ * bindings/js/JSElementCustom.cpp:
+ (WebCore::toJSNewlyCreated): add ignored JSDOMGlobalObject*
+ * bindings/js/JSEventCustom.cpp:
+ (WebCore::toJS): add ignored JSDOMGlobalObject*
+ * bindings/js/JSEventTarget.cpp:
+ (WebCore::toJS): add ignored JSDOMGlobalObject*
+ * bindings/js/JSEventTarget.h:
+ * bindings/js/JSHTMLCollectionCustom.cpp:
+ (WebCore::toJS): add ignored JSDOMGlobalObject*
+ * bindings/js/JSImageDataCustom.cpp:
+ (WebCore::toJS): add ignored JSDOMGlobalObject*
+ * bindings/js/JSNodeCustom.cpp:
+ (WebCore::createWrapper): pass globalObject to toJS(Document*) to avoid recursion
+ (WebCore::toJSNewlyCreated): add ignored JSDOMGlobalObject*
+ (WebCore::toJS): add ignored JSDOMGlobalObject*
+ * bindings/js/JSSVGElementInstanceCustom.cpp:
+ (WebCore::toJS): pass globalObject along
+ * bindings/js/JSSVGMatrixCustom.cpp:
+ (WebCore::JSSVGMatrix::inverse): pass wrong globalObject for now.
+ (WebCore::JSSVGMatrix::rotateFromVector): pass wrong globalObject for now.
+ * bindings/js/JSSVGPathSegCustom.cpp:
+ (WebCore::toJS):
+ * bindings/js/JSSVGPathSegListCustom.cpp:
+ All of these methods need a globalObject, but most SVG binding don't have
+ space for one, so we just pass the lexicalGlobalObject for now.
+ (WebCore::JSSVGPathSegList::initialize):
+ (WebCore::JSSVGPathSegList::getItem):
+ (WebCore::JSSVGPathSegList::insertItemBefore):
+ (WebCore::JSSVGPathSegList::replaceItem):
+ (WebCore::JSSVGPathSegList::removeItem):
+ (WebCore::JSSVGPathSegList::appendItem):
+ * bindings/js/JSSVGPointListCustom.cpp:
+ (WebCore::finishGetter): pass wrong globalObject for now.
+ (WebCore::finishSetter):
+ (WebCore::finishSetterReadOnlyResult):
+ * bindings/js/JSSVGTransformListCustom.cpp:
+ (WebCore::finishGetter): pass wrong globalObject for now.
+ (WebCore::finishSetter):
+ (WebCore::finishSetterReadOnlyResult):
+ * bindings/js/JSStyleSheetCustom.cpp:
+ (WebCore::toJS): add ignored JSDOMGlobalObject*
+ * bindings/js/JSTextCustom.cpp:
+ (WebCore::toJSNewlyCreated): add ignored JSDOMGlobalObject*
+ * bindings/js/JSWorkerContextBase.cpp:
+ (WebCore::toJS): WorkerContext always uses its own prototype chain since it's a GlobalObject subclass.
+ * bindings/js/JSWorkerContextBase.h:
+ * bindings/scripts/CodeGeneratorJS.pm:
+ All generated toJS calls now pass a globalObject.
+ All generated toJS implementations now expect a globalObject.
+ Simplified all the slot casts by using a "castedThis" local.
+ SVG bindings which don't have a globalObject() accessor pass the deprecated lexicalGlobalObject instead.
+ Simplified printing of constructor objects using a $constructorClassName variable.
+ All generated constructor functions follow the construct$className form to match the custom constructors.
+
+2009-07-24 Joseph Pecoraro <joepeck02@gmail.com>
+
+ Reviewed by Timothy Hatcher.
+
+ typing "document.__proto__" in inspector throws exception
+ https://bugs.webkit.org/show_bug.cgi?id=27169
+
+ * inspector/front-end/utilities.js:
+ (Object.type):
+
+2009-07-24 Andrei Popescu <andreip@google.com>
+
+ Reviewed by Anders Carlsson.
+
+ ApplicationCache should have size limit
+ https://bugs.webkit.org/show_bug.cgi?id=22700
+
+ https://lists.webkit.org/pipermail/webkit-dev/2009-May/007560.html
+
+ This change implements a mechanism for limiting the maximum size of
+ the application cache file. When this size is reached, a ChromeClient
+ callback is invoked asynchronously and the saving of the last (failed)
+ cache is retried automatically.
+
+ This change also extends the ApplicationCacheStorage API by allowing
+ a client to query or modify the application cache without having to
+ load any resources into memory.
+
+ Test: http/tests/appcache/max-size.html
+
+ * WebCore.base.exp:
+ Exports the symbols required by the DumpRenderTree test application.
+ * loader/EmptyClients.h:
+ Adds empty implementation of the new ChromeClient methods.
+ * loader/appcache/ApplicationCache.cpp:
+ * loader/appcache/ApplicationCache.h:
+ Adds the ability to calculate the approximate size of an ApplicationCache object.
+ * loader/appcache/ApplicationCacheGroup.cpp:
+ * loader/appcache/ApplicationCacheGroup.h:
+ Invokes the ChromeClient callback when the storage layer runs out of space.
+ After the callback is invoked, we re-attempt to store the newest cache,
+ in case the ChromeClient has freed some space.
+ * loader/appcache/ApplicationCacheResource.cpp:
+ * loader/appcache/ApplicationCacheResource.h:
+ Adds the ability to calculate the approximate size of an ApplicationCacheResource object.
+ * loader/appcache/ApplicationCacheStorage.cpp:
+ * loader/appcache/ApplicationCacheStorage.h:
+ Enforces a maximum size for the application cache file.
+ * page/ChromeClient.h:
+ Adds a new callback, invoked when the ApplicationCacheStorage reports that it has
+ reached the maximum size for its database file.
+ * platform/sql/SQLiteDatabase.cpp:
+ * platform/sql/SQLiteDatabase.h:
+ Adds a new method that allows querying for the amount of unused space inside the
+ application cache database file.
+
+2009-07-24 Xan Lopez <xlopez@igalia.com>
+
+ Reviewed by Jan Alonzo.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25415
+ [GTK][ATK] Please implement support for get_text_at_offset
+
+ Use TextEncoding facilities to convert between UTF16 and UTF8
+ instead of rolling our own solution.
+
+ * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
+ (convertUniCharToUTF8):
+
+2009-07-24 Xan Lopez <xlopez@igalia.com>
+
+ Reviewed by Jan Alonzo.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25415
+ [GTK][ATK] Please implement support for get_text_at_offset
+
+ Fix confusion in g_substr between length in bytes and length in
+ characters. Was causing crashes in some situations when dealing
+ with non-ASCII text encoded as UTF8.
+
+ * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
+ (g_substr):
+
+2009-07-24 Joseph Pecoraro <joepeck02@gmail.com>
+
+ Reviewed by Timothy Hatcher.
+
+ Inspector: Impossible to add an attribute to a node without attributes
+ https://bugs.webkit.org/show_bug.cgi?id=21108
+
+ * inspector/front-end/ElementsTreeOutline.js:
+ (WebInspector.ElementsTreeElement):
+ (WebInspector.ElementsTreeElement.prototype.set hovered):
+ (WebInspector.ElementsTreeElement.prototype.toggleNewButton):
+ (WebInspector.ElementsTreeElement.prototype.ondblclick):
+ (WebInspector.ElementsTreeElement.prototype._startEditing):
+ (WebInspector.ElementsTreeElement.prototype._addNewAttribute):
+ (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted):
+ * inspector/front-end/inspector.css:
+
+2009-07-24 Keishi Hattori <casey.hattori@gmail.com>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: Adds support for Firebug's magic $0 variable to access inspected node
+ https://bugs.webkit.org/show_bug.cgi?id=17907
+
+ * inspector/front-end/Console.js:
+ (WebInspector.Console.prototype._ensureCommandLineAPIInstalled): Added _inspectorCommandLineAPI.{
+ _inspectedNodes, _addInspectedNode, $0, $1, $n}
+ * inspector/front-end/ElementsPanel.js:
+ (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged): Stores the inspected node history
+ in _inspectorCommandLineAPI._inspectedNodes
+ (WebInspector.ElementsPanel):
+
+2009-07-24 Joseph Pecoraro <joepeck02@gmail.com>
+
+ Reviewed by Timothy Hatcher.
+
+ Dragging a resource in the sidebar should drag it's URL
+ https://bugs.webkit.org/show_bug.cgi?id=14410
+
+ * inspector/front-end/ResourcesPanel.js:
+ (WebInspector.ResourceSidebarTreeElement.prototype.onattach):
+
+2009-07-24 Joseph Pecoraro <joepeck02@gmail.com>
+
+ Reviewed by Timothy Hatcher.
+
+ Double click on a resource in the sidebar should open that resource in Safari
+ https://bugs.webkit.org/show_bug.cgi?id=14409
+
+ * inspector/front-end/ResourcesPanel.js:
+ (WebInspector.ResourceSidebarTreeElement.prototype.ondblclick): open a resource url
+
+2009-07-24 Jan Michael Alonzo <jmalonzo@webkit.org>
+
+ Reviewed by Xan Lopez.
+
+ Bump pango version requirement to 1.12 and remove unnecessary #ifdefs.
+
+ * platform/graphics/gtk/FontGtk.cpp:
+ (WebCore::getDefaultPangoLayout):
+ * platform/graphics/gtk/FontPlatformDataPango.cpp:
+ (WebCore::FontPlatformData::FontPlatformData):
+ * platform/gtk/Language.cpp:
+
+2009-07-24 Joseph Pecoraro <joepeck02@gmail.com>
+
+ Reviewed by Timothy Hatcher.
+
+ Inspector: Missing UIString and other localizedString.js fixes
+ https://bugs.webkit.org/show_bug.cgi?id=27288
+
+ * English.lproj/localizedStrings.js:
+
+2009-07-24 Joseph Pecoraro <joepeck02@gmail.com>
+
+ Reviewed by Timothy Hatcher.
+
+ Inspector: Should Syntax Highlight JSON
+ https://bugs.webkit.org/show_bug.cgi?id=27503
+
+ * inspector/front-end/SourceView.js:
+ (WebInspector.SourceView.prototype._contentLoaded):
+
+2009-07-24 Mike Fenton <mike.fenton@torchmobile.com>
+
+ Reviewed by Eric Seidel.
+
+ Update WebCore/page/DOMTimer.cpp/h to conform to WebKit
+ Style Guidelines as identified by cpplint.py.
+ https://bugs.webkit.org/show_bug.cgi?id=27624
+
+ * page/DragController.cpp:
+ (WebCore::DragController::~DragController):
+ (WebCore::documentFragmentFromDragData):
+ (WebCore::DragController::dragEnded):
+ (WebCore::DragController::dragEntered):
+ (WebCore::DragController::dragExited):
+ (WebCore::DragController::dragUpdated):
+ (WebCore::DragController::performDrag):
+ (WebCore::asFileInput):
+ (WebCore::DragController::tryDocumentDrag):
+ (WebCore::DragController::delegateDragSourceAction):
+ (WebCore::DragController::concludeEditDrag):
+ (WebCore::DragController::canProcessDrag):
+ (WebCore::DragController::tryDHTMLDrag):
+ (WebCore::DragController::mayStartDragAtEventLocation):
+ (WebCore::getCachedImage):
+ (WebCore::getImage):
+ (WebCore::prepareClipboardForImageDrag):
+ (WebCore::dragLocForDHTMLDrag):
+ (WebCore::DragController::startDrag):
+ (WebCore::DragController::doImageDrag):
+ (WebCore::DragController::doSystemDrag):
+ (WebCore::DragController::placeDragCaret):
+
+2009-07-24 Mike Fenton <mike.fenton@torchmobile.com>
+
+ Reviewed by Eric Seidel.
+
+ Update WebCore/page/Chrome.cpp to conform to WebKit
+ Style Guidelines as identified by cpplint.py.
+ https://bugs.webkit.org/show_bug.cgi?id=27608
+
+ * page/Chrome.cpp:
+ (WebCore::Chrome::runBeforeUnloadConfirmPanel):
+ (WebCore::Chrome::runJavaScriptAlert):
+ (WebCore::Chrome::runJavaScriptConfirm):
+ (WebCore::Chrome::runJavaScriptPrompt):
+ (WebCore::Chrome::shouldInterruptJavaScript):
+ (WebCore::Chrome::setToolTip):
+ (WebCore::Chrome::requestGeolocationPermissionForFrame):
+ (WebCore::ChromeClient::generateReplacementFile):
+ (WebCore::ChromeClient::paintCustomScrollbar):
+
+2009-07-24 Mike Fenton <mike.fenton@torchmobile.com>
+
+ Reviewed by Eric Seidel.
+
+ Update WebCore/page/Coordinates.cpp to conform to WebKit
+ Style Guidelines as identified by cpplint.py.
+ https://bugs.webkit.org/show_bug.cgi?id=27614
+
+ * page/Coordinates.cpp:
+ (WebCore::Coordinates::toString):
+
+2009-07-24 Mike Fenton <mike.fenton@torchmobile.com>
+
+ Reviewed by Eric Seidel.
+
+ Update WebCore/page/DOMSelection.cpp/h to conform to WebKit
+ Style Guidelines as identified by cpplint.py.
+ https://bugs.webkit.org/show_bug.cgi?id=27614
+
+ * page/DOMSelection.cpp:
+ (WebCore::DOMSelection::setBaseAndExtent):
+ (WebCore::DOMSelection::modify):
+ (WebCore::DOMSelection::addRange):
+ (WebCore::DOMSelection::deleteFromDocument):
+ * page/DOMSelection.h:
+
+2009-07-24 Mike Fenton <mike.fenton@torchmobile.com>
+
+ Reviewed by Eric Seidel.
+
+ Update WebCore/page/DOMTimer.cpp/h to conform to WebKit
+ Style Guidelines as identified by cpplint.py.
+ https://bugs.webkit.org/show_bug.cgi?id=27618
+
+ * page/DOMTimer.cpp:
+ (WebCore::DOMTimer::DOMTimer):
+ (WebCore::DOMTimer::~DOMTimer):
+ (WebCore::DOMTimer::fired):
+ (WebCore::DOMTimer::suspend):
+ (WebCore::DOMTimer::resume):
+ (WebCore::DOMTimer::canSuspend):
+ * page/DOMTimer.h:
+ (WebCore::DOMTimer::minTimerInterval):
+ (WebCore::DOMTimer::setMinTimerInterval):
+
+2009-07-24 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Classes call DOMObject::mark() explicitly, should call DOMObjectWithGlobal::mark() instead
+ https://bugs.webkit.org/show_bug.cgi?id=27641
+
+ Nothing uses globalObject() yet, but this was causing crashes
+ in the patch for bug 27634. This is covered by fast/dom/gc-6.html.
+
+ I decided to change these to Base:: instead of DOMObjectWithGlobal::
+ for future-proofing. All autogenerated classes use a typedef Base
+ to avoid bugs like these. Sadly C++ does not have a built-in super:: we could use.
+
+ * WebCore.xcodeproj/project.pbxproj:
+ * bindings/js/JSAbstractWorkerCustom.cpp:
+ (WebCore::JSAbstractWorker::mark):
+ * bindings/js/JSDOMApplicationCacheCustom.cpp:
+ (WebCore::JSDOMApplicationCache::mark):
+ * bindings/js/JSMessageChannelCustom.cpp:
+ (WebCore::JSMessageChannel::mark):
+ * bindings/js/JSMessagePortCustom.cpp:
+ (WebCore::JSMessagePort::mark):
+ * bindings/js/JSNamedNodesCollection.cpp:
+ (WebCore::JSNamedNodesCollection::getOwnPropertySlot):
+ * bindings/js/JSNodeCustom.cpp:
+ (WebCore::JSNode::mark):
+ * bindings/js/JSNodeFilterCustom.cpp:
+ (WebCore::JSNodeFilter::mark):
+ * bindings/js/JSNodeIteratorCustom.cpp:
+ (WebCore::JSNodeIterator::mark):
+ * bindings/js/JSSVGElementInstanceCustom.cpp:
+ (WebCore::JSSVGElementInstance::mark):
+ * bindings/js/JSTreeWalkerCustom.cpp:
+ (WebCore::JSTreeWalker::mark):
+
+2009-07-22 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Make most DOMObjects hold onto a JSDOMGlobalObject*
+ https://bugs.webkit.org/show_bug.cgi?id=27588
+
+ This change is almost entirely plumbing. Only one functional
+ change as part of this all (window.document.constructor has the correct prototype)
+ Changes are detailed below.
+
+ inner.document.constructor is fixed because all properties on the window
+ object are created with the correct globalObject (instead of the lexical one).
+ Since all objects now carry a globalObject pointer, when document creates
+ HTMLDocumentConstructor it now has the right globalObject to use.
+
+ Tests:
+ fast/dom/prototype-inheritance.html
+ fast/dom/prototype-inheritance-2.html
+
+ * bindings/js/DOMObjectWithSVGContext.h:
+ (WebCore::DOMObjectWithSVGContext::DOMObjectWithSVGContext):
+ Update the comment and add an ignored globalObject argument.
+ * bindings/js/JSDOMBinding.h:
+ Pass a globalObject to all DOMObjects during creation. Currently it's the wrong global object.
+ Once toJS is passed a globalObject it will be the right one.
+ (WebCore::createDOMObjectWrapper):
+ (WebCore::createDOMNodeWrapper):
+ * bindings/js/JSDOMGlobalObject.h:
+ (WebCore::JSDOMGlobalObject::globalObject): Makes binding generation easier.
+ * bindings/js/JSDOMWindowCustom.cpp:
+ (WebCore::JSDOMWindow::history): JSHistory is now passed a globalObject, but since it has no custom constructor it doesn't use it.
+ (WebCore::JSDOMWindow::location): JSLocation is now passed a globalObject, but since it has no custom constructor it doesn't use it.
+ * bindings/js/JSDocumentCustom.cpp:
+ (WebCore::JSDocument::location): JSLocation is now passed a globalObject, but since it has no custom constructor it doesn't use it.
+ * bindings/js/JSHTMLAllCollection.h:
+ (WebCore::JSHTMLAllCollection::JSHTMLAllCollection):
+ * bindings/js/JSHTMLCollectionCustom.cpp: Re-factoring needed to pass globalObject to JSNamedNodesCollection constructor.
+ (WebCore::getNamedItems):
+ (WebCore::callHTMLCollection):
+ (WebCore::JSHTMLCollection::canGetItemsForName):
+ (WebCore::JSHTMLCollection::nameGetter):
+ (WebCore::JSHTMLCollection::item):
+ (WebCore::JSHTMLCollection::namedItem):
+ * bindings/js/JSHTMLFormElementCustom.cpp:
+ (WebCore::JSHTMLFormElement::nameGetter):
+ * bindings/js/JSNamedNodesCollection.cpp:
+ Now passed globalObject. This is tested by inner.document.forms.testForm.
+ The passed globalObject is still wrong until toJS is fixed.
+ (WebCore::JSNamedNodesCollection::JSNamedNodesCollection):
+ * bindings/js/JSNamedNodesCollection.h:
+ * bindings/js/JSSharedWorkerConstructor.cpp:
+ Add DOMConstructorObject missed by http://trac.webkit.org/changeset/45938
+ This class is not compiled by default, so not testable.
+ (WebCore::JSSharedWorkerConstructor::JSSharedWorkerConstructor):
+ * bindings/js/JSSharedWorkerConstructor.h:
+ * bindings/scripts/CodeGeneratorJS.pm:
+ Make all bindings objects carry a globalObject pointer using DOMObjectWithGlobalPointer.
+ SVG bindings which need a context() pointer do not have enough space for globalObject() too.
+ WorkerContext does not need a globalObject (it is one), so special case it.
+ Make all .constructor calls use the stored globalObject(). This is what fixes window.document.constructor.
+ Make all constructors inherit from DOMConstructorObject for consistency. Since the auto-bound constructors
+ override createStructure anyway, there is no functional change here. Just completing work started in r45938.
+
+2009-07-23 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Geoff Garen.
+
+ WebCore has a few places that don't gracefully handle a null request returned from willSendRequest.
+ https://bugs.webkit.org/show_bug.cgi?id=27595
+
+ Test: http/tests/misc/will-send-request-returns-null-on-redirect.html
+
+ * inspector/InspectorController.cpp:
+ (WebCore::InspectorController::removeResource): Null-check the request URL.
+
+ * platform/network/cf/ResourceHandleCFNet.cpp: Ditto, and return null instead of creating an empty one.
+ (WebCore::willSendRequest):
+
+2009-07-23 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Bug 27633 - AXLoadComplete can be fired off to frequently
+ https://bugs.webkit.org/show_bug.cgi?id=27633
+
+ An integration issue left out some curly braces.
+
+ * dom/Document.cpp:
+ (WebCore::Document::implicitClose):
+
+2009-07-23 Darin Adler <darin@apple.com>
+
+ Reviewed by Brady Eidson.
+
+ URL appears in back/forward button menu instead of title for items with custom representation
+ https://bugs.webkit.org/show_bug.cgi?id=27586
+ rdar://problem/5060337
+
+ * WebCore.base.exp: Exported DocumentLoader::setTitle for use by Mac WebKit.
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::didChangeTitle): Tightened code to check if the document
+ loader is the correct one; previously this would never happen because we'd
+ commit the load before any title changes could be registered, but now we can
+ encounter a case where we get a title during a provisional load.
+
+2009-07-23 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Dave Hyatt.
+
+ [CSS3 Backgrounds and Borders] Add support for inset box shadows
+ https://bugs.webkit.org/show_bug.cgi?id=27582
+
+ Test: fast/box-shadow/inset.html
+
+ * css/CSSComputedStyleDeclaration.cpp:
+ (WebCore::valueForShadow): Set the ShadowValue’s shadow style to 'inset'
+ as needed.
+
+ * css/CSSParser.cpp:
+ (WebCore::ShadowParseContext::ShadowParseContext): Added style and allowStyle
+ members. Initialize the allowStyle member.
+ (WebCore::ShadowParseContext::commitValue): Pass the style value to the
+ ShadowValue constructor. Reset allowStyle.
+ (WebCore::ShadowParseContext::commitLength): Update allowStyle.
+ (WebCore::ShadowParseContext::commitColor): Ditto.
+ (WebCore::ShadowParseContext::commitStyle): Added. Sets the style member and
+ updates the state.
+ (WebCore::CSSParser::parseShadow): Parse the 'inset' keyword.
+
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::applyProperty): Get the style value from the
+ shadow value and pass it to the ShadowData constructor.
+
+ * css/ShadowValue.cpp:
+ (WebCore::ShadowValue::ShadowValue): Added style.
+ (WebCore::ShadowValue::cssText): Added style.
+
+ * css/ShadowValue.h:
+ (WebCore::ShadowValue::create): Added style.
+
+ * page/animation/AnimationBase.cpp:
+ (WebCore::blendFunc): Added a blend function for shadow styles. When blending
+ between normal and inset shadows, all intermediate values map to normal.
+ (WebCore::PropertyWrapperShadow::blend): Added normal style to the default
+ shadow.
+
+ * rendering/InlineFlowBox.cpp:
+ (WebCore::InlineFlowBox::paintBoxShadow): Added a shadow style parameter,
+ which is passed through to RenderBoxModelObject::paintBoxShadow().
+
+ (WebCore::InlineFlowBox::paintBoxDecorations): Paint inset shadows on top of
+ the background.
+
+ * rendering/InlineFlowBox.h:
+
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::paintBoxDecorations): Paint inset shadows on top of the
+ background.
+
+ * rendering/RenderBoxModelObject.cpp:
+ (WebCore::RenderBoxModelObject::paintBoxShadow): Added a shadow style
+ parameter, and code to paint inset shadows.
+
+ * rendering/RenderBoxModelObject.h:
+
+ * rendering/RenderFieldset.cpp:
+ (WebCore::RenderFieldset::paintBoxDecorations): Paint inset shadows on top of
+ the background.
+
+ * rendering/RenderTable.cpp:
+ (WebCore::RenderTable::paintBoxDecorations): Ditto.
+
+ * rendering/RenderTableCell.cpp:
+ (WebCore::RenderTableCell::paintBoxDecorations): Ditto.
+
+ * rendering/style/ShadowData.h:
+ Added a ShadowStyle enum.
+ (WebCore::ShadowData::ShadowData): Add and initialize a style member.
+
+2009-07-23 Simon Fraser <simon.fraser@apple.com>
+
+ Fix the build with UNUSED_PARAM(frame) for when ENABLE(3D_RENDERING) is not defined.
+
+ * css/MediaQueryEvaluator.cpp:
+ (WebCore::transform_3dMediaFeatureEval):
+
+2009-07-23 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Adele Peterson.
+
+ 3d-transforms media query needs to look check that accelerated compositing is enabled
+ https://bugs.webkit.org/show_bug.cgi?id=27621
+
+ When evaluating a media query with '-webkit-transform-3d', we need to check the
+ runtime switch that toggles accererated compositing, and therefore 3D.
+
+ No test because we can't disable the pref dynamically in DRT.
+
+ * css/MediaQueryEvaluator.cpp:
+ (WebCore::transform_3dMediaFeatureEval):
+
+2009-07-22 Ryosuke Niwa <rniwa@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ execCommand('underline') can't remove <U> underlines
+ https://bugs.webkit.org/show_bug.cgi?id=20215
+
+ This patch adds support for u, s, and strike to implicitlyStyledElementShouldBeRemovedWhenApplyingStyle so that
+ WebKit can remove those presentational tags when necessary.
+ It also modifies StyleChange::init not to add "text-decoration: none". Not only is this style meaningless
+ (does not override inherited styles) but it was also causing WebKit to generate extra spans with this style.
+
+ * css/CSSValueList.cpp:
+ (WebCore::CSSValueList::hasValue): True if the property contains the specified value
+ * css/CSSValueList.h: Updated prototype
+ * editing/ApplyStyleCommand.cpp:
+ (WebCore::StyleChange::init): No longer adds "text-decoration: none"
+ (WebCore::ApplyStyleCommand::implicitlyStyledElementShouldBeRemovedWhenApplyingStyle): Supports text-decoration-related elements
+
+2009-07-23 Jessie Berlin <jberlin@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27554
+ Expose the value of text-overflow in getComputedStyle.
+
+ Test: fast/css/getComputedStyle/getComputedStyle-text-overflow.html
+
+ * css/CSSComputedStyleDeclaration.cpp:
+ (WebCore::):
+ Add text-overflow to the list of computedProperties.
+ (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
+ Return the value of the text-overflow property.
+
+2009-07-23 Yongjun Zhang <yongjun.zhang@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27510
+
+ [S60 QtWebKit] Don't put some intermediate generated files into the final mmp project
+ file for linking. This is a temporary workaround for qmake bug in Symbian port, should
+ be reverted after qmake is fixed.
+
+ * WebCore.pro:
+
+2009-07-23 Jian Li <jianli@chromium.org>
+
+ Reviewed by David Levin.
+
+ [V8] Fix an assert in running workers in Chrome.
+ https://bugs.webkit.org/show_bug.cgi?id=27620
+
+ The fix is to change V8DOMMap::removeAllDOMObjectsInCurrentThreadHelper
+ to do not call removeObjectsFromWrapperMap for certain types of DOM
+ objects that exist only in main thread.
+
+ * bindings/v8/V8DOMMap.cpp:
+ (WebCore::removeAllDOMObjectsInCurrentThreadHelper):
+
+2009-07-23 David Hyatt <hyatt@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27572
+ Implement support for background-attachment:local.
+
+ Added new test fast/overflow/overflow-with-local-attachment.html.
+
+ * css/CSSComputedStyleDeclaration.cpp:
+ (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::parseFillProperty):
+ * css/CSSPrimitiveValueMappings.h:
+ (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
+ (WebCore::CSSPrimitiveValue::operator EFillAttachment):
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::mapFillAttachment):
+ * css/CSSValueKeywords.in:
+ * rendering/RenderBoxModelObject.cpp:
+ (WebCore::RenderBoxModelObject::paintFillLayerExtended):
+ (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
+ * rendering/style/FillLayer.h:
+ (WebCore::FillLayer::attachment):
+ (WebCore::FillLayer::setAttachment):
+ (WebCore::FillLayer::hasFixedImage):
+ (WebCore::FillLayer::initialFillAttachment):
+ * rendering/style/RenderStyle.h:
+ (WebCore::InheritedFlags::backgroundAttachment):
+ (WebCore::InheritedFlags::maskAttachment):
+ * rendering/style/RenderStyleConstants.h:
+ (WebCore::):
+
+2009-07-23 Ryosuke Niwa <rniwa@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ copyInheritableProperties and removeComputedInheritablePropertiesFrom should be deprecated
+ https://bugs.webkit.org/show_bug.cgi?id=27325
+
+ This patch deprecates copyInheritableProperties because it has been used for two different purposes:
+ 1. Calculating the typing style.
+ 2. Moving HTML subtrees and seeking to remove redundant styles.
+ These tasks should be broken out into two separate functions. New code should not use this function.
+
+ It deletes removeComputedInheritablePropertiesFrom because it hasn't been used anywhere.
+
+ There is no test since the patch does not change any behavior.
+
+ * css/CSSComputedStyleDeclaration.cpp: removeComputedInheritablePropertiesFrom has been removed
+ (WebCore::CSSComputedStyleDeclaration::deprecatedCopyInheritableProperties): has been renamed from copyInheritableProperties
+ * css/CSSComputedStyleDeclaration.h: ditto
+ * editing/DeleteSelectionCommand.cpp: ditto
+ (WebCore::removeEnclosingAnchorStyle): ditto
+ (WebCore::DeleteSelectionCommand::saveTypingStyleState): ditto
+ * editing/EditCommand.cpp: ditto
+ (WebCore::EditCommand::styleAtPosition): ditto
+ * editing/RemoveFormatCommand.cpp: ditto
+ (WebCore::RemoveFormatCommand::doApply): ditto
+ * editing/ReplaceSelectionCommand.cpp: ditto
+ (WebCore::handleStyleSpansBeforeInsertion): ditto
+ (WebCore::ReplaceSelectionCommand::handleStyleSpans): ditto
+ * editing/markup.cpp: ditto
+ (WebCore::removeEnclosingMailBlockquoteStyle): ditto
+ (WebCore::removeDefaultStyles): ditto
+ (WebCore::createMarkup): ditto
+
+2009-07-22 Pierre d'Herbemont <pdherbemont@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ Audio element at default width shouldn't have time field.
+ https://bugs.webkit.org/show_bug.cgi?id=27589
+
+ * rendering/MediaControlElements.cpp:
+ (WebCore::MediaControlTimeDisplayElement::setVisible): Make sure we don't
+ forget to remember the visibility if there is no renderer.
+
+2009-07-23 Beth Dakin <bdakin@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=27598 Clean up the
+ AccessibilityObject class
+
+ Mostly this is just moving empty stubs into the header rather than
+ muddying the cpp file with them. A few functions were made pure
+ virtual.
+
+ * accessibility/AccessibilityObject.cpp:
+ (WebCore::AccessibilityObject::isARIAControl):
+ (WebCore::AccessibilityObject::clickPoint):
+ (WebCore::AccessibilityObject::documentFrameView):
+ (WebCore::AccessibilityObject::actionVerb):
+ * accessibility/AccessibilityObject.h:
+ (WebCore::AccessibilityObject::intValue):
+ (WebCore::AccessibilityObject::layoutCount):
+ (WebCore::AccessibilityObject::doAccessibilityHitTest):
+ (WebCore::AccessibilityObject::focusedUIElement):
+ (WebCore::AccessibilityObject::firstChild):
+ (WebCore::AccessibilityObject::lastChild):
+ (WebCore::AccessibilityObject::previousSibling):
+ (WebCore::AccessibilityObject::nextSibling):
+ (WebCore::AccessibilityObject::parentObjectIfExists):
+ (WebCore::AccessibilityObject::observableObject):
+ (WebCore::AccessibilityObject::linkedUIElements):
+ (WebCore::AccessibilityObject::titleUIElement):
+ (WebCore::AccessibilityObject::ariaRoleAttribute):
+ (WebCore::AccessibilityObject::isPresentationalChildOfAriaRole):
+ (WebCore::AccessibilityObject::ariaRoleHasPresentationalChildren):
+ (WebCore::AccessibilityObject::roleValue):
+ (WebCore::AccessibilityObject::ariaAccessiblityName):
+ (WebCore::AccessibilityObject::ariaLabeledByAttribute):
+ (WebCore::AccessibilityObject::ariaDescribedByAttribute):
+ (WebCore::AccessibilityObject::accessibilityDescription):
+ (WebCore::AccessibilityObject::ariaSelectedTextDOMRange):
+ (WebCore::AccessibilityObject::axObjectCache):
+ (WebCore::AccessibilityObject::axObjectID):
+ (WebCore::AccessibilityObject::setAXObjectID):
+ (WebCore::AccessibilityObject::anchorElement):
+ (WebCore::AccessibilityObject::actionElement):
+ (WebCore::AccessibilityObject::boundingBoxRect):
+ (WebCore::AccessibilityObject::selectedTextRange):
+ (WebCore::AccessibilityObject::selectionStart):
+ (WebCore::AccessibilityObject::selectionEnd):
+ (WebCore::AccessibilityObject::url):
+ (WebCore::AccessibilityObject::selection):
+ (WebCore::AccessibilityObject::stringValue):
+ (WebCore::AccessibilityObject::title):
+ (WebCore::AccessibilityObject::helpText):
+ (WebCore::AccessibilityObject::textUnderElement):
+ (WebCore::AccessibilityObject::text):
+ (WebCore::AccessibilityObject::textLength):
+ (WebCore::AccessibilityObject::selectedText):
+ (WebCore::AccessibilityObject::accessKey):
+ (WebCore::AccessibilityObject::widget):
+ (WebCore::AccessibilityObject::widgetForAttachmentView):
+ (WebCore::AccessibilityObject::setFocused):
+ (WebCore::AccessibilityObject::setSelectedText):
+ (WebCore::AccessibilityObject::setSelectedTextRange):
+ (WebCore::AccessibilityObject::setValue):
+ (WebCore::AccessibilityObject::setSelected):
+ (WebCore::AccessibilityObject::makeRangeVisible):
+ (WebCore::AccessibilityObject::childrenChanged):
+ (WebCore::AccessibilityObject::addChildren):
+ (WebCore::AccessibilityObject::hasChildren):
+ (WebCore::AccessibilityObject::selectedChildren):
+ (WebCore::AccessibilityObject::visibleChildren):
+ (WebCore::AccessibilityObject::visiblePositionRange):
+ (WebCore::AccessibilityObject::visiblePositionRangeForLine):
+ (WebCore::AccessibilityObject::boundsForVisiblePositionRange):
+ (WebCore::AccessibilityObject::setSelectedVisiblePositionRange):
+ (WebCore::AccessibilityObject::visiblePositionForPoint):
+ (WebCore::AccessibilityObject::nextVisiblePosition):
+ (WebCore::AccessibilityObject::previousVisiblePosition):
+ (WebCore::AccessibilityObject::visiblePositionForIndex):
+ (WebCore::AccessibilityObject::indexForVisiblePosition):
+ (WebCore::AccessibilityObject::index):
+ (WebCore::AccessibilityObject::doAXRangeForLine):
+ (WebCore::AccessibilityObject::doAXRangeForIndex):
+ (WebCore::AccessibilityObject::doAXStringForRange):
+ (WebCore::AccessibilityObject::doAXBoundsForRange):
+ (WebCore::AccessibilityObject::updateBackingStore):
+
+2009-07-23 Brian Weinstein <bweinstein@apple.com>
+
+ Reviewed by David Hyatt.
+
+ Fix of <rdar://4877658> Dragging from the area between the horizontal/vertical scrollbars when status bar is showing starts a selection and autoscroll.
+
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::handleMousePressEvent):
+ * platform/ScrollView.cpp:
+ (WebCore::ScrollView::wheelEvent):
+ * platform/ScrollView.h:
+
+2009-07-23 David Hyatt <hyatt@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27581
+ Drop the prefix from the box-shadow property.
+
+ * css/CSSComputedStyleDeclaration.cpp:
+ (WebCore::):
+ (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::parseValue):
+ (WebCore::ShadowParseContext::commitLength):
+ (WebCore::cssPropertyID):
+ * css/CSSPropertyNames.in:
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::applyProperty):
+ * page/animation/AnimationBase.cpp:
+ (WebCore::ensurePropertyMap):
+
+2009-07-22 Viet-Trung Luu <viettrungluu@gmail.com>
+
+ Reviewed by David Hyatt.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27289
+ When a mouse click occurs on a scrollbar without a preceding mouse move
+ onto it, the release isn't handled correctly (since
+ EventHandler::m_lastScrollbarUnderMouse isn't set on mouse down, but
+ only on mouse move). (Side comment: That scrollbar-handling code
+ in EventHandler is ugly. It should be fixed properly.)
+
+ Tests: scrollbars/scrollbar-miss-mousemove.html
+ scrollbars/scrollbar-miss-mousemove-disabled.html
+
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::handleMousePressEvent):
+ (WebCore::EventHandler::handleMouseMoveEvent):
+ (WebCore::EventHandler::updateLastScrollbarUnderMouse):
+ * page/EventHandler.h:
+
+2009-07-23 Mike Fenton <mike.fenton@torchmobile.com>
+
+ Reviewed by David Levin.
+
+ Update WebCore/page/BarInfo.cpp to conform to WebKit
+ Style Guidelines as identified by cpplint.py.
+ https://bugs.webkit.org/show_bug.cgi?id=27606
+
+ * page/BarInfo.cpp:
+ (WebCore::BarInfo::visible):
+
+2009-07-23 Mike Fenton <mike.fenton@torchmobile.com>
+
+ Reviewed by David Levin.
+
+ Update WebCore/page/Console.cpp to conform to WebKit
+ Style Guidelines as identified by cpplint.py.
+ https://bugs.webkit.org/show_bug.cgi?id=27606
+
+ * page/Console.cpp:
+ (WebCore::printMessageSourceAndLevelPrefix):
+ (WebCore::Console::profile):
+ (WebCore::Console::time):
+
+2009-07-23 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Reviewed by Holger Freyther.
+
+ Fix crashes with the QObject bindings after garbage collection.
+
+ There is one QtInstance per wrapped QObject, and that QtInstance keeps
+ references to cached JSObjects for slots. When those objects get
+ deleted due to GC, then they becoming dangling pointers.
+
+ When a cached member dies, it is now removed from the QtInstance's
+ cache.
+
+ As we cannot track the lifetime of the children, we have to remove
+ them from QtInstance alltogether. They are not cached and were
+ only used for mark(), but we _want_ them to be subject to gc.
+
+ * bridge/qt/qt_instance.cpp:
+ (JSC::Bindings::QtInstance::~QtInstance): Minor coding style cleanup,
+ use qDeleteAll().
+ (JSC::Bindings::QtInstance::removeCachedMethod): New function, to
+ clean m_methods and m_defaultMethod.
+ (JSC::Bindings::QtInstance::mark): Avoid marking already marked objects.
+ (JSC::Bindings::QtField::valueFromInstance): Don't save children for
+ marking.
+ * bridge/qt/qt_instance.h: Declare removeCachedMethod.
+ * bridge/qt/qt_runtime.cpp:
+ (JSC::Bindings::QtRuntimeMethod::~QtRuntimeMethod): Call removeCachedMethod
+ with this on the instance.
+
+2009-07-23 Xan Lopez <xlopez@igalia.com>
+
+ Reviewed by Mark Rowe.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27599
+ 'const unsigned' in return value
+
+ Remove const modifier from unsigned return value, as it does not
+ make sense.
+
+ * dom/ErrorEvent.h:
+
+2009-07-22 Jens Alfke <snej@chromium.org>
+
+ Reviewed by David Levin.
+
+ Bug 22784: Improve keyboard navigation of Select elements.
+ Home/End and PageUp/PageDn buttons do not do anything in drop down lists,
+ on non-Mac platforms.
+ https://bugs.webkit.org/show_bug.cgi?id=22784
+ http://code.google.com/p/chromium/issues/detail?id=4576
+
+ New test: LayoutTests/fast/forms/select-popup-pagekeys.html
+
+ * dom/SelectElement.cpp:
+ (WebCore::nextValidIndex):
+ New utility fn for traversing items of a select's list.
+ (WebCore::SelectElement::menuListDefaultEventHandler):
+ Added code to handle Home/End and PageUp/PageDn when ARROW_KEYS_POP_MENU is false.
+
+2009-07-23 Xan Lopez <xlopez@igalia.com>
+
+ Reviewed by Mark Rowe.
+
+ Fix a couple of compiler warnings.
+
+ * platform/graphics/cairo/ImageBufferCairo.cpp:
+ (copySurface):
+ * platform/graphics/gtk/SimpleFontDataGtk.cpp:
+ (WebCore::SimpleFontData::containsCharacters):
+
+2009-07-22 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Rubber-stamped by David Levin.
+
+ Enable HTML5 Datagrid defines for the Qt build.
+
+ * WebCore.pro:
+
+2009-07-22 Adam Barth <abarth@webkit.org>
+
+ Reviewed by David Levin.
+
+ [V8] Make Node wrappers go fast
+ https://bugs.webkit.org/show_bug.cgi?id=27597
+
+ Profiles indicate we're spending a lot of time asking whether we're on
+ the main thread when looking up DOM wrappers for Nodes, but there isn't
+ much point in doing that work because Nodes only exist on the main
+ thread. I've also added an assert to keep us honest in this regard.
+
+ * bindings/v8/V8DOMMap.cpp:
+ (WebCore::):
+ (WebCore::getDOMNodeMap):
+ (WebCore::DOMData::getCurrent):
+ (WebCore::DOMData::getCurrentMainThread):
+
+2009-07-22 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Alexey Proskuryakov.
+
+ Remove unneeded virtual destructor from ScriptSourceProvider
+ https://bugs.webkit.org/show_bug.cgi?id=27563
+
+ * bindings/js/ScriptSourceProvider.h:
+
+2009-07-22 Ryosuke Niwa <rniwa@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ execCommand('underline' / 'strikeThrough') doesn't work properly with multiple styles in text-decoration
+ https://bugs.webkit.org/show_bug.cgi?id=27476
+
+ executeStrikethrough and executeUnderline were toggling between "line-through" / "underline" and "none".
+ This patch adds executeToggleStyleInList that toggles a style in CSSValueList instead of toggling the entire value.
+ It modifies CSSComputedStyleDeclaration to return CSSValueList instead of CSSPrimitiveValue for text decorations,
+ and adds removeAll member function to CSSValueList.
+
+ Tests: editing/execCommand/toggle-text-decorations.html
+ fast/css/getComputedStyle/getComputedStyle-text-decoration.html
+
+ * css/CSSComputedStyleDeclaration.cpp:
+ (WebCore::renderTextDecorationFlagsToCSSValue): Creates a CSSValueList
+ (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Returns a CSSValueList instead of CSSValue
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::parseValue): Text decorations are space separated instead of comma separated
+ * css/CSSValueList.cpp:
+ (WebCore::CSSValueList::removeAll): Removes all values that match the specified value
+ * css/CSSValueList.h:
+ * editing/EditorCommand.cpp:
+ (WebCore::applyCommandToFrame): Apply style to a frame using specified command
+ (WebCore::executeApplyStyle): Uses applyCommandToFrame
+ (WebCore::executeToggleStyleInList): Uses applyCommandToFrame
+ (WebCore::executeToggleStyle): Toggles a style in CSSValueList
+ (WebCore::executeStrikethrough): Uses executeToggleStyleInList
+ (WebCore::executeUnderline): Uses executeToggleStyleInList
+
+2009-07-22 Daniel Bates <dbates@intudata.com>
+
+ Reviewed by Adam Barth.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27174
+ And
+ https://bugs.webkit.org/show_bug.cgi?id=26938
+
+ Code cleanup. Implements support for detecting attacks transformed by
+ PHP Magic Quotes/PHP addslashes().
+
+ Tests: http/tests/security/xssAuditor/script-tag-addslashes-backslash.html
+ http/tests/security/xssAuditor/script-tag-addslashes-double-quote.html
+ http/tests/security/xssAuditor/script-tag-addslashes-null-char.html
+ http/tests/security/xssAuditor/script-tag-addslashes-single-quote.html
+
+ * page/XSSAuditor.cpp:
+ (WebCore::isInvalidCharacter):
+ (WebCore::XSSAuditor::canEvaluate):
+ (WebCore::XSSAuditor::canEvaluateJavaScriptURL):
+ (WebCore::XSSAuditor::canLoadObject):
+ (WebCore::XSSAuditor::normalize): Decodes HTML entities, removes backslashes,
+ and removes control characters that could otherwise cause a discrepancy between
+ the source code of a script and the outgoing HTTP parameters.
+ (WebCore::XSSAuditor::decodeURL):
+ (WebCore::XSSAuditor::decodeHTMLEntities):
+ (WebCore::XSSAuditor::findInRequest):
+ * page/XSSAuditor.h:
+
+2009-07-22 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Adele Peterson.
+
+ Null deref in JSObject::mark due to null xhr wrapper
+ https://bugs.webkit.org/show_bug.cgi?id=27565
+
+ Make event target binding for appcache and xhr behave in the same way as
+ it does for all other events.
+
+ No test as I couldn't make a testcase which was remotely reliable.
+
+ * bindings/js/JSEventTarget.cpp:
+ (WebCore::toJS):
+
+2009-07-22 Mads Ager <ager@chromium.org>
+
+ Reviewed by David Levin.
+
+ Inform V8 of the amount of WebCore string memory it is keeping alive.
+ https://bugs.webkit.org/show_bug.cgi?id=27537
+
+ V8 uses external strings that are backed by WebCore strings. Since
+ the external strings themselves are small, V8 has no way of
+ knowing how much memory it is actually holding on to. With this
+ change, we inform V8 of the amount of WebCore string data it is
+ holding on to with external strings.
+
+ * bindings/v8/V8Binding.cpp:
+ (WebCore::WebCoreStringResource::WebCoreStringResource):
+ (WebCore::WebCoreStringResource::~WebCoreStringResource):
+
+2009-07-22 David Hyatt <hyatt@apple.com>
+
+ Reviewed by Beth Dakin.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27562
+ Add the finalized versions of background-clip and background-origin. Remove background-clip from
+ the background shorthand and have it be auto-set based off background-origin's value.
+
+ Three new tests added in fast/backgrounds/size
+
+ * css/CSSComputedStyleDeclaration.cpp:
+ (WebCore::):
+ (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
+ * css/CSSMutableStyleDeclaration.cpp:
+ (WebCore::CSSMutableStyleDeclaration::getPropertyValue):
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::parseValue):
+ (WebCore::CSSParser::parseFillShorthand):
+ (WebCore::CSSParser::parseFillProperty):
+ * css/CSSPropertyLonghand.cpp:
+ (WebCore::initShorthandMap):
+ * css/CSSPropertyNames.in:
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::applyProperty):
+ * css/CSSValueKeywords.in:
+
+2009-07-22 Jens Alfke <snej@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ Hook up V8 bindings for DataGrid elements.
+ https://bugs.webkit.org/show_bug.cgi?id=27383
+ http://code.google.com/p/chromium/issues/detail?id=16730
+
+ Tests: Enhanced LayoutTests/fast/dom/HTMLDataGridElement/*
+ to handle exceptions, check appropriate JS prototypes, and
+ test column-list's item() method as well as array-indexing.
+
+ * WebCore.gypi: Added new source files.
+ * bindings/scripts/CodeGeneratorV8.pm: Made GenerateBatchedAttributeData put #if's around conditional attributes.
+ * bindings/v8/DOMObjectsInclude.h: #include DataGrid headers.
+ * bindings/v8/V8DOMWrapper.cpp: Add bindings from HTML tags to datagrid templates.
+ (WebCore::V8DOMWrapper::getTemplate): Customize datagrid template.
+ * bindings/v8/V8DataGridDataSource.cpp: Added. (Based on JSDataGridDataSource)
+ (WebCore::V8DataGridDataSource::V8DataGridDataSource):
+ (WebCore::V8DataGridDataSource::~V8DataGridDataSource):
+ * bindings/v8/V8DataGridDataSource.h: Added. (Based on JSDataGridDataSource)
+ (WebCore::V8DataGridDataSource::create):
+ (WebCore::V8DataGridDataSource::isJSDataGridDataSource):
+ (WebCore::V8DataGridDataSource::jsDataSource):
+ (WebCore::asV8DataGridDataSource):
+ * bindings/v8/V8GCController.h: Added new handle type "DATASOURCE".
+ * bindings/v8/V8Index.h: Conditionalize datagrid stuff.
+ * bindings/v8/custom/V8CustomBinding.h: Declare more accessors. Conditionalize.
+ * bindings/v8/custom/V8DataGridColumnListCustom.cpp: Added.
+ * bindings/v8/custom/V8HTMLDataGridElementCustom.cpp: Fill in dataSource accessors.
+ (WebCore::ACCESSOR_GETTER):
+ (WebCore::ACCESSOR_SETTER):
+
+2009-07-22 Ryosuke Niwa <rniwa@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ pushDownTextDecorationStyleAroundNode needs clean up
+ https://bugs.webkit.org/show_bug.cgi?id=27556
+
+ Cleaned up. pushDownTextDecorationStyleAroundNode traverses tree vertically from highestAncestor to targetNode
+ While traversing, it will apply the specified style to all nodes but targetNode.
+ i.e. the style is applies to all ancestor nodes and their siblings of targetNode.
+
+ * editing/ApplyStyleCommand.cpp:
+ (WebCore::ApplyStyleCommand::pushDownTextDecorationStyleAroundNode): Cleaned up and added comments
+ * editing/ApplyStyleCommand.h: Updated prototype
+
+2009-07-22 Peter Kasting <pkasting@google.com>
+
+ Reviewed by David Kilzer.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27323
+ Handle any type of line endings in WebCore/css/*CSSPropertyNames.in.
+
+ * DerivedSources.make:
+ * css/makeprop.pl:
+ * css/makevalues.pl:
+
+2009-07-22 Paul Godavari <paul@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ Chromium has a build break after removal of JSRGBColor bindings
+ https://bugs.webkit.org/show_bug.cgi?id=27548
+
+ Fix a build break in Chromium V8 after the JSRGBColor bindings change:
+ https://bugs.webkit.org/show_bug.cgi?id=27242
+
+ * bindings/scripts/CodeGeneratorV8.pm:
+
+2009-07-22 Adam Langley <agl@google.com>
+
+ Reviewed by Darin Fisher.
+
+ Chromium Linux: add static functions to FontPlatformData which allow
+ for setting the global font rendering preferences.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27513
+ http://code.google.com/p/chromium/issues/detail?id=12179
+
+ This should not affect any layout tests.
+
+ * platform/graphics/chromium/FontPlatformDataLinux.cpp:
+ (WebCore::FontPlatformData::setHinting):
+ (WebCore::FontPlatformData::setAntiAlias):
+ (WebCore::FontPlatformData::setSubpixelGlyphs):
+ (WebCore::FontPlatformData::setupPaint):
+ * platform/graphics/chromium/FontPlatformDataLinux.h:
+
+2009-07-22 Mikhail Naganov <mnaganov@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Move Inspector panels creation into a function to make possible introducing
+ custom panels.
+
+ * inspector/front-end/inspector.js:
+ (WebInspector._createPanels):
+ (WebInspector.loaded):
+
+2009-07-22 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ WebInspector: Print console command message upon evaluate
+ selection request; Handle errors in evaluation request
+ properly.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27535
+
+ * inspector/front-end/ScriptsPanel.js:
+ (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame):
+ * inspector/front-end/SourceFrame.js:
+ (WebInspector.SourceFrame.prototype._evalSelectionInCallFrame):
+
+2009-07-22 Xan Lopez <xlopez@igalia.com>
+
+ Attempt to fix the GTK+ build.
+
+ * GNUmakefile.am:
+
+2009-07-21 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Fix the Qt build.
+
+ * WebCore.pro: Add RGBColor.cpp to the build, remove JSRGBColor.
+
+2009-07-21 Daniel Bates <dbates@intudata.com>
+
+ Reviewed by Adam Barth.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27494
+
+ Fixes an issue that can cause a crash or unexpected behavior when calling
+ WebCore::ScriptSourceCode::source on a cached script.
+
+ * GNUmakefile.am:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * bindings/js/CachedScriptSourceProvider.h: Modified to inherit from
+ WebCore::ScriptSourceCode.
+ (WebCore::CachedScriptSourceProvider::source):
+ (WebCore::CachedScriptSourceProvider::CachedScriptSourceProvider):
+ * bindings/js/ScriptSourceCode.h:
+ (WebCore::ScriptSourceCode::ScriptSourceCode): Separated out source provider and
+ rewrote to use WebCore::ScriptSourceProvider.
+ (WebCore::ScriptSourceCode::source):
+ * bindings/js/ScriptSourceProvider.h: Added.
+ (WebCore::ScriptSourceProvider::ScriptSourceProvider):
+ (WebCore::ScriptSourceProvider::~ScriptSourceProvider):
+ * bindings/js/StringSourceProvider.h: Modified to inherit from
+ WebCore::ScriptSourceCode.
+ (WebCore::StringSourceProvider::StringSourceProvider):
+
+2009-07-21 Sam Weinig <sam@webkit.org>
+
+ Another attempt to fix the Windows build.
+
+ * WebCore.vcproj/WebCore.vcproj:
+
+2009-07-21 Sam Weinig <sam@webkit.org>
+
+ Attempt to fix the Windows build.
+
+ * DerivedSources.cpp:
+
+2009-07-21 Sam Weinig <sam@webkit.org>
+
+ Attempt to fix the GTK build.
+
+ * GNUmakefile.am:
+
+2009-07-21 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Dan Bernstein.
+
+ Autogenerate Objective-C binding implementation for RGBColor.
+
+ No functionality change.
+
+ * WebCore.xcodeproj/project.pbxproj:
+ * bindings/objc/DOMRGBColor.mm: Removed.
+ * bindings/scripts/CodeGeneratorObjC.pm: Add logic to convert from
+ WebCore::Color to NSColor*.
+ * css/RGBColor.idl:
+
+2009-07-21 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Dan Bernstein.
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=27242
+ JSC bindings should use an auto-bound RGBColor class instead of hand-rolled JSRGBColor
+
+ Move the JSC and Objective-C bindings onto using the RGBColor object instead
+ of just an unsigned int. The JSC bindings are now completely autogenerated for
+ this class. (Also removes the last lut from WebCore).
+
+ * DerivedSources.make:
+ * GNUmakefile.am:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * WebCoreSources.bkl:
+ * bindings/js/JSRGBColor.cpp: Removed.
+ * bindings/js/JSRGBColor.h: Removed.
+ * bindings/objc/DOM.mm:
+ (-[DOMRGBColor _color]):
+ * bindings/objc/DOMRGBColor.mm:
+ (-[DOMRGBColor dealloc]):
+ (-[DOMRGBColor finalize]):
+ (-[DOMRGBColor red]):
+ (-[DOMRGBColor green]):
+ (-[DOMRGBColor blue]):
+ (-[DOMRGBColor alpha]):
+ (-[DOMRGBColor color]):
+ * bindings/scripts/CodeGenerator.pm:
+ * bindings/scripts/CodeGeneratorJS.pm:
+ * bindings/scripts/CodeGeneratorObjC.pm:
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::parseColor):
+ * css/CSSPrimitiveValue.cpp:
+ (WebCore::CSSPrimitiveValue::getRGBColorValue):
+ * css/CSSPrimitiveValue.h:
+ (WebCore::CSSPrimitiveValue::getRGBA32Value):
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::getColorFromPrimitiveValue):
+ * css/RGBColor.cpp:
+ (WebCore::RGBColor::alpha):
+ * css/RGBColor.h:
+ (WebCore::RGBColor::color):
+ (WebCore::RGBColor::RGBColor):
+ * css/RGBColor.idl:
+ * page/DOMWindow.idl:
+ * svg/SVGColor.cpp:
+ (WebCore::SVGColor::rgbColor):
+ * svg/SVGColor.h:
+
+2009-07-21 Jian Li <jianli@chromium.org>
+
+ Reviewed by David Levin.
+
+ Implement AbstractWorker::dispatchScriptErrorEvent by generating an ErrorEvent.
+ https://bugs.webkit.org/show_bug.cgi?id=27515
+
+ * workers/AbstractWorker.cpp:
+ (WebCore::AbstractWorker::dispatchScriptErrorEvent):
+
+2009-07-21 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Move m_context out of generator into a superclass
+ https://bugs.webkit.org/show_bug.cgi?id=27521
+
+ Mostly this is removing code from CodeGeneratorJS
+ and instead using a DOMObjectWithSVGContext superclass in JSDOMBinding.h.
+
+ DOMObjectWithSVGContext.h is its own file so that WebKit doesn't need to
+ know about SVGElement.h (WebKit includes JSDOMBinding.h for some reason).
+
+ I also removed context pointer from SVGZoomEvent since it was never used.
+
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * bindings/js/DOMObjectWithSVGContext.h: Added.
+ (WebCore::DOMObjectWithSVGContext::context):
+ (WebCore::DOMObjectWithSVGContext::DOMObjectWithSVGContext):
+ * bindings/js/JSDOMBinding.h:
+ * bindings/js/JSEventCustom.cpp:
+ (WebCore::toJS):
+ * bindings/scripts/CodeGeneratorJS.pm:
+
+2009-07-21 Ryosuke Niwa <rniwa@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ REGRESSION (r46142): editing/execCommand/19087.html & editing/execCommand/19653-1.html fail in Windows build
+ https://bugs.webkit.org/show_bug.cgi?id=27480
+
+ Because m_anchorType : 2 is treated as a signed integer by cl.exe, anchorType() wasn't returning the correct value.
+ We made m_anchorType unsigned so that anchorType() returns the correct value.
+
+ * dom/Position.h:
+ (WebCore::Position::anchorType): statically cast to AnchorType
+
+2009-07-21 Jian Li <jianli@chromium.org>
+
+ Reviewed by David Levin.
+
+ [V8] Add V8 bindings for onerror in WorkerContext.
+ https://bugs.webkit.org/show_bug.cgi?id=27518
+
+ * bindings/v8/custom/V8CustomBinding.h:
+ * bindings/v8/custom/V8WorkerContextCustom.cpp:
+ (WebCore::ACCESSOR_GETTER):
+ (WebCore::ACCESSOR_SETTER):
+
+2009-07-21 Jian Li <jianli@chromium.org>
+
+ Fix the incorrect patch being landed for bug 27516 that has already been reviewed.
+ https://bugs.webkit.org/show_bug.cgi?id=27516
+
+ * workers/WorkerContext.h:
+ (WebCore::WorkerContext::setOnerror):
+ (WebCore::WorkerContext::onerror):
+ * workers/WorkerContext.idl:
+
+2009-07-21 Jian Li <jianli@chromium.org>
+
+ Reviewed by David Levin.
+
+ Add onerror to WorkerContext.
+ https://bugs.webkit.org/show_bug.cgi?id=27516
+
+ * bindings/js/JSWorkerContextCustom.cpp:
+ (WebCore::JSWorkerContext::mark):
+ * workers/WorkerContext.h:
+ (WebCore::WorkerContext::setOnerror):
+ (WebCore::WorkerContext::onerror):
+ * workers/WorkerContext.idl:
+
+2009-07-21 Yong Li <yong.li@torchmobile.com>
+
+ Reviewed by George Staikos.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27509
+ Add font-related files for the WinCE port.
+
+ Written by Yong Li <yong.li@torchmobile.com>
+
+ * platform/graphics/wince/FontCacheWince.cpp: Added.
+ * platform/graphics/wince/FontCustomPlatformData.cpp: Added.
+ * platform/graphics/wince/FontCustomPlatformData.h: Added.
+ * platform/graphics/wince/FontPlatformData.cpp: Added.
+ * platform/graphics/wince/FontPlatformData.h: Added.
+ * platform/graphics/wince/FontWince.cpp: Added.
+ * platform/graphics/wince/GlyphPageTreeNodeWince.cpp: Added.
+ * platform/graphics/wince/SimpleFontDataWince.cpp: Added.
+
+2009-07-21 Kevin Ollivier <kevino@theolliviers.com>
+
+ Fix the Windows build, and update the comment on top now that wx uses WebCorePrefix.h too.
+
+ * WebCorePrefix.h:
+
+2009-07-21 Kevin Ollivier <kevino@theolliviers.com>
+
+ WebCorePrefix.h build fixes for non-Mac and wx / CURL builds.
+
+ * WebCorePrefix.h:
+
+2009-07-21 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ All DOMConstructorObjects should hold a pointer to the JSDOMGlobalObject
+ https://bugs.webkit.org/show_bug.cgi?id=27478
+
+ This is just moving code.
+ I've added two new classes: DOMObjectWithGlobalPointer and DOMConstructorWithDocument.
+
+ DOMObjectWithGlobalPointer is a new baseclass for DOMConstructorObject.
+ (It's a baseclass because eventually all DOMObjects will have a global pointer, but
+ I'll be moving them onto DOMObjectWithGlobalPointer in stages.)
+
+ DOMConstructorWithDocument is a new baseclass for the 3 constructor objects
+ which require a backpointer to the Document to function. I made this a subclass of
+ DOMConstructorObject to make clear that most constructors can hold no-such assumptions
+ about having a back-pointer to the Document (since many constructors can be used from Workers).
+
+ * bindings/js/JSAudioConstructor.cpp:
+ (WebCore::JSAudioConstructor::JSAudioConstructor):
+ * bindings/js/JSAudioConstructor.h:
+ * bindings/js/JSDOMBinding.h:
+ (WebCore::DOMObjectWithGlobalPointer::globalObject):
+ (WebCore::DOMObjectWithGlobalPointer::scriptExecutionContext):
+ (WebCore::DOMObjectWithGlobalPointer::DOMObjectWithGlobalPointer):
+ (WebCore::DOMObjectWithGlobalPointer::mark):
+ (WebCore::DOMConstructorObject::DOMConstructorObject):
+ (WebCore::DOMConstructorWithDocument::document):
+ (WebCore::DOMConstructorWithDocument::DOMConstructorWithDocument):
+ * bindings/js/JSImageConstructor.cpp:
+ (WebCore::JSImageConstructor::JSImageConstructor):
+ * bindings/js/JSImageConstructor.h:
+ * bindings/js/JSMessageChannelConstructor.cpp:
+ (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor):
+ * bindings/js/JSMessageChannelConstructor.h:
+ * bindings/js/JSOptionConstructor.cpp:
+ (WebCore::JSOptionConstructor::JSOptionConstructor):
+ * bindings/js/JSOptionConstructor.h:
+ * bindings/js/JSWebKitCSSMatrixConstructor.cpp:
+ (WebCore::JSWebKitCSSMatrixConstructor::JSWebKitCSSMatrixConstructor):
+ * bindings/js/JSWebKitPointConstructor.cpp:
+ (WebCore::JSWebKitPointConstructor::JSWebKitPointConstructor):
+ * bindings/js/JSWorkerConstructor.cpp:
+ (WebCore::JSWorkerConstructor::JSWorkerConstructor):
+ * bindings/js/JSXMLHttpRequestConstructor.cpp:
+ (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
+ * bindings/js/JSXMLHttpRequestConstructor.h:
+ * bindings/js/JSXSLTProcessorConstructor.cpp:
+ (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor):
+
+2009-07-21 James Hawkins <jhawkins@google.com>
+
+ Reviewed by David Hyatt.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27453
+ Initialize isInt when creating a CSSParserValue for a function.
+
+ No change in behavior, so no tests.
+
+ * css/CSSFunctionValue.cpp:
+ (WebCore::CSSFunctionValue::parserValue):
+
+2009-07-20 Jens Alfke <snej@google.com>
+
+ Reviewed by David Levin.
+
+ Bug 27448: [Chromium] On Mac, arrow keys should cause Select to pop up its menu.
+ Mac build of Chromium doesn't follow Mac HI guidelines to pop up the menu when
+ an arrow key is pressed.
+ https://bugs.webkit.org/show_bug.cgi?id=27448
+
+ No new tests; affects only control response to user input.
+
+ * dom/SelectElement.cpp:
+ Changed definition of ARROW_KEYS_POP_MENU to make it true in Mac Chromium,
+ so it will behave compatibly with Mac HI guidelines on pop-up menus.
+ It's not possible to have PLATFORM(MAC) be true in the Mac build of Chromium.
+
+2009-07-21 Paul Godavari <paul@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ [Chromium] popup menus can crash when the selected index is -1
+ https://bugs.webkit.org/show_bug.cgi?id=27275
+
+ Crash reports from users indicate a crash can occur when PopupListBox::isSelectableItem
+ is passed an index of less than 0 (which is possible under certain circumstances). This
+ change prevents such a value from causing a crash by enforcing valid index values passed
+ by all callers of isSelectableItem. isSelectableItem is now a private method of
+ PopupListBox, as there are no external callers.
+
+ Also cleaned up a small amount of code for style and grammar errors.
+
+ No automatic test is provided since we cannot send events to the child window used by
+ the popup menu.
+
+ * platform/chromium/PopupMenuChromium.cpp:
+ (WebCore::PopupListBox::acceptIndex):
+ (WebCore::PopupListBox::selectIndex):
+ (WebCore::PopupListBox::isSelectableItem):
+ (WebCore::PopupListBox::selectPreviousRow):
+
+2009-07-21 Kevin Ollivier <kevino@theolliviers.com>
+
+ wx build fix. Don't include winsock2.h on wx, it conflicts with wx's inclusion of winsock.
+
+ * platform/network/curl/ResourceHandleManager.h:
+
+2009-07-21 Adam Roben <aroben@apple.com>
+
+ Roll out r46153, r46154, and r46155
+
+ These changes were causing build failures and assertion failures on
+ Windows.
+
+ * ForwardingHeaders/wtf/PossiblyNull.h: Removed.
+ * platform/graphics/cg/ImageBufferCG.cpp:
+
+2009-07-21 Jian Li <jianli@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Implement ErrorEvent API.
+ https://bugs.webkit.org/show_bug.cgi?id=27387
+
+ * DerivedSources.cpp:
+ * DerivedSources.make:
+ * GNUmakefile.am:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * WebCoreSources.bkl:
+ * bindings/js/JSEventCustom.cpp:
+ (WebCore::toJS):
+ * dom/ErrorEvent.cpp: Added.
+ * dom/ErrorEvent.h: Added.
+ * dom/ErrorEvent.idl: Added.
+ * dom/Event.cpp:
+ (WebCore::Event::isErrorEvent):
+ * dom/Event.h:
+
+2009-07-21 Priit Laes <plaes@plaes.org>
+
+ Reviewed by Gustavo Noronha.
+
+ [Gtk] Searching in thepiratebay.org doesn't work with more than 1 word
+ https://bugs.webkit.org/show_bug.cgi?id=24602
+
+ Remove workaround required for <=libsoup-2.26.1
+
+ * platform/network/soup/ResourceHandleSoup.cpp:
+ (WebCore::restartedCallback):
+
+2009-07-21 Adam Barth <abarth@webkit.org>
+
+ Reviewed by David Levin.
+
+ V8IsolatedWorld keeps a handle to a disposed context
+ https://bugs.webkit.org/show_bug.cgi?id=27397
+
+ Make a copy of the context handle before making it weak. We don't want
+ to make the original handle weak because we want it to survive for the
+ length of the V8IsolatedWorld::evaluate method.
+
+ * bindings/v8/V8IsolatedWorld.cpp:
+ (WebCore::V8IsolatedWorld::V8IsolatedWorld):
+
+2009-07-21 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: Add ability to evaluate selection while on break point.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27502
+
+ * inspector/front-end/SourceFrame.js:
+ (WebInspector.SourceFrame.prototype._loaded):
+ (WebInspector.SourceFrame.prototype._documentKeyDown):
+
+2009-07-21 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ WebInspector: Special case ConsolePanel opening since
+ it is a 'fast view'.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27493
+
+ * inspector/InspectorController.cpp:
+ (WebCore::InspectorController::setWindowVisible):
+
+2009-07-20 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Fix Qt code to follow the WebKit Coding Style.
+
+ * platform/graphics/qt/FontQt.cpp:
+ (WebCore::qstring):
+ (WebCore::fixSpacing):
+ * platform/graphics/qt/FontQt43.cpp:
+ (WebCore::generateComponents):
+ (WebCore::Font::offsetForPositionForComplexText):
+ (WebCore::cursorToX):
+ * platform/graphics/qt/GradientQt.cpp:
+ (WebCore::Gradient::platformGradient):
+ * platform/graphics/qt/GraphicsContextQt.cpp:
+ (WebCore::toQtFillRule):
+ (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
+ (WebCore::GraphicsContext::~GraphicsContext):
+ (WebCore::GraphicsContext::getCTM):
+ (WebCore::GraphicsContext::concatCTM):
+ (WebCore::GraphicsContext::getWindowsContext):
+ * platform/graphics/qt/IconQt.cpp:
+ (WebCore::Icon::paint):
+ * platform/graphics/qt/ImageDecoderQt.cpp:
+ (WebCore::ImageDecoderQt::ReadContext::read):
+ (WebCore::ImageDecoderQt::ReadContext::readImageLines):
+ (WebCore::ImageDecoderQt::setData):
+ * platform/graphics/qt/ImageQt.cpp:
+ (WebCore::Image::drawPattern):
+ (WebCore::BitmapImage::draw):
+ * platform/graphics/qt/ImageSourceQt.cpp:
+ (WebCore::ImageSource::frameDurationAtIndex):
+ (WebCore::ImageSource::frameHasAlphaAtIndex):
+ (WebCore::ImageSource::frameIsCompleteAtIndex):
+ * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
+ (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
+ (WebCore::MediaPlayerPrivate::create):
+ (WebCore::MediaPlayerPrivate::bytesLoaded):
+ (WebCore::MediaPlayerPrivate::updateStates):
+ * platform/graphics/qt/PathQt.cpp:
+ (WebCore::Path::addArcTo):
+ (WebCore::Path::isEmpty):
+ * platform/graphics/qt/TransformationMatrixQt.cpp:
+ (WebCore::TransformationMatrix::operator QTransform):
+ * platform/qt/ClipboardQt.cpp:
+ (WebCore::ClipboardQt::ClipboardQt):
+ (WebCore::ClipboardQt::clearData):
+ (WebCore::ClipboardQt::clearAllData):
+ (WebCore::ClipboardQt::getData):
+ (WebCore::ClipboardQt::setData):
+ (WebCore::ClipboardQt::setDragImage):
+ (WebCore::getCachedImage):
+ (WebCore::ClipboardQt::declareAndWriteDragImage):
+ (WebCore::ClipboardQt::writeURL):
+ (WebCore::ClipboardQt::writeRange):
+ (WebCore::ClipboardQt::hasData):
+ * platform/qt/ClipboardQt.h:
+ * platform/qt/ContextMenuItemQt.cpp:
+ (WebCore::ContextMenuItem::action):
+ (WebCore::ContextMenuItem::title):
+ * platform/qt/CursorQt.cpp:
+ (WebCore::westPanningCursor):
+ (WebCore::notAllowedCursor):
+ * platform/qt/DragDataQt.cpp:
+ (WebCore::DragData::containsFiles):
+ (WebCore::DragData::asFilenames):
+ (WebCore::DragData::asPlainText):
+ (WebCore::DragData::asFragment):
+ * platform/qt/DragImageQt.cpp:
+ (WebCore::createDragImageIconForCachedImage):
+ * platform/qt/FileSystemQt.cpp:
+ (WebCore::getFileSize):
+ (WebCore::unloadModule):
+ * platform/qt/Localizations.cpp:
+ (WebCore::contextMenuItemTagShowSpellingPanel):
+ * platform/qt/MIMETypeRegistryQt.cpp:
+ (WebCore::):
+ * platform/qt/PasteboardQt.cpp:
+ (WebCore::Pasteboard::Pasteboard):
+ (WebCore::Pasteboard::writeSelection):
+ (WebCore::Pasteboard::plainText):
+ * platform/qt/PlatformKeyboardEventQt.cpp:
+ (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
+ * platform/qt/PlatformMouseEventQt.cpp:
+ (WebCore::PlatformMouseEvent::PlatformMouseEvent):
+ * platform/qt/PopupMenuQt.cpp:
+ (WebCore::PopupMenu::populate):
+ * platform/qt/RenderThemeQt.cpp:
+ (WebCore::RenderThemeQt::fallbackStyle):
+ (WebCore::inflateButtonRect):
+ (WebCore::RenderThemeQt::computeSizeBasedOnStyle):
+ (WebCore::RenderThemeQt::paintButton):
+ (WebCore::RenderThemeQt::paintMenuList):
+ (WebCore::RenderThemeQt::applyTheme):
+ (WebCore::WorldMatrixTransformer::WorldMatrixTransformer):
+ (WebCore::RenderThemeQt::paintMediaBackground):
+ (WebCore::RenderThemeQt::paintMediaFullscreenButton):
+ * platform/qt/RenderThemeQt.h:
+ * platform/qt/ScreenQt.cpp:
+ (WebCore::screenRect):
+ (WebCore::usableScreenRect):
+ * platform/qt/ScrollbarQt.cpp:
+ (WebCore::Scrollbar::contextMenu):
+ * platform/qt/ScrollbarThemeQt.cpp:
+ (WebCore::scPart):
+ (WebCore::scrollbarPart):
+ * platform/qt/ScrollbarThemeQt.h:
+ * platform/qt/SharedBufferQt.cpp:
+ (WebCore::SharedBuffer::createWithContentsOfFile):
+ * platform/qt/TemporaryLinkStubs.cpp:
+ (PluginDatabase::defaultPluginDirectories):
+ (PluginDatabase::getPluginPathsInDirectories):
+ (PluginDatabase::isPreferredPluginDirectory):
+ (WebCore::getSupportedKeySizes):
+ (WebCore::signedPublicKeyAndChallengeString):
+ (WebCore::userIdleTime):
+ (WebCore::prefetchDNS):
+ * platform/text/qt/StringQt.cpp:
+ (WebCore::String::String):
+ * platform/text/qt/TextBoundaries.cpp:
+ * platform/text/qt/TextBreakIteratorQt.cpp:
+ (WebCore::TextBreakIterator::following):
+ (WebCore::TextBreakIterator::preceding):
+ (WebCore::WordBreakIteratorQt::first):
+ (WebCore::WordBreakIteratorQt::next):
+ (WebCore::WordBreakIteratorQt::previous):
+ (WebCore::CharBreakIteratorQt::first):
+ (WebCore::CharBreakIteratorQt::next):
+ (WebCore::CharBreakIteratorQt::previous):
+ (WebCore::characterBreakIterator):
+ * plugins/qt/PluginPackageQt.cpp:
+ (WebCore::PluginPackage::fetchInfo):
+ * plugins/qt/PluginViewQt.cpp:
+ (WebCore::PluginView::userAgentStatic):
+ (WebCore::PluginView::handlePostReadFile):
+ (WebCore::PluginView::init):
+
+2009-07-21 Maxime Simon <simon.maxime@gmail.com>
+
+ Reviewed by David Levin.
+
+ Added a first bunch of Haiku-specific files for WebCore.
+ https://bugs.webkit.org/show_bug.cgi?id=26988
+
+ * platform/haiku/ClipboardHaiku.cpp: Added.
+ (WebCore::ClipboardHaiku::ClipboardHaiku):
+ (WebCore::ClipboardHaiku::clearData):
+ (WebCore::ClipboardHaiku::clearAllData):
+ (WebCore::ClipboardHaiku::getData):
+ (WebCore::ClipboardHaiku::setData):
+ (WebCore::ClipboardHaiku::types):
+ (WebCore::ClipboardHaiku::files):
+ (WebCore::ClipboardHaiku::dragLocation):
+ (WebCore::ClipboardHaiku::dragImage):
+ (WebCore::ClipboardHaiku::setDragImage):
+ (WebCore::ClipboardHaiku::dragImageElement):
+ (WebCore::ClipboardHaiku::setDragImageElement):
+ (WebCore::ClipboardHaiku::createDragImage):
+ (WebCore::ClipboardHaiku::declareAndWriteDragImage):
+ (WebCore::ClipboardHaiku::writeURL):
+ (WebCore::ClipboardHaiku::writeRange):
+ (WebCore::ClipboardHaiku::hasData):
+ * platform/haiku/ClipboardHaiku.h: Added.
+ (WebCore::ClipboardHaiku::create):
+ (WebCore::ClipboardHaiku::~ClipboardHaiku):
+ * platform/haiku/CookieJarHaiku.cpp: Added.
+ (WebCore::setCookies):
+ (WebCore::cookies):
+ (WebCore::cookiesEnabled):
+ * platform/haiku/CursorHaiku.cpp: Added.
+ (WebCore::Cursor::Cursor):
+ (WebCore::Cursor::~Cursor):
+ (WebCore::Cursor::operator=):
+ (WebCore::pointerCursor):
+ (WebCore::moveCursor):
+ (WebCore::crossCursor):
+ (WebCore::handCursor):
+ (WebCore::iBeamCursor):
+ (WebCore::waitCursor):
+ (WebCore::helpCursor):
+ (WebCore::eastResizeCursor):
+ (WebCore::northResizeCursor):
+ (WebCore::northEastResizeCursor):
+ (WebCore::northWestResizeCursor):
+ (WebCore::southResizeCursor):
+ (WebCore::southEastResizeCursor):
+ (WebCore::southWestResizeCursor):
+ (WebCore::westResizeCursor):
+ (WebCore::northSouthResizeCursor):
+ (WebCore::eastWestResizeCursor):
+ (WebCore::northEastSouthWestResizeCursor):
+ (WebCore::northWestSouthEastResizeCursor):
+ (WebCore::columnResizeCursor):
+ (WebCore::rowResizeCursor):
+ (WebCore::verticalTextCursor):
+ (WebCore::cellCursor):
+ (WebCore::contextMenuCursor):
+ (WebCore::noDropCursor):
+ (WebCore::copyCursor):
+ (WebCore::progressCursor):
+ (WebCore::aliasCursor):
+ (WebCore::noneCursor):
+ (WebCore::notAllowedCursor):
+ (WebCore::zoomInCursor):
+ (WebCore::zoomOutCursor):
+ (WebCore::grabCursor):
+ (WebCore::grabbingCursor):
+
+2009-07-21 Albert Astals Cid <aacid@kde.org>
+
+ Reviewed by Tor Arne Vestbø.
+
+ Change #error line not to have a ' (single quote)
+
+ * DerivedSources.cpp:
+
+2009-07-21 Roland Steiner <rolandsteiner@google.com>
+
+ Reviewed by David Levin.
+
+ Add ENABLE_RUBY to list of build options
+ https://bugs.webkit.org/show_bug.cgi?id=27324
+
+ Added flag ENABLE_RUBY:
+
+ * Configurations/FeatureDefines.xcconfig:
+ * DerivedSources.make:
+ * GNUmakefile.am:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCoreCommon.vsprops:
+ * WebCore.vcproj/build-generated-files.sh:
+
+2009-07-21 James Hawkins <jhawkins@google.com>
+
+ Reviewed by Eric Seidel.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27467
+ Return an empty path in PlatformContextSkia::currentPathInLocalCoordinates
+ if matrix.invert() fails. This prevents the use of an uninitialized
+ value in inverseMatrix.
+
+ No new tests added. Run
+ LayoutTests/svg/dynamic-updates/SVGMarkerElement-dom-markerHeight-attr.html
+ under valgrind and notice there are no errors.
+
+ * platform/graphics/skia/PlatformContextSkia.cpp:
+ (PlatformContextSkia::currentPathInLocalCoordinates):
+
+2009-07-21 Stephen White <senorblanco@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27388
+
+ Fix dotted and dashed borders on Chromium/skia. This follows
+ the logic in the Cg path, so results are much closer to Safari now
+ (some tests won't be exactly the same due to font layout differences).
+
+ * platform/graphics/skia/GraphicsContextSkia.cpp:
+ (WebCore::GraphicsContext::drawLine):
+ * platform/graphics/skia/PlatformContextSkia.cpp:
+ (PlatformContextSkia::setupPaintForStroking):
+
+2009-07-20 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Gavin Barraclough.
+
+ Make it harder to misuse try* allocation routines
+ https://bugs.webkit.org/show_bug.cgi?id=27469
+
+ Add forwarding header for PossiblyNull type, and add missing null check
+ to ImageBuffer creation.
+
+ * ForwardingHeaders/wtf/PossiblyNull.h: Added.
+ * platform/graphics/cg/ImageBufferCG.cpp:
+ (WebCore::ImageBuffer::ImageBuffer):
+
+2009-07-20 Adam Langley <agl@google.com>
+
+ Reviewed by Eric Seidel.
+
+ Guard access to installedMediaEngines()[0].
+
+ https://bugs.webkit.org/show_bug.cgi?id=27479
+ http://code.google.com/p/chromium/issues/detail?id=16541
+
+ Else where in the file, installedMediaEngines is always checked for
+ being empty because access. This patch adds a case which missed that
+ check.
+
+ This triggered a crash in Chromium:
+ http://www.yakeze.com/chat/example-chromium-crash/
+
+ * platform/graphics/MediaPlayer.cpp:
+ (WebCore::MediaPlayer::load):
+
+2009-07-20 Adam Langley <agl@google.com>
+
+ Reviewed by Eric Seidel.
+
+ Allow search entries to render with a CSS border if the RenderTheme
+ doesn't paint them.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27466
+ http://code.google.com/p/chromium/issues/detail?id=16958
+
+ <input type="search"> is very much like a text entry except that,
+ currently, if the RenderTheme doesn't deal with it, nothing is
+ rendered. With this patch, the default CSS border is rendered if the
+ RenderTheme requests it.
+
+ This will affect many layout tests, but only for Chromium Linux and
+ those results are not currently in the WebKit tree.
+
+ * rendering/RenderTheme.cpp:
+ (WebCore::RenderTheme::paintBorderOnly):
+
+2009-07-17 Anton Muhin <antonm@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Switch to faster methods to access internal fields.
+ https://bugs.webkit.org/show_bug.cgi?id=27372
+
+ Minor refactoring.
+
+ * bindings/scripts/CodeGeneratorV8.pm:
+ * bindings/v8/V8DOMWrapper.cpp:
+ (WebCore::V8DOMWrapper::convertToSVGPODTypeImpl):
+ (WebCore::V8DOMWrapper::setDOMWrapper):
+ * bindings/v8/V8DOMWrapper.h:
+ (WebCore::V8DOMWrapper::convertDOMWrapperToNative):
+ (WebCore::V8DOMWrapper::convertDOMWrapperToNode):
+ (WebCore::V8DOMWrapper::convertToNativeObject):
+ (WebCore::V8DOMWrapper::convertToNativeEvent):
+ * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8ClipboardCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8DocumentCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8ElementCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
+ (WebCore::removeElement):
+ * bindings/v8/custom/V8InspectorControllerCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8NodeCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8XSLTProcessorCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+
+2009-07-20 Adam Langley <agl@google.com>
+
+ Reviewed by Eric Seidel.
+
+ Chromium Linux: cache Harfbuzz faces.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27473
+
+ Previously, we recreated the Harfbuzz face for each script-run. With
+ this patch, we keep the Harfbuzz face in the FontPlatformData (created
+ as needed) and so they will persist for the duration of the
+ FontPlatformData.
+
+ Shouldn't affect any layout tests. Results in a significant win on the
+ intl2 page cycler time.
+
+ * platform/graphics/chromium/FontLinux.cpp:
+ (WebCore::TextRunWalker::~TextRunWalker):
+ (WebCore::TextRunWalker::setupFontForScriptRun):
+ * platform/graphics/chromium/FontPlatformDataLinux.cpp:
+ (WebCore::FontPlatformData::RefCountedHarfbuzzFace::~RefCountedHarfbuzzFace):
+ (WebCore::FontPlatformData::FontPlatformData):
+ (WebCore::FontPlatformData::harfbuzzFace):
+ * platform/graphics/chromium/FontPlatformDataLinux.h:
+ (WebCore::FontPlatformData::RefCountedHarfbuzzFace::create):
+ (WebCore::FontPlatformData::RefCountedHarfbuzzFace::face):
+ (WebCore::FontPlatformData::RefCountedHarfbuzzFace::RefCountedHarfbuzzFace):
+ * platform/graphics/chromium/HarfbuzzSkia.h: Added.
+
+2009-07-20 Ryosuke Niwa <rniwa@webkit.org>
+
+ Reviewed by Simon Fraser.
+
+ REGRESSION (r46142): Need to remove showTreeThisForThis
+ https://bugs.webkit.org/show_bug.cgi?id=27475
+
+ Removes showTreeThisForThis
+
+ * editing/IndentOutdentCommand.cpp:
+ (WebCore::IndentOutdentCommand::appendParagraphIntoNode):
+
+2009-07-19 Ryosuke Niwa <rniwa@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Refactoring of indentRegion to fix bugs 26816 and 25317
+ https://bugs.webkit.org/show_bug.cgi?id=26816
+ https://bugs.webkit.org/show_bug.cgi?id=25317
+ https://bugs.webkit.org/show_bug.cgi?id=23995 (partially)
+
+ This patch implements appendParagraphIntoNode, a simpler specialized version of moveParagraph
+ and replaces all calls inside indentRegion. The following is the new behavior of indentRegion.
+
+ 1. We try to indent as many wrapping nodes as possible.
+ e.g. when indenting "hello" in <div>hello</div>, we try to indent div as well.
+ 2. We do not delete any wrapping elements
+ With moveParagraph, we used to remove all wrapping nodes, and replaced with a blockquote.
+ This was causing https://bugs.webkit.org/show_bug.cgi?id=23995 for indentation.
+ With appendParagraphIntoNode, we can preserve all wrapping nodes.
+ 3. We only split the tree until the closest block node instead of until the root editable node.
+ This behavioral change fixes the bug 25317.
+ 4. When multiple paragraphs are indented, we indent the highest common ancestor within the selection.
+ e.g. when a list is a child node of a div, and the entire div is intended,
+ we enclose the div by a single blockquote.
+
+ Note that new behavior is more consistent with that of Internet Explorer and Firefox.
+ To demonstrate this, the following tests are added.
+
+ Tests: editing/execCommand/indent-div-inside-list.html
+ editing/execCommand/indent-nested-blockquotes.html
+ editing/execCommand/indent-nested-div.html
+ editing/execCommand/indent-second-paragraph-in-blockquote.html
+
+ * editing/IndentOutdentCommand.cpp: prepareBlockquoteLevelForInsertion is removed
+ (WebCore::IndentOutdentCommand::tryIndentingAsListItem): uses appendParagraphIntoNode now
+ (WebCore::IndentOutdentCommand::indentIntoBlockquote): uses appendParagraphIntoNode now
+ (WebCore::IndentOutdentCommand::appendParagraphIntoNode): removes a paragraph and appends it to a new node
+ (WebCore::IndentOutdentCommand::removeUnnecessaryLineBreakAt): removes a break element at the specified position
+ (WebCore::IndentOutdentCommand::indentRegion): exhibits the described behavior
+ * editing/IndentOutdentCommand.h: updated prototype
+
+2009-07-20 Dan Bernstein <mitz@apple.com>
+
+ Try to fix release builds after r46136
+
+ * dom/Element.cpp:
+
+2009-07-17 Pierre d'Herbemont <pdherbemont@apple.com>
+
+ Reviewed by Eric Seidel.
+
+ Media Controls: We are specifying the text height, where it is unneeded and the slider is 2px off.
+ https://bugs.webkit.org/show_bug.cgi?id=27380
+
+ Adjust the margin of the slider and remove useless height specification to fix alignement of the media controls.
+
+ * css/mediaControlsQT.css:
+
+2009-07-20 Peter Kasting <pkasting@google.com>
+
+ Reviewed by Mark Rowe.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27468
+ Back out r46060, which caused problems for some Apple developers.
+
+ * WebCore.vcproj/QTMovieWin.vcproj:
+ * WebCore.vcproj/WebCoreCommon.vsprops:
+ * WebCore.vcproj/WebCoreGenerated.vcproj:
+
+2009-07-20 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ When loading a custom view into a frame, the old document is still
+ around
+ <rdar://problem/5145841>
+
+ Safari fires onload before PDF is loaded into the browser
+ <rdar://problem/6618869>
+
+ Test: fast/loader/non-html-load-event.html
+
+ * GNUmakefile.am: Added PlaceholderDocument.{cpp,h}
+ * WebCore.gypi: Ditto.
+ * WebCore.pro: Ditto.
+ * WebCore.vcproj/WebCore.vcproj: Ditto.
+ * WebCore.xcodeproj/project.pbxproj: Ditto.
+ * WebCoreSources.bkl: Ditto.
+ * dom/Document.h:
+ (WebCore::Document::setStyleSelector): Added this protected accessor for
+ PlaceholderDocument to use.
+ * dom/Element.cpp:
+ (WebCore::Element::clientWidth): Check whether the document has a
+ renderer.
+ (WebCore::Element::clientHeight): Ditto.
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::begin): Create a PlaceholderDocument for frames
+ that do not use an HTML view. Do not nullify the content size in
+ that case.
+ (WebCore::FrameLoader::transitionToCommitted): For frames that do not
+ use an HTML view, call receivedFirstData(), which sets up the
+ frame with a new PlaceHolderDocument.
+ * loader/PlaceholderDocument.cpp: Added.
+ (WebCore::PlaceholderDocument::attach): Sets up the style selector but
+ does not create a RenderView.
+ * loader/PlaceholderDocument.h: Added.
+ (WebCore::PlaceholderDocument::create):
+ (WebCore::PlaceholderDocument::PlaceholderDocument):
+
+2009-07-20 Chris Marrin <cmarrin@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ Handle opacity and opacity animations on transform layers in Leopard
+ https://bugs.webkit.org/show_bug.cgi?id=27398
+
+ This makes two changes, and only for Leopard.
+
+ First, whenever opacity is changed on a layer I propagate the
+ change into the content layer and all the children if the layer
+ on which opacity is set is a transform layer (preserve3D is true).
+ The opacity set is the accumulated opacity from this layer
+ and all its direct ancestor transform layers. Second, I turn off all
+ hardware opacity animation.
+
+ * platform/graphics/GraphicsLayer.cpp:
+ (WebCore::GraphicsLayer::accumulatedOpacity):
+ (WebCore::GraphicsLayer::distributeOpacity):
+ * platform/graphics/GraphicsLayer.h:
+ (WebCore::GraphicsLayer::setOpacityInternal):
+ * platform/graphics/mac/GraphicsLayerCA.h:
+ * platform/graphics/mac/GraphicsLayerCA.mm:
+ (WebCore::GraphicsLayerCA::setPreserves3D):
+ (WebCore::GraphicsLayerCA::setOpacity):
+ (WebCore::GraphicsLayerCA::animateFloat):
+ (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
+ (WebCore::GraphicsLayerCA::setOpacityInternal):
+ (WebCore::GraphicsLayerCA::updateOpacityOnLayer):
+
+2009-07-20 Yong Li <yong.li@torchmobile.com>
+
+ Reviewed by Adam Roben.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27349
+ Add GraphicsContext implementation for the WinCE port.
+
+ Written by Yong Li <yong.li@torchmobile.com>, George Staikos <george.staikos@torchmobile.com> and Lyon Chen <lyon.chen@torchmobile.com>
+ with trivial style fixes by Adam Treat <adam.treat@torchmobile.com>
+
+ * platform/graphics/wince/GraphicsContextWince.cpp: Added.
+
+2009-07-20 Dumitru Daniliuc <dumi@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Adding the Win SQLite VFS implementation for Chromium, and stubs
+ for the Mac and Linux VFSs.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26940
+
+ * WebCore.gypi:
+ * platform/chromium/ChromiumBridge.h:
+ * platform/sql/chromium/SQLiteFileSystemChromium.cpp: Added.
+ * platform/sql/chromium/SQLiteFileSystemChromiumLinux.cpp: Added.
+ * platform/sql/chromium/SQLiteFileSystemChromiumMac.cpp: Added.
+ * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp: Added.
+
+2009-07-20 Xan Lopez <xlopez@igalia.com>
+
+ Reviewed by Gustavo Noronha.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27097
+ [Gtk] Segfault when examining an object of ROLE_TABLE via at-spi
+
+ Check that an object is a RenderObject before trying to access its
+ renderer and related node.
+
+ * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
+ (webkit_accessible_get_role):
+
+2009-07-20 Balazs Kelemen <kelemen.balazs.3@stud.u-szeged.hu>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] font cache reworking
+ https://bugs.webkit.org/show_bug.cgi?id=27265
+
+ Reimplemented Qt's FontCache in a way that follows the shared one.
+ Now we can release its elements when those became inactive.
+ FontFallbackList had been changed to be able to hold WebCore fonts in its list and to be able to release a FontData what is in the cache.
+
+ No change in behavior, so no tests.
+
+ * platform/graphics/qt/FontCacheQt.cpp:
+ (WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey):
+ (WebCore::FontPlatformDataCacheKey::isHashTableDeletedValue):
+ (WebCore::FontPlatformDataCacheKey::): Key type for the cache of FontPlatformData objects.
+ It can be constructed from a FontPlatformData or from a FontDescription. The keys have to be consistent
+ with FontPlatformData::FontPlatformData(const FontDescription&) - if we create the same
+ FontPlatformData from two FontDescription then we have to create the same key from them, and vica versa.
+ (WebCore::FontPlatformDataCacheKey::operator==):
+ (WebCore::FontPlatformDataCacheKey::hash):
+ (WebCore::FontPlatformDataCacheKey::computeHash):
+ (WebCore::FontPlatformDataCacheKey::hashTableDeletedSize):
+ (WebCore::FontPlatformDataCacheKeyHash::hash):
+ (WebCore::FontPlatformDataCacheKeyHash::equal):
+ (WebCore::FontPlatformDataCacheKeyTraits::emptyValue):
+ (WebCore::FontPlatformDataCacheKeyTraits::constructDeletedValue):
+ (WebCore::FontPlatformDataCacheKeyTraits::isDeletedValue):
+ (WebCore::FontCache::getCachedFontPlatformData): Get a FontDescription and returns a FontPlatformData.
+ (WebCore::FontCache::getCachedFontData): Get a FontPlatformData and returns a SimpleFontData.
+ (WebCore::FontCache::releaseFontData): Get a SimpleFontData and releases it from the cache. Also releases the appropriate FontPlatformData.
+ (WebCore::FontCache::purgeInactiveFontData): Frees inactive elements.
+ (WebCore::FontCache::invalidate): Frees all inactive elements (call purgeInactiveFontData with default argument)
+ * platform/graphics/qt/FontFallbackListQt.cpp:
+ (WebCore::FontFallbackList::releaseFontData):
+ (WebCore::FontFallbackList::fontDataAt):
+ * platform/graphics/qt/FontPlatformData.h:
+ (WebCore::FontPlatformData::family): Getter. It is needed for FontPlatformDataCacheKey.
+ (WebCore::FontPlatformData::bold): Ditto.
+ (WebCore::FontPlatformData::italic): Ditto.
+ (WebCore::FontPlatformData::smallCaps): Ditto.
+ (WebCore::FontPlatformData::pixelSize): Ditto.
+ * platform/graphics/qt/FontPlatformDataQt.cpp:
+ (WebCore::FontPlatformData::FontPlatformData): Set m_bold.
+
+2009-07-20 Xan Lopez <xlopez@igalia.com>
+
+ Reviewed by Holger Freyther.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26716
+ [Gtk] Each XMLHttpRequest leaks memory.
+
+ Free the SoupURI we create to check the URI. Fix suggested by John
+ Kjellberg.
+
+ * platform/network/soup/ResourceHandleSoup.cpp:
+ (WebCore::):
+
+2009-07-20 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Holger Freyther.
+
+ [Qt] On Symbian link against system sqlite3
+ https://bugs.webkit.org/show_bug.cgi?id=27368
+
+ Add an option to force linking against system sqlite3
+ by adding system-sqlite to the CONFIG variable.
+
+ The Symbian specific part of this patch is contributed by
+ Norbert Leser.
+
+ * WebCore.pro:
+
+2009-07-20 Xan Lopez <xlopez@igalia.com>
+
+ Reviewed by Gustavo Noronha.
+
+ Change the glib version check to check for the first unstable
+ release with g_mapped_file_unref. Otherwise this would be useless
+ until 2.22 is released, a few months from now.
+
+ * platform/network/soup/ResourceHandleSoup.cpp:
+ (WebCore::ResourceHandle::startHttp):
+
+2009-07-20 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Reviewed by and done with Tor Arne Vestbø.
+
+ Fix fast/css/pseudo-required-optional-*.html in the Qt build
+ after r46062.
+
+ These tests triggered a bug in RenderThemeQt where we did not fall back
+ to the unstyled painting of text areas and input fields when they have
+ a styled background.
+
+ Our re-implementation of isControlStyled incorrectly only checked the
+ border for determining whether to style or not. The base-implementation
+ performs the same check, but also includes the background. Removing
+ our implementation fixes the appearance.
+
+ * platform/qt/RenderThemeQt.cpp: Removed isControlStyled reimplementation.
+ * platform/qt/RenderThemeQt.h: Ditto.
+
+2009-07-20 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Rubber-stamped by Tor Arne Vestbø.
+
+ Add missing (sorted) header files to the HEADERS variable in the qmake
+ .pro file for improved completion in IDEs.
+
+ * WebCore.pro:
+
+2009-07-19 Adam Barth <abarth@webkit.org>
+
+ Reviewed by David Levin.
+
+ [V8] Factor V8ConsoleMessage out of V8Proxy
+ https://bugs.webkit.org/show_bug.cgi?id=27421
+
+ No behavior change.
+
+ * WebCore.gypi:
+ * bindings/v8/V8ConsoleMessage.cpp: Added.
+ (WebCore::V8ConsoleMessage::V8ConsoleMessage):
+ (WebCore::V8ConsoleMessage::dispatchNow):
+ (WebCore::V8ConsoleMessage::dispatchLater):
+ (WebCore::V8ConsoleMessage::processDelayed):
+ (WebCore::V8ConsoleMessage::handler):
+ * bindings/v8/V8ConsoleMessage.h: Added.
+ (WebCore::V8ConsoleMessage::Scope::Scope):
+ (WebCore::V8ConsoleMessage::Scope::~Scope):
+ * bindings/v8/V8Proxy.cpp:
+ (WebCore::logInfo):
+ (WebCore::reportUnsafeAccessTo):
+ (WebCore::V8Proxy::runScript):
+ (WebCore::V8Proxy::callFunction):
+ (WebCore::V8Proxy::newInstance):
+ (WebCore::V8Proxy::initContextIfNeeded):
+ (WebCore::V8Proxy::processConsoleMessages):
+
+2009-07-19 Rob Buis <rwlbuis@gmail.com>
+
+ Reviewed by Adam Barth.
+
+ Remove unused member variable.
+
+ * svg/SVGPolyElement.h:
+
+2009-07-19 Eric Carlson <eric.carlson@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ HTMLAudioElement: constructor should set "autobuffer" attribute
+ https://bugs.webkit.org/show_bug.cgi?id=27422
+
+ Test: media/audio-constructor-autobuffer.html
+
+ * bindings/js/JSAudioConstructor.cpp:
+ (WebCore::constructAudio):
+ Set 'autobuffer' attribute.
+
+2009-07-19 Thierry Bastian <thierry.bastian@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ Fix the Qt build with mingw.
+
+ * WebCore.pro: Don't use MSVC commandline options to disable warnings
+ with mingw.
+
+2009-07-19 Adam Barth <abarth@webkit.org>
+
+ Reviewed by David Levin.
+
+ [V8] Phase 2: Remove event listener methods from V8Proxy
+ https://bugs.webkit.org/show_bug.cgi?id=27415
+
+ No behavior change.
+
+ * bindings/v8/V8ObjectEventListener.cpp:
+ (WebCore::weakObjectEventListenerCallback):
+ (WebCore::V8ObjectEventListener::~V8ObjectEventListener):
+ * bindings/v8/V8Proxy.cpp:
+ (WebCore::V8Proxy::disconnectEventListeners):
+ * bindings/v8/V8Proxy.h:
+ (WebCore::V8Proxy::eventListeners):
+ (WebCore::V8Proxy::objectListeners):
+ * bindings/v8/custom/V8AbstractWorkerCustom.cpp:
+ (WebCore::getEventListener):
+ * bindings/v8/custom/V8CustomEventListener.cpp:
+ (WebCore::V8EventListener::~V8EventListener):
+ * bindings/v8/custom/V8DOMWindowCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+ (WebCore::ACCESSOR_SETTER):
+ * bindings/v8/custom/V8ElementCustom.cpp:
+ (WebCore::ACCESSOR_SETTER):
+ * bindings/v8/custom/V8MessagePortCustom.cpp:
+ (WebCore::ACCESSOR_SETTER):
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8NodeCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8SVGElementInstanceCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8WorkerCustom.cpp:
+ (WebCore::getEventListener):
+ * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
+ (WebCore::getEventListener):
+ * bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp:
+ (WebCore::ACCESSOR_SETTER):
+ (WebCore::CALLBACK_FUNC_DECL):
+
+2009-07-18 Jan Michael Alonzo <jmalonzo@webkit.org>
+
+ Reviewed by Gustavo Noronha.
+
+ [Gtk] soup/ResourceHandleSoup.cpp:533: error: 'g_mapped_file_free' was not declared in this scope
+ https://bugs.webkit.org/show_bug.cgi?id=27230
+
+ Use g_mapped_file_unref for GLIB version 2.22 onwards.
+
+ * platform/network/soup/ResourceHandleSoup.cpp:
+ (WebCore::ResourceHandle::startHttp):
+
+2009-07-18 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ Add spread radius support to -webkit-box-shadow
+ https://bugs.webkit.org/show_bug.cgi?id=27417
+ rdar://problem/7072267
+
+ Test: fast/box-shadow/spread.html
+
+ * css/CSSComputedStyleDeclaration.cpp:
+ (WebCore::valueForShadow): Added a property ID parameter and used it to
+ include the spread length for box-shadow but not for text-shadow.
+ (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
+ Pass the property ID to valueForShadow().
+
+ * css/CSSParser.cpp:
+ (WebCore::ShadowParseContext::ShadowParseContext): Added property,
+ spread, and allowSpread members. Added a property ID parameter to
+ the constructor. Initialize the property and allowSpread members.
+ (WebCore::ShadowParseContext::allowLength): Added allowSpread.
+ (WebCore::ShadowParseContext::commitValue): Pass the spread value to
+ the ShadowValue constructor. Reset allowSpread.
+ (WebCore::ShadowParseContext::commitLength): Allow spread after blur
+ for the box-shadow property.
+ (WebCore::ShadowParseContext::commitColor): Reset allowSpread.
+ (WebCore::CSSParser::parseShadow): Pass the property ID to
+ ShadowParseContext().
+
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::applyProperty): Get the spread value from
+ the shadow value and pass it to the ShadowData constructor.
+
+ * css/ShadowValue.cpp:
+ (WebCore::ShadowValue::ShadowValue): Added spread.
+ (WebCore::ShadowValue::cssText): Added spread.
+
+ * css/ShadowValue.h:
+ (WebCore::ShadowValue::create): Added spread.
+
+ * page/animation/AnimationBase.cpp:
+ (WebCore::blendFunc): Blend the spread value.
+ (WebCore::PropertyWrapperShadow::blend): Added 0 spread to the default
+ shadow.
+
+ * rendering/InlineFlowBox.cpp:
+ (WebCore::InlineFlowBox::placeBoxesHorizontally): Account for spread in
+ the visual overflow calculations.
+ (WebCore::InlineFlowBox::placeBoxesVertically): Ditto.
+ (WebCore::InlineFlowBox::paint): Ditto.
+
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::overflowHeight): Ditto.
+ (WebCore::RenderBlock::overflowWidth): Ditto.
+ (WebCore::RenderBlock::overflowLeft): Ditto.
+ (WebCore::RenderBlock::overflowTop): Ditto.
+ (WebCore::RenderBlock::overflowRect): Ditto.
+ (WebCore::RenderBlock::layoutBlock): Ditto.
+
+ * rendering/RenderBoxModelObject.cpp:
+ (WebCore::RenderBoxModelObject::paintBoxShadow): Inflate the shadow-
+ casting rect by the shadow spread value. Adjust border radii if
+ necessary.
+
+ * rendering/RenderFlexibleBox.cpp:
+ (WebCore::RenderFlexibleBox::layoutBlock): Account for spread in the
+ visual overflow calculations.
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::calculateRects): Ditto.
+
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::repaintAfterLayoutIfNeeded): Account for spread.
+ (WebCore::RenderObject::adjustRectForOutlineAndShadow): Ditto.
+
+ * rendering/RenderReplaced.cpp:
+ (WebCore::RenderReplaced::adjustOverflowForBoxShadowAndReflect): Ditto.
+
+ * rendering/style/RenderStyle.cpp:
+ (WebCore::RenderStyle::setTextShadow): Assert that text shadows do not
+ have spread.
+
+ * rendering/style/ShadowData.cpp:
+ (WebCore::ShadowData::ShadowData): Added spread.
+ (WebCore::ShadowData::operator==): Compare spread.
+ * rendering/style/ShadowData.h:
+ (WebCore::ShadowData::ShadowData): Added spread.
+
+2009-07-18 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Jan Alonzo.
+
+ Minor FrameLoader.cpp cleanup
+ https://bugs.webkit.org/show_bug.cgi?id=27406
+
+ No behavior change.
+
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::executeIfJavaScriptURL):
+
+2009-07-18 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Darin Fisher.
+
+ [V8] Move event listener methods from V8Proxy to V8EventListenerList
+ https://bugs.webkit.org/show_bug.cgi?id=27408
+
+ Move some event listener code out of V8Proxy and into the event
+ listener list.
+
+ I'd like to remove these methods from V8Proxy entirely and just expose
+ getters for the lists themselves, but I'll do that in a follow up
+ patch.
+
+ * bindings/v8/V8EventListenerList.cpp:
+ (WebCore::V8EventListenerList::findWrapper):
+ * bindings/v8/V8EventListenerList.h:
+ (WebCore::V8EventListenerList::findOrCreateWrapper):
+ * bindings/v8/V8ObjectEventListener.cpp:
+ * bindings/v8/V8Proxy.cpp:
+ (WebCore::V8Proxy::findV8EventListener):
+ (WebCore::V8Proxy::findOrCreateV8EventListener):
+ (WebCore::V8Proxy::removeV8EventListener):
+ (WebCore::V8Proxy::findObjectEventListener):
+ (WebCore::V8Proxy::findOrCreateObjectEventListener):
+ (WebCore::V8Proxy::removeObjectEventListener):
+ * bindings/v8/V8Proxy.h:
+
+2009-07-18 Jeremy Orlow <jorlow@chromium.org>
+
+ Rubber stamped by Adam Barth.
+
+ Revert https://bugs.webkit.org/show_bug.cgi?id=27383
+ https://bugs.webkit.org/show_bug.cgi?id=27407
+
+ Revert Jens' patch. I believe he forgot to include a file.
+
+ * WebCore.gypi:
+ * bindings/scripts/CodeGeneratorV8.pm:
+ * bindings/v8/DOMObjectsInclude.h:
+ * bindings/v8/V8DOMWrapper.cpp:
+ (WebCore::V8DOMWrapper::getTemplate):
+ * bindings/v8/V8DataGridDataSource.cpp: Removed.
+ * bindings/v8/V8DataGridDataSource.h: Removed.
+ * bindings/v8/V8GCController.h:
+ * bindings/v8/V8Index.h:
+ * bindings/v8/custom/V8CustomBinding.h:
+ * bindings/v8/custom/V8HTMLDataGridElementCustom.cpp:
+ (WebCore::ACCESSOR_GETTER):
+ (WebCore::ACCESSOR_SETTER):
+
+2009-07-17 Daniel Bates <dbates@intudata.com>
+
+ Reviewed by Adam Barth.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27405
+
+ Fixes an issue when decoding HTML entities with an unknown named entity that
+ caused null-characters to be inserted into the decoded result.
+
+ Test: http/tests/security/xssAuditor/link-onclick-ampersand.html
+ http/tests/security/xssAuditor/javascript-link-ampersand.html
+
+ * page/XSSAuditor.cpp:
+ (WebCore::XSSAuditor::decodeHTMLEntities): Added check to conditional so that
+ non-zero entity values are not inserted during decoding process.
+
+2009-07-17 Jan Michael Alonzo <jmalonzo@webkit.org>
+
+ <http://webkit.org/b/18363> [GTK] Combo boxes cannot be opened pressing space
+
+ Reviewed by Holger Freyther.
+
+ Add Gtk to platforms that want to open the menulist using the
+ spacebar.
+
+ * dom/SelectElement.cpp:
+ (WebCore::SelectElement::menuListDefaultEventHandler):
+
+2009-07-17 Mario Sanchez Prada <msanchez@igalia.com>
+
+ Reviewed by Jan Alonzo.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25523
+ [GTK] The text displayed by push buttons is not exposed to assistive technologies
+
+ Add new public method text() to RenderButton and use it from
+ AccessibilityRenderObject::stringValue().
+
+ * accessibility/AccessibilityRenderObject.cpp:
+ (WebCore::AccessibilityRenderObject::stringValue):
+ * rendering/RenderButton.cpp:
+ (WebCore::RenderButton::text):
+ * rendering/RenderButton.h:
+
+2009-07-17 Anton Muhin <antonm@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Restore proxy retrieval
+ https://bugs.webkit.org/show_bug.cgi?id=27369
+
+ No new tests are needed.
+
+ * bindings/v8/V8DOMWrapper.cpp:
+ (WebCore::V8DOMWrapper::instantiateV8Object):
+
+2009-07-17 Yael Aharon <yael.aharon@nokia.com>
+
+ Reviewed by George Staikos.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27351
+ Added platform "Symbian" to WEBCORE_NAVIGATOR_PLATFORM
+ Use uname to find the correct platform for Linux.
+
+ * page/NavigatorBase.cpp:
+ (WebCore::NavigatorBase::platform):
+
+2009-07-17 Jens Alfke <snej@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Hook up V8 bindings for DataGrid elements.
+ https://bugs.webkit.org/show_bug.cgi?id=27383
+ http://code.google.com/p/chromium/issues/detail?id=16730
+
+ Tests: Enhanced LayoutTests/fast/dom/HTMLDataGridElement/*
+ to handle exceptions, check appropriate JS prototypes, and
+ test column-list's item() method as well as array-indexing.
+
+ * WebCore.gypi: Added new source files.
+ * bindings/scripts/CodeGeneratorV8.pm: Made GenerateBatchedAttributeData put #if's around conditional attributes.
+ * bindings/v8/DOMObjectsInclude.h: #include DataGrid headers.
+ * bindings/v8/V8DOMWrapper.cpp: Add bindings from HTML tags to datagrid templates.
+ (WebCore::V8DOMWrapper::getTemplate): Customize datagrid template.
+ * bindings/v8/V8DataGridDataSource.cpp: Added. (Based on JSDataGridDataSource)
+ (WebCore::V8DataGridDataSource::V8DataGridDataSource):
+ (WebCore::V8DataGridDataSource::~V8DataGridDataSource):
+ * bindings/v8/V8DataGridDataSource.h: Added. (Based on JSDataGridDataSource)
+ (WebCore::V8DataGridDataSource::create):
+ (WebCore::V8DataGridDataSource::isJSDataGridDataSource):
+ (WebCore::V8DataGridDataSource::jsDataSource):
+ (WebCore::asV8DataGridDataSource):
+ * bindings/v8/V8GCController.h: Added new handle type "DATASOURCE".
+ * bindings/v8/V8Index.h: Conditionalize datagrid stuff.
+ * bindings/v8/custom/V8CustomBinding.h: Declare more accessors. Conditionalize.
+ * bindings/v8/custom/V8HTMLDataGridElementCustom.cpp: Fill in dataSource accessors.
+ (WebCore::ACCESSOR_GETTER):
+ (WebCore::ACCESSOR_SETTER):
+
+2009-07-17 Jeremy Orlow <jorlow@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ StorageArea should only contain methods we intend to proxy.
+ https://bugs.webkit.org/show_bug.cgi?id=27181
+
+ Right now, StorageAreaSync takes in a StorageArea* and calls methods
+ like importItem. Really, StorageAreaSync should be operating directly
+ on StorageAreaImpl* and those methods should be removed from StorageArea
+ since StorageAreaSync should never be attached to anything other than a
+ StorageAreaImpl.
+
+ This was pointed out in the review for
+ https://bugs.webkit.org/show_bug.cgi?id=27072
+
+ Also clean up StorageNamespaceImpl to operate directly on
+ StorageAreaImpl. Also, get rid of the factory for StorageArea
+ since nothing should ever create a StorageArea directly.
+
+ * GNUmakefile.am:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * WebCoreSources.bkl:
+ * storage/StorageArea.cpp: Removed.
+ * storage/StorageArea.h:
+ (WebCore::StorageArea::~StorageArea):
+ * storage/StorageAreaImpl.cpp:
+ (WebCore::StorageAreaImpl::copy):
+ * storage/StorageAreaImpl.h:
+ * storage/StorageAreaSync.cpp:
+ (WebCore::StorageAreaSync::create):
+ (WebCore::StorageAreaSync::StorageAreaSync):
+ * storage/StorageAreaSync.h:
+ * storage/StorageNamespaceImpl.cpp:
+ (WebCore::StorageNamespaceImpl::copy):
+ (WebCore::StorageNamespaceImpl::storageArea):
+ * storage/StorageNamespaceImpl.h:
+
+2009-07-17 Jeremy Orlow <jorlow@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Add v8 implementation for DOM Storage ScriptObjectQuarantine.
+ https://bugs.webkit.org/show_bug.cgi?id=27327
+
+ Wrap the storage object with a generic object as is done elsewhere in
+ the file (but continue to hit a NOTIMPLEMENTED if DOM_STORAGE is not
+ enabled.
+
+ * bindings/v8/ScriptObjectQuarantine.cpp:
+ (WebCore::getQuarantinedScriptObject):
+
+2009-07-17 Mads Ager <ager@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27394
+ Fix access to global object wrappers after navigation of their
+ frame in the V8 bindings. This fixes selenium test failures.
+
+ * bindings/v8/V8Proxy.cpp:
+ (WebCore::V8Proxy::updateDocument):
+
+2009-07-17 Mark Rowe <mrowe@apple.com>
+
+ Fix the 32-bit build by removing implicit float <-> double conversions.
+
+ * inspector/InspectorController.cpp:
+ (WebCore::constrainedAttachedWindowHeight):
+
+2009-07-17 Brian Weinstein <bweinstein@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Fix of <rdar://problem/5712795> Win: Cannot change the height of the docked Web Inspector (14272)
+ https://bugs.webkit.org/show_bug.cgi?id=14272
+
+ Moved preference setting for attached inspector height and inspector height calculation from
+ WebInspectorClient.mm into InspectorController.cpp, to make this code cross-platform and enable
+ Windows resizing of attached inspector.
+
+ * inspector/InspectorController.cpp:
+ * inspector/InspectorController.h:
+
+2009-07-17 Dan Bernstein <mitz@apple.com>
+
+ Another attempt at fixing the build after r46063
+
+ * WebCore.xcodeproj/project.pbxproj: Made ExceptionCode.h a private
+ header, because it is now included from htmlediting.h, which is
+ a private header.
+
+2009-07-17 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Dan Bernstein.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27396
+ Moving cursor in Thai text sometimes jumps over two characters
+
+ Test: editing/text-iterator/thai-cursor-movement.html
+
+ * platform/text/TextBreakIteratorICU.cpp: (WebCore::cursorMovementIterator): Added a special
+ case for five Thai characters, matching ICU/CLDR changes.
+
+2009-07-14 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Some constructor objects exposed on Window have the wrong prototype chain
+ https://bugs.webkit.org/show_bug.cgi?id=27276
+
+ Several Constructor classes were already being passed a global object
+ during construction, but they were ignoring it for prototype lookup.
+ I've fixed those to use the passed global object instead.
+
+ Most of these Constructor classes should just be auto-generated, but I
+ refrained from changing them over to auto-gen in this patch.
+
+ Fixed CodeGeneratorJS to pass a global object to getDOMConstructor when
+ available, otherwise default to deprecatedGlobalObjectForPrototype(exec)
+ to match existing behavior.
+
+ Test: fast/dom/prototype-inheritance.html
+
+ * bindings/js/JSAudioConstructor.cpp:
+ (WebCore::JSAudioConstructor::JSAudioConstructor): use the existing globalObject pointer for prototype lookup
+ * bindings/js/JSDOMBinding.h:
+ (WebCore::deprecatedGlobalObjectForPrototype): Make it easy to detect where the wrong global object is being used.
+ (WebCore::deprecatedGetDOMStructure):
+ * bindings/js/JSDOMGlobalObject.h: remove error-prone getDOMConstructor, require passing JSDOMGlobalObject*
+ * bindings/js/JSDOMWindowCustom.cpp:
+ (WebCore::JSDOMWindow::webKitPoint): pass "this" for the global object.
+ (WebCore::JSDOMWindow::webKitCSSMatrix): pass "this" for the global object.
+ (WebCore::JSDOMWindow::xsltProcessor): pass "this" for the global object.
+ (WebCore::JSDOMWindow::worker): pass "this" for the global object.
+ * bindings/js/JSImageConstructor.cpp:
+ (WebCore::JSImageConstructor::JSImageConstructor): use the existing globalObject pointer for prototype lookup
+ * bindings/js/JSMessageChannelConstructor.cpp:
+ (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor): use the existing globalObject pointer for prototype lookup
+ * bindings/js/JSOptionConstructor.cpp:
+ (WebCore::JSOptionConstructor::JSOptionConstructor): use the existing globalObject pointer for prototype lookup
+ * bindings/js/JSWebKitCSSMatrixConstructor.cpp:
+ (WebCore::JSWebKitCSSMatrixConstructor::JSWebKitCSSMatrixConstructor): add new globalObject parameter and use it
+ * bindings/js/JSWebKitCSSMatrixConstructor.h:
+ * bindings/js/JSWebKitPointConstructor.cpp:
+ (WebCore::JSWebKitPointConstructor::JSWebKitPointConstructor): add new globalObject parameter and use it
+ * bindings/js/JSWebKitPointConstructor.h:
+ * bindings/js/JSWorkerConstructor.cpp:
+ (WebCore::JSWorkerConstructor::JSWorkerConstructor): add new globalObject parameter and use it
+ * bindings/js/JSWorkerConstructor.h:
+ * bindings/js/JSXMLHttpRequestConstructor.cpp:
+ (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor): use the existing globalObject pointer for prototype lookup
+ -- XMLHttpRequest constructor was also missing a length. Added one.
+ * bindings/js/JSXSLTProcessorConstructor.cpp:
+ (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor):
+ * bindings/js/JSXSLTProcessorConstructor.h:
+ * bindings/scripts/CodeGeneratorJS.pm:
+
+2009-07-17 Dan Bernstein <mitz@apple.com>
+
+ Build fix
+
+ * editing/htmlediting.cpp:
+ (WebCore::visiblePositionBeforeNode):
+ (WebCore::visiblePositionAfterNode):
+
+2009-07-17 Jan Michael Alonzo <jmalonzo@webkit.org>
+
+ Gtk build fix for symbol lookup error.
+
+ Move AbstractWorker from SHARED_WORKERS to WORKERS as Worker derives from it now
+ Changed in http://trac.webkit.org/changeset/46048
+
+ * GNUmakefile.am:
+
+2009-07-17 Ryosuke Niwa <ryosuke.niwa@gmail.com>
+
+ Reviewed by Eric Seidel.
+
+ htmlediting.cpp needs more utility functions to fix the bug 26816
+ https://bugs.webkit.org/show_bug.cgi?id=27038
+
+ In order to fix the bug 26816, we need several utility functions be added to htmlediting.cpp
+
+ No tests because functions haven't been used anywhere yet.
+
+ * dom/Range.cpp:
+ (WebCore::Range::create):
+ (WebCore::Range::comparePoint): added const qualifier
+ (WebCore::Range::compareNode): added const qualifier
+ * dom/Range.h:
+ * editing/htmlediting.cpp:
+ (WebCore::unsplittableElementForPosition): find the enclosing unsplittable element (editing root & table cell)
+ (WebCore::positionBeforeNode): added ASSERT(node)
+ (WebCore::positionAfterNode): added ASSERT(node)
+ (WebCore::visiblePositionBeforeNode):
+ (WebCore::visiblePositionAfterNode):
+ (WebCore::createRange): create a range object from two visible positions
+ (WebCore::extendRangeToWrappingNodes): extend range to include nodes that starts and ends at the boundaries
+ (WebCore::canMergeLists): typo
+ (WebCore::indexForVisiblePosition): added const qualifier
+ (WebCore::isVisiblyAdjacent): typo
+ (WebCore::isNodeVisiblyContainedWithin): determine if a node is inside a range or within the visible boundaries of the range
+ * editing/htmlediting.h:
+
+2009-07-17 Michelangelo De Simone <micdesim@gmail.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25551
+ Added support for the "required" attribute, the valueMissing flag
+ to the ValidityState object and :required/:optional CSS pseudoclasses.
+ Part of HTML5 sec. Forms specs.
+ http://www.whatwg.org/specs/web-apps/current-work/multipage/forms.html#attr-input-required
+
+ Tests: fast/css/pseudo-required-optional-001.html
+ fast/css/pseudo-required-optional-002.html
+ fast/css/pseudo-required-optional-003.html
+ fast/css/pseudo-required-optional-004.html
+ fast/css/pseudo-required-optional-005.html
+ fast/css/pseudo-required-optional-006.html
+ fast/forms/ValidityState-valueMissing-001.html
+ fast/forms/ValidityState-valueMissing-002.html
+ fast/forms/ValidityState-valueMissing-003.html
+ fast/forms/ValidityState-valueMissing-004.html
+ fast/forms/ValidityState-valueMissing-005.html
+ fast/forms/ValidityState-valueMissing-006.html
+ fast/forms/ValidityState-valueMissing-007.html
+ fast/forms/ValidityState-valueMissing-008.html
+ fast/forms/ValidityState-valueMissing-009.html
+ fast/forms/required-attribute-001.html
+ fast/forms/required-attribute-002.html
+
+ * css/CSSSelector.cpp:
+ (WebCore::CSSSelector::extractPseudoType): pseudoRequired/pseudoOptional
+ * css/CSSSelector.h:
+ (WebCore::CSSSelector::): ditto
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): ditto
+ * dom/Element.h:
+ (WebCore::Element::isOptionalFormControl): check for optional controls
+ (WebCore::Element::isRequiredFormControl): check for required controls
+ * html/HTMLAttributeNames.in: required attribute
+ * html/HTMLButtonElement.h:
+ (WebCore::HTMLButtonElement::isOptionalFormControl): ditto
+ * html/HTMLFormControlElement.cpp:
+ (WebCore::HTMLFormControlElement::required): requiredAttr getter
+ (WebCore::HTMLFormControlElement::setRequired): requiredAttr setter
+ * html/HTMLFormControlElement.h:
+ (WebCore::HTMLFormControlElement::valueMissing): method definition
+ * html/HTMLInputElement.cpp:
+ (WebCore::HTMLInputElement::valueMissing): validation code
+ (WebCore::HTMLInputElement::isRequiredFormControl): ditto
+ * html/HTMLInputElement.h:
+ (WebCore::HTMLInputElement::isOptionalFormControl): ditto
+ * html/HTMLInputElement.idl: required DOM attribute
+ * html/HTMLSelectElement.h:
+ (WebCore::HTMLSelectElement::isOptionalFormControl): ditto
+ * html/HTMLTextAreaElement.h:
+ (WebCore::HTMLTextAreaElement::valueMissing): validation code
+ (WebCore::HTMLTextAreaElement::isOptionalFormControl): ditto
+ (WebCore::HTMLTextAreaElement::isRequiredFormControl): ditto
+ * html/HTMLTextAreaElement.idl: required DOM attribute
+ * html/ValidityState.cpp:
+ * html/ValidityState.h:
+ (WebCore::ValidityState::valueMissing): validation flag
+
+2009-07-17 Beth Dakin <bdakin@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=27390 CSS custom
+ cursor hotspots should work in quirks mode
+ - and corresponding <rdar://problem/6554340>
+
+ Enable hotspots in quirks mode.
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::parseValue):
+
+ Update this manual test to reflect the fact that hotspots are now
+ expected to work in quirks mode.
+ * manual-tests/css3-cursor-fallback-quirks.html:
+
+2009-07-17 Peter Kasting <pkasting@google.com>
+
+ Reviewed by Steve Falkenburg.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27323
+ Only add Cygwin to the path when it isn't already there. This avoids
+ causing problems for people who purposefully have non-Cygwin versions of
+ executables like svn in front of the Cygwin ones in their paths.
+
+ * WebCore.vcproj/QTMovieWin.vcproj:
+ * WebCore.vcproj/WebCoreCommon.vsprops:
+ * WebCore.vcproj/WebCoreGenerated.vcproj:
+
+2009-07-17 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by David Levin.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27384
+ Random crashes in appcache/update-cache.html test
+
+ * loader/appcache/ApplicationCacheGroup.cpp:
+ (WebCore::ApplicationCacheGroup::didReceiveResponse): Reorder code to avoid using a handle
+ after canceling it.
+
+2009-07-17 Drew Wilson <atwilson@google.com>
+
+ Reviewed by David Levin.
+
+ Need to refactor Worker to derive from AbstractWorker
+ https://bugs.webkit.org/show_bug.cgi?id=26948
+
+ Changed Worker to derive from AbstractWorker, which involved moving
+ AbstractWorker files from being wrapped by ENABLE_SHARED_WORKERS to
+ ENABLE_WORKERS.
+
+ Removed obsolete functionality from the JS/V8 bindings that is now
+ inherited from AbstractWorker.
+
+ * WebCore.pro:
+ Moved AbstractWorker files out of SHARED_WORKERS section and into WORKERS.
+ * bindings/js/JSAbstractWorkerCustom.cpp:
+ Changed to be wrapped by ENABLE(WORKERS), not ENABLE(SHARED_WORKERS).
+ * bindings/js/JSWorkerCustom.cpp:
+ Removed obsolete event listener code (now in base class)
+ (WebCore::JSWorker::mark):
+ No longer need to explicitly mark event listeners (handled by base class).
+ * bindings/v8/V8Index.h:
+ Moved AbstractWorker lines out of SHARED_WORKERS section and into WORKERS.
+ * bindings/v8/custom/V8AbstractWorkerCustom.cpp:
+ Changed to be wrapped by ENABLE(WORKERS), not ENABLE(SHARED_WORKERS).
+ * bindings/v8/custom/V8CustomBinding.h:
+ Moved AbstractWorker lines out of SHARED_WORKERS section and into WORKERS.
+ * bindings/v8/custom/V8WorkerCustom.cpp:
+ Removed obsolete event listener code that now lives in the base class.
+ (WebCore::V8WorkerConstructor): Cleaned up legacy style nits.
+ * workers/AbstractWorker.cpp:
+ Changed to be wrapped by ENABLE(WORKERS), not ENABLE(SHARED_WORKERS).
+ * workers/AbstractWorker.h:
+ Changed to be wrapped by ENABLE(WORKERS), not ENABLE(SHARED_WORKERS).
+ * workers/Worker.cpp:
+ Removed event listener code (now in base class).
+ (WebCore::Worker::Worker): Now derives from AbstractWorker.
+ (WebCore::Worker::notifyFinished): Calls dispatchLoadErrorEvent on base class.
+ * workers/Worker.h:
+ Removed APIs that now live in the base class.
+ * workers/Worker.idl:
+ Now derives from AbstractWorker.
+ Removed APIs that live in the base class, and added a GenerateToJS flag.
+
+2009-07-17 David Hyatt <hyatt@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27379
+ Absolutely-positioned elements with a scrollbar wrap prematurely. Make sure to include
+ the vertical scrollbar width for overflow:scroll elements.
+
+ Added fast/css/positioned-overflow-scroll.html
+
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::calcPrefWidths):
+ * rendering/RenderFlexibleBox.cpp:
+ (WebCore::RenderFlexibleBox::calcPrefWidths):
+
+2009-07-17 Jeremy Orlow <jorlow@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Need a DOM_STORAGE guard in DerivedSroucesAllInOne.cpp
+ https://bugs.webkit.org/show_bug.cgi?id=27375
+
+ In https://bugs.webkit.org/show_bug.cgi?id=27360 I added Storage.cpp
+ and StorageEvent.cpp. Unfortunately, until later this afternoon,
+ DOM_STORAGE is not turned on by default in Chromium, and so these two
+ files are never generated. This breaks the compile.
+
+ There are no other instances of guards in the file, which puzzles me...
+ but I think adding guards is the right way to go about this.
+
+ * bindings/v8/DerivedSourcesAllInOne.cpp: Added the guard.
+
+2009-07-17 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26496
+
+ Let WebCore always enforce the connection-per-host limit itself.
+
+ * loader/loader.cpp:
+ (WebCore::Loader::Host::servePendingRequests):
+
+2009-07-17 Chris Marrin <cmarrin@apple.com>
+
+ Reviewed by David Hyatt.
+
+ Some transitions don't work correctly on Leopard
+ https://bugs.webkit.org/show_bug.cgi?id=27356
+
+ We only have code to do component animation using valueFunction.
+ So on Leopard we always need to do matrix animation in hardware.
+ This fix ensures that.
+
+ This is currently not testable because it appears only in the
+ hardware animation and we can't yet do pixel tests while
+ hardware animating.
+
+ * platform/graphics/mac/GraphicsLayerCA.mm:
+ (WebCore::GraphicsLayerCA::animateTransform):
+
+2009-07-17 Holger Hans Peter Freyther <zecke@selfish.org>
+
+ Reviewed by Gustavo Noronha.
+
+ [GTK+] Crash in screenAvailable due a null Widget*
+
+ JSDOMWindow::open called screenAvailableRect(0). The other
+ Screen methods can be called with a null widget as well, fix the
+ crashing test by checking for null.
+
+ In screenRect and screenAvailableRect it is not tried to use
+ a default screen as the existing implementation didn't try either
+ in case of not having a toplevel widget.
+
+ LayoutTests/fast/frames/crash-removed-iframe.html caused a crash.
+
+ * platform/gtk/PlatformScreenGtk.cpp:
+ (WebCore::getVisual): New method to get a visual or return zero.
+ (WebCore::screenDepth): Use getVisual.
+ (WebCore::screenDepthPerComponent): Use getVisual.
+ (WebCore::screenIsMonochrome): Use screenDepth which will do the null checking
+ (WebCore::screenRect): Check for !widget.
+ (WebCore::screenAvailableRect): Check for !widget.
+
+2009-07-17 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Fix the include path for the Symbian port
+ https://bugs.webkit.org/show_bug.cgi?id=27358
+
+ * WebCore.pro:
+
+2009-07-17 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
+
+ Reviewed by Simon Hausmann.
+
+ Make it possible to set the plugin directories from the DRT.
+ Part of https://bugs.webkit.org/show_bug.cgi?id=27215
+
+ * plugins/PluginDatabase.cpp:
+ (WebCore::PluginDatabase::installedPlugins): Now optionally takes
+ a populate argument, so we can avoid loading system plugins from the
+ DRT and thus avoid their strerr errors that can make tests fail.
+ (WebCore::PluginDatabase::clear): Make it possible to clear the
+ database. Called from setPluginDirectories.
+ * plugins/PluginDatabase.h:
+ (WebCore::PluginDatabase::setPluginDirectories): Make public
+
+2009-07-17 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ PluginViewMac: Stop the plugin when loading fails
+
+ Also, prevent event propagation when in the stopped state
+
+ * plugins/mac/PluginViewMac.cpp:
+
+2009-07-17 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ PluginViewMac: Allow query and set of drawing and event models
+
+ We now support querying and setting of the drawing and event model,
+ but we still only support the CoreGraphics drawing model, and the
+ Carbon event model.
+
+ If unsupported drawing or event models are detected we show the
+ missing-plugin icon.
+
+ * plugins/PluginView.cpp:
+ * plugins/PluginView.h:
+ * plugins/mac/PluginViewMac.cpp:
+
+2009-07-17 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ Initialize two PluginView members using memset
+
+ m_npWindow is used on all platforms, not just for XP_UNIX,
+ so always initialize it. m_npCgContext on the other hand
+ is only used for XP_MACOSX.
+
+ * plugins/PluginView.cpp:
+
+2009-07-17 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ Add more debug logging in PluginView
+
+ * plugins/PluginView.cpp: Add debug for setValue
+ * plugins/gtk/PluginViewGtk.cpp: Add debug for getValue
+ * plugins/mac/PluginViewMac.cpp: Add debug for getValue and more
+ * plugins/qt/PluginViewQt.cpp: Add debug for getValue
+ * plugins/win/PluginViewWin.cpp: Add debug for getValue
+
+2009-07-17 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
+
+ Reviewed by Holger Freyther.
+
+ Use same license in PluginDebug.cpp as in the original PluginDebug.h
+
+ * plugins/PluginDebug.cpp: Use license from PluginDebug.h
+
+2009-07-17 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ Add more debugging functionality for the WebCore NPAPI layer
+
+ * GNUmakefile.am: Add PluginDebug.cpp
+ * WebCore.gypi: Add PluginDebug.cpp
+ * WebCore.pro: Add PluginDebug.cpp
+ * WebCore.vcproj/WebCore.vcproj: Add PluginDebug.cpp
+ * WebCoreSources.bkl: Add PluginDebug.cpp
+ * plugins/PluginDebug.h: Move errorStrings to PluginDebug.cpp
+ * plugins/PluginDebug.cpp: New file
+
+2009-07-17 Jeremy Orlow <jorlow@chromium.org>
+
+ Reviewed by David Levin.
+
+ Fix Chromium build with DOM_STORAGE enabled.
+ https://bugs.webkit.org/show_bug.cgi?id=27360
+
+ 2 minor changes as noted below:
+
+ * bindings/v8/DerivedSourcesAllInOne.cpp: Add the generated .cpp files.
+ * storage/StorageAreaImpl.cpp: #include "DOMWindow.h"
+
+2009-07-16 Fumitoshi Ukai <ukai@chromium.org>
+
+ Reviewed by David Levin.
+
+ Add --web-sockets flag and ENABLE_WEB_SOCKETS define.
+ https://bugs.webkit.org/show_bug.cgi?id=27206
+
+ Add ENABLE_WEB_SOCKETS
+
+ * Configurations/FeatureDefines.xcconfig: add ENABLE_WEB_SOCKETS
+ * GNUmakefile.am: add ENABLE_WEB_SOCKETS
+ * WebCore.vcproj/WebCoreCommon.vsprops: add ENABLE_WEB_SOCKETS
+ * WebCore.vcproj/build-generated-files.sh: add ENABLE_WEB_SOCKETS
+
+2009-07-16 Maxime Simon <simon.maxime@gmail.com>
+
+ Reviewed by Oliver Hunt.
+
+ Added a third bunch of Haiku-specific files for WebCore.
+ https://bugs.webkit.org/show_bug.cgi?id=26952
+
+ Adding five files, EventLoopHaiku.cpp, FileChooserHaiku.cpp,
+ FileSystemHaiku.cpp, KeyboardCodes.h and MIMETypeRegistryHaiku.cpp
+
+ * platform/haiku/EventLoopHaiku.cpp: Added.
+ (WebCore::EventLoop::cycle):
+ * platform/haiku/FileChooserHaiku.cpp: Added.
+ (WebCore::FileChooser::FileChooser):
+ (WebCore::FileChooser::basenameForWidth):
+ * platform/haiku/FileSystemHaiku.cpp: Added.
+ (WebCore::fileSystemRepresentation):
+ (WebCore::homeDirectoryPath):
+ (WebCore::openTemporaryFile):
+ (WebCore::closeFile):
+ (WebCore::writeToFile):
+ (WebCore::unloadModule):
+ (WebCore::listDirectory):
+ * platform/haiku/KeyboardCodes.h: Added.
+ * platform/haiku/MIMETypeRegistryHaiku.cpp: Added.
+ (WebCore::):
+ (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
+
+2009-07-16 Maxime Simon <simon.maxime@gmail.com>
+
+ Reviewed by Oliver Hunt.
+
+ Added a second bunch of Haiku-specific files for WebCore.
+ https://bugs.webkit.org/show_bug.cgi?id=26952
+
+ Adding four files, ContextMenuHaiku.cpp, ContextMenuItemHaiku.cpp,
+ DragDataHaiku.cpp and DragImageHaiku.cpp
+
+ * platform/haiku/ContextMenuHaiku.cpp: Added.
+ (WebCore::ContextMenuReceiver::ContextMenuReceiver):
+ (WebCore::ContextMenuReceiver::HandleMessage):
+ (WebCore::ContextMenuReceiver::Result):
+ (WebCore::ContextMenu::ContextMenu):
+ (WebCore::ContextMenu::~ContextMenu):
+ (WebCore::ContextMenu::appendItem):
+ (WebCore::ContextMenu::itemCount):
+ (WebCore::ContextMenu::insertItem):
+ (WebCore::ContextMenu::platformDescription):
+ (WebCore::ContextMenu::setPlatformDescription):
+ * platform/haiku/ContextMenuItemHaiku.cpp: Added.
+ (ContextMenuItem::ContextMenuItem):
+ (ContextMenuItem::~ContextMenuItem):
+ (ContextMenuItem::releasePlatformDescription):
+ (ContextMenuItem::type):
+ (ContextMenuItem::setType):
+ (ContextMenuItem::action):
+ (ContextMenuItem::setAction):
+ (ContextMenuItem::title):
+ (ContextMenuItem::setTitle):
+ (ContextMenuItem::platformSubMenu):
+ (ContextMenuItem::setSubMenu):
+ (ContextMenuItem::setChecked):
+ (ContextMenuItem::setEnabled):
+ (ContextMenuItem::enabled):
+ * platform/haiku/DragDataHaiku.cpp: Added.
+ (WebCore::DragData::canSmartReplace):
+ (WebCore::DragData::containsColor):
+ (WebCore::DragData::containsFiles):
+ (WebCore::DragData::asFilenames):
+ (WebCore::DragData::containsPlainText):
+ (WebCore::DragData::asPlainText):
+ (WebCore::DragData::asColor):
+ (WebCore::DragData::createClipboard):
+ (WebCore::DragData::containsCompatibleContent):
+ (WebCore::DragData::containsURL):
+ (WebCore::DragData::asURL):
+ (WebCore::DragData::asFragment):
+ * platform/haiku/DragImageHaiku.cpp: Added.
+ (WebCore::dragImageSize):
+ (WebCore::deleteDragImage):
+ (WebCore::scaleDragImage):
+ (WebCore::dissolveDragImageToFraction):
+ (WebCore::createDragImageFromImage):
+ (WebCore::createDragImageIconForCachedImage):
+
+2009-07-16 Stephen White <senorblanco@chromium.org>
+
+ Reviewed by Darin Fisher and Brett Wilson.
+
+ Refactor Skia implementation of gradients and patterns.
+
+ http://bugs.webkit.org/show_bug.cgi?id=26618
+
+ The following layout tests were breaking on Chromium/Linux:
+
+ LayoutTests/svg/custom/js-late-gradient-creation.svg (bad baseline PNG)
+ LayoutTests/svg/custom/js-late-gradient-and-object.creation.svg
+ LayoutTests/svg/custom/js-late-pattern-creation.svg (bad baseline PNG)
+ LayoutTests/svg/custom/js-late-pattern-and-object-creation.svg
+
+ I could've fixed these the easy way, by copying the same 5
+ lines of code we use everywhere we need patterns or gradients, but
+ I decided to fix it the hard way: by refactoring the code so that
+ PlatformContextSkia::setupPaintForFilling() and
+ PlatformContextSkia::setupPaintForStroking() do the right thing,
+ and also handle gradients and patterns.
+
+ This required pushing the gradients and patterns set in
+ (generic) GraphicsContext::setFillPattern() and friends down into
+ PlatformContextSkia. For this, I followed the setPlatformXXX()
+ pattern used elsewhere in GraphicsContext, and stubbed them out on
+ the other platforms with #if !PLATFORM(SKIA). This also required
+ pushing changes to the gradientSpaceTransform from the Gradient into
+ GradientSkia.
+
+ Since it's a Skia context, I decided to cache the values as
+ SkShaders. There were existing m_pattern and m_gradient SkShaders,
+ but they were unused, and whose use was ambiguous, so I
+ replaced them with one SkShader each for filling and stroking.
+
+ * platform/graphics/Gradient.cpp:
+ (WebCore::Gradient::setGradientSpaceTransform):
+ (WebCore::Gradient::setPlatformGradientSpaceTransform):
+ * platform/graphics/Gradient.h:
+ * platform/graphics/GraphicsContext.cpp:
+ (WebCore::GraphicsContext::setStrokePattern):
+ (WebCore::GraphicsContext::setFillPattern):
+ (WebCore::GraphicsContext::setStrokeGradient):
+ (WebCore::GraphicsContext::setFillGradient):
+ (WebCore::GraphicsContext::setPlatformFillGradient):
+ (WebCore::GraphicsContext::setPlatformFillPattern):
+ (WebCore::GraphicsContext::setPlatformStrokeGradient):
+ (WebCore::GraphicsContext::setPlatformStrokePattern):
+ * platform/graphics/GraphicsContext.h:
+ * platform/graphics/skia/GradientSkia.cpp:
+ (WebCore::Gradient::setPlatformGradientSpaceTransform):
+ * platform/graphics/skia/GraphicsContextSkia.cpp:
+ (WebCore::GraphicsContext::fillPath):
+ (WebCore::GraphicsContext::fillRect):
+ (WebCore::GraphicsContext::setPlatformFillGradient):
+ (WebCore::GraphicsContext::setPlatformFillPattern):
+ (WebCore::GraphicsContext::setPlatformStrokeGradient):
+ (WebCore::GraphicsContext::setPlatformStrokePattern):
+ (WebCore::GraphicsContext::strokePath):
+ (WebCore::GraphicsContext::strokeRect):
+ * platform/graphics/skia/PlatformContextSkia.cpp:
+ (PlatformContextSkia::State::State):
+ (PlatformContextSkia::State::~State):
+ (PlatformContextSkia::drawRect):
+ (PlatformContextSkia::setupPaintCommon):
+ (PlatformContextSkia::setupPaintForFilling):
+ (PlatformContextSkia::setupPaintForStroking):
+ (PlatformContextSkia::setFillColor):
+ (PlatformContextSkia::setStrokeColor):
+ (PlatformContextSkia::setStrokeShader):
+ (PlatformContextSkia::setFillShader):
+ * platform/graphics/skia/PlatformContextSkia.h:
+ * platform/graphics/skia/SkiaFontWin.cpp:
+ (WebCore::skiaDrawText):
+ (WebCore::paintSkiaText):
+ * svg/graphics/SVGPaintServer.cpp:
+ (WebCore::SVGPaintServer::teardown):
+
+2009-07-16 Maxime Simon <simon.maxime@gmail.com>
+
+ Reviewed by Oliver Hunt.
+
+ Added Haiku-specific files for WebCore/platform/image-decoders/.
+ https://bugs.webkit.org/show_bug.cgi?id=26949
+
+ Adding a new file, ImageDecoderHaiku.cpp.
+
+ * platform/image-decoders/haiku/ImageDecoderHaiku.cpp: Added.
+ (WebCore::RGBA32Buffer::RGBA32Buffer):
+ (WebCore::RGBA32Buffer::clear):
+ (WebCore::RGBA32Buffer::zeroFill):
+ (WebCore::RGBA32Buffer::copyBitmapData):
+ (WebCore::RGBA32Buffer::setSize):
+ (WebCore::RGBA32Buffer::asNewNativeImage):
+ (WebCore::RGBA32Buffer::hasAlpha):
+ (WebCore::RGBA32Buffer::setHasAlpha):
+ (WebCore::RGBA32Buffer::setStatus):
+ (WebCore::RGBA32Buffer::operator=):
+ (WebCore::RGBA32Buffer::width):
+ (WebCore::RGBA32Buffer::height):
+
+2009-07-16 Maxime Simon <simon.maxime@gmail.com>
+
+ Reviewed by Eric Seidel.
+
+ Added Haiku-specific files for WebCore/page/.
+ https://bugs.webkit.org/show_bug.cgi?id=26949
+
+ Adding three new files, DragControllerHaiku.cpp, EventHandlerHaiku.cpp
+ and FrameHaiku.cpp
+
+ * page/haiku/DragControllerHaiku.cpp: Added.
+ (WebCore::DragController::isCopyKeyDown):
+ (WebCore::DragController::dragOperation):
+ (WebCore::DragController::maxDragImageSize):
+ (WebCore::DragController::cleanupAfterSystemDrag):
+ * page/haiku/EventHandlerHaiku.cpp: Added.
+ (WebCore::isKeyboardOptionTab):
+ (WebCore::EventHandler::invertSenseOfTabsToLinks):
+ (WebCore::EventHandler::tabsToAllControls):
+ (WebCore::EventHandler::focusDocumentView):
+ (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
+ (WebCore::EventHandler::passMouseDownEventToWidget):
+ (WebCore::EventHandler::eventActivatedView):
+ (WebCore::EventHandler::passSubframeEventToSubframe):
+ (WebCore::EventHandler::passWheelEventToWidget):
+ (WebCore::EventHandler::createDraggingClipboard):
+ (WebCore::EventHandler::passMousePressEventToSubframe):
+ (WebCore::EventHandler::passMouseMoveEventToSubframe):
+ (WebCore::EventHandler::passMouseReleaseEventToSubframe):
+ (WebCore::EventHandler::accessKeyModifiers):
+ * page/haiku/FrameHaiku.cpp: Added.
+ (WebCore::Frame::dragImageForSelection):
+
+2009-07-16 Maxime Simon <simon.maxime@gmail.com>
+
+ Reviewed by Eric Seidel.
+
+ Added Haiku-specific files for WebCore/editing/.
+ https://bugs.webkit.org/show_bug.cgi?id=26949
+
+ Adding one new file, EditorHaiku.cpp
+
+ * editing/haiku/EditorHaiku.cpp: Added.
+ (WebCore::Editor::newGeneralClipboard):
+
+2009-07-16 Maxime Simon <simon.maxime@gmail.com>
+
+ Reviewed by Eric Seidel.
+
+ Added Haiku-specific files for WebCore/bindings/js/.
+ https://bugs.webkit.org/show_bug.cgi?id=26949
+
+ Adding a new file, ScriptControllerHaiku.cpp
+
+ * bindings/js/ScriptControllerHaiku.cpp: Added.
+ (WebCore::ScriptController::createScriptInstanceForWidget):
+
+2009-07-16 Maxime Simon <simon.maxime@gmail.com>
+
+ Reviewed by Eric Seidel.
+
+ Added Haiku-specific files for WebCore/platform/text/.
+ https://bugs.webkit.org/show_bug.cgi?id=26949
+
+ Adding two new files, StringHaiku.cpp
+ and TextBreakIteratorInternalICUHaiku.cpp
+
+ * platform/text/haiku/StringHaiku.cpp: Added.
+ (WebCore::String::String):
+ (WebCore::String::operator BString):
+ * platform/text/haiku/TextBreakIteratorInternalICUHaiku.cpp: Added.
+ (WebCore::currentTextBreakLocaleID):
+
+2009-07-16 Kent Tamura <tkent@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Sends the basename of a selected file for non-multipart form submission.
+ <https://bugs.webkit.org/show_bug.cgi?id=26505>
+
+ Test: fast/forms/get-file-upload.html
+
+ * html/HTMLInputElement.cpp:
+ (WebCore::HTMLInputElement::appendFormData):
+
+2009-07-16 Adam Barth <abarth@webkit.org>
+
+ Reviewed by David Levin.
+
+ [V8] Centralize hidden property names
+ https://bugs.webkit.org/show_bug.cgi?id=27359
+
+ No behavior change. Just moving these names to a central location.
+ I'll move the rest of our hidden property names as I sweep though the
+ bindings.
+
+ * WebCore.gypi:
+ * bindings/v8/V8HiddenPropertyName.cpp: Added.
+ (WebCore::V8HiddenPropertyName::objectPrototype):
+ (WebCore::V8HiddenPropertyName::isolatedWorld):
+ * bindings/v8/V8HiddenPropertyName.h: Added.
+ * bindings/v8/V8IsolatedWorld.cpp:
+ (WebCore::V8IsolatedWorld::V8IsolatedWorld):
+ (WebCore::V8IsolatedWorld::getEntered):
+ * bindings/v8/V8Proxy.cpp:
+ (WebCore::V8Proxy::getHiddenObjectPrototype):
+ (WebCore::V8Proxy::installHiddenObjectPrototype):
+
+2009-07-16 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ REGRESSION (r41238) Repainted portion of a scaled image does not line up with full image
+ https://bugs.webkit.org/show_bug.cgi?id=26747
+ rdar://problem/7009243
+
+ Test: fast/repaint/background-misaligned.html
+
+ * platform/graphics/Image.cpp:
+ (WebCore::Image::drawTiled): Moved a variable definition closer to where
+ it is used.
+ * platform/graphics/cg/ImageCG.cpp:
+ (WebCore::BitmapImage::draw): In the subimage code path, compute a
+ pixel-aligned source rect, because the subiamge is always pixel-aligned
+ in source space, and adjust the destination rect to preserve the
+ source -> destination mapping. Clip to the (original) destination rect
+ to prevent bleeding out.
+
+2009-07-16 Jeremy Orlow <jorlow@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Add a sessionStorageEnabled setting to the settings class.
+ https://bugs.webkit.org/show_bug.cgi?id=27318
+
+ Allow LocalStorage to be enabled without enabling SessionStorage at
+ runtime. There is a settings class setting for localStorage, but not
+ for sessionStorage. We want to be able to test one of these features
+ without necessarily enabling the other.
+
+ SessionStorage defaults to true so as to not change behavior and
+ because there really aren't any security concerns around SessionStorage
+ (unlike LocalsStorage). The flag is needed in Chromium only because
+ we want to enable the compile time flag in the default build, but don't
+ want it on by default until it's been thoroughly tested.
+
+ * page/DOMWindow.cpp:
+ (WebCore::DOMWindow::sessionStorage): Check the new flag
+ (WebCore::DOMWindow::localStorage): A bit of cleanup
+ * page/Settings.cpp:
+ (WebCore::Settings::Settings): Default the flag to true
+ (WebCore::Settings::setSessionStorageEnabled): Add the new flag
+ * page/Settings.h:
+ (WebCore::Settings::sessionStorageEnabled): Get the new flag
+
+2009-07-16 Adam Barth <abarth@webkit.org>
+
+ Unreviewed.
+
+ Revert 45987. Tests did not pass on Windows.
+
+ * html/HTMLInputElement.cpp:
+ (WebCore::HTMLInputElement::appendFormData):
+
+2009-07-16 Drew Wilson <atwilson@google.com>
+
+ Reviewed by David Levin.
+
+ Added SHARED_WORKER flag to Windows build files, as well as associated .ccp/.h files.
+ Added missing V8 bindings to the AllInOne file
+
+ https://bugs.webkit.org/show_bug.cgi?id=27321
+
+ * WebCore.vcproj/WebCore.vcproj:
+ Added missing files to build.
+ * bindings/v8/DerivedSourcesAllInOne.cpp:
+ Added missing V8 bindings (V8AbstractWorker.cpp and V8SharedWorker.cpp)
+ * DerivedSources.cpp
+ Added missing JS bindings (JSAbstractWorker.cpp and JSSharedWorker.cpp)
+
+2009-07-16 John Abd-El-Malek <jam@chromium.org>
+
+ Reviewed by David Levin.
+
+ Add a getter in MessagePortChannel for the PlatformMessagePortChannel.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27337
+
+ * dom/MessagePortChannel.h:
+ (WebCore::MessagePortChannel::channel):
+
+2009-07-16 Xiaomei Ji <xji@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Fix tooltip does not get its directionality from its element's directionality.
+ https://bugs.webkit.org/show_bug.cgi?id=24187
+
+ Per mitz's suggestion in comment #6, while getting the plain-text
+ title, we also get the directionality of the title. How to handle
+ the directionality is up to clients. Clients could ignore it,
+ or use attribute or unicode control characters to display the title
+ as what they want.
+
+ WARNING: NO TEST CASES ADDED OR CHANGED
+
+ * WebCore.base.exp: Replace 2 names due to signature change.
+ * loader/EmptyClients.h:
+ (WebCore::EmptyChromeClient::setToolTip): Add direction as 2nd parameter.
+ * page/Chrome.cpp:
+ (WebCore::Chrome::setToolTip): Calculate tooltip direction as well and pass it to client to take care when display tooltip.
+ * page/ChromeClient.h: Add direction as 2nd parameter to pure virtual function setToolTip().
+ * page/chromium/ChromeClientChromium.h:
+ (WebCore::ChromeClientChromium::setToolTip): Add setToolTip()
+ temprarily to make chromium compile after pick up this webkit patch.
+ * rendering/HitTestResult.cpp:
+ (WebCore::HitTestResult::spellingToolTip): Besides getting the
+ spelling tooltip, get its directionality as well.
+ (WebCore::HitTestResult::title): Besides getting the title,
+ get its directionality as well.
+ * rendering/HitTestResult.h: Add 2 more methods.
+
+2009-07-16 Shinichiro Hamaji <hamaji@chromium.org>
+
+ Reviewed by Oliver Hunt.
+
+ [CAIRO] pattern of a canvas-element changes after modifications on canvas-element
+ https://bugs.webkit.org/show_bug.cgi?id=20578
+
+ Copy pixel image in ImageBuffer::image() just like CG and Skia glue.
+
+ Test: fast/canvas/canvas-pattern-modify.html
+
+ * platform/graphics/cairo/ImageBufferCairo.cpp:
+ (copySurface):
+ (WebCore::ImageBuffer::image):
+
+2009-07-16 David Hyatt <hyatt@apple.com>
+
+ Reviewed by Beth Dakin.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27353
+ Images mispositioned because of bug in percentage-based relative positioning.
+
+ Added fast/css/nested-floating-relative-position-percentages.html
+
+ * rendering/RenderBoxModelObject.cpp:
+ (WebCore::RenderBoxModelObject::relativePositionOffsetX):
+
+2009-07-16 Kent Tamura <tkent@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Sends the basename of a selected file for non-multipart form submission.
+ <https://bugs.webkit.org/show_bug.cgi?id=26505>
+
+ Test: fast/forms/get-file-upload.html
+
+ * html/HTMLInputElement.cpp:
+ (WebCore::HTMLInputElement::appendFormData):
+
+2009-07-16 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Video size sometimes jumps just after the video starts loading
+ https://bugs.webkit.org/show_bug.cgi?id=27352
+
+ Ensure that the media player is at or after the 'HaveMetadata' state so that
+ the instrinsic size is known before we create the layer for video. This avoids
+ a flash caused by computing the video rect using the default intrinsic size, and then
+ re-computing it when that size changes.
+
+ * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
+ * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
+ (WebCore::MediaPlayerPrivate::isReadyForRendering):
+ (WebCore::MediaPlayerPrivate::updateStates):
+ (WebCore::MediaPlayerPrivate::supportsAcceleratedRendering):
+
+2009-07-16 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Antti Koivisto.
+ Patch by Brady Eidson and Alexey Proskuryakov.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26496
+ <rdar://problem/7065391> Microsoft Outlook Web Access fails because XHR stream connection blocks script loading/revalidation
+
+ After refreshing a page and when all CachedResources on that page are in validation mode, they got an exemption
+ from the connection-per-host limit. Removing that exemption makes the test case load smoothly after reloads.
+
+ * loader/loader.cpp:
+ (WebCore::Loader::Host::servePendingRequests): Remove the resourceIsCacheValidator exemption to the connection-per-host limit.
+
+2009-07-16 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ [V8] V8IsolatedWorld::evaluate needs to call didCreateIsolatedScriptContext
+ https://bugs.webkit.org/show_bug.cgi?id=27335
+
+ evaluateInNewContext makes this delegate call. evaluateInNewWorld
+ needs to make the same call. This does not appear to be testable with
+ our current technology.
+
+ * bindings/v8/V8IsolatedWorld.cpp:
+ (WebCore::V8IsolatedWorld::evaluate):
+
+2009-07-15 Jakub Wieczorek <faw217@gmail.com>
+
+ Reviewed by Simon Hausmann.
+
+ Fix a typo: application/atom=xml -> application/atom+xml.
+
+ * dom/ProcessingInstruction.cpp:
+ (WebCore::ProcessingInstruction::checkStyleSheet):
+
+2009-07-16 Dean McNamee <deanm@chromium.org>
+
+ Reviewed by Oliver Hunt.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27292
+ Improve handling of <canvas> path operations on an empty path.
+ Implement Skia's Path::hasCurrentPoint().
+
+ * html/CanvasRenderingContext2D.cpp:
+ (WebCore::CanvasRenderingContext2D::lineTo):
+ (WebCore::CanvasRenderingContext2D::quadraticCurveTo):
+ (WebCore::CanvasRenderingContext2D::bezierCurveTo):
+ * platform/graphics/skia/PathSkia.cpp:
+ (WebCore::Path::hasCurrentPoint):
+
+2009-07-15 Shinichiro Hamaji <hamaji@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Setting white-space and word-wrap via CSS in textarea doesn't override the wrap attribute
+ https://bugs.webkit.org/show_bug.cgi?id=26254
+
+ Make it so that setting white-space and word-wrap via CSS
+ overrides the wrap attribute.
+
+ This involves having the shadow div in the textarea inherit
+ the CSS from its parent instead of hard-coding it in
+ RenderTextControlMultiline.
+
+ Committer note: Earlier I reverted this change because I did it incorrectly
+ by leaving out css/html.css. In the patch, the filename was the old name
+ css/html4.css and that led to my error.
+
+ * css/html.css:
+ * html/HTMLTextAreaElement.cpp:
+ (WebCore::HTMLTextAreaElement::parseMappedAttribute):
+ * rendering/RenderTextControlMultiLine.cpp:
+ (WebCore::RenderTextControlMultiLine::createInnerTextStyle):
+
+2009-07-15 James Hawkins <jhawkins@google.com>
+
+ Reviewed by Adam Barth.
+
+ [V8] Remove a local variable that is shadowing a function parameter.
+ https://bugs.webkit.org/show_bug.cgi?id=27309
+
+ No test required as this modification does not change the current behavior.
+
+ * bindings/v8/V8DOMWrapper.cpp:
+ (WebCore::V8DOMWrapper::instantiateV8Object):
+
+2009-07-15 Adam Langley <agl@google.com>
+
+ No review: reverting previous change.
+
+ Revert r45959:
+
+ 2009-07-15 Dumitru Daniliuc <dumi@chromium.org>
+ Reviewed by Dimitri Glazkov.
+
+ Adding the Win SQLite VFS implementation for Chromium.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26940
+
+
+ The Chromium side of this patch was landed in 20839, but broke the build. It
+ was reverted in r20840. Thus, I'm reverting this side of the patch too.
+
+ * WebCore.gypi:
+ * platform/chromium/ChromiumBridge.h:
+ * platform/sql/chromium/SQLiteFileSystemChromium.cpp: Removed.
+ * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp: Removed.
+
+2009-07-15 David Levin <levin@chromium.org>
+
+ Layout test fix, reverting previous change.
+
+ Reverting r45962 as it caused several layout test failures.
+
+ * html/HTMLTextAreaElement.cpp:
+ (WebCore::HTMLTextAreaElement::parseMappedAttribute):
+ * rendering/RenderTextControlMultiLine.cpp:
+ (WebCore::RenderTextControlMultiLine::createInnerTextStyle):
+
+2009-06-08 Shinichiro Hamaji <hamaji@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Setting white-space and word-wrap via CSS in textarea doesn't override the wrap attribute
+ https://bugs.webkit.org/show_bug.cgi?id=26254
+
+ Make it so that setting white-space and word-wrap via CSS
+ overrides the wrap attribute.
+
+ This involves having the shadow div in the textarea inherit
+ the CSS from its parent instead of hard-coding it in
+ RenderTextControlMultiline.
+
+ * css/html4.css:
+ * html/HTMLTextAreaElement.cpp:
+ (WebCore::HTMLTextAreaElement::parseMappedAttribute):
+ * rendering/RenderTextControlMultiLine.cpp:
+ (WebCore::RenderTextControlMultiLine::createInnerTextStyle):
+
+2009-07-15 Dumitru Daniliuc <dumi@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Adding the Win SQLite VFS implementation for Chromium.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26940
+
+ * platform/chromium/ChromiumBridge.h:
+ * platform/sql/chromium: Added.
+ * platform/sql/chromium/SQLiteFileSystemChromium.cpp: Added.
+ * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp: Added.
+
+2009-07-15 Jian Li <jianli@chromium.org>
+
+ Reviewed by David Levin.
+
+ Bug 25151 - workers that fail to load scripts not firing error event.
+ https://bugs.webkit.org/show_bug.cgi?id=25151
+
+ This fixes the problem that an error event is not fired when the worker
+ script fails to load. Some reasons this may occur are an invalid URL for
+ the worker script or a cross-origin redirect.
+
+ We also moves the code to complete the URL and check its origin from
+ Worker constructor to WorkerScriptLoader loading functions in order to
+ move the exception throwing logic out of the scope of Worker constructor.
+ Due to this change, we also remove the output ExceptionCode parameter
+ in the worker constructor. Corresponding JS/V8 binding codes have been
+ updated to reflect this change.
+
+ * bindings/js/JSWorkerConstructor.cpp:
+ (WebCore::constructWorker):
+ * bindings/v8/custom/V8WorkerCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+ * workers/Worker.cpp:
+ (WebCore::Worker::Worker):
+ (WebCore::Worker::notifyFinished):
+ * workers/Worker.h:
+ (WebCore::Worker::create):
+ * workers/WorkerContext.cpp:
+ (WebCore::WorkerContext::importScripts):
+ * workers/WorkerScriptLoader.cpp:
+ (WebCore::toCrossOriginRedirectPolicy):
+ (WebCore::WorkerScriptLoader::loadSynchronously):
+ (WebCore::WorkerScriptLoader::loadAsynchronously):
+ (WebCore::notifyLoadErrorTask):
+ (WebCore::WorkerScriptLoader::createResourceRequest):
+ (WebCore::WorkerScriptLoader::didFail):
+ (WebCore::WorkerScriptLoader::didFailRedirectCheck):
+ (WebCore::WorkerScriptLoader::didReceiveAuthenticationCancellation):
+ (WebCore::WorkerScriptLoader::notifyError):
+ * workers/WorkerScriptLoader.h:
+ (WebCore::):
+ (WebCore::WorkerScriptLoader::url):
+
+2009-07-15 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Dave Hyatt.
+
+ text-shadow is not drawn for text with transparent colour
+ https://bugs.webkit.org/show_bug.cgi?id=21374
+
+ Test: fast/text/shadow-translucent-fill.html
+
+ * rendering/InlineTextBox.cpp:
+ (WebCore::paintTextWithShadows): If the text fill color is not opaque,
+ paint all shadows separately from the text, by casting them from
+ clipped-out opaque text.
+
+2009-07-15 Adam Treat <adam.treat@torchmobile.com>
+
+ Fix the Qt build.
+
+ * html/HTMLAreaElement.cpp:
+
+2009-07-15 Jeremy Orlow <jorlow@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ Cleanup DOM Storage dependencies.
+ https://bugs.webkit.org/show_bug.cgi?id=27180
+
+ DOM Storage had several unnecessary (and probably unintended)
+ dependencies. This patch replaces many includes of header files with
+ forward declaration of classes, making some destructors explicit, and
+ taking some factories out of the header files.
+
+ This will allow things like StorageAreaSync to take a StorageAreaImpl*
+ (as it should) rather than a StorageArea* which previously weren't
+ possible because the dependencies were such a tangled mess.
+
+ * storage/LocalStorageTask.cpp:
+ (WebCore::LocalStorageTask::~LocalStorageTask):
+ * storage/LocalStorageTask.h:
+ * storage/Storage.cpp:
+ (WebCore::Storage::~Storage):
+ * storage/Storage.h:
+ * storage/StorageArea.cpp:
+ * storage/StorageArea.h:
+ * storage/StorageAreaImpl.cpp:
+ * storage/StorageAreaImpl.h:
+ * storage/StorageAreaSync.cpp:
+ (WebCore::StorageAreaSync::~StorageAreaSync):
+ * storage/StorageAreaSync.h:
+ * storage/StorageEvent.cpp:
+ (WebCore::StorageEvent::create):
+ (WebCore::StorageEvent::StorageEvent):
+ * storage/StorageEvent.h:
+ * storage/StorageNamespace.h:
+ * storage/StorageNamespaceImpl.cpp:
+ * storage/StorageNamespaceImpl.h:
+ * storage/StorageSyncManager.cpp:
+ (WebCore::StorageSyncManager::~StorageSyncManager):
+ * storage/StorageSyncManager.h:
+
+2009-07-15 Chris Marrin <cmarrin@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ Incorrect animation when trying to duplicate effect of transform-origin
+ https://bugs.webkit.org/show_bug.cgi?id=27310
+
+ The bug is that matrix animation is being used when animating
+ a list of transform functions that match in the from and to states.
+ This sometimes works. But because of the way CA does matrix animation
+ function lists like the one shown in the testcase animate incorrectly.
+
+ This fixes the bug by always doing component animation
+ as long as the function lists match. This allows CA
+ to animate the components and then recompose the result
+ into the correct matrix.
+
+ Test: animations/transform-origin-vs-functions.html
+
+ * platform/graphics/mac/GraphicsLayerCA.mm:
+ (WebCore::GraphicsLayerCA::animateTransform):
+
+2009-07-15 Albert J. Wong <ajwong@chromium.org>
+
+ Reviewed by David Levin.
+
+ Upstream the V8NPObject and NPV8Object build changes for WebCore.gypi.
+
+ Add upstreamed V8 bindings files into WebCore.gypi so they can be seen
+ downstream
+ https://bugs.webkit.org/show_bug.cgi?id=27274
+
+ Changes the build file for chromium. Test built the chromium tree
+ to verify.
+
+ * WebCore.gypi:
+
+2009-07-15 Mark Rowe <mrowe@apple.com>
+
+ I like it when the code compiles.
+
+ * WebCore.base.exp:
+
+2009-07-15 Darin Adler <darin@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Renamed parseURL to deprecatedParseURL.
+
+ * bindings/js/JSAttrCustom.cpp:
+ (WebCore::JSAttr::setValue): Renamed.
+ * bindings/js/JSElementCustom.cpp:
+ (WebCore::allowSettingSrcToJavascriptURL): Renamed.
+ * bindings/js/JSHTMLFrameElementCustom.cpp:
+ (WebCore::allowSettingJavascriptURL): Renamed.
+ * bindings/js/JSHTMLIFrameElementCustom.cpp:
+ (WebCore::JSHTMLIFrameElement::setSrc): Renamed.
+ * bindings/objc/DOM.mm:
+ (-[DOMElement _getURLAttribute:]): Renamed.
+ * bindings/objc/DOMHTML.mm:
+ (-[DOMHTMLDocument _createDocumentFragmentWithMarkupString:baseURLString:]): Renamed.
+ * bindings/v8/custom/V8CustomBinding.cpp:
+ (WebCore::allowSettingFrameSrcToJavascriptUrl): Renamed.
+ * css/CSSHelper.cpp:
+ (WebCore::deprecatedParseURL): Renamed.
+ * css/CSSHelper.h: Renamed and updated comment.
+ * html/HTMLAnchorElement.cpp:
+ (WebCore::HTMLAnchorElement::defaultEventHandler): Renamed.
+ (WebCore::HTMLAnchorElement::parseMappedAttribute): Renamed.
+ * html/HTMLBaseElement.cpp:
+ (WebCore::HTMLBaseElement::parseMappedAttribute): Renamed.
+ * html/HTMLBodyElement.cpp:
+ (WebCore::HTMLBodyElement::parseMappedAttribute): Renamed.
+ * html/HTMLEmbedElement.cpp:
+ (WebCore::HTMLEmbedElement::parseMappedAttribute): Renamed.
+ * html/HTMLFormElement.cpp:
+ (WebCore::HTMLFormElement::parseMappedAttribute): Renamed.
+ * html/HTMLFrameElementBase.cpp:
+ (WebCore::HTMLFrameElementBase::parseMappedAttribute): Renamed.
+ * html/HTMLImageElement.cpp:
+ (WebCore::HTMLImageElement::parseMappedAttribute): Renamed.
+ * html/HTMLImageLoader.cpp:
+ (WebCore::HTMLImageLoader::sourceURI): Renamed.
+ * html/HTMLLinkElement.cpp:
+ (WebCore::HTMLLinkElement::parseMappedAttribute): Renamed.
+ * html/HTMLObjectElement.cpp:
+ (WebCore::HTMLObjectElement::parseMappedAttribute): Renamed.
+ * html/HTMLTableElement.cpp:
+ (WebCore::HTMLTableElement::parseMappedAttribute): Renamed.
+ * html/HTMLTablePartElement.cpp:
+ (WebCore::HTMLTablePartElement::parseMappedAttribute): Renamed.
+ * html/HTMLTokenizer.cpp:
+ (WebCore::HTMLTokenizer::parseTag): Renamed.
+ * html/PreloadScanner.cpp:
+ (WebCore::PreloadScanner::processAttribute): Renamed.
+ (WebCore::PreloadScanner::emitCSSRule): Renamed.
+ * platform/chromium/ClipboardChromium.cpp:
+ (WebCore::ClipboardChromium::declareAndWriteDragImage): Renamed.
+ * platform/chromium/PasteboardChromium.cpp:
+ (WebCore::Pasteboard::writeImage): Renamed.
+ * platform/qt/ClipboardQt.cpp:
+ (WebCore::ClipboardQt::declareAndWriteDragImage): Renamed.
+ * platform/win/ClipboardWin.cpp:
+ (WebCore::ClipboardWin::declareAndWriteDragImage): Renamed.
+ * rendering/HitTestResult.cpp:
+ (WebCore::HitTestResult::absoluteImageURL): Renamed.
+ (WebCore::HitTestResult::absoluteMediaURL): Renamed.
+ (WebCore::HitTestResult::absoluteLinkURL): Renamed.
+ * svg/SVGAElement.cpp:
+ (WebCore::SVGAElement::defaultEventHandler): Renamed.
+ * svg/SVGImageLoader.cpp:
+ (WebCore::SVGImageLoader::sourceURI): Renamed.
+ * wml/WMLAElement.cpp:
+ (WebCore::WMLAElement::defaultEventHandler): Renamed.
+ * wml/WMLImageLoader.cpp:
+ (WebCore::WMLImageLoader::sourceURI): Renamed.
+
+2009-07-15 Darin Adler <darin@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ CSSHelper.h's parseURL is a function that no one should ever call
+ Part 1: Eliminate callers in the CSS parser.
+ https://bugs.webkit.org/show_bug.cgi?id=26599
+
+ Test: fast/css/uri-token-parsing.html
+
+ * css/CSSHelper.h: Added a comment explaining why nobody should ever call this
+ function. A FIXME suggests a next step, which would be to rename it deprecatedParseURL.
+
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::parseValue): Removed unneeded call to parseURL;
+ CSSParser::text already takes care of parsing the URI token syntax, and the
+ parseURL function does no good.
+ (WebCore::CSSParser::parseContent): Ditto.
+ (WebCore::CSSParser::parseFillImage): Ditto.
+ (WebCore::CSSParser::parseFontFaceSrc): Ditto.
+ (WebCore::CSSParser::parseBorderImage): Ditto.
+ (WebCore::isCSSWhitespace): Added. Helper function that makes the text function
+ easier to read.
+ (WebCore::CSSParser::text): Tweak logic so that leading and trailing whitespace
+ are both trimmed before removing the quote marks. Changed to use the
+ isCSSWhitespace, isASCIIHexDigit, and toASCIIHexValue functions for clarity.
+
+ * css/CSSParser.h: Removed stray "public:" in this header.
+
+ * platform/text/StringImpl.cpp:
+ (WebCore::StringImpl::substring): Optimized the case where the substring covers
+ the entire string, so we just share the StringImpl instead of making a new one.
+ This case came up in earlier versions of the CSS parser changes above.
+ (WebCore::StringImpl::substringCopy): Streamlined the logic here and made it
+ not call substring any more. Before, this was relying on the substring function
+ always making a copy of any non-empty substring.
+
+2009-07-15 Darin Adler <darin@apple.com>
+
+ Reviewed by John Sullivan.
+
+ After double-clicking a word, using Shift-arrow to select behaves unpredictably
+ https://bugs.webkit.org/show_bug.cgi?id=27177
+ rdar://problem/7034324
+
+ Test: editing/selection/extend-selection-after-double-click.html
+
+ The bug was due to the m_lastChangeWasHorizontalExtension flag, which was not
+ being cleared in many cases where it should have been.
+
+ * editing/SelectionController.cpp:
+ (WebCore::SelectionController::setSelection): Set m_lastChangeWasHorizontalExtension
+ to false. This catches all sorts of cases that don't flow through the modify function.
+ Before, the flag would reflect the last call to the modify function, which was not
+ necessarily the last selection change.
+ (WebCore::SelectionController::willBeModified): Rearrange function for clarity.
+ Remove code that sets m_lastChangeWasHorizontalExtension; that is now handled elsewhere.
+ (WebCore::SelectionController::modify): Call setLastChangeWasHorizontalExtension after
+ setSelection when setting up a trial selection controller, since setSelection now
+ clears that flag. Also changed both trial selection controller cases to set the flag,
+ although it's not strictly necessary in both cases. Added code to set
+ m_lastChangeWasHorizontalExtension when extending the selection, which used to be
+ handled in willBeModified. Now we need to do it after the selection change.
+
+2009-07-15 Jeremy Orlow <jorlow@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Need to update DOM Storage files in GYPI file.
+ https://bugs.webkit.org/show_bug.cgi?id=27317
+
+ Need to update DOM Storage files in the GYPI file. They're pretty out
+ of date and we're on the path towards enabling them for everyone!
+
+ * WebCore.gypi:
+
+2009-07-15 Kwang Yul Seo <skyul@company100.net>
+
+ Reviewed by Eric Seidel.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26794
+ Make Yacc-generated parsers to use fastMalloc/fastFree.
+
+ Define YYMALLOC and YYFREE to fastMalloc and fastFree
+ respectively.
+
+ * css/CSSGrammar.y:
+ * xml/XPathGrammar.y:
+
+2009-07-15 David Hyatt <hyatt@apple.com>
+
+ Reviewed by Adam Roben.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27193
+ Don't run in to anonymous blocks. No other browsers do this, and our implementation of run-in
+ is effectively broken as a result.
+
+ No new tests. Changed fast/runin/001.html and fast/runin/generated.html to match new behavior.
+
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::handleRunInChild):
+
+2009-07-15 Yuzo Fujishima <yuzo@google.com>
+
+ Reviewed by Darin Adler.
+
+ Test: fast/js/instanceof-operator.html
+
+ Fix for: Bug 25205 - XMLHttpRequest instance is not an instanceof XMLHttpRequest
+ https://bugs.webkit.org/show_bug.cgi?id=25205
+
+ In addition to for XMLHttpRequest, this also fixes for:
+ - Audio
+ - Image
+ - MessageChannel
+ - Option
+ - WebKitCSSMatrix
+ - WebKitPoint
+ - Worker
+ - XSLTProcessor
+
+ * bindings/js/JSAudioConstructor.cpp:
+ (WebCore::JSAudioConstructor::JSAudioConstructor):
+ * bindings/js/JSAudioConstructor.h:
+ * bindings/js/JSDOMBinding.h:
+ (WebCore::DOMConstructorObject::createStructure):
+ (WebCore::DOMConstructorObject::DOMConstructorObject):
+ * bindings/js/JSImageConstructor.cpp:
+ (WebCore::JSImageConstructor::JSImageConstructor):
+ * bindings/js/JSImageConstructor.h:
+ * bindings/js/JSMessageChannelConstructor.cpp:
+ (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor):
+ * bindings/js/JSMessageChannelConstructor.h:
+ * bindings/js/JSOptionConstructor.cpp:
+ (WebCore::JSOptionConstructor::JSOptionConstructor):
+ * bindings/js/JSOptionConstructor.h:
+ * bindings/js/JSWebKitCSSMatrixConstructor.cpp:
+ (WebCore::JSWebKitCSSMatrixConstructor::JSWebKitCSSMatrixConstructor):
+ * bindings/js/JSWebKitCSSMatrixConstructor.h:
+ * bindings/js/JSWebKitPointConstructor.cpp:
+ (WebCore::JSWebKitPointConstructor::JSWebKitPointConstructor):
+ * bindings/js/JSWebKitPointConstructor.h:
+ * bindings/js/JSWorkerConstructor.cpp:
+ (WebCore::JSWorkerConstructor::JSWorkerConstructor):
+ * bindings/js/JSWorkerConstructor.h:
+ * bindings/js/JSXMLHttpRequestConstructor.cpp:
+ (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
+ * bindings/js/JSXMLHttpRequestConstructor.h:
+ * bindings/js/JSXSLTProcessorConstructor.cpp:
+ (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor):
+ * bindings/js/JSXSLTProcessorConstructor.h:
+
+2009-07-15 Kai Br�ning <kai@granus.net>
+
+ Reviewed by Dave Hyatt.
+
+ CSS21 attribute selectors not dynamic for xml.
+ https://bugs.webkit.org/show_bug.cgi?id=25072
+
+ Moved the relevant test in StyledElement::attributeChanged()
+ to a new function Element::recalcStyleIfNeededAfterAttributeChanged()
+ so it can be called from both StyledElement::attributeChanged()
+ and Element::attributeChanged().
+ Refactored Element::attributeChanged() into
+ Element::updateAfterAttributeChanged() and
+ Element::recalcStyleIfNeededAfterAttributeChanged(), which are called
+ separately from StyledElement::attributeChanged().
+
+ Test: fast/css/attribute-selector-dynamic.xml
+
+ * dom/Element.cpp:
+ (WebCore::Element::attributeChanged):
+ (WebCore::Element::updateAfterAttributeChanged):
+ (WebCore::Element::recalcStyleIfNeededAfterAttributeChanged):
+ * dom/Element.h:
+ * dom/StyledElement.cpp:
+ (WebCore::StyledElement::attributeChanged):
+
+2009-07-15 Alpha Lam <hclam@chromium.org>
+
+ Reviewed by David Levin.
+
+ [V8] Layout test failures for drawImage in Canvas
+ https://bugs.webkit.org/show_bug.cgi?id=27311
+
+ Fixing several canvas layout tests failures due to a
+ missing return statement in CanvasRenderingContext2DDrawImage() which
+ was accidentally removed in r45929.
+
+ * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
+
+2009-07-15 Robert Hogan <robert@roberthogan.net>
+
+ Reviewed by Eric Seidel.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26969
+
+ If the httpMethod() of the request passed to SubresourceLoader::create is not
+ supported by the client we must expect to call didFail() while m_loader is still null.
+
+ * loader/DocumentThreadableLoader.cpp:
+ (DocumentThreadableLoader::didFail):Changed.
+
+2009-07-15 Mark Rowe <mrowe@apple.com>
+
+ Fix the Mac build.
+
+ * WebCore.base.exp:
+ * css/MediaQueryEvaluator.cpp:
+ * rendering/SVGRenderTreeAsText.cpp:
+ * rendering/style/SVGRenderStyle.cpp:
+ * svg/graphics/SVGPaintServer.cpp:
+
+2009-07-07 Alpha Lam <hclam@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ [V8] drawImage method of HTMLCanvasElement to accept HTMLVideoElement as argument
+ https://bugs.webkit.org/show_bug.cgi?id=27170
+
+ Changed CanvasRenderingContext2DDrawImage() to accept HTMLVideoElement
+ as a parameter of drawImage() for HTMLCanvasElement.
+
+ * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
+
+2009-07-15 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ [V8] Fix isolated world constructors
+ https://bugs.webkit.org/show_bug.cgi?id=27287
+
+ Don't enter V8Proxy::m_context before creating DOM constructors.
+ Instead, use getWrapperContext to get the right context.
+
+ After this patch, all my tests pass. I'll enable the feature
+ downstream and land the tests.
+
+ * bindings/scripts/CodeGeneratorV8.pm:
+ * bindings/v8/V8DOMWrapper.cpp:
+ (WebCore::V8DOMWrapper::getConstructor):
+ (WebCore::V8DOMWrapper::lookupDOMWrapper):
+ * bindings/v8/V8DOMWrapper.h:
+ * bindings/v8/V8IsolatedWorld.cpp:
+ (WebCore::V8IsolatedWorld::evaluate):
+ * bindings/v8/V8Proxy.cpp:
+ (WebCore::V8Proxy::createWrapperFromCache):
+ (WebCore::V8Proxy::isContextInitialized):
+ (WebCore::V8Proxy::disposeContextHandles):
+ (WebCore::V8Proxy::installDOMWindow):
+ (WebCore::V8Proxy::initContextIfNeeded):
+ (WebCore::V8Proxy::getHiddenObjectPrototype):
+ (WebCore::V8Proxy::installHiddenObjectPrototype):
+ * bindings/v8/V8Proxy.h:
+
+2009-07-15 Antonio Gomes <antonio.gomes@openbossa.org>
+
+ Reviewed by Darin Adler.
+
+ useless null-check statement in visible_units.cpp@logicalStartOfLine
+ https://bugs.webkit.org/show_bug.cgi?id=27154
+
+ Simple fix.
+
+ * editing/visible_units.cpp:
+ (WebCore::logicalStartOfLine): Doubled honorEditableBoundaryAtOrAfter() call removed.
+
+2009-07-15 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27304
+ WebKit should provide usage and eligibility information about the page cache.
+
+ * WebCore.base.exp:
+
+ * history/CachedFrame.cpp:
+ (WebCore::CachedFrame::childFrameCount):
+ * history/CachedFrame.h:
+
+ * history/PageCache.cpp:
+ (WebCore::PageCache::frameCount):
+ (WebCore::PageCache::autoreleasedPageCount):
+ * history/PageCache.h:
+ (WebCore::PageCache::pageCount):
+
+2009-07-15 Shinichiro Hamaji <hamaji@chromium.org>
+
+ Reviewed by David Levin.
+
+ Chromium's canvas forgets its context after fillText again
+ https://bugs.webkit.org/show_bug.cgi?id=27293
+
+ No new tests because the test for this was already added in
+ https://bugs.webkit.org/show_bug.cgi?id=26436
+
+ * platform/graphics/chromium/TransparencyWin.cpp:
+ (WebCore::TransparencyWin::compositeTextComposite):
+
+2009-07-14 David Hyatt <hyatt@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27283
+
+ Implement the new 'rem' unit from CSS3.
+
+ Added some rem-* tests in fast/css.
+
+ * css/CSSGrammar.y:
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::validUnit):
+ (WebCore::unitFromString):
+ (WebCore::CSSParser::parseValue):
+ (WebCore::CSSParser::lex):
+ * css/CSSParserValues.cpp:
+ (WebCore::CSSParserValue::createCSSValue):
+ * css/CSSPrimitiveValue.cpp:
+ (WebCore::CSSPrimitiveValue::computeLengthInt):
+ (WebCore::CSSPrimitiveValue::computeLengthIntForLength):
+ (WebCore::CSSPrimitiveValue::computeLengthShort):
+ (WebCore::CSSPrimitiveValue::computeLengthFloat):
+ (WebCore::CSSPrimitiveValue::computeLengthDouble):
+ (WebCore::CSSPrimitiveValue::cssText):
+ (WebCore::CSSPrimitiveValue::parserValue):
+ * css/CSSPrimitiveValue.h:
+ (WebCore::CSSPrimitiveValue::):
+ (WebCore::CSSPrimitiveValue::isUnitTypeLength):
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::initForStyleResolve):
+ (WebCore::convertToLength):
+ (WebCore::CSSStyleSelector::applyProperty):
+ (WebCore::CSSStyleSelector::mapFillSize):
+ (WebCore::CSSStyleSelector::mapFillXPosition):
+ (WebCore::CSSStyleSelector::mapFillYPosition):
+ (WebCore::CSSStyleSelector::createTransformOperations):
+ * css/CSSStyleSelector.h:
+ * css/MediaQueryEvaluator.cpp:
+ (WebCore::device_heightMediaFeatureEval):
+ (WebCore::device_widthMediaFeatureEval):
+ (WebCore::heightMediaFeatureEval):
+ (WebCore::widthMediaFeatureEval):
+ * css/WebKitCSSMatrix.cpp:
+ (WebCore::WebKitCSSMatrix::setMatrixValue):
+ * css/tokenizer.flex:
+ * dom/Document.cpp:
+ (WebCore::Document::Document):
+ * dom/Document.h:
+ (WebCore::Document::usesRemUnits):
+ (WebCore::Document::setUsesRemUnits):
+ * dom/Element.cpp:
+ (WebCore::Element::recalcStyle):
+ * rendering/SVGRenderTreeAsText.cpp:
+ (WebCore::writeStyle):
+ * rendering/style/SVGRenderStyle.cpp:
+ (WebCore::SVGRenderStyle::cssPrimitiveToLength):
+ * svg/graphics/SVGPaintServer.cpp:
+ (WebCore::applyStrokeStyleToContext):
+ (WebCore::dashArrayFromRenderingStyle):
+ * svg/graphics/SVGPaintServer.h:
+
+2009-07-15 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Unreviewed, build fix.
+
+ Remove extraneous qualifier, accidentally added in http://trac.webkit.org/changeset/45884.
+
+ * bindings/v8/V8DOMWrapper.h: Removed extraneous qualifier.
+
+2009-07-15 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ [V8] Update bindings for ValiditeState patch.
+ https://bugs.webkit.org/show_bug.cgi?id=19562
+
+ * bindings/v8/DOMObjectsInclude.h:
+ * bindings/v8/DerivedSourcesAllInOne.cpp:
+ * bindings/v8/V8Index.cpp:
+ * bindings/v8/V8Index.h:
+
+2009-07-15 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Cleanup - Remove obsolete code from the make system
+ https://bugs.webkit.org/show_bug.cgi?id=27299
+
+ * WebCore.pro:
+
+2009-07-15 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Reviewed by Ariya Hidayat.
+
+ Fix the build without media elements.
+
+ * rendering/HitTestResult.cpp:
+ (WebCore::HitTestResult::absoluteMediaURL): Add #if ENABLE(VIDEO)
+ markers around the body of the method.
+
+2009-07-14 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ WebInspector: Move storeLastActivePanel out of the
+ ifdef ENABLE_JAVASCRIPT_DEBUGGER section in IDL;
+ Add default panel for the first opening of the
+ WebInspector.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27263
+
+ * inspector/InspectorController.cpp:
+ (InspectorController::setWindowVisible):
+ * inspector/InspectorController.idl:
+
+2009-07-14 Darin Adler <darin@apple.com>
+
+ Try to fix Windows build.
+
+ * bindings/scripts/CodeGeneratorCOM.pm: Add Reflect and ReflectURL support.
+
+2009-07-14 Pierre d'Herbemont <pdherbemont@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ HTMLMediaElement::supportsFullscreen() should return false
+ https://bugs.webkit.org/show_bug.cgi?id=27284
+
+ (Reverting a part of 45875)
+
+ HTMLVideoElement::supportsFullscreen() will properly do the
+ job, and check if the backend supports fullscreen.
+
+ HTMLVideoElement is the only subclass to support fullscreen
+ (conditionnaly). HTMLAudioElement fullscreen is not supported
+ and is a different kind of fullscreen, if it comes to be wanted.
+
+ No test can be done currently given that none of the media
+ backends support fullscreen.
+
+ * html/HTMLMediaElement.cpp:
+ * html/HTMLMediaElement.h:
+ (WebCore::HTMLMediaElement::supportsFullscreen):
+
+2009-07-14 Darin Adler <darin@apple.com>
+
+ Reviewed by Dimitri Glazkov.
+
+ Next step in making DOM attribute getter/setters consistently use AtomicString
+ https://bugs.webkit.org/show_bug.cgi?id=25425
+
+ This covers eight DOM classes, and for each one of the classes:
+
+ - Changes the IDL to use the Reflect syntax for all simple cases.
+ - Removes unused functions in the classes, mainly newly unused ones that were
+ used for reflection before.
+ - Removes unneeded explicitly defined destructors.
+ - Explicitly declares destructors as virtual.
+ - Removes unneeded includes.
+ - Makes members protected or private rather than public where possible.
+ - Renames "doc" to "document".
+ - Tweaks formatting to match our latest style in a few places.
+ - Improves some FIXME comments.
+
+ Over time we'll want to do this for all HTML DOM classes.
+
+ * html/HTMLAnchorElement.cpp:
+ (WebCore::HTMLAnchorElement::HTMLAnchorElement):
+ * html/HTMLAnchorElement.h:
+ (WebCore::HTMLAnchorElement::endTagRequirement):
+ (WebCore::HTMLAnchorElement::tagPriority):
+ * html/HTMLAnchorElement.idl:
+ * html/HTMLAppletElement.cpp:
+ * html/HTMLAppletElement.h:
+ * html/HTMLAppletElement.idl:
+ * html/HTMLAreaElement.cpp:
+ (WebCore::HTMLAreaElement::parseMappedAttribute):
+ * html/HTMLAreaElement.h:
+ (WebCore::HTMLAreaElement::endTagRequirement):
+ (WebCore::HTMLAreaElement::tagPriority):
+ * html/HTMLAreaElement.idl:
+ * html/HTMLBRElement.cpp:
+ (WebCore::HTMLBRElement::parseMappedAttribute):
+ * html/HTMLBRElement.h:
+ * html/HTMLBRElement.idl:
+ * html/HTMLBaseElement.cpp:
+ (WebCore::HTMLBaseElement::HTMLBaseElement):
+ (WebCore::HTMLBaseElement::removedFromDocument):
+ (WebCore::HTMLBaseElement::process):
+ * html/HTMLBaseElement.h:
+ * html/HTMLBaseElement.idl:
+ * html/HTMLBaseFontElement.cpp:
+ (WebCore::HTMLBaseFontElement::HTMLBaseFontElement):
+ * html/HTMLBaseFontElement.h:
+ (WebCore::HTMLBaseFontElement::endTagRequirement):
+ (WebCore::HTMLBaseFontElement::tagPriority):
+ * html/HTMLBaseFontElement.idl:
+ * html/HTMLBlockquoteElement.cpp:
+ (WebCore::HTMLBlockquoteElement::HTMLBlockquoteElement):
+ * html/HTMLBlockquoteElement.h:
+ (WebCore::HTMLBlockquoteElement::tagPriority):
+ * html/HTMLBlockquoteElement.idl:
+ * html/HTMLBodyElement.cpp:
+ (WebCore::HTMLBodyElement::HTMLBodyElement):
+ (WebCore::HTMLBodyElement::addSubresourceAttributeURLs):
+ * html/HTMLBodyElement.h:
+ (WebCore::HTMLBodyElement::endTagRequirement):
+ (WebCore::HTMLBodyElement::tagPriority):
+ * html/HTMLBodyElement.idl:
+ Made changes as described above.
+
+ * loader/FrameLoader.cpp: Removed unneeded include of HTMLAnchorElement.h.
+
+2009-07-14 Steve Falkenburg <sfalken@apple.com>
+
+ Reorganize JavaScriptCore headers into:
+ API: include/JavaScriptCore/
+ Private: include/private/JavaScriptCore/
+
+ Reviewed by Darin Adler.
+
+ * WebCore.vcproj/QTMovieWin.vcproj:
+ * WebCore.vcproj/WebCoreCommon.vsprops:
+ * WebCore.vcproj/build-generated-files.sh:
+
+2009-07-14 Zoltan Horvath <hzoltan@inf.u-szeged.hu>
+
+ Reviewed by Darin Adler.
+
+ Change all Noncopyable inheriting visibility to public.
+ https://bugs.webkit.org/show_bug.cgi?id=27225
+
+ Change all Noncopyable inheriting visibility to public because
+ it is needed to the custom allocation framework (bug #20422).
+
+ * bindings/js/GCController.h:
+ * bindings/js/WorkerScriptController.h:
+ * bindings/v8/V8DOMMap.cpp:
+ (WebCore::):
+ * bridge/runtime.h:
+ * css/CSSSelector.h:
+ * css/CSSSelectorList.h:
+ * css/CSSStyleSelector.h:
+ * dom/ClassNames.h:
+ * dom/MessagePortChannel.h:
+ * dom/XMLTokenizerLibxml2.cpp:
+ * dom/XMLTokenizerScope.h:
+ * editing/ReplaceSelectionCommand.cpp:
+ * editing/SelectionController.h:
+ * editing/TextIterator.cpp:
+ * history/PageCache.h:
+ * html/CanvasRenderingContext2D.h:
+ * html/HTMLParser.h:
+ * html/HTMLParserQuirks.h:
+ * html/PreloadScanner.h:
+ * loader/Cache.h:
+ * loader/CrossOriginPreflightResultCache.h:
+ * loader/FrameLoader.h:
+ * loader/ProgressTracker.h:
+ * loader/ThreadableLoader.h:
+ * loader/appcache/ApplicationCacheGroup.h:
+ * loader/archive/ArchiveResourceCollection.h:
+ * loader/icon/IconDatabase.h:
+ * loader/icon/IconLoader.h:
+ * loader/icon/PageURLRecord.h:
+ * loader/loader.h:
+ * page/ContextMenuController.h:
+ * page/EventHandler.h:
+ * page/FrameTree.h:
+ * page/Page.h:
+ * page/PageGroup.h:
+ * page/PageGroupLoadDeferrer.h:
+ * page/mac/EventHandlerMac.mm:
+ * platform/AutodrainedPool.h:
+ * platform/ContextMenu.h:
+ * platform/EventLoop.h:
+ * platform/HostWindow.h:
+ * platform/Pasteboard.h:
+ * platform/PurgeableBuffer.h:
+ * platform/RunLoopTimer.h:
+ * platform/ThreadGlobalData.h:
+ * platform/ThreadTimers.h:
+ * platform/Timer.h:
+ * platform/TreeShared.h:
+ * platform/graphics/FontData.h:
+ * platform/graphics/GlyphWidthMap.h:
+ * platform/graphics/GraphicsContext.h:
+ * platform/graphics/ImageBuffer.h:
+ * platform/graphics/ImageSource.h:
+ * platform/graphics/MediaPlayer.h:
+ * platform/graphics/skia/GraphicsContextPlatformPrivate.h:
+ * platform/graphics/skia/PlatformContextSkia.h:
+ * platform/graphics/win/QTMovieWin.cpp:
+ * platform/mac/LocalCurrentGraphicsContext.h:
+ * platform/network/FormDataBuilder.h:
+ * platform/network/ResourceHandleInternal.h:
+ * platform/network/soup/ResourceHandleSoup.cpp:
+ * platform/text/StringBuffer.h:
+ * platform/text/TextCodec.h:
+ * platform/win/WindowMessageBroadcaster.h:
+ * rendering/CounterNode.h:
+ * rendering/LayoutState.h:
+ * rendering/RenderFrameSet.h:
+ * rendering/RenderView.h:
+ * rendering/TransformState.h:
+ * svg/SVGAnimatedProperty.h:
+ * svg/SynchronizableTypeWrapper.h:
+ * workers/WorkerMessagingProxy.h:
+ * workers/WorkerRunLoop.cpp:
+ * xml/XPathExpressionNode.h:
+ * xml/XPathParser.h:
+ * xml/XPathPredicate.h:
+ * xml/XPathStep.h:
+
+2009-07-14 Darin Fisher <darin@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Fails to save document state when navigating away from a page with a
+ reference fragment.
+ https://bugs.webkit.org/show_bug.cgi?id=27281
+
+ Test: fast/history/saves-state-after-fragment-nav.html
+
+ * history/HistoryItem.cpp:
+ (WebCore::HistoryItem::isCurrentDocument): Use equalIgnoringRef
+ to compare URLs.
+
+2009-07-14 Joseph Pecoraro <joepeck02@gmail.com>
+
+ Reviewed by Sam Weinig.
+
+ Inspector: Remove Unintended Global Variables
+ https://bugs.webkit.org/show_bug.cgi?id=27203
+
+ * inspector/front-end/Console.js:
+ (WebInspector.Console.prototype._ensureCommandLineAPIInstalled):
+ * inspector/front-end/DatabasesPanel.js:
+ (WebInspector.DatabasesPanel.prototype.dataGridForDOMStorage):
+ * inspector/front-end/ObjectPropertiesSection.js:
+ (WebInspector.ObjectPropertyTreeElement.prototype.update):
+ * inspector/front-end/inspector.js:
+ (WebInspector.animateStyle):
+
+2009-07-14 Michelangelo De Simone <micdesim@gmail.com>
+
+ Reviewed by Adele Peterson.
+
+ https://bugs.webkit.org/show_bug.cgi?id=19562
+ Added build stuff and stub for the ValidityState class, part of HTML5
+ section Forms:
+ http://www.whatwg.org/specs/web-apps/current-work/multipage/forms.html#validitystate
+
+ Test: fast/forms/ValidityState-001.html
+
+ * DerivedSources.cpp: Inclusion of ValidityState files
+ * DerivedSources.make: ditto
+ * GNUmakefile.am: ditto
+ * WebCore.gypi: ditto
+ * WebCore.pro: ditto
+ * WebCore.vcproj/WebCore.vcproj: ditto
+ * WebCore.xcodeproj/project.pbxproj: ditto
+ * WebCoreSources.bkl: ditto
+ * html/HTMLButtonElement.idl: validity attribute
+ * html/HTMLFieldSetElement.idl: ditto
+ * html/HTMLFormControlElement.cpp:
+ (WebCore::HTMLFormControlElement::validity): ValidityState getter
+ * html/HTMLFormControlElement.h: ditto
+ * html/HTMLInputElement.idl: validity attribute
+ * html/HTMLSelectElement.idl: ditto
+ * html/HTMLTextAreaElement.idl: ditto
+ * html/ValidityState.cpp: Added.
+ (WebCore::ValidityState::ValidityState):
+ (WebCore::ValidityState::valid): validation flag
+ * html/ValidityState.h: Added.
+ (WebCore::ValidityState::create): validation flag
+ (WebCore::ValidityState::control): ditto
+ (WebCore::ValidityState::valueMissing): ditto
+ (WebCore::ValidityState::typeMismatch): ditto
+ (WebCore::ValidityState::patternMismatch): ditto
+ (WebCore::ValidityState::tooLong): ditto
+ (WebCore::ValidityState::rangeUnderflow): ditto
+ (WebCore::ValidityState::rangeOverflow): ditto
+ (WebCore::ValidityState::stepMismatch): ditto
+ (WebCore::ValidityState::customError): ditto
+ * html/ValidityState.idl: Added.
+
+2009-07-14 Ryosuke Niwa <rniwa@google.com>
+
+ Reviewed by Eric Seidel.
+
+ Outdenting a line inside a blockquote tag does nothing
+ https://bugs.webkit.org/show_bug.cgi?id=25316
+
+ The bug was caused by the code checking whether the blockquote is created by WebKit or not.
+ We simply remove this code to be consistent with Firefox and Internet Explorer.
+ Also, enclosingBlockFlow == enclosingNode in outdentParagraph isn't a sufficient condition to insert
+ the placeholder before the enclosingNode because there could be contents before the current paragraph.
+ Instead, we should split the enclosingNode (which is a blockquote) at the starting position of outdentation.
+ It turned out that this solves the bug 25315 also: https://bugs.webkit.org/show_bug.cgi?id=25315
+
+ Test: editing/execCommand/outdent-regular-blockquote.html
+
+ * editing/IndentOutdentCommand.cpp:
+ (WebCore::isIndentBlockquote): no longer checks whether a blockquote is created by WebKit or not.
+ (WebCore::IndentOutdentCommand::outdentParagraph): takes care of the case enclosingBlockFlow == enclosingNode
+
+2009-07-14 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ [V8] Fix isolated world wrappers for Node prototypes
+ https://bugs.webkit.org/show_bug.cgi?id=27277
+
+ This change does two things:
+
+ 1) We bypass the wrapper cache in the isolated world. This is because
+ the wrapper template cache has prototypes that lead to the main
+ world. We can add a template cache for the isolated world if
+ performance warrants.
+
+ 2) We introduce a smarter way to grab the wrapper context for a frame
+ that is aware that proxy <-> context do not stand in one-to-one
+ correspondence. This generalizes our solution for the node wrapper
+ case to prototypes.
+
+ The net result is that Node wrappers get the right prototypes. As
+ before, tests to follow.
+
+ * bindings/v8/V8DOMWrapper.cpp:
+ (WebCore::V8DOMWrapper::setHiddenWindowReference):
+ (WebCore::V8DOMWrapper::instantiateV8Object):
+ (WebCore::V8DOMWrapper::convertNodeToV8Object):
+ (WebCore::V8DOMWrapper::convertWindowToV8Object):
+ (WebCore::V8DOMWrapper::getWrapperContext):
+ * bindings/v8/V8DOMWrapper.h:
+
+2009-07-14 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ [V8] Fix isolated world wrappers for Nodes
+ https://bugs.webkit.org/show_bug.cgi?id=27271
+
+ Previously, we keepy a pointer to the DOMMap on V8Proxy, but this
+ caused us to miss the branch in V8DOMMap.cpp for isolated worlds.
+
+ I have tests, but I can't land them until I get this feature under
+ control.
+
+ * bindings/v8/V8DOMWrapper.cpp:
+ (WebCore::V8DOMWrapper::convertNodeToV8Object):
+ * bindings/v8/V8Proxy.h:
+ (WebCore::V8Proxy::V8Proxy):
+
+2009-07-14 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ [V8] Fix isolated world crash on getting window.location
+ https://bugs.webkit.org/show_bug.cgi?id=27268
+
+ I have a test for this locally, but it requires a compile-time hack to
+ run. Once I get the feature's stability under control, we can turn the
+ feature on and add the tests.
+
+ * bindings/v8/V8DOMWrapper.cpp:
+ (WebCore::V8DOMWrapper::setHiddenWindowReference):
+ * bindings/v8/V8IsolatedWorld.h:
+ (WebCore::V8IsolatedWorld::context):
+
+2009-07-14 Brent Fulgham <bfulgham@webkit.org>
+
+ Correct failing tests after r45875. The original patch did not
+ test the m_player member for null, causing crashes. This will
+ happen fairly frequently in real use. Was this original patch
+ ever tested?
+ https://bugs.webkit.org/show_bug.cgi?id=27246
+
+ Test via existing media tests.
+
+ * html/HTMLMediaElement.cpp:
+ (WebCore::HTMLMediaElement::supportsFullscreen): Check for null pointer.
+ (WebCore::HTMLMediaElement::supportsSave): Check for null pointer.
+
+2009-07-14 Avi Drissman <avi@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ Explicitly mark the HTML generated for the Mac as being UTF-8 encoded.
+ The Windows clipboard format is explicitly documented as being UTF-8,
+ and all Linux apps assume UTF-8. On the Mac, though, unless otherwise
+ indicated, Windows-1252 is assumed, which is wrong.
+
+ Bug: https://bugs.webkit.org/show_bug.cgi?id=27262
+
+ No new tests.
+
+ * platform/chromium/ClipboardChromium.cpp:
+ (WebCore::ClipboardChromium::writeRange):
+ * platform/chromium/PasteboardChromium.cpp:
+ (WebCore::Pasteboard::writeSelection):
+
+2009-07-14 Albert J. Wong <ajwong@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Upstream V8NPObject.h and V8NPObject.cpp.
+ https://bugs.webkit.org/show_bug.cgi?id=27103
+
+ This just upstreams the files from the chromium code base. Only
+ minor changes to formatting and similar were done, so no testing
+ is required because nothing really changed. Code verified to compile.
+
+ * bindings/v8/ScriptController.cpp:
+ (WebCore::ScriptController::bindToWindowObject):
+ (WebCore::ScriptController::createScriptInstanceForWidget):
+ * bindings/v8/V8NPObject.cpp: Added.
+ (npObjectInvokeImpl):
+ (npObjectMethodHandler):
+ (npObjectInvokeDefaultHandler):
+ (weakTemplateCallback):
+ (npObjectGetProperty):
+ (npObjectNamedPropertyGetter):
+ (npObjectIndexedPropertyGetter):
+ (npObjectGetNamedProperty):
+ (npObjectGetIndexedProperty):
+ (npObjectSetProperty):
+ (npObjectNamedPropertySetter):
+ (npObjectIndexedPropertySetter):
+ (npObjectSetNamedProperty):
+ (npObjectSetIndexedProperty):
+ (weakNPObjectCallback):
+ (createV8ObjectForNPObject):
+ (forgetV8ObjectForNPObject):
+ * bindings/v8/V8NPObject.h: Added.
+ * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp:
+ (WebCore::NAMED_PROPERTY_GETTER):
+ (WebCore::NAMED_PROPERTY_SETTER):
+ (WebCore::CALLBACK_FUNC_DECL):
+ (WebCore::INDEXED_PROPERTY_GETTER):
+ (WebCore::INDEXED_PROPERTY_SETTER):
+
+
+2009-07-14 Albert J. Wong <ajwong@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Add HTMLMediaElement::supportSave() and a
+ HitTestResult::absoluteMediaURL() functions
+ https://bugs.webkit.org/show_bug.cgi?id=27246
+
+ Added an implementation of supportsSave() into HTMLMediaElement
+ that delegates to MediaPlayerPrivateImpl so that the media engine
+ is able to signal whether or not a media source supports saving.
+
+ Also added a function to HitTestResult that allows for retrieval
+ of the currentSrc associated with the "hit" media element.
+
+ These functions are just pipeing with no visible UI change so there
+ are no related layout test changes.
+
+ * html/HTMLMediaElement.cpp:
+ (WebCore::HTMLMediaElement::supportsFullscreen):
+ (WebCore::HTMLMediaElement::supportsSave):
+ * html/HTMLMediaElement.h:
+ * platform/graphics/MediaPlayer.cpp:
+ (WebCore::MediaPlayer::supportsSave):
+ * platform/graphics/MediaPlayer.h:
+ * platform/graphics/MediaPlayerPrivate.h:
+ (WebCore::MediaPlayerPrivateInterface::supportsFullscreen):
+ (WebCore::MediaPlayerPrivateInterface::supportsSave):
+ * rendering/HitTestResult.cpp:
+ (WebCore::HitTestResult::altDisplayString):
+ (WebCore::HitTestResult::absoluteMediaURL):
+ * rendering/HitTestResult.h:
+
+2009-07-14 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ [V8] Implement Reflect and ReflectURL attribute support.
+ https://bugs.webkit.org/show_bug.cgi?id=27273
+
+ * bindings/scripts/CodeGeneratorV8.pm: Added support for Reflect and ReflectURL attributes.
+
+2009-07-14 Dmitry Titov <dimich@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27266
+ Add hasCurrentPoint() to WebCore::Path.
+ This fixes Skia-based Chromium regression caused by the fix for
+ https://bugs.webkit.org/show_bug.cgi?id=27187.
+ For Skia, the new method always returns 'true', pending actual implementation.
+ This means Chromium still will differ from Gecko behavior, but at least its Canvas
+ will not be completely broken.
+
+ Existing Canvas Layout Tests should pass in Chromium after this change.
+
+ * html/CanvasRenderingContext2D.cpp:
+ (WebCore::CanvasRenderingContext2D::lineTo): insteand of Path::isEmpty() test for hasCurrentPoint().
+ (WebCore::CanvasRenderingContext2D::quadraticCurveTo): ditto.
+ (WebCore::CanvasRenderingContext2D::bezierCurveTo): ditto.
+
+ * platform/graphics/Path.h:
+ * platform/graphics/cairo/PathCairo.cpp:
+ (WebCore::Path::hasCurrentPoint):
+ * platform/graphics/cg/PathCG.cpp:
+ (WebCore::Path::isEmpty):
+ (WebCore::Path::hasCurrentPoint):
+ * platform/graphics/qt/PathQt.cpp:
+ (WebCore::Path::hasCurrentPoint):
+ * platform/graphics/skia/PathSkia.cpp:
+ (WebCore::Path::hasCurrentPoint):
+ * platform/graphics/wx/PathWx.cpp:
+ (WebCore::Path::hasCurrentPoint):
+ All these files add a Path::hasCurrentPoint() for various platforms.
+
+2009-07-14 Nate Chapin <japhet@chromium.org>
+
+ Reviewed by Sam Weinig.
+
+ Upstream RGBColor from src.chromium.org.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27133
+
+ * WebCore.gypi: Add RGBColor
+ * css/RGBColor.cpp: Added.
+ (WebCore::RGBColor::create):
+ (WebCore::RGBColor::red):
+ (WebCore::RGBColor::green):
+ (WebCore::RGBColor::blue):
+ * css/RGBColor.h: Added.
+ (WebCore::RGBColor::RGBColor):
+
+2009-07-10 Matt Perry <mpcomplete@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ [V8] Rename the didCreate/DestroyScriptContext calls to make it
+ clear that that those refer to the frame's contxt. Add another
+ similar call for when creating contexts via evaluateInNewContext.
+ https://bugs.webkit.org/show_bug.cgi?id=27104
+
+ * bindings/v8/V8Proxy.cpp:
+ (WebCore::V8Proxy::evaluateInNewContext):
+ (WebCore::V8Proxy::disposeContextHandles):
+ (WebCore::V8Proxy::initContextIfNeeded):
+ * loader/EmptyClients.h:
+ (WebCore::EmptyFrameLoaderClient::didCreateScriptContextForFrame):
+ (WebCore::EmptyFrameLoaderClient::didDestroyScriptContextForFrame):
+ (WebCore::EmptyFrameLoaderClient::didCreateIsolatedScriptContext):
+ * loader/FrameLoaderClient.h:
+
+2009-07-14 Brent Fulgham <bfulgham@webkit.org>
+
+ Revert http://trac.webkit.org/changeset/45864 after
+ breaking of Windows build.
+
+ * storage/LocalStorageTask.cpp:
+ * storage/LocalStorageTask.h:
+ * storage/Storage.cpp:
+ * storage/Storage.h:
+ * storage/StorageArea.cpp:
+ * storage/StorageArea.h:
+ * storage/StorageAreaImpl.cpp:
+ * storage/StorageAreaImpl.h:
+ * storage/StorageAreaSync.cpp:
+ * storage/StorageAreaSync.h:
+ * storage/StorageEvent.cpp:
+ * storage/StorageEvent.h:
+ (WebCore::StorageEvent::create):
+ (WebCore::StorageEvent::StorageEvent):
+ * storage/StorageNamespace.h:
+ * storage/StorageNamespaceImpl.cpp:
+ * storage/StorageNamespaceImpl.h:
+ * storage/StorageSyncManager.cpp:
+ * storage/StorageSyncManager.h:
+
+2009-07-11 Jeremy Orlow <jorlow@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Cleanup DOM Storage dependencies.
+ https://bugs.webkit.org/show_bug.cgi?id=27180
+
+ DOM Storage had several unnecessary (and probably unintended)
+ dependencies. This patch replaces many includes of header files with
+ forward declaration of classes, making some destructors explicit, and
+ taking some factories out of the header files.
+
+ This will allow things like StorageAreaSync to take a StorageAreaImpl*
+ (as it should) rather than a StorageArea* which previously weren't
+ possible because the dependencies were such a tangled mess.
+
+ * storage/LocalStorageTask.cpp:
+ (WebCore::LocalStorageTask::~LocalStorageTask):
+ * storage/LocalStorageTask.h:
+ * storage/Storage.cpp:
+ (WebCore::Storage::~Storage):
+ * storage/Storage.h:
+ * storage/StorageArea.cpp:
+ * storage/StorageArea.h:
+ * storage/StorageAreaImpl.cpp:
+ * storage/StorageAreaImpl.h:
+ * storage/StorageAreaSync.cpp:
+ (WebCore::StorageAreaSync::~StorageAreaSync):
+ * storage/StorageAreaSync.h:
+ * storage/StorageEvent.cpp:
+ (WebCore::StorageEvent::create):
+ (WebCore::StorageEvent::StorageEvent):
+ * storage/StorageEvent.h:
+ * storage/StorageNamespace.h:
+ * storage/StorageNamespaceImpl.cpp:
+ * storage/StorageNamespaceImpl.h:
+ * storage/StorageSyncManager.cpp:
+ (WebCore::StorageSyncManager::~StorageSyncManager):
+ * storage/StorageSyncManager.h:
+
+
+2009-07-14 Adam Treat <adam.treat@torchmobile.com>
+
+ Reviewed by David Hyatt.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26983
+
+ Check to make sure the view is attached to a frame() in the visibleContentsResized()
+ method as it can be triggered before the view is attached by Frame::createView(...)
+ setting various values such as setScrollBarModes(...) for example. An ASSERT is
+ triggered when a view is layout before being attached to a frame().
+
+ * page/FrameView.cpp:
+ (WebCore::FrameView::visibleContentsResized):
+ * page/FrameView.h:
+
+2009-07-14 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ WebInspector: show last opened panel when invoking inspector.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27263
+
+ * inspector/InspectorController.cpp:
+ (WebCore::InspectorController::InspectorController):
+ (WebCore::InspectorController::setWindowVisible):
+ (WebCore::InspectorController::storeLastActivePanel):
+ (WebCore::InspectorController::specialPanelForJSName):
+ * inspector/InspectorController.h:
+ (WebCore::InspectorController::Setting::Setting):
+ * inspector/InspectorController.idl:
+ * inspector/front-end/inspector.js:
+ (WebInspector.set currentPanel):
+ (WebInspector.loaded):
+
+2009-07-14 Anton Muhin <antonm@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Speed up access to NodeList length.
+ https://bugs.webkit.org/show_bug.cgi?id=27264
+
+ That's a minimal alternation of the code.
+
+ * bindings/v8/custom/V8NodeListCustom.cpp:
+ (WebCore::NAMED_PROPERTY_GETTER): 1) use AtomicString for comparison, 2) use
+ v8::Integer::New instead of v8::Number::New.
+
+2009-07-14 Anton Muhin <antonm@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Do not do unnecessary conversions from v8::Handle<v8::Value> to
+ v8::Handle<v8::Object> and accompanying changes.
+ https://bugs.webkit.org/show_bug.cgi?id=26953
+
+ Three things:
+
+ 1) do not cast from v8::Value to v8::Object if unnecessary---casts are cheap,
+ but are not free (they check for emptiness of handle);
+ 2) inline conversion from wrapper to node;
+ 3) simplify case to an ASSERT.
+
+ This is just a refactoring, so no new tests are needed.
+
+ * bindings/scripts/CodeGeneratorV8.pm:
+ * bindings/v8/V8Proxy.cpp:
+ (WebCore::V8Proxy::evaluateInNewContext):
+ (WebCore::V8Proxy::convertToSVGPODTypeImpl):
+ * bindings/v8/V8Proxy.h:
+ (WebCore::V8Proxy::convertDOMWrapperToNative):
+ (WebCore::V8Proxy::convertToNativeObject):
+ (WebCore::V8Proxy::convertToNativeEvent):
+ * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
+ (WebCore::toCanvasStyle):
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8CustomBinding.cpp:
+ (WebCore::V8Custom::GetTargetFrame):
+ * bindings/v8/custom/V8DOMWindowCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+ (WebCore::V8Custom::ClearTimeoutImpl):
+ (WebCore::NAMED_ACCESS_CHECK):
+ (WebCore::INDEXED_ACCESS_CHECK):
+ * bindings/v8/custom/V8DocumentCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8LocationCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+
+2009-07-14 Darin Adler <darin@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Straight quotes should match fancy quotes in in-page search
+ https://bugs.webkit.org/show_bug.cgi?id=27217
+
+ Tests: fast/text/find-quotes.html
+
+ * editing/TextIterator.cpp:
+ (WebCore::foldQuoteMark): Added.
+ (WebCore::foldQuoteMarks): Added.
+ (WebCore::SearchBuffer::SearchBuffer): Call foldQuoteMarks on the target string.
+ (WebCore::SearchBuffer::append): Call foldQuoteMarks on characters as they are
+ added to the search buffer.
+
+ * platform/text/CharacterNames.h: Added more quotation mark character names.
+ Sorted character names with the sort tool.
+
+2009-07-13 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ WebInspector: handle debugger shortcuts while on source frame or on
+ script file selector.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27224
+
+ * inspector/front-end/ScriptsPanel.js:
+ (WebInspector.ScriptsPanel):
+ * inspector/front-end/SourceFrame.js:
+ (WebInspector.SourceFrame.prototype._loaded):
+
+2009-07-13 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Use standard HashCountedSet instead of a hand rolled one
+ in HTMLDocument.
+
+ * html/HTMLDocument.cpp:
+ (WebCore::addItemToMap):
+ (WebCore::removeItemFromMap):
+ * html/HTMLDocument.h:
+
+2009-07-13 Erik Arvidsson <arv@chromium.org>
+
+ Reviewed by Darin Adler and Maciej Stachowiak.
+
+ Implement HTML5 draggable
+ https://bugs.webkit.org/show_bug.cgi?id=26262
+
+ This adds support for the HTML5 draggable attribute and its DOM binding. It maps the draggable property
+ to the CSS properties -webkit-user-drag and -webkit-user-select respectively.
+
+ Spec: http://www.whatwg.org/specs/web-apps/current-work/multipage/editing.html#the-draggable-attribute
+
+ Test: fast/html/draggable.html
+
+ * css/html.css:
+ * html/HTMLAnchorElement.cpp:
+ (WebCore::HTMLAnchorElement::draggable):
+ * html/HTMLAnchorElement.h:
+ * html/HTMLAttributeNames.in:
+ * html/HTMLElement.cpp:
+ (WebCore::HTMLElement::draggable):
+ (WebCore::HTMLElement::setDraggable):
+ * html/HTMLElement.h:
+ * html/HTMLElement.idl:
+ * html/HTMLImageElement.cpp:
+ (WebCore::HTMLImageElement::draggable):
+ * html/HTMLImageElement.h:
+
+2009-07-13 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Image rendered as layer contents looks different from image rendered via CG.
+ <rdar://problem/7048830>
+
+ Fix a visible color profile difference between between images rendered via Core Graphics
+ and those rendered via a compositing layer, by assigning the GenericRGB profile to
+ untagged images (which come through as having the DeviceRGB profile) when they are set
+ as layer contents.
+
+ Test: compositing/color-matching/image-color-matching.html
+
+ * platform/graphics/mac/GraphicsLayerCA.mm:
+ (WebCore::GraphicsLayerCA::setContentsToImage):
+
+2009-07-13 Darin Adler <darin@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27220
+ Assertion failure in createSearcher() (usearch_open() status is U_USING_DEFAULT_WARNING)
+
+ * editing/TextIterator.cpp:
+ (WebCore::createSearcher): Add U_USING_DEFAULT_WARNING as a possible status code
+ in the assertion. Affects only the assertion.
+
+2009-07-13 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26925
+ <rdar://problem/7027850> URL Fragment Breaks Application Cache Loads
+
+ Test: http/tests/appcache/main-resource-hash.html
+
+ * loader/appcache/ApplicationCache.cpp:
+ (WebCore::ApplicationCache::resourceForURL):
+ (WebCore::ApplicationCache::resourceForRequest):
+ * loader/appcache/ApplicationCacheGroup.cpp:
+ (WebCore::ApplicationCacheGroup::cacheForMainRequest):
+ (WebCore::ApplicationCacheGroup::fallbackCacheForMainRequest):
+ (WebCore::ApplicationCacheGroup::selectCache):
+ (WebCore::ApplicationCacheGroup::finishedLoadingMainResource):
+ (WebCore::ApplicationCacheGroup::didReceiveResponse):
+ (WebCore::ApplicationCacheGroup::didFail):
+ (WebCore::ApplicationCacheGroup::addEntry):
+ Remove URL fragment at appcache code borders.
+
+ * loader/appcache/ApplicationCacheResource.h:
+ (WebCore::ApplicationCacheResource::create):
+ * loader/appcache/ApplicationCacheStorage.cpp:
+ (WebCore::ApplicationCacheStorage::findOrCreateCacheGroup):
+ (WebCore::ApplicationCacheStorage::cacheGroupForURL):
+ (WebCore::ApplicationCacheStorage::fallbackCacheGroupForURL):
+ Assert that there is no URL fragment in URL at key points in appcache code.
+
+2009-07-13 Darin Adler <darin@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27166
+ rdar://problem/7015857
+ Find for strings composed entirely of spaces doesn't work
+
+ Test: fast/text/find-spaces.html
+
+ * editing/TextIterator.cpp:
+ (WebCore::findPlainText): Removed unneeded special case.
+ The empty string case already works correctly.
+
+2009-07-13 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Kevin Decker.
+
+ Remove NPPVpluginPrivateModeBool, it was removed from the spec.
+
+ * bridge/npapi.h:
+
+2009-07-13 Feng Qian <feng@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=27237
+
+ Make V8DOMMap.h compiling with gcc option -Werror=non=virtual-dtor.
+
+ * bindings/v8/V8DOMMap.h:
+ (WebCore::WeakReferenceMap::WeakReferenceMap):
+ (WebCore::WeakReferenceMap::~WeakReferenceMap):
+
+2009-07-13 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ Remove an accidental add of bidi.(cpp|h) to WebCore.gypi.
+
+ * WebCore.gypi: Removed bidi.cpp and bidi.h
+
+2009-07-13 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ Update WebCore.gyp in preparation to hooking it up.
+
+ * WebCore.gypi: Added files that were mid-stream while switching over.
+
+2009-07-13 Dmitry Titov <dimich@chromium.org>
+
+ Not reviewed, another small fix for Chromium build.
+
+ * bindings/v8/ScriptController.cpp:
+ (WebCore::ScriptController::evaluate):
+
+2009-07-13 Dmitry Titov <dimich@chromium.org>
+
+ Not reviewed, fix Chromium build bustage.
+
+ * bindings/v8/ScriptController.cpp:
+ (WebCore::ScriptController::evaluate):
+ * bindings/v8/V8Proxy.cpp:
+ (WebCore::JavaScriptConsoleMessage::addToPage):
+ * bindings/v8/WorkerContextExecutionProxy.cpp:
+ (WebCore::handleConsoleMessage):
+
+2009-07-13 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=27234
+ <rdar://problem/7054356>
+
+ Add null page check in HTMLDocument::hasFocus.
+
+ Test: fast/dom/HTMLDocument/hasFocus-frameless-crash.html
+
+ * html/HTMLDocument.cpp:
+ (WebCore::HTMLDocument::hasFocus): Add page null check.
+ (WebCore::HTMLDocument::createTokenizer): Cleanup page null check.
+
+2009-07-13 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Disable continuous spell checking in the inspector
+ https://bugs.webkit.org/show_bug.cgi?id=27131
+
+ * inspector/front-end/inspector.html: Added spellcheck="false" to the
+ main-panels and console-prompt containers.
+
+2009-07-13 Adam Langley <agl@google.com>
+
+ Reviewed by Eric Seidel.
+
+ Chromium Linux: fix assertion when rendering google.com.kh
+
+ https://bugs.webkit.org/show_bug.cgi?id=26924
+
+ Some shapers (i.e. Khmer) will produce cluster logs which report that
+ /no/ code points contributed to certain glyphs. Because of this, we
+ take any code point which contributed to the glyph in question, or any
+ subsequent glyph. If we run off the end, then we take the last code
+ point.
+
+ Added LayoutTests/fast/text/international/khmar-selection.html
+
+ * platform/graphics/chromium/FontLinux.cpp:
+ (WebCore::Font::offsetForPositionForComplexText):
+
+2009-07-13 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Darin Adler.
+
+ spellcheck="false" is ignored
+ <rdar://problem/7054177>
+
+ * editing/Editor.cpp:
+ (WebCore::markMisspellingsOrBadGrammar): Moved code to check the
+ spellcheck attribute from here...
+ (WebCore::Editor::spellCheckingEnabledInFocusedNode): ...to here.
+ (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Bail out
+ if spell chcking is disabled by the spellcheck attribute.
+ * editing/Editor.h:
+
+2009-07-13 Brent Fulgham <bfulgham@webkit.org>
+
+ Reviewed by Adam Roben.
+
+ Add new configuration flag for redistributable Windows build.
+ https://bugs.webkit.org/show_bug.cgi=27087
+
+ * WebCore.vcproj/WebCore.vcproj: Add new WinCairo.vsprops to
+ Debug_Cairo and Release_Cairo builds.
+ * config.h: Check for presence of WIN_CAIRO and select appropriate
+ configuration. Defaults to standard Apple build.
+
+2009-07-13 Peter Kasting <pkasting@google.com>
+
+ https://bugs.webkit.org/show_bug.cgi?id=19562
+ Back out previous patch for this bug (too many problems).
+
+ * DerivedSources.cpp:
+ * DerivedSources.make:
+ * GNUmakefile.am:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * WebCoreSources.bkl:
+ * html/HTMLButtonElement.idl:
+ * html/HTMLFieldSetElement.idl:
+ * html/HTMLFormControlElement.cpp:
+ * html/HTMLFormControlElement.h:
+ (WebCore::HTMLFormControlElement::form):
+ * html/HTMLInputElement.idl:
+ * html/HTMLSelectElement.idl:
+ * html/HTMLTextAreaElement.idl:
+ * html/ValidityState.cpp: Removed.
+ * html/ValidityState.h: Removed.
+ * html/ValidityState.idl: Removed.
+
+2009-07-13 Nate Chapin <japhet@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Add HTMLAllCollection to WebCore.gypi.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27223
+
+ * WebCore.gypi: Add HTMLAllCollection.
+
+2009-07-13 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ [V8] Add a missing check for constructor call in WebKitCSSMatrixConstructor.
+ https://bugs.webkit.org/show_bug.cgi?id=27218
+
+ Test: fast/css/matrix-as-function-crash.html
+
+ * bindings/v8/custom/V8WebKitCSSMatrixConstructor.cpp:
+ (WebCore::CALLBACK_FUNC_DECL): Added a check for constructor call.
+
+2009-07-13 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
+
+ Unreviewed make dist build fix.
+
+ * GNUmakefile.am:
+
+2009-07-13 Cédric Luthi <cedric.luthi@gmail.com>
+
+ Reviewed by Tor Arne Vestbø.
+
+ Fix NPWindow clip rect in PluginViewMac
+
+ The rect should be in window-coordinates. This bug can be observed
+ with Flash 10 here: http://www.permadi.com/tutorial/cursorTracker/
+
+ * plugins/mac/PluginViewMac.cpp:
+
+2009-07-13 Simon Hausmann <hausmann@webkit.org>
+
+ Reviewed by Ariya Hidayat.
+
+ Fix Qt implementation of WebCore::directoryName to return the absolute
+ directory name instead of the base file name.
+
+ * platform/qt/FileSystemQt.cpp:
+ (WebCore::directoryName):
+
+2009-07-13 Simon Hausmann <hausmann@webkit.org>
+
+ Reviewed by Ariya Hidayat.
+
+ Fix WebCore::Path::isEmpty() for the Qt port to return true
+ if there is no element in the path.
+
+ QPainterPath::isEmpty() returns also true if there is one single
+ MoveTo element inside, which makes sense but doesn't patch Webcore's
+ is-empty definition.
+
+ * platform/graphics/qt/PathQt.cpp:
+ (WebCore::Path::isEmpty): Use elementCount() == 0.
+
+2009-07-13 Albert J. Wong <ajwong@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Upstream fixes to NPV8Object.cpp that make ~30 layout tests pass.
+ https://bugs.webkit.org/show_bug.cgi?id=27127
+
+ There were a number of bugs introduced during the last upstreaming
+ effort that broke around 30 layout tests. This fixes those bugs.
+ It also has compile fixes to match the recent cutting apart of
+ V8Proxy.
+
+ * bindings/v8/NPV8Object.cpp:
+ (freeV8NPObject):
+ (npCreateV8ScriptObject):
+ (NPN_Invoke):
+ (NPN_InvokeDefault):
+ (NPN_EvaluateHelper):
+ (NPN_SetException):
+ (NPN_Construct):
+
+2009-07-13 Mads Ager <ager@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Fix memory leak in the V8 binding layer.
+ https://bugs.webkit.org/show_bug.cgi?id=27163
+
+ Reinitializing the context is not necessary when clearing the proxy for navigation
+ and it will lead us to hold on to an empty context for each frame.
+
+ Test for empty context instead of empty global object handle when
+ updating the document for a context.
+
+ * bindings/v8/V8Proxy.cpp:
+ (WebCore::V8Proxy::clearForNavigation):
+ (WebCore::V8Proxy::updateDocument):
+
+2009-07-13 John Gregg <johnnyg@google.com>
+
+ Reviewed by David Levin.
+
+ Correct the logic to determine if a V8 callback returns a value.
+ https://bugs.webkit.org/show_bug.cgi?id=27155
+
+ * bindings/v8/custom/V8CustomVoidCallback.cpp:
+ (WebCore::invokeCallback):
+ - Don't crash if result.IsEmpty().
+
+2009-07-13 Drew Wilson <atwilson@google.com>
+
+ Reviewed by David Levin.
+
+ Add ENABLE(SHARED_WORKERS) flag and define SharedWorker APIs
+ https://bugs.webkit.org/show_bug.cgi?id=26932
+
+ Initial IDL definition and bindings for SharedWorkers.
+
+ * Configurations/FeatureDefines.xcconfig:
+ Added new files for SharedWorker support.
+ * DerivedSources.make:
+ Added new files for SharedWorker support.
+ * GNUmakefile.am:
+ Added new files for SharedWorker support.
+ * WebCore.gypi:
+ Added new files for SharedWorker support.
+ * WebCore.pro:
+ Added new files for SharedWorker support.
+ * WebCore.xcodeproj/project.pbxproj:
+ Added new files for SharedWorker support.
+ * bindings/js/JSAbstractWorkerCustom.cpp: Added.
+ (WebCore::JSAbstractWorker::mark):
+ Custom mark handler that marks the event listeners.
+ (WebCore::JSAbstractWorker::addEventListener):
+ (WebCore::JSAbstractWorker::removeEventListener):
+ (WebCore::JSAbstractWorker::toJS):
+ Custom toJS handler which differentiates between various subclasses.
+ * bindings/js/JSDOMWindowCustom.cpp:
+ (WebCore::JSDOMWindow::sharedWorker):
+ SharedWorker constructor (only enabled when SHARED_WORKERS is
+ enabled).
+ * bindings/js/JSEventTarget.cpp:
+ (WebCore::toJS):
+ (WebCore::toEventTarget):
+ Added support for converting to/from SharedWorkers.
+ * bindings/js/JSSharedWorkerConstructor.cpp: Added.
+ (WebCore::JSSharedWorkerConstructor::JSSharedWorkerConstructor):
+ (WebCore::constructSharedWorker):
+ (WebCore::JSSharedWorkerConstructor::getConstructData):
+ * bindings/js/JSSharedWorkerConstructor.h: Added.
+ (WebCore::JSSharedWorkerConstructor::classInfo):
+ * bindings/js/JSSharedWorkerCustom.cpp: Added.
+ (WebCore::JSSharedWorker::mark):
+ Custom mark function that marks the internal MessagePort.
+ * bindings/v8/DOMObjectsInclude.h:
+ Updated to include new header files.
+ * bindings/v8/V8Index.cpp:
+ * bindings/v8/V8Index.h:
+ * bindings/v8/custom/V8AbstractWorkerCustom.cpp: Added.
+ (WebCore::getEventListener):
+ (WebCore::ACCESSOR_GETTER):
+ (WebCore::ACCESSOR_SETTER):
+ (WebCore::CALLBACK_FUNC_DECL):
+ V8 handlers for add/removeEventListener().
+ * bindings/v8/custom/V8CustomBinding.h:
+ * bindings/v8/custom/V8SharedWorkerCustom.cpp: Added.
+ (WebCore::CALLBACK_FUNC_DECL):
+ Custom constructor for SharedWorker.
+ * dom/EventTarget.cpp:
+ (WebCore::EventTarget::toSharedWorker):
+ * dom/EventTarget.h:
+ * page/DOMWindow.idl:
+ * workers/AbstractWorker.cpp: Added.
+ (WebCore::AbstractWorker::AbstractWorker):
+ Common base class for SharedWorker and (soon) Worker. The functions below were copied from Worker.cpp.
+ This is the first step in refactoring Worker to derive from AbstractWorker to enable code sharing.
+ (WebCore::AbstractWorker::~AbstractWorker):
+ (WebCore::AbstractWorker::addEventListener):
+ (WebCore::AbstractWorker::removeEventListener):
+ (WebCore::AbstractWorker::dispatchEvent):
+ (WebCore::AbstractWorker::dispatchLoadErrorEvent):
+ (WebCore::AbstractWorker::dispatchScriptErrorEvent):
+ * workers/AbstractWorker.h: Added.
+ Definitions of functionality shared by Worker.h and SharedWorker.h. In a future patch, Worker will derive from AbstractWorker.
+ (WebCore::AbstractWorker::scriptExecutionContext):
+ (WebCore::AbstractWorker::setOnerror):
+ (WebCore::AbstractWorker::onerror):
+ (WebCore::AbstractWorker::eventListeners):
+ (WebCore::AbstractWorker::refEventTarget):
+ (WebCore::AbstractWorker::derefEventTarget):
+ * workers/AbstractWorker.idl: Added.
+ * workers/SharedWorker.cpp: Added.
+ (WebCore::SharedWorker::SharedWorker):
+ (WebCore::SharedWorker::~SharedWorker):
+ * workers/SharedWorker.h: Added.
+ (WebCore::SharedWorker::create):
+ (WebCore::SharedWorker::port):
+ (WebCore::SharedWorker::toSharedWorker):
+ * workers/SharedWorker.idl: Added.
+
+2009-07-13 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Cleanup - Remove prf install target
+ https://bugs.webkit.org/show_bug.cgi?id=27191
+
+ qtwebkit.prf has been removed; this cleans up the related
+ install target as well.
+
+ * WebCore.pro: Remove prf install target
+
+2009-07-12 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Oliver Hunt.
+
+ Facebook Chat is broken due to XSS auditor
+ https://bugs.webkit.org/show_bug.cgi?id=27179
+
+ Instead of just using the script's URL as to detect an XSS attack, we
+ now use a bit of context before the URL. In particular, we use the
+ bytes from the beginning of the attribute name to the end of the
+ attribute value. In virtually all injection attacks, the attacker
+ would need to supply the attribute name as well as the attribute value.
+ However, in the Facebook false positive, the attribute name is not
+ present in the URL.
+
+ Tests: http/tests/security/xssAuditor/script-tag-src-redirect-safe.html
+ http/tests/security/xssAuditor/script-tag-with-source-double-quote.html
+ http/tests/security/xssAuditor/script-tag-with-source-no-quote.html
+
+ * html/HTMLTokenizer.cpp:
+ (WebCore::HTMLTokenizer::parseTag):
+ * html/HTMLTokenizer.h:
+ * page/XSSAuditor.cpp:
+ (WebCore::XSSAuditor::canLoadExternalScriptFromSrc):
+ * page/XSSAuditor.h:
+
+2009-07-12 Keishi Hattori <casey.hattori@gmail.com>
+
+ Reviewed by Timothy Hatcher.
+
+ Refactor ConsoleMessage to add MessageType attribute.
+ https://bugs.webkit.org/show_bug.cgi?id=20625
+
+ * bindings/js/JSCustomXPathNSResolver.cpp:
+ (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
+ * bindings/js/JSDOMWindowBase.cpp:
+ (WebCore::JSDOMWindowBase::printErrorMessage):
+ * dom/Document.cpp:
+ (WebCore::Document::reportException):
+ (WebCore::Document::addMessage):
+ * dom/Document.h:
+ * dom/ScriptExecutionContext.h:
+ * html/HTMLParser.cpp:
+ (WebCore::HTMLParser::reportErrorToConsole):
+ * inspector/ConsoleMessage.cpp:
+ (WebCore::ConsoleMessage::ConsoleMessage):
+ (WebCore::ConsoleMessage::addToConsole):
+ (WebCore::ConsoleMessage::isEqual):
+ * inspector/ConsoleMessage.h:
+ * inspector/InspectorController.cpp:
+ (WebCore::InspectorController::addMessageToConsole):
+ (WebCore::InspectorController::startGroup):
+ (WebCore::InspectorController::endGroup):
+ (WebCore::InspectorController::addProfileFinishedMessageToConsole):
+ (WebCore::InspectorController::addStartProfilingMessageToConsole):
+ (WebCore::InspectorController::count):
+ * inspector/InspectorController.h:
+ * inspector/front-end/Console.js:
+ (WebInspector.Console.prototype.addMessage):
+ (WebInspector.ConsoleMessage): Added type property.
+ (WebInspector.ConsoleMessage.prototype.toMessageElement):
+ (WebInspector.ConsoleMessage.prototype.toString):
+ (WebInspector.ConsoleMessage.prototype.isEqual):
+ (WebInspector.ConsoleCommandResult):
+ (WebInspector.ConsoleGroup.prototype.addMessage):
+ (WebInspector.ConsoleGroup.prototype._titleClicked):
+ * inspector/front-end/Resource.js:
+ (WebInspector.Resource.prototype._addTip):
+ (WebInspector.Resource.prototype._checkWarning):
+ * inspector/front-end/inspector.css: Changed ".console-group-title-level" to ".console-group-title"
+ * inspector/front-end/inspector.js:
+ (WebInspector.addMessageToConsole):
+ * loader/DocLoader.cpp:
+ (WebCore::DocLoader::printAccessDeniedMessage):
+ * loader/EmptyClients.h:
+ (WebCore::EmptyChromeClient::addMessageToConsole):
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::reportLocalLoadFailed):
+ (WebCore::FrameLoader::shouldAllowNavigation):
+ * page/ChromeClient.h:
+ * page/Console.cpp:
+ (WebCore::printMessageSourceAndLevelPrefix):
+ (WebCore::Console::addMessage):
+ (WebCore::Console::error):
+ (WebCore::Console::log):
+ (WebCore::Console::dir):
+ (WebCore::Console::trace):
+ (WebCore::Console::assertCondition):
+ (WebCore::Console::timeEnd):
+ (WebCore::Console::warn):
+ * page/Console.h: Added MessageType enum.
+ (WebCore::):
+ * page/DOMWindow.cpp:
+ (WebCore::DOMWindow::postMessageTimerFired):
+ * page/XSSAuditor.cpp:
+ (WebCore::XSSAuditor::canEvaluate):
+ (WebCore::XSSAuditor::canLoadExternalScriptFromSrc):
+ (WebCore::XSSAuditor::canLoadObject):
+ * svg/SVGDocumentExtensions.cpp:
+ (WebCore::SVGDocumentExtensions::reportWarning):
+ (WebCore::SVGDocumentExtensions::reportError):
+ * wml/WMLErrorHandling.cpp:
+ (WebCore::reportWMLError):
+ * workers/GenericWorkerTask.h: Added GenericWorkerTask8 for the extra argument.
+ (WebCore::GenericWorkerTask8::create):
+ (WebCore::GenericWorkerTask8::GenericWorkerTask8):
+ (WebCore::GenericWorkerTask8::performTask):
+ (WebCore::createCallbackTask):
+ * workers/WorkerContext.cpp:
+ (WebCore::WorkerContext::addMessage):
+ (WebCore::WorkerContext::importScripts):
+ * workers/WorkerContext.h:
+ * workers/WorkerMessagingProxy.cpp:
+ (WebCore::postConsoleMessageTask):
+ (WebCore::WorkerMessagingProxy::postConsoleMessageToWorkerObject):
+ * workers/WorkerMessagingProxy.h:
+ * workers/WorkerObjectProxy.h:
+ * xml/XMLHttpRequest.cpp:
+ (WebCore::reportUnsafeUsage):
+ (WebCore::XMLHttpRequest::didFinishLoading):
+ * xml/XSLTProcessor.cpp:
+ (WebCore::XSLTProcessor::parseErrorFunc):
+
+2009-07-12 Nate Chapin <japhet@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Upstream UndetectableHTMLCollection.idl as HTMLAllCollection.idl.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27132
+
+ * bindings/scripts/CodeGeneratorV8.pm:
+ * bindings/v8/DOMObjectsInclude.h:
+ * bindings/v8/DerivedSourcesAllInOne.cpp:
+ * bindings/v8/V8DOMWrapper.cpp:
+ (WebCore::V8DOMWrapper::getTemplate):
+ (WebCore::V8DOMWrapper::instantiateV8Object):
+ * bindings/v8/V8Index.cpp:
+ * bindings/v8/V8Index.h:
+ * dom/HTMLAllCollection.idl: Added.
+
+2009-07-12 Joseph Pecoraro <joepeck02@gmail.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ Inspector: Duplicate Computation in Autocompletion
+ https://bugs.webkit.org/show_bug.cgi?id=26778
+
+ * inspector/front-end/TextPrompt.js:
+ (WebInspector.TextPrompt.prototype._completionsReady):
+
+2009-07-12 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27196
+ Rename bidi.cpp to RenderBlockLineLayout.cpp and remove bidi.h
+
+ * GNUmakefile.am: Updated.
+ * WebCore.gypi: Updated.
+ * WebCore.pro: Updated.
+ * WebCore.vcproj/WebCore.vcproj: Updated.
+ * WebCore.xcodeproj/project.pbxproj: Updated.
+ * WebCoreSources.bkl: Updated.
+ * rendering/RenderBlock.h: Removed unnecessary forward declaration and
+ updated comments.
+ * rendering/RenderBlockLineLayout.cpp: Copied from WebCore/rendering/bidi.cpp.
+ Removed unnecessary #include statements.
+ (WebCore::BidiRun::BidiRun): Moved here from bidi.h.
+ (WebCore::RenderBlock::layoutInlineChildren): Removed outdated comment.
+ * rendering/bidi.cpp: Removed.
+ * rendering/bidi.h: Removed.
+
+2009-07-12 Dan Bernstein <mitz@apple.com>
+
+ - Windows build fix
+
+ * platform/graphics/cg/PDFDocumentImage.cpp:
+ (WebCore::PDFDocumentImage::dataChanged):
+
+2009-07-12 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ - Image cleanup
+
+ * platform/graphics/BitmapImage.cpp:
+ (WebCore::BitmapImage::destroyDecodedData): Use the data() accessor
+ instead of the m_data member.
+ (WebCore::BitmapImage::dataChanged): Ditto.
+ * platform/graphics/Image.h: Re-ordered #includes and class
+ declarations. Removed the drawPatternCallback() declaration. Made member
+ variables private.
+ * platform/graphics/cg/ImageCG.cpp:
+ (WebCore::drawPatternCallback): Changed this from a member function to a
+ static function.
+ * platform/graphics/cg/PDFDocumentImage.cpp:
+ (WebCore::PDFDocumentImage::dataChanged): Use the data() accessor
+ instead of the m_data member.
+ * svg/graphics/SVGImage.cpp:
+ (WebCore::SVGImage::dataChanged): Ditto.
+
+2009-07-12 Daniel Bates <dbates@intudata.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27189
+
+ Fixes insufficient check in XSSAuditor::canSetBaseElementURL that caused
+ XSSAuditor to incorrectly block HTML Base elements whose base path coincided
+ with the URL of the page.
+
+ Test: http/tests/security/xssAuditor/base-href-safe3.html
+
+ * page/XSSAuditor.cpp:
+ (WebCore::XSSAuditor::canSetBaseElementURL): Changed conditional to only call
+ XSSAuditor::findInRequest() if the host in the page URL disagrees with the host
+ in the base element URL.
+
+2009-07-12 Darin Adler <darin@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Text searching with ICU should take the user's default locale into account
+ https://bugs.webkit.org/show_bug.cgi?id=27184
+ rdar://problem/6812121
+
+ No simple way to test this since it's dependent on user locale.
+ After this, the user's default locale is used only on Mac.
+
+ * editing/TextIterator.cpp:
+ (WebCore::createSearcher): Pass result of the currentSearchLocaleID
+ function as the locale.
+
+ * platform/text/TextBreakIteratorInternalICU.h: Added declaration of
+ currentSearchLocaleID function.
+
+ * platform/text/android/TextBreakIteratorInternalICU.cpp:
+ (WebCore::currentSearchLocaleID): Added. Returns the empty string.
+ * platform/text/chromium/TextBreakIteratorInternalICUChromium.cpp:
+ (WebCore::currentSearchLocaleID): Ditto.
+ * platform/text/gtk/TextBreakIteratorInternalICUGtk.cpp:
+ (WebCore::currentSearchLocaleID): Ditto.
+
+ * platform/text/mac/TextBreakIteratorInternalICUMac.mm:
+ (WebCore::textBreakLocalePreference): Added. Returns the value of
+ the AppleTextBreakLocale preference.
+ (WebCore::topLanguagePreference): Added. Returns the value of the
+ first item in the AppleLanguages preference.
+ (WebCore::canonicalLanguageIdentifier): Added. Cover for the
+ CFLocaleCreateCanonicalLanguageIdentifierFromString function.
+ (WebCore::getLocale): Added. Transfers the locale from a CFStringRef
+ into a buffer.
+ (WebCore::getSearchLocale): Added. Calls topLanguagePreference,
+ canonicalLanguageIdentifier, and getLocale.
+ (WebCore::currentSearchLocaleID): Added. Calls getSearchLocale once.
+ (WebCore::getTextBreakLocale): Changed to call
+ textBreakLocalePreference, topLanguagePreference,
+ canonicalLanguageIdentifier, and getLocale.
+
+ * platform/text/win/TextBreakIteratorInternalICUWin.cpp:
+ (WebCore::currentSearchLocaleID): Added. Returns the empty string.
+ * platform/wx/TemporaryLinkStubs.cpp:
+ (WebCore::currentSearchLocaleID): Ditto.
+
+2009-07-12 Xan Lopez <xlopez@igalia.com>
+
+ Reviewed by Gustavo Noronha.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25415
+ [GTK][ATK] Please implement support for get_text_at_offset
+
+ Create a PangoLayout that properly represents the visual
+ appearance of the text in the web page so that the line boundary
+ modes of getText{At,Before,After}Offset work correctly.
+
+ * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
+ (UTF16ToUTF8):
+ (g_substr):
+ (convertUniCharToUTF8):
+ (getPangoLayoutForAtk):
+
+2009-07-11 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ Bug 27187 - Match Gecko behaviour for canvas path mutation APIs on an empty path
+ <https://bugs.webkit.org/show_bug.cgi?id=27187>
+
+ Simple API change, check for the empty path and add appropriate point if necessary.
+
+ Test: fast/canvas/canvas-modify-emptyPath.html
+
+ * Info.plist:
+ * WebCore.xcodeproj/project.pbxproj:
+ * html/CanvasRenderingContext2D.cpp:
+ (WebCore::CanvasRenderingContext2D::lineTo):
+ (WebCore::CanvasRenderingContext2D::quadraticCurveTo):
+ (WebCore::CanvasRenderingContext2D::bezierCurveTo):
+
+2009-07-11 Eric Carlson <eric.carlson@apple.com>
+
+ Reviewed by Antti Koivisto.
+
+ HTMLMediaElement.canPlayType "maybe" and "probably" reversed
+ https://bugs.webkit.org/show_bug.cgi?id=27186
+
+ * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
+ (WebCore::MediaPlayerPrivate::supportsType):
+ Return "probably" if type has codecs parameter.
+
+ * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
+ (WebCore::MediaPlayerPrivate::supportsType):
+ Ditto.
+
+ * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
+ (WebCore::MediaPlayerPrivate::supportsType):
+ Ditto.
+
+2009-07-11 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Mark Rowe.
+
+ A worker-thread inspired follow-up for:
+ https://bugs.webkit.org/show_bug.cgi?id=26496 and <rdar://problem/7046520>
+ REGRESSION: XHR stream connection blocks iFrame loading and resource downloading
+
+ * xml/XMLHttpRequest.cpp:
+ (WebCore::XMLHttpRequest::loadRequestAsynchronously): Don't perform the XHR compensation when the XHR
+ is running on a worker thread. Accessing the global Cache data structures from a non-main thread is
+ not currently supported.
+
+2009-07-11 Simon Fraser <simon.fraser@apple.com>
+
+ Enable support for accelerated compositing and 3d transforms on Leopard.
+ <https://bugs.webkit.org/show_bug.cgi?id=20166>
+ <rdar://problem/6120614>
+
+ Reviewed by Oliver Hunt.
+
+ * Configurations/FeatureDefines.xcconfig:
+
+2009-07-11 Simon Hausmann <hausmann@webkit.org>
+
+ Fix the Qt build after r45724.
+
+ * bridge/qt/qt_instance.cpp:
+ (JSC::Bindings::QtRuntimeObjectImp::QtRuntimeObjectImp):
+ * bridge/qt/qt_runtime.cpp:
+ (JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod):
+
+2009-07-10 Daniel Bates <dbates@intudata.com>
+
+ Reviewed by Adam Barth.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26921
+
+ Implements support for HTML entities, so XSSAuditor can protect against attacks
+ encoded with HTML entities.
+
+ Tests: http/tests/security/xssAuditor/inline-event-HTML-entities.html
+ http/tests/security/xssAuditor/javascript-link-HTML-entities-control-char.html
+ http/tests/security/xssAuditor/javascript-link-HTML-entities-named.html
+ http/tests/security/xssAuditor/javascript-link-HTML-entities-null-char.html
+ http/tests/security/xssAuditor/javascript-link-HTML-entities.html
+ http/tests/security/xssAuditor/link-onclick-entities.html
+ http/tests/security/xssAuditor/script-tag-entities.html
+ http/tests/security/xssAuditor/script-tag-with-source-entities.html
+
+ * page/XSSAuditor.cpp:
+ (WebCore::XSSAuditor::canEvaluate):
+ (WebCore::XSSAuditor::canEvaluateJavaScriptURL):
+ (WebCore::XSSAuditor::decodeURL): Modified to call WebCore::XSSAuditor::decodeHTMLEntities
+ to decode HTML entities.
+ (WebCore::XSSAuditor::decodeHTMLEntities): Added method to decode HTML entities.
+ (WebCore::XSSAuditor::findInRequest):
+ * page/XSSAuditor.h:
+
+2009-07-10 David Kilzer <ddkilzer@apple.com>
+
+ Bug 27007: Build fixes when ICONDATABASE is disabled
+
+ <https://bugs.webkit.org/show_bug.cgi?id=27007>
+
+ Reviewed by Sam Weinig.
+
+ * WebCore.xcodeproj/project.pbxproj: Added IconDatabaseNone.cpp
+ to the project.
+ * loader/icon/IconDatabase.cpp: Added
+ #if ENABLE(ICONDATABASE)/#endif macro guard.
+ * loader/icon/IconDatabase.h: Removed three public methods from
+ #if ENABLE(ICONDATABASE)/#endif macro so that they may be
+ stubbed out in IconDatabaseNone.cpp.
+ * loader/icon/IconDatabaseNone.cpp: Added
+ #if !ENABLE(ICONDATABASE)/#endif macro guard.
+ (WebCore::IconDatabase::importIconURLForPageURL): Added.
+ (WebCore::IconDatabase::importIconDataForIconURL): Added.
+ (WebCore::IconDatabase::shouldStopThreadActivity): Added.
+
+2009-07-10 Daniel Bates <dbates@intudata.com>
+
+ Reviewed by Adam Barth.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27151
+
+ Fixes issue where JavaScript URLs that contain null- and non-null control characters can
+ bypass XSSAuditor.
+
+ Tests: http/tests/security/xssAuditor/javascript-link-control-char.html
+ http/tests/security/xssAuditor/javascript-link-null-char.html
+ http/tests/security/xssAuditor/javascript-link.html
+
+ * bindings/js/ScriptController.cpp:
+ (WebCore::ScriptController::evaluate): Separated out logic for JavaScript URLs from
+ inline scripts. For JavaScript URLs, calls XSSAuditor::canEvaluateJavaScriptURL.
+ * bindings/v8/ScriptController.cpp:
+ (WebCore::ScriptController::evaluate): Made similar changes to evaluate() as in
+ bindings/js/ScriptController.cpp.
+ * page/XSSAuditor.cpp:
+ (WebCore::XSSAuditor::canEvaluateJavaScriptURL): Separated out logic for JavaScript URLs
+ into its own method.
+ * page/XSSAuditor.h:
+
+2009-07-10 Shinichiro Hamaji <hamaji@chromium.org>
+
+ Reviewed by David Kilzer.
+
+ WebKit needs a style linting tool
+ https://bugs.webkit.org/show_bug.cgi?id=25884
+
+ Fix bunch of style issues by autofix of cpplint.
+ This patch is created to demonstrate the autofix of cpplint.py.
+
+ No new testcases because it's a style fix
+
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::parseMediaQuery):
+ (WebCore::CSSParser::validUnit):
+ (WebCore::CSSParser::parseValue):
+ (WebCore::skipCommaInDashboardRegion):
+ (WebCore::CSSParser::parseDashboardRegions):
+ (WebCore::ShadowParseContext::commitValue):
+ (WebCore::ShadowParseContext::commitLength):
+ (WebCore::ShadowParseContext::commitColor):
+ (WebCore::BorderImageParseContext::commitNumber):
+ (WebCore::BorderImageParseContext::commitWidth):
+ (WebCore::BorderImageParseContext::commitRule):
+ (WebCore::BorderImageParseContext::commitBorderImage):
+ (WebCore::CSSParser::lex):
+ (WebCore::CSSParser::text):
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::applyProperty):
+ * css/MediaList.cpp:
+ (WebCore::MediaList::deleteMedium):
+ * css/MediaQuery.h:
+ * css/MediaQueryEvaluator.cpp:
+ (WebCore::parseAspectRatio):
+ * css/MediaQueryEvaluator.h:
+ * css/MediaQueryExp.h:
+ (WebCore::MediaQueryExp::operator==):
+ * css/WebKitCSSMatrix.h:
+ * dom/Comment.h:
+ * dom/Document.cpp:
+ (WebCore::Document::setFocusedNode):
+ * dom/Document.h:
+ (WebCore::Document::setHasDashboardRegions):
+ * dom/DocumentFragment.cpp:
+ (WebCore::DocumentFragment::nodeName):
+ * dom/DocumentFragment.h:
+ * dom/DynamicNodeList.h:
+ * dom/EditingText.h:
+ * dom/Element.cpp:
+ (WebCore::Element::dispatchAttrAdditionEvent):
+ * dom/NamedAttrMap.cpp:
+ (WebCore::NamedNodeMap::item):
+ * dom/Node.cpp:
+ (WebCore::Node::nodeValue):
+ (WebCore::Node::nodeIndex):
+ * dom/NodeRareData.h:
+ (WebCore::NodeListsNodeData::create):
+ * dom/Notation.h:
+ * dom/ProcessingInstruction.h:
+ * dom/Range.cpp:
+ (WebCore::Range::processContents):
+ * dom/StyledElement.cpp:
+ (WebCore::toHex):
+ * dom/XMLTokenizerLibxml2.cpp:
+ (WebCore::PendingCallbacks::PendingStartElementNSCallback::~PendingStartElementNSCallback):
+ (WebCore::PendingCallbacks::PendingStartElementNSCallback::call):
+ (WebCore::PendingCallbacks::):
+ (WebCore::OffsetBuffer::readOutBytes):
+ (WebCore::handleElementNamespaces):
+ (WebCore::handleElementAttributes):
+ (WebCore::attributesStartElementNsHandler):
+ * dom/XMLTokenizerQt.cpp:
+ (WebCore::attributesStartElementNsHandler):
+ (WebCore::XMLTokenizer::parseStartElement):
+ * editing/ApplyStyleCommand.cpp:
+ (WebCore::ApplyStyleCommand::applyInlineStyle):
+ * editing/DeleteSelectionCommand.cpp:
+ (WebCore::DeleteSelectionCommand::removeNode):
+ * editing/Editor.cpp:
+ (WebCore::Editor::pasteAsPlainText):
+ * editing/SelectionController.cpp:
+ (WebCore::SelectionController::directionOfEnclosingBlock):
+ * editing/SmartReplaceICU.cpp:
+ (WebCore::addAllCodePoints):
+ * history/HistoryItem.cpp:
+ (WebCore::HistoryItem::icon):
+ (WebCore::HistoryItem::adoptVisitCounts):
+ * html/CanvasStyle.cpp:
+ (WebCore::CanvasStyle::applyFillColor):
+ * html/HTMLAnchorElement.cpp:
+ (WebCore::HTMLAnchorElement::setActive):
+ (WebCore::HTMLAnchorElement::isLiveLink):
+ * html/HTMLAppletElement.h:
+ * html/HTMLAudioElement.h:
+ * html/HTMLBRElement.h:
+ * html/HTMLBaseElement.h:
+ * html/HTMLBaseFontElement.h:
+ * html/HTMLDListElement.h:
+ * html/HTMLDirectoryElement.h:
+ * html/HTMLFieldSetElement.cpp:
+ (WebCore::HTMLFieldSetElement::HTMLFieldSetElement):
+ * html/HTMLFormElement.cpp:
+ (WebCore::HTMLFormElement::reset):
+ * html/HTMLHRElement.cpp:
+ (WebCore::HTMLHRElement::parseMappedAttribute):
+ * html/HTMLHeadElement.h:
+ * html/HTMLHtmlElement.h:
+ * html/HTMLImageElement.h:
+ (WebCore::HTMLImageElement::setLoadManually):
+ * html/HTMLInputElement.cpp:
+ (WebCore::HTMLInputElement::selection):
+ * html/HTMLIsIndexElement.h:
+ * html/HTMLMarqueeElement.cpp:
+ * html/HTMLMediaElement.h:
+ (WebCore::HTMLMediaElement::):
+ * html/HTMLMenuElement.h:
+ * html/HTMLMetaElement.h:
+ * html/HTMLModElement.h:
+ * html/HTMLOListElement.h:
+ * html/HTMLOptionElement.cpp:
+ (WebCore::HTMLOptionElement::childrenChanged):
+ * html/HTMLParamElement.h:
+ * html/HTMLQuoteElement.h:
+ * html/HTMLStyleElement.h:
+ * html/HTMLTableCaptionElement.h:
+ * html/HTMLTableCellElement.h:
+ * html/HTMLTableColElement.h:
+ * html/HTMLTableSectionElement.cpp:
+ (WebCore::HTMLTableSectionElement::deleteRow):
+ * html/HTMLTitleElement.h:
+ * html/HTMLTokenizer.cpp:
+ (WebCore::HTMLTokenizer::parseNonHTMLText):
+ (WebCore::HTMLTokenizer::parseEntity):
+ (WebCore::HTMLTokenizer::parseTag):
+ (WebCore::HTMLTokenizer::write):
+ * html/HTMLUListElement.h:
+ * html/HTMLVideoElement.h:
+ * html/TimeRanges.h:
+ (WebCore::TimeRanges::Range::Range):
+ * inspector/InspectorController.cpp:
+ (WebCore::InspectorController::enableResourceTracking):
+ (WebCore::InspectorController::disableResourceTracking):
+ * inspector/InspectorFrontend.cpp:
+ (WebCore::InspectorFrontend::newInspectorJSONObject):
+ * page/Console.cpp:
+ (WebCore::Console::addMessage):
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::handleMousePressEvent):
+ (WebCore::EventHandler::selectCursor):
+ (WebCore::EventHandler::defaultKeyboardEventHandler):
+ * page/Frame.cpp:
+ (WebCore::Frame::jsDefaultStatusBarText):
+ * page/android/DragControllerAndroid.cpp:
+ (WebCore::DragController::dragOperation):
+ * page/android/EventHandlerAndroid.cpp:
+ (WebCore::EventHandler::tabsToAllControls):
+ (WebCore::EventHandler::eventActivatedView):
+ * page/animation/AnimationController.cpp:
+ (WebCore::AnimationControllerPrivate::updateStyleIfNeededDispatcherFired):
+ * page/gtk/DragControllerGtk.cpp:
+ (WebCore::DragController::dragOperation):
+ * page/qt/DragControllerQt.cpp:
+ * page/win/DragControllerWin.cpp:
+ (WebCore::DragController::isCopyKeyDown):
+ * page/win/FrameWin.h:
+ * rendering/RenderSlider.cpp:
+ (WebCore::RenderSlider::mouseEventOffsetToThumb):
+ * rendering/style/RenderStyle.h:
+ (WebCore::InheritedFlags::setVerticalAlignLength):
+ (WebCore::InheritedFlags::setUnicodeBidi):
+ (WebCore::InheritedFlags::setCursor):
+ * rendering/style/RenderStyleConstants.h:
+ (WebCore::):
+ * rendering/style/SVGRenderStyleDefs.h:
+ * rendering/style/StyleInheritedData.h:
+ (WebCore::StyleInheritedData::operator!=):
+ * storage/DatabaseTask.h:
+ * svg/GradientAttributes.h:
+ * svg/LinearGradientAttributes.h:
+ * svg/PatternAttributes.h:
+ * svg/RadialGradientAttributes.h:
+ * svg/SVGAnimatedPathData.h:
+ * svg/SVGAnimatedPoints.h:
+ * svg/SVGAnimationElement.h:
+ * svg/SVGClipPathElement.h:
+ * svg/SVGElementInstance.h:
+ * svg/SVGFEBlendElement.cpp:
+ (WebCore::SVGFEBlendElement::build):
+ * svg/SVGFEBlendElement.h:
+ * svg/SVGFEColorMatrixElement.cpp:
+ (WebCore::SVGFEColorMatrixElement::build):
+ * svg/SVGFEComponentTransferElement.cpp:
+ (WebCore::SVGFEComponentTransferElement::build):
+ * svg/SVGFECompositeElement.cpp:
+ (WebCore::SVGFECompositeElement::build):
+ * svg/SVGFEDiffuseLightingElement.cpp:
+ (WebCore::SVGFEDiffuseLightingElement::build):
+ * svg/SVGFEDisplacementMapElement.cpp:
+ (WebCore::SVGFEDisplacementMapElement::build):
+ * svg/SVGFEDistantLightElement.h:
+ * svg/SVGFEFloodElement.cpp:
+ (WebCore::SVGFEFloodElement::build):
+ * svg/SVGFEFloodElement.h:
+ * svg/SVGFEFuncAElement.h:
+ * svg/SVGFEFuncBElement.h:
+ * svg/SVGFEFuncGElement.h:
+ * svg/SVGFEFuncRElement.h:
+ * svg/SVGFEGaussianBlurElement.cpp:
+ (WebCore::SVGFEGaussianBlurElement::build):
+ * svg/SVGFEImageElement.cpp:
+ (WebCore::SVGFEImageElement::build):
+ * svg/SVGFEMergeElement.cpp:
+ (WebCore::SVGFEMergeElement::build):
+ * svg/SVGFEOffsetElement.cpp:
+ (WebCore::SVGFEOffsetElement::build):
+ * svg/SVGFEPointLightElement.h:
+ * svg/SVGFESpecularLightingElement.cpp:
+ (WebCore::SVGFESpecularLightingElement::build):
+ * svg/SVGFESpotLightElement.h:
+ * svg/SVGFETileElement.cpp:
+ (WebCore::SVGFETileElement::build):
+ * svg/SVGLineElement.cpp:
+ (WebCore::SVGLineElement::parseMappedAttribute):
+ * svg/SVGList.h:
+ * svg/SVGListTraits.h:
+ (WebCore::):
+ * svg/SVGMPathElement.h:
+ * svg/SVGMetadataElement.h:
+ * svg/SVGParserUtilities.cpp:
+ (WebCore::SVGPathParser::parseSVG):
+ (WebCore::SVGPathParser::calculateArc):
+ * svg/SVGPathElement.h:
+ * svg/SVGPathSegClosePath.h:
+ * svg/SVGSVGElement.h:
+ * svg/SVGSetElement.h:
+ * svg/SVGSwitchElement.h:
+ * svg/SVGTextPathElement.cpp:
+ (WebCore::SVGTextPathElement::parseMappedAttribute):
+ * svg/SVGTextPathElement.h:
+ * svg/SVGTitleElement.h:
+ * svg/SVGTransformable.cpp:
+ (WebCore::):
+ * svg/SVGViewSpec.cpp:
+ (WebCore::):
+ * svg/animation/SMILTime.cpp:
+ (WebCore::operator+):
+ (WebCore::operator-):
+ (WebCore::operator*):
+ * svg/animation/SVGSMILElement.h:
+ * svg/graphics/SVGResource.cpp:
+ (WebCore::clientMap):
+ * wml/WMLPostfieldElement.cpp:
+ (WebCore::WMLPostfieldElement::value):
+ * wml/WMLSetvarElement.cpp:
+ (WebCore::WMLSetvarElement::value):
+ * workers/WorkerRunLoop.cpp:
+ * xml/XMLHttpRequest.cpp:
+ (WebCore::XMLHttpRequest::dropProtection):
+ * xml/XPathPath.h:
+
+2009-07-10 Eric Carlson <eric.carlson@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ <rdar://problem/7049066>.
+ Update SnowLeopard media controller layout.
+
+ * css/mediaControlsQT.css:
+ Update for new layout.
+ * html/HTMLMediaElement.cpp:
+ (WebCore::HTMLMediaElement::movieLoadType):
+ Added to replace isStreaming.
+ * html/HTMLMediaElement.h:
+ Declare movieLoadType, remove isStreaming.
+
+ * rendering/MediaControlElements.cpp:
+ (WebCore::MediaControlStatusDisplayElement::update):
+ Use movieLoadType instead of isStreaming.
+ (WebCore::MediaControlTimelineContainerElement::rendererIsNeeded):
+ MediaControlElement is the base class, not HTMLInputElement.
+ (WebCore::MediaControlStatusDisplayElement::rendererIsNeeded):
+ Ditto.
+ (WebCore::MediaControlRewindButtonElement::rendererIsNeeded):
+ Don't display rewind button for live streams.
+ (WebCore::MediaControlReturnToRealtimeButtonElement::rendererIsNeeded):
+ MediaControlInputElement is the base class, not HTMLInputElement.
+ * rendering/MediaControlElements.h:
+
+ * rendering/RenderThemeMac.h:
+ * rendering/RenderThemeMac.mm:
+ (WebCore::getMediaUIPartStateFlags):
+ New, return wkDrawMediaUIPart flags.
+ (WebCore::RenderThemeMac::paintMediaFullscreenButton):
+ (WebCore::RenderThemeMac::paintMediaMuteButton):
+ (WebCore::RenderThemeMac::paintMediaPlayButton):
+ (WebCore::RenderThemeMac::paintMediaSeekBackButton):
+ (WebCore::RenderThemeMac::paintMediaSeekForwardButton):
+ (WebCore::RenderThemeMac::paintMediaSliderTrack):
+ (WebCore::RenderThemeMac::paintMediaSliderThumb):
+ (WebCore::RenderThemeMac::paintMediaRewindButton):
+ (WebCore::RenderThemeMac::paintMediaReturnToRealtimeButton):
+ (WebCore::RenderThemeMac::paintMediaControlsBackground):
+ (WebCore::RenderThemeMac::paintMediaCurrentTime):
+ (WebCore::RenderThemeMac::paintMediaTimeRemaining):
+ Use getMediaUIPartStateFlags.
+
+2009-07-10 Michelangelo De Simone <micdesim@gmail.com>
+
+ Reviewed by Adele Peterson.
+
+ https://bugs.webkit.org/show_bug.cgi?id=19562
+ Added build stuff and stub for the ValidityState class, part of HTML5
+ section Forms:
+ http://www.whatwg.org/specs/web-apps/current-work/multipage/forms.html#validitystate
+
+ Test: fast/forms/ValidityState-001.html
+
+ * DerivedSources.cpp: Fix aimed to include ValidityState files
+ * DerivedSources.make: ditto
+ * GNUmakefile.am: ditto
+ * WebCore.gypi: ditto
+ * WebCore.pro: ditto
+ * WebCore.vcproj/WebCore.vcproj: ditto
+ * WebCore.xcodeproj/project.pbxproj: ditto
+ * WebCoreSources.bkl: ditto
+ * html/HTMLButtonElement.idl: "validity" attribute
+ * html/HTMLFieldSetElement.idl: ditto
+ * html/HTMLFormControlElement.cpp: object getter
+ (WebCore::HTMLFormControlElement::validity):
+ * html/HTMLFormControlElement.h: ditto
+ * html/HTMLInputElement.idl: "validity" attribute
+ * html/HTMLSelectElement.idl: ditto
+ * html/HTMLTextAreaElement.idl: ditto
+ * html/ValidityState.cpp: Added.
+ (WebCore::ValidityState::ValidityState):
+ (WebCore::ValidityState::valid): validation flag
+ * html/ValidityState.h: Added.
+ (WebCore::ValidityState::create): creation routine
+ (WebCore::ValidityState::control): ValidityState's parent getter
+ (WebCore::ValidityState::valueMissing): validation flag
+ (WebCore::ValidityState::typeMismatch): ditto
+ (WebCore::ValidityState::patternMismatch): ditto
+ (WebCore::ValidityState::tooLong): ditto
+ (WebCore::ValidityState::rangeUnderflow): ditto
+ (WebCore::ValidityState::rangeOverflow): ditto
+ (WebCore::ValidityState::stepMismatch): ditto
+ (WebCore::ValidityState::customError): ditto
+ * html/ValidityState.idl: Added.
+
+2009-07-10 Brady Eidson <beidson@apple.com>
+
+ Style cleanup over my last patch.
+
+ * xml/XMLHttpRequest.cpp:
+ (WebCore::XMLHttpRequest::~XMLHttpRequest):
+
+2009-07-10 Kevin McCullough <kmccullough@apple.com>
+
+ Reviewed by Geoffrey Garen.
+
+ * inspector/JavaScriptCallFrame.cpp:
+ (WebCore::JavaScriptCallFrame::dynamicGlobalObject):
+ * inspector/JavaScriptCallFrame.h: New helper method, used below.
+
+ * inspector/JavaScriptDebugServer.cpp:
+ (WebCore::JavaScriptDebugServer::detach): In the special case
+ where we detach from a window currently executing JavaScript,
+ manually tear down our representation of the JavaScript
+ call stack, since we won't get any more callbacks from JavaScriptCore
+ to automatically tear it down. It's too bad that WebCore is
+ responsible for this kind of tracking -- in the future, it would
+ be nice if more of the breakpoint handling was inside of JavaScriptCore.
+
+2009-07-10 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Antti Koivisto.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26496 and <rdar://problem/7046520>
+ REGRESSION: XHR stream connection blocks iFrame loading and resource downloading
+
+ With this test we ended up going over the maximum-connections-per-host limit that CFNetwork expected.
+ When that happened, the first request that was over the limit ended up in a bizarre state where it
+ wasn't fully serviced until after the long running XHR was complete.
+
+ Loader and Loader::Host work together to try to not exceed the max-connection limit but non-cache
+ resources - such as XHR - could still end up causing this limit to be exceeded.
+
+ This fix adds a workaround specifically for XHR while we hash out a more thorough solution that will
+ handle this at the resource handle level.
+
+ * loader/loader.cpp:
+ (WebCore::Loader::nonCacheRequestInFlight):
+ (WebCore::Loader::nonCacheRequestComplete):
+ (WebCore::Loader::Host::Host):
+ (WebCore::Loader::Host::nonCacheRequestInFlight):
+ (WebCore::Loader::Host::nonCacheRequestComplete):
+ (WebCore::Loader::Host::servePendingRequests): Take nonCacheRequestsInFlight into account.
+ * loader/loader.h:
+ (WebCore::Loader::Host::processingResource): Take nonCacheRequestsInFlight into account.
+
+ * xml/XMLHttpRequest.cpp:
+ (WebCore::XMLHttpRequest::XMLHttpRequest):
+ (WebCore::XMLHttpRequest::~XMLHttpRequest):
+ (WebCore::XMLHttpRequest::loadRequestAsynchronously): Bump the nonCacheRequestInFlight count.
+ (WebCore::XMLHttpRequest::didFail): Decrement that count if the Loader was notified.
+ (WebCore::XMLHttpRequest::didFinishLoading): Ditto.
+
+2009-07-10 Antti Koivisto <antti@apple.com>
+
+ Try to unbreak non-Mac build.
+
+ * page/ChromeClient.h:
+ (WebCore::ChromeClient::formDidFocus):
+ (WebCore::ChromeClient::formDidBlur):
+
+2009-07-10 Beth Dakin <bdakin@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ The rest of the fix for <rdar://problem/7038831> REGRESSION (TOT):
+ In Mail, a crash occurs at WebCore::Widget::afterMouseDown() after
+ clicking To Do's close box
+
+ Make the Widget* in passMouseDownEventToWidget() a RefPtr.
+
+ * page/mac/EventHandlerMac.mm:
+ (WebCore::EventHandler::passMouseDownEventToWidget):
+
+2009-07-10 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ rename getDOMStructure calls w/o JSGlobalObject* to deprecatedGetDOMStructure
+ https://bugs.webkit.org/show_bug.cgi?id=27157
+
+ This is the first step to fixing
+ https://bugs.webkit.org/show_bug.cgi?id=27088
+
+ * WebCore.xcodeproj/project.pbxproj:
+ * bindings/js/JSDOMBinding.h:
+ (WebCore::deprecatedGetDOMStructure):
+ (WebCore::createDOMObjectWrapper):
+ (WebCore::createDOMNodeWrapper):
+ * bindings/js/JSNamedNodesCollection.cpp:
+ (WebCore::JSNamedNodesCollection::JSNamedNodesCollection):
+ * bindings/js/JSRGBColor.cpp:
+ (WebCore::JSRGBColor::JSRGBColor):
+ * bridge/objc/objc_runtime.mm:
+ (JSC::Bindings::ObjcFallbackObjectImp::ObjcFallbackObjectImp):
+ * bridge/runtime_array.cpp:
+ (JSC::RuntimeArray::RuntimeArray):
+ * bridge/runtime_method.cpp:
+ (JSC::RuntimeMethod::RuntimeMethod):
+ * bridge/runtime_object.cpp:
+ (JSC::RuntimeObjectImp::RuntimeObjectImp):
+
+2009-07-10 Greg Bolsinga <bolsinga@apple.com>
+
+ Reviewed by Antti Koivisto.
+
+ Add delegate methods about focus and blur and state change
+ https://bugs.webkit.org/show_bug.cgi?id=27153
+
+ Call the appropriate new ChromeClient methods for focus and blur.
+
+ * html/HTMLFormControlElement.cpp:
+ (WebCore::HTMLFormControlElement::dispatchFocusEvent):
+ (WebCore::HTMLFormControlElement::dispatchBlurEvent):
+ * html/HTMLFormControlElement.h:
+ * loader/EmptyClients.h:
+ (WebCore::EmptyChromeClient::formDidFocus):
+ (WebCore::EmptyChromeClient::formDidBlur):
+ * page/ChromeClient.h:
+
+2009-07-10 Steve Falkenburg <sfalken@apple.com>
+
+ <rdar://problem/7048741> REGRESSION: Error about missing SwMenuX.dll opening pages with Shockwave
+
+ Use altered search path while loading plug-ins. This modifies the DLL search order
+ to look in the directory containing the plug-in even if a call to SetDllDirectory
+ was previously made. Use of SetDllDirectory removes the current directory from the search path,
+ breaking the previous strategy for locating any dependent DLLs of the plug-in.
+
+ Reviewed by Jon Honeycutt.
+
+ * plugins/win/PluginPackageWin.cpp:
+ (WebCore::PluginPackage::load): Use LoadLibraryEx with LOAD_WITH_ALTERED_SEARCH_PATH
+
+2009-07-10 Adam Roben <aroben@apple.com>
+
+ Sort all our Xcode projects
+
+ Accomplished using sort-Xcode-project-file.
+
+ Requested by Dave Kilzer.
+
+ * WebCore.xcodeproj/project.pbxproj:
+
+2009-07-10 Adam Langley <agl@google.com>
+
+ Reviewed by Darin Fisher.
+
+ Chromium Linux: use disabled images for disabled widgets.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27106
+
+ Previously, checkboxes and radio controls rendered the same even if disabled.
+ The Chromium side of this change is r20224.
+
+ * rendering/RenderThemeChromiumSkia.cpp:
+ (WebCore::RenderThemeChromiumSkia::paintCheckbox):
+ (WebCore::RenderThemeChromiumSkia::paintRadio):
+
+2009-07-10 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by John Sullivan.
+
+ Fix crash when changing the zoom level in http://iphone.akamai.com/
+ <rdar://problem/7029077>
+
+ RenderLayerBacking's paintIntoLayer() method called updateLayerListsIfNeeded(),
+ which could potentially destroy that compositing layer, causing a crash.
+ Prevent this from happening by not doing a compositing update from paintIntoLayer().
+
+ The existing updateLayerListsIfNeeded() was renamed to updateCompositingAndLayerListsIfNeeded(),
+ and still does the compositing update. The new updateLayerListsIfNeeded() does not touch
+ compositing layers, and is still called from paintIntoLayer().
+
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::paintLayer):
+ (WebCore::RenderLayer::hitTestLayer):
+ (WebCore::RenderLayer::updateLayerListsIfNeeded):
+ (WebCore::RenderLayer::updateCompositingAndLayerListsIfNeeded):
+ * rendering/RenderLayer.h:
+
+2009-07-10 Drew Wilson <atwilson@google.com>
+
+ Reviewed by Darin Adler.
+
+ Need to remove UsesManualToJSImplementation() in favor of CustomToJS.
+ https://bugs.webkit.org/show_bug.cgi?id=27010
+
+ Added support for CustomToJS IDL attribute to replace the hard-coded class list in UsesManualToJSImplementation().
+
+ This is just a cleanup of existing functionality, so existing LayoutTests adequately cover this patch.
+
+ * bindings/scripts/CodeGeneratorJS.pm:
+ Removed UsesManualToJSImplementation(), added support for CustomToJS attribute.
+ * css/CSSRule.idl:
+ * css/CSSValue.idl:
+ * css/StyleSheet.idl:
+ * dom/Document.idl:
+ * dom/Event.idl:
+ * dom/Node.idl:
+ * html/ImageData.idl:
+ * svg/SVGElementInstance.idl:
+ * svg/SVGPathSeg.idl:
+ Added CustomToJS attribute to all the above IDL files.
+
+2009-07-10 Dan Bernstein <mitz@apple.com>
+
+ - fix the build by reverting the ill-advised r45711
+
+ * page/FrameView.cpp:
+ (WebCore::FrameView::scrollToAnchor):
+
+2009-07-09 Brian Weinstein <bweinstein@apple.com>
+
+ Reviewed by Tim Hatcher.
+
+ Updated WebCore.base.exp to add some needed functions.
+
+ * WebCore.base.exp:
+
+2009-07-10 Dan Bernstein <mitz@apple.com>
+
+ - address a review comment from Simon Fraser which I forgot to include
+ in the last check-in
+
+ * page/FrameView.cpp:
+ (WebCore::FrameView::scrollToAnchor): Pass true to getRect() for
+ maximum transform friendliness!
+
+2009-07-10 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ - fix https://bugs.webkit.org/show_bug.cgi?id=27137
+ <rdar://problem/7043124> REGRESSION (r44311): Reproducible crash due
+ to infinite recursion into FrameLoader::gotoAnchor() ->
+ FrameView::layout()
+
+ Test: fast/loader/goto-anchor-infinite-layout.html
+
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::gotoAnchor): Moved the code to update layout,
+ find the renderer to scroll to, and scroll from here to methods on
+ FrameView, and replaced it with a call to
+ FrameView::maintainScrollPositionAtAnchor().
+ (WebCore::FrameLoader::completed): Call maintainScrollPositionAtAnchor()
+ instead of setLockedToAnchor().
+
+ * page/FrameView.cpp:
+ (WebCore::FrameView::FrameView): Removed initialization of
+ m_lockedToAnchor.
+ (WebCore::FrameView::reset): Reset m_maintainScrollPositionAnchor instead
+ of m_lockedToAnchor.
+ (WebCore::FrameView::layout): Removed the code related to scrolling to
+ the anchor from here, because scrolling can trigger events which
+ invalidate the layout, and as such, belongs with the post-layout tasks.
+ (WebCore::FrameView::maintainScrollPositionAtAnchor): Added. When called
+ with a node scrolls the view to the top of that node and maintains it
+ scrolled to the top of the node during subsequent layouts, until
+ this function is called with 0 or other things trigger scrolling.
+ (WebCore::FrameView::scrollRectIntoViewRecursively): Reset
+ m_maintainScrollPositionAnchor.
+ (WebCore::FrameView::setScrollPosition): Ditto.
+ (WebCore::FrameView::scrollToAnchor): Added. Scrolls to the top of
+ m_maintainScrollPositionAnchor, if it is set.
+ (WebCore::FrameView::performPostLayoutTasks): Call scrollToAnchor().
+ (WebCore::FrameView::setWasScrolledByUser): Reset
+ m_maintainScrollPositionAnchor.
+
+ * page/FrameView.h: Removed lockedToAnchor(), setLockedToAnchor(),
+ and m_lockedToAnchor. Added maintainScrollPositionAtAnchor() and
+ m_maintainScrollPositionAnchor.
+
+2009-07-04 Sriram Yadavalli <sriram.yadavalli@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26439
+
+ QtWebKit fails in loading www.nytimes.com in Windows/Linux
+
+ QNetworkReplyHandler is ignoring content associated with 401 error.
+ This causes the XHR response handling to fail.
+
+ Simon: Added also ProxyAuthenticationRequiredError, to handle the same
+ case when going through proxies, as suggested by Prasanth.
+
+ * platform/network/qt/QNetworkReplyHandler.cpp:
+ (WebCore::QNetworkReplyHandler::finish):
+
+2009-07-10 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Reviewed by Holger Freyther.
+
+ Enable HTML 5 Messaging to fix message channel Qt DRT failures in
+ fast/events.
+
+ * WebCore.pro:
+
+2009-07-09 Roland Steiner <rolandsteiner@google.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ added InlineBox::isLeaf()
+ firstLeafChild()/lastLeafChild() not virtual and not callable on InlineBox anymore.
+ firstLeafChild()/lastLeafChild() will no longer return a node outside of the given subtree.
+ Removed firstLeafChildAfterBox()/lastLeafChildBeforeBox()
+ Removed potentially quadratic behavior if all nodes before/after a given box are empty InlineFlowBoxes
+
+ Currently, these methods are called on RootInlineBox objects only, so above changes should not have
+ any observable effect (only the removal of the square performance behavior could apply,
+ but the conditions for that are probably of a rather theoretical nature).
+
+ * rendering/InlineBox.cpp:
+ (WebCore::InlineBox::nextLeafChild):
+ (WebCore::InlineBox::prevLeafChild):
+ * rendering/InlineBox.h:
+ (WebCore::InlineBox::isLeaf):
+ * rendering/InlineFlowBox.cpp:
+ (WebCore::InlineFlowBox::firstLeafChild):
+ (WebCore::InlineFlowBox::lastLeafChild):
+ * rendering/InlineFlowBox.h:
+ (WebCore::InlineFlowBox::firstChild):
+ (WebCore::InlineFlowBox::lastChild):
+ (WebCore::InlineFlowBox::isLeaf):
+ * rendering/RootInlineBox.cpp:
+ (WebCore::RootInlineBox::closestLeafChildForXPos):
+
+2009-07-09 Roland Steiner <rolandsteiner@google.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ Added InlineBox::baselinePosition() and lineHeight() methods
+ (adapted remaining code accordingly to use those methods)
+
+ No change in functionality.
+
+ * rendering/InlineBox.h:
+ (WebCore::InlineBox::baselinePosition):
+ (WebCore::InlineBox::lineHeight):
+ * rendering/InlineFlowBox.cpp:
+ (WebCore::InlineFlowBox::adjustMaxAscentAndDescent):
+ (WebCore::InlineFlowBox::computeLogicalBoxHeights):
+ (WebCore::InlineFlowBox::placeBoxesVertically):
+
+2009-07-09 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ Bug 27142 - canPlayType() should return empty string for unsupported content
+ <https://bugs.webkit.org/show_bug.cgi?id=27142>
+
+ Return "" instead of "no" for unsupport media types.
+
+ * html/HTMLMediaElement.cpp:
+ (WebCore::HTMLMediaElement::canPlayType):
+
+2009-07-09 Roland Steiner <rolandsteiner@google.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ Implement the part of HTML5 spec that deals with parsing of <rp> and <rt> tags
+ in that their end tags are optional if followed by <rp>/<rt>.
+
+ Also specify a new accessibility role "annotation" for <rp> and <rt>.
+
+ Affected code parts are not enclosed in #IF ENABLE(RUBY), since the parsing
+ is not affected by whether ruby is rendered properly or not (in fact, it may
+ be more profound without ruby layouting, since the contents of <rp> are not hidden).
+
+ Test: fast/ruby/parse-rp.html
+
+ * accessibility/AccessibilityObject.h:
+ (WebCore::):
+ * accessibility/AccessibilityRenderObject.cpp:
+ (WebCore::AccessibilityRenderObject::roleValue):
+ * html/HTMLElement.cpp:
+ (WebCore::HTMLElement::endTagRequirement):
+ (WebCore::HTMLElement::tagPriority):
+ (WebCore::inlineTagList):
+ * html/HTMLParser.cpp:
+ (WebCore::HTMLParser::rpCreateErrorCheck):
+ (WebCore::HTMLParser::rtCreateErrorCheck):
+ (WebCore::HTMLParser::getNode):
+ * html/HTMLParser.h:
+ * html/HTMLTagNames.in:
+
+2009-07-09 Dmitry Titov <dimich@chromium.org>
+
+ Not reviewed, fix for previous commit.
+
+ The change http://trac.webkit.org/changeset/45695 did not correctly
+ enabled GTL and QT build flags. This caused layout tests failure.
+ This is speculative fix for those failures.
+
+ * GNUmakefile.am: added ENABLE_CHANNEL_MESSAGING flag.
+ * WebCore.pro: ditto.
+ * page/DOMWindow.idl: touched to cause recompile.
+ * workers/WorkerContext.idl: ditto.
+
+2009-07-09 Drew Wilson <atwilson@google.com>
+
+ Reviewed by Alexey Proskuryakov.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26903
+
+ Turned on CHANNEL_MESSAGING by default because the MessageChannel API
+ is now implemented for Web Workers and is reasonably stable.
+
+ Tests: fast/events/message-channel-gc-2.html
+ fast/events/message-channel-gc-3.html
+ fast/events/message-channel-gc-4.html
+ fast/events/message-channel-gc.html
+ fast/events/message-channel-listener-circular-ownership.html
+ fast/events/message-port-clone.html
+ fast/events/message-port-constructor-for-deleted-document.html
+ fast/events/message-port-deleted-document.html
+ fast/events/message-port-deleted-frame.html
+ fast/events/message-port-inactive-document.html
+ fast/events/message-port-no-wrapper.html
+ fast/events/message-port.html
+ fast/workers/worker-cloneport.html
+ fast/workers/worker-messageport-gc.html
+ fast/workers/worker-messageport.html
+
+ * Configurations/FeatureDefines.xcconfig: Turned on ENABLE_CHANNEL_MESSAGING.
+ * WebCore/WebCore.vcproj/WebCoreCommon.vsprops: ditto.
+ * WebCore/WebCore.vcproj/build-generated-files.sh: ditto.
+ * WebCore/page/DOMWindow.idl: touch the file to cause re-generation of headers.
+ * WebCore/workers/WorkerContext.idl: ditto.
+
+
+2009-07-09 Pierre d'Herbemont <pdherbemont@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ Full page zoom breaks remaining and elapsed time display in the <video> controller.
+ https://bugs.webkit.org/show_bug.cgi?id=27123
+
+ We are changing the size of the time remaining and time elapsed field, to
+ automatically hide them, when the controller is too short.
+
+ Because we toggle the size between 0 and the previous value of the
+ controller, we miss any width change that may occur during full page zoom,
+ and we fail to restore a correct width.
+
+ This change fixes that problem by using a cloned style on which we
+ set the width to 0, and restoring the previous style when going back to
+ the normal width.
+
+ We take care about properly using the cloned style or the pseudo style,
+ by overriding styleForElement().
+
+ * rendering/MediaControlElements.cpp:
+ (WebCore::MediaControlElement::styleForElement):
+ (WebCore::MediaControlElement::attach):
+ (WebCore::MediaControlElement::updateStyle):
+ (WebCore::MediaControlInputElement::styleForElement):
+ (WebCore::MediaControlInputElement::attach):
+ (WebCore::MediaControlInputElement::updateStyle):
+ (WebCore::MediaControlTimeDisplayElement::MediaControlTimeDisplayElement):
+ (WebCore::MediaControlTimeDisplayElement::styleForElement):
+ (WebCore::MediaControlTimeDisplayElement::setVisible):
+ * rendering/MediaControlElements.h:
+ * rendering/RenderMedia.cpp:
+ (WebCore::RenderMedia::shouldShowTimeDisplayControls): Make sure
+ we take in account the zoom level when deciding if we should hide the
+ ellapsed and remaining time.
+
+2009-07-09 Michael Nordman <michaeln@google.com>
+
+ Reviewed by Darin Adler.
+
+ Fix chromium build bustage due to Widget being a RefCounted class.
+ https://bugs.webkit.org/show_bug.cgi?id=27139
+
+ * platform/chromium/PopupMenuChromium.cpp:
+ * platform/chromium/PopupMenuChromium.h:
+
+2009-07-09 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Bug 27130 - Need to implement ARIA role="toolbar"
+ https://bugs.webkit.org/show_bug.cgi?id=27130
+
+ Test: platform/mac/accessibility/aria-toolbar.html
+
+ * accessibility/AccessibilityRenderObject.cpp:
+ (WebCore::RoleEntry::):
+ * accessibility/mac/AccessibilityObjectWrapper.mm:
+ (-[AccessibilityObjectWrapper roleDescription]):
+
+2009-07-09 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ [Chromium] Upstream WebCore.gypi, the project file for Chromium build.
+ https://bugs.webkit.org/show_bug.cgi?id=27135
+
+ * WebCore.gypi: Added.
+
+2009-07-09 Jon Honeycutt <jhoneycutt@apple.com>
+
+ A more robust fix for <rdar://problem/6930280> Reproducible crash at
+ USA Today photo gallery
+
+ Reviewed by Steve Falkenburg.
+
+ * plugins/win/PluginMessageThrottlerWin.cpp:
+ (WebCore::PluginMessageThrottlerWin::messageThrottleTimerFired):
+ Protect the PluginView from destruction before calling its window proc.
+
+2009-07-09 Jon Honeycutt <jhoneycutt@apple.com>
+
+ <rdar://problem/6978804> WER #16: Repro Access Violation in
+ WebCore::PluginView::bindingInstance (1310178023)
+
+ Reviewed by Darin Adler.
+
+ * plugins/PluginView.cpp:
+ (WebCore::PluginView::bindingInstance):
+ Protect the PluginView from destruction before calling NPN_GetValue. If
+ the renderer for the PluginView was destroyed during the call, and the
+ PluginView's ref count is now 1, return null.
+
+2009-07-09 Jon Honeycutt <jhoneycutt@apple.com>
+
+ Speculative fix for <rdar://problem/6991251> WER #13: Crash in
+ WebKit!WebCore::PluginView::performRequest+203 (1311461169)
+
+ Reviewed by Darin Adler.
+
+ * plugins/PluginView.cpp:
+ (WebCore::PluginView::performRequest):
+ Protect the PluginView from destruction before performing a load.
+ Removed some trailing whitespace.
+
+2009-07-09 Jon Honeycutt <jhoneycutt@apple.com>
+
+ Build fix.
+
+ * inspector/JavaScriptDebugServer.cpp:
+ (WebCore::JavaScriptDebugServer::setJavaScriptPaused):
+
+2009-07-09 Beth Dakin and Jon Honeycutt <bdakin@apple.com>
+
+ Reviewed by Dave Hyatt.
+
+ Make Widget RefCounted to fix or make fixable:
+
+ <rdar://problem/7038831> REGRESSION (TOT): In Mail, a crash occurs
+ at WebCore::Widget::afterMouseDown() after clicking To Do's close
+ box
+ <rdar://problem/6978804> WER #16: Repro Access Violation in
+ WebCore::PluginView::bindingInstance (1310178023)
+ -and-
+ <rdar://problem/6991251> WER #13: Crash in WebKit!
+ WebCore::PluginView::performRequest+203 (1311461169)
+
+ * loader/EmptyClients.h:
+ (WebCore::EmptyFrameLoaderClient::createPlugin):
+ Changed to return PassRefPtr
+ (WebCore::EmptyFrameLoaderClient::createJavaAppletWidget):
+ Ditto.
+
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::loadSubframe):
+ (WebCore::FrameLoader::loadPlugin):
+ Make the widget variable a RefPtr. Use .get() when passing it to
+ RenderPart::setWidget().
+ (WebCore::FrameLoader::createJavaAppletWidget):
+ Make the widget variable a RefPtr.
+
+ * loader/FrameLoader.h:
+ Changed the return type of createJavaAppletWidget().
+
+ * loader/FrameLoaderClient.h:
+ Change the return types of createPlugin() and
+ createJavaAppletWidget().
+
+ * page/Frame.cpp:
+ (WebCore::Frame::createView):
+ No need to call .get() since setWidget() takes a RefPtr.
+
+ * page/FrameView.cpp:
+ (WebCore::FrameView::layoutIfNeededRecursive):
+ children() now returns a HashSet of RefPtrs.
+
+ * page/FrameView.h:
+ Remove inheritance from RefCounted; we pick this up from ScrollView
+ through Widget.
+
+ * platform/ScrollView.cpp:
+ (WebCore::ScrollView::addChild):
+ addChild() now takes a PassRefPtr and m_children now keeps a
+ HashSet of RefPtrs.
+
+ * platform/ScrollView.h:
+ ScrollView constructor is now protected.
+ (WebCore::ScrollView::children):
+ m_children is now a HashSet of RefPtrs.
+
+ * platform/Scrollbar.h:
+ Remove inheritance from RefCounted; we pick this up from ScrollView
+ through Widget.
+
+ * platform/Widget.h:
+ Inherit from RefCounted. Cleaned up some whitespace. Make m_widget
+ a RefPtr.
+
+ * plugins/PluginView.cpp:
+ (WebCore::PluginView::create):
+ Adopt the PluginView when returning it.
+
+ * plugins/PluginView.h:
+ Changed create() to return a PassRefPtr.
+
+ * rendering/RenderApplet.cpp:
+ Receive result in a RefPtr when calling createJavaAppletWidget().
+
+ * rendering/RenderPart.cpp:
+ (WebCore::RenderPart::setWidget):
+ setWidget() now takes a PassRefPtr. Also removed the manual ref of
+ FrameViews. This is handled by having m_widget be a RefPtr. Removed
+ deleteWidget().
+
+ * rendering/RenderPart.h:
+ Removed override of deleteWidget().
+
+ * rendering/RenderWidget.cpp:
+ (WebCore::RenderWidget::destroy):
+ (WebCore::RenderWidget::setWidget):
+ (WebCore::RenderWidget::paint):
+ (WebCore::RenderWidget::setOverlapTestResult):
+ (WebCore::RenderWidget::updateWidgetPosition):
+ Use .get().
+ (WebCore::RenderWidget::clearWidget):
+ Don't call deleteWidget(). It was removed.
+
+ * rendering/RenderWidget.h:
+ Removed deleteWidget(). Made m_widget a RefPtr.
+ (WebCore::RenderWidget::widget):
+ Use .get().
+
+2009-07-09 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Bug 27129 - AX: possible assertion for a non-native image in accessibility
+ https://bugs.webkit.org/show_bug.cgi?id=27129
+
+ It's possible for an image that is not really an image to assert, because its renderer
+ is turned into a RenderImage.
+
+ Test: accessibility/non-native-image-crash.html
+
+ * accessibility/AccessibilityRenderObject.cpp:
+ (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
+ (WebCore::RoleEntry::):
+ * accessibility/mac/AccessibilityObjectWrapper.mm:
+ (-[AccessibilityObjectWrapper roleDescription]):
+
+2009-07-09 Simon Fraser <simon.fraser@apple.com>
+
+ Build fix for SnowLeopard.
+
+ Avoid using the contentsTransform methods if not on Leopard, because
+ we don't need to call them.
+
+ * platform/graphics/mac/GraphicsLayerCA.mm:
+ (WebCore::GraphicsLayerCA::updateContentsTransform):
+ * platform/graphics/mac/WebLayer.mm:
+ (-[WebLayer setNeedsDisplayInRect:]):
+ * platform/graphics/mac/WebTiledLayer.mm:
+ (-[WebTiledLayer setNeedsDisplayInRect:]):
+
+2009-07-09 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dave Hyatt
+
+ Improve the appearance of text in compositing layers when -[CALayer geometryFlipped]
+ is not available.
+ <rdar://problem/6120614>
+
+ * platform/graphics/GraphicsLayer.h:
+ (WebCore::GraphicsLayer::setContentsOrientation):
+ (WebCore::GraphicsLayer::contentsOrientation):
+ * platform/graphics/GraphicsLayer.cpp:
+ (WebCore::GraphicsLayer::GraphicsLayer):
+ Add a m_contentsOrientation member and getter/setter to control whether
+ the contents of this layer have a transform applied to them before display.
+
+ * platform/graphics/mac/GraphicsLayerCA.h:
+ New method to return the default contents orientation.
+
+ * platform/graphics/mac/GraphicsLayerCA.mm:
+ (WebCore::flipTransform):
+ Convenience method to return a transform with a Y flip.
+
+ (WebCore::GraphicsLayerCA::GraphicsLayerCA):
+ (WebCore::GraphicsLayerCA::setSize):
+ After the size changes we have to update the contentsTransform.
+
+ (WebCore::GraphicsLayerCA::setGeometryOrientation):
+ (WebCore::GraphicsLayerCA::geometryOrientation):
+ If -setGeometryFlipped: is not available, use a children transform.
+
+ (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
+ Tiled layers have issues with flipped contentsTransform, so just use
+ top-down drawing for them. Call updateContentsTransform() to set the
+ new contents transform after swapping layers.
+
+ (WebCore::GraphicsLayerCA::defaultContentsOrientation):
+ Use bottom-up when -geometryFlipped is not available, otherwise top-down.
+
+ (WebCore::GraphicsLayerCA::updateContentsTransform):
+ Set the layer contents transform based on contentsOrientation().
+
+ (WebCore::GraphicsLayerCA::setContentsLayer):
+ We have to manually flip contents layers if we're not using -geometryFlipped.
+
+ * platform/graphics/mac/WebLayer.h:
+ * platform/graphics/mac/WebLayer.mm:
+ Do early return if layerContents is nil. Flip the CTM if the layer has
+ bottom-up coordinates, so that CG sees a CTM with no flip.
+ Do the CGContextRestoreGState() after drawing the debug indicator.
+
+ (-[WebLayer setNeedsDisplayInRect:]):
+ * platform/graphics/mac/WebTiledLayer.mm:
+ (-[WebTiledLayer setNeedsDisplayInRect:]):
+ Need to map the dirty rect through the contentsTransform.
+
+2009-07-09 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Geoff Garen.
+
+ <rdar://problem/6921671> Visit counter shouldn't be incremented by redirects.
+
+ Can't test this functionality with layout tests.
+
+ * WebCore.base.exp:
+ * history/HistoryItem.cpp:
+ (WebCore::HistoryItem::recordVisitAtTime):
+ (WebCore::HistoryItem::visited):
+ * history/HistoryItem.h:
+ Only increase visit count if explicitly told to. Now, some visits change last access time,
+ but do not increase visit count.
+
+2009-07-09 Eric Carlson <eric.carlson@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ <rdar://problem/7046098> MediaControllerThemeQT requires QuickTime 7.6.3
+
+ Require QuickTime 7.6.3 or higher to enable the new media controller UI.
+
+ * rendering/RenderThemeMac.mm:
+ (WebCore::mediaControllerTheme):
+
+2009-07-09 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Beth Dakin.
+
+ Remove incorrect comment.
+
+ * page/MouseEventWithHitTestResults.h:
+
+2009-07-09 Mads Ager <ager@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Update the V8 bindings codegenerator to use the RGBColor::create
+ method to handle refcounts for RGBColor objects correctly.
+
+ * bindings/scripts/CodeGeneratorV8.pm: Use RGBColor::create to create RGBColor objects.
+
+2009-07-09 Eric Carlson <eric.carlson@apple.com>
+
+ Reviewed by Adele Peterson.
+
+ Crash in RenderMedia::styleDidChange.
+ <rdar://problem/7044313> CrashTracer: quicklook crashed generating thumbnail for page with
+ media element (RenderMedia::styleDidChange + 115)
+
+ Speculative fix for crash in styleDidChange. Null check controller elements before tell
+ them to update style.
+
+ * rendering/RenderMedia.cpp:
+ (WebCore::RenderMedia::styleDidChange):
+
+2009-07-09 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ [V8] Move V8DOMWrapper to its own file
+ https://bugs.webkit.org/show_bug.cgi?id=27121
+
+ * bindings/v8/V8DOMWrapper.cpp: Added.
+ (WebCore::GetToStringName):
+ (WebCore::ConstructorToString):
+ (WebCore::V8DOMWrapper::convertSVGElementInstanceToV8Object):
+ (WebCore::V8DOMWrapper::convertSVGObjectWithContextToV8Object):
+ (WebCore::V8DOMWrapper::domObjectHasJSWrapper):
+ (WebCore::V8DOMWrapper::setJSWrapperForDOMObject):
+ (WebCore::V8DOMWrapper::setJSWrapperForActiveDOMObject):
+ (WebCore::V8DOMWrapper::setJSWrapperForDOMNode):
+ (WebCore::V8DOMWrapper::getTemplate):
+ (WebCore::V8DOMWrapper::convertToV8Object):
+ (WebCore::V8DOMWrapper::setHiddenWindowReference):
+ (WebCore::V8DOMWrapper::domWrapperType):
+ (WebCore::V8DOMWrapper::convertToNativeObjectImpl):
+ (WebCore::V8DOMWrapper::convertToSVGPODTypeImpl):
+ (WebCore::V8DOMWrapper::lookupDOMWrapper):
+ (WebCore::V8DOMWrapper::convertDOMWrapperToNodeHelper):
+ (WebCore::V8DOMWrapper::wrapNativeNodeFilter):
+ (WebCore::V8DOMWrapper::instantiateV8Object):
+ (WebCore::V8DOMWrapper::setDOMWrapper):
+ (WebCore::V8DOMWrapper::maybeDOMWrapper):
+ (WebCore::V8DOMWrapper::isDOMEventWrapper):
+ (WebCore::V8DOMWrapper::isWrapperOfType):
+ (WebCore::V8DOMWrapper::htmlElementType):
+ (WebCore::V8DOMWrapper::svgElementType):
+ (WebCore::V8DOMWrapper::convertEventToV8Object):
+ (WebCore::):
+ (WebCore::V8DOMWrapper::convertNodeToV8Object):
+ (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
+ (WebCore::V8DOMWrapper::convertEventListenerToV8Object):
+ (WebCore::V8DOMWrapper::convertDOMImplementationToV8Object):
+ (WebCore::V8DOMWrapper::convertStyleSheetToV8Object):
+ (WebCore::V8DOMWrapper::convertCSSValueToV8Object):
+ (WebCore::V8DOMWrapper::convertCSSRuleToV8Object):
+ (WebCore::V8DOMWrapper::convertWindowToV8Object):
+ * bindings/v8/V8DOMWrapper.h: Added.
+ (WebCore::V8DOMWrapper::convertDOMWrapperToNative):
+ (WebCore::V8DOMWrapper::wrapCPointer):
+ (WebCore::V8DOMWrapper::extractCPointer):
+ (WebCore::V8DOMWrapper::convertDOMWrapperToNode):
+ (WebCore::V8DOMWrapper::convertToV8Object):
+ (WebCore::V8DOMWrapper::convertToNativeObject):
+ (WebCore::V8DOMWrapper::convertToNativeEvent):
+ (WebCore::V8DOMWrapper::extractCPointerImpl):
+ (WebCore::V8DOMWrapper::instantiateV8Object):
+ * bindings/v8/V8Proxy.cpp:
+ * bindings/v8/V8Proxy.h:
+
+2009-07-09 David Hyatt <hyatt@apple.com>
+
+ Reviewed by Adele Peterson.
+
+ Crash in setFocusedFrame.
+ <rdar://7032869> Crashing in setFocusedFrame on blogger.com.
+
+ Speculative fix for crasher in setFocusedFrame. Make sure to ref both frames and fire
+ the events only after the local member has been updated.
+
+ * page/FocusController.cpp:
+ (WebCore::FocusController::setFocusedFrame):
+
+2009-07-09 Eric Carlson <eric.carlson@apple.com>
+
+ Reviewed by Adele Peterson.
+
+ Possible crashes when mouse clicks not dispatched because range input destroyed while
+ thumb is being dragged (e.g. scrub to end of movie)
+ <rdar://problem/7037494>
+ https://bugs.webkit.org/show_bug.cgi?id=27101
+
+ Some shadow nodes "capture" all mouse events from mouseDown to mouseUp so they continue to
+ get mouse events even when the mouse is moved outside of the node. This is done by putting
+ EventHandler into a mode where it sends all mouse events to the node regardless of the
+ actual mouse position. The mode is set on mouseDown and cleared on mouseUp but if the
+ node is deleted while in this mode, the mouseUp is never sent and EventHandler continues
+ to try to send events to the deleted node. This sometimes results in a crash, and sometimes
+ in a page that doesn't respond to click events.
+
+ Tests: fast/forms/search-delete-while-cancel-button-clicked.html
+ fast/forms/slider-delete-while-dragging-thumb.html
+ media/audio-delete-while-slider-thumb-clicked.html
+ media/audio-delete-while-step-button-clicked.html
+
+ * rendering/MediaControlElements.cpp:
+ (WebCore::MediaControlSeekButtonElement::detach):
+ New, call setCapturingMouseEventsNode if capturing mouse events.
+ * rendering/MediaControlElements.h:
+ Declare detach().
+
+ * rendering/RenderSlider.cpp:
+ (WebCore::SliderThumbElement::detach):
+ New, call setCapturingMouseEventsNode if capturing mouse events.
+
+ * rendering/TextControlInnerElements.cpp:
+ (WebCore::SearchFieldCancelButtonElement::detach):
+ New, call setCapturingMouseEventsNode if capturing mouse events.
+ * rendering/TextControlInnerElements.h:
+ Declare detach().
+
+2009-07-09 Yury Semikhatsky <yurys@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Enter the Frame's context before creating new objects in setContextDebugId.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27112
+
+ * bindings/v8/V8Proxy.cpp:
+ (WebCore::V8Proxy::setContextDebugId):
+
+2009-07-09 Simon Hausmann <hausmann@webkit.org>
+
+ Fix the Qt build.
+
+ * WebCore.pro: Add new storage impl files to the build.
+
+2009-07-08 Adam Barth <abarth@webkit.org>
+
+ Rubber stamped by Eric Seidel.
+
+ [V8] Move DOM wrapper functions in V8Proxy to V8DOMWrapper
+ https://bugs.webkit.org/show_bug.cgi?id=27107
+
+ This patch is just renaming. Code motion will occur next.
+
+ * bindings/scripts/CodeGeneratorV8.pm:
+ * bindings/v8/ScriptController.cpp:
+ (WebCore::ScriptController::processingUserGesture):
+ (WebCore::createScriptObject):
+ (WebCore::ScriptController::createScriptObjectForPluginElement):
+ * bindings/v8/ScriptObject.cpp:
+ (WebCore::ScriptGlobalObject::set):
+ * bindings/v8/ScriptObjectQuarantine.cpp:
+ (WebCore::getQuarantinedScriptObject):
+ * bindings/v8/V8AbstractEventListener.cpp:
+ (WebCore::V8AbstractEventListener::handleEvent):
+ (WebCore::V8AbstractEventListener::getReceiverObject):
+ * bindings/v8/V8Collection.cpp:
+ (WebCore::toOptionsCollectionSetter):
+ * bindings/v8/V8Collection.h:
+ (WebCore::getV8Object):
+ (WebCore::getNamedPropertyOfCollection):
+ (WebCore::nodeCollectionNamedPropertyGetter):
+ (WebCore::getIndexedPropertyOfCollection):
+ (WebCore::nodeCollectionIndexedPropertyGetter):
+ (WebCore::nodeCollectionIndexedPropertyEnumerator):
+ (WebCore::collectionIndexedPropertyEnumerator):
+ (WebCore::collectionStringOrNullIndexedPropertyGetter):
+ * bindings/v8/V8DOMMap.cpp:
+ (WebCore::DOMData::handleWeakObject):
+ (WebCore::DOMData::removeObjectsFromWrapperMap):
+ * bindings/v8/V8GCController.cpp:
+ (WebCore::enumerateDOMObjectMap):
+ (WebCore::DOMObjectVisitor::visitDOMWrapper):
+ (WebCore::GCPrologueVisitor::visitDOMWrapper):
+ (WebCore::GCEpilogueVisitor::visitDOMWrapper):
+ * bindings/v8/V8Helpers.cpp:
+ (WebCore::wrapNPObject):
+ * bindings/v8/V8NodeFilterCondition.cpp:
+ (WebCore::V8NodeFilterCondition::acceptNode):
+ * bindings/v8/V8Proxy.cpp:
+ (WebCore::V8DOMWrapper::convertSVGElementInstanceToV8Object):
+ (WebCore::V8DOMWrapper::convertSVGObjectWithContextToV8Object):
+ (WebCore::V8DOMWrapper::domObjectHasJSWrapper):
+ (WebCore::V8DOMWrapper::setJSWrapperForDOMObject):
+ (WebCore::V8DOMWrapper::setJSWrapperForActiveDOMObject):
+ (WebCore::V8DOMWrapper::setJSWrapperForDOMNode):
+ (WebCore::V8Proxy::evaluateInNewContext):
+ (WebCore::V8Proxy::getConstructor):
+ (WebCore::V8DOMWrapper::getTemplate):
+ (WebCore::V8Proxy::retrieveWindow):
+ (WebCore::V8Proxy::updateDocumentWrapperCache):
+ (WebCore::V8Proxy::clearForNavigation):
+ (WebCore::V8Proxy::installDOMWindow):
+ (WebCore::setDOMExceptionHelper):
+ (WebCore::V8DOMWrapper::convertToV8Object):
+ (WebCore::V8DOMWrapper::setHiddenWindowReference):
+ (WebCore::V8DOMWrapper::domWrapperType):
+ (WebCore::V8DOMWrapper::convertToNativeObjectImpl):
+ (WebCore::V8DOMWrapper::convertToSVGPODTypeImpl):
+ (WebCore::V8DOMWrapper::lookupDOMWrapper):
+ (WebCore::V8DOMWrapper::convertDOMWrapperToNodeHelper):
+ (WebCore::V8DOMWrapper::wrapNativeNodeFilter):
+ (WebCore::V8DOMWrapper::instantiateV8Object):
+ (WebCore::V8DOMWrapper::setDOMWrapper):
+ (WebCore::V8DOMWrapper::maybeDOMWrapper):
+ (WebCore::V8DOMWrapper::isDOMEventWrapper):
+ (WebCore::V8DOMWrapper::isWrapperOfType):
+ (WebCore::V8DOMWrapper::htmlElementType):
+ (WebCore::V8DOMWrapper::svgElementType):
+ (WebCore::V8DOMWrapper::convertEventToV8Object):
+ (WebCore::V8DOMWrapper::convertNodeToV8Object):
+ (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
+ (WebCore::V8DOMWrapper::convertEventListenerToV8Object):
+ (WebCore::V8DOMWrapper::convertDOMImplementationToV8Object):
+ (WebCore::V8DOMWrapper::convertStyleSheetToV8Object):
+ (WebCore::V8DOMWrapper::convertCSSValueToV8Object):
+ (WebCore::V8DOMWrapper::convertCSSRuleToV8Object):
+ (WebCore::V8DOMWrapper::convertWindowToV8Object):
+ (WebCore::V8Proxy::bindJsObjectToWindow):
+ * bindings/v8/V8Proxy.h:
+ (WebCore::V8DOMWrapper::convertDOMWrapperToNative):
+ (WebCore::V8DOMWrapper::wrapCPointer):
+ (WebCore::V8DOMWrapper::extractCPointer):
+ (WebCore::V8DOMWrapper::convertDOMWrapperToNode):
+ (WebCore::V8DOMWrapper::convertToV8Object):
+ (WebCore::V8DOMWrapper::convertToNativeObject):
+ (WebCore::V8DOMWrapper::convertToNativeEvent):
+ (WebCore::V8DOMWrapper::extractCPointerImpl):
+ (WebCore::V8DOMWrapper::instantiateV8Object):
+ (WebCore::V8Proxy::constructDOMObject):
+ (WebCore::toV8):
+ * bindings/v8/V8SVGPODTypeWrapper.h:
+ (WebCore::V8SVGPODTypeUtil::toSVGPODType):
+ * bindings/v8/WorkerContextExecutionProxy.cpp:
+ (WebCore::WorkerContextExecutionProxy::retrieve):
+ (WebCore::WorkerContextExecutionProxy::initContextIfNeeded):
+ (WebCore::WorkerContextExecutionProxy::GetConstructor):
+ (WebCore::WorkerContextExecutionProxy::ToV8Object):
+ (WebCore::WorkerContextExecutionProxy::EventToV8Object):
+ (WebCore::WorkerContextExecutionProxy::toV8):
+ * bindings/v8/custom/V8AttrCustom.cpp:
+ (WebCore::ACCESSOR_SETTER):
+ * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
+ (WebCore::NAMED_PROPERTY_GETTER):
+ (WebCore::NAMED_PROPERTY_SETTER):
+ * bindings/v8/custom/V8CanvasPixelArrayCustom.cpp:
+ (WebCore::INDEXED_PROPERTY_GETTER):
+ (WebCore::INDEXED_PROPERTY_SETTER):
+ * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
+ (WebCore::toV8):
+ (WebCore::toCanvasStyle):
+ (WebCore::ACCESSOR_GETTER):
+ (WebCore::ACCESSOR_SETTER):
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8ClientRectListCustom.cpp:
+ (WebCore::INDEXED_PROPERTY_GETTER):
+ * bindings/v8/custom/V8ClipboardCustom.cpp:
+ (WebCore::ACCESSOR_GETTER):
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8CustomBinding.cpp:
+ (WebCore::ACCESSOR_GETTER):
+ (WebCore::INDEXED_ACCESS_CHECK):
+ (WebCore::NAMED_ACCESS_CHECK):
+ (WebCore::V8Custom::GetTargetFrame):
+ * bindings/v8/custom/V8CustomSQLStatementCallback.cpp:
+ (WebCore::V8CustomSQLStatementCallback::handleEvent):
+ * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
+ (WebCore::V8CustomSQLStatementErrorCallback::handleEvent):
+ * bindings/v8/custom/V8CustomSQLTransactionCallback.cpp:
+ (WebCore::V8CustomSQLTransactionCallback::handleEvent):
+ * bindings/v8/custom/V8CustomSQLTransactionErrorCallback.cpp:
+ (WebCore::V8CustomSQLTransactionErrorCallback::handleEvent):
+ * bindings/v8/custom/V8DOMWindowCustom.cpp:
+ (WebCore::V8Custom::WindowSetTimeoutImpl):
+ (WebCore::ACCESSOR_SETTER):
+ (WebCore::CALLBACK_FUNC_DECL):
+ (WebCore::ACCESSOR_GETTER):
+ (WebCore::INDEXED_PROPERTY_GETTER):
+ (WebCore::NAMED_PROPERTY_GETTER):
+ (WebCore::V8Custom::ClearTimeoutImpl):
+ (WebCore::NAMED_ACCESS_CHECK):
+ (WebCore::INDEXED_ACCESS_CHECK):
+ * bindings/v8/custom/V8DatabaseCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8DocumentCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8DocumentLocationCustom.cpp:
+ (WebCore::ACCESSOR_GETTER):
+ (WebCore::ACCESSOR_SETTER):
+ * bindings/v8/custom/V8ElementCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+ (WebCore::ACCESSOR_SETTER):
+ (WebCore::ACCESSOR_GETTER):
+ * bindings/v8/custom/V8EventCustom.cpp:
+ (WebCore::ACCESSOR_SETTER):
+ (WebCore::ACCESSOR_GETTER):
+ * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
+ (WebCore::getNamedItems):
+ (WebCore::getItem):
+ (WebCore::NAMED_PROPERTY_GETTER):
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
+ (WebCore::NAMED_PROPERTY_GETTER):
+ (WebCore::CALLBACK_FUNC_DECL):
+ (WebCore::ACCESSOR_GETTER):
+ * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
+ (WebCore::INDEXED_PROPERTY_GETTER):
+ (WebCore::NAMED_PROPERTY_GETTER):
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8HTMLFrameElementCustom.cpp:
+ (WebCore::ACCESSOR_SETTER):
+ * bindings/v8/custom/V8HTMLFrameSetElementCustom.cpp:
+ (WebCore::NAMED_PROPERTY_GETTER):
+ * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp:
+ (WebCore::ACCESSOR_SETTER):
+ * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8HTMLInputElementCustom.cpp:
+ (WebCore::ACCESSOR_GETTER):
+ (WebCore::ACCESSOR_SETTER):
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+ (WebCore::ACCESSOR_GETTER):
+ (WebCore::ACCESSOR_SETTER):
+ (WebCore::INDEXED_PROPERTY_GETTER):
+ (WebCore::INDEXED_PROPERTY_SETTER):
+ * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp:
+ (WebCore::NAMED_PROPERTY_GETTER):
+ (WebCore::NAMED_PROPERTY_SETTER):
+ (WebCore::INDEXED_PROPERTY_GETTER):
+ (WebCore::INDEXED_PROPERTY_SETTER):
+ * bindings/v8/custom/V8HTMLSelectElementCollectionCustom.cpp:
+ (WebCore::NAMED_PROPERTY_GETTER):
+ (WebCore::INDEXED_PROPERTY_SETTER):
+ * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+ (WebCore::removeElement):
+ * bindings/v8/custom/V8InspectorControllerCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8LocationCustom.cpp:
+ (WebCore::ACCESSOR_SETTER):
+ (WebCore::ACCESSOR_GETTER):
+ (WebCore::CALLBACK_FUNC_DECL):
+ (WebCore::INDEXED_ACCESS_CHECK):
+ (WebCore::NAMED_ACCESS_CHECK):
+ * bindings/v8/custom/V8MessageChannelConstructor.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8MessagePortCustom.cpp:
+ (WebCore::ACCESSOR_GETTER):
+ (WebCore::ACCESSOR_SETTER):
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
+ (WebCore::INDEXED_PROPERTY_GETTER):
+ (WebCore::NAMED_PROPERTY_GETTER):
+ * bindings/v8/custom/V8NavigatorCustom.cpp:
+ (WebCore::ACCESSOR_GETTER):
+ * bindings/v8/custom/V8NodeCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8NodeIteratorCustom.cpp:
+ (WebCore::toV8):
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8NodeListCustom.cpp:
+ (WebCore::NAMED_PROPERTY_GETTER):
+ * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8SQLTransactionCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8SVGElementInstanceCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8SVGLengthCustom.cpp:
+ (WebCore::ACCESSOR_GETTER):
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8SVGMatrixCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8StorageCustom.cpp:
+ (WebCore::V8Custom::v8StorageNamedPropertyEnumerator):
+ (WebCore::storageGetter):
+ (WebCore::storageSetter):
+ (WebCore::storageDeleter):
+ * bindings/v8/custom/V8StyleSheetListCustom.cpp:
+ (WebCore::NAMED_PROPERTY_GETTER):
+ * bindings/v8/custom/V8TreeWalkerCustom.cpp:
+ (WebCore::toV8):
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8WebKitCSSMatrixConstructor.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8WorkerContextCustom.cpp:
+ (WebCore::ACCESSOR_GETTER):
+ (WebCore::ACCESSOR_SETTER):
+ (WebCore::SetTimeoutOrInterval):
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8WorkerCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+ (WebCore::ACCESSOR_GETTER):
+ (WebCore::ACCESSOR_SETTER):
+ * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
+ (WebCore::ACCESSOR_GETTER):
+ (WebCore::ACCESSOR_SETTER):
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp:
+ (WebCore::ACCESSOR_GETTER):
+ (WebCore::ACCESSOR_SETTER):
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8XSLTProcessorCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+
+2009-07-08 Pierre d'Herbemont <pdherbemont@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ Make sure we can click outside the slider thumb and start dragging.
+ https://bugs.webkit.org/show_bug.cgi?id=26229
+
+ Previously we were assuming that if the thumb hasn't been clicked, we
+ wouldn't issue any value change upon dragging.
+
+ We need to handle the two different cases:
+ - Clicked in the thumb, we need to make sure the cursor is always pointing
+ the same slider thumb point.
+ - Clicked outside, the cursor should always be pointing to the center of
+ the thumb.
+
+ For simplicity, we don't remember the original point of the mouse down,
+ but a vector between that point and the thumb.
+
+ * rendering/RenderSlider.cpp:
+ (WebCore::SliderThumbElement::SliderThumbElement):
+ (WebCore::SliderThumbElement::defaultEventHandler):
+ (WebCore::RenderSlider::mouseEventVectorToThumb): Utility function.
+ * rendering/RenderSlider.h:
+
+2009-07-08 Pierre d'Herbemont <pdherbemont@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27100
+ <rdar://problem/7042621>
+
+ Don't display "loading" in the <video> controller when
+ there is no src specified.
+
+ * rendering/MediaControlElements.cpp:
+ (WebCore::MediaControlStatusDisplayElement::update): The only
+ way to find out if we have an element is currentSrc(). networkState()
+ will always report LOADING according to the spec.
+
+2009-07-08 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ [V8] Move V8GCController functions to their own file
+ https://bugs.webkit.org/show_bug.cgi?id=27102
+
+ * bindings/v8/V8GCController.cpp: Added.
+ * bindings/v8/V8GCController.h: Added.
+ * bindings/v8/V8Proxy.cpp:
+ * bindings/v8/V8Proxy.h:
+
+2009-07-08 Jeremy Orlow <jorlow@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ Split StorageArea and StorageNamespace into an interface and implementation.
+ https://bugs.webkit.org/show_bug.cgi?id=27072
+
+ I need to split StorageNamespace and StorageArea into an interface and
+ implementation. In a later patch, I'll implement a proxy interface
+ that'll run inside the Chromium renderer process.
+
+ Additionally, fix the alphabetical ordering of files I recently added
+ in the project files.
+
+ This is a continuation of other refactoring work:
+ https://bugs.webkit.org/show_bug.cgi?id=25376
+
+ * GNUmakefile.am:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * WebCoreSources.bkl:
+ * storage/StorageArea.cpp:
+ (WebCore::StorageArea::create):
+ * storage/StorageArea.h:
+ (WebCore::StorageArea::~StorageArea):
+ * storage/StorageAreaImpl.cpp: Copied from WebCore/storage/StorageArea.cpp.
+ (WebCore::StorageAreaImpl::create):
+ (WebCore::StorageAreaImpl::~StorageAreaImpl):
+ (WebCore::StorageAreaImpl::StorageAreaImpl):
+ (WebCore::StorageAreaImpl::copy):
+ (WebCore::StorageAreaImpl::length):
+ (WebCore::StorageAreaImpl::key):
+ (WebCore::StorageAreaImpl::getItem):
+ (WebCore::StorageAreaImpl::setItem):
+ (WebCore::StorageAreaImpl::removeItem):
+ (WebCore::StorageAreaImpl::clear):
+ (WebCore::StorageAreaImpl::contains):
+ (WebCore::StorageAreaImpl::importItem):
+ (WebCore::StorageAreaImpl::securityOrigin):
+ (WebCore::StorageAreaImpl::close):
+ (WebCore::StorageAreaImpl::blockUntilImportComplete):
+ (WebCore::StorageAreaImpl::dispatchStorageEvent):
+ * storage/StorageAreaImpl.h: Copied from WebCore/storage/StorageArea.h.
+ * storage/StorageAreaSync.h:
+ * storage/StorageNamespace.cpp:
+ (WebCore::StorageNamespace::localStorageNamespace):
+ (WebCore::StorageNamespace::sessionStorageNamespace):
+ * storage/StorageNamespace.h:
+ (WebCore::StorageNamespace::~StorageNamespace):
+ * storage/StorageNamespaceImpl.cpp: Copied from WebCore/storage/StorageNamespace.cpp.
+ (WebCore::StorageNamespaceImpl::localStorageNamespace):
+ (WebCore::StorageNamespaceImpl::sessionStorageNamespace):
+ (WebCore::StorageNamespaceImpl::StorageNamespaceImpl):
+ (WebCore::StorageNamespaceImpl::~StorageNamespaceImpl):
+ (WebCore::StorageNamespaceImpl::copy):
+ (WebCore::StorageNamespaceImpl::storageArea):
+ (WebCore::StorageNamespaceImpl::close):
+ * storage/StorageNamespaceImpl.h: Copied from WebCore/storage/StorageNamespace.h.
+
+2009-07-08 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ [V8] Move garbage collector related functions from V8Proxy to V8GCController
+ https://bugs.webkit.org/show_bug.cgi?id=26967
+
+ This patch just moves the functions around in V8Proxy. We'll actually
+ move them to a separate file in another patch.
+
+ * bindings/v8/NPV8Object.cpp:
+ (freeV8NPObject):
+ * bindings/v8/ScheduledAction.cpp:
+ (WebCore::ScheduledAction::ScheduledAction):
+ (WebCore::ScheduledAction::~ScheduledAction):
+ * bindings/v8/ScriptController.cpp:
+ (WebCore::ScriptController::gcProtectJSWrapper):
+ (WebCore::ScriptController::gcUnprotectJSWrapper):
+ * bindings/v8/ScriptInstance.cpp:
+ (WebCore::V8ScriptInstance::clear):
+ (WebCore::V8ScriptInstance::set):
+ * bindings/v8/ScriptValue.h:
+ (WebCore::ScriptValue::ScriptValue):
+ (WebCore::ScriptValue::operator=):
+ (WebCore::ScriptValue::clear):
+ * bindings/v8/V8AbstractEventListener.cpp:
+ (WebCore::V8AbstractEventListener::disposeListenerObject):
+ * bindings/v8/V8LazyEventListener.cpp:
+ (WebCore::V8LazyEventListener::~V8LazyEventListener):
+ (WebCore::V8LazyEventListener::getListenerFunction):
+ (WebCore::V8LazyEventListener::getWrappedListenerFunction):
+ * bindings/v8/V8NodeFilterCondition.cpp:
+ (WebCore::V8NodeFilterCondition::V8NodeFilterCondition):
+ (WebCore::V8NodeFilterCondition::~V8NodeFilterCondition):
+ * bindings/v8/V8Proxy.cpp:
+ (WebCore::V8GCController::registerGlobalHandle):
+ (WebCore::V8GCController::unregisterGlobalHandle):
+ (WebCore::V8GCController::gcProtect):
+ (WebCore::V8GCController::gcUnprotect):
+ (WebCore::V8Proxy::destroyGlobal):
+ (WebCore::V8Proxy::updateDocumentWrapper):
+ (WebCore::V8Proxy::clearDocumentWrapper):
+ (WebCore::V8Proxy::disposeContextHandles):
+ (WebCore::V8Proxy::initContextIfNeeded):
+ * bindings/v8/V8Proxy.h:
+ (WebCore::):
+ (WebCore::GlobalHandleInfo::GlobalHandleInfo):
+ * bindings/v8/custom/V8CustomEventListener.cpp:
+ (WebCore::V8EventListener::V8EventListener):
+
+2009-07-08 Daniel Bates <dbates@intudata.com>
+
+ Reviewed by Adam Barth.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26918
+
+ Prevents injection of HTML Base tag.
+
+ Tests: http/tests/security/xssAuditor/base-href-control-char.html
+ http/tests/security/xssAuditor/base-href-null-char.html
+ http/tests/security/xssAuditor/base-href-safe.html
+ http/tests/security/xssAuditor/base-href-safe2.html
+ http/tests/security/xssAuditor/base-href-scheme-relative.html
+ http/tests/security/xssAuditor/base-href.html
+
+ * html/HTMLBaseElement.cpp:
+ (WebCore::HTMLBaseElement::parseMappedAttribute):
+ (WebCore::HTMLBaseElement::process): Modified to call XSSAuditor::canSetBaseElementURL
+ to determine if it is safe to use base element URL.
+ * html/HTMLBaseElement.h: Added field m_hrefAttrValue to store unparsed base element URL.
+ * page/XSSAuditor.cpp:
+ (WebCore::XSSAuditor::canSetBaseElementURL):
+ * page/XSSAuditor.h:
+
+2009-07-08 Nate Chapin <japhet@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Upstream V8 npruntime bindings.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27094
+
+ * bindings/v8/npruntime.cpp: Upstreamed from src.chromium.org.
+ (StringKey::operator==):
+ (StringKey::StringKeyHash::hash):
+ (StringKey::StringKeyHash::equal):
+ (StringKeyHashTraits::constructDeletedValue):
+ (StringKeyHashTraits::isDeletedValue):
+ (getStringIdentifierMap):
+ (getIntIdentifierMap):
+ * bindings/v8/npruntime_impl.h: Upstreamed from src.chromium.org.
+ * bindings/v8/npruntime_internal.h: Upstreamed from src.chromium.org.
+ * bindings/v8/npruntime_priv.h: Upstreamed from src.chromium.org.
+
+2009-07-08 Dumitru Daniliuc <dumi@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ Extending the PlatformFileHandle definition from PLATFORM(WIN) to
+ PLATFORM(WIN_OS)
+
+ https://bugs.webkit.org/show_bug.cgi?id=27013
+
+ * platform/FileSystem.h:
+
+2009-07-08 Daniel Bates <dbates@intudata.com>
+
+ Reviewed by Adam Barth.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27071
+
+ Resolves issue when HTTP parameters contain null- and non-null-control- characters.
+
+ Tests: http/tests/security/xssAuditor/anchor-url-dom-write-location-inline-event-null-char.html
+ http/tests/security/xssAuditor/embed-tag-control-char.html
+ http/tests/security/xssAuditor/embed-tag-null-char.html
+ http/tests/security/xssAuditor/embed-tag.html
+ http/tests/security/xssAuditor/link-onclick-control-char.html
+ http/tests/security/xssAuditor/link-onclick-null-char.html
+ http/tests/security/xssAuditor/object-embed-tag-control-char.html
+ http/tests/security/xssAuditor/object-embed-tag-null-char.html
+ http/tests/security/xssAuditor/object-embed-tag.html
+ http/tests/security/xssAuditor/object-tag.html
+ http/tests/security/xssAuditor/script-tag-post-control-char.html
+ http/tests/security/xssAuditor/script-tag-post-null-char.html
+ http/tests/security/xssAuditor/script-tag-with-source-control-char.html
+ http/tests/security/xssAuditor/script-tag-with-source-null-char.html
+
+ * page/XSSAuditor.cpp:
+ (WebCore::isNonNullControlCharacter): Called by XSSAuditor::decodeURL.
+ (WebCore::XSSAuditor::canEvaluate):
+ (WebCore::XSSAuditor::canCreateInlineEventListener):
+ (WebCore::XSSAuditor::canLoadObject):
+ (WebCore::XSSAuditor::decodeURL): Added parameters matchNullCharacters,
+ and matchNonNullControlCharacters.
+ (WebCore::XSSAuditor::findInRequest): Added parameters matchNullCharacters,
+ and matchNonNullControlCharacters.
+ * page/XSSAuditor.h:
+
+2009-07-08 Marc-Antoine Ruel <maruel@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Add DerivesSourcesAllInOne.cpp to help with release windows compilation.
+ https://bugs.webkit.org/show_bug.cgi?id=27093
+
+ This is specific for v8, no change in behavior.
+
+ * bindings/v8/DerivedSourcesAllInOne.cpp: Added.
+
+2009-07-08 Pierre d'Herbemont <pdherbemont@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27086
+
+ Make sure the Media controller doesn't fade in for no reason.
+ This is happening because a update() call to the controller
+ panel may reset the opacity to 1.0, given that it reloads the
+ style.
+
+ We also add a different fade in and fade out time to soften
+ the fade out effect.
+
+ No test case because this depends on how the movie is loaded.
+
+ * rendering/RenderMedia.cpp:
+ (WebCore::RenderMedia::RenderMedia):
+ (WebCore::RenderMedia::updateControls):
+ (WebCore::RenderMedia::updateControlVisibility): Simplify
+ , and make sure we stop the timer if there is no animation
+ to do.
+ (WebCore::RenderMedia::opacityAnimationTimerFired):
+ * rendering/RenderMedia.h:
+
+2009-07-08 David Kilzer <ddkilzer@apple.com>
+
+ Bug 27081: Wrap RunLoopTimerCF.cpp in PLATFORM(MAC) && HAVE(RUNLOOP_TIMER)
+
+ <https://bugs.webkit.org/show_bug.cgi?id=27081>
+
+ Reviewed by Timothy Hatcher.
+
+ * platform/cf/RunLoopTimerCF.cpp: This code is only used on
+ Mac OS X when HAVE(RUNLOOP_TIMER) is enabled, so wrap the code
+ in that macro as well.
+
+2009-07-08 Greg Bolsinga <bolsinga@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Add -[WebView _isProcessingUserGesture]
+ https://bugs.webkit.org/show_bug.cgi?id=27084
+
+ Rename FrameLoader::userGestureHint() to FrameLoader::isProcessingUserGesture()
+ for clarity.
+
+ * WebCore.base.exp: Add WebCore::FrameLoader::isProcessingUserGesture()
+ * html/HTMLMediaElement.cpp:
+ (WebCore::HTMLMediaElement::processingUserGesture):
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::requestFrame):
+ (WebCore::FrameLoader::isProcessingUserGesture):
+ * loader/FrameLoader.h:
+
+2009-07-08 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed (an earlier version) by Geoff Garen.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27090
+ Remove lockBackForwardList argument from HTMLFormElement::submit()
+
+ No change in behavior, so no tests.
+
+ * bindings/js/JSHTMLFormElementCustom.cpp:
+ (WebCore::JSHTMLFormElement::submit):
+ * html/HTMLFormElement.cpp:
+ (WebCore::HTMLFormElement::submit):
+ * html/HTMLFormElement.h:
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::submitForm):
+ (WebCore::FrameLoader::scheduleFormSubmission):
+ * loader/FrameLoader.h:
+ Don't pass lockBackForwardList around when it's known to be false.
+
+2009-07-08 Marc-Antoine Ruel <maruel@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Fix V8 idl codegen to use unique constant names
+ <https://bugs.webkit.org/show_bug.cgi?id=27089>
+
+ Embed the interface name in the global constant names so coagulating all
+ the .cc files into one compile unit works with V8 bindings.
+
+ Nothing added; Still compiles and pass tests.
+
+ * bindings/scripts/CodeGeneratorV8.pm:
+
+2009-07-08 Brent Fulgham <bfulgham@webkit.org>
+
+ Build fix: Add missing #includes for Windows (cURL) build.
+ The <winsock2.h> and <windows.h> headers were not being
+ included in Windows cURL builds.
+
+ * platform/network/ResourceHandleInternal.h:
+ * platform/network/curl/ResourceHandleManager.h:
+
+2009-07-08 Shinichiro Hamaji <hamaji@chromium.org>
+
+ Reviewed by David Kilzer.
+
+ WebKit needs a style linting tool
+ https://bugs.webkit.org/show_bug.cgi?id=25884
+
+ Fix bunch of style issues in WebCore/rendering.
+ This patch is created to demonstrate cpplint.py.
+
+ No testcase because it's just a style fixes.
+
+ * rendering/AutoTableLayout.cpp:
+ (WebCore::AutoTableLayout::recalcColumn):
+ (WebCore::AutoTableLayout::layout):
+ * rendering/InlineFlowBox.cpp:
+ (WebCore::InlineFlowBox::placeEllipsisBox):
+ * rendering/InlineTextBox.cpp:
+ (WebCore::InlineTextBox::paintTextMatchMarker):
+ * rendering/MediaControlElements.cpp:
+ (WebCore::MediaControlTimelineElement::defaultEventHandler):
+ * rendering/MediaControlElements.h:
+ * rendering/RenderArena.cpp:
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::startDelayUpdateScrollInfo):
+ (WebCore::RenderBlock::finishDelayUpdateScrollInfo):
+ (WebCore::RenderBlock::updateScrollInfoAfterLayout):
+ (WebCore::RenderBlock::positionNewFloats):
+ (WebCore::RenderBlock::newLine):
+ (WebCore::RenderBlock::floatBottom):
+ (WebCore::RenderBlock::leftBottom):
+ (WebCore::RenderBlock::rightBottom):
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::calcReplacedWidthUsing):
+ * rendering/RenderFieldset.cpp:
+ (WebCore::RenderFieldset::layoutLegend):
+ * rendering/RenderFlexibleBox.cpp:
+ (WebCore::FlexBoxIterator::FlexBoxIterator):
+ (WebCore::FlexBoxIterator::reset):
+ (WebCore::FlexBoxIterator::first):
+ (WebCore::FlexBoxIterator::next):
+ (WebCore::RenderFlexibleBox::layoutVerticalBox):
+ * rendering/RenderFrameSet.cpp:
+ (WebCore::borderStartEdgeColor):
+ * rendering/RenderFrameSet.h:
+ * rendering/RenderImage.cpp:
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::updateVisibilityStatus):
+ (WebCore::RenderLayer::calculateClipRects):
+ (WebCore::RenderLayer::calculateRects):
+ * rendering/RenderListBox.cpp:
+ (WebCore::RenderListBox::panScroll):
+ * rendering/RenderMarquee.cpp:
+ (WebCore::RenderMarquee::updateMarqueeStyle):
+ * rendering/RenderMedia.cpp:
+ (WebCore::RenderMedia::updateControls):
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::drawLineForBoxSide):
+ (WebCore::RenderObject::localCaretRect):
+ * rendering/RenderSVGImage.cpp:
+ (WebCore::RenderSVGImage::adjustRectsForAspectRatio):
+ * rendering/RenderSlider.h:
+ * rendering/RenderTable.cpp:
+ (WebCore::RenderTable::outerBorderBottom):
+ * rendering/RenderTableCol.h:
+ * rendering/RenderTextControlSingleLine.cpp:
+ (WebCore::RenderTextControlSingleLine::itemIsSeparator):
+ * rendering/RenderThemeChromiumSkia.cpp:
+ (WebCore::RenderThemeChromiumSkia::supportsHover):
+ * rendering/RenderThemeChromiumWin.cpp:
+ (WebCore::RenderThemeChromiumWin::supportsFocusRing):
+ * rendering/SVGCharacterLayoutInfo.cpp:
+ (WebCore::SVGCharacterLayoutInfo::addStackContent):
+ * rendering/SVGCharacterLayoutInfo.h:
+ * rendering/TextControlInnerElements.h:
+ * rendering/bidi.cpp:
+ (WebCore::RenderBlock::computeHorizontalPositionsForLine):
+
+2009-07-07 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ Reduce complexity of lifetime management in DynamicNodeList caches
+ <https://bugs.webkit.org/show_bug.cgi?id=27068>
+
+ Switch the Cache object used by DynamicNodeList into a normal
+ refcounted object rather than having a weird flag controlled
+ refcounting system, where positive refcount did not automatically
+ imply the cache object would actually still be live.
+
+ * dom/DynamicNodeList.cpp:
+ (WebCore::DynamicNodeList::DynamicNodeList):
+ (WebCore::DynamicNodeList::~DynamicNodeList):
+ (WebCore::DynamicNodeList::Caches::Caches):
+ (WebCore::DynamicNodeList::Caches::create):
+ * dom/DynamicNodeList.h:
+ * dom/Node.cpp:
+ (WebCore::Node::childNodes):
+ (WebCore::Node::getElementsByTagNameNS):
+ (WebCore::Node::getElementsByName):
+ (WebCore::Node::getElementsByClassName):
+ (WebCore::NodeListsNodeData::invalidateCaches):
+ (WebCore::NodeListsNodeData::isEmpty):
+ * dom/NodeRareData.h:
+ (WebCore::NodeListsNodeData::NodeListsNodeData):
+
+2009-07-07 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ -webkit-perspective should be a Length
+ https://bugs.webkit.org/show_bug.cgi?id=27066
+
+ -webkit-perspective should not take a magic valueless number, but should
+ be a normal Length value which responds to zooming. Treat valueless numbers
+ as pixels for backward compatibility.
+
+ Test: transforms/3d/general/perspective-units.html
+
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::parseValue):
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::applyProperty):
+
+2009-07-07 Pierre d'Herbemont <pdherbemont@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27047
+
+ We need to make sure that when we reattach, we also reattach
+ the children in every MediaControlElement. Else we may end up
+ having no remaining or elapsed time.
+
+ We have to handle that, because we are using a special shadow
+ tree in the DOM, and that we are ourselves handling
+ attaching/detaching the renderer.
+
+ The strategy here is to try to implement ::attach(), and try
+ to reuse as much code as we can from the super class, including
+ children attachement.
+
+ Test: media/controls-after-reload.html
+
+ * rendering/MediaControlElements.cpp:
+ (WebCore::MediaControlElement::styleForElement): Code factoring.
+ (WebCore::MediaControlElement::rendererIsNeeded): Code factoring.
+ (WebCore::MediaControlElement::attach): Implement attach
+ and call super class so that children are also attached.
+ (WebCore::MediaControlElement::updateStyle): Use attach()
+ (WebCore::MediaControlInputElement::styleForElement): Code factoring.
+ (WebCore::MediaControlInputElement::rendererIsNeeded): Code factoring.
+ (WebCore::MediaControlInputElement::attach): See above.
+ (WebCore::MediaControlInputElement::updateStyle): Use attach()
+ * rendering/MediaControlElements.h:
+ * rendering/RenderMedia.cpp:
+ (WebCore::RenderMedia::updateControls): Directly run attach() on
+ the m_panel, which is a root node for our shadow tree.
+
+2009-07-07 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Repaint issue after layer drops out of composited mode.
+ <https://bugs.webkit.org/show_bug.cgi?id=27022>
+
+ RenderLayers cache repaint rects in the form of m_repaintRect and m_outlineBox,
+ and expect these to stay valid from one style change to the next. These rects
+ are relative to the repaint container, so if a layer stops being composited,
+ we need to recompute them.
+
+ Test: compositing/repaint/layer-repaint-rects.html
+
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::computeRepaintRects):
+ * rendering/RenderLayer.h:
+ * rendering/RenderLayerCompositor.cpp:
+ (WebCore::RenderLayerCompositor::updateBacking):
+
+2009-07-07 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Dave Hyatt and Darin Adler.
+
+ - fix https://bugs.webkit.org/show_bug.cgi?id=26963
+ <rdar://problem/7030998> Reproducible crash at
+ FontCache::getFontData() when a custom font is used in a pseudo-style
+
+ Test: fast/css/pseudo-cache-stale.html
+
+ * dom/Element.cpp:
+ (WebCore::Element::pseudoStyleCacheIsInvalid): Added. Given the old
+ style and the new style, goes over cached pseudo-styles in the old
+ style and re-resolves the same style types off the new style. If any of
+ the new pseudo-styles is different from the currently cached
+ corresponding style, returns true. Otherwise, returns false.
+ (WebCore::Element::recalcStyle): Validate the pseudo-style cache before
+ deciding to keep the existing style.
+ * dom/Element.h:
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::uncachedFirstLineStyle): Added this version that
+ returns an uncached first-line style based off the given style.
+ (WebCore::RenderObject::getUncachedPseudoStyle): Added the 'ownStyle'
+ parameter.
+ * rendering/RenderObject.h:
+ * rendering/style/RenderStyle.cpp:
+ (WebCore::RenderStyle::getPseudoStyleCache): Added. Returns the cached
+ pseudo-styles in the passed-in vector.
+ * rendering/style/RenderStyle.h:
+
+2009-07-07 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ - fix https://bugs.webkit.org/show_bug.cgi?id=27042
+ <rdar://problem/7010981> Incomplete painting of newly created floats
+
+ Tests: fast/repaint/float-in-new-block-with-layout-delta.html
+ fast/repaint/float-new-in-block.html
+
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::layoutBlockChildren): If the child has never been
+ laid out before, paint its overhanging floats in addition to itself.
+ * rendering/RenderBlock.h:
+ (WebCore::RenderBlock::FloatWithRect::FloatWithRect): Added and
+ initialized a boolean everHadLayout member.
+ * rendering/bidi.cpp:
+ (WebCore::RenderBlock::layoutInlineChildren): Paint floats that have
+ never been laid out before and did not move from (0, 0).
+
+2009-07-07 Brady Eidson <beidson@apple.com>
+
+ Contributions from both Darin Adler and Brady Eidson.
+ Reviewed by Darin Adler.
+
+ <rdar://problem/7024039> REGRESSION (r42158): Back-forward navigation does not work correctly on nytimes.com
+
+ In r42158 we lost some exclusions to making back/forward items for subframe navigations when a main frame
+ navigation was still in progress.
+
+ This patch makes things even better than it used to be by:
+ - Locking back/forward history at the time the navigation is scheduled, not after the load has committed.
+ - Locking back/forward history if *any* ancestor frame is still loading instead of just the main frame.
+
+ Test: fast/loader/subframe-navigate-during-main-frame-load.html
+
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::submitForm): Move out the history locking logic into a standalone function so it can be
+ used from multiple sites.
+ (WebCore::mustLockBackForwardList): Returns true if any ancestor frame is still loading.
+ (WebCore::FrameLoader::scheduleLocationChange): Respect mustLockBackForwardList() in addition to the passed in
+ lockBackForwardList flag.
+ (WebCore::FrameLoader::scheduleFormSubmission): Ditto.
+
+2009-07-07 Nate Chapin <japhet@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ Upstream DOMObjectsInclude.h from src.chromium.org.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27035
+
+ * bindings/v8/DOMObjectsInclude.h: Added.
+
+2009-07-07 Nate Chapin <japhet@chromium.org>
+
+ Reviewed by David Levin.
+
+ Relanding r45559, which was rolled back at r45574.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26857
+
+ * bindings/scripts/CodeGeneratorV8.pm: Updated a function name in auto-generated bindings.
+ * bindings/v8/V8Binding.cpp: Moved from src.chromium.org.
+ * bindings/v8/V8Binding.h: Contents moved from src.chromium.org.
+ * bindings/v8/V8LazyEventListener.cpp:
+ (WebCore::V8LazyEventListener::getListenerFunction):
+ * bindings/v8/V8Proxy.cpp:
+ (WebCore::handleConsoleMessage):
+ (WebCore::V8Proxy::compileScript):
+ (WebCore::V8Proxy::sourceName):
+ * bindings/v8/WorkerContextExecutionProxy.cpp:
+ (WebCore::handleConsoleMessage):
+ * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
+ (WebCore::NAMED_PROPERTY_SETTER):
+ * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8CustomXPathNSResolver.cpp:
+ (WebCore::V8CustomXPathNSResolver::lookupNamespaceURI):
+ * bindings/v8/custom/V8DOMWindowCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp:
+ (WebCore::ACCESSOR_SETTER):
+ * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
+ (WebCore::removeElement):
+ * bindings/v8/custom/V8SQLTransactionCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8WorkerContextCustom.cpp:
+ (WebCore::SetTimeoutOrInterval):
+ * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+
+2009-07-07 Gregory Hughes <gfhughesVO+webkit@gmail.com>
+
+ Reviewed by Darin Adler.
+
+ AX: Some webpages do not send AXLoadComplete
+ https://bugs.webkit.org/show_bug.cgi?id=26995
+
+ When sending the AXLayoutComplete notification it is possible
+ that the AXObjectCache was cleared, resulting in no valid
+ object to send the notification to. This fix ensures that an
+ AX object is created and cached if one does not already exist.
+
+ Not able to add a test because notifications get sent after the layout test is completed.
+
+ * dom/Document.cpp:
+ (WebCore::Document::implicitClose):
+
+2009-07-06 Pierre d'Herbemont <pdherbemont@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27015
+
+ Make sure that the CSS properties letter-spacing, word-spacing,
+ line-height, text-transform, text-indent, text-shadow,
+ text-decoration and color do not affect the media element controls,
+ that display text.
+
+ Controls that display text are only present in when the theme
+ MediaControllerThemeQT is being used.
+
+ Test: media/controls-styling.html
+
+ * css/mediaControlsQT.css:
+ * rendering/MediaControlElements.cpp:
+ (WebCore::MediaControlElement::updateStyle): Special case for
+ text-decoration. text-decoration can't be overriden from CSS, because
+ text-decoration is additive for historical reasons.
+
+2009-07-07 Albert Wong <ajwong@chromium.org>
+
+ Not reviewed, Chromium build fix.
+
+ Add in missing header + fix syntax issue that crept into last patch.
+ https://bugs.webkit.org/show_bug.cgi?id=27027
+
+ * rendering/RenderThemeChromiumMac.mm:
+ (WebCore::RenderThemeChromiumMac::paintMediaFullscreenButton):
+
+2009-07-07 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dave Hyatt.
+
+ Make use of geometry information to decide which layers become composited.
+
+ <rdar://problem/7011947>
+ <https://bugs.webkit.org/show_bug.cgi?id=27021>
+
+ In addition to looking at painting order, also, optionally, take layer
+ overlap into account when deciding which RenderLayers need to be composited.
+
+ No testcase because DRT doesn't dump which layers are composited.
+
+ * page/FrameView.h:
+ * page/FrameView.cpp:
+ (WebCore::FrameView::updateCompositingLayers):
+ Removed the unused CompositingUpdate parameter, and just do an early return
+ when there is no view.
+
+ * rendering/RenderLayer.h:
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::rendererContentChanged):
+ (WebCore::RenderLayer::dirtyZOrderLists):
+ (WebCore::RenderLayer::dirtyNormalFlowList):
+ (WebCore::RenderLayer::styleChanged):
+ (WebCore::RenderLayer::mustOverlapCompositedLayers):
+ (WebCore::RenderLayer::setMustOverlapCompositedLayers):
+ Change "overlay" to "overlap" for consistency with the use of "overlap"
+ elsewhere.
+
+ * rendering/RenderLayerBacking.cpp:
+ (WebCore::RenderLayerBacking::updateAfterLayout):
+ compositingLayersNeedUpdate() renamed to compositingLayersNeedRebuild().
+
+ (WebCore::RenderLayerBacking::startAnimation):
+ (WebCore::RenderLayerBacking::startTransition):
+ Tell the compositor that we started an accelerated animation or transition.
+
+ * rendering/RenderLayerCompositor.h:
+ (WebCore::RenderLayerCompositor::compositingLayersNeedRebuild):
+ Renamed, since it's explicitly about changes in hierarchy now.
+
+ (WebCore::RenderLayerCompositor::setCompositingConsultsOverlap):
+ (WebCore::RenderLayerCompositor::compositingConsultsOverlap):
+ New getter and setter for whether compositing should take overlap into account.
+
+ * rendering/RenderLayerCompositor.cpp:
+ (WebCore::RenderLayerCompositor::RenderLayerCompositor):
+ Add m_compositingConsultsOverlap, re-order some member variables.
+
+ (WebCore::RenderLayerCompositor::cacheAcceleratedCompositingEnabledFlag):
+ Whitespace cleanup and method rename.
+
+ (WebCore::RenderLayerCompositor::setCompositingLayersNeedRebuild):
+ Method and variable renaming.
+
+ (WebCore::RenderLayerCompositor::updateCompositingLayers):
+ Now we have to run through the layer hierarchy every time if looking
+ at overlap, because changes in layout can now alter compositing behavior.
+ We minimize work by tracking whether we actually need to change the layer
+ hierarchy via needLayerRebuild.
+
+ (WebCore::RenderLayerCompositor::updateBacking):
+ 3D transforms turn off overlap mode.
+
+ (WebCore::RenderLayerCompositor::layerWasAdded):
+ (WebCore::RenderLayerCompositor::layerWillBeRemoved):
+ Method rename.
+
+ (WebCore::RenderLayerCompositor::addToOverlapMap):
+ (WebCore::RenderLayerCompositor::overlapsCompositedLayers):
+ Utility methods to add a layer to the overlapMap (computing the absolute
+ bounding box only if we haven't already done so), and testing the map
+ entries.
+
+ (WebCore::RenderLayerCompositor::computeCompositingRequirements):
+ If a layer would composite only because it comes after other compositing
+ layers in the painting order, then consult the overlap map to determine whether
+ it overlaps, and thus actually needs to composite.
+
+ Add layers to the map when they must be composited.
+
+ (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
+ Only do re-parenting work if the updateHierarchy flag is set.
+
+ (WebCore::RenderLayerCompositor::didStartAcceleratedAnimation):
+ When we start an accelerated transition or animation, we stop looking at
+ overlap because we can no longer guarantee correct front-to-back ordering while the
+ accelerated animation is running.
+
+ (WebCore::RenderLayerCompositor::needsToBeComposited):
+ Method renames.
+
+ * rendering/RenderView.cpp:
+ (WebCore::RenderView::setMaximalOutlineSize):
+ Add comment indicating that this could be optimized.
+
+2009-07-14 Anton Muhin <antonm@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ Speed up creation of V8 wrappers for DOM nodes.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26882
+
+ This patch doesn't require new tests as it a set of refactorings
+ to speed up wrapper creation.
+
+ * bindings/v8/V8Proxy.cpp:
+ * bindings/v8/V8Proxy.h:
+
+2009-07-07 Jan Michael Alonzo <jmalonzo@webkit.org>
+
+ Reviewed by Gustavo Noronha.
+
+ [GTK] textarea height property works only if other property are defined
+ https://bugs.webkit.org/show_bug.cgi?id=18984
+
+ Let WebCore handle textarea's metrics instead of readjusting it RenderthemeGtk.
+
+ Test: fast/forms/textarea-metrics.html
+
+ * platform/gtk/RenderThemeGtk.cpp:
+ * platform/gtk/RenderThemeGtk.h:
+
+2009-07-07 Ben Murdoch <benm@google.com>
+
+ Reviewed by Antti Koivisto.
+
+ HTML5 Database becomes locked if a transaction is in progress when the page is refreshed.
+ https://bugs.webkit.org/show_bug.cgi?id=25711
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=25711 where web
+ storage databases could become locked until the browser is shut
+ down if the page is refreshed whilst a transaction is in progress.
+
+ Test: storage/database-lock-after-reload.html
+
+ * storage/Database.cpp:
+ (WebCore::Database::Database):
+ (WebCore::Database::close): add code to inform the database thread we've closed the database.
+ (WebCore::Database::performOpenAndVerify): add code to inform the database thread we've opened a database.
+ * storage/Database.h:
+ (WebCore::Database::opened): return true iff the underlying sqlite database has been opened but not closed.
+ * storage/DatabaseThread.cpp:
+ (WebCore::DatabaseThread::databaseThread): Before the database thread terminates, close any databases that ran transactions in this thread.
+ (WebCore::DatabaseThread::recordDatabaseOpen): Records a database that executed a transaction in this thread.
+ (WebCore::DatabaseThread::recordDatabaseClosed): Removes a database from the set of open databases.
+ * storage/DatabaseThread.h:
+ (WebCore::DatabaseThread::getThreadID): return the thread id for the database thread.
+
+2009-07-07 Jiahua Huang <jhuangjiahua@gmail.com>
+
+ Reviewed by Jan Alonzo.
+
+ [Gtk] Paste of rich text from firefox results garbled markup
+ https://bugs.webkit.org/show_bug.cgi?id=26791
+
+ Fix problem with UTF-16 clipboard pasted.
+
+ * manual-tests/gtk/paste-richtext-from-firefox.html: Added.
+ * platform/gtk/PasteboardGtk.cpp:
+ (WebCore::Pasteboard::documentFragment):
+
+2009-07-07 Yury Semikhatsky <yurys@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Change 'Continue debug' shortcut from F5 to F8 for consistency with Firebug.
+
+ https://bugs.webkit.org/show_bug.cgi?id=23849
+
+ * inspector/front-end/ScriptsPanel.js:
+ (WebInspector.ScriptsPanel):
+
+2009-07-06 Albert J. Wong <ajwong@chromium.org>
+
+ Reviewed by Maciej Stachowiak.
+
+ Update RenderThemeChromiumMac for wkDrawMediaUIPart and wkDrawMediaSlider API
+ change.
+
+ Fix compile RenderThemeChromiumMac.mm due to API changes from r45572
+ https://bugs.webkit.org/show_bug.cgi?id=27018
+
+ This is mainly an API change update to fix the chromium compile. It
+ also has a small fix of a typo in RenderThemeMac.mm.
+
+ Compilation against the head of chromium trunk passed. Since this is
+ a compile fix, that should be sufficient.
+
+ * rendering/RenderThemeChromiumMac.mm:
+ (WebCore::):
+ (WebCore::RenderThemeChromiumMac::paintMediaFullscreenButton):
+ (WebCore::RenderThemeChromiumMac::paintMediaMuteButton):
+ (WebCore::RenderThemeChromiumMac::paintMediaPlayButton):
+ (WebCore::RenderThemeChromiumMac::paintMediaSeekBackButton):
+ (WebCore::RenderThemeChromiumMac::paintMediaSeekForwardButton):
+ (WebCore::RenderThemeChromiumMac::paintMediaSliderTrack):
+ (WebCore::RenderThemeChromiumMac::paintMediaSliderThumb):
+ * rendering/RenderThemeMac.mm:
+ (WebCore::):
+
+2009-07-06 David Kilzer <ddkilzer@apple.com>
+
+ Bug 27002: Build fix when DASHBOARD_SUPPORT is disabled with -Wunused-parameter
+
+ <https://bugs.webkit.org/show_bug.cgi?id=27002>
+
+ Reviewed by Geoff Garen.
+
+ * html/CanvasRenderingContext2D.cpp:
+ (WebCore::CanvasRenderingContext2D::prepareGradientForDashboard):
+ Mark gradient as an unused parameter when DASHBOARD_SUPPORT is
+ disabled.
+
+2009-07-06 David Kilzer <ddkilzer@apple.com>
+
+ Bug 27001: Fix improper use of PassRefPtr<Node> to RefPtr<Node>
+
+ <https://bugs.webkit.org/show_bug.cgi?id=27001>
+
+ Reviewed by Geoff Garen.
+
+ PassRefPtr<> should only be used for arguments to functions that
+ take ownership of the object, or as return values from functions
+ that relinquish ownership of the object.
+
+ * editing/Editor.cpp:
+ (WebCore::Editor::increaseSelectionListLevelOrdered): Changed
+ stack-allocated PassRefPtr<Node> to RefPtr<Node> and call
+ release() on returned object.
+ (WebCore::Editor::increaseSelectionListLevelUnordered): Ditto.
+
+2009-07-06 Eric Carlson <eric.carlson@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ <rdar://problem/7035474> Make new media controller UI default on SnowLeopard
+
+ * rendering/RenderThemeMac.mm:
+ (WebCore::mediaControllerTheme):
+ New media controller UI is enabled by default on SnowLeopard.
+
+2009-07-06 Nate Chapin <japhet@chromium.org>
+
+ Unreviewed, build fix.
+
+ Roll out r45559 to fix Chromium canary.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26857
+
+ * bindings/scripts/CodeGeneratorV8.pm:
+ * bindings/v8/V8Binding.cpp: Removed.
+ * bindings/v8/V8Binding.h:
+ (WebCore::toInt32):
+ (WebCore::toWebCoreString):
+ (WebCore::fromWebCoreString):
+ (WebCore::toWebCoreStringWithNullCheck):
+ (WebCore::isUndefinedOrNull):
+ (WebCore::v8Boolean):
+ * bindings/v8/V8LazyEventListener.cpp:
+ (WebCore::V8LazyEventListener::getListenerFunction):
+ * bindings/v8/V8Proxy.cpp:
+ (WebCore::handleConsoleMessage):
+ (WebCore::V8Proxy::compileScript):
+ (WebCore::V8Proxy::sourceName):
+ * bindings/v8/WorkerContextExecutionProxy.cpp:
+ (WebCore::handleConsoleMessage):
+ * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
+ (WebCore::NAMED_PROPERTY_SETTER):
+ * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8CustomXPathNSResolver.cpp:
+ (WebCore::V8CustomXPathNSResolver::lookupNamespaceURI):
+ * bindings/v8/custom/V8DOMWindowCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp:
+ (WebCore::ACCESSOR_SETTER):
+ * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
+ (WebCore::removeElement):
+ * bindings/v8/custom/V8SQLTransactionCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8WorkerContextCustom.cpp:
+ (WebCore::SetTimeoutOrInterval):
+ * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+
+2009-07-06 Eric Carlson <eric.carlson@apple.com>
+
+ Reviewed by Darin Adler.
+
+ <rdar://problem/7008093> Media controller can’t be used to scrub when movie is
+ narrow — track is too narrow
+
+ Do not show media controller time display elements when the a movie is too narrow.
+
+ * platform/mac/WebCoreSystemInterface.h:
+ * platform/mac/WebCoreSystemInterface.mm:
+ The 'state' parameter to wkDrawMediaUIPart is now an unsigned bitfield.
+
+ * rendering/MediaControlElements.cpp:
+ (WebCore::MediaControlTimeDisplayElement::MediaControlTimeDisplayElement):
+ Give current time and time remaining controls a common base class.
+ (WebCore::MediaControlTimeDisplayElement::setVisible):
+ New method, hide and show the element.
+ * rendering/MediaControlElements.h:
+
+ * rendering/RenderMedia.cpp:
+ (WebCore::RenderMedia::RenderMedia):
+ Initialize m_previousVisible.
+ (WebCore::RenderMedia::layout):
+ Show/hide the time display elements as the movie width changes.
+ (WebCore::RenderMedia::createCurrentTimeDisplay):
+ (WebCore::RenderMedia::createTimeRemainingDisplay):
+ Base class is now MediaControlTimeDisplayElement, not MediaControlElement.
+ (WebCore::RenderMedia::shouldShowTimeDisplayControls):
+ New, decide if time display elements should be visible or not.
+ * rendering/RenderMedia.h:
+
+ * rendering/RenderThemeMac.mm:
+ (WebCore::):
+ (WebCore::RenderThemeMac::paintMediaFullscreenButton):
+ (WebCore::RenderThemeMac::paintMediaMuteButton):
+ (WebCore::RenderThemeMac::paintMediaPlayButton):
+ (WebCore::RenderThemeMac::paintMediaSeekBackButton):
+ (WebCore::RenderThemeMac::paintMediaSeekForwardButton):
+ (WebCore::RenderThemeMac::paintMediaSliderTrack):
+ (WebCore::RenderThemeMac::paintMediaSliderThumb):
+ (WebCore::RenderThemeMac::paintMediaRewindButton):
+ (WebCore::RenderThemeMac::paintMediaReturnToRealtimeButton):
+ (WebCore::RenderThemeMac::paintMediaControlsBackground):
+ (WebCore::RenderThemeMac::paintMediaCurrentTime):
+ (WebCore::RenderThemeMac::paintMediaTimeRemaining):
+ The 'state' parameter to wkDrawMediaUIPart is now an unsigned bitfield.
+
+2009-07-06 David Kilzer <ddkilzer@apple.com>
+
+ Bug 27000: Minor clean up to runtime_root.{cpp|h}
+
+ <https://bugs.webkit.org/show_bug.cgi?id=27000>
+
+ Reviewed by Geoff Garen.
+
+ * bridge/runtime_root.cpp: Added blank line between license and
+ the first #include statement.
+ * bridge/runtime_root.h: Added comment to #endif.
+
+2009-07-06 Roland Steiner <rolandsteiner@google.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ generalize the special height treatment for SVG (to be re-used for ruby):
+ renamed InlineBox::m_isSVG to m_hasVirtualHeight
+ renamed InlineBox::isSVG() to hasVirtualHeight()
+ renamed InlineBox::setIsSVG() to setHasVirtualHeight()
+
+ * rendering/InlineBox.cpp:
+ (WebCore::InlineBox::height):
+ * rendering/InlineBox.h:
+ (WebCore::InlineBox::InlineBox):
+ (WebCore::InlineBox::isText):
+ (WebCore::InlineBox::setIsText):
+ (WebCore::InlineBox::isSVGRootInlineBox):
+ (WebCore::InlineBox::hasVirtualHeight):
+ (WebCore::InlineBox::setHasVirtualHeight):
+ (WebCore::InlineBox::virtualHeight):
+ * rendering/RenderSVGInline.cpp:
+ (WebCore::RenderSVGInline::createFlowBox):
+ * rendering/RenderSVGInlineText.cpp:
+ (WebCore::RenderSVGInlineText::createTextBox):
+ * rendering/RenderSVGText.cpp:
+ (WebCore::RenderSVGText::createRootBox):
+ * rendering/SVGInlineFlowBox.h:
+ (WebCore::SVGInlineFlowBox::virtualHeight):
+ * rendering/SVGInlineTextBox.h:
+ (WebCore::SVGInlineTextBox::virtualHeight):
+ * rendering/SVGRootInlineBox.h:
+ (WebCore::SVGRootInlineBox::virtualHeight):
+
+2009-07-06 Alice Liu <alice.liu@apple.com>
+
+ Reviewed by Darin Adler.
+
+ REGRESSION(r45285): focus rings are black on windows safari
+ https://bugs.webkit.org/show_bug.cgi?id=26821
+ <rdar://problem/7018252>
+
+ Add a mechanism for setting a custom focus ring color, and relocate the
+ determination of focus ring color to base class RenderTheme.
+
+ No new tests. Already-existing tests run in pixel mode would have caught this regression
+
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::getColorFromPrimitiveValue): Move the responsibility
+ of determining focus color to base class RenderTheme.
+ * rendering/RenderTheme.cpp:
+ (WebCore::customFocusRingColor): Added static local.
+ (WebCore::RenderTheme::setCustomFocusRingColor): Added
+ (WebCore::RenderTheme::focusRingColor): Use custom color over platform color.
+ * rendering/RenderTheme.h:
+ (WebCore::RenderTheme::platformFocusRingColor): default implementation, black color
+ * rendering/RenderThemeSafari.cpp:
+ (WebCore::RenderTheme::themeForPage): Circumstances that lead to returning the RenderThemeWin
+ are the same under which we want to use the focus ring color from SafariTheme.
+ (WebCore::RenderThemeSafari::platformFocusRingColor): Renamed from focusRingColor
+ * rendering/RenderThemeSafari.h:
+
+ Renaming focusRingColor to platformFocusRingColor in these files:
+ * rendering/RenderThemeChromiumMac.h:
+ * rendering/RenderThemeChromiumMac.mm:
+ (WebCore::RenderThemeChromiumMac::platformFocusRingColor):
+ * rendering/RenderThemeChromiumSkia.cpp:
+ (WebCore::RenderThemeChromiumSkia::platformFocusRingColor):
+ * rendering/RenderThemeChromiumSkia.h:
+ * rendering/RenderThemeMac.h:
+ * rendering/RenderThemeMac.mm:
+ (WebCore::RenderThemeMac::platformFocusRingColor):
+
+ Cleanup leftover from removal of WebCore::Color in r45285 in these files:
+ * WebCore.order:
+ * platform/graphics/Color.h:
+
+2009-07-06 Shinichiro Hamaji <hamaji@chromium.org>
+
+ Reviewed by David Hyatt.
+
+ Bug 15135: REGRESSION (r19843-r19850): Changing a flexbox's
+ contents makes its container scroll to the top
+ https://bugs.webkit.org/show_bug.cgi?id=15135
+
+ Delay updateing scroll bar of descendants of flexbox until their
+ positions are determined. In this way we can prevent descendants
+ of flexible boxes from changing positions of their scrollbars
+ using tentative positions.
+
+ Test: fast/flexbox/repaint-scrollbar.html
+
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::startDelayUpdateScrollInfo):
+ (WebCore::RenderBlock::finishDelayUpdateScrollInfo):
+ (WebCore::RenderBlock::updateScrollInfoAfterLayout):
+ (WebCore::RenderBlock::layoutBlock):
+ (WebCore::RenderBlock::layoutOnlyPositionedObjects):
+ * rendering/RenderBlock.h:
+ * rendering/RenderFlexibleBox.cpp:
+ (WebCore::RenderFlexibleBox::layoutHorizontalBox):
+ (WebCore::RenderFlexibleBox::layoutVerticalBox):
+
+2009-07-06 Hironori Bono <hbono@chromium.org>
+
+ Reviewed by Maciej Stachowiak.
+
+ Make unconfirmed IME text affect textarea's value.
+ This matches input and contentEditable elements as well
+ IE and Firefox.
+
+ This fixes https://bugs.webkit.org/show_bug.cgi?id=25061.
+
+ Input elements would go down this code path because it
+ would always get a null compositionNode from frame->editor().
+ Special casing compositionNodes is wrong because we explicitly
+ want unconfirmed IME input in the textarea's value (assuming we
+ want to match IE and Firefox here).
+
+ This change is originally created by Ojan Vafai <ojan@chromium.org> and
+ I just changed its manual tests with an automated test on his behalf.
+
+ Test: platform/mac/editing/input/text-control-ime-input.html
+
+ * rendering/RenderTextControl.cpp:
+ (WebCore::RenderTextControl::text):
+ (WebCore::RenderTextControl::textWithHardLineBreaks):
+
+2009-07-06 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adele Peterson.
+
+ Add the ability for wheel events to latch to a node.
+
+ * WebCore.base.exp:
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::EventHandler):
+ (WebCore::EventHandler::clear):
+ (WebCore::EventHandler::handleWheelEvent):
+ * page/EventHandler.h:
+ * page/mac/EventHandlerMac.mm:
+ (WebCore::EventHandler::wheelEvent):
+ * platform/mac/WebCoreSystemInterface.h:
+ * platform/mac/WebCoreSystemInterface.mm:
+
+2009-07-06 Nate Chapin <japhet@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Fix a bunch of layout test crahses in Chromium caused by a bad usage of DEFINE_STATIC_LOCAL.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26997
+
+ * bindings/v8/V8Binding.cpp:
+ (WebCore::v8ValueToWebCoreString): Use a regular static declaration instead of DEFINE_STATIC_LOCAL.
+
+2009-07-06 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ WebInspector: suggest global properties based on async evaluation.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26976
+
+ Before this change, empty string was evaluated to the global object
+ (or scope chain object) synchronously. This is now fixed and global
+ object is evaluated using the same control flow.
+
+ * inspector/front-end/Console.js:
+ (WebInspector.Console.prototype.completions):
+ (WebInspector.Console.prototype._evalInInspectedWindow):
+ * inspector/front-end/ScriptsPanel.js:
+ (WebInspector.ScriptsPanel.prototype._variablesInScope):
+
+2009-07-06 Ojan Vafai <ojan@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Fix crash when indenting in an empty table cell.
+ https://bugs.webkit.org/show_bug.cgi?id=26872
+
+ The crash is that we would call splitTreeToNode where the node
+ and the nodeToSplitTo were the same node.
+
+ Test: editing/execCommand/indent-empty-table-cell.html
+
+ * editing/CompositeEditCommand.cpp:
+ (WebCore::CompositeEditCommand::splitTreeToNode):
+ Added an assert in that node and nodeToSplitTo
+ are different nodes to make this assumption explicit.
+
+ * editing/IndentOutdentCommand.cpp:
+ (WebCore::IndentOutdentCommand::isAtUnsplittableElement):
+ (WebCore::IndentOutdentCommand::indentRegion):
+ * editing/IndentOutdentCommand.h:
+
+2009-07-06 Nate Chapin <japhet@chromium.org>
+
+ Reviewed by David Levin.
+
+ Upstream V8Binding and update some function names.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26857
+
+ * bindings/scripts/CodeGeneratorV8.pm: Update function names in auto-generated files.
+ * bindings/v8/V8Binding.cpp: Upstreamed from src.chromium.org.
+ * bindings/v8/V8Binding.h: Upstreamed from src.chromium.org.
+ * bindings/v8/V8LazyEventListener.cpp:
+ (WebCore::V8LazyEventListener::getListenerFunction):
+ * bindings/v8/V8Proxy.cpp:
+ (WebCore::handleConsoleMessage):
+ (WebCore::V8Proxy::compileScript):
+ (WebCore::V8Proxy::sourceName):
+ * bindings/v8/WorkerContextExecutionProxy.cpp:
+ (WebCore::handleConsoleMessage):
+ * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
+ (WebCore::NAMED_PROPERTY_SETTER):
+ * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8CustomXPathNSResolver.cpp:
+ (WebCore::V8CustomXPathNSResolver::lookupNamespaceURI):
+ * bindings/v8/custom/V8DOMWindowCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp:
+ (WebCore::ACCESSOR_SETTER):
+ * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
+ (WebCore::removeElement):
+ * bindings/v8/custom/V8SQLTransactionCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8WorkerContextCustom.cpp:
+ (WebCore::SetTimeoutOrInterval):
+ * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+
+2009-07-06 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
+
+ Reviewed by Jan Alonzo.
+
+ Use soup's content sniffing
+ https://bugs.webkit.org/show_bug.cgi?id=26982
+
+ Drop our hackish content sniffing code, and use the new libsoup
+ feature to do that job for us.
+
+ Testing this is in a cross-platform way is not obvious or possible
+ while we are using platform-specific code for sniffing.
+
+ * platform/network/ResourceHandleInternal.h:
+ (WebCore::ResourceHandleInternal::ResourceHandleInternal):
+ * platform/network/soup/ResourceHandleSoup.cpp:
+ (WebCore::gotHeadersCallback):
+ (WebCore::contentSniffedCallback):
+ (WebCore::gotChunkCallback):
+ (WebCore::ResourceHandle::startHttp):
+
+2009-07-05 Antonio Gomes <antonio.gomes@openbossa.org>
+
+ Reviewed by Darin Adler.
+
+ REGRESSION (r40499): fast/dom/cssTarget-crash.html fails
+ https://bugs.webkit.org/show_bug.cgi?id=20342
+
+ Re-added code removed by commit r40499.
+ Without this, both Qt and Mac were crashing while running the test.
+
+ Note that this does not entirely fix the bug. It fixes the WebCore
+ crash, but the test no longer seems to work due to loader changes.
+ So this patch does not reenable the test. The test probably has to
+ be rewritten.
+
+ * dom/ContainerNode.cpp:
+ (WebCore::ContainerNode::removedFromDocument): Re-added code to
+ set the CSS target of the document to 0.
+
+2009-07-05 Chris Marrin <cmarrin@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26943
+
+ When one transition finishes slightly before another the longer
+ one will fire a second time. This is because the second
+ ImplicitAnmation object is culled too early, before its final
+ RenderStyle is in place. This is done by cleanupFinishedAnimations()
+ so I got rid of that method completely and now cleanup each
+ transition or animation at the point where I am setting the final
+ style, or when I detect that the transition or animation has been
+ terminated early (which happens when you remove it from the style).
+
+ Test: transitions/extra-transition.html
+
+ * page/animation/AnimationController.cpp:
+ (WebCore::AnimationControllerPrivate::updateStyleIfNeededDispatcherFired):
+ * page/animation/CompositeAnimation.cpp:
+ (WebCore::CompositeAnimation::updateTransitions):
+ (WebCore::CompositeAnimation::updateKeyframeAnimations):
+ (WebCore::CompositeAnimation::animate):
+ * page/animation/CompositeAnimation.h:
+
+ * page/animation/AnimationBase.cpp:
+ (WebCore::AnimationBase::getTimeToNextEvent):
+ Avoid a divide by zero if m_animation->duration() is zero, which can happen
+ if the duration is changed to zero while the animation is running.
+
+2009-07-05 Simon Fraser <simon.fraser@apple.com>
+
+ Revert the previous commit because it broke the
+ animations/transition-and-animation-1.html
+ testcase.
+
+ * page/animation/AnimationBase.cpp:
+ (WebCore::AnimationBase::getTimeToNextEvent):
+ * page/animation/AnimationController.cpp:
+ (WebCore::AnimationControllerPrivate::updateStyleIfNeededDispatcherFired):
+ * page/animation/CompositeAnimation.cpp:
+ (WebCore::CompositeAnimation::updateTransitions):
+ (WebCore::CompositeAnimation::updateKeyframeAnimations):
+ (WebCore::CompositeAnimation::animate):
+ (WebCore::CompositeAnimation::cleanupFinishedAnimations):
+ * page/animation/CompositeAnimation.h:
+
+2009-07-05 Chris Marrin <cmarrin@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26943
+
+ When one transition finishes slightly before another the longer
+ one will fire a second time. This is because the second
+ ImplicitAnmation object is culled too early, before its final
+ RenderStyle is in place. This is done by cleanupFinishedAnimations()
+ so I got rid of that method completely and now cleanup each
+ transition or animation at the point where I am setting the final
+ style, or when I detect that the transition or animation has been
+ terminated early (which happens when you remove it from the style).
+
+ Test: transitions/extra-transition.html
+
+ * page/animation/AnimationController.cpp:
+ (WebCore::AnimationControllerPrivate::updateStyleIfNeededDispatcherFired):
+ * page/animation/CompositeAnimation.cpp:
+ (WebCore::CompositeAnimation::updateTransitions):
+ (WebCore::CompositeAnimation::updateKeyframeAnimations):
+ (WebCore::CompositeAnimation::animate):
+ * page/animation/CompositeAnimation.h:
+
+ * page/animation/AnimationBase.cpp:
+ (WebCore::AnimationBase::getTimeToNextEvent):
+ Avoid a divide by zero if m_animation->duration() is zero, which can happen
+ if the duration is changed to zero while the animation is running.
+
+2009-07-05 Lars Knoll <lars.knoll@nokia.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26843
+
+ Fix run-time crashes in JavaScriptCore with the Metrowerks compiler on Symbian.
+
+ The Metrowerks compiler on the Symbian platform moves the globally
+ defined Hashtables into read-only memory, despite one of the members
+ being mutable. This causes crashes at run-time due to write access to
+ read-only memory.
+
+ Avoid the use of const with this compiler by introducing the
+ JSC_CONST_HASHTABLE macro.
+
+ Based on idea by Norbert Leser.
+
+ * bindings/scripts/CodeGeneratorJS.pm: Use JSC_CONST_HASHTABLE for hash tables
+ define in the bindings.
+
+2009-07-05 Rob Buis <rwlbuis@gmail.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ Bug 26897 - Dynamic SVG images do not display correctly
+ https://bugs.webkit.org/show_bug.cgi?id=26897
+
+ Use repaint() to fix a rendering problem with a SVG image embedded in xhtml.
+
+ Test: svg/custom/createImageElement2.xhtml
+
+ * rendering/RenderSVGImage.cpp:
+ (WebCore::RenderSVGImage::imageChanged):
+
+2009-07-05 Xan Lopez <xlopez@igalia.com>
+
+ Reviewed by Jan Alonzo.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26960
+ [Gtk] caret offset not updated when selecting text
+
+ Report the caret offset from the end of the selection so it works
+ correctly for multi-char selections too (ie, anything that is not
+ the zero width caret).
+
+ * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
+ (webkit_accessible_text_get_caret_offset):
+
+2009-07-05 Holger Hans Peter Freyther <zecke@selfish.org>
+
+ Unreviewed link fix for Qt.
+
+ Fix Qt link error by adding two new localized strings
+
+ In r45474 two new strings got added to LocalizedStrings.h add
+ the definition of them to Qt.
+
+ * platform/qt/Localizations.cpp:
+ (WebCore::mediaElementLoadingStateText):
+ (WebCore::mediaElementLiveBroadcastStateText):
+
+2009-07-03 Darin Adler <darin@apple.com>
+
+ Reviewed by Adele Peterson.
+
+ REGRESSION (r44670-r44680): Typing is suprisingly slow in password field on reddit.com
+ https://bugs.webkit.org/show_bug.cgi?id=26959
+ rdar://problem/7029882
+
+ The code to handle iteration boundaries was malfunctioning when the boundary was
+ at the edge of a shadow tree. This happens all the time with <input> elements.
+
+ It's not immediately obvious how to make a regression test for this since the
+ symptom was a performance problem, not incorrect behavior. I'll add a test if I
+ figure out a way to make one.
+
+ * editing/TextIterator.cpp:
+ (WebCore::parentCrossingShadowBoundaries): Renamed from parentOrShadowParent.
+ (WebCore::depthCrossingShadowBoundaries): Updated for name change.
+ (WebCore::nextInPreOrderCrossingShadowBoundaries): Added.
+ (WebCore::previousInPostOrderCrossingShadowBoundaries): Added.
+ (WebCore::setUpFullyClippedStack): Updated for name change.
+ (WebCore::TextIterator::TextIterator): Updated for name change. Use
+ nextInPreOrderCrossingShadowBoundaries instead of Range::pastLastNode to fix the bug.
+ (WebCore::TextIterator::advance): Updated for name change.
+ (WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator):
+ Tweaked formatting.
+ (WebCore::SimplifiedBackwardsTextIterator::advance): Ditto. Changed code that
+ initializes m_pastStartNode to use previousInPostOrderCrossingShadowBoundaries.
+ (WebCore::SimplifiedBackwardsTextIterator::handleNonTextNode): Tweaked formatting.
+ (WebCore::SimplifiedBackwardsTextIterator::exitNode): Ditto.
+
+2009-07-03 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Background audio stops playing when JS GC runs
+ https://bugs.webkit.org/show_bug.cgi?id=26956
+
+ Ensure we keep the Audio object around while it is playing, so that it
+ doesn't get collected.
+
+ Not testable because there's no way to know whether the audio keeps
+ playing without holding a reference to it.
+
+ * bindings/js/JSDOMBinding.cpp:
+ (WebCore::isObservableThroughDOM):
+
+2009-07-02 Xan Lopez <xlopez@igalia.com>
+
+ Reviewed by Jan Alonzo.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26814
+ [Gtk] Caret-moved events are not issued for the correct offset
+ when text is selected forward
+
+ Report the caret offset from the end of the selection, otherwise
+ we'll report the same offset when moving the caret while
+ modififying the selection (eg, with Shift + Right).
+
+ * editing/gtk/SelectionControllerGtk.cpp:
+ (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
+
+2009-07-02 Xan Lopez <xlopez@igalia.com>
+
+ Reviewed by Jan Alonzo.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26815
+ [Gtk] text-selection-changed events are not issued for the correct
+ object when the selection spans multiple objects
+
+ Get the focused node from the end of the selection, not the start,
+ so we can detect when we cross object boundaries.
+
+ * editing/gtk/SelectionControllerGtk.cpp:
+ (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
+
+2009-07-02 Pierre d'Herbemont <pdherbemont@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26947
+
+ Fix the media controls hit tests. They may lose click events.
+
+ Test cases already covered in the video-controls-zoomed tests.
+
+ Don't trust wkHitTestMediaUIPart for the tests. We are accurate enough.
+
+ * rendering/RenderThemeMac.h: Remove hitTestMediaControlPart.
+ * rendering/RenderThemeMac.mm: Remove hitTestMediaControlPart.
+
+2009-07-02 Roland Steiner <rolandsteiner@google.com>
+
+ Reviewed by Eric Seidel.
+
+ RenderBlock and RenderInline have confusingly named object creation methods:
+ RenderBlock::createRootBox/createRootInlineBox
+ RenderInline::createFlowBox/createInlineFlowBox
+ where the 2nd method in both cases just calls the first and then appends the created object.
+ I therefore renamed those methods to something IMHO more informative:
+
+ createRootBox() -> createRootInlineBox()
+ createRootInlineBox() -> createAndAppendRootInlineBox();
+ createFlowBox() -> createInlineFlowBox();
+ createInlineFlowBox() -> createAndAppendInlineFlowBox();
+
+ https://bugs.webkit.org/show_bug.cgi?id=26828
+
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::createRootInlineBox):
+ (WebCore::RenderBlock::createAndAppendRootInlineBox):
+ * rendering/RenderBlock.h:
+ * rendering/RenderInline.cpp:
+ (WebCore::RenderInline::createInlineFlowBox):
+ (WebCore::RenderInline::createAndAppendInlineFlowBox):
+ * rendering/RenderInline.h:
+ * rendering/RenderSVGInline.cpp:
+ (WebCore::RenderSVGInline::createInlineFlowBox):
+ * rendering/RenderSVGInline.h:
+ * rendering/RenderSVGText.cpp:
+ (WebCore::RenderSVGText::createRootInlineBox):
+ * rendering/RenderSVGText.h:
+ * rendering/bidi.cpp:
+ (WebCore::createInlineBoxForRenderer):
+
+2009-07-02 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ WebInspector: Fix typo in the resource panel enabler caption.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26753
+
+ * English.lproj/localizedStrings.js:
+ * inspector/front-end/ResourcesPanel.js:
+ (WebInspector.ResourcesPanel):
+
+2009-07-02 Erik Arvidsson <arv@chromium.org>
+
+ Reviewed by Adam Roben.
+
+ [Win] HTML5 Drag and drop, dragend is not fired when pressing Esc
+ https://bugs.webkit.org/show_bug.cgi?id=26699
+
+ * manual-tests/drag-escape.html: Added.
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::dragSourceEndedAt):
+
+2009-07-02 Pierre d'Herbemont <pdherbemont@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26944
+
+ Make sure we support full page zoom in video controls.
+
+ This is tracked by a the video-controls-zoom test case.
+
+ * css/mediaControlsQT.css: Make sure we don't have any inherited margin.
+ * rendering/MediaControlElements.cpp:
+ (WebCore::MediaControlElement::updateStyle): Propagate the style to the innertext.
+ * rendering/RenderThemeMac.mm: Adjust the painting rect.
+ (WebCore::getUnzoomedRectAndAdjustCurrentContext):
+ (WebCore::RenderThemeMac::paintMediaSliderTrack):
+ (WebCore::RenderThemeMac::paintMediaCurrentTime):
+ (WebCore::RenderThemeMac::paintMediaTimeRemaining):
+
+2009-07-02 Pierre d'Herbemont <pdherbemont@apple.com>
+
+ Fix the Gtk build after r45474. The localized strings should
+ have been added there.
+
+ * platform/gtk/LocalizedStringsGtk.cpp:
+ (WebCore::mediaElementLoadingStateText):
+ (WebCore::mediaElementLiveBroadcastStateText):
+
+2009-07-02 Pierre d'Herbemont <pdherbemont@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26939
+
+ Media controller is rendered badly at http://www.mozilla.com/en-US/firefox/video/firefox-3.5.html
+
+ We fix two things:
+ - We use px instead of em, because px is used everywhere else
+ and because 0.09em hit the font size limit.
+ - We use -webkit-box instead of inline-block because in strict mode
+ inline-block has a different behavior.
+
+ Test: media/controls-strict.html
+
+ * css/mediaControlsQT.css:
+
+2009-07-02 David Hyatt <hyatt@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ TextIterator should use hasOverflowClip when checking for overflow instead of looking at the style.
+ https://bugs.webkit.org/show_bug.cgi?id=26942
+
+ * editing/TextIterator.cpp:
+ (WebCore::fullyClipsContents):
+
+2009-07-02 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Dave Hyatt.
+
+ Fix for <rdar://problem/5230700>
+ Remove local .xhtml file workaround
+
+ * platform/network/mac/ResourceResponseMac.mm:
+ (WebCore::ResourceResponse::platformLazyInit): Work around is no longer necessary.
+
+2009-07-02 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Sort, add functions used by WebKit.
+
+ * WebCore.base.exp:
+
+2009-07-02 Brady Eidson <beidson@apple.com>
+
+ Rubberstamped by Sam Weinig.
+
+ More of <rdar://problem/6969425> Safari 4.0 doesn't recognize text/plain files if their extension is unknown.
+
+ * platform/network/mac/WebCoreURLResponse.mm:
+ (webNSURLResponseMIMEType): Give Tiger a chance to query the UTI machinery.
+
+2009-07-02 Adam Langley <agl@google.com>
+
+ Reviewed by Eric Seidel.
+
+ Chromium Linux: fix complex text rendering with line break characters.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26935
+
+ If the CSS white-space property is inhibiting line breaking, we might
+ find end-of-line characters rendered via the complex text path. Fonts
+ don't provide glyphs for these code points so, if we find one, we
+ simulate the space glyph being interposed in this case. Because the
+ input is variable-length per code point, we walk the input in step
+ with the output.
+
+ Covered by:
+ LayoutTests/fast/text/international/bidi-linebreak-002.html
+ LayoutTests/fast/text/international/bidi-linebreak-003.html
+ LayoutTests/fast/text/international/hindi-whitespace.html
+
+ * platform/graphics/chromium/HarfbuzzSkia.cpp:
+ (WebCore::stringToGlyphs):
+
+2009-07-02 Victor Wang <victorw@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26521
+ Expose file size to chromium.
+
+ Implement getFileSize() for Chromium.
+
+ * platform/chromium/ChromiumBridge.h:
+ * platform/chromium/FileSystemChromium.cpp:
+ (WebCore::getFileSize):
+
+2009-07-02 Nate Chapin <japhet@chromium.org>
+
+ Unreviewed, build fix.
+
+ * bindings/v8/V8SVGPODTypeWrapper.h: Lost a space in nested template argument list.
+
+2009-07-02 Simon Fraser <simon.fraser@apple.com>
+
+ Build fix: add missing #include.
+
+ * platform/mac/ThemeMac.mm:
+
+2009-07-02 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dave Hyatt.
+
+ <rdar://problem/7028682> ThemeMac::paintRadio() throws Obj-C exceptions when zoomed
+
+ Add BEGIN_BLOCK_OBJC_EXCEPTIONS/END_BLOCK_OBJC_EXCEPTIONS guards around code
+ that can possibly throw Objective-C exceptions when drawing Mac form controls.
+
+ * platform/mac/ThemeMac.mm:
+ (WebCore::paintCheckbox):
+ (WebCore::paintRadio):
+ (WebCore::paintButton):
+ (WebCore::ThemeMac::inflateControlPaintRect):
+
+2009-07-02 Nate Chapin <japhet@chromium.org>
+
+ Reviewed by David Levin.
+
+ Upstream V8SVGPODTypeWrapper.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26907
+
+ * bindings/scripts/CodeGeneratorV8.pm: Update function being renamed in V8SVGPODTypeWrapper.h.
+ * bindings/v8/V8SVGPODTypeWrapper.h: Upstreamed from src.chromium.org.
+
+2009-07-02 Dumitru Daniliuc <dumi@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Adds an abstraction layer between the DB classes and the file
+ system, which allows us to add our own logic for storing, opening,
+ deleting, etc. databases.
+
+ The patch was tested using the tests in WebCore/storage.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26054
+
+ * GNUmakefile.am:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * platform/sql/SQLiteDatabase.cpp:
+ (WebCore::SQLiteDatabase::open): Delegating the job of opening DB files to SQLiteFileSystem to allow use of custom VFSs.
+ * platform/sql/SQLiteFileSystem.cpp: Added.
+ * platform/sql/SQLiteFileSystem.h: Added.
+ * platform/win/FileSystemWin.cpp:
+ (WebCore::directoryName): Implemented.
+ * storage/Database.cpp:
+ (WebCore::Database::databaseSize): The code that returns the size of a DB file moved to SQLiteFileSystem.
+ * storage/DatabaseTracker.cpp:
+ (WebCore::DatabaseTracker::DatabaseTracker): Added the ability to register a custom SQLite VFS.
+ (WebCore::DatabaseTracker::trackerDatabasePath): DB file-related operations moved to SQLiteFileSystem.
+ (WebCore::DatabaseTracker::openTrackerDatabase): DB file-related operations moved to SQLiteFileSystem.
+ (WebCore::DatabaseTracker::originPath): DB file-related operations moved to SQLiteFileSystem.
+ (WebCore::DatabaseTracker::fullPathForDatabase): DB file-related operations moved to SQLiteFileSystem.
+ (WebCore::DatabaseTracker::usageForDatabase): DB file-related operations moved to SQLiteFileSystem.
+ (WebCore::DatabaseTracker::deleteOrigin): DB file-related operations moved to SQLiteFileSystem.
+ (WebCore::DatabaseTracker::deleteDatabaseFile): DB file-related operations moved to SQLiteFileSystem.
+ * storage/OriginUsageRecord.cpp:
+ (WebCore::OriginUsageRecord::diskUsage): DB file-related operations moved to SQLiteFileSystem.
+
+2009-07-02 David Hyatt <hyatt@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ Always clip replaced elements to border radii.
+ https://bugs.webkit.org/show_bug.cgi?id=26933
+
+ Make sure to always clip replaced elements to border radii, even when overflow is visible.
+ Stop defaulting those elements to overflow:hidden in the UA sheet, since it is now no longer
+ necessary.
+
+ Covered by existing tests (since the UA default changing keeps the behavior exactly the same).
+
+ * css/html.css:
+ * rendering/RenderReplaced.cpp:
+ (WebCore::RenderReplaced::paint):
+ * rendering/RenderWidget.cpp:
+ (WebCore::RenderWidget::paint):
+
+2009-07-02 Jeremy Orlow <jorlow@chromium.org>
+
+ Reviewed by Simon Fraser.
+
+ convertFromScrollbarToContainingView and friends should be in ScrollView
+ https://bugs.webkit.org/show_bug.cgi?id=26929
+
+ This is breaking Chromium's build because PopupMenuChromium inherits
+ from ScrollView, but these functions are pure virtual in it. I could
+ put it directly in PopupMenuChromium, but that seems a bit silly since
+ the functions are fairly generic.
+
+ Passes existing layout tests.
+
+ * page/FrameView.cpp: Remove the 4 functions Hyatt just added
+ (IntRect WebCore::FrameView::convertFromScrollbarToContainingView):
+ (IntRect WebCore::FrameView::convertFromContainingViewToScrollBar):
+ (IntPoint WebCore::FrameView::convertFromScrollbarToContainingView):
+ (IntPoint WebCore::FrameView::convertFromContainingViewToScrollBar):
+ * page/FrameView.h: ditto
+ * platform/ScrollView.cpp: Move the 4 functions from FrameView here
+ (IntRect WebCore::ScrollView::convertFromScrollbarToContainingView):
+ (IntRect WebCore::ScrollView::convertFromContainingViewToScrollBar):
+ (IntPoint WebCore::ScrollView::convertFromScrollbarToContainingView):
+ (IntPoint WebCore::ScrollView::convertFromContainingViewToScrollBar):
+ * platform/ScrollView.h: ditto
+
+2009-07-02 Dirk Pranke <dpranke@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ Fix https://bugs.webkit.org/show_bug.cgi?id=26088 - TransparencyWin
+ doesn't handle errors well at all; revise it to fail silently
+ (drawing nothing), and bulletproof FontChromiumWin to handle the
+ failure accordingly.
+
+ Tests: fast/text/text-large-negative-letter-spacing-with-opacity.html
+ fast/text/text-letter-spacing.html
+
+ * platform/graphics/chromium/FontChromiumWin.cpp:
+ (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::initializeForGDI):
+ (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::~TransparencyAwareFontPainter):
+ (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::TransparencyAwareGlyphPainter):
+ (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::~TransparencyAwareGlyphPainter):
+ (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs):
+ (WebCore::Font::drawGlyphs):
+ (WebCore::Font::drawComplexText):
+ * platform/graphics/chromium/TransparencyWin.cpp:
+ (WebCore::TransparencyWin::TransparencyWin):
+ (WebCore::TransparencyWin::setupLayerForNoLayer):
+ (WebCore::TransparencyWin::setupLayerForOpaqueCompositeLayer):
+ (WebCore::TransparencyWin::setupLayerForWhiteLayer):
+ (WebCore::TransparencyWin::setupTransformForKeepTransform):
+ (WebCore::TransparencyWin::setupTransformForScaleTransform):
+ (WebCore::TransparencyWin::initializeNewContext):
+ (WebCore::TransparencyWin::compositeOpaqueComposite):
+ (WebCore::TransparencyWin::compositeTextComposite):
+ (WebCore::TransparencyWin::makeLayerOpaque):
+ * platform/graphics/chromium/TransparencyWin.h:
+ (WebCore::TransparencyWin::platformContext):
+
+2009-07-02 Eric Carlson <eric.carlson@apple.com>
+
+ Change #import to #include to fix non-ObjC builds.
+
+ * rendering/MediaControlElements.cpp:
+
+2009-07-02 Anders Carlsson <andersca@apple.com>
+
+ Build fix.
+
+ * platform/network/mac/WebCoreURLResponse.mm:
+ (mimeTypeFromUTITree):
+
+2009-07-02 David Hyatt <hyatt@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ Fix for bug 22119, clicks in the scrollbars of transformed content don't work. Add new
+ conversion methods for going across parent/child widget boundaries that can be implemented
+ by the FrameView and ScrollbarClient to be transform-aware.
+
+ Test cases added in platform/mac/fast/forms and platform/mac/fast/overflow.
+
+ * WebCore.base.exp:
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::handleMouseMoveEvent):
+ * page/FrameView.cpp:
+ (WebCore::FrameView::convertFromScrollbarToContainingView):
+ (WebCore::FrameView::convertFromContainingViewToScrollbar):
+ (WebCore::FrameView::convertFromRenderer):
+ (WebCore::FrameView::convertToRenderer):
+ (WebCore::FrameView::convertToContainingView):
+ (WebCore::FrameView::convertFromContainingView):
+ * page/FrameView.h:
+ * platform/ScrollView.h:
+ * platform/Scrollbar.cpp:
+ (WebCore::Scrollbar::convertToContainingView):
+ (WebCore::Scrollbar::convertFromContainingView):
+ * platform/Scrollbar.h:
+ * platform/ScrollbarClient.h:
+ (WebCore::ScrollbarClient::convertFromScrollbarToContainingView):
+ (WebCore::ScrollbarClient::convertFromContainingViewToScrollbar):
+ * platform/Widget.cpp:
+ (WebCore::Widget::convertFromContainingWindow):
+ (WebCore::Widget::convertToContainingWindow):
+ (WebCore::Widget::convertFromRootToContainingWindow):
+ (WebCore::Widget::convertFromContainingWindowToRoot):
+ (WebCore::Widget::convertToContainingView):
+ (WebCore::Widget::convertFromContainingView):
+ * platform/Widget.h:
+ * platform/graphics/IntPoint.h:
+ (WebCore::IntPoint::move):
+ * platform/mac/WidgetMac.mm:
+ (WebCore::Widget::convertFromRootToContainingWindow):
+ (WebCore::Widget::convertFromContainingWindowToRoot):
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::isPointInOverflowControl):
+ * rendering/RenderDataGrid.cpp:
+ (WebCore::RenderDataGrid::convertFromScrollbarToContainingView):
+ (WebCore::RenderDataGrid::convertFromContainingViewToScrollbar):
+ * rendering/RenderDataGrid.h:
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::convertFromScrollbarToContainingView):
+ (WebCore::RenderLayer::convertFromContainingViewToScrollbar):
+ (WebCore::RenderLayer::scrollbarOffset):
+ (WebCore::RenderLayer::hitTestOverflowControls):
+ * rendering/RenderLayer.h:
+ * rendering/RenderListBox.cpp:
+ (WebCore::RenderListBox::isPointInOverflowControl):
+ (WebCore::RenderListBox::convertFromScrollbarToContainingView):
+ (WebCore::RenderListBox::convertFromContainingViewToScrollbar):
+ * rendering/RenderListBox.h:
+
+2009-07-02 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Dave Hyatt and Simon Fraser.
+
+ - fix <rdar://problem/6933052> SPOD playing video in a div with a box
+ shadow
+
+ Test: fast/box-shadow/transform-fringing.html
+
+ * rendering/RenderBoxModelObject.cpp:
+ (WebCore::RenderBoxModelObject::paintBoxShadow): Clip out the
+ box even if it has an opaque background, but in that case, inset the
+ clip path by 1 pixel, to avoid antialiasing artifacts.
+ Do not inset the clip rect by 1 pixel if the CTM is purely a
+ translation.
+ Move the shadow-casting path away in the non-rounded-rect case (it
+ was already being done in the rounded-rect case), to avoid a black
+ fringe when the CTM is not purely a translation.
+
+2009-07-02 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ <rdar://problem/6969425> Safari 4.0 doesn't recognize text/plain files if their extension is unknown.
+
+ Walk the CoreTypes UTI tree for extensions with unknown MIME types, using the first MIME type found.
+
+ For many types of text files (such as source code files) this ends up being text/plain.
+
+ * platform/network/mac/ResourceHandleMac.mm:
+ (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]): Tweak the logging output.
+
+ * platform/network/mac/WebCoreURLResponse.h:
+ * platform/network/mac/WebCoreURLResponse.mm:
+ (mimeTypeFromUTITree):
+ (webNSURLResponseMIMEType): Use mimeTypeFromUTITree() to find a UTI-based MIME type for this file's extension.
+ (-[NSURLResponse _webcore_reportedMIMEType]): Return the actual MIME type that CFNetwork gave us.
+
+2009-07-02 Pierre d'Herbemont <pdherbemont@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ <rdar://problem/6518119>
+
+ Add a rewind button and hide the timeline for live broadcasts when
+ in MediaUI mode.
+
+ * css/CSSPrimitiveValueMappings.h:
+ (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Add the new pseudo element.
+
+ * css/CSSSelector.cpp:
+ (WebCore::CSSSelector::extractPseudoType): Ditto.
+ * css/CSSSelector.h:
+
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Ditto.
+
+ * css/CSSValueKeywords.in: Ditto.
+ * css/mediaControls.css: Ditto.
+ * css/mediaControlsQT.css: Ditto.
+
+ * html/HTMLMediaElement.cpp:
+ (WebCore::HTMLMediaElement::rewind): New.
+ (WebCore::HTMLMediaElement::returnToRealTime): New.
+ (WebCore::HTMLMediaElement::isStreaming): New.
+ * html/HTMLMediaElement.h:
+
+ * page/mac/WebCoreViewFactory.h: Declare mediaElementLoadingStateText and mediaElementLiveBroadcastStateText.
+
+ * platform/LocalizedStrings.h: Add localized media state messages.
+
+ * platform/ThemeTypes.h: Add the new pseudo element.
+
+ * platform/mac/LocalizedStringsMac.mm:
+ (WebCore::mediaElementLoadingStateText): Add localized media state.
+ (WebCore::mediaElementLiveBroadcastStateText): Ditto.
+
+ * platform/mac/WebCoreSystemInterface.h: Change BOOL param wkDrawMediaUIPart to an int to support
+ multiple states.
+ * platform/mac/WebCoreSystemInterface.mm: Ditto.
+
+ * rendering/MediaControlElements.cpp:
+ (WebCore::MediaControlElement::MediaControlElement): Deal with new elements.
+ (WebCore::MediaControlElement::attachToParent): Ditto.
+ (WebCore::MediaControlElement::update): Ditto.
+ (WebCore::MediaControlElement::updateStyle): Ditto.
+ (WebCore::MediaControlTimelineContainerElement::MediaControlTimelineContainerElement): Ditto.
+ (WebCore::MediaControlTimelineContainerElement::rendererIsNeeded): Ditto.
+ (WebCore::MediaControlStatusDisplayElement::MediaControlStatusDisplayElement): Ditto.
+ (WebCore::MediaControlStatusDisplayElement::update): Ditto.
+ (WebCore::MediaControlStatusDisplayElement::rendererIsNeeded): Ditto.
+ (WebCore::MediaControlInputElement::MediaControlInputElement): Ditto.
+ (WebCore::MediaControlInputElement::attachToParent): Ditto.
+ (WebCore::MediaControlInputElement::updateStyle): Ditto.
+ (WebCore::MediaControlRewindButtonElement::MediaControlRewindButtonElement): Ditto.
+ (WebCore::MediaControlRewindButtonElement::defaultEventHandler): Ditto.
+ (WebCore::MediaControlReturnToRealtimeButtonElement::MediaControlReturnToRealtimeButtonElement): Ditto.
+ (WebCore::MediaControlReturnToRealtimeButtonElement::defaultEventHandler): Ditto.
+ (WebCore::MediaControlReturnToRealtimeButtonElement::rendererIsNeeded): Ditto.
+ (WebCore::MediaControlTimelineElement::defaultEventHandler): Ditto.
+ (WebCore::MediaControlTimelineElement::update): Ditto.
+ (WebCore::MediaControlFullscreenButtonElement::rendererIsNeeded): Ditto.
+ * rendering/MediaControlElements.h: Ditto.
+
+ * rendering/RenderMedia.cpp:
+ (WebCore::RenderMedia::styleDidChange): Deal with the new elements.
+ (WebCore::RenderMedia::createPanel): Ditto.
+ (WebCore::RenderMedia::createRewindButton): Ditto.
+ (WebCore::RenderMedia::createReturnToRealtimeButton): Ditto.
+ (WebCore::RenderMedia::createStatusDisplay): Ditto.
+ (WebCore::RenderMedia::createTimelineContainer): Ditto.
+ (WebCore::RenderMedia::createCurrentTimeDisplay): Ditto.
+ (WebCore::RenderMedia::createTimeRemainingDisplay): Ditto.
+ (WebCore::RenderMedia::updateControls): Ditto.
+ (WebCore::RenderMedia::forwardEvent): Ditto.
+ * rendering/RenderMedia.h:
+
+ * rendering/RenderTheme.cpp:
+ (WebCore::RenderTheme::paint): Deal with the new elements.
+
+ * rendering/RenderTheme.h:
+ (WebCore::RenderTheme::paintMediaRewindButton): Deal with the new elements.
+ (WebCore::RenderTheme::paintMediaReturnToRealtimeButton): Ditto.
+ (WebCore::RenderTheme::paintMediaControlsBackground): Ditto.
+
+ * rendering/RenderThemeMac.h:
+ * rendering/RenderThemeMac.mm:
+ (WebCore::RenderThemeMac::paintMediaRewindButton): Deal with the new elements.
+ (WebCore::RenderThemeMac::paintMediaReturnToRealtimeButton): Ditto.
+ (WebCore::RenderThemeMac::paintMediaControlsBackground): Ditto.
+
+ * rendering/style/RenderStyleConstants.h: Add constants for the new elements.
+
+2009-07-01 John Abd-El-Malek <jam@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ Small refactoring of MessagePortChannel so that PlatformMessagePortChannel
+ may be defined at the WebKit layer.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26905
+
+ * dom/MessageChannel.cpp:
+ (WebCore::MessageChannel::MessageChannel):
+ * dom/MessagePortChannel.cpp:
+ * dom/MessagePortChannel.h:
+ * dom/default/PlatformMessagePortChannel.cpp:
+ (WebCore::MessagePortChannel::createChannel):
+ (WebCore::MessagePortChannel::create):
+ (WebCore::MessagePortChannel::MessagePortChannel):
+ (WebCore::MessagePortChannel::~MessagePortChannel):
+
+2009-07-01 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ <video> fails to show on http://camendesign.com/code/video_for_everybody
+ <rdar://problem/7026010>
+ https://bugs.webkit.org/show_bug.cgi?id=26919
+
+ Fix an issue introduced in r44961. In that revision we changed to only update
+ compositing layer geometry when all siblings had been laid out (i.e. we pushed
+ the updates one level down). However, that left out the root layer, so this
+ fix ensures that the root layer geometry gets updated at the end.
+
+ Test: compositing/geometry/root-layer-update.html
+
+ * rendering/RenderLayerBacking.cpp:
+ (WebCore::RenderLayerBacking::updateAfterLayout):
+
+2009-07-01 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dan Bernstein
+
+ <rdar://problem/7026010> <video> fails to show on http://camendesign.com/code/video_for_everybody
+
+ First part of fix: when outline width changes, don't to a synchronous
+ layer update right away, but just set the flag to say that compositing
+ layers need updating. The synchronous layer update left the layer geometries
+ out of whack when it happened in the middle of layout (e.g. when inside ::first-letter).
+
+ Test: compositing/geometry/outline-change.html
+
+ * rendering/RenderView.cpp:
+ (WebCore::RenderView::setMaximalOutlineSize):
+
+2009-07-01 Kwang Yul Seo <skyul@company100.net>
+
+ Reviewed by Eric Seidel.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26842
+ Build fix when ENABLE_DATABASE is off
+
+ Move Database.h into ENABLE(DATABASE) guard so toggling ENABLE_DATABASE
+ off does not break builds.
+
+ * bindings/js/ScriptObjectQuarantine.cpp:
+
+2009-07-01 Daniel Bates <dbates@intudata.com>
+
+ Reviewed by Adam Barth.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26899
+
+ Modified XSSAuditor::decodeURL to only remove null characters so that
+ it is consistent with the behavior of HTMLTokenizer and prevents
+ injected scripts that contain control characters.
+
+ Tests: http/tests/security/xssAuditor/script-tag-control-char.html
+ http/tests/security/xssAuditor/script-tag-null-char.html
+
+ * page/XSSAuditor.cpp:
+ (WebCore::XSSAuditor::decodeURL): Modified to only remove null characters.
+ * page/XSSAuditor.h: Reverted naming of third argument of method XSSAuditor::decodeURL
+ from allowControlCharacters back to allowNullCharacters.
+ * platform/network/ResourceResponseBase.cpp: Reverted back to rev #45003.
+ (WebCore::isControlCharacter):
+ * platform/network/ResourceResponseBase.h: Reverted back to rev #45003.
+
+2009-07-01 Yury Semikhatsky <yurys@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ - supported keyboard shortcuts compatible with Firebug in Scripts Debugger:
+ F5, Ctrl+/ (win,lin), Command+/ (mac) - continue
+ F10, Ctrl+' (win, lin), Command+' (mac) - step over
+ F11, Ctrl+; (win, lin), Command+; (mac) - step into
+ Shift+F11, Ctrl+Shift+; (win, lin), Command+Shift+; (mac) - step out
+
+ - added call stack navigation shortcuts:
+ Ctrl+. - next call frame
+ Ctrl+, - previouse call frame
+
+ https://bugs.webkit.org/show_bug.cgi?id=23849
+
+ * inspector/front-end/CallStackSidebarPane.js:
+ (WebInspector.CallStackSidebarPane):
+ (WebInspector.CallStackSidebarPane.prototype.handleKeyEvent):
+ (WebInspector.CallStackSidebarPane.prototype._selectNextCallFrameOnStack):
+ (WebInspector.CallStackSidebarPane.prototype._selectPreviousCallFrameOnStack):
+ (WebInspector.CallStackSidebarPane.prototype._selectedPlacardByIndex):
+ (WebInspector.CallStackSidebarPane.prototype._selectedCallFrameIndex):
+ * inspector/front-end/KeyboardShortcut.js: Added.
+ (WebInspector.KeyboardShortcut):
+ (WebInspector.KeyboardShortcut.makeKey):
+ (WebInspector.KeyboardShortcut.makeKeyFromEvent):
+ (WebInspector.KeyboardShortcut.makeKeyFromCodeAndModifiers_):
+ * inspector/front-end/ScriptsPanel.js:
+ (WebInspector.ScriptsPanel):
+ (WebInspector.ScriptsPanel.prototype.handleKeyEvent):
+ * inspector/front-end/WebKit.qrc:
+ * inspector/front-end/inspector.html:
+
+2009-07-01 Daniel Erat <derat@google.com>
+
+ Reviewed by David Levin.
+
+ Chromium Linux: Move the scrollbar thumb on middle-click.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26910
+ http://code.google.com/p/chromium/issues/detail?id=11976
+
+ Tested by building Chrome and checking that the scrollbar moves as expected.
+
+ * platform/chromium/ScrollbarThemeChromium.cpp:
+ * platform/chromium/ScrollbarThemeChromium.h:
+ * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
+ * platform/chromium/ScrollbarThemeChromiumLinux.h:
+ * platform/chromium/ScrollbarThemeChromiumWin.cpp:
+ * platform/chromium/ScrollbarThemeChromiumWin.h:
+
+2009-07-01 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add a preference/setting to toggle whether content sniffing is enabled for file URLs.
+
+ * WebCore.base.exp:
+
+ * page/Settings.cpp:
+ (WebCore::Settings::setLocalFileContentSniffingEnabled):
+ * page/Settings.h:
+ (WebCore::Settings::localFileContentSniffingEnabled):
+
+ * platform/network/mac/ResourceHandleMac.mm:
+ (WebCore::ResourceHandle::start):
+ (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]):
+
+2009-07-01 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Bug 26909: aria-label needs to be supported
+ https://bugs.webkit.org/show_bug.cgi?id=26909
+
+ Test: accessibility/aria-label.html
+
+ * accessibility/AccessibilityRenderObject.cpp:
+ (WebCore::AccessibilityRenderObject::accessibilityDescription):
+ * html/HTMLAttributeNames.in:
+
+2009-07-01 David Hyatt <hyatt@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ More datagrid columns work. Make sure columns cache both a style for the column header as well
+ as a style for the column background (behind the cells).
+
+ Hook up to CSSStyleSelector methods for obtaining the pseudo styles for columns (stubbed out and
+ unimplemented).
+
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::pseudoStyleForDataGridColumn):
+ (WebCore::CSSStyleSelector::pseudoStyleForDataGridColumnHeader):
+ * css/CSSStyleSelector.h:
+ * html/DataGridColumn.h:
+ (WebCore::DataGridColumn::setColumnList):
+ (WebCore::DataGridColumn::columnStyle):
+ (WebCore::DataGridColumn::setColumnStyle):
+ (WebCore::DataGridColumn::headerStyle):
+ (WebCore::DataGridColumn::setHeaderStyle):
+ * rendering/RenderDataGrid.cpp:
+ (WebCore::RenderDataGrid::recalcStyleForColumn):
+ (WebCore::RenderDataGrid::columnStyle):
+ (WebCore::RenderDataGrid::headerStyle):
+ (WebCore::RenderDataGrid::paintColumnHeaders):
+ * rendering/RenderDataGrid.h:
+
+2009-07-01 Eric Carlson <eric.carlson@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ <rdar://problem/7009870> After <audio> movie finishes playing, Pause button fails to change
+ back to Play button
+
+ Grab onto the current time when QTKit "ended" notification fires and use it as
+ duration from that point on as QuickTime sometimes refuses to play all the way to
+ the time it reports for duration and buffered. HTMLMediaElement assumes that there
+ more to play in this situation and tries to restart playback, endlessly.
+
+ * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
+ Rename m_duration to m_reportedDuration. Declare m_cachedDuration.
+ * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
+ (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
+ Rename m_duration to m_reportedDuration. Initialize m_cachedDuration.
+ (WebCore::MediaPlayerPrivate::duration):
+ Return m_cachedDuration once it has been set.
+ (WebCore::MediaPlayerPrivate::updateStates):
+ Rename m_duration to m_reportedDuration.
+ (WebCore::MediaPlayerPrivate::didEnd):
+ Set m_cachedDuration to currentTime().
+
+2009-07-01 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Beth Dakin.
+
+ Bug 26900: AX: Manual spell check with Command-; does not bring up suggestions
+ https://bugs.webkit.org/show_bug.cgi?id=26900
+
+ Editable web areas should have a clickpoint that uses where the selection is.
+
+ Test: accessibility/editable-webarea-context-menu-point.html
+
+ * accessibility/AccessibilityObject.h:
+ * accessibility/AccessibilityRenderObject.cpp:
+ (WebCore::AccessibilityRenderObject::clickPoint):
+ * accessibility/AccessibilityRenderObject.h:
+ * accessibility/mac/AccessibilityObjectWrapper.mm:
+ (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
+
+2009-07-01 David Levin <levin@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Remove unused code in SVGTransformList and SVGTransformDistance
+ <https://bugs.webkit.org/show_bug.cgi?id=26891>
+
+ * svg/SVGTransformDistance.cpp:
+ (WebCore::SVGTransformDistance::SVGTransformDistance):
+ * svg/SVGTransformList.cpp:
+ * svg/SVGTransformList.h:
+
+2009-07-01 David Hyatt <hyatt@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ Begin stubbing out functions for layout, painting and style/geometry caching on columns. Not enough
+ is implemented for this to do much of anything yet, but it should help keep patch sizes down. :)
+
+ * html/DataGridColumn.cpp:
+ (WebCore::DataGridColumn::columnChanged):
+ * html/DataGridColumn.h:
+ (WebCore::DataGridColumn::setId):
+ (WebCore::DataGridColumn::setLabel):
+ (WebCore::DataGridColumn::setType):
+ (WebCore::DataGridColumn::setSortable):
+ (WebCore::DataGridColumn::setSortDirection):
+ (WebCore::DataGridColumn::setColumnList):
+ (WebCore::DataGridColumn::style):
+ (WebCore::DataGridColumn::setStyle):
+ (WebCore::DataGridColumn::rect):
+ (WebCore::DataGridColumn::setRect):
+ * html/DataGridColumnList.cpp:
+ (WebCore::DataGridColumnList::DataGridColumnList):
+ (WebCore::DataGridColumnList::setDataGridNeedsLayout):
+ (WebCore::DataGridColumnList::add):
+ (WebCore::DataGridColumnList::remove):
+ (WebCore::DataGridColumnList::move):
+ (WebCore::DataGridColumnList::clear):
+ (WebCore::DataGridColumnList::primaryColumnChanged):
+ * html/DataGridColumnList.h:
+ (WebCore::DataGridColumnList::create):
+ (WebCore::DataGridColumnList::dataGrid):
+ (WebCore::DataGridColumnList::clearDataGrid):
+ * html/HTMLDataGridColElement.cpp:
+ (WebCore::HTMLDataGridColElement::HTMLDataGridColElement):
+ (WebCore::HTMLDataGridColElement::findDataGridAncestor):
+ (WebCore::HTMLDataGridColElement::insertedIntoTree):
+ (WebCore::HTMLDataGridColElement::removedFromTree):
+ * html/HTMLDataGridColElement.h:
+ (WebCore::HTMLDataGridColElement::dataGrid):
+ * html/HTMLDataGridElement.cpp:
+ (WebCore::HTMLDataGridElement::HTMLDataGridElement):
+ (WebCore::HTMLDataGridElement::~HTMLDataGridElement):
+ * rendering/RenderDataGrid.cpp:
+ (WebCore::RenderDataGrid::styleDidChange):
+ (WebCore::RenderDataGrid::recalcStyleForColumns):
+ (WebCore::RenderDataGrid::recalcStyleForColumn):
+ (WebCore::RenderDataGrid::styleForColumn):
+ (WebCore::RenderDataGrid::layout):
+ (WebCore::RenderDataGrid::layoutColumns):
+ (WebCore::RenderDataGrid::paintColumnHeaders):
+ (WebCore::RenderDataGrid::paintColumnHeader):
+ * rendering/RenderDataGrid.h:
+ (WebCore::RenderDataGrid::renderName):
+ (WebCore::RenderDataGrid::canHaveChildren):
+
+2009-07-01 Daniel Bates <dbates@intudata.com>
+
+ Reviewed by Adam Barth.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26807
+
+ Fixes this address by checking whether frame->document()->decoder() is null.
+
+ * page/XSSAuditor.cpp:
+ (WebCore::XSSAuditor::findInRequest):
+
+2009-07-01 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
+
+ Reviewed by George Staikos.
+
+ Fixes: https://bugs.webkit.org/show_bug.cgi?id=26885
+
+ Correctly reset history length to '0', not '1'. Old relict from early WML days.
+ Add some new WML testcases covering the use of history length (by onenterforward event handling)
+
+ Tests: wml/onenterforward-event.html
+ wml/onenterforward-inline-event.html
+ wml/ontimer-event.html
+
+ * wml/WMLPageState.cpp:
+ (WebCore::WMLPageState::reset):
+
+2009-07-01 David Hyatt <hyatt@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ Make sure setting attributes on dcol elements properly updates the corresponding DataGridColumn object.
+
+ Added new test in fast/dom/HTMLDataGridElement.
+
+ * html/HTMLDataGridColElement.cpp:
+ (WebCore::HTMLDataGridColElement::parseMappedAttribute):
+ * html/HTMLDataGridColElement.h:
+
+2009-07-01 David Hyatt <hyatt@apple.com>
+
+ Reviewed by Tim Hatcher.
+
+ <rdar://problem/6998524> REGRESSION (r44474): Form text field has focus ring, looks focused,
+ even though the field is not actually focused for keyboard input
+
+ Add the concept of whether or not the Page is focused by adding a boolean to the focusController. This allows the
+ focused frame and focused node to both be cached and changed programmatically even when the Page itself doesn't
+ actually happen to have focus at that time.
+
+ * WebCore.base.exp:
+ * page/FocusController.cpp:
+ (WebCore::FocusController::FocusController):
+ (WebCore::FocusController::setFocusedFrame):
+ (WebCore::FocusController::setFocused):
+ (WebCore::FocusController::setActive):
+ * page/FocusController.h:
+ (WebCore::FocusController::isFocused):
+
+2009-07-01 Jakub Wieczorek <faw217@gmail.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Move some API headers from WebCore.pro to headers.pri so that they
+ get installed when running make install from the build directory.
+
+ * WebCore.pro:
+
+2009-07-01 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Rubber-stamped by Ariya Hidayat.
+
+ Ran WebKitTools/Scripts/generate-qt-inspector-resource to update the
+ qrc file with new png files from the web inspector.
+
+ * inspector/front-end/WebKit.qrc:
+
+2009-06-30 Mark Rowe <mrowe@apple.com>
+
+ Land some code that has a hope of compiling.
+
+ * platform/graphics/cg/ImageSourceCG.cpp:
+ (WebCore::imageSourceOptions):
+
+2009-06-30 Stephanie Lewis <slewis@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ Flip back on block caching. Throwing away block data, while
+ a perceived memory win, is a performance hit in cases where we
+ are repainting large images (i.e. backgrounds) frequently
+ (i.e. a flash video playing on top).
+ <rdar://problem/6933515> REGRESSION(L-SL): Large JPEG images are
+ decoded on drawing, slowing down painting of sites that frequently
+ repaint e.g. because of Flash (pandora.com, Starcraft 2)
+
+ * platform/graphics/cg/ImageSourceCG.cpp:
+ (WebCore::imageSourceOptions):
+
+2009-06-30 Maciej Stachowiak <mjs@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ - Rename html4.css to html.css, since we target HTML5 now
+ https://bugs.webkit.org/show_bug.cgi?id=26873
+
+ * DerivedSources.make:
+ * GNUmakefile.am:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * css/CSSStyleSelector.cpp:
+ (WebCore::loadFullDefaultStyle):
+ * css/html.css: Copied from css/html4.css.
+ * css/html4.css: Removed.
+ * css/themeWin.css:
+ * platform/Theme.h:
+ * platform/qt/RenderThemeQt.cpp:
+ (WebCore::RenderThemeQt::adjustMenuListButtonStyle):
+ * rendering/RenderTheme.h:
+
+2009-06-30 Zan Dobersek <zandobersek@gmail.com>
+
+ Reviewed by Gustavo Noronha.
+
+ [GTK] Drag and drop support
+ https://bugs.webkit.org/show_bug.cgi?id=23642
+
+ Define DragImageRef as GdkPixbuf and implement essential
+ functions which manipulate drag images.
+
+ * platform/DragImage.h:
+ * platform/gtk/DragImageGtk.cpp:
+ (WebCore::dragImageSize):
+ (WebCore::deleteDragImage):
+ (WebCore::scaleDragImage):
+ (WebCore::createDragImageFromImage):
+
+2009-06-30 Maxime Simon <simon.maxime@gmail.com>
+
+ Reviewed by Eric Seidel.
+
+ StorageNamespace.cpp build issue
+ https://bugs.webkit.org/show_bug.cgi?id=26859
+
+ Moved #endif //ENABLE(DOM_STORAGE) position
+ so that the build doesn't fail.
+ The namespace WebCore was started after the #if ENABLE(DOM_STORAGE)
+ but closed after the #endif.
+
+ * storage/StorageNamespace.cpp:
+
+2009-06-30 Eric Carlson <eric.carlson@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ <rdar://problem/7020825> HTMLMediaElement should not assume seeking is only possible in
+ buffered time ranges
+
+ * html/HTMLMediaElement.cpp:
+ Don't ASSERT if the network state goes to Idle when when the ready state is
+ HaveEnoughData or higher, it is perfectly legal.
+ (WebCore::HTMLMediaElement::setReadyState):
+ Don't clear m_seeking after posting a 'seeking' event.
+
+ * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
+ (WebCore::MediaPlayerPrivate::seek):
+ Do nothing when asked to seek to the same time we are already seeking to. Check requested
+ seek time against maxTimeSeekable, not maxTimeLoaded.
+ (WebCore::MediaPlayerPrivate::doSeek):
+ Don't bother stopping a movie that isn't playing. Minor cleanup to make the code more readable.
+ (WebCore::MediaPlayerPrivate::seekTimerFired):
+ Check requested seek time against maxTimeSeekable, not maxTimeLoaded.
+ (WebCore::MediaPlayerPrivate::updateStates):
+ A streaming movie has as much data as it needs once it reaches "playable", so
+ set the ready state to HaveFutureData. A movie with metadata doesn't drop back
+ to "have nothing" when seeking. A streaming movie doesn't use the network when paused.
+ (WebCore::MediaPlayerPrivate::timeChanged):
+ It may not be possible to seek to a specific time in a streamed movie but when seeking
+ in a streaming movie QuickTime sets the time to closest time possible and posts a
+ timechanged notification, so update m_seekTo so we can detect when the seek completes.
+
+2009-06-30 Steve Falkenburg <sfalken@apple.com>
+
+ https://bugs.webkit.org/show_bug.cgi?id=26860
+
+ Reviewed by Sam Weinig.
+
+ Blacklist Yahoo Application State plug-in for versions prior to 1.0.0.6.
+ Earlier versions cause corruption crashes.
+
+ * plugins/win/PluginPackageWin.cpp:
+ (WebCore::PluginPackage::isPluginBlacklisted):
+
+2009-06-30 Dean Jackson <dino@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ <rdar://problem/7005207> <video> in canvas broken with ACCEL_COMPOSITING
+
+ Fix drawImage of video in CanvasRenderingContext2D when
+ accelerated compositing is enabled. This is done by
+ adding a new paint method to HTMLVideoElement that
+ is only called from canvas, which will create the software
+ renderer if necessary, but otherwise calls the regular
+ paint method. Meanwhile, add logic to the software video
+ renderer so that it can be created without calling repaint
+ every time it sees a new frame.
+
+ * html/CanvasRenderingContext2D.cpp:
+ (WebCore::CanvasRenderingContext2D::drawImage):
+ * html/HTMLVideoElement.cpp:
+ (WebCore::HTMLVideoElement::paintCurrentFrameInContext):
+ * html/HTMLVideoElement.h:
+ * platform/graphics/MediaPlayer.cpp:
+ (WebCore::MediaPlayer::paintCurrentFrameInContext):
+ * platform/graphics/MediaPlayer.h:
+ * platform/graphics/MediaPlayerPrivate.h:
+ (WebCore::MediaPlayerPrivateInterface::paintCurrentFrameInContext):
+ * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
+ * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
+ (WebCore::MediaPlayerPrivate::createQTMovie):
+ (WebCore::MediaPlayerPrivate::createQTVideoRenderer):
+ (WebCore::MediaPlayerPrivate::currentRenderingMode):
+ (WebCore::MediaPlayerPrivate::setUpVideoRendering):
+ (WebCore::MediaPlayerPrivate::tearDownVideoRendering):
+ (WebCore::MediaPlayerPrivate::paintCurrentFrameInContext):
+
+2009-06-30 David Hyatt <hyatt@apple.com>
+
+ Reviewed by Beth Dakin.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26858
+
+ Get <dcol> elements reflected into the datagrid's column list. Make sure columns get added/removed
+ properly. (Attribute changes are still not caught. That is coming in a separate patch.)
+
+ Added fast/dom/HTMLDataGridElement/DataGridColumns-dom.html
+
+ * html/DataGridColumn.h:
+ (WebCore::DataGridColumn::create):
+ (WebCore::DataGridColumn::setColumnList):
+ (WebCore::DataGridColumn::DataGridColumn):
+ * html/DataGridColumnList.cpp:
+ (WebCore::DataGridColumnList::add):
+ (WebCore::DataGridColumnList::remove):
+ (WebCore::DataGridColumnList::clear):
+ * html/DataGridColumnList.h:
+ * html/HTMLDataGridColElement.cpp:
+ (WebCore::HTMLDataGridColElement::HTMLDataGridColElement):
+ (WebCore::HTMLDataGridColElement::findDatagridAncestor):
+ (WebCore::HTMLDataGridColElement::ensureColumn):
+ (WebCore::HTMLDataGridColElement::insertedIntoTree):
+ (WebCore::HTMLDataGridColElement::removedFromTree):
+ (WebCore::HTMLDataGridColElement::sortable):
+ (WebCore::HTMLDataGridColElement::setSortable):
+ * html/HTMLDataGridColElement.h:
+ (WebCore::HTMLDataGridColElement::column):
+ (WebCore::HTMLDataGridColElement::setColumn):
+ (WebCore::HTMLDataGridColElement::datagrid):
+ * html/HTMLDataGridElement.cpp:
+ (WebCore::HTMLDataGridElement::setDataSource):
+ (WebCore::HTMLDataGridElement::dataSource):
+
+2009-06-30 Jeremy Orlow (jorlow@chromium.org)
+
+ Reviewed by David Levin.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26852
+
+ Fix some minor build issues in the v8 bindings.
+
+ * bindings/v8/custom/V8StorageCustom.cpp:
+ (WebCore::V8Custom::v8StorageNamedPropertyEnumerator):
+ (WebCore::storageGetter):
+ (WebCore::storageSetter):
+ (WebCore::storageDeleter):
+ * storage/StorageArea.cpp:
+
+2009-06-30 Adam Langley <agl@google.com>
+
+ Reviewed by Eric Seidel.
+
+ Chromium Linux: use different fonts for each script run.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26853
+
+ Previously, when rendering complex text, we picked a single font which
+ could render all the glyphs needed for the run. However, this meant
+ that sometimes lines were rendered with, for example, [LATIN, THAI,
+ LATIN] and we could end up with a different font for the Latin parts
+ than for lines without Thai in them.
+
+ With this patch, we pick a font for each script run.
+
+ This change is covered by existing layout tests.
+
+ * platform/graphics/chromium/FontLinux.cpp:
+ (WebCore::Font::drawGlyphs):
+ (WebCore::TextRunWalker::TextRunWalker):
+ (WebCore::TextRunWalker::~TextRunWalker):
+ (WebCore::TextRunWalker::nextScriptRun):
+ (WebCore::TextRunWalker::fontPlatformDataForScriptRun):
+ (WebCore::TextRunWalker::setupFontForScriptRun):
+ (WebCore::TextRunWalker::allocHarfbuzzFont):
+ (WebCore::setupForTextPainting):
+ (WebCore::Font::drawComplexText):
+ (WebCore::Font::floatWidthForComplexText):
+ (WebCore::Font::offsetForPositionForComplexText):
+ (WebCore::Font::selectionRectForComplexText):
+ * platform/graphics/chromium/FontPlatformDataLinux.cpp:
+ (WebCore::FontPlatformData::setupPaint):
+
+2009-06-30 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dave Hyatt, Dan Bernstein.
+
+ <rdar://problem/6191676> Redraw issues scrolling overflow:scroll div with compositing
+
+ There are two parts to this fix. First, if a compositing layer has overflow clipping
+ or a mask, then the compositing layer does not need to be sized to encompass all
+ non-composited children.
+
+ Second, when scrolling, we have to back up to the compositing ancestor and have
+ it reposition descendant compositing layers, because overflow doesn't follow
+ the z-order tree.
+
+ Test: compositing/overflow/overflow-scroll.html
+
+ * page/FrameView.cpp:
+ (WebCore::FrameView::layout):
+ Pass the UpdateCompositingLayers flag when updating layers after layout, so that
+ we can reposition compositing layers if we're not about to do a layer rebuild.
+
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::updateLayerPositions):
+ Only update compositing layers if the flag is set.
+
+ (WebCore::RenderLayer::scrollToOffset):
+ Do compositing layer updates from the compositing ancestor in one fell swoop.
+
+ * rendering/RenderLayer.h:
+ Replace the unused FullUpdate flag with one that allows us to specify whether
+ compositing layers should be updated.
+
+ * rendering/RenderLayerBacking.cpp:
+ (WebCore::RenderLayerBacking::updateAfterLayout):
+ * rendering/RenderLayerBacking.h:
+ New param that we can pass to updateCompositingDescendantGeometry to control
+ whether the update goes deep.
+
+ * rendering/RenderLayerCompositor.cpp:
+ (WebCore::RenderLayerCompositor::calculateCompositedBounds):
+ We can return earlier if this is not a self-painting layer.
+ If the layer has overflow clip or a mask, then the composited bounds are just the
+ local bounds, excluding descendants.
+
+ (WebCore::RenderLayerCompositor::updateCompositingDescendantGeometry):
+ * rendering/RenderLayerCompositor.h:
+ Renamed from updateCompositingChildrenGeometry, and added a flag that allows
+ us to do a deep update.
+
+2009-06-30 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Dan Bernstein.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26764
+ Uncaught NOT_FOUND_ERR: DOMException 8 loading empty text file
+
+ Test: fast/parser/empty-text-resource.html
+
+ * loader/TextDocument.cpp: (WebCore::TextTokenizer::finish): Create document tree if it
+ hasn't been created yet.
+
+2009-06-30 Brian Weinstein <bweinstein@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Renamed scrollbarUnderPoint to scrollbarAtPoint.
+
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::hitTestResultAtPoint):
+ (WebCore::EventHandler::handleMousePressEvent):
+ (WebCore::EventHandler::handleMouseMoveEvent):
+ * platform/ScrollView.cpp:
+ (WebCore::ScrollView::scrollbarAtPoint):
+ * platform/ScrollView.h:
+ * platform/chromium/PopupMenuChromium.cpp:
+ (WebCore::PopupListBox::handleMouseDownEvent):
+ (WebCore::PopupListBox::handleMouseMoveEvent):
+
+2009-06-30 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Geoff Garen.
+
+ <rdar://problem/6960286> CrashTracer: [REGRESSION] 1120 crashes in Safari at com.apple.WebCore WebCore::JSLazyEventListener::parseCode const + 62
+
+ <select> elements and other elements the produce popups can keep their popups
+ live across a page load. If this occurs and the <select> element has an
+ onchange handler it is possible to get into a state where we try to execute
+ JS on a page that no longer has an execution context.
+
+ * bindings/js/JSLazyEventListener.cpp:
+ (WebCore::JSLazyEventListener::parseCode):
+ Be paranoid and add a null check, but assert as well because we shouldn't
+ actually get to this point.
+ * rendering/RenderMenuList.cpp:
+ (WebCore::RenderMenuList::valueChanged):
+
+2009-06-30 Drew Wilson <atwilson@google.com>
+
+ Reviewed by David Levin.
+
+ <https://bugs.webkit.org/show_bug.cgi?id=25435>
+
+ Added support for sending MessagePorts to/from Workers via postMessage().
+
+ * bindings/js/JSWorkerContextCustom.cpp:
+ (WebCore::JSWorkerContext::messageChannel):
+ Exposes MessageChannel constructor WorkerContext.
+ * bindings/js/JSWorkerCustom.cpp:
+ * bindings/v8/custom/V8MessageChannelConstructor.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+ Now correctly handles being instantiated from within a Worker.
+ * platform/CrossThreadCopier.h:
+ (WebCore::GenericWorkerTaskTraits<PassOwnPtr>):
+ Added support for passing PassOwnPtr as argument to GenericWorkerTask
+ * workers/GenericWorkerTask.h:
+ (WebCore::):
+ * workers/Worker.cpp:
+ (WebCore::Worker::postMessage):
+ Now handles disentangling/entangling MessagePorts sent to/from via postMessage.
+ (WebCore::Worker::dispatchMessage):
+ * workers/Worker.h:
+ * workers/Worker.idl:
+ Added an optional MessagePort argument to postMessage()
+ * workers/WorkerContext.cpp:
+ (WebCore::WorkerContext::hasPendingActivity):
+ Workers now report pending activity whenever there are remotely entangled ports.
+ (WebCore::WorkerContext::postMessage):
+ Now handles disentangling/entangling MessagePorts sent to/from via postMessage.
+ (WebCore::WorkerContext::dispatchMessage):
+ * workers/WorkerContext.h:
+ * workers/WorkerContext.idl:
+ Added an optional MessagePort argument to postMessage()
+ * workers/WorkerContextProxy.h:
+ * workers/WorkerMessagingProxy.cpp:
+ Updated messaging infrastructure to transport an optional MessagePort/MessagePortChannel.
+ (WebCore::MessageWorkerContextTask::create):
+ (WebCore::MessageWorkerContextTask::MessageWorkerContextTask):
+ (WebCore::MessageWorkerContextTask::performTask):
+ (WebCore::MessageWorkerTask::create):
+ (WebCore::MessageWorkerTask::MessageWorkerTask):
+ (WebCore::MessageWorkerTask::performTask):
+ (WebCore::WorkerMessagingProxy::postMessageToWorkerObject):
+ (WebCore::WorkerMessagingProxy::postMessageToWorkerContext):
+ * workers/WorkerMessagingProxy.h:
+ Added additional postMessage() API that accepts a MessagePort
+ * workers/WorkerObjectProxy.h:
+ Added additional postMessage() API that accepts a MessagePort
+
+2009-06-30 Adam Langley <agl@google.com>
+
+ Reviewed by Eric Seidel.
+
+ Chromium: Add complex text support on Linux.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25068
+
+ This patch adds complex text support on Linux using Harfbuzz. It's not
+ the fastest code possible: some caching of font tables will certainly
+ be required. However, it's probably the simplest code that works.
+
+ This will require checking in new baselines in the Chromium tree for
+ those layout tests which now pass.
+
+ * platform/graphics/chromium/FontLinux.cpp:
+ (WebCore::Font::drawGlyphs):
+ (WebCore::truncateFixedPointToInteger):
+ (WebCore::TextRunWalker::TextRunWalker):
+ (WebCore::TextRunWalker::~TextRunWalker):
+ (WebCore::TextRunWalker::reset):
+ (WebCore::TextRunWalker::setXOffsetToZero):
+ (WebCore::TextRunWalker::rtl):
+ (WebCore::TextRunWalker::setBackwardsIteration):
+ (WebCore::TextRunWalker::nextScriptRun):
+ (WebCore::TextRunWalker::glyphs):
+ (WebCore::TextRunWalker::length):
+ (WebCore::TextRunWalker::xPositions):
+ (WebCore::TextRunWalker::advances):
+ (WebCore::TextRunWalker::width):
+ (WebCore::TextRunWalker::logClusters):
+ (WebCore::TextRunWalker::numCodePoints):
+ (WebCore::TextRunWalker::widthOfFullRun):
+ (WebCore::TextRunWalker::allocHarfbuzzFont):
+ (WebCore::TextRunWalker::deleteGlyphArrays):
+ (WebCore::TextRunWalker::createGlyphArrays):
+ (WebCore::TextRunWalker::expandGlyphArrays):
+ (WebCore::TextRunWalker::shapeGlyphs):
+ (WebCore::TextRunWalker::setGlyphXPositions):
+ (WebCore::setupForTextPainting):
+ (WebCore::fontPlatformDataForTextRun):
+ (WebCore::Font::drawComplexText):
+ (WebCore::Font::floatWidthForComplexText):
+ (WebCore::glyphIndexForXPositionInScriptRun):
+ (WebCore::Font::offsetForPositionForComplexText):
+ (WebCore::Font::selectionRectForComplexText):
+ * platform/graphics/chromium/HarfbuzzSkia.cpp: Added.
+ (WebCore::SkiaScalarToHarfbuzzFixed):
+ (WebCore::stringToGlyphs):
+ (WebCore::glyphsToAdvances):
+ (WebCore::canRender):
+ (WebCore::getOutlinePoint):
+ (WebCore::getGlyphMetrics):
+ (WebCore::getFontMetric):
+ (WebCore::harfbuzzSkiaGetTable):
+
+2009-06-30 Eric Carlson <eric.carlson@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ <rdar://problem/7019799> Slow loading MediaDocument can fall back to plug-in unnecessarily
+
+ * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
+ (WebCore::MediaPlayerPrivate::updateStates):
+ Always fall back to a plug-in if m_hasUnsupportedTracks is set.
+ (WebCore::MediaPlayerPrivate::disableUnsupportedTracks):
+ Set m_hasUnsupportedTracks if we disable a track.
+
+2009-06-30 Nate Chapin <japhet@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Fix inverted if/else that's causing a layout test in src.chromium.org to fail.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26820
+
+ * bindings/v8/V8Proxy.cpp:
+ (WebCore::GCPrologueVisitor::visitDOMWrapper): if (port2), not if (!port2).
+
+2009-06-30 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Dave Hyatt.
+
+ - fix <rdar://problem/6946611> REGRESSION (r30673): Shade10:" D_Snap
+ to Grid" window is clipping
+
+ Added an app-specific quirk to revert the behavior of <link> elements
+ to the way it was before r30673, namely that if the rel attribute
+ is not "stylesheet" but the type attribute contains "text/css", the
+ link behaves as a stylesheet link.
+
+ * WebCore.base.exp: Exported setTreatsAnyTextCSSLinkAsStylesheet().
+ * html/HTMLLinkElement.cpp:
+ (WebCore::HTMLLinkElement::process): Check
+ Settings::treatsAnyTextCSSLinkAsStylesheet() and if true, allow a
+ style sheet link if the type contains "text/css".
+ * page/Settings.cpp:
+ (WebCore::Settings::Settings):
+ Initialize m_treatsAnyTextCSSLinkAsStylesheet.
+ (WebCore::Settings::setTreatsAnyTextCSSLinkAsStylesheet): Added.
+ * page/Settings.h:
+ (WebCore::Settings::treatsAnyTextCSSLinkAsStylesheet): Added.
+
+2009-06-30 Adrien Nader <camaradetux@gmail.com>
+
+ Reviewed by Xan Lopez.
+
+ Fix typo in GNUMakefile.am: it reads WebCOre instead of WebCore.
+
+ * GNUmakefile.am:
+
+2009-06-30 Jan Michael Alonzo <jmalonzo@webkit.org>
+
+ Reviewed by Xan Lopez.
+
+ [Gtk] Turn on ENABLE_DATAGRID so we can run the layout tests.
+
+ * GNUmakefile.am:
+
+2009-06-30 Raju Kunnath <raju.kunnath@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ <https://bugs.webkit.org/show_bug.cgi?id=26752>
+
+ [Qt] Windows release build issue with Qt4.5 due to -GL flag on msvc2005 and msvc2008.
+
+ * WebCore.pro: Removed -GL compiler option for win32-msvc2005|win32-msvc2008.
+
+2009-06-30 Xan Lopez <xlopez@igalia.com>
+
+ Reviewed by Jan Alonzo.
+
+ Initialize member variables in the right order. Fixes compiler
+ warning.
+
+ * platform/image-decoders/bmp/BMPImageReader.cpp:
+ (WebCore::BMPImageReader::BMPImageReader):
+
+2009-06-29 Xan Lopez <xlopez@igalia.com>
+
+ Reviewed by David Levin.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26831
+ Fix compiler warning in WorkerLoaderProxy.h
+
+ Forward declaration of a class within a class is not allowed,
+ since the compiler can't know if the declaration is legal at that
+ point. This gives the following compiler warning:
+
+ ../../WebCore/workers/WorkerLoaderProxy.h:40: warning: declaration
+ "class WebCore::ScriptExecutionContext::Task" does not declare
+ anything
+
+ Include the full ScriptExecutionHeader header instead.
+
+ * workers/WorkerLoaderProxy.h:
+
+2009-06-29 Xan Lopez <xlopez@igalia.com>
+
+ Reviewed by Jan Alonzo.
+
+ Remove unused function.
+
+ * plugins/gtk/PluginPackageGtk.cpp:
+
+2009-06-29 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Change RenderLayer::updateLayerPositions() to use a bitmask instead of two
+ boolean arguments. FullUpdate is unused at present, but will be used soon.
+
+ * page/FrameView.cpp:
+ (WebCore::FrameView::layout):
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::updateLayerPositions):
+ (WebCore::RenderLayer::scrollToOffset):
+ * rendering/RenderLayer.h:
+ (WebCore::RenderLayer::):
+
+2009-06-29 Nate Chapin <japhet@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Fix one more bad merge in V8Proxy.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26819
+
+ * bindings/v8/V8Proxy.cpp:
+ (WebCore::V8Proxy::setDOMException): setDOMExceptionHelper() instead of convertToV8Object().
+
+2009-06-29 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Mark Rowe.
+
+ Remove more unused scons support.
+
+ * SConstruct: Removed.
+
+2009-06-29 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Dave Hyatt.
+
+ Fix some incorrect create functions.
+
+ * html/DataGridColumn.h:
+ (WebCore::DataGridColumn::create):
+ * html/DataGridColumnList.h:
+ (WebCore::DataGridColumnList::create):
+
+2009-06-29 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Dave Hyatt.
+
+ Remove initialize method from DataGridDataSource and add
+ DOMDataGridDataSource.
+
+ * GNUmakefile.am:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * WebCoreSources.bkl:
+ * bindings/js/JSDataGridDataSource.cpp:
+ * bindings/js/JSDataGridDataSource.h:
+ * bindings/js/JSHTMLDataGridElementCustom.cpp:
+ (WebCore::JSHTMLDataGridElement::setDataSource):
+ * html/DOMDataGridDataSource.cpp: Added.
+ (WebCore::DOMDataGridDataSource::DOMDataGridDataSource):
+ (WebCore::DOMDataGridDataSource::~DOMDataGridDataSource):
+ * html/DOMDataGridDataSource.h: Added.
+ (WebCore::DOMDataGridDataSource::create):
+ (WebCore::DOMDataGridDataSource::isDOMDataGridDataSource):
+ (WebCore::asDOMDataGridDataSource):
+ * html/DataGridDataSource.h:
+ (WebCore::DataGridDataSource::isDOMDataGridDataSource):
+ (WebCore::DataGridDataSource::isJSDataGridDataSource):
+ * html/HTMLDataGridElement.cpp:
+ (WebCore::HTMLDataGridElement::HTMLDataGridElement):
+ (WebCore::HTMLDataGridElement::setDataSource):
+ (WebCore::HTMLDataGridElement::dataSource):
+ * html/HTMLDataGridElement.h:
+
+2009-06-29 Nate Chapin <japhet@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Fix a couple of bad merge items from my previous V8Proxy patch.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26813
+
+ * bindings/v8/V8Collection.h:
+ (WebCore::nodeCollectionNamedPropertyGetter): Fix a bad function name that slipped through.
+ * bindings/v8/V8Proxy.cpp:
+ (WebCore::V8Proxy::setDOMException): Fix a bad merge that caused a couple of lines of extraneous, breaking code to get in.
+
+2009-06-29 Chris Marrin <cmarrin@apple.com>
+
+ Reviewed by Simon Fraser <simon.fraser@apple.com>.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26706
+
+ Fixed crash due to dereference of m_toStyle
+
+ * page/animation/ImplicitAnimation.cpp:
+ (WebCore::ImplicitAnimation::isTargetPropertyEqual):
+
+2009-06-29 Eric Carlson <eric.carlson@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ <rdar://problem/7014813> Ask media engine if a movie is streamed or downloaded.
+
+ * WebCore.base.exp:
+ Export _wkQTMovieGetType
+
+ * platform/graphics/MediaPlayer.cpp:
+ (WebCore::MediaPlayer::hasSingleSecurityOrigin):
+ Move to keep with other non-callback functions.
+ (WebCore::MediaPlayer::movieLoadType):
+ New, returns the movie type.
+ * platform/graphics/MediaPlayer.h:
+ Declare MovieLoadType enum and movieLoadType method.
+
+ * platform/graphics/MediaPlayerPrivate.h:
+ (WebCore::MediaPlayerPrivateInterface::movieLoadType):
+ Default implementation of movieLoadType
+
+ * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
+ * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
+ (WebCore::MediaPlayerPrivate::createQTMovie):
+ Don't base m_isStreaming on protocol, there are other types of streaming movies.
+ (WebCore::MediaPlayerPrivate::maxTimeBuffered):
+ Don't assume all streams are unbuffered.
+ (WebCore::MediaPlayerPrivate::updateStates):
+ Update m_isStreaming once we have metadata.
+ (WebCore::MediaPlayerPrivate::disableUnsupportedTracks):
+ Tracks that are disabled to begin with shouldn't be included in m_enabledTrackCount.
+ (WebCore::MediaPlayerPrivate::movieLoadType):
+ New, return movie type.
+
+ * platform/mac/WebCoreSystemInterface.h:
+ * platform/mac/WebCoreSystemInterface.mm:
+ Add wkQTMovieGetType.
+
+2009-06-29 Alice Liu <alice.liu@apple.com>
+
+ Fixed <rdar://problem/6930280> Reproducible crash at USA Today photo gallery
+
+ Reviewed by Anders Carlsson.
+
+ No test added because the crash requires a flash plugin
+
+ * plugins/win/PluginMessageThrottlerWin.cpp:
+ Rely on the hWnd of the plugin to tell us whether the PluginView has
+ been deleted during execution of its wndProc.
+ (WebCore::PluginMessageThrottlerWin::messageThrottleTimerFired):
+
+2009-06-29 Dmitry Titov <dimich@chromium.org>
+
+ Reviewed by David Levin.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26811
+ [Chromium] Remove a flag and functions used to enable workers in runtime.
+
+ * bindings/v8/WorkerContextExecutionProxy.cpp:
+ * bindings/v8/WorkerContextExecutionProxy.h:
+
+2009-06-29 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dave Hyatt.
+
+ <rdar://problem/6976712> Text antialiasing problems when rendering into compositing layers.
+
+ Improve the appearance of text in compositing layers by making use of
+ CA's layer geometry flipping, rather that doing it ourselves with a flip
+ transform. This allows CG to use font autohinting in the layer text.
+
+ * platform/graphics/GraphicsLayer.h:
+ (WebCore::GraphicsLayer::setGeometryOrientation):
+ (WebCore::GraphicsLayer::geometryOrientation):
+ New methods to set whether this layer uses flipped geometry.
+
+ * platform/graphics/mac/GraphicsLayerCA.h:
+ * platform/graphics/mac/GraphicsLayerCA.mm:
+ (WebCore::GraphicsLayerCA::setGeometryOrientation):
+ (WebCore::GraphicsLayerCA::geometryOrientation):
+ Subclass in order to call into CA
+
+ (WebCore::GraphicsLayerCA::setContentsLayer):
+ Now that CA is doing the geometry flipping, we no longer need to flip the content
+ layers for image and video manually
+
+ * rendering/RenderLayerCompositor.cpp:
+ (WebCore::RenderLayerCompositor::ensureRootPlatformLayer):
+ Turn on flipping on the root layer.
+
+2009-06-29 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
+
+ Reviewed by Adam Treat.
+
+ Fixes: https://bugs.webkit.org/show_bug.cgi?id=26246
+
+ Implement most WML specific <select> element features.
+ Add 'iname' / 'ivalue' support and support variable references.
+
+ Add two tests covering most select/variable related functionality.
+ Needs more tests when adding full 'iname' / 'ivalue' support (used in conjuction with onpick).
+
+ Tests: http/tests/wml/post-data-to-server.html
+ wml/select-element-variables.html
+
+ * dom/SelectElement.cpp:
+ (WebCore::SelectElement::optionCount): Refactored from HTMLSelectElement::length() for use within HTML & WML.
+ * dom/SelectElement.h:
+ * html/HTMLSelectElement.cpp:
+ (WebCore::HTMLSelectElement::length): Use new SelectElement::optionCount() function. (no functional changes for HTML).
+ * wml/WMLCardElement.cpp:
+ (WebCore::WMLCardElement::handleIntrinsicEventIfNeeded): Activated commented code taking care of WMLSelectElement initialization.
+ * wml/WMLSelectElement.cpp: Add a bunch of new code handling WML specific feature processing.
+ (WebCore::WMLSelectElement::title):
+ (WebCore::WMLSelectElement::formControlName):
+ (WebCore::WMLSelectElement::defaultEventHandler):
+ (WebCore::WMLSelectElement::selectInitialOptions):
+ (WebCore::WMLSelectElement::calculateDefaultOptionIndices):
+ (WebCore::WMLSelectElement::selectDefaultOptions):
+ (WebCore::WMLSelectElement::initializeVariables):
+ (WebCore::WMLSelectElement::updateVariables):
+ (WebCore::WMLSelectElement::parseIndexValueString):
+ (WebCore::WMLSelectElement::valueStringToOptionIndices):
+ (WebCore::WMLSelectElement::optionIndicesToValueString):
+ (WebCore::WMLSelectElement::optionIndicesToString):
+ (WebCore::WMLSelectElement::name):
+ (WebCore::WMLSelectElement::value):
+ (WebCore::WMLSelectElement::iname):
+ (WebCore::WMLSelectElement::ivalue):
+ * wml/WMLSelectElement.h:
+
+2009-06-29 David Hyatt <hyatt@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Put <datagrid> behind an ifdef.
+
+ * Configurations/FeatureDefines.xcconfig:
+ * bindings/js/JSDataGridColumnListCustom.cpp:
+ * bindings/js/JSDataGridDataSource.cpp:
+ * bindings/js/JSDataGridDataSource.h:
+ * bindings/js/JSHTMLDataGridElementCustom.cpp:
+ * html/DataGridColumn.cpp:
+ * html/DataGridColumn.h:
+ * html/DataGridColumn.idl:
+ * html/DataGridColumnList.cpp:
+ * html/DataGridColumnList.h:
+ * html/DataGridColumnList.idl:
+ * html/DataGridDataSource.h:
+ * html/HTMLDataGridCellElement.cpp:
+ * html/HTMLDataGridCellElement.h:
+ * html/HTMLDataGridCellElement.idl:
+ * html/HTMLDataGridColElement.cpp:
+ * html/HTMLDataGridColElement.h:
+ * html/HTMLDataGridColElement.idl:
+ * html/HTMLDataGridElement.cpp:
+ * html/HTMLDataGridElement.h:
+ * html/HTMLDataGridElement.idl:
+ * html/HTMLDataGridRowElement.cpp:
+ * html/HTMLDataGridRowElement.h:
+ * html/HTMLDataGridRowElement.idl:
+ * html/HTMLTagNames.in:
+ * page/DOMWindow.idl:
+ * rendering/RenderDataGrid.cpp:
+ * rendering/RenderDataGrid.h:
+
+2009-06-29 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Reviewed by Ariya Hidayat and Adam Roben.
+
+ Fix compilation with MINGW. Ported MSVC inline assembly to
+ GNU inline assembly. Also fixed casting errors where gcc
+ refused to cast a pointer-to-function to a pointer-to-object,
+ without an intermediate cast to a non-pointer type.
+
+ * plugins/win/PluginViewWin.cpp:
+ (WebCore::PluginView::hookedBeginPaint):
+ (WebCore::PluginView::hookedEndPaint):
+ (WebCore::hook):
+ (WebCore::setUpOffscreenPaintingHooks):
+
2009-06-26 John Sullivan <sullivan@apple.com>
Added Speech submenu to context menu on Mac when there's a non-editable selection
@@ -1928,7 +14740,7 @@
(WebCore::DOMDataStore::~DOMDataStore):
(WebCore::DOMDataStoreHandle::DOMDataStoreHandle):
(WebCore::DOMDataStoreHandle::~DOMDataStoreHandle):
- (WebCore::::forget):
+ (WebCore::forget):
(WebCore::getDOMNodeMap):
(WebCore::getDOMObjectMap):
(WebCore::getActiveDOMObjectMap):
diff --git a/src/3rdparty/webkit/WebCore/DerivedSources.cpp b/src/3rdparty/webkit/WebCore/DerivedSources.cpp
index 3075a4b..1455060 100644
--- a/src/3rdparty/webkit/WebCore/DerivedSources.cpp
+++ b/src/3rdparty/webkit/WebCore/DerivedSources.cpp
@@ -25,6 +25,7 @@
// This all-in-one cpp file cuts down on template bloat to allow us to build our Windows release build.
+#include "JSAbstractWorker.cpp"
#include "JSAttr.cpp"
#include "JSBarInfo.cpp"
#include "JSCanvasGradient.cpp"
@@ -56,6 +57,7 @@
#include "JSDatabase.cpp"
#include "JSDataGridColumn.cpp"
#include "JSDataGridColumnList.cpp"
+#include "JSDedicatedWorkerContext.cpp"
#include "JSDocument.cpp"
#include "JSDocumentFragment.cpp"
#include "JSDocumentType.cpp"
@@ -68,6 +70,7 @@
#include "JSElement.cpp"
#include "JSEntity.cpp"
#include "JSEntityReference.cpp"
+#include "JSErrorEvent.cpp"
#include "JSEvent.cpp"
#include "JSEventException.cpp"
#include "JSFile.cpp"
@@ -170,7 +173,9 @@
#include "JSRange.cpp"
#include "JSRangeException.cpp"
#include "JSRect.cpp"
+#include "JSRGBColor.cpp"
#include "JSScreen.cpp"
+#include "JSSharedWorker.cpp"
#include "JSSQLError.cpp"
#include "JSSQLResultSet.cpp"
#include "JSSQLResultSetRowList.cpp"
@@ -317,6 +322,7 @@
#include "JSTimeRanges.cpp"
#include "JSTreeWalker.cpp"
#include "JSUIEvent.cpp"
+#include "JSValidityState.cpp"
#include "JSVoidCallback.cpp"
#include "JSWebKitAnimationEvent.cpp"
#include "JSWebKitCSSKeyframeRule.cpp"
@@ -349,5 +355,5 @@
// want StaticConstructors.h to "pollute" all the source files we #include here
// accidentally, so we'll throw an error whenever any file includes it.
#ifdef StaticConstructors_h
-#error Don't include any file in DerivedSources.cpp that includes StaticConstructors.h
+#error Do not include any file in DerivedSources.cpp that includes StaticConstructors.h
#endif
diff --git a/src/3rdparty/webkit/WebCore/WebCore.gypi b/src/3rdparty/webkit/WebCore/WebCore.gypi
new file mode 100644
index 0000000..d6f2487
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/WebCore.gypi
@@ -0,0 +1,3396 @@
+{
+ 'variables': {
+ 'webcore_files': [
+
+ #IDL files
+ 'css/CSSCharsetRule.idl',
+ 'css/CSSFontFaceRule.idl',
+ 'css/CSSImportRule.idl',
+ 'css/CSSMediaRule.idl',
+ 'css/CSSPageRule.idl',
+ 'css/CSSPrimitiveValue.idl',
+ 'css/CSSRule.idl',
+ 'css/CSSRuleList.idl',
+ 'css/CSSStyleDeclaration.idl',
+ 'css/CSSStyleRule.idl',
+ 'css/CSSStyleSheet.idl',
+ 'css/CSSUnknownRule.idl',
+ 'css/CSSValue.idl',
+ 'css/CSSValueList.idl',
+ 'css/CSSVariablesDeclaration.idl',
+ 'css/CSSVariablesRule.idl',
+ 'css/Counter.idl',
+ 'css/MediaList.idl',
+ 'css/RGBColor.idl',
+ 'css/Rect.idl',
+ 'css/StyleSheet.idl',
+ 'css/StyleSheetList.idl',
+ 'css/WebKitCSSKeyframeRule.idl',
+ 'css/WebKitCSSKeyframesRule.idl',
+ 'css/WebKitCSSMatrix.idl',
+ 'css/WebKitCSSTransformValue.idl',
+ 'dom/Attr.idl',
+ 'dom/CDATASection.idl',
+ 'dom/CharacterData.idl',
+ 'dom/ClientRect.idl',
+ 'dom/ClientRectList.idl',
+ 'dom/Clipboard.idl',
+ 'dom/Comment.idl',
+ 'dom/DOMCoreException.idl',
+ 'dom/DOMImplementation.idl',
+ 'dom/Document.idl',
+ 'dom/DocumentFragment.idl',
+ 'dom/DocumentType.idl',
+ 'dom/Element.idl',
+ 'dom/Entity.idl',
+ 'dom/EntityReference.idl',
+ 'dom/ErrorEvent.idl',
+ 'dom/Event.idl',
+ 'dom/EventException.idl',
+ 'dom/EventListener.idl',
+ 'dom/EventTarget.idl',
+ 'dom/HTMLAllCollection.idl',
+ 'dom/KeyboardEvent.idl',
+ 'dom/MessageChannel.idl',
+ 'dom/MessageEvent.idl',
+ 'dom/MessagePort.idl',
+ 'dom/MouseEvent.idl',
+ 'dom/MutationEvent.idl',
+ 'dom/NamedNodeMap.idl',
+ 'dom/Node.idl',
+ 'dom/NodeFilter.idl',
+ 'dom/NodeIterator.idl',
+ 'dom/NodeList.idl',
+ 'dom/Notation.idl',
+ 'dom/OverflowEvent.idl',
+ 'dom/ProcessingInstruction.idl',
+ 'dom/ProgressEvent.idl',
+ 'dom/Range.idl',
+ 'dom/RangeException.idl',
+ 'dom/Text.idl',
+ 'dom/TextEvent.idl',
+ 'dom/TreeWalker.idl',
+ 'dom/UIEvent.idl',
+ 'dom/WebKitAnimationEvent.idl',
+ 'dom/WebKitTransitionEvent.idl',
+ 'dom/WheelEvent.idl',
+ 'html/CanvasGradient.idl',
+ 'html/CanvasPattern.idl',
+ 'html/CanvasPixelArray.idl',
+ 'html/CanvasRenderingContext2D.idl',
+ 'html/DataGridColumn.idl',
+ 'html/DataGridColumnList.idl',
+ 'html/File.idl',
+ 'html/FileList.idl',
+ 'html/HTMLAnchorElement.idl',
+ 'html/HTMLAppletElement.idl',
+ 'html/HTMLAreaElement.idl',
+ 'html/HTMLAudioElement.idl',
+ 'html/HTMLBRElement.idl',
+ 'html/HTMLBaseElement.idl',
+ 'html/HTMLBaseFontElement.idl',
+ 'html/HTMLBlockquoteElement.idl',
+ 'html/HTMLBodyElement.idl',
+ 'html/HTMLButtonElement.idl',
+ 'html/HTMLCanvasElement.idl',
+ 'html/HTMLCollection.idl',
+ 'html/HTMLDListElement.idl',
+ 'html/HTMLDataGridCellElement.idl',
+ 'html/HTMLDataGridColElement.idl',
+ 'html/HTMLDataGridElement.idl',
+ 'html/HTMLDataGridRowElement.idl',
+ 'html/HTMLDirectoryElement.idl',
+ 'html/HTMLDivElement.idl',
+ 'html/HTMLDocument.idl',
+ 'html/HTMLElement.idl',
+ 'html/HTMLEmbedElement.idl',
+ 'html/HTMLFieldSetElement.idl',
+ 'html/HTMLFontElement.idl',
+ 'html/HTMLFormElement.idl',
+ 'html/HTMLFrameElement.idl',
+ 'html/HTMLFrameSetElement.idl',
+ 'html/HTMLHRElement.idl',
+ 'html/HTMLHeadElement.idl',
+ 'html/HTMLHeadingElement.idl',
+ 'html/HTMLHtmlElement.idl',
+ 'html/HTMLIFrameElement.idl',
+ 'html/HTMLImageElement.idl',
+ 'html/HTMLInputElement.idl',
+ 'html/HTMLIsIndexElement.idl',
+ 'html/HTMLLIElement.idl',
+ 'html/HTMLLabelElement.idl',
+ 'html/HTMLLegendElement.idl',
+ 'html/HTMLLinkElement.idl',
+ 'html/HTMLMapElement.idl',
+ 'html/HTMLMarqueeElement.idl',
+ 'html/HTMLMediaElement.idl',
+ 'html/HTMLMenuElement.idl',
+ 'html/HTMLMetaElement.idl',
+ 'html/HTMLModElement.idl',
+ 'html/HTMLOListElement.idl',
+ 'html/HTMLObjectElement.idl',
+ 'html/HTMLOptGroupElement.idl',
+ 'html/HTMLOptionElement.idl',
+ 'html/HTMLOptionsCollection.idl',
+ 'html/HTMLParagraphElement.idl',
+ 'html/HTMLParamElement.idl',
+ 'html/HTMLPreElement.idl',
+ 'html/HTMLQuoteElement.idl',
+ 'html/HTMLScriptElement.idl',
+ 'html/HTMLSelectElement.idl',
+ 'html/HTMLSourceElement.idl',
+ 'html/HTMLStyleElement.idl',
+ 'html/HTMLTableCaptionElement.idl',
+ 'html/HTMLTableCellElement.idl',
+ 'html/HTMLTableColElement.idl',
+ 'html/HTMLTableElement.idl',
+ 'html/HTMLTableRowElement.idl',
+ 'html/HTMLTableSectionElement.idl',
+ 'html/HTMLTextAreaElement.idl',
+ 'html/HTMLTitleElement.idl',
+ 'html/HTMLUListElement.idl',
+ 'html/HTMLVideoElement.idl',
+ 'html/ImageData.idl',
+ 'html/MediaError.idl',
+ 'html/TextMetrics.idl',
+ 'html/TimeRanges.idl',
+ 'html/ValidityState.idl',
+ 'html/VoidCallback.idl',
+ 'inspector/InspectorBackend.idl',
+ 'inspector/JavaScriptCallFrame.idl',
+ 'loader/appcache/DOMApplicationCache.idl',
+ 'page/AbstractView.idl',
+ 'page/BarInfo.idl',
+ 'page/Console.idl',
+ 'page/DOMSelection.idl',
+ 'page/DOMWindow.idl',
+ 'page/Geolocation.idl',
+ 'page/Geoposition.idl',
+ 'page/History.idl',
+ 'page/Location.idl',
+ 'page/Navigator.idl',
+ 'page/PositionCallback.idl',
+ 'page/PositionError.idl',
+ 'page/PositionErrorCallback.idl',
+ 'page/Screen.idl',
+ 'page/WebKitPoint.idl',
+ 'page/WorkerNavigator.idl',
+ 'plugins/MimeType.idl',
+ 'plugins/MimeTypeArray.idl',
+ 'plugins/Plugin.idl',
+ 'plugins/PluginArray.idl',
+ 'storage/Database.idl',
+ 'storage/SQLError.idl',
+ 'storage/SQLResultSet.idl',
+ 'storage/SQLResultSetRowList.idl',
+ 'storage/SQLTransaction.idl',
+ 'storage/Storage.idl',
+ 'storage/StorageEvent.idl',
+ 'svg/ElementTimeControl.idl',
+ 'svg/SVGAElement.idl',
+ 'svg/SVGAltGlyphElement.idl',
+ 'svg/SVGAngle.idl',
+ 'svg/SVGAnimateColorElement.idl',
+ 'svg/SVGAnimateElement.idl',
+ 'svg/SVGAnimateTransformElement.idl',
+ 'svg/SVGAnimatedAngle.idl',
+ 'svg/SVGAnimatedBoolean.idl',
+ 'svg/SVGAnimatedEnumeration.idl',
+ 'svg/SVGAnimatedInteger.idl',
+ 'svg/SVGAnimatedLength.idl',
+ 'svg/SVGAnimatedLengthList.idl',
+ 'svg/SVGAnimatedNumber.idl',
+ 'svg/SVGAnimatedNumberList.idl',
+ 'svg/SVGAnimatedPathData.idl',
+ 'svg/SVGAnimatedPoints.idl',
+ 'svg/SVGAnimatedPreserveAspectRatio.idl',
+ 'svg/SVGAnimatedRect.idl',
+ 'svg/SVGAnimatedString.idl',
+ 'svg/SVGAnimatedTransformList.idl',
+ 'svg/SVGAnimationElement.idl',
+ 'svg/SVGCircleElement.idl',
+ 'svg/SVGClipPathElement.idl',
+ 'svg/SVGColor.idl',
+ 'svg/SVGComponentTransferFunctionElement.idl',
+ 'svg/SVGCursorElement.idl',
+ 'svg/SVGDefinitionSrcElement.idl',
+ 'svg/SVGDefsElement.idl',
+ 'svg/SVGDescElement.idl',
+ 'svg/SVGDocument.idl',
+ 'svg/SVGElement.idl',
+ 'svg/SVGElementInstance.idl',
+ 'svg/SVGElementInstanceList.idl',
+ 'svg/SVGEllipseElement.idl',
+ 'svg/SVGException.idl',
+ 'svg/SVGExternalResourcesRequired.idl',
+ 'svg/SVGFEBlendElement.idl',
+ 'svg/SVGFEColorMatrixElement.idl',
+ 'svg/SVGFEComponentTransferElement.idl',
+ 'svg/SVGFECompositeElement.idl',
+ 'svg/SVGFEDiffuseLightingElement.idl',
+ 'svg/SVGFEDisplacementMapElement.idl',
+ 'svg/SVGFEDistantLightElement.idl',
+ 'svg/SVGFEFloodElement.idl',
+ 'svg/SVGFEFuncAElement.idl',
+ 'svg/SVGFEFuncBElement.idl',
+ 'svg/SVGFEFuncGElement.idl',
+ 'svg/SVGFEFuncRElement.idl',
+ 'svg/SVGFEGaussianBlurElement.idl',
+ 'svg/SVGFEImageElement.idl',
+ 'svg/SVGFEMergeElement.idl',
+ 'svg/SVGFEMergeNodeElement.idl',
+ 'svg/SVGFEOffsetElement.idl',
+ 'svg/SVGFEPointLightElement.idl',
+ 'svg/SVGFESpecularLightingElement.idl',
+ 'svg/SVGFESpotLightElement.idl',
+ 'svg/SVGFETileElement.idl',
+ 'svg/SVGFETurbulenceElement.idl',
+ 'svg/SVGFilterElement.idl',
+ 'svg/SVGFilterPrimitiveStandardAttributes.idl',
+ 'svg/SVGFitToViewBox.idl',
+ 'svg/SVGFontElement.idl',
+ 'svg/SVGFontFaceElement.idl',
+ 'svg/SVGFontFaceFormatElement.idl',
+ 'svg/SVGFontFaceNameElement.idl',
+ 'svg/SVGFontFaceSrcElement.idl',
+ 'svg/SVGFontFaceUriElement.idl',
+ 'svg/SVGForeignObjectElement.idl',
+ 'svg/SVGGElement.idl',
+ 'svg/SVGGlyphElement.idl',
+ 'svg/SVGGradientElement.idl',
+ 'svg/SVGHKernElement.idl',
+ 'svg/SVGImageElement.idl',
+ 'svg/SVGLangSpace.idl',
+ 'svg/SVGLength.idl',
+ 'svg/SVGLengthList.idl',
+ 'svg/SVGLineElement.idl',
+ 'svg/SVGLinearGradientElement.idl',
+ 'svg/SVGLocatable.idl',
+ 'svg/SVGMarkerElement.idl',
+ 'svg/SVGMaskElement.idl',
+ 'svg/SVGMatrix.idl',
+ 'svg/SVGMetadataElement.idl',
+ 'svg/SVGMissingGlyphElement.idl',
+ 'svg/SVGNumber.idl',
+ 'svg/SVGNumberList.idl',
+ 'svg/SVGPaint.idl',
+ 'svg/SVGPathElement.idl',
+ 'svg/SVGPathSeg.idl',
+ 'svg/SVGPathSegArcAbs.idl',
+ 'svg/SVGPathSegArcRel.idl',
+ 'svg/SVGPathSegClosePath.idl',
+ 'svg/SVGPathSegCurvetoCubicAbs.idl',
+ 'svg/SVGPathSegCurvetoCubicRel.idl',
+ 'svg/SVGPathSegCurvetoCubicSmoothAbs.idl',
+ 'svg/SVGPathSegCurvetoCubicSmoothRel.idl',
+ 'svg/SVGPathSegCurvetoQuadraticAbs.idl',
+ 'svg/SVGPathSegCurvetoQuadraticRel.idl',
+ 'svg/SVGPathSegCurvetoQuadraticSmoothAbs.idl',
+ 'svg/SVGPathSegCurvetoQuadraticSmoothRel.idl',
+ 'svg/SVGPathSegLinetoAbs.idl',
+ 'svg/SVGPathSegLinetoHorizontalAbs.idl',
+ 'svg/SVGPathSegLinetoHorizontalRel.idl',
+ 'svg/SVGPathSegLinetoRel.idl',
+ 'svg/SVGPathSegLinetoVerticalAbs.idl',
+ 'svg/SVGPathSegLinetoVerticalRel.idl',
+ 'svg/SVGPathSegList.idl',
+ 'svg/SVGPathSegMovetoAbs.idl',
+ 'svg/SVGPathSegMovetoRel.idl',
+ 'svg/SVGPatternElement.idl',
+ 'svg/SVGPoint.idl',
+ 'svg/SVGPointList.idl',
+ 'svg/SVGPolygonElement.idl',
+ 'svg/SVGPolylineElement.idl',
+ 'svg/SVGPreserveAspectRatio.idl',
+ 'svg/SVGRadialGradientElement.idl',
+ 'svg/SVGRect.idl',
+ 'svg/SVGRectElement.idl',
+ 'svg/SVGRenderingIntent.idl',
+ 'svg/SVGSVGElement.idl',
+ 'svg/SVGScriptElement.idl',
+ 'svg/SVGSetElement.idl',
+ 'svg/SVGStopElement.idl',
+ 'svg/SVGStringList.idl',
+ 'svg/SVGStylable.idl',
+ 'svg/SVGStyleElement.idl',
+ 'svg/SVGSwitchElement.idl',
+ 'svg/SVGSymbolElement.idl',
+ 'svg/SVGTRefElement.idl',
+ 'svg/SVGTSpanElement.idl',
+ 'svg/SVGTests.idl',
+ 'svg/SVGTextContentElement.idl',
+ 'svg/SVGTextElement.idl',
+ 'svg/SVGTextPathElement.idl',
+ 'svg/SVGTextPositioningElement.idl',
+ 'svg/SVGTitleElement.idl',
+ 'svg/SVGTransform.idl',
+ 'svg/SVGTransformList.idl',
+ 'svg/SVGTransformable.idl',
+ 'svg/SVGURIReference.idl',
+ 'svg/SVGUnitTypes.idl',
+ 'svg/SVGUseElement.idl',
+ 'svg/SVGViewElement.idl',
+ 'svg/SVGViewSpec.idl',
+ 'svg/SVGZoomAndPan.idl',
+ 'svg/SVGZoomEvent.idl',
+ 'workers/AbstractWorker.idl',
+ 'workers/DedicatedWorkerContext.idl',
+ 'workers/SharedWorker.idl',
+ 'workers/Worker.idl',
+ 'workers/WorkerContext.idl',
+ 'workers/WorkerLocation.idl',
+ 'xml/DOMParser.idl',
+ 'xml/XMLHttpRequest.idl',
+ 'xml/XMLHttpRequestException.idl',
+ 'xml/XMLHttpRequestProgressEvent.idl',
+ 'xml/XMLHttpRequestUpload.idl',
+ 'xml/XMLSerializer.idl',
+ 'xml/XPathEvaluator.idl',
+ 'xml/XPathException.idl',
+ 'xml/XPathExpression.idl',
+ 'xml/XPathNSResolver.idl',
+ 'xml/XPathResult.idl',
+ 'xml/XSLTProcessor.idl',
+
+ # Source/Header Files
+ 'accessibility/AXObjectCache.cpp',
+ 'accessibility/AXObjectCache.h',
+ 'accessibility/AccessibilityARIAGrid.cpp',
+ 'accessibility/AccessibilityARIAGrid.h',
+ 'accessibility/AccessibilityARIAGridCell.cpp',
+ 'accessibility/AccessibilityARIAGridCell.h',
+ 'accessibility/AccessibilityARIAGridRow.cpp',
+ 'accessibility/AccessibilityARIAGridRow.h',
+ 'accessibility/AccessibilityImageMapLink.cpp',
+ 'accessibility/AccessibilityImageMapLink.h',
+ 'accessibility/AccessibilityList.cpp',
+ 'accessibility/AccessibilityList.h',
+ 'accessibility/AccessibilityListBox.cpp',
+ 'accessibility/AccessibilityListBox.h',
+ 'accessibility/AccessibilityListBoxOption.cpp',
+ 'accessibility/AccessibilityListBoxOption.h',
+ 'accessibility/AccessibilityObject.cpp',
+ 'accessibility/AccessibilityObject.h',
+ 'accessibility/AccessibilityRenderObject.cpp',
+ 'accessibility/AccessibilityRenderObject.h',
+ 'accessibility/AccessibilityTable.cpp',
+ 'accessibility/AccessibilityTable.h',
+ 'accessibility/AccessibilityTableCell.cpp',
+ 'accessibility/AccessibilityTableCell.h',
+ 'accessibility/AccessibilityTableColumn.cpp',
+ 'accessibility/AccessibilityTableColumn.h',
+ 'accessibility/AccessibilityTableHeaderContainer.cpp',
+ 'accessibility/AccessibilityTableHeaderContainer.h',
+ 'accessibility/AccessibilityTableRow.cpp',
+ 'accessibility/AccessibilityTableRow.h',
+ 'accessibility/chromium/AXObjectCacheChromium.cpp',
+ 'accessibility/chromium/AccessibilityObjectChromium.cpp',
+ 'accessibility/chromium/AccessibilityObjectWrapper.h',
+ 'accessibility/gtk/AXObjectCacheAtk.cpp',
+ 'accessibility/gtk/AccessibilityObjectAtk.cpp',
+ 'accessibility/gtk/AccessibilityObjectWrapperAtk.cpp',
+ 'accessibility/gtk/AccessibilityObjectWrapperAtk.h',
+ 'accessibility/qt/AccessibilityObjectQt.cpp',
+ 'accessibility/mac/AXObjectCacheMac.mm',
+ 'accessibility/mac/AccessibilityObjectMac.mm',
+ 'accessibility/mac/AccessibilityObjectWrapper.h',
+ 'accessibility/mac/AccessibilityObjectWrapper.mm',
+ 'accessibility/win/AXObjectCacheWin.cpp',
+ 'accessibility/win/AccessibilityObjectWin.cpp',
+ 'accessibility/win/AccessibilityObjectWrapperWin.h',
+ 'accessibility/wx/AccessibilityObjectWx.cpp',
+ 'bindings/js/CachedScriptSourceProvider.h',
+ 'bindings/js/DOMObjectWithSVGContext.h',
+ 'bindings/js/GCController.cpp',
+ 'bindings/js/GCController.h',
+ 'bindings/js/JSAttrCustom.cpp',
+ 'bindings/js/JSAudioConstructor.cpp',
+ 'bindings/js/JSAudioConstructor.h',
+ 'bindings/js/JSCanvasRenderingContext2DCustom.cpp',
+ 'bindings/js/JSCDATASectionCustom.cpp',
+ 'bindings/js/JSClipboardCustom.cpp',
+ 'bindings/js/JSConsoleCustom.cpp',
+ 'bindings/js/JSCoordinatesCustom.cpp',
+ 'bindings/js/JSCSSRuleCustom.cpp',
+ 'bindings/js/JSCSSStyleDeclarationCustom.cpp',
+ 'bindings/js/JSCSSStyleDeclarationCustom.h',
+ 'bindings/js/JSCSSValueCustom.cpp',
+ 'bindings/js/JSCustomPositionCallback.cpp',
+ 'bindings/js/JSCustomPositionCallback.h',
+ 'bindings/js/JSCustomPositionErrorCallback.cpp',
+ 'bindings/js/JSCustomPositionErrorCallback.h',
+ 'bindings/js/JSCustomSQLStatementCallback.cpp',
+ 'bindings/js/JSCustomSQLStatementCallback.h',
+ 'bindings/js/JSCustomSQLStatementErrorCallback.cpp',
+ 'bindings/js/JSCustomSQLStatementErrorCallback.h',
+ 'bindings/js/JSCustomSQLTransactionCallback.cpp',
+ 'bindings/js/JSCustomSQLTransactionCallback.h',
+ 'bindings/js/JSCustomSQLTransactionErrorCallback.cpp',
+ 'bindings/js/JSCustomSQLTransactionErrorCallback.h',
+ 'bindings/js/JSCustomVoidCallback.cpp',
+ 'bindings/js/JSCustomVoidCallback.h',
+ 'bindings/js/JSCustomXPathNSResolver.cpp',
+ 'bindings/js/JSCustomXPathNSResolver.h',
+ 'bindings/js/JSDatabaseCustom.cpp',
+ 'bindings/js/JSDataGridColumnListCustom.cpp',
+ 'bindings/js/JSDataGridDataSource.cpp',
+ 'bindings/js/JSDataGridDataSource.h',
+ 'bindings/js/JSDedicatedWorkerContextCustom.cpp',
+ 'bindings/js/JSDocumentCustom.cpp',
+ 'bindings/js/JSDocumentFragmentCustom.cpp',
+ 'bindings/js/JSDOMApplicationCacheCustom.cpp',
+ 'bindings/js/JSDOMBinding.cpp',
+ 'bindings/js/JSDOMBinding.h',
+ 'bindings/js/JSDOMGlobalObject.cpp',
+ 'bindings/js/JSDOMGlobalObject.h',
+ 'bindings/js/JSDOMWindowBase.cpp',
+ 'bindings/js/JSDOMWindowBase.h',
+ 'bindings/js/JSDOMWindowCustom.cpp',
+ 'bindings/js/JSDOMWindowCustom.h',
+ 'bindings/js/JSDOMWindowShell.cpp',
+ 'bindings/js/JSDOMWindowShell.h',
+ 'bindings/js/JSElementCustom.cpp',
+ 'bindings/js/JSEventCustom.cpp',
+ 'bindings/js/JSEventListener.cpp',
+ 'bindings/js/JSEventListener.h',
+ 'bindings/js/JSEventTarget.cpp',
+ 'bindings/js/JSEventTarget.h',
+ 'bindings/js/JSGeolocationCustom.cpp',
+ 'bindings/js/JSHistoryCustom.cpp',
+ 'bindings/js/JSHistoryCustom.h',
+ 'bindings/js/JSHTMLAllCollection.cpp',
+ 'bindings/js/JSHTMLAllCollection.h',
+ 'bindings/js/JSHTMLAppletElementCustom.cpp',
+ 'bindings/js/JSHTMLAppletElementCustom.h',
+ 'bindings/js/JSHTMLCollectionCustom.cpp',
+ 'bindings/js/JSHTMLDataGridElementCustom.cpp',
+ 'bindings/js/JSHTMLDocumentCustom.cpp',
+ 'bindings/js/JSHTMLElementCustom.cpp',
+ 'bindings/js/JSHTMLEmbedElementCustom.cpp',
+ 'bindings/js/JSHTMLEmbedElementCustom.h',
+ 'bindings/js/JSHTMLFormElementCustom.cpp',
+ 'bindings/js/JSHTMLFrameElementCustom.cpp',
+ 'bindings/js/JSHTMLFrameSetElementCustom.cpp',
+ 'bindings/js/JSHTMLIFrameElementCustom.cpp',
+ 'bindings/js/JSHTMLInputElementCustom.cpp',
+ 'bindings/js/JSHTMLInputElementCustom.h',
+ 'bindings/js/JSHTMLObjectElementCustom.cpp',
+ 'bindings/js/JSHTMLObjectElementCustom.h',
+ 'bindings/js/JSHTMLOptionsCollectionCustom.cpp',
+ 'bindings/js/JSHTMLSelectElementCustom.cpp',
+ 'bindings/js/JSHTMLSelectElementCustom.h',
+ 'bindings/js/JSImageConstructor.cpp',
+ 'bindings/js/JSImageConstructor.h',
+ 'bindings/js/JSImageDataCustom.cpp',
+ 'bindings/js/JSInspectedObjectWrapper.cpp',
+ 'bindings/js/JSInspectedObjectWrapper.h',
+ 'bindings/js/JSInspectorCallbackWrapper.cpp',
+ 'bindings/js/JSInspectorCallbackWrapper.h',
+ 'bindings/js/JSInspectorBackendCustom.cpp',
+ 'bindings/js/JSJavaScriptCallFrameCustom.cpp',
+ 'bindings/js/JSLazyEventListener.cpp',
+ 'bindings/js/JSLazyEventListener.h',
+ 'bindings/js/JSLocationCustom.cpp',
+ 'bindings/js/JSLocationCustom.h',
+ 'bindings/js/JSMessageChannelConstructor.cpp',
+ 'bindings/js/JSMessageChannelConstructor.h',
+ 'bindings/js/JSMessageChannelCustom.cpp',
+ 'bindings/js/JSMessagePortCustom.cpp',
+ 'bindings/js/JSMimeTypeArrayCustom.cpp',
+ 'bindings/js/JSNamedNodeMapCustom.cpp',
+ 'bindings/js/JSNamedNodesCollection.cpp',
+ 'bindings/js/JSNamedNodesCollection.h',
+ 'bindings/js/JSNavigatorCustom.cpp',
+ 'bindings/js/JSNodeCustom.cpp',
+ 'bindings/js/JSNodeFilterCondition.cpp',
+ 'bindings/js/JSNodeFilterCondition.h',
+ 'bindings/js/JSNodeFilterCustom.cpp',
+ 'bindings/js/JSNodeIteratorCustom.cpp',
+ 'bindings/js/JSNodeListCustom.cpp',
+ 'bindings/js/JSOptionConstructor.cpp',
+ 'bindings/js/JSOptionConstructor.h',
+ 'bindings/js/JSPluginArrayCustom.cpp',
+ 'bindings/js/JSPluginCustom.cpp',
+ 'bindings/js/JSPluginElementFunctions.cpp',
+ 'bindings/js/JSPluginElementFunctions.h',
+ 'bindings/js/JSQuarantinedObjectWrapper.cpp',
+ 'bindings/js/JSQuarantinedObjectWrapper.h',
+ 'bindings/js/JSRGBColor.cpp',
+ 'bindings/js/JSRGBColor.h',
+ 'bindings/js/JSSQLResultSetRowListCustom.cpp',
+ 'bindings/js/JSSQLTransactionCustom.cpp',
+ 'bindings/js/JSStorageCustom.cpp',
+ 'bindings/js/JSStorageCustom.h',
+ 'bindings/js/JSStyleSheetCustom.cpp',
+ 'bindings/js/JSStyleSheetListCustom.cpp',
+ 'bindings/js/JSSVGElementInstanceCustom.cpp',
+ 'bindings/js/JSSVGLengthCustom.cpp',
+ 'bindings/js/JSSVGMatrixCustom.cpp',
+ 'bindings/js/JSSVGPathSegCustom.cpp',
+ 'bindings/js/JSSVGPathSegListCustom.cpp',
+ 'bindings/js/JSSVGPODTypeWrapper.h',
+ 'bindings/js/JSSVGPointListCustom.cpp',
+ 'bindings/js/JSSVGTransformListCustom.cpp',
+ 'bindings/js/JSTextCustom.cpp',
+ 'bindings/js/JSTreeWalkerCustom.cpp',
+ 'bindings/js/JSWebKitCSSMatrixConstructor.cpp',
+ 'bindings/js/JSWebKitCSSMatrixConstructor.h',
+ 'bindings/js/JSWebKitPointConstructor.cpp',
+ 'bindings/js/JSWebKitPointConstructor.h',
+ 'bindings/js/JSWorkerConstructor.cpp',
+ 'bindings/js/JSWorkerConstructor.h',
+ 'bindings/js/JSWorkerContextBase.cpp',
+ 'bindings/js/JSWorkerContextBase.h',
+ 'bindings/js/JSWorkerContextCustom.cpp',
+ 'bindings/js/JSWorkerCustom.cpp',
+ 'bindings/js/JSXMLHttpRequestConstructor.cpp',
+ 'bindings/js/JSXMLHttpRequestConstructor.h',
+ 'bindings/js/JSXMLHttpRequestCustom.cpp',
+ 'bindings/js/JSXMLHttpRequestUploadCustom.cpp',
+ 'bindings/js/JSXSLTProcessorConstructor.cpp',
+ 'bindings/js/JSXSLTProcessorConstructor.h',
+ 'bindings/js/JSXSLTProcessorCustom.cpp',
+ 'bindings/js/ScheduledAction.cpp',
+ 'bindings/js/ScheduledAction.h',
+ 'bindings/js/ScriptArray.cpp',
+ 'bindings/js/ScriptArray.h',
+ 'bindings/js/ScriptCachedFrameData.cpp',
+ 'bindings/js/ScriptCachedFrameData.h',
+ 'bindings/js/ScriptCallFrame.cpp',
+ 'bindings/js/ScriptCallFrame.h',
+ 'bindings/js/ScriptCallStack.cpp',
+ 'bindings/js/ScriptCallStack.h',
+ 'bindings/js/ScriptController.cpp',
+ 'bindings/js/ScriptController.h',
+ 'bindings/js/ScriptControllerGtk.cpp',
+ 'bindings/js/ScriptControllerMac.mm',
+ 'bindings/js/ScriptControllerQt.cpp',
+ 'bindings/js/ScriptControllerWin.cpp',
+ 'bindings/js/ScriptControllerWx.cpp',
+ 'bindings/js/ScriptEventListener.cpp',
+ 'bindings/js/ScriptEventListener.h',
+ 'bindings/js/ScriptFunctionCall.cpp',
+ 'bindings/js/ScriptFunctionCall.h',
+ 'bindings/js/ScriptInstance.h',
+ 'bindings/js/ScriptObject.cpp',
+ 'bindings/js/ScriptObject.h',
+ 'bindings/js/ScriptObjectQuarantine.cpp',
+ 'bindings/js/ScriptObjectQuarantine.h',
+ 'bindings/js/ScriptSourceCode.h',
+ 'bindings/js/ScriptSourceProvider.h',
+ 'bindings/js/ScriptState.cpp',
+ 'bindings/js/ScriptState.h',
+ 'bindings/js/ScriptString.h',
+ 'bindings/js/ScriptValue.cpp',
+ 'bindings/js/ScriptValue.h',
+ 'bindings/js/StringSourceProvider.h',
+ 'bindings/js/WorkerScriptController.cpp',
+ 'bindings/js/WorkerScriptController.h',
+ 'bindings/v8/ChildThreadDOMData.cpp',
+ 'bindings/v8/ChildThreadDOMData.h',
+ 'bindings/v8/custom/V8AbstractWorkerCustom.cpp',
+ 'bindings/v8/custom/V8AttrCustom.cpp',
+ 'bindings/v8/custom/V8CanvasPixelArrayCustom.cpp',
+ 'bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp',
+ 'bindings/v8/custom/V8ClientRectListCustom.cpp',
+ 'bindings/v8/custom/V8ClipboardCustom.cpp',
+ 'bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp',
+ 'bindings/v8/custom/V8CustomBinding.cpp',
+ 'bindings/v8/custom/V8CustomBinding.h',
+ 'bindings/v8/custom/V8CustomEventListener.cpp',
+ 'bindings/v8/custom/V8CustomEventListener.h',
+ 'bindings/v8/custom/V8CustomSQLStatementCallback.cpp',
+ 'bindings/v8/custom/V8CustomSQLStatementCallback.h',
+ 'bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp',
+ 'bindings/v8/custom/V8CustomSQLStatementErrorCallback.h',
+ 'bindings/v8/custom/V8CustomSQLTransactionCallback.cpp',
+ 'bindings/v8/custom/V8CustomSQLTransactionCallback.h',
+ 'bindings/v8/custom/V8CustomSQLTransactionErrorCallback.cpp',
+ 'bindings/v8/custom/V8CustomSQLTransactionErrorCallback.h',
+ 'bindings/v8/custom/V8CustomVoidCallback.cpp',
+ 'bindings/v8/custom/V8CustomVoidCallback.h',
+ 'bindings/v8/custom/V8CustomXPathNSResolver.cpp',
+ 'bindings/v8/custom/V8CustomXPathNSResolver.h',
+ 'bindings/v8/custom/V8DatabaseCustom.cpp',
+ 'bindings/v8/custom/V8DataGridColumnListCustom.cpp',
+ 'bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp',
+ 'bindings/v8/custom/V8DocumentLocationCustom.cpp',
+ 'bindings/v8/custom/V8DOMParserConstructor.cpp',
+ 'bindings/v8/custom/V8DOMWindowCustom.cpp',
+ 'bindings/v8/custom/V8DocumentCustom.cpp',
+ 'bindings/v8/custom/V8ElementCustom.cpp',
+ 'bindings/v8/custom/V8EventCustom.cpp',
+ 'bindings/v8/custom/V8HTMLAudioElementConstructor.cpp',
+ 'bindings/v8/custom/V8HTMLCanvasElementCustom.cpp',
+ 'bindings/v8/custom/V8HTMLCollectionCustom.cpp',
+ 'bindings/v8/custom/V8HTMLDataGridElementCustom.cpp',
+ 'bindings/v8/custom/V8HTMLDocumentCustom.cpp',
+ 'bindings/v8/custom/V8HTMLFormElementCustom.cpp',
+ 'bindings/v8/custom/V8HTMLFrameElementCustom.cpp',
+ 'bindings/v8/custom/V8HTMLFrameSetElementCustom.cpp',
+ 'bindings/v8/custom/V8HTMLIFrameElementCustom.cpp',
+ 'bindings/v8/custom/V8HTMLImageElementConstructor.cpp',
+ 'bindings/v8/custom/V8HTMLInputElementCustom.cpp',
+ 'bindings/v8/custom/V8HTMLOptionElementConstructor.cpp',
+ 'bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp',
+ 'bindings/v8/custom/V8HTMLPlugInElementCustom.cpp',
+ 'bindings/v8/custom/V8HTMLSelectElementCollectionCustom.cpp',
+ 'bindings/v8/custom/V8HTMLSelectElementCustom.cpp',
+ 'bindings/v8/custom/V8HTMLSelectElementCustom.h',
+ 'bindings/v8/custom/V8InspectorBackendCustom.cpp',
+ 'bindings/v8/custom/V8LocationCustom.cpp',
+ 'bindings/v8/custom/V8MessageChannelConstructor.cpp',
+ 'bindings/v8/custom/V8MessagePortCustom.cpp',
+ 'bindings/v8/custom/V8NamedNodeMapCustom.cpp',
+ 'bindings/v8/custom/V8NamedNodesCollection.cpp',
+ 'bindings/v8/custom/V8NamedNodesCollection.h',
+ 'bindings/v8/custom/V8NavigatorCustom.cpp',
+ 'bindings/v8/custom/V8NodeCustom.cpp',
+ 'bindings/v8/custom/V8NodeFilterCustom.cpp',
+ 'bindings/v8/custom/V8NodeIteratorCustom.cpp',
+ 'bindings/v8/custom/V8NodeListCustom.cpp',
+ 'bindings/v8/custom/V8StorageCustom.cpp',
+ 'bindings/v8/custom/V8SQLResultSetRowListCustom.cpp',
+ 'bindings/v8/custom/V8SQLTransactionCustom.cpp',
+ 'bindings/v8/custom/V8SVGElementInstanceCustom.cpp',
+ 'bindings/v8/custom/V8SVGLengthCustom.cpp',
+ 'bindings/v8/custom/V8SVGMatrixCustom.cpp',
+ 'bindings/v8/custom/V8SharedWorkerCustom.cpp',
+ 'bindings/v8/custom/V8StyleSheetListCustom.cpp',
+ 'bindings/v8/custom/V8TreeWalkerCustom.cpp',
+ 'bindings/v8/custom/V8WebKitCSSMatrixConstructor.cpp',
+ 'bindings/v8/custom/V8WebKitPointConstructor.cpp',
+ 'bindings/v8/custom/V8WorkerContextCustom.cpp',
+ 'bindings/v8/custom/V8WorkerCustom.cpp',
+ 'bindings/v8/custom/V8XMLHttpRequestConstructor.cpp',
+ 'bindings/v8/custom/V8XMLHttpRequestCustom.cpp',
+ 'bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp',
+ 'bindings/v8/custom/V8XMLSerializerConstructor.cpp',
+ 'bindings/v8/custom/V8XPathEvaluatorConstructor.cpp',
+ 'bindings/v8/custom/V8XSLTProcessorCustom.cpp',
+ 'bindings/v8/DOMData.cpp',
+ 'bindings/v8/DOMData.h',
+ 'bindings/v8/DOMDataStore.cpp',
+ 'bindings/v8/DOMDataStore.h',
+ 'bindings/v8/DOMObjectsInclude.h',
+ 'bindings/v8/MainThreadDOMData.cpp',
+ 'bindings/v8/MainThreadDOMData.h',
+ 'bindings/v8/NPV8Object.cpp',
+ 'bindings/v8/NPV8Object.h',
+ 'bindings/v8/ScheduledAction.cpp',
+ 'bindings/v8/ScheduledAction.h',
+ 'bindings/v8/ScopedDOMDataStore.cpp',
+ 'bindings/v8/ScopedDOMDataStore.h',
+ 'bindings/v8/ScriptArray.cpp',
+ 'bindings/v8/ScriptArray.h',
+ 'bindings/v8/ScriptCachedFrameData.h',
+ 'bindings/v8/ScriptCallFrame.cpp',
+ 'bindings/v8/ScriptCallFrame.h',
+ 'bindings/v8/ScriptCallStack.cpp',
+ 'bindings/v8/ScriptCallStack.h',
+ 'bindings/v8/ScriptController.cpp',
+ 'bindings/v8/ScriptController.h',
+ 'bindings/v8/ScriptEventListener.cpp',
+ 'bindings/v8/ScriptEventListener.h',
+ 'bindings/v8/ScriptFunctionCall.cpp',
+ 'bindings/v8/ScriptFunctionCall.h',
+ 'bindings/v8/ScriptInstance.cpp',
+ 'bindings/v8/ScriptInstance.h',
+ 'bindings/v8/ScriptObject.cpp',
+ 'bindings/v8/ScriptObject.h',
+ 'bindings/v8/ScriptObjectQuarantine.cpp',
+ 'bindings/v8/ScriptObjectQuarantine.h',
+ 'bindings/v8/ScriptScope.cpp',
+ 'bindings/v8/ScriptScope.h',
+ 'bindings/v8/ScriptSourceCode.h',
+ 'bindings/v8/ScriptState.h',
+ 'bindings/v8/ScriptState.cpp',
+ 'bindings/v8/ScriptString.h',
+ 'bindings/v8/ScriptValue.cpp',
+ 'bindings/v8/ScriptValue.h',
+ 'bindings/v8/StaticDOMDataStore.cpp',
+ 'bindings/v8/StaticDOMDataStore.h',
+ 'bindings/v8/V8AbstractEventListener.cpp',
+ 'bindings/v8/V8AbstractEventListener.h',
+ 'bindings/v8/V8Binding.cpp',
+ 'bindings/v8/V8Binding.h',
+ 'bindings/v8/V8Collection.cpp',
+ 'bindings/v8/V8Collection.h',
+ 'bindings/v8/V8ConsoleMessage.cpp',
+ 'bindings/v8/V8ConsoleMessage.h',
+ 'bindings/v8/V8DataGridDataSource.cpp',
+ 'bindings/v8/V8DataGridDataSource.h',
+ 'bindings/v8/V8DOMMap.cpp',
+ 'bindings/v8/V8DOMMap.h',
+ 'bindings/v8/V8DOMWrapper.cpp',
+ 'bindings/v8/V8DOMWrapper.h',
+ 'bindings/v8/V8EventListenerList.cpp',
+ 'bindings/v8/V8EventListenerList.h',
+ 'bindings/v8/V8GCController.cpp',
+ 'bindings/v8/V8GCController.h',
+ 'bindings/v8/V8Helpers.cpp',
+ 'bindings/v8/V8Helpers.h',
+ 'bindings/v8/V8HiddenPropertyName.cpp',
+ 'bindings/v8/V8HiddenPropertyName.h',
+ 'bindings/v8/V8Index.cpp',
+ 'bindings/v8/V8Index.h',
+ 'bindings/v8/V8IsolatedWorld.cpp',
+ 'bindings/v8/V8IsolatedWorld.h',
+ 'bindings/v8/V8LazyEventListener.cpp',
+ 'bindings/v8/V8LazyEventListener.h',
+ 'bindings/v8/V8NPObject.cpp',
+ 'bindings/v8/V8NPObject.h',
+ 'bindings/v8/V8NPUtils.cpp',
+ 'bindings/v8/V8NPUtils.h',
+ 'bindings/v8/V8NodeFilterCondition.cpp',
+ 'bindings/v8/V8NodeFilterCondition.h',
+ 'bindings/v8/V8ObjectEventListener.cpp',
+ 'bindings/v8/V8ObjectEventListener.h',
+ 'bindings/v8/V8Proxy.cpp',
+ 'bindings/v8/V8Proxy.h',
+ 'bindings/v8/V8SVGPODTypeWrapper.h',
+ 'bindings/v8/V8Utilities.cpp',
+ 'bindings/v8/V8Utilities.h',
+ 'bindings/v8/V8WorkerContextEventListener.cpp',
+ 'bindings/v8/V8WorkerContextEventListener.h',
+ 'bindings/v8/V8WorkerContextObjectEventListener.cpp',
+ 'bindings/v8/V8WorkerContextObjectEventListener.h',
+ 'bindings/v8/WorkerContextExecutionProxy.h',
+ 'bindings/v8/WorkerContextExecutionProxy.cpp',
+ 'bindings/v8/WorkerScriptController.h',
+ 'bindings/v8/WorkerScriptController.cpp',
+ 'bindings/v8/npruntime.cpp',
+ 'bindings/v8/npruntime_impl.h',
+ 'bindings/v8/npruntime_internal.h',
+ 'bindings/v8/npruntime_priv.h',
+ 'css/CSSBorderImageValue.cpp',
+ 'css/CSSBorderImageValue.h',
+ 'css/CSSCanvasValue.cpp',
+ 'css/CSSCanvasValue.h',
+ 'css/CSSCharsetRule.cpp',
+ 'css/CSSCharsetRule.h',
+ 'css/CSSComputedStyleDeclaration.cpp',
+ 'css/CSSComputedStyleDeclaration.h',
+ 'css/CSSCursorImageValue.cpp',
+ 'css/CSSCursorImageValue.h',
+ 'css/CSSFontFace.cpp',
+ 'css/CSSFontFace.h',
+ 'css/CSSFontFaceRule.cpp',
+ 'css/CSSFontFaceRule.h',
+ 'css/CSSFontFaceSource.cpp',
+ 'css/CSSFontFaceSource.h',
+ 'css/CSSFontFaceSrcValue.cpp',
+ 'css/CSSFontFaceSrcValue.h',
+ 'css/CSSFontSelector.cpp',
+ 'css/CSSFontSelector.h',
+ 'css/CSSFunctionValue.cpp',
+ 'css/CSSFunctionValue.h',
+ 'css/CSSGradientValue.cpp',
+ 'css/CSSGradientValue.h',
+ 'css/CSSHelper.cpp',
+ 'css/CSSHelper.h',
+ 'css/CSSImageGeneratorValue.cpp',
+ 'css/CSSImageGeneratorValue.h',
+ 'css/CSSImageValue.cpp',
+ 'css/CSSImageValue.h',
+ 'css/CSSImportRule.cpp',
+ 'css/CSSImportRule.h',
+ 'css/CSSInheritedValue.cpp',
+ 'css/CSSInheritedValue.h',
+ 'css/CSSInitialValue.cpp',
+ 'css/CSSInitialValue.h',
+ 'css/CSSMediaRule.cpp',
+ 'css/CSSMediaRule.h',
+ 'css/CSSMutableStyleDeclaration.cpp',
+ 'css/CSSMutableStyleDeclaration.h',
+ 'css/CSSNamespace.h',
+ 'css/CSSPageRule.cpp',
+ 'css/CSSPageRule.h',
+ 'css/CSSParser.cpp',
+ 'css/CSSParser.h',
+ 'css/CSSParserValues.cpp',
+ 'css/CSSParserValues.h',
+ 'css/CSSPrimitiveValue.cpp',
+ 'css/CSSPrimitiveValue.h',
+ 'css/CSSPrimitiveValueMappings.h',
+ 'css/CSSProperty.cpp',
+ 'css/CSSProperty.h',
+ 'css/CSSPropertyLonghand.cpp',
+ 'css/CSSPropertyLonghand.h',
+ 'css/CSSQuirkPrimitiveValue.h',
+ 'css/CSSReflectValue.cpp',
+ 'css/CSSReflectValue.h',
+ 'css/CSSReflectionDirection.h',
+ 'css/CSSRule.cpp',
+ 'css/CSSRule.h',
+ 'css/CSSRuleList.cpp',
+ 'css/CSSRuleList.h',
+ 'css/CSSSegmentedFontFace.cpp',
+ 'css/CSSSegmentedFontFace.h',
+ 'css/CSSSelector.cpp',
+ 'css/CSSSelector.h',
+ 'css/CSSSelectorList.cpp',
+ 'css/CSSSelectorList.h',
+ 'css/CSSStyleDeclaration.cpp',
+ 'css/CSSStyleDeclaration.h',
+ 'css/CSSStyleRule.cpp',
+ 'css/CSSStyleRule.h',
+ 'css/CSSStyleSelector.cpp',
+ 'css/CSSStyleSelector.h',
+ 'css/CSSStyleSheet.cpp',
+ 'css/CSSStyleSheet.h',
+ 'css/CSSTimingFunctionValue.cpp',
+ 'css/CSSTimingFunctionValue.h',
+ 'css/CSSUnicodeRangeValue.cpp',
+ 'css/CSSUnicodeRangeValue.h',
+ 'css/CSSUnknownRule.h',
+ 'css/CSSValue.h',
+ 'css/CSSValueList.cpp',
+ 'css/CSSValueList.h',
+ 'css/CSSVariableDependentValue.cpp',
+ 'css/CSSVariableDependentValue.h',
+ 'css/CSSVariablesDeclaration.cpp',
+ 'css/CSSVariablesDeclaration.h',
+ 'css/CSSVariablesRule.cpp',
+ 'css/CSSVariablesRule.h',
+ 'css/Counter.h',
+ 'css/DashboardRegion.h',
+ 'css/FontFamilyValue.cpp',
+ 'css/FontFamilyValue.h',
+ 'css/FontValue.cpp',
+ 'css/FontValue.h',
+ 'css/MediaFeatureNames.cpp',
+ 'css/MediaFeatureNames.h',
+ 'css/MediaList.cpp',
+ 'css/MediaList.h',
+ 'css/MediaQuery.cpp',
+ 'css/MediaQuery.h',
+ 'css/MediaQueryEvaluator.cpp',
+ 'css/MediaQueryEvaluator.h',
+ 'css/MediaQueryExp.cpp',
+ 'css/MediaQueryExp.h',
+ 'css/Pair.h',
+ 'css/Rect.h',
+ 'css/RGBColor.cpp',
+ 'css/RGBColor.h',
+ 'css/SVGCSSComputedStyleDeclaration.cpp',
+ 'css/SVGCSSParser.cpp',
+ 'css/SVGCSSStyleSelector.cpp',
+ 'css/ShadowValue.cpp',
+ 'css/ShadowValue.h',
+ 'css/StyleBase.cpp',
+ 'css/StyleBase.h',
+ 'css/StyleList.cpp',
+ 'css/StyleList.h',
+ 'css/StyleSheet.cpp',
+ 'css/StyleSheet.h',
+ 'css/StyleSheetList.cpp',
+ 'css/StyleSheetList.h',
+ 'css/WebKitCSSKeyframeRule.cpp',
+ 'css/WebKitCSSKeyframeRule.h',
+ 'css/WebKitCSSKeyframesRule.cpp',
+ 'css/WebKitCSSKeyframesRule.h',
+ 'css/WebKitCSSMatrix.cpp',
+ 'css/WebKitCSSMatrix.h',
+ 'css/WebKitCSSTransformValue.cpp',
+ 'css/WebKitCSSTransformValue.h',
+ 'dom/default/PlatformMessagePortChannel.cpp',
+ 'dom/default/PlatformMessagePortChannel.h',
+ 'dom/ActiveDOMObject.cpp',
+ 'dom/ActiveDOMObject.h',
+ 'dom/Attr.cpp',
+ 'dom/Attr.h',
+ 'dom/Attribute.cpp',
+ 'dom/Attribute.h',
+ 'dom/BeforeTextInsertedEvent.cpp',
+ 'dom/BeforeTextInsertedEvent.h',
+ 'dom/BeforeUnloadEvent.cpp',
+ 'dom/BeforeUnloadEvent.h',
+ 'dom/CDATASection.cpp',
+ 'dom/CDATASection.h',
+ 'dom/CSSMappedAttributeDeclaration.cpp',
+ 'dom/CSSMappedAttributeDeclaration.h',
+ 'dom/CharacterData.cpp',
+ 'dom/CharacterData.h',
+ 'dom/CheckedRadioButtons.cpp',
+ 'dom/CheckedRadioButtons.h',
+ 'dom/ChildNodeList.cpp',
+ 'dom/ChildNodeList.h',
+ 'dom/ClassNames.cpp',
+ 'dom/ClassNames.h',
+ 'dom/ClassNodeList.cpp',
+ 'dom/ClassNodeList.h',
+ 'dom/ClientRect.cpp',
+ 'dom/ClientRect.h',
+ 'dom/ClientRectList.cpp',
+ 'dom/ClientRectList.h',
+ 'dom/Clipboard.cpp',
+ 'dom/Clipboard.h',
+ 'dom/ClipboardAccessPolicy.h',
+ 'dom/ClipboardEvent.cpp',
+ 'dom/ClipboardEvent.h',
+ 'dom/Comment.cpp',
+ 'dom/Comment.h',
+ 'dom/ContainerNode.cpp',
+ 'dom/ContainerNode.h',
+ 'dom/ContainerNodeAlgorithms.h',
+ 'dom/DOMCoreException.h',
+ 'dom/DOMImplementation.cpp',
+ 'dom/DOMImplementation.h',
+ 'dom/DocPtr.h',
+ 'dom/Document.cpp',
+ 'dom/Document.h',
+ 'dom/DocumentFragment.cpp',
+ 'dom/DocumentFragment.h',
+ 'dom/DocumentMarker.h',
+ 'dom/DocumentType.cpp',
+ 'dom/DocumentType.h',
+ 'dom/DynamicNodeList.cpp',
+ 'dom/DynamicNodeList.h',
+ 'dom/EditingText.cpp',
+ 'dom/EditingText.h',
+ 'dom/Element.cpp',
+ 'dom/Element.h',
+ 'dom/ElementRareData.h',
+ 'dom/Entity.cpp',
+ 'dom/Entity.h',
+ 'dom/EntityReference.cpp',
+ 'dom/EntityReference.h',
+ 'dom/ErrorEvent.cpp',
+ 'dom/ErrorEvent.h',
+ 'dom/Event.cpp',
+ 'dom/Event.h',
+ 'dom/EventException.h',
+ 'dom/EventListener.h',
+ 'dom/EventNames.cpp',
+ 'dom/EventNames.h',
+ 'dom/EventTarget.cpp',
+ 'dom/EventTarget.h',
+ 'dom/ExceptionBase.cpp',
+ 'dom/ExceptionBase.h',
+ 'dom/ExceptionCode.cpp',
+ 'dom/ExceptionCode.h',
+ 'dom/InputElement.cpp',
+ 'dom/InputElement.h',
+ 'dom/KeyboardEvent.cpp',
+ 'dom/KeyboardEvent.h',
+ 'dom/MappedAttribute.cpp',
+ 'dom/MappedAttribute.h',
+ 'dom/MappedAttributeEntry.h',
+ 'dom/MessageChannel.cpp',
+ 'dom/MessageChannel.h',
+ 'dom/MessageEvent.cpp',
+ 'dom/MessageEvent.h',
+ 'dom/MessagePort.cpp',
+ 'dom/MessagePort.h',
+ 'dom/MessagePortChannel.cpp',
+ 'dom/MessagePortChannel.h',
+ 'dom/MouseEvent.cpp',
+ 'dom/MouseEvent.h',
+ 'dom/MouseRelatedEvent.cpp',
+ 'dom/MouseRelatedEvent.h',
+ 'dom/MutationEvent.cpp',
+ 'dom/MutationEvent.h',
+ 'dom/NameNodeList.cpp',
+ 'dom/NameNodeList.h',
+ 'dom/NamedAttrMap.cpp',
+ 'dom/NamedAttrMap.h',
+ 'dom/NamedMappedAttrMap.cpp',
+ 'dom/NamedMappedAttrMap.h',
+ 'dom/NamedNodeMap.h',
+ 'dom/Node.cpp',
+ 'dom/Node.h',
+ 'dom/NodeFilter.cpp',
+ 'dom/NodeFilter.h',
+ 'dom/NodeFilterCondition.cpp',
+ 'dom/NodeFilterCondition.h',
+ 'dom/NodeIterator.cpp',
+ 'dom/NodeIterator.h',
+ 'dom/NodeList.h',
+ 'dom/NodeRareData.h',
+ 'dom/NodeRenderStyle.h',
+ 'dom/NodeWithIndex.h',
+ 'dom/Notation.cpp',
+ 'dom/Notation.h',
+ 'dom/OptionElement.cpp',
+ 'dom/OptionElement.h',
+ 'dom/OptionGroupElement.cpp',
+ 'dom/OptionGroupElement.h',
+ 'dom/OverflowEvent.cpp',
+ 'dom/OverflowEvent.h',
+ 'dom/Position.cpp',
+ 'dom/Position.h',
+ 'dom/PositionIterator.cpp',
+ 'dom/PositionIterator.h',
+ 'dom/ProcessingInstruction.cpp',
+ 'dom/ProcessingInstruction.h',
+ 'dom/ProgressEvent.cpp',
+ 'dom/ProgressEvent.h',
+ 'dom/QualifiedName.cpp',
+ 'dom/QualifiedName.h',
+ 'dom/Range.cpp',
+ 'dom/Range.h',
+ 'dom/RangeBoundaryPoint.h',
+ 'dom/RangeException.h',
+ 'dom/RegisteredEventListener.cpp',
+ 'dom/RegisteredEventListener.h',
+ 'dom/ScriptElement.cpp',
+ 'dom/ScriptElement.h',
+ 'dom/ScriptExecutionContext.cpp',
+ 'dom/ScriptExecutionContext.h',
+ 'dom/SelectElement.cpp',
+ 'dom/SelectElement.h',
+ 'dom/SelectorNodeList.cpp',
+ 'dom/SelectorNodeList.h',
+ 'dom/StaticNodeList.cpp',
+ 'dom/StaticNodeList.h',
+ 'dom/StaticStringList.cpp',
+ 'dom/StaticStringList.h',
+ 'dom/StyleElement.cpp',
+ 'dom/StyleElement.h',
+ 'dom/StyledElement.cpp',
+ 'dom/StyledElement.h',
+ 'dom/TagNodeList.cpp',
+ 'dom/TagNodeList.h',
+ 'dom/Text.cpp',
+ 'dom/Text.h',
+ 'dom/TextEvent.cpp',
+ 'dom/TextEvent.h',
+ 'dom/Tokenizer.h',
+ 'dom/Traversal.cpp',
+ 'dom/Traversal.h',
+ 'dom/TreeWalker.cpp',
+ 'dom/TreeWalker.h',
+ 'dom/UIEvent.cpp',
+ 'dom/UIEvent.h',
+ 'dom/UIEventWithKeyState.cpp',
+ 'dom/UIEventWithKeyState.h',
+ 'dom/WebKitAnimationEvent.cpp',
+ 'dom/WebKitAnimationEvent.h',
+ 'dom/WebKitTransitionEvent.cpp',
+ 'dom/WebKitTransitionEvent.h',
+ 'dom/WheelEvent.cpp',
+ 'dom/WheelEvent.h',
+ 'dom/XMLTokenizer.cpp',
+ 'dom/XMLTokenizer.h',
+ 'dom/XMLTokenizerLibxml2.cpp',
+ 'dom/XMLTokenizerScope.cpp',
+ 'dom/XMLTokenizerScope.h',
+ 'dom/XMLTokenizerQt.cpp',
+ 'editing/android/EditorAndroid.cpp',
+ 'editing/chromium/EditorChromium.cpp',
+ 'editing/mac/EditorMac.mm',
+ 'editing/mac/SelectionControllerMac.mm',
+ 'editing/qt/EditorQt.cpp',
+ 'editing/wx/EditorWx.cpp',
+ 'editing/AppendNodeCommand.cpp',
+ 'editing/AppendNodeCommand.h',
+ 'editing/ApplyStyleCommand.cpp',
+ 'editing/ApplyStyleCommand.h',
+ 'editing/BreakBlockquoteCommand.cpp',
+ 'editing/BreakBlockquoteCommand.h',
+ 'editing/CompositeEditCommand.cpp',
+ 'editing/CompositeEditCommand.h',
+ 'editing/CreateLinkCommand.cpp',
+ 'editing/CreateLinkCommand.h',
+ 'editing/DeleteButton.cpp',
+ 'editing/DeleteButton.h',
+ 'editing/DeleteButtonController.cpp',
+ 'editing/DeleteButtonController.h',
+ 'editing/DeleteFromTextNodeCommand.cpp',
+ 'editing/DeleteFromTextNodeCommand.h',
+ 'editing/DeleteSelectionCommand.cpp',
+ 'editing/DeleteSelectionCommand.h',
+ 'editing/EditAction.h',
+ 'editing/EditCommand.cpp',
+ 'editing/EditCommand.h',
+ 'editing/Editor.cpp',
+ 'editing/Editor.h',
+ 'editing/EditorCommand.cpp',
+ 'editing/EditorDeleteAction.h',
+ 'editing/EditorInsertAction.h',
+ 'editing/FormatBlockCommand.cpp',
+ 'editing/FormatBlockCommand.h',
+ 'editing/HTMLInterchange.cpp',
+ 'editing/HTMLInterchange.h',
+ 'editing/IndentOutdentCommand.cpp',
+ 'editing/IndentOutdentCommand.h',
+ 'editing/InsertIntoTextNodeCommand.cpp',
+ 'editing/InsertIntoTextNodeCommand.h',
+ 'editing/InsertLineBreakCommand.cpp',
+ 'editing/InsertLineBreakCommand.h',
+ 'editing/InsertListCommand.cpp',
+ 'editing/InsertListCommand.h',
+ 'editing/InsertNodeBeforeCommand.cpp',
+ 'editing/InsertNodeBeforeCommand.h',
+ 'editing/InsertParagraphSeparatorCommand.cpp',
+ 'editing/InsertParagraphSeparatorCommand.h',
+ 'editing/InsertTextCommand.cpp',
+ 'editing/InsertTextCommand.h',
+ 'editing/JoinTextNodesCommand.cpp',
+ 'editing/JoinTextNodesCommand.h',
+ 'editing/MergeIdenticalElementsCommand.cpp',
+ 'editing/MergeIdenticalElementsCommand.h',
+ 'editing/ModifySelectionListLevel.cpp',
+ 'editing/ModifySelectionListLevel.h',
+ 'editing/MoveSelectionCommand.cpp',
+ 'editing/MoveSelectionCommand.h',
+ 'editing/RemoveCSSPropertyCommand.cpp',
+ 'editing/RemoveCSSPropertyCommand.h',
+ 'editing/RemoveFormatCommand.cpp',
+ 'editing/RemoveFormatCommand.h',
+ 'editing/RemoveNodeCommand.cpp',
+ 'editing/RemoveNodeCommand.h',
+ 'editing/RemoveNodePreservingChildrenCommand.cpp',
+ 'editing/RemoveNodePreservingChildrenCommand.h',
+ 'editing/ReplaceNodeWithSpanCommand.cpp',
+ 'editing/ReplaceNodeWithSpanCommand.h',
+ 'editing/ReplaceSelectionCommand.cpp',
+ 'editing/ReplaceSelectionCommand.h',
+ 'editing/SelectionController.cpp',
+ 'editing/SelectionController.h',
+ 'editing/SetNodeAttributeCommand.cpp',
+ 'editing/SetNodeAttributeCommand.h',
+ 'editing/SmartReplace.cpp',
+ 'editing/SmartReplace.h',
+ 'editing/SmartReplaceCF.cpp',
+ 'editing/SmartReplaceICU.cpp',
+ 'editing/SplitElementCommand.cpp',
+ 'editing/SplitElementCommand.h',
+ 'editing/SplitTextNodeCommand.cpp',
+ 'editing/SplitTextNodeCommand.h',
+ 'editing/SplitTextNodeContainingElementCommand.cpp',
+ 'editing/SplitTextNodeContainingElementCommand.h',
+ 'editing/TextAffinity.h',
+ 'editing/TextGranularity.h',
+ 'editing/TextIterator.cpp',
+ 'editing/TextIterator.h',
+ 'editing/TypingCommand.cpp',
+ 'editing/TypingCommand.h',
+ 'editing/UnlinkCommand.cpp',
+ 'editing/UnlinkCommand.h',
+ 'editing/VisiblePosition.cpp',
+ 'editing/VisiblePosition.h',
+ 'editing/VisibleSelection.cpp',
+ 'editing/VisibleSelection.h',
+ 'editing/WrapContentsInDummySpanCommand.cpp',
+ 'editing/WrapContentsInDummySpanCommand.h',
+ 'editing/htmlediting.cpp',
+ 'editing/htmlediting.h',
+ 'editing/markup.cpp',
+ 'editing/markup.h',
+ 'editing/visible_units.cpp',
+ 'editing/visible_units.h',
+ 'history/mac/HistoryItemMac.mm',
+ 'history/BackForwardList.cpp',
+ 'history/BackForwardList.h',
+ 'history/BackForwardListChromium.cpp',
+ 'history/CachedFrame.cpp',
+ 'history/CachedFrame.h',
+ 'history/CachedFramePlatformData.h',
+ 'history/CachedPage.cpp',
+ 'history/CachedPage.h',
+ 'history/HistoryItem.cpp',
+ 'history/HistoryItem.h',
+ 'history/PageCache.cpp',
+ 'history/PageCache.h',
+ 'html/CanvasGradient.cpp',
+ 'html/CanvasGradient.h',
+ 'html/CanvasPattern.cpp',
+ 'html/CanvasPattern.h',
+ 'html/CanvasPixelArray.cpp',
+ 'html/CanvasPixelArray.h',
+ 'html/CanvasRenderingContext2D.cpp',
+ 'html/CanvasRenderingContext2D.h',
+ 'html/CanvasStyle.cpp',
+ 'html/CanvasStyle.h',
+ 'html/CollectionCache.cpp',
+ 'html/CollectionCache.h',
+ 'html/CollectionType.h',
+ 'html/DataGridColumn.cpp',
+ 'html/DataGridColumn.h',
+ 'html/DOMDataGridDataSource.cpp',
+ 'html/DOMDataGridDataSource.h',
+ 'html/DataGridColumnList.cpp',
+ 'html/DataGridColumnList.h',
+ 'html/File.cpp',
+ 'html/File.h',
+ 'html/FileList.cpp',
+ 'html/FileList.h',
+ 'html/FormDataList.cpp',
+ 'html/FormDataList.h',
+ 'html/HTMLAnchorElement.cpp',
+ 'html/HTMLAnchorElement.h',
+ 'html/HTMLAppletElement.cpp',
+ 'html/HTMLAppletElement.h',
+ 'html/HTMLAreaElement.cpp',
+ 'html/HTMLAreaElement.h',
+ 'html/HTMLAudioElement.cpp',
+ 'html/HTMLAudioElement.h',
+ 'html/HTMLBRElement.cpp',
+ 'html/HTMLBRElement.h',
+ 'html/HTMLBaseElement.cpp',
+ 'html/HTMLBaseElement.h',
+ 'html/HTMLBaseFontElement.cpp',
+ 'html/HTMLBaseFontElement.h',
+ 'html/HTMLBlockquoteElement.cpp',
+ 'html/HTMLBlockquoteElement.h',
+ 'html/HTMLBodyElement.cpp',
+ 'html/HTMLBodyElement.h',
+ 'html/HTMLButtonElement.cpp',
+ 'html/HTMLButtonElement.h',
+ 'html/HTMLCanvasElement.cpp',
+ 'html/HTMLCanvasElement.h',
+ 'html/HTMLCollection.cpp',
+ 'html/HTMLCollection.h',
+ 'html/HTMLDListElement.cpp',
+ 'html/HTMLDListElement.h',
+ 'html/HTMLDataGridCellElement.cpp',
+ 'html/HTMLDataGridCellElement.h',
+ 'html/HTMLDataGridColElement.cpp',
+ 'html/HTMLDataGridColElement.h',
+ 'html/HTMLDataGridElement.cpp',
+ 'html/HTMLDataGridElement.h',
+ 'html/HTMLDataGridRowElement.cpp',
+ 'html/HTMLDataGridRowElement.h',
+ 'html/HTMLDirectoryElement.cpp',
+ 'html/HTMLDirectoryElement.h',
+ 'html/HTMLDivElement.cpp',
+ 'html/HTMLDivElement.h',
+ 'html/HTMLDocument.cpp',
+ 'html/HTMLDocument.h',
+ 'html/HTMLElement.cpp',
+ 'html/HTMLElement.h',
+ 'html/HTMLEmbedElement.cpp',
+ 'html/HTMLEmbedElement.h',
+ 'html/HTMLFieldSetElement.cpp',
+ 'html/HTMLFieldSetElement.h',
+ 'html/HTMLFontElement.cpp',
+ 'html/HTMLFontElement.h',
+ 'html/HTMLFormCollection.cpp',
+ 'html/HTMLFormCollection.h',
+ 'html/HTMLFormControlElement.cpp',
+ 'html/HTMLFormControlElement.h',
+ 'html/HTMLFormElement.cpp',
+ 'html/HTMLFormElement.h',
+ 'html/HTMLFrameElement.cpp',
+ 'html/HTMLFrameElement.h',
+ 'html/HTMLFrameElementBase.cpp',
+ 'html/HTMLFrameElementBase.h',
+ 'html/HTMLFrameOwnerElement.cpp',
+ 'html/HTMLFrameOwnerElement.h',
+ 'html/HTMLFrameSetElement.cpp',
+ 'html/HTMLFrameSetElement.h',
+ 'html/HTMLHRElement.cpp',
+ 'html/HTMLHRElement.h',
+ 'html/HTMLHeadElement.cpp',
+ 'html/HTMLHeadElement.h',
+ 'html/HTMLHeadingElement.cpp',
+ 'html/HTMLHeadingElement.h',
+ 'html/HTMLHtmlElement.cpp',
+ 'html/HTMLHtmlElement.h',
+ 'html/HTMLIFrameElement.cpp',
+ 'html/HTMLIFrameElement.h',
+ 'html/HTMLImageElement.cpp',
+ 'html/HTMLImageElement.h',
+ 'html/HTMLImageLoader.cpp',
+ 'html/HTMLImageLoader.h',
+ 'html/HTMLInputElement.cpp',
+ 'html/HTMLInputElement.h',
+ 'html/HTMLIsIndexElement.cpp',
+ 'html/HTMLIsIndexElement.h',
+ 'html/HTMLKeygenElement.cpp',
+ 'html/HTMLKeygenElement.h',
+ 'html/HTMLLIElement.cpp',
+ 'html/HTMLLIElement.h',
+ 'html/HTMLLabelElement.cpp',
+ 'html/HTMLLabelElement.h',
+ 'html/HTMLLegendElement.cpp',
+ 'html/HTMLLegendElement.h',
+ 'html/HTMLLinkElement.cpp',
+ 'html/HTMLLinkElement.h',
+ 'html/HTMLMapElement.cpp',
+ 'html/HTMLMapElement.h',
+ 'html/HTMLMarqueeElement.cpp',
+ 'html/HTMLMarqueeElement.h',
+ 'html/HTMLMediaElement.cpp',
+ 'html/HTMLMediaElement.h',
+ 'html/HTMLMenuElement.cpp',
+ 'html/HTMLMenuElement.h',
+ 'html/HTMLMetaElement.cpp',
+ 'html/HTMLMetaElement.h',
+ 'html/HTMLModElement.cpp',
+ 'html/HTMLModElement.h',
+ 'html/HTMLNameCollection.cpp',
+ 'html/HTMLNameCollection.h',
+ 'html/HTMLOListElement.cpp',
+ 'html/HTMLOListElement.h',
+ 'html/HTMLObjectElement.cpp',
+ 'html/HTMLObjectElement.h',
+ 'html/HTMLOptGroupElement.cpp',
+ 'html/HTMLOptGroupElement.h',
+ 'html/HTMLOptionElement.cpp',
+ 'html/HTMLOptionElement.h',
+ 'html/HTMLOptionsCollection.cpp',
+ 'html/HTMLOptionsCollection.h',
+ 'html/HTMLParagraphElement.cpp',
+ 'html/HTMLParagraphElement.h',
+ 'html/HTMLParamElement.cpp',
+ 'html/HTMLParamElement.h',
+ 'html/HTMLParser.cpp',
+ 'html/HTMLParser.h',
+ 'html/HTMLParserErrorCodes.cpp',
+ 'html/HTMLParserErrorCodes.h',
+ 'html/HTMLPlugInElement.cpp',
+ 'html/HTMLPlugInElement.h',
+ 'html/HTMLPlugInImageElement.cpp',
+ 'html/HTMLPlugInImageElement.h',
+ 'html/HTMLPreElement.cpp',
+ 'html/HTMLPreElement.h',
+ 'html/HTMLQuoteElement.cpp',
+ 'html/HTMLQuoteElement.h',
+ 'html/HTMLScriptElement.cpp',
+ 'html/HTMLScriptElement.h',
+ 'html/HTMLSelectElement.cpp',
+ 'html/HTMLSelectElement.h',
+ 'html/HTMLSourceElement.cpp',
+ 'html/HTMLSourceElement.h',
+ 'html/HTMLStyleElement.cpp',
+ 'html/HTMLStyleElement.h',
+ 'html/HTMLTableCaptionElement.cpp',
+ 'html/HTMLTableCaptionElement.h',
+ 'html/HTMLTableCellElement.cpp',
+ 'html/HTMLTableCellElement.h',
+ 'html/HTMLTableColElement.cpp',
+ 'html/HTMLTableColElement.h',
+ 'html/HTMLTableElement.cpp',
+ 'html/HTMLTableElement.h',
+ 'html/HTMLTablePartElement.cpp',
+ 'html/HTMLTablePartElement.h',
+ 'html/HTMLTableRowElement.cpp',
+ 'html/HTMLTableRowElement.h',
+ 'html/HTMLTableRowsCollection.cpp',
+ 'html/HTMLTableRowsCollection.h',
+ 'html/HTMLTableSectionElement.cpp',
+ 'html/HTMLTableSectionElement.h',
+ 'html/HTMLTextAreaElement.cpp',
+ 'html/HTMLTextAreaElement.h',
+ 'html/HTMLTitleElement.cpp',
+ 'html/HTMLTitleElement.h',
+ 'html/HTMLTokenizer.cpp',
+ 'html/HTMLTokenizer.h',
+ 'html/HTMLUListElement.cpp',
+ 'html/HTMLUListElement.h',
+ 'html/HTMLVideoElement.cpp',
+ 'html/HTMLVideoElement.h',
+ 'html/HTMLViewSourceDocument.cpp',
+ 'html/HTMLViewSourceDocument.h',
+ 'html/ImageData.cpp',
+ 'html/ImageData.h',
+ 'html/MediaError.h',
+ 'html/PreloadScanner.cpp',
+ 'html/PreloadScanner.h',
+ 'html/TextMetrics.h',
+ 'html/TimeRanges.cpp',
+ 'html/TimeRanges.h',
+ 'html/ValidityState.cpp',
+ 'html/ValidityState.h',
+ 'html/VoidCallback.h',
+ 'inspector/InspectorClient.h',
+ 'inspector/ConsoleMessage.cpp',
+ 'inspector/ConsoleMessage.h',
+ 'inspector/InspectorBackend.cpp',
+ 'inspector/InspectorBackend.h',
+ 'inspector/InspectorController.cpp',
+ 'inspector/InspectorController.h',
+ 'inspector/InspectorDatabaseResource.cpp',
+ 'inspector/InspectorDatabaseResource.h',
+ 'inspector/InspectorDOMStorageResource.cpp',
+ 'inspector/InspectorDOMStorageResource.h',
+ 'inspector/InspectorFrontend.cpp',
+ 'inspector/InspectorFrontend.h',
+ 'inspector/InspectorJSONObject.cpp',
+ 'inspector/InspectorJSONObject.h',
+ 'inspector/InspectorResource.cpp',
+ 'inspector/InspectorResource.h',
+ 'inspector/JavaScriptCallFrame.cpp',
+ 'inspector/JavaScriptCallFrame.h',
+ 'inspector/JavaScriptDebugListener.h',
+ 'inspector/JavaScriptDebugServer.cpp',
+ 'inspector/JavaScriptDebugServer.h',
+ 'inspector/JavaScriptProfile.cpp',
+ 'inspector/JavaScriptProfile.h',
+ 'inspector/JavaScriptProfileNode.cpp',
+ 'inspector/JavaScriptProfileNode.h',
+ 'loader/appcache/ApplicationCache.cpp',
+ 'loader/appcache/ApplicationCache.h',
+ 'loader/appcache/ApplicationCacheGroup.cpp',
+ 'loader/appcache/ApplicationCacheGroup.h',
+ 'loader/appcache/ApplicationCacheResource.cpp',
+ 'loader/appcache/ApplicationCacheResource.h',
+ 'loader/appcache/ApplicationCacheStorage.cpp',
+ 'loader/appcache/ApplicationCacheStorage.h',
+ 'loader/appcache/DOMApplicationCache.cpp',
+ 'loader/appcache/DOMApplicationCache.h',
+ 'loader/appcache/ManifestParser.cpp',
+ 'loader/appcache/ManifestParser.h',
+ 'loader/archive/cf/LegacyWebArchive.cpp',
+ 'loader/archive/cf/LegacyWebArchive.h',
+ 'loader/archive/cf/LegacyWebArchiveMac.mm',
+ 'loader/archive/Archive.h',
+ 'loader/archive/ArchiveFactory.cpp',
+ 'loader/archive/ArchiveFactory.h',
+ 'loader/archive/ArchiveResource.cpp',
+ 'loader/archive/ArchiveResource.h',
+ 'loader/archive/ArchiveResourceCollection.cpp',
+ 'loader/archive/ArchiveResourceCollection.h',
+ 'loader/icon/IconDatabase.cpp',
+ 'loader/icon/IconDatabase.h',
+ 'loader/icon/IconDatabaseClient.h',
+ 'loader/icon/IconDatabaseNone.cpp',
+ 'loader/icon/IconFetcher.cpp',
+ 'loader/icon/IconFetcher.h',
+ 'loader/icon/IconLoader.cpp',
+ 'loader/icon/IconLoader.h',
+ 'loader/icon/IconRecord.cpp',
+ 'loader/icon/IconRecord.h',
+ 'loader/icon/PageURLRecord.cpp',
+ 'loader/icon/PageURLRecord.h',
+ 'loader/mac/DocumentLoaderMac.cpp',
+ 'loader/mac/LoaderNSURLExtras.h',
+ 'loader/mac/LoaderNSURLExtras.mm',
+ 'loader/mac/ResourceLoaderMac.mm',
+ 'loader/win/DocumentLoaderWin.cpp',
+ 'loader/win/FrameLoaderWin.cpp',
+ 'loader/Cache.cpp',
+ 'loader/Cache.h',
+ 'loader/CachePolicy.h',
+ 'loader/CachedCSSStyleSheet.cpp',
+ 'loader/CachedCSSStyleSheet.h',
+ 'loader/CachedFont.cpp',
+ 'loader/CachedFont.h',
+ 'loader/CachedImage.cpp',
+ 'loader/CachedImage.h',
+ 'loader/CachedResource.cpp',
+ 'loader/CachedResource.h',
+ 'loader/CachedResourceClient.h',
+ 'loader/CachedResourceClientWalker.cpp',
+ 'loader/CachedResourceClientWalker.h',
+ 'loader/CachedResourceHandle.cpp',
+ 'loader/CachedResourceHandle.h',
+ 'loader/CachedScript.cpp',
+ 'loader/CachedScript.h',
+ 'loader/CachedXBLDocument.cpp',
+ 'loader/CachedXBLDocument.h',
+ 'loader/CachedXSLStyleSheet.cpp',
+ 'loader/CachedXSLStyleSheet.h',
+ 'loader/CrossOriginAccessControl.cpp',
+ 'loader/CrossOriginAccessControl.h',
+ 'loader/CrossOriginPreflightResultCache.cpp',
+ 'loader/CrossOriginPreflightResultCache.h',
+ 'loader/DocLoader.cpp',
+ 'loader/DocLoader.h',
+ 'loader/DocumentLoader.cpp',
+ 'loader/DocumentLoader.h',
+ 'loader/DocumentThreadableLoader.cpp',
+ 'loader/DocumentThreadableLoader.h',
+ 'loader/EmptyClients.h',
+ 'loader/FTPDirectoryDocument.cpp',
+ 'loader/FTPDirectoryDocument.h',
+ 'loader/FTPDirectoryParser.cpp',
+ 'loader/FTPDirectoryParser.h',
+ 'loader/FormState.cpp',
+ 'loader/FormState.h',
+ 'loader/FrameLoader.cpp',
+ 'loader/FrameLoader.h',
+ 'loader/FrameLoaderClient.h',
+ 'loader/FrameLoaderTypes.h',
+ 'loader/ImageDocument.cpp',
+ 'loader/ImageDocument.h',
+ 'loader/ImageLoader.cpp',
+ 'loader/ImageLoader.h',
+ 'loader/MainResourceLoader.cpp',
+ 'loader/MainResourceLoader.h',
+ 'loader/MediaDocument.cpp',
+ 'loader/MediaDocument.h',
+ 'loader/NavigationAction.cpp',
+ 'loader/NavigationAction.h',
+ 'loader/NetscapePlugInStreamLoader.cpp',
+ 'loader/NetscapePlugInStreamLoader.h',
+ 'loader/PlaceholderDocument.cpp',
+ 'loader/PlaceholderDocument.h',
+ 'loader/PluginDocument.cpp',
+ 'loader/PluginDocument.h',
+ 'loader/ProgressTracker.cpp',
+ 'loader/ProgressTracker.h',
+ 'loader/Request.cpp',
+ 'loader/Request.h',
+ 'loader/ResourceLoader.cpp',
+ 'loader/ResourceLoader.h',
+ 'loader/SubresourceLoader.cpp',
+ 'loader/SubresourceLoader.h',
+ 'loader/SubresourceLoaderClient.h',
+ 'loader/SubstituteData.h',
+ 'loader/SubstituteResource.h',
+ 'loader/TextDocument.cpp',
+ 'loader/TextDocument.h',
+ 'loader/TextResourceDecoder.cpp',
+ 'loader/TextResourceDecoder.h',
+ 'loader/ThreadableLoader.cpp',
+ 'loader/ThreadableLoader.h',
+ 'loader/ThreadableLoaderClient.h',
+ 'loader/ThreadableLoaderClientWrapper.h',
+ 'loader/UserStyleSheetLoader.cpp',
+ 'loader/UserStyleSheetLoader.h',
+ 'loader/WorkerThreadableLoader.cpp',
+ 'loader/WorkerThreadableLoader.h',
+ 'loader/loader.cpp',
+ 'loader/loader.h',
+ 'page/animation/AnimationBase.cpp',
+ 'page/animation/AnimationBase.h',
+ 'page/animation/AnimationController.cpp',
+ 'page/animation/AnimationController.h',
+ 'page/animation/AnimationControllerPrivate.h',
+ 'page/animation/CompositeAnimation.cpp',
+ 'page/animation/CompositeAnimation.h',
+ 'page/animation/ImplicitAnimation.cpp',
+ 'page/animation/ImplicitAnimation.h',
+ 'page/animation/KeyframeAnimation.cpp',
+ 'page/animation/KeyframeAnimation.h',
+ 'page/chromium/ChromeClientChromium.h',
+ 'page/chromium/DragControllerChromium.cpp',
+ 'page/chromium/EventHandlerChromium.cpp',
+ 'page/chromium/FrameChromium.cpp',
+ 'page/chromium/FrameChromium.h',
+ 'page/gtk/DragControllerGtk.cpp',
+ 'page/gtk/EventHandlerGtk.cpp',
+ 'page/gtk/FrameGtk.cpp',
+ 'page/mac/ChromeMac.mm',
+ 'page/mac/DragControllerMac.mm',
+ 'page/mac/EventHandlerMac.mm',
+ 'page/mac/FrameMac.mm',
+ 'page/mac/PageMac.cpp',
+ 'page/mac/WebCoreFrameView.h',
+ 'page/mac/WebCoreKeyboardUIMode.h',
+ 'page/mac/WebCoreViewFactory.h',
+ 'page/mac/WebCoreViewFactory.m',
+ 'page/mac/WebDashboardRegion.h',
+ 'page/mac/WebDashboardRegion.m',
+ 'page/qt/DragControllerQt.cpp',
+ 'page/qt/EventHandlerQt.cpp',
+ 'page/qt/FrameQt.cpp',
+ 'page/win/DragControllerWin.cpp',
+ 'page/win/EventHandlerWin.cpp',
+ 'page/win/FrameCGWin.cpp',
+ 'page/win/FrameCairoWin.cpp',
+ 'page/win/FrameWin.cpp',
+ 'page/win/FrameWin.h',
+ 'page/win/PageWin.cpp',
+ 'page/wx/DragControllerWx.cpp',
+ 'page/wx/EventHandlerWx.cpp',
+ 'page/BarInfo.cpp',
+ 'page/BarInfo.h',
+ 'page/Chrome.cpp',
+ 'page/Chrome.h',
+ 'page/ChromeClient.h',
+ 'page/Console.cpp',
+ 'page/Console.h',
+ 'page/ContextMenuClient.h',
+ 'page/ContextMenuController.cpp',
+ 'page/ContextMenuController.h',
+ 'page/Coordinates.cpp',
+ 'page/DOMSelection.cpp',
+ 'page/DOMSelection.h',
+ 'page/DOMTimer.cpp',
+ 'page/DOMTimer.h',
+ 'page/DOMWindow.cpp',
+ 'page/DOMWindow.h',
+ 'page/DragActions.h',
+ 'page/DragClient.h',
+ 'page/DragController.cpp',
+ 'page/DragController.h',
+ 'page/EditorClient.h',
+ 'page/EventHandler.cpp',
+ 'page/EventHandler.h',
+ 'page/FocusController.cpp',
+ 'page/FocusController.h',
+ 'page/FocusDirection.h',
+ 'page/Frame.cpp',
+ 'page/Frame.h',
+ 'page/FrameLoadRequest.h',
+ 'page/FrameTree.cpp',
+ 'page/FrameTree.h',
+ 'page/FrameView.cpp',
+ 'page/FrameView.h',
+ 'page/Geolocation.cpp',
+ 'page/Geolocation.h',
+ 'page/Geoposition.cpp',
+ 'page/Geoposition.h',
+ 'page/History.cpp',
+ 'page/History.h',
+ 'page/Location.cpp',
+ 'page/Location.h',
+ 'page/MouseEventWithHitTestResults.cpp',
+ 'page/MouseEventWithHitTestResults.h',
+ 'page/Navigator.cpp',
+ 'page/Navigator.h',
+ 'page/NavigatorBase.cpp',
+ 'page/NavigatorBase.h',
+ 'page/Page.cpp',
+ 'page/Page.h',
+ 'page/PageGroup.cpp',
+ 'page/PageGroup.h',
+ 'page/PageGroupLoadDeferrer.cpp',
+ 'page/PageGroupLoadDeferrer.h',
+ 'page/PositionCallback.h',
+ 'page/PositionError.h',
+ 'page/PositionErrorCallback.h',
+ 'page/PositionOptions.h',
+ 'page/PrintContext.cpp',
+ 'page/PrintContext.h',
+ 'page/Screen.cpp',
+ 'page/Screen.h',
+ 'page/SecurityOrigin.cpp',
+ 'page/SecurityOrigin.h',
+ 'page/SecurityOriginHash.h',
+ 'page/Settings.cpp',
+ 'page/Settings.h',
+ 'page/WebKitPoint.h',
+ 'page/WindowFeatures.cpp',
+ 'page/WindowFeatures.h',
+ 'page/WorkerNavigator.cpp',
+ 'page/WorkerNavigator.h',
+ 'page/XSSAuditor.cpp',
+ 'page/XSSAuditor.h',
+ 'platform/animation/Animation.cpp',
+ 'platform/animation/Animation.h',
+ 'platform/animation/AnimationList.cpp',
+ 'platform/animation/AnimationList.h',
+ 'platform/animation/TimingFunction.h',
+ 'platform/cf/FileSystemCF.cpp',
+ 'platform/cf/KURLCFNet.cpp',
+ 'platform/cf/SchedulePair.cpp',
+ 'platform/cf/SchedulePair.h',
+ 'platform/cf/SharedBufferCF.cpp',
+ 'platform/chromium/ChromiumBridge.h',
+ 'platform/chromium/ChromiumDataObject.cpp',
+ 'platform/chromium/ChromiumDataObject.h',
+ 'platform/chromium/ClipboardChromium.cpp',
+ 'platform/chromium/ClipboardChromium.h',
+ 'platform/chromium/ClipboardChromiumLinux.cpp',
+ 'platform/chromium/ClipboardChromiumMac.cpp',
+ 'platform/chromium/ClipboardChromiumWin.cpp',
+ 'platform/chromium/ClipboardUtilitiesChromium.cpp',
+ 'platform/chromium/ClipboardUtilitiesChromium.h',
+ 'platform/chromium/ContextMenuChromium.cpp',
+ 'platform/chromium/ContextMenuItemChromium.cpp',
+ 'platform/chromium/CursorChromium.cpp',
+ 'platform/chromium/DragDataChromium.cpp',
+ 'platform/chromium/DragDataRef.h',
+ 'platform/chromium/DragImageChromium.cpp',
+ 'platform/chromium/DragImageRef.h',
+ 'platform/chromium/FileChooserChromium.cpp',
+ 'platform/chromium/FileSystemChromium.cpp',
+ 'platform/chromium/FileSystemChromiumLinux.cpp',
+ 'platform/chromium/FileSystemChromiumMac.mm',
+ 'platform/chromium/FileSystemChromiumWin.cpp',
+ 'platform/chromium/FramelessScrollView.cpp',
+ 'platform/chromium/FramelessScrollView.h',
+ 'platform/chromium/FramelessScrollViewClient.h',
+ 'platform/chromium/KeyCodeConversion.h',
+ 'platform/chromium/KeyCodeConversionGtk.cpp',
+ 'platform/chromium/KeyboardCodesPosix.h',
+ 'platform/chromium/KeyboardCodesWin.h',
+ 'platform/chromium/Language.cpp',
+ 'platform/chromium/LinkHashChromium.cpp',
+ 'platform/chromium/MimeTypeRegistryChromium.cpp',
+ 'platform/chromium/PasteboardChromium.cpp',
+ 'platform/chromium/PasteboardPrivate.h',
+ 'platform/chromium/PlatformCursor.h',
+ 'platform/chromium/PlatformKeyboardEventChromium.cpp',
+ 'platform/chromium/PlatformScreenChromium.cpp',
+ 'platform/chromium/PlatformWidget.h',
+ 'platform/chromium/PopupMenuChromium.cpp',
+ 'platform/chromium/PopupMenuChromium.h',
+ 'platform/chromium/PopupMenuPrivate.h',
+ 'platform/chromium/SSLKeyGeneratorChromium.cpp',
+ 'platform/chromium/ScrollbarThemeChromium.cpp',
+ 'platform/chromium/ScrollbarThemeChromium.h',
+ 'platform/chromium/ScrollbarThemeChromiumLinux.cpp',
+ 'platform/chromium/ScrollbarThemeChromiumWin.cpp',
+ 'platform/chromium/SearchPopupMenuChromium.cpp',
+ 'platform/chromium/SharedTimerChromium.cpp',
+ 'platform/chromium/SoundChromiumPosix.cpp',
+ 'platform/chromium/SoundChromiumWin.cpp',
+ 'platform/chromium/SuddenTerminationChromium.cpp',
+ 'platform/chromium/SystemTimeChromium.cpp',
+ 'platform/chromium/TemporaryLinkStubs.cpp',
+ 'platform/chromium/WidgetChromium.cpp',
+ 'platform/chromium/WindowsVersion.cpp',
+ 'platform/chromium/WindowsVersion.h',
+ 'platform/graphics/cairo/CairoPath.h',
+ 'platform/graphics/cairo/FontCairo.cpp',
+ 'platform/graphics/cairo/GradientCairo.cpp',
+ 'platform/graphics/cairo/GraphicsContextCairo.cpp',
+ 'platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h',
+ 'platform/graphics/cairo/ImageBufferCairo.cpp',
+ 'platform/graphics/cairo/ImageBufferData.h',
+ 'platform/graphics/cairo/ImageCairo.cpp',
+ 'platform/graphics/cairo/ImageSourceCairo.cpp',
+ 'platform/graphics/cairo/PathCairo.cpp',
+ 'platform/graphics/cairo/PatternCairo.cpp',
+ 'platform/graphics/cairo/TransformationMatrixCairo.cpp',
+ 'platform/graphics/cg/ColorCG.cpp',
+ 'platform/graphics/cg/FloatPointCG.cpp',
+ 'platform/graphics/cg/FloatRectCG.cpp',
+ 'platform/graphics/cg/FloatSizeCG.cpp',
+ 'platform/graphics/cg/GradientCG.cpp',
+ 'platform/graphics/cg/GraphicsContextCG.cpp',
+ 'platform/graphics/cg/GraphicsContextPlatformPrivateCG.h',
+ 'platform/graphics/cg/ImageBufferCG.cpp',
+ 'platform/graphics/cg/ImageBufferData.h',
+ 'platform/graphics/cg/ImageCG.cpp',
+ 'platform/graphics/cg/ImageSourceCG.cpp',
+ 'platform/graphics/cg/ImageSourceCG.h',
+ 'platform/graphics/cg/ImageSourceCGMac.mm',
+ 'platform/graphics/cg/ImageSourceCGWin.cpp',
+ 'platform/graphics/cg/IntPointCG.cpp',
+ 'platform/graphics/cg/IntRectCG.cpp',
+ 'platform/graphics/cg/IntSizeCG.cpp',
+ 'platform/graphics/cg/PDFDocumentImage.cpp',
+ 'platform/graphics/cg/PDFDocumentImage.h',
+ 'platform/graphics/cg/PathCG.cpp',
+ 'platform/graphics/cg/PatternCG.cpp',
+ 'platform/graphics/cg/TransformationMatrixCG.cpp',
+ 'platform/graphics/chromium/FontCacheChromiumWin.cpp',
+ 'platform/graphics/chromium/FontCacheLinux.cpp',
+ 'platform/graphics/chromium/FontChromiumWin.cpp',
+ 'platform/graphics/chromium/FontCustomPlatformData.cpp',
+ 'platform/graphics/chromium/FontCustomPlatformData.h',
+ 'platform/graphics/chromium/FontLinux.cpp',
+ 'platform/graphics/chromium/FontPlatformData.h',
+ 'platform/graphics/chromium/FontPlatformDataChromiumWin.cpp',
+ 'platform/graphics/chromium/FontPlatformDataChromiumWin.h',
+ 'platform/graphics/chromium/FontPlatformDataLinux.cpp',
+ 'platform/graphics/chromium/FontPlatformDataLinux.h',
+ 'platform/graphics/chromium/FontUtilsChromiumWin.cpp',
+ 'platform/graphics/chromium/FontUtilsChromiumWin.h',
+ 'platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp',
+ 'platform/graphics/chromium/GlyphPageTreeNodeLinux.cpp',
+ 'platform/graphics/chromium/IconChromiumLinux.cpp',
+ 'platform/graphics/chromium/IconChromiumMac.cpp',
+ 'platform/graphics/chromium/IconChromiumWin.cpp',
+ 'platform/graphics/chromium/ImageBufferData.h',
+ 'platform/graphics/chromium/ImageChromiumMac.mm',
+ 'platform/graphics/chromium/MediaPlayerPrivateChromium.h',
+ 'platform/graphics/chromium/PlatformIcon.h',
+ 'platform/graphics/chromium/SimpleFontDataChromiumWin.cpp',
+ 'platform/graphics/chromium/SimpleFontDataLinux.cpp',
+ 'platform/graphics/chromium/TransparencyWin.cpp',
+ 'platform/graphics/chromium/TransparencyWin.h',
+ 'platform/graphics/chromium/UniscribeHelper.cpp',
+ 'platform/graphics/chromium/UniscribeHelper.h',
+ 'platform/graphics/chromium/UniscribeHelperTextRun.cpp',
+ 'platform/graphics/chromium/UniscribeHelperTextRun.h',
+ 'platform/graphics/filters/FEBlend.cpp',
+ 'platform/graphics/filters/FEBlend.h',
+ 'platform/graphics/filters/FEColorMatrix.cpp',
+ 'platform/graphics/filters/FEColorMatrix.h',
+ 'platform/graphics/filters/FEComponentTransfer.cpp',
+ 'platform/graphics/filters/FEComponentTransfer.h',
+ 'platform/graphics/filters/FEComposite.cpp',
+ 'platform/graphics/filters/FEComposite.h',
+ 'platform/graphics/filters/SourceAlpha.cpp',
+ 'platform/graphics/filters/SourceAlpha.h',
+ 'platform/graphics/filters/SourceGraphic.cpp',
+ 'platform/graphics/filters/SourceGraphic.h',
+ 'platform/graphics/gtk/ColorGtk.cpp',
+ 'platform/graphics/gtk/FontCacheGtk.cpp',
+ 'platform/graphics/gtk/FontCustomPlatformData.cpp',
+ 'platform/graphics/gtk/FontCustomPlatformData.h',
+ 'platform/graphics/gtk/FontCustomPlatformDataPango.cpp',
+ 'platform/graphics/gtk/FontGtk.cpp',
+ 'platform/graphics/gtk/FontPlatformData.h',
+ 'platform/graphics/gtk/FontPlatformDataGtk.cpp',
+ 'platform/graphics/gtk/FontPlatformDataPango.cpp',
+ 'platform/graphics/gtk/GlyphPageTreeNodeGtk.cpp',
+ 'platform/graphics/gtk/GlyphPageTreeNodePango.cpp',
+ 'platform/graphics/gtk/IconGtk.cpp',
+ 'platform/graphics/gtk/ImageGtk.cpp',
+ 'platform/graphics/gtk/IntPointGtk.cpp',
+ 'platform/graphics/gtk/IntRectGtk.cpp',
+ 'platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp',
+ 'platform/graphics/gtk/MediaPlayerPrivateGStreamer.h',
+ 'platform/graphics/gtk/SimpleFontDataGtk.cpp',
+ 'platform/graphics/gtk/SimpleFontDataPango.cpp',
+ 'platform/graphics/gtk/VideoSinkGStreamer.cpp',
+ 'platform/graphics/gtk/VideoSinkGStreamer.h',
+ 'platform/graphics/mac/ColorMac.h',
+ 'platform/graphics/mac/ColorMac.mm',
+ 'platform/graphics/mac/CoreTextController.cpp',
+ 'platform/graphics/mac/CoreTextController.h',
+ 'platform/graphics/mac/FloatPointMac.mm',
+ 'platform/graphics/mac/FloatRectMac.mm',
+ 'platform/graphics/mac/FloatSizeMac.mm',
+ 'platform/graphics/mac/FontCacheMac.mm',
+ 'platform/graphics/mac/FontCustomPlatformData.cpp',
+ 'platform/graphics/mac/FontCustomPlatformData.h',
+ 'platform/graphics/mac/FontMac.mm',
+ 'platform/graphics/mac/FontMacATSUI.mm',
+ 'platform/graphics/mac/FontMacCoreText.cpp',
+ 'platform/graphics/mac/FontPlatformData.h',
+ 'platform/graphics/mac/FontPlatformDataMac.mm',
+ 'platform/graphics/mac/GlyphPageTreeNodeMac.cpp',
+ 'platform/graphics/mac/GraphicsContextMac.mm',
+ 'platform/graphics/mac/GraphicsLayerCA.h',
+ 'platform/graphics/mac/GraphicsLayerCA.mm',
+ 'platform/graphics/mac/IconMac.mm',
+ 'platform/graphics/mac/ImageMac.mm',
+ 'platform/graphics/mac/IntPointMac.mm',
+ 'platform/graphics/mac/IntRectMac.mm',
+ 'platform/graphics/mac/IntSizeMac.mm',
+ 'platform/graphics/mac/MediaPlayerPrivateQTKit.h',
+ 'platform/graphics/mac/MediaPlayerPrivateQTKit.mm',
+ 'platform/graphics/mac/MediaPlayerProxy.h',
+ 'platform/graphics/mac/SimpleFontDataMac.mm',
+ 'platform/graphics/mac/WebLayer.h',
+ 'platform/graphics/mac/WebLayer.mm',
+ 'platform/graphics/mac/WebTiledLayer.h',
+ 'platform/graphics/mac/WebTiledLayer.mm',
+ 'platform/graphics/MediaPlayer.cpp',
+ 'platform/graphics/opentype/OpenTypeUtilities.cpp',
+ 'platform/graphics/opentype/OpenTypeUtilities.h',
+ 'platform/graphics/qt/ColorQt.cpp',
+ 'platform/graphics/qt/FloatPointQt.cpp',
+ 'platform/graphics/qt/FloatRectQt.cpp',
+ 'platform/graphics/qt/FontCacheQt.cpp',
+ 'platform/graphics/qt/FontCustomPlatformData.cpp',
+ 'platform/graphics/qt/FontCustomPlatformData.h',
+ 'platform/graphics/qt/FontFallbackListQt.cpp',
+ 'platform/graphics/qt/FontPlatformData.h',
+ 'platform/graphics/qt/FontPlatformDataQt.cpp',
+ 'platform/graphics/qt/FontQt.cpp',
+ 'platform/graphics/qt/FontQt43.cpp',
+ 'platform/graphics/qt/GlyphPageTreeNodeQt.cpp',
+ 'platform/graphics/qt/GradientQt.cpp',
+ 'platform/graphics/qt/GraphicsContextQt.cpp',
+ 'platform/graphics/qt/IconQt.cpp',
+ 'platform/graphics/qt/ImageBufferData.h',
+ 'platform/graphics/qt/ImageBufferQt.cpp',
+ 'platform/graphics/qt/ImageDecoderQt.cpp',
+ 'platform/graphics/qt/ImageDecoderQt.h',
+ 'platform/graphics/qt/ImageQt.cpp',
+ 'platform/graphics/qt/ImageSourceQt.cpp',
+ 'platform/graphics/qt/IntPointQt.cpp',
+ 'platform/graphics/qt/IntRectQt.cpp',
+ 'platform/graphics/qt/IntSizeQt.cpp',
+ 'platform/graphics/qt/MediaPlayerPrivatePhonon.cpp',
+ 'platform/graphics/qt/MediaPlayerPrivatePhonon.h',
+ 'platform/graphics/qt/PathQt.cpp',
+ 'platform/graphics/qt/PatternQt.cpp',
+ 'platform/graphics/qt/SimpleFontDataQt.cpp',
+ 'platform/graphics/qt/StillImageQt.cpp',
+ 'platform/graphics/qt/StillImageQt.h',
+ 'platform/graphics/qt/TransformationMatrixQt.cpp',
+ 'platform/graphics/skia/BitmapImageSingleFrameSkia.h',
+ 'platform/graphics/skia/FloatPointSkia.cpp',
+ 'platform/graphics/skia/FloatRectSkia.cpp',
+ 'platform/graphics/skia/GradientSkia.cpp',
+ 'platform/graphics/skia/GraphicsContextPlatformPrivate.h',
+ 'platform/graphics/skia/GraphicsContextSkia.cpp',
+ 'platform/graphics/skia/ImageBufferSkia.cpp',
+ 'platform/graphics/skia/ImageSkia.cpp',
+ 'platform/graphics/skia/ImageSourceSkia.cpp',
+ 'platform/graphics/skia/ImageSourceSkia.h',
+ 'platform/graphics/skia/IntPointSkia.cpp',
+ 'platform/graphics/skia/IntRectSkia.cpp',
+ 'platform/graphics/skia/NativeImageSkia.cpp',
+ 'platform/graphics/skia/NativeImageSkia.h',
+ 'platform/graphics/skia/PathSkia.cpp',
+ 'platform/graphics/skia/PatternSkia.cpp',
+ 'platform/graphics/skia/PlatformContextSkia.cpp',
+ 'platform/graphics/skia/PlatformContextSkia.h',
+ 'platform/graphics/skia/PlatformGraphics.h',
+ 'platform/graphics/skia/SkiaFontWin.cpp',
+ 'platform/graphics/skia/SkiaFontWin.h',
+ 'platform/graphics/skia/SkiaUtils.cpp',
+ 'platform/graphics/skia/SkiaUtils.h',
+ 'platform/graphics/skia/TransformationMatrixSkia.cpp',
+ 'platform/graphics/transforms/IdentityTransformOperation.h',
+ 'platform/graphics/transforms/Matrix3DTransformOperation.cpp',
+ 'platform/graphics/transforms/Matrix3DTransformOperation.h',
+ 'platform/graphics/transforms/MatrixTransformOperation.cpp',
+ 'platform/graphics/transforms/MatrixTransformOperation.h',
+ 'platform/graphics/transforms/PerspectiveTransformOperation.cpp',
+ 'platform/graphics/transforms/PerspectiveTransformOperation.h',
+ 'platform/graphics/transforms/RotateTransformOperation.cpp',
+ 'platform/graphics/transforms/RotateTransformOperation.h',
+ 'platform/graphics/transforms/ScaleTransformOperation.cpp',
+ 'platform/graphics/transforms/ScaleTransformOperation.h',
+ 'platform/graphics/transforms/SkewTransformOperation.cpp',
+ 'platform/graphics/transforms/SkewTransformOperation.h',
+ 'platform/graphics/transforms/TransformOperation.h',
+ 'platform/graphics/transforms/TransformOperations.cpp',
+ 'platform/graphics/transforms/TransformOperations.h',
+ 'platform/graphics/transforms/TransformationMatrix.cpp',
+ 'platform/graphics/transforms/TransformationMatrix.h',
+ 'platform/graphics/transforms/TranslateTransformOperation.cpp',
+ 'platform/graphics/transforms/TranslateTransformOperation.h',
+ 'platform/graphics/win/ColorSafari.cpp',
+ 'platform/graphics/win/FontCGWin.cpp',
+ 'platform/graphics/win/FontCacheWin.cpp',
+ 'platform/graphics/win/FontCustomPlatformData.cpp',
+ 'platform/graphics/win/FontCustomPlatformData.h',
+ 'platform/graphics/win/FontCustomPlatformDataCairo.cpp',
+ 'platform/graphics/win/FontCustomPlatformDataCairo.h',
+ 'platform/graphics/win/FontDatabase.cpp',
+ 'platform/graphics/win/FontDatabase.h',
+ 'platform/graphics/win/FontPlatformData.h',
+ 'platform/graphics/win/FontPlatformDataCGWin.cpp',
+ 'platform/graphics/win/FontPlatformDataCairoWin.cpp',
+ 'platform/graphics/win/FontPlatformDataWin.cpp',
+ 'platform/graphics/win/FontWin.cpp',
+ 'platform/graphics/win/GlyphPageTreeNodeCGWin.cpp',
+ 'platform/graphics/win/GlyphPageTreeNodeCairoWin.cpp',
+ 'platform/graphics/win/GraphicsContextCGWin.cpp',
+ 'platform/graphics/win/GraphicsContextCairoWin.cpp',
+ 'platform/graphics/win/GraphicsContextWin.cpp',
+ 'platform/graphics/win/IconWin.cpp',
+ 'platform/graphics/win/ImageCGWin.cpp',
+ 'platform/graphics/win/ImageCairoWin.cpp',
+ 'platform/graphics/win/ImageWin.cpp',
+ 'platform/graphics/win/IntPointWin.cpp',
+ 'platform/graphics/win/IntRectWin.cpp',
+ 'platform/graphics/win/IntSizeWin.cpp',
+ 'platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp',
+ 'platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h',
+ 'platform/graphics/win/QTMovieWin.cpp',
+ 'platform/graphics/win/QTMovieWin.h',
+ 'platform/graphics/win/QTMovieWinTimer.cpp',
+ 'platform/graphics/win/QTMovieWinTimer.h',
+ 'platform/graphics/win/SimpleFontDataCGWin.cpp',
+ 'platform/graphics/win/SimpleFontDataCairoWin.cpp',
+ 'platform/graphics/win/SimpleFontDataWin.cpp',
+ 'platform/graphics/win/UniscribeController.cpp',
+ 'platform/graphics/win/UniscribeController.h',
+ 'platform/graphics/wx/ColorWx.cpp',
+ 'platform/graphics/wx/FloatRectWx.cpp',
+ 'platform/graphics/wx/FontCacheWx.cpp',
+ 'platform/graphics/wx/FontPlatformData.h',
+ 'platform/graphics/wx/FontPlatformDataWx.cpp',
+ 'platform/graphics/wx/FontWx.cpp',
+ 'platform/graphics/wx/GlyphMapWx.cpp',
+ 'platform/graphics/wx/GradientWx.cpp',
+ 'platform/graphics/wx/GraphicsContextWx.cpp',
+ 'platform/graphics/wx/ImageBufferData.h',
+ 'platform/graphics/wx/ImageBufferWx.cpp',
+ 'platform/graphics/wx/ImageSourceWx.cpp',
+ 'platform/graphics/wx/ImageWx.cpp',
+ 'platform/graphics/wx/IntPointWx.cpp',
+ 'platform/graphics/wx/IntRectWx.cpp',
+ 'platform/graphics/wx/PathWx.cpp',
+ 'platform/graphics/wx/PenWx.cpp',
+ 'platform/graphics/wx/SimpleFontDataWx.cpp',
+ 'platform/graphics/wx/TransformationMatrixWx.cpp',
+ 'platform/graphics/BitmapImage.cpp',
+ 'platform/graphics/BitmapImage.h',
+ 'platform/graphics/Color.cpp',
+ 'platform/graphics/Color.h',
+ 'platform/graphics/DashArray.h',
+ 'platform/graphics/FloatPoint.cpp',
+ 'platform/graphics/FloatPoint.h',
+ 'platform/graphics/FloatPoint3D.cpp',
+ 'platform/graphics/FloatPoint3D.h',
+ 'platform/graphics/FloatQuad.cpp',
+ 'platform/graphics/FloatQuad.h',
+ 'platform/graphics/FloatRect.cpp',
+ 'platform/graphics/FloatRect.h',
+ 'platform/graphics/FloatSize.cpp',
+ 'platform/graphics/FloatSize.h',
+ 'platform/graphics/Font.cpp',
+ 'platform/graphics/Font.h',
+ 'platform/graphics/FontCache.cpp',
+ 'platform/graphics/FontCache.h',
+ 'platform/graphics/FontData.cpp',
+ 'platform/graphics/FontData.h',
+ 'platform/graphics/FontDescription.cpp',
+ 'platform/graphics/FontDescription.h',
+ 'platform/graphics/FontFallbackList.cpp',
+ 'platform/graphics/FontFallbackList.h',
+ 'platform/graphics/FontFamily.cpp',
+ 'platform/graphics/FontFamily.h',
+ 'platform/graphics/FontFastPath.cpp',
+ 'platform/graphics/FontRenderingMode.h',
+ 'platform/graphics/FontSelector.h',
+ 'platform/graphics/FontTraitsMask.h',
+ 'platform/graphics/GeneratedImage.cpp',
+ 'platform/graphics/GeneratedImage.h',
+ 'platform/graphics/Generator.h',
+ 'platform/graphics/GlyphBuffer.h',
+ 'platform/graphics/GlyphPageTreeNode.cpp',
+ 'platform/graphics/GlyphPageTreeNode.h',
+ 'platform/graphics/GlyphWidthMap.cpp',
+ 'platform/graphics/GlyphWidthMap.h',
+ 'platform/graphics/Gradient.cpp',
+ 'platform/graphics/Gradient.h',
+ 'platform/graphics/GraphicsContext.cpp',
+ 'platform/graphics/GraphicsContext.h',
+ 'platform/graphics/GraphicsContextPrivate.h',
+ 'platform/graphics/GraphicsLayer.cpp',
+ 'platform/graphics/GraphicsLayer.h',
+ 'platform/graphics/GraphicsLayerClient.h',
+ 'platform/graphics/GraphicsTypes.cpp',
+ 'platform/graphics/GraphicsTypes.h',
+ 'platform/graphics/Icon.h',
+ 'platform/graphics/Image.cpp',
+ 'platform/graphics/Image.h',
+ 'platform/graphics/ImageBuffer.h',
+ 'platform/graphics/ImageObserver.h',
+ 'platform/graphics/ImageSource.h',
+ 'platform/graphics/IntPoint.h',
+ 'platform/graphics/IntRect.cpp',
+ 'platform/graphics/IntRect.h',
+ 'platform/graphics/IntSize.h',
+ 'platform/graphics/IntSizeHash.h',
+ 'platform/graphics/MediaPlayer.cpp',
+ 'platform/graphics/MediaPlayer.h',
+ 'platform/graphics/MediaPlayerPrivate.h',
+ 'platform/graphics/Path.cpp',
+ 'platform/graphics/Path.h',
+ 'platform/graphics/PathTraversalState.cpp',
+ 'platform/graphics/PathTraversalState.h',
+ 'platform/graphics/Pattern.cpp',
+ 'platform/graphics/Pattern.h',
+ 'platform/graphics/Pen.cpp',
+ 'platform/graphics/Pen.h',
+ 'platform/graphics/SegmentedFontData.cpp',
+ 'platform/graphics/SegmentedFontData.h',
+ 'platform/graphics/SimpleFontData.cpp',
+ 'platform/graphics/SimpleFontData.h',
+ 'platform/graphics/StringTruncator.cpp',
+ 'platform/graphics/StringTruncator.h',
+ 'platform/graphics/StrokeStyleApplier.h',
+ 'platform/graphics/TextRun.h',
+ 'platform/graphics/UnitBezier.h',
+ 'platform/graphics/WidthIterator.cpp',
+ 'platform/graphics/WidthIterator.h',
+ 'platform/gtk/ClipboardGtk.cpp',
+ 'platform/gtk/ClipboardGtk.h',
+ 'platform/gtk/ContextMenuGtk.cpp',
+ 'platform/gtk/ContextMenuItemGtk.cpp',
+ 'platform/gtk/CursorGtk.cpp',
+ 'platform/gtk/CursorGtk.h',
+ 'platform/gtk/DragDataGtk.cpp',
+ 'platform/gtk/DragImageGtk.cpp',
+ 'platform/gtk/EventLoopGtk.cpp',
+ 'platform/gtk/FileChooserGtk.cpp',
+ 'platform/gtk/FileSystemGtk.cpp',
+ 'platform/gtk/GeolocationServiceGtk.cpp',
+ 'platform/gtk/GeolocationServiceGtk.h',
+ 'platform/gtk/KURLGtk.cpp',
+ 'platform/gtk/KeyEventGtk.cpp',
+ 'platform/gtk/KeyboardCodes.h',
+ 'platform/gtk/Language.cpp',
+ 'platform/gtk/LocalizedStringsGtk.cpp',
+ 'platform/gtk/LoggingGtk.cpp',
+ 'platform/gtk/MIMETypeRegistryGtk.cpp',
+ 'platform/gtk/MouseEventGtk.cpp',
+ 'platform/gtk/PasteboardGtk.cpp',
+ 'platform/gtk/PasteboardHelper.h',
+ 'platform/gtk/PlatformScreenGtk.cpp',
+ 'platform/gtk/PopupMenuGtk.cpp',
+ 'platform/gtk/RenderThemeGtk.cpp',
+ 'platform/gtk/RenderThemeGtk.h',
+ 'platform/gtk/ScrollViewGtk.cpp',
+ 'platform/gtk/ScrollbarGtk.cpp',
+ 'platform/gtk/ScrollbarGtk.h',
+ 'platform/gtk/ScrollbarThemeGtk.cpp',
+ 'platform/gtk/ScrollbarThemeGtk.h',
+ 'platform/gtk/SearchPopupMenuGtk.cpp',
+ 'platform/gtk/SharedBufferGtk.cpp',
+ 'platform/gtk/SharedTimerGtk.cpp',
+ 'platform/gtk/SoundGtk.cpp',
+ 'platform/gtk/TemporaryLinkStubs.cpp',
+ 'platform/gtk/WheelEventGtk.cpp',
+ 'platform/gtk/WidgetGtk.cpp',
+ 'platform/gtk/gtkdrawing.h',
+ 'platform/gtk/guriescape.h',
+ 'platform/image-decoders/ImageDecoder.h',
+ 'platform/image-decoders/bmp/BMPImageDecoder.cpp',
+ 'platform/image-decoders/bmp/BMPImageDecoder.h',
+ 'platform/image-decoders/bmp/BMPImageReader.cpp',
+ 'platform/image-decoders/bmp/BMPImageReader.h',
+ 'platform/image-decoders/gif/GIFImageDecoder.cpp',
+ 'platform/image-decoders/gif/GIFImageDecoder.h',
+ 'platform/image-decoders/gif/GIFImageReader.cpp',
+ 'platform/image-decoders/gif/GIFImageReader.h',
+ 'platform/image-decoders/ico/ICOImageDecoder.cpp',
+ 'platform/image-decoders/ico/ICOImageDecoder.h',
+ 'platform/image-decoders/jpeg/JPEGImageDecoder.cpp',
+ 'platform/image-decoders/jpeg/JPEGImageDecoder.h',
+ 'platform/image-decoders/png/PNGImageDecoder.cpp',
+ 'platform/image-decoders/png/PNGImageDecoder.h',
+ 'platform/image-decoders/xbm/XBMImageDecoder.cpp',
+ 'platform/image-decoders/xbm/XBMImageDecoder.h',
+ 'platform/image-decoders/zlib/crc32.h',
+ 'platform/image-decoders/zlib/deflate.h',
+ 'platform/image-decoders/zlib/inffast.h',
+ 'platform/image-decoders/zlib/inffixed.h',
+ 'platform/image-decoders/zlib/inflate.h',
+ 'platform/image-decoders/zlib/inftrees.h',
+ 'platform/image-decoders/zlib/mozzconf.h',
+ 'platform/image-decoders/zlib/trees.h',
+ 'platform/image-decoders/zlib/zconf.h',
+ 'platform/image-decoders/zlib/zlib.h',
+ 'platform/image-decoders/zlib/zutil.h',
+ 'platform/image-decoders/skia/ImageDecoderSkia.cpp',
+ 'platform/image-encoders/skia/PNGImageEncoder.cpp',
+ 'platform/image-encoders/skia/PNGImageEncoder.h',
+ 'platform/mac/AutodrainedPool.mm',
+ 'platform/mac/BlockExceptions.h',
+ 'platform/mac/BlockExceptions.mm',
+ 'platform/mac/ClipboardMac.h',
+ 'platform/mac/ClipboardMac.mm',
+ 'platform/mac/ContextMenuItemMac.mm',
+ 'platform/mac/ContextMenuMac.mm',
+ 'platform/mac/CookieJar.mm',
+ 'platform/mac/CursorMac.mm',
+ 'platform/mac/DragDataMac.mm',
+ 'platform/mac/DragImageMac.mm',
+ 'platform/mac/EventLoopMac.mm',
+ 'platform/mac/FileChooserMac.mm',
+ 'platform/mac/FileSystemMac.mm',
+ 'platform/mac/FoundationExtras.h',
+ 'platform/mac/KURLMac.mm',
+ 'platform/mac/KeyEventMac.mm',
+ 'platform/mac/Language.mm',
+ 'platform/mac/LocalCurrentGraphicsContext.h',
+ 'platform/mac/LocalCurrentGraphicsContext.mm',
+ 'platform/mac/LocalizedStringsMac.mm',
+ 'platform/mac/LoggingMac.mm',
+ 'platform/mac/MIMETypeRegistryMac.mm',
+ 'platform/mac/PasteboardHelper.h',
+ 'platform/mac/PasteboardMac.mm',
+ 'platform/mac/PlatformMouseEventMac.mm',
+ 'platform/mac/PlatformScreenMac.mm',
+ 'platform/mac/PopupMenuMac.mm',
+ 'platform/mac/PurgeableBufferMac.cpp',
+ 'platform/mac/SSLKeyGeneratorMac.mm',
+ 'platform/mac/SchedulePairMac.mm',
+ 'platform/mac/ScrollViewMac.mm',
+ 'platform/mac/ScrollbarThemeMac.h',
+ 'platform/mac/ScrollbarThemeMac.mm',
+ 'platform/mac/SearchPopupMenuMac.mm',
+ 'platform/mac/SharedBufferMac.mm',
+ 'platform/mac/SharedTimerMac.mm',
+ 'platform/mac/SoftLinking.h',
+ 'platform/mac/SoundMac.mm',
+ 'platform/mac/SystemTimeMac.cpp',
+ 'platform/mac/ThemeMac.h',
+ 'platform/mac/ThemeMac.mm',
+ 'platform/mac/ThreadCheck.mm',
+ 'platform/mac/WebCoreKeyGenerator.h',
+ 'platform/mac/WebCoreKeyGenerator.m',
+ 'platform/mac/WebCoreNSStringExtras.h',
+ 'platform/mac/WebCoreNSStringExtras.mm',
+ 'platform/mac/WebCoreObjCExtras.h',
+ 'platform/mac/WebCoreObjCExtras.mm',
+ 'platform/mac/WebCoreSystemInterface.h',
+ 'platform/mac/WebCoreSystemInterface.mm',
+ 'platform/mac/WebCoreView.h',
+ 'platform/mac/WebCoreView.m',
+ 'platform/mac/WebFontCache.h',
+ 'platform/mac/WebFontCache.mm',
+ 'platform/mac/WheelEventMac.mm',
+ 'platform/mac/WidgetMac.mm',
+ 'platform/network/cf/AuthenticationCF.cpp',
+ 'platform/network/cf/AuthenticationCF.h',
+ 'platform/network/cf/AuthenticationChallenge.h',
+ 'platform/network/cf/DNSCFNet.cpp',
+ 'platform/network/cf/FormDataStreamCFNet.cpp',
+ 'platform/network/cf/FormDataStreamCFNet.h',
+ 'platform/network/cf/ResourceError.h',
+ 'platform/network/cf/ResourceErrorCF.cpp',
+ 'platform/network/cf/ResourceHandleCFNet.cpp',
+ 'platform/network/cf/ResourceRequest.h',
+ 'platform/network/cf/ResourceRequestCFNet.cpp',
+ 'platform/network/cf/ResourceRequestCFNet.h',
+ 'platform/network/cf/ResourceResponse.h',
+ 'platform/network/cf/ResourceResponseCFNet.cpp',
+ 'platform/network/cf/ResourceResponseCFNet.h',
+ 'platform/network/chromium/AuthenticationChallenge.h',
+ 'platform/network/chromium/AuthenticationChallengeChromium.cpp',
+ 'platform/network/chromium/CookieJarChromium.cpp',
+ 'platform/network/chromium/DNSChromium.cpp',
+ 'platform/network/chromium/NetworkStateNotifierChromium.cpp',
+ 'platform/network/chromium/NetworkStateNotifierPrivate.h',
+ 'platform/network/chromium/ResourceError.h',
+ 'platform/network/chromium/ResourceRequest.h',
+ 'platform/network/chromium/ResourceResponse.h',
+ 'platform/network/curl/AuthenticationChallenge.h',
+ 'platform/network/curl/CookieJarCurl.cpp',
+ 'platform/network/curl/DNSCurl.cpp',
+ 'platform/network/curl/FormDataStreamCurl.cpp',
+ 'platform/network/curl/FormDataStreamCurl.h',
+ 'platform/network/curl/ResourceError.h',
+ 'platform/network/curl/ResourceHandleCurl.cpp',
+ 'platform/network/curl/ResourceHandleManager.cpp',
+ 'platform/network/curl/ResourceHandleManager.h',
+ 'platform/network/curl/ResourceRequest.h',
+ 'platform/network/curl/ResourceResponse.h',
+ 'platform/network/mac/AuthenticationChallenge.h',
+ 'platform/network/mac/AuthenticationMac.h',
+ 'platform/network/mac/AuthenticationMac.mm',
+ 'platform/network/mac/FormDataStreamMac.h',
+ 'platform/network/mac/FormDataStreamMac.mm',
+ 'platform/network/mac/NetworkStateNotifierMac.cpp',
+ 'platform/network/mac/ResourceError.h',
+ 'platform/network/mac/ResourceErrorMac.mm',
+ 'platform/network/mac/ResourceHandleMac.mm',
+ 'platform/network/mac/ResourceRequest.h',
+ 'platform/network/mac/ResourceRequestMac.mm',
+ 'platform/network/mac/ResourceResponse.h',
+ 'platform/network/mac/ResourceResponseMac.mm',
+ 'platform/network/mac/WebCoreURLResponse.h',
+ 'platform/network/mac/WebCoreURLResponse.mm',
+ 'platform/network/qt/AuthenticationChallenge.h',
+ 'platform/network/qt/QNetworkReplyHandler.cpp',
+ 'platform/network/qt/QNetworkReplyHandler.h',
+ 'platform/network/qt/ResourceError.h',
+ 'platform/network/qt/ResourceHandleQt.cpp',
+ 'platform/network/qt/ResourceRequest.h',
+ 'platform/network/qt/ResourceRequestQt.cpp',
+ 'platform/network/qt/ResourceResponse.h',
+ 'platform/network/soup/AuthenticationChallenge.h',
+ 'platform/network/soup/CookieJarSoup.cpp',
+ 'platform/network/soup/CookieJarSoup.h',
+ 'platform/network/soup/DNSSoup.cpp',
+ 'platform/network/soup/ResourceError.h',
+ 'platform/network/soup/ResourceHandleSoup.cpp',
+ 'platform/network/soup/ResourceRequest.h',
+ 'platform/network/soup/ResourceResponse.h',
+ 'platform/network/soup/webkit-soup-auth-dialog.c',
+ 'platform/network/soup/webkit-soup-auth-dialog.h',
+ 'platform/network/win/CookieJarCFNetWin.cpp',
+ 'platform/network/win/CookieJarWin.cpp',
+ 'platform/network/win/CookieStorageWin.cpp',
+ 'platform/network/win/CookieStorageWin.h',
+ 'platform/network/win/NetworkStateNotifierWin.cpp',
+ 'platform/network/win/ResourceHandleWin.cpp',
+ 'platform/network/win/ResourceHandleWin.h',
+ 'platform/network/AuthenticationChallengeBase.cpp',
+ 'platform/network/AuthenticationChallengeBase.h',
+ 'platform/network/Credential.cpp',
+ 'platform/network/Credential.h',
+ 'platform/network/DNS.h',
+ 'platform/network/FormData.cpp',
+ 'platform/network/FormData.h',
+ 'platform/network/FormDataBuilder.cpp',
+ 'platform/network/FormDataBuilder.h',
+ 'platform/network/HTTPHeaderMap.cpp',
+ 'platform/network/HTTPHeaderMap.h',
+ 'platform/network/HTTPParsers.cpp',
+ 'platform/network/HTTPParsers.h',
+ 'platform/network/NetworkStateNotifier.cpp',
+ 'platform/network/NetworkStateNotifier.h',
+ 'platform/network/ProtectionSpace.cpp',
+ 'platform/network/ProtectionSpace.h',
+ 'platform/network/ResourceErrorBase.cpp',
+ 'platform/network/ResourceErrorBase.h',
+ 'platform/network/ResourceHandleClient.h',
+ 'platform/network/ResourceHandleInternal.h',
+ 'platform/network/ResourceRequestBase.cpp',
+ 'platform/network/ResourceRequestBase.h',
+ 'platform/network/ResourceResponseBase.cpp',
+ 'platform/network/ResourceResponseBase.h',
+ 'platform/posix/FileSystemPOSIX.cpp',
+ 'platform/qt/ClipboardQt.cpp',
+ 'platform/qt/ClipboardQt.h',
+ 'platform/qt/ContextMenuItemQt.cpp',
+ 'platform/qt/ContextMenuQt.cpp',
+ 'platform/qt/CookieJarQt.cpp',
+ 'platform/qt/CursorQt.cpp',
+ 'platform/qt/DragDataQt.cpp',
+ 'platform/qt/DragImageQt.cpp',
+ 'platform/qt/EventLoopQt.cpp',
+ 'platform/qt/FileChooserQt.cpp',
+ 'platform/qt/FileSystemQt.cpp',
+ 'platform/qt/KURLQt.cpp',
+ 'platform/qt/KeyboardCodes.h',
+ 'platform/qt/Localizations.cpp',
+ 'platform/qt/LoggingQt.cpp',
+ 'platform/qt/MIMETypeRegistryQt.cpp',
+ 'platform/qt/MenuEventProxy.h',
+ 'platform/qt/PasteboardQt.cpp',
+ 'platform/qt/PlatformKeyboardEventQt.cpp',
+ 'platform/qt/PlatformMouseEventQt.cpp',
+ 'platform/qt/PlatformScreenQt.cpp',
+ 'platform/qt/PopupMenuQt.cpp',
+ 'platform/qt/QWebPopup.cpp',
+ 'platform/qt/QWebPopup.h',
+ 'platform/qt/RenderThemeQt.cpp',
+ 'platform/qt/RenderThemeQt.h',
+ 'platform/qt/ScreenQt.cpp',
+ 'platform/qt/ScrollViewQt.cpp',
+ 'platform/qt/ScrollbarQt.cpp',
+ 'platform/qt/ScrollbarThemeQt.cpp',
+ 'platform/qt/ScrollbarThemeQt.h',
+ 'platform/qt/SearchPopupMenuQt.cpp',
+ 'platform/qt/SharedBufferQt.cpp',
+ 'platform/qt/SharedTimerQt.cpp',
+ 'platform/qt/SoundQt.cpp',
+ 'platform/qt/TemporaryLinkStubs.cpp',
+ 'platform/qt/WheelEventQt.cpp',
+ 'platform/qt/WidgetQt.cpp',
+ 'platform/sql/SQLValue.cpp',
+ 'platform/sql/SQLValue.h',
+ 'platform/sql/SQLiteAuthorizer.cpp',
+ 'platform/sql/SQLiteDatabase.cpp',
+ 'platform/sql/SQLiteDatabase.h',
+ 'platform/sql/SQLiteFileSystem.cpp',
+ 'platform/sql/SQLiteFileSystem.h',
+ 'platform/sql/SQLiteStatement.cpp',
+ 'platform/sql/SQLiteStatement.h',
+ 'platform/sql/SQLiteTransaction.cpp',
+ 'platform/sql/SQLiteTransaction.h',
+ 'platform/sql/chromium/SQLiteFileSystemChromium.cpp',
+ 'platform/sql/chromium/SQLiteFileSystemChromiumLinux.cpp',
+ 'platform/sql/chromium/SQLiteFileSystemChromiumMac.cpp',
+ 'platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp',
+ 'platform/symbian/FloatPointSymbian.cpp',
+ 'platform/symbian/FloatRectSymbian.cpp',
+ 'platform/symbian/IntPointSymbian.cpp',
+ 'platform/symbian/IntRectSymbian.cpp',
+ 'platform/symbian/IntSizeSymbian.cpp',
+ 'platform/text/cf/StringCF.cpp',
+ 'platform/text/cf/StringImplCF.cpp',
+ 'platform/text/chromium/TextBreakIteratorInternalICUChromium.cpp',
+ 'platform/text/gtk/TextBreakIteratorInternalICUGtk.cpp',
+ 'platform/text/mac/CharsetData.h',
+ 'platform/text/mac/ShapeArabic.c',
+ 'platform/text/mac/ShapeArabic.h',
+ 'platform/text/mac/StringImplMac.mm',
+ 'platform/text/mac/StringMac.mm',
+ 'platform/text/mac/TextBoundaries.mm',
+ 'platform/text/mac/TextBreakIteratorInternalICUMac.mm',
+ 'platform/text/mac/TextCodecMac.cpp',
+ 'platform/text/mac/TextCodecMac.h',
+ 'platform/text/qt/StringQt.cpp',
+ 'platform/text/qt/TextBoundaries.cpp',
+ 'platform/text/qt/TextBreakIteratorQt.cpp',
+ 'platform/text/qt/TextCodecQt.cpp',
+ 'platform/text/qt/TextCodecQt.h',
+ 'platform/text/symbian/StringImplSymbian.cpp',
+ 'platform/text/symbian/StringSymbian.cpp',
+ 'platform/text/win/TextBreakIteratorInternalICUWin.cpp',
+ 'platform/text/wx/StringWx.cpp',
+ 'platform/text/AtomicString.cpp',
+ 'platform/text/AtomicString.h',
+ 'platform/text/AtomicStringHash.h',
+ 'platform/text/AtomicStringImpl.h',
+ 'platform/text/Base64.cpp',
+ 'platform/text/Base64.h',
+ 'platform/text/BidiContext.cpp',
+ 'platform/text/BidiContext.h',
+ 'platform/text/BidiResolver.h',
+ 'platform/text/CString.cpp',
+ 'platform/text/CString.h',
+ 'platform/text/CharacterNames.h',
+ 'platform/text/ParserUtilities.h',
+ 'platform/text/PlatformString.h',
+ 'platform/text/RegularExpression.cpp',
+ 'platform/text/RegularExpression.h',
+ 'platform/text/SegmentedString.cpp',
+ 'platform/text/SegmentedString.h',
+ 'platform/text/String.cpp',
+ 'platform/text/StringBuffer.h',
+ 'platform/text/StringBuilder.cpp',
+ 'platform/text/StringBuilder.h',
+ 'platform/text/StringHash.h',
+ 'platform/text/StringImpl.cpp',
+ 'platform/text/StringImpl.h',
+ 'platform/text/TextBoundaries.h',
+ 'platform/text/TextBoundariesICU.cpp',
+ 'platform/text/TextBreakIterator.h',
+ 'platform/text/TextBreakIteratorICU.cpp',
+ 'platform/text/TextBreakIteratorInternalICU.h',
+ 'platform/text/TextCodec.cpp',
+ 'platform/text/TextCodec.h',
+ 'platform/text/TextCodecICU.cpp',
+ 'platform/text/TextCodecICU.h',
+ 'platform/text/TextCodecLatin1.cpp',
+ 'platform/text/TextCodecLatin1.h',
+ 'platform/text/TextCodecUTF16.cpp',
+ 'platform/text/TextCodecUTF16.h',
+ 'platform/text/TextCodecUserDefined.cpp',
+ 'platform/text/TextCodecUserDefined.h',
+ 'platform/text/TextDirection.h',
+ 'platform/text/TextEncoding.cpp',
+ 'platform/text/TextEncoding.h',
+ 'platform/text/TextEncodingDetector.h',
+ 'platform/text/TextEncodingDetectorICU.cpp',
+ 'platform/text/TextEncodingRegistry.cpp',
+ 'platform/text/TextEncodingRegistry.h',
+ 'platform/text/TextStream.cpp',
+ 'platform/text/TextStream.h',
+ 'platform/text/UnicodeRange.cpp',
+ 'platform/text/UnicodeRange.h',
+ 'platform/win/BString.cpp',
+ 'platform/win/BString.h',
+ 'platform/win/COMPtr.h',
+ 'platform/win/ClipboardUtilitiesWin.cpp',
+ 'platform/win/ClipboardUtilitiesWin.h',
+ 'platform/win/ClipboardWin.cpp',
+ 'platform/win/ClipboardWin.h',
+ 'platform/win/ContextMenuItemWin.cpp',
+ 'platform/win/ContextMenuWin.cpp',
+ 'platform/win/CursorWin.cpp',
+ 'platform/win/DragDataWin.cpp',
+ 'platform/win/DragImageCGWin.cpp',
+ 'platform/win/DragImageCairoWin.cpp',
+ 'platform/win/DragImageWin.cpp',
+ 'platform/win/EditorWin.cpp',
+ 'platform/win/EventLoopWin.cpp',
+ 'platform/win/FileChooserWin.cpp',
+ 'platform/win/FileSystemWin.cpp',
+ 'platform/win/GDIObjectCounter.cpp',
+ 'platform/win/GDIObjectCounter.h',
+ 'platform/win/KeyEventWin.cpp',
+ 'platform/win/Language.cpp',
+ 'platform/win/LoggingWin.cpp',
+ 'platform/win/MIMETypeRegistryWin.cpp',
+ 'platform/win/PasteboardWin.cpp',
+ 'platform/win/PlatformMouseEventWin.cpp',
+ 'platform/win/PlatformScreenWin.cpp',
+ 'platform/win/PlatformScrollBar.h',
+ 'platform/win/PlatformScrollBarWin.cpp',
+ 'platform/win/PopupMenuWin.cpp',
+ 'platform/win/ScrollbarThemeSafari.cpp',
+ 'platform/win/ScrollbarThemeSafari.h',
+ 'platform/win/ScrollbarThemeWin.cpp',
+ 'platform/win/ScrollbarThemeWin.h',
+ 'platform/win/SearchPopupMenuWin.cpp',
+ 'platform/win/SharedBufferWin.cpp',
+ 'platform/win/SharedTimerWin.cpp',
+ 'platform/win/SoftLinking.h',
+ 'platform/win/SoundWin.cpp',
+ 'platform/win/SystemTimeWin.cpp',
+ 'platform/win/TemporaryLinkStubs.cpp',
+ 'platform/win/WCDataObject.cpp',
+ 'platform/win/WCDataObject.h',
+ 'platform/win/WebCoreTextRenderer.cpp',
+ 'platform/win/WebCoreTextRenderer.h',
+ 'platform/win/WheelEventWin.cpp',
+ 'platform/win/WidgetWin.cpp',
+ 'platform/win/WindowMessageBroadcaster.cpp',
+ 'platform/win/WindowMessageBroadcaster.h',
+ 'platform/win/WindowMessageListener.h',
+ 'platform/wx/wxcode/gtk/fontprops.cpp',
+ 'platform/wx/wxcode/gtk/non-kerned-drawing.cpp',
+ 'platform/wx/wxcode/mac/carbon/fontprops.cpp',
+ 'platform/wx/wxcode/mac/carbon/non-kerned-drawing.cpp',
+ 'platform/wx/wxcode/win/fontprops.cpp',
+ 'platform/wx/wxcode/win/non-kerned-drawing.cpp',
+ 'platform/wx/wxcode/fontprops.cpp',
+ 'platform/wx/wxcode/fontprops.h',
+ 'platform/wx/wxcode/non-kerned-drawing.h',
+ 'platform/wx/ClipboardWx.cpp',
+ 'platform/wx/ClipboardWx.h',
+ 'platform/wx/ContextMenuItemWx.cpp',
+ 'platform/wx/ContextMenuWx.cpp',
+ 'platform/wx/CursorWx.cpp',
+ 'platform/wx/DragDataWx.cpp',
+ 'platform/wx/DragImageWx.cpp',
+ 'platform/wx/EventLoopWx.cpp',
+ 'platform/wx/FileSystemWx.cpp',
+ 'platform/wx/KeyEventWin.cpp',
+ 'platform/wx/KeyboardCodes.h',
+ 'platform/wx/KeyboardEventWx.cpp',
+ 'platform/wx/LocalizedStringsWx.cpp',
+ 'platform/wx/LoggingWx.cpp',
+ 'platform/wx/MimeTypeRegistryWx.cpp',
+ 'platform/wx/MouseEventWx.cpp',
+ 'platform/wx/MouseWheelEventWx.cpp',
+ 'platform/wx/PasteboardWx.cpp',
+ 'platform/wx/PopupMenuWx.cpp',
+ 'platform/wx/RenderThemeWx.cpp',
+ 'platform/wx/ScreenWx.cpp',
+ 'platform/wx/ScrollViewWx.cpp',
+ 'platform/wx/SharedTimerWx.cpp',
+ 'platform/wx/SoundWx.cpp',
+ 'platform/wx/TemporaryLinkStubs.cpp',
+ 'platform/wx/WidgetWx.cpp',
+ 'platform/Arena.cpp',
+ 'platform/Arena.h',
+ 'platform/AutodrainedPool.h',
+ 'platform/ContentType.cpp',
+ 'platform/ContentType.h',
+ 'platform/ContextMenu.cpp',
+ 'platform/ContextMenu.h',
+ 'platform/ContextMenuItem.h',
+ 'platform/CookieJar.h',
+ 'platform/CrossThreadCopier.h',
+ 'platform/CrossThreadCopier.cpp',
+ 'platform/Cursor.h',
+ 'platform/DeprecatedPtrList.h',
+ 'platform/DeprecatedPtrListImpl.cpp',
+ 'platform/DeprecatedPtrListImpl.h',
+ 'platform/DragData.cpp',
+ 'platform/DragData.h',
+ 'platform/DragImage.cpp',
+ 'platform/DragImage.h',
+ 'platform/EventLoop.h',
+ 'platform/FileChooser.cpp',
+ 'platform/FileChooser.h',
+ 'platform/FileSystem.h',
+ 'platform/FloatConversion.h',
+ 'platform/GeolocationService.cpp',
+ 'platform/GeolocationService.h',
+ 'platform/HostWindow.h',
+ 'platform/KeyboardCodes.h',
+ 'platform/KURL.cpp',
+ 'platform/KURL.h',
+ 'platform/KURLGoogle.cpp',
+ 'platform/KURLGooglePrivate.h',
+ 'platform/KURLHash.h',
+ 'platform/Language.h',
+ 'platform/Length.cpp',
+ 'platform/Length.h',
+ 'platform/LengthBox.h',
+ 'platform/LengthSize.h',
+ 'platform/LinkHash.cpp',
+ 'platform/LinkHash.h',
+ 'platform/LocalizedStrings.h',
+ 'platform/Logging.cpp',
+ 'platform/Logging.h',
+ 'platform/MIMETypeRegistry.cpp',
+ 'platform/MIMETypeRegistry.h',
+ 'platform/NotImplemented.h',
+ 'platform/Pasteboard.h',
+ 'platform/PlatformKeyboardEvent.h',
+ 'platform/PlatformMenuDescription.h',
+ 'platform/PlatformMouseEvent.h',
+ 'platform/PlatformScreen.h',
+ 'platform/PlatformWheelEvent.h',
+ 'platform/PopupMenu.h',
+ 'platform/PopupMenuClient.h',
+ 'platform/PopupMenuStyle.h',
+ 'platform/PurgeableBuffer.h',
+ 'platform/SSLKeyGenerator.h',
+ 'platform/ScrollTypes.h',
+ 'platform/ScrollView.cpp',
+ 'platform/ScrollView.h',
+ 'platform/Scrollbar.cpp',
+ 'platform/Scrollbar.h',
+ 'platform/ScrollbarClient.h',
+ 'platform/ScrollbarTheme.h',
+ 'platform/ScrollbarThemeComposite.cpp',
+ 'platform/ScrollbarThemeComposite.h',
+ 'platform/SearchPopupMenu.h',
+ 'platform/SharedBuffer.cpp',
+ 'platform/SharedBuffer.h',
+ 'platform/SharedTimer.h',
+ 'platform/Sound.h',
+ 'platform/StaticConstructors.h',
+ 'platform/SystemTime.h',
+ 'platform/Theme.cpp',
+ 'platform/Theme.h',
+ 'platform/ThemeTypes.h',
+ 'platform/ThreadCheck.h',
+ 'platform/ThreadGlobalData.cpp',
+ 'platform/ThreadGlobalData.h',
+ 'platform/ThreadTimers.cpp',
+ 'platform/ThreadTimers.h',
+ 'platform/Timer.cpp',
+ 'platform/Timer.h',
+ 'platform/TreeShared.h',
+ 'platform/Widget.cpp',
+ 'platform/Widget.h',
+ 'plugins/chromium/PluginDataChromium.cpp',
+ 'plugins/gtk/PluginDataGtk.cpp',
+ 'plugins/gtk/PluginPackageGtk.cpp',
+ 'plugins/gtk/PluginViewGtk.cpp',
+ 'plugins/gtk/gtk2xtbin.h',
+ 'plugins/gtk/xembed.h',
+ 'plugins/mac/PluginDataMac.mm',
+ 'plugins/mac/PluginPackageMac.cpp',
+ 'plugins/mac/PluginViewMac.cpp',
+ 'plugins/qt/PluginDataQt.cpp',
+ 'plugins/qt/PluginPackageQt.cpp',
+ 'plugins/qt/PluginViewQt.cpp',
+ 'plugins/win/PluginDataWin.cpp',
+ 'plugins/win/PluginDatabaseWin.cpp',
+ 'plugins/win/PluginMessageThrottlerWin.cpp',
+ 'plugins/win/PluginMessageThrottlerWin.h',
+ 'plugins/win/PluginPackageWin.cpp',
+ 'plugins/win/PluginViewWin.cpp',
+ 'plugins/wx/PluginDataWx.cpp',
+ 'plugins/wx/PluginPackageWx.cpp',
+ 'plugins/wx/PluginViewWx.cpp',
+ 'plugins/MimeType.cpp',
+ 'plugins/MimeType.h',
+ 'plugins/MimeTypeArray.cpp',
+ 'plugins/MimeTypeArray.h',
+ 'plugins/Plugin.cpp',
+ 'plugins/Plugin.h',
+ 'plugins/PluginArray.cpp',
+ 'plugins/PluginArray.h',
+ 'plugins/PluginData.cpp',
+ 'plugins/PluginData.h',
+ 'plugins/PluginDatabase.cpp',
+ 'plugins/PluginDatabase.h',
+ 'plugins/PluginDebug.cpp',
+ 'plugins/PluginDebug.h',
+ 'plugins/PluginInfoStore.cpp',
+ 'plugins/PluginInfoStore.h',
+ 'plugins/PluginMainThreadScheduler.cpp',
+ 'plugins/PluginMainThreadScheduler.h',
+ 'plugins/PluginPackage.cpp',
+ 'plugins/PluginPackage.h',
+ 'plugins/PluginQuirkSet.h',
+ 'plugins/PluginStream.cpp',
+ 'plugins/PluginStream.h',
+ 'plugins/PluginView.cpp',
+ 'plugins/PluginView.h',
+ 'plugins/npapi.cpp',
+ 'plugins/npfunctions.h',
+ 'rendering/style/BindingURI.cpp',
+ 'rendering/style/BindingURI.h',
+ 'rendering/style/BorderData.h',
+ 'rendering/style/BorderValue.h',
+ 'rendering/style/CollapsedBorderValue.h',
+ 'rendering/style/ContentData.cpp',
+ 'rendering/style/ContentData.h',
+ 'rendering/style/CounterContent.h',
+ 'rendering/style/CounterDirectives.cpp',
+ 'rendering/style/CounterDirectives.h',
+ 'rendering/style/CursorData.h',
+ 'rendering/style/CursorList.h',
+ 'rendering/style/DataRef.h',
+ 'rendering/style/FillLayer.cpp',
+ 'rendering/style/FillLayer.h',
+ 'rendering/style/KeyframeList.cpp',
+ 'rendering/style/KeyframeList.h',
+ 'rendering/style/NinePieceImage.cpp',
+ 'rendering/style/NinePieceImage.h',
+ 'rendering/style/OutlineValue.h',
+ 'rendering/style/RenderStyle.cpp',
+ 'rendering/style/RenderStyle.h',
+ 'rendering/style/RenderStyleConstants.h',
+ 'rendering/style/SVGRenderStyle.cpp',
+ 'rendering/style/SVGRenderStyle.h',
+ 'rendering/style/SVGRenderStyleDefs.cpp',
+ 'rendering/style/SVGRenderStyleDefs.h',
+ 'rendering/style/ShadowData.cpp',
+ 'rendering/style/ShadowData.h',
+ 'rendering/style/StyleBackgroundData.cpp',
+ 'rendering/style/StyleBackgroundData.h',
+ 'rendering/style/StyleBoxData.cpp',
+ 'rendering/style/StyleBoxData.h',
+ 'rendering/style/StyleCachedImage.cpp',
+ 'rendering/style/StyleCachedImage.h',
+ 'rendering/style/StyleDashboardRegion.h',
+ 'rendering/style/StyleFlexibleBoxData.cpp',
+ 'rendering/style/StyleFlexibleBoxData.h',
+ 'rendering/style/StyleGeneratedImage.cpp',
+ 'rendering/style/StyleGeneratedImage.h',
+ 'rendering/style/StyleImage.h',
+ 'rendering/style/StyleInheritedData.cpp',
+ 'rendering/style/StyleInheritedData.h',
+ 'rendering/style/StyleMarqueeData.cpp',
+ 'rendering/style/StyleMarqueeData.h',
+ 'rendering/style/StyleMultiColData.cpp',
+ 'rendering/style/StyleMultiColData.h',
+ 'rendering/style/StyleRareInheritedData.cpp',
+ 'rendering/style/StyleRareInheritedData.h',
+ 'rendering/style/StyleRareNonInheritedData.cpp',
+ 'rendering/style/StyleRareNonInheritedData.h',
+ 'rendering/style/StyleReflection.h',
+ 'rendering/style/StyleSurroundData.cpp',
+ 'rendering/style/StyleSurroundData.h',
+ 'rendering/style/StyleTransformData.cpp',
+ 'rendering/style/StyleTransformData.h',
+ 'rendering/style/StyleVisualData.cpp',
+ 'rendering/style/StyleVisualData.h',
+ 'rendering/AutoTableLayout.cpp',
+ 'rendering/AutoTableLayout.h',
+ 'rendering/CounterNode.cpp',
+ 'rendering/CounterNode.h',
+ 'rendering/EllipsisBox.cpp',
+ 'rendering/EllipsisBox.h',
+ 'rendering/FixedTableLayout.cpp',
+ 'rendering/FixedTableLayout.h',
+ 'rendering/GapRects.h',
+ 'rendering/HitTestRequest.h',
+ 'rendering/HitTestResult.cpp',
+ 'rendering/HitTestResult.h',
+ 'rendering/InlineBox.cpp',
+ 'rendering/InlineBox.h',
+ 'rendering/InlineFlowBox.cpp',
+ 'rendering/InlineFlowBox.h',
+ 'rendering/InlineRunBox.h',
+ 'rendering/InlineTextBox.cpp',
+ 'rendering/InlineTextBox.h',
+ 'rendering/LayoutState.cpp',
+ 'rendering/LayoutState.h',
+ 'rendering/MediaControlElements.cpp',
+ 'rendering/MediaControlElements.h',
+ 'rendering/PointerEventsHitRules.cpp',
+ 'rendering/PointerEventsHitRules.h',
+ 'rendering/RenderApplet.cpp',
+ 'rendering/RenderApplet.h',
+ 'rendering/RenderArena.cpp',
+ 'rendering/RenderArena.h',
+ 'rendering/RenderBR.cpp',
+ 'rendering/RenderBR.h',
+ 'rendering/RenderBlock.cpp',
+ 'rendering/RenderBlock.h',
+ 'rendering/RenderBlockLineLayout.cpp',
+ 'rendering/RenderBox.cpp',
+ 'rendering/RenderBox.h',
+ 'rendering/RenderBoxModelObject.cpp',
+ 'rendering/RenderBoxModelObject.h',
+ 'rendering/RenderButton.cpp',
+ 'rendering/RenderButton.h',
+ 'rendering/RenderCounter.cpp',
+ 'rendering/RenderCounter.h',
+ 'rendering/RenderDataGrid.cpp',
+ 'rendering/RenderDataGrid.h',
+ 'rendering/RenderFieldset.cpp',
+ 'rendering/RenderFieldset.h',
+ 'rendering/RenderFileUploadControl.cpp',
+ 'rendering/RenderFileUploadControl.h',
+ 'rendering/RenderFlexibleBox.cpp',
+ 'rendering/RenderFlexibleBox.h',
+ 'rendering/RenderForeignObject.cpp',
+ 'rendering/RenderForeignObject.h',
+ 'rendering/RenderFrame.cpp',
+ 'rendering/RenderFrame.h',
+ 'rendering/RenderFrameSet.cpp',
+ 'rendering/RenderFrameSet.h',
+ 'rendering/RenderHTMLCanvas.cpp',
+ 'rendering/RenderHTMLCanvas.h',
+ 'rendering/RenderImage.cpp',
+ 'rendering/RenderImage.h',
+ 'rendering/RenderImageGeneratedContent.cpp',
+ 'rendering/RenderImageGeneratedContent.h',
+ 'rendering/RenderInline.cpp',
+ 'rendering/RenderInline.h',
+ 'rendering/RenderLayer.cpp',
+ 'rendering/RenderLayer.h',
+ 'rendering/RenderLayerBacking.cpp',
+ 'rendering/RenderLayerBacking.h',
+ 'rendering/RenderLayerCompositor.cpp',
+ 'rendering/RenderLayerCompositor.h',
+ 'rendering/RenderLineBoxList.cpp',
+ 'rendering/RenderLineBoxList.h',
+ 'rendering/RenderListBox.cpp',
+ 'rendering/RenderListBox.h',
+ 'rendering/RenderListItem.cpp',
+ 'rendering/RenderListItem.h',
+ 'rendering/RenderListMarker.cpp',
+ 'rendering/RenderListMarker.h',
+ 'rendering/RenderMarquee.cpp',
+ 'rendering/RenderMarquee.h',
+ 'rendering/RenderMedia.cpp',
+ 'rendering/RenderMedia.h',
+ 'rendering/RenderMenuList.cpp',
+ 'rendering/RenderMenuList.h',
+ 'rendering/RenderObject.cpp',
+ 'rendering/RenderObject.h',
+ 'rendering/RenderObjectChildList.cpp',
+ 'rendering/RenderObjectChildList.h',
+ 'rendering/RenderPart.cpp',
+ 'rendering/RenderPart.h',
+ 'rendering/RenderPartObject.cpp',
+ 'rendering/RenderPartObject.h',
+ 'rendering/RenderPath.cpp',
+ 'rendering/RenderPath.h',
+ 'rendering/RenderReplaced.cpp',
+ 'rendering/RenderReplaced.h',
+ 'rendering/RenderReplica.cpp',
+ 'rendering/RenderReplica.h',
+ 'rendering/RenderSVGBlock.cpp',
+ 'rendering/RenderSVGBlock.h',
+ 'rendering/RenderSVGContainer.cpp',
+ 'rendering/RenderSVGContainer.h',
+ 'rendering/RenderSVGGradientStop.cpp',
+ 'rendering/RenderSVGGradientStop.h',
+ 'rendering/RenderSVGHiddenContainer.cpp',
+ 'rendering/RenderSVGHiddenContainer.h',
+ 'rendering/RenderSVGImage.cpp',
+ 'rendering/RenderSVGImage.h',
+ 'rendering/RenderSVGInline.cpp',
+ 'rendering/RenderSVGInline.h',
+ 'rendering/RenderSVGInlineText.cpp',
+ 'rendering/RenderSVGInlineText.h',
+ 'rendering/RenderSVGModelObject.cpp',
+ 'rendering/RenderSVGModelObject.h',
+ 'rendering/RenderSVGRoot.cpp',
+ 'rendering/RenderSVGRoot.h',
+ 'rendering/RenderSVGTSpan.cpp',
+ 'rendering/RenderSVGTSpan.h',
+ 'rendering/RenderSVGText.cpp',
+ 'rendering/RenderSVGText.h',
+ 'rendering/RenderSVGTextPath.cpp',
+ 'rendering/RenderSVGTextPath.h',
+ 'rendering/RenderSVGTransformableContainer.cpp',
+ 'rendering/RenderSVGTransformableContainer.h',
+ 'rendering/RenderSVGViewportContainer.cpp',
+ 'rendering/RenderSVGViewportContainer.h',
+ 'rendering/RenderScrollbar.cpp',
+ 'rendering/RenderScrollbar.h',
+ 'rendering/RenderScrollbarPart.cpp',
+ 'rendering/RenderScrollbarPart.h',
+ 'rendering/RenderScrollbarTheme.cpp',
+ 'rendering/RenderScrollbarTheme.h',
+ 'rendering/RenderSelectionInfo.h',
+ 'rendering/RenderSlider.cpp',
+ 'rendering/RenderSlider.h',
+ 'rendering/RenderTable.cpp',
+ 'rendering/RenderTable.h',
+ 'rendering/RenderTableCell.cpp',
+ 'rendering/RenderTableCell.h',
+ 'rendering/RenderTableCol.cpp',
+ 'rendering/RenderTableCol.h',
+ 'rendering/RenderTableRow.cpp',
+ 'rendering/RenderTableRow.h',
+ 'rendering/RenderTableSection.cpp',
+ 'rendering/RenderTableSection.h',
+ 'rendering/RenderText.cpp',
+ 'rendering/RenderText.h',
+ 'rendering/RenderTextControl.cpp',
+ 'rendering/RenderTextControl.h',
+ 'rendering/RenderTextControlMultiLine.cpp',
+ 'rendering/RenderTextControlMultiLine.h',
+ 'rendering/RenderTextControlSingleLine.cpp',
+ 'rendering/RenderTextControlSingleLine.h',
+ 'rendering/RenderTextFragment.cpp',
+ 'rendering/RenderTextFragment.h',
+ 'rendering/RenderTheme.cpp',
+ 'rendering/RenderTheme.h',
+ 'rendering/RenderThemeChromiumSkia.cpp',
+ 'rendering/RenderThemeChromiumSkia.h',
+ 'rendering/RenderThemeChromiumLinux.cpp',
+ 'rendering/RenderThemeChromiumLinux.h',
+ 'rendering/RenderThemeChromiumMac.h',
+ 'rendering/RenderThemeChromiumMac.mm',
+ 'rendering/RenderThemeChromiumWin.cpp',
+ 'rendering/RenderThemeChromiumWin.h',
+ 'rendering/RenderThemeMac.h',
+ 'rendering/RenderThemeMac.mm',
+ 'rendering/RenderThemeSafari.cpp',
+ 'rendering/RenderThemeSafari.h',
+ 'rendering/RenderThemeWin.cpp',
+ 'rendering/RenderThemeWin.h',
+ 'rendering/RenderTreeAsText.cpp',
+ 'rendering/RenderTreeAsText.h',
+ 'rendering/RenderVideo.cpp',
+ 'rendering/RenderVideo.h',
+ 'rendering/RenderView.cpp',
+ 'rendering/RenderView.h',
+ 'rendering/RenderWidget.cpp',
+ 'rendering/RenderWidget.h',
+ 'rendering/RenderWordBreak.cpp',
+ 'rendering/RenderWordBreak.h',
+ 'rendering/RootInlineBox.cpp',
+ 'rendering/RootInlineBox.h',
+ 'rendering/ScrollBehavior.cpp',
+ 'rendering/ScrollBehavior.h',
+ 'rendering/SVGCharacterLayoutInfo.cpp',
+ 'rendering/SVGCharacterLayoutInfo.h',
+ 'rendering/SVGInlineFlowBox.cpp',
+ 'rendering/SVGInlineFlowBox.h',
+ 'rendering/SVGInlineTextBox.cpp',
+ 'rendering/SVGInlineTextBox.h',
+ 'rendering/SVGRenderSupport.cpp',
+ 'rendering/SVGRenderSupport.h',
+ 'rendering/SVGRenderTreeAsText.cpp',
+ 'rendering/SVGRenderTreeAsText.h',
+ 'rendering/SVGRootInlineBox.cpp',
+ 'rendering/SVGRootInlineBox.h',
+ 'rendering/TableLayout.h',
+ 'rendering/TextControlInnerElements.cpp',
+ 'rendering/TextControlInnerElements.h',
+ 'rendering/TransformState.cpp',
+ 'rendering/TransformState.h',
+ 'rendering/break_lines.cpp',
+ 'rendering/break_lines.h',
+ 'storage/ChangeVersionWrapper.cpp',
+ 'storage/ChangeVersionWrapper.h',
+ 'storage/Database.cpp',
+ 'storage/Database.h',
+ 'storage/DatabaseAuthorizer.cpp',
+ 'storage/DatabaseAuthorizer.h',
+ 'storage/DatabaseDetails.h',
+ 'storage/DatabaseTask.cpp',
+ 'storage/DatabaseTask.h',
+ 'storage/DatabaseThread.cpp',
+ 'storage/DatabaseThread.h',
+ 'storage/DatabaseTracker.cpp',
+ 'storage/DatabaseTracker.h',
+ 'storage/DatabaseTrackerClient.h',
+ 'storage/LocalStorageTask.cpp',
+ 'storage/LocalStorageTask.h',
+ 'storage/LocalStorageThread.cpp',
+ 'storage/LocalStorageThread.h',
+ 'storage/OriginQuotaManager.cpp',
+ 'storage/OriginQuotaManager.h',
+ 'storage/OriginUsageRecord.cpp',
+ 'storage/OriginUsageRecord.h',
+ 'storage/SQLError.h',
+ 'storage/SQLResultSet.cpp',
+ 'storage/SQLResultSet.h',
+ 'storage/SQLResultSetRowList.cpp',
+ 'storage/SQLResultSetRowList.h',
+ 'storage/SQLStatement.cpp',
+ 'storage/SQLStatement.h',
+ 'storage/SQLStatementCallback.h',
+ 'storage/SQLStatementErrorCallback.h',
+ 'storage/SQLTransaction.cpp',
+ 'storage/SQLTransaction.h',
+ 'storage/SQLTransactionCallback.h',
+ 'storage/SQLTransactionErrorCallback.h',
+ 'storage/Storage.cpp',
+ 'storage/Storage.h',
+ 'storage/StorageArea.h',
+ 'storage/StorageAreaImpl.cpp',
+ 'storage/StorageAreaImpl.h',
+ 'storage/StorageAreaSync.cpp',
+ 'storage/StorageAreaSync.h',
+ 'storage/StorageEvent.cpp',
+ 'storage/StorageEvent.h',
+ 'storage/StorageMap.cpp',
+ 'storage/StorageMap.h',
+ 'storage/StorageNamespace.cpp',
+ 'storage/StorageNamespace.h',
+ 'storage/StorageNamespaceImpl.cpp',
+ 'storage/StorageNamespaceImpl.h',
+ 'storage/StorageSyncManager.cpp',
+ 'storage/StorageSyncManager.h',
+ 'svg/animation/SMILTime.cpp',
+ 'svg/animation/SMILTime.h',
+ 'svg/animation/SMILTimeContainer.cpp',
+ 'svg/animation/SMILTimeContainer.h',
+ 'svg/animation/SVGSMILElement.cpp',
+ 'svg/animation/SVGSMILElement.h',
+ 'svg/graphics/filters/SVGDistantLightSource.h',
+ 'svg/graphics/filters/SVGFEConvolveMatrix.cpp',
+ 'svg/graphics/filters/SVGFEConvolveMatrix.h',
+ 'svg/graphics/filters/SVGFEDiffuseLighting.cpp',
+ 'svg/graphics/filters/SVGFEDiffuseLighting.h',
+ 'svg/graphics/filters/SVGFEDisplacementMap.cpp',
+ 'svg/graphics/filters/SVGFEDisplacementMap.h',
+ 'svg/graphics/filters/SVGFEFlood.cpp',
+ 'svg/graphics/filters/SVGFEFlood.h',
+ 'svg/graphics/filters/SVGFEGaussianBlur.cpp',
+ 'svg/graphics/filters/SVGFEGaussianBlur.h',
+ 'svg/graphics/filters/SVGFEImage.cpp',
+ 'svg/graphics/filters/SVGFEImage.h',
+ 'svg/graphics/filters/SVGFEMerge.cpp',
+ 'svg/graphics/filters/SVGFEMerge.h',
+ 'svg/graphics/filters/SVGFEMorphology.cpp',
+ 'svg/graphics/filters/SVGFEMorphology.h',
+ 'svg/graphics/filters/SVGFEOffset.cpp',
+ 'svg/graphics/filters/SVGFEOffset.h',
+ 'svg/graphics/filters/SVGFESpecularLighting.cpp',
+ 'svg/graphics/filters/SVGFESpecularLighting.h',
+ 'svg/graphics/filters/SVGFETile.cpp',
+ 'svg/graphics/filters/SVGFETile.h',
+ 'svg/graphics/filters/SVGFETurbulence.cpp',
+ 'svg/graphics/filters/SVGFETurbulence.h',
+ 'svg/graphics/filters/SVGFilterEffect.cpp',
+ 'svg/graphics/filters/SVGFilterEffect.h',
+ 'svg/graphics/filters/SVGLightSource.cpp',
+ 'svg/graphics/filters/SVGLightSource.h',
+ 'svg/graphics/filters/SVGPointLightSource.h',
+ 'svg/graphics/filters/SVGSpotLightSource.h',
+ 'svg/graphics/SVGImage.cpp',
+ 'svg/graphics/SVGImage.h',
+ 'svg/graphics/SVGPaintServer.cpp',
+ 'svg/graphics/SVGPaintServer.h',
+ 'svg/graphics/SVGPaintServerGradient.cpp',
+ 'svg/graphics/SVGPaintServerGradient.h',
+ 'svg/graphics/SVGPaintServerLinearGradient.cpp',
+ 'svg/graphics/SVGPaintServerLinearGradient.h',
+ 'svg/graphics/SVGPaintServerPattern.cpp',
+ 'svg/graphics/SVGPaintServerPattern.h',
+ 'svg/graphics/SVGPaintServerRadialGradient.cpp',
+ 'svg/graphics/SVGPaintServerRadialGradient.h',
+ 'svg/graphics/SVGPaintServerSolid.cpp',
+ 'svg/graphics/SVGPaintServerSolid.h',
+ 'svg/graphics/SVGResource.cpp',
+ 'svg/graphics/SVGResource.h',
+ 'svg/graphics/SVGResourceClipper.cpp',
+ 'svg/graphics/SVGResourceClipper.h',
+ 'svg/graphics/SVGResourceFilter.cpp',
+ 'svg/graphics/SVGResourceFilter.h',
+ 'svg/graphics/SVGResourceListener.h',
+ 'svg/graphics/SVGResourceMarker.cpp',
+ 'svg/graphics/SVGResourceMarker.h',
+ 'svg/graphics/SVGResourceMasker.cpp',
+ 'svg/graphics/SVGResourceMasker.h',
+ 'svg/ColorDistance.cpp',
+ 'svg/ColorDistance.h',
+ 'svg/ElementTimeControl.h',
+ 'svg/Filter.cpp',
+ 'svg/Filter.h',
+ 'svg/FilterBuilder.h',
+ 'svg/FilterBuilder.cpp',
+ 'svg/FilterEffect.cpp',
+ 'svg/FilterEffect.h',
+ 'svg/GradientAttributes.h',
+ 'svg/LinearGradientAttributes.h',
+ 'svg/PatternAttributes.h',
+ 'svg/RadialGradientAttributes.h',
+ 'svg/SVGAElement.cpp',
+ 'svg/SVGAElement.h',
+ 'svg/SVGAllInOne.cpp',
+ 'svg/SVGAltGlyphElement.cpp',
+ 'svg/SVGAltGlyphElement.h',
+ 'svg/SVGAngle.cpp',
+ 'svg/SVGAngle.h',
+ 'svg/SVGAnimateColorElement.cpp',
+ 'svg/SVGAnimateColorElement.h',
+ 'svg/SVGAnimateElement.cpp',
+ 'svg/SVGAnimateElement.h',
+ 'svg/SVGAnimateMotionElement.cpp',
+ 'svg/SVGAnimateMotionElement.h',
+ 'svg/SVGAnimateTransformElement.cpp',
+ 'svg/SVGAnimateTransformElement.h',
+ 'svg/SVGAnimatedPathData.cpp',
+ 'svg/SVGAnimatedPathData.h',
+ 'svg/SVGAnimatedPoints.cpp',
+ 'svg/SVGAnimatedPoints.h',
+ 'svg/SVGAnimatedProperty.h',
+ 'svg/SVGAnimatedTemplate.h',
+ 'svg/SVGAnimationElement.cpp',
+ 'svg/SVGAnimationElement.h',
+ 'svg/SVGCircleElement.cpp',
+ 'svg/SVGCircleElement.h',
+ 'svg/SVGClipPathElement.cpp',
+ 'svg/SVGClipPathElement.h',
+ 'svg/SVGColor.cpp',
+ 'svg/SVGColor.h',
+ 'svg/SVGComponentTransferFunctionElement.cpp',
+ 'svg/SVGComponentTransferFunctionElement.h',
+ 'svg/SVGCursorElement.cpp',
+ 'svg/SVGCursorElement.h',
+ 'svg/SVGDefinitionSrcElement.cpp',
+ 'svg/SVGDefinitionSrcElement.h',
+ 'svg/SVGDefsElement.cpp',
+ 'svg/SVGDefsElement.h',
+ 'svg/SVGDescElement.cpp',
+ 'svg/SVGDescElement.h',
+ 'svg/SVGDocument.cpp',
+ 'svg/SVGDocument.h',
+ 'svg/SVGDocumentExtensions.cpp',
+ 'svg/SVGDocumentExtensions.h',
+ 'svg/SVGElement.cpp',
+ 'svg/SVGElement.h',
+ 'svg/SVGElementInstance.cpp',
+ 'svg/SVGElementInstance.h',
+ 'svg/SVGElementInstanceList.cpp',
+ 'svg/SVGElementInstanceList.h',
+ 'svg/SVGEllipseElement.cpp',
+ 'svg/SVGEllipseElement.h',
+ 'svg/SVGException.h',
+ 'svg/SVGExternalResourcesRequired.cpp',
+ 'svg/SVGExternalResourcesRequired.h',
+ 'svg/SVGFEBlendElement.cpp',
+ 'svg/SVGFEBlendElement.h',
+ 'svg/SVGFEColorMatrixElement.cpp',
+ 'svg/SVGFEColorMatrixElement.h',
+ 'svg/SVGFEComponentTransferElement.cpp',
+ 'svg/SVGFEComponentTransferElement.h',
+ 'svg/SVGFECompositeElement.cpp',
+ 'svg/SVGFECompositeElement.h',
+ 'svg/SVGFEDiffuseLightingElement.cpp',
+ 'svg/SVGFEDiffuseLightingElement.h',
+ 'svg/SVGFEDisplacementMapElement.cpp',
+ 'svg/SVGFEDisplacementMapElement.h',
+ 'svg/SVGFEDistantLightElement.cpp',
+ 'svg/SVGFEDistantLightElement.h',
+ 'svg/SVGFEFloodElement.cpp',
+ 'svg/SVGFEFloodElement.h',
+ 'svg/SVGFEFuncAElement.cpp',
+ 'svg/SVGFEFuncAElement.h',
+ 'svg/SVGFEFuncBElement.cpp',
+ 'svg/SVGFEFuncBElement.h',
+ 'svg/SVGFEFuncGElement.cpp',
+ 'svg/SVGFEFuncGElement.h',
+ 'svg/SVGFEFuncRElement.cpp',
+ 'svg/SVGFEFuncRElement.h',
+ 'svg/SVGFEGaussianBlurElement.cpp',
+ 'svg/SVGFEGaussianBlurElement.h',
+ 'svg/SVGFEImageElement.cpp',
+ 'svg/SVGFEImageElement.h',
+ 'svg/SVGFELightElement.cpp',
+ 'svg/SVGFELightElement.h',
+ 'svg/SVGFEMergeElement.cpp',
+ 'svg/SVGFEMergeElement.h',
+ 'svg/SVGFEMergeNodeElement.cpp',
+ 'svg/SVGFEMergeNodeElement.h',
+ 'svg/SVGFEOffsetElement.cpp',
+ 'svg/SVGFEOffsetElement.h',
+ 'svg/SVGFEPointLightElement.cpp',
+ 'svg/SVGFEPointLightElement.h',
+ 'svg/SVGFESpecularLightingElement.cpp',
+ 'svg/SVGFESpecularLightingElement.h',
+ 'svg/SVGFESpotLightElement.cpp',
+ 'svg/SVGFESpotLightElement.h',
+ 'svg/SVGFETileElement.cpp',
+ 'svg/SVGFETileElement.h',
+ 'svg/SVGFETurbulenceElement.cpp',
+ 'svg/SVGFETurbulenceElement.h',
+ 'svg/SVGFilterElement.cpp',
+ 'svg/SVGFilterElement.h',
+ 'svg/SVGFilterPrimitiveStandardAttributes.cpp',
+ 'svg/SVGFilterPrimitiveStandardAttributes.h',
+ 'svg/SVGFitToViewBox.cpp',
+ 'svg/SVGFitToViewBox.h',
+ 'svg/SVGFont.cpp',
+ 'svg/SVGFontData.cpp',
+ 'svg/SVGFontData.h',
+ 'svg/SVGFontElement.cpp',
+ 'svg/SVGFontElement.h',
+ 'svg/SVGFontFaceElement.cpp',
+ 'svg/SVGFontFaceElement.h',
+ 'svg/SVGFontFaceFormatElement.cpp',
+ 'svg/SVGFontFaceFormatElement.h',
+ 'svg/SVGFontFaceNameElement.cpp',
+ 'svg/SVGFontFaceNameElement.h',
+ 'svg/SVGFontFaceSrcElement.cpp',
+ 'svg/SVGFontFaceSrcElement.h',
+ 'svg/SVGFontFaceUriElement.cpp',
+ 'svg/SVGFontFaceUriElement.h',
+ 'svg/SVGForeignObjectElement.cpp',
+ 'svg/SVGForeignObjectElement.h',
+ 'svg/SVGGElement.cpp',
+ 'svg/SVGGElement.h',
+ 'svg/SVGGlyphElement.cpp',
+ 'svg/SVGGlyphElement.h',
+ 'svg/SVGGlyphMap.h',
+ 'svg/SVGGradientElement.cpp',
+ 'svg/SVGGradientElement.h',
+ 'svg/SVGHKernElement.cpp',
+ 'svg/SVGHKernElement.h',
+ 'svg/SVGImageElement.cpp',
+ 'svg/SVGImageElement.h',
+ 'svg/SVGImageLoader.cpp',
+ 'svg/SVGImageLoader.h',
+ 'svg/SVGLangSpace.cpp',
+ 'svg/SVGLangSpace.h',
+ 'svg/SVGLength.cpp',
+ 'svg/SVGLength.h',
+ 'svg/SVGLengthList.cpp',
+ 'svg/SVGLengthList.h',
+ 'svg/SVGLineElement.cpp',
+ 'svg/SVGLineElement.h',
+ 'svg/SVGLinearGradientElement.cpp',
+ 'svg/SVGLinearGradientElement.h',
+ 'svg/SVGList.h',
+ 'svg/SVGListTraits.h',
+ 'svg/SVGLocatable.cpp',
+ 'svg/SVGLocatable.h',
+ 'svg/SVGMPathElement.cpp',
+ 'svg/SVGMPathElement.h',
+ 'svg/SVGMarkerElement.cpp',
+ 'svg/SVGMarkerElement.h',
+ 'svg/SVGMaskElement.cpp',
+ 'svg/SVGMaskElement.h',
+ 'svg/SVGMetadataElement.cpp',
+ 'svg/SVGMetadataElement.h',
+ 'svg/SVGMissingGlyphElement.cpp',
+ 'svg/SVGMissingGlyphElement.h',
+ 'svg/SVGNumberList.cpp',
+ 'svg/SVGNumberList.h',
+ 'svg/SVGPaint.cpp',
+ 'svg/SVGPaint.h',
+ 'svg/SVGParserUtilities.cpp',
+ 'svg/SVGParserUtilities.h',
+ 'svg/SVGPathElement.cpp',
+ 'svg/SVGPathElement.h',
+ 'svg/SVGPathSeg.h',
+ 'svg/SVGPathSegArc.cpp',
+ 'svg/SVGPathSegArc.h',
+ 'svg/SVGPathSegClosePath.cpp',
+ 'svg/SVGPathSegClosePath.h',
+ 'svg/SVGPathSegCurvetoCubic.cpp',
+ 'svg/SVGPathSegCurvetoCubic.h',
+ 'svg/SVGPathSegCurvetoCubicSmooth.cpp',
+ 'svg/SVGPathSegCurvetoCubicSmooth.h',
+ 'svg/SVGPathSegCurvetoQuadratic.cpp',
+ 'svg/SVGPathSegCurvetoQuadratic.h',
+ 'svg/SVGPathSegCurvetoQuadraticSmooth.cpp',
+ 'svg/SVGPathSegCurvetoQuadraticSmooth.h',
+ 'svg/SVGPathSegLineto.cpp',
+ 'svg/SVGPathSegLineto.h',
+ 'svg/SVGPathSegLinetoHorizontal.cpp',
+ 'svg/SVGPathSegLinetoHorizontal.h',
+ 'svg/SVGPathSegLinetoVertical.cpp',
+ 'svg/SVGPathSegLinetoVertical.h',
+ 'svg/SVGPathSegList.cpp',
+ 'svg/SVGPathSegList.h',
+ 'svg/SVGPathSegMoveto.cpp',
+ 'svg/SVGPathSegMoveto.h',
+ 'svg/SVGPatternElement.cpp',
+ 'svg/SVGPatternElement.h',
+ 'svg/SVGPointList.cpp',
+ 'svg/SVGPointList.h',
+ 'svg/SVGPolyElement.cpp',
+ 'svg/SVGPolyElement.h',
+ 'svg/SVGPolygonElement.cpp',
+ 'svg/SVGPolygonElement.h',
+ 'svg/SVGPolylineElement.cpp',
+ 'svg/SVGPolylineElement.h',
+ 'svg/SVGPreserveAspectRatio.cpp',
+ 'svg/SVGPreserveAspectRatio.h',
+ 'svg/SVGRadialGradientElement.cpp',
+ 'svg/SVGRadialGradientElement.h',
+ 'svg/SVGRectElement.cpp',
+ 'svg/SVGRectElement.h',
+ 'svg/SVGRenderingIntent.h',
+ 'svg/SVGSVGElement.cpp',
+ 'svg/SVGSVGElement.h',
+ 'svg/SVGScriptElement.cpp',
+ 'svg/SVGScriptElement.h',
+ 'svg/SVGSetElement.cpp',
+ 'svg/SVGSetElement.h',
+ 'svg/SVGStopElement.cpp',
+ 'svg/SVGStopElement.h',
+ 'svg/SVGStringList.cpp',
+ 'svg/SVGStringList.h',
+ 'svg/SVGStylable.cpp',
+ 'svg/SVGStylable.h',
+ 'svg/SVGStyleElement.cpp',
+ 'svg/SVGStyleElement.h',
+ 'svg/SVGStyledElement.cpp',
+ 'svg/SVGStyledElement.h',
+ 'svg/SVGStyledLocatableElement.cpp',
+ 'svg/SVGStyledLocatableElement.h',
+ 'svg/SVGStyledTransformableElement.cpp',
+ 'svg/SVGStyledTransformableElement.h',
+ 'svg/SVGSwitchElement.cpp',
+ 'svg/SVGSwitchElement.h',
+ 'svg/SVGSymbolElement.cpp',
+ 'svg/SVGSymbolElement.h',
+ 'svg/SVGTRefElement.cpp',
+ 'svg/SVGTRefElement.h',
+ 'svg/SVGTSpanElement.cpp',
+ 'svg/SVGTSpanElement.h',
+ 'svg/SVGTests.cpp',
+ 'svg/SVGTests.h',
+ 'svg/SVGTextContentElement.cpp',
+ 'svg/SVGTextContentElement.h',
+ 'svg/SVGTextElement.cpp',
+ 'svg/SVGTextElement.h',
+ 'svg/SVGTextPathElement.cpp',
+ 'svg/SVGTextPathElement.h',
+ 'svg/SVGTextPositioningElement.cpp',
+ 'svg/SVGTextPositioningElement.h',
+ 'svg/SVGTitleElement.cpp',
+ 'svg/SVGTitleElement.h',
+ 'svg/SVGTransform.cpp',
+ 'svg/SVGTransform.h',
+ 'svg/SVGTransformDistance.cpp',
+ 'svg/SVGTransformDistance.h',
+ 'svg/SVGTransformList.cpp',
+ 'svg/SVGTransformList.h',
+ 'svg/SVGTransformable.cpp',
+ 'svg/SVGTransformable.h',
+ 'svg/SVGURIReference.cpp',
+ 'svg/SVGURIReference.h',
+ 'svg/SVGUnitTypes.h',
+ 'svg/SVGUseElement.cpp',
+ 'svg/SVGUseElement.h',
+ 'svg/SVGViewElement.cpp',
+ 'svg/SVGViewElement.h',
+ 'svg/SVGViewSpec.cpp',
+ 'svg/SVGViewSpec.h',
+ 'svg/SVGZoomAndPan.cpp',
+ 'svg/SVGZoomAndPan.h',
+ 'svg/SVGZoomEvent.cpp',
+ 'svg/SVGZoomEvent.h',
+ 'svg/SynchronizableTypeWrapper.h',
+ 'workers/AbstractWorker.cpp',
+ 'workers/AbstractWorker.h',
+ 'workers/DedicatedWorkerContext.cpp',
+ 'workers/DedicatedWorkerContext.h',
+ 'workers/GenericWorkerTask.h',
+ 'workers/SharedWorker.cpp',
+ 'workers/SharedWorker.h',
+ 'workers/Worker.cpp',
+ 'workers/Worker.h',
+ 'workers/WorkerContext.cpp',
+ 'workers/WorkerContext.h',
+ 'workers/WorkerContextProxy.h',
+ 'workers/WorkerLoaderProxy.h',
+ 'workers/WorkerLocation.cpp',
+ 'workers/WorkerLocation.h',
+ 'workers/WorkerMessagingProxy.cpp',
+ 'workers/WorkerMessagingProxy.h',
+ 'workers/WorkerObjectProxy.h',
+ 'workers/WorkerRunLoop.cpp',
+ 'workers/WorkerRunLoop.h',
+ 'workers/WorkerScriptLoader.cpp',
+ 'workers/WorkerScriptLoader.h',
+ 'workers/WorkerScriptLoaderClient.h',
+ 'workers/WorkerThread.cpp',
+ 'workers/WorkerThread.h',
+ 'xml/DOMParser.cpp',
+ 'xml/DOMParser.h',
+ 'xml/NativeXPathNSResolver.cpp',
+ 'xml/NativeXPathNSResolver.h',
+ 'xml/XMLHttpRequest.cpp',
+ 'xml/XMLHttpRequest.h',
+ 'xml/XMLHttpRequestException.h',
+ 'xml/XMLHttpRequestProgressEvent.h',
+ 'xml/XMLHttpRequestUpload.cpp',
+ 'xml/XMLHttpRequestUpload.h',
+ 'xml/XMLSerializer.cpp',
+ 'xml/XMLSerializer.h',
+ 'xml/XPathEvaluator.cpp',
+ 'xml/XPathEvaluator.h',
+ 'xml/XPathException.h',
+ 'xml/XPathExpression.cpp',
+ 'xml/XPathExpression.h',
+ 'xml/XPathExpressionNode.cpp',
+ 'xml/XPathExpressionNode.h',
+ 'xml/XPathFunctions.cpp',
+ 'xml/XPathFunctions.h',
+ 'xml/XPathNSResolver.cpp',
+ 'xml/XPathNSResolver.h',
+ 'xml/XPathNamespace.cpp',
+ 'xml/XPathNamespace.h',
+ 'xml/XPathNodeSet.cpp',
+ 'xml/XPathNodeSet.h',
+ 'xml/XPathParser.cpp',
+ 'xml/XPathParser.h',
+ 'xml/XPathPath.cpp',
+ 'xml/XPathPath.h',
+ 'xml/XPathPredicate.cpp',
+ 'xml/XPathPredicate.h',
+ 'xml/XPathResult.cpp',
+ 'xml/XPathResult.h',
+ 'xml/XPathStep.cpp',
+ 'xml/XPathStep.h',
+ 'xml/XPathUtil.cpp',
+ 'xml/XPathUtil.h',
+ 'xml/XPathValue.cpp',
+ 'xml/XPathValue.h',
+ 'xml/XPathVariableReference.cpp',
+ 'xml/XPathVariableReference.h',
+ 'xml/XSLImportRule.cpp',
+ 'xml/XSLImportRule.h',
+ 'xml/XSLStyleSheet.cpp',
+ 'xml/XSLStyleSheet.h',
+ 'xml/XSLTExtensions.cpp',
+ 'xml/XSLTExtensions.h',
+ 'xml/XSLTProcessor.cpp',
+ 'xml/XSLTProcessor.h',
+ 'xml/XSLTUnicodeSort.cpp',
+ 'xml/XSLTUnicodeSort.h',
+ ],
+ }
+}
diff --git a/src/3rdparty/webkit/WebCore/WebCore.order b/src/3rdparty/webkit/WebCore/WebCore.order
index ddce440..31b178c 100644
--- a/src/3rdparty/webkit/WebCore/WebCore.order
+++ b/src/3rdparty/webkit/WebCore/WebCore.order
@@ -3793,7 +3793,6 @@ __ZN7WebCore7UIEventD0Ev
__ZN7WebCore5EventD2Ev
__ZN7WebCore13ContainerNode8setFocusEb
__ZN7WebCore4Node8setFocusEb
-__ZN7WebCore14focusRingColorEv
+[WebCoreControlTintObserver controlTintDidChange]
__ZN7WebCore26usesTestModeFocusRingColorEv
__ZNK7WebCore14SVGRenderStyle17inheritedNotEqualEPKS0_
diff --git a/src/3rdparty/webkit/WebCore/WebCore.pro b/src/3rdparty/webkit/WebCore/WebCore.pro
index 486c9d0..e49ab13 100644
--- a/src/3rdparty/webkit/WebCore/WebCore.pro
+++ b/src/3rdparty/webkit/WebCore/WebCore.pro
@@ -34,15 +34,9 @@ unix {
lessThan(QT_MINOR_VERSION, 4): QMAKE_PKGCONFIG_REQUIRES += QtXml
}
-include($$OUTPUT_DIR/config.pri)
-
CONFIG -= warn_on
*-g++*:QMAKE_CXXFLAGS += -Wreturn-type -fno-strict-aliasing
-# Disable a few warnings on Windows. The warnings are also
-# disabled in WebKitLibraries/win/tools/vsprops/common.vsprops
-win32-*: QMAKE_CXXFLAGS += -wd4291 -wd4344
-
unix:!mac:*-g++*:QMAKE_CXXFLAGS += -ffunction-sections -fdata-sections
unix:!mac:*-g++*:QMAKE_LFLAGS += -Wl,--gc-sections
@@ -58,6 +52,12 @@ freebsd-*: DEFINES += HAVE_PTHREAD_NP_H
DEFINES += BUILD_WEBKIT
+# Remove whole program optimizations due to miscompilations
+win32-msvc2005|win32-msvc2008:{
+ QMAKE_CFLAGS_RELEASE -= -GL
+ QMAKE_CXXFLAGS_RELEASE -= -GL
+}
+
win32-*: DEFINES += _HAS_TR1=0
wince* {
# DEFINES += ENABLE_SVG=0 ENABLE_XPATH=0 ENABLE_XBL=0 \
@@ -76,6 +76,9 @@ win32-g++ {
QMAKE_LIBDIR_POST += $$split(TMPPATH,";")
}
+# Assume that symbian OS always comes with sqlite
+symbian:!CONFIG(QTDIR_build): CONFIG += system-sqlite
+
# Try to locate sqlite3 source
CONFIG(QTDIR_build) {
SQLITE3SRCDIR = $$QT_SOURCE_TREE/src/3rdparty/sqlite/
@@ -100,6 +103,7 @@ contains(DEFINES, ENABLE_SINGLE_THREADED=1) {
!contains(DEFINES, ENABLE_OFFLINE_WEB_APPLICATIONS=.): DEFINES += ENABLE_OFFLINE_WEB_APPLICATIONS=1
!contains(DEFINES, ENABLE_DOM_STORAGE=.): DEFINES += ENABLE_DOM_STORAGE=1
!contains(DEFINES, ENABLE_ICONDATABASE=.): DEFINES += ENABLE_ICONDATABASE=1
+!contains(DEFINES, ENABLE_CHANNEL_MESSAGING=.): DEFINES += ENABLE_CHANNEL_MESSAGING=1
# turn on SQLITE support if any of the dependent features are turned on
!contains(DEFINES, ENABLE_SQLITE=.) {
@@ -116,8 +120,10 @@ contains(DEFINES, ENABLE_SINGLE_THREADED=1) {
!contains(DEFINES, ENABLE_XSLT=.): DEFINES += ENABLE_XSLT=0
#!contains(DEFINES, ENABLE_XBL=.): DEFINES += ENABLE_XBL=1
!contains(DEFINES, ENABLE_WML=.): DEFINES += ENABLE_WML=0
+!contains(DEFINES, ENABLE_SHARED_WORKERS=.): DEFINES += ENABLE_SHARED_WORKERS=0
!contains(DEFINES, ENABLE_WORKERS=.): DEFINES += ENABLE_WORKERS=1
!contains(DEFINES, ENABLE_XHTMLMP=.): DEFINES += ENABLE_XHTMLMP=0
+!contains(DEFINES, ENABLE_DATAGRID=.): DEFINES += ENABLE_DATAGRID=1
# SVG support
!contains(DEFINES, ENABLE_SVG=0) {
@@ -131,6 +137,9 @@ contains(DEFINES, ENABLE_SINGLE_THREADED=1) {
DEFINES += ENABLE_SVG_FONTS=0 ENABLE_SVG_FOREIGN_OBJECT=0 ENABLE_SVG_ANIMATION=0 ENABLE_SVG_AS_IMAGE=0 ENABLE_SVG_USE=0
}
+# HTML5 ruby support
+!contains(DEFINES, ENABLE_RUBY=.): DEFINES += ENABLE_RUBY=1
+
# HTML5 media support
!contains(DEFINES, ENABLE_VIDEO=.) {
contains(QT_CONFIG, phonon):DEFINES += ENABLE_VIDEO=1
@@ -154,65 +163,62 @@ CONFIG(compute_defaults) {
error("Done computing defaults")
}
-# Ensure that we pick up WebCore's config.h over JavaScriptCore's
-INCLUDEPATH = $$PWD $$INCLUDEPATH
-
-include($$PWD/../JavaScriptCore/JavaScriptCore.pri)
-
RESOURCES += \
$$PWD/../WebCore/inspector/front-end/WebKit.qrc \
$$PWD/../WebCore/WebCore.qrc
-INCLUDEPATH += \
- $$PWD/platform/qt \
- $$PWD/platform/network/qt \
+
+include($$PWD/../JavaScriptCore/JavaScriptCore.pri)
+
+INCLUDEPATH = \
+ $$PWD \
+ $$PWD/accessibility \
+ $$PWD/bindings/js \
+ $$PWD/bridge \
+ $$PWD/bridge/c \
+ $$PWD/css \
+ $$PWD/dom \
+ $$PWD/dom/default \
+ $$PWD/editing \
+ $$PWD/history \
+ $$PWD/html \
+ $$PWD/inspector \
+ $$PWD/loader \
+ $$PWD/loader/appcache \
+ $$PWD/loader/archive \
+ $$PWD/loader/icon \
+ $$PWD/page \
+ $$PWD/page/animation \
+ $$PWD/platform \
+ $$PWD/platform/animation \
+ $$PWD/platform/graphics \
$$PWD/platform/graphics/filters \
$$PWD/platform/graphics/transforms \
- $$PWD/platform/graphics/qt \
+ $$PWD/platform/image-decoders \
+ $$PWD/platform/network \
+ $$PWD/platform/sql \
+ $$PWD/platform/text \
+ $$PWD/plugins \
+ $$PWD/rendering \
+ $$PWD/rendering/style \
+ $$PWD/storage \
+ $$PWD/svg \
+ $$PWD/svg/animation \
+ $$PWD/svg/graphics \
+ $$PWD/svg/graphics/filters \
+ $$PWD/wml \
+ $$PWD/workers \
+ $$PWD/xml \
+ $$GENERATED_SOURCES_DIR \
+ $$INCLUDEPATH
+
+INCLUDEPATH = \
+ $$PWD/bridge/qt \
$$PWD/page/qt \
+ $$PWD/platform/graphics/qt \
+ $$PWD/platform/network/qt \
+ $$PWD/platform/qt \
$$PWD/../WebKit/qt/WebCoreSupport \
-
-# Make sure storage/ appears before JavaScriptCore/. Both provide LocalStorage.h
-# but the header from the former include path is included across directories while
-# LocalStorage.h is included only from files within the same directory
-INCLUDEPATH = $$PWD/storage $$INCLUDEPATH
-
-INCLUDEPATH += $$PWD/accessibility \
- $$PWD/ForwardingHeaders \
- $$PWD/platform \
- $$PWD/platform/animation \
- $$PWD/platform/network \
- $$PWD/platform/graphics \
- $$PWD/svg/animation \
- $$PWD/svg/graphics \
- $$PWD/svg/graphics/filters \
- $$PWD/platform/sql \
- $$PWD/platform/text \
- $$PWD/loader \
- $$PWD/loader/appcache \
- $$PWD/loader/archive \
- $$PWD/loader/icon \
- $$PWD/css \
- $$PWD/dom \
- $$PWD/dom/default \
- $$PWD/page \
- $$PWD/page/animation \
- $$PWD/editing \
- $$PWD/rendering \
- $$PWD/rendering/style \
- $$PWD/history \
- $$PWD/inspector \
- $$PWD/xml \
- $$PWD/html \
- $$PWD/wml \
- $$PWD/workers \
- $$PWD/bindings/js \
- $$PWD/svg \
- $$PWD/platform/image-decoders \
- $$PWD/plugins \
- $$PWD/bridge \
- $$PWD/bridge/c \
- $$PWD/bridge/qt
-INCLUDEPATH *= $$GENERATED_SOURCES_DIR
+ $$INCLUDEPATH
QT += network
lessThan(QT_MINOR_VERSION, 4): QT += xml
@@ -246,7 +252,7 @@ SVGCSSPROPERTIES = $$PWD/css/SVGCSSPropertyNames.in
SVGCSSVALUES = $$PWD/css/SVGCSSValueKeywords.in
STYLESHEETS_EMBED = \
- $$PWD/css/html4.css \
+ $$PWD/css/html.css \
$$PWD/css/quirks.css \
$$PWD/css/svg.css \
$$PWD/css/view-source.css \
@@ -255,7 +261,6 @@ STYLESHEETS_EMBED = \
DOMLUT_FILES += \
bindings/js/JSDOMWindowBase.cpp \
- bindings/js/JSRGBColor.cpp \
bindings/js/JSWorkerContextBase.cpp
IDL_BINDINGS += \
@@ -276,6 +281,7 @@ IDL_BINDINGS += \
css/CSSVariablesDeclaration.idl \
css/CSSVariablesRule.idl \
css/MediaList.idl \
+ css/RGBColor.idl \
css/Rect.idl \
css/StyleSheet.idl \
css/StyleSheetList.idl \
@@ -298,6 +304,7 @@ IDL_BINDINGS += \
dom/Element.idl \
dom/Entity.idl \
dom/EntityReference.idl \
+ dom/ErrorEvent.idl \
dom/Event.idl \
dom/EventException.idl \
# dom/EventListener.idl \
@@ -404,8 +411,9 @@ IDL_BINDINGS += \
html/ImageData.idl \
html/MediaError.idl \
html/TextMetrics.idl \
+ html/ValidityState.idl \
html/VoidCallback.idl \
- inspector/InspectorController.idl \
+ inspector/InspectorBackend.idl \
page/BarInfo.idl \
page/Console.idl \
page/Coordinates.idl \
@@ -492,8 +500,8 @@ SOURCES += \
bindings/js/JSImageConstructor.cpp \
bindings/js/JSImageDataCustom.cpp \
bindings/js/JSInspectedObjectWrapper.cpp \
+ bindings/js/JSInspectorBackendCustom.cpp \
bindings/js/JSInspectorCallbackWrapper.cpp \
- bindings/js/JSInspectorControllerCustom.cpp \
bindings/js/JSLocationCustom.cpp \
bindings/js/JSNamedNodeMapCustom.cpp \
bindings/js/JSNamedNodesCollection.cpp \
@@ -505,7 +513,6 @@ SOURCES += \
bindings/js/JSNodeListCustom.cpp \
bindings/js/JSOptionConstructor.cpp \
bindings/js/JSQuarantinedObjectWrapper.cpp \
- bindings/js/JSRGBColor.cpp \
bindings/js/JSStyleSheetCustom.cpp \
bindings/js/JSStyleSheetListCustom.cpp \
bindings/js/JSTextCustom.cpp \
@@ -525,6 +532,7 @@ SOURCES += \
bindings/js/JSEventListener.cpp \
bindings/js/JSLazyEventListener.cpp \
bindings/js/JSPluginElementFunctions.cpp \
+ bindings/js/ScriptArray.cpp \
bindings/js/ScriptCachedFrameData.cpp \
bindings/js/ScriptCallFrame.cpp \
bindings/js/ScriptCallStack.cpp \
@@ -597,6 +605,7 @@ SOURCES += \
css/MediaQuery.cpp \
css/MediaQueryEvaluator.cpp \
css/MediaQueryExp.cpp \
+ css/RGBColor.cpp \
css/ShadowValue.cpp \
css/StyleBase.cpp \
css/StyleList.cpp \
@@ -633,6 +642,7 @@ SOURCES += \
dom/Element.cpp \
dom/Entity.cpp \
dom/EntityReference.cpp \
+ dom/ErrorEvent.cpp \
dom/Event.cpp \
dom/EventNames.cpp \
dom/EventTarget.cpp \
@@ -748,6 +758,7 @@ SOURCES += \
html/CollectionCache.cpp \
html/DataGridColumn.cpp \
html/DataGridColumnList.cpp \
+ html/DOMDataGridDataSource.cpp \
html/File.cpp \
html/FileList.cpp \
html/FormDataList.cpp \
@@ -833,7 +844,9 @@ SOURCES += \
html/HTMLViewSourceDocument.cpp \
html/ImageData.cpp \
html/PreloadScanner.cpp \
+ html/ValidityState.cpp \
inspector/ConsoleMessage.cpp \
+ inspector/InspectorBackend.cpp \
inspector/InspectorDatabaseResource.cpp \
inspector/InspectorDOMStorageResource.cpp \
inspector/InspectorController.cpp \
@@ -870,6 +883,7 @@ SOURCES += \
loader/MediaDocument.cpp \
loader/NavigationAction.cpp \
loader/NetscapePlugInStreamLoader.cpp \
+ loader/PlaceholderDocument.cpp \
loader/PluginDocument.cpp \
loader/ProgressTracker.cpp \
loader/Request.cpp \
@@ -987,7 +1001,6 @@ SOURCES += \
platform/Scrollbar.cpp \
platform/ScrollbarThemeComposite.cpp \
platform/ScrollView.cpp \
-# platform/SearchPopupMenu.cpp \
platform/text/SegmentedString.cpp \
platform/SharedBuffer.cpp \
platform/text/String.cpp \
@@ -1007,12 +1020,12 @@ SOURCES += \
platform/text/UnicodeRange.cpp \
platform/Widget.cpp \
plugins/PluginDatabase.cpp \
+ plugins/PluginDebug.cpp \
plugins/PluginInfoStore.cpp \
plugins/PluginPackage.cpp \
plugins/PluginStream.cpp \
plugins/PluginView.cpp \
rendering/AutoTableLayout.cpp \
- rendering/bidi.cpp \
rendering/break_lines.cpp \
rendering/CounterNode.cpp \
rendering/EllipsisBox.cpp \
@@ -1025,6 +1038,7 @@ SOURCES += \
rendering/RenderApplet.cpp \
rendering/RenderArena.cpp \
rendering/RenderBlock.cpp \
+ rendering/RenderBlockLineLayout.cpp \
rendering/RenderBox.cpp \
rendering/RenderBoxModelObject.cpp \
rendering/RenderBR.cpp \
@@ -1104,20 +1118,953 @@ SOURCES += \
xml/XMLSerializer.cpp
HEADERS += \
- $$PWD/platform/graphics/qt/StillImageQt.h \
- $$PWD/platform/qt/QWebPopup.h \
- $$PWD/../WebKit/qt/Api/qwebpluginfactory.h \
+ accessibility/AccessibilityARIAGridCell.h \
+ accessibility/AccessibilityARIAGrid.h \
+ accessibility/AccessibilityARIAGridRow.h \
+ accessibility/AccessibilityImageMapLink.h \
+ accessibility/AccessibilityListBox.h \
+ accessibility/AccessibilityListBoxOption.h \
+ accessibility/AccessibilityList.h \
+ accessibility/AccessibilityObject.h \
+ accessibility/AccessibilityRenderObject.h \
+ accessibility/AccessibilityTableCell.h \
+ accessibility/AccessibilityTableColumn.h \
+ accessibility/AccessibilityTable.h \
+ accessibility/AccessibilityTableHeaderContainer.h \
+ accessibility/AccessibilityTableRow.h \
+ accessibility/AXObjectCache.h \
+ bindings/js/CachedScriptSourceProvider.h \
+ bindings/js/DOMObjectWithSVGContext.h \
+ bindings/js/GCController.h \
+ bindings/js/JSAudioConstructor.h \
+ bindings/js/JSCSSStyleDeclarationCustom.h \
+ bindings/js/JSCustomPositionCallback.h \
+ bindings/js/JSCustomPositionErrorCallback.h \
+ bindings/js/JSCustomSQLStatementCallback.h \
+ bindings/js/JSCustomSQLStatementErrorCallback.h \
+ bindings/js/JSCustomSQLTransactionCallback.h \
+ bindings/js/JSCustomSQLTransactionErrorCallback.h \
+ bindings/js/JSCustomVoidCallback.h \
+ bindings/js/JSCustomXPathNSResolver.h \
+ bindings/js/JSDataGridDataSource.h \
+ bindings/js/JSDOMBinding.h \
+ bindings/js/JSDOMGlobalObject.h \
+ bindings/js/JSDOMWindowBase.h \
+ bindings/js/JSDOMWindowBase.h \
+ bindings/js/JSDOMWindowCustom.h \
+ bindings/js/JSDOMWindowShell.h \
+ bindings/js/JSEventListener.h \
+ bindings/js/JSEventTarget.h \
+ bindings/js/JSHistoryCustom.h \
+ bindings/js/JSHTMLAllCollection.h \
+ bindings/js/JSHTMLAppletElementCustom.h \
+ bindings/js/JSHTMLEmbedElementCustom.h \
+ bindings/js/JSHTMLInputElementCustom.h \
+ bindings/js/JSHTMLObjectElementCustom.h \
+ bindings/js/JSHTMLSelectElementCustom.h \
+ bindings/js/JSImageConstructor.h \
+ bindings/js/JSInspectedObjectWrapper.h \
+ bindings/js/JSInspectorCallbackWrapper.h \
+ bindings/js/JSLazyEventListener.h \
+ bindings/js/JSLocationCustom.h \
+ bindings/js/JSMessageChannelConstructor.h \
+ bindings/js/JSNamedNodesCollection.h \
+ bindings/js/JSNodeFilterCondition.h \
+ bindings/js/JSOptionConstructor.h \
+ bindings/js/JSPluginElementFunctions.h \
+ bindings/js/JSQuarantinedObjectWrapper.h \
+ bindings/js/JSSharedWorkerConstructor.h \
+ bindings/js/JSStorageCustom.h \
+ bindings/js/JSWebKitCSSMatrixConstructor.h \
+ bindings/js/JSWebKitPointConstructor.h \
+ bindings/js/JSWorkerConstructor.h \
+ bindings/js/JSWorkerContextBase.h \
+ bindings/js/JSWorkerContextBase.h \
+ bindings/js/JSXMLHttpRequestConstructor.h \
+ bindings/js/JSXSLTProcessorConstructor.h \
+ bindings/js/ScheduledAction.h \
+ bindings/js/ScriptArray.h \
+ bindings/js/ScriptCachedFrameData.h \
+ bindings/js/ScriptCallFrame.h \
+ bindings/js/ScriptCallStack.h \
+ bindings/js/ScriptController.h \
+ bindings/js/ScriptEventListener.h \
+ bindings/js/ScriptFunctionCall.h \
+ bindings/js/ScriptObject.h \
+ bindings/js/ScriptObjectQuarantine.h \
+ bindings/js/ScriptSourceCode.h \
+ bindings/js/ScriptSourceProvider.h \
+ bindings/js/ScriptState.h \
+ bindings/js/ScriptValue.h \
+ bindings/js/StringSourceProvider.h \
+ bindings/js/WorkerScriptController.h \
+ bridge/c/c_class.h \
+ bridge/c/c_instance.h \
+ bridge/c/c_runtime.h \
+ bridge/c/c_utility.h \
+ bridge/IdentifierRep.h \
+ bridge/NP_jsobject.h \
+ bridge/npruntime.h \
+ bridge/qt/qt_class.h \
+ bridge/qt/qt_instance.h \
+ bridge/qt/qt_runtime.h \
+ bridge/runtime_array.h \
+ bridge/runtime.h \
+ bridge/runtime_method.h \
+ bridge/runtime_object.h \
+ bridge/runtime_root.h \
+ css/CSSBorderImageValue.h \
+ css/CSSCanvasValue.h \
+ css/CSSCharsetRule.h \
+ css/CSSComputedStyleDeclaration.h \
+ css/CSSCursorImageValue.h \
+ css/CSSFontFace.h \
+ css/CSSFontFaceRule.h \
+ css/CSSFontFaceSource.h \
+ css/CSSFontFaceSrcValue.h \
+ css/CSSFontSelector.h \
+ css/CSSFunctionValue.h \
+ css/CSSGradientValue.h \
+ css/CSSHelper.h \
+ css/CSSImageGeneratorValue.h \
+ css/CSSImageValue.h \
+ css/CSSImportRule.h \
+ css/CSSInheritedValue.h \
+ css/CSSInitialValue.h \
+ css/CSSMediaRule.h \
+ css/CSSMutableStyleDeclaration.h \
+ css/CSSPageRule.h \
+ css/CSSParser.h \
+ css/CSSParserValues.h \
+ css/CSSPrimitiveValue.h \
+ css/CSSProperty.h \
+ css/CSSPropertyLonghand.h \
+ css/CSSReflectValue.h \
+ css/CSSRule.h \
+ css/CSSRuleList.h \
+ css/CSSSegmentedFontFace.h \
+ css/CSSSelector.h \
+ css/CSSSelectorList.h \
+ css/CSSStyleDeclaration.h \
+ css/CSSStyleRule.h \
+ css/CSSStyleSelector.h \
+ css/CSSStyleSheet.h \
+ css/CSSTimingFunctionValue.h \
+ css/CSSUnicodeRangeValue.h \
+ css/CSSValueList.h \
+ css/CSSVariableDependentValue.h \
+ css/CSSVariablesDeclaration.h \
+ css/CSSVariablesRule.h \
+ css/FontFamilyValue.h \
+ css/FontValue.h \
+ css/MediaFeatureNames.h \
+ css/MediaList.h \
+ css/MediaQueryEvaluator.h \
+ css/MediaQueryExp.h \
+ css/MediaQuery.h \
+ css/RGBColor.h \
+ css/ShadowValue.h \
+ css/StyleBase.h \
+ css/StyleList.h \
+ css/StyleSheet.h \
+ css/StyleSheetList.h \
+ css/WebKitCSSKeyframeRule.h \
+ css/WebKitCSSKeyframesRule.h \
+ css/WebKitCSSMatrix.h \
+ css/WebKitCSSTransformValue.h \
+ dom/ActiveDOMObject.h \
+ dom/Attr.h \
+ dom/Attribute.h \
+ dom/BeforeTextInsertedEvent.h \
+ dom/BeforeUnloadEvent.h \
+ dom/CDATASection.h \
+ dom/CharacterData.h \
+ dom/CheckedRadioButtons.h \
+ dom/ChildNodeList.h \
+ dom/ClassNames.h \
+ dom/ClassNodeList.h \
+ dom/ClientRect.h \
+ dom/ClientRectList.h \
+ dom/ClipboardEvent.h \
+ dom/Clipboard.h \
+ dom/Comment.h \
+ dom/ContainerNode.h \
+ dom/CSSMappedAttributeDeclaration.h \
+ dom/default/PlatformMessagePortChannel.h \
+ dom/DocumentFragment.h \
+ dom/Document.h \
+ dom/DocumentType.h \
+ dom/DOMImplementation.h \
+ dom/DynamicNodeList.h \
+ dom/EditingText.h \
+ dom/Element.h \
+ dom/Entity.h \
+ dom/EntityReference.h \
+ dom/Event.h \
+ dom/EventNames.h \
+ dom/EventTarget.h \
+ dom/ExceptionBase.h \
+ dom/ExceptionCode.h \
+ dom/InputElement.h \
+ dom/KeyboardEvent.h \
+ dom/MappedAttribute.h \
+ dom/MessageChannel.h \
+ dom/MessageEvent.h \
+ dom/MessagePortChannel.h \
+ dom/MessagePort.h \
+ dom/MouseEvent.h \
+ dom/MouseRelatedEvent.h \
+ dom/MutationEvent.h \
+ dom/NamedAttrMap.h \
+ dom/NamedMappedAttrMap.h \
+ dom/NameNodeList.h \
+ dom/NodeFilterCondition.h \
+ dom/NodeFilter.h \
+ dom/Node.h \
+ dom/NodeIterator.h \
+ dom/Notation.h \
+ dom/OptionElement.h \
+ dom/OptionGroupElement.h \
+ dom/OverflowEvent.h \
+ dom/Position.h \
+ dom/PositionIterator.h \
+ dom/ProcessingInstruction.h \
+ dom/ProgressEvent.h \
+ dom/QualifiedName.h \
+ dom/Range.h \
+ dom/RegisteredEventListener.h \
+ dom/ScriptElement.h \
+ dom/ScriptExecutionContext.h \
+ dom/SelectElement.h \
+ dom/SelectorNodeList.h \
+ dom/StaticNodeList.h \
+ dom/StyledElement.h \
+ dom/StyleElement.h \
+ dom/TagNodeList.h \
+ dom/TextEvent.h \
+ dom/Text.h \
+ dom/Traversal.h \
+ dom/TreeWalker.h \
+ dom/UIEvent.h \
+ dom/UIEventWithKeyState.h \
+ dom/WebKitAnimationEvent.h \
+ dom/WebKitTransitionEvent.h \
+ dom/WheelEvent.h \
+ dom/XMLTokenizer.h \
+ dom/XMLTokenizerScope.h \
+ editing/AppendNodeCommand.h \
+ editing/ApplyStyleCommand.h \
+ editing/BreakBlockquoteCommand.h \
+ editing/CompositeEditCommand.h \
+ editing/CreateLinkCommand.h \
+ editing/DeleteButtonController.h \
+ editing/DeleteButton.h \
+ editing/DeleteFromTextNodeCommand.h \
+ editing/DeleteSelectionCommand.h \
+ editing/EditCommand.h \
+ editing/Editor.h \
+ editing/FormatBlockCommand.h \
+ editing/htmlediting.h \
+ editing/HTMLInterchange.h \
+ editing/IndentOutdentCommand.h \
+ editing/InsertIntoTextNodeCommand.h \
+ editing/InsertLineBreakCommand.h \
+ editing/InsertListCommand.h \
+ editing/InsertNodeBeforeCommand.h \
+ editing/InsertParagraphSeparatorCommand.h \
+ editing/InsertTextCommand.h \
+ editing/JoinTextNodesCommand.h \
+ editing/markup.h \
+ editing/MergeIdenticalElementsCommand.h \
+ editing/ModifySelectionListLevel.h \
+ editing/MoveSelectionCommand.h \
+ editing/RemoveCSSPropertyCommand.h \
+ editing/RemoveFormatCommand.h \
+ editing/RemoveNodeCommand.h \
+ editing/RemoveNodePreservingChildrenCommand.h \
+ editing/ReplaceNodeWithSpanCommand.h \
+ editing/ReplaceSelectionCommand.h \
+ editing/SelectionController.h \
+ editing/SetNodeAttributeCommand.h \
+ editing/SmartReplace.h \
+ editing/SplitElementCommand.h \
+ editing/SplitTextNodeCommand.h \
+ editing/SplitTextNodeContainingElementCommand.h \
+ editing/TextIterator.h \
+ editing/TypingCommand.h \
+ editing/UnlinkCommand.h \
+ editing/VisiblePosition.h \
+ editing/VisibleSelection.h \
+ editing/visible_units.h \
+ editing/WrapContentsInDummySpanCommand.h \
+ history/BackForwardList.h \
+ history/CachedFrame.h \
+ history/CachedPage.h \
+ history/HistoryItem.h \
+ history/PageCache.h \
+ html/CanvasGradient.h \
+ html/CanvasPattern.h \
+ html/CanvasPixelArray.h \
+ html/CanvasRenderingContext2D.h \
+ html/CanvasStyle.h \
+ html/CollectionCache.h \
+ html/DataGridColumn.h \
+ html/DataGridColumnList.h \
+ html/DOMDataGridDataSource.h \
+ html/File.h \
+ html/FileList.h \
+ html/FormDataList.h \
+ html/HTMLAnchorElement.h \
+ html/HTMLAppletElement.h \
+ html/HTMLAreaElement.h \
+ html/HTMLAudioElement.h \
+ html/HTMLBaseElement.h \
+ html/HTMLBaseFontElement.h \
+ html/HTMLBlockquoteElement.h \
+ html/HTMLBodyElement.h \
+ html/HTMLBRElement.h \
+ html/HTMLButtonElement.h \
+ html/HTMLCanvasElement.h \
+ html/HTMLCollection.h \
+ html/HTMLDataGridCellElement.h \
+ html/HTMLDataGridColElement.h \
+ html/HTMLDataGridElement.h \
+ html/HTMLDataGridRowElement.h \
+ html/HTMLDirectoryElement.h \
+ html/HTMLDivElement.h \
+ html/HTMLDListElement.h \
+ html/HTMLDocument.h \
+ html/HTMLElement.h \
+ html/HTMLEmbedElement.h \
+ html/HTMLFieldSetElement.h \
+ html/HTMLFontElement.h \
+ html/HTMLFormCollection.h \
+ html/HTMLFormControlElement.h \
+ html/HTMLFormElement.h \
+ html/HTMLFrameElementBase.h \
+ html/HTMLFrameElement.h \
+ html/HTMLFrameOwnerElement.h \
+ html/HTMLFrameSetElement.h \
+ html/HTMLHeadElement.h \
+ html/HTMLHeadingElement.h \
+ html/HTMLHRElement.h \
+ html/HTMLHtmlElement.h \
+ html/HTMLIFrameElement.h \
+ html/HTMLImageElement.h \
+ html/HTMLImageLoader.h \
+ html/HTMLInputElement.h \
+ html/HTMLIsIndexElement.h \
+ html/HTMLKeygenElement.h \
+ html/HTMLLabelElement.h \
+ html/HTMLLegendElement.h \
+ html/HTMLLIElement.h \
+ html/HTMLLinkElement.h \
+ html/HTMLMapElement.h \
+ html/HTMLMarqueeElement.h \
+ html/HTMLMediaElement.h \
+ html/HTMLMenuElement.h \
+ html/HTMLMetaElement.h \
+ html/HTMLModElement.h \
+ html/HTMLNameCollection.h \
+ html/HTMLNoScriptElement.h \
+ html/HTMLObjectElement.h \
+ html/HTMLOListElement.h \
+ html/HTMLOptGroupElement.h \
+ html/HTMLOptionElement.h \
+ html/HTMLOptionsCollection.h \
+ html/HTMLParagraphElement.h \
+ html/HTMLParamElement.h \
+ html/HTMLParserErrorCodes.h \
+ html/HTMLParser.h \
+ html/HTMLPlugInElement.h \
+ html/HTMLPlugInImageElement.h \
+ html/HTMLPreElement.h \
+ html/HTMLQuoteElement.h \
+ html/HTMLScriptElement.h \
+ html/HTMLSelectElement.h \
+ html/HTMLSourceElement.h \
+ html/HTMLStyleElement.h \
+ html/HTMLTableCaptionElement.h \
+ html/HTMLTableCellElement.h \
+ html/HTMLTableColElement.h \
+ html/HTMLTableElement.h \
+ html/HTMLTablePartElement.h \
+ html/HTMLTableRowElement.h \
+ html/HTMLTableRowsCollection.h \
+ html/HTMLTableSectionElement.h \
+ html/HTMLTextAreaElement.h \
+ html/HTMLTitleElement.h \
+ html/HTMLTokenizer.h \
+ html/HTMLUListElement.h \
+ html/HTMLVideoElement.h \
+ html/HTMLViewSourceDocument.h \
+ html/ImageData.h \
+ html/PreloadScanner.h \
+ html/TimeRanges.h \
+ html/ValidityState.h \
+ inspector/ConsoleMessage.h \
+ inspector/InspectorBackend.h \
+ inspector/InspectorController.h \
+ inspector/InspectorDatabaseResource.h \
+ inspector/InspectorDOMStorageResource.h \
+ inspector/InspectorFrontend.h \
+ inspector/InspectorJSONObject.h \
+ inspector/InspectorResource.h \
+ inspector/JavaScriptCallFrame.h \
+ inspector/JavaScriptDebugServer.h \
+ inspector/JavaScriptProfile.h \
+ inspector/JavaScriptProfileNode.h \
+ loader/appcache/ApplicationCacheGroup.h \
+ loader/appcache/ApplicationCache.h \
+ loader/appcache/ApplicationCacheResource.h \
+ loader/appcache/ApplicationCacheStorage.h \
+ loader/appcache/DOMApplicationCache.h \
+ loader/appcache/ManifestParser.h \
+ loader/archive/ArchiveFactory.h \
+ loader/archive/ArchiveResourceCollection.h \
+ loader/archive/ArchiveResource.h \
+ loader/CachedCSSStyleSheet.h \
+ loader/CachedFont.h \
+ loader/CachedImage.h \
+ loader/CachedResourceClientWalker.h \
+ loader/CachedResource.h \
+ loader/CachedResourceHandle.h \
+ loader/CachedScript.h \
+ loader/CachedXSLStyleSheet.h \
+ loader/Cache.h \
+ loader/CrossOriginAccessControl.h \
+ loader/CrossOriginPreflightResultCache.h \
+ loader/DocLoader.h \
+ loader/DocumentLoader.h \
+ loader/DocumentThreadableLoader.h \
+ loader/FormState.h \
+ loader/FrameLoader.h \
+ loader/FTPDirectoryDocument.h \
+ loader/FTPDirectoryParser.h \
+ loader/icon/IconDatabase.h \
+ loader/icon/IconLoader.h \
+ loader/icon/IconRecord.h \
+ loader/icon/PageURLRecord.h \
+ loader/ImageDocument.h \
+ loader/ImageLoader.h \
+ loader/loader.h \
+ loader/MainResourceLoader.h \
+ loader/MediaDocument.h \
+ loader/NavigationAction.h \
+ loader/NetscapePlugInStreamLoader.h \
+ loader/PlaceholderDocument.h \
+ loader/PluginDocument.h \
+ loader/ProgressTracker.h \
+ loader/Request.h \
+ loader/ResourceLoader.h \
+ loader/SubresourceLoader.h \
+ loader/TextDocument.h \
+ loader/TextResourceDecoder.h \
+ loader/ThreadableLoader.h \
+ loader/UserStyleSheetLoader.h \
+ loader/WorkerThreadableLoader.h \
+ page/animation/AnimationBase.h \
+ page/animation/AnimationController.h \
+ page/animation/CompositeAnimation.h \
+ page/animation/ImplicitAnimation.h \
+ page/animation/KeyframeAnimation.h \
+ page/BarInfo.h \
+ page/Chrome.h \
+ page/Console.h \
+ page/ContextMenuController.h \
+ page/Coordinates.h \
+ page/DOMSelection.h \
+ page/DOMTimer.h \
+ page/DOMWindow.h \
+ page/DragController.h \
+ page/EventHandler.h \
+ page/FocusController.h \
+ page/Frame.h \
+ page/FrameTree.h \
+ page/FrameView.h \
+ page/Geolocation.h \
+ page/Geoposition.h \
+ page/History.h \
+ page/Location.h \
+ page/MouseEventWithHitTestResults.h \
+ page/NavigatorBase.h \
+ page/Navigator.h \
+ page/PageGroup.h \
+ page/PageGroupLoadDeferrer.h \
+ page/Page.h \
+ page/PrintContext.h \
+ page/Screen.h \
+ page/SecurityOrigin.h \
+ page/Settings.h \
+ page/WindowFeatures.h \
+ page/WorkerNavigator.h \
+ page/XSSAuditor.h \
+ platform/animation/Animation.h \
+ platform/animation/AnimationList.h \
+ platform/Arena.h \
+ platform/ContentType.h \
+ platform/ContextMenu.h \
+ platform/CrossThreadCopier.h \
+ platform/DeprecatedPtrListImpl.h \
+ platform/DragData.h \
+ platform/DragImage.h \
+ platform/FileChooser.h \
+ platform/GeolocationService.h \
+ platform/graphics/BitmapImage.h \
+ platform/graphics/Color.h \
+ platform/graphics/filters/FEBlend.h \
+ platform/graphics/filters/FEColorMatrix.h \
+ platform/graphics/filters/FEComponentTransfer.h \
+ platform/graphics/filters/FEComposite.h \
+ platform/graphics/filters/FilterEffect.h \
+ platform/graphics/filters/SourceAlpha.h \
+ platform/graphics/filters/SourceGraphic.h \
+ platform/graphics/FloatPoint3D.h \
+ platform/graphics/FloatPoint.h \
+ platform/graphics/FloatQuad.h \
+ platform/graphics/FloatRect.h \
+ platform/graphics/FloatSize.h \
+ platform/graphics/FontData.h \
+ platform/graphics/FontDescription.h \
+ platform/graphics/FontFamily.h \
+ platform/graphics/Font.h \
+ platform/graphics/GeneratedImage.h \
+ platform/graphics/Gradient.h \
+ platform/graphics/GraphicsContext.h \
+ platform/graphics/GraphicsTypes.h \
+ platform/graphics/Image.h \
+ platform/graphics/IntRect.h \
+ platform/graphics/MediaPlayer.h \
+ platform/graphics/Path.h \
+ platform/graphics/PathTraversalState.h \
+ platform/graphics/Pattern.h \
+ platform/graphics/Pen.h \
+ platform/graphics/qt/FontCustomPlatformData.h \
+ platform/graphics/qt/ImageDecoderQt.h \
+ platform/graphics/qt/StillImageQt.h \
+ platform/graphics/SegmentedFontData.h \
+ platform/graphics/SimpleFontData.h \
+ platform/graphics/transforms/Matrix3DTransformOperation.h \
+ platform/graphics/transforms/MatrixTransformOperation.h \
+ platform/graphics/transforms/PerspectiveTransformOperation.h \
+ platform/graphics/transforms/RotateTransformOperation.h \
+ platform/graphics/transforms/ScaleTransformOperation.h \
+ platform/graphics/transforms/SkewTransformOperation.h \
+ platform/graphics/transforms/TransformationMatrix.h \
+ platform/graphics/transforms/TransformOperations.h \
+ platform/graphics/transforms/TranslateTransformOperation.h \
+ platform/KURL.h \
+ platform/Length.h \
+ platform/LinkHash.h \
+ platform/Logging.h \
+ platform/MIMETypeRegistry.h \
+ platform/network/AuthenticationChallengeBase.h \
+ platform/network/Credential.h \
+ platform/network/FormDataBuilder.h \
+ platform/network/FormData.h \
+ platform/network/HTTPHeaderMap.h \
+ platform/network/HTTPParsers.h \
+ platform/network/NetworkStateNotifier.h \
+ platform/network/ProtectionSpace.h \
+ platform/network/qt/QNetworkReplyHandler.h \
+ platform/network/ResourceErrorBase.h \
+ platform/network/ResourceHandle.h \
+ platform/network/ResourceRequestBase.h \
+ platform/network/ResourceResponseBase.h \
+ platform/qt/ClipboardQt.h \
+ platform/qt/QWebPopup.h \
+ platform/qt/RenderThemeQt.h \
+ platform/qt/ScrollbarThemeQt.h \
+ platform/Scrollbar.h \
+ platform/ScrollbarThemeComposite.h \
+ platform/ScrollView.h \
+ platform/SharedBuffer.h \
+ platform/sql/SQLiteDatabase.h \
+ platform/sql/SQLiteFileSystem.h \
+ platform/sql/SQLiteStatement.h \
+ platform/sql/SQLiteTransaction.h \
+ platform/sql/SQLValue.h \
+ platform/text/AtomicString.h \
+ platform/text/Base64.h \
+ platform/text/BidiContext.h \
+ platform/text/CString.h \
+ platform/text/qt/TextCodecQt.h \
+ platform/text/RegularExpression.h \
+ platform/text/SegmentedString.h \
+ platform/text/StringBuilder.h \
+ platform/text/StringImpl.h \
+ platform/text/TextCodec.h \
+ platform/text/TextCodecLatin1.h \
+ platform/text/TextCodecUserDefined.h \
+ platform/text/TextCodecUTF16.h \
+ platform/text/TextEncoding.h \
+ platform/text/TextEncodingRegistry.h \
+ platform/text/TextStream.h \
+ platform/text/UnicodeRange.h \
+ platform/ThreadGlobalData.h \
+ platform/ThreadTimers.h \
+ platform/Timer.h \
+ platform/Widget.h \
+ plugins/MimeTypeArray.h \
+ plugins/MimeType.h \
+ plugins/PluginArray.h \
+ plugins/PluginDatabase.h \
+ plugins/PluginData.h \
+ plugins/PluginDebug.h \
+ plugins/Plugin.h \
+ plugins/PluginInfoStore.h \
+ plugins/PluginMainThreadScheduler.h \
+ plugins/PluginPackage.h \
+ plugins/PluginStream.h \
+ plugins/PluginView.h \
+ plugins/win/PluginMessageThrottlerWin.h \
+ rendering/AutoTableLayout.h \
+ rendering/break_lines.h \
+ rendering/CounterNode.h \
+ rendering/EllipsisBox.h \
+ rendering/FixedTableLayout.h \
+ rendering/HitTestResult.h \
+ rendering/InlineBox.h \
+ rendering/InlineFlowBox.h \
+ rendering/InlineTextBox.h \
+ rendering/LayoutState.h \
+ rendering/MediaControlElements.h \
+ rendering/PointerEventsHitRules.h \
+ rendering/RenderApplet.h \
+ rendering/RenderArena.h \
+ rendering/RenderBlock.h \
+ rendering/RenderBox.h \
+ rendering/RenderBoxModelObject.h \
+ rendering/RenderBR.h \
+ rendering/RenderButton.h \
+ rendering/RenderCounter.h \
+ rendering/RenderDataGrid.h \
+ rendering/RenderFieldset.h \
+ rendering/RenderFileUploadControl.h \
+ rendering/RenderFlexibleBox.h \
+ rendering/RenderForeignObject.h \
+ rendering/RenderFrame.h \
+ rendering/RenderFrameSet.h \
+ rendering/RenderHTMLCanvas.h \
+ rendering/RenderImageGeneratedContent.h \
+ rendering/RenderImage.h \
+ rendering/RenderInline.h \
+ rendering/RenderLayer.h \
+ rendering/RenderLineBoxList.h \
+ rendering/RenderListBox.h \
+ rendering/RenderListItem.h \
+ rendering/RenderListMarker.h \
+ rendering/RenderMarquee.h \
+ rendering/RenderMedia.h \
+ rendering/RenderMenuList.h \
+ rendering/RenderObjectChildList.h \
+ rendering/RenderObject.h \
+ rendering/RenderPart.h \
+ rendering/RenderPartObject.h \
+ rendering/RenderPath.h \
+ rendering/RenderReplaced.h \
+ rendering/RenderReplica.h \
+ rendering/RenderScrollbar.h \
+ rendering/RenderScrollbarPart.h \
+ rendering/RenderScrollbarTheme.h \
+ rendering/RenderSlider.h \
+ rendering/RenderSVGBlock.h \
+ rendering/RenderSVGContainer.h \
+ rendering/RenderSVGGradientStop.h \
+ rendering/RenderSVGHiddenContainer.h \
+ rendering/RenderSVGImage.h \
+ rendering/RenderSVGInline.h \
+ rendering/RenderSVGInlineText.h \
+ rendering/RenderSVGModelObject.h \
+ rendering/RenderSVGRoot.h \
+ rendering/RenderSVGText.h \
+ rendering/RenderSVGTextPath.h \
+ rendering/RenderSVGTransformableContainer.h \
+ rendering/RenderSVGTSpan.h \
+ rendering/RenderSVGViewportContainer.h \
+ rendering/RenderTableCell.h \
+ rendering/RenderTableCol.h \
+ rendering/RenderTable.h \
+ rendering/RenderTableRow.h \
+ rendering/RenderTableSection.h \
+ rendering/RenderTextControl.h \
+ rendering/RenderTextControlMultiLine.h \
+ rendering/RenderTextControlSingleLine.h \
+ rendering/RenderTextFragment.h \
+ rendering/RenderText.h \
+ rendering/RenderTheme.h \
+ rendering/RenderTreeAsText.h \
+ rendering/RenderVideo.h \
+ rendering/RenderView.h \
+ rendering/RenderWidget.h \
+ rendering/RenderWordBreak.h \
+ rendering/RootInlineBox.h \
+ rendering/ScrollBehavior.h \
+ rendering/style/BindingURI.h \
+ rendering/style/ContentData.h \
+ rendering/style/CounterDirectives.h \
+ rendering/style/CursorData.h \
+ rendering/style/CursorList.h \
+ rendering/style/FillLayer.h \
+ rendering/style/KeyframeList.h \
+ rendering/style/NinePieceImage.h \
+ rendering/style/RenderStyle.h \
+ rendering/style/ShadowData.h \
+ rendering/style/StyleBackgroundData.h \
+ rendering/style/StyleBoxData.h \
+ rendering/style/StyleCachedImage.h \
+ rendering/style/StyleFlexibleBoxData.h \
+ rendering/style/StyleGeneratedImage.h \
+ rendering/style/StyleInheritedData.h \
+ rendering/style/StyleMarqueeData.h \
+ rendering/style/StyleMultiColData.h \
+ rendering/style/StyleRareInheritedData.h \
+ rendering/style/StyleRareNonInheritedData.h \
+ rendering/style/StyleReflection.h \
+ rendering/style/StyleSurroundData.h \
+ rendering/style/StyleTransformData.h \
+ rendering/style/StyleVisualData.h \
+ rendering/style/SVGRenderStyleDefs.h \
+ rendering/style/SVGRenderStyle.h \
+ rendering/SVGCharacterLayoutInfo.h \
+ rendering/SVGInlineFlowBox.h \
+ rendering/SVGInlineTextBox.h \
+ rendering/SVGRenderSupport.h \
+ rendering/SVGRenderTreeAsText.h \
+ rendering/SVGRootInlineBox.h \
+ rendering/TextControlInnerElements.h \
+ rendering/TransformState.h \
+ svg/animation/SMILTimeContainer.h \
+ svg/animation/SMILTime.h \
+ svg/animation/SVGSMILElement.h \
+ svg/ColorDistance.h \
+ svg/graphics/filters/SVGFEConvolveMatrix.h \
+ svg/graphics/filters/SVGFEDiffuseLighting.h \
+ svg/graphics/filters/SVGFEDisplacementMap.h \
+ svg/graphics/filters/SVGFEFlood.h \
+ svg/graphics/filters/SVGFEGaussianBlur.h \
+ svg/graphics/filters/SVGFEImage.h \
+ svg/graphics/filters/SVGFEMerge.h \
+ svg/graphics/filters/SVGFEMorphology.h \
+ svg/graphics/filters/SVGFEOffset.h \
+ svg/graphics/filters/SVGFESpecularLighting.h \
+ svg/graphics/filters/SVGFETile.h \
+ svg/graphics/filters/SVGFETurbulence.h \
+ svg/graphics/filters/SVGFilterBuilder.h \
+ svg/graphics/filters/SVGFilter.h \
+ svg/graphics/filters/SVGLightSource.h \
+ svg/graphics/SVGImage.h \
+ svg/graphics/SVGPaintServerGradient.h \
+ svg/graphics/SVGPaintServer.h \
+ svg/graphics/SVGPaintServerLinearGradient.h \
+ svg/graphics/SVGPaintServerPattern.h \
+ svg/graphics/SVGPaintServerRadialGradient.h \
+ svg/graphics/SVGPaintServerSolid.h \
+ svg/graphics/SVGResourceClipper.h \
+ svg/graphics/SVGResourceFilter.h \
+ svg/graphics/SVGResource.h \
+ svg/graphics/SVGResourceMarker.h \
+ svg/graphics/SVGResourceMasker.h \
+ svg/SVGAElement.h \
+ svg/SVGAltGlyphElement.h \
+ svg/SVGAngle.h \
+ svg/SVGAnimateColorElement.h \
+ svg/SVGAnimatedPathData.h \
+ svg/SVGAnimatedPoints.h \
+ svg/SVGAnimateElement.h \
+ svg/SVGAnimateMotionElement.h \
+ svg/SVGAnimateTransformElement.h \
+ svg/SVGAnimationElement.h \
+ svg/SVGCircleElement.h \
+ svg/SVGClipPathElement.h \
+ svg/SVGColor.h \
+ svg/SVGComponentTransferFunctionElement.h \
+ svg/SVGCursorElement.h \
+ svg/SVGDefinitionSrcElement.h \
+ svg/SVGDefsElement.h \
+ svg/SVGDescElement.h \
+ svg/SVGDocumentExtensions.h \
+ svg/SVGDocument.h \
+ svg/SVGElement.h \
+ svg/SVGElementInstance.h \
+ svg/SVGElementInstanceList.h \
+ svg/SVGEllipseElement.h \
+ svg/SVGExternalResourcesRequired.h \
+ svg/SVGFEBlendElement.h \
+ svg/SVGFEColorMatrixElement.h \
+ svg/SVGFEComponentTransferElement.h \
+ svg/SVGFECompositeElement.h \
+ svg/SVGFEDiffuseLightingElement.h \
+ svg/SVGFEDisplacementMapElement.h \
+ svg/SVGFEDistantLightElement.h \
+ svg/SVGFEFloodElement.h \
+ svg/SVGFEFuncAElement.h \
+ svg/SVGFEFuncBElement.h \
+ svg/SVGFEFuncGElement.h \
+ svg/SVGFEFuncRElement.h \
+ svg/SVGFEGaussianBlurElement.h \
+ svg/SVGFEImageElement.h \
+ svg/SVGFELightElement.h \
+ svg/SVGFEMergeElement.h \
+ svg/SVGFEMergeNodeElement.h \
+ svg/SVGFEOffsetElement.h \
+ svg/SVGFEPointLightElement.h \
+ svg/SVGFESpecularLightingElement.h \
+ svg/SVGFESpotLightElement.h \
+ svg/SVGFETileElement.h \
+ svg/SVGFETurbulenceElement.h \
+ svg/SVGFilterElement.h \
+ svg/SVGFilterPrimitiveStandardAttributes.h \
+ svg/SVGFitToViewBox.h \
+ svg/SVGFontData.h \
+ svg/SVGFontElement.h \
+ svg/SVGFontFaceElement.h \
+ svg/SVGFontFaceFormatElement.h \
+ svg/SVGFontFaceNameElement.h \
+ svg/SVGFontFaceSrcElement.h \
+ svg/SVGFontFaceUriElement.h \
+ svg/SVGForeignObjectElement.h \
+ svg/SVGGElement.h \
+ svg/SVGGlyphElement.h \
+ svg/SVGGradientElement.h \
+ svg/SVGHKernElement.h \
+ svg/SVGImageElement.h \
+ svg/SVGImageLoader.h \
+ svg/SVGLangSpace.h \
+ svg/SVGLength.h \
+ svg/SVGLengthList.h \
+ svg/SVGLinearGradientElement.h \
+ svg/SVGLineElement.h \
+ svg/SVGLocatable.h \
+ svg/SVGMarkerElement.h \
+ svg/SVGMaskElement.h \
+ svg/SVGMetadataElement.h \
+ svg/SVGMissingGlyphElement.h \
+ svg/SVGMPathElement.h \
+ svg/SVGNumberList.h \
+ svg/SVGPaint.h \
+ svg/SVGParserUtilities.h \
+ svg/SVGPathElement.h \
+ svg/SVGPathSegArc.h \
+ svg/SVGPathSegClosePath.h \
+ svg/SVGPathSegCurvetoCubic.h \
+ svg/SVGPathSegCurvetoCubicSmooth.h \
+ svg/SVGPathSegCurvetoQuadratic.h \
+ svg/SVGPathSegCurvetoQuadraticSmooth.h \
+ svg/SVGPathSegLineto.h \
+ svg/SVGPathSegLinetoHorizontal.h \
+ svg/SVGPathSegLinetoVertical.h \
+ svg/SVGPathSegList.h \
+ svg/SVGPathSegMoveto.h \
+ svg/SVGPatternElement.h \
+ svg/SVGPointList.h \
+ svg/SVGPolyElement.h \
+ svg/SVGPolygonElement.h \
+ svg/SVGPolylineElement.h \
+ svg/SVGPreserveAspectRatio.h \
+ svg/SVGRadialGradientElement.h \
+ svg/SVGRectElement.h \
+ svg/SVGScriptElement.h \
+ svg/SVGSetElement.h \
+ svg/SVGStopElement.h \
+ svg/SVGStringList.h \
+ svg/SVGStylable.h \
+ svg/SVGStyledElement.h \
+ svg/SVGStyledLocatableElement.h \
+ svg/SVGStyledTransformableElement.h \
+ svg/SVGStyleElement.h \
+ svg/SVGSVGElement.h \
+ svg/SVGSwitchElement.h \
+ svg/SVGSymbolElement.h \
+ svg/SVGTests.h \
+ svg/SVGTextContentElement.h \
+ svg/SVGTextElement.h \
+ svg/SVGTextPathElement.h \
+ svg/SVGTextPositioningElement.h \
+ svg/SVGTitleElement.h \
+ svg/SVGTransformable.h \
+ svg/SVGTransformDistance.h \
+ svg/SVGTransform.h \
+ svg/SVGTransformList.h \
+ svg/SVGTRefElement.h \
+ svg/SVGTSpanElement.h \
+ svg/SVGURIReference.h \
+ svg/SVGUseElement.h \
+ svg/SVGViewElement.h \
+ svg/SVGViewSpec.h \
+ svg/SVGZoomAndPan.h \
+ svg/SVGZoomEvent.h \
+ wml/WMLAccessElement.h \
+ wml/WMLAElement.h \
+ wml/WMLAnchorElement.h \
+ wml/WMLBRElement.h \
+ wml/WMLCardElement.h \
+ wml/WMLDocument.h \
+ wml/WMLDoElement.h \
+ wml/WMLElement.h \
+ wml/WMLErrorHandling.h \
+ wml/WMLEventHandlingElement.h \
+ wml/WMLFieldSetElement.h \
+ wml/WMLFormControlElement.h \
+ wml/WMLGoElement.h \
+ wml/WMLImageElement.h \
+ wml/WMLImageLoader.h \
+ wml/WMLInputElement.h \
+ wml/WMLInsertedLegendElement.h \
+ wml/WMLIntrinsicEvent.h \
+ wml/WMLIntrinsicEventHandler.h \
+ wml/WMLMetaElement.h \
+ wml/WMLNoopElement.h \
+ wml/WMLOnEventElement.h \
+ wml/WMLOptGroupElement.h \
+ wml/WMLOptionElement.h \
+ wml/WMLPageState.h \
+ wml/WMLPElement.h \
+ wml/WMLPostfieldElement.h \
+ wml/WMLPrevElement.h \
+ wml/WMLRefreshElement.h \
+ wml/WMLSelectElement.h \
+ wml/WMLSetvarElement.h \
+ wml/WMLTableElement.h \
+ wml/WMLTaskElement.h \
+ wml/WMLTemplateElement.h \
+ wml/WMLTimerElement.h \
+ wml/WMLVariables.h \
+ workers/AbstractWorker.h \
+ workers/SharedWorker.h \
+ workers/WorkerContext.h \
+ workers/Worker.h \
+ workers/WorkerLocation.h \
+ workers/WorkerMessagingProxy.h \
+ workers/WorkerRunLoop.h \
+ workers/WorkerScriptLoader.h \
+ workers/WorkerThread.h \
+ xml/DOMParser.h \
+ xml/NativeXPathNSResolver.h \
+ xml/XMLHttpRequest.h \
+ xml/XMLHttpRequestUpload.h \
+ xml/XMLSerializer.h \
+ xml/XPathEvaluator.h \
+ xml/XPathExpression.h \
+ xml/XPathExpressionNode.h \
+ xml/XPathFunctions.h \
+ xml/XPathNamespace.h \
+ xml/XPathNodeSet.h \
+ xml/XPathNSResolver.h \
+ xml/XPathParser.h \
+ xml/XPathPath.h \
+ xml/XPathPredicate.h \
+ xml/XPathResult.h \
+ xml/XPathStep.h \
+ xml/XPathUtil.h \
+ xml/XPathValue.h \
+ xml/XPathVariableReference.h \
+ xml/XSLImportRule.h \
+ xml/XSLStyleSheet.h \
+ xml/XSLTExtensions.h \
+ xml/XSLTProcessor.h \
+ xml/XSLTUnicodeSort.h \
$$PWD/../WebKit/qt/WebCoreSupport/FrameLoaderClientQt.h \
- $$PWD/platform/network/qt/QNetworkReplyHandler.h \
- $$PWD/rendering/style/CursorData.h \
- $$PWD/rendering/style/CursorList.h \
- $$PWD/rendering/style/StyleInheritedData.h \
- $$PWD/rendering/style/StyleRareInheritedData.h \
- $$PWD/rendering/style/StyleRareNonInheritedData.h \
- $$PWD/rendering/style/StyleReflection.h \
- $$PWD/../WebKit/qt/Api/qwebsecurityorigin.h \
- $$PWD/../WebKit/qt/Api/qwebdatabase.h
-
SOURCES += \
accessibility/qt/AccessibilityObjectQt.cpp \
@@ -1293,35 +2240,43 @@ contains(DEFINES, ENABLE_NETSCAPE_PLUGIN_API=1) {
plugins/PluginViewNone.cpp
}
+contains(DEFINES, ENABLE_CHANNEL_MESSAGING=1) {
+ FEATURE_DEFINES_JAVASCRIPT += ENABLE_CHANNEL_MESSAGING=1
+}
+
contains(DEFINES, ENABLE_DASHBOARD_SUPPORT=0) {
DASHBOARDSUPPORTCSSPROPERTIES -= $$PWD/css/DashboardSupportCSSPropertyNames.in
}
+contains(DEFINES, ENABLE_DATAGRID=1) {
+ FEATURE_DEFINES_JAVASCRIPT += ENABLE_DATAGRID=1
+}
+
contains(DEFINES, ENABLE_SQLITE=1) {
- # somewhat copied from src/plugins/sqldrivers/sqlite/sqlite.pro
- CONFIG(QTDIR_build):system-sqlite {
- LIBS *= $$QT_LFLAGS_SQLITE
- QMAKE_CXXFLAGS *= $$QT_CFLAGS_SQLITE
- } else {
- exists( $${SQLITE3SRCDIR}/sqlite3.c ) {
- # we have source - use it
- CONFIG(release, debug|release):DEFINES *= NDEBUG
- DEFINES += SQLITE_CORE SQLITE_OMIT_LOAD_EXTENSION SQLITE_OMIT_COMPLETE
- contains(DEFINES, ENABLE_SINGLE_THREADED=1) {
- DEFINES+=SQLITE_THREADSAFE=0
- }
+ !system-sqlite:exists( $${SQLITE3SRCDIR}/sqlite3.c ) {
+ # Build sqlite3 into WebCore from source
+ # somewhat copied from $$QT_SOURCE_TREE/src/plugins/sqldrivers/sqlite/sqlite.pro
INCLUDEPATH += $${SQLITE3SRCDIR}
SOURCES += $${SQLITE3SRCDIR}/sqlite3.c
+ DEFINES += SQLITE_CORE SQLITE_OMIT_LOAD_EXTENSION SQLITE_OMIT_COMPLETE
+ CONFIG(release, debug|release): DEFINES *= NDEBUG
+ contains(DEFINES, ENABLE_SINGLE_THREADED=1): DEFINES += SQLITE_THREADSAFE=0
+ } else {
+ # Use sqlite3 from the underlying OS
+ CONFIG(QTDIR_build) {
+ QMAKE_CXXFLAGS *= $$QT_CFLAGS_SQLITE
+ LIBS *= $$QT_LFLAGS_SQLITE
} else {
- # fall back to platform library
- INCLUDEPATH += $$[QT_INSTALL_PREFIX]/src/3rdparty/sqlite/
- LIBS += -lsqlite3
+ INCLUDEPATH += $${SQLITE3SRCDIR}
+ symbian: LIBS += -lsqlite3.lib
+ else: LIBS += -lsqlite3
}
}
SOURCES += \
platform/sql/SQLiteAuthorizer.cpp \
platform/sql/SQLiteDatabase.cpp \
+ platform/sql/SQLiteFileSystem.cpp \
platform/sql/SQLiteStatement.cpp \
platform/sql/SQLiteTransaction.cpp \
platform/sql/SQLValue.cpp \
@@ -1364,14 +2319,28 @@ contains(DEFINES, ENABLE_DOM_STORAGE=1) {
FEATURE_DEFINES_JAVASCRIPT += ENABLE_DOM_STORAGE=1
HEADERS += \
+ storage/ChangeVersionWrapper.h \
+ storage/DatabaseAuthorizer.h \
+ storage/Database.h \
+ storage/DatabaseTask.h \
+ storage/DatabaseThread.h \
+ storage/DatabaseTracker.h \
storage/LocalStorageTask.h \
storage/LocalStorageThread.h \
- storage/Storage.h \
+ storage/OriginQuotaManager.h \
+ storage/OriginUsageRecord.h \
+ storage/SQLResultSet.h \
+ storage/SQLResultSetRowList.h \
+ storage/SQLStatement.h \
+ storage/SQLTransaction.h \
storage/StorageArea.h \
+ storage/StorageAreaImpl.h \
storage/StorageAreaSync.h \
storage/StorageEvent.h \
+ storage/Storage.h \
storage/StorageMap.h \
storage/StorageNamespace.h \
+ storage/StorageNamespaceImpl.h \
storage/StorageSyncManager.h
SOURCES += \
@@ -1380,10 +2349,12 @@ contains(DEFINES, ENABLE_DOM_STORAGE=1) {
storage/LocalStorageThread.cpp \
storage/Storage.cpp \
storage/StorageArea.cpp \
+ storage/StorageAreaImpl.cpp \
storage/StorageAreaSync.cpp \
storage/StorageEvent.cpp \
storage/StorageMap.cpp \
storage/StorageNamespace.cpp \
+ storage/StorageNamespaceImpl.cpp \
storage/StorageSyncManager.cpp
IDL_BINDINGS += \
@@ -1406,11 +2377,15 @@ contains(DEFINES, ENABLE_WORKERS=1) {
IDL_BINDINGS += \
page/WorkerNavigator.idl \
+ workers/AbstractWorker.idl \
+ workers/DedicatedWorkerContext.idl \
workers/Worker.idl \
workers/WorkerContext.idl \
workers/WorkerLocation.idl
SOURCES += \
+ bindings/js/JSAbstractWorkerCustom.cpp \
+ bindings/js/JSDedicatedWorkerContextCustom.cpp \
bindings/js/JSWorkerConstructor.cpp \
bindings/js/JSWorkerContextBase.cpp \
bindings/js/JSWorkerContextCustom.cpp \
@@ -1418,6 +2393,8 @@ contains(DEFINES, ENABLE_WORKERS=1) {
bindings/js/WorkerScriptController.cpp \
loader/WorkerThreadableLoader.cpp \
page/WorkerNavigator.cpp \
+ workers/AbstractWorker.cpp \
+ workers/DedicatedWorkerContext.cpp \
workers/Worker.cpp \
workers/WorkerContext.cpp \
workers/WorkerLocation.cpp \
@@ -1427,6 +2404,18 @@ contains(DEFINES, ENABLE_WORKERS=1) {
workers/WorkerScriptLoader.cpp
}
+contains(DEFINES, SHARED_WORKERS=1) {
+ FEATURE_DEFINES_JAVASCRIPT += ENABLE_SHARED_WORKERS=1
+
+ IDL_BINDINGS += \
+ workers/SharedWorker.idl
+
+ SOURCES += \
+ bindings/js/JSSharedWorkerConstructor.cpp \
+ bindings/js/JSSharedWorkerCustom.cpp \
+ workers/SharedWorker.cpp
+}
+
contains(DEFINES, ENABLE_VIDEO=1) {
FEATURE_DEFINES_JAVASCRIPT += ENABLE_VIDEO=1
@@ -1988,6 +2977,7 @@ contains(DEFINES, ENABLE_SVG=1) {
cssprops.input = WALDOCSSPROPS
cssprops.commands = perl -ne \"print lc\" ${QMAKE_FILE_NAME} $$DASHBOARDSUPPORTCSSPROPERTIES $$SVGCSSPROPERTIES > $${GENERATED_SOURCES_DIR}$${QMAKE_DIR_SEP}${QMAKE_FILE_BASE}.in && cd $$GENERATED_SOURCES_DIR && perl $$PWD/css/makeprop.pl && $(DEL_FILE) ${QMAKE_FILE_BASE}.strip ${QMAKE_FILE_BASE}.in ${QMAKE_FILE_BASE}.gperf
cssprops.CONFIG = target_predeps no_link
+ cssprops.variable_out =
cssprops.depend = ${QMAKE_FILE_NAME} DASHBOARDSUPPORTCSSPROPERTIES SVGCSSPROPERTIES
addExtraCompilerWithHeader(cssprops)
@@ -1996,6 +2986,7 @@ contains(DEFINES, ENABLE_SVG=1) {
cssvalues.input = WALDOCSSVALUES
cssvalues.commands = perl -ne \"print lc\" ${QMAKE_FILE_NAME} $$SVGCSSVALUES > $${GENERATED_SOURCES_DIR}$${QMAKE_DIR_SEP}${QMAKE_FILE_BASE}.in && cd $$GENERATED_SOURCES_DIR && perl $$PWD/css/makevalues.pl && $(DEL_FILE) ${QMAKE_FILE_BASE}.in ${QMAKE_FILE_BASE}.strip ${QMAKE_FILE_BASE}.gperf
cssvalues.CONFIG = target_predeps no_link
+ cssvalues.variable_out =
cssvalues.depend = ${QMAKE_FILE_NAME} SVGCSSVALUES
addExtraCompilerWithHeader(cssvalues)
} else {
@@ -2004,6 +2995,7 @@ contains(DEFINES, ENABLE_SVG=1) {
cssprops.input = WALDOCSSPROPS
cssprops.commands = perl -ne \"print lc\" ${QMAKE_FILE_NAME} $$DASHBOARDSUPPORTCSSPROPERTIES > $${GENERATED_SOURCES_DIR}$${QMAKE_DIR_SEP}${QMAKE_FILE_BASE}.in && cd $$GENERATED_SOURCES_DIR && perl $$PWD/css/makeprop.pl && $(DEL_FILE) ${QMAKE_FILE_BASE}.strip ${QMAKE_FILE_BASE}.in ${QMAKE_FILE_BASE}.gperf
cssprops.CONFIG = target_predeps no_link
+ cssprops.variable_out =
cssprops.depend = ${QMAKE_FILE_NAME} DASHBOARDSUPPORTCSSPROPERTIES
addExtraCompilerWithHeader(cssprops)
@@ -2012,6 +3004,7 @@ contains(DEFINES, ENABLE_SVG=1) {
cssvalues.input = WALDOCSSVALUES
cssvalues.commands = perl -ne \"print lc\" ${QMAKE_FILE_NAME} > $${GENERATED_SOURCES_DIR}$${QMAKE_DIR_SEP}${QMAKE_FILE_BASE}.in && cd $$GENERATED_SOURCES_DIR && perl $$PWD/css/makevalues.pl && $(DEL_FILE) ${QMAKE_FILE_BASE}.in ${QMAKE_FILE_BASE}.strip ${QMAKE_FILE_BASE}.gperf
cssvalues.CONFIG = target_predeps no_link
+ cssvalues.variable_out =
cssvalues.clean = ${QMAKE_FILE_OUT} ${QMAKE_VAR_GENERATED_SOURCES_DIR_SLASH}${QMAKE_FILE_BASE}.h
addExtraCompiler(cssvalues)
}
@@ -2068,6 +3061,7 @@ tokenizer.commands = flex -t < ${QMAKE_FILE_NAME} | perl $$PWD/css/maketokenizer
tokenizer.dependency_type = TYPE_C
tokenizer.input = TOKENIZER
tokenizer.CONFIG += target_predeps no_link
+tokenizer.variable_out =
addExtraCompiler(tokenizer)
# GENERATOR 4: CSS grammar
@@ -2122,6 +3116,7 @@ entities.commands = gperf -a -L ANSI-C -C -G -c -o -t --key-positions="*" -N fin
entities.input = ENTITIES_GPERF
entities.dependency_type = TYPE_C
entities.CONFIG = target_predeps no_link
+entities.variable_out =
entities.clean = ${QMAKE_FILE_OUT}
addExtraCompiler(entities)
@@ -2131,6 +3126,7 @@ doctypestrings.input = DOCTYPESTRINGS
doctypestrings.commands = perl -e \"print \'$${LITERAL_HASH}include <string.h>\';\" > ${QMAKE_FILE_OUT} && echo // bogus >> ${QMAKE_FILE_OUT} && gperf -CEot -L ANSI-C --key-positions="*" -N findDoctypeEntry -F ,PubIDInfo::eAlmostStandards,PubIDInfo::eAlmostStandards < ${QMAKE_FILE_NAME} >> ${QMAKE_FILE_OUT}
doctypestrings.dependency_type = TYPE_C
doctypestrings.CONFIG += target_predeps no_link
+doctypestrings.variable_out =
doctypestrings.clean = ${QMAKE_FILE_OUT}
addExtraCompiler(doctypestrings)
@@ -2139,6 +3135,7 @@ colordata.output = $${GENERATED_SOURCES_DIR}$${QMAKE_DIR_SEP}ColorData.c
colordata.commands = perl -e \"print \'$${LITERAL_HASH}include <string.h>\';\" > ${QMAKE_FILE_OUT} && echo // bogus >> ${QMAKE_FILE_OUT} && gperf -CDEot -L ANSI-C --key-positions="*" -N findColor -D -s 2 < ${QMAKE_FILE_NAME} >> ${QMAKE_FILE_OUT}
colordata.input = COLORDAT_GPERF
colordata.CONFIG = target_predeps no_link
+colordata.variable_out =
addExtraCompiler(colordata)
# GENERATOR 9:
@@ -2168,8 +3165,6 @@ HEADERS += $$WEBKIT_API_HEADERS
target.path = $$[QT_INSTALL_LIBS]
headers.files = $$WEBKIT_API_HEADERS
headers.path = $$[QT_INSTALL_HEADERS]/QtWebKit
- prf.files = $$PWD/../WebKit/qt/Api/qtwebkit.prf
- prf.path = $$[QT_INSTALL_PREFIX]/mkspecs/features
VERSION=$${QT_MAJOR_VERSION}.$${QT_MINOR_VERSION}.$${QT_PATCH_VERSION}
@@ -2182,7 +3177,7 @@ HEADERS += $$WEBKIT_API_HEADERS
}
- INSTALLS += target headers prf
+ INSTALLS += target headers
unix {
CONFIG += create_pc create_prl
diff --git a/src/3rdparty/webkit/WebCore/WebCorePrefix.h b/src/3rdparty/webkit/WebCore/WebCorePrefix.h
index e857ecc..c0d1e70 100644
--- a/src/3rdparty/webkit/WebCore/WebCorePrefix.h
+++ b/src/3rdparty/webkit/WebCore/WebCorePrefix.h
@@ -18,8 +18,8 @@
*
*/
-/* This prefix file is for use on Mac OS X and Windows only. It should contain only:
- * 1) files to precompile on Mac OS X and Windows for faster builds
+/* This prefix file should contain only:
+ * 1) files to precompile for faster builds
* 2) in one case at least: OS-X-specific performance bug workarounds
* 3) the special trick to catch us using new or delete without including "config.h"
* The project should be able to build without this header, although we rarely test that.
@@ -45,9 +45,11 @@
#define WINVER 0x0500
#endif
+#ifndef WTF_USE_CURL
#ifndef _WINSOCKAPI_
#define _WINSOCKAPI_ // Prevent inclusion of winsock.h in windows.h
#endif
+#endif
// If we don't define these, they get defined in windef.h.
// We want to use std::min and std::max
@@ -65,7 +67,13 @@
#if defined(__APPLE__)
#include <regex.h>
#endif
+
+// On Linux this causes conflicts with libpng because there are two impls. of
+// longjmp - see here: https://bugs.launchpad.net/ubuntu/+source/libpng/+bug/218409
+#ifndef BUILDING_WX__
#include <setjmp.h>
+#endif
+
#include <signal.h>
#include <stdarg.h>
#include <stddef.h>
@@ -97,8 +105,16 @@
#include <time.h>
+#ifndef BUILDING_WX__
#include <CoreFoundation/CoreFoundation.h>
+#ifdef WIN_CAIRO
+#include <ConditionalMacros.h>
+#include <windows.h>
+#include <stdio.h>
+#else
#include <CoreServices/CoreServices.h>
+#endif
+#endif
#ifdef __OBJC__
#import <Cocoa/Cocoa.h>
diff --git a/src/3rdparty/webkit/WebCore/accessibility/AccessibilityObject.cpp b/src/3rdparty/webkit/WebCore/accessibility/AccessibilityObject.cpp
index a6cd62d..f1d829c 100644
--- a/src/3rdparty/webkit/WebCore/accessibility/AccessibilityObject.cpp
+++ b/src/3rdparty/webkit/WebCore/accessibility/AccessibilityObject.cpp
@@ -80,31 +80,6 @@ void AccessibilityObject::detach()
#endif
}
-AccessibilityObject* AccessibilityObject::firstChild() const
-{
- return 0;
-}
-
-AccessibilityObject* AccessibilityObject::lastChild() const
-{
- return 0;
-}
-
-AccessibilityObject* AccessibilityObject::previousSibling() const
-{
- return 0;
-}
-
-AccessibilityObject* AccessibilityObject::nextSibling() const
-{
- return 0;
-}
-
-AccessibilityObject* AccessibilityObject::parentObject() const
-{
- return 0;
-}
-
AccessibilityObject* AccessibilityObject::parentObjectUnignored() const
{
AccessibilityObject* parent;
@@ -113,31 +88,6 @@ AccessibilityObject* AccessibilityObject::parentObjectUnignored() const
return parent;
}
-AccessibilityObject* AccessibilityObject::parentObjectIfExists() const
-{
- return 0;
-}
-
-int AccessibilityObject::layoutCount() const
-{
- return 0;
-}
-
-String AccessibilityObject::text() const
-{
- return String();
-}
-
-String AccessibilityObject::helpText() const
-{
- return String();
-}
-
-String AccessibilityObject::textUnderElement() const
-{
- return String();
-}
-
bool AccessibilityObject::isARIAInput(AccessibilityRole ariaRole)
{
return ariaRole == RadioButtonRole || ariaRole == CheckBoxRole || ariaRole == TextFieldRole;
@@ -148,145 +98,12 @@ bool AccessibilityObject::isARIAControl(AccessibilityRole ariaRole)
return isARIAInput(ariaRole) || ariaRole == TextAreaRole || ariaRole == ButtonRole
|| ariaRole == ComboBoxRole || ariaRole == SliderRole;
}
-
-int AccessibilityObject::intValue() const
-{
- return 0;
-}
-
-String AccessibilityObject::stringValue() const
-{
- return String();
-}
-
-String AccessibilityObject::ariaAccessiblityName(const String&) const
-{
- return String();
-}
-
-String AccessibilityObject::ariaLabeledByAttribute() const
-{
- return String();
-}
-
-String AccessibilityObject::title() const
-{
- return String();
-}
-
-String AccessibilityObject::ariaDescribedByAttribute() const
-{
- return String();
-}
-
-String AccessibilityObject::accessibilityDescription() const
-{
- return String();
-}
-
-IntRect AccessibilityObject::boundingBoxRect() const
-{
- return IntRect();
-}
-
-IntRect AccessibilityObject::elementRect() const
-{
- return IntRect();
-}
-
-IntSize AccessibilityObject::size() const
-{
- return IntSize();
-}
IntPoint AccessibilityObject::clickPoint() const
{
IntRect rect = elementRect();
return IntPoint(rect.x() + rect.width() / 2, rect.y() + rect.height() / 2);
}
-
-void AccessibilityObject::linkedUIElements(AccessibilityChildrenVector&) const
-{
- return;
-}
-
-AccessibilityObject* AccessibilityObject::titleUIElement() const
-{
- return 0;
-}
-
-int AccessibilityObject::textLength() const
-{
- return 0;
-}
-
-PassRefPtr<Range> AccessibilityObject::ariaSelectedTextDOMRange() const
-{
- return 0;
-}
-
-String AccessibilityObject::selectedText() const
-{
- return String();
-}
-
-const AtomicString& AccessibilityObject::accessKey() const
-{
- return nullAtom;
-}
-
-VisibleSelection AccessibilityObject::selection() const
-{
- return VisibleSelection();
-}
-
-PlainTextRange AccessibilityObject::selectedTextRange() const
-{
- return PlainTextRange();
-}
-
-unsigned AccessibilityObject::selectionStart() const
-{
- return selectedTextRange().start;
-}
-
-unsigned AccessibilityObject::selectionEnd() const
-{
- return selectedTextRange().length;
-}
-
-void AccessibilityObject::setSelectedText(const String&)
-{
- // TODO: set selected text (ReplaceSelectionCommand). <rdar://problem/4712125>
- notImplemented();
-}
-
-void AccessibilityObject::setSelectedTextRange(const PlainTextRange&)
-{
-}
-
-void AccessibilityObject::makeRangeVisible(const PlainTextRange&)
-{
- // TODO: make range visible (scrollRectToVisible). <rdar://problem/4712101>
- notImplemented();
-}
-
-KURL AccessibilityObject::url() const
-{
- return KURL();
-}
-
-void AccessibilityObject::setFocused(bool)
-{
-}
-
-void AccessibilityObject::setValue(const String&)
-{
-}
-
-void AccessibilityObject::setSelected(bool)
-{
-}
bool AccessibilityObject::press() const
{
@@ -314,53 +131,6 @@ String AccessibilityObject::language() const
return parent->language();
}
-AXObjectCache* AccessibilityObject::axObjectCache() const
-{
- return 0;
-}
-
-Widget* AccessibilityObject::widget() const
-{
- return 0;
-}
-
-Widget* AccessibilityObject::widgetForAttachmentView() const
-{
- return 0;
-}
-
-Element* AccessibilityObject::anchorElement() const
-{
- return 0;
-}
-
-Element* AccessibilityObject::actionElement() const
-{
- return 0;
-}
-
-// This function is like a cross-platform version of - (WebCoreTextMarkerRange*)textMarkerRange. It returns
-// a Range that we can convert to a WebCoreRange in the Obj-C file
-VisiblePositionRange AccessibilityObject::visiblePositionRange() const
-{
- return VisiblePositionRange();
-}
-
-VisiblePositionRange AccessibilityObject::visiblePositionRangeForLine(unsigned) const
-{
- return VisiblePositionRange();
-}
-
-VisiblePosition AccessibilityObject::visiblePositionForIndex(int) const
-{
- return VisiblePosition();
-}
-
-int AccessibilityObject::indexForVisiblePosition(const VisiblePosition&) const
-{
- return 0;
-}
-
VisiblePositionRange AccessibilityObject::visiblePositionRangeForUnorderedPositions(const VisiblePosition& visiblePos1, const VisiblePosition& visiblePos2) const
{
if (visiblePos1.isNull() || visiblePos2.isNull())
@@ -619,11 +389,6 @@ String AccessibilityObject::stringForVisiblePositionRange(const VisiblePositionR
return String::adopt(resultVector);
}
-IntRect AccessibilityObject::boundsForVisiblePositionRange(const VisiblePositionRange&) const
-{
- return IntRect();
-}
-
int AccessibilityObject::lengthForVisiblePositionRange(const VisiblePositionRange& visiblePositionRange) const
{
// FIXME: Multi-byte support
@@ -651,25 +416,6 @@ int AccessibilityObject::lengthForVisiblePositionRange(const VisiblePositionRang
return length;
}
-void AccessibilityObject::setSelectedVisiblePositionRange(const VisiblePositionRange&) const
-{
-}
-
-VisiblePosition AccessibilityObject::visiblePositionForPoint(const IntPoint&) const
-{
- return VisiblePosition();
-}
-
-VisiblePosition AccessibilityObject::nextVisiblePosition(const VisiblePosition& visiblePos) const
-{
- return visiblePos.next();
-}
-
-VisiblePosition AccessibilityObject::previousVisiblePosition(const VisiblePosition& visiblePos) const
-{
- return visiblePos.previous();
-}
-
VisiblePosition AccessibilityObject::nextWordEnd(const VisiblePosition& visiblePos) const
{
if (visiblePos.isNull())
@@ -818,12 +564,6 @@ VisiblePosition AccessibilityObject::previousParagraphStartPosition(const Visibl
return startOfParagraph(previousPos);
}
-// NOTE: Consider providing this utility method as AX API
-VisiblePosition AccessibilityObject::visiblePositionForIndex(unsigned, bool) const
-{
- return VisiblePosition();
-}
-
AccessibilityObject* AccessibilityObject::accessibilityObjectForPosition(const VisiblePosition& visiblePos) const
{
if (visiblePos.isNull())
@@ -869,19 +609,6 @@ PlainTextRange AccessibilityObject::plainTextRangeForVisiblePositionRange(const
return PlainTextRange(index1, index2 - index1);
}
-// NOTE: Consider providing this utility method as AX API
-int AccessibilityObject::index(const VisiblePosition&) const
-{
- return -1;
-}
-
-// Given a line number, the range of characters of the text associated with this accessibility
-// object that contains the line number.
-PlainTextRange AccessibilityObject::doAXRangeForLine(unsigned) const
-{
- return PlainTextRange();
-}
-
// The composed character range in the text associated with this accessibility object that
// is specified by the given screen coordinates. This parameterized attribute returns the
// complete range of characters (including surrogate pairs of multi-byte glyphs) at the given
@@ -897,14 +624,6 @@ PlainTextRange AccessibilityObject::doAXRangeForPosition(const IntPoint& point)
return PlainTextRange(i, 1);
}
-// The composed character range in the text associated with this accessibility object that
-// is specified by the given index value. This parameterized attribute returns the complete
-// range of characters (including surrogate pairs of multi-byte glyphs) at the given index.
-PlainTextRange AccessibilityObject::doAXRangeForIndex(unsigned) const
-{
- return PlainTextRange();
-}
-
// Given a character index, the range of text associated with this accessibility object
// over which the style in effect at that character index applies.
PlainTextRange AccessibilityObject::doAXStyleRangeForIndex(unsigned index) const
@@ -913,21 +632,6 @@ PlainTextRange AccessibilityObject::doAXStyleRangeForIndex(unsigned index) const
return plainTextRangeForVisiblePositionRange(range);
}
-// A substring of the text associated with this accessibility object that is
-// specified by the given character range.
-String AccessibilityObject::doAXStringForRange(const PlainTextRange&) const
-{
- return String();
-}
-
-// The bounding rectangle of the text associated with this accessibility object that is
-// specified by the given range. This is the bounding rectangle a sighted user would see
-// on the display screen, in pixels.
-IntRect AccessibilityObject::doAXBoundsForRange(const PlainTextRange&) const
-{
- return IntRect();
-}
-
// Given an indexed character, the line number of the text associated with this accessibility
// object that contains the character.
unsigned AccessibilityObject::doAXLineForIndex(unsigned index)
@@ -945,41 +649,6 @@ FrameView* AccessibilityObject::documentFrameView() const
return 0;
return object->documentFrameView();
-}
-
-AccessibilityObject* AccessibilityObject::doAccessibilityHitTest(const IntPoint&) const
-{
- return 0;
-}
-
-AccessibilityObject* AccessibilityObject::focusedUIElement() const
-{
- return 0;
-}
-
-AccessibilityObject* AccessibilityObject::observableObject() const
-{
- return 0;
-}
-
-AccessibilityRole AccessibilityObject::roleValue() const
-{
- return UnknownRole;
-}
-
-AccessibilityRole AccessibilityObject::ariaRoleAttribute() const
-{
- return UnknownRole;
-}
-
-bool AccessibilityObject::isPresentationalChildOfAriaRole() const
-{
- return false;
-}
-
-bool AccessibilityObject::ariaRoleHasPresentationalChildren() const
-{
- return false;
}
void AccessibilityObject::clearChildren()
@@ -988,33 +657,6 @@ void AccessibilityObject::clearChildren()
m_children.clear();
}
-void AccessibilityObject::childrenChanged()
-{
- return;
-}
-
-void AccessibilityObject::addChildren()
-{
-}
-
-void AccessibilityObject::selectedChildren(AccessibilityChildrenVector&)
-{
-}
-
-void AccessibilityObject::visibleChildren(AccessibilityChildrenVector&)
-{
-}
-
-unsigned AccessibilityObject::axObjectID() const
-{
- return m_id;
-}
-
-void AccessibilityObject::setAXObjectID(unsigned axObjectID)
-{
- m_id = axObjectID;
-}
-
const String& AccessibilityObject::actionVerb() const
{
// FIXME: Need to add verbs for select elements.
@@ -1043,9 +685,5 @@ const String& AccessibilityObject::actionVerb() const
return noAction;
}
}
-
-void AccessibilityObject::updateBackingStore()
-{
-}
} // namespace WebCore
diff --git a/src/3rdparty/webkit/WebCore/accessibility/AccessibilityObject.h b/src/3rdparty/webkit/WebCore/accessibility/AccessibilityObject.h
index 8939092..319ace9 100644
--- a/src/3rdparty/webkit/WebCore/accessibility/AccessibilityObject.h
+++ b/src/3rdparty/webkit/WebCore/accessibility/AccessibilityObject.h
@@ -30,7 +30,10 @@
#ifndef AccessibilityObject_h
#define AccessibilityObject_h
+#include "IntRect.h"
+#include "Range.h"
#include "VisiblePosition.h"
+#include "VisibleSelection.h"
#include <wtf/Platform.h>
#include <wtf/RefPtr.h>
#include <wtf/Vector.h>
@@ -151,7 +154,8 @@ enum AccessibilityRole {
ListBoxOptionRole,
TableHeaderContainerRole,
DefinitionListTermRole,
- DefinitionListDefinitionRole
+ DefinitionListDefinitionRole,
+ AnnotationRole
};
struct VisiblePositionRange {
@@ -192,6 +196,7 @@ protected:
AccessibilityObject();
public:
virtual ~AccessibilityObject();
+ virtual void detach();
typedef Vector<RefPtr<AccessibilityObject> > AccessibilityChildrenVector;
@@ -251,93 +256,96 @@ public:
bool accessibilityShouldUseUniqueId() const { return true; };
virtual bool accessibilityIsIgnored() const { return true; };
- virtual int intValue() const;
+ virtual int intValue() const { return 0; }
virtual float valueForRange() const { return 0.0f; }
virtual float maxValueForRange() const { return 0.0f; }
virtual float minValueForRange() const { return 0.0f; }
- virtual int layoutCount() const;
+ virtual int layoutCount() const { return 0; }
static bool isARIAControl(AccessibilityRole);
static bool isARIAInput(AccessibilityRole);
- unsigned axObjectID() const;
- virtual AccessibilityObject* doAccessibilityHitTest(const IntPoint&) const;
- virtual AccessibilityObject* focusedUIElement() const;
- virtual AccessibilityObject* firstChild() const;
- virtual AccessibilityObject* lastChild() const;
- virtual AccessibilityObject* previousSibling() const;
- virtual AccessibilityObject* nextSibling() const;
- virtual AccessibilityObject* parentObject() const;
+ virtual AccessibilityObject* doAccessibilityHitTest(const IntPoint&) const { return 0; }
+ virtual AccessibilityObject* focusedUIElement() const { return 0; }
+
+ virtual AccessibilityObject* firstChild() const { return 0; }
+ virtual AccessibilityObject* lastChild() const { return 0; }
+ virtual AccessibilityObject* previousSibling() const { return 0; }
+ virtual AccessibilityObject* nextSibling() const { return 0; }
+ virtual AccessibilityObject* parentObject() const = 0;
virtual AccessibilityObject* parentObjectUnignored() const;
- virtual AccessibilityObject* parentObjectIfExists() const;
- virtual AccessibilityObject* observableObject() const;
- virtual void linkedUIElements(AccessibilityChildrenVector&) const;
- virtual AccessibilityObject* titleUIElement() const;
+ virtual AccessibilityObject* parentObjectIfExists() const { return 0; }
+
+ virtual AccessibilityObject* observableObject() const { return 0; }
+ virtual void linkedUIElements(AccessibilityChildrenVector&) const { }
+ virtual AccessibilityObject* titleUIElement() const { return 0; }
virtual bool exposesTitleUIElement() const { return true; }
- virtual AccessibilityRole ariaRoleAttribute() const;
- virtual bool isPresentationalChildOfAriaRole() const;
- virtual bool ariaRoleHasPresentationalChildren() const;
- virtual AccessibilityRole roleValue() const;
- virtual AXObjectCache* axObjectCache() const;
+ virtual AccessibilityRole ariaRoleAttribute() const { return UnknownRole; }
+ virtual bool isPresentationalChildOfAriaRole() const { return false; }
+ virtual bool ariaRoleHasPresentationalChildren() const { return false; }
+ virtual AccessibilityRole roleValue() const { return UnknownRole; }
+ virtual String ariaAccessiblityName(const String&) const { return String(); }
+ virtual String ariaLabeledByAttribute() const { return String(); }
+ virtual String ariaDescribedByAttribute() const { return String(); }
+ virtual String accessibilityDescription() const { return String(); }
+ virtual PassRefPtr<Range> ariaSelectedTextDOMRange() const { return 0; }
+
+ virtual AXObjectCache* axObjectCache() const { return 0; }
+ unsigned axObjectID() const { return m_id; }
+ void setAXObjectID(unsigned axObjectID) { m_id = axObjectID; }
- virtual Element* anchorElement() const;
- virtual Element* actionElement() const;
- virtual IntRect boundingBoxRect() const;
- virtual IntRect elementRect() const;
- virtual IntSize size() const;
- IntPoint clickPoint() const;
+ virtual Element* anchorElement() const { return 0; }
+ virtual Element* actionElement() const { return 0; }
+ virtual IntRect boundingBoxRect() const { return IntRect(); }
+ virtual IntRect elementRect() const = 0;
+ virtual IntSize size() const = 0;
+ virtual IntPoint clickPoint() const;
+
+ virtual PlainTextRange selectedTextRange() const { return PlainTextRange(); }
+ unsigned selectionStart() const { return selectedTextRange().start; }
+ unsigned selectionEnd() const { return selectedTextRange().length; }
- virtual KURL url() const;
- virtual PlainTextRange selectedTextRange() const;
- virtual VisibleSelection selection() const;
- unsigned selectionStart() const;
- unsigned selectionEnd() const;
- virtual String stringValue() const;
- virtual String ariaAccessiblityName(const String&) const;
- virtual String ariaLabeledByAttribute() const;
- virtual String title() const;
- virtual String ariaDescribedByAttribute() const;
- virtual String accessibilityDescription() const;
- virtual String helpText() const;
- virtual String textUnderElement() const;
- virtual String text() const;
- virtual int textLength() const;
- virtual PassRefPtr<Range> ariaSelectedTextDOMRange() const;
- virtual String selectedText() const;
- virtual const AtomicString& accessKey() const;
+ virtual KURL url() const { return KURL(); }
+ virtual VisibleSelection selection() const { return VisibleSelection(); }
+ virtual String stringValue() const { return String(); }
+ virtual String title() const { return String(); }
+ virtual String helpText() const { return String(); }
+ virtual String textUnderElement() const { return String(); }
+ virtual String text() const { return String(); }
+ virtual int textLength() const { return 0; }
+ virtual String selectedText() const { return String(); }
+ virtual const AtomicString& accessKey() const { return nullAtom; }
const String& actionVerb() const;
- virtual Widget* widget() const;
- virtual Widget* widgetForAttachmentView() const;
+ virtual Widget* widget() const { return 0; }
+ virtual Widget* widgetForAttachmentView() const { return 0; }
virtual Document* document() const { return 0; }
virtual FrameView* topDocumentFrameView() const { return 0; }
virtual FrameView* documentFrameView() const;
virtual String language() const;
-
- void setAXObjectID(unsigned);
- virtual void setFocused(bool);
- virtual void setSelectedText(const String&);
- virtual void setSelectedTextRange(const PlainTextRange&);
- virtual void setValue(const String&);
- virtual void setSelected(bool);
-
- virtual void detach();
- virtual void makeRangeVisible(const PlainTextRange&);
+
+ virtual void setFocused(bool) { }
+ virtual void setSelectedText(const String&) { }
+ virtual void setSelectedTextRange(const PlainTextRange&) { }
+ virtual void setValue(const String&) { }
+ virtual void setSelected(bool) { }
+
+ virtual void makeRangeVisible(const PlainTextRange&) { }
virtual bool press() const;
bool performDefaultAction() const { return press(); }
- virtual void childrenChanged();
+ virtual void childrenChanged() { }
virtual const AccessibilityChildrenVector& children() { return m_children; }
- virtual void addChildren();
+ virtual void addChildren() { }
virtual bool canHaveChildren() const { return true; }
- virtual bool hasChildren() const { return m_haveChildren; };
- virtual void selectedChildren(AccessibilityChildrenVector&);
- virtual void visibleChildren(AccessibilityChildrenVector&);
+ virtual bool hasChildren() const { return m_haveChildren; }
+ virtual void selectedChildren(AccessibilityChildrenVector&) { }
+ virtual void visibleChildren(AccessibilityChildrenVector&) { }
virtual bool shouldFocusActiveDescendant() const { return false; }
virtual AccessibilityObject* activeDescendant() const { return 0; }
virtual void handleActiveDescendantChanged() { }
- virtual VisiblePositionRange visiblePositionRange() const;
- virtual VisiblePositionRange visiblePositionRangeForLine(unsigned) const;
+ virtual VisiblePositionRange visiblePositionRange() const { return VisiblePositionRange(); }
+ virtual VisiblePositionRange visiblePositionRangeForLine(unsigned) const { return VisiblePositionRange(); }
VisiblePositionRange visiblePositionRangeForUnorderedPositions(const VisiblePosition&, const VisiblePosition&) const;
VisiblePositionRange positionOfLeftWord(const VisiblePosition&) const;
@@ -350,13 +358,13 @@ public:
VisiblePositionRange visiblePositionRangeForRange(const PlainTextRange&) const;
String stringForVisiblePositionRange(const VisiblePositionRange&) const;
- virtual IntRect boundsForVisiblePositionRange(const VisiblePositionRange&) const;
+ virtual IntRect boundsForVisiblePositionRange(const VisiblePositionRange&) const { return IntRect(); }
int lengthForVisiblePositionRange(const VisiblePositionRange&) const;
- virtual void setSelectedVisiblePositionRange(const VisiblePositionRange&) const;
+ virtual void setSelectedVisiblePositionRange(const VisiblePositionRange&) const { }
- virtual VisiblePosition visiblePositionForPoint(const IntPoint&) const;
- VisiblePosition nextVisiblePosition(const VisiblePosition&) const;
- VisiblePosition previousVisiblePosition(const VisiblePosition&) const;
+ virtual VisiblePosition visiblePositionForPoint(const IntPoint&) const { return VisiblePosition(); }
+ VisiblePosition nextVisiblePosition(const VisiblePosition& visiblePos) const { return visiblePos.next(); }
+ VisiblePosition previousVisiblePosition(const VisiblePosition& visiblePos) const { return visiblePos.previous(); }
VisiblePosition nextWordEnd(const VisiblePosition&) const;
VisiblePosition previousWordStart(const VisiblePosition&) const;
VisiblePosition nextLineEndPosition(const VisiblePosition&) const;
@@ -365,23 +373,24 @@ public:
VisiblePosition previousSentenceStartPosition(const VisiblePosition&) const;
VisiblePosition nextParagraphEndPosition(const VisiblePosition&) const;
VisiblePosition previousParagraphStartPosition(const VisiblePosition&) const;
- virtual VisiblePosition visiblePositionForIndex(unsigned indexValue, bool lastIndexOK) const;
+ virtual VisiblePosition visiblePositionForIndex(unsigned, bool /*
+lastIndexOK */) const { return VisiblePosition(); }
- virtual VisiblePosition visiblePositionForIndex(int) const;
- virtual int indexForVisiblePosition(const VisiblePosition&) const;
+ virtual VisiblePosition visiblePositionForIndex(int) const { return VisiblePosition(); }
+ virtual int indexForVisiblePosition(const VisiblePosition&) const { return 0; }
AccessibilityObject* accessibilityObjectForPosition(const VisiblePosition&) const;
int lineForPosition(const VisiblePosition&) const;
PlainTextRange plainTextRangeForVisiblePositionRange(const VisiblePositionRange&) const;
- virtual int index(const VisiblePosition&) const;
+ virtual int index(const VisiblePosition&) const { return -1; }
- virtual PlainTextRange doAXRangeForLine(unsigned) const;
+ virtual PlainTextRange doAXRangeForLine(unsigned) const { return PlainTextRange(); }
PlainTextRange doAXRangeForPosition(const IntPoint&) const;
- virtual PlainTextRange doAXRangeForIndex(unsigned) const;
+ virtual PlainTextRange doAXRangeForIndex(unsigned) const { return PlainTextRange(); }
PlainTextRange doAXStyleRangeForIndex(unsigned) const;
- virtual String doAXStringForRange(const PlainTextRange&) const;
- virtual IntRect doAXBoundsForRange(const PlainTextRange&) const;
+ virtual String doAXStringForRange(const PlainTextRange&) const { return String(); }
+ virtual IntRect doAXBoundsForRange(const PlainTextRange&) const { return IntRect(); }
unsigned doAXLineForIndex(unsigned);
@@ -407,7 +416,7 @@ public:
// allows for an AccessibilityObject to update its render tree or perform
// other operations update type operations
- virtual void updateBackingStore();
+ virtual void updateBackingStore() { }
protected:
unsigned m_id;
diff --git a/src/3rdparty/webkit/WebCore/accessibility/AccessibilityRenderObject.cpp b/src/3rdparty/webkit/WebCore/accessibility/AccessibilityRenderObject.cpp
index 9c10267..65a1a7d 100644
--- a/src/3rdparty/webkit/WebCore/accessibility/AccessibilityRenderObject.cpp
+++ b/src/3rdparty/webkit/WebCore/accessibility/AccessibilityRenderObject.cpp
@@ -55,6 +55,7 @@
#include "LocalizedStrings.h"
#include "NodeList.h"
#include "Page.h"
+#include "RenderButton.h"
#include "RenderFieldset.h"
#include "RenderFileUploadControl.h"
#include "RenderHTMLCanvas.h"
@@ -773,6 +774,9 @@ String AccessibilityRenderObject::stringValue() const
if (m_renderer->isListMarker())
return static_cast<RenderListMarker*>(m_renderer)->text();
+ if (m_renderer->isRenderButton())
+ return static_cast<RenderButton*>(m_renderer)->text();
+
if (isWebArea()) {
if (m_renderer->document()->frame())
return String();
@@ -966,6 +970,10 @@ String AccessibilityRenderObject::accessibilityDescription() const
if (!m_renderer)
return String();
+ String ariaLabel = getAttribute(aria_labelAttr).string();
+ if (!ariaLabel.isEmpty())
+ return ariaLabel;
+
String ariaDescription = ariaDescribedByAttribute();
if (!ariaDescription.isEmpty())
return ariaDescription;
@@ -1063,6 +1071,21 @@ IntSize AccessibilityRenderObject::size() const
return rect.size();
}
+IntPoint AccessibilityRenderObject::clickPoint() const
+{
+ // use the default position unless this is an editable web area, in which case we use the selection bounds.
+ if (!isWebArea() || isReadOnly())
+ return AccessibilityObject::clickPoint();
+
+ VisibleSelection visSelection = selection();
+ VisiblePositionRange range = VisiblePositionRange(visSelection.visibleStart(), visSelection.visibleEnd());
+ IntRect bounds = boundsForVisiblePositionRange(range);
+#if PLATFORM(MAC)
+ bounds.setLocation(m_renderer->document()->view()->screenToContents(bounds.location()));
+#endif
+ return IntPoint(bounds.x() + (bounds.width() / 2), bounds.y() - (bounds.height() / 2));
+}
+
AccessibilityObject* AccessibilityRenderObject::internalLinkElement() const
{
Element* element = anchorElement();
@@ -1290,13 +1313,13 @@ bool AccessibilityRenderObject::accessibilityIsIgnored() const
return false;
}
- // check for one-dimensional image
- RenderImage* image = toRenderImage(m_renderer);
- if (image->height() <= 1 || image->width() <= 1)
- return true;
-
- // check whether rendered image was stretched from one-dimensional file image
if (isNativeImage()) {
+ // check for one-dimensional image
+ RenderImage* image = toRenderImage(m_renderer);
+ if (image->height() <= 1 || image->width() <= 1)
+ return true;
+
+ // check whether rendered image was stretched from one-dimensional file image
if (image->cachedImage()) {
IntSize imageSize = image->cachedImage()->imageSize(image->view()->zoomFactor());
return imageSize.height() <= 1 || imageSize.width() <= 1;
@@ -2154,12 +2177,13 @@ AccessibilityObject* AccessibilityRenderObject::observableObject() const
typedef HashMap<String, AccessibilityRole, CaseFoldingHash> ARIARoleMap;
-struct RoleEntry {
- String ariaRole;
- AccessibilityRole webcoreRole;
-};
static const ARIARoleMap& createARIARoleMap()
{
+ struct RoleEntry {
+ String ariaRole;
+ AccessibilityRole webcoreRole;
+ };
+
const RoleEntry roles[] = {
{ "button", ButtonRole },
{ "checkbox", CheckBoxRole },
@@ -2184,7 +2208,8 @@ static const ARIARoleMap& createARIARoleMap()
{ "range", SliderRole },
{ "slider", SliderRole },
{ "spinbutton", ProgressIndicatorRole },
- { "textbox", TextAreaRole }
+ { "textbox", TextAreaRole },
+ { "toolbar", ToolbarRole }
};
ARIARoleMap& roleMap = *new ARIARoleMap;
@@ -2304,6 +2329,9 @@ AccessibilityRole AccessibilityRenderObject::roleValue() const
if (node && node->hasTagName(dtTag))
return DefinitionListTermRole;
+ if (node && (node->hasTagName(rpTag) || node->hasTagName(rtTag)))
+ return AnnotationRole;
+
if (m_renderer->isBlockFlow() || (node && node->hasTagName(labelTag)))
return GroupRole;
diff --git a/src/3rdparty/webkit/WebCore/accessibility/AccessibilityRenderObject.h b/src/3rdparty/webkit/WebCore/accessibility/AccessibilityRenderObject.h
index 4fa325f..4f8e247 100644
--- a/src/3rdparty/webkit/WebCore/accessibility/AccessibilityRenderObject.h
+++ b/src/3rdparty/webkit/WebCore/accessibility/AccessibilityRenderObject.h
@@ -147,6 +147,7 @@ public:
virtual IntRect boundingBoxRect() const;
virtual IntRect elementRect() const;
virtual IntSize size() const;
+ virtual IntPoint clickPoint() const;
void setRenderer(RenderObject* renderer) { m_renderer = renderer; }
RenderObject* renderer() const { return m_renderer; }
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/CachedScriptSourceProvider.h b/src/3rdparty/webkit/WebCore/bindings/js/CachedScriptSourceProvider.h
index e943fa5..1cdd8aa 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/CachedScriptSourceProvider.h
+++ b/src/3rdparty/webkit/WebCore/bindings/js/CachedScriptSourceProvider.h
@@ -29,11 +29,12 @@
#include "CachedResourceClient.h"
#include "CachedResourceHandle.h"
#include "CachedScript.h"
+#include "ScriptSourceProvider.h"
#include <parser/SourceCode.h>
namespace WebCore {
- class CachedScriptSourceProvider : public JSC::SourceProvider, public CachedResourceClient {
+ class CachedScriptSourceProvider : public ScriptSourceProvider, public CachedResourceClient {
public:
static PassRefPtr<CachedScriptSourceProvider> create(CachedScript* cachedScript) { return adoptRef(new CachedScriptSourceProvider(cachedScript)); }
@@ -45,10 +46,11 @@ namespace WebCore {
JSC::UString getRange(int start, int end) const { return JSC::UString(m_cachedScript->script().characters() + start, end - start); }
const UChar* data() const { return m_cachedScript->script().characters(); }
int length() const { return m_cachedScript->script().length(); }
+ const String& source() const { return m_cachedScript->script(); }
private:
CachedScriptSourceProvider(CachedScript* cachedScript)
- : SourceProvider(cachedScript->url())
+ : ScriptSourceProvider(cachedScript->url())
, m_cachedScript(cachedScript)
{
m_cachedScript->addClient(this);
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/DOMObjectWithSVGContext.h b/src/3rdparty/webkit/WebCore/bindings/js/DOMObjectWithSVGContext.h
new file mode 100644
index 0000000..570548d
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/bindings/js/DOMObjectWithSVGContext.h
@@ -0,0 +1,57 @@
+/*
+ * Copyright (C) 2009 Google, Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef DOMObjectWithSVGContext_h
+#define DOMObjectWithSVGContext_h
+
+#if ENABLE(SVG)
+
+#include "JSDOMBinding.h"
+#include "SVGElement.h"
+
+namespace WebCore {
+
+ // FIXME: This class (and file) should be removed once all SVG bindings
+ // have moved context() onto the various impl() pointers.
+ class DOMObjectWithSVGContext : public DOMObject {
+ public:
+ SVGElement* context() const { return m_context.get(); }
+
+ protected:
+ DOMObjectWithSVGContext(PassRefPtr<JSC::Structure> structure, JSDOMGlobalObject*, SVGElement* context)
+ : DOMObject(structure)
+ , m_context(context)
+ {
+ // No space to store the JSDOMGlobalObject w/o hitting the CELL_SIZE limit.
+ }
+
+ protected: // FIXME: Many custom bindings use m_context directly. Making this protected to temporariliy reduce code churn.
+ RefPtr<SVGElement> m_context;
+ };
+
+} // namespace WebCore
+
+#endif // ENABLE(SVG)
+#endif // DOMObjectWithSVGContext_h
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/GCController.cpp b/src/3rdparty/webkit/WebCore/bindings/js/GCController.cpp
index db295c2..59bcfa3 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/GCController.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/GCController.cpp
@@ -44,7 +44,7 @@ namespace WebCore {
static void* collect(void*)
{
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
JSDOMWindow::commonJSGlobalData()->heap.collect();
return 0;
}
@@ -70,13 +70,13 @@ void GCController::garbageCollectSoon()
void GCController::gcTimerFired(Timer<GCController>*)
{
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
JSDOMWindow::commonJSGlobalData()->heap.collect();
}
void GCController::garbageCollectNow()
{
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
JSDOMWindow::commonJSGlobalData()->heap.collect();
}
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/GCController.h b/src/3rdparty/webkit/WebCore/bindings/js/GCController.h
index 452019a..4c25407 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/GCController.h
+++ b/src/3rdparty/webkit/WebCore/bindings/js/GCController.h
@@ -31,7 +31,7 @@
namespace WebCore {
- class GCController : Noncopyable {
+ class GCController : public Noncopyable {
friend GCController& gcController();
public:
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSAbstractWorkerCustom.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSAbstractWorkerCustom.cpp
new file mode 100644
index 0000000..3146413
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSAbstractWorkerCustom.cpp
@@ -0,0 +1,87 @@
+/*
+ * Copyright (C) 2009 Google Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following disclaimer
+ * in the documentation and/or other materials provided with the
+ * distribution.
+ * * Neither the name of Google Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+
+#if ENABLE(WORKERS)
+
+#include "JSAbstractWorker.h"
+
+#include "AbstractWorker.h"
+#include "JSDOMGlobalObject.h"
+#include "JSEventListener.h"
+#include "JSEventTarget.h"
+
+using namespace JSC;
+
+namespace WebCore {
+
+void JSAbstractWorker::mark()
+{
+ Base::mark();
+
+ markIfNotNull(m_impl->onerror());
+
+ typedef AbstractWorker::EventListenersMap EventListenersMap;
+ typedef AbstractWorker::ListenerVector ListenerVector;
+ EventListenersMap& eventListeners = m_impl->eventListeners();
+ for (EventListenersMap::iterator mapIter = eventListeners.begin(); mapIter != eventListeners.end(); ++mapIter) {
+ for (ListenerVector::iterator vecIter = mapIter->second.begin(); vecIter != mapIter->second.end(); ++vecIter)
+ (*vecIter)->markJSFunction();
+ }
+}
+
+JSValue JSAbstractWorker::addEventListener(ExecState* exec, const ArgList& args)
+{
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(impl()->scriptExecutionContext());
+ if (!globalObject)
+ return jsUndefined();
+ RefPtr<JSEventListener> listener = globalObject->findOrCreateJSEventListener(args.at(1));
+ if (!listener)
+ return jsUndefined();
+ impl()->addEventListener(args.at(0).toString(exec), listener.release(), args.at(2).toBoolean(exec));
+ return jsUndefined();
+}
+
+JSValue JSAbstractWorker::removeEventListener(ExecState* exec, const ArgList& args)
+{
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(impl()->scriptExecutionContext());
+ if (!globalObject)
+ return jsUndefined();
+ JSEventListener* listener = globalObject->findJSEventListener(args.at(1));
+ if (!listener)
+ return jsUndefined();
+ impl()->removeEventListener(args.at(0).toString(exec), listener, args.at(2).toBoolean(exec));
+ return jsUndefined();
+}
+
+} // namespace WebCore
+
+#endif // ENABLE(WORKERS)
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSAttrCustom.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSAttrCustom.cpp
index 4f3c8ee..abd5ad5 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSAttrCustom.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSAttrCustom.cpp
@@ -47,7 +47,7 @@ void JSAttr::setValue(ExecState* exec, JSValue value)
Element* ownerElement = imp->ownerElement();
if (ownerElement && (ownerElement->hasTagName(iframeTag) || ownerElement->hasTagName(frameTag))) {
- if (equalIgnoringCase(imp->name(), "src") && protocolIsJavaScript(parseURL(attrValue))) {
+ if (equalIgnoringCase(imp->name(), "src") && protocolIsJavaScript(deprecatedParseURL(attrValue))) {
if (!checkNodeSecurity(exec, static_cast<HTMLFrameElementBase*>(ownerElement)->contentDocument()))
return;
}
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSAudioConstructor.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSAudioConstructor.cpp
index 74bcad5..87a3880 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSAudioConstructor.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSAudioConstructor.cpp
@@ -42,35 +42,27 @@ namespace WebCore {
const ClassInfo JSAudioConstructor::s_info = { "AudioConstructor", 0, 0, 0 };
JSAudioConstructor::JSAudioConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
- : DOMObject(JSAudioConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
- , m_globalObject(globalObject)
+ : DOMConstructorWithDocument(JSAudioConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- ASSERT(globalObject->scriptExecutionContext());
- ASSERT(globalObject->scriptExecutionContext()->isDocument());
-
- putDirect(exec->propertyNames().prototype, JSHTMLAudioElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLAudioElementPrototype::self(exec, globalObject), None);
putDirect(exec->propertyNames().length, jsNumber(exec, 1), ReadOnly|DontDelete|DontEnum);
}
-Document* JSAudioConstructor::document() const
-{
- return static_cast<Document*>(m_globalObject->scriptExecutionContext());
-}
-
static JSObject* constructAudio(ExecState* exec, JSObject* constructor, const ArgList& args)
{
+ JSAudioConstructor* jsAudio = static_cast<JSAudioConstructor*>(constructor);
// FIXME: Why doesn't this need the call toJS on the document like JSImageConstructor?
-
- Document* document = static_cast<JSAudioConstructor*>(constructor)->document();
+ Document* document = jsAudio->document();
if (!document)
return throwError(exec, ReferenceError, "Audio constructor associated document is unavailable");
RefPtr<HTMLAudioElement> audio = new HTMLAudioElement(HTMLNames::audioTag, document);
+ audio->setAutobuffer(true);
if (args.size() > 0) {
audio->setSrc(args.at(0).toString(exec));
audio->scheduleLoad();
}
- return asObject(toJS(exec, audio.release()));
+ return asObject(toJS(exec, jsAudio->globalObject(), audio.release()));
}
ConstructType JSAudioConstructor::getConstructData(ConstructData& constructData)
@@ -79,13 +71,6 @@ ConstructType JSAudioConstructor::getConstructData(ConstructData& constructData)
return ConstructTypeHost;
}
-void JSAudioConstructor::mark()
-{
- DOMObject::mark();
- if (!m_globalObject->marked())
- m_globalObject->mark();
-}
-
} // namespace WebCore
#endif // ENABLE(VIDEO)
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSAudioConstructor.h b/src/3rdparty/webkit/WebCore/bindings/js/JSAudioConstructor.h
index 0a3a7ea..3496897 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSAudioConstructor.h
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSAudioConstructor.h
@@ -34,21 +34,15 @@
namespace WebCore {
- class JSAudioConstructor : public DOMObject {
+ class JSAudioConstructor : public DOMConstructorWithDocument {
public:
JSAudioConstructor(JSC::ExecState*, JSDOMGlobalObject*);
- Document* document() const;
-
static const JSC::ClassInfo s_info;
-
- virtual void mark();
private:
virtual JSC::ConstructType getConstructData(JSC::ConstructData&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
-
- JSDOMGlobalObject* m_globalObject;
};
} // namespace WebCore
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSCDATASectionCustom.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSCDATASectionCustom.cpp
index 44a8957..c2738cc 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSCDATASectionCustom.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSCDATASectionCustom.cpp
@@ -32,12 +32,12 @@ using namespace JSC;
namespace WebCore {
-JSValue toJSNewlyCreated(ExecState* exec, CDATASection* section)
+JSValue toJSNewlyCreated(ExecState* exec, JSDOMGlobalObject* globalObject, CDATASection* section)
{
if (!section)
return jsNull();
-
- return CREATE_DOM_NODE_WRAPPER(exec, CDATASection, section);
+
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, CDATASection, section);
}
} // namespace WebCore
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSCSSRuleCustom.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSCSSRuleCustom.cpp
index 2c20431..1b96c06 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSCSSRuleCustom.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSCSSRuleCustom.cpp
@@ -49,46 +49,45 @@ using namespace JSC;
namespace WebCore {
-JSValue toJS(ExecState* exec, CSSRule* rule)
+JSValue toJS(ExecState* exec, JSDOMGlobalObject* globalObject, CSSRule* rule)
{
if (!rule)
return jsNull();
DOMObject* wrapper = getCachedDOMObjectWrapper(exec->globalData(), rule);
-
if (wrapper)
return wrapper;
switch (rule->type()) {
case CSSRule::STYLE_RULE:
- wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, CSSStyleRule, rule);
+ wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, globalObject, CSSStyleRule, rule);
break;
case CSSRule::MEDIA_RULE:
- wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, CSSMediaRule, rule);
+ wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, globalObject, CSSMediaRule, rule);
break;
case CSSRule::FONT_FACE_RULE:
- wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, CSSFontFaceRule, rule);
+ wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, globalObject, CSSFontFaceRule, rule);
break;
case CSSRule::PAGE_RULE:
- wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, CSSPageRule, rule);
+ wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, globalObject, CSSPageRule, rule);
break;
case CSSRule::IMPORT_RULE:
- wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, CSSImportRule, rule);
+ wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, globalObject, CSSImportRule, rule);
break;
case CSSRule::CHARSET_RULE:
- wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, CSSCharsetRule, rule);
+ wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, globalObject, CSSCharsetRule, rule);
break;
case CSSRule::VARIABLES_RULE:
- wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, CSSVariablesRule, rule);
+ wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, globalObject, CSSVariablesRule, rule);
break;
case CSSRule::WEBKIT_KEYFRAME_RULE:
- wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, WebKitCSSKeyframeRule, rule);
+ wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, globalObject, WebKitCSSKeyframeRule, rule);
break;
case CSSRule::WEBKIT_KEYFRAMES_RULE:
- wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, WebKitCSSKeyframesRule, rule);
+ wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, globalObject, WebKitCSSKeyframesRule, rule);
break;
default:
- wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, CSSRule, rule);
+ wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, globalObject, CSSRule, rule);
}
return wrapper;
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSCSSValueCustom.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSCSSValueCustom.cpp
index ad0cee1..87a5760 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSCSSValueCustom.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSCSSValueCustom.cpp
@@ -44,7 +44,7 @@ using namespace JSC;
namespace WebCore {
-JSValue toJS(ExecState* exec, CSSValue* value)
+JSValue toJS(ExecState* exec, JSDOMGlobalObject* globalObject, CSSValue* value)
{
if (!value)
return jsNull();
@@ -55,19 +55,19 @@ JSValue toJS(ExecState* exec, CSSValue* value)
return wrapper;
if (value->isWebKitCSSTransformValue())
- wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, WebKitCSSTransformValue, value);
+ wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, globalObject, WebKitCSSTransformValue, value);
else if (value->isValueList())
- wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, CSSValueList, value);
+ wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, globalObject, CSSValueList, value);
#if ENABLE(SVG)
else if (value->isSVGPaint())
- wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, SVGPaint, value);
+ wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, globalObject, SVGPaint, value);
else if (value->isSVGColor())
- wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, SVGColor, value);
+ wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, globalObject, SVGColor, value);
#endif
else if (value->isPrimitiveValue())
- wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, CSSPrimitiveValue, value);
+ wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, globalObject, CSSPrimitiveValue, value);
else
- wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, CSSValue, value);
+ wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, globalObject, CSSValue, value);
return wrapper;
}
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSCustomPositionCallback.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSCustomPositionCallback.cpp
index 6f9efd9..6abed99 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSCustomPositionCallback.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSCustomPositionCallback.cpp
@@ -48,11 +48,12 @@ void JSCustomPositionCallback::handleEvent(Geoposition* geoposition, bool& raise
if (!m_frame->script()->isEnabled())
return;
-
+
+ // FIXME: This is likely the wrong globalObject (for prototype chains at least)
JSGlobalObject* globalObject = m_frame->script()->globalObject();
ExecState* exec = globalObject->globalExec();
- JSC::JSLock lock(false);
+ JSC::JSLock lock(SilenceAssertionsOnly);
JSValue function = m_callback->get(exec, Identifier(exec, "handleEvent"));
CallData callData;
@@ -67,10 +68,10 @@ void JSCustomPositionCallback::handleEvent(Geoposition* geoposition, bool& raise
}
RefPtr<JSCustomPositionCallback> protect(this);
-
+
MarkedArgumentBuffer args;
- args.append(toJS(exec, geoposition));
-
+ args.append(toJS(exec, deprecatedGlobalObjectForPrototype(exec), geoposition));
+
globalObject->globalData()->timeoutChecker.start();
call(exec, function, callType, callData, m_callback, args);
globalObject->globalData()->timeoutChecker.stop();
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSCustomPositionErrorCallback.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSCustomPositionErrorCallback.cpp
index cc6cd55..cda5738 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSCustomPositionErrorCallback.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSCustomPositionErrorCallback.cpp
@@ -48,11 +48,12 @@ void JSCustomPositionErrorCallback::handleEvent(PositionError* positionError)
if (!m_frame->script()->isEnabled())
return;
-
+
+ // FIXME: This is likely the wrong globalObject (for prototype chains at least)
JSGlobalObject* globalObject = m_frame->script()->globalObject();
ExecState* exec = globalObject->globalExec();
- JSC::JSLock lock(false);
+ JSC::JSLock lock(SilenceAssertionsOnly);
JSValue function = m_callback->get(exec, Identifier(exec, "handleEvent"));
CallData callData;
@@ -69,7 +70,7 @@ void JSCustomPositionErrorCallback::handleEvent(PositionError* positionError)
RefPtr<JSCustomPositionErrorCallback> protect(this);
MarkedArgumentBuffer args;
- args.append(toJS(exec, positionError));
+ args.append(toJS(exec, deprecatedGlobalObjectForPrototype(exec), positionError));
globalObject->globalData()->timeoutChecker.start();
call(exec, function, callType, callData, m_callback, args);
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSCustomSQLStatementCallback.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSCustomSQLStatementCallback.cpp
index 107a491..d0943de 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSCustomSQLStatementCallback.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSCustomSQLStatementCallback.cpp
@@ -54,10 +54,11 @@ void JSCustomSQLStatementCallback::handleEvent(SQLTransaction* transaction, SQLR
if (!m_frame->script()->isEnabled())
return;
+ // FIXME: This is likely the wrong globalObject (for prototype chains at least)
JSGlobalObject* globalObject = m_frame->script()->globalObject();
ExecState* exec = globalObject->globalExec();
- JSC::JSLock lock(false);
+ JSC::JSLock lock(SilenceAssertionsOnly);
JSValue function = m_callback->get(exec, Identifier(exec, "handleEvent"));
CallData callData;
@@ -74,8 +75,8 @@ void JSCustomSQLStatementCallback::handleEvent(SQLTransaction* transaction, SQLR
RefPtr<JSCustomSQLStatementCallback> protect(this);
MarkedArgumentBuffer args;
- args.append(toJS(exec, transaction));
- args.append(toJS(exec, resultSet));
+ args.append(toJS(exec, deprecatedGlobalObjectForPrototype(exec), transaction));
+ args.append(toJS(exec, deprecatedGlobalObjectForPrototype(exec), resultSet));
globalObject->globalData()->timeoutChecker.start();
call(exec, function, callType, callData, m_callback, args);
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSCustomSQLStatementErrorCallback.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSCustomSQLStatementErrorCallback.cpp
index 018dabd..6c831ac 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSCustomSQLStatementErrorCallback.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSCustomSQLStatementErrorCallback.cpp
@@ -54,11 +54,12 @@ bool JSCustomSQLStatementErrorCallback::handleEvent(SQLTransaction* transaction,
if (!m_frame->script()->isEnabled())
return true;
-
+
+ // FIXME: This is likely the wrong globalObject (for prototype chains at least)
JSGlobalObject* globalObject = m_frame->script()->globalObject();
ExecState* exec = globalObject->globalExec();
- JSC::JSLock lock(false);
+ JSC::JSLock lock(SilenceAssertionsOnly);
JSValue handleEventFunction = m_callback->get(exec, Identifier(exec, "handleEvent"));
CallData handleEventCallData;
@@ -77,8 +78,8 @@ bool JSCustomSQLStatementErrorCallback::handleEvent(SQLTransaction* transaction,
RefPtr<JSCustomSQLStatementErrorCallback> protect(this);
MarkedArgumentBuffer args;
- args.append(toJS(exec, transaction));
- args.append(toJS(exec, error));
+ args.append(toJS(exec, deprecatedGlobalObjectForPrototype(exec), transaction));
+ args.append(toJS(exec, deprecatedGlobalObjectForPrototype(exec), error));
JSValue result;
globalObject->globalData()->timeoutChecker.start();
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSCustomSQLTransactionCallback.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSCustomSQLTransactionCallback.cpp
index a41ac78..3d42f81 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSCustomSQLTransactionCallback.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSCustomSQLTransactionCallback.cpp
@@ -94,11 +94,12 @@ void JSCustomSQLTransactionCallback::handleEvent(SQLTransaction* transaction, bo
if (!m_data->frame()->script()->isEnabled())
return;
-
+
+ // FIXME: This is likely the wrong globalObject (for prototype chains at least)
JSGlobalObject* globalObject = m_data->frame()->script()->globalObject();
ExecState* exec = globalObject->globalExec();
- JSC::JSLock lock(false);
+ JSC::JSLock lock(SilenceAssertionsOnly);
JSValue handleEventFunction = m_data->callback()->get(exec, Identifier(exec, "handleEvent"));
CallData handleEventCallData;
@@ -117,7 +118,7 @@ void JSCustomSQLTransactionCallback::handleEvent(SQLTransaction* transaction, bo
RefPtr<JSCustomSQLTransactionCallback> protect(this);
MarkedArgumentBuffer args;
- args.append(toJS(exec, transaction));
+ args.append(toJS(exec, deprecatedGlobalObjectForPrototype(exec), transaction));
globalObject->globalData()->timeoutChecker.start();
if (handleEventCallType != CallTypeNone)
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSCustomSQLTransactionErrorCallback.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSCustomSQLTransactionErrorCallback.cpp
index 324e2bb..2d41bb8 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSCustomSQLTransactionErrorCallback.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSCustomSQLTransactionErrorCallback.cpp
@@ -54,10 +54,11 @@ void JSCustomSQLTransactionErrorCallback::handleEvent(SQLError* error)
if (!m_frame->script()->isEnabled())
return;
+ // FIXME: This is likely the wrong globalObject (for prototype chains at least)
JSGlobalObject* globalObject = m_frame->script()->globalObject();
ExecState* exec = globalObject->globalExec();
- JSC::JSLock lock(false);
+ JSC::JSLock lock(SilenceAssertionsOnly);
JSValue function = m_callback->get(exec, Identifier(exec, "handleEvent"));
CallData callData;
@@ -74,7 +75,7 @@ void JSCustomSQLTransactionErrorCallback::handleEvent(SQLError* error)
RefPtr<JSCustomSQLTransactionErrorCallback> protect(this);
MarkedArgumentBuffer args;
- args.append(toJS(exec, error));
+ args.append(toJS(exec, deprecatedGlobalObjectForPrototype(exec), error));
globalObject->globalData()->timeoutChecker.start();
call(exec, function, callType, callData, m_callback, args);
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSCustomVoidCallback.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSCustomVoidCallback.cpp
index f3f76c4..b4e525b 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSCustomVoidCallback.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSCustomVoidCallback.cpp
@@ -55,7 +55,7 @@ void JSCustomVoidCallback::handleEvent()
JSGlobalObject* globalObject = m_frame->script()->globalObject();
ExecState* exec = globalObject->globalExec();
- JSC::JSLock lock(false);
+ JSC::JSLock lock(SilenceAssertionsOnly);
JSValue function = m_callback->get(exec, Identifier(exec, "handleEvent"));
CallData callData;
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSCustomXPathNSResolver.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSCustomXPathNSResolver.cpp
index 6361e70..4476be5 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSCustomXPathNSResolver.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSCustomXPathNSResolver.cpp
@@ -72,7 +72,7 @@ String JSCustomXPathNSResolver::lookupNamespaceURI(const String& prefix)
if (!m_frame->script()->isEnabled())
return String();
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
JSGlobalObject* globalObject = m_frame->script()->globalObject();
ExecState* exec = globalObject->globalExec();
@@ -84,7 +84,7 @@ String JSCustomXPathNSResolver::lookupNamespaceURI(const String& prefix)
callType = m_customResolver->getCallData(callData);
if (callType == CallTypeNone) {
// FIXME: Pass actual line number and source URL.
- m_frame->domWindow()->console()->addMessage(JSMessageSource, ErrorMessageLevel, "XPathNSResolver does not have a lookupNamespaceURI method.", 0, String());
+ m_frame->domWindow()->console()->addMessage(JSMessageSource, LogMessageType, ErrorMessageLevel, "XPathNSResolver does not have a lookupNamespaceURI method.", 0, String());
return String();
}
function = m_customResolver;
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSDOMApplicationCacheCustom.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSDOMApplicationCacheCustom.cpp
index 7e8d9ce..a7fae78 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSDOMApplicationCacheCustom.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSDOMApplicationCacheCustom.cpp
@@ -44,7 +44,7 @@ namespace WebCore {
void JSDOMApplicationCache::mark()
{
- DOMObject::mark();
+ Base::mark();
markIfNotNull(m_impl->onchecking());
markIfNotNull(m_impl->onerror());
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSDOMBinding.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSDOMBinding.cpp
index 55f0e91..910da12 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSDOMBinding.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSDOMBinding.cpp
@@ -32,6 +32,7 @@
#include "EventException.h"
#include "ExceptionCode.h"
#include "Frame.h"
+#include "HTMLAudioElement.h"
#include "HTMLImageElement.h"
#include "HTMLScriptElement.h"
#include "HTMLNames.h"
@@ -288,6 +289,10 @@ static inline bool isObservableThroughDOM(JSNode* jsNode)
return true;
if (node->hasTagName(scriptTag) && !static_cast<HTMLScriptElement*>(node)->haveFiredLoadEvent())
return true;
+#if ENABLE(VIDEO)
+ if (node->hasTagName(audioTag) && !static_cast<HTMLAudioElement*>(node)->paused())
+ return true;
+#endif
}
return false;
@@ -450,31 +455,36 @@ void setDOMException(ExecState* exec, ExceptionCode ec)
if (!ec || exec->hadException())
return;
+ // FIXME: All callers to setDOMException need to pass in the right global object
+ // for now, we're going to assume the lexicalGlobalObject. Which is wrong in cases like this:
+ // frames[0].document.createElement(null, null); // throws an exception which should have the subframes prototypes.
+ JSDOMGlobalObject* globalObject = deprecatedGlobalObjectForPrototype(exec);
+
ExceptionCodeDescription description;
getExceptionCodeDescription(ec, description);
JSValue errorObject;
switch (description.type) {
case DOMExceptionType:
- errorObject = toJS(exec, DOMCoreException::create(description));
+ errorObject = toJS(exec, globalObject, DOMCoreException::create(description));
break;
case RangeExceptionType:
- errorObject = toJS(exec, RangeException::create(description));
+ errorObject = toJS(exec, globalObject, RangeException::create(description));
break;
case EventExceptionType:
- errorObject = toJS(exec, EventException::create(description));
+ errorObject = toJS(exec, globalObject, EventException::create(description));
break;
case XMLHttpRequestExceptionType:
- errorObject = toJS(exec, XMLHttpRequestException::create(description));
+ errorObject = toJS(exec, globalObject, XMLHttpRequestException::create(description));
break;
#if ENABLE(SVG)
case SVGExceptionType:
- errorObject = toJS(exec, SVGException::create(description).get(), 0);
+ errorObject = toJS(exec, globalObject, SVGException::create(description).get(), 0);
break;
#endif
#if ENABLE(XPATH)
case XPathExceptionType:
- errorObject = toJS(exec, XPathException::create(description));
+ errorObject = toJS(exec, globalObject, XPathException::create(description));
break;
#endif
}
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSDOMBinding.h b/src/3rdparty/webkit/WebCore/bindings/js/JSDOMBinding.h
index 1378c91..3975940 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSDOMBinding.h
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSDOMBinding.h
@@ -2,6 +2,7 @@
* Copyright (C) 1999-2001 Harri Porten (porten@kde.org)
* Copyright (C) 2003, 2004, 2005, 2006, 2008 Apple Inc. All rights reserved.
* Copyright (C) 2007 Samuel Weinig <sam@webkit.org>
+ * Copyright (C) 2009 Google, Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@@ -22,6 +23,7 @@
#define JSDOMBinding_h
#include "JSDOMGlobalObject.h"
+#include "Document.h" // For DOMConstructorWithDocument
#include <runtime/Completion.h>
#include <runtime/Lookup.h>
#include <runtime/JSFunction.h>
@@ -59,6 +61,73 @@ namespace WebCore {
#endif
};
+ // FIXME: This class should colapse into DOMObject once all DOMObjects are
+ // updated to store a globalObject pointer.
+ class DOMObjectWithGlobalPointer : public DOMObject {
+ public:
+ JSDOMGlobalObject* globalObject() const { return m_globalObject; }
+
+ ScriptExecutionContext* scriptExecutionContext() const
+ {
+ // FIXME: Should never be 0, but can be due to bug 27640.
+ return m_globalObject->scriptExecutionContext();
+ }
+
+ protected:
+ DOMObjectWithGlobalPointer(PassRefPtr<JSC::Structure> structure, JSDOMGlobalObject* globalObject)
+ : DOMObject(structure)
+ , m_globalObject(globalObject)
+ {
+ // FIXME: This ASSERT is valid, but fires in fast/dom/gc-6.html when trying to create
+ // new JavaScript objects on detached windows due to DOMWindow::document()
+ // needing to reach through the frame to get to the Document*. See bug 27640.
+ // ASSERT(globalObject->scriptExecutionContext());
+ }
+ virtual ~DOMObjectWithGlobalPointer() {}
+
+ void mark()
+ {
+ DOMObject::mark();
+ if (!m_globalObject->marked())
+ m_globalObject->mark();
+ }
+
+ private:
+ JSDOMGlobalObject* m_globalObject;
+ };
+
+ // Base class for all constructor objects in the JSC bindings.
+ class DOMConstructorObject : public DOMObjectWithGlobalPointer {
+ public:
+ static PassRefPtr<JSC::Structure> createStructure(JSC::JSValue prototype)
+ {
+ return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasStandardGetOwnPropertySlot | JSC::ImplementsHasInstance));
+ }
+
+ protected:
+ DOMConstructorObject(PassRefPtr<JSC::Structure> structure, JSDOMGlobalObject* globalObject)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
+ {
+ }
+ };
+
+ // Constructors using this base class depend on being in a Document and
+ // can never be used from a WorkerContext.
+ class DOMConstructorWithDocument : public DOMConstructorObject {
+ public:
+ Document* document() const
+ {
+ return static_cast<Document*>(scriptExecutionContext());
+ }
+
+ protected:
+ DOMConstructorWithDocument(PassRefPtr<JSC::Structure> structure, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(structure, globalObject)
+ {
+ ASSERT(globalObject->scriptExecutionContext()->isDocument());
+ }
+ };
+
DOMObject* getCachedDOMObjectWrapper(JSC::JSGlobalData&, void* objectHandle);
void cacheDOMObjectWrapper(JSC::JSGlobalData&, void* objectHandle, DOMObject* wrapper);
void forgetDOMObject(JSC::JSGlobalData&, void* objectHandle);
@@ -80,74 +149,86 @@ namespace WebCore {
JSC::JSObject* getCachedDOMConstructor(JSC::ExecState*, const JSC::ClassInfo*);
void cacheDOMConstructor(JSC::ExecState*, const JSC::ClassInfo*, JSC::JSObject* constructor);
+ inline JSDOMGlobalObject* deprecatedGlobalObjectForPrototype(JSC::ExecState* exec)
+ {
+ // FIXME: Callers to this function should be using the global object
+ // from which the object is being created, instead of assuming the lexical one.
+ // e.g. subframe.document.body should use the subframe's global object, not the lexical one.
+ return static_cast<JSDOMGlobalObject*>(exec->lexicalGlobalObject());
+ }
+
template<class WrapperClass> inline JSC::Structure* getDOMStructure(JSC::ExecState* exec, JSDOMGlobalObject* globalObject)
{
if (JSC::Structure* structure = getCachedDOMStructure(globalObject, &WrapperClass::s_info))
return structure;
return cacheDOMStructure(globalObject, WrapperClass::createStructure(WrapperClass::createPrototype(exec, globalObject)), &WrapperClass::s_info);
}
- template<class WrapperClass> inline JSC::Structure* getDOMStructure(JSC::ExecState* exec)
+ template<class WrapperClass> inline JSC::Structure* deprecatedGetDOMStructure(JSC::ExecState* exec)
{
- return getDOMStructure<WrapperClass>(exec, static_cast<JSDOMGlobalObject*>(exec->lexicalGlobalObject()));
+ // FIXME: This function is wrong. It uses the wrong global object for creating the prototype structure.
+ return getDOMStructure<WrapperClass>(exec, deprecatedGlobalObjectForPrototype(exec));
}
template<class WrapperClass> inline JSC::JSObject* getDOMPrototype(JSC::ExecState* exec, JSC::JSGlobalObject* globalObject)
{
return static_cast<JSC::JSObject*>(asObject(getDOMStructure<WrapperClass>(exec, static_cast<JSDOMGlobalObject*>(globalObject))->storedPrototype()));
}
- #define CREATE_DOM_OBJECT_WRAPPER(exec, className, object) createDOMObjectWrapper<JS##className>(exec, static_cast<className*>(object))
- template<class WrapperClass, class DOMClass> inline DOMObject* createDOMObjectWrapper(JSC::ExecState* exec, DOMClass* object)
+ #define CREATE_DOM_OBJECT_WRAPPER(exec, globalObject, className, object) createDOMObjectWrapper<JS##className>(exec, globalObject, static_cast<className*>(object))
+ template<class WrapperClass, class DOMClass> inline DOMObject* createDOMObjectWrapper(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, DOMClass* object)
{
ASSERT(object);
ASSERT(!getCachedDOMObjectWrapper(exec->globalData(), object));
- WrapperClass* wrapper = new (exec) WrapperClass(getDOMStructure<WrapperClass>(exec), object);
+ // FIXME: new (exec) could use a different globalData than the globalData this wrapper is cached on.
+ WrapperClass* wrapper = new (exec) WrapperClass(getDOMStructure<WrapperClass>(exec, globalObject), globalObject, object);
cacheDOMObjectWrapper(exec->globalData(), object, wrapper);
return wrapper;
}
- template<class WrapperClass, class DOMClass> inline JSC::JSValue getDOMObjectWrapper(JSC::ExecState* exec, DOMClass* object)
+ template<class WrapperClass, class DOMClass> inline JSC::JSValue getDOMObjectWrapper(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, DOMClass* object)
{
if (!object)
return JSC::jsNull();
if (DOMObject* wrapper = getCachedDOMObjectWrapper(exec->globalData(), object))
return wrapper;
- return createDOMObjectWrapper<WrapperClass>(exec, object);
+ return createDOMObjectWrapper<WrapperClass>(exec, globalObject, object);
}
#if ENABLE(SVG)
- #define CREATE_SVG_OBJECT_WRAPPER(exec, className, object, context) createDOMObjectWrapper<JS##className>(exec, static_cast<className*>(object), context)
- template<class WrapperClass, class DOMClass> inline DOMObject* createDOMObjectWrapper(JSC::ExecState* exec, DOMClass* object, SVGElement* context)
+ #define CREATE_SVG_OBJECT_WRAPPER(exec, globalObject, className, object, context) createDOMObjectWrapper<JS##className>(exec, globalObject, static_cast<className*>(object), context)
+ template<class WrapperClass, class DOMClass> inline DOMObject* createDOMObjectWrapper(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, DOMClass* object, SVGElement* context)
{
ASSERT(object);
ASSERT(!getCachedDOMObjectWrapper(exec->globalData(), object));
- WrapperClass* wrapper = new (exec) WrapperClass(getDOMStructure<WrapperClass>(exec), object, context);
+ WrapperClass* wrapper = new (exec) WrapperClass(getDOMStructure<WrapperClass>(exec, globalObject), globalObject, object, context);
cacheDOMObjectWrapper(exec->globalData(), object, wrapper);
return wrapper;
}
- template<class WrapperClass, class DOMClass> inline JSC::JSValue getDOMObjectWrapper(JSC::ExecState* exec, DOMClass* object, SVGElement* context)
+ template<class WrapperClass, class DOMClass> inline JSC::JSValue getDOMObjectWrapper(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, DOMClass* object, SVGElement* context)
{
if (!object)
return JSC::jsNull();
if (DOMObject* wrapper = getCachedDOMObjectWrapper(exec->globalData(), object))
return wrapper;
- return createDOMObjectWrapper<WrapperClass>(exec, object, context);
+ return createDOMObjectWrapper<WrapperClass>(exec, globalObject, object, context);
}
#endif
- #define CREATE_DOM_NODE_WRAPPER(exec, className, object) createDOMNodeWrapper<JS##className>(exec, static_cast<className*>(object))
- template<class WrapperClass, class DOMClass> inline JSNode* createDOMNodeWrapper(JSC::ExecState* exec, DOMClass* node)
+ #define CREATE_DOM_NODE_WRAPPER(exec, globalObject, className, object) createDOMNodeWrapper<JS##className>(exec, globalObject, static_cast<className*>(object))
+ template<class WrapperClass, class DOMClass> inline JSNode* createDOMNodeWrapper(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, DOMClass* node)
{
ASSERT(node);
ASSERT(!getCachedDOMNodeWrapper(node->document(), node));
- WrapperClass* wrapper = new (exec) WrapperClass(getDOMStructure<WrapperClass>(exec), node);
+ WrapperClass* wrapper = new (exec) WrapperClass(getDOMStructure<WrapperClass>(exec, globalObject), globalObject, node);
+ // FIXME: The entire function can be removed, once we fix caching.
+ // This function is a one-off hack to make Nodes cache in the right global object.
cacheDOMNodeWrapper(node->document(), node, wrapper);
return wrapper;
}
- template<class WrapperClass, class DOMClass> inline JSC::JSValue getDOMNodeWrapper(JSC::ExecState* exec, DOMClass* node)
+ template<class WrapperClass, class DOMClass> inline JSC::JSValue getDOMNodeWrapper(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, DOMClass* node)
{
if (!node)
return JSC::jsNull();
if (JSNode* wrapper = getCachedDOMNodeWrapper(node->document(), node))
return wrapper;
- return createDOMNodeWrapper<WrapperClass>(exec, node);
+ return createDOMNodeWrapper<WrapperClass>(exec, globalObject, node);
}
const JSC::HashTable* getHashTableForGlobalData(JSC::JSGlobalData&, const JSC::HashTable* staticTable);
@@ -174,7 +255,28 @@ namespace WebCore {
JSC::UString valueToStringWithNullCheck(JSC::ExecState*, JSC::JSValue); // null if the value is null
JSC::UString valueToStringWithUndefinedOrNullCheck(JSC::ExecState*, JSC::JSValue); // null if the value is null or undefined
- template <typename T> inline JSC::JSValue toJS(JSC::ExecState* exec, PassRefPtr<T> ptr) { return toJS(exec, ptr.get()); }
+ // FIXME: These are a stop-gap until all toJS calls can be converted to pass a globalObject
+ template <typename T>
+ inline JSC::JSValue toJS(JSC::ExecState* exec, T* ptr)
+ {
+ return toJS(exec, deprecatedGlobalObjectForPrototype(exec), ptr);
+ }
+ template <typename T>
+ inline JSC::JSValue toJS(JSC::ExecState* exec, PassRefPtr<T> ptr)
+ {
+ return toJS(exec, deprecatedGlobalObjectForPrototype(exec), ptr.get());
+ }
+ template <typename T>
+ inline JSC::JSValue toJSNewlyCreated(JSC::ExecState* exec, T* ptr)
+ {
+ return toJSNewlyCreated(exec, deprecatedGlobalObjectForPrototype(exec), ptr);
+ }
+
+ template <typename T>
+ inline JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<T> ptr)
+ {
+ return toJS(exec, globalObject, ptr.get());
+ }
bool checkNodeSecurity(JSC::ExecState*, Node*);
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSDOMGlobalObject.h b/src/3rdparty/webkit/WebCore/bindings/js/JSDOMGlobalObject.h
index 8e4e820..bc6c1f2 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSDOMGlobalObject.h
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSDOMGlobalObject.h
@@ -67,6 +67,9 @@ namespace WebCore {
JSListenersMap& jsEventListeners();
+ // Make binding code generation easier.
+ JSDOMGlobalObject* globalObject() { return this; }
+
void setCurrentEvent(Event*);
Event* currentEvent() const;
@@ -89,16 +92,6 @@ namespace WebCore {
};
template<class ConstructorClass>
- inline JSC::JSObject* getDOMConstructor(JSC::ExecState* exec)
- {
- if (JSC::JSObject* constructor = getCachedDOMConstructor(exec, &ConstructorClass::s_info))
- return constructor;
- JSC::JSObject* constructor = new (exec) ConstructorClass(exec);
- cacheDOMConstructor(exec, &ConstructorClass::s_info, constructor);
- return constructor;
- }
-
- template<class ConstructorClass>
inline JSC::JSObject* getDOMConstructor(JSC::ExecState* exec, const JSDOMGlobalObject* globalObject)
{
if (JSC::JSObject* constructor = globalObject->constructors().get(&ConstructorClass::s_info))
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSDOMWindowBase.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSDOMWindowBase.cpp
index 0eefebe..df6068a 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSDOMWindowBase.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSDOMWindowBase.cpp
@@ -63,7 +63,7 @@ void JSDOMWindowBase::updateDocument()
{
ASSERT(d()->impl->document());
ExecState* exec = globalExec();
- symbolTablePutWithAttributes(Identifier(exec, "document"), toJS(exec, d()->impl->document()), DontDelete | ReadOnly);
+ symbolTablePutWithAttributes(Identifier(exec, "document"), toJS(exec, this, d()->impl->document()), DontDelete | ReadOnly);
}
ScriptExecutionContext* JSDOMWindowBase::scriptExecutionContext() const
@@ -99,7 +99,7 @@ void JSDOMWindowBase::printErrorMessage(const String& message) const
if (settings->privateBrowsingEnabled())
return;
- impl()->console()->addMessage(JSMessageSource, ErrorMessageLevel, message, 1, String()); // FIXME: provide a real line number and source URL.
+ impl()->console()->addMessage(JSMessageSource, LogMessageType, ErrorMessageLevel, message, 1, String()); // FIXME: provide a real line number and source URL.
}
ExecState* JSDOMWindowBase::globalExec()
@@ -172,6 +172,13 @@ JSGlobalData* JSDOMWindowBase::commonJSGlobalData()
return globalData;
}
+// JSDOMGlobalObject* is ignored, accesing a window in any context will
+// use that DOMWindow's prototype chain.
+JSValue toJS(ExecState* exec, JSDOMGlobalObject*, DOMWindow* domWindow)
+{
+ return toJS(exec, domWindow);
+}
+
JSValue toJS(ExecState*, DOMWindow* domWindow)
{
if (!domWindow)
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSDOMWindowBase.h b/src/3rdparty/webkit/WebCore/bindings/js/JSDOMWindowBase.h
index 113344f..84cc81f 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSDOMWindowBase.h
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSDOMWindowBase.h
@@ -89,6 +89,9 @@ namespace WebCore {
};
// Returns a JSDOMWindow or jsNull()
+ // JSDOMGlobalObject* is ignored, accesing a window in any context will
+ // use that DOMWindow's prototype chain.
+ JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, DOMWindow*);
JSC::JSValue toJS(JSC::ExecState*, DOMWindow*);
// Returns JSDOMWindow or 0
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSDOMWindowCustom.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSDOMWindowCustom.cpp
index 22013eb..33ac7bb 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSDOMWindowCustom.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSDOMWindowCustom.cpp
@@ -45,6 +45,7 @@
#include "JSMessageChannelConstructor.h"
#include "JSMessagePort.h"
#include "JSOptionConstructor.h"
+#include "JSSharedWorkerConstructor.h"
#include "JSWebKitCSSMatrixConstructor.h"
#include "JSWebKitPointConstructor.h"
#include "JSWorkerConstructor.h"
@@ -358,7 +359,8 @@ JSValue JSDOMWindow::history(ExecState* exec) const
if (DOMObject* wrapper = getCachedDOMObjectWrapper(exec->globalData(), history))
return wrapper;
- JSHistory* jsHistory = new (exec) JSHistory(getDOMStructure<JSHistory>(exec, const_cast<JSDOMWindow*>(this)), history);
+ JSDOMWindow* window = const_cast<JSDOMWindow*>(this);
+ JSHistory* jsHistory = new (exec) JSHistory(getDOMStructure<JSHistory>(exec, window), window, history);
cacheDOMObjectWrapper(exec->globalData(), history, jsHistory);
return jsHistory;
}
@@ -369,7 +371,8 @@ JSValue JSDOMWindow::location(ExecState* exec) const
if (DOMObject* wrapper = getCachedDOMObjectWrapper(exec->globalData(), location))
return wrapper;
- JSLocation* jsLocation = new (exec) JSLocation(getDOMStructure<JSLocation>(exec, const_cast<JSDOMWindow*>(this)), location);
+ JSDOMWindow* window = const_cast<JSDOMWindow*>(this);
+ JSLocation* jsLocation = new (exec) JSLocation(getDOMStructure<JSLocation>(exec, window), window, location);
cacheDOMObjectWrapper(exec->globalData(), location, jsLocation);
return jsLocation;
}
@@ -442,12 +445,12 @@ JSValue JSDOMWindow::audio(ExecState* exec) const
JSValue JSDOMWindow::webKitPoint(ExecState* exec) const
{
- return getDOMConstructor<JSWebKitPointConstructor>(exec);
+ return getDOMConstructor<JSWebKitPointConstructor>(exec, this);
}
JSValue JSDOMWindow::webKitCSSMatrix(ExecState* exec) const
{
- return getDOMConstructor<JSWebKitCSSMatrixConstructor>(exec);
+ return getDOMConstructor<JSWebKitCSSMatrixConstructor>(exec, this);
}
JSValue JSDOMWindow::xmlHttpRequest(ExecState* exec) const
@@ -458,7 +461,7 @@ JSValue JSDOMWindow::xmlHttpRequest(ExecState* exec) const
#if ENABLE(XSLT)
JSValue JSDOMWindow::xsltProcessor(ExecState* exec) const
{
- return getDOMConstructor<JSXSLTProcessorConstructor>(exec);
+ return getDOMConstructor<JSXSLTProcessorConstructor>(exec, this);
}
#endif
@@ -472,7 +475,14 @@ JSValue JSDOMWindow::messageChannel(ExecState* exec) const
#if ENABLE(WORKERS)
JSValue JSDOMWindow::worker(ExecState* exec) const
{
- return getDOMConstructor<JSWorkerConstructor>(exec);
+ return getDOMConstructor<JSWorkerConstructor>(exec, this);
+}
+#endif
+
+#if ENABLE(SHARED_WORKERS)
+JSValue JSDOMWindow::sharedWorker(ExecState* exec) const
+{
+ return getDOMConstructor<JSSharedWorkerConstructor>(exec, this);
}
#endif
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSDataGridColumnListCustom.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSDataGridColumnListCustom.cpp
index af49df4..91b3d15 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSDataGridColumnListCustom.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSDataGridColumnListCustom.cpp
@@ -24,6 +24,9 @@
*/
#include "config.h"
+
+#if ENABLE(DATAGRID)
+
#include "JSDataGridColumnList.h"
#include "AtomicString.h"
@@ -43,7 +46,9 @@ bool JSDataGridColumnList::canGetItemsForName(ExecState*, DataGridColumnList* im
JSValue JSDataGridColumnList::nameGetter(ExecState* exec, const Identifier& propertyName, const PropertySlot& slot)
{
JSDataGridColumnList* thisObj = static_cast<JSDataGridColumnList*>(asObject(slot.slotBase()));
- return toJS(exec, thisObj->impl()->itemWithName(propertyName));
+ return toJS(exec, thisObj->globalObject(), thisObj->impl()->itemWithName(propertyName));
}
} // namespace WebCore
+
+#endif
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSDataGridDataSource.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSDataGridDataSource.cpp
index e75b10b..02b4214 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSDataGridDataSource.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSDataGridDataSource.cpp
@@ -24,6 +24,9 @@
*/
#include "config.h"
+
+#if ENABLE(DATAGRID)
+
#include "JSDataGridDataSource.h"
#include "Document.h"
@@ -47,34 +50,6 @@ JSDataGridDataSource::~JSDataGridDataSource()
{
}
-void JSDataGridDataSource::initialize(HTMLDataGridElement* datagrid)
-{
- if (!m_frame->script()->isEnabled())
- return;
-
- JSLock lock(false);
- RefPtr<JSDataGridDataSource> protect(this);
-
- ExecState* exec = m_frame->script()->globalObject()->globalExec();
-
- if (!jsDataSource().isObject())
- return;
-
- JSValue initializeFunction = jsDataSource().get(exec, Identifier(exec, "initialize"));
- CallData callData;
- CallType callType = initializeFunction.getCallData(callData);
- if (callType == CallTypeNone)
- return;
-
- MarkedArgumentBuffer args;
- args.append(toJS(exec, datagrid));
-
- JSDOMWindowBase::commonJSGlobalData()->timeoutChecker.start();
- call(exec, initializeFunction, callType, callData, m_dataSource, args);
- JSDOMWindowBase::commonJSGlobalData()->timeoutChecker.stop();
-
- if (exec->hadException())
- reportCurrentException(exec);
-}
-
} // namespace WebCore
+
+#endif // ENABLE(DATAGRID)
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSDataGridDataSource.h b/src/3rdparty/webkit/WebCore/bindings/js/JSDataGridDataSource.h
index 2537b00..077ef8f 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSDataGridDataSource.h
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSDataGridDataSource.h
@@ -26,6 +26,8 @@
#ifndef JSDataGridDataSource_h
#define JSDataGridDataSource_h
+#if ENABLE(DATAGRID)
+
#include "DataGridDataSource.h"
#include <runtime/JSValue.h>
#include <runtime/Protect.h>
@@ -49,8 +51,6 @@ public:
virtual bool isJSDataGridDataSource() const { return true; }
JSC::JSValue jsDataSource() const { return m_dataSource.get(); }
- virtual void initialize(HTMLDataGridElement*);
-
private:
JSDataGridDataSource(JSC::JSValue, Frame*);
@@ -72,4 +72,5 @@ inline const JSDataGridDataSource* asJSDataGridDataSource(const DataGridDataSour
} // namespace WebCore
+#endif // ENABLE(DATAGRID)
#endif // JSDataGridDataSource_h
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSDedicatedWorkerContextCustom.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSDedicatedWorkerContextCustom.cpp
new file mode 100644
index 0000000..c45a6a3
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSDedicatedWorkerContextCustom.cpp
@@ -0,0 +1,50 @@
+/*
+ * Copyright (C) 2009 Google Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following disclaimer
+ * in the documentation and/or other materials provided with the
+ * distribution.
+ * * Neither the name of Google Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+
+#if ENABLE(WORKERS)
+
+#include "JSDedicatedWorkerContext.h"
+
+using namespace JSC;
+
+namespace WebCore {
+
+void JSDedicatedWorkerContext::mark()
+{
+ Base::mark();
+
+ markIfNotNull(impl()->onmessage());
+}
+
+} // namespace WebCore
+
+#endif // ENABLE(WORKERS)
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSDocumentCustom.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSDocumentCustom.cpp
index 956327a..493aaea 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSDocumentCustom.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSDocumentCustom.cpp
@@ -56,8 +56,7 @@ JSValue JSDocument::location(ExecState* exec) const
if (DOMObject* wrapper = getCachedDOMObjectWrapper(exec->globalData(), location))
return wrapper;
- JSDOMWindow* window = static_cast<JSDOMWindow*>(exec->lexicalGlobalObject());
- JSLocation* jsLocation = new (exec) JSLocation(getDOMStructure<JSLocation>(exec, window), location);
+ JSLocation* jsLocation = new (exec) JSLocation(getDOMStructure<JSLocation>(exec, globalObject()), globalObject(), location);
cacheDOMObjectWrapper(exec->globalData(), location, jsLocation);
return jsLocation;
}
@@ -80,7 +79,7 @@ void JSDocument::setLocation(ExecState* exec, JSValue value)
frame->loader()->scheduleLocationChange(str, activeFrame->loader()->outgoingReferrer(), !activeFrame->script()->anyPageIsProcessingUserGesture(), false, userGesture);
}
-JSValue toJS(ExecState* exec, Document* document)
+JSValue toJS(ExecState* exec, JSDOMGlobalObject* globalObject, Document* document)
{
if (!document)
return jsNull();
@@ -90,13 +89,13 @@ JSValue toJS(ExecState* exec, Document* document)
return wrapper;
if (document->isHTMLDocument())
- wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, HTMLDocument, document);
+ wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, globalObject, HTMLDocument, document);
#if ENABLE(SVG)
else if (document->isSVGDocument())
- wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, SVGDocument, document);
+ wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, globalObject, SVGDocument, document);
#endif
else
- wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, Document, document);
+ wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, globalObject, Document, document);
// Make sure the document is kept around by the window object, and works right with the
// back/forward cache.
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSElementCustom.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSElementCustom.cpp
index b12c185..47793d0 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSElementCustom.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSElementCustom.cpp
@@ -53,7 +53,7 @@ using namespace HTMLNames;
static inline bool allowSettingSrcToJavascriptURL(ExecState* exec, Element* element, const String& name, const String& value)
{
- if ((element->hasTagName(iframeTag) || element->hasTagName(frameTag)) && equalIgnoringCase(name, "src") && protocolIsJavaScript(parseURL(value))) {
+ if ((element->hasTagName(iframeTag) || element->hasTagName(frameTag)) && equalIgnoringCase(name, "src") && protocolIsJavaScript(deprecatedParseURL(value))) {
HTMLFrameElementBase* frame = static_cast<HTMLFrameElementBase*>(element);
if (!checkNodeSecurity(exec, frame->contentDocument()))
return false;
@@ -89,7 +89,7 @@ JSValue JSElement::setAttributeNode(ExecState* exec, const ArgList& args)
if (!allowSettingSrcToJavascriptURL(exec, imp, newAttr->name(), newAttr->value()))
return jsUndefined();
- JSValue result = toJS(exec, WTF::getPtr(imp->setAttributeNode(newAttr, ec)));
+ JSValue result = toJS(exec, globalObject(), WTF::getPtr(imp->setAttributeNode(newAttr, ec)));
setDOMException(exec, ec);
return result;
}
@@ -123,12 +123,12 @@ JSValue JSElement::setAttributeNodeNS(ExecState* exec, const ArgList& args)
if (!allowSettingSrcToJavascriptURL(exec, imp, newAttr->name(), newAttr->value()))
return jsUndefined();
- JSValue result = toJS(exec, WTF::getPtr(imp->setAttributeNodeNS(newAttr, ec)));
+ JSValue result = toJS(exec, globalObject(), WTF::getPtr(imp->setAttributeNodeNS(newAttr, ec)));
setDOMException(exec, ec);
return result;
}
-JSValue toJSNewlyCreated(ExecState* exec, Element* element)
+JSValue toJSNewlyCreated(ExecState* exec, JSDOMGlobalObject* globalObject, Element* element)
{
if (!element)
return jsNull();
@@ -137,15 +137,15 @@ JSValue toJSNewlyCreated(ExecState* exec, Element* element)
JSNode* wrapper;
if (element->isHTMLElement())
- wrapper = createJSHTMLWrapper(exec, static_cast<HTMLElement*>(element));
+ wrapper = createJSHTMLWrapper(exec, globalObject, static_cast<HTMLElement*>(element));
#if ENABLE(SVG)
else if (element->isSVGElement())
- wrapper = createJSSVGWrapper(exec, static_cast<SVGElement*>(element));
+ wrapper = createJSSVGWrapper(exec, globalObject, static_cast<SVGElement*>(element));
#endif
else
- wrapper = CREATE_DOM_NODE_WRAPPER(exec, Element, element);
+ wrapper = CREATE_DOM_NODE_WRAPPER(exec, globalObject, Element, element);
return wrapper;
}
-
+
} // namespace WebCore
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSEventCustom.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSEventCustom.cpp
index 03b97d8..257c259 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSEventCustom.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSEventCustom.cpp
@@ -32,6 +32,7 @@
#include "Clipboard.h"
#include "Event.h"
#include "JSClipboard.h"
+#include "JSErrorEvent.h"
#include "JSKeyboardEvent.h"
#include "JSMessageEvent.h"
#include "JSMouseEvent.h"
@@ -44,6 +45,7 @@
#include "JSWebKitTransitionEvent.h"
#include "JSWheelEvent.h"
#include "JSXMLHttpRequestProgressEvent.h"
+#include "ErrorEvent.h"
#include "KeyboardEvent.h"
#include "MessageEvent.h"
#include "MouseEvent.h"
@@ -74,12 +76,12 @@ namespace WebCore {
JSValue JSEvent::clipboardData(ExecState* exec) const
{
- return impl()->isClipboardEvent() ? toJS(exec, impl()->clipboardData()) : jsUndefined();
+ return impl()->isClipboardEvent() ? toJS(exec, globalObject(), impl()->clipboardData()) : jsUndefined();
}
-JSValue toJS(ExecState* exec, Event* event)
+JSValue toJS(ExecState* exec, JSDOMGlobalObject* globalObject, Event* event)
{
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
if (!event)
return jsNull();
@@ -90,41 +92,45 @@ JSValue toJS(ExecState* exec, Event* event)
if (event->isUIEvent()) {
if (event->isKeyboardEvent())
- wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, KeyboardEvent, event);
+ wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, globalObject, KeyboardEvent, event);
else if (event->isTextEvent())
- wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, TextEvent, event);
+ wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, globalObject, TextEvent, event);
else if (event->isMouseEvent())
- wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, MouseEvent, event);
+ wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, globalObject, MouseEvent, event);
else if (event->isWheelEvent())
- wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, WheelEvent, event);
+ wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, globalObject, WheelEvent, event);
#if ENABLE(SVG)
else if (event->isSVGZoomEvent())
- wrapper = CREATE_SVG_OBJECT_WRAPPER(exec, SVGZoomEvent, event, 0);
+ wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, globalObject, SVGZoomEvent, event);
#endif
else
- wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, UIEvent, event);
+ wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, globalObject, UIEvent, event);
} else if (event->isMutationEvent())
- wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, MutationEvent, event);
+ wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, globalObject, MutationEvent, event);
else if (event->isOverflowEvent())
- wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, OverflowEvent, event);
+ wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, globalObject, OverflowEvent, event);
else if (event->isMessageEvent())
- wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, MessageEvent, event);
+ wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, globalObject, MessageEvent, event);
else if (event->isProgressEvent()) {
if (event->isXMLHttpRequestProgressEvent())
- wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, XMLHttpRequestProgressEvent, event);
+ wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, globalObject, XMLHttpRequestProgressEvent, event);
else
- wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, ProgressEvent, event);
+ wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, globalObject, ProgressEvent, event);
}
#if ENABLE(DOM_STORAGE)
else if (event->isStorageEvent())
- wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, StorageEvent, event);
+ wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, globalObject, StorageEvent, event);
#endif
else if (event->isWebKitAnimationEvent())
- wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, WebKitAnimationEvent, event);
+ wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, globalObject, WebKitAnimationEvent, event);
else if (event->isWebKitTransitionEvent())
- wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, WebKitTransitionEvent, event);
+ wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, globalObject, WebKitTransitionEvent, event);
+#if ENABLE(WORKERS)
+ else if (event->isErrorEvent())
+ wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, globalObject, ErrorEvent, event);
+#endif
else
- wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, Event, event);
+ wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, globalObject, Event, event);
return wrapper;
}
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSEventListener.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSEventListener.cpp
index b9ed685..a659d3e 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSEventListener.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSEventListener.cpp
@@ -61,7 +61,7 @@ void JSEventListener::markJSFunction()
void JSEventListener::handleEvent(Event* event, bool isWindowEvent)
{
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
JSObject* jsFunction = this->jsFunction();
if (!jsFunction)
@@ -71,6 +71,7 @@ void JSEventListener::handleEvent(Event* event, bool isWindowEvent)
// Null check as clearGlobalObject() can clear this and we still get called back by
// xmlhttprequest objects. See http://bugs.webkit.org/show_bug.cgi?id=13275
// FIXME: Is this check still necessary? Requests are supposed to be stopped before clearGlobalObject() is called.
+ ASSERT(globalObject);
if (!globalObject)
return;
@@ -107,7 +108,7 @@ void JSEventListener::handleEvent(Event* event, bool isWindowEvent)
ref();
MarkedArgumentBuffer args;
- args.append(toJS(exec, event));
+ args.append(toJS(exec, globalObject, event));
Event* savedEvent = globalObject->currentEvent();
globalObject->setCurrentEvent(event);
@@ -127,7 +128,7 @@ void JSEventListener::handleEvent(Event* event, bool isWindowEvent)
if (isWindowEvent)
thisValue = globalObject->toThisObject(exec);
else
- thisValue = toJS(exec, event->currentTarget());
+ thisValue = toJS(exec, globalObject, event->currentTarget());
globalObject->globalData()->timeoutChecker.start();
retval = call(exec, jsFunction, callType, callData, thisValue, args);
}
@@ -153,6 +154,53 @@ void JSEventListener::handleEvent(Event* event, bool isWindowEvent)
}
}
+bool JSEventListener::reportError(const String& message, const String& url, int lineNumber)
+{
+ JSLock lock(SilenceAssertionsOnly);
+
+ JSObject* jsFunction = this->jsFunction();
+ if (!jsFunction)
+ return false;
+
+ JSDOMGlobalObject* globalObject = m_globalObject;
+ if (!globalObject)
+ return false;
+
+ ExecState* exec = globalObject->globalExec();
+
+ CallData callData;
+ CallType callType = jsFunction->getCallData(callData);
+
+ if (callType == CallTypeNone)
+ return false;
+
+ MarkedArgumentBuffer args;
+ args.append(jsString(exec, message));
+ args.append(jsString(exec, url));
+ args.append(jsNumber(exec, lineNumber));
+
+ // If this event handler is the first JavaScript to execute, then the
+ // dynamic global object should be set to the global object of the
+ // window in which the event occurred.
+ JSGlobalData* globalData = globalObject->globalData();
+ DynamicGlobalObjectScope globalObjectScope(exec, globalData->dynamicGlobalObject ? globalData->dynamicGlobalObject : globalObject);
+
+ JSValue thisValue = globalObject->toThisObject(exec);
+
+ globalObject->globalData()->timeoutChecker.start();
+ JSValue returnValue = call(exec, jsFunction, callType, callData, thisValue, args);
+ globalObject->globalData()->timeoutChecker.stop();
+
+ // If an error occurs while handling the script error, it should be bubbled up.
+ if (exec->hadException()) {
+ exec->clearException();
+ return false;
+ }
+
+ bool bubbleEvent;
+ return returnValue.getBoolean(bubbleEvent) && !bubbleEvent;
+}
+
bool JSEventListener::virtualisAttribute() const
{
return m_isAttribute;
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSEventListener.h b/src/3rdparty/webkit/WebCore/bindings/js/JSEventListener.h
index ce34832..2497750 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSEventListener.h
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSEventListener.h
@@ -45,6 +45,7 @@ namespace WebCore {
private:
virtual void markJSFunction();
virtual void handleEvent(Event*, bool isWindowEvent);
+ virtual bool reportError(const String& message, const String& url, int lineNumber);
virtual bool virtualisAttribute() const;
void clearJSFunctionInline();
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSEventTarget.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSEventTarget.cpp
index 2058098..b75cccf 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSEventTarget.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSEventTarget.cpp
@@ -50,17 +50,22 @@
#endif
#if ENABLE(WORKERS)
+#include "DedicatedWorkerContext.h"
+#include "JSDedicatedWorkerContext.h"
#include "JSWorker.h"
-#include "JSWorkerContext.h"
#include "Worker.h"
-#include "WorkerContext.h"
+#endif
+
+#if ENABLE(SHARED_WORKERS)
+#include "JSSharedWorker.h"
+#include "SharedWorker.h"
#endif
using namespace JSC;
namespace WebCore {
-JSValue toJS(ExecState* exec, EventTarget* target)
+JSValue toJS(ExecState* exec, JSDOMGlobalObject* globalObject, EventTarget* target)
{
if (!target)
return jsNull();
@@ -68,39 +73,42 @@ JSValue toJS(ExecState* exec, EventTarget* target)
#if ENABLE(SVG)
// SVGElementInstance supports both toSVGElementInstance and toNode since so much mouse handling code depends on toNode returning a valid node.
if (SVGElementInstance* instance = target->toSVGElementInstance())
- return toJS(exec, instance);
+ return toJS(exec, globalObject, instance);
#endif
if (Node* node = target->toNode())
- return toJS(exec, node);
+ return toJS(exec, globalObject, node);
if (DOMWindow* domWindow = target->toDOMWindow())
- return toJS(exec, domWindow);
+ return toJS(exec, globalObject, domWindow);
if (XMLHttpRequest* xhr = target->toXMLHttpRequest())
- // XMLHttpRequest is always created via JS, so we don't need to use cacheDOMObject() here.
- return getCachedDOMObjectWrapper(exec->globalData(), xhr);
+ return toJS(exec, globalObject, xhr);
if (XMLHttpRequestUpload* upload = target->toXMLHttpRequestUpload())
- return toJS(exec, upload);
+ return toJS(exec, globalObject, upload);
#if ENABLE(OFFLINE_WEB_APPLICATIONS)
if (DOMApplicationCache* cache = target->toDOMApplicationCache())
- // DOMApplicationCache is always created via JS, so we don't need to use cacheDOMObject() here.
- return getCachedDOMObjectWrapper(exec->globalData(), cache);
+ return toJS(exec, globalObject, cache);
#endif
if (MessagePort* messagePort = target->toMessagePort())
- return toJS(exec, messagePort);
+ return toJS(exec, globalObject, messagePort);
#if ENABLE(WORKERS)
if (Worker* worker = target->toWorker())
- return toJS(exec, worker);
+ return toJS(exec, globalObject, worker);
- if (WorkerContext* workerContext = target->toWorkerContext())
+ if (DedicatedWorkerContext* workerContext = target->toDedicatedWorkerContext())
return toJSDOMGlobalObject(workerContext);
#endif
+#if ENABLE(SHARED_WORKERS)
+ if (SharedWorker* sharedWorker = target->toSharedWorker())
+ return toJS(exec, globalObject, sharedWorker);
+#endif
+
ASSERT_NOT_REACHED();
return jsNull();
}
@@ -129,7 +137,11 @@ EventTarget* toEventTarget(JSC::JSValue value)
#if ENABLE(WORKERS)
CONVERT_TO_EVENT_TARGET(Worker)
- CONVERT_TO_EVENT_TARGET(WorkerContext)
+ CONVERT_TO_EVENT_TARGET(DedicatedWorkerContext)
+#endif
+
+#if ENABLE(SHARED_WORKERS)
+ CONVERT_TO_EVENT_TARGET(SharedWorker)
#endif
return 0;
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSEventTarget.h b/src/3rdparty/webkit/WebCore/bindings/js/JSEventTarget.h
index 05df056..ddd8232 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSEventTarget.h
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSEventTarget.h
@@ -35,8 +35,9 @@ namespace JSC {
namespace WebCore {
class EventTarget;
+ class JSDOMGlobalObject;
- JSC::JSValue toJS(JSC::ExecState*, EventTarget*);
+ JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, EventTarget*);
EventTarget* toEventTarget(JSC::JSValue);
} // namespace WebCore
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSHTMLAllCollection.h b/src/3rdparty/webkit/WebCore/bindings/js/JSHTMLAllCollection.h
index d559d3b..7363e5c 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSHTMLAllCollection.h
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSHTMLAllCollection.h
@@ -35,8 +35,8 @@ namespace WebCore {
class JSHTMLAllCollection : public JSHTMLCollection {
public:
- JSHTMLAllCollection(PassRefPtr<JSC::Structure> structure, PassRefPtr<HTMLCollection> collection)
- : JSHTMLCollection(structure, collection)
+ JSHTMLAllCollection(PassRefPtr<JSC::Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLCollection> collection)
+ : JSHTMLCollection(structure, globalObject, collection)
{
}
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSHTMLCollectionCustom.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSHTMLCollectionCustom.cpp
index 4100468..dd9af74 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSHTMLCollectionCustom.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSHTMLCollectionCustom.cpp
@@ -35,18 +35,18 @@ using namespace JSC;
namespace WebCore {
-static JSValue getNamedItems(ExecState* exec, HTMLCollection* impl, const Identifier& propertyName)
+static JSValue getNamedItems(ExecState* exec, JSHTMLCollection* collection, const Identifier& propertyName)
{
Vector<RefPtr<Node> > namedItems;
- impl->namedItems(propertyName, namedItems);
+ collection->impl()->namedItems(propertyName, namedItems);
if (namedItems.isEmpty())
return jsUndefined();
if (namedItems.size() == 1)
- return toJS(exec, namedItems[0].get());
+ return toJS(exec, collection->globalObject(), namedItems[0].get());
- return new (exec) JSNamedNodesCollection(exec, namedItems);
+ return new (exec) JSNamedNodesCollection(exec, collection->globalObject(), namedItems);
}
// HTMLCollections are strange objects, they support both get and call,
@@ -57,7 +57,8 @@ static JSValue JSC_HOST_CALL callHTMLCollection(ExecState* exec, JSObject* funct
return jsUndefined();
// Do not use thisObj here. It can be the JSHTMLDocument, in the document.forms(i) case.
- HTMLCollection* collection = static_cast<JSHTMLCollection*>(function)->impl();
+ JSHTMLCollection* jsCollection = static_cast<JSHTMLCollection*>(function);
+ HTMLCollection* collection = jsCollection->impl();
// Also, do we need the TypeError test here ?
@@ -67,10 +68,10 @@ static JSValue JSC_HOST_CALL callHTMLCollection(ExecState* exec, JSObject* funct
UString string = args.at(0).toString(exec);
unsigned index = string.toUInt32(&ok, false);
if (ok)
- return toJS(exec, collection->item(index));
+ return toJS(exec, jsCollection->globalObject(), collection->item(index));
// Support for document.images('<name>') etc.
- return getNamedItems(exec, collection, Identifier(exec, string));
+ return getNamedItems(exec, jsCollection, Identifier(exec, string));
}
// The second arg, if set, is the index of the item we want
@@ -82,7 +83,7 @@ static JSValue JSC_HOST_CALL callHTMLCollection(ExecState* exec, JSObject* funct
Node* node = collection->namedItem(pstr);
while (node) {
if (!index)
- return toJS(exec, node);
+ return toJS(exec, jsCollection->globalObject(), node);
node = collection->nextNamedItem(pstr);
--index;
}
@@ -97,15 +98,17 @@ CallType JSHTMLCollection::getCallData(CallData& callData)
return CallTypeHost;
}
-bool JSHTMLCollection::canGetItemsForName(ExecState* exec, HTMLCollection* thisObj, const Identifier& propertyName)
+bool JSHTMLCollection::canGetItemsForName(ExecState*, HTMLCollection* collection, const Identifier& propertyName)
{
- return !getNamedItems(exec, thisObj, propertyName).isUndefined();
+ Vector<RefPtr<Node> > namedItems;
+ collection->namedItems(propertyName, namedItems);
+ return !namedItems.isEmpty();
}
JSValue JSHTMLCollection::nameGetter(ExecState* exec, const Identifier& propertyName, const PropertySlot& slot)
{
JSHTMLCollection* thisObj = static_cast<JSHTMLCollection*>(asObject(slot.slotBase()));
- return getNamedItems(exec, thisObj->impl(), propertyName);
+ return getNamedItems(exec, thisObj, propertyName);
}
JSValue JSHTMLCollection::item(ExecState* exec, const ArgList& args)
@@ -113,16 +116,16 @@ JSValue JSHTMLCollection::item(ExecState* exec, const ArgList& args)
bool ok;
uint32_t index = args.at(0).toString(exec).toUInt32(&ok, false);
if (ok)
- return toJS(exec, impl()->item(index));
- return getNamedItems(exec, impl(), Identifier(exec, args.at(0).toString(exec)));
+ return toJS(exec, globalObject(), impl()->item(index));
+ return getNamedItems(exec, this, Identifier(exec, args.at(0).toString(exec)));
}
JSValue JSHTMLCollection::namedItem(ExecState* exec, const ArgList& args)
{
- return getNamedItems(exec, impl(), Identifier(exec, args.at(0).toString(exec)));
+ return getNamedItems(exec, this, Identifier(exec, args.at(0).toString(exec)));
}
-JSValue toJS(ExecState* exec, HTMLCollection* collection)
+JSValue toJS(ExecState* exec, JSDOMGlobalObject* globalObject, HTMLCollection* collection)
{
if (!collection)
return jsNull();
@@ -134,14 +137,14 @@ JSValue toJS(ExecState* exec, HTMLCollection* collection)
switch (collection->type()) {
case SelectOptions:
- wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, HTMLOptionsCollection, collection);
+ wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, globalObject, HTMLOptionsCollection, collection);
break;
case DocAll:
typedef HTMLCollection HTMLAllCollection;
- wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, HTMLAllCollection, collection);
+ wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, globalObject, HTMLAllCollection, collection);
break;
default:
- wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, HTMLCollection, collection);
+ wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, globalObject, HTMLCollection, collection);
break;
}
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSHTMLDataGridElementCustom.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSHTMLDataGridElementCustom.cpp
index 5aa0904..a30f5e4 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSHTMLDataGridElementCustom.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSHTMLDataGridElementCustom.cpp
@@ -24,6 +24,9 @@
*/
#include "config.h"
+
+#if ENABLE(DATAGRID)
+
#include "JSHTMLDataGridElement.h"
#include "Document.h"
@@ -44,7 +47,14 @@ JSValue JSHTMLDataGridElement::dataSource(ExecState*) const
void JSHTMLDataGridElement::setDataSource(ExecState*, JSValue value)
{
+ if (value.isNull()) {
+ static_cast<HTMLDataGridElement*>(impl())->setDataSource(0);
+ return;
+ }
+
static_cast<HTMLDataGridElement*>(impl())->setDataSource(JSDataGridDataSource::create(value, impl()->document()->frame()));
}
} // namespace WebCore
+
+#endif // ENABLE(DATAGRID)
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSHTMLElementCustom.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSHTMLElementCustom.cpp
index 3345764..4194657 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSHTMLElementCustom.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSHTMLElementCustom.cpp
@@ -38,14 +38,14 @@ void JSHTMLElement::pushEventHandlerScope(ExecState* exec, ScopeChain& scope) co
HTMLElement* element = impl();
// The document is put on first, fall back to searching it only after the element and form.
- scope.push(asObject(toJS(exec, element->ownerDocument())));
+ scope.push(asObject(toJS(exec, globalObject(), element->ownerDocument())));
// The form is next, searched before the document, but after the element itself.
if (HTMLFormElement* form = element->form())
- scope.push(asObject(toJS(exec, form)));
+ scope.push(asObject(toJS(exec, globalObject(), form)));
// The element is on top, searched first.
- scope.push(asObject(toJS(exec, element)));
+ scope.push(asObject(toJS(exec, globalObject(), element)));
}
} // namespace WebCore
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSHTMLFormElementCustom.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSHTMLFormElementCustom.cpp
index 8bf543c..ffa2d57 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSHTMLFormElementCustom.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSHTMLFormElementCustom.cpp
@@ -45,7 +45,8 @@ bool JSHTMLFormElement::canGetItemsForName(ExecState*, HTMLFormElement* form, co
JSValue JSHTMLFormElement::nameGetter(ExecState* exec, const Identifier& propertyName, const PropertySlot& slot)
{
- HTMLFormElement* form = static_cast<HTMLFormElement*>(static_cast<JSHTMLElement*>(asObject(slot.slotBase()))->impl());
+ JSHTMLElement* jsForm = static_cast<JSHTMLFormElement*>(asObject(slot.slotBase()));
+ HTMLFormElement* form = static_cast<HTMLFormElement*>(jsForm->impl());
Vector<RefPtr<Node> > namedItems;
form->getNamedElements(propertyName, namedItems);
@@ -53,7 +54,7 @@ JSValue JSHTMLFormElement::nameGetter(ExecState* exec, const Identifier& propert
if (namedItems.size() == 1)
return toJS(exec, namedItems[0].get());
if (namedItems.size() > 1)
- return new (exec) JSNamedNodesCollection(exec, namedItems);
+ return new (exec) JSNamedNodesCollection(exec, jsForm->globalObject(), namedItems);
return jsUndefined();
}
@@ -62,7 +63,7 @@ JSValue JSHTMLFormElement::submit(ExecState* exec, const ArgList&)
Frame* activeFrame = asJSDOMWindow(exec->dynamicGlobalObject())->impl()->frame();
if (!activeFrame)
return jsUndefined();
- static_cast<HTMLFormElement*>(impl())->submit(0, false, !activeFrame->script()->anyPageIsProcessingUserGesture(), false);
+ static_cast<HTMLFormElement*>(impl())->submit(0, false, !activeFrame->script()->anyPageIsProcessingUserGesture());
return jsUndefined();
}
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSHTMLFrameElementCustom.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSHTMLFrameElementCustom.cpp
index 0a5d1f1..c8aea9f 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSHTMLFrameElementCustom.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSHTMLFrameElementCustom.cpp
@@ -40,7 +40,7 @@ namespace WebCore {
static inline bool allowSettingJavascriptURL(ExecState* exec, HTMLFrameElement* imp, const String& value)
{
- if (protocolIsJavaScript(parseURL(value))) {
+ if (protocolIsJavaScript(deprecatedParseURL(value))) {
if (!checkNodeSecurity(exec, imp->contentDocument()))
return false;
}
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSHTMLIFrameElementCustom.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSHTMLIFrameElementCustom.cpp
index afff977..8e32381 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSHTMLIFrameElementCustom.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSHTMLIFrameElementCustom.cpp
@@ -44,7 +44,7 @@ void JSHTMLIFrameElement::setSrc(ExecState* exec, JSValue value)
String srcValue = valueToStringWithNullCheck(exec, value);
- if (protocolIsJavaScript(parseURL(srcValue))) {
+ if (protocolIsJavaScript(deprecatedParseURL(srcValue))) {
if (!checkNodeSecurity(exec, imp->contentDocument()))
return;
}
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSHTMLOptionsCollectionCustom.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSHTMLOptionsCollectionCustom.cpp
index 460ba08..7bca2db 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSHTMLOptionsCollectionCustom.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSHTMLOptionsCollectionCustom.cpp
@@ -91,7 +91,7 @@ JSValue JSHTMLOptionsCollection::add(ExecState* exec, const ArgList& args)
JSValue JSHTMLOptionsCollection::remove(ExecState* exec, const ArgList& args)
{
HTMLOptionsCollection* imp = static_cast<HTMLOptionsCollection*>(impl());
- JSHTMLSelectElement* base = static_cast<JSHTMLSelectElement*>(asObject(toJS(exec, imp->base())));
+ JSHTMLSelectElement* base = static_cast<JSHTMLSelectElement*>(asObject(toJS(exec, globalObject(), imp->base())));
return base->remove(exec, args);
}
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSImageConstructor.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSImageConstructor.cpp
index 4a27bb4..faaaf41 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSImageConstructor.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSImageConstructor.cpp
@@ -35,18 +35,9 @@ ASSERT_CLASS_FITS_IN_CELL(JSImageConstructor);
const ClassInfo JSImageConstructor::s_info = { "ImageConstructor", 0, 0, 0 };
JSImageConstructor::JSImageConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
- : DOMObject(JSImageConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
- , m_globalObject(globalObject)
+ : DOMConstructorWithDocument(JSImageConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- ASSERT(globalObject->scriptExecutionContext());
- ASSERT(globalObject->scriptExecutionContext()->isDocument());
-
- putDirect(exec->propertyNames().prototype, JSHTMLImageElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
-}
-
-Document* JSImageConstructor::document() const
-{
- return static_cast<Document*>(m_globalObject->scriptExecutionContext());
+ putDirect(exec->propertyNames().prototype, JSHTMLImageElementPrototype::self(exec, globalObject), None);
}
static JSObject* constructImage(ExecState* exec, JSObject* constructor, const ArgList& args)
@@ -64,21 +55,22 @@ static JSObject* constructImage(ExecState* exec, JSObject* constructor, const Ar
height = args.at(1).toInt32(exec);
}
- Document* document = static_cast<JSImageConstructor*>(constructor)->document();
+ JSImageConstructor* jsConstructor = static_cast<JSImageConstructor*>(constructor);
+ Document* document = jsConstructor->document();
if (!document)
return throwError(exec, ReferenceError, "Image constructor associated document is unavailable");
// Calling toJS on the document causes the JS document wrapper to be
// added to the window object. This is done to ensure that JSDocument::mark
// will be called (which will cause the image element to be marked if necessary).
- toJS(exec, document);
+ toJS(exec, jsConstructor->globalObject(), document);
RefPtr<HTMLImageElement> image = new HTMLImageElement(HTMLNames::imgTag, document);
if (widthSet)
image->setWidth(width);
if (heightSet)
image->setHeight(height);
- return asObject(toJS(exec, image.release()));
+ return asObject(toJS(exec, jsConstructor->globalObject(), image.release()));
}
ConstructType JSImageConstructor::getConstructData(ConstructData& constructData)
@@ -87,11 +79,4 @@ ConstructType JSImageConstructor::getConstructData(ConstructData& constructData)
return ConstructTypeHost;
}
-void JSImageConstructor::mark()
-{
- DOMObject::mark();
- if (!m_globalObject->marked())
- m_globalObject->mark();
-}
-
} // namespace WebCore
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSImageConstructor.h b/src/3rdparty/webkit/WebCore/bindings/js/JSImageConstructor.h
index 8dc7add..0525f5e 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSImageConstructor.h
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSImageConstructor.h
@@ -25,19 +25,14 @@
namespace WebCore {
- class JSImageConstructor : public DOMObject {
+ class JSImageConstructor : public DOMConstructorWithDocument {
public:
JSImageConstructor(JSC::ExecState*, JSDOMGlobalObject*);
- Document* document() const;
static const JSC::ClassInfo s_info;
-
- virtual void mark();
private:
virtual JSC::ConstructType getConstructData(JSC::ConstructData&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
-
- JSDOMGlobalObject* m_globalObject;
};
} // namespace WebCore
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSImageDataCustom.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSImageDataCustom.cpp
index 32fe58b..fa3b1d5 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSImageDataCustom.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSImageDataCustom.cpp
@@ -36,7 +36,7 @@ using namespace JSC;
namespace WebCore {
-JSValue toJS(ExecState* exec, ImageData* imageData)
+JSValue toJS(ExecState* exec, JSDOMGlobalObject* globalObject, ImageData* imageData)
{
if (!imageData)
return jsNull();
@@ -45,7 +45,7 @@ JSValue toJS(ExecState* exec, ImageData* imageData)
if (wrapper)
return wrapper;
- wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, ImageData, imageData);
+ wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, globalObject, ImageData, imageData);
Identifier dataName(exec, "data");
DEFINE_STATIC_LOCAL(RefPtr<Structure>, cpaStructure, (JSByteArray::createStructure(jsNull())));
static const ClassInfo cpaClassInfo = { "CanvasPixelArray", 0, 0, 0 };
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSInspectorBackendCustom.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSInspectorBackendCustom.cpp
new file mode 100644
index 0000000..b2eb2d1
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSInspectorBackendCustom.cpp
@@ -0,0 +1,283 @@
+/*
+ * Copyright (C) 2007, 2008 Apple Inc. All rights reserved.
+ * Copyright (C) 2008 Matt Lilek <webkit@mattlilek.com>
+ * Copyright (C) 2009 Google Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following disclaimer
+ * in the documentation and/or other materials provided with the
+ * distribution.
+ * * Neither the name of Google Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+#include "JSInspectorBackend.h"
+
+#include "Console.h"
+#if ENABLE(DATABASE)
+#include "Database.h"
+#include "JSDatabase.h"
+#endif
+#include "ExceptionCode.h"
+#include "Frame.h"
+#include "FrameLoader.h"
+#include "InspectorBackend.h"
+#include "InspectorController.h"
+#include "InspectorResource.h"
+#include "JSDOMWindow.h"
+#include "JSInspectedObjectWrapper.h"
+#include "JSInspectorCallbackWrapper.h"
+#include "JSNode.h"
+#include "JSRange.h"
+#include "Node.h"
+#include "Page.h"
+#include "TextIterator.h"
+#include "VisiblePosition.h"
+#include <runtime/JSArray.h>
+#include <runtime/JSLock.h>
+#include <wtf/Vector.h>
+
+#if ENABLE(JAVASCRIPT_DEBUGGER)
+#include "JavaScriptCallFrame.h"
+#include "JavaScriptDebugServer.h"
+#include "JavaScriptProfile.h"
+#include "JSJavaScriptCallFrame.h"
+#include <profiler/Profile.h>
+#include <profiler/Profiler.h>
+#endif
+
+using namespace JSC;
+
+namespace WebCore {
+
+JSValue JSInspectorBackend::highlightDOMNode(JSC::ExecState*, const JSC::ArgList& args)
+{
+ if (args.size() < 1)
+ return jsUndefined();
+
+ JSQuarantinedObjectWrapper* wrapper = JSQuarantinedObjectWrapper::asWrapper(args.at(0));
+ if (!wrapper)
+ return jsUndefined();
+
+ Node* node = toNode(wrapper->unwrappedObject());
+ if (!node)
+ return jsUndefined();
+
+ impl()->highlight(node);
+
+ return jsUndefined();
+}
+
+JSValue JSInspectorBackend::search(ExecState* exec, const ArgList& args)
+{
+ if (args.size() < 2)
+ return jsUndefined();
+
+ Node* node = toNode(args.at(0));
+ if (!node)
+ return jsUndefined();
+
+ String target = args.at(1).toString(exec);
+ if (exec->hadException())
+ return jsUndefined();
+
+ MarkedArgumentBuffer result;
+ RefPtr<Range> searchRange(rangeOfContents(node));
+
+ ExceptionCode ec = 0;
+ do {
+ RefPtr<Range> resultRange(findPlainText(searchRange.get(), target, true, false));
+ if (resultRange->collapsed(ec))
+ break;
+
+ // A non-collapsed result range can in some funky whitespace cases still not
+ // advance the range's start position (4509328). Break to avoid infinite loop.
+ VisiblePosition newStart = endVisiblePosition(resultRange.get(), DOWNSTREAM);
+ if (newStart == startVisiblePosition(searchRange.get(), DOWNSTREAM))
+ break;
+
+ result.append(toJS(exec, resultRange.get()));
+
+ setStart(searchRange.get(), newStart);
+ } while (true);
+
+ return constructArray(exec, result);
+}
+
+#if ENABLE(DATABASE)
+JSValue JSInspectorBackend::databaseTableNames(ExecState* exec, const ArgList& args)
+{
+ if (args.size() < 1)
+ return jsUndefined();
+
+ JSQuarantinedObjectWrapper* wrapper = JSQuarantinedObjectWrapper::asWrapper(args.at(0));
+ if (!wrapper)
+ return jsUndefined();
+
+ Database* database = toDatabase(wrapper->unwrappedObject());
+ if (!database)
+ return jsUndefined();
+
+ MarkedArgumentBuffer result;
+
+ Vector<String> tableNames = database->tableNames();
+ unsigned length = tableNames.size();
+ for (unsigned i = 0; i < length; ++i)
+ result.append(jsString(exec, tableNames[i]));
+
+ return constructArray(exec, result);
+}
+#endif
+
+JSValue JSInspectorBackend::inspectedWindow(ExecState*, const ArgList&)
+{
+ InspectorController* ic = impl()->inspectorController();
+ if (!ic)
+ return jsUndefined();
+ JSDOMWindow* inspectedWindow = toJSDOMWindow(ic->inspectedPage()->mainFrame());
+ return JSInspectedObjectWrapper::wrap(inspectedWindow->globalExec(), inspectedWindow);
+}
+
+JSValue JSInspectorBackend::setting(ExecState* exec, const ArgList& args)
+{
+ if (args.size() < 1)
+ return jsUndefined();
+
+ String key = args.at(0).toString(exec);
+ if (exec->hadException())
+ return jsUndefined();
+
+ InspectorController* ic = impl()->inspectorController();
+ if (!ic)
+ return jsUndefined();
+ const InspectorController::Setting& setting = ic->setting(key);
+
+ switch (setting.type()) {
+ default:
+ case InspectorController::Setting::NoType:
+ return jsUndefined();
+ case InspectorController::Setting::StringType:
+ return jsString(exec, setting.string());
+ case InspectorController::Setting::DoubleType:
+ return jsNumber(exec, setting.doubleValue());
+ case InspectorController::Setting::IntegerType:
+ return jsNumber(exec, setting.integerValue());
+ case InspectorController::Setting::BooleanType:
+ return jsBoolean(setting.booleanValue());
+ case InspectorController::Setting::StringVectorType: {
+ MarkedArgumentBuffer stringsArray;
+ const Vector<String>& strings = setting.stringVector();
+ const unsigned length = strings.size();
+ for (unsigned i = 0; i < length; ++i)
+ stringsArray.append(jsString(exec, strings[i]));
+ return constructArray(exec, stringsArray);
+ }
+ }
+}
+
+JSValue JSInspectorBackend::setSetting(ExecState* exec, const ArgList& args)
+{
+ if (args.size() < 2)
+ return jsUndefined();
+
+ String key = args.at(0).toString(exec);
+ if (exec->hadException())
+ return jsUndefined();
+
+ InspectorController::Setting setting;
+
+ JSValue value = args.at(1);
+ if (value.isUndefined() || value.isNull()) {
+ // Do nothing. The setting is already NoType.
+ ASSERT(setting.type() == InspectorController::Setting::NoType);
+ } else if (value.isString())
+ setting.set(value.toString(exec));
+ else if (value.isNumber())
+ setting.set(value.toNumber(exec));
+ else if (value.isBoolean())
+ setting.set(value.toBoolean(exec));
+ else {
+ JSArray* jsArray = asArray(value);
+ if (!jsArray)
+ return jsUndefined();
+ Vector<String> strings;
+ for (unsigned i = 0; i < jsArray->length(); ++i) {
+ String item = jsArray->get(exec, i).toString(exec);
+ if (exec->hadException())
+ return jsUndefined();
+ strings.append(item);
+ }
+ setting.set(strings);
+ }
+
+ if (exec->hadException())
+ return jsUndefined();
+
+ InspectorController* ic = impl()->inspectorController();
+ if (ic)
+ ic->setSetting(key, setting);
+
+ return jsUndefined();
+}
+
+JSValue JSInspectorBackend::wrapCallback(ExecState* exec, const ArgList& args)
+{
+ if (args.size() < 1)
+ return jsUndefined();
+
+ return JSInspectorCallbackWrapper::wrap(exec, args.at(0));
+}
+
+#if ENABLE(JAVASCRIPT_DEBUGGER)
+
+JSValue JSInspectorBackend::currentCallFrame(ExecState* exec, const ArgList&)
+{
+ JavaScriptCallFrame* callFrame = impl()->currentCallFrame();
+ if (!callFrame || !callFrame->isValid())
+ return jsUndefined();
+
+ // FIXME: I am not sure if this is actually needed. Can we just use exec?
+ ExecState* globalExec = callFrame->scopeChain()->globalObject()->globalExec();
+
+ JSLock lock(SilenceAssertionsOnly);
+ return JSInspectedObjectWrapper::wrap(globalExec, toJS(exec, callFrame));
+}
+
+JSValue JSInspectorBackend::profiles(JSC::ExecState* exec, const JSC::ArgList&)
+{
+ JSLock lock(SilenceAssertionsOnly);
+ MarkedArgumentBuffer result;
+ InspectorController* ic = impl()->inspectorController();
+ if (!ic)
+ return jsUndefined();
+ const Vector<RefPtr<Profile> >& profiles = ic->profiles();
+
+ for (size_t i = 0; i < profiles.size(); ++i)
+ result.append(toJS(exec, profiles[i].get()));
+
+ return constructArray(exec, result);
+}
+
+#endif
+
+} // namespace WebCore
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSInspectorControllerCustom.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSInspectorControllerCustom.cpp
deleted file mode 100644
index b06c9e9..0000000
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSInspectorControllerCustom.cpp
+++ /dev/null
@@ -1,298 +0,0 @@
-/*
- * Copyright (C) 2007, 2008 Apple Inc. All rights reserved.
- * Copyright (C) 2008 Matt Lilek <webkit@mattlilek.com>
- * Copyright (C) 2009 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "config.h"
-#include "JSInspectorController.h"
-
-#include "Console.h"
-#if ENABLE(DATABASE)
-#include "Database.h"
-#include "JSDatabase.h"
-#endif
-#include "ExceptionCode.h"
-#include "Frame.h"
-#include "FrameLoader.h"
-#include "InspectorController.h"
-#include "InspectorResource.h"
-#include "JSDOMWindow.h"
-#include "JSInspectedObjectWrapper.h"
-#include "JSInspectorCallbackWrapper.h"
-#include "JSNode.h"
-#include "JSRange.h"
-#include "Node.h"
-#include "Page.h"
-#include "TextIterator.h"
-#include "VisiblePosition.h"
-#include <runtime/JSArray.h>
-#include <runtime/JSLock.h>
-#include <wtf/Vector.h>
-
-#if ENABLE(JAVASCRIPT_DEBUGGER)
-#include "JavaScriptCallFrame.h"
-#include "JavaScriptDebugServer.h"
-#include "JavaScriptProfile.h"
-#include "JSJavaScriptCallFrame.h"
-#include <profiler/Profile.h>
-#include <profiler/Profiler.h>
-#endif
-
-using namespace JSC;
-
-namespace WebCore {
-
-JSValue JSInspectorController::highlightDOMNode(JSC::ExecState*, const JSC::ArgList& args)
-{
- if (args.size() < 1)
- return jsUndefined();
-
- JSQuarantinedObjectWrapper* wrapper = JSQuarantinedObjectWrapper::asWrapper(args.at(0));
- if (!wrapper)
- return jsUndefined();
-
- Node* node = toNode(wrapper->unwrappedObject());
- if (!node)
- return jsUndefined();
-
- impl()->highlight(node);
-
- return jsUndefined();
-}
-
-JSValue JSInspectorController::getResourceDocumentNode(ExecState* exec, const ArgList& args)
-{
- if (args.size() < 1)
- return jsUndefined();
-
- bool ok = false;
- unsigned identifier = args.at(0).toUInt32(exec, ok);
- if (!ok)
- return jsUndefined();
-
- RefPtr<InspectorResource> resource = impl()->resources().get(identifier);
- ASSERT(resource);
- if (!resource)
- return jsUndefined();
-
- Frame* frame = resource->frame();
- Document* document = frame->document();
-
- if (document->isPluginDocument() || document->isImageDocument() || document->isMediaDocument())
- return jsUndefined();
-
- ExecState* resourceExec = toJSDOMWindowShell(frame)->window()->globalExec();
-
- JSLock lock(false);
- return JSInspectedObjectWrapper::wrap(resourceExec, toJS(resourceExec, document));
-}
-
-JSValue JSInspectorController::search(ExecState* exec, const ArgList& args)
-{
- if (args.size() < 2)
- return jsUndefined();
-
- Node* node = toNode(args.at(0));
- if (!node)
- return jsUndefined();
-
- String target = args.at(1).toString(exec);
- if (exec->hadException())
- return jsUndefined();
-
- MarkedArgumentBuffer result;
- RefPtr<Range> searchRange(rangeOfContents(node));
-
- ExceptionCode ec = 0;
- do {
- RefPtr<Range> resultRange(findPlainText(searchRange.get(), target, true, false));
- if (resultRange->collapsed(ec))
- break;
-
- // A non-collapsed result range can in some funky whitespace cases still not
- // advance the range's start position (4509328). Break to avoid infinite loop.
- VisiblePosition newStart = endVisiblePosition(resultRange.get(), DOWNSTREAM);
- if (newStart == startVisiblePosition(searchRange.get(), DOWNSTREAM))
- break;
-
- result.append(toJS(exec, resultRange.get()));
-
- setStart(searchRange.get(), newStart);
- } while (true);
-
- return constructArray(exec, result);
-}
-
-#if ENABLE(DATABASE)
-JSValue JSInspectorController::databaseTableNames(ExecState* exec, const ArgList& args)
-{
- if (args.size() < 1)
- return jsUndefined();
-
- JSQuarantinedObjectWrapper* wrapper = JSQuarantinedObjectWrapper::asWrapper(args.at(0));
- if (!wrapper)
- return jsUndefined();
-
- Database* database = toDatabase(wrapper->unwrappedObject());
- if (!database)
- return jsUndefined();
-
- MarkedArgumentBuffer result;
-
- Vector<String> tableNames = database->tableNames();
- unsigned length = tableNames.size();
- for (unsigned i = 0; i < length; ++i)
- result.append(jsString(exec, tableNames[i]));
-
- return constructArray(exec, result);
-}
-#endif
-
-JSValue JSInspectorController::inspectedWindow(ExecState*, const ArgList&)
-{
- JSDOMWindow* inspectedWindow = toJSDOMWindow(impl()->inspectedPage()->mainFrame());
- return JSInspectedObjectWrapper::wrap(inspectedWindow->globalExec(), inspectedWindow);
-}
-
-JSValue JSInspectorController::setting(ExecState* exec, const ArgList& args)
-{
- if (args.size() < 1)
- return jsUndefined();
-
- String key = args.at(0).toString(exec);
- if (exec->hadException())
- return jsUndefined();
-
- const InspectorController::Setting& setting = impl()->setting(key);
-
- switch (setting.type()) {
- default:
- case InspectorController::Setting::NoType:
- return jsUndefined();
- case InspectorController::Setting::StringType:
- return jsString(exec, setting.string());
- case InspectorController::Setting::DoubleType:
- return jsNumber(exec, setting.doubleValue());
- case InspectorController::Setting::IntegerType:
- return jsNumber(exec, setting.integerValue());
- case InspectorController::Setting::BooleanType:
- return jsBoolean(setting.booleanValue());
- case InspectorController::Setting::StringVectorType: {
- MarkedArgumentBuffer stringsArray;
- const Vector<String>& strings = setting.stringVector();
- const unsigned length = strings.size();
- for (unsigned i = 0; i < length; ++i)
- stringsArray.append(jsString(exec, strings[i]));
- return constructArray(exec, stringsArray);
- }
- }
-}
-
-JSValue JSInspectorController::setSetting(ExecState* exec, const ArgList& args)
-{
- if (args.size() < 2)
- return jsUndefined();
-
- String key = args.at(0).toString(exec);
- if (exec->hadException())
- return jsUndefined();
-
- InspectorController::Setting setting;
-
- JSValue value = args.at(1);
- if (value.isUndefined() || value.isNull()) {
- // Do nothing. The setting is already NoType.
- ASSERT(setting.type() == InspectorController::Setting::NoType);
- } else if (value.isString())
- setting.set(value.toString(exec));
- else if (value.isNumber())
- setting.set(value.toNumber(exec));
- else if (value.isBoolean())
- setting.set(value.toBoolean(exec));
- else {
- JSArray* jsArray = asArray(value);
- if (!jsArray)
- return jsUndefined();
- Vector<String> strings;
- for (unsigned i = 0; i < jsArray->length(); ++i) {
- String item = jsArray->get(exec, i).toString(exec);
- if (exec->hadException())
- return jsUndefined();
- strings.append(item);
- }
- setting.set(strings);
- }
-
- if (exec->hadException())
- return jsUndefined();
-
- impl()->setSetting(key, setting);
-
- return jsUndefined();
-}
-
-JSValue JSInspectorController::wrapCallback(ExecState* exec, const ArgList& args)
-{
- if (args.size() < 1)
- return jsUndefined();
-
- return JSInspectorCallbackWrapper::wrap(exec, args.at(0));
-}
-
-#if ENABLE(JAVASCRIPT_DEBUGGER)
-
-JSValue JSInspectorController::currentCallFrame(ExecState* exec, const ArgList&)
-{
- JavaScriptCallFrame* callFrame = impl()->currentCallFrame();
- if (!callFrame || !callFrame->isValid())
- return jsUndefined();
-
- // FIXME: I am not sure if this is actually needed. Can we just use exec?
- ExecState* globalExec = callFrame->scopeChain()->globalObject()->globalExec();
-
- JSLock lock(false);
- return JSInspectedObjectWrapper::wrap(globalExec, toJS(exec, callFrame));
-}
-
-JSValue JSInspectorController::profiles(JSC::ExecState* exec, const JSC::ArgList&)
-{
- JSLock lock(false);
- MarkedArgumentBuffer result;
- const Vector<RefPtr<Profile> >& profiles = impl()->profiles();
-
- for (size_t i = 0; i < profiles.size(); ++i)
- result.append(toJS(exec, profiles[i].get()));
-
- return constructArray(exec, result);
-}
-
-#endif
-
-} // namespace WebCore
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSLazyEventListener.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSLazyEventListener.cpp
index f7c74ae..7caff2b 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSLazyEventListener.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSLazyEventListener.cpp
@@ -77,7 +77,11 @@ void JSLazyEventListener::parseCode() const
if (m_parsed)
return;
- if (m_globalObject->scriptExecutionContext()->isDocument()) {
+ ScriptExecutionContext* executionContext = m_globalObject->scriptExecutionContext();
+ ASSERT(executionContext);
+ if (!executionContext)
+ return;
+ if (executionContext->isDocument()) {
JSDOMWindow* window = static_cast<JSDOMWindow*>(m_globalObject);
Frame* frame = window->impl()->frame();
if (!frame)
@@ -93,7 +97,7 @@ void JSLazyEventListener::parseCode() const
ExecState* exec = m_globalObject->globalExec();
MarkedArgumentBuffer args;
- UString sourceURL(m_globalObject->scriptExecutionContext()->url().string());
+ UString sourceURL(executionContext->url().string());
args.append(jsNontrivialString(exec, m_eventParameterName));
args.append(jsString(exec, m_code));
@@ -113,7 +117,7 @@ void JSLazyEventListener::parseCode() const
// (and the document, and the form - see JSHTMLElement::eventHandlerScope)
ScopeChain scope = listenerAsFunction->scope();
- JSValue thisObj = toJS(exec, m_originalNode);
+ JSValue thisObj = toJS(exec, m_globalObject, m_originalNode);
if (thisObj.isObject()) {
static_cast<JSNode*>(asObject(thisObj))->pushEventHandlerScope(exec, scope);
listenerAsFunction->setScope(scope);
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSMessageChannelConstructor.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSMessageChannelConstructor.cpp
index 495bd53..25a5cb2 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSMessageChannelConstructor.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSMessageChannelConstructor.cpp
@@ -38,21 +38,15 @@ namespace WebCore {
const ClassInfo JSMessageChannelConstructor::s_info = { "MessageChannelConstructor", 0, 0, 0 };
JSMessageChannelConstructor::JSMessageChannelConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
- : DOMObject(JSMessageChannelConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
- , m_globalObject(globalObject)
+ : DOMConstructorObject(JSMessageChannelConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSMessageChannelPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSMessageChannelPrototype::self(exec, globalObject), None);
}
JSMessageChannelConstructor::~JSMessageChannelConstructor()
{
}
-ScriptExecutionContext* JSMessageChannelConstructor::scriptExecutionContext() const
-{
- return m_globalObject->scriptExecutionContext();
-}
-
ConstructType JSMessageChannelConstructor::getConstructData(ConstructData& constructData)
{
constructData.native.function = construct;
@@ -61,18 +55,12 @@ ConstructType JSMessageChannelConstructor::getConstructData(ConstructData& const
JSObject* JSMessageChannelConstructor::construct(ExecState* exec, JSObject* constructor, const ArgList&)
{
- ScriptExecutionContext* context = static_cast<JSMessageChannelConstructor*>(constructor)->scriptExecutionContext();
+ JSMessageChannelConstructor* jsConstructor = static_cast<JSMessageChannelConstructor*>(constructor);
+ ScriptExecutionContext* context = jsConstructor->scriptExecutionContext();
if (!context)
return throwError(exec, ReferenceError, "MessageChannel constructor associated document is unavailable");
- return asObject(toJS(exec, MessageChannel::create(context)));
-}
-
-void JSMessageChannelConstructor::mark()
-{
- DOMObject::mark();
- if (!m_globalObject->marked())
- m_globalObject->mark();
+ return asObject(toJS(exec, jsConstructor->globalObject(), MessageChannel::create(context)));
}
} // namespace WebCore
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSMessageChannelConstructor.h b/src/3rdparty/webkit/WebCore/bindings/js/JSMessageChannelConstructor.h
index 90c29a3..d958760 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSMessageChannelConstructor.h
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSMessageChannelConstructor.h
@@ -30,23 +30,16 @@
namespace WebCore {
- class JSMessageChannelConstructor : public DOMObject {
+ class JSMessageChannelConstructor : public DOMConstructorObject {
public:
JSMessageChannelConstructor(JSC::ExecState*, JSDOMGlobalObject*);
virtual ~JSMessageChannelConstructor();
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
static const JSC::ClassInfo s_info;
- ScriptExecutionContext* scriptExecutionContext() const;
-
virtual bool implementsHasInstance() const { return true; }
static JSC::JSObject* construct(JSC::ExecState*, JSC::JSObject*, const JSC::ArgList&);
virtual JSC::ConstructType getConstructData(JSC::ConstructData&);
-
- virtual void mark();
-
- private:
- JSDOMGlobalObject* m_globalObject;
};
} // namespace WebCore
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSMessageChannelCustom.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSMessageChannelCustom.cpp
index 70329e2..d3b5878 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSMessageChannelCustom.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSMessageChannelCustom.cpp
@@ -34,7 +34,7 @@ namespace WebCore {
void JSMessageChannel::mark()
{
- DOMObject::mark();
+ Base::mark();
if (MessagePort* port = m_impl->port1()) {
DOMObject* wrapper = getCachedDOMObjectWrapper(*Heap::heap(this)->globalData(), port);
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSMessagePortCustom.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSMessagePortCustom.cpp
index bfac375..71472d5 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSMessagePortCustom.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSMessagePortCustom.cpp
@@ -40,7 +40,7 @@ namespace WebCore {
void JSMessagePort::mark()
{
- DOMObject::mark();
+ Base::mark();
markIfNotNull(m_impl->onmessage());
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSNamedNodesCollection.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSNamedNodesCollection.cpp
index 93a8937..f36a7d6 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSNamedNodesCollection.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSNamedNodesCollection.cpp
@@ -42,8 +42,8 @@ const ClassInfo JSNamedNodesCollection::s_info = { "Collection", 0, 0, 0 };
// Such a collection is usually very short-lived, it only exists
// for constructs like document.forms.<name>[1],
// so it shouldn't be a problem that it's storing all the nodes (with the same name). (David)
-JSNamedNodesCollection::JSNamedNodesCollection(ExecState* exec, const Vector<RefPtr<Node> >& nodes)
- : DOMObject(getDOMStructure<JSNamedNodesCollection>(exec))
+JSNamedNodesCollection::JSNamedNodesCollection(ExecState* exec, JSDOMGlobalObject* globalObject, const Vector<RefPtr<Node> >& nodes)
+ : DOMObjectWithGlobalPointer(getDOMStructure<JSNamedNodesCollection>(exec, globalObject), globalObject)
, m_nodes(new Vector<RefPtr<Node> >(nodes))
{
}
@@ -86,7 +86,7 @@ bool JSNamedNodesCollection::getOwnPropertySlot(ExecState* exec, const Identifie
}
}
- return DOMObject::getOwnPropertySlot(exec, propertyName, slot);
+ return DOMObjectWithGlobalPointer::getOwnPropertySlot(exec, propertyName, slot);
}
} // namespace WebCore
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSNamedNodesCollection.h b/src/3rdparty/webkit/WebCore/bindings/js/JSNamedNodesCollection.h
index 3bbc102..cd6c2cb 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSNamedNodesCollection.h
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSNamedNodesCollection.h
@@ -35,9 +35,9 @@ namespace WebCore {
// Internal class, used for the collection return by e.g. document.forms.myinput
// when multiple nodes have the same name.
- class JSNamedNodesCollection : public DOMObject {
+ class JSNamedNodesCollection : public DOMObjectWithGlobalPointer {
public:
- JSNamedNodesCollection(JSC::ExecState*, const Vector<RefPtr<Node> >&);
+ JSNamedNodesCollection(JSC::ExecState*, JSDOMGlobalObject*, const Vector<RefPtr<Node> >&);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier&, JSC::PropertySlot&);
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSNodeCustom.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSNodeCustom.cpp
index 79ac6b7..2f080b8 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSNodeCustom.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSNodeCustom.cpp
@@ -146,7 +146,7 @@ void JSNode::mark()
// the document, we need to mark the document, but we don't need to explicitly
// mark any other nodes.
if (node->inDocument()) {
- DOMObject::mark();
+ Base::mark();
markEventListeners(node->eventListeners());
if (Document* doc = node->ownerDocument())
if (DOMObject* docWrapper = getCachedDOMObjectWrapper(*Heap::heap(this)->globalData(), doc))
@@ -164,7 +164,7 @@ void JSNode::mark()
// Nodes in a subtree are marked by the tree's root, so, if the root is already
// marking the tree, we don't need to explicitly mark any other nodes.
if (root->inSubtreeMark()) {
- DOMObject::mark();
+ Base::mark();
markEventListeners(node->eventListeners());
return;
}
@@ -192,7 +192,7 @@ void JSNode::mark()
ASSERT(marked());
}
-static ALWAYS_INLINE JSValue createWrapper(ExecState* exec, Node* node)
+static ALWAYS_INLINE JSValue createWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, Node* node)
{
ASSERT(node);
ASSERT(!getCachedDOMNodeWrapper(node->document(), node));
@@ -201,63 +201,63 @@ static ALWAYS_INLINE JSValue createWrapper(ExecState* exec, Node* node)
switch (node->nodeType()) {
case Node::ELEMENT_NODE:
if (node->isHTMLElement())
- wrapper = createJSHTMLWrapper(exec, static_cast<HTMLElement*>(node));
+ wrapper = createJSHTMLWrapper(exec, globalObject, static_cast<HTMLElement*>(node));
#if ENABLE(SVG)
else if (node->isSVGElement())
- wrapper = createJSSVGWrapper(exec, static_cast<SVGElement*>(node));
+ wrapper = createJSSVGWrapper(exec, globalObject, static_cast<SVGElement*>(node));
#endif
else
- wrapper = CREATE_DOM_NODE_WRAPPER(exec, Element, node);
+ wrapper = CREATE_DOM_NODE_WRAPPER(exec, globalObject, Element, node);
break;
case Node::ATTRIBUTE_NODE:
- wrapper = CREATE_DOM_NODE_WRAPPER(exec, Attr, node);
+ wrapper = CREATE_DOM_NODE_WRAPPER(exec, globalObject, Attr, node);
break;
case Node::TEXT_NODE:
- wrapper = CREATE_DOM_NODE_WRAPPER(exec, Text, node);
+ wrapper = CREATE_DOM_NODE_WRAPPER(exec, globalObject, Text, node);
break;
case Node::CDATA_SECTION_NODE:
- wrapper = CREATE_DOM_NODE_WRAPPER(exec, CDATASection, node);
+ wrapper = CREATE_DOM_NODE_WRAPPER(exec, globalObject, CDATASection, node);
break;
case Node::ENTITY_NODE:
- wrapper = CREATE_DOM_NODE_WRAPPER(exec, Entity, node);
+ wrapper = CREATE_DOM_NODE_WRAPPER(exec, globalObject, Entity, node);
break;
case Node::PROCESSING_INSTRUCTION_NODE:
- wrapper = CREATE_DOM_NODE_WRAPPER(exec, ProcessingInstruction, node);
+ wrapper = CREATE_DOM_NODE_WRAPPER(exec, globalObject, ProcessingInstruction, node);
break;
case Node::COMMENT_NODE:
- wrapper = CREATE_DOM_NODE_WRAPPER(exec, Comment, node);
+ wrapper = CREATE_DOM_NODE_WRAPPER(exec, globalObject, Comment, node);
break;
case Node::DOCUMENT_NODE:
// we don't want to cache the document itself in the per-document dictionary
- return toJS(exec, static_cast<Document*>(node));
+ return toJS(exec, globalObject, static_cast<Document*>(node));
case Node::DOCUMENT_TYPE_NODE:
- wrapper = CREATE_DOM_NODE_WRAPPER(exec, DocumentType, node);
+ wrapper = CREATE_DOM_NODE_WRAPPER(exec, globalObject, DocumentType, node);
break;
case Node::NOTATION_NODE:
- wrapper = CREATE_DOM_NODE_WRAPPER(exec, Notation, node);
+ wrapper = CREATE_DOM_NODE_WRAPPER(exec, globalObject, Notation, node);
break;
case Node::DOCUMENT_FRAGMENT_NODE:
- wrapper = CREATE_DOM_NODE_WRAPPER(exec, DocumentFragment, node);
+ wrapper = CREATE_DOM_NODE_WRAPPER(exec, globalObject, DocumentFragment, node);
break;
case Node::ENTITY_REFERENCE_NODE:
- wrapper = CREATE_DOM_NODE_WRAPPER(exec, EntityReference, node);
+ wrapper = CREATE_DOM_NODE_WRAPPER(exec, globalObject, EntityReference, node);
break;
default:
- wrapper = CREATE_DOM_NODE_WRAPPER(exec, Node, node);
+ wrapper = CREATE_DOM_NODE_WRAPPER(exec, globalObject, Node, node);
}
return wrapper;
}
-JSValue toJSNewlyCreated(ExecState* exec, Node* node)
+JSValue toJSNewlyCreated(ExecState* exec, JSDOMGlobalObject* globalObject, Node* node)
{
if (!node)
return jsNull();
- return createWrapper(exec, node);
+ return createWrapper(exec, globalObject, node);
}
-JSValue toJS(ExecState* exec, Node* node)
+JSValue toJS(ExecState* exec, JSDOMGlobalObject* globalObject, Node* node)
{
if (!node)
return jsNull();
@@ -266,7 +266,7 @@ JSValue toJS(ExecState* exec, Node* node)
if (wrapper)
return wrapper;
- return createWrapper(exec, node);
+ return createWrapper(exec, globalObject, node);
}
} // namespace WebCore
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSNodeFilterCondition.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSNodeFilterCondition.cpp
index f5d4d5c..2595af5 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSNodeFilterCondition.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSNodeFilterCondition.cpp
@@ -44,7 +44,7 @@ void JSNodeFilterCondition::mark()
short JSNodeFilterCondition::acceptNode(JSC::ExecState* exec, Node* filterNode) const
{
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
CallData callData;
CallType callType = m_filter.getCallData(callData);
@@ -61,7 +61,9 @@ short JSNodeFilterCondition::acceptNode(JSC::ExecState* exec, Node* filterNode)
return NodeFilter::FILTER_REJECT;
MarkedArgumentBuffer args;
- args.append(toJS(exec, filterNode));
+ // FIXME: The node should have the prototype chain that came from its document, not
+ // whatever prototype chain might be on the window this filter came from. Bug 27662
+ args.append(toJS(exec, deprecatedGlobalObjectForPrototype(exec), filterNode));
if (exec->hadException())
return NodeFilter::FILTER_REJECT;
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSNodeFilterCustom.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSNodeFilterCustom.cpp
index ecc12d5..a48a59d 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSNodeFilterCustom.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSNodeFilterCustom.cpp
@@ -38,7 +38,7 @@ namespace WebCore {
void JSNodeFilter::mark()
{
impl()->mark();
- DOMObject::mark();
+ Base::mark();
}
JSValue JSNodeFilter::acceptNode(ExecState* exec, const ArgList& args)
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSNodeIteratorCustom.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSNodeIteratorCustom.cpp
index 8fff82e..a2b9658 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSNodeIteratorCustom.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSNodeIteratorCustom.cpp
@@ -34,7 +34,7 @@ void JSNodeIterator::mark()
if (NodeFilter* filter = m_impl->filter())
filter->mark();
- DOMObject::mark();
+ Base::mark();
}
JSValue JSNodeIterator::nextNode(ExecState* exec, const ArgList&)
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSOptionConstructor.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSOptionConstructor.cpp
index 9e818ff..2b8bd5d 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSOptionConstructor.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSOptionConstructor.cpp
@@ -35,24 +35,16 @@ ASSERT_CLASS_FITS_IN_CELL(JSOptionConstructor);
const ClassInfo JSOptionConstructor::s_info = { "OptionConstructor", 0, 0, 0 };
JSOptionConstructor::JSOptionConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
- : DOMObject(JSOptionConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
- , m_globalObject(globalObject)
+ : DOMConstructorWithDocument(JSOptionConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- ASSERT(globalObject->scriptExecutionContext());
- ASSERT(globalObject->scriptExecutionContext()->isDocument());
-
- putDirect(exec->propertyNames().prototype, JSHTMLOptionElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLOptionElementPrototype::self(exec, globalObject), None);
putDirect(exec->propertyNames().length, jsNumber(exec, 4), ReadOnly|DontDelete|DontEnum);
}
-Document* JSOptionConstructor::document() const
-{
- return static_cast<Document*>(m_globalObject->scriptExecutionContext());
-}
-
static JSObject* constructHTMLOptionElement(ExecState* exec, JSObject* constructor, const ArgList& args)
{
- Document* document = static_cast<JSOptionConstructor*>(constructor)->document();
+ JSOptionConstructor* jsConstructor = static_cast<JSOptionConstructor*>(constructor);
+ Document* document = jsConstructor->document();
if (!document)
return throwError(exec, ReferenceError, "Option constructor associated document is unavailable");
@@ -76,7 +68,7 @@ static JSObject* constructHTMLOptionElement(ExecState* exec, JSObject* construct
return 0;
}
- return asObject(toJS(exec, element.release()));
+ return asObject(toJS(exec, jsConstructor->globalObject(), element.release()));
}
ConstructType JSOptionConstructor::getConstructData(ConstructData& constructData)
@@ -85,11 +77,5 @@ ConstructType JSOptionConstructor::getConstructData(ConstructData& constructData
return ConstructTypeHost;
}
-void JSOptionConstructor::mark()
-{
- DOMObject::mark();
- if (!m_globalObject->marked())
- m_globalObject->mark();
-}
} // namespace WebCore
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSOptionConstructor.h b/src/3rdparty/webkit/WebCore/bindings/js/JSOptionConstructor.h
index 3c87c28..246e7fa 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSOptionConstructor.h
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSOptionConstructor.h
@@ -26,19 +26,14 @@
namespace WebCore {
- class JSOptionConstructor : public DOMObject {
+ class JSOptionConstructor : public DOMConstructorWithDocument {
public:
JSOptionConstructor(JSC::ExecState*, JSDOMGlobalObject*);
- Document* document() const;
static const JSC::ClassInfo s_info;
-
- virtual void mark();
private:
virtual JSC::ConstructType getConstructData(JSC::ConstructData&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
-
- JSDOMGlobalObject* m_globalObject;
};
} // namespace WebCore
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSRGBColor.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSRGBColor.cpp
deleted file mode 100644
index f7c87e2..0000000
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSRGBColor.cpp
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * Copyright (C) 2000 Harri Porten (porten@kde.org)
- * Copyright (C) 2001 Peter Kelly (pmk@post.com)
- * Copyright (C) 2004, 2005, 2006, 2007, 2008 Apple Inc. All rights reserved.
- * Copyright (C) 2006 James G. Speth (speth@end.com)
- * Copyright (C) 2006 Samuel Weinig (sam@webkit.org)
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-#include "config.h"
-#include "JSRGBColor.h"
-
-#include "CSSPrimitiveValue.h"
-#include "JSCSSPrimitiveValue.h"
-
-using namespace JSC;
-
-static JSValue jsRGBColorRed(ExecState*, const Identifier&, const PropertySlot&);
-static JSValue jsRGBColorGreen(ExecState*, const Identifier&, const PropertySlot&);
-static JSValue jsRGBColorBlue(ExecState*, const Identifier&, const PropertySlot&);
-
-/*
-@begin JSRGBColorTable
- red jsRGBColorRed DontDelete|ReadOnly
- green jsRGBColorGreen DontDelete|ReadOnly
- blue jsRGBColorBlue DontDelete|ReadOnly
-@end
-*/
-
-#include "JSRGBColor.lut.h"
-
-namespace WebCore {
-
-ASSERT_CLASS_FITS_IN_CELL(JSRGBColor);
-
-const ClassInfo JSRGBColor::s_info = { "RGBColor", 0, &JSRGBColorTable, 0 };
-
-JSRGBColor::JSRGBColor(ExecState* exec, unsigned color)
- : DOMObject(getDOMStructure<JSRGBColor>(exec))
- , m_color(color)
-{
-}
-
-bool JSRGBColor::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
-{
- return getStaticValueSlot<JSRGBColor, DOMObject>(exec, &JSRGBColorTable, this, propertyName, slot);
-}
-
-JSValue getJSRGBColor(ExecState* exec, unsigned color)
-{
- return new (exec) JSRGBColor(exec, color);
-}
-
-} // namespace WebCore
-
-using namespace WebCore;
-
-JSValue jsRGBColorRed(ExecState* exec, const Identifier&, const PropertySlot& slot)
-{
- return toJS(exec, CSSPrimitiveValue::create((static_cast<JSRGBColor*>(asObject(slot.slotBase()))->impl() >> 16) & 0xFF, CSSPrimitiveValue::CSS_NUMBER));
-}
-
-JSValue jsRGBColorGreen(ExecState* exec, const Identifier&, const PropertySlot& slot)
-{
- return toJS(exec, CSSPrimitiveValue::create((static_cast<JSRGBColor*>(asObject(slot.slotBase()))->impl() >> 8) & 0xFF, CSSPrimitiveValue::CSS_NUMBER));
-}
-
-JSValue jsRGBColorBlue(ExecState* exec, const Identifier&, const PropertySlot& slot)
-{
- return toJS(exec, CSSPrimitiveValue::create(static_cast<JSRGBColor*>(asObject(slot.slotBase()))->impl() & 0xFF, CSSPrimitiveValue::CSS_NUMBER));
-}
-
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSRGBColor.h b/src/3rdparty/webkit/WebCore/bindings/js/JSRGBColor.h
deleted file mode 100644
index cc2870f..0000000
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSRGBColor.h
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * Copyright (C) 2000 Harri Porten (porten@kde.org)
- * Copyright (C) 2001 Peter Kelly (pmk@post.com)
- * Copyright (C) 2004, 2006, 2007, 2008 Apple Inc. All rights reserved.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-#ifndef JSRGBColor_h
-#define JSRGBColor_h
-
-#include "Color.h"
-#include "JSDOMBinding.h"
-
-namespace WebCore {
-
- // FIXME: JSRGBColor should have a proper prototype and a constructor.
- class JSRGBColor : public DOMObject {
- public:
- JSRGBColor(JSC::ExecState*, unsigned color);
-
- virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier&, JSC::PropertySlot&);
-
- virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
- static const JSC::ClassInfo s_info;
-
- unsigned impl() const { return m_color; }
-
- static JSC::ObjectPrototype* createPrototype(JSC::ExecState*, JSC::JSGlobalObject* globalObject)
- {
- return globalObject->objectPrototype();
- }
-
- static PassRefPtr<JSC::Structure> createStructure(JSC::JSValue prototype)
- {
- return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
- }
-
- private:
- unsigned m_color;
- };
-
- JSC::JSValue getJSRGBColor(JSC::ExecState*, unsigned color);
-
-} // namespace WebCore
-
-#endif // JSRGBColor_h
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSSVGElementInstanceCustom.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSSVGElementInstanceCustom.cpp
index 2922740..055368e 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSSVGElementInstanceCustom.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSSVGElementInstanceCustom.cpp
@@ -39,7 +39,7 @@ namespace WebCore {
void JSSVGElementInstance::mark()
{
- DOMObject::mark();
+ Base::mark();
// Mark the wrapper for our corresponding element, so it can mark its event handlers.
JSNode* correspondingWrapper = getCachedDOMNodeWrapper(impl()->correspondingElement()->document(), impl()->correspondingElement());
@@ -75,9 +75,9 @@ void JSSVGElementInstance::pushEventHandlerScope(ExecState*, ScopeChain&) const
{
}
-JSC::JSValue toJS(JSC::ExecState* exec, SVGElementInstance* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, SVGElementInstance* object)
{
- JSValue result = getDOMObjectWrapper<JSSVGElementInstance>(exec, object);
+ JSValue result = getDOMObjectWrapper<JSSVGElementInstance>(exec, globalObject, object);
// Ensure that our corresponding element has a JavaScript wrapper to keep its event handlers alive.
if (object)
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSSVGMatrixCustom.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSSVGMatrixCustom.cpp
index fc1e266..35390b2 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSSVGMatrixCustom.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSSVGMatrixCustom.cpp
@@ -32,7 +32,7 @@ namespace WebCore {
JSValue JSSVGMatrix::inverse(ExecState* exec, const ArgList&)
{
TransformationMatrix imp(*impl());
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp.inverse()).get(), m_context.get());
+ JSC::JSValue result = toJS(exec, deprecatedGlobalObjectForPrototype(exec), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp.inverse()).get(), m_context.get());
if (!imp.isInvertible())
setDOMException(exec, SVGException::SVG_MATRIX_NOT_INVERTABLE);
@@ -47,7 +47,7 @@ JSValue JSSVGMatrix::rotateFromVector(ExecState* exec, const ArgList& args)
float x = args.at(0).toFloat(exec);
float y = args.at(1).toFloat(exec);
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp.rotateFromVector(x, y)).get(), m_context.get());
+ JSC::JSValue result = toJS(exec, deprecatedGlobalObjectForPrototype(exec), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp.rotateFromVector(x, y)).get(), m_context.get());
if (x == 0.0 || y == 0.0)
setDOMException(exec, SVGException::SVG_INVALID_VALUE_ERR);
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSSVGPathSegCustom.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSSVGPathSegCustom.cpp
index cb4687c..42fa878 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSSVGPathSegCustom.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSSVGPathSegCustom.cpp
@@ -59,7 +59,7 @@ using namespace JSC;
namespace WebCore {
-JSValue toJS(ExecState* exec, SVGPathSeg* object, SVGElement* context)
+JSValue toJS(ExecState* exec, JSDOMGlobalObject* globalObject, SVGPathSeg* object, SVGElement* context)
{
if (!object)
return jsNull();
@@ -69,46 +69,46 @@ JSValue toJS(ExecState* exec, SVGPathSeg* object, SVGElement* context)
switch (object->pathSegType()) {
case SVGPathSeg::PATHSEG_CLOSEPATH:
- return CREATE_SVG_OBJECT_WRAPPER(exec, SVGPathSegClosePath, object, context);
+ return CREATE_SVG_OBJECT_WRAPPER(exec, globalObject, SVGPathSegClosePath, object, context);
case SVGPathSeg::PATHSEG_MOVETO_ABS:
- return CREATE_SVG_OBJECT_WRAPPER(exec, SVGPathSegMovetoAbs, object, context);
+ return CREATE_SVG_OBJECT_WRAPPER(exec, globalObject, SVGPathSegMovetoAbs, object, context);
case SVGPathSeg::PATHSEG_MOVETO_REL:
- return CREATE_SVG_OBJECT_WRAPPER(exec, SVGPathSegMovetoRel, object, context);
+ return CREATE_SVG_OBJECT_WRAPPER(exec, globalObject, SVGPathSegMovetoRel, object, context);
case SVGPathSeg::PATHSEG_LINETO_ABS:
- return CREATE_SVG_OBJECT_WRAPPER(exec, SVGPathSegLinetoAbs, object, context);
+ return CREATE_SVG_OBJECT_WRAPPER(exec, globalObject, SVGPathSegLinetoAbs, object, context);
case SVGPathSeg::PATHSEG_LINETO_REL:
- return CREATE_SVG_OBJECT_WRAPPER(exec, SVGPathSegLinetoRel, object, context);
+ return CREATE_SVG_OBJECT_WRAPPER(exec, globalObject, SVGPathSegLinetoRel, object, context);
case SVGPathSeg::PATHSEG_CURVETO_CUBIC_ABS:
- return CREATE_SVG_OBJECT_WRAPPER(exec, SVGPathSegCurvetoCubicAbs, object, context);
+ return CREATE_SVG_OBJECT_WRAPPER(exec, globalObject, SVGPathSegCurvetoCubicAbs, object, context);
case SVGPathSeg::PATHSEG_CURVETO_CUBIC_REL:
- return CREATE_SVG_OBJECT_WRAPPER(exec, SVGPathSegCurvetoCubicRel, object, context);
+ return CREATE_SVG_OBJECT_WRAPPER(exec, globalObject, SVGPathSegCurvetoCubicRel, object, context);
case SVGPathSeg::PATHSEG_CURVETO_QUADRATIC_ABS:
- return CREATE_SVG_OBJECT_WRAPPER(exec, SVGPathSegCurvetoQuadraticAbs, object, context);
+ return CREATE_SVG_OBJECT_WRAPPER(exec, globalObject, SVGPathSegCurvetoQuadraticAbs, object, context);
case SVGPathSeg::PATHSEG_CURVETO_QUADRATIC_REL:
- return CREATE_SVG_OBJECT_WRAPPER(exec, SVGPathSegCurvetoQuadraticRel, object, context);
+ return CREATE_SVG_OBJECT_WRAPPER(exec, globalObject, SVGPathSegCurvetoQuadraticRel, object, context);
case SVGPathSeg::PATHSEG_ARC_ABS:
- return CREATE_SVG_OBJECT_WRAPPER(exec, SVGPathSegArcAbs, object, context);
+ return CREATE_SVG_OBJECT_WRAPPER(exec, globalObject, SVGPathSegArcAbs, object, context);
case SVGPathSeg::PATHSEG_ARC_REL:
- return CREATE_SVG_OBJECT_WRAPPER(exec, SVGPathSegArcRel, object, context);
+ return CREATE_SVG_OBJECT_WRAPPER(exec, globalObject, SVGPathSegArcRel, object, context);
case SVGPathSeg::PATHSEG_LINETO_HORIZONTAL_ABS:
- return CREATE_SVG_OBJECT_WRAPPER(exec, SVGPathSegLinetoHorizontalAbs, object, context);
+ return CREATE_SVG_OBJECT_WRAPPER(exec, globalObject, SVGPathSegLinetoHorizontalAbs, object, context);
case SVGPathSeg::PATHSEG_LINETO_HORIZONTAL_REL:
- return CREATE_SVG_OBJECT_WRAPPER(exec, SVGPathSegLinetoHorizontalRel, object, context);
+ return CREATE_SVG_OBJECT_WRAPPER(exec, globalObject, SVGPathSegLinetoHorizontalRel, object, context);
case SVGPathSeg::PATHSEG_LINETO_VERTICAL_ABS:
- return CREATE_SVG_OBJECT_WRAPPER(exec, SVGPathSegLinetoVerticalAbs, object, context);
+ return CREATE_SVG_OBJECT_WRAPPER(exec, globalObject, SVGPathSegLinetoVerticalAbs, object, context);
case SVGPathSeg::PATHSEG_LINETO_VERTICAL_REL:
- return CREATE_SVG_OBJECT_WRAPPER(exec, SVGPathSegLinetoVerticalRel, object, context);
+ return CREATE_SVG_OBJECT_WRAPPER(exec, globalObject, SVGPathSegLinetoVerticalRel, object, context);
case SVGPathSeg::PATHSEG_CURVETO_CUBIC_SMOOTH_ABS:
- return CREATE_SVG_OBJECT_WRAPPER(exec, SVGPathSegCurvetoCubicSmoothAbs, object, context);
+ return CREATE_SVG_OBJECT_WRAPPER(exec, globalObject, SVGPathSegCurvetoCubicSmoothAbs, object, context);
case SVGPathSeg::PATHSEG_CURVETO_CUBIC_SMOOTH_REL:
- return CREATE_SVG_OBJECT_WRAPPER(exec, SVGPathSegCurvetoCubicSmoothRel, object, context);
+ return CREATE_SVG_OBJECT_WRAPPER(exec, globalObject, SVGPathSegCurvetoCubicSmoothRel, object, context);
case SVGPathSeg::PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS:
- return CREATE_SVG_OBJECT_WRAPPER(exec, SVGPathSegCurvetoQuadraticSmoothAbs, object, context);
+ return CREATE_SVG_OBJECT_WRAPPER(exec, globalObject, SVGPathSegCurvetoQuadraticSmoothAbs, object, context);
case SVGPathSeg::PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL:
- return CREATE_SVG_OBJECT_WRAPPER(exec, SVGPathSegCurvetoQuadraticSmoothRel, object, context);
+ return CREATE_SVG_OBJECT_WRAPPER(exec, globalObject, SVGPathSegCurvetoQuadraticSmoothRel, object, context);
case SVGPathSeg::PATHSEG_UNKNOWN:
default:
- return CREATE_SVG_OBJECT_WRAPPER(exec, SVGPathSeg, object, context);
+ return CREATE_SVG_OBJECT_WRAPPER(exec, globalObject, SVGPathSeg, object, context);
}
}
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSSVGPathSegListCustom.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSSVGPathSegListCustom.cpp
index b6fc116..b71f3a6 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSSVGPathSegListCustom.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSSVGPathSegListCustom.cpp
@@ -57,7 +57,7 @@ JSValue JSSVGPathSegList::initialize(ExecState* exec, const ArgList& args)
SVGPathSeg* obj = WTF::getPtr(imp->initialize(newItem, ec));
- JSC::JSValue result = toJS(exec, obj, m_context.get());
+ JSC::JSValue result = toJS(exec, deprecatedGlobalObjectForPrototype(exec), obj, m_context.get());
setDOMException(exec, ec);
m_context->svgAttributeChanged(imp->associatedAttributeName());
@@ -78,7 +78,7 @@ JSValue JSSVGPathSegList::getItem(ExecState* exec, const ArgList& args)
SVGPathSegList* imp = static_cast<SVGPathSegList*>(impl());
SVGPathSeg* obj = WTF::getPtr(imp->getItem(index, ec));
- JSC::JSValue result = toJS(exec, obj, m_context.get());
+ JSC::JSValue result = toJS(exec, deprecatedGlobalObjectForPrototype(exec), obj, m_context.get());
setDOMException(exec, ec);
return result;
}
@@ -97,7 +97,7 @@ JSValue JSSVGPathSegList::insertItemBefore(ExecState* exec, const ArgList& args)
SVGPathSegList* imp = static_cast<SVGPathSegList*>(impl());
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->insertItemBefore(newItem, index, ec)), m_context.get());
+ JSC::JSValue result = toJS(exec, deprecatedGlobalObjectForPrototype(exec), WTF::getPtr(imp->insertItemBefore(newItem, index, ec)), m_context.get());
setDOMException(exec, ec);
m_context->svgAttributeChanged(imp->associatedAttributeName());
@@ -118,7 +118,7 @@ JSValue JSSVGPathSegList::replaceItem(ExecState* exec, const ArgList& args)
SVGPathSegList* imp = static_cast<SVGPathSegList*>(impl());
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->replaceItem(newItem, index, ec)), m_context.get());
+ JSC::JSValue result = toJS(exec, deprecatedGlobalObjectForPrototype(exec), WTF::getPtr(imp->replaceItem(newItem, index, ec)), m_context.get());
setDOMException(exec, ec);
m_context->svgAttributeChanged(imp->associatedAttributeName());
@@ -140,7 +140,7 @@ JSValue JSSVGPathSegList::removeItem(ExecState* exec, const ArgList& args)
RefPtr<SVGPathSeg> obj(imp->removeItem(index, ec));
- JSC::JSValue result = toJS(exec, obj.get(), m_context.get());
+ JSC::JSValue result = toJS(exec, deprecatedGlobalObjectForPrototype(exec), obj.get(), m_context.get());
setDOMException(exec, ec);
m_context->svgAttributeChanged(imp->associatedAttributeName());
@@ -154,7 +154,7 @@ JSValue JSSVGPathSegList::appendItem(ExecState* exec, const ArgList& args)
SVGPathSegList* imp = static_cast<SVGPathSegList*>(impl());
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->appendItem(newItem, ec)), m_context.get());
+ JSC::JSValue result = toJS(exec, deprecatedGlobalObjectForPrototype(exec), WTF::getPtr(imp->appendItem(newItem, ec)), m_context.get());
setDOMException(exec, ec);
m_context->svgAttributeChanged(imp->associatedAttributeName());
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSSVGPointListCustom.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSSVGPointListCustom.cpp
index a18c2a2..1969fe2 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSSVGPointListCustom.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSSVGPointListCustom.cpp
@@ -39,7 +39,7 @@ static JSValue finishGetter(ExecState* exec, ExceptionCode& ec, SVGElement* cont
setDOMException(exec, ec);
return jsUndefined();
}
- return toJS(exec, JSSVGPODTypeWrapperCreatorForList<FloatPoint>::create(item.get(), list->associatedAttributeName()).get(), context);
+ return toJS(exec, deprecatedGlobalObjectForPrototype(exec), JSSVGPODTypeWrapperCreatorForList<FloatPoint>::create(item.get(), list->associatedAttributeName()).get(), context);
}
static JSValue finishSetter(ExecState* exec, ExceptionCode& ec, SVGElement* context, SVGPointList* list, PassRefPtr<PODListItem > item)
@@ -50,7 +50,7 @@ static JSValue finishSetter(ExecState* exec, ExceptionCode& ec, SVGElement* cont
}
const QualifiedName& attributeName = list->associatedAttributeName();
context->svgAttributeChanged(attributeName);
- return toJS(exec, JSSVGPODTypeWrapperCreatorForList<FloatPoint>::create(item.get(), attributeName).get(), context);
+ return toJS(exec, deprecatedGlobalObjectForPrototype(exec), JSSVGPODTypeWrapperCreatorForList<FloatPoint>::create(item.get(), attributeName).get(), context);
}
static JSValue finishSetterReadOnlyResult(ExecState* exec, ExceptionCode& ec, SVGElement* context, SVGPointList* list, PassRefPtr<PODListItem> item)
@@ -60,7 +60,7 @@ static JSValue finishSetterReadOnlyResult(ExecState* exec, ExceptionCode& ec, SV
return jsUndefined();
}
context->svgAttributeChanged(list->associatedAttributeName());
- return toJS(exec, JSSVGStaticPODTypeWrapper<FloatPoint>::create(*item).get(), context);
+ return toJS(exec, deprecatedGlobalObjectForPrototype(exec), JSSVGStaticPODTypeWrapper<FloatPoint>::create(*item).get(), context);
}
JSValue JSSVGPointList::clear(ExecState* exec, const ArgList&)
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSSVGTransformListCustom.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSSVGTransformListCustom.cpp
index 58b25ad..1a9110a 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSSVGTransformListCustom.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSSVGTransformListCustom.cpp
@@ -39,7 +39,7 @@ static JSValue finishGetter(ExecState* exec, ExceptionCode& ec, SVGElement* cont
setDOMException(exec, ec);
return jsUndefined();
}
- return toJS(exec, JSSVGPODTypeWrapperCreatorForList<SVGTransform>::create(item.get(), list->associatedAttributeName()).get(), context);
+ return toJS(exec, deprecatedGlobalObjectForPrototype(exec), JSSVGPODTypeWrapperCreatorForList<SVGTransform>::create(item.get(), list->associatedAttributeName()).get(), context);
}
static JSValue finishSetter(ExecState* exec, ExceptionCode& ec, SVGElement* context, SVGTransformList* list, PassRefPtr<PODListItem> item)
@@ -50,7 +50,7 @@ static JSValue finishSetter(ExecState* exec, ExceptionCode& ec, SVGElement* cont
}
const QualifiedName& attributeName = list->associatedAttributeName();
context->svgAttributeChanged(attributeName);
- return toJS(exec, JSSVGPODTypeWrapperCreatorForList<SVGTransform>::create(item.get(), attributeName).get(), context);
+ return toJS(exec, deprecatedGlobalObjectForPrototype(exec), JSSVGPODTypeWrapperCreatorForList<SVGTransform>::create(item.get(), attributeName).get(), context);
}
static JSValue finishSetterReadOnlyResult(ExecState* exec, ExceptionCode& ec, SVGElement* context, SVGTransformList* list, PassRefPtr<PODListItem> item)
@@ -60,7 +60,7 @@ static JSValue finishSetterReadOnlyResult(ExecState* exec, ExceptionCode& ec, SV
return jsUndefined();
}
context->svgAttributeChanged(list->associatedAttributeName());
- return toJS(exec, JSSVGStaticPODTypeWrapper<SVGTransform>::create(*item).get(), context);
+ return toJS(exec, deprecatedGlobalObjectForPrototype(exec), JSSVGStaticPODTypeWrapper<SVGTransform>::create(*item).get(), context);
}
JSValue JSSVGTransformList::clear(ExecState* exec, const ArgList&)
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSSharedWorkerConstructor.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSSharedWorkerConstructor.cpp
new file mode 100644
index 0000000..a312225
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSSharedWorkerConstructor.cpp
@@ -0,0 +1,83 @@
+/*
+ * Copyright (C) 2009 Google Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following disclaimer
+ * in the documentation and/or other materials provided with the
+ * distribution.
+ * * Neither the name of Google Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+
+#if ENABLE(SHARED_WORKERS)
+
+#include "JSSharedWorkerConstructor.h"
+
+#include "JSDOMWindowCustom.h"
+#include "JSSharedWorker.h"
+#include "SharedWorker.h"
+
+using namespace JSC;
+
+namespace WebCore {
+
+const ClassInfo JSSharedWorkerConstructor::s_info = { "SharedWorkerConstructor", 0, 0, 0 };
+
+JSSharedWorkerConstructor::JSSharedWorkerConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSSharedWorkerConstructor::createStructure(globalObject->objectPrototype()))
+{
+ putDirect(exec->propertyNames().prototype, JSSharedWorkerPrototype::self(exec, globalObject), None);
+ // Host functions have a length property describing the number of expected arguments.
+ putDirect(exec->propertyNames().length, jsNumber(exec, 2), ReadOnly|DontDelete|DontEnum);
+}
+
+static JSObject* constructSharedWorker(ExecState* exec, JSObject*, const ArgList& args)
+{
+ if (args.size() < 2)
+ return throwError(exec, SyntaxError, "Not enough arguments");
+
+ UString scriptURL = args.at(0).toString(exec);
+ UString name = args.at(1).toString(exec);
+ if (exec->hadException())
+ return 0;
+
+ ScriptExecutionContext* context = static_cast<JSDOMGlobalObject*>(exec->dynamicGlobalObject())->scriptExecutionContext();
+ ExceptionCode ec = 0;
+ RefPtr<SharedWorker> worker = SharedWorker::create(scriptURL, name, context, ec);
+ setDOMException(exec, ec);
+
+ // FIXME: toJS() creates an object whose prototype is derived from lexicalGlobalScope, which is incorrect (Bug 27088)
+ return asObject(toJS(exec, worker.release()));
+}
+
+ConstructType JSSharedWorkerConstructor::getConstructData(ConstructData& constructData)
+{
+ constructData.native.function = constructSharedWorker;
+ return ConstructTypeHost;
+}
+
+
+} // namespace WebCore
+
+#endif // ENABLE(SHARED_WORKERS)
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSSharedWorkerConstructor.h b/src/3rdparty/webkit/WebCore/bindings/js/JSSharedWorkerConstructor.h
new file mode 100644
index 0000000..87baa38
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSSharedWorkerConstructor.h
@@ -0,0 +1,56 @@
+/*
+ * Copyright (C) 2009 Google Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following disclaimer
+ * in the documentation and/or other materials provided with the
+ * distribution.
+ * * Neither the name of Google Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef JSSharedWorkerConstructor_h
+#define JSSharedWorkerConstructor_h
+
+#if ENABLE(SHARED_WORKERS)
+
+#include "JSDOMBinding.h"
+
+namespace WebCore {
+
+ class JSSharedWorkerConstructor : public DOMConstructorObject {
+ public:
+ JSSharedWorkerConstructor(JSC::ExecState*, JSDOMGlobalObject*);
+
+ static const JSC::ClassInfo s_info;
+
+ private:
+ virtual JSC::ConstructType getConstructData(JSC::ConstructData&);
+
+ virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
+ };
+
+} // namespace WebCore
+
+#endif // ENABLE(SHARED_WORKERS)
+
+#endif // JSSharedWorkerConstructor_h
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSSharedWorkerCustom.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSSharedWorkerCustom.cpp
new file mode 100644
index 0000000..8553298
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSSharedWorkerCustom.cpp
@@ -0,0 +1,57 @@
+/*
+ * Copyright (C) 2009 Google Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following disclaimer
+ * in the documentation and/or other materials provided with the
+ * distribution.
+ * * Neither the name of Google Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+
+#if ENABLE(SHARED_WORKERS)
+
+#include "JSSharedWorker.h"
+
+#include "JSDOMGlobalObject.h"
+#include "SharedWorker.h"
+
+using namespace JSC;
+
+namespace WebCore {
+
+void JSSharedWorker::mark()
+{
+ Base::mark();
+
+ if (MessagePort* port = impl()->port()) {
+ DOMObject* wrapper = getCachedDOMObjectWrapper(*Heap::heap(this)->globalData(), port);
+ if (wrapper && !wrapper->marked())
+ wrapper->mark();
+ }
+}
+
+} // namespace WebCore
+
+#endif // ENABLE(SHARED_WORKERS)
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSStyleSheetCustom.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSStyleSheetCustom.cpp
index f8146bd..00dacee 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSStyleSheetCustom.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSStyleSheetCustom.cpp
@@ -35,7 +35,7 @@ using namespace JSC;
namespace WebCore {
-JSValue toJS(ExecState* exec, StyleSheet* styleSheet)
+JSValue toJS(ExecState* exec, JSDOMGlobalObject* globalObject, StyleSheet* styleSheet)
{
if (!styleSheet)
return jsNull();
@@ -45,9 +45,9 @@ JSValue toJS(ExecState* exec, StyleSheet* styleSheet)
return wrapper;
if (styleSheet->isCSSStyleSheet())
- wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, CSSStyleSheet, styleSheet);
+ wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, globalObject, CSSStyleSheet, styleSheet);
else
- wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, StyleSheet, styleSheet);
+ wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, globalObject, StyleSheet, styleSheet);
return wrapper;
}
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSTextCustom.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSTextCustom.cpp
index 9e66826..2dc886d 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSTextCustom.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSTextCustom.cpp
@@ -32,12 +32,12 @@ using namespace JSC;
namespace WebCore {
-JSValue toJSNewlyCreated(ExecState* exec, Text* text)
+JSValue toJSNewlyCreated(ExecState* exec, JSDOMGlobalObject* globalObject, Text* text)
{
if (!text)
return jsNull();
- return CREATE_DOM_NODE_WRAPPER(exec, Text, text);
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, Text, text);
}
} // namespace WebCore
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSTreeWalkerCustom.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSTreeWalkerCustom.cpp
index 6369017..58eea72 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSTreeWalkerCustom.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSTreeWalkerCustom.cpp
@@ -34,7 +34,7 @@ void JSTreeWalker::mark()
if (NodeFilter* filter = m_impl->filter())
filter->mark();
- DOMObject::mark();
+ Base::mark();
}
JSValue JSTreeWalker::parentNode(ExecState* exec, const ArgList&)
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSWebKitCSSMatrixConstructor.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSWebKitCSSMatrixConstructor.cpp
index c7fe4a5..bc05250 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSWebKitCSSMatrixConstructor.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSWebKitCSSMatrixConstructor.cpp
@@ -35,15 +35,16 @@ namespace WebCore {
const ClassInfo JSWebKitCSSMatrixConstructor::s_info = { "WebKitCSSMatrixConstructor", 0, 0, 0 };
-JSWebKitCSSMatrixConstructor::JSWebKitCSSMatrixConstructor(ExecState* exec)
- : DOMObject(JSWebKitCSSMatrixConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+JSWebKitCSSMatrixConstructor::JSWebKitCSSMatrixConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSWebKitCSSMatrixConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSWebKitCSSMatrixPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSWebKitCSSMatrixPrototype::self(exec, globalObject), None);
putDirect(exec->propertyNames().length, jsNumber(exec, 1), ReadOnly|DontDelete|DontEnum);
}
-static JSObject* constructWebKitCSSMatrix(ExecState* exec, JSObject*, const ArgList& args)
+static JSObject* constructWebKitCSSMatrix(ExecState* exec, JSObject* constructor, const ArgList& args)
{
+ JSWebKitCSSMatrixConstructor* jsConstructor = static_cast<JSWebKitCSSMatrixConstructor*>(constructor);
String s;
if (args.size() >= 1)
s = args.at(0).toString(exec);
@@ -51,7 +52,7 @@ static JSObject* constructWebKitCSSMatrix(ExecState* exec, JSObject*, const ArgL
ExceptionCode ec = 0;
RefPtr<WebKitCSSMatrix> matrix = WebKitCSSMatrix::create(s, ec);
setDOMException(exec, ec);
- return CREATE_DOM_OBJECT_WRAPPER(exec, WebKitCSSMatrix, matrix.get());
+ return CREATE_DOM_OBJECT_WRAPPER(exec, jsConstructor->globalObject(), WebKitCSSMatrix, matrix.get());
}
ConstructType JSWebKitCSSMatrixConstructor::getConstructData(ConstructData& constructData)
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSWebKitCSSMatrixConstructor.h b/src/3rdparty/webkit/WebCore/bindings/js/JSWebKitCSSMatrixConstructor.h
index d0e0bd1..65b9050 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSWebKitCSSMatrixConstructor.h
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSWebKitCSSMatrixConstructor.h
@@ -31,9 +31,9 @@
namespace WebCore {
-class JSWebKitCSSMatrixConstructor : public DOMObject {
+class JSWebKitCSSMatrixConstructor : public DOMConstructorObject {
public:
- JSWebKitCSSMatrixConstructor(JSC::ExecState*);
+ JSWebKitCSSMatrixConstructor(JSC::ExecState*, JSDOMGlobalObject*);
static const JSC::ClassInfo s_info;
private:
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSWebKitPointConstructor.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSWebKitPointConstructor.cpp
index c7d4e36..27cc1db 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSWebKitPointConstructor.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSWebKitPointConstructor.cpp
@@ -36,15 +36,17 @@ using namespace JSC;
const ClassInfo JSWebKitPointConstructor::s_info = { "WebKitPointConstructor", 0, 0, 0 };
-JSWebKitPointConstructor::JSWebKitPointConstructor(ExecState* exec)
- : DOMObject(JSWebKitPointConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+JSWebKitPointConstructor::JSWebKitPointConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSWebKitPointConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSWebKitPointPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSWebKitPointPrototype::self(exec, globalObject), None);
putDirect(exec->propertyNames().length, jsNumber(exec, 2), ReadOnly|DontDelete|DontEnum);
}
-static JSObject* constructWebKitPoint(ExecState* exec, JSObject*, const ArgList& args)
+static JSObject* constructWebKitPoint(ExecState* exec, JSObject* constructor, const ArgList& args)
{
+ JSWebKitPointConstructor* jsConstructor = static_cast<JSWebKitPointConstructor*>(constructor);
+
float x = 0;
float y = 0;
if (args.size() >= 2) {
@@ -55,7 +57,7 @@ static JSObject* constructWebKitPoint(ExecState* exec, JSObject*, const ArgList&
if (isnan(y))
y = 0;
}
- return asObject(toJS(exec, WebKitPoint::create(x, y)));
+ return asObject(toJS(exec, jsConstructor->globalObject(), WebKitPoint::create(x, y)));
}
JSC::ConstructType JSWebKitPointConstructor::getConstructData(JSC::ConstructData& constructData)
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSWebKitPointConstructor.h b/src/3rdparty/webkit/WebCore/bindings/js/JSWebKitPointConstructor.h
index a5bb5c1..44c253d 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSWebKitPointConstructor.h
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSWebKitPointConstructor.h
@@ -31,9 +31,9 @@
namespace WebCore {
-class JSWebKitPointConstructor : public DOMObject {
+class JSWebKitPointConstructor : public DOMConstructorObject {
public:
- JSWebKitPointConstructor(JSC::ExecState*);
+ JSWebKitPointConstructor(JSC::ExecState*, JSDOMGlobalObject*);
static const JSC::ClassInfo s_info;
private:
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSWorkerConstructor.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSWorkerConstructor.cpp
index 8ea6718..e1686f7 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSWorkerConstructor.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSWorkerConstructor.cpp
@@ -41,15 +41,17 @@ namespace WebCore {
const ClassInfo JSWorkerConstructor::s_info = { "WorkerConstructor", 0, 0, 0 };
-JSWorkerConstructor::JSWorkerConstructor(ExecState* exec)
- : DOMObject(JSWorkerConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+JSWorkerConstructor::JSWorkerConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSWorkerConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSWorkerPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSWorkerPrototype::self(exec, globalObject), None);
putDirect(exec->propertyNames().length, jsNumber(exec, 1), ReadOnly|DontDelete|DontEnum);
}
-static JSObject* constructWorker(ExecState* exec, JSObject*, const ArgList& args)
+static JSObject* constructWorker(ExecState* exec, JSObject* constructor, const ArgList& args)
{
+ JSWorkerConstructor* jsConstructor = static_cast<JSWorkerConstructor*>(constructor);
+
if (args.size() == 0)
return throwError(exec, SyntaxError, "Not enough arguments");
@@ -57,13 +59,12 @@ static JSObject* constructWorker(ExecState* exec, JSObject*, const ArgList& args
if (exec->hadException())
return 0;
+ // See section 4.8.2 step 14 of WebWorkers for why this is the lexicalGlobalObject.
DOMWindow* window = asJSDOMWindow(exec->lexicalGlobalObject())->impl();
-
- ExceptionCode ec = 0;
- RefPtr<Worker> worker = Worker::create(scriptURL, window->document(), ec);
- setDOMException(exec, ec);
- return asObject(toJS(exec, worker.release()));
+ RefPtr<Worker> worker = Worker::create(scriptURL, window->document());
+
+ return asObject(toJS(exec, jsConstructor->globalObject(), worker.release()));
}
ConstructType JSWorkerConstructor::getConstructData(ConstructData& constructData)
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSWorkerConstructor.h b/src/3rdparty/webkit/WebCore/bindings/js/JSWorkerConstructor.h
index d1df7eb..c845fa6 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSWorkerConstructor.h
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSWorkerConstructor.h
@@ -32,9 +32,9 @@
namespace WebCore {
- class JSWorkerConstructor : public DOMObject {
+ class JSWorkerConstructor : public DOMConstructorObject {
public:
- JSWorkerConstructor(JSC::ExecState*);
+ JSWorkerConstructor(JSC::ExecState*, JSDOMGlobalObject*);
static const JSC::ClassInfo s_info;
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSWorkerContextBase.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSWorkerContextBase.cpp
index c71f45b..622da70 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSWorkerContextBase.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSWorkerContextBase.cpp
@@ -31,6 +31,7 @@
#include "JSWorkerContextBase.h"
+#include "JSDedicatedWorkerContext.h"
#include "JSWorkerContext.h"
#include "WorkerContext.h"
@@ -57,6 +58,11 @@ ScriptExecutionContext* JSWorkerContextBase::scriptExecutionContext() const
return m_impl.get();
}
+JSValue toJS(ExecState* exec, JSDOMGlobalObject*, WorkerContext* workerContext)
+{
+ return toJS(exec, workerContext);
+}
+
JSValue toJS(ExecState*, WorkerContext* workerContext)
{
if (!workerContext)
@@ -67,6 +73,22 @@ JSValue toJS(ExecState*, WorkerContext* workerContext)
return script->workerContextWrapper();
}
+JSDedicatedWorkerContext* toJSDedicatedWorkerContext(JSValue value)
+{
+ if (!value.isObject())
+ return 0;
+ const ClassInfo* classInfo = asObject(value)->classInfo();
+ if (classInfo == &JSDedicatedWorkerContext::s_info)
+ return static_cast<JSDedicatedWorkerContext*>(asObject(value));
+ return 0;
+}
+
+JSWorkerContext* toJSWorkerContext(JSValue value)
+{
+ // When we support shared workers, we'll add code to test for SharedWorkerContext too.
+ return toJSDedicatedWorkerContext(value);
+}
+
} // namespace WebCore
#endif // ENABLE(WORKERS)
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSWorkerContextBase.h b/src/3rdparty/webkit/WebCore/bindings/js/JSWorkerContextBase.h
index dcbc5c3..f7ad17f 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSWorkerContextBase.h
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSWorkerContextBase.h
@@ -33,6 +33,8 @@
namespace WebCore {
+ class JSDedicatedWorkerContext;
+ class JSWorkerContext;
class WorkerContext;
class JSWorkerContextBase : public JSDOMGlobalObject {
@@ -52,8 +54,13 @@ namespace WebCore {
};
// Returns a JSWorkerContext or jsNull()
+ // Always ignores the execState and passed globalObject, WorkerContext is itself a globalObject and will always use its own prototype chain.
+ JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, WorkerContext*);
JSC::JSValue toJS(JSC::ExecState*, WorkerContext*);
+ JSDedicatedWorkerContext* toJSDedicatedWorkerContext(JSC::JSValue);
+ JSWorkerContext* toJSWorkerContext(JSC::JSValue);
+
} // namespace WebCore
#endif // ENABLE(WORKERS)
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSWorkerContextCustom.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSWorkerContextCustom.cpp
index 14bbe19..6a7602d 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSWorkerContextCustom.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSWorkerContextCustom.cpp
@@ -30,7 +30,10 @@
#include "JSWorkerContext.h"
#include "JSDOMBinding.h"
+#include "JSDOMGlobalObject.h"
#include "JSEventListener.h"
+#include "JSMessageChannelConstructor.h"
+#include "JSMessagePort.h"
#include "JSWorkerLocation.h"
#include "JSWorkerNavigator.h"
#include "JSXMLHttpRequestConstructor.h"
@@ -55,7 +58,7 @@ void JSWorkerContext::mark()
markDOMObjectWrapper(globalData, impl()->optionalLocation());
markDOMObjectWrapper(globalData, impl()->optionalNavigator());
- markIfNotNull(impl()->onmessage());
+ markIfNotNull(impl()->onerror());
typedef WorkerContext::EventListenersMap EventListenersMap;
typedef WorkerContext::ListenerVector ListenerVector;
@@ -138,6 +141,14 @@ JSValue JSWorkerContext::setInterval(ExecState* exec, const ArgList& args)
return jsNumber(exec, impl()->setInterval(action, delay));
}
+
+#if ENABLE(CHANNEL_MESSAGING)
+JSValue JSWorkerContext::messageChannel(ExecState* exec) const
+{
+ return getDOMConstructor<JSMessageChannelConstructor>(exec, this);
+}
+#endif
+
} // namespace WebCore
#endif // ENABLE(WORKERS)
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSWorkerCustom.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSWorkerCustom.cpp
index f4d3033..6010f83 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSWorkerCustom.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSWorkerCustom.cpp
@@ -30,7 +30,6 @@
#include "JSWorker.h"
#include "JSDOMGlobalObject.h"
-#include "JSEventListener.h"
#include "Worker.h"
using namespace JSC;
@@ -39,42 +38,9 @@ namespace WebCore {
void JSWorker::mark()
{
- DOMObject::mark();
+ Base::mark();
- markIfNotNull(m_impl->onmessage());
- markIfNotNull(m_impl->onerror());
-
- typedef Worker::EventListenersMap EventListenersMap;
- typedef Worker::ListenerVector ListenerVector;
- EventListenersMap& eventListeners = m_impl->eventListeners();
- for (EventListenersMap::iterator mapIter = eventListeners.begin(); mapIter != eventListeners.end(); ++mapIter) {
- for (ListenerVector::iterator vecIter = mapIter->second.begin(); vecIter != mapIter->second.end(); ++vecIter)
- (*vecIter)->markJSFunction();
- }
-}
-
-JSValue JSWorker::addEventListener(ExecState* exec, const ArgList& args)
-{
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(impl()->scriptExecutionContext());
- if (!globalObject)
- return jsUndefined();
- RefPtr<JSEventListener> listener = globalObject->findOrCreateJSEventListener(args.at(1));
- if (!listener)
- return jsUndefined();
- impl()->addEventListener(args.at(0).toString(exec), listener.release(), args.at(2).toBoolean(exec));
- return jsUndefined();
-}
-
-JSValue JSWorker::removeEventListener(ExecState* exec, const ArgList& args)
-{
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(impl()->scriptExecutionContext());
- if (!globalObject)
- return jsUndefined();
- JSEventListener* listener = globalObject->findJSEventListener(args.at(1));
- if (!listener)
- return jsUndefined();
- impl()->removeEventListener(args.at(0).toString(exec), listener, args.at(2).toBoolean(exec));
- return jsUndefined();
+ markIfNotNull(static_cast<Worker*>(impl())->onmessage());
}
} // namespace WebCore
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSXMLHttpRequestConstructor.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSXMLHttpRequestConstructor.cpp
index 65cdfc2..a644c9e 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSXMLHttpRequestConstructor.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSXMLHttpRequestConstructor.cpp
@@ -33,25 +33,20 @@ ASSERT_CLASS_FITS_IN_CELL(JSXMLHttpRequestConstructor);
const ClassInfo JSXMLHttpRequestConstructor::s_info = { "XMLHttpRequestConstructor", 0, 0, 0 };
JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
- : DOMObject(JSXMLHttpRequestConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
- , m_globalObject(globalObject)
+ : DOMConstructorObject(JSXMLHttpRequestConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSXMLHttpRequestPrototype::self(exec, exec->lexicalGlobalObject()), None);
-}
-
-ScriptExecutionContext* JSXMLHttpRequestConstructor::scriptExecutionContext() const
-{
- return m_globalObject->scriptExecutionContext();
+ putDirect(exec->propertyNames().prototype, JSXMLHttpRequestPrototype::self(exec, globalObject), None);
}
static JSObject* constructXMLHttpRequest(ExecState* exec, JSObject* constructor, const ArgList&)
{
- ScriptExecutionContext* context = static_cast<JSXMLHttpRequestConstructor*>(constructor)->scriptExecutionContext();
+ JSXMLHttpRequestConstructor* jsConstructor = static_cast<JSXMLHttpRequestConstructor*>(constructor);
+ ScriptExecutionContext* context = jsConstructor->scriptExecutionContext();
if (!context)
return throwError(exec, ReferenceError, "XMLHttpRequest constructor associated document is unavailable");
RefPtr<XMLHttpRequest> xmlHttpRequest = XMLHttpRequest::create(context);
- return CREATE_DOM_OBJECT_WRAPPER(exec, XMLHttpRequest, xmlHttpRequest.get());
+ return CREATE_DOM_OBJECT_WRAPPER(exec, jsConstructor->globalObject(), XMLHttpRequest, xmlHttpRequest.get());
}
ConstructType JSXMLHttpRequestConstructor::getConstructData(ConstructData& constructData)
@@ -60,11 +55,4 @@ ConstructType JSXMLHttpRequestConstructor::getConstructData(ConstructData& const
return ConstructTypeHost;
}
-void JSXMLHttpRequestConstructor::mark()
-{
- DOMObject::mark();
- if (!m_globalObject->marked())
- m_globalObject->mark();
-}
-
} // namespace WebCore
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSXMLHttpRequestConstructor.h b/src/3rdparty/webkit/WebCore/bindings/js/JSXMLHttpRequestConstructor.h
index 978a9f0..2cc4fcf 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSXMLHttpRequestConstructor.h
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSXMLHttpRequestConstructor.h
@@ -24,18 +24,13 @@
namespace WebCore {
-class JSXMLHttpRequestConstructor : public DOMObject {
+class JSXMLHttpRequestConstructor : public DOMConstructorObject {
public:
JSXMLHttpRequestConstructor(JSC::ExecState*, JSDOMGlobalObject*);
- ScriptExecutionContext* scriptExecutionContext() const;
static const JSC::ClassInfo s_info;
-
- virtual void mark();
private:
virtual JSC::ConstructType getConstructData(JSC::ConstructData&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
-
- JSDOMGlobalObject* m_globalObject;
};
} // namespace WebCore
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSXSLTProcessorConstructor.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSXSLTProcessorConstructor.cpp
index 807b017..07fec72 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSXSLTProcessorConstructor.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSXSLTProcessorConstructor.cpp
@@ -41,15 +41,16 @@ ASSERT_CLASS_FITS_IN_CELL(JSXSLTProcessorConstructor);
const ClassInfo JSXSLTProcessorConstructor::s_info = { "XSLTProcessorConsructor", 0, 0, 0 };
-JSXSLTProcessorConstructor::JSXSLTProcessorConstructor(ExecState* exec)
- : DOMObject(JSXSLTProcessorConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+JSXSLTProcessorConstructor::JSXSLTProcessorConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSXSLTProcessorConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSXSLTProcessorPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSXSLTProcessorPrototype::self(exec, globalObject), None);
}
-static JSObject* constructXSLTProcessor(ExecState* exec, JSObject*, const ArgList&)
+static JSObject* constructXSLTProcessor(ExecState* exec, JSObject* constructor, const ArgList&)
{
- return CREATE_DOM_OBJECT_WRAPPER(exec, XSLTProcessor, XSLTProcessor::create().get());
+ JSXSLTProcessorConstructor* jsConstructor = static_cast<JSXSLTProcessorConstructor*>(constructor);
+ return CREATE_DOM_OBJECT_WRAPPER(exec, jsConstructor->globalObject(), XSLTProcessor, XSLTProcessor::create().get());
}
ConstructType JSXSLTProcessorConstructor::getConstructData(ConstructData& constructData)
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSXSLTProcessorConstructor.h b/src/3rdparty/webkit/WebCore/bindings/js/JSXSLTProcessorConstructor.h
index 64ef944..96fa607 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSXSLTProcessorConstructor.h
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSXSLTProcessorConstructor.h
@@ -32,9 +32,9 @@
namespace WebCore {
- class JSXSLTProcessorConstructor : public DOMObject {
+ class JSXSLTProcessorConstructor : public DOMConstructorObject {
public:
- JSXSLTProcessorConstructor(JSC::ExecState*);
+ JSXSLTProcessorConstructor(JSC::ExecState*, JSDOMGlobalObject*);
static const JSC::ClassInfo s_info;
private:
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/ScheduledAction.cpp b/src/3rdparty/webkit/WebCore/bindings/js/ScheduledAction.cpp
index 91bece7..9e64bce 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/ScheduledAction.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/ScheduledAction.cpp
@@ -87,7 +87,7 @@ void ScheduledAction::execute(ScriptExecutionContext* context)
void ScheduledAction::executeFunctionInContext(JSGlobalObject* globalObject, JSValue thisValue)
{
ASSERT(m_function);
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
CallData callData;
CallType callType = m_function.get().getCallData(callData);
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/ScriptArray.cpp b/src/3rdparty/webkit/WebCore/bindings/js/ScriptArray.cpp
new file mode 100644
index 0000000..016c7a7
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/bindings/js/ScriptArray.cpp
@@ -0,0 +1,107 @@
+/*
+ * Copyright (C) 2009 Google Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following disclaimer
+ * in the documentation and/or other materials provided with the
+ * distribution.
+ * * Neither the name of Google Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+#include "ScriptArray.h"
+
+#include <runtime/JSLock.h>
+
+using namespace JSC;
+
+namespace WebCore {
+
+ScriptArray::ScriptArray(JSArray* object)
+ : ScriptObject(object)
+{
+}
+
+static bool handleException(ScriptState* scriptState)
+{
+ if (!scriptState->hadException())
+ return true;
+
+ reportException(scriptState, scriptState->exception());
+ return false;
+}
+
+bool ScriptArray::set(ScriptState* scriptState, unsigned index, const ScriptObject& value)
+{
+ JSLock lock(SilenceAssertionsOnly);
+ jsArray()->put(scriptState, index, value.jsObject());
+ return handleException(scriptState);
+}
+
+bool ScriptArray::set(ScriptState* scriptState, unsigned index, const String& value)
+{
+ JSLock lock(SilenceAssertionsOnly);
+ jsArray()->put(scriptState, index, jsString(scriptState, value));
+ return handleException(scriptState);
+}
+
+bool ScriptArray::set(ScriptState* scriptState, unsigned index, double value)
+{
+ JSLock lock(SilenceAssertionsOnly);
+ jsArray()->put(scriptState, index, jsNumber(scriptState, value));
+ return handleException(scriptState);
+}
+
+bool ScriptArray::set(ScriptState* scriptState, unsigned index, long long value)
+{
+ JSLock lock(SilenceAssertionsOnly);
+ jsArray()->put(scriptState, index, jsNumber(scriptState, value));
+ return handleException(scriptState);
+}
+
+bool ScriptArray::set(ScriptState* scriptState, unsigned index, int value)
+{
+ JSLock lock(SilenceAssertionsOnly);
+ jsArray()->put(scriptState, index, jsNumber(scriptState, value));
+ return handleException(scriptState);
+}
+
+bool ScriptArray::set(ScriptState* scriptState, unsigned index, bool value)
+{
+ JSLock lock(SilenceAssertionsOnly);
+ jsArray()->put(scriptState, index, jsBoolean(value));
+ return handleException(scriptState);
+}
+
+unsigned ScriptArray::length(ScriptState*)
+{
+ return jsArray()->length();
+}
+
+ScriptArray ScriptArray::createNew(ScriptState* scriptState)
+{
+ JSLock lock(SilenceAssertionsOnly);
+ return ScriptArray(constructEmptyArray(scriptState));
+}
+
+} // namespace WebCore
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/ScriptArray.h b/src/3rdparty/webkit/WebCore/bindings/js/ScriptArray.h
new file mode 100644
index 0000000..2ba307f
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/bindings/js/ScriptArray.h
@@ -0,0 +1,59 @@
+/*
+ * Copyright (C) 2009 Google Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following disclaimer
+ * in the documentation and/or other materials provided with the
+ * distribution.
+ * * Neither the name of Google Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef ScriptArray_h
+#define ScriptArray_h
+
+#include "ScriptObject.h"
+#include "ScriptState.h"
+
+#include <runtime/JSArray.h>
+
+namespace WebCore {
+
+ class ScriptArray : public ScriptObject {
+ public:
+ ScriptArray(JSC::JSArray*);
+ ScriptArray() {}
+ JSC::JSArray* jsArray() const { return asArray(jsValue()); }
+
+ bool set(ScriptState*, unsigned index, const ScriptObject&);
+ bool set(ScriptState*, unsigned index, const String&);
+ bool set(ScriptState*, unsigned index, double);
+ bool set(ScriptState*, unsigned index, long long);
+ bool set(ScriptState*, unsigned index, int);
+ bool set(ScriptState*, unsigned index, bool);
+ unsigned length(ScriptState*);
+
+ static ScriptArray createNew(ScriptState*);
+ };
+}
+
+#endif // ScriptArray_h
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/ScriptCachedFrameData.cpp b/src/3rdparty/webkit/WebCore/bindings/js/ScriptCachedFrameData.cpp
index 213c708..8852611 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/ScriptCachedFrameData.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/ScriptCachedFrameData.cpp
@@ -45,7 +45,7 @@ namespace WebCore {
ScriptCachedFrameData::ScriptCachedFrameData(Frame* frame)
{
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
ScriptController* scriptController = frame->script();
if (scriptController->haveWindowShell()) {
@@ -67,7 +67,7 @@ void ScriptCachedFrameData::restore(Frame* frame)
{
Page* page = frame->page();
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
ScriptController* scriptController = frame->script();
if (scriptController->haveWindowShell()) {
@@ -84,7 +84,7 @@ void ScriptCachedFrameData::restore(Frame* frame)
void ScriptCachedFrameData::clear()
{
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
if (!m_window) {
m_window = 0;
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/ScriptController.cpp b/src/3rdparty/webkit/WebCore/bindings/js/ScriptController.cpp
index 3e59df9..a1c4376 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/ScriptController.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/ScriptController.cpp
@@ -81,7 +81,15 @@ ScriptController::~ScriptController()
ScriptValue ScriptController::evaluate(const ScriptSourceCode& sourceCode)
{
- if (!m_XSSAuditor->canEvaluate(sourceCode.source())) {
+ const SourceCode& jsSourceCode = sourceCode.jsSourceCode();
+ String sourceURL = jsSourceCode.provider()->url();
+
+ if (sourceURL.isNull() && !m_XSSAuditor->canEvaluateJavaScriptURL(sourceCode.source())) {
+ // This JavaScript URL is not safe to be evaluated.
+ return JSValue();
+ }
+
+ if (!sourceURL.isNull() && !m_XSSAuditor->canEvaluate(sourceCode.source())) {
// This script is not safe to be evaluated.
return JSValue();
}
@@ -89,8 +97,6 @@ ScriptValue ScriptController::evaluate(const ScriptSourceCode& sourceCode)
// evaluate code. Returns the JS return value or 0
// if there was none, an error occured or the type couldn't be converted.
- const SourceCode& jsSourceCode = sourceCode.jsSourceCode();
-
initScriptIfNeeded();
// inlineCode is true for <a href="javascript:doSomething()">
// and false for <script>doSomething()</script>. Check if it has the
@@ -98,10 +104,9 @@ ScriptValue ScriptController::evaluate(const ScriptSourceCode& sourceCode)
// See smart window.open policy for where this is used.
ExecState* exec = m_windowShell->window()->globalExec();
const String* savedSourceURL = m_sourceURL;
- String sourceURL = jsSourceCode.provider()->url();
m_sourceURL = &sourceURL;
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
RefPtr<Frame> protect = m_frame;
@@ -130,7 +135,7 @@ void ScriptController::clearWindowShell()
if (!m_windowShell)
return;
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
// Clear the debugger from the current window before setting the new window.
attachDebugger(0);
@@ -152,7 +157,7 @@ void ScriptController::initScript()
if (m_windowShell)
return;
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
m_windowShell = new JSDOMWindowShell(m_frame->domWindow());
m_windowShell->window()->updateDocument();
@@ -244,7 +249,7 @@ void ScriptController::updateDocument()
if (!m_frame->document())
return;
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
if (m_windowShell)
m_windowShell->window()->updateDocument();
}
@@ -260,7 +265,7 @@ Bindings::RootObject* ScriptController::bindingRootObject()
return 0;
if (!m_bindingRootObject) {
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
m_bindingRootObject = Bindings::RootObject::create(0, globalObject());
}
return m_bindingRootObject.get();
@@ -286,7 +291,7 @@ NPObject* ScriptController::windowScriptNPObject()
if (isEnabled()) {
// JavaScript is enabled, so there is a JavaScript window object.
// Return an NPObject bound to the window object.
- JSC::JSLock lock(false);
+ JSC::JSLock lock(SilenceAssertionsOnly);
JSObject* win = windowShell()->window();
ASSERT(win);
Bindings::RootObject* root = bindingRootObject();
@@ -320,9 +325,9 @@ JSObject* ScriptController::jsObjectForPluginElement(HTMLPlugInElement* plugin)
return 0;
// Create a JSObject bound to this element
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
ExecState* exec = globalObject()->globalExec();
- JSValue jsElementValue = toJS(exec, plugin);
+ JSValue jsElementValue = toJS(exec, globalObject(), plugin);
if (!jsElementValue || !jsElementValue.isObject())
return 0;
@@ -354,7 +359,7 @@ void ScriptController::cleanupScriptObjectsForPlugin(void* nativeHandle)
void ScriptController::clearScriptObjects()
{
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
RootObjectMap::const_iterator end = m_rootObjects.end();
for (RootObjectMap::const_iterator it = m_rootObjects.begin(); it != end; ++it)
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/ScriptControllerHaiku.cpp b/src/3rdparty/webkit/WebCore/bindings/js/ScriptControllerHaiku.cpp
new file mode 100644
index 0000000..b573b97
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/bindings/js/ScriptControllerHaiku.cpp
@@ -0,0 +1,46 @@
+/*
+ * Copyright (C) 2008 Apple Computer, Inc. All rights reserved.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+#include "ScriptController.h"
+
+#include "PluginView.h"
+#include "runtime_root.h"
+#include "runtime.h"
+
+
+namespace WebCore {
+
+PassRefPtr<JSC::Bindings::Instance> ScriptController::createScriptInstanceForWidget(Widget* widget)
+{
+ if (!widget->isPluginView())
+ return 0;
+
+ return static_cast<PluginView*>(widget)->bindingInstance();
+}
+
+} // namespace WebCore
+
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/ScriptControllerMac.mm b/src/3rdparty/webkit/WebCore/bindings/js/ScriptControllerMac.mm
index 502a504..e6a654f 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/ScriptControllerMac.mm
+++ b/src/3rdparty/webkit/WebCore/bindings/js/ScriptControllerMac.mm
@@ -112,7 +112,7 @@ WebScriptObject* ScriptController::windowScriptObject()
return 0;
if (!m_windowScriptObject) {
- JSC::JSLock lock(false);
+ JSC::JSLock lock(JSC::SilenceAssertionsOnly);
JSC::Bindings::RootObject* root = bindingRootObject();
m_windowScriptObject = [WebScriptObject scriptObjectForJSObject:toRef(windowShell()) originRootObject:root rootObject:root];
}
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/ScriptEventListener.cpp b/src/3rdparty/webkit/WebCore/bindings/js/ScriptEventListener.cpp
index e5be1d6..878c535 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/ScriptEventListener.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/ScriptEventListener.cpp
@@ -71,8 +71,9 @@ PassRefPtr<JSLazyEventListener> createAttributeEventListener(Node* node, Attribu
// Ensure that 'node' has a JavaScript wrapper to mark the event listener we're creating.
{
- JSLock lock(false);
- toJS(globalObject->globalExec(), node);
+ JSLock lock(SilenceAssertionsOnly);
+ // FIXME: Should pass the global object associated with the node
+ toJS(globalObject->globalExec(), globalObject, node);
}
return JSLazyEventListener::create(attr->localName().string(), eventParameterName(node->isSVGElement()), attr->value(), globalObject, node, scriptController->eventHandlerLineNumber());
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/ScriptFunctionCall.cpp b/src/3rdparty/webkit/WebCore/bindings/js/ScriptFunctionCall.cpp
index 1122931..ca6b03a 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/ScriptFunctionCall.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/ScriptFunctionCall.cpp
@@ -66,7 +66,7 @@ void ScriptFunctionCall::appendArgument(const ScriptValue& argument)
void ScriptFunctionCall::appendArgument(const String& argument)
{
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
m_arguments.append(jsString(m_exec, argument));
}
@@ -82,19 +82,19 @@ void ScriptFunctionCall::appendArgument(JSC::JSValue argument)
void ScriptFunctionCall::appendArgument(long long argument)
{
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
m_arguments.append(jsNumber(m_exec, argument));
}
void ScriptFunctionCall::appendArgument(unsigned int argument)
{
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
m_arguments.append(jsNumber(m_exec, argument));
}
void ScriptFunctionCall::appendArgument(int argument)
{
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
m_arguments.append(jsNumber(m_exec, argument));
}
@@ -107,7 +107,7 @@ ScriptValue ScriptFunctionCall::call(bool& hadException, bool reportExceptions)
{
JSObject* thisObject = m_thisObject.jsObject();
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
JSValue function = thisObject->get(m_exec, Identifier(m_exec, m_name));
if (m_exec->hadException()) {
@@ -145,7 +145,7 @@ ScriptObject ScriptFunctionCall::construct(bool& hadException, bool reportExcept
{
JSObject* thisObject = m_thisObject.jsObject();
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
JSObject* constructor = asObject(thisObject->get(m_exec, Identifier(m_exec, m_name)));
if (m_exec->hadException()) {
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/ScriptObject.cpp b/src/3rdparty/webkit/WebCore/bindings/js/ScriptObject.cpp
index 7f6391d..e664645 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/ScriptObject.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/ScriptObject.cpp
@@ -32,7 +32,7 @@
#include "ScriptObject.h"
#include "JSDOMBinding.h"
-#include "JSInspectorController.h"
+#include "JSInspectorBackend.h"
#include <runtime/JSLock.h>
@@ -56,7 +56,7 @@ static bool handleException(ScriptState* scriptState)
bool ScriptObject::set(ScriptState* scriptState, const String& name, const String& value)
{
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
PutPropertySlot slot;
jsObject()->put(scriptState, Identifier(scriptState, name), jsString(scriptState, value), slot);
return handleException(scriptState);
@@ -64,7 +64,7 @@ bool ScriptObject::set(ScriptState* scriptState, const String& name, const Strin
bool ScriptObject::set(ScriptState* scriptState, const char* name, const ScriptObject& value)
{
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
PutPropertySlot slot;
jsObject()->put(scriptState, Identifier(scriptState, name), value.jsObject(), slot);
return handleException(scriptState);
@@ -72,7 +72,7 @@ bool ScriptObject::set(ScriptState* scriptState, const char* name, const ScriptO
bool ScriptObject::set(ScriptState* scriptState, const char* name, const String& value)
{
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
PutPropertySlot slot;
jsObject()->put(scriptState, Identifier(scriptState, name), jsString(scriptState, value), slot);
return handleException(scriptState);
@@ -80,7 +80,7 @@ bool ScriptObject::set(ScriptState* scriptState, const char* name, const String&
bool ScriptObject::set(ScriptState* scriptState, const char* name, double value)
{
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
PutPropertySlot slot;
jsObject()->put(scriptState, Identifier(scriptState, name), jsNumber(scriptState, value), slot);
return handleException(scriptState);
@@ -88,7 +88,7 @@ bool ScriptObject::set(ScriptState* scriptState, const char* name, double value)
bool ScriptObject::set(ScriptState* scriptState, const char* name, long long value)
{
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
PutPropertySlot slot;
jsObject()->put(scriptState, Identifier(scriptState, name), jsNumber(scriptState, value), slot);
return handleException(scriptState);
@@ -96,7 +96,7 @@ bool ScriptObject::set(ScriptState* scriptState, const char* name, long long val
bool ScriptObject::set(ScriptState* scriptState, const char* name, int value)
{
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
PutPropertySlot slot;
jsObject()->put(scriptState, Identifier(scriptState, name), jsNumber(scriptState, value), slot);
return handleException(scriptState);
@@ -104,7 +104,7 @@ bool ScriptObject::set(ScriptState* scriptState, const char* name, int value)
bool ScriptObject::set(ScriptState* scriptState, const char* name, bool value)
{
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
PutPropertySlot slot;
jsObject()->put(scriptState, Identifier(scriptState, name), jsBoolean(value), slot);
return handleException(scriptState);
@@ -112,27 +112,28 @@ bool ScriptObject::set(ScriptState* scriptState, const char* name, bool value)
ScriptObject ScriptObject::createNew(ScriptState* scriptState)
{
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
return ScriptObject(constructEmptyObject(scriptState));
}
bool ScriptGlobalObject::set(ScriptState* scriptState, const char* name, const ScriptObject& value)
{
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
scriptState->lexicalGlobalObject()->putDirect(Identifier(scriptState, name), value.jsObject());
return handleException(scriptState);
}
-bool ScriptGlobalObject::set(ScriptState* scriptState, const char* name, InspectorController* value)
+bool ScriptGlobalObject::set(ScriptState* scriptState, const char* name, InspectorBackend* value)
{
- JSLock lock(false);
- scriptState->lexicalGlobalObject()->putDirect(Identifier(scriptState, name), toJS(scriptState, value));
+ JSLock lock(SilenceAssertionsOnly);
+ JSDOMGlobalObject* globalObject = static_cast<JSDOMGlobalObject*>(scriptState->lexicalGlobalObject());
+ globalObject->putDirect(Identifier(scriptState, name), toJS(scriptState, globalObject, value));
return handleException(scriptState);
}
bool ScriptGlobalObject::get(ScriptState* scriptState, const char* name, ScriptObject& value)
{
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
JSValue jsValue = scriptState->lexicalGlobalObject()->get(scriptState, Identifier(scriptState, name));
if (!jsValue)
return false;
@@ -146,7 +147,7 @@ bool ScriptGlobalObject::get(ScriptState* scriptState, const char* name, ScriptO
bool ScriptGlobalObject::remove(ScriptState* scriptState, const char* name)
{
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
scriptState->lexicalGlobalObject()->deleteProperty(scriptState, Identifier(scriptState, name));
return handleException(scriptState);
}
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/ScriptObject.h b/src/3rdparty/webkit/WebCore/bindings/js/ScriptObject.h
index ed86659..97022da 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/ScriptObject.h
+++ b/src/3rdparty/webkit/WebCore/bindings/js/ScriptObject.h
@@ -38,7 +38,7 @@
#include <runtime/Protect.h>
namespace WebCore {
- class InspectorController;
+ class InspectorBackend;
class ScriptObject : public ScriptValue {
public:
@@ -60,7 +60,7 @@ namespace WebCore {
class ScriptGlobalObject {
public:
static bool set(ScriptState*, const char* name, const ScriptObject&);
- static bool set(ScriptState*, const char* name, InspectorController*);
+ static bool set(ScriptState*, const char* name, InspectorBackend*);
static bool get(ScriptState*, const char* name, ScriptObject&);
static bool remove(ScriptState*, const char* name);
private:
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/ScriptObjectQuarantine.cpp b/src/3rdparty/webkit/WebCore/bindings/js/ScriptObjectQuarantine.cpp
index 13e180a..171883a 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/ScriptObjectQuarantine.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/ScriptObjectQuarantine.cpp
@@ -31,7 +31,6 @@
#include "config.h"
#include "ScriptObjectQuarantine.h"
-#include "Database.h"
#include "Document.h"
#include "Frame.h"
#include "JSDOMBinding.h"
@@ -43,6 +42,7 @@
#include <runtime/JSLock.h>
#if ENABLE(DATABASE)
+#include "Database.h"
#include "JSDatabase.h"
#endif
@@ -56,7 +56,7 @@ namespace WebCore {
ScriptValue quarantineValue(ScriptState* scriptState, const ScriptValue& value)
{
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
return ScriptValue(JSInspectedObjectWrapper::wrap(scriptState, value.jsValue()));
}
@@ -69,10 +69,11 @@ bool getQuarantinedScriptObject(Database* database, ScriptObject& quarantinedObj
if (!frame)
return false;
- ExecState* exec = toJSDOMWindow(frame)->globalExec();
+ JSDOMGlobalObject* globalObject = toJSDOMWindow(frame);
+ ExecState* exec = globalObject->globalExec();
- JSLock lock(false);
- quarantinedObject = ScriptObject(asObject(JSInspectedObjectWrapper::wrap(exec, toJS(exec, database))));
+ JSLock lock(SilenceAssertionsOnly);
+ quarantinedObject = ScriptObject(asObject(JSInspectedObjectWrapper::wrap(exec, toJS(exec, globalObject, database))));
return true;
}
@@ -84,10 +85,11 @@ bool getQuarantinedScriptObject(Frame* frame, Storage* storage, ScriptObject& qu
ASSERT(frame);
ASSERT(storage);
- ExecState* exec = toJSDOMWindow(frame)->globalExec();
+ JSDOMGlobalObject* globalObject = toJSDOMWindow(frame);
+ ExecState* exec = globalObject->globalExec();
- JSLock lock(false);
- quarantinedObject = ScriptObject(asObject(JSInspectedObjectWrapper::wrap(exec, toJS(exec, storage))));
+ JSLock lock(SilenceAssertionsOnly);
+ quarantinedObject = ScriptObject(asObject(JSInspectedObjectWrapper::wrap(exec, toJS(exec, globalObject, storage))));
return true;
}
@@ -99,8 +101,9 @@ bool getQuarantinedScriptObject(Node* node, ScriptObject& quarantinedObject)
if (!exec)
return false;
- JSLock lock(false);
- quarantinedObject = ScriptObject(asObject(JSInspectedObjectWrapper::wrap(exec, toJS(exec, node))));
+ JSLock lock(SilenceAssertionsOnly);
+ // FIXME: Should use some sort of globalObjectFromNode()
+ quarantinedObject = ScriptObject(asObject(JSInspectedObjectWrapper::wrap(exec, toJS(exec, deprecatedGlobalObjectForPrototype(exec), node))));
return true;
}
@@ -112,7 +115,7 @@ bool getQuarantinedScriptObject(DOMWindow* domWindow, ScriptObject& quarantinedO
JSDOMWindow* window = toJSDOMWindow(domWindow->frame());
ExecState* exec = window->globalExec();
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
quarantinedObject = ScriptObject(asObject(JSInspectedObjectWrapper::wrap(exec, window)));
return true;
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/ScriptSourceCode.h b/src/3rdparty/webkit/WebCore/bindings/js/ScriptSourceCode.h
index 0a16265..1b05ded 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/ScriptSourceCode.h
+++ b/src/3rdparty/webkit/WebCore/bindings/js/ScriptSourceCode.h
@@ -32,20 +32,24 @@
#define ScriptSourceCode_h
#include "CachedScriptSourceProvider.h"
+#include "ScriptSourceProvider.h"
#include "StringSourceProvider.h"
#include "KURL.h"
+#include <wtf/RefPtr.h>
namespace WebCore {
class ScriptSourceCode {
public:
ScriptSourceCode(const String& source, const KURL& url = KURL(), int startLine = 1)
- : m_code(makeSource(source, url.isNull() ? String() : url.string(), startLine))
+ : m_provider(StringSourceProvider::create(source, url.isNull() ? String() : url.string()))
+ , m_code(m_provider, startLine)
{
}
ScriptSourceCode(CachedScript* cs)
- : m_code(makeSource(cs))
+ : m_provider(CachedScriptSourceProvider::create(cs))
+ , m_code(m_provider)
{
}
@@ -53,9 +57,11 @@ public:
const JSC::SourceCode& jsSourceCode() const { return m_code; }
- const String& source() const { return static_cast<StringSourceProvider*>(m_code.provider())->source(); }
+ const String& source() const { return m_provider->source(); }
private:
+ RefPtr<ScriptSourceProvider> m_provider;
+
JSC::SourceCode m_code;
};
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/ScriptSourceProvider.h b/src/3rdparty/webkit/WebCore/bindings/js/ScriptSourceProvider.h
new file mode 100644
index 0000000..3fe3584
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/bindings/js/ScriptSourceProvider.h
@@ -0,0 +1,48 @@
+/*
+ * Copyright (C) 2009 Daniel Bates (dbates@intudata.com)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef ScriptSourceProvider_h
+#define ScriptSourceProvider_h
+
+#include <parser/SourceProvider.h>
+
+namespace WebCore {
+
+ class String;
+
+ class ScriptSourceProvider : public JSC::SourceProvider {
+ public:
+ ScriptSourceProvider(const JSC::UString& url, JSC::SourceBOMPresence hasBOMs = JSC::SourceCouldHaveBOMs)
+ : SourceProvider(url, hasBOMs)
+ {
+ }
+
+ virtual const String& source() const = 0;
+ };
+
+} // namespace WebCore
+
+#endif // ScriptSourceProvider_h
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/ScriptValue.cpp b/src/3rdparty/webkit/WebCore/bindings/js/ScriptValue.cpp
index dfb46da..d427cee 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/ScriptValue.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/ScriptValue.cpp
@@ -44,7 +44,7 @@ bool ScriptValue::getString(String& result) const
{
if (!m_value)
return false;
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
UString ustring;
if (!m_value.get().getString(ustring))
return false;
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/StringSourceProvider.h b/src/3rdparty/webkit/WebCore/bindings/js/StringSourceProvider.h
index 89dfa67..770c4fc 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/StringSourceProvider.h
+++ b/src/3rdparty/webkit/WebCore/bindings/js/StringSourceProvider.h
@@ -29,11 +29,12 @@
#ifndef StringSourceProvider_h
#define StringSourceProvider_h
+#include "ScriptSourceProvider.h"
#include <parser/SourceCode.h>
namespace WebCore {
- class StringSourceProvider : public JSC::SourceProvider {
+ class StringSourceProvider : public ScriptSourceProvider {
public:
static PassRefPtr<StringSourceProvider> create(const String& source, const String& url) { return adoptRef(new StringSourceProvider(source, url)); }
@@ -44,7 +45,7 @@ namespace WebCore {
private:
StringSourceProvider(const String& source, const String& url)
- : SourceProvider(url)
+ : ScriptSourceProvider(url)
, m_source(source)
{
}
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/WorkerScriptController.cpp b/src/3rdparty/webkit/WebCore/bindings/js/WorkerScriptController.cpp
index bcf107b..fc3de3c 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/WorkerScriptController.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/WorkerScriptController.cpp
@@ -31,10 +31,9 @@
#include "WorkerScriptController.h"
#include "JSDOMBinding.h"
-#include "JSWorkerContext.h"
+#include "JSDedicatedWorkerContext.h"
#include "ScriptSourceCode.h"
#include "ScriptValue.h"
-#include "WorkerContext.h"
#include "WorkerObjectProxy.h"
#include "WorkerThread.h"
#include <interpreter/Interpreter.h>
@@ -66,16 +65,20 @@ void WorkerScriptController::initScript()
{
ASSERT(!m_workerContextWrapper);
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
// Explicitly protect the global object's prototype so it isn't collected
// when we allocate the global object. (Once the global object is fully
// constructed, it can mark its own prototype.)
- RefPtr<Structure> prototypeStructure = JSWorkerContextPrototype::createStructure(jsNull());
- ProtectedPtr<JSWorkerContextPrototype> prototype = new (m_globalData.get()) JSWorkerContextPrototype(prototypeStructure.release());
+ RefPtr<Structure> workerContextPrototypeStructure = JSWorkerContextPrototype::createStructure(jsNull());
+ ProtectedPtr<JSWorkerContextPrototype> workerContextPrototype = new (m_globalData.get()) JSWorkerContextPrototype(workerContextPrototypeStructure.release());
- RefPtr<Structure> structure = JSWorkerContext::createStructure(prototype);
- m_workerContextWrapper = new (m_globalData.get()) JSWorkerContext(structure.release(), m_workerContext);
+ // FIXME: When we add SharedWorkerContext, generate the correct wrapper here.
+ RefPtr<Structure> dedicatedContextPrototypeStructure = JSDedicatedWorkerContextPrototype::createStructure(workerContextPrototype);
+ ProtectedPtr<JSDedicatedWorkerContextPrototype> dedicatedContextPrototype = new (m_globalData.get()) JSDedicatedWorkerContextPrototype(dedicatedContextPrototypeStructure.release());
+ RefPtr<Structure> structure = JSDedicatedWorkerContext::createStructure(dedicatedContextPrototype);
+
+ m_workerContextWrapper = new (m_globalData.get()) JSDedicatedWorkerContext(structure.release(), static_cast<DedicatedWorkerContext*>(m_workerContext));
}
ScriptValue WorkerScriptController::evaluate(const ScriptSourceCode& sourceCode)
@@ -88,7 +91,7 @@ ScriptValue WorkerScriptController::evaluate(const ScriptSourceCode& sourceCode)
ScriptValue exception;
ScriptValue result = evaluate(sourceCode, &exception);
if (exception.jsValue()) {
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
reportException(m_workerContextWrapper->globalExec(), exception.jsValue());
}
return result;
@@ -103,7 +106,7 @@ ScriptValue WorkerScriptController::evaluate(const ScriptSourceCode& sourceCode,
}
initScriptIfNeeded();
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
ExecState* exec = m_workerContextWrapper->globalExec();
m_workerContextWrapper->globalData()->timeoutChecker.start();
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/WorkerScriptController.h b/src/3rdparty/webkit/WebCore/bindings/js/WorkerScriptController.h
index 0454721..bb33f60 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/WorkerScriptController.h
+++ b/src/3rdparty/webkit/WebCore/bindings/js/WorkerScriptController.h
@@ -45,7 +45,7 @@ namespace WebCore {
class String;
class WorkerContext;
- class WorkerScriptController : Noncopyable {
+ class WorkerScriptController : public Noncopyable {
public:
WorkerScriptController(WorkerContext*);
~WorkerScriptController();
diff --git a/src/3rdparty/webkit/WebCore/bindings/scripts/CodeGenerator.pm b/src/3rdparty/webkit/WebCore/bindings/scripts/CodeGenerator.pm
index fe145f4..341c607 100644
--- a/src/3rdparty/webkit/WebCore/bindings/scripts/CodeGenerator.pm
+++ b/src/3rdparty/webkit/WebCore/bindings/scripts/CodeGenerator.pm
@@ -40,7 +40,7 @@ my %primitiveTypeHash = ("int" => 1, "short" => 1, "long" => 1, "long long" => 1
"float" => 1, "double" => 1,
"boolean" => 1, "void" => 1);
-my %podTypeHash = ("RGBColor" => 1, "SVGNumber" => 1, "SVGTransform" => 1);
+my %podTypeHash = ("SVGNumber" => 1, "SVGTransform" => 1);
my %podTypesWithWritablePropertiesHash = ("SVGLength" => 1, "SVGMatrix" => 1, "SVGPoint" => 1, "SVGRect" => 1);
my %stringTypeHash = ("DOMString" => 1, "AtomicString" => 1);
diff --git a/src/3rdparty/webkit/WebCore/bindings/scripts/CodeGeneratorCOM.pm b/src/3rdparty/webkit/WebCore/bindings/scripts/CodeGeneratorCOM.pm
index 7e80a17..6641305 100644
--- a/src/3rdparty/webkit/WebCore/bindings/scripts/CodeGeneratorCOM.pm
+++ b/src/3rdparty/webkit/WebCore/bindings/scripts/CodeGeneratorCOM.pm
@@ -596,9 +596,15 @@ sub GenerateCPPAttribute
# FIXME: CHECK EXCEPTION AND DO SOMETHING WITH IT
- my $setterCall = " impl${implementationClassWithoutNamespace}()->${setterName}(" . join(", ", @setterParams) . ");\n";
-
- push(@setterImplementation, $setterCall);
+ my $reflect = $attribute->signature->extendedAttributes->{"Reflect"};
+ my $reflectURL = $attribute->signature->extendedAttributes->{"ReflectURL"};
+ if ($reflect || $reflectURL) {
+ $CPPImplementationWebCoreIncludes{"HTMLNames.h"} = 1;
+ my $contentAttributeName = (($reflect || $reflectURL) eq "1") ? $attributeName : ($reflect || $reflectURL);
+ push(@setterImplementation, " impl${implementationClassWithoutNamespace}()->setAttribute(WebCore::HTMLNames::${contentAttributeName}Attr, " . join(", ", @setterParams) . ");\n");
+ } else {
+ push(@setterImplementation, " impl${implementationClassWithoutNamespace}()->${setterName}(" . join(", ", @setterParams) . ");\n");
+ }
push(@setterImplementation, " return S_OK;\n");
push(@setterImplementation, "}\n\n");
@@ -611,7 +617,17 @@ sub GenerateCPPAttribute
push(@getterImplementation, " if (!result)\n");
push(@getterImplementation, " return E_POINTER;\n\n");
- my $implementationGetter = "impl${implementationClassWithoutNamespace}()->" . $codeGenerator->WK_lcfirst($attributeName) . "(" . ($hasGetterException ? "ec" : ""). ")";
+ my $implementationGetter;
+ my $reflect = $attribute->signature->extendedAttributes->{"Reflect"};
+ my $reflectURL = $attribute->signature->extendedAttributes->{"ReflectURL"};
+ if ($reflect || $reflectURL) {
+ $implIncludes{"HTMLNames.h"} = 1;
+ my $contentAttributeName = (($reflect || $reflectURL) eq "1") ? $attributeName : ($reflect || $reflectURL);
+ my $getAttributeFunctionName = $reflectURL ? "getURLAttribute" : "getAttribute";
+ $implementationGetter = "impl${implementationClassWithoutNamespace}()->${getAttributeFunctionName}(WebCore::HTMLNames::${contentAttributeName}Attr)";
+ } else {
+ $implementationGetter = "impl${implementationClassWithoutNamespace}()->" . $codeGenerator->WK_lcfirst($attributeName) . "(" . ($hasGetterException ? "ec" : ""). ")";
+ }
push(@getterImplementation, " WebCore::ExceptionCode ec = 0;\n") if $hasGetterException;
diff --git a/src/3rdparty/webkit/WebCore/bindings/scripts/CodeGeneratorJS.pm b/src/3rdparty/webkit/WebCore/bindings/scripts/CodeGeneratorJS.pm
index 4f9aa1a..26cf3f5 100644
--- a/src/3rdparty/webkit/WebCore/bindings/scripts/CodeGeneratorJS.pm
+++ b/src/3rdparty/webkit/WebCore/bindings/scripts/CodeGeneratorJS.pm
@@ -119,7 +119,15 @@ sub GetParentClassName
my $dataNode = shift;
return $dataNode->extendedAttributes->{"LegacyParent"} if $dataNode->extendedAttributes->{"LegacyParent"};
- return "DOMObject" if @{$dataNode->parents} eq 0;
+ if (@{$dataNode->parents} eq 0) {
+ # FIXME: SVG types requiring a context() pointer do not have enough
+ # space to hold a globalObject pointer as well w/o hitting the CELL_SIZE limit.
+ # This could be fixed by moving context() into the various impl() classes.
+ # Until then, we special case these SVG bindings and allow them to return
+ # the wrong prototypes and constructors during x-frame access. See bug 27088.
+ return "DOMObjectWithSVGContext" if IsSVGTypeNeedingContextParameter($dataNode->name);
+ return "DOMObjectWithGlobalPointer";
+ }
return "JS" . $codeGenerator->StripModule($dataNode->parents(0));
}
@@ -140,14 +148,6 @@ sub AvoidInclusionOfType
return 0;
}
-sub UsesManualToJSImplementation
-{
- my $type = shift;
-
- return 1 if $type eq "Node" or $type eq "Document" or $type eq "HTMLCollection" or $type eq "SVGPathSeg" or $type eq "StyleSheet" or $type eq "CSSRule" or $type eq "CSSValue" or $type eq "Event" or $type eq "ImageData" or $type eq "Element" or $type eq "Text" or $type eq "SVGElementInstance";
- return 0;
-}
-
sub IndexGetterReturnsStrings
{
my $type = shift;
@@ -173,7 +173,7 @@ sub AddIncludesForType
# When we're finished with the one-file-per-class
# reorganization, we won't need these special cases.
if ($codeGenerator->IsPrimitiveType($type) or AvoidInclusionOfType($type)
- or $type eq "DOMString" or $type eq "DOMObject" or $type eq "RGBColor" or $type eq "Array") {
+ or $type eq "DOMString" or $type eq "DOMObject" or $type eq "Array") {
} elsif ($type =~ /SVGPathSeg/) {
$joinedName = $type;
$joinedName =~ s/Abs|Rel//;
@@ -227,11 +227,13 @@ sub IsSVGTypeNeedingContextParameter
{
my $implClassName = shift;
- if ($implClassName =~ /SVG/ and not $implClassName =~ /Element/) {
- return 1 unless $implClassName =~ /SVGPaint/ or $implClassName =~ /SVGColor/ or $implClassName =~ /SVGDocument/;
+ return 0 unless $implClassName =~ /SVG/;
+ return 0 if $implClassName =~ /Element/;
+ my @noContextNeeded = ("SVGPaint", "SVGColor", "SVGDocument", "SVGZoomEvent");
+ foreach (@noContextNeeded) {
+ return 0 if $implClassName eq $_;
}
-
- return 0;
+ return 1;
}
sub HashValueForClassAndName
@@ -366,6 +368,7 @@ sub GenerateHeader
my $hasParent = $hasLegacyParent || $hasRealParent;
my $parentClassName = GetParentClassName($dataNode);
my $conditional = $dataNode->extendedAttributes->{"Conditional"};
+ my $needsSVGContext = IsSVGTypeNeedingContextParameter($interfaceName);
# - Add default header template
@headerContentHeader = split("\r", $headerTemplate);
@@ -383,7 +386,8 @@ sub GenerateHeader
if ($hasParent) {
$headerIncludes{"$parentClassName.h"} = 1;
} else {
- $headerIncludes{"JSDOMBinding.h"} = 1;
+ $headerIncludes{"DOMObjectWithSVGContext.h"} = $needsSVGContext;
+ $headerIncludes{"JSDOMBinding.h"} = !$needsSVGContext;
$headerIncludes{"<runtime/JSGlobalObject.h>"} = 1;
$headerIncludes{"<runtime/ObjectPrototype.h>"} = 1;
}
@@ -428,10 +432,12 @@ sub GenerateHeader
# Constructor
if ($interfaceName eq "DOMWindow") {
push(@headerContent, " $className(PassRefPtr<JSC::Structure>, PassRefPtr<$implType>, JSDOMWindowShell*);\n");
+ } elsif ($dataNode->extendedAttributes->{"IsWorkerContext"}) {
+ push(@headerContent, " $className(PassRefPtr<JSC::Structure>, PassRefPtr<$implType>);\n");
} elsif (IsSVGTypeNeedingContextParameter($implClassName)) {
- push(@headerContent, " $className(PassRefPtr<JSC::Structure>, PassRefPtr<$implType>, SVGElement* context);\n");
+ push(@headerContent, " $className(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<$implType>, SVGElement* context);\n");
} else {
- push(@headerContent, " $className(PassRefPtr<JSC::Structure>, PassRefPtr<$implType>);\n");
+ push(@headerContent, " $className(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<$implType>);\n");
}
# Destructor
@@ -528,7 +534,7 @@ sub GenerateHeader
push(@headerContent, " virtual JSC::JSValue lookupSetter(JSC::ExecState*, const JSC::Identifier& propertyName);\n") if $dataNode->extendedAttributes->{"CustomLookupSetter"};
# Constructor object getter
- push(@headerContent, " static JSC::JSValue getConstructor(JSC::ExecState*);\n") if $dataNode->extendedAttributes->{"GenerateConstructor"};
+ push(@headerContent, " static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);\n") if $dataNode->extendedAttributes->{"GenerateConstructor"};
my $numCustomFunctions = 0;
my $numCustomAttributes = 0;
@@ -577,23 +583,11 @@ sub GenerateHeader
}
if (!$hasParent) {
- if ($podType) {
- push(@headerContent, " JSSVGPODTypeWrapper<$podType>* impl() const { return m_impl.get(); }\n");
- push(@headerContent, " SVGElement* context() const { return m_context.get(); }\n\n");
- push(@headerContent, "private:\n");
- push(@headerContent, " RefPtr<SVGElement> m_context;\n");
- push(@headerContent, " RefPtr<JSSVGPODTypeWrapper<$podType> > m_impl;\n");
- } elsif (IsSVGTypeNeedingContextParameter($implClassName)) {
- push(@headerContent, " $implClassName* impl() const { return m_impl.get(); }\n");
- push(@headerContent, " SVGElement* context() const { return m_context.get(); }\n\n");
- push(@headerContent, "private:\n");
- push(@headerContent, " RefPtr<SVGElement> m_context;\n");
- push(@headerContent, " RefPtr<$implClassName > m_impl;\n");
- } else {
- push(@headerContent, " $implClassName* impl() const { return m_impl.get(); }\n\n");
- push(@headerContent, "private:\n");
- push(@headerContent, " RefPtr<$implClassName> m_impl;\n");
- }
+ # Extra space after JSSVGPODTypeWrapper<> to make RefPtr<Wrapper<> > compile.
+ my $implType = $podType ? "JSSVGPODTypeWrapper<$podType> " : $implClassName;
+ push(@headerContent, " $implType* impl() const { return m_impl.get(); }\n\n");
+ push(@headerContent, "private:\n");
+ push(@headerContent, " RefPtr<$implType> m_impl;\n");
} elsif ($dataNode->extendedAttributes->{"GenerateNativeConverter"}) {
push(@headerContent, " $implClassName* impl() const\n");
push(@headerContent, " {\n");
@@ -629,13 +623,13 @@ sub GenerateHeader
push(@headerContent, "}\n\n");
}
- if (!$hasParent || $dataNode->extendedAttributes->{"GenerateToJS"}) {
+ if (!$hasParent || $dataNode->extendedAttributes->{"GenerateToJS"} || $dataNode->extendedAttributes->{"CustomToJS"}) {
if ($podType) {
- push(@headerContent, "JSC::JSValue toJS(JSC::ExecState*, JSSVGPODTypeWrapper<$podType>*, SVGElement* context);\n");
+ push(@headerContent, "JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, JSSVGPODTypeWrapper<$podType>*, SVGElement* context);\n");
} elsif (IsSVGTypeNeedingContextParameter($implClassName)) {
- push(@headerContent, "JSC::JSValue toJS(JSC::ExecState*, $implType*, SVGElement* context);\n");
+ push(@headerContent, "JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, $implType*, SVGElement* context);\n");
} else {
- push(@headerContent, "JSC::JSValue toJS(JSC::ExecState*, $implType*);\n");
+ push(@headerContent, "JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, $implType*);\n");
}
}
if (!$hasParent || $dataNode->extendedAttributes->{"GenerateNativeConverter"}) {
@@ -648,7 +642,7 @@ sub GenerateHeader
}
}
if ($interfaceName eq "Node" or $interfaceName eq "Element" or $interfaceName eq "Text" or $interfaceName eq "CDATASection") {
- push(@headerContent, "JSC::JSValue toJSNewlyCreated(JSC::ExecState*, $interfaceName*);\n");
+ push(@headerContent, "JSC::JSValue toJSNewlyCreated(JSC::ExecState*, JSDOMGlobalObject*, $interfaceName*);\n");
}
push(@headerContent, "\n");
@@ -659,7 +653,7 @@ sub GenerateHeader
push(@headerContent, "public:\n");
if ($interfaceName eq "DOMWindow") {
push(@headerContent, " void* operator new(size_t);\n");
- } elsif ($interfaceName eq "WorkerContext") {
+ } elsif ($dataNode->extendedAttributes->{"IsWorkerContext"}) {
push(@headerContent, " void* operator new(size_t, JSC::JSGlobalData*);\n");
} else {
push(@headerContent, " static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*);\n");
@@ -909,7 +903,7 @@ sub GenerateImplementation
push(@implContent, "{\n");
push(@implContent, " return JSDOMWindow::commonJSGlobalData()->heap.allocate(size);\n");
push(@implContent, "}\n\n");
- } elsif ($interfaceName eq "WorkerContext") {
+ } elsif ($dataNode->extendedAttributes->{"IsWorkerContext"}) {
push(@implContent, "void* ${className}Prototype::operator new(size_t size, JSGlobalData* globalData)\n");
push(@implContent, "{\n");
push(@implContent, " return globalData->heap.allocate(size);\n");
@@ -988,22 +982,18 @@ sub GenerateImplementation
AddIncludesForType("JSDOMWindowShell");
push(@implContent, "${className}::$className(PassRefPtr<Structure> structure, PassRefPtr<$implType> impl, JSDOMWindowShell* shell)\n");
push(@implContent, " : $parentClassName(structure, impl, shell)\n");
+ } elsif ($dataNode->extendedAttributes->{"IsWorkerContext"}) {
+ AddIncludesForType($interfaceName);
+ push(@implContent, "${className}::$className(PassRefPtr<Structure> structure, PassRefPtr<$implType> impl)\n");
+ push(@implContent, " : $parentClassName(structure, impl)\n");
} else {
- my $contextArg = "";
- if ($needsSVGContext) {
- if ($hasParent && !$parentNeedsSVGContext) {
- $contextArg = ", SVGElement*";
- } else {
- $contextArg = ", SVGElement* context";
- }
- }
- push(@implContent, "${className}::$className(PassRefPtr<Structure> structure, PassRefPtr<$implType> impl$contextArg)\n");
+ my $contextArg = $needsSVGContext ? ", SVGElement* context" : "";
+ push(@implContent, "${className}::$className(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<$implType> impl$contextArg)\n");
if ($hasParent) {
- push(@implContent, " : $parentClassName(structure, impl" . ($parentNeedsSVGContext ? ", context" : "") . ")\n");
+ push(@implContent, " : $parentClassName(structure, globalObject, impl" . ($parentNeedsSVGContext ? ", context" : "") . ")\n");
} else {
- push(@implContent, " : $parentClassName(structure)\n");
- push(@implContent, " , m_context(context)\n") if $needsSVGContext;
- push(@implContent, " , m_impl(impl)\n");
+ push(@implContent, " : $parentClassName(structure, globalObject" . ($needsSVGContext ? ", context" : "") . ")\n");
+ push(@implContent, " , m_impl(impl)\n");
}
}
push(@implContent, "{\n");
@@ -1104,6 +1094,7 @@ sub GenerateImplementation
push(@implContent, "JSValue ${getFunctionName}(ExecState* exec, const Identifier&, const PropertySlot& slot)\n");
push(@implContent, "{\n");
+ push(@implContent, " ${className}* castedThis = static_cast<$className*>(asObject(slot.slotBase()));\n");
my $implClassNameForValueConversion = "";
if (!$podType and ($codeGenerator->IsSVGAnimatedType($implClassName) or $attribute->type !~ /^readonly/)) {
@@ -1113,25 +1104,25 @@ sub GenerateImplementation
if ($dataNode->extendedAttributes->{"CheckDomainSecurity"} &&
!$attribute->signature->extendedAttributes->{"DoNotCheckDomainSecurity"} &&
!$attribute->signature->extendedAttributes->{"DoNotCheckDomainSecurityOnGet"}) {
- push(@implContent, " if (!static_cast<$className*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))\n");
+ push(@implContent, " if (!castedThis->allowsAccessFrom(exec))\n");
push(@implContent, " return jsUndefined();\n");
}
if ($attribute->signature->extendedAttributes->{"Custom"} || $attribute->signature->extendedAttributes->{"JSCCustom"} || $attribute->signature->extendedAttributes->{"CustomGetter"} || $attribute->signature->extendedAttributes->{"JSCCustomGetter"}) {
- push(@implContent, " return static_cast<$className*>(asObject(slot.slotBase()))->$implGetterFunctionName(exec);\n");
+ push(@implContent, " return castedThis->$implGetterFunctionName(exec);\n");
} elsif ($attribute->signature->extendedAttributes->{"CheckNodeSecurity"}) {
$implIncludes{"JSDOMBinding.h"} = 1;
- push(@implContent, " $implClassName* imp = static_cast<$implClassName*>(static_cast<$className*>(asObject(slot.slotBase()))->impl());\n");
- push(@implContent, " return checkNodeSecurity(exec, imp->$implGetterFunctionName()) ? " . NativeToJSValue($attribute->signature, 0, $implClassName, $implClassNameForValueConversion, "imp->$implGetterFunctionName()", "static_cast<$className*>(asObject(slot.slotBase()))") . " : jsUndefined();\n");
+ push(@implContent, " $implClassName* imp = static_cast<$implClassName*>(castedThis->impl());\n");
+ push(@implContent, " return checkNodeSecurity(exec, imp->$implGetterFunctionName()) ? " . NativeToJSValue($attribute->signature, 0, $implClassName, $implClassNameForValueConversion, "imp->$implGetterFunctionName()", "castedThis") . " : jsUndefined();\n");
} elsif ($attribute->signature->extendedAttributes->{"CheckFrameSecurity"}) {
$implIncludes{"Document.h"} = 1;
$implIncludes{"JSDOMBinding.h"} = 1;
- push(@implContent, " $implClassName* imp = static_cast<$implClassName*>(static_cast<$className*>(asObject(slot.slotBase()))->impl());\n");
- push(@implContent, " return checkNodeSecurity(exec, imp->contentDocument()) ? " . NativeToJSValue($attribute->signature, 0, $implClassName, $implClassNameForValueConversion, "imp->$implGetterFunctionName()", "static_cast<$className*>(asObject(slot.slotBase()))") . " : jsUndefined();\n");
+ push(@implContent, " $implClassName* imp = static_cast<$implClassName*>(castedThis->impl());\n");
+ push(@implContent, " return checkNodeSecurity(exec, imp->contentDocument()) ? " . NativeToJSValue($attribute->signature, 0, $implClassName, $implClassNameForValueConversion, "imp->$implGetterFunctionName()", "castedThis") . " : jsUndefined();\n");
} elsif ($type eq "EventListener") {
$implIncludes{"EventListener.h"} = 1;
push(@implContent, " UNUSED_PARAM(exec);\n");
- push(@implContent, " $implClassName* imp = static_cast<$implClassName*>(static_cast<$className*>(asObject(slot.slotBase()))->impl());\n");
+ push(@implContent, " $implClassName* imp = static_cast<$implClassName*>(castedThis->impl());\n");
push(@implContent, " if (EventListener* listener = imp->$implGetterFunctionName()) {\n");
push(@implContent, " if (JSObject* jsFunction = listener->jsFunction())\n");
push(@implContent, " return jsFunction;\n");
@@ -1140,19 +1131,20 @@ sub GenerateImplementation
} elsif ($attribute->signature->type =~ /Constructor$/) {
my $constructorType = $codeGenerator->StripModule($attribute->signature->type);
$constructorType =~ s/Constructor$//;
- push(@implContent, " UNUSED_PARAM(slot);\n");
- push(@implContent, " return JS" . $constructorType . "::getConstructor(exec);\n");
+ # Constructor attribute is only used by DOMWindow.idl, so it's correct to pass castedThis as the global object
+ # Once DOMObjects have a back-pointer to the globalObject we can pass castedThis->globalObject()
+ push(@implContent, " return JS" . $constructorType . "::getConstructor(exec, castedThis);\n");
} elsif (!@{$attribute->getterExceptions}) {
push(@implContent, " UNUSED_PARAM(exec);\n");
if ($podType) {
- push(@implContent, " $podType imp(*static_cast<$className*>(asObject(slot.slotBase()))->impl());\n");
+ push(@implContent, " $podType imp(*castedThis->impl());\n");
if ($podType eq "float") { # Special case for JSSVGNumber
- push(@implContent, " return " . NativeToJSValue($attribute->signature, 0, $implClassName, "", "imp", "static_cast<$className*>(asObject(slot.slotBase()))") . ";\n");
+ push(@implContent, " return " . NativeToJSValue($attribute->signature, 0, $implClassName, "", "imp", "castedThis") . ";\n");
} else {
- push(@implContent, " return " . NativeToJSValue($attribute->signature, 0, $implClassName, "", "imp.$implGetterFunctionName()", "static_cast<$className*>(asObject(slot.slotBase()))") . ";\n");
+ push(@implContent, " return " . NativeToJSValue($attribute->signature, 0, $implClassName, "", "imp.$implGetterFunctionName()", "castedThis") . ";\n");
}
} else {
- push(@implContent, " $implClassName* imp = static_cast<$implClassName*>(static_cast<$className*>(asObject(slot.slotBase()))->impl());\n");
+ push(@implContent, " $implClassName* imp = static_cast<$implClassName*>(castedThis->impl());\n");
my $value;
my $reflect = $attribute->signature->extendedAttributes->{"Reflect"};
my $reflectURL = $attribute->signature->extendedAttributes->{"ReflectURL"};
@@ -1164,23 +1156,22 @@ sub GenerateImplementation
} else {
$value = "imp->$implGetterFunctionName()";
}
- my $jsType = NativeToJSValue($attribute->signature, 0, $implClassName, $implClassNameForValueConversion, $value, "static_cast<$className*>(asObject(slot.slotBase()))");
+ my $jsType = NativeToJSValue($attribute->signature, 0, $implClassName, $implClassNameForValueConversion, $value, "castedThis");
if ($codeGenerator->IsSVGAnimatedType($type)) {
push(@implContent, " RefPtr<$type> obj = $jsType;\n");
- push(@implContent, " return toJS(exec, obj.get(), imp);\n");
+ push(@implContent, " return toJS(exec, castedThis->globalObject(), obj.get(), imp);\n");
} else {
push(@implContent, " return $jsType;\n");
}
}
} else {
- push(@implContent, " ExceptionCode ec = 0;\n");
-
+ push(@implContent, " ExceptionCode ec = 0;\n");
if ($podType) {
- push(@implContent, " $podType imp(*static_cast<$className*>(asObject(slot.slotBase()))->impl());\n");
- push(@implContent, " JSC::JSValue result = " . NativeToJSValue($attribute->signature, 0, $implClassName, "", "imp.$implGetterFunctionName(ec)", "static_cast<$className*>(asObject(slot.slotBase()))") . ";\n");
+ push(@implContent, " $podType imp(*castedThis->impl());\n");
+ push(@implContent, " JSC::JSValue result = " . NativeToJSValue($attribute->signature, 0, $implClassName, "", "imp.$implGetterFunctionName(ec)", "castedThis") . ";\n");
} else {
- push(@implContent, " $implClassName* imp = static_cast<$implClassName*>(static_cast<$className*>(asObject(slot.slotBase()))->impl());\n");
- push(@implContent, " JSC::JSValue result = " . NativeToJSValue($attribute->signature, 0, $implClassName, $implClassNameForValueConversion, "imp->$implGetterFunctionName(ec)", "static_cast<$className*>(asObject(slot.slotBase()))") . ";\n");
+ push(@implContent, " $implClassName* imp = static_cast<$implClassName*>(castedThis->impl());\n");
+ push(@implContent, " JSC::JSValue result = " . NativeToJSValue($attribute->signature, 0, $implClassName, $implClassNameForValueConversion, "imp->$implGetterFunctionName(ec)", "castedThis") . ";\n");
}
push(@implContent, " setDOMException(exec, ec);\n");
@@ -1201,7 +1192,15 @@ sub GenerateImplementation
push(@implContent, "JSValue ${constructorFunctionName}(ExecState* exec, const Identifier&, const PropertySlot& slot)\n");
push(@implContent, "{\n");
- push(@implContent, " return static_cast<$className*>(asObject(slot.slotBase()))->getConstructor(exec);\n");
+ if (IsSVGTypeNeedingContextParameter($interfaceName)) {
+ # FIXME: SVG bindings with a context pointer have no space to store a globalObject
+ # so we use deprecatedGlobalObjectForPrototype instead.
+ push(@implContent, " UNUSED_PARAM(slot);\n");
+ push(@implContent, " return ${className}::getConstructor(exec, deprecatedGlobalObjectForPrototype(exec));\n");
+ } else {
+ push(@implContent, " ${className}* domObject = static_cast<$className*>(asObject(slot.slotBase()));\n");
+ push(@implContent, " return ${className}::getConstructor(exec, domObject->globalObject());\n");
+ }
push(@implContent, "}\n");
}
}
@@ -1346,8 +1345,8 @@ sub GenerateImplementation
}
if ($dataNode->extendedAttributes->{"GenerateConstructor"}) {
- push(@implContent, "JSValue ${className}::getConstructor(ExecState* exec)\n{\n");
- push(@implContent, " return getDOMConstructor<${className}Constructor>(exec);\n");
+ push(@implContent, "JSValue ${className}::getConstructor(ExecState* exec, JSGlobalObject* globalObject)\n{\n");
+ push(@implContent, " return getDOMConstructor<${className}Constructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));\n");
push(@implContent, "}\n\n");
}
@@ -1369,6 +1368,10 @@ sub GenerateImplementation
push(@implContent, " $className* castedThisObj = toJSDOMWindow(thisValue.toThisObject(exec));\n");
push(@implContent, " if (!castedThisObj)\n");
push(@implContent, " return throwError(exec, TypeError);\n");
+ } elsif ($dataNode->extendedAttributes->{"IsWorkerContext"}) {
+ push(@implContent, " $className* castedThisObj = to${className}(thisValue.toThisObject(exec));\n");
+ push(@implContent, " if (!castedThisObj)\n");
+ push(@implContent, " return throwError(exec, TypeError);\n");
} else {
push(@implContent, " if (!thisValue.isObject(&${className}::s_info))\n");
push(@implContent, " return throwError(exec, TypeError);\n");
@@ -1496,7 +1499,7 @@ sub GenerateImplementation
$implIncludes{"KURL.h"} = 1;
push(@implContent, " return jsStringOrNull(exec, thisObj->impl()->item(slot.index()));\n");
} else {
- push(@implContent, " return toJS(exec, static_cast<$implClassName*>(thisObj->impl())->item(slot.index()));\n");
+ push(@implContent, " return toJS(exec, thisObj->globalObject(), static_cast<$implClassName*>(thisObj->impl())->item(slot.index()));\n");
}
push(@implContent, "}\n");
if ($interfaceName eq "HTMLCollection") {
@@ -1505,22 +1508,22 @@ sub GenerateImplementation
}
}
- if ((!$hasParent or $dataNode->extendedAttributes->{"GenerateToJS"}) and !UsesManualToJSImplementation($implClassName)) {
+ if ((!$hasParent or $dataNode->extendedAttributes->{"GenerateToJS"}) and !$dataNode->extendedAttributes->{"CustomToJS"}) {
if ($podType) {
- push(@implContent, "JSC::JSValue toJS(JSC::ExecState* exec, JSSVGPODTypeWrapper<$podType>* object, SVGElement* context)\n");
+ push(@implContent, "JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, JSSVGPODTypeWrapper<$podType>* object, SVGElement* context)\n");
} elsif (IsSVGTypeNeedingContextParameter($implClassName)) {
- push(@implContent, "JSC::JSValue toJS(JSC::ExecState* exec, $implType* object, SVGElement* context)\n");
+ push(@implContent, "JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, $implType* object, SVGElement* context)\n");
} else {
- push(@implContent, "JSC::JSValue toJS(JSC::ExecState* exec, $implType* object)\n");
+ push(@implContent, "JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, $implType* object)\n");
}
push(@implContent, "{\n");
if ($podType) {
- push(@implContent, " return getDOMObjectWrapper<$className, JSSVGPODTypeWrapper<$podType> >(exec, object, context);\n");
+ push(@implContent, " return getDOMObjectWrapper<$className, JSSVGPODTypeWrapper<$podType> >(exec, globalObject, object, context);\n");
} elsif (IsSVGTypeNeedingContextParameter($implClassName)) {
- push(@implContent, " return getDOMObjectWrapper<$className>(exec, object, context);\n");
+ push(@implContent, " return getDOMObjectWrapper<$className>(exec, globalObject, object, context);\n");
} else {
- push(@implContent, " return getDOMObjectWrapper<$className>(exec, object);\n");
+ push(@implContent, " return getDOMObjectWrapper<$className>(exec, globalObject, object);\n");
}
push(@implContent, "}\n");
}
@@ -1696,11 +1699,9 @@ sub NativeToJSValue
$implIncludes{"<runtime/JSString.h>"} = 1;
return "jsString(exec, $value)";
}
-
- if ($type eq "RGBColor") {
- $implIncludes{"JS$type.h"} = 1;
- return "getJSRGBColor(exec, $value)";
- }
+
+ # Some SVG bindings don't have space to store a globalObject pointer, for those, we use the deprecatedGlobalObjectForPrototype hack for now.
+ my $globalObject = IsSVGTypeNeedingContextParameter($implClassName) ? "deprecatedGlobalObjectForPrototype(exec)" : "$thisValue->globalObject()";
if ($codeGenerator->IsPodType($type)) {
$implIncludes{"JS$type.h"} = 1;
@@ -1719,24 +1720,25 @@ sub NativeToJSValue
and $codeGenerator->IsPodTypeWithWriteableProperties($type)
and not defined $signature->extendedAttributes->{"Immutable"}) {
if ($codeGenerator->IsPodType($implClassName)) {
- return "toJS(exec, JSSVGStaticPODTypeWrapperWithPODTypeParent<$nativeType, $implClassName>::create($value, $thisValue->impl()).get(), $thisValue->context())";
+ return "toJS(exec, $globalObject, JSSVGStaticPODTypeWrapperWithPODTypeParent<$nativeType, $implClassName>::create($value, $thisValue->impl()).get(), $thisValue->context())";
} else {
- return "toJS(exec, JSSVGStaticPODTypeWrapperWithParent<$nativeType, $implClassName>::create(imp, &${implClassName}::$getter, &${implClassName}::$setter).get(), imp)";
+ return "toJS(exec, $globalObject, JSSVGStaticPODTypeWrapperWithParent<$nativeType, $implClassName>::create(imp, &${implClassName}::$getter, &${implClassName}::$setter).get(), imp)";
}
}
if ($implClassNameForValueConversion eq "") {
- if (IsSVGTypeNeedingContextParameter($implClassName)) {
- return "toJS(exec, JSSVGStaticPODTypeWrapper<$nativeType>::create($value).get(), castedThisObj->context())" if $inFunctionCall eq 1;
+ # SVGZoomEvent has no context() pointer, and is also not an SVGElement.
+ # This is not a problem, because SVGZoomEvent has no read/write properties.
+ return "toJS(exec, $globalObject, JSSVGStaticPODTypeWrapper<$nativeType>::create($value).get(), 0)" if $implClassName eq "SVGZoomEvent";
- # Special case: SVGZoomEvent - it doesn't have a context, but it's no problem, as there are no readwrite props
- return "toJS(exec, JSSVGStaticPODTypeWrapper<$nativeType>::create($value).get(), 0)" if $implClassName eq "SVGZoomEvent";
- return "toJS(exec, JSSVGStaticPODTypeWrapper<$nativeType>::create($value).get(), $thisValue->context())";
+ if (IsSVGTypeNeedingContextParameter($implClassName)) {
+ return "toJS(exec, $globalObject, JSSVGStaticPODTypeWrapper<$nativeType>::create($value).get(), castedThisObj->context())" if $inFunctionCall;
+ return "toJS(exec, $globalObject, JSSVGStaticPODTypeWrapper<$nativeType>::create($value).get(), $thisValue->context())";
} else {
- return "toJS(exec, JSSVGStaticPODTypeWrapper<$nativeType>::create($value).get(), imp)";
+ return "toJS(exec, $globalObject, JSSVGStaticPODTypeWrapper<$nativeType>::create($value).get(), imp)";
}
} else { # These classes, always have a m_context pointer!
- return "toJS(exec, JSSVGDynamicPODTypeWrapperCache<$nativeType, $implClassNameForValueConversion>::lookupOrCreateWrapper(imp, &${implClassNameForValueConversion}::$getter, &${implClassNameForValueConversion}::$setter).get(), $thisValue->context())";
+ return "toJS(exec, $globalObject, JSSVGDynamicPODTypeWrapperCache<$nativeType, $implClassNameForValueConversion>::lookupOrCreateWrapper(imp, &${implClassNameForValueConversion}::$getter, &${implClassNameForValueConversion}::$setter).get(), $thisValue->context())";
}
}
@@ -1769,18 +1771,15 @@ sub NativeToJSValue
return $value if $codeGenerator->IsSVGAnimatedType($type);
if (IsSVGTypeNeedingContextParameter($type)) {
- if (IsSVGTypeNeedingContextParameter($implClassName)) {
- return "toJS(exec, WTF::getPtr($value), $thisValue->context())";
- } else {
- return "toJS(exec, WTF::getPtr($value), imp)";
- }
+ my $contextPtr = IsSVGTypeNeedingContextParameter($implClassName) ? "$thisValue->context()" : "imp";
+ return "toJS(exec, $globalObject, WTF::getPtr($value), $contextPtr)";
}
if ($signature->extendedAttributes->{"ReturnsNew"}) {
- return "toJSNewlyCreated(exec, WTF::getPtr($value))";
+ return "toJSNewlyCreated(exec, $globalObject, WTF::getPtr($value))";
}
- return "toJS(exec, WTF::getPtr($value))";
+ return "toJS(exec, $globalObject, WTF::getPtr($value))";
}
sub ceilingToPowerOf2
@@ -1910,7 +1909,7 @@ tableSizeLoop:
push(@implContent, "};\n\n");
my $perfectSizeMask = $perfectSize - 1;
my $compactSizeMask = $numEntries - 1;
- push(@implContent, "static const HashTable $name =\n");
+ push(@implContent, "static JSC_CONST_HASHTABLE HashTable $name =\n");
push(@implContent, "#if ENABLE(PERFECT_HASH_SIZE)\n");
push(@implContent, " { $perfectSizeMask, $nameEntries, 0 };\n");
push(@implContent, "#else\n");
@@ -2031,14 +2030,15 @@ sub constructorFor
my $interfaceName = shift;
my $visibleClassName = shift;
my $canConstruct = shift;
+ my $constructorClassName = "${className}Constructor";
my $implContent = << "EOF";
-class ${className}Constructor : public DOMObject {
+class ${constructorClassName} : public DOMConstructorObject {
public:
- ${className}Constructor(ExecState* exec)
- : DOMObject(${className}Constructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ ${constructorClassName}(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(${constructorClassName}::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, ${protoClassName}::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, ${protoClassName}::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -2052,13 +2052,13 @@ EOF
if ($canConstruct) {
$implContent .= << "EOF";
- static JSObject* construct(ExecState* exec, JSObject*, const ArgList&)
+ static JSObject* construct${interfaceName}(ExecState* exec, JSObject* constructor, const ArgList&)
{
- return asObject(toJS(exec, ${interfaceName}::create()));
+ return asObject(toJS(exec, static_cast<${constructorClassName}*>(constructor)->globalObject(), ${interfaceName}::create()));
}
virtual ConstructType getConstructData(ConstructData& constructData)
{
- constructData.native.function = construct;
+ constructData.native.function = construct${interfaceName};
return ConstructTypeHost;
}
EOF
@@ -2067,16 +2067,16 @@ EOF
$implContent .= << "EOF";
};
-const ClassInfo ${className}Constructor::s_info = { "${visibleClassName}Constructor", 0, &${className}ConstructorTable, 0 };
+const ClassInfo ${constructorClassName}::s_info = { "${visibleClassName}Constructor", 0, &${constructorClassName}Table, 0 };
-bool ${className}Constructor::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
+bool ${constructorClassName}::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
{
- return getStaticValueSlot<${className}Constructor, DOMObject>(exec, &${className}ConstructorTable, this, propertyName, slot);
+ return getStaticValueSlot<${constructorClassName}, DOMObject>(exec, &${constructorClassName}Table, this, propertyName, slot);
}
EOF
- $implJSCInclude{"JSNumberCell.h"} = 1;
+ $implJSCInclude{"JSNumberCell.h"} = 1; # FIXME: What is this for?
return $implContent;
}
diff --git a/src/3rdparty/webkit/WebCore/bindings/scripts/CodeGeneratorObjC.pm b/src/3rdparty/webkit/WebCore/bindings/scripts/CodeGeneratorObjC.pm
index 10628b4..d46d88a 100644
--- a/src/3rdparty/webkit/WebCore/bindings/scripts/CodeGeneratorObjC.pm
+++ b/src/3rdparty/webkit/WebCore/bindings/scripts/CodeGeneratorObjC.pm
@@ -515,15 +515,17 @@ sub AddIncludesForType
{
my $type = $codeGenerator->StripModule(shift);
- return if $codeGenerator->IsNonPointerType($type) or IsNativeObjCType($type);
+ return if $codeGenerator->IsNonPointerType($type);
- if ($codeGenerator->IsStringType($type)) {
- $implIncludes{"KURL.h"} = 1;
+ if (IsNativeObjCType($type)) {
+ if ($type eq "Color") {
+ $implIncludes{"ColorMac.h"} = 1;
+ }
return;
}
- if ($type eq "RGBColor") {
- $implIncludes{"DOMRGBColorInternal.h"} = 1;
+ if ($codeGenerator->IsStringType($type)) {
+ $implIncludes{"KURL.h"} = 1;
return;
}
@@ -924,8 +926,6 @@ sub GenerateHeader
if ($codeGenerator->IsSVGAnimatedType($interfaceName)) {
push(@internalHeaderContent, "#import <WebCore/SVGAnimatedTemplate.h>\n\n");
- } elsif ($interfaceName eq "RGBColor") {
- push(@internalHeaderContent, "#import <WebCore/Color.h>\n\n");
} else {
push(@internalHeaderContent, "namespace WebCore {\n");
$startedNamespace = 1;
@@ -1198,6 +1198,9 @@ sub GenerateImplementation
} elsif (IsProtocolType($idlType) and $idlType ne "EventTarget") {
$getterContentHead = "kit($getterContentHead";
$getterContentTail .= ")";
+ } elsif ($idlType eq "Color") {
+ $getterContentHead = "WebCore::nsColor($getterContentHead";
+ $getterContentTail .= ")";
} elsif (ConversionNeeded($attribute->signature->type)) {
$getterContentHead = "kit(WTF::getPtr($getterContentHead";
$getterContentTail .= "))";
diff --git a/src/3rdparty/webkit/WebCore/bindings/scripts/CodeGeneratorV8.pm b/src/3rdparty/webkit/WebCore/bindings/scripts/CodeGeneratorV8.pm
index 088668e..862649f 100644
--- a/src/3rdparty/webkit/WebCore/bindings/scripts/CodeGeneratorV8.pm
+++ b/src/3rdparty/webkit/WebCore/bindings/scripts/CodeGeneratorV8.pm
@@ -113,7 +113,6 @@ sub WK_lcfirst
sub IsPodType
{
my $type = shift;
- return 0 if $type eq "RGBColor";
return $codeGenerator->IsPodType($type);
}
@@ -234,7 +233,7 @@ sub AddClassForwardIfNeeded
sub GetImplementationFileName
{
my $iface = shift;
- return "HTMLCollection.h" if $iface eq "UndetectableHTMLCollection";
+ return "HTMLCollection.h" if $iface eq "HTMLAllCollection";
return "Event.h" if $iface eq "DOMTimeStamp";
return "NamedAttrMap.h" if $iface eq "NamedNodeMap";
return "NameNodeList.h" if $iface eq "NodeList";
@@ -243,6 +242,18 @@ sub GetImplementationFileName
return "${iface}.h";
}
+# If the node has a [Conditional=XXX] attribute, returns an "ENABLE(XXX)" string for use in an #if.
+sub GenerateConditionalString
+{
+ my $node = shift;
+ my $conditional = $node->extendedAttributes->{"Conditional"};
+ if ($conditional) {
+ return "ENABLE(" . join(") && ENABLE(", split(/&/, $conditional)) . ")";
+ } else {
+ return "";
+ }
+}
+
sub GenerateHeader
{
my $object = shift;
@@ -257,17 +268,12 @@ sub GenerateHeader
$codeGenerator->AddMethodsConstantsAndAttributesFromParentClasses($dataNode);
my $hasLegacyParent = $dataNode->extendedAttributes->{"LegacyParent"};
- my $conditional = $dataNode->extendedAttributes->{"Conditional"};
+ my $conditionalString = GenerateConditionalString($dataNode);
# - Add default header template
@headerContent = split("\r", $headerTemplate);
- my $conditionalString;
- if ($conditional) {
- $conditionalString = "ENABLE(" . join(") && ENABLE(", split(/&/, $conditional)) . ")";
- push(@headerContent, "\n#if ${conditionalString}\n\n");
- }
-
+ push(@headerContent, "\n#if ${conditionalString}\n\n") if $conditionalString;
push(@headerContent, "\n#ifndef $className" . "_H");
push(@headerContent, "\n#define $className" . "_H\n\n");
@@ -310,7 +316,7 @@ END
push(@headerContent, "}\n\n");
push(@headerContent, "#endif // $className" . "_H\n");
- push(@headerContent, "#endif // ${conditionalString}\n\n") if $conditional;
+ push(@headerContent, "#endif // ${conditionalString}\n\n") if $conditionalString;
}
@@ -346,12 +352,12 @@ sub HolderToNative
if (IsNodeSubType($dataNode)) {
push(@implContentDecls, <<END);
- $implClassName* imp = V8Proxy::convertDOMWrapperToNode<$implClassName>(holder);
+ $implClassName* imp = V8DOMWrapper::convertDOMWrapperToNode<$implClassName>(holder);
END
} else {
push(@implContentDecls, <<END);
- $implClassName* imp = V8Proxy::convertToNativeObject<$implClassName>(V8ClassIndex::$classIndex, holder);
+ $implClassName* imp = V8DOMWrapper::convertToNativeObject<$implClassName>(V8ClassIndex::$classIndex, holder);
END
}
@@ -381,7 +387,7 @@ sub GenerateDomainSafeFunctionGetter
INC_STATS(\"DOM.$implClassName.$funcName._get\");
static v8::Persistent<v8::FunctionTemplate> private_template =
v8::Persistent<v8::FunctionTemplate>::New($newTemplateString);
- v8::Handle<v8::Object> holder = V8Proxy::lookupDOMWrapper(V8ClassIndex::$classIndex, info.This());
+ v8::Handle<v8::Object> holder = V8DOMWrapper::lookupDOMWrapper(V8ClassIndex::$classIndex, info.This());
if (holder.IsEmpty()) {
// can only reach here by 'object.__proto__.func', and it should passed
// domain security check already
@@ -421,18 +427,13 @@ END
if ($classIndex eq "DOMWINDOW") {
push(@implContentDecls, <<END);
- DOMWindow* window = V8Proxy::convertToNativeObject<DOMWindow>(V8ClassIndex::DOMWINDOW, info.Holder());
- Frame* frame = window->frame();
- if (frame) {
- // Get the proxy corresponding to the DOMWindow if possible to
- // make sure that the constructor function is constructed in the
- // context of the DOMWindow and not in the context of the caller.
- return V8Proxy::retrieve(frame)->getConstructor(type);
- }
+ DOMWindow* window = V8DOMWrapper::convertToNativeObject<DOMWindow>(V8ClassIndex::DOMWINDOW, info.Holder());
+ // Get the proxy corresponding to the DOMWindow if possible to
+ // make sure that the constructor function is constructed in the
+ // context of the DOMWindow and not in the context of the caller.
+ return V8DOMWrapper::getConstructor(type, window);
END
- }
-
- if ($classIndex eq "WORKERCONTEXT") {
+ } elsif ($classIndex eq "DEDICATEDWORKERCONTEXT" or $classIndex eq "WORKERCONTEXT") {
$implIncludes{"WorkerContextExecutionProxy.h"} = 1;
push(@implContentDecls, <<END);
return WorkerContextExecutionProxy::retrieve()->GetConstructor(type);
@@ -500,7 +501,7 @@ END
if ($isPodType) {
push(@implContentDecls, <<END);
- V8SVGPODTypeWrapper<$implClassName>* imp_wrapper = V8Proxy::convertToNativeObject<V8SVGPODTypeWrapper<$implClassName> >(V8ClassIndex::$classIndex, info.Holder());
+ V8SVGPODTypeWrapper<$implClassName>* imp_wrapper = V8DOMWrapper::convertToNativeObject<V8SVGPODTypeWrapper<$implClassName> >(V8ClassIndex::$classIndex, info.Holder());
$implClassName imp_instance = *imp_wrapper;
END
if ($getterStringUsesImp) {
@@ -512,7 +513,7 @@ END
} elsif ($attrExt->{"v8OnProto"} || $attrExt->{"V8DisallowShadowing"}) {
# perform lookup first
push(@implContentDecls, <<END);
- v8::Handle<v8::Object> holder = V8Proxy::lookupDOMWrapper(V8ClassIndex::$classIndex, info.This());
+ v8::Handle<v8::Object> holder = V8DOMWrapper::lookupDOMWrapper(V8ClassIndex::$classIndex, info.This());
if (holder.IsEmpty()) return v8::Undefined();
END
HolderToNative($dataNode, $implClassName, $classIndex);
@@ -547,54 +548,60 @@ END
my $getterString;
if ($getterStringUsesImp) {
- $getterString = "imp->$getterFunc(";
- $getterString .= "ec" if $useExceptions;
- $getterString .= ")";
- if (IsRefPtrType($returnType)) {
- $implIncludes{"wtf/GetPtr.h"} = 1;
- $getterString = "WTF::getPtr(" . $getterString . ")";
- }
- if ($nativeType eq "int" and
- $attribute->signature->extendedAttributes->{"ConvertFromString"}) {
- $getterString .= ".toInt()";
- }
+ my $reflect = $attribute->signature->extendedAttributes->{"Reflect"};
+ my $reflectURL = $attribute->signature->extendedAttributes->{"ReflectURL"};
+ if ($reflect || $reflectURL) {
+ $implIncludes{"HTMLNames.h"} = 1;
+ my $contentAttributeName = ($reflect || $reflectURL) eq "1" ? $attrName : ($reflect || $reflectURL);
+ my $getAttributeFunctionName = $reflectURL ? "getURLAttribute" : "getAttribute";
+ $getterString = "imp->$getAttributeFunctionName(HTMLNames::${contentAttributeName}Attr";
} else {
- $getterString = "imp_instance";
+ $getterString = "imp->$getterFunc(";
}
- if ($nativeType eq "String") {
- $getterString = "ToString($getterString)";
+ $getterString .= "ec" if $useExceptions;
+ $getterString .= ")";
+ if ($nativeType eq "int" and $attribute->signature->extendedAttributes->{"ConvertFromString"}) {
+ $getterString .= ".toInt()";
}
+ } else {
+ $getterString = "imp_instance";
+ }
- my $result;
- my $wrapper;
+ if ($nativeType eq "String") {
+ $getterString = "toString($getterString)";
+ }
- if ($attrIsPodType) {
- $implIncludes{"V8SVGPODTypeWrapper.h"} = 1;
+ my $result;
+ my $wrapper;
+
+ if ($attrIsPodType) {
+ $implIncludes{"V8SVGPODTypeWrapper.h"} = 1;
- my $getter = $getterString;
- $getter =~ s/imp->//;
- $getter =~ s/\(\)//;
- my $setter = "set" . WK_ucfirst($getter);
+ my $getter = $getterString;
+ $getter =~ s/imp->//;
+ $getter =~ s/\(\)//;
+ my $setter = "set" . WK_ucfirst($getter);
- my $implClassIsAnimatedType = $codeGenerator->IsSVGAnimatedType($implClassName);
- if (not $implClassIsAnimatedType
- and $codeGenerator->IsPodTypeWithWriteableProperties($attrType)
- and not defined $attribute->signature->extendedAttributes->{"Immutable"}) {
+ my $implClassIsAnimatedType = $codeGenerator->IsSVGAnimatedType($implClassName);
+ if (not $implClassIsAnimatedType and $codeGenerator->IsPodTypeWithWriteableProperties($attrType) and not defined $attribute->signature->extendedAttributes->{"Immutable"}) {
if (IsPodType($implClassName)) {
- $wrapper = "new V8SVGStaticPODTypeWrapperWithPODTypeParent<$nativeType, $implClassName>($getterString, imp_wrapper)";
+ my $wrapper = "V8SVGStaticPODTypeWrapperWithPODTypeParent<$nativeType, $implClassName>::create($getterString, imp_wrapper)";
+ push(@implContentDecls, " RefPtr<V8SVGStaticPODTypeWrapperWithPODTypeParent<$nativeType, $implClassName> > wrapper = $wrapper;\n");
} else {
- $wrapper = "new V8SVGStaticPODTypeWrapperWithParent<$nativeType, $implClassName>(imp, &${implClassName}::$getter, &${implClassName}::$setter)";
+ my $wrapper = "V8SVGStaticPODTypeWrapperWithParent<$nativeType, $implClassName>::create(imp, &${implClassName}::$getter, &${implClassName}::$setter)";
+ push(@implContentDecls, " RefPtr<V8SVGStaticPODTypeWrapperWithParent<$nativeType, $implClassName> > wrapper = $wrapper;\n");
}
} else {
if ($implClassIsAnimatedType) {
- $wrapper = "V8SVGDynamicPODTypeWrapperCache<$nativeType, $implClassName>::lookupOrCreateWrapper(imp, &${implClassName}::$getter, &${implClassName}::$setter)";
+ my $wrapper = "V8SVGDynamicPODTypeWrapperCache<$nativeType, $implClassName>::lookupOrCreateWrapper(imp, &${implClassName}::$getter, &${implClassName}::$setter)";
+ push(@implContentDecls, " RefPtr<V8SVGPODTypeWrapper<" . $nativeType . "> > wrapper = $wrapper;\n");
} else {
- $wrapper = GenerateSVGStaticPodTypeWrapper($returnType, $getterString);
+ my $wrapper = GenerateSVGStaticPodTypeWrapper($returnType, $getterString);
+ push(@implContentDecls, " RefPtr<V8SVGStaticPODTypeWrapper<" . $nativeType . "> > wrapper = $wrapper;\n");
}
}
- push(@implContentDecls, " void* wrapper = $wrapper;\n");
- } elsif ($nativeType ne "RGBColor") {
+ } else {
push(@implContentDecls, " $nativeType v = ");
push(@implContentDecls, "$getterString;\n");
@@ -604,29 +611,23 @@ END
}
$result = "v";
- if (IsRefPtrType($returnType)) {
- $result = "WTF::getPtr(" . $result . ")";
- }
- } else {
- # Special case: RGBColor is noncopyable
- $result = $getterString;
}
-
if (IsSVGTypeNeedingContextParameter($attrType) && !$skipContext) {
my $resultObject = $result;
if ($attrIsPodType) {
$resultObject = "wrapper";
}
-
+ $resultObject = "WTF::getPtr(" . $resultObject . ")";
push(@implContentDecls, GenerateSVGContextAssignment($implClassName, $resultObject, " "));
}
if ($attrIsPodType) {
my $classIndex = uc($attrType);
- push(@implContentDecls, " return V8Proxy::convertToV8Object(V8ClassIndex::$classIndex, wrapper);\n");
+ push(@implContentDecls, " return V8DOMWrapper::convertToV8Object(V8ClassIndex::$classIndex, wrapper.release());\n");
} else {
- push(@implContentDecls, " return ".NativeToJSValue($attribute->signature, $result).";\n");
+ $result .= ".release()" if (IsRefPtrType($attrType));
+ push(@implContentDecls, " " . ReturnNativeToJSValue($attribute->signature, $result, " ").";\n");
}
push(@implContentDecls, " }\n\n"); # end of getter
@@ -674,14 +675,14 @@ sub GenerateNormalAttrSetter
if ($isPodType) {
$implClassName = GetNativeType($implClassName);
$implIncludes{"V8SVGPODTypeWrapper.h"} = 1;
- push(@implContentDecls, " V8SVGPODTypeWrapper<$implClassName>* wrapper = V8Proxy::convertToNativeObject<V8SVGPODTypeWrapper<$implClassName> >(V8ClassIndex::$classIndex, info.Holder());\n");
+ push(@implContentDecls, " V8SVGPODTypeWrapper<$implClassName>* wrapper = V8DOMWrapper::convertToNativeObject<V8SVGPODTypeWrapper<$implClassName> >(V8ClassIndex::$classIndex, info.Holder());\n");
push(@implContentDecls, " $implClassName imp_instance = *wrapper;\n");
push(@implContentDecls, " $implClassName* imp = &imp_instance;\n");
} elsif ($attrExt->{"v8OnProto"}) {
# perform lookup first
push(@implContentDecls, <<END);
- v8::Handle<v8::Object> holder = V8Proxy::lookupDOMWrapper(V8ClassIndex::$classIndex, info.This());
+ v8::Handle<v8::Object> holder = V8DOMWrapper::lookupDOMWrapper(V8ClassIndex::$classIndex, info.This());
if (holder.IsEmpty()) return v8::Undefined();
END
HolderToNative($dataNode, $implClassName, $classIndex);
@@ -718,7 +719,16 @@ END
if ($implClassName eq "double") {
push(@implContentDecls, " *imp = $result;\n");
} else {
- push(@implContentDecls, " imp->set" . WK_ucfirst($attrName) . "(" . $result);
+ my $implSetterFunctionName = WK_ucfirst($attrName);
+ my $reflect = $attribute->signature->extendedAttributes->{"Reflect"};
+ my $reflectURL = $attribute->signature->extendedAttributes->{"ReflectURL"};
+ if ($reflect || $reflectURL) {
+ $implIncludes{"HTMLNames.h"} = 1;
+ my $contentAttributeName = ($reflect || $reflectURL) eq "1" ? $attrName : ($reflect || $reflectURL);
+ push(@implContentDecls, " imp->setAttribute(HTMLNames::${contentAttributeName}Attr, $result");
+ } else {
+ push(@implContentDecls, " imp->set$implSetterFunctionName(" . $result);
+ }
push(@implContentDecls, ", ec") if $useExceptions;
push(@implContentDecls, ");\n");
}
@@ -795,12 +805,12 @@ sub GenerateFunctionCallback
if (IsPodType($implClassName)) {
my $nativeClassName = GetNativeType($implClassName);
- push(@implContentDecls, " V8SVGPODTypeWrapper<$nativeClassName>* imp_wrapper = V8Proxy::convertToNativeObject<V8SVGPODTypeWrapper<$nativeClassName> >(V8ClassIndex::$classIndex, args.Holder());\n");
+ push(@implContentDecls, " V8SVGPODTypeWrapper<$nativeClassName>* imp_wrapper = V8DOMWrapper::convertToNativeObject<V8SVGPODTypeWrapper<$nativeClassName> >(V8ClassIndex::$classIndex, args.Holder());\n");
push(@implContentDecls, " $nativeClassName imp_instance = *imp_wrapper;\n");
push(@implContentDecls, " $nativeClassName* imp = &imp_instance;\n");
} else {
push(@implContentDecls, <<END);
- v8::Handle<v8::Value> holder = args.Holder();
+ v8::Handle<v8::Object> holder = args.Holder();
END
HolderToNative($dataNode, $implClassName, $classIndex);
}
@@ -892,134 +902,138 @@ sub GenerateBatchedAttributeData
$accessControl = "v8::ALL_CAN_WRITE";
} elsif ($attrExt->{"DoNotCheckDomainSecurity"}) {
$accessControl = "v8::ALL_CAN_READ";
- if (!($attribute->type =~ /^readonly/) && !($attrExt->{"V8ReadOnly"})) {
- $accessControl .= "|v8::ALL_CAN_WRITE";
+ if (!($attribute->type =~ /^readonly/) && !($attrExt->{"V8ReadOnly"})) {
+ $accessControl .= "|v8::ALL_CAN_WRITE";
+ }
}
- }
- if ($attrExt->{"V8DisallowShadowing"}) {
- $accessControl .= "|v8::PROHIBITS_OVERWRITING";
- }
- $accessControl = "static_cast<v8::AccessControl>(" . $accessControl . ")";
-
- my $customAccessor =
- $attrExt->{"Custom"} ||
- $attrExt->{"CustomSetter"} ||
- $attrExt->{"CustomGetter"} ||
- $attrExt->{"V8Custom"} ||
- $attrExt->{"V8CustomSetter"} ||
- $attrExt->{"V8CustomGetter"} ||
- "";
- if ($customAccessor eq 1) {
- # use the naming convension, interface + (capitalize) attr name
- $customAccessor = $interfaceName . WK_ucfirst($attrName);
- }
-
- my $getter;
- my $setter;
- my $propAttr = "v8::None";
- my $hasCustomSetter = 0;
-
- # Check attributes.
- if ($attrExt->{"DontEnum"}) {
- $propAttr .= "|v8::DontEnum";
- }
- if ($attrExt->{"V8DisallowShadowing"}) {
- $propAttr .= "|v8::DontDelete";
- }
-
- my $on_proto = "0 /* on instance */";
- my $data = "V8ClassIndex::INVALID_CLASS_INDEX /* no data */";
-
- # Constructor
- if ($attribute->signature->type =~ /Constructor$/) {
- my $constructorType = $codeGenerator->StripModule($attribute->signature->type);
- $constructorType =~ s/Constructor$//;
- my $constructorIndex = uc($constructorType);
- $data = "V8ClassIndex::${constructorIndex}";
- $getter = "${interfaceName}Internal::${interfaceName}ConstructorGetter";
- $setter = "0";
- $propAttr = "v8::ReadOnly";
-
- # EventListeners
- } elsif ($attribute->signature->type eq "EventListener") {
- if ($interfaceName eq "DOMWindow") {
- $getter = "V8Custom::v8DOMWindowEventHandlerAccessorGetter";
- $setter = "V8Custom::v8DOMWindowEventHandlerAccessorSetter";
- } elsif ($interfaceName eq "Element" || $interfaceName eq "Document" || $interfaceName eq "HTMLBodyElement" || $interfaceName eq "SVGElementInstance" || $interfaceName eq "HTMLFrameSetElement") {
- $getter = "V8Custom::v8ElementEventHandlerAccessorGetter";
- $setter = "V8Custom::v8ElementEventHandlerAccessorSetter";
- } else {
+ if ($attrExt->{"V8DisallowShadowing"}) {
+ $accessControl .= "|v8::PROHIBITS_OVERWRITING";
+ }
+ $accessControl = "static_cast<v8::AccessControl>(" . $accessControl . ")";
+
+ my $customAccessor =
+ $attrExt->{"Custom"} ||
+ $attrExt->{"CustomSetter"} ||
+ $attrExt->{"CustomGetter"} ||
+ $attrExt->{"V8Custom"} ||
+ $attrExt->{"V8CustomSetter"} ||
+ $attrExt->{"V8CustomGetter"} ||
+ "";
+ if ($customAccessor eq 1) {
+ # use the naming convension, interface + (capitalize) attr name
+ $customAccessor = $interfaceName . WK_ucfirst($attrName);
+ }
+
+ my $getter;
+ my $setter;
+ my $propAttr = "v8::None";
+ my $hasCustomSetter = 0;
+
+ # Check attributes.
+ if ($attrExt->{"DontEnum"}) {
+ $propAttr .= "|v8::DontEnum";
+ }
+ if ($attrExt->{"V8DisallowShadowing"}) {
+ $propAttr .= "|v8::DontDelete";
+ }
+
+ my $on_proto = "0 /* on instance */";
+ my $data = "V8ClassIndex::INVALID_CLASS_INDEX /* no data */";
+
+ # Constructor
+ if ($attribute->signature->type =~ /Constructor$/) {
+ my $constructorType = $codeGenerator->StripModule($attribute->signature->type);
+ $constructorType =~ s/Constructor$//;
+ my $constructorIndex = uc($constructorType);
+ $data = "V8ClassIndex::${constructorIndex}";
+ $getter = "${interfaceName}Internal::${interfaceName}ConstructorGetter";
+ $setter = "0";
+ $propAttr = "v8::ReadOnly";
+
+ # EventListeners
+ } elsif ($attribute->signature->type eq "EventListener") {
+ if ($interfaceName eq "DOMWindow") {
+ $getter = "V8Custom::v8DOMWindowEventHandlerAccessorGetter";
+ $setter = "V8Custom::v8DOMWindowEventHandlerAccessorSetter";
+ } elsif ($interfaceName eq "Element" || $interfaceName eq "Document" || $interfaceName eq "HTMLBodyElement" || $interfaceName eq "SVGElementInstance" || $interfaceName eq "HTMLFrameSetElement") {
+ $getter = "V8Custom::v8ElementEventHandlerAccessorGetter";
+ $setter = "V8Custom::v8ElementEventHandlerAccessorSetter";
+ } else {
+ $getter = "V8Custom::v8${customAccessor}AccessorGetter";
+ if ($interfaceName eq "WorkerContext" and $attrName eq "self") {
+ $setter = "0";
+ $propAttr = "v8::ReadOnly";
+ } else {
+ $setter = "V8Custom::v8${customAccessor}AccessorSetter";
+ }
+ }
+
+ # Custom Getter and Setter
+ } elsif ($attrExt->{"Custom"} || $attrExt->{"V8Custom"}) {
$getter = "V8Custom::v8${customAccessor}AccessorGetter";
if ($interfaceName eq "WorkerContext" and $attrName eq "self") {
$setter = "0";
$propAttr = "v8::ReadOnly";
} else {
+ $hasCustomSetter = 1;
$setter = "V8Custom::v8${customAccessor}AccessorSetter";
}
- }
- # Custom Getter and Setter
- } elsif ($attrExt->{"Custom"} || $attrExt->{"V8Custom"}) {
- $getter = "V8Custom::v8${customAccessor}AccessorGetter";
- if ($interfaceName eq "WorkerContext" and $attrName eq "self") {
- $setter = "0";
- $propAttr = "v8::ReadOnly";
- } else {
+ # Custom Setter
+ } elsif ($attrExt->{"CustomSetter"} || $attrExt->{"V8CustomSetter"}) {
$hasCustomSetter = 1;
+ $getter = "${interfaceName}Internal::${attrName}AttrGetter";
$setter = "V8Custom::v8${customAccessor}AccessorSetter";
+
+ # Custom Getter
+ } elsif ($attrExt->{"CustomGetter"}) {
+ $getter = "V8Custom::v8${customAccessor}AccessorGetter";
+ $setter = "${interfaceName}Internal::${attrName}AttrSetter";
+
+ # Replaceable
+ } elsif ($attrExt->{"Replaceable"}) {
+ # Replaceable accessor is put on instance template with ReadOnly attribute.
+ $getter = "${interfaceName}Internal::${attrName}AttrGetter";
+ $setter = "0";
+
+ # Mark to avoid duplicate v8::ReadOnly flags in output.
+ $hasCustomSetter = 1;
+
+ # Handle the special case of window.top being marked upstream as Replaceable.
+ # FIXME: Investigate why [Replaceable] is not marked as ReadOnly
+ # upstream and reach parity.
+ if (!($interfaceName eq "DOMWindow" and $attrName eq "top")) {
+ $propAttr .= "|v8::ReadOnly";
+ }
+
+ # Normal
+ } else {
+ $getter = "${interfaceName}Internal::${attrName}AttrGetter";
+ $setter = "${interfaceName}Internal::${attrName}AttrSetter";
}
- # Custom Setter
- } elsif ($attrExt->{"CustomSetter"} || $attrExt->{"V8CustomSetter"}) {
- $hasCustomSetter = 1;
- $getter = "${interfaceName}Internal::${attrName}AttrGetter";
- $setter = "V8Custom::v8${customAccessor}AccessorSetter";
-
- # Custom Getter
- } elsif ($attrExt->{"CustomGetter"}) {
- $getter = "V8Custom::v8${customAccessor}AccessorGetter";
- $setter = "${interfaceName}Internal::${attrName}AttrSetter";
-
- # Replaceable
- } elsif ($attrExt->{"Replaceable"}) {
- # Replaceable accessor is put on instance template with ReadOnly attribute.
- $getter = "${interfaceName}Internal::${attrName}AttrGetter";
- $setter = "0";
-
- # Mark to avoid duplicate v8::ReadOnly flags in output.
- $hasCustomSetter = 1;
-
- # Handle the special case of window.top being marked upstream as Replaceable.
- # FIXME: Investigate why [Replaceable] is not marked as ReadOnly
- # upstream and reach parity.
- if (!($interfaceName eq "DOMWindow" and $attrName eq "top")) {
+ if ($attrExt->{"Replaceable"} && !$hasCustomSetter) {
+ $setter = "0";
$propAttr .= "|v8::ReadOnly";
}
- # Normal
- } else {
- $getter = "${interfaceName}Internal::${attrName}AttrGetter";
- $setter = "${interfaceName}Internal::${attrName}AttrSetter";
- }
-
- if ($attrExt->{"Replaceable"} && !$hasCustomSetter) {
- $setter = "0";
- $propAttr .= "|v8::ReadOnly";
- }
+ # Read only attributes
+ if ($attribute->type =~ /^readonly/ || $attrExt->{"V8ReadOnly"}) {
+ $setter = "0";
+ }
- # Read only attributes
- if ($attribute->type =~ /^readonly/ || $attrExt->{"V8ReadOnly"}) {
- $setter = "0";
- }
+ # An accessor can be installed on the proto
+ if ($attrExt->{"v8OnProto"}) {
+ $on_proto = "1 /* on proto */";
+ }
- # An accessor can be installed on the proto
- if ($attrExt->{"v8OnProto"}) {
- $on_proto = "1 /* on proto */";
- }
+ my $commentInfo = "Attribute '$attrName' (Type: '" . $attribute->type .
+ "' ExtAttr: '" . join(' ', keys(%{$attrExt})) . "')";
+
+ my $conditionalString = GenerateConditionalString($attribute->signature);
+ push(@implContent, "\n#if ${conditionalString}\n") if $conditionalString;
- my $commentInfo = "Attribute '$attrName' (Type: '" . $attribute->type .
- "' ExtAttr: '" . join(' ', keys(%{$attrExt})) . "')";
- push(@implContent, <<END);
+ push(@implContent, <<END);
// $commentInfo
{ "$attrName",
$getter,
@@ -1029,6 +1043,7 @@ sub GenerateBatchedAttributeData
static_cast<v8::PropertyAttribute>($propAttr),
$on_proto },
END
+ push(@implContent, "\n#endif // ${conditionalString}\n") if $conditionalString;
}
}
@@ -1043,7 +1058,7 @@ sub GenerateImplementation
my $classIndex = uc($codeGenerator->StripModule($interfaceName));
my $hasLegacyParent = $dataNode->extendedAttributes->{"LegacyParent"};
- my $conditional = $dataNode->extendedAttributes->{"Conditional"};
+ my $conditionalString = GenerateConditionalString($dataNode);
@allParents = $codeGenerator->FindParentsRecursively($dataNode);
@@ -1053,14 +1068,10 @@ sub GenerateImplementation
push(@implFixedHeader,
"#include \"config.h\"\n" .
"#include \"V8Proxy.h\"\n" .
- "#include \"v8_binding.h\"\n\n" .
+ "#include \"V8Binding.h\"\n\n" .
"#undef LOG\n\n");
- my $conditionalString;
- if ($conditional) {
- $conditionalString = "ENABLE(" . join(") && ENABLE(", split(/&/, $conditional)) . ")";
- push(@implFixedHeader, "\n#if ${conditionalString}\n\n");
- }
+ push(@implFixedHeader, "\n#if ${conditionalString}\n\n") if $conditionalString;
if ($className =~ /^V8SVGAnimated/) {
AddIncludesForSVGAnimatedType($interfaceName);
@@ -1174,7 +1185,7 @@ sub GenerateImplementation
my $has_attributes = 0;
if (@$attributes) {
$has_attributes = 1;
- push(@implContent, "static const BatchedAttribute attrs[] = {\n");
+ push(@implContent, "static const BatchedAttribute ${interfaceName}_attrs[] = {\n");
GenerateBatchedAttributeData($interfaceName, $attributes);
push(@implContent, "};\n");
}
@@ -1183,7 +1194,7 @@ sub GenerateImplementation
my $has_constants = 0;
if (@{$dataNode->constants}) {
$has_constants = 1;
- push(@implContent, "static const BatchedConstant consts[] = {\n");
+ push(@implContent, "static const BatchedConstant ${interfaceName}_consts[] = {\n");
}
foreach my $constant (@{$dataNode->constants}) {
my $name = $constant->name;
@@ -1234,7 +1245,7 @@ END
# Set up our attributes if we have them
if ($has_attributes) {
push(@implContent, <<END);
- batchConfigureAttributes(instance, proto, attrs, sizeof(attrs)/sizeof(*attrs));
+ batchConfigureAttributes(instance, proto, ${interfaceName}_attrs, sizeof(${interfaceName}_attrs)/sizeof(*${interfaceName}_attrs));
END
}
@@ -1319,7 +1330,7 @@ END
if ($parent eq "EventTarget") { next; }
$implIncludes{"V8${parent}.h"} = 1;
my $parentClassIndex = uc($codeGenerator->StripModule($parent));
- push(@implContent, " desc->Inherit(V8Proxy::getTemplate(V8ClassIndex::${parentClassIndex}));\n");
+ push(@implContent, " desc->Inherit(V8DOMWrapper::getTemplate(V8ClassIndex::${parentClassIndex}));\n");
last;
}
@@ -1328,7 +1339,7 @@ END
if ($has_constants) {
push(@implContent, <<END);
- batchConfigureConstants(desc, proto, consts, sizeof(consts)/sizeof(*consts));
+ batchConfigureConstants(desc, proto, ${interfaceName}_consts, sizeof(${interfaceName}_consts)/sizeof(*${interfaceName}_consts));
END
}
@@ -1376,7 +1387,7 @@ END
} // namespace WebCore
END
- push(@implContent, "\n#endif // ${conditionalString}\n") if $conditional;
+ push(@implContent, "\n#endif // ${conditionalString}\n") if $conditionalString;
}
@@ -1466,13 +1477,6 @@ sub GenerateFunctionCallString()
}
$functionString .= ")";
- if ((IsRefPtrType($returnType) || $returnsListItemPodType) && !$nodeToReturn) {
- # We don't use getPtr when $nodeToReturn because that situation is
- # special-cased below to return a bool.
- $implIncludes{"wtf/GetPtr.h"} = 1;
- $functionString = "WTF::getPtr(" . $functionString . ")";
- }
-
if ($nodeToReturn) {
# Special case for insertBefore, replaceChild, removeChild and
# appendChild functions from Node.
@@ -1482,7 +1486,7 @@ sub GenerateFunctionCallString()
}
$result .= $indent . "if (success)\n";
$result .= $indent . " " .
- "return V8Proxy::convertNodeToV8Object($nodeToReturn);\n";
+ "return V8DOMWrapper::convertNodeToV8Object($nodeToReturn);\n";
$result .= $indent . "return v8::Null();\n";
return $result;
} elsif ($returnType eq "void") {
@@ -1502,18 +1506,14 @@ sub GenerateFunctionCallString()
}
my $return = "result";
- if (IsRefPtrType($returnType) || $returnsListItemPodType) {
- $implIncludes{"wtf/GetPtr.h"} = 1;
- $return = "WTF::getPtr(" . $return . ")";
- }
# If the return type is a POD type, separate out the wrapper generation
if ($returnsListItemPodType) {
- $result .= $indent . "V8SVGPODTypeWrapper<" . $nativeReturnType . ">* wrapper = new ";
- $result .= "V8SVGPODTypeWrapperCreatorForList<" . $nativeReturnType . ">($return, imp->associatedAttributeName());\n";
+ $result .= $indent . "RefPtr<V8SVGPODTypeWrapper<" . $nativeReturnType . "> > wrapper = ";
+ $result .= "V8SVGPODTypeWrapperCreatorForList<" . $nativeReturnType . ">::create($return, imp->associatedAttributeName());\n";
$return = "wrapper";
} elsif ($returnsPodType) {
- $result .= $indent . "V8SVGPODTypeWrapper<" . $nativeReturnType . ">* wrapper = ";
+ $result .= $indent . "RefPtr<V8SVGPODTypeWrapper<" . $nativeReturnType . "> > wrapper = ";
$result .= GenerateSVGStaticPodTypeWrapper($returnType, $return) . ";\n";
$return = "wrapper";
}
@@ -1521,7 +1521,7 @@ sub GenerateFunctionCallString()
my $generatedSVGContextRetrieval = 0;
# If the return type needs an SVG context, output it
if (IsSVGTypeNeedingContextParameter($returnType)) {
- $result .= GenerateSVGContextAssignment($implClassName, $return, $indent);
+ $result .= GenerateSVGContextAssignment($implClassName, $return . ".get()", $indent);
$generatedSVGContextRetrieval = 1;
}
@@ -1547,9 +1547,10 @@ sub GenerateFunctionCallString()
if ($returnsPodType) {
my $classIndex = uc($returnType);
- $result .= $indent . "return V8Proxy::convertToV8Object(V8ClassIndex::$classIndex, wrapper);\n";
+ $result .= $indent . "return V8DOMWrapper::convertToV8Object(V8ClassIndex::$classIndex, wrapper.release());\n";
} else {
- $result .= $indent . "return " . NativeToJSValue($function->signature, $return) . ";\n";
+ $return .= ".release()" if (IsRefPtrType($returnType));
+ $result .= $indent . ReturnNativeToJSValue($function->signature, $return, $indent) . ";\n";
}
return $result;
@@ -1560,7 +1561,7 @@ sub GenerateFunctionCallString()
sub GetClassName
{
my $type = shift;
- return "HTMLCollection" if $type eq "UndetectableHTMLCollection";
+ return "HTMLCollection" if $type eq "HTMLAllCollection";
return $type;
}
@@ -1688,7 +1689,6 @@ sub GetNativeType
return "SVGPaint::SVGPaintType" if $type eq "SVGPaintType";
return "DOMTimeStamp" if $type eq "DOMTimeStamp";
return "unsigned" if $type eq "unsigned int";
- return "unsigned" if $type eq "RGBColor";
return "Node*" if $type eq "EventTarget" and $isParameter;
return "String" if $type eq "DOMUserData"; # FIXME: Temporary hack?
@@ -1799,19 +1799,19 @@ sub JSValueToNative
return "static_cast<$type>($value->NumberValue())" if $type eq "float" or $type eq "double";
return "$value->NumberValue()" if $type eq "SVGNumber";
- return "ToInt32($value${maybeOkParam})" if $type eq "unsigned long" or $type eq "unsigned short" or $type eq "long";
+ return "toInt32($value${maybeOkParam})" if $type eq "unsigned long" or $type eq "unsigned short" or $type eq "long";
return "static_cast<Range::CompareHow>($value->Int32Value())" if $type eq "CompareHow";
return "static_cast<SVGPaint::SVGPaintType>($value->ToInt32()->Int32Value())" if $type eq "SVGPaintType";
- return "ToWebCoreString($value)" if $type eq "AtomicString" or $type eq "DOMUserData";
+ return "toWebCoreString($value)" if $type eq "AtomicString" or $type eq "DOMUserData";
if ($type eq "DOMString") {
- return "valueToStringWithNullCheck($value)" if $signature->extendedAttributes->{"ConvertNullToNullString"};
- return "valueToStringWithNullOrUndefinedCheck($value)" if $signature->extendedAttributes->{"ConvertUndefinedOrNullToNullString"};
- return "ToWebCoreString($value)";
+ return "toWebCoreStringWithNullCheck($value)" if $signature->extendedAttributes->{"ConvertNullToNullString"};
+ return "toWebCoreStringWithNullOrUndefinedCheck($value)" if $signature->extendedAttributes->{"ConvertUndefinedOrNullToNullString"};
+ return "toWebCoreString($value)";
}
if ($type eq "NodeFilter") {
- return "V8Proxy::wrapNativeNodeFilter($value)";
+ return "V8DOMWrapper::wrapNativeNodeFilter($value)";
}
if ($type eq "SVGRect") {
@@ -1828,7 +1828,7 @@ sub JSValueToNative
$implIncludes{"V8Node.h"} = 1;
# EventTarget is not in DOM hierarchy, but all Nodes are EventTarget.
- return "V8Node::HasInstance($value) ? V8Proxy::convertDOMWrapperToNode<Node>($value) : 0";
+ return "V8Node::HasInstance($value) ? V8DOMWrapper::convertDOMWrapperToNode<Node>(v8::Handle<v8::Object>::Cast($value)) : 0";
}
AddIncludesForType($type);
@@ -1839,7 +1839,7 @@ sub JSValueToNative
# Perform type checks on the parameter, if it is expected Node type,
# return NULL.
- return "V8${type}::HasInstance($value) ? V8Proxy::convertDOMWrapperToNode<${type}>($value) : 0";
+ return "V8${type}::HasInstance($value) ? V8DOMWrapper::convertDOMWrapperToNode<${type}>(v8::Handle<v8::Object>::Cast($value)) : 0";
} else {
# TODO: Temporary to avoid Window name conflict.
my $classIndex = uc($type);
@@ -1851,14 +1851,14 @@ sub JSValueToNative
my $nativeType = GetNativeType($type);
$implIncludes{"V8SVGPODTypeWrapper.h"} = 1;
- return "V8SVGPODTypeUtil::ToSVGPODType<${nativeType}>(V8ClassIndex::${classIndex}, $value${maybeOkParam})"
+ return "V8SVGPODTypeUtil::toSVGPODType<${nativeType}>(V8ClassIndex::${classIndex}, $value${maybeOkParam})"
}
$implIncludes{"V8${type}.h"} = 1;
# Perform type checks on the parameter, if it is expected Node type,
# return NULL.
- return "V8${type}::HasInstance($value) ? V8Proxy::convertToNativeObject<${implClassName}>(V8ClassIndex::${classIndex}, $value) : 0";
+ return "V8${type}::HasInstance($value) ? V8DOMWrapper::convertToNativeObject<${implClassName}>(V8ClassIndex::${classIndex}, v8::Handle<v8::Object>::Cast($value)) : 0";
}
}
@@ -1976,33 +1976,34 @@ sub IsDOMNodeType
}
-sub NativeToJSValue
+sub ReturnNativeToJSValue
{
my $signature = shift;
my $value = shift;
+ my $indent = shift;
my $type = $codeGenerator->StripModule($signature->type);
my $className= "V8$type";
- return "v8::Date::New(static_cast<double>($value))" if $type eq "DOMTimeStamp";
- return "$value ? v8::True() : v8::False()" if $type eq "boolean";
- return "v8::Undefined()" if $type eq "void";
+ return "return v8::Date::New(static_cast<double>($value))" if $type eq "DOMTimeStamp";
+ return "return $value ? v8::True() : v8::False()" if $type eq "boolean";
+ return "return v8::Undefined()" if $type eq "void";
# For all the types where we use 'int' as the representation type,
# we use Integer::New which has a fast Smi conversion check.
- return "v8::Integer::New($value)" if GetNativeType($type) eq "int";
+ return "return v8::Integer::New($value)" if GetNativeType($type) eq "int";
- return "v8::Number::New($value)" if $codeGenerator->IsPrimitiveType($type) or $type eq "SVGPaintType";
+ return "return v8::Number::New($value)" if $codeGenerator->IsPrimitiveType($type) or $type eq "SVGPaintType";
if ($codeGenerator->IsStringType($type)) {
my $conv = $signature->extendedAttributes->{"ConvertNullStringTo"};
if (defined $conv) {
- return "v8StringOrNull($value)" if $conv eq "Null";
- return "v8StringOrUndefined($value)" if $conv eq "Undefined";
- return "v8StringOrFalse($value)" if $conv eq "False";
+ return "return v8StringOrNull($value)" if $conv eq "Null";
+ return "return v8StringOrUndefined($value)" if $conv eq "Undefined";
+ return "return v8StringOrFalse($value)" if $conv eq "False";
die "Unknown value for ConvertNullStringTo extended attribute";
}
- return "v8String($value)";
+ return "return v8String($value)";
}
# V8 specific.
@@ -2012,42 +2013,44 @@ sub NativeToJSValue
# special case for non-DOM node interfaces
if (IsDOMNodeType($type)) {
- return "V8Proxy::convertNodeToV8Object($value)";
+ return "return V8DOMWrapper::convertNodeToV8Object($value)";
}
if ($type eq "EventTarget" or $type eq "SVGElementInstance") {
- return "V8Proxy::convertEventTargetToV8Object($value)";
+ return "return V8DOMWrapper::convertEventTargetToV8Object($value)";
}
if ($type eq "Event") {
- return "V8Proxy::convertEventToV8Object($value)";
+ return "return V8DOMWrapper::convertEventToV8Object($value)";
}
if ($type eq "EventListener") {
- return "V8Proxy::convertEventListenerToV8Object($value)";
+ return "return V8DOMWrapper::convertEventListenerToV8Object($value)";
}
- if ($type eq "RGBColor") {
- return "V8Proxy::convertToV8Object(V8ClassIndex::RGBCOLOR, new RGBColor($value))";
+ if ($type eq "DedicatedWorkerContext" or $type eq "WorkerContext") {
+ $implIncludes{"WorkerContextExecutionProxy.h"} = 1;
+ return "return WorkerContextExecutionProxy::WorkerContextToV8Object($value)";
}
- if ($type eq "WorkerContext" or $type eq "WorkerLocation" or $type eq "WorkerNavigator") {
+ if ($type eq "WorkerLocation" or $type eq "WorkerNavigator") {
$implIncludes{"WorkerContextExecutionProxy.h"} = 1;
my $classIndex = uc($type);
- return "WorkerContextExecutionProxy::ToV8Object(V8ClassIndex::$classIndex, $value)";
+ return "return WorkerContextExecutionProxy::ToV8Object(V8ClassIndex::$classIndex, $value)";
}
else {
$implIncludes{"wtf/RefCounted.h"} = 1;
$implIncludes{"wtf/RefPtr.h"} = 1;
+ $implIncludes{"wtf/GetPtr.h"} = 1;
my $classIndex = uc($type);
if (IsPodType($type)) {
$value = GenerateSVGStaticPodTypeWrapper($type, $value);
}
- return "V8Proxy::convertToV8Object(V8ClassIndex::$classIndex, $value)";
+ return "return V8DOMWrapper::convertToV8Object(V8ClassIndex::$classIndex, $value)";
}
}
@@ -2059,7 +2062,7 @@ sub GenerateSVGStaticPodTypeWrapper {
$implIncludes{"V8SVGPODTypeWrapper.h"} = 1;
my $nativeType = GetNativeType($type);
- return "new V8SVGStaticPODTypeWrapper<$nativeType>($value)";
+ return "V8SVGStaticPODTypeWrapper<$nativeType>::create($value)";
}
# Internal helper
@@ -2119,7 +2122,7 @@ sub GenerateSVGContextAssignment
my $indent = shift;
$result = GenerateSVGContextRetrieval($srcType, $indent);
- $result .= $indent . "V8Proxy::setSVGContext($value, context);\n";
+ $result .= $indent . "V8Proxy::setSVGContext($value, context);\n";
return $result;
}
diff --git a/src/3rdparty/webkit/WebCore/bridge/NP_jsobject.cpp b/src/3rdparty/webkit/WebCore/bridge/NP_jsobject.cpp
index 3258c54..006f17f 100644
--- a/src/3rdparty/webkit/WebCore/bridge/NP_jsobject.cpp
+++ b/src/3rdparty/webkit/WebCore/bridge/NP_jsobject.cpp
@@ -110,7 +110,7 @@ bool _NPN_InvokeDefault(NPP, NPObject* o, const NPVariant* args, uint32_t argCou
return false;
ExecState* exec = rootObject->globalObject()->globalExec();
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
// Call the function object.
JSValue function = obj->imp;
@@ -161,7 +161,7 @@ bool _NPN_Invoke(NPP npp, NPObject* o, NPIdentifier methodName, const NPVariant*
if (!rootObject || !rootObject->isValid())
return false;
ExecState* exec = rootObject->globalObject()->globalExec();
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
JSValue function = obj->imp->get(exec, identifierFromNPIdentifier(i->string()));
CallData callData;
CallType callType = function.getCallData(callData);
@@ -199,7 +199,7 @@ bool _NPN_Evaluate(NPP, NPObject* o, NPString* s, NPVariant* variant)
return false;
ExecState* exec = rootObject->globalObject()->globalExec();
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
String scriptString = convertNPStringToUTF16(s);
ProtectedPtr<JSGlobalObject> globalObject = rootObject->globalObject();
globalObject->globalData()->timeoutChecker.start();
@@ -236,7 +236,7 @@ bool _NPN_GetProperty(NPP, NPObject* o, NPIdentifier propertyName, NPVariant* va
ExecState* exec = rootObject->globalObject()->globalExec();
IdentifierRep* i = static_cast<IdentifierRep*>(propertyName);
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
JSValue result;
if (i->isString())
result = obj->imp->get(exec, identifierFromNPIdentifier(i->string()));
@@ -268,7 +268,7 @@ bool _NPN_SetProperty(NPP, NPObject* o, NPIdentifier propertyName, const NPVaria
return false;
ExecState* exec = rootObject->globalObject()->globalExec();
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
IdentifierRep* i = static_cast<IdentifierRep*>(propertyName);
if (i->isString()) {
@@ -309,7 +309,7 @@ bool _NPN_RemoveProperty(NPP, NPObject* o, NPIdentifier propertyName)
}
}
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
if (i->isString())
obj->imp->deleteProperty(exec, identifierFromNPIdentifier(i->string()));
else
@@ -332,7 +332,7 @@ bool _NPN_HasProperty(NPP, NPObject* o, NPIdentifier propertyName)
ExecState* exec = rootObject->globalObject()->globalExec();
IdentifierRep* i = static_cast<IdentifierRep*>(propertyName);
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
if (i->isString()) {
bool result = obj->imp->hasProperty(exec, identifierFromNPIdentifier(i->string()));
exec->clearException();
@@ -364,7 +364,7 @@ bool _NPN_HasMethod(NPP, NPObject* o, NPIdentifier methodName)
return false;
ExecState* exec = rootObject->globalObject()->globalExec();
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
JSValue func = obj->imp->get(exec, identifierFromNPIdentifier(i->string()));
exec->clearException();
return !func.isUndefined();
@@ -393,7 +393,7 @@ bool _NPN_Enumerate(NPP, NPObject* o, NPIdentifier** identifier, uint32_t* count
return false;
ExecState* exec = rootObject->globalObject()->globalExec();
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
PropertyNameArray propertyNames(exec);
obj->imp->getPropertyNames(exec, propertyNames);
@@ -430,7 +430,7 @@ bool _NPN_Construct(NPP, NPObject* o, const NPVariant* args, uint32_t argCount,
return false;
ExecState* exec = rootObject->globalObject()->globalExec();
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
// Call the constructor object.
JSValue constructor = obj->imp;
diff --git a/src/3rdparty/webkit/WebCore/bridge/c/c_class.cpp b/src/3rdparty/webkit/WebCore/bridge/c/c_class.cpp
index 7ce9927..e8499cb 100644
--- a/src/3rdparty/webkit/WebCore/bridge/c/c_class.cpp
+++ b/src/3rdparty/webkit/WebCore/bridge/c/c_class.cpp
@@ -44,7 +44,7 @@ CClass::CClass(NPClass* aClass)
CClass::~CClass()
{
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
deleteAllValues(_methods);
_methods.clear();
@@ -86,7 +86,7 @@ MethodList CClass::methodsNamed(const Identifier& identifier, Instance* instance
if (_isa->hasMethod && _isa->hasMethod(obj, ident)){
Method* aMethod = new CMethod(ident); // deleted in the CClass destructor
{
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
_methods.set(identifier.ustring().rep(), aMethod);
}
methodList.append(aMethod);
@@ -107,7 +107,7 @@ Field* CClass::fieldNamed(const Identifier& identifier, Instance* instance) cons
if (_isa->hasProperty && _isa->hasProperty(obj, ident)){
aField = new CField(ident); // deleted in the CClass destructor
{
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
_fields.set(identifier.ustring().rep(), aField);
}
}
diff --git a/src/3rdparty/webkit/WebCore/bridge/c/c_instance.cpp b/src/3rdparty/webkit/WebCore/bridge/c/c_instance.cpp
index 71f6c2f..fcdd166 100644
--- a/src/3rdparty/webkit/WebCore/bridge/c/c_instance.cpp
+++ b/src/3rdparty/webkit/WebCore/bridge/c/c_instance.cpp
@@ -70,7 +70,7 @@ void CInstance::moveGlobalExceptionToExecState(ExecState* exec)
return;
{
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
throwError(exec, GeneralError, globalExceptionString());
}
@@ -125,7 +125,7 @@ JSValue CInstance::invokeMethod(ExecState* exec, const MethodList& methodList, c
VOID_TO_NPVARIANT(resultVariant);
{
- JSLock::DropAllLocks dropAllLocks(false);
+ JSLock::DropAllLocks dropAllLocks(SilenceAssertionsOnly);
ASSERT(globalExceptionString().isNull());
_object->_class->invoke(_object, ident, cArgs.data(), count, &resultVariant);
moveGlobalExceptionToExecState(exec);
@@ -156,7 +156,7 @@ JSValue CInstance::invokeDefaultMethod(ExecState* exec, const ArgList& args)
NPVariant resultVariant;
VOID_TO_NPVARIANT(resultVariant);
{
- JSLock::DropAllLocks dropAllLocks(false);
+ JSLock::DropAllLocks dropAllLocks(SilenceAssertionsOnly);
ASSERT(globalExceptionString().isNull());
_object->_class->invokeDefault(_object, cArgs.data(), count, &resultVariant);
moveGlobalExceptionToExecState(exec);
@@ -191,7 +191,7 @@ JSValue CInstance::invokeConstruct(ExecState* exec, const ArgList& args)
NPVariant resultVariant;
VOID_TO_NPVARIANT(resultVariant);
{
- JSLock::DropAllLocks dropAllLocks(false);
+ JSLock::DropAllLocks dropAllLocks(SilenceAssertionsOnly);
ASSERT(globalExceptionString().isNull());
_object->_class->construct(_object, cArgs.data(), count, &resultVariant);
moveGlobalExceptionToExecState(exec);
@@ -247,7 +247,7 @@ void CInstance::getPropertyNames(ExecState* exec, PropertyNameArray& nameArray)
NPIdentifier* identifiers;
{
- JSLock::DropAllLocks dropAllLocks(false);
+ JSLock::DropAllLocks dropAllLocks(SilenceAssertionsOnly);
ASSERT(globalExceptionString().isNull());
bool ok = _object->_class->enumerate(_object, &identifiers, &count);
moveGlobalExceptionToExecState(exec);
diff --git a/src/3rdparty/webkit/WebCore/bridge/c/c_runtime.cpp b/src/3rdparty/webkit/WebCore/bridge/c/c_runtime.cpp
index 6beb86c..e9a7bb6 100644
--- a/src/3rdparty/webkit/WebCore/bridge/c/c_runtime.cpp
+++ b/src/3rdparty/webkit/WebCore/bridge/c/c_runtime.cpp
@@ -47,7 +47,7 @@ JSValue CField::valueFromInstance(ExecState* exec, const Instance* inst) const
bool result;
{
- JSLock::DropAllLocks dropAllLocks(false);
+ JSLock::DropAllLocks dropAllLocks(SilenceAssertionsOnly);
result = obj->_class->getProperty(obj, _fieldIdentifier, &property);
}
if (result) {
@@ -68,7 +68,7 @@ void CField::setValueToInstance(ExecState *exec, const Instance *inst, JSValue a
convertValueToNPVariant(exec, aValue, &variant);
{
- JSLock::DropAllLocks dropAllLocks(false);
+ JSLock::DropAllLocks dropAllLocks(SilenceAssertionsOnly);
obj->_class->setProperty(obj, _fieldIdentifier, &variant);
}
diff --git a/src/3rdparty/webkit/WebCore/bridge/c/c_utility.cpp b/src/3rdparty/webkit/WebCore/bridge/c/c_utility.cpp
index 77b5de2..7ff77e7 100644
--- a/src/3rdparty/webkit/WebCore/bridge/c/c_utility.cpp
+++ b/src/3rdparty/webkit/WebCore/bridge/c/c_utility.cpp
@@ -68,7 +68,7 @@ static String convertUTF8ToUTF16WithLatin1Fallback(const NPUTF8* UTF8Chars, int
// Variant value must be released with NPReleaseVariantValue()
void convertValueToNPVariant(ExecState* exec, JSValue value, NPVariant* result)
{
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
VOID_TO_NPVARIANT(*result);
@@ -107,7 +107,7 @@ void convertValueToNPVariant(ExecState* exec, JSValue value, NPVariant* result)
JSValue convertNPVariantToValue(ExecState* exec, const NPVariant* variant, RootObject* rootObject)
{
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
NPVariantType type = variant->type;
diff --git a/src/3rdparty/webkit/WebCore/bridge/jni/jni_class.cpp b/src/3rdparty/webkit/WebCore/bridge/jni/jni_class.cpp
index 87750aa..012b047 100644
--- a/src/3rdparty/webkit/WebCore/bridge/jni/jni_class.cpp
+++ b/src/3rdparty/webkit/WebCore/bridge/jni/jni_class.cpp
@@ -60,7 +60,7 @@ JavaClass::JavaClass(jobject anInstance)
jobject aJField = env->GetObjectArrayElement((jobjectArray)fields, i);
JavaField *aField = new JavaField(env, aJField); // deleted in the JavaClass destructor
{
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
_fields.set(aField->name(), aField);
}
env->DeleteLocalRef(aJField);
@@ -74,7 +74,7 @@ JavaClass::JavaClass(jobject anInstance)
JavaMethod *aMethod = new JavaMethod(env, aJMethod); // deleted in the JavaClass destructor
MethodList* methodList;
{
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
methodList = _methods.get(aMethod->name());
if (!methodList) {
@@ -90,7 +90,7 @@ JavaClass::JavaClass(jobject anInstance)
JavaClass::~JavaClass() {
free((void *)_name);
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
deleteAllValues(_fields);
_fields.clear();
diff --git a/src/3rdparty/webkit/WebCore/bridge/jni/jni_instance.cpp b/src/3rdparty/webkit/WebCore/bridge/jni/jni_instance.cpp
index 88d79ef..2ef0c1d 100644
--- a/src/3rdparty/webkit/WebCore/bridge/jni/jni_instance.cpp
+++ b/src/3rdparty/webkit/WebCore/bridge/jni/jni_instance.cpp
@@ -82,7 +82,7 @@ Class *JavaInstance::getClass() const
JSValue JavaInstance::stringValue(ExecState* exec) const
{
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
jstring stringValue = (jstring)callJNIMethod<jobject>(_instance->_instance, "toString", "()Ljava/lang/String;");
JNIEnv *env = getJNIEnv();
diff --git a/src/3rdparty/webkit/WebCore/bridge/jni/jni_jsobject.mm b/src/3rdparty/webkit/WebCore/bridge/jni/jni_jsobject.mm
index 32d7b0d..c9af8b0 100644
--- a/src/3rdparty/webkit/WebCore/bridge/jni/jni_jsobject.mm
+++ b/src/3rdparty/webkit/WebCore/bridge/jni/jni_jsobject.mm
@@ -290,7 +290,7 @@ jobject JavaJSObject::call(jstring methodName, jobjectArray args) const
// Lookup the function object.
ExecState* exec = rootObject->globalObject()->globalExec();
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
Identifier identifier(exec, JavaString(methodName));
JSValue function = _imp->get(exec, identifier);
@@ -315,7 +315,7 @@ jobject JavaJSObject::eval(jstring script) const
JSValue result;
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
RootObject* rootObject = this->rootObject();
if (!rootObject)
@@ -346,7 +346,7 @@ jobject JavaJSObject::getMember(jstring memberName) const
ExecState* exec = rootObject->globalObject()->globalExec();
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
JSValue result = _imp->get(exec, Identifier(exec, JavaString(memberName)));
return convertValueToJObject(result);
@@ -362,7 +362,7 @@ void JavaJSObject::setMember(jstring memberName, jobject value) const
ExecState* exec = rootObject->globalObject()->globalExec();
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
PutPropertySlot slot;
_imp->put(exec, Identifier(exec, JavaString(memberName)), convertJObjectToValue(exec, value), slot);
}
@@ -377,7 +377,7 @@ void JavaJSObject::removeMember(jstring memberName) const
return;
ExecState* exec = rootObject->globalObject()->globalExec();
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
_imp->deleteProperty(exec, Identifier(exec, JavaString(memberName)));
}
@@ -396,7 +396,7 @@ jobject JavaJSObject::getSlot(jint index) const
ExecState* exec = rootObject->globalObject()->globalExec();
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
JSValue result = _imp->get(exec, index);
return convertValueToJObject(result);
@@ -416,7 +416,7 @@ void JavaJSObject::setSlot(jint index, jobject value) const
return;
ExecState* exec = rootObject->globalObject()->globalExec();
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
_imp->put(exec, (unsigned)index, convertJObjectToValue(exec, value));
}
@@ -429,7 +429,7 @@ jstring JavaJSObject::toString() const
if (!rootObject)
return 0;
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
JSObject *thisObj = const_cast<JSObject*>(_imp);
ExecState* exec = rootObject->globalObject()->globalExec();
@@ -487,7 +487,7 @@ jlong JavaJSObject::createNative(jlong nativeHandle)
jobject JavaJSObject::convertValueToJObject(JSValue value) const
{
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
RootObject* rootObject = this->rootObject();
if (!rootObject)
@@ -600,7 +600,7 @@ JSValue JavaJSObject::convertJObjectToValue(ExecState* exec, jobject theObject)
return imp;
}
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
return JavaInstance::create(theObject, _rootObject)->createRuntimeObject(exec);
}
diff --git a/src/3rdparty/webkit/WebCore/bridge/jni/jni_objc.mm b/src/3rdparty/webkit/WebCore/bridge/jni/jni_objc.mm
index 7c19442..0306bfd 100644
--- a/src/3rdparty/webkit/WebCore/bridge/jni/jni_objc.mm
+++ b/src/3rdparty/webkit/WebCore/bridge/jni/jni_objc.mm
@@ -61,7 +61,7 @@ bool JSC::Bindings::dispatchJNICall(ExecState* exec, const void* targetAppletVie
// implemented in WebCore will guarantee that only appropriate JavaScript
// can reference the applet.
{
- JSLock::DropAllLocks dropAllLocks(false);
+ JSLock::DropAllLocks dropAllLocks(SilenceAssertionsOnly);
result = [view webPlugInCallJava:obj isStatic:isStatic returnType:returnType method:methodID arguments:args callingURL:nil exceptionDescription:&_exceptionDescription];
}
@@ -71,7 +71,7 @@ bool JSC::Bindings::dispatchJNICall(ExecState* exec, const void* targetAppletVie
return true;
}
else if ([view respondsToSelector:@selector(webPlugInCallJava:method:returnType:arguments:)]) {
- JSLock::DropAllLocks dropAllLocks(false);
+ JSLock::DropAllLocks dropAllLocks(SilenceAssertionsOnly);
result = [view webPlugInCallJava:obj method:methodID returnType:returnType arguments:args];
return true;
}
diff --git a/src/3rdparty/webkit/WebCore/bridge/jni/jni_runtime.cpp b/src/3rdparty/webkit/WebCore/bridge/jni/jni_runtime.cpp
index 3cbe8cf..cc48037 100644
--- a/src/3rdparty/webkit/WebCore/bridge/jni/jni_runtime.cpp
+++ b/src/3rdparty/webkit/WebCore/bridge/jni/jni_runtime.cpp
@@ -316,7 +316,7 @@ static void appendClassName(UString& aString, const char* className)
const char *JavaMethod::signature() const
{
if (!_signature) {
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
UString signatureBuilder("(");
for (int i = 0; i < _numParameters; i++) {
diff --git a/src/3rdparty/webkit/WebCore/bridge/jni/jni_runtime.h b/src/3rdparty/webkit/WebCore/bridge/jni/jni_runtime.h
index f3cbf2b..81484ff 100644
--- a/src/3rdparty/webkit/WebCore/bridge/jni/jni_runtime.h
+++ b/src/3rdparty/webkit/WebCore/bridge/jni/jni_runtime.h
@@ -46,7 +46,7 @@ class JavaString
public:
JavaString()
{
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
_rep = UString().rep();
}
@@ -55,7 +55,7 @@ public:
int _size = e->GetStringLength (s);
const jchar *uc = getUCharactersFromJStringInEnv (e, s);
{
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
_rep = UString(reinterpret_cast<const UChar*>(uc), _size).rep();
}
releaseUCharactersForJStringInEnv (e, s, uc);
@@ -71,13 +71,13 @@ public:
~JavaString()
{
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
_rep = 0;
}
const char *UTF8String() const {
if (_utf8String.c_str() == 0) {
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
_utf8String = UString(_rep).UTF8String();
}
return _utf8String.c_str();
diff --git a/src/3rdparty/webkit/WebCore/bridge/jni/jni_utility.cpp b/src/3rdparty/webkit/WebCore/bridge/jni/jni_utility.cpp
index f8a2789..86075c9 100644
--- a/src/3rdparty/webkit/WebCore/bridge/jni/jni_utility.cpp
+++ b/src/3rdparty/webkit/WebCore/bridge/jni/jni_utility.cpp
@@ -470,7 +470,7 @@ static jobject convertArrayInstanceToJavaArray(ExecState* exec, JSArray* jsArray
jvalue convertValueToJValue(ExecState* exec, JSValue value, JNIType _JNIType, const char* javaClassName)
{
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
jvalue result;
diff --git a/src/3rdparty/webkit/WebCore/bridge/npapi.h b/src/3rdparty/webkit/WebCore/bridge/npapi.h
index 1904a87..07fed86 100644
--- a/src/3rdparty/webkit/WebCore/bridge/npapi.h
+++ b/src/3rdparty/webkit/WebCore/bridge/npapi.h
@@ -114,6 +114,14 @@
/* Definition of Basic Types */
/*----------------------------------------------------------------------*/
+/* QNX sets the _INT16 and friends defines, but does not typedef the types */
+#ifdef __QNXNTO__
+#undef _UINT16
+#undef _INT16
+#undef _UINT32
+#undef _INT32
+#endif
+
#ifndef _UINT16
#define _UINT16
typedef unsigned short uint16;
@@ -341,8 +349,6 @@ typedef enum {
*/
NPPVpluginWantsAllNetworkStreams = 18,
- NPPVpluginPrivateModeBool = 19,
-
/* Checks to see if the plug-in would like the browser to load the "src" attribute. */
NPPVpluginCancelSrcStream = 20,
diff --git a/src/3rdparty/webkit/WebCore/bridge/qt/qt_instance.cpp b/src/3rdparty/webkit/WebCore/bridge/qt/qt_instance.cpp
index 60cf16f..506697a 100644
--- a/src/3rdparty/webkit/WebCore/bridge/qt/qt_instance.cpp
+++ b/src/3rdparty/webkit/WebCore/bridge/qt/qt_instance.cpp
@@ -74,7 +74,7 @@ private:
const ClassInfo QtRuntimeObjectImp::s_info = { "QtRuntimeObject", &RuntimeObjectImp::s_info, 0, 0 };
QtRuntimeObjectImp::QtRuntimeObjectImp(ExecState* exec, PassRefPtr<Instance> instance)
- : RuntimeObjectImp(exec, WebCore::getDOMStructure<QtRuntimeObjectImp>(exec), instance)
+ : RuntimeObjectImp(exec, WebCore::deprecatedGetDOMStructure<QtRuntimeObjectImp>(exec), instance)
{
}
@@ -91,7 +91,7 @@ void QtRuntimeObjectImp::invalidate()
void QtRuntimeObjectImp::removeFromCache()
{
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
QtInstance* key = cachedObjects.key(this);
if (key)
cachedObjects.remove(key);
@@ -110,7 +110,7 @@ QtInstance::QtInstance(QObject* o, PassRefPtr<RootObject> rootObject, QScriptEng
QtInstance::~QtInstance()
{
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
cachedObjects.remove(this);
cachedInstances.remove(m_hashkey);
@@ -118,9 +118,7 @@ QtInstance::~QtInstance()
// clean up (unprotect from gc) the JSValues we've created
m_methods.clear();
- foreach(QtField* f, m_fields.values()) {
- delete f;
- }
+ qDeleteAll(m_fields);
m_fields.clear();
if (m_object) {
@@ -140,7 +138,7 @@ QtInstance::~QtInstance()
PassRefPtr<QtInstance> QtInstance::getQtInstance(QObject* o, PassRefPtr<RootObject> rootObject, QScriptEngine::ValueOwnership ownership)
{
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
foreach(QtInstance* instance, cachedInstances.values(o)) {
if (instance->rootObject() == rootObject)
@@ -163,6 +161,19 @@ void QtInstance::put(JSObject* object, ExecState* exec, const Identifier& proper
object->JSObject::put(exec, propertyName, value, slot);
}
+void QtInstance::removeCachedMethod(JSObject* method)
+{
+ if (m_defaultMethod == method)
+ m_defaultMethod = 0;
+
+ for(QHash<QByteArray, JSObject*>::Iterator it = m_methods.begin(),
+ end = m_methods.end(); it != end; ++it)
+ if (it.value() == method) {
+ m_methods.erase(it);
+ return;
+ }
+}
+
QtInstance* QtInstance::getInstance(JSObject* object)
{
if (!object)
@@ -181,7 +192,7 @@ Class* QtInstance::getClass() const
RuntimeObjectImp* QtInstance::createRuntimeObject(ExecState* exec)
{
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
RuntimeObjectImp* ret = static_cast<RuntimeObjectImp*>(cachedObjects.value(this));
if (!ret) {
ret = new (exec) QtRuntimeObjectImp(exec, this);
@@ -193,16 +204,12 @@ RuntimeObjectImp* QtInstance::createRuntimeObject(ExecState* exec)
void QtInstance::mark()
{
- if (m_defaultMethod)
+ if (m_defaultMethod && !m_defaultMethod->marked())
m_defaultMethod->mark();
foreach(JSObject* val, m_methods.values()) {
if (val && !val->marked())
val->mark();
}
- foreach(JSValue val, m_children.values()) {
- if (val && !val.marked())
- val.mark();
- }
}
void QtInstance::begin()
@@ -355,13 +362,7 @@ JSValue QtField::valueFromInstance(ExecState* exec, const Instance* inst) const
else if (m_type == DynamicProperty)
val = obj->property(m_dynamicProperty);
- JSValue ret = convertQVariantToValue(exec, inst->rootObject(), val);
-
- // Need to save children so we can mark them
- if (m_type == ChildObject)
- instance->m_children.insert(ret);
-
- return ret;
+ return convertQVariantToValue(exec, inst->rootObject(), val);
} else {
QString msg = QString(QLatin1String("cannot access member `%1' of deleted QObject")).arg(QLatin1String(name()));
return throwError(exec, GeneralError, msg.toLatin1().constData());
diff --git a/src/3rdparty/webkit/WebCore/bridge/qt/qt_instance.h b/src/3rdparty/webkit/WebCore/bridge/qt/qt_instance.h
index 590fadf..23766b1 100644
--- a/src/3rdparty/webkit/WebCore/bridge/qt/qt_instance.h
+++ b/src/3rdparty/webkit/WebCore/bridge/qt/qt_instance.h
@@ -65,6 +65,8 @@ public:
virtual bool getOwnPropertySlot(JSObject*, ExecState*, const Identifier&, PropertySlot&);
virtual void put(JSObject*, ExecState*, const Identifier&, JSValue, PutPropertySlot&);
+ void removeCachedMethod(JSObject*);
+
static QtInstance* getInstance(JSObject*);
private:
@@ -81,7 +83,6 @@ private:
QObject* m_hashkey;
mutable QHash<QByteArray, JSObject*> m_methods;
mutable QHash<QString, QtField*> m_fields;
- mutable QSet<JSValue> m_children;
mutable QtRuntimeMetaMethod* m_defaultMethod;
QScriptEngine::ValueOwnership m_ownership;
};
diff --git a/src/3rdparty/webkit/WebCore/bridge/qt/qt_runtime.cpp b/src/3rdparty/webkit/WebCore/bridge/qt/qt_runtime.cpp
index 161e570..6be119c 100644
--- a/src/3rdparty/webkit/WebCore/bridge/qt/qt_runtime.cpp
+++ b/src/3rdparty/webkit/WebCore/bridge/qt/qt_runtime.cpp
@@ -167,7 +167,7 @@ QVariant convertValueToQVariant(ExecState* exec, JSValue value, QMetaType::Type
return QVariant();
}
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
JSRealType type = valueRealType(exec, value);
if (hint == QMetaType::Void) {
switch(type) {
@@ -770,7 +770,7 @@ JSValue convertQVariantToValue(ExecState* exec, PassRefPtr<RootObject> root, con
return jsNull();
}
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
if (type == QMetaType::Bool)
return jsBoolean(variant.toBool());
@@ -907,7 +907,7 @@ JSValue convertQVariantToValue(ExecState* exec, PassRefPtr<RootObject> root, con
const ClassInfo QtRuntimeMethod::s_info = { "QtRuntimeMethod", 0, 0, 0 };
QtRuntimeMethod::QtRuntimeMethod(QtRuntimeMethodData* dd, ExecState* exec, const Identifier& ident, PassRefPtr<QtInstance> inst)
- : InternalFunction(&exec->globalData(), getDOMStructure<QtRuntimeMethod>(exec), ident)
+ : InternalFunction(&exec->globalData(), deprecatedGetDOMStructure<QtRuntimeMethod>(exec), ident)
, d_ptr(dd)
{
QW_D(QtRuntimeMethod);
@@ -916,6 +916,8 @@ QtRuntimeMethod::QtRuntimeMethod(QtRuntimeMethodData* dd, ExecState* exec, const
QtRuntimeMethod::~QtRuntimeMethod()
{
+ QW_D(QtRuntimeMethod);
+ d->m_instance->removeCachedMethod(this);
delete d_ptr;
}
@@ -1345,7 +1347,7 @@ JSValue QtRuntimeMetaMethod::call(ExecState* exec, JSObject* functionObject, JSV
return jsUndefined();
// We have to pick a method that matches..
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
QObject *obj = d->m_instance->getObject();
if (obj) {
@@ -1438,7 +1440,7 @@ JSValue QtRuntimeConnectionMethod::call(ExecState* exec, JSObject* functionObjec
{
QtRuntimeConnectionMethodData* d = static_cast<QtRuntimeConnectionMethod *>(functionObject)->d_func();
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
QObject* sender = d->m_instance->getObject();
@@ -1668,7 +1670,7 @@ void QtConnectionObject::execute(void **argv)
int argc = parameterTypes.count();
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
// ### Should the Interpreter/ExecState come from somewhere else?
RefPtr<RootObject> ro = m_instance->rootObject();
diff --git a/src/3rdparty/webkit/WebCore/bridge/runtime.cpp b/src/3rdparty/webkit/WebCore/bridge/runtime.cpp
index d6b6962..6934406 100644
--- a/src/3rdparty/webkit/WebCore/bridge/runtime.cpp
+++ b/src/3rdparty/webkit/WebCore/bridge/runtime.cpp
@@ -80,7 +80,7 @@ void Instance::end()
RuntimeObjectImp* Instance::createRuntimeObject(ExecState* exec)
{
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
return new (exec) RuntimeObjectImp(exec, this);
}
diff --git a/src/3rdparty/webkit/WebCore/bridge/runtime.h b/src/3rdparty/webkit/WebCore/bridge/runtime.h
index 72736d4..2f74a4e 100644
--- a/src/3rdparty/webkit/WebCore/bridge/runtime.h
+++ b/src/3rdparty/webkit/WebCore/bridge/runtime.h
@@ -55,14 +55,14 @@ public:
virtual ~Field() { }
};
-class Method : Noncopyable {
+class Method : public Noncopyable {
public:
virtual int numParameters() const = 0;
virtual ~Method() { }
};
-class Class : Noncopyable {
+class Class : public Noncopyable {
public:
virtual MethodList methodsNamed(const Identifier&, Instance*) const = 0;
virtual Field* fieldNamed(const Identifier&, Instance*) const = 0;
@@ -120,7 +120,7 @@ protected:
RefPtr<RootObject> _rootObject;
};
-class Array : Noncopyable {
+class Array : public Noncopyable {
public:
Array(PassRefPtr<RootObject>);
virtual ~Array();
diff --git a/src/3rdparty/webkit/WebCore/bridge/runtime_array.cpp b/src/3rdparty/webkit/WebCore/bridge/runtime_array.cpp
index fead83a..2849822 100644
--- a/src/3rdparty/webkit/WebCore/bridge/runtime_array.cpp
+++ b/src/3rdparty/webkit/WebCore/bridge/runtime_array.cpp
@@ -36,9 +36,11 @@ namespace JSC {
const ClassInfo RuntimeArray::s_info = { "RuntimeArray", &JSArray::info, 0, 0 };
-RuntimeArray::RuntimeArray(ExecState* exec, Bindings::Array* a)
- : JSObject(getDOMStructure<RuntimeArray>(exec))
- , _array(a)
+RuntimeArray::RuntimeArray(ExecState* exec, Bindings::Array* array)
+ // FIXME: deprecatedGetDOMStructure uses the prototype off of the wrong global object
+ // We need to pass in the right global object for "array".
+ : JSObject(deprecatedGetDOMStructure<RuntimeArray>(exec))
+ , _array(array)
{
}
diff --git a/src/3rdparty/webkit/WebCore/bridge/runtime_method.cpp b/src/3rdparty/webkit/WebCore/bridge/runtime_method.cpp
index 30a3581..0af0af5 100644
--- a/src/3rdparty/webkit/WebCore/bridge/runtime_method.cpp
+++ b/src/3rdparty/webkit/WebCore/bridge/runtime_method.cpp
@@ -41,8 +41,11 @@ ASSERT_CLASS_FITS_IN_CELL(RuntimeMethod);
const ClassInfo RuntimeMethod::s_info = { "RuntimeMethod", 0, 0, 0 };
-RuntimeMethod::RuntimeMethod(ExecState* exec, const Identifier& ident, Bindings::MethodList& m)
- : InternalFunction(&exec->globalData(), getDOMStructure<RuntimeMethod>(exec), ident)
+RuntimeMethod::RuntimeMethod(ExecState* exec, const Identifier& ident, Bindings::MethodList& m)
+ // FIXME: deprecatedGetDOMStructure uses the prototype off of the wrong global object
+ // exec-globalData() is also likely wrong.
+ // Callers will need to pass in the right global object corresponding to this native object "m".
+ : InternalFunction(&exec->globalData(), deprecatedGetDOMStructure<RuntimeMethod>(exec), ident)
, _methodList(new MethodList(m))
{
}
diff --git a/src/3rdparty/webkit/WebCore/bridge/runtime_object.cpp b/src/3rdparty/webkit/WebCore/bridge/runtime_object.cpp
index 79afd3f..385f914 100644
--- a/src/3rdparty/webkit/WebCore/bridge/runtime_object.cpp
+++ b/src/3rdparty/webkit/WebCore/bridge/runtime_object.cpp
@@ -41,7 +41,9 @@ using namespace Bindings;
const ClassInfo RuntimeObjectImp::s_info = { "RuntimeObject", 0, 0, 0 };
RuntimeObjectImp::RuntimeObjectImp(ExecState* exec, PassRefPtr<Instance> i)
- : JSObject(getDOMStructure<RuntimeObjectImp>(exec))
+ // FIXME: deprecatedGetDOMStructure uses the prototype off of the wrong global object
+ // We need to pass in the right global object for "i".
+ : JSObject(deprecatedGetDOMStructure<RuntimeObjectImp>(exec))
, instance(i)
{
instance->rootObject()->addRuntimeObject(this);
diff --git a/src/3rdparty/webkit/WebCore/bridge/runtime_root.cpp b/src/3rdparty/webkit/WebCore/bridge/runtime_root.cpp
index 8e00fd5..0e9bf74 100644
--- a/src/3rdparty/webkit/WebCore/bridge/runtime_root.cpp
+++ b/src/3rdparty/webkit/WebCore/bridge/runtime_root.cpp
@@ -22,6 +22,7 @@
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
+
#include "config.h"
#include "runtime_root.h"
diff --git a/src/3rdparty/webkit/WebCore/bridge/runtime_root.h b/src/3rdparty/webkit/WebCore/bridge/runtime_root.h
index 0d6fdbd..eacbb57 100644
--- a/src/3rdparty/webkit/WebCore/bridge/runtime_root.h
+++ b/src/3rdparty/webkit/WebCore/bridge/runtime_root.h
@@ -86,4 +86,4 @@ private:
} // namespace JSC
-#endif
+#endif // RUNTIME_ROOT_H_
diff --git a/src/3rdparty/webkit/WebCore/config.h b/src/3rdparty/webkit/WebCore/config.h
index 0700adf..411ddb1 100644
--- a/src/3rdparty/webkit/WebCore/config.h
+++ b/src/3rdparty/webkit/WebCore/config.h
@@ -107,9 +107,20 @@
#endif
#if PLATFORM(WIN)
+#if defined(WIN_CAIRO)
+#undef WTF_PLATFORM_CG
+#define WTF_PLATFORM_CAIRO 1
+#undef WTF_USE_CFNETWORK
+#define WTF_USE_CURL 1
+#ifndef _WINSOCKAPI_
+#define _WINSOCKAPI_ // Prevent inclusion of winsock.h in windows.h
+#endif
+#else
#define WTF_PLATFORM_CG 1
#undef WTF_PLATFORM_CAIRO
#define WTF_USE_CFNETWORK 1
+#undef WTF_USE_CURL
+#endif
#undef WTF_USE_WININET
#define WTF_PLATFORM_CF 1
#define WTF_USE_PTHREADS 0
diff --git a/src/3rdparty/webkit/WebCore/css/CSSComputedStyleDeclaration.cpp b/src/3rdparty/webkit/WebCore/css/CSSComputedStyleDeclaration.cpp
index b721f70..476ed1e 100644
--- a/src/3rdparty/webkit/WebCore/css/CSSComputedStyleDeclaration.cpp
+++ b/src/3rdparty/webkit/WebCore/css/CSSComputedStyleDeclaration.cpp
@@ -52,8 +52,10 @@ namespace WebCore {
// List of all properties we know how to compute, omitting shorthands.
static const int computedProperties[] = {
CSSPropertyBackgroundAttachment,
+ CSSPropertyBackgroundClip,
CSSPropertyBackgroundColor,
CSSPropertyBackgroundImage,
+ CSSPropertyBackgroundOrigin,
CSSPropertyBackgroundPosition, // more-specific background-position-x/y are non-standard
CSSPropertyBackgroundRepeat,
CSSPropertyBorderBottomColor,
@@ -70,6 +72,7 @@ static const int computedProperties[] = {
CSSPropertyBorderTopStyle,
CSSPropertyBorderTopWidth,
CSSPropertyBottom,
+ CSSPropertyBoxShadow,
CSSPropertyCaptionSide,
CSSPropertyClear,
CSSPropertyClip,
@@ -122,6 +125,7 @@ static const int computedProperties[] = {
CSSPropertyTextDecoration,
CSSPropertyTextIndent,
CSSPropertyTextShadow,
+ CSSPropertyTextOverflow,
CSSPropertyTextTransform,
CSSPropertyTop,
CSSPropertyUnicodeBidi,
@@ -165,7 +169,6 @@ static const int computedProperties[] = {
CSSPropertyWebkitBoxOrient,
CSSPropertyWebkitBoxPack,
CSSPropertyWebkitBoxReflect,
- CSSPropertyWebkitBoxShadow,
CSSPropertyWebkitBoxSizing,
CSSPropertyWebkitColumnBreakAfter,
CSSPropertyWebkitColumnBreakBefore,
@@ -261,7 +264,7 @@ static const int computedProperties[] = {
const unsigned numComputedProperties = sizeof(computedProperties) / sizeof(computedProperties[0]);
-static PassRefPtr<CSSValue> valueForShadow(const ShadowData* shadow)
+static PassRefPtr<CSSValue> valueForShadow(const ShadowData* shadow, CSSPropertyID propertyID)
{
if (!shadow)
return CSSPrimitiveValue::createIdentifier(CSSValueNone);
@@ -271,8 +274,10 @@ static PassRefPtr<CSSValue> valueForShadow(const ShadowData* shadow)
RefPtr<CSSPrimitiveValue> x = CSSPrimitiveValue::create(s->x, CSSPrimitiveValue::CSS_PX);
RefPtr<CSSPrimitiveValue> y = CSSPrimitiveValue::create(s->y, CSSPrimitiveValue::CSS_PX);
RefPtr<CSSPrimitiveValue> blur = CSSPrimitiveValue::create(s->blur, CSSPrimitiveValue::CSS_PX);
+ RefPtr<CSSPrimitiveValue> spread = propertyID == CSSPropertyTextShadow ? 0 : CSSPrimitiveValue::create(s->spread, CSSPrimitiveValue::CSS_PX);
+ RefPtr<CSSPrimitiveValue> style = propertyID == CSSPropertyTextShadow || s->style == Normal ? 0 : CSSPrimitiveValue::createIdentifier(CSSValueInset);
RefPtr<CSSPrimitiveValue> color = CSSPrimitiveValue::createColor(s->color.rgb());
- list->prepend(ShadowValue::create(x.release(), y.release(), blur.release(), color.release()));
+ list->prepend(ShadowValue::create(x.release(), y.release(), blur.release(), spread.release(), style.release(), color.release()));
}
return list.release();
}
@@ -596,6 +601,23 @@ static PassRefPtr<CSSPrimitiveValue> valueForFamily(const AtomicString& family)
return CSSPrimitiveValue::create(family.string(), CSSPrimitiveValue::CSS_STRING);
}
+static PassRefPtr<CSSValue> renderTextDecorationFlagsToCSSValue(int textDecoration)
+{
+ RefPtr<CSSValueList> list = CSSValueList::createSpaceSeparated();
+ if (textDecoration & UNDERLINE)
+ list->append(CSSPrimitiveValue::createIdentifier(CSSValueUnderline));
+ if (textDecoration & OVERLINE)
+ list->append(CSSPrimitiveValue::createIdentifier(CSSValueOverline));
+ if (textDecoration & LINE_THROUGH)
+ list->append(CSSPrimitiveValue::createIdentifier(CSSValueLineThrough));
+ if (textDecoration & BLINK)
+ list->append(CSSPrimitiveValue::createIdentifier(CSSValueBlink));
+
+ if (!list->length())
+ return CSSPrimitiveValue::createIdentifier(CSSValueNone);
+ return list;
+}
+
PassRefPtr<CSSValue> CSSComputedStyleDeclaration::getPropertyCSSValue(int propertyID, EUpdateLayout updateLayout) const
{
Node* node = m_node.get();
@@ -637,12 +659,12 @@ PassRefPtr<CSSValue> CSSComputedStyleDeclaration::getPropertyCSSValue(int proper
case CSSPropertyWebkitBackgroundComposite:
return CSSPrimitiveValue::create(style->backgroundComposite());
case CSSPropertyBackgroundAttachment:
- if (style->backgroundAttachment())
- return CSSPrimitiveValue::createIdentifier(CSSValueScroll);
- return CSSPrimitiveValue::createIdentifier(CSSValueFixed);
+ return CSSPrimitiveValue::create(style->backgroundAttachment());
+ case CSSPropertyBackgroundClip:
+ case CSSPropertyBackgroundOrigin:
case CSSPropertyWebkitBackgroundClip:
case CSSPropertyWebkitBackgroundOrigin: {
- EFillBox box = (propertyID == CSSPropertyWebkitBackgroundClip ? style->backgroundClip() : style->backgroundOrigin());
+ EFillBox box = (propertyID == CSSPropertyWebkitBackgroundClip || propertyID == CSSPropertyBackgroundClip) ? style->backgroundClip() : style->backgroundOrigin();
return CSSPrimitiveValue::create(box);
}
case CSSPropertyBackgroundPosition: {
@@ -721,8 +743,8 @@ PassRefPtr<CSSValue> CSSComputedStyleDeclaration::getPropertyCSSValue(int proper
}
case CSSPropertyWebkitBoxReflect:
return valueForReflection(style->boxReflect());
- case CSSPropertyWebkitBoxShadow:
- return valueForShadow(style->boxShadow());
+ case CSSPropertyBoxShadow:
+ return valueForShadow(style->boxShadow(), static_cast<CSSPropertyID>(propertyID));
case CSSPropertyCaptionSide:
return CSSPrimitiveValue::create(style->captionSide());
case CSSPropertyClear:
@@ -905,9 +927,7 @@ PassRefPtr<CSSValue> CSSComputedStyleDeclaration::getPropertyCSSValue(int proper
case CSSPropertyWebkitMaskRepeat:
return CSSPrimitiveValue::create(style->maskRepeat());
case CSSPropertyWebkitMaskAttachment:
- if (style->maskAttachment())
- return CSSPrimitiveValue::createIdentifier(CSSValueScroll);
- return CSSPrimitiveValue::createIdentifier(CSSValueFixed);
+ return CSSPrimitiveValue::create(style->maskAttachment());
case CSSPropertyWebkitMaskComposite:
return CSSPrimitiveValue::create(style->maskComposite());
case CSSPropertyWebkitMaskClip:
@@ -998,58 +1018,20 @@ PassRefPtr<CSSValue> CSSComputedStyleDeclaration::getPropertyCSSValue(int proper
return CSSPrimitiveValue::create(style->tableLayout());
case CSSPropertyTextAlign:
return CSSPrimitiveValue::create(style->textAlign());
- case CSSPropertyTextDecoration: {
- String string;
- if (style->textDecoration() & UNDERLINE)
- string += "underline";
- if (style->textDecoration() & OVERLINE) {
- if (string.length())
- string += " ";
- string += "overline";
- }
- if (style->textDecoration() & LINE_THROUGH) {
- if (string.length())
- string += " ";
- string += "line-through";
- }
- if (style->textDecoration() & BLINK) {
- if (string.length())
- string += " ";
- string += "blink";
- }
- if (!string.length())
- return CSSPrimitiveValue::createIdentifier(CSSValueNone);
- return CSSPrimitiveValue::create(string, CSSPrimitiveValue::CSS_STRING);
- }
- case CSSPropertyWebkitTextDecorationsInEffect: {
- String string;
- if (style->textDecorationsInEffect() & UNDERLINE)
- string += "underline";
- if (style->textDecorationsInEffect() & OVERLINE) {
- if (string.length())
- string += " ";
- string += "overline";
- }
- if (style->textDecorationsInEffect() & LINE_THROUGH) {
- if (string.length())
- string += " ";
- string += "line-through";
- }
- if (style->textDecorationsInEffect() & BLINK) {
- if (string.length())
- string += " ";
- string += "blink";
- }
- if (!string.length())
- return CSSPrimitiveValue::createIdentifier(CSSValueNone);
- return CSSPrimitiveValue::create(string, CSSPrimitiveValue::CSS_STRING);
- }
+ case CSSPropertyTextDecoration:
+ return renderTextDecorationFlagsToCSSValue(style->textDecoration());
+ case CSSPropertyWebkitTextDecorationsInEffect:
+ return renderTextDecorationFlagsToCSSValue(style->textDecorationsInEffect());
case CSSPropertyWebkitTextFillColor:
return currentColorOrValidColor(style.get(), style->textFillColor());
case CSSPropertyTextIndent:
return CSSPrimitiveValue::create(style->textIndent());
case CSSPropertyTextShadow:
- return valueForShadow(style->textShadow());
+ return valueForShadow(style->textShadow(), static_cast<CSSPropertyID>(propertyID));
+ case CSSPropertyTextOverflow:
+ if (style->textOverflow())
+ return CSSPrimitiveValue::createIdentifier(CSSValueEllipsis);
+ return CSSPrimitiveValue::createIdentifier(CSSValueClip);
case CSSPropertyWebkitTextSecurity:
return CSSPrimitiveValue::create(style->textSecurity());
case CSSPropertyWebkitTextSizeAdjust:
@@ -1331,7 +1313,6 @@ PassRefPtr<CSSValue> CSSComputedStyleDeclaration::getPropertyCSSValue(int proper
case CSSPropertyTextLineThroughMode:
case CSSPropertyTextLineThroughStyle:
case CSSPropertyTextLineThroughWidth:
- case CSSPropertyTextOverflow:
case CSSPropertyTextOverline:
case CSSPropertyTextOverlineColor:
case CSSPropertyTextOverlineMode:
@@ -1471,11 +1452,6 @@ static const int inheritableProperties[] = {
static const unsigned numInheritableProperties = sizeof(inheritableProperties) / sizeof(inheritableProperties[0]);
-void CSSComputedStyleDeclaration::removeComputedInheritablePropertiesFrom(CSSMutableStyleDeclaration* declaration)
-{
- declaration->removePropertiesInSet(inheritableProperties, numInheritableProperties);
-}
-
bool CSSComputedStyleDeclaration::cssPropertyMatches(const CSSProperty* property) const
{
if (property->id() == CSSPropertyFontSize && property->value()->isPrimitiveValue() && m_node) {
@@ -1492,7 +1468,11 @@ bool CSSComputedStyleDeclaration::cssPropertyMatches(const CSSProperty* property
return CSSStyleDeclaration::cssPropertyMatches(property);
}
-PassRefPtr<CSSMutableStyleDeclaration> CSSComputedStyleDeclaration::copyInheritableProperties() const
+// FIXME: deprecatedCopyInheritableProperties is used for two purposes:
+// 1. Calculating the typing style.
+// 2. Moving HTML subtrees and seeking to remove redundant styles.
+// These tasks should be broken out into two separate functions. New code should not use this function.
+PassRefPtr<CSSMutableStyleDeclaration> CSSComputedStyleDeclaration::deprecatedCopyInheritableProperties() const
{
RefPtr<CSSMutableStyleDeclaration> style = copyPropertiesInSet(inheritableProperties, numInheritableProperties);
if (style && m_node && m_node->computedStyle()) {
diff --git a/src/3rdparty/webkit/WebCore/css/CSSComputedStyleDeclaration.h b/src/3rdparty/webkit/WebCore/css/CSSComputedStyleDeclaration.h
index 6f81b0e..5d3ccc1 100644
--- a/src/3rdparty/webkit/WebCore/css/CSSComputedStyleDeclaration.h
+++ b/src/3rdparty/webkit/WebCore/css/CSSComputedStyleDeclaration.h
@@ -55,10 +55,7 @@ public:
PassRefPtr<CSSValue> getSVGPropertyCSSValue(int propertyID, EUpdateLayout) const;
#endif
- PassRefPtr<CSSMutableStyleDeclaration> copyInheritableProperties() const;
-
- static void removeComputedInheritablePropertiesFrom(CSSMutableStyleDeclaration*);
-
+ PassRefPtr<CSSMutableStyleDeclaration> deprecatedCopyInheritableProperties() const;
protected:
virtual bool cssPropertyMatches(const CSSProperty*) const;
diff --git a/src/3rdparty/webkit/WebCore/css/CSSFunctionValue.cpp b/src/3rdparty/webkit/WebCore/css/CSSFunctionValue.cpp
index cb938ed..0fc260d 100644
--- a/src/3rdparty/webkit/WebCore/css/CSSFunctionValue.cpp
+++ b/src/3rdparty/webkit/WebCore/css/CSSFunctionValue.cpp
@@ -53,6 +53,7 @@ CSSParserValue CSSFunctionValue::parserValue() const
{
CSSParserValue val;
val.id = 0;
+ val.isInt = false;
val.unit = CSSParserValue::Function;
val.function = new CSSParserFunction;
val.function->name.characters = const_cast<UChar*>(m_name.characters());
diff --git a/src/3rdparty/webkit/WebCore/css/CSSGrammar.y b/src/3rdparty/webkit/WebCore/css/CSSGrammar.y
index 4706521..22c7014 100644
--- a/src/3rdparty/webkit/WebCore/css/CSSGrammar.y
+++ b/src/3rdparty/webkit/WebCore/css/CSSGrammar.y
@@ -36,12 +36,16 @@
#include "MediaList.h"
#include "WebKitCSSKeyframeRule.h"
#include "WebKitCSSKeyframesRule.h"
+#include <wtf/FastMalloc.h>
#include <stdlib.h>
#include <string.h>
using namespace WebCore;
using namespace HTMLNames;
+#define YYMALLOC fastMalloc
+#define YYFREE fastFree
+
#define YYENABLE_NLS 0
#define YYLTYPE_IS_TRIVIAL 1
#define YYMAXDEPTH 10000
@@ -93,7 +97,7 @@ static int cssyylex(YYSTYPE* yylval, void* parser)
%}
-%expect 49
+%expect 50
%nonassoc LOWEST_PREC
@@ -145,6 +149,7 @@ static int cssyylex(YYSTYPE* yylval, void* parser)
%token MEDIA_NOT
%token MEDIA_AND
+%token <number> REMS
%token <number> QEMS
%token <number> EMS
%token <number> EXS
@@ -1407,7 +1412,15 @@ unary_term:
| EMS maybe_space { $$.id = 0; $$.fValue = $1; $$.unit = CSSPrimitiveValue::CSS_EMS; }
| QEMS maybe_space { $$.id = 0; $$.fValue = $1; $$.unit = CSSParserValue::Q_EMS; }
| EXS maybe_space { $$.id = 0; $$.fValue = $1; $$.unit = CSSPrimitiveValue::CSS_EXS; }
- ;
+ | REMS maybe_space {
+ $$.id = 0;
+ $$.fValue = $1;
+ $$.unit = CSSPrimitiveValue::CSS_REMS;
+ CSSParser* p = static_cast<CSSParser*>(parser);
+ if (Document* doc = p->document())
+ doc->setUsesRemUnits(true);
+ }
+ ;
variable_reference:
VARCALL {
diff --git a/src/3rdparty/webkit/WebCore/css/CSSHelper.cpp b/src/3rdparty/webkit/WebCore/css/CSSHelper.cpp
index aa1186c..8e6f3a0 100644
--- a/src/3rdparty/webkit/WebCore/css/CSSHelper.cpp
+++ b/src/3rdparty/webkit/WebCore/css/CSSHelper.cpp
@@ -27,7 +27,7 @@
namespace WebCore {
-String parseURL(const String& url)
+String deprecatedParseURL(const String& url)
{
StringImpl* i = url.impl();
if (!i)
diff --git a/src/3rdparty/webkit/WebCore/css/CSSHelper.h b/src/3rdparty/webkit/WebCore/css/CSSHelper.h
index 7f32d88..2e33377 100644
--- a/src/3rdparty/webkit/WebCore/css/CSSHelper.h
+++ b/src/3rdparty/webkit/WebCore/css/CSSHelper.h
@@ -1,7 +1,6 @@
/*
- * This file is part of the CSS implementation for KDE.
- *
* Copyright (C) 1999 Lars Knoll (knoll@kde.org)
+ * Copyright (C) 2009 Apple Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -27,15 +26,17 @@ namespace WebCore {
class String;
- /*
- * mostly just removes the url("...") brace
- */
- String parseURL(const String& url);
+ // Used in many inappropriate contexts throughout WebCore. We'll have to examine and test
+ // each call site to find out whether it needs the various things this function does. That
+ // includes trimming leading and trailing control characters (including whitespace), removing
+ // url() or URL() if it surrounds the entire string, removing matching quote marks if present,
+ // and stripping all characters in the range U+0000-U+000C. Probably no caller needs this.
+ String deprecatedParseURL(const String&);
// We always assume 96 CSS pixels in a CSS inch. This is the cold hard truth of the Web.
// At high DPI, we may scale a CSS pixel, but the ratio of the CSS pixel to the so-called
// "absolute" CSS length units like inch and pt is always fixed and never changes.
- const float cssPixelsPerInch = 96.0f;
+ const float cssPixelsPerInch = 96;
} // namespace WebCore
diff --git a/src/3rdparty/webkit/WebCore/css/CSSMutableStyleDeclaration.cpp b/src/3rdparty/webkit/WebCore/css/CSSMutableStyleDeclaration.cpp
index 67b7da1..8ff5300 100644
--- a/src/3rdparty/webkit/WebCore/css/CSSMutableStyleDeclaration.cpp
+++ b/src/3rdparty/webkit/WebCore/css/CSSMutableStyleDeclaration.cpp
@@ -116,8 +116,8 @@ String CSSMutableStyleDeclaration::getPropertyValue(int propertyID) const
}
case CSSPropertyBackground: {
const int properties[7] = { CSSPropertyBackgroundImage, CSSPropertyBackgroundRepeat,
- CSSPropertyBackgroundAttachment, CSSPropertyBackgroundPosition, CSSPropertyWebkitBackgroundClip,
- CSSPropertyWebkitBackgroundOrigin, CSSPropertyBackgroundColor };
+ CSSPropertyBackgroundAttachment, CSSPropertyBackgroundPosition, CSSPropertyBackgroundClip,
+ CSSPropertyBackgroundOrigin, CSSPropertyBackgroundColor };
return getLayeredShorthandValue(properties, 7);
}
case CSSPropertyBorder: {
diff --git a/src/3rdparty/webkit/WebCore/css/CSSParser.cpp b/src/3rdparty/webkit/WebCore/css/CSSParser.cpp
index 2e8f3bb..411379e 100644
--- a/src/3rdparty/webkit/WebCore/css/CSSParser.cpp
+++ b/src/3rdparty/webkit/WebCore/css/CSSParser.cpp
@@ -1,7 +1,7 @@
/*
* Copyright (C) 2003 Lars Knoll (knoll@kde.org)
* Copyright (C) 2005 Allan Sandfeld Jensen (kde@carewolf.com)
- * Copyright (C) 2004, 2005, 2006, 2007, 2008 Apple Inc. All rights reserved.
+ * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserved.
* Copyright (C) 2007 Nicholas Shanks <webkit@nickshanks.com>
* Copyright (C) 2008 Eric Seidel <eric@webkit.org>
*
@@ -283,7 +283,7 @@ bool CSSParser::parseColor(RGBA32& color, const String& string, bool strict)
CSSValue* value = parser.m_parsedProperties[0]->value();
if (value->cssValueType() == CSSValue::CSS_PRIMITIVE_VALUE) {
CSSPrimitiveValue* primitiveValue = static_cast<CSSPrimitiveValue*>(value);
- color = primitiveValue->getRGBColorValue();
+ color = primitiveValue->getRGBA32Value();
}
} else
return false;
@@ -347,7 +347,7 @@ bool CSSParser::parseMediaQuery(MediaList* queries, const String& string)
m_mediaQuery = 0;
// can't use { because tokenizer state switches from mediaquery to initial state when it sees { token.
// instead insert one " " (which is WHITESPACE in CSSGrammar.y)
- setupParser ("@-webkit-mediaquery ", string, "} ");
+ setupParser("@-webkit-mediaquery ", string, "} ");
cssyyparse(this);
bool ok = false;
@@ -408,7 +408,7 @@ bool CSSParser::validUnit(CSSParserValue* value, Units unitflags, bool strict)
return false;
bool b = false;
- switch(value->unit) {
+ switch (value->unit) {
case CSSPrimitiveValue::CSS_NUMBER:
b = (unitflags & FNumber);
if (!b && ((unitflags & (FLength | FAngle | FTime)) && (value->fValue == 0 || !strict))) {
@@ -424,6 +424,7 @@ bool CSSParser::validUnit(CSSParserValue* value, Units unitflags, bool strict)
break;
case CSSParserValue::Q_EMS:
case CSSPrimitiveValue::CSS_EMS:
+ case CSSPrimitiveValue::CSS_REMS:
case CSSPrimitiveValue::CSS_EXS:
case CSSPrimitiveValue::CSS_PX:
case CSSPrimitiveValue::CSS_CM:
@@ -459,6 +460,8 @@ static int unitFromString(CSSParserValue* value)
if (equal(value->string, "em"))
return CSSPrimitiveValue::CSS_EMS;
+ if (equal(value->string, "rem"))
+ return CSSPrimitiveValue::CSS_REMS;
if (equal(value->string, "ex"))
return CSSPrimitiveValue::CSS_EXS;
if (equal(value->string, "px"))
@@ -810,7 +813,7 @@ bool CSSParser::parseValue(int propId, bool important)
while (value && value->unit == CSSPrimitiveValue::CSS_URI) {
if (!list)
list = CSSValueList::createCommaSeparated();
- String uri = parseURL(value->string);
+ String uri = value->string;
Vector<int> coords;
value = m_valueList->next();
while (value && value->unit == CSSPrimitiveValue::CSS_NUMBER) {
@@ -819,15 +822,17 @@ bool CSSParser::parseValue(int propId, bool important)
}
IntPoint hotspot;
int nrcoords = coords.size();
- if (nrcoords > 0 && nrcoords != 2) {
- if (m_strict) // only support hotspot pairs in strict mode
- return false;
- } else if (m_strict && nrcoords == 2)
+ if (nrcoords > 0 && nrcoords != 2)
+ return false;
+ if (nrcoords == 2)
hotspot = IntPoint(coords[0], coords[1]);
- if (m_strict || coords.size() == 0) {
- if (!uri.isNull() && m_styleSheet)
- list->append(CSSCursorImageValue::create(m_styleSheet->completeURL(uri), hotspot));
+
+ if (!uri.isNull() && m_styleSheet) {
+ // FIXME: The completeURL call should be done when using the CSSCursorImageValue,
+ // not when creating it.
+ list->append(CSSCursorImageValue::create(m_styleSheet->completeURL(uri), hotspot));
}
+
if ((m_strict && !value) || (value && !(value->unit == CSSParserValue::Operator && value->iValue == ',')))
return false;
value = m_valueList->next(); // comma
@@ -854,9 +859,11 @@ bool CSSParser::parseValue(int propId, bool important)
}
case CSSPropertyBackgroundAttachment:
+ case CSSPropertyBackgroundClip:
case CSSPropertyWebkitBackgroundClip:
case CSSPropertyWebkitBackgroundComposite:
case CSSPropertyBackgroundImage:
+ case CSSPropertyBackgroundOrigin:
case CSSPropertyWebkitBackgroundOrigin:
case CSSPropertyBackgroundPosition:
case CSSPropertyBackgroundPositionX:
@@ -889,10 +896,10 @@ bool CSSParser::parseValue(int propId, bool important)
parsedValue = CSSImageValue::create();
m_valueList->next();
} else if (value->unit == CSSPrimitiveValue::CSS_URI) {
- // ### allow string in non strict mode?
- String uri = parseURL(value->string);
- if (!uri.isNull() && m_styleSheet) {
- parsedValue = CSSImageValue::create(m_styleSheet->completeURL(uri));
+ if (m_styleSheet) {
+ // FIXME: The completeURL call should be done when using the CSSImageValue,
+ // not when creating it.
+ parsedValue = CSSImageValue::create(m_styleSheet->completeURL(value->string));
m_valueList->next();
}
} else if (value->unit == CSSParserValue::Function && equalIgnoringCase(value->function->name, "-webkit-gradient(")) {
@@ -1047,9 +1054,9 @@ bool CSSParser::parseValue(int propId, bool important)
if (id == CSSValueNone) {
valid_primitive = true;
} else {
- RefPtr<CSSValueList> list = CSSValueList::createCommaSeparated();
+ RefPtr<CSSValueList> list = CSSValueList::createSpaceSeparated();
bool is_valid = true;
- while(is_valid && value) {
+ while (is_valid && value) {
switch (value->id) {
case CSSValueBlink:
break;
@@ -1104,8 +1111,9 @@ bool CSSParser::parseValue(int propId, bool important)
RefPtr<CSSValue> parsedValue;
while ((val = m_valueList->current())) {
if (val->unit == CSSPrimitiveValue::CSS_URI && m_styleSheet) {
- String value = parseURL(val->string);
- parsedValue = CSSPrimitiveValue::create(m_styleSheet->completeURL(value), CSSPrimitiveValue::CSS_URI);
+ // FIXME: The completeURL call should be done when using the CSSPrimitiveValue,
+ // not when creating it.
+ parsedValue = CSSPrimitiveValue::create(m_styleSheet->completeURL(val->string), CSSPrimitiveValue::CSS_URI);
}
if (!parsedValue)
break;
@@ -1177,7 +1185,7 @@ bool CSSParser::parseValue(int propId, bool important)
valid_primitive = validUnit(value, FLength, m_strict);
break;
case CSSPropertyTextShadow: // CSS2 property, dropped in CSS2.1, back in CSS3, so treat as CSS3
- case CSSPropertyWebkitBoxShadow:
+ case CSSPropertyBoxShadow:
if (id == CSSValueNone)
valid_primitive = true;
else
@@ -1317,7 +1325,8 @@ bool CSSParser::parseValue(int propId, bool important)
if (id == CSSValueNone)
valid_primitive = true;
else {
- if (validUnit(value, FNumber|FNonNeg, m_strict)) {
+ // Accepting valueless numbers is a quirk of the -webkit prefixed version of the property.
+ if (validUnit(value, FNumber|FLength|FNonNeg, m_strict)) {
RefPtr<CSSValue> val = CSSPrimitiveValue::create(value->fValue, (CSSPrimitiveValue::UnitTypes)value->unit);
if (val) {
addProperty(propId, val.release(), important);
@@ -1500,15 +1509,15 @@ bool CSSParser::parseValue(int propId, bool important)
// in quirks mode but it's usually the X coordinate of a position.
// FIXME: Add CSSPropertyWebkitBackgroundSize to the shorthand.
const int properties[] = { CSSPropertyBackgroundImage, CSSPropertyBackgroundRepeat,
- CSSPropertyBackgroundAttachment, CSSPropertyBackgroundPosition, CSSPropertyWebkitBackgroundClip,
- CSSPropertyWebkitBackgroundOrigin, CSSPropertyBackgroundColor };
- return parseFillShorthand(propId, properties, 7, important);
+ CSSPropertyBackgroundAttachment, CSSPropertyBackgroundPosition, CSSPropertyBackgroundOrigin,
+ CSSPropertyBackgroundColor };
+ return parseFillShorthand(propId, properties, 6, important);
}
case CSSPropertyWebkitMask: {
const int properties[] = { CSSPropertyWebkitMaskImage, CSSPropertyWebkitMaskRepeat,
- CSSPropertyWebkitMaskAttachment, CSSPropertyWebkitMaskPosition, CSSPropertyWebkitMaskClip,
+ CSSPropertyWebkitMaskAttachment, CSSPropertyWebkitMaskPosition,
CSSPropertyWebkitMaskOrigin };
- return parseFillShorthand(propId, properties, 6, important);
+ return parseFillShorthand(propId, properties, 5, important);
}
case CSSPropertyBorder:
// [ 'border-width' || 'border-style' || <color> ] | inherit
@@ -1640,6 +1649,8 @@ bool CSSParser::parseValue(int propId, bool important)
parsedValue = CSSPrimitiveValue::create(value->string, (CSSPrimitiveValue::UnitTypes) value->unit);
else if (value->unit >= CSSPrimitiveValue::CSS_NUMBER && value->unit <= CSSPrimitiveValue::CSS_KHZ)
parsedValue = CSSPrimitiveValue::create(value->fValue, (CSSPrimitiveValue::UnitTypes) value->unit);
+ else if (value->unit >= CSSPrimitiveValue::CSS_TURN && value->unit <= CSSPrimitiveValue::CSS_REMS)
+ parsedValue = CSSPrimitiveValue::create(value->fValue, (CSSPrimitiveValue::UnitTypes) value->unit);
else if (value->unit >= CSSParserValue::Q_EMS)
parsedValue = CSSQuirkPrimitiveValue::create(value->fValue, CSSPrimitiveValue::CSS_EMS);
m_valueList->next();
@@ -1682,6 +1693,7 @@ bool CSSParser::parseFillShorthand(int propId, const int* properties, int numPro
bool parsedProperty[cMaxFillProperties] = { false };
RefPtr<CSSValue> values[cMaxFillProperties];
+ RefPtr<CSSValue> clipValue;
RefPtr<CSSValue> positionYValue;
int i;
@@ -1700,6 +1712,10 @@ bool CSSParser::parseFillShorthand(int propId, const int* properties, int numPro
addFillValue(values[i], CSSInitialValue::createImplicit());
if (properties[i] == CSSPropertyBackgroundPosition || properties[i] == CSSPropertyWebkitMaskPosition)
addFillValue(positionYValue, CSSInitialValue::createImplicit());
+ if ((properties[i] == CSSPropertyBackgroundOrigin || properties[i] == CSSPropertyWebkitMaskOrigin) && !parsedProperty[i]) {
+ // If background-origin wasn't present, then reset background-clip also.
+ addFillValue(clipValue, CSSInitialValue::createImplicit());
+ }
}
parsedProperty[i] = false;
}
@@ -1718,6 +1734,13 @@ bool CSSParser::parseFillShorthand(int propId, const int* properties, int numPro
addFillValue(values[i], val1.release());
if (properties[i] == CSSPropertyBackgroundPosition || properties[i] == CSSPropertyWebkitMaskPosition)
addFillValue(positionYValue, val2.release());
+ if (properties[i] == CSSPropertyBackgroundOrigin || properties[i] == CSSPropertyWebkitMaskOrigin) {
+ // Reparse the value as a clip, and see if we succeed.
+ if (parseFillProperty(CSSPropertyBackgroundClip, propId1, propId2, val1, val2))
+ addFillValue(clipValue, val1.release()); // The property parsed successfully.
+ else
+ addFillValue(clipValue, CSSInitialValue::createImplicit()); // Some value was used for origin that is not supported by clip. Just reset clip instead.
+ }
}
}
}
@@ -1734,6 +1757,10 @@ bool CSSParser::parseFillShorthand(int propId, const int* properties, int numPro
addFillValue(values[i], CSSInitialValue::createImplicit());
if (properties[i] == CSSPropertyBackgroundPosition || properties[i] == CSSPropertyWebkitMaskPosition)
addFillValue(positionYValue, CSSInitialValue::createImplicit());
+ if ((properties[i] == CSSPropertyBackgroundOrigin || properties[i] == CSSPropertyWebkitMaskOrigin) && !parsedProperty[i]) {
+ // If background-origin wasn't present, then reset background-clip also.
+ addFillValue(clipValue, CSSInitialValue::createImplicit());
+ }
}
}
@@ -1749,8 +1776,14 @@ bool CSSParser::parseFillShorthand(int propId, const int* properties, int numPro
addProperty(CSSPropertyWebkitMaskPositionY, positionYValue.release(), important);
} else
addProperty(properties[i], values[i].release(), important);
+
+ // Add in clip values when we hit the corresponding origin property.
+ if (properties[i] == CSSPropertyBackgroundOrigin)
+ addProperty(CSSPropertyBackgroundClip, clipValue.release(), important);
+ else if (properties[i] == CSSPropertyWebkitMaskOrigin)
+ addProperty(CSSPropertyWebkitMaskClip, clipValue.release(), important);
}
-
+
return true;
}
@@ -1999,8 +2032,9 @@ bool CSSParser::parseContent(int propId, bool important)
RefPtr<CSSValue> parsedValue;
if (val->unit == CSSPrimitiveValue::CSS_URI && m_styleSheet) {
// url
- String value = parseURL(val->string);
- parsedValue = CSSImageValue::create(m_styleSheet->completeURL(value));
+ // FIXME: The completeURL call should be done when using the CSSImageValue,
+ // not when creating it.
+ parsedValue = CSSImageValue::create(m_styleSheet->completeURL(val->string));
} else if (val->unit == CSSParserValue::Function) {
// attr(X) | counter(X [,Y]) | counters(X, Y, [,Z]) | -webkit-gradient(...)
CSSParserValueList* args = val->function->args;
@@ -2089,9 +2123,10 @@ bool CSSParser::parseFillImage(RefPtr<CSSValue>& value)
return true;
}
if (m_valueList->current()->unit == CSSPrimitiveValue::CSS_URI) {
- String uri = parseURL(m_valueList->current()->string);
- if (!uri.isNull() && m_styleSheet)
- value = CSSImageValue::create(m_styleSheet->completeURL(uri));
+ // FIXME: The completeURL call should be done when using the CSSImageValue,
+ // not when creating it.
+ if (m_styleSheet)
+ value = CSSImageValue::create(m_styleSheet->completeURL(m_valueList->current()->string));
return true;
}
@@ -2101,6 +2136,7 @@ bool CSSParser::parseFillImage(RefPtr<CSSValue>& value)
if (equalIgnoringCase(m_valueList->current()->function->name, "-webkit-canvas("))
return parseCanvas(value);
}
+
return false;
}
@@ -2245,7 +2281,7 @@ bool CSSParser::parseFillProperty(int propId, int& propId1, int& propId2,
break;
case CSSPropertyBackgroundAttachment:
case CSSPropertyWebkitMaskAttachment:
- if (val->id == CSSValueScroll || val->id == CSSValueFixed) {
+ if (val->id == CSSValueScroll || val->id == CSSValueFixed || val->id == CSSValueLocal) {
currValue = CSSPrimitiveValue::createIdentifier(val->id);
m_valueList->next();
}
@@ -2259,10 +2295,24 @@ bool CSSParser::parseFillProperty(int propId, int& propId1, int& propId2,
case CSSPropertyWebkitBackgroundOrigin:
case CSSPropertyWebkitMaskClip:
case CSSPropertyWebkitMaskOrigin:
- // The first three values here are deprecated and should not be allowed to apply when we drop the -webkit-
- // from the property names.
+ // The first three values here are deprecated and do not apply to the version of the property that has
+ // the -webkit- prefix removed.
if (val->id == CSSValueBorder || val->id == CSSValuePadding || val->id == CSSValueContent ||
- val->id == CSSValueBorderBox || val->id == CSSValuePaddingBox || val->id == CSSValueContentBox || val->id == CSSValueText) {
+ val->id == CSSValueBorderBox || val->id == CSSValuePaddingBox || val->id == CSSValueContentBox ||
+ ((propId == CSSPropertyWebkitBackgroundClip || propId == CSSPropertyWebkitMaskClip) &&
+ (val->id == CSSValueText || val->id == CSSValueWebkitText))) {
+ currValue = CSSPrimitiveValue::createIdentifier(val->id);
+ m_valueList->next();
+ }
+ break;
+ case CSSPropertyBackgroundClip:
+ if (val->id == CSSValueBorderBox || val->id == CSSValuePaddingBox || val->id == CSSValueWebkitText) {
+ currValue = CSSPrimitiveValue::createIdentifier(val->id);
+ m_valueList->next();
+ }
+ break;
+ case CSSPropertyBackgroundOrigin:
+ if (val->id == CSSValueBorderBox || val->id == CSSValuePaddingBox || val->id == CSSValueContentBox) {
currValue = CSSPrimitiveValue::createIdentifier(val->id);
m_valueList->next();
}
@@ -2576,7 +2626,7 @@ bool CSSParser::parseAnimationProperty(int propId, RefPtr<CSSValue>& result)
#define DASHBOARD_REGION_NUM_PARAMETERS 6
#define DASHBOARD_REGION_SHORT_NUM_PARAMETERS 2
-static CSSParserValue* skipCommaInDashboardRegion (CSSParserValueList *args)
+static CSSParserValue* skipCommaInDashboardRegion(CSSParserValueList *args)
{
if (args->size() == (DASHBOARD_REGION_NUM_PARAMETERS*2-1) ||
args->size() == (DASHBOARD_REGION_SHORT_NUM_PARAMETERS*2-1)) {
@@ -2631,7 +2681,7 @@ bool CSSParser::parseDashboardRegions(int propId, bool important)
int numArgs = args->size();
if ((numArgs != DASHBOARD_REGION_NUM_PARAMETERS && numArgs != (DASHBOARD_REGION_NUM_PARAMETERS*2-1)) &&
- (numArgs != DASHBOARD_REGION_SHORT_NUM_PARAMETERS && numArgs != (DASHBOARD_REGION_SHORT_NUM_PARAMETERS*2-1))){
+ (numArgs != DASHBOARD_REGION_SHORT_NUM_PARAMETERS && numArgs != (DASHBOARD_REGION_SHORT_NUM_PARAMETERS*2-1))) {
valid = false;
break;
}
@@ -2647,7 +2697,7 @@ bool CSSParser::parseDashboardRegions(int propId, bool important)
// Second arg is a type.
arg = args->next();
- arg = skipCommaInDashboardRegion (args);
+ arg = skipCommaInDashboardRegion(args);
if (arg->unit != CSSPrimitiveValue::CSS_IDENT) {
valid = false;
break;
@@ -2677,7 +2727,7 @@ bool CSSParser::parseDashboardRegions(int propId, bool important)
int i;
for (i = 0; i < 4; i++) {
arg = args->next();
- arg = skipCommaInDashboardRegion (args);
+ arg = skipCommaInDashboardRegion(args);
valid = arg->id == CSSValueAuto || validUnit(arg, FLength, m_strict);
if (!valid)
@@ -3142,8 +3192,9 @@ bool CSSParser::parseFontFaceSrc()
while ((val = m_valueList->current())) {
RefPtr<CSSFontFaceSrcValue> parsedValue;
if (val->unit == CSSPrimitiveValue::CSS_URI && !expectComma && m_styleSheet) {
- String value = parseURL(val->string);
- parsedValue = CSSFontFaceSrcValue::create(m_styleSheet->completeURL(value));
+ // FIXME: The completeURL call should be done when using the CSSFontFaceSrcValue,
+ // not when creating it.
+ parsedValue = CSSFontFaceSrcValue::create(m_styleSheet->completeURL(val->string));
uriValue = parsedValue;
allowFormat = true;
expectComma = true;
@@ -3428,74 +3479,125 @@ bool CSSParser::parseColorFromValue(CSSParserValue* value, RGBA32& c, bool svg)
// This class tracks parsing state for shadow values. If it goes out of scope (e.g., due to an early return)
// without the allowBreak bit being set, then it will clean up all of the objects and destroy them.
struct ShadowParseContext {
- ShadowParseContext()
- : allowX(true)
- , allowY(false)
- , allowBlur(false)
- , allowColor(true)
- , allowBreak(true)
- {}
+ ShadowParseContext(CSSPropertyID prop)
+ : property(prop)
+ , allowX(true)
+ , allowY(false)
+ , allowBlur(false)
+ , allowSpread(false)
+ , allowColor(true)
+ , allowStyle(prop == CSSPropertyBoxShadow)
+ , allowBreak(true)
+ {
+ }
- bool allowLength() { return allowX || allowY || allowBlur; }
+ bool allowLength() { return allowX || allowY || allowBlur || allowSpread; }
- void commitValue() {
+ void commitValue()
+ {
// Handle the ,, case gracefully by doing nothing.
- if (x || y || blur || color) {
+ if (x || y || blur || spread || color || style) {
if (!values)
values = CSSValueList::createCommaSeparated();
-
+
// Construct the current shadow value and add it to the list.
- values->append(ShadowValue::create(x.release(), y.release(), blur.release(), color.release()));
+ values->append(ShadowValue::create(x.release(), y.release(), blur.release(), spread.release(), style.release(), color.release()));
}
-
- // Now reset for the next shadow value.
- x = y = blur = color = 0;
- allowX = allowColor = allowBreak = true;
- allowY = allowBlur = false;
- }
- void commitLength(CSSParserValue* v) {
+ // Now reset for the next shadow value.
+ x = 0;
+ y = 0;
+ blur = 0;
+ spread = 0;
+ style = 0;
+ color = 0;
+
+ allowX = true;
+ allowColor = true;
+ allowBreak = true;
+ allowY = false;
+ allowBlur = false;
+ allowSpread = false;
+ allowStyle = property == CSSPropertyBoxShadow;
+ }
+
+ void commitLength(CSSParserValue* v)
+ {
RefPtr<CSSPrimitiveValue> val = CSSPrimitiveValue::create(v->fValue, (CSSPrimitiveValue::UnitTypes)v->unit);
if (allowX) {
x = val.release();
- allowX = false; allowY = true; allowColor = false; allowBreak = false;
- }
- else if (allowY) {
+ allowX = false;
+ allowY = true;
+ allowColor = false;
+ allowStyle = false;
+ allowBreak = false;
+ } else if (allowY) {
y = val.release();
- allowY = false; allowBlur = true; allowColor = true; allowBreak = true;
- }
- else if (allowBlur) {
+ allowY = false;
+ allowBlur = true;
+ allowColor = true;
+ allowStyle = property == CSSPropertyBoxShadow;
+ allowBreak = true;
+ } else if (allowBlur) {
blur = val.release();
allowBlur = false;
+ allowSpread = property == CSSPropertyBoxShadow;
+ } else if (allowSpread) {
+ spread = val.release();
+ allowSpread = false;
}
}
- void commitColor(PassRefPtr<CSSPrimitiveValue> val) {
+ void commitColor(PassRefPtr<CSSPrimitiveValue> val)
+ {
color = val;
allowColor = false;
+ if (allowX) {
+ allowStyle = false;
+ allowBreak = false;
+ } else {
+ allowBlur = false;
+ allowSpread = false;
+ allowStyle = property == CSSPropertyBoxShadow;
+ }
+ }
+
+ void commitStyle(CSSParserValue* v)
+ {
+ style = CSSPrimitiveValue::createIdentifier(v->id);
+ allowStyle = false;
if (allowX)
allowBreak = false;
- else
+ else {
allowBlur = false;
+ allowSpread = false;
+ allowColor = false;
+ }
}
-
+
+ CSSPropertyID property;
+
RefPtr<CSSValueList> values;
RefPtr<CSSPrimitiveValue> x;
RefPtr<CSSPrimitiveValue> y;
RefPtr<CSSPrimitiveValue> blur;
+ RefPtr<CSSPrimitiveValue> spread;
+ RefPtr<CSSPrimitiveValue> style;
RefPtr<CSSPrimitiveValue> color;
bool allowX;
bool allowY;
bool allowBlur;
+ bool allowSpread;
bool allowColor;
+ bool allowStyle;
bool allowBreak;
};
bool CSSParser::parseShadow(int propId, bool important)
{
- ShadowParseContext context;
+ ShadowParseContext context(static_cast<CSSPropertyID>(propId));
CSSParserValue* val;
while ((val = m_valueList->current())) {
// Check for a comma break first.
@@ -3507,17 +3609,19 @@ bool CSSParser::parseShadow(int propId, bool important)
// The value is good. Commit it.
context.commitValue();
- }
- // Check to see if we're a length.
- else if (validUnit(val, FLength, true)) {
+ } else if (validUnit(val, FLength, true)) {
// We required a length and didn't get one. Invalid.
if (!context.allowLength())
return false;
// A length is allowed here. Construct the value and add it.
context.commitLength(val);
- }
- else {
+ } else if (val->id == CSSValueInset) {
+ if (!context.allowStyle)
+ return false;
+
+ context.commitStyle(val);
+ } else {
// The only other type of value that's ok is a color value.
RefPtr<CSSPrimitiveValue> parsedColor;
bool isColor = ((val->id >= CSSValueAqua && val->id <= CSSValueWindowtext) || val->id == CSSValueMenu ||
@@ -3538,7 +3642,7 @@ bool CSSParser::parseShadow(int propId, bool important)
context.commitColor(parsedColor.release());
}
-
+
m_valueList->next();
}
@@ -3550,7 +3654,7 @@ bool CSSParser::parseShadow(int propId, bool important)
return true;
}
}
-
+
return false;
}
@@ -3603,8 +3707,7 @@ bool CSSParser::parseReflect(int propId, bool important)
return true;
}
-struct BorderImageParseContext
-{
+struct BorderImageParseContext {
BorderImageParseContext()
: m_allowBreak(false)
, m_allowNumber(false)
@@ -3626,7 +3729,8 @@ struct BorderImageParseContext
bool allowRule() const { return m_allowRule; }
void commitImage(PassRefPtr<CSSValue> image) { m_image = image; m_allowNumber = true; }
- void commitNumber(CSSParserValue* v) {
+ void commitNumber(CSSParserValue* v)
+ {
PassRefPtr<CSSPrimitiveValue> val = CSSPrimitiveValue::create(v->fValue, (CSSPrimitiveValue::UnitTypes)v->unit);
if (!m_top)
m_top = val;
@@ -3643,7 +3747,8 @@ struct BorderImageParseContext
m_allowNumber = !m_left;
}
void commitSlash() { m_allowBreak = m_allowSlash = m_allowNumber = false; m_allowWidth = true; }
- void commitWidth(CSSParserValue* val) {
+ void commitWidth(CSSParserValue* val)
+ {
if (!m_borderTop)
m_borderTop = val;
else if (!m_borderRight)
@@ -3658,14 +3763,16 @@ struct BorderImageParseContext
m_allowBreak = m_allowRule = true;
m_allowWidth = !m_borderLeft;
}
- void commitRule(int keyword) {
+ void commitRule(int keyword)
+ {
if (!m_horizontalRule)
m_horizontalRule = keyword;
else if (!m_verticalRule)
m_verticalRule = keyword;
m_allowRule = !m_verticalRule;
}
- PassRefPtr<CSSValue> commitBorderImage(CSSParser* p, bool important) {
+ PassRefPtr<CSSValue> commitBorderImage(CSSParser* p, bool important)
+ {
// We need to clone and repeat values for any omissions.
if (!m_right) {
m_right = CSSPrimitiveValue::create(m_top->getDoubleValue(), (CSSPrimitiveValue::UnitTypes)m_top->primitiveType());
@@ -3742,11 +3849,10 @@ bool CSSParser::parseBorderImage(int propId, bool important, RefPtr<CSSValue>& r
// Look for an image initially. If the first value is not a URI, then we're done.
BorderImageParseContext context;
CSSParserValue* val = m_valueList->current();
- if (val->unit == CSSPrimitiveValue::CSS_URI && m_styleSheet) {
- String uri = parseURL(val->string);
- if (uri.isNull())
- return false;
- context.commitImage(CSSImageValue::create(m_styleSheet->completeURL(uri)));
+ if (val->unit == CSSPrimitiveValue::CSS_URI && m_styleSheet) {
+ // FIXME: The completeURL call should be done when using the CSSImageValue,
+ // not when creating it.
+ context.commitImage(CSSImageValue::create(m_styleSheet->completeURL(val->string)));
} else if (val->unit == CSSParserValue::Function) {
RefPtr<CSSValue> value;
if ((equalIgnoringCase(val->function->name, "-webkit-gradient(") && parseGradient(value)) ||
@@ -4291,7 +4397,7 @@ int CSSParser::lex(void* yylvalWithoutType)
int length;
UChar* t = text(&length);
- switch(token) {
+ switch (token) {
case WHITESPACE:
case SGML_CD:
case INCLUDES:
@@ -4332,6 +4438,7 @@ int CSSParser::lex(void* yylvalWithoutType)
case DEGS:
case RADS:
case KHERZ:
+ case REMS:
length--;
case MSECS:
case HERZ:
@@ -4359,22 +4466,16 @@ int CSSParser::lex(void* yylvalWithoutType)
return token;
}
-static inline int toHex(char c)
+static inline bool isCSSWhitespace(UChar c)
{
- if ('0' <= c && c <= '9')
- return c - '0';
- if ('a' <= c && c <= 'f')
- return c - 'a' + 10;
- if ('A' <= c && c<= 'F')
- return c - 'A' + 10;
- return 0;
+ return c == ' ' || c == '\t' || c == '\r' || c == '\n' || c == '\f';
}
UChar* CSSParser::text(int *length)
{
UChar* start = yytext;
int l = yyleng;
- switch(yyTok) {
+ switch (yyTok) {
case STRING:
l--;
/* nobreak */
@@ -4386,27 +4487,21 @@ UChar* CSSParser::text(int *length)
case URI:
// "url("{w}{string}{w}")"
// "url("{w}{url}{w}")"
-
// strip "url(" and ")"
start += 4;
l -= 5;
// strip {w}
- while (l &&
- (*start == ' ' || *start == '\t' || *start == '\r' ||
- *start == '\n' || *start == '\f')) {
- start++; l--;
- }
- if (*start == '"' || *start == '\'') {
- start++; l--;
+ while (l && isCSSWhitespace(*start)) {
+ ++start;
+ --l;
}
- while (l &&
- (start[l-1] == ' ' || start[l-1] == '\t' || start[l-1] == '\r' ||
- start[l-1] == '\n' || start[l-1] == '\f')) {
- l--;
+ while (l && isCSSWhitespace(start[l - 1]))
+ --l;
+ if (l && (*start == '"' || *start == '\'')) {
+ ASSERT(l >= 2 && start[l - 1] == *start);
+ ++start;
+ l -= 2;
}
- if (l && (start[l-1] == '\"' || start[l-1] == '\''))
- l--;
-
break;
case VARCALL:
// "-webkit-var("{w}{ident}{w}")"
@@ -4414,16 +4509,13 @@ UChar* CSSParser::text(int *length)
start += 12;
l -= 13;
// strip {w}
- while (l &&
- (*start == ' ' || *start == '\t' || *start == '\r' ||
- *start == '\n' || *start == '\f')) {
- start++; l--;
- }
- while (l &&
- (start[l-1] == ' ' || start[l-1] == '\t' || start[l-1] == '\r' ||
- start[l-1] == '\n' || start[l-1] == '\f')) {
- l--;
+ while (l && isCSSWhitespace(*start)) {
+ ++start;
+ --l;
}
+ while (l && isCSSWhitespace(start[l - 1]))
+ --l;
+ break;
default:
break;
}
@@ -4435,9 +4527,7 @@ UChar* CSSParser::text(int *length)
for (int i = 0; i < l; i++) {
UChar* current = start + i;
if (escape == current - 1) {
- if ((*current >= '0' && *current <= '9') ||
- (*current >= 'a' && *current <= 'f') ||
- (*current >= 'A' && *current <= 'F'))
+ if (isASCIIHexDigit(*current))
continue;
if (yyTok == STRING &&
(*current == '\n' || *current == '\r' || *current == '\f')) {
@@ -4457,10 +4547,7 @@ UChar* CSSParser::text(int *length)
escape = 0;
continue;
}
- if (escape > current - 7 &&
- ((*current >= '0' && *current <= '9') ||
- (*current >= 'a' && *current <= 'f') ||
- (*current >= 'A' && *current <= 'F')))
+ if (escape > current - 7 && isASCIIHexDigit(*current))
continue;
if (escape) {
// add escaped char
@@ -4468,7 +4555,7 @@ UChar* CSSParser::text(int *length)
escape++;
while (escape < current) {
uc *= 16;
- uc += toHex(*escape);
+ uc += toASCIIHexValue(*escape);
escape++;
}
// can't handle chars outside ucs2
@@ -4476,11 +4563,7 @@ UChar* CSSParser::text(int *length)
uc = 0xfffd;
*out++ = uc;
escape = 0;
- if (*current == ' ' ||
- *current == '\t' ||
- *current == '\r' ||
- *current == '\n' ||
- *current == '\f')
+ if (isCSSWhitespace(*current))
continue;
}
if (!escape && *current == '\\') {
@@ -4495,7 +4578,7 @@ UChar* CSSParser::text(int *length)
escape++;
while (escape < start+l) {
uc *= 16;
- uc += toHex(*escape);
+ uc += toASCIIHexValue(*escape);
escape++;
}
// can't handle chars outside ucs2
@@ -4893,12 +4976,19 @@ static int cssPropertyID(const UChar* propertyName, unsigned length)
++length;
}
- // Honor -webkit-opacity as a synonym for opacity.
- // This was the only syntax that worked in Safari 1.1, and may be in use on some websites and widgets.
- if (strcmp(buffer, "-webkit-opacity") == 0) {
- const char * const opacity = "opacity";
- name = opacity;
- length = strlen(opacity);
+ if (hasPrefix(buffer, length, "-webkit")) {
+ if (strcmp(buffer, "-webkit-opacity") == 0) {
+ // Honor -webkit-opacity as a synonym for opacity.
+ // This was the only syntax that worked in Safari 1.1, and may be in use on some websites and widgets.
+ const char* const opacity = "opacity";
+ name = opacity;
+ length = strlen(opacity);
+ } else if (strcmp(buffer, "-webkit-box-shadow") == 0) {
+ // CSS Backgrounds/Borders. -webkit-box-shadow worked in Safari 4 and earlier.
+ const char* const boxShadow = "box-shadow";
+ name = boxShadow;
+ length = strlen(boxShadow);
+ }
}
}
diff --git a/src/3rdparty/webkit/WebCore/css/CSSParser.h b/src/3rdparty/webkit/WebCore/css/CSSParser.h
index d47720f..d4b92f5 100644
--- a/src/3rdparty/webkit/WebCore/css/CSSParser.h
+++ b/src/3rdparty/webkit/WebCore/css/CSSParser.h
@@ -191,7 +191,6 @@ namespace WebCore {
Vector<CSSSelector*>* reusableSelectorVector() { return &m_reusableSelectorVector; }
- public:
bool m_strict;
bool m_important;
int m_id;
@@ -217,7 +216,6 @@ namespace WebCore {
AtomicString m_defaultNamespace;
// tokenizer methods and data
- public:
int lex(void* yylval);
int token() { return yyTok; }
UChar* text(int* length);
diff --git a/src/3rdparty/webkit/WebCore/css/CSSParserValues.cpp b/src/3rdparty/webkit/WebCore/css/CSSParserValues.cpp
index dbfae78..55ecb7f 100644
--- a/src/3rdparty/webkit/WebCore/css/CSSParserValues.cpp
+++ b/src/3rdparty/webkit/WebCore/css/CSSParserValues.cpp
@@ -73,6 +73,8 @@ PassRefPtr<CSSValue> CSSParserValue::createCSSValue()
parsedValue = CSSPrimitiveValue::create(string, (CSSPrimitiveValue::UnitTypes)unit);
else if (unit >= CSSPrimitiveValue::CSS_NUMBER && unit <= CSSPrimitiveValue::CSS_KHZ)
parsedValue = CSSPrimitiveValue::create(fValue, (CSSPrimitiveValue::UnitTypes)unit);
+ else if (unit >= CSSPrimitiveValue::CSS_TURN && unit <= CSSPrimitiveValue::CSS_REMS) // CSS3 Values and Units
+ parsedValue = CSSPrimitiveValue::create(fValue, (CSSPrimitiveValue::UnitTypes)unit);
else if (unit >= CSSParserValue::Q_EMS)
parsedValue = CSSQuirkPrimitiveValue::create(fValue, CSSPrimitiveValue::CSS_EMS);
return parsedValue;
diff --git a/src/3rdparty/webkit/WebCore/css/CSSPrimitiveValue.cpp b/src/3rdparty/webkit/WebCore/css/CSSPrimitiveValue.cpp
index 15c5a01..6343dac 100644
--- a/src/3rdparty/webkit/WebCore/css/CSSPrimitiveValue.cpp
+++ b/src/3rdparty/webkit/WebCore/css/CSSPrimitiveValue.cpp
@@ -30,6 +30,7 @@
#include "ExceptionCode.h"
#include "Node.h"
#include "Pair.h"
+#include "RGBColor.h"
#include "Rect.h"
#include "RenderStyle.h"
#include <wtf/ASCIICType.h>
@@ -318,9 +319,9 @@ void CSSPrimitiveValue::cleanup()
m_type = 0;
}
-int CSSPrimitiveValue::computeLengthInt(RenderStyle* style)
+int CSSPrimitiveValue::computeLengthInt(RenderStyle* style, RenderStyle* rootStyle)
{
- double result = computeLengthDouble(style);
+ double result = computeLengthDouble(style, rootStyle);
// This conversion is imprecise, often resulting in values of, e.g., 44.99998. We
// need to go ahead and round if we're really close to the next integer value.
@@ -331,9 +332,9 @@ int CSSPrimitiveValue::computeLengthInt(RenderStyle* style)
return static_cast<int>(result);
}
-int CSSPrimitiveValue::computeLengthInt(RenderStyle* style, double multiplier)
+int CSSPrimitiveValue::computeLengthInt(RenderStyle* style, RenderStyle* rootStyle, double multiplier)
{
- double result = computeLengthDouble(style, multiplier);
+ double result = computeLengthDouble(style, rootStyle, multiplier);
// This conversion is imprecise, often resulting in values of, e.g., 44.99998. We
// need to go ahead and round if we're really close to the next integer value.
@@ -348,9 +349,9 @@ const int intMaxForLength = 0x7ffffff; // max value for a 28-bit int
const int intMinForLength = (-0x7ffffff - 1); // min value for a 28-bit int
// Lengths expect an int that is only 28-bits, so we have to check for a different overflow.
-int CSSPrimitiveValue::computeLengthIntForLength(RenderStyle* style)
+int CSSPrimitiveValue::computeLengthIntForLength(RenderStyle* style, RenderStyle* rootStyle)
{
- double result = computeLengthDouble(style);
+ double result = computeLengthDouble(style, rootStyle);
// This conversion is imprecise, often resulting in values of, e.g., 44.99998. We
// need to go ahead and round if we're really close to the next integer value.
@@ -362,9 +363,9 @@ int CSSPrimitiveValue::computeLengthIntForLength(RenderStyle* style)
}
// Lengths expect an int that is only 28-bits, so we have to check for a different overflow.
-int CSSPrimitiveValue::computeLengthIntForLength(RenderStyle* style, double multiplier)
+int CSSPrimitiveValue::computeLengthIntForLength(RenderStyle* style, RenderStyle* rootStyle, double multiplier)
{
- double result = computeLengthDouble(style, multiplier);
+ double result = computeLengthDouble(style, rootStyle, multiplier);
// This conversion is imprecise, often resulting in values of, e.g., 44.99998. We
// need to go ahead and round if we're really close to the next integer value.
@@ -375,9 +376,9 @@ int CSSPrimitiveValue::computeLengthIntForLength(RenderStyle* style, double mult
return static_cast<int>(result);
}
-short CSSPrimitiveValue::computeLengthShort(RenderStyle* style)
+short CSSPrimitiveValue::computeLengthShort(RenderStyle* style, RenderStyle* rootStyle)
{
- double result = computeLengthDouble(style);
+ double result = computeLengthDouble(style, rootStyle);
// This conversion is imprecise, often resulting in values of, e.g., 44.99998. We
// need to go ahead and round if we're really close to the next integer value.
@@ -388,9 +389,9 @@ short CSSPrimitiveValue::computeLengthShort(RenderStyle* style)
return static_cast<short>(result);
}
-short CSSPrimitiveValue::computeLengthShort(RenderStyle* style, double multiplier)
+short CSSPrimitiveValue::computeLengthShort(RenderStyle* style, RenderStyle* rootStyle, double multiplier)
{
- double result = computeLengthDouble(style, multiplier);
+ double result = computeLengthDouble(style, rootStyle, multiplier);
// This conversion is imprecise, often resulting in values of, e.g., 44.99998. We
// need to go ahead and round if we're really close to the next integer value.
@@ -401,17 +402,17 @@ short CSSPrimitiveValue::computeLengthShort(RenderStyle* style, double multiplie
return static_cast<short>(result);
}
-float CSSPrimitiveValue::computeLengthFloat(RenderStyle* style, bool computingFontSize)
+float CSSPrimitiveValue::computeLengthFloat(RenderStyle* style, RenderStyle* rootStyle, bool computingFontSize)
{
- return static_cast<float>(computeLengthDouble(style, 1.0, computingFontSize));
+ return static_cast<float>(computeLengthDouble(style, rootStyle, 1.0, computingFontSize));
}
-float CSSPrimitiveValue::computeLengthFloat(RenderStyle* style, double multiplier, bool computingFontSize)
+float CSSPrimitiveValue::computeLengthFloat(RenderStyle* style, RenderStyle* rootStyle, double multiplier, bool computingFontSize)
{
- return static_cast<float>(computeLengthDouble(style, multiplier, computingFontSize));
+ return static_cast<float>(computeLengthDouble(style, rootStyle, multiplier, computingFontSize));
}
-double CSSPrimitiveValue::computeLengthDouble(RenderStyle* style, double multiplier, bool computingFontSize)
+double CSSPrimitiveValue::computeLengthDouble(RenderStyle* style, RenderStyle* rootStyle, double multiplier, bool computingFontSize)
{
unsigned short type = primitiveType();
@@ -434,6 +435,10 @@ double CSSPrimitiveValue::computeLengthDouble(RenderStyle* style, double multipl
applyZoomMultiplier = false;
factor = style->font().xHeight();
break;
+ case CSS_REMS:
+ applyZoomMultiplier = false;
+ factor = computingFontSize ? rootStyle->fontDescription().specifiedSize() : rootStyle->fontDescription().computedSize();
+ break;
case CSS_PX:
break;
case CSS_CM:
@@ -638,7 +643,7 @@ Rect* CSSPrimitiveValue::getRectValue(ExceptionCode& ec) const
return m_value.rect;
}
-unsigned CSSPrimitiveValue::getRGBColorValue(ExceptionCode& ec) const
+RGBColor* CSSPrimitiveValue::getRGBColorValue(ExceptionCode& ec) const
{
ec = 0;
if (m_type != CSS_RGBCOLOR) {
@@ -646,7 +651,8 @@ unsigned CSSPrimitiveValue::getRGBColorValue(ExceptionCode& ec) const
return 0;
}
- return m_value.rgbcolor;
+ // FIMXE: This should not return a new object for each invocation.
+ return RGBColor::create(m_value.rgbcolor).releaseRef();
}
Pair* CSSPrimitiveValue::getPairValue(ExceptionCode& ec) const
@@ -700,6 +706,9 @@ String CSSPrimitiveValue::cssText() const
case CSS_EXS:
text = String::format("%.6lgex", m_value.num);
break;
+ case CSS_REMS:
+ text = String::format("%.6lgrem", m_value.num);
+ break;
case CSS_PX:
text = String::format("%.6lgpx", m_value.num);
break;
@@ -892,6 +901,7 @@ CSSParserValue CSSPrimitiveValue::parserValue() const
case CSS_PERCENTAGE:
case CSS_EMS:
case CSS_EXS:
+ case CSS_REMS:
case CSS_PX:
case CSS_CM:
case CSS_MM:
diff --git a/src/3rdparty/webkit/WebCore/css/CSSPrimitiveValue.h b/src/3rdparty/webkit/WebCore/css/CSSPrimitiveValue.h
index 8abeb4d..85a0ba3 100644
--- a/src/3rdparty/webkit/WebCore/css/CSSPrimitiveValue.h
+++ b/src/3rdparty/webkit/WebCore/css/CSSPrimitiveValue.h
@@ -23,6 +23,7 @@
#define CSSPrimitiveValue_h
#include "CSSValue.h"
+#include "Color.h"
#include <wtf/PassRefPtr.h>
namespace WebCore {
@@ -30,6 +31,7 @@ namespace WebCore {
class Counter;
class DashboardRegion;
class Pair;
+class RGBColor;
class Rect;
class RenderStyle;
class StringImpl;
@@ -78,11 +80,13 @@ public:
// This is used internally for unknown identifiers
CSS_PARSER_IDENTIFIER = 107,
- // This unit is in CSS 3, but that isn't a finished standard yet
- CSS_TURN = 108
+ // These are from CSS3 Values and Units, but that isn't a finished standard yet
+ CSS_TURN = 108,
+ CSS_REMS = 109
};
- static bool isUnitTypeLength(int type) { return type > CSSPrimitiveValue::CSS_PERCENTAGE && type < CSSPrimitiveValue::CSS_DEG; }
+ static bool isUnitTypeLength(int type) { return (type > CSSPrimitiveValue::CSS_PERCENTAGE && type < CSSPrimitiveValue::CSS_DEG) ||
+ type == CSSPrimitiveValue::CSS_REMS; }
static PassRefPtr<CSSPrimitiveValue> createIdentifier(int ident);
static PassRefPtr<CSSPrimitiveValue> createColor(unsigned rgbValue);
@@ -112,15 +116,15 @@ public:
* this is screen/printer dependent, so we probably need a config option for this,
* and some tool to calibrate.
*/
- int computeLengthInt(RenderStyle*);
- int computeLengthInt(RenderStyle*, double multiplier);
- int computeLengthIntForLength(RenderStyle*);
- int computeLengthIntForLength(RenderStyle*, double multiplier);
- short computeLengthShort(RenderStyle*);
- short computeLengthShort(RenderStyle*, double multiplier);
- float computeLengthFloat(RenderStyle*, bool computingFontSize = false);
- float computeLengthFloat(RenderStyle*, double multiplier, bool computingFontSize = false);
- double computeLengthDouble(RenderStyle*, double multiplier = 1.0, bool computingFontSize = false);
+ int computeLengthInt(RenderStyle* currStyle, RenderStyle* rootStyle);
+ int computeLengthInt(RenderStyle* currStyle, RenderStyle* rootStyle, double multiplier);
+ int computeLengthIntForLength(RenderStyle* currStyle, RenderStyle* rootStyle);
+ int computeLengthIntForLength(RenderStyle* currStyle, RenderStyle* rootStyle, double multiplier);
+ short computeLengthShort(RenderStyle* currStyle, RenderStyle* rootStyle);
+ short computeLengthShort(RenderStyle* currStyle, RenderStyle* rootStyle, double multiplier);
+ float computeLengthFloat(RenderStyle* currStyle, RenderStyle* rootStyle, bool computingFontSize = false);
+ float computeLengthFloat(RenderStyle* currStyle, RenderStyle* rootStyle, double multiplier, bool computingFontSize = false);
+ double computeLengthDouble(RenderStyle* currentStyle, RenderStyle* rootStyle, double multiplier = 1.0, bool computingFontSize = false);
// use with care!!!
void setPrimitiveType(unsigned short type) { m_type = type; }
@@ -148,8 +152,8 @@ public:
Rect* getRectValue(ExceptionCode&) const;
Rect* getRectValue() const { return m_type != CSS_RECT ? 0 : m_value.rect; }
- unsigned getRGBColorValue(ExceptionCode&) const;
- unsigned getRGBColorValue() const { return m_type != CSS_RGBCOLOR ? 0 : m_value.rgbcolor; }
+ RGBColor* getRGBColorValue(ExceptionCode&) const;
+ RGBA32 getRGBA32Value() const { return m_type != CSS_RGBCOLOR ? 0 : m_value.rgbcolor; }
Pair* getPairValue(ExceptionCode&) const;
Pair* getPairValue() const { return m_type != CSS_PAIR ? 0 : m_value.pair; }
diff --git a/src/3rdparty/webkit/WebCore/css/CSSPrimitiveValueMappings.h b/src/3rdparty/webkit/WebCore/css/CSSPrimitiveValueMappings.h
index fd1d203..69cfbb1 100644
--- a/src/3rdparty/webkit/WebCore/css/CSSPrimitiveValueMappings.h
+++ b/src/3rdparty/webkit/WebCore/css/CSSPrimitiveValueMappings.h
@@ -215,14 +215,20 @@ template<> inline CSSPrimitiveValue::CSSPrimitiveValue(ControlPart e)
case MediaSeekForwardButtonPart:
m_value.ident = CSSValueMediaSeekForwardButton;
break;
+ case MediaRewindButtonPart:
+ m_value.ident = CSSValueMediaRewindButton;
+ break;
+ case MediaReturnToRealtimeButtonPart:
+ m_value.ident = CSSValueMediaReturnToRealtimeButton;
+ break;
case MediaSliderPart:
m_value.ident = CSSValueMediaSlider;
break;
case MediaSliderThumbPart:
m_value.ident = CSSValueMediaSliderthumb;
break;
- case MediaTimelineContainerPart:
- m_value.ident = CSSValueMediaTimelineContainer;
+ case MediaControlsBackgroundPart:
+ m_value.ident = CSSValueMediaControlsBackground;
break;
case MediaCurrentTimePart:
m_value.ident = CSSValueMediaCurrentTimeDisplay;
@@ -292,6 +298,37 @@ template<> inline CSSPrimitiveValue::operator ControlPart() const
return ControlPart(m_value.ident - CSSValueCheckbox + 1);
}
+template<> inline CSSPrimitiveValue::CSSPrimitiveValue(EFillAttachment e)
+ : m_type(CSS_IDENT)
+{
+ switch (e) {
+ case ScrollBackgroundAttachment:
+ m_value.ident = CSSValueScroll;
+ break;
+ case LocalBackgroundAttachment:
+ m_value.ident = CSSValueLocal;
+ break;
+ case FixedBackgroundAttachment:
+ m_value.ident = CSSValueFixed;
+ break;
+ }
+}
+
+template<> inline CSSPrimitiveValue::operator EFillAttachment() const
+{
+ switch (m_value.ident) {
+ case CSSValueScroll:
+ return ScrollBackgroundAttachment;
+ case CSSValueLocal:
+ return LocalBackgroundAttachment;
+ case CSSValueFixed:
+ return FixedBackgroundAttachment;
+ default:
+ ASSERT_NOT_REACHED();
+ return ScrollBackgroundAttachment;
+ }
+}
+
template<> inline CSSPrimitiveValue::CSSPrimitiveValue(EFillBox e)
: m_type(CSS_IDENT)
{
diff --git a/src/3rdparty/webkit/WebCore/css/CSSPropertyLonghand.cpp b/src/3rdparty/webkit/WebCore/css/CSSPropertyLonghand.cpp
index 310f90e..a907235 100644
--- a/src/3rdparty/webkit/WebCore/css/CSSPropertyLonghand.cpp
+++ b/src/3rdparty/webkit/WebCore/css/CSSPropertyLonghand.cpp
@@ -128,10 +128,10 @@ static void initShorthandMap(ShorthandMap& shorthandMap)
static const int backgroundProperties[] = {
CSSPropertyBackgroundAttachment,
- CSSPropertyWebkitBackgroundClip,
+ CSSPropertyBackgroundClip,
CSSPropertyBackgroundColor,
CSSPropertyBackgroundImage,
- CSSPropertyWebkitBackgroundOrigin,
+ CSSPropertyBackgroundOrigin,
CSSPropertyBackgroundPositionX,
CSSPropertyBackgroundPositionY,
CSSPropertyBackgroundRepeat,
diff --git a/src/3rdparty/webkit/WebCore/css/CSSPropertyNames.in b/src/3rdparty/webkit/WebCore/css/CSSPropertyNames.in
index df17d97..49b2c3c 100644
--- a/src/3rdparty/webkit/WebCore/css/CSSPropertyNames.in
+++ b/src/3rdparty/webkit/WebCore/css/CSSPropertyNames.in
@@ -10,8 +10,10 @@
background
background-attachment
+background-clip
background-color
background-image
+background-origin
background-position
background-position-x
background-position-y
@@ -39,6 +41,7 @@ border-top-style
border-top-width
border-width
bottom
+box-shadow
caption-side
clear
clip
@@ -168,7 +171,6 @@ zoom
-webkit-box-orient
-webkit-box-pack
-webkit-box-reflect
--webkit-box-shadow
-webkit-box-sizing
-webkit-column-break-after
-webkit-column-break-before
diff --git a/src/3rdparty/webkit/WebCore/css/CSSRule.idl b/src/3rdparty/webkit/WebCore/css/CSSRule.idl
index f13f293..bc57e55 100644
--- a/src/3rdparty/webkit/WebCore/css/CSSRule.idl
+++ b/src/3rdparty/webkit/WebCore/css/CSSRule.idl
@@ -22,6 +22,7 @@ module css {
// Introduced in DOM Level 2:
interface [
+ CustomToJS,
GenerateConstructor,
Polymorphic,
InterfaceUUID=548139b4-31ab-4978-b1d5-cfcfdfbaea0e,
diff --git a/src/3rdparty/webkit/WebCore/css/CSSSelector.cpp b/src/3rdparty/webkit/WebCore/css/CSSSelector.cpp
index 17fbd64..80910a7 100644
--- a/src/3rdparty/webkit/WebCore/css/CSSSelector.cpp
+++ b/src/3rdparty/webkit/WebCore/css/CSSSelector.cpp
@@ -107,6 +107,9 @@ void CSSSelector::extractPseudoType() const
DEFINE_STATIC_LOCAL(AtomicString, mediaControlsTimeline, ("-webkit-media-controls-timeline"));
DEFINE_STATIC_LOCAL(AtomicString, mediaControlsSeekBackButton, ("-webkit-media-controls-seek-back-button"));
DEFINE_STATIC_LOCAL(AtomicString, mediaControlsSeekForwardButton, ("-webkit-media-controls-seek-forward-button"));
+ DEFINE_STATIC_LOCAL(AtomicString, mediaControlsRewindButton, ("-webkit-media-controls-rewind-button"));
+ DEFINE_STATIC_LOCAL(AtomicString, mediaControlsReturnToRealtimeButton, ("-webkit-media-controls-return-to-realtime-button"));
+ DEFINE_STATIC_LOCAL(AtomicString, mediaControlsStatusDisplay, ("-webkit-media-controls-status-display"));
DEFINE_STATIC_LOCAL(AtomicString, mediaControlsFullscreenButton, ("-webkit-media-controls-fullscreen-button"));
DEFINE_STATIC_LOCAL(AtomicString, mediaControlsTimelineContainer, ("-webkit-media-controls-timeline-container"));
DEFINE_STATIC_LOCAL(AtomicString, mediaControlsCurrentTimeDisplay, ("-webkit-media-controls-current-time-display"));
@@ -114,6 +117,8 @@ void CSSSelector::extractPseudoType() const
DEFINE_STATIC_LOCAL(AtomicString, notStr, ("not("));
DEFINE_STATIC_LOCAL(AtomicString, onlyChild, ("only-child"));
DEFINE_STATIC_LOCAL(AtomicString, onlyOfType, ("only-of-type"));
+ DEFINE_STATIC_LOCAL(AtomicString, optional, ("optional"));
+ DEFINE_STATIC_LOCAL(AtomicString, required, ("required"));
DEFINE_STATIC_LOCAL(AtomicString, resizer, ("-webkit-resizer"));
DEFINE_STATIC_LOCAL(AtomicString, root, ("root"));
DEFINE_STATIC_LOCAL(AtomicString, scrollbar, ("-webkit-scrollbar"));
@@ -236,6 +241,15 @@ void CSSSelector::extractPseudoType() const
} else if (m_value == mediaControlsSeekForwardButton) {
m_pseudoType = PseudoMediaControlsSeekForwardButton;
element = true;
+ } else if (m_value == mediaControlsRewindButton) {
+ m_pseudoType = PseudoMediaControlsRewindButton;
+ element = true;
+ } else if (m_value == mediaControlsReturnToRealtimeButton) {
+ m_pseudoType = PseudoMediaControlsReturnToRealtimeButton;
+ element = true;
+ } else if (m_value == mediaControlsStatusDisplay) {
+ m_pseudoType = PseudoMediaControlsStatusDisplay;
+ element = true;
} else if (m_value == mediaControlsFullscreenButton) {
m_pseudoType = PseudoMediaControlsFullscreenButton;
element = true;
@@ -274,6 +288,10 @@ void CSSSelector::extractPseudoType() const
m_pseudoType = PseudoSingleButton;
else if (m_value == noButton)
m_pseudoType = PseudoNoButton;
+ else if (m_value == optional)
+ m_pseudoType = PseudoOptional;
+ else if (m_value == required)
+ m_pseudoType = PseudoRequired;
else if (m_value == scrollbarCorner) {
element = true;
m_pseudoType = PseudoScrollbarCorner;
diff --git a/src/3rdparty/webkit/WebCore/css/CSSSelector.h b/src/3rdparty/webkit/WebCore/css/CSSSelector.h
index 728c34d..18251fd 100644
--- a/src/3rdparty/webkit/WebCore/css/CSSSelector.h
+++ b/src/3rdparty/webkit/WebCore/css/CSSSelector.h
@@ -31,7 +31,7 @@
namespace WebCore {
// this class represents a selector for a StyleRule
- class CSSSelector : Noncopyable {
+ class CSSSelector : public Noncopyable {
public:
CSSSelector()
: m_tag(anyQName())
@@ -128,6 +128,8 @@ namespace WebCore {
PseudoFullPageMedia,
PseudoDisabled,
PseudoInputPlaceholder,
+ PseudoOptional,
+ PseudoRequired,
PseudoReadOnly,
PseudoReadWrite,
PseudoIndeterminate,
@@ -173,6 +175,9 @@ namespace WebCore {
PseudoMediaControlsTimeline,
PseudoMediaControlsSeekBackButton,
PseudoMediaControlsSeekForwardButton,
+ PseudoMediaControlsRewindButton,
+ PseudoMediaControlsReturnToRealtimeButton,
+ PseudoMediaControlsStatusDisplay,
PseudoMediaControlsFullscreenButton
};
diff --git a/src/3rdparty/webkit/WebCore/css/CSSSelectorList.h b/src/3rdparty/webkit/WebCore/css/CSSSelectorList.h
index 7a41fcf..3518139 100644
--- a/src/3rdparty/webkit/WebCore/css/CSSSelectorList.h
+++ b/src/3rdparty/webkit/WebCore/css/CSSSelectorList.h
@@ -31,7 +31,7 @@
namespace WebCore {
- class CSSSelectorList : Noncopyable {
+ class CSSSelectorList : public Noncopyable {
public:
CSSSelectorList() : m_selectorArray(0) { }
~CSSSelectorList();
diff --git a/src/3rdparty/webkit/WebCore/css/CSSStyleSelector.cpp b/src/3rdparty/webkit/WebCore/css/CSSStyleSelector.cpp
index ce4c343..49e2c36 100644
--- a/src/3rdparty/webkit/WebCore/css/CSSStyleSelector.cpp
+++ b/src/3rdparty/webkit/WebCore/css/CSSStyleSelector.cpp
@@ -2,7 +2,7 @@
* Copyright (C) 1999 Lars Knoll (knoll@kde.org)
* (C) 2004-2005 Allan Sandfeld Jensen (kde@carewolf.com)
* Copyright (C) 2006, 2007 Nicholas Shanks (webkit@nickshanks.com)
- * Copyright (C) 2005, 2006, 2007, 2008 Apple Inc. All rights reserved.
+ * Copyright (C) 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserved.
* Copyright (C) 2007 Alexey Proskuryakov <ap@webkit.org>
* Copyright (C) 2007, 2008 Eric Seidel <eric@webkit.org>
* Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.torchmobile.com/)
@@ -526,7 +526,7 @@ static void loadFullDefaultStyle()
}
// Strict-mode rules.
- String defaultRules = String(html4UserAgentStyleSheet, sizeof(html4UserAgentStyleSheet)) + RenderTheme::defaultTheme()->extraDefaultStyleSheet();
+ String defaultRules = String(htmlUserAgentStyleSheet, sizeof(htmlUserAgentStyleSheet)) + RenderTheme::defaultTheme()->extraDefaultStyleSheet();
CSSStyleSheet* defaultSheet = parseUASheet(defaultRules);
defaultStyle->addRulesFromSheet(defaultSheet, screenEval());
defaultPrintStyle->addRulesFromSheet(defaultSheet, printEval());
@@ -822,6 +822,10 @@ void CSSStyleSelector::initForStyleResolve(Element* e, RenderStyle* parentStyle,
else
m_parentStyle = m_parentNode ? m_parentNode->renderStyle() : 0;
+ Node* docElement = e ? e->document()->documentElement() : 0;
+ RenderStyle* docStyle = m_checker.m_document->renderStyle();
+ m_rootElementStyle = docElement && e != docElement ? docElement->renderStyle() : docStyle;
+
m_style = 0;
m_matchedDecls.clear();
@@ -1405,6 +1409,22 @@ PassRefPtr<RenderStyle> CSSStyleSelector::pseudoStyleForElement(PseudoId pseudo,
return m_style.release();
}
+#if ENABLE(DATAGRID)
+
+PassRefPtr<RenderStyle> CSSStyleSelector::pseudoStyleForDataGridColumn(DataGridColumn*, RenderStyle*)
+{
+ // FIXME: Implement
+ return 0;
+}
+
+PassRefPtr<RenderStyle> CSSStyleSelector::pseudoStyleForDataGridColumnHeader(DataGridColumn*, RenderStyle*)
+{
+ // FIXME: Implement
+ return 0;
+}
+
+#endif
+
static void addIntrinsicMargins(RenderStyle* style)
{
// Intrinsic margin value.
@@ -2355,6 +2375,10 @@ bool CSSStyleSelector::SelectorChecker::checkOneSelector(CSSSelector* sel, Eleme
return false;
return e->isTextFormControl() && !e->isReadOnlyFormControl();
}
+ case CSSSelector::PseudoOptional:
+ return e && e->isOptionalFormControl();
+ case CSSSelector::PseudoRequired:
+ return e && e->isRequiredFormControl();
case CSSSelector::PseudoChecked: {
if (!e || !e->isFormControlElement())
break;
@@ -2481,6 +2505,15 @@ bool CSSStyleSelector::SelectorChecker::checkOneSelector(CSSSelector* sel, Eleme
case CSSSelector::PseudoMediaControlsSeekForwardButton:
dynamicPseudo = MEDIA_CONTROLS_SEEK_FORWARD_BUTTON;
return true;
+ case CSSSelector::PseudoMediaControlsRewindButton:
+ dynamicPseudo = MEDIA_CONTROLS_REWIND_BUTTON;
+ return true;
+ case CSSSelector::PseudoMediaControlsReturnToRealtimeButton:
+ dynamicPseudo = MEDIA_CONTROLS_RETURN_TO_REALTIME_BUTTON;
+ return true;
+ case CSSSelector::PseudoMediaControlsStatusDisplay:
+ dynamicPseudo = MEDIA_CONTROLS_STATUS_DISPLAY;
+ return true;
case CSSSelector::PseudoMediaControlsFullscreenButton:
dynamicPseudo = MEDIA_CONTROLS_FULLSCREEN_BUTTON;
return true;
@@ -2728,7 +2761,7 @@ void CSSRuleSet::addRulesFromSheet(CSSStyleSheet* sheet, const MediaQueryEvaluat
// -------------------------------------------------------------------------------------
// this is mostly boring stuff on how to apply a certain rule to the renderstyle...
-static Length convertToLength(CSSPrimitiveValue *primitiveValue, RenderStyle *style, double multiplier = 1, bool *ok = 0)
+static Length convertToLength(CSSPrimitiveValue* primitiveValue, RenderStyle* style, RenderStyle* rootStyle, double multiplier = 1, bool *ok = 0)
{
// This function is tolerant of a null style value. The only place style is used is in
// length measurements, like 'ems' and 'px'. And in those cases style is only used
@@ -2740,11 +2773,11 @@ static Length convertToLength(CSSPrimitiveValue *primitiveValue, RenderStyle *st
} else {
int type = primitiveValue->primitiveType();
- if (!style && (type == CSSPrimitiveValue::CSS_EMS || type == CSSPrimitiveValue::CSS_EXS)) {
+ if (!style && (type == CSSPrimitiveValue::CSS_EMS || type == CSSPrimitiveValue::CSS_EXS || type == CSSPrimitiveValue::CSS_REMS)) {
if (ok)
*ok = false;
} else if (CSSPrimitiveValue::isUnitTypeLength(type))
- l = Length(primitiveValue->computeLengthIntForLength(style, multiplier), Fixed);
+ l = Length(primitiveValue->computeLengthIntForLength(style, rootStyle, multiplier), Fixed);
else if (type == CSSPrimitiveValue::CSS_PERCENTAGE)
l = Length(primitiveValue->getDoubleValue(), Percent);
else if (type == CSSPrimitiveValue::CSS_NUMBER)
@@ -2871,12 +2904,14 @@ void CSSStyleSelector::applyProperty(int id, CSSValue *value)
case CSSPropertyBackgroundAttachment:
HANDLE_BACKGROUND_VALUE(attachment, Attachment, value)
return;
+ case CSSPropertyBackgroundClip:
case CSSPropertyWebkitBackgroundClip:
HANDLE_BACKGROUND_VALUE(clip, Clip, value)
return;
case CSSPropertyWebkitBackgroundComposite:
HANDLE_BACKGROUND_VALUE(composite, Composite, value)
return;
+ case CSSPropertyBackgroundOrigin:
case CSSPropertyWebkitBackgroundOrigin:
HANDLE_BACKGROUND_VALUE(origin, Origin, value)
return;
@@ -3182,7 +3217,7 @@ void CSSStyleSelector::applyProperty(int id, CSSValue *value)
HANDLE_INHERIT_AND_INITIAL(horizontalBorderSpacing, HorizontalBorderSpacing)
if (!primitiveValue)
return;
- short spacing = primitiveValue->computeLengthShort(style(), zoomFactor);
+ short spacing = primitiveValue->computeLengthShort(style(), m_rootElementStyle, zoomFactor);
m_style->setHorizontalBorderSpacing(spacing);
return;
}
@@ -3190,7 +3225,7 @@ void CSSStyleSelector::applyProperty(int id, CSSValue *value)
HANDLE_INHERIT_AND_INITIAL(verticalBorderSpacing, VerticalBorderSpacing)
if (!primitiveValue)
return;
- short spacing = primitiveValue->computeLengthShort(style(), zoomFactor);
+ short spacing = primitiveValue->computeLengthShort(style(), m_rootElementStyle, zoomFactor);
m_style->setVerticalBorderSpacing(spacing);
return;
}
@@ -3365,7 +3400,7 @@ void CSSStyleSelector::applyProperty(int id, CSSValue *value)
width = 5;
break;
case CSSValueInvalid:
- width = primitiveValue->computeLengthShort(style(), zoomFactor);
+ width = primitiveValue->computeLengthShort(style(), m_rootElementStyle, zoomFactor);
break;
default:
return;
@@ -3413,12 +3448,12 @@ void CSSStyleSelector::applyProperty(int id, CSSValue *value)
}
int width = 0;
- if (primitiveValue && primitiveValue->getIdent() == CSSValueNormal){
+ if (primitiveValue && primitiveValue->getIdent() == CSSValueNormal) {
width = 0;
} else {
if (!primitiveValue)
return;
- width = primitiveValue->computeLengthInt(style(), zoomFactor);
+ width = primitiveValue->computeLengthInt(style(), m_rootElementStyle, zoomFactor);
}
switch (id) {
case CSSPropertyLetterSpacing:
@@ -3545,7 +3580,7 @@ void CSSStyleSelector::applyProperty(int id, CSSValue *value)
int type = primitiveValue->primitiveType();
if (CSSPrimitiveValue::isUnitTypeLength(type))
// Handle our quirky margin units if we have them.
- l = Length(primitiveValue->computeLengthIntForLength(style(), zoomFactor), Fixed,
+ l = Length(primitiveValue->computeLengthIntForLength(style(), m_rootElementStyle, zoomFactor), Fixed,
primitiveValue->isQuirkValue());
else if (type == CSSPrimitiveValue::CSS_PERCENTAGE)
l = Length(primitiveValue->getDoubleValue(), Percent);
@@ -3645,7 +3680,7 @@ void CSSStyleSelector::applyProperty(int id, CSSValue *value)
if (primitiveValue && !apply) {
unsigned short type = primitiveValue->primitiveType();
if (CSSPrimitiveValue::isUnitTypeLength(type))
- l = Length(primitiveValue->computeLengthIntForLength(style(), zoomFactor), Fixed);
+ l = Length(primitiveValue->computeLengthIntForLength(style(), m_rootElementStyle, zoomFactor), Fixed);
else if (type == CSSPrimitiveValue::CSS_PERCENTAGE)
l = Length(primitiveValue->getDoubleValue(), Percent);
else
@@ -3701,7 +3736,7 @@ void CSSStyleSelector::applyProperty(int id, CSSValue *value)
int type = primitiveValue->primitiveType();
Length l;
if (CSSPrimitiveValue::isUnitTypeLength(type))
- l = Length(primitiveValue->computeLengthIntForLength(style(), zoomFactor), Fixed);
+ l = Length(primitiveValue->computeLengthIntForLength(style(), m_rootElementStyle, zoomFactor), Fixed);
else if (type == CSSPrimitiveValue::CSS_PERCENTAGE)
l = Length(primitiveValue->getDoubleValue(), Percent);
@@ -3763,9 +3798,10 @@ void CSSStyleSelector::applyProperty(int id, CSSValue *value)
fontDescription.setIsAbsoluteSize(parentIsAbsoluteSize ||
(type != CSSPrimitiveValue::CSS_PERCENTAGE &&
type != CSSPrimitiveValue::CSS_EMS &&
- type != CSSPrimitiveValue::CSS_EXS));
+ type != CSSPrimitiveValue::CSS_EXS &&
+ type != CSSPrimitiveValue::CSS_REMS));
if (CSSPrimitiveValue::isUnitTypeLength(type))
- size = primitiveValue->computeLengthFloat(m_parentStyle, true);
+ size = primitiveValue->computeLengthFloat(m_parentStyle, m_rootElementStyle, true);
else if (type == CSSPrimitiveValue::CSS_PERCENTAGE)
size = (primitiveValue->getFloatValue() * oldSize) / 100.0f;
else
@@ -3831,7 +3867,7 @@ void CSSStyleSelector::applyProperty(int id, CSSValue *value)
double multiplier = m_style->effectiveZoom();
if (m_style->textSizeAdjust() && m_checker.m_document->frame() && m_checker.m_document->frame()->shouldApplyTextZoom())
multiplier *= m_checker.m_document->frame()->textZoomFactor();
- lineHeight = Length(primitiveValue->computeLengthIntForLength(style(), multiplier), Fixed);
+ lineHeight = Length(primitiveValue->computeLengthIntForLength(style(), m_rootElementStyle, multiplier), Fixed);
} else if (type == CSSPrimitiveValue::CSS_PERCENTAGE)
lineHeight = Length((m_style->fontSize() * primitiveValue->getIntValue()) / 100, Fixed);
else if (type == CSSPrimitiveValue::CSS_NUMBER)
@@ -3885,10 +3921,10 @@ void CSSStyleSelector::applyProperty(int id, CSSValue *value)
Rect* rect = primitiveValue->getRectValue();
if (!rect)
return;
- top = convertToLength(rect->top(), style(), zoomFactor);
- right = convertToLength(rect->right(), style(), zoomFactor);
- bottom = convertToLength(rect->bottom(), style(), zoomFactor);
- left = convertToLength(rect->left(), style(), zoomFactor);
+ top = convertToLength(rect->top(), style(), m_rootElementStyle, zoomFactor);
+ right = convertToLength(rect->right(), style(), m_rootElementStyle, zoomFactor);
+ bottom = convertToLength(rect->bottom(), style(), m_rootElementStyle, zoomFactor);
+ left = convertToLength(rect->left(), style(), m_rootElementStyle, zoomFactor);
} else if (primitiveValue->getIdent() != CSSValueAuto) {
return;
}
@@ -4449,8 +4485,8 @@ void CSSStyleSelector::applyProperty(int id, CSSValue *value)
if (!pair)
return;
- int width = pair->first()->computeLengthInt(style(), zoomFactor);
- int height = pair->second()->computeLengthInt(style(), zoomFactor);
+ int width = pair->first()->computeLengthInt(style(), m_rootElementStyle, zoomFactor);
+ int height = pair->second()->computeLengthInt(style(), m_rootElementStyle, zoomFactor);
if (width < 0 || height < 0)
return;
@@ -4482,11 +4518,11 @@ void CSSStyleSelector::applyProperty(int id, CSSValue *value)
case CSSPropertyOutlineOffset:
HANDLE_INHERIT_AND_INITIAL(outlineOffset, OutlineOffset)
- m_style->setOutlineOffset(primitiveValue->computeLengthInt(style(), zoomFactor));
+ m_style->setOutlineOffset(primitiveValue->computeLengthInt(style(), m_rootElementStyle, zoomFactor));
return;
case CSSPropertyTextShadow:
- case CSSPropertyWebkitBoxShadow: {
+ case CSSPropertyBoxShadow: {
if (isInherit) {
if (id == CSSPropertyTextShadow)
return m_style->setTextShadow(m_parentStyle->textShadow() ? new ShadowData(*m_parentStyle->textShadow()) : 0);
@@ -4502,13 +4538,15 @@ void CSSStyleSelector::applyProperty(int id, CSSValue *value)
int len = list->length();
for (int i = 0; i < len; i++) {
ShadowValue* item = static_cast<ShadowValue*>(list->itemWithoutBoundsCheck(i));
- int x = item->x->computeLengthInt(style(), zoomFactor);
- int y = item->y->computeLengthInt(style(), zoomFactor);
- int blur = item->blur ? item->blur->computeLengthInt(style(), zoomFactor) : 0;
+ int x = item->x->computeLengthInt(style(), m_rootElementStyle, zoomFactor);
+ int y = item->y->computeLengthInt(style(), m_rootElementStyle, zoomFactor);
+ int blur = item->blur ? item->blur->computeLengthInt(style(), m_rootElementStyle, zoomFactor) : 0;
+ int spread = item->spread ? item->spread->computeLengthInt(style(), m_rootElementStyle, zoomFactor) : 0;
+ ShadowStyle shadowStyle = item->style && item->style->getIdent() == CSSValueInset ? Inset : Normal;
Color color;
if (item->color)
color = getColorFromPrimitiveValue(item->color.get());
- ShadowData* shadowData = new ShadowData(x, y, blur, color.isValid() ? color : Color::transparent);
+ ShadowData* shadowData = new ShadowData(x, y, blur, spread, shadowStyle, color.isValid() ? color : Color::transparent);
if (id == CSSPropertyTextShadow)
m_style->setTextShadow(shadowData, i != 0);
else
@@ -4530,7 +4568,7 @@ void CSSStyleSelector::applyProperty(int id, CSSValue *value)
if (type == CSSPrimitiveValue::CSS_PERCENTAGE)
reflection->setOffset(Length(reflectValue->offset()->getDoubleValue(), Percent));
else
- reflection->setOffset(Length(reflectValue->offset()->computeLengthIntForLength(style(), zoomFactor), Fixed));
+ reflection->setOffset(Length(reflectValue->offset()->computeLengthIntForLength(style(), m_rootElementStyle, zoomFactor), Fixed));
}
NinePieceImage mask;
mapNinePieceImage(reflectValue->mask(), mask);
@@ -4636,7 +4674,7 @@ void CSSStyleSelector::applyProperty(int id, CSSValue *value)
m_style->setHasNormalColumnGap();
return;
}
- m_style->setColumnGap(primitiveValue->computeLengthFloat(style(), zoomFactor));
+ m_style->setColumnGap(primitiveValue->computeLengthFloat(style(), m_rootElementStyle, zoomFactor));
return;
}
case CSSPropertyWebkitColumnWidth: {
@@ -4650,7 +4688,7 @@ void CSSStyleSelector::applyProperty(int id, CSSValue *value)
m_style->setHasAutoColumnWidth();
return;
}
- m_style->setColumnWidth(primitiveValue->computeLengthFloat(style(), zoomFactor));
+ m_style->setColumnWidth(primitiveValue->computeLengthFloat(style(), m_rootElementStyle, zoomFactor));
return;
}
case CSSPropertyWebkitColumnRuleStyle:
@@ -4752,7 +4790,7 @@ void CSSStyleSelector::applyProperty(int id, CSSValue *value)
}
else {
bool ok = true;
- Length l = convertToLength(primitiveValue, style(), 1, &ok);
+ Length l = convertToLength(primitiveValue, style(), m_rootElementStyle, 1, &ok);
if (ok)
m_style->setMarqueeIncrement(l);
}
@@ -4854,10 +4892,10 @@ void CSSStyleSelector::applyProperty(int id, CSSValue *value)
DashboardRegion *first = region;
while (region) {
- Length top = convertToLength(region->top(), style());
- Length right = convertToLength(region->right(), style());
- Length bottom = convertToLength(region->bottom(), style());
- Length left = convertToLength(region->left(), style());
+ Length top = convertToLength(region->top(), style(), m_rootElementStyle);
+ Length right = convertToLength(region->right(), style(), m_rootElementStyle);
+ Length bottom = convertToLength(region->bottom(), style(), m_rootElementStyle);
+ Length left = convertToLength(region->left(), style(), m_rootElementStyle);
if (region->m_isCircle)
m_style->setDashboardRegion(StyleDashboardRegion::Circle, region->m_label, top, right, bottom, left, region == first ? false : true);
else if (region->m_isRectangle)
@@ -4888,11 +4926,11 @@ void CSSStyleSelector::applyProperty(int id, CSSValue *value)
result *= 3;
else if (primitiveValue->getIdent() == CSSValueThick)
result *= 5;
- width = CSSPrimitiveValue::create(result, CSSPrimitiveValue::CSS_EMS)->computeLengthFloat(style(), zoomFactor);
+ width = CSSPrimitiveValue::create(result, CSSPrimitiveValue::CSS_EMS)->computeLengthFloat(style(), m_rootElementStyle, zoomFactor);
break;
}
default:
- width = primitiveValue->computeLengthFloat(style(), zoomFactor);
+ width = primitiveValue->computeLengthFloat(style(), m_rootElementStyle, zoomFactor);
break;
}
m_style->setTextStrokeWidth(width);
@@ -4901,7 +4939,7 @@ void CSSStyleSelector::applyProperty(int id, CSSValue *value)
case CSSPropertyWebkitTransform: {
HANDLE_INHERIT_AND_INITIAL(transform, Transform);
TransformOperations operations;
- createTransformOperations(value, style(), operations);
+ createTransformOperations(value, style(), m_rootElementStyle, operations);
m_style->setTransform(operations);
return;
}
@@ -4916,7 +4954,7 @@ void CSSStyleSelector::applyProperty(int id, CSSValue *value)
Length l;
int type = primitiveValue->primitiveType();
if (CSSPrimitiveValue::isUnitTypeLength(type))
- l = Length(primitiveValue->computeLengthIntForLength(style(), zoomFactor), Fixed);
+ l = Length(primitiveValue->computeLengthIntForLength(style(), m_rootElementStyle, zoomFactor), Fixed);
else if (type == CSSPrimitiveValue::CSS_PERCENTAGE)
l = Length(primitiveValue->getDoubleValue(), Percent);
else
@@ -4930,8 +4968,8 @@ void CSSStyleSelector::applyProperty(int id, CSSValue *value)
Length l;
int type = primitiveValue->primitiveType();
if (CSSPrimitiveValue::isUnitTypeLength(type))
- l = Length(primitiveValue->computeLengthIntForLength(style(), zoomFactor), Fixed);
- else if(type == CSSPrimitiveValue::CSS_PERCENTAGE)
+ l = Length(primitiveValue->computeLengthIntForLength(style(), m_rootElementStyle, zoomFactor), Fixed);
+ else if (type == CSSPrimitiveValue::CSS_PERCENTAGE)
l = Length(primitiveValue->getDoubleValue(), Percent);
else
return;
@@ -4944,7 +4982,7 @@ void CSSStyleSelector::applyProperty(int id, CSSValue *value)
float f;
int type = primitiveValue->primitiveType();
if (CSSPrimitiveValue::isUnitTypeLength(type))
- f = static_cast<float>(primitiveValue->computeLengthIntForLength(style()));
+ f = static_cast<float>(primitiveValue->computeLengthIntForLength(style(), m_rootElementStyle));
else
return;
m_style->setTransformOriginZ(f);
@@ -4961,10 +4999,17 @@ void CSSStyleSelector::applyProperty(int id, CSSValue *value)
m_style->setPerspective(0);
return;
}
-
- if (primitiveValue->primitiveType() != CSSPrimitiveValue::CSS_NUMBER)
+
+ float perspectiveValue;
+ int type = primitiveValue->primitiveType();
+ if (CSSPrimitiveValue::isUnitTypeLength(type))
+ perspectiveValue = static_cast<float>(primitiveValue->computeLengthIntForLength(style(), m_rootElementStyle, zoomFactor));
+ else if (type == CSSPrimitiveValue::CSS_NUMBER) {
+ // For backward compatibility, treat valueless numbers as px.
+ perspectiveValue = CSSPrimitiveValue::create(primitiveValue->getDoubleValue(), CSSPrimitiveValue::CSS_PX)->computeLengthFloat(style(), m_rootElementStyle, zoomFactor);
+ } else
return;
- float perspectiveValue = static_cast<float>(primitiveValue->getDoubleValue());
+
if (perspectiveValue >= 0.0f)
m_style->setPerspective(perspectiveValue);
return;
@@ -4979,7 +5024,7 @@ void CSSStyleSelector::applyProperty(int id, CSSValue *value)
Length l;
int type = primitiveValue->primitiveType();
if (CSSPrimitiveValue::isUnitTypeLength(type))
- l = Length(primitiveValue->computeLengthIntForLength(style(), zoomFactor), Fixed);
+ l = Length(primitiveValue->computeLengthIntForLength(style(), m_rootElementStyle, zoomFactor), Fixed);
else if (type == CSSPrimitiveValue::CSS_PERCENTAGE)
l = Length(primitiveValue->getDoubleValue(), Percent);
else
@@ -4993,8 +5038,8 @@ void CSSStyleSelector::applyProperty(int id, CSSValue *value)
Length l;
int type = primitiveValue->primitiveType();
if (CSSPrimitiveValue::isUnitTypeLength(type))
- l = Length(primitiveValue->computeLengthIntForLength(style(), zoomFactor), Fixed);
- else if(type == CSSPrimitiveValue::CSS_PERCENTAGE)
+ l = Length(primitiveValue->computeLengthIntForLength(style(), m_rootElementStyle, zoomFactor), Fixed);
+ else if (type == CSSPrimitiveValue::CSS_PERCENTAGE)
l = Length(primitiveValue->getDoubleValue(), Percent);
else
return;
@@ -5107,10 +5152,13 @@ void CSSStyleSelector::mapFillAttachment(FillLayer* layer, CSSValue* value)
CSSPrimitiveValue* primitiveValue = static_cast<CSSPrimitiveValue*>(value);
switch (primitiveValue->getIdent()) {
case CSSValueFixed:
- layer->setAttachment(false);
+ layer->setAttachment(FixedBackgroundAttachment);
break;
case CSSValueScroll:
- layer->setAttachment(true);
+ layer->setAttachment(ScrollBackgroundAttachment);
+ break;
+ case CSSValueLocal:
+ layer->setAttachment(LocalBackgroundAttachment);
break;
default:
return;
@@ -5224,7 +5272,7 @@ void CSSStyleSelector::mapFillSize(FillLayer* layer, CSSValue* value)
if (firstType == CSSPrimitiveValue::CSS_UNKNOWN)
firstLength = Length(Auto);
else if (CSSPrimitiveValue::isUnitTypeLength(firstType))
- firstLength = Length(first->computeLengthIntForLength(style(), zoomFactor), Fixed);
+ firstLength = Length(first->computeLengthIntForLength(style(), m_rootElementStyle, zoomFactor), Fixed);
else if (firstType == CSSPrimitiveValue::CSS_PERCENTAGE)
firstLength = Length(first->getDoubleValue(), Percent);
else
@@ -5233,7 +5281,7 @@ void CSSStyleSelector::mapFillSize(FillLayer* layer, CSSValue* value)
if (secondType == CSSPrimitiveValue::CSS_UNKNOWN)
secondLength = Length(Auto);
else if (CSSPrimitiveValue::isUnitTypeLength(secondType))
- secondLength = Length(second->computeLengthIntForLength(style(), zoomFactor), Fixed);
+ secondLength = Length(second->computeLengthIntForLength(style(), m_rootElementStyle, zoomFactor), Fixed);
else if (secondType == CSSPrimitiveValue::CSS_PERCENTAGE)
secondLength = Length(second->getDoubleValue(), Percent);
else
@@ -5260,7 +5308,7 @@ void CSSStyleSelector::mapFillXPosition(FillLayer* layer, CSSValue* value)
Length l;
int type = primitiveValue->primitiveType();
if (CSSPrimitiveValue::isUnitTypeLength(type))
- l = Length(primitiveValue->computeLengthIntForLength(style(), zoomFactor), Fixed);
+ l = Length(primitiveValue->computeLengthIntForLength(style(), m_rootElementStyle, zoomFactor), Fixed);
else if (type == CSSPrimitiveValue::CSS_PERCENTAGE)
l = Length(primitiveValue->getDoubleValue(), Percent);
else
@@ -5284,7 +5332,7 @@ void CSSStyleSelector::mapFillYPosition(FillLayer* layer, CSSValue* value)
Length l;
int type = primitiveValue->primitiveType();
if (CSSPrimitiveValue::isUnitTypeLength(type))
- l = Length(primitiveValue->computeLengthIntForLength(style(), zoomFactor), Fixed);
+ l = Length(primitiveValue->computeLengthIntForLength(style(), m_rootElementStyle, zoomFactor), Fixed);
else if (type == CSSPrimitiveValue::CSS_PERCENTAGE)
l = Length(primitiveValue->getDoubleValue(), Percent);
else
@@ -5718,13 +5766,13 @@ Color CSSStyleSelector::getColorFromPrimitiveValue(CSSPrimitiveValue* primitiveV
} else if (ident == CSSValueWebkitActivelink)
col = m_element->document()->activeLinkColor();
else if (ident == CSSValueWebkitFocusRingColor)
- col = RenderTheme::defaultTheme()->focusRingColor();
+ col = RenderTheme::focusRingColor();
else if (ident == CSSValueCurrentcolor)
col = m_style->color();
else
col = colorForCSSValue(ident);
} else if (primitiveValue->primitiveType() == CSSPrimitiveValue::CSS_RGBCOLOR)
- col.setRGB(primitiveValue->getRGBColorValue());
+ col.setRGB(primitiveValue->getRGBA32Value());
return col;
}
@@ -5798,7 +5846,7 @@ static TransformOperation::OperationType getTransformOperationType(WebKitCSSTran
return TransformOperation::NONE;
}
-bool CSSStyleSelector::createTransformOperations(CSSValue* inValue, RenderStyle* style, TransformOperations& outOperations)
+bool CSSStyleSelector::createTransformOperations(CSSValue* inValue, RenderStyle* style, RenderStyle* rootStyle, TransformOperations& outOperations)
{
float zoomFactor = style ? style->effectiveZoom() : 1;
@@ -5865,13 +5913,13 @@ bool CSSStyleSelector::createTransformOperations(CSSValue* inValue, RenderStyle*
Length tx = Length(0, Fixed);
Length ty = Length(0, Fixed);
if (val->operationType() == WebKitCSSTransformValue::TranslateYTransformOperation)
- ty = convertToLength(firstValue, style, zoomFactor, &ok);
+ ty = convertToLength(firstValue, style, rootStyle, zoomFactor, &ok);
else {
- tx = convertToLength(firstValue, style, zoomFactor, &ok);
+ tx = convertToLength(firstValue, style, rootStyle, zoomFactor, &ok);
if (val->operationType() != WebKitCSSTransformValue::TranslateXTransformOperation) {
if (val->length() > 1) {
CSSPrimitiveValue* secondValue = static_cast<CSSPrimitiveValue*>(val->itemWithoutBoundsCheck(1));
- ty = convertToLength(secondValue, style, zoomFactor, &ok);
+ ty = convertToLength(secondValue, style, rootStyle, zoomFactor, &ok);
}
}
}
@@ -5889,19 +5937,19 @@ bool CSSStyleSelector::createTransformOperations(CSSValue* inValue, RenderStyle*
Length ty = Length(0, Fixed);
Length tz = Length(0, Fixed);
if (val->operationType() == WebKitCSSTransformValue::TranslateZTransformOperation)
- tz = convertToLength(firstValue, style, zoomFactor, &ok);
+ tz = convertToLength(firstValue, style, rootStyle, zoomFactor, &ok);
else if (val->operationType() == WebKitCSSTransformValue::TranslateYTransformOperation)
- ty = convertToLength(firstValue, style, zoomFactor, &ok);
+ ty = convertToLength(firstValue, style, rootStyle, zoomFactor, &ok);
else {
- tx = convertToLength(firstValue, style, zoomFactor, &ok);
+ tx = convertToLength(firstValue, style, rootStyle, zoomFactor, &ok);
if (val->operationType() != WebKitCSSTransformValue::TranslateXTransformOperation) {
if (val->length() > 2) {
CSSPrimitiveValue* thirdValue = static_cast<CSSPrimitiveValue*>(val->itemWithoutBoundsCheck(2));
- tz = convertToLength(thirdValue, style, zoomFactor, &ok);
+ tz = convertToLength(thirdValue, style, rootStyle, zoomFactor, &ok);
}
if (val->length() > 1) {
CSSPrimitiveValue* secondValue = static_cast<CSSPrimitiveValue*>(val->itemWithoutBoundsCheck(1));
- ty = convertToLength(secondValue, style, zoomFactor, &ok);
+ ty = convertToLength(secondValue, style, rootStyle, zoomFactor, &ok);
}
}
}
diff --git a/src/3rdparty/webkit/WebCore/css/CSSStyleSelector.h b/src/3rdparty/webkit/WebCore/css/CSSStyleSelector.h
index 8dd36d7..d86dd8c 100644
--- a/src/3rdparty/webkit/WebCore/css/CSSStyleSelector.h
+++ b/src/3rdparty/webkit/WebCore/css/CSSStyleSelector.h
@@ -50,6 +50,7 @@ class CSSStyleSheet;
class CSSValue;
class CSSVariableDependentValue;
class CSSVariablesRule;
+class DataGridColumn;
class Document;
class Element;
class Frame;
@@ -77,7 +78,7 @@ public:
};
// This class selects a RenderStyle for a given element based on a collection of stylesheets.
- class CSSStyleSelector : Noncopyable {
+ class CSSStyleSelector : public Noncopyable {
public:
CSSStyleSelector(Document*, const String& userStyleSheet, StyleSheetList*, CSSStyleSheet*, bool strictParsing, bool matchAuthorAndUserStyles);
~CSSStyleSelector();
@@ -89,6 +90,12 @@ public:
PassRefPtr<RenderStyle> pseudoStyleForElement(PseudoId, Element*, RenderStyle* parentStyle = 0);
+#if ENABLE(DATAGRID)
+ // Datagrid style computation (uses unique pseudo elements and structures)
+ PassRefPtr<RenderStyle> pseudoStyleForDataGridColumn(DataGridColumn*, RenderStyle* parentStyle);
+ PassRefPtr<RenderStyle> pseudoStyleForDataGridColumnHeader(DataGridColumn*, RenderStyle* parentStyle);
+#endif
+
private:
RenderStyle* locateSharedStyle();
Node* locateCousinList(Element* parent, unsigned depth = 1);
@@ -145,7 +152,7 @@ public:
void addKeyframeStyle(PassRefPtr<WebKitCSSKeyframesRule> rule);
- static bool createTransformOperations(CSSValue* inValue, RenderStyle* inStyle, TransformOperations& outOperations);
+ static bool createTransformOperations(CSSValue* inValue, RenderStyle* inStyle, RenderStyle* rootStyle, TransformOperations& outOperations);
private:
enum SelectorMatch { SelectorMatches, SelectorFailsLocally, SelectorFailsCompletely };
@@ -259,6 +266,7 @@ public:
RefPtr<RenderStyle> m_style;
RenderStyle* m_parentStyle;
+ RenderStyle* m_rootElementStyle;
Element* m_element;
StyledElement* m_styledElement;
Node* m_parentNode;
diff --git a/src/3rdparty/webkit/WebCore/css/CSSValue.idl b/src/3rdparty/webkit/WebCore/css/CSSValue.idl
index 875d12e..ee82b0c 100644
--- a/src/3rdparty/webkit/WebCore/css/CSSValue.idl
+++ b/src/3rdparty/webkit/WebCore/css/CSSValue.idl
@@ -21,6 +21,7 @@
module css {
interface [
+ CustomToJS,
GenerateConstructor,
Polymorphic,
InterfaceUUID=9fd62a7b-539d-4500-bd6c-ec075abbc404,
diff --git a/src/3rdparty/webkit/WebCore/css/CSSValueKeywords.in b/src/3rdparty/webkit/WebCore/css/CSSValueKeywords.in
index 698dffe..c0b52f2 100644
--- a/src/3rdparty/webkit/WebCore/css/CSSValueKeywords.in
+++ b/src/3rdparty/webkit/WebCore/css/CSSValueKeywords.in
@@ -341,6 +341,7 @@ invert
landscape
level
line-through
+local
loud
lower
-webkit-marquee
@@ -504,9 +505,11 @@ media-mute-button
media-play-button
media-seek-back-button
media-seek-forward-button
+media-rewind-button
+media-return-to-realtime-button
media-slider
media-sliderthumb
-media-timeline-container
+media-controls-background
media-current-time-display
media-time-remaining-display
menulist
@@ -541,17 +544,13 @@ round
# border-box/content-box/padding-box should be used instead.
#
border
+border-box
content
+content-box
padding
padding-box
#
-# CSS_PROP_BOX_SIZING
-#
-border-box
-content-box
-
-#
# CSS_PROP__KHTML_RTL_ORDERING
#
logical
diff --git a/src/3rdparty/webkit/WebCore/css/CSSValueList.cpp b/src/3rdparty/webkit/WebCore/css/CSSValueList.cpp
index b547768..4928026 100644
--- a/src/3rdparty/webkit/WebCore/css/CSSValueList.cpp
+++ b/src/3rdparty/webkit/WebCore/css/CSSValueList.cpp
@@ -70,6 +70,32 @@ void CSSValueList::prepend(PassRefPtr<CSSValue> val)
m_values.prepend(val);
}
+bool CSSValueList::removeAll(CSSValue* val)
+{
+ bool found = false;
+ // FIXME: we should be implementing operator== to CSSValue and its derived classes
+ // to make comparison more flexible and fast.
+ for (size_t index = 0; index < m_values.size(); index++) {
+ if (m_values.at(index)->cssText() == val->cssText()) {
+ m_values.remove(index);
+ found = true;
+ }
+ }
+
+ return found;
+}
+
+bool CSSValueList::hasValue(CSSValue* val)
+{
+ // FIXME: we should be implementing operator== to CSSValue and its derived classes
+ // to make comparison more flexible and fast.
+ for (size_t index = 0; index < m_values.size(); index++) {
+ if (m_values.at(index)->cssText() == val->cssText())
+ return true;
+ }
+ return false;
+}
+
String CSSValueList::cssText() const
{
String result = "";
diff --git a/src/3rdparty/webkit/WebCore/css/CSSValueList.h b/src/3rdparty/webkit/WebCore/css/CSSValueList.h
index d34f445..0d531de 100644
--- a/src/3rdparty/webkit/WebCore/css/CSSValueList.h
+++ b/src/3rdparty/webkit/WebCore/css/CSSValueList.h
@@ -52,6 +52,8 @@ public:
void append(PassRefPtr<CSSValue>);
void prepend(PassRefPtr<CSSValue>);
+ bool removeAll(CSSValue*);
+ bool hasValue(CSSValue*);
virtual String cssText() const;
diff --git a/src/3rdparty/webkit/WebCore/css/MediaList.cpp b/src/3rdparty/webkit/WebCore/css/MediaList.cpp
index 452345f..85cf590 100644
--- a/src/3rdparty/webkit/WebCore/css/MediaList.cpp
+++ b/src/3rdparty/webkit/WebCore/css/MediaList.cpp
@@ -139,7 +139,7 @@ void MediaList::deleteMedium(const String& oldMedium, ExceptionCode& ec)
ec = NOT_FOUND_ERR;
if (oldQuery) {
- for(size_t i = 0; i < m_queries.size(); ++i) {
+ for (size_t i = 0; i < m_queries.size(); ++i) {
MediaQuery* a = m_queries[i];
if (*a == *oldQuery) {
m_queries.remove(i);
diff --git a/src/3rdparty/webkit/WebCore/css/MediaQuery.h b/src/3rdparty/webkit/WebCore/css/MediaQuery.h
index 0aa0da1..ff22d9a 100644
--- a/src/3rdparty/webkit/WebCore/css/MediaQuery.h
+++ b/src/3rdparty/webkit/WebCore/css/MediaQuery.h
@@ -34,8 +34,7 @@
namespace WebCore {
class MediaQueryExp;
-class MediaQuery
-{
+class MediaQuery {
public:
enum Restrictor {
Only, Not, None
diff --git a/src/3rdparty/webkit/WebCore/css/MediaQueryEvaluator.cpp b/src/3rdparty/webkit/WebCore/css/MediaQueryEvaluator.cpp
index c641dfd..4963ed4 100644
--- a/src/3rdparty/webkit/WebCore/css/MediaQueryEvaluator.cpp
+++ b/src/3rdparty/webkit/WebCore/css/MediaQueryEvaluator.cpp
@@ -40,11 +40,17 @@
#include "MediaList.h"
#include "MediaQuery.h"
#include "MediaQueryExp.h"
+#include "NodeRenderStyle.h"
#include "Page.h"
+#include "RenderView.h"
#include "RenderStyle.h"
#include "PlatformScreen.h"
#include <wtf/HashMap.h>
+#if ENABLE(3D_RENDERING)
+#include "RenderLayerCompositor.h"
+#endif
+
namespace WebCore {
using namespace MediaFeatureNames;
@@ -162,7 +168,7 @@ bool MediaQueryEvaluator::eval(const MediaList* mediaList, CSSStyleSelector* sty
static bool parseAspectRatio(CSSValue* value, int& h, int& v)
{
- if (value->isValueList()){
+ if (value->isValueList()) {
CSSValueList* valueList = static_cast<CSSValueList*>(value);
if (valueList->length() == 3) {
CSSValue* i0 = valueList->itemWithoutBoundsCheck(0);
@@ -300,7 +306,8 @@ static bool device_heightMediaFeatureEval(CSSValue* value, RenderStyle* style, F
{
if (value) {
FloatRect sg = screenRect(frame->page()->mainFrame()->view());
- return value->isPrimitiveValue() && compareValue(static_cast<int>(sg.height()), static_cast<CSSPrimitiveValue*>(value)->computeLengthInt(style), op);
+ RenderStyle* rootStyle = frame->document()->documentElement()->renderStyle();
+ return value->isPrimitiveValue() && compareValue(static_cast<int>(sg.height()), static_cast<CSSPrimitiveValue*>(value)->computeLengthInt(style, rootStyle), op);
}
// ({,min-,max-}device-height)
// assume if we have a device, assume non-zero
@@ -311,7 +318,8 @@ static bool device_widthMediaFeatureEval(CSSValue* value, RenderStyle* style, Fr
{
if (value) {
FloatRect sg = screenRect(frame->page()->mainFrame()->view());
- return value->isPrimitiveValue() && compareValue(static_cast<int>(sg.width()), static_cast<CSSPrimitiveValue*>(value)->computeLengthInt(style), op);
+ RenderStyle* rootStyle = frame->document()->documentElement()->renderStyle();
+ return value->isPrimitiveValue() && compareValue(static_cast<int>(sg.width()), static_cast<CSSPrimitiveValue*>(value)->computeLengthInt(style, rootStyle), op);
}
// ({,min-,max-}device-width)
// assume if we have a device, assume non-zero
@@ -321,9 +329,10 @@ static bool device_widthMediaFeatureEval(CSSValue* value, RenderStyle* style, Fr
static bool heightMediaFeatureEval(CSSValue* value, RenderStyle* style, Frame* frame, MediaFeaturePrefix op)
{
FrameView* view = frame->view();
-
+ RenderStyle* rootStyle = frame->document()->documentElement()->renderStyle();
+
if (value)
- return value->isPrimitiveValue() && compareValue(view->layoutHeight(), static_cast<CSSPrimitiveValue*>(value)->computeLengthInt(style), op);
+ return value->isPrimitiveValue() && compareValue(view->layoutHeight(), static_cast<CSSPrimitiveValue*>(value)->computeLengthInt(style, rootStyle), op);
return view->layoutHeight() != 0;
}
@@ -331,9 +340,10 @@ static bool heightMediaFeatureEval(CSSValue* value, RenderStyle* style, Frame* f
static bool widthMediaFeatureEval(CSSValue* value, RenderStyle* style, Frame* frame, MediaFeaturePrefix op)
{
FrameView* view = frame->view();
-
+ RenderStyle* rootStyle = frame->document()->documentElement()->renderStyle();
+
if (value)
- return value->isPrimitiveValue() && compareValue(view->layoutWidth(), static_cast<CSSPrimitiveValue*>(value)->computeLengthInt(style), op);
+ return value->isPrimitiveValue() && compareValue(view->layoutWidth(), static_cast<CSSPrimitiveValue*>(value)->computeLengthInt(style, rootStyle), op);
return view->layoutWidth() != 0;
}
@@ -457,15 +467,20 @@ static bool transform_2dMediaFeatureEval(CSSValue* value, RenderStyle*, Frame*,
return true;
}
-static bool transform_3dMediaFeatureEval(CSSValue* value, RenderStyle*, Frame*, MediaFeaturePrefix op)
+static bool transform_3dMediaFeatureEval(CSSValue* value, RenderStyle*, Frame* frame, MediaFeaturePrefix op)
{
bool returnValueIfNoParameter;
int have3dRendering;
#if ENABLE(3D_RENDERING)
- returnValueIfNoParameter = true;
- have3dRendering = 1;
+ bool threeDEnabled = false;
+ if (RenderView* view = frame->contentRenderer())
+ threeDEnabled = view->compositor()->hasAcceleratedCompositing();
+
+ returnValueIfNoParameter = threeDEnabled;
+ have3dRendering = threeDEnabled ? 1 : 0;
#else
+ UNUSED_PARAM(frame);
returnValueIfNoParameter = false;
have3dRendering = 0;
#endif
diff --git a/src/3rdparty/webkit/WebCore/css/MediaQueryEvaluator.h b/src/3rdparty/webkit/WebCore/css/MediaQueryEvaluator.h
index 5ae8fec..404504b 100644
--- a/src/3rdparty/webkit/WebCore/css/MediaQueryEvaluator.h
+++ b/src/3rdparty/webkit/WebCore/css/MediaQueryEvaluator.h
@@ -49,8 +49,7 @@ class MediaQueryExp;
* the device characteristics are not known. This can be used to prune the loading
* of stylesheets to only those which are probable to match.
*/
-class MediaQueryEvaluator
-{
+class MediaQueryEvaluator {
public:
/** Creates evaluator which evaluates only simple media queries
* Evaluator returns true for "all", and returns value of \mediaFeatureResult
diff --git a/src/3rdparty/webkit/WebCore/css/MediaQueryExp.h b/src/3rdparty/webkit/WebCore/css/MediaQueryExp.h
index 3036d04..5ff4af3 100644
--- a/src/3rdparty/webkit/WebCore/css/MediaQueryExp.h
+++ b/src/3rdparty/webkit/WebCore/css/MediaQueryExp.h
@@ -36,8 +36,7 @@
namespace WebCore {
class CSSParserValueList;
-class MediaQueryExp
-{
+class MediaQueryExp {
public:
MediaQueryExp(const AtomicString& mediaFeature, CSSParserValueList* values);
~MediaQueryExp();
@@ -46,7 +45,8 @@ public:
CSSValue* value() const { return m_value.get(); }
- bool operator==(const MediaQueryExp& other) const {
+ bool operator==(const MediaQueryExp& other) const
+ {
return (other.m_mediaFeature == m_mediaFeature)
&& ((!other.m_value && !m_value)
|| (other.m_value && m_value && other.m_value->cssText() == m_value->cssText()));
diff --git a/src/3rdparty/webkit/WebCore/css/RGBColor.cpp b/src/3rdparty/webkit/WebCore/css/RGBColor.cpp
new file mode 100644
index 0000000..5c8c104
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/css/RGBColor.cpp
@@ -0,0 +1,62 @@
+/*
+ * Copyright (C) 2008, 2009 Google, Inc. All rights reserved.
+ * Copyright (C) 2009 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+#include "RGBColor.h"
+
+namespace WebCore {
+
+PassRefPtr<RGBColor> RGBColor::create(unsigned rgbColor)
+{
+ return adoptRef(new RGBColor(rgbColor));
+}
+
+PassRefPtr<CSSPrimitiveValue> RGBColor::red()
+{
+ unsigned value = (m_rgbColor >> 16) & 0xFF;
+ return CSSPrimitiveValue::create(value, CSSPrimitiveValue::CSS_NUMBER);
+}
+
+PassRefPtr<CSSPrimitiveValue> RGBColor::green()
+{
+ unsigned value = (m_rgbColor >> 8) & 0xFF;
+ return CSSPrimitiveValue::create(value, CSSPrimitiveValue::CSS_NUMBER);
+}
+
+PassRefPtr<CSSPrimitiveValue> RGBColor::blue()
+{
+ unsigned value = m_rgbColor & 0xFF;
+ return CSSPrimitiveValue::create(value, CSSPrimitiveValue::CSS_NUMBER);
+}
+
+PassRefPtr<CSSPrimitiveValue> RGBColor::alpha()
+{
+ float value = static_cast<float>((m_rgbColor >> 24) & 0xFF) / 0xFF;
+ return WebCore::CSSPrimitiveValue::create(value, WebCore::CSSPrimitiveValue::CSS_NUMBER);
+}
+
+} // namespace WebCore
+
diff --git a/src/3rdparty/webkit/WebCore/css/RGBColor.h b/src/3rdparty/webkit/WebCore/css/RGBColor.h
new file mode 100644
index 0000000..7937a08
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/css/RGBColor.h
@@ -0,0 +1,58 @@
+/*
+ * Copyright (C) 2006, 2007, 2008, 2009 Google, Inc. All rights reserved.
+ * Copyright (C) 2009 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef RGBColor_h
+#define RGBColor_h
+
+#include "CSSPrimitiveValue.h"
+#include "Color.h"
+#include <wtf/RefCounted.h>
+
+namespace WebCore {
+
+ class RGBColor : public RefCounted<RGBColor> {
+ public:
+ static PassRefPtr<RGBColor> create(unsigned rgbColor);
+
+ PassRefPtr<CSSPrimitiveValue> red();
+ PassRefPtr<CSSPrimitiveValue> green();
+ PassRefPtr<CSSPrimitiveValue> blue();
+ PassRefPtr<CSSPrimitiveValue> alpha();
+
+ Color color() const { return Color(m_rgbColor); }
+
+ private:
+ RGBColor(unsigned rgbColor)
+ : m_rgbColor(rgbColor)
+ {
+ }
+
+ RGBA32 m_rgbColor;
+ };
+
+} // namespace WebCore
+
+#endif // RGBColor_h
diff --git a/src/3rdparty/webkit/WebCore/css/RGBColor.idl b/src/3rdparty/webkit/WebCore/css/RGBColor.idl
index f76b6a25..d29f811 100644
--- a/src/3rdparty/webkit/WebCore/css/RGBColor.idl
+++ b/src/3rdparty/webkit/WebCore/css/RGBColor.idl
@@ -22,9 +22,7 @@ module css {
// Introduced in DOM Level 2:
interface [
- ObjCCustomImplementation,
GenerateConstructor,
- PODType=RGBA32,
InterfaceUUID=2e3b1501-2cf7-4a4a-bbf7-d8843d1c3be7,
ImplementationUUID=cf779953-4898-4800-aa31-6c9e3f4711be
] RGBColor {
diff --git a/src/3rdparty/webkit/WebCore/css/ShadowValue.cpp b/src/3rdparty/webkit/WebCore/css/ShadowValue.cpp
index 5794405..27be86c 100644
--- a/src/3rdparty/webkit/WebCore/css/ShadowValue.cpp
+++ b/src/3rdparty/webkit/WebCore/css/ShadowValue.cpp
@@ -2,7 +2,7 @@
* This file is part of the DOM implementation for KDE.
*
* (C) 1999-2003 Lars Knoll (knoll@kde.org)
- * Copyright (C) 2004, 2005, 2006 Apple Computer, Inc.
+ * Copyright (C) 2004, 2005, 2006, 2009 Apple Computer, Inc.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -31,10 +31,14 @@ namespace WebCore {
ShadowValue::ShadowValue(PassRefPtr<CSSPrimitiveValue> _x,
PassRefPtr<CSSPrimitiveValue> _y,
PassRefPtr<CSSPrimitiveValue> _blur,
+ PassRefPtr<CSSPrimitiveValue> _spread,
+ PassRefPtr<CSSPrimitiveValue> _style,
PassRefPtr<CSSPrimitiveValue> _color)
: x(_x)
, y(_y)
, blur(_blur)
+ , spread(_spread)
+ , style(_style)
, color(_color)
{
}
@@ -60,6 +64,16 @@ String ShadowValue::cssText() const
text += " ";
text += blur->cssText();
}
+ if (spread) {
+ if (!text.isEmpty())
+ text += " ";
+ text += spread->cssText();
+ }
+ if (style) {
+ if (!text.isEmpty())
+ text += " ";
+ text += style->cssText();
+ }
return text;
}
diff --git a/src/3rdparty/webkit/WebCore/css/ShadowValue.h b/src/3rdparty/webkit/WebCore/css/ShadowValue.h
index 179531e..a88a0e7 100644
--- a/src/3rdparty/webkit/WebCore/css/ShadowValue.h
+++ b/src/3rdparty/webkit/WebCore/css/ShadowValue.h
@@ -1,6 +1,6 @@
/*
* (C) 1999-2003 Lars Knoll (knoll@kde.org)
- * Copyright (C) 2004, 2005, 2006, 2008 Apple Inc. All rights reserved.
+ * Copyright (C) 2004, 2005, 2006, 2008, 2009 Apple Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -35,9 +35,11 @@ public:
static PassRefPtr<ShadowValue> create(PassRefPtr<CSSPrimitiveValue> x,
PassRefPtr<CSSPrimitiveValue> y,
PassRefPtr<CSSPrimitiveValue> blur,
+ PassRefPtr<CSSPrimitiveValue> spread,
+ PassRefPtr<CSSPrimitiveValue> style,
PassRefPtr<CSSPrimitiveValue> color)
{
- return adoptRef(new ShadowValue(x, y, blur, color));
+ return adoptRef(new ShadowValue(x, y, blur, spread, style, color));
}
virtual String cssText() const;
@@ -45,12 +47,16 @@ public:
RefPtr<CSSPrimitiveValue> x;
RefPtr<CSSPrimitiveValue> y;
RefPtr<CSSPrimitiveValue> blur;
+ RefPtr<CSSPrimitiveValue> spread;
+ RefPtr<CSSPrimitiveValue> style;
RefPtr<CSSPrimitiveValue> color;
private:
ShadowValue(PassRefPtr<CSSPrimitiveValue> x,
PassRefPtr<CSSPrimitiveValue> y,
PassRefPtr<CSSPrimitiveValue> blur,
+ PassRefPtr<CSSPrimitiveValue> spread,
+ PassRefPtr<CSSPrimitiveValue> style,
PassRefPtr<CSSPrimitiveValue> color);
};
diff --git a/src/3rdparty/webkit/WebCore/css/StyleSheet.idl b/src/3rdparty/webkit/WebCore/css/StyleSheet.idl
index 3a26f20..e4f4090 100644
--- a/src/3rdparty/webkit/WebCore/css/StyleSheet.idl
+++ b/src/3rdparty/webkit/WebCore/css/StyleSheet.idl
@@ -23,6 +23,7 @@ module stylesheets {
// Introduced in DOM Level 2:
interface [
CustomMarkFunction,
+ CustomToJS,
GenerateConstructor,
Polymorphic,
InterfaceUUID=2bd2db5f-aaab-4422-96a0-e05455313f35,
diff --git a/src/3rdparty/webkit/WebCore/css/WebKitCSSMatrix.cpp b/src/3rdparty/webkit/WebCore/css/WebKitCSSMatrix.cpp
index 574a01a..aaf5c3d 100644
--- a/src/3rdparty/webkit/WebCore/css/WebKitCSSMatrix.cpp
+++ b/src/3rdparty/webkit/WebCore/css/WebKitCSSMatrix.cpp
@@ -72,7 +72,7 @@ void WebKitCSSMatrix::setMatrixValue(const String& string, ExceptionCode& ec)
// requires style (i.e., param uses 'ems' or 'exs')
PassRefPtr<CSSValue> val = styleDeclaration->getPropertyCSSValue(CSSPropertyWebkitTransform);
TransformOperations operations;
- if (!CSSStyleSelector::createTransformOperations(val.get(), 0, operations)) {
+ if (!CSSStyleSelector::createTransformOperations(val.get(), 0, 0, operations)) {
ec = SYNTAX_ERR;
return;
}
diff --git a/src/3rdparty/webkit/WebCore/css/WebKitCSSMatrix.h b/src/3rdparty/webkit/WebCore/css/WebKitCSSMatrix.h
index 67ba113..56bf76b 100644
--- a/src/3rdparty/webkit/WebCore/css/WebKitCSSMatrix.h
+++ b/src/3rdparty/webkit/WebCore/css/WebKitCSSMatrix.h
@@ -149,7 +149,7 @@ protected:
WebKitCSSMatrix();
WebKitCSSMatrix(const WebKitCSSMatrix&);
WebKitCSSMatrix(const TransformationMatrix&);
- WebKitCSSMatrix(const String&, ExceptionCode& );
+ WebKitCSSMatrix(const String&, ExceptionCode&);
TransformationMatrix m_matrix;
};
diff --git a/src/3rdparty/webkit/WebCore/css/html.css b/src/3rdparty/webkit/WebCore/css/html.css
new file mode 100644
index 0000000..6b03390
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/css/html.css
@@ -0,0 +1,615 @@
+/*
+ * The default style sheet used to render HTML.
+ *
+ * Copyright (C) 2000 Lars Knoll (knoll@kde.org)
+ * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008 Apple Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public License
+ * along with this library; see the file COPYING.LIB. If not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ *
+ */
+
+@namespace "http://www.w3.org/1999/xhtml";
+
+html {
+ display: block
+}
+
+/* children of the <head> element all have display:none */
+head {
+ display: none
+}
+
+meta {
+ display: none
+}
+
+title {
+ display: none
+}
+
+link {
+ display: none
+}
+
+style {
+ display: none
+}
+
+script {
+ display: none
+}
+
+/* generic block-level elements */
+
+body {
+ display: block;
+ margin: 8px
+}
+
+p {
+ display: block;
+ margin: 1.0__qem 0px
+}
+
+div {
+ display: block
+}
+
+layer {
+ display: block
+}
+
+marquee {
+ display: inline-block;
+ overflow: -webkit-marquee
+}
+
+address {
+ display: block
+}
+
+blockquote {
+ display: block;
+ margin: 1__qem 40px 1em 40px
+}
+
+q {
+ display: inline
+}
+
+q:before {
+ content: '"'
+ /* FIXME: content: open-quote; */
+}
+
+q:after {
+ content: '"'
+ /* FIXME: content: close-quote; */
+}
+
+center {
+ display: block;
+ /* special centering to be able to emulate the html4/netscape behaviour */
+ text-align: -webkit-center
+}
+
+hr {
+ display: block;
+ margin: 0.5em auto;
+ border-style: inset;
+ border-width: 1px
+}
+
+map {
+ display: inline
+}
+
+/* heading elements */
+
+h1 {
+ display: block;
+ font-size: 2em;
+ margin: .67__qem 0 .67em 0;
+ font-weight: bold
+}
+
+h2 {
+ display: block;
+ font-size: 1.5em;
+ margin: .83__qem 0 .83em 0;
+ font-weight: bold
+}
+
+h3 {
+ display: block;
+ font-size: 1.17em;
+ margin: 1__qem 0 1em 0;
+ font-weight: bold
+}
+
+h4 {
+ display: block;
+ margin: 1.33__qem 0 1.33em 0;
+ font-weight: bold
+}
+
+h5 {
+ display: block;
+ font-size: .83em;
+ margin: 1.67__qem 0 1.67em 0;
+ font-weight: bold
+}
+
+h6 {
+ display: block;
+ font-size: .67em;
+ margin: 2.33__qem 0 2.33em 0;
+ font-weight: bold
+}
+
+/* tables */
+
+table {
+ display: table;
+ border-collapse: separate;
+ border-spacing: 2px;
+ border-color: gray
+}
+
+thead {
+ display: table-header-group;
+ vertical-align: middle;
+ border-color: inherit
+}
+
+tbody {
+ display: table-row-group;
+ vertical-align: middle;
+ border-color: inherit
+}
+
+tfoot {
+ display: table-footer-group;
+ vertical-align: middle;
+ border-color: inherit
+}
+
+/* for tables without table section elements (can happen with XHTML or dynamically created tables) */
+table > tr {
+ vertical-align: middle;
+}
+
+col {
+ display: table-column
+}
+
+colgroup {
+ display: table-column-group
+}
+
+tr {
+ display: table-row;
+ vertical-align: inherit;
+ border-color: inherit
+}
+
+td, th {
+ display: table-cell;
+ vertical-align: inherit
+}
+
+th {
+ font-weight: bold
+}
+
+caption {
+ display: table-caption;
+ text-align: -webkit-center
+}
+
+/* lists */
+
+ul, menu, dir {
+ display: block;
+ list-style-type: disc;
+ margin: 1__qem 0 1em 0;
+ -webkit-padding-start: 40px
+}
+
+ol {
+ display: block;
+ list-style-type: decimal;
+ margin: 1__qem 0 1em 0;
+ -webkit-padding-start: 40px
+}
+
+li {
+ display: list-item
+}
+
+ul ul, ol ul {
+ list-style-type: circle
+}
+
+ol ol ul, ol ul ul, ul ol ul, ul ul ul {
+ list-style-type: square
+}
+
+dd {
+ display: block;
+ -webkit-margin-start: 40px
+}
+
+dl {
+ display: block;
+ margin: 1__qem 0 1em 0
+}
+
+dt {
+ display: block
+}
+
+ol ul, ul ol, ul ul, ol ol {
+ margin-top: 0;
+ margin-bottom: 0
+}
+
+/* form elements */
+
+form {
+ display: block;
+ margin-top: 0__qem
+}
+
+label {
+ cursor: default;
+}
+
+legend {
+ display: block;
+ padding-left: 2px;
+ padding-right: 2px;
+ border: none
+}
+
+fieldset {
+ display: block;
+ margin-left: 2px;
+ margin-right: 2px;
+ padding: 0.35em 0.75em 0.625em;
+ border: 2px groove ThreeDFace
+}
+
+button {
+ -webkit-appearance: button;
+}
+
+input, textarea, keygen, select, button, isindex, datagrid {
+ margin: 0__qem;
+ font: -webkit-small-control;
+ color: initial;
+ letter-spacing: normal;
+ word-spacing: normal;
+ line-height: normal;
+ text-transform: none;
+ text-indent: 0;
+ text-shadow: none;
+ display: inline-block;
+ text-align: -webkit-auto;
+}
+
+input[type="hidden"] {
+ display: none
+}
+
+input, input[type="password"], input[type="search"], isindex {
+ -webkit-appearance: textfield;
+ padding: 1px;
+ background-color: white;
+ border: 2px inset;
+ -webkit-rtl-ordering: logical;
+ -webkit-user-select: text;
+ cursor: auto;
+}
+
+input[type="search"] {
+ -webkit-appearance: searchfield;
+ -webkit-box-sizing: border-box;
+}
+
+input[type="search"]::-webkit-search-cancel-button {
+ -webkit-appearance: searchfield-cancel-button;
+ display: inline-block;
+}
+
+input[type="search"]::-webkit-search-decoration {
+ -webkit-appearance: searchfield-decoration;
+ display: inline-block;
+}
+
+input[type="search"]::-webkit-search-results-decoration {
+ -webkit-appearance: searchfield-results-decoration;
+ display: inline-block;
+}
+
+input[type="search"]::-webkit-search-results-button {
+ -webkit-appearance: searchfield-results-button;
+ display: inline-block;
+}
+
+textarea {
+ -webkit-appearance: textarea;
+ background-color: white;
+ border: 1px solid;
+ -webkit-rtl-ordering: logical;
+ -webkit-user-select: text;
+ -webkit-box-orient: vertical;
+ resize: auto;
+ cursor: auto;
+ padding: 2px;
+ white-space: pre-wrap;
+ word-wrap: break-word;
+}
+
+input::-webkit-input-placeholder, isindex::-webkit-input-placeholder {
+ color: darkGray;
+}
+
+input[type="password"] {
+ -webkit-text-security: disc !important;
+}
+
+input[type="hidden"], input[type="image"], input[type="file"] {
+ -webkit-appearance: initial;
+ padding: initial;
+ background-color: initial;
+ border: initial;
+}
+
+input[type="file"] {
+ -webkit-box-align: baseline;
+ text-align: start !important;
+}
+
+input:-webkit-autofill {
+ background-color: #FAFFBD !important;
+ background-image:none !important;
+}
+
+input[type="radio"], input[type="checkbox"] {
+ margin: 3px 0.5ex;
+ padding: initial;
+ background-color: initial;
+ border: initial;
+}
+
+input[type="button"], input[type="submit"], input[type="reset"], input[type="file"]::-webkit-file-upload-button {
+ -webkit-appearance: push-button;
+ white-space: pre
+}
+
+input[type="button"], input[type="submit"], input[type="reset"], input[type="file"]::-webkit-file-upload-button, button {
+ -webkit-box-align: center;
+ text-align: center;
+ cursor: default;
+ color: ButtonText;
+ padding: 2px 6px 3px 6px;
+ border: 2px outset ButtonFace;
+ background-color: ButtonFace;
+ -webkit-box-sizing: border-box
+}
+
+input[type="range"] {
+ -webkit-appearance: slider-horizontal;
+ padding: initial;
+ border: initial;
+ margin: 2px;
+}
+
+input[type="range"]::-webkit-slider-thumb {
+ -webkit-appearance: sliderthumb-horizontal;
+}
+
+input[type="button"]:disabled, input[type="submit"]:disabled, input[type="reset"]:disabled,
+input[type="file"]:disabled::-webkit-file-upload-button, button:disabled,
+select:disabled, keygen:disabled, optgroup:disabled, option:disabled, datagrid:disabled {
+ color: GrayText
+}
+
+input[type="button"]:active, input[type="submit"]:active, input[type="reset"]:active, input[type="file"]:active::-webkit-file-upload-button, button:active {
+ border-style: inset
+}
+
+input[type="button"]:active:disabled, input[type="submit"]:active:disabled, input[type="reset"]:active:disabled, input[type="file"]:active:disabled::-webkit-file-upload-button, button:active:disabled {
+ border-style: outset
+}
+
+area, param {
+ display: none
+}
+
+input[type="checkbox"] {
+ -webkit-appearance: checkbox;
+ -webkit-box-sizing: border-box;
+}
+
+input[type="radio"] {
+ -webkit-appearance: radio;
+ -webkit-box-sizing: border-box;
+}
+
+keygen, select {
+ -webkit-appearance: menulist;
+ -webkit-box-sizing: border-box;
+ -webkit-box-align: center;
+ border: 1px solid;
+ -webkit-border-radius: 5px;
+ white-space: pre;
+ -webkit-rtl-ordering: logical;
+ color: black;
+ background-color: white;
+ cursor: default;
+}
+
+select[size],
+select[multiple],
+select[size][multiple] {
+ -webkit-appearance: listbox;
+ -webkit-box-align: start;
+ border: 1px inset gray;
+ -webkit-border-radius: initial;
+ white-space: initial;
+}
+
+select[size="0"],
+select[size="1"] {
+ -webkit-appearance: menulist;
+ -webkit-box-align: center;
+ border: 1px solid;
+ -webkit-border-radius: 5px;
+ white-space: pre;
+}
+
+optgroup {
+ font-weight: bolder;
+}
+
+option {
+ font-weight: normal;
+}
+
+/* datagrid */
+
+datagrid {
+ height: 150px; /* We don't use width:300px in CSS, since we want width:intrinsic and width:min-intrinsic to reset to 300 properly. */
+ -webkit-appearance: datagrid;
+ -webkit-box-sizing: border-box;
+ -webkit-rtl-ordering: logical;
+ color: black;
+ background-color: white;
+ cursor: default;
+ border: 1px inset gray;
+ white-space: initial;
+}
+
+/* inline elements */
+
+u, ins {
+ text-decoration: underline
+}
+
+strong, b {
+ font-weight: bolder
+}
+
+i, cite, em, var, address {
+ font-style: italic
+}
+
+tt, code, kbd, samp {
+ font-family: monospace
+}
+
+pre, xmp, plaintext, listing {
+ display: block;
+ font-family: monospace;
+ white-space: pre;
+ margin: 1__qem 0
+}
+
+big {
+ font-size: larger
+}
+
+small {
+ font-size: smaller
+}
+
+s, strike, del {
+ text-decoration: line-through
+}
+
+sub {
+ vertical-align: sub;
+ font-size: smaller
+}
+
+sup {
+ vertical-align: super;
+ font-size: smaller
+}
+
+nobr {
+ white-space: nowrap
+}
+
+/* states */
+
+:focus {
+ outline: auto 5px -webkit-focus-ring-color
+}
+
+/* Read-only text fields do not show a focus ring but do still receive focus */
+html:focus, body:focus, input[readonly]:focus {
+ outline: none
+}
+
+input:focus, textarea:focus, isindex:focus, keygen:focus, select:focus {
+ outline-offset: -2px
+}
+
+input[type="button"]:focus,
+input[type="checkbox"]:focus,
+input[type="file"]:focus,
+input[type="hidden"]:focus,
+input[type="image"]:focus,
+input[type="radio"]:focus,
+input[type="reset"]:focus,
+input[type="search"]:focus,
+input[type="submit"]:focus,
+input[type="file"]:focus::-webkit-file-upload-button {
+ outline-offset: 0
+}
+
+a:-webkit-any-link {
+ color: -webkit-link;
+ text-decoration: underline;
+ cursor: auto;
+}
+
+a:-webkit-any-link:active {
+ color: -webkit-activelink
+}
+
+/* other elements */
+
+noframes {
+ display: none
+}
+
+frameset, frame {
+ display: block
+}
+
+frameset {
+ border-color: inherit
+}
+
+iframe {
+ border: 2px inset
+}
+
+/* noscript is handled internally, as it depends on settings */
diff --git a/src/3rdparty/webkit/WebCore/css/html4.css b/src/3rdparty/webkit/WebCore/css/html4.css
deleted file mode 100644
index dc1f608..0000000
--- a/src/3rdparty/webkit/WebCore/css/html4.css
+++ /dev/null
@@ -1,617 +0,0 @@
-/*
- * The default style sheet used to render HTML.
- *
- * Copyright (C) 2000 Lars Knoll (knoll@kde.org)
- * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008 Apple Inc. All rights reserved.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public License
- * along with this library; see the file COPYING.LIB. If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- *
- */
-
-@namespace "http://www.w3.org/1999/xhtml";
-
-html {
- display: block
-}
-
-/* children of the <head> element all have display:none */
-head {
- display: none
-}
-
-meta {
- display: none
-}
-
-title {
- display: none
-}
-
-link {
- display: none
-}
-
-style {
- display: none
-}
-
-script {
- display: none
-}
-
-/* generic block-level elements */
-
-body {
- display: block;
- margin: 8px
-}
-
-p {
- display: block;
- margin: 1.0__qem 0px
-}
-
-div {
- display: block
-}
-
-layer {
- display: block
-}
-
-marquee {
- display: inline-block;
- overflow: -webkit-marquee
-}
-
-address {
- display: block
-}
-
-blockquote {
- display: block;
- margin: 1__qem 40px 1em 40px
-}
-
-q {
- display: inline
-}
-
-q:before {
- content: '"'
- /* FIXME: content: open-quote; */
-}
-
-q:after {
- content: '"'
- /* FIXME: content: close-quote; */
-}
-
-center {
- display: block;
- /* special centering to be able to emulate the html4/netscape behaviour */
- text-align: -webkit-center
-}
-
-hr {
- display: block;
- margin: 0.5em auto;
- border-style: inset;
- border-width: 1px
-}
-
-map {
- display: inline
-}
-
-/* heading elements */
-
-h1 {
- display: block;
- font-size: 2em;
- margin: .67__qem 0 .67em 0;
- font-weight: bold
-}
-
-h2 {
- display: block;
- font-size: 1.5em;
- margin: .83__qem 0 .83em 0;
- font-weight: bold
-}
-
-h3 {
- display: block;
- font-size: 1.17em;
- margin: 1__qem 0 1em 0;
- font-weight: bold
-}
-
-h4 {
- display: block;
- margin: 1.33__qem 0 1.33em 0;
- font-weight: bold
-}
-
-h5 {
- display: block;
- font-size: .83em;
- margin: 1.67__qem 0 1.67em 0;
- font-weight: bold
-}
-
-h6 {
- display: block;
- font-size: .67em;
- margin: 2.33__qem 0 2.33em 0;
- font-weight: bold
-}
-
-/* tables */
-
-table {
- display: table;
- border-collapse: separate;
- border-spacing: 2px;
- border-color: gray
-}
-
-thead {
- display: table-header-group;
- vertical-align: middle;
- border-color: inherit
-}
-
-tbody {
- display: table-row-group;
- vertical-align: middle;
- border-color: inherit
-}
-
-tfoot {
- display: table-footer-group;
- vertical-align: middle;
- border-color: inherit
-}
-
-/* for tables without table section elements (can happen with XHTML or dynamically created tables) */
-table > tr {
- vertical-align: middle;
-}
-
-col {
- display: table-column
-}
-
-colgroup {
- display: table-column-group
-}
-
-tr {
- display: table-row;
- vertical-align: inherit;
- border-color: inherit
-}
-
-td, th {
- display: table-cell;
- vertical-align: inherit
-}
-
-th {
- font-weight: bold
-}
-
-caption {
- display: table-caption;
- text-align: -webkit-center
-}
-
-/* lists */
-
-ul, menu, dir {
- display: block;
- list-style-type: disc;
- margin: 1__qem 0 1em 0;
- -webkit-padding-start: 40px
-}
-
-ol {
- display: block;
- list-style-type: decimal;
- margin: 1__qem 0 1em 0;
- -webkit-padding-start: 40px
-}
-
-li {
- display: list-item
-}
-
-ul ul, ol ul {
- list-style-type: circle
-}
-
-ol ol ul, ol ul ul, ul ol ul, ul ul ul {
- list-style-type: square
-}
-
-dd {
- display: block;
- -webkit-margin-start: 40px
-}
-
-dl {
- display: block;
- margin: 1__qem 0 1em 0
-}
-
-dt {
- display: block
-}
-
-ol ul, ul ol, ul ul, ol ol {
- margin-top: 0;
- margin-bottom: 0
-}
-
-/* form elements */
-
-form {
- display: block;
- margin-top: 0__qem
-}
-
-label {
- cursor: default;
-}
-
-legend {
- display: block;
- padding-left: 2px;
- padding-right: 2px;
- border: none
-}
-
-fieldset {
- display: block;
- margin-left: 2px;
- margin-right: 2px;
- padding: 0.35em 0.75em 0.625em;
- border: 2px groove ThreeDFace
-}
-
-button {
- -webkit-appearance: button;
-}
-
-input, textarea, keygen, select, button, isindex, datagrid {
- margin: 0__qem;
- font: -webkit-small-control;
- color: initial;
- letter-spacing: normal;
- word-spacing: normal;
- line-height: normal;
- text-transform: none;
- text-indent: 0;
- text-shadow: none;
- display: inline-block;
- text-align: -webkit-auto;
-}
-
-input[type="hidden"] {
- display: none
-}
-
-input, input[type="password"], input[type="search"], isindex {
- -webkit-appearance: textfield;
- padding: 1px;
- background-color: white;
- border: 2px inset;
- -webkit-rtl-ordering: logical;
- -webkit-user-select: text;
- cursor: auto;
-}
-
-input[type="search"] {
- -webkit-appearance: searchfield;
- -webkit-box-sizing: border-box;
-}
-
-input[type="search"]::-webkit-search-cancel-button {
- -webkit-appearance: searchfield-cancel-button;
- display: inline-block;
-}
-
-input[type="search"]::-webkit-search-decoration {
- -webkit-appearance: searchfield-decoration;
- display: inline-block;
-}
-
-input[type="search"]::-webkit-search-results-decoration {
- -webkit-appearance: searchfield-results-decoration;
- display: inline-block;
-}
-
-input[type="search"]::-webkit-search-results-button {
- -webkit-appearance: searchfield-results-button;
- display: inline-block;
-}
-
-textarea {
- -webkit-appearance: textarea;
- background-color: white;
- border: 1px solid;
- -webkit-rtl-ordering: logical;
- -webkit-user-select: text;
- -webkit-box-orient: vertical;
- resize: auto;
- cursor: auto;
- padding: 2px;
-}
-
-input::-webkit-input-placeholder, isindex::-webkit-input-placeholder {
- color: darkGray;
-}
-
-input[type="password"] {
- -webkit-text-security: disc !important;
-}
-
-input[type="hidden"], input[type="image"], input[type="file"] {
- -webkit-appearance: initial;
- padding: initial;
- background-color: initial;
- border: initial;
-}
-
-input[type="file"] {
- -webkit-box-align: baseline;
- text-align: start !important;
-}
-
-input:-webkit-autofill {
- background-color: #FAFFBD !important;
- background-image:none !important;
-}
-
-input[type="radio"], input[type="checkbox"] {
- margin: 3px 0.5ex;
- padding: initial;
- background-color: initial;
- border: initial;
-}
-
-input[type="button"], input[type="submit"], input[type="reset"], input[type="file"]::-webkit-file-upload-button {
- -webkit-appearance: push-button;
- white-space: pre
-}
-
-input[type="button"], input[type="submit"], input[type="reset"], input[type="file"]::-webkit-file-upload-button, button {
- -webkit-box-align: center;
- text-align: center;
- cursor: default;
- color: ButtonText;
- padding: 2px 6px 3px 6px;
- border: 2px outset ButtonFace;
- background-color: ButtonFace;
- -webkit-box-sizing: border-box
-}
-
-input[type="range"] {
- -webkit-appearance: slider-horizontal;
- padding: initial;
- border: initial;
- margin: 2px;
-}
-
-input[type="range"]::-webkit-slider-thumb {
- -webkit-appearance: sliderthumb-horizontal;
-}
-
-input[type="button"]:disabled, input[type="submit"]:disabled, input[type="reset"]:disabled,
-input[type="file"]:disabled::-webkit-file-upload-button, button:disabled,
-select:disabled, keygen:disabled, optgroup:disabled, option:disabled, datagrid:disabled {
- color: GrayText
-}
-
-input[type="button"]:active, input[type="submit"]:active, input[type="reset"]:active, input[type="file"]:active::-webkit-file-upload-button, button:active {
- border-style: inset
-}
-
-input[type="button"]:active:disabled, input[type="submit"]:active:disabled, input[type="reset"]:active:disabled, input[type="file"]:active:disabled::-webkit-file-upload-button, button:active:disabled {
- border-style: outset
-}
-
-area, param {
- display: none
-}
-
-input[type="checkbox"] {
- -webkit-appearance: checkbox;
- -webkit-box-sizing: border-box;
-}
-
-input[type="radio"] {
- -webkit-appearance: radio;
- -webkit-box-sizing: border-box;
-}
-
-keygen, select {
- -webkit-appearance: menulist;
- -webkit-box-sizing: border-box;
- -webkit-box-align: center;
- border: 1px solid;
- -webkit-border-radius: 5px;
- white-space: pre;
- -webkit-rtl-ordering: logical;
- color: black;
- background-color: white;
- cursor: default;
-}
-
-select[size],
-select[multiple],
-select[size][multiple] {
- -webkit-appearance: listbox;
- -webkit-box-align: start;
- border: 1px inset gray;
- -webkit-border-radius: initial;
- white-space: initial;
-}
-
-select[size="0"],
-select[size="1"] {
- -webkit-appearance: menulist;
- -webkit-box-align: center;
- border: 1px solid;
- -webkit-border-radius: 5px;
- white-space: pre;
-}
-
-optgroup {
- font-weight: bolder;
-}
-
-option {
- font-weight: normal;
-}
-
-/* datagrid */
-
-datagrid {
- height: 150px; /* We don't use width:300px in CSS, since we want width:intrinsic and width:min-intrinsic to reset to 300 properly. */
- -webkit-appearance: datagrid;
- -webkit-box-sizing: border-box;
- -webkit-rtl-ordering: logical;
- color: black;
- background-color: white;
- cursor: default;
- border: 1px inset gray;
- white-space: initial;
-}
-
-/* inline elements */
-
-u, ins {
- text-decoration: underline
-}
-
-strong, b {
- font-weight: bolder
-}
-
-i, cite, em, var, address {
- font-style: italic
-}
-
-tt, code, kbd, samp {
- font-family: monospace
-}
-
-pre, xmp, plaintext, listing {
- display: block;
- font-family: monospace;
- white-space: pre;
- margin: 1__qem 0
-}
-
-big {
- font-size: larger
-}
-
-small {
- font-size: smaller
-}
-
-s, strike, del {
- text-decoration: line-through
-}
-
-sub {
- vertical-align: sub;
- font-size: smaller
-}
-
-sup {
- vertical-align: super;
- font-size: smaller
-}
-
-nobr {
- white-space: nowrap
-}
-
-/* states */
-
-:focus {
- outline: auto 5px -webkit-focus-ring-color
-}
-
-/* Read-only text fields do not show a focus ring but do still receive focus */
-html:focus, body:focus, input[readonly]:focus {
- outline: none
-}
-
-input:focus, textarea:focus, isindex:focus, keygen:focus, select:focus {
- outline-offset: -2px
-}
-
-input[type="button"]:focus,
-input[type="checkbox"]:focus,
-input[type="file"]:focus,
-input[type="hidden"]:focus,
-input[type="image"]:focus,
-input[type="radio"]:focus,
-input[type="reset"]:focus,
-input[type="search"]:focus,
-input[type="submit"]:focus,
-input[type="file"]:focus::-webkit-file-upload-button {
- outline-offset: 0
-}
-
-a:-webkit-any-link {
- color: -webkit-link;
- text-decoration: underline;
- cursor: auto;
-}
-
-a:-webkit-any-link:active {
- color: -webkit-activelink
-}
-
-/* other elements */
-
-noframes {
- display: none
-}
-
-frameset, frame {
- display: block
-}
-
-frameset {
- border-color: inherit
-}
-
-iframe {
- border: 2px inset
-}
-
-img, input[type=image], video, iframe, object, embed, applet {
- overflow: hidden; /* Default to overflow:hidden so that border-radius clipping works on the foreground of these elements. */
-}
-
-/* noscript is handled internally, as it depends on settings */
diff --git a/src/3rdparty/webkit/WebCore/css/makeprop.pl b/src/3rdparty/webkit/WebCore/css/makeprop.pl
index bc979f9..115969f 100644
--- a/src/3rdparty/webkit/WebCore/css/makeprop.pl
+++ b/src/3rdparty/webkit/WebCore/css/makeprop.pl
@@ -26,9 +26,9 @@ use warnings;
open NAMES, "<CSSPropertyNames.in" || die "Could not find CSSPropertyNames.in";
my @names = ();
while (<NAMES>) {
- next if (m/#/);
- chomp $_;
- next if ($_ eq "");
+ next if (m/(^#)|(^\s*$)/);
+ # Input may use a different EOL sequence than $/, so avoid chomp.
+ $_ =~ s/[\r\n]+$//g;
push @names, $_;
}
close(NAMES);
diff --git a/src/3rdparty/webkit/WebCore/css/makevalues.pl b/src/3rdparty/webkit/WebCore/css/makevalues.pl
index 5d4e8ac..3f52e64 100644
--- a/src/3rdparty/webkit/WebCore/css/makevalues.pl
+++ b/src/3rdparty/webkit/WebCore/css/makevalues.pl
@@ -26,9 +26,9 @@ use warnings;
open NAMES, "<CSSValueKeywords.in" || die "Could not open CSSValueKeywords.in";
my @names = ();
while (<NAMES>) {
- next if (m/#/);
- chomp $_;
- next if ($_ eq "");
+ next if (m/(^#)|(^\s*$)/);
+ # Input may use a different EOL sequence than $/, so avoid chomp.
+ $_ =~ s/[\r\n]+$//g;
push @names, $_;
}
close(NAMES);
diff --git a/src/3rdparty/webkit/WebCore/css/mediaControls.css b/src/3rdparty/webkit/WebCore/css/mediaControls.css
index 668458c..f9694f8 100644
--- a/src/3rdparty/webkit/WebCore/css/mediaControls.css
+++ b/src/3rdparty/webkit/WebCore/css/mediaControls.css
@@ -32,6 +32,7 @@ audio {
audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel {
display: -webkit-box;
-webkit-box-orient: horizontal;
+ -webkit-box-align: center;
-webkit-user-select: none;
position: absolute;
bottom: 0;
@@ -61,7 +62,7 @@ audio::-webkit-media-controls-play-button, video::-webkit-media-controls-play-bu
}
audio::-webkit-media-controls-timeline-container, video::-webkit-media-controls-timeline-container {
- -webkit-appearance: media-timeline-container;
+ -webkit-appearance: media-controls-background;
display: -webkit-box;
-webkit-box-orient: horizontal;
-webkit-box-align: center;
@@ -102,6 +103,16 @@ audio::-webkit-media-controls-seek-forward-button, video::-webkit-media-controls
}
audio::-webkit-media-controls-fullscreen-button, video::-webkit-media-controls-fullscreen-button {
+ -webkit-appearance: media-fullscreen-button;
+ display: -webkit-box;
+ width: 16px;
+ height: 16px;
+}
+
+audio::-webkit-media-controls-rewind-button, video::-webkit-media-controls-rewind-button {
display: none;
}
+audio::-webkit-media-controls-return-to-realtime-button, video::-webkit-media-controls-return-to-realtime-button {
+ display: none;
+}
diff --git a/src/3rdparty/webkit/WebCore/css/mediaControlsQT.css b/src/3rdparty/webkit/WebCore/css/mediaControlsQT.css
index 900dcf2..5cf48ae 100644
--- a/src/3rdparty/webkit/WebCore/css/mediaControlsQT.css
+++ b/src/3rdparty/webkit/WebCore/css/mediaControlsQT.css
@@ -31,6 +31,7 @@ audio {
audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel {
/* In mediaControls.css */
+ -webkit-appearance: media-controls-background;
height: 25px;
}
@@ -39,50 +40,81 @@ video:-webkit-full-page-media::-webkit-media-controls-panel {
}
audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button {
- -webkit-box-ordinal-group: 2; /* At the end of the controller bar */
- width: 30px;
- height: 25px;
+ -webkit-box-ordinal-group: 2; /* Before the fullscreen button */
+ width: 15px;
+ height: 14px;
+ margin-left: 2px;
+ margin-right: 8px;
}
audio::-webkit-media-controls-play-button, video::-webkit-media-controls-play-button {
- width: 30px;
- height: 25px;
+ width: 16px;
+ height: 16px;
+ margin-left: 6px;
+ margin-right: 1px;
}
audio::-webkit-media-controls-timeline-container, video::-webkit-media-controls-timeline-container {
- height: 25px;
+ -webkit-appearance: none;
+ -webkit-box-orient: horizontal;
+ -webkit-box-align: center;
+ -webkit-box-pack: center;
+ -webkit-box-flex: 1;
+ text-align: right;
+ height: auto;
}
audio::-webkit-media-controls-current-time-display, video::-webkit-media-controls-current-time-display {
- -webkit-appearance: media-current-time-display;
-webkit-user-select: none;
- display: inline-block;
+ display: -webkit-box;
+ -webkit-box-flex: 0;
+ -webkit-box-pack: center;
+ -webkit-box-align: center;
cursor: default;
font: -webkit-small-control;
- font-size: .09em;
- text-align: center;
+ font-size: 9px;
overflow: hidden;
- line-height: 13px;
- height: 14px;
width: 45px;
+ color: white;
+ text-shadow: black 0px 1px 1px;
+
+ letter-spacing: normal;
+ word-spacing: normal;
+ line-height: normal;
+ text-transform: none;
+ text-indent: 0;
+ text-decoration: none;
}
audio::-webkit-media-controls-time-remaining-display, video::-webkit-media-controls-time-remaining-display {
- -webkit-appearance: media-time-remaining-display;
-webkit-user-select: none;
- display: inline-block;
+ display: -webkit-box;
+ -webkit-box-flex: 0;
+ -webkit-box-pack: center;
+ -webkit-box-align: center;
cursor: default;
font: -webkit-small-control;
- font-size: .09em;
- text-align: center;
+ font-size: 9px;
overflow: hidden;
- line-height: 13px;
- height: 14px;
width: 45px;
+ color: white;
+ text-shadow: black 0px 1px 1px;
+
+ letter-spacing: normal;
+ word-spacing: normal;
+ line-height: normal;
+ text-transform: none;
+ text-indent: 0;
+ text-decoration: none;
}
audio::-webkit-media-controls-timeline, video::-webkit-media-controls-timeline {
+ display: -webkit-box;
+ -webkit-box-flex: 1;
height: 13px;
+ padding: 0px;
+ margin: 0px;
+ margin-top: 2px;
}
audio::-webkit-media-controls-seek-back-button, video::-webkit-media-controls-seek-back-button {
@@ -96,5 +128,50 @@ audio::-webkit-media-controls-seek-forward-button, video::-webkit-media-controls
}
audio::-webkit-media-controls-fullscreen-button, video::-webkit-media-controls-fullscreen-button {
+ width: 16px;
+ height: 16px;
+ margin-left: 7px;
+ margin-right: 7px;
+ -webkit-box-ordinal-group: 3; /* At the very end */
+}
+
+audio::-webkit-media-controls-rewind-button, video::-webkit-media-controls-rewind-button {
+ display: -webkit-box;
+ -webkit-appearance: media-rewind-button;
+ width: 18px;
+ height: 18px;
+ margin-bottom: 1px;
+ margin-left: 6px;
+ margin-right: 2px;
+}
+
+audio::-webkit-media-controls-return-to-realtime-button, video::-webkit-media-controls-return-to-realtime-button {
display: none;
+ -webkit-appearance: media-return-to-realtime-button;
+ width: 16px;
+ height: 11px;
+ margin-left: 6px;
+ margin-right: 2px;
+}
+
+audio::-webkit-media-controls-status-display, video::-webkit-media-controls-status-display {
+ -webkit-user-select: none;
+ cursor: default;
+ display: -webkit-box;
+ -webkit-box-flex: 1;
+ font: -webkit-small-control;
+ color: white;
+ font-size: 10px;
+ line-height: 13px;
+ overflow: hidden;
+ text-shadow: black 0px 1px 1px;
+ margin-left: 10px;
+ margin-right: 10px;
+
+ letter-spacing: normal;
+ word-spacing: normal;
+ line-height: normal;
+ text-transform: none;
+ text-indent: 0;
+ text-decoration: none;
}
diff --git a/src/3rdparty/webkit/WebCore/css/themeWin.css b/src/3rdparty/webkit/WebCore/css/themeWin.css
index 421fed0..a0170ac 100644
--- a/src/3rdparty/webkit/WebCore/css/themeWin.css
+++ b/src/3rdparty/webkit/WebCore/css/themeWin.css
@@ -29,7 +29,7 @@
*/
/* These styles override the default styling for HTML elements as defined in
- WebCore/css/html4.css. So far we have used this file exclusively for
+ WebCore/css/html.css. So far we have used this file exclusively for
making our form elements match Firefox's. */
input:not([type]),
diff --git a/src/3rdparty/webkit/WebCore/css/tokenizer.flex b/src/3rdparty/webkit/WebCore/css/tokenizer.flex
index e800bae..1569ee2 100644
--- a/src/3rdparty/webkit/WebCore/css/tokenizer.flex
+++ b/src/3rdparty/webkit/WebCore/css/tokenizer.flex
@@ -73,6 +73,7 @@ nth (-?[0-9]*n[\+-][0-9]+)|(-?[0-9]*n)
"!"{w}"important" {yyTok = IMPORTANT_SYM; return yyTok;}
{num}em {yyTok = EMS; return yyTok;}
+{num}rem {yyTok = REMS; return yyTok;}
{num}__qem {yyTok = QEMS; return yyTok;} /* quirky ems */
{num}ex {yyTok = EXS; return yyTok;}
{num}px {yyTok = PXS; return yyTok;}
diff --git a/src/3rdparty/webkit/WebCore/dom/ClassNames.h b/src/3rdparty/webkit/WebCore/dom/ClassNames.h
index 8f4852f..a836606 100644
--- a/src/3rdparty/webkit/WebCore/dom/ClassNames.h
+++ b/src/3rdparty/webkit/WebCore/dom/ClassNames.h
@@ -27,7 +27,7 @@
namespace WebCore {
- class ClassNamesData : Noncopyable {
+ class ClassNamesData : public Noncopyable {
public:
ClassNamesData(const String& string, bool shouldFoldCase)
: m_string(string), m_shouldFoldCase(shouldFoldCase), m_createdVector(false)
diff --git a/src/3rdparty/webkit/WebCore/dom/Comment.h b/src/3rdparty/webkit/WebCore/dom/Comment.h
index f5f1810..d00ba62 100644
--- a/src/3rdparty/webkit/WebCore/dom/Comment.h
+++ b/src/3rdparty/webkit/WebCore/dom/Comment.h
@@ -29,8 +29,7 @@
namespace WebCore {
-class Comment : public CharacterData
-{
+class Comment : public CharacterData {
public:
Comment(Document*, const String &_text);
Comment(Document*);
diff --git a/src/3rdparty/webkit/WebCore/dom/ContainerNode.cpp b/src/3rdparty/webkit/WebCore/dom/ContainerNode.cpp
index 20cc7a3..2d79156 100644
--- a/src/3rdparty/webkit/WebCore/dom/ContainerNode.cpp
+++ b/src/3rdparty/webkit/WebCore/dom/ContainerNode.cpp
@@ -600,6 +600,8 @@ void ContainerNode::insertedIntoDocument()
void ContainerNode::removedFromDocument()
{
Node::removedFromDocument();
+ if (document()->cssTarget() == this)
+ document()->setCSSTarget(0);
setInDocument(false);
removedFromTree(false);
for (Node* child = m_firstChild; child; child = child->nextSibling())
diff --git a/src/3rdparty/webkit/WebCore/dom/Document.cpp b/src/3rdparty/webkit/WebCore/dom/Document.cpp
index 3d01c80..228cfde 100644
--- a/src/3rdparty/webkit/WebCore/dom/Document.cpp
+++ b/src/3rdparty/webkit/WebCore/dom/Document.cpp
@@ -335,6 +335,9 @@ Document::Document(Frame* frame, bool isXHTML)
, m_hasOpenDatabases(false)
#endif
, m_usingGeolocation(false)
+#if ENABLE(WML)
+ , m_containsWMLContent(false)
+#endif
{
m_document.resetSkippingRef(this);
@@ -361,11 +364,14 @@ Document::Document(Frame* frame, bool isXHTML)
m_inDocument = true;
m_inStyleRecalc = false;
m_closeAfterStyleRecalc = false;
+
m_usesDescendantRules = false;
m_usesSiblingRules = false;
m_usesFirstLineRules = false;
m_usesFirstLetterRules = false;
m_usesBeforeAfterRules = false;
+ m_usesRemUnits = false;
+
m_gotoAnchorNeededAfterStylesheetsLoad = false;
m_styleSelector = 0;
@@ -1132,6 +1138,11 @@ void Document::styleRecalcTimerFired(Timer<Document>*)
updateStyleIfNeeded();
}
+bool Document::childNeedsAndNotInStyleRecalc()
+{
+ return childNeedsStyleRecalc() && !m_inStyleRecalc;
+}
+
void Document::recalcStyle(StyleChange change)
{
// we should not enter style recalc while painting
@@ -1663,7 +1674,8 @@ void Document::implicitClose()
}
frame()->loader()->checkCallImplicitClose();
-
+ RenderObject* renderObject = renderer();
+
// We used to force a synchronous display and flush here. This really isn't
// necessary and can in fact be actively harmful if pages are loading at a rate of > 60fps
// (if your platform is syncing flushes and limiting them to 60fps).
@@ -1672,13 +1684,19 @@ void Document::implicitClose()
updateStyleIfNeeded();
// Always do a layout after loading if needed.
- if (view() && renderer() && (!renderer()->firstChild() || renderer()->needsLayout()))
+ if (view() && renderObject && (!renderObject->firstChild() || renderObject->needsLayout()))
view()->layout();
}
#if PLATFORM(MAC)
- if (f && renderer() && this == topDocument() && AXObjectCache::accessibilityEnabled())
- axObjectCache()->postNotification(renderer(), "AXLoadComplete", true);
+ if (f && renderObject && this == topDocument() && AXObjectCache::accessibilityEnabled()) {
+ // The AX cache may have been cleared at this point, but we need to make sure it contains an
+ // AX object to send the notification to. getOrCreate will make sure that an valid AX object
+ // exists in the cache (we ignore the return value because we don't need it here). This is
+ // only safe to call when a layout is not in progress, so it can not be used in postNotification.
+ axObjectCache()->getOrCreate(renderObject);
+ axObjectCache()->postNotification(renderObject, "AXLoadComplete", true);
+ }
#endif
#if ENABLE(SVG)
@@ -2598,7 +2616,7 @@ bool Document::setFocusedNode(PassRefPtr<Node> newFocusedNode)
else
view()->setFocus();
}
- }
+ }
#if PLATFORM(MAC) && !PLATFORM(CHROMIUM)
if (!focusChangeBlocked && m_focusedNode && AXObjectCache::accessibilityEnabled())
@@ -4354,19 +4372,19 @@ void Document::parseDNSPrefetchControlHeader(const String& dnsPrefetchControl)
void Document::reportException(const String& errorMessage, int lineNumber, const String& sourceURL)
{
if (DOMWindow* window = domWindow())
- window->console()->addMessage(JSMessageSource, ErrorMessageLevel, errorMessage, lineNumber, sourceURL);
+ window->console()->addMessage(JSMessageSource, LogMessageType, ErrorMessageLevel, errorMessage, lineNumber, sourceURL);
}
-void Document::addMessage(MessageDestination destination, MessageSource source, MessageLevel level, const String& message, unsigned lineNumber, const String& sourceURL)
+void Document::addMessage(MessageDestination destination, MessageSource source, MessageType type, MessageLevel level, const String& message, unsigned lineNumber, const String& sourceURL)
{
switch (destination) {
case InspectorControllerDestination:
if (page())
- page()->inspectorController()->addMessageToConsole(source, level, message, lineNumber, sourceURL);
+ page()->inspectorController()->addMessageToConsole(source, type, level, message, lineNumber, sourceURL);
return;
case ConsoleDestination:
if (DOMWindow* window = domWindow())
- window->console()->addMessage(source, level, message, lineNumber, sourceURL);
+ window->console()->addMessage(source, type, level, message, lineNumber, sourceURL);
return;
}
ASSERT_NOT_REACHED();
diff --git a/src/3rdparty/webkit/WebCore/dom/Document.h b/src/3rdparty/webkit/WebCore/dom/Document.h
index 92865f4..6655d9b 100644
--- a/src/3rdparty/webkit/WebCore/dom/Document.h
+++ b/src/3rdparty/webkit/WebCore/dom/Document.h
@@ -224,7 +224,7 @@ public:
}
virtual PassRefPtr<Element> createElement(const AtomicString& tagName, ExceptionCode&);
- PassRefPtr<DocumentFragment> createDocumentFragment ();
+ PassRefPtr<DocumentFragment> createDocumentFragment();
PassRefPtr<Text> createTextNode(const String& data);
PassRefPtr<Comment> createComment(const String& data);
PassRefPtr<CDATASection> createCDATASection(const String& data, ExceptionCode&);
@@ -377,6 +377,8 @@ public:
void setUsesFirstLetterRules(bool b) { m_usesFirstLetterRules = b; }
bool usesBeforeAfterRules() const { return m_usesBeforeAfterRules; }
void setUsesBeforeAfterRules(bool b) { m_usesBeforeAfterRules = b; }
+ bool usesRemUnits() const { return m_usesRemUnits; }
+ void setUsesRemUnits(bool b) { m_usesRemUnits = b; }
// Machinery for saving and restoring state when you leave and then go back to a page.
void registerFormElementWithState(Element* e) { m_formElementsWithState.add(e); }
@@ -403,7 +405,8 @@ public:
PassRefPtr<CSSStyleDeclaration> createCSSStyleDeclaration();
PassRefPtr<EditingText> createEditingTextNode(const String&);
- virtual void recalcStyle( StyleChange = NoChange );
+ virtual void recalcStyle(StyleChange = NoChange);
+ bool childNeedsAndNotInStyleRecalc();
virtual void updateStyleIfNeeded();
void updateLayout();
void updateLayoutIgnorePendingStylesheets();
@@ -787,7 +790,7 @@ public:
void parseDNSPrefetchControlHeader(const String&);
virtual void reportException(const String& errorMessage, int lineNumber, const String& sourceURL);
- virtual void addMessage(MessageDestination, MessageSource, MessageLevel, const String& message, unsigned lineNumber, const String& sourceURL);
+ virtual void addMessage(MessageDestination, MessageSource, MessageType, MessageLevel, const String& message, unsigned lineNumber, const String& sourceURL);
virtual void resourceRetrievedByXMLHttpRequest(unsigned long identifier, const ScriptString& sourceString);
virtual void scriptImported(unsigned long, const String&);
virtual void postTask(PassRefPtr<Task>); // Executes the task on context's thread asynchronously.
@@ -795,6 +798,8 @@ public:
protected:
Document(Frame*, bool isXHTML);
+ void setStyleSelector(CSSStyleSelector* styleSelector) { m_styleSelector = styleSelector; }
+
private:
virtual void refScriptExecutionContext() { ref(); }
virtual void derefScriptExecutionContext() { deref(); }
@@ -903,6 +908,7 @@ private:
bool m_usesFirstLineRules;
bool m_usesFirstLetterRules;
bool m_usesBeforeAfterRules;
+ bool m_usesRemUnits;
bool m_gotoAnchorNeededAfterStylesheetsLoad;
bool m_isDNSPrefetchEnabled;
bool m_haveExplicitlyDisabledDNSPrefetch;
@@ -990,7 +996,7 @@ public:
void setDashboardRegionsDirty(bool f) { m_dashboardRegionsDirty = f; }
bool dashboardRegionsDirty() const { return m_dashboardRegionsDirty; }
bool hasDashboardRegions () const { return m_hasDashboardRegions; }
- void setHasDashboardRegions (bool f) { m_hasDashboardRegions = f; }
+ void setHasDashboardRegions(bool f) { m_hasDashboardRegions = f; }
const Vector<DashboardRegionValue>& dashboardRegions() const;
void setDashboardRegions(const Vector<DashboardRegionValue>&);
#endif
@@ -1029,6 +1035,9 @@ public:
bool usingGeolocation() const { return m_usingGeolocation; };
#if ENABLE(WML)
+ void setContainsWMLContent(bool value) { m_containsWMLContent = value; }
+ bool containsWMLContent() const { return m_containsWMLContent; }
+
void resetWMLPageState();
void initializeWMLPageState();
#endif
@@ -1111,6 +1120,10 @@ private:
#endif
bool m_usingGeolocation;
+
+#if ENABLE(WML)
+ bool m_containsWMLContent;
+#endif
};
inline bool Document::hasElementWithId(AtomicStringImpl* id) const
diff --git a/src/3rdparty/webkit/WebCore/dom/Document.idl b/src/3rdparty/webkit/WebCore/dom/Document.idl
index ac6dd0e..ad41057 100644
--- a/src/3rdparty/webkit/WebCore/dom/Document.idl
+++ b/src/3rdparty/webkit/WebCore/dom/Document.idl
@@ -21,8 +21,8 @@
module core {
interface [
+ CustomToJS,
GenerateConstructor,
- GenerateToJS,
GenerateNativeConverter,
CustomMarkFunction,
InlineGetOwnPropertySlot,
diff --git a/src/3rdparty/webkit/WebCore/dom/DocumentFragment.cpp b/src/3rdparty/webkit/WebCore/dom/DocumentFragment.cpp
index 40be64d..7a6174f 100644
--- a/src/3rdparty/webkit/WebCore/dom/DocumentFragment.cpp
+++ b/src/3rdparty/webkit/WebCore/dom/DocumentFragment.cpp
@@ -34,7 +34,7 @@ DocumentFragment::DocumentFragment(Document *doc) : ContainerNode(doc)
String DocumentFragment::nodeName() const
{
- return "#document-fragment";
+ return "#document-fragment";
}
Node::NodeType DocumentFragment::nodeType() const
diff --git a/src/3rdparty/webkit/WebCore/dom/DocumentFragment.h b/src/3rdparty/webkit/WebCore/dom/DocumentFragment.h
index 33a62be..46d8ecd 100644
--- a/src/3rdparty/webkit/WebCore/dom/DocumentFragment.h
+++ b/src/3rdparty/webkit/WebCore/dom/DocumentFragment.h
@@ -30,8 +30,7 @@
namespace WebCore {
-class DocumentFragment : public ContainerNode
-{
+class DocumentFragment : public ContainerNode {
public:
DocumentFragment(Document*);
diff --git a/src/3rdparty/webkit/WebCore/dom/DynamicNodeList.cpp b/src/3rdparty/webkit/WebCore/dom/DynamicNodeList.cpp
index eeb9833..892a5e7 100644
--- a/src/3rdparty/webkit/WebCore/dom/DynamicNodeList.cpp
+++ b/src/3rdparty/webkit/WebCore/dom/DynamicNodeList.cpp
@@ -30,7 +30,7 @@ namespace WebCore {
DynamicNodeList::DynamicNodeList(PassRefPtr<Node> rootNode)
: m_rootNode(rootNode)
- , m_caches(new Caches)
+ , m_caches(Caches::create())
, m_ownsCaches(true)
{
m_rootNode->registerDynamicNodeList(this);
@@ -42,16 +42,11 @@ DynamicNodeList::DynamicNodeList(PassRefPtr<Node> rootNode, DynamicNodeList::Cac
, m_ownsCaches(false)
{
m_rootNode->registerDynamicNodeList(this);
- ++caches->refCount;
}
DynamicNodeList::~DynamicNodeList()
{
m_rootNode->unregisterDynamicNodeList(this);
- if (m_ownsCaches)
- delete m_caches;
- else
- --m_caches->refCount;
}
unsigned DynamicNodeList::length() const
@@ -158,10 +153,14 @@ DynamicNodeList::Caches::Caches()
: lastItem(0)
, isLengthCacheValid(false)
, isItemCacheValid(false)
- , refCount(0)
{
}
+PassRefPtr<DynamicNodeList::Caches> DynamicNodeList::Caches::create()
+{
+ return adoptRef(new Caches());
+}
+
void DynamicNodeList::Caches::reset()
{
lastItem = 0;
diff --git a/src/3rdparty/webkit/WebCore/dom/DynamicNodeList.h b/src/3rdparty/webkit/WebCore/dom/DynamicNodeList.h
index ee9832d..f97c38f 100644
--- a/src/3rdparty/webkit/WebCore/dom/DynamicNodeList.h
+++ b/src/3rdparty/webkit/WebCore/dom/DynamicNodeList.h
@@ -37,8 +37,8 @@ namespace WebCore {
class DynamicNodeList : public NodeList {
public:
- struct Caches {
- Caches();
+ struct Caches : RefCounted<Caches> {
+ static PassRefPtr<Caches> create();
void reset();
unsigned cachedLength;
@@ -46,7 +46,8 @@ namespace WebCore {
unsigned lastItemOffset;
bool isLengthCacheValid : 1;
bool isItemCacheValid : 1;
- unsigned refCount;
+ protected:
+ Caches();
};
virtual ~DynamicNodeList();
@@ -68,7 +69,7 @@ namespace WebCore {
virtual bool nodeMatches(Element*) const = 0;
RefPtr<Node> m_rootNode;
- mutable Caches* m_caches;
+ mutable RefPtr<Caches> m_caches;
bool m_ownsCaches;
private:
diff --git a/src/3rdparty/webkit/WebCore/dom/EditingText.h b/src/3rdparty/webkit/WebCore/dom/EditingText.h
index 3dcd8c1..e114786 100644
--- a/src/3rdparty/webkit/WebCore/dom/EditingText.h
+++ b/src/3rdparty/webkit/WebCore/dom/EditingText.h
@@ -29,8 +29,7 @@
namespace WebCore {
-class EditingText : public Text
-{
+class EditingText : public Text {
public:
EditingText(Document *impl, const String &text);
EditingText(Document *impl);
diff --git a/src/3rdparty/webkit/WebCore/dom/Element.cpp b/src/3rdparty/webkit/WebCore/dom/Element.cpp
index d858888..1956be4 100644
--- a/src/3rdparty/webkit/WebCore/dom/Element.cpp
+++ b/src/3rdparty/webkit/WebCore/dom/Element.cpp
@@ -33,7 +33,6 @@
#include "ClientRect.h"
#include "ClientRectList.h"
#include "Document.h"
-#include "Editor.h"
#include "ElementRareData.h"
#include "ExceptionCode.h"
#include "FocusController.h"
@@ -45,9 +44,7 @@
#include "NodeList.h"
#include "NodeRenderStyle.h"
#include "Page.h"
-#include "PlatformString.h"
-#include "RenderBlock.h"
-#include "SelectionController.h"
+#include "RenderView.h"
#include "TextIterator.h"
#include "XMLNames.h"
@@ -382,8 +379,10 @@ int Element::clientWidth()
bool inCompatMode = document()->inCompatMode();
if ((!inCompatMode && document()->documentElement() == this) ||
(inCompatMode && isHTMLElement() && document()->body() == this)) {
- if (FrameView* view = document()->view())
- return adjustForAbsoluteZoom(view->layoutWidth(), document()->renderer());
+ if (FrameView* view = document()->view()) {
+ if (RenderView* renderView = document()->renderView())
+ return adjustForAbsoluteZoom(view->layoutWidth(), renderView);
+ }
}
if (RenderBox* rend = renderBox())
@@ -401,8 +400,10 @@ int Element::clientHeight()
if ((!inCompatMode && document()->documentElement() == this) ||
(inCompatMode && isHTMLElement() && document()->body() == this)) {
- if (FrameView* view = document()->view())
- return adjustForAbsoluteZoom(view->layoutHeight(), document()->renderer());
+ if (FrameView* view = document()->view()) {
+ if (RenderView* renderView = document()->renderView())
+ return adjustForAbsoluteZoom(view->layoutHeight(), renderView);
+ }
}
if (RenderBox* rend = renderBox())
@@ -590,6 +591,12 @@ PassRefPtr<Attribute> Element::createAttribute(const QualifiedName& name, const
void Element::attributeChanged(Attribute* attr, bool)
{
+ recalcStyleIfNeededAfterAttributeChanged(attr);
+ updateAfterAttributeChanged(attr);
+}
+
+void Element::updateAfterAttributeChanged(Attribute* attr)
+{
if (!document()->axObjectCache()->accessibilityEnabled())
return;
@@ -602,7 +609,13 @@ void Element::attributeChanged(Attribute* attr, bool)
document()->axObjectCache()->handleAriaRoleChanged(renderer());
}
}
-
+
+void Element::recalcStyleIfNeededAfterAttributeChanged(Attribute* attr)
+{
+ if (document()->attached() && document()->styleSelector()->hasSelectorForAttribute(attr->name().localName()))
+ setNeedsStyleRecalc();
+}
+
void Element::setAttributeMap(PassRefPtr<NamedNodeMap> list)
{
document()->incDOMTreeVersion();
@@ -761,6 +774,34 @@ void Element::detach()
ContainerNode::detach();
}
+bool Element::pseudoStyleCacheIsInvalid(const RenderStyle* currentStyle, RenderStyle* newStyle)
+{
+ ASSERT(currentStyle = renderStyle());
+
+ if (!renderer() || !currentStyle)
+ return false;
+
+ RenderStyle::PseudoStyleCache pseudoStyleCache;
+ currentStyle->getPseudoStyleCache(pseudoStyleCache);
+ size_t cacheSize = pseudoStyleCache.size();
+ for (size_t i = 0; i < cacheSize; ++i) {
+ RefPtr<RenderStyle> newPseudoStyle;
+ PseudoId pseudoId = pseudoStyleCache[i]->styleType();
+ if (pseudoId == FIRST_LINE || pseudoId == FIRST_LINE_INHERITED)
+ newPseudoStyle = renderer()->uncachedFirstLineStyle(newStyle);
+ else
+ newPseudoStyle = renderer()->getUncachedPseudoStyle(pseudoId, newStyle, newStyle);
+
+ if (*newPseudoStyle != *pseudoStyleCache[i]) {
+ if (pseudoId < FIRST_INTERNAL_PSEUDOID)
+ newStyle->setHasPseudoStyle(pseudoId);
+ newStyle->addCachedPseudoStyle(newPseudoStyle);
+ return true;
+ }
+ }
+ return false;
+}
+
void Element::recalcStyle(StyleChange change)
{
RenderStyle* currentStyle = renderStyle();
@@ -811,7 +852,7 @@ void Element::recalcStyle(StyleChange change)
newStyle->setChildrenAffectedByDirectAdjacentRules();
}
- if (ch != NoChange) {
+ if (ch != NoChange || pseudoStyleCacheIsInvalid(currentStyle, newStyle.get())) {
setRenderStyle(newStyle);
} else if (needsStyleRecalc() && (styleChangeType() != AnimationStyleChange) && (document()->usesSiblingRules() || document()->usesDescendantRules())) {
// Although no change occurred, we use the new style so that the cousin style sharing code won't get
@@ -826,7 +867,11 @@ void Element::recalcStyle(StyleChange change)
setRenderStyle(newStyle);
if (change != Force) {
- if ((document()->usesDescendantRules() || hasPositionalRules) && styleChangeType() >= FullStyleChange)
+ // If "rem" units are used anywhere in the document, and if the document element's font size changes, then go ahead and force font updating
+ // all the way down the tree. This is simpler than having to maintain a cache of objects (and such font size changes should be rare anyway).
+ if (document()->usesRemUnits() && ch != NoChange && currentStyle && newStyle && currentStyle->fontSize() != newStyle->fontSize() && document()->documentElement() == this)
+ change = Force;
+ else if ((document()->usesDescendantRules() || hasPositionalRules) && styleChangeType() >= FullStyleChange)
change = Force;
else
change = ch;
@@ -981,7 +1026,7 @@ void Element::dispatchAttrAdditionEvent(Attribute*)
return;
ExceptionCode ec = 0;
dispatchEvent(new MutationEvent(DOMAttrModifiedEvent, true, false, attr, attr->value(),
- attr->value(),document()->attrName(attr->id()), MutationEvent::ADDITION), ec);
+ attr->value(), document()->attrName(attr->id()), MutationEvent::ADDITION), ec);
#endif
}
diff --git a/src/3rdparty/webkit/WebCore/dom/Element.h b/src/3rdparty/webkit/WebCore/dom/Element.h
index dfa2c0e..0ff2ed1 100644
--- a/src/3rdparty/webkit/WebCore/dom/Element.h
+++ b/src/3rdparty/webkit/WebCore/dom/Element.h
@@ -136,6 +136,11 @@ public:
// This method is called whenever an attribute is added, changed or removed.
virtual void attributeChanged(Attribute*, bool preserveDecls = false);
+ // The implementation of Element::attributeChanged() calls the following two functions.
+ // They are separated to allow a different flow of control in StyledElement::attributeChanged().
+ void recalcStyleIfNeededAfterAttributeChanged(Attribute*);
+ void updateAfterAttributeChanged(Attribute*);
+
// not part of the DOM
void setAttributeMap(PassRefPtr<NamedNodeMap>);
@@ -170,6 +175,8 @@ public:
virtual void formatForDebugger(char* buffer, unsigned length) const;
#endif
+ bool pseudoStyleCacheIsInvalid(const RenderStyle* currentStyle, RenderStyle* newStyle);
+
String innerText() const;
String outerText() const;
@@ -205,6 +212,8 @@ public:
virtual bool isEnabledFormControl() const { return true; }
virtual bool isReadOnlyFormControl() const { return false; }
virtual bool isTextFormControl() const { return false; }
+ virtual bool isOptionalFormControl() const { return false; }
+ virtual bool isRequiredFormControl() const { return false; }
virtual bool formControlValueMatchesRenderer() const { return false; }
virtual void setFormControlValueMatchesRenderer(bool) { }
diff --git a/src/3rdparty/webkit/WebCore/dom/ErrorEvent.cpp b/src/3rdparty/webkit/WebCore/dom/ErrorEvent.cpp
new file mode 100644
index 0000000..2627d01
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/dom/ErrorEvent.cpp
@@ -0,0 +1,76 @@
+/*
+ * Copyright (C) 2009 Google Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following disclaimer
+ * in the documentation and/or other materials provided with the
+ * distribution.
+ * * Neither the name of Google Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+
+#if ENABLE(WORKERS)
+
+#include "ErrorEvent.h"
+
+#include "EventNames.h"
+
+namespace WebCore {
+
+ErrorEvent::ErrorEvent()
+{
+}
+
+ErrorEvent::ErrorEvent(const String& message, const String& fileName, unsigned lineNumber)
+ : Event(eventNames().errorEvent, false, true)
+ , m_message(message)
+ , m_fileName(fileName)
+ , m_lineNumber(lineNumber)
+{
+}
+
+ErrorEvent::~ErrorEvent()
+{
+}
+
+void ErrorEvent::initErrorEvent(const AtomicString& type, bool canBubble, bool cancelable, const String& message, const String& fileName, unsigned lineNumber)
+{
+ if (dispatched())
+ return;
+
+ initEvent(type, canBubble, cancelable);
+
+ m_message = message;
+ m_fileName = fileName;
+ m_lineNumber = lineNumber;
+}
+
+bool ErrorEvent::isErrorEvent() const
+{
+ return true;
+}
+
+} // namespace WebCore
+
+#endif // ENABLE(WORKERS)
diff --git a/src/3rdparty/webkit/WebCore/dom/ErrorEvent.h b/src/3rdparty/webkit/WebCore/dom/ErrorEvent.h
new file mode 100644
index 0000000..f81530a
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/dom/ErrorEvent.h
@@ -0,0 +1,74 @@
+/*
+ * Copyright (C) 2009 Google Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following disclaimer
+ * in the documentation and/or other materials provided with the
+ * distribution.
+ * * Neither the name of Google Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef ErrorEvent_h
+#define ErrorEvent_h
+
+#if ENABLE(WORKERS)
+
+#include "Event.h"
+#include "PlatformString.h"
+
+namespace WebCore {
+
+ class ErrorEvent : public Event {
+ public:
+ static PassRefPtr<ErrorEvent> create()
+ {
+ return adoptRef(new ErrorEvent);
+ }
+ static PassRefPtr<ErrorEvent> create(const String& message, const String& fileName, unsigned lineNumber)
+ {
+ return adoptRef(new ErrorEvent(message, fileName, lineNumber));
+ }
+ virtual ~ErrorEvent();
+
+ void initErrorEvent(const AtomicString& type, bool canBubble, bool cancelable, const String& message, const String& fileName, unsigned lineNumber);
+
+ const String& message() const { return m_message; }
+ const String& filename() const { return m_fileName; }
+ unsigned lineno() const { return m_lineNumber; }
+
+ virtual bool isErrorEvent() const;
+
+ private:
+ ErrorEvent();
+ ErrorEvent(const String& message, const String& fileName, unsigned lineNumber);
+
+ String m_message;
+ String m_fileName;
+ unsigned m_lineNumber;
+ };
+
+} // namespace WebCore
+
+#endif // ENABLE(WORKERS)
+
+#endif // ErrorEvent_h
diff --git a/src/3rdparty/webkit/WebCore/dom/ErrorEvent.idl b/src/3rdparty/webkit/WebCore/dom/ErrorEvent.idl
new file mode 100644
index 0000000..6125e1e
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/dom/ErrorEvent.idl
@@ -0,0 +1,46 @@
+/*
+ * Copyright (C) 2009 Google Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following disclaimer
+ * in the documentation and/or other materials provided with the
+ * distribution.
+ * * Neither the name of Google Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+module events {
+
+ interface [
+ Conditional=WORKERS,
+ GenerateConstructor,
+ NoStaticTables
+ ] ErrorEvent : Event {
+
+ readonly attribute DOMString message;
+ readonly attribute DOMString filename;
+ readonly attribute unsigned long lineno;
+
+ void initErrorEvent(in DOMString typeArg, in boolean canBubbleArg, in boolean cancelableArg, in DOMString messageArg, in DOMString filenameArg, in unsigned long linenoArg);
+ };
+
+}
diff --git a/src/3rdparty/webkit/WebCore/dom/Event.cpp b/src/3rdparty/webkit/WebCore/dom/Event.cpp
index b4b87ed..9d1d079 100644
--- a/src/3rdparty/webkit/WebCore/dom/Event.cpp
+++ b/src/3rdparty/webkit/WebCore/dom/Event.cpp
@@ -158,6 +158,13 @@ bool Event::isStorageEvent() const
}
#endif
+#if ENABLE(WORKERS)
+bool Event::isErrorEvent() const
+{
+ return false;
+}
+#endif
+
bool Event::storesResultAsString() const
{
return false;
diff --git a/src/3rdparty/webkit/WebCore/dom/Event.h b/src/3rdparty/webkit/WebCore/dom/Event.h
index 6984215..823ff20 100644
--- a/src/3rdparty/webkit/WebCore/dom/Event.h
+++ b/src/3rdparty/webkit/WebCore/dom/Event.h
@@ -119,7 +119,10 @@ namespace WebCore {
#if ENABLE(DOM_STORAGE)
virtual bool isStorageEvent() const;
#endif
-
+#if ENABLE(WORKERS)
+ virtual bool isErrorEvent() const;
+#endif
+
bool propagationStopped() const { return m_propagationStopped; }
bool defaultPrevented() const { return m_defaultPrevented; }
diff --git a/src/3rdparty/webkit/WebCore/dom/Event.idl b/src/3rdparty/webkit/WebCore/dom/Event.idl
index 5ac9e0c..75b6b5f 100644
--- a/src/3rdparty/webkit/WebCore/dom/Event.idl
+++ b/src/3rdparty/webkit/WebCore/dom/Event.idl
@@ -22,6 +22,7 @@ module events {
// Introduced in DOM Level 2:
interface [
+ CustomToJS,
GenerateConstructor,
NoStaticTables,
Polymorphic,
diff --git a/src/3rdparty/webkit/WebCore/dom/EventListener.h b/src/3rdparty/webkit/WebCore/dom/EventListener.h
index dbc41b2..d288c8d 100644
--- a/src/3rdparty/webkit/WebCore/dom/EventListener.h
+++ b/src/3rdparty/webkit/WebCore/dom/EventListener.h
@@ -21,6 +21,7 @@
#ifndef EventListener_h
#define EventListener_h
+#include "PlatformString.h"
#include <wtf/RefCounted.h>
namespace JSC {
@@ -35,6 +36,8 @@ namespace WebCore {
public:
virtual ~EventListener() { }
virtual void handleEvent(Event*, bool isWindowEvent = false) = 0;
+ // Return true to indicate that the error is handled.
+ virtual bool reportError(const String& /*message*/, const String& /*url*/, int /*lineNumber*/) { return false; }
virtual bool wasCreatedFromMarkup() const { return false; }
#if USE(JSC)
diff --git a/src/3rdparty/webkit/WebCore/dom/EventTarget.cpp b/src/3rdparty/webkit/WebCore/dom/EventTarget.cpp
index 06cea07..42668e3 100644
--- a/src/3rdparty/webkit/WebCore/dom/EventTarget.cpp
+++ b/src/3rdparty/webkit/WebCore/dom/EventTarget.cpp
@@ -89,7 +89,14 @@ Worker* EventTarget::toWorker()
return 0;
}
-WorkerContext* EventTarget::toWorkerContext()
+DedicatedWorkerContext* EventTarget::toDedicatedWorkerContext()
+{
+ return 0;
+}
+#endif
+
+#if ENABLE(SHARED_WORKERS)
+SharedWorker* EventTarget::toSharedWorker()
{
return 0;
}
diff --git a/src/3rdparty/webkit/WebCore/dom/EventTarget.h b/src/3rdparty/webkit/WebCore/dom/EventTarget.h
index 662902e..f0c794f 100644
--- a/src/3rdparty/webkit/WebCore/dom/EventTarget.h
+++ b/src/3rdparty/webkit/WebCore/dom/EventTarget.h
@@ -36,7 +36,9 @@
namespace WebCore {
+ class AbstractWorker;
class AtomicString;
+ class DedicatedWorkerContext;
class DOMApplicationCache;
class DOMWindow;
class Event;
@@ -45,8 +47,8 @@ namespace WebCore {
class Node;
class SVGElementInstance;
class ScriptExecutionContext;
+ class SharedWorker;
class Worker;
- class WorkerContext;
class XMLHttpRequest;
class XMLHttpRequestUpload;
@@ -67,7 +69,11 @@ namespace WebCore {
#endif
#if ENABLE(WORKERS)
virtual Worker* toWorker();
- virtual WorkerContext* toWorkerContext();
+ virtual DedicatedWorkerContext* toDedicatedWorkerContext();
+#endif
+
+#if ENABLE(SHARED_WORKERS)
+ virtual SharedWorker* toSharedWorker();
#endif
virtual ScriptExecutionContext* scriptExecutionContext() const = 0;
diff --git a/src/3rdparty/webkit/WebCore/dom/HTMLAllCollection.idl b/src/3rdparty/webkit/WebCore/dom/HTMLAllCollection.idl
new file mode 100644
index 0000000..dee365f
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/dom/HTMLAllCollection.idl
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) 2008, 2009 Google Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following disclaimer
+ * in the documentation and/or other materials provided with the
+ * distribution.
+ * * Neither the name of Google Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+module html {
+
+ // This interface is used for undetectable HTMLCollections.
+ // An undetectable HTMLCollection behaves like an HTMLCollection
+ // when used, but the 'typeof' operator returns undefined and
+ // ToBoolean returns false.
+ interface HTMLAllCollection : HTMLCollection {
+ };
+
+}
diff --git a/src/3rdparty/webkit/WebCore/dom/InputElement.cpp b/src/3rdparty/webkit/WebCore/dom/InputElement.cpp
index 108d17e..b25cd5c 100644
--- a/src/3rdparty/webkit/WebCore/dom/InputElement.cpp
+++ b/src/3rdparty/webkit/WebCore/dom/InputElement.cpp
@@ -116,6 +116,8 @@ void InputElement::updateSelectionRange(InputElement* inputElement, Element* ele
if (!inputElement->isTextField())
return;
+ element->document()->updateLayoutIgnorePendingStylesheets();
+
if (RenderTextControl* renderer = toRenderTextControl(element->renderer()))
renderer->setSelectionRange(start, end);
}
diff --git a/src/3rdparty/webkit/WebCore/dom/MessageChannel.cpp b/src/3rdparty/webkit/WebCore/dom/MessageChannel.cpp
index ac0a4ab..73c016f 100644
--- a/src/3rdparty/webkit/WebCore/dom/MessageChannel.cpp
+++ b/src/3rdparty/webkit/WebCore/dom/MessageChannel.cpp
@@ -28,7 +28,7 @@
#include "MessageChannel.h"
#include "MessagePort.h"
-#include "PlatformMessagePortChannel.h"
+#include "MessagePortChannel.h"
namespace WebCore {
@@ -36,7 +36,7 @@ MessageChannel::MessageChannel(ScriptExecutionContext* context)
: m_port1(MessagePort::create(*context))
, m_port2(MessagePort::create(*context))
{
- PlatformMessagePortChannel::createChannel(m_port1.get(), m_port2.get());
+ MessagePortChannel::createChannel(m_port1.get(), m_port2.get());
}
MessageChannel::~MessageChannel()
diff --git a/src/3rdparty/webkit/WebCore/dom/MessagePortChannel.cpp b/src/3rdparty/webkit/WebCore/dom/MessagePortChannel.cpp
index 768d4f4..05134c0 100644
--- a/src/3rdparty/webkit/WebCore/dom/MessagePortChannel.cpp
+++ b/src/3rdparty/webkit/WebCore/dom/MessagePortChannel.cpp
@@ -30,14 +30,8 @@
#include "config.h"
#include "MessagePortChannel.h"
-#include "PlatformMessagePortChannel.h"
-
namespace WebCore {
-PassOwnPtr<MessagePortChannel> MessagePortChannel::create(PassRefPtr<PlatformMessagePortChannel> channel)
-{
- return new MessagePortChannel(channel);
-}
PassOwnPtr<MessagePortChannel::EventData> MessagePortChannel::EventData::create(const String& message, PassOwnPtr<MessagePortChannel> channel)
{
@@ -50,15 +44,4 @@ MessagePortChannel::EventData::EventData(const String& message, PassOwnPtr<Messa
{
}
-MessagePortChannel::MessagePortChannel(PassRefPtr<PlatformMessagePortChannel> channel)
- : m_channel(channel)
-{
-}
-
-MessagePortChannel::~MessagePortChannel()
-{
- // Make sure we close our platform channel when the base is freed, to keep the channel objects from leaking.
- m_channel->close();
-}
-
} // namespace WebCore
diff --git a/src/3rdparty/webkit/WebCore/dom/MessagePortChannel.h b/src/3rdparty/webkit/WebCore/dom/MessagePortChannel.h
index 15b3d16..93b224b 100644
--- a/src/3rdparty/webkit/WebCore/dom/MessagePortChannel.h
+++ b/src/3rdparty/webkit/WebCore/dom/MessagePortChannel.h
@@ -48,8 +48,10 @@ namespace WebCore {
// MessagePortChannel is a platform-independent interface to the remote side of a message channel.
// It acts as a wrapper around the platform-dependent PlatformMessagePortChannel implementation which ensures that the platform-dependent close() method is invoked before destruction.
- class MessagePortChannel : Noncopyable {
+ class MessagePortChannel : public Noncopyable {
public:
+ static void createChannel(PassRefPtr<MessagePort>, PassRefPtr<MessagePort>);
+
// Creates a new wrapper for the passed channel.
static PassOwnPtr<MessagePortChannel> create(PassRefPtr<PlatformMessagePortChannel>);
@@ -93,6 +95,8 @@ namespace WebCore {
~MessagePortChannel();
+ PlatformMessagePortChannel* channel() const { return m_channel.get(); }
+
private:
MessagePortChannel(PassRefPtr<PlatformMessagePortChannel>);
RefPtr<PlatformMessagePortChannel> m_channel;
diff --git a/src/3rdparty/webkit/WebCore/dom/NamedAttrMap.cpp b/src/3rdparty/webkit/WebCore/dom/NamedAttrMap.cpp
index f3e9bb2..fe631c8 100644
--- a/src/3rdparty/webkit/WebCore/dom/NamedAttrMap.cpp
+++ b/src/3rdparty/webkit/WebCore/dom/NamedAttrMap.cpp
@@ -164,7 +164,7 @@ PassRefPtr<Node> NamedNodeMap::removeNamedItem(const QualifiedName& name, Except
return r.release();
}
-PassRefPtr<Node> NamedNodeMap::item (unsigned index) const
+PassRefPtr<Node> NamedNodeMap::item(unsigned index) const
{
if (index >= length())
return 0;
diff --git a/src/3rdparty/webkit/WebCore/dom/Node.cpp b/src/3rdparty/webkit/WebCore/dom/Node.cpp
index 3ddf4c0..192462d 100644
--- a/src/3rdparty/webkit/WebCore/dom/Node.cpp
+++ b/src/3rdparty/webkit/WebCore/dom/Node.cpp
@@ -495,7 +495,7 @@ void Node::setTabIndexExplicitly(short i)
String Node::nodeValue() const
{
- return String();
+ return String();
}
void Node::setNodeValue(const String& /*nodeValue*/, ExceptionCode& ec)
@@ -517,7 +517,7 @@ PassRefPtr<NodeList> Node::childNodes()
document()->addNodeListCache();
}
- return ChildNodeList::create(this, &data->nodeLists()->m_childNodeListCaches);
+ return ChildNodeList::create(this, data->nodeLists()->m_childNodeListCaches.get());
}
Node *Node::lastDescendant() const
@@ -777,7 +777,7 @@ unsigned Node::nodeIndex() const
{
Node *_tempNode = previousSibling();
unsigned count=0;
- for( count=0; _tempNode; count++ )
+ for ( count=0; _tempNode; count++ )
_tempNode = _tempNode->previousSibling();
return count;
}
@@ -1500,9 +1500,9 @@ PassRefPtr<NodeList> Node::getElementsByTagNameNS(const AtomicString& namespaceU
pair<NodeListsNodeData::TagCacheMap::iterator, bool> result = data->nodeLists()->m_tagNodeListCaches.add(QualifiedName(nullAtom, localNameAtom, namespaceURI), 0);
if (result.second)
- result.first->second = new DynamicNodeList::Caches;
+ result.first->second = DynamicNodeList::Caches::create();
- return TagNodeList::create(this, namespaceURI.isEmpty() ? nullAtom : namespaceURI, localNameAtom, result.first->second);
+ return TagNodeList::create(this, namespaceURI.isEmpty() ? nullAtom : namespaceURI, localNameAtom, result.first->second.get());
}
PassRefPtr<NodeList> Node::getElementsByName(const String& elementName)
@@ -1515,9 +1515,9 @@ PassRefPtr<NodeList> Node::getElementsByName(const String& elementName)
pair<NodeListsNodeData::CacheMap::iterator, bool> result = data->nodeLists()->m_nameNodeListCaches.add(elementName, 0);
if (result.second)
- result.first->second = new DynamicNodeList::Caches;
+ result.first->second = DynamicNodeList::Caches::create();
- return NameNodeList::create(this, elementName, result.first->second);
+ return NameNodeList::create(this, elementName, result.first->second.get());
}
PassRefPtr<NodeList> Node::getElementsByClassName(const String& classNames)
@@ -1530,9 +1530,9 @@ PassRefPtr<NodeList> Node::getElementsByClassName(const String& classNames)
pair<NodeListsNodeData::CacheMap::iterator, bool> result = data->nodeLists()->m_classNodeListCaches.add(classNames, 0);
if (result.second)
- result.first->second = new DynamicNodeList::Caches;
+ result.first->second = DynamicNodeList::Caches::create();
- return ClassNodeList::create(this, classNames, result.first->second);
+ return ClassNodeList::create(this, classNames, result.first->second.get());
}
template <typename Functor>
@@ -2185,7 +2185,7 @@ void Node::formatForDebugger(char* buffer, unsigned length) const
void NodeListsNodeData::invalidateCaches()
{
- m_childNodeListCaches.reset();
+ m_childNodeListCaches->reset();
TagCacheMap::const_iterator tagCachesEnd = m_tagNodeListCaches.end();
for (TagCacheMap::const_iterator it = m_tagNodeListCaches.begin(); it != tagCachesEnd; ++it)
it->second->reset();
@@ -2208,24 +2208,24 @@ bool NodeListsNodeData::isEmpty() const
if (!m_listsWithCaches.isEmpty())
return false;
- if (m_childNodeListCaches.refCount)
+ if (m_childNodeListCaches->refCount())
return false;
TagCacheMap::const_iterator tagCachesEnd = m_tagNodeListCaches.end();
for (TagCacheMap::const_iterator it = m_tagNodeListCaches.begin(); it != tagCachesEnd; ++it) {
- if (it->second->refCount)
+ if (it->second->refCount())
return false;
}
CacheMap::const_iterator classCachesEnd = m_classNodeListCaches.end();
for (CacheMap::const_iterator it = m_classNodeListCaches.begin(); it != classCachesEnd; ++it) {
- if (it->second->refCount)
+ if (it->second->refCount())
return false;
}
CacheMap::const_iterator nameCachesEnd = m_nameNodeListCaches.end();
for (CacheMap::const_iterator it = m_nameNodeListCaches.begin(); it != nameCachesEnd; ++it) {
- if (it->second->refCount)
+ if (it->second->refCount())
return false;
}
diff --git a/src/3rdparty/webkit/WebCore/dom/Node.idl b/src/3rdparty/webkit/WebCore/dom/Node.idl
index bcfb226..1e31aea 100644
--- a/src/3rdparty/webkit/WebCore/dom/Node.idl
+++ b/src/3rdparty/webkit/WebCore/dom/Node.idl
@@ -23,9 +23,9 @@ module core {
interface [
CustomMarkFunction,
CustomPushEventHandlerScope,
+ CustomToJS,
GenerateConstructor,
GenerateNativeConverter,
- GenerateToJS,
InlineGetOwnPropertySlot,
Polymorphic,
InterfaceUUID=84BA0D7A-7E3E-4a7b-B6FB-7653E8FB54ED,
diff --git a/src/3rdparty/webkit/WebCore/dom/NodeRareData.h b/src/3rdparty/webkit/WebCore/dom/NodeRareData.h
index ae0e516..7740344 100644
--- a/src/3rdparty/webkit/WebCore/dom/NodeRareData.h
+++ b/src/3rdparty/webkit/WebCore/dom/NodeRareData.h
@@ -37,24 +37,18 @@ struct NodeListsNodeData {
typedef HashSet<DynamicNodeList*> NodeListSet;
NodeListSet m_listsWithCaches;
- DynamicNodeList::Caches m_childNodeListCaches;
+ RefPtr<DynamicNodeList::Caches> m_childNodeListCaches;
- typedef HashMap<String, DynamicNodeList::Caches*> CacheMap;
+ typedef HashMap<String, RefPtr<DynamicNodeList::Caches> > CacheMap;
CacheMap m_classNodeListCaches;
CacheMap m_nameNodeListCaches;
- typedef HashMap<QualifiedName, DynamicNodeList::Caches*> TagCacheMap;
+ typedef HashMap<QualifiedName, RefPtr<DynamicNodeList::Caches> > TagCacheMap;
TagCacheMap m_tagNodeListCaches;
- static PassOwnPtr<NodeListsNodeData> create() {
- return new NodeListsNodeData;
- }
-
- ~NodeListsNodeData()
+ static PassOwnPtr<NodeListsNodeData> create()
{
- deleteAllValues(m_classNodeListCaches);
- deleteAllValues(m_nameNodeListCaches);
- deleteAllValues(m_tagNodeListCaches);
+ return new NodeListsNodeData;
}
void invalidateCaches();
@@ -62,7 +56,10 @@ struct NodeListsNodeData {
bool isEmpty() const;
private:
- NodeListsNodeData() { }
+ NodeListsNodeData()
+ : m_childNodeListCaches(DynamicNodeList::Caches::create())
+ {
+ }
};
class NodeRareData {
diff --git a/src/3rdparty/webkit/WebCore/dom/Notation.h b/src/3rdparty/webkit/WebCore/dom/Notation.h
index 6f5bf3f..2bd5363 100644
--- a/src/3rdparty/webkit/WebCore/dom/Notation.h
+++ b/src/3rdparty/webkit/WebCore/dom/Notation.h
@@ -29,8 +29,7 @@
namespace WebCore {
-class Notation : public ContainerNode
-{
+class Notation : public ContainerNode {
public:
Notation(Document*);
Notation(Document*, const String& name, const String& publicId, const String& systemId);
diff --git a/src/3rdparty/webkit/WebCore/dom/Position.h b/src/3rdparty/webkit/WebCore/dom/Position.h
index 57f73ec..b434ec9 100644
--- a/src/3rdparty/webkit/WebCore/dom/Position.h
+++ b/src/3rdparty/webkit/WebCore/dom/Position.h
@@ -70,7 +70,7 @@ public:
// For creating offset positions:
Position(PassRefPtr<Node> anchorNode, int offset, AnchorType);
- AnchorType anchorType() const { return m_anchorType; }
+ AnchorType anchorType() const { return static_cast<AnchorType>(m_anchorType); }
void clear() { m_anchorNode.clear(); m_offset = 0; m_anchorType = PositionIsOffsetInAnchor; m_isLegacyEditingPosition = false; }
@@ -172,7 +172,7 @@ private:
// returns true, then other places in editing will treat m_offset == 0 as "before the anchor"
// and m_offset > 0 as "after the anchor node". See rangeCompliantEquivalent for more info.
int m_offset;
- AnchorType m_anchorType : 2;
+ unsigned m_anchorType : 2;
bool m_isLegacyEditingPosition : 1;
};
diff --git a/src/3rdparty/webkit/WebCore/dom/ProcessingInstruction.cpp b/src/3rdparty/webkit/WebCore/dom/ProcessingInstruction.cpp
index 879bf62..806bf92 100644
--- a/src/3rdparty/webkit/WebCore/dom/ProcessingInstruction.cpp
+++ b/src/3rdparty/webkit/WebCore/dom/ProcessingInstruction.cpp
@@ -123,7 +123,7 @@ void ProcessingInstruction::checkStyleSheet()
bool isCSS = type.isEmpty() || type == "text/css";
#if ENABLE(XSLT)
m_isXSL = (type == "text/xml" || type == "text/xsl" || type == "application/xml" ||
- type == "application/xhtml+xml" || type == "application/rss+xml" || type == "application/atom=xml");
+ type == "application/xhtml+xml" || type == "application/rss+xml" || type == "application/atom+xml");
if (!isCSS && !m_isXSL)
#else
if (!isCSS)
diff --git a/src/3rdparty/webkit/WebCore/dom/ProcessingInstruction.h b/src/3rdparty/webkit/WebCore/dom/ProcessingInstruction.h
index 3f42ed4..d133019 100644
--- a/src/3rdparty/webkit/WebCore/dom/ProcessingInstruction.h
+++ b/src/3rdparty/webkit/WebCore/dom/ProcessingInstruction.h
@@ -33,8 +33,7 @@ namespace WebCore {
class StyleSheet;
class CSSStyleSheet;
-class ProcessingInstruction : public ContainerNode, private CachedResourceClient
-{
+class ProcessingInstruction : public ContainerNode, private CachedResourceClient {
public:
ProcessingInstruction(Document*);
ProcessingInstruction(Document*, const String& target, const String& data);
diff --git a/src/3rdparty/webkit/WebCore/dom/Range.cpp b/src/3rdparty/webkit/WebCore/dom/Range.cpp
index 4fb1164..edee305 100644
--- a/src/3rdparty/webkit/WebCore/dom/Range.cpp
+++ b/src/3rdparty/webkit/WebCore/dom/Range.cpp
@@ -90,6 +90,7 @@ PassRefPtr<Range> Range::create(PassRefPtr<Document> ownerDocument, PassRefPtr<N
PassRefPtr<Range> Range::create(PassRefPtr<Document> ownerDocument, const Position& start, const Position& end)
{
+ // FIXME: we shouldn't be using deprecatedEditingOffset here
return adoptRef(new Range(ownerDocument, start.node(), start.deprecatedEditingOffset(), end.node(), end.deprecatedEditingOffset()));
}
@@ -294,7 +295,7 @@ bool Range::isPointInRange(Node* refNode, int offset, ExceptionCode& ec)
&& compareBoundaryPoints(refNode, offset, m_end.container(), m_end.offset()) <= 0;
}
-short Range::comparePoint(Node* refNode, int offset, ExceptionCode& ec)
+short Range::comparePoint(Node* refNode, int offset, ExceptionCode& ec) const
{
// http://developer.mozilla.org/en/docs/DOM:range.comparePoint
// This method returns -1, 0 or 1 depending on if the point described by the
@@ -332,7 +333,7 @@ short Range::comparePoint(Node* refNode, int offset, ExceptionCode& ec)
return 0;
}
-Range::CompareResults Range::compareNode(Node* refNode, ExceptionCode& ec)
+Range::CompareResults Range::compareNode(Node* refNode, ExceptionCode& ec) const
{
// http://developer.mozilla.org/en/docs/DOM:range.compareNode
// This method returns 0, 1, 2, or 3 based on if the node is before, after,
@@ -725,7 +726,7 @@ PassRefPtr<DocumentFragment> Range::processContents(ActionType action, Exception
for (; leftParent != commonRoot; leftParent = leftParent->parentNode()) {
if (action == EXTRACT_CONTENTS || action == CLONE_CONTENTS) {
RefPtr<Node> leftContentsParent = leftParent->cloneNode(false);
- leftContentsParent->appendChild(leftContents,ec);
+ leftContentsParent->appendChild(leftContents, ec);
leftContents = leftContentsParent;
}
@@ -733,11 +734,11 @@ PassRefPtr<DocumentFragment> Range::processContents(ActionType action, Exception
for (; n; n = next) {
next = n->nextSibling();
if (action == EXTRACT_CONTENTS)
- leftContents->appendChild(n,ec); // will remove n from leftParent
+ leftContents->appendChild(n, ec); // will remove n from leftParent
else if (action == CLONE_CONTENTS)
- leftContents->appendChild(n->cloneNode(true),ec);
+ leftContents->appendChild(n->cloneNode(true), ec);
else
- leftParent->removeChild(n,ec);
+ leftParent->removeChild(n, ec);
}
n = leftParent->nextSibling();
}
@@ -795,7 +796,7 @@ PassRefPtr<DocumentFragment> Range::processContents(ActionType action, Exception
for (; rightParent != commonRoot; rightParent = rightParent->parentNode()) {
if (action == EXTRACT_CONTENTS || action == CLONE_CONTENTS) {
RefPtr<Node> rightContentsParent = rightParent->cloneNode(false);
- rightContentsParent->appendChild(rightContents,ec);
+ rightContentsParent->appendChild(rightContents, ec);
rightContents = rightContentsParent;
}
Node* prev;
diff --git a/src/3rdparty/webkit/WebCore/dom/Range.h b/src/3rdparty/webkit/WebCore/dom/Range.h
index 115f442..1487a7c 100644
--- a/src/3rdparty/webkit/WebCore/dom/Range.h
+++ b/src/3rdparty/webkit/WebCore/dom/Range.h
@@ -59,10 +59,10 @@ public:
void setStart(PassRefPtr<Node> container, int offset, ExceptionCode&);
void setEnd(PassRefPtr<Node> container, int offset, ExceptionCode&);
void collapse(bool toStart, ExceptionCode&);
- bool isPointInRange(Node* refNode, int offset, ExceptionCode& ec);
- short comparePoint(Node* refNode, int offset, ExceptionCode& ec);
+ bool isPointInRange(Node* refNode, int offset, ExceptionCode&);
+ short comparePoint(Node* refNode, int offset, ExceptionCode&) const;
enum CompareResults { NODE_BEFORE, NODE_AFTER, NODE_BEFORE_AND_AFTER, NODE_INSIDE };
- CompareResults compareNode(Node* refNode, ExceptionCode&);
+ CompareResults compareNode(Node* refNode, ExceptionCode&) const;
enum CompareHow { START_TO_START, START_TO_END, END_TO_END, END_TO_START };
short compareBoundaryPoints(CompareHow, const Range* sourceRange, ExceptionCode&) const;
static short compareBoundaryPoints(Node* containerA, int offsetA, Node* containerB, int offsetB);
diff --git a/src/3rdparty/webkit/WebCore/dom/ScriptExecutionContext.h b/src/3rdparty/webkit/WebCore/dom/ScriptExecutionContext.h
index 7b2f36a..3f8febc 100644
--- a/src/3rdparty/webkit/WebCore/dom/ScriptExecutionContext.h
+++ b/src/3rdparty/webkit/WebCore/dom/ScriptExecutionContext.h
@@ -64,7 +64,7 @@ namespace WebCore {
SecurityOrigin* securityOrigin() const { return m_securityOrigin.get(); }
virtual void reportException(const String& errorMessage, int lineNumber, const String& sourceURL) = 0;
- virtual void addMessage(MessageDestination, MessageSource, MessageLevel, const String& message, unsigned lineNumber, const String& sourceURL) = 0;
+ virtual void addMessage(MessageDestination, MessageSource, MessageType, MessageLevel, const String& message, unsigned lineNumber, const String& sourceURL) = 0;
virtual void resourceRetrievedByXMLHttpRequest(unsigned long identifier, const ScriptString& sourceString) = 0;
virtual void scriptImported(unsigned long, const String&) = 0;
diff --git a/src/3rdparty/webkit/WebCore/dom/SelectElement.cpp b/src/3rdparty/webkit/WebCore/dom/SelectElement.cpp
index 1831f3a..45f3bd8 100644
--- a/src/3rdparty/webkit/WebCore/dom/SelectElement.cpp
+++ b/src/3rdparty/webkit/WebCore/dom/SelectElement.cpp
@@ -47,10 +47,17 @@
#include "WMLSelectElement.h"
#endif
-#if PLATFORM(MAC)
+// Configure platform-specific behavior when focused pop-up receives arrow/space/return keystroke.
+// (PLATFORM(MAC) is always false in Chromium, hence the extra test.)
+#if PLATFORM(MAC) || (PLATFORM(CHROMIUM) && PLATFORM(DARWIN))
#define ARROW_KEYS_POP_MENU 1
+#define SPACE_OR_RETURN_POP_MENU 0
+#elif PLATFORM(GTK)
+#define ARROW_KEYS_POP_MENU 0
+#define SPACE_OR_RETURN_POP_MENU 1
#else
#define ARROW_KEYS_POP_MENU 0
+#define SPACE_OR_RETURN_POP_MENU 0
#endif
using std::min;
@@ -509,6 +516,29 @@ void SelectElement::reset(SelectElementData& data, Element* element)
element->setNeedsStyleRecalc();
}
+
+#if !ARROW_KEYS_POP_MENU
+enum SkipDirection {
+ SkipBackwards = -1,
+ SkipForwards = 1
+};
+
+// Returns the index of the next valid list item |skip| items past |listIndex| in direction |direction|.
+static int nextValidIndex(const Vector<Element*>& listItems, int listIndex, SkipDirection direction, int skip)
+{
+ int lastGoodIndex = listIndex;
+ int size = listItems.size();
+ for (listIndex += direction; listIndex >= 0 && listIndex < size; listIndex += direction) {
+ --skip;
+ if (!listItems[listIndex]->disabled() && isOptionElement(listItems[listIndex])) {
+ lastGoodIndex = listIndex;
+ if (skip <= 0)
+ break;
+ }
+ }
+ return lastGoodIndex;
+}
+#endif
void SelectElement::menuListDefaultEventHandler(SelectElementData& data, Element* element, Event* event, HTMLFormElement* htmlForm)
{
@@ -535,24 +565,30 @@ void SelectElement::menuListDefaultEventHandler(SelectElementData& data, Element
}
#else
const Vector<Element*>& listItems = data.listItems(element);
- int size = listItems.size();
int listIndex = optionToListIndex(data, element, selectedIndex(data, element));
if (keyIdentifier == "Down" || keyIdentifier == "Right") {
- for (listIndex += 1;
- listIndex >= 0 && listIndex < size && (listItems[listIndex]->disabled() || !isOptionElement(listItems[listIndex]));
- ++listIndex) { }
- if (listIndex >= 0 && listIndex < size)
- setSelectedIndex(data, element, listToOptionIndex(data, element, listIndex));
+ listIndex = nextValidIndex(listItems, listIndex, SkipForwards, 1);
handled = true;
} else if (keyIdentifier == "Up" || keyIdentifier == "Left") {
- for (listIndex -= 1;
- listIndex >= 0 && listIndex < size && (listItems[listIndex]->disabled() || !isOptionElement(listItems[listIndex]));
- --listIndex) { }
- if (listIndex >= 0 && listIndex < size)
- setSelectedIndex(data, element, listToOptionIndex(data, element, listIndex));
+ listIndex = nextValidIndex(listItems, listIndex, SkipBackwards, 1);
+ handled = true;
+ } else if (keyIdentifier == "PageDown") {
+ listIndex = nextValidIndex(listItems, listIndex, SkipForwards, 3);
+ handled = true;
+ } else if (keyIdentifier == "PageUp") {
+ listIndex = nextValidIndex(listItems, listIndex, SkipBackwards, 3);
+ handled = true;
+ } else if (keyIdentifier == "Home") {
+ listIndex = nextValidIndex(listItems, -1, SkipForwards, 1);
+ handled = true;
+ } else if (keyIdentifier == "End") {
+ listIndex = nextValidIndex(listItems, listItems.size(), SkipBackwards, 1);
handled = true;
}
+
+ if (handled && listIndex >= 0 && listIndex < listItems.size())
+ setSelectedIndex(data, element, listToOptionIndex(data, element, listIndex));
#endif
if (handled)
event->setDefaultHandled();
@@ -567,7 +603,17 @@ void SelectElement::menuListDefaultEventHandler(SelectElementData& data, Element
int keyCode = static_cast<KeyboardEvent*>(event)->keyCode();
bool handled = false;
-#if ARROW_KEYS_POP_MENU
+#if SPACE_OR_RETURN_POP_MENU
+ if (keyCode == ' ' || keyCode == '\r') {
+ element->focus();
+ // Save the selection so it can be compared to the new selection when dispatching change events during setSelectedIndex,
+ // which gets called from RenderMenuList::valueChanged, which gets called after the user makes a selection from the menu.
+ saveLastSelection(data, element);
+ if (RenderMenuList* menuList = static_cast<RenderMenuList*>(element->renderer()))
+ menuList->showPopup();
+ handled = true;
+ }
+#elif ARROW_KEYS_POP_MENU
if (keyCode == ' ') {
element->focus();
// Save the selection so it can be compared to the new selection when dispatching change events during setSelectedIndex,
@@ -867,6 +913,19 @@ void SelectElement::accessKeySetSelectedIndex(SelectElementData& data, Element*
scrollToSelection(data, element);
}
+unsigned SelectElement::optionCount(const SelectElementData& data, const Element* element)
+{
+ unsigned options = 0;
+
+ const Vector<Element*>& items = data.listItems(element);
+ for (unsigned i = 0; i < items.size(); ++i) {
+ if (isOptionElement(items[i]))
+ ++options;
+ }
+
+ return options;
+}
+
// SelectElementData
SelectElementData::SelectElementData()
: m_multiple(false)
diff --git a/src/3rdparty/webkit/WebCore/dom/SelectElement.h b/src/3rdparty/webkit/WebCore/dom/SelectElement.h
index 29187ae..4cc76a0 100644
--- a/src/3rdparty/webkit/WebCore/dom/SelectElement.h
+++ b/src/3rdparty/webkit/WebCore/dom/SelectElement.h
@@ -95,7 +95,8 @@ protected:
static void typeAheadFind(SelectElementData&, Element*, KeyboardEvent*);
static void insertedIntoTree(SelectElementData&, Element*);
static void accessKeySetSelectedIndex(SelectElementData&, Element*, int index);
-
+ static unsigned optionCount(const SelectElementData&, const Element*);
+
private:
static void menuListDefaultEventHandler(SelectElementData&, Element*, Event*, HTMLFormElement*);
static void listBoxDefaultEventHandler(SelectElementData&, Element*, Event*, HTMLFormElement*);
diff --git a/src/3rdparty/webkit/WebCore/dom/StyledElement.cpp b/src/3rdparty/webkit/WebCore/dom/StyledElement.cpp
index 8ddfd31..456cc52 100644
--- a/src/3rdparty/webkit/WebCore/dom/StyledElement.cpp
+++ b/src/3rdparty/webkit/WebCore/dom/StyledElement.cpp
@@ -194,8 +194,8 @@ void StyledElement::attributeChanged(Attribute* attr, bool preserveDecls)
if (needToParse)
parseMappedAttribute(mappedAttr);
- if (entry == eNone && ownerDocument()->attached() && ownerDocument()->styleSelector()->hasSelectorForAttribute(attr->name().localName()))
- setNeedsStyleRecalc();
+ if (entry == eNone)
+ recalcStyleIfNeededAfterAttributeChanged(attr);
if (checkDecl && mappedAttr->decl()) {
// Add the decl to the table in the appropriate spot.
@@ -206,7 +206,7 @@ void StyledElement::attributeChanged(Attribute* attr, bool preserveDecls)
if (namedAttrMap)
mappedAttributes()->declAdded();
}
- Element::attributeChanged(attr, preserveDecls);
+ updateAfterAttributeChanged(attr);
}
bool StyledElement::mapToEntry(const QualifiedName& attrName, MappedAttributeEntry& result) const
@@ -280,10 +280,11 @@ CSSStyleDeclaration* StyledElement::style()
return getInlineStyleDecl();
}
-static inline int toHex(UChar c) {
+static inline int toHex(UChar c)
+{
return ((c >= '0' && c <= '9') ? (c - '0')
: ((c >= 'a' && c <= 'f') ? (c - 'a' + 10)
- : (( c >= 'A' && c <= 'F') ? (c - 'A' + 10)
+ : ((c >= 'A' && c <= 'F') ? (c - 'A' + 10)
: -1)));
}
diff --git a/src/3rdparty/webkit/WebCore/dom/Text.cpp b/src/3rdparty/webkit/WebCore/dom/Text.cpp
index 04e499a..bbd926b 100644
--- a/src/3rdparty/webkit/WebCore/dom/Text.cpp
+++ b/src/3rdparty/webkit/WebCore/dom/Text.cpp
@@ -260,6 +260,19 @@ RenderObject *Text::createRenderer(RenderArena* arena, RenderStyle*)
void Text::attach()
{
+#if ENABLE(WML)
+ if (document()->isWMLDocument() && !containsOnlyWhitespace()) {
+ String text = m_data;
+ ASSERT(!text.isEmpty());
+
+ text = substituteVariableReferences(text, document());
+
+ ExceptionCode code = 0;
+ setData(text, code);
+ ASSERT(!code);
+ }
+#endif
+
createRendererIfNeeded();
CharacterData::attach();
}
@@ -319,29 +332,6 @@ PassRefPtr<Text> Text::createWithLengthLimit(Document* doc, const String& text,
return new Text(doc, nodeText);
}
-#if ENABLE(WML)
-void Text::insertedIntoDocument()
-{
- CharacterData::insertedIntoDocument();
-
- if (!parentNode()->isWMLElement() || !length())
- return;
-
- WMLPageState* pageState = wmlPageStateForDocument(document());
- if (!pageState->hasVariables())
- return;
-
- String text = data();
- if (!text.impl() || text.impl()->containsOnlyWhitespace())
- return;
-
- text = substituteVariableReferences(text, document());
-
- ExceptionCode ec;
- setData(text, ec);
-}
-#endif
-
#ifndef NDEBUG
void Text::formatForDebugger(char *buffer, unsigned length) const
{
diff --git a/src/3rdparty/webkit/WebCore/dom/Text.h b/src/3rdparty/webkit/WebCore/dom/Text.h
index 5e711d0..e5a6e69 100644
--- a/src/3rdparty/webkit/WebCore/dom/Text.h
+++ b/src/3rdparty/webkit/WebCore/dom/Text.h
@@ -59,10 +59,6 @@ public:
static PassRefPtr<Text> createWithLengthLimit(Document*, const String&, unsigned& charsLeft, unsigned maxChars = cTextNodeLengthLimit);
-#if ENABLE(WML)
- virtual void insertedIntoDocument();
-#endif
-
#ifndef NDEBUG
virtual void formatForDebugger(char* buffer, unsigned length) const;
#endif
diff --git a/src/3rdparty/webkit/WebCore/dom/XMLTokenizerLibxml2.cpp b/src/3rdparty/webkit/WebCore/dom/XMLTokenizerLibxml2.cpp
index 4098eaa..4387a66 100644
--- a/src/3rdparty/webkit/WebCore/dom/XMLTokenizerLibxml2.cpp
+++ b/src/3rdparty/webkit/WebCore/dom/XMLTokenizerLibxml2.cpp
@@ -72,7 +72,7 @@ using namespace std;
namespace WebCore {
-class PendingCallbacks : Noncopyable {
+class PendingCallbacks : public Noncopyable {
public:
~PendingCallbacks()
{
@@ -195,7 +195,8 @@ private:
};
struct PendingStartElementNSCallback : public PendingCallback {
- virtual ~PendingStartElementNSCallback() {
+ virtual ~PendingStartElementNSCallback()
+ {
xmlFree(xmlLocalName);
xmlFree(xmlPrefix);
xmlFree(xmlURI);
@@ -208,7 +209,8 @@ private:
xmlFree(attributes);
}
- virtual void call(XMLTokenizer* tokenizer) {
+ virtual void call(XMLTokenizer* tokenizer)
+ {
tokenizer->startElementNs(xmlLocalName, xmlPrefix, xmlURI,
nb_namespaces, const_cast<const xmlChar**>(namespaces),
nb_attributes, nb_defaulted, const_cast<const xmlChar**>(attributes));
@@ -312,7 +314,7 @@ private:
struct PendingErrorCallback: public PendingCallback {
virtual ~PendingErrorCallback()
{
- free (message);
+ free(message);
}
virtual void call(XMLTokenizer* tokenizer)
@@ -344,7 +346,8 @@ class OffsetBuffer {
public:
OffsetBuffer(const Vector<char>& b) : m_buffer(b), m_currentOffset(0) { }
- int readOutBytes(char* outputBuffer, unsigned askedToRead) {
+ int readOutBytes(char* outputBuffer, unsigned askedToRead)
+ {
unsigned bytesLeft = m_buffer.size() - m_currentOffset;
unsigned lenToCopy = min(askedToRead, bytesLeft);
if (lenToCopy) {
@@ -668,7 +671,7 @@ typedef struct _xmlSAX2Namespace xmlSAX2Namespace;
static inline void handleElementNamespaces(Element* newElement, const xmlChar** libxmlNamespaces, int nb_namespaces, ExceptionCode& ec)
{
xmlSAX2Namespace* namespaces = reinterpret_cast<xmlSAX2Namespace*>(libxmlNamespaces);
- for(int i = 0; i < nb_namespaces; i++) {
+ for (int i = 0; i < nb_namespaces; i++) {
String namespaceQName = "xmlns";
String namespaceURI = toString(namespaces[i].uri);
if (namespaces[i].prefix)
@@ -691,7 +694,7 @@ typedef struct _xmlSAX2Attributes xmlSAX2Attributes;
static inline void handleElementAttributes(Element* newElement, const xmlChar** libxmlAttributes, int nb_attributes, ExceptionCode& ec)
{
xmlSAX2Attributes* attributes = reinterpret_cast<xmlSAX2Attributes*>(libxmlAttributes);
- for(int i = 0; i < nb_attributes; i++) {
+ for (int i = 0; i < nb_attributes; i++) {
String attrLocalName = toString(attributes[i].localname);
int valueLength = (int) (attributes[i].end - attributes[i].value);
String attrValue = toString(attributes[i].value, valueLength);
@@ -1407,7 +1410,7 @@ static void attributesStartElementNsHandler(void* closure, const xmlChar* xmlLoc
state->gotAttributes = true;
xmlSAX2Attributes* attributes = reinterpret_cast<xmlSAX2Attributes*>(libxmlAttributes);
- for(int i = 0; i < nb_attributes; i++) {
+ for (int i = 0; i < nb_attributes; i++) {
String attrLocalName = toString(attributes[i].localname);
int valueLength = (int) (attributes[i].end - attributes[i].value);
String attrValue = toString(attributes[i].value, valueLength);
diff --git a/src/3rdparty/webkit/WebCore/dom/XMLTokenizerQt.cpp b/src/3rdparty/webkit/WebCore/dom/XMLTokenizerQt.cpp
index 3173708..16c637f 100644
--- a/src/3rdparty/webkit/WebCore/dom/XMLTokenizerQt.cpp
+++ b/src/3rdparty/webkit/WebCore/dom/XMLTokenizerQt.cpp
@@ -66,8 +66,7 @@ using namespace std;
namespace WebCore {
#if QT_VERSION >= 0x040400
-class EntityResolver : public QXmlStreamEntityResolver
-{
+class EntityResolver : public QXmlStreamEntityResolver {
virtual QString resolveUndeclaredEntity(const QString &name);
};
@@ -354,7 +353,7 @@ static void attributesStartElementNsHandler(AttributeParseState* state, const QX
state->gotAttributes = true;
- for(int i = 0; i < attrs.count(); i++) {
+ for (int i = 0; i < attrs.count(); i++) {
const QXmlStreamAttribute& attr = attrs[i];
String attrLocalName = attr.name();
String attrValue = attr.value();
@@ -540,7 +539,7 @@ void XMLTokenizer::parseStartElement()
String prefix = prefixFromQName(m_stream.qualifiedName().toString());
if (m_parsingFragment && uri.isNull()) {
- Q_ASSERT (prefix.isNull());
+ Q_ASSERT(prefix.isNull());
uri = m_defaultNamespaceURI;
}
diff --git a/src/3rdparty/webkit/WebCore/dom/XMLTokenizerScope.h b/src/3rdparty/webkit/WebCore/dom/XMLTokenizerScope.h
index a3c1188..c29b796 100644
--- a/src/3rdparty/webkit/WebCore/dom/XMLTokenizerScope.h
+++ b/src/3rdparty/webkit/WebCore/dom/XMLTokenizerScope.h
@@ -36,7 +36,7 @@ namespace WebCore {
class DocLoader;
- class XMLTokenizerScope : Noncopyable {
+ class XMLTokenizerScope : public Noncopyable {
public:
XMLTokenizerScope(DocLoader* docLoader);
~XMLTokenizerScope();
diff --git a/src/3rdparty/webkit/WebCore/dom/default/PlatformMessagePortChannel.cpp b/src/3rdparty/webkit/WebCore/dom/default/PlatformMessagePortChannel.cpp
index 80ab7c8..d668703 100644
--- a/src/3rdparty/webkit/WebCore/dom/default/PlatformMessagePortChannel.cpp
+++ b/src/3rdparty/webkit/WebCore/dom/default/PlatformMessagePortChannel.cpp
@@ -37,6 +37,27 @@
namespace WebCore {
// MessagePortChannel implementations - just delegate to the PlatformMessagePortChannel.
+void MessagePortChannel::createChannel(PassRefPtr<MessagePort> port1, PassRefPtr<MessagePort> port2)
+{
+ PlatformMessagePortChannel::createChannel(port1, port2);
+}
+
+PassOwnPtr<MessagePortChannel> MessagePortChannel::create(PassRefPtr<PlatformMessagePortChannel> channel)
+{
+ return new MessagePortChannel(channel);
+}
+
+MessagePortChannel::MessagePortChannel(PassRefPtr<PlatformMessagePortChannel> channel)
+ : m_channel(channel)
+{
+}
+
+MessagePortChannel::~MessagePortChannel()
+{
+ // Make sure we close our platform channel when the base is freed, to keep the channel objects from leaking.
+ m_channel->close();
+}
+
bool MessagePortChannel::entangleIfOpen(MessagePort* port)
{
return m_channel->entangleIfOpen(port);
diff --git a/src/3rdparty/webkit/WebCore/dom/make_names.pl b/src/3rdparty/webkit/WebCore/dom/make_names.pl
index 12f0ec7..e6d59a0 100755
--- a/src/3rdparty/webkit/WebCore/dom/make_names.pl
+++ b/src/3rdparty/webkit/WebCore/dom/make_names.pl
@@ -875,22 +875,23 @@ sub printWrapperFunctions
}
# Hack for the media tags
+ # FIXME: This should have been done via a CustomWrapper attribute and a separate *Custom file.
if ($tags{$tagName}{"wrapperOnlyIfMediaIsAvailable"}) {
print F <<END
-static JSNode* create${JSInterfaceName}Wrapper(ExecState* exec, PassRefPtr<$parameters{'namespace'}Element> element)
+static JSNode* create${JSInterfaceName}Wrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<$parameters{'namespace'}Element> element)
{
if (!MediaPlayer::isAvailable())
- return CREATE_DOM_NODE_WRAPPER(exec, $parameters{'namespace'}Element, element.get());
- return CREATE_DOM_NODE_WRAPPER(exec, ${JSInterfaceName}, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, $parameters{'namespace'}Element, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, ${JSInterfaceName}, element.get());
}
END
;
} else {
print F <<END
-static JSNode* create${JSInterfaceName}Wrapper(ExecState* exec, PassRefPtr<$parameters{'namespace'}Element> element)
+static JSNode* create${JSInterfaceName}Wrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<$parameters{'namespace'}Element> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, ${JSInterfaceName}, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, ${JSInterfaceName}, element.get());
}
END
@@ -931,7 +932,7 @@ namespace WebCore {
using namespace $parameters{'namespace'}Names;
-typedef JSNode* (*Create$parameters{'namespace'}ElementWrapperFunction)(ExecState*, PassRefPtr<$parameters{'namespace'}Element>);
+typedef JSNode* (*Create$parameters{'namespace'}ElementWrapperFunction)(ExecState*, JSDOMGlobalObject*, PassRefPtr<$parameters{'namespace'}Element>);
END
;
@@ -939,7 +940,7 @@ END
printWrapperFunctions($F);
print F <<END
-JSNode* createJS$parameters{'namespace'}Wrapper(ExecState* exec, PassRefPtr<$parameters{'namespace'}Element> element)
+JSNode* createJS$parameters{'namespace'}Wrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<$parameters{'namespace'}Element> element)
{
typedef HashMap<WebCore::AtomicStringImpl*, Create$parameters{'namespace'}ElementWrapperFunction> FunctionMap;
DEFINE_STATIC_LOCAL(FunctionMap, map, ());
@@ -969,8 +970,8 @@ END
}
Create$parameters{'namespace'}ElementWrapperFunction createWrapperFunction = map.get(element->localName().impl());
if (createWrapperFunction)
- return createWrapperFunction(exec, element);
- return CREATE_DOM_NODE_WRAPPER(exec, $parameters{'namespace'}Element, element.get());
+ return createWrapperFunction(exec, globalObject, element);
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, $parameters{'namespace'}Element, element.get());
}
}
@@ -1006,9 +1007,10 @@ namespace JSC {
namespace WebCore {
class JSNode;
+ class JSDOMGlobalObject;
class $parameters{'namespace'}Element;
- JSNode* createJS$parameters{'namespace'}Wrapper(JSC::ExecState*, PassRefPtr<$parameters{'namespace'}Element>);
+ JSNode* createJS$parameters{'namespace'}Wrapper(JSC::ExecState*, JSDOMGlobalObject*, PassRefPtr<$parameters{'namespace'}Element>);
}
diff --git a/src/3rdparty/webkit/WebCore/editing/ApplyStyleCommand.cpp b/src/3rdparty/webkit/WebCore/editing/ApplyStyleCommand.cpp
index 8d0312b..36cd823 100644
--- a/src/3rdparty/webkit/WebCore/editing/ApplyStyleCommand.cpp
+++ b/src/3rdparty/webkit/WebCore/editing/ApplyStyleCommand.cpp
@@ -98,13 +98,12 @@ void StyleChange::init(PassRefPtr<CSSStyleDeclaration> style, const Position& po
Document* document = position.node() ? position.node()->document() : 0;
if (!document || !document->frame())
return;
-
+
bool useHTMLFormattingTags = !document->frame()->editor()->shouldStyleWithCSS();
-
RefPtr<CSSMutableStyleDeclaration> mutableStyle = style->makeMutable();
-
+ // We shouldn't have both text-decoration and -webkit-text-decorations-in-effect because that wouldn't make sense.
+ ASSERT(!mutableStyle->getPropertyCSSValue(CSSPropertyTextDecoration) || !mutableStyle->getPropertyCSSValue(CSSPropertyWebkitTextDecorationsInEffect));
String styleText("");
-
bool addedDirection = false;
CSSMutableStyleDeclaration::const_iterator end = mutableStyle->end();
for (CSSMutableStyleDeclaration::const_iterator it = mutableStyle->begin(); it != end; ++it) {
@@ -130,12 +129,12 @@ void StyleChange::init(PassRefPtr<CSSStyleDeclaration> style, const Position& po
}
// Add this property
-
- if (property->id() == CSSPropertyWebkitTextDecorationsInEffect) {
- // we have to special-case text decorations
- // FIXME: Why?
+ if (property->id() == CSSPropertyTextDecoration || property->id() == CSSPropertyWebkitTextDecorationsInEffect) {
+ // Always use text-decoration because -webkit-text-decoration-in-effect is internal.
CSSProperty alteredProperty(CSSPropertyTextDecoration, property->value(), property->isImportant());
- styleText += alteredProperty.cssText();
+ // We don't add "text-decoration: none" because it doesn't override the existing text decorations; i.e. redundant
+ if (!equalIgnoringCase(alteredProperty.value()->cssText(), "none"))
+ styleText += alteredProperty.cssText();
} else
styleText += property->cssText();
@@ -787,7 +786,7 @@ void ApplyStyleCommand::applyInlineStyle(CSSMutableStyleDeclaration *style)
styleWithoutEmbedding->removeProperty(CSSPropertyUnicodeBidi);
styleWithoutEmbedding->removeProperty(CSSPropertyDirection);
removeInlineStyle(styleWithoutEmbedding, removeStart, end);
- } else
+ } else
removeInlineStyle(style, removeStart, end);
start = startPosition();
@@ -857,7 +856,7 @@ void ApplyStyleCommand::applyInlineStyle(CSSMutableStyleDeclaration *style)
styleWithoutEmbedding->removeProperty(CSSPropertyUnicodeBidi);
styleWithoutEmbedding->removeProperty(CSSPropertyDirection);
applyInlineStyleToRange(styleWithoutEmbedding.get(), start, end);
- } else
+ } else
applyInlineStyleToRange(style, start, end);
// Remove dummy style spans created by splitting text elements.
@@ -962,6 +961,25 @@ bool ApplyStyleCommand::implicitlyStyledElementShouldBeRemovedWhenApplyingStyle(
if (elem->hasLocalName(iTag) || elem->hasLocalName(emTag))
return true;
break;
+ case CSSPropertyTextDecoration:
+ case CSSPropertyWebkitTextDecorationsInEffect:
+ ASSERT(property.value());
+ if (property.value()->isValueList()) {
+ CSSValueList* valueList = static_cast<CSSValueList*>(property.value());
+ DEFINE_STATIC_LOCAL(RefPtr<CSSPrimitiveValue>, underline, (CSSPrimitiveValue::createIdentifier(CSSValueUnderline)));
+ DEFINE_STATIC_LOCAL(RefPtr<CSSPrimitiveValue>, lineThrough, (CSSPrimitiveValue::createIdentifier(CSSValueLineThrough)));
+ // Because style is new style to be applied, we delete element only if the element is not used in style.
+ if (!valueList->hasValue(underline.get()) && elem->hasLocalName(uTag))
+ return true;
+ if (!valueList->hasValue(lineThrough.get()) && (elem->hasLocalName(strikeTag) || elem->hasLocalName(sTag)))
+ return true;
+ } else {
+ // If the value is NOT a list, then it must be "none", in which case we should remove all text decorations.
+ ASSERT(property.value()->cssText() == "none");
+ if (elem->hasLocalName(uTag) || elem->hasLocalName(strikeTag) || elem->hasLocalName(sTag))
+ return true;
+ }
+ break;
}
}
return false;
@@ -1075,11 +1093,17 @@ static bool hasTextDecorationProperty(Node *node)
static Node* highestAncestorWithTextDecoration(Node *node)
{
- Node *result = NULL;
+ ASSERT(node);
+ Node* result = 0;
+ Node* unsplittableElement = unsplittableElementForPosition(Position(node, 0));
for (Node *n = node; n; n = n->parentNode()) {
if (hasTextDecorationProperty(n))
result = n;
+ // Should stop at the editable root (cannot cross editing boundary) and
+ // also stop at the unsplittable element to be consistent with other UAs
+ if (n == unsplittableElement)
+ break;
}
return result;
@@ -1162,32 +1186,35 @@ void ApplyStyleCommand::applyTextDecorationStyle(Node *node, CSSMutableStyleDecl
}
}
-void ApplyStyleCommand::pushDownTextDecorationStyleAroundNode(Node* node, bool force)
+void ApplyStyleCommand::pushDownTextDecorationStyleAroundNode(Node* targetNode, bool forceNegate)
{
- Node *highestAncestor = highestAncestorWithTextDecoration(node);
-
- if (highestAncestor) {
- Node *nextCurrent;
- Node *nextChild;
- for (Node *current = highestAncestor; current != node; current = nextCurrent) {
- ASSERT(current);
-
- nextCurrent = NULL;
-
- RefPtr<CSSMutableStyleDeclaration> decoration = force ? extractAndNegateTextDecorationStyle(current) : extractTextDecorationStyle(current);
+ ASSERT(targetNode);
+ Node* highestAncestor = highestAncestorWithTextDecoration(targetNode);
+ if (!highestAncestor)
+ return;
- for (Node *child = current->firstChild(); child; child = nextChild) {
- nextChild = child->nextSibling();
+ // The outer loop is traversing the tree vertically from highestAncestor to targetNode
+ Node* current = highestAncestor;
+ while (current != targetNode) {
+ ASSERT(current);
+ ASSERT(current->contains(targetNode));
+ RefPtr<CSSMutableStyleDeclaration> decoration = forceNegate ? extractAndNegateTextDecorationStyle(current) : extractTextDecorationStyle(current);
+
+ // The inner loop will go through children on each level
+ Node* child = current->firstChild();
+ while (child) {
+ Node* nextChild = child->nextSibling();
+
+ // Apply text decoration to all nodes containing targetNode and their siblings but NOT to targetNode
+ if (child != targetNode)
+ applyTextDecorationStyle(child, decoration.get());
+
+ // We found the next node for the outer loop (contains targetNode)
+ // When reached targetNode, stop the outer loop upon the completion of the current inner loop
+ if (child == targetNode || child->contains(targetNode))
+ current = child;
- if (node == child) {
- nextCurrent = child;
- } else if (node->isDescendantOf(child)) {
- applyTextDecorationStyle(child, decoration.get());
- nextCurrent = child;
- } else {
- applyTextDecorationStyle(child, decoration.get());
- }
- }
+ child = nextChild;
}
}
}
diff --git a/src/3rdparty/webkit/WebCore/editing/ApplyStyleCommand.h b/src/3rdparty/webkit/WebCore/editing/ApplyStyleCommand.h
index 74fe605..61213d8 100644
--- a/src/3rdparty/webkit/WebCore/editing/ApplyStyleCommand.h
+++ b/src/3rdparty/webkit/WebCore/editing/ApplyStyleCommand.h
@@ -73,7 +73,7 @@ private:
PassRefPtr<CSSMutableStyleDeclaration> extractTextDecorationStyle(Node*);
PassRefPtr<CSSMutableStyleDeclaration> extractAndNegateTextDecorationStyle(Node*);
void applyTextDecorationStyle(Node*, CSSMutableStyleDeclaration *style);
- void pushDownTextDecorationStyleAroundNode(Node*, bool force);
+ void pushDownTextDecorationStyleAroundNode(Node*, bool forceNegate);
void pushDownTextDecorationStyleAtBoundaries(const Position& start, const Position& end);
// style-application helpers
diff --git a/src/3rdparty/webkit/WebCore/editing/CompositeEditCommand.cpp b/src/3rdparty/webkit/WebCore/editing/CompositeEditCommand.cpp
index 8e4f950..9737e92 100644
--- a/src/3rdparty/webkit/WebCore/editing/CompositeEditCommand.cpp
+++ b/src/3rdparty/webkit/WebCore/editing/CompositeEditCommand.cpp
@@ -1041,6 +1041,8 @@ Position CompositeEditCommand::positionAvoidingSpecialElementBoundary(const Posi
// to determine if the split is necessary. Returns the last split node.
PassRefPtr<Node> CompositeEditCommand::splitTreeToNode(Node* start, Node* end, bool splitAncestor)
{
+ ASSERT(start != end);
+
RefPtr<Node> node;
for (node = start; node && node->parent() != end; node = node->parent()) {
VisiblePosition positionInParent(Position(node->parent(), 0), DOWNSTREAM);
diff --git a/src/3rdparty/webkit/WebCore/editing/DeleteSelectionCommand.cpp b/src/3rdparty/webkit/WebCore/editing/DeleteSelectionCommand.cpp
index 5a0d8fc..d3ac341 100644
--- a/src/3rdparty/webkit/WebCore/editing/DeleteSelectionCommand.cpp
+++ b/src/3rdparty/webkit/WebCore/editing/DeleteSelectionCommand.cpp
@@ -260,8 +260,8 @@ static void removeEnclosingAnchorStyle(CSSMutableStyleDeclaration* style, const
if (!enclosingAnchor || !enclosingAnchor->parentNode())
return;
- RefPtr<CSSMutableStyleDeclaration> parentStyle = Position(enclosingAnchor->parentNode(), 0).computedStyle()->copyInheritableProperties();
- RefPtr<CSSMutableStyleDeclaration> anchorStyle = Position(enclosingAnchor, 0).computedStyle()->copyInheritableProperties();
+ RefPtr<CSSMutableStyleDeclaration> parentStyle = Position(enclosingAnchor->parentNode(), 0).computedStyle()->deprecatedCopyInheritableProperties();
+ RefPtr<CSSMutableStyleDeclaration> anchorStyle = Position(enclosingAnchor, 0).computedStyle()->deprecatedCopyInheritableProperties();
parentStyle->diff(anchorStyle.get());
anchorStyle->diff(style);
}
@@ -280,7 +280,7 @@ void DeleteSelectionCommand::saveTypingStyleState()
// Figure out the typing style in effect before the delete is done.
RefPtr<CSSComputedStyleDeclaration> computedStyle = positionBeforeTabSpan(m_selectionToDelete.start()).computedStyle();
- m_typingStyle = computedStyle->copyInheritableProperties();
+ m_typingStyle = computedStyle->deprecatedCopyInheritableProperties();
removeEnclosingAnchorStyle(m_typingStyle.get(), m_selectionToDelete.start());
@@ -288,7 +288,7 @@ void DeleteSelectionCommand::saveTypingStyleState()
// We'll use this later in computeTypingStyleAfterDelete if we end up outside of a Mail blockquote
if (nearestMailBlockquote(m_selectionToDelete.start().node())) {
computedStyle = m_selectionToDelete.end().computedStyle();
- m_deleteIntoBlockquoteStyle = computedStyle->copyInheritableProperties();
+ m_deleteIntoBlockquoteStyle = computedStyle->deprecatedCopyInheritableProperties();
} else
m_deleteIntoBlockquoteStyle = 0;
}
@@ -365,7 +365,7 @@ void DeleteSelectionCommand::removeNode(PassRefPtr<Node> node)
updateLayout();
RenderObject *r = node->renderer();
if (r && r->isTableCell() && static_cast<RenderTableCell*>(r)->contentHeight() <= 0)
- insertBlockPlaceholder(Position(node,0));
+ insertBlockPlaceholder(Position(node, 0));
return;
}
diff --git a/src/3rdparty/webkit/WebCore/editing/EditCommand.cpp b/src/3rdparty/webkit/WebCore/editing/EditCommand.cpp
index fefe658..d826231 100644
--- a/src/3rdparty/webkit/WebCore/editing/EditCommand.cpp
+++ b/src/3rdparty/webkit/WebCore/editing/EditCommand.cpp
@@ -197,7 +197,7 @@ bool EditCommand::isTypingCommand() const
PassRefPtr<CSSMutableStyleDeclaration> EditCommand::styleAtPosition(const Position &pos)
{
- RefPtr<CSSMutableStyleDeclaration> style = positionBeforeTabSpan(pos).computedStyle()->copyInheritableProperties();
+ RefPtr<CSSMutableStyleDeclaration> style = positionBeforeTabSpan(pos).computedStyle()->deprecatedCopyInheritableProperties();
// FIXME: It seems misleading to also include the typing style when returning the style at some arbitrary
// position in the document.
diff --git a/src/3rdparty/webkit/WebCore/editing/Editor.cpp b/src/3rdparty/webkit/WebCore/editing/Editor.cpp
index 2ad5cce..0b150d3 100644
--- a/src/3rdparty/webkit/WebCore/editing/Editor.cpp
+++ b/src/3rdparty/webkit/WebCore/editing/Editor.cpp
@@ -655,9 +655,9 @@ PassRefPtr<Node> Editor::increaseSelectionListLevelOrdered()
if (!canEditRichly() || m_frame->selection()->isNone())
return 0;
- PassRefPtr<Node> newList = IncreaseSelectionListLevelCommand::increaseSelectionListLevelOrdered(m_frame->document());
+ RefPtr<Node> newList = IncreaseSelectionListLevelCommand::increaseSelectionListLevelOrdered(m_frame->document());
revealSelectionAfterEditingOperation();
- return newList;
+ return newList.release();
}
PassRefPtr<Node> Editor::increaseSelectionListLevelUnordered()
@@ -665,9 +665,9 @@ PassRefPtr<Node> Editor::increaseSelectionListLevelUnordered()
if (!canEditRichly() || m_frame->selection()->isNone())
return 0;
- PassRefPtr<Node> newList = IncreaseSelectionListLevelCommand::increaseSelectionListLevelUnordered(m_frame->document());
+ RefPtr<Node> newList = IncreaseSelectionListLevelCommand::increaseSelectionListLevelUnordered(m_frame->document());
revealSelectionAfterEditingOperation();
- return newList;
+ return newList.release();
}
void Editor::decreaseSelectionListLevel()
@@ -1066,9 +1066,9 @@ void Editor::paste()
void Editor::pasteAsPlainText()
{
- if (!canPaste())
+ if (!canPaste())
return;
- pasteAsPlainTextWithPasteboard(Pasteboard::generalPasteboard());
+ pasteAsPlainTextWithPasteboard(Pasteboard::generalPasteboard());
}
void Editor::performDelete()
@@ -2258,20 +2258,9 @@ static void markMisspellingsOrBadGrammar(Editor* editor, const VisibleSelection&
Node* editableNode = searchRange->startContainer();
if (!editableNode || !editableNode->isContentEditable())
return;
-
- // Ascend the DOM tree to find a "spellcheck" attribute.
- // When we find a "spellcheck" attribute, retrieve its value and exit if its value is "false".
- const Node* node = editor->frame()->document()->focusedNode();
- while (node) {
- if (node->isElementNode()) {
- const WebCore::AtomicString& value = static_cast<const Element*>(node)->getAttribute(spellcheckAttr);
- if (equalIgnoringCase(value, "true"))
- break;
- if (equalIgnoringCase(value, "false"))
- return;
- }
- node = node->parent();
- }
+
+ if (!editor->spellCheckingEnabledInFocusedNode())
+ return;
// Get the spell checker if it is available
if (!editor->client())
@@ -2289,6 +2278,24 @@ static void markMisspellingsOrBadGrammar(Editor* editor, const VisibleSelection&
}
}
+bool Editor::spellCheckingEnabledInFocusedNode() const
+{
+ // Ascend the DOM tree to find a "spellcheck" attribute.
+ // When we find a "spellcheck" attribute, retrieve its value and return false if its value is "false".
+ const Node* node = frame()->document()->focusedNode();
+ while (node) {
+ if (node->isElementNode()) {
+ const WebCore::AtomicString& value = static_cast<const Element*>(node)->getAttribute(spellcheckAttr);
+ if (equalIgnoringCase(value, "true"))
+ return true;
+ if (equalIgnoringCase(value, "false"))
+ return false;
+ }
+ node = node->parent();
+ }
+ return true;
+}
+
void Editor::markMisspellings(const VisibleSelection& selection, RefPtr<Range>& firstMisspellingRange)
{
markMisspellingsOrBadGrammar(this, selection, true, firstMisspellingRange);
@@ -2325,7 +2332,10 @@ void Editor::markAllMisspellingsAndBadGrammarInRanges(bool markSpelling, Range*
Node* editableNode = spellingRange->startContainer();
if (!editableNode || !editableNode->isContentEditable())
return;
-
+
+ if (!spellCheckingEnabledInFocusedNode())
+ return;
+
// Expand the range to encompass entire paragraphs, since text checking needs that much context.
int spellingRangeStartOffset = 0;
int spellingRangeEndOffset = 0;
diff --git a/src/3rdparty/webkit/WebCore/editing/Editor.h b/src/3rdparty/webkit/WebCore/editing/Editor.h
index 67a4b59..5b0cc9c 100644
--- a/src/3rdparty/webkit/WebCore/editing/Editor.h
+++ b/src/3rdparty/webkit/WebCore/editing/Editor.h
@@ -196,6 +196,7 @@ public:
Vector<String> guessesForMisspelledSelection();
Vector<String> guessesForUngrammaticalSelection();
Vector<String> guessesForMisspelledOrUngrammaticalSelection(bool& misspelled, bool& ungrammatical);
+ bool spellCheckingEnabledInFocusedNode() const;
void markMisspellingsAfterTypingToPosition(const VisiblePosition&);
void markMisspellings(const VisibleSelection&, RefPtr<Range>& firstMisspellingRange);
void markBadGrammar(const VisibleSelection&);
diff --git a/src/3rdparty/webkit/WebCore/editing/EditorCommand.cpp b/src/3rdparty/webkit/WebCore/editing/EditorCommand.cpp
index ab62c09..e4d94c2 100644
--- a/src/3rdparty/webkit/WebCore/editing/EditorCommand.cpp
+++ b/src/3rdparty/webkit/WebCore/editing/EditorCommand.cpp
@@ -27,6 +27,7 @@
#include "config.h"
#include "AtomicString.h"
+#include "CSSComputedStyleDeclaration.h"
#include "CSSMutableStyleDeclaration.h"
#include "CSSPropertyNames.h"
#include "CSSValueKeywords.h"
@@ -89,64 +90,71 @@ static Frame* targetFrame(Frame* frame, Event* event)
return node->document()->frame();
}
-static bool executeApplyStyle(Frame* frame, EditorCommandSource source, EditAction action, int propertyID, const String& propertyValue)
+static bool applyCommandToFrame(Frame* frame, EditorCommandSource source, EditAction action, CSSMutableStyleDeclaration* style)
{
- RefPtr<CSSMutableStyleDeclaration> style = CSSMutableStyleDeclaration::create();
- style->setProperty(propertyID, propertyValue);
// FIXME: We don't call shouldApplyStyle when the source is DOM; is there a good reason for that?
switch (source) {
case CommandFromMenuOrKeyBinding:
- frame->editor()->applyStyleToSelection(style.get(), action);
+ frame->editor()->applyStyleToSelection(style, action);
return true;
case CommandFromDOM:
case CommandFromDOMWithUserInterface:
- frame->editor()->applyStyle(style.get());
+ frame->editor()->applyStyle(style);
return true;
}
ASSERT_NOT_REACHED();
return false;
}
-static bool executeApplyStyle(Frame* frame, EditorCommandSource source, EditAction action, int propertyID, const char* propertyValue)
+static bool executeApplyStyle(Frame* frame, EditorCommandSource source, EditAction action, int propertyID, const String& propertyValue)
{
- return executeApplyStyle(frame, source, action, propertyID, String(propertyValue));
+ RefPtr<CSSMutableStyleDeclaration> style = CSSMutableStyleDeclaration::create();
+ style->setProperty(propertyID, propertyValue);
+ return applyCommandToFrame(frame, source, action, style.get());
}
static bool executeApplyStyle(Frame* frame, EditorCommandSource source, EditAction action, int propertyID, int propertyValue)
{
RefPtr<CSSMutableStyleDeclaration> style = CSSMutableStyleDeclaration::create();
style->setProperty(propertyID, propertyValue);
- // FIXME: We don't call shouldApplyStyle when the source is DOM; is there a good reason for that?
- switch (source) {
- case CommandFromMenuOrKeyBinding:
- frame->editor()->applyStyleToSelection(style.get(), action);
- return true;
- case CommandFromDOM:
- case CommandFromDOMWithUserInterface:
- frame->editor()->applyStyle(style.get());
- return true;
- }
- ASSERT_NOT_REACHED();
- return false;
+ return applyCommandToFrame(frame, source, action, style.get());
}
+static bool executeToggleStyleInList(Frame* frame, EditorCommandSource source, EditAction action, int propertyID, CSSValue* value)
+{
+ ExceptionCode ec = 0;
+ Node* nodeToRemove = 0;
+ RefPtr<CSSComputedStyleDeclaration> selectionStyle = frame->selectionComputedStyle(nodeToRemove);
+ RefPtr<CSSValue> selectedCSSValue = selectionStyle->getPropertyCSSValue(propertyID);
+ String newStyle = "none";
+ if (selectedCSSValue->isValueList()) {
+ RefPtr<CSSValueList> selectedCSSValueList = static_cast<CSSValueList*>(selectedCSSValue.get());
+ if (!selectedCSSValueList->removeAll(value))
+ selectedCSSValueList->append(value);
+ if (selectedCSSValueList->length())
+ newStyle = selectedCSSValueList->cssText();
+
+ } else if (selectedCSSValue->cssText() == "none")
+ newStyle = value->cssText();
+
+ ASSERT(ec == 0);
+ if (nodeToRemove) {
+ nodeToRemove->remove(ec);
+ ASSERT(ec == 0);
+ }
+
+ // FIXME: We shouldn't be having to convert new style into text. We should have setPropertyCSSValue.
+ RefPtr<CSSMutableStyleDeclaration> newMutableStyle = CSSMutableStyleDeclaration::create();
+ newMutableStyle->setProperty(propertyID, newStyle,ec);
+ return applyCommandToFrame(frame, source, action, newMutableStyle.get());
+}
+
static bool executeToggleStyle(Frame* frame, EditorCommandSource source, EditAction action, int propertyID, const char* offValue, const char* onValue)
{
RefPtr<CSSMutableStyleDeclaration> style = CSSMutableStyleDeclaration::create();
style->setProperty(propertyID, onValue);
style->setProperty(propertyID, frame->editor()->selectionStartHasStyle(style.get()) ? offValue : onValue);
- // FIXME: We don't call shouldApplyStyle when the source is DOM; is there a good reason for that?
- switch (source) {
- case CommandFromMenuOrKeyBinding:
- frame->editor()->applyStyleToSelection(style.get(), action);
- return true;
- case CommandFromDOM:
- case CommandFromDOMWithUserInterface:
- frame->editor()->applyStyle(style.get());
- return true;
- }
- ASSERT_NOT_REACHED();
- return false;
+ return applyCommandToFrame(frame, source, action, style.get());
}
static bool executeApplyParagraphStyle(Frame* frame, EditorCommandSource source, EditAction action, int propertyID, const String& propertyValue)
@@ -937,7 +945,8 @@ static bool executeSetMark(Frame* frame, Event*, EditorCommandSource, const Stri
static bool executeStrikethrough(Frame* frame, Event*, EditorCommandSource source, const String&)
{
- return executeToggleStyle(frame, source, EditActionChangeAttributes, CSSPropertyWebkitTextDecorationsInEffect, "none", "line-through");
+ RefPtr<CSSPrimitiveValue> lineThrough = CSSPrimitiveValue::createIdentifier(CSSValueLineThrough);
+ return executeToggleStyleInList(frame, source, EditActionUnderline, CSSPropertyWebkitTextDecorationsInEffect, lineThrough.get());
}
static bool executeStyleWithCSS(Frame* frame, Event*, EditorCommandSource, const String& value)
@@ -990,8 +999,8 @@ static bool executeTranspose(Frame* frame, Event*, EditorCommandSource, const St
static bool executeUnderline(Frame* frame, Event*, EditorCommandSource source, const String&)
{
- // FIXME: This currently clears overline, line-through, and blink as an unwanted side effect.
- return executeToggleStyle(frame, source, EditActionUnderline, CSSPropertyWebkitTextDecorationsInEffect, "none", "underline");
+ RefPtr<CSSPrimitiveValue> underline = CSSPrimitiveValue::createIdentifier(CSSValueUnderline);
+ return executeToggleStyleInList(frame, source, EditActionUnderline, CSSPropertyWebkitTextDecorationsInEffect, underline.get());
}
static bool executeUndo(Frame* frame, Event*, EditorCommandSource, const String&)
@@ -1247,9 +1256,10 @@ static String valueForeColor(Frame* frame, Event*)
// Map of functions
-struct CommandEntry { const char* name; EditorInternalCommand command; };
static const CommandMap& createCommandMap()
{
+ struct CommandEntry { const char* name; EditorInternalCommand command; };
+
static const CommandEntry commands[] = {
{ "AlignCenter", { executeJustifyCenter, supportedFromMenuOrKeyBinding, enabledInRichlyEditableText, stateNone, valueNull, notTextInsertion, doNotAllowExecutionWhenDisabled } },
{ "AlignJustified", { executeJustifyFull, supportedFromMenuOrKeyBinding, enabledInRichlyEditableText, stateNone, valueNull, notTextInsertion, doNotAllowExecutionWhenDisabled } },
diff --git a/src/3rdparty/webkit/WebCore/editing/IndentOutdentCommand.cpp b/src/3rdparty/webkit/WebCore/editing/IndentOutdentCommand.cpp
index 3922367..42dd515 100644
--- a/src/3rdparty/webkit/WebCore/editing/IndentOutdentCommand.cpp
+++ b/src/3rdparty/webkit/WebCore/editing/IndentOutdentCommand.cpp
@@ -33,6 +33,7 @@
#include "InsertLineBreakCommand.h"
#include "InsertListCommand.h"
#include "Range.h"
+#include "DocumentFragment.h"
#include "SplitElementCommand.h"
#include "TextIterator.h"
#include "htmlediting.h"
@@ -57,18 +58,9 @@ static PassRefPtr<HTMLBlockquoteElement> createIndentBlockquoteElement(Document*
return element.release();
}
-static bool isIndentBlockquote(const Node* node)
-{
- if (!node || !node->hasTagName(blockquoteTag) || !node->isElementNode())
- return false;
-
- const Element* elem = static_cast<const Element*>(node);
- return elem->getAttribute(classAttr) == indentBlockquoteString();
-}
-
static bool isListOrIndentBlockquote(const Node* node)
{
- return node && (node->hasTagName(ulTag) || node->hasTagName(olTag) || isIndentBlockquote(node));
+ return node && (node->hasTagName(ulTag) || node->hasTagName(olTag) || node->hasTagName(blockquoteTag));
}
IndentOutdentCommand::IndentOutdentCommand(Document* document, EIndentType typeOfAction, int marginInPixels)
@@ -76,37 +68,6 @@ IndentOutdentCommand::IndentOutdentCommand(Document* document, EIndentType typeO
{
}
-// This function is a workaround for moveParagraph's tendency to strip blockquotes. It updates lastBlockquote to point to the
-// correct level for the current paragraph, and returns a pointer to a placeholder br where the insertion should be performed.
-PassRefPtr<Element> IndentOutdentCommand::prepareBlockquoteLevelForInsertion(const VisiblePosition& currentParagraph, RefPtr<Element>& lastBlockquote)
-{
- int currentBlockquoteLevel = 0;
- int lastBlockquoteLevel = 0;
- Node* node = currentParagraph.deepEquivalent().node();
- while ((node = enclosingNodeOfType(Position(node->parentNode(), 0), &isIndentBlockquote)))
- currentBlockquoteLevel++;
- node = lastBlockquote.get();
- while ((node = enclosingNodeOfType(Position(node->parentNode(), 0), &isIndentBlockquote)))
- lastBlockquoteLevel++;
- while (currentBlockquoteLevel > lastBlockquoteLevel) {
- RefPtr<Element> newBlockquote = createIndentBlockquoteElement(document());
- appendNode(newBlockquote, lastBlockquote);
- lastBlockquote = newBlockquote;
- lastBlockquoteLevel++;
- }
- while (currentBlockquoteLevel < lastBlockquoteLevel) {
- lastBlockquote = static_cast<Element*>(enclosingNodeOfType(Position(lastBlockquote->parentNode(), 0), isIndentBlockquote));
- lastBlockquoteLevel--;
- }
- RefPtr<Element> placeholder = createBreakElement(document());
- appendNode(placeholder, lastBlockquote);
- // Add another br before the placeholder if it collapsed.
- VisiblePosition visiblePos(Position(placeholder.get(), 0));
- if (!isStartOfParagraph(visiblePos))
- insertNodeBefore(createBreakElement(document()), placeholder);
- return placeholder.release();
-}
-
bool IndentOutdentCommand::tryIndentingAsListItem(const VisiblePosition& endOfCurrentParagraph)
{
// If our selection is not inside a list, bail out.
@@ -115,20 +76,19 @@ bool IndentOutdentCommand::tryIndentingAsListItem(const VisiblePosition& endOfCu
if (!listNode)
return false;
- HTMLElement* selectedListItem = enclosingListChild(lastNodeInSelectedParagraph);
+ // Find the list item enclosing the current paragraph
+ Element* selectedListItem = static_cast<Element*>(enclosingBlock(endOfCurrentParagraph.deepEquivalent().node()));
+ // FIXME: we need to deal with the case where there is no li (malformed HTML)
+ if (!selectedListItem->hasTagName(liTag))
+ return false;
// FIXME: previousElementSibling does not ignore non-rendered content like <span></span>. Should we?
Element* previousList = selectedListItem->previousElementSibling();
Element* nextList = selectedListItem->nextElementSibling();
RefPtr<Element> newList = document()->createElement(listNode->tagQName(), false);
- RefPtr<Element> newListItem = selectedListItem->cloneElementWithoutChildren();
- RefPtr<Element> placeholder = createBreakElement(document());
insertNodeBefore(newList, selectedListItem);
- appendNode(newListItem, newList);
- appendNode(placeholder, newListItem);
-
- moveParagraph(startOfParagraph(endOfCurrentParagraph), endOfCurrentParagraph, VisiblePosition(Position(placeholder, 0)), true);
+ appendParagraphIntoNode(visiblePositionBeforeNode(selectedListItem), visiblePositionAfterNode(selectedListItem), newList.get());
if (canMergeLists(previousList, newList.get()))
mergeIdenticalElements(previousList, newList);
@@ -138,29 +98,85 @@ bool IndentOutdentCommand::tryIndentingAsListItem(const VisiblePosition& endOfCu
return true;
}
-void IndentOutdentCommand::indentIntoBlockquote(const VisiblePosition& endOfCurrentParagraph, const VisiblePosition& endOfNextParagraph, RefPtr<Element>& targetBlockquote)
+void IndentOutdentCommand::indentIntoBlockquote(const VisiblePosition& startOfCurrentParagraph, const VisiblePosition& endOfCurrentParagraph, RefPtr<Element>& targetBlockquote, Node* nodeToSplitTo)
{
Node* enclosingCell = 0;
if (!targetBlockquote) {
- // Create a new blockquote and insert it as a child of the root editable element. We accomplish
+ // Create a new blockquote and insert it as a child of the enclosing block element. We accomplish
// this by splitting all parents of the current paragraph up to that point.
targetBlockquote = createIndentBlockquoteElement(document());
- Position start = startOfParagraph(endOfCurrentParagraph).deepEquivalent();
- enclosingCell = enclosingNodeOfType(start, &isTableCell);
- Node* nodeToSplitTo = enclosingCell ? enclosingCell : editableRootForPosition(start);
- RefPtr<Node> startOfNewBlock = splitTreeToNode(start.node(), nodeToSplitTo);
+ if (isTableCell(nodeToSplitTo))
+ enclosingCell = nodeToSplitTo;
+ RefPtr<Node> startOfNewBlock = splitTreeToNode(startOfCurrentParagraph.deepEquivalent().node(), nodeToSplitTo);
insertNodeBefore(targetBlockquote, startOfNewBlock);
}
- RefPtr<Element> insertionPoint = prepareBlockquoteLevelForInsertion(endOfCurrentParagraph, targetBlockquote);
+ VisiblePosition endOfNextParagraph = endOfParagraph(endOfCurrentParagraph.next());
+ appendParagraphIntoNode(startOfCurrentParagraph, endOfCurrentParagraph, targetBlockquote.get());
// Don't put the next paragraph in the blockquote we just created for this paragraph unless
// the next paragraph is in the same cell.
if (enclosingCell && enclosingCell != enclosingNodeOfType(endOfNextParagraph.deepEquivalent(), &isTableCell))
targetBlockquote = 0;
+}
- moveParagraph(startOfParagraph(endOfCurrentParagraph), endOfCurrentParagraph, VisiblePosition(Position(insertionPoint, 0)), true);
+bool IndentOutdentCommand::isAtUnsplittableElement(const Position& pos) const
+{
+ Node* node = pos.node();
+ return node == editableRootForPosition(pos) || node == enclosingNodeOfType(pos, &isTableCell);
+}
+
+// Enclose all nodes between start and end by newParent, which is a sibling node of nodes between start and end
+// FIXME: moveParagraph is overly complicated. We need to clean up moveParagraph so that it uses appendParagraphIntoNode
+// or prepare more specialized functions and delete moveParagraph
+void IndentOutdentCommand::appendParagraphIntoNode(const VisiblePosition& start, const VisiblePosition& end, Node* newParent)
+{
+ ASSERT(newParent);
+ ASSERT(newParent->isContentEditable());
+ ASSERT(isStartOfParagraph(start) && isEndOfParagraph(end));
+
+ Position endOfParagraph = end.deepEquivalent().downstream();
+ Node* insertionPoint = newParent->lastChild();// Remember the place to put br later
+ // Look for the beginning of the last paragraph in newParent
+ Node* startOfLastParagraph = startOfParagraph(Position(newParent, newParent->childNodeCount())).deepEquivalent().node();
+ if (startOfLastParagraph && !startOfLastParagraph->isDescendantOf(newParent))
+ startOfLastParagraph = 0;
+
+ // Extend the range so that we can append wrapping nodes as well if they're containd within the paragraph
+ ExceptionCode ec = 0;
+ RefPtr<Range> selectedRange = createRange(document(), start, end, ec);
+ RefPtr<Range> extendedRange = extendRangeToWrappingNodes(selectedRange, selectedRange.get(), newParent->parentNode());
+ newParent->appendChild(extendedRange->extractContents(ec), ec);
+
+ // If the start of paragraph didn't change by appending nodes, we should insert br to seperate the paragraphs.
+ Node* startOfNewParagraph = startOfParagraph(Position(newParent, newParent->childNodeCount())).deepEquivalent().node();
+ if (startOfNewParagraph == startOfLastParagraph) {
+ if (insertionPoint)
+ newParent->insertBefore(createBreakElement(document()), insertionPoint->nextSibling(), ec);
+ else
+ newParent->appendChild(createBreakElement(document()), ec);
+ }
+
+ // Remove unnecessary br from the place where we moved the paragraph from
+ removeUnnecessaryLineBreakAt(endOfParagraph);
+}
+
+void IndentOutdentCommand::removeUnnecessaryLineBreakAt(const Position& endOfParagraph)
+{
+ // If there is something in this paragraph, then don't remove br.
+ if (!isStartOfParagraph(endOfParagraph) || !isEndOfParagraph(endOfParagraph))
+ return;
+
+ // We only care about br at the end of paragraph
+ Node* br = endOfParagraph.node();
+ Node* parentNode = br->parentNode();
+
+ // If the node isn't br or the parent node is empty, then don't remove.
+ if (!br->hasTagName(brTag) || isVisiblyAdjacent(positionBeforeNode(parentNode), positionAfterNode(parentNode)))
+ return;
+
+ removeNodeAndPruneAncestors(br);
}
void IndentOutdentCommand::indentRegion()
@@ -168,16 +184,15 @@ void IndentOutdentCommand::indentRegion()
VisibleSelection selection = selectionForParagraphIteration(endingSelection());
VisiblePosition startOfSelection = selection.visibleStart();
VisiblePosition endOfSelection = selection.visibleEnd();
- int startIndex = indexForVisiblePosition(startOfSelection);
- int endIndex = indexForVisiblePosition(endOfSelection);
+ RefPtr<Range> selectedRange = selection.firstRange();
ASSERT(!startOfSelection.isNull());
ASSERT(!endOfSelection.isNull());
- // Special case empty root editable elements because there's nothing to split
+ // Special case empty unsplittable elements because there's nothing to split
// and there's nothing to move.
Position start = startOfSelection.deepEquivalent().downstream();
- if (start.node() == editableRootForPosition(start)) {
+ if (isAtUnsplittableElement(start)) {
RefPtr<Element> blockquote = createIndentBlockquoteElement(document());
insertNodeAt(blockquote, start);
RefPtr<Element> placeholder = createBreakElement(document());
@@ -194,10 +209,24 @@ void IndentOutdentCommand::indentRegion()
VisiblePosition endOfNextParagraph = endOfParagraph(endOfCurrentParagraph.next());
if (tryIndentingAsListItem(endOfCurrentParagraph))
blockquoteForNextIndent = 0;
- else
- indentIntoBlockquote(endOfCurrentParagraph, endOfNextParagraph, blockquoteForNextIndent);
- // blockquoteForNextIndent maybe updated
- // this is due to the way prepareBlockquoteLevelForInsertion was designed.
+ else {
+ VisiblePosition startOfCurrentParagraph = startOfParagraph(endOfCurrentParagraph);
+ Node* blockNode = enclosingBlock(endOfCurrentParagraph.deepEquivalent().node());
+ // extend the region so that it contains all the ancestor blocks within the selection
+ ExceptionCode ec;
+ Element* unsplittableNode = unsplittableElementForPosition(endOfCurrentParagraph.deepEquivalent());
+ RefPtr<Range> originalRange = createRange(document(), endOfCurrentParagraph, endOfCurrentParagraph, ec);
+ RefPtr<Range> extendedRange = extendRangeToWrappingNodes(originalRange, selectedRange.get(), unsplittableNode);
+ if (originalRange != extendedRange) {
+ ExceptionCode ec = 0;
+ endOfCurrentParagraph = endOfParagraph(extendedRange->endPosition().previous());
+ blockNode = enclosingBlock(extendedRange->commonAncestorContainer(ec));
+ }
+
+ endOfNextParagraph = endOfParagraph(endOfCurrentParagraph.next());
+ indentIntoBlockquote(startOfCurrentParagraph, endOfCurrentParagraph, blockquoteForNextIndent, blockNode);
+ // blockquoteForNextIndent will be updated in the function
+ }
// Sanity check: Make sure our moveParagraph calls didn't remove endOfNextParagraph.deepEquivalent().node()
// If somehow we did, return to prevent crashes.
if (endOfNextParagraph.isNotNull() && !endOfNextParagraph.deepEquivalent().node()->inDocument()) {
@@ -206,11 +235,7 @@ void IndentOutdentCommand::indentRegion()
}
endOfCurrentParagraph = endOfNextParagraph;
}
-
- RefPtr<Range> startRange = TextIterator::rangeFromLocationAndLength(document()->documentElement(), startIndex, 0, true);
- RefPtr<Range> endRange = TextIterator::rangeFromLocationAndLength(document()->documentElement(), endIndex, 0, true);
- if (startRange && endRange)
- setEndingSelection(VisibleSelection(startRange->startPosition(), endRange->startPosition(), DOWNSTREAM));
+
}
void IndentOutdentCommand::outdentParagraph()
@@ -232,7 +257,7 @@ void IndentOutdentCommand::outdentParagraph()
return;
}
- // The selection is inside a blockquote
+ // The selection is inside a blockquote i.e. enclosingNode is a blockquote
VisiblePosition positionInEnclosingBlock = VisiblePosition(Position(enclosingNode, 0));
VisiblePosition startOfEnclosingBlock = startOfBlock(positionInEnclosingBlock);
VisiblePosition lastPositionInEnclosingBlock = VisiblePosition(Position(enclosingNode, enclosingNode->childNodeCount()));
@@ -246,8 +271,8 @@ void IndentOutdentCommand::outdentParagraph()
// just removed one, then this assumption isn't true. By splitting the next containing blockquote after this node, we keep this assumption true
if (splitPoint) {
if (Node* splitPointParent = splitPoint->parentNode()) {
- if (isIndentBlockquote(splitPointParent)
- && !isIndentBlockquote(splitPoint)
+ if (splitPointParent->hasTagName(blockquoteTag)
+ && !splitPoint->hasTagName(blockquoteTag)
&& isContentEditable(splitPointParent->parentNode())) // We can't outdent if there is no place to go!
splitElement(static_cast<Element*>(splitPointParent), splitPoint);
}
@@ -263,10 +288,14 @@ void IndentOutdentCommand::outdentParagraph()
return;
}
- Node* enclosingBlockFlow = enclosingBlockFlowElement(visibleStartOfParagraph);
+ Node* enclosingBlockFlow = enclosingBlock(visibleStartOfParagraph.deepEquivalent().node());
RefPtr<Node> splitBlockquoteNode = enclosingNode;
if (enclosingBlockFlow != enclosingNode)
- splitBlockquoteNode = splitTreeToNode(enclosingBlockFlowElement(visibleStartOfParagraph), enclosingNode, true);
+ splitBlockquoteNode = splitTreeToNode(enclosingBlockFlow, enclosingNode, true);
+ else {
+ // We split the blockquote at where we start outdenting.
+ splitElement(static_cast<Element*>(enclosingNode), visibleStartOfParagraph.deepEquivalent().node());
+ }
RefPtr<Node> placeholder = createBreakElement(document());
insertNodeBefore(placeholder, splitBlockquoteNode);
moveParagraph(startOfParagraph(visibleStartOfParagraph), endOfParagraph(visibleEndOfParagraph), VisiblePosition(Position(placeholder.get(), 0)), true);
diff --git a/src/3rdparty/webkit/WebCore/editing/IndentOutdentCommand.h b/src/3rdparty/webkit/WebCore/editing/IndentOutdentCommand.h
index 419f832f..104a0e7 100644
--- a/src/3rdparty/webkit/WebCore/editing/IndentOutdentCommand.h
+++ b/src/3rdparty/webkit/WebCore/editing/IndentOutdentCommand.h
@@ -46,12 +46,16 @@ private:
virtual void doApply();
virtual EditAction editingAction() const { return m_typeOfAction == Indent ? EditActionIndent : EditActionOutdent; }
+ // FIXME: Does this belong in htmlediting.cpp?
+ bool isAtUnsplittableElement(const Position&) const;
+ void appendParagraphIntoNode(const VisiblePosition& start, const VisiblePosition& end, Node* newParent);
+ void removeUnnecessaryLineBreakAt(const Position& endOfParagraph);
+
void indentRegion();
void outdentRegion();
void outdentParagraph();
- PassRefPtr<Element> prepareBlockquoteLevelForInsertion(const VisiblePosition&, RefPtr<Element>&);
bool tryIndentingAsListItem(const VisiblePosition&);
- void indentIntoBlockquote(const VisiblePosition&, const VisiblePosition&, RefPtr<Element>&);
+ void indentIntoBlockquote(const VisiblePosition&, const VisiblePosition&, RefPtr<Element>& targetBlockquote, Node* nodeToSplitTo);
EIndentType m_typeOfAction;
int m_marginInPixels;
diff --git a/src/3rdparty/webkit/WebCore/editing/RemoveFormatCommand.cpp b/src/3rdparty/webkit/WebCore/editing/RemoveFormatCommand.cpp
index 6d681ee..1cf9aa2 100644
--- a/src/3rdparty/webkit/WebCore/editing/RemoveFormatCommand.cpp
+++ b/src/3rdparty/webkit/WebCore/editing/RemoveFormatCommand.cpp
@@ -55,7 +55,7 @@ void RemoveFormatCommand::doApply()
// Get the default style for this editable root, it's the style that we'll give the
// content that we're operating on.
Node* root = frame->selection()->rootEditableElement();
- RefPtr<CSSMutableStyleDeclaration> defaultStyle = computedStyle(root)->copyInheritableProperties();
+ RefPtr<CSSMutableStyleDeclaration> defaultStyle = computedStyle(root)->deprecatedCopyInheritableProperties();
// Delete the selected content.
// FIXME: We should be able to leave this to insertText, but its delete operation
diff --git a/src/3rdparty/webkit/WebCore/editing/ReplaceSelectionCommand.cpp b/src/3rdparty/webkit/WebCore/editing/ReplaceSelectionCommand.cpp
index c6da864..e0f62cf 100644
--- a/src/3rdparty/webkit/WebCore/editing/ReplaceSelectionCommand.cpp
+++ b/src/3rdparty/webkit/WebCore/editing/ReplaceSelectionCommand.cpp
@@ -60,7 +60,7 @@ enum EFragmentType { EmptyFragment, SingleTextNodeFragment, TreeFragment };
// --- ReplacementFragment helper class
-class ReplacementFragment : Noncopyable {
+class ReplacementFragment : public Noncopyable {
public:
ReplacementFragment(Document*, DocumentFragment*, bool matchStyle, const VisibleSelection&);
@@ -550,7 +550,7 @@ static bool handleStyleSpansBeforeInsertion(ReplacementFragment& fragment, const
Node* sourceDocumentStyleSpan = topNode;
RefPtr<Node> copiedRangeStyleSpan = sourceDocumentStyleSpan->firstChild();
- RefPtr<CSSMutableStyleDeclaration> styleAtInsertionPos = rangeCompliantEquivalent(insertionPos).computedStyle()->copyInheritableProperties();
+ RefPtr<CSSMutableStyleDeclaration> styleAtInsertionPos = rangeCompliantEquivalent(insertionPos).computedStyle()->deprecatedCopyInheritableProperties();
String styleText = styleAtInsertionPos->cssText();
if (styleText == static_cast<Element*>(sourceDocumentStyleSpan)->getAttribute(styleAttr)) {
@@ -606,8 +606,8 @@ void ReplaceSelectionCommand::handleStyleSpans()
// styles from blockquoteNode are allowed to override those from the source document, see <rdar://problem/4930986> and <rdar://problem/5089327>.
Node* blockquoteNode = isMailPasteAsQuotationNode(context) ? context : nearestMailBlockquote(context);
if (blockquoteNode) {
- RefPtr<CSSMutableStyleDeclaration> blockquoteStyle = computedStyle(blockquoteNode)->copyInheritableProperties();
- RefPtr<CSSMutableStyleDeclaration> parentStyle = computedStyle(blockquoteNode->parentNode())->copyInheritableProperties();
+ RefPtr<CSSMutableStyleDeclaration> blockquoteStyle = computedStyle(blockquoteNode)->deprecatedCopyInheritableProperties();
+ RefPtr<CSSMutableStyleDeclaration> parentStyle = computedStyle(blockquoteNode->parentNode())->deprecatedCopyInheritableProperties();
parentStyle->diff(blockquoteStyle.get());
CSSMutableStyleDeclaration::const_iterator end = blockquoteStyle->end();
@@ -619,7 +619,7 @@ void ReplaceSelectionCommand::handleStyleSpans()
context = blockquoteNode->parentNode();
}
- RefPtr<CSSMutableStyleDeclaration> contextStyle = computedStyle(context)->copyInheritableProperties();
+ RefPtr<CSSMutableStyleDeclaration> contextStyle = computedStyle(context)->deprecatedCopyInheritableProperties();
contextStyle->diff(sourceDocumentStyle.get());
// Remove block properties in the span's style. This prevents properties that probably have no effect
@@ -655,7 +655,7 @@ void ReplaceSelectionCommand::handleStyleSpans()
// Remove redundant styles.
context = copiedRangeStyleSpan->parentNode();
- contextStyle = computedStyle(context)->copyInheritableProperties();
+ contextStyle = computedStyle(context)->deprecatedCopyInheritableProperties();
contextStyle->diff(copiedRangeStyle.get());
// See the comments above about removing block properties.
diff --git a/src/3rdparty/webkit/WebCore/editing/SelectionController.cpp b/src/3rdparty/webkit/WebCore/editing/SelectionController.cpp
index 9bb68ad..b6874d6 100644
--- a/src/3rdparty/webkit/WebCore/editing/SelectionController.cpp
+++ b/src/3rdparty/webkit/WebCore/editing/SelectionController.cpp
@@ -100,6 +100,8 @@ void SelectionController::moveTo(const Position &base, const Position &extent, E
void SelectionController::setSelection(const VisibleSelection& s, bool closeTyping, bool clearTypingStyle, bool userTriggered)
{
+ m_lastChangeWasHorizontalExtension = false;
+
if (m_isDragCaretController) {
invalidateCaretRect();
m_sel = s;
@@ -223,34 +225,30 @@ void SelectionController::nodeWillBeRemoved(Node *node)
void SelectionController::willBeModified(EAlteration alter, EDirection direction)
{
- switch (alter) {
- case MOVE:
- m_lastChangeWasHorizontalExtension = false;
+ if (alter != EXTEND)
+ return;
+ if (m_lastChangeWasHorizontalExtension)
+ return;
+
+ Position start = m_sel.start();
+ Position end = m_sel.end();
+ // FIXME: This is probably not correct for right and left when the direction is RTL.
+ switch (direction) {
+ case RIGHT:
+ case FORWARD:
+ m_sel.setBase(start);
+ m_sel.setExtent(end);
break;
- case EXTEND:
- if (!m_lastChangeWasHorizontalExtension) {
- m_lastChangeWasHorizontalExtension = true;
- Position start = m_sel.start();
- Position end = m_sel.end();
- switch (direction) {
- // FIXME: right for bidi?
- case RIGHT:
- case FORWARD:
- m_sel.setBase(start);
- m_sel.setExtent(end);
- break;
- case LEFT:
- case BACKWARD:
- m_sel.setBase(end);
- m_sel.setExtent(start);
- break;
- }
- }
+ case LEFT:
+ case BACKWARD:
+ m_sel.setBase(end);
+ m_sel.setExtent(start);
break;
}
}
-TextDirection SelectionController::directionOfEnclosingBlock() {
+TextDirection SelectionController::directionOfEnclosingBlock()
+{
Node* n = m_sel.extent().node();
Node* enclosingBlockNode = enclosingBlock(n);
if (!enclosingBlockNode)
@@ -559,8 +557,8 @@ bool SelectionController::modify(EAlteration alter, EDirection dir, TextGranular
{
if (userTriggered) {
SelectionController trialSelectionController;
- trialSelectionController.setLastChangeWasHorizontalExtension(m_lastChangeWasHorizontalExtension);
trialSelectionController.setSelection(m_sel);
+ trialSelectionController.setLastChangeWasHorizontalExtension(m_lastChangeWasHorizontalExtension);
trialSelectionController.modify(alter, dir, granularity, false);
bool change = m_frame->shouldChangeSelection(trialSelectionController.selection());
@@ -633,6 +631,8 @@ bool SelectionController::modify(EAlteration alter, EDirection dir, TextGranular
setNeedsLayout();
+ m_lastChangeWasHorizontalExtension = alter == EXTEND;
+
return true;
}
@@ -654,6 +654,7 @@ bool SelectionController::modify(EAlteration alter, int verticalDistance, bool u
if (userTriggered) {
SelectionController trialSelectionController;
trialSelectionController.setSelection(m_sel);
+ trialSelectionController.setLastChangeWasHorizontalExtension(m_lastChangeWasHorizontalExtension);
trialSelectionController.modify(alter, verticalDistance, false);
bool change = m_frame->shouldChangeSelection(trialSelectionController.selection());
diff --git a/src/3rdparty/webkit/WebCore/editing/SelectionController.h b/src/3rdparty/webkit/WebCore/editing/SelectionController.h
index bbd343c..4a13a30 100644
--- a/src/3rdparty/webkit/WebCore/editing/SelectionController.h
+++ b/src/3rdparty/webkit/WebCore/editing/SelectionController.h
@@ -38,7 +38,7 @@ class GraphicsContext;
class RenderObject;
class VisiblePosition;
-class SelectionController : Noncopyable {
+class SelectionController : public Noncopyable {
public:
enum EAlteration { MOVE, EXTEND };
enum EDirection { FORWARD, BACKWARD, RIGHT, LEFT };
diff --git a/src/3rdparty/webkit/WebCore/editing/SmartReplaceICU.cpp b/src/3rdparty/webkit/WebCore/editing/SmartReplaceICU.cpp
index 18be647..9acd350 100644
--- a/src/3rdparty/webkit/WebCore/editing/SmartReplaceICU.cpp
+++ b/src/3rdparty/webkit/WebCore/editing/SmartReplaceICU.cpp
@@ -37,7 +37,8 @@
namespace WebCore {
-static void addAllCodePoints(USet* smartSet, const String& string) {
+static void addAllCodePoints(USet* smartSet, const String& string)
+{
const UChar* characters = string.characters();
for (size_t i = 0; i < string.length(); i++)
uset_add(smartSet, characters[i]);
diff --git a/src/3rdparty/webkit/WebCore/editing/TextIterator.cpp b/src/3rdparty/webkit/WebCore/editing/TextIterator.cpp
index aee34df..f82a972 100644
--- a/src/3rdparty/webkit/WebCore/editing/TextIterator.cpp
+++ b/src/3rdparty/webkit/WebCore/editing/TextIterator.cpp
@@ -42,6 +42,7 @@
#include "visible_units.h"
#if USE(ICU_UNICODE) && !UCONFIG_NO_COLLATION
+#include "TextBreakIteratorInternalICU.h"
#include <unicode/usearch.h>
#endif
@@ -56,7 +57,7 @@ using namespace HTMLNames;
// Keeps enough of the previous text to be able to search in the future, but no more.
// Non-breaking spaces are always equal to normal spaces.
// Case folding is also done if <isCaseSensitive> is false.
-class SearchBuffer : Noncopyable {
+class SearchBuffer : public Noncopyable {
public:
SearchBuffer(const String& target, bool isCaseSensitive);
~SearchBuffer();
@@ -143,7 +144,7 @@ unsigned BitStack::size() const
// --------
-static inline Node* parentOrShadowParent(Node* node)
+static inline Node* parentCrossingShadowBoundaries(Node* node)
{
if (Node* parent = node->parentNode())
return parent;
@@ -155,20 +156,50 @@ static inline Node* parentOrShadowParent(Node* node)
static unsigned depthCrossingShadowBoundaries(Node* node)
{
unsigned depth = 0;
- for (Node* parent = parentOrShadowParent(node); parent; parent = parentOrShadowParent(parent))
+ for (Node* parent = parentCrossingShadowBoundaries(node); parent; parent = parentCrossingShadowBoundaries(parent))
++depth;
return depth;
}
#endif
+// This function is like Range::pastLastNode, except for the fact that it can climb up out of shadow trees.
+static Node* nextInPreOrderCrossingShadowBoundaries(Node* rangeEndContainer, int rangeEndOffset)
+{
+ if (!rangeEndContainer)
+ return 0;
+ if (rangeEndOffset >= 0 && !rangeEndContainer->offsetInCharacters()) {
+ if (Node* next = rangeEndContainer->childNode(rangeEndOffset))
+ return next;
+ }
+ for (Node* node = rangeEndContainer; node; node = parentCrossingShadowBoundaries(node)) {
+ if (Node* next = node->nextSibling())
+ return next;
+ }
+ return 0;
+}
+
+static Node* previousInPostOrderCrossingShadowBoundaries(Node* rangeStartContainer, int rangeStartOffset)
+{
+ if (!rangeStartContainer)
+ return 0;
+ if (rangeStartOffset > 0 && !rangeStartContainer->offsetInCharacters()) {
+ if (Node* previous = rangeStartContainer->childNode(rangeStartOffset - 1))
+ return previous;
+ }
+ for (Node* node = rangeStartContainer; node; node = parentCrossingShadowBoundaries(node)) {
+ if (Node* previous = node->previousSibling())
+ return previous;
+ }
+ return 0;
+}
+
+// --------
+
static inline bool fullyClipsContents(Node* node)
{
RenderObject* renderer = node->renderer();
- if (!renderer || !renderer->isBox())
- return false;
- RenderStyle* style = renderer->style();
- if (style->overflowX() == OVISIBLE && style->overflowY() == OVISIBLE)
+ if (!renderer || !renderer->isBox() || !renderer->hasOverflowClip())
return false;
return toRenderBox(renderer)->size().isEmpty();
}
@@ -195,7 +226,7 @@ static void setUpFullyClippedStack(BitStack& stack, Node* node)
{
// Put the nodes in a vector so we can iterate in reverse order.
Vector<Node*, 100> ancestry;
- for (Node* parent = parentOrShadowParent(node); parent; parent = parentOrShadowParent(parent))
+ for (Node* parent = parentCrossingShadowBoundaries(node); parent; parent = parentCrossingShadowBoundaries(parent))
ancestry.append(parent);
// Call pushFullyClippedState on each node starting with the earliest ancestor.
@@ -265,7 +296,7 @@ TextIterator::TextIterator(const Range* r, bool emitCharactersBetweenAllVisibleP
m_handledChildren = false;
// calculate first out of bounds node
- m_pastEndNode = r->pastLastNode();
+ m_pastEndNode = nextInPreOrderCrossingShadowBoundaries(endContainer, endOffset);
// initialize node processing state
m_needAnotherNewline = false;
@@ -352,14 +383,14 @@ void TextIterator::advance()
next = m_node->nextSibling();
if (!next) {
bool pastEnd = m_node->traverseNextNode() == m_pastEndNode;
- Node* parentNode = parentOrShadowParent(m_node);
+ Node* parentNode = parentCrossingShadowBoundaries(m_node);
while (!next && parentNode) {
if ((pastEnd && parentNode == m_endContainer) || m_endContainer->isDescendantOf(parentNode))
return;
bool haveRenderer = m_node->renderer();
m_node = parentNode;
m_fullyClippedStack.pop();
- parentNode = parentOrShadowParent(m_node);
+ parentNode = parentCrossingShadowBoundaries(m_node);
if (haveRenderer)
exitNode();
if (m_positionNode) {
@@ -883,14 +914,14 @@ Node* TextIterator::node() const
// --------
-SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator() : m_positionNode(0)
+SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator()
+ : m_positionNode(0)
{
}
SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator(const Range* r)
+ : m_positionNode(0)
{
- m_positionNode = 0;
-
if (!r)
return;
@@ -932,15 +963,8 @@ SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator(const Range* r)
m_lastTextNode = 0;
m_lastCharacter = '\n';
-
- if (startOffset == 0 || !startNode->firstChild()) {
- m_pastStartNode = startNode->previousSibling();
- while (!m_pastStartNode && startNode->parentNode()) {
- startNode = startNode->parentNode();
- m_pastStartNode = startNode->previousSibling();
- }
- } else
- m_pastStartNode = startNode->childNode(startOffset - 1);
+
+ m_pastStartNode = previousInPostOrderCrossingShadowBoundaries(startNode, startOffset);
advance();
}
@@ -987,7 +1011,7 @@ void SimplifiedBackwardsTextIterator::advance()
// Exit all other containers.
next = m_node->previousSibling();
while (!next) {
- Node* parentNode = parentOrShadowParent(m_node);
+ Node* parentNode = parentCrossingShadowBoundaries(m_node);
if (!parentNode)
break;
m_node = parentNode;
@@ -1053,26 +1077,22 @@ bool SimplifiedBackwardsTextIterator::handleNonTextNode()
{
// We can use a linefeed in place of a tab because this simple iterator is only used to
// find boundaries, not actual content. A linefeed breaks words, sentences, and paragraphs.
- if (shouldEmitNewlineForNode(m_node) ||
- shouldEmitNewlineAfterNode(m_node) ||
- shouldEmitTabBeforeNode(m_node)) {
+ if (shouldEmitNewlineForNode(m_node) || shouldEmitNewlineAfterNode(m_node) || shouldEmitTabBeforeNode(m_node)) {
unsigned index = m_node->nodeIndex();
- // The start of this emitted range is wrong, ensuring correctness would require
- // VisiblePositions and so would be slow. previousBoundary expects this.
+ // The start of this emitted range is wrong. Ensuring correctness would require
+ // VisiblePositions and so would be slow. previousBoundary expects this.
emitCharacter('\n', m_node->parentNode(), index + 1, index + 1);
}
-
return true;
}
void SimplifiedBackwardsTextIterator::exitNode()
{
- if (shouldEmitNewlineForNode(m_node) ||
- shouldEmitNewlineBeforeNode(m_node) ||
- shouldEmitTabBeforeNode(m_node))
- // The start of this emitted range is wrong, ensuring correctness would require
- // VisiblePositions and so would be slow. previousBoundary expects this.
+ if (shouldEmitNewlineForNode(m_node) || shouldEmitNewlineBeforeNode(m_node) || shouldEmitTabBeforeNode(m_node)) {
+ // The start of this emitted range is wrong. Ensuring correctness would require
+ // VisiblePositions and so would be slow. previousBoundary expects this.
emitCharacter('\n', m_node, 0, 0);
+ }
}
void SimplifiedBackwardsTextIterator::emitCharacter(UChar c, Node* node, int startOffset, int endOffset)
@@ -1373,8 +1393,40 @@ const UChar* WordAwareIterator::characters() const
// --------
+static inline UChar foldQuoteMark(UChar c)
+{
+ switch (c) {
+ case hebrewPunctuationGershayim:
+ case leftDoubleQuotationMark:
+ case rightDoubleQuotationMark:
+ return '"';
+ case hebrewPunctuationGeresh:
+ case leftSingleQuotationMark:
+ case rightSingleQuotationMark:
+ return '\'';
+ default:
+ return c;
+ }
+}
+
+static inline void foldQuoteMarks(String& s)
+{
+ s.replace(hebrewPunctuationGeresh, '\'');
+ s.replace(hebrewPunctuationGershayim, '"');
+ s.replace(leftDoubleQuotationMark, '"');
+ s.replace(leftSingleQuotationMark, '\'');
+ s.replace(rightDoubleQuotationMark, '"');
+ s.replace(rightSingleQuotationMark, '\'');
+}
+
#if USE(ICU_UNICODE) && !UCONFIG_NO_COLLATION
+static inline void foldQuoteMarks(UChar* data, size_t length)
+{
+ for (size_t i = 0; i < length; ++i)
+ data[i] = foldQuoteMark(data[i]);
+}
+
static const size_t minimumSearchBufferSize = 8192;
#ifndef NDEBUG
@@ -1386,13 +1438,9 @@ static UStringSearch* createSearcher()
// Provide a non-empty pattern and non-empty text so usearch_open will not fail,
// but it doesn't matter exactly what it is, since we don't perform any searches
// without setting both the pattern and the text.
-
- // Pass empty string for the locale for now to get the Unicode Collation Algorithm,
- // rather than something locale-specific.
-
UErrorCode status = U_ZERO_ERROR;
- UStringSearch* searcher = usearch_open(&newlineCharacter, 1, &newlineCharacter, 1, "", 0, &status);
- ASSERT(status == U_ZERO_ERROR);
+ UStringSearch* searcher = usearch_open(&newlineCharacter, 1, &newlineCharacter, 1, currentSearchLocaleID(), 0, &status);
+ ASSERT(status == U_ZERO_ERROR || status == U_USING_FALLBACK_WARNING || status == U_USING_DEFAULT_WARNING);
return searcher;
}
@@ -1424,7 +1472,12 @@ inline SearchBuffer::SearchBuffer(const String& target, bool isCaseSensitive)
{
ASSERT(!m_target.isEmpty());
- size_t targetLength = target.length();
+ // FIXME: We'd like to tailor the searcher to fold quote marks for us instead
+ // of doing it in a separate replacement pass here, but ICU doesn't offer a way
+ // to add tailoring on top of the locale-specific tailoring as of this writing.
+ foldQuoteMarks(m_target);
+
+ size_t targetLength = m_target.length();
m_buffer.reserveInitialCapacity(max(targetLength * 8, minimumSearchBufferSize));
m_overlap = m_buffer.capacity() / 4;
@@ -1464,9 +1517,11 @@ inline size_t SearchBuffer::append(const UChar* characters, size_t length)
m_buffer.shrink(m_overlap);
}
- size_t usableLength = min(m_buffer.capacity() - m_buffer.size(), length);
+ size_t oldLength = m_buffer.size();
+ size_t usableLength = min(m_buffer.capacity() - oldLength, length);
ASSERT(usableLength);
m_buffer.append(characters, usableLength);
+ foldQuoteMarks(m_buffer.data() + oldLength, usableLength);
return usableLength;
}
@@ -1533,6 +1588,7 @@ inline SearchBuffer::SearchBuffer(const String& target, bool isCaseSensitive)
{
ASSERT(!m_target.isEmpty());
m_target.replace(noBreakSpace, ' ');
+ foldQuoteMarks(m_target);
}
inline SearchBuffer::~SearchBuffer()
@@ -1552,7 +1608,7 @@ inline bool SearchBuffer::atBreak() const
inline void SearchBuffer::append(UChar c, bool isStart)
{
- m_buffer[m_cursor] = c == noBreakSpace ? ' ' : c;
+ m_buffer[m_cursor] = c == noBreakSpace ? ' ' : foldQuoteMark(c);
m_isCharacterStartBuffer[m_cursor] = isStart;
if (++m_cursor == m_target.length()) {
m_cursor = 0;
@@ -1859,11 +1915,6 @@ tryAgain:
PassRefPtr<Range> findPlainText(const Range* range, const String& target, bool forward, bool caseSensitive)
{
- // We can't search effectively for a string that's entirely made of collapsible
- // whitespace, so we won't even try. This also takes care of the empty string case.
- if (isAllCollapsibleWhitespace(target))
- return collapsedToBoundary(range, forward);
-
// First, find the text.
size_t matchStart;
size_t matchLength;
diff --git a/src/3rdparty/webkit/WebCore/editing/gtk/SelectionControllerGtk.cpp b/src/3rdparty/webkit/WebCore/editing/gtk/SelectionControllerGtk.cpp
index c21c45a..f3bd4bc 100644
--- a/src/3rdparty/webkit/WebCore/editing/gtk/SelectionControllerGtk.cpp
+++ b/src/3rdparty/webkit/WebCore/editing/gtk/SelectionControllerGtk.cpp
@@ -30,11 +30,11 @@ namespace WebCore {
void SelectionController::notifyAccessibilityForSelectionChange()
{
if (AXObjectCache::accessibilityEnabled() && m_sel.start().isNotNull() && m_sel.end().isNotNull()) {
- RenderObject* focusedNode = m_sel.start().node()->renderer();
+ RenderObject* focusedNode = m_sel.end().node()->renderer();
AccessibilityObject* accessibilityObject = m_frame->document()->axObjectCache()->getOrCreate(focusedNode);
AtkObject* wrapper = accessibilityObject->wrapper();
if (ATK_IS_TEXT(wrapper)) {
- g_signal_emit_by_name(wrapper, "text-caret-moved", m_sel.start().computeOffsetInContainerNode());
+ g_signal_emit_by_name(wrapper, "text-caret-moved", m_sel.end().computeOffsetInContainerNode());
if (m_sel.isRange())
g_signal_emit_by_name(wrapper, "text-selection-changed");
diff --git a/src/3rdparty/webkit/WebCore/editing/htmlediting.cpp b/src/3rdparty/webkit/WebCore/editing/htmlediting.cpp
index c0bf009..a04d2b7 100644
--- a/src/3rdparty/webkit/WebCore/editing/htmlediting.cpp
+++ b/src/3rdparty/webkit/WebCore/editing/htmlediting.cpp
@@ -207,6 +207,20 @@ Element* editableRootForPosition(const Position& p)
return node->rootEditableElement();
}
+// Finds the enclosing element until which the tree can be split.
+// When a user hits ENTER, he/she won't expect this element to be split into two.
+// You may pass it as the second argument of splitTreeToNode.
+Element* unsplittableElementForPosition(const Position& p)
+{
+ // Since enclosingNodeOfType won't search beyond the highest root editable node,
+ // this code works even if the closest table cell was outside of the root editable node.
+ Element* enclosingCell = static_cast<Element*>(enclosingNodeOfType(p, &isTableCell, true));
+ if (enclosingCell)
+ return enclosingCell;
+
+ return editableRootForPosition(p);
+}
+
bool isContentEditable(const Node* node)
{
return node->isContentEditable();
@@ -565,16 +579,79 @@ Node* isLastPositionBeforeTable(const VisiblePosition& visiblePosition)
Position positionBeforeNode(const Node* node)
{
- // FIXME: This should ASSERT(node->parentNode())
+ ASSERT(node);
+ // FIXME: Should ASSERT(node->parentNode()) but doing so results in editing/deleting/delete-ligature-001.html crashing
return Position(node->parentNode(), node->nodeIndex());
}
Position positionAfterNode(const Node* node)
{
- // FIXME: This should ASSERT(node->parentNode())
+ ASSERT(node);
+ // FIXME: Should ASSERT(node->parentNode()) but doing so results in editing/deleting/delete-ligature-001.html crashing
return Position(node->parentNode(), node->nodeIndex() + 1);
}
+// Returns the visible position at the beginning of a node
+VisiblePosition visiblePositionBeforeNode(Node* node)
+{
+ ASSERT(node);
+ if (node->childNodeCount())
+ return VisiblePosition(node, 0, DOWNSTREAM);
+ ASSERT(node->parentNode());
+ return positionBeforeNode(node);
+}
+
+// Returns the visible position at the ending of a node
+VisiblePosition visiblePositionAfterNode(Node* node)
+{
+ ASSERT(node);
+ if (node->childNodeCount())
+ return VisiblePosition(node, node->childNodeCount(), DOWNSTREAM);
+ ASSERT(node->parentNode());
+ return positionAfterNode(node);
+}
+
+// Create a range object with two visible positions, start and end.
+// create(PassRefPtr<Document>, const Position&, const Position&); will use deprecatedEditingOffset
+// Use this function instead of create a regular range object (avoiding editing offset).
+PassRefPtr<Range> createRange(PassRefPtr<Document> document, const VisiblePosition& start, const VisiblePosition& end, ExceptionCode& ec)
+{
+ ec = 0;
+ RefPtr<Range> selectedRange = Range::create(document);
+ selectedRange->setStart(start.deepEquivalent().containerNode(), start.deepEquivalent().computeOffsetInContainerNode(), ec);
+ if (!ec)
+ selectedRange->setEnd(end.deepEquivalent().containerNode(), end.deepEquivalent().computeOffsetInContainerNode(), ec);
+ return selectedRange.release();
+}
+
+// Extend rangeToExtend to include nodes that wraps range and visibly starts and ends inside or at the boudnaries of maximumRange
+// e.g. if the original range spaned "hello" in <div>hello</div>, then this function extends the range to contain div's around it.
+// Call this function before copying / moving paragraphs to contain all wrapping nodes.
+// This function stops extending the range immediately below rootNode; i.e. the extended range can contain a child node of rootNode
+// but it can never contain rootNode itself.
+PassRefPtr<Range> extendRangeToWrappingNodes(PassRefPtr<Range> range, const Range* maximumRange, const Node* rootNode)
+{
+ ASSERT(range);
+ ASSERT(maximumRange);
+
+ ExceptionCode ec = 0;
+ Node* ancestor = range->commonAncestorContainer(ec);// find the cloeset common ancestor
+ Node* highestNode = 0;
+ // traverse through ancestors as long as they are contained within the range, content-editable, and below rootNode (could be =0).
+ while (ancestor && ancestor->isContentEditable() && isNodeVisiblyContainedWithin(ancestor, maximumRange) && ancestor != rootNode) {
+ highestNode = ancestor;
+ ancestor = ancestor->parentNode();
+ }
+
+ if (!highestNode)
+ return range;
+
+ // Create new range with the highest editable node contained within the range
+ RefPtr<Range> extendedRange = Range::create(range->ownerDocument());
+ extendedRange->selectNode(highestNode, ec);
+ return extendedRange.release();
+}
+
bool isListElement(Node *n)
{
return (n && (n->hasTagName(ulTag) || n->hasTagName(olTag) || n->hasTagName(dlTag)));
@@ -746,7 +823,7 @@ bool canMergeLists(Element* firstList, Element* secondList)
return firstList->hasTagName(secondList->tagQName())// make sure the list types match (ol vs. ul)
&& isContentEditable(firstList) && isContentEditable(secondList)// both lists are editable
&& firstList->rootEditableElement() == secondList->rootEditableElement()// don't cross editing boundaries
- && isVisibilyAdjacent(positionAfterNode(firstList), positionBeforeNode(secondList));
+ && isVisiblyAdjacent(positionAfterNode(firstList), positionBeforeNode(secondList));
// Make sure there is no visible content between this li and the previous list
}
@@ -974,7 +1051,7 @@ VisibleSelection selectionForParagraphIteration(const VisibleSelection& original
}
-int indexForVisiblePosition(VisiblePosition& visiblePosition)
+int indexForVisiblePosition(const VisiblePosition& visiblePosition)
{
if (visiblePosition.isNull())
return 0;
@@ -983,11 +1060,29 @@ int indexForVisiblePosition(VisiblePosition& visiblePosition)
return TextIterator::rangeLength(range.get(), true);
}
-bool isVisibilyAdjacent(const Position& first, const Position& second)
+// Determines whether two positions are visibly next to each other (first then second)
+// while ignoring whitespaces and unrendered nodes
+bool isVisiblyAdjacent(const Position& first, const Position& second)
{
return VisiblePosition(first) == VisiblePosition(second.upstream());
}
+// Determines whether a node is inside a range or visibly starts and ends at the boundaries of the range.
+// Call this function to determine whether a node is visibly fit inside selectedRange
+bool isNodeVisiblyContainedWithin(Node* node, const Range* selectedRange)
+{
+ ASSERT(node);
+ ASSERT(selectedRange);
+ // If the node is inside the range, then it surely is contained within
+ ExceptionCode ec = 0;
+ if (selectedRange->compareNode(node, ec) == Range::NODE_INSIDE)
+ return true;
+
+ // If the node starts and ends at where selectedRange starts and ends, the node is contained within
+ return visiblePositionBeforeNode(node) == selectedRange->startPosition()
+ && visiblePositionAfterNode(node) == selectedRange->endPosition();
+}
+
PassRefPtr<Range> avoidIntersectionWithNode(const Range* range, Node* node)
{
if (!range)
diff --git a/src/3rdparty/webkit/WebCore/editing/htmlediting.h b/src/3rdparty/webkit/WebCore/editing/htmlediting.h
index 25ff847..8f5d5ff 100644
--- a/src/3rdparty/webkit/WebCore/editing/htmlediting.h
+++ b/src/3rdparty/webkit/WebCore/editing/htmlediting.h
@@ -28,6 +28,7 @@
#include <wtf/Forward.h>
#include "HTMLNames.h"
+#include "ExceptionCode.h"
namespace WebCore {
@@ -61,6 +62,7 @@ Position previousVisuallyDistinctCandidate(const Position&);
bool isEditablePosition(const Position&);
bool isRichlyEditablePosition(const Position&);
Element* editableRootForPosition(const Position&);
+Element* unsplittableElementForPosition(const Position&);
bool isBlock(const Node*);
Node* enclosingBlock(Node*);
@@ -71,6 +73,10 @@ const String& nonBreakingSpaceString();
Position positionBeforeNode(const Node*);
Position positionAfterNode(const Node*);
+VisiblePosition visiblePositionBeforeNode(Node*);
+VisiblePosition visiblePositionAfterNode(Node*);
+PassRefPtr<Range> createRange(PassRefPtr<Document>, const VisiblePosition& start, const VisiblePosition& end, ExceptionCode&);
+PassRefPtr<Range> extendRangeToWrappingNodes(PassRefPtr<Range> rangeToExtend, const Range* maximumRange, const Node* rootNode);
PassRefPtr<Range> avoidIntersectionWithNode(const Range*, Node*);
VisibleSelection avoidIntersectionWithNode(const VisibleSelection&, Node*);
@@ -134,8 +140,9 @@ bool lineBreakExistsAtVisiblePosition(const VisiblePosition&);
VisibleSelection selectionForParagraphIteration(const VisibleSelection&);
-int indexForVisiblePosition(VisiblePosition&);
-bool isVisibilyAdjacent(const Position& first, const Position& second);
+int indexForVisiblePosition(const VisiblePosition&);
+bool isVisiblyAdjacent(const Position& first, const Position& second);
+bool isNodeVisiblyContainedWithin(Node*, const Range*);
}
#endif
diff --git a/src/3rdparty/webkit/WebCore/editing/markup.cpp b/src/3rdparty/webkit/WebCore/editing/markup.cpp
index d6fe1ce..6b6d326 100644
--- a/src/3rdparty/webkit/WebCore/editing/markup.cpp
+++ b/src/3rdparty/webkit/WebCore/editing/markup.cpp
@@ -292,8 +292,8 @@ static void removeEnclosingMailBlockquoteStyle(CSSMutableStyleDeclaration* style
if (!blockquote || !blockquote->parentNode())
return;
- RefPtr<CSSMutableStyleDeclaration> parentStyle = Position(blockquote->parentNode(), 0).computedStyle()->copyInheritableProperties();
- RefPtr<CSSMutableStyleDeclaration> blockquoteStyle = Position(blockquote, 0).computedStyle()->copyInheritableProperties();
+ RefPtr<CSSMutableStyleDeclaration> parentStyle = Position(blockquote->parentNode(), 0).computedStyle()->deprecatedCopyInheritableProperties();
+ RefPtr<CSSMutableStyleDeclaration> blockquoteStyle = Position(blockquote, 0).computedStyle()->deprecatedCopyInheritableProperties();
parentStyle->diff(blockquoteStyle.get());
blockquoteStyle->diff(style);
}
@@ -303,7 +303,7 @@ static void removeDefaultStyles(CSSMutableStyleDeclaration* style, Document* doc
if (!document || !document->documentElement())
return;
- RefPtr<CSSMutableStyleDeclaration> documentStyle = computedStyle(document->documentElement())->copyInheritableProperties();
+ RefPtr<CSSMutableStyleDeclaration> documentStyle = computedStyle(document->documentElement())->deprecatedCopyInheritableProperties();
documentStyle->diff(style);
}
@@ -692,7 +692,7 @@ static PassRefPtr<CSSMutableStyleDeclaration> styleFromMatchedRulesAndInlineDecl
return style.release();
}
-static bool propertyMissingOrEqualToNone(CSSMutableStyleDeclaration* style, int propertyID)
+static bool propertyMissingOrEqualToNone(CSSStyleDeclaration* style, int propertyID)
{
if (!style)
return false;
@@ -704,8 +704,11 @@ static bool propertyMissingOrEqualToNone(CSSMutableStyleDeclaration* style, int
return static_cast<CSSPrimitiveValue*>(value.get())->getIdent() == CSSValueNone;
}
-static bool elementHasTextDecorationProperty(const Node* node)
+static bool isElementPresentational(const Node* node)
{
+ if (node->hasTagName(uTag) || node->hasTagName(sTag) || node->hasTagName(strikeTag) ||
+ node->hasTagName(iTag) || node->hasTagName(emTag) || node->hasTagName(bTag) || node->hasTagName(strongTag))
+ return true;
RefPtr<CSSMutableStyleDeclaration> style = styleFromMatchedRulesAndInlineDecl(node);
if (!style)
return false;
@@ -763,6 +766,25 @@ static bool shouldIncludeWrapperForFullySelectedRoot(Node* fullySelectedRoot, CS
style->getPropertyCSSValue(CSSPropertyBackgroundColor);
}
+static void addStyleMarkup(Vector<String>& preMarkups, Vector<String>& postMarkups, CSSStyleDeclaration* style, Document* document, bool isBlock = false)
+{
+ // All text-decoration-related elements should have been treated as special ancestors
+ // If we ever hit this ASSERT, we should export StyleChange in ApplyStyleCommand and use it here
+ ASSERT(propertyMissingOrEqualToNone(style, CSSPropertyTextDecoration) && propertyMissingOrEqualToNone(style, CSSPropertyWebkitTextDecorationsInEffect));
+ DEFINE_STATIC_LOCAL(const String, divStyle, ("<div style=\""));
+ DEFINE_STATIC_LOCAL(const String, divClose, ("</div>"));
+ DEFINE_STATIC_LOCAL(const String, styleSpanOpen, ("<span class=\"" AppleStyleSpanClass "\" style=\""));
+ DEFINE_STATIC_LOCAL(const String, styleSpanClose, ("</span>"));
+ Vector<UChar> openTag;
+ append(openTag, isBlock ? divStyle : styleSpanOpen);
+ appendAttributeValue(openTag, style->cssText(), document->isHTMLDocument());
+ openTag.append('\"');
+ openTag.append('>');
+ preMarkups.append(String::adopt(openTag));
+
+ postMarkups.append(isBlock ? divClose : styleSpanClose);
+}
+
// FIXME: Shouldn't we omit style info when annotate == DoNotAnnotateForInterchange?
// FIXME: At least, annotation and style info should probably not be included in range.markupString()
String createMarkup(const Range* range, Vector<Node*>* nodes, EAnnotateForInterchange annotate, bool convertBlocksToInlines)
@@ -776,8 +798,6 @@ String createMarkup(const Range* range, Vector<Node*>* nodes, EAnnotateForInterc
if (!document)
return "";
- bool documentIsHTML = document->isHTMLDocument();
-
// Disable the delete button so it's elements are not serialized into the markup,
// but make sure neither endpoint is inside the delete user interface.
Frame* frame = document->frame();
@@ -927,12 +947,12 @@ String createMarkup(const Range* range, Vector<Node*>* nodes, EAnnotateForInterc
if (isMailBlockquote(ancestor))
specialCommonAncestor = ancestor;
}
-
+
Node* checkAncestor = specialCommonAncestor ? specialCommonAncestor : commonAncestor;
if (checkAncestor->renderer()) {
- RefPtr<CSSMutableStyleDeclaration> checkAncestorStyle = computedStyle(checkAncestor)->copyInheritableProperties();
- if (!propertyMissingOrEqualToNone(checkAncestorStyle.get(), CSSPropertyWebkitTextDecorationsInEffect))
- specialCommonAncestor = enclosingNodeOfType(Position(checkAncestor, 0), &elementHasTextDecorationProperty);
+ Node* newSpecialCommonAncestor = highestEnclosingNodeOfType(Position(checkAncestor, 0), &isElementPresentational);
+ if (newSpecialCommonAncestor)
+ specialCommonAncestor = newSpecialCommonAncestor;
}
// If a single tab is selected, commonAncestor will be a text node inside a tab span.
@@ -966,18 +986,8 @@ String createMarkup(const Range* range, Vector<Node*>* nodes, EAnnotateForInterc
if (!fullySelectedRootStyle->getPropertyCSSValue(CSSPropertyBackgroundImage) && static_cast<Element*>(fullySelectedRoot)->hasAttribute(backgroundAttr))
fullySelectedRootStyle->setProperty(CSSPropertyBackgroundImage, "url('" + static_cast<Element*>(fullySelectedRoot)->getAttribute(backgroundAttr) + "')");
- if (fullySelectedRootStyle->length()) {
- Vector<UChar> openTag;
- DEFINE_STATIC_LOCAL(const String, divStyle, ("<div style=\""));
- append(openTag, divStyle);
- appendAttributeValue(openTag, fullySelectedRootStyle->cssText(), documentIsHTML);
- openTag.append('\"');
- openTag.append('>');
- preMarkups.append(String::adopt(openTag));
-
- DEFINE_STATIC_LOCAL(const String, divCloseTag, ("</div>"));
- markups.append(divCloseTag);
- }
+ if (fullySelectedRootStyle->length())
+ addStyleMarkup(preMarkups, markups, fullySelectedRootStyle.get(), document, true);
} else {
// Since this node and all the other ancestors are not in the selection we want to set RangeFullySelectsNode to DoesNotFullySelectNode
// so that styles that affect the exterior of the node are not included.
@@ -993,14 +1003,11 @@ String createMarkup(const Range* range, Vector<Node*>* nodes, EAnnotateForInterc
break;
}
}
-
- DEFINE_STATIC_LOCAL(const String, styleSpanOpen, ("<span class=\"" AppleStyleSpanClass "\" style=\""));
- DEFINE_STATIC_LOCAL(const String, styleSpanClose, ("</span>"));
-
+
// Add a wrapper span with the styles that all of the nodes in the markup inherit.
Node* parentOfLastClosed = lastClosed ? lastClosed->parentNode() : 0;
if (parentOfLastClosed && parentOfLastClosed->renderer()) {
- RefPtr<CSSMutableStyleDeclaration> style = computedStyle(parentOfLastClosed)->copyInheritableProperties();
+ RefPtr<CSSMutableStyleDeclaration> style = computedStyle(parentOfLastClosed)->deprecatedCopyInheritableProperties();
// Styles that Mail blockquotes contribute should only be placed on the Mail blockquote, to help
// us differentiate those styles from ones that the user has applied. This helps us
@@ -1016,33 +1023,18 @@ String createMarkup(const Range* range, Vector<Node*>* nodes, EAnnotateForInterc
if (convertBlocksToInlines)
style->removeBlockProperties();
- if (style->length() > 0) {
- Vector<UChar> openTag;
- append(openTag, styleSpanOpen);
- appendAttributeValue(openTag, style->cssText(), documentIsHTML);
- openTag.append('\"');
- openTag.append('>');
- preMarkups.append(String::adopt(openTag));
-
- markups.append(styleSpanClose);
- }
+ if (style->length() > 0)
+ addStyleMarkup(preMarkups, markups, style.get(), document);
}
if (lastClosed && lastClosed != document->documentElement()) {
// Add a style span with the document's default styles. We add these in a separate
// span so that at paste time we can differentiate between document defaults and user
// applied styles.
- RefPtr<CSSMutableStyleDeclaration> defaultStyle = computedStyle(document->documentElement())->copyInheritableProperties();
+ RefPtr<CSSMutableStyleDeclaration> defaultStyle = computedStyle(document->documentElement())->deprecatedCopyInheritableProperties();
- if (defaultStyle->length() > 0) {
- Vector<UChar> openTag;
- append(openTag, styleSpanOpen);
- appendAttributeValue(openTag, defaultStyle->cssText(), documentIsHTML);
- openTag.append('\"');
- openTag.append('>');
- preMarkups.append(String::adopt(openTag));
- markups.append(styleSpanClose);
- }
+ if (defaultStyle->length() > 0)
+ addStyleMarkup(preMarkups, markups, defaultStyle.get(), document);
}
// FIXME: The interchange newline should be placed in the block that it's in, not after all of the content, unconditionally.
diff --git a/src/3rdparty/webkit/WebCore/editing/visible_units.cpp b/src/3rdparty/webkit/WebCore/editing/visible_units.cpp
index 02e9fb8..869c893 100644
--- a/src/3rdparty/webkit/WebCore/editing/visible_units.cpp
+++ b/src/3rdparty/webkit/WebCore/editing/visible_units.cpp
@@ -1178,9 +1178,6 @@ VisiblePosition logicalStartOfLine(const VisiblePosition& c)
{
VisiblePosition visPos = logicalStartPositionForLine(c);
- if (visPos.isNull())
- return c.honorEditableBoundaryAtOrAfter(visPos);
-
return c.honorEditableBoundaryAtOrAfter(visPos);
}
diff --git a/src/3rdparty/webkit/WebCore/generated/ArrayPrototype.lut.h b/src/3rdparty/webkit/WebCore/generated/ArrayPrototype.lut.h
index da67f2e..d3d7d36 100644
--- a/src/3rdparty/webkit/WebCore/generated/ArrayPrototype.lut.h
+++ b/src/3rdparty/webkit/WebCore/generated/ArrayPrototype.lut.h
@@ -29,6 +29,6 @@ static const struct HashTableValue arrayTableValues[22] = {
{ 0, 0, 0, 0 }
};
-extern const struct HashTable arrayTable =
+extern JSC_CONST_HASHTABLE HashTable arrayTable =
{ 65, 63, arrayTableValues, 0 };
} // namespace
diff --git a/src/3rdparty/webkit/WebCore/generated/CSSGrammar.cpp b/src/3rdparty/webkit/WebCore/generated/CSSGrammar.cpp
index 4c85bee..bdd4346 100644
--- a/src/3rdparty/webkit/WebCore/generated/CSSGrammar.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/CSSGrammar.cpp
@@ -1,24 +1,23 @@
-/* A Bison parser, made by GNU Bison 2.3. */
-/* Skeleton implementation for Bison's Yacc-like parsers in C
+/* A Bison parser, made by GNU Bison 2.4.1. */
- Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
+/* Skeleton implementation for Bison's Yacc-like parsers in C
+
+ Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
Free Software Foundation, Inc.
-
- This program is free software; you can redistribute it and/or modify
+
+ This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2, or (at your option)
- any later version.
-
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
-
+
You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 51 Franklin Street, Fifth Floor,
- Boston, MA 02110-1301, USA. */
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
/* As a special exception, you may create a larger work that contains
part or all of the Bison parser skeleton and distribute that work
@@ -29,7 +28,7 @@
special exception, which will cause the skeleton and the resulting
Bison output files to be licensed under the GNU General Public
License without this special exception.
-
+
This special exception was added by the Free Software Foundation in
version 2.2 of Bison. */
@@ -47,7 +46,7 @@
#define YYBISON 1
/* Bison version. */
-#define YYBISON_VERSION "2.3"
+#define YYBISON_VERSION "2.4.1"
/* Skeleton name. */
#define YYSKELETON_NAME "yacc.c"
@@ -55,159 +54,28 @@
/* Pure parsers. */
#define YYPURE 1
+/* Push parsers. */
+#define YYPUSH 0
+
+/* Pull parsers. */
+#define YYPULL 1
+
/* Using locations. */
#define YYLSP_NEEDED 0
/* Substitute the variable and function names. */
-#define yyparse cssyyparse
-#define yylex cssyylex
-#define yyerror cssyyerror
-#define yylval cssyylval
-#define yychar cssyychar
-#define yydebug cssyydebug
-#define yynerrs cssyynerrs
-
-
-/* Tokens. */
-#ifndef YYTOKENTYPE
-# define YYTOKENTYPE
- /* Put the tokens into the symbol table, so that GDB and other debuggers
- know about them. */
- enum yytokentype {
- TOKEN_EOF = 0,
- LOWEST_PREC = 258,
- UNIMPORTANT_TOK = 259,
- WHITESPACE = 260,
- SGML_CD = 261,
- INCLUDES = 262,
- DASHMATCH = 263,
- BEGINSWITH = 264,
- ENDSWITH = 265,
- CONTAINS = 266,
- STRING = 267,
- IDENT = 268,
- NTH = 269,
- HEX = 270,
- IDSEL = 271,
- IMPORT_SYM = 272,
- PAGE_SYM = 273,
- MEDIA_SYM = 274,
- FONT_FACE_SYM = 275,
- CHARSET_SYM = 276,
- NAMESPACE_SYM = 277,
- WEBKIT_RULE_SYM = 278,
- WEBKIT_DECLS_SYM = 279,
- WEBKIT_KEYFRAME_RULE_SYM = 280,
- WEBKIT_KEYFRAMES_SYM = 281,
- WEBKIT_VALUE_SYM = 282,
- WEBKIT_MEDIAQUERY_SYM = 283,
- WEBKIT_SELECTOR_SYM = 284,
- WEBKIT_VARIABLES_SYM = 285,
- WEBKIT_DEFINE_SYM = 286,
- VARIABLES_FOR = 287,
- WEBKIT_VARIABLES_DECLS_SYM = 288,
- ATKEYWORD = 289,
- IMPORTANT_SYM = 290,
- MEDIA_ONLY = 291,
- MEDIA_NOT = 292,
- MEDIA_AND = 293,
- QEMS = 294,
- EMS = 295,
- EXS = 296,
- PXS = 297,
- CMS = 298,
- MMS = 299,
- INS = 300,
- PTS = 301,
- PCS = 302,
- DEGS = 303,
- RADS = 304,
- GRADS = 305,
- TURNS = 306,
- MSECS = 307,
- SECS = 308,
- HERZ = 309,
- KHERZ = 310,
- DIMEN = 311,
- PERCENTAGE = 312,
- FLOATTOKEN = 313,
- INTEGER = 314,
- URI = 315,
- FUNCTION = 316,
- NOTFUNCTION = 317,
- UNICODERANGE = 318,
- VARCALL = 319
- };
-#endif
-/* Tokens. */
-#define TOKEN_EOF 0
-#define LOWEST_PREC 258
-#define UNIMPORTANT_TOK 259
-#define WHITESPACE 260
-#define SGML_CD 261
-#define INCLUDES 262
-#define DASHMATCH 263
-#define BEGINSWITH 264
-#define ENDSWITH 265
-#define CONTAINS 266
-#define STRING 267
-#define IDENT 268
-#define NTH 269
-#define HEX 270
-#define IDSEL 271
-#define IMPORT_SYM 272
-#define PAGE_SYM 273
-#define MEDIA_SYM 274
-#define FONT_FACE_SYM 275
-#define CHARSET_SYM 276
-#define NAMESPACE_SYM 277
-#define WEBKIT_RULE_SYM 278
-#define WEBKIT_DECLS_SYM 279
-#define WEBKIT_KEYFRAME_RULE_SYM 280
-#define WEBKIT_KEYFRAMES_SYM 281
-#define WEBKIT_VALUE_SYM 282
-#define WEBKIT_MEDIAQUERY_SYM 283
-#define WEBKIT_SELECTOR_SYM 284
-#define WEBKIT_VARIABLES_SYM 285
-#define WEBKIT_DEFINE_SYM 286
-#define VARIABLES_FOR 287
-#define WEBKIT_VARIABLES_DECLS_SYM 288
-#define ATKEYWORD 289
-#define IMPORTANT_SYM 290
-#define MEDIA_ONLY 291
-#define MEDIA_NOT 292
-#define MEDIA_AND 293
-#define QEMS 294
-#define EMS 295
-#define EXS 296
-#define PXS 297
-#define CMS 298
-#define MMS 299
-#define INS 300
-#define PTS 301
-#define PCS 302
-#define DEGS 303
-#define RADS 304
-#define GRADS 305
-#define TURNS 306
-#define MSECS 307
-#define SECS 308
-#define HERZ 309
-#define KHERZ 310
-#define DIMEN 311
-#define PERCENTAGE 312
-#define FLOATTOKEN 313
-#define INTEGER 314
-#define URI 315
-#define FUNCTION 316
-#define NOTFUNCTION 317
-#define UNICODERANGE 318
-#define VARCALL 319
-
-
+#define yyparse cssyyparse
+#define yylex cssyylex
+#define yyerror cssyyerror
+#define yylval cssyylval
+#define yychar cssyychar
+#define yydebug cssyydebug
+#define yynerrs cssyynerrs
/* Copy the first part of user declarations. */
+
+/* Line 189 of yacc.c */
#line 1 "../css/CSSGrammar.y"
@@ -247,12 +115,16 @@
#include "MediaList.h"
#include "WebKitCSSKeyframeRule.h"
#include "WebKitCSSKeyframesRule.h"
+#include <wtf/FastMalloc.h>
#include <stdlib.h>
#include <string.h>
using namespace WebCore;
using namespace HTMLNames;
+#define YYMALLOC fastMalloc
+#define YYFREE fastFree
+
#define YYENABLE_NLS 0
#define YYLTYPE_IS_TRIVIAL 1
#define YYMAXDEPTH 10000
@@ -264,6 +136,9 @@ using namespace HTMLNames;
+/* Line 189 of yacc.c */
+#line 141 "WebCore/tmp/../generated/CSSGrammar.tab.c"
+
/* Enabling traces. */
#ifndef YYDEBUG
# define YYDEBUG 0
@@ -282,10 +157,89 @@ using namespace HTMLNames;
# define YYTOKEN_TABLE 0
#endif
+
+/* Tokens. */
+#ifndef YYTOKENTYPE
+# define YYTOKENTYPE
+ /* Put the tokens into the symbol table, so that GDB and other debuggers
+ know about them. */
+ enum yytokentype {
+ TOKEN_EOF = 0,
+ LOWEST_PREC = 258,
+ UNIMPORTANT_TOK = 259,
+ WHITESPACE = 260,
+ SGML_CD = 261,
+ INCLUDES = 262,
+ DASHMATCH = 263,
+ BEGINSWITH = 264,
+ ENDSWITH = 265,
+ CONTAINS = 266,
+ STRING = 267,
+ IDENT = 268,
+ NTH = 269,
+ HEX = 270,
+ IDSEL = 271,
+ IMPORT_SYM = 272,
+ PAGE_SYM = 273,
+ MEDIA_SYM = 274,
+ FONT_FACE_SYM = 275,
+ CHARSET_SYM = 276,
+ NAMESPACE_SYM = 277,
+ WEBKIT_RULE_SYM = 278,
+ WEBKIT_DECLS_SYM = 279,
+ WEBKIT_KEYFRAME_RULE_SYM = 280,
+ WEBKIT_KEYFRAMES_SYM = 281,
+ WEBKIT_VALUE_SYM = 282,
+ WEBKIT_MEDIAQUERY_SYM = 283,
+ WEBKIT_SELECTOR_SYM = 284,
+ WEBKIT_VARIABLES_SYM = 285,
+ WEBKIT_DEFINE_SYM = 286,
+ VARIABLES_FOR = 287,
+ WEBKIT_VARIABLES_DECLS_SYM = 288,
+ ATKEYWORD = 289,
+ IMPORTANT_SYM = 290,
+ MEDIA_ONLY = 291,
+ MEDIA_NOT = 292,
+ MEDIA_AND = 293,
+ REMS = 294,
+ QEMS = 295,
+ EMS = 296,
+ EXS = 297,
+ PXS = 298,
+ CMS = 299,
+ MMS = 300,
+ INS = 301,
+ PTS = 302,
+ PCS = 303,
+ DEGS = 304,
+ RADS = 305,
+ GRADS = 306,
+ TURNS = 307,
+ MSECS = 308,
+ SECS = 309,
+ HERZ = 310,
+ KHERZ = 311,
+ DIMEN = 312,
+ PERCENTAGE = 313,
+ FLOATTOKEN = 314,
+ INTEGER = 315,
+ URI = 316,
+ FUNCTION = 317,
+ NOTFUNCTION = 318,
+ UNICODERANGE = 319,
+ VARCALL = 320
+ };
+#endif
+
+
+
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
typedef union YYSTYPE
-#line 58 "../css/CSSGrammar.y"
{
+
+/* Line 214 of yacc.c */
+#line 62 "../css/CSSGrammar.y"
+
bool boolean;
char character;
int integer;
@@ -307,19 +261,22 @@ typedef union YYSTYPE
WebKitCSSKeyframeRule* keyframeRule;
WebKitCSSKeyframesRule* keyframesRule;
float val;
-}
-/* Line 187 of yacc.c. */
-#line 313 "WebCore/tmp/../generated/CSSGrammar.tab.c"
- YYSTYPE;
+
+
+
+/* Line 214 of yacc.c */
+#line 269 "WebCore/tmp/../generated/CSSGrammar.tab.c"
+} YYSTYPE;
+# define YYSTYPE_IS_TRIVIAL 1
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
-# define YYSTYPE_IS_TRIVIAL 1
#endif
-
/* Copy the second part of user declarations. */
-#line 82 "../css/CSSGrammar.y"
+
+/* Line 264 of yacc.c */
+#line 86 "../css/CSSGrammar.y"
static inline int cssyyerror(const char*)
@@ -334,8 +291,8 @@ static int cssyylex(YYSTYPE* yylval, void* parser)
-/* Line 216 of yacc.c. */
-#line 339 "WebCore/tmp/../generated/CSSGrammar.tab.c"
+/* Line 264 of yacc.c */
+#line 296 "WebCore/tmp/../generated/CSSGrammar.tab.c"
#ifdef short
# undef short
@@ -410,14 +367,14 @@ typedef short int yytype_int16;
#if (defined __STDC__ || defined __C99__FUNC__ \
|| defined __cplusplus || defined _MSC_VER)
static int
-YYID (int i)
+YYID (int yyi)
#else
static int
-YYID (i)
- int i;
+YYID (yyi)
+ int yyi;
#endif
{
- return i;
+ return yyi;
}
#endif
@@ -498,9 +455,9 @@ void free (void *); /* INFRINGES ON USER NAME SPACE */
/* A type that is properly aligned for any stack member. */
union yyalloc
{
- yytype_int16 yyss;
- YYSTYPE yyvs;
- };
+ yytype_int16 yyss_alloc;
+ YYSTYPE yyvs_alloc;
+};
/* The size of the maximum gap between one aligned stack and the next. */
# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
@@ -534,12 +491,12 @@ union yyalloc
elements in the stack, and YYPTR gives the new location of the
stack. Advance YYPTR to a properly aligned location for the next
stack. */
-# define YYSTACK_RELOCATE(Stack) \
+# define YYSTACK_RELOCATE(Stack_alloc, Stack) \
do \
{ \
YYSIZE_T yynewbytes; \
- YYCOPY (&yyptr->Stack, Stack, yysize); \
- Stack = &yyptr->Stack; \
+ YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
+ Stack = &yyptr->Stack_alloc; \
yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
yyptr += yynewbytes / sizeof (*yyptr); \
} \
@@ -550,20 +507,20 @@ union yyalloc
/* YYFINAL -- State number of the termination state. */
#define YYFINAL 28
/* YYLAST -- Last index in YYTABLE. */
-#define YYLAST 1315
+#define YYLAST 1329
/* YYNTOKENS -- Number of terminals. */
-#define YYNTOKENS 85
+#define YYNTOKENS 86
/* YYNNTS -- Number of nonterminals. */
#define YYNNTS 90
/* YYNRULES -- Number of rules. */
-#define YYNRULES 267
+#define YYNRULES 268
/* YYNRULES -- Number of states. */
-#define YYNSTATES 513
+#define YYNSTATES 515
/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
#define YYUNDEFTOK 2
-#define YYMAXUTOK 319
+#define YYMAXUTOK 320
#define YYTRANSLATE(YYX) \
((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
@@ -574,16 +531,16 @@ static const yytype_uint8 yytranslate[] =
0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 83, 2, 84, 2, 2,
- 73, 74, 20, 76, 75, 79, 18, 82, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 17, 72,
- 2, 81, 78, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 84, 2, 85, 2, 2,
+ 74, 75, 20, 77, 76, 80, 18, 83, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 17, 73,
+ 2, 82, 79, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 19, 2, 80, 2, 2, 2, 2, 2, 2,
+ 2, 19, 2, 81, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 70, 21, 71, 77, 2, 2, 2,
+ 2, 2, 2, 71, 21, 72, 78, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
@@ -602,7 +559,8 @@ static const yytype_uint8 yytranslate[] =
30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
- 60, 61, 62, 63, 64, 65, 66, 67, 68, 69
+ 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
+ 70
};
#if YYDEBUG
@@ -635,137 +593,137 @@ static const yytype_uint16 yyprhs[] =
761, 764, 767, 771, 774, 777, 779, 782, 784, 787,
790, 793, 796, 799, 802, 805, 808, 811, 814, 817,
820, 823, 826, 829, 832, 835, 838, 841, 844, 847,
- 850, 852, 858, 862, 865, 868, 870, 873, 877, 881,
- 884, 888, 890, 892, 895, 901, 905, 907
+ 850, 853, 855, 861, 865, 868, 871, 873, 876, 880,
+ 884, 887, 891, 893, 895, 898, 904, 908, 910
};
/* YYRHS -- A `-1'-separated list of the rules' RHS. */
static const yytype_int16 yyrhs[] =
{
- 86, 0, -1, 97, 96, 100, 101, 102, 103, -1,
- 88, 95, -1, 90, 95, -1, 92, 95, -1, 93,
- 95, -1, 94, 95, -1, 91, 95, -1, 89, 95,
- -1, 104, -1, 109, -1, 28, 70, 95, 87, 95,
- 71, -1, 30, 70, 95, 133, 95, 71, -1, 29,
- 70, 95, 155, 71, -1, 38, 70, 95, 112, 71,
- -1, 32, 70, 95, 160, 71, -1, 33, 5, 95,
- 125, 71, -1, 34, 70, 95, 141, 71, -1, -1,
- 95, 5, -1, -1, 96, 6, -1, 96, 5, -1,
- -1, 99, -1, 71, -1, 0, -1, 26, 95, 12,
- 95, 72, -1, 26, 1, 173, -1, 26, 1, 72,
- -1, -1, 100, 109, 96, -1, 169, -1, -1, 101,
- 110, 96, -1, -1, 102, 116, 96, -1, -1, 103,
- 105, 96, -1, 140, -1, 128, -1, 136, -1, 137,
- -1, 130, -1, 104, -1, 172, -1, 168, -1, 170,
- -1, -1, 106, 108, 96, -1, 140, -1, 136, -1,
- 137, -1, 130, -1, 107, -1, 172, -1, 168, -1,
- 170, -1, 171, -1, 22, 95, 118, 95, 126, 72,
- -1, 22, 95, 118, 95, 126, 173, -1, 22, 1,
- 72, -1, 22, 1, 173, -1, 35, 95, 126, 70,
- 95, 112, 71, -1, 36, 95, 111, 70, 95, 112,
- 71, -1, -1, 37, 5, 127, -1, 114, -1, 113,
- 114, -1, 113, -1, 1, 174, 1, -1, 1, -1,
- 113, 1, -1, 114, 72, 95, -1, 114, 174, 72,
- 95, -1, 1, 72, 95, -1, 1, 174, 1, 72,
- 95, -1, 113, 114, 72, 95, -1, 113, 1, 72,
- 95, -1, 113, 1, 174, 1, 72, 95, -1, 115,
- 17, 95, 160, -1, 115, 95, 70, 95, 155, 71,
- 95, -1, 115, 1, -1, 115, 17, 95, 1, 160,
- -1, 115, 17, 95, -1, 115, 17, 95, 1, -1,
- 13, 95, -1, 27, 95, 117, 118, 95, 72, -1,
- 27, 1, 173, -1, 27, 1, 72, -1, -1, 13,
- 5, -1, 12, -1, 65, -1, 13, 95, -1, -1,
- 17, 95, 160, 95, -1, 73, 95, 119, 95, 120,
- 74, 95, -1, 121, -1, 122, 95, 43, 95, 121,
- -1, -1, 43, 95, 122, -1, -1, 41, -1, 42,
- -1, 122, -1, 124, 95, 129, 123, -1, -1, 127,
- -1, 125, -1, 127, 75, 95, 125, -1, 127, 1,
- -1, 24, 95, 127, 70, 95, 106, 167, -1, 24,
- 95, 70, 95, 106, 167, -1, 13, 95, -1, 31,
- 95, 131, 95, 70, 95, 132, 71, -1, 13, -1,
- 12, -1, -1, 132, 133, 95, -1, 134, 95, 70,
- 95, 155, 71, -1, 135, -1, 134, 95, 75, 95,
- 135, -1, 62, -1, 13, -1, 23, 1, 173, -1,
- 23, 1, 72, -1, 25, 95, 70, 95, 155, 71,
- 95, -1, 25, 1, 173, -1, 25, 1, 72, -1,
- 76, 95, -1, 77, 95, -1, 78, 95, -1, 79,
- -1, 76, -1, 141, 70, 95, 155, 98, -1, 143,
- -1, 141, 75, 95, 143, -1, 141, 1, -1, 143,
- 5, -1, 145, -1, 142, -1, 142, 145, -1, 143,
- 138, 145, -1, 143, 1, -1, 21, -1, 20, 21,
- -1, 13, 21, -1, 146, -1, 146, 147, -1, 147,
- -1, 144, 146, -1, 144, 146, 147, -1, 144, 147,
- -1, 13, -1, 20, -1, 148, -1, 147, 148, -1,
- 147, 1, -1, 16, -1, 15, -1, 149, -1, 151,
- -1, 154, -1, 18, 13, -1, 13, 95, -1, 19,
- 95, 150, 80, -1, 19, 95, 150, 152, 95, 153,
- 95, 80, -1, 19, 95, 144, 150, 80, -1, 19,
- 95, 144, 150, 152, 95, 153, 95, 80, -1, 81,
+ 87, 0, -1, 98, 97, 101, 102, 103, 104, -1,
+ 89, 96, -1, 91, 96, -1, 93, 96, -1, 94,
+ 96, -1, 95, 96, -1, 92, 96, -1, 90, 96,
+ -1, 105, -1, 110, -1, 28, 71, 96, 88, 96,
+ 72, -1, 30, 71, 96, 134, 96, 72, -1, 29,
+ 71, 96, 156, 72, -1, 38, 71, 96, 113, 72,
+ -1, 32, 71, 96, 161, 72, -1, 33, 5, 96,
+ 126, 72, -1, 34, 71, 96, 142, 72, -1, -1,
+ 96, 5, -1, -1, 97, 6, -1, 97, 5, -1,
+ -1, 100, -1, 72, -1, 0, -1, 26, 96, 12,
+ 96, 73, -1, 26, 1, 174, -1, 26, 1, 73,
+ -1, -1, 101, 110, 97, -1, 170, -1, -1, 102,
+ 111, 97, -1, -1, 103, 117, 97, -1, -1, 104,
+ 106, 97, -1, 141, -1, 129, -1, 137, -1, 138,
+ -1, 131, -1, 105, -1, 173, -1, 169, -1, 171,
+ -1, -1, 107, 109, 97, -1, 141, -1, 137, -1,
+ 138, -1, 131, -1, 108, -1, 173, -1, 169, -1,
+ 171, -1, 172, -1, 22, 96, 119, 96, 127, 73,
+ -1, 22, 96, 119, 96, 127, 174, -1, 22, 1,
+ 73, -1, 22, 1, 174, -1, 35, 96, 127, 71,
+ 96, 113, 72, -1, 36, 96, 112, 71, 96, 113,
+ 72, -1, -1, 37, 5, 128, -1, 115, -1, 114,
+ 115, -1, 114, -1, 1, 175, 1, -1, 1, -1,
+ 114, 1, -1, 115, 73, 96, -1, 115, 175, 73,
+ 96, -1, 1, 73, 96, -1, 1, 175, 1, 73,
+ 96, -1, 114, 115, 73, 96, -1, 114, 1, 73,
+ 96, -1, 114, 1, 175, 1, 73, 96, -1, 116,
+ 17, 96, 161, -1, 116, 96, 71, 96, 156, 72,
+ 96, -1, 116, 1, -1, 116, 17, 96, 1, 161,
+ -1, 116, 17, 96, -1, 116, 17, 96, 1, -1,
+ 13, 96, -1, 27, 96, 118, 119, 96, 73, -1,
+ 27, 1, 174, -1, 27, 1, 73, -1, -1, 13,
+ 5, -1, 12, -1, 66, -1, 13, 96, -1, -1,
+ 17, 96, 161, 96, -1, 74, 96, 120, 96, 121,
+ 75, 96, -1, 122, -1, 123, 96, 43, 96, 122,
+ -1, -1, 43, 96, 123, -1, -1, 41, -1, 42,
+ -1, 123, -1, 125, 96, 130, 124, -1, -1, 128,
+ -1, 126, -1, 128, 76, 96, 126, -1, 128, 1,
+ -1, 24, 96, 128, 71, 96, 107, 168, -1, 24,
+ 96, 71, 96, 107, 168, -1, 13, 96, -1, 31,
+ 96, 132, 96, 71, 96, 133, 72, -1, 13, -1,
+ 12, -1, -1, 133, 134, 96, -1, 135, 96, 71,
+ 96, 156, 72, -1, 136, -1, 135, 96, 76, 96,
+ 136, -1, 63, -1, 13, -1, 23, 1, 174, -1,
+ 23, 1, 73, -1, 25, 96, 71, 96, 156, 72,
+ 96, -1, 25, 1, 174, -1, 25, 1, 73, -1,
+ 77, 96, -1, 78, 96, -1, 79, 96, -1, 80,
+ -1, 77, -1, 142, 71, 96, 156, 99, -1, 144,
+ -1, 142, 76, 96, 144, -1, 142, 1, -1, 144,
+ 5, -1, 146, -1, 143, -1, 143, 146, -1, 144,
+ 139, 146, -1, 144, 1, -1, 21, -1, 20, 21,
+ -1, 13, 21, -1, 147, -1, 147, 148, -1, 148,
+ -1, 145, 147, -1, 145, 147, 148, -1, 145, 148,
+ -1, 13, -1, 20, -1, 149, -1, 148, 149, -1,
+ 148, 1, -1, 16, -1, 15, -1, 150, -1, 152,
+ -1, 155, -1, 18, 13, -1, 13, 96, -1, 19,
+ 96, 151, 81, -1, 19, 96, 151, 153, 96, 154,
+ 96, 81, -1, 19, 96, 145, 151, 81, -1, 19,
+ 96, 145, 151, 153, 96, 154, 96, 81, -1, 82,
-1, 7, -1, 8, -1, 9, -1, 10, -1, 11,
-1, 13, -1, 12, -1, 17, 13, -1, 17, 17,
- 13, -1, 17, 66, 14, 74, -1, 17, 66, 64,
- 74, -1, 17, 66, 13, 74, -1, 17, 67, 95,
- 145, 95, 74, -1, 157, -1, 156, 157, -1, 156,
- -1, 1, 174, 1, -1, 1, -1, 156, 1, -1,
- 156, 174, -1, 157, 72, 95, -1, 157, 174, 72,
- 95, -1, 1, 72, 95, -1, 1, 174, 1, 72,
- 95, -1, 156, 157, 72, 95, -1, 156, 1, 72,
- 95, -1, 156, 1, 174, 1, 72, 95, -1, 158,
- 17, 95, 160, 159, -1, 164, 95, -1, 158, 1,
- -1, 158, 17, 95, 1, 160, 159, -1, 158, 17,
- 95, 160, 159, 1, -1, 40, 95, -1, 158, 17,
- 95, -1, 158, 17, 95, 1, -1, 158, 173, -1,
- 13, 95, -1, 40, 95, -1, -1, 162, -1, 160,
- 161, 162, -1, 160, 1, -1, 82, 95, -1, 75,
- 95, -1, -1, 163, -1, 139, 163, -1, 12, 95,
- -1, 13, 95, -1, 61, 95, -1, 139, 61, 95,
- -1, 65, 95, -1, 68, 95, -1, 166, -1, 83,
- 95, -1, 165, -1, 164, 95, -1, 84, 95, -1,
- 64, 95, -1, 63, 95, -1, 62, 95, -1, 47,
- 95, -1, 48, 95, -1, 49, 95, -1, 50, 95,
- -1, 51, 95, -1, 52, 95, -1, 53, 95, -1,
- 54, 95, -1, 55, 95, -1, 56, 95, -1, 57,
- 95, -1, 58, 95, -1, 59, 95, -1, 60, 95,
- -1, 45, 95, -1, 44, 95, -1, 46, 95, -1,
- 69, -1, 66, 95, 160, 74, 95, -1, 66, 95,
- 1, -1, 15, 95, -1, 16, 95, -1, 98, -1,
- 1, 98, -1, 39, 1, 173, -1, 39, 1, 72,
- -1, 168, 96, -1, 169, 168, 96, -1, 109, -1,
- 128, -1, 1, 173, -1, 70, 1, 174, 1, 98,
- -1, 70, 1, 98, -1, 173, -1, 174, 1, 173,
- -1
+ 13, -1, 17, 67, 14, 75, -1, 17, 67, 65,
+ 75, -1, 17, 67, 13, 75, -1, 17, 68, 96,
+ 146, 96, 75, -1, 158, -1, 157, 158, -1, 157,
+ -1, 1, 175, 1, -1, 1, -1, 157, 1, -1,
+ 157, 175, -1, 158, 73, 96, -1, 158, 175, 73,
+ 96, -1, 1, 73, 96, -1, 1, 175, 1, 73,
+ 96, -1, 157, 158, 73, 96, -1, 157, 1, 73,
+ 96, -1, 157, 1, 175, 1, 73, 96, -1, 159,
+ 17, 96, 161, 160, -1, 165, 96, -1, 159, 1,
+ -1, 159, 17, 96, 1, 161, 160, -1, 159, 17,
+ 96, 161, 160, 1, -1, 40, 96, -1, 159, 17,
+ 96, -1, 159, 17, 96, 1, -1, 159, 174, -1,
+ 13, 96, -1, 40, 96, -1, -1, 163, -1, 161,
+ 162, 163, -1, 161, 1, -1, 83, 96, -1, 76,
+ 96, -1, -1, 164, -1, 140, 164, -1, 12, 96,
+ -1, 13, 96, -1, 62, 96, -1, 140, 62, 96,
+ -1, 66, 96, -1, 69, 96, -1, 167, -1, 84,
+ 96, -1, 166, -1, 165, 96, -1, 85, 96, -1,
+ 65, 96, -1, 64, 96, -1, 63, 96, -1, 48,
+ 96, -1, 49, 96, -1, 50, 96, -1, 51, 96,
+ -1, 52, 96, -1, 53, 96, -1, 54, 96, -1,
+ 55, 96, -1, 56, 96, -1, 57, 96, -1, 58,
+ 96, -1, 59, 96, -1, 60, 96, -1, 61, 96,
+ -1, 46, 96, -1, 45, 96, -1, 47, 96, -1,
+ 44, 96, -1, 70, -1, 67, 96, 161, 75, 96,
+ -1, 67, 96, 1, -1, 15, 96, -1, 16, 96,
+ -1, 99, -1, 1, 99, -1, 39, 1, 174, -1,
+ 39, 1, 73, -1, 169, 97, -1, 170, 169, 97,
+ -1, 110, -1, 129, -1, 1, 174, -1, 71, 1,
+ 175, 1, 99, -1, 71, 1, 99, -1, 174, -1,
+ 175, 1, 174, -1
};
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
static const yytype_uint16 yyrline[] =
{
- 0, 266, 266, 267, 268, 269, 270, 271, 272, 273,
- 277, 278, 282, 288, 294, 300, 306, 320, 327, 337,
- 338, 341, 343, 344, 347, 349, 354, 355, 359, 365,
- 367, 371, 373, 378, 382, 384, 391, 393, 396, 398,
- 406, 407, 408, 409, 410, 414, 415, 416, 417, 421,
- 422, 433, 434, 435, 436, 440, 441, 442, 443, 444,
- 449, 452, 455, 458, 464, 468, 474, 478, 484, 487,
- 492, 495, 498, 501, 507, 510, 513, 516, 519, 524,
- 527, 533, 537, 541, 545, 549, 554, 561, 567, 572,
- 573, 577, 578, 582, 583, 587, 593, 596, 602, 609,
- 614, 621, 624, 630, 633, 636, 642, 647, 655, 658,
- 662, 667, 672, 678, 681, 687, 693, 700, 701, 705,
- 706, 714, 720, 725, 734, 735, 759, 762, 768, 772,
- 775, 781, 782, 783, 787, 788, 792, 798, 807, 815,
- 821, 827, 830, 834, 850, 870, 876, 877, 878, 882,
- 887, 894, 900, 910, 922, 935, 943, 951, 954, 967,
- 973, 981, 993, 994, 995, 999, 1010, 1021, 1026, 1032,
- 1040, 1052, 1055, 1058, 1061, 1064, 1067, 1073, 1074, 1078,
- 1108, 1128, 1146, 1164, 1183, 1198, 1201, 1206, 1209, 1212,
- 1215, 1218, 1224, 1227, 1230, 1233, 1236, 1241, 1244, 1250,
- 1264, 1276, 1280, 1287, 1292, 1297, 1302, 1307, 1314, 1320,
- 1321, 1325, 1330, 1344, 1350, 1353, 1356, 1362, 1363, 1364,
- 1365, 1371, 1372, 1373, 1374, 1375, 1376, 1378, 1381, 1384,
- 1390, 1391, 1392, 1393, 1394, 1395, 1396, 1397, 1398, 1399,
- 1400, 1401, 1402, 1403, 1404, 1405, 1406, 1407, 1408, 1409,
- 1413, 1421, 1430, 1446, 1447, 1454, 1457, 1463, 1466, 1472,
- 1473, 1477, 1483, 1489, 1507, 1508, 1512, 1513
+ 0, 271, 271, 272, 273, 274, 275, 276, 277, 278,
+ 282, 283, 287, 293, 299, 305, 311, 325, 332, 342,
+ 343, 346, 348, 349, 352, 354, 359, 360, 364, 370,
+ 372, 376, 378, 383, 387, 389, 396, 398, 401, 403,
+ 411, 412, 413, 414, 415, 419, 420, 421, 422, 426,
+ 427, 438, 439, 440, 441, 445, 446, 447, 448, 449,
+ 454, 457, 460, 463, 469, 473, 479, 483, 489, 492,
+ 497, 500, 503, 506, 512, 515, 518, 521, 524, 529,
+ 532, 538, 542, 546, 550, 554, 559, 566, 572, 577,
+ 578, 582, 583, 587, 588, 592, 598, 601, 607, 614,
+ 619, 626, 629, 635, 638, 641, 647, 652, 660, 663,
+ 667, 672, 677, 683, 686, 692, 698, 705, 706, 710,
+ 711, 719, 725, 730, 739, 740, 764, 767, 773, 777,
+ 780, 786, 787, 788, 792, 793, 797, 803, 812, 820,
+ 826, 832, 835, 839, 855, 875, 881, 882, 883, 887,
+ 892, 899, 905, 915, 927, 940, 948, 956, 959, 972,
+ 978, 986, 998, 999, 1000, 1004, 1015, 1026, 1031, 1037,
+ 1045, 1057, 1060, 1063, 1066, 1069, 1072, 1078, 1079, 1083,
+ 1113, 1133, 1151, 1169, 1188, 1203, 1206, 1211, 1214, 1217,
+ 1220, 1223, 1229, 1232, 1235, 1238, 1241, 1246, 1249, 1255,
+ 1269, 1281, 1285, 1292, 1297, 1302, 1307, 1312, 1319, 1325,
+ 1326, 1330, 1335, 1349, 1355, 1358, 1361, 1367, 1368, 1369,
+ 1370, 1376, 1377, 1378, 1379, 1380, 1381, 1383, 1386, 1389,
+ 1395, 1396, 1397, 1398, 1399, 1400, 1401, 1402, 1403, 1404,
+ 1405, 1406, 1407, 1408, 1409, 1410, 1411, 1412, 1413, 1414,
+ 1415, 1426, 1434, 1443, 1459, 1460, 1467, 1470, 1476, 1479,
+ 1485, 1486, 1490, 1496, 1502, 1520, 1521, 1525, 1526
};
#endif
@@ -783,19 +741,19 @@ static const char *const yytname[] =
"WEBKIT_VALUE_SYM", "WEBKIT_MEDIAQUERY_SYM", "WEBKIT_SELECTOR_SYM",
"WEBKIT_VARIABLES_SYM", "WEBKIT_DEFINE_SYM", "VARIABLES_FOR",
"WEBKIT_VARIABLES_DECLS_SYM", "ATKEYWORD", "IMPORTANT_SYM", "MEDIA_ONLY",
- "MEDIA_NOT", "MEDIA_AND", "QEMS", "EMS", "EXS", "PXS", "CMS", "MMS",
- "INS", "PTS", "PCS", "DEGS", "RADS", "GRADS", "TURNS", "MSECS", "SECS",
- "HERZ", "KHERZ", "DIMEN", "PERCENTAGE", "FLOATTOKEN", "INTEGER", "URI",
- "FUNCTION", "NOTFUNCTION", "UNICODERANGE", "VARCALL", "'{'", "'}'",
- "';'", "'('", "')'", "','", "'+'", "'~'", "'>'", "'-'", "']'", "'='",
- "'/'", "'#'", "'%'", "$accept", "stylesheet", "valid_rule_or_import",
- "webkit_rule", "webkit_keyframe_rule", "webkit_decls",
- "webkit_variables_decls", "webkit_value", "webkit_mediaquery",
- "webkit_selector", "maybe_space", "maybe_sgml", "maybe_charset",
- "closing_brace", "charset", "import_list", "variables_list",
- "namespace_list", "rule_list", "valid_rule", "rule", "block_rule_list",
- "block_valid_rule", "block_rule", "import", "variables_rule",
- "variables_media_list", "variables_declaration_list",
+ "MEDIA_NOT", "MEDIA_AND", "REMS", "QEMS", "EMS", "EXS", "PXS", "CMS",
+ "MMS", "INS", "PTS", "PCS", "DEGS", "RADS", "GRADS", "TURNS", "MSECS",
+ "SECS", "HERZ", "KHERZ", "DIMEN", "PERCENTAGE", "FLOATTOKEN", "INTEGER",
+ "URI", "FUNCTION", "NOTFUNCTION", "UNICODERANGE", "VARCALL", "'{'",
+ "'}'", "';'", "'('", "')'", "','", "'+'", "'~'", "'>'", "'-'", "']'",
+ "'='", "'/'", "'#'", "'%'", "$accept", "stylesheet",
+ "valid_rule_or_import", "webkit_rule", "webkit_keyframe_rule",
+ "webkit_decls", "webkit_variables_decls", "webkit_value",
+ "webkit_mediaquery", "webkit_selector", "maybe_space", "maybe_sgml",
+ "maybe_charset", "closing_brace", "charset", "import_list",
+ "variables_list", "namespace_list", "rule_list", "valid_rule", "rule",
+ "block_rule_list", "block_valid_rule", "block_rule", "import",
+ "variables_rule", "variables_media_list", "variables_declaration_list",
"variables_decl_list", "variables_declaration", "variable_name",
"namespace", "maybe_ns_prefix", "string_or_uri", "media_feature",
"maybe_media_value", "media_query_exp", "media_query_exp_list",
@@ -826,41 +784,41 @@ static const yytype_uint16 yytoknum[] =
290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
300, 301, 302, 303, 304, 305, 306, 307, 308, 309,
310, 311, 312, 313, 314, 315, 316, 317, 318, 319,
- 123, 125, 59, 40, 41, 44, 43, 126, 62, 45,
- 93, 61, 47, 35, 37
+ 320, 123, 125, 59, 40, 41, 44, 43, 126, 62,
+ 45, 93, 61, 47, 35, 37
};
# endif
/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
static const yytype_uint8 yyr1[] =
{
- 0, 85, 86, 86, 86, 86, 86, 86, 86, 86,
- 87, 87, 88, 89, 90, 91, 92, 93, 94, 95,
- 95, 96, 96, 96, 97, 97, 98, 98, 99, 99,
- 99, 100, 100, 100, 101, 101, 102, 102, 103, 103,
- 104, 104, 104, 104, 104, 105, 105, 105, 105, 106,
- 106, 107, 107, 107, 107, 108, 108, 108, 108, 108,
- 109, 109, 109, 109, 110, 110, 111, 111, 112, 112,
- 112, 112, 112, 112, 113, 113, 113, 113, 113, 113,
- 113, 114, 114, 114, 114, 114, 114, 115, 116, 116,
- 116, 117, 117, 118, 118, 119, 120, 120, 121, 122,
- 122, 123, 123, 124, 124, 124, 125, 125, 126, 126,
- 127, 127, 127, 128, 128, 129, 130, 131, 131, 132,
- 132, 133, 134, 134, 135, 135, 136, 136, 137, 137,
- 137, 138, 138, 138, 139, 139, 140, 141, 141, 141,
- 142, 143, 143, 143, 143, 143, 144, 144, 144, 145,
- 145, 145, 145, 145, 145, 146, 146, 147, 147, 147,
- 148, 148, 148, 148, 148, 149, 150, 151, 151, 151,
- 151, 152, 152, 152, 152, 152, 152, 153, 153, 154,
- 154, 154, 154, 154, 154, 155, 155, 155, 155, 155,
- 155, 155, 156, 156, 156, 156, 156, 156, 156, 157,
- 157, 157, 157, 157, 157, 157, 157, 157, 158, 159,
- 159, 160, 160, 160, 161, 161, 161, 162, 162, 162,
- 162, 162, 162, 162, 162, 162, 162, 162, 162, 162,
- 163, 163, 163, 163, 163, 163, 163, 163, 163, 163,
+ 0, 86, 87, 87, 87, 87, 87, 87, 87, 87,
+ 88, 88, 89, 90, 91, 92, 93, 94, 95, 96,
+ 96, 97, 97, 97, 98, 98, 99, 99, 100, 100,
+ 100, 101, 101, 101, 102, 102, 103, 103, 104, 104,
+ 105, 105, 105, 105, 105, 106, 106, 106, 106, 107,
+ 107, 108, 108, 108, 108, 109, 109, 109, 109, 109,
+ 110, 110, 110, 110, 111, 111, 112, 112, 113, 113,
+ 113, 113, 113, 113, 114, 114, 114, 114, 114, 114,
+ 114, 115, 115, 115, 115, 115, 115, 116, 117, 117,
+ 117, 118, 118, 119, 119, 120, 121, 121, 122, 123,
+ 123, 124, 124, 125, 125, 125, 126, 126, 127, 127,
+ 128, 128, 128, 129, 129, 130, 131, 132, 132, 133,
+ 133, 134, 135, 135, 136, 136, 137, 137, 138, 138,
+ 138, 139, 139, 139, 140, 140, 141, 142, 142, 142,
+ 143, 144, 144, 144, 144, 144, 145, 145, 145, 146,
+ 146, 146, 146, 146, 146, 147, 147, 148, 148, 148,
+ 149, 149, 149, 149, 149, 150, 151, 152, 152, 152,
+ 152, 153, 153, 153, 153, 153, 153, 154, 154, 155,
+ 155, 155, 155, 155, 155, 156, 156, 156, 156, 156,
+ 156, 156, 157, 157, 157, 157, 157, 157, 157, 158,
+ 158, 158, 158, 158, 158, 158, 158, 158, 159, 160,
+ 160, 161, 161, 161, 162, 162, 162, 163, 163, 163,
163, 163, 163, 163, 163, 163, 163, 163, 163, 163,
- 164, 165, 165, 166, 166, 167, 167, 168, 168, 169,
- 169, 170, 171, 172, 173, 173, 174, 174
+ 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
+ 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
+ 164, 165, 166, 166, 167, 167, 168, 168, 169, 169,
+ 170, 170, 171, 172, 173, 174, 174, 175, 175
};
/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
@@ -891,8 +849,8 @@ static const yytype_uint8 yyr2[] =
2, 2, 3, 2, 2, 1, 2, 1, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 1, 5, 3, 2, 2, 1, 2, 3, 3, 2,
- 3, 1, 1, 2, 5, 3, 1, 3
+ 2, 1, 5, 3, 2, 2, 1, 2, 3, 3,
+ 2, 3, 1, 1, 2, 5, 3, 1, 3
};
/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
@@ -909,136 +867,136 @@ static const yytype_uint16 yydefact[] =
0, 0, 19, 156, 146, 0, 0, 19, 0, 19,
19, 10, 11, 41, 44, 42, 43, 40, 0, 142,
0, 0, 141, 149, 0, 157, 162, 163, 164, 189,
- 19, 19, 250, 0, 0, 185, 0, 19, 125, 124,
+ 19, 19, 251, 0, 0, 185, 0, 19, 125, 124,
19, 19, 122, 19, 19, 19, 19, 19, 19, 19,
19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
- 19, 135, 134, 19, 19, 0, 0, 211, 217, 19,
- 227, 225, 104, 105, 19, 99, 106, 19, 0, 0,
- 72, 19, 0, 0, 68, 0, 0, 36, 21, 259,
- 21, 27, 26, 265, 266, 0, 28, 148, 179, 0,
- 0, 19, 165, 0, 147, 0, 0, 0, 103, 0,
- 0, 0, 0, 139, 19, 19, 143, 145, 140, 19,
- 19, 19, 0, 155, 156, 152, 0, 0, 159, 158,
- 19, 0, 208, 204, 14, 190, 186, 0, 19, 0,
- 201, 19, 207, 200, 0, 0, 219, 220, 253, 254,
- 248, 247, 249, 233, 234, 235, 236, 237, 238, 239,
- 240, 241, 242, 243, 244, 245, 246, 221, 232, 231,
- 230, 223, 0, 224, 226, 229, 19, 218, 213, 16,
- 19, 19, 0, 228, 0, 0, 0, 17, 18, 19,
- 0, 87, 15, 73, 69, 19, 0, 83, 19, 0,
- 258, 257, 19, 19, 38, 21, 32, 260, 0, 180,
- 0, 0, 0, 0, 19, 0, 0, 0, 62, 63,
- 93, 94, 19, 127, 126, 19, 110, 0, 130, 129,
- 19, 118, 117, 19, 12, 0, 0, 131, 132, 133,
- 144, 0, 194, 188, 19, 0, 19, 0, 192, 19,
- 0, 13, 19, 19, 252, 0, 222, 215, 214, 212,
- 19, 19, 19, 19, 101, 76, 71, 19, 0, 19,
- 74, 19, 0, 19, 103, 66, 0, 0, 21, 35,
- 264, 267, 183, 181, 182, 19, 166, 19, 0, 172,
- 173, 174, 175, 176, 167, 171, 19, 108, 49, 112,
- 19, 19, 0, 0, 0, 0, 19, 197, 0, 196,
- 193, 206, 0, 0, 0, 19, 95, 96, 0, 115,
- 19, 107, 19, 79, 0, 78, 75, 86, 0, 0,
- 0, 0, 0, 0, 0, 91, 0, 45, 21, 261,
- 47, 48, 46, 37, 0, 169, 19, 0, 0, 0,
- 49, 103, 0, 19, 136, 195, 19, 0, 19, 0,
- 0, 123, 251, 19, 0, 100, 0, 77, 19, 0,
- 0, 19, 103, 19, 90, 89, 0, 0, 263, 39,
- 184, 0, 178, 177, 19, 60, 61, 0, 255, 55,
- 21, 262, 54, 52, 53, 51, 114, 57, 58, 59,
- 56, 0, 111, 19, 119, 198, 202, 209, 203, 121,
- 0, 19, 102, 80, 19, 0, 0, 0, 92, 19,
- 19, 0, 256, 50, 113, 128, 0, 0, 98, 82,
- 0, 0, 0, 0, 168, 116, 19, 97, 64, 65,
- 88, 170, 120
+ 19, 19, 135, 134, 19, 19, 0, 0, 211, 217,
+ 19, 227, 225, 104, 105, 19, 99, 106, 19, 0,
+ 0, 72, 19, 0, 0, 68, 0, 0, 36, 21,
+ 260, 21, 27, 26, 266, 267, 0, 28, 148, 179,
+ 0, 0, 19, 165, 0, 147, 0, 0, 0, 103,
+ 0, 0, 0, 0, 139, 19, 19, 143, 145, 140,
+ 19, 19, 19, 0, 155, 156, 152, 0, 0, 159,
+ 158, 19, 0, 208, 204, 14, 190, 186, 0, 19,
+ 0, 201, 19, 207, 200, 0, 0, 219, 220, 254,
+ 255, 250, 248, 247, 249, 233, 234, 235, 236, 237,
+ 238, 239, 240, 241, 242, 243, 244, 245, 246, 221,
+ 232, 231, 230, 223, 0, 224, 226, 229, 19, 218,
+ 213, 16, 19, 19, 0, 228, 0, 0, 0, 17,
+ 18, 19, 0, 87, 15, 73, 69, 19, 0, 83,
+ 19, 0, 259, 258, 19, 19, 38, 21, 32, 261,
+ 0, 180, 0, 0, 0, 0, 19, 0, 0, 0,
+ 62, 63, 93, 94, 19, 127, 126, 19, 110, 0,
+ 130, 129, 19, 118, 117, 19, 12, 0, 0, 131,
+ 132, 133, 144, 0, 194, 188, 19, 0, 19, 0,
+ 192, 19, 0, 13, 19, 19, 253, 0, 222, 215,
+ 214, 212, 19, 19, 19, 19, 101, 76, 71, 19,
+ 0, 19, 74, 19, 0, 19, 103, 66, 0, 0,
+ 21, 35, 265, 268, 183, 181, 182, 19, 166, 19,
+ 0, 172, 173, 174, 175, 176, 167, 171, 19, 108,
+ 49, 112, 19, 19, 0, 0, 0, 0, 19, 197,
+ 0, 196, 193, 206, 0, 0, 0, 19, 95, 96,
+ 0, 115, 19, 107, 19, 79, 0, 78, 75, 86,
+ 0, 0, 0, 0, 0, 0, 0, 91, 0, 45,
+ 21, 262, 47, 48, 46, 37, 0, 169, 19, 0,
+ 0, 0, 49, 103, 0, 19, 136, 195, 19, 0,
+ 19, 0, 0, 123, 252, 19, 0, 100, 0, 77,
+ 19, 0, 0, 19, 103, 19, 90, 89, 0, 0,
+ 264, 39, 184, 0, 178, 177, 19, 60, 61, 0,
+ 256, 55, 21, 263, 54, 52, 53, 51, 114, 57,
+ 58, 59, 56, 0, 111, 19, 119, 198, 202, 209,
+ 203, 121, 0, 19, 102, 80, 19, 0, 0, 0,
+ 92, 19, 19, 0, 257, 50, 113, 128, 0, 0,
+ 98, 82, 0, 0, 0, 0, 168, 116, 19, 97,
+ 64, 65, 88, 170, 120
};
/* YYDEFGOTO[NTERM-NUM]. */
static const yytype_int16 yydefgoto[] =
{
-1, 9, 70, 10, 11, 12, 13, 14, 15, 16,
- 255, 36, 17, 458, 18, 52, 157, 274, 347, 71,
- 408, 419, 459, 460, 409, 275, 403, 152, 153, 154,
- 155, 348, 447, 292, 331, 434, 145, 146, 391, 147,
- 296, 400, 401, 73, 334, 74, 303, 496, 100, 101,
- 102, 75, 76, 192, 135, 77, 78, 79, 80, 81,
- 82, 83, 84, 85, 86, 287, 87, 366, 454, 88,
- 93, 94, 95, 96, 429, 136, 252, 137, 138, 139,
- 140, 141, 466, 467, 54, 468, 469, 470, 164, 165
+ 257, 36, 17, 460, 18, 52, 158, 276, 349, 71,
+ 410, 421, 461, 462, 411, 277, 405, 153, 154, 155,
+ 156, 350, 449, 294, 333, 436, 146, 147, 393, 148,
+ 298, 402, 403, 73, 336, 74, 305, 498, 100, 101,
+ 102, 75, 76, 193, 136, 77, 78, 79, 80, 81,
+ 82, 83, 84, 85, 86, 289, 87, 368, 456, 88,
+ 93, 94, 95, 96, 431, 137, 254, 138, 139, 140,
+ 141, 142, 468, 469, 54, 470, 471, 472, 165, 166
};
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
STATE-NUM. */
-#define YYPACT_NINF -435
+#define YYPACT_NINF -301
static const yytype_int16 yypact[] =
{
- 818, 44, -36, -18, 112, 127, 66, 141, 162, 243,
- -435, -435, -435, -435, -435, -435, -435, -435, -435, 239,
- 43, -435, -435, -435, -435, -435, -435, -435, -435, 250,
- 250, 250, 250, 250, 250, 250, 37, 304, -435, -435,
- -435, -435, 763, 354, 31, 1114, 144, 622, 49, -435,
- -435, 346, 344, -435, 332, 27, 23, 358, -435, -435,
- 401, 370, -435, 371, -435, 381, 406, -435, 193, -435,
- -435, -435, -435, -435, -435, -435, -435, -435, 171, 702,
- 143, 631, -435, 756, 159, -435, -435, -435, -435, 240,
- -435, -435, -435, 329, 303, 254, 199, -435, -435, -435,
- -435, -435, -435, -435, -435, -435, -435, -435, -435, -435,
- -435, -435, -435, -435, -435, -435, -435, -435, -435, -435,
- -435, -435, -435, -435, -435, -435, -435, -435, -435, -435,
- -435, -435, -435, -435, -435, 949, 903, -435, -435, -435,
- -435, -435, -435, -435, -435, -435, 34, -435, 342, 4,
- 274, -435, 353, 59, 291, 223, 331, 395, -435, 438,
- -435, -435, -435, -435, -435, 437, -435, -435, -435, 448,
- 24, -435, -435, 415, -435, 349, 295, 377, 375, 399,
- 198, 421, 190, -435, -435, -435, -435, -435, -435, -435,
- -435, -435, 702, -435, -435, 756, 334, 380, -435, -435,
- -435, 463, 250, 250, -435, 409, 398, 180, -435, 15,
- -435, -435, -435, 250, 221, 182, 250, 250, 250, 250,
- 250, 250, 250, 250, 250, 250, 250, 250, 250, 250,
- 250, 250, 250, 250, 250, 250, 250, 250, 250, 250,
- 250, 250, 1052, 250, 250, 250, -435, -435, -435, -435,
- -435, -435, 1172, 250, 188, 166, 301, -435, -435, -435,
- 472, 250, -435, 412, 404, -435, 62, -435, -435, 220,
- -435, -435, -435, -435, 458, -435, 438, 438, 27, -435,
- 413, 417, 430, 622, 358, 371, 473, 158, -435, -435,
- -435, -435, -435, -435, -435, -435, -435, 172, -435, -435,
- -435, -435, -435, -435, -435, 354, 622, 250, 250, 250,
- -435, 555, 250, 420, -435, 502, -435, 459, 250, -435,
- 535, -435, -435, -435, -435, 976, 250, 250, 250, -435,
- -435, -435, -435, -435, 496, 250, 423, -435, 541, -435,
- 250, -435, 754, -435, 424, 36, 552, 685, -435, 438,
- -435, -435, -435, -435, -435, -435, 250, -435, 277, -435,
- -435, -435, -435, -435, -435, -435, -435, 856, 250, -435,
- -435, -435, 354, 226, 65, 203, -435, 250, 428, 250,
- 250, 1172, 462, 354, 31, -435, 250, 53, 186, 250,
- -435, -435, -435, 250, 429, 250, 250, 1172, 608, 354,
- 479, 83, 538, 485, 482, 320, 459, -435, -435, -435,
- -435, -435, -435, 438, 78, -435, -435, 447, 489, 1244,
- 250, 144, 487, -435, -435, 250, -435, 462, -435, 205,
- 491, -435, 250, -435, 492, -435, 186, 250, -435, 681,
- 497, -435, 5, -435, -435, -435, 558, 150, -435, 438,
- -435, 447, -435, -435, -435, -435, -435, 27, -435, -435,
- -435, -435, -435, -435, -435, -435, -435, -435, -435, -435,
- -435, 1244, -435, -435, 250, 250, -435, 250, -435, -435,
- 1114, -435, 34, 250, -435, 49, 178, 49, -435, -435,
- -435, 1, -435, 438, -435, 250, 306, 827, 250, 250,
- 498, 504, 151, 14, -435, -435, -435, 250, -435, -435,
- -435, -435, 250
+ 467, 43, -9, 143, 155, 174, 47, 179, 199, 202,
+ -301, -301, -301, -301, -301, -301, -301, -301, -301, -15,
+ 220, -301, -301, -301, -301, -301, -301, -301, -301, 233,
+ 233, 233, 233, 233, 233, 233, 31, 325, -301, -301,
+ -301, -301, 769, 191, 420, 1125, 407, 556, 38, -301,
+ -301, 336, 290, -301, 345, 146, 14, 374, -301, -301,
+ 419, 393, -301, 397, -301, 402, 446, -301, 194, -301,
+ -301, -301, -301, -301, -301, -301, -301, -301, 82, 616,
+ 297, 629, -301, 454, 164, -301, -301, -301, -301, 236,
+ -301, -301, -301, 384, 640, 237, 277, -301, -301, -301,
+ -301, -301, -301, -301, -301, -301, -301, -301, -301, -301,
+ -301, -301, -301, -301, -301, -301, -301, -301, -301, -301,
+ -301, -301, -301, -301, -301, -301, -301, -301, -301, -301,
+ -301, -301, -301, -301, -301, -301, 807, 911, -301, -301,
+ -301, -301, -301, -301, -301, -301, -301, 28, -301, 390,
+ 87, 248, -301, 394, 185, 308, 229, 355, 319, -301,
+ 405, -301, -301, -301, -301, -301, 450, -301, -301, -301,
+ 471, 292, -301, -301, 25, -301, 364, 285, 367, 311,
+ 379, 22, 37, 196, -301, -301, -301, -301, -301, -301,
+ -301, -301, -301, 616, -301, -301, 454, 205, 344, -301,
+ -301, -301, 466, 233, 233, -301, 484, 416, 94, -301,
+ 62, -301, -301, -301, 233, 223, 183, 233, 233, 233,
+ 233, 233, 233, 233, 233, 233, 233, 233, 233, 233,
+ 233, 233, 233, 233, 233, 233, 233, 233, 233, 233,
+ 233, 233, 233, 233, 1062, 233, 233, 233, -301, -301,
+ -301, -301, -301, -301, 1184, 233, 60, 29, 383, -301,
+ -301, -301, 493, 233, -301, 507, 429, -301, 83, -301,
+ -301, 192, -301, -301, -301, -301, 476, -301, 405, 405,
+ 146, -301, 431, 457, 470, 556, 374, 397, 529, 68,
+ -301, -301, -301, -301, -301, -301, -301, -301, -301, 96,
+ -301, -301, -301, -301, -301, -301, -301, 191, 556, 233,
+ 233, 233, -301, 382, 233, 508, -301, 545, -301, 481,
+ 233, -301, 538, -301, -301, -301, -301, 985, 233, 233,
+ 233, -301, -301, -301, -301, -301, 519, 233, 541, -301,
+ 569, -301, 233, -301, 760, -301, 404, 23, 555, 915,
+ -301, 405, -301, -301, -301, -301, -301, -301, 233, -301,
+ 167, -301, -301, -301, -301, -301, -301, -301, -301, 389,
+ 233, -301, -301, -301, 191, 208, 161, 487, -301, 233,
+ 546, 233, 233, 1184, 464, 191, 420, -301, 233, 36,
+ 131, 233, -301, -301, -301, 233, 579, 233, 233, 1184,
+ 612, 191, 535, 97, 611, 549, 620, 400, 481, -301,
+ -301, -301, -301, -301, -301, 405, 152, -301, -301, 323,
+ 632, 1257, 233, 407, 554, -301, -301, 233, -301, 464,
+ -301, 215, 558, -301, 233, -301, 563, -301, 131, 233,
+ -301, 686, 567, -301, 272, -301, -301, -301, 638, 299,
+ -301, 405, -301, 323, -301, -301, -301, -301, -301, 146,
+ -301, -301, -301, -301, -301, -301, -301, -301, -301, -301,
+ -301, -301, -301, 1257, -301, -301, 233, 233, -301, 233,
+ -301, -301, 1125, -301, 28, 233, -301, 38, 136, 38,
+ -301, -301, -301, 0, -301, 405, -301, 233, 181, 834,
+ 233, 233, 582, 583, 182, 1, -301, -301, -301, 233,
+ -301, -301, -301, -301, 233
};
/* YYPGOTO[NTERM-NUM]. */
static const yytype_int16 yypgoto[] =
{
- -435, -435, -435, -435, -435, -435, -435, -435, -435, -435,
- -1, -21, -435, -51, -435, -435, -435, -435, -435, 229,
- -435, 147, -435, -435, 256, -435, -435, -434, -435, 425,
- -435, -435, -435, 130, -435, -435, 214, 174, -435, -435,
- -45, 241, -176, -389, -435, -227, -435, -435, 116, -435,
- 231, -154, -137, -435, -435, -130, 566, -435, 310, 449,
- -61, 547, -50, -55, -435, 348, -435, 278, 194, -435,
- -298, -435, 581, -435, 261, -185, -435, 443, 546, -35,
- -435, -435, 218, -19, -435, 352, -435, 364, -16, -3
+ -301, -301, -301, -301, -301, -301, -301, -301, -301, -301,
+ -1, -21, -301, -51, -301, -301, -301, -301, -301, 302,
+ -301, 264, -301, -301, 5, -301, -301, 217, -301, 536,
+ -301, -301, -301, 245, -301, -301, 310, 269, -301, -301,
+ -45, 339, -177, -202, -301, -146, -301, -301, 211, -301,
+ 327, -132, -130, -301, -301, -103, 667, -301, 408, 543,
+ -48, 634, -65, -55, -301, 430, -301, 359, 267, -301,
+ -300, -301, 627, -301, 293, -190, -301, 469, 588, -35,
+ -301, -301, 252, -19, -301, 377, -301, 378, -16, -3
};
/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
@@ -1048,332 +1006,334 @@ static const yytype_int16 yypgoto[] =
#define YYTABLE_NINF -217
static const yytype_int16 yytable[] =
{
- 20, 148, 297, 39, 163, 183, 40, 374, 97, 29,
- 30, 31, 32, 33, 34, 35, 317, 53, 186, 40,
- 42, 43, 44, 45, 46, 47, 48, 161, 40, 199,
- 461, 196, 159, 197, 21, 160, 40, 280, 281, -19,
- 56, 40, 49, 50, 98, 19, 142, 143, 40, -19,
- 150, 500, 22, 501, 40, 41, -19, 325, 40, 97,
- 263, 173, 151, 317, 176, 161, 178, 180, 181, 182,
- 433, 25, 151, 402, 422, 258, 51, -19, 144, 185,
- 212, 504, 461, 40, 369, 430, 201, 319, 282, 202,
- 203, 207, 209, 99, 511, 166, 213, 37, 162, 214,
- 215, 440, 216, 217, 218, 219, 220, 221, 222, 223,
- 224, 225, 226, 227, 228, 229, 230, 231, 232, 233,
- 234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
- -70, 310, 244, 245, 341, 382, 162, 276, 253, 277,
- 271, 199, 199, 254, 187, 311, 256, 260, 188, 40,
- 261, 266, 450, -109, 269, -109, 40, 398, 371, 289,
- 198, 294, 290, 299, -151, 359, 360, 361, 362, 363,
- 283, 40, 183, 369, 58, 59, 60, 61, 62, 369,
- -191, 317, 23, 305, 306, 142, 143, 40, 307, 308,
- 309, 40, 462, 40, 179, 40, 427, 24, -19, 312,
- 210, 330, 315, 40, 187, -199, 478, 318, 188, 332,
- 320, 26, 439, -137, -137, 291, 211, 144, -137, 189,
- 190, 191, 355, 510, 267, 40, 40, 350, -19, -151,
- -151, 40, 27, -151, -151, -151, -151, -151, 364, 365,
- 268, 184, 370, 28, 462, 326, 185, 371, -67, 327,
- 328, -191, 322, 371, 349, 40, 199, 323, 335, 144,
- 338, 304, 351, -19, 340, 463, 486, 342, 300, 37,
- 97, 344, 345, -138, -138, -199, -199, -199, -138, 189,
- 190, 191, 464, 356, 359, 360, 361, 362, 363, 465,
- 343, 367, 321, -19, 368, 497, 423, 351, 72, 372,
- 40, 351, 373, -187, 205, 55, 40, 290, 158, 37,
- 37, 38, 200, 377, 333, 379, 90, 463, 380, 98,
- 351, 383, 384, 424, 37, 40, 208, 413, 410, 386,
- 387, 388, 389, 446, 464, 198, 393, 97, 395, -154,
- 396, 465, 399, 91, 37, 405, 259, 156, 97, 58,
- 59, 60, 61, 62, 414, 89, 356, 415, 365, 40,
- 291, 37, 351, 265, 97, 417, 65, 90, 99, 420,
- 421, 51, 92, 37, -187, 425, 472, 505, 351, 167,
- 40, 198, 175, 172, 432, -150, -19, 449, 445, 436,
- 448, 437, 174, -19, 91, 58, 59, 60, 61, 62,
- 204, 37, 456, 270, -154, -154, 492, 177, -154, -154,
- -154, -154, -154, 257, 168, 451, 142, 143, 169, 37,
- 40, 288, 474, 92, 262, 475, 40, 477, 284, 40,
- 272, 273, 480, 301, 302, 285, 64, 483, 278, 493,
- 485, 448, 487, 49, 50, 295, -19, 37, 144, 293,
- -150, -150, 40, 491, -150, -150, -150, -150, -150, 452,
- 453, 279, -210, 248, 313, 142, 143, 170, 171, 37,
- 316, 298, 495, 336, -216, -216, 339, -216, -216, 37,
- 498, 314, 37, 499, 337, 346, 357, 352, 502, 503,
- 37, 353, 376, 37, -108, 392, 507, 144, 37, 37,
- 426, 438, 428, 378, 354, 512, -216, -216, -216, -216,
+ 20, 149, 299, 39, 164, 40, 40, 376, 97, 29,
+ 30, 31, 32, 33, 34, 35, 197, 53, 198, 40,
+ 42, 43, 44, 45, 46, 47, 48, 40, 40, 200,
+ 40, 187, 160, -19, 40, 161, 49, 50, 286, 151,
+ 56, 40, 40, 40, 19, 287, 64, 72, -19, 303,
+ 304, 152, 25, 435, 327, -19, 37, 159, 38, 97,
+ 404, 174, 21, 319, 177, 40, 179, 181, 182, 183,
+ 51, -19, 334, 332, 424, 361, 362, 363, 364, 365,
+ 213, 506, 513, 184, 319, 432, 202, 167, 184, 203,
+ 204, 208, 210, 302, -191, 319, 214, 371, 371, 215,
+ 216, 442, 217, 218, 219, 220, 221, 222, 223, 224,
+ 225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
+ 235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
+ 245, 313, 384, 246, 247, 321, 40, 371, 278, 255,
+ 279, 273, 200, 200, 256, 312, 162, 258, 262, 366,
+ 367, 263, 268, 185, 400, 271, 343, 40, 186, 260,
+ 291, 162, 296, 186, 301, 199, -191, 372, -109, -151,
+ -109, 285, 373, 373, 361, 362, 363, 364, 365, 58,
+ 59, 60, 61, 62, 307, 308, 265, 40, 40, 309,
+ 310, 311, 89, 429, 98, 180, 40, 40, 152, -19,
+ 314, 40, 28, 317, 90, 145, 199, -67, 320, 441,
+ -154, 322, 373, 40, 22, -199, 480, 37, 163, 463,
+ 58, 59, 60, 61, 62, 40, 23, 452, 40, 352,
+ 269, 91, 41, 163, -19, -151, -151, 357, 40, -151,
+ -151, -151, -151, -151, 99, 24, 270, 328, 417, 367,
+ 26, 329, 330, 507, 324, 512, 351, -70, 200, 325,
+ 337, 92, 340, 345, 353, -19, 342, 488, 306, 344,
+ 27, 463, 97, 346, 347, 464, -154, -154, 211, 425,
+ -154, -154, -154, -154, -154, 358, -199, -199, -199, 465,
+ 40, 466, 499, 369, 212, 323, 370, 292, 188, 353,
+ -19, 374, 189, 353, 375, 282, 283, 37, 37, 201,
+ 209, 292, 65, 143, 144, 379, 40, 381, 467, 37,
+ 382, 261, 353, 385, 386, 426, 55, 464, 40, 415,
+ 412, 388, 389, 390, 391, 454, 455, 157, 395, 97,
+ 397, 465, 398, 466, 401, 199, 145, 407, 37, -150,
+ 97, 293, 143, 144, 274, 275, 416, 284, 358, 58,
+ 59, 60, 61, 62, 353, 293, 97, 419, -137, -137,
+ 467, 422, 423, -137, 190, 191, 192, 427, 474, 37,
+ 353, 267, 297, 199, 51, 145, 434, -153, 40, 451,
+ 447, 438, 450, 439, 40, 168, 335, 58, 59, 60,
+ 61, 62, -103, 176, 458, 40, 173, -19, 494, 40,
+ 49, 50, 40, 448, -19, -150, -150, 453, 175, -150,
+ -150, -150, -150, -150, 476, 40, 37, 477, 272, 479,
+ 143, 144, 169, 98, 482, 37, 170, 290, 37, 485,
+ 295, 495, 487, 450, 489, 143, 144, 178, 143, 144,
+ 37, 280, 300, -153, -153, 493, 205, -153, -153, -153,
+ -153, -153, 259, 145, -210, 250, 264, 315, -19, 58,
+ 59, 60, 61, 62, 497, -108, -216, -216, 145, -216,
+ -216, 145, 500, 99, 281, 501, 171, 172, 188, 318,
+ 504, 505, 189, 1, 338, 2, 3, 4, 509, 5,
+ 6, 7, 341, 348, 430, 8, 354, 514, -216, -216,
-216, -216, -216, -216, -216, -216, -216, -216, -216, -216,
- -216, -216, -216, -216, -216, -216, -216, -216, -216, 37,
- -216, -216, -210, -210, -210, -205, 381, 250, -216, 390,
- 40, -216, 394, 442, 251, -216, -216, 103, 104, 441,
- 105, 106, 37, 404, 444, 443, 198, -19, 473, 37,
- -153, 455, 479, 488, -19, -19, 481, 471, 484, 508,
- 58, 59, 60, 61, 62, 509, 407, 489, 264, 107,
- 108, 109, 110, 111, 112, 113, 114, 115, 116, 117,
- 118, 119, 120, 121, 122, 123, 124, 125, 126, 127,
- 128, 129, 435, 130, 92, -205, -205, -205, 418, 248,
- 482, 131, 506, 149, 132, 431, 375, -19, 133, 134,
- -216, -216, 286, -216, -216, -153, -153, 40, 195, -153,
- -153, -153, -153, -153, 358, 57, 416, 58, 59, 60,
- 61, 62, 63, 64, 193, 490, 58, 59, 60, 61,
- 62, 194, -216, -216, -216, -216, -216, -216, -216, -216,
-216, -216, -216, -216, -216, -216, -216, -216, -216, -216,
- -216, -216, -216, -216, -216, 206, -216, -216, -81, -81,
- -81, 247, 248, 250, -216, -2, 406, -216, 476, 494,
- 251, -216, -216, -216, -216, 329, -216, -216, 57, 411,
- 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
- 68, 412, 0, 0, 0, 57, 69, 58, 59, 60,
- 61, 62, 63, 64, 51, -216, -216, -216, -216, -216,
+ -216, -216, 355, -216, -216, -210, -210, -210, -205, 383,
+ 252, -216, 359, 40, -216, 356, 380, 253, -216, -216,
+ 103, 104, 37, 105, 106, 37, 406, 316, -138, -138,
+ -19, 40, 392, -138, 190, 191, 192, -19, -19, 57,
+ 396, 58, 59, 60, 61, 62, 63, 64, 37, 37,
+ 339, 378, 107, 108, 109, 110, 111, 112, 113, 114,
+ 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
+ 125, 126, 127, 128, 129, 130, 443, 131, 92, -205,
+ -205, -205, 37, 250, 394, 132, 444, 37, 133, 428,
+ 445, -19, 134, 135, -216, -216, 475, -216, -216, 57,
+ 481, 58, 59, 60, 61, 62, 63, 64, 483, 486,
+ -187, 206, 194, 490, 58, 59, 60, 61, 62, 195,
+ 37, 409, 440, 90, 510, 511, -216, -216, -216, -216,
-216, -216, -216, -216, -216, -216, -216, -216, -216, -216,
- -216, -216, -216, -216, -216, -216, -216, -216, 0, -216,
- -216, -84, -84, -84, 0, 397, 250, -216, 0, 40,
- -216, 0, 0, 251, -216, -216, 103, 104, 40, 105,
- 106, 58, 59, 60, 61, 62, 57, 0, 58, 59,
- 60, 61, 62, 63, 64, 65, 66, 67, 68, 0,
- 0, 0, 0, 0, 69, 0, 0, 0, 107, 108,
- 109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
- 119, 120, 121, 122, 123, 124, 125, 126, 127, 128,
- 129, 0, 130, 92, -85, -85, -85, 0, 248, 0,
- 131, 0, -19, 132, 0, 0, 0, 133, 134, -216,
- -216, 0, -216, -216, 1, 0, 2, 3, 4, 0,
- 5, 6, 7, 0, 0, 0, 8, 0, 0, 0,
- 0, 40, 0, 0, 0, 0, 0, 0, 0, -103,
- 0, -216, -216, -216, -216, -216, -216, -216, -216, -216,
-216, -216, -216, -216, -216, -216, -216, -216, -216, -216,
- -216, -216, -216, -216, 0, -216, -216, 142, 143, 0,
- 0, -19, 250, -216, 248, 0, -216, 0, 0, 251,
- -216, -216, 0, 0, 0, -216, -216, 0, -216, -216,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 144,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, -216, -216, -216,
+ 91, -216, -216, -81, -81, -81, 473, 250, 252, -216,
+ 266, 37, -216, 446, 491, 253, -216, -216, -216, -216,
+ 437, -216, -216, 37, 502, 457, 503, 484, 420, 508,
+ 92, 37, -187, 433, 150, 196, 377, 288, 360, 418,
+ 492, 207, 478, 331, 249, 496, 413, 414, 0, 0,
-216, -216, -216, -216, -216, -216, -216, -216, -216, -216,
-216, -216, -216, -216, -216, -216, -216, -216, -216, -216,
- 0, -216, -216, 0, 249, 0, 0, 248, 250, -216,
- 0, 0, -216, 0, 0, 251, -216, -216, -216, -216,
- 0, -216, -216, 107, 108, 109, 110, 111, 112, 113,
- 114, 115, 116, 117, 118, 119, 120, 121, 122, 123,
- 246, 125, 126, 127, 0, 0, 0, 0, 0, 0,
+ -216, -216, -216, -216, 0, -216, -216, -84, -84, -84,
+ 0, 399, 252, -216, 0, 40, -216, 0, 0, 253,
+ -216, -216, 103, 104, 40, 105, 106, 0, 0, 0,
+ 0, 0, 57, 0, 58, 59, 60, 61, 62, 63,
+ 64, 65, 66, 67, 68, 0, 0, 0, 0, 0,
+ 69, 0, 0, 0, 107, 108, 109, 110, 111, 112,
+ 113, 114, 115, 116, 117, 118, 119, 120, 121, 122,
+ 123, 124, 125, 126, 127, 128, 129, 130, 0, 131,
+ 92, -85, -85, -85, 0, 250, 0, 132, 0, -19,
+ 133, 0, 0, 0, 134, 135, -216, -216, 0, -216,
+ -216, 107, 108, 109, 110, 111, 112, 113, 114, 115,
+ 116, 117, 118, 119, 120, 121, 122, 123, 124, 248,
+ 126, 127, 128, 0, 0, 0, 0, 0, -216, -216,
+ -216, -216, -216, -216, -216, -216, -216, -216, -216, -216,
+ -216, -216, -216, -216, -216, -216, -216, -216, -216, -216,
+ -216, -216, 0, -216, -216, 0, 0, 0, 0, -19,
+ 252, -216, 250, 0, -216, -2, 408, 253, -216, -216,
+ 0, 0, 0, -216, -216, 0, -216, -216, 57, 0,
+ 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
+ 68, 0, 0, 0, 0, 0, 69, 0, 0, 0,
+ 0, 0, 0, 0, 51, -216, -216, -216, -216, -216,
+ -216, -216, -216, -216, -216, -216, -216, -216, -216, -216,
+ -216, -216, -216, -216, -216, -216, -216, -216, -216, 0,
+ -216, -216, 0, 251, 0, 0, 250, 252, -216, 0,
+ 0, -216, 0, 0, 253, -216, -216, -216, -216, 0,
+ -216, -216, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, -216,
-216, -216, -216, -216, -216, -216, -216, -216, -216, -216,
-216, -216, -216, -216, -216, -216, -216, -216, -216, -216,
-216, -216, -216, 0, -216, -216, 0, 0, 0, 0,
- 385, 250, -216, 324, 0, -216, 0, 40, 251, -216,
+ 387, 252, -216, 326, 0, -216, 0, 40, 253, -216,
-216, 0, 0, 0, 103, 104, 0, 105, 106, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 107, 108, 109, 110,
111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
- 121, 122, 123, 124, 125, 126, 127, 128, 129, 40,
- 130, 92, 0, 0, 0, 0, 103, 104, 131, 105,
- 106, 132, 0, 0, 0, 133, 134, 0, 0, 0,
+ 121, 122, 123, 124, 125, 126, 127, 128, 129, 130,
+ 40, 131, 92, 0, 0, 0, 0, 103, 104, 132,
+ 105, 106, 133, 0, 0, 0, 134, 135, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 107,
+ 108, 109, 110, 111, 112, 113, 114, 115, 116, 117,
+ 118, 119, 120, 121, 122, 123, 124, 125, 126, 127,
+ 128, 129, 130, 0, 131, 92, 103, 104, 0, 105,
+ 106, 0, 132, 0, 0, 133, 0, 0, 0, 134,
+ 135, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 107, 108,
109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
119, 120, 121, 122, 123, 124, 125, 126, 127, 128,
- 129, 0, 130, 92, 103, 104, 0, 105, 106, 0,
- 131, 0, 0, 132, 0, 0, 0, 133, 134, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 107, 108, 109, 110,
- 111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
- 121, 122, 123, 124, 125, 126, 127, 128, 129, 0,
- 130, 92, 0, 0, 161, 457, 0, 0, 131, 0,
- 0, 132, 0, 0, 0, 133, 134, 57, 0, 58,
- 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
- 0, 0, 0, 0, 0, 69, 0, 0, 0, 0,
- 0, 0, 0, 51, 0, 0, 0, 0, 0, 0,
+ 129, 130, 0, 131, 92, 0, 0, 162, 459, 0,
+ 0, 132, 0, 0, 133, 0, 0, 0, 134, 135,
+ 57, 0, 58, 59, 60, 61, 62, 63, 64, 65,
+ 66, 67, 68, 0, 0, 0, 0, 0, 69, 0,
+ 0, 0, 0, 0, 0, 0, 51, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 162
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 163
};
static const yytype_int16 yycheck[] =
{
- 1, 46, 178, 19, 55, 1, 5, 305, 43, 10,
- 11, 12, 13, 14, 15, 16, 1, 36, 79, 5,
- 21, 22, 23, 24, 25, 26, 27, 0, 5, 84,
- 419, 81, 53, 83, 70, 54, 5, 13, 14, 5,
- 41, 5, 5, 6, 13, 1, 41, 42, 5, 5,
- 1, 485, 70, 487, 5, 12, 12, 242, 5, 94,
- 1, 62, 13, 1, 65, 0, 67, 68, 69, 70,
- 17, 5, 13, 37, 372, 71, 39, 43, 73, 75,
- 96, 80, 471, 5, 1, 383, 89, 72, 64, 90,
- 91, 94, 95, 62, 80, 72, 97, 70, 71, 100,
- 101, 399, 103, 104, 105, 106, 107, 108, 109, 110,
+ 1, 46, 179, 19, 55, 5, 5, 307, 43, 10,
+ 11, 12, 13, 14, 15, 16, 81, 36, 83, 5,
+ 21, 22, 23, 24, 25, 26, 27, 5, 5, 84,
+ 5, 79, 53, 5, 5, 54, 5, 6, 13, 1,
+ 41, 5, 5, 5, 1, 20, 21, 42, 5, 12,
+ 13, 13, 5, 17, 244, 12, 71, 52, 73, 94,
+ 37, 62, 71, 1, 65, 5, 67, 68, 69, 70,
+ 39, 43, 43, 13, 374, 7, 8, 9, 10, 11,
+ 96, 81, 81, 1, 1, 385, 89, 73, 1, 90,
+ 91, 94, 95, 71, 0, 1, 97, 1, 1, 100,
+ 101, 401, 103, 104, 105, 106, 107, 108, 109, 110,
111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
121, 122, 123, 124, 125, 126, 127, 128, 129, 130,
- 71, 192, 133, 134, 72, 320, 71, 158, 139, 160,
- 156, 196, 197, 144, 1, 195, 147, 150, 5, 5,
- 151, 154, 74, 70, 155, 72, 5, 342, 75, 175,
- 1, 177, 12, 179, 5, 7, 8, 9, 10, 11,
- 171, 5, 1, 1, 15, 16, 17, 18, 19, 1,
- 0, 1, 70, 184, 185, 41, 42, 5, 189, 190,
- 191, 5, 419, 5, 1, 5, 381, 70, 5, 200,
- 1, 13, 205, 5, 1, 0, 1, 208, 5, 43,
- 211, 70, 397, 70, 71, 65, 17, 73, 75, 76,
- 77, 78, 283, 72, 1, 5, 5, 278, 5, 70,
- 71, 5, 70, 74, 75, 76, 77, 78, 80, 81,
- 17, 70, 70, 0, 471, 246, 75, 75, 70, 250,
- 251, 71, 70, 75, 275, 5, 311, 75, 259, 73,
- 263, 71, 278, 70, 265, 419, 442, 268, 70, 70,
- 305, 272, 273, 70, 71, 70, 71, 72, 75, 76,
- 77, 78, 419, 284, 7, 8, 9, 10, 11, 419,
- 70, 292, 71, 70, 295, 480, 70, 313, 42, 300,
- 5, 317, 303, 0, 1, 1, 5, 12, 52, 70,
- 70, 72, 72, 314, 13, 316, 13, 471, 319, 13,
- 336, 322, 323, 374, 70, 5, 72, 348, 347, 330,
- 331, 332, 333, 13, 471, 1, 337, 372, 339, 5,
- 341, 471, 343, 40, 70, 346, 72, 1, 383, 15,
- 16, 17, 18, 19, 355, 1, 357, 80, 81, 5,
- 65, 70, 378, 72, 399, 366, 22, 13, 62, 370,
- 371, 39, 69, 70, 71, 376, 421, 71, 394, 21,
- 5, 1, 1, 13, 385, 5, 5, 408, 404, 390,
- 406, 392, 21, 12, 40, 15, 16, 17, 18, 19,
- 71, 70, 418, 72, 70, 71, 457, 1, 74, 75,
- 76, 77, 78, 71, 13, 416, 41, 42, 17, 70,
- 5, 72, 423, 69, 71, 426, 5, 428, 13, 5,
- 35, 36, 433, 12, 13, 20, 21, 438, 1, 460,
- 441, 457, 443, 5, 6, 70, 65, 70, 73, 72,
- 70, 71, 5, 454, 74, 75, 76, 77, 78, 12,
- 13, 13, 0, 1, 1, 41, 42, 66, 67, 70,
- 72, 72, 473, 1, 12, 13, 72, 15, 16, 70,
- 481, 72, 70, 484, 72, 27, 13, 74, 489, 490,
- 70, 74, 72, 70, 70, 72, 497, 73, 70, 70,
- 72, 72, 40, 1, 74, 506, 44, 45, 46, 47,
- 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
- 58, 59, 60, 61, 62, 63, 64, 65, 66, 70,
- 68, 69, 70, 71, 72, 0, 1, 75, 76, 43,
- 5, 79, 1, 5, 82, 83, 84, 12, 13, 70,
- 15, 16, 70, 1, 72, 70, 1, 5, 71, 70,
- 5, 72, 71, 5, 12, 13, 74, 420, 71, 71,
- 15, 16, 17, 18, 19, 71, 347, 447, 153, 44,
- 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
- 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
- 65, 66, 388, 68, 69, 70, 71, 72, 367, 1,
- 436, 76, 496, 47, 79, 384, 306, 65, 83, 84,
- 12, 13, 173, 15, 16, 70, 71, 5, 81, 74,
- 75, 76, 77, 78, 286, 13, 358, 15, 16, 17,
- 18, 19, 20, 21, 13, 451, 15, 16, 17, 18,
- 19, 20, 44, 45, 46, 47, 48, 49, 50, 51,
- 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
- 62, 63, 64, 65, 66, 94, 68, 69, 70, 71,
- 72, 135, 1, 75, 76, 0, 1, 79, 427, 471,
- 82, 83, 84, 12, 13, 252, 15, 16, 13, 347,
- 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
- 25, 347, -1, -1, -1, 13, 31, 15, 16, 17,
- 18, 19, 20, 21, 39, 44, 45, 46, 47, 48,
- 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
- 59, 60, 61, 62, 63, 64, 65, 66, -1, 68,
- 69, 70, 71, 72, -1, 1, 75, 76, -1, 5,
- 79, -1, -1, 82, 83, 84, 12, 13, 5, 15,
- 16, 15, 16, 17, 18, 19, 13, -1, 15, 16,
- 17, 18, 19, 20, 21, 22, 23, 24, 25, -1,
- -1, -1, -1, -1, 31, -1, -1, -1, 44, 45,
+ 131, 196, 322, 134, 135, 73, 5, 1, 159, 140,
+ 161, 157, 197, 198, 145, 193, 0, 148, 151, 81,
+ 82, 152, 155, 71, 344, 156, 73, 5, 76, 72,
+ 176, 0, 178, 76, 180, 1, 72, 71, 71, 5,
+ 73, 172, 76, 76, 7, 8, 9, 10, 11, 15,
+ 16, 17, 18, 19, 185, 186, 1, 5, 5, 190,
+ 191, 192, 1, 383, 13, 1, 5, 5, 13, 5,
+ 201, 5, 0, 206, 13, 74, 1, 71, 209, 399,
+ 5, 212, 76, 5, 71, 0, 1, 71, 72, 421,
+ 15, 16, 17, 18, 19, 5, 71, 75, 5, 280,
+ 1, 40, 12, 72, 5, 71, 72, 285, 5, 75,
+ 76, 77, 78, 79, 63, 71, 17, 248, 81, 82,
+ 71, 252, 253, 72, 71, 73, 277, 72, 313, 76,
+ 261, 70, 265, 71, 280, 71, 267, 444, 72, 270,
+ 71, 473, 307, 274, 275, 421, 71, 72, 1, 71,
+ 75, 76, 77, 78, 79, 286, 71, 72, 73, 421,
+ 5, 421, 482, 294, 17, 72, 297, 12, 1, 315,
+ 71, 302, 5, 319, 305, 13, 14, 71, 71, 73,
+ 73, 12, 22, 41, 42, 316, 5, 318, 421, 71,
+ 321, 73, 338, 324, 325, 376, 1, 473, 5, 350,
+ 349, 332, 333, 334, 335, 12, 13, 1, 339, 374,
+ 341, 473, 343, 473, 345, 1, 74, 348, 71, 5,
+ 385, 66, 41, 42, 35, 36, 357, 65, 359, 15,
+ 16, 17, 18, 19, 380, 66, 401, 368, 71, 72,
+ 473, 372, 373, 76, 77, 78, 79, 378, 423, 71,
+ 396, 73, 71, 1, 39, 74, 387, 5, 5, 410,
+ 406, 392, 408, 394, 5, 21, 13, 15, 16, 17,
+ 18, 19, 13, 1, 420, 5, 13, 5, 459, 5,
+ 5, 6, 5, 13, 12, 71, 72, 418, 21, 75,
+ 76, 77, 78, 79, 425, 5, 71, 428, 73, 430,
+ 41, 42, 13, 13, 435, 71, 17, 73, 71, 440,
+ 73, 462, 443, 459, 445, 41, 42, 1, 41, 42,
+ 71, 1, 73, 71, 72, 456, 72, 75, 76, 77,
+ 78, 79, 72, 74, 0, 1, 72, 1, 66, 15,
+ 16, 17, 18, 19, 475, 71, 12, 13, 74, 15,
+ 16, 74, 483, 63, 13, 486, 67, 68, 1, 73,
+ 491, 492, 5, 26, 1, 28, 29, 30, 499, 32,
+ 33, 34, 73, 27, 40, 38, 75, 508, 44, 45,
46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
- 66, -1, 68, 69, 70, 71, 72, -1, 1, -1,
- 76, -1, 5, 79, -1, -1, -1, 83, 84, 12,
- 13, -1, 15, 16, 26, -1, 28, 29, 30, -1,
- 32, 33, 34, -1, -1, -1, 38, -1, -1, -1,
- -1, 5, -1, -1, -1, -1, -1, -1, -1, 13,
- -1, 44, 45, 46, 47, 48, 49, 50, 51, 52,
- 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
- 63, 64, 65, 66, -1, 68, 69, 41, 42, -1,
- -1, 74, 75, 76, 1, -1, 79, -1, -1, 82,
- 83, 84, -1, -1, -1, 12, 13, -1, 15, 16,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 73,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 44, 45, 46,
- 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
- 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
- -1, 68, 69, -1, 71, -1, -1, 1, 75, 76,
- -1, -1, 79, -1, -1, 82, 83, 84, 12, 13,
- -1, 15, 16, 44, 45, 46, 47, 48, 49, 50,
- 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
- 61, 62, 63, 64, -1, -1, -1, -1, -1, -1,
+ 66, 67, 75, 69, 70, 71, 72, 73, 0, 1,
+ 76, 77, 13, 5, 80, 75, 1, 83, 84, 85,
+ 12, 13, 71, 15, 16, 71, 1, 73, 71, 72,
+ 5, 5, 43, 76, 77, 78, 79, 12, 13, 13,
+ 1, 15, 16, 17, 18, 19, 20, 21, 71, 71,
+ 73, 73, 44, 45, 46, 47, 48, 49, 50, 51,
+ 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
+ 62, 63, 64, 65, 66, 67, 71, 69, 70, 71,
+ 72, 73, 71, 1, 73, 77, 5, 71, 80, 73,
+ 71, 66, 84, 85, 12, 13, 72, 15, 16, 13,
+ 72, 15, 16, 17, 18, 19, 20, 21, 75, 72,
+ 0, 1, 13, 5, 15, 16, 17, 18, 19, 20,
+ 71, 349, 73, 13, 72, 72, 44, 45, 46, 47,
+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
+ 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
+ 40, 69, 70, 71, 72, 73, 422, 1, 76, 77,
+ 154, 71, 80, 73, 449, 83, 84, 85, 12, 13,
+ 390, 15, 16, 71, 487, 73, 489, 438, 369, 498,
+ 70, 71, 72, 386, 47, 81, 308, 174, 288, 360,
+ 453, 94, 429, 254, 136, 473, 349, 349, -1, -1,
44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
- 64, 65, 66, -1, 68, 69, -1, -1, -1, -1,
- 74, 75, 76, 1, -1, 79, -1, 5, 82, 83,
- 84, -1, -1, -1, 12, 13, -1, 15, 16, -1,
+ 64, 65, 66, 67, -1, 69, 70, 71, 72, 73,
+ -1, 1, 76, 77, -1, 5, 80, -1, -1, 83,
+ 84, 85, 12, 13, 5, 15, 16, -1, -1, -1,
+ -1, -1, 13, -1, 15, 16, 17, 18, 19, 20,
+ 21, 22, 23, 24, 25, -1, -1, -1, -1, -1,
+ 31, -1, -1, -1, 44, 45, 46, 47, 48, 49,
+ 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
+ 60, 61, 62, 63, 64, 65, 66, 67, -1, 69,
+ 70, 71, 72, 73, -1, 1, -1, 77, -1, 5,
+ 80, -1, -1, -1, 84, 85, 12, 13, -1, 15,
+ 16, 44, 45, 46, 47, 48, 49, 50, 51, 52,
+ 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
+ 63, 64, 65, -1, -1, -1, -1, -1, 44, 45,
+ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
+ 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
+ 66, 67, -1, 69, 70, -1, -1, -1, -1, 75,
+ 76, 77, 1, -1, 80, 0, 1, 83, 84, 85,
+ -1, -1, -1, 12, 13, -1, 15, 16, 13, -1,
+ 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
+ 25, -1, -1, -1, -1, -1, 31, -1, -1, -1,
+ -1, -1, -1, -1, 39, 44, 45, 46, 47, 48,
+ 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
+ 59, 60, 61, 62, 63, 64, 65, 66, 67, -1,
+ 69, 70, -1, 72, -1, -1, 1, 76, 77, -1,
+ -1, 80, -1, -1, 83, 84, 85, 12, 13, -1,
+ 15, 16, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 44,
+ 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
+ 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
+ 65, 66, 67, -1, 69, 70, -1, -1, -1, -1,
+ 75, 76, 77, 1, -1, 80, -1, 5, 83, 84,
+ 85, -1, -1, -1, 12, 13, -1, 15, 16, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 44, 45, 46, 47,
48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
- 58, 59, 60, 61, 62, 63, 64, 65, 66, 5,
- 68, 69, -1, -1, -1, -1, 12, 13, 76, 15,
- 16, 79, -1, -1, -1, 83, 84, -1, -1, -1,
+ 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
+ 5, 69, 70, -1, -1, -1, -1, 12, 13, 77,
+ 15, 16, 80, -1, -1, -1, 84, 85, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 44,
+ 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
+ 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
+ 65, 66, 67, -1, 69, 70, 12, 13, -1, 15,
+ 16, -1, 77, -1, -1, 80, -1, -1, -1, 84,
+ 85, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 44, 45,
46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
- 66, -1, 68, 69, 12, 13, -1, 15, 16, -1,
- 76, -1, -1, 79, -1, -1, -1, 83, 84, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 44, 45, 46, 47,
- 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
- 58, 59, 60, 61, 62, 63, 64, 65, 66, -1,
- 68, 69, -1, -1, 0, 1, -1, -1, 76, -1,
- -1, 79, -1, -1, -1, 83, 84, 13, -1, 15,
- 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
- -1, -1, -1, -1, -1, 31, -1, -1, -1, -1,
- -1, -1, -1, 39, -1, -1, -1, -1, -1, -1,
+ 66, 67, -1, 69, 70, -1, -1, 0, 1, -1,
+ -1, 77, -1, -1, 80, -1, -1, -1, 84, 85,
+ 13, -1, 15, 16, 17, 18, 19, 20, 21, 22,
+ 23, 24, 25, -1, -1, -1, -1, -1, 31, -1,
+ -1, -1, -1, -1, -1, -1, 39, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 71
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 72
};
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
symbol of state STATE-NUM. */
static const yytype_uint8 yystos[] =
{
- 0, 26, 28, 29, 30, 32, 33, 34, 38, 86,
- 88, 89, 90, 91, 92, 93, 94, 97, 99, 1,
- 95, 70, 70, 70, 70, 5, 70, 70, 0, 95,
- 95, 95, 95, 95, 95, 95, 96, 70, 72, 173,
- 5, 12, 95, 95, 95, 95, 95, 95, 95, 5,
- 6, 39, 100, 168, 169, 1, 95, 13, 15, 16,
+ 0, 26, 28, 29, 30, 32, 33, 34, 38, 87,
+ 89, 90, 91, 92, 93, 94, 95, 98, 100, 1,
+ 96, 71, 71, 71, 71, 5, 71, 71, 0, 96,
+ 96, 96, 96, 96, 96, 96, 97, 71, 73, 174,
+ 5, 12, 96, 96, 96, 96, 96, 96, 96, 5,
+ 6, 39, 101, 169, 170, 1, 96, 13, 15, 16,
17, 18, 19, 20, 21, 22, 23, 24, 25, 31,
- 87, 104, 109, 128, 130, 136, 137, 140, 141, 142,
- 143, 144, 145, 146, 147, 148, 149, 151, 154, 1,
- 13, 40, 69, 155, 156, 157, 158, 164, 13, 62,
- 133, 134, 135, 12, 13, 15, 16, 44, 45, 46,
+ 88, 105, 110, 129, 131, 137, 138, 141, 142, 143,
+ 144, 145, 146, 147, 148, 149, 150, 152, 155, 1,
+ 13, 40, 70, 156, 157, 158, 159, 165, 13, 63,
+ 134, 135, 136, 12, 13, 15, 16, 44, 45, 46,
47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
- 68, 76, 79, 83, 84, 139, 160, 162, 163, 164,
- 165, 166, 41, 42, 73, 121, 122, 124, 125, 141,
- 1, 13, 112, 113, 114, 115, 1, 101, 109, 96,
- 168, 0, 71, 98, 173, 174, 72, 21, 13, 17,
- 66, 67, 13, 95, 21, 1, 95, 1, 95, 1,
- 95, 95, 95, 1, 70, 75, 145, 1, 5, 76,
- 77, 78, 138, 13, 20, 146, 147, 147, 1, 148,
- 72, 174, 95, 95, 71, 1, 157, 174, 72, 174,
- 1, 17, 173, 95, 95, 95, 95, 95, 95, 95,
- 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
- 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
- 95, 95, 95, 95, 95, 95, 61, 163, 1, 71,
- 75, 82, 161, 95, 95, 95, 95, 71, 71, 72,
- 174, 95, 71, 1, 114, 72, 174, 1, 17, 95,
- 72, 173, 35, 36, 102, 110, 96, 96, 1, 13,
- 13, 14, 64, 95, 13, 20, 144, 150, 72, 173,
- 12, 65, 118, 72, 173, 70, 125, 127, 72, 173,
- 70, 12, 13, 131, 71, 95, 95, 95, 95, 95,
- 145, 147, 95, 1, 72, 174, 72, 1, 95, 72,
- 95, 71, 70, 75, 1, 160, 95, 95, 95, 162,
- 13, 119, 43, 13, 129, 95, 1, 72, 174, 72,
- 95, 72, 95, 70, 95, 95, 27, 103, 116, 96,
- 98, 173, 74, 74, 74, 145, 95, 13, 150, 7,
- 8, 9, 10, 11, 80, 81, 152, 95, 95, 1,
- 70, 75, 95, 95, 155, 143, 72, 95, 1, 95,
- 95, 1, 160, 95, 95, 74, 95, 95, 95, 95,
- 43, 123, 72, 95, 1, 95, 95, 1, 160, 95,
- 126, 127, 37, 111, 1, 95, 1, 104, 105, 109,
- 168, 170, 172, 96, 95, 80, 152, 95, 126, 106,
- 95, 95, 155, 70, 98, 95, 72, 160, 40, 159,
- 155, 135, 95, 17, 120, 121, 95, 95, 72, 160,
- 155, 70, 5, 70, 72, 173, 13, 117, 173, 96,
- 74, 95, 12, 13, 153, 72, 173, 1, 98, 107,
- 108, 128, 130, 136, 137, 140, 167, 168, 170, 171,
- 172, 106, 125, 71, 95, 95, 159, 95, 1, 71,
- 95, 74, 122, 95, 71, 95, 127, 95, 5, 118,
- 153, 95, 98, 96, 167, 95, 132, 160, 95, 95,
- 112, 112, 95, 95, 80, 71, 133, 95, 71, 71,
- 72, 80, 95
+ 67, 69, 77, 80, 84, 85, 140, 161, 163, 164,
+ 165, 166, 167, 41, 42, 74, 122, 123, 125, 126,
+ 142, 1, 13, 113, 114, 115, 116, 1, 102, 110,
+ 97, 169, 0, 72, 99, 174, 175, 73, 21, 13,
+ 17, 67, 68, 13, 96, 21, 1, 96, 1, 96,
+ 1, 96, 96, 96, 1, 71, 76, 146, 1, 5,
+ 77, 78, 79, 139, 13, 20, 147, 148, 148, 1,
+ 149, 73, 175, 96, 96, 72, 1, 158, 175, 73,
+ 175, 1, 17, 174, 96, 96, 96, 96, 96, 96,
+ 96, 96, 96, 96, 96, 96, 96, 96, 96, 96,
+ 96, 96, 96, 96, 96, 96, 96, 96, 96, 96,
+ 96, 96, 96, 96, 96, 96, 96, 96, 62, 164,
+ 1, 72, 76, 83, 162, 96, 96, 96, 96, 72,
+ 72, 73, 175, 96, 72, 1, 115, 73, 175, 1,
+ 17, 96, 73, 174, 35, 36, 103, 111, 97, 97,
+ 1, 13, 13, 14, 65, 96, 13, 20, 145, 151,
+ 73, 174, 12, 66, 119, 73, 174, 71, 126, 128,
+ 73, 174, 71, 12, 13, 132, 72, 96, 96, 96,
+ 96, 96, 146, 148, 96, 1, 73, 175, 73, 1,
+ 96, 73, 96, 72, 71, 76, 1, 161, 96, 96,
+ 96, 163, 13, 120, 43, 13, 130, 96, 1, 73,
+ 175, 73, 96, 73, 96, 71, 96, 96, 27, 104,
+ 117, 97, 99, 174, 75, 75, 75, 146, 96, 13,
+ 151, 7, 8, 9, 10, 11, 81, 82, 153, 96,
+ 96, 1, 71, 76, 96, 96, 156, 144, 73, 96,
+ 1, 96, 96, 1, 161, 96, 96, 75, 96, 96,
+ 96, 96, 43, 124, 73, 96, 1, 96, 96, 1,
+ 161, 96, 127, 128, 37, 112, 1, 96, 1, 105,
+ 106, 110, 169, 171, 173, 97, 96, 81, 153, 96,
+ 127, 107, 96, 96, 156, 71, 99, 96, 73, 161,
+ 40, 160, 156, 136, 96, 17, 121, 122, 96, 96,
+ 73, 161, 156, 71, 5, 71, 73, 174, 13, 118,
+ 174, 97, 75, 96, 12, 13, 154, 73, 174, 1,
+ 99, 108, 109, 129, 131, 137, 138, 141, 168, 169,
+ 171, 172, 173, 107, 126, 72, 96, 96, 160, 96,
+ 1, 72, 96, 75, 123, 96, 72, 96, 128, 96,
+ 5, 119, 154, 96, 99, 97, 168, 96, 133, 161,
+ 96, 96, 113, 113, 96, 96, 81, 72, 134, 96,
+ 72, 72, 73, 81, 96
};
#define yyerrok (yyerrstatus = 0)
@@ -1558,17 +1518,20 @@ yy_symbol_print (yyoutput, yytype, yyvaluep)
#if (defined __STDC__ || defined __C99__FUNC__ \
|| defined __cplusplus || defined _MSC_VER)
static void
-yy_stack_print (yytype_int16 *bottom, yytype_int16 *top)
+yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
#else
static void
-yy_stack_print (bottom, top)
- yytype_int16 *bottom;
- yytype_int16 *top;
+yy_stack_print (yybottom, yytop)
+ yytype_int16 *yybottom;
+ yytype_int16 *yytop;
#endif
{
YYFPRINTF (stderr, "Stack now");
- for (; bottom <= top; ++bottom)
- YYFPRINTF (stderr, " %d", *bottom);
+ for (; yybottom <= yytop; yybottom++)
+ {
+ int yybot = *yybottom;
+ YYFPRINTF (stderr, " %d", yybot);
+ }
YYFPRINTF (stderr, "\n");
}
@@ -1602,11 +1565,11 @@ yy_reduce_print (yyvsp, yyrule)
/* The symbols being reduced. */
for (yyi = 0; yyi < yynrhs; yyi++)
{
- fprintf (stderr, " $%d = ", yyi + 1);
+ YYFPRINTF (stderr, " $%d = ", yyi + 1);
yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
&(yyvsp[(yyi + 1) - (yynrhs)])
);
- fprintf (stderr, "\n");
+ YYFPRINTF (stderr, "\n");
}
}
@@ -1886,10 +1849,8 @@ yydestruct (yymsg, yytype, yyvaluep)
break;
}
}
-
/* Prevent warnings from -Wmissing-prototypes. */
-
#ifdef YYPARSE_PARAM
#if defined __STDC__ || defined __cplusplus
int yyparse (void *YYPARSE_PARAM);
@@ -1908,10 +1869,9 @@ int yyparse ();
-
-/*----------.
-| yyparse. |
-`----------*/
+/*-------------------------.
+| yyparse or yypush_parse. |
+`-------------------------*/
#ifdef YYPARSE_PARAM
#if (defined __STDC__ || defined __C99__FUNC__ \
@@ -1935,74 +1895,75 @@ yyparse ()
#endif
#endif
{
- /* The look-ahead symbol. */
+/* The lookahead symbol. */
int yychar;
-/* The semantic value of the look-ahead symbol. */
+/* The semantic value of the lookahead symbol. */
YYSTYPE yylval;
-/* Number of syntax errors so far. */
-int yynerrs;
-
- int yystate;
- int yyn;
- int yyresult;
- /* Number of tokens to shift before error messages enabled. */
- int yyerrstatus;
- /* Look-ahead token as an internal (translated) token number. */
- int yytoken = 0;
-#if YYERROR_VERBOSE
- /* Buffer for error messages, and its allocated size. */
- char yymsgbuf[128];
- char *yymsg = yymsgbuf;
- YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
-#endif
-
- /* Three stacks and their tools:
- `yyss': related to states,
- `yyvs': related to semantic values,
- `yyls': related to locations.
+ /* Number of syntax errors so far. */
+ int yynerrs;
- Refer to the stacks thru separate pointers, to allow yyoverflow
- to reallocate them elsewhere. */
+ int yystate;
+ /* Number of tokens to shift before error messages enabled. */
+ int yyerrstatus;
- /* The state stack. */
- yytype_int16 yyssa[YYINITDEPTH];
- yytype_int16 *yyss = yyssa;
- yytype_int16 *yyssp;
+ /* The stacks and their tools:
+ `yyss': related to states.
+ `yyvs': related to semantic values.
- /* The semantic value stack. */
- YYSTYPE yyvsa[YYINITDEPTH];
- YYSTYPE *yyvs = yyvsa;
- YYSTYPE *yyvsp;
+ Refer to the stacks thru separate pointers, to allow yyoverflow
+ to reallocate them elsewhere. */
+ /* The state stack. */
+ yytype_int16 yyssa[YYINITDEPTH];
+ yytype_int16 *yyss;
+ yytype_int16 *yyssp;
+ /* The semantic value stack. */
+ YYSTYPE yyvsa[YYINITDEPTH];
+ YYSTYPE *yyvs;
+ YYSTYPE *yyvsp;
-#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
-
- YYSIZE_T yystacksize = YYINITDEPTH;
+ YYSIZE_T yystacksize;
+ int yyn;
+ int yyresult;
+ /* Lookahead token as an internal (translated) token number. */
+ int yytoken;
/* The variables used to return semantic value and location from the
action routines. */
YYSTYPE yyval;
+#if YYERROR_VERBOSE
+ /* Buffer for error messages, and its allocated size. */
+ char yymsgbuf[128];
+ char *yymsg = yymsgbuf;
+ YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
+#endif
+
+#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
/* The number of symbols on the RHS of the reduced rule.
Keep to zero when no symbol should be popped. */
int yylen = 0;
+ yytoken = 0;
+ yyss = yyssa;
+ yyvs = yyvsa;
+ yystacksize = YYINITDEPTH;
+
YYDPRINTF ((stderr, "Starting parse\n"));
yystate = 0;
yyerrstatus = 0;
yynerrs = 0;
- yychar = YYEMPTY; /* Cause a token to be read. */
+ yychar = YYEMPTY; /* Cause a token to be read. */
/* Initialize stack pointers.
Waste one element of value and location stack
so that they stay on the same level as the state stack.
The wasted elements are never initialized. */
-
yyssp = yyss;
yyvsp = yyvs;
@@ -2032,7 +1993,6 @@ int yynerrs;
YYSTYPE *yyvs1 = yyvs;
yytype_int16 *yyss1 = yyss;
-
/* Each stack pointer address is followed by the size of the
data in use in that stack, in bytes. This used to be a
conditional around just the two extra args, but that might
@@ -2040,7 +2000,6 @@ int yynerrs;
yyoverflow (YY_("memory exhausted"),
&yyss1, yysize * sizeof (*yyssp),
&yyvs1, yysize * sizeof (*yyvsp),
-
&yystacksize);
yyss = yyss1;
@@ -2063,9 +2022,8 @@ int yynerrs;
(union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
if (! yyptr)
goto yyexhaustedlab;
- YYSTACK_RELOCATE (yyss);
- YYSTACK_RELOCATE (yyvs);
-
+ YYSTACK_RELOCATE (yyss_alloc, yyss);
+ YYSTACK_RELOCATE (yyvs_alloc, yyvs);
# undef YYSTACK_RELOCATE
if (yyss1 != yyssa)
YYSTACK_FREE (yyss1);
@@ -2076,7 +2034,6 @@ int yynerrs;
yyssp = yyss + yysize - 1;
yyvsp = yyvs + yysize - 1;
-
YYDPRINTF ((stderr, "Stack size increased to %lu\n",
(unsigned long int) yystacksize));
@@ -2086,6 +2043,9 @@ int yynerrs;
YYDPRINTF ((stderr, "Entering state %d\n", yystate));
+ if (yystate == YYFINAL)
+ YYACCEPT;
+
goto yybackup;
/*-----------.
@@ -2094,16 +2054,16 @@ int yynerrs;
yybackup:
/* Do appropriate processing given the current state. Read a
- look-ahead token if we need one and don't already have one. */
+ lookahead token if we need one and don't already have one. */
- /* First try to decide what to do without reference to look-ahead token. */
+ /* First try to decide what to do without reference to lookahead token. */
yyn = yypact[yystate];
if (yyn == YYPACT_NINF)
goto yydefault;
- /* Not known => get a look-ahead token if don't already have one. */
+ /* Not known => get a lookahead token if don't already have one. */
- /* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol. */
+ /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */
if (yychar == YYEMPTY)
{
YYDPRINTF ((stderr, "Reading a token: "));
@@ -2135,20 +2095,16 @@ yybackup:
goto yyreduce;
}
- if (yyn == YYFINAL)
- YYACCEPT;
-
/* Count tokens shifted since error; after three, turn off error
status. */
if (yyerrstatus)
yyerrstatus--;
- /* Shift the look-ahead token. */
+ /* Shift the lookahead token. */
YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
- /* Discard the shifted token unless it is eof. */
- if (yychar != YYEOF)
- yychar = YYEMPTY;
+ /* Discard the shifted token. */
+ yychar = YYEMPTY;
yystate = yyn;
*++yyvsp = yylval;
@@ -2188,35 +2144,45 @@ yyreduce:
switch (yyn)
{
case 12:
-#line 282 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 287 "../css/CSSGrammar.y"
{
static_cast<CSSParser*>(parser)->m_rule = (yyvsp[(4) - (6)].rule);
;}
break;
case 13:
-#line 288 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 293 "../css/CSSGrammar.y"
{
static_cast<CSSParser*>(parser)->m_keyframe = (yyvsp[(4) - (6)].keyframeRule);
;}
break;
case 14:
-#line 294 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 299 "../css/CSSGrammar.y"
{
/* can be empty */
;}
break;
case 15:
-#line 300 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 305 "../css/CSSGrammar.y"
{
/* can be empty */
;}
break;
case 16:
-#line 306 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 311 "../css/CSSGrammar.y"
{
CSSParser* p = static_cast<CSSParser*>(parser);
if ((yyvsp[(4) - (5)].valueList)) {
@@ -2231,7 +2197,9 @@ yyreduce:
break;
case 17:
-#line 320 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 325 "../css/CSSGrammar.y"
{
CSSParser* p = static_cast<CSSParser*>(parser);
p->m_mediaQuery = p->sinkFloatingMediaQuery((yyvsp[(4) - (5)].mediaQuery));
@@ -2239,7 +2207,9 @@ yyreduce:
break;
case 18:
-#line 327 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 332 "../css/CSSGrammar.y"
{
if ((yyvsp[(4) - (5)].selectorList)) {
CSSParser* p = static_cast<CSSParser*>(parser);
@@ -2250,13 +2220,17 @@ yyreduce:
break;
case 25:
-#line 349 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 354 "../css/CSSGrammar.y"
{
;}
break;
case 28:
-#line 359 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 364 "../css/CSSGrammar.y"
{
CSSParser* p = static_cast<CSSParser*>(parser);
(yyval.rule) = static_cast<CSSParser*>(parser)->createCharsetRule((yyvsp[(3) - (5)].string));
@@ -2266,19 +2240,25 @@ yyreduce:
break;
case 29:
-#line 365 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 370 "../css/CSSGrammar.y"
{
;}
break;
case 30:
-#line 367 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 372 "../css/CSSGrammar.y"
{
;}
break;
case 32:
-#line 373 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 378 "../css/CSSGrammar.y"
{
CSSParser* p = static_cast<CSSParser*>(parser);
if ((yyvsp[(2) - (3)].rule) && p->m_styleSheet)
@@ -2287,13 +2267,17 @@ yyreduce:
break;
case 33:
-#line 378 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 383 "../css/CSSGrammar.y"
{
;}
break;
case 35:
-#line 384 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 389 "../css/CSSGrammar.y"
{
CSSParser* p = static_cast<CSSParser*>(parser);
if ((yyvsp[(2) - (3)].rule) && p->m_styleSheet)
@@ -2302,7 +2286,9 @@ yyreduce:
break;
case 39:
-#line 398 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 403 "../css/CSSGrammar.y"
{
CSSParser* p = static_cast<CSSParser*>(parser);
if ((yyvsp[(2) - (3)].rule) && p->m_styleSheet)
@@ -2311,12 +2297,16 @@ yyreduce:
break;
case 49:
-#line 421 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 426 "../css/CSSGrammar.y"
{ (yyval.ruleList) = 0; ;}
break;
case 50:
-#line 422 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 427 "../css/CSSGrammar.y"
{
(yyval.ruleList) = (yyvsp[(1) - (3)].ruleList);
if ((yyvsp[(2) - (3)].rule)) {
@@ -2328,70 +2318,90 @@ yyreduce:
break;
case 60:
-#line 449 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 454 "../css/CSSGrammar.y"
{
(yyval.rule) = static_cast<CSSParser*>(parser)->createImportRule((yyvsp[(3) - (6)].string), (yyvsp[(5) - (6)].mediaList));
;}
break;
case 61:
-#line 452 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 457 "../css/CSSGrammar.y"
{
(yyval.rule) = 0;
;}
break;
case 62:
-#line 455 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 460 "../css/CSSGrammar.y"
{
(yyval.rule) = 0;
;}
break;
case 63:
-#line 458 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 463 "../css/CSSGrammar.y"
{
(yyval.rule) = 0;
;}
break;
case 64:
-#line 464 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 469 "../css/CSSGrammar.y"
{
(yyval.rule) = static_cast<CSSParser*>(parser)->createVariablesRule((yyvsp[(3) - (7)].mediaList), true);
;}
break;
case 65:
-#line 468 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 473 "../css/CSSGrammar.y"
{
(yyval.rule) = static_cast<CSSParser*>(parser)->createVariablesRule((yyvsp[(3) - (7)].mediaList), false);
;}
break;
case 66:
-#line 474 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 479 "../css/CSSGrammar.y"
{
(yyval.mediaList) = static_cast<CSSParser*>(parser)->createMediaList();
;}
break;
case 67:
-#line 478 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 483 "../css/CSSGrammar.y"
{
(yyval.mediaList) = (yyvsp[(3) - (3)].mediaList);
;}
break;
case 68:
-#line 484 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 489 "../css/CSSGrammar.y"
{
(yyval.boolean) = (yyvsp[(1) - (1)].boolean);
;}
break;
case 69:
-#line 487 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 492 "../css/CSSGrammar.y"
{
(yyval.boolean) = (yyvsp[(1) - (2)].boolean);
if ((yyvsp[(2) - (2)].boolean))
@@ -2400,63 +2410,81 @@ yyreduce:
break;
case 70:
-#line 492 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 497 "../css/CSSGrammar.y"
{
(yyval.boolean) = (yyvsp[(1) - (1)].boolean);
;}
break;
case 71:
-#line 495 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 500 "../css/CSSGrammar.y"
{
(yyval.boolean) = false;
;}
break;
case 72:
-#line 498 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 503 "../css/CSSGrammar.y"
{
(yyval.boolean) = false;
;}
break;
case 73:
-#line 501 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 506 "../css/CSSGrammar.y"
{
(yyval.boolean) = (yyvsp[(1) - (2)].boolean);
;}
break;
case 74:
-#line 507 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 512 "../css/CSSGrammar.y"
{
(yyval.boolean) = (yyvsp[(1) - (3)].boolean);
;}
break;
case 75:
-#line 510 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 515 "../css/CSSGrammar.y"
{
(yyval.boolean) = false;
;}
break;
case 76:
-#line 513 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 518 "../css/CSSGrammar.y"
{
(yyval.boolean) = false;
;}
break;
case 77:
-#line 516 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 521 "../css/CSSGrammar.y"
{
(yyval.boolean) = false;
;}
break;
case 78:
-#line 519 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 524 "../css/CSSGrammar.y"
{
(yyval.boolean) = (yyvsp[(1) - (4)].boolean);
if ((yyvsp[(2) - (4)].boolean))
@@ -2465,49 +2493,63 @@ yyreduce:
break;
case 79:
-#line 524 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 529 "../css/CSSGrammar.y"
{
(yyval.boolean) = (yyvsp[(1) - (4)].boolean);
;}
break;
case 80:
-#line 527 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 532 "../css/CSSGrammar.y"
{
(yyval.boolean) = (yyvsp[(1) - (6)].boolean);
;}
break;
case 81:
-#line 533 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 538 "../css/CSSGrammar.y"
{
(yyval.boolean) = static_cast<CSSParser*>(parser)->addVariable((yyvsp[(1) - (4)].string), (yyvsp[(4) - (4)].valueList));
;}
break;
case 82:
-#line 537 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 542 "../css/CSSGrammar.y"
{
(yyval.boolean) = static_cast<CSSParser*>(parser)->addVariableDeclarationBlock((yyvsp[(1) - (7)].string));
;}
break;
case 83:
-#line 541 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 546 "../css/CSSGrammar.y"
{
(yyval.boolean) = false;
;}
break;
case 84:
-#line 545 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 550 "../css/CSSGrammar.y"
{
(yyval.boolean) = false;
;}
break;
case 85:
-#line 549 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 554 "../css/CSSGrammar.y"
{
/* @variables { varname: } Just reduce away this variable with no value. */
(yyval.boolean) = false;
@@ -2515,7 +2557,9 @@ yyreduce:
break;
case 86:
-#line 554 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 559 "../css/CSSGrammar.y"
{
/* if we come across rules with invalid values like this case: @variables { varname: *; }, just discard the property/value pair */
(yyval.boolean) = false;
@@ -2523,14 +2567,18 @@ yyreduce:
break;
case 87:
-#line 561 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 566 "../css/CSSGrammar.y"
{
(yyval.string) = (yyvsp[(1) - (2)].string);
;}
break;
case 88:
-#line 567 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 572 "../css/CSSGrammar.y"
{
CSSParser* p = static_cast<CSSParser*>(parser);
if (p->m_styleSheet)
@@ -2539,38 +2587,50 @@ yyreduce:
break;
case 91:
-#line 577 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 582 "../css/CSSGrammar.y"
{ (yyval.string).characters = 0; ;}
break;
case 92:
-#line 578 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 583 "../css/CSSGrammar.y"
{ (yyval.string) = (yyvsp[(1) - (2)].string); ;}
break;
case 95:
-#line 587 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 592 "../css/CSSGrammar.y"
{
(yyval.string) = (yyvsp[(1) - (2)].string);
;}
break;
case 96:
-#line 593 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 598 "../css/CSSGrammar.y"
{
(yyval.valueList) = 0;
;}
break;
case 97:
-#line 596 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 601 "../css/CSSGrammar.y"
{
(yyval.valueList) = (yyvsp[(3) - (4)].valueList);
;}
break;
case 98:
-#line 602 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 607 "../css/CSSGrammar.y"
{
(yyvsp[(3) - (7)].string).lower();
(yyval.mediaQueryExp) = static_cast<CSSParser*>(parser)->createFloatingMediaQueryExp((yyvsp[(3) - (7)].string), (yyvsp[(5) - (7)].valueList));
@@ -2578,7 +2638,9 @@ yyreduce:
break;
case 99:
-#line 609 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 614 "../css/CSSGrammar.y"
{
CSSParser* p = static_cast<CSSParser*>(parser);
(yyval.mediaQueryExpList) = p->createFloatingMediaQueryExpList();
@@ -2587,7 +2649,9 @@ yyreduce:
break;
case 100:
-#line 614 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 619 "../css/CSSGrammar.y"
{
(yyval.mediaQueryExpList) = (yyvsp[(1) - (5)].mediaQueryExpList);
(yyval.mediaQueryExpList)->append(static_cast<CSSParser*>(parser)->sinkFloatingMediaQueryExp((yyvsp[(5) - (5)].mediaQueryExp)));
@@ -2595,42 +2659,54 @@ yyreduce:
break;
case 101:
-#line 621 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 626 "../css/CSSGrammar.y"
{
(yyval.mediaQueryExpList) = static_cast<CSSParser*>(parser)->createFloatingMediaQueryExpList();
;}
break;
case 102:
-#line 624 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 629 "../css/CSSGrammar.y"
{
(yyval.mediaQueryExpList) = (yyvsp[(3) - (3)].mediaQueryExpList);
;}
break;
case 103:
-#line 630 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 635 "../css/CSSGrammar.y"
{
(yyval.mediaQueryRestrictor) = MediaQuery::None;
;}
break;
case 104:
-#line 633 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 638 "../css/CSSGrammar.y"
{
(yyval.mediaQueryRestrictor) = MediaQuery::Only;
;}
break;
case 105:
-#line 636 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 641 "../css/CSSGrammar.y"
{
(yyval.mediaQueryRestrictor) = MediaQuery::Not;
;}
break;
case 106:
-#line 642 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 647 "../css/CSSGrammar.y"
{
CSSParser* p = static_cast<CSSParser*>(parser);
(yyval.mediaQuery) = p->createFloatingMediaQuery(p->sinkFloatingMediaQueryExpList((yyvsp[(1) - (1)].mediaQueryExpList)));
@@ -2638,7 +2714,9 @@ yyreduce:
break;
case 107:
-#line 647 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 652 "../css/CSSGrammar.y"
{
CSSParser* p = static_cast<CSSParser*>(parser);
(yyvsp[(3) - (4)].string).lower();
@@ -2647,14 +2725,18 @@ yyreduce:
break;
case 108:
-#line 655 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 660 "../css/CSSGrammar.y"
{
(yyval.mediaList) = static_cast<CSSParser*>(parser)->createMediaList();
;}
break;
case 110:
-#line 662 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 667 "../css/CSSGrammar.y"
{
CSSParser* p = static_cast<CSSParser*>(parser);
(yyval.mediaList) = p->createMediaList();
@@ -2663,7 +2745,9 @@ yyreduce:
break;
case 111:
-#line 667 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 672 "../css/CSSGrammar.y"
{
(yyval.mediaList) = (yyvsp[(1) - (4)].mediaList);
if ((yyval.mediaList))
@@ -2672,35 +2756,45 @@ yyreduce:
break;
case 112:
-#line 672 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 677 "../css/CSSGrammar.y"
{
(yyval.mediaList) = 0;
;}
break;
case 113:
-#line 678 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 683 "../css/CSSGrammar.y"
{
(yyval.rule) = static_cast<CSSParser*>(parser)->createMediaRule((yyvsp[(3) - (7)].mediaList), (yyvsp[(6) - (7)].ruleList));
;}
break;
case 114:
-#line 681 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 686 "../css/CSSGrammar.y"
{
(yyval.rule) = static_cast<CSSParser*>(parser)->createMediaRule(0, (yyvsp[(5) - (6)].ruleList));
;}
break;
case 115:
-#line 687 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 692 "../css/CSSGrammar.y"
{
(yyval.string) = (yyvsp[(1) - (2)].string);
;}
break;
case 116:
-#line 693 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 698 "../css/CSSGrammar.y"
{
(yyval.rule) = (yyvsp[(7) - (8)].keyframesRule);
(yyvsp[(7) - (8)].keyframesRule)->setNameInternal((yyvsp[(3) - (8)].string));
@@ -2708,12 +2802,16 @@ yyreduce:
break;
case 119:
-#line 705 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 710 "../css/CSSGrammar.y"
{ (yyval.keyframesRule) = static_cast<CSSParser*>(parser)->createKeyframesRule(); ;}
break;
case 120:
-#line 706 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 711 "../css/CSSGrammar.y"
{
(yyval.keyframesRule) = (yyvsp[(1) - (3)].keyframesRule);
if ((yyvsp[(2) - (3)].keyframeRule))
@@ -2722,14 +2820,18 @@ yyreduce:
break;
case 121:
-#line 714 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 719 "../css/CSSGrammar.y"
{
(yyval.keyframeRule) = static_cast<CSSParser*>(parser)->createKeyframeRule((yyvsp[(1) - (6)].valueList));
;}
break;
case 122:
-#line 720 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 725 "../css/CSSGrammar.y"
{
CSSParser* p = static_cast<CSSParser*>(parser);
(yyval.valueList) = p->createFloatingValueList();
@@ -2738,7 +2840,9 @@ yyreduce:
break;
case 123:
-#line 725 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 730 "../css/CSSGrammar.y"
{
CSSParser* p = static_cast<CSSParser*>(parser);
(yyval.valueList) = (yyvsp[(1) - (5)].valueList);
@@ -2748,12 +2852,16 @@ yyreduce:
break;
case 124:
-#line 734 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 739 "../css/CSSGrammar.y"
{ (yyval.value).id = 0; (yyval.value).isInt = false; (yyval.value).fValue = (yyvsp[(1) - (1)].number); (yyval.value).unit = CSSPrimitiveValue::CSS_NUMBER; ;}
break;
case 125:
-#line 735 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 740 "../css/CSSGrammar.y"
{
(yyval.value).id = 0; (yyval.value).isInt = false; (yyval.value).unit = CSSPrimitiveValue::CSS_NUMBER;
CSSParserString& str = (yyvsp[(1) - (1)].string);
@@ -2767,74 +2875,98 @@ yyreduce:
break;
case 126:
-#line 759 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 764 "../css/CSSGrammar.y"
{
(yyval.rule) = 0;
;}
break;
case 127:
-#line 762 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 767 "../css/CSSGrammar.y"
{
(yyval.rule) = 0;
;}
break;
case 128:
-#line 769 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 774 "../css/CSSGrammar.y"
{
(yyval.rule) = static_cast<CSSParser*>(parser)->createFontFaceRule();
;}
break;
case 129:
-#line 772 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 777 "../css/CSSGrammar.y"
{
(yyval.rule) = 0;
;}
break;
case 130:
-#line 775 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 780 "../css/CSSGrammar.y"
{
(yyval.rule) = 0;
;}
break;
case 131:
-#line 781 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 786 "../css/CSSGrammar.y"
{ (yyval.relation) = CSSSelector::DirectAdjacent; ;}
break;
case 132:
-#line 782 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 787 "../css/CSSGrammar.y"
{ (yyval.relation) = CSSSelector::IndirectAdjacent; ;}
break;
case 133:
-#line 783 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 788 "../css/CSSGrammar.y"
{ (yyval.relation) = CSSSelector::Child; ;}
break;
case 134:
-#line 787 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 792 "../css/CSSGrammar.y"
{ (yyval.integer) = -1; ;}
break;
case 135:
-#line 788 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 793 "../css/CSSGrammar.y"
{ (yyval.integer) = 1; ;}
break;
case 136:
-#line 792 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 797 "../css/CSSGrammar.y"
{
(yyval.rule) = static_cast<CSSParser*>(parser)->createStyleRule((yyvsp[(1) - (5)].selectorList));
;}
break;
case 137:
-#line 798 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 803 "../css/CSSGrammar.y"
{
if ((yyvsp[(1) - (1)].selector)) {
CSSParser* p = static_cast<CSSParser*>(parser);
@@ -2847,7 +2979,9 @@ yyreduce:
break;
case 138:
-#line 807 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 812 "../css/CSSGrammar.y"
{
if ((yyvsp[(1) - (4)].selectorList) && (yyvsp[(4) - (4)].selector)) {
CSSParser* p = static_cast<CSSParser*>(parser);
@@ -2859,35 +2993,45 @@ yyreduce:
break;
case 139:
-#line 815 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 820 "../css/CSSGrammar.y"
{
(yyval.selectorList) = 0;
;}
break;
case 140:
-#line 821 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 826 "../css/CSSGrammar.y"
{
(yyval.selector) = (yyvsp[(1) - (2)].selector);
;}
break;
case 141:
-#line 827 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 832 "../css/CSSGrammar.y"
{
(yyval.selector) = (yyvsp[(1) - (1)].selector);
;}
break;
case 142:
-#line 831 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 836 "../css/CSSGrammar.y"
{
(yyval.selector) = (yyvsp[(1) - (1)].selector);
;}
break;
case 143:
-#line 835 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 840 "../css/CSSGrammar.y"
{
(yyval.selector) = (yyvsp[(2) - (2)].selector);
if (!(yyvsp[(1) - (2)].selector))
@@ -2906,7 +3050,9 @@ yyreduce:
break;
case 144:
-#line 850 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 855 "../css/CSSGrammar.y"
{
(yyval.selector) = (yyvsp[(3) - (3)].selector);
if (!(yyvsp[(1) - (3)].selector))
@@ -2930,29 +3076,39 @@ yyreduce:
break;
case 145:
-#line 870 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 875 "../css/CSSGrammar.y"
{
(yyval.selector) = 0;
;}
break;
case 146:
-#line 876 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 881 "../css/CSSGrammar.y"
{ (yyval.string).characters = 0; (yyval.string).length = 0; ;}
break;
case 147:
-#line 877 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 882 "../css/CSSGrammar.y"
{ static UChar star = '*'; (yyval.string).characters = &star; (yyval.string).length = 1; ;}
break;
case 148:
-#line 878 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 883 "../css/CSSGrammar.y"
{ (yyval.string) = (yyvsp[(1) - (2)].string); ;}
break;
case 149:
-#line 882 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 887 "../css/CSSGrammar.y"
{
CSSParser* p = static_cast<CSSParser*>(parser);
(yyval.selector) = p->createFloatingSelector();
@@ -2961,7 +3117,9 @@ yyreduce:
break;
case 150:
-#line 887 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 892 "../css/CSSGrammar.y"
{
(yyval.selector) = (yyvsp[(2) - (2)].selector);
if ((yyval.selector)) {
@@ -2972,7 +3130,9 @@ yyreduce:
break;
case 151:
-#line 894 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 899 "../css/CSSGrammar.y"
{
(yyval.selector) = (yyvsp[(1) - (1)].selector);
CSSParser* p = static_cast<CSSParser*>(parser);
@@ -2982,7 +3142,9 @@ yyreduce:
break;
case 152:
-#line 900 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 905 "../css/CSSGrammar.y"
{
AtomicString namespacePrefix = (yyvsp[(1) - (2)].string);
CSSParser* p = static_cast<CSSParser*>(parser);
@@ -2996,7 +3158,9 @@ yyreduce:
break;
case 153:
-#line 910 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 915 "../css/CSSGrammar.y"
{
(yyval.selector) = (yyvsp[(3) - (3)].selector);
if ((yyval.selector)) {
@@ -3012,7 +3176,9 @@ yyreduce:
break;
case 154:
-#line 922 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 927 "../css/CSSGrammar.y"
{
(yyval.selector) = (yyvsp[(2) - (2)].selector);
if ((yyval.selector)) {
@@ -3026,7 +3192,9 @@ yyreduce:
break;
case 155:
-#line 935 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 940 "../css/CSSGrammar.y"
{
CSSParserString& str = (yyvsp[(1) - (1)].string);
CSSParser* p = static_cast<CSSParser*>(parser);
@@ -3038,7 +3206,9 @@ yyreduce:
break;
case 156:
-#line 943 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 948 "../css/CSSGrammar.y"
{
static UChar star = '*';
(yyval.string).characters = &star;
@@ -3047,14 +3217,18 @@ yyreduce:
break;
case 157:
-#line 951 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 956 "../css/CSSGrammar.y"
{
(yyval.selector) = (yyvsp[(1) - (1)].selector);
;}
break;
case 158:
-#line 954 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 959 "../css/CSSGrammar.y"
{
if (!(yyvsp[(2) - (2)].selector))
(yyval.selector) = 0;
@@ -3071,14 +3245,18 @@ yyreduce:
break;
case 159:
-#line 967 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 972 "../css/CSSGrammar.y"
{
(yyval.selector) = 0;
;}
break;
case 160:
-#line 973 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 978 "../css/CSSGrammar.y"
{
CSSParser* p = static_cast<CSSParser*>(parser);
(yyval.selector) = p->createFloatingSelector();
@@ -3090,7 +3268,9 @@ yyreduce:
break;
case 161:
-#line 981 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 986 "../css/CSSGrammar.y"
{
if ((yyvsp[(1) - (1)].string).characters[0] >= '0' && (yyvsp[(1) - (1)].string).characters[0] <= '9') {
(yyval.selector) = 0;
@@ -3106,7 +3286,9 @@ yyreduce:
break;
case 165:
-#line 999 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1004 "../css/CSSGrammar.y"
{
CSSParser* p = static_cast<CSSParser*>(parser);
(yyval.selector) = p->createFloatingSelector();
@@ -3118,7 +3300,9 @@ yyreduce:
break;
case 166:
-#line 1010 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1015 "../css/CSSGrammar.y"
{
CSSParserString& str = (yyvsp[(1) - (2)].string);
CSSParser* p = static_cast<CSSParser*>(parser);
@@ -3130,7 +3314,9 @@ yyreduce:
break;
case 167:
-#line 1021 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1026 "../css/CSSGrammar.y"
{
(yyval.selector) = static_cast<CSSParser*>(parser)->createFloatingSelector();
(yyval.selector)->setAttribute(QualifiedName(nullAtom, (yyvsp[(3) - (4)].string), nullAtom));
@@ -3139,7 +3325,9 @@ yyreduce:
break;
case 168:
-#line 1026 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1031 "../css/CSSGrammar.y"
{
(yyval.selector) = static_cast<CSSParser*>(parser)->createFloatingSelector();
(yyval.selector)->setAttribute(QualifiedName(nullAtom, (yyvsp[(3) - (8)].string), nullAtom));
@@ -3149,7 +3337,9 @@ yyreduce:
break;
case 169:
-#line 1032 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1037 "../css/CSSGrammar.y"
{
AtomicString namespacePrefix = (yyvsp[(3) - (5)].string);
CSSParser* p = static_cast<CSSParser*>(parser);
@@ -3161,7 +3351,9 @@ yyreduce:
break;
case 170:
-#line 1040 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1045 "../css/CSSGrammar.y"
{
AtomicString namespacePrefix = (yyvsp[(3) - (9)].string);
CSSParser* p = static_cast<CSSParser*>(parser);
@@ -3174,49 +3366,63 @@ yyreduce:
break;
case 171:
-#line 1052 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1057 "../css/CSSGrammar.y"
{
(yyval.integer) = CSSSelector::Exact;
;}
break;
case 172:
-#line 1055 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1060 "../css/CSSGrammar.y"
{
(yyval.integer) = CSSSelector::List;
;}
break;
case 173:
-#line 1058 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1063 "../css/CSSGrammar.y"
{
(yyval.integer) = CSSSelector::Hyphen;
;}
break;
case 174:
-#line 1061 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1066 "../css/CSSGrammar.y"
{
(yyval.integer) = CSSSelector::Begin;
;}
break;
case 175:
-#line 1064 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1069 "../css/CSSGrammar.y"
{
(yyval.integer) = CSSSelector::End;
;}
break;
case 176:
-#line 1067 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1072 "../css/CSSGrammar.y"
{
(yyval.integer) = CSSSelector::Contain;
;}
break;
case 179:
-#line 1078 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1083 "../css/CSSGrammar.y"
{
(yyval.selector) = static_cast<CSSParser*>(parser)->createFloatingSelector();
(yyval.selector)->m_match = CSSSelector::PseudoClass;
@@ -3250,7 +3456,9 @@ yyreduce:
break;
case 180:
-#line 1108 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1113 "../css/CSSGrammar.y"
{
(yyval.selector) = static_cast<CSSParser*>(parser)->createFloatingSelector();
(yyval.selector)->m_match = CSSSelector::PseudoElement;
@@ -3273,7 +3481,9 @@ yyreduce:
break;
case 181:
-#line 1128 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1133 "../css/CSSGrammar.y"
{
CSSParser *p = static_cast<CSSParser*>(parser);
(yyval.selector) = p->createFloatingSelector();
@@ -3294,7 +3504,9 @@ yyreduce:
break;
case 182:
-#line 1146 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1151 "../css/CSSGrammar.y"
{
CSSParser *p = static_cast<CSSParser*>(parser);
(yyval.selector) = p->createFloatingSelector();
@@ -3315,7 +3527,9 @@ yyreduce:
break;
case 183:
-#line 1164 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1169 "../css/CSSGrammar.y"
{
CSSParser *p = static_cast<CSSParser*>(parser);
(yyval.selector) = p->createFloatingSelector();
@@ -3337,7 +3551,9 @@ yyreduce:
break;
case 184:
-#line 1183 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1188 "../css/CSSGrammar.y"
{
if (!(yyvsp[(4) - (6)].selector) || (yyvsp[(4) - (6)].selector)->simpleSelector() || (yyvsp[(4) - (6)].selector)->tagHistory())
(yyval.selector) = 0;
@@ -3353,14 +3569,18 @@ yyreduce:
break;
case 185:
-#line 1198 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1203 "../css/CSSGrammar.y"
{
(yyval.boolean) = (yyvsp[(1) - (1)].boolean);
;}
break;
case 186:
-#line 1201 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1206 "../css/CSSGrammar.y"
{
(yyval.boolean) = (yyvsp[(1) - (2)].boolean);
if ( (yyvsp[(2) - (2)].boolean) )
@@ -3369,70 +3589,90 @@ yyreduce:
break;
case 187:
-#line 1206 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1211 "../css/CSSGrammar.y"
{
(yyval.boolean) = (yyvsp[(1) - (1)].boolean);
;}
break;
case 188:
-#line 1209 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1214 "../css/CSSGrammar.y"
{
(yyval.boolean) = false;
;}
break;
case 189:
-#line 1212 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1217 "../css/CSSGrammar.y"
{
(yyval.boolean) = false;
;}
break;
case 190:
-#line 1215 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1220 "../css/CSSGrammar.y"
{
(yyval.boolean) = (yyvsp[(1) - (2)].boolean);
;}
break;
case 191:
-#line 1218 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1223 "../css/CSSGrammar.y"
{
(yyval.boolean) = (yyvsp[(1) - (2)].boolean);
;}
break;
case 192:
-#line 1224 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1229 "../css/CSSGrammar.y"
{
(yyval.boolean) = (yyvsp[(1) - (3)].boolean);
;}
break;
case 193:
-#line 1227 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1232 "../css/CSSGrammar.y"
{
(yyval.boolean) = false;
;}
break;
case 194:
-#line 1230 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1235 "../css/CSSGrammar.y"
{
(yyval.boolean) = false;
;}
break;
case 195:
-#line 1233 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1238 "../css/CSSGrammar.y"
{
(yyval.boolean) = false;
;}
break;
case 196:
-#line 1236 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1241 "../css/CSSGrammar.y"
{
(yyval.boolean) = (yyvsp[(1) - (4)].boolean);
if ((yyvsp[(2) - (4)].boolean))
@@ -3441,21 +3681,27 @@ yyreduce:
break;
case 197:
-#line 1241 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1246 "../css/CSSGrammar.y"
{
(yyval.boolean) = (yyvsp[(1) - (4)].boolean);
;}
break;
case 198:
-#line 1244 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1249 "../css/CSSGrammar.y"
{
(yyval.boolean) = (yyvsp[(1) - (6)].boolean);
;}
break;
case 199:
-#line 1250 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1255 "../css/CSSGrammar.y"
{
(yyval.boolean) = false;
CSSParser* p = static_cast<CSSParser*>(parser);
@@ -3472,7 +3718,9 @@ yyreduce:
break;
case 200:
-#line 1264 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1269 "../css/CSSGrammar.y"
{
CSSParser* p = static_cast<CSSParser*>(parser);
p->m_valueList = new CSSParserValueList;
@@ -3487,14 +3735,18 @@ yyreduce:
break;
case 201:
-#line 1276 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1281 "../css/CSSGrammar.y"
{
(yyval.boolean) = false;
;}
break;
case 202:
-#line 1280 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1285 "../css/CSSGrammar.y"
{
/* The default movable type template has letter-spacing: .none; Handle this by looking for
error tokens at the start of an expr, recover the expr and then treat as an error, cleaning
@@ -3504,7 +3756,9 @@ yyreduce:
break;
case 203:
-#line 1287 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1292 "../css/CSSGrammar.y"
{
/* When we encounter something like p {color: red !important fail;} we should drop the declaration */
(yyval.boolean) = false;
@@ -3512,7 +3766,9 @@ yyreduce:
break;
case 204:
-#line 1292 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1297 "../css/CSSGrammar.y"
{
/* Handle this case: div { text-align: center; !important } Just reduce away the stray !important. */
(yyval.boolean) = false;
@@ -3520,7 +3776,9 @@ yyreduce:
break;
case 205:
-#line 1297 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1302 "../css/CSSGrammar.y"
{
/* div { font-family: } Just reduce away this property with no value. */
(yyval.boolean) = false;
@@ -3528,7 +3786,9 @@ yyreduce:
break;
case 206:
-#line 1302 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1307 "../css/CSSGrammar.y"
{
/* if we come across rules with invalid values like this case: p { weight: *; }, just discard the rule */
(yyval.boolean) = false;
@@ -3536,7 +3796,9 @@ yyreduce:
break;
case 207:
-#line 1307 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1312 "../css/CSSGrammar.y"
{
/* if we come across: div { color{;color:maroon} }, ignore everything within curly brackets */
(yyval.boolean) = false;
@@ -3544,24 +3806,32 @@ yyreduce:
break;
case 208:
-#line 1314 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1319 "../css/CSSGrammar.y"
{
(yyval.integer) = cssPropertyID((yyvsp[(1) - (2)].string));
;}
break;
case 209:
-#line 1320 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1325 "../css/CSSGrammar.y"
{ (yyval.boolean) = true; ;}
break;
case 210:
-#line 1321 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1326 "../css/CSSGrammar.y"
{ (yyval.boolean) = false; ;}
break;
case 211:
-#line 1325 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1330 "../css/CSSGrammar.y"
{
CSSParser* p = static_cast<CSSParser*>(parser);
(yyval.valueList) = p->createFloatingValueList();
@@ -3570,7 +3840,9 @@ yyreduce:
break;
case 212:
-#line 1330 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1335 "../css/CSSGrammar.y"
{
CSSParser* p = static_cast<CSSParser*>(parser);
(yyval.valueList) = (yyvsp[(1) - (3)].valueList);
@@ -3588,50 +3860,66 @@ yyreduce:
break;
case 213:
-#line 1344 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1349 "../css/CSSGrammar.y"
{
(yyval.valueList) = 0;
;}
break;
case 214:
-#line 1350 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1355 "../css/CSSGrammar.y"
{
(yyval.character) = '/';
;}
break;
case 215:
-#line 1353 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1358 "../css/CSSGrammar.y"
{
(yyval.character) = ',';
;}
break;
case 216:
-#line 1356 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1361 "../css/CSSGrammar.y"
{
(yyval.character) = 0;
;}
break;
case 217:
-#line 1362 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1367 "../css/CSSGrammar.y"
{ (yyval.value) = (yyvsp[(1) - (1)].value); ;}
break;
case 218:
-#line 1363 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1368 "../css/CSSGrammar.y"
{ (yyval.value) = (yyvsp[(2) - (2)].value); (yyval.value).fValue *= (yyvsp[(1) - (2)].integer); ;}
break;
case 219:
-#line 1364 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1369 "../css/CSSGrammar.y"
{ (yyval.value).id = 0; (yyval.value).string = (yyvsp[(1) - (2)].string); (yyval.value).unit = CSSPrimitiveValue::CSS_STRING; ;}
break;
case 220:
-#line 1365 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1370 "../css/CSSGrammar.y"
{
(yyval.value).id = cssValueKeywordID((yyvsp[(1) - (2)].string));
(yyval.value).unit = CSSPrimitiveValue::CSS_IDENT;
@@ -3640,158 +3928,232 @@ yyreduce:
break;
case 221:
-#line 1371 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1376 "../css/CSSGrammar.y"
{ (yyval.value).id = 0; (yyval.value).string = (yyvsp[(1) - (2)].string); (yyval.value).unit = CSSPrimitiveValue::CSS_DIMENSION; ;}
break;
case 222:
-#line 1372 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1377 "../css/CSSGrammar.y"
{ (yyval.value).id = 0; (yyval.value).string = (yyvsp[(2) - (3)].string); (yyval.value).unit = CSSPrimitiveValue::CSS_DIMENSION; ;}
break;
case 223:
-#line 1373 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1378 "../css/CSSGrammar.y"
{ (yyval.value).id = 0; (yyval.value).string = (yyvsp[(1) - (2)].string); (yyval.value).unit = CSSPrimitiveValue::CSS_URI; ;}
break;
case 224:
-#line 1374 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1379 "../css/CSSGrammar.y"
{ (yyval.value).id = 0; (yyval.value).string = (yyvsp[(1) - (2)].string); (yyval.value).unit = CSSPrimitiveValue::CSS_UNICODE_RANGE; ;}
break;
case 225:
-#line 1375 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1380 "../css/CSSGrammar.y"
{ (yyval.value).id = 0; (yyval.value).string = (yyvsp[(1) - (1)].string); (yyval.value).unit = CSSPrimitiveValue::CSS_PARSER_HEXCOLOR; ;}
break;
case 226:
-#line 1376 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1381 "../css/CSSGrammar.y"
{ (yyval.value).id = 0; (yyval.value).string = CSSParserString(); (yyval.value).unit = CSSPrimitiveValue::CSS_PARSER_HEXCOLOR; ;}
break;
case 227:
-#line 1378 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1383 "../css/CSSGrammar.y"
{
(yyval.value) = (yyvsp[(1) - (1)].value);
;}
break;
case 228:
-#line 1381 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1386 "../css/CSSGrammar.y"
{
(yyval.value) = (yyvsp[(1) - (2)].value);
;}
break;
case 229:
-#line 1384 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1389 "../css/CSSGrammar.y"
{ /* Handle width: %; */
(yyval.value).id = 0; (yyval.value).unit = 0;
;}
break;
case 230:
-#line 1390 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1395 "../css/CSSGrammar.y"
{ (yyval.value).id = 0; (yyval.value).isInt = true; (yyval.value).fValue = (yyvsp[(1) - (2)].number); (yyval.value).unit = CSSPrimitiveValue::CSS_NUMBER; ;}
break;
case 231:
-#line 1391 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1396 "../css/CSSGrammar.y"
{ (yyval.value).id = 0; (yyval.value).isInt = false; (yyval.value).fValue = (yyvsp[(1) - (2)].number); (yyval.value).unit = CSSPrimitiveValue::CSS_NUMBER; ;}
break;
case 232:
-#line 1392 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1397 "../css/CSSGrammar.y"
{ (yyval.value).id = 0; (yyval.value).fValue = (yyvsp[(1) - (2)].number); (yyval.value).unit = CSSPrimitiveValue::CSS_PERCENTAGE; ;}
break;
case 233:
-#line 1393 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1398 "../css/CSSGrammar.y"
{ (yyval.value).id = 0; (yyval.value).fValue = (yyvsp[(1) - (2)].number); (yyval.value).unit = CSSPrimitiveValue::CSS_PX; ;}
break;
case 234:
-#line 1394 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1399 "../css/CSSGrammar.y"
{ (yyval.value).id = 0; (yyval.value).fValue = (yyvsp[(1) - (2)].number); (yyval.value).unit = CSSPrimitiveValue::CSS_CM; ;}
break;
case 235:
-#line 1395 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1400 "../css/CSSGrammar.y"
{ (yyval.value).id = 0; (yyval.value).fValue = (yyvsp[(1) - (2)].number); (yyval.value).unit = CSSPrimitiveValue::CSS_MM; ;}
break;
case 236:
-#line 1396 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1401 "../css/CSSGrammar.y"
{ (yyval.value).id = 0; (yyval.value).fValue = (yyvsp[(1) - (2)].number); (yyval.value).unit = CSSPrimitiveValue::CSS_IN; ;}
break;
case 237:
-#line 1397 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1402 "../css/CSSGrammar.y"
{ (yyval.value).id = 0; (yyval.value).fValue = (yyvsp[(1) - (2)].number); (yyval.value).unit = CSSPrimitiveValue::CSS_PT; ;}
break;
case 238:
-#line 1398 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1403 "../css/CSSGrammar.y"
{ (yyval.value).id = 0; (yyval.value).fValue = (yyvsp[(1) - (2)].number); (yyval.value).unit = CSSPrimitiveValue::CSS_PC; ;}
break;
case 239:
-#line 1399 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1404 "../css/CSSGrammar.y"
{ (yyval.value).id = 0; (yyval.value).fValue = (yyvsp[(1) - (2)].number); (yyval.value).unit = CSSPrimitiveValue::CSS_DEG; ;}
break;
case 240:
-#line 1400 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1405 "../css/CSSGrammar.y"
{ (yyval.value).id = 0; (yyval.value).fValue = (yyvsp[(1) - (2)].number); (yyval.value).unit = CSSPrimitiveValue::CSS_RAD; ;}
break;
case 241:
-#line 1401 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1406 "../css/CSSGrammar.y"
{ (yyval.value).id = 0; (yyval.value).fValue = (yyvsp[(1) - (2)].number); (yyval.value).unit = CSSPrimitiveValue::CSS_GRAD; ;}
break;
case 242:
-#line 1402 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1407 "../css/CSSGrammar.y"
{ (yyval.value).id = 0; (yyval.value).fValue = (yyvsp[(1) - (2)].number); (yyval.value).unit = CSSPrimitiveValue::CSS_TURN; ;}
break;
case 243:
-#line 1403 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1408 "../css/CSSGrammar.y"
{ (yyval.value).id = 0; (yyval.value).fValue = (yyvsp[(1) - (2)].number); (yyval.value).unit = CSSPrimitiveValue::CSS_MS; ;}
break;
case 244:
-#line 1404 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1409 "../css/CSSGrammar.y"
{ (yyval.value).id = 0; (yyval.value).fValue = (yyvsp[(1) - (2)].number); (yyval.value).unit = CSSPrimitiveValue::CSS_S; ;}
break;
case 245:
-#line 1405 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1410 "../css/CSSGrammar.y"
{ (yyval.value).id = 0; (yyval.value).fValue = (yyvsp[(1) - (2)].number); (yyval.value).unit = CSSPrimitiveValue::CSS_HZ; ;}
break;
case 246:
-#line 1406 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1411 "../css/CSSGrammar.y"
{ (yyval.value).id = 0; (yyval.value).fValue = (yyvsp[(1) - (2)].number); (yyval.value).unit = CSSPrimitiveValue::CSS_KHZ; ;}
break;
case 247:
-#line 1407 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1412 "../css/CSSGrammar.y"
{ (yyval.value).id = 0; (yyval.value).fValue = (yyvsp[(1) - (2)].number); (yyval.value).unit = CSSPrimitiveValue::CSS_EMS; ;}
break;
case 248:
-#line 1408 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1413 "../css/CSSGrammar.y"
{ (yyval.value).id = 0; (yyval.value).fValue = (yyvsp[(1) - (2)].number); (yyval.value).unit = CSSParserValue::Q_EMS; ;}
break;
case 249:
-#line 1409 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1414 "../css/CSSGrammar.y"
{ (yyval.value).id = 0; (yyval.value).fValue = (yyvsp[(1) - (2)].number); (yyval.value).unit = CSSPrimitiveValue::CSS_EXS; ;}
break;
case 250:
-#line 1413 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1415 "../css/CSSGrammar.y"
+ {
+ (yyval.value).id = 0;
+ (yyval.value).fValue = (yyvsp[(1) - (2)].number);
+ (yyval.value).unit = CSSPrimitiveValue::CSS_REMS;
+ CSSParser* p = static_cast<CSSParser*>(parser);
+ if (Document* doc = p->document())
+ doc->setUsesRemUnits(true);
+ ;}
+ break;
+
+ case 251:
+
+/* Line 1455 of yacc.c */
+#line 1426 "../css/CSSGrammar.y"
{
(yyval.value).id = 0;
(yyval.value).string = (yyvsp[(1) - (1)].string);
@@ -3799,8 +4161,10 @@ yyreduce:
;}
break;
- case 251:
-#line 1421 "../css/CSSGrammar.y"
+ case 252:
+
+/* Line 1455 of yacc.c */
+#line 1434 "../css/CSSGrammar.y"
{
CSSParser* p = static_cast<CSSParser*>(parser);
CSSParserFunction* f = p->createFloatingFunction();
@@ -3812,8 +4176,10 @@ yyreduce:
;}
break;
- case 252:
-#line 1430 "../css/CSSGrammar.y"
+ case 253:
+
+/* Line 1455 of yacc.c */
+#line 1443 "../css/CSSGrammar.y"
{
CSSParser* p = static_cast<CSSParser*>(parser);
CSSParserFunction* f = p->createFloatingFunction();
@@ -3825,68 +4191,87 @@ yyreduce:
;}
break;
- case 253:
-#line 1446 "../css/CSSGrammar.y"
- { (yyval.string) = (yyvsp[(1) - (2)].string); ;}
- break;
-
case 254:
-#line 1447 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1459 "../css/CSSGrammar.y"
{ (yyval.string) = (yyvsp[(1) - (2)].string); ;}
break;
case 255:
-#line 1454 "../css/CSSGrammar.y"
- {
- (yyval.rule) = 0;
- ;}
+
+/* Line 1455 of yacc.c */
+#line 1460 "../css/CSSGrammar.y"
+ { (yyval.string) = (yyvsp[(1) - (2)].string); ;}
break;
case 256:
-#line 1457 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1467 "../css/CSSGrammar.y"
{
(yyval.rule) = 0;
;}
break;
case 257:
-#line 1463 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1470 "../css/CSSGrammar.y"
{
(yyval.rule) = 0;
;}
break;
case 258:
-#line 1466 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1476 "../css/CSSGrammar.y"
{
(yyval.rule) = 0;
;}
break;
- case 261:
-#line 1477 "../css/CSSGrammar.y"
+ case 259:
+
+/* Line 1455 of yacc.c */
+#line 1479 "../css/CSSGrammar.y"
{
(yyval.rule) = 0;
;}
break;
case 262:
-#line 1483 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1490 "../css/CSSGrammar.y"
{
(yyval.rule) = 0;
;}
break;
case 263:
-#line 1489 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1496 "../css/CSSGrammar.y"
+ {
+ (yyval.rule) = 0;
+ ;}
+ break;
+
+ case 264:
+
+/* Line 1455 of yacc.c */
+#line 1502 "../css/CSSGrammar.y"
{
(yyval.rule) = 0;
;}
break;
-/* Line 1267 of yacc.c. */
-#line 3890 "WebCore/tmp/../generated/CSSGrammar.tab.c"
+
+/* Line 1455 of yacc.c */
+#line 4275 "WebCore/tmp/../generated/CSSGrammar.tab.c"
default: break;
}
YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
@@ -3897,7 +4282,6 @@ yyreduce:
*++yyvsp = yyval;
-
/* Now `shift' the result of the reduction. Determine what state
that goes to, based on the state we popped back to and the rule
number reduced by. */
@@ -3962,7 +4346,7 @@ yyerrlab:
if (yyerrstatus == 3)
{
- /* If just tried and failed to reuse look-ahead token after an
+ /* If just tried and failed to reuse lookahead token after an
error, discard it. */
if (yychar <= YYEOF)
@@ -3979,7 +4363,7 @@ yyerrlab:
}
}
- /* Else will try to reuse look-ahead token after shifting the error
+ /* Else will try to reuse lookahead token after shifting the error
token. */
goto yyerrlab1;
@@ -4036,9 +4420,6 @@ yyerrlab1:
YY_STACK_PRINT (yyss, yyssp);
}
- if (yyn == YYFINAL)
- YYACCEPT;
-
*++yyvsp = yylval;
@@ -4063,7 +4444,7 @@ yyabortlab:
yyresult = 1;
goto yyreturn;
-#ifndef yyoverflow
+#if !defined(yyoverflow) || YYERROR_VERBOSE
/*-------------------------------------------------.
| yyexhaustedlab -- memory exhaustion comes here. |
`-------------------------------------------------*/
@@ -4074,7 +4455,7 @@ yyexhaustedlab:
#endif
yyreturn:
- if (yychar != YYEOF && yychar != YYEMPTY)
+ if (yychar != YYEMPTY)
yydestruct ("Cleanup: discarding lookahead",
yytoken, &yylval);
/* Do not reclaim the symbols of the rule which action triggered
@@ -4100,6 +4481,8 @@ yyreturn:
}
-#line 1516 "../css/CSSGrammar.y"
+
+/* Line 1675 of yacc.c */
+#line 1529 "../css/CSSGrammar.y"
diff --git a/src/3rdparty/webkit/WebCore/generated/CSSGrammar.h b/src/3rdparty/webkit/WebCore/generated/CSSGrammar.h
index 61ba1f5..ad6b20a 100644
--- a/src/3rdparty/webkit/WebCore/generated/CSSGrammar.h
+++ b/src/3rdparty/webkit/WebCore/generated/CSSGrammar.h
@@ -1,26 +1,25 @@
#ifndef CSSGRAMMAR_H
#define CSSGRAMMAR_H
-/* A Bison parser, made by GNU Bison 2.3. */
-/* Skeleton interface for Bison's Yacc-like parsers in C
+/* A Bison parser, made by GNU Bison 2.4.1. */
- Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
+/* Skeleton interface for Bison's Yacc-like parsers in C
+
+ Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
Free Software Foundation, Inc.
-
- This program is free software; you can redistribute it and/or modify
+
+ This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2, or (at your option)
- any later version.
-
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
-
+
You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 51 Franklin Street, Fifth Floor,
- Boston, MA 02110-1301, USA. */
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
/* As a special exception, you may create a larger work that contains
part or all of the Bison parser skeleton and distribute that work
@@ -31,10 +30,11 @@
special exception, which will cause the skeleton and the resulting
Bison output files to be licensed under the GNU General Public
License without this special exception.
-
+
This special exception was added by the Free Software Foundation in
version 2.2 of Bison. */
+
/* Tokens. */
#ifndef YYTOKENTYPE
# define YYTOKENTYPE
@@ -78,106 +78,45 @@
MEDIA_ONLY = 291,
MEDIA_NOT = 292,
MEDIA_AND = 293,
- QEMS = 294,
- EMS = 295,
- EXS = 296,
- PXS = 297,
- CMS = 298,
- MMS = 299,
- INS = 300,
- PTS = 301,
- PCS = 302,
- DEGS = 303,
- RADS = 304,
- GRADS = 305,
- TURNS = 306,
- MSECS = 307,
- SECS = 308,
- HERZ = 309,
- KHERZ = 310,
- DIMEN = 311,
- PERCENTAGE = 312,
- FLOATTOKEN = 313,
- INTEGER = 314,
- URI = 315,
- FUNCTION = 316,
- NOTFUNCTION = 317,
- UNICODERANGE = 318,
- VARCALL = 319
+ REMS = 294,
+ QEMS = 295,
+ EMS = 296,
+ EXS = 297,
+ PXS = 298,
+ CMS = 299,
+ MMS = 300,
+ INS = 301,
+ PTS = 302,
+ PCS = 303,
+ DEGS = 304,
+ RADS = 305,
+ GRADS = 306,
+ TURNS = 307,
+ MSECS = 308,
+ SECS = 309,
+ HERZ = 310,
+ KHERZ = 311,
+ DIMEN = 312,
+ PERCENTAGE = 313,
+ FLOATTOKEN = 314,
+ INTEGER = 315,
+ URI = 316,
+ FUNCTION = 317,
+ NOTFUNCTION = 318,
+ UNICODERANGE = 319,
+ VARCALL = 320
};
#endif
-/* Tokens. */
-#define TOKEN_EOF 0
-#define LOWEST_PREC 258
-#define UNIMPORTANT_TOK 259
-#define WHITESPACE 260
-#define SGML_CD 261
-#define INCLUDES 262
-#define DASHMATCH 263
-#define BEGINSWITH 264
-#define ENDSWITH 265
-#define CONTAINS 266
-#define STRING 267
-#define IDENT 268
-#define NTH 269
-#define HEX 270
-#define IDSEL 271
-#define IMPORT_SYM 272
-#define PAGE_SYM 273
-#define MEDIA_SYM 274
-#define FONT_FACE_SYM 275
-#define CHARSET_SYM 276
-#define NAMESPACE_SYM 277
-#define WEBKIT_RULE_SYM 278
-#define WEBKIT_DECLS_SYM 279
-#define WEBKIT_KEYFRAME_RULE_SYM 280
-#define WEBKIT_KEYFRAMES_SYM 281
-#define WEBKIT_VALUE_SYM 282
-#define WEBKIT_MEDIAQUERY_SYM 283
-#define WEBKIT_SELECTOR_SYM 284
-#define WEBKIT_VARIABLES_SYM 285
-#define WEBKIT_DEFINE_SYM 286
-#define VARIABLES_FOR 287
-#define WEBKIT_VARIABLES_DECLS_SYM 288
-#define ATKEYWORD 289
-#define IMPORTANT_SYM 290
-#define MEDIA_ONLY 291
-#define MEDIA_NOT 292
-#define MEDIA_AND 293
-#define QEMS 294
-#define EMS 295
-#define EXS 296
-#define PXS 297
-#define CMS 298
-#define MMS 299
-#define INS 300
-#define PTS 301
-#define PCS 302
-#define DEGS 303
-#define RADS 304
-#define GRADS 305
-#define TURNS 306
-#define MSECS 307
-#define SECS 308
-#define HERZ 309
-#define KHERZ 310
-#define DIMEN 311
-#define PERCENTAGE 312
-#define FLOATTOKEN 313
-#define INTEGER 314
-#define URI 315
-#define FUNCTION 316
-#define NOTFUNCTION 317
-#define UNICODERANGE 318
-#define VARCALL 319
-
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
typedef union YYSTYPE
-#line 58 "../css/CSSGrammar.y"
{
+
+/* Line 1676 of yacc.c */
+#line 62 "../css/CSSGrammar.y"
+
bool boolean;
char character;
int integer;
@@ -199,15 +138,18 @@ typedef union YYSTYPE
WebKitCSSKeyframeRule* keyframeRule;
WebKitCSSKeyframesRule* keyframesRule;
float val;
-}
-/* Line 1489 of yacc.c. */
-#line 203 "WebCore/tmp/../generated/CSSGrammar.tab.h"
- YYSTYPE;
+
+
+
+/* Line 1676 of yacc.c */
+#line 144 "WebCore/tmp/../generated/CSSGrammar.tab.h"
+} YYSTYPE;
+# define YYSTYPE_IS_TRIVIAL 1
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
-# define YYSTYPE_IS_TRIVIAL 1
#endif
+
#endif
diff --git a/src/3rdparty/webkit/WebCore/generated/CSSPropertyNames.cpp b/src/3rdparty/webkit/WebCore/generated/CSSPropertyNames.cpp
index dc00054..65b49d6 100644
--- a/src/3rdparty/webkit/WebCore/generated/CSSPropertyNames.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/CSSPropertyNames.cpp
@@ -37,7 +37,7 @@ struct props {
const char* name;
int id;
};
-/* maximum key range = 1603, duplicates = 0 */
+/* maximum key range = 1853, duplicates = 0 */
#ifdef __GNUC__
__inline
@@ -51,32 +51,32 @@ hash_prop (register const char *str, register unsigned int len)
{
static const unsigned short asso_values[] =
{
- 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609,
- 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609,
- 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609,
- 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609,
- 1609, 1609, 1609, 1609, 1609, 0, 1609, 1609, 1609, 1609,
- 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609,
- 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609,
- 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609,
- 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609,
- 1609, 1609, 1609, 1609, 1609, 1609, 1609, 5, 0, 75,
- 0, 0, 325, 5, 295, 0, 0, 0, 105, 0,
- 5, 0, 55, 20, 5, 25, 0, 50, 55, 15,
- 400, 295, 145, 1609, 1609, 1609, 1609, 1609, 1609, 1609,
- 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609,
- 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609,
- 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609,
- 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609,
- 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609,
- 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609,
- 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609,
- 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609,
- 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609,
- 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609,
- 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609,
- 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609,
- 1609, 1609, 1609, 1609, 1609, 1609
+ 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859,
+ 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859,
+ 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859,
+ 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859,
+ 1859, 1859, 1859, 1859, 1859, 0, 1859, 1859, 1859, 1859,
+ 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859,
+ 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859,
+ 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859,
+ 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859,
+ 1859, 1859, 1859, 1859, 1859, 1859, 1859, 5, 0, 75,
+ 0, 0, 355, 5, 315, 0, 0, 0, 105, 0,
+ 5, 0, 55, 20, 5, 25, 0, 140, 30, 15,
+ 420, 395, 10, 1859, 1859, 1859, 1859, 1859, 1859, 1859,
+ 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859,
+ 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859,
+ 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859,
+ 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859,
+ 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859,
+ 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859,
+ 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859,
+ 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859,
+ 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859,
+ 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859,
+ 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859,
+ 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859,
+ 1859, 1859, 1859, 1859, 1859, 1859
};
register int hval = len;
@@ -226,667 +226,676 @@ findProp (register const char *str, register unsigned int len)
{
enum
{
- TOTAL_KEYWORDS = 269,
+ TOTAL_KEYWORDS = 271,
MIN_WORD_LENGTH = 3,
MAX_WORD_LENGTH = 43,
MIN_HASH_VALUE = 6,
- MAX_HASH_VALUE = 1608
+ MAX_HASH_VALUE = 1858
};
static const struct props wordlist_prop[] =
{
-#line 40 "CSSPropertyNames.gperf"
+#line 42 "CSSPropertyNames.gperf"
{"bottom", CSSPropertyBottom},
-#line 18 "CSSPropertyNames.gperf"
+#line 140 "CSSPropertyNames.gperf"
+ {"zoom", CSSPropertyZoom},
+#line 20 "CSSPropertyNames.gperf"
{"border", CSSPropertyBorder},
-#line 257 "CSSPropertyNames.gperf"
+#line 259 "CSSPropertyNames.gperf"
{"marker", CSSPropertyMarker},
-#line 19 "CSSPropertyNames.gperf"
+#line 21 "CSSPropertyNames.gperf"
{"border-bottom", CSSPropertyBorderBottom},
-#line 259 "CSSPropertyNames.gperf"
+#line 261 "CSSPropertyNames.gperf"
{"marker-mid", CSSPropertyMarkerMid},
-#line 68 "CSSPropertyNames.gperf"
+#line 71 "CSSPropertyNames.gperf"
{"margin", CSSPropertyMargin},
-#line 276 "CSSPropertyNames.gperf"
+#line 278 "CSSPropertyNames.gperf"
{"kerning", CSSPropertyKerning},
-#line 258 "CSSPropertyNames.gperf"
+#line 260 "CSSPropertyNames.gperf"
{"marker-end", CSSPropertyMarkerEnd},
-#line 69 "CSSPropertyNames.gperf"
+#line 72 "CSSPropertyNames.gperf"
{"margin-bottom", CSSPropertyMarginBottom},
-#line 241 "CSSPropertyNames.gperf"
+#line 243 "CSSPropertyNames.gperf"
{"mask", CSSPropertyMask},
-#line 262 "CSSPropertyNames.gperf"
+#line 264 "CSSPropertyNames.gperf"
{"stroke", CSSPropertyStroke},
-#line 133 "CSSPropertyNames.gperf"
+#line 104 "CSSPropertyNames.gperf"
+ {"size", CSSPropertySize},
+#line 136 "CSSPropertyNames.gperf"
{"word-break", CSSPropertyWordBreak},
-#line 278 "CSSPropertyNames.gperf"
+#line 280 "CSSPropertyNames.gperf"
{"writing-mode", CSSPropertyWritingMode},
-#line 151 "CSSPropertyNames.gperf"
+#line 154 "CSSPropertyNames.gperf"
{"-webkit-binding", CSSPropertyWebkitBinding},
-#line 256 "CSSPropertyNames.gperf"
+#line 102 "CSSPropertyNames.gperf"
+ {"resize", CSSPropertyResize},
+#line 258 "CSSPropertyNames.gperf"
{"image-rendering", CSSPropertyImageRendering},
-#line 138 "CSSPropertyNames.gperf"
+#line 141 "CSSPropertyNames.gperf"
{"-webkit-animation", CSSPropertyWebkitAnimation},
-#line 156 "CSSPropertyNames.gperf"
+#line 159 "CSSPropertyNames.gperf"
{"-webkit-border-image", CSSPropertyWebkitBorderImage},
-#line 197 "CSSPropertyNames.gperf"
+#line 199 "CSSPropertyNames.gperf"
{"-webkit-mask", CSSPropertyWebkitMask},
-#line 125 "CSSPropertyNames.gperf"
+#line 128 "CSSPropertyNames.gperf"
{"top", CSSPropertyTop},
-#line 131 "CSSPropertyNames.gperf"
+#line 134 "CSSPropertyNames.gperf"
{"widows", CSSPropertyWidows},
-#line 260 "CSSPropertyNames.gperf"
+#line 262 "CSSPropertyNames.gperf"
{"marker-start", CSSPropertyMarkerStart},
-#line 143 "CSSPropertyNames.gperf"
+#line 146 "CSSPropertyNames.gperf"
{"-webkit-animation-name", CSSPropertyWebkitAnimationName},
-#line 92 "CSSPropertyNames.gperf"
+#line 95 "CSSPropertyNames.gperf"
{"page", CSSPropertyPage},
-#line 202 "CSSPropertyNames.gperf"
+#line 204 "CSSPropertyNames.gperf"
{"-webkit-mask-image", CSSPropertyWebkitMaskImage},
-#line 35 "CSSPropertyNames.gperf"
+#line 37 "CSSPropertyNames.gperf"
{"border-top", CSSPropertyBorderTop},
-#line 87 "CSSPropertyNames.gperf"
+#line 90 "CSSPropertyNames.gperf"
{"padding", CSSPropertyPadding},
-#line 230 "CSSPropertyNames.gperf"
+#line 232 "CSSPropertyNames.gperf"
{"-webkit-transition", CSSPropertyWebkitTransition},
-#line 203 "CSSPropertyNames.gperf"
+#line 205 "CSSPropertyNames.gperf"
{"-webkit-mask-origin", CSSPropertyWebkitMaskOrigin},
-#line 88 "CSSPropertyNames.gperf"
+#line 91 "CSSPropertyNames.gperf"
{"padding-bottom", CSSPropertyPaddingBottom},
-#line 72 "CSSPropertyNames.gperf"
+#line 75 "CSSPropertyNames.gperf"
{"margin-top", CSSPropertyMarginTop},
-#line 189 "CSSPropertyNames.gperf"
+#line 191 "CSSPropertyNames.gperf"
{"-webkit-margin-start", CSSPropertyWebkitMarginStart},
-#line 45 "CSSPropertyNames.gperf"
+#line 48 "CSSPropertyNames.gperf"
{"content", CSSPropertyContent},
-#line 97 "CSSPropertyNames.gperf"
+#line 100 "CSSPropertyNames.gperf"
{"position", CSSPropertyPosition},
-#line 49 "CSSPropertyNames.gperf"
+#line 52 "CSSPropertyNames.gperf"
{"direction", CSSPropertyDirection},
-#line 98 "CSSPropertyNames.gperf"
- {"quotes", CSSPropertyQuotes},
-#line 102 "CSSPropertyNames.gperf"
+#line 210 "CSSPropertyNames.gperf"
+ {"-webkit-mask-size", CSSPropertyWebkitMaskSize},
+#line 105 "CSSPropertyNames.gperf"
{"src", CSSPropertySrc},
-#line 135 "CSSPropertyNames.gperf"
+#line 138 "CSSPropertyNames.gperf"
{"word-wrap", CSSPropertyWordWrap},
-#line 191 "CSSPropertyNames.gperf"
- {"-webkit-marquee", CSSPropertyWebkitMarquee},
-#line 210 "CSSPropertyNames.gperf"
+#line 212 "CSSPropertyNames.gperf"
{"-webkit-nbsp-mode", CSSPropertyWebkitNbspMode},
-#line 95 "CSSPropertyNames.gperf"
+#line 98 "CSSPropertyNames.gperf"
{"page-break-inside", CSSPropertyPageBreakInside},
-#line 141 "CSSPropertyNames.gperf"
- {"-webkit-animation-duration", CSSPropertyWebkitAnimationDuration},
-#line 235 "CSSPropertyNames.gperf"
- {"-webkit-user-drag", CSSPropertyWebkitUserDrag},
-#line 207 "CSSPropertyNames.gperf"
+#line 209 "CSSPropertyNames.gperf"
{"-webkit-mask-repeat", CSSPropertyWebkitMaskRepeat},
-#line 157 "CSSPropertyNames.gperf"
- {"-webkit-border-radius", CSSPropertyWebkitBorderRadius},
-#line 91 "CSSPropertyNames.gperf"
+#line 94 "CSSPropertyNames.gperf"
{"padding-top", CSSPropertyPaddingTop},
-#line 211 "CSSPropertyNames.gperf"
+#line 99 "CSSPropertyNames.gperf"
+ {"pointer-events", CSSPropertyPointerEvents},
+#line 213 "CSSPropertyNames.gperf"
{"-webkit-padding-start", CSSPropertyWebkitPaddingStart},
-#line 126 "CSSPropertyNames.gperf"
- {"unicode-bidi", CSSPropertyUnicodeBidi},
-#line 140 "CSSPropertyNames.gperf"
+#line 143 "CSSPropertyNames.gperf"
{"-webkit-animation-direction", CSSPropertyWebkitAnimationDirection},
-#line 137 "CSSPropertyNames.gperf"
- {"zoom", CSSPropertyZoom},
-#line 204 "CSSPropertyNames.gperf"
+#line 206 "CSSPropertyNames.gperf"
{"-webkit-mask-position", CSSPropertyWebkitMaskPosition},
-#line 232 "CSSPropertyNames.gperf"
- {"-webkit-transition-duration", CSSPropertyWebkitTransitionDuration},
-#line 185 "CSSPropertyNames.gperf"
+#line 187 "CSSPropertyNames.gperf"
{"-webkit-line-break", CSSPropertyWebkitLineBreak},
-#line 10 "CSSPropertyNames.gperf"
- {"background", CSSPropertyBackground},
-#line 267 "CSSPropertyNames.gperf"
+#line 269 "CSSPropertyNames.gperf"
{"stroke-miterlimit", CSSPropertyStrokeMiterlimit},
-#line 266 "CSSPropertyNames.gperf"
+#line 268 "CSSPropertyNames.gperf"
{"stroke-linejoin", CSSPropertyStrokeLinejoin},
-#line 127 "CSSPropertyNames.gperf"
- {"unicode-range", CSSPropertyUnicodeRange},
-#line 96 "CSSPropertyNames.gperf"
- {"pointer-events", CSSPropertyPointerEvents},
-#line 216 "CSSPropertyNames.gperf"
+#line 218 "CSSPropertyNames.gperf"
{"-webkit-rtl-ordering", CSSPropertyWebkitRtlOrdering},
-#line 48 "CSSPropertyNames.gperf"
- {"cursor", CSSPropertyCursor},
-#line 79 "CSSPropertyNames.gperf"
- {"outline", CSSPropertyOutline},
-#line 13 "CSSPropertyNames.gperf"
- {"background-image", CSSPropertyBackgroundImage},
-#line 273 "CSSPropertyNames.gperf"
+#line 275 "CSSPropertyNames.gperf"
{"dominant-baseline", CSSPropertyDominantBaseline},
-#line 101 "CSSPropertyNames.gperf"
- {"size", CSSPropertySize},
-#line 41 "CSSPropertyNames.gperf"
+#line 44 "CSSPropertyNames.gperf"
{"caption-side", CSSPropertyCaptionSide},
#line 47 "CSSPropertyNames.gperf"
- {"counter-reset", CSSPropertyCounterReset},
-#line 99 "CSSPropertyNames.gperf"
- {"resize", CSSPropertyResize},
-#line 194 "CSSPropertyNames.gperf"
- {"-webkit-marquee-repetition", CSSPropertyWebkitMarqueeRepetition},
-#line 44 "CSSPropertyNames.gperf"
{"color", CSSPropertyColor},
-#line 33 "CSSPropertyNames.gperf"
+#line 101 "CSSPropertyNames.gperf"
+ {"quotes", CSSPropertyQuotes},
+#line 35 "CSSPropertyNames.gperf"
{"border-spacing", CSSPropertyBorderSpacing},
-#line 42 "CSSPropertyNames.gperf"
+#line 45 "CSSPropertyNames.gperf"
{"clear", CSSPropertyClear},
-#line 195 "CSSPropertyNames.gperf"
- {"-webkit-marquee-speed", CSSPropertyWebkitMarqueeSpeed},
-#line 149 "CSSPropertyNames.gperf"
- {"-webkit-background-origin", CSSPropertyWebkitBackgroundOrigin},
-#line 134 "CSSPropertyNames.gperf"
+#line 193 "CSSPropertyNames.gperf"
+ {"-webkit-marquee", CSSPropertyWebkitMarquee},
+#line 137 "CSSPropertyNames.gperf"
{"word-spacing", CSSPropertyWordSpacing},
-#line 192 "CSSPropertyNames.gperf"
- {"-webkit-marquee-direction", CSSPropertyWebkitMarqueeDirection},
-#line 24 "CSSPropertyNames.gperf"
+#line 26 "CSSPropertyNames.gperf"
{"border-color", CSSPropertyBorderColor},
-#line 193 "CSSPropertyNames.gperf"
- {"-webkit-marquee-increment", CSSPropertyWebkitMarqueeIncrement},
-#line 142 "CSSPropertyNames.gperf"
- {"-webkit-animation-iteration-count", CSSPropertyWebkitAnimationIterationCount},
-#line 20 "CSSPropertyNames.gperf"
+#line 22 "CSSPropertyNames.gperf"
{"border-bottom-color", CSSPropertyBorderBottomColor},
-#line 201 "CSSPropertyNames.gperf"
+#line 144 "CSSPropertyNames.gperf"
+ {"-webkit-animation-duration", CSSPropertyWebkitAnimationDuration},
+#line 237 "CSSPropertyNames.gperf"
+ {"-webkit-user-drag", CSSPropertyWebkitUserDrag},
+#line 160 "CSSPropertyNames.gperf"
+ {"-webkit-border-radius", CSSPropertyWebkitBorderRadius},
+#line 203 "CSSPropertyNames.gperf"
{"-webkit-mask-composite", CSSPropertyWebkitMaskComposite},
-#line 252 "CSSPropertyNames.gperf"
+#line 254 "CSSPropertyNames.gperf"
{"color-rendering", CSSPropertyColorRendering},
-#line 17 "CSSPropertyNames.gperf"
- {"background-repeat", CSSPropertyBackgroundRepeat},
-#line 208 "CSSPropertyNames.gperf"
- {"-webkit-mask-size", CSSPropertyWebkitMaskSize},
-#line 43 "CSSPropertyNames.gperf"
- {"clip", CSSPropertyClip},
+#line 129 "CSSPropertyNames.gperf"
+ {"unicode-bidi", CSSPropertyUnicodeBidi},
#line 46 "CSSPropertyNames.gperf"
- {"counter-increment", CSSPropertyCounterIncrement},
-#line 145 "CSSPropertyNames.gperf"
+ {"clip", CSSPropertyClip},
+#line 234 "CSSPropertyNames.gperf"
+ {"-webkit-transition-duration", CSSPropertyWebkitTransitionDuration},
+#line 148 "CSSPropertyNames.gperf"
{"-webkit-appearance", CSSPropertyWebkitAppearance},
+#line 10 "CSSPropertyNames.gperf"
+ {"background", CSSPropertyBackground},
+#line 130 "CSSPropertyNames.gperf"
+ {"unicode-range", CSSPropertyUnicodeRange},
+#line 51 "CSSPropertyNames.gperf"
+ {"cursor", CSSPropertyCursor},
+#line 82 "CSSPropertyNames.gperf"
+ {"outline", CSSPropertyOutline},
#line 14 "CSSPropertyNames.gperf"
- {"background-position", CSSPropertyBackgroundPosition},
-#line 36 "CSSPropertyNames.gperf"
+ {"background-image", CSSPropertyBackgroundImage},
+#line 38 "CSSPropertyNames.gperf"
{"border-top-color", CSSPropertyBorderTopColor},
-#line 247 "CSSPropertyNames.gperf"
+#line 15 "CSSPropertyNames.gperf"
+ {"background-origin", CSSPropertyBackgroundOrigin},
+#line 50 "CSSPropertyNames.gperf"
+ {"counter-reset", CSSPropertyCounterReset},
+#line 249 "CSSPropertyNames.gperf"
{"stop-color", CSSPropertyStopColor},
-#line 242 "CSSPropertyNames.gperf"
- {"enable-background", CSSPropertyEnableBackground},
-#line 271 "CSSPropertyNames.gperf"
+#line 196 "CSSPropertyNames.gperf"
+ {"-webkit-marquee-repetition", CSSPropertyWebkitMarqueeRepetition},
+#line 214 "CSSPropertyNames.gperf"
+ {"-webkit-perspective", CSSPropertyWebkitPerspective},
+#line 273 "CSSPropertyNames.gperf"
{"alignment-baseline", CSSPropertyAlignmentBaseline},
-#line 265 "CSSPropertyNames.gperf"
+#line 197 "CSSPropertyNames.gperf"
+ {"-webkit-marquee-speed", CSSPropertyWebkitMarqueeSpeed},
+#line 267 "CSSPropertyNames.gperf"
{"stroke-linecap", CSSPropertyStrokeLinecap},
-#line 182 "CSSPropertyNames.gperf"
- {"-webkit-columns", CSSPropertyWebkitColumns},
-#line 62 "CSSPropertyNames.gperf"
+#line 152 "CSSPropertyNames.gperf"
+ {"-webkit-background-origin", CSSPropertyWebkitBackgroundOrigin},
+#line 65 "CSSPropertyNames.gperf"
{"letter-spacing", CSSPropertyLetterSpacing},
-#line 200 "CSSPropertyNames.gperf"
+#line 194 "CSSPropertyNames.gperf"
+ {"-webkit-marquee-direction", CSSPropertyWebkitMarqueeDirection},
+#line 202 "CSSPropertyNames.gperf"
{"-webkit-mask-clip", CSSPropertyWebkitMaskClip},
-#line 212 "CSSPropertyNames.gperf"
- {"-webkit-perspective", CSSPropertyWebkitPerspective},
-#line 100 "CSSPropertyNames.gperf"
+#line 195 "CSSPropertyNames.gperf"
+ {"-webkit-marquee-increment", CSSPropertyWebkitMarqueeIncrement},
+#line 215 "CSSPropertyNames.gperf"
+ {"-webkit-perspective-origin", CSSPropertyWebkitPerspectiveOrigin},
+#line 145 "CSSPropertyNames.gperf"
+ {"-webkit-animation-iteration-count", CSSPropertyWebkitAnimationIterationCount},
+#line 153 "CSSPropertyNames.gperf"
+ {"-webkit-background-size", CSSPropertyWebkitBackgroundSize},
+#line 19 "CSSPropertyNames.gperf"
+ {"background-repeat", CSSPropertyBackgroundRepeat},
+#line 103 "CSSPropertyNames.gperf"
{"right", CSSPropertyRight},
-#line 132 "CSSPropertyNames.gperf"
+#line 49 "CSSPropertyNames.gperf"
+ {"counter-increment", CSSPropertyCounterIncrement},
+#line 135 "CSSPropertyNames.gperf"
{"width", CSSPropertyWidth},
-#line 174 "CSSPropertyNames.gperf"
- {"-webkit-column-break-inside", CSSPropertyWebkitColumnBreakInside},
-#line 237 "CSSPropertyNames.gperf"
- {"-webkit-user-select", CSSPropertyWebkitUserSelect},
-#line 76 "CSSPropertyNames.gperf"
+#line 16 "CSSPropertyNames.gperf"
+ {"background-position", CSSPropertyBackgroundPosition},
+#line 79 "CSSPropertyNames.gperf"
{"min-width", CSSPropertyMinWidth},
-#line 213 "CSSPropertyNames.gperf"
- {"-webkit-perspective-origin", CSSPropertyWebkitPerspectiveOrigin},
-#line 29 "CSSPropertyNames.gperf"
+#line 31 "CSSPropertyNames.gperf"
{"border-right", CSSPropertyBorderRight},
-#line 39 "CSSPropertyNames.gperf"
+#line 41 "CSSPropertyNames.gperf"
{"border-width", CSSPropertyBorderWidth},
-#line 176 "CSSPropertyNames.gperf"
- {"-webkit-column-gap", CSSPropertyWebkitColumnGap},
-#line 53 "CSSPropertyNames.gperf"
- {"font", CSSPropertyFont},
-#line 71 "CSSPropertyNames.gperf"
+#line 131 "CSSPropertyNames.gperf"
+ {"vertical-align", CSSPropertyVerticalAlign},
+#line 74 "CSSPropertyNames.gperf"
{"margin-right", CSSPropertyMarginRight},
-#line 22 "CSSPropertyNames.gperf"
+#line 24 "CSSPropertyNames.gperf"
{"border-bottom-width", CSSPropertyBorderBottomWidth},
-#line 148 "CSSPropertyNames.gperf"
- {"-webkit-background-composite", CSSPropertyWebkitBackgroundComposite},
-#line 12 "CSSPropertyNames.gperf"
- {"background-color", CSSPropertyBackgroundColor},
-#line 269 "CSSPropertyNames.gperf"
+#line 56 "CSSPropertyNames.gperf"
+ {"font", CSSPropertyFont},
+#line 244 "CSSPropertyNames.gperf"
+ {"enable-background", CSSPropertyEnableBackground},
+#line 271 "CSSPropertyNames.gperf"
{"stroke-width", CSSPropertyStrokeWidth},
-#line 150 "CSSPropertyNames.gperf"
- {"-webkit-background-size", CSSPropertyWebkitBackgroundSize},
-#line 80 "CSSPropertyNames.gperf"
- {"outline-color", CSSPropertyOutlineColor},
-#line 154 "CSSPropertyNames.gperf"
- {"-webkit-border-fit", CSSPropertyWebkitBorderFit},
-#line 128 "CSSPropertyNames.gperf"
- {"vertical-align", CSSPropertyVerticalAlign},
-#line 186 "CSSPropertyNames.gperf"
+#line 184 "CSSPropertyNames.gperf"
+ {"-webkit-columns", CSSPropertyWebkitColumns},
+#line 188 "CSSPropertyNames.gperf"
{"-webkit-line-clamp", CSSPropertyWebkitLineClamp},
-#line 249 "CSSPropertyNames.gperf"
+#line 251 "CSSPropertyNames.gperf"
{"color-interpolation", CSSPropertyColorInterpolation},
-#line 90 "CSSPropertyNames.gperf"
+#line 25 "CSSPropertyNames.gperf"
+ {"border-collapse", CSSPropertyBorderCollapse},
+#line 157 "CSSPropertyNames.gperf"
+ {"-webkit-border-fit", CSSPropertyWebkitBorderFit},
+#line 58 "CSSPropertyNames.gperf"
+ {"font-size", CSSPropertyFontSize},
+#line 176 "CSSPropertyNames.gperf"
+ {"-webkit-column-break-inside", CSSPropertyWebkitColumnBreakInside},
+#line 93 "CSSPropertyNames.gperf"
{"padding-right", CSSPropertyPaddingRight},
-#line 38 "CSSPropertyNames.gperf"
+#line 239 "CSSPropertyNames.gperf"
+ {"-webkit-user-select", CSSPropertyWebkitUserSelect},
+#line 40 "CSSPropertyNames.gperf"
{"border-top-width", CSSPropertyBorderTopWidth},
-#line 23 "CSSPropertyNames.gperf"
- {"border-collapse", CSSPropertyBorderCollapse},
-#line 78 "CSSPropertyNames.gperf"
+#line 81 "CSSPropertyNames.gperf"
{"orphans", CSSPropertyOrphans},
-#line 175 "CSSPropertyNames.gperf"
- {"-webkit-column-count", CSSPropertyWebkitColumnCount},
-#line 224 "CSSPropertyNames.gperf"
- {"-webkit-transform", CSSPropertyWebkitTransform},
-#line 240 "CSSPropertyNames.gperf"
- {"clip-rule", CSSPropertyClipRule},
-#line 58 "CSSPropertyNames.gperf"
+#line 61 "CSSPropertyNames.gperf"
{"font-variant", CSSPropertyFontVariant},
-#line 147 "CSSPropertyNames.gperf"
- {"-webkit-background-clip", CSSPropertyWebkitBackgroundClip},
-#line 261 "CSSPropertyNames.gperf"
+#line 178 "CSSPropertyNames.gperf"
+ {"-webkit-column-gap", CSSPropertyWebkitColumnGap},
+#line 190 "CSSPropertyNames.gperf"
+ {"-webkit-margin-collapse", CSSPropertyWebkitMarginCollapse},
+#line 226 "CSSPropertyNames.gperf"
+ {"-webkit-transform", CSSPropertyWebkitTransform},
+#line 151 "CSSPropertyNames.gperf"
+ {"-webkit-background-composite", CSSPropertyWebkitBackgroundComposite},
+#line 189 "CSSPropertyNames.gperf"
+ {"-webkit-margin-bottom-collapse", CSSPropertyWebkitMarginBottomCollapse},
+#line 13 "CSSPropertyNames.gperf"
+ {"background-color", CSSPropertyBackgroundColor},
+#line 263 "CSSPropertyNames.gperf"
{"shape-rendering", CSSPropertyShapeRendering},
-#line 106 "CSSPropertyNames.gperf"
+#line 109 "CSSPropertyNames.gperf"
{"text-indent", CSSPropertyTextIndent},
-#line 94 "CSSPropertyNames.gperf"
+#line 139 "CSSPropertyNames.gperf"
+ {"z-index", CSSPropertyZIndex},
+#line 163 "CSSPropertyNames.gperf"
+ {"-webkit-border-vertical-spacing", CSSPropertyWebkitBorderVerticalSpacing},
+#line 83 "CSSPropertyNames.gperf"
+ {"outline-color", CSSPropertyOutlineColor},
+#line 97 "CSSPropertyNames.gperf"
{"page-break-before", CSSPropertyPageBreakBefore},
-#line 225 "CSSPropertyNames.gperf"
+#line 227 "CSSPropertyNames.gperf"
{"-webkit-transform-origin", CSSPropertyWebkitTransformOrigin},
-#line 93 "CSSPropertyNames.gperf"
+#line 96 "CSSPropertyNames.gperf"
{"page-break-after", CSSPropertyPageBreakAfter},
-#line 188 "CSSPropertyNames.gperf"
- {"-webkit-margin-collapse", CSSPropertyWebkitMarginCollapse},
-#line 177 "CSSPropertyNames.gperf"
- {"-webkit-column-rule", CSSPropertyWebkitColumnRule},
-#line 61 "CSSPropertyNames.gperf"
- {"left", CSSPropertyLeft},
-#line 187 "CSSPropertyNames.gperf"
- {"-webkit-margin-bottom-collapse", CSSPropertyWebkitMarginBottomCollapse},
-#line 77 "CSSPropertyNames.gperf"
- {"opacity", CSSPropertyOpacity},
-#line 270 "CSSPropertyNames.gperf"
+#line 272 "CSSPropertyNames.gperf"
{"text-rendering", CSSPropertyTextRendering},
-#line 52 "CSSPropertyNames.gperf"
+#line 170 "CSSPropertyNames.gperf"
+ {"-webkit-box-orient", CSSPropertyWebkitBoxOrient},
+#line 64 "CSSPropertyNames.gperf"
+ {"left", CSSPropertyLeft},
+#line 230 "CSSPropertyNames.gperf"
+ {"-webkit-transform-origin-z", CSSPropertyWebkitTransformOriginZ},
+#line 55 "CSSPropertyNames.gperf"
{"float", CSSPropertyFloat},
-#line 243 "CSSPropertyNames.gperf"
+#line 245 "CSSPropertyNames.gperf"
{"filter", CSSPropertyFilter},
-#line 167 "CSSPropertyNames.gperf"
- {"-webkit-box-orient", CSSPropertyWebkitBoxOrient},
-#line 34 "CSSPropertyNames.gperf"
- {"border-style", CSSPropertyBorderStyle},
-#line 206 "CSSPropertyNames.gperf"
- {"-webkit-mask-position-y", CSSPropertyWebkitMaskPositionY},
-#line 153 "CSSPropertyNames.gperf"
- {"-webkit-border-bottom-right-radius", CSSPropertyWebkitBorderBottomRightRadius},
-#line 25 "CSSPropertyNames.gperf"
- {"border-left", CSSPropertyBorderLeft},
-#line 198 "CSSPropertyNames.gperf"
+#line 200 "CSSPropertyNames.gperf"
{"-webkit-mask-attachment", CSSPropertyWebkitMaskAttachment},
-#line 21 "CSSPropertyNames.gperf"
- {"border-bottom-style", CSSPropertyBorderBottomStyle},
-#line 70 "CSSPropertyNames.gperf"
- {"margin-left", CSSPropertyMarginLeft},
-#line 139 "CSSPropertyNames.gperf"
- {"-webkit-animation-delay", CSSPropertyWebkitAnimationDelay},
-#line 221 "CSSPropertyNames.gperf"
+#line 27 "CSSPropertyNames.gperf"
+ {"border-left", CSSPropertyBorderLeft},
+#line 223 "CSSPropertyNames.gperf"
{"-webkit-text-stroke", CSSPropertyWebkitTextStroke},
-#line 160 "CSSPropertyNames.gperf"
- {"-webkit-border-vertical-spacing", CSSPropertyWebkitBorderVerticalSpacing},
-#line 268 "CSSPropertyNames.gperf"
- {"stroke-opacity", CSSPropertyStrokeOpacity},
-#line 199 "CSSPropertyNames.gperf"
+#line 12 "CSSPropertyNames.gperf"
+ {"background-clip", CSSPropertyBackgroundClip},
+#line 192 "CSSPropertyNames.gperf"
+ {"-webkit-margin-top-collapse", CSSPropertyWebkitMarginTopCollapse},
+#line 73 "CSSPropertyNames.gperf"
+ {"margin-left", CSSPropertyMarginLeft},
+#line 242 "CSSPropertyNames.gperf"
+ {"clip-rule", CSSPropertyClipRule},
+#line 201 "CSSPropertyNames.gperf"
{"-webkit-mask-box-image", CSSPropertyWebkitMaskBoxImage},
-#line 130 "CSSPropertyNames.gperf"
+#line 173 "CSSPropertyNames.gperf"
+ {"-webkit-box-sizing", CSSPropertyWebkitBoxSizing},
+#line 133 "CSSPropertyNames.gperf"
{"white-space", CSSPropertyWhiteSpace},
-#line 83 "CSSPropertyNames.gperf"
- {"outline-width", CSSPropertyOutlineWidth},
-#line 190 "CSSPropertyNames.gperf"
- {"-webkit-margin-top-collapse", CSSPropertyWebkitMarginTopCollapse},
-#line 231 "CSSPropertyNames.gperf"
- {"-webkit-transition-delay", CSSPropertyWebkitTransitionDelay},
-#line 129 "CSSPropertyNames.gperf"
- {"visibility", CSSPropertyVisibility},
-#line 50 "CSSPropertyNames.gperf"
- {"display", CSSPropertyDisplay},
-#line 159 "CSSPropertyNames.gperf"
- {"-webkit-border-top-right-radius", CSSPropertyWebkitBorderTopRightRadius},
-#line 233 "CSSPropertyNames.gperf"
- {"-webkit-transition-property", CSSPropertyWebkitTransitionProperty},
-#line 105 "CSSPropertyNames.gperf"
- {"text-decoration", CSSPropertyTextDecoration},
-#line 37 "CSSPropertyNames.gperf"
- {"border-top-style", CSSPropertyBorderTopStyle},
-#line 55 "CSSPropertyNames.gperf"
- {"font-size", CSSPropertyFontSize},
-#line 89 "CSSPropertyNames.gperf"
- {"padding-left", CSSPropertyPaddingLeft},
-#line 84 "CSSPropertyNames.gperf"
+#line 150 "CSSPropertyNames.gperf"
+ {"-webkit-background-clip", CSSPropertyWebkitBackgroundClip},
+#line 87 "CSSPropertyNames.gperf"
{"overflow", CSSPropertyOverflow},
-#line 30 "CSSPropertyNames.gperf"
+#line 108 "CSSPropertyNames.gperf"
+ {"text-decoration", CSSPropertyTextDecoration},
+#line 80 "CSSPropertyNames.gperf"
+ {"opacity", CSSPropertyOpacity},
+#line 32 "CSSPropertyNames.gperf"
{"border-right-color", CSSPropertyBorderRightColor},
-#line 162 "CSSPropertyNames.gperf"
+#line 165 "CSSPropertyNames.gperf"
{"-webkit-box-direction", CSSPropertyWebkitBoxDirection},
-#line 248 "CSSPropertyNames.gperf"
- {"stop-opacity", CSSPropertyStopOpacity},
-#line 104 "CSSPropertyNames.gperf"
+#line 92 "CSSPropertyNames.gperf"
+ {"padding-left", CSSPropertyPaddingLeft},
+#line 185 "CSSPropertyNames.gperf"
+ {"-webkit-font-size-delta", CSSPropertyWebkitFontSizeDelta},
+#line 36 "CSSPropertyNames.gperf"
+ {"border-style", CSSPropertyBorderStyle},
+#line 208 "CSSPropertyNames.gperf"
+ {"-webkit-mask-position-y", CSSPropertyWebkitMaskPositionY},
+#line 107 "CSSPropertyNames.gperf"
{"text-align", CSSPropertyTextAlign},
-#line 144 "CSSPropertyNames.gperf"
- {"-webkit-animation-timing-function", CSSPropertyWebkitAnimationTimingFunction},
-#line 253 "CSSPropertyNames.gperf"
+#line 23 "CSSPropertyNames.gperf"
+ {"border-bottom-style", CSSPropertyBorderBottomStyle},
+#line 156 "CSSPropertyNames.gperf"
+ {"-webkit-border-bottom-right-radius", CSSPropertyWebkitBorderBottomRightRadius},
+#line 142 "CSSPropertyNames.gperf"
+ {"-webkit-animation-delay", CSSPropertyWebkitAnimationDelay},
+#line 132 "CSSPropertyNames.gperf"
+ {"visibility", CSSPropertyVisibility},
+#line 255 "CSSPropertyNames.gperf"
{"fill", CSSPropertyFill},
-#line 196 "CSSPropertyNames.gperf"
- {"-webkit-marquee-style", CSSPropertyWebkitMarqueeStyle},
-#line 16 "CSSPropertyNames.gperf"
- {"background-position-y", CSSPropertyBackgroundPositionY},
-#line 11 "CSSPropertyNames.gperf"
- {"background-attachment", CSSPropertyBackgroundAttachment},
-#line 161 "CSSPropertyNames.gperf"
+#line 164 "CSSPropertyNames.gperf"
{"-webkit-box-align", CSSPropertyWebkitBoxAlign},
-#line 205 "CSSPropertyNames.gperf"
+#line 207 "CSSPropertyNames.gperf"
{"-webkit-mask-position-x", CSSPropertyWebkitMaskPositionX},
-#line 136 "CSSPropertyNames.gperf"
- {"z-index", CSSPropertyZIndex},
-#line 234 "CSSPropertyNames.gperf"
- {"-webkit-transition-timing-function", CSSPropertyWebkitTransitionTimingFunction},
-#line 64 "CSSPropertyNames.gperf"
- {"list-style", CSSPropertyListStyle},
-#line 168 "CSSPropertyNames.gperf"
- {"-webkit-box-pack", CSSPropertyWebkitBoxPack},
-#line 165 "CSSPropertyNames.gperf"
- {"-webkit-box-lines", CSSPropertyWebkitBoxLines},
-#line 228 "CSSPropertyNames.gperf"
- {"-webkit-transform-origin-z", CSSPropertyWebkitTransformOriginZ},
-#line 152 "CSSPropertyNames.gperf"
- {"-webkit-border-bottom-left-radius", CSSPropertyWebkitBorderBottomLeftRadius},
-#line 103 "CSSPropertyNames.gperf"
- {"table-layout", CSSPropertyTableLayout},
-#line 181 "CSSPropertyNames.gperf"
- {"-webkit-column-width", CSSPropertyWebkitColumnWidth},
-#line 65 "CSSPropertyNames.gperf"
- {"list-style-image", CSSPropertyListStyleImage},
-#line 113 "CSSPropertyNames.gperf"
+#line 270 "CSSPropertyNames.gperf"
+ {"stroke-opacity", CSSPropertyStrokeOpacity},
+#line 116 "CSSPropertyNames.gperf"
{"text-overline", CSSPropertyTextOverline},
-#line 120 "CSSPropertyNames.gperf"
- {"text-underline", CSSPropertyTextUnderline},
-#line 115 "CSSPropertyNames.gperf"
+#line 240 "CSSPropertyNames.gperf"
+ {"-webkit-variable-declaration-block", CSSPropertyWebkitVariableDeclarationBlock},
+#line 177 "CSSPropertyNames.gperf"
+ {"-webkit-column-count", CSSPropertyWebkitColumnCount},
+#line 118 "CSSPropertyNames.gperf"
{"text-overline-mode", CSSPropertyTextOverlineMode},
-#line 122 "CSSPropertyNames.gperf"
- {"text-underline-mode", CSSPropertyTextUnderlineMode},
-#line 82 "CSSPropertyNames.gperf"
- {"outline-style", CSSPropertyOutlineStyle},
-#line 239 "CSSPropertyNames.gperf"
+#line 171 "CSSPropertyNames.gperf"
+ {"-webkit-box-pack", CSSPropertyWebkitBoxPack},
+#line 168 "CSSPropertyNames.gperf"
+ {"-webkit-box-lines", CSSPropertyWebkitBoxLines},
+#line 233 "CSSPropertyNames.gperf"
+ {"-webkit-transition-delay", CSSPropertyWebkitTransitionDelay},
+#line 53 "CSSPropertyNames.gperf"
+ {"display", CSSPropertyDisplay},
+#line 86 "CSSPropertyNames.gperf"
+ {"outline-width", CSSPropertyOutlineWidth},
+#line 235 "CSSPropertyNames.gperf"
+ {"-webkit-transition-property", CSSPropertyWebkitTransitionProperty},
+#line 39 "CSSPropertyNames.gperf"
+ {"border-top-style", CSSPropertyBorderTopStyle},
+#line 179 "CSSPropertyNames.gperf"
+ {"-webkit-column-rule", CSSPropertyWebkitColumnRule},
+#line 162 "CSSPropertyNames.gperf"
+ {"-webkit-border-top-right-radius", CSSPropertyWebkitBorderTopRightRadius},
+#line 241 "CSSPropertyNames.gperf"
{"clip-path", CSSPropertyClipPath},
-#line 60 "CSSPropertyNames.gperf"
+#line 250 "CSSPropertyNames.gperf"
+ {"stop-opacity", CSSPropertyStopOpacity},
+#line 248 "CSSPropertyNames.gperf"
+ {"lighting-color", CSSPropertyLightingColor},
+#line 63 "CSSPropertyNames.gperf"
{"height", CSSPropertyHeight},
-#line 238 "CSSPropertyNames.gperf"
- {"-webkit-variable-declaration-block", CSSPropertyWebkitVariableDeclarationBlock},
-#line 75 "CSSPropertyNames.gperf"
+#line 78 "CSSPropertyNames.gperf"
{"min-height", CSSPropertyMinHeight},
-#line 171 "CSSPropertyNames.gperf"
- {"-webkit-box-sizing", CSSPropertyWebkitBoxSizing},
#line 246 "CSSPropertyNames.gperf"
- {"lighting-color", CSSPropertyLightingColor},
-#line 173 "CSSPropertyNames.gperf"
- {"-webkit-column-break-before", CSSPropertyWebkitColumnBreakBefore},
-#line 178 "CSSPropertyNames.gperf"
- {"-webkit-column-rule-color", CSSPropertyWebkitColumnRuleColor},
-#line 172 "CSSPropertyNames.gperf"
- {"-webkit-column-break-after", CSSPropertyWebkitColumnBreakAfter},
-#line 215 "CSSPropertyNames.gperf"
- {"-webkit-perspective-origin-y", CSSPropertyWebkitPerspectiveOriginY},
-#line 158 "CSSPropertyNames.gperf"
- {"-webkit-border-top-left-radius", CSSPropertyWebkitBorderTopLeftRadius},
-#line 244 "CSSPropertyNames.gperf"
{"flood-color", CSSPropertyFloodColor},
-#line 26 "CSSPropertyNames.gperf"
+#line 147 "CSSPropertyNames.gperf"
+ {"-webkit-animation-timing-function", CSSPropertyWebkitAnimationTimingFunction},
+#line 11 "CSSPropertyNames.gperf"
+ {"background-attachment", CSSPropertyBackgroundAttachment},
+#line 222 "CSSPropertyNames.gperf"
+ {"-webkit-text-size-adjust", CSSPropertyWebkitTextSizeAdjust},
+#line 67 "CSSPropertyNames.gperf"
+ {"list-style", CSSPropertyListStyle},
+#line 28 "CSSPropertyNames.gperf"
{"border-left-color", CSSPropertyBorderLeftColor},
-#line 32 "CSSPropertyNames.gperf"
+#line 158 "CSSPropertyNames.gperf"
+ {"-webkit-border-horizontal-spacing", CSSPropertyWebkitBorderHorizontalSpacing},
+#line 224 "CSSPropertyNames.gperf"
+ {"-webkit-text-stroke-color", CSSPropertyWebkitTextStrokeColor},
+#line 68 "CSSPropertyNames.gperf"
+ {"list-style-image", CSSPropertyListStyleImage},
+#line 34 "CSSPropertyNames.gperf"
{"border-right-width", CSSPropertyBorderRightWidth},
+#line 236 "CSSPropertyNames.gperf"
+ {"-webkit-transition-timing-function", CSSPropertyWebkitTransitionTimingFunction},
#line 183 "CSSPropertyNames.gperf"
- {"-webkit-font-size-delta", CSSPropertyWebkitFontSizeDelta},
-#line 15 "CSSPropertyNames.gperf"
- {"background-position-x", CSSPropertyBackgroundPositionX},
-#line 222 "CSSPropertyNames.gperf"
- {"-webkit-text-stroke-color", CSSPropertyWebkitTextStrokeColor},
-#line 59 "CSSPropertyNames.gperf"
+ {"-webkit-column-width", CSSPropertyWebkitColumnWidth},
+#line 155 "CSSPropertyNames.gperf"
+ {"-webkit-border-bottom-left-radius", CSSPropertyWebkitBorderBottomLeftRadius},
+#line 123 "CSSPropertyNames.gperf"
+ {"text-underline", CSSPropertyTextUnderline},
+#line 217 "CSSPropertyNames.gperf"
+ {"-webkit-perspective-origin-y", CSSPropertyWebkitPerspectiveOriginY},
+#line 125 "CSSPropertyNames.gperf"
+ {"text-underline-mode", CSSPropertyTextUnderlineMode},
+#line 62 "CSSPropertyNames.gperf"
{"font-weight", CSSPropertyFontWeight},
+#line 253 "CSSPropertyNames.gperf"
+ {"color-profile", CSSPropertyColorProfile},
+#line 216 "CSSPropertyNames.gperf"
+ {"-webkit-perspective-origin-x", CSSPropertyWebkitPerspectiveOriginX},
+#line 198 "CSSPropertyNames.gperf"
+ {"-webkit-marquee-style", CSSPropertyWebkitMarqueeStyle},
+#line 18 "CSSPropertyNames.gperf"
+ {"background-position-y", CSSPropertyBackgroundPositionY},
+#line 175 "CSSPropertyNames.gperf"
+ {"-webkit-column-break-before", CSSPropertyWebkitColumnBreakBefore},
+#line 174 "CSSPropertyNames.gperf"
+ {"-webkit-column-break-after", CSSPropertyWebkitColumnBreakAfter},
+#line 161 "CSSPropertyNames.gperf"
+ {"-webkit-border-top-left-radius", CSSPropertyWebkitBorderTopLeftRadius},
#line 66 "CSSPropertyNames.gperf"
+ {"line-height", CSSPropertyLineHeight},
+#line 69 "CSSPropertyNames.gperf"
{"list-style-position", CSSPropertyListStylePosition},
-#line 51 "CSSPropertyNames.gperf"
+#line 17 "CSSPropertyNames.gperf"
+ {"background-position-x", CSSPropertyBackgroundPositionX},
+#line 77 "CSSPropertyNames.gperf"
+ {"max-width", CSSPropertyMaxWidth},
+#line 106 "CSSPropertyNames.gperf"
+ {"table-layout", CSSPropertyTableLayout},
+#line 117 "CSSPropertyNames.gperf"
+ {"text-overline-color", CSSPropertyTextOverlineColor},
+#line 54 "CSSPropertyNames.gperf"
{"empty-cells", CSSPropertyEmptyCells},
-#line 166 "CSSPropertyNames.gperf"
+#line 169 "CSSPropertyNames.gperf"
{"-webkit-box-ordinal-group", CSSPropertyWebkitBoxOrdinalGroup},
-#line 263 "CSSPropertyNames.gperf"
- {"stroke-dasharray", CSSPropertyStrokeDasharray},
-#line 251 "CSSPropertyNames.gperf"
- {"color-profile", CSSPropertyColorProfile},
-#line 220 "CSSPropertyNames.gperf"
- {"-webkit-text-size-adjust", CSSPropertyWebkitTextSizeAdjust},
-#line 255 "CSSPropertyNames.gperf"
- {"fill-rule", CSSPropertyFillRule},
-#line 63 "CSSPropertyNames.gperf"
- {"line-height", CSSPropertyLineHeight},
-#line 227 "CSSPropertyNames.gperf"
- {"-webkit-transform-origin-y", CSSPropertyWebkitTransformOriginY},
-#line 74 "CSSPropertyNames.gperf"
- {"max-width", CSSPropertyMaxWidth},
-#line 214 "CSSPropertyNames.gperf"
- {"-webkit-perspective-origin-x", CSSPropertyWebkitPerspectiveOriginX},
-#line 236 "CSSPropertyNames.gperf"
- {"-webkit-user-modify", CSSPropertyWebkitUserModify},
-#line 56 "CSSPropertyNames.gperf"
+#line 85 "CSSPropertyNames.gperf"
+ {"outline-style", CSSPropertyOutlineStyle},
+#line 43 "CSSPropertyNames.gperf"
+ {"box-shadow", CSSPropertyBoxShadow},
+#line 121 "CSSPropertyNames.gperf"
+ {"text-shadow", CSSPropertyTextShadow},
+#line 59 "CSSPropertyNames.gperf"
{"font-stretch", CSSPropertyFontStretch},
#line 180 "CSSPropertyNames.gperf"
- {"-webkit-column-rule-width", CSSPropertyWebkitColumnRuleWidth},
-#line 118 "CSSPropertyNames.gperf"
- {"text-shadow", CSSPropertyTextShadow},
-#line 31 "CSSPropertyNames.gperf"
- {"border-right-style", CSSPropertyBorderRightStyle},
-#line 57 "CSSPropertyNames.gperf"
- {"font-style", CSSPropertyFontStyle},
-#line 28 "CSSPropertyNames.gperf"
+ {"-webkit-column-rule-color", CSSPropertyWebkitColumnRuleColor},
+#line 265 "CSSPropertyNames.gperf"
+ {"stroke-dasharray", CSSPropertyStrokeDasharray},
+#line 30 "CSSPropertyNames.gperf"
{"border-left-width", CSSPropertyBorderLeftWidth},
-#line 170 "CSSPropertyNames.gperf"
- {"-webkit-box-shadow", CSSPropertyWebkitBoxShadow},
-#line 114 "CSSPropertyNames.gperf"
- {"text-overline-color", CSSPropertyTextOverlineColor},
-#line 121 "CSSPropertyNames.gperf"
- {"text-underline-color", CSSPropertyTextUnderlineColor},
-#line 223 "CSSPropertyNames.gperf"
+#line 225 "CSSPropertyNames.gperf"
{"-webkit-text-stroke-width", CSSPropertyWebkitTextStrokeWidth},
-#line 119 "CSSPropertyNames.gperf"
+#line 257 "CSSPropertyNames.gperf"
+ {"fill-rule", CSSPropertyFillRule},
+#line 122 "CSSPropertyNames.gperf"
{"text-transform", CSSPropertyTextTransform},
-#line 155 "CSSPropertyNames.gperf"
- {"-webkit-border-horizontal-spacing", CSSPropertyWebkitBorderHorizontalSpacing},
-#line 277 "CSSPropertyNames.gperf"
+#line 279 "CSSPropertyNames.gperf"
{"text-anchor", CSSPropertyTextAnchor},
-#line 272 "CSSPropertyNames.gperf"
+#line 274 "CSSPropertyNames.gperf"
{"baseline-shift", CSSPropertyBaselineShift},
-#line 86 "CSSPropertyNames.gperf"
- {"overflow-y", CSSPropertyOverflowY},
-#line 226 "CSSPropertyNames.gperf"
- {"-webkit-transform-origin-x", CSSPropertyWebkitTransformOriginX},
#line 229 "CSSPropertyNames.gperf"
- {"-webkit-transform-style", CSSPropertyWebkitTransformStyle},
-#line 81 "CSSPropertyNames.gperf"
- {"outline-offset", CSSPropertyOutlineOffset},
-#line 250 "CSSPropertyNames.gperf"
+ {"-webkit-transform-origin-y", CSSPropertyWebkitTransformOriginY},
+#line 228 "CSSPropertyNames.gperf"
+ {"-webkit-transform-origin-x", CSSPropertyWebkitTransformOriginX},
+#line 33 "CSSPropertyNames.gperf"
+ {"border-right-style", CSSPropertyBorderRightStyle},
+#line 252 "CSSPropertyNames.gperf"
{"color-interpolation-filters", CSSPropertyColorInterpolationFilters},
-#line 179 "CSSPropertyNames.gperf"
- {"-webkit-column-rule-style", CSSPropertyWebkitColumnRuleStyle},
-#line 245 "CSSPropertyNames.gperf"
- {"flood-opacity", CSSPropertyFloodOpacity},
-#line 27 "CSSPropertyNames.gperf"
- {"border-left-style", CSSPropertyBorderLeftStyle},
-#line 219 "CSSPropertyNames.gperf"
- {"-webkit-text-security", CSSPropertyWebkitTextSecurity},
-#line 117 "CSSPropertyNames.gperf"
- {"text-overline-width", CSSPropertyTextOverlineWidth},
#line 124 "CSSPropertyNames.gperf"
- {"text-underline-width", CSSPropertyTextUnderlineWidth},
-#line 85 "CSSPropertyNames.gperf"
+ {"text-underline-color", CSSPropertyTextUnderlineColor},
+#line 60 "CSSPropertyNames.gperf"
+ {"font-style", CSSPropertyFontStyle},
+#line 120 "CSSPropertyNames.gperf"
+ {"text-overline-width", CSSPropertyTextOverlineWidth},
+#line 89 "CSSPropertyNames.gperf"
+ {"overflow-y", CSSPropertyOverflowY},
+#line 88 "CSSPropertyNames.gperf"
{"overflow-x", CSSPropertyOverflowX},
-#line 112 "CSSPropertyNames.gperf"
+#line 115 "CSSPropertyNames.gperf"
{"text-overflow", CSSPropertyTextOverflow},
-#line 67 "CSSPropertyNames.gperf"
- {"list-style-type", CSSPropertyListStyleType},
-#line 169 "CSSPropertyNames.gperf"
+#line 182 "CSSPropertyNames.gperf"
+ {"-webkit-column-rule-width", CSSPropertyWebkitColumnRuleWidth},
+#line 238 "CSSPropertyNames.gperf"
+ {"-webkit-user-modify", CSSPropertyWebkitUserModify},
+#line 231 "CSSPropertyNames.gperf"
+ {"-webkit-transform-style", CSSPropertyWebkitTransformStyle},
+#line 172 "CSSPropertyNames.gperf"
{"-webkit-box-reflect", CSSPropertyWebkitBoxReflect},
-#line 254 "CSSPropertyNames.gperf"
- {"fill-opacity", CSSPropertyFillOpacity},
-#line 146 "CSSPropertyNames.gperf"
- {"-webkit-backface-visibility", CSSPropertyWebkitBackfaceVisibility},
-#line 73 "CSSPropertyNames.gperf"
+#line 84 "CSSPropertyNames.gperf"
+ {"outline-offset", CSSPropertyOutlineOffset},
+#line 247 "CSSPropertyNames.gperf"
+ {"flood-opacity", CSSPropertyFloodOpacity},
+#line 29 "CSSPropertyNames.gperf"
+ {"border-left-style", CSSPropertyBorderLeftStyle},
+#line 127 "CSSPropertyNames.gperf"
+ {"text-underline-width", CSSPropertyTextUnderlineWidth},
+#line 76 "CSSPropertyNames.gperf"
{"max-height", CSSPropertyMaxHeight},
-#line 116 "CSSPropertyNames.gperf"
+#line 186 "CSSPropertyNames.gperf"
+ {"-webkit-highlight", CSSPropertyWebkitHighlight},
+#line 221 "CSSPropertyNames.gperf"
+ {"-webkit-text-security", CSSPropertyWebkitTextSecurity},
+#line 256 "CSSPropertyNames.gperf"
+ {"fill-opacity", CSSPropertyFillOpacity},
+#line 119 "CSSPropertyNames.gperf"
{"text-overline-style", CSSPropertyTextOverlineStyle},
-#line 123 "CSSPropertyNames.gperf"
- {"text-underline-style", CSSPropertyTextUnderlineStyle},
-#line 209 "CSSPropertyNames.gperf"
+#line 149 "CSSPropertyNames.gperf"
+ {"-webkit-backface-visibility", CSSPropertyWebkitBackfaceVisibility},
+#line 70 "CSSPropertyNames.gperf"
+ {"list-style-type", CSSPropertyListStyleType},
+#line 266 "CSSPropertyNames.gperf"
+ {"stroke-dashoffset", CSSPropertyStrokeDashoffset},
+#line 211 "CSSPropertyNames.gperf"
{"-webkit-match-nearest-mail-blockquote-color", CSSPropertyWebkitMatchNearestMailBlockquoteColor},
-#line 184 "CSSPropertyNames.gperf"
- {"-webkit-highlight", CSSPropertyWebkitHighlight},
-#line 275 "CSSPropertyNames.gperf"
+#line 181 "CSSPropertyNames.gperf"
+ {"-webkit-column-rule-style", CSSPropertyWebkitColumnRuleStyle},
+#line 277 "CSSPropertyNames.gperf"
{"glyph-orientation-vertical", CSSPropertyGlyphOrientationVertical},
-#line 264 "CSSPropertyNames.gperf"
- {"stroke-dashoffset", CSSPropertyStrokeDashoffset},
-#line 54 "CSSPropertyNames.gperf"
- {"font-family", CSSPropertyFontFamily},
-#line 218 "CSSPropertyNames.gperf"
+#line 220 "CSSPropertyNames.gperf"
{"-webkit-text-fill-color", CSSPropertyWebkitTextFillColor},
-#line 107 "CSSPropertyNames.gperf"
+#line 126 "CSSPropertyNames.gperf"
+ {"text-underline-style", CSSPropertyTextUnderlineStyle},
+#line 57 "CSSPropertyNames.gperf"
+ {"font-family", CSSPropertyFontFamily},
+#line 110 "CSSPropertyNames.gperf"
{"text-line-through", CSSPropertyTextLineThrough},
-#line 109 "CSSPropertyNames.gperf"
- {"text-line-through-mode", CSSPropertyTextLineThroughMode},
-#line 163 "CSSPropertyNames.gperf"
+#line 166 "CSSPropertyNames.gperf"
{"-webkit-box-flex", CSSPropertyWebkitBoxFlex},
-#line 217 "CSSPropertyNames.gperf"
- {"-webkit-text-decorations-in-effect", CSSPropertyWebkitTextDecorationsInEffect},
-#line 274 "CSSPropertyNames.gperf"
+#line 112 "CSSPropertyNames.gperf"
+ {"text-line-through-mode", CSSPropertyTextLineThroughMode},
+#line 276 "CSSPropertyNames.gperf"
{"glyph-orientation-horizontal", CSSPropertyGlyphOrientationHorizontal},
-#line 108 "CSSPropertyNames.gperf"
+#line 219 "CSSPropertyNames.gperf"
+ {"-webkit-text-decorations-in-effect", CSSPropertyWebkitTextDecorationsInEffect},
+#line 111 "CSSPropertyNames.gperf"
{"text-line-through-color", CSSPropertyTextLineThroughColor},
-#line 164 "CSSPropertyNames.gperf"
+#line 167 "CSSPropertyNames.gperf"
{"-webkit-box-flex-group", CSSPropertyWebkitBoxFlexGroup},
-#line 111 "CSSPropertyNames.gperf"
+#line 114 "CSSPropertyNames.gperf"
{"text-line-through-width", CSSPropertyTextLineThroughWidth},
-#line 110 "CSSPropertyNames.gperf"
+#line 113 "CSSPropertyNames.gperf"
{"text-line-through-style", CSSPropertyTextLineThroughStyle}
};
static const short lookup[] =
{
-1, -1, -1, -1, -1, -1, 0, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 1, -1, -1, -1,
- -1, 2, -1, 3, -1, 4, 5, 6, -1, -1,
- 7, -1, -1, 8, 9, -1, 10, -1, -1, -1,
- 11, -1, 12, -1, -1, 13, -1, -1, -1, -1,
- 14, -1, 15, -1, -1, 16, -1, 17, 18, -1,
- -1, 19, 20, -1, -1, -1, -1, 21, -1, 22,
- -1, -1, -1, 23, -1, 24, -1, 25, 26, 27,
- -1, -1, -1, -1, 28, 29, -1, -1, -1, -1,
- 30, -1, 31, 32, 33, -1, -1, -1, -1, -1,
- -1, 34, -1, -1, -1, -1, -1, -1, 35, 36,
- 37, -1, -1, -1, -1, -1, -1, 38, -1, -1,
- -1, -1, 39, -1, -1, -1, 40, 41, -1, 42,
- -1, 43, -1, -1, -1, -1, 44, -1, -1, -1,
- -1, 45, 46, -1, -1, -1, -1, 47, -1, 48,
- -1, 49, 50, 51, -1, 52, -1, 53, -1, -1,
- 54, -1, -1, 55, 56, 57, 58, 59, -1, -1,
- -1, 60, 61, -1, 62, -1, -1, 63, 64, -1,
- -1, 65, -1, -1, -1, -1, 66, -1, -1, -1,
- 67, -1, -1, -1, 68, 69, 70, -1, -1, -1,
- 71, -1, 72, -1, -1, 73, -1, 74, -1, -1,
- 75, -1, -1, 76, 77, -1, -1, -1, -1, -1,
- -1, -1, 78, -1, -1, 79, -1, 80, -1, -1,
- -1, -1, 81, -1, -1, -1, -1, -1, -1, 82,
- -1, -1, 83, 84, -1, -1, -1, -1, -1, 85,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 86, -1, -1, -1,
- -1, -1, -1, -1, -1, 87, -1, 88, -1, -1,
- -1, -1, -1, 89, -1, -1, -1, -1, -1, 90,
- 91, -1, -1, -1, 92, -1, -1, 93, -1, -1,
- -1, -1, -1, -1, 94, -1, -1, -1, -1, -1,
- 95, -1, -1, -1, -1, 96, -1, 97, -1, 98,
- -1, -1, -1, -1, 99, -1, 100, 101, -1, -1,
- -1, -1, 102, 103, 104, -1, -1, 105, -1, 106,
- -1, -1, -1, 107, -1, -1, 108, -1, -1, -1,
- -1, -1, 109, 110, -1, -1, -1, -1, 111, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 112, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 113,
- -1, -1, -1, 114, 115, -1, -1, -1, 116, -1,
- -1, 117, -1, -1, -1, 118, -1, 119, -1, -1,
- 120, -1, 121, -1, 122, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 123, 124, -1,
- 125, 126, 127, -1, 128, -1, 129, -1, 130, 131,
- -1, -1, -1, -1, 132, 133, -1, 134, -1, 135,
- 136, 137, -1, 138, -1, -1, -1, 139, 140, 141,
- -1, 142, -1, 143, 144, -1, -1, -1, -1, -1,
- -1, 145, -1, 146, 147, -1, -1, -1, -1, -1,
- -1, 148, -1, -1, 149, -1, -1, 150, -1, -1,
- -1, 151, -1, 152, -1, -1, -1, 153, -1, 154,
- 155, -1, 156, -1, -1, -1, -1, -1, -1, -1,
- -1, 157, 158, -1, -1, 159, 160, -1, -1, 161,
- -1, -1, 162, 163, -1, -1, -1, -1, 164, -1,
- -1, 165, 166, -1, -1, -1, -1, -1, -1, -1,
- 167, -1, -1, -1, -1, -1, -1, -1, 168, 169,
- -1, 170, -1, -1, -1, -1, 171, -1, -1, -1,
- -1, 172, 173, 174, -1, -1, -1, 175, -1, -1,
- -1, -1, -1, -1, 176, 177, 178, 179, -1, -1,
- -1, 180, -1, 181, -1, -1, -1, 182, -1, -1,
- 183, 184, -1, 185, 186, -1, -1, -1, 187, 188,
- -1, -1, -1, -1, -1, -1, -1, -1, 189, 190,
- -1, 191, -1, -1, 192, -1, -1, -1, -1, -1,
- 193, -1, -1, 194, 195, -1, -1, 196, -1, -1,
- 197, 198, -1, 199, -1, 200, 201, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 202, 203, -1, -1, -1, -1, 204, -1,
- -1, 205, -1, -1, -1, 206, 207, -1, -1, 208,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 209, -1, -1, -1, 210, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 211, -1, 212, 213,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 214, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 215, -1, -1, -1,
- -1, 216, -1, -1, 217, -1, -1, -1, 218, -1,
- -1, -1, -1, -1, 219, -1, -1, -1, -1, -1,
- -1, -1, 220, -1, -1, 221, -1, -1, -1, -1,
- -1, 222, -1, -1, -1, -1, -1, -1, 223, -1,
- -1, -1, -1, -1, -1, 224, -1, 225, -1, -1,
- -1, -1, -1, 226, 227, 228, -1, -1, -1, -1,
- 229, -1, -1, -1, 230, -1, -1, -1, 231, -1,
- -1, -1, -1, -1, -1, -1, 232, -1, -1, 233,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 234, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 235, -1, -1, -1,
- -1, -1, -1, 236, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 237,
- -1, -1, 238, -1, -1, -1, -1, -1, -1, -1,
- 239, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 240, -1, -1, -1, -1, -1, -1,
- -1, -1, 241, -1, -1, -1, 242, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 243,
- 244, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 245, -1, -1, 246, -1,
- 247, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 1, -1, 2, -1, -1, -1,
+ -1, 3, -1, 4, -1, 5, 6, 7, -1, -1,
+ 8, -1, -1, 9, 10, -1, 11, -1, -1, 12,
+ 13, -1, 14, -1, -1, 15, 16, -1, -1, -1,
+ 17, -1, 18, -1, -1, 19, -1, 20, 21, -1,
+ -1, 22, 23, -1, -1, -1, -1, 24, -1, 25,
+ -1, -1, -1, 26, -1, 27, -1, 28, 29, 30,
+ -1, -1, -1, -1, 31, 32, -1, -1, -1, -1,
+ 33, -1, 34, 35, 36, -1, -1, 37, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 38, 39,
+ -1, -1, -1, -1, -1, -1, -1, 40, -1, -1,
+ -1, -1, 41, -1, -1, -1, -1, -1, -1, 42,
+ -1, -1, -1, -1, -1, -1, 43, -1, -1, 44,
+ -1, 45, -1, -1, -1, -1, -1, 46, -1, -1,
+ -1, 47, -1, 48, -1, -1, -1, 49, -1, -1,
+ 50, -1, -1, -1, -1, 51, -1, -1, -1, -1,
+ -1, -1, 52, -1, -1, -1, -1, 53, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 54, 55, -1, -1, 56, 57, -1, -1, -1, -1,
+ 58, -1, 59, -1, -1, -1, -1, 60, -1, -1,
+ -1, -1, -1, -1, 61, -1, 62, 63, -1, -1,
+ -1, 64, 65, -1, -1, 66, -1, -1, -1, -1,
+ -1, -1, 67, -1, -1, -1, -1, -1, -1, 68,
+ -1, -1, 69, 70, -1, 71, -1, -1, -1, -1,
+ -1, -1, -1, 72, -1, -1, 73, 74, -1, -1,
+ -1, 75, -1, -1, -1, -1, 76, 77, 78, -1,
+ -1, -1, -1, -1, -1, 79, 80, -1, -1, 81,
+ -1, -1, -1, 82, -1, -1, 83, -1, -1, 84,
+ 85, -1, -1, -1, 86, 87, -1, 88, -1, -1,
+ 89, 90, -1, 91, -1, -1, -1, -1, 92, -1,
+ -1, -1, -1, -1, -1, -1, -1, 93, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 248, -1, -1, -1, -1, -1,
+ 94, -1, 95, -1, -1, 96, -1, -1, -1, 97,
+ -1, -1, -1, -1, 98, -1, -1, 99, -1, -1,
+ -1, -1, 100, -1, 101, -1, -1, 102, -1, 103,
+ -1, -1, -1, -1, 104, -1, -1, 105, -1, -1,
+ -1, -1, 106, -1, -1, -1, -1, -1, -1, -1,
+ 107, -1, -1, 108, 109, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 110, -1, -1, 111, -1,
+ -1, -1, -1, -1, 112, -1, -1, 113, 114, 115,
+ -1, 116, -1, -1, -1, -1, -1, 117, -1, -1,
+ -1, -1, 118, 119, -1, -1, -1, -1, 120, -1,
+ -1, -1, 121, 122, -1, 123, 124, -1, -1, -1,
+ 125, 126, 127, -1, -1, -1, 128, -1, 129, -1,
+ -1, -1, 130, -1, 131, -1, 132, -1, -1, 133,
+ -1, -1, -1, 134, 135, -1, 136, -1, -1, -1,
+ 137, 138, -1, 139, -1, -1, -1, -1, -1, -1,
+ -1, 140, -1, -1, 141, 142, -1, 143, -1, -1,
+ -1, 144, -1, -1, 145, -1, -1, 146, 147, -1,
+ -1, 148, -1, -1, -1, -1, -1, -1, 149, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 150, -1,
+ -1, -1, -1, -1, -1, 151, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 152, 153, -1,
+ -1, 154, 155, 156, -1, -1, -1, 157, 158, -1,
+ 159, -1, -1, -1, 160, -1, -1, -1, -1, 161,
+ -1, -1, -1, 162, -1, 163, -1, -1, -1, 164,
+ -1, -1, 165, 166, 167, -1, -1, -1, 168, 169,
+ 170, -1, -1, 171, -1, -1, 172, 173, -1, 174,
+ -1, -1, 175, 176, -1, -1, -1, -1, -1, -1,
+ -1, -1, 177, -1, -1, -1, 178, -1, -1, 179,
+ -1, 180, -1, -1, -1, -1, -1, -1, -1, 181,
+ -1, -1, 182, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 183, -1, -1, -1, -1, -1,
+ -1, 184, -1, -1, -1, -1, -1, -1, -1, -1,
+ 185, -1, -1, -1, -1, -1, 186, -1, 187, -1,
+ -1, 188, -1, -1, 189, 190, -1, -1, -1, -1,
+ -1, -1, 191, 192, -1, 193, -1, -1, -1, -1,
+ -1, 194, -1, 195, 196, -1, -1, -1, -1, -1,
+ 197, -1, -1, 198, 199, -1, -1, -1, 200, 201,
+ -1, -1, -1, -1, -1, -1, 202, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 203, -1,
+ -1, -1, -1, 204, -1, -1, -1, -1, -1, -1,
+ -1, 205, -1, -1, -1, -1, 206, 207, -1, -1,
+ -1, 208, -1, -1, -1, 209, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 210, -1, -1, 211,
+ -1, 212, -1, -1, 213, -1, -1, 214, -1, 215,
+ -1, 216, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 217, -1, -1, 218, -1,
+ 219, 220, 221, -1, -1, -1, -1, -1, -1, -1,
+ 222, -1, -1, -1, -1, -1, 223, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 224, -1, -1,
+ 225, -1, -1, -1, 226, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 227, -1, 228, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 229,
+ -1, 230, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 231, -1, 232, -1,
+ -1, -1, 233, -1, -1, 234, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 235, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 249, -1, -1,
+ -1, -1, -1, -1, 236, 237, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 250, -1, -1,
- 251, -1, -1, -1, 252, 253, -1, -1, 254, -1,
+ 238, -1, -1, 239, -1, 240, -1, -1, -1, -1,
+ -1, -1, -1, -1, 241, -1, -1, -1, -1, -1,
+ -1, -1, -1, 242, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 255, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 256, 257, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 243, -1, -1, -1, -1, 244,
+ -1, -1, -1, 245, -1, -1, -1, -1, -1, -1,
+ -1, -1, 246, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 247, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 258, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 248, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 249, -1, -1, -1, 250, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 251, -1, 252,
+ -1, -1, 253, -1, -1, -1, -1, -1, -1, -1,
+ 254, -1, -1, -1, -1, -1, -1, 255, 256, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 257, 258, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
@@ -894,30 +903,39 @@ findProp (register const char *str, register unsigned int len)
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 259, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 260, -1, -1,
- -1, -1, 261, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 260, -1, -1, -1, -1,
+ -1, 261, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 262, -1, -1,
+ -1, 263, 264, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 265, -1,
+ -1, -1, -1, -1, 266, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 262, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 263, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 264, -1, -1, -1, -1, 265, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 266, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 267, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 268, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
@@ -926,10 +944,10 @@ findProp (register const char *str, register unsigned int len)
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 267, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 269, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
@@ -937,7 +955,18 @@ findProp (register const char *str, register unsigned int len)
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 268
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 270
};
if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
@@ -959,13 +988,15 @@ findProp (register const char *str, register unsigned int len)
}
return 0;
}
-#line 279 "CSSPropertyNames.gperf"
+#line 281 "CSSPropertyNames.gperf"
-static const char * const propertyNameStrings[269] = {
+static const char * const propertyNameStrings[271] = {
"background",
"background-attachment",
+"background-clip",
"background-color",
"background-image",
+"background-origin",
"background-position",
"background-position-x",
"background-position-y",
@@ -993,6 +1024,7 @@ static const char * const propertyNameStrings[269] = {
"border-top-width",
"border-width",
"bottom",
+"box-shadow",
"caption-side",
"clear",
"clip",
@@ -1122,7 +1154,6 @@ static const char * const propertyNameStrings[269] = {
"-webkit-box-orient",
"-webkit-box-pack",
"-webkit-box-reflect",
-"-webkit-box-shadow",
"-webkit-box-sizing",
"-webkit-column-break-after",
"-webkit-column-break-before",
diff --git a/src/3rdparty/webkit/WebCore/generated/CSSPropertyNames.h b/src/3rdparty/webkit/WebCore/generated/CSSPropertyNames.h
index aaddf05..cc3627d 100644
--- a/src/3rdparty/webkit/WebCore/generated/CSSPropertyNames.h
+++ b/src/3rdparty/webkit/WebCore/generated/CSSPropertyNames.h
@@ -7,277 +7,279 @@ enum CSSPropertyID {
CSSPropertyInvalid = 0,
CSSPropertyBackground = 1001,
CSSPropertyBackgroundAttachment = 1002,
- CSSPropertyBackgroundColor = 1003,
- CSSPropertyBackgroundImage = 1004,
- CSSPropertyBackgroundPosition = 1005,
- CSSPropertyBackgroundPositionX = 1006,
- CSSPropertyBackgroundPositionY = 1007,
- CSSPropertyBackgroundRepeat = 1008,
- CSSPropertyBorder = 1009,
- CSSPropertyBorderBottom = 1010,
- CSSPropertyBorderBottomColor = 1011,
- CSSPropertyBorderBottomStyle = 1012,
- CSSPropertyBorderBottomWidth = 1013,
- CSSPropertyBorderCollapse = 1014,
- CSSPropertyBorderColor = 1015,
- CSSPropertyBorderLeft = 1016,
- CSSPropertyBorderLeftColor = 1017,
- CSSPropertyBorderLeftStyle = 1018,
- CSSPropertyBorderLeftWidth = 1019,
- CSSPropertyBorderRight = 1020,
- CSSPropertyBorderRightColor = 1021,
- CSSPropertyBorderRightStyle = 1022,
- CSSPropertyBorderRightWidth = 1023,
- CSSPropertyBorderSpacing = 1024,
- CSSPropertyBorderStyle = 1025,
- CSSPropertyBorderTop = 1026,
- CSSPropertyBorderTopColor = 1027,
- CSSPropertyBorderTopStyle = 1028,
- CSSPropertyBorderTopWidth = 1029,
- CSSPropertyBorderWidth = 1030,
- CSSPropertyBottom = 1031,
- CSSPropertyCaptionSide = 1032,
- CSSPropertyClear = 1033,
- CSSPropertyClip = 1034,
- CSSPropertyColor = 1035,
- CSSPropertyContent = 1036,
- CSSPropertyCounterIncrement = 1037,
- CSSPropertyCounterReset = 1038,
- CSSPropertyCursor = 1039,
- CSSPropertyDirection = 1040,
- CSSPropertyDisplay = 1041,
- CSSPropertyEmptyCells = 1042,
- CSSPropertyFloat = 1043,
- CSSPropertyFont = 1044,
- CSSPropertyFontFamily = 1045,
- CSSPropertyFontSize = 1046,
- CSSPropertyFontStretch = 1047,
- CSSPropertyFontStyle = 1048,
- CSSPropertyFontVariant = 1049,
- CSSPropertyFontWeight = 1050,
- CSSPropertyHeight = 1051,
- CSSPropertyLeft = 1052,
- CSSPropertyLetterSpacing = 1053,
- CSSPropertyLineHeight = 1054,
- CSSPropertyListStyle = 1055,
- CSSPropertyListStyleImage = 1056,
- CSSPropertyListStylePosition = 1057,
- CSSPropertyListStyleType = 1058,
- CSSPropertyMargin = 1059,
- CSSPropertyMarginBottom = 1060,
- CSSPropertyMarginLeft = 1061,
- CSSPropertyMarginRight = 1062,
- CSSPropertyMarginTop = 1063,
- CSSPropertyMaxHeight = 1064,
- CSSPropertyMaxWidth = 1065,
- CSSPropertyMinHeight = 1066,
- CSSPropertyMinWidth = 1067,
- CSSPropertyOpacity = 1068,
- CSSPropertyOrphans = 1069,
- CSSPropertyOutline = 1070,
- CSSPropertyOutlineColor = 1071,
- CSSPropertyOutlineOffset = 1072,
- CSSPropertyOutlineStyle = 1073,
- CSSPropertyOutlineWidth = 1074,
- CSSPropertyOverflow = 1075,
- CSSPropertyOverflowX = 1076,
- CSSPropertyOverflowY = 1077,
- CSSPropertyPadding = 1078,
- CSSPropertyPaddingBottom = 1079,
- CSSPropertyPaddingLeft = 1080,
- CSSPropertyPaddingRight = 1081,
- CSSPropertyPaddingTop = 1082,
- CSSPropertyPage = 1083,
- CSSPropertyPageBreakAfter = 1084,
- CSSPropertyPageBreakBefore = 1085,
- CSSPropertyPageBreakInside = 1086,
- CSSPropertyPointerEvents = 1087,
- CSSPropertyPosition = 1088,
- CSSPropertyQuotes = 1089,
- CSSPropertyResize = 1090,
- CSSPropertyRight = 1091,
- CSSPropertySize = 1092,
- CSSPropertySrc = 1093,
- CSSPropertyTableLayout = 1094,
- CSSPropertyTextAlign = 1095,
- CSSPropertyTextDecoration = 1096,
- CSSPropertyTextIndent = 1097,
- CSSPropertyTextLineThrough = 1098,
- CSSPropertyTextLineThroughColor = 1099,
- CSSPropertyTextLineThroughMode = 1100,
- CSSPropertyTextLineThroughStyle = 1101,
- CSSPropertyTextLineThroughWidth = 1102,
- CSSPropertyTextOverflow = 1103,
- CSSPropertyTextOverline = 1104,
- CSSPropertyTextOverlineColor = 1105,
- CSSPropertyTextOverlineMode = 1106,
- CSSPropertyTextOverlineStyle = 1107,
- CSSPropertyTextOverlineWidth = 1108,
- CSSPropertyTextShadow = 1109,
- CSSPropertyTextTransform = 1110,
- CSSPropertyTextUnderline = 1111,
- CSSPropertyTextUnderlineColor = 1112,
- CSSPropertyTextUnderlineMode = 1113,
- CSSPropertyTextUnderlineStyle = 1114,
- CSSPropertyTextUnderlineWidth = 1115,
- CSSPropertyTop = 1116,
- CSSPropertyUnicodeBidi = 1117,
- CSSPropertyUnicodeRange = 1118,
- CSSPropertyVerticalAlign = 1119,
- CSSPropertyVisibility = 1120,
- CSSPropertyWhiteSpace = 1121,
- CSSPropertyWidows = 1122,
- CSSPropertyWidth = 1123,
- CSSPropertyWordBreak = 1124,
- CSSPropertyWordSpacing = 1125,
- CSSPropertyWordWrap = 1126,
- CSSPropertyZIndex = 1127,
- CSSPropertyZoom = 1128,
- CSSPropertyWebkitAnimation = 1129,
- CSSPropertyWebkitAnimationDelay = 1130,
- CSSPropertyWebkitAnimationDirection = 1131,
- CSSPropertyWebkitAnimationDuration = 1132,
- CSSPropertyWebkitAnimationIterationCount = 1133,
- CSSPropertyWebkitAnimationName = 1134,
- CSSPropertyWebkitAnimationTimingFunction = 1135,
- CSSPropertyWebkitAppearance = 1136,
- CSSPropertyWebkitBackfaceVisibility = 1137,
- CSSPropertyWebkitBackgroundClip = 1138,
- CSSPropertyWebkitBackgroundComposite = 1139,
- CSSPropertyWebkitBackgroundOrigin = 1140,
- CSSPropertyWebkitBackgroundSize = 1141,
- CSSPropertyWebkitBinding = 1142,
- CSSPropertyWebkitBorderBottomLeftRadius = 1143,
- CSSPropertyWebkitBorderBottomRightRadius = 1144,
- CSSPropertyWebkitBorderFit = 1145,
- CSSPropertyWebkitBorderHorizontalSpacing = 1146,
- CSSPropertyWebkitBorderImage = 1147,
- CSSPropertyWebkitBorderRadius = 1148,
- CSSPropertyWebkitBorderTopLeftRadius = 1149,
- CSSPropertyWebkitBorderTopRightRadius = 1150,
- CSSPropertyWebkitBorderVerticalSpacing = 1151,
- CSSPropertyWebkitBoxAlign = 1152,
- CSSPropertyWebkitBoxDirection = 1153,
- CSSPropertyWebkitBoxFlex = 1154,
- CSSPropertyWebkitBoxFlexGroup = 1155,
- CSSPropertyWebkitBoxLines = 1156,
- CSSPropertyWebkitBoxOrdinalGroup = 1157,
- CSSPropertyWebkitBoxOrient = 1158,
- CSSPropertyWebkitBoxPack = 1159,
- CSSPropertyWebkitBoxReflect = 1160,
- CSSPropertyWebkitBoxShadow = 1161,
- CSSPropertyWebkitBoxSizing = 1162,
- CSSPropertyWebkitColumnBreakAfter = 1163,
- CSSPropertyWebkitColumnBreakBefore = 1164,
- CSSPropertyWebkitColumnBreakInside = 1165,
- CSSPropertyWebkitColumnCount = 1166,
- CSSPropertyWebkitColumnGap = 1167,
- CSSPropertyWebkitColumnRule = 1168,
- CSSPropertyWebkitColumnRuleColor = 1169,
- CSSPropertyWebkitColumnRuleStyle = 1170,
- CSSPropertyWebkitColumnRuleWidth = 1171,
- CSSPropertyWebkitColumnWidth = 1172,
- CSSPropertyWebkitColumns = 1173,
- CSSPropertyWebkitFontSizeDelta = 1174,
- CSSPropertyWebkitHighlight = 1175,
- CSSPropertyWebkitLineBreak = 1176,
- CSSPropertyWebkitLineClamp = 1177,
- CSSPropertyWebkitMarginBottomCollapse = 1178,
- CSSPropertyWebkitMarginCollapse = 1179,
- CSSPropertyWebkitMarginStart = 1180,
- CSSPropertyWebkitMarginTopCollapse = 1181,
- CSSPropertyWebkitMarquee = 1182,
- CSSPropertyWebkitMarqueeDirection = 1183,
- CSSPropertyWebkitMarqueeIncrement = 1184,
- CSSPropertyWebkitMarqueeRepetition = 1185,
- CSSPropertyWebkitMarqueeSpeed = 1186,
- CSSPropertyWebkitMarqueeStyle = 1187,
- CSSPropertyWebkitMask = 1188,
- CSSPropertyWebkitMaskAttachment = 1189,
- CSSPropertyWebkitMaskBoxImage = 1190,
- CSSPropertyWebkitMaskClip = 1191,
- CSSPropertyWebkitMaskComposite = 1192,
- CSSPropertyWebkitMaskImage = 1193,
- CSSPropertyWebkitMaskOrigin = 1194,
- CSSPropertyWebkitMaskPosition = 1195,
- CSSPropertyWebkitMaskPositionX = 1196,
- CSSPropertyWebkitMaskPositionY = 1197,
- CSSPropertyWebkitMaskRepeat = 1198,
- CSSPropertyWebkitMaskSize = 1199,
- CSSPropertyWebkitMatchNearestMailBlockquoteColor = 1200,
- CSSPropertyWebkitNbspMode = 1201,
- CSSPropertyWebkitPaddingStart = 1202,
- CSSPropertyWebkitPerspective = 1203,
- CSSPropertyWebkitPerspectiveOrigin = 1204,
- CSSPropertyWebkitPerspectiveOriginX = 1205,
- CSSPropertyWebkitPerspectiveOriginY = 1206,
- CSSPropertyWebkitRtlOrdering = 1207,
- CSSPropertyWebkitTextDecorationsInEffect = 1208,
- CSSPropertyWebkitTextFillColor = 1209,
- CSSPropertyWebkitTextSecurity = 1210,
- CSSPropertyWebkitTextSizeAdjust = 1211,
- CSSPropertyWebkitTextStroke = 1212,
- CSSPropertyWebkitTextStrokeColor = 1213,
- CSSPropertyWebkitTextStrokeWidth = 1214,
- CSSPropertyWebkitTransform = 1215,
- CSSPropertyWebkitTransformOrigin = 1216,
- CSSPropertyWebkitTransformOriginX = 1217,
- CSSPropertyWebkitTransformOriginY = 1218,
- CSSPropertyWebkitTransformOriginZ = 1219,
- CSSPropertyWebkitTransformStyle = 1220,
- CSSPropertyWebkitTransition = 1221,
- CSSPropertyWebkitTransitionDelay = 1222,
- CSSPropertyWebkitTransitionDuration = 1223,
- CSSPropertyWebkitTransitionProperty = 1224,
- CSSPropertyWebkitTransitionTimingFunction = 1225,
- CSSPropertyWebkitUserDrag = 1226,
- CSSPropertyWebkitUserModify = 1227,
- CSSPropertyWebkitUserSelect = 1228,
- CSSPropertyWebkitVariableDeclarationBlock = 1229,
- CSSPropertyClipPath = 1230,
- CSSPropertyClipRule = 1231,
- CSSPropertyMask = 1232,
- CSSPropertyEnableBackground = 1233,
- CSSPropertyFilter = 1234,
- CSSPropertyFloodColor = 1235,
- CSSPropertyFloodOpacity = 1236,
- CSSPropertyLightingColor = 1237,
- CSSPropertyStopColor = 1238,
- CSSPropertyStopOpacity = 1239,
- CSSPropertyColorInterpolation = 1240,
- CSSPropertyColorInterpolationFilters = 1241,
- CSSPropertyColorProfile = 1242,
- CSSPropertyColorRendering = 1243,
- CSSPropertyFill = 1244,
- CSSPropertyFillOpacity = 1245,
- CSSPropertyFillRule = 1246,
- CSSPropertyImageRendering = 1247,
- CSSPropertyMarker = 1248,
- CSSPropertyMarkerEnd = 1249,
- CSSPropertyMarkerMid = 1250,
- CSSPropertyMarkerStart = 1251,
- CSSPropertyShapeRendering = 1252,
- CSSPropertyStroke = 1253,
- CSSPropertyStrokeDasharray = 1254,
- CSSPropertyStrokeDashoffset = 1255,
- CSSPropertyStrokeLinecap = 1256,
- CSSPropertyStrokeLinejoin = 1257,
- CSSPropertyStrokeMiterlimit = 1258,
- CSSPropertyStrokeOpacity = 1259,
- CSSPropertyStrokeWidth = 1260,
- CSSPropertyTextRendering = 1261,
- CSSPropertyAlignmentBaseline = 1262,
- CSSPropertyBaselineShift = 1263,
- CSSPropertyDominantBaseline = 1264,
- CSSPropertyGlyphOrientationHorizontal = 1265,
- CSSPropertyGlyphOrientationVertical = 1266,
- CSSPropertyKerning = 1267,
- CSSPropertyTextAnchor = 1268,
- CSSPropertyWritingMode = 1269,
+ CSSPropertyBackgroundClip = 1003,
+ CSSPropertyBackgroundColor = 1004,
+ CSSPropertyBackgroundImage = 1005,
+ CSSPropertyBackgroundOrigin = 1006,
+ CSSPropertyBackgroundPosition = 1007,
+ CSSPropertyBackgroundPositionX = 1008,
+ CSSPropertyBackgroundPositionY = 1009,
+ CSSPropertyBackgroundRepeat = 1010,
+ CSSPropertyBorder = 1011,
+ CSSPropertyBorderBottom = 1012,
+ CSSPropertyBorderBottomColor = 1013,
+ CSSPropertyBorderBottomStyle = 1014,
+ CSSPropertyBorderBottomWidth = 1015,
+ CSSPropertyBorderCollapse = 1016,
+ CSSPropertyBorderColor = 1017,
+ CSSPropertyBorderLeft = 1018,
+ CSSPropertyBorderLeftColor = 1019,
+ CSSPropertyBorderLeftStyle = 1020,
+ CSSPropertyBorderLeftWidth = 1021,
+ CSSPropertyBorderRight = 1022,
+ CSSPropertyBorderRightColor = 1023,
+ CSSPropertyBorderRightStyle = 1024,
+ CSSPropertyBorderRightWidth = 1025,
+ CSSPropertyBorderSpacing = 1026,
+ CSSPropertyBorderStyle = 1027,
+ CSSPropertyBorderTop = 1028,
+ CSSPropertyBorderTopColor = 1029,
+ CSSPropertyBorderTopStyle = 1030,
+ CSSPropertyBorderTopWidth = 1031,
+ CSSPropertyBorderWidth = 1032,
+ CSSPropertyBottom = 1033,
+ CSSPropertyBoxShadow = 1034,
+ CSSPropertyCaptionSide = 1035,
+ CSSPropertyClear = 1036,
+ CSSPropertyClip = 1037,
+ CSSPropertyColor = 1038,
+ CSSPropertyContent = 1039,
+ CSSPropertyCounterIncrement = 1040,
+ CSSPropertyCounterReset = 1041,
+ CSSPropertyCursor = 1042,
+ CSSPropertyDirection = 1043,
+ CSSPropertyDisplay = 1044,
+ CSSPropertyEmptyCells = 1045,
+ CSSPropertyFloat = 1046,
+ CSSPropertyFont = 1047,
+ CSSPropertyFontFamily = 1048,
+ CSSPropertyFontSize = 1049,
+ CSSPropertyFontStretch = 1050,
+ CSSPropertyFontStyle = 1051,
+ CSSPropertyFontVariant = 1052,
+ CSSPropertyFontWeight = 1053,
+ CSSPropertyHeight = 1054,
+ CSSPropertyLeft = 1055,
+ CSSPropertyLetterSpacing = 1056,
+ CSSPropertyLineHeight = 1057,
+ CSSPropertyListStyle = 1058,
+ CSSPropertyListStyleImage = 1059,
+ CSSPropertyListStylePosition = 1060,
+ CSSPropertyListStyleType = 1061,
+ CSSPropertyMargin = 1062,
+ CSSPropertyMarginBottom = 1063,
+ CSSPropertyMarginLeft = 1064,
+ CSSPropertyMarginRight = 1065,
+ CSSPropertyMarginTop = 1066,
+ CSSPropertyMaxHeight = 1067,
+ CSSPropertyMaxWidth = 1068,
+ CSSPropertyMinHeight = 1069,
+ CSSPropertyMinWidth = 1070,
+ CSSPropertyOpacity = 1071,
+ CSSPropertyOrphans = 1072,
+ CSSPropertyOutline = 1073,
+ CSSPropertyOutlineColor = 1074,
+ CSSPropertyOutlineOffset = 1075,
+ CSSPropertyOutlineStyle = 1076,
+ CSSPropertyOutlineWidth = 1077,
+ CSSPropertyOverflow = 1078,
+ CSSPropertyOverflowX = 1079,
+ CSSPropertyOverflowY = 1080,
+ CSSPropertyPadding = 1081,
+ CSSPropertyPaddingBottom = 1082,
+ CSSPropertyPaddingLeft = 1083,
+ CSSPropertyPaddingRight = 1084,
+ CSSPropertyPaddingTop = 1085,
+ CSSPropertyPage = 1086,
+ CSSPropertyPageBreakAfter = 1087,
+ CSSPropertyPageBreakBefore = 1088,
+ CSSPropertyPageBreakInside = 1089,
+ CSSPropertyPointerEvents = 1090,
+ CSSPropertyPosition = 1091,
+ CSSPropertyQuotes = 1092,
+ CSSPropertyResize = 1093,
+ CSSPropertyRight = 1094,
+ CSSPropertySize = 1095,
+ CSSPropertySrc = 1096,
+ CSSPropertyTableLayout = 1097,
+ CSSPropertyTextAlign = 1098,
+ CSSPropertyTextDecoration = 1099,
+ CSSPropertyTextIndent = 1100,
+ CSSPropertyTextLineThrough = 1101,
+ CSSPropertyTextLineThroughColor = 1102,
+ CSSPropertyTextLineThroughMode = 1103,
+ CSSPropertyTextLineThroughStyle = 1104,
+ CSSPropertyTextLineThroughWidth = 1105,
+ CSSPropertyTextOverflow = 1106,
+ CSSPropertyTextOverline = 1107,
+ CSSPropertyTextOverlineColor = 1108,
+ CSSPropertyTextOverlineMode = 1109,
+ CSSPropertyTextOverlineStyle = 1110,
+ CSSPropertyTextOverlineWidth = 1111,
+ CSSPropertyTextShadow = 1112,
+ CSSPropertyTextTransform = 1113,
+ CSSPropertyTextUnderline = 1114,
+ CSSPropertyTextUnderlineColor = 1115,
+ CSSPropertyTextUnderlineMode = 1116,
+ CSSPropertyTextUnderlineStyle = 1117,
+ CSSPropertyTextUnderlineWidth = 1118,
+ CSSPropertyTop = 1119,
+ CSSPropertyUnicodeBidi = 1120,
+ CSSPropertyUnicodeRange = 1121,
+ CSSPropertyVerticalAlign = 1122,
+ CSSPropertyVisibility = 1123,
+ CSSPropertyWhiteSpace = 1124,
+ CSSPropertyWidows = 1125,
+ CSSPropertyWidth = 1126,
+ CSSPropertyWordBreak = 1127,
+ CSSPropertyWordSpacing = 1128,
+ CSSPropertyWordWrap = 1129,
+ CSSPropertyZIndex = 1130,
+ CSSPropertyZoom = 1131,
+ CSSPropertyWebkitAnimation = 1132,
+ CSSPropertyWebkitAnimationDelay = 1133,
+ CSSPropertyWebkitAnimationDirection = 1134,
+ CSSPropertyWebkitAnimationDuration = 1135,
+ CSSPropertyWebkitAnimationIterationCount = 1136,
+ CSSPropertyWebkitAnimationName = 1137,
+ CSSPropertyWebkitAnimationTimingFunction = 1138,
+ CSSPropertyWebkitAppearance = 1139,
+ CSSPropertyWebkitBackfaceVisibility = 1140,
+ CSSPropertyWebkitBackgroundClip = 1141,
+ CSSPropertyWebkitBackgroundComposite = 1142,
+ CSSPropertyWebkitBackgroundOrigin = 1143,
+ CSSPropertyWebkitBackgroundSize = 1144,
+ CSSPropertyWebkitBinding = 1145,
+ CSSPropertyWebkitBorderBottomLeftRadius = 1146,
+ CSSPropertyWebkitBorderBottomRightRadius = 1147,
+ CSSPropertyWebkitBorderFit = 1148,
+ CSSPropertyWebkitBorderHorizontalSpacing = 1149,
+ CSSPropertyWebkitBorderImage = 1150,
+ CSSPropertyWebkitBorderRadius = 1151,
+ CSSPropertyWebkitBorderTopLeftRadius = 1152,
+ CSSPropertyWebkitBorderTopRightRadius = 1153,
+ CSSPropertyWebkitBorderVerticalSpacing = 1154,
+ CSSPropertyWebkitBoxAlign = 1155,
+ CSSPropertyWebkitBoxDirection = 1156,
+ CSSPropertyWebkitBoxFlex = 1157,
+ CSSPropertyWebkitBoxFlexGroup = 1158,
+ CSSPropertyWebkitBoxLines = 1159,
+ CSSPropertyWebkitBoxOrdinalGroup = 1160,
+ CSSPropertyWebkitBoxOrient = 1161,
+ CSSPropertyWebkitBoxPack = 1162,
+ CSSPropertyWebkitBoxReflect = 1163,
+ CSSPropertyWebkitBoxSizing = 1164,
+ CSSPropertyWebkitColumnBreakAfter = 1165,
+ CSSPropertyWebkitColumnBreakBefore = 1166,
+ CSSPropertyWebkitColumnBreakInside = 1167,
+ CSSPropertyWebkitColumnCount = 1168,
+ CSSPropertyWebkitColumnGap = 1169,
+ CSSPropertyWebkitColumnRule = 1170,
+ CSSPropertyWebkitColumnRuleColor = 1171,
+ CSSPropertyWebkitColumnRuleStyle = 1172,
+ CSSPropertyWebkitColumnRuleWidth = 1173,
+ CSSPropertyWebkitColumnWidth = 1174,
+ CSSPropertyWebkitColumns = 1175,
+ CSSPropertyWebkitFontSizeDelta = 1176,
+ CSSPropertyWebkitHighlight = 1177,
+ CSSPropertyWebkitLineBreak = 1178,
+ CSSPropertyWebkitLineClamp = 1179,
+ CSSPropertyWebkitMarginBottomCollapse = 1180,
+ CSSPropertyWebkitMarginCollapse = 1181,
+ CSSPropertyWebkitMarginStart = 1182,
+ CSSPropertyWebkitMarginTopCollapse = 1183,
+ CSSPropertyWebkitMarquee = 1184,
+ CSSPropertyWebkitMarqueeDirection = 1185,
+ CSSPropertyWebkitMarqueeIncrement = 1186,
+ CSSPropertyWebkitMarqueeRepetition = 1187,
+ CSSPropertyWebkitMarqueeSpeed = 1188,
+ CSSPropertyWebkitMarqueeStyle = 1189,
+ CSSPropertyWebkitMask = 1190,
+ CSSPropertyWebkitMaskAttachment = 1191,
+ CSSPropertyWebkitMaskBoxImage = 1192,
+ CSSPropertyWebkitMaskClip = 1193,
+ CSSPropertyWebkitMaskComposite = 1194,
+ CSSPropertyWebkitMaskImage = 1195,
+ CSSPropertyWebkitMaskOrigin = 1196,
+ CSSPropertyWebkitMaskPosition = 1197,
+ CSSPropertyWebkitMaskPositionX = 1198,
+ CSSPropertyWebkitMaskPositionY = 1199,
+ CSSPropertyWebkitMaskRepeat = 1200,
+ CSSPropertyWebkitMaskSize = 1201,
+ CSSPropertyWebkitMatchNearestMailBlockquoteColor = 1202,
+ CSSPropertyWebkitNbspMode = 1203,
+ CSSPropertyWebkitPaddingStart = 1204,
+ CSSPropertyWebkitPerspective = 1205,
+ CSSPropertyWebkitPerspectiveOrigin = 1206,
+ CSSPropertyWebkitPerspectiveOriginX = 1207,
+ CSSPropertyWebkitPerspectiveOriginY = 1208,
+ CSSPropertyWebkitRtlOrdering = 1209,
+ CSSPropertyWebkitTextDecorationsInEffect = 1210,
+ CSSPropertyWebkitTextFillColor = 1211,
+ CSSPropertyWebkitTextSecurity = 1212,
+ CSSPropertyWebkitTextSizeAdjust = 1213,
+ CSSPropertyWebkitTextStroke = 1214,
+ CSSPropertyWebkitTextStrokeColor = 1215,
+ CSSPropertyWebkitTextStrokeWidth = 1216,
+ CSSPropertyWebkitTransform = 1217,
+ CSSPropertyWebkitTransformOrigin = 1218,
+ CSSPropertyWebkitTransformOriginX = 1219,
+ CSSPropertyWebkitTransformOriginY = 1220,
+ CSSPropertyWebkitTransformOriginZ = 1221,
+ CSSPropertyWebkitTransformStyle = 1222,
+ CSSPropertyWebkitTransition = 1223,
+ CSSPropertyWebkitTransitionDelay = 1224,
+ CSSPropertyWebkitTransitionDuration = 1225,
+ CSSPropertyWebkitTransitionProperty = 1226,
+ CSSPropertyWebkitTransitionTimingFunction = 1227,
+ CSSPropertyWebkitUserDrag = 1228,
+ CSSPropertyWebkitUserModify = 1229,
+ CSSPropertyWebkitUserSelect = 1230,
+ CSSPropertyWebkitVariableDeclarationBlock = 1231,
+ CSSPropertyClipPath = 1232,
+ CSSPropertyClipRule = 1233,
+ CSSPropertyMask = 1234,
+ CSSPropertyEnableBackground = 1235,
+ CSSPropertyFilter = 1236,
+ CSSPropertyFloodColor = 1237,
+ CSSPropertyFloodOpacity = 1238,
+ CSSPropertyLightingColor = 1239,
+ CSSPropertyStopColor = 1240,
+ CSSPropertyStopOpacity = 1241,
+ CSSPropertyColorInterpolation = 1242,
+ CSSPropertyColorInterpolationFilters = 1243,
+ CSSPropertyColorProfile = 1244,
+ CSSPropertyColorRendering = 1245,
+ CSSPropertyFill = 1246,
+ CSSPropertyFillOpacity = 1247,
+ CSSPropertyFillRule = 1248,
+ CSSPropertyImageRendering = 1249,
+ CSSPropertyMarker = 1250,
+ CSSPropertyMarkerEnd = 1251,
+ CSSPropertyMarkerMid = 1252,
+ CSSPropertyMarkerStart = 1253,
+ CSSPropertyShapeRendering = 1254,
+ CSSPropertyStroke = 1255,
+ CSSPropertyStrokeDasharray = 1256,
+ CSSPropertyStrokeDashoffset = 1257,
+ CSSPropertyStrokeLinecap = 1258,
+ CSSPropertyStrokeLinejoin = 1259,
+ CSSPropertyStrokeMiterlimit = 1260,
+ CSSPropertyStrokeOpacity = 1261,
+ CSSPropertyStrokeWidth = 1262,
+ CSSPropertyTextRendering = 1263,
+ CSSPropertyAlignmentBaseline = 1264,
+ CSSPropertyBaselineShift = 1265,
+ CSSPropertyDominantBaseline = 1266,
+ CSSPropertyGlyphOrientationHorizontal = 1267,
+ CSSPropertyGlyphOrientationVertical = 1268,
+ CSSPropertyKerning = 1269,
+ CSSPropertyTextAnchor = 1270,
+ CSSPropertyWritingMode = 1271,
};
const int firstCSSProperty = 1001;
-const int numCSSProperties = 269;
+const int numCSSProperties = 271;
const size_t maxCSSPropertyNameLength = 43;
const char* getPropertyName(CSSPropertyID);
diff --git a/src/3rdparty/webkit/WebCore/generated/CSSValueKeywords.c b/src/3rdparty/webkit/WebCore/generated/CSSValueKeywords.c
index e84ca9e..44df1ce 100644
--- a/src/3rdparty/webkit/WebCore/generated/CSSValueKeywords.c
+++ b/src/3rdparty/webkit/WebCore/generated/CSSValueKeywords.c
@@ -38,7 +38,7 @@ struct css_value {
const char* name;
int id;
};
-/* maximum key range = 8752, duplicates = 0 */
+/* maximum key range = 7172, duplicates = 0 */
#ifdef __GNUC__
__inline
@@ -52,38 +52,41 @@ hash_val (register const char *str, register unsigned int len)
{
static const unsigned short asso_values[] =
{
- 8752, 8752, 8752, 8752, 8752, 8752, 8752, 8752, 8752, 8752,
- 8752, 8752, 8752, 8752, 8752, 8752, 8752, 8752, 8752, 8752,
- 8752, 8752, 8752, 8752, 8752, 8752, 8752, 8752, 8752, 8752,
- 8752, 8752, 8752, 8752, 8752, 8752, 8752, 8752, 8752, 8752,
- 8752, 8752, 8752, 8752, 8752, 970, 27, 8752, 8752, 0,
- 55, 5, 50, 40, 35, 30, 25, 20, 8752, 8752,
- 8752, 8752, 8752, 8752, 8752, 8752, 8752, 8752, 8752, 8752,
- 8752, 8752, 8752, 8752, 8752, 8752, 8752, 8752, 8752, 8752,
- 8752, 8752, 8752, 8752, 8752, 8752, 8752, 8752, 8752, 8752,
- 8752, 8752, 8752, 8752, 8752, 8752, 8752, 5, 200, 15,
- 590, 0, 515, 251, 21, 35, 1, 905, 10, 20,
- 30, 10, 45, 651, 160, 5, 80, 145, 960, 136,
- 920, 971, 105, 0, 8752, 8752, 8752, 8752, 8752, 8752,
- 8752, 8752, 8752, 8752, 8752, 8752, 8752, 8752, 8752, 8752,
- 8752, 8752, 8752, 8752, 8752, 8752, 8752, 8752, 8752, 8752,
- 8752, 8752, 8752, 8752, 8752, 8752, 8752, 8752, 8752, 8752,
- 8752, 8752, 8752, 8752, 8752, 8752, 8752, 8752, 8752, 8752,
- 8752, 8752, 8752, 8752, 8752, 8752, 8752, 8752, 8752, 8752,
- 8752, 8752, 8752, 8752, 8752, 8752, 8752, 8752, 8752, 8752,
- 8752, 8752, 8752, 8752, 8752, 8752, 8752, 8752, 8752, 8752,
- 8752, 8752, 8752, 8752, 8752, 8752, 8752, 8752, 8752, 8752,
- 8752, 8752, 8752, 8752, 8752, 8752, 8752, 8752, 8752, 8752,
- 8752, 8752, 8752, 8752, 8752, 8752, 8752, 8752, 8752, 8752,
- 8752, 8752, 8752, 8752, 8752, 8752, 8752, 8752, 8752, 8752,
- 8752, 8752, 8752, 8752, 8752, 8752, 8752, 8752, 8752, 8752,
- 8752, 8752, 8752, 8752, 8752, 8752, 8752
+ 7172, 7172, 7172, 7172, 7172, 7172, 7172, 7172, 7172, 7172,
+ 7172, 7172, 7172, 7172, 7172, 7172, 7172, 7172, 7172, 7172,
+ 7172, 7172, 7172, 7172, 7172, 7172, 7172, 7172, 7172, 7172,
+ 7172, 7172, 7172, 7172, 7172, 7172, 7172, 7172, 7172, 7172,
+ 7172, 7172, 7172, 7172, 7172, 500, 17, 7172, 7172, 0,
+ 55, 5, 50, 40, 35, 30, 25, 20, 7172, 7172,
+ 7172, 7172, 7172, 7172, 7172, 7172, 7172, 7172, 7172, 7172,
+ 7172, 7172, 7172, 7172, 7172, 7172, 7172, 7172, 7172, 7172,
+ 7172, 7172, 7172, 7172, 7172, 7172, 7172, 7172, 7172, 7172,
+ 7172, 7172, 7172, 7172, 7172, 7172, 7172, 5, 245, 15,
+ 200, 0, 695, 401, 825, 35, 136, 86, 10, 20,
+ 30, 10, 45, 127, 370, 5, 80, 450, 1, 456,
+ 936, 1021, 95, 0, 7172, 7172, 7172, 7172, 7172, 7172,
+ 7172, 7172, 7172, 7172, 7172, 7172, 7172, 7172, 7172, 7172,
+ 7172, 7172, 7172, 7172, 7172, 7172, 7172, 7172, 7172, 7172,
+ 7172, 7172, 7172, 7172, 7172, 7172, 7172, 7172, 7172, 7172,
+ 7172, 7172, 7172, 7172, 7172, 7172, 7172, 7172, 7172, 7172,
+ 7172, 7172, 7172, 7172, 7172, 7172, 7172, 7172, 7172, 7172,
+ 7172, 7172, 7172, 7172, 7172, 7172, 7172, 7172, 7172, 7172,
+ 7172, 7172, 7172, 7172, 7172, 7172, 7172, 7172, 7172, 7172,
+ 7172, 7172, 7172, 7172, 7172, 7172, 7172, 7172, 7172, 7172,
+ 7172, 7172, 7172, 7172, 7172, 7172, 7172, 7172, 7172, 7172,
+ 7172, 7172, 7172, 7172, 7172, 7172, 7172, 7172, 7172, 7172,
+ 7172, 7172, 7172, 7172, 7172, 7172, 7172, 7172, 7172, 7172,
+ 7172, 7172, 7172, 7172, 7172, 7172, 7172, 7172, 7172, 7172,
+ 7172, 7172, 7172, 7172, 7172, 7172, 7172
};
register int hval = 0;
switch (len)
{
default:
+ hval += asso_values[(unsigned char)str[30]];
+ /*FALLTHROUGH*/
+ case 30:
hval += asso_values[(unsigned char)str[29]];
/*FALLTHROUGH*/
case 29:
@@ -188,11 +191,11 @@ findValue (register const char *str, register unsigned int len)
{
enum
{
- TOTAL_KEYWORDS = 537,
+ TOTAL_KEYWORDS = 540,
MIN_WORD_LENGTH = 2,
- MAX_WORD_LENGTH = 30,
+ MAX_WORD_LENGTH = 31,
MIN_HASH_VALUE = 0,
- MAX_HASH_VALUE = 8751
+ MAX_HASH_VALUE = 7171
};
static const struct css_value wordlist_value[] =
@@ -201,52 +204,46 @@ findValue (register const char *str, register unsigned int len)
{"100", CSSValue100},
#line 42 "CSSValueKeywords.gperf"
{"300", CSSValue300},
-#line 287 "CSSValueKeywords.gperf"
+#line 288 "CSSValueKeywords.gperf"
{"end", CSSValueEnd},
-#line 545 "CSSValueKeywords.gperf"
+#line 548 "CSSValueKeywords.gperf"
{"lr", CSSValueLr},
#line 48 "CSSValueKeywords.gperf"
{"900", CSSValue900},
-#line 256 "CSSValueKeywords.gperf"
- {"hide", CSSValueHide},
+#line 146 "CSSValueKeywords.gperf"
+ {"sub", CSSValueSub},
#line 47 "CSSValueKeywords.gperf"
{"800", CSSValue800},
-#line 369 "CSSValueKeywords.gperf"
- {"lines", CSSValueLines},
#line 46 "CSSValueKeywords.gperf"
{"700", CSSValue700},
#line 45 "CSSValueKeywords.gperf"
{"600", CSSValue600},
-#line 209 "CSSValueKeywords.gperf"
- {"alias", CSSValueAlias},
#line 44 "CSSValueKeywords.gperf"
{"500", CSSValue500},
-#line 81 "CSSValueKeywords.gperf"
- {"lime", CSSValueLime},
#line 34 "CSSValueKeywords.gperf"
{"all", CSSValueAll},
-#line 164 "CSSValueKeywords.gperf"
- {"circle", CSSValueCircle},
#line 43 "CSSValueKeywords.gperf"
{"400", CSSValue400},
-#line 463 "CSSValueKeywords.gperf"
- {"linen", CSSValueLinen},
#line 41 "CSSValueKeywords.gperf"
{"200", CSSValue200},
-#line 479 "CSSValueKeywords.gperf"
+#line 482 "CSSValueKeywords.gperf"
{"oldlace", CSSValueOldlace},
+#line 71 "CSSValueKeywords.gperf"
+ {"cursive", CSSValueCursive},
+#line 242 "CSSValueKeywords.gperf"
+ {"above", CSSValueAbove},
#line 252 "CSSValueKeywords.gperf"
{"cross", CSSValueCross},
-#line 400 "CSSValueKeywords.gperf"
+#line 403 "CSSValueKeywords.gperf"
{"coral", CSSValueCoral},
-#line 312 "CSSValueKeywords.gperf"
- {"clip", CSSValueClip},
#line 13 "CSSValueKeywords.gperf"
{"none", CSSValueNone},
-#line 403 "CSSValueKeywords.gperf"
- {"crimson", CSSValueCrimson},
-#line 547 "CSSValueKeywords.gperf"
+#line 494 "CSSValueKeywords.gperf"
+ {"plum", CSSValuePlum},
+#line 550 "CSSValueKeywords.gperf"
{"tb", CSSValueTb},
+#line 86 "CSSValueKeywords.gperf"
+ {"purple", CSSValuePurple},
#line 251 "CSSValueKeywords.gperf"
{"crop", CSSValueCrop},
#line 36 "CSSValueKeywords.gperf"
@@ -255,1018 +252,1030 @@ findValue (register const char *str, register unsigned int len)
{"inline", CSSValueInline},
#line 176 "CSSValueKeywords.gperf"
{"armenian", CSSValueArmenian},
-#line 367 "CSSValueKeywords.gperf"
- {"logical", CSSValueLogical},
#line 241 "CSSValueKeywords.gperf"
{"collapse", CSSValueCollapse},
-#line 282 "CSSValueKeywords.gperf"
- {"thin", CSSValueThin},
#line 73 "CSSValueKeywords.gperf"
{"monospace", CSSValueMonospace},
-#line 235 "CSSValueKeywords.gperf"
- {"ltr", CSSValueLtr},
-#line 313 "CSSValueKeywords.gperf"
- {"ellipsis", CSSValueEllipsis},
-#line 12 "CSSValueKeywords.gperf"
- {"initial", CSSValueInitial},
#line 215 "CSSValueKeywords.gperf"
{"e-resize", CSSValueEResize},
-#line 546 "CSSValueKeywords.gperf"
- {"rl", CSSValueRl},
+#line 372 "CSSValueKeywords.gperf"
+ {"lines", CSSValueLines},
#line 221 "CSSValueKeywords.gperf"
{"s-resize", CSSValueSResize},
-#line 375 "CSSValueKeywords.gperf"
- {"linear", CSSValueLinear},
-#line 505 "CSSValueKeywords.gperf"
- {"snow", CSSValueSnow},
-#line 205 "CSSValueKeywords.gperf"
- {"move", CSSValueMove},
-#line 15 "CSSValueKeywords.gperf"
- {"inset", CSSValueInset},
-#line 300 "CSSValueKeywords.gperf"
- {"slow", CSSValueSlow},
+#line 314 "CSSValueKeywords.gperf"
+ {"ellipsis", CSSValueEllipsis},
+#line 84 "CSSValueKeywords.gperf"
+ {"olive", CSSValueOlive},
+#line 209 "CSSValueKeywords.gperf"
+ {"alias", CSSValueAlias},
+#line 81 "CSSValueKeywords.gperf"
+ {"lime", CSSValueLime},
+#line 164 "CSSValueKeywords.gperf"
+ {"circle", CSSValueCircle},
+#line 466 "CSSValueKeywords.gperf"
+ {"linen", CSSValueLinen},
#line 218 "CSSValueKeywords.gperf"
{"n-resize", CSSValueNResize},
-#line 509 "CSSValueKeywords.gperf"
- {"thistle", CSSValueThistle},
-#line 455 "CSSValueKeywords.gperf"
- {"lightsalmon", CSSValueLightsalmon},
-#line 399 "CSSValueKeywords.gperf"
+#line 15 "CSSValueKeywords.gperf"
+ {"inset", CSSValueInset},
+#line 295 "CSSValueKeywords.gperf"
+ {"multiple", CSSValueMultiple},
+#line 402 "CSSValueKeywords.gperf"
{"chocolate", CSSValueChocolate},
-#line 279 "CSSValueKeywords.gperf"
- {"show", CSSValueShow},
-#line 257 "CSSValueKeywords.gperf"
- {"higher", CSSValueHigher},
-#line 520 "CSSValueKeywords.gperf"
- {"srgb", CSSValueSrgb},
+#line 313 "CSSValueKeywords.gperf"
+ {"clip", CSSValueClip},
+#line 406 "CSSValueKeywords.gperf"
+ {"crimson", CSSValueCrimson},
+#line 405 "CSSValueKeywords.gperf"
+ {"cornsilk", CSSValueCornsilk},
#line 187 "CSSValueKeywords.gperf"
{"compact", CSSValueCompact},
-#line 309 "CSSValueKeywords.gperf"
- {"ignore", CSSValueIgnore},
-#line 510 "CSSValueKeywords.gperf"
+#line 278 "CSSValueKeywords.gperf"
+ {"scroll", CSSValueScroll},
+#line 253 "CSSValueKeywords.gperf"
+ {"embed", CSSValueEmbed},
+#line 513 "CSSValueKeywords.gperf"
{"tomato", CSSValueTomato},
-#line 90 "CSSValueKeywords.gperf"
- {"white", CSSValueWhite},
+#line 150 "CSSValueKeywords.gperf"
+ {"top", CSSValueTop},
+#line 263 "CSSValueKeywords.gperf"
+ {"loud", CSSValueLoud},
+#line 366 "CSSValueKeywords.gperf"
+ {"content", CSSValueContent},
+#line 77 "CSSValueKeywords.gperf"
+ {"blue", CSSValueBlue},
+#line 262 "CSSValueKeywords.gperf"
+ {"local", CSSValueLocal},
+#line 515 "CSSValueKeywords.gperf"
+ {"violet", CSSValueViolet},
+#line 493 "CSSValueKeywords.gperf"
+ {"pink", CSSValuePink},
+#line 283 "CSSValueKeywords.gperf"
+ {"thin", CSSValueThin},
#line 51 "CSSValueKeywords.gperf"
{"small", CSSValueSmall},
-#line 362 "CSSValueKeywords.gperf"
- {"content", CSSValueContent},
-#line 285 "CSSValueKeywords.gperf"
- {"stretch", CSSValueStretch},
+#line 21 "CSSValueKeywords.gperf"
+ {"solid", CSSValueSolid},
+#line 24 "CSSValueKeywords.gperf"
+ {"icon", CSSValueIcon},
+#line 12 "CSSValueKeywords.gperf"
+ {"initial", CSSValueInitial},
#line 82 "CSSValueKeywords.gperf"
{"maroon", CSSValueMaroon},
-#line 293 "CSSValueKeywords.gperf"
- {"single", CSSValueSingle},
-#line 374 "CSSValueKeywords.gperf"
+#line 377 "CSSValueKeywords.gperf"
{"ease", CSSValueEase},
-#line 155 "CSSValueKeywords.gperf"
- {"right", CSSValueRight},
-#line 496 "CSSValueKeywords.gperf"
+#line 499 "CSSValueKeywords.gperf"
{"salmon", CSSValueSalmon},
-#line 508 "CSSValueKeywords.gperf"
+#line 511 "CSSValueKeywords.gperf"
{"tan", CSSValueTan},
-#line 544 "CSSValueKeywords.gperf"
- {"tb-rl", CSSValueTbRl},
-#line 39 "CSSValueKeywords.gperf"
- {"lighter", CSSValueLighter},
-#line 202 "CSSValueKeywords.gperf"
- {"crosshair", CSSValueCrosshair},
-#line 59 "CSSValueKeywords.gperf"
- {"wider", CSSValueWider},
-#line 351 "CSSValueKeywords.gperf"
+#line 354 "CSSValueKeywords.gperf"
{"caret", CSSValueCaret},
+#line 512 "CSSValueKeywords.gperf"
+ {"thistle", CSSValueThistle},
#line 189 "CSSValueKeywords.gperf"
{"table", CSSValueTable},
-#line 332 "CSSValueKeywords.gperf"
- {"listitem", CSSValueListitem},
-#line 475 "CSSValueKeywords.gperf"
- {"mintcream", CSSValueMintcream},
-#line 222 "CSSValueKeywords.gperf"
- {"w-resize", CSSValueWResize},
-#line 542 "CSSValueKeywords.gperf"
+#line 282 "CSSValueKeywords.gperf"
+ {"thick", CSSValueThick},
+#line 480 "CSSValueKeywords.gperf"
+ {"moccasin", CSSValueMoccasin},
+#line 545 "CSSValueKeywords.gperf"
{"lr-tb", CSSValueLrTb},
-#line 179 "CSSValueKeywords.gperf"
- {"hiragana", CSSValueHiragana},
-#line 236 "CSSValueKeywords.gperf"
- {"rtl", CSSValueRtl},
-#line 527 "CSSValueKeywords.gperf"
- {"miter", CSSValueMiter},
-#line 448 "CSSValueKeywords.gperf"
- {"lightcoral", CSSValueLightcoral},
-#line 440 "CSSValueKeywords.gperf"
- {"indigo", CSSValueIndigo},
-#line 243 "CSSValueKeywords.gperf"
- {"absolute", CSSValueAbsolute},
-#line 289 "CSSValueKeywords.gperf"
- {"horizontal", CSSValueHorizontal},
-#line 404 "CSSValueKeywords.gperf"
+#line 162 "CSSValueKeywords.gperf"
+ {"inside", CSSValueInside},
+#line 304 "CSSValueKeywords.gperf"
+ {"slide", CSSValueSlide},
+#line 145 "CSSValueKeywords.gperf"
+ {"middle", CSSValueMiddle},
+#line 393 "CSSValueKeywords.gperf"
+ {"azure", CSSValueAzure},
+#line 75 "CSSValueKeywords.gperf"
+ {"aqua", CSSValueAqua},
+#line 407 "CSSValueKeywords.gperf"
{"cyan", CSSValueCyan},
+#line 549 "CSSValueKeywords.gperf"
+ {"rl", CSSValueRl},
+#line 323 "CSSValueKeywords.gperf"
+ {"space", CSSValueSpace},
+#line 397 "CSSValueKeywords.gperf"
+ {"blueviolet", CSSValueBlueviolet},
+#line 184 "CSSValueKeywords.gperf"
+ {"block", CSSValueBlock},
+#line 163 "CSSValueKeywords.gperf"
+ {"disc", CSSValueDisc},
+#line 333 "CSSValueKeywords.gperf"
+ {"listitem", CSSValueListitem},
+#line 16 "CSSValueKeywords.gperf"
+ {"groove", CSSValueGroove},
+#line 235 "CSSValueKeywords.gperf"
+ {"ltr", CSSValueLtr},
+#line 201 "CSSValueKeywords.gperf"
+ {"auto", CSSValueAuto},
+#line 445 "CSSValueKeywords.gperf"
+ {"khaki", CSSValueKhaki},
+#line 443 "CSSValueKeywords.gperf"
+ {"indigo", CSSValueIndigo},
+#line 547 "CSSValueKeywords.gperf"
+ {"tb-rl", CSSValueTbRl},
+#line 374 "CSSValueKeywords.gperf"
+ {"paused", CSSValuePaused},
+#line 22 "CSSValueKeywords.gperf"
+ {"double", CSSValueDouble},
+#line 147 "CSSValueKeywords.gperf"
+ {"super", CSSValueSuper},
+#line 63 "CSSValueKeywords.gperf"
+ {"condensed", CSSValueCondensed},
+#line 240 "CSSValueKeywords.gperf"
+ {"visible", CSSValueVisible},
+#line 37 "CSSValueKeywords.gperf"
+ {"bold", CSSValueBold},
+#line 508 "CSSValueKeywords.gperf"
+ {"snow", CSSValueSnow},
+#line 248 "CSSValueKeywords.gperf"
+ {"blink", CSSValueBlink},
+#line 205 "CSSValueKeywords.gperf"
+ {"move", CSSValueMove},
+#line 301 "CSSValueKeywords.gperf"
+ {"slow", CSSValueSlow},
+#line 378 "CSSValueKeywords.gperf"
+ {"linear", CSSValueLinear},
+#line 88 "CSSValueKeywords.gperf"
+ {"silver", CSSValueSilver},
+#line 259 "CSSValueKeywords.gperf"
+ {"landscape", CSSValueLandscape},
+#line 280 "CSSValueKeywords.gperf"
+ {"show", CSSValueShow},
+#line 23 "CSSValueKeywords.gperf"
+ {"caption", CSSValueCaption},
+#line 18 "CSSValueKeywords.gperf"
+ {"outset", CSSValueOutset},
+#line 389 "CSSValueKeywords.gperf"
+ {"stroke", CSSValueStroke},
+#line 519 "CSSValueKeywords.gperf"
+ {"nonzero", CSSValueNonzero},
+#line 294 "CSSValueKeywords.gperf"
+ {"single", CSSValueSingle},
#line 11 "CSSValueKeywords.gperf"
{"inherit", CSSValueInherit},
-#line 464 "CSSValueKeywords.gperf"
- {"magenta", CSSValueMagenta},
-#line 516 "CSSValueKeywords.gperf"
- {"nonzero", CSSValueNonzero},
-#line 204 "CSSValueKeywords.gperf"
- {"pointer", CSSValuePointer},
-#line 283 "CSSValueKeywords.gperf"
- {"underline", CSSValueUnderline},
+#line 299 "CSSValueKeywords.gperf"
+ {"up", CSSValueUp},
#line 130 "CSSValueKeywords.gperf"
{"no-repeat", CSSValueNoRepeat},
-#line 387 "CSSValueKeywords.gperf"
- {"aliceblue", CSSValueAliceblue},
-#line 112 "CSSValueKeywords.gperf"
- {"match", CSSValueMatch},
-#line 325 "CSSValueKeywords.gperf"
+#line 76 "CSSValueKeywords.gperf"
+ {"black", CSSValueBlack},
+#line 222 "CSSValueKeywords.gperf"
+ {"w-resize", CSSValueWResize},
+#line 420 "CSSValueKeywords.gperf"
+ {"darksalmon", CSSValueDarksalmon},
+#line 303 "CSSValueKeywords.gperf"
+ {"infinite", CSSValueInfinite},
+#line 224 "CSSValueKeywords.gperf"
+ {"ns-resize", CSSValueNsResize},
+#line 108 "CSSValueKeywords.gperf"
+ {"inactivecaption", CSSValueInactivecaption},
+#line 144 "CSSValueKeywords.gperf"
+ {"baseline", CSSValueBaseline},
+#line 363 "CSSValueKeywords.gperf"
+ {"round", CSSValueRound},
+#line 237 "CSSValueKeywords.gperf"
+ {"capitalize", CSSValueCapitalize},
+#line 243 "CSSValueKeywords.gperf"
+ {"absolute", CSSValueAbsolute},
+#line 478 "CSSValueKeywords.gperf"
+ {"mintcream", CSSValueMintcream},
+#line 33 "CSSValueKeywords.gperf"
+ {"oblique", CSSValueOblique},
+#line 326 "CSSValueKeywords.gperf"
{"radio", CSSValueRadio},
-#line 249 "CSSValueKeywords.gperf"
- {"both", CSSValueBoth},
-#line 17 "CSSValueKeywords.gperf"
- {"ridge", CSSValueRidge},
+#line 53 "CSSValueKeywords.gperf"
+ {"large", CSSValueLarge},
+#line 273 "CSSValueKeywords.gperf"
+ {"portrait", CSSValuePortrait},
+#line 437 "CSSValueKeywords.gperf"
+ {"gold", CSSValueGold},
#line 57 "CSSValueKeywords.gperf"
{"smaller", CSSValueSmaller},
-#line 395 "CSSValueKeywords.gperf"
+#line 426 "CSSValueKeywords.gperf"
+ {"darkviolet", CSSValueDarkviolet},
+#line 371 "CSSValueKeywords.gperf"
+ {"visual", CSSValueVisual},
+#line 442 "CSSValueKeywords.gperf"
+ {"indianred", CSSValueIndianred},
+#line 85 "CSSValueKeywords.gperf"
+ {"orange", CSSValueOrange},
+#line 161 "CSSValueKeywords.gperf"
+ {"outside", CSSValueOutside},
+#line 204 "CSSValueKeywords.gperf"
+ {"pointer", CSSValuePointer},
+#line 90 "CSSValueKeywords.gperf"
+ {"white", CSSValueWhite},
+#line 514 "CSSValueKeywords.gperf"
+ {"turquoise", CSSValueTurquoise},
+#line 211 "CSSValueKeywords.gperf"
+ {"no-drop", CSSValueNoDrop},
+#line 546 "CSSValueKeywords.gperf"
+ {"rl-tb", CSSValueRlTb},
+#line 387 "CSSValueKeywords.gperf"
+ {"painted", CSSValuePainted},
+#line 207 "CSSValueKeywords.gperf"
+ {"cell", CSSValueCell},
+#line 245 "CSSValueKeywords.gperf"
+ {"avoid", CSSValueAvoid},
+#line 274 "CSSValueKeywords.gperf"
+ {"pre", CSSValuePre},
+#line 165 "CSSValueKeywords.gperf"
+ {"square", CSSValueSquare},
+#line 529 "CSSValueKeywords.gperf"
+ {"butt", CSSValueButt},
+#line 398 "CSSValueKeywords.gperf"
{"brown", CSSValueBrown},
-#line 230 "CSSValueKeywords.gperf"
- {"wait", CSSValueWait},
-#line 258 "CSSValueKeywords.gperf"
- {"invert", CSSValueInvert},
-#line 540 "CSSValueKeywords.gperf"
- {"no-change", CSSValueNoChange},
#line 32 "CSSValueKeywords.gperf"
{"italic", CSSValueItalic},
-#line 224 "CSSValueKeywords.gperf"
- {"ns-resize", CSSValueNsResize},
-#line 304 "CSSValueKeywords.gperf"
- {"alternate", CSSValueAlternate},
-#line 272 "CSSValueKeywords.gperf"
- {"portrait", CSSValuePortrait},
-#line 105 "CSSValueKeywords.gperf"
- {"highlight", CSSValueHighlight},
-#line 53 "CSSValueKeywords.gperf"
- {"large", CSSValueLarge},
-#line 310 "CSSValueKeywords.gperf"
- {"intrinsic", CSSValueIntrinsic},
-#line 317 "CSSValueKeywords.gperf"
- {"wave", CSSValueWave},
-#line 501 "CSSValueKeywords.gperf"
+#line 527 "CSSValueKeywords.gperf"
+ {"crispedges", CSSValueCrispedges},
+#line 504 "CSSValueKeywords.gperf"
{"skyblue", CSSValueSkyblue},
-#line 302 "CSSValueKeywords.gperf"
- {"infinite", CSSValueInfinite},
-#line 280 "CSSValueKeywords.gperf"
+#line 329 "CSSValueKeywords.gperf"
+ {"button", CSSValueButton},
+#line 517 "CSSValueKeywords.gperf"
+ {"whitesmoke", CSSValueWhitesmoke},
+#line 281 "CSSValueKeywords.gperf"
{"static", CSSValueStatic},
-#line 462 "CSSValueKeywords.gperf"
- {"limegreen", CSSValueLimegreen},
-#line 543 "CSSValueKeywords.gperf"
- {"rl-tb", CSSValueRlTb},
-#line 447 "CSSValueKeywords.gperf"
- {"lightblue", CSSValueLightblue},
-#line 85 "CSSValueKeywords.gperf"
- {"orange", CSSValueOrange},
+#line 236 "CSSValueKeywords.gperf"
+ {"rtl", CSSValueRtl},
+#line 392 "CSSValueKeywords.gperf"
+ {"aquamarine", CSSValueAquamarine},
+#line 309 "CSSValueKeywords.gperf"
+ {"element", CSSValueElement},
+#line 291 "CSSValueKeywords.gperf"
+ {"vertical", CSSValueVertical},
#line 151 "CSSValueKeywords.gperf"
{"bottom", CSSValueBottom},
+#line 114 "CSSValueKeywords.gperf"
+ {"scrollbar", CSSValueScrollbar},
+#line 388 "CSSValueKeywords.gperf"
+ {"fill", CSSValueFill},
+#line 364 "CSSValueKeywords.gperf"
+ {"border", CSSValueBorder},
+#line 35 "CSSValueKeywords.gperf"
+ {"small-caps", CSSValueSmallCaps},
#line 210 "CSSValueKeywords.gperf"
{"progress", CSSValueProgress},
-#line 318 "CSSValueKeywords.gperf"
- {"continuous", CSSValueContinuous},
-#line 385 "CSSValueKeywords.gperf"
- {"fill", CSSValueFill},
-#line 144 "CSSValueKeywords.gperf"
- {"baseline", CSSValueBaseline},
-#line 538 "CSSValueKeywords.gperf"
- {"mathematical", CSSValueMathematical},
-#line 207 "CSSValueKeywords.gperf"
- {"cell", CSSValueCell},
-#line 273 "CSSValueKeywords.gperf"
- {"pre", CSSValuePre},
-#line 452 "CSSValueKeywords.gperf"
- {"lightgreen", CSSValueLightgreen},
-#line 460 "CSSValueKeywords.gperf"
- {"lightsteelblue", CSSValueLightsteelblue},
-#line 456 "CSSValueKeywords.gperf"
- {"lightseagreen", CSSValueLightseagreen},
-#line 500 "CSSValueKeywords.gperf"
+#line 373 "CSSValueKeywords.gperf"
+ {"running", CSSValueRunning},
+#line 38 "CSSValueKeywords.gperf"
+ {"bolder", CSSValueBolder},
+#line 390 "CSSValueKeywords.gperf"
+ {"aliceblue", CSSValueAliceblue},
+#line 197 "CSSValueKeywords.gperf"
+ {"table-cell", CSSValueTableCell},
+#line 379 "CSSValueKeywords.gperf"
+ {"ease-in", CSSValueEaseIn},
+#line 92 "CSSValueKeywords.gperf"
+ {"transparent", CSSValueTransparent},
+#line 503 "CSSValueKeywords.gperf"
{"sienna", CSSValueSienna},
-#line 286 "CSSValueKeywords.gperf"
- {"start", CSSValueStart},
-#line 231 "CSSValueKeywords.gperf"
- {"help", CSSValueHelp},
-#line 303 "CSSValueKeywords.gperf"
- {"slide", CSSValueSlide},
-#line 145 "CSSValueKeywords.gperf"
- {"middle", CSSValueMiddle},
+#line 384 "CSSValueKeywords.gperf"
+ {"visiblepainted", CSSValueVisiblepainted},
+#line 284 "CSSValueKeywords.gperf"
+ {"underline", CSSValueUnderline},
+#line 17 "CSSValueKeywords.gperf"
+ {"ridge", CSSValueRidge},
+#line 96 "CSSValueKeywords.gperf"
+ {"activecaption", CSSValueActivecaption},
+#line 180 "CSSValueKeywords.gperf"
+ {"katakana", CSSValueKatakana},
+#line 124 "CSSValueKeywords.gperf"
+ {"currentcolor", CSSValueCurrentcolor},
+#line 230 "CSSValueKeywords.gperf"
+ {"wait", CSSValueWait},
+#line 298 "CSSValueKeywords.gperf"
+ {"ahead", CSSValueAhead},
+#line 185 "CSSValueKeywords.gperf"
+ {"list-item", CSSValueListItem},
+#line 370 "CSSValueKeywords.gperf"
+ {"logical", CSSValueLogical},
+#line 186 "CSSValueKeywords.gperf"
+ {"run-in", CSSValueRunIn},
+#line 258 "CSSValueKeywords.gperf"
+ {"invert", CSSValueInvert},
+#line 368 "CSSValueKeywords.gperf"
+ {"padding", CSSValuePadding},
+#line 305 "CSSValueKeywords.gperf"
+ {"alternate", CSSValueAlternate},
+#line 256 "CSSValueKeywords.gperf"
+ {"hide", CSSValueHide},
+#line 59 "CSSValueKeywords.gperf"
+ {"wider", CSSValueWider},
+#line 232 "CSSValueKeywords.gperf"
+ {"all-scroll", CSSValueAllScroll},
+#line 190 "CSSValueKeywords.gperf"
+ {"inline-table", CSSValueInlineTable},
+#line 19 "CSSValueKeywords.gperf"
+ {"dotted", CSSValueDotted},
+#line 530 "CSSValueKeywords.gperf"
+ {"miter", CSSValueMiter},
+#line 465 "CSSValueKeywords.gperf"
+ {"limegreen", CSSValueLimegreen},
+#line 311 "CSSValueKeywords.gperf"
+ {"intrinsic", CSSValueIntrinsic},
+#line 141 "CSSValueKeywords.gperf"
+ {"xor", CSSValueXor},
+#line 483 "CSSValueKeywords.gperf"
+ {"olivedrab", CSSValueOlivedrab},
+#line 188 "CSSValueKeywords.gperf"
+ {"inline-block", CSSValueInlineBlock},
+#line 134 "CSSValueKeywords.gperf"
+ {"source-in", CSSValueSourceIn},
+#line 315 "CSSValueKeywords.gperf"
+ {"discard", CSSValueDiscard},
+#line 489 "CSSValueKeywords.gperf"
+ {"palevioletred", CSSValuePalevioletred},
+#line 27 "CSSValueKeywords.gperf"
+ {"small-caption", CSSValueSmallCaption},
+#line 525 "CSSValueKeywords.gperf"
+ {"optimizespeed", CSSValueOptimizespeed},
+#line 382 "CSSValueKeywords.gperf"
+ {"document", CSSValueDocument},
+#line 89 "CSSValueKeywords.gperf"
+ {"teal", CSSValueTeal},
#line 58 "CSSValueKeywords.gperf"
{"larger", CSSValueLarger},
-#line 277 "CSSValueKeywords.gperf"
- {"scroll", CSSValueScroll},
-#line 253 "CSSValueKeywords.gperf"
- {"embed", CSSValueEmbed},
-#line 92 "CSSValueKeywords.gperf"
- {"transparent", CSSValueTransparent},
-#line 14 "CSSValueKeywords.gperf"
- {"hidden", CSSValueHidden},
-#line 397 "CSSValueKeywords.gperf"
+#line 116 "CSSValueKeywords.gperf"
+ {"threedface", CSSValueThreedface},
+#line 395 "CSSValueKeywords.gperf"
+ {"bisque", CSSValueBisque},
+#line 375 "CSSValueKeywords.gperf"
+ {"flat", CSSValueFlat},
+#line 400 "CSSValueKeywords.gperf"
{"cadetblue", CSSValueCadetblue},
-#line 478 "CSSValueKeywords.gperf"
- {"navajowhite", CSSValueNavajowhite},
-#line 502 "CSSValueKeywords.gperf"
+#line 505 "CSSValueKeywords.gperf"
{"slateblue", CSSValueSlateblue},
-#line 308 "CSSValueKeywords.gperf"
- {"element", CSSValueElement},
-#line 260 "CSSValueKeywords.gperf"
- {"level", CSSValueLevel},
+#line 386 "CSSValueKeywords.gperf"
+ {"visiblestroke", CSSValueVisiblestroke},
#line 87 "CSSValueKeywords.gperf"
{"red", CSSValueRed},
-#line 494 "CSSValueKeywords.gperf"
- {"royalblue", CSSValueRoyalblue},
-#line 163 "CSSValueKeywords.gperf"
- {"disc", CSSValueDisc},
-#line 433 "CSSValueKeywords.gperf"
- {"ghostwhite", CSSValueGhostwhite},
-#line 25 "CSSValueKeywords.gperf"
- {"menu", CSSValueMenu},
-#line 21 "CSSValueKeywords.gperf"
- {"solid", CSSValueSolid},
-#line 24 "CSSValueKeywords.gperf"
- {"icon", CSSValueIcon},
-#line 60 "CSSValueKeywords.gperf"
- {"narrower", CSSValueNarrower},
-#line 484 "CSSValueKeywords.gperf"
- {"palegreen", CSSValuePalegreen},
-#line 489 "CSSValueKeywords.gperf"
- {"peru", CSSValuePeru},
+#line 198 "CSSValueKeywords.gperf"
+ {"table-caption", CSSValueTableCaption},
+#line 136 "CSSValueKeywords.gperf"
+ {"source-atop", CSSValueSourceAtop},
+#line 415 "CSSValueKeywords.gperf"
+ {"darkmagenta", CSSValueDarkmagenta},
+#line 50 "CSSValueKeywords.gperf"
+ {"x-small", CSSValueXSmall},
+#line 523 "CSSValueKeywords.gperf"
+ {"srgb", CSSValueSrgb},
+#line 227 "CSSValueKeywords.gperf"
+ {"col-resize", CSSValueColResize},
+#line 238 "CSSValueKeywords.gperf"
+ {"uppercase", CSSValueUppercase},
+#line 302 "CSSValueKeywords.gperf"
+ {"fast", CSSValueFast},
#line 131 "CSSValueKeywords.gperf"
{"clear", CSSValueClear},
-#line 52 "CSSValueKeywords.gperf"
- {"medium", CSSValueMedium},
-#line 477 "CSSValueKeywords.gperf"
- {"moccasin", CSSValueMoccasin},
-#line 162 "CSSValueKeywords.gperf"
- {"inside", CSSValueInside},
-#line 499 "CSSValueKeywords.gperf"
- {"seashell", CSSValueSeashell},
-#line 513 "CSSValueKeywords.gperf"
- {"wheat", CSSValueWheat},
-#line 150 "CSSValueKeywords.gperf"
- {"top", CSSValueTop},
+#line 419 "CSSValueKeywords.gperf"
+ {"darkred", CSSValueDarkred},
+#line 487 "CSSValueKeywords.gperf"
+ {"palegreen", CSSValuePalegreen},
+#line 319 "CSSValueKeywords.gperf"
+ {"continuous", CSSValueContinuous},
+#line 80 "CSSValueKeywords.gperf"
+ {"green", CSSValueGreen},
+#line 290 "CSSValueKeywords.gperf"
+ {"horizontal", CSSValueHorizontal},
+#line 287 "CSSValueKeywords.gperf"
+ {"start", CSSValueStart},
+#line 318 "CSSValueKeywords.gperf"
+ {"wave", CSSValueWave},
+#line 166 "CSSValueKeywords.gperf"
+ {"decimal", CSSValueDecimal},
#line 156 "CSSValueKeywords.gperf"
{"center", CSSValueCenter},
-#line 474 "CSSValueKeywords.gperf"
- {"midnightblue", CSSValueMidnightblue},
-#line 532 "CSSValueKeywords.gperf"
+#line 260 "CSSValueKeywords.gperf"
+ {"level", CSSValueLevel},
+#line 25 "CSSValueKeywords.gperf"
+ {"menu", CSSValueMenu},
+#line 266 "CSSValueKeywords.gperf"
+ {"mix", CSSValueMix},
+#line 535 "CSSValueKeywords.gperf"
{"central", CSSValueCentral},
-#line 298 "CSSValueKeywords.gperf"
- {"up", CSSValueUp},
-#line 521 "CSSValueKeywords.gperf"
- {"linearrgb", CSSValueLinearrgb},
-#line 537 "CSSValueKeywords.gperf"
- {"hanging", CSSValueHanging},
-#line 398 "CSSValueKeywords.gperf"
- {"chartreuse", CSSValueChartreuse},
-#line 80 "CSSValueKeywords.gperf"
- {"green", CSSValueGreen},
-#line 89 "CSSValueKeywords.gperf"
- {"teal", CSSValueTeal},
-#line 245 "CSSValueKeywords.gperf"
- {"avoid", CSSValueAvoid},
-#line 372 "CSSValueKeywords.gperf"
- {"flat", CSSValueFlat},
-#line 343 "CSSValueKeywords.gperf"
- {"menulist", CSSValueMenulist},
-#line 255 "CSSValueKeywords.gperf"
- {"hand", CSSValueHand},
-#line 380 "CSSValueKeywords.gperf"
- {"reset", CSSValueReset},
-#line 175 "CSSValueKeywords.gperf"
- {"hebrew", CSSValueHebrew},
-#line 219 "CSSValueKeywords.gperf"
- {"se-resize", CSSValueSeResize},
-#line 37 "CSSValueKeywords.gperf"
- {"bold", CSSValueBold},
#line 154 "CSSValueKeywords.gperf"
{"left", CSSValueLeft},
-#line 528 "CSSValueKeywords.gperf"
- {"bevel", CSSValueBevel},
-#line 439 "CSSValueKeywords.gperf"
- {"indianred", CSSValueIndianred},
-#line 432 "CSSValueKeywords.gperf"
- {"gainsboro", CSSValueGainsboro},
-#line 322 "CSSValueKeywords.gperf"
- {"space", CSSValueSpace},
-#line 301 "CSSValueKeywords.gperf"
- {"fast", CSSValueFast},
-#line 33 "CSSValueKeywords.gperf"
- {"oblique", CSSValueOblique},
+#line 14 "CSSValueKeywords.gperf"
+ {"hidden", CSSValueHidden},
+#line 492 "CSSValueKeywords.gperf"
+ {"peru", CSSValuePeru},
+#line 467 "CSSValueKeywords.gperf"
+ {"magenta", CSSValueMagenta},
+#line 277 "CSSValueKeywords.gperf"
+ {"relative", CSSValueRelative},
+#line 132 "CSSValueKeywords.gperf"
+ {"copy", CSSValueCopy},
+#line 300 "CSSValueKeywords.gperf"
+ {"down", CSSValueDown},
+#line 52 "CSSValueKeywords.gperf"
+ {"medium", CSSValueMedium},
+#line 219 "CSSValueKeywords.gperf"
+ {"se-resize", CSSValueSeResize},
+#line 383 "CSSValueKeywords.gperf"
+ {"reset", CSSValueReset},
+#line 497 "CSSValueKeywords.gperf"
+ {"royalblue", CSSValueRoyalblue},
+#line 408 "CSSValueKeywords.gperf"
+ {"darkblue", CSSValueDarkblue},
#line 216 "CSSValueKeywords.gperf"
{"ne-resize", CSSValueNeResize},
-#line 259 "CSSValueKeywords.gperf"
- {"landscape", CSSValueLandscape},
-#line 246 "CSSValueKeywords.gperf"
- {"below", CSSValueBelow},
+#line 310 "CSSValueKeywords.gperf"
+ {"ignore", CSSValueIgnore},
+#line 97 "CSSValueKeywords.gperf"
+ {"appworkspace", CSSValueAppworkspace},
+#line 250 "CSSValueKeywords.gperf"
+ {"close-quote", CSSValueCloseQuote},
+#line 385 "CSSValueKeywords.gperf"
+ {"visiblefill", CSSValueVisiblefill},
+#line 484 "CSSValueKeywords.gperf"
+ {"orangered", CSSValueOrangered},
#line 120 "CSSValueKeywords.gperf"
{"window", CSSValueWindow},
-#line 271 "CSSValueKeywords.gperf"
- {"overline", CSSValueOverline},
-#line 434 "CSSValueKeywords.gperf"
- {"gold", CSSValueGold},
-#line 211 "CSSValueKeywords.gperf"
- {"no-drop", CSSValueNoDrop},
-#line 524 "CSSValueKeywords.gperf"
- {"crispedges", CSSValueCrispedges},
-#line 384 "CSSValueKeywords.gperf"
- {"painted", CSSValuePainted},
-#line 490 "CSSValueKeywords.gperf"
- {"pink", CSSValuePink},
-#line 391 "CSSValueKeywords.gperf"
- {"beige", CSSValueBeige},
-#line 141 "CSSValueKeywords.gperf"
- {"xor", CSSValueXor},
-#line 288 "CSSValueKeywords.gperf"
- {"reverse", CSSValueReverse},
-#line 146 "CSSValueKeywords.gperf"
- {"sub", CSSValueSub},
-#line 84 "CSSValueKeywords.gperf"
- {"olive", CSSValueOlive},
-#line 265 "CSSValueKeywords.gperf"
- {"mix", CSSValueMix},
-#line 114 "CSSValueKeywords.gperf"
- {"scrollbar", CSSValueScrollbar},
-#line 361 "CSSValueKeywords.gperf"
- {"border", CSSValueBorder},
-#line 38 "CSSValueKeywords.gperf"
- {"bolder", CSSValueBolder},
-#line 23 "CSSValueKeywords.gperf"
- {"caption", CSSValueCaption},
-#line 242 "CSSValueKeywords.gperf"
- {"above", CSSValueAbove},
-#line 430 "CSSValueKeywords.gperf"
- {"floralwhite", CSSValueFloralwhite},
-#line 507 "CSSValueKeywords.gperf"
- {"steelblue", CSSValueSteelblue},
-#line 536 "CSSValueKeywords.gperf"
- {"alphabetic", CSSValueAlphabetic},
-#line 281 "CSSValueKeywords.gperf"
- {"thick", CSSValueThick},
-#line 491 "CSSValueKeywords.gperf"
- {"plum", CSSValuePlum},
-#line 402 "CSSValueKeywords.gperf"
- {"cornsilk", CSSValueCornsilk},
-#line 86 "CSSValueKeywords.gperf"
- {"purple", CSSValuePurple},
-#line 386 "CSSValueKeywords.gperf"
- {"stroke", CSSValueStroke},
-#line 50 "CSSValueKeywords.gperf"
- {"x-small", CSSValueXSmall},
-#line 69 "CSSValueKeywords.gperf"
- {"serif", CSSValueSerif},
-#line 392 "CSSValueKeywords.gperf"
- {"bisque", CSSValueBisque},
-#line 466 "CSSValueKeywords.gperf"
- {"mediumblue", CSSValueMediumblue},
-#line 431 "CSSValueKeywords.gperf"
- {"forestgreen", CSSValueForestgreen},
-#line 535 "CSSValueKeywords.gperf"
- {"ideographic", CSSValueIdeographic},
-#line 512 "CSSValueKeywords.gperf"
- {"violet", CSSValueViolet},
-#line 201 "CSSValueKeywords.gperf"
- {"auto", CSSValueAuto},
-#line 390 "CSSValueKeywords.gperf"
- {"azure", CSSValueAzure},
-#line 443 "CSSValueKeywords.gperf"
+#line 516 "CSSValueKeywords.gperf"
+ {"wheat", CSSValueWheat},
+#line 485 "CSSValueKeywords.gperf"
+ {"orchid", CSSValueOrchid},
+#line 438 "CSSValueKeywords.gperf"
+ {"goldenrod", CSSValueGoldenrod},
+#line 127 "CSSValueKeywords.gperf"
+ {"repeat", CSSValueRepeat},
+#line 255 "CSSValueKeywords.gperf"
+ {"hand", CSSValueHand},
+#line 279 "CSSValueKeywords.gperf"
+ {"separate", CSSValueSeparate},
+#line 267 "CSSValueKeywords.gperf"
+ {"no-close-quote", CSSValueNoCloseQuote},
+#line 312 "CSSValueKeywords.gperf"
+ {"min-intrinsic", CSSValueMinIntrinsic},
+#line 346 "CSSValueKeywords.gperf"
+ {"menulist", CSSValueMenulist},
+#line 202 "CSSValueKeywords.gperf"
+ {"crosshair", CSSValueCrosshair},
+#line 446 "CSSValueKeywords.gperf"
{"lavender", CSSValueLavender},
-#line 75 "CSSValueKeywords.gperf"
- {"aqua", CSSValueAqua},
-#line 263 "CSSValueKeywords.gperf"
+#line 133 "CSSValueKeywords.gperf"
+ {"source-over", CSSValueSourceOver},
+#line 275 "CSSValueKeywords.gperf"
+ {"pre-line", CSSValuePreLine},
+#line 412 "CSSValueKeywords.gperf"
+ {"darkgreen", CSSValueDarkgreen},
+#line 422 "CSSValueKeywords.gperf"
+ {"darkslateblue", CSSValueDarkslateblue},
+#line 268 "CSSValueKeywords.gperf"
+ {"no-open-quote", CSSValueNoOpenQuote},
+#line 421 "CSSValueKeywords.gperf"
+ {"darkseagreen", CSSValueDarkseagreen},
+#line 417 "CSSValueKeywords.gperf"
+ {"darkorange", CSSValueDarkorange},
+#line 539 "CSSValueKeywords.gperf"
+ {"alphabetic", CSSValueAlphabetic},
+#line 264 "CSSValueKeywords.gperf"
{"lower", CSSValueLower},
-#line 237 "CSSValueKeywords.gperf"
- {"capitalize", CSSValueCapitalize},
-#line 468 "CSSValueKeywords.gperf"
- {"mediumpurple", CSSValueMediumpurple},
-#line 88 "CSSValueKeywords.gperf"
- {"silver", CSSValueSilver},
-#line 454 "CSSValueKeywords.gperf"
- {"lightpink", CSSValueLightpink},
-#line 297 "CSSValueKeywords.gperf"
- {"ahead", CSSValueAhead},
-#line 363 "CSSValueKeywords.gperf"
- {"padding", CSSValuePadding},
-#line 449 "CSSValueKeywords.gperf"
- {"lightcyan", CSSValueLightcyan},
-#line 248 "CSSValueKeywords.gperf"
- {"blink", CSSValueBlink},
+#line 380 "CSSValueKeywords.gperf"
+ {"ease-out", CSSValueEaseOut},
+#line 543 "CSSValueKeywords.gperf"
+ {"no-change", CSSValueNoChange},
+#line 286 "CSSValueKeywords.gperf"
+ {"stretch", CSSValueStretch},
+#line 196 "CSSValueKeywords.gperf"
+ {"table-column", CSSValueTableColumn},
#line 239 "CSSValueKeywords.gperf"
{"lowercase", CSSValueLowercase},
-#line 498 "CSSValueKeywords.gperf"
- {"seagreen", CSSValueSeagreen},
-#line 294 "CSSValueKeywords.gperf"
- {"multiple", CSSValueMultiple},
-#line 77 "CSSValueKeywords.gperf"
- {"blue", CSSValueBlue},
-#line 184 "CSSValueKeywords.gperf"
- {"block", CSSValueBlock},
-#line 469 "CSSValueKeywords.gperf"
- {"mediumseagreen", CSSValueMediumseagreen},
-#line 470 "CSSValueKeywords.gperf"
- {"mediumslateblue", CSSValueMediumslateblue},
-#line 514 "CSSValueKeywords.gperf"
- {"whitesmoke", CSSValueWhitesmoke},
-#line 18 "CSSValueKeywords.gperf"
- {"outset", CSSValueOutset},
-#line 368 "CSSValueKeywords.gperf"
- {"visual", CSSValueVisual},
-#line 268 "CSSValueKeywords.gperf"
+#line 416 "CSSValueKeywords.gperf"
+ {"darkolivegreen", CSSValueDarkolivegreen},
+#line 509 "CSSValueKeywords.gperf"
+ {"springgreen", CSSValueSpringgreen},
+#line 531 "CSSValueKeywords.gperf"
+ {"bevel", CSSValueBevel},
+#line 179 "CSSValueKeywords.gperf"
+ {"hiragana", CSSValueHiragana},
+#line 521 "CSSValueKeywords.gperf"
+ {"accumulate", CSSValueAccumulate},
+#line 246 "CSSValueKeywords.gperf"
+ {"below", CSSValueBelow},
+#line 269 "CSSValueKeywords.gperf"
{"nowrap", CSSValueNowrap},
-#line 232 "CSSValueKeywords.gperf"
- {"all-scroll", CSSValueAllScroll},
-#line 438 "CSSValueKeywords.gperf"
- {"hotpink", CSSValueHotpink},
-#line 116 "CSSValueKeywords.gperf"
- {"threedface", CSSValueThreedface},
-#line 481 "CSSValueKeywords.gperf"
- {"orangered", CSSValueOrangered},
-#line 482 "CSSValueKeywords.gperf"
- {"orchid", CSSValueOrchid},
+#line 69 "CSSValueKeywords.gperf"
+ {"serif", CSSValueSerif},
+#line 435 "CSSValueKeywords.gperf"
+ {"gainsboro", CSSValueGainsboro},
#line 223 "CSSValueKeywords.gperf"
{"ew-resize", CSSValueEwResize},
#line 220 "CSSValueKeywords.gperf"
{"sw-resize", CSSValueSwResize},
-#line 388 "CSSValueKeywords.gperf"
- {"antiquewhite", CSSValueAntiquewhite},
-#line 461 "CSSValueKeywords.gperf"
- {"lightyellow", CSSValueLightyellow},
-#line 16 "CSSValueKeywords.gperf"
- {"groove", CSSValueGroove},
-#line 185 "CSSValueKeywords.gperf"
- {"list-item", CSSValueListItem},
-#line 401 "CSSValueKeywords.gperf"
- {"cornflowerblue", CSSValueCornflowerblue},
+#line 135 "CSSValueKeywords.gperf"
+ {"source-out", CSSValueSourceOut},
+#line 394 "CSSValueKeywords.gperf"
+ {"beige", CSSValueBeige},
+#line 60 "CSSValueKeywords.gperf"
+ {"narrower", CSSValueNarrower},
#line 217 "CSSValueKeywords.gperf"
{"nw-resize", CSSValueNwResize},
-#line 63 "CSSValueKeywords.gperf"
- {"condensed", CSSValueCondensed},
-#line 240 "CSSValueKeywords.gperf"
- {"visible", CSSValueVisible},
-#line 165 "CSSValueKeywords.gperf"
- {"square", CSSValueSquare},
-#line 177 "CSSValueKeywords.gperf"
- {"georgian", CSSValueGeorgian},
-#line 35 "CSSValueKeywords.gperf"
- {"small-caps", CSSValueSmallCaps},
-#line 331 "CSSValueKeywords.gperf"
+#line 332 "CSSValueKeywords.gperf"
{"listbox", CSSValueListbox},
-#line 197 "CSSValueKeywords.gperf"
- {"table-cell", CSSValueTableCell},
-#line 376 "CSSValueKeywords.gperf"
- {"ease-in", CSSValueEaseIn},
-#line 476 "CSSValueKeywords.gperf"
- {"mistyrose", CSSValueMistyrose},
-#line 83 "CSSValueKeywords.gperf"
- {"navy", CSSValueNavy},
-#line 76 "CSSValueKeywords.gperf"
- {"black", CSSValueBlack},
-#line 495 "CSSValueKeywords.gperf"
- {"saddlebrown", CSSValueSaddlebrown},
#line 441 "CSSValueKeywords.gperf"
- {"ivory", CSSValueIvory},
-#line 227 "CSSValueKeywords.gperf"
- {"col-resize", CSSValueColResize},
-#line 389 "CSSValueKeywords.gperf"
- {"aquamarine", CSSValueAquamarine},
-#line 54 "CSSValueKeywords.gperf"
- {"x-large", CSSValueXLarge},
-#line 526 "CSSValueKeywords.gperf"
- {"butt", CSSValueButt},
+ {"hotpink", CSSValueHotpink},
+#line 99 "CSSValueKeywords.gperf"
+ {"buttonface", CSSValueButtonface},
+#line 486 "CSSValueKeywords.gperf"
+ {"palegoldenrod", CSSValuePalegoldenrod},
+#line 524 "CSSValueKeywords.gperf"
+ {"linearrgb", CSSValueLinearrgb},
+#line 20 "CSSValueKeywords.gperf"
+ {"dashed", CSSValueDashed},
#line 111 "CSSValueKeywords.gperf"
{"infotext", CSSValueInfotext},
-#line 190 "CSSValueKeywords.gperf"
- {"inline-table", CSSValueInlineTable},
-#line 428 "CSSValueKeywords.gperf"
- {"dodgerblue", CSSValueDodgerblue},
-#line 127 "CSSValueKeywords.gperf"
- {"repeat", CSSValueRepeat},
-#line 506 "CSSValueKeywords.gperf"
- {"springgreen", CSSValueSpringgreen},
-#line 278 "CSSValueKeywords.gperf"
- {"separate", CSSValueSeparate},
-#line 328 "CSSValueKeywords.gperf"
- {"button", CSSValueButton},
-#line 311 "CSSValueKeywords.gperf"
- {"min-intrinsic", CSSValueMinIntrinsic},
+#line 112 "CSSValueKeywords.gperf"
+ {"match", CSSValueMatch},
+#line 321 "CSSValueKeywords.gperf"
+ {"break-all", CSSValueBreakAll},
+#line 249 "CSSValueKeywords.gperf"
+ {"both", CSSValueBoth},
+#line 401 "CSSValueKeywords.gperf"
+ {"chartreuse", CSSValueChartreuse},
+#line 498 "CSSValueKeywords.gperf"
+ {"saddlebrown", CSSValueSaddlebrown},
+#line 330 "CSSValueKeywords.gperf"
+ {"button-bevel", CSSValueButtonBevel},
+#line 414 "CSSValueKeywords.gperf"
+ {"darkkhaki", CSSValueDarkkhaki},
+#line 66 "CSSValueKeywords.gperf"
+ {"expanded", CSSValueExpanded},
+#line 231 "CSSValueKeywords.gperf"
+ {"help", CSSValueHelp},
+#line 432 "CSSValueKeywords.gperf"
+ {"firebrick", CSSValueFirebrick},
+#line 520 "CSSValueKeywords.gperf"
+ {"evenodd", CSSValueEvenodd},
+#line 142 "CSSValueKeywords.gperf"
+ {"plus-darker", CSSValuePlusDarker},
+#line 272 "CSSValueKeywords.gperf"
+ {"overline", CSSValueOverline},
+#line 409 "CSSValueKeywords.gperf"
+ {"darkcyan", CSSValueDarkcyan},
+#line 292 "CSSValueKeywords.gperf"
+ {"inline-axis", CSSValueInlineAxis},
+#line 107 "CSSValueKeywords.gperf"
+ {"inactiveborder", CSSValueInactiveborder},
+#line 434 "CSSValueKeywords.gperf"
+ {"forestgreen", CSSValueForestgreen},
+#line 103 "CSSValueKeywords.gperf"
+ {"captiontext", CSSValueCaptiontext},
+#line 522 "CSSValueKeywords.gperf"
+ {"new", CSSValueNew},
#line 79 "CSSValueKeywords.gperf"
{"gray", CSSValueGray},
-#line 117 "CSSValueKeywords.gperf"
- {"threedhighlight", CSSValueThreedhighlight},
-#line 314 "CSSValueKeywords.gperf"
- {"discard", CSSValueDiscard},
-#line 27 "CSSValueKeywords.gperf"
- {"small-caption", CSSValueSmallCaption},
-#line 19 "CSSValueKeywords.gperf"
- {"dotted", CSSValueDotted},
-#line 124 "CSSValueKeywords.gperf"
- {"currentcolor", CSSValueCurrentcolor},
-#line 525 "CSSValueKeywords.gperf"
- {"geometricprecision", CSSValueGeometricprecision},
-#line 295 "CSSValueKeywords.gperf"
+#line 194 "CSSValueKeywords.gperf"
+ {"table-row", CSSValueTableRow},
+#line 541 "CSSValueKeywords.gperf"
+ {"mathematical", CSSValueMathematical},
+#line 212 "CSSValueKeywords.gperf"
+ {"not-allowed", CSSValueNotAllowed},
+#line 431 "CSSValueKeywords.gperf"
+ {"dodgerblue", CSSValueDodgerblue},
+#line 479 "CSSValueKeywords.gperf"
+ {"mistyrose", CSSValueMistyrose},
+#line 174 "CSSValueKeywords.gperf"
+ {"upper-latin", CSSValueUpperLatin},
+#line 109 "CSSValueKeywords.gperf"
+ {"inactivecaptiontext", CSSValueInactivecaptiontext},
+#line 501 "CSSValueKeywords.gperf"
+ {"seagreen", CSSValueSeagreen},
+#line 351 "CSSValueKeywords.gperf"
+ {"slider-vertical", CSSValueSliderVertical},
+#line 54 "CSSValueKeywords.gperf"
+ {"x-large", CSSValueXLarge},
+#line 83 "CSSValueKeywords.gperf"
+ {"navy", CSSValueNavy},
+#line 64 "CSSValueKeywords.gperf"
+ {"semi-condensed", CSSValueSemiCondensed},
+#line 78 "CSSValueKeywords.gperf"
+ {"fuchsia", CSSValueFuchsia},
+#line 410 "CSSValueKeywords.gperf"
+ {"darkgoldenrod", CSSValueDarkgoldenrod},
+#line 296 "CSSValueKeywords.gperf"
{"forwards", CSSValueForwards},
-#line 519 "CSSValueKeywords.gperf"
- {"new", CSSValueNew},
-#line 370 "CSSValueKeywords.gperf"
- {"running", CSSValueRunning},
+#line 502 "CSSValueKeywords.gperf"
+ {"seashell", CSSValueSeashell},
+#line 297 "CSSValueKeywords.gperf"
+ {"backwards", CSSValueBackwards},
#line 119 "CSSValueKeywords.gperf"
{"threedshadow", CSSValueThreedshadow},
-#line 20 "CSSValueKeywords.gperf"
- {"dashed", CSSValueDashed},
-#line 377 "CSSValueKeywords.gperf"
- {"ease-out", CSSValueEaseOut},
-#line 198 "CSSValueKeywords.gperf"
- {"table-caption", CSSValueTableCaption},
-#line 485 "CSSValueKeywords.gperf"
+#line 376 "CSSValueKeywords.gperf"
+ {"preserve-3d", CSSValuePreserve3d},
+#line 427 "CSSValueKeywords.gperf"
+ {"deeppink", CSSValueDeeppink},
+#line 488 "CSSValueKeywords.gperf"
{"paleturquoise", CSSValuePaleturquoise},
-#line 379 "CSSValueKeywords.gperf"
- {"document", CSSValueDocument},
-#line 196 "CSSValueKeywords.gperf"
- {"table-column", CSSValueTableColumn},
-#line 444 "CSSValueKeywords.gperf"
- {"lavenderblush", CSSValueLavenderblush},
-#line 453 "CSSValueKeywords.gperf"
- {"lightgrey", CSSValueLightgrey},
-#line 451 "CSSValueKeywords.gperf"
- {"lightgray", CSSValueLightgray},
-#line 181 "CSSValueKeywords.gperf"
- {"hiragana-iroha", CSSValueHiraganaIroha},
-#line 106 "CSSValueKeywords.gperf"
- {"highlighttext", CSSValueHighlighttext},
-#line 108 "CSSValueKeywords.gperf"
- {"inactivecaption", CSSValueInactivecaption},
-#line 467 "CSSValueKeywords.gperf"
- {"mediumorchid", CSSValueMediumorchid},
-#line 194 "CSSValueKeywords.gperf"
- {"table-row", CSSValueTableRow},
-#line 121 "CSSValueKeywords.gperf"
- {"windowframe", CSSValueWindowframe},
-#line 299 "CSSValueKeywords.gperf"
- {"down", CSSValueDown},
-#line 518 "CSSValueKeywords.gperf"
- {"accumulate", CSSValueAccumulate},
#line 203 "CSSValueKeywords.gperf"
{"default", CSSValueDefault},
-#line 445 "CSSValueKeywords.gperf"
- {"lawngreen", CSSValueLawngreen},
-#line 262 "CSSValueKeywords.gperf"
- {"loud", CSSValueLoud},
-#line 274 "CSSValueKeywords.gperf"
- {"pre-line", CSSValuePreLine},
-#line 459 "CSSValueKeywords.gperf"
- {"lightslategrey", CSSValueLightslategrey},
-#line 458 "CSSValueKeywords.gperf"
- {"lightslategray", CSSValueLightslategray},
-#line 290 "CSSValueKeywords.gperf"
- {"vertical", CSSValueVertical},
-#line 238 "CSSValueKeywords.gperf"
- {"uppercase", CSSValueUppercase},
-#line 522 "CSSValueKeywords.gperf"
- {"optimizespeed", CSSValueOptimizespeed},
-#line 229 "CSSValueKeywords.gperf"
- {"text", CSSValueText},
-#line 91 "CSSValueKeywords.gperf"
- {"yellow", CSSValueYellow},
-#line 261 "CSSValueKeywords.gperf"
- {"line-through", CSSValueLineThrough},
-#line 132 "CSSValueKeywords.gperf"
- {"copy", CSSValueCopy},
-#line 504 "CSSValueKeywords.gperf"
- {"slategrey", CSSValueSlategrey},
-#line 503 "CSSValueKeywords.gperf"
- {"slategray", CSSValueSlategray},
-#line 435 "CSSValueKeywords.gperf"
- {"goldenrod", CSSValueGoldenrod},
-#line 471 "CSSValueKeywords.gperf"
- {"mediumspringgreen", CSSValueMediumspringgreen},
-#line 446 "CSSValueKeywords.gperf"
- {"lemonchiffon", CSSValueLemonchiffon},
-#line 393 "CSSValueKeywords.gperf"
+#line 138 "CSSValueKeywords.gperf"
+ {"destination-in", CSSValueDestinationIn},
+#line 396 "CSSValueKeywords.gperf"
{"blanchedalmond", CSSValueBlanchedalmond},
-#line 125 "CSSValueKeywords.gperf"
- {"grey", CSSValueGrey},
-#line 161 "CSSValueKeywords.gperf"
- {"outside", CSSValueOutside},
-#line 166 "CSSValueKeywords.gperf"
- {"decimal", CSSValueDecimal},
-#line 113 "CSSValueKeywords.gperf"
- {"menutext", CSSValueMenutext},
-#line 437 "CSSValueKeywords.gperf"
- {"honeydew", CSSValueHoneydew},
-#line 276 "CSSValueKeywords.gperf"
- {"relative", CSSValueRelative},
-#line 147 "CSSValueKeywords.gperf"
- {"super", CSSValueSuper},
-#line 417 "CSSValueKeywords.gperf"
- {"darksalmon", CSSValueDarksalmon},
-#line 360 "CSSValueKeywords.gperf"
- {"round", CSSValueRound},
-#line 72 "CSSValueKeywords.gperf"
- {"fantasy", CSSValueFantasy},
-#line 465 "CSSValueKeywords.gperf"
- {"mediumaquamarine", CSSValueMediumaquamarine},
-#line 493 "CSSValueKeywords.gperf"
- {"rosybrown", CSSValueRosybrown},
-#line 371 "CSSValueKeywords.gperf"
- {"paused", CSSValuePaused},
-#line 22 "CSSValueKeywords.gperf"
- {"double", CSSValueDouble},
-#line 270 "CSSValueKeywords.gperf"
- {"overlay", CSSValueOverlay},
-#line 358 "CSSValueKeywords.gperf"
- {"textarea", CSSValueTextarea},
-#line 429 "CSSValueKeywords.gperf"
- {"firebrick", CSSValueFirebrick},
-#line 382 "CSSValueKeywords.gperf"
- {"visiblefill", CSSValueVisiblefill},
-#line 517 "CSSValueKeywords.gperf"
- {"evenodd", CSSValueEvenodd},
-#line 118 "CSSValueKeywords.gperf"
- {"threedlightshadow", CSSValueThreedlightshadow},
-#line 275 "CSSValueKeywords.gperf"
- {"pre-wrap", CSSValuePreWrap},
-#line 511 "CSSValueKeywords.gperf"
- {"turquoise", CSSValueTurquoise},
+#line 544 "CSSValueKeywords.gperf"
+ {"reset-size", CSSValueResetSize},
+#line 510 "CSSValueKeywords.gperf"
+ {"steelblue", CSSValueSteelblue},
#line 70 "CSSValueKeywords.gperf"
{"sans-serif", CSSValueSansSerif},
-#line 31 "CSSValueKeywords.gperf"
- {"status-bar", CSSValueStatusBar},
-#line 483 "CSSValueKeywords.gperf"
- {"palegoldenrod", CSSValuePalegoldenrod},
+#line 341 "CSSValueKeywords.gperf"
+ {"media-slider", CSSValueMediaSlider},
+#line 229 "CSSValueKeywords.gperf"
+ {"text", CSSValueText},
+#line 95 "CSSValueKeywords.gperf"
+ {"activeborder", CSSValueActiveborder},
+#line 293 "CSSValueKeywords.gperf"
+ {"block-axis", CSSValueBlockAxis},
+#line 289 "CSSValueKeywords.gperf"
+ {"reverse", CSSValueReverse},
+#line 247 "CSSValueKeywords.gperf"
+ {"bidi-override", CSSValueBidiOverride},
+#line 102 "CSSValueKeywords.gperf"
+ {"buttontext", CSSValueButtontext},
+#line 140 "CSSValueKeywords.gperf"
+ {"destination-atop", CSSValueDestinationAtop},
+#line 469 "CSSValueKeywords.gperf"
+ {"mediumblue", CSSValueMediumblue},
+#line 476 "CSSValueKeywords.gperf"
+ {"mediumvioletred", CSSValueMediumvioletred},
+#line 444 "CSSValueKeywords.gperf"
+ {"ivory", CSSValueIvory},
+#line 381 "CSSValueKeywords.gperf"
+ {"ease-in-out", CSSValueEaseInOut},
+#line 540 "CSSValueKeywords.gperf"
+ {"hanging", CSSValueHanging},
+#line 367 "CSSValueKeywords.gperf"
+ {"content-box", CSSValueContentBox},
+#line 458 "CSSValueKeywords.gperf"
+ {"lightsalmon", CSSValueLightsalmon},
+#line 399 "CSSValueKeywords.gperf"
+ {"burlywood", CSSValueBurlywood},
+#line 436 "CSSValueKeywords.gperf"
+ {"ghostwhite", CSSValueGhostwhite},
+#line 177 "CSSValueKeywords.gperf"
+ {"georgian", CSSValueGeorgian},
+#line 418 "CSSValueKeywords.gperf"
+ {"darkorchid", CSSValueDarkorchid},
#line 244 "CSSValueKeywords.gperf"
{"always", CSSValueAlways},
-#line 436 "CSSValueKeywords.gperf"
- {"greenyellow", CSSValueGreenyellow},
-#line 250 "CSSValueKeywords.gperf"
- {"close-quote", CSSValueCloseQuote},
-#line 480 "CSSValueKeywords.gperf"
- {"olivedrab", CSSValueOlivedrab},
-#line 541 "CSSValueKeywords.gperf"
- {"reset-size", CSSValueResetSize},
-#line 212 "CSSValueKeywords.gperf"
- {"not-allowed", CSSValueNotAllowed},
-#line 96 "CSSValueKeywords.gperf"
- {"activecaption", CSSValueActivecaption},
-#line 99 "CSSValueKeywords.gperf"
- {"buttonface", CSSValueButtonface},
-#line 122 "CSSValueKeywords.gperf"
- {"windowtext", CSSValueWindowtext},
-#line 472 "CSSValueKeywords.gperf"
- {"mediumturquoise", CSSValueMediumturquoise},
+#line 169 "CSSValueKeywords.gperf"
+ {"upper-roman", CSSValueUpperRoman},
+#line 172 "CSSValueKeywords.gperf"
+ {"lower-latin", CSSValueLowerLatin},
+#line 448 "CSSValueKeywords.gperf"
+ {"lawngreen", CSSValueLawngreen},
#line 49 "CSSValueKeywords.gperf"
{"xx-small", CSSValueXxSmall},
-#line 71 "CSSValueKeywords.gperf"
- {"cursive", CSSValueCursive},
-#line 266 "CSSValueKeywords.gperf"
- {"no-close-quote", CSSValueNoCloseQuote},
-#line 427 "CSSValueKeywords.gperf"
+#line 473 "CSSValueKeywords.gperf"
+ {"mediumslateblue", CSSValueMediumslateblue},
+#line 270 "CSSValueKeywords.gperf"
+ {"open-quote", CSSValueOpenQuote},
+#line 472 "CSSValueKeywords.gperf"
+ {"mediumseagreen", CSSValueMediumseagreen},
+#line 325 "CSSValueKeywords.gperf"
+ {"checkbox", CSSValueCheckbox},
+#line 157 "CSSValueKeywords.gperf"
+ {"justify", CSSValueJustify},
+#line 226 "CSSValueKeywords.gperf"
+ {"nwse-resize", CSSValueNwseResize},
+#line 254 "CSSValueKeywords.gperf"
+ {"fixed", CSSValueFixed},
+#line 72 "CSSValueKeywords.gperf"
+ {"fantasy", CSSValueFantasy},
+#line 425 "CSSValueKeywords.gperf"
+ {"darkturquoise", CSSValueDarkturquoise},
+#line 457 "CSSValueKeywords.gperf"
+ {"lightpink", CSSValueLightpink},
+#line 276 "CSSValueKeywords.gperf"
+ {"pre-wrap", CSSValuePreWrap},
+#line 125 "CSSValueKeywords.gperf"
+ {"grey", CSSValueGrey},
+#line 471 "CSSValueKeywords.gperf"
+ {"mediumpurple", CSSValueMediumpurple},
+#line 507 "CSSValueKeywords.gperf"
+ {"slategrey", CSSValueSlategrey},
+#line 328 "CSSValueKeywords.gperf"
+ {"square-button", CSSValueSquareButton},
+#line 506 "CSSValueKeywords.gperf"
+ {"slategray", CSSValueSlategray},
+#line 430 "CSSValueKeywords.gperf"
{"dimgrey", CSSValueDimgrey},
-#line 426 "CSSValueKeywords.gperf"
+#line 137 "CSSValueKeywords.gperf"
+ {"destination-over", CSSValueDestinationOver},
+#line 429 "CSSValueKeywords.gperf"
{"dimgray", CSSValueDimgray},
-#line 488 "CSSValueKeywords.gperf"
- {"peachpuff", CSSValuePeachpuff},
+#line 208 "CSSValueKeywords.gperf"
+ {"context-menu", CSSValueContextMenu},
+#line 528 "CSSValueKeywords.gperf"
+ {"geometricprecision", CSSValueGeometricprecision},
+#line 91 "CSSValueKeywords.gperf"
+ {"yellow", CSSValueYellow},
+#line 316 "CSSValueKeywords.gperf"
+ {"dot-dash", CSSValueDotDash},
+#line 477 "CSSValueKeywords.gperf"
+ {"midnightblue", CSSValueMidnightblue},
+#line 155 "CSSValueKeywords.gperf"
+ {"right", CSSValueRight},
+#line 98 "CSSValueKeywords.gperf"
+ {"background", CSSValueBackground},
+#line 39 "CSSValueKeywords.gperf"
+ {"lighter", CSSValueLighter},
+#line 361 "CSSValueKeywords.gperf"
+ {"textarea", CSSValueTextarea},
#line 225 "CSSValueKeywords.gperf"
{"nesw-resize", CSSValueNeswResize},
-#line 267 "CSSValueKeywords.gperf"
- {"no-open-quote", CSSValueNoOpenQuote},
-#line 539 "CSSValueKeywords.gperf"
+#line 468 "CSSValueKeywords.gperf"
+ {"mediumaquamarine", CSSValueMediumaquamarine},
+#line 110 "CSSValueKeywords.gperf"
+ {"infobackground", CSSValueInfobackground},
+#line 113 "CSSValueKeywords.gperf"
+ {"menutext", CSSValueMenutext},
+#line 542 "CSSValueKeywords.gperf"
{"use-script", CSSValueUseScript},
-#line 405 "CSSValueKeywords.gperf"
- {"darkblue", CSSValueDarkblue},
-#line 291 "CSSValueKeywords.gperf"
- {"inline-axis", CSSValueInlineAxis},
-#line 352 "CSSValueKeywords.gperf"
- {"searchfield", CSSValueSearchfield},
-#line 381 "CSSValueKeywords.gperf"
- {"visiblepainted", CSSValueVisiblepainted},
-#line 254 "CSSValueKeywords.gperf"
- {"fixed", CSSValueFixed},
-#line 442 "CSSValueKeywords.gperf"
- {"khaki", CSSValueKhaki},
-#line 412 "CSSValueKeywords.gperf"
- {"darkmagenta", CSSValueDarkmagenta},
-#line 103 "CSSValueKeywords.gperf"
- {"captiontext", CSSValueCaptiontext},
-#line 515 "CSSValueKeywords.gperf"
- {"yellowgreen", CSSValueYellowgreen},
-#line 486 "CSSValueKeywords.gperf"
- {"palevioletred", CSSValuePalevioletred},
-#line 487 "CSSValueKeywords.gperf"
- {"papayawhip", CSSValuePapayawhip},
-#line 492 "CSSValueKeywords.gperf"
+#line 481 "CSSValueKeywords.gperf"
+ {"navajowhite", CSSValueNavajowhite},
+#line 61 "CSSValueKeywords.gperf"
+ {"ultra-condensed", CSSValueUltraCondensed},
+#line 451 "CSSValueKeywords.gperf"
+ {"lightcoral", CSSValueLightcoral},
+#line 143 "CSSValueKeywords.gperf"
+ {"plus-lighter", CSSValuePlusLighter},
+#line 362 "CSSValueKeywords.gperf"
+ {"caps-lock-indicator", CSSValueCapsLockIndicator},
+#line 168 "CSSValueKeywords.gperf"
+ {"lower-roman", CSSValueLowerRoman},
+#line 495 "CSSValueKeywords.gperf"
{"powderblue", CSSValuePowderblue},
-#line 78 "CSSValueKeywords.gperf"
- {"fuchsia", CSSValueFuchsia},
-#line 409 "CSSValueKeywords.gperf"
- {"darkgreen", CSSValueDarkgreen},
-#line 100 "CSSValueKeywords.gperf"
- {"buttonhighlight", CSSValueButtonhighlight},
-#line 418 "CSSValueKeywords.gperf"
- {"darkseagreen", CSSValueDarkseagreen},
-#line 419 "CSSValueKeywords.gperf"
- {"darkslateblue", CSSValueDarkslateblue},
-#line 414 "CSSValueKeywords.gperf"
- {"darkorange", CSSValueDarkorange},
-#line 186 "CSSValueKeywords.gperf"
- {"run-in", CSSValueRunIn},
-#line 171 "CSSValueKeywords.gperf"
- {"lower-alpha", CSSValueLowerAlpha},
#line 101 "CSSValueKeywords.gperf"
{"buttonshadow", CSSValueButtonshadow},
-#line 180 "CSSValueKeywords.gperf"
- {"katakana", CSSValueKatakana},
-#line 347 "CSSValueKeywords.gperf"
- {"slider-horizontal", CSSValueSliderHorizontal},
-#line 134 "CSSValueKeywords.gperf"
- {"source-in", CSSValueSourceIn},
-#line 188 "CSSValueKeywords.gperf"
- {"inline-block", CSSValueInlineBlock},
-#line 172 "CSSValueKeywords.gperf"
- {"lower-latin", CSSValueLowerLatin},
-#line 394 "CSSValueKeywords.gperf"
- {"blueviolet", CSSValueBlueviolet},
-#line 136 "CSSValueKeywords.gperf"
- {"source-atop", CSSValueSourceAtop},
-#line 226 "CSSValueKeywords.gperf"
- {"nwse-resize", CSSValueNwseResize},
-#line 497 "CSSValueKeywords.gperf"
- {"sandybrown", CSSValueSandybrown},
-#line 208 "CSSValueKeywords.gperf"
- {"context-menu", CSSValueContextMenu},
-#line 168 "CSSValueKeywords.gperf"
- {"lower-roman", CSSValueLowerRoman},
-#line 344 "CSSValueKeywords.gperf"
- {"menulist-button", CSSValueMenulistButton},
-#line 319 "CSSValueKeywords.gperf"
- {"skip-white-space", CSSValueSkipWhiteSpace},
-#line 55 "CSSValueKeywords.gperf"
- {"xx-large", CSSValueXxLarge},
-#line 338 "CSSValueKeywords.gperf"
- {"media-slider", CSSValueMediaSlider},
-#line 366 "CSSValueKeywords.gperf"
- {"content-box", CSSValueContentBox},
-#line 457 "CSSValueKeywords.gperf"
- {"lightskyblue", CSSValueLightskyblue},
-#line 315 "CSSValueKeywords.gperf"
- {"dot-dash", CSSValueDotDash},
-#line 531 "CSSValueKeywords.gperf"
+#line 139 "CSSValueKeywords.gperf"
+ {"destination-out", CSSValueDestinationOut},
+#line 534 "CSSValueKeywords.gperf"
{"after-edge", CSSValueAfterEdge},
-#line 135 "CSSValueKeywords.gperf"
- {"source-out", CSSValueSourceOut},
+#line 413 "CSSValueKeywords.gperf"
+ {"darkgrey", CSSValueDarkgrey},
+#line 411 "CSSValueKeywords.gperf"
+ {"darkgray", CSSValueDarkgray},
+#line 404 "CSSValueKeywords.gperf"
+ {"cornflowerblue", CSSValueCornflowerblue},
+#line 327 "CSSValueKeywords.gperf"
+ {"push-button", CSSValuePushButton},
+#line 31 "CSSValueKeywords.gperf"
+ {"status-bar", CSSValueStatusBar},
#line 228 "CSSValueKeywords.gperf"
{"row-resize", CSSValueRowResize},
-#line 383 "CSSValueKeywords.gperf"
- {"visiblestroke", CSSValueVisiblestroke},
-#line 416 "CSSValueKeywords.gperf"
- {"darkred", CSSValueDarkred},
-#line 107 "CSSValueKeywords.gperf"
- {"inactiveborder", CSSValueInactiveborder},
-#line 102 "CSSValueKeywords.gperf"
- {"buttontext", CSSValueButtontext},
-#line 104 "CSSValueKeywords.gperf"
- {"graytext", CSSValueGraytext},
-#line 378 "CSSValueKeywords.gperf"
- {"ease-in-out", CSSValueEaseInOut},
-#line 138 "CSSValueKeywords.gperf"
- {"destination-in", CSSValueDestinationIn},
-#line 415 "CSSValueKeywords.gperf"
- {"darkorchid", CSSValueDarkorchid},
-#line 143 "CSSValueKeywords.gperf"
- {"plus-lighter", CSSValuePlusLighter},
-#line 473 "CSSValueKeywords.gperf"
- {"mediumvioletred", CSSValueMediumvioletred},
-#line 97 "CSSValueKeywords.gperf"
- {"appworkspace", CSSValueAppworkspace},
-#line 140 "CSSValueKeywords.gperf"
- {"destination-atop", CSSValueDestinationAtop},
-#line 324 "CSSValueKeywords.gperf"
- {"checkbox", CSSValueCheckbox},
-#line 110 "CSSValueKeywords.gperf"
- {"infobackground", CSSValueInfobackground},
-#line 326 "CSSValueKeywords.gperf"
- {"push-button", CSSValuePushButton},
-#line 320 "CSSValueKeywords.gperf"
- {"break-all", CSSValueBreakAll},
-#line 529 "CSSValueKeywords.gperf"
- {"optimizelegibility", CSSValueOptimizelegibility},
-#line 109 "CSSValueKeywords.gperf"
- {"inactivecaptiontext", CSSValueInactivecaptiontext},
-#line 157 "CSSValueKeywords.gperf"
- {"justify", CSSValueJustify},
+#line 121 "CSSValueKeywords.gperf"
+ {"windowframe", CSSValueWindowframe},
+#line 175 "CSSValueKeywords.gperf"
+ {"hebrew", CSSValueHebrew},
+#line 122 "CSSValueKeywords.gperf"
+ {"windowtext", CSSValueWindowtext},
+#line 424 "CSSValueKeywords.gperf"
+ {"darkslategrey", CSSValueDarkslategrey},
+#line 423 "CSSValueKeywords.gperf"
+ {"darkslategray", CSSValueDarkslategray},
+#line 538 "CSSValueKeywords.gperf"
+ {"ideographic", CSSValueIdeographic},
+#line 206 "CSSValueKeywords.gperf"
+ {"vertical-text", CSSValueVerticalText},
#line 173 "CSSValueKeywords.gperf"
{"upper-alpha", CSSValueUpperAlpha},
-#line 349 "CSSValueKeywords.gperf"
- {"sliderthumb-horizontal", CSSValueSliderthumbHorizontal},
-#line 424 "CSSValueKeywords.gperf"
- {"deeppink", CSSValueDeeppink},
-#line 139 "CSSValueKeywords.gperf"
- {"destination-out", CSSValueDestinationOut},
-#line 61 "CSSValueKeywords.gperf"
- {"ultra-condensed", CSSValueUltraCondensed},
-#line 406 "CSSValueKeywords.gperf"
- {"darkcyan", CSSValueDarkcyan},
-#line 174 "CSSValueKeywords.gperf"
- {"upper-latin", CSSValueUpperLatin},
+#line 391 "CSSValueKeywords.gperf"
+ {"antiquewhite", CSSValueAntiquewhite},
+#line 115 "CSSValueKeywords.gperf"
+ {"threeddarkshadow", CSSValueThreeddarkshadow},
+#line 526 "CSSValueKeywords.gperf"
+ {"optimizequality", CSSValueOptimizequality},
#line 148 "CSSValueKeywords.gperf"
{"text-top", CSSValueTextTop},
-#line 296 "CSSValueKeywords.gperf"
- {"backwards", CSSValueBackwards},
-#line 423 "CSSValueKeywords.gperf"
- {"darkviolet", CSSValueDarkviolet},
-#line 357 "CSSValueKeywords.gperf"
- {"textfield", CSSValueTextfield},
-#line 169 "CSSValueKeywords.gperf"
- {"upper-roman", CSSValueUpperRoman},
-#line 327 "CSSValueKeywords.gperf"
- {"square-button", CSSValueSquareButton},
-#line 339 "CSSValueKeywords.gperf"
- {"media-sliderthumb", CSSValueMediaSliderthumb},
-#line 64 "CSSValueKeywords.gperf"
- {"semi-condensed", CSSValueSemiCondensed},
-#line 66 "CSSValueKeywords.gperf"
- {"expanded", CSSValueExpanded},
-#line 323 "CSSValueKeywords.gperf"
- {"after-white-space", CSSValueAfterWhiteSpace},
-#line 306 "CSSValueKeywords.gperf"
- {"read-write", CSSValueReadWrite},
-#line 95 "CSSValueKeywords.gperf"
- {"activeborder", CSSValueActiveborder},
-#line 345 "CSSValueKeywords.gperf"
- {"menulist-text", CSSValueMenulistText},
-#line 396 "CSSValueKeywords.gperf"
- {"burlywood", CSSValueBurlywood},
-#line 523 "CSSValueKeywords.gperf"
- {"optimizequality", CSSValueOptimizequality},
-#line 450 "CSSValueKeywords.gperf"
- {"lightgoldenrodyellow", CSSValueLightgoldenrodyellow},
-#line 422 "CSSValueKeywords.gperf"
- {"darkturquoise", CSSValueDarkturquoise},
-#line 530 "CSSValueKeywords.gperf"
- {"before-edge", CSSValueBeforeEdge},
-#line 26 "CSSValueKeywords.gperf"
- {"message-box", CSSValueMessageBox},
-#line 348 "CSSValueKeywords.gperf"
- {"slider-vertical", CSSValueSliderVertical},
-#line 149 "CSSValueKeywords.gperf"
- {"text-bottom", CSSValueTextBottom},
-#line 269 "CSSValueKeywords.gperf"
- {"open-quote", CSSValueOpenQuote},
+#line 433 "CSSValueKeywords.gperf"
+ {"floralwhite", CSSValueFloralwhite},
#line 178 "CSSValueKeywords.gperf"
{"cjk-ideographic", CSSValueCjkIdeographic},
-#line 98 "CSSValueKeywords.gperf"
- {"background", CSSValueBackground},
-#line 410 "CSSValueKeywords.gperf"
- {"darkgrey", CSSValueDarkgrey},
-#line 195 "CSSValueKeywords.gperf"
- {"table-column-group", CSSValueTableColumnGroup},
-#line 408 "CSSValueKeywords.gperf"
- {"darkgray", CSSValueDarkgray},
-#line 340 "CSSValueKeywords.gperf"
- {"media-timeline-container", CSSValueMediaTimelineContainer},
#line 365 "CSSValueKeywords.gperf"
{"border-box", CSSValueBorderBox},
-#line 330 "CSSValueKeywords.gperf"
- {"default-button", CSSValueDefaultButton},
-#line 292 "CSSValueKeywords.gperf"
- {"block-axis", CSSValueBlockAxis},
-#line 247 "CSSValueKeywords.gperf"
- {"bidi-override", CSSValueBidiOverride},
-#line 115 "CSSValueKeywords.gperf"
- {"threeddarkshadow", CSSValueThreeddarkshadow},
-#line 413 "CSSValueKeywords.gperf"
- {"darkolivegreen", CSSValueDarkolivegreen},
-#line 191 "CSSValueKeywords.gperf"
- {"table-row-group", CSSValueTableRowGroup},
-#line 421 "CSSValueKeywords.gperf"
- {"darkslategrey", CSSValueDarkslategrey},
-#line 420 "CSSValueKeywords.gperf"
- {"darkslategray", CSSValueDarkslategray},
-#line 364 "CSSValueKeywords.gperf"
+#line 440 "CSSValueKeywords.gperf"
+ {"honeydew", CSSValueHoneydew},
+#line 271 "CSSValueKeywords.gperf"
+ {"overlay", CSSValueOverlay},
+#line 322 "CSSValueKeywords.gperf"
+ {"break-word", CSSValueBreakWord},
+#line 450 "CSSValueKeywords.gperf"
+ {"lightblue", CSSValueLightblue},
+#line 500 "CSSValueKeywords.gperf"
+ {"sandybrown", CSSValueSandybrown},
+#line 496 "CSSValueKeywords.gperf"
+ {"rosybrown", CSSValueRosybrown},
+#line 439 "CSSValueKeywords.gperf"
+ {"greenyellow", CSSValueGreenyellow},
+#line 532 "CSSValueKeywords.gperf"
+ {"optimizelegibility", CSSValueOptimizelegibility},
+#line 369 "CSSValueKeywords.gperf"
{"padding-box", CSSValuePaddingBox},
-#line 373 "CSSValueKeywords.gperf"
- {"preserve-3d", CSSValuePreserve3d},
-#line 133 "CSSValueKeywords.gperf"
- {"source-over", CSSValueSourceOver},
-#line 128 "CSSValueKeywords.gperf"
- {"repeat-x", CSSValueRepeatX},
-#line 334 "CSSValueKeywords.gperf"
- {"media-mute-button", CSSValueMediaMuteButton},
-#line 407 "CSSValueKeywords.gperf"
- {"darkgoldenrod", CSSValueDarkgoldenrod},
-#line 129 "CSSValueKeywords.gperf"
- {"repeat-y", CSSValueRepeatY},
#line 182 "CSSValueKeywords.gperf"
{"katakana-iroha", CSSValueKatakanaIroha},
+#line 320 "CSSValueKeywords.gperf"
+ {"skip-white-space", CSSValueSkipWhiteSpace},
+#line 470 "CSSValueKeywords.gperf"
+ {"mediumorchid", CSSValueMediumorchid},
+#line 463 "CSSValueKeywords.gperf"
+ {"lightsteelblue", CSSValueLightsteelblue},
+#line 455 "CSSValueKeywords.gperf"
+ {"lightgreen", CSSValueLightgreen},
+#line 65 "CSSValueKeywords.gperf"
+ {"semi-expanded", CSSValueSemiExpanded},
+#line 459 "CSSValueKeywords.gperf"
+ {"lightseagreen", CSSValueLightseagreen},
+#line 347 "CSSValueKeywords.gperf"
+ {"menulist-button", CSSValueMenulistButton},
+#line 350 "CSSValueKeywords.gperf"
+ {"slider-horizontal", CSSValueSliderHorizontal},
+#line 128 "CSSValueKeywords.gperf"
+ {"repeat-x", CSSValueRepeatX},
#line 170 "CSSValueKeywords.gperf"
{"lower-greek", CSSValueLowerGreek},
-#line 305 "CSSValueKeywords.gperf"
- {"read-only", CSSValueReadOnly},
-#line 350 "CSSValueKeywords.gperf"
- {"sliderthumb-vertical", CSSValueSliderthumbVertical},
-#line 321 "CSSValueKeywords.gperf"
- {"break-word", CSSValueBreakWord},
+#line 475 "CSSValueKeywords.gperf"
+ {"mediumturquoise", CSSValueMediumturquoise},
+#line 171 "CSSValueKeywords.gperf"
+ {"lower-alpha", CSSValueLowerAlpha},
+#line 55 "CSSValueKeywords.gperf"
+ {"xx-large", CSSValueXxLarge},
+#line 104 "CSSValueKeywords.gperf"
+ {"graytext", CSSValueGraytext},
+#line 129 "CSSValueKeywords.gperf"
+ {"repeat-y", CSSValueRepeatY},
+#line 490 "CSSValueKeywords.gperf"
+ {"papayawhip", CSSValuePapayawhip},
+#line 360 "CSSValueKeywords.gperf"
+ {"textfield", CSSValueTextfield},
+#line 149 "CSSValueKeywords.gperf"
+ {"text-bottom", CSSValueTextBottom},
+#line 533 "CSSValueKeywords.gperf"
+ {"before-edge", CSSValueBeforeEdge},
#line 62 "CSSValueKeywords.gperf"
{"extra-condensed", CSSValueExtraCondensed},
-#line 329 "CSSValueKeywords.gperf"
- {"button-bevel", CSSValueButtonBevel},
-#line 411 "CSSValueKeywords.gperf"
- {"darkkhaki", CSSValueDarkkhaki},
-#line 137 "CSSValueKeywords.gperf"
- {"destination-over", CSSValueDestinationOver},
+#line 447 "CSSValueKeywords.gperf"
+ {"lavenderblush", CSSValueLavenderblush},
+#line 26 "CSSValueKeywords.gperf"
+ {"message-box", CSSValueMessageBox},
+#line 348 "CSSValueKeywords.gperf"
+ {"menulist-text", CSSValueMenulistText},
+#line 474 "CSSValueKeywords.gperf"
+ {"mediumspringgreen", CSSValueMediumspringgreen},
+#line 452 "CSSValueKeywords.gperf"
+ {"lightcyan", CSSValueLightcyan},
+#line 307 "CSSValueKeywords.gperf"
+ {"read-write", CSSValueReadWrite},
+#line 257 "CSSValueKeywords.gperf"
+ {"higher", CSSValueHigher},
+#line 518 "CSSValueKeywords.gperf"
+ {"yellowgreen", CSSValueYellowgreen},
+#line 317 "CSSValueKeywords.gperf"
+ {"dot-dot-dash", CSSValueDotDotDash},
+#line 449 "CSSValueKeywords.gperf"
+ {"lemonchiffon", CSSValueLemonchiffon},
+#line 306 "CSSValueKeywords.gperf"
+ {"read-only", CSSValueReadOnly},
+#line 355 "CSSValueKeywords.gperf"
+ {"searchfield", CSSValueSearchfield},
+#line 181 "CSSValueKeywords.gperf"
+ {"hiragana-iroha", CSSValueHiraganaIroha},
+#line 195 "CSSValueKeywords.gperf"
+ {"table-column-group", CSSValueTableColumnGroup},
+#line 118 "CSSValueKeywords.gperf"
+ {"threedlightshadow", CSSValueThreedlightshadow},
+#line 335 "CSSValueKeywords.gperf"
+ {"media-mute-button", CSSValueMediaMuteButton},
#line 68 "CSSValueKeywords.gperf"
{"ultra-expanded", CSSValueUltraExpanded},
-#line 193 "CSSValueKeywords.gperf"
- {"table-footer-group", CSSValueTableFooterGroup},
-#line 192 "CSSValueKeywords.gperf"
- {"table-header-group", CSSValueTableHeaderGroup},
-#line 206 "CSSValueKeywords.gperf"
- {"vertical-text", CSSValueVerticalText},
-#line 65 "CSSValueKeywords.gperf"
- {"semi-expanded", CSSValueSemiExpanded},
-#line 142 "CSSValueKeywords.gperf"
- {"plus-darker", CSSValuePlusDarker},
-#line 425 "CSSValueKeywords.gperf"
- {"deepskyblue", CSSValueDeepskyblue},
-#line 333 "CSSValueKeywords.gperf"
- {"media-fullscreen-button", CSSValueMediaFullscreenButton},
+#line 331 "CSSValueKeywords.gperf"
+ {"default-button", CSSValueDefaultButton},
+#line 93 "CSSValueKeywords.gperf"
+ {"-webkit-link", CSSValueWebkitLink},
+#line 167 "CSSValueKeywords.gperf"
+ {"decimal-leading-zero", CSSValueDecimalLeadingZero},
#line 353 "CSSValueKeywords.gperf"
- {"searchfield-decoration", CSSValueSearchfieldDecoration},
-#line 346 "CSSValueKeywords.gperf"
- {"menulist-textfield", CSSValueMenulistTextfield},
-#line 316 "CSSValueKeywords.gperf"
- {"dot-dot-dash", CSSValueDotDotDash},
-#line 335 "CSSValueKeywords.gperf"
- {"media-play-button", CSSValueMediaPlayButton},
-#line 67 "CSSValueKeywords.gperf"
- {"extra-expanded", CSSValueExtraExpanded},
-#line 356 "CSSValueKeywords.gperf"
- {"searchfield-cancel-button", CSSValueSearchfieldCancelButton},
-#line 359 "CSSValueKeywords.gperf"
- {"caps-lock-indicator", CSSValueCapsLockIndicator},
-#line 153 "CSSValueKeywords.gperf"
- {"-webkit-auto", CSSValueWebkitAuto},
+ {"sliderthumb-vertical", CSSValueSliderthumbVertical},
+#line 94 "CSSValueKeywords.gperf"
+ {"-webkit-activelink", CSSValueWebkitActivelink},
+#line 464 "CSSValueKeywords.gperf"
+ {"lightyellow", CSSValueLightyellow},
+#line 428 "CSSValueKeywords.gperf"
+ {"deepskyblue", CSSValueDeepskyblue},
+#line 191 "CSSValueKeywords.gperf"
+ {"table-row-group", CSSValueTableRowGroup},
+#line 342 "CSSValueKeywords.gperf"
+ {"media-sliderthumb", CSSValueMediaSliderthumb},
#line 160 "CSSValueKeywords.gperf"
{"-webkit-center", CSSValueWebkitCenter},
-#line 167 "CSSValueKeywords.gperf"
- {"decimal-leading-zero", CSSValueDecimalLeadingZero},
+#line 337 "CSSValueKeywords.gperf"
+ {"media-seek-back-button", CSSValueMediaSeekBackButton},
#line 30 "CSSValueKeywords.gperf"
{"-webkit-control", CSSValueWebkitControl},
-#line 355 "CSSValueKeywords.gperf"
- {"searchfield-results-button", CSSValueSearchfieldResultsButton},
-#line 284 "CSSValueKeywords.gperf"
- {"-webkit-nowrap", CSSValueWebkitNowrap},
-#line 159 "CSSValueKeywords.gperf"
- {"-webkit-right", CSSValueWebkitRight},
-#line 534 "CSSValueKeywords.gperf"
- {"text-after-edge", CSSValueTextAfterEdge},
+#line 261 "CSSValueKeywords.gperf"
+ {"line-through", CSSValueLineThrough},
+#line 153 "CSSValueKeywords.gperf"
+ {"-webkit-auto", CSSValueWebkitAuto},
+#line 456 "CSSValueKeywords.gperf"
+ {"lightgrey", CSSValueLightgrey},
+#line 454 "CSSValueKeywords.gperf"
+ {"lightgray", CSSValueLightgray},
+#line 324 "CSSValueKeywords.gperf"
+ {"after-white-space", CSSValueAfterWhiteSpace},
+#line 460 "CSSValueKeywords.gperf"
+ {"lightskyblue", CSSValueLightskyblue},
+#line 491 "CSSValueKeywords.gperf"
+ {"peachpuff", CSSValuePeachpuff},
+#line 336 "CSSValueKeywords.gperf"
+ {"media-play-button", CSSValueMediaPlayButton},
+#line 339 "CSSValueKeywords.gperf"
+ {"media-rewind-button", CSSValueMediaRewindButton},
+#line 117 "CSSValueKeywords.gperf"
+ {"threedhighlight", CSSValueThreedhighlight},
+#line 67 "CSSValueKeywords.gperf"
+ {"extra-expanded", CSSValueExtraExpanded},
+#line 462 "CSSValueKeywords.gperf"
+ {"lightslategrey", CSSValueLightslategrey},
+#line 461 "CSSValueKeywords.gperf"
+ {"lightslategray", CSSValueLightslategray},
+#line 213 "CSSValueKeywords.gperf"
+ {"-webkit-zoom-in", CSSValueWebkitZoomIn},
+#line 193 "CSSValueKeywords.gperf"
+ {"table-footer-group", CSSValueTableFooterGroup},
+#line 349 "CSSValueKeywords.gperf"
+ {"menulist-textfield", CSSValueMenulistTextfield},
#line 158 "CSSValueKeywords.gperf"
{"-webkit-left", CSSValueWebkitLeft},
+#line 105 "CSSValueKeywords.gperf"
+ {"highlight", CSSValueHighlight},
+#line 285 "CSSValueKeywords.gperf"
+ {"-webkit-nowrap", CSSValueWebkitNowrap},
+#line 192 "CSSValueKeywords.gperf"
+ {"table-header-group", CSSValueTableHeaderGroup},
+#line 265 "CSSValueKeywords.gperf"
+ {"-webkit-marquee", CSSValueWebkitMarquee},
+#line 343 "CSSValueKeywords.gperf"
+ {"media-controls-background", CSSValueMediaControlsBackground},
#line 233 "CSSValueKeywords.gperf"
{"-webkit-grab", CSSValueWebkitGrab},
-#line 533 "CSSValueKeywords.gperf"
- {"text-before-edge", CSSValueTextBeforeEdge},
-#line 354 "CSSValueKeywords.gperf"
- {"searchfield-results-decoration", CSSValueSearchfieldResultsDecoration},
-#line 93 "CSSValueKeywords.gperf"
- {"-webkit-link", CSSValueWebkitLink},
-#line 264 "CSSValueKeywords.gperf"
- {"-webkit-marquee", CSSValueWebkitMarquee},
-#line 126 "CSSValueKeywords.gperf"
- {"-webkit-text", CSSValueWebkitText},
-#line 199 "CSSValueKeywords.gperf"
- {"-webkit-box", CSSValueWebkitBox},
-#line 234 "CSSValueKeywords.gperf"
- {"-webkit-grabbing", CSSValueWebkitGrabbing},
-#line 213 "CSSValueKeywords.gperf"
- {"-webkit-zoom-in", CSSValueWebkitZoomIn},
-#line 342 "CSSValueKeywords.gperf"
- {"media-time-remaining-display", CSSValueMediaTimeRemainingDisplay},
-#line 341 "CSSValueKeywords.gperf"
- {"media-current-time-display", CSSValueMediaCurrentTimeDisplay},
#line 29 "CSSValueKeywords.gperf"
{"-webkit-small-control", CSSValueWebkitSmallControl},
-#line 214 "CSSValueKeywords.gperf"
- {"-webkit-zoom-out", CSSValueWebkitZoomOut},
+#line 126 "CSSValueKeywords.gperf"
+ {"-webkit-text", CSSValueWebkitText},
#line 28 "CSSValueKeywords.gperf"
{"-webkit-mini-control", CSSValueWebkitMiniControl},
-#line 336 "CSSValueKeywords.gperf"
- {"media-seek-back-button", CSSValueMediaSeekBackButton},
+#line 334 "CSSValueKeywords.gperf"
+ {"media-fullscreen-button", CSSValueMediaFullscreenButton},
+#line 214 "CSSValueKeywords.gperf"
+ {"-webkit-zoom-out", CSSValueWebkitZoomOut},
+#line 100 "CSSValueKeywords.gperf"
+ {"buttonhighlight", CSSValueButtonhighlight},
+#line 199 "CSSValueKeywords.gperf"
+ {"-webkit-box", CSSValueWebkitBox},
+#line 352 "CSSValueKeywords.gperf"
+ {"sliderthumb-horizontal", CSSValueSliderthumbHorizontal},
+#line 356 "CSSValueKeywords.gperf"
+ {"searchfield-decoration", CSSValueSearchfieldDecoration},
+#line 152 "CSSValueKeywords.gperf"
+ {"-webkit-baseline-middle", CSSValueWebkitBaselineMiddle},
#line 74 "CSSValueKeywords.gperf"
{"-webkit-body", CSSValueWebkitBody},
-#line 337 "CSSValueKeywords.gperf"
- {"media-seek-forward-button", CSSValueMediaSeekForwardButton},
-#line 94 "CSSValueKeywords.gperf"
- {"-webkit-activelink", CSSValueWebkitActivelink},
+#line 453 "CSSValueKeywords.gperf"
+ {"lightgoldenrodyellow", CSSValueLightgoldenrodyellow},
+#line 537 "CSSValueKeywords.gperf"
+ {"text-after-edge", CSSValueTextAfterEdge},
+#line 345 "CSSValueKeywords.gperf"
+ {"media-time-remaining-display", CSSValueMediaTimeRemainingDisplay},
+#line 159 "CSSValueKeywords.gperf"
+ {"-webkit-right", CSSValueWebkitRight},
+#line 536 "CSSValueKeywords.gperf"
+ {"text-before-edge", CSSValueTextBeforeEdge},
+#line 234 "CSSValueKeywords.gperf"
+ {"-webkit-grabbing", CSSValueWebkitGrabbing},
#line 200 "CSSValueKeywords.gperf"
{"-webkit-inline-box", CSSValueWebkitInlineBox},
-#line 307 "CSSValueKeywords.gperf"
+#line 344 "CSSValueKeywords.gperf"
+ {"media-current-time-display", CSSValueMediaCurrentTimeDisplay},
+#line 106 "CSSValueKeywords.gperf"
+ {"highlighttext", CSSValueHighlighttext},
+#line 359 "CSSValueKeywords.gperf"
+ {"searchfield-cancel-button", CSSValueSearchfieldCancelButton},
+#line 338 "CSSValueKeywords.gperf"
+ {"media-seek-forward-button", CSSValueMediaSeekForwardButton},
+#line 340 "CSSValueKeywords.gperf"
+ {"media-return-to-realtime-button", CSSValueMediaReturnToRealtimeButton},
+#line 357 "CSSValueKeywords.gperf"
+ {"searchfield-results-decoration", CSSValueSearchfieldResultsDecoration},
+#line 358 "CSSValueKeywords.gperf"
+ {"searchfield-results-button", CSSValueSearchfieldResultsButton},
+#line 308 "CSSValueKeywords.gperf"
{"read-write-plaintext-only", CSSValueReadWritePlaintextOnly},
-#line 152 "CSSValueKeywords.gperf"
- {"-webkit-baseline-middle", CSSValueWebkitBaselineMiddle},
#line 123 "CSSValueKeywords.gperf"
{"-webkit-focus-ring-color", CSSValueWebkitFocusRingColor},
#line 56 "CSSValueKeywords.gperf"
@@ -1277,477 +1286,391 @@ findValue (register const char *str, register unsigned int len)
{
0, -1, -1, -1, -1, 1, -1, -1, -1, -1,
2, -1, -1, -1, -1, 3, -1, -1, -1, -1,
- 4, -1, 5, -1, -1, 6, 7, -1, -1, -1,
- 8, -1, -1, -1, -1, 9, 10, -1, -1, -1,
- 11, 12, -1, -1, -1, 13, 14, -1, -1, -1,
- 15, 16, -1, -1, -1, 17, -1, -1, -1, -1,
- 18, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 19, -1, -1, -1, -1,
- 20, 21, -1, -1, -1, 22, 23, -1, -1, -1,
- -1, -1, -1, -1, -1, 24, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 4, 5, -1, -1, -1, 6, -1, -1, -1, -1,
+ 7, -1, -1, -1, -1, 8, -1, -1, -1, -1,
+ 9, -1, -1, -1, -1, 10, -1, -1, -1, -1,
+ 11, -1, -1, -1, -1, 12, -1, -1, -1, -1,
+ 13, -1, 14, -1, -1, -1, 15, -1, -1, -1,
+ -1, -1, -1, -1, -1, 16, -1, -1, -1, -1,
+ 17, -1, -1, -1, -1, 18, 19, -1, -1, -1,
+ -1, -1, -1, -1, -1, 20, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 21, -1, -1, -1,
+ 22, -1, -1, -1, -1, 23, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 24, -1, -1, -1, -1, -1, -1, -1, -1, -1,
25, -1, -1, -1, -1, 26, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 27, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 28, 29, -1, -1, -1, 30, 31, -1, -1, -1,
- -1, -1, -1, -1, -1, 32, -1, -1, -1, -1,
- 33, -1, -1, -1, -1, 34, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 35, 36, -1, -1,
- 37, -1, 38, -1, -1, -1, 39, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 40, -1, -1, -1,
- -1, 41, -1, -1, -1, 42, 43, 44, -1, -1,
- -1, 45, -1, 46, -1, 47, -1, -1, -1, -1,
- -1, 48, -1, -1, 49, -1, -1, -1, -1, -1,
- -1, 50, -1, -1, -1, 51, 52, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 53, -1, 54, -1, -1, 55, -1, -1, -1, -1,
- 56, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 57, -1, -1, -1, 58, -1, 59, -1, -1,
- 60, -1, -1, 61, -1, 62, -1, -1, -1, -1,
- 63, -1, 64, 65, -1, -1, 66, 67, -1, -1,
- 68, -1, -1, -1, -1, 69, 70, -1, -1, -1,
- -1, 71, -1, 72, -1, -1, -1, -1, -1, -1,
- -1, -1, 73, 74, -1, 75, 76, -1, -1, -1,
- -1, -1, -1, 77, -1, -1, -1, -1, -1, -1,
- -1, 78, -1, -1, -1, 79, 80, -1, -1, -1,
- 81, -1, -1, -1, -1, 82, 83, -1, -1, -1,
- 84, 85, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 86, -1, 87, -1, -1, -1, 88, -1, -1, -1,
- -1, 89, -1, -1, -1, 90, -1, -1, -1, -1,
- -1, 91, 92, -1, -1, 93, 94, 95, -1, -1,
- -1, 96, -1, -1, 97, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 98, -1, 99, -1, -1, 100, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 101, -1, -1, -1, -1,
- -1, 102, -1, -1, -1, -1, 103, -1, -1, -1,
- 104, -1, 105, -1, -1, 106, 107, -1, -1, -1,
- 108, -1, 109, -1, -1, -1, -1, 110, 111, -1,
- -1, -1, -1, -1, -1, -1, 112, -1, -1, -1,
- 113, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 114, -1, -1, -1,
- 115, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 116, -1, -1, -1,
- -1, -1, -1, -1, -1, 117, 118, -1, -1, -1,
- 119, -1, -1, -1, -1, 120, -1, -1, -1, -1,
- -1, -1, -1, -1, 121, -1, -1, -1, -1, -1,
- -1, -1, -1, 122, 123, -1, 124, -1, -1, -1,
- 125, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 126, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 127, -1, -1, -1,
- -1, 128, -1, -1, -1, -1, 129, -1, -1, -1,
- 130, -1, -1, -1, -1, 131, -1, -1, -1, -1,
- 132, -1, 133, -1, -1, -1, -1, -1, -1, -1,
- 134, -1, -1, -1, 135, -1, -1, -1, -1, -1,
- 136, -1, -1, -1, -1, 137, -1, -1, -1, -1,
- -1, 138, -1, -1, -1, 139, -1, -1, -1, -1,
- 140, -1, -1, -1, -1, -1, 141, -1, 142, -1,
- 143, -1, -1, -1, -1, 144, -1, -1, -1, -1,
- 145, 146, -1, -1, -1, -1, 147, -1, -1, -1,
- 148, -1, -1, -1, -1, 149, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 150, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 151, -1, -1, -1, -1,
- 152, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 153, -1, -1, -1,
- -1, 154, -1, -1, -1, -1, 155, -1, -1, -1,
- 156, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 157, -1, 158, 159, 160, 161, -1,
- 162, 163, -1, -1, -1, 164, -1, -1, -1, -1,
- -1, 165, -1, -1, -1, 166, -1, -1, -1, -1,
- 167, 168, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 169, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 170, -1, -1,
- -1, -1, 171, -1, -1, 172, 173, -1, -1, -1,
- -1, 174, -1, -1, -1, 175, -1, 176, -1, -1,
- -1, 177, -1, -1, -1, 178, 179, 180, -1, -1,
- 181, 182, -1, 183, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 184, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 185, 186, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 187, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 188, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 189, -1, -1, -1, -1, -1, 190, -1, -1,
- 191, -1, -1, -1, -1, -1, 192, -1, -1, -1,
- 193, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 194, 195, -1, -1, 196, -1, -1, -1, -1,
- 197, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 198, -1, -1, -1, -1,
- -1, 199, -1, -1, -1, 200, -1, 201, -1, -1,
- 202, -1, 203, -1, -1, -1, 204, -1, -1, -1,
- -1, -1, -1, -1, -1, 205, -1, -1, -1, -1,
- 206, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 207, -1, -1, -1, -1,
- 208, -1, 209, -1, -1, 210, -1, 211, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 212, 213, 214, -1, -1, -1, 215, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 216, -1, -1, -1, -1, 217, 218, -1, -1, -1,
- 219, -1, -1, -1, -1, 220, 221, -1, -1, -1,
- 222, -1, -1, -1, -1, -1, 223, -1, 224, -1,
- 225, 226, -1, -1, 227, -1, 228, -1, -1, -1,
- 229, 230, -1, -1, -1, -1, -1, -1, -1, -1,
- 231, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 232, -1, -1, -1, -1, 233, 234, -1, -1, -1,
- 235, -1, 236, -1, -1, -1, -1, -1, -1, -1,
- 237, 238, -1, -1, -1, 239, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 240, 241, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 242, 243, -1, -1, -1,
- -1, 244, 245, -1, -1, -1, -1, 246, -1, -1,
- -1, -1, -1, 247, -1, -1, -1, -1, -1, -1,
- 248, 249, -1, -1, -1, -1, 250, -1, -1, -1,
- -1, 251, 252, -1, -1, 253, 254, -1, -1, -1,
- 255, -1, 256, -1, -1, 257, -1, -1, -1, -1,
- -1, 258, -1, -1, -1, -1, -1, -1, -1, -1,
- 259, -1, -1, -1, -1, 260, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 27, -1, 28, -1, -1,
+ -1, 29, 30, -1, -1, 31, -1, 32, -1, -1,
+ -1, 33, -1, -1, -1, -1, 34, -1, -1, -1,
+ -1, 35, -1, -1, -1, -1, 36, 37, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 38, -1, -1, -1, -1,
+ -1, 39, -1, -1, -1, 40, 41, -1, -1, -1,
+ -1, 42, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 43, -1, -1, -1, 44, -1, -1, -1, -1,
+ 45, -1, -1, -1, -1, 46, -1, -1, -1, -1,
+ 47, -1, 48, -1, -1, -1, 49, -1, -1, -1,
+ 50, -1, -1, -1, -1, -1, 51, -1, -1, -1,
+ 52, -1, 53, -1, -1, -1, -1, 54, -1, -1,
+ -1, 55, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 56, -1, -1, -1, -1, 57, -1, -1, -1, -1,
+ 58, 59, -1, -1, -1, -1, -1, -1, -1, -1,
+ 60, -1, -1, -1, -1, 61, -1, -1, -1, -1,
+ 62, -1, -1, -1, -1, 63, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 64, 65, -1, -1, -1,
+ 66, -1, 67, -1, -1, 68, -1, 69, -1, -1,
+ 70, 71, -1, -1, -1, -1, 72, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 73, -1, -1, -1,
+ -1, 74, -1, -1, -1, 75, -1, -1, -1, -1,
+ 76, -1, 77, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 78, -1, -1, -1, -1, -1, -1, -1,
+ -1, 79, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 80, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 81, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 82, -1, -1, 83, 84, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 85, -1, -1,
+ -1, 86, 87, -1, -1, -1, 88, -1, -1, -1,
+ -1, 89, -1, 90, -1, 91, -1, 92, -1, -1,
+ 93, -1, -1, -1, -1, -1, 94, 95, -1, -1,
+ -1, 96, -1, -1, -1, -1, 97, -1, -1, -1,
+ -1, 98, 99, -1, -1, 100, -1, -1, -1, -1,
+ -1, 101, 102, -1, -1, -1, 103, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 104, -1, -1, -1,
+ 105, -1, 106, -1, -1, 107, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 108, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 109, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 110, -1, 111, -1, -1, 112, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 113, -1, -1, -1,
+ -1, -1, 114, -1, -1, -1, -1, -1, -1, -1,
+ -1, 115, -1, -1, -1, 116, 117, 118, -1, -1,
+ 119, -1, -1, -1, -1, -1, 120, 121, -1, -1,
+ 122, 123, -1, -1, -1, 124, 125, -1, -1, -1,
+ 126, -1, 127, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 128, -1, -1, 129, -1, -1, -1, -1,
+ -1, 130, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 131, -1, -1, -1, -1, 132, 133, -1, -1,
+ -1, -1, -1, 134, -1, -1, -1, 135, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 136, -1, -1, -1, 137, -1, -1, -1,
+ 138, 139, -1, -1, -1, 140, -1, -1, -1, -1,
+ -1, 141, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 142, -1, -1, -1,
+ -1, 143, -1, -1, -1, -1, -1, -1, -1, -1,
+ 144, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 145, -1, -1, 146, 147, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 148, -1,
+ 149, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 150, 151, -1, -1, -1, 152, 153, -1, -1, -1,
+ 154, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 155, 156, -1, -1, -1, 157, -1, -1, -1, -1,
+ 158, -1, -1, -1, -1, -1, 159, 160, -1, -1,
+ 161, 162, -1, -1, -1, 163, -1, -1, -1, -1,
+ 164, -1, -1, -1, -1, 165, -1, -1, -1, -1,
+ -1, 166, 167, -1, -1, 168, -1, 169, -1, -1,
+ -1, 170, 171, -1, -1, -1, 172, 173, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 174, 175, -1, -1, -1, 176, 177, -1, -1, -1,
+ -1, 178, -1, -1, -1, -1, 179, -1, -1, -1,
+ 180, 181, 182, -1, -1, 183, -1, -1, -1, -1,
+ 184, -1, -1, -1, -1, 185, 186, 187, -1, -1,
+ -1, -1, -1, -1, -1, 188, 189, 190, -1, -1,
+ -1, -1, -1, -1, -1, -1, 191, -1, -1, -1,
+ -1, 192, -1, -1, -1, -1, 193, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 194, -1, -1, -1,
+ 195, -1, 196, -1, -1, 197, -1, -1, -1, -1,
+ 198, 199, -1, -1, -1, 200, -1, -1, 201, -1,
+ 202, -1, -1, -1, -1, 203, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 204, -1, -1, 205, -1,
+ -1, -1, -1, -1, -1, 206, -1, -1, -1, -1,
+ 207, -1, -1, -1, -1, -1, 208, 209, 210, -1,
+ 211, -1, -1, -1, -1, 212, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 213,
+ 214, -1, -1, -1, -1, 215, 216, -1, -1, -1,
+ -1, 217, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 218, 219, -1, -1, -1, -1, -1, -1, -1, -1,
+ 220, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 221, -1, -1, -1, -1, -1, -1, 222, -1, -1,
+ -1, -1, -1, -1, -1, 223, -1, -1, -1, -1,
+ 224, 225, -1, -1, -1, 226, -1, 227, -1, -1,
+ -1, -1, -1, -1, -1, 228, 229, -1, -1, -1,
+ -1, 230, -1, -1, -1, 231, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 232, 233, -1, 234, -1,
+ -1, 235, -1, -1, -1, -1, -1, -1, -1, -1,
+ 236, -1, 237, -1, -1, 238, -1, -1, -1, -1,
+ 239, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 240, -1, -1, -1, -1, -1, 241, -1, -1,
+ 242, 243, 244, -1, -1, -1, -1, 245, -1, -1,
+ -1, 246, -1, -1, -1, -1, -1, -1, 247, -1,
+ -1, 248, -1, -1, -1, 249, 250, 251, -1, -1,
+ 252, -1, -1, -1, -1, -1, -1, 253, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 254,
+ -1, 255, -1, -1, -1, 256, -1, -1, -1, -1,
+ 257, 258, -1, -1, -1, -1, -1, 259, -1, -1,
+ 260, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 261, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 262, -1, -1,
- 263, 264, -1, -1, -1, -1, -1, 265, -1, -1,
- -1, -1, -1, -1, -1, 266, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 267, -1, -1, 268, -1, 269, 270, -1, -1, -1,
- -1, -1, -1, -1, -1, 271, -1, -1, -1, -1,
- -1, 272, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 273, -1, -1, -1, -1, -1, -1, 274, -1,
- -1, 275, -1, -1, -1, 276, 277, 278, -1, -1,
- -1, -1, -1, -1, -1, 279, -1, -1, -1, -1,
- -1, 280, -1, -1, -1, 281, -1, -1, -1, -1,
- 282, -1, -1, -1, -1, 283, 284, -1, -1, -1,
- -1, 285, -1, -1, -1, 286, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 287, 288, -1, -1,
- -1, 289, -1, -1, -1, 290, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 291, 292, -1, -1, -1,
- 293, -1, -1, -1, -1, 294, -1, 295, -1, -1,
- -1, -1, -1, -1, -1, 296, -1, -1, -1, -1,
- 297, -1, -1, -1, 298, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 299, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 300, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 301, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 302, -1, 303, -1, 304, -1, -1, -1, -1,
- 305, -1, -1, -1, -1, -1, 306, -1, -1, -1,
- -1, 307, -1, -1, -1, 308, -1, -1, -1, -1,
- 309, -1, -1, -1, -1, 310, -1, -1, -1, -1,
- 311, -1, -1, -1, -1, 312, -1, -1, -1, -1,
- -1, -1, 313, -1, -1, -1, -1, -1, -1, -1,
- -1, 314, -1, -1, -1, -1, 315, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 316, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 317,
- -1, -1, 318, -1, -1, -1, -1, 319, -1, -1,
- -1, -1, 320, -1, -1, -1, 321, -1, -1, -1,
- -1, -1, 322, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 262, -1, -1, 263, -1, -1, 264, -1, -1,
+ -1, -1, 265, -1, -1, -1, -1, 266, -1, -1,
+ -1, 267, -1, -1, -1, 268, -1, -1, 269, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 270, -1, -1, -1, -1, 271, 272, -1, -1, -1,
+ -1, -1, -1, 273, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 274, -1, 275, -1, -1, -1,
+ -1, -1, 276, -1, -1, -1, -1, -1, -1, -1,
+ 277, -1, -1, -1, -1, -1, 278, -1, -1, -1,
+ -1, 279, -1, -1, -1, 280, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 323, -1, -1, -1,
- -1, 324, 325, -1, -1, 326, -1, -1, -1, -1,
+ -1, -1, 281, -1, -1, -1, -1, -1, 282, -1,
+ -1, -1, -1, 283, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 284, 285, -1, -1,
+ -1, -1, -1, -1, -1, -1, 286, -1, 287, -1,
+ -1, -1, -1, -1, -1, -1, -1, 288, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 327, -1, -1, -1, -1,
- 328, -1, -1, 329, -1, 330, 331, -1, -1, -1,
- 332, -1, -1, -1, -1, 333, 334, -1, -1, -1,
- -1, 335, 336, -1, -1, -1, -1, -1, -1, -1,
- 337, -1, -1, -1, -1, 338, -1, 339, -1, -1,
- -1, -1, -1, -1, -1, -1, 340, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 289, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 341, -1, -1, -1,
+ -1, 290, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 291, -1, -1, -1, -1, -1, 292, -1, -1,
+ 293, -1, 294, -1, -1, 295, -1, -1, -1, -1,
+ -1, 296, -1, -1, -1, 297, -1, -1, -1, -1,
+ 298, 299, 300, 301, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 302, -1, 303, -1, 304, -1, -1,
+ -1, 305, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 306, -1, -1, -1, 307, 308, -1, -1,
+ -1, 309, -1, -1, -1, -1, 310, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 342, -1, -1, -1,
+ -1, 311, -1, -1, -1, -1, -1, -1, 312, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 343, -1, -1, 344, -1, -1, -1, -1, -1,
- -1, 345, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 346, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 347, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 348, 349, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 350, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 351, -1,
- -1, 352, -1, -1, -1, -1, 353, -1, -1, -1,
- 354, 355, -1, -1, -1, 356, -1, -1, -1, -1,
- 357, -1, -1, 358, -1, -1, 359, -1, 360, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 361, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 362, -1,
- -1, -1, -1, 363, -1, -1, -1, -1, 364, -1,
- -1, -1, -1, -1, -1, -1, 365, -1, -1, -1,
+ -1, 313, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 314, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 315, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 366, -1, -1, -1,
- -1, -1, -1, 367, -1, -1, -1, -1, -1, -1,
- 368, -1, -1, -1, -1, 369, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 370, 371, -1, -1, -1,
- -1, 372, -1, -1, -1, -1, -1, 373, -1, -1,
- 374, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 375, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 376, -1, 377, -1, -1, -1, -1, -1, -1,
- 378, -1, -1, -1, 379, 380, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 381, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 382, -1, -1, -1, -1, -1, -1, -1, -1,
- 383, 384, -1, -1, -1, 385, 386, -1, -1, -1,
- -1, -1, -1, -1, -1, 387, -1, -1, -1, -1,
+ 316, -1, -1, -1, -1, -1, 317, -1, -1, -1,
+ -1, 318, 319, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 320, -1, -1, 321, -1, -1,
+ -1, -1, -1, -1, -1, -1, 322, 323, -1, 324,
+ -1, -1, 325, -1, -1, 326, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 327, 328, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 329, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 330, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 388, 389, -1, -1, -1, -1, -1, -1, -1,
- 390, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 391, -1, -1, -1, -1, -1, -1, -1,
- 392, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 331, -1, -1, -1, -1, -1, -1, -1,
+ -1, 332, -1, -1, -1, -1, 333, -1, -1, -1,
+ -1, 334, -1, -1, -1, -1, -1, 335, -1, -1,
+ -1, 336, -1, -1, -1, 337, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 338, -1, -1, -1, -1,
+ 339, -1, -1, -1, -1, 340, -1, -1, -1, -1,
+ 341, -1, -1, -1, -1, 342, 343, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 344, -1, -1, -1,
+ -1, -1, 345, -1, -1, -1, 346, -1, -1, -1,
+ -1, -1, 347, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 348, -1, -1, -1, -1, -1, -1, -1,
+ 349, -1, -1, -1, -1, 350, 351, 352, -1, -1,
+ 353, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 354, -1, -1,
+ -1, 355, -1, -1, -1, -1, 356, -1, 357, -1,
+ -1, -1, 358, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 393, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 359, -1, -1, -1, -1, -1, -1, -1,
+ -1, 360, 361, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 362,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 394, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 395, -1, -1, -1, -1,
+ -1, 363, 364, -1, 365, 366, -1, -1, -1, 367,
+ -1, 368, -1, -1, -1, -1, -1, 369, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 370, -1,
+ -1, 371, 372, -1, -1, -1, -1, -1, -1, -1,
+ -1, 373, -1, 374, -1, -1, -1, -1, -1, -1,
+ -1, -1, 375, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 396, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 397, -1, -1, -1, -1,
- -1, -1, 398, -1, -1, 399, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 400, -1, -1, -1, -1, 401, -1, -1, -1, -1,
- -1, -1, -1, 402, 403, 404, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 405, -1, -1, -1, -1, -1, -1, -1, -1, 406,
- -1, 407, 408, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 409, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 410, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 376, 377, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 378, -1, 379, -1, -1, -1, 380, 381, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 382, -1,
+ -1, 383, -1, 384, -1, -1, 385, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 411, -1, -1, -1,
- 412, -1, -1, -1, -1, 413, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 386, -1, -1, -1,
+ -1, -1, 387, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 388, -1, 389, -1, -1, -1, 390, 391, -1, -1,
+ -1, -1, -1, -1, -1, -1, 392, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 393, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 394, 395, 396, -1,
+ -1, 397, -1, -1, -1, 398, -1, -1, 399, -1,
+ -1, -1, -1, -1, -1, 400, 401, -1, -1, -1,
+ -1, -1, 402, 403, -1, -1, 404, -1, -1, -1,
+ -1, 405, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 406, -1, -1,
+ 407, -1, -1, -1, -1, -1, -1, 408, 409, -1,
+ -1, -1, -1, 410, -1, -1, -1, -1, -1, -1,
+ -1, 411, -1, -1, -1, -1, 412, -1, -1, -1,
+ -1, -1, -1, -1, -1, 413, 414, -1, 415, -1,
+ -1, 416, -1, -1, 417, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 414, -1, 415, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 416, -1, -1, -1, -1, 417, -1, -1, -1, -1,
- -1, 418, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 419, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 418, -1,
+ -1, -1, -1, 419, -1, -1, 420, -1, -1, -1,
+ -1, -1, 421, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 420, -1, -1, -1, -1, -1, -1, -1, 421, -1,
+ -1, -1, -1, -1, 422, -1, -1, -1, -1, -1,
+ -1, -1, -1, 423, -1, -1, -1, -1, -1, -1,
+ -1, -1, 424, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 422, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 423, -1, 424, -1, -1,
- -1, 425, -1, -1, -1, 426, -1, -1, 427, -1,
- -1, -1, -1, -1, -1, 428, -1, -1, -1, -1,
- -1, -1, 429, -1, -1, -1, -1, -1, -1, -1,
+ 425, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 426, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 430, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 431, -1,
- 432, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 433, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 434, -1, -1, -1, -1,
- -1, 435, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 436, -1, -1,
+ -1, 427, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 428, -1, -1, -1, 429, 430, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 431, -1, -1,
+ -1, -1, 432, -1, -1, -1, -1, -1, -1, -1,
+ -1, 433, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 434, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 437, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 435, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 436, -1,
+ -1, -1, -1, -1, 437, -1, -1, 438, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 439, -1, -1,
+ -1, -1, 440, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 441, 442, 443, -1, -1,
+ -1, 444, -1, -1, -1, -1, -1, 445, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 446, 447, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 448, -1, -1, -1, -1, 449, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 438, -1, -1, -1, 439, 440, -1, -1, -1,
- -1, -1, 441, -1, -1, 442, -1, -1, -1, -1,
- -1, 443, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 444, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 445, -1, -1,
- -1, -1, -1, 446, -1, -1, 447, -1, -1, -1,
- -1, -1, -1, -1, -1, 448, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 449, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 450, -1, -1,
+ -1, 451, -1, -1, -1, -1, -1, -1, -1, -1,
+ 452, -1, -1, -1, -1, -1, -1, -1, 453, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 450, -1, -1, -1, -1, -1, 451, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 454, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 455,
+ -1, -1, -1, -1, -1, -1, 456, -1, -1, -1,
+ -1, 457, 458, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 459, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 460, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 452, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 453, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 454, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 455, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 461, -1, -1,
+ -1, 462, -1, -1, -1, -1, -1, 463, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 456, -1, -1, -1, -1, 457, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 464, -1, -1,
+ -1, 465, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 458, -1, -1, -1, -1, 459, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 460, 461, -1, -1, -1, 462, 463, -1, -1,
- 464, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 465, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 466, -1, -1, -1, -1, -1, -1, -1, -1,
- 467, 468, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 469, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 470, -1, -1, -1,
- -1, -1, 471, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 472, -1, -1, -1, -1, 473, -1, -1,
+ -1, -1, -1, 467, -1, -1, -1, -1, -1, -1,
+ 468, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 469, 470, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 471, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 474, -1, -1, -1, 475, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 476, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 477, -1, -1, -1, 478, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 472, -1, -1,
+ -1, 473, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 474, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 475, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 476, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 479, 480, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 477, -1, 478, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 481, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 482, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 483, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 484, -1, -1,
+ -1, 479, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 485, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 486, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 480, -1, -1,
+ -1, -1, -1, -1, 481, -1, -1, -1, -1, -1,
+ -1, -1, -1, 482, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 487, -1, -1, -1, -1,
- -1, 488, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 489, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 490, -1, -1, -1, -1,
- -1, 491, 492, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 483, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 484, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 485, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 493, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 494, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 486, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 487, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 488, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 489, -1, -1,
+ -1, -1, 490, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 491, -1,
+ -1, -1, -1, 492, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 493, 494, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
495, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 496, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 497, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 498, -1, -1,
+ -1, -1, 499, -1, -1, -1, -1, -1, 500, -1,
+ -1, -1, -1, 501, -1, -1, -1, 502, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 497, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 498, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 499, 500, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 501, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 502, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 503, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 503, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 504, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 505, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
@@ -1757,66 +1680,48 @@ findValue (register const char *str, register unsigned int len)
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 505, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 506, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 507, -1, -1, -1, -1, -1, -1, -1, -1,
- 508, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 509, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 510, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 506, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 507, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 508, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 509,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 511, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 512, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 510, 511, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 513, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 514, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 512, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 513, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 515, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 514, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 515, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 516, 517, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 518, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 516, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 519, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 520, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 521, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
@@ -1832,89 +1737,44 @@ findValue (register const char *str, register unsigned int len)
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 517, 518, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 522, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 523, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 524, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 525, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 519, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 520, -1, 521, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 522, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 526, -1,
+ -1, -1, -1, -1, -1, -1, -1, 527, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 528,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 523, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 524, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 525, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 526, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 527, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 528, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 529, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 529, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
@@ -1929,6 +1789,8 @@ findValue (register const char *str, register unsigned int len)
-1, -1, -1, -1, -1, -1, 530, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 531, -1,
+ -1, -1, -1, -1, -1, 532, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
@@ -1942,23 +1804,9 @@ findValue (register const char *str, register unsigned int len)
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 531, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 532, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
@@ -1970,13 +1818,13 @@ findValue (register const char *str, register unsigned int len)
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 533, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 533, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
@@ -1984,7 +1832,6 @@ findValue (register const char *str, register unsigned int len)
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 534, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
@@ -1993,6 +1840,7 @@ findValue (register const char *str, register unsigned int len)
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 534, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
@@ -2013,6 +1861,7 @@ findValue (register const char *str, register unsigned int len)
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 535, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
@@ -2026,6 +1875,7 @@ findValue (register const char *str, register unsigned int len)
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 536, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
@@ -2058,6 +1908,7 @@ findValue (register const char *str, register unsigned int len)
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 537, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
@@ -2065,7 +1916,6 @@ findValue (register const char *str, register unsigned int len)
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 535, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
@@ -2084,6 +1934,7 @@ findValue (register const char *str, register unsigned int len)
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 538, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
@@ -2150,7 +2001,7 @@ findValue (register const char *str, register unsigned int len)
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 536
+ -1, 539
};
if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
@@ -2172,7 +2023,7 @@ findValue (register const char *str, register unsigned int len)
}
return 0;
}
-#line 548 "CSSValueKeywords.gperf"
+#line 551 "CSSValueKeywords.gperf"
static const char * const valueList[] = {
"",
@@ -2427,6 +2278,7 @@ static const char * const valueList[] = {
"landscape",
"level",
"line-through",
+"local",
"loud",
"lower",
"-webkit-marquee",
@@ -2503,9 +2355,11 @@ static const char * const valueList[] = {
"media-play-button",
"media-seek-back-button",
"media-seek-forward-button",
+"media-rewind-button",
+"media-return-to-realtime-button",
"media-slider",
"media-sliderthumb",
-"media-timeline-container",
+"media-controls-background",
"media-current-time-display",
"media-time-remaining-display",
"menulist",
@@ -2527,11 +2381,11 @@ static const char * const valueList[] = {
"caps-lock-indicator",
"round",
"border",
+"border-box",
"content",
+"content-box",
"padding",
"padding-box",
-"border-box",
-"content-box",
"logical",
"visual",
"lines",
diff --git a/src/3rdparty/webkit/WebCore/generated/CSSValueKeywords.h b/src/3rdparty/webkit/WebCore/generated/CSSValueKeywords.h
index 8b6c669..6d2667d 100644
--- a/src/3rdparty/webkit/WebCore/generated/CSSValueKeywords.h
+++ b/src/3rdparty/webkit/WebCore/generated/CSSValueKeywords.h
@@ -255,294 +255,297 @@ const int CSSValueInvert = 248;
const int CSSValueLandscape = 249;
const int CSSValueLevel = 250;
const int CSSValueLineThrough = 251;
-const int CSSValueLoud = 252;
-const int CSSValueLower = 253;
-const int CSSValueWebkitMarquee = 254;
-const int CSSValueMix = 255;
-const int CSSValueNoCloseQuote = 256;
-const int CSSValueNoOpenQuote = 257;
-const int CSSValueNowrap = 258;
-const int CSSValueOpenQuote = 259;
-const int CSSValueOverlay = 260;
-const int CSSValueOverline = 261;
-const int CSSValuePortrait = 262;
-const int CSSValuePre = 263;
-const int CSSValuePreLine = 264;
-const int CSSValuePreWrap = 265;
-const int CSSValueRelative = 266;
-const int CSSValueScroll = 267;
-const int CSSValueSeparate = 268;
-const int CSSValueShow = 269;
-const int CSSValueStatic = 270;
-const int CSSValueThick = 271;
-const int CSSValueThin = 272;
-const int CSSValueUnderline = 273;
-const int CSSValueWebkitNowrap = 274;
-const int CSSValueStretch = 275;
-const int CSSValueStart = 276;
-const int CSSValueEnd = 277;
-const int CSSValueReverse = 278;
-const int CSSValueHorizontal = 279;
-const int CSSValueVertical = 280;
-const int CSSValueInlineAxis = 281;
-const int CSSValueBlockAxis = 282;
-const int CSSValueSingle = 283;
-const int CSSValueMultiple = 284;
-const int CSSValueForwards = 285;
-const int CSSValueBackwards = 286;
-const int CSSValueAhead = 287;
-const int CSSValueUp = 288;
-const int CSSValueDown = 289;
-const int CSSValueSlow = 290;
-const int CSSValueFast = 291;
-const int CSSValueInfinite = 292;
-const int CSSValueSlide = 293;
-const int CSSValueAlternate = 294;
-const int CSSValueReadOnly = 295;
-const int CSSValueReadWrite = 296;
-const int CSSValueReadWritePlaintextOnly = 297;
-const int CSSValueElement = 298;
-const int CSSValueIgnore = 299;
-const int CSSValueIntrinsic = 300;
-const int CSSValueMinIntrinsic = 301;
-const int CSSValueClip = 302;
-const int CSSValueEllipsis = 303;
-const int CSSValueDiscard = 304;
-const int CSSValueDotDash = 305;
-const int CSSValueDotDotDash = 306;
-const int CSSValueWave = 307;
-const int CSSValueContinuous = 308;
-const int CSSValueSkipWhiteSpace = 309;
-const int CSSValueBreakAll = 310;
-const int CSSValueBreakWord = 311;
-const int CSSValueSpace = 312;
-const int CSSValueAfterWhiteSpace = 313;
-const int CSSValueCheckbox = 314;
-const int CSSValueRadio = 315;
-const int CSSValuePushButton = 316;
-const int CSSValueSquareButton = 317;
-const int CSSValueButton = 318;
-const int CSSValueButtonBevel = 319;
-const int CSSValueDefaultButton = 320;
-const int CSSValueListbox = 321;
-const int CSSValueListitem = 322;
-const int CSSValueMediaFullscreenButton = 323;
-const int CSSValueMediaMuteButton = 324;
-const int CSSValueMediaPlayButton = 325;
-const int CSSValueMediaSeekBackButton = 326;
-const int CSSValueMediaSeekForwardButton = 327;
-const int CSSValueMediaSlider = 328;
-const int CSSValueMediaSliderthumb = 329;
-const int CSSValueMediaTimelineContainer = 330;
-const int CSSValueMediaCurrentTimeDisplay = 331;
-const int CSSValueMediaTimeRemainingDisplay = 332;
-const int CSSValueMenulist = 333;
-const int CSSValueMenulistButton = 334;
-const int CSSValueMenulistText = 335;
-const int CSSValueMenulistTextfield = 336;
-const int CSSValueSliderHorizontal = 337;
-const int CSSValueSliderVertical = 338;
-const int CSSValueSliderthumbHorizontal = 339;
-const int CSSValueSliderthumbVertical = 340;
-const int CSSValueCaret = 341;
-const int CSSValueSearchfield = 342;
-const int CSSValueSearchfieldDecoration = 343;
-const int CSSValueSearchfieldResultsDecoration = 344;
-const int CSSValueSearchfieldResultsButton = 345;
-const int CSSValueSearchfieldCancelButton = 346;
-const int CSSValueTextfield = 347;
-const int CSSValueTextarea = 348;
-const int CSSValueCapsLockIndicator = 349;
-const int CSSValueRound = 350;
-const int CSSValueBorder = 351;
-const int CSSValueContent = 352;
-const int CSSValuePadding = 353;
-const int CSSValuePaddingBox = 354;
+const int CSSValueLocal = 252;
+const int CSSValueLoud = 253;
+const int CSSValueLower = 254;
+const int CSSValueWebkitMarquee = 255;
+const int CSSValueMix = 256;
+const int CSSValueNoCloseQuote = 257;
+const int CSSValueNoOpenQuote = 258;
+const int CSSValueNowrap = 259;
+const int CSSValueOpenQuote = 260;
+const int CSSValueOverlay = 261;
+const int CSSValueOverline = 262;
+const int CSSValuePortrait = 263;
+const int CSSValuePre = 264;
+const int CSSValuePreLine = 265;
+const int CSSValuePreWrap = 266;
+const int CSSValueRelative = 267;
+const int CSSValueScroll = 268;
+const int CSSValueSeparate = 269;
+const int CSSValueShow = 270;
+const int CSSValueStatic = 271;
+const int CSSValueThick = 272;
+const int CSSValueThin = 273;
+const int CSSValueUnderline = 274;
+const int CSSValueWebkitNowrap = 275;
+const int CSSValueStretch = 276;
+const int CSSValueStart = 277;
+const int CSSValueEnd = 278;
+const int CSSValueReverse = 279;
+const int CSSValueHorizontal = 280;
+const int CSSValueVertical = 281;
+const int CSSValueInlineAxis = 282;
+const int CSSValueBlockAxis = 283;
+const int CSSValueSingle = 284;
+const int CSSValueMultiple = 285;
+const int CSSValueForwards = 286;
+const int CSSValueBackwards = 287;
+const int CSSValueAhead = 288;
+const int CSSValueUp = 289;
+const int CSSValueDown = 290;
+const int CSSValueSlow = 291;
+const int CSSValueFast = 292;
+const int CSSValueInfinite = 293;
+const int CSSValueSlide = 294;
+const int CSSValueAlternate = 295;
+const int CSSValueReadOnly = 296;
+const int CSSValueReadWrite = 297;
+const int CSSValueReadWritePlaintextOnly = 298;
+const int CSSValueElement = 299;
+const int CSSValueIgnore = 300;
+const int CSSValueIntrinsic = 301;
+const int CSSValueMinIntrinsic = 302;
+const int CSSValueClip = 303;
+const int CSSValueEllipsis = 304;
+const int CSSValueDiscard = 305;
+const int CSSValueDotDash = 306;
+const int CSSValueDotDotDash = 307;
+const int CSSValueWave = 308;
+const int CSSValueContinuous = 309;
+const int CSSValueSkipWhiteSpace = 310;
+const int CSSValueBreakAll = 311;
+const int CSSValueBreakWord = 312;
+const int CSSValueSpace = 313;
+const int CSSValueAfterWhiteSpace = 314;
+const int CSSValueCheckbox = 315;
+const int CSSValueRadio = 316;
+const int CSSValuePushButton = 317;
+const int CSSValueSquareButton = 318;
+const int CSSValueButton = 319;
+const int CSSValueButtonBevel = 320;
+const int CSSValueDefaultButton = 321;
+const int CSSValueListbox = 322;
+const int CSSValueListitem = 323;
+const int CSSValueMediaFullscreenButton = 324;
+const int CSSValueMediaMuteButton = 325;
+const int CSSValueMediaPlayButton = 326;
+const int CSSValueMediaSeekBackButton = 327;
+const int CSSValueMediaSeekForwardButton = 328;
+const int CSSValueMediaRewindButton = 329;
+const int CSSValueMediaReturnToRealtimeButton = 330;
+const int CSSValueMediaSlider = 331;
+const int CSSValueMediaSliderthumb = 332;
+const int CSSValueMediaControlsBackground = 333;
+const int CSSValueMediaCurrentTimeDisplay = 334;
+const int CSSValueMediaTimeRemainingDisplay = 335;
+const int CSSValueMenulist = 336;
+const int CSSValueMenulistButton = 337;
+const int CSSValueMenulistText = 338;
+const int CSSValueMenulistTextfield = 339;
+const int CSSValueSliderHorizontal = 340;
+const int CSSValueSliderVertical = 341;
+const int CSSValueSliderthumbHorizontal = 342;
+const int CSSValueSliderthumbVertical = 343;
+const int CSSValueCaret = 344;
+const int CSSValueSearchfield = 345;
+const int CSSValueSearchfieldDecoration = 346;
+const int CSSValueSearchfieldResultsDecoration = 347;
+const int CSSValueSearchfieldResultsButton = 348;
+const int CSSValueSearchfieldCancelButton = 349;
+const int CSSValueTextfield = 350;
+const int CSSValueTextarea = 351;
+const int CSSValueCapsLockIndicator = 352;
+const int CSSValueRound = 353;
+const int CSSValueBorder = 354;
const int CSSValueBorderBox = 355;
-const int CSSValueContentBox = 356;
-const int CSSValueLogical = 357;
-const int CSSValueVisual = 358;
-const int CSSValueLines = 359;
-const int CSSValueRunning = 360;
-const int CSSValuePaused = 361;
-const int CSSValueFlat = 362;
-const int CSSValuePreserve3d = 363;
-const int CSSValueEase = 364;
-const int CSSValueLinear = 365;
-const int CSSValueEaseIn = 366;
-const int CSSValueEaseOut = 367;
-const int CSSValueEaseInOut = 368;
-const int CSSValueDocument = 369;
-const int CSSValueReset = 370;
-const int CSSValueVisiblepainted = 371;
-const int CSSValueVisiblefill = 372;
-const int CSSValueVisiblestroke = 373;
-const int CSSValuePainted = 374;
-const int CSSValueFill = 375;
-const int CSSValueStroke = 376;
-const int CSSValueAliceblue = 377;
-const int CSSValueAntiquewhite = 378;
-const int CSSValueAquamarine = 379;
-const int CSSValueAzure = 380;
-const int CSSValueBeige = 381;
-const int CSSValueBisque = 382;
-const int CSSValueBlanchedalmond = 383;
-const int CSSValueBlueviolet = 384;
-const int CSSValueBrown = 385;
-const int CSSValueBurlywood = 386;
-const int CSSValueCadetblue = 387;
-const int CSSValueChartreuse = 388;
-const int CSSValueChocolate = 389;
-const int CSSValueCoral = 390;
-const int CSSValueCornflowerblue = 391;
-const int CSSValueCornsilk = 392;
-const int CSSValueCrimson = 393;
-const int CSSValueCyan = 394;
-const int CSSValueDarkblue = 395;
-const int CSSValueDarkcyan = 396;
-const int CSSValueDarkgoldenrod = 397;
-const int CSSValueDarkgray = 398;
-const int CSSValueDarkgreen = 399;
-const int CSSValueDarkgrey = 400;
-const int CSSValueDarkkhaki = 401;
-const int CSSValueDarkmagenta = 402;
-const int CSSValueDarkolivegreen = 403;
-const int CSSValueDarkorange = 404;
-const int CSSValueDarkorchid = 405;
-const int CSSValueDarkred = 406;
-const int CSSValueDarksalmon = 407;
-const int CSSValueDarkseagreen = 408;
-const int CSSValueDarkslateblue = 409;
-const int CSSValueDarkslategray = 410;
-const int CSSValueDarkslategrey = 411;
-const int CSSValueDarkturquoise = 412;
-const int CSSValueDarkviolet = 413;
-const int CSSValueDeeppink = 414;
-const int CSSValueDeepskyblue = 415;
-const int CSSValueDimgray = 416;
-const int CSSValueDimgrey = 417;
-const int CSSValueDodgerblue = 418;
-const int CSSValueFirebrick = 419;
-const int CSSValueFloralwhite = 420;
-const int CSSValueForestgreen = 421;
-const int CSSValueGainsboro = 422;
-const int CSSValueGhostwhite = 423;
-const int CSSValueGold = 424;
-const int CSSValueGoldenrod = 425;
-const int CSSValueGreenyellow = 426;
-const int CSSValueHoneydew = 427;
-const int CSSValueHotpink = 428;
-const int CSSValueIndianred = 429;
-const int CSSValueIndigo = 430;
-const int CSSValueIvory = 431;
-const int CSSValueKhaki = 432;
-const int CSSValueLavender = 433;
-const int CSSValueLavenderblush = 434;
-const int CSSValueLawngreen = 435;
-const int CSSValueLemonchiffon = 436;
-const int CSSValueLightblue = 437;
-const int CSSValueLightcoral = 438;
-const int CSSValueLightcyan = 439;
-const int CSSValueLightgoldenrodyellow = 440;
-const int CSSValueLightgray = 441;
-const int CSSValueLightgreen = 442;
-const int CSSValueLightgrey = 443;
-const int CSSValueLightpink = 444;
-const int CSSValueLightsalmon = 445;
-const int CSSValueLightseagreen = 446;
-const int CSSValueLightskyblue = 447;
-const int CSSValueLightslategray = 448;
-const int CSSValueLightslategrey = 449;
-const int CSSValueLightsteelblue = 450;
-const int CSSValueLightyellow = 451;
-const int CSSValueLimegreen = 452;
-const int CSSValueLinen = 453;
-const int CSSValueMagenta = 454;
-const int CSSValueMediumaquamarine = 455;
-const int CSSValueMediumblue = 456;
-const int CSSValueMediumorchid = 457;
-const int CSSValueMediumpurple = 458;
-const int CSSValueMediumseagreen = 459;
-const int CSSValueMediumslateblue = 460;
-const int CSSValueMediumspringgreen = 461;
-const int CSSValueMediumturquoise = 462;
-const int CSSValueMediumvioletred = 463;
-const int CSSValueMidnightblue = 464;
-const int CSSValueMintcream = 465;
-const int CSSValueMistyrose = 466;
-const int CSSValueMoccasin = 467;
-const int CSSValueNavajowhite = 468;
-const int CSSValueOldlace = 469;
-const int CSSValueOlivedrab = 470;
-const int CSSValueOrangered = 471;
-const int CSSValueOrchid = 472;
-const int CSSValuePalegoldenrod = 473;
-const int CSSValuePalegreen = 474;
-const int CSSValuePaleturquoise = 475;
-const int CSSValuePalevioletred = 476;
-const int CSSValuePapayawhip = 477;
-const int CSSValuePeachpuff = 478;
-const int CSSValuePeru = 479;
-const int CSSValuePink = 480;
-const int CSSValuePlum = 481;
-const int CSSValuePowderblue = 482;
-const int CSSValueRosybrown = 483;
-const int CSSValueRoyalblue = 484;
-const int CSSValueSaddlebrown = 485;
-const int CSSValueSalmon = 486;
-const int CSSValueSandybrown = 487;
-const int CSSValueSeagreen = 488;
-const int CSSValueSeashell = 489;
-const int CSSValueSienna = 490;
-const int CSSValueSkyblue = 491;
-const int CSSValueSlateblue = 492;
-const int CSSValueSlategray = 493;
-const int CSSValueSlategrey = 494;
-const int CSSValueSnow = 495;
-const int CSSValueSpringgreen = 496;
-const int CSSValueSteelblue = 497;
-const int CSSValueTan = 498;
-const int CSSValueThistle = 499;
-const int CSSValueTomato = 500;
-const int CSSValueTurquoise = 501;
-const int CSSValueViolet = 502;
-const int CSSValueWheat = 503;
-const int CSSValueWhitesmoke = 504;
-const int CSSValueYellowgreen = 505;
-const int CSSValueNonzero = 506;
-const int CSSValueEvenodd = 507;
-const int CSSValueAccumulate = 508;
-const int CSSValueNew = 509;
-const int CSSValueSrgb = 510;
-const int CSSValueLinearrgb = 511;
-const int CSSValueOptimizespeed = 512;
-const int CSSValueOptimizequality = 513;
-const int CSSValueCrispedges = 514;
-const int CSSValueGeometricprecision = 515;
-const int CSSValueButt = 516;
-const int CSSValueMiter = 517;
-const int CSSValueBevel = 518;
-const int CSSValueOptimizelegibility = 519;
-const int CSSValueBeforeEdge = 520;
-const int CSSValueAfterEdge = 521;
-const int CSSValueCentral = 522;
-const int CSSValueTextBeforeEdge = 523;
-const int CSSValueTextAfterEdge = 524;
-const int CSSValueIdeographic = 525;
-const int CSSValueAlphabetic = 526;
-const int CSSValueHanging = 527;
-const int CSSValueMathematical = 528;
-const int CSSValueUseScript = 529;
-const int CSSValueNoChange = 530;
-const int CSSValueResetSize = 531;
-const int CSSValueLrTb = 532;
-const int CSSValueRlTb = 533;
-const int CSSValueTbRl = 534;
-const int CSSValueLr = 535;
-const int CSSValueRl = 536;
-const int CSSValueTb = 537;
-const int numCSSValueKeywords = 538;
-const size_t maxCSSValueKeywordLength = 30;
+const int CSSValueContent = 356;
+const int CSSValueContentBox = 357;
+const int CSSValuePadding = 358;
+const int CSSValuePaddingBox = 359;
+const int CSSValueLogical = 360;
+const int CSSValueVisual = 361;
+const int CSSValueLines = 362;
+const int CSSValueRunning = 363;
+const int CSSValuePaused = 364;
+const int CSSValueFlat = 365;
+const int CSSValuePreserve3d = 366;
+const int CSSValueEase = 367;
+const int CSSValueLinear = 368;
+const int CSSValueEaseIn = 369;
+const int CSSValueEaseOut = 370;
+const int CSSValueEaseInOut = 371;
+const int CSSValueDocument = 372;
+const int CSSValueReset = 373;
+const int CSSValueVisiblepainted = 374;
+const int CSSValueVisiblefill = 375;
+const int CSSValueVisiblestroke = 376;
+const int CSSValuePainted = 377;
+const int CSSValueFill = 378;
+const int CSSValueStroke = 379;
+const int CSSValueAliceblue = 380;
+const int CSSValueAntiquewhite = 381;
+const int CSSValueAquamarine = 382;
+const int CSSValueAzure = 383;
+const int CSSValueBeige = 384;
+const int CSSValueBisque = 385;
+const int CSSValueBlanchedalmond = 386;
+const int CSSValueBlueviolet = 387;
+const int CSSValueBrown = 388;
+const int CSSValueBurlywood = 389;
+const int CSSValueCadetblue = 390;
+const int CSSValueChartreuse = 391;
+const int CSSValueChocolate = 392;
+const int CSSValueCoral = 393;
+const int CSSValueCornflowerblue = 394;
+const int CSSValueCornsilk = 395;
+const int CSSValueCrimson = 396;
+const int CSSValueCyan = 397;
+const int CSSValueDarkblue = 398;
+const int CSSValueDarkcyan = 399;
+const int CSSValueDarkgoldenrod = 400;
+const int CSSValueDarkgray = 401;
+const int CSSValueDarkgreen = 402;
+const int CSSValueDarkgrey = 403;
+const int CSSValueDarkkhaki = 404;
+const int CSSValueDarkmagenta = 405;
+const int CSSValueDarkolivegreen = 406;
+const int CSSValueDarkorange = 407;
+const int CSSValueDarkorchid = 408;
+const int CSSValueDarkred = 409;
+const int CSSValueDarksalmon = 410;
+const int CSSValueDarkseagreen = 411;
+const int CSSValueDarkslateblue = 412;
+const int CSSValueDarkslategray = 413;
+const int CSSValueDarkslategrey = 414;
+const int CSSValueDarkturquoise = 415;
+const int CSSValueDarkviolet = 416;
+const int CSSValueDeeppink = 417;
+const int CSSValueDeepskyblue = 418;
+const int CSSValueDimgray = 419;
+const int CSSValueDimgrey = 420;
+const int CSSValueDodgerblue = 421;
+const int CSSValueFirebrick = 422;
+const int CSSValueFloralwhite = 423;
+const int CSSValueForestgreen = 424;
+const int CSSValueGainsboro = 425;
+const int CSSValueGhostwhite = 426;
+const int CSSValueGold = 427;
+const int CSSValueGoldenrod = 428;
+const int CSSValueGreenyellow = 429;
+const int CSSValueHoneydew = 430;
+const int CSSValueHotpink = 431;
+const int CSSValueIndianred = 432;
+const int CSSValueIndigo = 433;
+const int CSSValueIvory = 434;
+const int CSSValueKhaki = 435;
+const int CSSValueLavender = 436;
+const int CSSValueLavenderblush = 437;
+const int CSSValueLawngreen = 438;
+const int CSSValueLemonchiffon = 439;
+const int CSSValueLightblue = 440;
+const int CSSValueLightcoral = 441;
+const int CSSValueLightcyan = 442;
+const int CSSValueLightgoldenrodyellow = 443;
+const int CSSValueLightgray = 444;
+const int CSSValueLightgreen = 445;
+const int CSSValueLightgrey = 446;
+const int CSSValueLightpink = 447;
+const int CSSValueLightsalmon = 448;
+const int CSSValueLightseagreen = 449;
+const int CSSValueLightskyblue = 450;
+const int CSSValueLightslategray = 451;
+const int CSSValueLightslategrey = 452;
+const int CSSValueLightsteelblue = 453;
+const int CSSValueLightyellow = 454;
+const int CSSValueLimegreen = 455;
+const int CSSValueLinen = 456;
+const int CSSValueMagenta = 457;
+const int CSSValueMediumaquamarine = 458;
+const int CSSValueMediumblue = 459;
+const int CSSValueMediumorchid = 460;
+const int CSSValueMediumpurple = 461;
+const int CSSValueMediumseagreen = 462;
+const int CSSValueMediumslateblue = 463;
+const int CSSValueMediumspringgreen = 464;
+const int CSSValueMediumturquoise = 465;
+const int CSSValueMediumvioletred = 466;
+const int CSSValueMidnightblue = 467;
+const int CSSValueMintcream = 468;
+const int CSSValueMistyrose = 469;
+const int CSSValueMoccasin = 470;
+const int CSSValueNavajowhite = 471;
+const int CSSValueOldlace = 472;
+const int CSSValueOlivedrab = 473;
+const int CSSValueOrangered = 474;
+const int CSSValueOrchid = 475;
+const int CSSValuePalegoldenrod = 476;
+const int CSSValuePalegreen = 477;
+const int CSSValuePaleturquoise = 478;
+const int CSSValuePalevioletred = 479;
+const int CSSValuePapayawhip = 480;
+const int CSSValuePeachpuff = 481;
+const int CSSValuePeru = 482;
+const int CSSValuePink = 483;
+const int CSSValuePlum = 484;
+const int CSSValuePowderblue = 485;
+const int CSSValueRosybrown = 486;
+const int CSSValueRoyalblue = 487;
+const int CSSValueSaddlebrown = 488;
+const int CSSValueSalmon = 489;
+const int CSSValueSandybrown = 490;
+const int CSSValueSeagreen = 491;
+const int CSSValueSeashell = 492;
+const int CSSValueSienna = 493;
+const int CSSValueSkyblue = 494;
+const int CSSValueSlateblue = 495;
+const int CSSValueSlategray = 496;
+const int CSSValueSlategrey = 497;
+const int CSSValueSnow = 498;
+const int CSSValueSpringgreen = 499;
+const int CSSValueSteelblue = 500;
+const int CSSValueTan = 501;
+const int CSSValueThistle = 502;
+const int CSSValueTomato = 503;
+const int CSSValueTurquoise = 504;
+const int CSSValueViolet = 505;
+const int CSSValueWheat = 506;
+const int CSSValueWhitesmoke = 507;
+const int CSSValueYellowgreen = 508;
+const int CSSValueNonzero = 509;
+const int CSSValueEvenodd = 510;
+const int CSSValueAccumulate = 511;
+const int CSSValueNew = 512;
+const int CSSValueSrgb = 513;
+const int CSSValueLinearrgb = 514;
+const int CSSValueOptimizespeed = 515;
+const int CSSValueOptimizequality = 516;
+const int CSSValueCrispedges = 517;
+const int CSSValueGeometricprecision = 518;
+const int CSSValueButt = 519;
+const int CSSValueMiter = 520;
+const int CSSValueBevel = 521;
+const int CSSValueOptimizelegibility = 522;
+const int CSSValueBeforeEdge = 523;
+const int CSSValueAfterEdge = 524;
+const int CSSValueCentral = 525;
+const int CSSValueTextBeforeEdge = 526;
+const int CSSValueTextAfterEdge = 527;
+const int CSSValueIdeographic = 528;
+const int CSSValueAlphabetic = 529;
+const int CSSValueHanging = 530;
+const int CSSValueMathematical = 531;
+const int CSSValueUseScript = 532;
+const int CSSValueNoChange = 533;
+const int CSSValueResetSize = 534;
+const int CSSValueLrTb = 535;
+const int CSSValueRlTb = 536;
+const int CSSValueTbRl = 537;
+const int CSSValueLr = 538;
+const int CSSValueRl = 539;
+const int CSSValueTb = 540;
+const int numCSSValueKeywords = 541;
+const size_t maxCSSValueKeywordLength = 31;
const char* getValueName(unsigned short id);
diff --git a/src/3rdparty/webkit/WebCore/generated/DatePrototype.lut.h b/src/3rdparty/webkit/WebCore/generated/DatePrototype.lut.h
index 3016f9e..507cf91 100644
--- a/src/3rdparty/webkit/WebCore/generated/DatePrototype.lut.h
+++ b/src/3rdparty/webkit/WebCore/generated/DatePrototype.lut.h
@@ -54,6 +54,6 @@ static const struct HashTableValue dateTableValues[47] = {
{ 0, 0, 0, 0 }
};
-extern const struct HashTable dateTable =
+extern JSC_CONST_HASHTABLE HashTable dateTable =
{ 134, 127, dateTableValues, 0 };
} // namespace
diff --git a/src/3rdparty/webkit/WebCore/generated/Grammar.cpp b/src/3rdparty/webkit/WebCore/generated/Grammar.cpp
index 4ad3078..6e976b9 100644
--- a/src/3rdparty/webkit/WebCore/generated/Grammar.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/Grammar.cpp
@@ -1,24 +1,23 @@
-/* A Bison parser, made by GNU Bison 2.3. */
-/* Skeleton implementation for Bison's Yacc-like parsers in C
+/* A Bison parser, made by GNU Bison 2.4.1. */
- Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
+/* Skeleton implementation for Bison's Yacc-like parsers in C
+
+ Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
Free Software Foundation, Inc.
-
- This program is free software; you can redistribute it and/or modify
+
+ This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2, or (at your option)
- any later version.
-
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
-
+
You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 51 Franklin Street, Fifth Floor,
- Boston, MA 02110-1301, USA. */
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
/* As a special exception, you may create a larger work that contains
part or all of the Bison parser skeleton and distribute that work
@@ -29,7 +28,7 @@
special exception, which will cause the skeleton and the resulting
Bison output files to be licensed under the GNU General Public
License without this special exception.
-
+
This special exception was added by the Free Software Foundation in
version 2.2 of Bison. */
@@ -47,7 +46,7 @@
#define YYBISON 1
/* Bison version. */
-#define YYBISON_VERSION "2.3"
+#define YYBISON_VERSION "2.4.1"
/* Skeleton name. */
#define YYSKELETON_NAME "yacc.c"
@@ -55,159 +54,28 @@
/* Pure parsers. */
#define YYPURE 1
+/* Push parsers. */
+#define YYPUSH 0
+
+/* Pull parsers. */
+#define YYPULL 1
+
/* Using locations. */
#define YYLSP_NEEDED 1
/* Substitute the variable and function names. */
-#define yyparse jscyyparse
-#define yylex jscyylex
-#define yyerror jscyyerror
-#define yylval jscyylval
-#define yychar jscyychar
-#define yydebug jscyydebug
-#define yynerrs jscyynerrs
-#define yylloc jscyylloc
-
-/* Tokens. */
-#ifndef YYTOKENTYPE
-# define YYTOKENTYPE
- /* Put the tokens into the symbol table, so that GDB and other debuggers
- know about them. */
- enum yytokentype {
- NULLTOKEN = 258,
- TRUETOKEN = 259,
- FALSETOKEN = 260,
- BREAK = 261,
- CASE = 262,
- DEFAULT = 263,
- FOR = 264,
- NEW = 265,
- VAR = 266,
- CONSTTOKEN = 267,
- CONTINUE = 268,
- FUNCTION = 269,
- RETURN = 270,
- VOIDTOKEN = 271,
- DELETETOKEN = 272,
- IF = 273,
- THISTOKEN = 274,
- DO = 275,
- WHILE = 276,
- INTOKEN = 277,
- INSTANCEOF = 278,
- TYPEOF = 279,
- SWITCH = 280,
- WITH = 281,
- RESERVED = 282,
- THROW = 283,
- TRY = 284,
- CATCH = 285,
- FINALLY = 286,
- DEBUGGER = 287,
- IF_WITHOUT_ELSE = 288,
- ELSE = 289,
- EQEQ = 290,
- NE = 291,
- STREQ = 292,
- STRNEQ = 293,
- LE = 294,
- GE = 295,
- OR = 296,
- AND = 297,
- PLUSPLUS = 298,
- MINUSMINUS = 299,
- LSHIFT = 300,
- RSHIFT = 301,
- URSHIFT = 302,
- PLUSEQUAL = 303,
- MINUSEQUAL = 304,
- MULTEQUAL = 305,
- DIVEQUAL = 306,
- LSHIFTEQUAL = 307,
- RSHIFTEQUAL = 308,
- URSHIFTEQUAL = 309,
- ANDEQUAL = 310,
- MODEQUAL = 311,
- XOREQUAL = 312,
- OREQUAL = 313,
- OPENBRACE = 314,
- CLOSEBRACE = 315,
- NUMBER = 316,
- IDENT = 317,
- STRING = 318,
- AUTOPLUSPLUS = 319,
- AUTOMINUSMINUS = 320
- };
-#endif
-/* Tokens. */
-#define NULLTOKEN 258
-#define TRUETOKEN 259
-#define FALSETOKEN 260
-#define BREAK 261
-#define CASE 262
-#define DEFAULT 263
-#define FOR 264
-#define NEW 265
-#define VAR 266
-#define CONSTTOKEN 267
-#define CONTINUE 268
-#define FUNCTION 269
-#define RETURN 270
-#define VOIDTOKEN 271
-#define DELETETOKEN 272
-#define IF 273
-#define THISTOKEN 274
-#define DO 275
-#define WHILE 276
-#define INTOKEN 277
-#define INSTANCEOF 278
-#define TYPEOF 279
-#define SWITCH 280
-#define WITH 281
-#define RESERVED 282
-#define THROW 283
-#define TRY 284
-#define CATCH 285
-#define FINALLY 286
-#define DEBUGGER 287
-#define IF_WITHOUT_ELSE 288
-#define ELSE 289
-#define EQEQ 290
-#define NE 291
-#define STREQ 292
-#define STRNEQ 293
-#define LE 294
-#define GE 295
-#define OR 296
-#define AND 297
-#define PLUSPLUS 298
-#define MINUSMINUS 299
-#define LSHIFT 300
-#define RSHIFT 301
-#define URSHIFT 302
-#define PLUSEQUAL 303
-#define MINUSEQUAL 304
-#define MULTEQUAL 305
-#define DIVEQUAL 306
-#define LSHIFTEQUAL 307
-#define RSHIFTEQUAL 308
-#define URSHIFTEQUAL 309
-#define ANDEQUAL 310
-#define MODEQUAL 311
-#define XOREQUAL 312
-#define OREQUAL 313
-#define OPENBRACE 314
-#define CLOSEBRACE 315
-#define NUMBER 316
-#define IDENT 317
-#define STRING 318
-#define AUTOPLUSPLUS 319
-#define AUTOMINUSMINUS 320
-
-
-
+#define yyparse jscyyparse
+#define yylex jscyylex
+#define yyerror jscyyerror
+#define yylval jscyylval
+#define yychar jscyychar
+#define yydebug jscyydebug
+#define yynerrs jscyynerrs
+#define yylloc jscyylloc
/* Copy the first part of user declarations. */
+
+/* Line 189 of yacc.c */
#line 3 "../../JavaScriptCore/parser/Grammar.y"
@@ -245,8 +113,12 @@
#include "CommonIdentifiers.h"
#include "NodeInfo.h"
#include "Parser.h"
+#include <wtf/FastMalloc.h>
#include <wtf/MathExtras.h>
+#define YYMALLOC fastMalloc
+#define YYFREE fastFree
+
#define YYMAXDEPTH 10000
#define YYENABLE_NLS 0
@@ -297,12 +169,6 @@ static ExpressionNode* combineCommaNodes(void*, ExpressionNode* list, Expression
#pragma warning(disable: 4244)
#pragma warning(disable: 4702)
-// At least some of the time, the declarations of malloc and free that bison
-// generates are causing warnings. A way to avoid this is to explicitly define
-// the macros so that bison doesn't try to declare malloc and free.
-#define YYMALLOC malloc
-#define YYFREE free
-
#endif
#define YYPARSE_PARAM globalPtr
@@ -363,6 +229,9 @@ static inline void appendToVarDeclarationList(void* globalPtr, ParserArenaData<D
+/* Line 189 of yacc.c */
+#line 234 "WebCore/tmp/../generated/Grammar.tab.c"
+
/* Enabling traces. */
#ifndef YYDEBUG
# define YYDEBUG 0
@@ -381,10 +250,88 @@ static inline void appendToVarDeclarationList(void* globalPtr, ParserArenaData<D
# define YYTOKEN_TABLE 0
#endif
+
+/* Tokens. */
+#ifndef YYTOKENTYPE
+# define YYTOKENTYPE
+ /* Put the tokens into the symbol table, so that GDB and other debuggers
+ know about them. */
+ enum yytokentype {
+ NULLTOKEN = 258,
+ TRUETOKEN = 259,
+ FALSETOKEN = 260,
+ BREAK = 261,
+ CASE = 262,
+ DEFAULT = 263,
+ FOR = 264,
+ NEW = 265,
+ VAR = 266,
+ CONSTTOKEN = 267,
+ CONTINUE = 268,
+ FUNCTION = 269,
+ RETURN = 270,
+ VOIDTOKEN = 271,
+ DELETETOKEN = 272,
+ IF = 273,
+ THISTOKEN = 274,
+ DO = 275,
+ WHILE = 276,
+ INTOKEN = 277,
+ INSTANCEOF = 278,
+ TYPEOF = 279,
+ SWITCH = 280,
+ WITH = 281,
+ RESERVED = 282,
+ THROW = 283,
+ TRY = 284,
+ CATCH = 285,
+ FINALLY = 286,
+ DEBUGGER = 287,
+ IF_WITHOUT_ELSE = 288,
+ ELSE = 289,
+ EQEQ = 290,
+ NE = 291,
+ STREQ = 292,
+ STRNEQ = 293,
+ LE = 294,
+ GE = 295,
+ OR = 296,
+ AND = 297,
+ PLUSPLUS = 298,
+ MINUSMINUS = 299,
+ LSHIFT = 300,
+ RSHIFT = 301,
+ URSHIFT = 302,
+ PLUSEQUAL = 303,
+ MINUSEQUAL = 304,
+ MULTEQUAL = 305,
+ DIVEQUAL = 306,
+ LSHIFTEQUAL = 307,
+ RSHIFTEQUAL = 308,
+ URSHIFTEQUAL = 309,
+ ANDEQUAL = 310,
+ MODEQUAL = 311,
+ XOREQUAL = 312,
+ OREQUAL = 313,
+ OPENBRACE = 314,
+ CLOSEBRACE = 315,
+ NUMBER = 316,
+ IDENT = 317,
+ STRING = 318,
+ AUTOPLUSPLUS = 319,
+ AUTOMINUSMINUS = 320
+ };
+#endif
+
+
+
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
typedef union YYSTYPE
-#line 157 "../../JavaScriptCore/parser/Grammar.y"
{
+
+/* Line 214 of yacc.c */
+#line 155 "../../JavaScriptCore/parser/Grammar.y"
+
int intValue;
double doubleValue;
Identifier* ident;
@@ -414,13 +361,15 @@ typedef union YYSTYPE
ParameterListInfo parameterList;
Operator op;
-}
-/* Line 187 of yacc.c. */
-#line 420 "WebCore/tmp/../generated/Grammar.tab.c"
- YYSTYPE;
+
+
+
+/* Line 214 of yacc.c */
+#line 369 "WebCore/tmp/../generated/Grammar.tab.c"
+} YYSTYPE;
+# define YYSTYPE_IS_TRIVIAL 1
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
-# define YYSTYPE_IS_TRIVIAL 1
#endif
#if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED
@@ -440,8 +389,8 @@ typedef struct YYLTYPE
/* Copy the second part of user declarations. */
-/* Line 216 of yacc.c. */
-#line 445 "WebCore/tmp/../generated/Grammar.tab.c"
+/* Line 264 of yacc.c */
+#line 394 "WebCore/tmp/../generated/Grammar.tab.c"
#ifdef short
# undef short
@@ -516,14 +465,14 @@ typedef short int yytype_int16;
#if (defined __STDC__ || defined __C99__FUNC__ \
|| defined __cplusplus || defined _MSC_VER)
static int
-YYID (int i)
+YYID (int yyi)
#else
static int
-YYID (i)
- int i;
+YYID (yyi)
+ int yyi;
#endif
{
- return i;
+ return yyi;
}
#endif
@@ -605,9 +554,9 @@ void free (void *); /* INFRINGES ON USER NAME SPACE */
/* A type that is properly aligned for any stack member. */
union yyalloc
{
- yytype_int16 yyss;
- YYSTYPE yyvs;
- YYLTYPE yyls;
+ yytype_int16 yyss_alloc;
+ YYSTYPE yyvs_alloc;
+ YYLTYPE yyls_alloc;
};
/* The size of the maximum gap between one aligned stack and the next. */
@@ -642,12 +591,12 @@ union yyalloc
elements in the stack, and YYPTR gives the new location of the
stack. Advance YYPTR to a properly aligned location for the next
stack. */
-# define YYSTACK_RELOCATE(Stack) \
+# define YYSTACK_RELOCATE(Stack_alloc, Stack) \
do \
{ \
YYSIZE_T yynewbytes; \
- YYCOPY (&yyptr->Stack, Stack, yysize); \
- Stack = &yyptr->Stack; \
+ YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
+ Stack = &yyptr->Stack_alloc; \
yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
yyptr += yynewbytes / sizeof (*yyptr); \
} \
@@ -995,66 +944,66 @@ static const yytype_int16 yyrhs[] =
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
static const yytype_uint16 yyrline[] =
{
- 0, 290, 290, 291, 292, 293, 294, 295, 304, 316,
- 317, 318, 319, 320, 332, 336, 343, 344, 345, 347,
- 351, 352, 353, 354, 355, 359, 360, 361, 365, 369,
- 377, 378, 382, 383, 387, 388, 389, 393, 397, 404,
- 405, 409, 413, 420, 421, 428, 429, 436, 437, 438,
- 442, 448, 449, 450, 454, 461, 462, 466, 470, 477,
- 478, 482, 483, 487, 488, 489, 493, 494, 495, 499,
- 500, 501, 502, 503, 504, 505, 506, 507, 508, 509,
- 512, 513, 517, 518, 522, 523, 524, 525, 529, 530,
- 532, 534, 539, 540, 541, 545, 546, 548, 553, 554,
- 555, 556, 560, 561, 562, 563, 567, 568, 569, 570,
- 571, 572, 575, 581, 582, 583, 584, 585, 586, 593,
- 594, 595, 596, 597, 598, 602, 609, 610, 611, 612,
- 613, 617, 618, 620, 622, 624, 629, 630, 632, 633,
- 635, 640, 641, 645, 646, 651, 652, 656, 657, 661,
- 662, 667, 668, 673, 674, 678, 679, 684, 685, 690,
- 691, 695, 696, 701, 702, 707, 708, 712, 713, 718,
- 719, 723, 724, 729, 730, 735, 736, 741, 742, 749,
- 750, 757, 758, 765, 766, 767, 768, 769, 770, 771,
- 772, 773, 774, 775, 776, 780, 781, 785, 786, 790,
- 791, 795, 796, 797, 798, 799, 800, 801, 802, 803,
- 804, 805, 806, 807, 808, 809, 810, 811, 815, 817,
- 822, 824, 830, 837, 846, 854, 867, 874, 883, 891,
- 904, 906, 912, 920, 932, 933, 937, 941, 945, 949,
- 951, 956, 959, 969, 971, 973, 975, 981, 988, 997,
- 1003, 1014, 1015, 1019, 1020, 1024, 1028, 1032, 1036, 1043,
- 1046, 1049, 1052, 1058, 1061, 1064, 1067, 1073, 1079, 1085,
- 1086, 1095, 1096, 1100, 1106, 1116, 1117, 1121, 1122, 1126,
- 1132, 1136, 1143, 1149, 1155, 1165, 1167, 1172, 1173, 1184,
- 1185, 1192, 1193, 1203, 1206, 1212, 1213, 1217, 1218, 1223,
- 1230, 1241, 1242, 1243, 1244, 1245, 1246, 1247, 1251, 1252,
- 1253, 1254, 1255, 1259, 1260, 1264, 1265, 1266, 1268, 1272,
- 1273, 1274, 1275, 1276, 1280, 1281, 1282, 1286, 1287, 1290,
- 1292, 1296, 1297, 1301, 1302, 1303, 1304, 1305, 1309, 1310,
- 1311, 1312, 1316, 1317, 1321, 1322, 1326, 1327, 1328, 1329,
- 1333, 1334, 1335, 1336, 1340, 1341, 1345, 1346, 1350, 1351,
- 1355, 1356, 1360, 1361, 1362, 1366, 1367, 1368, 1372, 1373,
- 1374, 1375, 1376, 1377, 1378, 1379, 1380, 1381, 1382, 1385,
- 1386, 1390, 1391, 1395, 1396, 1397, 1398, 1402, 1403, 1404,
- 1405, 1409, 1410, 1411, 1415, 1416, 1417, 1421, 1422, 1423,
- 1424, 1428, 1429, 1430, 1431, 1435, 1436, 1437, 1438, 1439,
- 1440, 1441, 1445, 1446, 1447, 1448, 1449, 1450, 1454, 1455,
- 1456, 1457, 1458, 1459, 1460, 1464, 1465, 1466, 1467, 1468,
- 1472, 1473, 1474, 1475, 1476, 1480, 1481, 1482, 1483, 1484,
- 1488, 1489, 1493, 1494, 1498, 1499, 1503, 1504, 1508, 1509,
- 1513, 1514, 1518, 1519, 1523, 1524, 1528, 1529, 1533, 1534,
- 1538, 1539, 1543, 1544, 1548, 1549, 1553, 1554, 1558, 1559,
- 1563, 1564, 1568, 1569, 1573, 1574, 1578, 1579, 1583, 1584,
- 1588, 1589, 1593, 1594, 1595, 1596, 1597, 1598, 1599, 1600,
- 1601, 1602, 1603, 1604, 1608, 1609, 1613, 1614, 1618, 1619,
- 1623, 1624, 1625, 1626, 1627, 1628, 1629, 1630, 1631, 1632,
- 1633, 1634, 1635, 1636, 1637, 1638, 1639, 1643, 1644, 1648,
- 1649, 1653, 1654, 1655, 1656, 1660, 1661, 1662, 1663, 1667,
- 1668, 1672, 1673, 1677, 1678, 1682, 1686, 1690, 1694, 1695,
- 1699, 1700, 1704, 1705, 1706, 1707, 1708, 1709, 1710, 1711,
- 1714, 1716, 1719, 1721, 1725, 1726, 1727, 1728, 1732, 1733,
- 1734, 1735, 1739, 1740, 1741, 1742, 1746, 1750, 1754, 1755,
- 1758, 1760, 1764, 1765, 1769, 1770, 1774, 1775, 1779, 1783,
- 1784, 1788, 1789, 1790, 1794, 1795, 1799, 1800, 1804, 1805,
- 1806, 1807, 1811, 1812, 1815, 1817, 1821, 1822
+ 0, 288, 288, 289, 290, 291, 292, 293, 302, 314,
+ 315, 316, 317, 318, 330, 334, 341, 342, 343, 345,
+ 349, 350, 351, 352, 353, 357, 358, 359, 363, 367,
+ 375, 376, 380, 381, 385, 386, 387, 391, 395, 402,
+ 403, 407, 411, 418, 419, 426, 427, 434, 435, 436,
+ 440, 446, 447, 448, 452, 459, 460, 464, 468, 475,
+ 476, 480, 481, 485, 486, 487, 491, 492, 493, 497,
+ 498, 499, 500, 501, 502, 503, 504, 505, 506, 507,
+ 510, 511, 515, 516, 520, 521, 522, 523, 527, 528,
+ 530, 532, 537, 538, 539, 543, 544, 546, 551, 552,
+ 553, 554, 558, 559, 560, 561, 565, 566, 567, 568,
+ 569, 570, 573, 579, 580, 581, 582, 583, 584, 591,
+ 592, 593, 594, 595, 596, 600, 607, 608, 609, 610,
+ 611, 615, 616, 618, 620, 622, 627, 628, 630, 631,
+ 633, 638, 639, 643, 644, 649, 650, 654, 655, 659,
+ 660, 665, 666, 671, 672, 676, 677, 682, 683, 688,
+ 689, 693, 694, 699, 700, 705, 706, 710, 711, 716,
+ 717, 721, 722, 727, 728, 733, 734, 739, 740, 747,
+ 748, 755, 756, 763, 764, 765, 766, 767, 768, 769,
+ 770, 771, 772, 773, 774, 778, 779, 783, 784, 788,
+ 789, 793, 794, 795, 796, 797, 798, 799, 800, 801,
+ 802, 803, 804, 805, 806, 807, 808, 809, 813, 815,
+ 820, 822, 828, 835, 844, 852, 865, 872, 881, 889,
+ 902, 904, 910, 918, 930, 931, 935, 939, 943, 947,
+ 949, 954, 957, 967, 969, 971, 973, 979, 986, 995,
+ 1001, 1012, 1013, 1017, 1018, 1022, 1026, 1030, 1034, 1041,
+ 1044, 1047, 1050, 1056, 1059, 1062, 1065, 1071, 1077, 1083,
+ 1084, 1093, 1094, 1098, 1104, 1114, 1115, 1119, 1120, 1124,
+ 1130, 1134, 1141, 1147, 1153, 1163, 1165, 1170, 1171, 1182,
+ 1183, 1190, 1191, 1201, 1204, 1210, 1211, 1215, 1216, 1221,
+ 1228, 1239, 1240, 1241, 1242, 1243, 1244, 1245, 1249, 1250,
+ 1251, 1252, 1253, 1257, 1258, 1262, 1263, 1264, 1266, 1270,
+ 1271, 1272, 1273, 1274, 1278, 1279, 1280, 1284, 1285, 1288,
+ 1290, 1294, 1295, 1299, 1300, 1301, 1302, 1303, 1307, 1308,
+ 1309, 1310, 1314, 1315, 1319, 1320, 1324, 1325, 1326, 1327,
+ 1331, 1332, 1333, 1334, 1338, 1339, 1343, 1344, 1348, 1349,
+ 1353, 1354, 1358, 1359, 1360, 1364, 1365, 1366, 1370, 1371,
+ 1372, 1373, 1374, 1375, 1376, 1377, 1378, 1379, 1380, 1383,
+ 1384, 1388, 1389, 1393, 1394, 1395, 1396, 1400, 1401, 1402,
+ 1403, 1407, 1408, 1409, 1413, 1414, 1415, 1419, 1420, 1421,
+ 1422, 1426, 1427, 1428, 1429, 1433, 1434, 1435, 1436, 1437,
+ 1438, 1439, 1443, 1444, 1445, 1446, 1447, 1448, 1452, 1453,
+ 1454, 1455, 1456, 1457, 1458, 1462, 1463, 1464, 1465, 1466,
+ 1470, 1471, 1472, 1473, 1474, 1478, 1479, 1480, 1481, 1482,
+ 1486, 1487, 1491, 1492, 1496, 1497, 1501, 1502, 1506, 1507,
+ 1511, 1512, 1516, 1517, 1521, 1522, 1526, 1527, 1531, 1532,
+ 1536, 1537, 1541, 1542, 1546, 1547, 1551, 1552, 1556, 1557,
+ 1561, 1562, 1566, 1567, 1571, 1572, 1576, 1577, 1581, 1582,
+ 1586, 1587, 1591, 1592, 1593, 1594, 1595, 1596, 1597, 1598,
+ 1599, 1600, 1601, 1602, 1606, 1607, 1611, 1612, 1616, 1617,
+ 1621, 1622, 1623, 1624, 1625, 1626, 1627, 1628, 1629, 1630,
+ 1631, 1632, 1633, 1634, 1635, 1636, 1637, 1641, 1642, 1646,
+ 1647, 1651, 1652, 1653, 1654, 1658, 1659, 1660, 1661, 1665,
+ 1666, 1670, 1671, 1675, 1676, 1680, 1684, 1688, 1692, 1693,
+ 1697, 1698, 1702, 1703, 1704, 1705, 1706, 1707, 1708, 1709,
+ 1712, 1714, 1717, 1719, 1723, 1724, 1725, 1726, 1730, 1731,
+ 1732, 1733, 1737, 1738, 1739, 1740, 1744, 1748, 1752, 1753,
+ 1756, 1758, 1762, 1763, 1767, 1768, 1772, 1773, 1777, 1781,
+ 1782, 1786, 1787, 1788, 1792, 1793, 1797, 1798, 1802, 1803,
+ 1804, 1805, 1809, 1810, 1813, 1815, 1819, 1820
};
#endif
@@ -2361,17 +2310,20 @@ yy_symbol_print (yyoutput, yytype, yyvaluep, yylocationp)
#if (defined __STDC__ || defined __C99__FUNC__ \
|| defined __cplusplus || defined _MSC_VER)
static void
-yy_stack_print (yytype_int16 *bottom, yytype_int16 *top)
+yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
#else
static void
-yy_stack_print (bottom, top)
- yytype_int16 *bottom;
- yytype_int16 *top;
+yy_stack_print (yybottom, yytop)
+ yytype_int16 *yybottom;
+ yytype_int16 *yytop;
#endif
{
YYFPRINTF (stderr, "Stack now");
- for (; bottom <= top; ++bottom)
- YYFPRINTF (stderr, " %d", *bottom);
+ for (; yybottom <= yytop; yybottom++)
+ {
+ int yybot = *yybottom;
+ YYFPRINTF (stderr, " %d", yybot);
+ }
YYFPRINTF (stderr, "\n");
}
@@ -2406,11 +2358,11 @@ yy_reduce_print (yyvsp, yylsp, yyrule)
/* The symbols being reduced. */
for (yyi = 0; yyi < yynrhs; yyi++)
{
- fprintf (stderr, " $%d = ", yyi + 1);
+ YYFPRINTF (stderr, " $%d = ", yyi + 1);
yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
&(yyvsp[(yyi + 1) - (yynrhs)])
, &(yylsp[(yyi + 1) - (yynrhs)]) );
- fprintf (stderr, "\n");
+ YYFPRINTF (stderr, "\n");
}
}
@@ -2692,10 +2644,8 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp)
break;
}
}
-
/* Prevent warnings from -Wmissing-prototypes. */
-
#ifdef YYPARSE_PARAM
#if defined __STDC__ || defined __cplusplus
int yyparse (void *YYPARSE_PARAM);
@@ -2714,10 +2664,9 @@ int yyparse ();
-
-/*----------.
-| yyparse. |
-`----------*/
+/*-------------------------.
+| yyparse or yypush_parse. |
+`-------------------------*/
#ifdef YYPARSE_PARAM
#if (defined __STDC__ || defined __C99__FUNC__ \
@@ -2741,88 +2690,97 @@ yyparse ()
#endif
#endif
{
- /* The look-ahead symbol. */
+/* The lookahead symbol. */
int yychar;
-/* The semantic value of the look-ahead symbol. */
+/* The semantic value of the lookahead symbol. */
YYSTYPE yylval;
-/* Number of syntax errors so far. */
-int yynerrs;
-/* Location data for the look-ahead symbol. */
+/* Location data for the lookahead symbol. */
YYLTYPE yylloc;
- int yystate;
- int yyn;
- int yyresult;
- /* Number of tokens to shift before error messages enabled. */
- int yyerrstatus;
- /* Look-ahead token as an internal (translated) token number. */
- int yytoken = 0;
-#if YYERROR_VERBOSE
- /* Buffer for error messages, and its allocated size. */
- char yymsgbuf[128];
- char *yymsg = yymsgbuf;
- YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
-#endif
+ /* Number of syntax errors so far. */
+ int yynerrs;
- /* Three stacks and their tools:
- `yyss': related to states,
- `yyvs': related to semantic values,
- `yyls': related to locations.
+ int yystate;
+ /* Number of tokens to shift before error messages enabled. */
+ int yyerrstatus;
- Refer to the stacks thru separate pointers, to allow yyoverflow
- to reallocate them elsewhere. */
+ /* The stacks and their tools:
+ `yyss': related to states.
+ `yyvs': related to semantic values.
+ `yyls': related to locations.
- /* The state stack. */
- yytype_int16 yyssa[YYINITDEPTH];
- yytype_int16 *yyss = yyssa;
- yytype_int16 *yyssp;
+ Refer to the stacks thru separate pointers, to allow yyoverflow
+ to reallocate them elsewhere. */
- /* The semantic value stack. */
- YYSTYPE yyvsa[YYINITDEPTH];
- YYSTYPE *yyvs = yyvsa;
- YYSTYPE *yyvsp;
+ /* The state stack. */
+ yytype_int16 yyssa[YYINITDEPTH];
+ yytype_int16 *yyss;
+ yytype_int16 *yyssp;
- /* The location stack. */
- YYLTYPE yylsa[YYINITDEPTH];
- YYLTYPE *yyls = yylsa;
- YYLTYPE *yylsp;
- /* The locations where the error started and ended. */
- YYLTYPE yyerror_range[2];
+ /* The semantic value stack. */
+ YYSTYPE yyvsa[YYINITDEPTH];
+ YYSTYPE *yyvs;
+ YYSTYPE *yyvsp;
-#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N), yylsp -= (N))
+ /* The location stack. */
+ YYLTYPE yylsa[YYINITDEPTH];
+ YYLTYPE *yyls;
+ YYLTYPE *yylsp;
- YYSIZE_T yystacksize = YYINITDEPTH;
+ /* The locations where the error started and ended. */
+ YYLTYPE yyerror_range[2];
+ YYSIZE_T yystacksize;
+
+ int yyn;
+ int yyresult;
+ /* Lookahead token as an internal (translated) token number. */
+ int yytoken;
/* The variables used to return semantic value and location from the
action routines. */
YYSTYPE yyval;
YYLTYPE yyloc;
+#if YYERROR_VERBOSE
+ /* Buffer for error messages, and its allocated size. */
+ char yymsgbuf[128];
+ char *yymsg = yymsgbuf;
+ YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
+#endif
+
+#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N), yylsp -= (N))
+
/* The number of symbols on the RHS of the reduced rule.
Keep to zero when no symbol should be popped. */
int yylen = 0;
+ yytoken = 0;
+ yyss = yyssa;
+ yyvs = yyvsa;
+ yyls = yylsa;
+ yystacksize = YYINITDEPTH;
+
YYDPRINTF ((stderr, "Starting parse\n"));
yystate = 0;
yyerrstatus = 0;
yynerrs = 0;
- yychar = YYEMPTY; /* Cause a token to be read. */
+ yychar = YYEMPTY; /* Cause a token to be read. */
/* Initialize stack pointers.
Waste one element of value and location stack
so that they stay on the same level as the state stack.
The wasted elements are never initialized. */
-
yyssp = yyss;
yyvsp = yyvs;
yylsp = yyls;
+
#if YYLTYPE_IS_TRIVIAL
/* Initialize the default location before parsing starts. */
yylloc.first_line = yylloc.last_line = 1;
- yylloc.first_column = yylloc.last_column = 0;
+ yylloc.first_column = yylloc.last_column = 1;
#endif
goto yysetstate;
@@ -2861,6 +2819,7 @@ YYLTYPE yylloc;
&yyvs1, yysize * sizeof (*yyvsp),
&yyls1, yysize * sizeof (*yylsp),
&yystacksize);
+
yyls = yyls1;
yyss = yyss1;
yyvs = yyvs1;
@@ -2882,9 +2841,9 @@ YYLTYPE yylloc;
(union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
if (! yyptr)
goto yyexhaustedlab;
- YYSTACK_RELOCATE (yyss);
- YYSTACK_RELOCATE (yyvs);
- YYSTACK_RELOCATE (yyls);
+ YYSTACK_RELOCATE (yyss_alloc, yyss);
+ YYSTACK_RELOCATE (yyvs_alloc, yyvs);
+ YYSTACK_RELOCATE (yyls_alloc, yyls);
# undef YYSTACK_RELOCATE
if (yyss1 != yyssa)
YYSTACK_FREE (yyss1);
@@ -2905,6 +2864,9 @@ YYLTYPE yylloc;
YYDPRINTF ((stderr, "Entering state %d\n", yystate));
+ if (yystate == YYFINAL)
+ YYACCEPT;
+
goto yybackup;
/*-----------.
@@ -2913,16 +2875,16 @@ YYLTYPE yylloc;
yybackup:
/* Do appropriate processing given the current state. Read a
- look-ahead token if we need one and don't already have one. */
+ lookahead token if we need one and don't already have one. */
- /* First try to decide what to do without reference to look-ahead token. */
+ /* First try to decide what to do without reference to lookahead token. */
yyn = yypact[yystate];
if (yyn == YYPACT_NINF)
goto yydefault;
- /* Not known => get a look-ahead token if don't already have one. */
+ /* Not known => get a lookahead token if don't already have one. */
- /* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol. */
+ /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */
if (yychar == YYEMPTY)
{
YYDPRINTF ((stderr, "Reading a token: "));
@@ -2954,20 +2916,16 @@ yybackup:
goto yyreduce;
}
- if (yyn == YYFINAL)
- YYACCEPT;
-
/* Count tokens shifted since error; after three, turn off error
status. */
if (yyerrstatus)
yyerrstatus--;
- /* Shift the look-ahead token. */
+ /* Shift the lookahead token. */
YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
- /* Discard the shifted token unless it is eof. */
- if (yychar != YYEOF)
- yychar = YYEMPTY;
+ /* Discard the shifted token. */
+ yychar = YYEMPTY;
yystate = yyn;
*++yyvsp = yylval;
@@ -3008,32 +2966,44 @@ yyreduce:
switch (yyn)
{
case 2:
-#line 290 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 288 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) NullNode(GLOBAL_DATA), 0, 1); ;}
break;
case 3:
-#line 291 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 289 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) BooleanNode(GLOBAL_DATA, true), 0, 1); ;}
break;
case 4:
-#line 292 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 290 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) BooleanNode(GLOBAL_DATA, false), 0, 1); ;}
break;
case 5:
-#line 293 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 291 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeNumberNode(GLOBAL_DATA, (yyvsp[(1) - (1)].doubleValue)), 0, 1); ;}
break;
case 6:
-#line 294 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 292 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) StringNode(GLOBAL_DATA, *(yyvsp[(1) - (1)].ident)), 0, 1); ;}
break;
case 7:
-#line 295 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 293 "../../JavaScriptCore/parser/Grammar.y"
{
Lexer& l = *LEXER;
if (!l.scanRegExp())
@@ -3046,7 +3016,9 @@ yyreduce:
break;
case 8:
-#line 304 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 302 "../../JavaScriptCore/parser/Grammar.y"
{
Lexer& l = *LEXER;
if (!l.scanRegExp())
@@ -3059,27 +3031,37 @@ yyreduce:
break;
case 9:
-#line 316 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 314 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.propertyNode) = createNodeInfo<PropertyNode*>(new (GLOBAL_DATA) PropertyNode(GLOBAL_DATA, *(yyvsp[(1) - (3)].ident), (yyvsp[(3) - (3)].expressionNode).m_node, PropertyNode::Constant), (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 10:
-#line 317 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 315 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.propertyNode) = createNodeInfo<PropertyNode*>(new (GLOBAL_DATA) PropertyNode(GLOBAL_DATA, *(yyvsp[(1) - (3)].ident), (yyvsp[(3) - (3)].expressionNode).m_node, PropertyNode::Constant), (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 11:
-#line 318 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 316 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.propertyNode) = createNodeInfo<PropertyNode*>(new (GLOBAL_DATA) PropertyNode(GLOBAL_DATA, Identifier(GLOBAL_DATA, UString::from((yyvsp[(1) - (3)].doubleValue))), (yyvsp[(3) - (3)].expressionNode).m_node, PropertyNode::Constant), (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 12:
-#line 319 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 317 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.propertyNode) = createNodeInfo<PropertyNode*>(makeGetterOrSetterPropertyNode(globalPtr, *(yyvsp[(1) - (7)].ident), *(yyvsp[(2) - (7)].ident), 0, (yyvsp[(6) - (7)].functionBodyNode), LEXER->sourceCode((yyvsp[(5) - (7)].intValue), (yyvsp[(7) - (7)].intValue), (yylsp[(5) - (7)]).first_line)), ClosureFeature, 0); DBG((yyvsp[(6) - (7)].functionBodyNode), (yylsp[(5) - (7)]), (yylsp[(7) - (7)])); if (!(yyval.propertyNode).m_node) YYABORT; ;}
break;
case 13:
-#line 321 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 319 "../../JavaScriptCore/parser/Grammar.y"
{
(yyval.propertyNode) = createNodeInfo<PropertyNode*>(makeGetterOrSetterPropertyNode(globalPtr, *(yyvsp[(1) - (8)].ident), *(yyvsp[(2) - (8)].ident), (yyvsp[(4) - (8)].parameterList).m_node.head, (yyvsp[(7) - (8)].functionBodyNode), LEXER->sourceCode((yyvsp[(6) - (8)].intValue), (yyvsp[(8) - (8)].intValue), (yylsp[(6) - (8)]).first_line)), (yyvsp[(4) - (8)].parameterList).m_features | ClosureFeature, 0);
if ((yyvsp[(4) - (8)].parameterList).m_features & ArgumentsFeature)
@@ -3091,7 +3073,9 @@ yyreduce:
break;
case 14:
-#line 332 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 330 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.propertyList).m_node.head = new (GLOBAL_DATA) PropertyListNode(GLOBAL_DATA, (yyvsp[(1) - (1)].propertyNode).m_node);
(yyval.propertyList).m_node.tail = (yyval.propertyList).m_node.head;
(yyval.propertyList).m_features = (yyvsp[(1) - (1)].propertyNode).m_features;
@@ -3099,7 +3083,9 @@ yyreduce:
break;
case 15:
-#line 336 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 334 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.propertyList).m_node.head = (yyvsp[(1) - (3)].propertyList).m_node.head;
(yyval.propertyList).m_node.tail = new (GLOBAL_DATA) PropertyListNode(GLOBAL_DATA, (yyvsp[(3) - (3)].propertyNode).m_node, (yyvsp[(1) - (3)].propertyList).m_node.tail);
(yyval.propertyList).m_features = (yyvsp[(1) - (3)].propertyList).m_features | (yyvsp[(3) - (3)].propertyNode).m_features;
@@ -3107,52 +3093,72 @@ yyreduce:
break;
case 17:
-#line 344 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 342 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) ObjectLiteralNode(GLOBAL_DATA), 0, 0); ;}
break;
case 18:
-#line 345 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 343 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) ObjectLiteralNode(GLOBAL_DATA, (yyvsp[(2) - (3)].propertyList).m_node.head), (yyvsp[(2) - (3)].propertyList).m_features, (yyvsp[(2) - (3)].propertyList).m_numConstants); ;}
break;
case 19:
-#line 347 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 345 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) ObjectLiteralNode(GLOBAL_DATA, (yyvsp[(2) - (4)].propertyList).m_node.head), (yyvsp[(2) - (4)].propertyList).m_features, (yyvsp[(2) - (4)].propertyList).m_numConstants); ;}
break;
case 20:
-#line 351 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 349 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) ThisNode(GLOBAL_DATA), ThisFeature, 0); ;}
break;
case 23:
-#line 354 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 352 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) ResolveNode(GLOBAL_DATA, *(yyvsp[(1) - (1)].ident), (yylsp[(1) - (1)]).first_column), (*(yyvsp[(1) - (1)].ident) == GLOBAL_DATA->propertyNames->arguments) ? ArgumentsFeature : 0, 0); ;}
break;
case 24:
-#line 355 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 353 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = (yyvsp[(2) - (3)].expressionNode); ;}
break;
case 25:
-#line 359 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 357 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) ArrayNode(GLOBAL_DATA, (yyvsp[(2) - (3)].intValue)), 0, (yyvsp[(2) - (3)].intValue) ? 1 : 0); ;}
break;
case 26:
-#line 360 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 358 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) ArrayNode(GLOBAL_DATA, (yyvsp[(2) - (3)].elementList).m_node.head), (yyvsp[(2) - (3)].elementList).m_features, (yyvsp[(2) - (3)].elementList).m_numConstants); ;}
break;
case 27:
-#line 361 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 359 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) ArrayNode(GLOBAL_DATA, (yyvsp[(4) - (5)].intValue), (yyvsp[(2) - (5)].elementList).m_node.head), (yyvsp[(2) - (5)].elementList).m_features, (yyvsp[(4) - (5)].intValue) ? (yyvsp[(2) - (5)].elementList).m_numConstants + 1 : (yyvsp[(2) - (5)].elementList).m_numConstants); ;}
break;
case 28:
-#line 365 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 363 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.elementList).m_node.head = new (GLOBAL_DATA) ElementNode(GLOBAL_DATA, (yyvsp[(1) - (2)].intValue), (yyvsp[(2) - (2)].expressionNode).m_node);
(yyval.elementList).m_node.tail = (yyval.elementList).m_node.head;
(yyval.elementList).m_features = (yyvsp[(2) - (2)].expressionNode).m_features;
@@ -3160,7 +3166,9 @@ yyreduce:
break;
case 29:
-#line 370 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 368 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.elementList).m_node.head = (yyvsp[(1) - (4)].elementList).m_node.head;
(yyval.elementList).m_node.tail = new (GLOBAL_DATA) ElementNode(GLOBAL_DATA, (yyvsp[(1) - (4)].elementList).m_node.tail, (yyvsp[(3) - (4)].intValue), (yyvsp[(4) - (4)].expressionNode).m_node);
(yyval.elementList).m_features = (yyvsp[(1) - (4)].elementList).m_features | (yyvsp[(4) - (4)].expressionNode).m_features;
@@ -3168,27 +3176,37 @@ yyreduce:
break;
case 30:
-#line 377 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 375 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.intValue) = 0; ;}
break;
case 32:
-#line 382 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 380 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.intValue) = 1; ;}
break;
case 33:
-#line 383 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 381 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.intValue) = (yyvsp[(1) - (2)].intValue) + 1; ;}
break;
case 35:
-#line 388 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 386 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>((yyvsp[(1) - (1)].funcExprNode).m_node, (yyvsp[(1) - (1)].funcExprNode).m_features, (yyvsp[(1) - (1)].funcExprNode).m_numConstants); ;}
break;
case 36:
-#line 389 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 387 "../../JavaScriptCore/parser/Grammar.y"
{ BracketAccessorNode* node = new (GLOBAL_DATA) BracketAccessorNode(GLOBAL_DATA, (yyvsp[(1) - (4)].expressionNode).m_node, (yyvsp[(3) - (4)].expressionNode).m_node, (yyvsp[(3) - (4)].expressionNode).m_features & AssignFeature);
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (4)]).first_column, (yylsp[(1) - (4)]).last_column, (yylsp[(4) - (4)]).last_column);
(yyval.expressionNode) = createNodeInfo<ExpressionNode*>(node, (yyvsp[(1) - (4)].expressionNode).m_features | (yyvsp[(3) - (4)].expressionNode).m_features, (yyvsp[(1) - (4)].expressionNode).m_numConstants + (yyvsp[(3) - (4)].expressionNode).m_numConstants);
@@ -3196,7 +3214,9 @@ yyreduce:
break;
case 37:
-#line 393 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 391 "../../JavaScriptCore/parser/Grammar.y"
{ DotAccessorNode* node = new (GLOBAL_DATA) DotAccessorNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, *(yyvsp[(3) - (3)].ident));
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (3)]).first_column, (yylsp[(1) - (3)]).last_column, (yylsp[(3) - (3)]).last_column);
(yyval.expressionNode) = createNodeInfo<ExpressionNode*>(node, (yyvsp[(1) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants);
@@ -3204,7 +3224,9 @@ yyreduce:
break;
case 38:
-#line 397 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 395 "../../JavaScriptCore/parser/Grammar.y"
{ NewExprNode* node = new (GLOBAL_DATA) NewExprNode(GLOBAL_DATA, (yyvsp[(2) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].argumentsNode).m_node);
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (3)]).first_column, (yylsp[(2) - (3)]).last_column, (yylsp[(3) - (3)]).last_column);
(yyval.expressionNode) = createNodeInfo<ExpressionNode*>(node, (yyvsp[(2) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].argumentsNode).m_features, (yyvsp[(2) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].argumentsNode).m_numConstants);
@@ -3212,7 +3234,9 @@ yyreduce:
break;
case 40:
-#line 405 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 403 "../../JavaScriptCore/parser/Grammar.y"
{ BracketAccessorNode* node = new (GLOBAL_DATA) BracketAccessorNode(GLOBAL_DATA, (yyvsp[(1) - (4)].expressionNode).m_node, (yyvsp[(3) - (4)].expressionNode).m_node, (yyvsp[(3) - (4)].expressionNode).m_features & AssignFeature);
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (4)]).first_column, (yylsp[(1) - (4)]).last_column, (yylsp[(4) - (4)]).last_column);
(yyval.expressionNode) = createNodeInfo<ExpressionNode*>(node, (yyvsp[(1) - (4)].expressionNode).m_features | (yyvsp[(3) - (4)].expressionNode).m_features, (yyvsp[(1) - (4)].expressionNode).m_numConstants + (yyvsp[(3) - (4)].expressionNode).m_numConstants);
@@ -3220,7 +3244,9 @@ yyreduce:
break;
case 41:
-#line 409 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 407 "../../JavaScriptCore/parser/Grammar.y"
{ DotAccessorNode* node = new (GLOBAL_DATA) DotAccessorNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, *(yyvsp[(3) - (3)].ident));
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (3)]).first_column, (yylsp[(1) - (3)]).last_column, (yylsp[(3) - (3)]).last_column);
(yyval.expressionNode) = createNodeInfo<ExpressionNode*>(node, (yyvsp[(1) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants);
@@ -3228,7 +3254,9 @@ yyreduce:
break;
case 42:
-#line 413 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 411 "../../JavaScriptCore/parser/Grammar.y"
{ NewExprNode* node = new (GLOBAL_DATA) NewExprNode(GLOBAL_DATA, (yyvsp[(2) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].argumentsNode).m_node);
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (3)]).first_column, (yylsp[(2) - (3)]).last_column, (yylsp[(3) - (3)]).last_column);
(yyval.expressionNode) = createNodeInfo<ExpressionNode*>(node, (yyvsp[(2) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].argumentsNode).m_features, (yyvsp[(2) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].argumentsNode).m_numConstants);
@@ -3236,7 +3264,9 @@ yyreduce:
break;
case 44:
-#line 421 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 419 "../../JavaScriptCore/parser/Grammar.y"
{ NewExprNode* node = new (GLOBAL_DATA) NewExprNode(GLOBAL_DATA, (yyvsp[(2) - (2)].expressionNode).m_node);
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (2)]).first_column, (yylsp[(2) - (2)]).last_column, (yylsp[(2) - (2)]).last_column);
(yyval.expressionNode) = createNodeInfo<ExpressionNode*>(node, (yyvsp[(2) - (2)].expressionNode).m_features, (yyvsp[(2) - (2)].expressionNode).m_numConstants);
@@ -3244,7 +3274,9 @@ yyreduce:
break;
case 46:
-#line 429 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 427 "../../JavaScriptCore/parser/Grammar.y"
{ NewExprNode* node = new (GLOBAL_DATA) NewExprNode(GLOBAL_DATA, (yyvsp[(2) - (2)].expressionNode).m_node);
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (2)]).first_column, (yylsp[(2) - (2)]).last_column, (yylsp[(2) - (2)]).last_column);
(yyval.expressionNode) = createNodeInfo<ExpressionNode*>(node, (yyvsp[(2) - (2)].expressionNode).m_features, (yyvsp[(2) - (2)].expressionNode).m_numConstants);
@@ -3252,17 +3284,23 @@ yyreduce:
break;
case 47:
-#line 436 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 434 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = makeFunctionCallNode(globalPtr, (yyvsp[(1) - (2)].expressionNode), (yyvsp[(2) - (2)].argumentsNode), (yylsp[(1) - (2)]).first_column, (yylsp[(1) - (2)]).last_column, (yylsp[(2) - (2)]).last_column); ;}
break;
case 48:
-#line 437 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 435 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = makeFunctionCallNode(globalPtr, (yyvsp[(1) - (2)].expressionNode), (yyvsp[(2) - (2)].argumentsNode), (yylsp[(1) - (2)]).first_column, (yylsp[(1) - (2)]).last_column, (yylsp[(2) - (2)]).last_column); ;}
break;
case 49:
-#line 438 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 436 "../../JavaScriptCore/parser/Grammar.y"
{ BracketAccessorNode* node = new (GLOBAL_DATA) BracketAccessorNode(GLOBAL_DATA, (yyvsp[(1) - (4)].expressionNode).m_node, (yyvsp[(3) - (4)].expressionNode).m_node, (yyvsp[(3) - (4)].expressionNode).m_features & AssignFeature);
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (4)]).first_column, (yylsp[(1) - (4)]).last_column, (yylsp[(4) - (4)]).last_column);
(yyval.expressionNode) = createNodeInfo<ExpressionNode*>(node, (yyvsp[(1) - (4)].expressionNode).m_features | (yyvsp[(3) - (4)].expressionNode).m_features, (yyvsp[(1) - (4)].expressionNode).m_numConstants + (yyvsp[(3) - (4)].expressionNode).m_numConstants);
@@ -3270,24 +3308,32 @@ yyreduce:
break;
case 50:
-#line 442 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 440 "../../JavaScriptCore/parser/Grammar.y"
{ DotAccessorNode* node = new (GLOBAL_DATA) DotAccessorNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, *(yyvsp[(3) - (3)].ident));
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (3)]).first_column, (yylsp[(1) - (3)]).last_column, (yylsp[(3) - (3)]).last_column);
(yyval.expressionNode) = createNodeInfo<ExpressionNode*>(node, (yyvsp[(1) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants); ;}
break;
case 51:
-#line 448 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 446 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = makeFunctionCallNode(globalPtr, (yyvsp[(1) - (2)].expressionNode), (yyvsp[(2) - (2)].argumentsNode), (yylsp[(1) - (2)]).first_column, (yylsp[(1) - (2)]).last_column, (yylsp[(2) - (2)]).last_column); ;}
break;
case 52:
-#line 449 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 447 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = makeFunctionCallNode(globalPtr, (yyvsp[(1) - (2)].expressionNode), (yyvsp[(2) - (2)].argumentsNode), (yylsp[(1) - (2)]).first_column, (yylsp[(1) - (2)]).last_column, (yylsp[(2) - (2)]).last_column); ;}
break;
case 53:
-#line 450 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 448 "../../JavaScriptCore/parser/Grammar.y"
{ BracketAccessorNode* node = new (GLOBAL_DATA) BracketAccessorNode(GLOBAL_DATA, (yyvsp[(1) - (4)].expressionNode).m_node, (yyvsp[(3) - (4)].expressionNode).m_node, (yyvsp[(3) - (4)].expressionNode).m_features & AssignFeature);
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (4)]).first_column, (yylsp[(1) - (4)]).last_column, (yylsp[(4) - (4)]).last_column);
(yyval.expressionNode) = createNodeInfo<ExpressionNode*>(node, (yyvsp[(1) - (4)].expressionNode).m_features | (yyvsp[(3) - (4)].expressionNode).m_features, (yyvsp[(1) - (4)].expressionNode).m_numConstants + (yyvsp[(3) - (4)].expressionNode).m_numConstants);
@@ -3295,7 +3341,9 @@ yyreduce:
break;
case 54:
-#line 454 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 452 "../../JavaScriptCore/parser/Grammar.y"
{ DotAccessorNode* node = new (GLOBAL_DATA) DotAccessorNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, *(yyvsp[(3) - (3)].ident));
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (3)]).first_column, (yylsp[(1) - (3)]).last_column, (yylsp[(3) - (3)]).last_column);
(yyval.expressionNode) = createNodeInfo<ExpressionNode*>(node, (yyvsp[(1) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants);
@@ -3303,17 +3351,23 @@ yyreduce:
break;
case 55:
-#line 461 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 459 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.argumentsNode) = createNodeInfo<ArgumentsNode*>(new (GLOBAL_DATA) ArgumentsNode(GLOBAL_DATA), 0, 0); ;}
break;
case 56:
-#line 462 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 460 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.argumentsNode) = createNodeInfo<ArgumentsNode*>(new (GLOBAL_DATA) ArgumentsNode(GLOBAL_DATA, (yyvsp[(2) - (3)].argumentList).m_node.head), (yyvsp[(2) - (3)].argumentList).m_features, (yyvsp[(2) - (3)].argumentList).m_numConstants); ;}
break;
case 57:
-#line 466 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 464 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.argumentList).m_node.head = new (GLOBAL_DATA) ArgumentListNode(GLOBAL_DATA, (yyvsp[(1) - (1)].expressionNode).m_node);
(yyval.argumentList).m_node.tail = (yyval.argumentList).m_node.head;
(yyval.argumentList).m_features = (yyvsp[(1) - (1)].expressionNode).m_features;
@@ -3321,7 +3375,9 @@ yyreduce:
break;
case 58:
-#line 470 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 468 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.argumentList).m_node.head = (yyvsp[(1) - (3)].argumentList).m_node.head;
(yyval.argumentList).m_node.tail = new (GLOBAL_DATA) ArgumentListNode(GLOBAL_DATA, (yyvsp[(1) - (3)].argumentList).m_node.tail, (yyvsp[(3) - (3)].expressionNode).m_node);
(yyval.argumentList).m_features = (yyvsp[(1) - (3)].argumentList).m_features | (yyvsp[(3) - (3)].expressionNode).m_features;
@@ -3329,528 +3385,730 @@ yyreduce:
break;
case 64:
-#line 488 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 486 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makePostfixNode(GLOBAL_DATA, (yyvsp[(1) - (2)].expressionNode).m_node, OpPlusPlus, (yylsp[(1) - (2)]).first_column, (yylsp[(1) - (2)]).last_column, (yylsp[(2) - (2)]).last_column), (yyvsp[(1) - (2)].expressionNode).m_features | AssignFeature, (yyvsp[(1) - (2)].expressionNode).m_numConstants); ;}
break;
case 65:
-#line 489 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 487 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makePostfixNode(GLOBAL_DATA, (yyvsp[(1) - (2)].expressionNode).m_node, OpMinusMinus, (yylsp[(1) - (2)]).first_column, (yylsp[(1) - (2)]).last_column, (yylsp[(2) - (2)]).last_column), (yyvsp[(1) - (2)].expressionNode).m_features | AssignFeature, (yyvsp[(1) - (2)].expressionNode).m_numConstants); ;}
break;
case 67:
-#line 494 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 492 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makePostfixNode(GLOBAL_DATA, (yyvsp[(1) - (2)].expressionNode).m_node, OpPlusPlus, (yylsp[(1) - (2)]).first_column, (yylsp[(1) - (2)]).last_column, (yylsp[(2) - (2)]).last_column), (yyvsp[(1) - (2)].expressionNode).m_features | AssignFeature, (yyvsp[(1) - (2)].expressionNode).m_numConstants); ;}
break;
case 68:
-#line 495 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 493 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makePostfixNode(GLOBAL_DATA, (yyvsp[(1) - (2)].expressionNode).m_node, OpMinusMinus, (yylsp[(1) - (2)]).first_column, (yylsp[(1) - (2)]).last_column, (yylsp[(2) - (2)]).last_column), (yyvsp[(1) - (2)].expressionNode).m_features | AssignFeature, (yyvsp[(1) - (2)].expressionNode).m_numConstants); ;}
break;
case 69:
-#line 499 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 497 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeDeleteNode(GLOBAL_DATA, (yyvsp[(2) - (2)].expressionNode).m_node, (yylsp[(1) - (2)]).first_column, (yylsp[(2) - (2)]).last_column, (yylsp[(2) - (2)]).last_column), (yyvsp[(2) - (2)].expressionNode).m_features, (yyvsp[(2) - (2)].expressionNode).m_numConstants); ;}
break;
case 70:
-#line 500 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 498 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) VoidNode(GLOBAL_DATA, (yyvsp[(2) - (2)].expressionNode).m_node), (yyvsp[(2) - (2)].expressionNode).m_features, (yyvsp[(2) - (2)].expressionNode).m_numConstants + 1); ;}
break;
case 71:
-#line 501 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 499 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeTypeOfNode(GLOBAL_DATA, (yyvsp[(2) - (2)].expressionNode).m_node), (yyvsp[(2) - (2)].expressionNode).m_features, (yyvsp[(2) - (2)].expressionNode).m_numConstants); ;}
break;
case 72:
-#line 502 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 500 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makePrefixNode(GLOBAL_DATA, (yyvsp[(2) - (2)].expressionNode).m_node, OpPlusPlus, (yylsp[(1) - (2)]).first_column, (yylsp[(2) - (2)]).first_column + 1, (yylsp[(2) - (2)]).last_column), (yyvsp[(2) - (2)].expressionNode).m_features | AssignFeature, (yyvsp[(2) - (2)].expressionNode).m_numConstants); ;}
break;
case 73:
-#line 503 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 501 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makePrefixNode(GLOBAL_DATA, (yyvsp[(2) - (2)].expressionNode).m_node, OpPlusPlus, (yylsp[(1) - (2)]).first_column, (yylsp[(2) - (2)]).first_column + 1, (yylsp[(2) - (2)]).last_column), (yyvsp[(2) - (2)].expressionNode).m_features | AssignFeature, (yyvsp[(2) - (2)].expressionNode).m_numConstants); ;}
break;
case 74:
-#line 504 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 502 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makePrefixNode(GLOBAL_DATA, (yyvsp[(2) - (2)].expressionNode).m_node, OpMinusMinus, (yylsp[(1) - (2)]).first_column, (yylsp[(2) - (2)]).first_column + 1, (yylsp[(2) - (2)]).last_column), (yyvsp[(2) - (2)].expressionNode).m_features | AssignFeature, (yyvsp[(2) - (2)].expressionNode).m_numConstants); ;}
break;
case 75:
-#line 505 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 503 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makePrefixNode(GLOBAL_DATA, (yyvsp[(2) - (2)].expressionNode).m_node, OpMinusMinus, (yylsp[(1) - (2)]).first_column, (yylsp[(2) - (2)]).first_column + 1, (yylsp[(2) - (2)]).last_column), (yyvsp[(2) - (2)].expressionNode).m_features | AssignFeature, (yyvsp[(2) - (2)].expressionNode).m_numConstants); ;}
break;
case 76:
-#line 506 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 504 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) UnaryPlusNode(GLOBAL_DATA, (yyvsp[(2) - (2)].expressionNode).m_node), (yyvsp[(2) - (2)].expressionNode).m_features, (yyvsp[(2) - (2)].expressionNode).m_numConstants); ;}
break;
case 77:
-#line 507 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 505 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeNegateNode(GLOBAL_DATA, (yyvsp[(2) - (2)].expressionNode).m_node), (yyvsp[(2) - (2)].expressionNode).m_features, (yyvsp[(2) - (2)].expressionNode).m_numConstants); ;}
break;
case 78:
-#line 508 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 506 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeBitwiseNotNode(GLOBAL_DATA, (yyvsp[(2) - (2)].expressionNode).m_node), (yyvsp[(2) - (2)].expressionNode).m_features, (yyvsp[(2) - (2)].expressionNode).m_numConstants); ;}
break;
case 79:
-#line 509 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 507 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) LogicalNotNode(GLOBAL_DATA, (yyvsp[(2) - (2)].expressionNode).m_node), (yyvsp[(2) - (2)].expressionNode).m_features, (yyvsp[(2) - (2)].expressionNode).m_numConstants); ;}
break;
case 85:
-#line 523 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 521 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeMultNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 86:
-#line 524 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 522 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeDivNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 87:
-#line 525 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 523 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) ModNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 89:
-#line 531 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 529 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeMultNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 90:
-#line 533 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 531 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeDivNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 91:
-#line 535 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 533 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) ModNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 93:
-#line 540 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 538 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeAddNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 94:
-#line 541 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 539 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeSubNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 96:
-#line 547 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 545 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeAddNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 97:
-#line 549 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 547 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeSubNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 99:
-#line 554 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 552 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeLeftShiftNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 100:
-#line 555 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 553 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeRightShiftNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 101:
-#line 556 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 554 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) UnsignedRightShiftNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 103:
-#line 561 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 559 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeLeftShiftNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 104:
-#line 562 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 560 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeRightShiftNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 105:
-#line 563 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 561 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) UnsignedRightShiftNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 107:
-#line 568 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 566 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) LessNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 108:
-#line 569 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 567 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) GreaterNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 109:
-#line 570 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 568 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) LessEqNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 110:
-#line 571 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 569 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) GreaterEqNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 111:
-#line 572 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 570 "../../JavaScriptCore/parser/Grammar.y"
{ InstanceOfNode* node = new (GLOBAL_DATA) InstanceOfNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature);
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (3)]).first_column, (yylsp[(3) - (3)]).first_column, (yylsp[(3) - (3)]).last_column);
(yyval.expressionNode) = createNodeInfo<ExpressionNode*>(node, (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 112:
-#line 575 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 573 "../../JavaScriptCore/parser/Grammar.y"
{ InNode* node = new (GLOBAL_DATA) InNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature);
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (3)]).first_column, (yylsp[(3) - (3)]).first_column, (yylsp[(3) - (3)]).last_column);
(yyval.expressionNode) = createNodeInfo<ExpressionNode*>(node, (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 114:
-#line 582 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 580 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) LessNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 115:
-#line 583 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 581 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) GreaterNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 116:
-#line 584 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 582 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) LessEqNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 117:
-#line 585 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 583 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) GreaterEqNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 118:
-#line 587 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 585 "../../JavaScriptCore/parser/Grammar.y"
{ InstanceOfNode* node = new (GLOBAL_DATA) InstanceOfNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature);
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (3)]).first_column, (yylsp[(3) - (3)]).first_column, (yylsp[(3) - (3)]).last_column);
(yyval.expressionNode) = createNodeInfo<ExpressionNode*>(node, (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 120:
-#line 594 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 592 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) LessNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 121:
-#line 595 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 593 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) GreaterNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 122:
-#line 596 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 594 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) LessEqNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 123:
-#line 597 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 595 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) GreaterEqNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 124:
-#line 599 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 597 "../../JavaScriptCore/parser/Grammar.y"
{ InstanceOfNode* node = new (GLOBAL_DATA) InstanceOfNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature);
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (3)]).first_column, (yylsp[(3) - (3)]).first_column, (yylsp[(3) - (3)]).last_column);
(yyval.expressionNode) = createNodeInfo<ExpressionNode*>(node, (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 125:
-#line 603 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 601 "../../JavaScriptCore/parser/Grammar.y"
{ InNode* node = new (GLOBAL_DATA) InNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature);
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (3)]).first_column, (yylsp[(3) - (3)]).first_column, (yylsp[(3) - (3)]).last_column);
(yyval.expressionNode) = createNodeInfo<ExpressionNode*>(node, (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 127:
-#line 610 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 608 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) EqualNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 128:
-#line 611 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 609 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) NotEqualNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 129:
-#line 612 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 610 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) StrictEqualNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 130:
-#line 613 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 611 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) NotStrictEqualNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 132:
-#line 619 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 617 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) EqualNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 133:
-#line 621 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 619 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) NotEqualNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 134:
-#line 623 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 621 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) StrictEqualNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 135:
-#line 625 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 623 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) NotStrictEqualNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 137:
-#line 631 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 629 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) EqualNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 138:
-#line 632 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 630 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) NotEqualNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 139:
-#line 634 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 632 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) StrictEqualNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 140:
-#line 636 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 634 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) NotStrictEqualNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 142:
-#line 641 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 639 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) BitAndNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 144:
-#line 647 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 645 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) BitAndNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 146:
-#line 652 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 650 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) BitAndNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 148:
-#line 657 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 655 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) BitXOrNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 150:
-#line 663 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 661 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) BitXOrNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 152:
-#line 669 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 667 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) BitXOrNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 154:
-#line 674 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 672 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) BitOrNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 156:
-#line 680 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 678 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) BitOrNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 158:
-#line 686 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 684 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) BitOrNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 160:
-#line 691 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 689 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) LogicalOpNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, OpLogicalAnd), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 162:
-#line 697 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 695 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) LogicalOpNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, OpLogicalAnd), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 164:
-#line 703 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 701 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) LogicalOpNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, OpLogicalAnd), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 166:
-#line 708 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 706 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) LogicalOpNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, OpLogicalOr), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 168:
-#line 714 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 712 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) LogicalOpNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, OpLogicalOr), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 170:
-#line 719 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 717 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) LogicalOpNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, OpLogicalOr), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 172:
-#line 725 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 723 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) ConditionalNode(GLOBAL_DATA, (yyvsp[(1) - (5)].expressionNode).m_node, (yyvsp[(3) - (5)].expressionNode).m_node, (yyvsp[(5) - (5)].expressionNode).m_node), (yyvsp[(1) - (5)].expressionNode).m_features | (yyvsp[(3) - (5)].expressionNode).m_features | (yyvsp[(5) - (5)].expressionNode).m_features, (yyvsp[(1) - (5)].expressionNode).m_numConstants + (yyvsp[(3) - (5)].expressionNode).m_numConstants + (yyvsp[(5) - (5)].expressionNode).m_numConstants); ;}
break;
case 174:
-#line 731 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 729 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) ConditionalNode(GLOBAL_DATA, (yyvsp[(1) - (5)].expressionNode).m_node, (yyvsp[(3) - (5)].expressionNode).m_node, (yyvsp[(5) - (5)].expressionNode).m_node), (yyvsp[(1) - (5)].expressionNode).m_features | (yyvsp[(3) - (5)].expressionNode).m_features | (yyvsp[(5) - (5)].expressionNode).m_features, (yyvsp[(1) - (5)].expressionNode).m_numConstants + (yyvsp[(3) - (5)].expressionNode).m_numConstants + (yyvsp[(5) - (5)].expressionNode).m_numConstants); ;}
break;
case 176:
-#line 737 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 735 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) ConditionalNode(GLOBAL_DATA, (yyvsp[(1) - (5)].expressionNode).m_node, (yyvsp[(3) - (5)].expressionNode).m_node, (yyvsp[(5) - (5)].expressionNode).m_node), (yyvsp[(1) - (5)].expressionNode).m_features | (yyvsp[(3) - (5)].expressionNode).m_features | (yyvsp[(5) - (5)].expressionNode).m_features, (yyvsp[(1) - (5)].expressionNode).m_numConstants + (yyvsp[(3) - (5)].expressionNode).m_numConstants + (yyvsp[(5) - (5)].expressionNode).m_numConstants); ;}
break;
case 178:
-#line 743 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 741 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeAssignNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(2) - (3)].op), (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(1) - (3)].expressionNode).m_features & AssignFeature, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature,
(yylsp[(1) - (3)]).first_column, (yylsp[(2) - (3)]).first_column + 1, (yylsp[(3) - (3)]).last_column), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features | AssignFeature, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants);
;}
break;
case 180:
-#line 751 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 749 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeAssignNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(2) - (3)].op), (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(1) - (3)].expressionNode).m_features & AssignFeature, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature,
(yylsp[(1) - (3)]).first_column, (yylsp[(2) - (3)]).first_column + 1, (yylsp[(3) - (3)]).last_column), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features | AssignFeature, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants);
;}
break;
case 182:
-#line 759 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 757 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeAssignNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(2) - (3)].op), (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(1) - (3)].expressionNode).m_features & AssignFeature, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature,
(yylsp[(1) - (3)]).first_column, (yylsp[(2) - (3)]).first_column + 1, (yylsp[(3) - (3)]).last_column), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features | AssignFeature, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants);
;}
break;
case 183:
-#line 765 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 763 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.op) = OpEqual; ;}
break;
case 184:
-#line 766 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 764 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.op) = OpPlusEq; ;}
break;
case 185:
-#line 767 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 765 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.op) = OpMinusEq; ;}
break;
case 186:
-#line 768 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 766 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.op) = OpMultEq; ;}
break;
case 187:
-#line 769 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 767 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.op) = OpDivEq; ;}
break;
case 188:
-#line 770 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 768 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.op) = OpLShift; ;}
break;
case 189:
-#line 771 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 769 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.op) = OpRShift; ;}
break;
case 190:
-#line 772 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 770 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.op) = OpURShift; ;}
break;
case 191:
-#line 773 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 771 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.op) = OpAndEq; ;}
break;
case 192:
-#line 774 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 772 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.op) = OpXOrEq; ;}
break;
case 193:
-#line 775 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 773 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.op) = OpOrEq; ;}
break;
case 194:
-#line 776 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 774 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.op) = OpModEq; ;}
break;
case 196:
-#line 781 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 779 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(combineCommaNodes(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 198:
-#line 786 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 784 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(combineCommaNodes(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 200:
-#line 791 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 789 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(combineCommaNodes(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 218:
-#line 815 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 813 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) BlockNode(GLOBAL_DATA, 0), 0, 0, 0, 0);
DBG((yyval.statementNode).m_node, (yylsp[(1) - (2)]), (yylsp[(2) - (2)])); ;}
break;
case 219:
-#line 817 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 815 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) BlockNode(GLOBAL_DATA, (yyvsp[(2) - (3)].sourceElements).m_node), (yyvsp[(2) - (3)].sourceElements).m_varDeclarations, (yyvsp[(2) - (3)].sourceElements).m_funcDeclarations, (yyvsp[(2) - (3)].sourceElements).m_features, (yyvsp[(2) - (3)].sourceElements).m_numConstants);
DBG((yyval.statementNode).m_node, (yylsp[(1) - (3)]), (yylsp[(3) - (3)])); ;}
break;
case 220:
-#line 822 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 820 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(makeVarStatementNode(GLOBAL_DATA, (yyvsp[(2) - (3)].varDeclList).m_node), (yyvsp[(2) - (3)].varDeclList).m_varDeclarations, (yyvsp[(2) - (3)].varDeclList).m_funcDeclarations, (yyvsp[(2) - (3)].varDeclList).m_features, (yyvsp[(2) - (3)].varDeclList).m_numConstants);
DBG((yyval.statementNode).m_node, (yylsp[(1) - (3)]), (yylsp[(3) - (3)])); ;}
break;
case 221:
-#line 824 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 822 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(makeVarStatementNode(GLOBAL_DATA, (yyvsp[(2) - (3)].varDeclList).m_node), (yyvsp[(2) - (3)].varDeclList).m_varDeclarations, (yyvsp[(2) - (3)].varDeclList).m_funcDeclarations, (yyvsp[(2) - (3)].varDeclList).m_features, (yyvsp[(2) - (3)].varDeclList).m_numConstants);
DBG((yyval.statementNode).m_node, (yylsp[(1) - (3)]), (yylsp[(2) - (3)]));
AUTO_SEMICOLON; ;}
break;
case 222:
-#line 830 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 828 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.varDeclList).m_node = 0;
(yyval.varDeclList).m_varDeclarations = new (GLOBAL_DATA) ParserArenaData<DeclarationStacks::VarStack>;
appendToVarDeclarationList(GLOBAL_DATA, (yyval.varDeclList).m_varDeclarations, *(yyvsp[(1) - (1)].ident), 0);
@@ -3861,7 +4119,9 @@ yyreduce:
break;
case 223:
-#line 837 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 835 "../../JavaScriptCore/parser/Grammar.y"
{ AssignResolveNode* node = new (GLOBAL_DATA) AssignResolveNode(GLOBAL_DATA, *(yyvsp[(1) - (2)].ident), (yyvsp[(2) - (2)].expressionNode).m_node, (yyvsp[(2) - (2)].expressionNode).m_features & AssignFeature);
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (2)]).first_column, (yylsp[(2) - (2)]).first_column + 1, (yylsp[(2) - (2)]).last_column);
(yyval.varDeclList).m_node = node;
@@ -3874,7 +4134,9 @@ yyreduce:
break;
case 224:
-#line 847 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 845 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.varDeclList).m_node = (yyvsp[(1) - (3)].varDeclList).m_node;
(yyval.varDeclList).m_varDeclarations = (yyvsp[(1) - (3)].varDeclList).m_varDeclarations;
appendToVarDeclarationList(GLOBAL_DATA, (yyval.varDeclList).m_varDeclarations, *(yyvsp[(3) - (3)].ident), 0);
@@ -3885,7 +4147,9 @@ yyreduce:
break;
case 225:
-#line 855 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 853 "../../JavaScriptCore/parser/Grammar.y"
{ AssignResolveNode* node = new (GLOBAL_DATA) AssignResolveNode(GLOBAL_DATA, *(yyvsp[(3) - (4)].ident), (yyvsp[(4) - (4)].expressionNode).m_node, (yyvsp[(4) - (4)].expressionNode).m_features & AssignFeature);
SET_EXCEPTION_LOCATION(node, (yylsp[(3) - (4)]).first_column, (yylsp[(4) - (4)]).first_column + 1, (yylsp[(4) - (4)]).last_column);
(yyval.varDeclList).m_node = combineCommaNodes(GLOBAL_DATA, (yyvsp[(1) - (4)].varDeclList).m_node, node);
@@ -3898,7 +4162,9 @@ yyreduce:
break;
case 226:
-#line 867 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 865 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.varDeclList).m_node = 0;
(yyval.varDeclList).m_varDeclarations = new (GLOBAL_DATA) ParserArenaData<DeclarationStacks::VarStack>;
appendToVarDeclarationList(GLOBAL_DATA, (yyval.varDeclList).m_varDeclarations, *(yyvsp[(1) - (1)].ident), 0);
@@ -3909,7 +4175,9 @@ yyreduce:
break;
case 227:
-#line 874 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 872 "../../JavaScriptCore/parser/Grammar.y"
{ AssignResolveNode* node = new (GLOBAL_DATA) AssignResolveNode(GLOBAL_DATA, *(yyvsp[(1) - (2)].ident), (yyvsp[(2) - (2)].expressionNode).m_node, (yyvsp[(2) - (2)].expressionNode).m_features & AssignFeature);
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (2)]).first_column, (yylsp[(2) - (2)]).first_column + 1, (yylsp[(2) - (2)]).last_column);
(yyval.varDeclList).m_node = node;
@@ -3922,7 +4190,9 @@ yyreduce:
break;
case 228:
-#line 884 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 882 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.varDeclList).m_node = (yyvsp[(1) - (3)].varDeclList).m_node;
(yyval.varDeclList).m_varDeclarations = (yyvsp[(1) - (3)].varDeclList).m_varDeclarations;
appendToVarDeclarationList(GLOBAL_DATA, (yyval.varDeclList).m_varDeclarations, *(yyvsp[(3) - (3)].ident), 0);
@@ -3933,7 +4203,9 @@ yyreduce:
break;
case 229:
-#line 892 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 890 "../../JavaScriptCore/parser/Grammar.y"
{ AssignResolveNode* node = new (GLOBAL_DATA) AssignResolveNode(GLOBAL_DATA, *(yyvsp[(3) - (4)].ident), (yyvsp[(4) - (4)].expressionNode).m_node, (yyvsp[(4) - (4)].expressionNode).m_features & AssignFeature);
SET_EXCEPTION_LOCATION(node, (yylsp[(3) - (4)]).first_column, (yylsp[(4) - (4)]).first_column + 1, (yylsp[(4) - (4)]).last_column);
(yyval.varDeclList).m_node = combineCommaNodes(GLOBAL_DATA, (yyvsp[(1) - (4)].varDeclList).m_node, node);
@@ -3946,19 +4218,25 @@ yyreduce:
break;
case 230:
-#line 904 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 902 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) ConstStatementNode(GLOBAL_DATA, (yyvsp[(2) - (3)].constDeclList).m_node.head), (yyvsp[(2) - (3)].constDeclList).m_varDeclarations, (yyvsp[(2) - (3)].constDeclList).m_funcDeclarations, (yyvsp[(2) - (3)].constDeclList).m_features, (yyvsp[(2) - (3)].constDeclList).m_numConstants);
DBG((yyval.statementNode).m_node, (yylsp[(1) - (3)]), (yylsp[(3) - (3)])); ;}
break;
case 231:
-#line 907 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 905 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) ConstStatementNode(GLOBAL_DATA, (yyvsp[(2) - (3)].constDeclList).m_node.head), (yyvsp[(2) - (3)].constDeclList).m_varDeclarations, (yyvsp[(2) - (3)].constDeclList).m_funcDeclarations, (yyvsp[(2) - (3)].constDeclList).m_features, (yyvsp[(2) - (3)].constDeclList).m_numConstants);
DBG((yyval.statementNode).m_node, (yylsp[(1) - (3)]), (yylsp[(2) - (3)])); AUTO_SEMICOLON; ;}
break;
case 232:
-#line 912 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 910 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.constDeclList).m_node.head = (yyvsp[(1) - (1)].constDeclNode).m_node;
(yyval.constDeclList).m_node.tail = (yyval.constDeclList).m_node.head;
(yyval.constDeclList).m_varDeclarations = new (GLOBAL_DATA) ParserArenaData<DeclarationStacks::VarStack>;
@@ -3970,7 +4248,9 @@ yyreduce:
break;
case 233:
-#line 921 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 919 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.constDeclList).m_node.head = (yyvsp[(1) - (3)].constDeclList).m_node.head;
(yyvsp[(1) - (3)].constDeclList).m_node.tail->m_next = (yyvsp[(3) - (3)].constDeclNode).m_node;
(yyval.constDeclList).m_node.tail = (yyvsp[(3) - (3)].constDeclNode).m_node;
@@ -3982,50 +4262,68 @@ yyreduce:
break;
case 234:
-#line 932 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 930 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.constDeclNode) = createNodeInfo<ConstDeclNode*>(new (GLOBAL_DATA) ConstDeclNode(GLOBAL_DATA, *(yyvsp[(1) - (1)].ident), 0), (*(yyvsp[(1) - (1)].ident) == GLOBAL_DATA->propertyNames->arguments) ? ArgumentsFeature : 0, 0); ;}
break;
case 235:
-#line 933 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 931 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.constDeclNode) = createNodeInfo<ConstDeclNode*>(new (GLOBAL_DATA) ConstDeclNode(GLOBAL_DATA, *(yyvsp[(1) - (2)].ident), (yyvsp[(2) - (2)].expressionNode).m_node), ((*(yyvsp[(1) - (2)].ident) == GLOBAL_DATA->propertyNames->arguments) ? ArgumentsFeature : 0) | (yyvsp[(2) - (2)].expressionNode).m_features, (yyvsp[(2) - (2)].expressionNode).m_numConstants); ;}
break;
case 236:
-#line 937 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 935 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = (yyvsp[(2) - (2)].expressionNode); ;}
break;
case 237:
-#line 941 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 939 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = (yyvsp[(2) - (2)].expressionNode); ;}
break;
case 238:
-#line 945 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 943 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) EmptyStatementNode(GLOBAL_DATA), 0, 0, 0, 0); ;}
break;
case 239:
-#line 949 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 947 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) ExprStatementNode(GLOBAL_DATA, (yyvsp[(1) - (2)].expressionNode).m_node), 0, 0, (yyvsp[(1) - (2)].expressionNode).m_features, (yyvsp[(1) - (2)].expressionNode).m_numConstants);
DBG((yyval.statementNode).m_node, (yylsp[(1) - (2)]), (yylsp[(2) - (2)])); ;}
break;
case 240:
-#line 951 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 949 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) ExprStatementNode(GLOBAL_DATA, (yyvsp[(1) - (2)].expressionNode).m_node), 0, 0, (yyvsp[(1) - (2)].expressionNode).m_features, (yyvsp[(1) - (2)].expressionNode).m_numConstants);
DBG((yyval.statementNode).m_node, (yylsp[(1) - (2)]), (yylsp[(1) - (2)])); AUTO_SEMICOLON; ;}
break;
case 241:
-#line 957 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 955 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) IfNode(GLOBAL_DATA, (yyvsp[(3) - (5)].expressionNode).m_node, (yyvsp[(5) - (5)].statementNode).m_node), (yyvsp[(5) - (5)].statementNode).m_varDeclarations, (yyvsp[(5) - (5)].statementNode).m_funcDeclarations, (yyvsp[(3) - (5)].expressionNode).m_features | (yyvsp[(5) - (5)].statementNode).m_features, (yyvsp[(3) - (5)].expressionNode).m_numConstants + (yyvsp[(5) - (5)].statementNode).m_numConstants);
DBG((yyval.statementNode).m_node, (yylsp[(1) - (5)]), (yylsp[(4) - (5)])); ;}
break;
case 242:
-#line 960 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 958 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) IfElseNode(GLOBAL_DATA, (yyvsp[(3) - (7)].expressionNode).m_node, (yyvsp[(5) - (7)].statementNode).m_node, (yyvsp[(7) - (7)].statementNode).m_node),
mergeDeclarationLists((yyvsp[(5) - (7)].statementNode).m_varDeclarations, (yyvsp[(7) - (7)].statementNode).m_varDeclarations),
mergeDeclarationLists((yyvsp[(5) - (7)].statementNode).m_funcDeclarations, (yyvsp[(7) - (7)].statementNode).m_funcDeclarations),
@@ -4035,25 +4333,33 @@ yyreduce:
break;
case 243:
-#line 969 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 967 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) DoWhileNode(GLOBAL_DATA, (yyvsp[(2) - (7)].statementNode).m_node, (yyvsp[(5) - (7)].expressionNode).m_node), (yyvsp[(2) - (7)].statementNode).m_varDeclarations, (yyvsp[(2) - (7)].statementNode).m_funcDeclarations, (yyvsp[(2) - (7)].statementNode).m_features | (yyvsp[(5) - (7)].expressionNode).m_features, (yyvsp[(2) - (7)].statementNode).m_numConstants + (yyvsp[(5) - (7)].expressionNode).m_numConstants);
DBG((yyval.statementNode).m_node, (yylsp[(1) - (7)]), (yylsp[(3) - (7)])); ;}
break;
case 244:
-#line 971 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 969 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) DoWhileNode(GLOBAL_DATA, (yyvsp[(2) - (7)].statementNode).m_node, (yyvsp[(5) - (7)].expressionNode).m_node), (yyvsp[(2) - (7)].statementNode).m_varDeclarations, (yyvsp[(2) - (7)].statementNode).m_funcDeclarations, (yyvsp[(2) - (7)].statementNode).m_features | (yyvsp[(5) - (7)].expressionNode).m_features, (yyvsp[(2) - (7)].statementNode).m_numConstants + (yyvsp[(5) - (7)].expressionNode).m_numConstants);
DBG((yyval.statementNode).m_node, (yylsp[(1) - (7)]), (yylsp[(3) - (7)])); ;}
break;
case 245:
-#line 973 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 971 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) WhileNode(GLOBAL_DATA, (yyvsp[(3) - (5)].expressionNode).m_node, (yyvsp[(5) - (5)].statementNode).m_node), (yyvsp[(5) - (5)].statementNode).m_varDeclarations, (yyvsp[(5) - (5)].statementNode).m_funcDeclarations, (yyvsp[(3) - (5)].expressionNode).m_features | (yyvsp[(5) - (5)].statementNode).m_features, (yyvsp[(3) - (5)].expressionNode).m_numConstants + (yyvsp[(5) - (5)].statementNode).m_numConstants);
DBG((yyval.statementNode).m_node, (yylsp[(1) - (5)]), (yylsp[(4) - (5)])); ;}
break;
case 246:
-#line 976 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 974 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) ForNode(GLOBAL_DATA, (yyvsp[(3) - (9)].expressionNode).m_node, (yyvsp[(5) - (9)].expressionNode).m_node, (yyvsp[(7) - (9)].expressionNode).m_node, (yyvsp[(9) - (9)].statementNode).m_node, false), (yyvsp[(9) - (9)].statementNode).m_varDeclarations, (yyvsp[(9) - (9)].statementNode).m_funcDeclarations,
(yyvsp[(3) - (9)].expressionNode).m_features | (yyvsp[(5) - (9)].expressionNode).m_features | (yyvsp[(7) - (9)].expressionNode).m_features | (yyvsp[(9) - (9)].statementNode).m_features,
(yyvsp[(3) - (9)].expressionNode).m_numConstants + (yyvsp[(5) - (9)].expressionNode).m_numConstants + (yyvsp[(7) - (9)].expressionNode).m_numConstants + (yyvsp[(9) - (9)].statementNode).m_numConstants);
@@ -4062,7 +4368,9 @@ yyreduce:
break;
case 247:
-#line 982 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 980 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) ForNode(GLOBAL_DATA, (yyvsp[(4) - (10)].varDeclList).m_node, (yyvsp[(6) - (10)].expressionNode).m_node, (yyvsp[(8) - (10)].expressionNode).m_node, (yyvsp[(10) - (10)].statementNode).m_node, true),
mergeDeclarationLists((yyvsp[(4) - (10)].varDeclList).m_varDeclarations, (yyvsp[(10) - (10)].statementNode).m_varDeclarations),
mergeDeclarationLists((yyvsp[(4) - (10)].varDeclList).m_funcDeclarations, (yyvsp[(10) - (10)].statementNode).m_funcDeclarations),
@@ -4072,7 +4380,9 @@ yyreduce:
break;
case 248:
-#line 989 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 987 "../../JavaScriptCore/parser/Grammar.y"
{
ForInNode* node = new (GLOBAL_DATA) ForInNode(GLOBAL_DATA, (yyvsp[(3) - (7)].expressionNode).m_node, (yyvsp[(5) - (7)].expressionNode).m_node, (yyvsp[(7) - (7)].statementNode).m_node);
SET_EXCEPTION_LOCATION(node, (yylsp[(3) - (7)]).first_column, (yylsp[(3) - (7)]).last_column, (yylsp[(5) - (7)]).last_column);
@@ -4084,7 +4394,9 @@ yyreduce:
break;
case 249:
-#line 998 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 996 "../../JavaScriptCore/parser/Grammar.y"
{ ForInNode *forIn = new (GLOBAL_DATA) ForInNode(GLOBAL_DATA, *(yyvsp[(4) - (8)].ident), 0, (yyvsp[(6) - (8)].expressionNode).m_node, (yyvsp[(8) - (8)].statementNode).m_node, (yylsp[(5) - (8)]).first_column, (yylsp[(5) - (8)]).first_column - (yylsp[(4) - (8)]).first_column, (yylsp[(6) - (8)]).last_column - (yylsp[(5) - (8)]).first_column);
SET_EXCEPTION_LOCATION(forIn, (yylsp[(4) - (8)]).first_column, (yylsp[(5) - (8)]).first_column + 1, (yylsp[(6) - (8)]).last_column);
appendToVarDeclarationList(GLOBAL_DATA, (yyvsp[(8) - (8)].statementNode).m_varDeclarations, *(yyvsp[(4) - (8)].ident), DeclarationStacks::HasInitializer);
@@ -4093,7 +4405,9 @@ yyreduce:
break;
case 250:
-#line 1004 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1002 "../../JavaScriptCore/parser/Grammar.y"
{ ForInNode *forIn = new (GLOBAL_DATA) ForInNode(GLOBAL_DATA, *(yyvsp[(4) - (9)].ident), (yyvsp[(5) - (9)].expressionNode).m_node, (yyvsp[(7) - (9)].expressionNode).m_node, (yyvsp[(9) - (9)].statementNode).m_node, (yylsp[(5) - (9)]).first_column, (yylsp[(5) - (9)]).first_column - (yylsp[(4) - (9)]).first_column, (yylsp[(5) - (9)]).last_column - (yylsp[(5) - (9)]).first_column);
SET_EXCEPTION_LOCATION(forIn, (yylsp[(4) - (9)]).first_column, (yylsp[(6) - (9)]).first_column + 1, (yylsp[(7) - (9)]).last_column);
appendToVarDeclarationList(GLOBAL_DATA, (yyvsp[(9) - (9)].statementNode).m_varDeclarations, *(yyvsp[(4) - (9)].ident), DeclarationStacks::HasInitializer);
@@ -4104,17 +4418,23 @@ yyreduce:
break;
case 251:
-#line 1014 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1012 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(0, 0, 0); ;}
break;
case 253:
-#line 1019 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1017 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(0, 0, 0); ;}
break;
case 255:
-#line 1024 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1022 "../../JavaScriptCore/parser/Grammar.y"
{ ContinueNode* node = new (GLOBAL_DATA) ContinueNode(GLOBAL_DATA);
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (2)]).first_column, (yylsp[(1) - (2)]).last_column, (yylsp[(1) - (2)]).last_column);
(yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(node, 0, 0, 0, 0);
@@ -4122,7 +4442,9 @@ yyreduce:
break;
case 256:
-#line 1028 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1026 "../../JavaScriptCore/parser/Grammar.y"
{ ContinueNode* node = new (GLOBAL_DATA) ContinueNode(GLOBAL_DATA);
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (2)]).first_column, (yylsp[(1) - (2)]).last_column, (yylsp[(1) - (2)]).last_column);
(yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(node, 0, 0, 0, 0);
@@ -4130,7 +4452,9 @@ yyreduce:
break;
case 257:
-#line 1032 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1030 "../../JavaScriptCore/parser/Grammar.y"
{ ContinueNode* node = new (GLOBAL_DATA) ContinueNode(GLOBAL_DATA, *(yyvsp[(2) - (3)].ident));
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (3)]).first_column, (yylsp[(2) - (3)]).last_column, (yylsp[(2) - (3)]).last_column);
(yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(node, 0, 0, 0, 0);
@@ -4138,7 +4462,9 @@ yyreduce:
break;
case 258:
-#line 1036 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1034 "../../JavaScriptCore/parser/Grammar.y"
{ ContinueNode* node = new (GLOBAL_DATA) ContinueNode(GLOBAL_DATA, *(yyvsp[(2) - (3)].ident));
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (3)]).first_column, (yylsp[(2) - (3)]).last_column, (yylsp[(2) - (3)]).last_column);
(yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(node, 0, 0, 0, 0);
@@ -4146,82 +4472,106 @@ yyreduce:
break;
case 259:
-#line 1043 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1041 "../../JavaScriptCore/parser/Grammar.y"
{ BreakNode* node = new (GLOBAL_DATA) BreakNode(GLOBAL_DATA);
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (2)]).first_column, (yylsp[(1) - (2)]).last_column, (yylsp[(1) - (2)]).last_column);
(yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(node, 0, 0, 0, 0); DBG((yyval.statementNode).m_node, (yylsp[(1) - (2)]), (yylsp[(2) - (2)])); ;}
break;
case 260:
-#line 1046 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1044 "../../JavaScriptCore/parser/Grammar.y"
{ BreakNode* node = new (GLOBAL_DATA) BreakNode(GLOBAL_DATA);
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (2)]).first_column, (yylsp[(1) - (2)]).last_column, (yylsp[(1) - (2)]).last_column);
(yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) BreakNode(GLOBAL_DATA), 0, 0, 0, 0); DBG((yyval.statementNode).m_node, (yylsp[(1) - (2)]), (yylsp[(1) - (2)])); AUTO_SEMICOLON; ;}
break;
case 261:
-#line 1049 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1047 "../../JavaScriptCore/parser/Grammar.y"
{ BreakNode* node = new (GLOBAL_DATA) BreakNode(GLOBAL_DATA, *(yyvsp[(2) - (3)].ident));
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (3)]).first_column, (yylsp[(2) - (3)]).last_column, (yylsp[(2) - (3)]).last_column);
(yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(node, 0, 0, 0, 0); DBG((yyval.statementNode).m_node, (yylsp[(1) - (3)]), (yylsp[(3) - (3)])); ;}
break;
case 262:
-#line 1052 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1050 "../../JavaScriptCore/parser/Grammar.y"
{ BreakNode* node = new (GLOBAL_DATA) BreakNode(GLOBAL_DATA, *(yyvsp[(2) - (3)].ident));
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (3)]).first_column, (yylsp[(2) - (3)]).last_column, (yylsp[(2) - (3)]).last_column);
(yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) BreakNode(GLOBAL_DATA, *(yyvsp[(2) - (3)].ident)), 0, 0, 0, 0); DBG((yyval.statementNode).m_node, (yylsp[(1) - (3)]), (yylsp[(2) - (3)])); AUTO_SEMICOLON; ;}
break;
case 263:
-#line 1058 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1056 "../../JavaScriptCore/parser/Grammar.y"
{ ReturnNode* node = new (GLOBAL_DATA) ReturnNode(GLOBAL_DATA, 0);
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (2)]).first_column, (yylsp[(1) - (2)]).last_column, (yylsp[(1) - (2)]).last_column);
(yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(node, 0, 0, 0, 0); DBG((yyval.statementNode).m_node, (yylsp[(1) - (2)]), (yylsp[(2) - (2)])); ;}
break;
case 264:
-#line 1061 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1059 "../../JavaScriptCore/parser/Grammar.y"
{ ReturnNode* node = new (GLOBAL_DATA) ReturnNode(GLOBAL_DATA, 0);
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (2)]).first_column, (yylsp[(1) - (2)]).last_column, (yylsp[(1) - (2)]).last_column);
(yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(node, 0, 0, 0, 0); DBG((yyval.statementNode).m_node, (yylsp[(1) - (2)]), (yylsp[(1) - (2)])); AUTO_SEMICOLON; ;}
break;
case 265:
-#line 1064 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1062 "../../JavaScriptCore/parser/Grammar.y"
{ ReturnNode* node = new (GLOBAL_DATA) ReturnNode(GLOBAL_DATA, (yyvsp[(2) - (3)].expressionNode).m_node);
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (3)]).first_column, (yylsp[(2) - (3)]).last_column, (yylsp[(2) - (3)]).last_column);
(yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(node, 0, 0, (yyvsp[(2) - (3)].expressionNode).m_features, (yyvsp[(2) - (3)].expressionNode).m_numConstants); DBG((yyval.statementNode).m_node, (yylsp[(1) - (3)]), (yylsp[(3) - (3)])); ;}
break;
case 266:
-#line 1067 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1065 "../../JavaScriptCore/parser/Grammar.y"
{ ReturnNode* node = new (GLOBAL_DATA) ReturnNode(GLOBAL_DATA, (yyvsp[(2) - (3)].expressionNode).m_node);
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (3)]).first_column, (yylsp[(2) - (3)]).last_column, (yylsp[(2) - (3)]).last_column);
(yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(node, 0, 0, (yyvsp[(2) - (3)].expressionNode).m_features, (yyvsp[(2) - (3)].expressionNode).m_numConstants); DBG((yyval.statementNode).m_node, (yylsp[(1) - (3)]), (yylsp[(2) - (3)])); AUTO_SEMICOLON; ;}
break;
case 267:
-#line 1073 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1071 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) WithNode(GLOBAL_DATA, (yyvsp[(3) - (5)].expressionNode).m_node, (yyvsp[(5) - (5)].statementNode).m_node, (yylsp[(3) - (5)]).last_column, (yylsp[(3) - (5)]).last_column - (yylsp[(3) - (5)]).first_column),
(yyvsp[(5) - (5)].statementNode).m_varDeclarations, (yyvsp[(5) - (5)].statementNode).m_funcDeclarations, (yyvsp[(3) - (5)].expressionNode).m_features | (yyvsp[(5) - (5)].statementNode).m_features | WithFeature, (yyvsp[(3) - (5)].expressionNode).m_numConstants + (yyvsp[(5) - (5)].statementNode).m_numConstants);
DBG((yyval.statementNode).m_node, (yylsp[(1) - (5)]), (yylsp[(4) - (5)])); ;}
break;
case 268:
-#line 1079 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1077 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) SwitchNode(GLOBAL_DATA, (yyvsp[(3) - (5)].expressionNode).m_node, (yyvsp[(5) - (5)].caseBlockNode).m_node), (yyvsp[(5) - (5)].caseBlockNode).m_varDeclarations, (yyvsp[(5) - (5)].caseBlockNode).m_funcDeclarations,
(yyvsp[(3) - (5)].expressionNode).m_features | (yyvsp[(5) - (5)].caseBlockNode).m_features, (yyvsp[(3) - (5)].expressionNode).m_numConstants + (yyvsp[(5) - (5)].caseBlockNode).m_numConstants);
DBG((yyval.statementNode).m_node, (yylsp[(1) - (5)]), (yylsp[(4) - (5)])); ;}
break;
case 269:
-#line 1085 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1083 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.caseBlockNode) = createNodeDeclarationInfo<CaseBlockNode*>(new (GLOBAL_DATA) CaseBlockNode(GLOBAL_DATA, (yyvsp[(2) - (3)].clauseList).m_node.head, 0, 0), (yyvsp[(2) - (3)].clauseList).m_varDeclarations, (yyvsp[(2) - (3)].clauseList).m_funcDeclarations, (yyvsp[(2) - (3)].clauseList).m_features, (yyvsp[(2) - (3)].clauseList).m_numConstants); ;}
break;
case 270:
-#line 1087 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1085 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.caseBlockNode) = createNodeDeclarationInfo<CaseBlockNode*>(new (GLOBAL_DATA) CaseBlockNode(GLOBAL_DATA, (yyvsp[(2) - (5)].clauseList).m_node.head, (yyvsp[(3) - (5)].caseClauseNode).m_node, (yyvsp[(4) - (5)].clauseList).m_node.head),
mergeDeclarationLists(mergeDeclarationLists((yyvsp[(2) - (5)].clauseList).m_varDeclarations, (yyvsp[(3) - (5)].caseClauseNode).m_varDeclarations), (yyvsp[(4) - (5)].clauseList).m_varDeclarations),
mergeDeclarationLists(mergeDeclarationLists((yyvsp[(2) - (5)].clauseList).m_funcDeclarations, (yyvsp[(3) - (5)].caseClauseNode).m_funcDeclarations), (yyvsp[(4) - (5)].clauseList).m_funcDeclarations),
@@ -4230,12 +4580,16 @@ yyreduce:
break;
case 271:
-#line 1095 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1093 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.clauseList).m_node.head = 0; (yyval.clauseList).m_node.tail = 0; (yyval.clauseList).m_varDeclarations = 0; (yyval.clauseList).m_funcDeclarations = 0; (yyval.clauseList).m_features = 0; (yyval.clauseList).m_numConstants = 0; ;}
break;
case 273:
-#line 1100 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1098 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.clauseList).m_node.head = new (GLOBAL_DATA) ClauseListNode(GLOBAL_DATA, (yyvsp[(1) - (1)].caseClauseNode).m_node);
(yyval.clauseList).m_node.tail = (yyval.clauseList).m_node.head;
(yyval.clauseList).m_varDeclarations = (yyvsp[(1) - (1)].caseClauseNode).m_varDeclarations;
@@ -4245,7 +4599,9 @@ yyreduce:
break;
case 274:
-#line 1106 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1104 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.clauseList).m_node.head = (yyvsp[(1) - (2)].clauseList).m_node.head;
(yyval.clauseList).m_node.tail = new (GLOBAL_DATA) ClauseListNode(GLOBAL_DATA, (yyvsp[(1) - (2)].clauseList).m_node.tail, (yyvsp[(2) - (2)].caseClauseNode).m_node);
(yyval.clauseList).m_varDeclarations = mergeDeclarationLists((yyvsp[(1) - (2)].clauseList).m_varDeclarations, (yyvsp[(2) - (2)].caseClauseNode).m_varDeclarations);
@@ -4256,34 +4612,46 @@ yyreduce:
break;
case 275:
-#line 1116 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1114 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.caseClauseNode) = createNodeDeclarationInfo<CaseClauseNode*>(new (GLOBAL_DATA) CaseClauseNode(GLOBAL_DATA, (yyvsp[(2) - (3)].expressionNode).m_node), 0, 0, (yyvsp[(2) - (3)].expressionNode).m_features, (yyvsp[(2) - (3)].expressionNode).m_numConstants); ;}
break;
case 276:
-#line 1117 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1115 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.caseClauseNode) = createNodeDeclarationInfo<CaseClauseNode*>(new (GLOBAL_DATA) CaseClauseNode(GLOBAL_DATA, (yyvsp[(2) - (4)].expressionNode).m_node, (yyvsp[(4) - (4)].sourceElements).m_node), (yyvsp[(4) - (4)].sourceElements).m_varDeclarations, (yyvsp[(4) - (4)].sourceElements).m_funcDeclarations, (yyvsp[(2) - (4)].expressionNode).m_features | (yyvsp[(4) - (4)].sourceElements).m_features, (yyvsp[(2) - (4)].expressionNode).m_numConstants + (yyvsp[(4) - (4)].sourceElements).m_numConstants); ;}
break;
case 277:
-#line 1121 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1119 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.caseClauseNode) = createNodeDeclarationInfo<CaseClauseNode*>(new (GLOBAL_DATA) CaseClauseNode(GLOBAL_DATA, 0), 0, 0, 0, 0); ;}
break;
case 278:
-#line 1122 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1120 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.caseClauseNode) = createNodeDeclarationInfo<CaseClauseNode*>(new (GLOBAL_DATA) CaseClauseNode(GLOBAL_DATA, 0, (yyvsp[(3) - (3)].sourceElements).m_node), (yyvsp[(3) - (3)].sourceElements).m_varDeclarations, (yyvsp[(3) - (3)].sourceElements).m_funcDeclarations, (yyvsp[(3) - (3)].sourceElements).m_features, (yyvsp[(3) - (3)].sourceElements).m_numConstants); ;}
break;
case 279:
-#line 1126 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1124 "../../JavaScriptCore/parser/Grammar.y"
{ LabelNode* node = new (GLOBAL_DATA) LabelNode(GLOBAL_DATA, *(yyvsp[(1) - (3)].ident), (yyvsp[(3) - (3)].statementNode).m_node);
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (3)]).first_column, (yylsp[(2) - (3)]).last_column, (yylsp[(2) - (3)]).last_column);
(yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(node, (yyvsp[(3) - (3)].statementNode).m_varDeclarations, (yyvsp[(3) - (3)].statementNode).m_funcDeclarations, (yyvsp[(3) - (3)].statementNode).m_features, (yyvsp[(3) - (3)].statementNode).m_numConstants); ;}
break;
case 280:
-#line 1132 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1130 "../../JavaScriptCore/parser/Grammar.y"
{ ThrowNode* node = new (GLOBAL_DATA) ThrowNode(GLOBAL_DATA, (yyvsp[(2) - (3)].expressionNode).m_node);
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (3)]).first_column, (yylsp[(2) - (3)]).last_column, (yylsp[(2) - (3)]).last_column);
(yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(node, 0, 0, (yyvsp[(2) - (3)].expressionNode).m_features, (yyvsp[(2) - (3)].expressionNode).m_numConstants); DBG((yyval.statementNode).m_node, (yylsp[(1) - (3)]), (yylsp[(2) - (3)]));
@@ -4291,7 +4659,9 @@ yyreduce:
break;
case 281:
-#line 1136 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1134 "../../JavaScriptCore/parser/Grammar.y"
{ ThrowNode* node = new (GLOBAL_DATA) ThrowNode(GLOBAL_DATA, (yyvsp[(2) - (3)].expressionNode).m_node);
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (3)]).first_column, (yylsp[(2) - (3)]).last_column, (yylsp[(2) - (3)]).last_column);
(yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(node, 0, 0, (yyvsp[(2) - (3)].expressionNode).m_features, (yyvsp[(2) - (3)].expressionNode).m_numConstants); DBG((yyval.statementNode).m_node, (yylsp[(1) - (3)]), (yylsp[(2) - (3)])); AUTO_SEMICOLON;
@@ -4299,7 +4669,9 @@ yyreduce:
break;
case 282:
-#line 1143 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1141 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) TryNode(GLOBAL_DATA, (yyvsp[(2) - (4)].statementNode).m_node, GLOBAL_DATA->propertyNames->nullIdentifier, false, 0, (yyvsp[(4) - (4)].statementNode).m_node),
mergeDeclarationLists((yyvsp[(2) - (4)].statementNode).m_varDeclarations, (yyvsp[(4) - (4)].statementNode).m_varDeclarations),
mergeDeclarationLists((yyvsp[(2) - (4)].statementNode).m_funcDeclarations, (yyvsp[(4) - (4)].statementNode).m_funcDeclarations),
@@ -4309,7 +4681,9 @@ yyreduce:
break;
case 283:
-#line 1149 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1147 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) TryNode(GLOBAL_DATA, (yyvsp[(2) - (7)].statementNode).m_node, *(yyvsp[(5) - (7)].ident), ((yyvsp[(7) - (7)].statementNode).m_features & EvalFeature) != 0, (yyvsp[(7) - (7)].statementNode).m_node, 0),
mergeDeclarationLists((yyvsp[(2) - (7)].statementNode).m_varDeclarations, (yyvsp[(7) - (7)].statementNode).m_varDeclarations),
mergeDeclarationLists((yyvsp[(2) - (7)].statementNode).m_funcDeclarations, (yyvsp[(7) - (7)].statementNode).m_funcDeclarations),
@@ -4319,7 +4693,9 @@ yyreduce:
break;
case 284:
-#line 1156 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1154 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) TryNode(GLOBAL_DATA, (yyvsp[(2) - (9)].statementNode).m_node, *(yyvsp[(5) - (9)].ident), ((yyvsp[(7) - (9)].statementNode).m_features & EvalFeature) != 0, (yyvsp[(7) - (9)].statementNode).m_node, (yyvsp[(9) - (9)].statementNode).m_node),
mergeDeclarationLists(mergeDeclarationLists((yyvsp[(2) - (9)].statementNode).m_varDeclarations, (yyvsp[(7) - (9)].statementNode).m_varDeclarations), (yyvsp[(9) - (9)].statementNode).m_varDeclarations),
mergeDeclarationLists(mergeDeclarationLists((yyvsp[(2) - (9)].statementNode).m_funcDeclarations, (yyvsp[(7) - (9)].statementNode).m_funcDeclarations), (yyvsp[(9) - (9)].statementNode).m_funcDeclarations),
@@ -4329,24 +4705,32 @@ yyreduce:
break;
case 285:
-#line 1165 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1163 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) DebuggerStatementNode(GLOBAL_DATA), 0, 0, 0, 0);
DBG((yyval.statementNode).m_node, (yylsp[(1) - (2)]), (yylsp[(2) - (2)])); ;}
break;
case 286:
-#line 1167 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1165 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) DebuggerStatementNode(GLOBAL_DATA), 0, 0, 0, 0);
DBG((yyval.statementNode).m_node, (yylsp[(1) - (2)]), (yylsp[(1) - (2)])); AUTO_SEMICOLON; ;}
break;
case 287:
-#line 1172 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1170 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new FuncDeclNode(GLOBAL_DATA, *(yyvsp[(2) - (7)].ident), (yyvsp[(6) - (7)].functionBodyNode), LEXER->sourceCode((yyvsp[(5) - (7)].intValue), (yyvsp[(7) - (7)].intValue), (yylsp[(5) - (7)]).first_line)), 0, new (GLOBAL_DATA) ParserArenaData<DeclarationStacks::FunctionStack>, ((*(yyvsp[(2) - (7)].ident) == GLOBAL_DATA->propertyNames->arguments) ? ArgumentsFeature : 0) | ClosureFeature, 0); DBG((yyvsp[(6) - (7)].functionBodyNode), (yylsp[(5) - (7)]), (yylsp[(7) - (7)])); (yyval.statementNode).m_funcDeclarations->data.append(static_cast<FuncDeclNode*>((yyval.statementNode).m_node)); ;}
break;
case 288:
-#line 1174 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1172 "../../JavaScriptCore/parser/Grammar.y"
{
(yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new FuncDeclNode(GLOBAL_DATA, *(yyvsp[(2) - (8)].ident), (yyvsp[(7) - (8)].functionBodyNode), LEXER->sourceCode((yyvsp[(6) - (8)].intValue), (yyvsp[(8) - (8)].intValue), (yylsp[(6) - (8)]).first_line), (yyvsp[(4) - (8)].parameterList).m_node.head), 0, new (GLOBAL_DATA) ParserArenaData<DeclarationStacks::FunctionStack>, ((*(yyvsp[(2) - (8)].ident) == GLOBAL_DATA->propertyNames->arguments) ? ArgumentsFeature : 0) | (yyvsp[(4) - (8)].parameterList).m_features | ClosureFeature, 0);
if ((yyvsp[(4) - (8)].parameterList).m_features & ArgumentsFeature)
@@ -4357,12 +4741,16 @@ yyreduce:
break;
case 289:
-#line 1184 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1182 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.funcExprNode) = createNodeInfo(new FuncExprNode(GLOBAL_DATA, GLOBAL_DATA->propertyNames->nullIdentifier, (yyvsp[(5) - (6)].functionBodyNode), LEXER->sourceCode((yyvsp[(4) - (6)].intValue), (yyvsp[(6) - (6)].intValue), (yylsp[(4) - (6)]).first_line)), ClosureFeature, 0); DBG((yyvsp[(5) - (6)].functionBodyNode), (yylsp[(4) - (6)]), (yylsp[(6) - (6)])); ;}
break;
case 290:
-#line 1186 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1184 "../../JavaScriptCore/parser/Grammar.y"
{
(yyval.funcExprNode) = createNodeInfo(new FuncExprNode(GLOBAL_DATA, GLOBAL_DATA->propertyNames->nullIdentifier, (yyvsp[(6) - (7)].functionBodyNode), LEXER->sourceCode((yyvsp[(5) - (7)].intValue), (yyvsp[(7) - (7)].intValue), (yylsp[(5) - (7)]).first_line), (yyvsp[(3) - (7)].parameterList).m_node.head), (yyvsp[(3) - (7)].parameterList).m_features | ClosureFeature, 0);
if ((yyvsp[(3) - (7)].parameterList).m_features & ArgumentsFeature)
@@ -4372,12 +4760,16 @@ yyreduce:
break;
case 291:
-#line 1192 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1190 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.funcExprNode) = createNodeInfo(new FuncExprNode(GLOBAL_DATA, *(yyvsp[(2) - (7)].ident), (yyvsp[(6) - (7)].functionBodyNode), LEXER->sourceCode((yyvsp[(5) - (7)].intValue), (yyvsp[(7) - (7)].intValue), (yylsp[(5) - (7)]).first_line)), ClosureFeature, 0); DBG((yyvsp[(6) - (7)].functionBodyNode), (yylsp[(5) - (7)]), (yylsp[(7) - (7)])); ;}
break;
case 292:
-#line 1194 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1192 "../../JavaScriptCore/parser/Grammar.y"
{
(yyval.funcExprNode) = createNodeInfo(new FuncExprNode(GLOBAL_DATA, *(yyvsp[(2) - (8)].ident), (yyvsp[(7) - (8)].functionBodyNode), LEXER->sourceCode((yyvsp[(6) - (8)].intValue), (yyvsp[(8) - (8)].intValue), (yylsp[(6) - (8)]).first_line), (yyvsp[(4) - (8)].parameterList).m_node.head), (yyvsp[(4) - (8)].parameterList).m_features | ClosureFeature, 0);
if ((yyvsp[(4) - (8)].parameterList).m_features & ArgumentsFeature)
@@ -4387,42 +4779,56 @@ yyreduce:
break;
case 293:
-#line 1203 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1201 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.parameterList).m_node.head = new (GLOBAL_DATA) ParameterNode(GLOBAL_DATA, *(yyvsp[(1) - (1)].ident));
(yyval.parameterList).m_features = (*(yyvsp[(1) - (1)].ident) == GLOBAL_DATA->propertyNames->arguments) ? ArgumentsFeature : 0;
(yyval.parameterList).m_node.tail = (yyval.parameterList).m_node.head; ;}
break;
case 294:
-#line 1206 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1204 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.parameterList).m_node.head = (yyvsp[(1) - (3)].parameterList).m_node.head;
(yyval.parameterList).m_features = (yyvsp[(1) - (3)].parameterList).m_features | ((*(yyvsp[(3) - (3)].ident) == GLOBAL_DATA->propertyNames->arguments) ? ArgumentsFeature : 0);
(yyval.parameterList).m_node.tail = new (GLOBAL_DATA) ParameterNode(GLOBAL_DATA, (yyvsp[(1) - (3)].parameterList).m_node.tail, *(yyvsp[(3) - (3)].ident)); ;}
break;
case 295:
-#line 1212 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1210 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.functionBodyNode) = FunctionBodyNode::create(GLOBAL_DATA); ;}
break;
case 296:
-#line 1213 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1211 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.functionBodyNode) = FunctionBodyNode::create(GLOBAL_DATA); ;}
break;
case 297:
-#line 1217 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1215 "../../JavaScriptCore/parser/Grammar.y"
{ GLOBAL_DATA->parser->didFinishParsing(new (GLOBAL_DATA) SourceElements(GLOBAL_DATA), 0, 0, NoFeatures, (yylsp[(0) - (0)]).last_line, 0); ;}
break;
case 298:
-#line 1218 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1216 "../../JavaScriptCore/parser/Grammar.y"
{ GLOBAL_DATA->parser->didFinishParsing((yyvsp[(1) - (1)].sourceElements).m_node, (yyvsp[(1) - (1)].sourceElements).m_varDeclarations, (yyvsp[(1) - (1)].sourceElements).m_funcDeclarations, (yyvsp[(1) - (1)].sourceElements).m_features,
(yylsp[(1) - (1)]).last_line, (yyvsp[(1) - (1)].sourceElements).m_numConstants); ;}
break;
case 299:
-#line 1223 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1221 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.sourceElements).m_node = new (GLOBAL_DATA) SourceElements(GLOBAL_DATA);
(yyval.sourceElements).m_node->append((yyvsp[(1) - (1)].statementNode).m_node);
(yyval.sourceElements).m_varDeclarations = (yyvsp[(1) - (1)].statementNode).m_varDeclarations;
@@ -4433,7 +4839,9 @@ yyreduce:
break;
case 300:
-#line 1230 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1228 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.sourceElements).m_node->append((yyvsp[(2) - (2)].statementNode).m_node);
(yyval.sourceElements).m_varDeclarations = mergeDeclarationLists((yyvsp[(1) - (2)].sourceElements).m_varDeclarations, (yyvsp[(2) - (2)].statementNode).m_varDeclarations);
(yyval.sourceElements).m_funcDeclarations = mergeDeclarationLists((yyvsp[(1) - (2)].sourceElements).m_funcDeclarations, (yyvsp[(2) - (2)].statementNode).m_funcDeclarations);
@@ -4443,188 +4851,261 @@ yyreduce:
break;
case 304:
-#line 1244 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1242 "../../JavaScriptCore/parser/Grammar.y"
{ ;}
break;
case 305:
-#line 1245 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1243 "../../JavaScriptCore/parser/Grammar.y"
{ ;}
break;
case 306:
-#line 1246 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1244 "../../JavaScriptCore/parser/Grammar.y"
{ Lexer& l = *LEXER; if (!l.scanRegExp()) YYABORT; ;}
break;
case 307:
-#line 1247 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1245 "../../JavaScriptCore/parser/Grammar.y"
{ Lexer& l = *LEXER; if (!l.scanRegExp()) YYABORT; ;}
break;
case 308:
-#line 1251 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1249 "../../JavaScriptCore/parser/Grammar.y"
{ ;}
break;
case 309:
-#line 1252 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1250 "../../JavaScriptCore/parser/Grammar.y"
{ ;}
break;
case 310:
-#line 1253 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1251 "../../JavaScriptCore/parser/Grammar.y"
{ ;}
break;
case 311:
-#line 1254 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1252 "../../JavaScriptCore/parser/Grammar.y"
{ if (*(yyvsp[(1) - (7)].ident) != "get" && *(yyvsp[(1) - (7)].ident) != "set") YYABORT; ;}
break;
case 312:
-#line 1255 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1253 "../../JavaScriptCore/parser/Grammar.y"
{ if (*(yyvsp[(1) - (8)].ident) != "get" && *(yyvsp[(1) - (8)].ident) != "set") YYABORT; ;}
break;
case 316:
-#line 1265 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1263 "../../JavaScriptCore/parser/Grammar.y"
{ ;}
break;
case 317:
-#line 1266 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1264 "../../JavaScriptCore/parser/Grammar.y"
{ ;}
break;
case 318:
-#line 1268 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1266 "../../JavaScriptCore/parser/Grammar.y"
{ ;}
break;
case 322:
-#line 1275 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1273 "../../JavaScriptCore/parser/Grammar.y"
{ ;}
break;
case 517:
-#line 1643 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1641 "../../JavaScriptCore/parser/Grammar.y"
{ ;}
break;
case 518:
-#line 1644 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1642 "../../JavaScriptCore/parser/Grammar.y"
{ ;}
break;
case 520:
-#line 1649 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1647 "../../JavaScriptCore/parser/Grammar.y"
{ AUTO_SEMICOLON; ;}
break;
case 521:
-#line 1653 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1651 "../../JavaScriptCore/parser/Grammar.y"
{ ;}
break;
case 522:
-#line 1654 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1652 "../../JavaScriptCore/parser/Grammar.y"
{ ;}
break;
case 525:
-#line 1660 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1658 "../../JavaScriptCore/parser/Grammar.y"
{ ;}
break;
case 526:
-#line 1661 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1659 "../../JavaScriptCore/parser/Grammar.y"
{ ;}
break;
case 530:
-#line 1668 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1666 "../../JavaScriptCore/parser/Grammar.y"
{ AUTO_SEMICOLON; ;}
break;
case 533:
-#line 1677 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1675 "../../JavaScriptCore/parser/Grammar.y"
{ ;}
break;
case 534:
-#line 1678 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1676 "../../JavaScriptCore/parser/Grammar.y"
{ ;}
break;
case 539:
-#line 1695 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1693 "../../JavaScriptCore/parser/Grammar.y"
{ AUTO_SEMICOLON; ;}
break;
case 555:
-#line 1726 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1724 "../../JavaScriptCore/parser/Grammar.y"
{ AUTO_SEMICOLON; ;}
break;
case 557:
-#line 1728 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1726 "../../JavaScriptCore/parser/Grammar.y"
{ AUTO_SEMICOLON; ;}
break;
case 559:
-#line 1733 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1731 "../../JavaScriptCore/parser/Grammar.y"
{ AUTO_SEMICOLON; ;}
break;
case 561:
-#line 1735 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1733 "../../JavaScriptCore/parser/Grammar.y"
{ AUTO_SEMICOLON; ;}
break;
case 563:
-#line 1740 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1738 "../../JavaScriptCore/parser/Grammar.y"
{ AUTO_SEMICOLON; ;}
break;
case 565:
-#line 1742 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1740 "../../JavaScriptCore/parser/Grammar.y"
{ AUTO_SEMICOLON; ;}
break;
case 568:
-#line 1754 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1752 "../../JavaScriptCore/parser/Grammar.y"
{ ;}
break;
case 569:
-#line 1755 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1753 "../../JavaScriptCore/parser/Grammar.y"
{ ;}
break;
case 578:
-#line 1779 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1777 "../../JavaScriptCore/parser/Grammar.y"
{ ;}
break;
case 580:
-#line 1784 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1782 "../../JavaScriptCore/parser/Grammar.y"
{ AUTO_SEMICOLON; ;}
break;
case 585:
-#line 1795 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1793 "../../JavaScriptCore/parser/Grammar.y"
{ AUTO_SEMICOLON; ;}
break;
case 592:
-#line 1811 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1809 "../../JavaScriptCore/parser/Grammar.y"
{ ;}
break;
-/* Line 1267 of yacc.c. */
-#line 4628 "WebCore/tmp/../generated/Grammar.tab.c"
+
+/* Line 1455 of yacc.c */
+#line 5109 "WebCore/tmp/../generated/Grammar.tab.c"
default: break;
}
YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
@@ -4700,7 +5181,7 @@ yyerrlab:
if (yyerrstatus == 3)
{
- /* If just tried and failed to reuse look-ahead token after an
+ /* If just tried and failed to reuse lookahead token after an
error, discard it. */
if (yychar <= YYEOF)
@@ -4717,7 +5198,7 @@ yyerrlab:
}
}
- /* Else will try to reuse look-ahead token after shifting the error
+ /* Else will try to reuse lookahead token after shifting the error
token. */
goto yyerrlab1;
@@ -4775,14 +5256,11 @@ yyerrlab1:
YY_STACK_PRINT (yyss, yyssp);
}
- if (yyn == YYFINAL)
- YYACCEPT;
-
*++yyvsp = yylval;
yyerror_range[1] = yylloc;
/* Using YYLLOC is tempting, but would change the location of
- the look-ahead. YYLOC is available though. */
+ the lookahead. YYLOC is available though. */
YYLLOC_DEFAULT (yyloc, (yyerror_range - 1), 2);
*++yylsp = yyloc;
@@ -4807,7 +5285,7 @@ yyabortlab:
yyresult = 1;
goto yyreturn;
-#ifndef yyoverflow
+#if !defined(yyoverflow) || YYERROR_VERBOSE
/*-------------------------------------------------.
| yyexhaustedlab -- memory exhaustion comes here. |
`-------------------------------------------------*/
@@ -4818,7 +5296,7 @@ yyexhaustedlab:
#endif
yyreturn:
- if (yychar != YYEOF && yychar != YYEMPTY)
+ if (yychar != YYEMPTY)
yydestruct ("Cleanup: discarding lookahead",
yytoken, &yylval, &yylloc);
/* Do not reclaim the symbols of the rule which action triggered
@@ -4844,7 +5322,9 @@ yyreturn:
}
-#line 1827 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1675 of yacc.c */
+#line 1825 "../../JavaScriptCore/parser/Grammar.y"
static ExpressionNode* makeAssignNode(void* globalPtr, ExpressionNode* loc, Operator op, ExpressionNode* expr, bool locHasAssignments, bool exprHasAssignments, int start, int divot, int end)
diff --git a/src/3rdparty/webkit/WebCore/generated/Grammar.h b/src/3rdparty/webkit/WebCore/generated/Grammar.h
index 4188cd8..2f9d6f0 100644
--- a/src/3rdparty/webkit/WebCore/generated/Grammar.h
+++ b/src/3rdparty/webkit/WebCore/generated/Grammar.h
@@ -1,24 +1,23 @@
-/* A Bison parser, made by GNU Bison 2.3. */
-/* Skeleton interface for Bison's Yacc-like parsers in C
+/* A Bison parser, made by GNU Bison 2.4.1. */
- Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
+/* Skeleton interface for Bison's Yacc-like parsers in C
+
+ Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
Free Software Foundation, Inc.
-
- This program is free software; you can redistribute it and/or modify
+
+ This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2, or (at your option)
- any later version.
-
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
-
+
You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 51 Franklin Street, Fifth Floor,
- Boston, MA 02110-1301, USA. */
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
/* As a special exception, you may create a larger work that contains
part or all of the Bison parser skeleton and distribute that work
@@ -29,10 +28,11 @@
special exception, which will cause the skeleton and the resulting
Bison output files to be licensed under the GNU General Public
License without this special exception.
-
+
This special exception was added by the Free Software Foundation in
version 2.2 of Bison. */
+
/* Tokens. */
#ifndef YYTOKENTYPE
# define YYTOKENTYPE
@@ -104,78 +104,16 @@
AUTOMINUSMINUS = 320
};
#endif
-/* Tokens. */
-#define NULLTOKEN 258
-#define TRUETOKEN 259
-#define FALSETOKEN 260
-#define BREAK 261
-#define CASE 262
-#define DEFAULT 263
-#define FOR 264
-#define NEW 265
-#define VAR 266
-#define CONSTTOKEN 267
-#define CONTINUE 268
-#define FUNCTION 269
-#define RETURN 270
-#define VOIDTOKEN 271
-#define DELETETOKEN 272
-#define IF 273
-#define THISTOKEN 274
-#define DO 275
-#define WHILE 276
-#define INTOKEN 277
-#define INSTANCEOF 278
-#define TYPEOF 279
-#define SWITCH 280
-#define WITH 281
-#define RESERVED 282
-#define THROW 283
-#define TRY 284
-#define CATCH 285
-#define FINALLY 286
-#define DEBUGGER 287
-#define IF_WITHOUT_ELSE 288
-#define ELSE 289
-#define EQEQ 290
-#define NE 291
-#define STREQ 292
-#define STRNEQ 293
-#define LE 294
-#define GE 295
-#define OR 296
-#define AND 297
-#define PLUSPLUS 298
-#define MINUSMINUS 299
-#define LSHIFT 300
-#define RSHIFT 301
-#define URSHIFT 302
-#define PLUSEQUAL 303
-#define MINUSEQUAL 304
-#define MULTEQUAL 305
-#define DIVEQUAL 306
-#define LSHIFTEQUAL 307
-#define RSHIFTEQUAL 308
-#define URSHIFTEQUAL 309
-#define ANDEQUAL 310
-#define MODEQUAL 311
-#define XOREQUAL 312
-#define OREQUAL 313
-#define OPENBRACE 314
-#define CLOSEBRACE 315
-#define NUMBER 316
-#define IDENT 317
-#define STRING 318
-#define AUTOPLUSPLUS 319
-#define AUTOMINUSMINUS 320
-
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
typedef union YYSTYPE
-#line 157 "../../JavaScriptCore/parser/Grammar.y"
{
+
+/* Line 1676 of yacc.c */
+#line 155 "../../JavaScriptCore/parser/Grammar.y"
+
int intValue;
double doubleValue;
Identifier* ident;
@@ -205,13 +143,15 @@ typedef union YYSTYPE
ParameterListInfo parameterList;
Operator op;
-}
-/* Line 1489 of yacc.c. */
-#line 211 "WebCore/tmp/../generated/Grammar.tab.h"
- YYSTYPE;
+
+
+
+/* Line 1676 of yacc.c */
+#line 151 "WebCore/tmp/../generated/Grammar.tab.h"
+} YYSTYPE;
+# define YYSTYPE_IS_TRIVIAL 1
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
-# define YYSTYPE_IS_TRIVIAL 1
#endif
@@ -230,3 +170,4 @@ typedef struct YYLTYPE
#endif
+
diff --git a/src/3rdparty/webkit/WebCore/generated/HTMLElementFactory.cpp b/src/3rdparty/webkit/WebCore/generated/HTMLElementFactory.cpp
index d14bc93..4a8430c 100644
--- a/src/3rdparty/webkit/WebCore/generated/HTMLElementFactory.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/HTMLElementFactory.cpp
@@ -184,21 +184,33 @@ static PassRefPtr<HTMLElement> tablecolConstructor(const QualifiedName& tagName,
return new HTMLTableColElement(tagName, doc);
}
+#if ENABLE(DATAGRID)
+
static PassRefPtr<HTMLElement> datagridConstructor(const QualifiedName& tagName, Document* doc, HTMLFormElement*, bool)
{
return new HTMLDataGridElement(tagName, doc);
}
+#endif
+
+#if ENABLE(DATAGRID)
+
static PassRefPtr<HTMLElement> datagridcellConstructor(const QualifiedName& tagName, Document* doc, HTMLFormElement*, bool)
{
return new HTMLDataGridCellElement(tagName, doc);
}
+#endif
+
+#if ENABLE(DATAGRID)
+
static PassRefPtr<HTMLElement> datagridcolConstructor(const QualifiedName& tagName, Document* doc, HTMLFormElement*, bool)
{
return new HTMLDataGridColElement(tagName, doc);
}
+#endif
+
static PassRefPtr<HTMLElement> modConstructor(const QualifiedName& tagName, Document* doc, HTMLFormElement*, bool)
{
return new HTMLModElement(tagName, doc);
@@ -219,11 +231,15 @@ static PassRefPtr<HTMLElement> dlistConstructor(const QualifiedName& tagName, Do
return new HTMLDListElement(tagName, doc);
}
+#if ENABLE(DATAGRID)
+
static PassRefPtr<HTMLElement> datagridrowConstructor(const QualifiedName& tagName, Document* doc, HTMLFormElement*, bool)
{
return new HTMLDataGridRowElement(tagName, doc);
}
+#endif
+
static PassRefPtr<HTMLElement> embedConstructor(const QualifiedName& tagName, Document* doc, HTMLFormElement*, bool)
{
return new HTMLEmbedElement(tagName, doc);
@@ -486,14 +502,26 @@ static inline void createFunctionMapIfNecessary()
addTag(captionTag, tablecaptionConstructor);
addTag(colTag, tablecolConstructor);
addTag(colgroupTag, tablecolConstructor);
+#if ENABLE(DATAGRID)
addTag(datagridTag, datagridConstructor);
+#endif
+
+#if ENABLE(DATAGRID)
addTag(dcellTag, datagridcellConstructor);
+#endif
+
+#if ENABLE(DATAGRID)
addTag(dcolTag, datagridcolConstructor);
+#endif
+
addTag(delTag, modConstructor);
addTag(dirTag, directoryConstructor);
addTag(divTag, divConstructor);
addTag(dlTag, dlistConstructor);
+#if ENABLE(DATAGRID)
addTag(drowTag, datagridrowConstructor);
+#endif
+
addTag(embedTag, embedConstructor);
addTag(fieldsetTag, fieldsetConstructor);
addTag(fontTag, fontConstructor);
diff --git a/src/3rdparty/webkit/WebCore/generated/HTMLNames.cpp b/src/3rdparty/webkit/WebCore/generated/HTMLNames.cpp
index 4e23159..44458f7 100644
--- a/src/3rdparty/webkit/WebCore/generated/HTMLNames.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/HTMLNames.cpp
@@ -128,6 +128,9 @@ DEFINE_GLOBAL(QualifiedName, paramTag, nullAtom, "param", xhtmlNamespaceURI);
DEFINE_GLOBAL(QualifiedName, plaintextTag, nullAtom, "plaintext", xhtmlNamespaceURI);
DEFINE_GLOBAL(QualifiedName, preTag, nullAtom, "pre", xhtmlNamespaceURI);
DEFINE_GLOBAL(QualifiedName, qTag, nullAtom, "q", xhtmlNamespaceURI);
+DEFINE_GLOBAL(QualifiedName, rpTag, nullAtom, "rp", xhtmlNamespaceURI);
+DEFINE_GLOBAL(QualifiedName, rtTag, nullAtom, "rt", xhtmlNamespaceURI);
+DEFINE_GLOBAL(QualifiedName, rubyTag, nullAtom, "ruby", xhtmlNamespaceURI);
DEFINE_GLOBAL(QualifiedName, sTag, nullAtom, "s", xhtmlNamespaceURI);
DEFINE_GLOBAL(QualifiedName, sampTag, nullAtom, "samp", xhtmlNamespaceURI);
DEFINE_GLOBAL(QualifiedName, scriptTag, nullAtom, "script", xhtmlNamespaceURI);
@@ -244,6 +247,9 @@ WebCore::QualifiedName** getHTMLTags(size_t* size)
(WebCore::QualifiedName*)&plaintextTag,
(WebCore::QualifiedName*)&preTag,
(WebCore::QualifiedName*)&qTag,
+ (WebCore::QualifiedName*)&rpTag,
+ (WebCore::QualifiedName*)&rtTag,
+ (WebCore::QualifiedName*)&rubyTag,
(WebCore::QualifiedName*)&sTag,
(WebCore::QualifiedName*)&sampTag,
(WebCore::QualifiedName*)&scriptTag,
@@ -273,7 +279,7 @@ WebCore::QualifiedName** getHTMLTags(size_t* size)
(WebCore::QualifiedName*)&wbrTag,
(WebCore::QualifiedName*)&xmpTag,
};
- *size = 111;
+ *size = 114;
return HTMLTags;
}
@@ -292,6 +298,7 @@ DEFINE_GLOBAL(QualifiedName, aria_checkedAttr, nullAtom, "aria_checked", xhtmlNa
DEFINE_GLOBAL(QualifiedName, aria_describedbyAttr, nullAtom, "aria_describedby", xhtmlNamespaceURI);
DEFINE_GLOBAL(QualifiedName, aria_disabledAttr, nullAtom, "aria_disabled", xhtmlNamespaceURI);
DEFINE_GLOBAL(QualifiedName, aria_hiddenAttr, nullAtom, "aria_hidden", xhtmlNamespaceURI);
+DEFINE_GLOBAL(QualifiedName, aria_labelAttr, nullAtom, "aria_label", xhtmlNamespaceURI);
DEFINE_GLOBAL(QualifiedName, aria_labeledbyAttr, nullAtom, "aria_labeledby", xhtmlNamespaceURI);
DEFINE_GLOBAL(QualifiedName, aria_labelledbyAttr, nullAtom, "aria_labelledby", xhtmlNamespaceURI);
DEFINE_GLOBAL(QualifiedName, aria_levelAttr, nullAtom, "aria_level", xhtmlNamespaceURI);
@@ -343,6 +350,7 @@ DEFINE_GLOBAL(QualifiedName, deferAttr, nullAtom, "defer", xhtmlNamespaceURI);
DEFINE_GLOBAL(QualifiedName, dirAttr, nullAtom, "dir", xhtmlNamespaceURI);
DEFINE_GLOBAL(QualifiedName, directionAttr, nullAtom, "direction", xhtmlNamespaceURI);
DEFINE_GLOBAL(QualifiedName, disabledAttr, nullAtom, "disabled", xhtmlNamespaceURI);
+DEFINE_GLOBAL(QualifiedName, draggableAttr, nullAtom, "draggable", xhtmlNamespaceURI);
DEFINE_GLOBAL(QualifiedName, enctypeAttr, nullAtom, "enctype", xhtmlNamespaceURI);
DEFINE_GLOBAL(QualifiedName, endAttr, nullAtom, "end", xhtmlNamespaceURI);
DEFINE_GLOBAL(QualifiedName, expandedAttr, nullAtom, "expanded", xhtmlNamespaceURI);
@@ -457,6 +465,7 @@ DEFINE_GLOBAL(QualifiedName, onwebkitanimationendAttr, nullAtom, "onwebkitanimat
DEFINE_GLOBAL(QualifiedName, onwebkitanimationiterationAttr, nullAtom, "onwebkitanimationiteration", xhtmlNamespaceURI);
DEFINE_GLOBAL(QualifiedName, onwebkitanimationstartAttr, nullAtom, "onwebkitanimationstart", xhtmlNamespaceURI);
DEFINE_GLOBAL(QualifiedName, onwebkittransitionendAttr, nullAtom, "onwebkittransitionend", xhtmlNamespaceURI);
+DEFINE_GLOBAL(QualifiedName, patternAttr, nullAtom, "pattern", xhtmlNamespaceURI);
DEFINE_GLOBAL(QualifiedName, placeholderAttr, nullAtom, "placeholder", xhtmlNamespaceURI);
DEFINE_GLOBAL(QualifiedName, playcountAttr, nullAtom, "playcount", xhtmlNamespaceURI);
DEFINE_GLOBAL(QualifiedName, pluginurlAttr, nullAtom, "pluginurl", xhtmlNamespaceURI);
@@ -468,6 +477,7 @@ DEFINE_GLOBAL(QualifiedName, progressAttr, nullAtom, "progress", xhtmlNamespaceU
DEFINE_GLOBAL(QualifiedName, promptAttr, nullAtom, "prompt", xhtmlNamespaceURI);
DEFINE_GLOBAL(QualifiedName, readonlyAttr, nullAtom, "readonly", xhtmlNamespaceURI);
DEFINE_GLOBAL(QualifiedName, relAttr, nullAtom, "rel", xhtmlNamespaceURI);
+DEFINE_GLOBAL(QualifiedName, requiredAttr, nullAtom, "required", xhtmlNamespaceURI);
DEFINE_GLOBAL(QualifiedName, resultsAttr, nullAtom, "results", xhtmlNamespaceURI);
DEFINE_GLOBAL(QualifiedName, revAttr, nullAtom, "rev", xhtmlNamespaceURI);
DEFINE_GLOBAL(QualifiedName, roleAttr, nullAtom, "role", xhtmlNamespaceURI);
@@ -529,6 +539,7 @@ WebCore::QualifiedName** getHTMLAttrs(size_t* size)
(WebCore::QualifiedName*)&aria_describedbyAttr,
(WebCore::QualifiedName*)&aria_disabledAttr,
(WebCore::QualifiedName*)&aria_hiddenAttr,
+ (WebCore::QualifiedName*)&aria_labelAttr,
(WebCore::QualifiedName*)&aria_labeledbyAttr,
(WebCore::QualifiedName*)&aria_labelledbyAttr,
(WebCore::QualifiedName*)&aria_levelAttr,
@@ -580,6 +591,7 @@ WebCore::QualifiedName** getHTMLAttrs(size_t* size)
(WebCore::QualifiedName*)&dirAttr,
(WebCore::QualifiedName*)&directionAttr,
(WebCore::QualifiedName*)&disabledAttr,
+ (WebCore::QualifiedName*)&draggableAttr,
(WebCore::QualifiedName*)&enctypeAttr,
(WebCore::QualifiedName*)&endAttr,
(WebCore::QualifiedName*)&expandedAttr,
@@ -694,6 +706,7 @@ WebCore::QualifiedName** getHTMLAttrs(size_t* size)
(WebCore::QualifiedName*)&onwebkitanimationiterationAttr,
(WebCore::QualifiedName*)&onwebkitanimationstartAttr,
(WebCore::QualifiedName*)&onwebkittransitionendAttr,
+ (WebCore::QualifiedName*)&patternAttr,
(WebCore::QualifiedName*)&placeholderAttr,
(WebCore::QualifiedName*)&playcountAttr,
(WebCore::QualifiedName*)&pluginurlAttr,
@@ -705,6 +718,7 @@ WebCore::QualifiedName** getHTMLAttrs(size_t* size)
(WebCore::QualifiedName*)&promptAttr,
(WebCore::QualifiedName*)&readonlyAttr,
(WebCore::QualifiedName*)&relAttr,
+ (WebCore::QualifiedName*)&requiredAttr,
(WebCore::QualifiedName*)&resultsAttr,
(WebCore::QualifiedName*)&revAttr,
(WebCore::QualifiedName*)&roleAttr,
@@ -748,7 +762,7 @@ WebCore::QualifiedName** getHTMLAttrs(size_t* size)
(WebCore::QualifiedName*)&widthAttr,
(WebCore::QualifiedName*)&wrapAttr,
};
- *size = 232;
+ *size = 236;
return HTMLAttr;
}
@@ -856,6 +870,9 @@ void init()
const char *plaintextTagString = "plaintext";
const char *preTagString = "pre";
const char *qTagString = "q";
+ const char *rpTagString = "rp";
+ const char *rtTagString = "rt";
+ const char *rubyTagString = "ruby";
const char *sTagString = "s";
const char *sampTagString = "samp";
const char *scriptTagString = "script";
@@ -967,6 +984,9 @@ void init()
new ((void*)&plaintextTag) QualifiedName(nullAtom, plaintextTagString, xhtmlNS);
new ((void*)&preTag) QualifiedName(nullAtom, preTagString, xhtmlNS);
new ((void*)&qTag) QualifiedName(nullAtom, qTagString, xhtmlNS);
+ new ((void*)&rpTag) QualifiedName(nullAtom, rpTagString, xhtmlNS);
+ new ((void*)&rtTag) QualifiedName(nullAtom, rtTagString, xhtmlNS);
+ new ((void*)&rubyTag) QualifiedName(nullAtom, rubyTagString, xhtmlNS);
new ((void*)&sTag) QualifiedName(nullAtom, sTagString, xhtmlNS);
new ((void*)&sampTag) QualifiedName(nullAtom, sampTagString, xhtmlNS);
new ((void*)&scriptTag) QualifiedName(nullAtom, scriptTagString, xhtmlNS);
@@ -1010,6 +1030,7 @@ void init()
const char *aria_describedbyAttrString = "aria-describedby";
const char *aria_disabledAttrString = "aria-disabled";
const char *aria_hiddenAttrString = "aria-hidden";
+ const char *aria_labelAttrString = "aria-label";
const char *aria_labeledbyAttrString = "aria-labeledby";
const char *aria_labelledbyAttrString = "aria-labelledby";
const char *aria_levelAttrString = "aria-level";
@@ -1060,6 +1081,7 @@ void init()
const char *dirAttrString = "dir";
const char *directionAttrString = "direction";
const char *disabledAttrString = "disabled";
+ const char *draggableAttrString = "draggable";
const char *enctypeAttrString = "enctype";
const char *endAttrString = "end";
const char *expandedAttrString = "expanded";
@@ -1174,6 +1196,7 @@ void init()
const char *onwebkitanimationiterationAttrString = "onwebkitanimationiteration";
const char *onwebkitanimationstartAttrString = "onwebkitanimationstart";
const char *onwebkittransitionendAttrString = "onwebkittransitionend";
+ const char *patternAttrString = "pattern";
const char *placeholderAttrString = "placeholder";
const char *playcountAttrString = "playcount";
const char *pluginurlAttrString = "pluginurl";
@@ -1185,6 +1208,7 @@ void init()
const char *promptAttrString = "prompt";
const char *readonlyAttrString = "readonly";
const char *relAttrString = "rel";
+ const char *requiredAttrString = "required";
const char *resultsAttrString = "results";
const char *revAttrString = "rev";
const char *roleAttrString = "role";
@@ -1241,6 +1265,7 @@ void init()
new ((void*)&aria_describedbyAttr) QualifiedName(nullAtom, aria_describedbyAttrString, nullAtom);
new ((void*)&aria_disabledAttr) QualifiedName(nullAtom, aria_disabledAttrString, nullAtom);
new ((void*)&aria_hiddenAttr) QualifiedName(nullAtom, aria_hiddenAttrString, nullAtom);
+ new ((void*)&aria_labelAttr) QualifiedName(nullAtom, aria_labelAttrString, nullAtom);
new ((void*)&aria_labeledbyAttr) QualifiedName(nullAtom, aria_labeledbyAttrString, nullAtom);
new ((void*)&aria_labelledbyAttr) QualifiedName(nullAtom, aria_labelledbyAttrString, nullAtom);
new ((void*)&aria_levelAttr) QualifiedName(nullAtom, aria_levelAttrString, nullAtom);
@@ -1292,6 +1317,7 @@ void init()
new ((void*)&dirAttr) QualifiedName(nullAtom, dirAttrString, nullAtom);
new ((void*)&directionAttr) QualifiedName(nullAtom, directionAttrString, nullAtom);
new ((void*)&disabledAttr) QualifiedName(nullAtom, disabledAttrString, nullAtom);
+ new ((void*)&draggableAttr) QualifiedName(nullAtom, draggableAttrString, nullAtom);
new ((void*)&enctypeAttr) QualifiedName(nullAtom, enctypeAttrString, nullAtom);
new ((void*)&endAttr) QualifiedName(nullAtom, endAttrString, nullAtom);
new ((void*)&expandedAttr) QualifiedName(nullAtom, expandedAttrString, nullAtom);
@@ -1406,6 +1432,7 @@ void init()
new ((void*)&onwebkitanimationiterationAttr) QualifiedName(nullAtom, onwebkitanimationiterationAttrString, nullAtom);
new ((void*)&onwebkitanimationstartAttr) QualifiedName(nullAtom, onwebkitanimationstartAttrString, nullAtom);
new ((void*)&onwebkittransitionendAttr) QualifiedName(nullAtom, onwebkittransitionendAttrString, nullAtom);
+ new ((void*)&patternAttr) QualifiedName(nullAtom, patternAttrString, nullAtom);
new ((void*)&placeholderAttr) QualifiedName(nullAtom, placeholderAttrString, nullAtom);
new ((void*)&playcountAttr) QualifiedName(nullAtom, playcountAttrString, nullAtom);
new ((void*)&pluginurlAttr) QualifiedName(nullAtom, pluginurlAttrString, nullAtom);
@@ -1417,6 +1444,7 @@ void init()
new ((void*)&promptAttr) QualifiedName(nullAtom, promptAttrString, nullAtom);
new ((void*)&readonlyAttr) QualifiedName(nullAtom, readonlyAttrString, nullAtom);
new ((void*)&relAttr) QualifiedName(nullAtom, relAttrString, nullAtom);
+ new ((void*)&requiredAttr) QualifiedName(nullAtom, requiredAttrString, nullAtom);
new ((void*)&resultsAttr) QualifiedName(nullAtom, resultsAttrString, nullAtom);
new ((void*)&revAttr) QualifiedName(nullAtom, revAttrString, nullAtom);
new ((void*)&roleAttr) QualifiedName(nullAtom, roleAttrString, nullAtom);
diff --git a/src/3rdparty/webkit/WebCore/generated/HTMLNames.h b/src/3rdparty/webkit/WebCore/generated/HTMLNames.h
index fba6088..a2544e6 100644
--- a/src/3rdparty/webkit/WebCore/generated/HTMLNames.h
+++ b/src/3rdparty/webkit/WebCore/generated/HTMLNames.h
@@ -124,6 +124,9 @@ extern const WebCore::QualifiedName paramTag;
extern const WebCore::QualifiedName plaintextTag;
extern const WebCore::QualifiedName preTag;
extern const WebCore::QualifiedName qTag;
+extern const WebCore::QualifiedName rpTag;
+extern const WebCore::QualifiedName rtTag;
+extern const WebCore::QualifiedName rubyTag;
extern const WebCore::QualifiedName sTag;
extern const WebCore::QualifiedName sampTag;
extern const WebCore::QualifiedName scriptTag;
@@ -167,6 +170,7 @@ extern const WebCore::QualifiedName aria_checkedAttr;
extern const WebCore::QualifiedName aria_describedbyAttr;
extern const WebCore::QualifiedName aria_disabledAttr;
extern const WebCore::QualifiedName aria_hiddenAttr;
+extern const WebCore::QualifiedName aria_labelAttr;
extern const WebCore::QualifiedName aria_labeledbyAttr;
extern const WebCore::QualifiedName aria_labelledbyAttr;
extern const WebCore::QualifiedName aria_levelAttr;
@@ -219,6 +223,7 @@ extern const WebCore::QualifiedName deferAttr;
extern const WebCore::QualifiedName dirAttr;
extern const WebCore::QualifiedName directionAttr;
extern const WebCore::QualifiedName disabledAttr;
+extern const WebCore::QualifiedName draggableAttr;
extern const WebCore::QualifiedName enctypeAttr;
extern const WebCore::QualifiedName endAttr;
extern const WebCore::QualifiedName expandedAttr;
@@ -333,6 +338,7 @@ extern const WebCore::QualifiedName onwebkitanimationendAttr;
extern const WebCore::QualifiedName onwebkitanimationiterationAttr;
extern const WebCore::QualifiedName onwebkitanimationstartAttr;
extern const WebCore::QualifiedName onwebkittransitionendAttr;
+extern const WebCore::QualifiedName patternAttr;
extern const WebCore::QualifiedName placeholderAttr;
extern const WebCore::QualifiedName playcountAttr;
extern const WebCore::QualifiedName pluginurlAttr;
@@ -344,6 +350,7 @@ extern const WebCore::QualifiedName progressAttr;
extern const WebCore::QualifiedName promptAttr;
extern const WebCore::QualifiedName readonlyAttr;
extern const WebCore::QualifiedName relAttr;
+extern const WebCore::QualifiedName requiredAttr;
extern const WebCore::QualifiedName resultsAttr;
extern const WebCore::QualifiedName revAttr;
extern const WebCore::QualifiedName roleAttr;
diff --git a/src/3rdparty/webkit/WebCore/generated/JSAbstractWorker.cpp b/src/3rdparty/webkit/WebCore/generated/JSAbstractWorker.cpp
new file mode 100644
index 0000000..d591cad
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/generated/JSAbstractWorker.cpp
@@ -0,0 +1,227 @@
+/*
+ This file is part of the WebKit open source project.
+ This file has been generated by generate-bindings.pl. DO NOT MODIFY!
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "config.h"
+
+#if ENABLE(WORKERS)
+
+#include "JSAbstractWorker.h"
+
+#include "AbstractWorker.h"
+#include "Event.h"
+#include "EventListener.h"
+#include "Frame.h"
+#include "JSDOMGlobalObject.h"
+#include "JSEvent.h"
+#include "JSEventListener.h"
+#include <runtime/Error.h>
+#include <wtf/GetPtr.h>
+
+using namespace JSC;
+
+namespace WebCore {
+
+ASSERT_CLASS_FITS_IN_CELL(JSAbstractWorker);
+
+/* Hash table */
+
+static const HashTableValue JSAbstractWorkerTableValues[3] =
+{
+ { "onerror", DontDelete, (intptr_t)jsAbstractWorkerOnerror, (intptr_t)setJSAbstractWorkerOnerror },
+ { "constructor", DontEnum|ReadOnly, (intptr_t)jsAbstractWorkerConstructor, (intptr_t)0 },
+ { 0, 0, 0, 0 }
+};
+
+static JSC_CONST_HASHTABLE HashTable JSAbstractWorkerTable =
+#if ENABLE(PERFECT_HASH_SIZE)
+ { 1, JSAbstractWorkerTableValues, 0 };
+#else
+ { 4, 3, JSAbstractWorkerTableValues, 0 };
+#endif
+
+/* Hash table for constructor */
+
+static const HashTableValue JSAbstractWorkerConstructorTableValues[1] =
+{
+ { 0, 0, 0, 0 }
+};
+
+static JSC_CONST_HASHTABLE HashTable JSAbstractWorkerConstructorTable =
+#if ENABLE(PERFECT_HASH_SIZE)
+ { 0, JSAbstractWorkerConstructorTableValues, 0 };
+#else
+ { 1, 0, JSAbstractWorkerConstructorTableValues, 0 };
+#endif
+
+class JSAbstractWorkerConstructor : public DOMConstructorObject {
+public:
+ JSAbstractWorkerConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSAbstractWorkerConstructor::createStructure(globalObject->objectPrototype()), globalObject)
+ {
+ putDirect(exec->propertyNames().prototype, JSAbstractWorkerPrototype::self(exec, globalObject), None);
+ }
+ virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
+ virtual const ClassInfo* classInfo() const { return &s_info; }
+ static const ClassInfo s_info;
+
+ static PassRefPtr<Structure> createStructure(JSValue proto)
+ {
+ return Structure::create(proto, TypeInfo(ObjectType, ImplementsHasInstance));
+ }
+};
+
+const ClassInfo JSAbstractWorkerConstructor::s_info = { "AbstractWorkerConstructor", 0, &JSAbstractWorkerConstructorTable, 0 };
+
+bool JSAbstractWorkerConstructor::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
+{
+ return getStaticValueSlot<JSAbstractWorkerConstructor, DOMObject>(exec, &JSAbstractWorkerConstructorTable, this, propertyName, slot);
+}
+
+/* Hash table for prototype */
+
+static const HashTableValue JSAbstractWorkerPrototypeTableValues[4] =
+{
+ { "addEventListener", DontDelete|Function, (intptr_t)jsAbstractWorkerPrototypeFunctionAddEventListener, (intptr_t)3 },
+ { "removeEventListener", DontDelete|Function, (intptr_t)jsAbstractWorkerPrototypeFunctionRemoveEventListener, (intptr_t)3 },
+ { "dispatchEvent", DontDelete|Function, (intptr_t)jsAbstractWorkerPrototypeFunctionDispatchEvent, (intptr_t)1 },
+ { 0, 0, 0, 0 }
+};
+
+static JSC_CONST_HASHTABLE HashTable JSAbstractWorkerPrototypeTable =
+#if ENABLE(PERFECT_HASH_SIZE)
+ { 3, JSAbstractWorkerPrototypeTableValues, 0 };
+#else
+ { 8, 7, JSAbstractWorkerPrototypeTableValues, 0 };
+#endif
+
+const ClassInfo JSAbstractWorkerPrototype::s_info = { "AbstractWorkerPrototype", 0, &JSAbstractWorkerPrototypeTable, 0 };
+
+JSObject* JSAbstractWorkerPrototype::self(ExecState* exec, JSGlobalObject* globalObject)
+{
+ return getDOMPrototype<JSAbstractWorker>(exec, globalObject);
+}
+
+bool JSAbstractWorkerPrototype::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
+{
+ return getStaticFunctionSlot<JSObject>(exec, &JSAbstractWorkerPrototypeTable, this, propertyName, slot);
+}
+
+const ClassInfo JSAbstractWorker::s_info = { "AbstractWorker", 0, &JSAbstractWorkerTable, 0 };
+
+JSAbstractWorker::JSAbstractWorker(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<AbstractWorker> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
+ , m_impl(impl)
+{
+}
+
+JSAbstractWorker::~JSAbstractWorker()
+{
+ forgetDOMObject(*Heap::heap(this)->globalData(), m_impl.get());
+}
+
+JSObject* JSAbstractWorker::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
+{
+ return new (exec) JSAbstractWorkerPrototype(JSAbstractWorkerPrototype::createStructure(globalObject->objectPrototype()));
+}
+
+bool JSAbstractWorker::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
+{
+ return getStaticValueSlot<JSAbstractWorker, Base>(exec, &JSAbstractWorkerTable, this, propertyName, slot);
+}
+
+JSValue jsAbstractWorkerOnerror(ExecState* exec, const Identifier&, const PropertySlot& slot)
+{
+ JSAbstractWorker* castedThis = static_cast<JSAbstractWorker*>(asObject(slot.slotBase()));
+ UNUSED_PARAM(exec);
+ AbstractWorker* imp = static_cast<AbstractWorker*>(castedThis->impl());
+ if (EventListener* listener = imp->onerror()) {
+ if (JSObject* jsFunction = listener->jsFunction())
+ return jsFunction;
+ }
+ return jsNull();
+}
+
+JSValue jsAbstractWorkerConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
+{
+ JSAbstractWorker* domObject = static_cast<JSAbstractWorker*>(asObject(slot.slotBase()));
+ return JSAbstractWorker::getConstructor(exec, domObject->globalObject());
+}
+void JSAbstractWorker::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
+{
+ lookupPut<JSAbstractWorker, Base>(exec, propertyName, value, &JSAbstractWorkerTable, this, slot);
+}
+
+void setJSAbstractWorkerOnerror(ExecState* exec, JSObject* thisObject, JSValue value)
+{
+ UNUSED_PARAM(exec);
+ AbstractWorker* imp = static_cast<AbstractWorker*>(static_cast<JSAbstractWorker*>(thisObject)->impl());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ if (!globalObject)
+ return;
+ imp->setOnerror(globalObject->createJSAttributeEventListener(value));
+}
+
+JSValue JSAbstractWorker::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
+{
+ return getDOMConstructor<JSAbstractWorkerConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
+}
+
+JSValue JSC_HOST_CALL jsAbstractWorkerPrototypeFunctionAddEventListener(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+{
+ UNUSED_PARAM(args);
+ if (!thisValue.isObject(&JSAbstractWorker::s_info))
+ return throwError(exec, TypeError);
+ JSAbstractWorker* castedThisObj = static_cast<JSAbstractWorker*>(asObject(thisValue));
+ return castedThisObj->addEventListener(exec, args);
+}
+
+JSValue JSC_HOST_CALL jsAbstractWorkerPrototypeFunctionRemoveEventListener(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+{
+ UNUSED_PARAM(args);
+ if (!thisValue.isObject(&JSAbstractWorker::s_info))
+ return throwError(exec, TypeError);
+ JSAbstractWorker* castedThisObj = static_cast<JSAbstractWorker*>(asObject(thisValue));
+ return castedThisObj->removeEventListener(exec, args);
+}
+
+JSValue JSC_HOST_CALL jsAbstractWorkerPrototypeFunctionDispatchEvent(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+{
+ UNUSED_PARAM(args);
+ if (!thisValue.isObject(&JSAbstractWorker::s_info))
+ return throwError(exec, TypeError);
+ JSAbstractWorker* castedThisObj = static_cast<JSAbstractWorker*>(asObject(thisValue));
+ AbstractWorker* imp = static_cast<AbstractWorker*>(castedThisObj->impl());
+ ExceptionCode ec = 0;
+ Event* evt = toEvent(args.at(0));
+
+
+ JSC::JSValue result = jsBoolean(imp->dispatchEvent(evt, ec));
+ setDOMException(exec, ec);
+ return result;
+}
+
+AbstractWorker* toAbstractWorker(JSC::JSValue value)
+{
+ return value.isObject(&JSAbstractWorker::s_info) ? static_cast<JSAbstractWorker*>(asObject(value))->impl() : 0;
+}
+
+}
+
+#endif // ENABLE(WORKERS)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSAbstractWorker.h b/src/3rdparty/webkit/WebCore/generated/JSAbstractWorker.h
new file mode 100644
index 0000000..a2c92a5
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/generated/JSAbstractWorker.h
@@ -0,0 +1,96 @@
+/*
+ This file is part of the WebKit open source project.
+ This file has been generated by generate-bindings.pl. DO NOT MODIFY!
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef JSAbstractWorker_h
+#define JSAbstractWorker_h
+
+#if ENABLE(WORKERS)
+
+#include "DOMObjectWithSVGContext.h"
+#include "JSDOMBinding.h"
+#include <runtime/JSGlobalObject.h>
+#include <runtime/ObjectPrototype.h>
+
+namespace WebCore {
+
+class AbstractWorker;
+
+class JSAbstractWorker : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
+public:
+ JSAbstractWorker(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<AbstractWorker>);
+ virtual ~JSAbstractWorker();
+ static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
+ virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
+ virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
+ virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
+ static const JSC::ClassInfo s_info;
+
+ static PassRefPtr<JSC::Structure> createStructure(JSC::JSValue prototype)
+ {
+ return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
+ }
+
+ virtual void mark();
+
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
+
+ // Custom functions
+ JSC::JSValue addEventListener(JSC::ExecState*, const JSC::ArgList&);
+ JSC::JSValue removeEventListener(JSC::ExecState*, const JSC::ArgList&);
+ AbstractWorker* impl() const { return m_impl.get(); }
+
+private:
+ RefPtr<AbstractWorker> m_impl;
+};
+
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, AbstractWorker*);
+AbstractWorker* toAbstractWorker(JSC::JSValue);
+
+class JSAbstractWorkerPrototype : public JSC::JSObject {
+ typedef JSC::JSObject Base;
+public:
+ static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*);
+ virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
+ static const JSC::ClassInfo s_info;
+ virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier&, JSC::PropertySlot&);
+ static PassRefPtr<JSC::Structure> createStructure(JSC::JSValue prototype)
+ {
+ return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
+ }
+ JSAbstractWorkerPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { }
+};
+
+// Functions
+
+JSC::JSValue JSC_HOST_CALL jsAbstractWorkerPrototypeFunctionAddEventListener(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
+JSC::JSValue JSC_HOST_CALL jsAbstractWorkerPrototypeFunctionRemoveEventListener(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
+JSC::JSValue JSC_HOST_CALL jsAbstractWorkerPrototypeFunctionDispatchEvent(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
+// Attributes
+
+JSC::JSValue jsAbstractWorkerOnerror(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
+void setJSAbstractWorkerOnerror(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
+JSC::JSValue jsAbstractWorkerConstructor(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
+
+} // namespace WebCore
+
+#endif // ENABLE(WORKERS)
+
+#endif
diff --git a/src/3rdparty/webkit/WebCore/generated/JSAttr.cpp b/src/3rdparty/webkit/WebCore/generated/JSAttr.cpp
index bf9bea5..c4f5639 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSAttr.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSAttr.cpp
@@ -49,7 +49,7 @@ static const HashTableValue JSAttrTableValues[7] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSAttrTable =
+static JSC_CONST_HASHTABLE HashTable JSAttrTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 127, JSAttrTableValues, 0 };
#else
@@ -63,19 +63,19 @@ static const HashTableValue JSAttrConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSAttrConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSAttrConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSAttrConstructorTableValues, 0 };
#else
{ 1, 0, JSAttrConstructorTableValues, 0 };
#endif
-class JSAttrConstructor : public DOMObject {
+class JSAttrConstructor : public DOMConstructorObject {
public:
- JSAttrConstructor(ExecState* exec)
- : DOMObject(JSAttrConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSAttrConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSAttrConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSAttrPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSAttrPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -101,7 +101,7 @@ static const HashTableValue JSAttrPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSAttrPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSAttrPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSAttrPrototypeTableValues, 0 };
#else
@@ -117,8 +117,8 @@ JSObject* JSAttrPrototype::self(ExecState* exec, JSGlobalObject* globalObject)
const ClassInfo JSAttr::s_info = { "Attr", &JSNode::s_info, &JSAttrTable, 0 };
-JSAttr::JSAttr(PassRefPtr<Structure> structure, PassRefPtr<Attr> impl)
- : JSNode(structure, impl)
+JSAttr::JSAttr(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<Attr> impl)
+ : JSNode(structure, globalObject, impl)
{
}
@@ -134,42 +134,48 @@ bool JSAttr::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName,
JSValue jsAttrName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSAttr* castedThis = static_cast<JSAttr*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Attr* imp = static_cast<Attr*>(static_cast<JSAttr*>(asObject(slot.slotBase()))->impl());
+ Attr* imp = static_cast<Attr*>(castedThis->impl());
return jsStringOrNull(exec, imp->name());
}
JSValue jsAttrSpecified(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSAttr* castedThis = static_cast<JSAttr*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Attr* imp = static_cast<Attr*>(static_cast<JSAttr*>(asObject(slot.slotBase()))->impl());
+ Attr* imp = static_cast<Attr*>(castedThis->impl());
return jsBoolean(imp->specified());
}
JSValue jsAttrValue(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSAttr* castedThis = static_cast<JSAttr*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Attr* imp = static_cast<Attr*>(static_cast<JSAttr*>(asObject(slot.slotBase()))->impl());
+ Attr* imp = static_cast<Attr*>(castedThis->impl());
return jsStringOrNull(exec, imp->value());
}
JSValue jsAttrOwnerElement(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSAttr* castedThis = static_cast<JSAttr*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Attr* imp = static_cast<Attr*>(static_cast<JSAttr*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->ownerElement()));
+ Attr* imp = static_cast<Attr*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->ownerElement()));
}
JSValue jsAttrStyle(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSAttr* castedThis = static_cast<JSAttr*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Attr* imp = static_cast<Attr*>(static_cast<JSAttr*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->style()));
+ Attr* imp = static_cast<Attr*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->style()));
}
JSValue jsAttrConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSAttr*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSAttr* domObject = static_cast<JSAttr*>(asObject(slot.slotBase()));
+ return JSAttr::getConstructor(exec, domObject->globalObject());
}
void JSAttr::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -181,9 +187,9 @@ void setJSAttrValue(ExecState* exec, JSObject* thisObject, JSValue value)
static_cast<JSAttr*>(thisObject)->setValue(exec, value);
}
-JSValue JSAttr::getConstructor(ExecState* exec)
+JSValue JSAttr::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSAttrConstructor>(exec);
+ return getDOMConstructor<JSAttrConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
Attr* toAttr(JSC::JSValue value)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSAttr.h b/src/3rdparty/webkit/WebCore/generated/JSAttr.h
index 4d13aa8..a3b2165 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSAttr.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSAttr.h
@@ -31,7 +31,7 @@ class Attr;
class JSAttr : public JSNode {
typedef JSNode Base;
public:
- JSAttr(PassRefPtr<JSC::Structure>, PassRefPtr<Attr>);
+ JSAttr(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<Attr>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -43,7 +43,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
// Custom attributes
void setValue(JSC::ExecState*, JSC::JSValue);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSBarInfo.cpp b/src/3rdparty/webkit/WebCore/generated/JSBarInfo.cpp
index 25aede5..c799f7f 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSBarInfo.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSBarInfo.cpp
@@ -38,7 +38,7 @@ static const HashTableValue JSBarInfoTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSBarInfoTable =
+static JSC_CONST_HASHTABLE HashTable JSBarInfoTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSBarInfoTableValues, 0 };
#else
@@ -52,7 +52,7 @@ static const HashTableValue JSBarInfoPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSBarInfoPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSBarInfoPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSBarInfoPrototypeTableValues, 0 };
#else
@@ -68,8 +68,8 @@ JSObject* JSBarInfoPrototype::self(ExecState* exec, JSGlobalObject* globalObject
const ClassInfo JSBarInfo::s_info = { "BarInfo", 0, &JSBarInfoTable, 0 };
-JSBarInfo::JSBarInfo(PassRefPtr<Structure> structure, PassRefPtr<BarInfo> impl)
- : DOMObject(structure)
+JSBarInfo::JSBarInfo(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<BarInfo> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -91,14 +91,15 @@ bool JSBarInfo::getOwnPropertySlot(ExecState* exec, const Identifier& propertyNa
JSValue jsBarInfoVisible(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSBarInfo* castedThis = static_cast<JSBarInfo*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- BarInfo* imp = static_cast<BarInfo*>(static_cast<JSBarInfo*>(asObject(slot.slotBase()))->impl());
+ BarInfo* imp = static_cast<BarInfo*>(castedThis->impl());
return jsBoolean(imp->visible());
}
-JSC::JSValue toJS(JSC::ExecState* exec, BarInfo* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, BarInfo* object)
{
- return getDOMObjectWrapper<JSBarInfo>(exec, object);
+ return getDOMObjectWrapper<JSBarInfo>(exec, globalObject, object);
}
BarInfo* toBarInfo(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSBarInfo.h b/src/3rdparty/webkit/WebCore/generated/JSBarInfo.h
index c27d6c1..5698443 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSBarInfo.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSBarInfo.h
@@ -21,6 +21,7 @@
#ifndef JSBarInfo_h
#define JSBarInfo_h
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -29,10 +30,10 @@ namespace WebCore {
class BarInfo;
-class JSBarInfo : public DOMObject {
- typedef DOMObject Base;
+class JSBarInfo : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSBarInfo(PassRefPtr<JSC::Structure>, PassRefPtr<BarInfo>);
+ JSBarInfo(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<BarInfo>);
virtual ~JSBarInfo();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -50,7 +51,7 @@ private:
RefPtr<BarInfo> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, BarInfo*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, BarInfo*);
BarInfo* toBarInfo(JSC::JSValue);
class JSBarInfoPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSCDATASection.cpp b/src/3rdparty/webkit/WebCore/generated/JSCDATASection.cpp
index f89540d..f3ef364 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSCDATASection.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSCDATASection.cpp
@@ -38,7 +38,7 @@ static const HashTableValue JSCDATASectionTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCDATASectionTable =
+static JSC_CONST_HASHTABLE HashTable JSCDATASectionTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSCDATASectionTableValues, 0 };
#else
@@ -52,19 +52,19 @@ static const HashTableValue JSCDATASectionConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCDATASectionConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSCDATASectionConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSCDATASectionConstructorTableValues, 0 };
#else
{ 1, 0, JSCDATASectionConstructorTableValues, 0 };
#endif
-class JSCDATASectionConstructor : public DOMObject {
+class JSCDATASectionConstructor : public DOMConstructorObject {
public:
- JSCDATASectionConstructor(ExecState* exec)
- : DOMObject(JSCDATASectionConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSCDATASectionConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSCDATASectionConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSCDATASectionPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSCDATASectionPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -90,7 +90,7 @@ static const HashTableValue JSCDATASectionPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCDATASectionPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSCDATASectionPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSCDATASectionPrototypeTableValues, 0 };
#else
@@ -106,8 +106,8 @@ JSObject* JSCDATASectionPrototype::self(ExecState* exec, JSGlobalObject* globalO
const ClassInfo JSCDATASection::s_info = { "CDATASection", &JSText::s_info, &JSCDATASectionTable, 0 };
-JSCDATASection::JSCDATASection(PassRefPtr<Structure> structure, PassRefPtr<CDATASection> impl)
- : JSText(structure, impl)
+JSCDATASection::JSCDATASection(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<CDATASection> impl)
+ : JSText(structure, globalObject, impl)
{
}
@@ -123,11 +123,12 @@ bool JSCDATASection::getOwnPropertySlot(ExecState* exec, const Identifier& prope
JSValue jsCDATASectionConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSCDATASection*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSCDATASection* domObject = static_cast<JSCDATASection*>(asObject(slot.slotBase()));
+ return JSCDATASection::getConstructor(exec, domObject->globalObject());
}
-JSValue JSCDATASection::getConstructor(ExecState* exec)
+JSValue JSCDATASection::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSCDATASectionConstructor>(exec);
+ return getDOMConstructor<JSCDATASectionConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSCDATASection.h b/src/3rdparty/webkit/WebCore/generated/JSCDATASection.h
index 724ca0b..b45da05 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSCDATASection.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSCDATASection.h
@@ -30,7 +30,7 @@ class CDATASection;
class JSCDATASection : public JSText {
typedef JSText Base;
public:
- JSCDATASection(PassRefPtr<JSC::Structure>, PassRefPtr<CDATASection>);
+ JSCDATASection(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<CDATASection>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
@@ -41,10 +41,10 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
-JSC::JSValue toJSNewlyCreated(JSC::ExecState*, CDATASection*);
+JSC::JSValue toJSNewlyCreated(JSC::ExecState*, JSDOMGlobalObject*, CDATASection*);
class JSCDATASectionPrototype : public JSC::JSObject {
typedef JSC::JSObject Base;
diff --git a/src/3rdparty/webkit/WebCore/generated/JSCSSCharsetRule.cpp b/src/3rdparty/webkit/WebCore/generated/JSCSSCharsetRule.cpp
index 15cabbf..f0a2203 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSCSSCharsetRule.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSCSSCharsetRule.cpp
@@ -40,7 +40,7 @@ static const HashTableValue JSCSSCharsetRuleTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCSSCharsetRuleTable =
+static JSC_CONST_HASHTABLE HashTable JSCSSCharsetRuleTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 3, JSCSSCharsetRuleTableValues, 0 };
#else
@@ -54,19 +54,19 @@ static const HashTableValue JSCSSCharsetRuleConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCSSCharsetRuleConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSCSSCharsetRuleConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSCSSCharsetRuleConstructorTableValues, 0 };
#else
{ 1, 0, JSCSSCharsetRuleConstructorTableValues, 0 };
#endif
-class JSCSSCharsetRuleConstructor : public DOMObject {
+class JSCSSCharsetRuleConstructor : public DOMConstructorObject {
public:
- JSCSSCharsetRuleConstructor(ExecState* exec)
- : DOMObject(JSCSSCharsetRuleConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSCSSCharsetRuleConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSCSSCharsetRuleConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSCSSCharsetRulePrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSCSSCharsetRulePrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -92,7 +92,7 @@ static const HashTableValue JSCSSCharsetRulePrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCSSCharsetRulePrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSCSSCharsetRulePrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSCSSCharsetRulePrototypeTableValues, 0 };
#else
@@ -108,8 +108,8 @@ JSObject* JSCSSCharsetRulePrototype::self(ExecState* exec, JSGlobalObject* globa
const ClassInfo JSCSSCharsetRule::s_info = { "CSSCharsetRule", &JSCSSRule::s_info, &JSCSSCharsetRuleTable, 0 };
-JSCSSCharsetRule::JSCSSCharsetRule(PassRefPtr<Structure> structure, PassRefPtr<CSSCharsetRule> impl)
- : JSCSSRule(structure, impl)
+JSCSSCharsetRule::JSCSSCharsetRule(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<CSSCharsetRule> impl)
+ : JSCSSRule(structure, globalObject, impl)
{
}
@@ -125,14 +125,16 @@ bool JSCSSCharsetRule::getOwnPropertySlot(ExecState* exec, const Identifier& pro
JSValue jsCSSCharsetRuleEncoding(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSCSSCharsetRule* castedThis = static_cast<JSCSSCharsetRule*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- CSSCharsetRule* imp = static_cast<CSSCharsetRule*>(static_cast<JSCSSCharsetRule*>(asObject(slot.slotBase()))->impl());
+ CSSCharsetRule* imp = static_cast<CSSCharsetRule*>(castedThis->impl());
return jsStringOrNull(exec, imp->encoding());
}
JSValue jsCSSCharsetRuleConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSCSSCharsetRule*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSCSSCharsetRule* domObject = static_cast<JSCSSCharsetRule*>(asObject(slot.slotBase()));
+ return JSCSSCharsetRule::getConstructor(exec, domObject->globalObject());
}
void JSCSSCharsetRule::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -147,9 +149,9 @@ void setJSCSSCharsetRuleEncoding(ExecState* exec, JSObject* thisObject, JSValue
setDOMException(exec, ec);
}
-JSValue JSCSSCharsetRule::getConstructor(ExecState* exec)
+JSValue JSCSSCharsetRule::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSCSSCharsetRuleConstructor>(exec);
+ return getDOMConstructor<JSCSSCharsetRuleConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSCSSCharsetRule.h b/src/3rdparty/webkit/WebCore/generated/JSCSSCharsetRule.h
index 54c3be3..d7e303c 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSCSSCharsetRule.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSCSSCharsetRule.h
@@ -30,7 +30,7 @@ class CSSCharsetRule;
class JSCSSCharsetRule : public JSCSSRule {
typedef JSCSSRule Base;
public:
- JSCSSCharsetRule(PassRefPtr<JSC::Structure>, PassRefPtr<CSSCharsetRule>);
+ JSCSSCharsetRule(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<CSSCharsetRule>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -42,7 +42,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSCSSFontFaceRule.cpp b/src/3rdparty/webkit/WebCore/generated/JSCSSFontFaceRule.cpp
index ab3b3a5..b8a1735 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSCSSFontFaceRule.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSCSSFontFaceRule.cpp
@@ -42,7 +42,7 @@ static const HashTableValue JSCSSFontFaceRuleTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCSSFontFaceRuleTable =
+static JSC_CONST_HASHTABLE HashTable JSCSSFontFaceRuleTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 1, JSCSSFontFaceRuleTableValues, 0 };
#else
@@ -56,19 +56,19 @@ static const HashTableValue JSCSSFontFaceRuleConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCSSFontFaceRuleConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSCSSFontFaceRuleConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSCSSFontFaceRuleConstructorTableValues, 0 };
#else
{ 1, 0, JSCSSFontFaceRuleConstructorTableValues, 0 };
#endif
-class JSCSSFontFaceRuleConstructor : public DOMObject {
+class JSCSSFontFaceRuleConstructor : public DOMConstructorObject {
public:
- JSCSSFontFaceRuleConstructor(ExecState* exec)
- : DOMObject(JSCSSFontFaceRuleConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSCSSFontFaceRuleConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSCSSFontFaceRuleConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSCSSFontFaceRulePrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSCSSFontFaceRulePrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -94,7 +94,7 @@ static const HashTableValue JSCSSFontFaceRulePrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCSSFontFaceRulePrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSCSSFontFaceRulePrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSCSSFontFaceRulePrototypeTableValues, 0 };
#else
@@ -110,8 +110,8 @@ JSObject* JSCSSFontFaceRulePrototype::self(ExecState* exec, JSGlobalObject* glob
const ClassInfo JSCSSFontFaceRule::s_info = { "CSSFontFaceRule", &JSCSSRule::s_info, &JSCSSFontFaceRuleTable, 0 };
-JSCSSFontFaceRule::JSCSSFontFaceRule(PassRefPtr<Structure> structure, PassRefPtr<CSSFontFaceRule> impl)
- : JSCSSRule(structure, impl)
+JSCSSFontFaceRule::JSCSSFontFaceRule(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<CSSFontFaceRule> impl)
+ : JSCSSRule(structure, globalObject, impl)
{
}
@@ -127,18 +127,20 @@ bool JSCSSFontFaceRule::getOwnPropertySlot(ExecState* exec, const Identifier& pr
JSValue jsCSSFontFaceRuleStyle(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSCSSFontFaceRule* castedThis = static_cast<JSCSSFontFaceRule*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- CSSFontFaceRule* imp = static_cast<CSSFontFaceRule*>(static_cast<JSCSSFontFaceRule*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->style()));
+ CSSFontFaceRule* imp = static_cast<CSSFontFaceRule*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->style()));
}
JSValue jsCSSFontFaceRuleConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSCSSFontFaceRule*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSCSSFontFaceRule* domObject = static_cast<JSCSSFontFaceRule*>(asObject(slot.slotBase()));
+ return JSCSSFontFaceRule::getConstructor(exec, domObject->globalObject());
}
-JSValue JSCSSFontFaceRule::getConstructor(ExecState* exec)
+JSValue JSCSSFontFaceRule::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSCSSFontFaceRuleConstructor>(exec);
+ return getDOMConstructor<JSCSSFontFaceRuleConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSCSSFontFaceRule.h b/src/3rdparty/webkit/WebCore/generated/JSCSSFontFaceRule.h
index a2acf4c..26ced76 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSCSSFontFaceRule.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSCSSFontFaceRule.h
@@ -30,7 +30,7 @@ class CSSFontFaceRule;
class JSCSSFontFaceRule : public JSCSSRule {
typedef JSCSSRule Base;
public:
- JSCSSFontFaceRule(PassRefPtr<JSC::Structure>, PassRefPtr<CSSFontFaceRule>);
+ JSCSSFontFaceRule(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<CSSFontFaceRule>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
@@ -41,7 +41,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSCSSImportRule.cpp b/src/3rdparty/webkit/WebCore/generated/JSCSSImportRule.cpp
index 4dc5151..874eab3 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSCSSImportRule.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSCSSImportRule.cpp
@@ -46,7 +46,7 @@ static const HashTableValue JSCSSImportRuleTableValues[5] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCSSImportRuleTable =
+static JSC_CONST_HASHTABLE HashTable JSCSSImportRuleTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 7, JSCSSImportRuleTableValues, 0 };
#else
@@ -60,19 +60,19 @@ static const HashTableValue JSCSSImportRuleConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCSSImportRuleConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSCSSImportRuleConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSCSSImportRuleConstructorTableValues, 0 };
#else
{ 1, 0, JSCSSImportRuleConstructorTableValues, 0 };
#endif
-class JSCSSImportRuleConstructor : public DOMObject {
+class JSCSSImportRuleConstructor : public DOMConstructorObject {
public:
- JSCSSImportRuleConstructor(ExecState* exec)
- : DOMObject(JSCSSImportRuleConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSCSSImportRuleConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSCSSImportRuleConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSCSSImportRulePrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSCSSImportRulePrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -98,7 +98,7 @@ static const HashTableValue JSCSSImportRulePrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCSSImportRulePrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSCSSImportRulePrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSCSSImportRulePrototypeTableValues, 0 };
#else
@@ -114,8 +114,8 @@ JSObject* JSCSSImportRulePrototype::self(ExecState* exec, JSGlobalObject* global
const ClassInfo JSCSSImportRule::s_info = { "CSSImportRule", &JSCSSRule::s_info, &JSCSSImportRuleTable, 0 };
-JSCSSImportRule::JSCSSImportRule(PassRefPtr<Structure> structure, PassRefPtr<CSSImportRule> impl)
- : JSCSSRule(structure, impl)
+JSCSSImportRule::JSCSSImportRule(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<CSSImportRule> impl)
+ : JSCSSRule(structure, globalObject, impl)
{
}
@@ -131,32 +131,36 @@ bool JSCSSImportRule::getOwnPropertySlot(ExecState* exec, const Identifier& prop
JSValue jsCSSImportRuleHref(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSCSSImportRule* castedThis = static_cast<JSCSSImportRule*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- CSSImportRule* imp = static_cast<CSSImportRule*>(static_cast<JSCSSImportRule*>(asObject(slot.slotBase()))->impl());
+ CSSImportRule* imp = static_cast<CSSImportRule*>(castedThis->impl());
return jsStringOrNull(exec, imp->href());
}
JSValue jsCSSImportRuleMedia(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSCSSImportRule* castedThis = static_cast<JSCSSImportRule*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- CSSImportRule* imp = static_cast<CSSImportRule*>(static_cast<JSCSSImportRule*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->media()));
+ CSSImportRule* imp = static_cast<CSSImportRule*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->media()));
}
JSValue jsCSSImportRuleStyleSheet(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSCSSImportRule* castedThis = static_cast<JSCSSImportRule*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- CSSImportRule* imp = static_cast<CSSImportRule*>(static_cast<JSCSSImportRule*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->styleSheet()));
+ CSSImportRule* imp = static_cast<CSSImportRule*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->styleSheet()));
}
JSValue jsCSSImportRuleConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSCSSImportRule*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSCSSImportRule* domObject = static_cast<JSCSSImportRule*>(asObject(slot.slotBase()));
+ return JSCSSImportRule::getConstructor(exec, domObject->globalObject());
}
-JSValue JSCSSImportRule::getConstructor(ExecState* exec)
+JSValue JSCSSImportRule::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSCSSImportRuleConstructor>(exec);
+ return getDOMConstructor<JSCSSImportRuleConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSCSSImportRule.h b/src/3rdparty/webkit/WebCore/generated/JSCSSImportRule.h
index 14bae40..a90a44a 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSCSSImportRule.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSCSSImportRule.h
@@ -30,7 +30,7 @@ class CSSImportRule;
class JSCSSImportRule : public JSCSSRule {
typedef JSCSSRule Base;
public:
- JSCSSImportRule(PassRefPtr<JSC::Structure>, PassRefPtr<CSSImportRule>);
+ JSCSSImportRule(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<CSSImportRule>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
@@ -41,7 +41,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSCSSMediaRule.cpp b/src/3rdparty/webkit/WebCore/generated/JSCSSMediaRule.cpp
index 35589af..1b82aa6 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSCSSMediaRule.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSCSSMediaRule.cpp
@@ -46,7 +46,7 @@ static const HashTableValue JSCSSMediaRuleTableValues[4] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCSSMediaRuleTable =
+static JSC_CONST_HASHTABLE HashTable JSCSSMediaRuleTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 7, JSCSSMediaRuleTableValues, 0 };
#else
@@ -60,19 +60,19 @@ static const HashTableValue JSCSSMediaRuleConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCSSMediaRuleConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSCSSMediaRuleConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSCSSMediaRuleConstructorTableValues, 0 };
#else
{ 1, 0, JSCSSMediaRuleConstructorTableValues, 0 };
#endif
-class JSCSSMediaRuleConstructor : public DOMObject {
+class JSCSSMediaRuleConstructor : public DOMConstructorObject {
public:
- JSCSSMediaRuleConstructor(ExecState* exec)
- : DOMObject(JSCSSMediaRuleConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSCSSMediaRuleConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSCSSMediaRuleConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSCSSMediaRulePrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSCSSMediaRulePrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -100,7 +100,7 @@ static const HashTableValue JSCSSMediaRulePrototypeTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCSSMediaRulePrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSCSSMediaRulePrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 1, JSCSSMediaRulePrototypeTableValues, 0 };
#else
@@ -121,8 +121,8 @@ bool JSCSSMediaRulePrototype::getOwnPropertySlot(ExecState* exec, const Identifi
const ClassInfo JSCSSMediaRule::s_info = { "CSSMediaRule", &JSCSSRule::s_info, &JSCSSMediaRuleTable, 0 };
-JSCSSMediaRule::JSCSSMediaRule(PassRefPtr<Structure> structure, PassRefPtr<CSSMediaRule> impl)
- : JSCSSRule(structure, impl)
+JSCSSMediaRule::JSCSSMediaRule(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<CSSMediaRule> impl)
+ : JSCSSRule(structure, globalObject, impl)
{
}
@@ -138,25 +138,28 @@ bool JSCSSMediaRule::getOwnPropertySlot(ExecState* exec, const Identifier& prope
JSValue jsCSSMediaRuleMedia(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSCSSMediaRule* castedThis = static_cast<JSCSSMediaRule*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- CSSMediaRule* imp = static_cast<CSSMediaRule*>(static_cast<JSCSSMediaRule*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->media()));
+ CSSMediaRule* imp = static_cast<CSSMediaRule*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->media()));
}
JSValue jsCSSMediaRuleCssRules(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSCSSMediaRule* castedThis = static_cast<JSCSSMediaRule*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- CSSMediaRule* imp = static_cast<CSSMediaRule*>(static_cast<JSCSSMediaRule*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->cssRules()));
+ CSSMediaRule* imp = static_cast<CSSMediaRule*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->cssRules()));
}
JSValue jsCSSMediaRuleConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSCSSMediaRule*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSCSSMediaRule* domObject = static_cast<JSCSSMediaRule*>(asObject(slot.slotBase()));
+ return JSCSSMediaRule::getConstructor(exec, domObject->globalObject());
}
-JSValue JSCSSMediaRule::getConstructor(ExecState* exec)
+JSValue JSCSSMediaRule::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSCSSMediaRuleConstructor>(exec);
+ return getDOMConstructor<JSCSSMediaRuleConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsCSSMediaRulePrototypeFunctionInsertRule(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSCSSMediaRule.h b/src/3rdparty/webkit/WebCore/generated/JSCSSMediaRule.h
index bccda5d..51f3d6a 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSCSSMediaRule.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSCSSMediaRule.h
@@ -30,7 +30,7 @@ class CSSMediaRule;
class JSCSSMediaRule : public JSCSSRule {
typedef JSCSSRule Base;
public:
- JSCSSMediaRule(PassRefPtr<JSC::Structure>, PassRefPtr<CSSMediaRule>);
+ JSCSSMediaRule(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<CSSMediaRule>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
@@ -41,7 +41,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSCSSPageRule.cpp b/src/3rdparty/webkit/WebCore/generated/JSCSSPageRule.cpp
index 6869a49..d9b3837 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSCSSPageRule.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSCSSPageRule.cpp
@@ -44,7 +44,7 @@ static const HashTableValue JSCSSPageRuleTableValues[4] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCSSPageRuleTable =
+static JSC_CONST_HASHTABLE HashTable JSCSSPageRuleTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 7, JSCSSPageRuleTableValues, 0 };
#else
@@ -58,19 +58,19 @@ static const HashTableValue JSCSSPageRuleConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCSSPageRuleConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSCSSPageRuleConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSCSSPageRuleConstructorTableValues, 0 };
#else
{ 1, 0, JSCSSPageRuleConstructorTableValues, 0 };
#endif
-class JSCSSPageRuleConstructor : public DOMObject {
+class JSCSSPageRuleConstructor : public DOMConstructorObject {
public:
- JSCSSPageRuleConstructor(ExecState* exec)
- : DOMObject(JSCSSPageRuleConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSCSSPageRuleConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSCSSPageRuleConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSCSSPageRulePrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSCSSPageRulePrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -96,7 +96,7 @@ static const HashTableValue JSCSSPageRulePrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCSSPageRulePrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSCSSPageRulePrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSCSSPageRulePrototypeTableValues, 0 };
#else
@@ -112,8 +112,8 @@ JSObject* JSCSSPageRulePrototype::self(ExecState* exec, JSGlobalObject* globalOb
const ClassInfo JSCSSPageRule::s_info = { "CSSPageRule", &JSCSSRule::s_info, &JSCSSPageRuleTable, 0 };
-JSCSSPageRule::JSCSSPageRule(PassRefPtr<Structure> structure, PassRefPtr<CSSPageRule> impl)
- : JSCSSRule(structure, impl)
+JSCSSPageRule::JSCSSPageRule(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<CSSPageRule> impl)
+ : JSCSSRule(structure, globalObject, impl)
{
}
@@ -129,21 +129,24 @@ bool JSCSSPageRule::getOwnPropertySlot(ExecState* exec, const Identifier& proper
JSValue jsCSSPageRuleSelectorText(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSCSSPageRule* castedThis = static_cast<JSCSSPageRule*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- CSSPageRule* imp = static_cast<CSSPageRule*>(static_cast<JSCSSPageRule*>(asObject(slot.slotBase()))->impl());
+ CSSPageRule* imp = static_cast<CSSPageRule*>(castedThis->impl());
return jsStringOrNull(exec, imp->selectorText());
}
JSValue jsCSSPageRuleStyle(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSCSSPageRule* castedThis = static_cast<JSCSSPageRule*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- CSSPageRule* imp = static_cast<CSSPageRule*>(static_cast<JSCSSPageRule*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->style()));
+ CSSPageRule* imp = static_cast<CSSPageRule*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->style()));
}
JSValue jsCSSPageRuleConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSCSSPageRule*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSCSSPageRule* domObject = static_cast<JSCSSPageRule*>(asObject(slot.slotBase()));
+ return JSCSSPageRule::getConstructor(exec, domObject->globalObject());
}
void JSCSSPageRule::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -158,9 +161,9 @@ void setJSCSSPageRuleSelectorText(ExecState* exec, JSObject* thisObject, JSValue
setDOMException(exec, ec);
}
-JSValue JSCSSPageRule::getConstructor(ExecState* exec)
+JSValue JSCSSPageRule::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSCSSPageRuleConstructor>(exec);
+ return getDOMConstructor<JSCSSPageRuleConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSCSSPageRule.h b/src/3rdparty/webkit/WebCore/generated/JSCSSPageRule.h
index a815990..88050f1 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSCSSPageRule.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSCSSPageRule.h
@@ -30,7 +30,7 @@ class CSSPageRule;
class JSCSSPageRule : public JSCSSRule {
typedef JSCSSRule Base;
public:
- JSCSSPageRule(PassRefPtr<JSC::Structure>, PassRefPtr<CSSPageRule>);
+ JSCSSPageRule(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<CSSPageRule>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -42,7 +42,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSCSSPrimitiveValue.cpp b/src/3rdparty/webkit/WebCore/generated/JSCSSPrimitiveValue.cpp
index 61a39ec..58c9487 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSCSSPrimitiveValue.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSCSSPrimitiveValue.cpp
@@ -27,6 +27,7 @@
#include "JSRGBColor.h"
#include "JSRect.h"
#include "KURL.h"
+#include "RGBColor.h"
#include "Rect.h"
#include <runtime/Error.h>
#include <runtime/JSNumberCell.h>
@@ -48,7 +49,7 @@ static const HashTableValue JSCSSPrimitiveValueTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCSSPrimitiveValueTable =
+static JSC_CONST_HASHTABLE HashTable JSCSSPrimitiveValueTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 1, JSCSSPrimitiveValueTableValues, 0 };
#else
@@ -88,19 +89,19 @@ static const HashTableValue JSCSSPrimitiveValueConstructorTableValues[27] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCSSPrimitiveValueConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSCSSPrimitiveValueConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 8191, JSCSSPrimitiveValueConstructorTableValues, 0 };
#else
{ 69, 63, JSCSSPrimitiveValueConstructorTableValues, 0 };
#endif
-class JSCSSPrimitiveValueConstructor : public DOMObject {
+class JSCSSPrimitiveValueConstructor : public DOMConstructorObject {
public:
- JSCSSPrimitiveValueConstructor(ExecState* exec)
- : DOMObject(JSCSSPrimitiveValueConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSCSSPrimitiveValueConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSCSSPrimitiveValueConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSCSSPrimitiveValuePrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSCSSPrimitiveValuePrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -159,7 +160,7 @@ static const HashTableValue JSCSSPrimitiveValuePrototypeTableValues[34] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCSSPrimitiveValuePrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSCSSPrimitiveValuePrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 8191, JSCSSPrimitiveValuePrototypeTableValues, 0 };
#else
@@ -180,8 +181,8 @@ bool JSCSSPrimitiveValuePrototype::getOwnPropertySlot(ExecState* exec, const Ide
const ClassInfo JSCSSPrimitiveValue::s_info = { "CSSPrimitiveValue", &JSCSSValue::s_info, &JSCSSPrimitiveValueTable, 0 };
-JSCSSPrimitiveValue::JSCSSPrimitiveValue(PassRefPtr<Structure> structure, PassRefPtr<CSSPrimitiveValue> impl)
- : JSCSSValue(structure, impl)
+JSCSSPrimitiveValue::JSCSSPrimitiveValue(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<CSSPrimitiveValue> impl)
+ : JSCSSValue(structure, globalObject, impl)
{
}
@@ -197,18 +198,20 @@ bool JSCSSPrimitiveValue::getOwnPropertySlot(ExecState* exec, const Identifier&
JSValue jsCSSPrimitiveValuePrimitiveType(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSCSSPrimitiveValue* castedThis = static_cast<JSCSSPrimitiveValue*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- CSSPrimitiveValue* imp = static_cast<CSSPrimitiveValue*>(static_cast<JSCSSPrimitiveValue*>(asObject(slot.slotBase()))->impl());
+ CSSPrimitiveValue* imp = static_cast<CSSPrimitiveValue*>(castedThis->impl());
return jsNumber(exec, imp->primitiveType());
}
JSValue jsCSSPrimitiveValueConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSCSSPrimitiveValue*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSCSSPrimitiveValue* domObject = static_cast<JSCSSPrimitiveValue*>(asObject(slot.slotBase()));
+ return JSCSSPrimitiveValue::getConstructor(exec, domObject->globalObject());
}
-JSValue JSCSSPrimitiveValue::getConstructor(ExecState* exec)
+JSValue JSCSSPrimitiveValue::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSCSSPrimitiveValueConstructor>(exec);
+ return getDOMConstructor<JSCSSPrimitiveValueConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsCSSPrimitiveValuePrototypeFunctionSetFloatValue(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -284,7 +287,7 @@ JSValue JSC_HOST_CALL jsCSSPrimitiveValuePrototypeFunctionGetCounterValue(ExecSt
ExceptionCode ec = 0;
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getCounterValue(ec)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getCounterValue(ec)));
setDOMException(exec, ec);
return result;
}
@@ -299,7 +302,7 @@ JSValue JSC_HOST_CALL jsCSSPrimitiveValuePrototypeFunctionGetRectValue(ExecState
ExceptionCode ec = 0;
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getRectValue(ec)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getRectValue(ec)));
setDOMException(exec, ec);
return result;
}
@@ -314,7 +317,7 @@ JSValue JSC_HOST_CALL jsCSSPrimitiveValuePrototypeFunctionGetRGBColorValue(ExecS
ExceptionCode ec = 0;
- JSC::JSValue result = getJSRGBColor(exec, imp->getRGBColorValue(ec));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getRGBColorValue(ec)));
setDOMException(exec, ec);
return result;
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSCSSPrimitiveValue.h b/src/3rdparty/webkit/WebCore/generated/JSCSSPrimitiveValue.h
index 39416aa..c1c8acc 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSCSSPrimitiveValue.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSCSSPrimitiveValue.h
@@ -30,7 +30,7 @@ class CSSPrimitiveValue;
class JSCSSPrimitiveValue : public JSCSSValue {
typedef JSCSSValue Base;
public:
- JSCSSPrimitiveValue(PassRefPtr<JSC::Structure>, PassRefPtr<CSSPrimitiveValue>);
+ JSCSSPrimitiveValue(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<CSSPrimitiveValue>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
@@ -41,7 +41,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSCSSRule.cpp b/src/3rdparty/webkit/WebCore/generated/JSCSSRule.cpp
index 31a4dc3..ff28352 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSCSSRule.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSCSSRule.cpp
@@ -47,7 +47,7 @@ static const HashTableValue JSCSSRuleTableValues[6] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCSSRuleTable =
+static JSC_CONST_HASHTABLE HashTable JSCSSRuleTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 63, JSCSSRuleTableValues, 0 };
#else
@@ -71,19 +71,19 @@ static const HashTableValue JSCSSRuleConstructorTableValues[11] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCSSRuleConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSCSSRuleConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 1023, JSCSSRuleConstructorTableValues, 0 };
#else
{ 34, 31, JSCSSRuleConstructorTableValues, 0 };
#endif
-class JSCSSRuleConstructor : public DOMObject {
+class JSCSSRuleConstructor : public DOMConstructorObject {
public:
- JSCSSRuleConstructor(ExecState* exec)
- : DOMObject(JSCSSRuleConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSCSSRuleConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSCSSRuleConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSCSSRulePrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSCSSRulePrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -119,7 +119,7 @@ static const HashTableValue JSCSSRulePrototypeTableValues[11] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCSSRulePrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSCSSRulePrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 1023, JSCSSRulePrototypeTableValues, 0 };
#else
@@ -140,8 +140,8 @@ bool JSCSSRulePrototype::getOwnPropertySlot(ExecState* exec, const Identifier& p
const ClassInfo JSCSSRule::s_info = { "CSSRule", 0, &JSCSSRuleTable, 0 };
-JSCSSRule::JSCSSRule(PassRefPtr<Structure> structure, PassRefPtr<CSSRule> impl)
- : DOMObject(structure)
+JSCSSRule::JSCSSRule(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<CSSRule> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -163,35 +163,40 @@ bool JSCSSRule::getOwnPropertySlot(ExecState* exec, const Identifier& propertyNa
JSValue jsCSSRuleType(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSCSSRule* castedThis = static_cast<JSCSSRule*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- CSSRule* imp = static_cast<CSSRule*>(static_cast<JSCSSRule*>(asObject(slot.slotBase()))->impl());
+ CSSRule* imp = static_cast<CSSRule*>(castedThis->impl());
return jsNumber(exec, imp->type());
}
JSValue jsCSSRuleCssText(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSCSSRule* castedThis = static_cast<JSCSSRule*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- CSSRule* imp = static_cast<CSSRule*>(static_cast<JSCSSRule*>(asObject(slot.slotBase()))->impl());
+ CSSRule* imp = static_cast<CSSRule*>(castedThis->impl());
return jsStringOrNull(exec, imp->cssText());
}
JSValue jsCSSRuleParentStyleSheet(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSCSSRule* castedThis = static_cast<JSCSSRule*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- CSSRule* imp = static_cast<CSSRule*>(static_cast<JSCSSRule*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->parentStyleSheet()));
+ CSSRule* imp = static_cast<CSSRule*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->parentStyleSheet()));
}
JSValue jsCSSRuleParentRule(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSCSSRule* castedThis = static_cast<JSCSSRule*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- CSSRule* imp = static_cast<CSSRule*>(static_cast<JSCSSRule*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->parentRule()));
+ CSSRule* imp = static_cast<CSSRule*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->parentRule()));
}
JSValue jsCSSRuleConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSCSSRule*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSCSSRule* domObject = static_cast<JSCSSRule*>(asObject(slot.slotBase()));
+ return JSCSSRule::getConstructor(exec, domObject->globalObject());
}
void JSCSSRule::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -206,9 +211,9 @@ void setJSCSSRuleCssText(ExecState* exec, JSObject* thisObject, JSValue value)
setDOMException(exec, ec);
}
-JSValue JSCSSRule::getConstructor(ExecState* exec)
+JSValue JSCSSRule::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSCSSRuleConstructor>(exec);
+ return getDOMConstructor<JSCSSRuleConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
// Constant getters
diff --git a/src/3rdparty/webkit/WebCore/generated/JSCSSRule.h b/src/3rdparty/webkit/WebCore/generated/JSCSSRule.h
index 75bb902..c5a0c8d 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSCSSRule.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSCSSRule.h
@@ -21,6 +21,7 @@
#ifndef JSCSSRule_h
#define JSCSSRule_h
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -29,10 +30,10 @@ namespace WebCore {
class CSSRule;
-class JSCSSRule : public DOMObject {
- typedef DOMObject Base;
+class JSCSSRule : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSCSSRule(PassRefPtr<JSC::Structure>, PassRefPtr<CSSRule>);
+ JSCSSRule(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<CSSRule>);
virtual ~JSCSSRule();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -45,14 +46,14 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
CSSRule* impl() const { return m_impl.get(); }
private:
RefPtr<CSSRule> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, CSSRule*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, CSSRule*);
CSSRule* toCSSRule(JSC::JSValue);
class JSCSSRulePrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSCSSRuleList.cpp b/src/3rdparty/webkit/WebCore/generated/JSCSSRuleList.cpp
index 19e9d14..5717a53 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSCSSRuleList.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSCSSRuleList.cpp
@@ -44,7 +44,7 @@ static const HashTableValue JSCSSRuleListTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCSSRuleListTable =
+static JSC_CONST_HASHTABLE HashTable JSCSSRuleListTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSCSSRuleListTableValues, 0 };
#else
@@ -58,19 +58,19 @@ static const HashTableValue JSCSSRuleListConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCSSRuleListConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSCSSRuleListConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSCSSRuleListConstructorTableValues, 0 };
#else
{ 1, 0, JSCSSRuleListConstructorTableValues, 0 };
#endif
-class JSCSSRuleListConstructor : public DOMObject {
+class JSCSSRuleListConstructor : public DOMConstructorObject {
public:
- JSCSSRuleListConstructor(ExecState* exec)
- : DOMObject(JSCSSRuleListConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSCSSRuleListConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSCSSRuleListConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSCSSRuleListPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSCSSRuleListPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -97,7 +97,7 @@ static const HashTableValue JSCSSRuleListPrototypeTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCSSRuleListPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSCSSRuleListPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSCSSRuleListPrototypeTableValues, 0 };
#else
@@ -118,8 +118,8 @@ bool JSCSSRuleListPrototype::getOwnPropertySlot(ExecState* exec, const Identifie
const ClassInfo JSCSSRuleList::s_info = { "CSSRuleList", 0, &JSCSSRuleListTable, 0 };
-JSCSSRuleList::JSCSSRuleList(PassRefPtr<Structure> structure, PassRefPtr<CSSRuleList> impl)
- : DOMObject(structure)
+JSCSSRuleList::JSCSSRuleList(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<CSSRuleList> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -161,14 +161,16 @@ bool JSCSSRuleList::getOwnPropertySlot(ExecState* exec, unsigned propertyName, P
JSValue jsCSSRuleListLength(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSCSSRuleList* castedThis = static_cast<JSCSSRuleList*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- CSSRuleList* imp = static_cast<CSSRuleList*>(static_cast<JSCSSRuleList*>(asObject(slot.slotBase()))->impl());
+ CSSRuleList* imp = static_cast<CSSRuleList*>(castedThis->impl());
return jsNumber(exec, imp->length());
}
JSValue jsCSSRuleListConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSCSSRuleList*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSCSSRuleList* domObject = static_cast<JSCSSRuleList*>(asObject(slot.slotBase()));
+ return JSCSSRuleList::getConstructor(exec, domObject->globalObject());
}
void JSCSSRuleList::getPropertyNames(ExecState* exec, PropertyNameArray& propertyNames)
{
@@ -177,9 +179,9 @@ void JSCSSRuleList::getPropertyNames(ExecState* exec, PropertyNameArray& propert
Base::getPropertyNames(exec, propertyNames);
}
-JSValue JSCSSRuleList::getConstructor(ExecState* exec)
+JSValue JSCSSRuleList::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSCSSRuleListConstructor>(exec);
+ return getDOMConstructor<JSCSSRuleListConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsCSSRuleListPrototypeFunctionItem(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -192,7 +194,7 @@ JSValue JSC_HOST_CALL jsCSSRuleListPrototypeFunctionItem(ExecState* exec, JSObje
unsigned index = args.at(0).toInt32(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->item(index)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->item(index)));
return result;
}
@@ -200,11 +202,11 @@ JSValue JSC_HOST_CALL jsCSSRuleListPrototypeFunctionItem(ExecState* exec, JSObje
JSValue JSCSSRuleList::indexGetter(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
JSCSSRuleList* thisObj = static_cast<JSCSSRuleList*>(asObject(slot.slotBase()));
- return toJS(exec, static_cast<CSSRuleList*>(thisObj->impl())->item(slot.index()));
+ return toJS(exec, thisObj->globalObject(), static_cast<CSSRuleList*>(thisObj->impl())->item(slot.index()));
}
-JSC::JSValue toJS(JSC::ExecState* exec, CSSRuleList* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, CSSRuleList* object)
{
- return getDOMObjectWrapper<JSCSSRuleList>(exec, object);
+ return getDOMObjectWrapper<JSCSSRuleList>(exec, globalObject, object);
}
CSSRuleList* toCSSRuleList(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSCSSRuleList.h b/src/3rdparty/webkit/WebCore/generated/JSCSSRuleList.h
index ba3180c..fb400b2 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSCSSRuleList.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSCSSRuleList.h
@@ -21,6 +21,7 @@
#ifndef JSCSSRuleList_h
#define JSCSSRuleList_h
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -29,10 +30,10 @@ namespace WebCore {
class CSSRuleList;
-class JSCSSRuleList : public DOMObject {
- typedef DOMObject Base;
+class JSCSSRuleList : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSCSSRuleList(PassRefPtr<JSC::Structure>, PassRefPtr<CSSRuleList>);
+ JSCSSRuleList(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<CSSRuleList>);
virtual ~JSCSSRuleList();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -46,7 +47,7 @@ public:
}
virtual void getPropertyNames(JSC::ExecState*, JSC::PropertyNameArray&);
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
CSSRuleList* impl() const { return m_impl.get(); }
private:
@@ -54,7 +55,7 @@ private:
static JSC::JSValue indexGetter(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
};
-JSC::JSValue toJS(JSC::ExecState*, CSSRuleList*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, CSSRuleList*);
CSSRuleList* toCSSRuleList(JSC::JSValue);
class JSCSSRuleListPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSCSSStyleDeclaration.cpp b/src/3rdparty/webkit/WebCore/generated/JSCSSStyleDeclaration.cpp
index cf7ceed..87fc6e3 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSCSSStyleDeclaration.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSCSSStyleDeclaration.cpp
@@ -51,7 +51,7 @@ static const HashTableValue JSCSSStyleDeclarationTableValues[5] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCSSStyleDeclarationTable =
+static JSC_CONST_HASHTABLE HashTable JSCSSStyleDeclarationTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 63, JSCSSStyleDeclarationTableValues, 0 };
#else
@@ -65,19 +65,19 @@ static const HashTableValue JSCSSStyleDeclarationConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCSSStyleDeclarationConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSCSSStyleDeclarationConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSCSSStyleDeclarationConstructorTableValues, 0 };
#else
{ 1, 0, JSCSSStyleDeclarationConstructorTableValues, 0 };
#endif
-class JSCSSStyleDeclarationConstructor : public DOMObject {
+class JSCSSStyleDeclarationConstructor : public DOMConstructorObject {
public:
- JSCSSStyleDeclarationConstructor(ExecState* exec)
- : DOMObject(JSCSSStyleDeclarationConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSCSSStyleDeclarationConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSCSSStyleDeclarationConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSCSSStyleDeclarationPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSCSSStyleDeclarationPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -111,7 +111,7 @@ static const HashTableValue JSCSSStyleDeclarationPrototypeTableValues[9] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCSSStyleDeclarationPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSCSSStyleDeclarationPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 31, JSCSSStyleDeclarationPrototypeTableValues, 0 };
#else
@@ -132,8 +132,8 @@ bool JSCSSStyleDeclarationPrototype::getOwnPropertySlot(ExecState* exec, const I
const ClassInfo JSCSSStyleDeclaration::s_info = { "CSSStyleDeclaration", 0, &JSCSSStyleDeclarationTable, 0 };
-JSCSSStyleDeclaration::JSCSSStyleDeclaration(PassRefPtr<Structure> structure, PassRefPtr<CSSStyleDeclaration> impl)
- : DOMObject(structure)
+JSCSSStyleDeclaration::JSCSSStyleDeclaration(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<CSSStyleDeclaration> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -179,28 +179,32 @@ bool JSCSSStyleDeclaration::getOwnPropertySlot(ExecState* exec, unsigned propert
JSValue jsCSSStyleDeclarationCssText(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSCSSStyleDeclaration* castedThis = static_cast<JSCSSStyleDeclaration*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- CSSStyleDeclaration* imp = static_cast<CSSStyleDeclaration*>(static_cast<JSCSSStyleDeclaration*>(asObject(slot.slotBase()))->impl());
+ CSSStyleDeclaration* imp = static_cast<CSSStyleDeclaration*>(castedThis->impl());
return jsStringOrNull(exec, imp->cssText());
}
JSValue jsCSSStyleDeclarationLength(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSCSSStyleDeclaration* castedThis = static_cast<JSCSSStyleDeclaration*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- CSSStyleDeclaration* imp = static_cast<CSSStyleDeclaration*>(static_cast<JSCSSStyleDeclaration*>(asObject(slot.slotBase()))->impl());
+ CSSStyleDeclaration* imp = static_cast<CSSStyleDeclaration*>(castedThis->impl());
return jsNumber(exec, imp->length());
}
JSValue jsCSSStyleDeclarationParentRule(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSCSSStyleDeclaration* castedThis = static_cast<JSCSSStyleDeclaration*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- CSSStyleDeclaration* imp = static_cast<CSSStyleDeclaration*>(static_cast<JSCSSStyleDeclaration*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->parentRule()));
+ CSSStyleDeclaration* imp = static_cast<CSSStyleDeclaration*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->parentRule()));
}
JSValue jsCSSStyleDeclarationConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSCSSStyleDeclaration*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSCSSStyleDeclaration* domObject = static_cast<JSCSSStyleDeclaration*>(asObject(slot.slotBase()));
+ return JSCSSStyleDeclaration::getConstructor(exec, domObject->globalObject());
}
void JSCSSStyleDeclaration::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -224,9 +228,9 @@ void JSCSSStyleDeclaration::getPropertyNames(ExecState* exec, PropertyNameArray&
Base::getPropertyNames(exec, propertyNames);
}
-JSValue JSCSSStyleDeclaration::getConstructor(ExecState* exec)
+JSValue JSCSSStyleDeclaration::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSCSSStyleDeclarationConstructor>(exec);
+ return getDOMConstructor<JSCSSStyleDeclarationConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsCSSStyleDeclarationPrototypeFunctionGetPropertyValue(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -253,7 +257,7 @@ JSValue JSC_HOST_CALL jsCSSStyleDeclarationPrototypeFunctionGetPropertyCSSValue(
const UString& propertyName = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getPropertyCSSValue(propertyName)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getPropertyCSSValue(propertyName)));
return result;
}
@@ -352,9 +356,9 @@ JSValue JSCSSStyleDeclaration::indexGetter(ExecState* exec, const Identifier&, c
JSCSSStyleDeclaration* thisObj = static_cast<JSCSSStyleDeclaration*>(asObject(slot.slotBase()));
return jsStringOrNull(exec, thisObj->impl()->item(slot.index()));
}
-JSC::JSValue toJS(JSC::ExecState* exec, CSSStyleDeclaration* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, CSSStyleDeclaration* object)
{
- return getDOMObjectWrapper<JSCSSStyleDeclaration>(exec, object);
+ return getDOMObjectWrapper<JSCSSStyleDeclaration>(exec, globalObject, object);
}
CSSStyleDeclaration* toCSSStyleDeclaration(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSCSSStyleDeclaration.h b/src/3rdparty/webkit/WebCore/generated/JSCSSStyleDeclaration.h
index df64dde..075d438 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSCSSStyleDeclaration.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSCSSStyleDeclaration.h
@@ -21,6 +21,7 @@
#ifndef JSCSSStyleDeclaration_h
#define JSCSSStyleDeclaration_h
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -29,10 +30,10 @@ namespace WebCore {
class CSSStyleDeclaration;
-class JSCSSStyleDeclaration : public DOMObject {
- typedef DOMObject Base;
+class JSCSSStyleDeclaration : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSCSSStyleDeclaration(PassRefPtr<JSC::Structure>, PassRefPtr<CSSStyleDeclaration>);
+ JSCSSStyleDeclaration(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<CSSStyleDeclaration>);
virtual ~JSCSSStyleDeclaration();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -48,7 +49,7 @@ public:
}
virtual void getPropertyNames(JSC::ExecState*, JSC::PropertyNameArray&);
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
CSSStyleDeclaration* impl() const { return m_impl.get(); }
private:
@@ -59,7 +60,7 @@ private:
static JSC::JSValue nameGetter(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
};
-JSC::JSValue toJS(JSC::ExecState*, CSSStyleDeclaration*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, CSSStyleDeclaration*);
CSSStyleDeclaration* toCSSStyleDeclaration(JSC::JSValue);
class JSCSSStyleDeclarationPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSCSSStyleRule.cpp b/src/3rdparty/webkit/WebCore/generated/JSCSSStyleRule.cpp
index 1d92b22..4e07880 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSCSSStyleRule.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSCSSStyleRule.cpp
@@ -44,7 +44,7 @@ static const HashTableValue JSCSSStyleRuleTableValues[4] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCSSStyleRuleTable =
+static JSC_CONST_HASHTABLE HashTable JSCSSStyleRuleTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 7, JSCSSStyleRuleTableValues, 0 };
#else
@@ -58,19 +58,19 @@ static const HashTableValue JSCSSStyleRuleConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCSSStyleRuleConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSCSSStyleRuleConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSCSSStyleRuleConstructorTableValues, 0 };
#else
{ 1, 0, JSCSSStyleRuleConstructorTableValues, 0 };
#endif
-class JSCSSStyleRuleConstructor : public DOMObject {
+class JSCSSStyleRuleConstructor : public DOMConstructorObject {
public:
- JSCSSStyleRuleConstructor(ExecState* exec)
- : DOMObject(JSCSSStyleRuleConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSCSSStyleRuleConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSCSSStyleRuleConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSCSSStyleRulePrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSCSSStyleRulePrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -96,7 +96,7 @@ static const HashTableValue JSCSSStyleRulePrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCSSStyleRulePrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSCSSStyleRulePrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSCSSStyleRulePrototypeTableValues, 0 };
#else
@@ -112,8 +112,8 @@ JSObject* JSCSSStyleRulePrototype::self(ExecState* exec, JSGlobalObject* globalO
const ClassInfo JSCSSStyleRule::s_info = { "CSSStyleRule", &JSCSSRule::s_info, &JSCSSStyleRuleTable, 0 };
-JSCSSStyleRule::JSCSSStyleRule(PassRefPtr<Structure> structure, PassRefPtr<CSSStyleRule> impl)
- : JSCSSRule(structure, impl)
+JSCSSStyleRule::JSCSSStyleRule(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<CSSStyleRule> impl)
+ : JSCSSRule(structure, globalObject, impl)
{
}
@@ -129,21 +129,24 @@ bool JSCSSStyleRule::getOwnPropertySlot(ExecState* exec, const Identifier& prope
JSValue jsCSSStyleRuleSelectorText(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSCSSStyleRule* castedThis = static_cast<JSCSSStyleRule*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- CSSStyleRule* imp = static_cast<CSSStyleRule*>(static_cast<JSCSSStyleRule*>(asObject(slot.slotBase()))->impl());
+ CSSStyleRule* imp = static_cast<CSSStyleRule*>(castedThis->impl());
return jsStringOrNull(exec, imp->selectorText());
}
JSValue jsCSSStyleRuleStyle(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSCSSStyleRule* castedThis = static_cast<JSCSSStyleRule*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- CSSStyleRule* imp = static_cast<CSSStyleRule*>(static_cast<JSCSSStyleRule*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->style()));
+ CSSStyleRule* imp = static_cast<CSSStyleRule*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->style()));
}
JSValue jsCSSStyleRuleConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSCSSStyleRule*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSCSSStyleRule* domObject = static_cast<JSCSSStyleRule*>(asObject(slot.slotBase()));
+ return JSCSSStyleRule::getConstructor(exec, domObject->globalObject());
}
void JSCSSStyleRule::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -158,9 +161,9 @@ void setJSCSSStyleRuleSelectorText(ExecState* exec, JSObject* thisObject, JSValu
setDOMException(exec, ec);
}
-JSValue JSCSSStyleRule::getConstructor(ExecState* exec)
+JSValue JSCSSStyleRule::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSCSSStyleRuleConstructor>(exec);
+ return getDOMConstructor<JSCSSStyleRuleConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSCSSStyleRule.h b/src/3rdparty/webkit/WebCore/generated/JSCSSStyleRule.h
index 4f65c87..aaefdf3 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSCSSStyleRule.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSCSSStyleRule.h
@@ -30,7 +30,7 @@ class CSSStyleRule;
class JSCSSStyleRule : public JSCSSRule {
typedef JSCSSRule Base;
public:
- JSCSSStyleRule(PassRefPtr<JSC::Structure>, PassRefPtr<CSSStyleRule>);
+ JSCSSStyleRule(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<CSSStyleRule>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -42,7 +42,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSCSSStyleSheet.cpp b/src/3rdparty/webkit/WebCore/generated/JSCSSStyleSheet.cpp
index f697203..7e74594 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSCSSStyleSheet.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSCSSStyleSheet.cpp
@@ -47,7 +47,7 @@ static const HashTableValue JSCSSStyleSheetTableValues[5] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCSSStyleSheetTable =
+static JSC_CONST_HASHTABLE HashTable JSCSSStyleSheetTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 31, JSCSSStyleSheetTableValues, 0 };
#else
@@ -61,19 +61,19 @@ static const HashTableValue JSCSSStyleSheetConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCSSStyleSheetConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSCSSStyleSheetConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSCSSStyleSheetConstructorTableValues, 0 };
#else
{ 1, 0, JSCSSStyleSheetConstructorTableValues, 0 };
#endif
-class JSCSSStyleSheetConstructor : public DOMObject {
+class JSCSSStyleSheetConstructor : public DOMConstructorObject {
public:
- JSCSSStyleSheetConstructor(ExecState* exec)
- : DOMObject(JSCSSStyleSheetConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSCSSStyleSheetConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSCSSStyleSheetConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSCSSStyleSheetPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSCSSStyleSheetPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -103,7 +103,7 @@ static const HashTableValue JSCSSStyleSheetPrototypeTableValues[5] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCSSStyleSheetPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSCSSStyleSheetPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 7, JSCSSStyleSheetPrototypeTableValues, 0 };
#else
@@ -124,8 +124,8 @@ bool JSCSSStyleSheetPrototype::getOwnPropertySlot(ExecState* exec, const Identif
const ClassInfo JSCSSStyleSheet::s_info = { "CSSStyleSheet", &JSStyleSheet::s_info, &JSCSSStyleSheetTable, 0 };
-JSCSSStyleSheet::JSCSSStyleSheet(PassRefPtr<Structure> structure, PassRefPtr<CSSStyleSheet> impl)
- : JSStyleSheet(structure, impl)
+JSCSSStyleSheet::JSCSSStyleSheet(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<CSSStyleSheet> impl)
+ : JSStyleSheet(structure, globalObject, impl)
{
}
@@ -141,32 +141,36 @@ bool JSCSSStyleSheet::getOwnPropertySlot(ExecState* exec, const Identifier& prop
JSValue jsCSSStyleSheetOwnerRule(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSCSSStyleSheet* castedThis = static_cast<JSCSSStyleSheet*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- CSSStyleSheet* imp = static_cast<CSSStyleSheet*>(static_cast<JSCSSStyleSheet*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->ownerRule()));
+ CSSStyleSheet* imp = static_cast<CSSStyleSheet*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->ownerRule()));
}
JSValue jsCSSStyleSheetCssRules(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSCSSStyleSheet* castedThis = static_cast<JSCSSStyleSheet*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- CSSStyleSheet* imp = static_cast<CSSStyleSheet*>(static_cast<JSCSSStyleSheet*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->cssRules()));
+ CSSStyleSheet* imp = static_cast<CSSStyleSheet*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->cssRules()));
}
JSValue jsCSSStyleSheetRules(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSCSSStyleSheet* castedThis = static_cast<JSCSSStyleSheet*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- CSSStyleSheet* imp = static_cast<CSSStyleSheet*>(static_cast<JSCSSStyleSheet*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->rules()));
+ CSSStyleSheet* imp = static_cast<CSSStyleSheet*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->rules()));
}
JSValue jsCSSStyleSheetConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSCSSStyleSheet*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSCSSStyleSheet* domObject = static_cast<JSCSSStyleSheet*>(asObject(slot.slotBase()));
+ return JSCSSStyleSheet::getConstructor(exec, domObject->globalObject());
}
-JSValue JSCSSStyleSheet::getConstructor(ExecState* exec)
+JSValue JSCSSStyleSheet::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSCSSStyleSheetConstructor>(exec);
+ return getDOMConstructor<JSCSSStyleSheetConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsCSSStyleSheetPrototypeFunctionInsertRule(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSCSSStyleSheet.h b/src/3rdparty/webkit/WebCore/generated/JSCSSStyleSheet.h
index bd048f2..0881232 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSCSSStyleSheet.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSCSSStyleSheet.h
@@ -30,7 +30,7 @@ class CSSStyleSheet;
class JSCSSStyleSheet : public JSStyleSheet {
typedef JSStyleSheet Base;
public:
- JSCSSStyleSheet(PassRefPtr<JSC::Structure>, PassRefPtr<CSSStyleSheet>);
+ JSCSSStyleSheet(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<CSSStyleSheet>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
@@ -41,7 +41,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSCSSValue.cpp b/src/3rdparty/webkit/WebCore/generated/JSCSSValue.cpp
index 87aff14..68c5bb8 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSCSSValue.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSCSSValue.cpp
@@ -42,7 +42,7 @@ static const HashTableValue JSCSSValueTableValues[4] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCSSValueTable =
+static JSC_CONST_HASHTABLE HashTable JSCSSValueTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 7, JSCSSValueTableValues, 0 };
#else
@@ -60,19 +60,19 @@ static const HashTableValue JSCSSValueConstructorTableValues[5] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCSSValueConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSCSSValueConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 7, JSCSSValueConstructorTableValues, 0 };
#else
{ 8, 7, JSCSSValueConstructorTableValues, 0 };
#endif
-class JSCSSValueConstructor : public DOMObject {
+class JSCSSValueConstructor : public DOMConstructorObject {
public:
- JSCSSValueConstructor(ExecState* exec)
- : DOMObject(JSCSSValueConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSCSSValueConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSCSSValueConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSCSSValuePrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSCSSValuePrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -102,7 +102,7 @@ static const HashTableValue JSCSSValuePrototypeTableValues[5] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCSSValuePrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSCSSValuePrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 7, JSCSSValuePrototypeTableValues, 0 };
#else
@@ -123,8 +123,8 @@ bool JSCSSValuePrototype::getOwnPropertySlot(ExecState* exec, const Identifier&
const ClassInfo JSCSSValue::s_info = { "CSSValue", 0, &JSCSSValueTable, 0 };
-JSCSSValue::JSCSSValue(PassRefPtr<Structure> structure, PassRefPtr<CSSValue> impl)
- : DOMObject(structure)
+JSCSSValue::JSCSSValue(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<CSSValue> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -146,21 +146,24 @@ bool JSCSSValue::getOwnPropertySlot(ExecState* exec, const Identifier& propertyN
JSValue jsCSSValueCssText(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSCSSValue* castedThis = static_cast<JSCSSValue*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- CSSValue* imp = static_cast<CSSValue*>(static_cast<JSCSSValue*>(asObject(slot.slotBase()))->impl());
+ CSSValue* imp = static_cast<CSSValue*>(castedThis->impl());
return jsStringOrNull(exec, imp->cssText());
}
JSValue jsCSSValueCssValueType(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSCSSValue* castedThis = static_cast<JSCSSValue*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- CSSValue* imp = static_cast<CSSValue*>(static_cast<JSCSSValue*>(asObject(slot.slotBase()))->impl());
+ CSSValue* imp = static_cast<CSSValue*>(castedThis->impl());
return jsNumber(exec, imp->cssValueType());
}
JSValue jsCSSValueConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSCSSValue*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSCSSValue* domObject = static_cast<JSCSSValue*>(asObject(slot.slotBase()));
+ return JSCSSValue::getConstructor(exec, domObject->globalObject());
}
void JSCSSValue::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -175,9 +178,9 @@ void setJSCSSValueCssText(ExecState* exec, JSObject* thisObject, JSValue value)
setDOMException(exec, ec);
}
-JSValue JSCSSValue::getConstructor(ExecState* exec)
+JSValue JSCSSValue::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSCSSValueConstructor>(exec);
+ return getDOMConstructor<JSCSSValueConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
// Constant getters
diff --git a/src/3rdparty/webkit/WebCore/generated/JSCSSValue.h b/src/3rdparty/webkit/WebCore/generated/JSCSSValue.h
index d38c5c4..82f03fd 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSCSSValue.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSCSSValue.h
@@ -21,6 +21,7 @@
#ifndef JSCSSValue_h
#define JSCSSValue_h
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -29,10 +30,10 @@ namespace WebCore {
class CSSValue;
-class JSCSSValue : public DOMObject {
- typedef DOMObject Base;
+class JSCSSValue : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSCSSValue(PassRefPtr<JSC::Structure>, PassRefPtr<CSSValue>);
+ JSCSSValue(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<CSSValue>);
virtual ~JSCSSValue();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -45,14 +46,14 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
CSSValue* impl() const { return m_impl.get(); }
private:
RefPtr<CSSValue> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, CSSValue*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, CSSValue*);
CSSValue* toCSSValue(JSC::JSValue);
class JSCSSValuePrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSCSSValueList.cpp b/src/3rdparty/webkit/WebCore/generated/JSCSSValueList.cpp
index 98721ec..c09806f 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSCSSValueList.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSCSSValueList.cpp
@@ -44,7 +44,7 @@ static const HashTableValue JSCSSValueListTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCSSValueListTable =
+static JSC_CONST_HASHTABLE HashTable JSCSSValueListTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSCSSValueListTableValues, 0 };
#else
@@ -58,19 +58,19 @@ static const HashTableValue JSCSSValueListConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCSSValueListConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSCSSValueListConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSCSSValueListConstructorTableValues, 0 };
#else
{ 1, 0, JSCSSValueListConstructorTableValues, 0 };
#endif
-class JSCSSValueListConstructor : public DOMObject {
+class JSCSSValueListConstructor : public DOMConstructorObject {
public:
- JSCSSValueListConstructor(ExecState* exec)
- : DOMObject(JSCSSValueListConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSCSSValueListConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSCSSValueListConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSCSSValueListPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSCSSValueListPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -97,7 +97,7 @@ static const HashTableValue JSCSSValueListPrototypeTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCSSValueListPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSCSSValueListPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSCSSValueListPrototypeTableValues, 0 };
#else
@@ -118,8 +118,8 @@ bool JSCSSValueListPrototype::getOwnPropertySlot(ExecState* exec, const Identifi
const ClassInfo JSCSSValueList::s_info = { "CSSValueList", &JSCSSValue::s_info, &JSCSSValueListTable, 0 };
-JSCSSValueList::JSCSSValueList(PassRefPtr<Structure> structure, PassRefPtr<CSSValueList> impl)
- : JSCSSValue(structure, impl)
+JSCSSValueList::JSCSSValueList(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<CSSValueList> impl)
+ : JSCSSValue(structure, globalObject, impl)
{
}
@@ -155,14 +155,16 @@ bool JSCSSValueList::getOwnPropertySlot(ExecState* exec, unsigned propertyName,
JSValue jsCSSValueListLength(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSCSSValueList* castedThis = static_cast<JSCSSValueList*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- CSSValueList* imp = static_cast<CSSValueList*>(static_cast<JSCSSValueList*>(asObject(slot.slotBase()))->impl());
+ CSSValueList* imp = static_cast<CSSValueList*>(castedThis->impl());
return jsNumber(exec, imp->length());
}
JSValue jsCSSValueListConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSCSSValueList*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSCSSValueList* domObject = static_cast<JSCSSValueList*>(asObject(slot.slotBase()));
+ return JSCSSValueList::getConstructor(exec, domObject->globalObject());
}
void JSCSSValueList::getPropertyNames(ExecState* exec, PropertyNameArray& propertyNames)
{
@@ -171,9 +173,9 @@ void JSCSSValueList::getPropertyNames(ExecState* exec, PropertyNameArray& proper
Base::getPropertyNames(exec, propertyNames);
}
-JSValue JSCSSValueList::getConstructor(ExecState* exec)
+JSValue JSCSSValueList::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSCSSValueListConstructor>(exec);
+ return getDOMConstructor<JSCSSValueListConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsCSSValueListPrototypeFunctionItem(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -186,7 +188,7 @@ JSValue JSC_HOST_CALL jsCSSValueListPrototypeFunctionItem(ExecState* exec, JSObj
unsigned index = args.at(0).toInt32(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->item(index)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->item(index)));
return result;
}
@@ -194,7 +196,7 @@ JSValue JSC_HOST_CALL jsCSSValueListPrototypeFunctionItem(ExecState* exec, JSObj
JSValue JSCSSValueList::indexGetter(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
JSCSSValueList* thisObj = static_cast<JSCSSValueList*>(asObject(slot.slotBase()));
- return toJS(exec, static_cast<CSSValueList*>(thisObj->impl())->item(slot.index()));
+ return toJS(exec, thisObj->globalObject(), static_cast<CSSValueList*>(thisObj->impl())->item(slot.index()));
}
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSCSSValueList.h b/src/3rdparty/webkit/WebCore/generated/JSCSSValueList.h
index 3d35093..59eb203 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSCSSValueList.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSCSSValueList.h
@@ -30,7 +30,7 @@ class CSSValueList;
class JSCSSValueList : public JSCSSValue {
typedef JSCSSValue Base;
public:
- JSCSSValueList(PassRefPtr<JSC::Structure>, PassRefPtr<CSSValueList>);
+ JSCSSValueList(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<CSSValueList>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual bool getOwnPropertySlot(JSC::ExecState*, unsigned propertyName, JSC::PropertySlot&);
@@ -43,7 +43,7 @@ public:
}
virtual void getPropertyNames(JSC::ExecState*, JSC::PropertyNameArray&);
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
static JSC::JSValue indexGetter(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSCSSVariablesDeclaration.cpp b/src/3rdparty/webkit/WebCore/generated/JSCSSVariablesDeclaration.cpp
index 3c8c75a..3074928 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSCSSVariablesDeclaration.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSCSSVariablesDeclaration.cpp
@@ -48,7 +48,7 @@ static const HashTableValue JSCSSVariablesDeclarationTableValues[5] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCSSVariablesDeclarationTable =
+static JSC_CONST_HASHTABLE HashTable JSCSSVariablesDeclarationTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 63, JSCSSVariablesDeclarationTableValues, 0 };
#else
@@ -62,19 +62,19 @@ static const HashTableValue JSCSSVariablesDeclarationConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCSSVariablesDeclarationConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSCSSVariablesDeclarationConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSCSSVariablesDeclarationConstructorTableValues, 0 };
#else
{ 1, 0, JSCSSVariablesDeclarationConstructorTableValues, 0 };
#endif
-class JSCSSVariablesDeclarationConstructor : public DOMObject {
+class JSCSSVariablesDeclarationConstructor : public DOMConstructorObject {
public:
- JSCSSVariablesDeclarationConstructor(ExecState* exec)
- : DOMObject(JSCSSVariablesDeclarationConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSCSSVariablesDeclarationConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSCSSVariablesDeclarationConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSCSSVariablesDeclarationPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSCSSVariablesDeclarationPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -104,7 +104,7 @@ static const HashTableValue JSCSSVariablesDeclarationPrototypeTableValues[5] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCSSVariablesDeclarationPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSCSSVariablesDeclarationPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSCSSVariablesDeclarationPrototypeTableValues, 0 };
#else
@@ -125,8 +125,8 @@ bool JSCSSVariablesDeclarationPrototype::getOwnPropertySlot(ExecState* exec, con
const ClassInfo JSCSSVariablesDeclaration::s_info = { "CSSVariablesDeclaration", 0, &JSCSSVariablesDeclarationTable, 0 };
-JSCSSVariablesDeclaration::JSCSSVariablesDeclaration(PassRefPtr<Structure> structure, PassRefPtr<CSSVariablesDeclaration> impl)
- : DOMObject(structure)
+JSCSSVariablesDeclaration::JSCSSVariablesDeclaration(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<CSSVariablesDeclaration> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -168,28 +168,32 @@ bool JSCSSVariablesDeclaration::getOwnPropertySlot(ExecState* exec, unsigned pro
JSValue jsCSSVariablesDeclarationCssText(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSCSSVariablesDeclaration* castedThis = static_cast<JSCSSVariablesDeclaration*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- CSSVariablesDeclaration* imp = static_cast<CSSVariablesDeclaration*>(static_cast<JSCSSVariablesDeclaration*>(asObject(slot.slotBase()))->impl());
+ CSSVariablesDeclaration* imp = static_cast<CSSVariablesDeclaration*>(castedThis->impl());
return jsString(exec, imp->cssText());
}
JSValue jsCSSVariablesDeclarationLength(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSCSSVariablesDeclaration* castedThis = static_cast<JSCSSVariablesDeclaration*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- CSSVariablesDeclaration* imp = static_cast<CSSVariablesDeclaration*>(static_cast<JSCSSVariablesDeclaration*>(asObject(slot.slotBase()))->impl());
+ CSSVariablesDeclaration* imp = static_cast<CSSVariablesDeclaration*>(castedThis->impl());
return jsNumber(exec, imp->length());
}
JSValue jsCSSVariablesDeclarationParentRule(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSCSSVariablesDeclaration* castedThis = static_cast<JSCSSVariablesDeclaration*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- CSSVariablesDeclaration* imp = static_cast<CSSVariablesDeclaration*>(static_cast<JSCSSVariablesDeclaration*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->parentRule()));
+ CSSVariablesDeclaration* imp = static_cast<CSSVariablesDeclaration*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->parentRule()));
}
JSValue jsCSSVariablesDeclarationConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSCSSVariablesDeclaration*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSCSSVariablesDeclaration* domObject = static_cast<JSCSSVariablesDeclaration*>(asObject(slot.slotBase()));
+ return JSCSSVariablesDeclaration::getConstructor(exec, domObject->globalObject());
}
void JSCSSVariablesDeclaration::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -209,9 +213,9 @@ void JSCSSVariablesDeclaration::getPropertyNames(ExecState* exec, PropertyNameAr
Base::getPropertyNames(exec, propertyNames);
}
-JSValue JSCSSVariablesDeclaration::getConstructor(ExecState* exec)
+JSValue JSCSSVariablesDeclaration::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSCSSVariablesDeclarationConstructor>(exec);
+ return getDOMConstructor<JSCSSVariablesDeclarationConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsCSSVariablesDeclarationPrototypeFunctionGetVariableValue(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -280,9 +284,9 @@ JSValue JSCSSVariablesDeclaration::indexGetter(ExecState* exec, const Identifier
JSCSSVariablesDeclaration* thisObj = static_cast<JSCSSVariablesDeclaration*>(asObject(slot.slotBase()));
return jsStringOrNull(exec, thisObj->impl()->item(slot.index()));
}
-JSC::JSValue toJS(JSC::ExecState* exec, CSSVariablesDeclaration* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, CSSVariablesDeclaration* object)
{
- return getDOMObjectWrapper<JSCSSVariablesDeclaration>(exec, object);
+ return getDOMObjectWrapper<JSCSSVariablesDeclaration>(exec, globalObject, object);
}
CSSVariablesDeclaration* toCSSVariablesDeclaration(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSCSSVariablesDeclaration.h b/src/3rdparty/webkit/WebCore/generated/JSCSSVariablesDeclaration.h
index fe98f8e..f2c62b0 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSCSSVariablesDeclaration.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSCSSVariablesDeclaration.h
@@ -21,6 +21,7 @@
#ifndef JSCSSVariablesDeclaration_h
#define JSCSSVariablesDeclaration_h
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -29,10 +30,10 @@ namespace WebCore {
class CSSVariablesDeclaration;
-class JSCSSVariablesDeclaration : public DOMObject {
- typedef DOMObject Base;
+class JSCSSVariablesDeclaration : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSCSSVariablesDeclaration(PassRefPtr<JSC::Structure>, PassRefPtr<CSSVariablesDeclaration>);
+ JSCSSVariablesDeclaration(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<CSSVariablesDeclaration>);
virtual ~JSCSSVariablesDeclaration();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -47,7 +48,7 @@ public:
}
virtual void getPropertyNames(JSC::ExecState*, JSC::PropertyNameArray&);
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
CSSVariablesDeclaration* impl() const { return m_impl.get(); }
private:
@@ -55,7 +56,7 @@ private:
static JSC::JSValue indexGetter(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
};
-JSC::JSValue toJS(JSC::ExecState*, CSSVariablesDeclaration*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, CSSVariablesDeclaration*);
CSSVariablesDeclaration* toCSSVariablesDeclaration(JSC::JSValue);
class JSCSSVariablesDeclarationPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSCSSVariablesRule.cpp b/src/3rdparty/webkit/WebCore/generated/JSCSSVariablesRule.cpp
index ed3050d..241a4f1 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSCSSVariablesRule.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSCSSVariablesRule.cpp
@@ -44,7 +44,7 @@ static const HashTableValue JSCSSVariablesRuleTableValues[4] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCSSVariablesRuleTable =
+static JSC_CONST_HASHTABLE HashTable JSCSSVariablesRuleTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSCSSVariablesRuleTableValues, 0 };
#else
@@ -58,19 +58,19 @@ static const HashTableValue JSCSSVariablesRuleConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCSSVariablesRuleConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSCSSVariablesRuleConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSCSSVariablesRuleConstructorTableValues, 0 };
#else
{ 1, 0, JSCSSVariablesRuleConstructorTableValues, 0 };
#endif
-class JSCSSVariablesRuleConstructor : public DOMObject {
+class JSCSSVariablesRuleConstructor : public DOMConstructorObject {
public:
- JSCSSVariablesRuleConstructor(ExecState* exec)
- : DOMObject(JSCSSVariablesRuleConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSCSSVariablesRuleConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSCSSVariablesRuleConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSCSSVariablesRulePrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSCSSVariablesRulePrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -96,7 +96,7 @@ static const HashTableValue JSCSSVariablesRulePrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCSSVariablesRulePrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSCSSVariablesRulePrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSCSSVariablesRulePrototypeTableValues, 0 };
#else
@@ -112,8 +112,8 @@ JSObject* JSCSSVariablesRulePrototype::self(ExecState* exec, JSGlobalObject* glo
const ClassInfo JSCSSVariablesRule::s_info = { "CSSVariablesRule", &JSCSSRule::s_info, &JSCSSVariablesRuleTable, 0 };
-JSCSSVariablesRule::JSCSSVariablesRule(PassRefPtr<Structure> structure, PassRefPtr<CSSVariablesRule> impl)
- : JSCSSRule(structure, impl)
+JSCSSVariablesRule::JSCSSVariablesRule(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<CSSVariablesRule> impl)
+ : JSCSSRule(structure, globalObject, impl)
{
}
@@ -129,25 +129,28 @@ bool JSCSSVariablesRule::getOwnPropertySlot(ExecState* exec, const Identifier& p
JSValue jsCSSVariablesRuleMedia(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSCSSVariablesRule* castedThis = static_cast<JSCSSVariablesRule*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- CSSVariablesRule* imp = static_cast<CSSVariablesRule*>(static_cast<JSCSSVariablesRule*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->media()));
+ CSSVariablesRule* imp = static_cast<CSSVariablesRule*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->media()));
}
JSValue jsCSSVariablesRuleVariables(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSCSSVariablesRule* castedThis = static_cast<JSCSSVariablesRule*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- CSSVariablesRule* imp = static_cast<CSSVariablesRule*>(static_cast<JSCSSVariablesRule*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->variables()));
+ CSSVariablesRule* imp = static_cast<CSSVariablesRule*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->variables()));
}
JSValue jsCSSVariablesRuleConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSCSSVariablesRule*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSCSSVariablesRule* domObject = static_cast<JSCSSVariablesRule*>(asObject(slot.slotBase()));
+ return JSCSSVariablesRule::getConstructor(exec, domObject->globalObject());
}
-JSValue JSCSSVariablesRule::getConstructor(ExecState* exec)
+JSValue JSCSSVariablesRule::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSCSSVariablesRuleConstructor>(exec);
+ return getDOMConstructor<JSCSSVariablesRuleConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSCSSVariablesRule.h b/src/3rdparty/webkit/WebCore/generated/JSCSSVariablesRule.h
index c204a1e..b2f49db 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSCSSVariablesRule.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSCSSVariablesRule.h
@@ -30,7 +30,7 @@ class CSSVariablesRule;
class JSCSSVariablesRule : public JSCSSRule {
typedef JSCSSRule Base;
public:
- JSCSSVariablesRule(PassRefPtr<JSC::Structure>, PassRefPtr<CSSVariablesRule>);
+ JSCSSVariablesRule(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<CSSVariablesRule>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
@@ -41,7 +41,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSCanvasGradient.cpp b/src/3rdparty/webkit/WebCore/generated/JSCanvasGradient.cpp
index 7801622..ef5fa3a 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSCanvasGradient.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSCanvasGradient.cpp
@@ -40,7 +40,7 @@ static const HashTableValue JSCanvasGradientPrototypeTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCanvasGradientPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSCanvasGradientPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSCanvasGradientPrototypeTableValues, 0 };
#else
@@ -61,8 +61,8 @@ bool JSCanvasGradientPrototype::getOwnPropertySlot(ExecState* exec, const Identi
const ClassInfo JSCanvasGradient::s_info = { "CanvasGradient", 0, 0, 0 };
-JSCanvasGradient::JSCanvasGradient(PassRefPtr<Structure> structure, PassRefPtr<CanvasGradient> impl)
- : DOMObject(structure)
+JSCanvasGradient::JSCanvasGradient(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<CanvasGradient> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -93,9 +93,9 @@ JSValue JSC_HOST_CALL jsCanvasGradientPrototypeFunctionAddColorStop(ExecState* e
return jsUndefined();
}
-JSC::JSValue toJS(JSC::ExecState* exec, CanvasGradient* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, CanvasGradient* object)
{
- return getDOMObjectWrapper<JSCanvasGradient>(exec, object);
+ return getDOMObjectWrapper<JSCanvasGradient>(exec, globalObject, object);
}
CanvasGradient* toCanvasGradient(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSCanvasGradient.h b/src/3rdparty/webkit/WebCore/generated/JSCanvasGradient.h
index e81a3b4..f2673f0 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSCanvasGradient.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSCanvasGradient.h
@@ -21,6 +21,7 @@
#ifndef JSCanvasGradient_h
#define JSCanvasGradient_h
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -29,10 +30,10 @@ namespace WebCore {
class CanvasGradient;
-class JSCanvasGradient : public DOMObject {
- typedef DOMObject Base;
+class JSCanvasGradient : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSCanvasGradient(PassRefPtr<JSC::Structure>, PassRefPtr<CanvasGradient>);
+ JSCanvasGradient(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<CanvasGradient>);
virtual ~JSCanvasGradient();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
@@ -44,7 +45,7 @@ private:
RefPtr<CanvasGradient> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, CanvasGradient*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, CanvasGradient*);
CanvasGradient* toCanvasGradient(JSC::JSValue);
class JSCanvasGradientPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSCanvasPattern.cpp b/src/3rdparty/webkit/WebCore/generated/JSCanvasPattern.cpp
index 14dc535..3facb35 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSCanvasPattern.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSCanvasPattern.cpp
@@ -37,7 +37,7 @@ static const HashTableValue JSCanvasPatternPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCanvasPatternPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSCanvasPatternPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSCanvasPatternPrototypeTableValues, 0 };
#else
@@ -53,8 +53,8 @@ JSObject* JSCanvasPatternPrototype::self(ExecState* exec, JSGlobalObject* global
const ClassInfo JSCanvasPattern::s_info = { "CanvasPattern", 0, 0, 0 };
-JSCanvasPattern::JSCanvasPattern(PassRefPtr<Structure> structure, PassRefPtr<CanvasPattern> impl)
- : DOMObject(structure)
+JSCanvasPattern::JSCanvasPattern(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<CanvasPattern> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -69,9 +69,9 @@ JSObject* JSCanvasPattern::createPrototype(ExecState* exec, JSGlobalObject* glob
return new (exec) JSCanvasPatternPrototype(JSCanvasPatternPrototype::createStructure(globalObject->objectPrototype()));
}
-JSC::JSValue toJS(JSC::ExecState* exec, CanvasPattern* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, CanvasPattern* object)
{
- return getDOMObjectWrapper<JSCanvasPattern>(exec, object);
+ return getDOMObjectWrapper<JSCanvasPattern>(exec, globalObject, object);
}
CanvasPattern* toCanvasPattern(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSCanvasPattern.h b/src/3rdparty/webkit/WebCore/generated/JSCanvasPattern.h
index 776b830..ec8c97f 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSCanvasPattern.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSCanvasPattern.h
@@ -21,6 +21,7 @@
#ifndef JSCanvasPattern_h
#define JSCanvasPattern_h
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -29,10 +30,10 @@ namespace WebCore {
class CanvasPattern;
-class JSCanvasPattern : public DOMObject {
- typedef DOMObject Base;
+class JSCanvasPattern : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSCanvasPattern(PassRefPtr<JSC::Structure>, PassRefPtr<CanvasPattern>);
+ JSCanvasPattern(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<CanvasPattern>);
virtual ~JSCanvasPattern();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
@@ -44,7 +45,7 @@ private:
RefPtr<CanvasPattern> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, CanvasPattern*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, CanvasPattern*);
CanvasPattern* toCanvasPattern(JSC::JSValue);
class JSCanvasPatternPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSCanvasRenderingContext2D.cpp b/src/3rdparty/webkit/WebCore/generated/JSCanvasRenderingContext2D.cpp
index 2f318c1..a42f8ab 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSCanvasRenderingContext2D.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSCanvasRenderingContext2D.cpp
@@ -69,7 +69,7 @@ static const HashTableValue JSCanvasRenderingContext2DTableValues[18] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCanvasRenderingContext2DTable =
+static JSC_CONST_HASHTABLE HashTable JSCanvasRenderingContext2DTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 8191, JSCanvasRenderingContext2DTableValues, 0 };
#else
@@ -83,19 +83,19 @@ static const HashTableValue JSCanvasRenderingContext2DConstructorTableValues[1]
{ 0, 0, 0, 0 }
};
-static const HashTable JSCanvasRenderingContext2DConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSCanvasRenderingContext2DConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSCanvasRenderingContext2DConstructorTableValues, 0 };
#else
{ 1, 0, JSCanvasRenderingContext2DConstructorTableValues, 0 };
#endif
-class JSCanvasRenderingContext2DConstructor : public DOMObject {
+class JSCanvasRenderingContext2DConstructor : public DOMConstructorObject {
public:
- JSCanvasRenderingContext2DConstructor(ExecState* exec)
- : DOMObject(JSCanvasRenderingContext2DConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSCanvasRenderingContext2DConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSCanvasRenderingContext2DConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSCanvasRenderingContext2DPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSCanvasRenderingContext2DPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -165,7 +165,7 @@ static const HashTableValue JSCanvasRenderingContext2DPrototypeTableValues[45] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCanvasRenderingContext2DPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSCanvasRenderingContext2DPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 4095, JSCanvasRenderingContext2DPrototypeTableValues, 0 };
#else
@@ -186,8 +186,8 @@ bool JSCanvasRenderingContext2DPrototype::getOwnPropertySlot(ExecState* exec, co
const ClassInfo JSCanvasRenderingContext2D::s_info = { "CanvasRenderingContext2D", 0, &JSCanvasRenderingContext2DTable, 0 };
-JSCanvasRenderingContext2D::JSCanvasRenderingContext2D(PassRefPtr<Structure> structure, PassRefPtr<CanvasRenderingContext2D> impl)
- : DOMObject(structure)
+JSCanvasRenderingContext2D::JSCanvasRenderingContext2D(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<CanvasRenderingContext2D> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -209,115 +209,132 @@ bool JSCanvasRenderingContext2D::getOwnPropertySlot(ExecState* exec, const Ident
JSValue jsCanvasRenderingContext2DCanvas(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSCanvasRenderingContext2D* castedThis = static_cast<JSCanvasRenderingContext2D*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- CanvasRenderingContext2D* imp = static_cast<CanvasRenderingContext2D*>(static_cast<JSCanvasRenderingContext2D*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->canvas()));
+ CanvasRenderingContext2D* imp = static_cast<CanvasRenderingContext2D*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->canvas()));
}
JSValue jsCanvasRenderingContext2DGlobalAlpha(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSCanvasRenderingContext2D* castedThis = static_cast<JSCanvasRenderingContext2D*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- CanvasRenderingContext2D* imp = static_cast<CanvasRenderingContext2D*>(static_cast<JSCanvasRenderingContext2D*>(asObject(slot.slotBase()))->impl());
+ CanvasRenderingContext2D* imp = static_cast<CanvasRenderingContext2D*>(castedThis->impl());
return jsNumber(exec, imp->globalAlpha());
}
JSValue jsCanvasRenderingContext2DGlobalCompositeOperation(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSCanvasRenderingContext2D* castedThis = static_cast<JSCanvasRenderingContext2D*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- CanvasRenderingContext2D* imp = static_cast<CanvasRenderingContext2D*>(static_cast<JSCanvasRenderingContext2D*>(asObject(slot.slotBase()))->impl());
+ CanvasRenderingContext2D* imp = static_cast<CanvasRenderingContext2D*>(castedThis->impl());
return jsString(exec, imp->globalCompositeOperation());
}
JSValue jsCanvasRenderingContext2DLineWidth(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSCanvasRenderingContext2D* castedThis = static_cast<JSCanvasRenderingContext2D*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- CanvasRenderingContext2D* imp = static_cast<CanvasRenderingContext2D*>(static_cast<JSCanvasRenderingContext2D*>(asObject(slot.slotBase()))->impl());
+ CanvasRenderingContext2D* imp = static_cast<CanvasRenderingContext2D*>(castedThis->impl());
return jsNumber(exec, imp->lineWidth());
}
JSValue jsCanvasRenderingContext2DLineCap(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSCanvasRenderingContext2D* castedThis = static_cast<JSCanvasRenderingContext2D*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- CanvasRenderingContext2D* imp = static_cast<CanvasRenderingContext2D*>(static_cast<JSCanvasRenderingContext2D*>(asObject(slot.slotBase()))->impl());
+ CanvasRenderingContext2D* imp = static_cast<CanvasRenderingContext2D*>(castedThis->impl());
return jsString(exec, imp->lineCap());
}
JSValue jsCanvasRenderingContext2DLineJoin(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSCanvasRenderingContext2D* castedThis = static_cast<JSCanvasRenderingContext2D*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- CanvasRenderingContext2D* imp = static_cast<CanvasRenderingContext2D*>(static_cast<JSCanvasRenderingContext2D*>(asObject(slot.slotBase()))->impl());
+ CanvasRenderingContext2D* imp = static_cast<CanvasRenderingContext2D*>(castedThis->impl());
return jsString(exec, imp->lineJoin());
}
JSValue jsCanvasRenderingContext2DMiterLimit(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSCanvasRenderingContext2D* castedThis = static_cast<JSCanvasRenderingContext2D*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- CanvasRenderingContext2D* imp = static_cast<CanvasRenderingContext2D*>(static_cast<JSCanvasRenderingContext2D*>(asObject(slot.slotBase()))->impl());
+ CanvasRenderingContext2D* imp = static_cast<CanvasRenderingContext2D*>(castedThis->impl());
return jsNumber(exec, imp->miterLimit());
}
JSValue jsCanvasRenderingContext2DShadowOffsetX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSCanvasRenderingContext2D* castedThis = static_cast<JSCanvasRenderingContext2D*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- CanvasRenderingContext2D* imp = static_cast<CanvasRenderingContext2D*>(static_cast<JSCanvasRenderingContext2D*>(asObject(slot.slotBase()))->impl());
+ CanvasRenderingContext2D* imp = static_cast<CanvasRenderingContext2D*>(castedThis->impl());
return jsNumber(exec, imp->shadowOffsetX());
}
JSValue jsCanvasRenderingContext2DShadowOffsetY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSCanvasRenderingContext2D* castedThis = static_cast<JSCanvasRenderingContext2D*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- CanvasRenderingContext2D* imp = static_cast<CanvasRenderingContext2D*>(static_cast<JSCanvasRenderingContext2D*>(asObject(slot.slotBase()))->impl());
+ CanvasRenderingContext2D* imp = static_cast<CanvasRenderingContext2D*>(castedThis->impl());
return jsNumber(exec, imp->shadowOffsetY());
}
JSValue jsCanvasRenderingContext2DShadowBlur(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSCanvasRenderingContext2D* castedThis = static_cast<JSCanvasRenderingContext2D*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- CanvasRenderingContext2D* imp = static_cast<CanvasRenderingContext2D*>(static_cast<JSCanvasRenderingContext2D*>(asObject(slot.slotBase()))->impl());
+ CanvasRenderingContext2D* imp = static_cast<CanvasRenderingContext2D*>(castedThis->impl());
return jsNumber(exec, imp->shadowBlur());
}
JSValue jsCanvasRenderingContext2DShadowColor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSCanvasRenderingContext2D* castedThis = static_cast<JSCanvasRenderingContext2D*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- CanvasRenderingContext2D* imp = static_cast<CanvasRenderingContext2D*>(static_cast<JSCanvasRenderingContext2D*>(asObject(slot.slotBase()))->impl());
+ CanvasRenderingContext2D* imp = static_cast<CanvasRenderingContext2D*>(castedThis->impl());
return jsString(exec, imp->shadowColor());
}
JSValue jsCanvasRenderingContext2DFont(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSCanvasRenderingContext2D* castedThis = static_cast<JSCanvasRenderingContext2D*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- CanvasRenderingContext2D* imp = static_cast<CanvasRenderingContext2D*>(static_cast<JSCanvasRenderingContext2D*>(asObject(slot.slotBase()))->impl());
+ CanvasRenderingContext2D* imp = static_cast<CanvasRenderingContext2D*>(castedThis->impl());
return jsString(exec, imp->font());
}
JSValue jsCanvasRenderingContext2DTextAlign(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSCanvasRenderingContext2D* castedThis = static_cast<JSCanvasRenderingContext2D*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- CanvasRenderingContext2D* imp = static_cast<CanvasRenderingContext2D*>(static_cast<JSCanvasRenderingContext2D*>(asObject(slot.slotBase()))->impl());
+ CanvasRenderingContext2D* imp = static_cast<CanvasRenderingContext2D*>(castedThis->impl());
return jsString(exec, imp->textAlign());
}
JSValue jsCanvasRenderingContext2DTextBaseline(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSCanvasRenderingContext2D* castedThis = static_cast<JSCanvasRenderingContext2D*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- CanvasRenderingContext2D* imp = static_cast<CanvasRenderingContext2D*>(static_cast<JSCanvasRenderingContext2D*>(asObject(slot.slotBase()))->impl());
+ CanvasRenderingContext2D* imp = static_cast<CanvasRenderingContext2D*>(castedThis->impl());
return jsString(exec, imp->textBaseline());
}
JSValue jsCanvasRenderingContext2DStrokeStyle(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSCanvasRenderingContext2D*>(asObject(slot.slotBase()))->strokeStyle(exec);
+ JSCanvasRenderingContext2D* castedThis = static_cast<JSCanvasRenderingContext2D*>(asObject(slot.slotBase()));
+ return castedThis->strokeStyle(exec);
}
JSValue jsCanvasRenderingContext2DFillStyle(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSCanvasRenderingContext2D*>(asObject(slot.slotBase()))->fillStyle(exec);
+ JSCanvasRenderingContext2D* castedThis = static_cast<JSCanvasRenderingContext2D*>(asObject(slot.slotBase()));
+ return castedThis->fillStyle(exec);
}
JSValue jsCanvasRenderingContext2DConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSCanvasRenderingContext2D*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSCanvasRenderingContext2D* domObject = static_cast<JSCanvasRenderingContext2D*>(asObject(slot.slotBase()));
+ return JSCanvasRenderingContext2D::getConstructor(exec, domObject->globalObject());
}
void JSCanvasRenderingContext2D::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -412,9 +429,9 @@ void setJSCanvasRenderingContext2DFillStyle(ExecState* exec, JSObject* thisObjec
static_cast<JSCanvasRenderingContext2D*>(thisObject)->setFillStyle(exec, value);
}
-JSValue JSCanvasRenderingContext2D::getConstructor(ExecState* exec)
+JSValue JSCanvasRenderingContext2D::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSCanvasRenderingContext2DConstructor>(exec);
+ return getDOMConstructor<JSCanvasRenderingContext2DConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsCanvasRenderingContext2DPrototypeFunctionSave(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -532,7 +549,7 @@ JSValue JSC_HOST_CALL jsCanvasRenderingContext2DPrototypeFunctionCreateLinearGra
float y1 = args.at(3).toFloat(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->createLinearGradient(x0, y0, x1, y1, ec)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->createLinearGradient(x0, y0, x1, y1, ec)));
setDOMException(exec, ec);
return result;
}
@@ -553,7 +570,7 @@ JSValue JSC_HOST_CALL jsCanvasRenderingContext2DPrototypeFunctionCreateRadialGra
float r1 = args.at(5).toFloat(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->createRadialGradient(x0, y0, r0, x1, y1, r1, ec)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->createRadialGradient(x0, y0, r0, x1, y1, r1, ec)));
setDOMException(exec, ec);
return result;
}
@@ -810,7 +827,7 @@ JSValue JSC_HOST_CALL jsCanvasRenderingContext2DPrototypeFunctionMeasureText(Exe
const UString& text = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->measureText(text)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->measureText(text)));
return result;
}
@@ -978,7 +995,7 @@ JSValue JSC_HOST_CALL jsCanvasRenderingContext2DPrototypeFunctionCreateImageData
float sh = args.at(1).toFloat(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->createImageData(sw, sh)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->createImageData(sw, sh)));
return result;
}
@@ -996,7 +1013,7 @@ JSValue JSC_HOST_CALL jsCanvasRenderingContext2DPrototypeFunctionGetImageData(Ex
float sh = args.at(3).toFloat(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getImageData(sx, sy, sw, sh, ec)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getImageData(sx, sy, sw, sh, ec)));
setDOMException(exec, ec);
return result;
}
@@ -1010,9 +1027,9 @@ JSValue JSC_HOST_CALL jsCanvasRenderingContext2DPrototypeFunctionPutImageData(Ex
return castedThisObj->putImageData(exec, args);
}
-JSC::JSValue toJS(JSC::ExecState* exec, CanvasRenderingContext2D* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, CanvasRenderingContext2D* object)
{
- return getDOMObjectWrapper<JSCanvasRenderingContext2D>(exec, object);
+ return getDOMObjectWrapper<JSCanvasRenderingContext2D>(exec, globalObject, object);
}
CanvasRenderingContext2D* toCanvasRenderingContext2D(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSCanvasRenderingContext2D.h b/src/3rdparty/webkit/WebCore/generated/JSCanvasRenderingContext2D.h
index 6c084d1..cee9884 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSCanvasRenderingContext2D.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSCanvasRenderingContext2D.h
@@ -21,6 +21,7 @@
#ifndef JSCanvasRenderingContext2D_h
#define JSCanvasRenderingContext2D_h
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -29,10 +30,10 @@ namespace WebCore {
class CanvasRenderingContext2D;
-class JSCanvasRenderingContext2D : public DOMObject {
- typedef DOMObject Base;
+class JSCanvasRenderingContext2D : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSCanvasRenderingContext2D(PassRefPtr<JSC::Structure>, PassRefPtr<CanvasRenderingContext2D>);
+ JSCanvasRenderingContext2D(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<CanvasRenderingContext2D>);
virtual ~JSCanvasRenderingContext2D();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -45,7 +46,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
// Custom attributes
JSC::JSValue strokeStyle(JSC::ExecState*) const;
@@ -70,7 +71,7 @@ private:
RefPtr<CanvasRenderingContext2D> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, CanvasRenderingContext2D*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, CanvasRenderingContext2D*);
CanvasRenderingContext2D* toCanvasRenderingContext2D(JSC::JSValue);
class JSCanvasRenderingContext2DPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSCharacterData.cpp b/src/3rdparty/webkit/WebCore/generated/JSCharacterData.cpp
index a860721..5c86d07 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSCharacterData.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSCharacterData.cpp
@@ -45,7 +45,7 @@ static const HashTableValue JSCharacterDataTableValues[4] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCharacterDataTable =
+static JSC_CONST_HASHTABLE HashTable JSCharacterDataTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSCharacterDataTableValues, 0 };
#else
@@ -59,19 +59,19 @@ static const HashTableValue JSCharacterDataConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCharacterDataConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSCharacterDataConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSCharacterDataConstructorTableValues, 0 };
#else
{ 1, 0, JSCharacterDataConstructorTableValues, 0 };
#endif
-class JSCharacterDataConstructor : public DOMObject {
+class JSCharacterDataConstructor : public DOMConstructorObject {
public:
- JSCharacterDataConstructor(ExecState* exec)
- : DOMObject(JSCharacterDataConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSCharacterDataConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSCharacterDataConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSCharacterDataPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSCharacterDataPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -102,7 +102,7 @@ static const HashTableValue JSCharacterDataPrototypeTableValues[6] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCharacterDataPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSCharacterDataPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSCharacterDataPrototypeTableValues, 0 };
#else
@@ -123,8 +123,8 @@ bool JSCharacterDataPrototype::getOwnPropertySlot(ExecState* exec, const Identif
const ClassInfo JSCharacterData::s_info = { "CharacterData", &JSNode::s_info, &JSCharacterDataTable, 0 };
-JSCharacterData::JSCharacterData(PassRefPtr<Structure> structure, PassRefPtr<CharacterData> impl)
- : JSNode(structure, impl)
+JSCharacterData::JSCharacterData(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<CharacterData> impl)
+ : JSNode(structure, globalObject, impl)
{
}
@@ -140,21 +140,24 @@ bool JSCharacterData::getOwnPropertySlot(ExecState* exec, const Identifier& prop
JSValue jsCharacterDataData(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSCharacterData* castedThis = static_cast<JSCharacterData*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- CharacterData* imp = static_cast<CharacterData*>(static_cast<JSCharacterData*>(asObject(slot.slotBase()))->impl());
+ CharacterData* imp = static_cast<CharacterData*>(castedThis->impl());
return jsString(exec, imp->data());
}
JSValue jsCharacterDataLength(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSCharacterData* castedThis = static_cast<JSCharacterData*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- CharacterData* imp = static_cast<CharacterData*>(static_cast<JSCharacterData*>(asObject(slot.slotBase()))->impl());
+ CharacterData* imp = static_cast<CharacterData*>(castedThis->impl());
return jsNumber(exec, imp->length());
}
JSValue jsCharacterDataConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSCharacterData*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSCharacterData* domObject = static_cast<JSCharacterData*>(asObject(slot.slotBase()));
+ return JSCharacterData::getConstructor(exec, domObject->globalObject());
}
void JSCharacterData::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -169,9 +172,9 @@ void setJSCharacterDataData(ExecState* exec, JSObject* thisObject, JSValue value
setDOMException(exec, ec);
}
-JSValue JSCharacterData::getConstructor(ExecState* exec)
+JSValue JSCharacterData::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSCharacterDataConstructor>(exec);
+ return getDOMConstructor<JSCharacterDataConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsCharacterDataPrototypeFunctionSubstringData(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSCharacterData.h b/src/3rdparty/webkit/WebCore/generated/JSCharacterData.h
index 273318f..1f6091f 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSCharacterData.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSCharacterData.h
@@ -30,7 +30,7 @@ class CharacterData;
class JSCharacterData : public JSNode {
typedef JSNode Base;
public:
- JSCharacterData(PassRefPtr<JSC::Structure>, PassRefPtr<CharacterData>);
+ JSCharacterData(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<CharacterData>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -42,7 +42,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSClientRect.cpp b/src/3rdparty/webkit/WebCore/generated/JSClientRect.cpp
index 4db0efb..ba2e756 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSClientRect.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSClientRect.cpp
@@ -45,7 +45,7 @@ static const HashTableValue JSClientRectTableValues[8] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSClientRectTable =
+static JSC_CONST_HASHTABLE HashTable JSClientRectTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 255, JSClientRectTableValues, 0 };
#else
@@ -59,19 +59,19 @@ static const HashTableValue JSClientRectConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSClientRectConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSClientRectConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSClientRectConstructorTableValues, 0 };
#else
{ 1, 0, JSClientRectConstructorTableValues, 0 };
#endif
-class JSClientRectConstructor : public DOMObject {
+class JSClientRectConstructor : public DOMConstructorObject {
public:
- JSClientRectConstructor(ExecState* exec)
- : DOMObject(JSClientRectConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSClientRectConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSClientRectConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSClientRectPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSClientRectPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -97,7 +97,7 @@ static const HashTableValue JSClientRectPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSClientRectPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSClientRectPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSClientRectPrototypeTableValues, 0 };
#else
@@ -113,8 +113,8 @@ JSObject* JSClientRectPrototype::self(ExecState* exec, JSGlobalObject* globalObj
const ClassInfo JSClientRect::s_info = { "ClientRect", 0, &JSClientRectTable, 0 };
-JSClientRect::JSClientRect(PassRefPtr<Structure> structure, PassRefPtr<ClientRect> impl)
- : DOMObject(structure)
+JSClientRect::JSClientRect(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<ClientRect> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -136,58 +136,65 @@ bool JSClientRect::getOwnPropertySlot(ExecState* exec, const Identifier& propert
JSValue jsClientRectTop(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSClientRect* castedThis = static_cast<JSClientRect*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- ClientRect* imp = static_cast<ClientRect*>(static_cast<JSClientRect*>(asObject(slot.slotBase()))->impl());
+ ClientRect* imp = static_cast<ClientRect*>(castedThis->impl());
return jsNumber(exec, imp->top());
}
JSValue jsClientRectRight(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSClientRect* castedThis = static_cast<JSClientRect*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- ClientRect* imp = static_cast<ClientRect*>(static_cast<JSClientRect*>(asObject(slot.slotBase()))->impl());
+ ClientRect* imp = static_cast<ClientRect*>(castedThis->impl());
return jsNumber(exec, imp->right());
}
JSValue jsClientRectBottom(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSClientRect* castedThis = static_cast<JSClientRect*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- ClientRect* imp = static_cast<ClientRect*>(static_cast<JSClientRect*>(asObject(slot.slotBase()))->impl());
+ ClientRect* imp = static_cast<ClientRect*>(castedThis->impl());
return jsNumber(exec, imp->bottom());
}
JSValue jsClientRectLeft(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSClientRect* castedThis = static_cast<JSClientRect*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- ClientRect* imp = static_cast<ClientRect*>(static_cast<JSClientRect*>(asObject(slot.slotBase()))->impl());
+ ClientRect* imp = static_cast<ClientRect*>(castedThis->impl());
return jsNumber(exec, imp->left());
}
JSValue jsClientRectWidth(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSClientRect* castedThis = static_cast<JSClientRect*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- ClientRect* imp = static_cast<ClientRect*>(static_cast<JSClientRect*>(asObject(slot.slotBase()))->impl());
+ ClientRect* imp = static_cast<ClientRect*>(castedThis->impl());
return jsNumber(exec, imp->width());
}
JSValue jsClientRectHeight(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSClientRect* castedThis = static_cast<JSClientRect*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- ClientRect* imp = static_cast<ClientRect*>(static_cast<JSClientRect*>(asObject(slot.slotBase()))->impl());
+ ClientRect* imp = static_cast<ClientRect*>(castedThis->impl());
return jsNumber(exec, imp->height());
}
JSValue jsClientRectConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSClientRect*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSClientRect* domObject = static_cast<JSClientRect*>(asObject(slot.slotBase()));
+ return JSClientRect::getConstructor(exec, domObject->globalObject());
}
-JSValue JSClientRect::getConstructor(ExecState* exec)
+JSValue JSClientRect::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSClientRectConstructor>(exec);
+ return getDOMConstructor<JSClientRectConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
-JSC::JSValue toJS(JSC::ExecState* exec, ClientRect* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, ClientRect* object)
{
- return getDOMObjectWrapper<JSClientRect>(exec, object);
+ return getDOMObjectWrapper<JSClientRect>(exec, globalObject, object);
}
ClientRect* toClientRect(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSClientRect.h b/src/3rdparty/webkit/WebCore/generated/JSClientRect.h
index 13a7b38..9e6e951 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSClientRect.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSClientRect.h
@@ -21,6 +21,7 @@
#ifndef JSClientRect_h
#define JSClientRect_h
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -29,10 +30,10 @@ namespace WebCore {
class ClientRect;
-class JSClientRect : public DOMObject {
- typedef DOMObject Base;
+class JSClientRect : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSClientRect(PassRefPtr<JSC::Structure>, PassRefPtr<ClientRect>);
+ JSClientRect(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<ClientRect>);
virtual ~JSClientRect();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -44,14 +45,14 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
ClientRect* impl() const { return m_impl.get(); }
private:
RefPtr<ClientRect> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, ClientRect*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, ClientRect*);
ClientRect* toClientRect(JSC::JSValue);
class JSClientRectPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSClientRectList.cpp b/src/3rdparty/webkit/WebCore/generated/JSClientRectList.cpp
index 97eff69..f8c99a2 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSClientRectList.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSClientRectList.cpp
@@ -45,7 +45,7 @@ static const HashTableValue JSClientRectListTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSClientRectListTable =
+static JSC_CONST_HASHTABLE HashTable JSClientRectListTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSClientRectListTableValues, 0 };
#else
@@ -59,19 +59,19 @@ static const HashTableValue JSClientRectListConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSClientRectListConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSClientRectListConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSClientRectListConstructorTableValues, 0 };
#else
{ 1, 0, JSClientRectListConstructorTableValues, 0 };
#endif
-class JSClientRectListConstructor : public DOMObject {
+class JSClientRectListConstructor : public DOMConstructorObject {
public:
- JSClientRectListConstructor(ExecState* exec)
- : DOMObject(JSClientRectListConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSClientRectListConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSClientRectListConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSClientRectListPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSClientRectListPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -98,7 +98,7 @@ static const HashTableValue JSClientRectListPrototypeTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSClientRectListPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSClientRectListPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSClientRectListPrototypeTableValues, 0 };
#else
@@ -119,8 +119,8 @@ bool JSClientRectListPrototype::getOwnPropertySlot(ExecState* exec, const Identi
const ClassInfo JSClientRectList::s_info = { "ClientRectList", 0, &JSClientRectListTable, 0 };
-JSClientRectList::JSClientRectList(PassRefPtr<Structure> structure, PassRefPtr<ClientRectList> impl)
- : DOMObject(structure)
+JSClientRectList::JSClientRectList(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<ClientRectList> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -162,14 +162,16 @@ bool JSClientRectList::getOwnPropertySlot(ExecState* exec, unsigned propertyName
JSValue jsClientRectListLength(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSClientRectList* castedThis = static_cast<JSClientRectList*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- ClientRectList* imp = static_cast<ClientRectList*>(static_cast<JSClientRectList*>(asObject(slot.slotBase()))->impl());
+ ClientRectList* imp = static_cast<ClientRectList*>(castedThis->impl());
return jsNumber(exec, imp->length());
}
JSValue jsClientRectListConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSClientRectList*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSClientRectList* domObject = static_cast<JSClientRectList*>(asObject(slot.slotBase()));
+ return JSClientRectList::getConstructor(exec, domObject->globalObject());
}
void JSClientRectList::getPropertyNames(ExecState* exec, PropertyNameArray& propertyNames)
{
@@ -178,9 +180,9 @@ void JSClientRectList::getPropertyNames(ExecState* exec, PropertyNameArray& prop
Base::getPropertyNames(exec, propertyNames);
}
-JSValue JSClientRectList::getConstructor(ExecState* exec)
+JSValue JSClientRectList::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSClientRectListConstructor>(exec);
+ return getDOMConstructor<JSClientRectListConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsClientRectListPrototypeFunctionItem(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -197,7 +199,7 @@ JSValue JSC_HOST_CALL jsClientRectListPrototypeFunctionItem(ExecState* exec, JSO
}
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->item(index)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->item(index)));
return result;
}
@@ -205,11 +207,11 @@ JSValue JSC_HOST_CALL jsClientRectListPrototypeFunctionItem(ExecState* exec, JSO
JSValue JSClientRectList::indexGetter(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
JSClientRectList* thisObj = static_cast<JSClientRectList*>(asObject(slot.slotBase()));
- return toJS(exec, static_cast<ClientRectList*>(thisObj->impl())->item(slot.index()));
+ return toJS(exec, thisObj->globalObject(), static_cast<ClientRectList*>(thisObj->impl())->item(slot.index()));
}
-JSC::JSValue toJS(JSC::ExecState* exec, ClientRectList* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, ClientRectList* object)
{
- return getDOMObjectWrapper<JSClientRectList>(exec, object);
+ return getDOMObjectWrapper<JSClientRectList>(exec, globalObject, object);
}
ClientRectList* toClientRectList(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSClientRectList.h b/src/3rdparty/webkit/WebCore/generated/JSClientRectList.h
index fcb1f56..851a7f9 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSClientRectList.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSClientRectList.h
@@ -21,6 +21,7 @@
#ifndef JSClientRectList_h
#define JSClientRectList_h
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -29,10 +30,10 @@ namespace WebCore {
class ClientRectList;
-class JSClientRectList : public DOMObject {
- typedef DOMObject Base;
+class JSClientRectList : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSClientRectList(PassRefPtr<JSC::Structure>, PassRefPtr<ClientRectList>);
+ JSClientRectList(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<ClientRectList>);
virtual ~JSClientRectList();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -46,7 +47,7 @@ public:
}
virtual void getPropertyNames(JSC::ExecState*, JSC::PropertyNameArray&);
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
ClientRectList* impl() const { return m_impl.get(); }
private:
@@ -54,7 +55,7 @@ private:
static JSC::JSValue indexGetter(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
};
-JSC::JSValue toJS(JSC::ExecState*, ClientRectList*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, ClientRectList*);
ClientRectList* toClientRectList(JSC::JSValue);
class JSClientRectListPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSClipboard.cpp b/src/3rdparty/webkit/WebCore/generated/JSClipboard.cpp
index 19c40b7..aea76dc 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSClipboard.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSClipboard.cpp
@@ -46,7 +46,7 @@ static const HashTableValue JSClipboardTableValues[6] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSClipboardTable =
+static JSC_CONST_HASHTABLE HashTable JSClipboardTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 63, JSClipboardTableValues, 0 };
#else
@@ -60,19 +60,19 @@ static const HashTableValue JSClipboardConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSClipboardConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSClipboardConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSClipboardConstructorTableValues, 0 };
#else
{ 1, 0, JSClipboardConstructorTableValues, 0 };
#endif
-class JSClipboardConstructor : public DOMObject {
+class JSClipboardConstructor : public DOMConstructorObject {
public:
- JSClipboardConstructor(ExecState* exec)
- : DOMObject(JSClipboardConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSClipboardConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSClipboardConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSClipboardPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSClipboardPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -102,7 +102,7 @@ static const HashTableValue JSClipboardPrototypeTableValues[5] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSClipboardPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSClipboardPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 7, JSClipboardPrototypeTableValues, 0 };
#else
@@ -123,8 +123,8 @@ bool JSClipboardPrototype::getOwnPropertySlot(ExecState* exec, const Identifier&
const ClassInfo JSClipboard::s_info = { "Clipboard", 0, &JSClipboardTable, 0 };
-JSClipboard::JSClipboard(PassRefPtr<Structure> structure, PassRefPtr<Clipboard> impl)
- : DOMObject(structure)
+JSClipboard::JSClipboard(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<Clipboard> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -146,33 +146,38 @@ bool JSClipboard::getOwnPropertySlot(ExecState* exec, const Identifier& property
JSValue jsClipboardDropEffect(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSClipboard* castedThis = static_cast<JSClipboard*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Clipboard* imp = static_cast<Clipboard*>(static_cast<JSClipboard*>(asObject(slot.slotBase()))->impl());
+ Clipboard* imp = static_cast<Clipboard*>(castedThis->impl());
return jsStringOrUndefined(exec, imp->dropEffect());
}
JSValue jsClipboardEffectAllowed(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSClipboard* castedThis = static_cast<JSClipboard*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Clipboard* imp = static_cast<Clipboard*>(static_cast<JSClipboard*>(asObject(slot.slotBase()))->impl());
+ Clipboard* imp = static_cast<Clipboard*>(castedThis->impl());
return jsStringOrUndefined(exec, imp->effectAllowed());
}
JSValue jsClipboardTypes(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSClipboard*>(asObject(slot.slotBase()))->types(exec);
+ JSClipboard* castedThis = static_cast<JSClipboard*>(asObject(slot.slotBase()));
+ return castedThis->types(exec);
}
JSValue jsClipboardFiles(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSClipboard* castedThis = static_cast<JSClipboard*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Clipboard* imp = static_cast<Clipboard*>(static_cast<JSClipboard*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->files()));
+ Clipboard* imp = static_cast<Clipboard*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->files()));
}
JSValue jsClipboardConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSClipboard*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSClipboard* domObject = static_cast<JSClipboard*>(asObject(slot.slotBase()));
+ return JSClipboard::getConstructor(exec, domObject->globalObject());
}
void JSClipboard::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -191,9 +196,9 @@ void setJSClipboardEffectAllowed(ExecState* exec, JSObject* thisObject, JSValue
imp->setEffectAllowed(value.toString(exec));
}
-JSValue JSClipboard::getConstructor(ExecState* exec)
+JSValue JSClipboard::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSClipboardConstructor>(exec);
+ return getDOMConstructor<JSClipboardConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsClipboardPrototypeFunctionClearData(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -232,9 +237,9 @@ JSValue JSC_HOST_CALL jsClipboardPrototypeFunctionSetDragImage(ExecState* exec,
return castedThisObj->setDragImage(exec, args);
}
-JSC::JSValue toJS(JSC::ExecState* exec, Clipboard* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, Clipboard* object)
{
- return getDOMObjectWrapper<JSClipboard>(exec, object);
+ return getDOMObjectWrapper<JSClipboard>(exec, globalObject, object);
}
Clipboard* toClipboard(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSClipboard.h b/src/3rdparty/webkit/WebCore/generated/JSClipboard.h
index a6fbe3b..68fbdf5 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSClipboard.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSClipboard.h
@@ -21,6 +21,7 @@
#ifndef JSClipboard_h
#define JSClipboard_h
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -29,10 +30,10 @@ namespace WebCore {
class Clipboard;
-class JSClipboard : public DOMObject {
- typedef DOMObject Base;
+class JSClipboard : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSClipboard(PassRefPtr<JSC::Structure>, PassRefPtr<Clipboard>);
+ JSClipboard(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<Clipboard>);
virtual ~JSClipboard();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -45,7 +46,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
// Custom attributes
JSC::JSValue types(JSC::ExecState*) const;
@@ -61,7 +62,7 @@ private:
RefPtr<Clipboard> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, Clipboard*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, Clipboard*);
Clipboard* toClipboard(JSC::JSValue);
class JSClipboardPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSComment.cpp b/src/3rdparty/webkit/WebCore/generated/JSComment.cpp
index 7905094..a1476cc 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSComment.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSComment.cpp
@@ -38,7 +38,7 @@ static const HashTableValue JSCommentTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCommentTable =
+static JSC_CONST_HASHTABLE HashTable JSCommentTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSCommentTableValues, 0 };
#else
@@ -52,19 +52,19 @@ static const HashTableValue JSCommentConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCommentConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSCommentConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSCommentConstructorTableValues, 0 };
#else
{ 1, 0, JSCommentConstructorTableValues, 0 };
#endif
-class JSCommentConstructor : public DOMObject {
+class JSCommentConstructor : public DOMConstructorObject {
public:
- JSCommentConstructor(ExecState* exec)
- : DOMObject(JSCommentConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSCommentConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSCommentConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSCommentPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSCommentPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -90,7 +90,7 @@ static const HashTableValue JSCommentPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCommentPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSCommentPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSCommentPrototypeTableValues, 0 };
#else
@@ -106,8 +106,8 @@ JSObject* JSCommentPrototype::self(ExecState* exec, JSGlobalObject* globalObject
const ClassInfo JSComment::s_info = { "Comment", &JSCharacterData::s_info, &JSCommentTable, 0 };
-JSComment::JSComment(PassRefPtr<Structure> structure, PassRefPtr<Comment> impl)
- : JSCharacterData(structure, impl)
+JSComment::JSComment(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<Comment> impl)
+ : JSCharacterData(structure, globalObject, impl)
{
}
@@ -123,11 +123,12 @@ bool JSComment::getOwnPropertySlot(ExecState* exec, const Identifier& propertyNa
JSValue jsCommentConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSComment*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSComment* domObject = static_cast<JSComment*>(asObject(slot.slotBase()));
+ return JSComment::getConstructor(exec, domObject->globalObject());
}
-JSValue JSComment::getConstructor(ExecState* exec)
+JSValue JSComment::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSCommentConstructor>(exec);
+ return getDOMConstructor<JSCommentConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSComment.h b/src/3rdparty/webkit/WebCore/generated/JSComment.h
index 802256e..f7d34aa 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSComment.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSComment.h
@@ -30,7 +30,7 @@ class Comment;
class JSComment : public JSCharacterData {
typedef JSCharacterData Base;
public:
- JSComment(PassRefPtr<JSC::Structure>, PassRefPtr<Comment>);
+ JSComment(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<Comment>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
@@ -41,7 +41,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSConsole.cpp b/src/3rdparty/webkit/WebCore/generated/JSConsole.cpp
index 24e5ef3..110c7e1 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSConsole.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSConsole.cpp
@@ -40,7 +40,7 @@ static const HashTableValue JSConsoleTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSConsoleTable =
+static JSC_CONST_HASHTABLE HashTable JSConsoleTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSConsoleTableValues, 0 };
#else
@@ -70,7 +70,7 @@ static const HashTableValue JSConsolePrototypeTableValues[17] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSConsolePrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSConsolePrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 511, JSConsolePrototypeTableValues, 0 };
#else
@@ -91,8 +91,8 @@ bool JSConsolePrototype::getOwnPropertySlot(ExecState* exec, const Identifier& p
const ClassInfo JSConsole::s_info = { "Console", 0, &JSConsoleTable, 0 };
-JSConsole::JSConsole(PassRefPtr<Structure> structure, PassRefPtr<Console> impl)
- : DOMObject(structure)
+JSConsole::JSConsole(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<Console> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -114,7 +114,8 @@ bool JSConsole::getOwnPropertySlot(ExecState* exec, const Identifier& propertyNa
JSValue jsConsoleProfiles(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSConsole*>(asObject(slot.slotBase()))->profiles(exec);
+ JSConsole* castedThis = static_cast<JSConsole*>(asObject(slot.slotBase()));
+ return castedThis->profiles(exec);
}
JSValue JSC_HOST_CALL jsConsolePrototypeFunctionDebug(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -328,9 +329,9 @@ JSValue JSC_HOST_CALL jsConsolePrototypeFunctionGroupEnd(ExecState* exec, JSObje
return jsUndefined();
}
-JSC::JSValue toJS(JSC::ExecState* exec, Console* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, Console* object)
{
- return getDOMObjectWrapper<JSConsole>(exec, object);
+ return getDOMObjectWrapper<JSConsole>(exec, globalObject, object);
}
Console* toConsole(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSConsole.h b/src/3rdparty/webkit/WebCore/generated/JSConsole.h
index 0b7f0d5..f66f53f 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSConsole.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSConsole.h
@@ -21,6 +21,7 @@
#ifndef JSConsole_h
#define JSConsole_h
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -29,10 +30,10 @@ namespace WebCore {
class Console;
-class JSConsole : public DOMObject {
- typedef DOMObject Base;
+class JSConsole : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSConsole(PassRefPtr<JSC::Structure>, PassRefPtr<Console>);
+ JSConsole(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<Console>);
virtual ~JSConsole();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -53,7 +54,7 @@ private:
RefPtr<Console> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, Console*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, Console*);
Console* toConsole(JSC::JSValue);
class JSConsolePrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSCoordinates.cpp b/src/3rdparty/webkit/WebCore/generated/JSCoordinates.cpp
index 0db560b..bddd8a9 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSCoordinates.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSCoordinates.cpp
@@ -48,7 +48,7 @@ static const HashTableValue JSCoordinatesTableValues[8] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCoordinatesTable =
+static JSC_CONST_HASHTABLE HashTable JSCoordinatesTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSCoordinatesTableValues, 0 };
#else
@@ -63,7 +63,7 @@ static const HashTableValue JSCoordinatesPrototypeTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCoordinatesPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSCoordinatesPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSCoordinatesPrototypeTableValues, 0 };
#else
@@ -84,8 +84,8 @@ bool JSCoordinatesPrototype::getOwnPropertySlot(ExecState* exec, const Identifie
const ClassInfo JSCoordinates::s_info = { "Coordinates", 0, &JSCoordinatesTable, 0 };
-JSCoordinates::JSCoordinates(PassRefPtr<Structure> structure, PassRefPtr<Coordinates> impl)
- : DOMObject(structure)
+JSCoordinates::JSCoordinates(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<Coordinates> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -107,43 +107,50 @@ bool JSCoordinates::getOwnPropertySlot(ExecState* exec, const Identifier& proper
JSValue jsCoordinatesLatitude(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSCoordinates* castedThis = static_cast<JSCoordinates*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Coordinates* imp = static_cast<Coordinates*>(static_cast<JSCoordinates*>(asObject(slot.slotBase()))->impl());
+ Coordinates* imp = static_cast<Coordinates*>(castedThis->impl());
return jsNumber(exec, imp->latitude());
}
JSValue jsCoordinatesLongitude(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSCoordinates* castedThis = static_cast<JSCoordinates*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Coordinates* imp = static_cast<Coordinates*>(static_cast<JSCoordinates*>(asObject(slot.slotBase()))->impl());
+ Coordinates* imp = static_cast<Coordinates*>(castedThis->impl());
return jsNumber(exec, imp->longitude());
}
JSValue jsCoordinatesAltitude(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSCoordinates*>(asObject(slot.slotBase()))->altitude(exec);
+ JSCoordinates* castedThis = static_cast<JSCoordinates*>(asObject(slot.slotBase()));
+ return castedThis->altitude(exec);
}
JSValue jsCoordinatesAccuracy(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSCoordinates* castedThis = static_cast<JSCoordinates*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Coordinates* imp = static_cast<Coordinates*>(static_cast<JSCoordinates*>(asObject(slot.slotBase()))->impl());
+ Coordinates* imp = static_cast<Coordinates*>(castedThis->impl());
return jsNumber(exec, imp->accuracy());
}
JSValue jsCoordinatesAltitudeAccuracy(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSCoordinates*>(asObject(slot.slotBase()))->altitudeAccuracy(exec);
+ JSCoordinates* castedThis = static_cast<JSCoordinates*>(asObject(slot.slotBase()));
+ return castedThis->altitudeAccuracy(exec);
}
JSValue jsCoordinatesHeading(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSCoordinates*>(asObject(slot.slotBase()))->heading(exec);
+ JSCoordinates* castedThis = static_cast<JSCoordinates*>(asObject(slot.slotBase()));
+ return castedThis->heading(exec);
}
JSValue jsCoordinatesSpeed(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSCoordinates*>(asObject(slot.slotBase()))->speed(exec);
+ JSCoordinates* castedThis = static_cast<JSCoordinates*>(asObject(slot.slotBase()));
+ return castedThis->speed(exec);
}
JSValue JSC_HOST_CALL jsCoordinatesPrototypeFunctionToString(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -159,9 +166,9 @@ JSValue JSC_HOST_CALL jsCoordinatesPrototypeFunctionToString(ExecState* exec, JS
return result;
}
-JSC::JSValue toJS(JSC::ExecState* exec, Coordinates* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, Coordinates* object)
{
- return getDOMObjectWrapper<JSCoordinates>(exec, object);
+ return getDOMObjectWrapper<JSCoordinates>(exec, globalObject, object);
}
Coordinates* toCoordinates(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSCoordinates.h b/src/3rdparty/webkit/WebCore/generated/JSCoordinates.h
index 8a8643d..d209540 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSCoordinates.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSCoordinates.h
@@ -21,6 +21,7 @@
#ifndef JSCoordinates_h
#define JSCoordinates_h
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -29,10 +30,10 @@ namespace WebCore {
class Coordinates;
-class JSCoordinates : public DOMObject {
- typedef DOMObject Base;
+class JSCoordinates : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSCoordinates(PassRefPtr<JSC::Structure>, PassRefPtr<Coordinates>);
+ JSCoordinates(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<Coordinates>);
virtual ~JSCoordinates();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -56,7 +57,7 @@ private:
RefPtr<Coordinates> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, Coordinates*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, Coordinates*);
Coordinates* toCoordinates(JSC::JSValue);
class JSCoordinatesPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSCounter.cpp b/src/3rdparty/webkit/WebCore/generated/JSCounter.cpp
index 03a3eb3..0269696 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSCounter.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSCounter.cpp
@@ -43,7 +43,7 @@ static const HashTableValue JSCounterTableValues[5] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCounterTable =
+static JSC_CONST_HASHTABLE HashTable JSCounterTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 63, JSCounterTableValues, 0 };
#else
@@ -57,19 +57,19 @@ static const HashTableValue JSCounterConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCounterConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSCounterConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSCounterConstructorTableValues, 0 };
#else
{ 1, 0, JSCounterConstructorTableValues, 0 };
#endif
-class JSCounterConstructor : public DOMObject {
+class JSCounterConstructor : public DOMConstructorObject {
public:
- JSCounterConstructor(ExecState* exec)
- : DOMObject(JSCounterConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSCounterConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSCounterConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSCounterPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSCounterPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -95,7 +95,7 @@ static const HashTableValue JSCounterPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCounterPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSCounterPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSCounterPrototypeTableValues, 0 };
#else
@@ -111,8 +111,8 @@ JSObject* JSCounterPrototype::self(ExecState* exec, JSGlobalObject* globalObject
const ClassInfo JSCounter::s_info = { "Counter", 0, &JSCounterTable, 0 };
-JSCounter::JSCounter(PassRefPtr<Structure> structure, PassRefPtr<Counter> impl)
- : DOMObject(structure)
+JSCounter::JSCounter(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<Counter> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -134,37 +134,41 @@ bool JSCounter::getOwnPropertySlot(ExecState* exec, const Identifier& propertyNa
JSValue jsCounterIdentifier(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSCounter* castedThis = static_cast<JSCounter*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Counter* imp = static_cast<Counter*>(static_cast<JSCounter*>(asObject(slot.slotBase()))->impl());
+ Counter* imp = static_cast<Counter*>(castedThis->impl());
return jsString(exec, imp->identifier());
}
JSValue jsCounterListStyle(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSCounter* castedThis = static_cast<JSCounter*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Counter* imp = static_cast<Counter*>(static_cast<JSCounter*>(asObject(slot.slotBase()))->impl());
+ Counter* imp = static_cast<Counter*>(castedThis->impl());
return jsString(exec, imp->listStyle());
}
JSValue jsCounterSeparator(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSCounter* castedThis = static_cast<JSCounter*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Counter* imp = static_cast<Counter*>(static_cast<JSCounter*>(asObject(slot.slotBase()))->impl());
+ Counter* imp = static_cast<Counter*>(castedThis->impl());
return jsString(exec, imp->separator());
}
JSValue jsCounterConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSCounter*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSCounter* domObject = static_cast<JSCounter*>(asObject(slot.slotBase()));
+ return JSCounter::getConstructor(exec, domObject->globalObject());
}
-JSValue JSCounter::getConstructor(ExecState* exec)
+JSValue JSCounter::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSCounterConstructor>(exec);
+ return getDOMConstructor<JSCounterConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
-JSC::JSValue toJS(JSC::ExecState* exec, Counter* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, Counter* object)
{
- return getDOMObjectWrapper<JSCounter>(exec, object);
+ return getDOMObjectWrapper<JSCounter>(exec, globalObject, object);
}
Counter* toCounter(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSCounter.h b/src/3rdparty/webkit/WebCore/generated/JSCounter.h
index ab195fe..cdfc523 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSCounter.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSCounter.h
@@ -21,6 +21,7 @@
#ifndef JSCounter_h
#define JSCounter_h
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -29,10 +30,10 @@ namespace WebCore {
class Counter;
-class JSCounter : public DOMObject {
- typedef DOMObject Base;
+class JSCounter : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSCounter(PassRefPtr<JSC::Structure>, PassRefPtr<Counter>);
+ JSCounter(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<Counter>);
virtual ~JSCounter();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -44,14 +45,14 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
Counter* impl() const { return m_impl.get(); }
private:
RefPtr<Counter> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, Counter*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, Counter*);
Counter* toCounter(JSC::JSValue);
class JSCounterPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSDOMApplicationCache.cpp b/src/3rdparty/webkit/WebCore/generated/JSDOMApplicationCache.cpp
index 0d7202b..bf55e99 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSDOMApplicationCache.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSDOMApplicationCache.cpp
@@ -57,7 +57,7 @@ static const HashTableValue JSDOMApplicationCacheTableValues[10] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSDOMApplicationCacheTable =
+static JSC_CONST_HASHTABLE HashTable JSDOMApplicationCacheTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 63, JSDOMApplicationCacheTableValues, 0 };
#else
@@ -82,7 +82,7 @@ static const HashTableValue JSDOMApplicationCachePrototypeTableValues[12] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSDOMApplicationCachePrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSDOMApplicationCachePrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 255, JSDOMApplicationCachePrototypeTableValues, 0 };
#else
@@ -103,8 +103,8 @@ bool JSDOMApplicationCachePrototype::getOwnPropertySlot(ExecState* exec, const I
const ClassInfo JSDOMApplicationCache::s_info = { "DOMApplicationCache", 0, &JSDOMApplicationCacheTable, 0 };
-JSDOMApplicationCache::JSDOMApplicationCache(PassRefPtr<Structure> structure, PassRefPtr<DOMApplicationCache> impl)
- : DOMObject(structure)
+JSDOMApplicationCache::JSDOMApplicationCache(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<DOMApplicationCache> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -126,15 +126,17 @@ bool JSDOMApplicationCache::getOwnPropertySlot(ExecState* exec, const Identifier
JSValue jsDOMApplicationCacheStatus(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDOMApplicationCache* castedThis = static_cast<JSDOMApplicationCache*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- DOMApplicationCache* imp = static_cast<DOMApplicationCache*>(static_cast<JSDOMApplicationCache*>(asObject(slot.slotBase()))->impl());
+ DOMApplicationCache* imp = static_cast<DOMApplicationCache*>(castedThis->impl());
return jsNumber(exec, imp->status());
}
JSValue jsDOMApplicationCacheOnchecking(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDOMApplicationCache* castedThis = static_cast<JSDOMApplicationCache*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- DOMApplicationCache* imp = static_cast<DOMApplicationCache*>(static_cast<JSDOMApplicationCache*>(asObject(slot.slotBase()))->impl());
+ DOMApplicationCache* imp = static_cast<DOMApplicationCache*>(castedThis->impl());
if (EventListener* listener = imp->onchecking()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -144,8 +146,9 @@ JSValue jsDOMApplicationCacheOnchecking(ExecState* exec, const Identifier&, cons
JSValue jsDOMApplicationCacheOnerror(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDOMApplicationCache* castedThis = static_cast<JSDOMApplicationCache*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- DOMApplicationCache* imp = static_cast<DOMApplicationCache*>(static_cast<JSDOMApplicationCache*>(asObject(slot.slotBase()))->impl());
+ DOMApplicationCache* imp = static_cast<DOMApplicationCache*>(castedThis->impl());
if (EventListener* listener = imp->onerror()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -155,8 +158,9 @@ JSValue jsDOMApplicationCacheOnerror(ExecState* exec, const Identifier&, const P
JSValue jsDOMApplicationCacheOnnoupdate(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDOMApplicationCache* castedThis = static_cast<JSDOMApplicationCache*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- DOMApplicationCache* imp = static_cast<DOMApplicationCache*>(static_cast<JSDOMApplicationCache*>(asObject(slot.slotBase()))->impl());
+ DOMApplicationCache* imp = static_cast<DOMApplicationCache*>(castedThis->impl());
if (EventListener* listener = imp->onnoupdate()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -166,8 +170,9 @@ JSValue jsDOMApplicationCacheOnnoupdate(ExecState* exec, const Identifier&, cons
JSValue jsDOMApplicationCacheOndownloading(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDOMApplicationCache* castedThis = static_cast<JSDOMApplicationCache*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- DOMApplicationCache* imp = static_cast<DOMApplicationCache*>(static_cast<JSDOMApplicationCache*>(asObject(slot.slotBase()))->impl());
+ DOMApplicationCache* imp = static_cast<DOMApplicationCache*>(castedThis->impl());
if (EventListener* listener = imp->ondownloading()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -177,8 +182,9 @@ JSValue jsDOMApplicationCacheOndownloading(ExecState* exec, const Identifier&, c
JSValue jsDOMApplicationCacheOnprogress(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDOMApplicationCache* castedThis = static_cast<JSDOMApplicationCache*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- DOMApplicationCache* imp = static_cast<DOMApplicationCache*>(static_cast<JSDOMApplicationCache*>(asObject(slot.slotBase()))->impl());
+ DOMApplicationCache* imp = static_cast<DOMApplicationCache*>(castedThis->impl());
if (EventListener* listener = imp->onprogress()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -188,8 +194,9 @@ JSValue jsDOMApplicationCacheOnprogress(ExecState* exec, const Identifier&, cons
JSValue jsDOMApplicationCacheOnupdateready(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDOMApplicationCache* castedThis = static_cast<JSDOMApplicationCache*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- DOMApplicationCache* imp = static_cast<DOMApplicationCache*>(static_cast<JSDOMApplicationCache*>(asObject(slot.slotBase()))->impl());
+ DOMApplicationCache* imp = static_cast<DOMApplicationCache*>(castedThis->impl());
if (EventListener* listener = imp->onupdateready()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -199,8 +206,9 @@ JSValue jsDOMApplicationCacheOnupdateready(ExecState* exec, const Identifier&, c
JSValue jsDOMApplicationCacheOncached(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDOMApplicationCache* castedThis = static_cast<JSDOMApplicationCache*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- DOMApplicationCache* imp = static_cast<DOMApplicationCache*>(static_cast<JSDOMApplicationCache*>(asObject(slot.slotBase()))->impl());
+ DOMApplicationCache* imp = static_cast<DOMApplicationCache*>(castedThis->impl());
if (EventListener* listener = imp->oncached()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -210,8 +218,9 @@ JSValue jsDOMApplicationCacheOncached(ExecState* exec, const Identifier&, const
JSValue jsDOMApplicationCacheOnobsolete(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDOMApplicationCache* castedThis = static_cast<JSDOMApplicationCache*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- DOMApplicationCache* imp = static_cast<DOMApplicationCache*>(static_cast<JSDOMApplicationCache*>(asObject(slot.slotBase()))->impl());
+ DOMApplicationCache* imp = static_cast<DOMApplicationCache*>(castedThis->impl());
if (EventListener* listener = imp->onobsolete()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -398,9 +407,9 @@ JSValue jsDOMApplicationCacheOBSOLETE(ExecState* exec, const Identifier&, const
return jsNumber(exec, static_cast<int>(5));
}
-JSC::JSValue toJS(JSC::ExecState* exec, DOMApplicationCache* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, DOMApplicationCache* object)
{
- return getDOMObjectWrapper<JSDOMApplicationCache>(exec, object);
+ return getDOMObjectWrapper<JSDOMApplicationCache>(exec, globalObject, object);
}
DOMApplicationCache* toDOMApplicationCache(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSDOMApplicationCache.h b/src/3rdparty/webkit/WebCore/generated/JSDOMApplicationCache.h
index 7a6ea14..6938f25 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSDOMApplicationCache.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSDOMApplicationCache.h
@@ -23,6 +23,7 @@
#if ENABLE(OFFLINE_WEB_APPLICATIONS)
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -31,10 +32,10 @@ namespace WebCore {
class DOMApplicationCache;
-class JSDOMApplicationCache : public DOMObject {
- typedef DOMObject Base;
+class JSDOMApplicationCache : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSDOMApplicationCache(PassRefPtr<JSC::Structure>, PassRefPtr<DOMApplicationCache>);
+ JSDOMApplicationCache(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<DOMApplicationCache>);
virtual ~JSDOMApplicationCache();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -59,7 +60,7 @@ private:
RefPtr<DOMApplicationCache> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, DOMApplicationCache*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, DOMApplicationCache*);
DOMApplicationCache* toDOMApplicationCache(JSC::JSValue);
class JSDOMApplicationCachePrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSDOMCoreException.cpp b/src/3rdparty/webkit/WebCore/generated/JSDOMCoreException.cpp
index 3b45220..da10b12 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSDOMCoreException.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSDOMCoreException.cpp
@@ -45,7 +45,7 @@ static const HashTableValue JSDOMCoreExceptionTableValues[5] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSDOMCoreExceptionTable =
+static JSC_CONST_HASHTABLE HashTable JSDOMCoreExceptionTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 127, JSDOMCoreExceptionTableValues, 0 };
#else
@@ -81,19 +81,19 @@ static const HashTableValue JSDOMCoreExceptionConstructorTableValues[23] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSDOMCoreExceptionConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSDOMCoreExceptionConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 511, JSDOMCoreExceptionConstructorTableValues, 0 };
#else
{ 67, 63, JSDOMCoreExceptionConstructorTableValues, 0 };
#endif
-class JSDOMCoreExceptionConstructor : public DOMObject {
+class JSDOMCoreExceptionConstructor : public DOMConstructorObject {
public:
- JSDOMCoreExceptionConstructor(ExecState* exec)
- : DOMObject(JSDOMCoreExceptionConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSDOMCoreExceptionConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSDOMCoreExceptionConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSDOMCoreExceptionPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSDOMCoreExceptionPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -142,7 +142,7 @@ static const HashTableValue JSDOMCoreExceptionPrototypeTableValues[24] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSDOMCoreExceptionPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSDOMCoreExceptionPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 511, JSDOMCoreExceptionPrototypeTableValues, 0 };
#else
@@ -163,8 +163,8 @@ bool JSDOMCoreExceptionPrototype::getOwnPropertySlot(ExecState* exec, const Iden
const ClassInfo JSDOMCoreException::s_info = { "DOMException", 0, &JSDOMCoreExceptionTable, 0 };
-JSDOMCoreException::JSDOMCoreException(PassRefPtr<Structure> structure, PassRefPtr<DOMCoreException> impl)
- : DOMObject(structure)
+JSDOMCoreException::JSDOMCoreException(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<DOMCoreException> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -186,32 +186,36 @@ bool JSDOMCoreException::getOwnPropertySlot(ExecState* exec, const Identifier& p
JSValue jsDOMCoreExceptionCode(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDOMCoreException* castedThis = static_cast<JSDOMCoreException*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- DOMCoreException* imp = static_cast<DOMCoreException*>(static_cast<JSDOMCoreException*>(asObject(slot.slotBase()))->impl());
+ DOMCoreException* imp = static_cast<DOMCoreException*>(castedThis->impl());
return jsNumber(exec, imp->code());
}
JSValue jsDOMCoreExceptionName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDOMCoreException* castedThis = static_cast<JSDOMCoreException*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- DOMCoreException* imp = static_cast<DOMCoreException*>(static_cast<JSDOMCoreException*>(asObject(slot.slotBase()))->impl());
+ DOMCoreException* imp = static_cast<DOMCoreException*>(castedThis->impl());
return jsString(exec, imp->name());
}
JSValue jsDOMCoreExceptionMessage(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDOMCoreException* castedThis = static_cast<JSDOMCoreException*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- DOMCoreException* imp = static_cast<DOMCoreException*>(static_cast<JSDOMCoreException*>(asObject(slot.slotBase()))->impl());
+ DOMCoreException* imp = static_cast<DOMCoreException*>(castedThis->impl());
return jsString(exec, imp->message());
}
JSValue jsDOMCoreExceptionConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSDOMCoreException*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSDOMCoreException* domObject = static_cast<JSDOMCoreException*>(asObject(slot.slotBase()));
+ return JSDOMCoreException::getConstructor(exec, domObject->globalObject());
}
-JSValue JSDOMCoreException::getConstructor(ExecState* exec)
+JSValue JSDOMCoreException::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSDOMCoreExceptionConstructor>(exec);
+ return getDOMConstructor<JSDOMCoreExceptionConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsDOMCoreExceptionPrototypeFunctionToString(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -339,9 +343,9 @@ JSValue jsDOMCoreExceptionQUOTA_EXCEEDED_ERR(ExecState* exec, const Identifier&,
return jsNumber(exec, static_cast<int>(22));
}
-JSC::JSValue toJS(JSC::ExecState* exec, DOMCoreException* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, DOMCoreException* object)
{
- return getDOMObjectWrapper<JSDOMCoreException>(exec, object);
+ return getDOMObjectWrapper<JSDOMCoreException>(exec, globalObject, object);
}
DOMCoreException* toDOMCoreException(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSDOMCoreException.h b/src/3rdparty/webkit/WebCore/generated/JSDOMCoreException.h
index 75b4328..e0a45f9 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSDOMCoreException.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSDOMCoreException.h
@@ -21,6 +21,7 @@
#ifndef JSDOMCoreException_h
#define JSDOMCoreException_h
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -29,10 +30,10 @@ namespace WebCore {
class DOMCoreException;
-class JSDOMCoreException : public DOMObject {
- typedef DOMObject Base;
+class JSDOMCoreException : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSDOMCoreException(PassRefPtr<JSC::Structure>, PassRefPtr<DOMCoreException>);
+ JSDOMCoreException(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<DOMCoreException>);
virtual ~JSDOMCoreException();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -44,14 +45,14 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
DOMCoreException* impl() const { return m_impl.get(); }
private:
RefPtr<DOMCoreException> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, DOMCoreException*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, DOMCoreException*);
DOMCoreException* toDOMCoreException(JSC::JSValue);
class JSDOMCoreExceptionPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSDOMImplementation.cpp b/src/3rdparty/webkit/WebCore/generated/JSDOMImplementation.cpp
index 1e2f950..6941521 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSDOMImplementation.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSDOMImplementation.cpp
@@ -48,7 +48,7 @@ static const HashTableValue JSDOMImplementationTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSDOMImplementationTable =
+static JSC_CONST_HASHTABLE HashTable JSDOMImplementationTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSDOMImplementationTableValues, 0 };
#else
@@ -62,19 +62,19 @@ static const HashTableValue JSDOMImplementationConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSDOMImplementationConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSDOMImplementationConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSDOMImplementationConstructorTableValues, 0 };
#else
{ 1, 0, JSDOMImplementationConstructorTableValues, 0 };
#endif
-class JSDOMImplementationConstructor : public DOMObject {
+class JSDOMImplementationConstructor : public DOMConstructorObject {
public:
- JSDOMImplementationConstructor(ExecState* exec)
- : DOMObject(JSDOMImplementationConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSDOMImplementationConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSDOMImplementationConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSDOMImplementationPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSDOMImplementationPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -105,7 +105,7 @@ static const HashTableValue JSDOMImplementationPrototypeTableValues[6] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSDOMImplementationPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSDOMImplementationPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 127, JSDOMImplementationPrototypeTableValues, 0 };
#else
@@ -126,8 +126,8 @@ bool JSDOMImplementationPrototype::getOwnPropertySlot(ExecState* exec, const Ide
const ClassInfo JSDOMImplementation::s_info = { "DOMImplementation", 0, &JSDOMImplementationTable, 0 };
-JSDOMImplementation::JSDOMImplementation(PassRefPtr<Structure> structure, PassRefPtr<DOMImplementation> impl)
- : DOMObject(structure)
+JSDOMImplementation::JSDOMImplementation(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<DOMImplementation> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -149,11 +149,12 @@ bool JSDOMImplementation::getOwnPropertySlot(ExecState* exec, const Identifier&
JSValue jsDOMImplementationConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSDOMImplementation*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSDOMImplementation* domObject = static_cast<JSDOMImplementation*>(asObject(slot.slotBase()));
+ return JSDOMImplementation::getConstructor(exec, domObject->globalObject());
}
-JSValue JSDOMImplementation::getConstructor(ExecState* exec)
+JSValue JSDOMImplementation::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSDOMImplementationConstructor>(exec);
+ return getDOMConstructor<JSDOMImplementationConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsDOMImplementationPrototypeFunctionHasFeature(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -184,7 +185,7 @@ JSValue JSC_HOST_CALL jsDOMImplementationPrototypeFunctionCreateDocumentType(Exe
const UString& systemId = valueToStringWithUndefinedOrNullCheck(exec, args.at(2));
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->createDocumentType(qualifiedName, publicId, systemId, ec)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->createDocumentType(qualifiedName, publicId, systemId, ec)));
setDOMException(exec, ec);
return result;
}
@@ -202,7 +203,7 @@ JSValue JSC_HOST_CALL jsDOMImplementationPrototypeFunctionCreateDocument(ExecSta
DocumentType* doctype = toDocumentType(args.at(2));
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->createDocument(namespaceURI, qualifiedName, doctype, ec)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->createDocument(namespaceURI, qualifiedName, doctype, ec)));
setDOMException(exec, ec);
return result;
}
@@ -219,7 +220,7 @@ JSValue JSC_HOST_CALL jsDOMImplementationPrototypeFunctionCreateCSSStyleSheet(Ex
const UString& media = args.at(1).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->createCSSStyleSheet(title, media, ec)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->createCSSStyleSheet(title, media, ec)));
setDOMException(exec, ec);
return result;
}
@@ -234,13 +235,13 @@ JSValue JSC_HOST_CALL jsDOMImplementationPrototypeFunctionCreateHTMLDocument(Exe
const UString& title = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->createHTMLDocument(title)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->createHTMLDocument(title)));
return result;
}
-JSC::JSValue toJS(JSC::ExecState* exec, DOMImplementation* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, DOMImplementation* object)
{
- return getDOMObjectWrapper<JSDOMImplementation>(exec, object);
+ return getDOMObjectWrapper<JSDOMImplementation>(exec, globalObject, object);
}
DOMImplementation* toDOMImplementation(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSDOMImplementation.h b/src/3rdparty/webkit/WebCore/generated/JSDOMImplementation.h
index e017778..b811110 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSDOMImplementation.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSDOMImplementation.h
@@ -21,6 +21,7 @@
#ifndef JSDOMImplementation_h
#define JSDOMImplementation_h
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -29,10 +30,10 @@ namespace WebCore {
class DOMImplementation;
-class JSDOMImplementation : public DOMObject {
- typedef DOMObject Base;
+class JSDOMImplementation : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSDOMImplementation(PassRefPtr<JSC::Structure>, PassRefPtr<DOMImplementation>);
+ JSDOMImplementation(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<DOMImplementation>);
virtual ~JSDOMImplementation();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -44,14 +45,14 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
DOMImplementation* impl() const { return m_impl.get(); }
private:
RefPtr<DOMImplementation> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, DOMImplementation*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, DOMImplementation*);
DOMImplementation* toDOMImplementation(JSC::JSValue);
class JSDOMImplementationPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSDOMParser.cpp b/src/3rdparty/webkit/WebCore/generated/JSDOMParser.cpp
index ffb4f70..31dd1fc 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSDOMParser.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSDOMParser.cpp
@@ -42,7 +42,7 @@ static const HashTableValue JSDOMParserTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSDOMParserTable =
+static JSC_CONST_HASHTABLE HashTable JSDOMParserTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSDOMParserTableValues, 0 };
#else
@@ -56,19 +56,19 @@ static const HashTableValue JSDOMParserConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSDOMParserConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSDOMParserConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSDOMParserConstructorTableValues, 0 };
#else
{ 1, 0, JSDOMParserConstructorTableValues, 0 };
#endif
-class JSDOMParserConstructor : public DOMObject {
+class JSDOMParserConstructor : public DOMConstructorObject {
public:
- JSDOMParserConstructor(ExecState* exec)
- : DOMObject(JSDOMParserConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSDOMParserConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSDOMParserConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSDOMParserPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSDOMParserPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -78,13 +78,13 @@ public:
{
return Structure::create(proto, TypeInfo(ObjectType, ImplementsHasInstance));
}
- static JSObject* construct(ExecState* exec, JSObject*, const ArgList&)
+ static JSObject* constructDOMParser(ExecState* exec, JSObject* constructor, const ArgList&)
{
- return asObject(toJS(exec, DOMParser::create()));
+ return asObject(toJS(exec, static_cast<JSDOMParserConstructor*>(constructor)->globalObject(), DOMParser::create()));
}
virtual ConstructType getConstructData(ConstructData& constructData)
{
- constructData.native.function = construct;
+ constructData.native.function = constructDOMParser;
return ConstructTypeHost;
}
};
@@ -104,7 +104,7 @@ static const HashTableValue JSDOMParserPrototypeTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSDOMParserPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSDOMParserPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSDOMParserPrototypeTableValues, 0 };
#else
@@ -125,8 +125,8 @@ bool JSDOMParserPrototype::getOwnPropertySlot(ExecState* exec, const Identifier&
const ClassInfo JSDOMParser::s_info = { "DOMParser", 0, &JSDOMParserTable, 0 };
-JSDOMParser::JSDOMParser(PassRefPtr<Structure> structure, PassRefPtr<DOMParser> impl)
- : DOMObject(structure)
+JSDOMParser::JSDOMParser(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<DOMParser> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -148,11 +148,12 @@ bool JSDOMParser::getOwnPropertySlot(ExecState* exec, const Identifier& property
JSValue jsDOMParserConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSDOMParser*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSDOMParser* domObject = static_cast<JSDOMParser*>(asObject(slot.slotBase()));
+ return JSDOMParser::getConstructor(exec, domObject->globalObject());
}
-JSValue JSDOMParser::getConstructor(ExecState* exec)
+JSValue JSDOMParser::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSDOMParserConstructor>(exec);
+ return getDOMConstructor<JSDOMParserConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsDOMParserPrototypeFunctionParseFromString(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -166,13 +167,13 @@ JSValue JSC_HOST_CALL jsDOMParserPrototypeFunctionParseFromString(ExecState* exe
const UString& contentType = args.at(1).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->parseFromString(str, contentType)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->parseFromString(str, contentType)));
return result;
}
-JSC::JSValue toJS(JSC::ExecState* exec, DOMParser* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, DOMParser* object)
{
- return getDOMObjectWrapper<JSDOMParser>(exec, object);
+ return getDOMObjectWrapper<JSDOMParser>(exec, globalObject, object);
}
DOMParser* toDOMParser(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSDOMParser.h b/src/3rdparty/webkit/WebCore/generated/JSDOMParser.h
index cfdbe9b..2271e18 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSDOMParser.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSDOMParser.h
@@ -21,6 +21,7 @@
#ifndef JSDOMParser_h
#define JSDOMParser_h
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -29,10 +30,10 @@ namespace WebCore {
class DOMParser;
-class JSDOMParser : public DOMObject {
- typedef DOMObject Base;
+class JSDOMParser : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSDOMParser(PassRefPtr<JSC::Structure>, PassRefPtr<DOMParser>);
+ JSDOMParser(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<DOMParser>);
virtual ~JSDOMParser();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -44,14 +45,14 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
DOMParser* impl() const { return m_impl.get(); }
private:
RefPtr<DOMParser> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, DOMParser*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, DOMParser*);
DOMParser* toDOMParser(JSC::JSValue);
class JSDOMParserPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSDOMSelection.cpp b/src/3rdparty/webkit/WebCore/generated/JSDOMSelection.cpp
index 422c410..ffb842a 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSDOMSelection.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSDOMSelection.cpp
@@ -56,7 +56,7 @@ static const HashTableValue JSDOMSelectionTableValues[12] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSDOMSelectionTable =
+static JSC_CONST_HASHTABLE HashTable JSDOMSelectionTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 63, JSDOMSelectionTableValues, 0 };
#else
@@ -85,7 +85,7 @@ static const HashTableValue JSDOMSelectionPrototypeTableValues[16] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSDOMSelectionPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSDOMSelectionPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 2047, JSDOMSelectionPrototypeTableValues, 0 };
#else
@@ -106,8 +106,8 @@ bool JSDOMSelectionPrototype::getOwnPropertySlot(ExecState* exec, const Identifi
const ClassInfo JSDOMSelection::s_info = { "DOMSelection", 0, &JSDOMSelectionTable, 0 };
-JSDOMSelection::JSDOMSelection(PassRefPtr<Structure> structure, PassRefPtr<DOMSelection> impl)
- : DOMObject(structure)
+JSDOMSelection::JSDOMSelection(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<DOMSelection> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -129,78 +129,89 @@ bool JSDOMSelection::getOwnPropertySlot(ExecState* exec, const Identifier& prope
JSValue jsDOMSelectionAnchorNode(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDOMSelection* castedThis = static_cast<JSDOMSelection*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- DOMSelection* imp = static_cast<DOMSelection*>(static_cast<JSDOMSelection*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->anchorNode()));
+ DOMSelection* imp = static_cast<DOMSelection*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->anchorNode()));
}
JSValue jsDOMSelectionAnchorOffset(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDOMSelection* castedThis = static_cast<JSDOMSelection*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- DOMSelection* imp = static_cast<DOMSelection*>(static_cast<JSDOMSelection*>(asObject(slot.slotBase()))->impl());
+ DOMSelection* imp = static_cast<DOMSelection*>(castedThis->impl());
return jsNumber(exec, imp->anchorOffset());
}
JSValue jsDOMSelectionFocusNode(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDOMSelection* castedThis = static_cast<JSDOMSelection*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- DOMSelection* imp = static_cast<DOMSelection*>(static_cast<JSDOMSelection*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->focusNode()));
+ DOMSelection* imp = static_cast<DOMSelection*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->focusNode()));
}
JSValue jsDOMSelectionFocusOffset(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDOMSelection* castedThis = static_cast<JSDOMSelection*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- DOMSelection* imp = static_cast<DOMSelection*>(static_cast<JSDOMSelection*>(asObject(slot.slotBase()))->impl());
+ DOMSelection* imp = static_cast<DOMSelection*>(castedThis->impl());
return jsNumber(exec, imp->focusOffset());
}
JSValue jsDOMSelectionIsCollapsed(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDOMSelection* castedThis = static_cast<JSDOMSelection*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- DOMSelection* imp = static_cast<DOMSelection*>(static_cast<JSDOMSelection*>(asObject(slot.slotBase()))->impl());
+ DOMSelection* imp = static_cast<DOMSelection*>(castedThis->impl());
return jsBoolean(imp->isCollapsed());
}
JSValue jsDOMSelectionRangeCount(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDOMSelection* castedThis = static_cast<JSDOMSelection*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- DOMSelection* imp = static_cast<DOMSelection*>(static_cast<JSDOMSelection*>(asObject(slot.slotBase()))->impl());
+ DOMSelection* imp = static_cast<DOMSelection*>(castedThis->impl());
return jsNumber(exec, imp->rangeCount());
}
JSValue jsDOMSelectionBaseNode(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDOMSelection* castedThis = static_cast<JSDOMSelection*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- DOMSelection* imp = static_cast<DOMSelection*>(static_cast<JSDOMSelection*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->baseNode()));
+ DOMSelection* imp = static_cast<DOMSelection*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->baseNode()));
}
JSValue jsDOMSelectionBaseOffset(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDOMSelection* castedThis = static_cast<JSDOMSelection*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- DOMSelection* imp = static_cast<DOMSelection*>(static_cast<JSDOMSelection*>(asObject(slot.slotBase()))->impl());
+ DOMSelection* imp = static_cast<DOMSelection*>(castedThis->impl());
return jsNumber(exec, imp->baseOffset());
}
JSValue jsDOMSelectionExtentNode(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDOMSelection* castedThis = static_cast<JSDOMSelection*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- DOMSelection* imp = static_cast<DOMSelection*>(static_cast<JSDOMSelection*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->extentNode()));
+ DOMSelection* imp = static_cast<DOMSelection*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->extentNode()));
}
JSValue jsDOMSelectionExtentOffset(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDOMSelection* castedThis = static_cast<JSDOMSelection*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- DOMSelection* imp = static_cast<DOMSelection*>(static_cast<JSDOMSelection*>(asObject(slot.slotBase()))->impl());
+ DOMSelection* imp = static_cast<DOMSelection*>(castedThis->impl());
return jsNumber(exec, imp->extentOffset());
}
JSValue jsDOMSelectionType(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDOMSelection* castedThis = static_cast<JSDOMSelection*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- DOMSelection* imp = static_cast<DOMSelection*>(static_cast<JSDOMSelection*>(asObject(slot.slotBase()))->impl());
+ DOMSelection* imp = static_cast<DOMSelection*>(castedThis->impl());
return jsString(exec, imp->type());
}
@@ -313,7 +324,7 @@ JSValue JSC_HOST_CALL jsDOMSelectionPrototypeFunctionGetRangeAt(ExecState* exec,
int index = args.at(0).toInt32(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getRangeAt(index, ec)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getRangeAt(index, ec)));
setDOMException(exec, ec);
return result;
}
@@ -417,9 +428,9 @@ JSValue JSC_HOST_CALL jsDOMSelectionPrototypeFunctionEmpty(ExecState* exec, JSOb
return jsUndefined();
}
-JSC::JSValue toJS(JSC::ExecState* exec, DOMSelection* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, DOMSelection* object)
{
- return getDOMObjectWrapper<JSDOMSelection>(exec, object);
+ return getDOMObjectWrapper<JSDOMSelection>(exec, globalObject, object);
}
DOMSelection* toDOMSelection(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSDOMSelection.h b/src/3rdparty/webkit/WebCore/generated/JSDOMSelection.h
index 2af8cbd..a0fae0a 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSDOMSelection.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSDOMSelection.h
@@ -21,6 +21,7 @@
#ifndef JSDOMSelection_h
#define JSDOMSelection_h
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -29,10 +30,10 @@ namespace WebCore {
class DOMSelection;
-class JSDOMSelection : public DOMObject {
- typedef DOMObject Base;
+class JSDOMSelection : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSDOMSelection(PassRefPtr<JSC::Structure>, PassRefPtr<DOMSelection>);
+ JSDOMSelection(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<DOMSelection>);
virtual ~JSDOMSelection();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -50,7 +51,7 @@ private:
RefPtr<DOMSelection> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, DOMSelection*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, DOMSelection*);
DOMSelection* toDOMSelection(JSC::JSValue);
class JSDOMSelectionPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSDOMWindow.cpp b/src/3rdparty/webkit/WebCore/generated/JSDOMWindow.cpp
index d9c3ed9..364a975 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSDOMWindow.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSDOMWindow.cpp
@@ -94,6 +94,7 @@
#include "JSHTMLCanvasElement.h"
#include "JSHTMLCollection.h"
#include "JSHTMLDListElement.h"
+#include "JSHTMLDataGridCellElement.h"
#include "JSHTMLDataGridColElement.h"
#include "JSHTMLDataGridElement.h"
#include "JSHTMLDirectoryElement.h"
@@ -148,7 +149,9 @@
#include "JSKeyboardEvent.h"
#include "JSMediaError.h"
#include "JSMediaList.h"
+#include "JSMessageChannel.h"
#include "JSMessageEvent.h"
+#include "JSMessagePort.h"
#include "JSMimeType.h"
#include "JSMimeTypeArray.h"
#include "JSMouseEvent.h"
@@ -164,6 +167,7 @@
#include "JSPluginArray.h"
#include "JSProcessingInstruction.h"
#include "JSProgressEvent.h"
+#include "JSRGBColor.h"
#include "JSRange.h"
#include "JSRangeException.h"
#include "JSRect.h"
@@ -225,7 +229,7 @@ ASSERT_CLASS_FITS_IN_CELL(JSDOMWindow);
/* Hash table */
-static const HashTableValue JSDOMWindowTableValues[272] =
+static const HashTableValue JSDOMWindowTableValues[276] =
{
{ "screen", DontDelete|ReadOnly, (intptr_t)jsDOMWindowScreen, (intptr_t)0 },
{ "history", DontDelete|ReadOnly, (intptr_t)jsDOMWindowHistory, (intptr_t)0 },
@@ -354,6 +358,7 @@ static const HashTableValue JSDOMWindowTableValues[272] =
{ "Counter", DontDelete, (intptr_t)jsDOMWindowCounterConstructor, (intptr_t)setJSDOMWindowCounterConstructor },
{ "CSSRuleList", DontDelete, (intptr_t)jsDOMWindowCSSRuleListConstructor, (intptr_t)setJSDOMWindowCSSRuleListConstructor },
{ "Rect", DontDelete, (intptr_t)jsDOMWindowRectConstructor, (intptr_t)setJSDOMWindowRectConstructor },
+ { "RGBColor", DontDelete, (intptr_t)jsDOMWindowRGBColorConstructor, (intptr_t)setJSDOMWindowRGBColorConstructor },
{ "StyleSheetList", DontDelete, (intptr_t)jsDOMWindowStyleSheetListConstructor, (intptr_t)setJSDOMWindowStyleSheetListConstructor },
{ "DOMException", DontDelete, (intptr_t)jsDOMWindowDOMExceptionConstructor, (intptr_t)setJSDOMWindowDOMExceptionConstructor },
{ "DOMImplementation", DontDelete, (intptr_t)jsDOMWindowDOMImplementationConstructor, (intptr_t)setJSDOMWindowDOMImplementationConstructor },
@@ -385,8 +390,15 @@ static const HashTableValue JSDOMWindowTableValues[272] =
{ "HTMLBodyElement", DontDelete, (intptr_t)jsDOMWindowHTMLBodyElementConstructor, (intptr_t)setJSDOMWindowHTMLBodyElementConstructor },
{ "HTMLButtonElement", DontDelete, (intptr_t)jsDOMWindowHTMLButtonElementConstructor, (intptr_t)setJSDOMWindowHTMLButtonElementConstructor },
{ "HTMLCanvasElement", DontDelete, (intptr_t)jsDOMWindowHTMLCanvasElementConstructor, (intptr_t)setJSDOMWindowHTMLCanvasElementConstructor },
+#if ENABLE(DATAGRID)
{ "HTMLDataGridElement", DontDelete, (intptr_t)jsDOMWindowHTMLDataGridElementConstructor, (intptr_t)setJSDOMWindowHTMLDataGridElementConstructor },
+#endif
+#if ENABLE(DATAGRID)
+ { "HTMLDataGridCellElement", DontDelete, (intptr_t)jsDOMWindowHTMLDataGridCellElementConstructor, (intptr_t)setJSDOMWindowHTMLDataGridCellElementConstructor },
+#endif
+#if ENABLE(DATAGRID)
{ "HTMLDataGridColElement", DontDelete, (intptr_t)jsDOMWindowHTMLDataGridColElementConstructor, (intptr_t)setJSDOMWindowHTMLDataGridColElementConstructor },
+#endif
{ "HTMLDListElement", DontDelete, (intptr_t)jsDOMWindowHTMLDListElementConstructor, (intptr_t)setJSDOMWindowHTMLDListElementConstructor },
{ "HTMLDirectoryElement", DontDelete, (intptr_t)jsDOMWindowHTMLDirectoryElementConstructor, (intptr_t)setJSDOMWindowHTMLDirectoryElementConstructor },
{ "HTMLDivElement", DontDelete, (intptr_t)jsDOMWindowHTMLDivElementConstructor, (intptr_t)setJSDOMWindowHTMLDivElementConstructor },
@@ -467,6 +479,8 @@ static const HashTableValue JSDOMWindowTableValues[272] =
{ "XMLHttpRequest", DontDelete, (intptr_t)jsDOMWindowXMLHttpRequestConstructor, (intptr_t)setJSDOMWindowXMLHttpRequestConstructor },
{ "XMLHttpRequestUpload", DontDelete, (intptr_t)jsDOMWindowXMLHttpRequestUploadConstructor, (intptr_t)setJSDOMWindowXMLHttpRequestUploadConstructor },
{ "XMLHttpRequestException", DontDelete, (intptr_t)jsDOMWindowXMLHttpRequestExceptionConstructor, (intptr_t)setJSDOMWindowXMLHttpRequestExceptionConstructor },
+ { "MessagePort", DontDelete, (intptr_t)jsDOMWindowMessagePortConstructor, (intptr_t)setJSDOMWindowMessagePortConstructor },
+ { "MessageChannel", DontDelete, (intptr_t)jsDOMWindowMessageChannelConstructor, (intptr_t)setJSDOMWindowMessageChannelConstructor },
{ "Worker", DontDelete, (intptr_t)jsDOMWindowWorkerConstructor, (intptr_t)setJSDOMWindowWorkerConstructor },
{ "Plugin", DontDelete, (intptr_t)jsDOMWindowPluginConstructor, (intptr_t)setJSDOMWindowPluginConstructor },
{ "PluginArray", DontDelete, (intptr_t)jsDOMWindowPluginArrayConstructor, (intptr_t)setJSDOMWindowPluginArrayConstructor },
@@ -511,7 +525,7 @@ static const HashTableValue JSDOMWindowTableValues[272] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSDOMWindowTable =
+static JSC_CONST_HASHTABLE HashTable JSDOMWindowTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 32767, JSDOMWindowTableValues, 0 };
#else
@@ -561,7 +575,7 @@ static const HashTableValue JSDOMWindowPrototypeTableValues[37] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSDOMWindowPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSDOMWindowPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 1023, JSDOMWindowPrototypeTableValues, 0 };
#else
@@ -594,386 +608,432 @@ JSDOMWindow::~JSDOMWindow()
JSValue jsDOMWindowScreen(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->screen()));
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->screen()));
}
JSValue jsDOMWindowHistory(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->history(exec);
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ return castedThis->history(exec);
}
JSValue jsDOMWindowLocationbar(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->locationbar()));
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->locationbar()));
}
JSValue jsDOMWindowMenubar(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->menubar()));
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->menubar()));
}
JSValue jsDOMWindowPersonalbar(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->personalbar()));
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->personalbar()));
}
JSValue jsDOMWindowScrollbars(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->scrollbars()));
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->scrollbars()));
}
JSValue jsDOMWindowStatusbar(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->statusbar()));
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->statusbar()));
}
JSValue jsDOMWindowToolbar(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->toolbar()));
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->toolbar()));
}
JSValue jsDOMWindowNavigator(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->navigator()));
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->navigator()));
}
JSValue jsDOMWindowClientInformation(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->clientInformation()));
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->clientInformation()));
}
JSValue jsDOMWindowLocation(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->location(exec);
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ return castedThis->location(exec);
}
JSValue jsDOMWindowEvent(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- return static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->event(exec);
+ return castedThis->event(exec);
}
JSValue jsDOMWindowCrypto(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- return static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->crypto(exec);
+ return castedThis->crypto(exec);
}
JSValue jsDOMWindowFrameElement(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
- return checkNodeSecurity(exec, imp->frameElement()) ? toJS(exec, WTF::getPtr(imp->frameElement())) : jsUndefined();
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
+ return checkNodeSecurity(exec, imp->frameElement()) ? toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->frameElement())) : jsUndefined();
}
JSValue jsDOMWindowOffscreenBuffering(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
return jsBoolean(imp->offscreenBuffering());
}
JSValue jsDOMWindowOuterHeight(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
return jsNumber(exec, imp->outerHeight());
}
JSValue jsDOMWindowOuterWidth(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
return jsNumber(exec, imp->outerWidth());
}
JSValue jsDOMWindowInnerHeight(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
return jsNumber(exec, imp->innerHeight());
}
JSValue jsDOMWindowInnerWidth(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
return jsNumber(exec, imp->innerWidth());
}
JSValue jsDOMWindowScreenX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
return jsNumber(exec, imp->screenX());
}
JSValue jsDOMWindowScreenY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
return jsNumber(exec, imp->screenY());
}
JSValue jsDOMWindowScreenLeft(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
return jsNumber(exec, imp->screenLeft());
}
JSValue jsDOMWindowScreenTop(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
return jsNumber(exec, imp->screenTop());
}
JSValue jsDOMWindowScrollX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
return jsNumber(exec, imp->scrollX());
}
JSValue jsDOMWindowScrollY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
return jsNumber(exec, imp->scrollY());
}
JSValue jsDOMWindowPageXOffset(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
return jsNumber(exec, imp->pageXOffset());
}
JSValue jsDOMWindowPageYOffset(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
return jsNumber(exec, imp->pageYOffset());
}
JSValue jsDOMWindowClosed(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
return jsBoolean(imp->closed());
}
JSValue jsDOMWindowLength(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
return jsNumber(exec, imp->length());
}
JSValue jsDOMWindowName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
return jsString(exec, imp->name());
}
JSValue jsDOMWindowStatus(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
return jsString(exec, imp->status());
}
JSValue jsDOMWindowDefaultStatus(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
return jsString(exec, imp->defaultStatus());
}
JSValue jsDOMWindowDefaultstatus(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
return jsString(exec, imp->defaultstatus());
}
JSValue jsDOMWindowSelf(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->self()));
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->self()));
}
JSValue jsDOMWindowWindow(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->window()));
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->window()));
}
JSValue jsDOMWindowFrames(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->frames()));
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->frames()));
}
JSValue jsDOMWindowOpener(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->opener()));
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->opener()));
}
JSValue jsDOMWindowParent(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->parent()));
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->parent()));
}
JSValue jsDOMWindowTop(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->top()));
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->top()));
}
JSValue jsDOMWindowDocument(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->document()));
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->document()));
}
JSValue jsDOMWindowDevicePixelRatio(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
return jsNumber(exec, imp->devicePixelRatio());
}
JSValue jsDOMWindowApplicationCache(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->applicationCache()));
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->applicationCache()));
}
JSValue jsDOMWindowSessionStorage(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->sessionStorage()));
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->sessionStorage()));
}
JSValue jsDOMWindowLocalStorage(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->localStorage()));
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->localStorage()));
}
JSValue jsDOMWindowConsole(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->console()));
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->console()));
}
JSValue jsDOMWindowOnabort(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->onabort()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -983,10 +1043,11 @@ JSValue jsDOMWindowOnabort(ExecState* exec, const Identifier&, const PropertySlo
JSValue jsDOMWindowOnbeforeunload(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->onbeforeunload()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -996,10 +1057,11 @@ JSValue jsDOMWindowOnbeforeunload(ExecState* exec, const Identifier&, const Prop
JSValue jsDOMWindowOnblur(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->onblur()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -1009,10 +1071,11 @@ JSValue jsDOMWindowOnblur(ExecState* exec, const Identifier&, const PropertySlot
JSValue jsDOMWindowOncanplay(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->oncanplay()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -1022,10 +1085,11 @@ JSValue jsDOMWindowOncanplay(ExecState* exec, const Identifier&, const PropertyS
JSValue jsDOMWindowOncanplaythrough(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->oncanplaythrough()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -1035,10 +1099,11 @@ JSValue jsDOMWindowOncanplaythrough(ExecState* exec, const Identifier&, const Pr
JSValue jsDOMWindowOnchange(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->onchange()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -1048,10 +1113,11 @@ JSValue jsDOMWindowOnchange(ExecState* exec, const Identifier&, const PropertySl
JSValue jsDOMWindowOnclick(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->onclick()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -1061,10 +1127,11 @@ JSValue jsDOMWindowOnclick(ExecState* exec, const Identifier&, const PropertySlo
JSValue jsDOMWindowOncontextmenu(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->oncontextmenu()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -1074,10 +1141,11 @@ JSValue jsDOMWindowOncontextmenu(ExecState* exec, const Identifier&, const Prope
JSValue jsDOMWindowOndblclick(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->ondblclick()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -1087,10 +1155,11 @@ JSValue jsDOMWindowOndblclick(ExecState* exec, const Identifier&, const Property
JSValue jsDOMWindowOndrag(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->ondrag()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -1100,10 +1169,11 @@ JSValue jsDOMWindowOndrag(ExecState* exec, const Identifier&, const PropertySlot
JSValue jsDOMWindowOndragend(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->ondragend()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -1113,10 +1183,11 @@ JSValue jsDOMWindowOndragend(ExecState* exec, const Identifier&, const PropertyS
JSValue jsDOMWindowOndragenter(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->ondragenter()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -1126,10 +1197,11 @@ JSValue jsDOMWindowOndragenter(ExecState* exec, const Identifier&, const Propert
JSValue jsDOMWindowOndragleave(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->ondragleave()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -1139,10 +1211,11 @@ JSValue jsDOMWindowOndragleave(ExecState* exec, const Identifier&, const Propert
JSValue jsDOMWindowOndragover(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->ondragover()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -1152,10 +1225,11 @@ JSValue jsDOMWindowOndragover(ExecState* exec, const Identifier&, const Property
JSValue jsDOMWindowOndragstart(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->ondragstart()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -1165,10 +1239,11 @@ JSValue jsDOMWindowOndragstart(ExecState* exec, const Identifier&, const Propert
JSValue jsDOMWindowOndrop(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->ondrop()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -1178,10 +1253,11 @@ JSValue jsDOMWindowOndrop(ExecState* exec, const Identifier&, const PropertySlot
JSValue jsDOMWindowOndurationchange(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->ondurationchange()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -1191,10 +1267,11 @@ JSValue jsDOMWindowOndurationchange(ExecState* exec, const Identifier&, const Pr
JSValue jsDOMWindowOnemptied(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->onemptied()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -1204,10 +1281,11 @@ JSValue jsDOMWindowOnemptied(ExecState* exec, const Identifier&, const PropertyS
JSValue jsDOMWindowOnended(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->onended()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -1217,10 +1295,11 @@ JSValue jsDOMWindowOnended(ExecState* exec, const Identifier&, const PropertySlo
JSValue jsDOMWindowOnerror(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->onerror()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -1230,10 +1309,11 @@ JSValue jsDOMWindowOnerror(ExecState* exec, const Identifier&, const PropertySlo
JSValue jsDOMWindowOnfocus(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->onfocus()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -1243,10 +1323,11 @@ JSValue jsDOMWindowOnfocus(ExecState* exec, const Identifier&, const PropertySlo
JSValue jsDOMWindowOninput(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->oninput()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -1256,10 +1337,11 @@ JSValue jsDOMWindowOninput(ExecState* exec, const Identifier&, const PropertySlo
JSValue jsDOMWindowOnkeydown(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->onkeydown()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -1269,10 +1351,11 @@ JSValue jsDOMWindowOnkeydown(ExecState* exec, const Identifier&, const PropertyS
JSValue jsDOMWindowOnkeypress(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->onkeypress()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -1282,10 +1365,11 @@ JSValue jsDOMWindowOnkeypress(ExecState* exec, const Identifier&, const Property
JSValue jsDOMWindowOnkeyup(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->onkeyup()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -1295,10 +1379,11 @@ JSValue jsDOMWindowOnkeyup(ExecState* exec, const Identifier&, const PropertySlo
JSValue jsDOMWindowOnload(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->onload()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -1308,10 +1393,11 @@ JSValue jsDOMWindowOnload(ExecState* exec, const Identifier&, const PropertySlot
JSValue jsDOMWindowOnloadeddata(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->onloadeddata()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -1321,10 +1407,11 @@ JSValue jsDOMWindowOnloadeddata(ExecState* exec, const Identifier&, const Proper
JSValue jsDOMWindowOnloadedmetadata(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->onloadedmetadata()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -1334,10 +1421,11 @@ JSValue jsDOMWindowOnloadedmetadata(ExecState* exec, const Identifier&, const Pr
JSValue jsDOMWindowOnloadstart(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->onloadstart()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -1347,10 +1435,11 @@ JSValue jsDOMWindowOnloadstart(ExecState* exec, const Identifier&, const Propert
JSValue jsDOMWindowOnmessage(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->onmessage()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -1360,10 +1449,11 @@ JSValue jsDOMWindowOnmessage(ExecState* exec, const Identifier&, const PropertyS
JSValue jsDOMWindowOnmousedown(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->onmousedown()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -1373,10 +1463,11 @@ JSValue jsDOMWindowOnmousedown(ExecState* exec, const Identifier&, const Propert
JSValue jsDOMWindowOnmousemove(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->onmousemove()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -1386,10 +1477,11 @@ JSValue jsDOMWindowOnmousemove(ExecState* exec, const Identifier&, const Propert
JSValue jsDOMWindowOnmouseout(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->onmouseout()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -1399,10 +1491,11 @@ JSValue jsDOMWindowOnmouseout(ExecState* exec, const Identifier&, const Property
JSValue jsDOMWindowOnmouseover(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->onmouseover()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -1412,10 +1505,11 @@ JSValue jsDOMWindowOnmouseover(ExecState* exec, const Identifier&, const Propert
JSValue jsDOMWindowOnmouseup(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->onmouseup()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -1425,10 +1519,11 @@ JSValue jsDOMWindowOnmouseup(ExecState* exec, const Identifier&, const PropertyS
JSValue jsDOMWindowOnmousewheel(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->onmousewheel()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -1438,10 +1533,11 @@ JSValue jsDOMWindowOnmousewheel(ExecState* exec, const Identifier&, const Proper
JSValue jsDOMWindowOnoffline(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->onoffline()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -1451,10 +1547,11 @@ JSValue jsDOMWindowOnoffline(ExecState* exec, const Identifier&, const PropertyS
JSValue jsDOMWindowOnonline(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->ononline()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -1464,10 +1561,11 @@ JSValue jsDOMWindowOnonline(ExecState* exec, const Identifier&, const PropertySl
JSValue jsDOMWindowOnpause(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->onpause()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -1477,10 +1575,11 @@ JSValue jsDOMWindowOnpause(ExecState* exec, const Identifier&, const PropertySlo
JSValue jsDOMWindowOnplay(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->onplay()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -1490,10 +1589,11 @@ JSValue jsDOMWindowOnplay(ExecState* exec, const Identifier&, const PropertySlot
JSValue jsDOMWindowOnplaying(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->onplaying()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -1503,10 +1603,11 @@ JSValue jsDOMWindowOnplaying(ExecState* exec, const Identifier&, const PropertyS
JSValue jsDOMWindowOnprogress(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->onprogress()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -1516,10 +1617,11 @@ JSValue jsDOMWindowOnprogress(ExecState* exec, const Identifier&, const Property
JSValue jsDOMWindowOnratechange(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->onratechange()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -1529,10 +1631,11 @@ JSValue jsDOMWindowOnratechange(ExecState* exec, const Identifier&, const Proper
JSValue jsDOMWindowOnresize(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->onresize()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -1542,10 +1645,11 @@ JSValue jsDOMWindowOnresize(ExecState* exec, const Identifier&, const PropertySl
JSValue jsDOMWindowOnscroll(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->onscroll()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -1555,10 +1659,11 @@ JSValue jsDOMWindowOnscroll(ExecState* exec, const Identifier&, const PropertySl
JSValue jsDOMWindowOnseeked(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->onseeked()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -1568,10 +1673,11 @@ JSValue jsDOMWindowOnseeked(ExecState* exec, const Identifier&, const PropertySl
JSValue jsDOMWindowOnseeking(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->onseeking()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -1581,10 +1687,11 @@ JSValue jsDOMWindowOnseeking(ExecState* exec, const Identifier&, const PropertyS
JSValue jsDOMWindowOnselect(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->onselect()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -1594,10 +1701,11 @@ JSValue jsDOMWindowOnselect(ExecState* exec, const Identifier&, const PropertySl
JSValue jsDOMWindowOnstalled(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->onstalled()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -1607,10 +1715,11 @@ JSValue jsDOMWindowOnstalled(ExecState* exec, const Identifier&, const PropertyS
JSValue jsDOMWindowOnstorage(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->onstorage()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -1620,10 +1729,11 @@ JSValue jsDOMWindowOnstorage(ExecState* exec, const Identifier&, const PropertyS
JSValue jsDOMWindowOnsubmit(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->onsubmit()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -1633,10 +1743,11 @@ JSValue jsDOMWindowOnsubmit(ExecState* exec, const Identifier&, const PropertySl
JSValue jsDOMWindowOnsuspend(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->onsuspend()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -1646,10 +1757,11 @@ JSValue jsDOMWindowOnsuspend(ExecState* exec, const Identifier&, const PropertyS
JSValue jsDOMWindowOntimeupdate(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->ontimeupdate()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -1659,10 +1771,11 @@ JSValue jsDOMWindowOntimeupdate(ExecState* exec, const Identifier&, const Proper
JSValue jsDOMWindowOnunload(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->onunload()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -1672,10 +1785,11 @@ JSValue jsDOMWindowOnunload(ExecState* exec, const Identifier&, const PropertySl
JSValue jsDOMWindowOnvolumechange(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->onvolumechange()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -1685,10 +1799,11 @@ JSValue jsDOMWindowOnvolumechange(ExecState* exec, const Identifier&, const Prop
JSValue jsDOMWindowOnwaiting(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->onwaiting()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -1698,10 +1813,11 @@ JSValue jsDOMWindowOnwaiting(ExecState* exec, const Identifier&, const PropertyS
JSValue jsDOMWindowOnreset(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->onreset()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -1711,10 +1827,11 @@ JSValue jsDOMWindowOnreset(ExecState* exec, const Identifier&, const PropertySlo
JSValue jsDOMWindowOnsearch(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->onsearch()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -1724,10 +1841,11 @@ JSValue jsDOMWindowOnsearch(ExecState* exec, const Identifier&, const PropertySl
JSValue jsDOMWindowOnwebkitanimationend(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->onwebkitanimationend()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -1737,10 +1855,11 @@ JSValue jsDOMWindowOnwebkitanimationend(ExecState* exec, const Identifier&, cons
JSValue jsDOMWindowOnwebkitanimationiteration(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->onwebkitanimationiteration()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -1750,10 +1869,11 @@ JSValue jsDOMWindowOnwebkitanimationiteration(ExecState* exec, const Identifier&
JSValue jsDOMWindowOnwebkitanimationstart(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->onwebkitanimationstart()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -1763,10 +1883,11 @@ JSValue jsDOMWindowOnwebkitanimationstart(ExecState* exec, const Identifier&, co
JSValue jsDOMWindowOnwebkittransitionend(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->onwebkittransitionend()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -1776,1317 +1897,1362 @@ JSValue jsDOMWindowOnwebkittransitionend(ExecState* exec, const Identifier&, con
JSValue jsDOMWindowStyleSheetConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSStyleSheet::getConstructor(exec);
+ return JSStyleSheet::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowCSSStyleSheetConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSCSSStyleSheet::getConstructor(exec);
+ return JSCSSStyleSheet::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowCSSValueConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSCSSValue::getConstructor(exec);
+ return JSCSSValue::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowCSSPrimitiveValueConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSCSSPrimitiveValue::getConstructor(exec);
+ return JSCSSPrimitiveValue::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowCSSValueListConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSCSSValueList::getConstructor(exec);
+ return JSCSSValueList::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowWebKitCSSTransformValueConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSWebKitCSSTransformValue::getConstructor(exec);
+ return JSWebKitCSSTransformValue::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowCSSRuleConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSCSSRule::getConstructor(exec);
+ return JSCSSRule::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowCSSCharsetRuleConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSCSSCharsetRule::getConstructor(exec);
+ return JSCSSCharsetRule::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowCSSFontFaceRuleConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSCSSFontFaceRule::getConstructor(exec);
+ return JSCSSFontFaceRule::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowCSSImportRuleConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSCSSImportRule::getConstructor(exec);
+ return JSCSSImportRule::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowCSSMediaRuleConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSCSSMediaRule::getConstructor(exec);
+ return JSCSSMediaRule::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowCSSPageRuleConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSCSSPageRule::getConstructor(exec);
+ return JSCSSPageRule::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowCSSStyleRuleConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSCSSStyleRule::getConstructor(exec);
+ return JSCSSStyleRule::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowCSSVariablesRuleConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSCSSVariablesRule::getConstructor(exec);
+ return JSCSSVariablesRule::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowCSSVariablesDeclarationConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSCSSVariablesDeclaration::getConstructor(exec);
+ return JSCSSVariablesDeclaration::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowCSSStyleDeclarationConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSCSSStyleDeclaration::getConstructor(exec);
+ return JSCSSStyleDeclaration::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowMediaListConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSMediaList::getConstructor(exec);
+ return JSMediaList::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowCounterConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSCounter::getConstructor(exec);
+ return JSCounter::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowCSSRuleListConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSCSSRuleList::getConstructor(exec);
+ return JSCSSRuleList::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowRectConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
+ return jsUndefined();
+ return JSRect::getConstructor(exec, castedThis);
+}
+
+JSValue jsDOMWindowRGBColorConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
+{
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSRect::getConstructor(exec);
+ return JSRGBColor::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowStyleSheetListConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSStyleSheetList::getConstructor(exec);
+ return JSStyleSheetList::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowDOMExceptionConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSDOMCoreException::getConstructor(exec);
+ return JSDOMCoreException::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowDOMImplementationConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSDOMImplementation::getConstructor(exec);
+ return JSDOMImplementation::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowDocumentFragmentConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSDocumentFragment::getConstructor(exec);
+ return JSDocumentFragment::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowDocumentConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSDocument::getConstructor(exec);
+ return JSDocument::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowNodeConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSNode::getConstructor(exec);
+ return JSNode::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowNodeListConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSNodeList::getConstructor(exec);
+ return JSNodeList::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowNamedNodeMapConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSNamedNodeMap::getConstructor(exec);
+ return JSNamedNodeMap::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowCharacterDataConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSCharacterData::getConstructor(exec);
+ return JSCharacterData::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowAttrConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSAttr::getConstructor(exec);
+ return JSAttr::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSElement::getConstructor(exec);
+ return JSElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowTextConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSText::getConstructor(exec);
+ return JSText::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowCommentConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSComment::getConstructor(exec);
+ return JSComment::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowCDATASectionConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSCDATASection::getConstructor(exec);
+ return JSCDATASection::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowDocumentTypeConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSDocumentType::getConstructor(exec);
+ return JSDocumentType::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowNotationConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSNotation::getConstructor(exec);
+ return JSNotation::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowEntityConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSEntity::getConstructor(exec);
+ return JSEntity::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowEntityReferenceConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSEntityReference::getConstructor(exec);
+ return JSEntityReference::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowProcessingInstructionConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSProcessingInstruction::getConstructor(exec);
+ return JSProcessingInstruction::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowHTMLDocumentConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLDocument::getConstructor(exec);
+ return JSHTMLDocument::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowHTMLElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLElement::getConstructor(exec);
+ return JSHTMLElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowHTMLAnchorElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLAnchorElement::getConstructor(exec);
+ return JSHTMLAnchorElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowHTMLAppletElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLAppletElement::getConstructor(exec);
+ return JSHTMLAppletElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowHTMLAreaElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLAreaElement::getConstructor(exec);
+ return JSHTMLAreaElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowHTMLBRElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLBRElement::getConstructor(exec);
+ return JSHTMLBRElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowHTMLBaseElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLBaseElement::getConstructor(exec);
+ return JSHTMLBaseElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowHTMLBaseFontElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLBaseFontElement::getConstructor(exec);
+ return JSHTMLBaseFontElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowHTMLBlockquoteElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLBlockquoteElement::getConstructor(exec);
+ return JSHTMLBlockquoteElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowHTMLBodyElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLBodyElement::getConstructor(exec);
+ return JSHTMLBodyElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowHTMLButtonElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLButtonElement::getConstructor(exec);
+ return JSHTMLButtonElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowHTMLCanvasElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLCanvasElement::getConstructor(exec);
+ return JSHTMLCanvasElement::getConstructor(exec, castedThis);
}
+#if ENABLE(DATAGRID)
JSValue jsDOMWindowHTMLDataGridElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLDataGridElement::getConstructor(exec);
+ return JSHTMLDataGridElement::getConstructor(exec, castedThis);
}
+#endif
+#if ENABLE(DATAGRID)
+JSValue jsDOMWindowHTMLDataGridCellElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
+{
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
+ return jsUndefined();
+ return JSHTMLDataGridCellElement::getConstructor(exec, castedThis);
+}
+#endif
+
+#if ENABLE(DATAGRID)
JSValue jsDOMWindowHTMLDataGridColElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLDataGridColElement::getConstructor(exec);
+ return JSHTMLDataGridColElement::getConstructor(exec, castedThis);
}
+#endif
JSValue jsDOMWindowHTMLDListElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLDListElement::getConstructor(exec);
+ return JSHTMLDListElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowHTMLDirectoryElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLDirectoryElement::getConstructor(exec);
+ return JSHTMLDirectoryElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowHTMLDivElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLDivElement::getConstructor(exec);
+ return JSHTMLDivElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowHTMLEmbedElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLEmbedElement::getConstructor(exec);
+ return JSHTMLEmbedElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowHTMLFieldSetElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLFieldSetElement::getConstructor(exec);
+ return JSHTMLFieldSetElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowHTMLFontElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLFontElement::getConstructor(exec);
+ return JSHTMLFontElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowHTMLFormElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLFormElement::getConstructor(exec);
+ return JSHTMLFormElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowHTMLFrameElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLFrameElement::getConstructor(exec);
+ return JSHTMLFrameElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowHTMLFrameSetElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLFrameSetElement::getConstructor(exec);
+ return JSHTMLFrameSetElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowHTMLHRElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLHRElement::getConstructor(exec);
+ return JSHTMLHRElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowHTMLHeadElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLHeadElement::getConstructor(exec);
+ return JSHTMLHeadElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowHTMLHeadingElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLHeadingElement::getConstructor(exec);
+ return JSHTMLHeadingElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowHTMLHtmlElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLHtmlElement::getConstructor(exec);
+ return JSHTMLHtmlElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowHTMLIFrameElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLIFrameElement::getConstructor(exec);
+ return JSHTMLIFrameElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowHTMLImageElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLImageElement::getConstructor(exec);
+ return JSHTMLImageElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowHTMLInputElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLInputElement::getConstructor(exec);
+ return JSHTMLInputElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowHTMLIsIndexElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLIsIndexElement::getConstructor(exec);
+ return JSHTMLIsIndexElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowHTMLLIElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLLIElement::getConstructor(exec);
+ return JSHTMLLIElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowHTMLLabelElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLLabelElement::getConstructor(exec);
+ return JSHTMLLabelElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowHTMLLegendElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLLegendElement::getConstructor(exec);
+ return JSHTMLLegendElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowHTMLLinkElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLLinkElement::getConstructor(exec);
+ return JSHTMLLinkElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowHTMLMapElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLMapElement::getConstructor(exec);
+ return JSHTMLMapElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowHTMLMarqueeElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLMarqueeElement::getConstructor(exec);
+ return JSHTMLMarqueeElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowHTMLMenuElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLMenuElement::getConstructor(exec);
+ return JSHTMLMenuElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowHTMLMetaElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLMetaElement::getConstructor(exec);
+ return JSHTMLMetaElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowHTMLModElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLModElement::getConstructor(exec);
+ return JSHTMLModElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowHTMLOListElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLOListElement::getConstructor(exec);
+ return JSHTMLOListElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowHTMLObjectElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLObjectElement::getConstructor(exec);
+ return JSHTMLObjectElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowHTMLOptGroupElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLOptGroupElement::getConstructor(exec);
+ return JSHTMLOptGroupElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowHTMLOptionElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLOptionElement::getConstructor(exec);
+ return JSHTMLOptionElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowHTMLParagraphElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLParagraphElement::getConstructor(exec);
+ return JSHTMLParagraphElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowHTMLParamElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLParamElement::getConstructor(exec);
+ return JSHTMLParamElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowHTMLPreElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLPreElement::getConstructor(exec);
+ return JSHTMLPreElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowHTMLQuoteElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLQuoteElement::getConstructor(exec);
+ return JSHTMLQuoteElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowHTMLScriptElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLScriptElement::getConstructor(exec);
+ return JSHTMLScriptElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowHTMLSelectElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLSelectElement::getConstructor(exec);
+ return JSHTMLSelectElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowHTMLStyleElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLStyleElement::getConstructor(exec);
+ return JSHTMLStyleElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowHTMLTableCaptionElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLTableCaptionElement::getConstructor(exec);
+ return JSHTMLTableCaptionElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowHTMLTableCellElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLTableCellElement::getConstructor(exec);
+ return JSHTMLTableCellElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowHTMLTableColElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLTableColElement::getConstructor(exec);
+ return JSHTMLTableColElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowHTMLTableElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLTableElement::getConstructor(exec);
+ return JSHTMLTableElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowHTMLTableRowElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLTableRowElement::getConstructor(exec);
+ return JSHTMLTableRowElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowHTMLTableSectionElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLTableSectionElement::getConstructor(exec);
+ return JSHTMLTableSectionElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowHTMLTextAreaElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLTextAreaElement::getConstructor(exec);
+ return JSHTMLTextAreaElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowHTMLTitleElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLTitleElement::getConstructor(exec);
+ return JSHTMLTitleElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowHTMLUListElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLUListElement::getConstructor(exec);
+ return JSHTMLUListElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowHTMLCollectionConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLCollection::getConstructor(exec);
+ return JSHTMLCollection::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowImageConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- return static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->image(exec);
+ return castedThis->image(exec);
}
JSValue jsDOMWindowOptionConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- return static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->option(exec);
+ return castedThis->option(exec);
}
JSValue jsDOMWindowCanvasRenderingContext2DConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSCanvasRenderingContext2D::getConstructor(exec);
+ return JSCanvasRenderingContext2D::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowTextMetricsConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSTextMetrics::getConstructor(exec);
+ return JSTextMetrics::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowEventConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSEvent::getConstructor(exec);
+ return JSEvent::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowKeyboardEventConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSKeyboardEvent::getConstructor(exec);
+ return JSKeyboardEvent::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowMouseEventConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSMouseEvent::getConstructor(exec);
+ return JSMouseEvent::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowMutationEventConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSMutationEvent::getConstructor(exec);
+ return JSMutationEvent::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowOverflowEventConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSOverflowEvent::getConstructor(exec);
+ return JSOverflowEvent::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowProgressEventConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSProgressEvent::getConstructor(exec);
+ return JSProgressEvent::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowTextEventConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSTextEvent::getConstructor(exec);
+ return JSTextEvent::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowUIEventConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSUIEvent::getConstructor(exec);
+ return JSUIEvent::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowWebKitAnimationEventConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSWebKitAnimationEvent::getConstructor(exec);
+ return JSWebKitAnimationEvent::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowWebKitTransitionEventConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSWebKitTransitionEvent::getConstructor(exec);
+ return JSWebKitTransitionEvent::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowWheelEventConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSWheelEvent::getConstructor(exec);
+ return JSWheelEvent::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowMessageEventConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSMessageEvent::getConstructor(exec);
+ return JSMessageEvent::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowEventExceptionConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSEventException::getConstructor(exec);
+ return JSEventException::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowWebKitCSSKeyframeRuleConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSWebKitCSSKeyframeRule::getConstructor(exec);
+ return JSWebKitCSSKeyframeRule::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowWebKitCSSKeyframesRuleConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSWebKitCSSKeyframesRule::getConstructor(exec);
+ return JSWebKitCSSKeyframesRule::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowWebKitCSSMatrixConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- return static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->webKitCSSMatrix(exec);
+ return castedThis->webKitCSSMatrix(exec);
}
JSValue jsDOMWindowWebKitPointConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- return static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->webKitPoint(exec);
+ return castedThis->webKitPoint(exec);
}
JSValue jsDOMWindowClipboardConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSClipboard::getConstructor(exec);
+ return JSClipboard::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowFileConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSFile::getConstructor(exec);
+ return JSFile::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowFileListConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSFileList::getConstructor(exec);
+ return JSFileList::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowNodeFilterConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSNodeFilter::getConstructor(exec);
+ return JSNodeFilter::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowRangeConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSRange::getConstructor(exec);
+ return JSRange::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowRangeExceptionConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSRangeException::getConstructor(exec);
+ return JSRangeException::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowXMLDocumentConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSDocument::getConstructor(exec);
+ return JSDocument::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowDOMParserConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSDOMParser::getConstructor(exec);
+ return JSDOMParser::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowXMLSerializerConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSXMLSerializer::getConstructor(exec);
+ return JSXMLSerializer::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowXMLHttpRequestConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- return static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->xmlHttpRequest(exec);
+ return castedThis->xmlHttpRequest(exec);
}
JSValue jsDOMWindowXMLHttpRequestUploadConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSXMLHttpRequestUpload::getConstructor(exec);
+ return JSXMLHttpRequestUpload::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowXMLHttpRequestExceptionConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
+ return jsUndefined();
+ return JSXMLHttpRequestException::getConstructor(exec, castedThis);
+}
+
+JSValue jsDOMWindowMessagePortConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
+{
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSXMLHttpRequestException::getConstructor(exec);
+ return JSMessagePort::getConstructor(exec, castedThis);
+}
+
+JSValue jsDOMWindowMessageChannelConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
+{
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
+ return jsUndefined();
+ return castedThis->messageChannel(exec);
}
JSValue jsDOMWindowWorkerConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- return static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->worker(exec);
+ return castedThis->worker(exec);
}
JSValue jsDOMWindowPluginConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSPlugin::getConstructor(exec);
+ return JSPlugin::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowPluginArrayConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSPluginArray::getConstructor(exec);
+ return JSPluginArray::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowMimeTypeConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSMimeType::getConstructor(exec);
+ return JSMimeType::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowMimeTypeArrayConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSMimeTypeArray::getConstructor(exec);
+ return JSMimeTypeArray::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowClientRectConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSClientRect::getConstructor(exec);
+ return JSClientRect::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowClientRectListConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSClientRectList::getConstructor(exec);
+ return JSClientRectList::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowStorageConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSStorage::getConstructor(exec);
+ return JSStorage::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowStorageEventConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSStorageEvent::getConstructor(exec);
+ return JSStorageEvent::getConstructor(exec, castedThis);
}
#if ENABLE(VIDEO)
JSValue jsDOMWindowAudioConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- return static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->audio(exec);
+ return castedThis->audio(exec);
}
#endif
#if ENABLE(VIDEO)
JSValue jsDOMWindowHTMLAudioElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLAudioElement::getConstructor(exec);
+ return JSHTMLAudioElement::getConstructor(exec, castedThis);
}
#endif
#if ENABLE(VIDEO)
JSValue jsDOMWindowHTMLMediaElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLMediaElement::getConstructor(exec);
+ return JSHTMLMediaElement::getConstructor(exec, castedThis);
}
#endif
#if ENABLE(VIDEO)
JSValue jsDOMWindowHTMLVideoElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLVideoElement::getConstructor(exec);
+ return JSHTMLVideoElement::getConstructor(exec, castedThis);
}
#endif
#if ENABLE(VIDEO)
JSValue jsDOMWindowMediaErrorConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSMediaError::getConstructor(exec);
+ return JSMediaError::getConstructor(exec, castedThis);
}
#endif
JSValue jsDOMWindowXPathEvaluatorConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSXPathEvaluator::getConstructor(exec);
+ return JSXPathEvaluator::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowXPathResultConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSXPathResult::getConstructor(exec);
+ return JSXPathResult::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowXPathExceptionConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSXPathException::getConstructor(exec);
+ return JSXPathException::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowSVGAngleConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSSVGAngle::getConstructor(exec);
+ return JSSVGAngle::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowSVGColorConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSSVGColor::getConstructor(exec);
+ return JSSVGColor::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowSVGExceptionConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSSVGException::getConstructor(exec);
+ return JSSVGException::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowSVGGradientElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSSVGGradientElement::getConstructor(exec);
+ return JSSVGGradientElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowSVGLengthConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSSVGLength::getConstructor(exec);
+ return JSSVGLength::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowSVGMarkerElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSSVGMarkerElement::getConstructor(exec);
+ return JSSVGMarkerElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowSVGPaintConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSSVGPaint::getConstructor(exec);
+ return JSSVGPaint::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowSVGPathSegConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSSVGPathSeg::getConstructor(exec);
+ return JSSVGPathSeg::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowSVGPreserveAspectRatioConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSSVGPreserveAspectRatio::getConstructor(exec);
+ return JSSVGPreserveAspectRatio::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowSVGRenderingIntentConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSSVGRenderingIntent::getConstructor(exec);
+ return JSSVGRenderingIntent::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowSVGTextContentElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSSVGTextContentElement::getConstructor(exec);
+ return JSSVGTextContentElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowSVGTextPathElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSSVGTextPathElement::getConstructor(exec);
+ return JSSVGTextPathElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowSVGTransformConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSSVGTransform::getConstructor(exec);
+ return JSSVGTransform::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowSVGUnitTypesConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSSVGUnitTypes::getConstructor(exec);
+ return JSSVGUnitTypes::getConstructor(exec, castedThis);
}
void setJSDOMWindowLocationbar(ExecState* exec, JSObject* thisObject, JSValue value)
@@ -4130,6 +4296,14 @@ void setJSDOMWindowRectConstructor(ExecState* exec, JSObject* thisObject, JSValu
static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "Rect"), value);
}
+void setJSDOMWindowRGBColorConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
+{
+ if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
+ return;
+ // Shadowing a built-in constructor
+ static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "RGBColor"), value);
+}
+
void setJSDOMWindowStyleSheetListConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
@@ -4386,6 +4560,14 @@ void setJSDOMWindowHTMLDataGridElementConstructor(ExecState* exec, JSObject* thi
static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "HTMLDataGridElement"), value);
}
+void setJSDOMWindowHTMLDataGridCellElementConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
+{
+ if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
+ return;
+ // Shadowing a built-in constructor
+ static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "HTMLDataGridCellElement"), value);
+}
+
void setJSDOMWindowHTMLDataGridColElementConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
@@ -5034,6 +5216,22 @@ void setJSDOMWindowXMLHttpRequestExceptionConstructor(ExecState* exec, JSObject*
static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "XMLHttpRequestException"), value);
}
+void setJSDOMWindowMessagePortConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
+{
+ if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
+ return;
+ // Shadowing a built-in constructor
+ static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "MessagePort"), value);
+}
+
+void setJSDOMWindowMessageChannelConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
+{
+ if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
+ return;
+ // Shadowing a built-in constructor
+ static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "MessageChannel"), value);
+}
+
void setJSDOMWindowWorkerConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
@@ -5293,7 +5491,7 @@ JSValue JSC_HOST_CALL jsDOMWindowPrototypeFunctionGetSelection(ExecState* exec,
DOMWindow* imp = static_cast<DOMWindow*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getSelection()));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getSelection()));
return result;
}
@@ -5592,7 +5790,7 @@ JSValue JSC_HOST_CALL jsDOMWindowPrototypeFunctionGetComputedStyle(ExecState* ex
const UString& pseudoElement = args.at(1).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getComputedStyle(element, pseudoElement)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getComputedStyle(element, pseudoElement)));
return result;
}
@@ -5611,14 +5809,14 @@ JSValue JSC_HOST_CALL jsDOMWindowPrototypeFunctionGetMatchedCSSRules(ExecState*
int argsCount = args.size();
if (argsCount < 3) {
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getMatchedCSSRules(element, pseudoElement)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getMatchedCSSRules(element, pseudoElement)));
return result;
}
bool authorOnly = args.at(2).toBoolean(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getMatchedCSSRules(element, pseudoElement, authorOnly)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getMatchedCSSRules(element, pseudoElement, authorOnly)));
return result;
}
@@ -5635,7 +5833,7 @@ JSValue JSC_HOST_CALL jsDOMWindowPrototypeFunctionWebkitConvertPointFromPageToNo
WebKitPoint* p = toWebKitPoint(args.at(1));
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->webkitConvertPointFromPageToNode(node, p)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->webkitConvertPointFromPageToNode(node, p)));
return result;
}
@@ -5652,7 +5850,7 @@ JSValue JSC_HOST_CALL jsDOMWindowPrototypeFunctionWebkitConvertPointFromNodeToPa
WebKitPoint* p = toWebKitPoint(args.at(1));
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->webkitConvertPointFromNodeToPage(node, p)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->webkitConvertPointFromNodeToPage(node, p)));
return result;
}
@@ -5672,7 +5870,7 @@ JSValue JSC_HOST_CALL jsDOMWindowPrototypeFunctionOpenDatabase(ExecState* exec,
unsigned estimatedSize = args.at(3).toInt32(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->openDatabase(name, version, displayName, estimatedSize, ec)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->openDatabase(name, version, displayName, estimatedSize, ec)));
setDOMException(exec, ec);
return result;
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSDOMWindow.h b/src/3rdparty/webkit/WebCore/generated/JSDOMWindow.h
index 869e598..8e7defe 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSDOMWindow.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSDOMWindow.h
@@ -66,6 +66,7 @@ public:
JSC::JSValue webKitCSSMatrix(JSC::ExecState*) const;
JSC::JSValue webKitPoint(JSC::ExecState*) const;
JSC::JSValue xmlHttpRequest(JSC::ExecState*) const;
+ JSC::JSValue messageChannel(JSC::ExecState*) const;
JSC::JSValue worker(JSC::ExecState*) const;
JSC::JSValue audio(JSC::ExecState*) const;
@@ -383,6 +384,8 @@ JSC::JSValue jsDOMWindowCSSRuleListConstructor(JSC::ExecState*, const JSC::Ident
void setJSDOMWindowCSSRuleListConstructor(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
JSC::JSValue jsDOMWindowRectConstructor(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
void setJSDOMWindowRectConstructor(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
+JSC::JSValue jsDOMWindowRGBColorConstructor(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
+void setJSDOMWindowRGBColorConstructor(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
JSC::JSValue jsDOMWindowStyleSheetListConstructor(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
void setJSDOMWindowStyleSheetListConstructor(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
JSC::JSValue jsDOMWindowDOMExceptionConstructor(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
@@ -447,6 +450,8 @@ JSC::JSValue jsDOMWindowHTMLCanvasElementConstructor(JSC::ExecState*, const JSC:
void setJSDOMWindowHTMLCanvasElementConstructor(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
JSC::JSValue jsDOMWindowHTMLDataGridElementConstructor(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
void setJSDOMWindowHTMLDataGridElementConstructor(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
+JSC::JSValue jsDOMWindowHTMLDataGridCellElementConstructor(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
+void setJSDOMWindowHTMLDataGridCellElementConstructor(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
JSC::JSValue jsDOMWindowHTMLDataGridColElementConstructor(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
void setJSDOMWindowHTMLDataGridColElementConstructor(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
JSC::JSValue jsDOMWindowHTMLDListElementConstructor(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
@@ -609,6 +614,10 @@ JSC::JSValue jsDOMWindowXMLHttpRequestUploadConstructor(JSC::ExecState*, const J
void setJSDOMWindowXMLHttpRequestUploadConstructor(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
JSC::JSValue jsDOMWindowXMLHttpRequestExceptionConstructor(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
void setJSDOMWindowXMLHttpRequestExceptionConstructor(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
+JSC::JSValue jsDOMWindowMessagePortConstructor(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
+void setJSDOMWindowMessagePortConstructor(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
+JSC::JSValue jsDOMWindowMessageChannelConstructor(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
+void setJSDOMWindowMessageChannelConstructor(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
JSC::JSValue jsDOMWindowWorkerConstructor(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
void setJSDOMWindowWorkerConstructor(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
JSC::JSValue jsDOMWindowPluginConstructor(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSDataGridColumn.cpp b/src/3rdparty/webkit/WebCore/generated/JSDataGridColumn.cpp
index 105b916..1f60693 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSDataGridColumn.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSDataGridColumn.cpp
@@ -19,6 +19,9 @@
*/
#include "config.h"
+
+#if ENABLE(DATAGRID)
+
#include "JSDataGridColumn.h"
#include "DataGridColumn.h"
@@ -47,7 +50,7 @@ static const HashTableValue JSDataGridColumnTableValues[8] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSDataGridColumnTable =
+static JSC_CONST_HASHTABLE HashTable JSDataGridColumnTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 63, JSDataGridColumnTableValues, 0 };
#else
@@ -67,19 +70,19 @@ static const HashTableValue JSDataGridColumnConstructorTableValues[7] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSDataGridColumnConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSDataGridColumnConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 31, JSDataGridColumnConstructorTableValues, 0 };
#else
{ 17, 15, JSDataGridColumnConstructorTableValues, 0 };
#endif
-class JSDataGridColumnConstructor : public DOMObject {
+class JSDataGridColumnConstructor : public DOMConstructorObject {
public:
- JSDataGridColumnConstructor(ExecState* exec)
- : DOMObject(JSDataGridColumnConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSDataGridColumnConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSDataGridColumnConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSDataGridColumnPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSDataGridColumnPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -111,7 +114,7 @@ static const HashTableValue JSDataGridColumnPrototypeTableValues[7] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSDataGridColumnPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSDataGridColumnPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 31, JSDataGridColumnPrototypeTableValues, 0 };
#else
@@ -132,8 +135,8 @@ bool JSDataGridColumnPrototype::getOwnPropertySlot(ExecState* exec, const Identi
const ClassInfo JSDataGridColumn::s_info = { "DataGridColumn", 0, &JSDataGridColumnTable, 0 };
-JSDataGridColumn::JSDataGridColumn(PassRefPtr<Structure> structure, PassRefPtr<DataGridColumn> impl)
- : DOMObject(structure)
+JSDataGridColumn::JSDataGridColumn(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<DataGridColumn> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -155,49 +158,56 @@ bool JSDataGridColumn::getOwnPropertySlot(ExecState* exec, const Identifier& pro
JSValue jsDataGridColumnId(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDataGridColumn* castedThis = static_cast<JSDataGridColumn*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- DataGridColumn* imp = static_cast<DataGridColumn*>(static_cast<JSDataGridColumn*>(asObject(slot.slotBase()))->impl());
+ DataGridColumn* imp = static_cast<DataGridColumn*>(castedThis->impl());
return jsString(exec, imp->id());
}
JSValue jsDataGridColumnLabel(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDataGridColumn* castedThis = static_cast<JSDataGridColumn*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- DataGridColumn* imp = static_cast<DataGridColumn*>(static_cast<JSDataGridColumn*>(asObject(slot.slotBase()))->impl());
+ DataGridColumn* imp = static_cast<DataGridColumn*>(castedThis->impl());
return jsString(exec, imp->label());
}
JSValue jsDataGridColumnType(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDataGridColumn* castedThis = static_cast<JSDataGridColumn*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- DataGridColumn* imp = static_cast<DataGridColumn*>(static_cast<JSDataGridColumn*>(asObject(slot.slotBase()))->impl());
+ DataGridColumn* imp = static_cast<DataGridColumn*>(castedThis->impl());
return jsString(exec, imp->type());
}
JSValue jsDataGridColumnSortable(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDataGridColumn* castedThis = static_cast<JSDataGridColumn*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- DataGridColumn* imp = static_cast<DataGridColumn*>(static_cast<JSDataGridColumn*>(asObject(slot.slotBase()))->impl());
+ DataGridColumn* imp = static_cast<DataGridColumn*>(castedThis->impl());
return jsNumber(exec, imp->sortable());
}
JSValue jsDataGridColumnSortDirection(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDataGridColumn* castedThis = static_cast<JSDataGridColumn*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- DataGridColumn* imp = static_cast<DataGridColumn*>(static_cast<JSDataGridColumn*>(asObject(slot.slotBase()))->impl());
+ DataGridColumn* imp = static_cast<DataGridColumn*>(castedThis->impl());
return jsNumber(exec, imp->sortDirection());
}
JSValue jsDataGridColumnPrimary(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDataGridColumn* castedThis = static_cast<JSDataGridColumn*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- DataGridColumn* imp = static_cast<DataGridColumn*>(static_cast<JSDataGridColumn*>(asObject(slot.slotBase()))->impl());
+ DataGridColumn* imp = static_cast<DataGridColumn*>(castedThis->impl());
return jsBoolean(imp->primary());
}
JSValue jsDataGridColumnConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSDataGridColumn*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSDataGridColumn* domObject = static_cast<JSDataGridColumn*>(asObject(slot.slotBase()));
+ return JSDataGridColumn::getConstructor(exec, domObject->globalObject());
}
void JSDataGridColumn::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -240,9 +250,9 @@ void setJSDataGridColumnPrimary(ExecState* exec, JSObject* thisObject, JSValue v
imp->setPrimary(value.toBoolean(exec));
}
-JSValue JSDataGridColumn::getConstructor(ExecState* exec)
+JSValue JSDataGridColumn::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSDataGridColumnConstructor>(exec);
+ return getDOMConstructor<JSDataGridColumnConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
// Constant getters
@@ -277,9 +287,9 @@ JSValue jsDataGridColumnSORC_DESCENDING(ExecState* exec, const Identifier&, cons
return jsNumber(exec, static_cast<int>(2));
}
-JSC::JSValue toJS(JSC::ExecState* exec, DataGridColumn* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, DataGridColumn* object)
{
- return getDOMObjectWrapper<JSDataGridColumn>(exec, object);
+ return getDOMObjectWrapper<JSDataGridColumn>(exec, globalObject, object);
}
DataGridColumn* toDataGridColumn(JSC::JSValue value)
{
@@ -287,3 +297,5 @@ DataGridColumn* toDataGridColumn(JSC::JSValue value)
}
}
+
+#endif // ENABLE(DATAGRID)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSDataGridColumn.h b/src/3rdparty/webkit/WebCore/generated/JSDataGridColumn.h
index 331ad9d..cbb59be 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSDataGridColumn.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSDataGridColumn.h
@@ -21,6 +21,9 @@
#ifndef JSDataGridColumn_h
#define JSDataGridColumn_h
+#if ENABLE(DATAGRID)
+
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -29,10 +32,10 @@ namespace WebCore {
class DataGridColumn;
-class JSDataGridColumn : public DOMObject {
- typedef DOMObject Base;
+class JSDataGridColumn : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSDataGridColumn(PassRefPtr<JSC::Structure>, PassRefPtr<DataGridColumn>);
+ JSDataGridColumn(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<DataGridColumn>);
virtual ~JSDataGridColumn();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -45,14 +48,14 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
DataGridColumn* impl() const { return m_impl.get(); }
private:
RefPtr<DataGridColumn> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, DataGridColumn*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, DataGridColumn*);
DataGridColumn* toDataGridColumn(JSC::JSValue);
class JSDataGridColumnPrototype : public JSC::JSObject {
@@ -95,4 +98,6 @@ JSC::JSValue jsDataGridColumnSORC_DESCENDING(JSC::ExecState*, const JSC::Identif
} // namespace WebCore
+#endif // ENABLE(DATAGRID)
+
#endif
diff --git a/src/3rdparty/webkit/WebCore/generated/JSDataGridColumnList.cpp b/src/3rdparty/webkit/WebCore/generated/JSDataGridColumnList.cpp
index 276878e..f2525a5 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSDataGridColumnList.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSDataGridColumnList.cpp
@@ -19,6 +19,9 @@
*/
#include "config.h"
+
+#if ENABLE(DATAGRID)
+
#include "JSDataGridColumnList.h"
#include "AtomicString.h"
@@ -48,7 +51,7 @@ static const HashTableValue JSDataGridColumnListTableValues[5] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSDataGridColumnListTable =
+static JSC_CONST_HASHTABLE HashTable JSDataGridColumnListTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSDataGridColumnListTableValues, 0 };
#else
@@ -62,19 +65,19 @@ static const HashTableValue JSDataGridColumnListConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSDataGridColumnListConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSDataGridColumnListConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSDataGridColumnListConstructorTableValues, 0 };
#else
{ 1, 0, JSDataGridColumnListConstructorTableValues, 0 };
#endif
-class JSDataGridColumnListConstructor : public DOMObject {
+class JSDataGridColumnListConstructor : public DOMConstructorObject {
public:
- JSDataGridColumnListConstructor(ExecState* exec)
- : DOMObject(JSDataGridColumnListConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSDataGridColumnListConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSDataGridColumnListConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSDataGridColumnListPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSDataGridColumnListPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -105,7 +108,7 @@ static const HashTableValue JSDataGridColumnListPrototypeTableValues[6] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSDataGridColumnListPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSDataGridColumnListPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 31, JSDataGridColumnListPrototypeTableValues, 0 };
#else
@@ -126,8 +129,8 @@ bool JSDataGridColumnListPrototype::getOwnPropertySlot(ExecState* exec, const Id
const ClassInfo JSDataGridColumnList::s_info = { "DataGridColumnList", 0, &JSDataGridColumnListTable, 0 };
-JSDataGridColumnList::JSDataGridColumnList(PassRefPtr<Structure> structure, PassRefPtr<DataGridColumnList> impl)
- : DOMObject(structure)
+JSDataGridColumnList::JSDataGridColumnList(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<DataGridColumnList> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -173,28 +176,32 @@ bool JSDataGridColumnList::getOwnPropertySlot(ExecState* exec, unsigned property
JSValue jsDataGridColumnListLength(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDataGridColumnList* castedThis = static_cast<JSDataGridColumnList*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- DataGridColumnList* imp = static_cast<DataGridColumnList*>(static_cast<JSDataGridColumnList*>(asObject(slot.slotBase()))->impl());
+ DataGridColumnList* imp = static_cast<DataGridColumnList*>(castedThis->impl());
return jsNumber(exec, imp->length());
}
JSValue jsDataGridColumnListSortColumn(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDataGridColumnList* castedThis = static_cast<JSDataGridColumnList*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- DataGridColumnList* imp = static_cast<DataGridColumnList*>(static_cast<JSDataGridColumnList*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->sortColumn()));
+ DataGridColumnList* imp = static_cast<DataGridColumnList*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->sortColumn()));
}
JSValue jsDataGridColumnListPrimaryColumn(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDataGridColumnList* castedThis = static_cast<JSDataGridColumnList*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- DataGridColumnList* imp = static_cast<DataGridColumnList*>(static_cast<JSDataGridColumnList*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->primaryColumn()));
+ DataGridColumnList* imp = static_cast<DataGridColumnList*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->primaryColumn()));
}
JSValue jsDataGridColumnListConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSDataGridColumnList*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSDataGridColumnList* domObject = static_cast<JSDataGridColumnList*>(asObject(slot.slotBase()));
+ return JSDataGridColumnList::getConstructor(exec, domObject->globalObject());
}
void JSDataGridColumnList::getPropertyNames(ExecState* exec, PropertyNameArray& propertyNames)
{
@@ -203,9 +210,9 @@ void JSDataGridColumnList::getPropertyNames(ExecState* exec, PropertyNameArray&
Base::getPropertyNames(exec, propertyNames);
}
-JSValue JSDataGridColumnList::getConstructor(ExecState* exec)
+JSValue JSDataGridColumnList::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSDataGridColumnListConstructor>(exec);
+ return getDOMConstructor<JSDataGridColumnListConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsDataGridColumnListPrototypeFunctionItem(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -222,7 +229,7 @@ JSValue JSC_HOST_CALL jsDataGridColumnListPrototypeFunctionItem(ExecState* exec,
}
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->item(index)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->item(index)));
return result;
}
@@ -240,7 +247,7 @@ JSValue JSC_HOST_CALL jsDataGridColumnListPrototypeFunctionAdd(ExecState* exec,
unsigned short sortable = args.at(4).toInt32(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->add(id, label, type, primary, sortable)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->add(id, label, type, primary, sortable)));
return result;
}
@@ -287,11 +294,11 @@ JSValue JSC_HOST_CALL jsDataGridColumnListPrototypeFunctionClear(ExecState* exec
JSValue JSDataGridColumnList::indexGetter(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
JSDataGridColumnList* thisObj = static_cast<JSDataGridColumnList*>(asObject(slot.slotBase()));
- return toJS(exec, static_cast<DataGridColumnList*>(thisObj->impl())->item(slot.index()));
+ return toJS(exec, thisObj->globalObject(), static_cast<DataGridColumnList*>(thisObj->impl())->item(slot.index()));
}
-JSC::JSValue toJS(JSC::ExecState* exec, DataGridColumnList* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, DataGridColumnList* object)
{
- return getDOMObjectWrapper<JSDataGridColumnList>(exec, object);
+ return getDOMObjectWrapper<JSDataGridColumnList>(exec, globalObject, object);
}
DataGridColumnList* toDataGridColumnList(JSC::JSValue value)
{
@@ -299,3 +306,5 @@ DataGridColumnList* toDataGridColumnList(JSC::JSValue value)
}
}
+
+#endif // ENABLE(DATAGRID)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSDataGridColumnList.h b/src/3rdparty/webkit/WebCore/generated/JSDataGridColumnList.h
index 879daf9..b904146 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSDataGridColumnList.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSDataGridColumnList.h
@@ -21,6 +21,9 @@
#ifndef JSDataGridColumnList_h
#define JSDataGridColumnList_h
+#if ENABLE(DATAGRID)
+
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -29,10 +32,10 @@ namespace WebCore {
class DataGridColumnList;
-class JSDataGridColumnList : public DOMObject {
- typedef DOMObject Base;
+class JSDataGridColumnList : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSDataGridColumnList(PassRefPtr<JSC::Structure>, PassRefPtr<DataGridColumnList>);
+ JSDataGridColumnList(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<DataGridColumnList>);
virtual ~JSDataGridColumnList();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -46,7 +49,7 @@ public:
}
virtual void getPropertyNames(JSC::ExecState*, JSC::PropertyNameArray&);
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
DataGridColumnList* impl() const { return m_impl.get(); }
private:
@@ -57,7 +60,7 @@ private:
static JSC::JSValue nameGetter(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
};
-JSC::JSValue toJS(JSC::ExecState*, DataGridColumnList*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, DataGridColumnList*);
DataGridColumnList* toDataGridColumnList(JSC::JSValue);
class JSDataGridColumnListPrototype : public JSC::JSObject {
@@ -90,4 +93,6 @@ JSC::JSValue jsDataGridColumnListConstructor(JSC::ExecState*, const JSC::Identif
} // namespace WebCore
+#endif // ENABLE(DATAGRID)
+
#endif
diff --git a/src/3rdparty/webkit/WebCore/generated/JSDatabase.cpp b/src/3rdparty/webkit/WebCore/generated/JSDatabase.cpp
index 490b081..6f02f71 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSDatabase.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSDatabase.cpp
@@ -44,7 +44,7 @@ static const HashTableValue JSDatabaseTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSDatabaseTable =
+static JSC_CONST_HASHTABLE HashTable JSDatabaseTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSDatabaseTableValues, 0 };
#else
@@ -60,7 +60,7 @@ static const HashTableValue JSDatabasePrototypeTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSDatabasePrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSDatabasePrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 1, JSDatabasePrototypeTableValues, 0 };
#else
@@ -81,8 +81,8 @@ bool JSDatabasePrototype::getOwnPropertySlot(ExecState* exec, const Identifier&
const ClassInfo JSDatabase::s_info = { "Database", 0, &JSDatabaseTable, 0 };
-JSDatabase::JSDatabase(PassRefPtr<Structure> structure, PassRefPtr<Database> impl)
- : DOMObject(structure)
+JSDatabase::JSDatabase(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<Database> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -104,8 +104,9 @@ bool JSDatabase::getOwnPropertySlot(ExecState* exec, const Identifier& propertyN
JSValue jsDatabaseVersion(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDatabase* castedThis = static_cast<JSDatabase*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Database* imp = static_cast<Database*>(static_cast<JSDatabase*>(asObject(slot.slotBase()))->impl());
+ Database* imp = static_cast<Database*>(castedThis->impl());
return jsString(exec, imp->version());
}
@@ -127,9 +128,9 @@ JSValue JSC_HOST_CALL jsDatabasePrototypeFunctionTransaction(ExecState* exec, JS
return castedThisObj->transaction(exec, args);
}
-JSC::JSValue toJS(JSC::ExecState* exec, Database* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, Database* object)
{
- return getDOMObjectWrapper<JSDatabase>(exec, object);
+ return getDOMObjectWrapper<JSDatabase>(exec, globalObject, object);
}
Database* toDatabase(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSDatabase.h b/src/3rdparty/webkit/WebCore/generated/JSDatabase.h
index 94b60be..8ca36a5 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSDatabase.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSDatabase.h
@@ -23,6 +23,7 @@
#if ENABLE(DATABASE)
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -31,10 +32,10 @@ namespace WebCore {
class Database;
-class JSDatabase : public DOMObject {
- typedef DOMObject Base;
+class JSDatabase : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSDatabase(PassRefPtr<JSC::Structure>, PassRefPtr<Database>);
+ JSDatabase(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<Database>);
virtual ~JSDatabase();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -56,7 +57,7 @@ private:
RefPtr<Database> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, Database*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, Database*);
Database* toDatabase(JSC::JSValue);
class JSDatabasePrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSDedicatedWorkerContext.cpp b/src/3rdparty/webkit/WebCore/generated/JSDedicatedWorkerContext.cpp
new file mode 100644
index 0000000..373bb30
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/generated/JSDedicatedWorkerContext.cpp
@@ -0,0 +1,158 @@
+/*
+ This file is part of the WebKit open source project.
+ This file has been generated by generate-bindings.pl. DO NOT MODIFY!
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "config.h"
+
+#if ENABLE(WORKERS)
+
+#include "JSDedicatedWorkerContext.h"
+
+#include "DedicatedWorkerContext.h"
+#include "EventListener.h"
+#include "JSEventListener.h"
+#include "JSMessagePort.h"
+#include <runtime/Error.h>
+#include <wtf/GetPtr.h>
+
+using namespace JSC;
+
+namespace WebCore {
+
+ASSERT_CLASS_FITS_IN_CELL(JSDedicatedWorkerContext);
+
+/* Hash table */
+
+static const HashTableValue JSDedicatedWorkerContextTableValues[2] =
+{
+ { "onmessage", DontDelete, (intptr_t)jsDedicatedWorkerContextOnmessage, (intptr_t)setJSDedicatedWorkerContextOnmessage },
+ { 0, 0, 0, 0 }
+};
+
+static JSC_CONST_HASHTABLE HashTable JSDedicatedWorkerContextTable =
+#if ENABLE(PERFECT_HASH_SIZE)
+ { 0, JSDedicatedWorkerContextTableValues, 0 };
+#else
+ { 2, 1, JSDedicatedWorkerContextTableValues, 0 };
+#endif
+
+/* Hash table for prototype */
+
+static const HashTableValue JSDedicatedWorkerContextPrototypeTableValues[2] =
+{
+ { "postMessage", DontDelete|Function, (intptr_t)jsDedicatedWorkerContextPrototypeFunctionPostMessage, (intptr_t)2 },
+ { 0, 0, 0, 0 }
+};
+
+static JSC_CONST_HASHTABLE HashTable JSDedicatedWorkerContextPrototypeTable =
+#if ENABLE(PERFECT_HASH_SIZE)
+ { 0, JSDedicatedWorkerContextPrototypeTableValues, 0 };
+#else
+ { 2, 1, JSDedicatedWorkerContextPrototypeTableValues, 0 };
+#endif
+
+static const HashTable* getJSDedicatedWorkerContextPrototypeTable(ExecState* exec)
+{
+ return getHashTableForGlobalData(exec->globalData(), &JSDedicatedWorkerContextPrototypeTable);
+}
+const ClassInfo JSDedicatedWorkerContextPrototype::s_info = { "DedicatedWorkerContextPrototype", 0, 0, getJSDedicatedWorkerContextPrototypeTable };
+
+void* JSDedicatedWorkerContextPrototype::operator new(size_t size, JSGlobalData* globalData)
+{
+ return globalData->heap.allocate(size);
+}
+
+bool JSDedicatedWorkerContextPrototype::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
+{
+ return getStaticFunctionSlot<JSObject>(exec, getJSDedicatedWorkerContextPrototypeTable(exec), this, propertyName, slot);
+}
+
+static const HashTable* getJSDedicatedWorkerContextTable(ExecState* exec)
+{
+ return getHashTableForGlobalData(exec->globalData(), &JSDedicatedWorkerContextTable);
+}
+const ClassInfo JSDedicatedWorkerContext::s_info = { "DedicatedWorkerContext", &JSWorkerContext::s_info, 0, getJSDedicatedWorkerContextTable };
+
+JSDedicatedWorkerContext::JSDedicatedWorkerContext(PassRefPtr<Structure> structure, PassRefPtr<DedicatedWorkerContext> impl)
+ : JSWorkerContext(structure, impl)
+{
+}
+
+bool JSDedicatedWorkerContext::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
+{
+ return getStaticValueSlot<JSDedicatedWorkerContext, Base>(exec, getJSDedicatedWorkerContextTable(exec), this, propertyName, slot);
+}
+
+JSValue jsDedicatedWorkerContextOnmessage(ExecState* exec, const Identifier&, const PropertySlot& slot)
+{
+ JSDedicatedWorkerContext* castedThis = static_cast<JSDedicatedWorkerContext*>(asObject(slot.slotBase()));
+ UNUSED_PARAM(exec);
+ DedicatedWorkerContext* imp = static_cast<DedicatedWorkerContext*>(castedThis->impl());
+ if (EventListener* listener = imp->onmessage()) {
+ if (JSObject* jsFunction = listener->jsFunction())
+ return jsFunction;
+ }
+ return jsNull();
+}
+
+void JSDedicatedWorkerContext::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
+{
+ lookupPut<JSDedicatedWorkerContext, Base>(exec, propertyName, value, getJSDedicatedWorkerContextTable(exec), this, slot);
+}
+
+void setJSDedicatedWorkerContextOnmessage(ExecState* exec, JSObject* thisObject, JSValue value)
+{
+ UNUSED_PARAM(exec);
+ DedicatedWorkerContext* imp = static_cast<DedicatedWorkerContext*>(static_cast<JSDedicatedWorkerContext*>(thisObject)->impl());
+ JSDOMGlobalObject* globalObject = static_cast<JSDedicatedWorkerContext*>(thisObject);
+ imp->setOnmessage(globalObject->createJSAttributeEventListener(value));
+}
+
+JSValue JSC_HOST_CALL jsDedicatedWorkerContextPrototypeFunctionPostMessage(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+{
+ UNUSED_PARAM(args);
+ JSDedicatedWorkerContext* castedThisObj = toJSDedicatedWorkerContext(thisValue.toThisObject(exec));
+ if (!castedThisObj)
+ return throwError(exec, TypeError);
+ DedicatedWorkerContext* imp = static_cast<DedicatedWorkerContext*>(castedThisObj->impl());
+ ExceptionCode ec = 0;
+ const UString& message = args.at(0).toString(exec);
+
+ int argsCount = args.size();
+ if (argsCount < 2) {
+ imp->postMessage(message, ec);
+ setDOMException(exec, ec);
+ return jsUndefined();
+ }
+
+ MessagePort* messagePort = toMessagePort(args.at(1));
+
+ imp->postMessage(message, messagePort, ec);
+ setDOMException(exec, ec);
+ return jsUndefined();
+}
+
+DedicatedWorkerContext* toDedicatedWorkerContext(JSC::JSValue value)
+{
+ return value.isObject(&JSDedicatedWorkerContext::s_info) ? static_cast<JSDedicatedWorkerContext*>(asObject(value))->impl() : 0;
+}
+
+}
+
+#endif // ENABLE(WORKERS)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSDedicatedWorkerContext.h b/src/3rdparty/webkit/WebCore/generated/JSDedicatedWorkerContext.h
new file mode 100644
index 0000000..6054c80
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/generated/JSDedicatedWorkerContext.h
@@ -0,0 +1,83 @@
+/*
+ This file is part of the WebKit open source project.
+ This file has been generated by generate-bindings.pl. DO NOT MODIFY!
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef JSDedicatedWorkerContext_h
+#define JSDedicatedWorkerContext_h
+
+#if ENABLE(WORKERS)
+
+#include "DedicatedWorkerContext.h"
+#include "JSWorkerContext.h"
+
+namespace WebCore {
+
+class DedicatedWorkerContext;
+
+class JSDedicatedWorkerContext : public JSWorkerContext {
+ typedef JSWorkerContext Base;
+public:
+ JSDedicatedWorkerContext(PassRefPtr<JSC::Structure>, PassRefPtr<DedicatedWorkerContext>);
+ virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
+ virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
+ virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
+ static const JSC::ClassInfo s_info;
+
+ static PassRefPtr<JSC::Structure> createStructure(JSC::JSValue prototype)
+ {
+ return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
+ }
+
+ virtual void mark();
+
+ DedicatedWorkerContext* impl() const
+ {
+ return static_cast<DedicatedWorkerContext*>(Base::impl());
+ }
+};
+
+DedicatedWorkerContext* toDedicatedWorkerContext(JSC::JSValue);
+
+class JSDedicatedWorkerContextPrototype : public JSC::JSObject {
+ typedef JSC::JSObject Base;
+public:
+ void* operator new(size_t, JSC::JSGlobalData*);
+ virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
+ static const JSC::ClassInfo s_info;
+ virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier&, JSC::PropertySlot&);
+ static PassRefPtr<JSC::Structure> createStructure(JSC::JSValue prototype)
+ {
+ return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
+ }
+ JSDedicatedWorkerContextPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { }
+};
+
+// Functions
+
+JSC::JSValue JSC_HOST_CALL jsDedicatedWorkerContextPrototypeFunctionPostMessage(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
+// Attributes
+
+JSC::JSValue jsDedicatedWorkerContextOnmessage(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
+void setJSDedicatedWorkerContextOnmessage(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
+
+} // namespace WebCore
+
+#endif // ENABLE(WORKERS)
+
+#endif
diff --git a/src/3rdparty/webkit/WebCore/generated/JSDocument.cpp b/src/3rdparty/webkit/WebCore/generated/JSDocument.cpp
index 2c59f13..68b7ccc 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSDocument.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSDocument.cpp
@@ -169,7 +169,7 @@ static const HashTableValue JSDocumentTableValues[69] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSDocumentTable =
+static JSC_CONST_HASHTABLE HashTable JSDocumentTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 2047, JSDocumentTableValues, 0 };
#else
@@ -183,19 +183,19 @@ static const HashTableValue JSDocumentConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSDocumentConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSDocumentConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSDocumentConstructorTableValues, 0 };
#else
{ 1, 0, JSDocumentConstructorTableValues, 0 };
#endif
-class JSDocumentConstructor : public DOMObject {
+class JSDocumentConstructor : public DOMConstructorObject {
public:
- JSDocumentConstructor(ExecState* exec)
- : DOMObject(JSDocumentConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSDocumentConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSDocumentConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSDocumentPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSDocumentPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -257,7 +257,7 @@ static const HashTableValue JSDocumentPrototypeTableValues[37] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSDocumentPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSDocumentPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 511, JSDocumentPrototypeTableValues, 0 };
#else
@@ -278,8 +278,8 @@ bool JSDocumentPrototype::getOwnPropertySlot(ExecState* exec, const Identifier&
const ClassInfo JSDocument::s_info = { "Document", &JSNode::s_info, &JSDocumentTable, 0 };
-JSDocument::JSDocument(PassRefPtr<Structure> structure, PassRefPtr<Document> impl)
- : JSNode(structure, impl)
+JSDocument::JSDocument(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<Document> impl)
+ : JSNode(structure, globalObject, impl)
{
}
@@ -295,209 +295,239 @@ JSObject* JSDocument::createPrototype(ExecState* exec, JSGlobalObject* globalObj
JSValue jsDocumentDoctype(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->doctype()));
+ Document* imp = static_cast<Document*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->doctype()));
}
JSValue jsDocumentImplementation(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->implementation()));
+ Document* imp = static_cast<Document*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->implementation()));
}
JSValue jsDocumentDocumentElement(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->documentElement()));
+ Document* imp = static_cast<Document*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->documentElement()));
}
JSValue jsDocumentInputEncoding(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
+ Document* imp = static_cast<Document*>(castedThis->impl());
return jsStringOrNull(exec, imp->inputEncoding());
}
JSValue jsDocumentXMLEncoding(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
+ Document* imp = static_cast<Document*>(castedThis->impl());
return jsStringOrNull(exec, imp->xmlEncoding());
}
JSValue jsDocumentXMLVersion(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
+ Document* imp = static_cast<Document*>(castedThis->impl());
return jsStringOrNull(exec, imp->xmlVersion());
}
JSValue jsDocumentXMLStandalone(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
+ Document* imp = static_cast<Document*>(castedThis->impl());
return jsBoolean(imp->xmlStandalone());
}
JSValue jsDocumentDocumentURI(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
+ Document* imp = static_cast<Document*>(castedThis->impl());
return jsStringOrNull(exec, imp->documentURI());
}
JSValue jsDocumentDefaultView(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->defaultView()));
+ Document* imp = static_cast<Document*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->defaultView()));
}
JSValue jsDocumentStyleSheets(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->styleSheets()));
+ Document* imp = static_cast<Document*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->styleSheets()));
}
JSValue jsDocumentTitle(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
+ Document* imp = static_cast<Document*>(castedThis->impl());
return jsString(exec, imp->title());
}
JSValue jsDocumentReferrer(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
+ Document* imp = static_cast<Document*>(castedThis->impl());
return jsString(exec, imp->referrer());
}
JSValue jsDocumentDomain(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
+ Document* imp = static_cast<Document*>(castedThis->impl());
return jsString(exec, imp->domain());
}
JSValue jsDocumentURL(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
+ Document* imp = static_cast<Document*>(castedThis->impl());
return jsString(exec, imp->url());
}
JSValue jsDocumentCookie(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
+ Document* imp = static_cast<Document*>(castedThis->impl());
return jsString(exec, imp->cookie());
}
JSValue jsDocumentBody(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->body()));
+ Document* imp = static_cast<Document*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->body()));
}
JSValue jsDocumentImages(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->images()));
+ Document* imp = static_cast<Document*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->images()));
}
JSValue jsDocumentApplets(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->applets()));
+ Document* imp = static_cast<Document*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->applets()));
}
JSValue jsDocumentLinks(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->links()));
+ Document* imp = static_cast<Document*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->links()));
}
JSValue jsDocumentForms(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->forms()));
+ Document* imp = static_cast<Document*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->forms()));
}
JSValue jsDocumentAnchors(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->anchors()));
+ Document* imp = static_cast<Document*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->anchors()));
}
JSValue jsDocumentLastModified(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
+ Document* imp = static_cast<Document*>(castedThis->impl());
return jsString(exec, imp->lastModified());
}
JSValue jsDocumentLocation(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSDocument*>(asObject(slot.slotBase()))->location(exec);
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
+ return castedThis->location(exec);
}
JSValue jsDocumentCharset(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
+ Document* imp = static_cast<Document*>(castedThis->impl());
return jsStringOrUndefined(exec, imp->charset());
}
JSValue jsDocumentDefaultCharset(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
+ Document* imp = static_cast<Document*>(castedThis->impl());
return jsStringOrUndefined(exec, imp->defaultCharset());
}
JSValue jsDocumentReadyState(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
+ Document* imp = static_cast<Document*>(castedThis->impl());
return jsStringOrUndefined(exec, imp->readyState());
}
JSValue jsDocumentCharacterSet(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
+ Document* imp = static_cast<Document*>(castedThis->impl());
return jsStringOrNull(exec, imp->characterSet());
}
JSValue jsDocumentPreferredStylesheetSet(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
+ Document* imp = static_cast<Document*>(castedThis->impl());
return jsStringOrNull(exec, imp->preferredStylesheetSet());
}
JSValue jsDocumentSelectedStylesheetSet(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
+ Document* imp = static_cast<Document*>(castedThis->impl());
return jsStringOrNull(exec, imp->selectedStylesheetSet());
}
JSValue jsDocumentOnabort(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
+ Document* imp = static_cast<Document*>(castedThis->impl());
if (EventListener* listener = imp->onabort()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -507,8 +537,9 @@ JSValue jsDocumentOnabort(ExecState* exec, const Identifier&, const PropertySlot
JSValue jsDocumentOnblur(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
+ Document* imp = static_cast<Document*>(castedThis->impl());
if (EventListener* listener = imp->onblur()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -518,8 +549,9 @@ JSValue jsDocumentOnblur(ExecState* exec, const Identifier&, const PropertySlot&
JSValue jsDocumentOnchange(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
+ Document* imp = static_cast<Document*>(castedThis->impl());
if (EventListener* listener = imp->onchange()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -529,8 +561,9 @@ JSValue jsDocumentOnchange(ExecState* exec, const Identifier&, const PropertySlo
JSValue jsDocumentOnclick(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
+ Document* imp = static_cast<Document*>(castedThis->impl());
if (EventListener* listener = imp->onclick()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -540,8 +573,9 @@ JSValue jsDocumentOnclick(ExecState* exec, const Identifier&, const PropertySlot
JSValue jsDocumentOncontextmenu(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
+ Document* imp = static_cast<Document*>(castedThis->impl());
if (EventListener* listener = imp->oncontextmenu()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -551,8 +585,9 @@ JSValue jsDocumentOncontextmenu(ExecState* exec, const Identifier&, const Proper
JSValue jsDocumentOndblclick(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
+ Document* imp = static_cast<Document*>(castedThis->impl());
if (EventListener* listener = imp->ondblclick()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -562,8 +597,9 @@ JSValue jsDocumentOndblclick(ExecState* exec, const Identifier&, const PropertyS
JSValue jsDocumentOndrag(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
+ Document* imp = static_cast<Document*>(castedThis->impl());
if (EventListener* listener = imp->ondrag()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -573,8 +609,9 @@ JSValue jsDocumentOndrag(ExecState* exec, const Identifier&, const PropertySlot&
JSValue jsDocumentOndragend(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
+ Document* imp = static_cast<Document*>(castedThis->impl());
if (EventListener* listener = imp->ondragend()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -584,8 +621,9 @@ JSValue jsDocumentOndragend(ExecState* exec, const Identifier&, const PropertySl
JSValue jsDocumentOndragenter(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
+ Document* imp = static_cast<Document*>(castedThis->impl());
if (EventListener* listener = imp->ondragenter()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -595,8 +633,9 @@ JSValue jsDocumentOndragenter(ExecState* exec, const Identifier&, const Property
JSValue jsDocumentOndragleave(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
+ Document* imp = static_cast<Document*>(castedThis->impl());
if (EventListener* listener = imp->ondragleave()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -606,8 +645,9 @@ JSValue jsDocumentOndragleave(ExecState* exec, const Identifier&, const Property
JSValue jsDocumentOndragover(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
+ Document* imp = static_cast<Document*>(castedThis->impl());
if (EventListener* listener = imp->ondragover()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -617,8 +657,9 @@ JSValue jsDocumentOndragover(ExecState* exec, const Identifier&, const PropertyS
JSValue jsDocumentOndragstart(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
+ Document* imp = static_cast<Document*>(castedThis->impl());
if (EventListener* listener = imp->ondragstart()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -628,8 +669,9 @@ JSValue jsDocumentOndragstart(ExecState* exec, const Identifier&, const Property
JSValue jsDocumentOndrop(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
+ Document* imp = static_cast<Document*>(castedThis->impl());
if (EventListener* listener = imp->ondrop()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -639,8 +681,9 @@ JSValue jsDocumentOndrop(ExecState* exec, const Identifier&, const PropertySlot&
JSValue jsDocumentOnerror(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
+ Document* imp = static_cast<Document*>(castedThis->impl());
if (EventListener* listener = imp->onerror()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -650,8 +693,9 @@ JSValue jsDocumentOnerror(ExecState* exec, const Identifier&, const PropertySlot
JSValue jsDocumentOnfocus(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
+ Document* imp = static_cast<Document*>(castedThis->impl());
if (EventListener* listener = imp->onfocus()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -661,8 +705,9 @@ JSValue jsDocumentOnfocus(ExecState* exec, const Identifier&, const PropertySlot
JSValue jsDocumentOninput(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
+ Document* imp = static_cast<Document*>(castedThis->impl());
if (EventListener* listener = imp->oninput()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -672,8 +717,9 @@ JSValue jsDocumentOninput(ExecState* exec, const Identifier&, const PropertySlot
JSValue jsDocumentOnkeydown(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
+ Document* imp = static_cast<Document*>(castedThis->impl());
if (EventListener* listener = imp->onkeydown()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -683,8 +729,9 @@ JSValue jsDocumentOnkeydown(ExecState* exec, const Identifier&, const PropertySl
JSValue jsDocumentOnkeypress(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
+ Document* imp = static_cast<Document*>(castedThis->impl());
if (EventListener* listener = imp->onkeypress()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -694,8 +741,9 @@ JSValue jsDocumentOnkeypress(ExecState* exec, const Identifier&, const PropertyS
JSValue jsDocumentOnkeyup(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
+ Document* imp = static_cast<Document*>(castedThis->impl());
if (EventListener* listener = imp->onkeyup()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -705,8 +753,9 @@ JSValue jsDocumentOnkeyup(ExecState* exec, const Identifier&, const PropertySlot
JSValue jsDocumentOnload(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
+ Document* imp = static_cast<Document*>(castedThis->impl());
if (EventListener* listener = imp->onload()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -716,8 +765,9 @@ JSValue jsDocumentOnload(ExecState* exec, const Identifier&, const PropertySlot&
JSValue jsDocumentOnmousedown(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
+ Document* imp = static_cast<Document*>(castedThis->impl());
if (EventListener* listener = imp->onmousedown()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -727,8 +777,9 @@ JSValue jsDocumentOnmousedown(ExecState* exec, const Identifier&, const Property
JSValue jsDocumentOnmousemove(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
+ Document* imp = static_cast<Document*>(castedThis->impl());
if (EventListener* listener = imp->onmousemove()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -738,8 +789,9 @@ JSValue jsDocumentOnmousemove(ExecState* exec, const Identifier&, const Property
JSValue jsDocumentOnmouseout(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
+ Document* imp = static_cast<Document*>(castedThis->impl());
if (EventListener* listener = imp->onmouseout()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -749,8 +801,9 @@ JSValue jsDocumentOnmouseout(ExecState* exec, const Identifier&, const PropertyS
JSValue jsDocumentOnmouseover(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
+ Document* imp = static_cast<Document*>(castedThis->impl());
if (EventListener* listener = imp->onmouseover()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -760,8 +813,9 @@ JSValue jsDocumentOnmouseover(ExecState* exec, const Identifier&, const Property
JSValue jsDocumentOnmouseup(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
+ Document* imp = static_cast<Document*>(castedThis->impl());
if (EventListener* listener = imp->onmouseup()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -771,8 +825,9 @@ JSValue jsDocumentOnmouseup(ExecState* exec, const Identifier&, const PropertySl
JSValue jsDocumentOnmousewheel(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
+ Document* imp = static_cast<Document*>(castedThis->impl());
if (EventListener* listener = imp->onmousewheel()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -782,8 +837,9 @@ JSValue jsDocumentOnmousewheel(ExecState* exec, const Identifier&, const Propert
JSValue jsDocumentOnscroll(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
+ Document* imp = static_cast<Document*>(castedThis->impl());
if (EventListener* listener = imp->onscroll()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -793,8 +849,9 @@ JSValue jsDocumentOnscroll(ExecState* exec, const Identifier&, const PropertySlo
JSValue jsDocumentOnselect(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
+ Document* imp = static_cast<Document*>(castedThis->impl());
if (EventListener* listener = imp->onselect()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -804,8 +861,9 @@ JSValue jsDocumentOnselect(ExecState* exec, const Identifier&, const PropertySlo
JSValue jsDocumentOnsubmit(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
+ Document* imp = static_cast<Document*>(castedThis->impl());
if (EventListener* listener = imp->onsubmit()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -815,8 +873,9 @@ JSValue jsDocumentOnsubmit(ExecState* exec, const Identifier&, const PropertySlo
JSValue jsDocumentOnbeforecut(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
+ Document* imp = static_cast<Document*>(castedThis->impl());
if (EventListener* listener = imp->onbeforecut()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -826,8 +885,9 @@ JSValue jsDocumentOnbeforecut(ExecState* exec, const Identifier&, const Property
JSValue jsDocumentOncut(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
+ Document* imp = static_cast<Document*>(castedThis->impl());
if (EventListener* listener = imp->oncut()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -837,8 +897,9 @@ JSValue jsDocumentOncut(ExecState* exec, const Identifier&, const PropertySlot&
JSValue jsDocumentOnbeforecopy(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
+ Document* imp = static_cast<Document*>(castedThis->impl());
if (EventListener* listener = imp->onbeforecopy()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -848,8 +909,9 @@ JSValue jsDocumentOnbeforecopy(ExecState* exec, const Identifier&, const Propert
JSValue jsDocumentOncopy(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
+ Document* imp = static_cast<Document*>(castedThis->impl());
if (EventListener* listener = imp->oncopy()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -859,8 +921,9 @@ JSValue jsDocumentOncopy(ExecState* exec, const Identifier&, const PropertySlot&
JSValue jsDocumentOnbeforepaste(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
+ Document* imp = static_cast<Document*>(castedThis->impl());
if (EventListener* listener = imp->onbeforepaste()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -870,8 +933,9 @@ JSValue jsDocumentOnbeforepaste(ExecState* exec, const Identifier&, const Proper
JSValue jsDocumentOnpaste(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
+ Document* imp = static_cast<Document*>(castedThis->impl());
if (EventListener* listener = imp->onpaste()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -881,8 +945,9 @@ JSValue jsDocumentOnpaste(ExecState* exec, const Identifier&, const PropertySlot
JSValue jsDocumentOnreset(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
+ Document* imp = static_cast<Document*>(castedThis->impl());
if (EventListener* listener = imp->onreset()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -892,8 +957,9 @@ JSValue jsDocumentOnreset(ExecState* exec, const Identifier&, const PropertySlot
JSValue jsDocumentOnsearch(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
+ Document* imp = static_cast<Document*>(castedThis->impl());
if (EventListener* listener = imp->onsearch()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -903,8 +969,9 @@ JSValue jsDocumentOnsearch(ExecState* exec, const Identifier&, const PropertySlo
JSValue jsDocumentOnselectstart(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
+ Document* imp = static_cast<Document*>(castedThis->impl());
if (EventListener* listener = imp->onselectstart()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -914,7 +981,8 @@ JSValue jsDocumentOnselectstart(ExecState* exec, const Identifier&, const Proper
JSValue jsDocumentConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSDocument*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSDocument* domObject = static_cast<JSDocument*>(asObject(slot.slotBase()));
+ return JSDocument::getConstructor(exec, domObject->globalObject());
}
void JSDocument::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -1366,9 +1434,9 @@ void setJSDocumentOnselectstart(ExecState* exec, JSObject* thisObject, JSValue v
imp->setOnselectstart(globalObject->createJSAttributeEventListener(value));
}
-JSValue JSDocument::getConstructor(ExecState* exec)
+JSValue JSDocument::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSDocumentConstructor>(exec);
+ return getDOMConstructor<JSDocumentConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsDocumentPrototypeFunctionCreateElement(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -1382,7 +1450,7 @@ JSValue JSC_HOST_CALL jsDocumentPrototypeFunctionCreateElement(ExecState* exec,
const UString& tagName = valueToStringWithNullCheck(exec, args.at(0));
- JSC::JSValue result = toJSNewlyCreated(exec, WTF::getPtr(imp->createElement(tagName, ec)));
+ JSC::JSValue result = toJSNewlyCreated(exec, castedThisObj->globalObject(), WTF::getPtr(imp->createElement(tagName, ec)));
setDOMException(exec, ec);
return result;
}
@@ -1396,7 +1464,7 @@ JSValue JSC_HOST_CALL jsDocumentPrototypeFunctionCreateDocumentFragment(ExecStat
Document* imp = static_cast<Document*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->createDocumentFragment()));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->createDocumentFragment()));
return result;
}
@@ -1410,7 +1478,7 @@ JSValue JSC_HOST_CALL jsDocumentPrototypeFunctionCreateTextNode(ExecState* exec,
const UString& data = args.at(0).toString(exec);
- JSC::JSValue result = toJSNewlyCreated(exec, WTF::getPtr(imp->createTextNode(data)));
+ JSC::JSValue result = toJSNewlyCreated(exec, castedThisObj->globalObject(), WTF::getPtr(imp->createTextNode(data)));
return result;
}
@@ -1424,7 +1492,7 @@ JSValue JSC_HOST_CALL jsDocumentPrototypeFunctionCreateComment(ExecState* exec,
const UString& data = args.at(0).toString(exec);
- JSC::JSValue result = toJSNewlyCreated(exec, WTF::getPtr(imp->createComment(data)));
+ JSC::JSValue result = toJSNewlyCreated(exec, castedThisObj->globalObject(), WTF::getPtr(imp->createComment(data)));
return result;
}
@@ -1439,7 +1507,7 @@ JSValue JSC_HOST_CALL jsDocumentPrototypeFunctionCreateCDATASection(ExecState* e
const UString& data = args.at(0).toString(exec);
- JSC::JSValue result = toJSNewlyCreated(exec, WTF::getPtr(imp->createCDATASection(data, ec)));
+ JSC::JSValue result = toJSNewlyCreated(exec, castedThisObj->globalObject(), WTF::getPtr(imp->createCDATASection(data, ec)));
setDOMException(exec, ec);
return result;
}
@@ -1456,7 +1524,7 @@ JSValue JSC_HOST_CALL jsDocumentPrototypeFunctionCreateProcessingInstruction(Exe
const UString& data = args.at(1).toString(exec);
- JSC::JSValue result = toJSNewlyCreated(exec, WTF::getPtr(imp->createProcessingInstruction(target, data, ec)));
+ JSC::JSValue result = toJSNewlyCreated(exec, castedThisObj->globalObject(), WTF::getPtr(imp->createProcessingInstruction(target, data, ec)));
setDOMException(exec, ec);
return result;
}
@@ -1472,7 +1540,7 @@ JSValue JSC_HOST_CALL jsDocumentPrototypeFunctionCreateAttribute(ExecState* exec
const UString& name = args.at(0).toString(exec);
- JSC::JSValue result = toJSNewlyCreated(exec, WTF::getPtr(imp->createAttribute(name, ec)));
+ JSC::JSValue result = toJSNewlyCreated(exec, castedThisObj->globalObject(), WTF::getPtr(imp->createAttribute(name, ec)));
setDOMException(exec, ec);
return result;
}
@@ -1488,7 +1556,7 @@ JSValue JSC_HOST_CALL jsDocumentPrototypeFunctionCreateEntityReference(ExecState
const UString& name = args.at(0).toString(exec);
- JSC::JSValue result = toJSNewlyCreated(exec, WTF::getPtr(imp->createEntityReference(name, ec)));
+ JSC::JSValue result = toJSNewlyCreated(exec, castedThisObj->globalObject(), WTF::getPtr(imp->createEntityReference(name, ec)));
setDOMException(exec, ec);
return result;
}
@@ -1503,7 +1571,7 @@ JSValue JSC_HOST_CALL jsDocumentPrototypeFunctionGetElementsByTagName(ExecState*
const UString& tagname = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getElementsByTagName(tagname)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getElementsByTagName(tagname)));
return result;
}
@@ -1519,7 +1587,7 @@ JSValue JSC_HOST_CALL jsDocumentPrototypeFunctionImportNode(ExecState* exec, JSO
bool deep = args.at(1).toBoolean(exec);
- JSC::JSValue result = toJSNewlyCreated(exec, WTF::getPtr(imp->importNode(importedNode, deep, ec)));
+ JSC::JSValue result = toJSNewlyCreated(exec, castedThisObj->globalObject(), WTF::getPtr(imp->importNode(importedNode, deep, ec)));
setDOMException(exec, ec);
return result;
}
@@ -1536,7 +1604,7 @@ JSValue JSC_HOST_CALL jsDocumentPrototypeFunctionCreateElementNS(ExecState* exec
const UString& qualifiedName = valueToStringWithNullCheck(exec, args.at(1));
- JSC::JSValue result = toJSNewlyCreated(exec, WTF::getPtr(imp->createElementNS(namespaceURI, qualifiedName, ec)));
+ JSC::JSValue result = toJSNewlyCreated(exec, castedThisObj->globalObject(), WTF::getPtr(imp->createElementNS(namespaceURI, qualifiedName, ec)));
setDOMException(exec, ec);
return result;
}
@@ -1553,7 +1621,7 @@ JSValue JSC_HOST_CALL jsDocumentPrototypeFunctionCreateAttributeNS(ExecState* ex
const UString& qualifiedName = valueToStringWithNullCheck(exec, args.at(1));
- JSC::JSValue result = toJSNewlyCreated(exec, WTF::getPtr(imp->createAttributeNS(namespaceURI, qualifiedName, ec)));
+ JSC::JSValue result = toJSNewlyCreated(exec, castedThisObj->globalObject(), WTF::getPtr(imp->createAttributeNS(namespaceURI, qualifiedName, ec)));
setDOMException(exec, ec);
return result;
}
@@ -1569,7 +1637,7 @@ JSValue JSC_HOST_CALL jsDocumentPrototypeFunctionGetElementsByTagNameNS(ExecStat
const UString& localName = args.at(1).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getElementsByTagNameNS(namespaceURI, localName)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getElementsByTagNameNS(namespaceURI, localName)));
return result;
}
@@ -1583,7 +1651,7 @@ JSValue JSC_HOST_CALL jsDocumentPrototypeFunctionGetElementById(ExecState* exec,
const UString& elementId = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getElementById(elementId)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getElementById(elementId)));
return result;
}
@@ -1598,7 +1666,7 @@ JSValue JSC_HOST_CALL jsDocumentPrototypeFunctionAdoptNode(ExecState* exec, JSOb
Node* source = toNode(args.at(0));
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->adoptNode(source, ec)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->adoptNode(source, ec)));
setDOMException(exec, ec);
return result;
}
@@ -1614,7 +1682,7 @@ JSValue JSC_HOST_CALL jsDocumentPrototypeFunctionCreateEvent(ExecState* exec, JS
const UString& eventType = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->createEvent(eventType, ec)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->createEvent(eventType, ec)));
setDOMException(exec, ec);
return result;
}
@@ -1628,7 +1696,7 @@ JSValue JSC_HOST_CALL jsDocumentPrototypeFunctionCreateRange(ExecState* exec, JS
Document* imp = static_cast<Document*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->createRange()));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->createRange()));
return result;
}
@@ -1646,7 +1714,7 @@ JSValue JSC_HOST_CALL jsDocumentPrototypeFunctionCreateNodeIterator(ExecState* e
bool expandEntityReferences = args.at(3).toBoolean(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->createNodeIterator(root, whatToShow, filter.get(), expandEntityReferences, ec)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->createNodeIterator(root, whatToShow, filter.get(), expandEntityReferences, ec)));
setDOMException(exec, ec);
return result;
}
@@ -1665,7 +1733,7 @@ JSValue JSC_HOST_CALL jsDocumentPrototypeFunctionCreateTreeWalker(ExecState* exe
bool expandEntityReferences = args.at(3).toBoolean(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->createTreeWalker(root, whatToShow, filter.get(), expandEntityReferences, ec)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->createTreeWalker(root, whatToShow, filter.get(), expandEntityReferences, ec)));
setDOMException(exec, ec);
return result;
}
@@ -1681,7 +1749,7 @@ JSValue JSC_HOST_CALL jsDocumentPrototypeFunctionGetOverrideStyle(ExecState* exe
const UString& pseudoElement = args.at(1).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getOverrideStyle(element, pseudoElement)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getOverrideStyle(element, pseudoElement)));
return result;
}
@@ -1704,7 +1772,7 @@ JSValue JSC_HOST_CALL jsDocumentPrototypeFunctionCreateExpression(ExecState* exe
}
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->createExpression(expression, resolver, ec)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->createExpression(expression, resolver, ec)));
setDOMException(exec, ec);
return result;
}
@@ -1719,7 +1787,7 @@ JSValue JSC_HOST_CALL jsDocumentPrototypeFunctionCreateNSResolver(ExecState* exe
Node* nodeResolver = toNode(args.at(0));
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->createNSResolver(nodeResolver)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->createNSResolver(nodeResolver)));
return result;
}
@@ -1745,7 +1813,7 @@ JSValue JSC_HOST_CALL jsDocumentPrototypeFunctionEvaluate(ExecState* exec, JSObj
XPathResult* inResult = toXPathResult(args.at(4));
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->evaluate(expression, contextNode, resolver, type, inResult, ec)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->evaluate(expression, contextNode, resolver, type, inResult, ec)));
setDOMException(exec, ec);
return result;
}
@@ -1846,7 +1914,7 @@ JSValue JSC_HOST_CALL jsDocumentPrototypeFunctionGetElementsByName(ExecState* ex
const UString& elementName = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getElementsByName(elementName)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getElementsByName(elementName)));
return result;
}
@@ -1861,7 +1929,7 @@ JSValue JSC_HOST_CALL jsDocumentPrototypeFunctionElementFromPoint(ExecState* exe
int y = args.at(1).toInt32(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->elementFromPoint(x, y)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->elementFromPoint(x, y)));
return result;
}
@@ -1874,7 +1942,7 @@ JSValue JSC_HOST_CALL jsDocumentPrototypeFunctionGetSelection(ExecState* exec, J
Document* imp = static_cast<Document*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getSelection()));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getSelection()));
return result;
}
@@ -1891,7 +1959,7 @@ JSValue JSC_HOST_CALL jsDocumentPrototypeFunctionGetCSSCanvasContext(ExecState*
int height = args.at(3).toInt32(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getCSSCanvasContext(contextId, name, width, height)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getCSSCanvasContext(contextId, name, width, height)));
return result;
}
@@ -1905,7 +1973,7 @@ JSValue JSC_HOST_CALL jsDocumentPrototypeFunctionGetElementsByClassName(ExecStat
const UString& tagname = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getElementsByClassName(tagname)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getElementsByClassName(tagname)));
return result;
}
@@ -1920,7 +1988,7 @@ JSValue JSC_HOST_CALL jsDocumentPrototypeFunctionQuerySelector(ExecState* exec,
const UString& selectors = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->querySelector(selectors, ec)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->querySelector(selectors, ec)));
setDOMException(exec, ec);
return result;
}
@@ -1936,7 +2004,7 @@ JSValue JSC_HOST_CALL jsDocumentPrototypeFunctionQuerySelectorAll(ExecState* exe
const UString& selectors = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->querySelectorAll(selectors, ec)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->querySelectorAll(selectors, ec)));
setDOMException(exec, ec);
return result;
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSDocument.h b/src/3rdparty/webkit/WebCore/generated/JSDocument.h
index c2032ea..470c671 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSDocument.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSDocument.h
@@ -33,7 +33,7 @@ class Document;
class JSDocument : public JSNode {
typedef JSNode Base;
public:
- JSDocument(PassRefPtr<JSC::Structure>, PassRefPtr<Document>);
+ JSDocument(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<Document>);
virtual ~JSDocument();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -48,7 +48,7 @@ public:
virtual void mark();
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
// Custom attributes
JSC::JSValue location(JSC::ExecState*) const;
@@ -64,7 +64,7 @@ ALWAYS_INLINE bool JSDocument::getOwnPropertySlot(JSC::ExecState* exec, const JS
return JSC::getStaticValueSlot<JSDocument, Base>(exec, s_info.staticPropHashTable, this, propertyName, slot);
}
-JSC::JSValue toJS(JSC::ExecState*, Document*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, Document*);
Document* toDocument(JSC::JSValue);
class JSDocumentPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSDocumentFragment.cpp b/src/3rdparty/webkit/WebCore/generated/JSDocumentFragment.cpp
index 865efd2..0a1a7e9 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSDocumentFragment.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSDocumentFragment.cpp
@@ -44,7 +44,7 @@ static const HashTableValue JSDocumentFragmentTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSDocumentFragmentTable =
+static JSC_CONST_HASHTABLE HashTable JSDocumentFragmentTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSDocumentFragmentTableValues, 0 };
#else
@@ -58,19 +58,19 @@ static const HashTableValue JSDocumentFragmentConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSDocumentFragmentConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSDocumentFragmentConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSDocumentFragmentConstructorTableValues, 0 };
#else
{ 1, 0, JSDocumentFragmentConstructorTableValues, 0 };
#endif
-class JSDocumentFragmentConstructor : public DOMObject {
+class JSDocumentFragmentConstructor : public DOMConstructorObject {
public:
- JSDocumentFragmentConstructor(ExecState* exec)
- : DOMObject(JSDocumentFragmentConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSDocumentFragmentConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSDocumentFragmentConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSDocumentFragmentPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSDocumentFragmentPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -98,7 +98,7 @@ static const HashTableValue JSDocumentFragmentPrototypeTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSDocumentFragmentPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSDocumentFragmentPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 1, JSDocumentFragmentPrototypeTableValues, 0 };
#else
@@ -119,8 +119,8 @@ bool JSDocumentFragmentPrototype::getOwnPropertySlot(ExecState* exec, const Iden
const ClassInfo JSDocumentFragment::s_info = { "DocumentFragment", &JSNode::s_info, &JSDocumentFragmentTable, 0 };
-JSDocumentFragment::JSDocumentFragment(PassRefPtr<Structure> structure, PassRefPtr<DocumentFragment> impl)
- : JSNode(structure, impl)
+JSDocumentFragment::JSDocumentFragment(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<DocumentFragment> impl)
+ : JSNode(structure, globalObject, impl)
{
}
@@ -136,11 +136,12 @@ bool JSDocumentFragment::getOwnPropertySlot(ExecState* exec, const Identifier& p
JSValue jsDocumentFragmentConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSDocumentFragment*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSDocumentFragment* domObject = static_cast<JSDocumentFragment*>(asObject(slot.slotBase()));
+ return JSDocumentFragment::getConstructor(exec, domObject->globalObject());
}
-JSValue JSDocumentFragment::getConstructor(ExecState* exec)
+JSValue JSDocumentFragment::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSDocumentFragmentConstructor>(exec);
+ return getDOMConstructor<JSDocumentFragmentConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsDocumentFragmentPrototypeFunctionQuerySelector(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -154,7 +155,7 @@ JSValue JSC_HOST_CALL jsDocumentFragmentPrototypeFunctionQuerySelector(ExecState
const UString& selectors = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->querySelector(selectors, ec)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->querySelector(selectors, ec)));
setDOMException(exec, ec);
return result;
}
@@ -170,7 +171,7 @@ JSValue JSC_HOST_CALL jsDocumentFragmentPrototypeFunctionQuerySelectorAll(ExecSt
const UString& selectors = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->querySelectorAll(selectors, ec)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->querySelectorAll(selectors, ec)));
setDOMException(exec, ec);
return result;
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSDocumentFragment.h b/src/3rdparty/webkit/WebCore/generated/JSDocumentFragment.h
index d5f57a3..d49b298 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSDocumentFragment.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSDocumentFragment.h
@@ -30,7 +30,7 @@ class DocumentFragment;
class JSDocumentFragment : public JSNode {
typedef JSNode Base;
public:
- JSDocumentFragment(PassRefPtr<JSC::Structure>, PassRefPtr<DocumentFragment>);
+ JSDocumentFragment(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<DocumentFragment>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
@@ -41,7 +41,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSDocumentType.cpp b/src/3rdparty/webkit/WebCore/generated/JSDocumentType.cpp
index 43e7a8c..a0df483 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSDocumentType.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSDocumentType.cpp
@@ -48,7 +48,7 @@ static const HashTableValue JSDocumentTypeTableValues[8] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSDocumentTypeTable =
+static JSC_CONST_HASHTABLE HashTable JSDocumentTypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 127, JSDocumentTypeTableValues, 0 };
#else
@@ -62,19 +62,19 @@ static const HashTableValue JSDocumentTypeConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSDocumentTypeConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSDocumentTypeConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSDocumentTypeConstructorTableValues, 0 };
#else
{ 1, 0, JSDocumentTypeConstructorTableValues, 0 };
#endif
-class JSDocumentTypeConstructor : public DOMObject {
+class JSDocumentTypeConstructor : public DOMConstructorObject {
public:
- JSDocumentTypeConstructor(ExecState* exec)
- : DOMObject(JSDocumentTypeConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSDocumentTypeConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSDocumentTypeConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSDocumentTypePrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSDocumentTypePrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -100,7 +100,7 @@ static const HashTableValue JSDocumentTypePrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSDocumentTypePrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSDocumentTypePrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSDocumentTypePrototypeTableValues, 0 };
#else
@@ -116,8 +116,8 @@ JSObject* JSDocumentTypePrototype::self(ExecState* exec, JSGlobalObject* globalO
const ClassInfo JSDocumentType::s_info = { "DocumentType", &JSNode::s_info, &JSDocumentTypeTable, 0 };
-JSDocumentType::JSDocumentType(PassRefPtr<Structure> structure, PassRefPtr<DocumentType> impl)
- : JSNode(structure, impl)
+JSDocumentType::JSDocumentType(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<DocumentType> impl)
+ : JSNode(structure, globalObject, impl)
{
}
@@ -133,53 +133,60 @@ bool JSDocumentType::getOwnPropertySlot(ExecState* exec, const Identifier& prope
JSValue jsDocumentTypeName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocumentType* castedThis = static_cast<JSDocumentType*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- DocumentType* imp = static_cast<DocumentType*>(static_cast<JSDocumentType*>(asObject(slot.slotBase()))->impl());
+ DocumentType* imp = static_cast<DocumentType*>(castedThis->impl());
return jsString(exec, imp->name());
}
JSValue jsDocumentTypeEntities(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocumentType* castedThis = static_cast<JSDocumentType*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- DocumentType* imp = static_cast<DocumentType*>(static_cast<JSDocumentType*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->entities()));
+ DocumentType* imp = static_cast<DocumentType*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->entities()));
}
JSValue jsDocumentTypeNotations(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocumentType* castedThis = static_cast<JSDocumentType*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- DocumentType* imp = static_cast<DocumentType*>(static_cast<JSDocumentType*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->notations()));
+ DocumentType* imp = static_cast<DocumentType*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->notations()));
}
JSValue jsDocumentTypePublicId(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocumentType* castedThis = static_cast<JSDocumentType*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- DocumentType* imp = static_cast<DocumentType*>(static_cast<JSDocumentType*>(asObject(slot.slotBase()))->impl());
+ DocumentType* imp = static_cast<DocumentType*>(castedThis->impl());
return jsStringOrNull(exec, imp->publicId());
}
JSValue jsDocumentTypeSystemId(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocumentType* castedThis = static_cast<JSDocumentType*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- DocumentType* imp = static_cast<DocumentType*>(static_cast<JSDocumentType*>(asObject(slot.slotBase()))->impl());
+ DocumentType* imp = static_cast<DocumentType*>(castedThis->impl());
return jsStringOrNull(exec, imp->systemId());
}
JSValue jsDocumentTypeInternalSubset(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocumentType* castedThis = static_cast<JSDocumentType*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- DocumentType* imp = static_cast<DocumentType*>(static_cast<JSDocumentType*>(asObject(slot.slotBase()))->impl());
+ DocumentType* imp = static_cast<DocumentType*>(castedThis->impl());
return jsStringOrNull(exec, imp->internalSubset());
}
JSValue jsDocumentTypeConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSDocumentType*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSDocumentType* domObject = static_cast<JSDocumentType*>(asObject(slot.slotBase()));
+ return JSDocumentType::getConstructor(exec, domObject->globalObject());
}
-JSValue JSDocumentType::getConstructor(ExecState* exec)
+JSValue JSDocumentType::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSDocumentTypeConstructor>(exec);
+ return getDOMConstructor<JSDocumentTypeConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
DocumentType* toDocumentType(JSC::JSValue value)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSDocumentType.h b/src/3rdparty/webkit/WebCore/generated/JSDocumentType.h
index 10a5530..e6569c8 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSDocumentType.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSDocumentType.h
@@ -31,7 +31,7 @@ class DocumentType;
class JSDocumentType : public JSNode {
typedef JSNode Base;
public:
- JSDocumentType(PassRefPtr<JSC::Structure>, PassRefPtr<DocumentType>);
+ JSDocumentType(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<DocumentType>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
@@ -42,7 +42,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
DocumentType* impl() const
{
return static_cast<DocumentType*>(Base::impl());
diff --git a/src/3rdparty/webkit/WebCore/generated/JSElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSElement.cpp
index afa1d93..9c101b5 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSElement.cpp
@@ -117,7 +117,7 @@ static const HashTableValue JSElementTableValues[60] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSElementTable =
+static JSC_CONST_HASHTABLE HashTable JSElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 8191, JSElementTableValues, 0 };
#else
@@ -131,19 +131,19 @@ static const HashTableValue JSElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSElementConstructorTableValues, 0 };
#else
{ 1, 0, JSElementConstructorTableValues, 0 };
#endif
-class JSElementConstructor : public DOMObject {
+class JSElementConstructor : public DOMConstructorObject {
public:
- JSElementConstructor(ExecState* exec)
- : DOMObject(JSElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -196,7 +196,7 @@ static const HashTableValue JSElementPrototypeTableValues[28] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 1023, JSElementPrototypeTableValues, 0 };
#else
@@ -217,8 +217,8 @@ bool JSElementPrototype::getOwnPropertySlot(ExecState* exec, const Identifier& p
const ClassInfo JSElement::s_info = { "Element", &JSNode::s_info, &JSElementTable, 0 };
-JSElement::JSElement(PassRefPtr<Structure> structure, PassRefPtr<Element> impl)
- : JSNode(structure, impl)
+JSElement::JSElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<Element> impl)
+ : JSNode(structure, globalObject, impl)
{
}
@@ -229,148 +229,169 @@ JSObject* JSElement::createPrototype(ExecState* exec, JSGlobalObject* globalObje
JSValue jsElementTagName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSElement* castedThis = static_cast<JSElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Element* imp = static_cast<Element*>(static_cast<JSElement*>(asObject(slot.slotBase()))->impl());
+ Element* imp = static_cast<Element*>(castedThis->impl());
return jsStringOrNull(exec, imp->tagName());
}
JSValue jsElementStyle(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSElement* castedThis = static_cast<JSElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Element* imp = static_cast<Element*>(static_cast<JSElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->style()));
+ Element* imp = static_cast<Element*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->style()));
}
JSValue jsElementOffsetLeft(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSElement* castedThis = static_cast<JSElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Element* imp = static_cast<Element*>(static_cast<JSElement*>(asObject(slot.slotBase()))->impl());
+ Element* imp = static_cast<Element*>(castedThis->impl());
return jsNumber(exec, imp->offsetLeft());
}
JSValue jsElementOffsetTop(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSElement* castedThis = static_cast<JSElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Element* imp = static_cast<Element*>(static_cast<JSElement*>(asObject(slot.slotBase()))->impl());
+ Element* imp = static_cast<Element*>(castedThis->impl());
return jsNumber(exec, imp->offsetTop());
}
JSValue jsElementOffsetWidth(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSElement* castedThis = static_cast<JSElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Element* imp = static_cast<Element*>(static_cast<JSElement*>(asObject(slot.slotBase()))->impl());
+ Element* imp = static_cast<Element*>(castedThis->impl());
return jsNumber(exec, imp->offsetWidth());
}
JSValue jsElementOffsetHeight(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSElement* castedThis = static_cast<JSElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Element* imp = static_cast<Element*>(static_cast<JSElement*>(asObject(slot.slotBase()))->impl());
+ Element* imp = static_cast<Element*>(castedThis->impl());
return jsNumber(exec, imp->offsetHeight());
}
JSValue jsElementOffsetParent(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSElement* castedThis = static_cast<JSElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Element* imp = static_cast<Element*>(static_cast<JSElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->offsetParent()));
+ Element* imp = static_cast<Element*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->offsetParent()));
}
JSValue jsElementClientLeft(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSElement* castedThis = static_cast<JSElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Element* imp = static_cast<Element*>(static_cast<JSElement*>(asObject(slot.slotBase()))->impl());
+ Element* imp = static_cast<Element*>(castedThis->impl());
return jsNumber(exec, imp->clientLeft());
}
JSValue jsElementClientTop(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSElement* castedThis = static_cast<JSElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Element* imp = static_cast<Element*>(static_cast<JSElement*>(asObject(slot.slotBase()))->impl());
+ Element* imp = static_cast<Element*>(castedThis->impl());
return jsNumber(exec, imp->clientTop());
}
JSValue jsElementClientWidth(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSElement* castedThis = static_cast<JSElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Element* imp = static_cast<Element*>(static_cast<JSElement*>(asObject(slot.slotBase()))->impl());
+ Element* imp = static_cast<Element*>(castedThis->impl());
return jsNumber(exec, imp->clientWidth());
}
JSValue jsElementClientHeight(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSElement* castedThis = static_cast<JSElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Element* imp = static_cast<Element*>(static_cast<JSElement*>(asObject(slot.slotBase()))->impl());
+ Element* imp = static_cast<Element*>(castedThis->impl());
return jsNumber(exec, imp->clientHeight());
}
JSValue jsElementScrollLeft(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSElement* castedThis = static_cast<JSElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Element* imp = static_cast<Element*>(static_cast<JSElement*>(asObject(slot.slotBase()))->impl());
+ Element* imp = static_cast<Element*>(castedThis->impl());
return jsNumber(exec, imp->scrollLeft());
}
JSValue jsElementScrollTop(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSElement* castedThis = static_cast<JSElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Element* imp = static_cast<Element*>(static_cast<JSElement*>(asObject(slot.slotBase()))->impl());
+ Element* imp = static_cast<Element*>(castedThis->impl());
return jsNumber(exec, imp->scrollTop());
}
JSValue jsElementScrollWidth(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSElement* castedThis = static_cast<JSElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Element* imp = static_cast<Element*>(static_cast<JSElement*>(asObject(slot.slotBase()))->impl());
+ Element* imp = static_cast<Element*>(castedThis->impl());
return jsNumber(exec, imp->scrollWidth());
}
JSValue jsElementScrollHeight(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSElement* castedThis = static_cast<JSElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Element* imp = static_cast<Element*>(static_cast<JSElement*>(asObject(slot.slotBase()))->impl());
+ Element* imp = static_cast<Element*>(castedThis->impl());
return jsNumber(exec, imp->scrollHeight());
}
JSValue jsElementFirstElementChild(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSElement* castedThis = static_cast<JSElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Element* imp = static_cast<Element*>(static_cast<JSElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->firstElementChild()));
+ Element* imp = static_cast<Element*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->firstElementChild()));
}
JSValue jsElementLastElementChild(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSElement* castedThis = static_cast<JSElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Element* imp = static_cast<Element*>(static_cast<JSElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->lastElementChild()));
+ Element* imp = static_cast<Element*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->lastElementChild()));
}
JSValue jsElementPreviousElementSibling(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSElement* castedThis = static_cast<JSElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Element* imp = static_cast<Element*>(static_cast<JSElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->previousElementSibling()));
+ Element* imp = static_cast<Element*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->previousElementSibling()));
}
JSValue jsElementNextElementSibling(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSElement* castedThis = static_cast<JSElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Element* imp = static_cast<Element*>(static_cast<JSElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->nextElementSibling()));
+ Element* imp = static_cast<Element*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->nextElementSibling()));
}
JSValue jsElementChildElementCount(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSElement* castedThis = static_cast<JSElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Element* imp = static_cast<Element*>(static_cast<JSElement*>(asObject(slot.slotBase()))->impl());
+ Element* imp = static_cast<Element*>(castedThis->impl());
return jsNumber(exec, imp->childElementCount());
}
JSValue jsElementOnabort(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSElement* castedThis = static_cast<JSElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Element* imp = static_cast<Element*>(static_cast<JSElement*>(asObject(slot.slotBase()))->impl());
+ Element* imp = static_cast<Element*>(castedThis->impl());
if (EventListener* listener = imp->onabort()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -380,8 +401,9 @@ JSValue jsElementOnabort(ExecState* exec, const Identifier&, const PropertySlot&
JSValue jsElementOnblur(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSElement* castedThis = static_cast<JSElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Element* imp = static_cast<Element*>(static_cast<JSElement*>(asObject(slot.slotBase()))->impl());
+ Element* imp = static_cast<Element*>(castedThis->impl());
if (EventListener* listener = imp->onblur()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -391,8 +413,9 @@ JSValue jsElementOnblur(ExecState* exec, const Identifier&, const PropertySlot&
JSValue jsElementOnchange(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSElement* castedThis = static_cast<JSElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Element* imp = static_cast<Element*>(static_cast<JSElement*>(asObject(slot.slotBase()))->impl());
+ Element* imp = static_cast<Element*>(castedThis->impl());
if (EventListener* listener = imp->onchange()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -402,8 +425,9 @@ JSValue jsElementOnchange(ExecState* exec, const Identifier&, const PropertySlot
JSValue jsElementOnclick(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSElement* castedThis = static_cast<JSElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Element* imp = static_cast<Element*>(static_cast<JSElement*>(asObject(slot.slotBase()))->impl());
+ Element* imp = static_cast<Element*>(castedThis->impl());
if (EventListener* listener = imp->onclick()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -413,8 +437,9 @@ JSValue jsElementOnclick(ExecState* exec, const Identifier&, const PropertySlot&
JSValue jsElementOncontextmenu(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSElement* castedThis = static_cast<JSElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Element* imp = static_cast<Element*>(static_cast<JSElement*>(asObject(slot.slotBase()))->impl());
+ Element* imp = static_cast<Element*>(castedThis->impl());
if (EventListener* listener = imp->oncontextmenu()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -424,8 +449,9 @@ JSValue jsElementOncontextmenu(ExecState* exec, const Identifier&, const Propert
JSValue jsElementOndblclick(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSElement* castedThis = static_cast<JSElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Element* imp = static_cast<Element*>(static_cast<JSElement*>(asObject(slot.slotBase()))->impl());
+ Element* imp = static_cast<Element*>(castedThis->impl());
if (EventListener* listener = imp->ondblclick()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -435,8 +461,9 @@ JSValue jsElementOndblclick(ExecState* exec, const Identifier&, const PropertySl
JSValue jsElementOndrag(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSElement* castedThis = static_cast<JSElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Element* imp = static_cast<Element*>(static_cast<JSElement*>(asObject(slot.slotBase()))->impl());
+ Element* imp = static_cast<Element*>(castedThis->impl());
if (EventListener* listener = imp->ondrag()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -446,8 +473,9 @@ JSValue jsElementOndrag(ExecState* exec, const Identifier&, const PropertySlot&
JSValue jsElementOndragend(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSElement* castedThis = static_cast<JSElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Element* imp = static_cast<Element*>(static_cast<JSElement*>(asObject(slot.slotBase()))->impl());
+ Element* imp = static_cast<Element*>(castedThis->impl());
if (EventListener* listener = imp->ondragend()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -457,8 +485,9 @@ JSValue jsElementOndragend(ExecState* exec, const Identifier&, const PropertySlo
JSValue jsElementOndragenter(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSElement* castedThis = static_cast<JSElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Element* imp = static_cast<Element*>(static_cast<JSElement*>(asObject(slot.slotBase()))->impl());
+ Element* imp = static_cast<Element*>(castedThis->impl());
if (EventListener* listener = imp->ondragenter()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -468,8 +497,9 @@ JSValue jsElementOndragenter(ExecState* exec, const Identifier&, const PropertyS
JSValue jsElementOndragleave(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSElement* castedThis = static_cast<JSElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Element* imp = static_cast<Element*>(static_cast<JSElement*>(asObject(slot.slotBase()))->impl());
+ Element* imp = static_cast<Element*>(castedThis->impl());
if (EventListener* listener = imp->ondragleave()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -479,8 +509,9 @@ JSValue jsElementOndragleave(ExecState* exec, const Identifier&, const PropertyS
JSValue jsElementOndragover(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSElement* castedThis = static_cast<JSElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Element* imp = static_cast<Element*>(static_cast<JSElement*>(asObject(slot.slotBase()))->impl());
+ Element* imp = static_cast<Element*>(castedThis->impl());
if (EventListener* listener = imp->ondragover()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -490,8 +521,9 @@ JSValue jsElementOndragover(ExecState* exec, const Identifier&, const PropertySl
JSValue jsElementOndragstart(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSElement* castedThis = static_cast<JSElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Element* imp = static_cast<Element*>(static_cast<JSElement*>(asObject(slot.slotBase()))->impl());
+ Element* imp = static_cast<Element*>(castedThis->impl());
if (EventListener* listener = imp->ondragstart()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -501,8 +533,9 @@ JSValue jsElementOndragstart(ExecState* exec, const Identifier&, const PropertyS
JSValue jsElementOndrop(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSElement* castedThis = static_cast<JSElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Element* imp = static_cast<Element*>(static_cast<JSElement*>(asObject(slot.slotBase()))->impl());
+ Element* imp = static_cast<Element*>(castedThis->impl());
if (EventListener* listener = imp->ondrop()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -512,8 +545,9 @@ JSValue jsElementOndrop(ExecState* exec, const Identifier&, const PropertySlot&
JSValue jsElementOnerror(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSElement* castedThis = static_cast<JSElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Element* imp = static_cast<Element*>(static_cast<JSElement*>(asObject(slot.slotBase()))->impl());
+ Element* imp = static_cast<Element*>(castedThis->impl());
if (EventListener* listener = imp->onerror()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -523,8 +557,9 @@ JSValue jsElementOnerror(ExecState* exec, const Identifier&, const PropertySlot&
JSValue jsElementOnfocus(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSElement* castedThis = static_cast<JSElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Element* imp = static_cast<Element*>(static_cast<JSElement*>(asObject(slot.slotBase()))->impl());
+ Element* imp = static_cast<Element*>(castedThis->impl());
if (EventListener* listener = imp->onfocus()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -534,8 +569,9 @@ JSValue jsElementOnfocus(ExecState* exec, const Identifier&, const PropertySlot&
JSValue jsElementOninput(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSElement* castedThis = static_cast<JSElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Element* imp = static_cast<Element*>(static_cast<JSElement*>(asObject(slot.slotBase()))->impl());
+ Element* imp = static_cast<Element*>(castedThis->impl());
if (EventListener* listener = imp->oninput()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -545,8 +581,9 @@ JSValue jsElementOninput(ExecState* exec, const Identifier&, const PropertySlot&
JSValue jsElementOnkeydown(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSElement* castedThis = static_cast<JSElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Element* imp = static_cast<Element*>(static_cast<JSElement*>(asObject(slot.slotBase()))->impl());
+ Element* imp = static_cast<Element*>(castedThis->impl());
if (EventListener* listener = imp->onkeydown()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -556,8 +593,9 @@ JSValue jsElementOnkeydown(ExecState* exec, const Identifier&, const PropertySlo
JSValue jsElementOnkeypress(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSElement* castedThis = static_cast<JSElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Element* imp = static_cast<Element*>(static_cast<JSElement*>(asObject(slot.slotBase()))->impl());
+ Element* imp = static_cast<Element*>(castedThis->impl());
if (EventListener* listener = imp->onkeypress()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -567,8 +605,9 @@ JSValue jsElementOnkeypress(ExecState* exec, const Identifier&, const PropertySl
JSValue jsElementOnkeyup(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSElement* castedThis = static_cast<JSElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Element* imp = static_cast<Element*>(static_cast<JSElement*>(asObject(slot.slotBase()))->impl());
+ Element* imp = static_cast<Element*>(castedThis->impl());
if (EventListener* listener = imp->onkeyup()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -578,8 +617,9 @@ JSValue jsElementOnkeyup(ExecState* exec, const Identifier&, const PropertySlot&
JSValue jsElementOnload(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSElement* castedThis = static_cast<JSElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Element* imp = static_cast<Element*>(static_cast<JSElement*>(asObject(slot.slotBase()))->impl());
+ Element* imp = static_cast<Element*>(castedThis->impl());
if (EventListener* listener = imp->onload()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -589,8 +629,9 @@ JSValue jsElementOnload(ExecState* exec, const Identifier&, const PropertySlot&
JSValue jsElementOnmousedown(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSElement* castedThis = static_cast<JSElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Element* imp = static_cast<Element*>(static_cast<JSElement*>(asObject(slot.slotBase()))->impl());
+ Element* imp = static_cast<Element*>(castedThis->impl());
if (EventListener* listener = imp->onmousedown()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -600,8 +641,9 @@ JSValue jsElementOnmousedown(ExecState* exec, const Identifier&, const PropertyS
JSValue jsElementOnmousemove(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSElement* castedThis = static_cast<JSElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Element* imp = static_cast<Element*>(static_cast<JSElement*>(asObject(slot.slotBase()))->impl());
+ Element* imp = static_cast<Element*>(castedThis->impl());
if (EventListener* listener = imp->onmousemove()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -611,8 +653,9 @@ JSValue jsElementOnmousemove(ExecState* exec, const Identifier&, const PropertyS
JSValue jsElementOnmouseout(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSElement* castedThis = static_cast<JSElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Element* imp = static_cast<Element*>(static_cast<JSElement*>(asObject(slot.slotBase()))->impl());
+ Element* imp = static_cast<Element*>(castedThis->impl());
if (EventListener* listener = imp->onmouseout()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -622,8 +665,9 @@ JSValue jsElementOnmouseout(ExecState* exec, const Identifier&, const PropertySl
JSValue jsElementOnmouseover(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSElement* castedThis = static_cast<JSElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Element* imp = static_cast<Element*>(static_cast<JSElement*>(asObject(slot.slotBase()))->impl());
+ Element* imp = static_cast<Element*>(castedThis->impl());
if (EventListener* listener = imp->onmouseover()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -633,8 +677,9 @@ JSValue jsElementOnmouseover(ExecState* exec, const Identifier&, const PropertyS
JSValue jsElementOnmouseup(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSElement* castedThis = static_cast<JSElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Element* imp = static_cast<Element*>(static_cast<JSElement*>(asObject(slot.slotBase()))->impl());
+ Element* imp = static_cast<Element*>(castedThis->impl());
if (EventListener* listener = imp->onmouseup()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -644,8 +689,9 @@ JSValue jsElementOnmouseup(ExecState* exec, const Identifier&, const PropertySlo
JSValue jsElementOnmousewheel(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSElement* castedThis = static_cast<JSElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Element* imp = static_cast<Element*>(static_cast<JSElement*>(asObject(slot.slotBase()))->impl());
+ Element* imp = static_cast<Element*>(castedThis->impl());
if (EventListener* listener = imp->onmousewheel()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -655,8 +701,9 @@ JSValue jsElementOnmousewheel(ExecState* exec, const Identifier&, const Property
JSValue jsElementOnscroll(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSElement* castedThis = static_cast<JSElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Element* imp = static_cast<Element*>(static_cast<JSElement*>(asObject(slot.slotBase()))->impl());
+ Element* imp = static_cast<Element*>(castedThis->impl());
if (EventListener* listener = imp->onscroll()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -666,8 +713,9 @@ JSValue jsElementOnscroll(ExecState* exec, const Identifier&, const PropertySlot
JSValue jsElementOnselect(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSElement* castedThis = static_cast<JSElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Element* imp = static_cast<Element*>(static_cast<JSElement*>(asObject(slot.slotBase()))->impl());
+ Element* imp = static_cast<Element*>(castedThis->impl());
if (EventListener* listener = imp->onselect()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -677,8 +725,9 @@ JSValue jsElementOnselect(ExecState* exec, const Identifier&, const PropertySlot
JSValue jsElementOnsubmit(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSElement* castedThis = static_cast<JSElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Element* imp = static_cast<Element*>(static_cast<JSElement*>(asObject(slot.slotBase()))->impl());
+ Element* imp = static_cast<Element*>(castedThis->impl());
if (EventListener* listener = imp->onsubmit()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -688,8 +737,9 @@ JSValue jsElementOnsubmit(ExecState* exec, const Identifier&, const PropertySlot
JSValue jsElementOnbeforecut(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSElement* castedThis = static_cast<JSElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Element* imp = static_cast<Element*>(static_cast<JSElement*>(asObject(slot.slotBase()))->impl());
+ Element* imp = static_cast<Element*>(castedThis->impl());
if (EventListener* listener = imp->onbeforecut()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -699,8 +749,9 @@ JSValue jsElementOnbeforecut(ExecState* exec, const Identifier&, const PropertyS
JSValue jsElementOncut(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSElement* castedThis = static_cast<JSElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Element* imp = static_cast<Element*>(static_cast<JSElement*>(asObject(slot.slotBase()))->impl());
+ Element* imp = static_cast<Element*>(castedThis->impl());
if (EventListener* listener = imp->oncut()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -710,8 +761,9 @@ JSValue jsElementOncut(ExecState* exec, const Identifier&, const PropertySlot& s
JSValue jsElementOnbeforecopy(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSElement* castedThis = static_cast<JSElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Element* imp = static_cast<Element*>(static_cast<JSElement*>(asObject(slot.slotBase()))->impl());
+ Element* imp = static_cast<Element*>(castedThis->impl());
if (EventListener* listener = imp->onbeforecopy()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -721,8 +773,9 @@ JSValue jsElementOnbeforecopy(ExecState* exec, const Identifier&, const Property
JSValue jsElementOncopy(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSElement* castedThis = static_cast<JSElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Element* imp = static_cast<Element*>(static_cast<JSElement*>(asObject(slot.slotBase()))->impl());
+ Element* imp = static_cast<Element*>(castedThis->impl());
if (EventListener* listener = imp->oncopy()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -732,8 +785,9 @@ JSValue jsElementOncopy(ExecState* exec, const Identifier&, const PropertySlot&
JSValue jsElementOnbeforepaste(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSElement* castedThis = static_cast<JSElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Element* imp = static_cast<Element*>(static_cast<JSElement*>(asObject(slot.slotBase()))->impl());
+ Element* imp = static_cast<Element*>(castedThis->impl());
if (EventListener* listener = imp->onbeforepaste()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -743,8 +797,9 @@ JSValue jsElementOnbeforepaste(ExecState* exec, const Identifier&, const Propert
JSValue jsElementOnpaste(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSElement* castedThis = static_cast<JSElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Element* imp = static_cast<Element*>(static_cast<JSElement*>(asObject(slot.slotBase()))->impl());
+ Element* imp = static_cast<Element*>(castedThis->impl());
if (EventListener* listener = imp->onpaste()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -754,8 +809,9 @@ JSValue jsElementOnpaste(ExecState* exec, const Identifier&, const PropertySlot&
JSValue jsElementOnreset(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSElement* castedThis = static_cast<JSElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Element* imp = static_cast<Element*>(static_cast<JSElement*>(asObject(slot.slotBase()))->impl());
+ Element* imp = static_cast<Element*>(castedThis->impl());
if (EventListener* listener = imp->onreset()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -765,8 +821,9 @@ JSValue jsElementOnreset(ExecState* exec, const Identifier&, const PropertySlot&
JSValue jsElementOnsearch(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSElement* castedThis = static_cast<JSElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Element* imp = static_cast<Element*>(static_cast<JSElement*>(asObject(slot.slotBase()))->impl());
+ Element* imp = static_cast<Element*>(castedThis->impl());
if (EventListener* listener = imp->onsearch()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -776,8 +833,9 @@ JSValue jsElementOnsearch(ExecState* exec, const Identifier&, const PropertySlot
JSValue jsElementOnselectstart(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSElement* castedThis = static_cast<JSElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Element* imp = static_cast<Element*>(static_cast<JSElement*>(asObject(slot.slotBase()))->impl());
+ Element* imp = static_cast<Element*>(castedThis->impl());
if (EventListener* listener = imp->onselectstart()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -787,7 +845,8 @@ JSValue jsElementOnselectstart(ExecState* exec, const Identifier&, const Propert
JSValue jsElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSElement* domObject = static_cast<JSElement*>(asObject(slot.slotBase()));
+ return JSElement::getConstructor(exec, domObject->globalObject());
}
void JSElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -1186,9 +1245,9 @@ void setJSElementOnselectstart(ExecState* exec, JSObject* thisObject, JSValue va
imp->setOnselectstart(globalObject->createJSAttributeEventListener(value));
}
-JSValue JSElement::getConstructor(ExecState* exec)
+JSValue JSElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSElementConstructor>(exec);
+ return getDOMConstructor<JSElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsElementPrototypeFunctionGetAttribute(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -1239,7 +1298,7 @@ JSValue JSC_HOST_CALL jsElementPrototypeFunctionGetAttributeNode(ExecState* exec
const UString& name = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getAttributeNode(name)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getAttributeNode(name)));
return result;
}
@@ -1263,7 +1322,7 @@ JSValue JSC_HOST_CALL jsElementPrototypeFunctionRemoveAttributeNode(ExecState* e
Attr* oldAttr = toAttr(args.at(0));
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->removeAttributeNode(oldAttr, ec)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->removeAttributeNode(oldAttr, ec)));
setDOMException(exec, ec);
return result;
}
@@ -1278,7 +1337,7 @@ JSValue JSC_HOST_CALL jsElementPrototypeFunctionGetElementsByTagName(ExecState*
const UString& name = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getElementsByTagName(name)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getElementsByTagName(name)));
return result;
}
@@ -1333,7 +1392,7 @@ JSValue JSC_HOST_CALL jsElementPrototypeFunctionGetElementsByTagNameNS(ExecState
const UString& localName = args.at(1).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getElementsByTagNameNS(namespaceURI, localName)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getElementsByTagNameNS(namespaceURI, localName)));
return result;
}
@@ -1348,7 +1407,7 @@ JSValue JSC_HOST_CALL jsElementPrototypeFunctionGetAttributeNodeNS(ExecState* ex
const UString& localName = args.at(1).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getAttributeNodeNS(namespaceURI, localName)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getAttributeNodeNS(namespaceURI, localName)));
return result;
}
@@ -1504,7 +1563,7 @@ JSValue JSC_HOST_CALL jsElementPrototypeFunctionGetElementsByClassName(ExecState
const UString& name = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getElementsByClassName(name)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getElementsByClassName(name)));
return result;
}
@@ -1519,7 +1578,7 @@ JSValue JSC_HOST_CALL jsElementPrototypeFunctionQuerySelector(ExecState* exec, J
const UString& selectors = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->querySelector(selectors, ec)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->querySelector(selectors, ec)));
setDOMException(exec, ec);
return result;
}
@@ -1535,7 +1594,7 @@ JSValue JSC_HOST_CALL jsElementPrototypeFunctionQuerySelectorAll(ExecState* exec
const UString& selectors = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->querySelectorAll(selectors, ec)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->querySelectorAll(selectors, ec)));
setDOMException(exec, ec);
return result;
}
@@ -1549,7 +1608,7 @@ JSValue JSC_HOST_CALL jsElementPrototypeFunctionGetClientRects(ExecState* exec,
Element* imp = static_cast<Element*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getClientRects()));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getClientRects()));
return result;
}
@@ -1562,7 +1621,7 @@ JSValue JSC_HOST_CALL jsElementPrototypeFunctionGetBoundingClientRect(ExecState*
Element* imp = static_cast<Element*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getBoundingClientRect()));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getBoundingClientRect()));
return result;
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSElement.h b/src/3rdparty/webkit/WebCore/generated/JSElement.h
index 36c81ac..b7a2747 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSElement.h
@@ -33,7 +33,7 @@ class Element;
class JSElement : public JSNode {
typedef JSNode Base;
public:
- JSElement(PassRefPtr<JSC::Structure>, PassRefPtr<Element>);
+ JSElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<Element>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -45,7 +45,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
// Custom functions
JSC::JSValue setAttribute(JSC::ExecState*, const JSC::ArgList&);
@@ -64,7 +64,7 @@ ALWAYS_INLINE bool JSElement::getOwnPropertySlot(JSC::ExecState* exec, const JSC
}
Element* toElement(JSC::JSValue);
-JSC::JSValue toJSNewlyCreated(JSC::ExecState*, Element*);
+JSC::JSValue toJSNewlyCreated(JSC::ExecState*, JSDOMGlobalObject*, Element*);
class JSElementPrototype : public JSC::JSObject {
typedef JSC::JSObject Base;
diff --git a/src/3rdparty/webkit/WebCore/generated/JSEntity.cpp b/src/3rdparty/webkit/WebCore/generated/JSEntity.cpp
index be4eed5..3b519ce 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSEntity.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSEntity.cpp
@@ -42,7 +42,7 @@ static const HashTableValue JSEntityTableValues[5] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSEntityTable =
+static JSC_CONST_HASHTABLE HashTable JSEntityTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSEntityTableValues, 0 };
#else
@@ -56,19 +56,19 @@ static const HashTableValue JSEntityConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSEntityConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSEntityConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSEntityConstructorTableValues, 0 };
#else
{ 1, 0, JSEntityConstructorTableValues, 0 };
#endif
-class JSEntityConstructor : public DOMObject {
+class JSEntityConstructor : public DOMConstructorObject {
public:
- JSEntityConstructor(ExecState* exec)
- : DOMObject(JSEntityConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSEntityConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSEntityConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSEntityPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSEntityPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -94,7 +94,7 @@ static const HashTableValue JSEntityPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSEntityPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSEntityPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSEntityPrototypeTableValues, 0 };
#else
@@ -110,8 +110,8 @@ JSObject* JSEntityPrototype::self(ExecState* exec, JSGlobalObject* globalObject)
const ClassInfo JSEntity::s_info = { "Entity", &JSNode::s_info, &JSEntityTable, 0 };
-JSEntity::JSEntity(PassRefPtr<Structure> structure, PassRefPtr<Entity> impl)
- : JSNode(structure, impl)
+JSEntity::JSEntity(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<Entity> impl)
+ : JSNode(structure, globalObject, impl)
{
}
@@ -127,32 +127,36 @@ bool JSEntity::getOwnPropertySlot(ExecState* exec, const Identifier& propertyNam
JSValue jsEntityPublicId(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSEntity* castedThis = static_cast<JSEntity*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Entity* imp = static_cast<Entity*>(static_cast<JSEntity*>(asObject(slot.slotBase()))->impl());
+ Entity* imp = static_cast<Entity*>(castedThis->impl());
return jsStringOrNull(exec, imp->publicId());
}
JSValue jsEntitySystemId(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSEntity* castedThis = static_cast<JSEntity*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Entity* imp = static_cast<Entity*>(static_cast<JSEntity*>(asObject(slot.slotBase()))->impl());
+ Entity* imp = static_cast<Entity*>(castedThis->impl());
return jsStringOrNull(exec, imp->systemId());
}
JSValue jsEntityNotationName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSEntity* castedThis = static_cast<JSEntity*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Entity* imp = static_cast<Entity*>(static_cast<JSEntity*>(asObject(slot.slotBase()))->impl());
+ Entity* imp = static_cast<Entity*>(castedThis->impl());
return jsStringOrNull(exec, imp->notationName());
}
JSValue jsEntityConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSEntity*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSEntity* domObject = static_cast<JSEntity*>(asObject(slot.slotBase()));
+ return JSEntity::getConstructor(exec, domObject->globalObject());
}
-JSValue JSEntity::getConstructor(ExecState* exec)
+JSValue JSEntity::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSEntityConstructor>(exec);
+ return getDOMConstructor<JSEntityConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSEntity.h b/src/3rdparty/webkit/WebCore/generated/JSEntity.h
index b54cf58..323d70c 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSEntity.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSEntity.h
@@ -30,7 +30,7 @@ class Entity;
class JSEntity : public JSNode {
typedef JSNode Base;
public:
- JSEntity(PassRefPtr<JSC::Structure>, PassRefPtr<Entity>);
+ JSEntity(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<Entity>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
@@ -41,7 +41,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSEntityReference.cpp b/src/3rdparty/webkit/WebCore/generated/JSEntityReference.cpp
index dc12c48..5e18f07 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSEntityReference.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSEntityReference.cpp
@@ -38,7 +38,7 @@ static const HashTableValue JSEntityReferenceTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSEntityReferenceTable =
+static JSC_CONST_HASHTABLE HashTable JSEntityReferenceTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSEntityReferenceTableValues, 0 };
#else
@@ -52,19 +52,19 @@ static const HashTableValue JSEntityReferenceConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSEntityReferenceConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSEntityReferenceConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSEntityReferenceConstructorTableValues, 0 };
#else
{ 1, 0, JSEntityReferenceConstructorTableValues, 0 };
#endif
-class JSEntityReferenceConstructor : public DOMObject {
+class JSEntityReferenceConstructor : public DOMConstructorObject {
public:
- JSEntityReferenceConstructor(ExecState* exec)
- : DOMObject(JSEntityReferenceConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSEntityReferenceConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSEntityReferenceConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSEntityReferencePrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSEntityReferencePrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -90,7 +90,7 @@ static const HashTableValue JSEntityReferencePrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSEntityReferencePrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSEntityReferencePrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSEntityReferencePrototypeTableValues, 0 };
#else
@@ -106,8 +106,8 @@ JSObject* JSEntityReferencePrototype::self(ExecState* exec, JSGlobalObject* glob
const ClassInfo JSEntityReference::s_info = { "EntityReference", &JSNode::s_info, &JSEntityReferenceTable, 0 };
-JSEntityReference::JSEntityReference(PassRefPtr<Structure> structure, PassRefPtr<EntityReference> impl)
- : JSNode(structure, impl)
+JSEntityReference::JSEntityReference(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<EntityReference> impl)
+ : JSNode(structure, globalObject, impl)
{
}
@@ -123,11 +123,12 @@ bool JSEntityReference::getOwnPropertySlot(ExecState* exec, const Identifier& pr
JSValue jsEntityReferenceConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSEntityReference*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSEntityReference* domObject = static_cast<JSEntityReference*>(asObject(slot.slotBase()));
+ return JSEntityReference::getConstructor(exec, domObject->globalObject());
}
-JSValue JSEntityReference::getConstructor(ExecState* exec)
+JSValue JSEntityReference::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSEntityReferenceConstructor>(exec);
+ return getDOMConstructor<JSEntityReferenceConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSEntityReference.h b/src/3rdparty/webkit/WebCore/generated/JSEntityReference.h
index 0c0957a..261e2e9 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSEntityReference.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSEntityReference.h
@@ -30,7 +30,7 @@ class EntityReference;
class JSEntityReference : public JSNode {
typedef JSNode Base;
public:
- JSEntityReference(PassRefPtr<JSC::Structure>, PassRefPtr<EntityReference>);
+ JSEntityReference(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<EntityReference>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
@@ -41,7 +41,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSErrorEvent.cpp b/src/3rdparty/webkit/WebCore/generated/JSErrorEvent.cpp
new file mode 100644
index 0000000..24bf5f2
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/generated/JSErrorEvent.cpp
@@ -0,0 +1,203 @@
+/*
+ This file is part of the WebKit open source project.
+ This file has been generated by generate-bindings.pl. DO NOT MODIFY!
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "config.h"
+
+#if ENABLE(WORKERS)
+
+#include "JSErrorEvent.h"
+
+#include "ErrorEvent.h"
+#include "KURL.h"
+#include <runtime/Error.h>
+#include <runtime/JSNumberCell.h>
+#include <runtime/JSString.h>
+#include <wtf/GetPtr.h>
+
+using namespace JSC;
+
+namespace WebCore {
+
+ASSERT_CLASS_FITS_IN_CELL(JSErrorEvent);
+
+/* Hash table */
+
+static const HashTableValue JSErrorEventTableValues[5] =
+{
+ { "message", DontDelete|ReadOnly, (intptr_t)jsErrorEventMessage, (intptr_t)0 },
+ { "filename", DontDelete|ReadOnly, (intptr_t)jsErrorEventFilename, (intptr_t)0 },
+ { "lineno", DontDelete|ReadOnly, (intptr_t)jsErrorEventLineno, (intptr_t)0 },
+ { "constructor", DontEnum|ReadOnly, (intptr_t)jsErrorEventConstructor, (intptr_t)0 },
+ { 0, 0, 0, 0 }
+};
+
+static JSC_CONST_HASHTABLE HashTable JSErrorEventTable =
+#if ENABLE(PERFECT_HASH_SIZE)
+ { 15, JSErrorEventTableValues, 0 };
+#else
+ { 9, 7, JSErrorEventTableValues, 0 };
+#endif
+
+/* Hash table for constructor */
+
+static const HashTableValue JSErrorEventConstructorTableValues[1] =
+{
+ { 0, 0, 0, 0 }
+};
+
+static JSC_CONST_HASHTABLE HashTable JSErrorEventConstructorTable =
+#if ENABLE(PERFECT_HASH_SIZE)
+ { 0, JSErrorEventConstructorTableValues, 0 };
+#else
+ { 1, 0, JSErrorEventConstructorTableValues, 0 };
+#endif
+
+class JSErrorEventConstructor : public DOMConstructorObject {
+public:
+ JSErrorEventConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSErrorEventConstructor::createStructure(globalObject->objectPrototype()), globalObject)
+ {
+ putDirect(exec->propertyNames().prototype, JSErrorEventPrototype::self(exec, globalObject), None);
+ }
+ virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
+ virtual const ClassInfo* classInfo() const { return &s_info; }
+ static const ClassInfo s_info;
+
+ static PassRefPtr<Structure> createStructure(JSValue proto)
+ {
+ return Structure::create(proto, TypeInfo(ObjectType, ImplementsHasInstance));
+ }
+};
+
+const ClassInfo JSErrorEventConstructor::s_info = { "ErrorEventConstructor", 0, &JSErrorEventConstructorTable, 0 };
+
+bool JSErrorEventConstructor::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
+{
+ return getStaticValueSlot<JSErrorEventConstructor, DOMObject>(exec, &JSErrorEventConstructorTable, this, propertyName, slot);
+}
+
+/* Hash table for prototype */
+
+static const HashTableValue JSErrorEventPrototypeTableValues[2] =
+{
+ { "initErrorEvent", DontDelete|Function, (intptr_t)jsErrorEventPrototypeFunctionInitErrorEvent, (intptr_t)6 },
+ { 0, 0, 0, 0 }
+};
+
+static JSC_CONST_HASHTABLE HashTable JSErrorEventPrototypeTable =
+#if ENABLE(PERFECT_HASH_SIZE)
+ { 0, JSErrorEventPrototypeTableValues, 0 };
+#else
+ { 2, 1, JSErrorEventPrototypeTableValues, 0 };
+#endif
+
+static const HashTable* getJSErrorEventPrototypeTable(ExecState* exec)
+{
+ return getHashTableForGlobalData(exec->globalData(), &JSErrorEventPrototypeTable);
+}
+const ClassInfo JSErrorEventPrototype::s_info = { "ErrorEventPrototype", 0, 0, getJSErrorEventPrototypeTable };
+
+JSObject* JSErrorEventPrototype::self(ExecState* exec, JSGlobalObject* globalObject)
+{
+ return getDOMPrototype<JSErrorEvent>(exec, globalObject);
+}
+
+bool JSErrorEventPrototype::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
+{
+ return getStaticFunctionSlot<JSObject>(exec, getJSErrorEventPrototypeTable(exec), this, propertyName, slot);
+}
+
+static const HashTable* getJSErrorEventTable(ExecState* exec)
+{
+ return getHashTableForGlobalData(exec->globalData(), &JSErrorEventTable);
+}
+const ClassInfo JSErrorEvent::s_info = { "ErrorEvent", &JSEvent::s_info, 0, getJSErrorEventTable };
+
+JSErrorEvent::JSErrorEvent(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<ErrorEvent> impl)
+ : JSEvent(structure, globalObject, impl)
+{
+}
+
+JSObject* JSErrorEvent::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
+{
+ return new (exec) JSErrorEventPrototype(JSErrorEventPrototype::createStructure(JSEventPrototype::self(exec, globalObject)));
+}
+
+bool JSErrorEvent::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
+{
+ return getStaticValueSlot<JSErrorEvent, Base>(exec, getJSErrorEventTable(exec), this, propertyName, slot);
+}
+
+JSValue jsErrorEventMessage(ExecState* exec, const Identifier&, const PropertySlot& slot)
+{
+ JSErrorEvent* castedThis = static_cast<JSErrorEvent*>(asObject(slot.slotBase()));
+ UNUSED_PARAM(exec);
+ ErrorEvent* imp = static_cast<ErrorEvent*>(castedThis->impl());
+ return jsString(exec, imp->message());
+}
+
+JSValue jsErrorEventFilename(ExecState* exec, const Identifier&, const PropertySlot& slot)
+{
+ JSErrorEvent* castedThis = static_cast<JSErrorEvent*>(asObject(slot.slotBase()));
+ UNUSED_PARAM(exec);
+ ErrorEvent* imp = static_cast<ErrorEvent*>(castedThis->impl());
+ return jsString(exec, imp->filename());
+}
+
+JSValue jsErrorEventLineno(ExecState* exec, const Identifier&, const PropertySlot& slot)
+{
+ JSErrorEvent* castedThis = static_cast<JSErrorEvent*>(asObject(slot.slotBase()));
+ UNUSED_PARAM(exec);
+ ErrorEvent* imp = static_cast<ErrorEvent*>(castedThis->impl());
+ return jsNumber(exec, imp->lineno());
+}
+
+JSValue jsErrorEventConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
+{
+ JSErrorEvent* domObject = static_cast<JSErrorEvent*>(asObject(slot.slotBase()));
+ return JSErrorEvent::getConstructor(exec, domObject->globalObject());
+}
+JSValue JSErrorEvent::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
+{
+ return getDOMConstructor<JSErrorEventConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
+}
+
+JSValue JSC_HOST_CALL jsErrorEventPrototypeFunctionInitErrorEvent(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+{
+ UNUSED_PARAM(args);
+ if (!thisValue.isObject(&JSErrorEvent::s_info))
+ return throwError(exec, TypeError);
+ JSErrorEvent* castedThisObj = static_cast<JSErrorEvent*>(asObject(thisValue));
+ ErrorEvent* imp = static_cast<ErrorEvent*>(castedThisObj->impl());
+ const UString& typeArg = args.at(0).toString(exec);
+ bool canBubbleArg = args.at(1).toBoolean(exec);
+ bool cancelableArg = args.at(2).toBoolean(exec);
+ const UString& messageArg = args.at(3).toString(exec);
+ const UString& filenameArg = args.at(4).toString(exec);
+ unsigned linenoArg = args.at(5).toInt32(exec);
+
+ imp->initErrorEvent(typeArg, canBubbleArg, cancelableArg, messageArg, filenameArg, linenoArg);
+ return jsUndefined();
+}
+
+
+}
+
+#endif // ENABLE(WORKERS)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSErrorEvent.h b/src/3rdparty/webkit/WebCore/generated/JSErrorEvent.h
new file mode 100644
index 0000000..bcf57de
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/generated/JSErrorEvent.h
@@ -0,0 +1,78 @@
+/*
+ This file is part of the WebKit open source project.
+ This file has been generated by generate-bindings.pl. DO NOT MODIFY!
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef JSErrorEvent_h
+#define JSErrorEvent_h
+
+#if ENABLE(WORKERS)
+
+#include "JSEvent.h"
+
+namespace WebCore {
+
+class ErrorEvent;
+
+class JSErrorEvent : public JSEvent {
+ typedef JSEvent Base;
+public:
+ JSErrorEvent(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<ErrorEvent>);
+ static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
+ virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
+ virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
+ static const JSC::ClassInfo s_info;
+
+ static PassRefPtr<JSC::Structure> createStructure(JSC::JSValue prototype)
+ {
+ return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
+ }
+
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
+};
+
+
+class JSErrorEventPrototype : public JSC::JSObject {
+ typedef JSC::JSObject Base;
+public:
+ static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*);
+ virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
+ static const JSC::ClassInfo s_info;
+ virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier&, JSC::PropertySlot&);
+ static PassRefPtr<JSC::Structure> createStructure(JSC::JSValue prototype)
+ {
+ return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
+ }
+ JSErrorEventPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { }
+};
+
+// Functions
+
+JSC::JSValue JSC_HOST_CALL jsErrorEventPrototypeFunctionInitErrorEvent(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
+// Attributes
+
+JSC::JSValue jsErrorEventMessage(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
+JSC::JSValue jsErrorEventFilename(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
+JSC::JSValue jsErrorEventLineno(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
+JSC::JSValue jsErrorEventConstructor(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
+
+} // namespace WebCore
+
+#endif // ENABLE(WORKERS)
+
+#endif
diff --git a/src/3rdparty/webkit/WebCore/generated/JSEvent.cpp b/src/3rdparty/webkit/WebCore/generated/JSEvent.cpp
index f00e179..58865e0 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSEvent.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSEvent.cpp
@@ -55,7 +55,7 @@ static const HashTableValue JSEventTableValues[13] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSEventTable =
+static JSC_CONST_HASHTABLE HashTable JSEventTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 127, JSEventTableValues, 0 };
#else
@@ -88,19 +88,19 @@ static const HashTableValue JSEventConstructorTableValues[20] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSEventConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSEventConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 8191, JSEventConstructorTableValues, 0 };
#else
{ 68, 63, JSEventConstructorTableValues, 0 };
#endif
-class JSEventConstructor : public DOMObject {
+class JSEventConstructor : public DOMConstructorObject {
public:
- JSEventConstructor(ExecState* exec)
- : DOMObject(JSEventConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSEventConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSEventConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSEventPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSEventPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -148,7 +148,7 @@ static const HashTableValue JSEventPrototypeTableValues[23] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSEventPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSEventPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 8191, JSEventPrototypeTableValues, 0 };
#else
@@ -177,8 +177,8 @@ static const HashTable* getJSEventTable(ExecState* exec)
}
const ClassInfo JSEvent::s_info = { "Event", 0, 0, getJSEventTable };
-JSEvent::JSEvent(PassRefPtr<Structure> structure, PassRefPtr<Event> impl)
- : DOMObject(structure)
+JSEvent::JSEvent(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<Event> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -200,82 +200,94 @@ bool JSEvent::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName
JSValue jsEventType(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSEvent* castedThis = static_cast<JSEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Event* imp = static_cast<Event*>(static_cast<JSEvent*>(asObject(slot.slotBase()))->impl());
+ Event* imp = static_cast<Event*>(castedThis->impl());
return jsString(exec, imp->type());
}
JSValue jsEventTarget(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSEvent* castedThis = static_cast<JSEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Event* imp = static_cast<Event*>(static_cast<JSEvent*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->target()));
+ Event* imp = static_cast<Event*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->target()));
}
JSValue jsEventCurrentTarget(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSEvent* castedThis = static_cast<JSEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Event* imp = static_cast<Event*>(static_cast<JSEvent*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->currentTarget()));
+ Event* imp = static_cast<Event*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->currentTarget()));
}
JSValue jsEventEventPhase(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSEvent* castedThis = static_cast<JSEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Event* imp = static_cast<Event*>(static_cast<JSEvent*>(asObject(slot.slotBase()))->impl());
+ Event* imp = static_cast<Event*>(castedThis->impl());
return jsNumber(exec, imp->eventPhase());
}
JSValue jsEventBubbles(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSEvent* castedThis = static_cast<JSEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Event* imp = static_cast<Event*>(static_cast<JSEvent*>(asObject(slot.slotBase()))->impl());
+ Event* imp = static_cast<Event*>(castedThis->impl());
return jsBoolean(imp->bubbles());
}
JSValue jsEventCancelable(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSEvent* castedThis = static_cast<JSEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Event* imp = static_cast<Event*>(static_cast<JSEvent*>(asObject(slot.slotBase()))->impl());
+ Event* imp = static_cast<Event*>(castedThis->impl());
return jsBoolean(imp->cancelable());
}
JSValue jsEventTimeStamp(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSEvent* castedThis = static_cast<JSEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Event* imp = static_cast<Event*>(static_cast<JSEvent*>(asObject(slot.slotBase()))->impl());
+ Event* imp = static_cast<Event*>(castedThis->impl());
return jsNumber(exec, imp->timeStamp());
}
JSValue jsEventSrcElement(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSEvent* castedThis = static_cast<JSEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Event* imp = static_cast<Event*>(static_cast<JSEvent*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->srcElement()));
+ Event* imp = static_cast<Event*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->srcElement()));
}
JSValue jsEventReturnValue(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSEvent* castedThis = static_cast<JSEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Event* imp = static_cast<Event*>(static_cast<JSEvent*>(asObject(slot.slotBase()))->impl());
+ Event* imp = static_cast<Event*>(castedThis->impl());
return jsBoolean(imp->returnValue());
}
JSValue jsEventCancelBubble(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSEvent* castedThis = static_cast<JSEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Event* imp = static_cast<Event*>(static_cast<JSEvent*>(asObject(slot.slotBase()))->impl());
+ Event* imp = static_cast<Event*>(castedThis->impl());
return jsBoolean(imp->cancelBubble());
}
JSValue jsEventClipboardData(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSEvent*>(asObject(slot.slotBase()))->clipboardData(exec);
+ JSEvent* castedThis = static_cast<JSEvent*>(asObject(slot.slotBase()));
+ return castedThis->clipboardData(exec);
}
JSValue jsEventConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSEvent*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSEvent* domObject = static_cast<JSEvent*>(asObject(slot.slotBase()));
+ return JSEvent::getConstructor(exec, domObject->globalObject());
}
void JSEvent::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -294,9 +306,9 @@ void setJSEventCancelBubble(ExecState* exec, JSObject* thisObject, JSValue value
imp->setCancelBubble(value.toBoolean(exec));
}
-JSValue JSEvent::getConstructor(ExecState* exec)
+JSValue JSEvent::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSEventConstructor>(exec);
+ return getDOMConstructor<JSEventConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsEventPrototypeFunctionStopPropagation(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSEvent.h b/src/3rdparty/webkit/WebCore/generated/JSEvent.h
index 281010b..f56b889 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSEvent.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSEvent.h
@@ -21,6 +21,7 @@
#ifndef JSEvent_h
#define JSEvent_h
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -29,10 +30,10 @@ namespace WebCore {
class Event;
-class JSEvent : public DOMObject {
- typedef DOMObject Base;
+class JSEvent : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSEvent(PassRefPtr<JSC::Structure>, PassRefPtr<Event>);
+ JSEvent(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<Event>);
virtual ~JSEvent();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -45,7 +46,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
// Custom attributes
JSC::JSValue clipboardData(JSC::ExecState*) const;
@@ -55,7 +56,7 @@ private:
RefPtr<Event> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, Event*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, Event*);
Event* toEvent(JSC::JSValue);
class JSEventPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSEventException.cpp b/src/3rdparty/webkit/WebCore/generated/JSEventException.cpp
index 2adb70a..b92465a 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSEventException.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSEventException.cpp
@@ -45,7 +45,7 @@ static const HashTableValue JSEventExceptionTableValues[5] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSEventExceptionTable =
+static JSC_CONST_HASHTABLE HashTable JSEventExceptionTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 127, JSEventExceptionTableValues, 0 };
#else
@@ -60,19 +60,19 @@ static const HashTableValue JSEventExceptionConstructorTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSEventExceptionConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSEventExceptionConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSEventExceptionConstructorTableValues, 0 };
#else
{ 2, 1, JSEventExceptionConstructorTableValues, 0 };
#endif
-class JSEventExceptionConstructor : public DOMObject {
+class JSEventExceptionConstructor : public DOMConstructorObject {
public:
- JSEventExceptionConstructor(ExecState* exec)
- : DOMObject(JSEventExceptionConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSEventExceptionConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSEventExceptionConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSEventExceptionPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSEventExceptionPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -100,7 +100,7 @@ static const HashTableValue JSEventExceptionPrototypeTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSEventExceptionPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSEventExceptionPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 7, JSEventExceptionPrototypeTableValues, 0 };
#else
@@ -129,8 +129,8 @@ static const HashTable* getJSEventExceptionTable(ExecState* exec)
}
const ClassInfo JSEventException::s_info = { "EventException", 0, 0, getJSEventExceptionTable };
-JSEventException::JSEventException(PassRefPtr<Structure> structure, PassRefPtr<EventException> impl)
- : DOMObject(structure)
+JSEventException::JSEventException(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<EventException> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -152,32 +152,36 @@ bool JSEventException::getOwnPropertySlot(ExecState* exec, const Identifier& pro
JSValue jsEventExceptionCode(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSEventException* castedThis = static_cast<JSEventException*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- EventException* imp = static_cast<EventException*>(static_cast<JSEventException*>(asObject(slot.slotBase()))->impl());
+ EventException* imp = static_cast<EventException*>(castedThis->impl());
return jsNumber(exec, imp->code());
}
JSValue jsEventExceptionName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSEventException* castedThis = static_cast<JSEventException*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- EventException* imp = static_cast<EventException*>(static_cast<JSEventException*>(asObject(slot.slotBase()))->impl());
+ EventException* imp = static_cast<EventException*>(castedThis->impl());
return jsString(exec, imp->name());
}
JSValue jsEventExceptionMessage(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSEventException* castedThis = static_cast<JSEventException*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- EventException* imp = static_cast<EventException*>(static_cast<JSEventException*>(asObject(slot.slotBase()))->impl());
+ EventException* imp = static_cast<EventException*>(castedThis->impl());
return jsString(exec, imp->message());
}
JSValue jsEventExceptionConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSEventException*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSEventException* domObject = static_cast<JSEventException*>(asObject(slot.slotBase()));
+ return JSEventException::getConstructor(exec, domObject->globalObject());
}
-JSValue JSEventException::getConstructor(ExecState* exec)
+JSValue JSEventException::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSEventExceptionConstructor>(exec);
+ return getDOMConstructor<JSEventExceptionConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsEventExceptionPrototypeFunctionToString(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -200,9 +204,9 @@ JSValue jsEventExceptionUNSPECIFIED_EVENT_TYPE_ERR(ExecState* exec, const Identi
return jsNumber(exec, static_cast<int>(0));
}
-JSC::JSValue toJS(JSC::ExecState* exec, EventException* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, EventException* object)
{
- return getDOMObjectWrapper<JSEventException>(exec, object);
+ return getDOMObjectWrapper<JSEventException>(exec, globalObject, object);
}
EventException* toEventException(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSEventException.h b/src/3rdparty/webkit/WebCore/generated/JSEventException.h
index bc71abe..433e440 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSEventException.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSEventException.h
@@ -21,6 +21,7 @@
#ifndef JSEventException_h
#define JSEventException_h
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -29,10 +30,10 @@ namespace WebCore {
class EventException;
-class JSEventException : public DOMObject {
- typedef DOMObject Base;
+class JSEventException : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSEventException(PassRefPtr<JSC::Structure>, PassRefPtr<EventException>);
+ JSEventException(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<EventException>);
virtual ~JSEventException();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -44,14 +45,14 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
EventException* impl() const { return m_impl.get(); }
private:
RefPtr<EventException> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, EventException*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, EventException*);
EventException* toEventException(JSC::JSValue);
class JSEventExceptionPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSFile.cpp b/src/3rdparty/webkit/WebCore/generated/JSFile.cpp
index d25dfc6..86c9f1f 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSFile.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSFile.cpp
@@ -43,7 +43,7 @@ static const HashTableValue JSFileTableValues[4] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSFileTable =
+static JSC_CONST_HASHTABLE HashTable JSFileTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 7, JSFileTableValues, 0 };
#else
@@ -57,19 +57,19 @@ static const HashTableValue JSFileConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSFileConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSFileConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSFileConstructorTableValues, 0 };
#else
{ 1, 0, JSFileConstructorTableValues, 0 };
#endif
-class JSFileConstructor : public DOMObject {
+class JSFileConstructor : public DOMConstructorObject {
public:
- JSFileConstructor(ExecState* exec)
- : DOMObject(JSFileConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSFileConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSFileConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSFilePrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSFilePrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -95,7 +95,7 @@ static const HashTableValue JSFilePrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSFilePrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSFilePrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSFilePrototypeTableValues, 0 };
#else
@@ -111,8 +111,8 @@ JSObject* JSFilePrototype::self(ExecState* exec, JSGlobalObject* globalObject)
const ClassInfo JSFile::s_info = { "File", 0, &JSFileTable, 0 };
-JSFile::JSFile(PassRefPtr<Structure> structure, PassRefPtr<File> impl)
- : DOMObject(structure)
+JSFile::JSFile(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<File> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -134,30 +134,33 @@ bool JSFile::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName,
JSValue jsFileFileName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSFile* castedThis = static_cast<JSFile*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- File* imp = static_cast<File*>(static_cast<JSFile*>(asObject(slot.slotBase()))->impl());
+ File* imp = static_cast<File*>(castedThis->impl());
return jsString(exec, imp->fileName());
}
JSValue jsFileFileSize(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSFile* castedThis = static_cast<JSFile*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- File* imp = static_cast<File*>(static_cast<JSFile*>(asObject(slot.slotBase()))->impl());
+ File* imp = static_cast<File*>(castedThis->impl());
return jsNumber(exec, imp->fileSize());
}
JSValue jsFileConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSFile*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSFile* domObject = static_cast<JSFile*>(asObject(slot.slotBase()));
+ return JSFile::getConstructor(exec, domObject->globalObject());
}
-JSValue JSFile::getConstructor(ExecState* exec)
+JSValue JSFile::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSFileConstructor>(exec);
+ return getDOMConstructor<JSFileConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
-JSC::JSValue toJS(JSC::ExecState* exec, File* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, File* object)
{
- return getDOMObjectWrapper<JSFile>(exec, object);
+ return getDOMObjectWrapper<JSFile>(exec, globalObject, object);
}
File* toFile(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSFile.h b/src/3rdparty/webkit/WebCore/generated/JSFile.h
index efa4744..afeaaf5 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSFile.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSFile.h
@@ -21,6 +21,7 @@
#ifndef JSFile_h
#define JSFile_h
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -29,10 +30,10 @@ namespace WebCore {
class File;
-class JSFile : public DOMObject {
- typedef DOMObject Base;
+class JSFile : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSFile(PassRefPtr<JSC::Structure>, PassRefPtr<File>);
+ JSFile(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<File>);
virtual ~JSFile();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -44,14 +45,14 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
File* impl() const { return m_impl.get(); }
private:
RefPtr<File> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, File*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, File*);
File* toFile(JSC::JSValue);
class JSFilePrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSFileList.cpp b/src/3rdparty/webkit/WebCore/generated/JSFileList.cpp
index cd165c1..e359c69 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSFileList.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSFileList.cpp
@@ -45,7 +45,7 @@ static const HashTableValue JSFileListTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSFileListTable =
+static JSC_CONST_HASHTABLE HashTable JSFileListTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSFileListTableValues, 0 };
#else
@@ -59,19 +59,19 @@ static const HashTableValue JSFileListConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSFileListConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSFileListConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSFileListConstructorTableValues, 0 };
#else
{ 1, 0, JSFileListConstructorTableValues, 0 };
#endif
-class JSFileListConstructor : public DOMObject {
+class JSFileListConstructor : public DOMConstructorObject {
public:
- JSFileListConstructor(ExecState* exec)
- : DOMObject(JSFileListConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSFileListConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSFileListConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSFileListPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSFileListPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -98,7 +98,7 @@ static const HashTableValue JSFileListPrototypeTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSFileListPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSFileListPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSFileListPrototypeTableValues, 0 };
#else
@@ -119,8 +119,8 @@ bool JSFileListPrototype::getOwnPropertySlot(ExecState* exec, const Identifier&
const ClassInfo JSFileList::s_info = { "FileList", 0, &JSFileListTable, 0 };
-JSFileList::JSFileList(PassRefPtr<Structure> structure, PassRefPtr<FileList> impl)
- : DOMObject(structure)
+JSFileList::JSFileList(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<FileList> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -162,14 +162,16 @@ bool JSFileList::getOwnPropertySlot(ExecState* exec, unsigned propertyName, Prop
JSValue jsFileListLength(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSFileList* castedThis = static_cast<JSFileList*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- FileList* imp = static_cast<FileList*>(static_cast<JSFileList*>(asObject(slot.slotBase()))->impl());
+ FileList* imp = static_cast<FileList*>(castedThis->impl());
return jsNumber(exec, imp->length());
}
JSValue jsFileListConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSFileList*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSFileList* domObject = static_cast<JSFileList*>(asObject(slot.slotBase()));
+ return JSFileList::getConstructor(exec, domObject->globalObject());
}
void JSFileList::getPropertyNames(ExecState* exec, PropertyNameArray& propertyNames)
{
@@ -178,9 +180,9 @@ void JSFileList::getPropertyNames(ExecState* exec, PropertyNameArray& propertyNa
Base::getPropertyNames(exec, propertyNames);
}
-JSValue JSFileList::getConstructor(ExecState* exec)
+JSValue JSFileList::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSFileListConstructor>(exec);
+ return getDOMConstructor<JSFileListConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsFileListPrototypeFunctionItem(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -197,7 +199,7 @@ JSValue JSC_HOST_CALL jsFileListPrototypeFunctionItem(ExecState* exec, JSObject*
}
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->item(index)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->item(index)));
return result;
}
@@ -205,11 +207,11 @@ JSValue JSC_HOST_CALL jsFileListPrototypeFunctionItem(ExecState* exec, JSObject*
JSValue JSFileList::indexGetter(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
JSFileList* thisObj = static_cast<JSFileList*>(asObject(slot.slotBase()));
- return toJS(exec, static_cast<FileList*>(thisObj->impl())->item(slot.index()));
+ return toJS(exec, thisObj->globalObject(), static_cast<FileList*>(thisObj->impl())->item(slot.index()));
}
-JSC::JSValue toJS(JSC::ExecState* exec, FileList* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, FileList* object)
{
- return getDOMObjectWrapper<JSFileList>(exec, object);
+ return getDOMObjectWrapper<JSFileList>(exec, globalObject, object);
}
FileList* toFileList(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSFileList.h b/src/3rdparty/webkit/WebCore/generated/JSFileList.h
index 4a7075d..43cac56 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSFileList.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSFileList.h
@@ -21,6 +21,7 @@
#ifndef JSFileList_h
#define JSFileList_h
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -29,10 +30,10 @@ namespace WebCore {
class FileList;
-class JSFileList : public DOMObject {
- typedef DOMObject Base;
+class JSFileList : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSFileList(PassRefPtr<JSC::Structure>, PassRefPtr<FileList>);
+ JSFileList(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<FileList>);
virtual ~JSFileList();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -46,7 +47,7 @@ public:
}
virtual void getPropertyNames(JSC::ExecState*, JSC::PropertyNameArray&);
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
FileList* impl() const { return m_impl.get(); }
private:
@@ -54,7 +55,7 @@ private:
static JSC::JSValue indexGetter(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
};
-JSC::JSValue toJS(JSC::ExecState*, FileList*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, FileList*);
FileList* toFileList(JSC::JSValue);
class JSFileListPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSGeolocation.cpp b/src/3rdparty/webkit/WebCore/generated/JSGeolocation.cpp
index a75348b..481852c 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSGeolocation.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSGeolocation.cpp
@@ -41,7 +41,7 @@ static const HashTableValue JSGeolocationTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSGeolocationTable =
+static JSC_CONST_HASHTABLE HashTable JSGeolocationTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSGeolocationTableValues, 0 };
#else
@@ -58,7 +58,7 @@ static const HashTableValue JSGeolocationPrototypeTableValues[4] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSGeolocationPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSGeolocationPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSGeolocationPrototypeTableValues, 0 };
#else
@@ -79,8 +79,8 @@ bool JSGeolocationPrototype::getOwnPropertySlot(ExecState* exec, const Identifie
const ClassInfo JSGeolocation::s_info = { "Geolocation", 0, &JSGeolocationTable, 0 };
-JSGeolocation::JSGeolocation(PassRefPtr<Structure> structure, PassRefPtr<Geolocation> impl)
- : DOMObject(structure)
+JSGeolocation::JSGeolocation(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<Geolocation> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -102,9 +102,10 @@ bool JSGeolocation::getOwnPropertySlot(ExecState* exec, const Identifier& proper
JSValue jsGeolocationLastPosition(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSGeolocation* castedThis = static_cast<JSGeolocation*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Geolocation* imp = static_cast<Geolocation*>(static_cast<JSGeolocation*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->lastPosition()));
+ Geolocation* imp = static_cast<Geolocation*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->lastPosition()));
}
JSValue JSC_HOST_CALL jsGeolocationPrototypeFunctionGetCurrentPosition(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -138,9 +139,9 @@ JSValue JSC_HOST_CALL jsGeolocationPrototypeFunctionClearWatch(ExecState* exec,
return jsUndefined();
}
-JSC::JSValue toJS(JSC::ExecState* exec, Geolocation* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, Geolocation* object)
{
- return getDOMObjectWrapper<JSGeolocation>(exec, object);
+ return getDOMObjectWrapper<JSGeolocation>(exec, globalObject, object);
}
Geolocation* toGeolocation(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSGeolocation.h b/src/3rdparty/webkit/WebCore/generated/JSGeolocation.h
index 736d019..38af988 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSGeolocation.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSGeolocation.h
@@ -21,6 +21,7 @@
#ifndef JSGeolocation_h
#define JSGeolocation_h
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -29,10 +30,10 @@ namespace WebCore {
class Geolocation;
-class JSGeolocation : public DOMObject {
- typedef DOMObject Base;
+class JSGeolocation : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSGeolocation(PassRefPtr<JSC::Structure>, PassRefPtr<Geolocation>);
+ JSGeolocation(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<Geolocation>);
virtual ~JSGeolocation();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -54,7 +55,7 @@ private:
RefPtr<Geolocation> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, Geolocation*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, Geolocation*);
Geolocation* toGeolocation(JSC::JSValue);
class JSGeolocationPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSGeoposition.cpp b/src/3rdparty/webkit/WebCore/generated/JSGeoposition.cpp
index 35399cf..348f0a5 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSGeoposition.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSGeoposition.cpp
@@ -45,7 +45,7 @@ static const HashTableValue JSGeopositionTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSGeopositionTable =
+static JSC_CONST_HASHTABLE HashTable JSGeopositionTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 3, JSGeopositionTableValues, 0 };
#else
@@ -60,7 +60,7 @@ static const HashTableValue JSGeopositionPrototypeTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSGeopositionPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSGeopositionPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSGeopositionPrototypeTableValues, 0 };
#else
@@ -81,8 +81,8 @@ bool JSGeopositionPrototype::getOwnPropertySlot(ExecState* exec, const Identifie
const ClassInfo JSGeoposition::s_info = { "Geoposition", 0, &JSGeopositionTable, 0 };
-JSGeoposition::JSGeoposition(PassRefPtr<Structure> structure, PassRefPtr<Geoposition> impl)
- : DOMObject(structure)
+JSGeoposition::JSGeoposition(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<Geoposition> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -104,15 +104,17 @@ bool JSGeoposition::getOwnPropertySlot(ExecState* exec, const Identifier& proper
JSValue jsGeopositionCoords(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSGeoposition* castedThis = static_cast<JSGeoposition*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Geoposition* imp = static_cast<Geoposition*>(static_cast<JSGeoposition*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->coords()));
+ Geoposition* imp = static_cast<Geoposition*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->coords()));
}
JSValue jsGeopositionTimestamp(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSGeoposition* castedThis = static_cast<JSGeoposition*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Geoposition* imp = static_cast<Geoposition*>(static_cast<JSGeoposition*>(asObject(slot.slotBase()))->impl());
+ Geoposition* imp = static_cast<Geoposition*>(castedThis->impl());
return jsNumber(exec, imp->timestamp());
}
@@ -129,9 +131,9 @@ JSValue JSC_HOST_CALL jsGeopositionPrototypeFunctionToString(ExecState* exec, JS
return result;
}
-JSC::JSValue toJS(JSC::ExecState* exec, Geoposition* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, Geoposition* object)
{
- return getDOMObjectWrapper<JSGeoposition>(exec, object);
+ return getDOMObjectWrapper<JSGeoposition>(exec, globalObject, object);
}
Geoposition* toGeoposition(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSGeoposition.h b/src/3rdparty/webkit/WebCore/generated/JSGeoposition.h
index 200bb6e..8d5a2ba 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSGeoposition.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSGeoposition.h
@@ -21,6 +21,7 @@
#ifndef JSGeoposition_h
#define JSGeoposition_h
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -29,10 +30,10 @@ namespace WebCore {
class Geoposition;
-class JSGeoposition : public DOMObject {
- typedef DOMObject Base;
+class JSGeoposition : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSGeoposition(PassRefPtr<JSC::Structure>, PassRefPtr<Geoposition>);
+ JSGeoposition(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<Geoposition>);
virtual ~JSGeoposition();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -50,7 +51,7 @@ private:
RefPtr<Geoposition> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, Geoposition*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, Geoposition*);
Geoposition* toGeoposition(JSC::JSValue);
class JSGeopositionPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLAnchorElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLAnchorElement.cpp
index c422551..1e30146 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLAnchorElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLAnchorElement.cpp
@@ -22,6 +22,7 @@
#include "JSHTMLAnchorElement.h"
#include "HTMLAnchorElement.h"
+#include "HTMLNames.h"
#include "KURL.h"
#include <runtime/Error.h>
#include <runtime/JSString.h>
@@ -60,7 +61,7 @@ static const HashTableValue JSHTMLAnchorElementTableValues[21] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLAnchorElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLAnchorElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 511, JSHTMLAnchorElementTableValues, 0 };
#else
@@ -74,19 +75,19 @@ static const HashTableValue JSHTMLAnchorElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLAnchorElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLAnchorElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLAnchorElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLAnchorElementConstructorTableValues, 0 };
#endif
-class JSHTMLAnchorElementConstructor : public DOMObject {
+class JSHTMLAnchorElementConstructor : public DOMConstructorObject {
public:
- JSHTMLAnchorElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLAnchorElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLAnchorElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLAnchorElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLAnchorElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLAnchorElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -113,7 +114,7 @@ static const HashTableValue JSHTMLAnchorElementPrototypeTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLAnchorElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLAnchorElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLAnchorElementPrototypeTableValues, 0 };
#else
@@ -134,8 +135,8 @@ bool JSHTMLAnchorElementPrototype::getOwnPropertySlot(ExecState* exec, const Ide
const ClassInfo JSHTMLAnchorElement::s_info = { "HTMLAnchorElement", &JSHTMLElement::s_info, &JSHTMLAnchorElementTable, 0 };
-JSHTMLAnchorElement::JSHTMLAnchorElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLAnchorElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLAnchorElement::JSHTMLAnchorElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLAnchorElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -151,140 +152,160 @@ bool JSHTMLAnchorElement::getOwnPropertySlot(ExecState* exec, const Identifier&
JSValue jsHTMLAnchorElementAccessKey(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLAnchorElement* castedThis = static_cast<JSHTMLAnchorElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(static_cast<JSHTMLAnchorElement*>(asObject(slot.slotBase()))->impl());
- return jsString(exec, imp->accessKey());
+ HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(castedThis->impl());
+ return jsString(exec, imp->getAttribute(HTMLNames::accesskeyAttr));
}
JSValue jsHTMLAnchorElementCharset(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLAnchorElement* castedThis = static_cast<JSHTMLAnchorElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(static_cast<JSHTMLAnchorElement*>(asObject(slot.slotBase()))->impl());
- return jsString(exec, imp->charset());
+ HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(castedThis->impl());
+ return jsString(exec, imp->getAttribute(HTMLNames::charsetAttr));
}
JSValue jsHTMLAnchorElementCoords(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLAnchorElement* castedThis = static_cast<JSHTMLAnchorElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(static_cast<JSHTMLAnchorElement*>(asObject(slot.slotBase()))->impl());
- return jsString(exec, imp->coords());
+ HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(castedThis->impl());
+ return jsString(exec, imp->getAttribute(HTMLNames::coordsAttr));
}
JSValue jsHTMLAnchorElementHref(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLAnchorElement* castedThis = static_cast<JSHTMLAnchorElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(static_cast<JSHTMLAnchorElement*>(asObject(slot.slotBase()))->impl());
- return jsString(exec, imp->href());
+ HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(castedThis->impl());
+ return jsString(exec, imp->getURLAttribute(HTMLNames::hrefAttr));
}
JSValue jsHTMLAnchorElementHreflang(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLAnchorElement* castedThis = static_cast<JSHTMLAnchorElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(static_cast<JSHTMLAnchorElement*>(asObject(slot.slotBase()))->impl());
- return jsString(exec, imp->hreflang());
+ HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(castedThis->impl());
+ return jsString(exec, imp->getAttribute(HTMLNames::hreflangAttr));
}
JSValue jsHTMLAnchorElementName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLAnchorElement* castedThis = static_cast<JSHTMLAnchorElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(static_cast<JSHTMLAnchorElement*>(asObject(slot.slotBase()))->impl());
- return jsString(exec, imp->name());
+ HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(castedThis->impl());
+ return jsString(exec, imp->getAttribute(HTMLNames::nameAttr));
}
JSValue jsHTMLAnchorElementRel(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLAnchorElement* castedThis = static_cast<JSHTMLAnchorElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(static_cast<JSHTMLAnchorElement*>(asObject(slot.slotBase()))->impl());
- return jsString(exec, imp->rel());
+ HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(castedThis->impl());
+ return jsString(exec, imp->getAttribute(HTMLNames::relAttr));
}
JSValue jsHTMLAnchorElementRev(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLAnchorElement* castedThis = static_cast<JSHTMLAnchorElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(static_cast<JSHTMLAnchorElement*>(asObject(slot.slotBase()))->impl());
- return jsString(exec, imp->rev());
+ HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(castedThis->impl());
+ return jsString(exec, imp->getAttribute(HTMLNames::revAttr));
}
JSValue jsHTMLAnchorElementShape(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLAnchorElement* castedThis = static_cast<JSHTMLAnchorElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(static_cast<JSHTMLAnchorElement*>(asObject(slot.slotBase()))->impl());
- return jsString(exec, imp->shape());
+ HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(castedThis->impl());
+ return jsString(exec, imp->getAttribute(HTMLNames::shapeAttr));
}
JSValue jsHTMLAnchorElementTarget(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLAnchorElement* castedThis = static_cast<JSHTMLAnchorElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(static_cast<JSHTMLAnchorElement*>(asObject(slot.slotBase()))->impl());
- return jsString(exec, imp->target());
+ HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(castedThis->impl());
+ return jsString(exec, imp->getAttribute(HTMLNames::targetAttr));
}
JSValue jsHTMLAnchorElementType(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLAnchorElement* castedThis = static_cast<JSHTMLAnchorElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(static_cast<JSHTMLAnchorElement*>(asObject(slot.slotBase()))->impl());
- return jsString(exec, imp->type());
+ HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(castedThis->impl());
+ return jsString(exec, imp->getAttribute(HTMLNames::typeAttr));
}
JSValue jsHTMLAnchorElementHash(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLAnchorElement* castedThis = static_cast<JSHTMLAnchorElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(static_cast<JSHTMLAnchorElement*>(asObject(slot.slotBase()))->impl());
+ HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(castedThis->impl());
return jsString(exec, imp->hash());
}
JSValue jsHTMLAnchorElementHost(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLAnchorElement* castedThis = static_cast<JSHTMLAnchorElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(static_cast<JSHTMLAnchorElement*>(asObject(slot.slotBase()))->impl());
+ HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(castedThis->impl());
return jsString(exec, imp->host());
}
JSValue jsHTMLAnchorElementHostname(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLAnchorElement* castedThis = static_cast<JSHTMLAnchorElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(static_cast<JSHTMLAnchorElement*>(asObject(slot.slotBase()))->impl());
+ HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(castedThis->impl());
return jsString(exec, imp->hostname());
}
JSValue jsHTMLAnchorElementPathname(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLAnchorElement* castedThis = static_cast<JSHTMLAnchorElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(static_cast<JSHTMLAnchorElement*>(asObject(slot.slotBase()))->impl());
+ HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(castedThis->impl());
return jsString(exec, imp->pathname());
}
JSValue jsHTMLAnchorElementPort(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLAnchorElement* castedThis = static_cast<JSHTMLAnchorElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(static_cast<JSHTMLAnchorElement*>(asObject(slot.slotBase()))->impl());
+ HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(castedThis->impl());
return jsString(exec, imp->port());
}
JSValue jsHTMLAnchorElementProtocol(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLAnchorElement* castedThis = static_cast<JSHTMLAnchorElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(static_cast<JSHTMLAnchorElement*>(asObject(slot.slotBase()))->impl());
+ HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(castedThis->impl());
return jsString(exec, imp->protocol());
}
JSValue jsHTMLAnchorElementSearch(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLAnchorElement* castedThis = static_cast<JSHTMLAnchorElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(static_cast<JSHTMLAnchorElement*>(asObject(slot.slotBase()))->impl());
+ HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(castedThis->impl());
return jsString(exec, imp->search());
}
JSValue jsHTMLAnchorElementText(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLAnchorElement* castedThis = static_cast<JSHTMLAnchorElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(static_cast<JSHTMLAnchorElement*>(asObject(slot.slotBase()))->impl());
+ HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(castedThis->impl());
return jsString(exec, imp->text());
}
JSValue jsHTMLAnchorElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLAnchorElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLAnchorElement* domObject = static_cast<JSHTMLAnchorElement*>(asObject(slot.slotBase()));
+ return JSHTMLAnchorElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLAnchorElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -294,72 +315,72 @@ void JSHTMLAnchorElement::put(ExecState* exec, const Identifier& propertyName, J
void setJSHTMLAnchorElementAccessKey(ExecState* exec, JSObject* thisObject, JSValue value)
{
HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(static_cast<JSHTMLAnchorElement*>(thisObject)->impl());
- imp->setAccessKey(valueToStringWithNullCheck(exec, value));
+ imp->setAttribute(HTMLNames::accesskeyAttr, valueToStringWithNullCheck(exec, value));
}
void setJSHTMLAnchorElementCharset(ExecState* exec, JSObject* thisObject, JSValue value)
{
HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(static_cast<JSHTMLAnchorElement*>(thisObject)->impl());
- imp->setCharset(valueToStringWithNullCheck(exec, value));
+ imp->setAttribute(HTMLNames::charsetAttr, valueToStringWithNullCheck(exec, value));
}
void setJSHTMLAnchorElementCoords(ExecState* exec, JSObject* thisObject, JSValue value)
{
HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(static_cast<JSHTMLAnchorElement*>(thisObject)->impl());
- imp->setCoords(valueToStringWithNullCheck(exec, value));
+ imp->setAttribute(HTMLNames::coordsAttr, valueToStringWithNullCheck(exec, value));
}
void setJSHTMLAnchorElementHref(ExecState* exec, JSObject* thisObject, JSValue value)
{
HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(static_cast<JSHTMLAnchorElement*>(thisObject)->impl());
- imp->setHref(valueToStringWithNullCheck(exec, value));
+ imp->setAttribute(HTMLNames::hrefAttr, valueToStringWithNullCheck(exec, value));
}
void setJSHTMLAnchorElementHreflang(ExecState* exec, JSObject* thisObject, JSValue value)
{
HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(static_cast<JSHTMLAnchorElement*>(thisObject)->impl());
- imp->setHreflang(valueToStringWithNullCheck(exec, value));
+ imp->setAttribute(HTMLNames::hreflangAttr, valueToStringWithNullCheck(exec, value));
}
void setJSHTMLAnchorElementName(ExecState* exec, JSObject* thisObject, JSValue value)
{
HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(static_cast<JSHTMLAnchorElement*>(thisObject)->impl());
- imp->setName(valueToStringWithNullCheck(exec, value));
+ imp->setAttribute(HTMLNames::nameAttr, valueToStringWithNullCheck(exec, value));
}
void setJSHTMLAnchorElementRel(ExecState* exec, JSObject* thisObject, JSValue value)
{
HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(static_cast<JSHTMLAnchorElement*>(thisObject)->impl());
- imp->setRel(valueToStringWithNullCheck(exec, value));
+ imp->setAttribute(HTMLNames::relAttr, valueToStringWithNullCheck(exec, value));
}
void setJSHTMLAnchorElementRev(ExecState* exec, JSObject* thisObject, JSValue value)
{
HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(static_cast<JSHTMLAnchorElement*>(thisObject)->impl());
- imp->setRev(valueToStringWithNullCheck(exec, value));
+ imp->setAttribute(HTMLNames::revAttr, valueToStringWithNullCheck(exec, value));
}
void setJSHTMLAnchorElementShape(ExecState* exec, JSObject* thisObject, JSValue value)
{
HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(static_cast<JSHTMLAnchorElement*>(thisObject)->impl());
- imp->setShape(valueToStringWithNullCheck(exec, value));
+ imp->setAttribute(HTMLNames::shapeAttr, valueToStringWithNullCheck(exec, value));
}
void setJSHTMLAnchorElementTarget(ExecState* exec, JSObject* thisObject, JSValue value)
{
HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(static_cast<JSHTMLAnchorElement*>(thisObject)->impl());
- imp->setTarget(valueToStringWithNullCheck(exec, value));
+ imp->setAttribute(HTMLNames::targetAttr, valueToStringWithNullCheck(exec, value));
}
void setJSHTMLAnchorElementType(ExecState* exec, JSObject* thisObject, JSValue value)
{
HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(static_cast<JSHTMLAnchorElement*>(thisObject)->impl());
- imp->setType(valueToStringWithNullCheck(exec, value));
+ imp->setAttribute(HTMLNames::typeAttr, valueToStringWithNullCheck(exec, value));
}
-JSValue JSHTMLAnchorElement::getConstructor(ExecState* exec)
+JSValue JSHTMLAnchorElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLAnchorElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLAnchorElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsHTMLAnchorElementPrototypeFunctionToString(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLAnchorElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLAnchorElement.h
index b7864c4..e9a99b3 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLAnchorElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLAnchorElement.h
@@ -30,7 +30,7 @@ class HTMLAnchorElement;
class JSHTMLAnchorElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLAnchorElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLAnchorElement>);
+ JSHTMLAnchorElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLAnchorElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -42,7 +42,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLAppletElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLAppletElement.cpp
index 787c2c7..8731f25 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLAppletElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLAppletElement.cpp
@@ -23,6 +23,7 @@
#include "AtomicString.h"
#include "HTMLAppletElement.h"
+#include "HTMLNames.h"
#include "JSHTMLAppletElementCustom.h"
#include "KURL.h"
#include <runtime/JSString.h>
@@ -53,7 +54,7 @@ static const HashTableValue JSHTMLAppletElementTableValues[13] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLAppletElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLAppletElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 127, JSHTMLAppletElementTableValues, 0 };
#else
@@ -67,19 +68,19 @@ static const HashTableValue JSHTMLAppletElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLAppletElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLAppletElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLAppletElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLAppletElementConstructorTableValues, 0 };
#endif
-class JSHTMLAppletElementConstructor : public DOMObject {
+class JSHTMLAppletElementConstructor : public DOMConstructorObject {
public:
- JSHTMLAppletElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLAppletElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLAppletElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLAppletElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLAppletElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLAppletElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -105,7 +106,7 @@ static const HashTableValue JSHTMLAppletElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLAppletElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLAppletElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLAppletElementPrototypeTableValues, 0 };
#else
@@ -121,8 +122,8 @@ JSObject* JSHTMLAppletElementPrototype::self(ExecState* exec, JSGlobalObject* gl
const ClassInfo JSHTMLAppletElement::s_info = { "HTMLAppletElement", &JSHTMLElement::s_info, &JSHTMLAppletElementTable, 0 };
-JSHTMLAppletElement::JSHTMLAppletElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLAppletElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLAppletElement::JSHTMLAppletElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLAppletElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -144,84 +145,96 @@ bool JSHTMLAppletElement::getOwnPropertySlot(ExecState* exec, const Identifier&
JSValue jsHTMLAppletElementAlign(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLAppletElement* castedThis = static_cast<JSHTMLAppletElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLAppletElement* imp = static_cast<HTMLAppletElement*>(static_cast<JSHTMLAppletElement*>(asObject(slot.slotBase()))->impl());
- return jsString(exec, imp->align());
+ HTMLAppletElement* imp = static_cast<HTMLAppletElement*>(castedThis->impl());
+ return jsString(exec, imp->getAttribute(HTMLNames::alignAttr));
}
JSValue jsHTMLAppletElementAlt(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLAppletElement* castedThis = static_cast<JSHTMLAppletElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLAppletElement* imp = static_cast<HTMLAppletElement*>(static_cast<JSHTMLAppletElement*>(asObject(slot.slotBase()))->impl());
- return jsString(exec, imp->alt());
+ HTMLAppletElement* imp = static_cast<HTMLAppletElement*>(castedThis->impl());
+ return jsString(exec, imp->getAttribute(HTMLNames::altAttr));
}
JSValue jsHTMLAppletElementArchive(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLAppletElement* castedThis = static_cast<JSHTMLAppletElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLAppletElement* imp = static_cast<HTMLAppletElement*>(static_cast<JSHTMLAppletElement*>(asObject(slot.slotBase()))->impl());
- return jsString(exec, imp->archive());
+ HTMLAppletElement* imp = static_cast<HTMLAppletElement*>(castedThis->impl());
+ return jsString(exec, imp->getAttribute(HTMLNames::archiveAttr));
}
JSValue jsHTMLAppletElementCode(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLAppletElement* castedThis = static_cast<JSHTMLAppletElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLAppletElement* imp = static_cast<HTMLAppletElement*>(static_cast<JSHTMLAppletElement*>(asObject(slot.slotBase()))->impl());
- return jsString(exec, imp->code());
+ HTMLAppletElement* imp = static_cast<HTMLAppletElement*>(castedThis->impl());
+ return jsString(exec, imp->getAttribute(HTMLNames::codeAttr));
}
JSValue jsHTMLAppletElementCodeBase(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLAppletElement* castedThis = static_cast<JSHTMLAppletElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLAppletElement* imp = static_cast<HTMLAppletElement*>(static_cast<JSHTMLAppletElement*>(asObject(slot.slotBase()))->impl());
- return jsString(exec, imp->codeBase());
+ HTMLAppletElement* imp = static_cast<HTMLAppletElement*>(castedThis->impl());
+ return jsString(exec, imp->getAttribute(HTMLNames::codebaseAttr));
}
JSValue jsHTMLAppletElementHeight(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLAppletElement* castedThis = static_cast<JSHTMLAppletElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLAppletElement* imp = static_cast<HTMLAppletElement*>(static_cast<JSHTMLAppletElement*>(asObject(slot.slotBase()))->impl());
- return jsString(exec, imp->height());
+ HTMLAppletElement* imp = static_cast<HTMLAppletElement*>(castedThis->impl());
+ return jsString(exec, imp->getAttribute(HTMLNames::heightAttr));
}
JSValue jsHTMLAppletElementHspace(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLAppletElement* castedThis = static_cast<JSHTMLAppletElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLAppletElement* imp = static_cast<HTMLAppletElement*>(static_cast<JSHTMLAppletElement*>(asObject(slot.slotBase()))->impl());
- return jsString(exec, imp->hspace());
+ HTMLAppletElement* imp = static_cast<HTMLAppletElement*>(castedThis->impl());
+ return jsString(exec, imp->getAttribute(HTMLNames::hspaceAttr));
}
JSValue jsHTMLAppletElementName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLAppletElement* castedThis = static_cast<JSHTMLAppletElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLAppletElement* imp = static_cast<HTMLAppletElement*>(static_cast<JSHTMLAppletElement*>(asObject(slot.slotBase()))->impl());
- return jsString(exec, imp->name());
+ HTMLAppletElement* imp = static_cast<HTMLAppletElement*>(castedThis->impl());
+ return jsString(exec, imp->getAttribute(HTMLNames::nameAttr));
}
JSValue jsHTMLAppletElementObject(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLAppletElement* castedThis = static_cast<JSHTMLAppletElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLAppletElement* imp = static_cast<HTMLAppletElement*>(static_cast<JSHTMLAppletElement*>(asObject(slot.slotBase()))->impl());
- return jsString(exec, imp->object());
+ HTMLAppletElement* imp = static_cast<HTMLAppletElement*>(castedThis->impl());
+ return jsString(exec, imp->getAttribute(HTMLNames::objectAttr));
}
JSValue jsHTMLAppletElementVspace(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLAppletElement* castedThis = static_cast<JSHTMLAppletElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLAppletElement* imp = static_cast<HTMLAppletElement*>(static_cast<JSHTMLAppletElement*>(asObject(slot.slotBase()))->impl());
- return jsString(exec, imp->vspace());
+ HTMLAppletElement* imp = static_cast<HTMLAppletElement*>(castedThis->impl());
+ return jsString(exec, imp->getAttribute(HTMLNames::vspaceAttr));
}
JSValue jsHTMLAppletElementWidth(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLAppletElement* castedThis = static_cast<JSHTMLAppletElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLAppletElement* imp = static_cast<HTMLAppletElement*>(static_cast<JSHTMLAppletElement*>(asObject(slot.slotBase()))->impl());
- return jsString(exec, imp->width());
+ HTMLAppletElement* imp = static_cast<HTMLAppletElement*>(castedThis->impl());
+ return jsString(exec, imp->getAttribute(HTMLNames::widthAttr));
}
JSValue jsHTMLAppletElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLAppletElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLAppletElement* domObject = static_cast<JSHTMLAppletElement*>(asObject(slot.slotBase()));
+ return JSHTMLAppletElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLAppletElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -233,72 +246,72 @@ void JSHTMLAppletElement::put(ExecState* exec, const Identifier& propertyName, J
void setJSHTMLAppletElementAlign(ExecState* exec, JSObject* thisObject, JSValue value)
{
HTMLAppletElement* imp = static_cast<HTMLAppletElement*>(static_cast<JSHTMLAppletElement*>(thisObject)->impl());
- imp->setAlign(valueToStringWithNullCheck(exec, value));
+ imp->setAttribute(HTMLNames::alignAttr, valueToStringWithNullCheck(exec, value));
}
void setJSHTMLAppletElementAlt(ExecState* exec, JSObject* thisObject, JSValue value)
{
HTMLAppletElement* imp = static_cast<HTMLAppletElement*>(static_cast<JSHTMLAppletElement*>(thisObject)->impl());
- imp->setAlt(valueToStringWithNullCheck(exec, value));
+ imp->setAttribute(HTMLNames::altAttr, valueToStringWithNullCheck(exec, value));
}
void setJSHTMLAppletElementArchive(ExecState* exec, JSObject* thisObject, JSValue value)
{
HTMLAppletElement* imp = static_cast<HTMLAppletElement*>(static_cast<JSHTMLAppletElement*>(thisObject)->impl());
- imp->setArchive(valueToStringWithNullCheck(exec, value));
+ imp->setAttribute(HTMLNames::archiveAttr, valueToStringWithNullCheck(exec, value));
}
void setJSHTMLAppletElementCode(ExecState* exec, JSObject* thisObject, JSValue value)
{
HTMLAppletElement* imp = static_cast<HTMLAppletElement*>(static_cast<JSHTMLAppletElement*>(thisObject)->impl());
- imp->setCode(valueToStringWithNullCheck(exec, value));
+ imp->setAttribute(HTMLNames::codeAttr, valueToStringWithNullCheck(exec, value));
}
void setJSHTMLAppletElementCodeBase(ExecState* exec, JSObject* thisObject, JSValue value)
{
HTMLAppletElement* imp = static_cast<HTMLAppletElement*>(static_cast<JSHTMLAppletElement*>(thisObject)->impl());
- imp->setCodeBase(valueToStringWithNullCheck(exec, value));
+ imp->setAttribute(HTMLNames::codebaseAttr, valueToStringWithNullCheck(exec, value));
}
void setJSHTMLAppletElementHeight(ExecState* exec, JSObject* thisObject, JSValue value)
{
HTMLAppletElement* imp = static_cast<HTMLAppletElement*>(static_cast<JSHTMLAppletElement*>(thisObject)->impl());
- imp->setHeight(valueToStringWithNullCheck(exec, value));
+ imp->setAttribute(HTMLNames::heightAttr, valueToStringWithNullCheck(exec, value));
}
void setJSHTMLAppletElementHspace(ExecState* exec, JSObject* thisObject, JSValue value)
{
HTMLAppletElement* imp = static_cast<HTMLAppletElement*>(static_cast<JSHTMLAppletElement*>(thisObject)->impl());
- imp->setHspace(valueToStringWithNullCheck(exec, value));
+ imp->setAttribute(HTMLNames::hspaceAttr, valueToStringWithNullCheck(exec, value));
}
void setJSHTMLAppletElementName(ExecState* exec, JSObject* thisObject, JSValue value)
{
HTMLAppletElement* imp = static_cast<HTMLAppletElement*>(static_cast<JSHTMLAppletElement*>(thisObject)->impl());
- imp->setName(valueToStringWithNullCheck(exec, value));
+ imp->setAttribute(HTMLNames::nameAttr, valueToStringWithNullCheck(exec, value));
}
void setJSHTMLAppletElementObject(ExecState* exec, JSObject* thisObject, JSValue value)
{
HTMLAppletElement* imp = static_cast<HTMLAppletElement*>(static_cast<JSHTMLAppletElement*>(thisObject)->impl());
- imp->setObject(valueToStringWithNullCheck(exec, value));
+ imp->setAttribute(HTMLNames::objectAttr, valueToStringWithNullCheck(exec, value));
}
void setJSHTMLAppletElementVspace(ExecState* exec, JSObject* thisObject, JSValue value)
{
HTMLAppletElement* imp = static_cast<HTMLAppletElement*>(static_cast<JSHTMLAppletElement*>(thisObject)->impl());
- imp->setVspace(valueToStringWithNullCheck(exec, value));
+ imp->setAttribute(HTMLNames::vspaceAttr, valueToStringWithNullCheck(exec, value));
}
void setJSHTMLAppletElementWidth(ExecState* exec, JSObject* thisObject, JSValue value)
{
HTMLAppletElement* imp = static_cast<HTMLAppletElement*>(static_cast<JSHTMLAppletElement*>(thisObject)->impl());
- imp->setWidth(valueToStringWithNullCheck(exec, value));
+ imp->setAttribute(HTMLNames::widthAttr, valueToStringWithNullCheck(exec, value));
}
-JSValue JSHTMLAppletElement::getConstructor(ExecState* exec)
+JSValue JSHTMLAppletElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLAppletElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLAppletElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLAppletElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLAppletElement.h
index 0ebfc7b..256bfb6 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLAppletElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLAppletElement.h
@@ -31,7 +31,7 @@ class HTMLAppletElement;
class JSHTMLAppletElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLAppletElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLAppletElement>);
+ JSHTMLAppletElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLAppletElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
bool getOwnPropertySlotDelegate(JSC::ExecState*, const JSC::Identifier&, JSC::PropertySlot&);
@@ -47,7 +47,7 @@ public:
virtual JSC::CallType getCallData(JSC::CallData&);
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
private:
static bool canGetItemsForName(JSC::ExecState*, HTMLAppletElement*, const JSC::Identifier&);
static JSC::JSValue nameGetter(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLAreaElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLAreaElement.cpp
index 1d40591..5fa1204 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLAreaElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLAreaElement.cpp
@@ -22,6 +22,7 @@
#include "JSHTMLAreaElement.h"
#include "HTMLAreaElement.h"
+#include "HTMLNames.h"
#include "KURL.h"
#include <runtime/JSString.h>
#include <wtf/GetPtr.h>
@@ -54,7 +55,7 @@ static const HashTableValue JSHTMLAreaElementTableValues[16] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLAreaElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLAreaElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 511, JSHTMLAreaElementTableValues, 0 };
#else
@@ -68,19 +69,19 @@ static const HashTableValue JSHTMLAreaElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLAreaElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLAreaElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLAreaElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLAreaElementConstructorTableValues, 0 };
#endif
-class JSHTMLAreaElementConstructor : public DOMObject {
+class JSHTMLAreaElementConstructor : public DOMConstructorObject {
public:
- JSHTMLAreaElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLAreaElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLAreaElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLAreaElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLAreaElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLAreaElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -106,7 +107,7 @@ static const HashTableValue JSHTMLAreaElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLAreaElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLAreaElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLAreaElementPrototypeTableValues, 0 };
#else
@@ -122,8 +123,8 @@ JSObject* JSHTMLAreaElementPrototype::self(ExecState* exec, JSGlobalObject* glob
const ClassInfo JSHTMLAreaElement::s_info = { "HTMLAreaElement", &JSHTMLElement::s_info, &JSHTMLAreaElementTable, 0 };
-JSHTMLAreaElement::JSHTMLAreaElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLAreaElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLAreaElement::JSHTMLAreaElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLAreaElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -139,105 +140,120 @@ bool JSHTMLAreaElement::getOwnPropertySlot(ExecState* exec, const Identifier& pr
JSValue jsHTMLAreaElementAccessKey(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLAreaElement* castedThis = static_cast<JSHTMLAreaElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLAreaElement* imp = static_cast<HTMLAreaElement*>(static_cast<JSHTMLAreaElement*>(asObject(slot.slotBase()))->impl());
- return jsString(exec, imp->accessKey());
+ HTMLAreaElement* imp = static_cast<HTMLAreaElement*>(castedThis->impl());
+ return jsString(exec, imp->getAttribute(HTMLNames::accesskeyAttr));
}
JSValue jsHTMLAreaElementAlt(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLAreaElement* castedThis = static_cast<JSHTMLAreaElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLAreaElement* imp = static_cast<HTMLAreaElement*>(static_cast<JSHTMLAreaElement*>(asObject(slot.slotBase()))->impl());
- return jsString(exec, imp->alt());
+ HTMLAreaElement* imp = static_cast<HTMLAreaElement*>(castedThis->impl());
+ return jsString(exec, imp->getAttribute(HTMLNames::altAttr));
}
JSValue jsHTMLAreaElementCoords(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLAreaElement* castedThis = static_cast<JSHTMLAreaElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLAreaElement* imp = static_cast<HTMLAreaElement*>(static_cast<JSHTMLAreaElement*>(asObject(slot.slotBase()))->impl());
- return jsString(exec, imp->coords());
+ HTMLAreaElement* imp = static_cast<HTMLAreaElement*>(castedThis->impl());
+ return jsString(exec, imp->getAttribute(HTMLNames::coordsAttr));
}
JSValue jsHTMLAreaElementHref(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLAreaElement* castedThis = static_cast<JSHTMLAreaElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLAreaElement* imp = static_cast<HTMLAreaElement*>(static_cast<JSHTMLAreaElement*>(asObject(slot.slotBase()))->impl());
- return jsString(exec, imp->href());
+ HTMLAreaElement* imp = static_cast<HTMLAreaElement*>(castedThis->impl());
+ return jsString(exec, imp->getURLAttribute(HTMLNames::hrefAttr));
}
JSValue jsHTMLAreaElementNoHref(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLAreaElement* castedThis = static_cast<JSHTMLAreaElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLAreaElement* imp = static_cast<HTMLAreaElement*>(static_cast<JSHTMLAreaElement*>(asObject(slot.slotBase()))->impl());
+ HTMLAreaElement* imp = static_cast<HTMLAreaElement*>(castedThis->impl());
return jsBoolean(imp->noHref());
}
JSValue jsHTMLAreaElementShape(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLAreaElement* castedThis = static_cast<JSHTMLAreaElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLAreaElement* imp = static_cast<HTMLAreaElement*>(static_cast<JSHTMLAreaElement*>(asObject(slot.slotBase()))->impl());
- return jsString(exec, imp->shape());
+ HTMLAreaElement* imp = static_cast<HTMLAreaElement*>(castedThis->impl());
+ return jsString(exec, imp->getAttribute(HTMLNames::shapeAttr));
}
JSValue jsHTMLAreaElementTarget(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLAreaElement* castedThis = static_cast<JSHTMLAreaElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLAreaElement* imp = static_cast<HTMLAreaElement*>(static_cast<JSHTMLAreaElement*>(asObject(slot.slotBase()))->impl());
- return jsString(exec, imp->target());
+ HTMLAreaElement* imp = static_cast<HTMLAreaElement*>(castedThis->impl());
+ return jsString(exec, imp->getAttribute(HTMLNames::targetAttr));
}
JSValue jsHTMLAreaElementHash(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLAreaElement* castedThis = static_cast<JSHTMLAreaElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLAreaElement* imp = static_cast<HTMLAreaElement*>(static_cast<JSHTMLAreaElement*>(asObject(slot.slotBase()))->impl());
+ HTMLAreaElement* imp = static_cast<HTMLAreaElement*>(castedThis->impl());
return jsString(exec, imp->hash());
}
JSValue jsHTMLAreaElementHost(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLAreaElement* castedThis = static_cast<JSHTMLAreaElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLAreaElement* imp = static_cast<HTMLAreaElement*>(static_cast<JSHTMLAreaElement*>(asObject(slot.slotBase()))->impl());
+ HTMLAreaElement* imp = static_cast<HTMLAreaElement*>(castedThis->impl());
return jsString(exec, imp->host());
}
JSValue jsHTMLAreaElementHostname(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLAreaElement* castedThis = static_cast<JSHTMLAreaElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLAreaElement* imp = static_cast<HTMLAreaElement*>(static_cast<JSHTMLAreaElement*>(asObject(slot.slotBase()))->impl());
+ HTMLAreaElement* imp = static_cast<HTMLAreaElement*>(castedThis->impl());
return jsString(exec, imp->hostname());
}
JSValue jsHTMLAreaElementPathname(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLAreaElement* castedThis = static_cast<JSHTMLAreaElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLAreaElement* imp = static_cast<HTMLAreaElement*>(static_cast<JSHTMLAreaElement*>(asObject(slot.slotBase()))->impl());
+ HTMLAreaElement* imp = static_cast<HTMLAreaElement*>(castedThis->impl());
return jsString(exec, imp->pathname());
}
JSValue jsHTMLAreaElementPort(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLAreaElement* castedThis = static_cast<JSHTMLAreaElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLAreaElement* imp = static_cast<HTMLAreaElement*>(static_cast<JSHTMLAreaElement*>(asObject(slot.slotBase()))->impl());
+ HTMLAreaElement* imp = static_cast<HTMLAreaElement*>(castedThis->impl());
return jsString(exec, imp->port());
}
JSValue jsHTMLAreaElementProtocol(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLAreaElement* castedThis = static_cast<JSHTMLAreaElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLAreaElement* imp = static_cast<HTMLAreaElement*>(static_cast<JSHTMLAreaElement*>(asObject(slot.slotBase()))->impl());
+ HTMLAreaElement* imp = static_cast<HTMLAreaElement*>(castedThis->impl());
return jsString(exec, imp->protocol());
}
JSValue jsHTMLAreaElementSearch(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLAreaElement* castedThis = static_cast<JSHTMLAreaElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLAreaElement* imp = static_cast<HTMLAreaElement*>(static_cast<JSHTMLAreaElement*>(asObject(slot.slotBase()))->impl());
+ HTMLAreaElement* imp = static_cast<HTMLAreaElement*>(castedThis->impl());
return jsString(exec, imp->search());
}
JSValue jsHTMLAreaElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLAreaElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLAreaElement* domObject = static_cast<JSHTMLAreaElement*>(asObject(slot.slotBase()));
+ return JSHTMLAreaElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLAreaElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -247,25 +263,25 @@ void JSHTMLAreaElement::put(ExecState* exec, const Identifier& propertyName, JSV
void setJSHTMLAreaElementAccessKey(ExecState* exec, JSObject* thisObject, JSValue value)
{
HTMLAreaElement* imp = static_cast<HTMLAreaElement*>(static_cast<JSHTMLAreaElement*>(thisObject)->impl());
- imp->setAccessKey(valueToStringWithNullCheck(exec, value));
+ imp->setAttribute(HTMLNames::accesskeyAttr, valueToStringWithNullCheck(exec, value));
}
void setJSHTMLAreaElementAlt(ExecState* exec, JSObject* thisObject, JSValue value)
{
HTMLAreaElement* imp = static_cast<HTMLAreaElement*>(static_cast<JSHTMLAreaElement*>(thisObject)->impl());
- imp->setAlt(valueToStringWithNullCheck(exec, value));
+ imp->setAttribute(HTMLNames::altAttr, valueToStringWithNullCheck(exec, value));
}
void setJSHTMLAreaElementCoords(ExecState* exec, JSObject* thisObject, JSValue value)
{
HTMLAreaElement* imp = static_cast<HTMLAreaElement*>(static_cast<JSHTMLAreaElement*>(thisObject)->impl());
- imp->setCoords(valueToStringWithNullCheck(exec, value));
+ imp->setAttribute(HTMLNames::coordsAttr, valueToStringWithNullCheck(exec, value));
}
void setJSHTMLAreaElementHref(ExecState* exec, JSObject* thisObject, JSValue value)
{
HTMLAreaElement* imp = static_cast<HTMLAreaElement*>(static_cast<JSHTMLAreaElement*>(thisObject)->impl());
- imp->setHref(valueToStringWithNullCheck(exec, value));
+ imp->setAttribute(HTMLNames::hrefAttr, valueToStringWithNullCheck(exec, value));
}
void setJSHTMLAreaElementNoHref(ExecState* exec, JSObject* thisObject, JSValue value)
@@ -277,18 +293,18 @@ void setJSHTMLAreaElementNoHref(ExecState* exec, JSObject* thisObject, JSValue v
void setJSHTMLAreaElementShape(ExecState* exec, JSObject* thisObject, JSValue value)
{
HTMLAreaElement* imp = static_cast<HTMLAreaElement*>(static_cast<JSHTMLAreaElement*>(thisObject)->impl());
- imp->setShape(valueToStringWithNullCheck(exec, value));
+ imp->setAttribute(HTMLNames::shapeAttr, valueToStringWithNullCheck(exec, value));
}
void setJSHTMLAreaElementTarget(ExecState* exec, JSObject* thisObject, JSValue value)
{
HTMLAreaElement* imp = static_cast<HTMLAreaElement*>(static_cast<JSHTMLAreaElement*>(thisObject)->impl());
- imp->setTarget(valueToStringWithNullCheck(exec, value));
+ imp->setAttribute(HTMLNames::targetAttr, valueToStringWithNullCheck(exec, value));
}
-JSValue JSHTMLAreaElement::getConstructor(ExecState* exec)
+JSValue JSHTMLAreaElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLAreaElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLAreaElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLAreaElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLAreaElement.h
index 9d2d8fc..4b43021 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLAreaElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLAreaElement.h
@@ -30,7 +30,7 @@ class HTMLAreaElement;
class JSHTMLAreaElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLAreaElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLAreaElement>);
+ JSHTMLAreaElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLAreaElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -42,7 +42,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLAudioElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLAudioElement.cpp
index 00db209..6c8ae85 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLAudioElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLAudioElement.cpp
@@ -41,7 +41,7 @@ static const HashTableValue JSHTMLAudioElementTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLAudioElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLAudioElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLAudioElementTableValues, 0 };
#else
@@ -55,19 +55,19 @@ static const HashTableValue JSHTMLAudioElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLAudioElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLAudioElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLAudioElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLAudioElementConstructorTableValues, 0 };
#endif
-class JSHTMLAudioElementConstructor : public DOMObject {
+class JSHTMLAudioElementConstructor : public DOMConstructorObject {
public:
- JSHTMLAudioElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLAudioElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLAudioElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLAudioElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLAudioElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLAudioElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -93,7 +93,7 @@ static const HashTableValue JSHTMLAudioElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLAudioElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLAudioElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLAudioElementPrototypeTableValues, 0 };
#else
@@ -109,8 +109,8 @@ JSObject* JSHTMLAudioElementPrototype::self(ExecState* exec, JSGlobalObject* glo
const ClassInfo JSHTMLAudioElement::s_info = { "HTMLAudioElement", &JSHTMLMediaElement::s_info, &JSHTMLAudioElementTable, 0 };
-JSHTMLAudioElement::JSHTMLAudioElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLAudioElement> impl)
- : JSHTMLMediaElement(structure, impl)
+JSHTMLAudioElement::JSHTMLAudioElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLAudioElement> impl)
+ : JSHTMLMediaElement(structure, globalObject, impl)
{
}
@@ -126,11 +126,12 @@ bool JSHTMLAudioElement::getOwnPropertySlot(ExecState* exec, const Identifier& p
JSValue jsHTMLAudioElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLAudioElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLAudioElement* domObject = static_cast<JSHTMLAudioElement*>(asObject(slot.slotBase()));
+ return JSHTMLAudioElement::getConstructor(exec, domObject->globalObject());
}
-JSValue JSHTMLAudioElement::getConstructor(ExecState* exec)
+JSValue JSHTMLAudioElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLAudioElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLAudioElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLAudioElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLAudioElement.h
index cea0209..bb3e51d 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLAudioElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLAudioElement.h
@@ -32,7 +32,7 @@ class HTMLAudioElement;
class JSHTMLAudioElement : public JSHTMLMediaElement {
typedef JSHTMLMediaElement Base;
public:
- JSHTMLAudioElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLAudioElement>);
+ JSHTMLAudioElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLAudioElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
@@ -43,7 +43,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLBRElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLBRElement.cpp
index aff5b90..3cac476 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLBRElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLBRElement.cpp
@@ -22,6 +22,7 @@
#include "JSHTMLBRElement.h"
#include "HTMLBRElement.h"
+#include "HTMLNames.h"
#include "KURL.h"
#include <runtime/JSString.h>
#include <wtf/GetPtr.h>
@@ -41,7 +42,7 @@ static const HashTableValue JSHTMLBRElementTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLBRElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLBRElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 3, JSHTMLBRElementTableValues, 0 };
#else
@@ -55,19 +56,19 @@ static const HashTableValue JSHTMLBRElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLBRElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLBRElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLBRElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLBRElementConstructorTableValues, 0 };
#endif
-class JSHTMLBRElementConstructor : public DOMObject {
+class JSHTMLBRElementConstructor : public DOMConstructorObject {
public:
- JSHTMLBRElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLBRElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLBRElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLBRElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLBRElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLBRElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -93,7 +94,7 @@ static const HashTableValue JSHTMLBRElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLBRElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLBRElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLBRElementPrototypeTableValues, 0 };
#else
@@ -109,8 +110,8 @@ JSObject* JSHTMLBRElementPrototype::self(ExecState* exec, JSGlobalObject* global
const ClassInfo JSHTMLBRElement::s_info = { "HTMLBRElement", &JSHTMLElement::s_info, &JSHTMLBRElementTable, 0 };
-JSHTMLBRElement::JSHTMLBRElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLBRElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLBRElement::JSHTMLBRElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLBRElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -126,14 +127,16 @@ bool JSHTMLBRElement::getOwnPropertySlot(ExecState* exec, const Identifier& prop
JSValue jsHTMLBRElementClear(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLBRElement* castedThis = static_cast<JSHTMLBRElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLBRElement* imp = static_cast<HTMLBRElement*>(static_cast<JSHTMLBRElement*>(asObject(slot.slotBase()))->impl());
- return jsString(exec, imp->clear());
+ HTMLBRElement* imp = static_cast<HTMLBRElement*>(castedThis->impl());
+ return jsString(exec, imp->getAttribute(HTMLNames::clearAttr));
}
JSValue jsHTMLBRElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLBRElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLBRElement* domObject = static_cast<JSHTMLBRElement*>(asObject(slot.slotBase()));
+ return JSHTMLBRElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLBRElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -143,12 +146,12 @@ void JSHTMLBRElement::put(ExecState* exec, const Identifier& propertyName, JSVal
void setJSHTMLBRElementClear(ExecState* exec, JSObject* thisObject, JSValue value)
{
HTMLBRElement* imp = static_cast<HTMLBRElement*>(static_cast<JSHTMLBRElement*>(thisObject)->impl());
- imp->setClear(valueToStringWithNullCheck(exec, value));
+ imp->setAttribute(HTMLNames::clearAttr, valueToStringWithNullCheck(exec, value));
}
-JSValue JSHTMLBRElement::getConstructor(ExecState* exec)
+JSValue JSHTMLBRElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLBRElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLBRElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLBRElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLBRElement.h
index 3352cb7..d6b124b 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLBRElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLBRElement.h
@@ -30,7 +30,7 @@ class HTMLBRElement;
class JSHTMLBRElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLBRElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLBRElement>);
+ JSHTMLBRElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLBRElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -42,7 +42,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLBaseElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLBaseElement.cpp
index d0c6502..10e393c 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLBaseElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLBaseElement.cpp
@@ -22,6 +22,7 @@
#include "JSHTMLBaseElement.h"
#include "HTMLBaseElement.h"
+#include "HTMLNames.h"
#include "KURL.h"
#include <runtime/JSString.h>
#include <wtf/GetPtr.h>
@@ -42,7 +43,7 @@ static const HashTableValue JSHTMLBaseElementTableValues[4] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLBaseElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLBaseElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 3, JSHTMLBaseElementTableValues, 0 };
#else
@@ -56,19 +57,19 @@ static const HashTableValue JSHTMLBaseElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLBaseElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLBaseElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLBaseElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLBaseElementConstructorTableValues, 0 };
#endif
-class JSHTMLBaseElementConstructor : public DOMObject {
+class JSHTMLBaseElementConstructor : public DOMConstructorObject {
public:
- JSHTMLBaseElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLBaseElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLBaseElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLBaseElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLBaseElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLBaseElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -94,7 +95,7 @@ static const HashTableValue JSHTMLBaseElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLBaseElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLBaseElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLBaseElementPrototypeTableValues, 0 };
#else
@@ -110,8 +111,8 @@ JSObject* JSHTMLBaseElementPrototype::self(ExecState* exec, JSGlobalObject* glob
const ClassInfo JSHTMLBaseElement::s_info = { "HTMLBaseElement", &JSHTMLElement::s_info, &JSHTMLBaseElementTable, 0 };
-JSHTMLBaseElement::JSHTMLBaseElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLBaseElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLBaseElement::JSHTMLBaseElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLBaseElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -127,21 +128,24 @@ bool JSHTMLBaseElement::getOwnPropertySlot(ExecState* exec, const Identifier& pr
JSValue jsHTMLBaseElementHref(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLBaseElement* castedThis = static_cast<JSHTMLBaseElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLBaseElement* imp = static_cast<HTMLBaseElement*>(static_cast<JSHTMLBaseElement*>(asObject(slot.slotBase()))->impl());
- return jsString(exec, imp->href());
+ HTMLBaseElement* imp = static_cast<HTMLBaseElement*>(castedThis->impl());
+ return jsString(exec, imp->getAttribute(HTMLNames::hrefAttr));
}
JSValue jsHTMLBaseElementTarget(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLBaseElement* castedThis = static_cast<JSHTMLBaseElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLBaseElement* imp = static_cast<HTMLBaseElement*>(static_cast<JSHTMLBaseElement*>(asObject(slot.slotBase()))->impl());
- return jsString(exec, imp->target());
+ HTMLBaseElement* imp = static_cast<HTMLBaseElement*>(castedThis->impl());
+ return jsString(exec, imp->getAttribute(HTMLNames::targetAttr));
}
JSValue jsHTMLBaseElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLBaseElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLBaseElement* domObject = static_cast<JSHTMLBaseElement*>(asObject(slot.slotBase()));
+ return JSHTMLBaseElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLBaseElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -151,18 +155,18 @@ void JSHTMLBaseElement::put(ExecState* exec, const Identifier& propertyName, JSV
void setJSHTMLBaseElementHref(ExecState* exec, JSObject* thisObject, JSValue value)
{
HTMLBaseElement* imp = static_cast<HTMLBaseElement*>(static_cast<JSHTMLBaseElement*>(thisObject)->impl());
- imp->setHref(valueToStringWithNullCheck(exec, value));
+ imp->setAttribute(HTMLNames::hrefAttr, valueToStringWithNullCheck(exec, value));
}
void setJSHTMLBaseElementTarget(ExecState* exec, JSObject* thisObject, JSValue value)
{
HTMLBaseElement* imp = static_cast<HTMLBaseElement*>(static_cast<JSHTMLBaseElement*>(thisObject)->impl());
- imp->setTarget(valueToStringWithNullCheck(exec, value));
+ imp->setAttribute(HTMLNames::targetAttr, valueToStringWithNullCheck(exec, value));
}
-JSValue JSHTMLBaseElement::getConstructor(ExecState* exec)
+JSValue JSHTMLBaseElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLBaseElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLBaseElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLBaseElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLBaseElement.h
index 8fdbe06..0064963 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLBaseElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLBaseElement.h
@@ -30,7 +30,7 @@ class HTMLBaseElement;
class JSHTMLBaseElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLBaseElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLBaseElement>);
+ JSHTMLBaseElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLBaseElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -42,7 +42,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLBaseFontElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLBaseFontElement.cpp
index 24288a2..277770b 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLBaseFontElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLBaseFontElement.cpp
@@ -22,6 +22,7 @@
#include "JSHTMLBaseFontElement.h"
#include "HTMLBaseFontElement.h"
+#include "HTMLNames.h"
#include "KURL.h"
#include <runtime/JSNumberCell.h>
#include <runtime/JSString.h>
@@ -44,7 +45,7 @@ static const HashTableValue JSHTMLBaseFontElementTableValues[5] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLBaseFontElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLBaseFontElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSHTMLBaseFontElementTableValues, 0 };
#else
@@ -58,19 +59,19 @@ static const HashTableValue JSHTMLBaseFontElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLBaseFontElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLBaseFontElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLBaseFontElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLBaseFontElementConstructorTableValues, 0 };
#endif
-class JSHTMLBaseFontElementConstructor : public DOMObject {
+class JSHTMLBaseFontElementConstructor : public DOMConstructorObject {
public:
- JSHTMLBaseFontElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLBaseFontElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLBaseFontElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLBaseFontElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLBaseFontElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLBaseFontElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -96,7 +97,7 @@ static const HashTableValue JSHTMLBaseFontElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLBaseFontElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLBaseFontElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLBaseFontElementPrototypeTableValues, 0 };
#else
@@ -112,8 +113,8 @@ JSObject* JSHTMLBaseFontElementPrototype::self(ExecState* exec, JSGlobalObject*
const ClassInfo JSHTMLBaseFontElement::s_info = { "HTMLBaseFontElement", &JSHTMLElement::s_info, &JSHTMLBaseFontElementTable, 0 };
-JSHTMLBaseFontElement::JSHTMLBaseFontElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLBaseFontElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLBaseFontElement::JSHTMLBaseFontElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLBaseFontElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -129,28 +130,32 @@ bool JSHTMLBaseFontElement::getOwnPropertySlot(ExecState* exec, const Identifier
JSValue jsHTMLBaseFontElementColor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLBaseFontElement* castedThis = static_cast<JSHTMLBaseFontElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLBaseFontElement* imp = static_cast<HTMLBaseFontElement*>(static_cast<JSHTMLBaseFontElement*>(asObject(slot.slotBase()))->impl());
- return jsString(exec, imp->color());
+ HTMLBaseFontElement* imp = static_cast<HTMLBaseFontElement*>(castedThis->impl());
+ return jsString(exec, imp->getAttribute(HTMLNames::colorAttr));
}
JSValue jsHTMLBaseFontElementFace(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLBaseFontElement* castedThis = static_cast<JSHTMLBaseFontElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLBaseFontElement* imp = static_cast<HTMLBaseFontElement*>(static_cast<JSHTMLBaseFontElement*>(asObject(slot.slotBase()))->impl());
- return jsString(exec, imp->face());
+ HTMLBaseFontElement* imp = static_cast<HTMLBaseFontElement*>(castedThis->impl());
+ return jsString(exec, imp->getAttribute(HTMLNames::faceAttr));
}
JSValue jsHTMLBaseFontElementSize(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLBaseFontElement* castedThis = static_cast<JSHTMLBaseFontElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLBaseFontElement* imp = static_cast<HTMLBaseFontElement*>(static_cast<JSHTMLBaseFontElement*>(asObject(slot.slotBase()))->impl());
+ HTMLBaseFontElement* imp = static_cast<HTMLBaseFontElement*>(castedThis->impl());
return jsNumber(exec, imp->size());
}
JSValue jsHTMLBaseFontElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLBaseFontElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLBaseFontElement* domObject = static_cast<JSHTMLBaseFontElement*>(asObject(slot.slotBase()));
+ return JSHTMLBaseFontElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLBaseFontElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -160,13 +165,13 @@ void JSHTMLBaseFontElement::put(ExecState* exec, const Identifier& propertyName,
void setJSHTMLBaseFontElementColor(ExecState* exec, JSObject* thisObject, JSValue value)
{
HTMLBaseFontElement* imp = static_cast<HTMLBaseFontElement*>(static_cast<JSHTMLBaseFontElement*>(thisObject)->impl());
- imp->setColor(valueToStringWithNullCheck(exec, value));
+ imp->setAttribute(HTMLNames::colorAttr, valueToStringWithNullCheck(exec, value));
}
void setJSHTMLBaseFontElementFace(ExecState* exec, JSObject* thisObject, JSValue value)
{
HTMLBaseFontElement* imp = static_cast<HTMLBaseFontElement*>(static_cast<JSHTMLBaseFontElement*>(thisObject)->impl());
- imp->setFace(valueToStringWithNullCheck(exec, value));
+ imp->setAttribute(HTMLNames::faceAttr, valueToStringWithNullCheck(exec, value));
}
void setJSHTMLBaseFontElementSize(ExecState* exec, JSObject* thisObject, JSValue value)
@@ -175,9 +180,9 @@ void setJSHTMLBaseFontElementSize(ExecState* exec, JSObject* thisObject, JSValue
imp->setSize(value.toInt32(exec));
}
-JSValue JSHTMLBaseFontElement::getConstructor(ExecState* exec)
+JSValue JSHTMLBaseFontElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLBaseFontElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLBaseFontElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLBaseFontElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLBaseFontElement.h
index 534bb80..fcaa363 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLBaseFontElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLBaseFontElement.h
@@ -30,7 +30,7 @@ class HTMLBaseFontElement;
class JSHTMLBaseFontElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLBaseFontElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLBaseFontElement>);
+ JSHTMLBaseFontElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLBaseFontElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -42,7 +42,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLBlockquoteElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLBlockquoteElement.cpp
index aa108aa..bdf10b7 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLBlockquoteElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLBlockquoteElement.cpp
@@ -22,6 +22,7 @@
#include "JSHTMLBlockquoteElement.h"
#include "HTMLBlockquoteElement.h"
+#include "HTMLNames.h"
#include "KURL.h"
#include <runtime/JSString.h>
#include <wtf/GetPtr.h>
@@ -41,7 +42,7 @@ static const HashTableValue JSHTMLBlockquoteElementTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLBlockquoteElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLBlockquoteElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSHTMLBlockquoteElementTableValues, 0 };
#else
@@ -55,19 +56,19 @@ static const HashTableValue JSHTMLBlockquoteElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLBlockquoteElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLBlockquoteElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLBlockquoteElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLBlockquoteElementConstructorTableValues, 0 };
#endif
-class JSHTMLBlockquoteElementConstructor : public DOMObject {
+class JSHTMLBlockquoteElementConstructor : public DOMConstructorObject {
public:
- JSHTMLBlockquoteElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLBlockquoteElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLBlockquoteElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLBlockquoteElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLBlockquoteElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLBlockquoteElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -93,7 +94,7 @@ static const HashTableValue JSHTMLBlockquoteElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLBlockquoteElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLBlockquoteElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLBlockquoteElementPrototypeTableValues, 0 };
#else
@@ -109,8 +110,8 @@ JSObject* JSHTMLBlockquoteElementPrototype::self(ExecState* exec, JSGlobalObject
const ClassInfo JSHTMLBlockquoteElement::s_info = { "HTMLBlockquoteElement", &JSHTMLElement::s_info, &JSHTMLBlockquoteElementTable, 0 };
-JSHTMLBlockquoteElement::JSHTMLBlockquoteElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLBlockquoteElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLBlockquoteElement::JSHTMLBlockquoteElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLBlockquoteElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -126,14 +127,16 @@ bool JSHTMLBlockquoteElement::getOwnPropertySlot(ExecState* exec, const Identifi
JSValue jsHTMLBlockquoteElementCite(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLBlockquoteElement* castedThis = static_cast<JSHTMLBlockquoteElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLBlockquoteElement* imp = static_cast<HTMLBlockquoteElement*>(static_cast<JSHTMLBlockquoteElement*>(asObject(slot.slotBase()))->impl());
- return jsString(exec, imp->cite());
+ HTMLBlockquoteElement* imp = static_cast<HTMLBlockquoteElement*>(castedThis->impl());
+ return jsString(exec, imp->getAttribute(HTMLNames::citeAttr));
}
JSValue jsHTMLBlockquoteElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLBlockquoteElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLBlockquoteElement* domObject = static_cast<JSHTMLBlockquoteElement*>(asObject(slot.slotBase()));
+ return JSHTMLBlockquoteElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLBlockquoteElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -143,12 +146,12 @@ void JSHTMLBlockquoteElement::put(ExecState* exec, const Identifier& propertyNam
void setJSHTMLBlockquoteElementCite(ExecState* exec, JSObject* thisObject, JSValue value)
{
HTMLBlockquoteElement* imp = static_cast<HTMLBlockquoteElement*>(static_cast<JSHTMLBlockquoteElement*>(thisObject)->impl());
- imp->setCite(valueToStringWithNullCheck(exec, value));
+ imp->setAttribute(HTMLNames::citeAttr, valueToStringWithNullCheck(exec, value));
}
-JSValue JSHTMLBlockquoteElement::getConstructor(ExecState* exec)
+JSValue JSHTMLBlockquoteElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLBlockquoteElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLBlockquoteElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLBlockquoteElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLBlockquoteElement.h
index 7949bdd..a2046b3 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLBlockquoteElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLBlockquoteElement.h
@@ -30,7 +30,7 @@ class HTMLBlockquoteElement;
class JSHTMLBlockquoteElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLBlockquoteElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLBlockquoteElement>);
+ JSHTMLBlockquoteElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLBlockquoteElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -42,7 +42,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLBodyElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLBodyElement.cpp
index 6da9517..7628bd6 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLBodyElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLBodyElement.cpp
@@ -24,6 +24,7 @@
#include "EventListener.h"
#include "Frame.h"
#include "HTMLBodyElement.h"
+#include "HTMLNames.h"
#include "JSDOMGlobalObject.h"
#include "JSEventListener.h"
#include "KURL.h"
@@ -57,7 +58,7 @@ static const HashTableValue JSHTMLBodyElementTableValues[15] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLBodyElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLBodyElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 63, JSHTMLBodyElementTableValues, 0 };
#else
@@ -71,19 +72,19 @@ static const HashTableValue JSHTMLBodyElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLBodyElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLBodyElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLBodyElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLBodyElementConstructorTableValues, 0 };
#endif
-class JSHTMLBodyElementConstructor : public DOMObject {
+class JSHTMLBodyElementConstructor : public DOMConstructorObject {
public:
- JSHTMLBodyElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLBodyElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLBodyElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLBodyElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLBodyElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLBodyElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -109,7 +110,7 @@ static const HashTableValue JSHTMLBodyElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLBodyElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLBodyElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLBodyElementPrototypeTableValues, 0 };
#else
@@ -125,8 +126,8 @@ JSObject* JSHTMLBodyElementPrototype::self(ExecState* exec, JSGlobalObject* glob
const ClassInfo JSHTMLBodyElement::s_info = { "HTMLBodyElement", &JSHTMLElement::s_info, &JSHTMLBodyElementTable, 0 };
-JSHTMLBodyElement::JSHTMLBodyElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLBodyElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLBodyElement::JSHTMLBodyElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLBodyElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -142,50 +143,57 @@ bool JSHTMLBodyElement::getOwnPropertySlot(ExecState* exec, const Identifier& pr
JSValue jsHTMLBodyElementALink(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLBodyElement* castedThis = static_cast<JSHTMLBodyElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLBodyElement* imp = static_cast<HTMLBodyElement*>(static_cast<JSHTMLBodyElement*>(asObject(slot.slotBase()))->impl());
- return jsString(exec, imp->aLink());
+ HTMLBodyElement* imp = static_cast<HTMLBodyElement*>(castedThis->impl());
+ return jsString(exec, imp->getAttribute(HTMLNames::alinkAttr));
}
JSValue jsHTMLBodyElementBackground(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLBodyElement* castedThis = static_cast<JSHTMLBodyElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLBodyElement* imp = static_cast<HTMLBodyElement*>(static_cast<JSHTMLBodyElement*>(asObject(slot.slotBase()))->impl());
- return jsString(exec, imp->background());
+ HTMLBodyElement* imp = static_cast<HTMLBodyElement*>(castedThis->impl());
+ return jsString(exec, imp->getAttribute(HTMLNames::backgroundAttr));
}
JSValue jsHTMLBodyElementBgColor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLBodyElement* castedThis = static_cast<JSHTMLBodyElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLBodyElement* imp = static_cast<HTMLBodyElement*>(static_cast<JSHTMLBodyElement*>(asObject(slot.slotBase()))->impl());
- return jsString(exec, imp->bgColor());
+ HTMLBodyElement* imp = static_cast<HTMLBodyElement*>(castedThis->impl());
+ return jsString(exec, imp->getAttribute(HTMLNames::bgcolorAttr));
}
JSValue jsHTMLBodyElementLink(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLBodyElement* castedThis = static_cast<JSHTMLBodyElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLBodyElement* imp = static_cast<HTMLBodyElement*>(static_cast<JSHTMLBodyElement*>(asObject(slot.slotBase()))->impl());
- return jsString(exec, imp->link());
+ HTMLBodyElement* imp = static_cast<HTMLBodyElement*>(castedThis->impl());
+ return jsString(exec, imp->getAttribute(HTMLNames::linkAttr));
}
JSValue jsHTMLBodyElementText(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLBodyElement* castedThis = static_cast<JSHTMLBodyElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLBodyElement* imp = static_cast<HTMLBodyElement*>(static_cast<JSHTMLBodyElement*>(asObject(slot.slotBase()))->impl());
- return jsString(exec, imp->text());
+ HTMLBodyElement* imp = static_cast<HTMLBodyElement*>(castedThis->impl());
+ return jsString(exec, imp->getAttribute(HTMLNames::textAttr));
}
JSValue jsHTMLBodyElementVLink(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLBodyElement* castedThis = static_cast<JSHTMLBodyElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLBodyElement* imp = static_cast<HTMLBodyElement*>(static_cast<JSHTMLBodyElement*>(asObject(slot.slotBase()))->impl());
- return jsString(exec, imp->vLink());
+ HTMLBodyElement* imp = static_cast<HTMLBodyElement*>(castedThis->impl());
+ return jsString(exec, imp->getAttribute(HTMLNames::vlinkAttr));
}
JSValue jsHTMLBodyElementOnbeforeunload(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLBodyElement* castedThis = static_cast<JSHTMLBodyElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLBodyElement* imp = static_cast<HTMLBodyElement*>(static_cast<JSHTMLBodyElement*>(asObject(slot.slotBase()))->impl());
+ HTMLBodyElement* imp = static_cast<HTMLBodyElement*>(castedThis->impl());
if (EventListener* listener = imp->onbeforeunload()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -195,8 +203,9 @@ JSValue jsHTMLBodyElementOnbeforeunload(ExecState* exec, const Identifier&, cons
JSValue jsHTMLBodyElementOnmessage(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLBodyElement* castedThis = static_cast<JSHTMLBodyElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLBodyElement* imp = static_cast<HTMLBodyElement*>(static_cast<JSHTMLBodyElement*>(asObject(slot.slotBase()))->impl());
+ HTMLBodyElement* imp = static_cast<HTMLBodyElement*>(castedThis->impl());
if (EventListener* listener = imp->onmessage()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -206,8 +215,9 @@ JSValue jsHTMLBodyElementOnmessage(ExecState* exec, const Identifier&, const Pro
JSValue jsHTMLBodyElementOnoffline(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLBodyElement* castedThis = static_cast<JSHTMLBodyElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLBodyElement* imp = static_cast<HTMLBodyElement*>(static_cast<JSHTMLBodyElement*>(asObject(slot.slotBase()))->impl());
+ HTMLBodyElement* imp = static_cast<HTMLBodyElement*>(castedThis->impl());
if (EventListener* listener = imp->onoffline()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -217,8 +227,9 @@ JSValue jsHTMLBodyElementOnoffline(ExecState* exec, const Identifier&, const Pro
JSValue jsHTMLBodyElementOnonline(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLBodyElement* castedThis = static_cast<JSHTMLBodyElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLBodyElement* imp = static_cast<HTMLBodyElement*>(static_cast<JSHTMLBodyElement*>(asObject(slot.slotBase()))->impl());
+ HTMLBodyElement* imp = static_cast<HTMLBodyElement*>(castedThis->impl());
if (EventListener* listener = imp->ononline()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -228,8 +239,9 @@ JSValue jsHTMLBodyElementOnonline(ExecState* exec, const Identifier&, const Prop
JSValue jsHTMLBodyElementOnresize(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLBodyElement* castedThis = static_cast<JSHTMLBodyElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLBodyElement* imp = static_cast<HTMLBodyElement*>(static_cast<JSHTMLBodyElement*>(asObject(slot.slotBase()))->impl());
+ HTMLBodyElement* imp = static_cast<HTMLBodyElement*>(castedThis->impl());
if (EventListener* listener = imp->onresize()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -239,8 +251,9 @@ JSValue jsHTMLBodyElementOnresize(ExecState* exec, const Identifier&, const Prop
JSValue jsHTMLBodyElementOnstorage(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLBodyElement* castedThis = static_cast<JSHTMLBodyElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLBodyElement* imp = static_cast<HTMLBodyElement*>(static_cast<JSHTMLBodyElement*>(asObject(slot.slotBase()))->impl());
+ HTMLBodyElement* imp = static_cast<HTMLBodyElement*>(castedThis->impl());
if (EventListener* listener = imp->onstorage()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -250,8 +263,9 @@ JSValue jsHTMLBodyElementOnstorage(ExecState* exec, const Identifier&, const Pro
JSValue jsHTMLBodyElementOnunload(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLBodyElement* castedThis = static_cast<JSHTMLBodyElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLBodyElement* imp = static_cast<HTMLBodyElement*>(static_cast<JSHTMLBodyElement*>(asObject(slot.slotBase()))->impl());
+ HTMLBodyElement* imp = static_cast<HTMLBodyElement*>(castedThis->impl());
if (EventListener* listener = imp->onunload()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -261,7 +275,8 @@ JSValue jsHTMLBodyElementOnunload(ExecState* exec, const Identifier&, const Prop
JSValue jsHTMLBodyElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLBodyElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLBodyElement* domObject = static_cast<JSHTMLBodyElement*>(asObject(slot.slotBase()));
+ return JSHTMLBodyElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLBodyElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -271,37 +286,37 @@ void JSHTMLBodyElement::put(ExecState* exec, const Identifier& propertyName, JSV
void setJSHTMLBodyElementALink(ExecState* exec, JSObject* thisObject, JSValue value)
{
HTMLBodyElement* imp = static_cast<HTMLBodyElement*>(static_cast<JSHTMLBodyElement*>(thisObject)->impl());
- imp->setALink(valueToStringWithNullCheck(exec, value));
+ imp->setAttribute(HTMLNames::alinkAttr, valueToStringWithNullCheck(exec, value));
}
void setJSHTMLBodyElementBackground(ExecState* exec, JSObject* thisObject, JSValue value)
{
HTMLBodyElement* imp = static_cast<HTMLBodyElement*>(static_cast<JSHTMLBodyElement*>(thisObject)->impl());
- imp->setBackground(valueToStringWithNullCheck(exec, value));
+ imp->setAttribute(HTMLNames::backgroundAttr, valueToStringWithNullCheck(exec, value));
}
void setJSHTMLBodyElementBgColor(ExecState* exec, JSObject* thisObject, JSValue value)
{
HTMLBodyElement* imp = static_cast<HTMLBodyElement*>(static_cast<JSHTMLBodyElement*>(thisObject)->impl());
- imp->setBgColor(valueToStringWithNullCheck(exec, value));
+ imp->setAttribute(HTMLNames::bgcolorAttr, valueToStringWithNullCheck(exec, value));
}
void setJSHTMLBodyElementLink(ExecState* exec, JSObject* thisObject, JSValue value)
{
HTMLBodyElement* imp = static_cast<HTMLBodyElement*>(static_cast<JSHTMLBodyElement*>(thisObject)->impl());
- imp->setLink(valueToStringWithNullCheck(exec, value));
+ imp->setAttribute(HTMLNames::linkAttr, valueToStringWithNullCheck(exec, value));
}
void setJSHTMLBodyElementText(ExecState* exec, JSObject* thisObject, JSValue value)
{
HTMLBodyElement* imp = static_cast<HTMLBodyElement*>(static_cast<JSHTMLBodyElement*>(thisObject)->impl());
- imp->setText(valueToStringWithNullCheck(exec, value));
+ imp->setAttribute(HTMLNames::textAttr, valueToStringWithNullCheck(exec, value));
}
void setJSHTMLBodyElementVLink(ExecState* exec, JSObject* thisObject, JSValue value)
{
HTMLBodyElement* imp = static_cast<HTMLBodyElement*>(static_cast<JSHTMLBodyElement*>(thisObject)->impl());
- imp->setVLink(valueToStringWithNullCheck(exec, value));
+ imp->setAttribute(HTMLNames::vlinkAttr, valueToStringWithNullCheck(exec, value));
}
void setJSHTMLBodyElementOnbeforeunload(ExecState* exec, JSObject* thisObject, JSValue value)
@@ -374,9 +389,9 @@ void setJSHTMLBodyElementOnunload(ExecState* exec, JSObject* thisObject, JSValue
imp->setOnunload(globalObject->createJSAttributeEventListener(value));
}
-JSValue JSHTMLBodyElement::getConstructor(ExecState* exec)
+JSValue JSHTMLBodyElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLBodyElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLBodyElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLBodyElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLBodyElement.h
index caabc5b..706a3c4 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLBodyElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLBodyElement.h
@@ -30,7 +30,7 @@ class HTMLBodyElement;
class JSHTMLBodyElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLBodyElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLBodyElement>);
+ JSHTMLBodyElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLBodyElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -42,7 +42,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLButtonElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLButtonElement.cpp
index 96f463b..c0c7322 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLButtonElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLButtonElement.cpp
@@ -24,7 +24,9 @@
#include "HTMLButtonElement.h"
#include "HTMLFormElement.h"
#include "JSHTMLFormElement.h"
+#include "JSValidityState.h"
#include "KURL.h"
+#include "ValidityState.h"
#include <runtime/Error.h>
#include <runtime/JSString.h>
#include <wtf/GetPtr.h>
@@ -37,9 +39,10 @@ ASSERT_CLASS_FITS_IN_CELL(JSHTMLButtonElement);
/* Hash table */
-static const HashTableValue JSHTMLButtonElementTableValues[10] =
+static const HashTableValue JSHTMLButtonElementTableValues[11] =
{
{ "form", DontDelete|ReadOnly, (intptr_t)jsHTMLButtonElementForm, (intptr_t)0 },
+ { "validity", DontDelete|ReadOnly, (intptr_t)jsHTMLButtonElementValidity, (intptr_t)0 },
{ "accessKey", DontDelete, (intptr_t)jsHTMLButtonElementAccessKey, (intptr_t)setJSHTMLButtonElementAccessKey },
{ "disabled", DontDelete, (intptr_t)jsHTMLButtonElementDisabled, (intptr_t)setJSHTMLButtonElementDisabled },
{ "autofocus", DontDelete, (intptr_t)jsHTMLButtonElementAutofocus, (intptr_t)setJSHTMLButtonElementAutofocus },
@@ -51,7 +54,7 @@ static const HashTableValue JSHTMLButtonElementTableValues[10] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLButtonElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLButtonElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 127, JSHTMLButtonElementTableValues, 0 };
#else
@@ -65,19 +68,19 @@ static const HashTableValue JSHTMLButtonElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLButtonElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLButtonElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLButtonElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLButtonElementConstructorTableValues, 0 };
#endif
-class JSHTMLButtonElementConstructor : public DOMObject {
+class JSHTMLButtonElementConstructor : public DOMConstructorObject {
public:
- JSHTMLButtonElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLButtonElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLButtonElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLButtonElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLButtonElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLButtonElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -104,7 +107,7 @@ static const HashTableValue JSHTMLButtonElementPrototypeTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLButtonElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLButtonElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLButtonElementPrototypeTableValues, 0 };
#else
@@ -125,8 +128,8 @@ bool JSHTMLButtonElementPrototype::getOwnPropertySlot(ExecState* exec, const Ide
const ClassInfo JSHTMLButtonElement::s_info = { "HTMLButtonElement", &JSHTMLElement::s_info, &JSHTMLButtonElementTable, 0 };
-JSHTMLButtonElement::JSHTMLButtonElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLButtonElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLButtonElement::JSHTMLButtonElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLButtonElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -142,63 +145,80 @@ bool JSHTMLButtonElement::getOwnPropertySlot(ExecState* exec, const Identifier&
JSValue jsHTMLButtonElementForm(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLButtonElement* castedThis = static_cast<JSHTMLButtonElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLButtonElement* imp = static_cast<HTMLButtonElement*>(static_cast<JSHTMLButtonElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->form()));
+ HTMLButtonElement* imp = static_cast<HTMLButtonElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->form()));
+}
+
+JSValue jsHTMLButtonElementValidity(ExecState* exec, const Identifier&, const PropertySlot& slot)
+{
+ JSHTMLButtonElement* castedThis = static_cast<JSHTMLButtonElement*>(asObject(slot.slotBase()));
+ UNUSED_PARAM(exec);
+ HTMLButtonElement* imp = static_cast<HTMLButtonElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->validity()));
}
JSValue jsHTMLButtonElementAccessKey(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLButtonElement* castedThis = static_cast<JSHTMLButtonElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLButtonElement* imp = static_cast<HTMLButtonElement*>(static_cast<JSHTMLButtonElement*>(asObject(slot.slotBase()))->impl());
+ HTMLButtonElement* imp = static_cast<HTMLButtonElement*>(castedThis->impl());
return jsString(exec, imp->accessKey());
}
JSValue jsHTMLButtonElementDisabled(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLButtonElement* castedThis = static_cast<JSHTMLButtonElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLButtonElement* imp = static_cast<HTMLButtonElement*>(static_cast<JSHTMLButtonElement*>(asObject(slot.slotBase()))->impl());
+ HTMLButtonElement* imp = static_cast<HTMLButtonElement*>(castedThis->impl());
return jsBoolean(imp->disabled());
}
JSValue jsHTMLButtonElementAutofocus(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLButtonElement* castedThis = static_cast<JSHTMLButtonElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLButtonElement* imp = static_cast<HTMLButtonElement*>(static_cast<JSHTMLButtonElement*>(asObject(slot.slotBase()))->impl());
+ HTMLButtonElement* imp = static_cast<HTMLButtonElement*>(castedThis->impl());
return jsBoolean(imp->autofocus());
}
JSValue jsHTMLButtonElementName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLButtonElement* castedThis = static_cast<JSHTMLButtonElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLButtonElement* imp = static_cast<HTMLButtonElement*>(static_cast<JSHTMLButtonElement*>(asObject(slot.slotBase()))->impl());
+ HTMLButtonElement* imp = static_cast<HTMLButtonElement*>(castedThis->impl());
return jsString(exec, imp->name());
}
JSValue jsHTMLButtonElementType(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLButtonElement* castedThis = static_cast<JSHTMLButtonElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLButtonElement* imp = static_cast<HTMLButtonElement*>(static_cast<JSHTMLButtonElement*>(asObject(slot.slotBase()))->impl());
+ HTMLButtonElement* imp = static_cast<HTMLButtonElement*>(castedThis->impl());
return jsString(exec, imp->type());
}
JSValue jsHTMLButtonElementValue(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLButtonElement* castedThis = static_cast<JSHTMLButtonElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLButtonElement* imp = static_cast<HTMLButtonElement*>(static_cast<JSHTMLButtonElement*>(asObject(slot.slotBase()))->impl());
+ HTMLButtonElement* imp = static_cast<HTMLButtonElement*>(castedThis->impl());
return jsString(exec, imp->value());
}
JSValue jsHTMLButtonElementWillValidate(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLButtonElement* castedThis = static_cast<JSHTMLButtonElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLButtonElement* imp = static_cast<HTMLButtonElement*>(static_cast<JSHTMLButtonElement*>(asObject(slot.slotBase()))->impl());
+ HTMLButtonElement* imp = static_cast<HTMLButtonElement*>(castedThis->impl());
return jsBoolean(imp->willValidate());
}
JSValue jsHTMLButtonElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLButtonElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLButtonElement* domObject = static_cast<JSHTMLButtonElement*>(asObject(slot.slotBase()));
+ return JSHTMLButtonElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLButtonElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -235,9 +255,9 @@ void setJSHTMLButtonElementValue(ExecState* exec, JSObject* thisObject, JSValue
imp->setValue(valueToStringWithNullCheck(exec, value));
}
-JSValue JSHTMLButtonElement::getConstructor(ExecState* exec)
+JSValue JSHTMLButtonElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLButtonElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLButtonElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsHTMLButtonElementPrototypeFunctionClick(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLButtonElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLButtonElement.h
index 9849bbb..9fa59ff 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLButtonElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLButtonElement.h
@@ -30,7 +30,7 @@ class HTMLButtonElement;
class JSHTMLButtonElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLButtonElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLButtonElement>);
+ JSHTMLButtonElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLButtonElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -42,7 +42,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
@@ -66,6 +66,7 @@ JSC::JSValue JSC_HOST_CALL jsHTMLButtonElementPrototypeFunctionClick(JSC::ExecSt
// Attributes
JSC::JSValue jsHTMLButtonElementForm(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
+JSC::JSValue jsHTMLButtonElementValidity(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
JSC::JSValue jsHTMLButtonElementAccessKey(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
void setJSHTMLButtonElementAccessKey(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
JSC::JSValue jsHTMLButtonElementDisabled(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLCanvasElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLCanvasElement.cpp
index b90cbea..5c5533f 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLCanvasElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLCanvasElement.cpp
@@ -45,7 +45,7 @@ static const HashTableValue JSHTMLCanvasElementTableValues[4] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLCanvasElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLCanvasElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 31, JSHTMLCanvasElementTableValues, 0 };
#else
@@ -59,19 +59,19 @@ static const HashTableValue JSHTMLCanvasElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLCanvasElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLCanvasElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLCanvasElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLCanvasElementConstructorTableValues, 0 };
#endif
-class JSHTMLCanvasElementConstructor : public DOMObject {
+class JSHTMLCanvasElementConstructor : public DOMConstructorObject {
public:
- JSHTMLCanvasElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLCanvasElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLCanvasElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLCanvasElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLCanvasElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLCanvasElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -99,7 +99,7 @@ static const HashTableValue JSHTMLCanvasElementPrototypeTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLCanvasElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLCanvasElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 3, JSHTMLCanvasElementPrototypeTableValues, 0 };
#else
@@ -120,8 +120,8 @@ bool JSHTMLCanvasElementPrototype::getOwnPropertySlot(ExecState* exec, const Ide
const ClassInfo JSHTMLCanvasElement::s_info = { "HTMLCanvasElement", &JSHTMLElement::s_info, &JSHTMLCanvasElementTable, 0 };
-JSHTMLCanvasElement::JSHTMLCanvasElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLCanvasElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLCanvasElement::JSHTMLCanvasElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLCanvasElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -137,21 +137,24 @@ bool JSHTMLCanvasElement::getOwnPropertySlot(ExecState* exec, const Identifier&
JSValue jsHTMLCanvasElementWidth(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLCanvasElement* castedThis = static_cast<JSHTMLCanvasElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLCanvasElement* imp = static_cast<HTMLCanvasElement*>(static_cast<JSHTMLCanvasElement*>(asObject(slot.slotBase()))->impl());
+ HTMLCanvasElement* imp = static_cast<HTMLCanvasElement*>(castedThis->impl());
return jsNumber(exec, imp->width());
}
JSValue jsHTMLCanvasElementHeight(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLCanvasElement* castedThis = static_cast<JSHTMLCanvasElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLCanvasElement* imp = static_cast<HTMLCanvasElement*>(static_cast<JSHTMLCanvasElement*>(asObject(slot.slotBase()))->impl());
+ HTMLCanvasElement* imp = static_cast<HTMLCanvasElement*>(castedThis->impl());
return jsNumber(exec, imp->height());
}
JSValue jsHTMLCanvasElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLCanvasElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLCanvasElement* domObject = static_cast<JSHTMLCanvasElement*>(asObject(slot.slotBase()));
+ return JSHTMLCanvasElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLCanvasElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -170,9 +173,9 @@ void setJSHTMLCanvasElementHeight(ExecState* exec, JSObject* thisObject, JSValue
imp->setHeight(value.toInt32(exec));
}
-JSValue JSHTMLCanvasElement::getConstructor(ExecState* exec)
+JSValue JSHTMLCanvasElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLCanvasElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLCanvasElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsHTMLCanvasElementPrototypeFunctionToDataURL(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -201,7 +204,7 @@ JSValue JSC_HOST_CALL jsHTMLCanvasElementPrototypeFunctionGetContext(ExecState*
const UString& contextId = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getContext(contextId)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getContext(contextId)));
return result;
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLCanvasElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLCanvasElement.h
index ad41d15..5ccb23a 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLCanvasElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLCanvasElement.h
@@ -30,7 +30,7 @@ class HTMLCanvasElement;
class JSHTMLCanvasElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLCanvasElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLCanvasElement>);
+ JSHTMLCanvasElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLCanvasElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -42,7 +42,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLCollection.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLCollection.cpp
index 7ff47ac..de01068 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLCollection.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLCollection.cpp
@@ -48,7 +48,7 @@ static const HashTableValue JSHTMLCollectionTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLCollectionTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLCollectionTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSHTMLCollectionTableValues, 0 };
#else
@@ -62,19 +62,19 @@ static const HashTableValue JSHTMLCollectionConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLCollectionConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLCollectionConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLCollectionConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLCollectionConstructorTableValues, 0 };
#endif
-class JSHTMLCollectionConstructor : public DOMObject {
+class JSHTMLCollectionConstructor : public DOMConstructorObject {
public:
- JSHTMLCollectionConstructor(ExecState* exec)
- : DOMObject(JSHTMLCollectionConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLCollectionConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLCollectionConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLCollectionPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLCollectionPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -103,7 +103,7 @@ static const HashTableValue JSHTMLCollectionPrototypeTableValues[4] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLCollectionPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLCollectionPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 7, JSHTMLCollectionPrototypeTableValues, 0 };
#else
@@ -124,8 +124,8 @@ bool JSHTMLCollectionPrototype::getOwnPropertySlot(ExecState* exec, const Identi
const ClassInfo JSHTMLCollection::s_info = { "HTMLCollection", 0, &JSHTMLCollectionTable, 0 };
-JSHTMLCollection::JSHTMLCollection(PassRefPtr<Structure> structure, PassRefPtr<HTMLCollection> impl)
- : DOMObject(structure)
+JSHTMLCollection::JSHTMLCollection(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLCollection> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -175,14 +175,16 @@ bool JSHTMLCollection::getOwnPropertySlot(ExecState* exec, unsigned propertyName
JSValue jsHTMLCollectionLength(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLCollection* castedThis = static_cast<JSHTMLCollection*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLCollection* imp = static_cast<HTMLCollection*>(static_cast<JSHTMLCollection*>(asObject(slot.slotBase()))->impl());
+ HTMLCollection* imp = static_cast<HTMLCollection*>(castedThis->impl());
return jsNumber(exec, imp->length());
}
JSValue jsHTMLCollectionConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLCollection*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLCollection* domObject = static_cast<JSHTMLCollection*>(asObject(slot.slotBase()));
+ return JSHTMLCollection::getConstructor(exec, domObject->globalObject());
}
void JSHTMLCollection::getPropertyNames(ExecState* exec, PropertyNameArray& propertyNames)
{
@@ -191,9 +193,9 @@ void JSHTMLCollection::getPropertyNames(ExecState* exec, PropertyNameArray& prop
Base::getPropertyNames(exec, propertyNames);
}
-JSValue JSHTMLCollection::getConstructor(ExecState* exec)
+JSValue JSHTMLCollection::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLCollectionConstructor>(exec);
+ return getDOMConstructor<JSHTMLCollectionConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsHTMLCollectionPrototypeFunctionItem(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -224,7 +226,7 @@ JSValue JSC_HOST_CALL jsHTMLCollectionPrototypeFunctionTags(ExecState* exec, JSO
const UString& name = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->tags(name)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->tags(name)));
return result;
}
@@ -232,7 +234,7 @@ JSValue JSC_HOST_CALL jsHTMLCollectionPrototypeFunctionTags(ExecState* exec, JSO
JSValue JSHTMLCollection::indexGetter(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
JSHTMLCollection* thisObj = static_cast<JSHTMLCollection*>(asObject(slot.slotBase()));
- return toJS(exec, static_cast<HTMLCollection*>(thisObj->impl())->item(slot.index()));
+ return toJS(exec, thisObj->globalObject(), static_cast<HTMLCollection*>(thisObj->impl())->item(slot.index()));
}
HTMLCollection* toHTMLCollection(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLCollection.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLCollection.h
index 44d977e..c6b6406 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLCollection.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLCollection.h
@@ -21,6 +21,7 @@
#ifndef JSHTMLCollection_h
#define JSHTMLCollection_h
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/CallData.h>
#include <runtime/JSGlobalObject.h>
@@ -30,10 +31,10 @@ namespace WebCore {
class HTMLCollection;
-class JSHTMLCollection : public DOMObject {
- typedef DOMObject Base;
+class JSHTMLCollection : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSHTMLCollection(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLCollection>);
+ JSHTMLCollection(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLCollection>);
virtual ~JSHTMLCollection();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -49,7 +50,7 @@ public:
virtual JSC::CallType getCallData(JSC::CallData&);
virtual void getPropertyNames(JSC::ExecState*, JSC::PropertyNameArray&);
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
// Custom functions
JSC::JSValue item(JSC::ExecState*, const JSC::ArgList&);
@@ -64,7 +65,7 @@ private:
static JSC::JSValue nameGetter(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
};
-JSC::JSValue toJS(JSC::ExecState*, HTMLCollection*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, HTMLCollection*);
HTMLCollection* toHTMLCollection(JSC::JSValue);
class JSHTMLCollectionPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLDListElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLDListElement.cpp
index e65bb1f..3e7c701 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLDListElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLDListElement.cpp
@@ -39,7 +39,7 @@ static const HashTableValue JSHTMLDListElementTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLDListElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLDListElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 3, JSHTMLDListElementTableValues, 0 };
#else
@@ -53,19 +53,19 @@ static const HashTableValue JSHTMLDListElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLDListElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLDListElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLDListElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLDListElementConstructorTableValues, 0 };
#endif
-class JSHTMLDListElementConstructor : public DOMObject {
+class JSHTMLDListElementConstructor : public DOMConstructorObject {
public:
- JSHTMLDListElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLDListElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLDListElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLDListElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLDListElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLDListElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -91,7 +91,7 @@ static const HashTableValue JSHTMLDListElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLDListElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLDListElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLDListElementPrototypeTableValues, 0 };
#else
@@ -107,8 +107,8 @@ JSObject* JSHTMLDListElementPrototype::self(ExecState* exec, JSGlobalObject* glo
const ClassInfo JSHTMLDListElement::s_info = { "HTMLDListElement", &JSHTMLElement::s_info, &JSHTMLDListElementTable, 0 };
-JSHTMLDListElement::JSHTMLDListElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLDListElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLDListElement::JSHTMLDListElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLDListElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -124,14 +124,16 @@ bool JSHTMLDListElement::getOwnPropertySlot(ExecState* exec, const Identifier& p
JSValue jsHTMLDListElementCompact(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLDListElement* castedThis = static_cast<JSHTMLDListElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLDListElement* imp = static_cast<HTMLDListElement*>(static_cast<JSHTMLDListElement*>(asObject(slot.slotBase()))->impl());
+ HTMLDListElement* imp = static_cast<HTMLDListElement*>(castedThis->impl());
return jsBoolean(imp->compact());
}
JSValue jsHTMLDListElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLDListElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLDListElement* domObject = static_cast<JSHTMLDListElement*>(asObject(slot.slotBase()));
+ return JSHTMLDListElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLDListElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -144,9 +146,9 @@ void setJSHTMLDListElementCompact(ExecState* exec, JSObject* thisObject, JSValue
imp->setCompact(value.toBoolean(exec));
}
-JSValue JSHTMLDListElement::getConstructor(ExecState* exec)
+JSValue JSHTMLDListElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLDListElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLDListElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLDListElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLDListElement.h
index a1519eb..ea25315 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLDListElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLDListElement.h
@@ -30,7 +30,7 @@ class HTMLDListElement;
class JSHTMLDListElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLDListElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLDListElement>);
+ JSHTMLDListElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLDListElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -42,7 +42,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLDataGridCellElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLDataGridCellElement.cpp
index e0f8624..91b63d8 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLDataGridCellElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLDataGridCellElement.cpp
@@ -19,6 +19,9 @@
*/
#include "config.h"
+
+#if ENABLE(DATAGRID)
+
#include "JSHTMLDataGridCellElement.h"
#include "HTMLDataGridCellElement.h"
@@ -46,7 +49,7 @@ static const HashTableValue JSHTMLDataGridCellElementTableValues[7] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLDataGridCellElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLDataGridCellElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 63, JSHTMLDataGridCellElementTableValues, 0 };
#else
@@ -60,19 +63,19 @@ static const HashTableValue JSHTMLDataGridCellElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLDataGridCellElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLDataGridCellElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLDataGridCellElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLDataGridCellElementConstructorTableValues, 0 };
#endif
-class JSHTMLDataGridCellElementConstructor : public DOMObject {
+class JSHTMLDataGridCellElementConstructor : public DOMConstructorObject {
public:
- JSHTMLDataGridCellElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLDataGridCellElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLDataGridCellElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLDataGridCellElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLDataGridCellElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLDataGridCellElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -98,7 +101,7 @@ static const HashTableValue JSHTMLDataGridCellElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLDataGridCellElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLDataGridCellElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLDataGridCellElementPrototypeTableValues, 0 };
#else
@@ -114,8 +117,8 @@ JSObject* JSHTMLDataGridCellElementPrototype::self(ExecState* exec, JSGlobalObje
const ClassInfo JSHTMLDataGridCellElement::s_info = { "HTMLDataGridCellElement", &JSHTMLElement::s_info, &JSHTMLDataGridCellElementTable, 0 };
-JSHTMLDataGridCellElement::JSHTMLDataGridCellElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLDataGridCellElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLDataGridCellElement::JSHTMLDataGridCellElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLDataGridCellElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -131,42 +134,48 @@ bool JSHTMLDataGridCellElement::getOwnPropertySlot(ExecState* exec, const Identi
JSValue jsHTMLDataGridCellElementLabel(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLDataGridCellElement* castedThis = static_cast<JSHTMLDataGridCellElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLDataGridCellElement* imp = static_cast<HTMLDataGridCellElement*>(static_cast<JSHTMLDataGridCellElement*>(asObject(slot.slotBase()))->impl());
+ HTMLDataGridCellElement* imp = static_cast<HTMLDataGridCellElement*>(castedThis->impl());
return jsString(exec, imp->label());
}
JSValue jsHTMLDataGridCellElementFocused(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLDataGridCellElement* castedThis = static_cast<JSHTMLDataGridCellElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLDataGridCellElement* imp = static_cast<HTMLDataGridCellElement*>(static_cast<JSHTMLDataGridCellElement*>(asObject(slot.slotBase()))->impl());
+ HTMLDataGridCellElement* imp = static_cast<HTMLDataGridCellElement*>(castedThis->impl());
return jsBoolean(imp->focused());
}
JSValue jsHTMLDataGridCellElementChecked(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLDataGridCellElement* castedThis = static_cast<JSHTMLDataGridCellElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLDataGridCellElement* imp = static_cast<HTMLDataGridCellElement*>(static_cast<JSHTMLDataGridCellElement*>(asObject(slot.slotBase()))->impl());
+ HTMLDataGridCellElement* imp = static_cast<HTMLDataGridCellElement*>(castedThis->impl());
return jsBoolean(imp->checked());
}
JSValue jsHTMLDataGridCellElementIndeterminate(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLDataGridCellElement* castedThis = static_cast<JSHTMLDataGridCellElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLDataGridCellElement* imp = static_cast<HTMLDataGridCellElement*>(static_cast<JSHTMLDataGridCellElement*>(asObject(slot.slotBase()))->impl());
+ HTMLDataGridCellElement* imp = static_cast<HTMLDataGridCellElement*>(castedThis->impl());
return jsBoolean(imp->indeterminate());
}
JSValue jsHTMLDataGridCellElementProgress(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLDataGridCellElement* castedThis = static_cast<JSHTMLDataGridCellElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLDataGridCellElement* imp = static_cast<HTMLDataGridCellElement*>(static_cast<JSHTMLDataGridCellElement*>(asObject(slot.slotBase()))->impl());
+ HTMLDataGridCellElement* imp = static_cast<HTMLDataGridCellElement*>(castedThis->impl());
return jsNumber(exec, imp->progress());
}
JSValue jsHTMLDataGridCellElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLDataGridCellElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLDataGridCellElement* domObject = static_cast<JSHTMLDataGridCellElement*>(asObject(slot.slotBase()));
+ return JSHTMLDataGridCellElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLDataGridCellElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -203,10 +212,12 @@ void setJSHTMLDataGridCellElementProgress(ExecState* exec, JSObject* thisObject,
imp->setProgress(value.toFloat(exec));
}
-JSValue JSHTMLDataGridCellElement::getConstructor(ExecState* exec)
+JSValue JSHTMLDataGridCellElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLDataGridCellElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLDataGridCellElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
}
+
+#endif // ENABLE(DATAGRID)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLDataGridCellElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLDataGridCellElement.h
index a0b8815..05496ea 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLDataGridCellElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLDataGridCellElement.h
@@ -21,6 +21,8 @@
#ifndef JSHTMLDataGridCellElement_h
#define JSHTMLDataGridCellElement_h
+#if ENABLE(DATAGRID)
+
#include "JSHTMLElement.h"
namespace WebCore {
@@ -30,7 +32,7 @@ class HTMLDataGridCellElement;
class JSHTMLDataGridCellElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLDataGridCellElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLDataGridCellElement>);
+ JSHTMLDataGridCellElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLDataGridCellElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -42,7 +44,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
@@ -71,4 +73,6 @@ JSC::JSValue jsHTMLDataGridCellElementConstructor(JSC::ExecState*, const JSC::Id
} // namespace WebCore
+#endif // ENABLE(DATAGRID)
+
#endif
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLDataGridColElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLDataGridColElement.cpp
index a608a1f..7ecccbc 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLDataGridColElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLDataGridColElement.cpp
@@ -19,6 +19,9 @@
*/
#include "config.h"
+
+#if ENABLE(DATAGRID)
+
#include "JSHTMLDataGridColElement.h"
#include "HTMLDataGridColElement.h"
@@ -46,7 +49,7 @@ static const HashTableValue JSHTMLDataGridColElementTableValues[7] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLDataGridColElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLDataGridColElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 63, JSHTMLDataGridColElementTableValues, 0 };
#else
@@ -60,19 +63,19 @@ static const HashTableValue JSHTMLDataGridColElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLDataGridColElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLDataGridColElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLDataGridColElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLDataGridColElementConstructorTableValues, 0 };
#endif
-class JSHTMLDataGridColElementConstructor : public DOMObject {
+class JSHTMLDataGridColElementConstructor : public DOMConstructorObject {
public:
- JSHTMLDataGridColElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLDataGridColElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLDataGridColElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLDataGridColElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLDataGridColElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLDataGridColElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -98,7 +101,7 @@ static const HashTableValue JSHTMLDataGridColElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLDataGridColElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLDataGridColElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLDataGridColElementPrototypeTableValues, 0 };
#else
@@ -114,8 +117,8 @@ JSObject* JSHTMLDataGridColElementPrototype::self(ExecState* exec, JSGlobalObjec
const ClassInfo JSHTMLDataGridColElement::s_info = { "HTMLDataGridColElement", &JSHTMLElement::s_info, &JSHTMLDataGridColElementTable, 0 };
-JSHTMLDataGridColElement::JSHTMLDataGridColElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLDataGridColElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLDataGridColElement::JSHTMLDataGridColElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLDataGridColElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -131,42 +134,48 @@ bool JSHTMLDataGridColElement::getOwnPropertySlot(ExecState* exec, const Identif
JSValue jsHTMLDataGridColElementLabel(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLDataGridColElement* castedThis = static_cast<JSHTMLDataGridColElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLDataGridColElement* imp = static_cast<HTMLDataGridColElement*>(static_cast<JSHTMLDataGridColElement*>(asObject(slot.slotBase()))->impl());
+ HTMLDataGridColElement* imp = static_cast<HTMLDataGridColElement*>(castedThis->impl());
return jsString(exec, imp->label());
}
JSValue jsHTMLDataGridColElementType(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLDataGridColElement* castedThis = static_cast<JSHTMLDataGridColElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLDataGridColElement* imp = static_cast<HTMLDataGridColElement*>(static_cast<JSHTMLDataGridColElement*>(asObject(slot.slotBase()))->impl());
+ HTMLDataGridColElement* imp = static_cast<HTMLDataGridColElement*>(castedThis->impl());
return jsString(exec, imp->type());
}
JSValue jsHTMLDataGridColElementSortable(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLDataGridColElement* castedThis = static_cast<JSHTMLDataGridColElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLDataGridColElement* imp = static_cast<HTMLDataGridColElement*>(static_cast<JSHTMLDataGridColElement*>(asObject(slot.slotBase()))->impl());
+ HTMLDataGridColElement* imp = static_cast<HTMLDataGridColElement*>(castedThis->impl());
return jsNumber(exec, imp->sortable());
}
JSValue jsHTMLDataGridColElementSortDirection(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLDataGridColElement* castedThis = static_cast<JSHTMLDataGridColElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLDataGridColElement* imp = static_cast<HTMLDataGridColElement*>(static_cast<JSHTMLDataGridColElement*>(asObject(slot.slotBase()))->impl());
+ HTMLDataGridColElement* imp = static_cast<HTMLDataGridColElement*>(castedThis->impl());
return jsNumber(exec, imp->sortDirection());
}
JSValue jsHTMLDataGridColElementPrimary(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLDataGridColElement* castedThis = static_cast<JSHTMLDataGridColElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLDataGridColElement* imp = static_cast<HTMLDataGridColElement*>(static_cast<JSHTMLDataGridColElement*>(asObject(slot.slotBase()))->impl());
+ HTMLDataGridColElement* imp = static_cast<HTMLDataGridColElement*>(castedThis->impl());
return jsBoolean(imp->primary());
}
JSValue jsHTMLDataGridColElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLDataGridColElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLDataGridColElement* domObject = static_cast<JSHTMLDataGridColElement*>(asObject(slot.slotBase()));
+ return JSHTMLDataGridColElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLDataGridColElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -203,10 +212,12 @@ void setJSHTMLDataGridColElementPrimary(ExecState* exec, JSObject* thisObject, J
imp->setPrimary(value.toBoolean(exec));
}
-JSValue JSHTMLDataGridColElement::getConstructor(ExecState* exec)
+JSValue JSHTMLDataGridColElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLDataGridColElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLDataGridColElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
}
+
+#endif // ENABLE(DATAGRID)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLDataGridColElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLDataGridColElement.h
index 24efd48..bb21910 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLDataGridColElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLDataGridColElement.h
@@ -21,6 +21,8 @@
#ifndef JSHTMLDataGridColElement_h
#define JSHTMLDataGridColElement_h
+#if ENABLE(DATAGRID)
+
#include "JSHTMLElement.h"
namespace WebCore {
@@ -30,7 +32,7 @@ class HTMLDataGridColElement;
class JSHTMLDataGridColElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLDataGridColElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLDataGridColElement>);
+ JSHTMLDataGridColElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLDataGridColElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -42,7 +44,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
@@ -71,4 +73,6 @@ JSC::JSValue jsHTMLDataGridColElementConstructor(JSC::ExecState*, const JSC::Ide
} // namespace WebCore
+#endif // ENABLE(DATAGRID)
+
#endif
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLDataGridElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLDataGridElement.cpp
index ea4237c..8da3253 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLDataGridElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLDataGridElement.cpp
@@ -19,6 +19,9 @@
*/
#include "config.h"
+
+#if ENABLE(DATAGRID)
+
#include "JSHTMLDataGridElement.h"
#include "DataGridColumnList.h"
@@ -45,7 +48,7 @@ static const HashTableValue JSHTMLDataGridElementTableValues[7] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLDataGridElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLDataGridElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 63, JSHTMLDataGridElementTableValues, 0 };
#else
@@ -59,19 +62,19 @@ static const HashTableValue JSHTMLDataGridElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLDataGridElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLDataGridElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLDataGridElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLDataGridElementConstructorTableValues, 0 };
#endif
-class JSHTMLDataGridElementConstructor : public DOMObject {
+class JSHTMLDataGridElementConstructor : public DOMConstructorObject {
public:
- JSHTMLDataGridElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLDataGridElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLDataGridElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLDataGridElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLDataGridElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLDataGridElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -97,7 +100,7 @@ static const HashTableValue JSHTMLDataGridElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLDataGridElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLDataGridElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLDataGridElementPrototypeTableValues, 0 };
#else
@@ -113,8 +116,8 @@ JSObject* JSHTMLDataGridElementPrototype::self(ExecState* exec, JSGlobalObject*
const ClassInfo JSHTMLDataGridElement::s_info = { "HTMLDataGridElement", &JSHTMLElement::s_info, &JSHTMLDataGridElementTable, 0 };
-JSHTMLDataGridElement::JSHTMLDataGridElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLDataGridElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLDataGridElement::JSHTMLDataGridElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLDataGridElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -130,40 +133,46 @@ bool JSHTMLDataGridElement::getOwnPropertySlot(ExecState* exec, const Identifier
JSValue jsHTMLDataGridElementDataSource(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLDataGridElement*>(asObject(slot.slotBase()))->dataSource(exec);
+ JSHTMLDataGridElement* castedThis = static_cast<JSHTMLDataGridElement*>(asObject(slot.slotBase()));
+ return castedThis->dataSource(exec);
}
JSValue jsHTMLDataGridElementColumns(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLDataGridElement* castedThis = static_cast<JSHTMLDataGridElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLDataGridElement* imp = static_cast<HTMLDataGridElement*>(static_cast<JSHTMLDataGridElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->columns()));
+ HTMLDataGridElement* imp = static_cast<HTMLDataGridElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->columns()));
}
JSValue jsHTMLDataGridElementAutofocus(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLDataGridElement* castedThis = static_cast<JSHTMLDataGridElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLDataGridElement* imp = static_cast<HTMLDataGridElement*>(static_cast<JSHTMLDataGridElement*>(asObject(slot.slotBase()))->impl());
+ HTMLDataGridElement* imp = static_cast<HTMLDataGridElement*>(castedThis->impl());
return jsBoolean(imp->autofocus());
}
JSValue jsHTMLDataGridElementDisabled(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLDataGridElement* castedThis = static_cast<JSHTMLDataGridElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLDataGridElement* imp = static_cast<HTMLDataGridElement*>(static_cast<JSHTMLDataGridElement*>(asObject(slot.slotBase()))->impl());
+ HTMLDataGridElement* imp = static_cast<HTMLDataGridElement*>(castedThis->impl());
return jsBoolean(imp->disabled());
}
JSValue jsHTMLDataGridElementMultiple(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLDataGridElement* castedThis = static_cast<JSHTMLDataGridElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLDataGridElement* imp = static_cast<HTMLDataGridElement*>(static_cast<JSHTMLDataGridElement*>(asObject(slot.slotBase()))->impl());
+ HTMLDataGridElement* imp = static_cast<HTMLDataGridElement*>(castedThis->impl());
return jsBoolean(imp->multiple());
}
JSValue jsHTMLDataGridElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLDataGridElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLDataGridElement* domObject = static_cast<JSHTMLDataGridElement*>(asObject(slot.slotBase()));
+ return JSHTMLDataGridElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLDataGridElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -193,10 +202,12 @@ void setJSHTMLDataGridElementMultiple(ExecState* exec, JSObject* thisObject, JSV
imp->setMultiple(value.toBoolean(exec));
}
-JSValue JSHTMLDataGridElement::getConstructor(ExecState* exec)
+JSValue JSHTMLDataGridElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLDataGridElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLDataGridElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
}
+
+#endif // ENABLE(DATAGRID)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLDataGridElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLDataGridElement.h
index ee6c8d8..bec8e23 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLDataGridElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLDataGridElement.h
@@ -21,6 +21,8 @@
#ifndef JSHTMLDataGridElement_h
#define JSHTMLDataGridElement_h
+#if ENABLE(DATAGRID)
+
#include "JSHTMLElement.h"
namespace WebCore {
@@ -30,7 +32,7 @@ class HTMLDataGridElement;
class JSHTMLDataGridElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLDataGridElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLDataGridElement>);
+ JSHTMLDataGridElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLDataGridElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -42,7 +44,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
// Custom attributes
JSC::JSValue dataSource(JSC::ExecState*) const;
@@ -74,4 +76,6 @@ JSC::JSValue jsHTMLDataGridElementConstructor(JSC::ExecState*, const JSC::Identi
} // namespace WebCore
+#endif // ENABLE(DATAGRID)
+
#endif
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLDataGridRowElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLDataGridRowElement.cpp
index 938ff16..af98411 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLDataGridRowElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLDataGridRowElement.cpp
@@ -19,6 +19,9 @@
*/
#include "config.h"
+
+#if ENABLE(DATAGRID)
+
#include "JSHTMLDataGridRowElement.h"
#include "HTMLDataGridRowElement.h"
@@ -41,7 +44,7 @@ static const HashTableValue JSHTMLDataGridRowElementTableValues[5] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLDataGridRowElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLDataGridRowElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 127, JSHTMLDataGridRowElementTableValues, 0 };
#else
@@ -55,19 +58,19 @@ static const HashTableValue JSHTMLDataGridRowElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLDataGridRowElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLDataGridRowElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLDataGridRowElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLDataGridRowElementConstructorTableValues, 0 };
#endif
-class JSHTMLDataGridRowElementConstructor : public DOMObject {
+class JSHTMLDataGridRowElementConstructor : public DOMConstructorObject {
public:
- JSHTMLDataGridRowElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLDataGridRowElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLDataGridRowElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLDataGridRowElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLDataGridRowElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLDataGridRowElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -93,7 +96,7 @@ static const HashTableValue JSHTMLDataGridRowElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLDataGridRowElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLDataGridRowElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLDataGridRowElementPrototypeTableValues, 0 };
#else
@@ -109,8 +112,8 @@ JSObject* JSHTMLDataGridRowElementPrototype::self(ExecState* exec, JSGlobalObjec
const ClassInfo JSHTMLDataGridRowElement::s_info = { "HTMLDataGridRowElement", &JSHTMLElement::s_info, &JSHTMLDataGridRowElementTable, 0 };
-JSHTMLDataGridRowElement::JSHTMLDataGridRowElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLDataGridRowElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLDataGridRowElement::JSHTMLDataGridRowElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLDataGridRowElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -126,28 +129,32 @@ bool JSHTMLDataGridRowElement::getOwnPropertySlot(ExecState* exec, const Identif
JSValue jsHTMLDataGridRowElementSelected(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLDataGridRowElement* castedThis = static_cast<JSHTMLDataGridRowElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLDataGridRowElement* imp = static_cast<HTMLDataGridRowElement*>(static_cast<JSHTMLDataGridRowElement*>(asObject(slot.slotBase()))->impl());
+ HTMLDataGridRowElement* imp = static_cast<HTMLDataGridRowElement*>(castedThis->impl());
return jsBoolean(imp->selected());
}
JSValue jsHTMLDataGridRowElementFocused(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLDataGridRowElement* castedThis = static_cast<JSHTMLDataGridRowElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLDataGridRowElement* imp = static_cast<HTMLDataGridRowElement*>(static_cast<JSHTMLDataGridRowElement*>(asObject(slot.slotBase()))->impl());
+ HTMLDataGridRowElement* imp = static_cast<HTMLDataGridRowElement*>(castedThis->impl());
return jsBoolean(imp->focused());
}
JSValue jsHTMLDataGridRowElementExpanded(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLDataGridRowElement* castedThis = static_cast<JSHTMLDataGridRowElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLDataGridRowElement* imp = static_cast<HTMLDataGridRowElement*>(static_cast<JSHTMLDataGridRowElement*>(asObject(slot.slotBase()))->impl());
+ HTMLDataGridRowElement* imp = static_cast<HTMLDataGridRowElement*>(castedThis->impl());
return jsBoolean(imp->expanded());
}
JSValue jsHTMLDataGridRowElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLDataGridRowElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLDataGridRowElement* domObject = static_cast<JSHTMLDataGridRowElement*>(asObject(slot.slotBase()));
+ return JSHTMLDataGridRowElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLDataGridRowElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -172,10 +179,12 @@ void setJSHTMLDataGridRowElementExpanded(ExecState* exec, JSObject* thisObject,
imp->setExpanded(value.toBoolean(exec));
}
-JSValue JSHTMLDataGridRowElement::getConstructor(ExecState* exec)
+JSValue JSHTMLDataGridRowElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLDataGridRowElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLDataGridRowElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
}
+
+#endif // ENABLE(DATAGRID)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLDataGridRowElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLDataGridRowElement.h
index 562b5f7..c7f77dd 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLDataGridRowElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLDataGridRowElement.h
@@ -21,6 +21,8 @@
#ifndef JSHTMLDataGridRowElement_h
#define JSHTMLDataGridRowElement_h
+#if ENABLE(DATAGRID)
+
#include "JSHTMLElement.h"
namespace WebCore {
@@ -30,7 +32,7 @@ class HTMLDataGridRowElement;
class JSHTMLDataGridRowElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLDataGridRowElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLDataGridRowElement>);
+ JSHTMLDataGridRowElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLDataGridRowElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -42,7 +44,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
@@ -67,4 +69,6 @@ JSC::JSValue jsHTMLDataGridRowElementConstructor(JSC::ExecState*, const JSC::Ide
} // namespace WebCore
+#endif // ENABLE(DATAGRID)
+
#endif
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLDirectoryElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLDirectoryElement.cpp
index 711057b..a6d86c0 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLDirectoryElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLDirectoryElement.cpp
@@ -39,7 +39,7 @@ static const HashTableValue JSHTMLDirectoryElementTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLDirectoryElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLDirectoryElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 3, JSHTMLDirectoryElementTableValues, 0 };
#else
@@ -53,19 +53,19 @@ static const HashTableValue JSHTMLDirectoryElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLDirectoryElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLDirectoryElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLDirectoryElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLDirectoryElementConstructorTableValues, 0 };
#endif
-class JSHTMLDirectoryElementConstructor : public DOMObject {
+class JSHTMLDirectoryElementConstructor : public DOMConstructorObject {
public:
- JSHTMLDirectoryElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLDirectoryElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLDirectoryElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLDirectoryElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLDirectoryElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLDirectoryElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -91,7 +91,7 @@ static const HashTableValue JSHTMLDirectoryElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLDirectoryElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLDirectoryElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLDirectoryElementPrototypeTableValues, 0 };
#else
@@ -107,8 +107,8 @@ JSObject* JSHTMLDirectoryElementPrototype::self(ExecState* exec, JSGlobalObject*
const ClassInfo JSHTMLDirectoryElement::s_info = { "HTMLDirectoryElement", &JSHTMLElement::s_info, &JSHTMLDirectoryElementTable, 0 };
-JSHTMLDirectoryElement::JSHTMLDirectoryElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLDirectoryElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLDirectoryElement::JSHTMLDirectoryElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLDirectoryElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -124,14 +124,16 @@ bool JSHTMLDirectoryElement::getOwnPropertySlot(ExecState* exec, const Identifie
JSValue jsHTMLDirectoryElementCompact(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLDirectoryElement* castedThis = static_cast<JSHTMLDirectoryElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLDirectoryElement* imp = static_cast<HTMLDirectoryElement*>(static_cast<JSHTMLDirectoryElement*>(asObject(slot.slotBase()))->impl());
+ HTMLDirectoryElement* imp = static_cast<HTMLDirectoryElement*>(castedThis->impl());
return jsBoolean(imp->compact());
}
JSValue jsHTMLDirectoryElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLDirectoryElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLDirectoryElement* domObject = static_cast<JSHTMLDirectoryElement*>(asObject(slot.slotBase()));
+ return JSHTMLDirectoryElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLDirectoryElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -144,9 +146,9 @@ void setJSHTMLDirectoryElementCompact(ExecState* exec, JSObject* thisObject, JSV
imp->setCompact(value.toBoolean(exec));
}
-JSValue JSHTMLDirectoryElement::getConstructor(ExecState* exec)
+JSValue JSHTMLDirectoryElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLDirectoryElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLDirectoryElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLDirectoryElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLDirectoryElement.h
index 09242bf..675587c 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLDirectoryElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLDirectoryElement.h
@@ -30,7 +30,7 @@ class HTMLDirectoryElement;
class JSHTMLDirectoryElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLDirectoryElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLDirectoryElement>);
+ JSHTMLDirectoryElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLDirectoryElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -42,7 +42,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLDivElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLDivElement.cpp
index 43da933..15153e1 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLDivElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLDivElement.cpp
@@ -41,7 +41,7 @@ static const HashTableValue JSHTMLDivElementTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLDivElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLDivElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 7, JSHTMLDivElementTableValues, 0 };
#else
@@ -55,19 +55,19 @@ static const HashTableValue JSHTMLDivElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLDivElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLDivElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLDivElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLDivElementConstructorTableValues, 0 };
#endif
-class JSHTMLDivElementConstructor : public DOMObject {
+class JSHTMLDivElementConstructor : public DOMConstructorObject {
public:
- JSHTMLDivElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLDivElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLDivElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLDivElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLDivElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLDivElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -93,7 +93,7 @@ static const HashTableValue JSHTMLDivElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLDivElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLDivElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLDivElementPrototypeTableValues, 0 };
#else
@@ -109,8 +109,8 @@ JSObject* JSHTMLDivElementPrototype::self(ExecState* exec, JSGlobalObject* globa
const ClassInfo JSHTMLDivElement::s_info = { "HTMLDivElement", &JSHTMLElement::s_info, &JSHTMLDivElementTable, 0 };
-JSHTMLDivElement::JSHTMLDivElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLDivElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLDivElement::JSHTMLDivElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLDivElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -126,14 +126,16 @@ bool JSHTMLDivElement::getOwnPropertySlot(ExecState* exec, const Identifier& pro
JSValue jsHTMLDivElementAlign(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLDivElement* castedThis = static_cast<JSHTMLDivElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLDivElement* imp = static_cast<HTMLDivElement*>(static_cast<JSHTMLDivElement*>(asObject(slot.slotBase()))->impl());
+ HTMLDivElement* imp = static_cast<HTMLDivElement*>(castedThis->impl());
return jsString(exec, imp->align());
}
JSValue jsHTMLDivElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLDivElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLDivElement* domObject = static_cast<JSHTMLDivElement*>(asObject(slot.slotBase()));
+ return JSHTMLDivElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLDivElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -146,9 +148,9 @@ void setJSHTMLDivElementAlign(ExecState* exec, JSObject* thisObject, JSValue val
imp->setAlign(valueToStringWithNullCheck(exec, value));
}
-JSValue JSHTMLDivElement::getConstructor(ExecState* exec)
+JSValue JSHTMLDivElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLDivElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLDivElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLDivElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLDivElement.h
index 1f3545b..eeaa89b 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLDivElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLDivElement.h
@@ -30,7 +30,7 @@ class HTMLDivElement;
class JSHTMLDivElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLDivElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLDivElement>);
+ JSHTMLDivElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLDivElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -42,7 +42,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLDocument.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLDocument.cpp
index 1182aee..f7c3859 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLDocument.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLDocument.cpp
@@ -62,7 +62,7 @@ static const HashTableValue JSHTMLDocumentTableValues[17] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLDocumentTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLDocumentTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 255, JSHTMLDocumentTableValues, 0 };
#else
@@ -76,19 +76,19 @@ static const HashTableValue JSHTMLDocumentConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLDocumentConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLDocumentConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLDocumentConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLDocumentConstructorTableValues, 0 };
#endif
-class JSHTMLDocumentConstructor : public DOMObject {
+class JSHTMLDocumentConstructor : public DOMConstructorObject {
public:
- JSHTMLDocumentConstructor(ExecState* exec)
- : DOMObject(JSHTMLDocumentConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLDocumentConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLDocumentConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLDocumentPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLDocumentPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -122,7 +122,7 @@ static const HashTableValue JSHTMLDocumentPrototypeTableValues[9] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLDocumentPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLDocumentPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 31, JSHTMLDocumentPrototypeTableValues, 0 };
#else
@@ -143,8 +143,8 @@ bool JSHTMLDocumentPrototype::getOwnPropertySlot(ExecState* exec, const Identifi
const ClassInfo JSHTMLDocument::s_info = { "HTMLDocument", &JSDocument::s_info, &JSHTMLDocumentTable, 0 };
-JSHTMLDocument::JSHTMLDocument(PassRefPtr<Structure> structure, PassRefPtr<HTMLDocument> impl)
- : JSDocument(structure, impl)
+JSHTMLDocument::JSHTMLDocument(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLDocument> impl)
+ : JSDocument(structure, globalObject, impl)
{
}
@@ -164,110 +164,126 @@ bool JSHTMLDocument::getOwnPropertySlot(ExecState* exec, const Identifier& prope
JSValue jsHTMLDocumentEmbeds(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLDocument* castedThis = static_cast<JSHTMLDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLDocument* imp = static_cast<HTMLDocument*>(static_cast<JSHTMLDocument*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->embeds()));
+ HTMLDocument* imp = static_cast<HTMLDocument*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->embeds()));
}
JSValue jsHTMLDocumentPlugins(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLDocument* castedThis = static_cast<JSHTMLDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLDocument* imp = static_cast<HTMLDocument*>(static_cast<JSHTMLDocument*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->plugins()));
+ HTMLDocument* imp = static_cast<HTMLDocument*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->plugins()));
}
JSValue jsHTMLDocumentScripts(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLDocument* castedThis = static_cast<JSHTMLDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLDocument* imp = static_cast<HTMLDocument*>(static_cast<JSHTMLDocument*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->scripts()));
+ HTMLDocument* imp = static_cast<HTMLDocument*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->scripts()));
}
JSValue jsHTMLDocumentAll(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLDocument*>(asObject(slot.slotBase()))->all(exec);
+ JSHTMLDocument* castedThis = static_cast<JSHTMLDocument*>(asObject(slot.slotBase()));
+ return castedThis->all(exec);
}
JSValue jsHTMLDocumentWidth(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLDocument* castedThis = static_cast<JSHTMLDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLDocument* imp = static_cast<HTMLDocument*>(static_cast<JSHTMLDocument*>(asObject(slot.slotBase()))->impl());
+ HTMLDocument* imp = static_cast<HTMLDocument*>(castedThis->impl());
return jsNumber(exec, imp->width());
}
JSValue jsHTMLDocumentHeight(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLDocument* castedThis = static_cast<JSHTMLDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLDocument* imp = static_cast<HTMLDocument*>(static_cast<JSHTMLDocument*>(asObject(slot.slotBase()))->impl());
+ HTMLDocument* imp = static_cast<HTMLDocument*>(castedThis->impl());
return jsNumber(exec, imp->height());
}
JSValue jsHTMLDocumentDir(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLDocument* castedThis = static_cast<JSHTMLDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLDocument* imp = static_cast<HTMLDocument*>(static_cast<JSHTMLDocument*>(asObject(slot.slotBase()))->impl());
+ HTMLDocument* imp = static_cast<HTMLDocument*>(castedThis->impl());
return jsString(exec, imp->dir());
}
JSValue jsHTMLDocumentDesignMode(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLDocument* castedThis = static_cast<JSHTMLDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLDocument* imp = static_cast<HTMLDocument*>(static_cast<JSHTMLDocument*>(asObject(slot.slotBase()))->impl());
+ HTMLDocument* imp = static_cast<HTMLDocument*>(castedThis->impl());
return jsString(exec, imp->designMode());
}
JSValue jsHTMLDocumentCompatMode(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLDocument* castedThis = static_cast<JSHTMLDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLDocument* imp = static_cast<HTMLDocument*>(static_cast<JSHTMLDocument*>(asObject(slot.slotBase()))->impl());
+ HTMLDocument* imp = static_cast<HTMLDocument*>(castedThis->impl());
return jsString(exec, imp->compatMode());
}
JSValue jsHTMLDocumentActiveElement(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLDocument* castedThis = static_cast<JSHTMLDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLDocument* imp = static_cast<HTMLDocument*>(static_cast<JSHTMLDocument*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->activeElement()));
+ HTMLDocument* imp = static_cast<HTMLDocument*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->activeElement()));
}
JSValue jsHTMLDocumentBgColor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLDocument* castedThis = static_cast<JSHTMLDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLDocument* imp = static_cast<HTMLDocument*>(static_cast<JSHTMLDocument*>(asObject(slot.slotBase()))->impl());
+ HTMLDocument* imp = static_cast<HTMLDocument*>(castedThis->impl());
return jsString(exec, imp->bgColor());
}
JSValue jsHTMLDocumentFgColor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLDocument* castedThis = static_cast<JSHTMLDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLDocument* imp = static_cast<HTMLDocument*>(static_cast<JSHTMLDocument*>(asObject(slot.slotBase()))->impl());
+ HTMLDocument* imp = static_cast<HTMLDocument*>(castedThis->impl());
return jsString(exec, imp->fgColor());
}
JSValue jsHTMLDocumentAlinkColor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLDocument* castedThis = static_cast<JSHTMLDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLDocument* imp = static_cast<HTMLDocument*>(static_cast<JSHTMLDocument*>(asObject(slot.slotBase()))->impl());
+ HTMLDocument* imp = static_cast<HTMLDocument*>(castedThis->impl());
return jsString(exec, imp->alinkColor());
}
JSValue jsHTMLDocumentLinkColor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLDocument* castedThis = static_cast<JSHTMLDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLDocument* imp = static_cast<HTMLDocument*>(static_cast<JSHTMLDocument*>(asObject(slot.slotBase()))->impl());
+ HTMLDocument* imp = static_cast<HTMLDocument*>(castedThis->impl());
return jsString(exec, imp->linkColor());
}
JSValue jsHTMLDocumentVlinkColor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLDocument* castedThis = static_cast<JSHTMLDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLDocument* imp = static_cast<HTMLDocument*>(static_cast<JSHTMLDocument*>(asObject(slot.slotBase()))->impl());
+ HTMLDocument* imp = static_cast<HTMLDocument*>(castedThis->impl());
return jsString(exec, imp->vlinkColor());
}
JSValue jsHTMLDocumentConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLDocument*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLDocument* domObject = static_cast<JSHTMLDocument*>(asObject(slot.slotBase()));
+ return JSHTMLDocument::getConstructor(exec, domObject->globalObject());
}
void JSHTMLDocument::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -321,9 +337,9 @@ void setJSHTMLDocumentVlinkColor(ExecState* exec, JSObject* thisObject, JSValue
imp->setVlinkColor(valueToStringWithNullCheck(exec, value));
}
-JSValue JSHTMLDocument::getConstructor(ExecState* exec)
+JSValue JSHTMLDocument::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLDocumentConstructor>(exec);
+ return getDOMConstructor<JSHTMLDocumentConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsHTMLDocumentPrototypeFunctionOpen(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLDocument.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLDocument.h
index 3827df2..110c7e4 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLDocument.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLDocument.h
@@ -30,7 +30,7 @@ class HTMLDocument;
class JSHTMLDocument : public JSDocument {
typedef JSDocument Base;
public:
- JSHTMLDocument(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLDocument>);
+ JSHTMLDocument(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLDocument>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -42,7 +42,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
// Custom attributes
JSC::JSValue all(JSC::ExecState*) const;
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLElement.cpp
index ce77377..7fe918a 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLElement.cpp
@@ -41,7 +41,7 @@ ASSERT_CLASS_FITS_IN_CELL(JSHTMLElement);
/* Hash table */
-static const HashTableValue JSHTMLElementTableValues[15] =
+static const HashTableValue JSHTMLElementTableValues[16] =
{
{ "id", DontDelete, (intptr_t)jsHTMLElementId, (intptr_t)setJSHTMLElementId },
{ "title", DontDelete, (intptr_t)jsHTMLElementTitle, (intptr_t)setJSHTMLElementTitle },
@@ -49,6 +49,7 @@ static const HashTableValue JSHTMLElementTableValues[15] =
{ "dir", DontDelete, (intptr_t)jsHTMLElementDir, (intptr_t)setJSHTMLElementDir },
{ "className", DontDelete, (intptr_t)jsHTMLElementClassName, (intptr_t)setJSHTMLElementClassName },
{ "tabIndex", DontDelete, (intptr_t)jsHTMLElementTabIndex, (intptr_t)setJSHTMLElementTabIndex },
+ { "draggable", DontDelete, (intptr_t)jsHTMLElementDraggable, (intptr_t)setJSHTMLElementDraggable },
{ "innerHTML", DontDelete, (intptr_t)jsHTMLElementInnerHTML, (intptr_t)setJSHTMLElementInnerHTML },
{ "innerText", DontDelete, (intptr_t)jsHTMLElementInnerText, (intptr_t)setJSHTMLElementInnerText },
{ "outerHTML", DontDelete, (intptr_t)jsHTMLElementOuterHTML, (intptr_t)setJSHTMLElementOuterHTML },
@@ -60,7 +61,7 @@ static const HashTableValue JSHTMLElementTableValues[15] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 511, JSHTMLElementTableValues, 0 };
#else
@@ -74,19 +75,19 @@ static const HashTableValue JSHTMLElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLElementConstructorTableValues, 0 };
#endif
-class JSHTMLElementConstructor : public DOMObject {
+class JSHTMLElementConstructor : public DOMConstructorObject {
public:
- JSHTMLElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -115,7 +116,7 @@ static const HashTableValue JSHTMLElementPrototypeTableValues[4] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 3, JSHTMLElementPrototypeTableValues, 0 };
#else
@@ -136,8 +137,8 @@ bool JSHTMLElementPrototype::getOwnPropertySlot(ExecState* exec, const Identifie
const ClassInfo JSHTMLElement::s_info = { "HTMLElement", &JSElement::s_info, &JSHTMLElementTable, 0 };
-JSHTMLElement::JSHTMLElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLElement> impl)
- : JSElement(structure, impl)
+JSHTMLElement::JSHTMLElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> impl)
+ : JSElement(structure, globalObject, impl)
{
}
@@ -153,98 +154,120 @@ bool JSHTMLElement::getOwnPropertySlot(ExecState* exec, const Identifier& proper
JSValue jsHTMLElementId(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLElement* castedThis = static_cast<JSHTMLElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLElement* imp = static_cast<HTMLElement*>(static_cast<JSHTMLElement*>(asObject(slot.slotBase()))->impl());
+ HTMLElement* imp = static_cast<HTMLElement*>(castedThis->impl());
return jsString(exec, imp->getAttribute(HTMLNames::idAttr));
}
JSValue jsHTMLElementTitle(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLElement* castedThis = static_cast<JSHTMLElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLElement* imp = static_cast<HTMLElement*>(static_cast<JSHTMLElement*>(asObject(slot.slotBase()))->impl());
+ HTMLElement* imp = static_cast<HTMLElement*>(castedThis->impl());
return jsString(exec, imp->getAttribute(HTMLNames::titleAttr));
}
JSValue jsHTMLElementLang(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLElement* castedThis = static_cast<JSHTMLElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLElement* imp = static_cast<HTMLElement*>(static_cast<JSHTMLElement*>(asObject(slot.slotBase()))->impl());
+ HTMLElement* imp = static_cast<HTMLElement*>(castedThis->impl());
return jsString(exec, imp->getAttribute(HTMLNames::langAttr));
}
JSValue jsHTMLElementDir(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLElement* castedThis = static_cast<JSHTMLElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLElement* imp = static_cast<HTMLElement*>(static_cast<JSHTMLElement*>(asObject(slot.slotBase()))->impl());
+ HTMLElement* imp = static_cast<HTMLElement*>(castedThis->impl());
return jsString(exec, imp->getAttribute(HTMLNames::dirAttr));
}
JSValue jsHTMLElementClassName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLElement* castedThis = static_cast<JSHTMLElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLElement* imp = static_cast<HTMLElement*>(static_cast<JSHTMLElement*>(asObject(slot.slotBase()))->impl());
+ HTMLElement* imp = static_cast<HTMLElement*>(castedThis->impl());
return jsString(exec, imp->getAttribute(HTMLNames::classAttr));
}
JSValue jsHTMLElementTabIndex(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLElement* castedThis = static_cast<JSHTMLElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLElement* imp = static_cast<HTMLElement*>(static_cast<JSHTMLElement*>(asObject(slot.slotBase()))->impl());
+ HTMLElement* imp = static_cast<HTMLElement*>(castedThis->impl());
return jsNumber(exec, imp->tabIndex());
}
+JSValue jsHTMLElementDraggable(ExecState* exec, const Identifier&, const PropertySlot& slot)
+{
+ JSHTMLElement* castedThis = static_cast<JSHTMLElement*>(asObject(slot.slotBase()));
+ UNUSED_PARAM(exec);
+ HTMLElement* imp = static_cast<HTMLElement*>(castedThis->impl());
+ return jsBoolean(imp->draggable());
+}
+
JSValue jsHTMLElementInnerHTML(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLElement* castedThis = static_cast<JSHTMLElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLElement* imp = static_cast<HTMLElement*>(static_cast<JSHTMLElement*>(asObject(slot.slotBase()))->impl());
+ HTMLElement* imp = static_cast<HTMLElement*>(castedThis->impl());
return jsString(exec, imp->innerHTML());
}
JSValue jsHTMLElementInnerText(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLElement* castedThis = static_cast<JSHTMLElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLElement* imp = static_cast<HTMLElement*>(static_cast<JSHTMLElement*>(asObject(slot.slotBase()))->impl());
+ HTMLElement* imp = static_cast<HTMLElement*>(castedThis->impl());
return jsString(exec, imp->innerText());
}
JSValue jsHTMLElementOuterHTML(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLElement* castedThis = static_cast<JSHTMLElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLElement* imp = static_cast<HTMLElement*>(static_cast<JSHTMLElement*>(asObject(slot.slotBase()))->impl());
+ HTMLElement* imp = static_cast<HTMLElement*>(castedThis->impl());
return jsString(exec, imp->outerHTML());
}
JSValue jsHTMLElementOuterText(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLElement* castedThis = static_cast<JSHTMLElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLElement* imp = static_cast<HTMLElement*>(static_cast<JSHTMLElement*>(asObject(slot.slotBase()))->impl());
+ HTMLElement* imp = static_cast<HTMLElement*>(castedThis->impl());
return jsString(exec, imp->outerText());
}
JSValue jsHTMLElementChildren(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLElement* castedThis = static_cast<JSHTMLElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLElement* imp = static_cast<HTMLElement*>(static_cast<JSHTMLElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->children()));
+ HTMLElement* imp = static_cast<HTMLElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->children()));
}
JSValue jsHTMLElementContentEditable(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLElement* castedThis = static_cast<JSHTMLElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLElement* imp = static_cast<HTMLElement*>(static_cast<JSHTMLElement*>(asObject(slot.slotBase()))->impl());
+ HTMLElement* imp = static_cast<HTMLElement*>(castedThis->impl());
return jsString(exec, imp->contentEditable());
}
JSValue jsHTMLElementIsContentEditable(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLElement* castedThis = static_cast<JSHTMLElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLElement* imp = static_cast<HTMLElement*>(static_cast<JSHTMLElement*>(asObject(slot.slotBase()))->impl());
+ HTMLElement* imp = static_cast<HTMLElement*>(castedThis->impl());
return jsBoolean(imp->isContentEditable());
}
JSValue jsHTMLElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLElement* domObject = static_cast<JSHTMLElement*>(asObject(slot.slotBase()));
+ return JSHTMLElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -287,6 +310,12 @@ void setJSHTMLElementTabIndex(ExecState* exec, JSObject* thisObject, JSValue val
imp->setTabIndex(value.toInt32(exec));
}
+void setJSHTMLElementDraggable(ExecState* exec, JSObject* thisObject, JSValue value)
+{
+ HTMLElement* imp = static_cast<HTMLElement*>(static_cast<JSHTMLElement*>(thisObject)->impl());
+ imp->setDraggable(value.toBoolean(exec));
+}
+
void setJSHTMLElementInnerHTML(ExecState* exec, JSObject* thisObject, JSValue value)
{
HTMLElement* imp = static_cast<HTMLElement*>(static_cast<JSHTMLElement*>(thisObject)->impl());
@@ -325,9 +354,9 @@ void setJSHTMLElementContentEditable(ExecState* exec, JSObject* thisObject, JSVa
imp->setContentEditable(valueToStringWithNullCheck(exec, value));
}
-JSValue JSHTMLElement::getConstructor(ExecState* exec)
+JSValue JSHTMLElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsHTMLElementPrototypeFunctionInsertAdjacentElement(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -342,7 +371,7 @@ JSValue JSC_HOST_CALL jsHTMLElementPrototypeFunctionInsertAdjacentElement(ExecSt
Element* element = toElement(args.at(1));
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->insertAdjacentElement(where, element, ec)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->insertAdjacentElement(where, element, ec)));
setDOMException(exec, ec);
return result;
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLElement.h
index d4ca1f3..7675732 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLElement.h
@@ -31,7 +31,7 @@ class HTMLElement;
class JSHTMLElement : public JSElement {
typedef JSElement Base;
public:
- JSHTMLElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLElement>);
+ JSHTMLElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -45,7 +45,7 @@ public:
virtual void pushEventHandlerScope(JSC::ExecState*, JSC::ScopeChain&) const;
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
HTMLElement* impl() const
{
return static_cast<HTMLElement*>(Base::impl());
@@ -87,6 +87,8 @@ JSC::JSValue jsHTMLElementClassName(JSC::ExecState*, const JSC::Identifier&, con
void setJSHTMLElementClassName(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
JSC::JSValue jsHTMLElementTabIndex(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
void setJSHTMLElementTabIndex(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
+JSC::JSValue jsHTMLElementDraggable(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
+void setJSHTMLElementDraggable(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
JSC::JSValue jsHTMLElementInnerHTML(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
void setJSHTMLElementInnerHTML(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
JSC::JSValue jsHTMLElementInnerText(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLElementWrapperFactory.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLElementWrapperFactory.cpp
index 7d66f62..1e9dc42 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLElementWrapperFactory.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLElementWrapperFactory.cpp
@@ -170,342 +170,358 @@ namespace WebCore {
using namespace HTMLNames;
-typedef JSNode* (*CreateHTMLElementWrapperFunction)(ExecState*, PassRefPtr<HTMLElement>);
+typedef JSNode* (*CreateHTMLElementWrapperFunction)(ExecState*, JSDOMGlobalObject*, PassRefPtr<HTMLElement>);
-static JSNode* createHTMLAnchorElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+static JSNode* createHTMLAnchorElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLAnchorElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLAnchorElement, element.get());
}
-static JSNode* createHTMLAppletElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+static JSNode* createHTMLAppletElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLAppletElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLAppletElement, element.get());
}
-static JSNode* createHTMLAreaElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+static JSNode* createHTMLAreaElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLAreaElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLAreaElement, element.get());
}
#if ENABLE(VIDEO)
-static JSNode* createHTMLAudioElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+static JSNode* createHTMLAudioElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
if (!MediaPlayer::isAvailable())
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLElement, element.get());
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLAudioElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLAudioElement, element.get());
}
#endif
-static JSNode* createHTMLBaseElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+static JSNode* createHTMLBaseElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLBaseElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLBaseElement, element.get());
}
-static JSNode* createHTMLBaseFontElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+static JSNode* createHTMLBaseFontElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLBaseFontElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLBaseFontElement, element.get());
}
-static JSNode* createHTMLBlockquoteElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+static JSNode* createHTMLBlockquoteElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLBlockquoteElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLBlockquoteElement, element.get());
}
-static JSNode* createHTMLBodyElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+static JSNode* createHTMLBodyElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLBodyElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLBodyElement, element.get());
}
-static JSNode* createHTMLBRElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+static JSNode* createHTMLBRElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLBRElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLBRElement, element.get());
}
-static JSNode* createHTMLButtonElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+static JSNode* createHTMLButtonElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLButtonElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLButtonElement, element.get());
}
-static JSNode* createHTMLCanvasElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+static JSNode* createHTMLCanvasElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLCanvasElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLCanvasElement, element.get());
}
-static JSNode* createHTMLTableCaptionElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+static JSNode* createHTMLTableCaptionElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLTableCaptionElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLTableCaptionElement, element.get());
}
-static JSNode* createHTMLTableColElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+static JSNode* createHTMLTableColElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLTableColElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLTableColElement, element.get());
}
-static JSNode* createHTMLDataGridElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+#if ENABLE(DATAGRID)
+
+static JSNode* createHTMLDataGridElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLDataGridElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLDataGridElement, element.get());
}
-static JSNode* createHTMLDataGridCellElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+#endif
+
+#if ENABLE(DATAGRID)
+
+static JSNode* createHTMLDataGridCellElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLDataGridCellElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLDataGridCellElement, element.get());
}
-static JSNode* createHTMLDataGridColElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+#endif
+
+#if ENABLE(DATAGRID)
+
+static JSNode* createHTMLDataGridColElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLDataGridColElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLDataGridColElement, element.get());
}
-static JSNode* createHTMLModElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+#endif
+
+static JSNode* createHTMLModElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLModElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLModElement, element.get());
}
-static JSNode* createHTMLDirectoryElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+static JSNode* createHTMLDirectoryElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLDirectoryElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLDirectoryElement, element.get());
}
-static JSNode* createHTMLDivElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+static JSNode* createHTMLDivElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLDivElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLDivElement, element.get());
}
-static JSNode* createHTMLDListElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+static JSNode* createHTMLDListElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLDListElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLDListElement, element.get());
}
-static JSNode* createHTMLDataGridRowElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+#if ENABLE(DATAGRID)
+
+static JSNode* createHTMLDataGridRowElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLDataGridRowElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLDataGridRowElement, element.get());
}
-static JSNode* createHTMLEmbedElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+#endif
+
+static JSNode* createHTMLEmbedElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLEmbedElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLEmbedElement, element.get());
}
-static JSNode* createHTMLFieldSetElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+static JSNode* createHTMLFieldSetElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLFieldSetElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLFieldSetElement, element.get());
}
-static JSNode* createHTMLFontElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+static JSNode* createHTMLFontElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLFontElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLFontElement, element.get());
}
-static JSNode* createHTMLFormElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+static JSNode* createHTMLFormElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLFormElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLFormElement, element.get());
}
-static JSNode* createHTMLFrameElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+static JSNode* createHTMLFrameElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLFrameElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLFrameElement, element.get());
}
-static JSNode* createHTMLFrameSetElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+static JSNode* createHTMLFrameSetElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLFrameSetElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLFrameSetElement, element.get());
}
-static JSNode* createHTMLHeadingElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+static JSNode* createHTMLHeadingElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLHeadingElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLHeadingElement, element.get());
}
-static JSNode* createHTMLHeadElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+static JSNode* createHTMLHeadElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLHeadElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLHeadElement, element.get());
}
-static JSNode* createHTMLHRElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+static JSNode* createHTMLHRElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLHRElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLHRElement, element.get());
}
-static JSNode* createHTMLHtmlElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+static JSNode* createHTMLHtmlElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLHtmlElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLHtmlElement, element.get());
}
-static JSNode* createHTMLIFrameElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+static JSNode* createHTMLIFrameElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLIFrameElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLIFrameElement, element.get());
}
-static JSNode* createHTMLImageElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+static JSNode* createHTMLImageElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLImageElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLImageElement, element.get());
}
-static JSNode* createHTMLInputElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+static JSNode* createHTMLInputElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLInputElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLInputElement, element.get());
}
-static JSNode* createHTMLIsIndexElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+static JSNode* createHTMLIsIndexElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLIsIndexElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLIsIndexElement, element.get());
}
-static JSNode* createHTMLSelectElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+static JSNode* createHTMLSelectElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLSelectElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLSelectElement, element.get());
}
-static JSNode* createHTMLLabelElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+static JSNode* createHTMLLabelElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLLabelElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLLabelElement, element.get());
}
-static JSNode* createHTMLLegendElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+static JSNode* createHTMLLegendElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLLegendElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLLegendElement, element.get());
}
-static JSNode* createHTMLLIElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+static JSNode* createHTMLLIElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLLIElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLLIElement, element.get());
}
-static JSNode* createHTMLLinkElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+static JSNode* createHTMLLinkElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLLinkElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLLinkElement, element.get());
}
-static JSNode* createHTMLPreElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+static JSNode* createHTMLPreElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLPreElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLPreElement, element.get());
}
-static JSNode* createHTMLMapElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+static JSNode* createHTMLMapElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLMapElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLMapElement, element.get());
}
-static JSNode* createHTMLMarqueeElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+static JSNode* createHTMLMarqueeElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLMarqueeElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLMarqueeElement, element.get());
}
-static JSNode* createHTMLMenuElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+static JSNode* createHTMLMenuElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLMenuElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLMenuElement, element.get());
}
-static JSNode* createHTMLMetaElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+static JSNode* createHTMLMetaElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLMetaElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLMetaElement, element.get());
}
-static JSNode* createHTMLObjectElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+static JSNode* createHTMLObjectElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLObjectElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLObjectElement, element.get());
}
-static JSNode* createHTMLOListElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+static JSNode* createHTMLOListElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLOListElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLOListElement, element.get());
}
-static JSNode* createHTMLOptGroupElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+static JSNode* createHTMLOptGroupElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLOptGroupElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLOptGroupElement, element.get());
}
-static JSNode* createHTMLOptionElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+static JSNode* createHTMLOptionElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLOptionElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLOptionElement, element.get());
}
-static JSNode* createHTMLParagraphElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+static JSNode* createHTMLParagraphElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLParagraphElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLParagraphElement, element.get());
}
-static JSNode* createHTMLParamElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+static JSNode* createHTMLParamElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLParamElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLParamElement, element.get());
}
-static JSNode* createHTMLQuoteElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+static JSNode* createHTMLQuoteElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLQuoteElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLQuoteElement, element.get());
}
-static JSNode* createHTMLScriptElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+static JSNode* createHTMLScriptElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLScriptElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLScriptElement, element.get());
}
#if ENABLE(VIDEO)
-static JSNode* createHTMLSourceElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+static JSNode* createHTMLSourceElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
if (!MediaPlayer::isAvailable())
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLElement, element.get());
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLSourceElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLSourceElement, element.get());
}
#endif
-static JSNode* createHTMLStyleElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+static JSNode* createHTMLStyleElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLStyleElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLStyleElement, element.get());
}
-static JSNode* createHTMLTableElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+static JSNode* createHTMLTableElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLTableElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLTableElement, element.get());
}
-static JSNode* createHTMLTableSectionElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+static JSNode* createHTMLTableSectionElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLTableSectionElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLTableSectionElement, element.get());
}
-static JSNode* createHTMLTableCellElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+static JSNode* createHTMLTableCellElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLTableCellElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLTableCellElement, element.get());
}
-static JSNode* createHTMLTextAreaElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+static JSNode* createHTMLTextAreaElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLTextAreaElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLTextAreaElement, element.get());
}
-static JSNode* createHTMLTitleElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+static JSNode* createHTMLTitleElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLTitleElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLTitleElement, element.get());
}
-static JSNode* createHTMLTableRowElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+static JSNode* createHTMLTableRowElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLTableRowElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLTableRowElement, element.get());
}
-static JSNode* createHTMLUListElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+static JSNode* createHTMLUListElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLUListElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLUListElement, element.get());
}
#if ENABLE(VIDEO)
-static JSNode* createHTMLVideoElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+static JSNode* createHTMLVideoElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
if (!MediaPlayer::isAvailable())
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLElement, element.get());
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLVideoElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLVideoElement, element.get());
}
#endif
-JSNode* createJSHTMLWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+JSNode* createJSHTMLWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
typedef HashMap<WebCore::AtomicStringImpl*, CreateHTMLElementWrapperFunction> FunctionMap;
DEFINE_STATIC_LOCAL(FunctionMap, map, ());
@@ -526,14 +542,22 @@ JSNode* createJSHTMLWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
map.set(captionTag.localName().impl(), createHTMLTableCaptionElementWrapper);
map.set(colTag.localName().impl(), createHTMLTableColElementWrapper);
map.set(colgroupTag.localName().impl(), createHTMLTableColElementWrapper);
+#if ENABLE(DATAGRID)
map.set(datagridTag.localName().impl(), createHTMLDataGridElementWrapper);
+#endif
+#if ENABLE(DATAGRID)
map.set(dcellTag.localName().impl(), createHTMLDataGridCellElementWrapper);
+#endif
+#if ENABLE(DATAGRID)
map.set(dcolTag.localName().impl(), createHTMLDataGridColElementWrapper);
+#endif
map.set(delTag.localName().impl(), createHTMLModElementWrapper);
map.set(dirTag.localName().impl(), createHTMLDirectoryElementWrapper);
map.set(divTag.localName().impl(), createHTMLDivElementWrapper);
map.set(dlTag.localName().impl(), createHTMLDListElementWrapper);
+#if ENABLE(DATAGRID)
map.set(drowTag.localName().impl(), createHTMLDataGridRowElementWrapper);
+#endif
map.set(embedTag.localName().impl(), createHTMLEmbedElementWrapper);
map.set(fieldsetTag.localName().impl(), createHTMLFieldSetElementWrapper);
map.set(fontTag.localName().impl(), createHTMLFontElementWrapper);
@@ -596,8 +620,8 @@ JSNode* createJSHTMLWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
}
CreateHTMLElementWrapperFunction createWrapperFunction = map.get(element->localName().impl());
if (createWrapperFunction)
- return createWrapperFunction(exec, element);
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLElement, element.get());
+ return createWrapperFunction(exec, globalObject, element);
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLElement, element.get());
}
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLElementWrapperFactory.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLElementWrapperFactory.h
index 9d11bbf..826f4fe 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLElementWrapperFactory.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLElementWrapperFactory.h
@@ -39,9 +39,10 @@ namespace JSC {
namespace WebCore {
class JSNode;
+ class JSDOMGlobalObject;
class HTMLElement;
- JSNode* createJSHTMLWrapper(JSC::ExecState*, PassRefPtr<HTMLElement>);
+ JSNode* createJSHTMLWrapper(JSC::ExecState*, JSDOMGlobalObject*, PassRefPtr<HTMLElement>);
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLEmbedElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLEmbedElement.cpp
index 107a225..430ca1c 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLEmbedElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLEmbedElement.cpp
@@ -52,7 +52,7 @@ static const HashTableValue JSHTMLEmbedElementTableValues[8] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLEmbedElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLEmbedElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 16383, JSHTMLEmbedElementTableValues, 0 };
#else
@@ -66,19 +66,19 @@ static const HashTableValue JSHTMLEmbedElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLEmbedElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLEmbedElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLEmbedElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLEmbedElementConstructorTableValues, 0 };
#endif
-class JSHTMLEmbedElementConstructor : public DOMObject {
+class JSHTMLEmbedElementConstructor : public DOMConstructorObject {
public:
- JSHTMLEmbedElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLEmbedElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLEmbedElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLEmbedElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLEmbedElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLEmbedElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -105,7 +105,7 @@ static const HashTableValue JSHTMLEmbedElementPrototypeTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLEmbedElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLEmbedElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLEmbedElementPrototypeTableValues, 0 };
#else
@@ -126,8 +126,8 @@ bool JSHTMLEmbedElementPrototype::getOwnPropertySlot(ExecState* exec, const Iden
const ClassInfo JSHTMLEmbedElement::s_info = { "HTMLEmbedElement", &JSHTMLElement::s_info, &JSHTMLEmbedElementTable, 0 };
-JSHTMLEmbedElement::JSHTMLEmbedElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLEmbedElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLEmbedElement::JSHTMLEmbedElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLEmbedElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -149,49 +149,56 @@ bool JSHTMLEmbedElement::getOwnPropertySlot(ExecState* exec, const Identifier& p
JSValue jsHTMLEmbedElementAlign(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLEmbedElement* castedThis = static_cast<JSHTMLEmbedElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLEmbedElement* imp = static_cast<HTMLEmbedElement*>(static_cast<JSHTMLEmbedElement*>(asObject(slot.slotBase()))->impl());
+ HTMLEmbedElement* imp = static_cast<HTMLEmbedElement*>(castedThis->impl());
return jsString(exec, imp->align());
}
JSValue jsHTMLEmbedElementHeight(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLEmbedElement* castedThis = static_cast<JSHTMLEmbedElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLEmbedElement* imp = static_cast<HTMLEmbedElement*>(static_cast<JSHTMLEmbedElement*>(asObject(slot.slotBase()))->impl());
+ HTMLEmbedElement* imp = static_cast<HTMLEmbedElement*>(castedThis->impl());
return jsString(exec, imp->height());
}
JSValue jsHTMLEmbedElementName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLEmbedElement* castedThis = static_cast<JSHTMLEmbedElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLEmbedElement* imp = static_cast<HTMLEmbedElement*>(static_cast<JSHTMLEmbedElement*>(asObject(slot.slotBase()))->impl());
+ HTMLEmbedElement* imp = static_cast<HTMLEmbedElement*>(castedThis->impl());
return jsString(exec, imp->name());
}
JSValue jsHTMLEmbedElementSrc(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLEmbedElement* castedThis = static_cast<JSHTMLEmbedElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLEmbedElement* imp = static_cast<HTMLEmbedElement*>(static_cast<JSHTMLEmbedElement*>(asObject(slot.slotBase()))->impl());
+ HTMLEmbedElement* imp = static_cast<HTMLEmbedElement*>(castedThis->impl());
return jsString(exec, imp->src());
}
JSValue jsHTMLEmbedElementType(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLEmbedElement* castedThis = static_cast<JSHTMLEmbedElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLEmbedElement* imp = static_cast<HTMLEmbedElement*>(static_cast<JSHTMLEmbedElement*>(asObject(slot.slotBase()))->impl());
+ HTMLEmbedElement* imp = static_cast<HTMLEmbedElement*>(castedThis->impl());
return jsString(exec, imp->type());
}
JSValue jsHTMLEmbedElementWidth(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLEmbedElement* castedThis = static_cast<JSHTMLEmbedElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLEmbedElement* imp = static_cast<HTMLEmbedElement*>(static_cast<JSHTMLEmbedElement*>(asObject(slot.slotBase()))->impl());
+ HTMLEmbedElement* imp = static_cast<HTMLEmbedElement*>(castedThis->impl());
return jsString(exec, imp->width());
}
JSValue jsHTMLEmbedElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLEmbedElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLEmbedElement* domObject = static_cast<JSHTMLEmbedElement*>(asObject(slot.slotBase()));
+ return JSHTMLEmbedElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLEmbedElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -236,9 +243,9 @@ void setJSHTMLEmbedElementWidth(ExecState* exec, JSObject* thisObject, JSValue v
imp->setWidth(valueToStringWithNullCheck(exec, value));
}
-JSValue JSHTMLEmbedElement::getConstructor(ExecState* exec)
+JSValue JSHTMLEmbedElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLEmbedElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLEmbedElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsHTMLEmbedElementPrototypeFunctionGetSVGDocument(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -253,7 +260,7 @@ JSValue JSC_HOST_CALL jsHTMLEmbedElementPrototypeFunctionGetSVGDocument(ExecStat
return jsUndefined();
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getSVGDocument(ec)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getSVGDocument(ec)));
setDOMException(exec, ec);
return result;
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLEmbedElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLEmbedElement.h
index 2538ee3..92eb7fe 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLEmbedElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLEmbedElement.h
@@ -31,7 +31,7 @@ class HTMLEmbedElement;
class JSHTMLEmbedElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLEmbedElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLEmbedElement>);
+ JSHTMLEmbedElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLEmbedElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
bool getOwnPropertySlotDelegate(JSC::ExecState*, const JSC::Identifier&, JSC::PropertySlot&);
@@ -47,7 +47,7 @@ public:
virtual JSC::CallType getCallData(JSC::CallData&);
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
private:
static bool canGetItemsForName(JSC::ExecState*, HTMLEmbedElement*, const JSC::Identifier&);
static JSC::JSValue nameGetter(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLFieldSetElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLFieldSetElement.cpp
index 27a1ebb..ddf115f 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLFieldSetElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLFieldSetElement.cpp
@@ -24,6 +24,8 @@
#include "HTMLFieldSetElement.h"
#include "HTMLFormElement.h"
#include "JSHTMLFormElement.h"
+#include "JSValidityState.h"
+#include "ValidityState.h"
#include <wtf/GetPtr.h>
using namespace JSC;
@@ -34,15 +36,16 @@ ASSERT_CLASS_FITS_IN_CELL(JSHTMLFieldSetElement);
/* Hash table */
-static const HashTableValue JSHTMLFieldSetElementTableValues[4] =
+static const HashTableValue JSHTMLFieldSetElementTableValues[5] =
{
{ "form", DontDelete|ReadOnly, (intptr_t)jsHTMLFieldSetElementForm, (intptr_t)0 },
+ { "validity", DontDelete|ReadOnly, (intptr_t)jsHTMLFieldSetElementValidity, (intptr_t)0 },
{ "willValidate", DontDelete|ReadOnly, (intptr_t)jsHTMLFieldSetElementWillValidate, (intptr_t)0 },
{ "constructor", DontEnum|ReadOnly, (intptr_t)jsHTMLFieldSetElementConstructor, (intptr_t)0 },
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLFieldSetElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLFieldSetElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 7, JSHTMLFieldSetElementTableValues, 0 };
#else
@@ -56,19 +59,19 @@ static const HashTableValue JSHTMLFieldSetElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLFieldSetElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLFieldSetElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLFieldSetElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLFieldSetElementConstructorTableValues, 0 };
#endif
-class JSHTMLFieldSetElementConstructor : public DOMObject {
+class JSHTMLFieldSetElementConstructor : public DOMConstructorObject {
public:
- JSHTMLFieldSetElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLFieldSetElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLFieldSetElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLFieldSetElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLFieldSetElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLFieldSetElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -94,7 +97,7 @@ static const HashTableValue JSHTMLFieldSetElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLFieldSetElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLFieldSetElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLFieldSetElementPrototypeTableValues, 0 };
#else
@@ -110,8 +113,8 @@ JSObject* JSHTMLFieldSetElementPrototype::self(ExecState* exec, JSGlobalObject*
const ClassInfo JSHTMLFieldSetElement::s_info = { "HTMLFieldSetElement", &JSHTMLElement::s_info, &JSHTMLFieldSetElementTable, 0 };
-JSHTMLFieldSetElement::JSHTMLFieldSetElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLFieldSetElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLFieldSetElement::JSHTMLFieldSetElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLFieldSetElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -127,25 +130,36 @@ bool JSHTMLFieldSetElement::getOwnPropertySlot(ExecState* exec, const Identifier
JSValue jsHTMLFieldSetElementForm(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLFieldSetElement* castedThis = static_cast<JSHTMLFieldSetElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLFieldSetElement* imp = static_cast<HTMLFieldSetElement*>(static_cast<JSHTMLFieldSetElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->form()));
+ HTMLFieldSetElement* imp = static_cast<HTMLFieldSetElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->form()));
+}
+
+JSValue jsHTMLFieldSetElementValidity(ExecState* exec, const Identifier&, const PropertySlot& slot)
+{
+ JSHTMLFieldSetElement* castedThis = static_cast<JSHTMLFieldSetElement*>(asObject(slot.slotBase()));
+ UNUSED_PARAM(exec);
+ HTMLFieldSetElement* imp = static_cast<HTMLFieldSetElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->validity()));
}
JSValue jsHTMLFieldSetElementWillValidate(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLFieldSetElement* castedThis = static_cast<JSHTMLFieldSetElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLFieldSetElement* imp = static_cast<HTMLFieldSetElement*>(static_cast<JSHTMLFieldSetElement*>(asObject(slot.slotBase()))->impl());
+ HTMLFieldSetElement* imp = static_cast<HTMLFieldSetElement*>(castedThis->impl());
return jsBoolean(imp->willValidate());
}
JSValue jsHTMLFieldSetElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLFieldSetElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLFieldSetElement* domObject = static_cast<JSHTMLFieldSetElement*>(asObject(slot.slotBase()));
+ return JSHTMLFieldSetElement::getConstructor(exec, domObject->globalObject());
}
-JSValue JSHTMLFieldSetElement::getConstructor(ExecState* exec)
+JSValue JSHTMLFieldSetElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLFieldSetElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLFieldSetElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLFieldSetElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLFieldSetElement.h
index fa6c56c..d339d21 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLFieldSetElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLFieldSetElement.h
@@ -30,7 +30,7 @@ class HTMLFieldSetElement;
class JSHTMLFieldSetElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLFieldSetElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLFieldSetElement>);
+ JSHTMLFieldSetElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLFieldSetElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
@@ -41,7 +41,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
@@ -57,6 +57,7 @@ public:
// Attributes
JSC::JSValue jsHTMLFieldSetElementForm(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
+JSC::JSValue jsHTMLFieldSetElementValidity(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
JSC::JSValue jsHTMLFieldSetElementWillValidate(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
JSC::JSValue jsHTMLFieldSetElementConstructor(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLFontElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLFontElement.cpp
index 0bff1ee..4ed60a2 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLFontElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLFontElement.cpp
@@ -43,7 +43,7 @@ static const HashTableValue JSHTMLFontElementTableValues[5] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLFontElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLFontElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSHTMLFontElementTableValues, 0 };
#else
@@ -57,19 +57,19 @@ static const HashTableValue JSHTMLFontElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLFontElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLFontElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLFontElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLFontElementConstructorTableValues, 0 };
#endif
-class JSHTMLFontElementConstructor : public DOMObject {
+class JSHTMLFontElementConstructor : public DOMConstructorObject {
public:
- JSHTMLFontElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLFontElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLFontElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLFontElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLFontElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLFontElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -95,7 +95,7 @@ static const HashTableValue JSHTMLFontElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLFontElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLFontElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLFontElementPrototypeTableValues, 0 };
#else
@@ -111,8 +111,8 @@ JSObject* JSHTMLFontElementPrototype::self(ExecState* exec, JSGlobalObject* glob
const ClassInfo JSHTMLFontElement::s_info = { "HTMLFontElement", &JSHTMLElement::s_info, &JSHTMLFontElementTable, 0 };
-JSHTMLFontElement::JSHTMLFontElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLFontElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLFontElement::JSHTMLFontElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLFontElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -128,28 +128,32 @@ bool JSHTMLFontElement::getOwnPropertySlot(ExecState* exec, const Identifier& pr
JSValue jsHTMLFontElementColor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLFontElement* castedThis = static_cast<JSHTMLFontElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLFontElement* imp = static_cast<HTMLFontElement*>(static_cast<JSHTMLFontElement*>(asObject(slot.slotBase()))->impl());
+ HTMLFontElement* imp = static_cast<HTMLFontElement*>(castedThis->impl());
return jsString(exec, imp->color());
}
JSValue jsHTMLFontElementFace(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLFontElement* castedThis = static_cast<JSHTMLFontElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLFontElement* imp = static_cast<HTMLFontElement*>(static_cast<JSHTMLFontElement*>(asObject(slot.slotBase()))->impl());
+ HTMLFontElement* imp = static_cast<HTMLFontElement*>(castedThis->impl());
return jsString(exec, imp->face());
}
JSValue jsHTMLFontElementSize(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLFontElement* castedThis = static_cast<JSHTMLFontElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLFontElement* imp = static_cast<HTMLFontElement*>(static_cast<JSHTMLFontElement*>(asObject(slot.slotBase()))->impl());
+ HTMLFontElement* imp = static_cast<HTMLFontElement*>(castedThis->impl());
return jsString(exec, imp->size());
}
JSValue jsHTMLFontElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLFontElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLFontElement* domObject = static_cast<JSHTMLFontElement*>(asObject(slot.slotBase()));
+ return JSHTMLFontElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLFontElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -174,9 +178,9 @@ void setJSHTMLFontElementSize(ExecState* exec, JSObject* thisObject, JSValue val
imp->setSize(valueToStringWithNullCheck(exec, value));
}
-JSValue JSHTMLFontElement::getConstructor(ExecState* exec)
+JSValue JSHTMLFontElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLFontElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLFontElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLFontElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLFontElement.h
index c53d90a..6edf8fe 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLFontElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLFontElement.h
@@ -30,7 +30,7 @@ class HTMLFontElement;
class JSHTMLFontElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLFontElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLFontElement>);
+ JSHTMLFontElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLFontElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -42,7 +42,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLFormElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLFormElement.cpp
index de495a5..1f941c0 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLFormElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLFormElement.cpp
@@ -55,7 +55,7 @@ static const HashTableValue JSHTMLFormElementTableValues[11] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLFormElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLFormElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 4095, JSHTMLFormElementTableValues, 0 };
#else
@@ -69,19 +69,19 @@ static const HashTableValue JSHTMLFormElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLFormElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLFormElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLFormElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLFormElementConstructorTableValues, 0 };
#endif
-class JSHTMLFormElementConstructor : public DOMObject {
+class JSHTMLFormElementConstructor : public DOMConstructorObject {
public:
- JSHTMLFormElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLFormElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLFormElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLFormElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLFormElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLFormElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -109,7 +109,7 @@ static const HashTableValue JSHTMLFormElementPrototypeTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLFormElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLFormElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 3, JSHTMLFormElementPrototypeTableValues, 0 };
#else
@@ -130,8 +130,8 @@ bool JSHTMLFormElementPrototype::getOwnPropertySlot(ExecState* exec, const Ident
const ClassInfo JSHTMLFormElement::s_info = { "HTMLFormElement", &JSHTMLElement::s_info, &JSHTMLFormElementTable, 0 };
-JSHTMLFormElement::JSHTMLFormElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLFormElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLFormElement::JSHTMLFormElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLFormElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -162,70 +162,80 @@ bool JSHTMLFormElement::getOwnPropertySlot(ExecState* exec, const Identifier& pr
JSValue jsHTMLFormElementElements(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLFormElement* castedThis = static_cast<JSHTMLFormElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLFormElement* imp = static_cast<HTMLFormElement*>(static_cast<JSHTMLFormElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->elements()));
+ HTMLFormElement* imp = static_cast<HTMLFormElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->elements()));
}
JSValue jsHTMLFormElementLength(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLFormElement* castedThis = static_cast<JSHTMLFormElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLFormElement* imp = static_cast<HTMLFormElement*>(static_cast<JSHTMLFormElement*>(asObject(slot.slotBase()))->impl());
+ HTMLFormElement* imp = static_cast<HTMLFormElement*>(castedThis->impl());
return jsNumber(exec, imp->length());
}
JSValue jsHTMLFormElementName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLFormElement* castedThis = static_cast<JSHTMLFormElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLFormElement* imp = static_cast<HTMLFormElement*>(static_cast<JSHTMLFormElement*>(asObject(slot.slotBase()))->impl());
+ HTMLFormElement* imp = static_cast<HTMLFormElement*>(castedThis->impl());
return jsString(exec, imp->name());
}
JSValue jsHTMLFormElementAcceptCharset(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLFormElement* castedThis = static_cast<JSHTMLFormElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLFormElement* imp = static_cast<HTMLFormElement*>(static_cast<JSHTMLFormElement*>(asObject(slot.slotBase()))->impl());
+ HTMLFormElement* imp = static_cast<HTMLFormElement*>(castedThis->impl());
return jsString(exec, imp->acceptCharset());
}
JSValue jsHTMLFormElementAction(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLFormElement* castedThis = static_cast<JSHTMLFormElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLFormElement* imp = static_cast<HTMLFormElement*>(static_cast<JSHTMLFormElement*>(asObject(slot.slotBase()))->impl());
+ HTMLFormElement* imp = static_cast<HTMLFormElement*>(castedThis->impl());
return jsString(exec, imp->action());
}
JSValue jsHTMLFormElementEncoding(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLFormElement* castedThis = static_cast<JSHTMLFormElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLFormElement* imp = static_cast<HTMLFormElement*>(static_cast<JSHTMLFormElement*>(asObject(slot.slotBase()))->impl());
+ HTMLFormElement* imp = static_cast<HTMLFormElement*>(castedThis->impl());
return jsString(exec, imp->encoding());
}
JSValue jsHTMLFormElementEnctype(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLFormElement* castedThis = static_cast<JSHTMLFormElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLFormElement* imp = static_cast<HTMLFormElement*>(static_cast<JSHTMLFormElement*>(asObject(slot.slotBase()))->impl());
+ HTMLFormElement* imp = static_cast<HTMLFormElement*>(castedThis->impl());
return jsString(exec, imp->enctype());
}
JSValue jsHTMLFormElementMethod(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLFormElement* castedThis = static_cast<JSHTMLFormElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLFormElement* imp = static_cast<HTMLFormElement*>(static_cast<JSHTMLFormElement*>(asObject(slot.slotBase()))->impl());
+ HTMLFormElement* imp = static_cast<HTMLFormElement*>(castedThis->impl());
return jsString(exec, imp->method());
}
JSValue jsHTMLFormElementTarget(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLFormElement* castedThis = static_cast<JSHTMLFormElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLFormElement* imp = static_cast<HTMLFormElement*>(static_cast<JSHTMLFormElement*>(asObject(slot.slotBase()))->impl());
+ HTMLFormElement* imp = static_cast<HTMLFormElement*>(castedThis->impl());
return jsString(exec, imp->target());
}
JSValue jsHTMLFormElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLFormElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLFormElement* domObject = static_cast<JSHTMLFormElement*>(asObject(slot.slotBase()));
+ return JSHTMLFormElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLFormElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -281,9 +291,9 @@ void JSHTMLFormElement::getPropertyNames(ExecState* exec, PropertyNameArray& pro
Base::getPropertyNames(exec, propertyNames);
}
-JSValue JSHTMLFormElement::getConstructor(ExecState* exec)
+JSValue JSHTMLFormElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLFormElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLFormElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsHTMLFormElementPrototypeFunctionSubmit(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -311,7 +321,7 @@ JSValue JSC_HOST_CALL jsHTMLFormElementPrototypeFunctionReset(ExecState* exec, J
JSValue JSHTMLFormElement::indexGetter(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
JSHTMLFormElement* thisObj = static_cast<JSHTMLFormElement*>(asObject(slot.slotBase()));
- return toJS(exec, static_cast<HTMLFormElement*>(thisObj->impl())->item(slot.index()));
+ return toJS(exec, thisObj->globalObject(), static_cast<HTMLFormElement*>(thisObj->impl())->item(slot.index()));
}
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLFormElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLFormElement.h
index b44e6db..6ad5c00 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLFormElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLFormElement.h
@@ -30,7 +30,7 @@ class HTMLFormElement;
class JSHTMLFormElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLFormElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLFormElement>);
+ JSHTMLFormElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLFormElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -43,7 +43,7 @@ public:
}
virtual void getPropertyNames(JSC::ExecState*, JSC::PropertyNameArray&);
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
// Custom functions
JSC::JSValue submit(JSC::ExecState*, const JSC::ArgList&);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLFrameElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLFrameElement.cpp
index a5bff3e..2a87785 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLFrameElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLFrameElement.cpp
@@ -62,7 +62,7 @@ static const HashTableValue JSHTMLFrameElementTableValues[15] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLFrameElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLFrameElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 16383, JSHTMLFrameElementTableValues, 0 };
#else
@@ -76,19 +76,19 @@ static const HashTableValue JSHTMLFrameElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLFrameElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLFrameElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLFrameElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLFrameElementConstructorTableValues, 0 };
#endif
-class JSHTMLFrameElementConstructor : public DOMObject {
+class JSHTMLFrameElementConstructor : public DOMConstructorObject {
public:
- JSHTMLFrameElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLFrameElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLFrameElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLFrameElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLFrameElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLFrameElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -115,7 +115,7 @@ static const HashTableValue JSHTMLFrameElementPrototypeTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLFrameElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLFrameElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLFrameElementPrototypeTableValues, 0 };
#else
@@ -136,8 +136,8 @@ bool JSHTMLFrameElementPrototype::getOwnPropertySlot(ExecState* exec, const Iden
const ClassInfo JSHTMLFrameElement::s_info = { "HTMLFrameElement", &JSHTMLElement::s_info, &JSHTMLFrameElementTable, 0 };
-JSHTMLFrameElement::JSHTMLFrameElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLFrameElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLFrameElement::JSHTMLFrameElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLFrameElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -153,97 +153,111 @@ bool JSHTMLFrameElement::getOwnPropertySlot(ExecState* exec, const Identifier& p
JSValue jsHTMLFrameElementFrameBorder(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLFrameElement* castedThis = static_cast<JSHTMLFrameElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLFrameElement* imp = static_cast<HTMLFrameElement*>(static_cast<JSHTMLFrameElement*>(asObject(slot.slotBase()))->impl());
+ HTMLFrameElement* imp = static_cast<HTMLFrameElement*>(castedThis->impl());
return jsString(exec, imp->frameBorder());
}
JSValue jsHTMLFrameElementLongDesc(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLFrameElement* castedThis = static_cast<JSHTMLFrameElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLFrameElement* imp = static_cast<HTMLFrameElement*>(static_cast<JSHTMLFrameElement*>(asObject(slot.slotBase()))->impl());
+ HTMLFrameElement* imp = static_cast<HTMLFrameElement*>(castedThis->impl());
return jsString(exec, imp->longDesc());
}
JSValue jsHTMLFrameElementMarginHeight(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLFrameElement* castedThis = static_cast<JSHTMLFrameElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLFrameElement* imp = static_cast<HTMLFrameElement*>(static_cast<JSHTMLFrameElement*>(asObject(slot.slotBase()))->impl());
+ HTMLFrameElement* imp = static_cast<HTMLFrameElement*>(castedThis->impl());
return jsString(exec, imp->marginHeight());
}
JSValue jsHTMLFrameElementMarginWidth(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLFrameElement* castedThis = static_cast<JSHTMLFrameElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLFrameElement* imp = static_cast<HTMLFrameElement*>(static_cast<JSHTMLFrameElement*>(asObject(slot.slotBase()))->impl());
+ HTMLFrameElement* imp = static_cast<HTMLFrameElement*>(castedThis->impl());
return jsString(exec, imp->marginWidth());
}
JSValue jsHTMLFrameElementName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLFrameElement* castedThis = static_cast<JSHTMLFrameElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLFrameElement* imp = static_cast<HTMLFrameElement*>(static_cast<JSHTMLFrameElement*>(asObject(slot.slotBase()))->impl());
+ HTMLFrameElement* imp = static_cast<HTMLFrameElement*>(castedThis->impl());
return jsString(exec, imp->name());
}
JSValue jsHTMLFrameElementNoResize(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLFrameElement* castedThis = static_cast<JSHTMLFrameElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLFrameElement* imp = static_cast<HTMLFrameElement*>(static_cast<JSHTMLFrameElement*>(asObject(slot.slotBase()))->impl());
+ HTMLFrameElement* imp = static_cast<HTMLFrameElement*>(castedThis->impl());
return jsBoolean(imp->noResize());
}
JSValue jsHTMLFrameElementScrolling(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLFrameElement* castedThis = static_cast<JSHTMLFrameElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLFrameElement* imp = static_cast<HTMLFrameElement*>(static_cast<JSHTMLFrameElement*>(asObject(slot.slotBase()))->impl());
+ HTMLFrameElement* imp = static_cast<HTMLFrameElement*>(castedThis->impl());
return jsString(exec, imp->scrolling());
}
JSValue jsHTMLFrameElementSrc(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLFrameElement* castedThis = static_cast<JSHTMLFrameElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLFrameElement* imp = static_cast<HTMLFrameElement*>(static_cast<JSHTMLFrameElement*>(asObject(slot.slotBase()))->impl());
+ HTMLFrameElement* imp = static_cast<HTMLFrameElement*>(castedThis->impl());
return jsString(exec, imp->src());
}
JSValue jsHTMLFrameElementContentDocument(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- HTMLFrameElement* imp = static_cast<HTMLFrameElement*>(static_cast<JSHTMLFrameElement*>(asObject(slot.slotBase()))->impl());
- return checkNodeSecurity(exec, imp->contentDocument()) ? toJS(exec, WTF::getPtr(imp->contentDocument())) : jsUndefined();
+ JSHTMLFrameElement* castedThis = static_cast<JSHTMLFrameElement*>(asObject(slot.slotBase()));
+ HTMLFrameElement* imp = static_cast<HTMLFrameElement*>(castedThis->impl());
+ return checkNodeSecurity(exec, imp->contentDocument()) ? toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->contentDocument())) : jsUndefined();
}
JSValue jsHTMLFrameElementContentWindow(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLFrameElement* castedThis = static_cast<JSHTMLFrameElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLFrameElement* imp = static_cast<HTMLFrameElement*>(static_cast<JSHTMLFrameElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->contentWindow()));
+ HTMLFrameElement* imp = static_cast<HTMLFrameElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->contentWindow()));
}
JSValue jsHTMLFrameElementLocation(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLFrameElement* castedThis = static_cast<JSHTMLFrameElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLFrameElement* imp = static_cast<HTMLFrameElement*>(static_cast<JSHTMLFrameElement*>(asObject(slot.slotBase()))->impl());
+ HTMLFrameElement* imp = static_cast<HTMLFrameElement*>(castedThis->impl());
return jsString(exec, imp->location());
}
JSValue jsHTMLFrameElementWidth(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLFrameElement* castedThis = static_cast<JSHTMLFrameElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLFrameElement* imp = static_cast<HTMLFrameElement*>(static_cast<JSHTMLFrameElement*>(asObject(slot.slotBase()))->impl());
+ HTMLFrameElement* imp = static_cast<HTMLFrameElement*>(castedThis->impl());
return jsNumber(exec, imp->width());
}
JSValue jsHTMLFrameElementHeight(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLFrameElement* castedThis = static_cast<JSHTMLFrameElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLFrameElement* imp = static_cast<HTMLFrameElement*>(static_cast<JSHTMLFrameElement*>(asObject(slot.slotBase()))->impl());
+ HTMLFrameElement* imp = static_cast<HTMLFrameElement*>(castedThis->impl());
return jsNumber(exec, imp->height());
}
JSValue jsHTMLFrameElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLFrameElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLFrameElement* domObject = static_cast<JSHTMLFrameElement*>(asObject(slot.slotBase()));
+ return JSHTMLFrameElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLFrameElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -302,9 +316,9 @@ void setJSHTMLFrameElementLocation(ExecState* exec, JSObject* thisObject, JSValu
static_cast<JSHTMLFrameElement*>(thisObject)->setLocation(exec, value);
}
-JSValue JSHTMLFrameElement::getConstructor(ExecState* exec)
+JSValue JSHTMLFrameElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLFrameElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLFrameElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsHTMLFrameElementPrototypeFunctionGetSVGDocument(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -319,7 +333,7 @@ JSValue JSC_HOST_CALL jsHTMLFrameElementPrototypeFunctionGetSVGDocument(ExecStat
return jsUndefined();
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getSVGDocument(ec)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getSVGDocument(ec)));
setDOMException(exec, ec);
return result;
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLFrameElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLFrameElement.h
index 573ff52..c89f3f8 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLFrameElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLFrameElement.h
@@ -30,7 +30,7 @@ class HTMLFrameElement;
class JSHTMLFrameElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLFrameElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLFrameElement>);
+ JSHTMLFrameElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLFrameElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -42,7 +42,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
// Custom attributes
void setSrc(JSC::ExecState*, JSC::JSValue);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLFrameSetElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLFrameSetElement.cpp
index 7abfddd..f720492 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLFrameSetElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLFrameSetElement.cpp
@@ -54,7 +54,7 @@ static const HashTableValue JSHTMLFrameSetElementTableValues[11] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLFrameSetElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLFrameSetElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 31, JSHTMLFrameSetElementTableValues, 0 };
#else
@@ -68,19 +68,19 @@ static const HashTableValue JSHTMLFrameSetElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLFrameSetElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLFrameSetElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLFrameSetElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLFrameSetElementConstructorTableValues, 0 };
#endif
-class JSHTMLFrameSetElementConstructor : public DOMObject {
+class JSHTMLFrameSetElementConstructor : public DOMConstructorObject {
public:
- JSHTMLFrameSetElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLFrameSetElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLFrameSetElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLFrameSetElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLFrameSetElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLFrameSetElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -106,7 +106,7 @@ static const HashTableValue JSHTMLFrameSetElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLFrameSetElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLFrameSetElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLFrameSetElementPrototypeTableValues, 0 };
#else
@@ -122,8 +122,8 @@ JSObject* JSHTMLFrameSetElementPrototype::self(ExecState* exec, JSGlobalObject*
const ClassInfo JSHTMLFrameSetElement::s_info = { "HTMLFrameSetElement", &JSHTMLElement::s_info, &JSHTMLFrameSetElementTable, 0 };
-JSHTMLFrameSetElement::JSHTMLFrameSetElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLFrameSetElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLFrameSetElement::JSHTMLFrameSetElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLFrameSetElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -143,22 +143,25 @@ bool JSHTMLFrameSetElement::getOwnPropertySlot(ExecState* exec, const Identifier
JSValue jsHTMLFrameSetElementCols(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLFrameSetElement* castedThis = static_cast<JSHTMLFrameSetElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLFrameSetElement* imp = static_cast<HTMLFrameSetElement*>(static_cast<JSHTMLFrameSetElement*>(asObject(slot.slotBase()))->impl());
+ HTMLFrameSetElement* imp = static_cast<HTMLFrameSetElement*>(castedThis->impl());
return jsString(exec, imp->cols());
}
JSValue jsHTMLFrameSetElementRows(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLFrameSetElement* castedThis = static_cast<JSHTMLFrameSetElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLFrameSetElement* imp = static_cast<HTMLFrameSetElement*>(static_cast<JSHTMLFrameSetElement*>(asObject(slot.slotBase()))->impl());
+ HTMLFrameSetElement* imp = static_cast<HTMLFrameSetElement*>(castedThis->impl());
return jsString(exec, imp->rows());
}
JSValue jsHTMLFrameSetElementOnbeforeunload(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLFrameSetElement* castedThis = static_cast<JSHTMLFrameSetElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLFrameSetElement* imp = static_cast<HTMLFrameSetElement*>(static_cast<JSHTMLFrameSetElement*>(asObject(slot.slotBase()))->impl());
+ HTMLFrameSetElement* imp = static_cast<HTMLFrameSetElement*>(castedThis->impl());
if (EventListener* listener = imp->onbeforeunload()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -168,8 +171,9 @@ JSValue jsHTMLFrameSetElementOnbeforeunload(ExecState* exec, const Identifier&,
JSValue jsHTMLFrameSetElementOnmessage(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLFrameSetElement* castedThis = static_cast<JSHTMLFrameSetElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLFrameSetElement* imp = static_cast<HTMLFrameSetElement*>(static_cast<JSHTMLFrameSetElement*>(asObject(slot.slotBase()))->impl());
+ HTMLFrameSetElement* imp = static_cast<HTMLFrameSetElement*>(castedThis->impl());
if (EventListener* listener = imp->onmessage()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -179,8 +183,9 @@ JSValue jsHTMLFrameSetElementOnmessage(ExecState* exec, const Identifier&, const
JSValue jsHTMLFrameSetElementOnoffline(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLFrameSetElement* castedThis = static_cast<JSHTMLFrameSetElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLFrameSetElement* imp = static_cast<HTMLFrameSetElement*>(static_cast<JSHTMLFrameSetElement*>(asObject(slot.slotBase()))->impl());
+ HTMLFrameSetElement* imp = static_cast<HTMLFrameSetElement*>(castedThis->impl());
if (EventListener* listener = imp->onoffline()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -190,8 +195,9 @@ JSValue jsHTMLFrameSetElementOnoffline(ExecState* exec, const Identifier&, const
JSValue jsHTMLFrameSetElementOnonline(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLFrameSetElement* castedThis = static_cast<JSHTMLFrameSetElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLFrameSetElement* imp = static_cast<HTMLFrameSetElement*>(static_cast<JSHTMLFrameSetElement*>(asObject(slot.slotBase()))->impl());
+ HTMLFrameSetElement* imp = static_cast<HTMLFrameSetElement*>(castedThis->impl());
if (EventListener* listener = imp->ononline()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -201,8 +207,9 @@ JSValue jsHTMLFrameSetElementOnonline(ExecState* exec, const Identifier&, const
JSValue jsHTMLFrameSetElementOnresize(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLFrameSetElement* castedThis = static_cast<JSHTMLFrameSetElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLFrameSetElement* imp = static_cast<HTMLFrameSetElement*>(static_cast<JSHTMLFrameSetElement*>(asObject(slot.slotBase()))->impl());
+ HTMLFrameSetElement* imp = static_cast<HTMLFrameSetElement*>(castedThis->impl());
if (EventListener* listener = imp->onresize()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -212,8 +219,9 @@ JSValue jsHTMLFrameSetElementOnresize(ExecState* exec, const Identifier&, const
JSValue jsHTMLFrameSetElementOnstorage(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLFrameSetElement* castedThis = static_cast<JSHTMLFrameSetElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLFrameSetElement* imp = static_cast<HTMLFrameSetElement*>(static_cast<JSHTMLFrameSetElement*>(asObject(slot.slotBase()))->impl());
+ HTMLFrameSetElement* imp = static_cast<HTMLFrameSetElement*>(castedThis->impl());
if (EventListener* listener = imp->onstorage()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -223,8 +231,9 @@ JSValue jsHTMLFrameSetElementOnstorage(ExecState* exec, const Identifier&, const
JSValue jsHTMLFrameSetElementOnunload(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLFrameSetElement* castedThis = static_cast<JSHTMLFrameSetElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLFrameSetElement* imp = static_cast<HTMLFrameSetElement*>(static_cast<JSHTMLFrameSetElement*>(asObject(slot.slotBase()))->impl());
+ HTMLFrameSetElement* imp = static_cast<HTMLFrameSetElement*>(castedThis->impl());
if (EventListener* listener = imp->onunload()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -234,7 +243,8 @@ JSValue jsHTMLFrameSetElementOnunload(ExecState* exec, const Identifier&, const
JSValue jsHTMLFrameSetElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLFrameSetElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLFrameSetElement* domObject = static_cast<JSHTMLFrameSetElement*>(asObject(slot.slotBase()));
+ return JSHTMLFrameSetElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLFrameSetElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -323,9 +333,9 @@ void setJSHTMLFrameSetElementOnunload(ExecState* exec, JSObject* thisObject, JSV
imp->setOnunload(globalObject->createJSAttributeEventListener(value));
}
-JSValue JSHTMLFrameSetElement::getConstructor(ExecState* exec)
+JSValue JSHTMLFrameSetElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLFrameSetElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLFrameSetElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLFrameSetElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLFrameSetElement.h
index c4528e5..5b0f82f 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLFrameSetElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLFrameSetElement.h
@@ -30,7 +30,7 @@ class HTMLFrameSetElement;
class JSHTMLFrameSetElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLFrameSetElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLFrameSetElement>);
+ JSHTMLFrameSetElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLFrameSetElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -42,7 +42,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
private:
static bool canGetItemsForName(JSC::ExecState*, HTMLFrameSetElement*, const JSC::Identifier&);
static JSC::JSValue nameGetter(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLHRElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLHRElement.cpp
index 8ec45b5..2c4232c 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLHRElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLHRElement.cpp
@@ -44,7 +44,7 @@ static const HashTableValue JSHTMLHRElementTableValues[6] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLHRElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLHRElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 31, JSHTMLHRElementTableValues, 0 };
#else
@@ -58,19 +58,19 @@ static const HashTableValue JSHTMLHRElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLHRElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLHRElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLHRElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLHRElementConstructorTableValues, 0 };
#endif
-class JSHTMLHRElementConstructor : public DOMObject {
+class JSHTMLHRElementConstructor : public DOMConstructorObject {
public:
- JSHTMLHRElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLHRElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLHRElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLHRElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLHRElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLHRElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -96,7 +96,7 @@ static const HashTableValue JSHTMLHRElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLHRElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLHRElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLHRElementPrototypeTableValues, 0 };
#else
@@ -112,8 +112,8 @@ JSObject* JSHTMLHRElementPrototype::self(ExecState* exec, JSGlobalObject* global
const ClassInfo JSHTMLHRElement::s_info = { "HTMLHRElement", &JSHTMLElement::s_info, &JSHTMLHRElementTable, 0 };
-JSHTMLHRElement::JSHTMLHRElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLHRElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLHRElement::JSHTMLHRElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLHRElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -129,35 +129,40 @@ bool JSHTMLHRElement::getOwnPropertySlot(ExecState* exec, const Identifier& prop
JSValue jsHTMLHRElementAlign(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLHRElement* castedThis = static_cast<JSHTMLHRElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLHRElement* imp = static_cast<HTMLHRElement*>(static_cast<JSHTMLHRElement*>(asObject(slot.slotBase()))->impl());
+ HTMLHRElement* imp = static_cast<HTMLHRElement*>(castedThis->impl());
return jsString(exec, imp->align());
}
JSValue jsHTMLHRElementNoShade(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLHRElement* castedThis = static_cast<JSHTMLHRElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLHRElement* imp = static_cast<HTMLHRElement*>(static_cast<JSHTMLHRElement*>(asObject(slot.slotBase()))->impl());
+ HTMLHRElement* imp = static_cast<HTMLHRElement*>(castedThis->impl());
return jsBoolean(imp->noShade());
}
JSValue jsHTMLHRElementSize(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLHRElement* castedThis = static_cast<JSHTMLHRElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLHRElement* imp = static_cast<HTMLHRElement*>(static_cast<JSHTMLHRElement*>(asObject(slot.slotBase()))->impl());
+ HTMLHRElement* imp = static_cast<HTMLHRElement*>(castedThis->impl());
return jsString(exec, imp->size());
}
JSValue jsHTMLHRElementWidth(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLHRElement* castedThis = static_cast<JSHTMLHRElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLHRElement* imp = static_cast<HTMLHRElement*>(static_cast<JSHTMLHRElement*>(asObject(slot.slotBase()))->impl());
+ HTMLHRElement* imp = static_cast<HTMLHRElement*>(castedThis->impl());
return jsString(exec, imp->width());
}
JSValue jsHTMLHRElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLHRElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLHRElement* domObject = static_cast<JSHTMLHRElement*>(asObject(slot.slotBase()));
+ return JSHTMLHRElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLHRElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -188,9 +193,9 @@ void setJSHTMLHRElementWidth(ExecState* exec, JSObject* thisObject, JSValue valu
imp->setWidth(valueToStringWithNullCheck(exec, value));
}
-JSValue JSHTMLHRElement::getConstructor(ExecState* exec)
+JSValue JSHTMLHRElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLHRElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLHRElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLHRElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLHRElement.h
index fb62440..c420fae 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLHRElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLHRElement.h
@@ -30,7 +30,7 @@ class HTMLHRElement;
class JSHTMLHRElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLHRElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLHRElement>);
+ JSHTMLHRElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLHRElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -42,7 +42,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLHeadElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLHeadElement.cpp
index a2ec868..e04d2d9 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLHeadElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLHeadElement.cpp
@@ -41,7 +41,7 @@ static const HashTableValue JSHTMLHeadElementTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLHeadElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLHeadElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 7, JSHTMLHeadElementTableValues, 0 };
#else
@@ -55,19 +55,19 @@ static const HashTableValue JSHTMLHeadElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLHeadElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLHeadElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLHeadElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLHeadElementConstructorTableValues, 0 };
#endif
-class JSHTMLHeadElementConstructor : public DOMObject {
+class JSHTMLHeadElementConstructor : public DOMConstructorObject {
public:
- JSHTMLHeadElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLHeadElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLHeadElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLHeadElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLHeadElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLHeadElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -93,7 +93,7 @@ static const HashTableValue JSHTMLHeadElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLHeadElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLHeadElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLHeadElementPrototypeTableValues, 0 };
#else
@@ -109,8 +109,8 @@ JSObject* JSHTMLHeadElementPrototype::self(ExecState* exec, JSGlobalObject* glob
const ClassInfo JSHTMLHeadElement::s_info = { "HTMLHeadElement", &JSHTMLElement::s_info, &JSHTMLHeadElementTable, 0 };
-JSHTMLHeadElement::JSHTMLHeadElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLHeadElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLHeadElement::JSHTMLHeadElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLHeadElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -126,14 +126,16 @@ bool JSHTMLHeadElement::getOwnPropertySlot(ExecState* exec, const Identifier& pr
JSValue jsHTMLHeadElementProfile(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLHeadElement* castedThis = static_cast<JSHTMLHeadElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLHeadElement* imp = static_cast<HTMLHeadElement*>(static_cast<JSHTMLHeadElement*>(asObject(slot.slotBase()))->impl());
+ HTMLHeadElement* imp = static_cast<HTMLHeadElement*>(castedThis->impl());
return jsString(exec, imp->profile());
}
JSValue jsHTMLHeadElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLHeadElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLHeadElement* domObject = static_cast<JSHTMLHeadElement*>(asObject(slot.slotBase()));
+ return JSHTMLHeadElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLHeadElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -146,9 +148,9 @@ void setJSHTMLHeadElementProfile(ExecState* exec, JSObject* thisObject, JSValue
imp->setProfile(valueToStringWithNullCheck(exec, value));
}
-JSValue JSHTMLHeadElement::getConstructor(ExecState* exec)
+JSValue JSHTMLHeadElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLHeadElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLHeadElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLHeadElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLHeadElement.h
index b63b317..9545349 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLHeadElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLHeadElement.h
@@ -30,7 +30,7 @@ class HTMLHeadElement;
class JSHTMLHeadElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLHeadElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLHeadElement>);
+ JSHTMLHeadElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLHeadElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -42,7 +42,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLHeadingElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLHeadingElement.cpp
index 5a5b8b2..57b3c23 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLHeadingElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLHeadingElement.cpp
@@ -41,7 +41,7 @@ static const HashTableValue JSHTMLHeadingElementTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLHeadingElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLHeadingElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 7, JSHTMLHeadingElementTableValues, 0 };
#else
@@ -55,19 +55,19 @@ static const HashTableValue JSHTMLHeadingElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLHeadingElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLHeadingElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLHeadingElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLHeadingElementConstructorTableValues, 0 };
#endif
-class JSHTMLHeadingElementConstructor : public DOMObject {
+class JSHTMLHeadingElementConstructor : public DOMConstructorObject {
public:
- JSHTMLHeadingElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLHeadingElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLHeadingElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLHeadingElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLHeadingElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLHeadingElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -93,7 +93,7 @@ static const HashTableValue JSHTMLHeadingElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLHeadingElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLHeadingElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLHeadingElementPrototypeTableValues, 0 };
#else
@@ -109,8 +109,8 @@ JSObject* JSHTMLHeadingElementPrototype::self(ExecState* exec, JSGlobalObject* g
const ClassInfo JSHTMLHeadingElement::s_info = { "HTMLHeadingElement", &JSHTMLElement::s_info, &JSHTMLHeadingElementTable, 0 };
-JSHTMLHeadingElement::JSHTMLHeadingElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLHeadingElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLHeadingElement::JSHTMLHeadingElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLHeadingElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -126,14 +126,16 @@ bool JSHTMLHeadingElement::getOwnPropertySlot(ExecState* exec, const Identifier&
JSValue jsHTMLHeadingElementAlign(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLHeadingElement* castedThis = static_cast<JSHTMLHeadingElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLHeadingElement* imp = static_cast<HTMLHeadingElement*>(static_cast<JSHTMLHeadingElement*>(asObject(slot.slotBase()))->impl());
+ HTMLHeadingElement* imp = static_cast<HTMLHeadingElement*>(castedThis->impl());
return jsString(exec, imp->align());
}
JSValue jsHTMLHeadingElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLHeadingElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLHeadingElement* domObject = static_cast<JSHTMLHeadingElement*>(asObject(slot.slotBase()));
+ return JSHTMLHeadingElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLHeadingElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -146,9 +148,9 @@ void setJSHTMLHeadingElementAlign(ExecState* exec, JSObject* thisObject, JSValue
imp->setAlign(valueToStringWithNullCheck(exec, value));
}
-JSValue JSHTMLHeadingElement::getConstructor(ExecState* exec)
+JSValue JSHTMLHeadingElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLHeadingElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLHeadingElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLHeadingElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLHeadingElement.h
index a5fdd87..590d603 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLHeadingElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLHeadingElement.h
@@ -30,7 +30,7 @@ class HTMLHeadingElement;
class JSHTMLHeadingElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLHeadingElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLHeadingElement>);
+ JSHTMLHeadingElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLHeadingElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -42,7 +42,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLHtmlElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLHtmlElement.cpp
index 95ab223..8060fc1 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLHtmlElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLHtmlElement.cpp
@@ -41,7 +41,7 @@ static const HashTableValue JSHTMLHtmlElementTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLHtmlElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLHtmlElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 3, JSHTMLHtmlElementTableValues, 0 };
#else
@@ -55,19 +55,19 @@ static const HashTableValue JSHTMLHtmlElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLHtmlElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLHtmlElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLHtmlElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLHtmlElementConstructorTableValues, 0 };
#endif
-class JSHTMLHtmlElementConstructor : public DOMObject {
+class JSHTMLHtmlElementConstructor : public DOMConstructorObject {
public:
- JSHTMLHtmlElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLHtmlElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLHtmlElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLHtmlElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLHtmlElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLHtmlElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -93,7 +93,7 @@ static const HashTableValue JSHTMLHtmlElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLHtmlElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLHtmlElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLHtmlElementPrototypeTableValues, 0 };
#else
@@ -109,8 +109,8 @@ JSObject* JSHTMLHtmlElementPrototype::self(ExecState* exec, JSGlobalObject* glob
const ClassInfo JSHTMLHtmlElement::s_info = { "HTMLHtmlElement", &JSHTMLElement::s_info, &JSHTMLHtmlElementTable, 0 };
-JSHTMLHtmlElement::JSHTMLHtmlElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLHtmlElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLHtmlElement::JSHTMLHtmlElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLHtmlElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -126,14 +126,16 @@ bool JSHTMLHtmlElement::getOwnPropertySlot(ExecState* exec, const Identifier& pr
JSValue jsHTMLHtmlElementVersion(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLHtmlElement* castedThis = static_cast<JSHTMLHtmlElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLHtmlElement* imp = static_cast<HTMLHtmlElement*>(static_cast<JSHTMLHtmlElement*>(asObject(slot.slotBase()))->impl());
+ HTMLHtmlElement* imp = static_cast<HTMLHtmlElement*>(castedThis->impl());
return jsString(exec, imp->version());
}
JSValue jsHTMLHtmlElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLHtmlElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLHtmlElement* domObject = static_cast<JSHTMLHtmlElement*>(asObject(slot.slotBase()));
+ return JSHTMLHtmlElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLHtmlElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -146,9 +148,9 @@ void setJSHTMLHtmlElementVersion(ExecState* exec, JSObject* thisObject, JSValue
imp->setVersion(valueToStringWithNullCheck(exec, value));
}
-JSValue JSHTMLHtmlElement::getConstructor(ExecState* exec)
+JSValue JSHTMLHtmlElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLHtmlElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLHtmlElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLHtmlElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLHtmlElement.h
index b9e49c7..fb6150a 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLHtmlElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLHtmlElement.h
@@ -30,7 +30,7 @@ class HTMLHtmlElement;
class JSHTMLHtmlElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLHtmlElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLHtmlElement>);
+ JSHTMLHtmlElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLHtmlElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -42,7 +42,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLIFrameElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLIFrameElement.cpp
index 068dfc2..b11b753 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLIFrameElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLIFrameElement.cpp
@@ -60,7 +60,7 @@ static const HashTableValue JSHTMLIFrameElementTableValues[14] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLIFrameElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLIFrameElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 16383, JSHTMLIFrameElementTableValues, 0 };
#else
@@ -74,19 +74,19 @@ static const HashTableValue JSHTMLIFrameElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLIFrameElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLIFrameElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLIFrameElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLIFrameElementConstructorTableValues, 0 };
#endif
-class JSHTMLIFrameElementConstructor : public DOMObject {
+class JSHTMLIFrameElementConstructor : public DOMConstructorObject {
public:
- JSHTMLIFrameElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLIFrameElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLIFrameElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLIFrameElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLIFrameElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLIFrameElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -113,7 +113,7 @@ static const HashTableValue JSHTMLIFrameElementPrototypeTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLIFrameElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLIFrameElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLIFrameElementPrototypeTableValues, 0 };
#else
@@ -134,8 +134,8 @@ bool JSHTMLIFrameElementPrototype::getOwnPropertySlot(ExecState* exec, const Ide
const ClassInfo JSHTMLIFrameElement::s_info = { "HTMLIFrameElement", &JSHTMLElement::s_info, &JSHTMLIFrameElementTable, 0 };
-JSHTMLIFrameElement::JSHTMLIFrameElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLIFrameElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLIFrameElement::JSHTMLIFrameElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLIFrameElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -151,90 +151,103 @@ bool JSHTMLIFrameElement::getOwnPropertySlot(ExecState* exec, const Identifier&
JSValue jsHTMLIFrameElementAlign(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLIFrameElement* castedThis = static_cast<JSHTMLIFrameElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLIFrameElement* imp = static_cast<HTMLIFrameElement*>(static_cast<JSHTMLIFrameElement*>(asObject(slot.slotBase()))->impl());
+ HTMLIFrameElement* imp = static_cast<HTMLIFrameElement*>(castedThis->impl());
return jsString(exec, imp->align());
}
JSValue jsHTMLIFrameElementFrameBorder(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLIFrameElement* castedThis = static_cast<JSHTMLIFrameElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLIFrameElement* imp = static_cast<HTMLIFrameElement*>(static_cast<JSHTMLIFrameElement*>(asObject(slot.slotBase()))->impl());
+ HTMLIFrameElement* imp = static_cast<HTMLIFrameElement*>(castedThis->impl());
return jsString(exec, imp->frameBorder());
}
JSValue jsHTMLIFrameElementHeight(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLIFrameElement* castedThis = static_cast<JSHTMLIFrameElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLIFrameElement* imp = static_cast<HTMLIFrameElement*>(static_cast<JSHTMLIFrameElement*>(asObject(slot.slotBase()))->impl());
+ HTMLIFrameElement* imp = static_cast<HTMLIFrameElement*>(castedThis->impl());
return jsString(exec, imp->height());
}
JSValue jsHTMLIFrameElementLongDesc(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLIFrameElement* castedThis = static_cast<JSHTMLIFrameElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLIFrameElement* imp = static_cast<HTMLIFrameElement*>(static_cast<JSHTMLIFrameElement*>(asObject(slot.slotBase()))->impl());
+ HTMLIFrameElement* imp = static_cast<HTMLIFrameElement*>(castedThis->impl());
return jsString(exec, imp->longDesc());
}
JSValue jsHTMLIFrameElementMarginHeight(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLIFrameElement* castedThis = static_cast<JSHTMLIFrameElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLIFrameElement* imp = static_cast<HTMLIFrameElement*>(static_cast<JSHTMLIFrameElement*>(asObject(slot.slotBase()))->impl());
+ HTMLIFrameElement* imp = static_cast<HTMLIFrameElement*>(castedThis->impl());
return jsString(exec, imp->marginHeight());
}
JSValue jsHTMLIFrameElementMarginWidth(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLIFrameElement* castedThis = static_cast<JSHTMLIFrameElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLIFrameElement* imp = static_cast<HTMLIFrameElement*>(static_cast<JSHTMLIFrameElement*>(asObject(slot.slotBase()))->impl());
+ HTMLIFrameElement* imp = static_cast<HTMLIFrameElement*>(castedThis->impl());
return jsString(exec, imp->marginWidth());
}
JSValue jsHTMLIFrameElementName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLIFrameElement* castedThis = static_cast<JSHTMLIFrameElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLIFrameElement* imp = static_cast<HTMLIFrameElement*>(static_cast<JSHTMLIFrameElement*>(asObject(slot.slotBase()))->impl());
+ HTMLIFrameElement* imp = static_cast<HTMLIFrameElement*>(castedThis->impl());
return jsString(exec, imp->name());
}
JSValue jsHTMLIFrameElementScrolling(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLIFrameElement* castedThis = static_cast<JSHTMLIFrameElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLIFrameElement* imp = static_cast<HTMLIFrameElement*>(static_cast<JSHTMLIFrameElement*>(asObject(slot.slotBase()))->impl());
+ HTMLIFrameElement* imp = static_cast<HTMLIFrameElement*>(castedThis->impl());
return jsString(exec, imp->scrolling());
}
JSValue jsHTMLIFrameElementSrc(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLIFrameElement* castedThis = static_cast<JSHTMLIFrameElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLIFrameElement* imp = static_cast<HTMLIFrameElement*>(static_cast<JSHTMLIFrameElement*>(asObject(slot.slotBase()))->impl());
+ HTMLIFrameElement* imp = static_cast<HTMLIFrameElement*>(castedThis->impl());
return jsString(exec, imp->src());
}
JSValue jsHTMLIFrameElementWidth(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLIFrameElement* castedThis = static_cast<JSHTMLIFrameElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLIFrameElement* imp = static_cast<HTMLIFrameElement*>(static_cast<JSHTMLIFrameElement*>(asObject(slot.slotBase()))->impl());
+ HTMLIFrameElement* imp = static_cast<HTMLIFrameElement*>(castedThis->impl());
return jsString(exec, imp->width());
}
JSValue jsHTMLIFrameElementContentDocument(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- HTMLIFrameElement* imp = static_cast<HTMLIFrameElement*>(static_cast<JSHTMLIFrameElement*>(asObject(slot.slotBase()))->impl());
- return checkNodeSecurity(exec, imp->contentDocument()) ? toJS(exec, WTF::getPtr(imp->contentDocument())) : jsUndefined();
+ JSHTMLIFrameElement* castedThis = static_cast<JSHTMLIFrameElement*>(asObject(slot.slotBase()));
+ HTMLIFrameElement* imp = static_cast<HTMLIFrameElement*>(castedThis->impl());
+ return checkNodeSecurity(exec, imp->contentDocument()) ? toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->contentDocument())) : jsUndefined();
}
JSValue jsHTMLIFrameElementContentWindow(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLIFrameElement* castedThis = static_cast<JSHTMLIFrameElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLIFrameElement* imp = static_cast<HTMLIFrameElement*>(static_cast<JSHTMLIFrameElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->contentWindow()));
+ HTMLIFrameElement* imp = static_cast<HTMLIFrameElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->contentWindow()));
}
JSValue jsHTMLIFrameElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLIFrameElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLIFrameElement* domObject = static_cast<JSHTMLIFrameElement*>(asObject(slot.slotBase()));
+ return JSHTMLIFrameElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLIFrameElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -300,9 +313,9 @@ void setJSHTMLIFrameElementWidth(ExecState* exec, JSObject* thisObject, JSValue
imp->setWidth(valueToStringWithNullCheck(exec, value));
}
-JSValue JSHTMLIFrameElement::getConstructor(ExecState* exec)
+JSValue JSHTMLIFrameElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLIFrameElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLIFrameElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsHTMLIFrameElementPrototypeFunctionGetSVGDocument(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -317,7 +330,7 @@ JSValue JSC_HOST_CALL jsHTMLIFrameElementPrototypeFunctionGetSVGDocument(ExecSta
return jsUndefined();
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getSVGDocument(ec)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getSVGDocument(ec)));
setDOMException(exec, ec);
return result;
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLIFrameElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLIFrameElement.h
index 158ae70..a1a62be 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLIFrameElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLIFrameElement.h
@@ -30,7 +30,7 @@ class HTMLIFrameElement;
class JSHTMLIFrameElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLIFrameElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLIFrameElement>);
+ JSHTMLIFrameElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLIFrameElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -42,7 +42,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
// Custom attributes
void setSrc(JSC::ExecState*, JSC::JSValue);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLImageElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLImageElement.cpp
index a0259bb..0fdb334 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLImageElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLImageElement.cpp
@@ -60,7 +60,7 @@ static const HashTableValue JSHTMLImageElementTableValues[20] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLImageElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLImageElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 16383, JSHTMLImageElementTableValues, 0 };
#else
@@ -74,19 +74,19 @@ static const HashTableValue JSHTMLImageElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLImageElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLImageElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLImageElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLImageElementConstructorTableValues, 0 };
#endif
-class JSHTMLImageElementConstructor : public DOMObject {
+class JSHTMLImageElementConstructor : public DOMConstructorObject {
public:
- JSHTMLImageElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLImageElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLImageElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLImageElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLImageElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLImageElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -112,7 +112,7 @@ static const HashTableValue JSHTMLImageElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLImageElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLImageElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLImageElementPrototypeTableValues, 0 };
#else
@@ -128,8 +128,8 @@ JSObject* JSHTMLImageElementPrototype::self(ExecState* exec, JSGlobalObject* glo
const ClassInfo JSHTMLImageElement::s_info = { "HTMLImageElement", &JSHTMLElement::s_info, &JSHTMLImageElementTable, 0 };
-JSHTMLImageElement::JSHTMLImageElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLImageElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLImageElement::JSHTMLImageElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLImageElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -145,133 +145,152 @@ bool JSHTMLImageElement::getOwnPropertySlot(ExecState* exec, const Identifier& p
JSValue jsHTMLImageElementName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLImageElement* castedThis = static_cast<JSHTMLImageElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLImageElement* imp = static_cast<HTMLImageElement*>(static_cast<JSHTMLImageElement*>(asObject(slot.slotBase()))->impl());
+ HTMLImageElement* imp = static_cast<HTMLImageElement*>(castedThis->impl());
return jsString(exec, imp->getAttribute(HTMLNames::nameAttr));
}
JSValue jsHTMLImageElementAlign(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLImageElement* castedThis = static_cast<JSHTMLImageElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLImageElement* imp = static_cast<HTMLImageElement*>(static_cast<JSHTMLImageElement*>(asObject(slot.slotBase()))->impl());
+ HTMLImageElement* imp = static_cast<HTMLImageElement*>(castedThis->impl());
return jsString(exec, imp->getAttribute(HTMLNames::alignAttr));
}
JSValue jsHTMLImageElementAlt(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLImageElement* castedThis = static_cast<JSHTMLImageElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLImageElement* imp = static_cast<HTMLImageElement*>(static_cast<JSHTMLImageElement*>(asObject(slot.slotBase()))->impl());
+ HTMLImageElement* imp = static_cast<HTMLImageElement*>(castedThis->impl());
return jsString(exec, imp->getAttribute(HTMLNames::altAttr));
}
JSValue jsHTMLImageElementBorder(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLImageElement* castedThis = static_cast<JSHTMLImageElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLImageElement* imp = static_cast<HTMLImageElement*>(static_cast<JSHTMLImageElement*>(asObject(slot.slotBase()))->impl());
+ HTMLImageElement* imp = static_cast<HTMLImageElement*>(castedThis->impl());
return jsString(exec, imp->getAttribute(HTMLNames::borderAttr));
}
JSValue jsHTMLImageElementHeight(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLImageElement* castedThis = static_cast<JSHTMLImageElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLImageElement* imp = static_cast<HTMLImageElement*>(static_cast<JSHTMLImageElement*>(asObject(slot.slotBase()))->impl());
+ HTMLImageElement* imp = static_cast<HTMLImageElement*>(castedThis->impl());
return jsNumber(exec, imp->height());
}
JSValue jsHTMLImageElementHspace(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLImageElement* castedThis = static_cast<JSHTMLImageElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLImageElement* imp = static_cast<HTMLImageElement*>(static_cast<JSHTMLImageElement*>(asObject(slot.slotBase()))->impl());
+ HTMLImageElement* imp = static_cast<HTMLImageElement*>(castedThis->impl());
return jsNumber(exec, imp->hspace());
}
JSValue jsHTMLImageElementIsMap(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLImageElement* castedThis = static_cast<JSHTMLImageElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLImageElement* imp = static_cast<HTMLImageElement*>(static_cast<JSHTMLImageElement*>(asObject(slot.slotBase()))->impl());
+ HTMLImageElement* imp = static_cast<HTMLImageElement*>(castedThis->impl());
return jsBoolean(imp->isMap());
}
JSValue jsHTMLImageElementLongDesc(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLImageElement* castedThis = static_cast<JSHTMLImageElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLImageElement* imp = static_cast<HTMLImageElement*>(static_cast<JSHTMLImageElement*>(asObject(slot.slotBase()))->impl());
+ HTMLImageElement* imp = static_cast<HTMLImageElement*>(castedThis->impl());
return jsString(exec, imp->getURLAttribute(HTMLNames::longdescAttr));
}
JSValue jsHTMLImageElementSrc(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLImageElement* castedThis = static_cast<JSHTMLImageElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLImageElement* imp = static_cast<HTMLImageElement*>(static_cast<JSHTMLImageElement*>(asObject(slot.slotBase()))->impl());
+ HTMLImageElement* imp = static_cast<HTMLImageElement*>(castedThis->impl());
return jsString(exec, imp->getURLAttribute(HTMLNames::srcAttr));
}
JSValue jsHTMLImageElementUseMap(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLImageElement* castedThis = static_cast<JSHTMLImageElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLImageElement* imp = static_cast<HTMLImageElement*>(static_cast<JSHTMLImageElement*>(asObject(slot.slotBase()))->impl());
+ HTMLImageElement* imp = static_cast<HTMLImageElement*>(castedThis->impl());
return jsString(exec, imp->getAttribute(HTMLNames::usemapAttr));
}
JSValue jsHTMLImageElementVspace(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLImageElement* castedThis = static_cast<JSHTMLImageElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLImageElement* imp = static_cast<HTMLImageElement*>(static_cast<JSHTMLImageElement*>(asObject(slot.slotBase()))->impl());
+ HTMLImageElement* imp = static_cast<HTMLImageElement*>(castedThis->impl());
return jsNumber(exec, imp->vspace());
}
JSValue jsHTMLImageElementWidth(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLImageElement* castedThis = static_cast<JSHTMLImageElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLImageElement* imp = static_cast<HTMLImageElement*>(static_cast<JSHTMLImageElement*>(asObject(slot.slotBase()))->impl());
+ HTMLImageElement* imp = static_cast<HTMLImageElement*>(castedThis->impl());
return jsNumber(exec, imp->width());
}
JSValue jsHTMLImageElementComplete(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLImageElement* castedThis = static_cast<JSHTMLImageElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLImageElement* imp = static_cast<HTMLImageElement*>(static_cast<JSHTMLImageElement*>(asObject(slot.slotBase()))->impl());
+ HTMLImageElement* imp = static_cast<HTMLImageElement*>(castedThis->impl());
return jsBoolean(imp->complete());
}
JSValue jsHTMLImageElementLowsrc(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLImageElement* castedThis = static_cast<JSHTMLImageElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLImageElement* imp = static_cast<HTMLImageElement*>(static_cast<JSHTMLImageElement*>(asObject(slot.slotBase()))->impl());
+ HTMLImageElement* imp = static_cast<HTMLImageElement*>(castedThis->impl());
return jsString(exec, imp->getURLAttribute(HTMLNames::lowsrcAttr));
}
JSValue jsHTMLImageElementNaturalHeight(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLImageElement* castedThis = static_cast<JSHTMLImageElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLImageElement* imp = static_cast<HTMLImageElement*>(static_cast<JSHTMLImageElement*>(asObject(slot.slotBase()))->impl());
+ HTMLImageElement* imp = static_cast<HTMLImageElement*>(castedThis->impl());
return jsNumber(exec, imp->naturalHeight());
}
JSValue jsHTMLImageElementNaturalWidth(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLImageElement* castedThis = static_cast<JSHTMLImageElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLImageElement* imp = static_cast<HTMLImageElement*>(static_cast<JSHTMLImageElement*>(asObject(slot.slotBase()))->impl());
+ HTMLImageElement* imp = static_cast<HTMLImageElement*>(castedThis->impl());
return jsNumber(exec, imp->naturalWidth());
}
JSValue jsHTMLImageElementX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLImageElement* castedThis = static_cast<JSHTMLImageElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLImageElement* imp = static_cast<HTMLImageElement*>(static_cast<JSHTMLImageElement*>(asObject(slot.slotBase()))->impl());
+ HTMLImageElement* imp = static_cast<HTMLImageElement*>(castedThis->impl());
return jsNumber(exec, imp->x());
}
JSValue jsHTMLImageElementY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLImageElement* castedThis = static_cast<JSHTMLImageElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLImageElement* imp = static_cast<HTMLImageElement*>(static_cast<JSHTMLImageElement*>(asObject(slot.slotBase()))->impl());
+ HTMLImageElement* imp = static_cast<HTMLImageElement*>(castedThis->impl());
return jsNumber(exec, imp->y());
}
JSValue jsHTMLImageElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLImageElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLImageElement* domObject = static_cast<JSHTMLImageElement*>(asObject(slot.slotBase()));
+ return JSHTMLImageElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLImageElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -356,9 +375,9 @@ void setJSHTMLImageElementLowsrc(ExecState* exec, JSObject* thisObject, JSValue
imp->setAttribute(HTMLNames::lowsrcAttr, valueToStringWithNullCheck(exec, value));
}
-JSValue JSHTMLImageElement::getConstructor(ExecState* exec)
+JSValue JSHTMLImageElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLImageElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLImageElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLImageElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLImageElement.h
index d24fda0..ec618c0 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLImageElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLImageElement.h
@@ -30,7 +30,7 @@ class HTMLImageElement;
class JSHTMLImageElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLImageElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLImageElement>);
+ JSHTMLImageElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLImageElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -42,7 +42,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLInputElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLInputElement.cpp
index 720249a..8499893 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLInputElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLInputElement.cpp
@@ -24,9 +24,12 @@
#include "FileList.h"
#include "HTMLFormElement.h"
#include "HTMLInputElement.h"
+#include "HTMLNames.h"
#include "JSFileList.h"
#include "JSHTMLFormElement.h"
+#include "JSValidityState.h"
#include "KURL.h"
+#include "ValidityState.h"
#include <runtime/Error.h>
#include <runtime/JSNumberCell.h>
#include <runtime/JSString.h>
@@ -40,11 +43,12 @@ ASSERT_CLASS_FITS_IN_CELL(JSHTMLInputElement);
/* Hash table */
-static const HashTableValue JSHTMLInputElementTableValues[27] =
+static const HashTableValue JSHTMLInputElementTableValues[30] =
{
{ "defaultValue", DontDelete, (intptr_t)jsHTMLInputElementDefaultValue, (intptr_t)setJSHTMLInputElementDefaultValue },
{ "defaultChecked", DontDelete, (intptr_t)jsHTMLInputElementDefaultChecked, (intptr_t)setJSHTMLInputElementDefaultChecked },
{ "form", DontDelete|ReadOnly, (intptr_t)jsHTMLInputElementForm, (intptr_t)0 },
+ { "validity", DontDelete|ReadOnly, (intptr_t)jsHTMLInputElementValidity, (intptr_t)0 },
{ "accept", DontDelete, (intptr_t)jsHTMLInputElementAccept, (intptr_t)setJSHTMLInputElementAccept },
{ "accessKey", DontDelete, (intptr_t)jsHTMLInputElementAccessKey, (intptr_t)setJSHTMLInputElementAccessKey },
{ "align", DontDelete, (intptr_t)jsHTMLInputElementAlign, (intptr_t)setJSHTMLInputElementAlign },
@@ -55,8 +59,10 @@ static const HashTableValue JSHTMLInputElementTableValues[27] =
{ "maxLength", DontDelete, (intptr_t)jsHTMLInputElementMaxLength, (intptr_t)setJSHTMLInputElementMaxLength },
{ "multiple", DontDelete, (intptr_t)jsHTMLInputElementMultiple, (intptr_t)setJSHTMLInputElementMultiple },
{ "name", DontDelete, (intptr_t)jsHTMLInputElementName, (intptr_t)setJSHTMLInputElementName },
+ { "pattern", DontDelete, (intptr_t)jsHTMLInputElementPattern, (intptr_t)setJSHTMLInputElementPattern },
{ "placeholder", DontDelete, (intptr_t)jsHTMLInputElementPlaceholder, (intptr_t)setJSHTMLInputElementPlaceholder },
{ "readOnly", DontDelete, (intptr_t)jsHTMLInputElementReadOnly, (intptr_t)setJSHTMLInputElementReadOnly },
+ { "required", DontDelete, (intptr_t)jsHTMLInputElementRequired, (intptr_t)setJSHTMLInputElementRequired },
{ "size", DontDelete, (intptr_t)jsHTMLInputElementSize, (intptr_t)setJSHTMLInputElementSize },
{ "src", DontDelete, (intptr_t)jsHTMLInputElementSrc, (intptr_t)setJSHTMLInputElementSrc },
{ "type", DontDelete, (intptr_t)jsHTMLInputElementType, (intptr_t)setJSHTMLInputElementType },
@@ -71,11 +77,11 @@ static const HashTableValue JSHTMLInputElementTableValues[27] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLInputElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLInputElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
- { 255, JSHTMLInputElementTableValues, 0 };
+ { 2047, JSHTMLInputElementTableValues, 0 };
#else
- { 70, 63, JSHTMLInputElementTableValues, 0 };
+ { 71, 63, JSHTMLInputElementTableValues, 0 };
#endif
/* Hash table for constructor */
@@ -85,19 +91,19 @@ static const HashTableValue JSHTMLInputElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLInputElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLInputElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLInputElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLInputElementConstructorTableValues, 0 };
#endif
-class JSHTMLInputElementConstructor : public DOMObject {
+class JSHTMLInputElementConstructor : public DOMConstructorObject {
public:
- JSHTMLInputElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLInputElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLInputElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLInputElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLInputElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLInputElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -126,7 +132,7 @@ static const HashTableValue JSHTMLInputElementPrototypeTableValues[4] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLInputElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLInputElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSHTMLInputElementPrototypeTableValues, 0 };
#else
@@ -147,8 +153,8 @@ bool JSHTMLInputElementPrototype::getOwnPropertySlot(ExecState* exec, const Iden
const ClassInfo JSHTMLInputElement::s_info = { "HTMLInputElement", &JSHTMLElement::s_info, &JSHTMLInputElementTable, 0 };
-JSHTMLInputElement::JSHTMLInputElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLInputElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLInputElement::JSHTMLInputElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLInputElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -164,176 +170,226 @@ bool JSHTMLInputElement::getOwnPropertySlot(ExecState* exec, const Identifier& p
JSValue jsHTMLInputElementDefaultValue(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLInputElement* castedThis = static_cast<JSHTMLInputElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLInputElement* imp = static_cast<HTMLInputElement*>(static_cast<JSHTMLInputElement*>(asObject(slot.slotBase()))->impl());
+ HTMLInputElement* imp = static_cast<HTMLInputElement*>(castedThis->impl());
return jsString(exec, imp->defaultValue());
}
JSValue jsHTMLInputElementDefaultChecked(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLInputElement* castedThis = static_cast<JSHTMLInputElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLInputElement* imp = static_cast<HTMLInputElement*>(static_cast<JSHTMLInputElement*>(asObject(slot.slotBase()))->impl());
+ HTMLInputElement* imp = static_cast<HTMLInputElement*>(castedThis->impl());
return jsBoolean(imp->defaultChecked());
}
JSValue jsHTMLInputElementForm(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLInputElement* castedThis = static_cast<JSHTMLInputElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLInputElement* imp = static_cast<HTMLInputElement*>(static_cast<JSHTMLInputElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->form()));
+ HTMLInputElement* imp = static_cast<HTMLInputElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->form()));
+}
+
+JSValue jsHTMLInputElementValidity(ExecState* exec, const Identifier&, const PropertySlot& slot)
+{
+ JSHTMLInputElement* castedThis = static_cast<JSHTMLInputElement*>(asObject(slot.slotBase()));
+ UNUSED_PARAM(exec);
+ HTMLInputElement* imp = static_cast<HTMLInputElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->validity()));
}
JSValue jsHTMLInputElementAccept(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLInputElement* castedThis = static_cast<JSHTMLInputElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLInputElement* imp = static_cast<HTMLInputElement*>(static_cast<JSHTMLInputElement*>(asObject(slot.slotBase()))->impl());
+ HTMLInputElement* imp = static_cast<HTMLInputElement*>(castedThis->impl());
return jsString(exec, imp->accept());
}
JSValue jsHTMLInputElementAccessKey(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLInputElement* castedThis = static_cast<JSHTMLInputElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLInputElement* imp = static_cast<HTMLInputElement*>(static_cast<JSHTMLInputElement*>(asObject(slot.slotBase()))->impl());
+ HTMLInputElement* imp = static_cast<HTMLInputElement*>(castedThis->impl());
return jsString(exec, imp->accessKey());
}
JSValue jsHTMLInputElementAlign(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLInputElement* castedThis = static_cast<JSHTMLInputElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLInputElement* imp = static_cast<HTMLInputElement*>(static_cast<JSHTMLInputElement*>(asObject(slot.slotBase()))->impl());
+ HTMLInputElement* imp = static_cast<HTMLInputElement*>(castedThis->impl());
return jsString(exec, imp->align());
}
JSValue jsHTMLInputElementAlt(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLInputElement* castedThis = static_cast<JSHTMLInputElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLInputElement* imp = static_cast<HTMLInputElement*>(static_cast<JSHTMLInputElement*>(asObject(slot.slotBase()))->impl());
+ HTMLInputElement* imp = static_cast<HTMLInputElement*>(castedThis->impl());
return jsString(exec, imp->alt());
}
JSValue jsHTMLInputElementChecked(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLInputElement* castedThis = static_cast<JSHTMLInputElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLInputElement* imp = static_cast<HTMLInputElement*>(static_cast<JSHTMLInputElement*>(asObject(slot.slotBase()))->impl());
+ HTMLInputElement* imp = static_cast<HTMLInputElement*>(castedThis->impl());
return jsBoolean(imp->checked());
}
JSValue jsHTMLInputElementDisabled(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLInputElement* castedThis = static_cast<JSHTMLInputElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLInputElement* imp = static_cast<HTMLInputElement*>(static_cast<JSHTMLInputElement*>(asObject(slot.slotBase()))->impl());
+ HTMLInputElement* imp = static_cast<HTMLInputElement*>(castedThis->impl());
return jsBoolean(imp->disabled());
}
JSValue jsHTMLInputElementAutofocus(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLInputElement* castedThis = static_cast<JSHTMLInputElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLInputElement* imp = static_cast<HTMLInputElement*>(static_cast<JSHTMLInputElement*>(asObject(slot.slotBase()))->impl());
+ HTMLInputElement* imp = static_cast<HTMLInputElement*>(castedThis->impl());
return jsBoolean(imp->autofocus());
}
JSValue jsHTMLInputElementMaxLength(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLInputElement* castedThis = static_cast<JSHTMLInputElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLInputElement* imp = static_cast<HTMLInputElement*>(static_cast<JSHTMLInputElement*>(asObject(slot.slotBase()))->impl());
+ HTMLInputElement* imp = static_cast<HTMLInputElement*>(castedThis->impl());
return jsNumber(exec, imp->maxLength());
}
JSValue jsHTMLInputElementMultiple(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLInputElement* castedThis = static_cast<JSHTMLInputElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLInputElement* imp = static_cast<HTMLInputElement*>(static_cast<JSHTMLInputElement*>(asObject(slot.slotBase()))->impl());
+ HTMLInputElement* imp = static_cast<HTMLInputElement*>(castedThis->impl());
return jsBoolean(imp->multiple());
}
JSValue jsHTMLInputElementName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLInputElement* castedThis = static_cast<JSHTMLInputElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLInputElement* imp = static_cast<HTMLInputElement*>(static_cast<JSHTMLInputElement*>(asObject(slot.slotBase()))->impl());
+ HTMLInputElement* imp = static_cast<HTMLInputElement*>(castedThis->impl());
return jsString(exec, imp->name());
}
+JSValue jsHTMLInputElementPattern(ExecState* exec, const Identifier&, const PropertySlot& slot)
+{
+ JSHTMLInputElement* castedThis = static_cast<JSHTMLInputElement*>(asObject(slot.slotBase()));
+ UNUSED_PARAM(exec);
+ HTMLInputElement* imp = static_cast<HTMLInputElement*>(castedThis->impl());
+ return jsString(exec, imp->getAttribute(HTMLNames::patternAttr));
+}
+
JSValue jsHTMLInputElementPlaceholder(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLInputElement* castedThis = static_cast<JSHTMLInputElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLInputElement* imp = static_cast<HTMLInputElement*>(static_cast<JSHTMLInputElement*>(asObject(slot.slotBase()))->impl());
+ HTMLInputElement* imp = static_cast<HTMLInputElement*>(castedThis->impl());
return jsString(exec, imp->placeholder());
}
JSValue jsHTMLInputElementReadOnly(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLInputElement* castedThis = static_cast<JSHTMLInputElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLInputElement* imp = static_cast<HTMLInputElement*>(static_cast<JSHTMLInputElement*>(asObject(slot.slotBase()))->impl());
+ HTMLInputElement* imp = static_cast<HTMLInputElement*>(castedThis->impl());
return jsBoolean(imp->readOnly());
}
+JSValue jsHTMLInputElementRequired(ExecState* exec, const Identifier&, const PropertySlot& slot)
+{
+ JSHTMLInputElement* castedThis = static_cast<JSHTMLInputElement*>(asObject(slot.slotBase()));
+ UNUSED_PARAM(exec);
+ HTMLInputElement* imp = static_cast<HTMLInputElement*>(castedThis->impl());
+ return jsBoolean(imp->required());
+}
+
JSValue jsHTMLInputElementSize(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLInputElement* castedThis = static_cast<JSHTMLInputElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLInputElement* imp = static_cast<HTMLInputElement*>(static_cast<JSHTMLInputElement*>(asObject(slot.slotBase()))->impl());
+ HTMLInputElement* imp = static_cast<HTMLInputElement*>(castedThis->impl());
return jsNumber(exec, imp->size());
}
JSValue jsHTMLInputElementSrc(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLInputElement* castedThis = static_cast<JSHTMLInputElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLInputElement* imp = static_cast<HTMLInputElement*>(static_cast<JSHTMLInputElement*>(asObject(slot.slotBase()))->impl());
+ HTMLInputElement* imp = static_cast<HTMLInputElement*>(castedThis->impl());
return jsString(exec, imp->src());
}
JSValue jsHTMLInputElementType(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLInputElement*>(asObject(slot.slotBase()))->type(exec);
+ JSHTMLInputElement* castedThis = static_cast<JSHTMLInputElement*>(asObject(slot.slotBase()));
+ return castedThis->type(exec);
}
JSValue jsHTMLInputElementUseMap(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLInputElement* castedThis = static_cast<JSHTMLInputElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLInputElement* imp = static_cast<HTMLInputElement*>(static_cast<JSHTMLInputElement*>(asObject(slot.slotBase()))->impl());
+ HTMLInputElement* imp = static_cast<HTMLInputElement*>(castedThis->impl());
return jsString(exec, imp->useMap());
}
JSValue jsHTMLInputElementValue(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLInputElement* castedThis = static_cast<JSHTMLInputElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLInputElement* imp = static_cast<HTMLInputElement*>(static_cast<JSHTMLInputElement*>(asObject(slot.slotBase()))->impl());
+ HTMLInputElement* imp = static_cast<HTMLInputElement*>(castedThis->impl());
return jsString(exec, imp->value());
}
JSValue jsHTMLInputElementWillValidate(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLInputElement* castedThis = static_cast<JSHTMLInputElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLInputElement* imp = static_cast<HTMLInputElement*>(static_cast<JSHTMLInputElement*>(asObject(slot.slotBase()))->impl());
+ HTMLInputElement* imp = static_cast<HTMLInputElement*>(castedThis->impl());
return jsBoolean(imp->willValidate());
}
JSValue jsHTMLInputElementIndeterminate(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLInputElement* castedThis = static_cast<JSHTMLInputElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLInputElement* imp = static_cast<HTMLInputElement*>(static_cast<JSHTMLInputElement*>(asObject(slot.slotBase()))->impl());
+ HTMLInputElement* imp = static_cast<HTMLInputElement*>(castedThis->impl());
return jsBoolean(imp->indeterminate());
}
JSValue jsHTMLInputElementSelectionStart(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLInputElement*>(asObject(slot.slotBase()))->selectionStart(exec);
+ JSHTMLInputElement* castedThis = static_cast<JSHTMLInputElement*>(asObject(slot.slotBase()));
+ return castedThis->selectionStart(exec);
}
JSValue jsHTMLInputElementSelectionEnd(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLInputElement*>(asObject(slot.slotBase()))->selectionEnd(exec);
+ JSHTMLInputElement* castedThis = static_cast<JSHTMLInputElement*>(asObject(slot.slotBase()));
+ return castedThis->selectionEnd(exec);
}
JSValue jsHTMLInputElementFiles(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLInputElement* castedThis = static_cast<JSHTMLInputElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLInputElement* imp = static_cast<HTMLInputElement*>(static_cast<JSHTMLInputElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->files()));
+ HTMLInputElement* imp = static_cast<HTMLInputElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->files()));
}
JSValue jsHTMLInputElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLInputElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLInputElement* domObject = static_cast<JSHTMLInputElement*>(asObject(slot.slotBase()));
+ return JSHTMLInputElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLInputElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -412,6 +468,12 @@ void setJSHTMLInputElementName(ExecState* exec, JSObject* thisObject, JSValue va
imp->setName(valueToStringWithNullCheck(exec, value));
}
+void setJSHTMLInputElementPattern(ExecState* exec, JSObject* thisObject, JSValue value)
+{
+ HTMLInputElement* imp = static_cast<HTMLInputElement*>(static_cast<JSHTMLInputElement*>(thisObject)->impl());
+ imp->setAttribute(HTMLNames::patternAttr, value.toString(exec));
+}
+
void setJSHTMLInputElementPlaceholder(ExecState* exec, JSObject* thisObject, JSValue value)
{
HTMLInputElement* imp = static_cast<HTMLInputElement*>(static_cast<JSHTMLInputElement*>(thisObject)->impl());
@@ -424,6 +486,12 @@ void setJSHTMLInputElementReadOnly(ExecState* exec, JSObject* thisObject, JSValu
imp->setReadOnly(value.toBoolean(exec));
}
+void setJSHTMLInputElementRequired(ExecState* exec, JSObject* thisObject, JSValue value)
+{
+ HTMLInputElement* imp = static_cast<HTMLInputElement*>(static_cast<JSHTMLInputElement*>(thisObject)->impl());
+ imp->setRequired(value.toBoolean(exec));
+}
+
void setJSHTMLInputElementSize(ExecState* exec, JSObject* thisObject, JSValue value)
{
HTMLInputElement* imp = static_cast<HTMLInputElement*>(static_cast<JSHTMLInputElement*>(thisObject)->impl());
@@ -470,9 +538,9 @@ void setJSHTMLInputElementSelectionEnd(ExecState* exec, JSObject* thisObject, JS
static_cast<JSHTMLInputElement*>(thisObject)->setSelectionEnd(exec, value);
}
-JSValue JSHTMLInputElement::getConstructor(ExecState* exec)
+JSValue JSHTMLInputElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLInputElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLInputElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsHTMLInputElementPrototypeFunctionSelect(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLInputElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLInputElement.h
index ef9431c..8a5f61a 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLInputElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLInputElement.h
@@ -30,7 +30,7 @@ class HTMLInputElement;
class JSHTMLInputElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLInputElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLInputElement>);
+ JSHTMLInputElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLInputElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -42,7 +42,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
// Custom attributes
JSC::JSValue type(JSC::ExecState*) const;
@@ -82,6 +82,7 @@ void setJSHTMLInputElementDefaultValue(JSC::ExecState*, JSC::JSObject*, JSC::JSV
JSC::JSValue jsHTMLInputElementDefaultChecked(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
void setJSHTMLInputElementDefaultChecked(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
JSC::JSValue jsHTMLInputElementForm(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
+JSC::JSValue jsHTMLInputElementValidity(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
JSC::JSValue jsHTMLInputElementAccept(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
void setJSHTMLInputElementAccept(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
JSC::JSValue jsHTMLInputElementAccessKey(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
@@ -102,10 +103,14 @@ JSC::JSValue jsHTMLInputElementMultiple(JSC::ExecState*, const JSC::Identifier&,
void setJSHTMLInputElementMultiple(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
JSC::JSValue jsHTMLInputElementName(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
void setJSHTMLInputElementName(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
+JSC::JSValue jsHTMLInputElementPattern(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
+void setJSHTMLInputElementPattern(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
JSC::JSValue jsHTMLInputElementPlaceholder(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
void setJSHTMLInputElementPlaceholder(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
JSC::JSValue jsHTMLInputElementReadOnly(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
void setJSHTMLInputElementReadOnly(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
+JSC::JSValue jsHTMLInputElementRequired(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
+void setJSHTMLInputElementRequired(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
JSC::JSValue jsHTMLInputElementSize(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
void setJSHTMLInputElementSize(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
JSC::JSValue jsHTMLInputElementSrc(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLIsIndexElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLIsIndexElement.cpp
index d23f3f1..b937fb5 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLIsIndexElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLIsIndexElement.cpp
@@ -44,7 +44,7 @@ static const HashTableValue JSHTMLIsIndexElementTableValues[4] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLIsIndexElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLIsIndexElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 7, JSHTMLIsIndexElementTableValues, 0 };
#else
@@ -58,19 +58,19 @@ static const HashTableValue JSHTMLIsIndexElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLIsIndexElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLIsIndexElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLIsIndexElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLIsIndexElementConstructorTableValues, 0 };
#endif
-class JSHTMLIsIndexElementConstructor : public DOMObject {
+class JSHTMLIsIndexElementConstructor : public DOMConstructorObject {
public:
- JSHTMLIsIndexElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLIsIndexElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLIsIndexElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLIsIndexElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLIsIndexElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLIsIndexElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -96,7 +96,7 @@ static const HashTableValue JSHTMLIsIndexElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLIsIndexElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLIsIndexElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLIsIndexElementPrototypeTableValues, 0 };
#else
@@ -112,8 +112,8 @@ JSObject* JSHTMLIsIndexElementPrototype::self(ExecState* exec, JSGlobalObject* g
const ClassInfo JSHTMLIsIndexElement::s_info = { "HTMLIsIndexElement", &JSHTMLInputElement::s_info, &JSHTMLIsIndexElementTable, 0 };
-JSHTMLIsIndexElement::JSHTMLIsIndexElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLIsIndexElement> impl)
- : JSHTMLInputElement(structure, impl)
+JSHTMLIsIndexElement::JSHTMLIsIndexElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLIsIndexElement> impl)
+ : JSHTMLInputElement(structure, globalObject, impl)
{
}
@@ -129,21 +129,24 @@ bool JSHTMLIsIndexElement::getOwnPropertySlot(ExecState* exec, const Identifier&
JSValue jsHTMLIsIndexElementForm(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLIsIndexElement* castedThis = static_cast<JSHTMLIsIndexElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLIsIndexElement* imp = static_cast<HTMLIsIndexElement*>(static_cast<JSHTMLIsIndexElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->form()));
+ HTMLIsIndexElement* imp = static_cast<HTMLIsIndexElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->form()));
}
JSValue jsHTMLIsIndexElementPrompt(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLIsIndexElement* castedThis = static_cast<JSHTMLIsIndexElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLIsIndexElement* imp = static_cast<HTMLIsIndexElement*>(static_cast<JSHTMLIsIndexElement*>(asObject(slot.slotBase()))->impl());
+ HTMLIsIndexElement* imp = static_cast<HTMLIsIndexElement*>(castedThis->impl());
return jsString(exec, imp->prompt());
}
JSValue jsHTMLIsIndexElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLIsIndexElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLIsIndexElement* domObject = static_cast<JSHTMLIsIndexElement*>(asObject(slot.slotBase()));
+ return JSHTMLIsIndexElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLIsIndexElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -156,9 +159,9 @@ void setJSHTMLIsIndexElementPrompt(ExecState* exec, JSObject* thisObject, JSValu
imp->setPrompt(valueToStringWithNullCheck(exec, value));
}
-JSValue JSHTMLIsIndexElement::getConstructor(ExecState* exec)
+JSValue JSHTMLIsIndexElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLIsIndexElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLIsIndexElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLIsIndexElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLIsIndexElement.h
index a4a3363..335e785 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLIsIndexElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLIsIndexElement.h
@@ -30,7 +30,7 @@ class HTMLIsIndexElement;
class JSHTMLIsIndexElement : public JSHTMLInputElement {
typedef JSHTMLInputElement Base;
public:
- JSHTMLIsIndexElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLIsIndexElement>);
+ JSHTMLIsIndexElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLIsIndexElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -42,7 +42,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLLIElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLLIElement.cpp
index 35f00d2..f82c7b0 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLLIElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLLIElement.cpp
@@ -43,7 +43,7 @@ static const HashTableValue JSHTMLLIElementTableValues[4] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLLIElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLLIElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 31, JSHTMLLIElementTableValues, 0 };
#else
@@ -57,19 +57,19 @@ static const HashTableValue JSHTMLLIElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLLIElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLLIElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLLIElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLLIElementConstructorTableValues, 0 };
#endif
-class JSHTMLLIElementConstructor : public DOMObject {
+class JSHTMLLIElementConstructor : public DOMConstructorObject {
public:
- JSHTMLLIElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLLIElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLLIElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLLIElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLLIElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLLIElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -95,7 +95,7 @@ static const HashTableValue JSHTMLLIElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLLIElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLLIElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLLIElementPrototypeTableValues, 0 };
#else
@@ -111,8 +111,8 @@ JSObject* JSHTMLLIElementPrototype::self(ExecState* exec, JSGlobalObject* global
const ClassInfo JSHTMLLIElement::s_info = { "HTMLLIElement", &JSHTMLElement::s_info, &JSHTMLLIElementTable, 0 };
-JSHTMLLIElement::JSHTMLLIElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLLIElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLLIElement::JSHTMLLIElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLLIElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -128,21 +128,24 @@ bool JSHTMLLIElement::getOwnPropertySlot(ExecState* exec, const Identifier& prop
JSValue jsHTMLLIElementType(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLLIElement* castedThis = static_cast<JSHTMLLIElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLLIElement* imp = static_cast<HTMLLIElement*>(static_cast<JSHTMLLIElement*>(asObject(slot.slotBase()))->impl());
+ HTMLLIElement* imp = static_cast<HTMLLIElement*>(castedThis->impl());
return jsString(exec, imp->type());
}
JSValue jsHTMLLIElementValue(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLLIElement* castedThis = static_cast<JSHTMLLIElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLLIElement* imp = static_cast<HTMLLIElement*>(static_cast<JSHTMLLIElement*>(asObject(slot.slotBase()))->impl());
+ HTMLLIElement* imp = static_cast<HTMLLIElement*>(castedThis->impl());
return jsNumber(exec, imp->value());
}
JSValue jsHTMLLIElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLLIElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLLIElement* domObject = static_cast<JSHTMLLIElement*>(asObject(slot.slotBase()));
+ return JSHTMLLIElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLLIElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -161,9 +164,9 @@ void setJSHTMLLIElementValue(ExecState* exec, JSObject* thisObject, JSValue valu
imp->setValue(value.toInt32(exec));
}
-JSValue JSHTMLLIElement::getConstructor(ExecState* exec)
+JSValue JSHTMLLIElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLLIElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLLIElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLLIElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLLIElement.h
index 1c3ffcd..92ee1a6 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLLIElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLLIElement.h
@@ -30,7 +30,7 @@ class HTMLLIElement;
class JSHTMLLIElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLLIElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLLIElement>);
+ JSHTMLLIElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLLIElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -42,7 +42,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLLabelElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLLabelElement.cpp
index 24d1f57..c765a38 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLLabelElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLLabelElement.cpp
@@ -45,7 +45,7 @@ static const HashTableValue JSHTMLLabelElementTableValues[5] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLLabelElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLLabelElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 31, JSHTMLLabelElementTableValues, 0 };
#else
@@ -59,19 +59,19 @@ static const HashTableValue JSHTMLLabelElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLLabelElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLLabelElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLLabelElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLLabelElementConstructorTableValues, 0 };
#endif
-class JSHTMLLabelElementConstructor : public DOMObject {
+class JSHTMLLabelElementConstructor : public DOMConstructorObject {
public:
- JSHTMLLabelElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLLabelElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLLabelElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLLabelElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLLabelElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLLabelElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -97,7 +97,7 @@ static const HashTableValue JSHTMLLabelElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLLabelElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLLabelElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLLabelElementPrototypeTableValues, 0 };
#else
@@ -113,8 +113,8 @@ JSObject* JSHTMLLabelElementPrototype::self(ExecState* exec, JSGlobalObject* glo
const ClassInfo JSHTMLLabelElement::s_info = { "HTMLLabelElement", &JSHTMLElement::s_info, &JSHTMLLabelElementTable, 0 };
-JSHTMLLabelElement::JSHTMLLabelElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLLabelElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLLabelElement::JSHTMLLabelElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLLabelElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -130,28 +130,32 @@ bool JSHTMLLabelElement::getOwnPropertySlot(ExecState* exec, const Identifier& p
JSValue jsHTMLLabelElementForm(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLLabelElement* castedThis = static_cast<JSHTMLLabelElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLLabelElement* imp = static_cast<HTMLLabelElement*>(static_cast<JSHTMLLabelElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->form()));
+ HTMLLabelElement* imp = static_cast<HTMLLabelElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->form()));
}
JSValue jsHTMLLabelElementAccessKey(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLLabelElement* castedThis = static_cast<JSHTMLLabelElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLLabelElement* imp = static_cast<HTMLLabelElement*>(static_cast<JSHTMLLabelElement*>(asObject(slot.slotBase()))->impl());
+ HTMLLabelElement* imp = static_cast<HTMLLabelElement*>(castedThis->impl());
return jsString(exec, imp->accessKey());
}
JSValue jsHTMLLabelElementHtmlFor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLLabelElement* castedThis = static_cast<JSHTMLLabelElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLLabelElement* imp = static_cast<HTMLLabelElement*>(static_cast<JSHTMLLabelElement*>(asObject(slot.slotBase()))->impl());
+ HTMLLabelElement* imp = static_cast<HTMLLabelElement*>(castedThis->impl());
return jsString(exec, imp->htmlFor());
}
JSValue jsHTMLLabelElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLLabelElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLLabelElement* domObject = static_cast<JSHTMLLabelElement*>(asObject(slot.slotBase()));
+ return JSHTMLLabelElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLLabelElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -170,9 +174,9 @@ void setJSHTMLLabelElementHtmlFor(ExecState* exec, JSObject* thisObject, JSValue
imp->setHtmlFor(valueToStringWithNullCheck(exec, value));
}
-JSValue JSHTMLLabelElement::getConstructor(ExecState* exec)
+JSValue JSHTMLLabelElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLLabelElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLLabelElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLLabelElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLLabelElement.h
index 32eb056..4ec25cc 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLLabelElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLLabelElement.h
@@ -30,7 +30,7 @@ class HTMLLabelElement;
class JSHTMLLabelElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLLabelElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLLabelElement>);
+ JSHTMLLabelElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLLabelElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -42,7 +42,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLLegendElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLLegendElement.cpp
index b52f3e9..1094cf4 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLLegendElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLLegendElement.cpp
@@ -45,7 +45,7 @@ static const HashTableValue JSHTMLLegendElementTableValues[5] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLLegendElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLLegendElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 31, JSHTMLLegendElementTableValues, 0 };
#else
@@ -59,19 +59,19 @@ static const HashTableValue JSHTMLLegendElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLLegendElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLLegendElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLLegendElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLLegendElementConstructorTableValues, 0 };
#endif
-class JSHTMLLegendElementConstructor : public DOMObject {
+class JSHTMLLegendElementConstructor : public DOMConstructorObject {
public:
- JSHTMLLegendElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLLegendElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLLegendElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLLegendElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLLegendElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLLegendElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -97,7 +97,7 @@ static const HashTableValue JSHTMLLegendElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLLegendElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLLegendElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLLegendElementPrototypeTableValues, 0 };
#else
@@ -113,8 +113,8 @@ JSObject* JSHTMLLegendElementPrototype::self(ExecState* exec, JSGlobalObject* gl
const ClassInfo JSHTMLLegendElement::s_info = { "HTMLLegendElement", &JSHTMLElement::s_info, &JSHTMLLegendElementTable, 0 };
-JSHTMLLegendElement::JSHTMLLegendElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLLegendElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLLegendElement::JSHTMLLegendElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLLegendElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -130,28 +130,32 @@ bool JSHTMLLegendElement::getOwnPropertySlot(ExecState* exec, const Identifier&
JSValue jsHTMLLegendElementForm(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLLegendElement* castedThis = static_cast<JSHTMLLegendElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLLegendElement* imp = static_cast<HTMLLegendElement*>(static_cast<JSHTMLLegendElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->form()));
+ HTMLLegendElement* imp = static_cast<HTMLLegendElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->form()));
}
JSValue jsHTMLLegendElementAccessKey(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLLegendElement* castedThis = static_cast<JSHTMLLegendElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLLegendElement* imp = static_cast<HTMLLegendElement*>(static_cast<JSHTMLLegendElement*>(asObject(slot.slotBase()))->impl());
+ HTMLLegendElement* imp = static_cast<HTMLLegendElement*>(castedThis->impl());
return jsString(exec, imp->accessKey());
}
JSValue jsHTMLLegendElementAlign(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLLegendElement* castedThis = static_cast<JSHTMLLegendElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLLegendElement* imp = static_cast<HTMLLegendElement*>(static_cast<JSHTMLLegendElement*>(asObject(slot.slotBase()))->impl());
+ HTMLLegendElement* imp = static_cast<HTMLLegendElement*>(castedThis->impl());
return jsString(exec, imp->align());
}
JSValue jsHTMLLegendElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLLegendElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLLegendElement* domObject = static_cast<JSHTMLLegendElement*>(asObject(slot.slotBase()));
+ return JSHTMLLegendElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLLegendElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -170,9 +174,9 @@ void setJSHTMLLegendElementAlign(ExecState* exec, JSObject* thisObject, JSValue
imp->setAlign(valueToStringWithNullCheck(exec, value));
}
-JSValue JSHTMLLegendElement::getConstructor(ExecState* exec)
+JSValue JSHTMLLegendElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLLegendElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLLegendElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLLegendElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLLegendElement.h
index 9f0b2c2..507a8ba 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLLegendElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLLegendElement.h
@@ -30,7 +30,7 @@ class HTMLLegendElement;
class JSHTMLLegendElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLLegendElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLLegendElement>);
+ JSHTMLLegendElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLLegendElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -42,7 +42,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLLinkElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLLinkElement.cpp
index c40004e..6163872 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLLinkElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLLinkElement.cpp
@@ -52,7 +52,7 @@ static const HashTableValue JSHTMLLinkElementTableValues[12] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLLinkElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLLinkElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 63, JSHTMLLinkElementTableValues, 0 };
#else
@@ -66,19 +66,19 @@ static const HashTableValue JSHTMLLinkElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLLinkElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLLinkElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLLinkElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLLinkElementConstructorTableValues, 0 };
#endif
-class JSHTMLLinkElementConstructor : public DOMObject {
+class JSHTMLLinkElementConstructor : public DOMConstructorObject {
public:
- JSHTMLLinkElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLLinkElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLLinkElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLLinkElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLLinkElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLLinkElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -104,7 +104,7 @@ static const HashTableValue JSHTMLLinkElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLLinkElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLLinkElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLLinkElementPrototypeTableValues, 0 };
#else
@@ -120,8 +120,8 @@ JSObject* JSHTMLLinkElementPrototype::self(ExecState* exec, JSGlobalObject* glob
const ClassInfo JSHTMLLinkElement::s_info = { "HTMLLinkElement", &JSHTMLElement::s_info, &JSHTMLLinkElementTable, 0 };
-JSHTMLLinkElement::JSHTMLLinkElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLLinkElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLLinkElement::JSHTMLLinkElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLLinkElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -137,77 +137,88 @@ bool JSHTMLLinkElement::getOwnPropertySlot(ExecState* exec, const Identifier& pr
JSValue jsHTMLLinkElementDisabled(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLLinkElement* castedThis = static_cast<JSHTMLLinkElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLLinkElement* imp = static_cast<HTMLLinkElement*>(static_cast<JSHTMLLinkElement*>(asObject(slot.slotBase()))->impl());
+ HTMLLinkElement* imp = static_cast<HTMLLinkElement*>(castedThis->impl());
return jsBoolean(imp->disabled());
}
JSValue jsHTMLLinkElementCharset(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLLinkElement* castedThis = static_cast<JSHTMLLinkElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLLinkElement* imp = static_cast<HTMLLinkElement*>(static_cast<JSHTMLLinkElement*>(asObject(slot.slotBase()))->impl());
+ HTMLLinkElement* imp = static_cast<HTMLLinkElement*>(castedThis->impl());
return jsString(exec, imp->charset());
}
JSValue jsHTMLLinkElementHref(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLLinkElement* castedThis = static_cast<JSHTMLLinkElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLLinkElement* imp = static_cast<HTMLLinkElement*>(static_cast<JSHTMLLinkElement*>(asObject(slot.slotBase()))->impl());
+ HTMLLinkElement* imp = static_cast<HTMLLinkElement*>(castedThis->impl());
return jsString(exec, imp->href());
}
JSValue jsHTMLLinkElementHreflang(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLLinkElement* castedThis = static_cast<JSHTMLLinkElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLLinkElement* imp = static_cast<HTMLLinkElement*>(static_cast<JSHTMLLinkElement*>(asObject(slot.slotBase()))->impl());
+ HTMLLinkElement* imp = static_cast<HTMLLinkElement*>(castedThis->impl());
return jsString(exec, imp->hreflang());
}
JSValue jsHTMLLinkElementMedia(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLLinkElement* castedThis = static_cast<JSHTMLLinkElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLLinkElement* imp = static_cast<HTMLLinkElement*>(static_cast<JSHTMLLinkElement*>(asObject(slot.slotBase()))->impl());
+ HTMLLinkElement* imp = static_cast<HTMLLinkElement*>(castedThis->impl());
return jsString(exec, imp->media());
}
JSValue jsHTMLLinkElementRel(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLLinkElement* castedThis = static_cast<JSHTMLLinkElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLLinkElement* imp = static_cast<HTMLLinkElement*>(static_cast<JSHTMLLinkElement*>(asObject(slot.slotBase()))->impl());
+ HTMLLinkElement* imp = static_cast<HTMLLinkElement*>(castedThis->impl());
return jsString(exec, imp->rel());
}
JSValue jsHTMLLinkElementRev(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLLinkElement* castedThis = static_cast<JSHTMLLinkElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLLinkElement* imp = static_cast<HTMLLinkElement*>(static_cast<JSHTMLLinkElement*>(asObject(slot.slotBase()))->impl());
+ HTMLLinkElement* imp = static_cast<HTMLLinkElement*>(castedThis->impl());
return jsString(exec, imp->rev());
}
JSValue jsHTMLLinkElementTarget(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLLinkElement* castedThis = static_cast<JSHTMLLinkElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLLinkElement* imp = static_cast<HTMLLinkElement*>(static_cast<JSHTMLLinkElement*>(asObject(slot.slotBase()))->impl());
+ HTMLLinkElement* imp = static_cast<HTMLLinkElement*>(castedThis->impl());
return jsString(exec, imp->target());
}
JSValue jsHTMLLinkElementType(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLLinkElement* castedThis = static_cast<JSHTMLLinkElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLLinkElement* imp = static_cast<HTMLLinkElement*>(static_cast<JSHTMLLinkElement*>(asObject(slot.slotBase()))->impl());
+ HTMLLinkElement* imp = static_cast<HTMLLinkElement*>(castedThis->impl());
return jsString(exec, imp->type());
}
JSValue jsHTMLLinkElementSheet(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLLinkElement* castedThis = static_cast<JSHTMLLinkElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLLinkElement* imp = static_cast<HTMLLinkElement*>(static_cast<JSHTMLLinkElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->sheet()));
+ HTMLLinkElement* imp = static_cast<HTMLLinkElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->sheet()));
}
JSValue jsHTMLLinkElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLLinkElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLLinkElement* domObject = static_cast<JSHTMLLinkElement*>(asObject(slot.slotBase()));
+ return JSHTMLLinkElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLLinkElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -268,9 +279,9 @@ void setJSHTMLLinkElementType(ExecState* exec, JSObject* thisObject, JSValue val
imp->setType(valueToStringWithNullCheck(exec, value));
}
-JSValue JSHTMLLinkElement::getConstructor(ExecState* exec)
+JSValue JSHTMLLinkElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLLinkElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLLinkElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLLinkElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLLinkElement.h
index d1bb4de..4d3e094 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLLinkElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLLinkElement.h
@@ -30,7 +30,7 @@ class HTMLLinkElement;
class JSHTMLLinkElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLLinkElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLLinkElement>);
+ JSHTMLLinkElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLLinkElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -42,7 +42,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLMapElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLMapElement.cpp
index 458c3f1..ab7fcd6 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLMapElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLMapElement.cpp
@@ -44,7 +44,7 @@ static const HashTableValue JSHTMLMapElementTableValues[4] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLMapElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLMapElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 127, JSHTMLMapElementTableValues, 0 };
#else
@@ -58,19 +58,19 @@ static const HashTableValue JSHTMLMapElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLMapElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLMapElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLMapElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLMapElementConstructorTableValues, 0 };
#endif
-class JSHTMLMapElementConstructor : public DOMObject {
+class JSHTMLMapElementConstructor : public DOMConstructorObject {
public:
- JSHTMLMapElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLMapElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLMapElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLMapElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLMapElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLMapElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -96,7 +96,7 @@ static const HashTableValue JSHTMLMapElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLMapElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLMapElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLMapElementPrototypeTableValues, 0 };
#else
@@ -112,8 +112,8 @@ JSObject* JSHTMLMapElementPrototype::self(ExecState* exec, JSGlobalObject* globa
const ClassInfo JSHTMLMapElement::s_info = { "HTMLMapElement", &JSHTMLElement::s_info, &JSHTMLMapElementTable, 0 };
-JSHTMLMapElement::JSHTMLMapElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLMapElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLMapElement::JSHTMLMapElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLMapElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -129,21 +129,24 @@ bool JSHTMLMapElement::getOwnPropertySlot(ExecState* exec, const Identifier& pro
JSValue jsHTMLMapElementAreas(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLMapElement* castedThis = static_cast<JSHTMLMapElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLMapElement* imp = static_cast<HTMLMapElement*>(static_cast<JSHTMLMapElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->areas()));
+ HTMLMapElement* imp = static_cast<HTMLMapElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->areas()));
}
JSValue jsHTMLMapElementName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLMapElement* castedThis = static_cast<JSHTMLMapElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLMapElement* imp = static_cast<HTMLMapElement*>(static_cast<JSHTMLMapElement*>(asObject(slot.slotBase()))->impl());
+ HTMLMapElement* imp = static_cast<HTMLMapElement*>(castedThis->impl());
return jsString(exec, imp->name());
}
JSValue jsHTMLMapElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLMapElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLMapElement* domObject = static_cast<JSHTMLMapElement*>(asObject(slot.slotBase()));
+ return JSHTMLMapElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLMapElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -156,9 +159,9 @@ void setJSHTMLMapElementName(ExecState* exec, JSObject* thisObject, JSValue valu
imp->setName(valueToStringWithNullCheck(exec, value));
}
-JSValue JSHTMLMapElement::getConstructor(ExecState* exec)
+JSValue JSHTMLMapElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLMapElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLMapElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLMapElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLMapElement.h
index 8476c3a..23d3a90 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLMapElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLMapElement.h
@@ -30,7 +30,7 @@ class HTMLMapElement;
class JSHTMLMapElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLMapElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLMapElement>);
+ JSHTMLMapElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLMapElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -42,7 +42,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLMarqueeElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLMarqueeElement.cpp
index 90f090f..be92487 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLMarqueeElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLMarqueeElement.cpp
@@ -39,7 +39,7 @@ static const HashTableValue JSHTMLMarqueeElementTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLMarqueeElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLMarqueeElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLMarqueeElementTableValues, 0 };
#else
@@ -53,19 +53,19 @@ static const HashTableValue JSHTMLMarqueeElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLMarqueeElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLMarqueeElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLMarqueeElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLMarqueeElementConstructorTableValues, 0 };
#endif
-class JSHTMLMarqueeElementConstructor : public DOMObject {
+class JSHTMLMarqueeElementConstructor : public DOMConstructorObject {
public:
- JSHTMLMarqueeElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLMarqueeElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLMarqueeElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLMarqueeElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLMarqueeElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLMarqueeElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -93,7 +93,7 @@ static const HashTableValue JSHTMLMarqueeElementPrototypeTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLMarqueeElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLMarqueeElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 7, JSHTMLMarqueeElementPrototypeTableValues, 0 };
#else
@@ -114,8 +114,8 @@ bool JSHTMLMarqueeElementPrototype::getOwnPropertySlot(ExecState* exec, const Id
const ClassInfo JSHTMLMarqueeElement::s_info = { "HTMLMarqueeElement", &JSHTMLElement::s_info, &JSHTMLMarqueeElementTable, 0 };
-JSHTMLMarqueeElement::JSHTMLMarqueeElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLMarqueeElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLMarqueeElement::JSHTMLMarqueeElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLMarqueeElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -131,11 +131,12 @@ bool JSHTMLMarqueeElement::getOwnPropertySlot(ExecState* exec, const Identifier&
JSValue jsHTMLMarqueeElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLMarqueeElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLMarqueeElement* domObject = static_cast<JSHTMLMarqueeElement*>(asObject(slot.slotBase()));
+ return JSHTMLMarqueeElement::getConstructor(exec, domObject->globalObject());
}
-JSValue JSHTMLMarqueeElement::getConstructor(ExecState* exec)
+JSValue JSHTMLMarqueeElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLMarqueeElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLMarqueeElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsHTMLMarqueeElementPrototypeFunctionStart(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLMarqueeElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLMarqueeElement.h
index 238b8d3..b1ec1af 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLMarqueeElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLMarqueeElement.h
@@ -30,7 +30,7 @@ class HTMLMarqueeElement;
class JSHTMLMarqueeElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLMarqueeElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLMarqueeElement>);
+ JSHTMLMarqueeElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLMarqueeElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
@@ -41,7 +41,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLMediaElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLMediaElement.cpp
index 1f04d40..2778b6e 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLMediaElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLMediaElement.cpp
@@ -72,7 +72,7 @@ static const HashTableValue JSHTMLMediaElementTableValues[25] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLMediaElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLMediaElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 1023, JSHTMLMediaElementTableValues, 0 };
#else
@@ -96,19 +96,19 @@ static const HashTableValue JSHTMLMediaElementConstructorTableValues[11] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLMediaElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLMediaElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 63, JSHTMLMediaElementConstructorTableValues, 0 };
#else
{ 33, 31, JSHTMLMediaElementConstructorTableValues, 0 };
#endif
-class JSHTMLMediaElementConstructor : public DOMObject {
+class JSHTMLMediaElementConstructor : public DOMConstructorObject {
public:
- JSHTMLMediaElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLMediaElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLMediaElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLMediaElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLMediaElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLMediaElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -148,7 +148,7 @@ static const HashTableValue JSHTMLMediaElementPrototypeTableValues[15] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLMediaElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLMediaElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 63, JSHTMLMediaElementPrototypeTableValues, 0 };
#else
@@ -169,8 +169,8 @@ bool JSHTMLMediaElementPrototype::getOwnPropertySlot(ExecState* exec, const Iden
const ClassInfo JSHTMLMediaElement::s_info = { "HTMLMediaElement", &JSHTMLElement::s_info, &JSHTMLMediaElementTable, 0 };
-JSHTMLMediaElement::JSHTMLMediaElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLMediaElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLMediaElement::JSHTMLMediaElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLMediaElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -186,168 +186,192 @@ bool JSHTMLMediaElement::getOwnPropertySlot(ExecState* exec, const Identifier& p
JSValue jsHTMLMediaElementError(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLMediaElement* castedThis = static_cast<JSHTMLMediaElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLMediaElement* imp = static_cast<HTMLMediaElement*>(static_cast<JSHTMLMediaElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->error()));
+ HTMLMediaElement* imp = static_cast<HTMLMediaElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->error()));
}
JSValue jsHTMLMediaElementSrc(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLMediaElement* castedThis = static_cast<JSHTMLMediaElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLMediaElement* imp = static_cast<HTMLMediaElement*>(static_cast<JSHTMLMediaElement*>(asObject(slot.slotBase()))->impl());
+ HTMLMediaElement* imp = static_cast<HTMLMediaElement*>(castedThis->impl());
return jsString(exec, imp->src());
}
JSValue jsHTMLMediaElementCurrentSrc(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLMediaElement* castedThis = static_cast<JSHTMLMediaElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLMediaElement* imp = static_cast<HTMLMediaElement*>(static_cast<JSHTMLMediaElement*>(asObject(slot.slotBase()))->impl());
+ HTMLMediaElement* imp = static_cast<HTMLMediaElement*>(castedThis->impl());
return jsString(exec, imp->currentSrc());
}
JSValue jsHTMLMediaElementNetworkState(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLMediaElement* castedThis = static_cast<JSHTMLMediaElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLMediaElement* imp = static_cast<HTMLMediaElement*>(static_cast<JSHTMLMediaElement*>(asObject(slot.slotBase()))->impl());
+ HTMLMediaElement* imp = static_cast<HTMLMediaElement*>(castedThis->impl());
return jsNumber(exec, imp->networkState());
}
JSValue jsHTMLMediaElementAutobuffer(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLMediaElement* castedThis = static_cast<JSHTMLMediaElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLMediaElement* imp = static_cast<HTMLMediaElement*>(static_cast<JSHTMLMediaElement*>(asObject(slot.slotBase()))->impl());
+ HTMLMediaElement* imp = static_cast<HTMLMediaElement*>(castedThis->impl());
return jsBoolean(imp->autobuffer());
}
JSValue jsHTMLMediaElementBuffered(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLMediaElement* castedThis = static_cast<JSHTMLMediaElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLMediaElement* imp = static_cast<HTMLMediaElement*>(static_cast<JSHTMLMediaElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->buffered()));
+ HTMLMediaElement* imp = static_cast<HTMLMediaElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->buffered()));
}
JSValue jsHTMLMediaElementReadyState(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLMediaElement* castedThis = static_cast<JSHTMLMediaElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLMediaElement* imp = static_cast<HTMLMediaElement*>(static_cast<JSHTMLMediaElement*>(asObject(slot.slotBase()))->impl());
+ HTMLMediaElement* imp = static_cast<HTMLMediaElement*>(castedThis->impl());
return jsNumber(exec, imp->readyState());
}
JSValue jsHTMLMediaElementSeeking(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLMediaElement* castedThis = static_cast<JSHTMLMediaElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLMediaElement* imp = static_cast<HTMLMediaElement*>(static_cast<JSHTMLMediaElement*>(asObject(slot.slotBase()))->impl());
+ HTMLMediaElement* imp = static_cast<HTMLMediaElement*>(castedThis->impl());
return jsBoolean(imp->seeking());
}
JSValue jsHTMLMediaElementCurrentTime(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLMediaElement* castedThis = static_cast<JSHTMLMediaElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLMediaElement* imp = static_cast<HTMLMediaElement*>(static_cast<JSHTMLMediaElement*>(asObject(slot.slotBase()))->impl());
+ HTMLMediaElement* imp = static_cast<HTMLMediaElement*>(castedThis->impl());
return jsNumber(exec, imp->currentTime());
}
JSValue jsHTMLMediaElementStartTime(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLMediaElement* castedThis = static_cast<JSHTMLMediaElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLMediaElement* imp = static_cast<HTMLMediaElement*>(static_cast<JSHTMLMediaElement*>(asObject(slot.slotBase()))->impl());
+ HTMLMediaElement* imp = static_cast<HTMLMediaElement*>(castedThis->impl());
return jsNumber(exec, imp->startTime());
}
JSValue jsHTMLMediaElementDuration(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLMediaElement* castedThis = static_cast<JSHTMLMediaElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLMediaElement* imp = static_cast<HTMLMediaElement*>(static_cast<JSHTMLMediaElement*>(asObject(slot.slotBase()))->impl());
+ HTMLMediaElement* imp = static_cast<HTMLMediaElement*>(castedThis->impl());
return jsNumber(exec, imp->duration());
}
JSValue jsHTMLMediaElementPaused(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLMediaElement* castedThis = static_cast<JSHTMLMediaElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLMediaElement* imp = static_cast<HTMLMediaElement*>(static_cast<JSHTMLMediaElement*>(asObject(slot.slotBase()))->impl());
+ HTMLMediaElement* imp = static_cast<HTMLMediaElement*>(castedThis->impl());
return jsBoolean(imp->paused());
}
JSValue jsHTMLMediaElementDefaultPlaybackRate(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLMediaElement* castedThis = static_cast<JSHTMLMediaElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLMediaElement* imp = static_cast<HTMLMediaElement*>(static_cast<JSHTMLMediaElement*>(asObject(slot.slotBase()))->impl());
+ HTMLMediaElement* imp = static_cast<HTMLMediaElement*>(castedThis->impl());
return jsNumber(exec, imp->defaultPlaybackRate());
}
JSValue jsHTMLMediaElementPlaybackRate(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLMediaElement* castedThis = static_cast<JSHTMLMediaElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLMediaElement* imp = static_cast<HTMLMediaElement*>(static_cast<JSHTMLMediaElement*>(asObject(slot.slotBase()))->impl());
+ HTMLMediaElement* imp = static_cast<HTMLMediaElement*>(castedThis->impl());
return jsNumber(exec, imp->playbackRate());
}
JSValue jsHTMLMediaElementPlayed(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLMediaElement* castedThis = static_cast<JSHTMLMediaElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLMediaElement* imp = static_cast<HTMLMediaElement*>(static_cast<JSHTMLMediaElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->played()));
+ HTMLMediaElement* imp = static_cast<HTMLMediaElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->played()));
}
JSValue jsHTMLMediaElementSeekable(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLMediaElement* castedThis = static_cast<JSHTMLMediaElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLMediaElement* imp = static_cast<HTMLMediaElement*>(static_cast<JSHTMLMediaElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->seekable()));
+ HTMLMediaElement* imp = static_cast<HTMLMediaElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->seekable()));
}
JSValue jsHTMLMediaElementEnded(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLMediaElement* castedThis = static_cast<JSHTMLMediaElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLMediaElement* imp = static_cast<HTMLMediaElement*>(static_cast<JSHTMLMediaElement*>(asObject(slot.slotBase()))->impl());
+ HTMLMediaElement* imp = static_cast<HTMLMediaElement*>(castedThis->impl());
return jsBoolean(imp->ended());
}
JSValue jsHTMLMediaElementAutoplay(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLMediaElement* castedThis = static_cast<JSHTMLMediaElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLMediaElement* imp = static_cast<HTMLMediaElement*>(static_cast<JSHTMLMediaElement*>(asObject(slot.slotBase()))->impl());
+ HTMLMediaElement* imp = static_cast<HTMLMediaElement*>(castedThis->impl());
return jsBoolean(imp->autoplay());
}
JSValue jsHTMLMediaElementLoop(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLMediaElement* castedThis = static_cast<JSHTMLMediaElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLMediaElement* imp = static_cast<HTMLMediaElement*>(static_cast<JSHTMLMediaElement*>(asObject(slot.slotBase()))->impl());
+ HTMLMediaElement* imp = static_cast<HTMLMediaElement*>(castedThis->impl());
return jsBoolean(imp->loop());
}
JSValue jsHTMLMediaElementControls(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLMediaElement* castedThis = static_cast<JSHTMLMediaElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLMediaElement* imp = static_cast<HTMLMediaElement*>(static_cast<JSHTMLMediaElement*>(asObject(slot.slotBase()))->impl());
+ HTMLMediaElement* imp = static_cast<HTMLMediaElement*>(castedThis->impl());
return jsBoolean(imp->controls());
}
JSValue jsHTMLMediaElementVolume(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLMediaElement* castedThis = static_cast<JSHTMLMediaElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLMediaElement* imp = static_cast<HTMLMediaElement*>(static_cast<JSHTMLMediaElement*>(asObject(slot.slotBase()))->impl());
+ HTMLMediaElement* imp = static_cast<HTMLMediaElement*>(castedThis->impl());
return jsNumber(exec, imp->volume());
}
JSValue jsHTMLMediaElementMuted(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLMediaElement* castedThis = static_cast<JSHTMLMediaElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLMediaElement* imp = static_cast<HTMLMediaElement*>(static_cast<JSHTMLMediaElement*>(asObject(slot.slotBase()))->impl());
+ HTMLMediaElement* imp = static_cast<HTMLMediaElement*>(castedThis->impl());
return jsBoolean(imp->muted());
}
JSValue jsHTMLMediaElementWebkitPreservesPitch(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLMediaElement* castedThis = static_cast<JSHTMLMediaElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLMediaElement* imp = static_cast<HTMLMediaElement*>(static_cast<JSHTMLMediaElement*>(asObject(slot.slotBase()))->impl());
+ HTMLMediaElement* imp = static_cast<HTMLMediaElement*>(castedThis->impl());
return jsBoolean(imp->webkitPreservesPitch());
}
JSValue jsHTMLMediaElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLMediaElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLMediaElement* domObject = static_cast<JSHTMLMediaElement*>(asObject(slot.slotBase()));
+ return JSHTMLMediaElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLMediaElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -424,9 +448,9 @@ void setJSHTMLMediaElementWebkitPreservesPitch(ExecState* exec, JSObject* thisOb
imp->setWebkitPreservesPitch(value.toBoolean(exec));
}
-JSValue JSHTMLMediaElement::getConstructor(ExecState* exec)
+JSValue JSHTMLMediaElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLMediaElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLMediaElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsHTMLMediaElementPrototypeFunctionLoad(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLMediaElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLMediaElement.h
index c0fb829..01e1e10 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLMediaElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLMediaElement.h
@@ -32,7 +32,7 @@ class HTMLMediaElement;
class JSHTMLMediaElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLMediaElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLMediaElement>);
+ JSHTMLMediaElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLMediaElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -44,7 +44,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLMenuElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLMenuElement.cpp
index 35ce014..5319a46 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLMenuElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLMenuElement.cpp
@@ -39,7 +39,7 @@ static const HashTableValue JSHTMLMenuElementTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLMenuElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLMenuElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 3, JSHTMLMenuElementTableValues, 0 };
#else
@@ -53,19 +53,19 @@ static const HashTableValue JSHTMLMenuElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLMenuElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLMenuElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLMenuElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLMenuElementConstructorTableValues, 0 };
#endif
-class JSHTMLMenuElementConstructor : public DOMObject {
+class JSHTMLMenuElementConstructor : public DOMConstructorObject {
public:
- JSHTMLMenuElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLMenuElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLMenuElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLMenuElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLMenuElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLMenuElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -91,7 +91,7 @@ static const HashTableValue JSHTMLMenuElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLMenuElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLMenuElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLMenuElementPrototypeTableValues, 0 };
#else
@@ -107,8 +107,8 @@ JSObject* JSHTMLMenuElementPrototype::self(ExecState* exec, JSGlobalObject* glob
const ClassInfo JSHTMLMenuElement::s_info = { "HTMLMenuElement", &JSHTMLElement::s_info, &JSHTMLMenuElementTable, 0 };
-JSHTMLMenuElement::JSHTMLMenuElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLMenuElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLMenuElement::JSHTMLMenuElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLMenuElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -124,14 +124,16 @@ bool JSHTMLMenuElement::getOwnPropertySlot(ExecState* exec, const Identifier& pr
JSValue jsHTMLMenuElementCompact(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLMenuElement* castedThis = static_cast<JSHTMLMenuElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLMenuElement* imp = static_cast<HTMLMenuElement*>(static_cast<JSHTMLMenuElement*>(asObject(slot.slotBase()))->impl());
+ HTMLMenuElement* imp = static_cast<HTMLMenuElement*>(castedThis->impl());
return jsBoolean(imp->compact());
}
JSValue jsHTMLMenuElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLMenuElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLMenuElement* domObject = static_cast<JSHTMLMenuElement*>(asObject(slot.slotBase()));
+ return JSHTMLMenuElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLMenuElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -144,9 +146,9 @@ void setJSHTMLMenuElementCompact(ExecState* exec, JSObject* thisObject, JSValue
imp->setCompact(value.toBoolean(exec));
}
-JSValue JSHTMLMenuElement::getConstructor(ExecState* exec)
+JSValue JSHTMLMenuElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLMenuElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLMenuElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLMenuElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLMenuElement.h
index ca9321c..0002e55 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLMenuElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLMenuElement.h
@@ -30,7 +30,7 @@ class HTMLMenuElement;
class JSHTMLMenuElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLMenuElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLMenuElement>);
+ JSHTMLMenuElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLMenuElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -42,7 +42,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLMetaElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLMetaElement.cpp
index 213c2bf..c1df168 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLMetaElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLMetaElement.cpp
@@ -44,7 +44,7 @@ static const HashTableValue JSHTMLMetaElementTableValues[6] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLMetaElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLMetaElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 127, JSHTMLMetaElementTableValues, 0 };
#else
@@ -58,19 +58,19 @@ static const HashTableValue JSHTMLMetaElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLMetaElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLMetaElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLMetaElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLMetaElementConstructorTableValues, 0 };
#endif
-class JSHTMLMetaElementConstructor : public DOMObject {
+class JSHTMLMetaElementConstructor : public DOMConstructorObject {
public:
- JSHTMLMetaElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLMetaElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLMetaElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLMetaElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLMetaElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLMetaElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -96,7 +96,7 @@ static const HashTableValue JSHTMLMetaElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLMetaElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLMetaElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLMetaElementPrototypeTableValues, 0 };
#else
@@ -112,8 +112,8 @@ JSObject* JSHTMLMetaElementPrototype::self(ExecState* exec, JSGlobalObject* glob
const ClassInfo JSHTMLMetaElement::s_info = { "HTMLMetaElement", &JSHTMLElement::s_info, &JSHTMLMetaElementTable, 0 };
-JSHTMLMetaElement::JSHTMLMetaElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLMetaElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLMetaElement::JSHTMLMetaElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLMetaElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -129,35 +129,40 @@ bool JSHTMLMetaElement::getOwnPropertySlot(ExecState* exec, const Identifier& pr
JSValue jsHTMLMetaElementContent(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLMetaElement* castedThis = static_cast<JSHTMLMetaElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLMetaElement* imp = static_cast<HTMLMetaElement*>(static_cast<JSHTMLMetaElement*>(asObject(slot.slotBase()))->impl());
+ HTMLMetaElement* imp = static_cast<HTMLMetaElement*>(castedThis->impl());
return jsString(exec, imp->content());
}
JSValue jsHTMLMetaElementHttpEquiv(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLMetaElement* castedThis = static_cast<JSHTMLMetaElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLMetaElement* imp = static_cast<HTMLMetaElement*>(static_cast<JSHTMLMetaElement*>(asObject(slot.slotBase()))->impl());
+ HTMLMetaElement* imp = static_cast<HTMLMetaElement*>(castedThis->impl());
return jsString(exec, imp->httpEquiv());
}
JSValue jsHTMLMetaElementName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLMetaElement* castedThis = static_cast<JSHTMLMetaElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLMetaElement* imp = static_cast<HTMLMetaElement*>(static_cast<JSHTMLMetaElement*>(asObject(slot.slotBase()))->impl());
+ HTMLMetaElement* imp = static_cast<HTMLMetaElement*>(castedThis->impl());
return jsString(exec, imp->name());
}
JSValue jsHTMLMetaElementScheme(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLMetaElement* castedThis = static_cast<JSHTMLMetaElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLMetaElement* imp = static_cast<HTMLMetaElement*>(static_cast<JSHTMLMetaElement*>(asObject(slot.slotBase()))->impl());
+ HTMLMetaElement* imp = static_cast<HTMLMetaElement*>(castedThis->impl());
return jsString(exec, imp->scheme());
}
JSValue jsHTMLMetaElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLMetaElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLMetaElement* domObject = static_cast<JSHTMLMetaElement*>(asObject(slot.slotBase()));
+ return JSHTMLMetaElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLMetaElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -188,9 +193,9 @@ void setJSHTMLMetaElementScheme(ExecState* exec, JSObject* thisObject, JSValue v
imp->setScheme(valueToStringWithNullCheck(exec, value));
}
-JSValue JSHTMLMetaElement::getConstructor(ExecState* exec)
+JSValue JSHTMLMetaElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLMetaElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLMetaElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLMetaElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLMetaElement.h
index ee531c5..acb73af 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLMetaElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLMetaElement.h
@@ -30,7 +30,7 @@ class HTMLMetaElement;
class JSHTMLMetaElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLMetaElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLMetaElement>);
+ JSHTMLMetaElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLMetaElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -42,7 +42,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLModElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLModElement.cpp
index b55516c..27b71e9 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLModElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLModElement.cpp
@@ -42,7 +42,7 @@ static const HashTableValue JSHTMLModElementTableValues[4] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLModElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLModElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 63, JSHTMLModElementTableValues, 0 };
#else
@@ -56,19 +56,19 @@ static const HashTableValue JSHTMLModElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLModElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLModElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLModElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLModElementConstructorTableValues, 0 };
#endif
-class JSHTMLModElementConstructor : public DOMObject {
+class JSHTMLModElementConstructor : public DOMConstructorObject {
public:
- JSHTMLModElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLModElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLModElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLModElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLModElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLModElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -94,7 +94,7 @@ static const HashTableValue JSHTMLModElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLModElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLModElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLModElementPrototypeTableValues, 0 };
#else
@@ -110,8 +110,8 @@ JSObject* JSHTMLModElementPrototype::self(ExecState* exec, JSGlobalObject* globa
const ClassInfo JSHTMLModElement::s_info = { "HTMLModElement", &JSHTMLElement::s_info, &JSHTMLModElementTable, 0 };
-JSHTMLModElement::JSHTMLModElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLModElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLModElement::JSHTMLModElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLModElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -127,21 +127,24 @@ bool JSHTMLModElement::getOwnPropertySlot(ExecState* exec, const Identifier& pro
JSValue jsHTMLModElementCite(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLModElement* castedThis = static_cast<JSHTMLModElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLModElement* imp = static_cast<HTMLModElement*>(static_cast<JSHTMLModElement*>(asObject(slot.slotBase()))->impl());
+ HTMLModElement* imp = static_cast<HTMLModElement*>(castedThis->impl());
return jsString(exec, imp->cite());
}
JSValue jsHTMLModElementDateTime(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLModElement* castedThis = static_cast<JSHTMLModElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLModElement* imp = static_cast<HTMLModElement*>(static_cast<JSHTMLModElement*>(asObject(slot.slotBase()))->impl());
+ HTMLModElement* imp = static_cast<HTMLModElement*>(castedThis->impl());
return jsString(exec, imp->dateTime());
}
JSValue jsHTMLModElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLModElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLModElement* domObject = static_cast<JSHTMLModElement*>(asObject(slot.slotBase()));
+ return JSHTMLModElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLModElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -160,9 +163,9 @@ void setJSHTMLModElementDateTime(ExecState* exec, JSObject* thisObject, JSValue
imp->setDateTime(valueToStringWithNullCheck(exec, value));
}
-JSValue JSHTMLModElement::getConstructor(ExecState* exec)
+JSValue JSHTMLModElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLModElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLModElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLModElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLModElement.h
index 67b6e02..b9cfe5b 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLModElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLModElement.h
@@ -30,7 +30,7 @@ class HTMLModElement;
class JSHTMLModElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLModElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLModElement>);
+ JSHTMLModElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLModElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -42,7 +42,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLOListElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLOListElement.cpp
index 70fe0b4..189107c 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLOListElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLOListElement.cpp
@@ -44,7 +44,7 @@ static const HashTableValue JSHTMLOListElementTableValues[5] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLOListElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLOListElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 7, JSHTMLOListElementTableValues, 0 };
#else
@@ -58,19 +58,19 @@ static const HashTableValue JSHTMLOListElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLOListElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLOListElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLOListElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLOListElementConstructorTableValues, 0 };
#endif
-class JSHTMLOListElementConstructor : public DOMObject {
+class JSHTMLOListElementConstructor : public DOMConstructorObject {
public:
- JSHTMLOListElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLOListElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLOListElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLOListElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLOListElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLOListElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -96,7 +96,7 @@ static const HashTableValue JSHTMLOListElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLOListElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLOListElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLOListElementPrototypeTableValues, 0 };
#else
@@ -112,8 +112,8 @@ JSObject* JSHTMLOListElementPrototype::self(ExecState* exec, JSGlobalObject* glo
const ClassInfo JSHTMLOListElement::s_info = { "HTMLOListElement", &JSHTMLElement::s_info, &JSHTMLOListElementTable, 0 };
-JSHTMLOListElement::JSHTMLOListElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLOListElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLOListElement::JSHTMLOListElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLOListElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -129,28 +129,32 @@ bool JSHTMLOListElement::getOwnPropertySlot(ExecState* exec, const Identifier& p
JSValue jsHTMLOListElementCompact(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLOListElement* castedThis = static_cast<JSHTMLOListElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLOListElement* imp = static_cast<HTMLOListElement*>(static_cast<JSHTMLOListElement*>(asObject(slot.slotBase()))->impl());
+ HTMLOListElement* imp = static_cast<HTMLOListElement*>(castedThis->impl());
return jsBoolean(imp->compact());
}
JSValue jsHTMLOListElementStart(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLOListElement* castedThis = static_cast<JSHTMLOListElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLOListElement* imp = static_cast<HTMLOListElement*>(static_cast<JSHTMLOListElement*>(asObject(slot.slotBase()))->impl());
+ HTMLOListElement* imp = static_cast<HTMLOListElement*>(castedThis->impl());
return jsNumber(exec, imp->start());
}
JSValue jsHTMLOListElementType(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLOListElement* castedThis = static_cast<JSHTMLOListElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLOListElement* imp = static_cast<HTMLOListElement*>(static_cast<JSHTMLOListElement*>(asObject(slot.slotBase()))->impl());
+ HTMLOListElement* imp = static_cast<HTMLOListElement*>(castedThis->impl());
return jsString(exec, imp->type());
}
JSValue jsHTMLOListElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLOListElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLOListElement* domObject = static_cast<JSHTMLOListElement*>(asObject(slot.slotBase()));
+ return JSHTMLOListElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLOListElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -175,9 +179,9 @@ void setJSHTMLOListElementType(ExecState* exec, JSObject* thisObject, JSValue va
imp->setType(valueToStringWithNullCheck(exec, value));
}
-JSValue JSHTMLOListElement::getConstructor(ExecState* exec)
+JSValue JSHTMLOListElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLOListElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLOListElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLOListElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLOListElement.h
index e7cfac5..57dcb6a 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLOListElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLOListElement.h
@@ -30,7 +30,7 @@ class HTMLOListElement;
class JSHTMLOListElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLOListElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLOListElement>);
+ JSHTMLOListElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLOListElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -42,7 +42,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLObjectElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLObjectElement.cpp
index c50e27a..4ca8e94 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLObjectElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLObjectElement.cpp
@@ -69,7 +69,7 @@ static const HashTableValue JSHTMLObjectElementTableValues[20] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLObjectElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLObjectElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 127, JSHTMLObjectElementTableValues, 0 };
#else
@@ -83,19 +83,19 @@ static const HashTableValue JSHTMLObjectElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLObjectElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLObjectElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLObjectElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLObjectElementConstructorTableValues, 0 };
#endif
-class JSHTMLObjectElementConstructor : public DOMObject {
+class JSHTMLObjectElementConstructor : public DOMConstructorObject {
public:
- JSHTMLObjectElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLObjectElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLObjectElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLObjectElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLObjectElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLObjectElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -122,7 +122,7 @@ static const HashTableValue JSHTMLObjectElementPrototypeTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLObjectElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLObjectElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLObjectElementPrototypeTableValues, 0 };
#else
@@ -143,8 +143,8 @@ bool JSHTMLObjectElementPrototype::getOwnPropertySlot(ExecState* exec, const Ide
const ClassInfo JSHTMLObjectElement::s_info = { "HTMLObjectElement", &JSHTMLElement::s_info, &JSHTMLObjectElementTable, 0 };
-JSHTMLObjectElement::JSHTMLObjectElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLObjectElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLObjectElement::JSHTMLObjectElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLObjectElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -166,132 +166,151 @@ bool JSHTMLObjectElement::getOwnPropertySlot(ExecState* exec, const Identifier&
JSValue jsHTMLObjectElementForm(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLObjectElement* castedThis = static_cast<JSHTMLObjectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLObjectElement* imp = static_cast<HTMLObjectElement*>(static_cast<JSHTMLObjectElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->form()));
+ HTMLObjectElement* imp = static_cast<HTMLObjectElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->form()));
}
JSValue jsHTMLObjectElementCode(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLObjectElement* castedThis = static_cast<JSHTMLObjectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLObjectElement* imp = static_cast<HTMLObjectElement*>(static_cast<JSHTMLObjectElement*>(asObject(slot.slotBase()))->impl());
+ HTMLObjectElement* imp = static_cast<HTMLObjectElement*>(castedThis->impl());
return jsString(exec, imp->code());
}
JSValue jsHTMLObjectElementAlign(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLObjectElement* castedThis = static_cast<JSHTMLObjectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLObjectElement* imp = static_cast<HTMLObjectElement*>(static_cast<JSHTMLObjectElement*>(asObject(slot.slotBase()))->impl());
+ HTMLObjectElement* imp = static_cast<HTMLObjectElement*>(castedThis->impl());
return jsString(exec, imp->align());
}
JSValue jsHTMLObjectElementArchive(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLObjectElement* castedThis = static_cast<JSHTMLObjectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLObjectElement* imp = static_cast<HTMLObjectElement*>(static_cast<JSHTMLObjectElement*>(asObject(slot.slotBase()))->impl());
+ HTMLObjectElement* imp = static_cast<HTMLObjectElement*>(castedThis->impl());
return jsString(exec, imp->archive());
}
JSValue jsHTMLObjectElementBorder(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLObjectElement* castedThis = static_cast<JSHTMLObjectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLObjectElement* imp = static_cast<HTMLObjectElement*>(static_cast<JSHTMLObjectElement*>(asObject(slot.slotBase()))->impl());
+ HTMLObjectElement* imp = static_cast<HTMLObjectElement*>(castedThis->impl());
return jsString(exec, imp->border());
}
JSValue jsHTMLObjectElementCodeBase(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLObjectElement* castedThis = static_cast<JSHTMLObjectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLObjectElement* imp = static_cast<HTMLObjectElement*>(static_cast<JSHTMLObjectElement*>(asObject(slot.slotBase()))->impl());
+ HTMLObjectElement* imp = static_cast<HTMLObjectElement*>(castedThis->impl());
return jsString(exec, imp->codeBase());
}
JSValue jsHTMLObjectElementCodeType(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLObjectElement* castedThis = static_cast<JSHTMLObjectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLObjectElement* imp = static_cast<HTMLObjectElement*>(static_cast<JSHTMLObjectElement*>(asObject(slot.slotBase()))->impl());
+ HTMLObjectElement* imp = static_cast<HTMLObjectElement*>(castedThis->impl());
return jsString(exec, imp->codeType());
}
JSValue jsHTMLObjectElementData(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLObjectElement* castedThis = static_cast<JSHTMLObjectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLObjectElement* imp = static_cast<HTMLObjectElement*>(static_cast<JSHTMLObjectElement*>(asObject(slot.slotBase()))->impl());
+ HTMLObjectElement* imp = static_cast<HTMLObjectElement*>(castedThis->impl());
return jsString(exec, imp->data());
}
JSValue jsHTMLObjectElementDeclare(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLObjectElement* castedThis = static_cast<JSHTMLObjectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLObjectElement* imp = static_cast<HTMLObjectElement*>(static_cast<JSHTMLObjectElement*>(asObject(slot.slotBase()))->impl());
+ HTMLObjectElement* imp = static_cast<HTMLObjectElement*>(castedThis->impl());
return jsBoolean(imp->declare());
}
JSValue jsHTMLObjectElementHeight(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLObjectElement* castedThis = static_cast<JSHTMLObjectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLObjectElement* imp = static_cast<HTMLObjectElement*>(static_cast<JSHTMLObjectElement*>(asObject(slot.slotBase()))->impl());
+ HTMLObjectElement* imp = static_cast<HTMLObjectElement*>(castedThis->impl());
return jsString(exec, imp->height());
}
JSValue jsHTMLObjectElementHspace(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLObjectElement* castedThis = static_cast<JSHTMLObjectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLObjectElement* imp = static_cast<HTMLObjectElement*>(static_cast<JSHTMLObjectElement*>(asObject(slot.slotBase()))->impl());
+ HTMLObjectElement* imp = static_cast<HTMLObjectElement*>(castedThis->impl());
return jsNumber(exec, imp->hspace());
}
JSValue jsHTMLObjectElementName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLObjectElement* castedThis = static_cast<JSHTMLObjectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLObjectElement* imp = static_cast<HTMLObjectElement*>(static_cast<JSHTMLObjectElement*>(asObject(slot.slotBase()))->impl());
+ HTMLObjectElement* imp = static_cast<HTMLObjectElement*>(castedThis->impl());
return jsString(exec, imp->name());
}
JSValue jsHTMLObjectElementStandby(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLObjectElement* castedThis = static_cast<JSHTMLObjectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLObjectElement* imp = static_cast<HTMLObjectElement*>(static_cast<JSHTMLObjectElement*>(asObject(slot.slotBase()))->impl());
+ HTMLObjectElement* imp = static_cast<HTMLObjectElement*>(castedThis->impl());
return jsString(exec, imp->standby());
}
JSValue jsHTMLObjectElementType(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLObjectElement* castedThis = static_cast<JSHTMLObjectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLObjectElement* imp = static_cast<HTMLObjectElement*>(static_cast<JSHTMLObjectElement*>(asObject(slot.slotBase()))->impl());
+ HTMLObjectElement* imp = static_cast<HTMLObjectElement*>(castedThis->impl());
return jsString(exec, imp->type());
}
JSValue jsHTMLObjectElementUseMap(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLObjectElement* castedThis = static_cast<JSHTMLObjectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLObjectElement* imp = static_cast<HTMLObjectElement*>(static_cast<JSHTMLObjectElement*>(asObject(slot.slotBase()))->impl());
+ HTMLObjectElement* imp = static_cast<HTMLObjectElement*>(castedThis->impl());
return jsString(exec, imp->useMap());
}
JSValue jsHTMLObjectElementVspace(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLObjectElement* castedThis = static_cast<JSHTMLObjectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLObjectElement* imp = static_cast<HTMLObjectElement*>(static_cast<JSHTMLObjectElement*>(asObject(slot.slotBase()))->impl());
+ HTMLObjectElement* imp = static_cast<HTMLObjectElement*>(castedThis->impl());
return jsNumber(exec, imp->vspace());
}
JSValue jsHTMLObjectElementWidth(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLObjectElement* castedThis = static_cast<JSHTMLObjectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLObjectElement* imp = static_cast<HTMLObjectElement*>(static_cast<JSHTMLObjectElement*>(asObject(slot.slotBase()))->impl());
+ HTMLObjectElement* imp = static_cast<HTMLObjectElement*>(castedThis->impl());
return jsString(exec, imp->width());
}
JSValue jsHTMLObjectElementContentDocument(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- HTMLObjectElement* imp = static_cast<HTMLObjectElement*>(static_cast<JSHTMLObjectElement*>(asObject(slot.slotBase()))->impl());
- return checkNodeSecurity(exec, imp->contentDocument()) ? toJS(exec, WTF::getPtr(imp->contentDocument())) : jsUndefined();
+ JSHTMLObjectElement* castedThis = static_cast<JSHTMLObjectElement*>(asObject(slot.slotBase()));
+ HTMLObjectElement* imp = static_cast<HTMLObjectElement*>(castedThis->impl());
+ return checkNodeSecurity(exec, imp->contentDocument()) ? toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->contentDocument())) : jsUndefined();
}
JSValue jsHTMLObjectElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLObjectElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLObjectElement* domObject = static_cast<JSHTMLObjectElement*>(asObject(slot.slotBase()));
+ return JSHTMLObjectElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLObjectElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -396,9 +415,9 @@ void setJSHTMLObjectElementWidth(ExecState* exec, JSObject* thisObject, JSValue
imp->setWidth(valueToStringWithNullCheck(exec, value));
}
-JSValue JSHTMLObjectElement::getConstructor(ExecState* exec)
+JSValue JSHTMLObjectElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLObjectElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLObjectElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsHTMLObjectElementPrototypeFunctionGetSVGDocument(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -413,7 +432,7 @@ JSValue JSC_HOST_CALL jsHTMLObjectElementPrototypeFunctionGetSVGDocument(ExecSta
return jsUndefined();
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getSVGDocument(ec)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getSVGDocument(ec)));
setDOMException(exec, ec);
return result;
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLObjectElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLObjectElement.h
index 5e9d01c..7414b0c 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLObjectElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLObjectElement.h
@@ -31,7 +31,7 @@ class HTMLObjectElement;
class JSHTMLObjectElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLObjectElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLObjectElement>);
+ JSHTMLObjectElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLObjectElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
bool getOwnPropertySlotDelegate(JSC::ExecState*, const JSC::Identifier&, JSC::PropertySlot&);
@@ -47,7 +47,7 @@ public:
virtual JSC::CallType getCallData(JSC::CallData&);
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
private:
static bool canGetItemsForName(JSC::ExecState*, HTMLObjectElement*, const JSC::Identifier&);
static JSC::JSValue nameGetter(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLOptGroupElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLOptGroupElement.cpp
index 69506b0..0ed746e 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLOptGroupElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLOptGroupElement.cpp
@@ -42,7 +42,7 @@ static const HashTableValue JSHTMLOptGroupElementTableValues[4] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLOptGroupElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLOptGroupElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 63, JSHTMLOptGroupElementTableValues, 0 };
#else
@@ -56,19 +56,19 @@ static const HashTableValue JSHTMLOptGroupElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLOptGroupElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLOptGroupElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLOptGroupElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLOptGroupElementConstructorTableValues, 0 };
#endif
-class JSHTMLOptGroupElementConstructor : public DOMObject {
+class JSHTMLOptGroupElementConstructor : public DOMConstructorObject {
public:
- JSHTMLOptGroupElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLOptGroupElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLOptGroupElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLOptGroupElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLOptGroupElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLOptGroupElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -94,7 +94,7 @@ static const HashTableValue JSHTMLOptGroupElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLOptGroupElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLOptGroupElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLOptGroupElementPrototypeTableValues, 0 };
#else
@@ -110,8 +110,8 @@ JSObject* JSHTMLOptGroupElementPrototype::self(ExecState* exec, JSGlobalObject*
const ClassInfo JSHTMLOptGroupElement::s_info = { "HTMLOptGroupElement", &JSHTMLElement::s_info, &JSHTMLOptGroupElementTable, 0 };
-JSHTMLOptGroupElement::JSHTMLOptGroupElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLOptGroupElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLOptGroupElement::JSHTMLOptGroupElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLOptGroupElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -127,21 +127,24 @@ bool JSHTMLOptGroupElement::getOwnPropertySlot(ExecState* exec, const Identifier
JSValue jsHTMLOptGroupElementDisabled(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLOptGroupElement* castedThis = static_cast<JSHTMLOptGroupElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLOptGroupElement* imp = static_cast<HTMLOptGroupElement*>(static_cast<JSHTMLOptGroupElement*>(asObject(slot.slotBase()))->impl());
+ HTMLOptGroupElement* imp = static_cast<HTMLOptGroupElement*>(castedThis->impl());
return jsBoolean(imp->disabled());
}
JSValue jsHTMLOptGroupElementLabel(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLOptGroupElement* castedThis = static_cast<JSHTMLOptGroupElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLOptGroupElement* imp = static_cast<HTMLOptGroupElement*>(static_cast<JSHTMLOptGroupElement*>(asObject(slot.slotBase()))->impl());
+ HTMLOptGroupElement* imp = static_cast<HTMLOptGroupElement*>(castedThis->impl());
return jsString(exec, imp->label());
}
JSValue jsHTMLOptGroupElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLOptGroupElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLOptGroupElement* domObject = static_cast<JSHTMLOptGroupElement*>(asObject(slot.slotBase()));
+ return JSHTMLOptGroupElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLOptGroupElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -160,9 +163,9 @@ void setJSHTMLOptGroupElementLabel(ExecState* exec, JSObject* thisObject, JSValu
imp->setLabel(valueToStringWithNullCheck(exec, value));
}
-JSValue JSHTMLOptGroupElement::getConstructor(ExecState* exec)
+JSValue JSHTMLOptGroupElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLOptGroupElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLOptGroupElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLOptGroupElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLOptGroupElement.h
index 44cfa44..d489b26 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLOptGroupElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLOptGroupElement.h
@@ -30,7 +30,7 @@ class HTMLOptGroupElement;
class JSHTMLOptGroupElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLOptGroupElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLOptGroupElement>);
+ JSHTMLOptGroupElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLOptGroupElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -42,7 +42,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLOptionElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLOptionElement.cpp
index ee1283d..65d92e6 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLOptionElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLOptionElement.cpp
@@ -51,7 +51,7 @@ static const HashTableValue JSHTMLOptionElementTableValues[10] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLOptionElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLOptionElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 127, JSHTMLOptionElementTableValues, 0 };
#else
@@ -65,19 +65,19 @@ static const HashTableValue JSHTMLOptionElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLOptionElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLOptionElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLOptionElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLOptionElementConstructorTableValues, 0 };
#endif
-class JSHTMLOptionElementConstructor : public DOMObject {
+class JSHTMLOptionElementConstructor : public DOMConstructorObject {
public:
- JSHTMLOptionElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLOptionElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLOptionElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLOptionElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLOptionElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLOptionElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -103,7 +103,7 @@ static const HashTableValue JSHTMLOptionElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLOptionElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLOptionElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLOptionElementPrototypeTableValues, 0 };
#else
@@ -119,8 +119,8 @@ JSObject* JSHTMLOptionElementPrototype::self(ExecState* exec, JSGlobalObject* gl
const ClassInfo JSHTMLOptionElement::s_info = { "HTMLOptionElement", &JSHTMLElement::s_info, &JSHTMLOptionElementTable, 0 };
-JSHTMLOptionElement::JSHTMLOptionElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLOptionElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLOptionElement::JSHTMLOptionElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLOptionElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -136,63 +136,72 @@ bool JSHTMLOptionElement::getOwnPropertySlot(ExecState* exec, const Identifier&
JSValue jsHTMLOptionElementForm(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLOptionElement* castedThis = static_cast<JSHTMLOptionElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLOptionElement* imp = static_cast<HTMLOptionElement*>(static_cast<JSHTMLOptionElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->form()));
+ HTMLOptionElement* imp = static_cast<HTMLOptionElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->form()));
}
JSValue jsHTMLOptionElementDefaultSelected(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLOptionElement* castedThis = static_cast<JSHTMLOptionElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLOptionElement* imp = static_cast<HTMLOptionElement*>(static_cast<JSHTMLOptionElement*>(asObject(slot.slotBase()))->impl());
+ HTMLOptionElement* imp = static_cast<HTMLOptionElement*>(castedThis->impl());
return jsBoolean(imp->defaultSelected());
}
JSValue jsHTMLOptionElementText(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLOptionElement* castedThis = static_cast<JSHTMLOptionElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLOptionElement* imp = static_cast<HTMLOptionElement*>(static_cast<JSHTMLOptionElement*>(asObject(slot.slotBase()))->impl());
+ HTMLOptionElement* imp = static_cast<HTMLOptionElement*>(castedThis->impl());
return jsString(exec, imp->text());
}
JSValue jsHTMLOptionElementIndex(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLOptionElement* castedThis = static_cast<JSHTMLOptionElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLOptionElement* imp = static_cast<HTMLOptionElement*>(static_cast<JSHTMLOptionElement*>(asObject(slot.slotBase()))->impl());
+ HTMLOptionElement* imp = static_cast<HTMLOptionElement*>(castedThis->impl());
return jsNumber(exec, imp->index());
}
JSValue jsHTMLOptionElementDisabled(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLOptionElement* castedThis = static_cast<JSHTMLOptionElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLOptionElement* imp = static_cast<HTMLOptionElement*>(static_cast<JSHTMLOptionElement*>(asObject(slot.slotBase()))->impl());
+ HTMLOptionElement* imp = static_cast<HTMLOptionElement*>(castedThis->impl());
return jsBoolean(imp->disabled());
}
JSValue jsHTMLOptionElementLabel(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLOptionElement* castedThis = static_cast<JSHTMLOptionElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLOptionElement* imp = static_cast<HTMLOptionElement*>(static_cast<JSHTMLOptionElement*>(asObject(slot.slotBase()))->impl());
+ HTMLOptionElement* imp = static_cast<HTMLOptionElement*>(castedThis->impl());
return jsString(exec, imp->label());
}
JSValue jsHTMLOptionElementSelected(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLOptionElement* castedThis = static_cast<JSHTMLOptionElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLOptionElement* imp = static_cast<HTMLOptionElement*>(static_cast<JSHTMLOptionElement*>(asObject(slot.slotBase()))->impl());
+ HTMLOptionElement* imp = static_cast<HTMLOptionElement*>(castedThis->impl());
return jsBoolean(imp->selected());
}
JSValue jsHTMLOptionElementValue(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLOptionElement* castedThis = static_cast<JSHTMLOptionElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLOptionElement* imp = static_cast<HTMLOptionElement*>(static_cast<JSHTMLOptionElement*>(asObject(slot.slotBase()))->impl());
+ HTMLOptionElement* imp = static_cast<HTMLOptionElement*>(castedThis->impl());
return jsString(exec, imp->value());
}
JSValue jsHTMLOptionElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLOptionElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLOptionElement* domObject = static_cast<JSHTMLOptionElement*>(asObject(slot.slotBase()));
+ return JSHTMLOptionElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLOptionElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -237,9 +246,9 @@ void setJSHTMLOptionElementValue(ExecState* exec, JSObject* thisObject, JSValue
imp->setValue(valueToStringWithNullCheck(exec, value));
}
-JSValue JSHTMLOptionElement::getConstructor(ExecState* exec)
+JSValue JSHTMLOptionElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLOptionElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLOptionElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
HTMLOptionElement* toHTMLOptionElement(JSC::JSValue value)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLOptionElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLOptionElement.h
index d9bd338..be93183 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLOptionElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLOptionElement.h
@@ -31,7 +31,7 @@ class HTMLOptionElement;
class JSHTMLOptionElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLOptionElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLOptionElement>);
+ JSHTMLOptionElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLOptionElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -43,7 +43,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
HTMLOptionElement* impl() const
{
return static_cast<HTMLOptionElement*>(Base::impl());
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLOptionsCollection.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLOptionsCollection.cpp
index 578ab90..bebf56a 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLOptionsCollection.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLOptionsCollection.cpp
@@ -41,7 +41,7 @@ static const HashTableValue JSHTMLOptionsCollectionTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLOptionsCollectionTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLOptionsCollectionTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 3, JSHTMLOptionsCollectionTableValues, 0 };
#else
@@ -57,7 +57,7 @@ static const HashTableValue JSHTMLOptionsCollectionPrototypeTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLOptionsCollectionPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLOptionsCollectionPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 1, JSHTMLOptionsCollectionPrototypeTableValues, 0 };
#else
@@ -78,8 +78,8 @@ bool JSHTMLOptionsCollectionPrototype::getOwnPropertySlot(ExecState* exec, const
const ClassInfo JSHTMLOptionsCollection::s_info = { "HTMLOptionsCollection", &JSHTMLCollection::s_info, &JSHTMLOptionsCollectionTable, 0 };
-JSHTMLOptionsCollection::JSHTMLOptionsCollection(PassRefPtr<Structure> structure, PassRefPtr<HTMLOptionsCollection> impl)
- : JSHTMLCollection(structure, impl)
+JSHTMLOptionsCollection::JSHTMLOptionsCollection(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLOptionsCollection> impl)
+ : JSHTMLCollection(structure, globalObject, impl)
{
}
@@ -95,14 +95,16 @@ bool JSHTMLOptionsCollection::getOwnPropertySlot(ExecState* exec, const Identifi
JSValue jsHTMLOptionsCollectionSelectedIndex(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLOptionsCollection* castedThis = static_cast<JSHTMLOptionsCollection*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLOptionsCollection* imp = static_cast<HTMLOptionsCollection*>(static_cast<JSHTMLOptionsCollection*>(asObject(slot.slotBase()))->impl());
+ HTMLOptionsCollection* imp = static_cast<HTMLOptionsCollection*>(castedThis->impl());
return jsNumber(exec, imp->selectedIndex());
}
JSValue jsHTMLOptionsCollectionLength(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLOptionsCollection*>(asObject(slot.slotBase()))->length(exec);
+ JSHTMLOptionsCollection* castedThis = static_cast<JSHTMLOptionsCollection*>(asObject(slot.slotBase()));
+ return castedThis->length(exec);
}
void JSHTMLOptionsCollection::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLOptionsCollection.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLOptionsCollection.h
index 40d89f6..de86695 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLOptionsCollection.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLOptionsCollection.h
@@ -31,7 +31,7 @@ class HTMLOptionsCollection;
class JSHTMLOptionsCollection : public JSHTMLCollection {
typedef JSHTMLCollection Base;
public:
- JSHTMLOptionsCollection(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLOptionsCollection>);
+ JSHTMLOptionsCollection(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLOptionsCollection>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLParagraphElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLParagraphElement.cpp
index ba47a53..f8e9fd6 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLParagraphElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLParagraphElement.cpp
@@ -41,7 +41,7 @@ static const HashTableValue JSHTMLParagraphElementTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLParagraphElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLParagraphElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 7, JSHTMLParagraphElementTableValues, 0 };
#else
@@ -55,19 +55,19 @@ static const HashTableValue JSHTMLParagraphElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLParagraphElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLParagraphElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLParagraphElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLParagraphElementConstructorTableValues, 0 };
#endif
-class JSHTMLParagraphElementConstructor : public DOMObject {
+class JSHTMLParagraphElementConstructor : public DOMConstructorObject {
public:
- JSHTMLParagraphElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLParagraphElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLParagraphElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLParagraphElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLParagraphElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLParagraphElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -93,7 +93,7 @@ static const HashTableValue JSHTMLParagraphElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLParagraphElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLParagraphElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLParagraphElementPrototypeTableValues, 0 };
#else
@@ -109,8 +109,8 @@ JSObject* JSHTMLParagraphElementPrototype::self(ExecState* exec, JSGlobalObject*
const ClassInfo JSHTMLParagraphElement::s_info = { "HTMLParagraphElement", &JSHTMLElement::s_info, &JSHTMLParagraphElementTable, 0 };
-JSHTMLParagraphElement::JSHTMLParagraphElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLParagraphElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLParagraphElement::JSHTMLParagraphElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLParagraphElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -126,14 +126,16 @@ bool JSHTMLParagraphElement::getOwnPropertySlot(ExecState* exec, const Identifie
JSValue jsHTMLParagraphElementAlign(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLParagraphElement* castedThis = static_cast<JSHTMLParagraphElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLParagraphElement* imp = static_cast<HTMLParagraphElement*>(static_cast<JSHTMLParagraphElement*>(asObject(slot.slotBase()))->impl());
+ HTMLParagraphElement* imp = static_cast<HTMLParagraphElement*>(castedThis->impl());
return jsString(exec, imp->align());
}
JSValue jsHTMLParagraphElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLParagraphElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLParagraphElement* domObject = static_cast<JSHTMLParagraphElement*>(asObject(slot.slotBase()));
+ return JSHTMLParagraphElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLParagraphElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -146,9 +148,9 @@ void setJSHTMLParagraphElementAlign(ExecState* exec, JSObject* thisObject, JSVal
imp->setAlign(valueToStringWithNullCheck(exec, value));
}
-JSValue JSHTMLParagraphElement::getConstructor(ExecState* exec)
+JSValue JSHTMLParagraphElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLParagraphElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLParagraphElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLParagraphElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLParagraphElement.h
index 3693849..1fa7ea5 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLParagraphElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLParagraphElement.h
@@ -30,7 +30,7 @@ class HTMLParagraphElement;
class JSHTMLParagraphElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLParagraphElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLParagraphElement>);
+ JSHTMLParagraphElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLParagraphElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -42,7 +42,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLParamElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLParamElement.cpp
index b4c9348..717ff80 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLParamElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLParamElement.cpp
@@ -44,7 +44,7 @@ static const HashTableValue JSHTMLParamElementTableValues[6] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLParamElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLParamElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 127, JSHTMLParamElementTableValues, 0 };
#else
@@ -58,19 +58,19 @@ static const HashTableValue JSHTMLParamElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLParamElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLParamElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLParamElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLParamElementConstructorTableValues, 0 };
#endif
-class JSHTMLParamElementConstructor : public DOMObject {
+class JSHTMLParamElementConstructor : public DOMConstructorObject {
public:
- JSHTMLParamElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLParamElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLParamElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLParamElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLParamElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLParamElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -96,7 +96,7 @@ static const HashTableValue JSHTMLParamElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLParamElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLParamElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLParamElementPrototypeTableValues, 0 };
#else
@@ -112,8 +112,8 @@ JSObject* JSHTMLParamElementPrototype::self(ExecState* exec, JSGlobalObject* glo
const ClassInfo JSHTMLParamElement::s_info = { "HTMLParamElement", &JSHTMLElement::s_info, &JSHTMLParamElementTable, 0 };
-JSHTMLParamElement::JSHTMLParamElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLParamElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLParamElement::JSHTMLParamElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLParamElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -129,35 +129,40 @@ bool JSHTMLParamElement::getOwnPropertySlot(ExecState* exec, const Identifier& p
JSValue jsHTMLParamElementName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLParamElement* castedThis = static_cast<JSHTMLParamElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLParamElement* imp = static_cast<HTMLParamElement*>(static_cast<JSHTMLParamElement*>(asObject(slot.slotBase()))->impl());
+ HTMLParamElement* imp = static_cast<HTMLParamElement*>(castedThis->impl());
return jsString(exec, imp->name());
}
JSValue jsHTMLParamElementType(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLParamElement* castedThis = static_cast<JSHTMLParamElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLParamElement* imp = static_cast<HTMLParamElement*>(static_cast<JSHTMLParamElement*>(asObject(slot.slotBase()))->impl());
+ HTMLParamElement* imp = static_cast<HTMLParamElement*>(castedThis->impl());
return jsString(exec, imp->type());
}
JSValue jsHTMLParamElementValue(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLParamElement* castedThis = static_cast<JSHTMLParamElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLParamElement* imp = static_cast<HTMLParamElement*>(static_cast<JSHTMLParamElement*>(asObject(slot.slotBase()))->impl());
+ HTMLParamElement* imp = static_cast<HTMLParamElement*>(castedThis->impl());
return jsString(exec, imp->value());
}
JSValue jsHTMLParamElementValueType(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLParamElement* castedThis = static_cast<JSHTMLParamElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLParamElement* imp = static_cast<HTMLParamElement*>(static_cast<JSHTMLParamElement*>(asObject(slot.slotBase()))->impl());
+ HTMLParamElement* imp = static_cast<HTMLParamElement*>(castedThis->impl());
return jsString(exec, imp->valueType());
}
JSValue jsHTMLParamElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLParamElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLParamElement* domObject = static_cast<JSHTMLParamElement*>(asObject(slot.slotBase()));
+ return JSHTMLParamElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLParamElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -188,9 +193,9 @@ void setJSHTMLParamElementValueType(ExecState* exec, JSObject* thisObject, JSVal
imp->setValueType(valueToStringWithNullCheck(exec, value));
}
-JSValue JSHTMLParamElement::getConstructor(ExecState* exec)
+JSValue JSHTMLParamElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLParamElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLParamElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLParamElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLParamElement.h
index 7e7760e..12b80d6 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLParamElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLParamElement.h
@@ -30,7 +30,7 @@ class HTMLParamElement;
class JSHTMLParamElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLParamElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLParamElement>);
+ JSHTMLParamElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLParamElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -42,7 +42,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLPreElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLPreElement.cpp
index 8aac7c1..2b7320a 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLPreElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLPreElement.cpp
@@ -41,7 +41,7 @@ static const HashTableValue JSHTMLPreElementTableValues[4] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLPreElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLPreElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSHTMLPreElementTableValues, 0 };
#else
@@ -55,19 +55,19 @@ static const HashTableValue JSHTMLPreElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLPreElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLPreElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLPreElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLPreElementConstructorTableValues, 0 };
#endif
-class JSHTMLPreElementConstructor : public DOMObject {
+class JSHTMLPreElementConstructor : public DOMConstructorObject {
public:
- JSHTMLPreElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLPreElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLPreElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLPreElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLPreElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLPreElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -93,7 +93,7 @@ static const HashTableValue JSHTMLPreElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLPreElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLPreElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLPreElementPrototypeTableValues, 0 };
#else
@@ -109,8 +109,8 @@ JSObject* JSHTMLPreElementPrototype::self(ExecState* exec, JSGlobalObject* globa
const ClassInfo JSHTMLPreElement::s_info = { "HTMLPreElement", &JSHTMLElement::s_info, &JSHTMLPreElementTable, 0 };
-JSHTMLPreElement::JSHTMLPreElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLPreElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLPreElement::JSHTMLPreElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLPreElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -126,21 +126,24 @@ bool JSHTMLPreElement::getOwnPropertySlot(ExecState* exec, const Identifier& pro
JSValue jsHTMLPreElementWidth(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLPreElement* castedThis = static_cast<JSHTMLPreElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLPreElement* imp = static_cast<HTMLPreElement*>(static_cast<JSHTMLPreElement*>(asObject(slot.slotBase()))->impl());
+ HTMLPreElement* imp = static_cast<HTMLPreElement*>(castedThis->impl());
return jsNumber(exec, imp->width());
}
JSValue jsHTMLPreElementWrap(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLPreElement* castedThis = static_cast<JSHTMLPreElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLPreElement* imp = static_cast<HTMLPreElement*>(static_cast<JSHTMLPreElement*>(asObject(slot.slotBase()))->impl());
+ HTMLPreElement* imp = static_cast<HTMLPreElement*>(castedThis->impl());
return jsBoolean(imp->wrap());
}
JSValue jsHTMLPreElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLPreElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLPreElement* domObject = static_cast<JSHTMLPreElement*>(asObject(slot.slotBase()));
+ return JSHTMLPreElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLPreElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -159,9 +162,9 @@ void setJSHTMLPreElementWrap(ExecState* exec, JSObject* thisObject, JSValue valu
imp->setWrap(value.toBoolean(exec));
}
-JSValue JSHTMLPreElement::getConstructor(ExecState* exec)
+JSValue JSHTMLPreElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLPreElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLPreElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLPreElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLPreElement.h
index 1938f93..439a7b3 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLPreElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLPreElement.h
@@ -30,7 +30,7 @@ class HTMLPreElement;
class JSHTMLPreElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLPreElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLPreElement>);
+ JSHTMLPreElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLPreElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -42,7 +42,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLQuoteElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLQuoteElement.cpp
index dd831c0..84fce1b 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLQuoteElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLQuoteElement.cpp
@@ -41,7 +41,7 @@ static const HashTableValue JSHTMLQuoteElementTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLQuoteElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLQuoteElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSHTMLQuoteElementTableValues, 0 };
#else
@@ -55,19 +55,19 @@ static const HashTableValue JSHTMLQuoteElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLQuoteElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLQuoteElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLQuoteElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLQuoteElementConstructorTableValues, 0 };
#endif
-class JSHTMLQuoteElementConstructor : public DOMObject {
+class JSHTMLQuoteElementConstructor : public DOMConstructorObject {
public:
- JSHTMLQuoteElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLQuoteElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLQuoteElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLQuoteElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLQuoteElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLQuoteElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -93,7 +93,7 @@ static const HashTableValue JSHTMLQuoteElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLQuoteElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLQuoteElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLQuoteElementPrototypeTableValues, 0 };
#else
@@ -109,8 +109,8 @@ JSObject* JSHTMLQuoteElementPrototype::self(ExecState* exec, JSGlobalObject* glo
const ClassInfo JSHTMLQuoteElement::s_info = { "HTMLQuoteElement", &JSHTMLElement::s_info, &JSHTMLQuoteElementTable, 0 };
-JSHTMLQuoteElement::JSHTMLQuoteElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLQuoteElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLQuoteElement::JSHTMLQuoteElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLQuoteElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -126,14 +126,16 @@ bool JSHTMLQuoteElement::getOwnPropertySlot(ExecState* exec, const Identifier& p
JSValue jsHTMLQuoteElementCite(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLQuoteElement* castedThis = static_cast<JSHTMLQuoteElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLQuoteElement* imp = static_cast<HTMLQuoteElement*>(static_cast<JSHTMLQuoteElement*>(asObject(slot.slotBase()))->impl());
+ HTMLQuoteElement* imp = static_cast<HTMLQuoteElement*>(castedThis->impl());
return jsString(exec, imp->cite());
}
JSValue jsHTMLQuoteElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLQuoteElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLQuoteElement* domObject = static_cast<JSHTMLQuoteElement*>(asObject(slot.slotBase()));
+ return JSHTMLQuoteElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLQuoteElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -146,9 +148,9 @@ void setJSHTMLQuoteElementCite(ExecState* exec, JSObject* thisObject, JSValue va
imp->setCite(valueToStringWithNullCheck(exec, value));
}
-JSValue JSHTMLQuoteElement::getConstructor(ExecState* exec)
+JSValue JSHTMLQuoteElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLQuoteElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLQuoteElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLQuoteElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLQuoteElement.h
index a45fc2f..26d985c 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLQuoteElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLQuoteElement.h
@@ -30,7 +30,7 @@ class HTMLQuoteElement;
class JSHTMLQuoteElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLQuoteElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLQuoteElement>);
+ JSHTMLQuoteElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLQuoteElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -42,7 +42,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLScriptElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLScriptElement.cpp
index ab7bc3d..42d4410 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLScriptElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLScriptElement.cpp
@@ -47,7 +47,7 @@ static const HashTableValue JSHTMLScriptElementTableValues[9] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLScriptElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLScriptElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 31, JSHTMLScriptElementTableValues, 0 };
#else
@@ -61,19 +61,19 @@ static const HashTableValue JSHTMLScriptElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLScriptElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLScriptElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLScriptElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLScriptElementConstructorTableValues, 0 };
#endif
-class JSHTMLScriptElementConstructor : public DOMObject {
+class JSHTMLScriptElementConstructor : public DOMConstructorObject {
public:
- JSHTMLScriptElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLScriptElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLScriptElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLScriptElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLScriptElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLScriptElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -99,7 +99,7 @@ static const HashTableValue JSHTMLScriptElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLScriptElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLScriptElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLScriptElementPrototypeTableValues, 0 };
#else
@@ -115,8 +115,8 @@ JSObject* JSHTMLScriptElementPrototype::self(ExecState* exec, JSGlobalObject* gl
const ClassInfo JSHTMLScriptElement::s_info = { "HTMLScriptElement", &JSHTMLElement::s_info, &JSHTMLScriptElementTable, 0 };
-JSHTMLScriptElement::JSHTMLScriptElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLScriptElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLScriptElement::JSHTMLScriptElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLScriptElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -132,56 +132,64 @@ bool JSHTMLScriptElement::getOwnPropertySlot(ExecState* exec, const Identifier&
JSValue jsHTMLScriptElementText(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLScriptElement* castedThis = static_cast<JSHTMLScriptElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLScriptElement* imp = static_cast<HTMLScriptElement*>(static_cast<JSHTMLScriptElement*>(asObject(slot.slotBase()))->impl());
+ HTMLScriptElement* imp = static_cast<HTMLScriptElement*>(castedThis->impl());
return jsString(exec, imp->text());
}
JSValue jsHTMLScriptElementHtmlFor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLScriptElement* castedThis = static_cast<JSHTMLScriptElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLScriptElement* imp = static_cast<HTMLScriptElement*>(static_cast<JSHTMLScriptElement*>(asObject(slot.slotBase()))->impl());
+ HTMLScriptElement* imp = static_cast<HTMLScriptElement*>(castedThis->impl());
return jsString(exec, imp->htmlFor());
}
JSValue jsHTMLScriptElementEvent(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLScriptElement* castedThis = static_cast<JSHTMLScriptElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLScriptElement* imp = static_cast<HTMLScriptElement*>(static_cast<JSHTMLScriptElement*>(asObject(slot.slotBase()))->impl());
+ HTMLScriptElement* imp = static_cast<HTMLScriptElement*>(castedThis->impl());
return jsString(exec, imp->event());
}
JSValue jsHTMLScriptElementCharset(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLScriptElement* castedThis = static_cast<JSHTMLScriptElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLScriptElement* imp = static_cast<HTMLScriptElement*>(static_cast<JSHTMLScriptElement*>(asObject(slot.slotBase()))->impl());
+ HTMLScriptElement* imp = static_cast<HTMLScriptElement*>(castedThis->impl());
return jsString(exec, imp->charset());
}
JSValue jsHTMLScriptElementDefer(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLScriptElement* castedThis = static_cast<JSHTMLScriptElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLScriptElement* imp = static_cast<HTMLScriptElement*>(static_cast<JSHTMLScriptElement*>(asObject(slot.slotBase()))->impl());
+ HTMLScriptElement* imp = static_cast<HTMLScriptElement*>(castedThis->impl());
return jsBoolean(imp->defer());
}
JSValue jsHTMLScriptElementSrc(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLScriptElement* castedThis = static_cast<JSHTMLScriptElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLScriptElement* imp = static_cast<HTMLScriptElement*>(static_cast<JSHTMLScriptElement*>(asObject(slot.slotBase()))->impl());
+ HTMLScriptElement* imp = static_cast<HTMLScriptElement*>(castedThis->impl());
return jsString(exec, imp->src());
}
JSValue jsHTMLScriptElementType(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLScriptElement* castedThis = static_cast<JSHTMLScriptElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLScriptElement* imp = static_cast<HTMLScriptElement*>(static_cast<JSHTMLScriptElement*>(asObject(slot.slotBase()))->impl());
+ HTMLScriptElement* imp = static_cast<HTMLScriptElement*>(castedThis->impl());
return jsString(exec, imp->type());
}
JSValue jsHTMLScriptElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLScriptElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLScriptElement* domObject = static_cast<JSHTMLScriptElement*>(asObject(slot.slotBase()));
+ return JSHTMLScriptElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLScriptElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -230,9 +238,9 @@ void setJSHTMLScriptElementType(ExecState* exec, JSObject* thisObject, JSValue v
imp->setType(valueToStringWithNullCheck(exec, value));
}
-JSValue JSHTMLScriptElement::getConstructor(ExecState* exec)
+JSValue JSHTMLScriptElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLScriptElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLScriptElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLScriptElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLScriptElement.h
index 89b67ef..a028470 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLScriptElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLScriptElement.h
@@ -30,7 +30,7 @@ class HTMLScriptElement;
class JSHTMLScriptElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLScriptElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLScriptElement>);
+ JSHTMLScriptElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLScriptElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -42,7 +42,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLSelectElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLSelectElement.cpp
index 8a61381..794d24c 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLSelectElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLSelectElement.cpp
@@ -29,8 +29,10 @@
#include "JSHTMLFormElement.h"
#include "JSHTMLOptionsCollection.h"
#include "JSNode.h"
+#include "JSValidityState.h"
#include "KURL.h"
#include "Node.h"
+#include "ValidityState.h"
#include <runtime/Error.h>
#include <runtime/JSNumberCell.h>
#include <runtime/JSString.h>
@@ -45,13 +47,14 @@ ASSERT_CLASS_FITS_IN_CELL(JSHTMLSelectElement);
/* Hash table */
-static const HashTableValue JSHTMLSelectElementTableValues[14] =
+static const HashTableValue JSHTMLSelectElementTableValues[15] =
{
{ "type", DontDelete|ReadOnly, (intptr_t)jsHTMLSelectElementType, (intptr_t)0 },
{ "selectedIndex", DontDelete, (intptr_t)jsHTMLSelectElementSelectedIndex, (intptr_t)setJSHTMLSelectElementSelectedIndex },
{ "value", DontDelete, (intptr_t)jsHTMLSelectElementValue, (intptr_t)setJSHTMLSelectElementValue },
{ "length", DontDelete, (intptr_t)jsHTMLSelectElementLength, (intptr_t)setJSHTMLSelectElementLength },
{ "form", DontDelete|ReadOnly, (intptr_t)jsHTMLSelectElementForm, (intptr_t)0 },
+ { "validity", DontDelete|ReadOnly, (intptr_t)jsHTMLSelectElementValidity, (intptr_t)0 },
{ "willValidate", DontDelete|ReadOnly, (intptr_t)jsHTMLSelectElementWillValidate, (intptr_t)0 },
{ "options", DontDelete|ReadOnly, (intptr_t)jsHTMLSelectElementOptions, (intptr_t)0 },
{ "disabled", DontDelete, (intptr_t)jsHTMLSelectElementDisabled, (intptr_t)setJSHTMLSelectElementDisabled },
@@ -63,11 +66,11 @@ static const HashTableValue JSHTMLSelectElementTableValues[14] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLSelectElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLSelectElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 127, JSHTMLSelectElementTableValues, 0 };
#else
- { 34, 31, JSHTMLSelectElementTableValues, 0 };
+ { 35, 31, JSHTMLSelectElementTableValues, 0 };
#endif
/* Hash table for constructor */
@@ -77,19 +80,19 @@ static const HashTableValue JSHTMLSelectElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLSelectElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLSelectElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLSelectElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLSelectElementConstructorTableValues, 0 };
#endif
-class JSHTMLSelectElementConstructor : public DOMObject {
+class JSHTMLSelectElementConstructor : public DOMConstructorObject {
public:
- JSHTMLSelectElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLSelectElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLSelectElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLSelectElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLSelectElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLSelectElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -119,7 +122,7 @@ static const HashTableValue JSHTMLSelectElementPrototypeTableValues[5] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLSelectElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLSelectElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSHTMLSelectElementPrototypeTableValues, 0 };
#else
@@ -140,8 +143,8 @@ bool JSHTMLSelectElementPrototype::getOwnPropertySlot(ExecState* exec, const Ide
const ClassInfo JSHTMLSelectElement::s_info = { "HTMLSelectElement", &JSHTMLElement::s_info, &JSHTMLSelectElementTable, 0 };
-JSHTMLSelectElement::JSHTMLSelectElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLSelectElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLSelectElement::JSHTMLSelectElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLSelectElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -177,91 +180,112 @@ bool JSHTMLSelectElement::getOwnPropertySlot(ExecState* exec, unsigned propertyN
JSValue jsHTMLSelectElementType(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLSelectElement* castedThis = static_cast<JSHTMLSelectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLSelectElement* imp = static_cast<HTMLSelectElement*>(static_cast<JSHTMLSelectElement*>(asObject(slot.slotBase()))->impl());
+ HTMLSelectElement* imp = static_cast<HTMLSelectElement*>(castedThis->impl());
return jsString(exec, imp->type());
}
JSValue jsHTMLSelectElementSelectedIndex(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLSelectElement* castedThis = static_cast<JSHTMLSelectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLSelectElement* imp = static_cast<HTMLSelectElement*>(static_cast<JSHTMLSelectElement*>(asObject(slot.slotBase()))->impl());
+ HTMLSelectElement* imp = static_cast<HTMLSelectElement*>(castedThis->impl());
return jsNumber(exec, imp->selectedIndex());
}
JSValue jsHTMLSelectElementValue(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLSelectElement* castedThis = static_cast<JSHTMLSelectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLSelectElement* imp = static_cast<HTMLSelectElement*>(static_cast<JSHTMLSelectElement*>(asObject(slot.slotBase()))->impl());
+ HTMLSelectElement* imp = static_cast<HTMLSelectElement*>(castedThis->impl());
return jsString(exec, imp->value());
}
JSValue jsHTMLSelectElementLength(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLSelectElement* castedThis = static_cast<JSHTMLSelectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLSelectElement* imp = static_cast<HTMLSelectElement*>(static_cast<JSHTMLSelectElement*>(asObject(slot.slotBase()))->impl());
+ HTMLSelectElement* imp = static_cast<HTMLSelectElement*>(castedThis->impl());
return jsNumber(exec, imp->length());
}
JSValue jsHTMLSelectElementForm(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLSelectElement* castedThis = static_cast<JSHTMLSelectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLSelectElement* imp = static_cast<HTMLSelectElement*>(static_cast<JSHTMLSelectElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->form()));
+ HTMLSelectElement* imp = static_cast<HTMLSelectElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->form()));
+}
+
+JSValue jsHTMLSelectElementValidity(ExecState* exec, const Identifier&, const PropertySlot& slot)
+{
+ JSHTMLSelectElement* castedThis = static_cast<JSHTMLSelectElement*>(asObject(slot.slotBase()));
+ UNUSED_PARAM(exec);
+ HTMLSelectElement* imp = static_cast<HTMLSelectElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->validity()));
}
JSValue jsHTMLSelectElementWillValidate(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLSelectElement* castedThis = static_cast<JSHTMLSelectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLSelectElement* imp = static_cast<HTMLSelectElement*>(static_cast<JSHTMLSelectElement*>(asObject(slot.slotBase()))->impl());
+ HTMLSelectElement* imp = static_cast<HTMLSelectElement*>(castedThis->impl());
return jsBoolean(imp->willValidate());
}
JSValue jsHTMLSelectElementOptions(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLSelectElement* castedThis = static_cast<JSHTMLSelectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLSelectElement* imp = static_cast<HTMLSelectElement*>(static_cast<JSHTMLSelectElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->options()));
+ HTMLSelectElement* imp = static_cast<HTMLSelectElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->options()));
}
JSValue jsHTMLSelectElementDisabled(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLSelectElement* castedThis = static_cast<JSHTMLSelectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLSelectElement* imp = static_cast<HTMLSelectElement*>(static_cast<JSHTMLSelectElement*>(asObject(slot.slotBase()))->impl());
+ HTMLSelectElement* imp = static_cast<HTMLSelectElement*>(castedThis->impl());
return jsBoolean(imp->disabled());
}
JSValue jsHTMLSelectElementAutofocus(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLSelectElement* castedThis = static_cast<JSHTMLSelectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLSelectElement* imp = static_cast<HTMLSelectElement*>(static_cast<JSHTMLSelectElement*>(asObject(slot.slotBase()))->impl());
+ HTMLSelectElement* imp = static_cast<HTMLSelectElement*>(castedThis->impl());
return jsBoolean(imp->autofocus());
}
JSValue jsHTMLSelectElementMultiple(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLSelectElement* castedThis = static_cast<JSHTMLSelectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLSelectElement* imp = static_cast<HTMLSelectElement*>(static_cast<JSHTMLSelectElement*>(asObject(slot.slotBase()))->impl());
+ HTMLSelectElement* imp = static_cast<HTMLSelectElement*>(castedThis->impl());
return jsBoolean(imp->multiple());
}
JSValue jsHTMLSelectElementName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLSelectElement* castedThis = static_cast<JSHTMLSelectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLSelectElement* imp = static_cast<HTMLSelectElement*>(static_cast<JSHTMLSelectElement*>(asObject(slot.slotBase()))->impl());
+ HTMLSelectElement* imp = static_cast<HTMLSelectElement*>(castedThis->impl());
return jsString(exec, imp->name());
}
JSValue jsHTMLSelectElementSize(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLSelectElement* castedThis = static_cast<JSHTMLSelectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLSelectElement* imp = static_cast<HTMLSelectElement*>(static_cast<JSHTMLSelectElement*>(asObject(slot.slotBase()))->impl());
+ HTMLSelectElement* imp = static_cast<HTMLSelectElement*>(castedThis->impl());
return jsNumber(exec, imp->size());
}
JSValue jsHTMLSelectElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLSelectElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLSelectElement* domObject = static_cast<JSHTMLSelectElement*>(asObject(slot.slotBase()));
+ return JSHTMLSelectElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLSelectElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -337,9 +361,9 @@ void JSHTMLSelectElement::getPropertyNames(ExecState* exec, PropertyNameArray& p
Base::getPropertyNames(exec, propertyNames);
}
-JSValue JSHTMLSelectElement::getConstructor(ExecState* exec)
+JSValue JSHTMLSelectElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLSelectElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLSelectElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsHTMLSelectElementPrototypeFunctionAdd(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -381,7 +405,7 @@ JSValue JSC_HOST_CALL jsHTMLSelectElementPrototypeFunctionItem(ExecState* exec,
}
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->item(index)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->item(index)));
return result;
}
@@ -395,7 +419,7 @@ JSValue JSC_HOST_CALL jsHTMLSelectElementPrototypeFunctionNamedItem(ExecState* e
const UString& name = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->namedItem(name)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->namedItem(name)));
return result;
}
@@ -403,7 +427,7 @@ JSValue JSC_HOST_CALL jsHTMLSelectElementPrototypeFunctionNamedItem(ExecState* e
JSValue JSHTMLSelectElement::indexGetter(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
JSHTMLSelectElement* thisObj = static_cast<JSHTMLSelectElement*>(asObject(slot.slotBase()));
- return toJS(exec, static_cast<HTMLSelectElement*>(thisObj->impl())->item(slot.index()));
+ return toJS(exec, thisObj->globalObject(), static_cast<HTMLSelectElement*>(thisObj->impl())->item(slot.index()));
}
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLSelectElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLSelectElement.h
index 1790360..6544254 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLSelectElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLSelectElement.h
@@ -30,7 +30,7 @@ class HTMLSelectElement;
class JSHTMLSelectElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLSelectElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLSelectElement>);
+ JSHTMLSelectElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLSelectElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual bool getOwnPropertySlot(JSC::ExecState*, unsigned propertyName, JSC::PropertySlot&);
@@ -45,7 +45,7 @@ public:
}
virtual void getPropertyNames(JSC::ExecState*, JSC::PropertyNameArray&);
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
// Custom functions
JSC::JSValue remove(JSC::ExecState*, const JSC::ArgList&);
@@ -84,6 +84,7 @@ void setJSHTMLSelectElementValue(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
JSC::JSValue jsHTMLSelectElementLength(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
void setJSHTMLSelectElementLength(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
JSC::JSValue jsHTMLSelectElementForm(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
+JSC::JSValue jsHTMLSelectElementValidity(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
JSC::JSValue jsHTMLSelectElementWillValidate(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
JSC::JSValue jsHTMLSelectElementOptions(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
JSC::JSValue jsHTMLSelectElementDisabled(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLSourceElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLSourceElement.cpp
index b9f65ad..d4a7d72 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLSourceElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLSourceElement.cpp
@@ -46,7 +46,7 @@ static const HashTableValue JSHTMLSourceElementTableValues[5] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLSourceElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLSourceElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSHTMLSourceElementTableValues, 0 };
#else
@@ -60,19 +60,19 @@ static const HashTableValue JSHTMLSourceElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLSourceElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLSourceElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLSourceElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLSourceElementConstructorTableValues, 0 };
#endif
-class JSHTMLSourceElementConstructor : public DOMObject {
+class JSHTMLSourceElementConstructor : public DOMConstructorObject {
public:
- JSHTMLSourceElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLSourceElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLSourceElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLSourceElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLSourceElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLSourceElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -98,7 +98,7 @@ static const HashTableValue JSHTMLSourceElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLSourceElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLSourceElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLSourceElementPrototypeTableValues, 0 };
#else
@@ -114,8 +114,8 @@ JSObject* JSHTMLSourceElementPrototype::self(ExecState* exec, JSGlobalObject* gl
const ClassInfo JSHTMLSourceElement::s_info = { "HTMLSourceElement", &JSHTMLElement::s_info, &JSHTMLSourceElementTable, 0 };
-JSHTMLSourceElement::JSHTMLSourceElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLSourceElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLSourceElement::JSHTMLSourceElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLSourceElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -131,28 +131,32 @@ bool JSHTMLSourceElement::getOwnPropertySlot(ExecState* exec, const Identifier&
JSValue jsHTMLSourceElementSrc(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLSourceElement* castedThis = static_cast<JSHTMLSourceElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLSourceElement* imp = static_cast<HTMLSourceElement*>(static_cast<JSHTMLSourceElement*>(asObject(slot.slotBase()))->impl());
+ HTMLSourceElement* imp = static_cast<HTMLSourceElement*>(castedThis->impl());
return jsString(exec, imp->src());
}
JSValue jsHTMLSourceElementType(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLSourceElement* castedThis = static_cast<JSHTMLSourceElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLSourceElement* imp = static_cast<HTMLSourceElement*>(static_cast<JSHTMLSourceElement*>(asObject(slot.slotBase()))->impl());
+ HTMLSourceElement* imp = static_cast<HTMLSourceElement*>(castedThis->impl());
return jsString(exec, imp->type());
}
JSValue jsHTMLSourceElementMedia(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLSourceElement* castedThis = static_cast<JSHTMLSourceElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLSourceElement* imp = static_cast<HTMLSourceElement*>(static_cast<JSHTMLSourceElement*>(asObject(slot.slotBase()))->impl());
+ HTMLSourceElement* imp = static_cast<HTMLSourceElement*>(castedThis->impl());
return jsString(exec, imp->media());
}
JSValue jsHTMLSourceElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLSourceElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLSourceElement* domObject = static_cast<JSHTMLSourceElement*>(asObject(slot.slotBase()));
+ return JSHTMLSourceElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLSourceElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -177,9 +181,9 @@ void setJSHTMLSourceElementMedia(ExecState* exec, JSObject* thisObject, JSValue
imp->setMedia(value.toString(exec));
}
-JSValue JSHTMLSourceElement::getConstructor(ExecState* exec)
+JSValue JSHTMLSourceElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLSourceElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLSourceElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLSourceElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLSourceElement.h
index 18ece59..7c00c0e 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLSourceElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLSourceElement.h
@@ -32,7 +32,7 @@ class HTMLSourceElement;
class JSHTMLSourceElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLSourceElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLSourceElement>);
+ JSHTMLSourceElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLSourceElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -44,7 +44,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLStyleElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLStyleElement.cpp
index 5b31c04..4de3dc8 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLStyleElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLStyleElement.cpp
@@ -46,7 +46,7 @@ static const HashTableValue JSHTMLStyleElementTableValues[6] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLStyleElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLStyleElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 31, JSHTMLStyleElementTableValues, 0 };
#else
@@ -60,19 +60,19 @@ static const HashTableValue JSHTMLStyleElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLStyleElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLStyleElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLStyleElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLStyleElementConstructorTableValues, 0 };
#endif
-class JSHTMLStyleElementConstructor : public DOMObject {
+class JSHTMLStyleElementConstructor : public DOMConstructorObject {
public:
- JSHTMLStyleElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLStyleElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLStyleElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLStyleElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLStyleElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLStyleElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -98,7 +98,7 @@ static const HashTableValue JSHTMLStyleElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLStyleElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLStyleElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLStyleElementPrototypeTableValues, 0 };
#else
@@ -114,8 +114,8 @@ JSObject* JSHTMLStyleElementPrototype::self(ExecState* exec, JSGlobalObject* glo
const ClassInfo JSHTMLStyleElement::s_info = { "HTMLStyleElement", &JSHTMLElement::s_info, &JSHTMLStyleElementTable, 0 };
-JSHTMLStyleElement::JSHTMLStyleElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLStyleElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLStyleElement::JSHTMLStyleElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLStyleElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -131,35 +131,40 @@ bool JSHTMLStyleElement::getOwnPropertySlot(ExecState* exec, const Identifier& p
JSValue jsHTMLStyleElementDisabled(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLStyleElement* castedThis = static_cast<JSHTMLStyleElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLStyleElement* imp = static_cast<HTMLStyleElement*>(static_cast<JSHTMLStyleElement*>(asObject(slot.slotBase()))->impl());
+ HTMLStyleElement* imp = static_cast<HTMLStyleElement*>(castedThis->impl());
return jsBoolean(imp->disabled());
}
JSValue jsHTMLStyleElementMedia(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLStyleElement* castedThis = static_cast<JSHTMLStyleElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLStyleElement* imp = static_cast<HTMLStyleElement*>(static_cast<JSHTMLStyleElement*>(asObject(slot.slotBase()))->impl());
+ HTMLStyleElement* imp = static_cast<HTMLStyleElement*>(castedThis->impl());
return jsString(exec, imp->media());
}
JSValue jsHTMLStyleElementType(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLStyleElement* castedThis = static_cast<JSHTMLStyleElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLStyleElement* imp = static_cast<HTMLStyleElement*>(static_cast<JSHTMLStyleElement*>(asObject(slot.slotBase()))->impl());
+ HTMLStyleElement* imp = static_cast<HTMLStyleElement*>(castedThis->impl());
return jsString(exec, imp->type());
}
JSValue jsHTMLStyleElementSheet(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLStyleElement* castedThis = static_cast<JSHTMLStyleElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLStyleElement* imp = static_cast<HTMLStyleElement*>(static_cast<JSHTMLStyleElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->sheet()));
+ HTMLStyleElement* imp = static_cast<HTMLStyleElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->sheet()));
}
JSValue jsHTMLStyleElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLStyleElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLStyleElement* domObject = static_cast<JSHTMLStyleElement*>(asObject(slot.slotBase()));
+ return JSHTMLStyleElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLStyleElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -184,9 +189,9 @@ void setJSHTMLStyleElementType(ExecState* exec, JSObject* thisObject, JSValue va
imp->setType(valueToStringWithNullCheck(exec, value));
}
-JSValue JSHTMLStyleElement::getConstructor(ExecState* exec)
+JSValue JSHTMLStyleElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLStyleElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLStyleElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLStyleElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLStyleElement.h
index d0e9201..3698a23 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLStyleElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLStyleElement.h
@@ -30,7 +30,7 @@ class HTMLStyleElement;
class JSHTMLStyleElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLStyleElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLStyleElement>);
+ JSHTMLStyleElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLStyleElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -42,7 +42,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLTableCaptionElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLTableCaptionElement.cpp
index 51b8dbe..6206931 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLTableCaptionElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLTableCaptionElement.cpp
@@ -41,7 +41,7 @@ static const HashTableValue JSHTMLTableCaptionElementTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLTableCaptionElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLTableCaptionElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 7, JSHTMLTableCaptionElementTableValues, 0 };
#else
@@ -55,19 +55,19 @@ static const HashTableValue JSHTMLTableCaptionElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLTableCaptionElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLTableCaptionElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLTableCaptionElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLTableCaptionElementConstructorTableValues, 0 };
#endif
-class JSHTMLTableCaptionElementConstructor : public DOMObject {
+class JSHTMLTableCaptionElementConstructor : public DOMConstructorObject {
public:
- JSHTMLTableCaptionElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLTableCaptionElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLTableCaptionElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLTableCaptionElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLTableCaptionElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLTableCaptionElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -93,7 +93,7 @@ static const HashTableValue JSHTMLTableCaptionElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLTableCaptionElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLTableCaptionElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLTableCaptionElementPrototypeTableValues, 0 };
#else
@@ -109,8 +109,8 @@ JSObject* JSHTMLTableCaptionElementPrototype::self(ExecState* exec, JSGlobalObje
const ClassInfo JSHTMLTableCaptionElement::s_info = { "HTMLTableCaptionElement", &JSHTMLElement::s_info, &JSHTMLTableCaptionElementTable, 0 };
-JSHTMLTableCaptionElement::JSHTMLTableCaptionElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLTableCaptionElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLTableCaptionElement::JSHTMLTableCaptionElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLTableCaptionElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -126,14 +126,16 @@ bool JSHTMLTableCaptionElement::getOwnPropertySlot(ExecState* exec, const Identi
JSValue jsHTMLTableCaptionElementAlign(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTableCaptionElement* castedThis = static_cast<JSHTMLTableCaptionElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTableCaptionElement* imp = static_cast<HTMLTableCaptionElement*>(static_cast<JSHTMLTableCaptionElement*>(asObject(slot.slotBase()))->impl());
+ HTMLTableCaptionElement* imp = static_cast<HTMLTableCaptionElement*>(castedThis->impl());
return jsString(exec, imp->align());
}
JSValue jsHTMLTableCaptionElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLTableCaptionElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLTableCaptionElement* domObject = static_cast<JSHTMLTableCaptionElement*>(asObject(slot.slotBase()));
+ return JSHTMLTableCaptionElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLTableCaptionElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -146,9 +148,9 @@ void setJSHTMLTableCaptionElementAlign(ExecState* exec, JSObject* thisObject, JS
imp->setAlign(valueToStringWithNullCheck(exec, value));
}
-JSValue JSHTMLTableCaptionElement::getConstructor(ExecState* exec)
+JSValue JSHTMLTableCaptionElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLTableCaptionElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLTableCaptionElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
HTMLTableCaptionElement* toHTMLTableCaptionElement(JSC::JSValue value)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLTableCaptionElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLTableCaptionElement.h
index bc37fd4..5071186 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLTableCaptionElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLTableCaptionElement.h
@@ -31,7 +31,7 @@ class HTMLTableCaptionElement;
class JSHTMLTableCaptionElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLTableCaptionElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLTableCaptionElement>);
+ JSHTMLTableCaptionElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLTableCaptionElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -43,7 +43,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
HTMLTableCaptionElement* impl() const
{
return static_cast<HTMLTableCaptionElement*>(Base::impl());
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLTableCellElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLTableCellElement.cpp
index cb81f6d..02a8e96 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLTableCellElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLTableCellElement.cpp
@@ -56,7 +56,7 @@ static const HashTableValue JSHTMLTableCellElementTableValues[17] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLTableCellElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLTableCellElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 511, JSHTMLTableCellElementTableValues, 0 };
#else
@@ -70,19 +70,19 @@ static const HashTableValue JSHTMLTableCellElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLTableCellElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLTableCellElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLTableCellElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLTableCellElementConstructorTableValues, 0 };
#endif
-class JSHTMLTableCellElementConstructor : public DOMObject {
+class JSHTMLTableCellElementConstructor : public DOMConstructorObject {
public:
- JSHTMLTableCellElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLTableCellElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLTableCellElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLTableCellElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLTableCellElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLTableCellElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -108,7 +108,7 @@ static const HashTableValue JSHTMLTableCellElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLTableCellElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLTableCellElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLTableCellElementPrototypeTableValues, 0 };
#else
@@ -124,8 +124,8 @@ JSObject* JSHTMLTableCellElementPrototype::self(ExecState* exec, JSGlobalObject*
const ClassInfo JSHTMLTableCellElement::s_info = { "HTMLTableCellElement", &JSHTMLElement::s_info, &JSHTMLTableCellElementTable, 0 };
-JSHTMLTableCellElement::JSHTMLTableCellElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLTableCellElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLTableCellElement::JSHTMLTableCellElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLTableCellElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -141,112 +141,128 @@ bool JSHTMLTableCellElement::getOwnPropertySlot(ExecState* exec, const Identifie
JSValue jsHTMLTableCellElementCellIndex(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTableCellElement* castedThis = static_cast<JSHTMLTableCellElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTableCellElement* imp = static_cast<HTMLTableCellElement*>(static_cast<JSHTMLTableCellElement*>(asObject(slot.slotBase()))->impl());
+ HTMLTableCellElement* imp = static_cast<HTMLTableCellElement*>(castedThis->impl());
return jsNumber(exec, imp->cellIndex());
}
JSValue jsHTMLTableCellElementAbbr(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTableCellElement* castedThis = static_cast<JSHTMLTableCellElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTableCellElement* imp = static_cast<HTMLTableCellElement*>(static_cast<JSHTMLTableCellElement*>(asObject(slot.slotBase()))->impl());
+ HTMLTableCellElement* imp = static_cast<HTMLTableCellElement*>(castedThis->impl());
return jsString(exec, imp->abbr());
}
JSValue jsHTMLTableCellElementAlign(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTableCellElement* castedThis = static_cast<JSHTMLTableCellElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTableCellElement* imp = static_cast<HTMLTableCellElement*>(static_cast<JSHTMLTableCellElement*>(asObject(slot.slotBase()))->impl());
+ HTMLTableCellElement* imp = static_cast<HTMLTableCellElement*>(castedThis->impl());
return jsString(exec, imp->align());
}
JSValue jsHTMLTableCellElementAxis(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTableCellElement* castedThis = static_cast<JSHTMLTableCellElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTableCellElement* imp = static_cast<HTMLTableCellElement*>(static_cast<JSHTMLTableCellElement*>(asObject(slot.slotBase()))->impl());
+ HTMLTableCellElement* imp = static_cast<HTMLTableCellElement*>(castedThis->impl());
return jsString(exec, imp->axis());
}
JSValue jsHTMLTableCellElementBgColor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTableCellElement* castedThis = static_cast<JSHTMLTableCellElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTableCellElement* imp = static_cast<HTMLTableCellElement*>(static_cast<JSHTMLTableCellElement*>(asObject(slot.slotBase()))->impl());
+ HTMLTableCellElement* imp = static_cast<HTMLTableCellElement*>(castedThis->impl());
return jsString(exec, imp->bgColor());
}
JSValue jsHTMLTableCellElementCh(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTableCellElement* castedThis = static_cast<JSHTMLTableCellElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTableCellElement* imp = static_cast<HTMLTableCellElement*>(static_cast<JSHTMLTableCellElement*>(asObject(slot.slotBase()))->impl());
+ HTMLTableCellElement* imp = static_cast<HTMLTableCellElement*>(castedThis->impl());
return jsString(exec, imp->ch());
}
JSValue jsHTMLTableCellElementChOff(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTableCellElement* castedThis = static_cast<JSHTMLTableCellElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTableCellElement* imp = static_cast<HTMLTableCellElement*>(static_cast<JSHTMLTableCellElement*>(asObject(slot.slotBase()))->impl());
+ HTMLTableCellElement* imp = static_cast<HTMLTableCellElement*>(castedThis->impl());
return jsString(exec, imp->chOff());
}
JSValue jsHTMLTableCellElementColSpan(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTableCellElement* castedThis = static_cast<JSHTMLTableCellElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTableCellElement* imp = static_cast<HTMLTableCellElement*>(static_cast<JSHTMLTableCellElement*>(asObject(slot.slotBase()))->impl());
+ HTMLTableCellElement* imp = static_cast<HTMLTableCellElement*>(castedThis->impl());
return jsNumber(exec, imp->colSpan());
}
JSValue jsHTMLTableCellElementHeaders(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTableCellElement* castedThis = static_cast<JSHTMLTableCellElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTableCellElement* imp = static_cast<HTMLTableCellElement*>(static_cast<JSHTMLTableCellElement*>(asObject(slot.slotBase()))->impl());
+ HTMLTableCellElement* imp = static_cast<HTMLTableCellElement*>(castedThis->impl());
return jsString(exec, imp->headers());
}
JSValue jsHTMLTableCellElementHeight(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTableCellElement* castedThis = static_cast<JSHTMLTableCellElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTableCellElement* imp = static_cast<HTMLTableCellElement*>(static_cast<JSHTMLTableCellElement*>(asObject(slot.slotBase()))->impl());
+ HTMLTableCellElement* imp = static_cast<HTMLTableCellElement*>(castedThis->impl());
return jsString(exec, imp->height());
}
JSValue jsHTMLTableCellElementNoWrap(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTableCellElement* castedThis = static_cast<JSHTMLTableCellElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTableCellElement* imp = static_cast<HTMLTableCellElement*>(static_cast<JSHTMLTableCellElement*>(asObject(slot.slotBase()))->impl());
+ HTMLTableCellElement* imp = static_cast<HTMLTableCellElement*>(castedThis->impl());
return jsBoolean(imp->noWrap());
}
JSValue jsHTMLTableCellElementRowSpan(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTableCellElement* castedThis = static_cast<JSHTMLTableCellElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTableCellElement* imp = static_cast<HTMLTableCellElement*>(static_cast<JSHTMLTableCellElement*>(asObject(slot.slotBase()))->impl());
+ HTMLTableCellElement* imp = static_cast<HTMLTableCellElement*>(castedThis->impl());
return jsNumber(exec, imp->rowSpan());
}
JSValue jsHTMLTableCellElementScope(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTableCellElement* castedThis = static_cast<JSHTMLTableCellElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTableCellElement* imp = static_cast<HTMLTableCellElement*>(static_cast<JSHTMLTableCellElement*>(asObject(slot.slotBase()))->impl());
+ HTMLTableCellElement* imp = static_cast<HTMLTableCellElement*>(castedThis->impl());
return jsString(exec, imp->scope());
}
JSValue jsHTMLTableCellElementVAlign(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTableCellElement* castedThis = static_cast<JSHTMLTableCellElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTableCellElement* imp = static_cast<HTMLTableCellElement*>(static_cast<JSHTMLTableCellElement*>(asObject(slot.slotBase()))->impl());
+ HTMLTableCellElement* imp = static_cast<HTMLTableCellElement*>(castedThis->impl());
return jsString(exec, imp->vAlign());
}
JSValue jsHTMLTableCellElementWidth(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTableCellElement* castedThis = static_cast<JSHTMLTableCellElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTableCellElement* imp = static_cast<HTMLTableCellElement*>(static_cast<JSHTMLTableCellElement*>(asObject(slot.slotBase()))->impl());
+ HTMLTableCellElement* imp = static_cast<HTMLTableCellElement*>(castedThis->impl());
return jsString(exec, imp->width());
}
JSValue jsHTMLTableCellElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLTableCellElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLTableCellElement* domObject = static_cast<JSHTMLTableCellElement*>(asObject(slot.slotBase()));
+ return JSHTMLTableCellElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLTableCellElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -337,9 +353,9 @@ void setJSHTMLTableCellElementWidth(ExecState* exec, JSObject* thisObject, JSVal
imp->setWidth(valueToStringWithNullCheck(exec, value));
}
-JSValue JSHTMLTableCellElement::getConstructor(ExecState* exec)
+JSValue JSHTMLTableCellElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLTableCellElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLTableCellElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLTableCellElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLTableCellElement.h
index 7aa08ef..3575ad9 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLTableCellElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLTableCellElement.h
@@ -30,7 +30,7 @@ class HTMLTableCellElement;
class JSHTMLTableCellElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLTableCellElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLTableCellElement>);
+ JSHTMLTableCellElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLTableCellElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -42,7 +42,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLTableColElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLTableColElement.cpp
index 470cd02..033a6e0 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLTableColElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLTableColElement.cpp
@@ -47,7 +47,7 @@ static const HashTableValue JSHTMLTableColElementTableValues[8] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLTableColElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLTableColElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 511, JSHTMLTableColElementTableValues, 0 };
#else
@@ -61,19 +61,19 @@ static const HashTableValue JSHTMLTableColElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLTableColElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLTableColElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLTableColElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLTableColElementConstructorTableValues, 0 };
#endif
-class JSHTMLTableColElementConstructor : public DOMObject {
+class JSHTMLTableColElementConstructor : public DOMConstructorObject {
public:
- JSHTMLTableColElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLTableColElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLTableColElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLTableColElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLTableColElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLTableColElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -99,7 +99,7 @@ static const HashTableValue JSHTMLTableColElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLTableColElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLTableColElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLTableColElementPrototypeTableValues, 0 };
#else
@@ -115,8 +115,8 @@ JSObject* JSHTMLTableColElementPrototype::self(ExecState* exec, JSGlobalObject*
const ClassInfo JSHTMLTableColElement::s_info = { "HTMLTableColElement", &JSHTMLElement::s_info, &JSHTMLTableColElementTable, 0 };
-JSHTMLTableColElement::JSHTMLTableColElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLTableColElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLTableColElement::JSHTMLTableColElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLTableColElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -132,49 +132,56 @@ bool JSHTMLTableColElement::getOwnPropertySlot(ExecState* exec, const Identifier
JSValue jsHTMLTableColElementAlign(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTableColElement* castedThis = static_cast<JSHTMLTableColElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTableColElement* imp = static_cast<HTMLTableColElement*>(static_cast<JSHTMLTableColElement*>(asObject(slot.slotBase()))->impl());
+ HTMLTableColElement* imp = static_cast<HTMLTableColElement*>(castedThis->impl());
return jsString(exec, imp->align());
}
JSValue jsHTMLTableColElementCh(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTableColElement* castedThis = static_cast<JSHTMLTableColElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTableColElement* imp = static_cast<HTMLTableColElement*>(static_cast<JSHTMLTableColElement*>(asObject(slot.slotBase()))->impl());
+ HTMLTableColElement* imp = static_cast<HTMLTableColElement*>(castedThis->impl());
return jsString(exec, imp->ch());
}
JSValue jsHTMLTableColElementChOff(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTableColElement* castedThis = static_cast<JSHTMLTableColElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTableColElement* imp = static_cast<HTMLTableColElement*>(static_cast<JSHTMLTableColElement*>(asObject(slot.slotBase()))->impl());
+ HTMLTableColElement* imp = static_cast<HTMLTableColElement*>(castedThis->impl());
return jsString(exec, imp->chOff());
}
JSValue jsHTMLTableColElementSpan(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTableColElement* castedThis = static_cast<JSHTMLTableColElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTableColElement* imp = static_cast<HTMLTableColElement*>(static_cast<JSHTMLTableColElement*>(asObject(slot.slotBase()))->impl());
+ HTMLTableColElement* imp = static_cast<HTMLTableColElement*>(castedThis->impl());
return jsNumber(exec, imp->span());
}
JSValue jsHTMLTableColElementVAlign(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTableColElement* castedThis = static_cast<JSHTMLTableColElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTableColElement* imp = static_cast<HTMLTableColElement*>(static_cast<JSHTMLTableColElement*>(asObject(slot.slotBase()))->impl());
+ HTMLTableColElement* imp = static_cast<HTMLTableColElement*>(castedThis->impl());
return jsString(exec, imp->vAlign());
}
JSValue jsHTMLTableColElementWidth(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTableColElement* castedThis = static_cast<JSHTMLTableColElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTableColElement* imp = static_cast<HTMLTableColElement*>(static_cast<JSHTMLTableColElement*>(asObject(slot.slotBase()))->impl());
+ HTMLTableColElement* imp = static_cast<HTMLTableColElement*>(castedThis->impl());
return jsString(exec, imp->width());
}
JSValue jsHTMLTableColElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLTableColElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLTableColElement* domObject = static_cast<JSHTMLTableColElement*>(asObject(slot.slotBase()));
+ return JSHTMLTableColElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLTableColElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -217,9 +224,9 @@ void setJSHTMLTableColElementWidth(ExecState* exec, JSObject* thisObject, JSValu
imp->setWidth(valueToStringWithNullCheck(exec, value));
}
-JSValue JSHTMLTableColElement::getConstructor(ExecState* exec)
+JSValue JSHTMLTableColElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLTableColElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLTableColElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLTableColElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLTableColElement.h
index a060d19..87584cd 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLTableColElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLTableColElement.h
@@ -30,7 +30,7 @@ class HTMLTableColElement;
class JSHTMLTableColElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLTableColElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLTableColElement>);
+ JSHTMLTableColElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLTableColElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -42,7 +42,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLTableElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLTableElement.cpp
index 96b92e0..55e43e0 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLTableElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLTableElement.cpp
@@ -63,7 +63,7 @@ static const HashTableValue JSHTMLTableElementTableValues[16] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLTableElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLTableElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 127, JSHTMLTableElementTableValues, 0 };
#else
@@ -77,19 +77,19 @@ static const HashTableValue JSHTMLTableElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLTableElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLTableElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLTableElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLTableElementConstructorTableValues, 0 };
#endif
-class JSHTMLTableElementConstructor : public DOMObject {
+class JSHTMLTableElementConstructor : public DOMConstructorObject {
public:
- JSHTMLTableElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLTableElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLTableElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLTableElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLTableElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLTableElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -123,7 +123,7 @@ static const HashTableValue JSHTMLTableElementPrototypeTableValues[9] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLTableElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLTableElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 127, JSHTMLTableElementPrototypeTableValues, 0 };
#else
@@ -144,8 +144,8 @@ bool JSHTMLTableElementPrototype::getOwnPropertySlot(ExecState* exec, const Iden
const ClassInfo JSHTMLTableElement::s_info = { "HTMLTableElement", &JSHTMLElement::s_info, &JSHTMLTableElementTable, 0 };
-JSHTMLTableElement::JSHTMLTableElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLTableElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLTableElement::JSHTMLTableElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLTableElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -161,105 +161,120 @@ bool JSHTMLTableElement::getOwnPropertySlot(ExecState* exec, const Identifier& p
JSValue jsHTMLTableElementCaption(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTableElement* castedThis = static_cast<JSHTMLTableElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTableElement* imp = static_cast<HTMLTableElement*>(static_cast<JSHTMLTableElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->caption()));
+ HTMLTableElement* imp = static_cast<HTMLTableElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->caption()));
}
JSValue jsHTMLTableElementTHead(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTableElement* castedThis = static_cast<JSHTMLTableElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTableElement* imp = static_cast<HTMLTableElement*>(static_cast<JSHTMLTableElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->tHead()));
+ HTMLTableElement* imp = static_cast<HTMLTableElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->tHead()));
}
JSValue jsHTMLTableElementTFoot(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTableElement* castedThis = static_cast<JSHTMLTableElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTableElement* imp = static_cast<HTMLTableElement*>(static_cast<JSHTMLTableElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->tFoot()));
+ HTMLTableElement* imp = static_cast<HTMLTableElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->tFoot()));
}
JSValue jsHTMLTableElementRows(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTableElement* castedThis = static_cast<JSHTMLTableElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTableElement* imp = static_cast<HTMLTableElement*>(static_cast<JSHTMLTableElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->rows()));
+ HTMLTableElement* imp = static_cast<HTMLTableElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->rows()));
}
JSValue jsHTMLTableElementTBodies(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTableElement* castedThis = static_cast<JSHTMLTableElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTableElement* imp = static_cast<HTMLTableElement*>(static_cast<JSHTMLTableElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->tBodies()));
+ HTMLTableElement* imp = static_cast<HTMLTableElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->tBodies()));
}
JSValue jsHTMLTableElementAlign(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTableElement* castedThis = static_cast<JSHTMLTableElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTableElement* imp = static_cast<HTMLTableElement*>(static_cast<JSHTMLTableElement*>(asObject(slot.slotBase()))->impl());
+ HTMLTableElement* imp = static_cast<HTMLTableElement*>(castedThis->impl());
return jsString(exec, imp->align());
}
JSValue jsHTMLTableElementBgColor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTableElement* castedThis = static_cast<JSHTMLTableElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTableElement* imp = static_cast<HTMLTableElement*>(static_cast<JSHTMLTableElement*>(asObject(slot.slotBase()))->impl());
+ HTMLTableElement* imp = static_cast<HTMLTableElement*>(castedThis->impl());
return jsString(exec, imp->bgColor());
}
JSValue jsHTMLTableElementBorder(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTableElement* castedThis = static_cast<JSHTMLTableElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTableElement* imp = static_cast<HTMLTableElement*>(static_cast<JSHTMLTableElement*>(asObject(slot.slotBase()))->impl());
+ HTMLTableElement* imp = static_cast<HTMLTableElement*>(castedThis->impl());
return jsString(exec, imp->border());
}
JSValue jsHTMLTableElementCellPadding(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTableElement* castedThis = static_cast<JSHTMLTableElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTableElement* imp = static_cast<HTMLTableElement*>(static_cast<JSHTMLTableElement*>(asObject(slot.slotBase()))->impl());
+ HTMLTableElement* imp = static_cast<HTMLTableElement*>(castedThis->impl());
return jsString(exec, imp->cellPadding());
}
JSValue jsHTMLTableElementCellSpacing(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTableElement* castedThis = static_cast<JSHTMLTableElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTableElement* imp = static_cast<HTMLTableElement*>(static_cast<JSHTMLTableElement*>(asObject(slot.slotBase()))->impl());
+ HTMLTableElement* imp = static_cast<HTMLTableElement*>(castedThis->impl());
return jsString(exec, imp->cellSpacing());
}
JSValue jsHTMLTableElementFrame(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTableElement* castedThis = static_cast<JSHTMLTableElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTableElement* imp = static_cast<HTMLTableElement*>(static_cast<JSHTMLTableElement*>(asObject(slot.slotBase()))->impl());
+ HTMLTableElement* imp = static_cast<HTMLTableElement*>(castedThis->impl());
return jsString(exec, imp->frame());
}
JSValue jsHTMLTableElementRules(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTableElement* castedThis = static_cast<JSHTMLTableElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTableElement* imp = static_cast<HTMLTableElement*>(static_cast<JSHTMLTableElement*>(asObject(slot.slotBase()))->impl());
+ HTMLTableElement* imp = static_cast<HTMLTableElement*>(castedThis->impl());
return jsString(exec, imp->rules());
}
JSValue jsHTMLTableElementSummary(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTableElement* castedThis = static_cast<JSHTMLTableElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTableElement* imp = static_cast<HTMLTableElement*>(static_cast<JSHTMLTableElement*>(asObject(slot.slotBase()))->impl());
+ HTMLTableElement* imp = static_cast<HTMLTableElement*>(castedThis->impl());
return jsString(exec, imp->summary());
}
JSValue jsHTMLTableElementWidth(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTableElement* castedThis = static_cast<JSHTMLTableElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTableElement* imp = static_cast<HTMLTableElement*>(static_cast<JSHTMLTableElement*>(asObject(slot.slotBase()))->impl());
+ HTMLTableElement* imp = static_cast<HTMLTableElement*>(castedThis->impl());
return jsString(exec, imp->width());
}
JSValue jsHTMLTableElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLTableElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLTableElement* domObject = static_cast<JSHTMLTableElement*>(asObject(slot.slotBase()));
+ return JSHTMLTableElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLTableElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -344,9 +359,9 @@ void setJSHTMLTableElementWidth(ExecState* exec, JSObject* thisObject, JSValue v
imp->setWidth(valueToStringWithNullCheck(exec, value));
}
-JSValue JSHTMLTableElement::getConstructor(ExecState* exec)
+JSValue JSHTMLTableElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLTableElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLTableElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsHTMLTableElementPrototypeFunctionCreateTHead(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -358,7 +373,7 @@ JSValue JSC_HOST_CALL jsHTMLTableElementPrototypeFunctionCreateTHead(ExecState*
HTMLTableElement* imp = static_cast<HTMLTableElement*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->createTHead()));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->createTHead()));
return result;
}
@@ -383,7 +398,7 @@ JSValue JSC_HOST_CALL jsHTMLTableElementPrototypeFunctionCreateTFoot(ExecState*
HTMLTableElement* imp = static_cast<HTMLTableElement*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->createTFoot()));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->createTFoot()));
return result;
}
@@ -408,7 +423,7 @@ JSValue JSC_HOST_CALL jsHTMLTableElementPrototypeFunctionCreateCaption(ExecState
HTMLTableElement* imp = static_cast<HTMLTableElement*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->createCaption()));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->createCaption()));
return result;
}
@@ -435,7 +450,7 @@ JSValue JSC_HOST_CALL jsHTMLTableElementPrototypeFunctionInsertRow(ExecState* ex
int index = args.at(0).toInt32(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->insertRow(index, ec)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->insertRow(index, ec)));
setDOMException(exec, ec);
return result;
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLTableElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLTableElement.h
index 234d812..ebef7fd 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLTableElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLTableElement.h
@@ -30,7 +30,7 @@ class HTMLTableElement;
class JSHTMLTableElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLTableElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLTableElement>);
+ JSHTMLTableElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLTableElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -42,7 +42,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLTableRowElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLTableRowElement.cpp
index c384613..3305604 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLTableRowElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLTableRowElement.cpp
@@ -54,7 +54,7 @@ static const HashTableValue JSHTMLTableRowElementTableValues[10] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLTableRowElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLTableRowElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 63, JSHTMLTableRowElementTableValues, 0 };
#else
@@ -68,19 +68,19 @@ static const HashTableValue JSHTMLTableRowElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLTableRowElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLTableRowElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLTableRowElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLTableRowElementConstructorTableValues, 0 };
#endif
-class JSHTMLTableRowElementConstructor : public DOMObject {
+class JSHTMLTableRowElementConstructor : public DOMConstructorObject {
public:
- JSHTMLTableRowElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLTableRowElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLTableRowElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLTableRowElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLTableRowElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLTableRowElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -108,7 +108,7 @@ static const HashTableValue JSHTMLTableRowElementPrototypeTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLTableRowElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLTableRowElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 1, JSHTMLTableRowElementPrototypeTableValues, 0 };
#else
@@ -129,8 +129,8 @@ bool JSHTMLTableRowElementPrototype::getOwnPropertySlot(ExecState* exec, const I
const ClassInfo JSHTMLTableRowElement::s_info = { "HTMLTableRowElement", &JSHTMLElement::s_info, &JSHTMLTableRowElementTable, 0 };
-JSHTMLTableRowElement::JSHTMLTableRowElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLTableRowElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLTableRowElement::JSHTMLTableRowElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLTableRowElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -146,63 +146,72 @@ bool JSHTMLTableRowElement::getOwnPropertySlot(ExecState* exec, const Identifier
JSValue jsHTMLTableRowElementRowIndex(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTableRowElement* castedThis = static_cast<JSHTMLTableRowElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTableRowElement* imp = static_cast<HTMLTableRowElement*>(static_cast<JSHTMLTableRowElement*>(asObject(slot.slotBase()))->impl());
+ HTMLTableRowElement* imp = static_cast<HTMLTableRowElement*>(castedThis->impl());
return jsNumber(exec, imp->rowIndex());
}
JSValue jsHTMLTableRowElementSectionRowIndex(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTableRowElement* castedThis = static_cast<JSHTMLTableRowElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTableRowElement* imp = static_cast<HTMLTableRowElement*>(static_cast<JSHTMLTableRowElement*>(asObject(slot.slotBase()))->impl());
+ HTMLTableRowElement* imp = static_cast<HTMLTableRowElement*>(castedThis->impl());
return jsNumber(exec, imp->sectionRowIndex());
}
JSValue jsHTMLTableRowElementCells(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTableRowElement* castedThis = static_cast<JSHTMLTableRowElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTableRowElement* imp = static_cast<HTMLTableRowElement*>(static_cast<JSHTMLTableRowElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->cells()));
+ HTMLTableRowElement* imp = static_cast<HTMLTableRowElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->cells()));
}
JSValue jsHTMLTableRowElementAlign(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTableRowElement* castedThis = static_cast<JSHTMLTableRowElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTableRowElement* imp = static_cast<HTMLTableRowElement*>(static_cast<JSHTMLTableRowElement*>(asObject(slot.slotBase()))->impl());
+ HTMLTableRowElement* imp = static_cast<HTMLTableRowElement*>(castedThis->impl());
return jsString(exec, imp->align());
}
JSValue jsHTMLTableRowElementBgColor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTableRowElement* castedThis = static_cast<JSHTMLTableRowElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTableRowElement* imp = static_cast<HTMLTableRowElement*>(static_cast<JSHTMLTableRowElement*>(asObject(slot.slotBase()))->impl());
+ HTMLTableRowElement* imp = static_cast<HTMLTableRowElement*>(castedThis->impl());
return jsString(exec, imp->bgColor());
}
JSValue jsHTMLTableRowElementCh(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTableRowElement* castedThis = static_cast<JSHTMLTableRowElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTableRowElement* imp = static_cast<HTMLTableRowElement*>(static_cast<JSHTMLTableRowElement*>(asObject(slot.slotBase()))->impl());
+ HTMLTableRowElement* imp = static_cast<HTMLTableRowElement*>(castedThis->impl());
return jsString(exec, imp->ch());
}
JSValue jsHTMLTableRowElementChOff(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTableRowElement* castedThis = static_cast<JSHTMLTableRowElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTableRowElement* imp = static_cast<HTMLTableRowElement*>(static_cast<JSHTMLTableRowElement*>(asObject(slot.slotBase()))->impl());
+ HTMLTableRowElement* imp = static_cast<HTMLTableRowElement*>(castedThis->impl());
return jsString(exec, imp->chOff());
}
JSValue jsHTMLTableRowElementVAlign(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTableRowElement* castedThis = static_cast<JSHTMLTableRowElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTableRowElement* imp = static_cast<HTMLTableRowElement*>(static_cast<JSHTMLTableRowElement*>(asObject(slot.slotBase()))->impl());
+ HTMLTableRowElement* imp = static_cast<HTMLTableRowElement*>(castedThis->impl());
return jsString(exec, imp->vAlign());
}
JSValue jsHTMLTableRowElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLTableRowElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLTableRowElement* domObject = static_cast<JSHTMLTableRowElement*>(asObject(slot.slotBase()));
+ return JSHTMLTableRowElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLTableRowElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -239,9 +248,9 @@ void setJSHTMLTableRowElementVAlign(ExecState* exec, JSObject* thisObject, JSVal
imp->setVAlign(valueToStringWithNullCheck(exec, value));
}
-JSValue JSHTMLTableRowElement::getConstructor(ExecState* exec)
+JSValue JSHTMLTableRowElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLTableRowElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLTableRowElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsHTMLTableRowElementPrototypeFunctionInsertCell(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -255,7 +264,7 @@ JSValue JSC_HOST_CALL jsHTMLTableRowElementPrototypeFunctionInsertCell(ExecState
int index = args.at(0).toInt32(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->insertCell(index, ec)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->insertCell(index, ec)));
setDOMException(exec, ec);
return result;
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLTableRowElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLTableRowElement.h
index e3e93bc..3a592b4 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLTableRowElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLTableRowElement.h
@@ -30,7 +30,7 @@ class HTMLTableRowElement;
class JSHTMLTableRowElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLTableRowElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLTableRowElement>);
+ JSHTMLTableRowElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLTableRowElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -42,7 +42,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLTableSectionElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLTableSectionElement.cpp
index 8e8ce54..fa3c5b5 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLTableSectionElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLTableSectionElement.cpp
@@ -50,7 +50,7 @@ static const HashTableValue JSHTMLTableSectionElementTableValues[7] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLTableSectionElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLTableSectionElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 7, JSHTMLTableSectionElementTableValues, 0 };
#else
@@ -64,19 +64,19 @@ static const HashTableValue JSHTMLTableSectionElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLTableSectionElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLTableSectionElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLTableSectionElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLTableSectionElementConstructorTableValues, 0 };
#endif
-class JSHTMLTableSectionElementConstructor : public DOMObject {
+class JSHTMLTableSectionElementConstructor : public DOMConstructorObject {
public:
- JSHTMLTableSectionElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLTableSectionElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLTableSectionElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLTableSectionElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLTableSectionElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLTableSectionElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -104,7 +104,7 @@ static const HashTableValue JSHTMLTableSectionElementPrototypeTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLTableSectionElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLTableSectionElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSHTMLTableSectionElementPrototypeTableValues, 0 };
#else
@@ -125,8 +125,8 @@ bool JSHTMLTableSectionElementPrototype::getOwnPropertySlot(ExecState* exec, con
const ClassInfo JSHTMLTableSectionElement::s_info = { "HTMLTableSectionElement", &JSHTMLElement::s_info, &JSHTMLTableSectionElementTable, 0 };
-JSHTMLTableSectionElement::JSHTMLTableSectionElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLTableSectionElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLTableSectionElement::JSHTMLTableSectionElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLTableSectionElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -142,42 +142,48 @@ bool JSHTMLTableSectionElement::getOwnPropertySlot(ExecState* exec, const Identi
JSValue jsHTMLTableSectionElementAlign(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTableSectionElement* castedThis = static_cast<JSHTMLTableSectionElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTableSectionElement* imp = static_cast<HTMLTableSectionElement*>(static_cast<JSHTMLTableSectionElement*>(asObject(slot.slotBase()))->impl());
+ HTMLTableSectionElement* imp = static_cast<HTMLTableSectionElement*>(castedThis->impl());
return jsString(exec, imp->align());
}
JSValue jsHTMLTableSectionElementCh(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTableSectionElement* castedThis = static_cast<JSHTMLTableSectionElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTableSectionElement* imp = static_cast<HTMLTableSectionElement*>(static_cast<JSHTMLTableSectionElement*>(asObject(slot.slotBase()))->impl());
+ HTMLTableSectionElement* imp = static_cast<HTMLTableSectionElement*>(castedThis->impl());
return jsString(exec, imp->ch());
}
JSValue jsHTMLTableSectionElementChOff(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTableSectionElement* castedThis = static_cast<JSHTMLTableSectionElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTableSectionElement* imp = static_cast<HTMLTableSectionElement*>(static_cast<JSHTMLTableSectionElement*>(asObject(slot.slotBase()))->impl());
+ HTMLTableSectionElement* imp = static_cast<HTMLTableSectionElement*>(castedThis->impl());
return jsString(exec, imp->chOff());
}
JSValue jsHTMLTableSectionElementVAlign(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTableSectionElement* castedThis = static_cast<JSHTMLTableSectionElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTableSectionElement* imp = static_cast<HTMLTableSectionElement*>(static_cast<JSHTMLTableSectionElement*>(asObject(slot.slotBase()))->impl());
+ HTMLTableSectionElement* imp = static_cast<HTMLTableSectionElement*>(castedThis->impl());
return jsString(exec, imp->vAlign());
}
JSValue jsHTMLTableSectionElementRows(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTableSectionElement* castedThis = static_cast<JSHTMLTableSectionElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTableSectionElement* imp = static_cast<HTMLTableSectionElement*>(static_cast<JSHTMLTableSectionElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->rows()));
+ HTMLTableSectionElement* imp = static_cast<HTMLTableSectionElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->rows()));
}
JSValue jsHTMLTableSectionElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLTableSectionElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLTableSectionElement* domObject = static_cast<JSHTMLTableSectionElement*>(asObject(slot.slotBase()));
+ return JSHTMLTableSectionElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLTableSectionElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -208,9 +214,9 @@ void setJSHTMLTableSectionElementVAlign(ExecState* exec, JSObject* thisObject, J
imp->setVAlign(valueToStringWithNullCheck(exec, value));
}
-JSValue JSHTMLTableSectionElement::getConstructor(ExecState* exec)
+JSValue JSHTMLTableSectionElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLTableSectionElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLTableSectionElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsHTMLTableSectionElementPrototypeFunctionInsertRow(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -224,7 +230,7 @@ JSValue JSC_HOST_CALL jsHTMLTableSectionElementPrototypeFunctionInsertRow(ExecSt
int index = args.at(0).toInt32(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->insertRow(index, ec)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->insertRow(index, ec)));
setDOMException(exec, ec);
return result;
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLTableSectionElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLTableSectionElement.h
index 672165f..0734bdb 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLTableSectionElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLTableSectionElement.h
@@ -31,7 +31,7 @@ class HTMLTableSectionElement;
class JSHTMLTableSectionElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLTableSectionElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLTableSectionElement>);
+ JSHTMLTableSectionElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLTableSectionElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -43,7 +43,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
HTMLTableSectionElement* impl() const
{
return static_cast<HTMLTableSectionElement*>(Base::impl());
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLTextAreaElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLTextAreaElement.cpp
index 6d845f9..0a2c779 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLTextAreaElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLTextAreaElement.cpp
@@ -24,7 +24,9 @@
#include "HTMLFormElement.h"
#include "HTMLTextAreaElement.h"
#include "JSHTMLFormElement.h"
+#include "JSValidityState.h"
#include "KURL.h"
+#include "ValidityState.h"
#include <runtime/Error.h>
#include <runtime/JSNumberCell.h>
#include <runtime/JSString.h>
@@ -38,16 +40,18 @@ ASSERT_CLASS_FITS_IN_CELL(JSHTMLTextAreaElement);
/* Hash table */
-static const HashTableValue JSHTMLTextAreaElementTableValues[16] =
+static const HashTableValue JSHTMLTextAreaElementTableValues[18] =
{
{ "defaultValue", DontDelete, (intptr_t)jsHTMLTextAreaElementDefaultValue, (intptr_t)setJSHTMLTextAreaElementDefaultValue },
{ "form", DontDelete|ReadOnly, (intptr_t)jsHTMLTextAreaElementForm, (intptr_t)0 },
+ { "validity", DontDelete|ReadOnly, (intptr_t)jsHTMLTextAreaElementValidity, (intptr_t)0 },
{ "accessKey", DontDelete, (intptr_t)jsHTMLTextAreaElementAccessKey, (intptr_t)setJSHTMLTextAreaElementAccessKey },
{ "cols", DontDelete, (intptr_t)jsHTMLTextAreaElementCols, (intptr_t)setJSHTMLTextAreaElementCols },
{ "disabled", DontDelete, (intptr_t)jsHTMLTextAreaElementDisabled, (intptr_t)setJSHTMLTextAreaElementDisabled },
{ "autofocus", DontDelete, (intptr_t)jsHTMLTextAreaElementAutofocus, (intptr_t)setJSHTMLTextAreaElementAutofocus },
{ "name", DontDelete, (intptr_t)jsHTMLTextAreaElementName, (intptr_t)setJSHTMLTextAreaElementName },
{ "readOnly", DontDelete, (intptr_t)jsHTMLTextAreaElementReadOnly, (intptr_t)setJSHTMLTextAreaElementReadOnly },
+ { "required", DontDelete, (intptr_t)jsHTMLTextAreaElementRequired, (intptr_t)setJSHTMLTextAreaElementRequired },
{ "rows", DontDelete, (intptr_t)jsHTMLTextAreaElementRows, (intptr_t)setJSHTMLTextAreaElementRows },
{ "type", DontDelete|ReadOnly, (intptr_t)jsHTMLTextAreaElementType, (intptr_t)0 },
{ "value", DontDelete, (intptr_t)jsHTMLTextAreaElementValue, (intptr_t)setJSHTMLTextAreaElementValue },
@@ -58,11 +62,11 @@ static const HashTableValue JSHTMLTextAreaElementTableValues[16] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLTextAreaElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLTextAreaElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 255, JSHTMLTextAreaElementTableValues, 0 };
#else
- { 35, 31, JSHTMLTextAreaElementTableValues, 0 };
+ { 67, 63, JSHTMLTextAreaElementTableValues, 0 };
#endif
/* Hash table for constructor */
@@ -72,19 +76,19 @@ static const HashTableValue JSHTMLTextAreaElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLTextAreaElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLTextAreaElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLTextAreaElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLTextAreaElementConstructorTableValues, 0 };
#endif
-class JSHTMLTextAreaElementConstructor : public DOMObject {
+class JSHTMLTextAreaElementConstructor : public DOMConstructorObject {
public:
- JSHTMLTextAreaElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLTextAreaElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLTextAreaElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLTextAreaElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLTextAreaElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLTextAreaElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -112,7 +116,7 @@ static const HashTableValue JSHTMLTextAreaElementPrototypeTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLTextAreaElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLTextAreaElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSHTMLTextAreaElementPrototypeTableValues, 0 };
#else
@@ -133,8 +137,8 @@ bool JSHTMLTextAreaElementPrototype::getOwnPropertySlot(ExecState* exec, const I
const ClassInfo JSHTMLTextAreaElement::s_info = { "HTMLTextAreaElement", &JSHTMLElement::s_info, &JSHTMLTextAreaElementTable, 0 };
-JSHTMLTextAreaElement::JSHTMLTextAreaElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLTextAreaElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLTextAreaElement::JSHTMLTextAreaElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLTextAreaElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -150,105 +154,136 @@ bool JSHTMLTextAreaElement::getOwnPropertySlot(ExecState* exec, const Identifier
JSValue jsHTMLTextAreaElementDefaultValue(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTextAreaElement* castedThis = static_cast<JSHTMLTextAreaElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTextAreaElement* imp = static_cast<HTMLTextAreaElement*>(static_cast<JSHTMLTextAreaElement*>(asObject(slot.slotBase()))->impl());
+ HTMLTextAreaElement* imp = static_cast<HTMLTextAreaElement*>(castedThis->impl());
return jsString(exec, imp->defaultValue());
}
JSValue jsHTMLTextAreaElementForm(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTextAreaElement* castedThis = static_cast<JSHTMLTextAreaElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTextAreaElement* imp = static_cast<HTMLTextAreaElement*>(static_cast<JSHTMLTextAreaElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->form()));
+ HTMLTextAreaElement* imp = static_cast<HTMLTextAreaElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->form()));
+}
+
+JSValue jsHTMLTextAreaElementValidity(ExecState* exec, const Identifier&, const PropertySlot& slot)
+{
+ JSHTMLTextAreaElement* castedThis = static_cast<JSHTMLTextAreaElement*>(asObject(slot.slotBase()));
+ UNUSED_PARAM(exec);
+ HTMLTextAreaElement* imp = static_cast<HTMLTextAreaElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->validity()));
}
JSValue jsHTMLTextAreaElementAccessKey(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTextAreaElement* castedThis = static_cast<JSHTMLTextAreaElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTextAreaElement* imp = static_cast<HTMLTextAreaElement*>(static_cast<JSHTMLTextAreaElement*>(asObject(slot.slotBase()))->impl());
+ HTMLTextAreaElement* imp = static_cast<HTMLTextAreaElement*>(castedThis->impl());
return jsString(exec, imp->accessKey());
}
JSValue jsHTMLTextAreaElementCols(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTextAreaElement* castedThis = static_cast<JSHTMLTextAreaElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTextAreaElement* imp = static_cast<HTMLTextAreaElement*>(static_cast<JSHTMLTextAreaElement*>(asObject(slot.slotBase()))->impl());
+ HTMLTextAreaElement* imp = static_cast<HTMLTextAreaElement*>(castedThis->impl());
return jsNumber(exec, imp->cols());
}
JSValue jsHTMLTextAreaElementDisabled(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTextAreaElement* castedThis = static_cast<JSHTMLTextAreaElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTextAreaElement* imp = static_cast<HTMLTextAreaElement*>(static_cast<JSHTMLTextAreaElement*>(asObject(slot.slotBase()))->impl());
+ HTMLTextAreaElement* imp = static_cast<HTMLTextAreaElement*>(castedThis->impl());
return jsBoolean(imp->disabled());
}
JSValue jsHTMLTextAreaElementAutofocus(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTextAreaElement* castedThis = static_cast<JSHTMLTextAreaElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTextAreaElement* imp = static_cast<HTMLTextAreaElement*>(static_cast<JSHTMLTextAreaElement*>(asObject(slot.slotBase()))->impl());
+ HTMLTextAreaElement* imp = static_cast<HTMLTextAreaElement*>(castedThis->impl());
return jsBoolean(imp->autofocus());
}
JSValue jsHTMLTextAreaElementName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTextAreaElement* castedThis = static_cast<JSHTMLTextAreaElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTextAreaElement* imp = static_cast<HTMLTextAreaElement*>(static_cast<JSHTMLTextAreaElement*>(asObject(slot.slotBase()))->impl());
+ HTMLTextAreaElement* imp = static_cast<HTMLTextAreaElement*>(castedThis->impl());
return jsString(exec, imp->name());
}
JSValue jsHTMLTextAreaElementReadOnly(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTextAreaElement* castedThis = static_cast<JSHTMLTextAreaElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTextAreaElement* imp = static_cast<HTMLTextAreaElement*>(static_cast<JSHTMLTextAreaElement*>(asObject(slot.slotBase()))->impl());
+ HTMLTextAreaElement* imp = static_cast<HTMLTextAreaElement*>(castedThis->impl());
return jsBoolean(imp->readOnly());
}
+JSValue jsHTMLTextAreaElementRequired(ExecState* exec, const Identifier&, const PropertySlot& slot)
+{
+ JSHTMLTextAreaElement* castedThis = static_cast<JSHTMLTextAreaElement*>(asObject(slot.slotBase()));
+ UNUSED_PARAM(exec);
+ HTMLTextAreaElement* imp = static_cast<HTMLTextAreaElement*>(castedThis->impl());
+ return jsBoolean(imp->required());
+}
+
JSValue jsHTMLTextAreaElementRows(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTextAreaElement* castedThis = static_cast<JSHTMLTextAreaElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTextAreaElement* imp = static_cast<HTMLTextAreaElement*>(static_cast<JSHTMLTextAreaElement*>(asObject(slot.slotBase()))->impl());
+ HTMLTextAreaElement* imp = static_cast<HTMLTextAreaElement*>(castedThis->impl());
return jsNumber(exec, imp->rows());
}
JSValue jsHTMLTextAreaElementType(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTextAreaElement* castedThis = static_cast<JSHTMLTextAreaElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTextAreaElement* imp = static_cast<HTMLTextAreaElement*>(static_cast<JSHTMLTextAreaElement*>(asObject(slot.slotBase()))->impl());
+ HTMLTextAreaElement* imp = static_cast<HTMLTextAreaElement*>(castedThis->impl());
return jsString(exec, imp->type());
}
JSValue jsHTMLTextAreaElementValue(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTextAreaElement* castedThis = static_cast<JSHTMLTextAreaElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTextAreaElement* imp = static_cast<HTMLTextAreaElement*>(static_cast<JSHTMLTextAreaElement*>(asObject(slot.slotBase()))->impl());
+ HTMLTextAreaElement* imp = static_cast<HTMLTextAreaElement*>(castedThis->impl());
return jsString(exec, imp->value());
}
JSValue jsHTMLTextAreaElementWillValidate(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTextAreaElement* castedThis = static_cast<JSHTMLTextAreaElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTextAreaElement* imp = static_cast<HTMLTextAreaElement*>(static_cast<JSHTMLTextAreaElement*>(asObject(slot.slotBase()))->impl());
+ HTMLTextAreaElement* imp = static_cast<HTMLTextAreaElement*>(castedThis->impl());
return jsBoolean(imp->willValidate());
}
JSValue jsHTMLTextAreaElementSelectionStart(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTextAreaElement* castedThis = static_cast<JSHTMLTextAreaElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTextAreaElement* imp = static_cast<HTMLTextAreaElement*>(static_cast<JSHTMLTextAreaElement*>(asObject(slot.slotBase()))->impl());
+ HTMLTextAreaElement* imp = static_cast<HTMLTextAreaElement*>(castedThis->impl());
return jsNumber(exec, imp->selectionStart());
}
JSValue jsHTMLTextAreaElementSelectionEnd(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTextAreaElement* castedThis = static_cast<JSHTMLTextAreaElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTextAreaElement* imp = static_cast<HTMLTextAreaElement*>(static_cast<JSHTMLTextAreaElement*>(asObject(slot.slotBase()))->impl());
+ HTMLTextAreaElement* imp = static_cast<HTMLTextAreaElement*>(castedThis->impl());
return jsNumber(exec, imp->selectionEnd());
}
JSValue jsHTMLTextAreaElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLTextAreaElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLTextAreaElement* domObject = static_cast<JSHTMLTextAreaElement*>(asObject(slot.slotBase()));
+ return JSHTMLTextAreaElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLTextAreaElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -297,6 +332,12 @@ void setJSHTMLTextAreaElementReadOnly(ExecState* exec, JSObject* thisObject, JSV
imp->setReadOnly(value.toBoolean(exec));
}
+void setJSHTMLTextAreaElementRequired(ExecState* exec, JSObject* thisObject, JSValue value)
+{
+ HTMLTextAreaElement* imp = static_cast<HTMLTextAreaElement*>(static_cast<JSHTMLTextAreaElement*>(thisObject)->impl());
+ imp->setRequired(value.toBoolean(exec));
+}
+
void setJSHTMLTextAreaElementRows(ExecState* exec, JSObject* thisObject, JSValue value)
{
HTMLTextAreaElement* imp = static_cast<HTMLTextAreaElement*>(static_cast<JSHTMLTextAreaElement*>(thisObject)->impl());
@@ -321,9 +362,9 @@ void setJSHTMLTextAreaElementSelectionEnd(ExecState* exec, JSObject* thisObject,
imp->setSelectionEnd(value.toInt32(exec));
}
-JSValue JSHTMLTextAreaElement::getConstructor(ExecState* exec)
+JSValue JSHTMLTextAreaElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLTextAreaElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLTextAreaElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsHTMLTextAreaElementPrototypeFunctionSelect(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLTextAreaElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLTextAreaElement.h
index d248975..52b05dd 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLTextAreaElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLTextAreaElement.h
@@ -30,7 +30,7 @@ class HTMLTextAreaElement;
class JSHTMLTextAreaElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLTextAreaElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLTextAreaElement>);
+ JSHTMLTextAreaElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLTextAreaElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -42,7 +42,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
@@ -69,6 +69,7 @@ JSC::JSValue JSC_HOST_CALL jsHTMLTextAreaElementPrototypeFunctionSetSelectionRan
JSC::JSValue jsHTMLTextAreaElementDefaultValue(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
void setJSHTMLTextAreaElementDefaultValue(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
JSC::JSValue jsHTMLTextAreaElementForm(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
+JSC::JSValue jsHTMLTextAreaElementValidity(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
JSC::JSValue jsHTMLTextAreaElementAccessKey(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
void setJSHTMLTextAreaElementAccessKey(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
JSC::JSValue jsHTMLTextAreaElementCols(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
@@ -81,6 +82,8 @@ JSC::JSValue jsHTMLTextAreaElementName(JSC::ExecState*, const JSC::Identifier&,
void setJSHTMLTextAreaElementName(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
JSC::JSValue jsHTMLTextAreaElementReadOnly(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
void setJSHTMLTextAreaElementReadOnly(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
+JSC::JSValue jsHTMLTextAreaElementRequired(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
+void setJSHTMLTextAreaElementRequired(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
JSC::JSValue jsHTMLTextAreaElementRows(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
void setJSHTMLTextAreaElementRows(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
JSC::JSValue jsHTMLTextAreaElementType(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLTitleElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLTitleElement.cpp
index 82a61ad..04bf7e0 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLTitleElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLTitleElement.cpp
@@ -41,7 +41,7 @@ static const HashTableValue JSHTMLTitleElementTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLTitleElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLTitleElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 1, JSHTMLTitleElementTableValues, 0 };
#else
@@ -55,19 +55,19 @@ static const HashTableValue JSHTMLTitleElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLTitleElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLTitleElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLTitleElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLTitleElementConstructorTableValues, 0 };
#endif
-class JSHTMLTitleElementConstructor : public DOMObject {
+class JSHTMLTitleElementConstructor : public DOMConstructorObject {
public:
- JSHTMLTitleElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLTitleElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLTitleElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLTitleElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLTitleElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLTitleElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -93,7 +93,7 @@ static const HashTableValue JSHTMLTitleElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLTitleElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLTitleElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLTitleElementPrototypeTableValues, 0 };
#else
@@ -109,8 +109,8 @@ JSObject* JSHTMLTitleElementPrototype::self(ExecState* exec, JSGlobalObject* glo
const ClassInfo JSHTMLTitleElement::s_info = { "HTMLTitleElement", &JSHTMLElement::s_info, &JSHTMLTitleElementTable, 0 };
-JSHTMLTitleElement::JSHTMLTitleElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLTitleElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLTitleElement::JSHTMLTitleElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLTitleElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -126,14 +126,16 @@ bool JSHTMLTitleElement::getOwnPropertySlot(ExecState* exec, const Identifier& p
JSValue jsHTMLTitleElementText(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTitleElement* castedThis = static_cast<JSHTMLTitleElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTitleElement* imp = static_cast<HTMLTitleElement*>(static_cast<JSHTMLTitleElement*>(asObject(slot.slotBase()))->impl());
+ HTMLTitleElement* imp = static_cast<HTMLTitleElement*>(castedThis->impl());
return jsString(exec, imp->text());
}
JSValue jsHTMLTitleElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLTitleElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLTitleElement* domObject = static_cast<JSHTMLTitleElement*>(asObject(slot.slotBase()));
+ return JSHTMLTitleElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLTitleElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -146,9 +148,9 @@ void setJSHTMLTitleElementText(ExecState* exec, JSObject* thisObject, JSValue va
imp->setText(valueToStringWithNullCheck(exec, value));
}
-JSValue JSHTMLTitleElement::getConstructor(ExecState* exec)
+JSValue JSHTMLTitleElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLTitleElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLTitleElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLTitleElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLTitleElement.h
index 79e73ae..fa8c4c6 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLTitleElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLTitleElement.h
@@ -30,7 +30,7 @@ class HTMLTitleElement;
class JSHTMLTitleElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLTitleElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLTitleElement>);
+ JSHTMLTitleElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLTitleElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -42,7 +42,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLUListElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLUListElement.cpp
index 522ff7f..017a317 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLUListElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLUListElement.cpp
@@ -42,7 +42,7 @@ static const HashTableValue JSHTMLUListElementTableValues[4] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLUListElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLUListElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 7, JSHTMLUListElementTableValues, 0 };
#else
@@ -56,19 +56,19 @@ static const HashTableValue JSHTMLUListElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLUListElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLUListElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLUListElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLUListElementConstructorTableValues, 0 };
#endif
-class JSHTMLUListElementConstructor : public DOMObject {
+class JSHTMLUListElementConstructor : public DOMConstructorObject {
public:
- JSHTMLUListElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLUListElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLUListElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLUListElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLUListElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLUListElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -94,7 +94,7 @@ static const HashTableValue JSHTMLUListElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLUListElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLUListElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLUListElementPrototypeTableValues, 0 };
#else
@@ -110,8 +110,8 @@ JSObject* JSHTMLUListElementPrototype::self(ExecState* exec, JSGlobalObject* glo
const ClassInfo JSHTMLUListElement::s_info = { "HTMLUListElement", &JSHTMLElement::s_info, &JSHTMLUListElementTable, 0 };
-JSHTMLUListElement::JSHTMLUListElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLUListElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLUListElement::JSHTMLUListElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLUListElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -127,21 +127,24 @@ bool JSHTMLUListElement::getOwnPropertySlot(ExecState* exec, const Identifier& p
JSValue jsHTMLUListElementCompact(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLUListElement* castedThis = static_cast<JSHTMLUListElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLUListElement* imp = static_cast<HTMLUListElement*>(static_cast<JSHTMLUListElement*>(asObject(slot.slotBase()))->impl());
+ HTMLUListElement* imp = static_cast<HTMLUListElement*>(castedThis->impl());
return jsBoolean(imp->compact());
}
JSValue jsHTMLUListElementType(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLUListElement* castedThis = static_cast<JSHTMLUListElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLUListElement* imp = static_cast<HTMLUListElement*>(static_cast<JSHTMLUListElement*>(asObject(slot.slotBase()))->impl());
+ HTMLUListElement* imp = static_cast<HTMLUListElement*>(castedThis->impl());
return jsString(exec, imp->type());
}
JSValue jsHTMLUListElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLUListElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLUListElement* domObject = static_cast<JSHTMLUListElement*>(asObject(slot.slotBase()));
+ return JSHTMLUListElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLUListElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -160,9 +163,9 @@ void setJSHTMLUListElementType(ExecState* exec, JSObject* thisObject, JSValue va
imp->setType(valueToStringWithNullCheck(exec, value));
}
-JSValue JSHTMLUListElement::getConstructor(ExecState* exec)
+JSValue JSHTMLUListElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLUListElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLUListElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLUListElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLUListElement.h
index 339b5f0..9c1cc10 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLUListElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLUListElement.h
@@ -30,7 +30,7 @@ class HTMLUListElement;
class JSHTMLUListElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLUListElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLUListElement>);
+ JSHTMLUListElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLUListElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -42,7 +42,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLVideoElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLVideoElement.cpp
index c097281..152ae5f 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLVideoElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLVideoElement.cpp
@@ -49,7 +49,7 @@ static const HashTableValue JSHTMLVideoElementTableValues[7] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLVideoElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLVideoElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 31, JSHTMLVideoElementTableValues, 0 };
#else
@@ -63,19 +63,19 @@ static const HashTableValue JSHTMLVideoElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLVideoElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLVideoElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLVideoElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLVideoElementConstructorTableValues, 0 };
#endif
-class JSHTMLVideoElementConstructor : public DOMObject {
+class JSHTMLVideoElementConstructor : public DOMConstructorObject {
public:
- JSHTMLVideoElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLVideoElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLVideoElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLVideoElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLVideoElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLVideoElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -101,7 +101,7 @@ static const HashTableValue JSHTMLVideoElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLVideoElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLVideoElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLVideoElementPrototypeTableValues, 0 };
#else
@@ -117,8 +117,8 @@ JSObject* JSHTMLVideoElementPrototype::self(ExecState* exec, JSGlobalObject* glo
const ClassInfo JSHTMLVideoElement::s_info = { "HTMLVideoElement", &JSHTMLMediaElement::s_info, &JSHTMLVideoElementTable, 0 };
-JSHTMLVideoElement::JSHTMLVideoElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLVideoElement> impl)
- : JSHTMLMediaElement(structure, impl)
+JSHTMLVideoElement::JSHTMLVideoElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLVideoElement> impl)
+ : JSHTMLMediaElement(structure, globalObject, impl)
{
}
@@ -134,42 +134,48 @@ bool JSHTMLVideoElement::getOwnPropertySlot(ExecState* exec, const Identifier& p
JSValue jsHTMLVideoElementWidth(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLVideoElement* castedThis = static_cast<JSHTMLVideoElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLVideoElement* imp = static_cast<HTMLVideoElement*>(static_cast<JSHTMLVideoElement*>(asObject(slot.slotBase()))->impl());
+ HTMLVideoElement* imp = static_cast<HTMLVideoElement*>(castedThis->impl());
return jsNumber(exec, imp->width());
}
JSValue jsHTMLVideoElementHeight(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLVideoElement* castedThis = static_cast<JSHTMLVideoElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLVideoElement* imp = static_cast<HTMLVideoElement*>(static_cast<JSHTMLVideoElement*>(asObject(slot.slotBase()))->impl());
+ HTMLVideoElement* imp = static_cast<HTMLVideoElement*>(castedThis->impl());
return jsNumber(exec, imp->height());
}
JSValue jsHTMLVideoElementVideoWidth(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLVideoElement* castedThis = static_cast<JSHTMLVideoElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLVideoElement* imp = static_cast<HTMLVideoElement*>(static_cast<JSHTMLVideoElement*>(asObject(slot.slotBase()))->impl());
+ HTMLVideoElement* imp = static_cast<HTMLVideoElement*>(castedThis->impl());
return jsNumber(exec, imp->videoWidth());
}
JSValue jsHTMLVideoElementVideoHeight(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLVideoElement* castedThis = static_cast<JSHTMLVideoElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLVideoElement* imp = static_cast<HTMLVideoElement*>(static_cast<JSHTMLVideoElement*>(asObject(slot.slotBase()))->impl());
+ HTMLVideoElement* imp = static_cast<HTMLVideoElement*>(castedThis->impl());
return jsNumber(exec, imp->videoHeight());
}
JSValue jsHTMLVideoElementPoster(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLVideoElement* castedThis = static_cast<JSHTMLVideoElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLVideoElement* imp = static_cast<HTMLVideoElement*>(static_cast<JSHTMLVideoElement*>(asObject(slot.slotBase()))->impl());
+ HTMLVideoElement* imp = static_cast<HTMLVideoElement*>(castedThis->impl());
return jsString(exec, imp->poster());
}
JSValue jsHTMLVideoElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLVideoElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLVideoElement* domObject = static_cast<JSHTMLVideoElement*>(asObject(slot.slotBase()));
+ return JSHTMLVideoElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLVideoElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -194,9 +200,9 @@ void setJSHTMLVideoElementPoster(ExecState* exec, JSObject* thisObject, JSValue
imp->setPoster(valueToStringWithNullCheck(exec, value));
}
-JSValue JSHTMLVideoElement::getConstructor(ExecState* exec)
+JSValue JSHTMLVideoElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLVideoElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLVideoElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLVideoElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLVideoElement.h
index 3e3b8c2..15bcc89 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLVideoElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLVideoElement.h
@@ -32,7 +32,7 @@ class HTMLVideoElement;
class JSHTMLVideoElement : public JSHTMLMediaElement {
typedef JSHTMLMediaElement Base;
public:
- JSHTMLVideoElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLVideoElement>);
+ JSHTMLVideoElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLVideoElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -44,7 +44,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHistory.cpp b/src/3rdparty/webkit/WebCore/generated/JSHistory.cpp
index 55e22af..fc8c0b6 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHistory.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHistory.cpp
@@ -41,7 +41,7 @@ static const HashTableValue JSHistoryTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHistoryTable =
+static JSC_CONST_HASHTABLE HashTable JSHistoryTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHistoryTableValues, 0 };
#else
@@ -58,7 +58,7 @@ static const HashTableValue JSHistoryPrototypeTableValues[4] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHistoryPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHistoryPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 31, JSHistoryPrototypeTableValues, 0 };
#else
@@ -79,8 +79,8 @@ bool JSHistoryPrototype::getOwnPropertySlot(ExecState* exec, const Identifier& p
const ClassInfo JSHistory::s_info = { "History", 0, &JSHistoryTable, 0 };
-JSHistory::JSHistory(PassRefPtr<Structure> structure, PassRefPtr<History> impl)
- : DOMObject(structure)
+JSHistory::JSHistory(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<History> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -104,8 +104,9 @@ bool JSHistory::getOwnPropertySlot(ExecState* exec, const Identifier& propertyNa
JSValue jsHistoryLength(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHistory* castedThis = static_cast<JSHistory*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- History* imp = static_cast<History*>(static_cast<JSHistory*>(asObject(slot.slotBase()))->impl());
+ History* imp = static_cast<History*>(castedThis->impl());
return jsNumber(exec, imp->length());
}
@@ -153,9 +154,9 @@ JSValue JSC_HOST_CALL jsHistoryPrototypeFunctionGo(ExecState* exec, JSObject*, J
return jsUndefined();
}
-JSC::JSValue toJS(JSC::ExecState* exec, History* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, History* object)
{
- return getDOMObjectWrapper<JSHistory>(exec, object);
+ return getDOMObjectWrapper<JSHistory>(exec, globalObject, object);
}
History* toHistory(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHistory.h b/src/3rdparty/webkit/WebCore/generated/JSHistory.h
index e81255a..8163882 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHistory.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHistory.h
@@ -21,6 +21,7 @@
#ifndef JSHistory_h
#define JSHistory_h
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -29,10 +30,10 @@ namespace WebCore {
class History;
-class JSHistory : public DOMObject {
- typedef DOMObject Base;
+class JSHistory : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSHistory(PassRefPtr<JSC::Structure>, PassRefPtr<History>);
+ JSHistory(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<History>);
virtual ~JSHistory();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -55,7 +56,7 @@ private:
RefPtr<History> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, History*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, History*);
History* toHistory(JSC::JSValue);
class JSHistoryPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSImageData.cpp b/src/3rdparty/webkit/WebCore/generated/JSImageData.cpp
index a965375..841b1a2 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSImageData.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSImageData.cpp
@@ -41,7 +41,7 @@ static const HashTableValue JSImageDataTableValues[4] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSImageDataTable =
+static JSC_CONST_HASHTABLE HashTable JSImageDataTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 31, JSImageDataTableValues, 0 };
#else
@@ -55,19 +55,19 @@ static const HashTableValue JSImageDataConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSImageDataConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSImageDataConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSImageDataConstructorTableValues, 0 };
#else
{ 1, 0, JSImageDataConstructorTableValues, 0 };
#endif
-class JSImageDataConstructor : public DOMObject {
+class JSImageDataConstructor : public DOMConstructorObject {
public:
- JSImageDataConstructor(ExecState* exec)
- : DOMObject(JSImageDataConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSImageDataConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSImageDataConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSImageDataPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSImageDataPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -93,7 +93,7 @@ static const HashTableValue JSImageDataPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSImageDataPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSImageDataPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSImageDataPrototypeTableValues, 0 };
#else
@@ -109,8 +109,8 @@ JSObject* JSImageDataPrototype::self(ExecState* exec, JSGlobalObject* globalObje
const ClassInfo JSImageData::s_info = { "ImageData", 0, &JSImageDataTable, 0 };
-JSImageData::JSImageData(PassRefPtr<Structure> structure, PassRefPtr<ImageData> impl)
- : DOMObject(structure)
+JSImageData::JSImageData(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<ImageData> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -132,25 +132,28 @@ bool JSImageData::getOwnPropertySlot(ExecState* exec, const Identifier& property
JSValue jsImageDataWidth(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSImageData* castedThis = static_cast<JSImageData*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- ImageData* imp = static_cast<ImageData*>(static_cast<JSImageData*>(asObject(slot.slotBase()))->impl());
+ ImageData* imp = static_cast<ImageData*>(castedThis->impl());
return jsNumber(exec, imp->width());
}
JSValue jsImageDataHeight(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSImageData* castedThis = static_cast<JSImageData*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- ImageData* imp = static_cast<ImageData*>(static_cast<JSImageData*>(asObject(slot.slotBase()))->impl());
+ ImageData* imp = static_cast<ImageData*>(castedThis->impl());
return jsNumber(exec, imp->height());
}
JSValue jsImageDataConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSImageData*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSImageData* domObject = static_cast<JSImageData*>(asObject(slot.slotBase()));
+ return JSImageData::getConstructor(exec, domObject->globalObject());
}
-JSValue JSImageData::getConstructor(ExecState* exec)
+JSValue JSImageData::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSImageDataConstructor>(exec);
+ return getDOMConstructor<JSImageDataConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
ImageData* toImageData(JSC::JSValue value)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSImageData.h b/src/3rdparty/webkit/WebCore/generated/JSImageData.h
index 12a9f01..5b6ab1d 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSImageData.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSImageData.h
@@ -21,6 +21,7 @@
#ifndef JSImageData_h
#define JSImageData_h
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -29,10 +30,10 @@ namespace WebCore {
class ImageData;
-class JSImageData : public DOMObject {
- typedef DOMObject Base;
+class JSImageData : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSImageData(PassRefPtr<JSC::Structure>, PassRefPtr<ImageData>);
+ JSImageData(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<ImageData>);
virtual ~JSImageData();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -44,14 +45,14 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
ImageData* impl() const { return m_impl.get(); }
private:
RefPtr<ImageData> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, ImageData*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, ImageData*);
ImageData* toImageData(JSC::JSValue);
class JSImageDataPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSInspectorBackend.cpp b/src/3rdparty/webkit/WebCore/generated/JSInspectorBackend.cpp
new file mode 100644
index 0000000..78e5420
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/generated/JSInspectorBackend.cpp
@@ -0,0 +1,773 @@
+/*
+ This file is part of the WebKit open source project.
+ This file has been generated by generate-bindings.pl. DO NOT MODIFY!
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "config.h"
+#include "JSInspectorBackend.h"
+
+#include "DOMWindow.h"
+#include "InspectorBackend.h"
+#include "JSNode.h"
+#include "KURL.h"
+#include <runtime/Error.h>
+#include <runtime/JSString.h>
+#include <wtf/GetPtr.h>
+
+using namespace JSC;
+
+namespace WebCore {
+
+ASSERT_CLASS_FITS_IN_CELL(JSInspectorBackend);
+
+/* Hash table */
+
+static const HashTableValue JSInspectorBackendTableValues[2] =
+{
+ { "constructor", DontEnum|ReadOnly, (intptr_t)jsInspectorBackendConstructor, (intptr_t)0 },
+ { 0, 0, 0, 0 }
+};
+
+static JSC_CONST_HASHTABLE HashTable JSInspectorBackendTable =
+#if ENABLE(PERFECT_HASH_SIZE)
+ { 0, JSInspectorBackendTableValues, 0 };
+#else
+ { 2, 1, JSInspectorBackendTableValues, 0 };
+#endif
+
+/* Hash table for constructor */
+
+static const HashTableValue JSInspectorBackendConstructorTableValues[1] =
+{
+ { 0, 0, 0, 0 }
+};
+
+static JSC_CONST_HASHTABLE HashTable JSInspectorBackendConstructorTable =
+#if ENABLE(PERFECT_HASH_SIZE)
+ { 0, JSInspectorBackendConstructorTableValues, 0 };
+#else
+ { 1, 0, JSInspectorBackendConstructorTableValues, 0 };
+#endif
+
+class JSInspectorBackendConstructor : public DOMConstructorObject {
+public:
+ JSInspectorBackendConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSInspectorBackendConstructor::createStructure(globalObject->objectPrototype()), globalObject)
+ {
+ putDirect(exec->propertyNames().prototype, JSInspectorBackendPrototype::self(exec, globalObject), None);
+ }
+ virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
+ virtual const ClassInfo* classInfo() const { return &s_info; }
+ static const ClassInfo s_info;
+
+ static PassRefPtr<Structure> createStructure(JSValue proto)
+ {
+ return Structure::create(proto, TypeInfo(ObjectType, ImplementsHasInstance));
+ }
+};
+
+const ClassInfo JSInspectorBackendConstructor::s_info = { "InspectorBackendConstructor", 0, &JSInspectorBackendConstructorTable, 0 };
+
+bool JSInspectorBackendConstructor::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
+{
+ return getStaticValueSlot<JSInspectorBackendConstructor, DOMObject>(exec, &JSInspectorBackendConstructorTable, this, propertyName, slot);
+}
+
+/* Hash table for prototype */
+
+static const HashTableValue JSInspectorBackendPrototypeTableValues[48] =
+{
+ { "hideDOMNodeHighlight", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionHideDOMNodeHighlight, (intptr_t)0 },
+ { "highlightDOMNode", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionHighlightDOMNode, (intptr_t)1 },
+ { "loaded", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionLoaded, (intptr_t)0 },
+ { "windowUnloading", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionWindowUnloading, (intptr_t)0 },
+ { "attach", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionAttach, (intptr_t)0 },
+ { "detach", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionDetach, (intptr_t)0 },
+ { "closeWindow", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionCloseWindow, (intptr_t)0 },
+ { "clearMessages", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionClearMessages, (intptr_t)0 },
+ { "toggleNodeSearch", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionToggleNodeSearch, (intptr_t)0 },
+ { "isWindowVisible", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionIsWindowVisible, (intptr_t)0 },
+ { "searchingForNode", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionSearchingForNode, (intptr_t)0 },
+ { "addResourceSourceToFrame", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionAddResourceSourceToFrame, (intptr_t)2 },
+ { "addSourceToFrame", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionAddSourceToFrame, (intptr_t)3 },
+ { "search", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionSearch, (intptr_t)2 },
+ { "databaseTableNames", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionDatabaseTableNames, (intptr_t)1 },
+ { "setting", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionSetting, (intptr_t)1 },
+ { "setSetting", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionSetSetting, (intptr_t)2 },
+ { "inspectedWindow", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionInspectedWindow, (intptr_t)0 },
+ { "localizedStringsURL", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionLocalizedStringsURL, (intptr_t)0 },
+ { "hiddenPanels", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionHiddenPanels, (intptr_t)0 },
+ { "platform", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionPlatform, (intptr_t)0 },
+ { "moveByUnrestricted", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionMoveByUnrestricted, (intptr_t)2 },
+ { "setAttachedWindowHeight", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionSetAttachedWindowHeight, (intptr_t)1 },
+ { "wrapCallback", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionWrapCallback, (intptr_t)1 },
+ { "resourceTrackingEnabled", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionResourceTrackingEnabled, (intptr_t)0 },
+ { "enableResourceTracking", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionEnableResourceTracking, (intptr_t)1 },
+ { "disableResourceTracking", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionDisableResourceTracking, (intptr_t)1 },
+ { "storeLastActivePanel", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionStoreLastActivePanel, (intptr_t)1 },
+ { "debuggerEnabled", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionDebuggerEnabled, (intptr_t)0 },
+ { "enableDebugger", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionEnableDebugger, (intptr_t)1 },
+ { "disableDebugger", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionDisableDebugger, (intptr_t)1 },
+ { "addBreakpoint", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionAddBreakpoint, (intptr_t)2 },
+ { "removeBreakpoint", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionRemoveBreakpoint, (intptr_t)2 },
+ { "pauseInDebugger", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionPauseInDebugger, (intptr_t)0 },
+ { "resumeDebugger", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionResumeDebugger, (intptr_t)0 },
+ { "stepOverStatementInDebugger", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionStepOverStatementInDebugger, (intptr_t)0 },
+ { "stepIntoStatementInDebugger", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionStepIntoStatementInDebugger, (intptr_t)0 },
+ { "stepOutOfFunctionInDebugger", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionStepOutOfFunctionInDebugger, (intptr_t)0 },
+ { "currentCallFrame", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionCurrentCallFrame, (intptr_t)0 },
+ { "pauseOnExceptions", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionPauseOnExceptions, (intptr_t)0 },
+ { "setPauseOnExceptions", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionSetPauseOnExceptions, (intptr_t)1 },
+ { "profilerEnabled", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionProfilerEnabled, (intptr_t)0 },
+ { "enableProfiler", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionEnableProfiler, (intptr_t)1 },
+ { "disableProfiler", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionDisableProfiler, (intptr_t)1 },
+ { "startProfiling", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionStartProfiling, (intptr_t)0 },
+ { "stopProfiling", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionStopProfiling, (intptr_t)0 },
+ { "profiles", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionProfiles, (intptr_t)0 },
+ { 0, 0, 0, 0 }
+};
+
+static JSC_CONST_HASHTABLE HashTable JSInspectorBackendPrototypeTable =
+#if ENABLE(PERFECT_HASH_SIZE)
+ { 2047, JSInspectorBackendPrototypeTableValues, 0 };
+#else
+ { 137, 127, JSInspectorBackendPrototypeTableValues, 0 };
+#endif
+
+const ClassInfo JSInspectorBackendPrototype::s_info = { "InspectorBackendPrototype", 0, &JSInspectorBackendPrototypeTable, 0 };
+
+JSObject* JSInspectorBackendPrototype::self(ExecState* exec, JSGlobalObject* globalObject)
+{
+ return getDOMPrototype<JSInspectorBackend>(exec, globalObject);
+}
+
+bool JSInspectorBackendPrototype::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
+{
+ return getStaticFunctionSlot<JSObject>(exec, &JSInspectorBackendPrototypeTable, this, propertyName, slot);
+}
+
+const ClassInfo JSInspectorBackend::s_info = { "InspectorBackend", 0, &JSInspectorBackendTable, 0 };
+
+JSInspectorBackend::JSInspectorBackend(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<InspectorBackend> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
+ , m_impl(impl)
+{
+}
+
+JSInspectorBackend::~JSInspectorBackend()
+{
+ forgetDOMObject(*Heap::heap(this)->globalData(), m_impl.get());
+}
+
+JSObject* JSInspectorBackend::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
+{
+ return new (exec) JSInspectorBackendPrototype(JSInspectorBackendPrototype::createStructure(globalObject->objectPrototype()));
+}
+
+bool JSInspectorBackend::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
+{
+ return getStaticValueSlot<JSInspectorBackend, Base>(exec, &JSInspectorBackendTable, this, propertyName, slot);
+}
+
+JSValue jsInspectorBackendConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
+{
+ JSInspectorBackend* domObject = static_cast<JSInspectorBackend*>(asObject(slot.slotBase()));
+ return JSInspectorBackend::getConstructor(exec, domObject->globalObject());
+}
+JSValue JSInspectorBackend::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
+{
+ return getDOMConstructor<JSInspectorBackendConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
+}
+
+JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionHideDOMNodeHighlight(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+{
+ UNUSED_PARAM(args);
+ if (!thisValue.isObject(&JSInspectorBackend::s_info))
+ return throwError(exec, TypeError);
+ JSInspectorBackend* castedThisObj = static_cast<JSInspectorBackend*>(asObject(thisValue));
+ InspectorBackend* imp = static_cast<InspectorBackend*>(castedThisObj->impl());
+
+ imp->hideDOMNodeHighlight();
+ return jsUndefined();
+}
+
+JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionHighlightDOMNode(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+{
+ UNUSED_PARAM(args);
+ if (!thisValue.isObject(&JSInspectorBackend::s_info))
+ return throwError(exec, TypeError);
+ JSInspectorBackend* castedThisObj = static_cast<JSInspectorBackend*>(asObject(thisValue));
+ return castedThisObj->highlightDOMNode(exec, args);
+}
+
+JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionLoaded(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+{
+ UNUSED_PARAM(args);
+ if (!thisValue.isObject(&JSInspectorBackend::s_info))
+ return throwError(exec, TypeError);
+ JSInspectorBackend* castedThisObj = static_cast<JSInspectorBackend*>(asObject(thisValue));
+ InspectorBackend* imp = static_cast<InspectorBackend*>(castedThisObj->impl());
+
+ imp->loaded();
+ return jsUndefined();
+}
+
+JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionWindowUnloading(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+{
+ UNUSED_PARAM(args);
+ if (!thisValue.isObject(&JSInspectorBackend::s_info))
+ return throwError(exec, TypeError);
+ JSInspectorBackend* castedThisObj = static_cast<JSInspectorBackend*>(asObject(thisValue));
+ InspectorBackend* imp = static_cast<InspectorBackend*>(castedThisObj->impl());
+
+ imp->windowUnloading();
+ return jsUndefined();
+}
+
+JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionAttach(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+{
+ UNUSED_PARAM(args);
+ if (!thisValue.isObject(&JSInspectorBackend::s_info))
+ return throwError(exec, TypeError);
+ JSInspectorBackend* castedThisObj = static_cast<JSInspectorBackend*>(asObject(thisValue));
+ InspectorBackend* imp = static_cast<InspectorBackend*>(castedThisObj->impl());
+
+ imp->attach();
+ return jsUndefined();
+}
+
+JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionDetach(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+{
+ UNUSED_PARAM(args);
+ if (!thisValue.isObject(&JSInspectorBackend::s_info))
+ return throwError(exec, TypeError);
+ JSInspectorBackend* castedThisObj = static_cast<JSInspectorBackend*>(asObject(thisValue));
+ InspectorBackend* imp = static_cast<InspectorBackend*>(castedThisObj->impl());
+
+ imp->detach();
+ return jsUndefined();
+}
+
+JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionCloseWindow(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+{
+ UNUSED_PARAM(args);
+ if (!thisValue.isObject(&JSInspectorBackend::s_info))
+ return throwError(exec, TypeError);
+ JSInspectorBackend* castedThisObj = static_cast<JSInspectorBackend*>(asObject(thisValue));
+ InspectorBackend* imp = static_cast<InspectorBackend*>(castedThisObj->impl());
+
+ imp->closeWindow();
+ return jsUndefined();
+}
+
+JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionClearMessages(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+{
+ UNUSED_PARAM(args);
+ if (!thisValue.isObject(&JSInspectorBackend::s_info))
+ return throwError(exec, TypeError);
+ JSInspectorBackend* castedThisObj = static_cast<JSInspectorBackend*>(asObject(thisValue));
+ InspectorBackend* imp = static_cast<InspectorBackend*>(castedThisObj->impl());
+
+ imp->clearMessages();
+ return jsUndefined();
+}
+
+JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionToggleNodeSearch(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+{
+ UNUSED_PARAM(args);
+ if (!thisValue.isObject(&JSInspectorBackend::s_info))
+ return throwError(exec, TypeError);
+ JSInspectorBackend* castedThisObj = static_cast<JSInspectorBackend*>(asObject(thisValue));
+ InspectorBackend* imp = static_cast<InspectorBackend*>(castedThisObj->impl());
+
+ imp->toggleNodeSearch();
+ return jsUndefined();
+}
+
+JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionIsWindowVisible(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+{
+ UNUSED_PARAM(args);
+ if (!thisValue.isObject(&JSInspectorBackend::s_info))
+ return throwError(exec, TypeError);
+ JSInspectorBackend* castedThisObj = static_cast<JSInspectorBackend*>(asObject(thisValue));
+ InspectorBackend* imp = static_cast<InspectorBackend*>(castedThisObj->impl());
+
+
+ JSC::JSValue result = jsBoolean(imp->isWindowVisible());
+ return result;
+}
+
+JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionSearchingForNode(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+{
+ UNUSED_PARAM(args);
+ if (!thisValue.isObject(&JSInspectorBackend::s_info))
+ return throwError(exec, TypeError);
+ JSInspectorBackend* castedThisObj = static_cast<JSInspectorBackend*>(asObject(thisValue));
+ InspectorBackend* imp = static_cast<InspectorBackend*>(castedThisObj->impl());
+
+
+ JSC::JSValue result = jsBoolean(imp->searchingForNode());
+ return result;
+}
+
+JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionAddResourceSourceToFrame(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+{
+ UNUSED_PARAM(args);
+ if (!thisValue.isObject(&JSInspectorBackend::s_info))
+ return throwError(exec, TypeError);
+ JSInspectorBackend* castedThisObj = static_cast<JSInspectorBackend*>(asObject(thisValue));
+ InspectorBackend* imp = static_cast<InspectorBackend*>(castedThisObj->impl());
+ int identifier = args.at(0).toInt32(exec);
+ Node* frame = toNode(args.at(1));
+
+ imp->addResourceSourceToFrame(identifier, frame);
+ return jsUndefined();
+}
+
+JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionAddSourceToFrame(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+{
+ UNUSED_PARAM(args);
+ if (!thisValue.isObject(&JSInspectorBackend::s_info))
+ return throwError(exec, TypeError);
+ JSInspectorBackend* castedThisObj = static_cast<JSInspectorBackend*>(asObject(thisValue));
+ InspectorBackend* imp = static_cast<InspectorBackend*>(castedThisObj->impl());
+ const UString& mimeType = args.at(0).toString(exec);
+ const UString& sourceValue = args.at(1).toString(exec);
+ Node* frame = toNode(args.at(2));
+
+
+ JSC::JSValue result = jsBoolean(imp->addSourceToFrame(mimeType, sourceValue, frame));
+ return result;
+}
+
+JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionSearch(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+{
+ UNUSED_PARAM(args);
+ if (!thisValue.isObject(&JSInspectorBackend::s_info))
+ return throwError(exec, TypeError);
+ JSInspectorBackend* castedThisObj = static_cast<JSInspectorBackend*>(asObject(thisValue));
+ return castedThisObj->search(exec, args);
+}
+
+JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionDatabaseTableNames(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+{
+ UNUSED_PARAM(args);
+ if (!thisValue.isObject(&JSInspectorBackend::s_info))
+ return throwError(exec, TypeError);
+ JSInspectorBackend* castedThisObj = static_cast<JSInspectorBackend*>(asObject(thisValue));
+ return castedThisObj->databaseTableNames(exec, args);
+}
+
+JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionSetting(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+{
+ UNUSED_PARAM(args);
+ if (!thisValue.isObject(&JSInspectorBackend::s_info))
+ return throwError(exec, TypeError);
+ JSInspectorBackend* castedThisObj = static_cast<JSInspectorBackend*>(asObject(thisValue));
+ return castedThisObj->setting(exec, args);
+}
+
+JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionSetSetting(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+{
+ UNUSED_PARAM(args);
+ if (!thisValue.isObject(&JSInspectorBackend::s_info))
+ return throwError(exec, TypeError);
+ JSInspectorBackend* castedThisObj = static_cast<JSInspectorBackend*>(asObject(thisValue));
+ return castedThisObj->setSetting(exec, args);
+}
+
+JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionInspectedWindow(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+{
+ UNUSED_PARAM(args);
+ if (!thisValue.isObject(&JSInspectorBackend::s_info))
+ return throwError(exec, TypeError);
+ JSInspectorBackend* castedThisObj = static_cast<JSInspectorBackend*>(asObject(thisValue));
+ return castedThisObj->inspectedWindow(exec, args);
+}
+
+JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionLocalizedStringsURL(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+{
+ UNUSED_PARAM(args);
+ if (!thisValue.isObject(&JSInspectorBackend::s_info))
+ return throwError(exec, TypeError);
+ JSInspectorBackend* castedThisObj = static_cast<JSInspectorBackend*>(asObject(thisValue));
+ InspectorBackend* imp = static_cast<InspectorBackend*>(castedThisObj->impl());
+
+
+ JSC::JSValue result = jsString(exec, imp->localizedStringsURL());
+ return result;
+}
+
+JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionHiddenPanels(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+{
+ UNUSED_PARAM(args);
+ if (!thisValue.isObject(&JSInspectorBackend::s_info))
+ return throwError(exec, TypeError);
+ JSInspectorBackend* castedThisObj = static_cast<JSInspectorBackend*>(asObject(thisValue));
+ InspectorBackend* imp = static_cast<InspectorBackend*>(castedThisObj->impl());
+
+
+ JSC::JSValue result = jsString(exec, imp->hiddenPanels());
+ return result;
+}
+
+JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionPlatform(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+{
+ UNUSED_PARAM(args);
+ if (!thisValue.isObject(&JSInspectorBackend::s_info))
+ return throwError(exec, TypeError);
+ JSInspectorBackend* castedThisObj = static_cast<JSInspectorBackend*>(asObject(thisValue));
+ InspectorBackend* imp = static_cast<InspectorBackend*>(castedThisObj->impl());
+
+
+ JSC::JSValue result = jsString(exec, imp->platform());
+ return result;
+}
+
+JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionMoveByUnrestricted(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+{
+ UNUSED_PARAM(args);
+ if (!thisValue.isObject(&JSInspectorBackend::s_info))
+ return throwError(exec, TypeError);
+ JSInspectorBackend* castedThisObj = static_cast<JSInspectorBackend*>(asObject(thisValue));
+ InspectorBackend* imp = static_cast<InspectorBackend*>(castedThisObj->impl());
+ float x = args.at(0).toFloat(exec);
+ float y = args.at(1).toFloat(exec);
+
+ imp->moveWindowBy(x, y);
+ return jsUndefined();
+}
+
+JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionSetAttachedWindowHeight(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+{
+ UNUSED_PARAM(args);
+ if (!thisValue.isObject(&JSInspectorBackend::s_info))
+ return throwError(exec, TypeError);
+ JSInspectorBackend* castedThisObj = static_cast<JSInspectorBackend*>(asObject(thisValue));
+ InspectorBackend* imp = static_cast<InspectorBackend*>(castedThisObj->impl());
+ unsigned height = args.at(0).toInt32(exec);
+
+ imp->setAttachedWindowHeight(height);
+ return jsUndefined();
+}
+
+JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionWrapCallback(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+{
+ UNUSED_PARAM(args);
+ if (!thisValue.isObject(&JSInspectorBackend::s_info))
+ return throwError(exec, TypeError);
+ JSInspectorBackend* castedThisObj = static_cast<JSInspectorBackend*>(asObject(thisValue));
+ return castedThisObj->wrapCallback(exec, args);
+}
+
+JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionResourceTrackingEnabled(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+{
+ UNUSED_PARAM(args);
+ if (!thisValue.isObject(&JSInspectorBackend::s_info))
+ return throwError(exec, TypeError);
+ JSInspectorBackend* castedThisObj = static_cast<JSInspectorBackend*>(asObject(thisValue));
+ InspectorBackend* imp = static_cast<InspectorBackend*>(castedThisObj->impl());
+
+
+ JSC::JSValue result = jsBoolean(imp->resourceTrackingEnabled());
+ return result;
+}
+
+JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionEnableResourceTracking(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+{
+ UNUSED_PARAM(args);
+ if (!thisValue.isObject(&JSInspectorBackend::s_info))
+ return throwError(exec, TypeError);
+ JSInspectorBackend* castedThisObj = static_cast<JSInspectorBackend*>(asObject(thisValue));
+ InspectorBackend* imp = static_cast<InspectorBackend*>(castedThisObj->impl());
+ bool always = args.at(0).toBoolean(exec);
+
+ imp->enableResourceTracking(always);
+ return jsUndefined();
+}
+
+JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionDisableResourceTracking(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+{
+ UNUSED_PARAM(args);
+ if (!thisValue.isObject(&JSInspectorBackend::s_info))
+ return throwError(exec, TypeError);
+ JSInspectorBackend* castedThisObj = static_cast<JSInspectorBackend*>(asObject(thisValue));
+ InspectorBackend* imp = static_cast<InspectorBackend*>(castedThisObj->impl());
+ bool always = args.at(0).toBoolean(exec);
+
+ imp->disableResourceTracking(always);
+ return jsUndefined();
+}
+
+JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionStoreLastActivePanel(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+{
+ UNUSED_PARAM(args);
+ if (!thisValue.isObject(&JSInspectorBackend::s_info))
+ return throwError(exec, TypeError);
+ JSInspectorBackend* castedThisObj = static_cast<JSInspectorBackend*>(asObject(thisValue));
+ InspectorBackend* imp = static_cast<InspectorBackend*>(castedThisObj->impl());
+ const UString& panelName = args.at(0).toString(exec);
+
+ imp->storeLastActivePanel(panelName);
+ return jsUndefined();
+}
+
+JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionDebuggerEnabled(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+{
+ UNUSED_PARAM(args);
+ if (!thisValue.isObject(&JSInspectorBackend::s_info))
+ return throwError(exec, TypeError);
+ JSInspectorBackend* castedThisObj = static_cast<JSInspectorBackend*>(asObject(thisValue));
+ InspectorBackend* imp = static_cast<InspectorBackend*>(castedThisObj->impl());
+
+
+ JSC::JSValue result = jsBoolean(imp->debuggerEnabled());
+ return result;
+}
+
+JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionEnableDebugger(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+{
+ UNUSED_PARAM(args);
+ if (!thisValue.isObject(&JSInspectorBackend::s_info))
+ return throwError(exec, TypeError);
+ JSInspectorBackend* castedThisObj = static_cast<JSInspectorBackend*>(asObject(thisValue));
+ InspectorBackend* imp = static_cast<InspectorBackend*>(castedThisObj->impl());
+ bool always = args.at(0).toBoolean(exec);
+
+ imp->enableDebugger(always);
+ return jsUndefined();
+}
+
+JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionDisableDebugger(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+{
+ UNUSED_PARAM(args);
+ if (!thisValue.isObject(&JSInspectorBackend::s_info))
+ return throwError(exec, TypeError);
+ JSInspectorBackend* castedThisObj = static_cast<JSInspectorBackend*>(asObject(thisValue));
+ InspectorBackend* imp = static_cast<InspectorBackend*>(castedThisObj->impl());
+ bool always = args.at(0).toBoolean(exec);
+
+ imp->disableDebugger(always);
+ return jsUndefined();
+}
+
+JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionAddBreakpoint(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+{
+ UNUSED_PARAM(args);
+ if (!thisValue.isObject(&JSInspectorBackend::s_info))
+ return throwError(exec, TypeError);
+ JSInspectorBackend* castedThisObj = static_cast<JSInspectorBackend*>(asObject(thisValue));
+ InspectorBackend* imp = static_cast<InspectorBackend*>(castedThisObj->impl());
+ const UString& sourceID = args.at(0).toString(exec);
+ unsigned lineNumber = args.at(1).toInt32(exec);
+
+ imp->addBreakpoint(sourceID, lineNumber);
+ return jsUndefined();
+}
+
+JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionRemoveBreakpoint(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+{
+ UNUSED_PARAM(args);
+ if (!thisValue.isObject(&JSInspectorBackend::s_info))
+ return throwError(exec, TypeError);
+ JSInspectorBackend* castedThisObj = static_cast<JSInspectorBackend*>(asObject(thisValue));
+ InspectorBackend* imp = static_cast<InspectorBackend*>(castedThisObj->impl());
+ const UString& sourceID = args.at(0).toString(exec);
+ unsigned lineNumber = args.at(1).toInt32(exec);
+
+ imp->removeBreakpoint(sourceID, lineNumber);
+ return jsUndefined();
+}
+
+JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionPauseInDebugger(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+{
+ UNUSED_PARAM(args);
+ if (!thisValue.isObject(&JSInspectorBackend::s_info))
+ return throwError(exec, TypeError);
+ JSInspectorBackend* castedThisObj = static_cast<JSInspectorBackend*>(asObject(thisValue));
+ InspectorBackend* imp = static_cast<InspectorBackend*>(castedThisObj->impl());
+
+ imp->pauseInDebugger();
+ return jsUndefined();
+}
+
+JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionResumeDebugger(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+{
+ UNUSED_PARAM(args);
+ if (!thisValue.isObject(&JSInspectorBackend::s_info))
+ return throwError(exec, TypeError);
+ JSInspectorBackend* castedThisObj = static_cast<JSInspectorBackend*>(asObject(thisValue));
+ InspectorBackend* imp = static_cast<InspectorBackend*>(castedThisObj->impl());
+
+ imp->resumeDebugger();
+ return jsUndefined();
+}
+
+JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionStepOverStatementInDebugger(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+{
+ UNUSED_PARAM(args);
+ if (!thisValue.isObject(&JSInspectorBackend::s_info))
+ return throwError(exec, TypeError);
+ JSInspectorBackend* castedThisObj = static_cast<JSInspectorBackend*>(asObject(thisValue));
+ InspectorBackend* imp = static_cast<InspectorBackend*>(castedThisObj->impl());
+
+ imp->stepOverStatementInDebugger();
+ return jsUndefined();
+}
+
+JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionStepIntoStatementInDebugger(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+{
+ UNUSED_PARAM(args);
+ if (!thisValue.isObject(&JSInspectorBackend::s_info))
+ return throwError(exec, TypeError);
+ JSInspectorBackend* castedThisObj = static_cast<JSInspectorBackend*>(asObject(thisValue));
+ InspectorBackend* imp = static_cast<InspectorBackend*>(castedThisObj->impl());
+
+ imp->stepIntoStatementInDebugger();
+ return jsUndefined();
+}
+
+JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionStepOutOfFunctionInDebugger(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+{
+ UNUSED_PARAM(args);
+ if (!thisValue.isObject(&JSInspectorBackend::s_info))
+ return throwError(exec, TypeError);
+ JSInspectorBackend* castedThisObj = static_cast<JSInspectorBackend*>(asObject(thisValue));
+ InspectorBackend* imp = static_cast<InspectorBackend*>(castedThisObj->impl());
+
+ imp->stepOutOfFunctionInDebugger();
+ return jsUndefined();
+}
+
+JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionCurrentCallFrame(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+{
+ UNUSED_PARAM(args);
+ if (!thisValue.isObject(&JSInspectorBackend::s_info))
+ return throwError(exec, TypeError);
+ JSInspectorBackend* castedThisObj = static_cast<JSInspectorBackend*>(asObject(thisValue));
+ return castedThisObj->currentCallFrame(exec, args);
+}
+
+JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionPauseOnExceptions(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+{
+ UNUSED_PARAM(args);
+ if (!thisValue.isObject(&JSInspectorBackend::s_info))
+ return throwError(exec, TypeError);
+ JSInspectorBackend* castedThisObj = static_cast<JSInspectorBackend*>(asObject(thisValue));
+ InspectorBackend* imp = static_cast<InspectorBackend*>(castedThisObj->impl());
+
+
+ JSC::JSValue result = jsBoolean(imp->pauseOnExceptions());
+ return result;
+}
+
+JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionSetPauseOnExceptions(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+{
+ UNUSED_PARAM(args);
+ if (!thisValue.isObject(&JSInspectorBackend::s_info))
+ return throwError(exec, TypeError);
+ JSInspectorBackend* castedThisObj = static_cast<JSInspectorBackend*>(asObject(thisValue));
+ InspectorBackend* imp = static_cast<InspectorBackend*>(castedThisObj->impl());
+ bool pauseOnExceptions = args.at(0).toBoolean(exec);
+
+ imp->setPauseOnExceptions(pauseOnExceptions);
+ return jsUndefined();
+}
+
+JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionProfilerEnabled(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+{
+ UNUSED_PARAM(args);
+ if (!thisValue.isObject(&JSInspectorBackend::s_info))
+ return throwError(exec, TypeError);
+ JSInspectorBackend* castedThisObj = static_cast<JSInspectorBackend*>(asObject(thisValue));
+ InspectorBackend* imp = static_cast<InspectorBackend*>(castedThisObj->impl());
+
+
+ JSC::JSValue result = jsBoolean(imp->profilerEnabled());
+ return result;
+}
+
+JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionEnableProfiler(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+{
+ UNUSED_PARAM(args);
+ if (!thisValue.isObject(&JSInspectorBackend::s_info))
+ return throwError(exec, TypeError);
+ JSInspectorBackend* castedThisObj = static_cast<JSInspectorBackend*>(asObject(thisValue));
+ InspectorBackend* imp = static_cast<InspectorBackend*>(castedThisObj->impl());
+ bool always = args.at(0).toBoolean(exec);
+
+ imp->enableProfiler(always);
+ return jsUndefined();
+}
+
+JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionDisableProfiler(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+{
+ UNUSED_PARAM(args);
+ if (!thisValue.isObject(&JSInspectorBackend::s_info))
+ return throwError(exec, TypeError);
+ JSInspectorBackend* castedThisObj = static_cast<JSInspectorBackend*>(asObject(thisValue));
+ InspectorBackend* imp = static_cast<InspectorBackend*>(castedThisObj->impl());
+ bool always = args.at(0).toBoolean(exec);
+
+ imp->disableProfiler(always);
+ return jsUndefined();
+}
+
+JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionStartProfiling(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+{
+ UNUSED_PARAM(args);
+ if (!thisValue.isObject(&JSInspectorBackend::s_info))
+ return throwError(exec, TypeError);
+ JSInspectorBackend* castedThisObj = static_cast<JSInspectorBackend*>(asObject(thisValue));
+ InspectorBackend* imp = static_cast<InspectorBackend*>(castedThisObj->impl());
+
+ imp->startProfiling();
+ return jsUndefined();
+}
+
+JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionStopProfiling(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+{
+ UNUSED_PARAM(args);
+ if (!thisValue.isObject(&JSInspectorBackend::s_info))
+ return throwError(exec, TypeError);
+ JSInspectorBackend* castedThisObj = static_cast<JSInspectorBackend*>(asObject(thisValue));
+ InspectorBackend* imp = static_cast<InspectorBackend*>(castedThisObj->impl());
+
+ imp->stopProfiling();
+ return jsUndefined();
+}
+
+JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionProfiles(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+{
+ UNUSED_PARAM(args);
+ if (!thisValue.isObject(&JSInspectorBackend::s_info))
+ return throwError(exec, TypeError);
+ JSInspectorBackend* castedThisObj = static_cast<JSInspectorBackend*>(asObject(thisValue));
+ return castedThisObj->profiles(exec, args);
+}
+
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, InspectorBackend* object)
+{
+ return getDOMObjectWrapper<JSInspectorBackend>(exec, globalObject, object);
+}
+InspectorBackend* toInspectorBackend(JSC::JSValue value)
+{
+ return value.isObject(&JSInspectorBackend::s_info) ? static_cast<JSInspectorBackend*>(asObject(value))->impl() : 0;
+}
+
+}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSInspectorBackend.h b/src/3rdparty/webkit/WebCore/generated/JSInspectorBackend.h
new file mode 100644
index 0000000..da9a09e
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/generated/JSInspectorBackend.h
@@ -0,0 +1,138 @@
+/*
+ This file is part of the WebKit open source project.
+ This file has been generated by generate-bindings.pl. DO NOT MODIFY!
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef JSInspectorBackend_h
+#define JSInspectorBackend_h
+
+#include "DOMObjectWithSVGContext.h"
+#include "JSDOMBinding.h"
+#include <runtime/JSGlobalObject.h>
+#include <runtime/ObjectPrototype.h>
+
+namespace WebCore {
+
+class InspectorBackend;
+
+class JSInspectorBackend : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
+public:
+ JSInspectorBackend(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<InspectorBackend>);
+ virtual ~JSInspectorBackend();
+ static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
+ virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
+ virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
+ static const JSC::ClassInfo s_info;
+
+ static PassRefPtr<JSC::Structure> createStructure(JSC::JSValue prototype)
+ {
+ return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
+ }
+
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
+
+ // Custom functions
+ JSC::JSValue highlightDOMNode(JSC::ExecState*, const JSC::ArgList&);
+ JSC::JSValue search(JSC::ExecState*, const JSC::ArgList&);
+ JSC::JSValue databaseTableNames(JSC::ExecState*, const JSC::ArgList&);
+ JSC::JSValue setting(JSC::ExecState*, const JSC::ArgList&);
+ JSC::JSValue setSetting(JSC::ExecState*, const JSC::ArgList&);
+ JSC::JSValue inspectedWindow(JSC::ExecState*, const JSC::ArgList&);
+ JSC::JSValue wrapCallback(JSC::ExecState*, const JSC::ArgList&);
+ JSC::JSValue currentCallFrame(JSC::ExecState*, const JSC::ArgList&);
+ JSC::JSValue profiles(JSC::ExecState*, const JSC::ArgList&);
+ InspectorBackend* impl() const { return m_impl.get(); }
+
+private:
+ RefPtr<InspectorBackend> m_impl;
+};
+
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, InspectorBackend*);
+InspectorBackend* toInspectorBackend(JSC::JSValue);
+
+class JSInspectorBackendPrototype : public JSC::JSObject {
+ typedef JSC::JSObject Base;
+public:
+ static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*);
+ virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
+ static const JSC::ClassInfo s_info;
+ virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier&, JSC::PropertySlot&);
+ static PassRefPtr<JSC::Structure> createStructure(JSC::JSValue prototype)
+ {
+ return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
+ }
+ JSInspectorBackendPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { }
+};
+
+// Functions
+
+JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionHideDOMNodeHighlight(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
+JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionHighlightDOMNode(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
+JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionLoaded(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
+JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionWindowUnloading(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
+JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionAttach(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
+JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionDetach(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
+JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionCloseWindow(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
+JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionClearMessages(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
+JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionToggleNodeSearch(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
+JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionIsWindowVisible(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
+JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionSearchingForNode(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
+JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionAddResourceSourceToFrame(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
+JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionAddSourceToFrame(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
+JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionSearch(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
+JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionDatabaseTableNames(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
+JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionSetting(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
+JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionSetSetting(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
+JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionInspectedWindow(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
+JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionLocalizedStringsURL(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
+JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionHiddenPanels(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
+JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionPlatform(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
+JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionMoveByUnrestricted(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
+JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionSetAttachedWindowHeight(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
+JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionWrapCallback(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
+JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionResourceTrackingEnabled(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
+JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionEnableResourceTracking(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
+JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionDisableResourceTracking(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
+JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionStoreLastActivePanel(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
+JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionDebuggerEnabled(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
+JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionEnableDebugger(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
+JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionDisableDebugger(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
+JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionAddBreakpoint(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
+JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionRemoveBreakpoint(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
+JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionPauseInDebugger(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
+JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionResumeDebugger(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
+JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionStepOverStatementInDebugger(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
+JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionStepIntoStatementInDebugger(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
+JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionStepOutOfFunctionInDebugger(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
+JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionCurrentCallFrame(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
+JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionPauseOnExceptions(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
+JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionSetPauseOnExceptions(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
+JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionProfilerEnabled(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
+JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionEnableProfiler(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
+JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionDisableProfiler(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
+JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionStartProfiling(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
+JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionStopProfiling(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
+JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionProfiles(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
+// Attributes
+
+JSC::JSValue jsInspectorBackendConstructor(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
+
+} // namespace WebCore
+
+#endif
diff --git a/src/3rdparty/webkit/WebCore/generated/JSInspectorController.cpp b/src/3rdparty/webkit/WebCore/generated/JSInspectorController.cpp
deleted file mode 100644
index a0dac40..0000000
--- a/src/3rdparty/webkit/WebCore/generated/JSInspectorController.cpp
+++ /dev/null
@@ -1,769 +0,0 @@
-/*
- This file is part of the WebKit open source project.
- This file has been generated by generate-bindings.pl. DO NOT MODIFY!
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Library General Public
- License as published by the Free Software Foundation; either
- version 2 of the License, or (at your option) any later version.
-
- This library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Library General Public License for more details.
-
- You should have received a copy of the GNU Library General Public License
- along with this library; see the file COPYING.LIB. If not, write to
- the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- Boston, MA 02110-1301, USA.
-*/
-
-#include "config.h"
-#include "JSInspectorController.h"
-
-#include "DOMWindow.h"
-#include "InspectorController.h"
-#include "JSNode.h"
-#include "KURL.h"
-#include "Node.h"
-#include <runtime/Error.h>
-#include <runtime/JSString.h>
-#include <wtf/GetPtr.h>
-
-using namespace JSC;
-
-namespace WebCore {
-
-ASSERT_CLASS_FITS_IN_CELL(JSInspectorController);
-
-/* Hash table */
-
-static const HashTableValue JSInspectorControllerTableValues[2] =
-{
- { "constructor", DontEnum|ReadOnly, (intptr_t)jsInspectorControllerConstructor, (intptr_t)0 },
- { 0, 0, 0, 0 }
-};
-
-static const HashTable JSInspectorControllerTable =
-#if ENABLE(PERFECT_HASH_SIZE)
- { 0, JSInspectorControllerTableValues, 0 };
-#else
- { 2, 1, JSInspectorControllerTableValues, 0 };
-#endif
-
-/* Hash table for constructor */
-
-static const HashTableValue JSInspectorControllerConstructorTableValues[1] =
-{
- { 0, 0, 0, 0 }
-};
-
-static const HashTable JSInspectorControllerConstructorTable =
-#if ENABLE(PERFECT_HASH_SIZE)
- { 0, JSInspectorControllerConstructorTableValues, 0 };
-#else
- { 1, 0, JSInspectorControllerConstructorTableValues, 0 };
-#endif
-
-class JSInspectorControllerConstructor : public DOMObject {
-public:
- JSInspectorControllerConstructor(ExecState* exec)
- : DOMObject(JSInspectorControllerConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
- {
- putDirect(exec->propertyNames().prototype, JSInspectorControllerPrototype::self(exec, exec->lexicalGlobalObject()), None);
- }
- virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
- virtual const ClassInfo* classInfo() const { return &s_info; }
- static const ClassInfo s_info;
-
- static PassRefPtr<Structure> createStructure(JSValue proto)
- {
- return Structure::create(proto, TypeInfo(ObjectType, ImplementsHasInstance));
- }
-};
-
-const ClassInfo JSInspectorControllerConstructor::s_info = { "InspectorControllerConstructor", 0, &JSInspectorControllerConstructorTable, 0 };
-
-bool JSInspectorControllerConstructor::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
-{
- return getStaticValueSlot<JSInspectorControllerConstructor, DOMObject>(exec, &JSInspectorControllerConstructorTable, this, propertyName, slot);
-}
-
-/* Hash table for prototype */
-
-static const HashTableValue JSInspectorControllerPrototypeTableValues[48] =
-{
- { "hideDOMNodeHighlight", DontDelete|Function, (intptr_t)jsInspectorControllerPrototypeFunctionHideDOMNodeHighlight, (intptr_t)0 },
- { "highlightDOMNode", DontDelete|Function, (intptr_t)jsInspectorControllerPrototypeFunctionHighlightDOMNode, (intptr_t)1 },
- { "loaded", DontDelete|Function, (intptr_t)jsInspectorControllerPrototypeFunctionLoaded, (intptr_t)0 },
- { "windowUnloading", DontDelete|Function, (intptr_t)jsInspectorControllerPrototypeFunctionWindowUnloading, (intptr_t)0 },
- { "attach", DontDelete|Function, (intptr_t)jsInspectorControllerPrototypeFunctionAttach, (intptr_t)0 },
- { "detach", DontDelete|Function, (intptr_t)jsInspectorControllerPrototypeFunctionDetach, (intptr_t)0 },
- { "closeWindow", DontDelete|Function, (intptr_t)jsInspectorControllerPrototypeFunctionCloseWindow, (intptr_t)0 },
- { "clearMessages", DontDelete|Function, (intptr_t)jsInspectorControllerPrototypeFunctionClearMessages, (intptr_t)0 },
- { "toggleNodeSearch", DontDelete|Function, (intptr_t)jsInspectorControllerPrototypeFunctionToggleNodeSearch, (intptr_t)0 },
- { "isWindowVisible", DontDelete|Function, (intptr_t)jsInspectorControllerPrototypeFunctionIsWindowVisible, (intptr_t)0 },
- { "searchingForNode", DontDelete|Function, (intptr_t)jsInspectorControllerPrototypeFunctionSearchingForNode, (intptr_t)0 },
- { "addResourceSourceToFrame", DontDelete|Function, (intptr_t)jsInspectorControllerPrototypeFunctionAddResourceSourceToFrame, (intptr_t)2 },
- { "addSourceToFrame", DontDelete|Function, (intptr_t)jsInspectorControllerPrototypeFunctionAddSourceToFrame, (intptr_t)3 },
- { "getResourceDocumentNode", DontDelete|Function, (intptr_t)jsInspectorControllerPrototypeFunctionGetResourceDocumentNode, (intptr_t)1 },
- { "search", DontDelete|Function, (intptr_t)jsInspectorControllerPrototypeFunctionSearch, (intptr_t)2 },
- { "databaseTableNames", DontDelete|Function, (intptr_t)jsInspectorControllerPrototypeFunctionDatabaseTableNames, (intptr_t)1 },
- { "setting", DontDelete|Function, (intptr_t)jsInspectorControllerPrototypeFunctionSetting, (intptr_t)1 },
- { "setSetting", DontDelete|Function, (intptr_t)jsInspectorControllerPrototypeFunctionSetSetting, (intptr_t)2 },
- { "inspectedWindow", DontDelete|Function, (intptr_t)jsInspectorControllerPrototypeFunctionInspectedWindow, (intptr_t)0 },
- { "localizedStringsURL", DontDelete|Function, (intptr_t)jsInspectorControllerPrototypeFunctionLocalizedStringsURL, (intptr_t)0 },
- { "hiddenPanels", DontDelete|Function, (intptr_t)jsInspectorControllerPrototypeFunctionHiddenPanels, (intptr_t)0 },
- { "platform", DontDelete|Function, (intptr_t)jsInspectorControllerPrototypeFunctionPlatform, (intptr_t)0 },
- { "moveByUnrestricted", DontDelete|Function, (intptr_t)jsInspectorControllerPrototypeFunctionMoveByUnrestricted, (intptr_t)2 },
- { "setAttachedWindowHeight", DontDelete|Function, (intptr_t)jsInspectorControllerPrototypeFunctionSetAttachedWindowHeight, (intptr_t)1 },
- { "wrapCallback", DontDelete|Function, (intptr_t)jsInspectorControllerPrototypeFunctionWrapCallback, (intptr_t)1 },
- { "resourceTrackingEnabled", DontDelete|Function, (intptr_t)jsInspectorControllerPrototypeFunctionResourceTrackingEnabled, (intptr_t)0 },
- { "enableResourceTracking", DontDelete|Function, (intptr_t)jsInspectorControllerPrototypeFunctionEnableResourceTracking, (intptr_t)1 },
- { "disableResourceTracking", DontDelete|Function, (intptr_t)jsInspectorControllerPrototypeFunctionDisableResourceTracking, (intptr_t)1 },
- { "enableDebuggerFromFrontend", DontDelete|Function, (intptr_t)jsInspectorControllerPrototypeFunctionEnableDebuggerFromFrontend, (intptr_t)1 },
- { "disableDebugger", DontDelete|Function, (intptr_t)jsInspectorControllerPrototypeFunctionDisableDebugger, (intptr_t)1 },
- { "pauseInDebugger", DontDelete|Function, (intptr_t)jsInspectorControllerPrototypeFunctionPauseInDebugger, (intptr_t)0 },
- { "resumeDebugger", DontDelete|Function, (intptr_t)jsInspectorControllerPrototypeFunctionResumeDebugger, (intptr_t)0 },
- { "stepOverStatementInDebugger", DontDelete|Function, (intptr_t)jsInspectorControllerPrototypeFunctionStepOverStatementInDebugger, (intptr_t)0 },
- { "stepIntoStatementInDebugger", DontDelete|Function, (intptr_t)jsInspectorControllerPrototypeFunctionStepIntoStatementInDebugger, (intptr_t)0 },
- { "stepOutOfFunctionInDebugger", DontDelete|Function, (intptr_t)jsInspectorControllerPrototypeFunctionStepOutOfFunctionInDebugger, (intptr_t)0 },
- { "debuggerEnabled", DontDelete|Function, (intptr_t)jsInspectorControllerPrototypeFunctionDebuggerEnabled, (intptr_t)0 },
- { "pauseOnExceptions", DontDelete|Function, (intptr_t)jsInspectorControllerPrototypeFunctionPauseOnExceptions, (intptr_t)0 },
- { "profilerEnabled", DontDelete|Function, (intptr_t)jsInspectorControllerPrototypeFunctionProfilerEnabled, (intptr_t)0 },
- { "startProfiling", DontDelete|Function, (intptr_t)jsInspectorControllerPrototypeFunctionStartProfiling, (intptr_t)0 },
- { "stopProfiling", DontDelete|Function, (intptr_t)jsInspectorControllerPrototypeFunctionStopProfiling, (intptr_t)0 },
- { "enableProfiler", DontDelete|Function, (intptr_t)jsInspectorControllerPrototypeFunctionEnableProfiler, (intptr_t)1 },
- { "disableProfiler", DontDelete|Function, (intptr_t)jsInspectorControllerPrototypeFunctionDisableProfiler, (intptr_t)1 },
- { "currentCallFrame", DontDelete|Function, (intptr_t)jsInspectorControllerPrototypeFunctionCurrentCallFrame, (intptr_t)0 },
- { "setPauseOnExceptions", DontDelete|Function, (intptr_t)jsInspectorControllerPrototypeFunctionSetPauseOnExceptions, (intptr_t)1 },
- { "addBreakpoint", DontDelete|Function, (intptr_t)jsInspectorControllerPrototypeFunctionAddBreakpoint, (intptr_t)2 },
- { "removeBreakpoint", DontDelete|Function, (intptr_t)jsInspectorControllerPrototypeFunctionRemoveBreakpoint, (intptr_t)2 },
- { "profiles", DontDelete|Function, (intptr_t)jsInspectorControllerPrototypeFunctionProfiles, (intptr_t)0 },
- { 0, 0, 0, 0 }
-};
-
-static const HashTable JSInspectorControllerPrototypeTable =
-#if ENABLE(PERFECT_HASH_SIZE)
- { 2047, JSInspectorControllerPrototypeTableValues, 0 };
-#else
- { 137, 127, JSInspectorControllerPrototypeTableValues, 0 };
-#endif
-
-const ClassInfo JSInspectorControllerPrototype::s_info = { "InspectorControllerPrototype", 0, &JSInspectorControllerPrototypeTable, 0 };
-
-JSObject* JSInspectorControllerPrototype::self(ExecState* exec, JSGlobalObject* globalObject)
-{
- return getDOMPrototype<JSInspectorController>(exec, globalObject);
-}
-
-bool JSInspectorControllerPrototype::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
-{
- return getStaticFunctionSlot<JSObject>(exec, &JSInspectorControllerPrototypeTable, this, propertyName, slot);
-}
-
-const ClassInfo JSInspectorController::s_info = { "InspectorController", 0, &JSInspectorControllerTable, 0 };
-
-JSInspectorController::JSInspectorController(PassRefPtr<Structure> structure, PassRefPtr<InspectorController> impl)
- : DOMObject(structure)
- , m_impl(impl)
-{
-}
-
-JSInspectorController::~JSInspectorController()
-{
- forgetDOMObject(*Heap::heap(this)->globalData(), m_impl.get());
-}
-
-JSObject* JSInspectorController::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
-{
- return new (exec) JSInspectorControllerPrototype(JSInspectorControllerPrototype::createStructure(globalObject->objectPrototype()));
-}
-
-bool JSInspectorController::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
-{
- return getStaticValueSlot<JSInspectorController, Base>(exec, &JSInspectorControllerTable, this, propertyName, slot);
-}
-
-JSValue jsInspectorControllerConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
-{
- return static_cast<JSInspectorController*>(asObject(slot.slotBase()))->getConstructor(exec);
-}
-JSValue JSInspectorController::getConstructor(ExecState* exec)
-{
- return getDOMConstructor<JSInspectorControllerConstructor>(exec);
-}
-
-JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionHideDOMNodeHighlight(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
-{
- UNUSED_PARAM(args);
- if (!thisValue.isObject(&JSInspectorController::s_info))
- return throwError(exec, TypeError);
- JSInspectorController* castedThisObj = static_cast<JSInspectorController*>(asObject(thisValue));
- InspectorController* imp = static_cast<InspectorController*>(castedThisObj->impl());
-
- imp->hideHighlight();
- return jsUndefined();
-}
-
-JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionHighlightDOMNode(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
-{
- UNUSED_PARAM(args);
- if (!thisValue.isObject(&JSInspectorController::s_info))
- return throwError(exec, TypeError);
- JSInspectorController* castedThisObj = static_cast<JSInspectorController*>(asObject(thisValue));
- return castedThisObj->highlightDOMNode(exec, args);
-}
-
-JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionLoaded(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
-{
- UNUSED_PARAM(args);
- if (!thisValue.isObject(&JSInspectorController::s_info))
- return throwError(exec, TypeError);
- JSInspectorController* castedThisObj = static_cast<JSInspectorController*>(asObject(thisValue));
- InspectorController* imp = static_cast<InspectorController*>(castedThisObj->impl());
-
- imp->scriptObjectReady();
- return jsUndefined();
-}
-
-JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionWindowUnloading(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
-{
- UNUSED_PARAM(args);
- if (!thisValue.isObject(&JSInspectorController::s_info))
- return throwError(exec, TypeError);
- JSInspectorController* castedThisObj = static_cast<JSInspectorController*>(asObject(thisValue));
- InspectorController* imp = static_cast<InspectorController*>(castedThisObj->impl());
-
- imp->close();
- return jsUndefined();
-}
-
-JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionAttach(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
-{
- UNUSED_PARAM(args);
- if (!thisValue.isObject(&JSInspectorController::s_info))
- return throwError(exec, TypeError);
- JSInspectorController* castedThisObj = static_cast<JSInspectorController*>(asObject(thisValue));
- InspectorController* imp = static_cast<InspectorController*>(castedThisObj->impl());
-
- imp->attachWindow();
- return jsUndefined();
-}
-
-JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionDetach(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
-{
- UNUSED_PARAM(args);
- if (!thisValue.isObject(&JSInspectorController::s_info))
- return throwError(exec, TypeError);
- JSInspectorController* castedThisObj = static_cast<JSInspectorController*>(asObject(thisValue));
- InspectorController* imp = static_cast<InspectorController*>(castedThisObj->impl());
-
- imp->detachWindow();
- return jsUndefined();
-}
-
-JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionCloseWindow(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
-{
- UNUSED_PARAM(args);
- if (!thisValue.isObject(&JSInspectorController::s_info))
- return throwError(exec, TypeError);
- JSInspectorController* castedThisObj = static_cast<JSInspectorController*>(asObject(thisValue));
- InspectorController* imp = static_cast<InspectorController*>(castedThisObj->impl());
-
- imp->closeWindow();
- return jsUndefined();
-}
-
-JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionClearMessages(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
-{
- UNUSED_PARAM(args);
- if (!thisValue.isObject(&JSInspectorController::s_info))
- return throwError(exec, TypeError);
- JSInspectorController* castedThisObj = static_cast<JSInspectorController*>(asObject(thisValue));
- InspectorController* imp = static_cast<InspectorController*>(castedThisObj->impl());
-
- imp->clearConsoleMessages();
- return jsUndefined();
-}
-
-JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionToggleNodeSearch(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
-{
- UNUSED_PARAM(args);
- if (!thisValue.isObject(&JSInspectorController::s_info))
- return throwError(exec, TypeError);
- JSInspectorController* castedThisObj = static_cast<JSInspectorController*>(asObject(thisValue));
- InspectorController* imp = static_cast<InspectorController*>(castedThisObj->impl());
-
- imp->toggleSearchForNodeInPage();
- return jsUndefined();
-}
-
-JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionIsWindowVisible(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
-{
- UNUSED_PARAM(args);
- if (!thisValue.isObject(&JSInspectorController::s_info))
- return throwError(exec, TypeError);
- JSInspectorController* castedThisObj = static_cast<JSInspectorController*>(asObject(thisValue));
- InspectorController* imp = static_cast<InspectorController*>(castedThisObj->impl());
-
-
- JSC::JSValue result = jsBoolean(imp->windowVisible());
- return result;
-}
-
-JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionSearchingForNode(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
-{
- UNUSED_PARAM(args);
- if (!thisValue.isObject(&JSInspectorController::s_info))
- return throwError(exec, TypeError);
- JSInspectorController* castedThisObj = static_cast<JSInspectorController*>(asObject(thisValue));
- InspectorController* imp = static_cast<InspectorController*>(castedThisObj->impl());
-
-
- JSC::JSValue result = jsBoolean(imp->searchingForNodeInPage());
- return result;
-}
-
-JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionAddResourceSourceToFrame(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
-{
- UNUSED_PARAM(args);
- if (!thisValue.isObject(&JSInspectorController::s_info))
- return throwError(exec, TypeError);
- JSInspectorController* castedThisObj = static_cast<JSInspectorController*>(asObject(thisValue));
- InspectorController* imp = static_cast<InspectorController*>(castedThisObj->impl());
- int identifier = args.at(0).toInt32(exec);
- Node* frame = toNode(args.at(1));
-
- imp->addResourceSourceToFrame(identifier, frame);
- return jsUndefined();
-}
-
-JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionAddSourceToFrame(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
-{
- UNUSED_PARAM(args);
- if (!thisValue.isObject(&JSInspectorController::s_info))
- return throwError(exec, TypeError);
- JSInspectorController* castedThisObj = static_cast<JSInspectorController*>(asObject(thisValue));
- InspectorController* imp = static_cast<InspectorController*>(castedThisObj->impl());
- const UString& mimeType = args.at(0).toString(exec);
- const UString& sourceValue = args.at(1).toString(exec);
- Node* frame = toNode(args.at(2));
-
-
- JSC::JSValue result = jsBoolean(imp->addSourceToFrame(mimeType, sourceValue, frame));
- return result;
-}
-
-JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionGetResourceDocumentNode(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
-{
- UNUSED_PARAM(args);
- if (!thisValue.isObject(&JSInspectorController::s_info))
- return throwError(exec, TypeError);
- JSInspectorController* castedThisObj = static_cast<JSInspectorController*>(asObject(thisValue));
- return castedThisObj->getResourceDocumentNode(exec, args);
-}
-
-JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionSearch(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
-{
- UNUSED_PARAM(args);
- if (!thisValue.isObject(&JSInspectorController::s_info))
- return throwError(exec, TypeError);
- JSInspectorController* castedThisObj = static_cast<JSInspectorController*>(asObject(thisValue));
- return castedThisObj->search(exec, args);
-}
-
-JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionDatabaseTableNames(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
-{
- UNUSED_PARAM(args);
- if (!thisValue.isObject(&JSInspectorController::s_info))
- return throwError(exec, TypeError);
- JSInspectorController* castedThisObj = static_cast<JSInspectorController*>(asObject(thisValue));
- return castedThisObj->databaseTableNames(exec, args);
-}
-
-JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionSetting(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
-{
- UNUSED_PARAM(args);
- if (!thisValue.isObject(&JSInspectorController::s_info))
- return throwError(exec, TypeError);
- JSInspectorController* castedThisObj = static_cast<JSInspectorController*>(asObject(thisValue));
- return castedThisObj->setting(exec, args);
-}
-
-JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionSetSetting(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
-{
- UNUSED_PARAM(args);
- if (!thisValue.isObject(&JSInspectorController::s_info))
- return throwError(exec, TypeError);
- JSInspectorController* castedThisObj = static_cast<JSInspectorController*>(asObject(thisValue));
- return castedThisObj->setSetting(exec, args);
-}
-
-JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionInspectedWindow(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
-{
- UNUSED_PARAM(args);
- if (!thisValue.isObject(&JSInspectorController::s_info))
- return throwError(exec, TypeError);
- JSInspectorController* castedThisObj = static_cast<JSInspectorController*>(asObject(thisValue));
- return castedThisObj->inspectedWindow(exec, args);
-}
-
-JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionLocalizedStringsURL(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
-{
- UNUSED_PARAM(args);
- if (!thisValue.isObject(&JSInspectorController::s_info))
- return throwError(exec, TypeError);
- JSInspectorController* castedThisObj = static_cast<JSInspectorController*>(asObject(thisValue));
- InspectorController* imp = static_cast<InspectorController*>(castedThisObj->impl());
-
-
- JSC::JSValue result = jsString(exec, imp->localizedStringsURL());
- return result;
-}
-
-JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionHiddenPanels(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
-{
- UNUSED_PARAM(args);
- if (!thisValue.isObject(&JSInspectorController::s_info))
- return throwError(exec, TypeError);
- JSInspectorController* castedThisObj = static_cast<JSInspectorController*>(asObject(thisValue));
- InspectorController* imp = static_cast<InspectorController*>(castedThisObj->impl());
-
-
- JSC::JSValue result = jsString(exec, imp->hiddenPanels());
- return result;
-}
-
-JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionPlatform(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
-{
- UNUSED_PARAM(args);
- if (!thisValue.isObject(&JSInspectorController::s_info))
- return throwError(exec, TypeError);
- JSInspectorController* castedThisObj = static_cast<JSInspectorController*>(asObject(thisValue));
- InspectorController* imp = static_cast<InspectorController*>(castedThisObj->impl());
-
-
- JSC::JSValue result = jsString(exec, imp->platform());
- return result;
-}
-
-JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionMoveByUnrestricted(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
-{
- UNUSED_PARAM(args);
- if (!thisValue.isObject(&JSInspectorController::s_info))
- return throwError(exec, TypeError);
- JSInspectorController* castedThisObj = static_cast<JSInspectorController*>(asObject(thisValue));
- InspectorController* imp = static_cast<InspectorController*>(castedThisObj->impl());
- float x = args.at(0).toFloat(exec);
- float y = args.at(1).toFloat(exec);
-
- imp->moveWindowBy(x, y);
- return jsUndefined();
-}
-
-JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionSetAttachedWindowHeight(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
-{
- UNUSED_PARAM(args);
- if (!thisValue.isObject(&JSInspectorController::s_info))
- return throwError(exec, TypeError);
- JSInspectorController* castedThisObj = static_cast<JSInspectorController*>(asObject(thisValue));
- InspectorController* imp = static_cast<InspectorController*>(castedThisObj->impl());
- unsigned height = args.at(0).toInt32(exec);
-
- imp->setAttachedWindowHeight(height);
- return jsUndefined();
-}
-
-JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionWrapCallback(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
-{
- UNUSED_PARAM(args);
- if (!thisValue.isObject(&JSInspectorController::s_info))
- return throwError(exec, TypeError);
- JSInspectorController* castedThisObj = static_cast<JSInspectorController*>(asObject(thisValue));
- return castedThisObj->wrapCallback(exec, args);
-}
-
-JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionResourceTrackingEnabled(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
-{
- UNUSED_PARAM(args);
- if (!thisValue.isObject(&JSInspectorController::s_info))
- return throwError(exec, TypeError);
- JSInspectorController* castedThisObj = static_cast<JSInspectorController*>(asObject(thisValue));
- InspectorController* imp = static_cast<InspectorController*>(castedThisObj->impl());
-
-
- JSC::JSValue result = jsBoolean(imp->resourceTrackingEnabled());
- return result;
-}
-
-JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionEnableResourceTracking(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
-{
- UNUSED_PARAM(args);
- if (!thisValue.isObject(&JSInspectorController::s_info))
- return throwError(exec, TypeError);
- JSInspectorController* castedThisObj = static_cast<JSInspectorController*>(asObject(thisValue));
- InspectorController* imp = static_cast<InspectorController*>(castedThisObj->impl());
- bool always = args.at(0).toBoolean(exec);
-
- imp->enableResourceTracking(always);
- return jsUndefined();
-}
-
-JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionDisableResourceTracking(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
-{
- UNUSED_PARAM(args);
- if (!thisValue.isObject(&JSInspectorController::s_info))
- return throwError(exec, TypeError);
- JSInspectorController* castedThisObj = static_cast<JSInspectorController*>(asObject(thisValue));
- InspectorController* imp = static_cast<InspectorController*>(castedThisObj->impl());
- bool always = args.at(0).toBoolean(exec);
-
- imp->disableResourceTracking(always);
- return jsUndefined();
-}
-
-JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionEnableDebuggerFromFrontend(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
-{
- UNUSED_PARAM(args);
- if (!thisValue.isObject(&JSInspectorController::s_info))
- return throwError(exec, TypeError);
- JSInspectorController* castedThisObj = static_cast<JSInspectorController*>(asObject(thisValue));
- InspectorController* imp = static_cast<InspectorController*>(castedThisObj->impl());
- bool always = args.at(0).toBoolean(exec);
-
- imp->enableDebuggerFromFrontend(always);
- return jsUndefined();
-}
-
-JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionDisableDebugger(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
-{
- UNUSED_PARAM(args);
- if (!thisValue.isObject(&JSInspectorController::s_info))
- return throwError(exec, TypeError);
- JSInspectorController* castedThisObj = static_cast<JSInspectorController*>(asObject(thisValue));
- InspectorController* imp = static_cast<InspectorController*>(castedThisObj->impl());
- bool always = args.at(0).toBoolean(exec);
-
- imp->disableDebugger(always);
- return jsUndefined();
-}
-
-JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionPauseInDebugger(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
-{
- UNUSED_PARAM(args);
- if (!thisValue.isObject(&JSInspectorController::s_info))
- return throwError(exec, TypeError);
- JSInspectorController* castedThisObj = static_cast<JSInspectorController*>(asObject(thisValue));
- InspectorController* imp = static_cast<InspectorController*>(castedThisObj->impl());
-
- imp->pauseInDebugger();
- return jsUndefined();
-}
-
-JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionResumeDebugger(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
-{
- UNUSED_PARAM(args);
- if (!thisValue.isObject(&JSInspectorController::s_info))
- return throwError(exec, TypeError);
- JSInspectorController* castedThisObj = static_cast<JSInspectorController*>(asObject(thisValue));
- InspectorController* imp = static_cast<InspectorController*>(castedThisObj->impl());
-
- imp->resumeDebugger();
- return jsUndefined();
-}
-
-JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionStepOverStatementInDebugger(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
-{
- UNUSED_PARAM(args);
- if (!thisValue.isObject(&JSInspectorController::s_info))
- return throwError(exec, TypeError);
- JSInspectorController* castedThisObj = static_cast<JSInspectorController*>(asObject(thisValue));
- InspectorController* imp = static_cast<InspectorController*>(castedThisObj->impl());
-
- imp->stepOverStatementInDebugger();
- return jsUndefined();
-}
-
-JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionStepIntoStatementInDebugger(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
-{
- UNUSED_PARAM(args);
- if (!thisValue.isObject(&JSInspectorController::s_info))
- return throwError(exec, TypeError);
- JSInspectorController* castedThisObj = static_cast<JSInspectorController*>(asObject(thisValue));
- InspectorController* imp = static_cast<InspectorController*>(castedThisObj->impl());
-
- imp->stepIntoStatementInDebugger();
- return jsUndefined();
-}
-
-JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionStepOutOfFunctionInDebugger(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
-{
- UNUSED_PARAM(args);
- if (!thisValue.isObject(&JSInspectorController::s_info))
- return throwError(exec, TypeError);
- JSInspectorController* castedThisObj = static_cast<JSInspectorController*>(asObject(thisValue));
- InspectorController* imp = static_cast<InspectorController*>(castedThisObj->impl());
-
- imp->stepOutOfFunctionInDebugger();
- return jsUndefined();
-}
-
-JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionDebuggerEnabled(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
-{
- UNUSED_PARAM(args);
- if (!thisValue.isObject(&JSInspectorController::s_info))
- return throwError(exec, TypeError);
- JSInspectorController* castedThisObj = static_cast<JSInspectorController*>(asObject(thisValue));
- InspectorController* imp = static_cast<InspectorController*>(castedThisObj->impl());
-
-
- JSC::JSValue result = jsBoolean(imp->debuggerEnabled());
- return result;
-}
-
-JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionPauseOnExceptions(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
-{
- UNUSED_PARAM(args);
- if (!thisValue.isObject(&JSInspectorController::s_info))
- return throwError(exec, TypeError);
- JSInspectorController* castedThisObj = static_cast<JSInspectorController*>(asObject(thisValue));
- InspectorController* imp = static_cast<InspectorController*>(castedThisObj->impl());
-
-
- JSC::JSValue result = jsBoolean(imp->pauseOnExceptions());
- return result;
-}
-
-JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionProfilerEnabled(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
-{
- UNUSED_PARAM(args);
- if (!thisValue.isObject(&JSInspectorController::s_info))
- return throwError(exec, TypeError);
- JSInspectorController* castedThisObj = static_cast<JSInspectorController*>(asObject(thisValue));
- InspectorController* imp = static_cast<InspectorController*>(castedThisObj->impl());
-
-
- JSC::JSValue result = jsBoolean(imp->profilerEnabled());
- return result;
-}
-
-JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionStartProfiling(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
-{
- UNUSED_PARAM(args);
- if (!thisValue.isObject(&JSInspectorController::s_info))
- return throwError(exec, TypeError);
- JSInspectorController* castedThisObj = static_cast<JSInspectorController*>(asObject(thisValue));
- InspectorController* imp = static_cast<InspectorController*>(castedThisObj->impl());
-
- imp->startUserInitiatedProfiling();
- return jsUndefined();
-}
-
-JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionStopProfiling(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
-{
- UNUSED_PARAM(args);
- if (!thisValue.isObject(&JSInspectorController::s_info))
- return throwError(exec, TypeError);
- JSInspectorController* castedThisObj = static_cast<JSInspectorController*>(asObject(thisValue));
- InspectorController* imp = static_cast<InspectorController*>(castedThisObj->impl());
-
- imp->stopUserInitiatedProfiling();
- return jsUndefined();
-}
-
-JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionEnableProfiler(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
-{
- UNUSED_PARAM(args);
- if (!thisValue.isObject(&JSInspectorController::s_info))
- return throwError(exec, TypeError);
- JSInspectorController* castedThisObj = static_cast<JSInspectorController*>(asObject(thisValue));
- InspectorController* imp = static_cast<InspectorController*>(castedThisObj->impl());
- bool always = args.at(0).toBoolean(exec);
-
- imp->enableProfiler(always);
- return jsUndefined();
-}
-
-JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionDisableProfiler(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
-{
- UNUSED_PARAM(args);
- if (!thisValue.isObject(&JSInspectorController::s_info))
- return throwError(exec, TypeError);
- JSInspectorController* castedThisObj = static_cast<JSInspectorController*>(asObject(thisValue));
- InspectorController* imp = static_cast<InspectorController*>(castedThisObj->impl());
- bool always = args.at(0).toBoolean(exec);
-
- imp->disableProfiler(always);
- return jsUndefined();
-}
-
-JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionCurrentCallFrame(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
-{
- UNUSED_PARAM(args);
- if (!thisValue.isObject(&JSInspectorController::s_info))
- return throwError(exec, TypeError);
- JSInspectorController* castedThisObj = static_cast<JSInspectorController*>(asObject(thisValue));
- return castedThisObj->currentCallFrame(exec, args);
-}
-
-JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionSetPauseOnExceptions(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
-{
- UNUSED_PARAM(args);
- if (!thisValue.isObject(&JSInspectorController::s_info))
- return throwError(exec, TypeError);
- JSInspectorController* castedThisObj = static_cast<JSInspectorController*>(asObject(thisValue));
- InspectorController* imp = static_cast<InspectorController*>(castedThisObj->impl());
- bool pauseOnExceptions = args.at(0).toBoolean(exec);
-
- imp->setPauseOnExceptions(pauseOnExceptions);
- return jsUndefined();
-}
-
-JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionAddBreakpoint(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
-{
- UNUSED_PARAM(args);
- if (!thisValue.isObject(&JSInspectorController::s_info))
- return throwError(exec, TypeError);
- JSInspectorController* castedThisObj = static_cast<JSInspectorController*>(asObject(thisValue));
- InspectorController* imp = static_cast<InspectorController*>(castedThisObj->impl());
- const UString& sourceID = args.at(0).toString(exec);
- unsigned lineNumber = args.at(1).toInt32(exec);
-
- imp->addBreakpoint(sourceID, lineNumber);
- return jsUndefined();
-}
-
-JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionRemoveBreakpoint(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
-{
- UNUSED_PARAM(args);
- if (!thisValue.isObject(&JSInspectorController::s_info))
- return throwError(exec, TypeError);
- JSInspectorController* castedThisObj = static_cast<JSInspectorController*>(asObject(thisValue));
- InspectorController* imp = static_cast<InspectorController*>(castedThisObj->impl());
- const UString& sourceID = args.at(0).toString(exec);
- unsigned lineNumber = args.at(1).toInt32(exec);
-
- imp->removeBreakpoint(sourceID, lineNumber);
- return jsUndefined();
-}
-
-JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionProfiles(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
-{
- UNUSED_PARAM(args);
- if (!thisValue.isObject(&JSInspectorController::s_info))
- return throwError(exec, TypeError);
- JSInspectorController* castedThisObj = static_cast<JSInspectorController*>(asObject(thisValue));
- return castedThisObj->profiles(exec, args);
-}
-
-JSC::JSValue toJS(JSC::ExecState* exec, InspectorController* object)
-{
- return getDOMObjectWrapper<JSInspectorController>(exec, object);
-}
-InspectorController* toInspectorController(JSC::JSValue value)
-{
- return value.isObject(&JSInspectorController::s_info) ? static_cast<JSInspectorController*>(asObject(value))->impl() : 0;
-}
-
-}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSInspectorController.h b/src/3rdparty/webkit/WebCore/generated/JSInspectorController.h
deleted file mode 100644
index 3bb1480..0000000
--- a/src/3rdparty/webkit/WebCore/generated/JSInspectorController.h
+++ /dev/null
@@ -1,138 +0,0 @@
-/*
- This file is part of the WebKit open source project.
- This file has been generated by generate-bindings.pl. DO NOT MODIFY!
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Library General Public
- License as published by the Free Software Foundation; either
- version 2 of the License, or (at your option) any later version.
-
- This library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Library General Public License for more details.
-
- You should have received a copy of the GNU Library General Public License
- along with this library; see the file COPYING.LIB. If not, write to
- the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- Boston, MA 02110-1301, USA.
-*/
-
-#ifndef JSInspectorController_h
-#define JSInspectorController_h
-
-#include "JSDOMBinding.h"
-#include <runtime/JSGlobalObject.h>
-#include <runtime/ObjectPrototype.h>
-
-namespace WebCore {
-
-class InspectorController;
-
-class JSInspectorController : public DOMObject {
- typedef DOMObject Base;
-public:
- JSInspectorController(PassRefPtr<JSC::Structure>, PassRefPtr<InspectorController>);
- virtual ~JSInspectorController();
- static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
- virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
- virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
- static const JSC::ClassInfo s_info;
-
- static PassRefPtr<JSC::Structure> createStructure(JSC::JSValue prototype)
- {
- return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
- }
-
- static JSC::JSValue getConstructor(JSC::ExecState*);
-
- // Custom functions
- JSC::JSValue highlightDOMNode(JSC::ExecState*, const JSC::ArgList&);
- JSC::JSValue getResourceDocumentNode(JSC::ExecState*, const JSC::ArgList&);
- JSC::JSValue search(JSC::ExecState*, const JSC::ArgList&);
- JSC::JSValue databaseTableNames(JSC::ExecState*, const JSC::ArgList&);
- JSC::JSValue setting(JSC::ExecState*, const JSC::ArgList&);
- JSC::JSValue setSetting(JSC::ExecState*, const JSC::ArgList&);
- JSC::JSValue inspectedWindow(JSC::ExecState*, const JSC::ArgList&);
- JSC::JSValue wrapCallback(JSC::ExecState*, const JSC::ArgList&);
- JSC::JSValue currentCallFrame(JSC::ExecState*, const JSC::ArgList&);
- JSC::JSValue profiles(JSC::ExecState*, const JSC::ArgList&);
- InspectorController* impl() const { return m_impl.get(); }
-
-private:
- RefPtr<InspectorController> m_impl;
-};
-
-JSC::JSValue toJS(JSC::ExecState*, InspectorController*);
-InspectorController* toInspectorController(JSC::JSValue);
-
-class JSInspectorControllerPrototype : public JSC::JSObject {
- typedef JSC::JSObject Base;
-public:
- static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*);
- virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
- static const JSC::ClassInfo s_info;
- virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier&, JSC::PropertySlot&);
- static PassRefPtr<JSC::Structure> createStructure(JSC::JSValue prototype)
- {
- return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
- }
- JSInspectorControllerPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { }
-};
-
-// Functions
-
-JSC::JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionHideDOMNodeHighlight(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionHighlightDOMNode(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionLoaded(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionWindowUnloading(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionAttach(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionDetach(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionCloseWindow(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionClearMessages(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionToggleNodeSearch(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionIsWindowVisible(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionSearchingForNode(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionAddResourceSourceToFrame(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionAddSourceToFrame(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionGetResourceDocumentNode(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionSearch(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionDatabaseTableNames(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionSetting(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionSetSetting(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionInspectedWindow(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionLocalizedStringsURL(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionHiddenPanels(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionPlatform(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionMoveByUnrestricted(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionSetAttachedWindowHeight(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionWrapCallback(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionResourceTrackingEnabled(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionEnableResourceTracking(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionDisableResourceTracking(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionEnableDebuggerFromFrontend(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionDisableDebugger(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionPauseInDebugger(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionResumeDebugger(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionStepOverStatementInDebugger(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionStepIntoStatementInDebugger(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionStepOutOfFunctionInDebugger(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionDebuggerEnabled(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionPauseOnExceptions(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionProfilerEnabled(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionStartProfiling(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionStopProfiling(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionEnableProfiler(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionDisableProfiler(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionCurrentCallFrame(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionSetPauseOnExceptions(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionAddBreakpoint(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionRemoveBreakpoint(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionProfiles(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-// Attributes
-
-JSC::JSValue jsInspectorControllerConstructor(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
-
-} // namespace WebCore
-
-#endif
diff --git a/src/3rdparty/webkit/WebCore/generated/JSJavaScriptCallFrame.cpp b/src/3rdparty/webkit/WebCore/generated/JSJavaScriptCallFrame.cpp
index c8a3f3d..dc9389f 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSJavaScriptCallFrame.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSJavaScriptCallFrame.cpp
@@ -52,7 +52,7 @@ static const HashTableValue JSJavaScriptCallFrameTableValues[8] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSJavaScriptCallFrameTable =
+static JSC_CONST_HASHTABLE HashTable JSJavaScriptCallFrameTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 63, JSJavaScriptCallFrameTableValues, 0 };
#else
@@ -67,7 +67,7 @@ static const HashTableValue JSJavaScriptCallFramePrototypeTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSJavaScriptCallFramePrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSJavaScriptCallFramePrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSJavaScriptCallFramePrototypeTableValues, 0 };
#else
@@ -88,8 +88,8 @@ bool JSJavaScriptCallFramePrototype::getOwnPropertySlot(ExecState* exec, const I
const ClassInfo JSJavaScriptCallFrame::s_info = { "JavaScriptCallFrame", 0, &JSJavaScriptCallFrameTable, 0 };
-JSJavaScriptCallFrame::JSJavaScriptCallFrame(PassRefPtr<Structure> structure, PassRefPtr<JavaScriptCallFrame> impl)
- : DOMObject(structure)
+JSJavaScriptCallFrame::JSJavaScriptCallFrame(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<JavaScriptCallFrame> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -111,45 +111,52 @@ bool JSJavaScriptCallFrame::getOwnPropertySlot(ExecState* exec, const Identifier
JSValue jsJavaScriptCallFrameCaller(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSJavaScriptCallFrame* castedThis = static_cast<JSJavaScriptCallFrame*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- JavaScriptCallFrame* imp = static_cast<JavaScriptCallFrame*>(static_cast<JSJavaScriptCallFrame*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->caller()));
+ JavaScriptCallFrame* imp = static_cast<JavaScriptCallFrame*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->caller()));
}
JSValue jsJavaScriptCallFrameSourceID(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSJavaScriptCallFrame* castedThis = static_cast<JSJavaScriptCallFrame*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- JavaScriptCallFrame* imp = static_cast<JavaScriptCallFrame*>(static_cast<JSJavaScriptCallFrame*>(asObject(slot.slotBase()))->impl());
+ JavaScriptCallFrame* imp = static_cast<JavaScriptCallFrame*>(castedThis->impl());
return jsNumber(exec, imp->sourceID());
}
JSValue jsJavaScriptCallFrameLine(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSJavaScriptCallFrame* castedThis = static_cast<JSJavaScriptCallFrame*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- JavaScriptCallFrame* imp = static_cast<JavaScriptCallFrame*>(static_cast<JSJavaScriptCallFrame*>(asObject(slot.slotBase()))->impl());
+ JavaScriptCallFrame* imp = static_cast<JavaScriptCallFrame*>(castedThis->impl());
return jsNumber(exec, imp->line());
}
JSValue jsJavaScriptCallFrameScopeChain(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSJavaScriptCallFrame*>(asObject(slot.slotBase()))->scopeChain(exec);
+ JSJavaScriptCallFrame* castedThis = static_cast<JSJavaScriptCallFrame*>(asObject(slot.slotBase()));
+ return castedThis->scopeChain(exec);
}
JSValue jsJavaScriptCallFrameThisObject(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSJavaScriptCallFrame*>(asObject(slot.slotBase()))->thisObject(exec);
+ JSJavaScriptCallFrame* castedThis = static_cast<JSJavaScriptCallFrame*>(asObject(slot.slotBase()));
+ return castedThis->thisObject(exec);
}
JSValue jsJavaScriptCallFrameFunctionName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSJavaScriptCallFrame* castedThis = static_cast<JSJavaScriptCallFrame*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- JavaScriptCallFrame* imp = static_cast<JavaScriptCallFrame*>(static_cast<JSJavaScriptCallFrame*>(asObject(slot.slotBase()))->impl());
+ JavaScriptCallFrame* imp = static_cast<JavaScriptCallFrame*>(castedThis->impl());
return jsString(exec, imp->functionName());
}
JSValue jsJavaScriptCallFrameType(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSJavaScriptCallFrame*>(asObject(slot.slotBase()))->type(exec);
+ JSJavaScriptCallFrame* castedThis = static_cast<JSJavaScriptCallFrame*>(asObject(slot.slotBase()));
+ return castedThis->type(exec);
}
JSValue JSC_HOST_CALL jsJavaScriptCallFramePrototypeFunctionEvaluate(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -161,9 +168,9 @@ JSValue JSC_HOST_CALL jsJavaScriptCallFramePrototypeFunctionEvaluate(ExecState*
return castedThisObj->evaluate(exec, args);
}
-JSC::JSValue toJS(JSC::ExecState* exec, JavaScriptCallFrame* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, JavaScriptCallFrame* object)
{
- return getDOMObjectWrapper<JSJavaScriptCallFrame>(exec, object);
+ return getDOMObjectWrapper<JSJavaScriptCallFrame>(exec, globalObject, object);
}
JavaScriptCallFrame* toJavaScriptCallFrame(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSJavaScriptCallFrame.h b/src/3rdparty/webkit/WebCore/generated/JSJavaScriptCallFrame.h
index 166ee60..3dff1bc 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSJavaScriptCallFrame.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSJavaScriptCallFrame.h
@@ -23,6 +23,7 @@
#if ENABLE(JAVASCRIPT_DEBUGGER)
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -31,10 +32,10 @@ namespace WebCore {
class JavaScriptCallFrame;
-class JSJavaScriptCallFrame : public DOMObject {
- typedef DOMObject Base;
+class JSJavaScriptCallFrame : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSJavaScriptCallFrame(PassRefPtr<JSC::Structure>, PassRefPtr<JavaScriptCallFrame>);
+ JSJavaScriptCallFrame(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<JavaScriptCallFrame>);
virtual ~JSJavaScriptCallFrame();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -60,7 +61,7 @@ private:
RefPtr<JavaScriptCallFrame> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, JavaScriptCallFrame*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, JavaScriptCallFrame*);
JavaScriptCallFrame* toJavaScriptCallFrame(JSC::JSValue);
class JSJavaScriptCallFramePrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSKeyboardEvent.cpp b/src/3rdparty/webkit/WebCore/generated/JSKeyboardEvent.cpp
index 750d1be..2c5d0bd 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSKeyboardEvent.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSKeyboardEvent.cpp
@@ -50,7 +50,7 @@ static const HashTableValue JSKeyboardEventTableValues[9] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSKeyboardEventTable =
+static JSC_CONST_HASHTABLE HashTable JSKeyboardEventTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 31, JSKeyboardEventTableValues, 0 };
#else
@@ -64,19 +64,19 @@ static const HashTableValue JSKeyboardEventConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSKeyboardEventConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSKeyboardEventConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSKeyboardEventConstructorTableValues, 0 };
#else
{ 1, 0, JSKeyboardEventConstructorTableValues, 0 };
#endif
-class JSKeyboardEventConstructor : public DOMObject {
+class JSKeyboardEventConstructor : public DOMConstructorObject {
public:
- JSKeyboardEventConstructor(ExecState* exec)
- : DOMObject(JSKeyboardEventConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSKeyboardEventConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSKeyboardEventConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSKeyboardEventPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSKeyboardEventPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -103,7 +103,7 @@ static const HashTableValue JSKeyboardEventPrototypeTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSKeyboardEventPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSKeyboardEventPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSKeyboardEventPrototypeTableValues, 0 };
#else
@@ -124,8 +124,8 @@ bool JSKeyboardEventPrototype::getOwnPropertySlot(ExecState* exec, const Identif
const ClassInfo JSKeyboardEvent::s_info = { "KeyboardEvent", &JSUIEvent::s_info, &JSKeyboardEventTable, 0 };
-JSKeyboardEvent::JSKeyboardEvent(PassRefPtr<Structure> structure, PassRefPtr<KeyboardEvent> impl)
- : JSUIEvent(structure, impl)
+JSKeyboardEvent::JSKeyboardEvent(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<KeyboardEvent> impl)
+ : JSUIEvent(structure, globalObject, impl)
{
}
@@ -141,60 +141,68 @@ bool JSKeyboardEvent::getOwnPropertySlot(ExecState* exec, const Identifier& prop
JSValue jsKeyboardEventKeyIdentifier(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSKeyboardEvent* castedThis = static_cast<JSKeyboardEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- KeyboardEvent* imp = static_cast<KeyboardEvent*>(static_cast<JSKeyboardEvent*>(asObject(slot.slotBase()))->impl());
+ KeyboardEvent* imp = static_cast<KeyboardEvent*>(castedThis->impl());
return jsString(exec, imp->keyIdentifier());
}
JSValue jsKeyboardEventKeyLocation(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSKeyboardEvent* castedThis = static_cast<JSKeyboardEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- KeyboardEvent* imp = static_cast<KeyboardEvent*>(static_cast<JSKeyboardEvent*>(asObject(slot.slotBase()))->impl());
+ KeyboardEvent* imp = static_cast<KeyboardEvent*>(castedThis->impl());
return jsNumber(exec, imp->keyLocation());
}
JSValue jsKeyboardEventCtrlKey(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSKeyboardEvent* castedThis = static_cast<JSKeyboardEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- KeyboardEvent* imp = static_cast<KeyboardEvent*>(static_cast<JSKeyboardEvent*>(asObject(slot.slotBase()))->impl());
+ KeyboardEvent* imp = static_cast<KeyboardEvent*>(castedThis->impl());
return jsBoolean(imp->ctrlKey());
}
JSValue jsKeyboardEventShiftKey(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSKeyboardEvent* castedThis = static_cast<JSKeyboardEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- KeyboardEvent* imp = static_cast<KeyboardEvent*>(static_cast<JSKeyboardEvent*>(asObject(slot.slotBase()))->impl());
+ KeyboardEvent* imp = static_cast<KeyboardEvent*>(castedThis->impl());
return jsBoolean(imp->shiftKey());
}
JSValue jsKeyboardEventAltKey(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSKeyboardEvent* castedThis = static_cast<JSKeyboardEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- KeyboardEvent* imp = static_cast<KeyboardEvent*>(static_cast<JSKeyboardEvent*>(asObject(slot.slotBase()))->impl());
+ KeyboardEvent* imp = static_cast<KeyboardEvent*>(castedThis->impl());
return jsBoolean(imp->altKey());
}
JSValue jsKeyboardEventMetaKey(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSKeyboardEvent* castedThis = static_cast<JSKeyboardEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- KeyboardEvent* imp = static_cast<KeyboardEvent*>(static_cast<JSKeyboardEvent*>(asObject(slot.slotBase()))->impl());
+ KeyboardEvent* imp = static_cast<KeyboardEvent*>(castedThis->impl());
return jsBoolean(imp->metaKey());
}
JSValue jsKeyboardEventAltGraphKey(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSKeyboardEvent* castedThis = static_cast<JSKeyboardEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- KeyboardEvent* imp = static_cast<KeyboardEvent*>(static_cast<JSKeyboardEvent*>(asObject(slot.slotBase()))->impl());
+ KeyboardEvent* imp = static_cast<KeyboardEvent*>(castedThis->impl());
return jsBoolean(imp->altGraphKey());
}
JSValue jsKeyboardEventConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSKeyboardEvent*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSKeyboardEvent* domObject = static_cast<JSKeyboardEvent*>(asObject(slot.slotBase()));
+ return JSKeyboardEvent::getConstructor(exec, domObject->globalObject());
}
-JSValue JSKeyboardEvent::getConstructor(ExecState* exec)
+JSValue JSKeyboardEvent::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSKeyboardEventConstructor>(exec);
+ return getDOMConstructor<JSKeyboardEventConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsKeyboardEventPrototypeFunctionInitKeyboardEvent(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSKeyboardEvent.h b/src/3rdparty/webkit/WebCore/generated/JSKeyboardEvent.h
index 40e6eb1..b1ead27 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSKeyboardEvent.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSKeyboardEvent.h
@@ -30,7 +30,7 @@ class KeyboardEvent;
class JSKeyboardEvent : public JSUIEvent {
typedef JSUIEvent Base;
public:
- JSKeyboardEvent(PassRefPtr<JSC::Structure>, PassRefPtr<KeyboardEvent>);
+ JSKeyboardEvent(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<KeyboardEvent>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
@@ -41,7 +41,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSLocation.cpp b/src/3rdparty/webkit/WebCore/generated/JSLocation.cpp
index a1c76be..f6d9be4 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSLocation.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSLocation.cpp
@@ -49,7 +49,7 @@ static const HashTableValue JSLocationTableValues[9] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSLocationTable =
+static JSC_CONST_HASHTABLE HashTable JSLocationTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 63, JSLocationTableValues, 0 };
#else
@@ -67,7 +67,7 @@ static const HashTableValue JSLocationPrototypeTableValues[5] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSLocationPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSLocationPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSLocationPrototypeTableValues, 0 };
#else
@@ -95,8 +95,8 @@ void JSLocationPrototype::put(ExecState* exec, const Identifier& propertyName, J
const ClassInfo JSLocation::s_info = { "Location", 0, &JSLocationTable, 0 };
-JSLocation::JSLocation(PassRefPtr<Structure> structure, PassRefPtr<Location> impl)
- : DOMObject(structure)
+JSLocation::JSLocation(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<Location> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -120,57 +120,65 @@ bool JSLocation::getOwnPropertySlot(ExecState* exec, const Identifier& propertyN
JSValue jsLocationHref(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSLocation* castedThis = static_cast<JSLocation*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Location* imp = static_cast<Location*>(static_cast<JSLocation*>(asObject(slot.slotBase()))->impl());
+ Location* imp = static_cast<Location*>(castedThis->impl());
return jsString(exec, imp->href());
}
JSValue jsLocationProtocol(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSLocation* castedThis = static_cast<JSLocation*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Location* imp = static_cast<Location*>(static_cast<JSLocation*>(asObject(slot.slotBase()))->impl());
+ Location* imp = static_cast<Location*>(castedThis->impl());
return jsString(exec, imp->protocol());
}
JSValue jsLocationHost(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSLocation* castedThis = static_cast<JSLocation*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Location* imp = static_cast<Location*>(static_cast<JSLocation*>(asObject(slot.slotBase()))->impl());
+ Location* imp = static_cast<Location*>(castedThis->impl());
return jsString(exec, imp->host());
}
JSValue jsLocationHostname(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSLocation* castedThis = static_cast<JSLocation*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Location* imp = static_cast<Location*>(static_cast<JSLocation*>(asObject(slot.slotBase()))->impl());
+ Location* imp = static_cast<Location*>(castedThis->impl());
return jsString(exec, imp->hostname());
}
JSValue jsLocationPort(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSLocation* castedThis = static_cast<JSLocation*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Location* imp = static_cast<Location*>(static_cast<JSLocation*>(asObject(slot.slotBase()))->impl());
+ Location* imp = static_cast<Location*>(castedThis->impl());
return jsString(exec, imp->port());
}
JSValue jsLocationPathname(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSLocation* castedThis = static_cast<JSLocation*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Location* imp = static_cast<Location*>(static_cast<JSLocation*>(asObject(slot.slotBase()))->impl());
+ Location* imp = static_cast<Location*>(castedThis->impl());
return jsString(exec, imp->pathname());
}
JSValue jsLocationSearch(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSLocation* castedThis = static_cast<JSLocation*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Location* imp = static_cast<Location*>(static_cast<JSLocation*>(asObject(slot.slotBase()))->impl());
+ Location* imp = static_cast<Location*>(castedThis->impl());
return jsString(exec, imp->search());
}
JSValue jsLocationHash(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSLocation* castedThis = static_cast<JSLocation*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Location* imp = static_cast<Location*>(static_cast<JSLocation*>(asObject(slot.slotBase()))->impl());
+ Location* imp = static_cast<Location*>(castedThis->impl());
return jsString(exec, imp->hash());
}
@@ -257,9 +265,9 @@ JSValue JSC_HOST_CALL jsLocationPrototypeFunctionToString(ExecState* exec, JSObj
return castedThisObj->toString(exec, args);
}
-JSC::JSValue toJS(JSC::ExecState* exec, Location* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, Location* object)
{
- return getDOMObjectWrapper<JSLocation>(exec, object);
+ return getDOMObjectWrapper<JSLocation>(exec, globalObject, object);
}
Location* toLocation(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSLocation.h b/src/3rdparty/webkit/WebCore/generated/JSLocation.h
index 81cb7a3..155cfbc 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSLocation.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSLocation.h
@@ -21,6 +21,7 @@
#ifndef JSLocation_h
#define JSLocation_h
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -29,10 +30,10 @@ namespace WebCore {
class Location;
-class JSLocation : public DOMObject {
- typedef DOMObject Base;
+class JSLocation : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSLocation(PassRefPtr<JSC::Structure>, PassRefPtr<Location>);
+ JSLocation(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<Location>);
virtual ~JSLocation();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -72,7 +73,7 @@ private:
RefPtr<Location> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, Location*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, Location*);
Location* toLocation(JSC::JSValue);
class JSLocationPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSMediaError.cpp b/src/3rdparty/webkit/WebCore/generated/JSMediaError.cpp
index 490e06c..37b1b43 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSMediaError.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSMediaError.cpp
@@ -43,7 +43,7 @@ static const HashTableValue JSMediaErrorTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSMediaErrorTable =
+static JSC_CONST_HASHTABLE HashTable JSMediaErrorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSMediaErrorTableValues, 0 };
#else
@@ -61,19 +61,19 @@ static const HashTableValue JSMediaErrorConstructorTableValues[5] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSMediaErrorConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSMediaErrorConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 31, JSMediaErrorConstructorTableValues, 0 };
#else
{ 9, 7, JSMediaErrorConstructorTableValues, 0 };
#endif
-class JSMediaErrorConstructor : public DOMObject {
+class JSMediaErrorConstructor : public DOMConstructorObject {
public:
- JSMediaErrorConstructor(ExecState* exec)
- : DOMObject(JSMediaErrorConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSMediaErrorConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSMediaErrorConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSMediaErrorPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSMediaErrorPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -103,7 +103,7 @@ static const HashTableValue JSMediaErrorPrototypeTableValues[5] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSMediaErrorPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSMediaErrorPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 31, JSMediaErrorPrototypeTableValues, 0 };
#else
@@ -124,8 +124,8 @@ bool JSMediaErrorPrototype::getOwnPropertySlot(ExecState* exec, const Identifier
const ClassInfo JSMediaError::s_info = { "MediaError", 0, &JSMediaErrorTable, 0 };
-JSMediaError::JSMediaError(PassRefPtr<Structure> structure, PassRefPtr<MediaError> impl)
- : DOMObject(structure)
+JSMediaError::JSMediaError(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<MediaError> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -147,18 +147,20 @@ bool JSMediaError::getOwnPropertySlot(ExecState* exec, const Identifier& propert
JSValue jsMediaErrorCode(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSMediaError* castedThis = static_cast<JSMediaError*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- MediaError* imp = static_cast<MediaError*>(static_cast<JSMediaError*>(asObject(slot.slotBase()))->impl());
+ MediaError* imp = static_cast<MediaError*>(castedThis->impl());
return jsNumber(exec, imp->code());
}
JSValue jsMediaErrorConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSMediaError*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSMediaError* domObject = static_cast<JSMediaError*>(asObject(slot.slotBase()));
+ return JSMediaError::getConstructor(exec, domObject->globalObject());
}
-JSValue JSMediaError::getConstructor(ExecState* exec)
+JSValue JSMediaError::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSMediaErrorConstructor>(exec);
+ return getDOMConstructor<JSMediaErrorConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
// Constant getters
@@ -183,9 +185,9 @@ JSValue jsMediaErrorMEDIA_ERR_SRC_NOT_SUPPORTED(ExecState* exec, const Identifie
return jsNumber(exec, static_cast<int>(4));
}
-JSC::JSValue toJS(JSC::ExecState* exec, MediaError* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, MediaError* object)
{
- return getDOMObjectWrapper<JSMediaError>(exec, object);
+ return getDOMObjectWrapper<JSMediaError>(exec, globalObject, object);
}
MediaError* toMediaError(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSMediaError.h b/src/3rdparty/webkit/WebCore/generated/JSMediaError.h
index 54f58a7..5a159b9 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSMediaError.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSMediaError.h
@@ -23,6 +23,7 @@
#if ENABLE(VIDEO)
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -31,10 +32,10 @@ namespace WebCore {
class MediaError;
-class JSMediaError : public DOMObject {
- typedef DOMObject Base;
+class JSMediaError : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSMediaError(PassRefPtr<JSC::Structure>, PassRefPtr<MediaError>);
+ JSMediaError(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<MediaError>);
virtual ~JSMediaError();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -46,14 +47,14 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
MediaError* impl() const { return m_impl.get(); }
private:
RefPtr<MediaError> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, MediaError*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, MediaError*);
MediaError* toMediaError(JSC::JSValue);
class JSMediaErrorPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSMediaList.cpp b/src/3rdparty/webkit/WebCore/generated/JSMediaList.cpp
index 4a517c8f..007e976 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSMediaList.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSMediaList.cpp
@@ -44,7 +44,7 @@ static const HashTableValue JSMediaListTableValues[4] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSMediaListTable =
+static JSC_CONST_HASHTABLE HashTable JSMediaListTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSMediaListTableValues, 0 };
#else
@@ -58,19 +58,19 @@ static const HashTableValue JSMediaListConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSMediaListConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSMediaListConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSMediaListConstructorTableValues, 0 };
#else
{ 1, 0, JSMediaListConstructorTableValues, 0 };
#endif
-class JSMediaListConstructor : public DOMObject {
+class JSMediaListConstructor : public DOMConstructorObject {
public:
- JSMediaListConstructor(ExecState* exec)
- : DOMObject(JSMediaListConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSMediaListConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSMediaListConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSMediaListPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSMediaListPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -99,7 +99,7 @@ static const HashTableValue JSMediaListPrototypeTableValues[4] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSMediaListPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSMediaListPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 7, JSMediaListPrototypeTableValues, 0 };
#else
@@ -120,8 +120,8 @@ bool JSMediaListPrototype::getOwnPropertySlot(ExecState* exec, const Identifier&
const ClassInfo JSMediaList::s_info = { "MediaList", 0, &JSMediaListTable, 0 };
-JSMediaList::JSMediaList(PassRefPtr<Structure> structure, PassRefPtr<MediaList> impl)
- : DOMObject(structure)
+JSMediaList::JSMediaList(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<MediaList> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -163,21 +163,24 @@ bool JSMediaList::getOwnPropertySlot(ExecState* exec, unsigned propertyName, Pro
JSValue jsMediaListMediaText(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSMediaList* castedThis = static_cast<JSMediaList*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- MediaList* imp = static_cast<MediaList*>(static_cast<JSMediaList*>(asObject(slot.slotBase()))->impl());
+ MediaList* imp = static_cast<MediaList*>(castedThis->impl());
return jsStringOrNull(exec, imp->mediaText());
}
JSValue jsMediaListLength(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSMediaList* castedThis = static_cast<JSMediaList*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- MediaList* imp = static_cast<MediaList*>(static_cast<JSMediaList*>(asObject(slot.slotBase()))->impl());
+ MediaList* imp = static_cast<MediaList*>(castedThis->impl());
return jsNumber(exec, imp->length());
}
JSValue jsMediaListConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSMediaList*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSMediaList* domObject = static_cast<JSMediaList*>(asObject(slot.slotBase()));
+ return JSMediaList::getConstructor(exec, domObject->globalObject());
}
void JSMediaList::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -199,9 +202,9 @@ void JSMediaList::getPropertyNames(ExecState* exec, PropertyNameArray& propertyN
Base::getPropertyNames(exec, propertyNames);
}
-JSValue JSMediaList::getConstructor(ExecState* exec)
+JSValue JSMediaList::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSMediaListConstructor>(exec);
+ return getDOMConstructor<JSMediaListConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsMediaListPrototypeFunctionItem(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -254,9 +257,9 @@ JSValue JSMediaList::indexGetter(ExecState* exec, const Identifier&, const Prope
JSMediaList* thisObj = static_cast<JSMediaList*>(asObject(slot.slotBase()));
return jsStringOrNull(exec, thisObj->impl()->item(slot.index()));
}
-JSC::JSValue toJS(JSC::ExecState* exec, MediaList* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, MediaList* object)
{
- return getDOMObjectWrapper<JSMediaList>(exec, object);
+ return getDOMObjectWrapper<JSMediaList>(exec, globalObject, object);
}
MediaList* toMediaList(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSMediaList.h b/src/3rdparty/webkit/WebCore/generated/JSMediaList.h
index 800d9d4..da82e56 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSMediaList.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSMediaList.h
@@ -21,6 +21,7 @@
#ifndef JSMediaList_h
#define JSMediaList_h
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -29,10 +30,10 @@ namespace WebCore {
class MediaList;
-class JSMediaList : public DOMObject {
- typedef DOMObject Base;
+class JSMediaList : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSMediaList(PassRefPtr<JSC::Structure>, PassRefPtr<MediaList>);
+ JSMediaList(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<MediaList>);
virtual ~JSMediaList();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -47,7 +48,7 @@ public:
}
virtual void getPropertyNames(JSC::ExecState*, JSC::PropertyNameArray&);
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
MediaList* impl() const { return m_impl.get(); }
private:
@@ -55,7 +56,7 @@ private:
static JSC::JSValue indexGetter(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
};
-JSC::JSValue toJS(JSC::ExecState*, MediaList*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, MediaList*);
MediaList* toMediaList(JSC::JSValue);
class JSMediaListPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSMessageChannel.cpp b/src/3rdparty/webkit/WebCore/generated/JSMessageChannel.cpp
index 8f660f2..9304f83 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSMessageChannel.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSMessageChannel.cpp
@@ -41,7 +41,7 @@ static const HashTableValue JSMessageChannelTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSMessageChannelTable =
+static JSC_CONST_HASHTABLE HashTable JSMessageChannelTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 3, JSMessageChannelTableValues, 0 };
#else
@@ -55,7 +55,7 @@ static const HashTableValue JSMessageChannelPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSMessageChannelPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSMessageChannelPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSMessageChannelPrototypeTableValues, 0 };
#else
@@ -79,8 +79,8 @@ static const HashTable* getJSMessageChannelTable(ExecState* exec)
}
const ClassInfo JSMessageChannel::s_info = { "MessageChannel", 0, 0, getJSMessageChannelTable };
-JSMessageChannel::JSMessageChannel(PassRefPtr<Structure> structure, PassRefPtr<MessageChannel> impl)
- : DOMObject(structure)
+JSMessageChannel::JSMessageChannel(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<MessageChannel> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -102,21 +102,23 @@ bool JSMessageChannel::getOwnPropertySlot(ExecState* exec, const Identifier& pro
JSValue jsMessageChannelPort1(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSMessageChannel* castedThis = static_cast<JSMessageChannel*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- MessageChannel* imp = static_cast<MessageChannel*>(static_cast<JSMessageChannel*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->port1()));
+ MessageChannel* imp = static_cast<MessageChannel*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->port1()));
}
JSValue jsMessageChannelPort2(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSMessageChannel* castedThis = static_cast<JSMessageChannel*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- MessageChannel* imp = static_cast<MessageChannel*>(static_cast<JSMessageChannel*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->port2()));
+ MessageChannel* imp = static_cast<MessageChannel*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->port2()));
}
-JSC::JSValue toJS(JSC::ExecState* exec, MessageChannel* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, MessageChannel* object)
{
- return getDOMObjectWrapper<JSMessageChannel>(exec, object);
+ return getDOMObjectWrapper<JSMessageChannel>(exec, globalObject, object);
}
MessageChannel* toMessageChannel(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSMessageChannel.h b/src/3rdparty/webkit/WebCore/generated/JSMessageChannel.h
index f9a9026..a56f7c3 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSMessageChannel.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSMessageChannel.h
@@ -21,6 +21,7 @@
#ifndef JSMessageChannel_h
#define JSMessageChannel_h
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -29,10 +30,10 @@ namespace WebCore {
class MessageChannel;
-class JSMessageChannel : public DOMObject {
- typedef DOMObject Base;
+class JSMessageChannel : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSMessageChannel(PassRefPtr<JSC::Structure>, PassRefPtr<MessageChannel>);
+ JSMessageChannel(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<MessageChannel>);
virtual ~JSMessageChannel();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -52,7 +53,7 @@ private:
RefPtr<MessageChannel> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, MessageChannel*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, MessageChannel*);
MessageChannel* toMessageChannel(JSC::JSValue);
class JSMessageChannelPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSMessageEvent.cpp b/src/3rdparty/webkit/WebCore/generated/JSMessageEvent.cpp
index e95dd9c..293655d 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSMessageEvent.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSMessageEvent.cpp
@@ -50,7 +50,7 @@ static const HashTableValue JSMessageEventTableValues[7] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSMessageEventTable =
+static JSC_CONST_HASHTABLE HashTable JSMessageEventTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSMessageEventTableValues, 0 };
#else
@@ -64,19 +64,19 @@ static const HashTableValue JSMessageEventConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSMessageEventConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSMessageEventConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSMessageEventConstructorTableValues, 0 };
#else
{ 1, 0, JSMessageEventConstructorTableValues, 0 };
#endif
-class JSMessageEventConstructor : public DOMObject {
+class JSMessageEventConstructor : public DOMConstructorObject {
public:
- JSMessageEventConstructor(ExecState* exec)
- : DOMObject(JSMessageEventConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSMessageEventConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSMessageEventConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSMessageEventPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSMessageEventPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -103,7 +103,7 @@ static const HashTableValue JSMessageEventPrototypeTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSMessageEventPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSMessageEventPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSMessageEventPrototypeTableValues, 0 };
#else
@@ -132,8 +132,8 @@ static const HashTable* getJSMessageEventTable(ExecState* exec)
}
const ClassInfo JSMessageEvent::s_info = { "MessageEvent", &JSEvent::s_info, 0, getJSMessageEventTable };
-JSMessageEvent::JSMessageEvent(PassRefPtr<Structure> structure, PassRefPtr<MessageEvent> impl)
- : JSEvent(structure, impl)
+JSMessageEvent::JSMessageEvent(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<MessageEvent> impl)
+ : JSEvent(structure, globalObject, impl)
{
}
@@ -149,46 +149,52 @@ bool JSMessageEvent::getOwnPropertySlot(ExecState* exec, const Identifier& prope
JSValue jsMessageEventData(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSMessageEvent* castedThis = static_cast<JSMessageEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- MessageEvent* imp = static_cast<MessageEvent*>(static_cast<JSMessageEvent*>(asObject(slot.slotBase()))->impl());
+ MessageEvent* imp = static_cast<MessageEvent*>(castedThis->impl());
return jsString(exec, imp->data());
}
JSValue jsMessageEventOrigin(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSMessageEvent* castedThis = static_cast<JSMessageEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- MessageEvent* imp = static_cast<MessageEvent*>(static_cast<JSMessageEvent*>(asObject(slot.slotBase()))->impl());
+ MessageEvent* imp = static_cast<MessageEvent*>(castedThis->impl());
return jsString(exec, imp->origin());
}
JSValue jsMessageEventLastEventId(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSMessageEvent* castedThis = static_cast<JSMessageEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- MessageEvent* imp = static_cast<MessageEvent*>(static_cast<JSMessageEvent*>(asObject(slot.slotBase()))->impl());
+ MessageEvent* imp = static_cast<MessageEvent*>(castedThis->impl());
return jsString(exec, imp->lastEventId());
}
JSValue jsMessageEventSource(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSMessageEvent* castedThis = static_cast<JSMessageEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- MessageEvent* imp = static_cast<MessageEvent*>(static_cast<JSMessageEvent*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->source()));
+ MessageEvent* imp = static_cast<MessageEvent*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->source()));
}
JSValue jsMessageEventMessagePort(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSMessageEvent* castedThis = static_cast<JSMessageEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- MessageEvent* imp = static_cast<MessageEvent*>(static_cast<JSMessageEvent*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->messagePort()));
+ MessageEvent* imp = static_cast<MessageEvent*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->messagePort()));
}
JSValue jsMessageEventConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSMessageEvent*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSMessageEvent* domObject = static_cast<JSMessageEvent*>(asObject(slot.slotBase()));
+ return JSMessageEvent::getConstructor(exec, domObject->globalObject());
}
-JSValue JSMessageEvent::getConstructor(ExecState* exec)
+JSValue JSMessageEvent::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSMessageEventConstructor>(exec);
+ return getDOMConstructor<JSMessageEventConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsMessageEventPrototypeFunctionInitMessageEvent(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSMessageEvent.h b/src/3rdparty/webkit/WebCore/generated/JSMessageEvent.h
index 4cdefab..34a0b9f 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSMessageEvent.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSMessageEvent.h
@@ -30,7 +30,7 @@ class MessageEvent;
class JSMessageEvent : public JSEvent {
typedef JSEvent Base;
public:
- JSMessageEvent(PassRefPtr<JSC::Structure>, PassRefPtr<MessageEvent>);
+ JSMessageEvent(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<MessageEvent>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
@@ -41,7 +41,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSMessagePort.cpp b/src/3rdparty/webkit/WebCore/generated/JSMessagePort.cpp
index 7cb75b2..2969c22 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSMessagePort.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSMessagePort.cpp
@@ -48,7 +48,7 @@ static const HashTableValue JSMessagePortTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSMessagePortTable =
+static JSC_CONST_HASHTABLE HashTable JSMessagePortTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 1, JSMessagePortTableValues, 0 };
#else
@@ -62,19 +62,19 @@ static const HashTableValue JSMessagePortConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSMessagePortConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSMessagePortConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSMessagePortConstructorTableValues, 0 };
#else
{ 1, 0, JSMessagePortConstructorTableValues, 0 };
#endif
-class JSMessagePortConstructor : public DOMObject {
+class JSMessagePortConstructor : public DOMConstructorObject {
public:
- JSMessagePortConstructor(ExecState* exec)
- : DOMObject(JSMessagePortConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSMessagePortConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSMessagePortConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSMessagePortPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSMessagePortPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -106,7 +106,7 @@ static const HashTableValue JSMessagePortPrototypeTableValues[7] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSMessagePortPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSMessagePortPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 31, JSMessagePortPrototypeTableValues, 0 };
#else
@@ -135,8 +135,8 @@ static const HashTable* getJSMessagePortTable(ExecState* exec)
}
const ClassInfo JSMessagePort::s_info = { "MessagePort", 0, 0, getJSMessagePortTable };
-JSMessagePort::JSMessagePort(PassRefPtr<Structure> structure, PassRefPtr<MessagePort> impl)
- : DOMObject(structure)
+JSMessagePort::JSMessagePort(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<MessagePort> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -158,8 +158,9 @@ bool JSMessagePort::getOwnPropertySlot(ExecState* exec, const Identifier& proper
JSValue jsMessagePortOnmessage(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSMessagePort* castedThis = static_cast<JSMessagePort*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- MessagePort* imp = static_cast<MessagePort*>(static_cast<JSMessagePort*>(asObject(slot.slotBase()))->impl());
+ MessagePort* imp = static_cast<MessagePort*>(castedThis->impl());
if (EventListener* listener = imp->onmessage()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -169,7 +170,8 @@ JSValue jsMessagePortOnmessage(ExecState* exec, const Identifier&, const Propert
JSValue jsMessagePortConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSMessagePort*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSMessagePort* domObject = static_cast<JSMessagePort*>(asObject(slot.slotBase()));
+ return JSMessagePort::getConstructor(exec, domObject->globalObject());
}
void JSMessagePort::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -186,9 +188,9 @@ void setJSMessagePortOnmessage(ExecState* exec, JSObject* thisObject, JSValue va
imp->setOnmessage(globalObject->createJSAttributeEventListener(value));
}
-JSValue JSMessagePort::getConstructor(ExecState* exec)
+JSValue JSMessagePort::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSMessagePortConstructor>(exec);
+ return getDOMConstructor<JSMessagePortConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsMessagePortPrototypeFunctionPostMessage(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -273,9 +275,9 @@ JSValue JSC_HOST_CALL jsMessagePortPrototypeFunctionDispatchEvent(ExecState* exe
return result;
}
-JSC::JSValue toJS(JSC::ExecState* exec, MessagePort* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, MessagePort* object)
{
- return getDOMObjectWrapper<JSMessagePort>(exec, object);
+ return getDOMObjectWrapper<JSMessagePort>(exec, globalObject, object);
}
MessagePort* toMessagePort(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSMessagePort.h b/src/3rdparty/webkit/WebCore/generated/JSMessagePort.h
index 1804d8d..7db5838 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSMessagePort.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSMessagePort.h
@@ -21,6 +21,7 @@
#ifndef JSMessagePort_h
#define JSMessagePort_h
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -29,10 +30,10 @@ namespace WebCore {
class MessagePort;
-class JSMessagePort : public DOMObject {
- typedef DOMObject Base;
+class JSMessagePort : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSMessagePort(PassRefPtr<JSC::Structure>, PassRefPtr<MessagePort>);
+ JSMessagePort(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<MessagePort>);
virtual ~JSMessagePort();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -47,7 +48,7 @@ public:
virtual void mark();
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
// Custom functions
JSC::JSValue addEventListener(JSC::ExecState*, const JSC::ArgList&);
@@ -58,7 +59,7 @@ private:
RefPtr<MessagePort> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, MessagePort*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, MessagePort*);
MessagePort* toMessagePort(JSC::JSValue);
class JSMessagePortPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSMimeType.cpp b/src/3rdparty/webkit/WebCore/generated/JSMimeType.cpp
index 09a5dbd..e5ef403 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSMimeType.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSMimeType.cpp
@@ -46,7 +46,7 @@ static const HashTableValue JSMimeTypeTableValues[6] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSMimeTypeTable =
+static JSC_CONST_HASHTABLE HashTable JSMimeTypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 7, JSMimeTypeTableValues, 0 };
#else
@@ -60,19 +60,19 @@ static const HashTableValue JSMimeTypeConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSMimeTypeConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSMimeTypeConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSMimeTypeConstructorTableValues, 0 };
#else
{ 1, 0, JSMimeTypeConstructorTableValues, 0 };
#endif
-class JSMimeTypeConstructor : public DOMObject {
+class JSMimeTypeConstructor : public DOMConstructorObject {
public:
- JSMimeTypeConstructor(ExecState* exec)
- : DOMObject(JSMimeTypeConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSMimeTypeConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSMimeTypeConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSMimeTypePrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSMimeTypePrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -98,7 +98,7 @@ static const HashTableValue JSMimeTypePrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSMimeTypePrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSMimeTypePrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSMimeTypePrototypeTableValues, 0 };
#else
@@ -114,8 +114,8 @@ JSObject* JSMimeTypePrototype::self(ExecState* exec, JSGlobalObject* globalObjec
const ClassInfo JSMimeType::s_info = { "MimeType", 0, &JSMimeTypeTable, 0 };
-JSMimeType::JSMimeType(PassRefPtr<Structure> structure, PassRefPtr<MimeType> impl)
- : DOMObject(structure)
+JSMimeType::JSMimeType(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<MimeType> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -137,44 +137,49 @@ bool JSMimeType::getOwnPropertySlot(ExecState* exec, const Identifier& propertyN
JSValue jsMimeTypeType(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSMimeType* castedThis = static_cast<JSMimeType*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- MimeType* imp = static_cast<MimeType*>(static_cast<JSMimeType*>(asObject(slot.slotBase()))->impl());
+ MimeType* imp = static_cast<MimeType*>(castedThis->impl());
return jsString(exec, imp->type());
}
JSValue jsMimeTypeSuffixes(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSMimeType* castedThis = static_cast<JSMimeType*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- MimeType* imp = static_cast<MimeType*>(static_cast<JSMimeType*>(asObject(slot.slotBase()))->impl());
+ MimeType* imp = static_cast<MimeType*>(castedThis->impl());
return jsString(exec, imp->suffixes());
}
JSValue jsMimeTypeDescription(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSMimeType* castedThis = static_cast<JSMimeType*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- MimeType* imp = static_cast<MimeType*>(static_cast<JSMimeType*>(asObject(slot.slotBase()))->impl());
+ MimeType* imp = static_cast<MimeType*>(castedThis->impl());
return jsString(exec, imp->description());
}
JSValue jsMimeTypeEnabledPlugin(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSMimeType* castedThis = static_cast<JSMimeType*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- MimeType* imp = static_cast<MimeType*>(static_cast<JSMimeType*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->enabledPlugin()));
+ MimeType* imp = static_cast<MimeType*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->enabledPlugin()));
}
JSValue jsMimeTypeConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSMimeType*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSMimeType* domObject = static_cast<JSMimeType*>(asObject(slot.slotBase()));
+ return JSMimeType::getConstructor(exec, domObject->globalObject());
}
-JSValue JSMimeType::getConstructor(ExecState* exec)
+JSValue JSMimeType::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSMimeTypeConstructor>(exec);
+ return getDOMConstructor<JSMimeTypeConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
-JSC::JSValue toJS(JSC::ExecState* exec, MimeType* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, MimeType* object)
{
- return getDOMObjectWrapper<JSMimeType>(exec, object);
+ return getDOMObjectWrapper<JSMimeType>(exec, globalObject, object);
}
MimeType* toMimeType(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSMimeType.h b/src/3rdparty/webkit/WebCore/generated/JSMimeType.h
index 79b904d..662945a 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSMimeType.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSMimeType.h
@@ -21,6 +21,7 @@
#ifndef JSMimeType_h
#define JSMimeType_h
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -29,10 +30,10 @@ namespace WebCore {
class MimeType;
-class JSMimeType : public DOMObject {
- typedef DOMObject Base;
+class JSMimeType : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSMimeType(PassRefPtr<JSC::Structure>, PassRefPtr<MimeType>);
+ JSMimeType(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<MimeType>);
virtual ~JSMimeType();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -44,14 +45,14 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
MimeType* impl() const { return m_impl.get(); }
private:
RefPtr<MimeType> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, MimeType*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, MimeType*);
MimeType* toMimeType(JSC::JSValue);
class JSMimeTypePrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSMimeTypeArray.cpp b/src/3rdparty/webkit/WebCore/generated/JSMimeTypeArray.cpp
index 509d6d0..8f769fb 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSMimeTypeArray.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSMimeTypeArray.cpp
@@ -45,7 +45,7 @@ static const HashTableValue JSMimeTypeArrayTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSMimeTypeArrayTable =
+static JSC_CONST_HASHTABLE HashTable JSMimeTypeArrayTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSMimeTypeArrayTableValues, 0 };
#else
@@ -59,19 +59,19 @@ static const HashTableValue JSMimeTypeArrayConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSMimeTypeArrayConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSMimeTypeArrayConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSMimeTypeArrayConstructorTableValues, 0 };
#else
{ 1, 0, JSMimeTypeArrayConstructorTableValues, 0 };
#endif
-class JSMimeTypeArrayConstructor : public DOMObject {
+class JSMimeTypeArrayConstructor : public DOMConstructorObject {
public:
- JSMimeTypeArrayConstructor(ExecState* exec)
- : DOMObject(JSMimeTypeArrayConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSMimeTypeArrayConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSMimeTypeArrayConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSMimeTypeArrayPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSMimeTypeArrayPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -99,7 +99,7 @@ static const HashTableValue JSMimeTypeArrayPrototypeTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSMimeTypeArrayPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSMimeTypeArrayPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 7, JSMimeTypeArrayPrototypeTableValues, 0 };
#else
@@ -120,8 +120,8 @@ bool JSMimeTypeArrayPrototype::getOwnPropertySlot(ExecState* exec, const Identif
const ClassInfo JSMimeTypeArray::s_info = { "MimeTypeArray", 0, &JSMimeTypeArrayTable, 0 };
-JSMimeTypeArray::JSMimeTypeArray(PassRefPtr<Structure> structure, PassRefPtr<MimeTypeArray> impl)
- : DOMObject(structure)
+JSMimeTypeArray::JSMimeTypeArray(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<MimeTypeArray> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -167,14 +167,16 @@ bool JSMimeTypeArray::getOwnPropertySlot(ExecState* exec, unsigned propertyName,
JSValue jsMimeTypeArrayLength(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSMimeTypeArray* castedThis = static_cast<JSMimeTypeArray*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- MimeTypeArray* imp = static_cast<MimeTypeArray*>(static_cast<JSMimeTypeArray*>(asObject(slot.slotBase()))->impl());
+ MimeTypeArray* imp = static_cast<MimeTypeArray*>(castedThis->impl());
return jsNumber(exec, imp->length());
}
JSValue jsMimeTypeArrayConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSMimeTypeArray*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSMimeTypeArray* domObject = static_cast<JSMimeTypeArray*>(asObject(slot.slotBase()));
+ return JSMimeTypeArray::getConstructor(exec, domObject->globalObject());
}
void JSMimeTypeArray::getPropertyNames(ExecState* exec, PropertyNameArray& propertyNames)
{
@@ -183,9 +185,9 @@ void JSMimeTypeArray::getPropertyNames(ExecState* exec, PropertyNameArray& prope
Base::getPropertyNames(exec, propertyNames);
}
-JSValue JSMimeTypeArray::getConstructor(ExecState* exec)
+JSValue JSMimeTypeArray::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSMimeTypeArrayConstructor>(exec);
+ return getDOMConstructor<JSMimeTypeArrayConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsMimeTypeArrayPrototypeFunctionItem(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -198,7 +200,7 @@ JSValue JSC_HOST_CALL jsMimeTypeArrayPrototypeFunctionItem(ExecState* exec, JSOb
unsigned index = args.at(0).toInt32(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->item(index)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->item(index)));
return result;
}
@@ -212,7 +214,7 @@ JSValue JSC_HOST_CALL jsMimeTypeArrayPrototypeFunctionNamedItem(ExecState* exec,
const UString& name = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->namedItem(name)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->namedItem(name)));
return result;
}
@@ -220,11 +222,11 @@ JSValue JSC_HOST_CALL jsMimeTypeArrayPrototypeFunctionNamedItem(ExecState* exec,
JSValue JSMimeTypeArray::indexGetter(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
JSMimeTypeArray* thisObj = static_cast<JSMimeTypeArray*>(asObject(slot.slotBase()));
- return toJS(exec, static_cast<MimeTypeArray*>(thisObj->impl())->item(slot.index()));
+ return toJS(exec, thisObj->globalObject(), static_cast<MimeTypeArray*>(thisObj->impl())->item(slot.index()));
}
-JSC::JSValue toJS(JSC::ExecState* exec, MimeTypeArray* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, MimeTypeArray* object)
{
- return getDOMObjectWrapper<JSMimeTypeArray>(exec, object);
+ return getDOMObjectWrapper<JSMimeTypeArray>(exec, globalObject, object);
}
MimeTypeArray* toMimeTypeArray(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSMimeTypeArray.h b/src/3rdparty/webkit/WebCore/generated/JSMimeTypeArray.h
index adc4824..f0625e4 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSMimeTypeArray.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSMimeTypeArray.h
@@ -21,6 +21,7 @@
#ifndef JSMimeTypeArray_h
#define JSMimeTypeArray_h
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -29,10 +30,10 @@ namespace WebCore {
class MimeTypeArray;
-class JSMimeTypeArray : public DOMObject {
- typedef DOMObject Base;
+class JSMimeTypeArray : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSMimeTypeArray(PassRefPtr<JSC::Structure>, PassRefPtr<MimeTypeArray>);
+ JSMimeTypeArray(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<MimeTypeArray>);
virtual ~JSMimeTypeArray();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -46,7 +47,7 @@ public:
}
virtual void getPropertyNames(JSC::ExecState*, JSC::PropertyNameArray&);
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
MimeTypeArray* impl() const { return m_impl.get(); }
private:
@@ -57,7 +58,7 @@ private:
static JSC::JSValue nameGetter(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
};
-JSC::JSValue toJS(JSC::ExecState*, MimeTypeArray*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, MimeTypeArray*);
MimeTypeArray* toMimeTypeArray(JSC::JSValue);
class JSMimeTypeArrayPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSMouseEvent.cpp b/src/3rdparty/webkit/WebCore/generated/JSMouseEvent.cpp
index 6daf2ab..1ba4b0e 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSMouseEvent.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSMouseEvent.cpp
@@ -64,7 +64,7 @@ static const HashTableValue JSMouseEventTableValues[19] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSMouseEventTable =
+static JSC_CONST_HASHTABLE HashTable JSMouseEventTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 127, JSMouseEventTableValues, 0 };
#else
@@ -78,19 +78,19 @@ static const HashTableValue JSMouseEventConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSMouseEventConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSMouseEventConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSMouseEventConstructorTableValues, 0 };
#else
{ 1, 0, JSMouseEventConstructorTableValues, 0 };
#endif
-class JSMouseEventConstructor : public DOMObject {
+class JSMouseEventConstructor : public DOMConstructorObject {
public:
- JSMouseEventConstructor(ExecState* exec)
- : DOMObject(JSMouseEventConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSMouseEventConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSMouseEventConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSMouseEventPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSMouseEventPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -117,7 +117,7 @@ static const HashTableValue JSMouseEventPrototypeTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSMouseEventPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSMouseEventPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSMouseEventPrototypeTableValues, 0 };
#else
@@ -138,8 +138,8 @@ bool JSMouseEventPrototype::getOwnPropertySlot(ExecState* exec, const Identifier
const ClassInfo JSMouseEvent::s_info = { "MouseEvent", &JSUIEvent::s_info, &JSMouseEventTable, 0 };
-JSMouseEvent::JSMouseEvent(PassRefPtr<Structure> structure, PassRefPtr<MouseEvent> impl)
- : JSUIEvent(structure, impl)
+JSMouseEvent::JSMouseEvent(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<MouseEvent> impl)
+ : JSUIEvent(structure, globalObject, impl)
{
}
@@ -155,130 +155,148 @@ bool JSMouseEvent::getOwnPropertySlot(ExecState* exec, const Identifier& propert
JSValue jsMouseEventScreenX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSMouseEvent* castedThis = static_cast<JSMouseEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- MouseEvent* imp = static_cast<MouseEvent*>(static_cast<JSMouseEvent*>(asObject(slot.slotBase()))->impl());
+ MouseEvent* imp = static_cast<MouseEvent*>(castedThis->impl());
return jsNumber(exec, imp->screenX());
}
JSValue jsMouseEventScreenY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSMouseEvent* castedThis = static_cast<JSMouseEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- MouseEvent* imp = static_cast<MouseEvent*>(static_cast<JSMouseEvent*>(asObject(slot.slotBase()))->impl());
+ MouseEvent* imp = static_cast<MouseEvent*>(castedThis->impl());
return jsNumber(exec, imp->screenY());
}
JSValue jsMouseEventClientX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSMouseEvent* castedThis = static_cast<JSMouseEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- MouseEvent* imp = static_cast<MouseEvent*>(static_cast<JSMouseEvent*>(asObject(slot.slotBase()))->impl());
+ MouseEvent* imp = static_cast<MouseEvent*>(castedThis->impl());
return jsNumber(exec, imp->clientX());
}
JSValue jsMouseEventClientY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSMouseEvent* castedThis = static_cast<JSMouseEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- MouseEvent* imp = static_cast<MouseEvent*>(static_cast<JSMouseEvent*>(asObject(slot.slotBase()))->impl());
+ MouseEvent* imp = static_cast<MouseEvent*>(castedThis->impl());
return jsNumber(exec, imp->clientY());
}
JSValue jsMouseEventCtrlKey(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSMouseEvent* castedThis = static_cast<JSMouseEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- MouseEvent* imp = static_cast<MouseEvent*>(static_cast<JSMouseEvent*>(asObject(slot.slotBase()))->impl());
+ MouseEvent* imp = static_cast<MouseEvent*>(castedThis->impl());
return jsBoolean(imp->ctrlKey());
}
JSValue jsMouseEventShiftKey(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSMouseEvent* castedThis = static_cast<JSMouseEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- MouseEvent* imp = static_cast<MouseEvent*>(static_cast<JSMouseEvent*>(asObject(slot.slotBase()))->impl());
+ MouseEvent* imp = static_cast<MouseEvent*>(castedThis->impl());
return jsBoolean(imp->shiftKey());
}
JSValue jsMouseEventAltKey(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSMouseEvent* castedThis = static_cast<JSMouseEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- MouseEvent* imp = static_cast<MouseEvent*>(static_cast<JSMouseEvent*>(asObject(slot.slotBase()))->impl());
+ MouseEvent* imp = static_cast<MouseEvent*>(castedThis->impl());
return jsBoolean(imp->altKey());
}
JSValue jsMouseEventMetaKey(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSMouseEvent* castedThis = static_cast<JSMouseEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- MouseEvent* imp = static_cast<MouseEvent*>(static_cast<JSMouseEvent*>(asObject(slot.slotBase()))->impl());
+ MouseEvent* imp = static_cast<MouseEvent*>(castedThis->impl());
return jsBoolean(imp->metaKey());
}
JSValue jsMouseEventButton(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSMouseEvent* castedThis = static_cast<JSMouseEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- MouseEvent* imp = static_cast<MouseEvent*>(static_cast<JSMouseEvent*>(asObject(slot.slotBase()))->impl());
+ MouseEvent* imp = static_cast<MouseEvent*>(castedThis->impl());
return jsNumber(exec, imp->button());
}
JSValue jsMouseEventRelatedTarget(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSMouseEvent* castedThis = static_cast<JSMouseEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- MouseEvent* imp = static_cast<MouseEvent*>(static_cast<JSMouseEvent*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->relatedTarget()));
+ MouseEvent* imp = static_cast<MouseEvent*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->relatedTarget()));
}
JSValue jsMouseEventOffsetX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSMouseEvent* castedThis = static_cast<JSMouseEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- MouseEvent* imp = static_cast<MouseEvent*>(static_cast<JSMouseEvent*>(asObject(slot.slotBase()))->impl());
+ MouseEvent* imp = static_cast<MouseEvent*>(castedThis->impl());
return jsNumber(exec, imp->offsetX());
}
JSValue jsMouseEventOffsetY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSMouseEvent* castedThis = static_cast<JSMouseEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- MouseEvent* imp = static_cast<MouseEvent*>(static_cast<JSMouseEvent*>(asObject(slot.slotBase()))->impl());
+ MouseEvent* imp = static_cast<MouseEvent*>(castedThis->impl());
return jsNumber(exec, imp->offsetY());
}
JSValue jsMouseEventX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSMouseEvent* castedThis = static_cast<JSMouseEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- MouseEvent* imp = static_cast<MouseEvent*>(static_cast<JSMouseEvent*>(asObject(slot.slotBase()))->impl());
+ MouseEvent* imp = static_cast<MouseEvent*>(castedThis->impl());
return jsNumber(exec, imp->x());
}
JSValue jsMouseEventY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSMouseEvent* castedThis = static_cast<JSMouseEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- MouseEvent* imp = static_cast<MouseEvent*>(static_cast<JSMouseEvent*>(asObject(slot.slotBase()))->impl());
+ MouseEvent* imp = static_cast<MouseEvent*>(castedThis->impl());
return jsNumber(exec, imp->y());
}
JSValue jsMouseEventFromElement(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSMouseEvent* castedThis = static_cast<JSMouseEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- MouseEvent* imp = static_cast<MouseEvent*>(static_cast<JSMouseEvent*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->fromElement()));
+ MouseEvent* imp = static_cast<MouseEvent*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->fromElement()));
}
JSValue jsMouseEventToElement(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSMouseEvent* castedThis = static_cast<JSMouseEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- MouseEvent* imp = static_cast<MouseEvent*>(static_cast<JSMouseEvent*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->toElement()));
+ MouseEvent* imp = static_cast<MouseEvent*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->toElement()));
}
JSValue jsMouseEventDataTransfer(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSMouseEvent* castedThis = static_cast<JSMouseEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- MouseEvent* imp = static_cast<MouseEvent*>(static_cast<JSMouseEvent*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->dataTransfer()));
+ MouseEvent* imp = static_cast<MouseEvent*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->dataTransfer()));
}
JSValue jsMouseEventConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSMouseEvent*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSMouseEvent* domObject = static_cast<JSMouseEvent*>(asObject(slot.slotBase()));
+ return JSMouseEvent::getConstructor(exec, domObject->globalObject());
}
-JSValue JSMouseEvent::getConstructor(ExecState* exec)
+JSValue JSMouseEvent::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSMouseEventConstructor>(exec);
+ return getDOMConstructor<JSMouseEventConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsMouseEventPrototypeFunctionInitMouseEvent(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSMouseEvent.h b/src/3rdparty/webkit/WebCore/generated/JSMouseEvent.h
index 3730d93..73727e5 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSMouseEvent.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSMouseEvent.h
@@ -30,7 +30,7 @@ class MouseEvent;
class JSMouseEvent : public JSUIEvent {
typedef JSUIEvent Base;
public:
- JSMouseEvent(PassRefPtr<JSC::Structure>, PassRefPtr<MouseEvent>);
+ JSMouseEvent(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<MouseEvent>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
@@ -41,7 +41,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSMutationEvent.cpp b/src/3rdparty/webkit/WebCore/generated/JSMutationEvent.cpp
index 71d339e..7632b91 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSMutationEvent.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSMutationEvent.cpp
@@ -49,7 +49,7 @@ static const HashTableValue JSMutationEventTableValues[7] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSMutationEventTable =
+static JSC_CONST_HASHTABLE HashTable JSMutationEventTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 127, JSMutationEventTableValues, 0 };
#else
@@ -66,19 +66,19 @@ static const HashTableValue JSMutationEventConstructorTableValues[4] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSMutationEventConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSMutationEventConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 7, JSMutationEventConstructorTableValues, 0 };
#else
{ 8, 7, JSMutationEventConstructorTableValues, 0 };
#endif
-class JSMutationEventConstructor : public DOMObject {
+class JSMutationEventConstructor : public DOMConstructorObject {
public:
- JSMutationEventConstructor(ExecState* exec)
- : DOMObject(JSMutationEventConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSMutationEventConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSMutationEventConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSMutationEventPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSMutationEventPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -108,7 +108,7 @@ static const HashTableValue JSMutationEventPrototypeTableValues[5] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSMutationEventPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSMutationEventPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 7, JSMutationEventPrototypeTableValues, 0 };
#else
@@ -129,8 +129,8 @@ bool JSMutationEventPrototype::getOwnPropertySlot(ExecState* exec, const Identif
const ClassInfo JSMutationEvent::s_info = { "MutationEvent", &JSEvent::s_info, &JSMutationEventTable, 0 };
-JSMutationEvent::JSMutationEvent(PassRefPtr<Structure> structure, PassRefPtr<MutationEvent> impl)
- : JSEvent(structure, impl)
+JSMutationEvent::JSMutationEvent(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<MutationEvent> impl)
+ : JSEvent(structure, globalObject, impl)
{
}
@@ -146,46 +146,52 @@ bool JSMutationEvent::getOwnPropertySlot(ExecState* exec, const Identifier& prop
JSValue jsMutationEventRelatedNode(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSMutationEvent* castedThis = static_cast<JSMutationEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- MutationEvent* imp = static_cast<MutationEvent*>(static_cast<JSMutationEvent*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->relatedNode()));
+ MutationEvent* imp = static_cast<MutationEvent*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->relatedNode()));
}
JSValue jsMutationEventPrevValue(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSMutationEvent* castedThis = static_cast<JSMutationEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- MutationEvent* imp = static_cast<MutationEvent*>(static_cast<JSMutationEvent*>(asObject(slot.slotBase()))->impl());
+ MutationEvent* imp = static_cast<MutationEvent*>(castedThis->impl());
return jsString(exec, imp->prevValue());
}
JSValue jsMutationEventNewValue(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSMutationEvent* castedThis = static_cast<JSMutationEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- MutationEvent* imp = static_cast<MutationEvent*>(static_cast<JSMutationEvent*>(asObject(slot.slotBase()))->impl());
+ MutationEvent* imp = static_cast<MutationEvent*>(castedThis->impl());
return jsString(exec, imp->newValue());
}
JSValue jsMutationEventAttrName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSMutationEvent* castedThis = static_cast<JSMutationEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- MutationEvent* imp = static_cast<MutationEvent*>(static_cast<JSMutationEvent*>(asObject(slot.slotBase()))->impl());
+ MutationEvent* imp = static_cast<MutationEvent*>(castedThis->impl());
return jsString(exec, imp->attrName());
}
JSValue jsMutationEventAttrChange(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSMutationEvent* castedThis = static_cast<JSMutationEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- MutationEvent* imp = static_cast<MutationEvent*>(static_cast<JSMutationEvent*>(asObject(slot.slotBase()))->impl());
+ MutationEvent* imp = static_cast<MutationEvent*>(castedThis->impl());
return jsNumber(exec, imp->attrChange());
}
JSValue jsMutationEventConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSMutationEvent*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSMutationEvent* domObject = static_cast<JSMutationEvent*>(asObject(slot.slotBase()));
+ return JSMutationEvent::getConstructor(exec, domObject->globalObject());
}
-JSValue JSMutationEvent::getConstructor(ExecState* exec)
+JSValue JSMutationEvent::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSMutationEventConstructor>(exec);
+ return getDOMConstructor<JSMutationEventConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsMutationEventPrototypeFunctionInitMutationEvent(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSMutationEvent.h b/src/3rdparty/webkit/WebCore/generated/JSMutationEvent.h
index 7948398..faa1b64 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSMutationEvent.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSMutationEvent.h
@@ -30,7 +30,7 @@ class MutationEvent;
class JSMutationEvent : public JSEvent {
typedef JSEvent Base;
public:
- JSMutationEvent(PassRefPtr<JSC::Structure>, PassRefPtr<MutationEvent>);
+ JSMutationEvent(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<MutationEvent>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
@@ -41,7 +41,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSNamedNodeMap.cpp b/src/3rdparty/webkit/WebCore/generated/JSNamedNodeMap.cpp
index 9c6a5a9..355464c 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSNamedNodeMap.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSNamedNodeMap.cpp
@@ -45,7 +45,7 @@ static const HashTableValue JSNamedNodeMapTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSNamedNodeMapTable =
+static JSC_CONST_HASHTABLE HashTable JSNamedNodeMapTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSNamedNodeMapTableValues, 0 };
#else
@@ -59,19 +59,19 @@ static const HashTableValue JSNamedNodeMapConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSNamedNodeMapConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSNamedNodeMapConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSNamedNodeMapConstructorTableValues, 0 };
#else
{ 1, 0, JSNamedNodeMapConstructorTableValues, 0 };
#endif
-class JSNamedNodeMapConstructor : public DOMObject {
+class JSNamedNodeMapConstructor : public DOMConstructorObject {
public:
- JSNamedNodeMapConstructor(ExecState* exec)
- : DOMObject(JSNamedNodeMapConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSNamedNodeMapConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSNamedNodeMapConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSNamedNodeMapPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSNamedNodeMapPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -104,7 +104,7 @@ static const HashTableValue JSNamedNodeMapPrototypeTableValues[8] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSNamedNodeMapPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSNamedNodeMapPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSNamedNodeMapPrototypeTableValues, 0 };
#else
@@ -125,8 +125,8 @@ bool JSNamedNodeMapPrototype::getOwnPropertySlot(ExecState* exec, const Identifi
const ClassInfo JSNamedNodeMap::s_info = { "NamedNodeMap", 0, &JSNamedNodeMapTable, 0 };
-JSNamedNodeMap::JSNamedNodeMap(PassRefPtr<Structure> structure, PassRefPtr<NamedNodeMap> impl)
- : DOMObject(structure)
+JSNamedNodeMap::JSNamedNodeMap(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<NamedNodeMap> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -176,14 +176,16 @@ bool JSNamedNodeMap::getOwnPropertySlot(ExecState* exec, unsigned propertyName,
JSValue jsNamedNodeMapLength(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSNamedNodeMap* castedThis = static_cast<JSNamedNodeMap*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- NamedNodeMap* imp = static_cast<NamedNodeMap*>(static_cast<JSNamedNodeMap*>(asObject(slot.slotBase()))->impl());
+ NamedNodeMap* imp = static_cast<NamedNodeMap*>(castedThis->impl());
return jsNumber(exec, imp->length());
}
JSValue jsNamedNodeMapConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSNamedNodeMap*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSNamedNodeMap* domObject = static_cast<JSNamedNodeMap*>(asObject(slot.slotBase()));
+ return JSNamedNodeMap::getConstructor(exec, domObject->globalObject());
}
void JSNamedNodeMap::getPropertyNames(ExecState* exec, PropertyNameArray& propertyNames)
{
@@ -192,9 +194,9 @@ void JSNamedNodeMap::getPropertyNames(ExecState* exec, PropertyNameArray& proper
Base::getPropertyNames(exec, propertyNames);
}
-JSValue JSNamedNodeMap::getConstructor(ExecState* exec)
+JSValue JSNamedNodeMap::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSNamedNodeMapConstructor>(exec);
+ return getDOMConstructor<JSNamedNodeMapConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsNamedNodeMapPrototypeFunctionGetNamedItem(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -207,7 +209,7 @@ JSValue JSC_HOST_CALL jsNamedNodeMapPrototypeFunctionGetNamedItem(ExecState* exe
const UString& name = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getNamedItem(name)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getNamedItem(name)));
return result;
}
@@ -222,7 +224,7 @@ JSValue JSC_HOST_CALL jsNamedNodeMapPrototypeFunctionSetNamedItem(ExecState* exe
Node* node = toNode(args.at(0));
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->setNamedItem(node, ec)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->setNamedItem(node, ec)));
setDOMException(exec, ec);
return result;
}
@@ -238,7 +240,7 @@ JSValue JSC_HOST_CALL jsNamedNodeMapPrototypeFunctionRemoveNamedItem(ExecState*
const UString& name = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->removeNamedItem(name, ec)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->removeNamedItem(name, ec)));
setDOMException(exec, ec);
return result;
}
@@ -253,7 +255,7 @@ JSValue JSC_HOST_CALL jsNamedNodeMapPrototypeFunctionItem(ExecState* exec, JSObj
unsigned index = args.at(0).toInt32(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->item(index)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->item(index)));
return result;
}
@@ -268,7 +270,7 @@ JSValue JSC_HOST_CALL jsNamedNodeMapPrototypeFunctionGetNamedItemNS(ExecState* e
const UString& localName = args.at(1).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getNamedItemNS(namespaceURI, localName)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getNamedItemNS(namespaceURI, localName)));
return result;
}
@@ -283,7 +285,7 @@ JSValue JSC_HOST_CALL jsNamedNodeMapPrototypeFunctionSetNamedItemNS(ExecState* e
Node* node = toNode(args.at(0));
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->setNamedItemNS(node, ec)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->setNamedItemNS(node, ec)));
setDOMException(exec, ec);
return result;
}
@@ -300,7 +302,7 @@ JSValue JSC_HOST_CALL jsNamedNodeMapPrototypeFunctionRemoveNamedItemNS(ExecState
const UString& localName = args.at(1).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->removeNamedItemNS(namespaceURI, localName, ec)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->removeNamedItemNS(namespaceURI, localName, ec)));
setDOMException(exec, ec);
return result;
}
@@ -309,11 +311,11 @@ JSValue JSC_HOST_CALL jsNamedNodeMapPrototypeFunctionRemoveNamedItemNS(ExecState
JSValue JSNamedNodeMap::indexGetter(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
JSNamedNodeMap* thisObj = static_cast<JSNamedNodeMap*>(asObject(slot.slotBase()));
- return toJS(exec, static_cast<NamedNodeMap*>(thisObj->impl())->item(slot.index()));
+ return toJS(exec, thisObj->globalObject(), static_cast<NamedNodeMap*>(thisObj->impl())->item(slot.index()));
}
-JSC::JSValue toJS(JSC::ExecState* exec, NamedNodeMap* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, NamedNodeMap* object)
{
- return getDOMObjectWrapper<JSNamedNodeMap>(exec, object);
+ return getDOMObjectWrapper<JSNamedNodeMap>(exec, globalObject, object);
}
NamedNodeMap* toNamedNodeMap(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSNamedNodeMap.h b/src/3rdparty/webkit/WebCore/generated/JSNamedNodeMap.h
index f7c132e..ca64bfb 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSNamedNodeMap.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSNamedNodeMap.h
@@ -21,6 +21,7 @@
#ifndef JSNamedNodeMap_h
#define JSNamedNodeMap_h
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -29,10 +30,10 @@ namespace WebCore {
class NamedNodeMap;
-class JSNamedNodeMap : public DOMObject {
- typedef DOMObject Base;
+class JSNamedNodeMap : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSNamedNodeMap(PassRefPtr<JSC::Structure>, PassRefPtr<NamedNodeMap>);
+ JSNamedNodeMap(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<NamedNodeMap>);
virtual ~JSNamedNodeMap();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -46,7 +47,7 @@ public:
}
virtual void getPropertyNames(JSC::ExecState*, JSC::PropertyNameArray&);
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
NamedNodeMap* impl() const { return m_impl.get(); }
private:
@@ -57,7 +58,7 @@ private:
static JSC::JSValue nameGetter(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
};
-JSC::JSValue toJS(JSC::ExecState*, NamedNodeMap*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, NamedNodeMap*);
NamedNodeMap* toNamedNodeMap(JSC::JSValue);
class JSNamedNodeMapPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSNavigator.cpp b/src/3rdparty/webkit/WebCore/generated/JSNavigator.cpp
index feefecc..19dfdee 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSNavigator.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSNavigator.cpp
@@ -58,7 +58,7 @@ static const HashTableValue JSNavigatorTableValues[15] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSNavigatorTable =
+static JSC_CONST_HASHTABLE HashTable JSNavigatorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 511, JSNavigatorTableValues, 0 };
#else
@@ -73,7 +73,7 @@ static const HashTableValue JSNavigatorPrototypeTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSNavigatorPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSNavigatorPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSNavigatorPrototypeTableValues, 0 };
#else
@@ -94,8 +94,8 @@ bool JSNavigatorPrototype::getOwnPropertySlot(ExecState* exec, const Identifier&
const ClassInfo JSNavigator::s_info = { "Navigator", 0, &JSNavigatorTable, 0 };
-JSNavigator::JSNavigator(PassRefPtr<Structure> structure, PassRefPtr<Navigator> impl)
- : DOMObject(structure)
+JSNavigator::JSNavigator(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<Navigator> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -117,99 +117,113 @@ bool JSNavigator::getOwnPropertySlot(ExecState* exec, const Identifier& property
JSValue jsNavigatorAppCodeName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSNavigator* castedThis = static_cast<JSNavigator*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Navigator* imp = static_cast<Navigator*>(static_cast<JSNavigator*>(asObject(slot.slotBase()))->impl());
+ Navigator* imp = static_cast<Navigator*>(castedThis->impl());
return jsString(exec, imp->appCodeName());
}
JSValue jsNavigatorAppName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSNavigator* castedThis = static_cast<JSNavigator*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Navigator* imp = static_cast<Navigator*>(static_cast<JSNavigator*>(asObject(slot.slotBase()))->impl());
+ Navigator* imp = static_cast<Navigator*>(castedThis->impl());
return jsString(exec, imp->appName());
}
JSValue jsNavigatorAppVersion(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSNavigator* castedThis = static_cast<JSNavigator*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Navigator* imp = static_cast<Navigator*>(static_cast<JSNavigator*>(asObject(slot.slotBase()))->impl());
+ Navigator* imp = static_cast<Navigator*>(castedThis->impl());
return jsString(exec, imp->appVersion());
}
JSValue jsNavigatorLanguage(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSNavigator* castedThis = static_cast<JSNavigator*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Navigator* imp = static_cast<Navigator*>(static_cast<JSNavigator*>(asObject(slot.slotBase()))->impl());
+ Navigator* imp = static_cast<Navigator*>(castedThis->impl());
return jsString(exec, imp->language());
}
JSValue jsNavigatorUserAgent(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSNavigator* castedThis = static_cast<JSNavigator*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Navigator* imp = static_cast<Navigator*>(static_cast<JSNavigator*>(asObject(slot.slotBase()))->impl());
+ Navigator* imp = static_cast<Navigator*>(castedThis->impl());
return jsString(exec, imp->userAgent());
}
JSValue jsNavigatorPlatform(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSNavigator* castedThis = static_cast<JSNavigator*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Navigator* imp = static_cast<Navigator*>(static_cast<JSNavigator*>(asObject(slot.slotBase()))->impl());
+ Navigator* imp = static_cast<Navigator*>(castedThis->impl());
return jsString(exec, imp->platform());
}
JSValue jsNavigatorPlugins(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSNavigator* castedThis = static_cast<JSNavigator*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Navigator* imp = static_cast<Navigator*>(static_cast<JSNavigator*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->plugins()));
+ Navigator* imp = static_cast<Navigator*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->plugins()));
}
JSValue jsNavigatorMimeTypes(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSNavigator* castedThis = static_cast<JSNavigator*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Navigator* imp = static_cast<Navigator*>(static_cast<JSNavigator*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->mimeTypes()));
+ Navigator* imp = static_cast<Navigator*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->mimeTypes()));
}
JSValue jsNavigatorProduct(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSNavigator* castedThis = static_cast<JSNavigator*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Navigator* imp = static_cast<Navigator*>(static_cast<JSNavigator*>(asObject(slot.slotBase()))->impl());
+ Navigator* imp = static_cast<Navigator*>(castedThis->impl());
return jsString(exec, imp->product());
}
JSValue jsNavigatorProductSub(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSNavigator* castedThis = static_cast<JSNavigator*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Navigator* imp = static_cast<Navigator*>(static_cast<JSNavigator*>(asObject(slot.slotBase()))->impl());
+ Navigator* imp = static_cast<Navigator*>(castedThis->impl());
return jsString(exec, imp->productSub());
}
JSValue jsNavigatorVendor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSNavigator* castedThis = static_cast<JSNavigator*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Navigator* imp = static_cast<Navigator*>(static_cast<JSNavigator*>(asObject(slot.slotBase()))->impl());
+ Navigator* imp = static_cast<Navigator*>(castedThis->impl());
return jsString(exec, imp->vendor());
}
JSValue jsNavigatorVendorSub(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSNavigator* castedThis = static_cast<JSNavigator*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Navigator* imp = static_cast<Navigator*>(static_cast<JSNavigator*>(asObject(slot.slotBase()))->impl());
+ Navigator* imp = static_cast<Navigator*>(castedThis->impl());
return jsString(exec, imp->vendorSub());
}
JSValue jsNavigatorCookieEnabled(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSNavigator* castedThis = static_cast<JSNavigator*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Navigator* imp = static_cast<Navigator*>(static_cast<JSNavigator*>(asObject(slot.slotBase()))->impl());
+ Navigator* imp = static_cast<Navigator*>(castedThis->impl());
return jsBoolean(imp->cookieEnabled());
}
JSValue jsNavigatorOnLine(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSNavigator* castedThis = static_cast<JSNavigator*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Navigator* imp = static_cast<Navigator*>(static_cast<JSNavigator*>(asObject(slot.slotBase()))->impl());
+ Navigator* imp = static_cast<Navigator*>(castedThis->impl());
return jsBoolean(imp->onLine());
}
@@ -226,9 +240,9 @@ JSValue JSC_HOST_CALL jsNavigatorPrototypeFunctionJavaEnabled(ExecState* exec, J
return result;
}
-JSC::JSValue toJS(JSC::ExecState* exec, Navigator* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, Navigator* object)
{
- return getDOMObjectWrapper<JSNavigator>(exec, object);
+ return getDOMObjectWrapper<JSNavigator>(exec, globalObject, object);
}
Navigator* toNavigator(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSNavigator.h b/src/3rdparty/webkit/WebCore/generated/JSNavigator.h
index 0a3a5df..b332f74 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSNavigator.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSNavigator.h
@@ -21,6 +21,7 @@
#ifndef JSNavigator_h
#define JSNavigator_h
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -29,10 +30,10 @@ namespace WebCore {
class Navigator;
-class JSNavigator : public DOMObject {
- typedef DOMObject Base;
+class JSNavigator : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSNavigator(PassRefPtr<JSC::Structure>, PassRefPtr<Navigator>);
+ JSNavigator(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<Navigator>);
virtual ~JSNavigator();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -52,7 +53,7 @@ private:
RefPtr<Navigator> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, Navigator*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, Navigator*);
Navigator* toNavigator(JSC::JSValue);
class JSNavigatorPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSNode.cpp b/src/3rdparty/webkit/WebCore/generated/JSNode.cpp
index fda843c..98d82ce 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSNode.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSNode.cpp
@@ -71,7 +71,7 @@ static const HashTableValue JSNodeTableValues[19] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSNodeTable =
+static JSC_CONST_HASHTABLE HashTable JSNodeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 4095, JSNodeTableValues, 0 };
#else
@@ -103,19 +103,19 @@ static const HashTableValue JSNodeConstructorTableValues[19] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSNodeConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSNodeConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 2047, JSNodeConstructorTableValues, 0 };
#else
{ 67, 63, JSNodeConstructorTableValues, 0 };
#endif
-class JSNodeConstructor : public DOMObject {
+class JSNodeConstructor : public DOMConstructorObject {
public:
- JSNodeConstructor(ExecState* exec)
- : DOMObject(JSNodeConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSNodeConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSNodeConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSNodePrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSNodePrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -177,7 +177,7 @@ static const HashTableValue JSNodePrototypeTableValues[37] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSNodePrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSNodePrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 4095, JSNodePrototypeTableValues, 0 };
#else
@@ -198,8 +198,8 @@ bool JSNodePrototype::getOwnPropertySlot(ExecState* exec, const Identifier& prop
const ClassInfo JSNode::s_info = { "Node", 0, &JSNodeTable, 0 };
-JSNode::JSNode(PassRefPtr<Structure> structure, PassRefPtr<Node> impl)
- : DOMObject(structure)
+JSNode::JSNode(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<Node> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -217,126 +217,144 @@ JSObject* JSNode::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
JSValue jsNodeNodeName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSNode* castedThis = static_cast<JSNode*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Node* imp = static_cast<Node*>(static_cast<JSNode*>(asObject(slot.slotBase()))->impl());
+ Node* imp = static_cast<Node*>(castedThis->impl());
return jsStringOrNull(exec, imp->nodeName());
}
JSValue jsNodeNodeValue(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSNode* castedThis = static_cast<JSNode*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Node* imp = static_cast<Node*>(static_cast<JSNode*>(asObject(slot.slotBase()))->impl());
+ Node* imp = static_cast<Node*>(castedThis->impl());
return jsStringOrNull(exec, imp->nodeValue());
}
JSValue jsNodeNodeType(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSNode* castedThis = static_cast<JSNode*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Node* imp = static_cast<Node*>(static_cast<JSNode*>(asObject(slot.slotBase()))->impl());
+ Node* imp = static_cast<Node*>(castedThis->impl());
return jsNumber(exec, imp->nodeType());
}
JSValue jsNodeParentNode(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSNode* castedThis = static_cast<JSNode*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Node* imp = static_cast<Node*>(static_cast<JSNode*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->parentNode()));
+ Node* imp = static_cast<Node*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->parentNode()));
}
JSValue jsNodeChildNodes(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSNode* castedThis = static_cast<JSNode*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Node* imp = static_cast<Node*>(static_cast<JSNode*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->childNodes()));
+ Node* imp = static_cast<Node*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->childNodes()));
}
JSValue jsNodeFirstChild(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSNode* castedThis = static_cast<JSNode*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Node* imp = static_cast<Node*>(static_cast<JSNode*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->firstChild()));
+ Node* imp = static_cast<Node*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->firstChild()));
}
JSValue jsNodeLastChild(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSNode* castedThis = static_cast<JSNode*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Node* imp = static_cast<Node*>(static_cast<JSNode*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->lastChild()));
+ Node* imp = static_cast<Node*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->lastChild()));
}
JSValue jsNodePreviousSibling(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSNode* castedThis = static_cast<JSNode*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Node* imp = static_cast<Node*>(static_cast<JSNode*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->previousSibling()));
+ Node* imp = static_cast<Node*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->previousSibling()));
}
JSValue jsNodeNextSibling(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSNode* castedThis = static_cast<JSNode*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Node* imp = static_cast<Node*>(static_cast<JSNode*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->nextSibling()));
+ Node* imp = static_cast<Node*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->nextSibling()));
}
JSValue jsNodeAttributes(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSNode* castedThis = static_cast<JSNode*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Node* imp = static_cast<Node*>(static_cast<JSNode*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->attributes()));
+ Node* imp = static_cast<Node*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->attributes()));
}
JSValue jsNodeOwnerDocument(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSNode* castedThis = static_cast<JSNode*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Node* imp = static_cast<Node*>(static_cast<JSNode*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->ownerDocument()));
+ Node* imp = static_cast<Node*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->ownerDocument()));
}
JSValue jsNodeNamespaceURI(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSNode* castedThis = static_cast<JSNode*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Node* imp = static_cast<Node*>(static_cast<JSNode*>(asObject(slot.slotBase()))->impl());
+ Node* imp = static_cast<Node*>(castedThis->impl());
return jsStringOrNull(exec, imp->namespaceURI());
}
JSValue jsNodePrefix(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSNode* castedThis = static_cast<JSNode*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Node* imp = static_cast<Node*>(static_cast<JSNode*>(asObject(slot.slotBase()))->impl());
+ Node* imp = static_cast<Node*>(castedThis->impl());
return jsStringOrNull(exec, imp->prefix());
}
JSValue jsNodeLocalName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSNode* castedThis = static_cast<JSNode*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Node* imp = static_cast<Node*>(static_cast<JSNode*>(asObject(slot.slotBase()))->impl());
+ Node* imp = static_cast<Node*>(castedThis->impl());
return jsStringOrNull(exec, imp->localName());
}
JSValue jsNodeBaseURI(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSNode* castedThis = static_cast<JSNode*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Node* imp = static_cast<Node*>(static_cast<JSNode*>(asObject(slot.slotBase()))->impl());
+ Node* imp = static_cast<Node*>(castedThis->impl());
return jsStringOrNull(exec, imp->baseURI());
}
JSValue jsNodeTextContent(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSNode* castedThis = static_cast<JSNode*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Node* imp = static_cast<Node*>(static_cast<JSNode*>(asObject(slot.slotBase()))->impl());
+ Node* imp = static_cast<Node*>(castedThis->impl());
return jsStringOrNull(exec, imp->textContent());
}
JSValue jsNodeParentElement(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSNode* castedThis = static_cast<JSNode*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Node* imp = static_cast<Node*>(static_cast<JSNode*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->parentElement()));
+ Node* imp = static_cast<Node*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->parentElement()));
}
JSValue jsNodeConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSNode*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSNode* domObject = static_cast<JSNode*>(asObject(slot.slotBase()));
+ return JSNode::getConstructor(exec, domObject->globalObject());
}
void JSNode::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -367,9 +385,9 @@ void setJSNodeTextContent(ExecState* exec, JSObject* thisObject, JSValue value)
setDOMException(exec, ec);
}
-JSValue JSNode::getConstructor(ExecState* exec)
+JSValue JSNode::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSNodeConstructor>(exec);
+ return getDOMConstructor<JSNodeConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsNodePrototypeFunctionInsertBefore(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -431,7 +449,7 @@ JSValue JSC_HOST_CALL jsNodePrototypeFunctionCloneNode(ExecState* exec, JSObject
bool deep = args.at(0).toBoolean(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->cloneNode(deep)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->cloneNode(deep)));
return result;
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSNode.h b/src/3rdparty/webkit/WebCore/generated/JSNode.h
index 3fdc5a3..d4d1f59 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSNode.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSNode.h
@@ -21,6 +21,7 @@
#ifndef JSNode_h
#define JSNode_h
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/Lookup.h>
@@ -31,10 +32,10 @@ namespace WebCore {
class Node;
-class JSNode : public DOMObject {
- typedef DOMObject Base;
+class JSNode : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSNode(PassRefPtr<JSC::Structure>, PassRefPtr<Node>);
+ JSNode(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<Node>);
virtual ~JSNode();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -51,7 +52,7 @@ public:
virtual void pushEventHandlerScope(JSC::ExecState*, JSC::ScopeChain&) const;
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
// Custom functions
JSC::JSValue insertBefore(JSC::ExecState*, const JSC::ArgList&);
@@ -71,9 +72,9 @@ ALWAYS_INLINE bool JSNode::getOwnPropertySlot(JSC::ExecState* exec, const JSC::I
return JSC::getStaticValueSlot<JSNode, Base>(exec, s_info.staticPropHashTable, this, propertyName, slot);
}
-JSC::JSValue toJS(JSC::ExecState*, Node*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, Node*);
Node* toNode(JSC::JSValue);
-JSC::JSValue toJSNewlyCreated(JSC::ExecState*, Node*);
+JSC::JSValue toJSNewlyCreated(JSC::ExecState*, JSDOMGlobalObject*, Node*);
class JSNodePrototype : public JSC::JSObject {
typedef JSC::JSObject Base;
diff --git a/src/3rdparty/webkit/WebCore/generated/JSNodeFilter.cpp b/src/3rdparty/webkit/WebCore/generated/JSNodeFilter.cpp
index 3084eed..ead0b47 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSNodeFilter.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSNodeFilter.cpp
@@ -39,7 +39,7 @@ static const HashTableValue JSNodeFilterTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSNodeFilterTable =
+static JSC_CONST_HASHTABLE HashTable JSNodeFilterTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSNodeFilterTableValues, 0 };
#else
@@ -69,19 +69,19 @@ static const HashTableValue JSNodeFilterConstructorTableValues[17] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSNodeFilterConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSNodeFilterConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 127, JSNodeFilterConstructorTableValues, 0 };
#else
{ 34, 31, JSNodeFilterConstructorTableValues, 0 };
#endif
-class JSNodeFilterConstructor : public DOMObject {
+class JSNodeFilterConstructor : public DOMConstructorObject {
public:
- JSNodeFilterConstructor(ExecState* exec)
- : DOMObject(JSNodeFilterConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSNodeFilterConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSNodeFilterConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSNodeFilterPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSNodeFilterPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -124,7 +124,7 @@ static const HashTableValue JSNodeFilterPrototypeTableValues[18] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSNodeFilterPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSNodeFilterPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 255, JSNodeFilterPrototypeTableValues, 0 };
#else
@@ -145,8 +145,8 @@ bool JSNodeFilterPrototype::getOwnPropertySlot(ExecState* exec, const Identifier
const ClassInfo JSNodeFilter::s_info = { "NodeFilter", 0, &JSNodeFilterTable, 0 };
-JSNodeFilter::JSNodeFilter(PassRefPtr<Structure> structure, PassRefPtr<NodeFilter> impl)
- : DOMObject(structure)
+JSNodeFilter::JSNodeFilter(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<NodeFilter> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -168,11 +168,12 @@ bool JSNodeFilter::getOwnPropertySlot(ExecState* exec, const Identifier& propert
JSValue jsNodeFilterConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSNodeFilter*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSNodeFilter* domObject = static_cast<JSNodeFilter*>(asObject(slot.slotBase()));
+ return JSNodeFilter::getConstructor(exec, domObject->globalObject());
}
-JSValue JSNodeFilter::getConstructor(ExecState* exec)
+JSValue JSNodeFilter::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSNodeFilterConstructor>(exec);
+ return getDOMConstructor<JSNodeFilterConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsNodeFilterPrototypeFunctionAcceptNode(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -266,9 +267,9 @@ JSValue jsNodeFilterSHOW_NOTATION(ExecState* exec, const Identifier&, const Prop
return jsNumber(exec, static_cast<int>(0x00000800));
}
-JSC::JSValue toJS(JSC::ExecState* exec, NodeFilter* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, NodeFilter* object)
{
- return getDOMObjectWrapper<JSNodeFilter>(exec, object);
+ return getDOMObjectWrapper<JSNodeFilter>(exec, globalObject, object);
}
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSNodeFilter.h b/src/3rdparty/webkit/WebCore/generated/JSNodeFilter.h
index 0fd1b42..b955a03 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSNodeFilter.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSNodeFilter.h
@@ -21,6 +21,7 @@
#ifndef JSNodeFilter_h
#define JSNodeFilter_h
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -29,10 +30,10 @@ namespace WebCore {
class NodeFilter;
-class JSNodeFilter : public DOMObject {
- typedef DOMObject Base;
+class JSNodeFilter : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSNodeFilter(PassRefPtr<JSC::Structure>, PassRefPtr<NodeFilter>);
+ JSNodeFilter(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<NodeFilter>);
virtual ~JSNodeFilter();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -46,7 +47,7 @@ public:
virtual void mark();
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
// Custom functions
JSC::JSValue acceptNode(JSC::ExecState*, const JSC::ArgList&);
@@ -56,7 +57,7 @@ private:
RefPtr<NodeFilter> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, NodeFilter*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, NodeFilter*);
PassRefPtr<NodeFilter> toNodeFilter(JSC::JSValue);
class JSNodeFilterPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSNodeIterator.cpp b/src/3rdparty/webkit/WebCore/generated/JSNodeIterator.cpp
index 152ab6f..81613a0 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSNodeIterator.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSNodeIterator.cpp
@@ -50,7 +50,7 @@ static const HashTableValue JSNodeIteratorTableValues[8] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSNodeIteratorTable =
+static JSC_CONST_HASHTABLE HashTable JSNodeIteratorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 255, JSNodeIteratorTableValues, 0 };
#else
@@ -64,19 +64,19 @@ static const HashTableValue JSNodeIteratorConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSNodeIteratorConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSNodeIteratorConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSNodeIteratorConstructorTableValues, 0 };
#else
{ 1, 0, JSNodeIteratorConstructorTableValues, 0 };
#endif
-class JSNodeIteratorConstructor : public DOMObject {
+class JSNodeIteratorConstructor : public DOMConstructorObject {
public:
- JSNodeIteratorConstructor(ExecState* exec)
- : DOMObject(JSNodeIteratorConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSNodeIteratorConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSNodeIteratorConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSNodeIteratorPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSNodeIteratorPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -105,7 +105,7 @@ static const HashTableValue JSNodeIteratorPrototypeTableValues[4] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSNodeIteratorPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSNodeIteratorPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 3, JSNodeIteratorPrototypeTableValues, 0 };
#else
@@ -126,8 +126,8 @@ bool JSNodeIteratorPrototype::getOwnPropertySlot(ExecState* exec, const Identifi
const ClassInfo JSNodeIterator::s_info = { "NodeIterator", 0, &JSNodeIteratorTable, 0 };
-JSNodeIterator::JSNodeIterator(PassRefPtr<Structure> structure, PassRefPtr<NodeIterator> impl)
- : DOMObject(structure)
+JSNodeIterator::JSNodeIterator(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<NodeIterator> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -149,53 +149,60 @@ bool JSNodeIterator::getOwnPropertySlot(ExecState* exec, const Identifier& prope
JSValue jsNodeIteratorRoot(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSNodeIterator* castedThis = static_cast<JSNodeIterator*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- NodeIterator* imp = static_cast<NodeIterator*>(static_cast<JSNodeIterator*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->root()));
+ NodeIterator* imp = static_cast<NodeIterator*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->root()));
}
JSValue jsNodeIteratorWhatToShow(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSNodeIterator* castedThis = static_cast<JSNodeIterator*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- NodeIterator* imp = static_cast<NodeIterator*>(static_cast<JSNodeIterator*>(asObject(slot.slotBase()))->impl());
+ NodeIterator* imp = static_cast<NodeIterator*>(castedThis->impl());
return jsNumber(exec, imp->whatToShow());
}
JSValue jsNodeIteratorFilter(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSNodeIterator* castedThis = static_cast<JSNodeIterator*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- NodeIterator* imp = static_cast<NodeIterator*>(static_cast<JSNodeIterator*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->filter()));
+ NodeIterator* imp = static_cast<NodeIterator*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->filter()));
}
JSValue jsNodeIteratorExpandEntityReferences(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSNodeIterator* castedThis = static_cast<JSNodeIterator*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- NodeIterator* imp = static_cast<NodeIterator*>(static_cast<JSNodeIterator*>(asObject(slot.slotBase()))->impl());
+ NodeIterator* imp = static_cast<NodeIterator*>(castedThis->impl());
return jsBoolean(imp->expandEntityReferences());
}
JSValue jsNodeIteratorReferenceNode(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSNodeIterator* castedThis = static_cast<JSNodeIterator*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- NodeIterator* imp = static_cast<NodeIterator*>(static_cast<JSNodeIterator*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->referenceNode()));
+ NodeIterator* imp = static_cast<NodeIterator*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->referenceNode()));
}
JSValue jsNodeIteratorPointerBeforeReferenceNode(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSNodeIterator* castedThis = static_cast<JSNodeIterator*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- NodeIterator* imp = static_cast<NodeIterator*>(static_cast<JSNodeIterator*>(asObject(slot.slotBase()))->impl());
+ NodeIterator* imp = static_cast<NodeIterator*>(castedThis->impl());
return jsBoolean(imp->pointerBeforeReferenceNode());
}
JSValue jsNodeIteratorConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSNodeIterator*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSNodeIterator* domObject = static_cast<JSNodeIterator*>(asObject(slot.slotBase()));
+ return JSNodeIterator::getConstructor(exec, domObject->globalObject());
}
-JSValue JSNodeIterator::getConstructor(ExecState* exec)
+JSValue JSNodeIterator::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSNodeIteratorConstructor>(exec);
+ return getDOMConstructor<JSNodeIteratorConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsNodeIteratorPrototypeFunctionNextNode(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -228,9 +235,9 @@ JSValue JSC_HOST_CALL jsNodeIteratorPrototypeFunctionDetach(ExecState* exec, JSO
return jsUndefined();
}
-JSC::JSValue toJS(JSC::ExecState* exec, NodeIterator* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, NodeIterator* object)
{
- return getDOMObjectWrapper<JSNodeIterator>(exec, object);
+ return getDOMObjectWrapper<JSNodeIterator>(exec, globalObject, object);
}
NodeIterator* toNodeIterator(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSNodeIterator.h b/src/3rdparty/webkit/WebCore/generated/JSNodeIterator.h
index ab5e7c6..e521a05 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSNodeIterator.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSNodeIterator.h
@@ -21,6 +21,7 @@
#ifndef JSNodeIterator_h
#define JSNodeIterator_h
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -29,10 +30,10 @@ namespace WebCore {
class NodeIterator;
-class JSNodeIterator : public DOMObject {
- typedef DOMObject Base;
+class JSNodeIterator : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSNodeIterator(PassRefPtr<JSC::Structure>, PassRefPtr<NodeIterator>);
+ JSNodeIterator(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<NodeIterator>);
virtual ~JSNodeIterator();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -46,7 +47,7 @@ public:
virtual void mark();
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
// Custom functions
JSC::JSValue nextNode(JSC::ExecState*, const JSC::ArgList&);
@@ -57,7 +58,7 @@ private:
RefPtr<NodeIterator> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, NodeIterator*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, NodeIterator*);
NodeIterator* toNodeIterator(JSC::JSValue);
class JSNodeIteratorPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSNodeList.cpp b/src/3rdparty/webkit/WebCore/generated/JSNodeList.cpp
index 80e1f22..437dd84 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSNodeList.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSNodeList.cpp
@@ -46,7 +46,7 @@ static const HashTableValue JSNodeListTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSNodeListTable =
+static JSC_CONST_HASHTABLE HashTable JSNodeListTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSNodeListTableValues, 0 };
#else
@@ -60,19 +60,19 @@ static const HashTableValue JSNodeListConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSNodeListConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSNodeListConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSNodeListConstructorTableValues, 0 };
#else
{ 1, 0, JSNodeListConstructorTableValues, 0 };
#endif
-class JSNodeListConstructor : public DOMObject {
+class JSNodeListConstructor : public DOMConstructorObject {
public:
- JSNodeListConstructor(ExecState* exec)
- : DOMObject(JSNodeListConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSNodeListConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSNodeListConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSNodeListPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSNodeListPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -99,7 +99,7 @@ static const HashTableValue JSNodeListPrototypeTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSNodeListPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSNodeListPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSNodeListPrototypeTableValues, 0 };
#else
@@ -120,8 +120,8 @@ bool JSNodeListPrototype::getOwnPropertySlot(ExecState* exec, const Identifier&
const ClassInfo JSNodeList::s_info = { "NodeList", 0, &JSNodeListTable, 0 };
-JSNodeList::JSNodeList(PassRefPtr<Structure> structure, PassRefPtr<NodeList> impl)
- : DOMObject(structure)
+JSNodeList::JSNodeList(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<NodeList> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -167,14 +167,16 @@ bool JSNodeList::getOwnPropertySlot(ExecState* exec, unsigned propertyName, Prop
JSValue jsNodeListLength(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSNodeList* castedThis = static_cast<JSNodeList*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- NodeList* imp = static_cast<NodeList*>(static_cast<JSNodeList*>(asObject(slot.slotBase()))->impl());
+ NodeList* imp = static_cast<NodeList*>(castedThis->impl());
return jsNumber(exec, imp->length());
}
JSValue jsNodeListConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSNodeList*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSNodeList* domObject = static_cast<JSNodeList*>(asObject(slot.slotBase()));
+ return JSNodeList::getConstructor(exec, domObject->globalObject());
}
void JSNodeList::getPropertyNames(ExecState* exec, PropertyNameArray& propertyNames)
{
@@ -183,9 +185,9 @@ void JSNodeList::getPropertyNames(ExecState* exec, PropertyNameArray& propertyNa
Base::getPropertyNames(exec, propertyNames);
}
-JSValue JSNodeList::getConstructor(ExecState* exec)
+JSValue JSNodeList::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSNodeListConstructor>(exec);
+ return getDOMConstructor<JSNodeListConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsNodeListPrototypeFunctionItem(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -202,7 +204,7 @@ JSValue JSC_HOST_CALL jsNodeListPrototypeFunctionItem(ExecState* exec, JSObject*
}
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->item(index)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->item(index)));
return result;
}
@@ -210,11 +212,11 @@ JSValue JSC_HOST_CALL jsNodeListPrototypeFunctionItem(ExecState* exec, JSObject*
JSValue JSNodeList::indexGetter(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
JSNodeList* thisObj = static_cast<JSNodeList*>(asObject(slot.slotBase()));
- return toJS(exec, static_cast<NodeList*>(thisObj->impl())->item(slot.index()));
+ return toJS(exec, thisObj->globalObject(), static_cast<NodeList*>(thisObj->impl())->item(slot.index()));
}
-JSC::JSValue toJS(JSC::ExecState* exec, NodeList* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, NodeList* object)
{
- return getDOMObjectWrapper<JSNodeList>(exec, object);
+ return getDOMObjectWrapper<JSNodeList>(exec, globalObject, object);
}
NodeList* toNodeList(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSNodeList.h b/src/3rdparty/webkit/WebCore/generated/JSNodeList.h
index c4fce0b..21faa3a 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSNodeList.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSNodeList.h
@@ -21,6 +21,7 @@
#ifndef JSNodeList_h
#define JSNodeList_h
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/CallData.h>
#include <runtime/JSGlobalObject.h>
@@ -30,10 +31,10 @@ namespace WebCore {
class NodeList;
-class JSNodeList : public DOMObject {
- typedef DOMObject Base;
+class JSNodeList : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSNodeList(PassRefPtr<JSC::Structure>, PassRefPtr<NodeList>);
+ JSNodeList(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<NodeList>);
virtual ~JSNodeList();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -49,7 +50,7 @@ public:
virtual JSC::CallType getCallData(JSC::CallData&);
virtual void getPropertyNames(JSC::ExecState*, JSC::PropertyNameArray&);
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
NodeList* impl() const { return m_impl.get(); }
private:
@@ -60,7 +61,7 @@ private:
static JSC::JSValue nameGetter(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
};
-JSC::JSValue toJS(JSC::ExecState*, NodeList*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, NodeList*);
NodeList* toNodeList(JSC::JSValue);
class JSNodeListPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSNotation.cpp b/src/3rdparty/webkit/WebCore/generated/JSNotation.cpp
index 95dacaa..31b9d18 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSNotation.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSNotation.cpp
@@ -41,7 +41,7 @@ static const HashTableValue JSNotationTableValues[4] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSNotationTable =
+static JSC_CONST_HASHTABLE HashTable JSNotationTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSNotationTableValues, 0 };
#else
@@ -55,19 +55,19 @@ static const HashTableValue JSNotationConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSNotationConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSNotationConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSNotationConstructorTableValues, 0 };
#else
{ 1, 0, JSNotationConstructorTableValues, 0 };
#endif
-class JSNotationConstructor : public DOMObject {
+class JSNotationConstructor : public DOMConstructorObject {
public:
- JSNotationConstructor(ExecState* exec)
- : DOMObject(JSNotationConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSNotationConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSNotationConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSNotationPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSNotationPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -93,7 +93,7 @@ static const HashTableValue JSNotationPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSNotationPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSNotationPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSNotationPrototypeTableValues, 0 };
#else
@@ -109,8 +109,8 @@ JSObject* JSNotationPrototype::self(ExecState* exec, JSGlobalObject* globalObjec
const ClassInfo JSNotation::s_info = { "Notation", &JSNode::s_info, &JSNotationTable, 0 };
-JSNotation::JSNotation(PassRefPtr<Structure> structure, PassRefPtr<Notation> impl)
- : JSNode(structure, impl)
+JSNotation::JSNotation(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<Notation> impl)
+ : JSNode(structure, globalObject, impl)
{
}
@@ -126,25 +126,28 @@ bool JSNotation::getOwnPropertySlot(ExecState* exec, const Identifier& propertyN
JSValue jsNotationPublicId(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSNotation* castedThis = static_cast<JSNotation*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Notation* imp = static_cast<Notation*>(static_cast<JSNotation*>(asObject(slot.slotBase()))->impl());
+ Notation* imp = static_cast<Notation*>(castedThis->impl());
return jsStringOrNull(exec, imp->publicId());
}
JSValue jsNotationSystemId(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSNotation* castedThis = static_cast<JSNotation*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Notation* imp = static_cast<Notation*>(static_cast<JSNotation*>(asObject(slot.slotBase()))->impl());
+ Notation* imp = static_cast<Notation*>(castedThis->impl());
return jsStringOrNull(exec, imp->systemId());
}
JSValue jsNotationConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSNotation*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSNotation* domObject = static_cast<JSNotation*>(asObject(slot.slotBase()));
+ return JSNotation::getConstructor(exec, domObject->globalObject());
}
-JSValue JSNotation::getConstructor(ExecState* exec)
+JSValue JSNotation::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSNotationConstructor>(exec);
+ return getDOMConstructor<JSNotationConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSNotation.h b/src/3rdparty/webkit/WebCore/generated/JSNotation.h
index 00d3427..5928834 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSNotation.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSNotation.h
@@ -30,7 +30,7 @@ class Notation;
class JSNotation : public JSNode {
typedef JSNode Base;
public:
- JSNotation(PassRefPtr<JSC::Structure>, PassRefPtr<Notation>);
+ JSNotation(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<Notation>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
@@ -41,7 +41,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSONObject.lut.h b/src/3rdparty/webkit/WebCore/generated/JSONObject.lut.h
index 9a12bb4..ce685c2 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSONObject.lut.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSONObject.lut.h
@@ -10,6 +10,6 @@ static const struct HashTableValue jsonTableValues[3] = {
{ 0, 0, 0, 0 }
};
-extern const struct HashTable jsonTable =
+extern JSC_CONST_HASHTABLE HashTable jsonTable =
{ 4, 3, jsonTableValues, 0 };
} // namespace
diff --git a/src/3rdparty/webkit/WebCore/generated/JSOverflowEvent.cpp b/src/3rdparty/webkit/WebCore/generated/JSOverflowEvent.cpp
index b704dcb..69715e3 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSOverflowEvent.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSOverflowEvent.cpp
@@ -43,7 +43,7 @@ static const HashTableValue JSOverflowEventTableValues[5] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSOverflowEventTable =
+static JSC_CONST_HASHTABLE HashTable JSOverflowEventTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 31, JSOverflowEventTableValues, 0 };
#else
@@ -60,19 +60,19 @@ static const HashTableValue JSOverflowEventConstructorTableValues[4] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSOverflowEventConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSOverflowEventConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSOverflowEventConstructorTableValues, 0 };
#else
{ 9, 7, JSOverflowEventConstructorTableValues, 0 };
#endif
-class JSOverflowEventConstructor : public DOMObject {
+class JSOverflowEventConstructor : public DOMConstructorObject {
public:
- JSOverflowEventConstructor(ExecState* exec)
- : DOMObject(JSOverflowEventConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSOverflowEventConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSOverflowEventConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSOverflowEventPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSOverflowEventPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -102,7 +102,7 @@ static const HashTableValue JSOverflowEventPrototypeTableValues[5] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSOverflowEventPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSOverflowEventPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSOverflowEventPrototypeTableValues, 0 };
#else
@@ -123,8 +123,8 @@ bool JSOverflowEventPrototype::getOwnPropertySlot(ExecState* exec, const Identif
const ClassInfo JSOverflowEvent::s_info = { "OverflowEvent", &JSEvent::s_info, &JSOverflowEventTable, 0 };
-JSOverflowEvent::JSOverflowEvent(PassRefPtr<Structure> structure, PassRefPtr<OverflowEvent> impl)
- : JSEvent(structure, impl)
+JSOverflowEvent::JSOverflowEvent(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<OverflowEvent> impl)
+ : JSEvent(structure, globalObject, impl)
{
}
@@ -140,32 +140,36 @@ bool JSOverflowEvent::getOwnPropertySlot(ExecState* exec, const Identifier& prop
JSValue jsOverflowEventOrient(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSOverflowEvent* castedThis = static_cast<JSOverflowEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- OverflowEvent* imp = static_cast<OverflowEvent*>(static_cast<JSOverflowEvent*>(asObject(slot.slotBase()))->impl());
+ OverflowEvent* imp = static_cast<OverflowEvent*>(castedThis->impl());
return jsNumber(exec, imp->orient());
}
JSValue jsOverflowEventHorizontalOverflow(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSOverflowEvent* castedThis = static_cast<JSOverflowEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- OverflowEvent* imp = static_cast<OverflowEvent*>(static_cast<JSOverflowEvent*>(asObject(slot.slotBase()))->impl());
+ OverflowEvent* imp = static_cast<OverflowEvent*>(castedThis->impl());
return jsBoolean(imp->horizontalOverflow());
}
JSValue jsOverflowEventVerticalOverflow(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSOverflowEvent* castedThis = static_cast<JSOverflowEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- OverflowEvent* imp = static_cast<OverflowEvent*>(static_cast<JSOverflowEvent*>(asObject(slot.slotBase()))->impl());
+ OverflowEvent* imp = static_cast<OverflowEvent*>(castedThis->impl());
return jsBoolean(imp->verticalOverflow());
}
JSValue jsOverflowEventConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSOverflowEvent*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSOverflowEvent* domObject = static_cast<JSOverflowEvent*>(asObject(slot.slotBase()));
+ return JSOverflowEvent::getConstructor(exec, domObject->globalObject());
}
-JSValue JSOverflowEvent::getConstructor(ExecState* exec)
+JSValue JSOverflowEvent::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSOverflowEventConstructor>(exec);
+ return getDOMConstructor<JSOverflowEventConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsOverflowEventPrototypeFunctionInitOverflowEvent(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSOverflowEvent.h b/src/3rdparty/webkit/WebCore/generated/JSOverflowEvent.h
index b018a86..f179a71 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSOverflowEvent.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSOverflowEvent.h
@@ -30,7 +30,7 @@ class OverflowEvent;
class JSOverflowEvent : public JSEvent {
typedef JSEvent Base;
public:
- JSOverflowEvent(PassRefPtr<JSC::Structure>, PassRefPtr<OverflowEvent>);
+ JSOverflowEvent(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<OverflowEvent>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
@@ -41,7 +41,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSPlugin.cpp b/src/3rdparty/webkit/WebCore/generated/JSPlugin.cpp
index 9b3c480..39616d6 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSPlugin.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSPlugin.cpp
@@ -50,7 +50,7 @@ static const HashTableValue JSPluginTableValues[6] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSPluginTable =
+static JSC_CONST_HASHTABLE HashTable JSPluginTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 127, JSPluginTableValues, 0 };
#else
@@ -64,19 +64,19 @@ static const HashTableValue JSPluginConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSPluginConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSPluginConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSPluginConstructorTableValues, 0 };
#else
{ 1, 0, JSPluginConstructorTableValues, 0 };
#endif
-class JSPluginConstructor : public DOMObject {
+class JSPluginConstructor : public DOMConstructorObject {
public:
- JSPluginConstructor(ExecState* exec)
- : DOMObject(JSPluginConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSPluginConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSPluginConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSPluginPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSPluginPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -104,7 +104,7 @@ static const HashTableValue JSPluginPrototypeTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSPluginPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSPluginPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 7, JSPluginPrototypeTableValues, 0 };
#else
@@ -125,8 +125,8 @@ bool JSPluginPrototype::getOwnPropertySlot(ExecState* exec, const Identifier& pr
const ClassInfo JSPlugin::s_info = { "Plugin", 0, &JSPluginTable, 0 };
-JSPlugin::JSPlugin(PassRefPtr<Structure> structure, PassRefPtr<Plugin> impl)
- : DOMObject(structure)
+JSPlugin::JSPlugin(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<Plugin> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -172,35 +172,40 @@ bool JSPlugin::getOwnPropertySlot(ExecState* exec, unsigned propertyName, Proper
JSValue jsPluginName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSPlugin* castedThis = static_cast<JSPlugin*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Plugin* imp = static_cast<Plugin*>(static_cast<JSPlugin*>(asObject(slot.slotBase()))->impl());
+ Plugin* imp = static_cast<Plugin*>(castedThis->impl());
return jsString(exec, imp->name());
}
JSValue jsPluginFilename(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSPlugin* castedThis = static_cast<JSPlugin*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Plugin* imp = static_cast<Plugin*>(static_cast<JSPlugin*>(asObject(slot.slotBase()))->impl());
+ Plugin* imp = static_cast<Plugin*>(castedThis->impl());
return jsString(exec, imp->filename());
}
JSValue jsPluginDescription(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSPlugin* castedThis = static_cast<JSPlugin*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Plugin* imp = static_cast<Plugin*>(static_cast<JSPlugin*>(asObject(slot.slotBase()))->impl());
+ Plugin* imp = static_cast<Plugin*>(castedThis->impl());
return jsString(exec, imp->description());
}
JSValue jsPluginLength(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSPlugin* castedThis = static_cast<JSPlugin*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Plugin* imp = static_cast<Plugin*>(static_cast<JSPlugin*>(asObject(slot.slotBase()))->impl());
+ Plugin* imp = static_cast<Plugin*>(castedThis->impl());
return jsNumber(exec, imp->length());
}
JSValue jsPluginConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSPlugin*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSPlugin* domObject = static_cast<JSPlugin*>(asObject(slot.slotBase()));
+ return JSPlugin::getConstructor(exec, domObject->globalObject());
}
void JSPlugin::getPropertyNames(ExecState* exec, PropertyNameArray& propertyNames)
{
@@ -209,9 +214,9 @@ void JSPlugin::getPropertyNames(ExecState* exec, PropertyNameArray& propertyName
Base::getPropertyNames(exec, propertyNames);
}
-JSValue JSPlugin::getConstructor(ExecState* exec)
+JSValue JSPlugin::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSPluginConstructor>(exec);
+ return getDOMConstructor<JSPluginConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsPluginPrototypeFunctionItem(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -224,7 +229,7 @@ JSValue JSC_HOST_CALL jsPluginPrototypeFunctionItem(ExecState* exec, JSObject*,
unsigned index = args.at(0).toInt32(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->item(index)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->item(index)));
return result;
}
@@ -238,7 +243,7 @@ JSValue JSC_HOST_CALL jsPluginPrototypeFunctionNamedItem(ExecState* exec, JSObje
const UString& name = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->namedItem(name)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->namedItem(name)));
return result;
}
@@ -246,11 +251,11 @@ JSValue JSC_HOST_CALL jsPluginPrototypeFunctionNamedItem(ExecState* exec, JSObje
JSValue JSPlugin::indexGetter(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
JSPlugin* thisObj = static_cast<JSPlugin*>(asObject(slot.slotBase()));
- return toJS(exec, static_cast<Plugin*>(thisObj->impl())->item(slot.index()));
+ return toJS(exec, thisObj->globalObject(), static_cast<Plugin*>(thisObj->impl())->item(slot.index()));
}
-JSC::JSValue toJS(JSC::ExecState* exec, Plugin* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, Plugin* object)
{
- return getDOMObjectWrapper<JSPlugin>(exec, object);
+ return getDOMObjectWrapper<JSPlugin>(exec, globalObject, object);
}
Plugin* toPlugin(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSPlugin.h b/src/3rdparty/webkit/WebCore/generated/JSPlugin.h
index 7ff040f..eee4c7d 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSPlugin.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSPlugin.h
@@ -21,6 +21,7 @@
#ifndef JSPlugin_h
#define JSPlugin_h
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -29,10 +30,10 @@ namespace WebCore {
class Plugin;
-class JSPlugin : public DOMObject {
- typedef DOMObject Base;
+class JSPlugin : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSPlugin(PassRefPtr<JSC::Structure>, PassRefPtr<Plugin>);
+ JSPlugin(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<Plugin>);
virtual ~JSPlugin();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -46,7 +47,7 @@ public:
}
virtual void getPropertyNames(JSC::ExecState*, JSC::PropertyNameArray&);
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
Plugin* impl() const { return m_impl.get(); }
private:
@@ -57,7 +58,7 @@ private:
static JSC::JSValue nameGetter(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
};
-JSC::JSValue toJS(JSC::ExecState*, Plugin*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, Plugin*);
Plugin* toPlugin(JSC::JSValue);
class JSPluginPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSPluginArray.cpp b/src/3rdparty/webkit/WebCore/generated/JSPluginArray.cpp
index ba960da..955d50c 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSPluginArray.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSPluginArray.cpp
@@ -45,7 +45,7 @@ static const HashTableValue JSPluginArrayTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSPluginArrayTable =
+static JSC_CONST_HASHTABLE HashTable JSPluginArrayTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSPluginArrayTableValues, 0 };
#else
@@ -59,19 +59,19 @@ static const HashTableValue JSPluginArrayConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSPluginArrayConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSPluginArrayConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSPluginArrayConstructorTableValues, 0 };
#else
{ 1, 0, JSPluginArrayConstructorTableValues, 0 };
#endif
-class JSPluginArrayConstructor : public DOMObject {
+class JSPluginArrayConstructor : public DOMConstructorObject {
public:
- JSPluginArrayConstructor(ExecState* exec)
- : DOMObject(JSPluginArrayConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSPluginArrayConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSPluginArrayConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSPluginArrayPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSPluginArrayPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -100,7 +100,7 @@ static const HashTableValue JSPluginArrayPrototypeTableValues[4] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSPluginArrayPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSPluginArrayPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 7, JSPluginArrayPrototypeTableValues, 0 };
#else
@@ -121,8 +121,8 @@ bool JSPluginArrayPrototype::getOwnPropertySlot(ExecState* exec, const Identifie
const ClassInfo JSPluginArray::s_info = { "PluginArray", 0, &JSPluginArrayTable, 0 };
-JSPluginArray::JSPluginArray(PassRefPtr<Structure> structure, PassRefPtr<PluginArray> impl)
- : DOMObject(structure)
+JSPluginArray::JSPluginArray(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<PluginArray> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -168,14 +168,16 @@ bool JSPluginArray::getOwnPropertySlot(ExecState* exec, unsigned propertyName, P
JSValue jsPluginArrayLength(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSPluginArray* castedThis = static_cast<JSPluginArray*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- PluginArray* imp = static_cast<PluginArray*>(static_cast<JSPluginArray*>(asObject(slot.slotBase()))->impl());
+ PluginArray* imp = static_cast<PluginArray*>(castedThis->impl());
return jsNumber(exec, imp->length());
}
JSValue jsPluginArrayConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSPluginArray*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSPluginArray* domObject = static_cast<JSPluginArray*>(asObject(slot.slotBase()));
+ return JSPluginArray::getConstructor(exec, domObject->globalObject());
}
void JSPluginArray::getPropertyNames(ExecState* exec, PropertyNameArray& propertyNames)
{
@@ -184,9 +186,9 @@ void JSPluginArray::getPropertyNames(ExecState* exec, PropertyNameArray& propert
Base::getPropertyNames(exec, propertyNames);
}
-JSValue JSPluginArray::getConstructor(ExecState* exec)
+JSValue JSPluginArray::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSPluginArrayConstructor>(exec);
+ return getDOMConstructor<JSPluginArrayConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsPluginArrayPrototypeFunctionItem(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -199,7 +201,7 @@ JSValue JSC_HOST_CALL jsPluginArrayPrototypeFunctionItem(ExecState* exec, JSObje
unsigned index = args.at(0).toInt32(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->item(index)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->item(index)));
return result;
}
@@ -213,7 +215,7 @@ JSValue JSC_HOST_CALL jsPluginArrayPrototypeFunctionNamedItem(ExecState* exec, J
const UString& name = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->namedItem(name)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->namedItem(name)));
return result;
}
@@ -234,11 +236,11 @@ JSValue JSC_HOST_CALL jsPluginArrayPrototypeFunctionRefresh(ExecState* exec, JSO
JSValue JSPluginArray::indexGetter(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
JSPluginArray* thisObj = static_cast<JSPluginArray*>(asObject(slot.slotBase()));
- return toJS(exec, static_cast<PluginArray*>(thisObj->impl())->item(slot.index()));
+ return toJS(exec, thisObj->globalObject(), static_cast<PluginArray*>(thisObj->impl())->item(slot.index()));
}
-JSC::JSValue toJS(JSC::ExecState* exec, PluginArray* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, PluginArray* object)
{
- return getDOMObjectWrapper<JSPluginArray>(exec, object);
+ return getDOMObjectWrapper<JSPluginArray>(exec, globalObject, object);
}
PluginArray* toPluginArray(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSPluginArray.h b/src/3rdparty/webkit/WebCore/generated/JSPluginArray.h
index 56bb33e..44443f3 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSPluginArray.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSPluginArray.h
@@ -21,6 +21,7 @@
#ifndef JSPluginArray_h
#define JSPluginArray_h
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -29,10 +30,10 @@ namespace WebCore {
class PluginArray;
-class JSPluginArray : public DOMObject {
- typedef DOMObject Base;
+class JSPluginArray : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSPluginArray(PassRefPtr<JSC::Structure>, PassRefPtr<PluginArray>);
+ JSPluginArray(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<PluginArray>);
virtual ~JSPluginArray();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -46,7 +47,7 @@ public:
}
virtual void getPropertyNames(JSC::ExecState*, JSC::PropertyNameArray&);
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
PluginArray* impl() const { return m_impl.get(); }
private:
@@ -57,7 +58,7 @@ private:
static JSC::JSValue nameGetter(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
};
-JSC::JSValue toJS(JSC::ExecState*, PluginArray*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, PluginArray*);
PluginArray* toPluginArray(JSC::JSValue);
class JSPluginArrayPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSPositionError.cpp b/src/3rdparty/webkit/WebCore/generated/JSPositionError.cpp
index 89f9e56..c0c1a10 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSPositionError.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSPositionError.cpp
@@ -43,7 +43,7 @@ static const HashTableValue JSPositionErrorTableValues[4] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSPositionErrorTable =
+static JSC_CONST_HASHTABLE HashTable JSPositionErrorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSPositionErrorTableValues, 0 };
#else
@@ -61,19 +61,19 @@ static const HashTableValue JSPositionErrorConstructorTableValues[5] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSPositionErrorConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSPositionErrorConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 127, JSPositionErrorConstructorTableValues, 0 };
#else
{ 10, 7, JSPositionErrorConstructorTableValues, 0 };
#endif
-class JSPositionErrorConstructor : public DOMObject {
+class JSPositionErrorConstructor : public DOMConstructorObject {
public:
- JSPositionErrorConstructor(ExecState* exec)
- : DOMObject(JSPositionErrorConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSPositionErrorConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSPositionErrorConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSPositionErrorPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSPositionErrorPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -103,7 +103,7 @@ static const HashTableValue JSPositionErrorPrototypeTableValues[5] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSPositionErrorPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSPositionErrorPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 127, JSPositionErrorPrototypeTableValues, 0 };
#else
@@ -124,8 +124,8 @@ bool JSPositionErrorPrototype::getOwnPropertySlot(ExecState* exec, const Identif
const ClassInfo JSPositionError::s_info = { "PositionError", 0, &JSPositionErrorTable, 0 };
-JSPositionError::JSPositionError(PassRefPtr<Structure> structure, PassRefPtr<PositionError> impl)
- : DOMObject(structure)
+JSPositionError::JSPositionError(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<PositionError> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -147,25 +147,28 @@ bool JSPositionError::getOwnPropertySlot(ExecState* exec, const Identifier& prop
JSValue jsPositionErrorCode(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSPositionError* castedThis = static_cast<JSPositionError*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- PositionError* imp = static_cast<PositionError*>(static_cast<JSPositionError*>(asObject(slot.slotBase()))->impl());
+ PositionError* imp = static_cast<PositionError*>(castedThis->impl());
return jsNumber(exec, imp->code());
}
JSValue jsPositionErrorMessage(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSPositionError* castedThis = static_cast<JSPositionError*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- PositionError* imp = static_cast<PositionError*>(static_cast<JSPositionError*>(asObject(slot.slotBase()))->impl());
+ PositionError* imp = static_cast<PositionError*>(castedThis->impl());
return jsString(exec, imp->message());
}
JSValue jsPositionErrorConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSPositionError*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSPositionError* domObject = static_cast<JSPositionError*>(asObject(slot.slotBase()));
+ return JSPositionError::getConstructor(exec, domObject->globalObject());
}
-JSValue JSPositionError::getConstructor(ExecState* exec)
+JSValue JSPositionError::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSPositionErrorConstructor>(exec);
+ return getDOMConstructor<JSPositionErrorConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
// Constant getters
@@ -190,9 +193,9 @@ JSValue jsPositionErrorTIMEOUT(ExecState* exec, const Identifier&, const Propert
return jsNumber(exec, static_cast<int>(3));
}
-JSC::JSValue toJS(JSC::ExecState* exec, PositionError* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, PositionError* object)
{
- return getDOMObjectWrapper<JSPositionError>(exec, object);
+ return getDOMObjectWrapper<JSPositionError>(exec, globalObject, object);
}
PositionError* toPositionError(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSPositionError.h b/src/3rdparty/webkit/WebCore/generated/JSPositionError.h
index 9f256f4..a7478fc 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSPositionError.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSPositionError.h
@@ -21,6 +21,7 @@
#ifndef JSPositionError_h
#define JSPositionError_h
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -29,10 +30,10 @@ namespace WebCore {
class PositionError;
-class JSPositionError : public DOMObject {
- typedef DOMObject Base;
+class JSPositionError : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSPositionError(PassRefPtr<JSC::Structure>, PassRefPtr<PositionError>);
+ JSPositionError(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<PositionError>);
virtual ~JSPositionError();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -44,14 +45,14 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
PositionError* impl() const { return m_impl.get(); }
private:
RefPtr<PositionError> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, PositionError*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, PositionError*);
PositionError* toPositionError(JSC::JSValue);
class JSPositionErrorPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSProcessingInstruction.cpp b/src/3rdparty/webkit/WebCore/generated/JSProcessingInstruction.cpp
index 7ca8069..c945742 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSProcessingInstruction.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSProcessingInstruction.cpp
@@ -44,7 +44,7 @@ static const HashTableValue JSProcessingInstructionTableValues[5] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSProcessingInstructionTable =
+static JSC_CONST_HASHTABLE HashTable JSProcessingInstructionTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 7, JSProcessingInstructionTableValues, 0 };
#else
@@ -58,19 +58,19 @@ static const HashTableValue JSProcessingInstructionConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSProcessingInstructionConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSProcessingInstructionConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSProcessingInstructionConstructorTableValues, 0 };
#else
{ 1, 0, JSProcessingInstructionConstructorTableValues, 0 };
#endif
-class JSProcessingInstructionConstructor : public DOMObject {
+class JSProcessingInstructionConstructor : public DOMConstructorObject {
public:
- JSProcessingInstructionConstructor(ExecState* exec)
- : DOMObject(JSProcessingInstructionConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSProcessingInstructionConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSProcessingInstructionConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSProcessingInstructionPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSProcessingInstructionPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -96,7 +96,7 @@ static const HashTableValue JSProcessingInstructionPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSProcessingInstructionPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSProcessingInstructionPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSProcessingInstructionPrototypeTableValues, 0 };
#else
@@ -112,8 +112,8 @@ JSObject* JSProcessingInstructionPrototype::self(ExecState* exec, JSGlobalObject
const ClassInfo JSProcessingInstruction::s_info = { "ProcessingInstruction", &JSNode::s_info, &JSProcessingInstructionTable, 0 };
-JSProcessingInstruction::JSProcessingInstruction(PassRefPtr<Structure> structure, PassRefPtr<ProcessingInstruction> impl)
- : JSNode(structure, impl)
+JSProcessingInstruction::JSProcessingInstruction(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<ProcessingInstruction> impl)
+ : JSNode(structure, globalObject, impl)
{
}
@@ -129,28 +129,32 @@ bool JSProcessingInstruction::getOwnPropertySlot(ExecState* exec, const Identifi
JSValue jsProcessingInstructionTarget(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSProcessingInstruction* castedThis = static_cast<JSProcessingInstruction*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- ProcessingInstruction* imp = static_cast<ProcessingInstruction*>(static_cast<JSProcessingInstruction*>(asObject(slot.slotBase()))->impl());
+ ProcessingInstruction* imp = static_cast<ProcessingInstruction*>(castedThis->impl());
return jsStringOrNull(exec, imp->target());
}
JSValue jsProcessingInstructionData(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSProcessingInstruction* castedThis = static_cast<JSProcessingInstruction*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- ProcessingInstruction* imp = static_cast<ProcessingInstruction*>(static_cast<JSProcessingInstruction*>(asObject(slot.slotBase()))->impl());
+ ProcessingInstruction* imp = static_cast<ProcessingInstruction*>(castedThis->impl());
return jsStringOrNull(exec, imp->data());
}
JSValue jsProcessingInstructionSheet(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSProcessingInstruction* castedThis = static_cast<JSProcessingInstruction*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- ProcessingInstruction* imp = static_cast<ProcessingInstruction*>(static_cast<JSProcessingInstruction*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->sheet()));
+ ProcessingInstruction* imp = static_cast<ProcessingInstruction*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->sheet()));
}
JSValue jsProcessingInstructionConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSProcessingInstruction*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSProcessingInstruction* domObject = static_cast<JSProcessingInstruction*>(asObject(slot.slotBase()));
+ return JSProcessingInstruction::getConstructor(exec, domObject->globalObject());
}
void JSProcessingInstruction::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -165,9 +169,9 @@ void setJSProcessingInstructionData(ExecState* exec, JSObject* thisObject, JSVal
setDOMException(exec, ec);
}
-JSValue JSProcessingInstruction::getConstructor(ExecState* exec)
+JSValue JSProcessingInstruction::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSProcessingInstructionConstructor>(exec);
+ return getDOMConstructor<JSProcessingInstructionConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSProcessingInstruction.h b/src/3rdparty/webkit/WebCore/generated/JSProcessingInstruction.h
index 7c0ccd6..0b2b7df 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSProcessingInstruction.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSProcessingInstruction.h
@@ -30,7 +30,7 @@ class ProcessingInstruction;
class JSProcessingInstruction : public JSNode {
typedef JSNode Base;
public:
- JSProcessingInstruction(PassRefPtr<JSC::Structure>, PassRefPtr<ProcessingInstruction>);
+ JSProcessingInstruction(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<ProcessingInstruction>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -42,7 +42,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSProgressEvent.cpp b/src/3rdparty/webkit/WebCore/generated/JSProgressEvent.cpp
index b70c3c2..bb7be66 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSProgressEvent.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSProgressEvent.cpp
@@ -43,7 +43,7 @@ static const HashTableValue JSProgressEventTableValues[5] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSProgressEventTable =
+static JSC_CONST_HASHTABLE HashTable JSProgressEventTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSProgressEventTableValues, 0 };
#else
@@ -57,19 +57,19 @@ static const HashTableValue JSProgressEventConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSProgressEventConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSProgressEventConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSProgressEventConstructorTableValues, 0 };
#else
{ 1, 0, JSProgressEventConstructorTableValues, 0 };
#endif
-class JSProgressEventConstructor : public DOMObject {
+class JSProgressEventConstructor : public DOMConstructorObject {
public:
- JSProgressEventConstructor(ExecState* exec)
- : DOMObject(JSProgressEventConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSProgressEventConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSProgressEventConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSProgressEventPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSProgressEventPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -96,7 +96,7 @@ static const HashTableValue JSProgressEventPrototypeTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSProgressEventPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSProgressEventPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSProgressEventPrototypeTableValues, 0 };
#else
@@ -117,8 +117,8 @@ bool JSProgressEventPrototype::getOwnPropertySlot(ExecState* exec, const Identif
const ClassInfo JSProgressEvent::s_info = { "ProgressEvent", &JSEvent::s_info, &JSProgressEventTable, 0 };
-JSProgressEvent::JSProgressEvent(PassRefPtr<Structure> structure, PassRefPtr<ProgressEvent> impl)
- : JSEvent(structure, impl)
+JSProgressEvent::JSProgressEvent(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<ProgressEvent> impl)
+ : JSEvent(structure, globalObject, impl)
{
}
@@ -134,32 +134,36 @@ bool JSProgressEvent::getOwnPropertySlot(ExecState* exec, const Identifier& prop
JSValue jsProgressEventLengthComputable(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSProgressEvent* castedThis = static_cast<JSProgressEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- ProgressEvent* imp = static_cast<ProgressEvent*>(static_cast<JSProgressEvent*>(asObject(slot.slotBase()))->impl());
+ ProgressEvent* imp = static_cast<ProgressEvent*>(castedThis->impl());
return jsBoolean(imp->lengthComputable());
}
JSValue jsProgressEventLoaded(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSProgressEvent* castedThis = static_cast<JSProgressEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- ProgressEvent* imp = static_cast<ProgressEvent*>(static_cast<JSProgressEvent*>(asObject(slot.slotBase()))->impl());
+ ProgressEvent* imp = static_cast<ProgressEvent*>(castedThis->impl());
return jsNumber(exec, imp->loaded());
}
JSValue jsProgressEventTotal(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSProgressEvent* castedThis = static_cast<JSProgressEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- ProgressEvent* imp = static_cast<ProgressEvent*>(static_cast<JSProgressEvent*>(asObject(slot.slotBase()))->impl());
+ ProgressEvent* imp = static_cast<ProgressEvent*>(castedThis->impl());
return jsNumber(exec, imp->total());
}
JSValue jsProgressEventConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSProgressEvent*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSProgressEvent* domObject = static_cast<JSProgressEvent*>(asObject(slot.slotBase()));
+ return JSProgressEvent::getConstructor(exec, domObject->globalObject());
}
-JSValue JSProgressEvent::getConstructor(ExecState* exec)
+JSValue JSProgressEvent::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSProgressEventConstructor>(exec);
+ return getDOMConstructor<JSProgressEventConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsProgressEventPrototypeFunctionInitProgressEvent(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSProgressEvent.h b/src/3rdparty/webkit/WebCore/generated/JSProgressEvent.h
index 5f0744a..7e436be 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSProgressEvent.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSProgressEvent.h
@@ -30,7 +30,7 @@ class ProgressEvent;
class JSProgressEvent : public JSEvent {
typedef JSEvent Base;
public:
- JSProgressEvent(PassRefPtr<JSC::Structure>, PassRefPtr<ProgressEvent>);
+ JSProgressEvent(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<ProgressEvent>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
@@ -41,7 +41,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSRGBColor.cpp b/src/3rdparty/webkit/WebCore/generated/JSRGBColor.cpp
new file mode 100644
index 0000000..27d17a9
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/generated/JSRGBColor.cpp
@@ -0,0 +1,178 @@
+/*
+ This file is part of the WebKit open source project.
+ This file has been generated by generate-bindings.pl. DO NOT MODIFY!
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "config.h"
+#include "JSRGBColor.h"
+
+#include "CSSPrimitiveValue.h"
+#include "JSCSSPrimitiveValue.h"
+#include "RGBColor.h"
+#include <wtf/GetPtr.h>
+
+using namespace JSC;
+
+namespace WebCore {
+
+ASSERT_CLASS_FITS_IN_CELL(JSRGBColor);
+
+/* Hash table */
+
+static const HashTableValue JSRGBColorTableValues[5] =
+{
+ { "red", DontDelete|ReadOnly, (intptr_t)jsRGBColorRed, (intptr_t)0 },
+ { "green", DontDelete|ReadOnly, (intptr_t)jsRGBColorGreen, (intptr_t)0 },
+ { "blue", DontDelete|ReadOnly, (intptr_t)jsRGBColorBlue, (intptr_t)0 },
+ { "constructor", DontEnum|ReadOnly, (intptr_t)jsRGBColorConstructor, (intptr_t)0 },
+ { 0, 0, 0, 0 }
+};
+
+static JSC_CONST_HASHTABLE HashTable JSRGBColorTable =
+#if ENABLE(PERFECT_HASH_SIZE)
+ { 7, JSRGBColorTableValues, 0 };
+#else
+ { 8, 7, JSRGBColorTableValues, 0 };
+#endif
+
+/* Hash table for constructor */
+
+static const HashTableValue JSRGBColorConstructorTableValues[1] =
+{
+ { 0, 0, 0, 0 }
+};
+
+static JSC_CONST_HASHTABLE HashTable JSRGBColorConstructorTable =
+#if ENABLE(PERFECT_HASH_SIZE)
+ { 0, JSRGBColorConstructorTableValues, 0 };
+#else
+ { 1, 0, JSRGBColorConstructorTableValues, 0 };
+#endif
+
+class JSRGBColorConstructor : public DOMConstructorObject {
+public:
+ JSRGBColorConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSRGBColorConstructor::createStructure(globalObject->objectPrototype()), globalObject)
+ {
+ putDirect(exec->propertyNames().prototype, JSRGBColorPrototype::self(exec, globalObject), None);
+ }
+ virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
+ virtual const ClassInfo* classInfo() const { return &s_info; }
+ static const ClassInfo s_info;
+
+ static PassRefPtr<Structure> createStructure(JSValue proto)
+ {
+ return Structure::create(proto, TypeInfo(ObjectType, ImplementsHasInstance));
+ }
+};
+
+const ClassInfo JSRGBColorConstructor::s_info = { "RGBColorConstructor", 0, &JSRGBColorConstructorTable, 0 };
+
+bool JSRGBColorConstructor::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
+{
+ return getStaticValueSlot<JSRGBColorConstructor, DOMObject>(exec, &JSRGBColorConstructorTable, this, propertyName, slot);
+}
+
+/* Hash table for prototype */
+
+static const HashTableValue JSRGBColorPrototypeTableValues[1] =
+{
+ { 0, 0, 0, 0 }
+};
+
+static JSC_CONST_HASHTABLE HashTable JSRGBColorPrototypeTable =
+#if ENABLE(PERFECT_HASH_SIZE)
+ { 0, JSRGBColorPrototypeTableValues, 0 };
+#else
+ { 1, 0, JSRGBColorPrototypeTableValues, 0 };
+#endif
+
+const ClassInfo JSRGBColorPrototype::s_info = { "RGBColorPrototype", 0, &JSRGBColorPrototypeTable, 0 };
+
+JSObject* JSRGBColorPrototype::self(ExecState* exec, JSGlobalObject* globalObject)
+{
+ return getDOMPrototype<JSRGBColor>(exec, globalObject);
+}
+
+const ClassInfo JSRGBColor::s_info = { "RGBColor", 0, &JSRGBColorTable, 0 };
+
+JSRGBColor::JSRGBColor(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<RGBColor> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
+ , m_impl(impl)
+{
+}
+
+JSRGBColor::~JSRGBColor()
+{
+ forgetDOMObject(*Heap::heap(this)->globalData(), m_impl.get());
+}
+
+JSObject* JSRGBColor::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
+{
+ return new (exec) JSRGBColorPrototype(JSRGBColorPrototype::createStructure(globalObject->objectPrototype()));
+}
+
+bool JSRGBColor::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
+{
+ return getStaticValueSlot<JSRGBColor, Base>(exec, &JSRGBColorTable, this, propertyName, slot);
+}
+
+JSValue jsRGBColorRed(ExecState* exec, const Identifier&, const PropertySlot& slot)
+{
+ JSRGBColor* castedThis = static_cast<JSRGBColor*>(asObject(slot.slotBase()));
+ UNUSED_PARAM(exec);
+ RGBColor* imp = static_cast<RGBColor*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->red()));
+}
+
+JSValue jsRGBColorGreen(ExecState* exec, const Identifier&, const PropertySlot& slot)
+{
+ JSRGBColor* castedThis = static_cast<JSRGBColor*>(asObject(slot.slotBase()));
+ UNUSED_PARAM(exec);
+ RGBColor* imp = static_cast<RGBColor*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->green()));
+}
+
+JSValue jsRGBColorBlue(ExecState* exec, const Identifier&, const PropertySlot& slot)
+{
+ JSRGBColor* castedThis = static_cast<JSRGBColor*>(asObject(slot.slotBase()));
+ UNUSED_PARAM(exec);
+ RGBColor* imp = static_cast<RGBColor*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->blue()));
+}
+
+JSValue jsRGBColorConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
+{
+ JSRGBColor* domObject = static_cast<JSRGBColor*>(asObject(slot.slotBase()));
+ return JSRGBColor::getConstructor(exec, domObject->globalObject());
+}
+JSValue JSRGBColor::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
+{
+ return getDOMConstructor<JSRGBColorConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
+}
+
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, RGBColor* object)
+{
+ return getDOMObjectWrapper<JSRGBColor>(exec, globalObject, object);
+}
+RGBColor* toRGBColor(JSC::JSValue value)
+{
+ return value.isObject(&JSRGBColor::s_info) ? static_cast<JSRGBColor*>(asObject(value))->impl() : 0;
+}
+
+}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSRGBColor.h b/src/3rdparty/webkit/WebCore/generated/JSRGBColor.h
new file mode 100644
index 0000000..8116d7b
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/generated/JSRGBColor.h
@@ -0,0 +1,76 @@
+/*
+ This file is part of the WebKit open source project.
+ This file has been generated by generate-bindings.pl. DO NOT MODIFY!
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef JSRGBColor_h
+#define JSRGBColor_h
+
+#include "DOMObjectWithSVGContext.h"
+#include "JSDOMBinding.h"
+#include <runtime/JSGlobalObject.h>
+#include <runtime/ObjectPrototype.h>
+
+namespace WebCore {
+
+class RGBColor;
+
+class JSRGBColor : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
+public:
+ JSRGBColor(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<RGBColor>);
+ virtual ~JSRGBColor();
+ static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
+ virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
+ virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
+ static const JSC::ClassInfo s_info;
+
+ static PassRefPtr<JSC::Structure> createStructure(JSC::JSValue prototype)
+ {
+ return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
+ }
+
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
+ RGBColor* impl() const { return m_impl.get(); }
+
+private:
+ RefPtr<RGBColor> m_impl;
+};
+
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, RGBColor*);
+RGBColor* toRGBColor(JSC::JSValue);
+
+class JSRGBColorPrototype : public JSC::JSObject {
+ typedef JSC::JSObject Base;
+public:
+ static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*);
+ virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
+ static const JSC::ClassInfo s_info;
+ JSRGBColorPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { }
+};
+
+// Attributes
+
+JSC::JSValue jsRGBColorRed(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
+JSC::JSValue jsRGBColorGreen(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
+JSC::JSValue jsRGBColorBlue(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
+JSC::JSValue jsRGBColorConstructor(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
+
+} // namespace WebCore
+
+#endif
diff --git a/src/3rdparty/webkit/WebCore/generated/JSRGBColor.lut.h b/src/3rdparty/webkit/WebCore/generated/JSRGBColor.lut.h
deleted file mode 100644
index 03bb415..0000000
--- a/src/3rdparty/webkit/WebCore/generated/JSRGBColor.lut.h
+++ /dev/null
@@ -1,16 +0,0 @@
-// Automatically generated from ../bindings/js/JSRGBColor.cpp using WebCore/../JavaScriptCore/create_hash_table. DO NOT EDIT!
-
-namespace WebCore {
-
-using namespace JSC;
-
-static const struct HashTableValue JSRGBColorTableValues[4] = {
- { "red", DontDelete|ReadOnly, (intptr_t)jsRGBColorRed, (intptr_t)0 },
- { "green", DontDelete|ReadOnly, (intptr_t)jsRGBColorGreen, (intptr_t)0 },
- { "blue", DontDelete|ReadOnly, (intptr_t)jsRGBColorBlue, (intptr_t)0 },
- { 0, 0, 0, 0 }
-};
-
-extern const struct HashTable JSRGBColorTable =
- { 8, 7, JSRGBColorTableValues, 0 };
-} // namespace
diff --git a/src/3rdparty/webkit/WebCore/generated/JSRange.cpp b/src/3rdparty/webkit/WebCore/generated/JSRange.cpp
index 901b8f3..cefe592 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSRange.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSRange.cpp
@@ -53,7 +53,7 @@ static const HashTableValue JSRangeTableValues[8] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSRangeTable =
+static JSC_CONST_HASHTABLE HashTable JSRangeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 63, JSRangeTableValues, 0 };
#else
@@ -75,19 +75,19 @@ static const HashTableValue JSRangeConstructorTableValues[9] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSRangeConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSRangeConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 511, JSRangeConstructorTableValues, 0 };
#else
{ 18, 15, JSRangeConstructorTableValues, 0 };
#endif
-class JSRangeConstructor : public DOMObject {
+class JSRangeConstructor : public DOMConstructorObject {
public:
- JSRangeConstructor(ExecState* exec)
- : DOMObject(JSRangeConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSRangeConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSRangeConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSRangePrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSRangePrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -144,7 +144,7 @@ static const HashTableValue JSRangePrototypeTableValues[32] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSRangePrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSRangePrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 1023, JSRangePrototypeTableValues, 0 };
#else
@@ -165,8 +165,8 @@ bool JSRangePrototype::getOwnPropertySlot(ExecState* exec, const Identifier& pro
const ClassInfo JSRange::s_info = { "Range", 0, &JSRangeTable, 0 };
-JSRange::JSRange(PassRefPtr<Structure> structure, PassRefPtr<Range> impl)
- : DOMObject(structure)
+JSRange::JSRange(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<Range> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -188,17 +188,19 @@ bool JSRange::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName
JSValue jsRangeStartContainer(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSRange* castedThis = static_cast<JSRange*>(asObject(slot.slotBase()));
ExceptionCode ec = 0;
- Range* imp = static_cast<Range*>(static_cast<JSRange*>(asObject(slot.slotBase()))->impl());
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->startContainer(ec)));
+ Range* imp = static_cast<Range*>(castedThis->impl());
+ JSC::JSValue result = toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->startContainer(ec)));
setDOMException(exec, ec);
return result;
}
JSValue jsRangeStartOffset(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSRange* castedThis = static_cast<JSRange*>(asObject(slot.slotBase()));
ExceptionCode ec = 0;
- Range* imp = static_cast<Range*>(static_cast<JSRange*>(asObject(slot.slotBase()))->impl());
+ Range* imp = static_cast<Range*>(castedThis->impl());
JSC::JSValue result = jsNumber(exec, imp->startOffset(ec));
setDOMException(exec, ec);
return result;
@@ -206,17 +208,19 @@ JSValue jsRangeStartOffset(ExecState* exec, const Identifier&, const PropertySlo
JSValue jsRangeEndContainer(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSRange* castedThis = static_cast<JSRange*>(asObject(slot.slotBase()));
ExceptionCode ec = 0;
- Range* imp = static_cast<Range*>(static_cast<JSRange*>(asObject(slot.slotBase()))->impl());
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->endContainer(ec)));
+ Range* imp = static_cast<Range*>(castedThis->impl());
+ JSC::JSValue result = toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->endContainer(ec)));
setDOMException(exec, ec);
return result;
}
JSValue jsRangeEndOffset(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSRange* castedThis = static_cast<JSRange*>(asObject(slot.slotBase()));
ExceptionCode ec = 0;
- Range* imp = static_cast<Range*>(static_cast<JSRange*>(asObject(slot.slotBase()))->impl());
+ Range* imp = static_cast<Range*>(castedThis->impl());
JSC::JSValue result = jsNumber(exec, imp->endOffset(ec));
setDOMException(exec, ec);
return result;
@@ -224,8 +228,9 @@ JSValue jsRangeEndOffset(ExecState* exec, const Identifier&, const PropertySlot&
JSValue jsRangeCollapsed(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSRange* castedThis = static_cast<JSRange*>(asObject(slot.slotBase()));
ExceptionCode ec = 0;
- Range* imp = static_cast<Range*>(static_cast<JSRange*>(asObject(slot.slotBase()))->impl());
+ Range* imp = static_cast<Range*>(castedThis->impl());
JSC::JSValue result = jsBoolean(imp->collapsed(ec));
setDOMException(exec, ec);
return result;
@@ -233,20 +238,22 @@ JSValue jsRangeCollapsed(ExecState* exec, const Identifier&, const PropertySlot&
JSValue jsRangeCommonAncestorContainer(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSRange* castedThis = static_cast<JSRange*>(asObject(slot.slotBase()));
ExceptionCode ec = 0;
- Range* imp = static_cast<Range*>(static_cast<JSRange*>(asObject(slot.slotBase()))->impl());
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->commonAncestorContainer(ec)));
+ Range* imp = static_cast<Range*>(castedThis->impl());
+ JSC::JSValue result = toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->commonAncestorContainer(ec)));
setDOMException(exec, ec);
return result;
}
JSValue jsRangeConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSRange*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSRange* domObject = static_cast<JSRange*>(asObject(slot.slotBase()));
+ return JSRange::getConstructor(exec, domObject->globalObject());
}
-JSValue JSRange::getConstructor(ExecState* exec)
+JSValue JSRange::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSRangeConstructor>(exec);
+ return getDOMConstructor<JSRangeConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsRangePrototypeFunctionSetStart(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -427,7 +434,7 @@ JSValue JSC_HOST_CALL jsRangePrototypeFunctionExtractContents(ExecState* exec, J
ExceptionCode ec = 0;
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->extractContents(ec)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->extractContents(ec)));
setDOMException(exec, ec);
return result;
}
@@ -442,7 +449,7 @@ JSValue JSC_HOST_CALL jsRangePrototypeFunctionCloneContents(ExecState* exec, JSO
ExceptionCode ec = 0;
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->cloneContents(ec)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->cloneContents(ec)));
setDOMException(exec, ec);
return result;
}
@@ -487,7 +494,7 @@ JSValue JSC_HOST_CALL jsRangePrototypeFunctionCloneRange(ExecState* exec, JSObje
ExceptionCode ec = 0;
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->cloneRange(ec)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->cloneRange(ec)));
setDOMException(exec, ec);
return result;
}
@@ -532,7 +539,7 @@ JSValue JSC_HOST_CALL jsRangePrototypeFunctionCreateContextualFragment(ExecState
const UString& html = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->createContextualFragment(html, ec)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->createContextualFragment(html, ec)));
setDOMException(exec, ec);
return result;
}
@@ -645,9 +652,9 @@ JSValue jsRangeNODE_INSIDE(ExecState* exec, const Identifier&, const PropertySlo
return jsNumber(exec, static_cast<int>(3));
}
-JSC::JSValue toJS(JSC::ExecState* exec, Range* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, Range* object)
{
- return getDOMObjectWrapper<JSRange>(exec, object);
+ return getDOMObjectWrapper<JSRange>(exec, globalObject, object);
}
Range* toRange(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSRange.h b/src/3rdparty/webkit/WebCore/generated/JSRange.h
index 4d8a6f9..a97f759 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSRange.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSRange.h
@@ -21,6 +21,7 @@
#ifndef JSRange_h
#define JSRange_h
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -29,10 +30,10 @@ namespace WebCore {
class Range;
-class JSRange : public DOMObject {
- typedef DOMObject Base;
+class JSRange : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSRange(PassRefPtr<JSC::Structure>, PassRefPtr<Range>);
+ JSRange(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<Range>);
virtual ~JSRange();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -44,14 +45,14 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
Range* impl() const { return m_impl.get(); }
private:
RefPtr<Range> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, Range*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, Range*);
Range* toRange(JSC::JSValue);
class JSRangePrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSRangeException.cpp b/src/3rdparty/webkit/WebCore/generated/JSRangeException.cpp
index 3cf51ee..fb8addf 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSRangeException.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSRangeException.cpp
@@ -45,7 +45,7 @@ static const HashTableValue JSRangeExceptionTableValues[5] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSRangeExceptionTable =
+static JSC_CONST_HASHTABLE HashTable JSRangeExceptionTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 127, JSRangeExceptionTableValues, 0 };
#else
@@ -61,19 +61,19 @@ static const HashTableValue JSRangeExceptionConstructorTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSRangeExceptionConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSRangeExceptionConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 1, JSRangeExceptionConstructorTableValues, 0 };
#else
{ 4, 3, JSRangeExceptionConstructorTableValues, 0 };
#endif
-class JSRangeExceptionConstructor : public DOMObject {
+class JSRangeExceptionConstructor : public DOMConstructorObject {
public:
- JSRangeExceptionConstructor(ExecState* exec)
- : DOMObject(JSRangeExceptionConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSRangeExceptionConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSRangeExceptionConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSRangeExceptionPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSRangeExceptionPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -102,7 +102,7 @@ static const HashTableValue JSRangeExceptionPrototypeTableValues[4] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSRangeExceptionPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSRangeExceptionPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 3, JSRangeExceptionPrototypeTableValues, 0 };
#else
@@ -123,8 +123,8 @@ bool JSRangeExceptionPrototype::getOwnPropertySlot(ExecState* exec, const Identi
const ClassInfo JSRangeException::s_info = { "RangeException", 0, &JSRangeExceptionTable, 0 };
-JSRangeException::JSRangeException(PassRefPtr<Structure> structure, PassRefPtr<RangeException> impl)
- : DOMObject(structure)
+JSRangeException::JSRangeException(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<RangeException> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -146,32 +146,36 @@ bool JSRangeException::getOwnPropertySlot(ExecState* exec, const Identifier& pro
JSValue jsRangeExceptionCode(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSRangeException* castedThis = static_cast<JSRangeException*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- RangeException* imp = static_cast<RangeException*>(static_cast<JSRangeException*>(asObject(slot.slotBase()))->impl());
+ RangeException* imp = static_cast<RangeException*>(castedThis->impl());
return jsNumber(exec, imp->code());
}
JSValue jsRangeExceptionName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSRangeException* castedThis = static_cast<JSRangeException*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- RangeException* imp = static_cast<RangeException*>(static_cast<JSRangeException*>(asObject(slot.slotBase()))->impl());
+ RangeException* imp = static_cast<RangeException*>(castedThis->impl());
return jsString(exec, imp->name());
}
JSValue jsRangeExceptionMessage(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSRangeException* castedThis = static_cast<JSRangeException*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- RangeException* imp = static_cast<RangeException*>(static_cast<JSRangeException*>(asObject(slot.slotBase()))->impl());
+ RangeException* imp = static_cast<RangeException*>(castedThis->impl());
return jsString(exec, imp->message());
}
JSValue jsRangeExceptionConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSRangeException*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSRangeException* domObject = static_cast<JSRangeException*>(asObject(slot.slotBase()));
+ return JSRangeException::getConstructor(exec, domObject->globalObject());
}
-JSValue JSRangeException::getConstructor(ExecState* exec)
+JSValue JSRangeException::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSRangeExceptionConstructor>(exec);
+ return getDOMConstructor<JSRangeExceptionConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsRangeExceptionPrototypeFunctionToString(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -199,9 +203,9 @@ JSValue jsRangeExceptionINVALID_NODE_TYPE_ERR(ExecState* exec, const Identifier&
return jsNumber(exec, static_cast<int>(2));
}
-JSC::JSValue toJS(JSC::ExecState* exec, RangeException* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, RangeException* object)
{
- return getDOMObjectWrapper<JSRangeException>(exec, object);
+ return getDOMObjectWrapper<JSRangeException>(exec, globalObject, object);
}
RangeException* toRangeException(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSRangeException.h b/src/3rdparty/webkit/WebCore/generated/JSRangeException.h
index 5c45cd2..7afd133 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSRangeException.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSRangeException.h
@@ -21,6 +21,7 @@
#ifndef JSRangeException_h
#define JSRangeException_h
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -29,10 +30,10 @@ namespace WebCore {
class RangeException;
-class JSRangeException : public DOMObject {
- typedef DOMObject Base;
+class JSRangeException : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSRangeException(PassRefPtr<JSC::Structure>, PassRefPtr<RangeException>);
+ JSRangeException(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<RangeException>);
virtual ~JSRangeException();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -44,14 +45,14 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
RangeException* impl() const { return m_impl.get(); }
private:
RefPtr<RangeException> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, RangeException*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, RangeException*);
RangeException* toRangeException(JSC::JSValue);
class JSRangeExceptionPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSRect.cpp b/src/3rdparty/webkit/WebCore/generated/JSRect.cpp
index 02423ef..998f649 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSRect.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSRect.cpp
@@ -44,7 +44,7 @@ static const HashTableValue JSRectTableValues[6] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSRectTable =
+static JSC_CONST_HASHTABLE HashTable JSRectTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 7, JSRectTableValues, 0 };
#else
@@ -58,19 +58,19 @@ static const HashTableValue JSRectConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSRectConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSRectConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSRectConstructorTableValues, 0 };
#else
{ 1, 0, JSRectConstructorTableValues, 0 };
#endif
-class JSRectConstructor : public DOMObject {
+class JSRectConstructor : public DOMConstructorObject {
public:
- JSRectConstructor(ExecState* exec)
- : DOMObject(JSRectConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSRectConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSRectConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSRectPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSRectPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -96,7 +96,7 @@ static const HashTableValue JSRectPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSRectPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSRectPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSRectPrototypeTableValues, 0 };
#else
@@ -112,8 +112,8 @@ JSObject* JSRectPrototype::self(ExecState* exec, JSGlobalObject* globalObject)
const ClassInfo JSRect::s_info = { "Rect", 0, &JSRectTable, 0 };
-JSRect::JSRect(PassRefPtr<Structure> structure, PassRefPtr<Rect> impl)
- : DOMObject(structure)
+JSRect::JSRect(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<Rect> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -135,44 +135,49 @@ bool JSRect::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName,
JSValue jsRectTop(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSRect* castedThis = static_cast<JSRect*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Rect* imp = static_cast<Rect*>(static_cast<JSRect*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->top()));
+ Rect* imp = static_cast<Rect*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->top()));
}
JSValue jsRectRight(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSRect* castedThis = static_cast<JSRect*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Rect* imp = static_cast<Rect*>(static_cast<JSRect*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->right()));
+ Rect* imp = static_cast<Rect*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->right()));
}
JSValue jsRectBottom(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSRect* castedThis = static_cast<JSRect*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Rect* imp = static_cast<Rect*>(static_cast<JSRect*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->bottom()));
+ Rect* imp = static_cast<Rect*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->bottom()));
}
JSValue jsRectLeft(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSRect* castedThis = static_cast<JSRect*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Rect* imp = static_cast<Rect*>(static_cast<JSRect*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->left()));
+ Rect* imp = static_cast<Rect*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->left()));
}
JSValue jsRectConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSRect*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSRect* domObject = static_cast<JSRect*>(asObject(slot.slotBase()));
+ return JSRect::getConstructor(exec, domObject->globalObject());
}
-JSValue JSRect::getConstructor(ExecState* exec)
+JSValue JSRect::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSRectConstructor>(exec);
+ return getDOMConstructor<JSRectConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
-JSC::JSValue toJS(JSC::ExecState* exec, Rect* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, Rect* object)
{
- return getDOMObjectWrapper<JSRect>(exec, object);
+ return getDOMObjectWrapper<JSRect>(exec, globalObject, object);
}
Rect* toRect(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSRect.h b/src/3rdparty/webkit/WebCore/generated/JSRect.h
index be23966..4b1e427 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSRect.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSRect.h
@@ -21,6 +21,7 @@
#ifndef JSRect_h
#define JSRect_h
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -29,10 +30,10 @@ namespace WebCore {
class Rect;
-class JSRect : public DOMObject {
- typedef DOMObject Base;
+class JSRect : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSRect(PassRefPtr<JSC::Structure>, PassRefPtr<Rect>);
+ JSRect(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<Rect>);
virtual ~JSRect();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -44,14 +45,14 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
Rect* impl() const { return m_impl.get(); }
private:
RefPtr<Rect> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, Rect*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, Rect*);
Rect* toRect(JSC::JSValue);
class JSRectPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSQLError.cpp b/src/3rdparty/webkit/WebCore/generated/JSSQLError.cpp
index 77cdc74..bb987c3 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSQLError.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSQLError.cpp
@@ -45,7 +45,7 @@ static const HashTableValue JSSQLErrorTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSQLErrorTable =
+static JSC_CONST_HASHTABLE HashTable JSSQLErrorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 3, JSSQLErrorTableValues, 0 };
#else
@@ -59,7 +59,7 @@ static const HashTableValue JSSQLErrorPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSQLErrorPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSQLErrorPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSQLErrorPrototypeTableValues, 0 };
#else
@@ -75,8 +75,8 @@ JSObject* JSSQLErrorPrototype::self(ExecState* exec, JSGlobalObject* globalObjec
const ClassInfo JSSQLError::s_info = { "SQLError", 0, &JSSQLErrorTable, 0 };
-JSSQLError::JSSQLError(PassRefPtr<Structure> structure, PassRefPtr<SQLError> impl)
- : DOMObject(structure)
+JSSQLError::JSSQLError(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SQLError> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -98,21 +98,23 @@ bool JSSQLError::getOwnPropertySlot(ExecState* exec, const Identifier& propertyN
JSValue jsSQLErrorCode(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSQLError* castedThis = static_cast<JSSQLError*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SQLError* imp = static_cast<SQLError*>(static_cast<JSSQLError*>(asObject(slot.slotBase()))->impl());
+ SQLError* imp = static_cast<SQLError*>(castedThis->impl());
return jsNumber(exec, imp->code());
}
JSValue jsSQLErrorMessage(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSQLError* castedThis = static_cast<JSSQLError*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SQLError* imp = static_cast<SQLError*>(static_cast<JSSQLError*>(asObject(slot.slotBase()))->impl());
+ SQLError* imp = static_cast<SQLError*>(castedThis->impl());
return jsString(exec, imp->message());
}
-JSC::JSValue toJS(JSC::ExecState* exec, SQLError* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, SQLError* object)
{
- return getDOMObjectWrapper<JSSQLError>(exec, object);
+ return getDOMObjectWrapper<JSSQLError>(exec, globalObject, object);
}
SQLError* toSQLError(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSQLError.h b/src/3rdparty/webkit/WebCore/generated/JSSQLError.h
index d500434f..04aad81 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSQLError.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSQLError.h
@@ -23,6 +23,7 @@
#if ENABLE(DATABASE)
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -31,10 +32,10 @@ namespace WebCore {
class SQLError;
-class JSSQLError : public DOMObject {
- typedef DOMObject Base;
+class JSSQLError : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSSQLError(PassRefPtr<JSC::Structure>, PassRefPtr<SQLError>);
+ JSSQLError(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SQLError>);
virtual ~JSSQLError();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -52,7 +53,7 @@ private:
RefPtr<SQLError> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, SQLError*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, SQLError*);
SQLError* toSQLError(JSC::JSValue);
class JSSQLErrorPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSQLResultSet.cpp b/src/3rdparty/webkit/WebCore/generated/JSSQLResultSet.cpp
index 8852997..11d8ffc 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSQLResultSet.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSQLResultSet.cpp
@@ -46,7 +46,7 @@ static const HashTableValue JSSQLResultSetTableValues[4] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSQLResultSetTable =
+static JSC_CONST_HASHTABLE HashTable JSSQLResultSetTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 255, JSSQLResultSetTableValues, 0 };
#else
@@ -60,7 +60,7 @@ static const HashTableValue JSSQLResultSetPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSQLResultSetPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSQLResultSetPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSQLResultSetPrototypeTableValues, 0 };
#else
@@ -76,8 +76,8 @@ JSObject* JSSQLResultSetPrototype::self(ExecState* exec, JSGlobalObject* globalO
const ClassInfo JSSQLResultSet::s_info = { "SQLResultSet", 0, &JSSQLResultSetTable, 0 };
-JSSQLResultSet::JSSQLResultSet(PassRefPtr<Structure> structure, PassRefPtr<SQLResultSet> impl)
- : DOMObject(structure)
+JSSQLResultSet::JSSQLResultSet(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SQLResultSet> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -99,15 +99,17 @@ bool JSSQLResultSet::getOwnPropertySlot(ExecState* exec, const Identifier& prope
JSValue jsSQLResultSetRows(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSQLResultSet* castedThis = static_cast<JSSQLResultSet*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SQLResultSet* imp = static_cast<SQLResultSet*>(static_cast<JSSQLResultSet*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->rows()));
+ SQLResultSet* imp = static_cast<SQLResultSet*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->rows()));
}
JSValue jsSQLResultSetInsertId(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSQLResultSet* castedThis = static_cast<JSSQLResultSet*>(asObject(slot.slotBase()));
ExceptionCode ec = 0;
- SQLResultSet* imp = static_cast<SQLResultSet*>(static_cast<JSSQLResultSet*>(asObject(slot.slotBase()))->impl());
+ SQLResultSet* imp = static_cast<SQLResultSet*>(castedThis->impl());
JSC::JSValue result = jsNumber(exec, imp->insertId(ec));
setDOMException(exec, ec);
return result;
@@ -115,14 +117,15 @@ JSValue jsSQLResultSetInsertId(ExecState* exec, const Identifier&, const Propert
JSValue jsSQLResultSetRowsAffected(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSQLResultSet* castedThis = static_cast<JSSQLResultSet*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SQLResultSet* imp = static_cast<SQLResultSet*>(static_cast<JSSQLResultSet*>(asObject(slot.slotBase()))->impl());
+ SQLResultSet* imp = static_cast<SQLResultSet*>(castedThis->impl());
return jsNumber(exec, imp->rowsAffected());
}
-JSC::JSValue toJS(JSC::ExecState* exec, SQLResultSet* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, SQLResultSet* object)
{
- return getDOMObjectWrapper<JSSQLResultSet>(exec, object);
+ return getDOMObjectWrapper<JSSQLResultSet>(exec, globalObject, object);
}
SQLResultSet* toSQLResultSet(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSQLResultSet.h b/src/3rdparty/webkit/WebCore/generated/JSSQLResultSet.h
index d009dad..401bc3a 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSQLResultSet.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSQLResultSet.h
@@ -23,6 +23,7 @@
#if ENABLE(DATABASE)
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -31,10 +32,10 @@ namespace WebCore {
class SQLResultSet;
-class JSSQLResultSet : public DOMObject {
- typedef DOMObject Base;
+class JSSQLResultSet : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSSQLResultSet(PassRefPtr<JSC::Structure>, PassRefPtr<SQLResultSet>);
+ JSSQLResultSet(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SQLResultSet>);
virtual ~JSSQLResultSet();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -52,7 +53,7 @@ private:
RefPtr<SQLResultSet> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, SQLResultSet*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, SQLResultSet*);
SQLResultSet* toSQLResultSet(JSC::JSValue);
class JSSQLResultSetPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSQLResultSetRowList.cpp b/src/3rdparty/webkit/WebCore/generated/JSSQLResultSetRowList.cpp
index daf19f5..a166fb0 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSQLResultSetRowList.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSQLResultSetRowList.cpp
@@ -43,7 +43,7 @@ static const HashTableValue JSSQLResultSetRowListTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSQLResultSetRowListTable =
+static JSC_CONST_HASHTABLE HashTable JSSQLResultSetRowListTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSQLResultSetRowListTableValues, 0 };
#else
@@ -58,7 +58,7 @@ static const HashTableValue JSSQLResultSetRowListPrototypeTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSQLResultSetRowListPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSQLResultSetRowListPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSQLResultSetRowListPrototypeTableValues, 0 };
#else
@@ -79,8 +79,8 @@ bool JSSQLResultSetRowListPrototype::getOwnPropertySlot(ExecState* exec, const I
const ClassInfo JSSQLResultSetRowList::s_info = { "SQLResultSetRowList", 0, &JSSQLResultSetRowListTable, 0 };
-JSSQLResultSetRowList::JSSQLResultSetRowList(PassRefPtr<Structure> structure, PassRefPtr<SQLResultSetRowList> impl)
- : DOMObject(structure)
+JSSQLResultSetRowList::JSSQLResultSetRowList(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SQLResultSetRowList> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -102,8 +102,9 @@ bool JSSQLResultSetRowList::getOwnPropertySlot(ExecState* exec, const Identifier
JSValue jsSQLResultSetRowListLength(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSQLResultSetRowList* castedThis = static_cast<JSSQLResultSetRowList*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SQLResultSetRowList* imp = static_cast<SQLResultSetRowList*>(static_cast<JSSQLResultSetRowList*>(asObject(slot.slotBase()))->impl());
+ SQLResultSetRowList* imp = static_cast<SQLResultSetRowList*>(castedThis->impl());
return jsNumber(exec, imp->length());
}
@@ -116,9 +117,9 @@ JSValue JSC_HOST_CALL jsSQLResultSetRowListPrototypeFunctionItem(ExecState* exec
return castedThisObj->item(exec, args);
}
-JSC::JSValue toJS(JSC::ExecState* exec, SQLResultSetRowList* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, SQLResultSetRowList* object)
{
- return getDOMObjectWrapper<JSSQLResultSetRowList>(exec, object);
+ return getDOMObjectWrapper<JSSQLResultSetRowList>(exec, globalObject, object);
}
SQLResultSetRowList* toSQLResultSetRowList(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSQLResultSetRowList.h b/src/3rdparty/webkit/WebCore/generated/JSSQLResultSetRowList.h
index df28567..22fb844 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSQLResultSetRowList.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSQLResultSetRowList.h
@@ -23,6 +23,7 @@
#if ENABLE(DATABASE)
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -31,10 +32,10 @@ namespace WebCore {
class SQLResultSetRowList;
-class JSSQLResultSetRowList : public DOMObject {
- typedef DOMObject Base;
+class JSSQLResultSetRowList : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSSQLResultSetRowList(PassRefPtr<JSC::Structure>, PassRefPtr<SQLResultSetRowList>);
+ JSSQLResultSetRowList(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SQLResultSetRowList>);
virtual ~JSSQLResultSetRowList();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -55,7 +56,7 @@ private:
RefPtr<SQLResultSetRowList> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, SQLResultSetRowList*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, SQLResultSetRowList*);
SQLResultSetRowList* toSQLResultSetRowList(JSC::JSValue);
class JSSQLResultSetRowListPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSQLTransaction.cpp b/src/3rdparty/webkit/WebCore/generated/JSSQLTransaction.cpp
index 1f086ee..f8c6d67 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSQLTransaction.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSQLTransaction.cpp
@@ -42,7 +42,7 @@ static const HashTableValue JSSQLTransactionPrototypeTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSQLTransactionPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSQLTransactionPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSQLTransactionPrototypeTableValues, 0 };
#else
@@ -63,8 +63,8 @@ bool JSSQLTransactionPrototype::getOwnPropertySlot(ExecState* exec, const Identi
const ClassInfo JSSQLTransaction::s_info = { "SQLTransaction", 0, 0, 0 };
-JSSQLTransaction::JSSQLTransaction(PassRefPtr<Structure> structure, PassRefPtr<SQLTransaction> impl)
- : DOMObject(structure)
+JSSQLTransaction::JSSQLTransaction(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SQLTransaction> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -88,9 +88,9 @@ JSValue JSC_HOST_CALL jsSQLTransactionPrototypeFunctionExecuteSql(ExecState* exe
return castedThisObj->executeSql(exec, args);
}
-JSC::JSValue toJS(JSC::ExecState* exec, SQLTransaction* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, SQLTransaction* object)
{
- return getDOMObjectWrapper<JSSQLTransaction>(exec, object);
+ return getDOMObjectWrapper<JSSQLTransaction>(exec, globalObject, object);
}
SQLTransaction* toSQLTransaction(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSQLTransaction.h b/src/3rdparty/webkit/WebCore/generated/JSSQLTransaction.h
index 94c10a5..bb72108 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSQLTransaction.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSQLTransaction.h
@@ -23,6 +23,7 @@
#if ENABLE(DATABASE)
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -31,10 +32,10 @@ namespace WebCore {
class SQLTransaction;
-class JSSQLTransaction : public DOMObject {
- typedef DOMObject Base;
+class JSSQLTransaction : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSSQLTransaction(PassRefPtr<JSC::Structure>, PassRefPtr<SQLTransaction>);
+ JSSQLTransaction(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SQLTransaction>);
virtual ~JSSQLTransaction();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
@@ -49,7 +50,7 @@ private:
RefPtr<SQLTransaction> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, SQLTransaction*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, SQLTransaction*);
SQLTransaction* toSQLTransaction(JSC::JSValue);
class JSSQLTransactionPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGAElement.cpp
index 3e6d235..dd66b1f 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGAElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAElement.cpp
@@ -70,7 +70,7 @@ static const HashTableValue JSSVGAElementTableValues[14] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGAElementTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGAElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 127, JSSVGAElementTableValues, 0 };
#else
@@ -90,7 +90,7 @@ static const HashTableValue JSSVGAElementPrototypeTableValues[7] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGAElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGAElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 2047, JSSVGAElementPrototypeTableValues, 0 };
#else
@@ -111,8 +111,8 @@ bool JSSVGAElementPrototype::getOwnPropertySlot(ExecState* exec, const Identifie
const ClassInfo JSSVGAElement::s_info = { "SVGAElement", &JSSVGElement::s_info, &JSSVGAElementTable, 0 };
-JSSVGAElement::JSSVGAElement(PassRefPtr<Structure> structure, PassRefPtr<SVGAElement> impl)
- : JSSVGElement(structure, impl)
+JSSVGAElement::JSSVGAElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGAElement> impl)
+ : JSSVGElement(structure, globalObject, impl)
{
}
@@ -128,98 +128,111 @@ bool JSSVGAElement::getOwnPropertySlot(ExecState* exec, const Identifier& proper
JSValue jsSVGAElementTarget(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGAElement* castedThis = static_cast<JSSVGAElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGAElement* imp = static_cast<SVGAElement*>(static_cast<JSSVGAElement*>(asObject(slot.slotBase()))->impl());
+ SVGAElement* imp = static_cast<SVGAElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->targetAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGAElementHref(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGAElement* castedThis = static_cast<JSSVGAElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGAElement* imp = static_cast<SVGAElement*>(static_cast<JSSVGAElement*>(asObject(slot.slotBase()))->impl());
+ SVGAElement* imp = static_cast<SVGAElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->hrefAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGAElementRequiredFeatures(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGAElement* castedThis = static_cast<JSSVGAElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGAElement* imp = static_cast<SVGAElement*>(static_cast<JSSVGAElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->requiredFeatures()), imp);
+ SVGAElement* imp = static_cast<SVGAElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->requiredFeatures()), imp);
}
JSValue jsSVGAElementRequiredExtensions(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGAElement* castedThis = static_cast<JSSVGAElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGAElement* imp = static_cast<SVGAElement*>(static_cast<JSSVGAElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->requiredExtensions()), imp);
+ SVGAElement* imp = static_cast<SVGAElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->requiredExtensions()), imp);
}
JSValue jsSVGAElementSystemLanguage(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGAElement* castedThis = static_cast<JSSVGAElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGAElement* imp = static_cast<SVGAElement*>(static_cast<JSSVGAElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->systemLanguage()), imp);
+ SVGAElement* imp = static_cast<SVGAElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->systemLanguage()), imp);
}
JSValue jsSVGAElementXmllang(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGAElement* castedThis = static_cast<JSSVGAElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGAElement* imp = static_cast<SVGAElement*>(static_cast<JSSVGAElement*>(asObject(slot.slotBase()))->impl());
+ SVGAElement* imp = static_cast<SVGAElement*>(castedThis->impl());
return jsString(exec, imp->xmllang());
}
JSValue jsSVGAElementXmlspace(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGAElement* castedThis = static_cast<JSSVGAElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGAElement* imp = static_cast<SVGAElement*>(static_cast<JSSVGAElement*>(asObject(slot.slotBase()))->impl());
+ SVGAElement* imp = static_cast<SVGAElement*>(castedThis->impl());
return jsString(exec, imp->xmlspace());
}
JSValue jsSVGAElementExternalResourcesRequired(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGAElement* castedThis = static_cast<JSSVGAElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGAElement* imp = static_cast<SVGAElement*>(static_cast<JSSVGAElement*>(asObject(slot.slotBase()))->impl());
+ SVGAElement* imp = static_cast<SVGAElement*>(castedThis->impl());
RefPtr<SVGAnimatedBoolean> obj = imp->externalResourcesRequiredAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGAElementClassName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGAElement* castedThis = static_cast<JSSVGAElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGAElement* imp = static_cast<SVGAElement*>(static_cast<JSSVGAElement*>(asObject(slot.slotBase()))->impl());
+ SVGAElement* imp = static_cast<SVGAElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->classNameAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGAElementStyle(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGAElement* castedThis = static_cast<JSSVGAElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGAElement* imp = static_cast<SVGAElement*>(static_cast<JSSVGAElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->style()));
+ SVGAElement* imp = static_cast<SVGAElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->style()));
}
JSValue jsSVGAElementTransform(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGAElement* castedThis = static_cast<JSSVGAElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGAElement* imp = static_cast<SVGAElement*>(static_cast<JSSVGAElement*>(asObject(slot.slotBase()))->impl());
+ SVGAElement* imp = static_cast<SVGAElement*>(castedThis->impl());
RefPtr<SVGAnimatedTransformList> obj = imp->transformAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGAElementNearestViewportElement(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGAElement* castedThis = static_cast<JSSVGAElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGAElement* imp = static_cast<SVGAElement*>(static_cast<JSSVGAElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->nearestViewportElement()));
+ SVGAElement* imp = static_cast<SVGAElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->nearestViewportElement()));
}
JSValue jsSVGAElementFarthestViewportElement(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGAElement* castedThis = static_cast<JSSVGAElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGAElement* imp = static_cast<SVGAElement*>(static_cast<JSSVGAElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->farthestViewportElement()));
+ SVGAElement* imp = static_cast<SVGAElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->farthestViewportElement()));
}
void JSSVGAElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
@@ -263,7 +276,7 @@ JSValue JSC_HOST_CALL jsSVGAElementPrototypeFunctionGetPresentationAttribute(Exe
const UString& name = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getPresentationAttribute(name)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getPresentationAttribute(name)));
return result;
}
@@ -276,7 +289,7 @@ JSValue JSC_HOST_CALL jsSVGAElementPrototypeFunctionGetBBox(ExecState* exec, JSO
SVGAElement* imp = static_cast<SVGAElement*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<FloatRect>::create(imp->getBBox()).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<FloatRect>::create(imp->getBBox()).get(), imp);
return result;
}
@@ -289,7 +302,7 @@ JSValue JSC_HOST_CALL jsSVGAElementPrototypeFunctionGetCTM(ExecState* exec, JSOb
SVGAElement* imp = static_cast<SVGAElement*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getCTM()).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getCTM()).get(), imp);
return result;
}
@@ -302,7 +315,7 @@ JSValue JSC_HOST_CALL jsSVGAElementPrototypeFunctionGetScreenCTM(ExecState* exec
SVGAElement* imp = static_cast<SVGAElement*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getScreenCTM()).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getScreenCTM()).get(), imp);
return result;
}
@@ -317,7 +330,7 @@ JSValue JSC_HOST_CALL jsSVGAElementPrototypeFunctionGetTransformToElement(ExecSt
SVGElement* element = toSVGElement(args.at(0));
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getTransformToElement(element, ec)).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getTransformToElement(element, ec)).get(), imp);
setDOMException(exec, ec);
return result;
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGAElement.h
index 78406f6..09d21e3 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGAElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAElement.h
@@ -33,7 +33,7 @@ class SVGAElement;
class JSSVGAElement : public JSSVGElement {
typedef JSSVGElement Base;
public:
- JSSVGAElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGAElement>);
+ JSSVGAElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGAElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAltGlyphElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGAltGlyphElement.cpp
index 89543b1..8f8a5fa 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGAltGlyphElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAltGlyphElement.cpp
@@ -46,7 +46,7 @@ static const HashTableValue JSSVGAltGlyphElementTableValues[4] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGAltGlyphElementTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGAltGlyphElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 3, JSSVGAltGlyphElementTableValues, 0 };
#else
@@ -60,7 +60,7 @@ static const HashTableValue JSSVGAltGlyphElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGAltGlyphElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGAltGlyphElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGAltGlyphElementPrototypeTableValues, 0 };
#else
@@ -76,8 +76,8 @@ JSObject* JSSVGAltGlyphElementPrototype::self(ExecState* exec, JSGlobalObject* g
const ClassInfo JSSVGAltGlyphElement::s_info = { "SVGAltGlyphElement", &JSSVGTextPositioningElement::s_info, &JSSVGAltGlyphElementTable, 0 };
-JSSVGAltGlyphElement::JSSVGAltGlyphElement(PassRefPtr<Structure> structure, PassRefPtr<SVGAltGlyphElement> impl)
- : JSSVGTextPositioningElement(structure, impl)
+JSSVGAltGlyphElement::JSSVGAltGlyphElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGAltGlyphElement> impl)
+ : JSSVGTextPositioningElement(structure, globalObject, impl)
{
}
@@ -93,24 +93,27 @@ bool JSSVGAltGlyphElement::getOwnPropertySlot(ExecState* exec, const Identifier&
JSValue jsSVGAltGlyphElementGlyphRef(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGAltGlyphElement* castedThis = static_cast<JSSVGAltGlyphElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGAltGlyphElement* imp = static_cast<SVGAltGlyphElement*>(static_cast<JSSVGAltGlyphElement*>(asObject(slot.slotBase()))->impl());
+ SVGAltGlyphElement* imp = static_cast<SVGAltGlyphElement*>(castedThis->impl());
return jsString(exec, imp->glyphRef());
}
JSValue jsSVGAltGlyphElementFormat(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGAltGlyphElement* castedThis = static_cast<JSSVGAltGlyphElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGAltGlyphElement* imp = static_cast<SVGAltGlyphElement*>(static_cast<JSSVGAltGlyphElement*>(asObject(slot.slotBase()))->impl());
+ SVGAltGlyphElement* imp = static_cast<SVGAltGlyphElement*>(castedThis->impl());
return jsString(exec, imp->format());
}
JSValue jsSVGAltGlyphElementHref(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGAltGlyphElement* castedThis = static_cast<JSSVGAltGlyphElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGAltGlyphElement* imp = static_cast<SVGAltGlyphElement*>(static_cast<JSSVGAltGlyphElement*>(asObject(slot.slotBase()))->impl());
+ SVGAltGlyphElement* imp = static_cast<SVGAltGlyphElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->hrefAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
void JSSVGAltGlyphElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAltGlyphElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGAltGlyphElement.h
index f92bdcd..5df51fe 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGAltGlyphElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAltGlyphElement.h
@@ -33,7 +33,7 @@ class SVGAltGlyphElement;
class JSSVGAltGlyphElement : public JSSVGTextPositioningElement {
typedef JSSVGTextPositioningElement Base;
public:
- JSSVGAltGlyphElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGAltGlyphElement>);
+ JSSVGAltGlyphElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGAltGlyphElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAngle.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGAngle.cpp
index 39c7e73..be80003 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGAngle.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAngle.cpp
@@ -49,7 +49,7 @@ static const HashTableValue JSSVGAngleTableValues[6] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGAngleTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGAngleTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 255, JSSVGAngleTableValues, 0 };
#else
@@ -68,19 +68,19 @@ static const HashTableValue JSSVGAngleConstructorTableValues[6] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGAngleConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGAngleConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 255, JSSVGAngleConstructorTableValues, 0 };
#else
{ 18, 15, JSSVGAngleConstructorTableValues, 0 };
#endif
-class JSSVGAngleConstructor : public DOMObject {
+class JSSVGAngleConstructor : public DOMConstructorObject {
public:
- JSSVGAngleConstructor(ExecState* exec)
- : DOMObject(JSSVGAngleConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSSVGAngleConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSSVGAngleConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSSVGAnglePrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSSVGAnglePrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -113,7 +113,7 @@ static const HashTableValue JSSVGAnglePrototypeTableValues[8] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGAnglePrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGAnglePrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 255, JSSVGAnglePrototypeTableValues, 0 };
#else
@@ -134,9 +134,8 @@ bool JSSVGAnglePrototype::getOwnPropertySlot(ExecState* exec, const Identifier&
const ClassInfo JSSVGAngle::s_info = { "SVGAngle", 0, &JSSVGAngleTable, 0 };
-JSSVGAngle::JSSVGAngle(PassRefPtr<Structure> structure, PassRefPtr<SVGAngle> impl, SVGElement* context)
- : DOMObject(structure)
- , m_context(context)
+JSSVGAngle::JSSVGAngle(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGAngle> impl, SVGElement* context)
+ : DOMObjectWithSVGContext(structure, globalObject, context)
, m_impl(impl)
{
}
@@ -158,35 +157,40 @@ bool JSSVGAngle::getOwnPropertySlot(ExecState* exec, const Identifier& propertyN
JSValue jsSVGAngleUnitType(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGAngle* castedThis = static_cast<JSSVGAngle*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGAngle* imp = static_cast<SVGAngle*>(static_cast<JSSVGAngle*>(asObject(slot.slotBase()))->impl());
+ SVGAngle* imp = static_cast<SVGAngle*>(castedThis->impl());
return jsNumber(exec, imp->unitType());
}
JSValue jsSVGAngleValue(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGAngle* castedThis = static_cast<JSSVGAngle*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGAngle* imp = static_cast<SVGAngle*>(static_cast<JSSVGAngle*>(asObject(slot.slotBase()))->impl());
+ SVGAngle* imp = static_cast<SVGAngle*>(castedThis->impl());
return jsNumber(exec, imp->value());
}
JSValue jsSVGAngleValueInSpecifiedUnits(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGAngle* castedThis = static_cast<JSSVGAngle*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGAngle* imp = static_cast<SVGAngle*>(static_cast<JSSVGAngle*>(asObject(slot.slotBase()))->impl());
+ SVGAngle* imp = static_cast<SVGAngle*>(castedThis->impl());
return jsNumber(exec, imp->valueInSpecifiedUnits());
}
JSValue jsSVGAngleValueAsString(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGAngle* castedThis = static_cast<JSSVGAngle*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGAngle* imp = static_cast<SVGAngle*>(static_cast<JSSVGAngle*>(asObject(slot.slotBase()))->impl());
+ SVGAngle* imp = static_cast<SVGAngle*>(castedThis->impl());
return jsString(exec, imp->valueAsString());
}
JSValue jsSVGAngleConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSSVGAngle*>(asObject(slot.slotBase()))->getConstructor(exec);
+ UNUSED_PARAM(slot);
+ return JSSVGAngle::getConstructor(exec, deprecatedGlobalObjectForPrototype(exec));
}
void JSSVGAngle::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -217,9 +221,9 @@ void setJSSVGAngleValueAsString(ExecState* exec, JSObject* thisObject, JSValue v
static_cast<JSSVGAngle*>(thisObject)->context()->svgAttributeChanged(static_cast<JSSVGAngle*>(thisObject)->impl()->associatedAttributeName());
}
-JSValue JSSVGAngle::getConstructor(ExecState* exec)
+JSValue JSSVGAngle::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSSVGAngleConstructor>(exec);
+ return getDOMConstructor<JSSVGAngleConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsSVGAnglePrototypeFunctionNewValueSpecifiedUnits(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -276,9 +280,9 @@ JSValue jsSVGAngleSVG_ANGLETYPE_GRAD(ExecState* exec, const Identifier&, const P
return jsNumber(exec, static_cast<int>(4));
}
-JSC::JSValue toJS(JSC::ExecState* exec, SVGAngle* object, SVGElement* context)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, SVGAngle* object, SVGElement* context)
{
- return getDOMObjectWrapper<JSSVGAngle>(exec, object, context);
+ return getDOMObjectWrapper<JSSVGAngle>(exec, globalObject, object, context);
}
SVGAngle* toSVGAngle(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAngle.h b/src/3rdparty/webkit/WebCore/generated/JSSVGAngle.h
index 5312581..92cf6b5 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGAngle.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAngle.h
@@ -23,6 +23,7 @@
#if ENABLE(SVG)
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include "SVGElement.h"
#include <runtime/JSGlobalObject.h>
@@ -32,10 +33,10 @@ namespace WebCore {
class SVGAngle;
-class JSSVGAngle : public DOMObject {
- typedef DOMObject Base;
+class JSSVGAngle : public DOMObjectWithSVGContext {
+ typedef DOMObjectWithSVGContext Base;
public:
- JSSVGAngle(PassRefPtr<JSC::Structure>, PassRefPtr<SVGAngle>, SVGElement* context);
+ JSSVGAngle(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGAngle>, SVGElement* context);
virtual ~JSSVGAngle();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -48,16 +49,14 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
SVGAngle* impl() const { return m_impl.get(); }
- SVGElement* context() const { return m_context.get(); }
private:
- RefPtr<SVGElement> m_context;
- RefPtr<SVGAngle > m_impl;
+ RefPtr<SVGAngle> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, SVGAngle*, SVGElement* context);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, SVGAngle*, SVGElement* context);
SVGAngle* toSVGAngle(JSC::JSValue);
class JSSVGAnglePrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimateColorElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimateColorElement.cpp
index cbb2269..e6aa047 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimateColorElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimateColorElement.cpp
@@ -40,7 +40,7 @@ static const HashTableValue JSSVGAnimateColorElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGAnimateColorElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGAnimateColorElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGAnimateColorElementPrototypeTableValues, 0 };
#else
@@ -56,8 +56,8 @@ JSObject* JSSVGAnimateColorElementPrototype::self(ExecState* exec, JSGlobalObjec
const ClassInfo JSSVGAnimateColorElement::s_info = { "SVGAnimateColorElement", &JSSVGAnimationElement::s_info, 0, 0 };
-JSSVGAnimateColorElement::JSSVGAnimateColorElement(PassRefPtr<Structure> structure, PassRefPtr<SVGAnimateColorElement> impl)
- : JSSVGAnimationElement(structure, impl)
+JSSVGAnimateColorElement::JSSVGAnimateColorElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGAnimateColorElement> impl)
+ : JSSVGAnimationElement(structure, globalObject, impl)
{
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimateColorElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimateColorElement.h
index a1519a4..2a44d41 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimateColorElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimateColorElement.h
@@ -33,7 +33,7 @@ class SVGAnimateColorElement;
class JSSVGAnimateColorElement : public JSSVGAnimationElement {
typedef JSSVGAnimationElement Base;
public:
- JSSVGAnimateColorElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGAnimateColorElement>);
+ JSSVGAnimateColorElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGAnimateColorElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
static const JSC::ClassInfo s_info;
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimateElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimateElement.cpp
index 77d0331..a49dea6 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimateElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimateElement.cpp
@@ -40,7 +40,7 @@ static const HashTableValue JSSVGAnimateElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGAnimateElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGAnimateElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGAnimateElementPrototypeTableValues, 0 };
#else
@@ -56,8 +56,8 @@ JSObject* JSSVGAnimateElementPrototype::self(ExecState* exec, JSGlobalObject* gl
const ClassInfo JSSVGAnimateElement::s_info = { "SVGAnimateElement", &JSSVGAnimationElement::s_info, 0, 0 };
-JSSVGAnimateElement::JSSVGAnimateElement(PassRefPtr<Structure> structure, PassRefPtr<SVGAnimateElement> impl)
- : JSSVGAnimationElement(structure, impl)
+JSSVGAnimateElement::JSSVGAnimateElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGAnimateElement> impl)
+ : JSSVGAnimationElement(structure, globalObject, impl)
{
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimateElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimateElement.h
index 77415d9..90937ca 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimateElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimateElement.h
@@ -33,7 +33,7 @@ class SVGAnimateElement;
class JSSVGAnimateElement : public JSSVGAnimationElement {
typedef JSSVGAnimationElement Base;
public:
- JSSVGAnimateElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGAnimateElement>);
+ JSSVGAnimateElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGAnimateElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
static const JSC::ClassInfo s_info;
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimateTransformElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimateTransformElement.cpp
index 511108f..d5c70c0 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimateTransformElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimateTransformElement.cpp
@@ -40,7 +40,7 @@ static const HashTableValue JSSVGAnimateTransformElementPrototypeTableValues[1]
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGAnimateTransformElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGAnimateTransformElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGAnimateTransformElementPrototypeTableValues, 0 };
#else
@@ -56,8 +56,8 @@ JSObject* JSSVGAnimateTransformElementPrototype::self(ExecState* exec, JSGlobalO
const ClassInfo JSSVGAnimateTransformElement::s_info = { "SVGAnimateTransformElement", &JSSVGAnimationElement::s_info, 0, 0 };
-JSSVGAnimateTransformElement::JSSVGAnimateTransformElement(PassRefPtr<Structure> structure, PassRefPtr<SVGAnimateTransformElement> impl)
- : JSSVGAnimationElement(structure, impl)
+JSSVGAnimateTransformElement::JSSVGAnimateTransformElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGAnimateTransformElement> impl)
+ : JSSVGAnimationElement(structure, globalObject, impl)
{
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimateTransformElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimateTransformElement.h
index ed8d9bb..fb8c1c3 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimateTransformElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimateTransformElement.h
@@ -33,7 +33,7 @@ class SVGAnimateTransformElement;
class JSSVGAnimateTransformElement : public JSSVGAnimationElement {
typedef JSSVGAnimationElement Base;
public:
- JSSVGAnimateTransformElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGAnimateTransformElement>);
+ JSSVGAnimateTransformElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGAnimateTransformElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
static const JSC::ClassInfo s_info;
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedAngle.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedAngle.cpp
index 92c485a..e123d2f 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedAngle.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedAngle.cpp
@@ -43,7 +43,7 @@ static const HashTableValue JSSVGAnimatedAngleTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGAnimatedAngleTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGAnimatedAngleTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 1, JSSVGAnimatedAngleTableValues, 0 };
#else
@@ -57,7 +57,7 @@ static const HashTableValue JSSVGAnimatedAnglePrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGAnimatedAnglePrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGAnimatedAnglePrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGAnimatedAnglePrototypeTableValues, 0 };
#else
@@ -73,9 +73,8 @@ JSObject* JSSVGAnimatedAnglePrototype::self(ExecState* exec, JSGlobalObject* glo
const ClassInfo JSSVGAnimatedAngle::s_info = { "SVGAnimatedAngle", 0, &JSSVGAnimatedAngleTable, 0 };
-JSSVGAnimatedAngle::JSSVGAnimatedAngle(PassRefPtr<Structure> structure, PassRefPtr<SVGAnimatedAngle> impl, SVGElement* context)
- : DOMObject(structure)
- , m_context(context)
+JSSVGAnimatedAngle::JSSVGAnimatedAngle(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGAnimatedAngle> impl, SVGElement* context)
+ : DOMObjectWithSVGContext(structure, globalObject, context)
, m_impl(impl)
{
}
@@ -97,21 +96,23 @@ bool JSSVGAnimatedAngle::getOwnPropertySlot(ExecState* exec, const Identifier& p
JSValue jsSVGAnimatedAngleBaseVal(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGAnimatedAngle* castedThis = static_cast<JSSVGAnimatedAngle*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGAnimatedAngle* imp = static_cast<SVGAnimatedAngle*>(static_cast<JSSVGAnimatedAngle*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->baseVal()), static_cast<JSSVGAnimatedAngle*>(asObject(slot.slotBase()))->context());
+ SVGAnimatedAngle* imp = static_cast<SVGAnimatedAngle*>(castedThis->impl());
+ return toJS(exec, deprecatedGlobalObjectForPrototype(exec), WTF::getPtr(imp->baseVal()), castedThis->context());
}
JSValue jsSVGAnimatedAngleAnimVal(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGAnimatedAngle* castedThis = static_cast<JSSVGAnimatedAngle*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGAnimatedAngle* imp = static_cast<SVGAnimatedAngle*>(static_cast<JSSVGAnimatedAngle*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->animVal()), static_cast<JSSVGAnimatedAngle*>(asObject(slot.slotBase()))->context());
+ SVGAnimatedAngle* imp = static_cast<SVGAnimatedAngle*>(castedThis->impl());
+ return toJS(exec, deprecatedGlobalObjectForPrototype(exec), WTF::getPtr(imp->animVal()), castedThis->context());
}
-JSC::JSValue toJS(JSC::ExecState* exec, SVGAnimatedAngle* object, SVGElement* context)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, SVGAnimatedAngle* object, SVGElement* context)
{
- return getDOMObjectWrapper<JSSVGAnimatedAngle>(exec, object, context);
+ return getDOMObjectWrapper<JSSVGAnimatedAngle>(exec, globalObject, object, context);
}
SVGAnimatedAngle* toSVGAnimatedAngle(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedAngle.h b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedAngle.h
index 9500054..fb2a73f 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedAngle.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedAngle.h
@@ -23,6 +23,7 @@
#if ENABLE(SVG)
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include "SVGElement.h"
#include <runtime/JSGlobalObject.h>
@@ -30,10 +31,10 @@
namespace WebCore {
-class JSSVGAnimatedAngle : public DOMObject {
- typedef DOMObject Base;
+class JSSVGAnimatedAngle : public DOMObjectWithSVGContext {
+ typedef DOMObjectWithSVGContext Base;
public:
- JSSVGAnimatedAngle(PassRefPtr<JSC::Structure>, PassRefPtr<SVGAnimatedAngle>, SVGElement* context);
+ JSSVGAnimatedAngle(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGAnimatedAngle>, SVGElement* context);
virtual ~JSSVGAnimatedAngle();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -46,14 +47,12 @@ public:
}
SVGAnimatedAngle* impl() const { return m_impl.get(); }
- SVGElement* context() const { return m_context.get(); }
private:
- RefPtr<SVGElement> m_context;
- RefPtr<SVGAnimatedAngle > m_impl;
+ RefPtr<SVGAnimatedAngle> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, SVGAnimatedAngle*, SVGElement* context);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, SVGAnimatedAngle*, SVGElement* context);
SVGAnimatedAngle* toSVGAnimatedAngle(JSC::JSValue);
class JSSVGAnimatedAnglePrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedBoolean.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedBoolean.cpp
index 2821aaa..983dd2a 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedBoolean.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedBoolean.cpp
@@ -41,7 +41,7 @@ static const HashTableValue JSSVGAnimatedBooleanTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGAnimatedBooleanTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGAnimatedBooleanTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 1, JSSVGAnimatedBooleanTableValues, 0 };
#else
@@ -55,7 +55,7 @@ static const HashTableValue JSSVGAnimatedBooleanPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGAnimatedBooleanPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGAnimatedBooleanPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGAnimatedBooleanPrototypeTableValues, 0 };
#else
@@ -71,9 +71,8 @@ JSObject* JSSVGAnimatedBooleanPrototype::self(ExecState* exec, JSGlobalObject* g
const ClassInfo JSSVGAnimatedBoolean::s_info = { "SVGAnimatedBoolean", 0, &JSSVGAnimatedBooleanTable, 0 };
-JSSVGAnimatedBoolean::JSSVGAnimatedBoolean(PassRefPtr<Structure> structure, PassRefPtr<SVGAnimatedBoolean> impl, SVGElement* context)
- : DOMObject(structure)
- , m_context(context)
+JSSVGAnimatedBoolean::JSSVGAnimatedBoolean(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGAnimatedBoolean> impl, SVGElement* context)
+ : DOMObjectWithSVGContext(structure, globalObject, context)
, m_impl(impl)
{
}
@@ -95,15 +94,17 @@ bool JSSVGAnimatedBoolean::getOwnPropertySlot(ExecState* exec, const Identifier&
JSValue jsSVGAnimatedBooleanBaseVal(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGAnimatedBoolean* castedThis = static_cast<JSSVGAnimatedBoolean*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGAnimatedBoolean* imp = static_cast<SVGAnimatedBoolean*>(static_cast<JSSVGAnimatedBoolean*>(asObject(slot.slotBase()))->impl());
+ SVGAnimatedBoolean* imp = static_cast<SVGAnimatedBoolean*>(castedThis->impl());
return jsBoolean(imp->baseVal());
}
JSValue jsSVGAnimatedBooleanAnimVal(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGAnimatedBoolean* castedThis = static_cast<JSSVGAnimatedBoolean*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGAnimatedBoolean* imp = static_cast<SVGAnimatedBoolean*>(static_cast<JSSVGAnimatedBoolean*>(asObject(slot.slotBase()))->impl());
+ SVGAnimatedBoolean* imp = static_cast<SVGAnimatedBoolean*>(castedThis->impl());
return jsBoolean(imp->animVal());
}
@@ -120,9 +121,9 @@ void setJSSVGAnimatedBooleanBaseVal(ExecState* exec, JSObject* thisObject, JSVal
static_cast<JSSVGAnimatedBoolean*>(thisObject)->context()->svgAttributeChanged(static_cast<JSSVGAnimatedBoolean*>(thisObject)->impl()->associatedAttributeName());
}
-JSC::JSValue toJS(JSC::ExecState* exec, SVGAnimatedBoolean* object, SVGElement* context)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, SVGAnimatedBoolean* object, SVGElement* context)
{
- return getDOMObjectWrapper<JSSVGAnimatedBoolean>(exec, object, context);
+ return getDOMObjectWrapper<JSSVGAnimatedBoolean>(exec, globalObject, object, context);
}
SVGAnimatedBoolean* toSVGAnimatedBoolean(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedBoolean.h b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedBoolean.h
index 4a4d6f6..599e2a0 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedBoolean.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedBoolean.h
@@ -23,6 +23,7 @@
#if ENABLE(SVG)
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include "SVGElement.h"
#include <runtime/JSGlobalObject.h>
@@ -30,10 +31,10 @@
namespace WebCore {
-class JSSVGAnimatedBoolean : public DOMObject {
- typedef DOMObject Base;
+class JSSVGAnimatedBoolean : public DOMObjectWithSVGContext {
+ typedef DOMObjectWithSVGContext Base;
public:
- JSSVGAnimatedBoolean(PassRefPtr<JSC::Structure>, PassRefPtr<SVGAnimatedBoolean>, SVGElement* context);
+ JSSVGAnimatedBoolean(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGAnimatedBoolean>, SVGElement* context);
virtual ~JSSVGAnimatedBoolean();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -47,14 +48,12 @@ public:
}
SVGAnimatedBoolean* impl() const { return m_impl.get(); }
- SVGElement* context() const { return m_context.get(); }
private:
- RefPtr<SVGElement> m_context;
- RefPtr<SVGAnimatedBoolean > m_impl;
+ RefPtr<SVGAnimatedBoolean> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, SVGAnimatedBoolean*, SVGElement* context);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, SVGAnimatedBoolean*, SVGElement* context);
SVGAnimatedBoolean* toSVGAnimatedBoolean(JSC::JSValue);
class JSSVGAnimatedBooleanPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedEnumeration.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedEnumeration.cpp
index 3af330f..2cf3ad9 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedEnumeration.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedEnumeration.cpp
@@ -42,7 +42,7 @@ static const HashTableValue JSSVGAnimatedEnumerationTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGAnimatedEnumerationTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGAnimatedEnumerationTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 1, JSSVGAnimatedEnumerationTableValues, 0 };
#else
@@ -56,7 +56,7 @@ static const HashTableValue JSSVGAnimatedEnumerationPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGAnimatedEnumerationPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGAnimatedEnumerationPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGAnimatedEnumerationPrototypeTableValues, 0 };
#else
@@ -72,9 +72,8 @@ JSObject* JSSVGAnimatedEnumerationPrototype::self(ExecState* exec, JSGlobalObjec
const ClassInfo JSSVGAnimatedEnumeration::s_info = { "SVGAnimatedEnumeration", 0, &JSSVGAnimatedEnumerationTable, 0 };
-JSSVGAnimatedEnumeration::JSSVGAnimatedEnumeration(PassRefPtr<Structure> structure, PassRefPtr<SVGAnimatedEnumeration> impl, SVGElement* context)
- : DOMObject(structure)
- , m_context(context)
+JSSVGAnimatedEnumeration::JSSVGAnimatedEnumeration(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGAnimatedEnumeration> impl, SVGElement* context)
+ : DOMObjectWithSVGContext(structure, globalObject, context)
, m_impl(impl)
{
}
@@ -96,15 +95,17 @@ bool JSSVGAnimatedEnumeration::getOwnPropertySlot(ExecState* exec, const Identif
JSValue jsSVGAnimatedEnumerationBaseVal(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGAnimatedEnumeration* castedThis = static_cast<JSSVGAnimatedEnumeration*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGAnimatedEnumeration* imp = static_cast<SVGAnimatedEnumeration*>(static_cast<JSSVGAnimatedEnumeration*>(asObject(slot.slotBase()))->impl());
+ SVGAnimatedEnumeration* imp = static_cast<SVGAnimatedEnumeration*>(castedThis->impl());
return jsNumber(exec, imp->baseVal());
}
JSValue jsSVGAnimatedEnumerationAnimVal(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGAnimatedEnumeration* castedThis = static_cast<JSSVGAnimatedEnumeration*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGAnimatedEnumeration* imp = static_cast<SVGAnimatedEnumeration*>(static_cast<JSSVGAnimatedEnumeration*>(asObject(slot.slotBase()))->impl());
+ SVGAnimatedEnumeration* imp = static_cast<SVGAnimatedEnumeration*>(castedThis->impl());
return jsNumber(exec, imp->animVal());
}
@@ -121,9 +122,9 @@ void setJSSVGAnimatedEnumerationBaseVal(ExecState* exec, JSObject* thisObject, J
static_cast<JSSVGAnimatedEnumeration*>(thisObject)->context()->svgAttributeChanged(static_cast<JSSVGAnimatedEnumeration*>(thisObject)->impl()->associatedAttributeName());
}
-JSC::JSValue toJS(JSC::ExecState* exec, SVGAnimatedEnumeration* object, SVGElement* context)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, SVGAnimatedEnumeration* object, SVGElement* context)
{
- return getDOMObjectWrapper<JSSVGAnimatedEnumeration>(exec, object, context);
+ return getDOMObjectWrapper<JSSVGAnimatedEnumeration>(exec, globalObject, object, context);
}
SVGAnimatedEnumeration* toSVGAnimatedEnumeration(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedEnumeration.h b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedEnumeration.h
index b021183..20403ab 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedEnumeration.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedEnumeration.h
@@ -23,6 +23,7 @@
#if ENABLE(SVG)
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include "SVGElement.h"
#include <runtime/JSGlobalObject.h>
@@ -30,10 +31,10 @@
namespace WebCore {
-class JSSVGAnimatedEnumeration : public DOMObject {
- typedef DOMObject Base;
+class JSSVGAnimatedEnumeration : public DOMObjectWithSVGContext {
+ typedef DOMObjectWithSVGContext Base;
public:
- JSSVGAnimatedEnumeration(PassRefPtr<JSC::Structure>, PassRefPtr<SVGAnimatedEnumeration>, SVGElement* context);
+ JSSVGAnimatedEnumeration(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGAnimatedEnumeration>, SVGElement* context);
virtual ~JSSVGAnimatedEnumeration();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -47,14 +48,12 @@ public:
}
SVGAnimatedEnumeration* impl() const { return m_impl.get(); }
- SVGElement* context() const { return m_context.get(); }
private:
- RefPtr<SVGElement> m_context;
- RefPtr<SVGAnimatedEnumeration > m_impl;
+ RefPtr<SVGAnimatedEnumeration> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, SVGAnimatedEnumeration*, SVGElement* context);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, SVGAnimatedEnumeration*, SVGElement* context);
SVGAnimatedEnumeration* toSVGAnimatedEnumeration(JSC::JSValue);
class JSSVGAnimatedEnumerationPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedInteger.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedInteger.cpp
index 11337a2..6602bcd 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedInteger.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedInteger.cpp
@@ -42,7 +42,7 @@ static const HashTableValue JSSVGAnimatedIntegerTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGAnimatedIntegerTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGAnimatedIntegerTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 1, JSSVGAnimatedIntegerTableValues, 0 };
#else
@@ -56,7 +56,7 @@ static const HashTableValue JSSVGAnimatedIntegerPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGAnimatedIntegerPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGAnimatedIntegerPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGAnimatedIntegerPrototypeTableValues, 0 };
#else
@@ -72,9 +72,8 @@ JSObject* JSSVGAnimatedIntegerPrototype::self(ExecState* exec, JSGlobalObject* g
const ClassInfo JSSVGAnimatedInteger::s_info = { "SVGAnimatedInteger", 0, &JSSVGAnimatedIntegerTable, 0 };
-JSSVGAnimatedInteger::JSSVGAnimatedInteger(PassRefPtr<Structure> structure, PassRefPtr<SVGAnimatedInteger> impl, SVGElement* context)
- : DOMObject(structure)
- , m_context(context)
+JSSVGAnimatedInteger::JSSVGAnimatedInteger(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGAnimatedInteger> impl, SVGElement* context)
+ : DOMObjectWithSVGContext(structure, globalObject, context)
, m_impl(impl)
{
}
@@ -96,15 +95,17 @@ bool JSSVGAnimatedInteger::getOwnPropertySlot(ExecState* exec, const Identifier&
JSValue jsSVGAnimatedIntegerBaseVal(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGAnimatedInteger* castedThis = static_cast<JSSVGAnimatedInteger*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGAnimatedInteger* imp = static_cast<SVGAnimatedInteger*>(static_cast<JSSVGAnimatedInteger*>(asObject(slot.slotBase()))->impl());
+ SVGAnimatedInteger* imp = static_cast<SVGAnimatedInteger*>(castedThis->impl());
return jsNumber(exec, imp->baseVal());
}
JSValue jsSVGAnimatedIntegerAnimVal(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGAnimatedInteger* castedThis = static_cast<JSSVGAnimatedInteger*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGAnimatedInteger* imp = static_cast<SVGAnimatedInteger*>(static_cast<JSSVGAnimatedInteger*>(asObject(slot.slotBase()))->impl());
+ SVGAnimatedInteger* imp = static_cast<SVGAnimatedInteger*>(castedThis->impl());
return jsNumber(exec, imp->animVal());
}
@@ -121,9 +122,9 @@ void setJSSVGAnimatedIntegerBaseVal(ExecState* exec, JSObject* thisObject, JSVal
static_cast<JSSVGAnimatedInteger*>(thisObject)->context()->svgAttributeChanged(static_cast<JSSVGAnimatedInteger*>(thisObject)->impl()->associatedAttributeName());
}
-JSC::JSValue toJS(JSC::ExecState* exec, SVGAnimatedInteger* object, SVGElement* context)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, SVGAnimatedInteger* object, SVGElement* context)
{
- return getDOMObjectWrapper<JSSVGAnimatedInteger>(exec, object, context);
+ return getDOMObjectWrapper<JSSVGAnimatedInteger>(exec, globalObject, object, context);
}
SVGAnimatedInteger* toSVGAnimatedInteger(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedInteger.h b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedInteger.h
index 34947f0..9045693 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedInteger.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedInteger.h
@@ -23,6 +23,7 @@
#if ENABLE(SVG)
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include "SVGElement.h"
#include <runtime/JSGlobalObject.h>
@@ -30,10 +31,10 @@
namespace WebCore {
-class JSSVGAnimatedInteger : public DOMObject {
- typedef DOMObject Base;
+class JSSVGAnimatedInteger : public DOMObjectWithSVGContext {
+ typedef DOMObjectWithSVGContext Base;
public:
- JSSVGAnimatedInteger(PassRefPtr<JSC::Structure>, PassRefPtr<SVGAnimatedInteger>, SVGElement* context);
+ JSSVGAnimatedInteger(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGAnimatedInteger>, SVGElement* context);
virtual ~JSSVGAnimatedInteger();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -47,14 +48,12 @@ public:
}
SVGAnimatedInteger* impl() const { return m_impl.get(); }
- SVGElement* context() const { return m_context.get(); }
private:
- RefPtr<SVGElement> m_context;
- RefPtr<SVGAnimatedInteger > m_impl;
+ RefPtr<SVGAnimatedInteger> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, SVGAnimatedInteger*, SVGElement* context);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, SVGAnimatedInteger*, SVGElement* context);
SVGAnimatedInteger* toSVGAnimatedInteger(JSC::JSValue);
class JSSVGAnimatedIntegerPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedLength.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedLength.cpp
index 2e1fc5b..bcc5a81 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedLength.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedLength.cpp
@@ -42,7 +42,7 @@ static const HashTableValue JSSVGAnimatedLengthTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGAnimatedLengthTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGAnimatedLengthTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 1, JSSVGAnimatedLengthTableValues, 0 };
#else
@@ -56,7 +56,7 @@ static const HashTableValue JSSVGAnimatedLengthPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGAnimatedLengthPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGAnimatedLengthPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGAnimatedLengthPrototypeTableValues, 0 };
#else
@@ -72,9 +72,8 @@ JSObject* JSSVGAnimatedLengthPrototype::self(ExecState* exec, JSGlobalObject* gl
const ClassInfo JSSVGAnimatedLength::s_info = { "SVGAnimatedLength", 0, &JSSVGAnimatedLengthTable, 0 };
-JSSVGAnimatedLength::JSSVGAnimatedLength(PassRefPtr<Structure> structure, PassRefPtr<SVGAnimatedLength> impl, SVGElement* context)
- : DOMObject(structure)
- , m_context(context)
+JSSVGAnimatedLength::JSSVGAnimatedLength(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGAnimatedLength> impl, SVGElement* context)
+ : DOMObjectWithSVGContext(structure, globalObject, context)
, m_impl(impl)
{
}
@@ -96,21 +95,23 @@ bool JSSVGAnimatedLength::getOwnPropertySlot(ExecState* exec, const Identifier&
JSValue jsSVGAnimatedLengthBaseVal(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGAnimatedLength* castedThis = static_cast<JSSVGAnimatedLength*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGAnimatedLength* imp = static_cast<SVGAnimatedLength*>(static_cast<JSSVGAnimatedLength*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, JSSVGDynamicPODTypeWrapperCache<SVGLength, SVGAnimatedLength>::lookupOrCreateWrapper(imp, &SVGAnimatedLength::baseVal, &SVGAnimatedLength::setBaseVal).get(), static_cast<JSSVGAnimatedLength*>(asObject(slot.slotBase()))->context());
+ SVGAnimatedLength* imp = static_cast<SVGAnimatedLength*>(castedThis->impl());
+ return toJS(exec, deprecatedGlobalObjectForPrototype(exec), JSSVGDynamicPODTypeWrapperCache<SVGLength, SVGAnimatedLength>::lookupOrCreateWrapper(imp, &SVGAnimatedLength::baseVal, &SVGAnimatedLength::setBaseVal).get(), castedThis->context());
}
JSValue jsSVGAnimatedLengthAnimVal(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGAnimatedLength* castedThis = static_cast<JSSVGAnimatedLength*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGAnimatedLength* imp = static_cast<SVGAnimatedLength*>(static_cast<JSSVGAnimatedLength*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, JSSVGDynamicPODTypeWrapperCache<SVGLength, SVGAnimatedLength>::lookupOrCreateWrapper(imp, &SVGAnimatedLength::animVal, &SVGAnimatedLength::setAnimVal).get(), static_cast<JSSVGAnimatedLength*>(asObject(slot.slotBase()))->context());
+ SVGAnimatedLength* imp = static_cast<SVGAnimatedLength*>(castedThis->impl());
+ return toJS(exec, deprecatedGlobalObjectForPrototype(exec), JSSVGDynamicPODTypeWrapperCache<SVGLength, SVGAnimatedLength>::lookupOrCreateWrapper(imp, &SVGAnimatedLength::animVal, &SVGAnimatedLength::setAnimVal).get(), castedThis->context());
}
-JSC::JSValue toJS(JSC::ExecState* exec, SVGAnimatedLength* object, SVGElement* context)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, SVGAnimatedLength* object, SVGElement* context)
{
- return getDOMObjectWrapper<JSSVGAnimatedLength>(exec, object, context);
+ return getDOMObjectWrapper<JSSVGAnimatedLength>(exec, globalObject, object, context);
}
SVGAnimatedLength* toSVGAnimatedLength(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedLength.h b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedLength.h
index 430d78b..7e3ba12 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedLength.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedLength.h
@@ -23,6 +23,7 @@
#if ENABLE(SVG)
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include "SVGElement.h"
#include <runtime/JSGlobalObject.h>
@@ -30,10 +31,10 @@
namespace WebCore {
-class JSSVGAnimatedLength : public DOMObject {
- typedef DOMObject Base;
+class JSSVGAnimatedLength : public DOMObjectWithSVGContext {
+ typedef DOMObjectWithSVGContext Base;
public:
- JSSVGAnimatedLength(PassRefPtr<JSC::Structure>, PassRefPtr<SVGAnimatedLength>, SVGElement* context);
+ JSSVGAnimatedLength(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGAnimatedLength>, SVGElement* context);
virtual ~JSSVGAnimatedLength();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -46,14 +47,12 @@ public:
}
SVGAnimatedLength* impl() const { return m_impl.get(); }
- SVGElement* context() const { return m_context.get(); }
private:
- RefPtr<SVGElement> m_context;
- RefPtr<SVGAnimatedLength > m_impl;
+ RefPtr<SVGAnimatedLength> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, SVGAnimatedLength*, SVGElement* context);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, SVGAnimatedLength*, SVGElement* context);
SVGAnimatedLength* toSVGAnimatedLength(JSC::JSValue);
class JSSVGAnimatedLengthPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedLengthList.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedLengthList.cpp
index 04fa5f2..6dc24ab 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedLengthList.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedLengthList.cpp
@@ -43,7 +43,7 @@ static const HashTableValue JSSVGAnimatedLengthListTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGAnimatedLengthListTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGAnimatedLengthListTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 1, JSSVGAnimatedLengthListTableValues, 0 };
#else
@@ -57,7 +57,7 @@ static const HashTableValue JSSVGAnimatedLengthListPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGAnimatedLengthListPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGAnimatedLengthListPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGAnimatedLengthListPrototypeTableValues, 0 };
#else
@@ -73,9 +73,8 @@ JSObject* JSSVGAnimatedLengthListPrototype::self(ExecState* exec, JSGlobalObject
const ClassInfo JSSVGAnimatedLengthList::s_info = { "SVGAnimatedLengthList", 0, &JSSVGAnimatedLengthListTable, 0 };
-JSSVGAnimatedLengthList::JSSVGAnimatedLengthList(PassRefPtr<Structure> structure, PassRefPtr<SVGAnimatedLengthList> impl, SVGElement* context)
- : DOMObject(structure)
- , m_context(context)
+JSSVGAnimatedLengthList::JSSVGAnimatedLengthList(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGAnimatedLengthList> impl, SVGElement* context)
+ : DOMObjectWithSVGContext(structure, globalObject, context)
, m_impl(impl)
{
}
@@ -97,21 +96,23 @@ bool JSSVGAnimatedLengthList::getOwnPropertySlot(ExecState* exec, const Identifi
JSValue jsSVGAnimatedLengthListBaseVal(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGAnimatedLengthList* castedThis = static_cast<JSSVGAnimatedLengthList*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGAnimatedLengthList* imp = static_cast<SVGAnimatedLengthList*>(static_cast<JSSVGAnimatedLengthList*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->baseVal()), static_cast<JSSVGAnimatedLengthList*>(asObject(slot.slotBase()))->context());
+ SVGAnimatedLengthList* imp = static_cast<SVGAnimatedLengthList*>(castedThis->impl());
+ return toJS(exec, deprecatedGlobalObjectForPrototype(exec), WTF::getPtr(imp->baseVal()), castedThis->context());
}
JSValue jsSVGAnimatedLengthListAnimVal(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGAnimatedLengthList* castedThis = static_cast<JSSVGAnimatedLengthList*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGAnimatedLengthList* imp = static_cast<SVGAnimatedLengthList*>(static_cast<JSSVGAnimatedLengthList*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->animVal()), static_cast<JSSVGAnimatedLengthList*>(asObject(slot.slotBase()))->context());
+ SVGAnimatedLengthList* imp = static_cast<SVGAnimatedLengthList*>(castedThis->impl());
+ return toJS(exec, deprecatedGlobalObjectForPrototype(exec), WTF::getPtr(imp->animVal()), castedThis->context());
}
-JSC::JSValue toJS(JSC::ExecState* exec, SVGAnimatedLengthList* object, SVGElement* context)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, SVGAnimatedLengthList* object, SVGElement* context)
{
- return getDOMObjectWrapper<JSSVGAnimatedLengthList>(exec, object, context);
+ return getDOMObjectWrapper<JSSVGAnimatedLengthList>(exec, globalObject, object, context);
}
SVGAnimatedLengthList* toSVGAnimatedLengthList(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedLengthList.h b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedLengthList.h
index bd19ac9..288ccfc 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedLengthList.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedLengthList.h
@@ -23,6 +23,7 @@
#if ENABLE(SVG)
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include "SVGElement.h"
#include <runtime/JSGlobalObject.h>
@@ -30,10 +31,10 @@
namespace WebCore {
-class JSSVGAnimatedLengthList : public DOMObject {
- typedef DOMObject Base;
+class JSSVGAnimatedLengthList : public DOMObjectWithSVGContext {
+ typedef DOMObjectWithSVGContext Base;
public:
- JSSVGAnimatedLengthList(PassRefPtr<JSC::Structure>, PassRefPtr<SVGAnimatedLengthList>, SVGElement* context);
+ JSSVGAnimatedLengthList(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGAnimatedLengthList>, SVGElement* context);
virtual ~JSSVGAnimatedLengthList();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -46,14 +47,12 @@ public:
}
SVGAnimatedLengthList* impl() const { return m_impl.get(); }
- SVGElement* context() const { return m_context.get(); }
private:
- RefPtr<SVGElement> m_context;
- RefPtr<SVGAnimatedLengthList > m_impl;
+ RefPtr<SVGAnimatedLengthList> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, SVGAnimatedLengthList*, SVGElement* context);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, SVGAnimatedLengthList*, SVGElement* context);
SVGAnimatedLengthList* toSVGAnimatedLengthList(JSC::JSValue);
class JSSVGAnimatedLengthListPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedNumber.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedNumber.cpp
index 0b1d5a3..9081e47 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedNumber.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedNumber.cpp
@@ -42,7 +42,7 @@ static const HashTableValue JSSVGAnimatedNumberTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGAnimatedNumberTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGAnimatedNumberTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 1, JSSVGAnimatedNumberTableValues, 0 };
#else
@@ -56,7 +56,7 @@ static const HashTableValue JSSVGAnimatedNumberPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGAnimatedNumberPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGAnimatedNumberPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGAnimatedNumberPrototypeTableValues, 0 };
#else
@@ -72,9 +72,8 @@ JSObject* JSSVGAnimatedNumberPrototype::self(ExecState* exec, JSGlobalObject* gl
const ClassInfo JSSVGAnimatedNumber::s_info = { "SVGAnimatedNumber", 0, &JSSVGAnimatedNumberTable, 0 };
-JSSVGAnimatedNumber::JSSVGAnimatedNumber(PassRefPtr<Structure> structure, PassRefPtr<SVGAnimatedNumber> impl, SVGElement* context)
- : DOMObject(structure)
- , m_context(context)
+JSSVGAnimatedNumber::JSSVGAnimatedNumber(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGAnimatedNumber> impl, SVGElement* context)
+ : DOMObjectWithSVGContext(structure, globalObject, context)
, m_impl(impl)
{
}
@@ -96,15 +95,17 @@ bool JSSVGAnimatedNumber::getOwnPropertySlot(ExecState* exec, const Identifier&
JSValue jsSVGAnimatedNumberBaseVal(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGAnimatedNumber* castedThis = static_cast<JSSVGAnimatedNumber*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGAnimatedNumber* imp = static_cast<SVGAnimatedNumber*>(static_cast<JSSVGAnimatedNumber*>(asObject(slot.slotBase()))->impl());
+ SVGAnimatedNumber* imp = static_cast<SVGAnimatedNumber*>(castedThis->impl());
return jsNumber(exec, imp->baseVal());
}
JSValue jsSVGAnimatedNumberAnimVal(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGAnimatedNumber* castedThis = static_cast<JSSVGAnimatedNumber*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGAnimatedNumber* imp = static_cast<SVGAnimatedNumber*>(static_cast<JSSVGAnimatedNumber*>(asObject(slot.slotBase()))->impl());
+ SVGAnimatedNumber* imp = static_cast<SVGAnimatedNumber*>(castedThis->impl());
return jsNumber(exec, imp->animVal());
}
@@ -121,9 +122,9 @@ void setJSSVGAnimatedNumberBaseVal(ExecState* exec, JSObject* thisObject, JSValu
static_cast<JSSVGAnimatedNumber*>(thisObject)->context()->svgAttributeChanged(static_cast<JSSVGAnimatedNumber*>(thisObject)->impl()->associatedAttributeName());
}
-JSC::JSValue toJS(JSC::ExecState* exec, SVGAnimatedNumber* object, SVGElement* context)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, SVGAnimatedNumber* object, SVGElement* context)
{
- return getDOMObjectWrapper<JSSVGAnimatedNumber>(exec, object, context);
+ return getDOMObjectWrapper<JSSVGAnimatedNumber>(exec, globalObject, object, context);
}
SVGAnimatedNumber* toSVGAnimatedNumber(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedNumber.h b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedNumber.h
index 77f77a6..eab3888 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedNumber.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedNumber.h
@@ -23,6 +23,7 @@
#if ENABLE(SVG)
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include "SVGElement.h"
#include <runtime/JSGlobalObject.h>
@@ -30,10 +31,10 @@
namespace WebCore {
-class JSSVGAnimatedNumber : public DOMObject {
- typedef DOMObject Base;
+class JSSVGAnimatedNumber : public DOMObjectWithSVGContext {
+ typedef DOMObjectWithSVGContext Base;
public:
- JSSVGAnimatedNumber(PassRefPtr<JSC::Structure>, PassRefPtr<SVGAnimatedNumber>, SVGElement* context);
+ JSSVGAnimatedNumber(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGAnimatedNumber>, SVGElement* context);
virtual ~JSSVGAnimatedNumber();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -47,14 +48,12 @@ public:
}
SVGAnimatedNumber* impl() const { return m_impl.get(); }
- SVGElement* context() const { return m_context.get(); }
private:
- RefPtr<SVGElement> m_context;
- RefPtr<SVGAnimatedNumber > m_impl;
+ RefPtr<SVGAnimatedNumber> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, SVGAnimatedNumber*, SVGElement* context);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, SVGAnimatedNumber*, SVGElement* context);
SVGAnimatedNumber* toSVGAnimatedNumber(JSC::JSValue);
class JSSVGAnimatedNumberPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedNumberList.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedNumberList.cpp
index 3e07104..224936f 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedNumberList.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedNumberList.cpp
@@ -43,7 +43,7 @@ static const HashTableValue JSSVGAnimatedNumberListTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGAnimatedNumberListTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGAnimatedNumberListTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 1, JSSVGAnimatedNumberListTableValues, 0 };
#else
@@ -57,7 +57,7 @@ static const HashTableValue JSSVGAnimatedNumberListPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGAnimatedNumberListPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGAnimatedNumberListPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGAnimatedNumberListPrototypeTableValues, 0 };
#else
@@ -73,9 +73,8 @@ JSObject* JSSVGAnimatedNumberListPrototype::self(ExecState* exec, JSGlobalObject
const ClassInfo JSSVGAnimatedNumberList::s_info = { "SVGAnimatedNumberList", 0, &JSSVGAnimatedNumberListTable, 0 };
-JSSVGAnimatedNumberList::JSSVGAnimatedNumberList(PassRefPtr<Structure> structure, PassRefPtr<SVGAnimatedNumberList> impl, SVGElement* context)
- : DOMObject(structure)
- , m_context(context)
+JSSVGAnimatedNumberList::JSSVGAnimatedNumberList(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGAnimatedNumberList> impl, SVGElement* context)
+ : DOMObjectWithSVGContext(structure, globalObject, context)
, m_impl(impl)
{
}
@@ -97,21 +96,23 @@ bool JSSVGAnimatedNumberList::getOwnPropertySlot(ExecState* exec, const Identifi
JSValue jsSVGAnimatedNumberListBaseVal(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGAnimatedNumberList* castedThis = static_cast<JSSVGAnimatedNumberList*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGAnimatedNumberList* imp = static_cast<SVGAnimatedNumberList*>(static_cast<JSSVGAnimatedNumberList*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->baseVal()), static_cast<JSSVGAnimatedNumberList*>(asObject(slot.slotBase()))->context());
+ SVGAnimatedNumberList* imp = static_cast<SVGAnimatedNumberList*>(castedThis->impl());
+ return toJS(exec, deprecatedGlobalObjectForPrototype(exec), WTF::getPtr(imp->baseVal()), castedThis->context());
}
JSValue jsSVGAnimatedNumberListAnimVal(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGAnimatedNumberList* castedThis = static_cast<JSSVGAnimatedNumberList*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGAnimatedNumberList* imp = static_cast<SVGAnimatedNumberList*>(static_cast<JSSVGAnimatedNumberList*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->animVal()), static_cast<JSSVGAnimatedNumberList*>(asObject(slot.slotBase()))->context());
+ SVGAnimatedNumberList* imp = static_cast<SVGAnimatedNumberList*>(castedThis->impl());
+ return toJS(exec, deprecatedGlobalObjectForPrototype(exec), WTF::getPtr(imp->animVal()), castedThis->context());
}
-JSC::JSValue toJS(JSC::ExecState* exec, SVGAnimatedNumberList* object, SVGElement* context)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, SVGAnimatedNumberList* object, SVGElement* context)
{
- return getDOMObjectWrapper<JSSVGAnimatedNumberList>(exec, object, context);
+ return getDOMObjectWrapper<JSSVGAnimatedNumberList>(exec, globalObject, object, context);
}
SVGAnimatedNumberList* toSVGAnimatedNumberList(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedNumberList.h b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedNumberList.h
index bc1c751..c37905c 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedNumberList.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedNumberList.h
@@ -23,6 +23,7 @@
#if ENABLE(SVG)
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include "SVGElement.h"
#include <runtime/JSGlobalObject.h>
@@ -30,10 +31,10 @@
namespace WebCore {
-class JSSVGAnimatedNumberList : public DOMObject {
- typedef DOMObject Base;
+class JSSVGAnimatedNumberList : public DOMObjectWithSVGContext {
+ typedef DOMObjectWithSVGContext Base;
public:
- JSSVGAnimatedNumberList(PassRefPtr<JSC::Structure>, PassRefPtr<SVGAnimatedNumberList>, SVGElement* context);
+ JSSVGAnimatedNumberList(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGAnimatedNumberList>, SVGElement* context);
virtual ~JSSVGAnimatedNumberList();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -46,14 +47,12 @@ public:
}
SVGAnimatedNumberList* impl() const { return m_impl.get(); }
- SVGElement* context() const { return m_context.get(); }
private:
- RefPtr<SVGElement> m_context;
- RefPtr<SVGAnimatedNumberList > m_impl;
+ RefPtr<SVGAnimatedNumberList> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, SVGAnimatedNumberList*, SVGElement* context);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, SVGAnimatedNumberList*, SVGElement* context);
SVGAnimatedNumberList* toSVGAnimatedNumberList(JSC::JSValue);
class JSSVGAnimatedNumberListPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedPreserveAspectRatio.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedPreserveAspectRatio.cpp
index 6209832..6a602c4 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedPreserveAspectRatio.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedPreserveAspectRatio.cpp
@@ -43,7 +43,7 @@ static const HashTableValue JSSVGAnimatedPreserveAspectRatioTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGAnimatedPreserveAspectRatioTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGAnimatedPreserveAspectRatioTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 1, JSSVGAnimatedPreserveAspectRatioTableValues, 0 };
#else
@@ -57,7 +57,7 @@ static const HashTableValue JSSVGAnimatedPreserveAspectRatioPrototypeTableValues
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGAnimatedPreserveAspectRatioPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGAnimatedPreserveAspectRatioPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGAnimatedPreserveAspectRatioPrototypeTableValues, 0 };
#else
@@ -73,9 +73,8 @@ JSObject* JSSVGAnimatedPreserveAspectRatioPrototype::self(ExecState* exec, JSGlo
const ClassInfo JSSVGAnimatedPreserveAspectRatio::s_info = { "SVGAnimatedPreserveAspectRatio", 0, &JSSVGAnimatedPreserveAspectRatioTable, 0 };
-JSSVGAnimatedPreserveAspectRatio::JSSVGAnimatedPreserveAspectRatio(PassRefPtr<Structure> structure, PassRefPtr<SVGAnimatedPreserveAspectRatio> impl, SVGElement* context)
- : DOMObject(structure)
- , m_context(context)
+JSSVGAnimatedPreserveAspectRatio::JSSVGAnimatedPreserveAspectRatio(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGAnimatedPreserveAspectRatio> impl, SVGElement* context)
+ : DOMObjectWithSVGContext(structure, globalObject, context)
, m_impl(impl)
{
}
@@ -97,21 +96,23 @@ bool JSSVGAnimatedPreserveAspectRatio::getOwnPropertySlot(ExecState* exec, const
JSValue jsSVGAnimatedPreserveAspectRatioBaseVal(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGAnimatedPreserveAspectRatio* castedThis = static_cast<JSSVGAnimatedPreserveAspectRatio*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGAnimatedPreserveAspectRatio* imp = static_cast<SVGAnimatedPreserveAspectRatio*>(static_cast<JSSVGAnimatedPreserveAspectRatio*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->baseVal()), static_cast<JSSVGAnimatedPreserveAspectRatio*>(asObject(slot.slotBase()))->context());
+ SVGAnimatedPreserveAspectRatio* imp = static_cast<SVGAnimatedPreserveAspectRatio*>(castedThis->impl());
+ return toJS(exec, deprecatedGlobalObjectForPrototype(exec), WTF::getPtr(imp->baseVal()), castedThis->context());
}
JSValue jsSVGAnimatedPreserveAspectRatioAnimVal(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGAnimatedPreserveAspectRatio* castedThis = static_cast<JSSVGAnimatedPreserveAspectRatio*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGAnimatedPreserveAspectRatio* imp = static_cast<SVGAnimatedPreserveAspectRatio*>(static_cast<JSSVGAnimatedPreserveAspectRatio*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->animVal()), static_cast<JSSVGAnimatedPreserveAspectRatio*>(asObject(slot.slotBase()))->context());
+ SVGAnimatedPreserveAspectRatio* imp = static_cast<SVGAnimatedPreserveAspectRatio*>(castedThis->impl());
+ return toJS(exec, deprecatedGlobalObjectForPrototype(exec), WTF::getPtr(imp->animVal()), castedThis->context());
}
-JSC::JSValue toJS(JSC::ExecState* exec, SVGAnimatedPreserveAspectRatio* object, SVGElement* context)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, SVGAnimatedPreserveAspectRatio* object, SVGElement* context)
{
- return getDOMObjectWrapper<JSSVGAnimatedPreserveAspectRatio>(exec, object, context);
+ return getDOMObjectWrapper<JSSVGAnimatedPreserveAspectRatio>(exec, globalObject, object, context);
}
SVGAnimatedPreserveAspectRatio* toSVGAnimatedPreserveAspectRatio(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedPreserveAspectRatio.h b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedPreserveAspectRatio.h
index 3a36ff9..172691a 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedPreserveAspectRatio.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedPreserveAspectRatio.h
@@ -23,6 +23,7 @@
#if ENABLE(SVG)
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include "SVGElement.h"
#include <runtime/JSGlobalObject.h>
@@ -30,10 +31,10 @@
namespace WebCore {
-class JSSVGAnimatedPreserveAspectRatio : public DOMObject {
- typedef DOMObject Base;
+class JSSVGAnimatedPreserveAspectRatio : public DOMObjectWithSVGContext {
+ typedef DOMObjectWithSVGContext Base;
public:
- JSSVGAnimatedPreserveAspectRatio(PassRefPtr<JSC::Structure>, PassRefPtr<SVGAnimatedPreserveAspectRatio>, SVGElement* context);
+ JSSVGAnimatedPreserveAspectRatio(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGAnimatedPreserveAspectRatio>, SVGElement* context);
virtual ~JSSVGAnimatedPreserveAspectRatio();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -46,14 +47,12 @@ public:
}
SVGAnimatedPreserveAspectRatio* impl() const { return m_impl.get(); }
- SVGElement* context() const { return m_context.get(); }
private:
- RefPtr<SVGElement> m_context;
- RefPtr<SVGAnimatedPreserveAspectRatio > m_impl;
+ RefPtr<SVGAnimatedPreserveAspectRatio> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, SVGAnimatedPreserveAspectRatio*, SVGElement* context);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, SVGAnimatedPreserveAspectRatio*, SVGElement* context);
SVGAnimatedPreserveAspectRatio* toSVGAnimatedPreserveAspectRatio(JSC::JSValue);
class JSSVGAnimatedPreserveAspectRatioPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedRect.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedRect.cpp
index 41698eb..34bd262 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedRect.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedRect.cpp
@@ -43,7 +43,7 @@ static const HashTableValue JSSVGAnimatedRectTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGAnimatedRectTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGAnimatedRectTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 1, JSSVGAnimatedRectTableValues, 0 };
#else
@@ -57,7 +57,7 @@ static const HashTableValue JSSVGAnimatedRectPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGAnimatedRectPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGAnimatedRectPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGAnimatedRectPrototypeTableValues, 0 };
#else
@@ -73,9 +73,8 @@ JSObject* JSSVGAnimatedRectPrototype::self(ExecState* exec, JSGlobalObject* glob
const ClassInfo JSSVGAnimatedRect::s_info = { "SVGAnimatedRect", 0, &JSSVGAnimatedRectTable, 0 };
-JSSVGAnimatedRect::JSSVGAnimatedRect(PassRefPtr<Structure> structure, PassRefPtr<SVGAnimatedRect> impl, SVGElement* context)
- : DOMObject(structure)
- , m_context(context)
+JSSVGAnimatedRect::JSSVGAnimatedRect(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGAnimatedRect> impl, SVGElement* context)
+ : DOMObjectWithSVGContext(structure, globalObject, context)
, m_impl(impl)
{
}
@@ -97,21 +96,23 @@ bool JSSVGAnimatedRect::getOwnPropertySlot(ExecState* exec, const Identifier& pr
JSValue jsSVGAnimatedRectBaseVal(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGAnimatedRect* castedThis = static_cast<JSSVGAnimatedRect*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGAnimatedRect* imp = static_cast<SVGAnimatedRect*>(static_cast<JSSVGAnimatedRect*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, JSSVGDynamicPODTypeWrapperCache<FloatRect, SVGAnimatedRect>::lookupOrCreateWrapper(imp, &SVGAnimatedRect::baseVal, &SVGAnimatedRect::setBaseVal).get(), static_cast<JSSVGAnimatedRect*>(asObject(slot.slotBase()))->context());
+ SVGAnimatedRect* imp = static_cast<SVGAnimatedRect*>(castedThis->impl());
+ return toJS(exec, deprecatedGlobalObjectForPrototype(exec), JSSVGDynamicPODTypeWrapperCache<FloatRect, SVGAnimatedRect>::lookupOrCreateWrapper(imp, &SVGAnimatedRect::baseVal, &SVGAnimatedRect::setBaseVal).get(), castedThis->context());
}
JSValue jsSVGAnimatedRectAnimVal(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGAnimatedRect* castedThis = static_cast<JSSVGAnimatedRect*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGAnimatedRect* imp = static_cast<SVGAnimatedRect*>(static_cast<JSSVGAnimatedRect*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, JSSVGDynamicPODTypeWrapperCache<FloatRect, SVGAnimatedRect>::lookupOrCreateWrapper(imp, &SVGAnimatedRect::animVal, &SVGAnimatedRect::setAnimVal).get(), static_cast<JSSVGAnimatedRect*>(asObject(slot.slotBase()))->context());
+ SVGAnimatedRect* imp = static_cast<SVGAnimatedRect*>(castedThis->impl());
+ return toJS(exec, deprecatedGlobalObjectForPrototype(exec), JSSVGDynamicPODTypeWrapperCache<FloatRect, SVGAnimatedRect>::lookupOrCreateWrapper(imp, &SVGAnimatedRect::animVal, &SVGAnimatedRect::setAnimVal).get(), castedThis->context());
}
-JSC::JSValue toJS(JSC::ExecState* exec, SVGAnimatedRect* object, SVGElement* context)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, SVGAnimatedRect* object, SVGElement* context)
{
- return getDOMObjectWrapper<JSSVGAnimatedRect>(exec, object, context);
+ return getDOMObjectWrapper<JSSVGAnimatedRect>(exec, globalObject, object, context);
}
SVGAnimatedRect* toSVGAnimatedRect(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedRect.h b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedRect.h
index 00c9ffa..c71c0b3 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedRect.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedRect.h
@@ -23,6 +23,7 @@
#if ENABLE(SVG)
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include "SVGElement.h"
#include <runtime/JSGlobalObject.h>
@@ -30,10 +31,10 @@
namespace WebCore {
-class JSSVGAnimatedRect : public DOMObject {
- typedef DOMObject Base;
+class JSSVGAnimatedRect : public DOMObjectWithSVGContext {
+ typedef DOMObjectWithSVGContext Base;
public:
- JSSVGAnimatedRect(PassRefPtr<JSC::Structure>, PassRefPtr<SVGAnimatedRect>, SVGElement* context);
+ JSSVGAnimatedRect(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGAnimatedRect>, SVGElement* context);
virtual ~JSSVGAnimatedRect();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -46,14 +47,12 @@ public:
}
SVGAnimatedRect* impl() const { return m_impl.get(); }
- SVGElement* context() const { return m_context.get(); }
private:
- RefPtr<SVGElement> m_context;
- RefPtr<SVGAnimatedRect > m_impl;
+ RefPtr<SVGAnimatedRect> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, SVGAnimatedRect*, SVGElement* context);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, SVGAnimatedRect*, SVGElement* context);
SVGAnimatedRect* toSVGAnimatedRect(JSC::JSValue);
class JSSVGAnimatedRectPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedString.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedString.cpp
index 8d29f52..52c8129 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedString.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedString.cpp
@@ -44,7 +44,7 @@ static const HashTableValue JSSVGAnimatedStringTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGAnimatedStringTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGAnimatedStringTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 1, JSSVGAnimatedStringTableValues, 0 };
#else
@@ -58,7 +58,7 @@ static const HashTableValue JSSVGAnimatedStringPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGAnimatedStringPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGAnimatedStringPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGAnimatedStringPrototypeTableValues, 0 };
#else
@@ -74,9 +74,8 @@ JSObject* JSSVGAnimatedStringPrototype::self(ExecState* exec, JSGlobalObject* gl
const ClassInfo JSSVGAnimatedString::s_info = { "SVGAnimatedString", 0, &JSSVGAnimatedStringTable, 0 };
-JSSVGAnimatedString::JSSVGAnimatedString(PassRefPtr<Structure> structure, PassRefPtr<SVGAnimatedString> impl, SVGElement* context)
- : DOMObject(structure)
- , m_context(context)
+JSSVGAnimatedString::JSSVGAnimatedString(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGAnimatedString> impl, SVGElement* context)
+ : DOMObjectWithSVGContext(structure, globalObject, context)
, m_impl(impl)
{
}
@@ -98,15 +97,17 @@ bool JSSVGAnimatedString::getOwnPropertySlot(ExecState* exec, const Identifier&
JSValue jsSVGAnimatedStringBaseVal(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGAnimatedString* castedThis = static_cast<JSSVGAnimatedString*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGAnimatedString* imp = static_cast<SVGAnimatedString*>(static_cast<JSSVGAnimatedString*>(asObject(slot.slotBase()))->impl());
+ SVGAnimatedString* imp = static_cast<SVGAnimatedString*>(castedThis->impl());
return jsString(exec, imp->baseVal());
}
JSValue jsSVGAnimatedStringAnimVal(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGAnimatedString* castedThis = static_cast<JSSVGAnimatedString*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGAnimatedString* imp = static_cast<SVGAnimatedString*>(static_cast<JSSVGAnimatedString*>(asObject(slot.slotBase()))->impl());
+ SVGAnimatedString* imp = static_cast<SVGAnimatedString*>(castedThis->impl());
return jsString(exec, imp->animVal());
}
@@ -123,9 +124,9 @@ void setJSSVGAnimatedStringBaseVal(ExecState* exec, JSObject* thisObject, JSValu
static_cast<JSSVGAnimatedString*>(thisObject)->context()->svgAttributeChanged(static_cast<JSSVGAnimatedString*>(thisObject)->impl()->associatedAttributeName());
}
-JSC::JSValue toJS(JSC::ExecState* exec, SVGAnimatedString* object, SVGElement* context)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, SVGAnimatedString* object, SVGElement* context)
{
- return getDOMObjectWrapper<JSSVGAnimatedString>(exec, object, context);
+ return getDOMObjectWrapper<JSSVGAnimatedString>(exec, globalObject, object, context);
}
SVGAnimatedString* toSVGAnimatedString(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedString.h b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedString.h
index c7fd6db..6380728 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedString.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedString.h
@@ -23,6 +23,7 @@
#if ENABLE(SVG)
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include "SVGElement.h"
#include <runtime/JSGlobalObject.h>
@@ -30,10 +31,10 @@
namespace WebCore {
-class JSSVGAnimatedString : public DOMObject {
- typedef DOMObject Base;
+class JSSVGAnimatedString : public DOMObjectWithSVGContext {
+ typedef DOMObjectWithSVGContext Base;
public:
- JSSVGAnimatedString(PassRefPtr<JSC::Structure>, PassRefPtr<SVGAnimatedString>, SVGElement* context);
+ JSSVGAnimatedString(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGAnimatedString>, SVGElement* context);
virtual ~JSSVGAnimatedString();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -47,14 +48,12 @@ public:
}
SVGAnimatedString* impl() const { return m_impl.get(); }
- SVGElement* context() const { return m_context.get(); }
private:
- RefPtr<SVGElement> m_context;
- RefPtr<SVGAnimatedString > m_impl;
+ RefPtr<SVGAnimatedString> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, SVGAnimatedString*, SVGElement* context);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, SVGAnimatedString*, SVGElement* context);
SVGAnimatedString* toSVGAnimatedString(JSC::JSValue);
class JSSVGAnimatedStringPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedTransformList.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedTransformList.cpp
index ecdf262..077f379 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedTransformList.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedTransformList.cpp
@@ -43,7 +43,7 @@ static const HashTableValue JSSVGAnimatedTransformListTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGAnimatedTransformListTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGAnimatedTransformListTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 1, JSSVGAnimatedTransformListTableValues, 0 };
#else
@@ -57,7 +57,7 @@ static const HashTableValue JSSVGAnimatedTransformListPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGAnimatedTransformListPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGAnimatedTransformListPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGAnimatedTransformListPrototypeTableValues, 0 };
#else
@@ -73,9 +73,8 @@ JSObject* JSSVGAnimatedTransformListPrototype::self(ExecState* exec, JSGlobalObj
const ClassInfo JSSVGAnimatedTransformList::s_info = { "SVGAnimatedTransformList", 0, &JSSVGAnimatedTransformListTable, 0 };
-JSSVGAnimatedTransformList::JSSVGAnimatedTransformList(PassRefPtr<Structure> structure, PassRefPtr<SVGAnimatedTransformList> impl, SVGElement* context)
- : DOMObject(structure)
- , m_context(context)
+JSSVGAnimatedTransformList::JSSVGAnimatedTransformList(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGAnimatedTransformList> impl, SVGElement* context)
+ : DOMObjectWithSVGContext(structure, globalObject, context)
, m_impl(impl)
{
}
@@ -97,21 +96,23 @@ bool JSSVGAnimatedTransformList::getOwnPropertySlot(ExecState* exec, const Ident
JSValue jsSVGAnimatedTransformListBaseVal(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGAnimatedTransformList* castedThis = static_cast<JSSVGAnimatedTransformList*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGAnimatedTransformList* imp = static_cast<SVGAnimatedTransformList*>(static_cast<JSSVGAnimatedTransformList*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->baseVal()), static_cast<JSSVGAnimatedTransformList*>(asObject(slot.slotBase()))->context());
+ SVGAnimatedTransformList* imp = static_cast<SVGAnimatedTransformList*>(castedThis->impl());
+ return toJS(exec, deprecatedGlobalObjectForPrototype(exec), WTF::getPtr(imp->baseVal()), castedThis->context());
}
JSValue jsSVGAnimatedTransformListAnimVal(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGAnimatedTransformList* castedThis = static_cast<JSSVGAnimatedTransformList*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGAnimatedTransformList* imp = static_cast<SVGAnimatedTransformList*>(static_cast<JSSVGAnimatedTransformList*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->animVal()), static_cast<JSSVGAnimatedTransformList*>(asObject(slot.slotBase()))->context());
+ SVGAnimatedTransformList* imp = static_cast<SVGAnimatedTransformList*>(castedThis->impl());
+ return toJS(exec, deprecatedGlobalObjectForPrototype(exec), WTF::getPtr(imp->animVal()), castedThis->context());
}
-JSC::JSValue toJS(JSC::ExecState* exec, SVGAnimatedTransformList* object, SVGElement* context)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, SVGAnimatedTransformList* object, SVGElement* context)
{
- return getDOMObjectWrapper<JSSVGAnimatedTransformList>(exec, object, context);
+ return getDOMObjectWrapper<JSSVGAnimatedTransformList>(exec, globalObject, object, context);
}
SVGAnimatedTransformList* toSVGAnimatedTransformList(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedTransformList.h b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedTransformList.h
index eb129ef..358905c 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedTransformList.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedTransformList.h
@@ -23,6 +23,7 @@
#if ENABLE(SVG)
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include "SVGElement.h"
#include <runtime/JSGlobalObject.h>
@@ -30,10 +31,10 @@
namespace WebCore {
-class JSSVGAnimatedTransformList : public DOMObject {
- typedef DOMObject Base;
+class JSSVGAnimatedTransformList : public DOMObjectWithSVGContext {
+ typedef DOMObjectWithSVGContext Base;
public:
- JSSVGAnimatedTransformList(PassRefPtr<JSC::Structure>, PassRefPtr<SVGAnimatedTransformList>, SVGElement* context);
+ JSSVGAnimatedTransformList(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGAnimatedTransformList>, SVGElement* context);
virtual ~JSSVGAnimatedTransformList();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -46,14 +47,12 @@ public:
}
SVGAnimatedTransformList* impl() const { return m_impl.get(); }
- SVGElement* context() const { return m_context.get(); }
private:
- RefPtr<SVGElement> m_context;
- RefPtr<SVGAnimatedTransformList > m_impl;
+ RefPtr<SVGAnimatedTransformList> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, SVGAnimatedTransformList*, SVGElement* context);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, SVGAnimatedTransformList*, SVGElement* context);
SVGAnimatedTransformList* toSVGAnimatedTransformList(JSC::JSValue);
class JSSVGAnimatedTransformListPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimationElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimationElement.cpp
index 12d6f19..48a51e4 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimationElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimationElement.cpp
@@ -52,7 +52,7 @@ static const HashTableValue JSSVGAnimationElementTableValues[6] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGAnimationElementTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGAnimationElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSSVGAnimationElementTableValues, 0 };
#else
@@ -74,7 +74,7 @@ static const HashTableValue JSSVGAnimationElementPrototypeTableValues[9] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGAnimationElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGAnimationElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 63, JSSVGAnimationElementPrototypeTableValues, 0 };
#else
@@ -95,8 +95,8 @@ bool JSSVGAnimationElementPrototype::getOwnPropertySlot(ExecState* exec, const I
const ClassInfo JSSVGAnimationElement::s_info = { "SVGAnimationElement", &JSSVGElement::s_info, &JSSVGAnimationElementTable, 0 };
-JSSVGAnimationElement::JSSVGAnimationElement(PassRefPtr<Structure> structure, PassRefPtr<SVGAnimationElement> impl)
- : JSSVGElement(structure, impl)
+JSSVGAnimationElement::JSSVGAnimationElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGAnimationElement> impl)
+ : JSSVGElement(structure, globalObject, impl)
{
}
@@ -112,38 +112,43 @@ bool JSSVGAnimationElement::getOwnPropertySlot(ExecState* exec, const Identifier
JSValue jsSVGAnimationElementTargetElement(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGAnimationElement* castedThis = static_cast<JSSVGAnimationElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGAnimationElement* imp = static_cast<SVGAnimationElement*>(static_cast<JSSVGAnimationElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->targetElement()));
+ SVGAnimationElement* imp = static_cast<SVGAnimationElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->targetElement()));
}
JSValue jsSVGAnimationElementRequiredFeatures(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGAnimationElement* castedThis = static_cast<JSSVGAnimationElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGAnimationElement* imp = static_cast<SVGAnimationElement*>(static_cast<JSSVGAnimationElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->requiredFeatures()), imp);
+ SVGAnimationElement* imp = static_cast<SVGAnimationElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->requiredFeatures()), imp);
}
JSValue jsSVGAnimationElementRequiredExtensions(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGAnimationElement* castedThis = static_cast<JSSVGAnimationElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGAnimationElement* imp = static_cast<SVGAnimationElement*>(static_cast<JSSVGAnimationElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->requiredExtensions()), imp);
+ SVGAnimationElement* imp = static_cast<SVGAnimationElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->requiredExtensions()), imp);
}
JSValue jsSVGAnimationElementSystemLanguage(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGAnimationElement* castedThis = static_cast<JSSVGAnimationElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGAnimationElement* imp = static_cast<SVGAnimationElement*>(static_cast<JSSVGAnimationElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->systemLanguage()), imp);
+ SVGAnimationElement* imp = static_cast<SVGAnimationElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->systemLanguage()), imp);
}
JSValue jsSVGAnimationElementExternalResourcesRequired(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGAnimationElement* castedThis = static_cast<JSSVGAnimationElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGAnimationElement* imp = static_cast<SVGAnimationElement*>(static_cast<JSSVGAnimationElement*>(asObject(slot.slotBase()))->impl());
+ SVGAnimationElement* imp = static_cast<SVGAnimationElement*>(castedThis->impl());
RefPtr<SVGAnimatedBoolean> obj = imp->externalResourcesRequiredAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue JSC_HOST_CALL jsSVGAnimationElementPrototypeFunctionGetStartTime(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimationElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimationElement.h
index 989c0d0..4a48a7b 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimationElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimationElement.h
@@ -33,7 +33,7 @@ class SVGAnimationElement;
class JSSVGAnimationElement : public JSSVGElement {
typedef JSSVGElement Base;
public:
- JSSVGAnimationElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGAnimationElement>);
+ JSSVGAnimationElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGAnimationElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGCircleElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGCircleElement.cpp
index f9fa2aa..92213c7 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGCircleElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGCircleElement.cpp
@@ -72,7 +72,7 @@ static const HashTableValue JSSVGCircleElementTableValues[15] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGCircleElementTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGCircleElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 127, JSSVGCircleElementTableValues, 0 };
#else
@@ -92,7 +92,7 @@ static const HashTableValue JSSVGCircleElementPrototypeTableValues[7] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGCircleElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGCircleElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 2047, JSSVGCircleElementPrototypeTableValues, 0 };
#else
@@ -113,8 +113,8 @@ bool JSSVGCircleElementPrototype::getOwnPropertySlot(ExecState* exec, const Iden
const ClassInfo JSSVGCircleElement::s_info = { "SVGCircleElement", &JSSVGElement::s_info, &JSSVGCircleElementTable, 0 };
-JSSVGCircleElement::JSSVGCircleElement(PassRefPtr<Structure> structure, PassRefPtr<SVGCircleElement> impl)
- : JSSVGElement(structure, impl)
+JSSVGCircleElement::JSSVGCircleElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGCircleElement> impl)
+ : JSSVGElement(structure, globalObject, impl)
{
}
@@ -130,106 +130,120 @@ bool JSSVGCircleElement::getOwnPropertySlot(ExecState* exec, const Identifier& p
JSValue jsSVGCircleElementCx(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGCircleElement* castedThis = static_cast<JSSVGCircleElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGCircleElement* imp = static_cast<SVGCircleElement*>(static_cast<JSSVGCircleElement*>(asObject(slot.slotBase()))->impl());
+ SVGCircleElement* imp = static_cast<SVGCircleElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->cxAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGCircleElementCy(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGCircleElement* castedThis = static_cast<JSSVGCircleElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGCircleElement* imp = static_cast<SVGCircleElement*>(static_cast<JSSVGCircleElement*>(asObject(slot.slotBase()))->impl());
+ SVGCircleElement* imp = static_cast<SVGCircleElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->cyAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGCircleElementR(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGCircleElement* castedThis = static_cast<JSSVGCircleElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGCircleElement* imp = static_cast<SVGCircleElement*>(static_cast<JSSVGCircleElement*>(asObject(slot.slotBase()))->impl());
+ SVGCircleElement* imp = static_cast<SVGCircleElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->rAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGCircleElementRequiredFeatures(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGCircleElement* castedThis = static_cast<JSSVGCircleElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGCircleElement* imp = static_cast<SVGCircleElement*>(static_cast<JSSVGCircleElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->requiredFeatures()), imp);
+ SVGCircleElement* imp = static_cast<SVGCircleElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->requiredFeatures()), imp);
}
JSValue jsSVGCircleElementRequiredExtensions(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGCircleElement* castedThis = static_cast<JSSVGCircleElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGCircleElement* imp = static_cast<SVGCircleElement*>(static_cast<JSSVGCircleElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->requiredExtensions()), imp);
+ SVGCircleElement* imp = static_cast<SVGCircleElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->requiredExtensions()), imp);
}
JSValue jsSVGCircleElementSystemLanguage(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGCircleElement* castedThis = static_cast<JSSVGCircleElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGCircleElement* imp = static_cast<SVGCircleElement*>(static_cast<JSSVGCircleElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->systemLanguage()), imp);
+ SVGCircleElement* imp = static_cast<SVGCircleElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->systemLanguage()), imp);
}
JSValue jsSVGCircleElementXmllang(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGCircleElement* castedThis = static_cast<JSSVGCircleElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGCircleElement* imp = static_cast<SVGCircleElement*>(static_cast<JSSVGCircleElement*>(asObject(slot.slotBase()))->impl());
+ SVGCircleElement* imp = static_cast<SVGCircleElement*>(castedThis->impl());
return jsString(exec, imp->xmllang());
}
JSValue jsSVGCircleElementXmlspace(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGCircleElement* castedThis = static_cast<JSSVGCircleElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGCircleElement* imp = static_cast<SVGCircleElement*>(static_cast<JSSVGCircleElement*>(asObject(slot.slotBase()))->impl());
+ SVGCircleElement* imp = static_cast<SVGCircleElement*>(castedThis->impl());
return jsString(exec, imp->xmlspace());
}
JSValue jsSVGCircleElementExternalResourcesRequired(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGCircleElement* castedThis = static_cast<JSSVGCircleElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGCircleElement* imp = static_cast<SVGCircleElement*>(static_cast<JSSVGCircleElement*>(asObject(slot.slotBase()))->impl());
+ SVGCircleElement* imp = static_cast<SVGCircleElement*>(castedThis->impl());
RefPtr<SVGAnimatedBoolean> obj = imp->externalResourcesRequiredAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGCircleElementClassName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGCircleElement* castedThis = static_cast<JSSVGCircleElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGCircleElement* imp = static_cast<SVGCircleElement*>(static_cast<JSSVGCircleElement*>(asObject(slot.slotBase()))->impl());
+ SVGCircleElement* imp = static_cast<SVGCircleElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->classNameAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGCircleElementStyle(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGCircleElement* castedThis = static_cast<JSSVGCircleElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGCircleElement* imp = static_cast<SVGCircleElement*>(static_cast<JSSVGCircleElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->style()));
+ SVGCircleElement* imp = static_cast<SVGCircleElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->style()));
}
JSValue jsSVGCircleElementTransform(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGCircleElement* castedThis = static_cast<JSSVGCircleElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGCircleElement* imp = static_cast<SVGCircleElement*>(static_cast<JSSVGCircleElement*>(asObject(slot.slotBase()))->impl());
+ SVGCircleElement* imp = static_cast<SVGCircleElement*>(castedThis->impl());
RefPtr<SVGAnimatedTransformList> obj = imp->transformAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGCircleElementNearestViewportElement(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGCircleElement* castedThis = static_cast<JSSVGCircleElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGCircleElement* imp = static_cast<SVGCircleElement*>(static_cast<JSSVGCircleElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->nearestViewportElement()));
+ SVGCircleElement* imp = static_cast<SVGCircleElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->nearestViewportElement()));
}
JSValue jsSVGCircleElementFarthestViewportElement(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGCircleElement* castedThis = static_cast<JSSVGCircleElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGCircleElement* imp = static_cast<SVGCircleElement*>(static_cast<JSSVGCircleElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->farthestViewportElement()));
+ SVGCircleElement* imp = static_cast<SVGCircleElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->farthestViewportElement()));
}
void JSSVGCircleElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
@@ -273,7 +287,7 @@ JSValue JSC_HOST_CALL jsSVGCircleElementPrototypeFunctionGetPresentationAttribut
const UString& name = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getPresentationAttribute(name)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getPresentationAttribute(name)));
return result;
}
@@ -286,7 +300,7 @@ JSValue JSC_HOST_CALL jsSVGCircleElementPrototypeFunctionGetBBox(ExecState* exec
SVGCircleElement* imp = static_cast<SVGCircleElement*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<FloatRect>::create(imp->getBBox()).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<FloatRect>::create(imp->getBBox()).get(), imp);
return result;
}
@@ -299,7 +313,7 @@ JSValue JSC_HOST_CALL jsSVGCircleElementPrototypeFunctionGetCTM(ExecState* exec,
SVGCircleElement* imp = static_cast<SVGCircleElement*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getCTM()).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getCTM()).get(), imp);
return result;
}
@@ -312,7 +326,7 @@ JSValue JSC_HOST_CALL jsSVGCircleElementPrototypeFunctionGetScreenCTM(ExecState*
SVGCircleElement* imp = static_cast<SVGCircleElement*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getScreenCTM()).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getScreenCTM()).get(), imp);
return result;
}
@@ -327,7 +341,7 @@ JSValue JSC_HOST_CALL jsSVGCircleElementPrototypeFunctionGetTransformToElement(E
SVGElement* element = toSVGElement(args.at(0));
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getTransformToElement(element, ec)).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getTransformToElement(element, ec)).get(), imp);
setDOMException(exec, ec);
return result;
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGCircleElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGCircleElement.h
index 8c9acda..6dfad23 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGCircleElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGCircleElement.h
@@ -33,7 +33,7 @@ class SVGCircleElement;
class JSSVGCircleElement : public JSSVGElement {
typedef JSSVGElement Base;
public:
- JSSVGCircleElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGCircleElement>);
+ JSSVGCircleElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGCircleElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGClipPathElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGClipPathElement.cpp
index 73e31af..c67ced4 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGClipPathElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGClipPathElement.cpp
@@ -70,7 +70,7 @@ static const HashTableValue JSSVGClipPathElementTableValues[13] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGClipPathElementTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGClipPathElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 127, JSSVGClipPathElementTableValues, 0 };
#else
@@ -90,7 +90,7 @@ static const HashTableValue JSSVGClipPathElementPrototypeTableValues[7] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGClipPathElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGClipPathElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 2047, JSSVGClipPathElementPrototypeTableValues, 0 };
#else
@@ -111,8 +111,8 @@ bool JSSVGClipPathElementPrototype::getOwnPropertySlot(ExecState* exec, const Id
const ClassInfo JSSVGClipPathElement::s_info = { "SVGClipPathElement", &JSSVGElement::s_info, &JSSVGClipPathElementTable, 0 };
-JSSVGClipPathElement::JSSVGClipPathElement(PassRefPtr<Structure> structure, PassRefPtr<SVGClipPathElement> impl)
- : JSSVGElement(structure, impl)
+JSSVGClipPathElement::JSSVGClipPathElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGClipPathElement> impl)
+ : JSSVGElement(structure, globalObject, impl)
{
}
@@ -128,90 +128,102 @@ bool JSSVGClipPathElement::getOwnPropertySlot(ExecState* exec, const Identifier&
JSValue jsSVGClipPathElementClipPathUnits(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGClipPathElement* castedThis = static_cast<JSSVGClipPathElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGClipPathElement* imp = static_cast<SVGClipPathElement*>(static_cast<JSSVGClipPathElement*>(asObject(slot.slotBase()))->impl());
+ SVGClipPathElement* imp = static_cast<SVGClipPathElement*>(castedThis->impl());
RefPtr<SVGAnimatedEnumeration> obj = imp->clipPathUnitsAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGClipPathElementRequiredFeatures(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGClipPathElement* castedThis = static_cast<JSSVGClipPathElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGClipPathElement* imp = static_cast<SVGClipPathElement*>(static_cast<JSSVGClipPathElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->requiredFeatures()), imp);
+ SVGClipPathElement* imp = static_cast<SVGClipPathElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->requiredFeatures()), imp);
}
JSValue jsSVGClipPathElementRequiredExtensions(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGClipPathElement* castedThis = static_cast<JSSVGClipPathElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGClipPathElement* imp = static_cast<SVGClipPathElement*>(static_cast<JSSVGClipPathElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->requiredExtensions()), imp);
+ SVGClipPathElement* imp = static_cast<SVGClipPathElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->requiredExtensions()), imp);
}
JSValue jsSVGClipPathElementSystemLanguage(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGClipPathElement* castedThis = static_cast<JSSVGClipPathElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGClipPathElement* imp = static_cast<SVGClipPathElement*>(static_cast<JSSVGClipPathElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->systemLanguage()), imp);
+ SVGClipPathElement* imp = static_cast<SVGClipPathElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->systemLanguage()), imp);
}
JSValue jsSVGClipPathElementXmllang(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGClipPathElement* castedThis = static_cast<JSSVGClipPathElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGClipPathElement* imp = static_cast<SVGClipPathElement*>(static_cast<JSSVGClipPathElement*>(asObject(slot.slotBase()))->impl());
+ SVGClipPathElement* imp = static_cast<SVGClipPathElement*>(castedThis->impl());
return jsString(exec, imp->xmllang());
}
JSValue jsSVGClipPathElementXmlspace(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGClipPathElement* castedThis = static_cast<JSSVGClipPathElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGClipPathElement* imp = static_cast<SVGClipPathElement*>(static_cast<JSSVGClipPathElement*>(asObject(slot.slotBase()))->impl());
+ SVGClipPathElement* imp = static_cast<SVGClipPathElement*>(castedThis->impl());
return jsString(exec, imp->xmlspace());
}
JSValue jsSVGClipPathElementExternalResourcesRequired(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGClipPathElement* castedThis = static_cast<JSSVGClipPathElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGClipPathElement* imp = static_cast<SVGClipPathElement*>(static_cast<JSSVGClipPathElement*>(asObject(slot.slotBase()))->impl());
+ SVGClipPathElement* imp = static_cast<SVGClipPathElement*>(castedThis->impl());
RefPtr<SVGAnimatedBoolean> obj = imp->externalResourcesRequiredAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGClipPathElementClassName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGClipPathElement* castedThis = static_cast<JSSVGClipPathElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGClipPathElement* imp = static_cast<SVGClipPathElement*>(static_cast<JSSVGClipPathElement*>(asObject(slot.slotBase()))->impl());
+ SVGClipPathElement* imp = static_cast<SVGClipPathElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->classNameAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGClipPathElementStyle(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGClipPathElement* castedThis = static_cast<JSSVGClipPathElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGClipPathElement* imp = static_cast<SVGClipPathElement*>(static_cast<JSSVGClipPathElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->style()));
+ SVGClipPathElement* imp = static_cast<SVGClipPathElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->style()));
}
JSValue jsSVGClipPathElementTransform(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGClipPathElement* castedThis = static_cast<JSSVGClipPathElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGClipPathElement* imp = static_cast<SVGClipPathElement*>(static_cast<JSSVGClipPathElement*>(asObject(slot.slotBase()))->impl());
+ SVGClipPathElement* imp = static_cast<SVGClipPathElement*>(castedThis->impl());
RefPtr<SVGAnimatedTransformList> obj = imp->transformAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGClipPathElementNearestViewportElement(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGClipPathElement* castedThis = static_cast<JSSVGClipPathElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGClipPathElement* imp = static_cast<SVGClipPathElement*>(static_cast<JSSVGClipPathElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->nearestViewportElement()));
+ SVGClipPathElement* imp = static_cast<SVGClipPathElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->nearestViewportElement()));
}
JSValue jsSVGClipPathElementFarthestViewportElement(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGClipPathElement* castedThis = static_cast<JSSVGClipPathElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGClipPathElement* imp = static_cast<SVGClipPathElement*>(static_cast<JSSVGClipPathElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->farthestViewportElement()));
+ SVGClipPathElement* imp = static_cast<SVGClipPathElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->farthestViewportElement()));
}
void JSSVGClipPathElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
@@ -255,7 +267,7 @@ JSValue JSC_HOST_CALL jsSVGClipPathElementPrototypeFunctionGetPresentationAttrib
const UString& name = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getPresentationAttribute(name)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getPresentationAttribute(name)));
return result;
}
@@ -268,7 +280,7 @@ JSValue JSC_HOST_CALL jsSVGClipPathElementPrototypeFunctionGetBBox(ExecState* ex
SVGClipPathElement* imp = static_cast<SVGClipPathElement*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<FloatRect>::create(imp->getBBox()).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<FloatRect>::create(imp->getBBox()).get(), imp);
return result;
}
@@ -281,7 +293,7 @@ JSValue JSC_HOST_CALL jsSVGClipPathElementPrototypeFunctionGetCTM(ExecState* exe
SVGClipPathElement* imp = static_cast<SVGClipPathElement*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getCTM()).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getCTM()).get(), imp);
return result;
}
@@ -294,7 +306,7 @@ JSValue JSC_HOST_CALL jsSVGClipPathElementPrototypeFunctionGetScreenCTM(ExecStat
SVGClipPathElement* imp = static_cast<SVGClipPathElement*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getScreenCTM()).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getScreenCTM()).get(), imp);
return result;
}
@@ -309,7 +321,7 @@ JSValue JSC_HOST_CALL jsSVGClipPathElementPrototypeFunctionGetTransformToElement
SVGElement* element = toSVGElement(args.at(0));
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getTransformToElement(element, ec)).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getTransformToElement(element, ec)).get(), imp);
setDOMException(exec, ec);
return result;
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGClipPathElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGClipPathElement.h
index b4a44cf..b27abca 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGClipPathElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGClipPathElement.h
@@ -33,7 +33,7 @@ class SVGClipPathElement;
class JSSVGClipPathElement : public JSSVGElement {
typedef JSSVGElement Base;
public:
- JSSVGClipPathElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGClipPathElement>);
+ JSSVGClipPathElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGClipPathElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGColor.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGColor.cpp
index 88c62e4..59c2549 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGColor.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGColor.cpp
@@ -25,6 +25,7 @@
#include "JSSVGColor.h"
#include "JSRGBColor.h"
+#include "RGBColor.h"
#include "SVGColor.h"
#include <runtime/Error.h>
#include <runtime/JSNumberCell.h>
@@ -46,7 +47,7 @@ static const HashTableValue JSSVGColorTableValues[4] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGColorTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGColorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 3, JSSVGColorTableValues, 0 };
#else
@@ -64,19 +65,19 @@ static const HashTableValue JSSVGColorConstructorTableValues[5] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGColorConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGColorConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 3, JSSVGColorConstructorTableValues, 0 };
#else
{ 8, 7, JSSVGColorConstructorTableValues, 0 };
#endif
-class JSSVGColorConstructor : public DOMObject {
+class JSSVGColorConstructor : public DOMConstructorObject {
public:
- JSSVGColorConstructor(ExecState* exec)
- : DOMObject(JSSVGColorConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSSVGColorConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSSVGColorConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSSVGColorPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSSVGColorPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -109,7 +110,7 @@ static const HashTableValue JSSVGColorPrototypeTableValues[8] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGColorPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGColorPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 255, JSSVGColorPrototypeTableValues, 0 };
#else
@@ -130,8 +131,8 @@ bool JSSVGColorPrototype::getOwnPropertySlot(ExecState* exec, const Identifier&
const ClassInfo JSSVGColor::s_info = { "SVGColor", &JSCSSValue::s_info, &JSSVGColorTable, 0 };
-JSSVGColor::JSSVGColor(PassRefPtr<Structure> structure, PassRefPtr<SVGColor> impl)
- : JSCSSValue(structure, impl)
+JSSVGColor::JSSVGColor(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGColor> impl)
+ : JSCSSValue(structure, globalObject, impl)
{
}
@@ -147,25 +148,28 @@ bool JSSVGColor::getOwnPropertySlot(ExecState* exec, const Identifier& propertyN
JSValue jsSVGColorColorType(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGColor* castedThis = static_cast<JSSVGColor*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGColor* imp = static_cast<SVGColor*>(static_cast<JSSVGColor*>(asObject(slot.slotBase()))->impl());
+ SVGColor* imp = static_cast<SVGColor*>(castedThis->impl());
return jsNumber(exec, imp->colorType());
}
JSValue jsSVGColorRgbColor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGColor* castedThis = static_cast<JSSVGColor*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGColor* imp = static_cast<SVGColor*>(static_cast<JSSVGColor*>(asObject(slot.slotBase()))->impl());
- return getJSRGBColor(exec, imp->rgbColor());
+ SVGColor* imp = static_cast<SVGColor*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->rgbColor()));
}
JSValue jsSVGColorConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSSVGColor*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSSVGColor* domObject = static_cast<JSSVGColor*>(asObject(slot.slotBase()));
+ return JSSVGColor::getConstructor(exec, domObject->globalObject());
}
-JSValue JSSVGColor::getConstructor(ExecState* exec)
+JSValue JSSVGColor::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSSVGColorConstructor>(exec);
+ return getDOMConstructor<JSSVGColorConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsSVGColorPrototypeFunctionSetRGBColor(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGColor.h b/src/3rdparty/webkit/WebCore/generated/JSSVGColor.h
index 43baabb..9161bfc 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGColor.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGColor.h
@@ -33,7 +33,7 @@ class SVGColor;
class JSSVGColor : public JSCSSValue {
typedef JSCSSValue Base;
public:
- JSSVGColor(PassRefPtr<JSC::Structure>, PassRefPtr<SVGColor>);
+ JSSVGColor(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGColor>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
@@ -44,7 +44,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGComponentTransferFunctionElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGComponentTransferFunctionElement.cpp
index d5be3bc..be144bb 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGComponentTransferFunctionElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGComponentTransferFunctionElement.cpp
@@ -51,7 +51,7 @@ static const HashTableValue JSSVGComponentTransferFunctionElementTableValues[9]
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGComponentTransferFunctionElementTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGComponentTransferFunctionElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 31, JSSVGComponentTransferFunctionElementTableValues, 0 };
#else
@@ -71,19 +71,19 @@ static const HashTableValue JSSVGComponentTransferFunctionElementConstructorTabl
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGComponentTransferFunctionElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGComponentTransferFunctionElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 63, JSSVGComponentTransferFunctionElementConstructorTableValues, 0 };
#else
{ 17, 15, JSSVGComponentTransferFunctionElementConstructorTableValues, 0 };
#endif
-class JSSVGComponentTransferFunctionElementConstructor : public DOMObject {
+class JSSVGComponentTransferFunctionElementConstructor : public DOMConstructorObject {
public:
- JSSVGComponentTransferFunctionElementConstructor(ExecState* exec)
- : DOMObject(JSSVGComponentTransferFunctionElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSSVGComponentTransferFunctionElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSSVGComponentTransferFunctionElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSSVGComponentTransferFunctionElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSSVGComponentTransferFunctionElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -115,7 +115,7 @@ static const HashTableValue JSSVGComponentTransferFunctionElementPrototypeTableV
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGComponentTransferFunctionElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGComponentTransferFunctionElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 63, JSSVGComponentTransferFunctionElementPrototypeTableValues, 0 };
#else
@@ -136,8 +136,8 @@ bool JSSVGComponentTransferFunctionElementPrototype::getOwnPropertySlot(ExecStat
const ClassInfo JSSVGComponentTransferFunctionElement::s_info = { "SVGComponentTransferFunctionElement", &JSSVGElement::s_info, &JSSVGComponentTransferFunctionElementTable, 0 };
-JSSVGComponentTransferFunctionElement::JSSVGComponentTransferFunctionElement(PassRefPtr<Structure> structure, PassRefPtr<SVGComponentTransferFunctionElement> impl)
- : JSSVGElement(structure, impl)
+JSSVGComponentTransferFunctionElement::JSSVGComponentTransferFunctionElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGComponentTransferFunctionElement> impl)
+ : JSSVGElement(structure, globalObject, impl)
{
}
@@ -153,67 +153,75 @@ bool JSSVGComponentTransferFunctionElement::getOwnPropertySlot(ExecState* exec,
JSValue jsSVGComponentTransferFunctionElementType(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGComponentTransferFunctionElement* castedThis = static_cast<JSSVGComponentTransferFunctionElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGComponentTransferFunctionElement* imp = static_cast<SVGComponentTransferFunctionElement*>(static_cast<JSSVGComponentTransferFunctionElement*>(asObject(slot.slotBase()))->impl());
+ SVGComponentTransferFunctionElement* imp = static_cast<SVGComponentTransferFunctionElement*>(castedThis->impl());
RefPtr<SVGAnimatedEnumeration> obj = imp->typeAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGComponentTransferFunctionElementTableValues(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGComponentTransferFunctionElement* castedThis = static_cast<JSSVGComponentTransferFunctionElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGComponentTransferFunctionElement* imp = static_cast<SVGComponentTransferFunctionElement*>(static_cast<JSSVGComponentTransferFunctionElement*>(asObject(slot.slotBase()))->impl());
+ SVGComponentTransferFunctionElement* imp = static_cast<SVGComponentTransferFunctionElement*>(castedThis->impl());
RefPtr<SVGAnimatedNumberList> obj = imp->tableValuesAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGComponentTransferFunctionElementSlope(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGComponentTransferFunctionElement* castedThis = static_cast<JSSVGComponentTransferFunctionElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGComponentTransferFunctionElement* imp = static_cast<SVGComponentTransferFunctionElement*>(static_cast<JSSVGComponentTransferFunctionElement*>(asObject(slot.slotBase()))->impl());
+ SVGComponentTransferFunctionElement* imp = static_cast<SVGComponentTransferFunctionElement*>(castedThis->impl());
RefPtr<SVGAnimatedNumber> obj = imp->slopeAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGComponentTransferFunctionElementIntercept(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGComponentTransferFunctionElement* castedThis = static_cast<JSSVGComponentTransferFunctionElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGComponentTransferFunctionElement* imp = static_cast<SVGComponentTransferFunctionElement*>(static_cast<JSSVGComponentTransferFunctionElement*>(asObject(slot.slotBase()))->impl());
+ SVGComponentTransferFunctionElement* imp = static_cast<SVGComponentTransferFunctionElement*>(castedThis->impl());
RefPtr<SVGAnimatedNumber> obj = imp->interceptAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGComponentTransferFunctionElementAmplitude(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGComponentTransferFunctionElement* castedThis = static_cast<JSSVGComponentTransferFunctionElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGComponentTransferFunctionElement* imp = static_cast<SVGComponentTransferFunctionElement*>(static_cast<JSSVGComponentTransferFunctionElement*>(asObject(slot.slotBase()))->impl());
+ SVGComponentTransferFunctionElement* imp = static_cast<SVGComponentTransferFunctionElement*>(castedThis->impl());
RefPtr<SVGAnimatedNumber> obj = imp->amplitudeAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGComponentTransferFunctionElementExponent(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGComponentTransferFunctionElement* castedThis = static_cast<JSSVGComponentTransferFunctionElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGComponentTransferFunctionElement* imp = static_cast<SVGComponentTransferFunctionElement*>(static_cast<JSSVGComponentTransferFunctionElement*>(asObject(slot.slotBase()))->impl());
+ SVGComponentTransferFunctionElement* imp = static_cast<SVGComponentTransferFunctionElement*>(castedThis->impl());
RefPtr<SVGAnimatedNumber> obj = imp->exponentAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGComponentTransferFunctionElementOffset(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGComponentTransferFunctionElement* castedThis = static_cast<JSSVGComponentTransferFunctionElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGComponentTransferFunctionElement* imp = static_cast<SVGComponentTransferFunctionElement*>(static_cast<JSSVGComponentTransferFunctionElement*>(asObject(slot.slotBase()))->impl());
+ SVGComponentTransferFunctionElement* imp = static_cast<SVGComponentTransferFunctionElement*>(castedThis->impl());
RefPtr<SVGAnimatedNumber> obj = imp->offsetAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGComponentTransferFunctionElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSSVGComponentTransferFunctionElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSSVGComponentTransferFunctionElement* domObject = static_cast<JSSVGComponentTransferFunctionElement*>(asObject(slot.slotBase()));
+ return JSSVGComponentTransferFunctionElement::getConstructor(exec, domObject->globalObject());
}
-JSValue JSSVGComponentTransferFunctionElement::getConstructor(ExecState* exec)
+JSValue JSSVGComponentTransferFunctionElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSSVGComponentTransferFunctionElementConstructor>(exec);
+ return getDOMConstructor<JSSVGComponentTransferFunctionElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
// Constant getters
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGComponentTransferFunctionElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGComponentTransferFunctionElement.h
index 6576e32..6cc0d9e 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGComponentTransferFunctionElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGComponentTransferFunctionElement.h
@@ -33,7 +33,7 @@ class SVGComponentTransferFunctionElement;
class JSSVGComponentTransferFunctionElement : public JSSVGElement {
typedef JSSVGElement Base;
public:
- JSSVGComponentTransferFunctionElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGComponentTransferFunctionElement>);
+ JSSVGComponentTransferFunctionElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGComponentTransferFunctionElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
@@ -44,7 +44,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGCursorElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGCursorElement.cpp
index d6171c6..ed17541 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGCursorElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGCursorElement.cpp
@@ -53,7 +53,7 @@ static const HashTableValue JSSVGCursorElementTableValues[8] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGCursorElementTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGCursorElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 31, JSSVGCursorElementTableValues, 0 };
#else
@@ -68,7 +68,7 @@ static const HashTableValue JSSVGCursorElementPrototypeTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGCursorElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGCursorElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGCursorElementPrototypeTableValues, 0 };
#else
@@ -89,8 +89,8 @@ bool JSSVGCursorElementPrototype::getOwnPropertySlot(ExecState* exec, const Iden
const ClassInfo JSSVGCursorElement::s_info = { "SVGCursorElement", &JSSVGElement::s_info, &JSSVGCursorElementTable, 0 };
-JSSVGCursorElement::JSSVGCursorElement(PassRefPtr<Structure> structure, PassRefPtr<SVGCursorElement> impl)
- : JSSVGElement(structure, impl)
+JSSVGCursorElement::JSSVGCursorElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGCursorElement> impl)
+ : JSSVGElement(structure, globalObject, impl)
{
}
@@ -106,55 +106,62 @@ bool JSSVGCursorElement::getOwnPropertySlot(ExecState* exec, const Identifier& p
JSValue jsSVGCursorElementX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGCursorElement* castedThis = static_cast<JSSVGCursorElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGCursorElement* imp = static_cast<SVGCursorElement*>(static_cast<JSSVGCursorElement*>(asObject(slot.slotBase()))->impl());
+ SVGCursorElement* imp = static_cast<SVGCursorElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->xAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGCursorElementY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGCursorElement* castedThis = static_cast<JSSVGCursorElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGCursorElement* imp = static_cast<SVGCursorElement*>(static_cast<JSSVGCursorElement*>(asObject(slot.slotBase()))->impl());
+ SVGCursorElement* imp = static_cast<SVGCursorElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->yAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGCursorElementHref(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGCursorElement* castedThis = static_cast<JSSVGCursorElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGCursorElement* imp = static_cast<SVGCursorElement*>(static_cast<JSSVGCursorElement*>(asObject(slot.slotBase()))->impl());
+ SVGCursorElement* imp = static_cast<SVGCursorElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->hrefAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGCursorElementRequiredFeatures(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGCursorElement* castedThis = static_cast<JSSVGCursorElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGCursorElement* imp = static_cast<SVGCursorElement*>(static_cast<JSSVGCursorElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->requiredFeatures()), imp);
+ SVGCursorElement* imp = static_cast<SVGCursorElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->requiredFeatures()), imp);
}
JSValue jsSVGCursorElementRequiredExtensions(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGCursorElement* castedThis = static_cast<JSSVGCursorElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGCursorElement* imp = static_cast<SVGCursorElement*>(static_cast<JSSVGCursorElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->requiredExtensions()), imp);
+ SVGCursorElement* imp = static_cast<SVGCursorElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->requiredExtensions()), imp);
}
JSValue jsSVGCursorElementSystemLanguage(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGCursorElement* castedThis = static_cast<JSSVGCursorElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGCursorElement* imp = static_cast<SVGCursorElement*>(static_cast<JSSVGCursorElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->systemLanguage()), imp);
+ SVGCursorElement* imp = static_cast<SVGCursorElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->systemLanguage()), imp);
}
JSValue jsSVGCursorElementExternalResourcesRequired(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGCursorElement* castedThis = static_cast<JSSVGCursorElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGCursorElement* imp = static_cast<SVGCursorElement*>(static_cast<JSSVGCursorElement*>(asObject(slot.slotBase()))->impl());
+ SVGCursorElement* imp = static_cast<SVGCursorElement*>(castedThis->impl());
RefPtr<SVGAnimatedBoolean> obj = imp->externalResourcesRequiredAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue JSC_HOST_CALL jsSVGCursorElementPrototypeFunctionHasExtension(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGCursorElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGCursorElement.h
index 3771090..81921c4 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGCursorElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGCursorElement.h
@@ -33,7 +33,7 @@ class SVGCursorElement;
class JSSVGCursorElement : public JSSVGElement {
typedef JSSVGElement Base;
public:
- JSSVGCursorElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGCursorElement>);
+ JSSVGCursorElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGCursorElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGDefinitionSrcElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGDefinitionSrcElement.cpp
index 6947dda..9550465 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGDefinitionSrcElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGDefinitionSrcElement.cpp
@@ -40,7 +40,7 @@ static const HashTableValue JSSVGDefinitionSrcElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGDefinitionSrcElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGDefinitionSrcElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGDefinitionSrcElementPrototypeTableValues, 0 };
#else
@@ -56,8 +56,8 @@ JSObject* JSSVGDefinitionSrcElementPrototype::self(ExecState* exec, JSGlobalObje
const ClassInfo JSSVGDefinitionSrcElement::s_info = { "SVGDefinitionSrcElement", &JSSVGElement::s_info, 0, 0 };
-JSSVGDefinitionSrcElement::JSSVGDefinitionSrcElement(PassRefPtr<Structure> structure, PassRefPtr<SVGDefinitionSrcElement> impl)
- : JSSVGElement(structure, impl)
+JSSVGDefinitionSrcElement::JSSVGDefinitionSrcElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGDefinitionSrcElement> impl)
+ : JSSVGElement(structure, globalObject, impl)
{
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGDefinitionSrcElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGDefinitionSrcElement.h
index 9997f52..2afb3e9 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGDefinitionSrcElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGDefinitionSrcElement.h
@@ -33,7 +33,7 @@ class SVGDefinitionSrcElement;
class JSSVGDefinitionSrcElement : public JSSVGElement {
typedef JSSVGElement Base;
public:
- JSSVGDefinitionSrcElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGDefinitionSrcElement>);
+ JSSVGDefinitionSrcElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGDefinitionSrcElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
static const JSC::ClassInfo s_info;
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGDefsElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGDefsElement.cpp
index 83e26d0..f5e8ac7 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGDefsElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGDefsElement.cpp
@@ -68,7 +68,7 @@ static const HashTableValue JSSVGDefsElementTableValues[12] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGDefsElementTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGDefsElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 127, JSSVGDefsElementTableValues, 0 };
#else
@@ -88,7 +88,7 @@ static const HashTableValue JSSVGDefsElementPrototypeTableValues[7] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGDefsElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGDefsElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 2047, JSSVGDefsElementPrototypeTableValues, 0 };
#else
@@ -109,8 +109,8 @@ bool JSSVGDefsElementPrototype::getOwnPropertySlot(ExecState* exec, const Identi
const ClassInfo JSSVGDefsElement::s_info = { "SVGDefsElement", &JSSVGElement::s_info, &JSSVGDefsElementTable, 0 };
-JSSVGDefsElement::JSSVGDefsElement(PassRefPtr<Structure> structure, PassRefPtr<SVGDefsElement> impl)
- : JSSVGElement(structure, impl)
+JSSVGDefsElement::JSSVGDefsElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGDefsElement> impl)
+ : JSSVGElement(structure, globalObject, impl)
{
}
@@ -126,82 +126,93 @@ bool JSSVGDefsElement::getOwnPropertySlot(ExecState* exec, const Identifier& pro
JSValue jsSVGDefsElementRequiredFeatures(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGDefsElement* castedThis = static_cast<JSSVGDefsElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGDefsElement* imp = static_cast<SVGDefsElement*>(static_cast<JSSVGDefsElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->requiredFeatures()), imp);
+ SVGDefsElement* imp = static_cast<SVGDefsElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->requiredFeatures()), imp);
}
JSValue jsSVGDefsElementRequiredExtensions(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGDefsElement* castedThis = static_cast<JSSVGDefsElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGDefsElement* imp = static_cast<SVGDefsElement*>(static_cast<JSSVGDefsElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->requiredExtensions()), imp);
+ SVGDefsElement* imp = static_cast<SVGDefsElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->requiredExtensions()), imp);
}
JSValue jsSVGDefsElementSystemLanguage(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGDefsElement* castedThis = static_cast<JSSVGDefsElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGDefsElement* imp = static_cast<SVGDefsElement*>(static_cast<JSSVGDefsElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->systemLanguage()), imp);
+ SVGDefsElement* imp = static_cast<SVGDefsElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->systemLanguage()), imp);
}
JSValue jsSVGDefsElementXmllang(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGDefsElement* castedThis = static_cast<JSSVGDefsElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGDefsElement* imp = static_cast<SVGDefsElement*>(static_cast<JSSVGDefsElement*>(asObject(slot.slotBase()))->impl());
+ SVGDefsElement* imp = static_cast<SVGDefsElement*>(castedThis->impl());
return jsString(exec, imp->xmllang());
}
JSValue jsSVGDefsElementXmlspace(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGDefsElement* castedThis = static_cast<JSSVGDefsElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGDefsElement* imp = static_cast<SVGDefsElement*>(static_cast<JSSVGDefsElement*>(asObject(slot.slotBase()))->impl());
+ SVGDefsElement* imp = static_cast<SVGDefsElement*>(castedThis->impl());
return jsString(exec, imp->xmlspace());
}
JSValue jsSVGDefsElementExternalResourcesRequired(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGDefsElement* castedThis = static_cast<JSSVGDefsElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGDefsElement* imp = static_cast<SVGDefsElement*>(static_cast<JSSVGDefsElement*>(asObject(slot.slotBase()))->impl());
+ SVGDefsElement* imp = static_cast<SVGDefsElement*>(castedThis->impl());
RefPtr<SVGAnimatedBoolean> obj = imp->externalResourcesRequiredAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGDefsElementClassName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGDefsElement* castedThis = static_cast<JSSVGDefsElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGDefsElement* imp = static_cast<SVGDefsElement*>(static_cast<JSSVGDefsElement*>(asObject(slot.slotBase()))->impl());
+ SVGDefsElement* imp = static_cast<SVGDefsElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->classNameAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGDefsElementStyle(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGDefsElement* castedThis = static_cast<JSSVGDefsElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGDefsElement* imp = static_cast<SVGDefsElement*>(static_cast<JSSVGDefsElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->style()));
+ SVGDefsElement* imp = static_cast<SVGDefsElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->style()));
}
JSValue jsSVGDefsElementTransform(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGDefsElement* castedThis = static_cast<JSSVGDefsElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGDefsElement* imp = static_cast<SVGDefsElement*>(static_cast<JSSVGDefsElement*>(asObject(slot.slotBase()))->impl());
+ SVGDefsElement* imp = static_cast<SVGDefsElement*>(castedThis->impl());
RefPtr<SVGAnimatedTransformList> obj = imp->transformAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGDefsElementNearestViewportElement(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGDefsElement* castedThis = static_cast<JSSVGDefsElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGDefsElement* imp = static_cast<SVGDefsElement*>(static_cast<JSSVGDefsElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->nearestViewportElement()));
+ SVGDefsElement* imp = static_cast<SVGDefsElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->nearestViewportElement()));
}
JSValue jsSVGDefsElementFarthestViewportElement(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGDefsElement* castedThis = static_cast<JSSVGDefsElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGDefsElement* imp = static_cast<SVGDefsElement*>(static_cast<JSSVGDefsElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->farthestViewportElement()));
+ SVGDefsElement* imp = static_cast<SVGDefsElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->farthestViewportElement()));
}
void JSSVGDefsElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
@@ -245,7 +256,7 @@ JSValue JSC_HOST_CALL jsSVGDefsElementPrototypeFunctionGetPresentationAttribute(
const UString& name = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getPresentationAttribute(name)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getPresentationAttribute(name)));
return result;
}
@@ -258,7 +269,7 @@ JSValue JSC_HOST_CALL jsSVGDefsElementPrototypeFunctionGetBBox(ExecState* exec,
SVGDefsElement* imp = static_cast<SVGDefsElement*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<FloatRect>::create(imp->getBBox()).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<FloatRect>::create(imp->getBBox()).get(), imp);
return result;
}
@@ -271,7 +282,7 @@ JSValue JSC_HOST_CALL jsSVGDefsElementPrototypeFunctionGetCTM(ExecState* exec, J
SVGDefsElement* imp = static_cast<SVGDefsElement*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getCTM()).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getCTM()).get(), imp);
return result;
}
@@ -284,7 +295,7 @@ JSValue JSC_HOST_CALL jsSVGDefsElementPrototypeFunctionGetScreenCTM(ExecState* e
SVGDefsElement* imp = static_cast<SVGDefsElement*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getScreenCTM()).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getScreenCTM()).get(), imp);
return result;
}
@@ -299,7 +310,7 @@ JSValue JSC_HOST_CALL jsSVGDefsElementPrototypeFunctionGetTransformToElement(Exe
SVGElement* element = toSVGElement(args.at(0));
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getTransformToElement(element, ec)).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getTransformToElement(element, ec)).get(), imp);
setDOMException(exec, ec);
return result;
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGDefsElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGDefsElement.h
index e4fa8b5..b960226 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGDefsElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGDefsElement.h
@@ -33,7 +33,7 @@ class SVGDefsElement;
class JSSVGDefsElement : public JSSVGElement {
typedef JSSVGElement Base;
public:
- JSSVGDefsElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGDefsElement>);
+ JSSVGDefsElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGDefsElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGDescElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGDescElement.cpp
index 28641ab..55ab055 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGDescElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGDescElement.cpp
@@ -53,7 +53,7 @@ static const HashTableValue JSSVGDescElementTableValues[5] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGDescElementTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGDescElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSSVGDescElementTableValues, 0 };
#else
@@ -68,7 +68,7 @@ static const HashTableValue JSSVGDescElementPrototypeTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGDescElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGDescElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGDescElementPrototypeTableValues, 0 };
#else
@@ -89,8 +89,8 @@ bool JSSVGDescElementPrototype::getOwnPropertySlot(ExecState* exec, const Identi
const ClassInfo JSSVGDescElement::s_info = { "SVGDescElement", &JSSVGElement::s_info, &JSSVGDescElementTable, 0 };
-JSSVGDescElement::JSSVGDescElement(PassRefPtr<Structure> structure, PassRefPtr<SVGDescElement> impl)
- : JSSVGElement(structure, impl)
+JSSVGDescElement::JSSVGDescElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGDescElement> impl)
+ : JSSVGElement(structure, globalObject, impl)
{
}
@@ -106,31 +106,35 @@ bool JSSVGDescElement::getOwnPropertySlot(ExecState* exec, const Identifier& pro
JSValue jsSVGDescElementXmllang(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGDescElement* castedThis = static_cast<JSSVGDescElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGDescElement* imp = static_cast<SVGDescElement*>(static_cast<JSSVGDescElement*>(asObject(slot.slotBase()))->impl());
+ SVGDescElement* imp = static_cast<SVGDescElement*>(castedThis->impl());
return jsString(exec, imp->xmllang());
}
JSValue jsSVGDescElementXmlspace(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGDescElement* castedThis = static_cast<JSSVGDescElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGDescElement* imp = static_cast<SVGDescElement*>(static_cast<JSSVGDescElement*>(asObject(slot.slotBase()))->impl());
+ SVGDescElement* imp = static_cast<SVGDescElement*>(castedThis->impl());
return jsString(exec, imp->xmlspace());
}
JSValue jsSVGDescElementClassName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGDescElement* castedThis = static_cast<JSSVGDescElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGDescElement* imp = static_cast<SVGDescElement*>(static_cast<JSSVGDescElement*>(asObject(slot.slotBase()))->impl());
+ SVGDescElement* imp = static_cast<SVGDescElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->classNameAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGDescElementStyle(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGDescElement* castedThis = static_cast<JSSVGDescElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGDescElement* imp = static_cast<SVGDescElement*>(static_cast<JSSVGDescElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->style()));
+ SVGDescElement* imp = static_cast<SVGDescElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->style()));
}
void JSSVGDescElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
@@ -160,7 +164,7 @@ JSValue JSC_HOST_CALL jsSVGDescElementPrototypeFunctionGetPresentationAttribute(
const UString& name = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getPresentationAttribute(name)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getPresentationAttribute(name)));
return result;
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGDescElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGDescElement.h
index b8ca101..179d7b3 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGDescElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGDescElement.h
@@ -33,7 +33,7 @@ class SVGDescElement;
class JSSVGDescElement : public JSSVGElement {
typedef JSSVGElement Base;
public:
- JSSVGDescElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGDescElement>);
+ JSSVGDescElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGDescElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGDocument.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGDocument.cpp
index 840e6c9..0e7d8fd 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGDocument.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGDocument.cpp
@@ -46,7 +46,7 @@ static const HashTableValue JSSVGDocumentTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGDocumentTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGDocumentTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGDocumentTableValues, 0 };
#else
@@ -61,7 +61,7 @@ static const HashTableValue JSSVGDocumentPrototypeTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGDocumentPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGDocumentPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGDocumentPrototypeTableValues, 0 };
#else
@@ -82,8 +82,8 @@ bool JSSVGDocumentPrototype::getOwnPropertySlot(ExecState* exec, const Identifie
const ClassInfo JSSVGDocument::s_info = { "SVGDocument", &JSDocument::s_info, &JSSVGDocumentTable, 0 };
-JSSVGDocument::JSSVGDocument(PassRefPtr<Structure> structure, PassRefPtr<SVGDocument> impl)
- : JSDocument(structure, impl)
+JSSVGDocument::JSSVGDocument(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGDocument> impl)
+ : JSDocument(structure, globalObject, impl)
{
}
@@ -99,9 +99,10 @@ bool JSSVGDocument::getOwnPropertySlot(ExecState* exec, const Identifier& proper
JSValue jsSVGDocumentRootElement(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGDocument* castedThis = static_cast<JSSVGDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGDocument* imp = static_cast<SVGDocument*>(static_cast<JSSVGDocument*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->rootElement()));
+ SVGDocument* imp = static_cast<SVGDocument*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->rootElement()));
}
JSValue JSC_HOST_CALL jsSVGDocumentPrototypeFunctionCreateEvent(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -115,7 +116,7 @@ JSValue JSC_HOST_CALL jsSVGDocumentPrototypeFunctionCreateEvent(ExecState* exec,
const UString& eventType = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->createEvent(eventType, ec)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->createEvent(eventType, ec)));
setDOMException(exec, ec);
return result;
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGDocument.h b/src/3rdparty/webkit/WebCore/generated/JSSVGDocument.h
index d4bd50e..8f279c9 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGDocument.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGDocument.h
@@ -33,7 +33,7 @@ class SVGDocument;
class JSSVGDocument : public JSDocument {
typedef JSDocument Base;
public:
- JSSVGDocument(PassRefPtr<JSC::Structure>, PassRefPtr<SVGDocument>);
+ JSSVGDocument(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGDocument>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGElement.cpp
index e4defcf..f6a775b 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGElement.cpp
@@ -49,7 +49,7 @@ static const HashTableValue JSSVGElementTableValues[5] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGElementTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSSVGElementTableValues, 0 };
#else
@@ -63,7 +63,7 @@ static const HashTableValue JSSVGElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGElementPrototypeTableValues, 0 };
#else
@@ -79,8 +79,8 @@ JSObject* JSSVGElementPrototype::self(ExecState* exec, JSGlobalObject* globalObj
const ClassInfo JSSVGElement::s_info = { "SVGElement", &JSElement::s_info, &JSSVGElementTable, 0 };
-JSSVGElement::JSSVGElement(PassRefPtr<Structure> structure, PassRefPtr<SVGElement> impl)
- : JSElement(structure, impl)
+JSSVGElement::JSSVGElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> impl)
+ : JSElement(structure, globalObject, impl)
{
}
@@ -96,30 +96,34 @@ bool JSSVGElement::getOwnPropertySlot(ExecState* exec, const Identifier& propert
JSValue jsSVGElementId(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGElement* castedThis = static_cast<JSSVGElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGElement* imp = static_cast<SVGElement*>(static_cast<JSSVGElement*>(asObject(slot.slotBase()))->impl());
+ SVGElement* imp = static_cast<SVGElement*>(castedThis->impl());
return jsString(exec, imp->id());
}
JSValue jsSVGElementXmlbase(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGElement* castedThis = static_cast<JSSVGElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGElement* imp = static_cast<SVGElement*>(static_cast<JSSVGElement*>(asObject(slot.slotBase()))->impl());
+ SVGElement* imp = static_cast<SVGElement*>(castedThis->impl());
return jsString(exec, imp->xmlbase());
}
JSValue jsSVGElementOwnerSVGElement(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGElement* castedThis = static_cast<JSSVGElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGElement* imp = static_cast<SVGElement*>(static_cast<JSSVGElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->ownerSVGElement()));
+ SVGElement* imp = static_cast<SVGElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->ownerSVGElement()));
}
JSValue jsSVGElementViewportElement(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGElement* castedThis = static_cast<JSSVGElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGElement* imp = static_cast<SVGElement*>(static_cast<JSSVGElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->viewportElement()));
+ SVGElement* imp = static_cast<SVGElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->viewportElement()));
}
void JSSVGElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGElement.h
index 7123c7d..cb2ae10 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGElement.h
@@ -33,7 +33,7 @@ class SVGElement;
class JSSVGElement : public JSElement {
typedef JSElement Base;
public:
- JSSVGElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGElement>);
+ JSSVGElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGElementInstance.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGElementInstance.cpp
index 3b4d6b1..979d2ac 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGElementInstance.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGElementInstance.cpp
@@ -102,7 +102,7 @@ static const HashTableValue JSSVGElementInstanceTableValues[49] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGElementInstanceTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGElementInstanceTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 4095, JSSVGElementInstanceTableValues, 0 };
#else
@@ -119,7 +119,7 @@ static const HashTableValue JSSVGElementInstancePrototypeTableValues[4] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGElementInstancePrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGElementInstancePrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 3, JSSVGElementInstancePrototypeTableValues, 0 };
#else
@@ -140,8 +140,8 @@ bool JSSVGElementInstancePrototype::getOwnPropertySlot(ExecState* exec, const Id
const ClassInfo JSSVGElementInstance::s_info = { "SVGElementInstance", 0, &JSSVGElementInstanceTable, 0 };
-JSSVGElementInstance::JSSVGElementInstance(PassRefPtr<Structure> structure, PassRefPtr<SVGElementInstance> impl)
- : DOMObject(structure)
+JSSVGElementInstance::JSSVGElementInstance(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElementInstance> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -163,64 +163,73 @@ bool JSSVGElementInstance::getOwnPropertySlot(ExecState* exec, const Identifier&
JSValue jsSVGElementInstanceCorrespondingElement(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGElementInstance* castedThis = static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->correspondingElement()));
+ SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->correspondingElement()));
}
JSValue jsSVGElementInstanceCorrespondingUseElement(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGElementInstance* castedThis = static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->correspondingUseElement()));
+ SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->correspondingUseElement()));
}
JSValue jsSVGElementInstanceParentNode(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGElementInstance* castedThis = static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->parentNode()));
+ SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->parentNode()));
}
JSValue jsSVGElementInstanceChildNodes(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGElementInstance* castedThis = static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->childNodes()));
+ SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->childNodes()));
}
JSValue jsSVGElementInstanceFirstChild(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGElementInstance* castedThis = static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->firstChild()));
+ SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->firstChild()));
}
JSValue jsSVGElementInstanceLastChild(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGElementInstance* castedThis = static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->lastChild()));
+ SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->lastChild()));
}
JSValue jsSVGElementInstancePreviousSibling(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGElementInstance* castedThis = static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->previousSibling()));
+ SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->previousSibling()));
}
JSValue jsSVGElementInstanceNextSibling(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGElementInstance* castedThis = static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->nextSibling()));
+ SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->nextSibling()));
}
JSValue jsSVGElementInstanceOnabort(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGElementInstance* castedThis = static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()))->impl());
+ SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl());
if (EventListener* listener = imp->onabort()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -230,8 +239,9 @@ JSValue jsSVGElementInstanceOnabort(ExecState* exec, const Identifier&, const Pr
JSValue jsSVGElementInstanceOnblur(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGElementInstance* castedThis = static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()))->impl());
+ SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl());
if (EventListener* listener = imp->onblur()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -241,8 +251,9 @@ JSValue jsSVGElementInstanceOnblur(ExecState* exec, const Identifier&, const Pro
JSValue jsSVGElementInstanceOnchange(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGElementInstance* castedThis = static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()))->impl());
+ SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl());
if (EventListener* listener = imp->onchange()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -252,8 +263,9 @@ JSValue jsSVGElementInstanceOnchange(ExecState* exec, const Identifier&, const P
JSValue jsSVGElementInstanceOnclick(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGElementInstance* castedThis = static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()))->impl());
+ SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl());
if (EventListener* listener = imp->onclick()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -263,8 +275,9 @@ JSValue jsSVGElementInstanceOnclick(ExecState* exec, const Identifier&, const Pr
JSValue jsSVGElementInstanceOncontextmenu(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGElementInstance* castedThis = static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()))->impl());
+ SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl());
if (EventListener* listener = imp->oncontextmenu()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -274,8 +287,9 @@ JSValue jsSVGElementInstanceOncontextmenu(ExecState* exec, const Identifier&, co
JSValue jsSVGElementInstanceOndblclick(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGElementInstance* castedThis = static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()))->impl());
+ SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl());
if (EventListener* listener = imp->ondblclick()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -285,8 +299,9 @@ JSValue jsSVGElementInstanceOndblclick(ExecState* exec, const Identifier&, const
JSValue jsSVGElementInstanceOnerror(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGElementInstance* castedThis = static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()))->impl());
+ SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl());
if (EventListener* listener = imp->onerror()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -296,8 +311,9 @@ JSValue jsSVGElementInstanceOnerror(ExecState* exec, const Identifier&, const Pr
JSValue jsSVGElementInstanceOnfocus(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGElementInstance* castedThis = static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()))->impl());
+ SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl());
if (EventListener* listener = imp->onfocus()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -307,8 +323,9 @@ JSValue jsSVGElementInstanceOnfocus(ExecState* exec, const Identifier&, const Pr
JSValue jsSVGElementInstanceOninput(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGElementInstance* castedThis = static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()))->impl());
+ SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl());
if (EventListener* listener = imp->oninput()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -318,8 +335,9 @@ JSValue jsSVGElementInstanceOninput(ExecState* exec, const Identifier&, const Pr
JSValue jsSVGElementInstanceOnkeydown(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGElementInstance* castedThis = static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()))->impl());
+ SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl());
if (EventListener* listener = imp->onkeydown()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -329,8 +347,9 @@ JSValue jsSVGElementInstanceOnkeydown(ExecState* exec, const Identifier&, const
JSValue jsSVGElementInstanceOnkeypress(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGElementInstance* castedThis = static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()))->impl());
+ SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl());
if (EventListener* listener = imp->onkeypress()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -340,8 +359,9 @@ JSValue jsSVGElementInstanceOnkeypress(ExecState* exec, const Identifier&, const
JSValue jsSVGElementInstanceOnkeyup(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGElementInstance* castedThis = static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()))->impl());
+ SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl());
if (EventListener* listener = imp->onkeyup()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -351,8 +371,9 @@ JSValue jsSVGElementInstanceOnkeyup(ExecState* exec, const Identifier&, const Pr
JSValue jsSVGElementInstanceOnload(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGElementInstance* castedThis = static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()))->impl());
+ SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl());
if (EventListener* listener = imp->onload()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -362,8 +383,9 @@ JSValue jsSVGElementInstanceOnload(ExecState* exec, const Identifier&, const Pro
JSValue jsSVGElementInstanceOnmousedown(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGElementInstance* castedThis = static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()))->impl());
+ SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl());
if (EventListener* listener = imp->onmousedown()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -373,8 +395,9 @@ JSValue jsSVGElementInstanceOnmousedown(ExecState* exec, const Identifier&, cons
JSValue jsSVGElementInstanceOnmousemove(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGElementInstance* castedThis = static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()))->impl());
+ SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl());
if (EventListener* listener = imp->onmousemove()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -384,8 +407,9 @@ JSValue jsSVGElementInstanceOnmousemove(ExecState* exec, const Identifier&, cons
JSValue jsSVGElementInstanceOnmouseout(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGElementInstance* castedThis = static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()))->impl());
+ SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl());
if (EventListener* listener = imp->onmouseout()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -395,8 +419,9 @@ JSValue jsSVGElementInstanceOnmouseout(ExecState* exec, const Identifier&, const
JSValue jsSVGElementInstanceOnmouseover(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGElementInstance* castedThis = static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()))->impl());
+ SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl());
if (EventListener* listener = imp->onmouseover()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -406,8 +431,9 @@ JSValue jsSVGElementInstanceOnmouseover(ExecState* exec, const Identifier&, cons
JSValue jsSVGElementInstanceOnmouseup(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGElementInstance* castedThis = static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()))->impl());
+ SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl());
if (EventListener* listener = imp->onmouseup()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -417,8 +443,9 @@ JSValue jsSVGElementInstanceOnmouseup(ExecState* exec, const Identifier&, const
JSValue jsSVGElementInstanceOnmousewheel(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGElementInstance* castedThis = static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()))->impl());
+ SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl());
if (EventListener* listener = imp->onmousewheel()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -428,8 +455,9 @@ JSValue jsSVGElementInstanceOnmousewheel(ExecState* exec, const Identifier&, con
JSValue jsSVGElementInstanceOnbeforecut(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGElementInstance* castedThis = static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()))->impl());
+ SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl());
if (EventListener* listener = imp->onbeforecut()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -439,8 +467,9 @@ JSValue jsSVGElementInstanceOnbeforecut(ExecState* exec, const Identifier&, cons
JSValue jsSVGElementInstanceOncut(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGElementInstance* castedThis = static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()))->impl());
+ SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl());
if (EventListener* listener = imp->oncut()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -450,8 +479,9 @@ JSValue jsSVGElementInstanceOncut(ExecState* exec, const Identifier&, const Prop
JSValue jsSVGElementInstanceOnbeforecopy(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGElementInstance* castedThis = static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()))->impl());
+ SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl());
if (EventListener* listener = imp->onbeforecopy()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -461,8 +491,9 @@ JSValue jsSVGElementInstanceOnbeforecopy(ExecState* exec, const Identifier&, con
JSValue jsSVGElementInstanceOncopy(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGElementInstance* castedThis = static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()))->impl());
+ SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl());
if (EventListener* listener = imp->oncopy()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -472,8 +503,9 @@ JSValue jsSVGElementInstanceOncopy(ExecState* exec, const Identifier&, const Pro
JSValue jsSVGElementInstanceOnbeforepaste(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGElementInstance* castedThis = static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()))->impl());
+ SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl());
if (EventListener* listener = imp->onbeforepaste()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -483,8 +515,9 @@ JSValue jsSVGElementInstanceOnbeforepaste(ExecState* exec, const Identifier&, co
JSValue jsSVGElementInstanceOnpaste(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGElementInstance* castedThis = static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()))->impl());
+ SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl());
if (EventListener* listener = imp->onpaste()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -494,8 +527,9 @@ JSValue jsSVGElementInstanceOnpaste(ExecState* exec, const Identifier&, const Pr
JSValue jsSVGElementInstanceOndragenter(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGElementInstance* castedThis = static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()))->impl());
+ SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl());
if (EventListener* listener = imp->ondragenter()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -505,8 +539,9 @@ JSValue jsSVGElementInstanceOndragenter(ExecState* exec, const Identifier&, cons
JSValue jsSVGElementInstanceOndragover(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGElementInstance* castedThis = static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()))->impl());
+ SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl());
if (EventListener* listener = imp->ondragover()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -516,8 +551,9 @@ JSValue jsSVGElementInstanceOndragover(ExecState* exec, const Identifier&, const
JSValue jsSVGElementInstanceOndragleave(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGElementInstance* castedThis = static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()))->impl());
+ SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl());
if (EventListener* listener = imp->ondragleave()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -527,8 +563,9 @@ JSValue jsSVGElementInstanceOndragleave(ExecState* exec, const Identifier&, cons
JSValue jsSVGElementInstanceOndrop(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGElementInstance* castedThis = static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()))->impl());
+ SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl());
if (EventListener* listener = imp->ondrop()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -538,8 +575,9 @@ JSValue jsSVGElementInstanceOndrop(ExecState* exec, const Identifier&, const Pro
JSValue jsSVGElementInstanceOndragstart(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGElementInstance* castedThis = static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()))->impl());
+ SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl());
if (EventListener* listener = imp->ondragstart()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -549,8 +587,9 @@ JSValue jsSVGElementInstanceOndragstart(ExecState* exec, const Identifier&, cons
JSValue jsSVGElementInstanceOndrag(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGElementInstance* castedThis = static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()))->impl());
+ SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl());
if (EventListener* listener = imp->ondrag()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -560,8 +599,9 @@ JSValue jsSVGElementInstanceOndrag(ExecState* exec, const Identifier&, const Pro
JSValue jsSVGElementInstanceOndragend(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGElementInstance* castedThis = static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()))->impl());
+ SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl());
if (EventListener* listener = imp->ondragend()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -571,8 +611,9 @@ JSValue jsSVGElementInstanceOndragend(ExecState* exec, const Identifier&, const
JSValue jsSVGElementInstanceOnreset(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGElementInstance* castedThis = static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()))->impl());
+ SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl());
if (EventListener* listener = imp->onreset()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -582,8 +623,9 @@ JSValue jsSVGElementInstanceOnreset(ExecState* exec, const Identifier&, const Pr
JSValue jsSVGElementInstanceOnresize(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGElementInstance* castedThis = static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()))->impl());
+ SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl());
if (EventListener* listener = imp->onresize()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -593,8 +635,9 @@ JSValue jsSVGElementInstanceOnresize(ExecState* exec, const Identifier&, const P
JSValue jsSVGElementInstanceOnscroll(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGElementInstance* castedThis = static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()))->impl());
+ SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl());
if (EventListener* listener = imp->onscroll()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -604,8 +647,9 @@ JSValue jsSVGElementInstanceOnscroll(ExecState* exec, const Identifier&, const P
JSValue jsSVGElementInstanceOnsearch(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGElementInstance* castedThis = static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()))->impl());
+ SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl());
if (EventListener* listener = imp->onsearch()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -615,8 +659,9 @@ JSValue jsSVGElementInstanceOnsearch(ExecState* exec, const Identifier&, const P
JSValue jsSVGElementInstanceOnselect(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGElementInstance* castedThis = static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()))->impl());
+ SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl());
if (EventListener* listener = imp->onselect()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -626,8 +671,9 @@ JSValue jsSVGElementInstanceOnselect(ExecState* exec, const Identifier&, const P
JSValue jsSVGElementInstanceOnselectstart(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGElementInstance* castedThis = static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()))->impl());
+ SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl());
if (EventListener* listener = imp->onselectstart()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -637,8 +683,9 @@ JSValue jsSVGElementInstanceOnselectstart(ExecState* exec, const Identifier&, co
JSValue jsSVGElementInstanceOnsubmit(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGElementInstance* castedThis = static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()))->impl());
+ SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl());
if (EventListener* listener = imp->onsubmit()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -648,8 +695,9 @@ JSValue jsSVGElementInstanceOnsubmit(ExecState* exec, const Identifier&, const P
JSValue jsSVGElementInstanceOnunload(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGElementInstance* castedThis = static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()))->impl());
+ SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl());
if (EventListener* listener = imp->onunload()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGElementInstance.h b/src/3rdparty/webkit/WebCore/generated/JSSVGElementInstance.h
index 59a9c10..2922b42 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGElementInstance.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGElementInstance.h
@@ -23,6 +23,7 @@
#if ENABLE(SVG)
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include "SVGElement.h"
#include <runtime/JSGlobalObject.h>
@@ -32,10 +33,10 @@ namespace WebCore {
class SVGElementInstance;
-class JSSVGElementInstance : public DOMObject {
- typedef DOMObject Base;
+class JSSVGElementInstance : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSSVGElementInstance(PassRefPtr<JSC::Structure>, PassRefPtr<SVGElementInstance>);
+ JSSVGElementInstance(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGElementInstance>);
virtual ~JSSVGElementInstance();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -62,7 +63,7 @@ private:
RefPtr<SVGElementInstance> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, SVGElementInstance*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, SVGElementInstance*);
SVGElementInstance* toSVGElementInstance(JSC::JSValue);
class JSSVGElementInstancePrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGElementInstanceList.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGElementInstanceList.cpp
index 81c9335..1f965aa 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGElementInstanceList.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGElementInstanceList.cpp
@@ -45,7 +45,7 @@ static const HashTableValue JSSVGElementInstanceListTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGElementInstanceListTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGElementInstanceListTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGElementInstanceListTableValues, 0 };
#else
@@ -60,7 +60,7 @@ static const HashTableValue JSSVGElementInstanceListPrototypeTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGElementInstanceListPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGElementInstanceListPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGElementInstanceListPrototypeTableValues, 0 };
#else
@@ -81,8 +81,8 @@ bool JSSVGElementInstanceListPrototype::getOwnPropertySlot(ExecState* exec, cons
const ClassInfo JSSVGElementInstanceList::s_info = { "SVGElementInstanceList", 0, &JSSVGElementInstanceListTable, 0 };
-JSSVGElementInstanceList::JSSVGElementInstanceList(PassRefPtr<Structure> structure, PassRefPtr<SVGElementInstanceList> impl)
- : DOMObject(structure)
+JSSVGElementInstanceList::JSSVGElementInstanceList(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElementInstanceList> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -104,8 +104,9 @@ bool JSSVGElementInstanceList::getOwnPropertySlot(ExecState* exec, const Identif
JSValue jsSVGElementInstanceListLength(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGElementInstanceList* castedThis = static_cast<JSSVGElementInstanceList*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGElementInstanceList* imp = static_cast<SVGElementInstanceList*>(static_cast<JSSVGElementInstanceList*>(asObject(slot.slotBase()))->impl());
+ SVGElementInstanceList* imp = static_cast<SVGElementInstanceList*>(castedThis->impl());
return jsNumber(exec, imp->length());
}
@@ -119,13 +120,13 @@ JSValue JSC_HOST_CALL jsSVGElementInstanceListPrototypeFunctionItem(ExecState* e
unsigned index = args.at(0).toInt32(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->item(index)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->item(index)));
return result;
}
-JSC::JSValue toJS(JSC::ExecState* exec, SVGElementInstanceList* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, SVGElementInstanceList* object)
{
- return getDOMObjectWrapper<JSSVGElementInstanceList>(exec, object);
+ return getDOMObjectWrapper<JSSVGElementInstanceList>(exec, globalObject, object);
}
SVGElementInstanceList* toSVGElementInstanceList(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGElementInstanceList.h b/src/3rdparty/webkit/WebCore/generated/JSSVGElementInstanceList.h
index 956d44a..fa9f853 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGElementInstanceList.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGElementInstanceList.h
@@ -23,6 +23,7 @@
#if ENABLE(SVG)
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include "SVGElement.h"
#include <runtime/JSGlobalObject.h>
@@ -32,10 +33,10 @@ namespace WebCore {
class SVGElementInstanceList;
-class JSSVGElementInstanceList : public DOMObject {
- typedef DOMObject Base;
+class JSSVGElementInstanceList : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSSVGElementInstanceList(PassRefPtr<JSC::Structure>, PassRefPtr<SVGElementInstanceList>);
+ JSSVGElementInstanceList(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGElementInstanceList>);
virtual ~JSSVGElementInstanceList();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -53,7 +54,7 @@ private:
RefPtr<SVGElementInstanceList> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, SVGElementInstanceList*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, SVGElementInstanceList*);
SVGElementInstanceList* toSVGElementInstanceList(JSC::JSValue);
class JSSVGElementInstanceListPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGElementWrapperFactory.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGElementWrapperFactory.cpp
index 6579833..3b44712 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGElementWrapperFactory.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGElementWrapperFactory.cpp
@@ -143,249 +143,249 @@ namespace WebCore {
using namespace SVGNames;
-typedef JSNode* (*CreateSVGElementWrapperFunction)(ExecState*, PassRefPtr<SVGElement>);
+typedef JSNode* (*CreateSVGElementWrapperFunction)(ExecState*, JSDOMGlobalObject*, PassRefPtr<SVGElement>);
-static JSNode* createSVGAElementWrapper(ExecState* exec, PassRefPtr<SVGElement> element)
+static JSNode* createSVGAElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, SVGAElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, SVGAElement, element.get());
}
-static JSNode* createSVGAltGlyphElementWrapper(ExecState* exec, PassRefPtr<SVGElement> element)
+static JSNode* createSVGAltGlyphElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, SVGAltGlyphElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, SVGAltGlyphElement, element.get());
}
-static JSNode* createSVGAnimateElementWrapper(ExecState* exec, PassRefPtr<SVGElement> element)
+static JSNode* createSVGAnimateElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, SVGAnimateElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, SVGAnimateElement, element.get());
}
-static JSNode* createSVGAnimateColorElementWrapper(ExecState* exec, PassRefPtr<SVGElement> element)
+static JSNode* createSVGAnimateColorElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, SVGAnimateColorElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, SVGAnimateColorElement, element.get());
}
-static JSNode* createSVGAnimateTransformElementWrapper(ExecState* exec, PassRefPtr<SVGElement> element)
+static JSNode* createSVGAnimateTransformElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, SVGAnimateTransformElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, SVGAnimateTransformElement, element.get());
}
-static JSNode* createSVGCircleElementWrapper(ExecState* exec, PassRefPtr<SVGElement> element)
+static JSNode* createSVGCircleElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, SVGCircleElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, SVGCircleElement, element.get());
}
-static JSNode* createSVGClipPathElementWrapper(ExecState* exec, PassRefPtr<SVGElement> element)
+static JSNode* createSVGClipPathElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, SVGClipPathElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, SVGClipPathElement, element.get());
}
-static JSNode* createSVGCursorElementWrapper(ExecState* exec, PassRefPtr<SVGElement> element)
+static JSNode* createSVGCursorElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, SVGCursorElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, SVGCursorElement, element.get());
}
-static JSNode* createSVGDefinitionSrcElementWrapper(ExecState* exec, PassRefPtr<SVGElement> element)
+static JSNode* createSVGDefinitionSrcElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, SVGDefinitionSrcElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, SVGDefinitionSrcElement, element.get());
}
-static JSNode* createSVGDefsElementWrapper(ExecState* exec, PassRefPtr<SVGElement> element)
+static JSNode* createSVGDefsElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, SVGDefsElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, SVGDefsElement, element.get());
}
-static JSNode* createSVGDescElementWrapper(ExecState* exec, PassRefPtr<SVGElement> element)
+static JSNode* createSVGDescElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, SVGDescElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, SVGDescElement, element.get());
}
-static JSNode* createSVGEllipseElementWrapper(ExecState* exec, PassRefPtr<SVGElement> element)
+static JSNode* createSVGEllipseElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, SVGEllipseElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, SVGEllipseElement, element.get());
}
-static JSNode* createSVGFontElementWrapper(ExecState* exec, PassRefPtr<SVGElement> element)
+static JSNode* createSVGFontElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, SVGFontElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, SVGFontElement, element.get());
}
-static JSNode* createSVGFontFaceElementWrapper(ExecState* exec, PassRefPtr<SVGElement> element)
+static JSNode* createSVGFontFaceElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, SVGFontFaceElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, SVGFontFaceElement, element.get());
}
-static JSNode* createSVGFontFaceFormatElementWrapper(ExecState* exec, PassRefPtr<SVGElement> element)
+static JSNode* createSVGFontFaceFormatElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, SVGFontFaceFormatElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, SVGFontFaceFormatElement, element.get());
}
-static JSNode* createSVGFontFaceNameElementWrapper(ExecState* exec, PassRefPtr<SVGElement> element)
+static JSNode* createSVGFontFaceNameElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, SVGFontFaceNameElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, SVGFontFaceNameElement, element.get());
}
-static JSNode* createSVGFontFaceSrcElementWrapper(ExecState* exec, PassRefPtr<SVGElement> element)
+static JSNode* createSVGFontFaceSrcElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, SVGFontFaceSrcElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, SVGFontFaceSrcElement, element.get());
}
-static JSNode* createSVGFontFaceUriElementWrapper(ExecState* exec, PassRefPtr<SVGElement> element)
+static JSNode* createSVGFontFaceUriElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, SVGFontFaceUriElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, SVGFontFaceUriElement, element.get());
}
-static JSNode* createSVGForeignObjectElementWrapper(ExecState* exec, PassRefPtr<SVGElement> element)
+static JSNode* createSVGForeignObjectElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, SVGForeignObjectElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, SVGForeignObjectElement, element.get());
}
-static JSNode* createSVGGElementWrapper(ExecState* exec, PassRefPtr<SVGElement> element)
+static JSNode* createSVGGElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, SVGGElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, SVGGElement, element.get());
}
-static JSNode* createSVGGlyphElementWrapper(ExecState* exec, PassRefPtr<SVGElement> element)
+static JSNode* createSVGGlyphElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, SVGGlyphElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, SVGGlyphElement, element.get());
}
-static JSNode* createSVGImageElementWrapper(ExecState* exec, PassRefPtr<SVGElement> element)
+static JSNode* createSVGImageElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, SVGImageElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, SVGImageElement, element.get());
}
-static JSNode* createSVGLineElementWrapper(ExecState* exec, PassRefPtr<SVGElement> element)
+static JSNode* createSVGLineElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, SVGLineElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, SVGLineElement, element.get());
}
-static JSNode* createSVGLinearGradientElementWrapper(ExecState* exec, PassRefPtr<SVGElement> element)
+static JSNode* createSVGLinearGradientElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, SVGLinearGradientElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, SVGLinearGradientElement, element.get());
}
-static JSNode* createSVGMarkerElementWrapper(ExecState* exec, PassRefPtr<SVGElement> element)
+static JSNode* createSVGMarkerElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, SVGMarkerElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, SVGMarkerElement, element.get());
}
-static JSNode* createSVGMaskElementWrapper(ExecState* exec, PassRefPtr<SVGElement> element)
+static JSNode* createSVGMaskElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, SVGMaskElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, SVGMaskElement, element.get());
}
-static JSNode* createSVGMetadataElementWrapper(ExecState* exec, PassRefPtr<SVGElement> element)
+static JSNode* createSVGMetadataElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, SVGMetadataElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, SVGMetadataElement, element.get());
}
-static JSNode* createSVGMissingGlyphElementWrapper(ExecState* exec, PassRefPtr<SVGElement> element)
+static JSNode* createSVGMissingGlyphElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, SVGMissingGlyphElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, SVGMissingGlyphElement, element.get());
}
-static JSNode* createSVGPathElementWrapper(ExecState* exec, PassRefPtr<SVGElement> element)
+static JSNode* createSVGPathElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, SVGPathElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, SVGPathElement, element.get());
}
-static JSNode* createSVGPatternElementWrapper(ExecState* exec, PassRefPtr<SVGElement> element)
+static JSNode* createSVGPatternElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, SVGPatternElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, SVGPatternElement, element.get());
}
-static JSNode* createSVGPolygonElementWrapper(ExecState* exec, PassRefPtr<SVGElement> element)
+static JSNode* createSVGPolygonElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, SVGPolygonElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, SVGPolygonElement, element.get());
}
-static JSNode* createSVGPolylineElementWrapper(ExecState* exec, PassRefPtr<SVGElement> element)
+static JSNode* createSVGPolylineElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, SVGPolylineElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, SVGPolylineElement, element.get());
}
-static JSNode* createSVGRadialGradientElementWrapper(ExecState* exec, PassRefPtr<SVGElement> element)
+static JSNode* createSVGRadialGradientElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, SVGRadialGradientElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, SVGRadialGradientElement, element.get());
}
-static JSNode* createSVGRectElementWrapper(ExecState* exec, PassRefPtr<SVGElement> element)
+static JSNode* createSVGRectElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, SVGRectElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, SVGRectElement, element.get());
}
-static JSNode* createSVGScriptElementWrapper(ExecState* exec, PassRefPtr<SVGElement> element)
+static JSNode* createSVGScriptElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, SVGScriptElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, SVGScriptElement, element.get());
}
-static JSNode* createSVGSetElementWrapper(ExecState* exec, PassRefPtr<SVGElement> element)
+static JSNode* createSVGSetElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, SVGSetElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, SVGSetElement, element.get());
}
-static JSNode* createSVGStopElementWrapper(ExecState* exec, PassRefPtr<SVGElement> element)
+static JSNode* createSVGStopElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, SVGStopElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, SVGStopElement, element.get());
}
-static JSNode* createSVGStyleElementWrapper(ExecState* exec, PassRefPtr<SVGElement> element)
+static JSNode* createSVGStyleElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, SVGStyleElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, SVGStyleElement, element.get());
}
-static JSNode* createSVGSVGElementWrapper(ExecState* exec, PassRefPtr<SVGElement> element)
+static JSNode* createSVGSVGElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, SVGSVGElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, SVGSVGElement, element.get());
}
-static JSNode* createSVGSwitchElementWrapper(ExecState* exec, PassRefPtr<SVGElement> element)
+static JSNode* createSVGSwitchElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, SVGSwitchElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, SVGSwitchElement, element.get());
}
-static JSNode* createSVGSymbolElementWrapper(ExecState* exec, PassRefPtr<SVGElement> element)
+static JSNode* createSVGSymbolElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, SVGSymbolElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, SVGSymbolElement, element.get());
}
-static JSNode* createSVGTextElementWrapper(ExecState* exec, PassRefPtr<SVGElement> element)
+static JSNode* createSVGTextElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, SVGTextElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, SVGTextElement, element.get());
}
-static JSNode* createSVGTextPathElementWrapper(ExecState* exec, PassRefPtr<SVGElement> element)
+static JSNode* createSVGTextPathElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, SVGTextPathElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, SVGTextPathElement, element.get());
}
-static JSNode* createSVGTitleElementWrapper(ExecState* exec, PassRefPtr<SVGElement> element)
+static JSNode* createSVGTitleElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, SVGTitleElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, SVGTitleElement, element.get());
}
-static JSNode* createSVGTRefElementWrapper(ExecState* exec, PassRefPtr<SVGElement> element)
+static JSNode* createSVGTRefElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, SVGTRefElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, SVGTRefElement, element.get());
}
-static JSNode* createSVGTSpanElementWrapper(ExecState* exec, PassRefPtr<SVGElement> element)
+static JSNode* createSVGTSpanElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, SVGTSpanElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, SVGTSpanElement, element.get());
}
-static JSNode* createSVGUseElementWrapper(ExecState* exec, PassRefPtr<SVGElement> element)
+static JSNode* createSVGUseElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, SVGUseElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, SVGUseElement, element.get());
}
-static JSNode* createSVGViewElementWrapper(ExecState* exec, PassRefPtr<SVGElement> element)
+static JSNode* createSVGViewElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, SVGViewElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, SVGViewElement, element.get());
}
-JSNode* createJSSVGWrapper(ExecState* exec, PassRefPtr<SVGElement> element)
+JSNode* createJSSVGWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
{
typedef HashMap<WebCore::AtomicStringImpl*, CreateSVGElementWrapperFunction> FunctionMap;
DEFINE_STATIC_LOCAL(FunctionMap, map, ());
@@ -441,8 +441,8 @@ JSNode* createJSSVGWrapper(ExecState* exec, PassRefPtr<SVGElement> element)
}
CreateSVGElementWrapperFunction createWrapperFunction = map.get(element->localName().impl());
if (createWrapperFunction)
- return createWrapperFunction(exec, element);
- return CREATE_DOM_NODE_WRAPPER(exec, SVGElement, element.get());
+ return createWrapperFunction(exec, globalObject, element);
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, SVGElement, element.get());
}
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGElementWrapperFactory.h b/src/3rdparty/webkit/WebCore/generated/JSSVGElementWrapperFactory.h
index 933906b..843ba7e 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGElementWrapperFactory.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGElementWrapperFactory.h
@@ -40,9 +40,10 @@ namespace JSC {
namespace WebCore {
class JSNode;
+ class JSDOMGlobalObject;
class SVGElement;
- JSNode* createJSSVGWrapper(JSC::ExecState*, PassRefPtr<SVGElement>);
+ JSNode* createJSSVGWrapper(JSC::ExecState*, JSDOMGlobalObject*, PassRefPtr<SVGElement>);
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGEllipseElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGEllipseElement.cpp
index 8d6d8ec..0297726 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGEllipseElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGEllipseElement.cpp
@@ -73,7 +73,7 @@ static const HashTableValue JSSVGEllipseElementTableValues[16] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGEllipseElementTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGEllipseElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 127, JSSVGEllipseElementTableValues, 0 };
#else
@@ -93,7 +93,7 @@ static const HashTableValue JSSVGEllipseElementPrototypeTableValues[7] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGEllipseElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGEllipseElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 2047, JSSVGEllipseElementPrototypeTableValues, 0 };
#else
@@ -114,8 +114,8 @@ bool JSSVGEllipseElementPrototype::getOwnPropertySlot(ExecState* exec, const Ide
const ClassInfo JSSVGEllipseElement::s_info = { "SVGEllipseElement", &JSSVGElement::s_info, &JSSVGEllipseElementTable, 0 };
-JSSVGEllipseElement::JSSVGEllipseElement(PassRefPtr<Structure> structure, PassRefPtr<SVGEllipseElement> impl)
- : JSSVGElement(structure, impl)
+JSSVGEllipseElement::JSSVGEllipseElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGEllipseElement> impl)
+ : JSSVGElement(structure, globalObject, impl)
{
}
@@ -131,114 +131,129 @@ bool JSSVGEllipseElement::getOwnPropertySlot(ExecState* exec, const Identifier&
JSValue jsSVGEllipseElementCx(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGEllipseElement* castedThis = static_cast<JSSVGEllipseElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGEllipseElement* imp = static_cast<SVGEllipseElement*>(static_cast<JSSVGEllipseElement*>(asObject(slot.slotBase()))->impl());
+ SVGEllipseElement* imp = static_cast<SVGEllipseElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->cxAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGEllipseElementCy(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGEllipseElement* castedThis = static_cast<JSSVGEllipseElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGEllipseElement* imp = static_cast<SVGEllipseElement*>(static_cast<JSSVGEllipseElement*>(asObject(slot.slotBase()))->impl());
+ SVGEllipseElement* imp = static_cast<SVGEllipseElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->cyAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGEllipseElementRx(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGEllipseElement* castedThis = static_cast<JSSVGEllipseElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGEllipseElement* imp = static_cast<SVGEllipseElement*>(static_cast<JSSVGEllipseElement*>(asObject(slot.slotBase()))->impl());
+ SVGEllipseElement* imp = static_cast<SVGEllipseElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->rxAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGEllipseElementRy(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGEllipseElement* castedThis = static_cast<JSSVGEllipseElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGEllipseElement* imp = static_cast<SVGEllipseElement*>(static_cast<JSSVGEllipseElement*>(asObject(slot.slotBase()))->impl());
+ SVGEllipseElement* imp = static_cast<SVGEllipseElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->ryAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGEllipseElementRequiredFeatures(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGEllipseElement* castedThis = static_cast<JSSVGEllipseElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGEllipseElement* imp = static_cast<SVGEllipseElement*>(static_cast<JSSVGEllipseElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->requiredFeatures()), imp);
+ SVGEllipseElement* imp = static_cast<SVGEllipseElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->requiredFeatures()), imp);
}
JSValue jsSVGEllipseElementRequiredExtensions(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGEllipseElement* castedThis = static_cast<JSSVGEllipseElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGEllipseElement* imp = static_cast<SVGEllipseElement*>(static_cast<JSSVGEllipseElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->requiredExtensions()), imp);
+ SVGEllipseElement* imp = static_cast<SVGEllipseElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->requiredExtensions()), imp);
}
JSValue jsSVGEllipseElementSystemLanguage(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGEllipseElement* castedThis = static_cast<JSSVGEllipseElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGEllipseElement* imp = static_cast<SVGEllipseElement*>(static_cast<JSSVGEllipseElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->systemLanguage()), imp);
+ SVGEllipseElement* imp = static_cast<SVGEllipseElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->systemLanguage()), imp);
}
JSValue jsSVGEllipseElementXmllang(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGEllipseElement* castedThis = static_cast<JSSVGEllipseElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGEllipseElement* imp = static_cast<SVGEllipseElement*>(static_cast<JSSVGEllipseElement*>(asObject(slot.slotBase()))->impl());
+ SVGEllipseElement* imp = static_cast<SVGEllipseElement*>(castedThis->impl());
return jsString(exec, imp->xmllang());
}
JSValue jsSVGEllipseElementXmlspace(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGEllipseElement* castedThis = static_cast<JSSVGEllipseElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGEllipseElement* imp = static_cast<SVGEllipseElement*>(static_cast<JSSVGEllipseElement*>(asObject(slot.slotBase()))->impl());
+ SVGEllipseElement* imp = static_cast<SVGEllipseElement*>(castedThis->impl());
return jsString(exec, imp->xmlspace());
}
JSValue jsSVGEllipseElementExternalResourcesRequired(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGEllipseElement* castedThis = static_cast<JSSVGEllipseElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGEllipseElement* imp = static_cast<SVGEllipseElement*>(static_cast<JSSVGEllipseElement*>(asObject(slot.slotBase()))->impl());
+ SVGEllipseElement* imp = static_cast<SVGEllipseElement*>(castedThis->impl());
RefPtr<SVGAnimatedBoolean> obj = imp->externalResourcesRequiredAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGEllipseElementClassName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGEllipseElement* castedThis = static_cast<JSSVGEllipseElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGEllipseElement* imp = static_cast<SVGEllipseElement*>(static_cast<JSSVGEllipseElement*>(asObject(slot.slotBase()))->impl());
+ SVGEllipseElement* imp = static_cast<SVGEllipseElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->classNameAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGEllipseElementStyle(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGEllipseElement* castedThis = static_cast<JSSVGEllipseElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGEllipseElement* imp = static_cast<SVGEllipseElement*>(static_cast<JSSVGEllipseElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->style()));
+ SVGEllipseElement* imp = static_cast<SVGEllipseElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->style()));
}
JSValue jsSVGEllipseElementTransform(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGEllipseElement* castedThis = static_cast<JSSVGEllipseElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGEllipseElement* imp = static_cast<SVGEllipseElement*>(static_cast<JSSVGEllipseElement*>(asObject(slot.slotBase()))->impl());
+ SVGEllipseElement* imp = static_cast<SVGEllipseElement*>(castedThis->impl());
RefPtr<SVGAnimatedTransformList> obj = imp->transformAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGEllipseElementNearestViewportElement(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGEllipseElement* castedThis = static_cast<JSSVGEllipseElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGEllipseElement* imp = static_cast<SVGEllipseElement*>(static_cast<JSSVGEllipseElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->nearestViewportElement()));
+ SVGEllipseElement* imp = static_cast<SVGEllipseElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->nearestViewportElement()));
}
JSValue jsSVGEllipseElementFarthestViewportElement(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGEllipseElement* castedThis = static_cast<JSSVGEllipseElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGEllipseElement* imp = static_cast<SVGEllipseElement*>(static_cast<JSSVGEllipseElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->farthestViewportElement()));
+ SVGEllipseElement* imp = static_cast<SVGEllipseElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->farthestViewportElement()));
}
void JSSVGEllipseElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
@@ -282,7 +297,7 @@ JSValue JSC_HOST_CALL jsSVGEllipseElementPrototypeFunctionGetPresentationAttribu
const UString& name = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getPresentationAttribute(name)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getPresentationAttribute(name)));
return result;
}
@@ -295,7 +310,7 @@ JSValue JSC_HOST_CALL jsSVGEllipseElementPrototypeFunctionGetBBox(ExecState* exe
SVGEllipseElement* imp = static_cast<SVGEllipseElement*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<FloatRect>::create(imp->getBBox()).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<FloatRect>::create(imp->getBBox()).get(), imp);
return result;
}
@@ -308,7 +323,7 @@ JSValue JSC_HOST_CALL jsSVGEllipseElementPrototypeFunctionGetCTM(ExecState* exec
SVGEllipseElement* imp = static_cast<SVGEllipseElement*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getCTM()).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getCTM()).get(), imp);
return result;
}
@@ -321,7 +336,7 @@ JSValue JSC_HOST_CALL jsSVGEllipseElementPrototypeFunctionGetScreenCTM(ExecState
SVGEllipseElement* imp = static_cast<SVGEllipseElement*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getScreenCTM()).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getScreenCTM()).get(), imp);
return result;
}
@@ -336,7 +351,7 @@ JSValue JSC_HOST_CALL jsSVGEllipseElementPrototypeFunctionGetTransformToElement(
SVGElement* element = toSVGElement(args.at(0));
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getTransformToElement(element, ec)).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getTransformToElement(element, ec)).get(), imp);
setDOMException(exec, ec);
return result;
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGEllipseElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGEllipseElement.h
index 2ccb260..37d23e3 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGEllipseElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGEllipseElement.h
@@ -33,7 +33,7 @@ class SVGEllipseElement;
class JSSVGEllipseElement : public JSSVGElement {
typedef JSSVGElement Base;
public:
- JSSVGEllipseElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGEllipseElement>);
+ JSSVGEllipseElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGEllipseElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGException.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGException.cpp
index af6a2090..bb8942d 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGException.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGException.cpp
@@ -48,7 +48,7 @@ static const HashTableValue JSSVGExceptionTableValues[5] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGExceptionTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGExceptionTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 127, JSSVGExceptionTableValues, 0 };
#else
@@ -65,19 +65,19 @@ static const HashTableValue JSSVGExceptionConstructorTableValues[4] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGExceptionConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGExceptionConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 31, JSSVGExceptionConstructorTableValues, 0 };
#else
{ 9, 7, JSSVGExceptionConstructorTableValues, 0 };
#endif
-class JSSVGExceptionConstructor : public DOMObject {
+class JSSVGExceptionConstructor : public DOMConstructorObject {
public:
- JSSVGExceptionConstructor(ExecState* exec)
- : DOMObject(JSSVGExceptionConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSSVGExceptionConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSSVGExceptionConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSSVGExceptionPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSSVGExceptionPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -107,7 +107,7 @@ static const HashTableValue JSSVGExceptionPrototypeTableValues[5] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGExceptionPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGExceptionPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 31, JSSVGExceptionPrototypeTableValues, 0 };
#else
@@ -128,9 +128,8 @@ bool JSSVGExceptionPrototype::getOwnPropertySlot(ExecState* exec, const Identifi
const ClassInfo JSSVGException::s_info = { "SVGException", 0, &JSSVGExceptionTable, 0 };
-JSSVGException::JSSVGException(PassRefPtr<Structure> structure, PassRefPtr<SVGException> impl, SVGElement* context)
- : DOMObject(structure)
- , m_context(context)
+JSSVGException::JSSVGException(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGException> impl, SVGElement* context)
+ : DOMObjectWithSVGContext(structure, globalObject, context)
, m_impl(impl)
{
}
@@ -152,32 +151,36 @@ bool JSSVGException::getOwnPropertySlot(ExecState* exec, const Identifier& prope
JSValue jsSVGExceptionCode(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGException* castedThis = static_cast<JSSVGException*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGException* imp = static_cast<SVGException*>(static_cast<JSSVGException*>(asObject(slot.slotBase()))->impl());
+ SVGException* imp = static_cast<SVGException*>(castedThis->impl());
return jsNumber(exec, imp->code());
}
JSValue jsSVGExceptionName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGException* castedThis = static_cast<JSSVGException*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGException* imp = static_cast<SVGException*>(static_cast<JSSVGException*>(asObject(slot.slotBase()))->impl());
+ SVGException* imp = static_cast<SVGException*>(castedThis->impl());
return jsString(exec, imp->name());
}
JSValue jsSVGExceptionMessage(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGException* castedThis = static_cast<JSSVGException*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGException* imp = static_cast<SVGException*>(static_cast<JSSVGException*>(asObject(slot.slotBase()))->impl());
+ SVGException* imp = static_cast<SVGException*>(castedThis->impl());
return jsString(exec, imp->message());
}
JSValue jsSVGExceptionConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSSVGException*>(asObject(slot.slotBase()))->getConstructor(exec);
+ UNUSED_PARAM(slot);
+ return JSSVGException::getConstructor(exec, deprecatedGlobalObjectForPrototype(exec));
}
-JSValue JSSVGException::getConstructor(ExecState* exec)
+JSValue JSSVGException::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSSVGExceptionConstructor>(exec);
+ return getDOMConstructor<JSSVGExceptionConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsSVGExceptionPrototypeFunctionToString(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -210,9 +213,9 @@ JSValue jsSVGExceptionSVG_MATRIX_NOT_INVERTABLE(ExecState* exec, const Identifie
return jsNumber(exec, static_cast<int>(2));
}
-JSC::JSValue toJS(JSC::ExecState* exec, SVGException* object, SVGElement* context)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, SVGException* object, SVGElement* context)
{
- return getDOMObjectWrapper<JSSVGException>(exec, object, context);
+ return getDOMObjectWrapper<JSSVGException>(exec, globalObject, object, context);
}
SVGException* toSVGException(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGException.h b/src/3rdparty/webkit/WebCore/generated/JSSVGException.h
index e8fb53d..15b893d 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGException.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGException.h
@@ -23,6 +23,7 @@
#if ENABLE(SVG)
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include "SVGElement.h"
#include <runtime/JSGlobalObject.h>
@@ -32,10 +33,10 @@ namespace WebCore {
class SVGException;
-class JSSVGException : public DOMObject {
- typedef DOMObject Base;
+class JSSVGException : public DOMObjectWithSVGContext {
+ typedef DOMObjectWithSVGContext Base;
public:
- JSSVGException(PassRefPtr<JSC::Structure>, PassRefPtr<SVGException>, SVGElement* context);
+ JSSVGException(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGException>, SVGElement* context);
virtual ~JSSVGException();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -47,16 +48,14 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
SVGException* impl() const { return m_impl.get(); }
- SVGElement* context() const { return m_context.get(); }
private:
- RefPtr<SVGElement> m_context;
- RefPtr<SVGException > m_impl;
+ RefPtr<SVGException> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, SVGException*, SVGElement* context);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, SVGException*, SVGElement* context);
SVGException* toSVGException(JSC::JSValue);
class JSSVGExceptionPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFEBlendElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGFEBlendElement.cpp
index 0ecbe59..a3ecf1c 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGFEBlendElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFEBlendElement.cpp
@@ -60,7 +60,7 @@ static const HashTableValue JSSVGFEBlendElementTableValues[12] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGFEBlendElementTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGFEBlendElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 255, JSSVGFEBlendElementTableValues, 0 };
#else
@@ -80,19 +80,19 @@ static const HashTableValue JSSVGFEBlendElementConstructorTableValues[7] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGFEBlendElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGFEBlendElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSSVGFEBlendElementConstructorTableValues, 0 };
#else
{ 16, 15, JSSVGFEBlendElementConstructorTableValues, 0 };
#endif
-class JSSVGFEBlendElementConstructor : public DOMObject {
+class JSSVGFEBlendElementConstructor : public DOMConstructorObject {
public:
- JSSVGFEBlendElementConstructor(ExecState* exec)
- : DOMObject(JSSVGFEBlendElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSSVGFEBlendElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSSVGFEBlendElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSSVGFEBlendElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSSVGFEBlendElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -125,7 +125,7 @@ static const HashTableValue JSSVGFEBlendElementPrototypeTableValues[8] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGFEBlendElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGFEBlendElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSSVGFEBlendElementPrototypeTableValues, 0 };
#else
@@ -146,8 +146,8 @@ bool JSSVGFEBlendElementPrototype::getOwnPropertySlot(ExecState* exec, const Ide
const ClassInfo JSSVGFEBlendElement::s_info = { "SVGFEBlendElement", &JSSVGElement::s_info, &JSSVGFEBlendElementTable, 0 };
-JSSVGFEBlendElement::JSSVGFEBlendElement(PassRefPtr<Structure> structure, PassRefPtr<SVGFEBlendElement> impl)
- : JSSVGElement(structure, impl)
+JSSVGFEBlendElement::JSSVGFEBlendElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGFEBlendElement> impl)
+ : JSSVGElement(structure, globalObject, impl)
{
}
@@ -163,90 +163,101 @@ bool JSSVGFEBlendElement::getOwnPropertySlot(ExecState* exec, const Identifier&
JSValue jsSVGFEBlendElementIn1(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEBlendElement* castedThis = static_cast<JSSVGFEBlendElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEBlendElement* imp = static_cast<SVGFEBlendElement*>(static_cast<JSSVGFEBlendElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEBlendElement* imp = static_cast<SVGFEBlendElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->in1Animated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEBlendElementIn2(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEBlendElement* castedThis = static_cast<JSSVGFEBlendElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEBlendElement* imp = static_cast<SVGFEBlendElement*>(static_cast<JSSVGFEBlendElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEBlendElement* imp = static_cast<SVGFEBlendElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->in2Animated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEBlendElementMode(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEBlendElement* castedThis = static_cast<JSSVGFEBlendElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEBlendElement* imp = static_cast<SVGFEBlendElement*>(static_cast<JSSVGFEBlendElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEBlendElement* imp = static_cast<SVGFEBlendElement*>(castedThis->impl());
RefPtr<SVGAnimatedEnumeration> obj = imp->modeAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEBlendElementX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEBlendElement* castedThis = static_cast<JSSVGFEBlendElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEBlendElement* imp = static_cast<SVGFEBlendElement*>(static_cast<JSSVGFEBlendElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEBlendElement* imp = static_cast<SVGFEBlendElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->xAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEBlendElementY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEBlendElement* castedThis = static_cast<JSSVGFEBlendElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEBlendElement* imp = static_cast<SVGFEBlendElement*>(static_cast<JSSVGFEBlendElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEBlendElement* imp = static_cast<SVGFEBlendElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->yAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEBlendElementWidth(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEBlendElement* castedThis = static_cast<JSSVGFEBlendElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEBlendElement* imp = static_cast<SVGFEBlendElement*>(static_cast<JSSVGFEBlendElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEBlendElement* imp = static_cast<SVGFEBlendElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->widthAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEBlendElementHeight(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEBlendElement* castedThis = static_cast<JSSVGFEBlendElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEBlendElement* imp = static_cast<SVGFEBlendElement*>(static_cast<JSSVGFEBlendElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEBlendElement* imp = static_cast<SVGFEBlendElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->heightAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEBlendElementResult(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEBlendElement* castedThis = static_cast<JSSVGFEBlendElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEBlendElement* imp = static_cast<SVGFEBlendElement*>(static_cast<JSSVGFEBlendElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEBlendElement* imp = static_cast<SVGFEBlendElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->resultAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEBlendElementClassName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEBlendElement* castedThis = static_cast<JSSVGFEBlendElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEBlendElement* imp = static_cast<SVGFEBlendElement*>(static_cast<JSSVGFEBlendElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEBlendElement* imp = static_cast<SVGFEBlendElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->classNameAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEBlendElementStyle(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEBlendElement* castedThis = static_cast<JSSVGFEBlendElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEBlendElement* imp = static_cast<SVGFEBlendElement*>(static_cast<JSSVGFEBlendElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->style()));
+ SVGFEBlendElement* imp = static_cast<SVGFEBlendElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->style()));
}
JSValue jsSVGFEBlendElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSSVGFEBlendElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSSVGFEBlendElement* domObject = static_cast<JSSVGFEBlendElement*>(asObject(slot.slotBase()));
+ return JSSVGFEBlendElement::getConstructor(exec, domObject->globalObject());
}
-JSValue JSSVGFEBlendElement::getConstructor(ExecState* exec)
+JSValue JSSVGFEBlendElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSSVGFEBlendElementConstructor>(exec);
+ return getDOMConstructor<JSSVGFEBlendElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsSVGFEBlendElementPrototypeFunctionGetPresentationAttribute(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -259,7 +270,7 @@ JSValue JSC_HOST_CALL jsSVGFEBlendElementPrototypeFunctionGetPresentationAttribu
const UString& name = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getPresentationAttribute(name)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getPresentationAttribute(name)));
return result;
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFEBlendElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGFEBlendElement.h
index 34750a9..88033bb 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGFEBlendElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFEBlendElement.h
@@ -33,7 +33,7 @@ class SVGFEBlendElement;
class JSSVGFEBlendElement : public JSSVGElement {
typedef JSSVGElement Base;
public:
- JSSVGFEBlendElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGFEBlendElement>);
+ JSSVGFEBlendElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGFEBlendElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
@@ -44,7 +44,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFEColorMatrixElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGFEColorMatrixElement.cpp
index dd8db83..6aa69fc 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGFEColorMatrixElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFEColorMatrixElement.cpp
@@ -61,7 +61,7 @@ static const HashTableValue JSSVGFEColorMatrixElementTableValues[12] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGFEColorMatrixElementTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGFEColorMatrixElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 255, JSSVGFEColorMatrixElementTableValues, 0 };
#else
@@ -80,19 +80,19 @@ static const HashTableValue JSSVGFEColorMatrixElementConstructorTableValues[6] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGFEColorMatrixElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGFEColorMatrixElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 63, JSSVGFEColorMatrixElementConstructorTableValues, 0 };
#else
{ 17, 15, JSSVGFEColorMatrixElementConstructorTableValues, 0 };
#endif
-class JSSVGFEColorMatrixElementConstructor : public DOMObject {
+class JSSVGFEColorMatrixElementConstructor : public DOMConstructorObject {
public:
- JSSVGFEColorMatrixElementConstructor(ExecState* exec)
- : DOMObject(JSSVGFEColorMatrixElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSSVGFEColorMatrixElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSSVGFEColorMatrixElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSSVGFEColorMatrixElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSSVGFEColorMatrixElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -124,7 +124,7 @@ static const HashTableValue JSSVGFEColorMatrixElementPrototypeTableValues[7] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGFEColorMatrixElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGFEColorMatrixElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 63, JSSVGFEColorMatrixElementPrototypeTableValues, 0 };
#else
@@ -145,8 +145,8 @@ bool JSSVGFEColorMatrixElementPrototype::getOwnPropertySlot(ExecState* exec, con
const ClassInfo JSSVGFEColorMatrixElement::s_info = { "SVGFEColorMatrixElement", &JSSVGElement::s_info, &JSSVGFEColorMatrixElementTable, 0 };
-JSSVGFEColorMatrixElement::JSSVGFEColorMatrixElement(PassRefPtr<Structure> structure, PassRefPtr<SVGFEColorMatrixElement> impl)
- : JSSVGElement(structure, impl)
+JSSVGFEColorMatrixElement::JSSVGFEColorMatrixElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGFEColorMatrixElement> impl)
+ : JSSVGElement(structure, globalObject, impl)
{
}
@@ -162,90 +162,101 @@ bool JSSVGFEColorMatrixElement::getOwnPropertySlot(ExecState* exec, const Identi
JSValue jsSVGFEColorMatrixElementIn1(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEColorMatrixElement* castedThis = static_cast<JSSVGFEColorMatrixElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEColorMatrixElement* imp = static_cast<SVGFEColorMatrixElement*>(static_cast<JSSVGFEColorMatrixElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEColorMatrixElement* imp = static_cast<SVGFEColorMatrixElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->in1Animated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEColorMatrixElementType(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEColorMatrixElement* castedThis = static_cast<JSSVGFEColorMatrixElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEColorMatrixElement* imp = static_cast<SVGFEColorMatrixElement*>(static_cast<JSSVGFEColorMatrixElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEColorMatrixElement* imp = static_cast<SVGFEColorMatrixElement*>(castedThis->impl());
RefPtr<SVGAnimatedEnumeration> obj = imp->typeAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEColorMatrixElementValues(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEColorMatrixElement* castedThis = static_cast<JSSVGFEColorMatrixElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEColorMatrixElement* imp = static_cast<SVGFEColorMatrixElement*>(static_cast<JSSVGFEColorMatrixElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEColorMatrixElement* imp = static_cast<SVGFEColorMatrixElement*>(castedThis->impl());
RefPtr<SVGAnimatedNumberList> obj = imp->valuesAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEColorMatrixElementX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEColorMatrixElement* castedThis = static_cast<JSSVGFEColorMatrixElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEColorMatrixElement* imp = static_cast<SVGFEColorMatrixElement*>(static_cast<JSSVGFEColorMatrixElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEColorMatrixElement* imp = static_cast<SVGFEColorMatrixElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->xAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEColorMatrixElementY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEColorMatrixElement* castedThis = static_cast<JSSVGFEColorMatrixElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEColorMatrixElement* imp = static_cast<SVGFEColorMatrixElement*>(static_cast<JSSVGFEColorMatrixElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEColorMatrixElement* imp = static_cast<SVGFEColorMatrixElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->yAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEColorMatrixElementWidth(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEColorMatrixElement* castedThis = static_cast<JSSVGFEColorMatrixElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEColorMatrixElement* imp = static_cast<SVGFEColorMatrixElement*>(static_cast<JSSVGFEColorMatrixElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEColorMatrixElement* imp = static_cast<SVGFEColorMatrixElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->widthAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEColorMatrixElementHeight(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEColorMatrixElement* castedThis = static_cast<JSSVGFEColorMatrixElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEColorMatrixElement* imp = static_cast<SVGFEColorMatrixElement*>(static_cast<JSSVGFEColorMatrixElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEColorMatrixElement* imp = static_cast<SVGFEColorMatrixElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->heightAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEColorMatrixElementResult(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEColorMatrixElement* castedThis = static_cast<JSSVGFEColorMatrixElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEColorMatrixElement* imp = static_cast<SVGFEColorMatrixElement*>(static_cast<JSSVGFEColorMatrixElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEColorMatrixElement* imp = static_cast<SVGFEColorMatrixElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->resultAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEColorMatrixElementClassName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEColorMatrixElement* castedThis = static_cast<JSSVGFEColorMatrixElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEColorMatrixElement* imp = static_cast<SVGFEColorMatrixElement*>(static_cast<JSSVGFEColorMatrixElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEColorMatrixElement* imp = static_cast<SVGFEColorMatrixElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->classNameAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEColorMatrixElementStyle(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEColorMatrixElement* castedThis = static_cast<JSSVGFEColorMatrixElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEColorMatrixElement* imp = static_cast<SVGFEColorMatrixElement*>(static_cast<JSSVGFEColorMatrixElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->style()));
+ SVGFEColorMatrixElement* imp = static_cast<SVGFEColorMatrixElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->style()));
}
JSValue jsSVGFEColorMatrixElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSSVGFEColorMatrixElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSSVGFEColorMatrixElement* domObject = static_cast<JSSVGFEColorMatrixElement*>(asObject(slot.slotBase()));
+ return JSSVGFEColorMatrixElement::getConstructor(exec, domObject->globalObject());
}
-JSValue JSSVGFEColorMatrixElement::getConstructor(ExecState* exec)
+JSValue JSSVGFEColorMatrixElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSSVGFEColorMatrixElementConstructor>(exec);
+ return getDOMConstructor<JSSVGFEColorMatrixElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsSVGFEColorMatrixElementPrototypeFunctionGetPresentationAttribute(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -258,7 +269,7 @@ JSValue JSC_HOST_CALL jsSVGFEColorMatrixElementPrototypeFunctionGetPresentationA
const UString& name = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getPresentationAttribute(name)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getPresentationAttribute(name)));
return result;
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFEColorMatrixElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGFEColorMatrixElement.h
index de9ef2f..3a6aa67 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGFEColorMatrixElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFEColorMatrixElement.h
@@ -33,7 +33,7 @@ class SVGFEColorMatrixElement;
class JSSVGFEColorMatrixElement : public JSSVGElement {
typedef JSSVGElement Base;
public:
- JSSVGFEColorMatrixElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGFEColorMatrixElement>);
+ JSSVGFEColorMatrixElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGFEColorMatrixElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
@@ -44,7 +44,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFEComponentTransferElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGFEComponentTransferElement.cpp
index cf4de5c..a0be501 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGFEComponentTransferElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFEComponentTransferElement.cpp
@@ -56,7 +56,7 @@ static const HashTableValue JSSVGFEComponentTransferElementTableValues[9] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGFEComponentTransferElementTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGFEComponentTransferElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 255, JSSVGFEComponentTransferElementTableValues, 0 };
#else
@@ -71,7 +71,7 @@ static const HashTableValue JSSVGFEComponentTransferElementPrototypeTableValues[
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGFEComponentTransferElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGFEComponentTransferElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGFEComponentTransferElementPrototypeTableValues, 0 };
#else
@@ -92,8 +92,8 @@ bool JSSVGFEComponentTransferElementPrototype::getOwnPropertySlot(ExecState* exe
const ClassInfo JSSVGFEComponentTransferElement::s_info = { "SVGFEComponentTransferElement", &JSSVGElement::s_info, &JSSVGFEComponentTransferElementTable, 0 };
-JSSVGFEComponentTransferElement::JSSVGFEComponentTransferElement(PassRefPtr<Structure> structure, PassRefPtr<SVGFEComponentTransferElement> impl)
- : JSSVGElement(structure, impl)
+JSSVGFEComponentTransferElement::JSSVGFEComponentTransferElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGFEComponentTransferElement> impl)
+ : JSSVGElement(structure, globalObject, impl)
{
}
@@ -109,65 +109,73 @@ bool JSSVGFEComponentTransferElement::getOwnPropertySlot(ExecState* exec, const
JSValue jsSVGFEComponentTransferElementIn1(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEComponentTransferElement* castedThis = static_cast<JSSVGFEComponentTransferElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEComponentTransferElement* imp = static_cast<SVGFEComponentTransferElement*>(static_cast<JSSVGFEComponentTransferElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEComponentTransferElement* imp = static_cast<SVGFEComponentTransferElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->in1Animated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEComponentTransferElementX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEComponentTransferElement* castedThis = static_cast<JSSVGFEComponentTransferElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEComponentTransferElement* imp = static_cast<SVGFEComponentTransferElement*>(static_cast<JSSVGFEComponentTransferElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEComponentTransferElement* imp = static_cast<SVGFEComponentTransferElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->xAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEComponentTransferElementY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEComponentTransferElement* castedThis = static_cast<JSSVGFEComponentTransferElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEComponentTransferElement* imp = static_cast<SVGFEComponentTransferElement*>(static_cast<JSSVGFEComponentTransferElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEComponentTransferElement* imp = static_cast<SVGFEComponentTransferElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->yAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEComponentTransferElementWidth(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEComponentTransferElement* castedThis = static_cast<JSSVGFEComponentTransferElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEComponentTransferElement* imp = static_cast<SVGFEComponentTransferElement*>(static_cast<JSSVGFEComponentTransferElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEComponentTransferElement* imp = static_cast<SVGFEComponentTransferElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->widthAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEComponentTransferElementHeight(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEComponentTransferElement* castedThis = static_cast<JSSVGFEComponentTransferElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEComponentTransferElement* imp = static_cast<SVGFEComponentTransferElement*>(static_cast<JSSVGFEComponentTransferElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEComponentTransferElement* imp = static_cast<SVGFEComponentTransferElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->heightAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEComponentTransferElementResult(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEComponentTransferElement* castedThis = static_cast<JSSVGFEComponentTransferElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEComponentTransferElement* imp = static_cast<SVGFEComponentTransferElement*>(static_cast<JSSVGFEComponentTransferElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEComponentTransferElement* imp = static_cast<SVGFEComponentTransferElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->resultAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEComponentTransferElementClassName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEComponentTransferElement* castedThis = static_cast<JSSVGFEComponentTransferElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEComponentTransferElement* imp = static_cast<SVGFEComponentTransferElement*>(static_cast<JSSVGFEComponentTransferElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEComponentTransferElement* imp = static_cast<SVGFEComponentTransferElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->classNameAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEComponentTransferElementStyle(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEComponentTransferElement* castedThis = static_cast<JSSVGFEComponentTransferElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEComponentTransferElement* imp = static_cast<SVGFEComponentTransferElement*>(static_cast<JSSVGFEComponentTransferElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->style()));
+ SVGFEComponentTransferElement* imp = static_cast<SVGFEComponentTransferElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->style()));
}
JSValue JSC_HOST_CALL jsSVGFEComponentTransferElementPrototypeFunctionGetPresentationAttribute(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -180,7 +188,7 @@ JSValue JSC_HOST_CALL jsSVGFEComponentTransferElementPrototypeFunctionGetPresent
const UString& name = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getPresentationAttribute(name)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getPresentationAttribute(name)));
return result;
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFEComponentTransferElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGFEComponentTransferElement.h
index 803a32b..c50b12b 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGFEComponentTransferElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFEComponentTransferElement.h
@@ -33,7 +33,7 @@ class SVGFEComponentTransferElement;
class JSSVGFEComponentTransferElement : public JSSVGElement {
typedef JSSVGElement Base;
public:
- JSSVGFEComponentTransferElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGFEComponentTransferElement>);
+ JSSVGFEComponentTransferElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGFEComponentTransferElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFECompositeElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGFECompositeElement.cpp
index 6aff814..42fe70a 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGFECompositeElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFECompositeElement.cpp
@@ -65,7 +65,7 @@ static const HashTableValue JSSVGFECompositeElementTableValues[16] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGFECompositeElementTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGFECompositeElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 255, JSSVGFECompositeElementTableValues, 0 };
#else
@@ -86,19 +86,19 @@ static const HashTableValue JSSVGFECompositeElementConstructorTableValues[8] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGFECompositeElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGFECompositeElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSSVGFECompositeElementConstructorTableValues, 0 };
#else
{ 16, 15, JSSVGFECompositeElementConstructorTableValues, 0 };
#endif
-class JSSVGFECompositeElementConstructor : public DOMObject {
+class JSSVGFECompositeElementConstructor : public DOMConstructorObject {
public:
- JSSVGFECompositeElementConstructor(ExecState* exec)
- : DOMObject(JSSVGFECompositeElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSSVGFECompositeElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSSVGFECompositeElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSSVGFECompositeElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSSVGFECompositeElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -132,7 +132,7 @@ static const HashTableValue JSSVGFECompositeElementPrototypeTableValues[9] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGFECompositeElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGFECompositeElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 63, JSSVGFECompositeElementPrototypeTableValues, 0 };
#else
@@ -153,8 +153,8 @@ bool JSSVGFECompositeElementPrototype::getOwnPropertySlot(ExecState* exec, const
const ClassInfo JSSVGFECompositeElement::s_info = { "SVGFECompositeElement", &JSSVGElement::s_info, &JSSVGFECompositeElementTable, 0 };
-JSSVGFECompositeElement::JSSVGFECompositeElement(PassRefPtr<Structure> structure, PassRefPtr<SVGFECompositeElement> impl)
- : JSSVGElement(structure, impl)
+JSSVGFECompositeElement::JSSVGFECompositeElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGFECompositeElement> impl)
+ : JSSVGElement(structure, globalObject, impl)
{
}
@@ -170,122 +170,137 @@ bool JSSVGFECompositeElement::getOwnPropertySlot(ExecState* exec, const Identifi
JSValue jsSVGFECompositeElementIn1(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFECompositeElement* castedThis = static_cast<JSSVGFECompositeElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFECompositeElement* imp = static_cast<SVGFECompositeElement*>(static_cast<JSSVGFECompositeElement*>(asObject(slot.slotBase()))->impl());
+ SVGFECompositeElement* imp = static_cast<SVGFECompositeElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->in1Animated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFECompositeElementIn2(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFECompositeElement* castedThis = static_cast<JSSVGFECompositeElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFECompositeElement* imp = static_cast<SVGFECompositeElement*>(static_cast<JSSVGFECompositeElement*>(asObject(slot.slotBase()))->impl());
+ SVGFECompositeElement* imp = static_cast<SVGFECompositeElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->in2Animated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFECompositeElement_operator(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFECompositeElement* castedThis = static_cast<JSSVGFECompositeElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFECompositeElement* imp = static_cast<SVGFECompositeElement*>(static_cast<JSSVGFECompositeElement*>(asObject(slot.slotBase()))->impl());
+ SVGFECompositeElement* imp = static_cast<SVGFECompositeElement*>(castedThis->impl());
RefPtr<SVGAnimatedEnumeration> obj = imp->_operatorAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFECompositeElementK1(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFECompositeElement* castedThis = static_cast<JSSVGFECompositeElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFECompositeElement* imp = static_cast<SVGFECompositeElement*>(static_cast<JSSVGFECompositeElement*>(asObject(slot.slotBase()))->impl());
+ SVGFECompositeElement* imp = static_cast<SVGFECompositeElement*>(castedThis->impl());
RefPtr<SVGAnimatedNumber> obj = imp->k1Animated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFECompositeElementK2(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFECompositeElement* castedThis = static_cast<JSSVGFECompositeElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFECompositeElement* imp = static_cast<SVGFECompositeElement*>(static_cast<JSSVGFECompositeElement*>(asObject(slot.slotBase()))->impl());
+ SVGFECompositeElement* imp = static_cast<SVGFECompositeElement*>(castedThis->impl());
RefPtr<SVGAnimatedNumber> obj = imp->k2Animated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFECompositeElementK3(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFECompositeElement* castedThis = static_cast<JSSVGFECompositeElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFECompositeElement* imp = static_cast<SVGFECompositeElement*>(static_cast<JSSVGFECompositeElement*>(asObject(slot.slotBase()))->impl());
+ SVGFECompositeElement* imp = static_cast<SVGFECompositeElement*>(castedThis->impl());
RefPtr<SVGAnimatedNumber> obj = imp->k3Animated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFECompositeElementK4(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFECompositeElement* castedThis = static_cast<JSSVGFECompositeElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFECompositeElement* imp = static_cast<SVGFECompositeElement*>(static_cast<JSSVGFECompositeElement*>(asObject(slot.slotBase()))->impl());
+ SVGFECompositeElement* imp = static_cast<SVGFECompositeElement*>(castedThis->impl());
RefPtr<SVGAnimatedNumber> obj = imp->k4Animated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFECompositeElementX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFECompositeElement* castedThis = static_cast<JSSVGFECompositeElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFECompositeElement* imp = static_cast<SVGFECompositeElement*>(static_cast<JSSVGFECompositeElement*>(asObject(slot.slotBase()))->impl());
+ SVGFECompositeElement* imp = static_cast<SVGFECompositeElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->xAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFECompositeElementY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFECompositeElement* castedThis = static_cast<JSSVGFECompositeElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFECompositeElement* imp = static_cast<SVGFECompositeElement*>(static_cast<JSSVGFECompositeElement*>(asObject(slot.slotBase()))->impl());
+ SVGFECompositeElement* imp = static_cast<SVGFECompositeElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->yAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFECompositeElementWidth(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFECompositeElement* castedThis = static_cast<JSSVGFECompositeElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFECompositeElement* imp = static_cast<SVGFECompositeElement*>(static_cast<JSSVGFECompositeElement*>(asObject(slot.slotBase()))->impl());
+ SVGFECompositeElement* imp = static_cast<SVGFECompositeElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->widthAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFECompositeElementHeight(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFECompositeElement* castedThis = static_cast<JSSVGFECompositeElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFECompositeElement* imp = static_cast<SVGFECompositeElement*>(static_cast<JSSVGFECompositeElement*>(asObject(slot.slotBase()))->impl());
+ SVGFECompositeElement* imp = static_cast<SVGFECompositeElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->heightAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFECompositeElementResult(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFECompositeElement* castedThis = static_cast<JSSVGFECompositeElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFECompositeElement* imp = static_cast<SVGFECompositeElement*>(static_cast<JSSVGFECompositeElement*>(asObject(slot.slotBase()))->impl());
+ SVGFECompositeElement* imp = static_cast<SVGFECompositeElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->resultAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFECompositeElementClassName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFECompositeElement* castedThis = static_cast<JSSVGFECompositeElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFECompositeElement* imp = static_cast<SVGFECompositeElement*>(static_cast<JSSVGFECompositeElement*>(asObject(slot.slotBase()))->impl());
+ SVGFECompositeElement* imp = static_cast<SVGFECompositeElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->classNameAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFECompositeElementStyle(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFECompositeElement* castedThis = static_cast<JSSVGFECompositeElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFECompositeElement* imp = static_cast<SVGFECompositeElement*>(static_cast<JSSVGFECompositeElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->style()));
+ SVGFECompositeElement* imp = static_cast<SVGFECompositeElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->style()));
}
JSValue jsSVGFECompositeElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSSVGFECompositeElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSSVGFECompositeElement* domObject = static_cast<JSSVGFECompositeElement*>(asObject(slot.slotBase()));
+ return JSSVGFECompositeElement::getConstructor(exec, domObject->globalObject());
}
-JSValue JSSVGFECompositeElement::getConstructor(ExecState* exec)
+JSValue JSSVGFECompositeElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSSVGFECompositeElementConstructor>(exec);
+ return getDOMConstructor<JSSVGFECompositeElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsSVGFECompositeElementPrototypeFunctionGetPresentationAttribute(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -298,7 +313,7 @@ JSValue JSC_HOST_CALL jsSVGFECompositeElementPrototypeFunctionGetPresentationAtt
const UString& name = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getPresentationAttribute(name)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getPresentationAttribute(name)));
return result;
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFECompositeElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGFECompositeElement.h
index b2876c3..826db95 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGFECompositeElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFECompositeElement.h
@@ -33,7 +33,7 @@ class SVGFECompositeElement;
class JSSVGFECompositeElement : public JSSVGElement {
typedef JSSVGElement Base;
public:
- JSSVGFECompositeElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGFECompositeElement>);
+ JSSVGFECompositeElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGFECompositeElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
@@ -44,7 +44,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFEDiffuseLightingElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGFEDiffuseLightingElement.cpp
index 4549381..01492c4 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGFEDiffuseLightingElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFEDiffuseLightingElement.cpp
@@ -61,7 +61,7 @@ static const HashTableValue JSSVGFEDiffuseLightingElementTableValues[13] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGFEDiffuseLightingElementTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGFEDiffuseLightingElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 255, JSSVGFEDiffuseLightingElementTableValues, 0 };
#else
@@ -76,7 +76,7 @@ static const HashTableValue JSSVGFEDiffuseLightingElementPrototypeTableValues[2]
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGFEDiffuseLightingElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGFEDiffuseLightingElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGFEDiffuseLightingElementPrototypeTableValues, 0 };
#else
@@ -97,8 +97,8 @@ bool JSSVGFEDiffuseLightingElementPrototype::getOwnPropertySlot(ExecState* exec,
const ClassInfo JSSVGFEDiffuseLightingElement::s_info = { "SVGFEDiffuseLightingElement", &JSSVGElement::s_info, &JSSVGFEDiffuseLightingElementTable, 0 };
-JSSVGFEDiffuseLightingElement::JSSVGFEDiffuseLightingElement(PassRefPtr<Structure> structure, PassRefPtr<SVGFEDiffuseLightingElement> impl)
- : JSSVGElement(structure, impl)
+JSSVGFEDiffuseLightingElement::JSSVGFEDiffuseLightingElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGFEDiffuseLightingElement> impl)
+ : JSSVGElement(structure, globalObject, impl)
{
}
@@ -114,97 +114,109 @@ bool JSSVGFEDiffuseLightingElement::getOwnPropertySlot(ExecState* exec, const Id
JSValue jsSVGFEDiffuseLightingElementIn1(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEDiffuseLightingElement* castedThis = static_cast<JSSVGFEDiffuseLightingElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEDiffuseLightingElement* imp = static_cast<SVGFEDiffuseLightingElement*>(static_cast<JSSVGFEDiffuseLightingElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEDiffuseLightingElement* imp = static_cast<SVGFEDiffuseLightingElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->in1Animated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEDiffuseLightingElementSurfaceScale(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEDiffuseLightingElement* castedThis = static_cast<JSSVGFEDiffuseLightingElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEDiffuseLightingElement* imp = static_cast<SVGFEDiffuseLightingElement*>(static_cast<JSSVGFEDiffuseLightingElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEDiffuseLightingElement* imp = static_cast<SVGFEDiffuseLightingElement*>(castedThis->impl());
RefPtr<SVGAnimatedNumber> obj = imp->surfaceScaleAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEDiffuseLightingElementDiffuseConstant(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEDiffuseLightingElement* castedThis = static_cast<JSSVGFEDiffuseLightingElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEDiffuseLightingElement* imp = static_cast<SVGFEDiffuseLightingElement*>(static_cast<JSSVGFEDiffuseLightingElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEDiffuseLightingElement* imp = static_cast<SVGFEDiffuseLightingElement*>(castedThis->impl());
RefPtr<SVGAnimatedNumber> obj = imp->diffuseConstantAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEDiffuseLightingElementKernelUnitLengthX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEDiffuseLightingElement* castedThis = static_cast<JSSVGFEDiffuseLightingElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEDiffuseLightingElement* imp = static_cast<SVGFEDiffuseLightingElement*>(static_cast<JSSVGFEDiffuseLightingElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEDiffuseLightingElement* imp = static_cast<SVGFEDiffuseLightingElement*>(castedThis->impl());
RefPtr<SVGAnimatedNumber> obj = imp->kernelUnitLengthXAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEDiffuseLightingElementKernelUnitLengthY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEDiffuseLightingElement* castedThis = static_cast<JSSVGFEDiffuseLightingElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEDiffuseLightingElement* imp = static_cast<SVGFEDiffuseLightingElement*>(static_cast<JSSVGFEDiffuseLightingElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEDiffuseLightingElement* imp = static_cast<SVGFEDiffuseLightingElement*>(castedThis->impl());
RefPtr<SVGAnimatedNumber> obj = imp->kernelUnitLengthYAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEDiffuseLightingElementX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEDiffuseLightingElement* castedThis = static_cast<JSSVGFEDiffuseLightingElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEDiffuseLightingElement* imp = static_cast<SVGFEDiffuseLightingElement*>(static_cast<JSSVGFEDiffuseLightingElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEDiffuseLightingElement* imp = static_cast<SVGFEDiffuseLightingElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->xAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEDiffuseLightingElementY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEDiffuseLightingElement* castedThis = static_cast<JSSVGFEDiffuseLightingElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEDiffuseLightingElement* imp = static_cast<SVGFEDiffuseLightingElement*>(static_cast<JSSVGFEDiffuseLightingElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEDiffuseLightingElement* imp = static_cast<SVGFEDiffuseLightingElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->yAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEDiffuseLightingElementWidth(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEDiffuseLightingElement* castedThis = static_cast<JSSVGFEDiffuseLightingElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEDiffuseLightingElement* imp = static_cast<SVGFEDiffuseLightingElement*>(static_cast<JSSVGFEDiffuseLightingElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEDiffuseLightingElement* imp = static_cast<SVGFEDiffuseLightingElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->widthAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEDiffuseLightingElementHeight(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEDiffuseLightingElement* castedThis = static_cast<JSSVGFEDiffuseLightingElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEDiffuseLightingElement* imp = static_cast<SVGFEDiffuseLightingElement*>(static_cast<JSSVGFEDiffuseLightingElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEDiffuseLightingElement* imp = static_cast<SVGFEDiffuseLightingElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->heightAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEDiffuseLightingElementResult(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEDiffuseLightingElement* castedThis = static_cast<JSSVGFEDiffuseLightingElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEDiffuseLightingElement* imp = static_cast<SVGFEDiffuseLightingElement*>(static_cast<JSSVGFEDiffuseLightingElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEDiffuseLightingElement* imp = static_cast<SVGFEDiffuseLightingElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->resultAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEDiffuseLightingElementClassName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEDiffuseLightingElement* castedThis = static_cast<JSSVGFEDiffuseLightingElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEDiffuseLightingElement* imp = static_cast<SVGFEDiffuseLightingElement*>(static_cast<JSSVGFEDiffuseLightingElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEDiffuseLightingElement* imp = static_cast<SVGFEDiffuseLightingElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->classNameAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEDiffuseLightingElementStyle(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEDiffuseLightingElement* castedThis = static_cast<JSSVGFEDiffuseLightingElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEDiffuseLightingElement* imp = static_cast<SVGFEDiffuseLightingElement*>(static_cast<JSSVGFEDiffuseLightingElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->style()));
+ SVGFEDiffuseLightingElement* imp = static_cast<SVGFEDiffuseLightingElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->style()));
}
JSValue JSC_HOST_CALL jsSVGFEDiffuseLightingElementPrototypeFunctionGetPresentationAttribute(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -217,7 +229,7 @@ JSValue JSC_HOST_CALL jsSVGFEDiffuseLightingElementPrototypeFunctionGetPresentat
const UString& name = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getPresentationAttribute(name)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getPresentationAttribute(name)));
return result;
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFEDiffuseLightingElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGFEDiffuseLightingElement.h
index 96bb14d..26e6e91 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGFEDiffuseLightingElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFEDiffuseLightingElement.h
@@ -33,7 +33,7 @@ class SVGFEDiffuseLightingElement;
class JSSVGFEDiffuseLightingElement : public JSSVGElement {
typedef JSSVGElement Base;
public:
- JSSVGFEDiffuseLightingElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGFEDiffuseLightingElement>);
+ JSSVGFEDiffuseLightingElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGFEDiffuseLightingElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFEDisplacementMapElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGFEDisplacementMapElement.cpp
index dca7363..a3441e4 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGFEDisplacementMapElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFEDisplacementMapElement.cpp
@@ -63,7 +63,7 @@ static const HashTableValue JSSVGFEDisplacementMapElementTableValues[14] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGFEDisplacementMapElementTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGFEDisplacementMapElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 255, JSSVGFEDisplacementMapElementTableValues, 0 };
#else
@@ -82,19 +82,19 @@ static const HashTableValue JSSVGFEDisplacementMapElementConstructorTableValues[
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGFEDisplacementMapElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGFEDisplacementMapElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSSVGFEDisplacementMapElementConstructorTableValues, 0 };
#else
{ 16, 15, JSSVGFEDisplacementMapElementConstructorTableValues, 0 };
#endif
-class JSSVGFEDisplacementMapElementConstructor : public DOMObject {
+class JSSVGFEDisplacementMapElementConstructor : public DOMConstructorObject {
public:
- JSSVGFEDisplacementMapElementConstructor(ExecState* exec)
- : DOMObject(JSSVGFEDisplacementMapElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSSVGFEDisplacementMapElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSSVGFEDisplacementMapElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSSVGFEDisplacementMapElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSSVGFEDisplacementMapElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -126,7 +126,7 @@ static const HashTableValue JSSVGFEDisplacementMapElementPrototypeTableValues[7]
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGFEDisplacementMapElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGFEDisplacementMapElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSSVGFEDisplacementMapElementPrototypeTableValues, 0 };
#else
@@ -147,8 +147,8 @@ bool JSSVGFEDisplacementMapElementPrototype::getOwnPropertySlot(ExecState* exec,
const ClassInfo JSSVGFEDisplacementMapElement::s_info = { "SVGFEDisplacementMapElement", &JSSVGElement::s_info, &JSSVGFEDisplacementMapElementTable, 0 };
-JSSVGFEDisplacementMapElement::JSSVGFEDisplacementMapElement(PassRefPtr<Structure> structure, PassRefPtr<SVGFEDisplacementMapElement> impl)
- : JSSVGElement(structure, impl)
+JSSVGFEDisplacementMapElement::JSSVGFEDisplacementMapElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGFEDisplacementMapElement> impl)
+ : JSSVGElement(structure, globalObject, impl)
{
}
@@ -164,106 +164,119 @@ bool JSSVGFEDisplacementMapElement::getOwnPropertySlot(ExecState* exec, const Id
JSValue jsSVGFEDisplacementMapElementIn1(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEDisplacementMapElement* castedThis = static_cast<JSSVGFEDisplacementMapElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEDisplacementMapElement* imp = static_cast<SVGFEDisplacementMapElement*>(static_cast<JSSVGFEDisplacementMapElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEDisplacementMapElement* imp = static_cast<SVGFEDisplacementMapElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->in1Animated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEDisplacementMapElementIn2(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEDisplacementMapElement* castedThis = static_cast<JSSVGFEDisplacementMapElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEDisplacementMapElement* imp = static_cast<SVGFEDisplacementMapElement*>(static_cast<JSSVGFEDisplacementMapElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEDisplacementMapElement* imp = static_cast<SVGFEDisplacementMapElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->in2Animated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEDisplacementMapElementScale(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEDisplacementMapElement* castedThis = static_cast<JSSVGFEDisplacementMapElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEDisplacementMapElement* imp = static_cast<SVGFEDisplacementMapElement*>(static_cast<JSSVGFEDisplacementMapElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEDisplacementMapElement* imp = static_cast<SVGFEDisplacementMapElement*>(castedThis->impl());
RefPtr<SVGAnimatedNumber> obj = imp->scaleAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEDisplacementMapElementXChannelSelector(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEDisplacementMapElement* castedThis = static_cast<JSSVGFEDisplacementMapElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEDisplacementMapElement* imp = static_cast<SVGFEDisplacementMapElement*>(static_cast<JSSVGFEDisplacementMapElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEDisplacementMapElement* imp = static_cast<SVGFEDisplacementMapElement*>(castedThis->impl());
RefPtr<SVGAnimatedEnumeration> obj = imp->xChannelSelectorAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEDisplacementMapElementYChannelSelector(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEDisplacementMapElement* castedThis = static_cast<JSSVGFEDisplacementMapElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEDisplacementMapElement* imp = static_cast<SVGFEDisplacementMapElement*>(static_cast<JSSVGFEDisplacementMapElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEDisplacementMapElement* imp = static_cast<SVGFEDisplacementMapElement*>(castedThis->impl());
RefPtr<SVGAnimatedEnumeration> obj = imp->yChannelSelectorAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEDisplacementMapElementX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEDisplacementMapElement* castedThis = static_cast<JSSVGFEDisplacementMapElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEDisplacementMapElement* imp = static_cast<SVGFEDisplacementMapElement*>(static_cast<JSSVGFEDisplacementMapElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEDisplacementMapElement* imp = static_cast<SVGFEDisplacementMapElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->xAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEDisplacementMapElementY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEDisplacementMapElement* castedThis = static_cast<JSSVGFEDisplacementMapElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEDisplacementMapElement* imp = static_cast<SVGFEDisplacementMapElement*>(static_cast<JSSVGFEDisplacementMapElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEDisplacementMapElement* imp = static_cast<SVGFEDisplacementMapElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->yAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEDisplacementMapElementWidth(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEDisplacementMapElement* castedThis = static_cast<JSSVGFEDisplacementMapElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEDisplacementMapElement* imp = static_cast<SVGFEDisplacementMapElement*>(static_cast<JSSVGFEDisplacementMapElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEDisplacementMapElement* imp = static_cast<SVGFEDisplacementMapElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->widthAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEDisplacementMapElementHeight(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEDisplacementMapElement* castedThis = static_cast<JSSVGFEDisplacementMapElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEDisplacementMapElement* imp = static_cast<SVGFEDisplacementMapElement*>(static_cast<JSSVGFEDisplacementMapElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEDisplacementMapElement* imp = static_cast<SVGFEDisplacementMapElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->heightAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEDisplacementMapElementResult(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEDisplacementMapElement* castedThis = static_cast<JSSVGFEDisplacementMapElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEDisplacementMapElement* imp = static_cast<SVGFEDisplacementMapElement*>(static_cast<JSSVGFEDisplacementMapElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEDisplacementMapElement* imp = static_cast<SVGFEDisplacementMapElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->resultAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEDisplacementMapElementClassName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEDisplacementMapElement* castedThis = static_cast<JSSVGFEDisplacementMapElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEDisplacementMapElement* imp = static_cast<SVGFEDisplacementMapElement*>(static_cast<JSSVGFEDisplacementMapElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEDisplacementMapElement* imp = static_cast<SVGFEDisplacementMapElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->classNameAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEDisplacementMapElementStyle(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEDisplacementMapElement* castedThis = static_cast<JSSVGFEDisplacementMapElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEDisplacementMapElement* imp = static_cast<SVGFEDisplacementMapElement*>(static_cast<JSSVGFEDisplacementMapElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->style()));
+ SVGFEDisplacementMapElement* imp = static_cast<SVGFEDisplacementMapElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->style()));
}
JSValue jsSVGFEDisplacementMapElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSSVGFEDisplacementMapElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSSVGFEDisplacementMapElement* domObject = static_cast<JSSVGFEDisplacementMapElement*>(asObject(slot.slotBase()));
+ return JSSVGFEDisplacementMapElement::getConstructor(exec, domObject->globalObject());
}
-JSValue JSSVGFEDisplacementMapElement::getConstructor(ExecState* exec)
+JSValue JSSVGFEDisplacementMapElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSSVGFEDisplacementMapElementConstructor>(exec);
+ return getDOMConstructor<JSSVGFEDisplacementMapElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsSVGFEDisplacementMapElementPrototypeFunctionGetPresentationAttribute(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -276,7 +289,7 @@ JSValue JSC_HOST_CALL jsSVGFEDisplacementMapElementPrototypeFunctionGetPresentat
const UString& name = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getPresentationAttribute(name)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getPresentationAttribute(name)));
return result;
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFEDisplacementMapElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGFEDisplacementMapElement.h
index 93c9fe5..3c7db0f 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGFEDisplacementMapElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFEDisplacementMapElement.h
@@ -33,7 +33,7 @@ class SVGFEDisplacementMapElement;
class JSSVGFEDisplacementMapElement : public JSSVGElement {
typedef JSSVGElement Base;
public:
- JSSVGFEDisplacementMapElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGFEDisplacementMapElement>);
+ JSSVGFEDisplacementMapElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGFEDisplacementMapElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
@@ -44,7 +44,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFEDistantLightElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGFEDistantLightElement.cpp
index 55abac8..f494d91 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGFEDistantLightElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFEDistantLightElement.cpp
@@ -43,7 +43,7 @@ static const HashTableValue JSSVGFEDistantLightElementTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGFEDistantLightElementTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGFEDistantLightElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSSVGFEDistantLightElementTableValues, 0 };
#else
@@ -57,7 +57,7 @@ static const HashTableValue JSSVGFEDistantLightElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGFEDistantLightElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGFEDistantLightElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGFEDistantLightElementPrototypeTableValues, 0 };
#else
@@ -73,8 +73,8 @@ JSObject* JSSVGFEDistantLightElementPrototype::self(ExecState* exec, JSGlobalObj
const ClassInfo JSSVGFEDistantLightElement::s_info = { "SVGFEDistantLightElement", &JSSVGElement::s_info, &JSSVGFEDistantLightElementTable, 0 };
-JSSVGFEDistantLightElement::JSSVGFEDistantLightElement(PassRefPtr<Structure> structure, PassRefPtr<SVGFEDistantLightElement> impl)
- : JSSVGElement(structure, impl)
+JSSVGFEDistantLightElement::JSSVGFEDistantLightElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGFEDistantLightElement> impl)
+ : JSSVGElement(structure, globalObject, impl)
{
}
@@ -90,18 +90,20 @@ bool JSSVGFEDistantLightElement::getOwnPropertySlot(ExecState* exec, const Ident
JSValue jsSVGFEDistantLightElementAzimuth(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEDistantLightElement* castedThis = static_cast<JSSVGFEDistantLightElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEDistantLightElement* imp = static_cast<SVGFEDistantLightElement*>(static_cast<JSSVGFEDistantLightElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEDistantLightElement* imp = static_cast<SVGFEDistantLightElement*>(castedThis->impl());
RefPtr<SVGAnimatedNumber> obj = imp->azimuthAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEDistantLightElementElevation(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEDistantLightElement* castedThis = static_cast<JSSVGFEDistantLightElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEDistantLightElement* imp = static_cast<SVGFEDistantLightElement*>(static_cast<JSSVGFEDistantLightElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEDistantLightElement* imp = static_cast<SVGFEDistantLightElement*>(castedThis->impl());
RefPtr<SVGAnimatedNumber> obj = imp->elevationAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFEDistantLightElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGFEDistantLightElement.h
index 1a61871..c6d46e7 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGFEDistantLightElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFEDistantLightElement.h
@@ -33,7 +33,7 @@ class SVGFEDistantLightElement;
class JSSVGFEDistantLightElement : public JSSVGElement {
typedef JSSVGElement Base;
public:
- JSSVGFEDistantLightElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGFEDistantLightElement>);
+ JSSVGFEDistantLightElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGFEDistantLightElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFEFloodElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGFEFloodElement.cpp
index 1b7cab5..dc392f2 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGFEFloodElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFEFloodElement.cpp
@@ -57,7 +57,7 @@ static const HashTableValue JSSVGFEFloodElementTableValues[10] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGFEFloodElementTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGFEFloodElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 255, JSSVGFEFloodElementTableValues, 0 };
#else
@@ -71,19 +71,19 @@ static const HashTableValue JSSVGFEFloodElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGFEFloodElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGFEFloodElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGFEFloodElementConstructorTableValues, 0 };
#else
{ 1, 0, JSSVGFEFloodElementConstructorTableValues, 0 };
#endif
-class JSSVGFEFloodElementConstructor : public DOMObject {
+class JSSVGFEFloodElementConstructor : public DOMConstructorObject {
public:
- JSSVGFEFloodElementConstructor(ExecState* exec)
- : DOMObject(JSSVGFEFloodElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSSVGFEFloodElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSSVGFEFloodElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSSVGFEFloodElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSSVGFEFloodElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -110,7 +110,7 @@ static const HashTableValue JSSVGFEFloodElementPrototypeTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGFEFloodElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGFEFloodElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGFEFloodElementPrototypeTableValues, 0 };
#else
@@ -131,8 +131,8 @@ bool JSSVGFEFloodElementPrototype::getOwnPropertySlot(ExecState* exec, const Ide
const ClassInfo JSSVGFEFloodElement::s_info = { "SVGFEFloodElement", &JSSVGElement::s_info, &JSSVGFEFloodElementTable, 0 };
-JSSVGFEFloodElement::JSSVGFEFloodElement(PassRefPtr<Structure> structure, PassRefPtr<SVGFEFloodElement> impl)
- : JSSVGElement(structure, impl)
+JSSVGFEFloodElement::JSSVGFEFloodElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGFEFloodElement> impl)
+ : JSSVGElement(structure, globalObject, impl)
{
}
@@ -148,74 +148,83 @@ bool JSSVGFEFloodElement::getOwnPropertySlot(ExecState* exec, const Identifier&
JSValue jsSVGFEFloodElementIn1(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEFloodElement* castedThis = static_cast<JSSVGFEFloodElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEFloodElement* imp = static_cast<SVGFEFloodElement*>(static_cast<JSSVGFEFloodElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEFloodElement* imp = static_cast<SVGFEFloodElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->in1Animated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEFloodElementX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEFloodElement* castedThis = static_cast<JSSVGFEFloodElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEFloodElement* imp = static_cast<SVGFEFloodElement*>(static_cast<JSSVGFEFloodElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEFloodElement* imp = static_cast<SVGFEFloodElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->xAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEFloodElementY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEFloodElement* castedThis = static_cast<JSSVGFEFloodElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEFloodElement* imp = static_cast<SVGFEFloodElement*>(static_cast<JSSVGFEFloodElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEFloodElement* imp = static_cast<SVGFEFloodElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->yAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEFloodElementWidth(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEFloodElement* castedThis = static_cast<JSSVGFEFloodElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEFloodElement* imp = static_cast<SVGFEFloodElement*>(static_cast<JSSVGFEFloodElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEFloodElement* imp = static_cast<SVGFEFloodElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->widthAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEFloodElementHeight(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEFloodElement* castedThis = static_cast<JSSVGFEFloodElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEFloodElement* imp = static_cast<SVGFEFloodElement*>(static_cast<JSSVGFEFloodElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEFloodElement* imp = static_cast<SVGFEFloodElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->heightAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEFloodElementResult(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEFloodElement* castedThis = static_cast<JSSVGFEFloodElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEFloodElement* imp = static_cast<SVGFEFloodElement*>(static_cast<JSSVGFEFloodElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEFloodElement* imp = static_cast<SVGFEFloodElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->resultAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEFloodElementClassName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEFloodElement* castedThis = static_cast<JSSVGFEFloodElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEFloodElement* imp = static_cast<SVGFEFloodElement*>(static_cast<JSSVGFEFloodElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEFloodElement* imp = static_cast<SVGFEFloodElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->classNameAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEFloodElementStyle(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEFloodElement* castedThis = static_cast<JSSVGFEFloodElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEFloodElement* imp = static_cast<SVGFEFloodElement*>(static_cast<JSSVGFEFloodElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->style()));
+ SVGFEFloodElement* imp = static_cast<SVGFEFloodElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->style()));
}
JSValue jsSVGFEFloodElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSSVGFEFloodElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSSVGFEFloodElement* domObject = static_cast<JSSVGFEFloodElement*>(asObject(slot.slotBase()));
+ return JSSVGFEFloodElement::getConstructor(exec, domObject->globalObject());
}
-JSValue JSSVGFEFloodElement::getConstructor(ExecState* exec)
+JSValue JSSVGFEFloodElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSSVGFEFloodElementConstructor>(exec);
+ return getDOMConstructor<JSSVGFEFloodElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsSVGFEFloodElementPrototypeFunctionGetPresentationAttribute(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -228,7 +237,7 @@ JSValue JSC_HOST_CALL jsSVGFEFloodElementPrototypeFunctionGetPresentationAttribu
const UString& name = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getPresentationAttribute(name)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getPresentationAttribute(name)));
return result;
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFEFloodElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGFEFloodElement.h
index fe54ca4..46aa9a5 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGFEFloodElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFEFloodElement.h
@@ -33,7 +33,7 @@ class SVGFEFloodElement;
class JSSVGFEFloodElement : public JSSVGElement {
typedef JSSVGElement Base;
public:
- JSSVGFEFloodElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGFEFloodElement>);
+ JSSVGFEFloodElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGFEFloodElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
@@ -44,7 +44,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncAElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncAElement.cpp
index 90dbf26..e91153e 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncAElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncAElement.cpp
@@ -40,7 +40,7 @@ static const HashTableValue JSSVGFEFuncAElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGFEFuncAElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGFEFuncAElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGFEFuncAElementPrototypeTableValues, 0 };
#else
@@ -56,8 +56,8 @@ JSObject* JSSVGFEFuncAElementPrototype::self(ExecState* exec, JSGlobalObject* gl
const ClassInfo JSSVGFEFuncAElement::s_info = { "SVGFEFuncAElement", &JSSVGComponentTransferFunctionElement::s_info, 0, 0 };
-JSSVGFEFuncAElement::JSSVGFEFuncAElement(PassRefPtr<Structure> structure, PassRefPtr<SVGFEFuncAElement> impl)
- : JSSVGComponentTransferFunctionElement(structure, impl)
+JSSVGFEFuncAElement::JSSVGFEFuncAElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGFEFuncAElement> impl)
+ : JSSVGComponentTransferFunctionElement(structure, globalObject, impl)
{
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncAElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncAElement.h
index 1afcb58..f7a84be 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncAElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncAElement.h
@@ -33,7 +33,7 @@ class SVGFEFuncAElement;
class JSSVGFEFuncAElement : public JSSVGComponentTransferFunctionElement {
typedef JSSVGComponentTransferFunctionElement Base;
public:
- JSSVGFEFuncAElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGFEFuncAElement>);
+ JSSVGFEFuncAElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGFEFuncAElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
static const JSC::ClassInfo s_info;
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncBElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncBElement.cpp
index a2c895b..5475952 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncBElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncBElement.cpp
@@ -40,7 +40,7 @@ static const HashTableValue JSSVGFEFuncBElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGFEFuncBElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGFEFuncBElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGFEFuncBElementPrototypeTableValues, 0 };
#else
@@ -56,8 +56,8 @@ JSObject* JSSVGFEFuncBElementPrototype::self(ExecState* exec, JSGlobalObject* gl
const ClassInfo JSSVGFEFuncBElement::s_info = { "SVGFEFuncBElement", &JSSVGComponentTransferFunctionElement::s_info, 0, 0 };
-JSSVGFEFuncBElement::JSSVGFEFuncBElement(PassRefPtr<Structure> structure, PassRefPtr<SVGFEFuncBElement> impl)
- : JSSVGComponentTransferFunctionElement(structure, impl)
+JSSVGFEFuncBElement::JSSVGFEFuncBElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGFEFuncBElement> impl)
+ : JSSVGComponentTransferFunctionElement(structure, globalObject, impl)
{
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncBElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncBElement.h
index 5f44847..b3acd3b 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncBElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncBElement.h
@@ -33,7 +33,7 @@ class SVGFEFuncBElement;
class JSSVGFEFuncBElement : public JSSVGComponentTransferFunctionElement {
typedef JSSVGComponentTransferFunctionElement Base;
public:
- JSSVGFEFuncBElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGFEFuncBElement>);
+ JSSVGFEFuncBElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGFEFuncBElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
static const JSC::ClassInfo s_info;
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncGElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncGElement.cpp
index acebd39..afbf091 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncGElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncGElement.cpp
@@ -40,7 +40,7 @@ static const HashTableValue JSSVGFEFuncGElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGFEFuncGElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGFEFuncGElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGFEFuncGElementPrototypeTableValues, 0 };
#else
@@ -56,8 +56,8 @@ JSObject* JSSVGFEFuncGElementPrototype::self(ExecState* exec, JSGlobalObject* gl
const ClassInfo JSSVGFEFuncGElement::s_info = { "SVGFEFuncGElement", &JSSVGComponentTransferFunctionElement::s_info, 0, 0 };
-JSSVGFEFuncGElement::JSSVGFEFuncGElement(PassRefPtr<Structure> structure, PassRefPtr<SVGFEFuncGElement> impl)
- : JSSVGComponentTransferFunctionElement(structure, impl)
+JSSVGFEFuncGElement::JSSVGFEFuncGElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGFEFuncGElement> impl)
+ : JSSVGComponentTransferFunctionElement(structure, globalObject, impl)
{
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncGElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncGElement.h
index 2a14252..1b98d35 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncGElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncGElement.h
@@ -33,7 +33,7 @@ class SVGFEFuncGElement;
class JSSVGFEFuncGElement : public JSSVGComponentTransferFunctionElement {
typedef JSSVGComponentTransferFunctionElement Base;
public:
- JSSVGFEFuncGElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGFEFuncGElement>);
+ JSSVGFEFuncGElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGFEFuncGElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
static const JSC::ClassInfo s_info;
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncRElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncRElement.cpp
index c6fad7b..a1df1b7 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncRElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncRElement.cpp
@@ -40,7 +40,7 @@ static const HashTableValue JSSVGFEFuncRElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGFEFuncRElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGFEFuncRElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGFEFuncRElementPrototypeTableValues, 0 };
#else
@@ -56,8 +56,8 @@ JSObject* JSSVGFEFuncRElementPrototype::self(ExecState* exec, JSGlobalObject* gl
const ClassInfo JSSVGFEFuncRElement::s_info = { "SVGFEFuncRElement", &JSSVGComponentTransferFunctionElement::s_info, 0, 0 };
-JSSVGFEFuncRElement::JSSVGFEFuncRElement(PassRefPtr<Structure> structure, PassRefPtr<SVGFEFuncRElement> impl)
- : JSSVGComponentTransferFunctionElement(structure, impl)
+JSSVGFEFuncRElement::JSSVGFEFuncRElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGFEFuncRElement> impl)
+ : JSSVGComponentTransferFunctionElement(structure, globalObject, impl)
{
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncRElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncRElement.h
index c6ba514..f427dfa 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncRElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncRElement.h
@@ -33,7 +33,7 @@ class SVGFEFuncRElement;
class JSSVGFEFuncRElement : public JSSVGComponentTransferFunctionElement {
typedef JSSVGComponentTransferFunctionElement Base;
public:
- JSSVGFEFuncRElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGFEFuncRElement>);
+ JSSVGFEFuncRElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGFEFuncRElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
static const JSC::ClassInfo s_info;
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFEGaussianBlurElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGFEGaussianBlurElement.cpp
index 281c9be..e1ee3bd 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGFEGaussianBlurElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFEGaussianBlurElement.cpp
@@ -59,7 +59,7 @@ static const HashTableValue JSSVGFEGaussianBlurElementTableValues[11] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGFEGaussianBlurElementTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGFEGaussianBlurElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 255, JSSVGFEGaussianBlurElementTableValues, 0 };
#else
@@ -75,7 +75,7 @@ static const HashTableValue JSSVGFEGaussianBlurElementPrototypeTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGFEGaussianBlurElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGFEGaussianBlurElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 1, JSSVGFEGaussianBlurElementPrototypeTableValues, 0 };
#else
@@ -96,8 +96,8 @@ bool JSSVGFEGaussianBlurElementPrototype::getOwnPropertySlot(ExecState* exec, co
const ClassInfo JSSVGFEGaussianBlurElement::s_info = { "SVGFEGaussianBlurElement", &JSSVGElement::s_info, &JSSVGFEGaussianBlurElementTable, 0 };
-JSSVGFEGaussianBlurElement::JSSVGFEGaussianBlurElement(PassRefPtr<Structure> structure, PassRefPtr<SVGFEGaussianBlurElement> impl)
- : JSSVGElement(structure, impl)
+JSSVGFEGaussianBlurElement::JSSVGFEGaussianBlurElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGFEGaussianBlurElement> impl)
+ : JSSVGElement(structure, globalObject, impl)
{
}
@@ -113,81 +113,91 @@ bool JSSVGFEGaussianBlurElement::getOwnPropertySlot(ExecState* exec, const Ident
JSValue jsSVGFEGaussianBlurElementIn1(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEGaussianBlurElement* castedThis = static_cast<JSSVGFEGaussianBlurElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEGaussianBlurElement* imp = static_cast<SVGFEGaussianBlurElement*>(static_cast<JSSVGFEGaussianBlurElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEGaussianBlurElement* imp = static_cast<SVGFEGaussianBlurElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->in1Animated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEGaussianBlurElementStdDeviationX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEGaussianBlurElement* castedThis = static_cast<JSSVGFEGaussianBlurElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEGaussianBlurElement* imp = static_cast<SVGFEGaussianBlurElement*>(static_cast<JSSVGFEGaussianBlurElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEGaussianBlurElement* imp = static_cast<SVGFEGaussianBlurElement*>(castedThis->impl());
RefPtr<SVGAnimatedNumber> obj = imp->stdDeviationXAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEGaussianBlurElementStdDeviationY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEGaussianBlurElement* castedThis = static_cast<JSSVGFEGaussianBlurElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEGaussianBlurElement* imp = static_cast<SVGFEGaussianBlurElement*>(static_cast<JSSVGFEGaussianBlurElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEGaussianBlurElement* imp = static_cast<SVGFEGaussianBlurElement*>(castedThis->impl());
RefPtr<SVGAnimatedNumber> obj = imp->stdDeviationYAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEGaussianBlurElementX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEGaussianBlurElement* castedThis = static_cast<JSSVGFEGaussianBlurElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEGaussianBlurElement* imp = static_cast<SVGFEGaussianBlurElement*>(static_cast<JSSVGFEGaussianBlurElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEGaussianBlurElement* imp = static_cast<SVGFEGaussianBlurElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->xAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEGaussianBlurElementY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEGaussianBlurElement* castedThis = static_cast<JSSVGFEGaussianBlurElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEGaussianBlurElement* imp = static_cast<SVGFEGaussianBlurElement*>(static_cast<JSSVGFEGaussianBlurElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEGaussianBlurElement* imp = static_cast<SVGFEGaussianBlurElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->yAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEGaussianBlurElementWidth(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEGaussianBlurElement* castedThis = static_cast<JSSVGFEGaussianBlurElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEGaussianBlurElement* imp = static_cast<SVGFEGaussianBlurElement*>(static_cast<JSSVGFEGaussianBlurElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEGaussianBlurElement* imp = static_cast<SVGFEGaussianBlurElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->widthAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEGaussianBlurElementHeight(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEGaussianBlurElement* castedThis = static_cast<JSSVGFEGaussianBlurElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEGaussianBlurElement* imp = static_cast<SVGFEGaussianBlurElement*>(static_cast<JSSVGFEGaussianBlurElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEGaussianBlurElement* imp = static_cast<SVGFEGaussianBlurElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->heightAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEGaussianBlurElementResult(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEGaussianBlurElement* castedThis = static_cast<JSSVGFEGaussianBlurElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEGaussianBlurElement* imp = static_cast<SVGFEGaussianBlurElement*>(static_cast<JSSVGFEGaussianBlurElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEGaussianBlurElement* imp = static_cast<SVGFEGaussianBlurElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->resultAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEGaussianBlurElementClassName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEGaussianBlurElement* castedThis = static_cast<JSSVGFEGaussianBlurElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEGaussianBlurElement* imp = static_cast<SVGFEGaussianBlurElement*>(static_cast<JSSVGFEGaussianBlurElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEGaussianBlurElement* imp = static_cast<SVGFEGaussianBlurElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->classNameAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEGaussianBlurElementStyle(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEGaussianBlurElement* castedThis = static_cast<JSSVGFEGaussianBlurElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEGaussianBlurElement* imp = static_cast<SVGFEGaussianBlurElement*>(static_cast<JSSVGFEGaussianBlurElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->style()));
+ SVGFEGaussianBlurElement* imp = static_cast<SVGFEGaussianBlurElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->style()));
}
JSValue JSC_HOST_CALL jsSVGFEGaussianBlurElementPrototypeFunctionSetStdDeviation(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -214,7 +224,7 @@ JSValue JSC_HOST_CALL jsSVGFEGaussianBlurElementPrototypeFunctionGetPresentation
const UString& name = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getPresentationAttribute(name)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getPresentationAttribute(name)));
return result;
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFEGaussianBlurElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGFEGaussianBlurElement.h
index 2a5bcd3..dc02e5a 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGFEGaussianBlurElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFEGaussianBlurElement.h
@@ -33,7 +33,7 @@ class SVGFEGaussianBlurElement;
class JSSVGFEGaussianBlurElement : public JSSVGElement {
typedef JSSVGElement Base;
public:
- JSSVGFEGaussianBlurElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGFEGaussianBlurElement>);
+ JSSVGFEGaussianBlurElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGFEGaussianBlurElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFEImageElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGFEImageElement.cpp
index 08ea33e..9b26250 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGFEImageElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFEImageElement.cpp
@@ -62,7 +62,7 @@ static const HashTableValue JSSVGFEImageElementTableValues[12] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGFEImageElementTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGFEImageElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 255, JSSVGFEImageElementTableValues, 0 };
#else
@@ -77,7 +77,7 @@ static const HashTableValue JSSVGFEImageElementPrototypeTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGFEImageElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGFEImageElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGFEImageElementPrototypeTableValues, 0 };
#else
@@ -98,8 +98,8 @@ bool JSSVGFEImageElementPrototype::getOwnPropertySlot(ExecState* exec, const Ide
const ClassInfo JSSVGFEImageElement::s_info = { "SVGFEImageElement", &JSSVGElement::s_info, &JSSVGFEImageElementTable, 0 };
-JSSVGFEImageElement::JSSVGFEImageElement(PassRefPtr<Structure> structure, PassRefPtr<SVGFEImageElement> impl)
- : JSSVGElement(structure, impl)
+JSSVGFEImageElement::JSSVGFEImageElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGFEImageElement> impl)
+ : JSSVGElement(structure, globalObject, impl)
{
}
@@ -115,87 +115,98 @@ bool JSSVGFEImageElement::getOwnPropertySlot(ExecState* exec, const Identifier&
JSValue jsSVGFEImageElementHref(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEImageElement* castedThis = static_cast<JSSVGFEImageElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEImageElement* imp = static_cast<SVGFEImageElement*>(static_cast<JSSVGFEImageElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEImageElement* imp = static_cast<SVGFEImageElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->hrefAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEImageElementXmllang(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEImageElement* castedThis = static_cast<JSSVGFEImageElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEImageElement* imp = static_cast<SVGFEImageElement*>(static_cast<JSSVGFEImageElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEImageElement* imp = static_cast<SVGFEImageElement*>(castedThis->impl());
return jsString(exec, imp->xmllang());
}
JSValue jsSVGFEImageElementXmlspace(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEImageElement* castedThis = static_cast<JSSVGFEImageElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEImageElement* imp = static_cast<SVGFEImageElement*>(static_cast<JSSVGFEImageElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEImageElement* imp = static_cast<SVGFEImageElement*>(castedThis->impl());
return jsString(exec, imp->xmlspace());
}
JSValue jsSVGFEImageElementExternalResourcesRequired(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEImageElement* castedThis = static_cast<JSSVGFEImageElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEImageElement* imp = static_cast<SVGFEImageElement*>(static_cast<JSSVGFEImageElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEImageElement* imp = static_cast<SVGFEImageElement*>(castedThis->impl());
RefPtr<SVGAnimatedBoolean> obj = imp->externalResourcesRequiredAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEImageElementX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEImageElement* castedThis = static_cast<JSSVGFEImageElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEImageElement* imp = static_cast<SVGFEImageElement*>(static_cast<JSSVGFEImageElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEImageElement* imp = static_cast<SVGFEImageElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->xAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEImageElementY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEImageElement* castedThis = static_cast<JSSVGFEImageElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEImageElement* imp = static_cast<SVGFEImageElement*>(static_cast<JSSVGFEImageElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEImageElement* imp = static_cast<SVGFEImageElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->yAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEImageElementWidth(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEImageElement* castedThis = static_cast<JSSVGFEImageElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEImageElement* imp = static_cast<SVGFEImageElement*>(static_cast<JSSVGFEImageElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEImageElement* imp = static_cast<SVGFEImageElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->widthAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEImageElementHeight(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEImageElement* castedThis = static_cast<JSSVGFEImageElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEImageElement* imp = static_cast<SVGFEImageElement*>(static_cast<JSSVGFEImageElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEImageElement* imp = static_cast<SVGFEImageElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->heightAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEImageElementResult(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEImageElement* castedThis = static_cast<JSSVGFEImageElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEImageElement* imp = static_cast<SVGFEImageElement*>(static_cast<JSSVGFEImageElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEImageElement* imp = static_cast<SVGFEImageElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->resultAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEImageElementClassName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEImageElement* castedThis = static_cast<JSSVGFEImageElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEImageElement* imp = static_cast<SVGFEImageElement*>(static_cast<JSSVGFEImageElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEImageElement* imp = static_cast<SVGFEImageElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->classNameAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEImageElementStyle(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEImageElement* castedThis = static_cast<JSSVGFEImageElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEImageElement* imp = static_cast<SVGFEImageElement*>(static_cast<JSSVGFEImageElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->style()));
+ SVGFEImageElement* imp = static_cast<SVGFEImageElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->style()));
}
void JSSVGFEImageElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
@@ -225,7 +236,7 @@ JSValue JSC_HOST_CALL jsSVGFEImageElementPrototypeFunctionGetPresentationAttribu
const UString& name = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getPresentationAttribute(name)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getPresentationAttribute(name)));
return result;
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFEImageElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGFEImageElement.h
index e07fb7d..8b2d03e 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGFEImageElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFEImageElement.h
@@ -33,7 +33,7 @@ class SVGFEImageElement;
class JSSVGFEImageElement : public JSSVGElement {
typedef JSSVGElement Base;
public:
- JSSVGFEImageElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGFEImageElement>);
+ JSSVGFEImageElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGFEImageElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFEMergeElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGFEMergeElement.cpp
index 7262013..0d512aa 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGFEMergeElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFEMergeElement.cpp
@@ -55,7 +55,7 @@ static const HashTableValue JSSVGFEMergeElementTableValues[8] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGFEMergeElementTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGFEMergeElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 255, JSSVGFEMergeElementTableValues, 0 };
#else
@@ -70,7 +70,7 @@ static const HashTableValue JSSVGFEMergeElementPrototypeTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGFEMergeElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGFEMergeElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGFEMergeElementPrototypeTableValues, 0 };
#else
@@ -91,8 +91,8 @@ bool JSSVGFEMergeElementPrototype::getOwnPropertySlot(ExecState* exec, const Ide
const ClassInfo JSSVGFEMergeElement::s_info = { "SVGFEMergeElement", &JSSVGElement::s_info, &JSSVGFEMergeElementTable, 0 };
-JSSVGFEMergeElement::JSSVGFEMergeElement(PassRefPtr<Structure> structure, PassRefPtr<SVGFEMergeElement> impl)
- : JSSVGElement(structure, impl)
+JSSVGFEMergeElement::JSSVGFEMergeElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGFEMergeElement> impl)
+ : JSSVGElement(structure, globalObject, impl)
{
}
@@ -108,57 +108,64 @@ bool JSSVGFEMergeElement::getOwnPropertySlot(ExecState* exec, const Identifier&
JSValue jsSVGFEMergeElementX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEMergeElement* castedThis = static_cast<JSSVGFEMergeElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEMergeElement* imp = static_cast<SVGFEMergeElement*>(static_cast<JSSVGFEMergeElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEMergeElement* imp = static_cast<SVGFEMergeElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->xAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEMergeElementY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEMergeElement* castedThis = static_cast<JSSVGFEMergeElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEMergeElement* imp = static_cast<SVGFEMergeElement*>(static_cast<JSSVGFEMergeElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEMergeElement* imp = static_cast<SVGFEMergeElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->yAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEMergeElementWidth(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEMergeElement* castedThis = static_cast<JSSVGFEMergeElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEMergeElement* imp = static_cast<SVGFEMergeElement*>(static_cast<JSSVGFEMergeElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEMergeElement* imp = static_cast<SVGFEMergeElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->widthAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEMergeElementHeight(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEMergeElement* castedThis = static_cast<JSSVGFEMergeElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEMergeElement* imp = static_cast<SVGFEMergeElement*>(static_cast<JSSVGFEMergeElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEMergeElement* imp = static_cast<SVGFEMergeElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->heightAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEMergeElementResult(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEMergeElement* castedThis = static_cast<JSSVGFEMergeElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEMergeElement* imp = static_cast<SVGFEMergeElement*>(static_cast<JSSVGFEMergeElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEMergeElement* imp = static_cast<SVGFEMergeElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->resultAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEMergeElementClassName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEMergeElement* castedThis = static_cast<JSSVGFEMergeElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEMergeElement* imp = static_cast<SVGFEMergeElement*>(static_cast<JSSVGFEMergeElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEMergeElement* imp = static_cast<SVGFEMergeElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->classNameAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEMergeElementStyle(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEMergeElement* castedThis = static_cast<JSSVGFEMergeElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEMergeElement* imp = static_cast<SVGFEMergeElement*>(static_cast<JSSVGFEMergeElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->style()));
+ SVGFEMergeElement* imp = static_cast<SVGFEMergeElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->style()));
}
JSValue JSC_HOST_CALL jsSVGFEMergeElementPrototypeFunctionGetPresentationAttribute(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -171,7 +178,7 @@ JSValue JSC_HOST_CALL jsSVGFEMergeElementPrototypeFunctionGetPresentationAttribu
const UString& name = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getPresentationAttribute(name)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getPresentationAttribute(name)));
return result;
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFEMergeElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGFEMergeElement.h
index 1d8265d..0d64712 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGFEMergeElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFEMergeElement.h
@@ -33,7 +33,7 @@ class SVGFEMergeElement;
class JSSVGFEMergeElement : public JSSVGElement {
typedef JSSVGElement Base;
public:
- JSSVGFEMergeElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGFEMergeElement>);
+ JSSVGFEMergeElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGFEMergeElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFEMergeNodeElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGFEMergeNodeElement.cpp
index 32fc5c7..3358b9d 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGFEMergeNodeElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFEMergeNodeElement.cpp
@@ -42,7 +42,7 @@ static const HashTableValue JSSVGFEMergeNodeElementTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGFEMergeNodeElementTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGFEMergeNodeElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGFEMergeNodeElementTableValues, 0 };
#else
@@ -56,7 +56,7 @@ static const HashTableValue JSSVGFEMergeNodeElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGFEMergeNodeElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGFEMergeNodeElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGFEMergeNodeElementPrototypeTableValues, 0 };
#else
@@ -72,8 +72,8 @@ JSObject* JSSVGFEMergeNodeElementPrototype::self(ExecState* exec, JSGlobalObject
const ClassInfo JSSVGFEMergeNodeElement::s_info = { "SVGFEMergeNodeElement", &JSSVGElement::s_info, &JSSVGFEMergeNodeElementTable, 0 };
-JSSVGFEMergeNodeElement::JSSVGFEMergeNodeElement(PassRefPtr<Structure> structure, PassRefPtr<SVGFEMergeNodeElement> impl)
- : JSSVGElement(structure, impl)
+JSSVGFEMergeNodeElement::JSSVGFEMergeNodeElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGFEMergeNodeElement> impl)
+ : JSSVGElement(structure, globalObject, impl)
{
}
@@ -89,10 +89,11 @@ bool JSSVGFEMergeNodeElement::getOwnPropertySlot(ExecState* exec, const Identifi
JSValue jsSVGFEMergeNodeElementIn1(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEMergeNodeElement* castedThis = static_cast<JSSVGFEMergeNodeElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEMergeNodeElement* imp = static_cast<SVGFEMergeNodeElement*>(static_cast<JSSVGFEMergeNodeElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEMergeNodeElement* imp = static_cast<SVGFEMergeNodeElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->in1Animated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFEMergeNodeElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGFEMergeNodeElement.h
index d5d192e..da757a6 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGFEMergeNodeElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFEMergeNodeElement.h
@@ -33,7 +33,7 @@ class SVGFEMergeNodeElement;
class JSSVGFEMergeNodeElement : public JSSVGElement {
typedef JSSVGElement Base;
public:
- JSSVGFEMergeNodeElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGFEMergeNodeElement>);
+ JSSVGFEMergeNodeElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGFEMergeNodeElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFEOffsetElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGFEOffsetElement.cpp
index 3b36b96..dc30cf8 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGFEOffsetElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFEOffsetElement.cpp
@@ -59,7 +59,7 @@ static const HashTableValue JSSVGFEOffsetElementTableValues[11] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGFEOffsetElementTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGFEOffsetElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 255, JSSVGFEOffsetElementTableValues, 0 };
#else
@@ -74,7 +74,7 @@ static const HashTableValue JSSVGFEOffsetElementPrototypeTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGFEOffsetElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGFEOffsetElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGFEOffsetElementPrototypeTableValues, 0 };
#else
@@ -95,8 +95,8 @@ bool JSSVGFEOffsetElementPrototype::getOwnPropertySlot(ExecState* exec, const Id
const ClassInfo JSSVGFEOffsetElement::s_info = { "SVGFEOffsetElement", &JSSVGElement::s_info, &JSSVGFEOffsetElementTable, 0 };
-JSSVGFEOffsetElement::JSSVGFEOffsetElement(PassRefPtr<Structure> structure, PassRefPtr<SVGFEOffsetElement> impl)
- : JSSVGElement(structure, impl)
+JSSVGFEOffsetElement::JSSVGFEOffsetElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGFEOffsetElement> impl)
+ : JSSVGElement(structure, globalObject, impl)
{
}
@@ -112,81 +112,91 @@ bool JSSVGFEOffsetElement::getOwnPropertySlot(ExecState* exec, const Identifier&
JSValue jsSVGFEOffsetElementIn1(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEOffsetElement* castedThis = static_cast<JSSVGFEOffsetElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEOffsetElement* imp = static_cast<SVGFEOffsetElement*>(static_cast<JSSVGFEOffsetElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEOffsetElement* imp = static_cast<SVGFEOffsetElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->in1Animated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEOffsetElementDx(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEOffsetElement* castedThis = static_cast<JSSVGFEOffsetElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEOffsetElement* imp = static_cast<SVGFEOffsetElement*>(static_cast<JSSVGFEOffsetElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEOffsetElement* imp = static_cast<SVGFEOffsetElement*>(castedThis->impl());
RefPtr<SVGAnimatedNumber> obj = imp->dxAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEOffsetElementDy(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEOffsetElement* castedThis = static_cast<JSSVGFEOffsetElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEOffsetElement* imp = static_cast<SVGFEOffsetElement*>(static_cast<JSSVGFEOffsetElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEOffsetElement* imp = static_cast<SVGFEOffsetElement*>(castedThis->impl());
RefPtr<SVGAnimatedNumber> obj = imp->dyAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEOffsetElementX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEOffsetElement* castedThis = static_cast<JSSVGFEOffsetElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEOffsetElement* imp = static_cast<SVGFEOffsetElement*>(static_cast<JSSVGFEOffsetElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEOffsetElement* imp = static_cast<SVGFEOffsetElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->xAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEOffsetElementY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEOffsetElement* castedThis = static_cast<JSSVGFEOffsetElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEOffsetElement* imp = static_cast<SVGFEOffsetElement*>(static_cast<JSSVGFEOffsetElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEOffsetElement* imp = static_cast<SVGFEOffsetElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->yAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEOffsetElementWidth(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEOffsetElement* castedThis = static_cast<JSSVGFEOffsetElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEOffsetElement* imp = static_cast<SVGFEOffsetElement*>(static_cast<JSSVGFEOffsetElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEOffsetElement* imp = static_cast<SVGFEOffsetElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->widthAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEOffsetElementHeight(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEOffsetElement* castedThis = static_cast<JSSVGFEOffsetElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEOffsetElement* imp = static_cast<SVGFEOffsetElement*>(static_cast<JSSVGFEOffsetElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEOffsetElement* imp = static_cast<SVGFEOffsetElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->heightAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEOffsetElementResult(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEOffsetElement* castedThis = static_cast<JSSVGFEOffsetElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEOffsetElement* imp = static_cast<SVGFEOffsetElement*>(static_cast<JSSVGFEOffsetElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEOffsetElement* imp = static_cast<SVGFEOffsetElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->resultAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEOffsetElementClassName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEOffsetElement* castedThis = static_cast<JSSVGFEOffsetElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEOffsetElement* imp = static_cast<SVGFEOffsetElement*>(static_cast<JSSVGFEOffsetElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEOffsetElement* imp = static_cast<SVGFEOffsetElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->classNameAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEOffsetElementStyle(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEOffsetElement* castedThis = static_cast<JSSVGFEOffsetElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEOffsetElement* imp = static_cast<SVGFEOffsetElement*>(static_cast<JSSVGFEOffsetElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->style()));
+ SVGFEOffsetElement* imp = static_cast<SVGFEOffsetElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->style()));
}
JSValue JSC_HOST_CALL jsSVGFEOffsetElementPrototypeFunctionGetPresentationAttribute(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -199,7 +209,7 @@ JSValue JSC_HOST_CALL jsSVGFEOffsetElementPrototypeFunctionGetPresentationAttrib
const UString& name = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getPresentationAttribute(name)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getPresentationAttribute(name)));
return result;
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFEOffsetElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGFEOffsetElement.h
index 0af9898..7ee3daf 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGFEOffsetElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFEOffsetElement.h
@@ -33,7 +33,7 @@ class SVGFEOffsetElement;
class JSSVGFEOffsetElement : public JSSVGElement {
typedef JSSVGElement Base;
public:
- JSSVGFEOffsetElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGFEOffsetElement>);
+ JSSVGFEOffsetElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGFEOffsetElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFEPointLightElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGFEPointLightElement.cpp
index 5004762..724a55d 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGFEPointLightElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFEPointLightElement.cpp
@@ -44,7 +44,7 @@ static const HashTableValue JSSVGFEPointLightElementTableValues[4] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGFEPointLightElementTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGFEPointLightElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 3, JSSVGFEPointLightElementTableValues, 0 };
#else
@@ -58,7 +58,7 @@ static const HashTableValue JSSVGFEPointLightElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGFEPointLightElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGFEPointLightElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGFEPointLightElementPrototypeTableValues, 0 };
#else
@@ -74,8 +74,8 @@ JSObject* JSSVGFEPointLightElementPrototype::self(ExecState* exec, JSGlobalObjec
const ClassInfo JSSVGFEPointLightElement::s_info = { "SVGFEPointLightElement", &JSSVGElement::s_info, &JSSVGFEPointLightElementTable, 0 };
-JSSVGFEPointLightElement::JSSVGFEPointLightElement(PassRefPtr<Structure> structure, PassRefPtr<SVGFEPointLightElement> impl)
- : JSSVGElement(structure, impl)
+JSSVGFEPointLightElement::JSSVGFEPointLightElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGFEPointLightElement> impl)
+ : JSSVGElement(structure, globalObject, impl)
{
}
@@ -91,26 +91,29 @@ bool JSSVGFEPointLightElement::getOwnPropertySlot(ExecState* exec, const Identif
JSValue jsSVGFEPointLightElementX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEPointLightElement* castedThis = static_cast<JSSVGFEPointLightElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEPointLightElement* imp = static_cast<SVGFEPointLightElement*>(static_cast<JSSVGFEPointLightElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEPointLightElement* imp = static_cast<SVGFEPointLightElement*>(castedThis->impl());
RefPtr<SVGAnimatedNumber> obj = imp->xAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEPointLightElementY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEPointLightElement* castedThis = static_cast<JSSVGFEPointLightElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEPointLightElement* imp = static_cast<SVGFEPointLightElement*>(static_cast<JSSVGFEPointLightElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEPointLightElement* imp = static_cast<SVGFEPointLightElement*>(castedThis->impl());
RefPtr<SVGAnimatedNumber> obj = imp->yAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEPointLightElementZ(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEPointLightElement* castedThis = static_cast<JSSVGFEPointLightElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEPointLightElement* imp = static_cast<SVGFEPointLightElement*>(static_cast<JSSVGFEPointLightElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEPointLightElement* imp = static_cast<SVGFEPointLightElement*>(castedThis->impl());
RefPtr<SVGAnimatedNumber> obj = imp->zAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFEPointLightElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGFEPointLightElement.h
index bd35675..cfbc255 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGFEPointLightElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFEPointLightElement.h
@@ -33,7 +33,7 @@ class SVGFEPointLightElement;
class JSSVGFEPointLightElement : public JSSVGElement {
typedef JSSVGElement Base;
public:
- JSSVGFEPointLightElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGFEPointLightElement>);
+ JSSVGFEPointLightElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGFEPointLightElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFESpecularLightingElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGFESpecularLightingElement.cpp
index 7521e62..a481c18 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGFESpecularLightingElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFESpecularLightingElement.cpp
@@ -60,7 +60,7 @@ static const HashTableValue JSSVGFESpecularLightingElementTableValues[12] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGFESpecularLightingElementTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGFESpecularLightingElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 1023, JSSVGFESpecularLightingElementTableValues, 0 };
#else
@@ -75,7 +75,7 @@ static const HashTableValue JSSVGFESpecularLightingElementPrototypeTableValues[2
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGFESpecularLightingElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGFESpecularLightingElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGFESpecularLightingElementPrototypeTableValues, 0 };
#else
@@ -96,8 +96,8 @@ bool JSSVGFESpecularLightingElementPrototype::getOwnPropertySlot(ExecState* exec
const ClassInfo JSSVGFESpecularLightingElement::s_info = { "SVGFESpecularLightingElement", &JSSVGElement::s_info, &JSSVGFESpecularLightingElementTable, 0 };
-JSSVGFESpecularLightingElement::JSSVGFESpecularLightingElement(PassRefPtr<Structure> structure, PassRefPtr<SVGFESpecularLightingElement> impl)
- : JSSVGElement(structure, impl)
+JSSVGFESpecularLightingElement::JSSVGFESpecularLightingElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGFESpecularLightingElement> impl)
+ : JSSVGElement(structure, globalObject, impl)
{
}
@@ -113,89 +113,100 @@ bool JSSVGFESpecularLightingElement::getOwnPropertySlot(ExecState* exec, const I
JSValue jsSVGFESpecularLightingElementIn1(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFESpecularLightingElement* castedThis = static_cast<JSSVGFESpecularLightingElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFESpecularLightingElement* imp = static_cast<SVGFESpecularLightingElement*>(static_cast<JSSVGFESpecularLightingElement*>(asObject(slot.slotBase()))->impl());
+ SVGFESpecularLightingElement* imp = static_cast<SVGFESpecularLightingElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->in1Animated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFESpecularLightingElementSurfaceScale(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFESpecularLightingElement* castedThis = static_cast<JSSVGFESpecularLightingElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFESpecularLightingElement* imp = static_cast<SVGFESpecularLightingElement*>(static_cast<JSSVGFESpecularLightingElement*>(asObject(slot.slotBase()))->impl());
+ SVGFESpecularLightingElement* imp = static_cast<SVGFESpecularLightingElement*>(castedThis->impl());
RefPtr<SVGAnimatedNumber> obj = imp->surfaceScaleAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFESpecularLightingElementSpecularConstant(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFESpecularLightingElement* castedThis = static_cast<JSSVGFESpecularLightingElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFESpecularLightingElement* imp = static_cast<SVGFESpecularLightingElement*>(static_cast<JSSVGFESpecularLightingElement*>(asObject(slot.slotBase()))->impl());
+ SVGFESpecularLightingElement* imp = static_cast<SVGFESpecularLightingElement*>(castedThis->impl());
RefPtr<SVGAnimatedNumber> obj = imp->specularConstantAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFESpecularLightingElementSpecularExponent(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFESpecularLightingElement* castedThis = static_cast<JSSVGFESpecularLightingElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFESpecularLightingElement* imp = static_cast<SVGFESpecularLightingElement*>(static_cast<JSSVGFESpecularLightingElement*>(asObject(slot.slotBase()))->impl());
+ SVGFESpecularLightingElement* imp = static_cast<SVGFESpecularLightingElement*>(castedThis->impl());
RefPtr<SVGAnimatedNumber> obj = imp->specularExponentAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFESpecularLightingElementX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFESpecularLightingElement* castedThis = static_cast<JSSVGFESpecularLightingElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFESpecularLightingElement* imp = static_cast<SVGFESpecularLightingElement*>(static_cast<JSSVGFESpecularLightingElement*>(asObject(slot.slotBase()))->impl());
+ SVGFESpecularLightingElement* imp = static_cast<SVGFESpecularLightingElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->xAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFESpecularLightingElementY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFESpecularLightingElement* castedThis = static_cast<JSSVGFESpecularLightingElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFESpecularLightingElement* imp = static_cast<SVGFESpecularLightingElement*>(static_cast<JSSVGFESpecularLightingElement*>(asObject(slot.slotBase()))->impl());
+ SVGFESpecularLightingElement* imp = static_cast<SVGFESpecularLightingElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->yAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFESpecularLightingElementWidth(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFESpecularLightingElement* castedThis = static_cast<JSSVGFESpecularLightingElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFESpecularLightingElement* imp = static_cast<SVGFESpecularLightingElement*>(static_cast<JSSVGFESpecularLightingElement*>(asObject(slot.slotBase()))->impl());
+ SVGFESpecularLightingElement* imp = static_cast<SVGFESpecularLightingElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->widthAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFESpecularLightingElementHeight(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFESpecularLightingElement* castedThis = static_cast<JSSVGFESpecularLightingElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFESpecularLightingElement* imp = static_cast<SVGFESpecularLightingElement*>(static_cast<JSSVGFESpecularLightingElement*>(asObject(slot.slotBase()))->impl());
+ SVGFESpecularLightingElement* imp = static_cast<SVGFESpecularLightingElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->heightAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFESpecularLightingElementResult(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFESpecularLightingElement* castedThis = static_cast<JSSVGFESpecularLightingElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFESpecularLightingElement* imp = static_cast<SVGFESpecularLightingElement*>(static_cast<JSSVGFESpecularLightingElement*>(asObject(slot.slotBase()))->impl());
+ SVGFESpecularLightingElement* imp = static_cast<SVGFESpecularLightingElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->resultAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFESpecularLightingElementClassName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFESpecularLightingElement* castedThis = static_cast<JSSVGFESpecularLightingElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFESpecularLightingElement* imp = static_cast<SVGFESpecularLightingElement*>(static_cast<JSSVGFESpecularLightingElement*>(asObject(slot.slotBase()))->impl());
+ SVGFESpecularLightingElement* imp = static_cast<SVGFESpecularLightingElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->classNameAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFESpecularLightingElementStyle(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFESpecularLightingElement* castedThis = static_cast<JSSVGFESpecularLightingElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFESpecularLightingElement* imp = static_cast<SVGFESpecularLightingElement*>(static_cast<JSSVGFESpecularLightingElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->style()));
+ SVGFESpecularLightingElement* imp = static_cast<SVGFESpecularLightingElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->style()));
}
JSValue JSC_HOST_CALL jsSVGFESpecularLightingElementPrototypeFunctionGetPresentationAttribute(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -208,7 +219,7 @@ JSValue JSC_HOST_CALL jsSVGFESpecularLightingElementPrototypeFunctionGetPresenta
const UString& name = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getPresentationAttribute(name)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getPresentationAttribute(name)));
return result;
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFESpecularLightingElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGFESpecularLightingElement.h
index 8085629..41d7575 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGFESpecularLightingElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFESpecularLightingElement.h
@@ -33,7 +33,7 @@ class SVGFESpecularLightingElement;
class JSSVGFESpecularLightingElement : public JSSVGElement {
typedef JSSVGElement Base;
public:
- JSSVGFESpecularLightingElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGFESpecularLightingElement>);
+ JSSVGFESpecularLightingElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGFESpecularLightingElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFESpotLightElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGFESpotLightElement.cpp
index de15407..e6a70ea 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGFESpotLightElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFESpotLightElement.cpp
@@ -49,7 +49,7 @@ static const HashTableValue JSSVGFESpotLightElementTableValues[9] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGFESpotLightElementTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGFESpotLightElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSSVGFESpotLightElementTableValues, 0 };
#else
@@ -63,7 +63,7 @@ static const HashTableValue JSSVGFESpotLightElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGFESpotLightElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGFESpotLightElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGFESpotLightElementPrototypeTableValues, 0 };
#else
@@ -79,8 +79,8 @@ JSObject* JSSVGFESpotLightElementPrototype::self(ExecState* exec, JSGlobalObject
const ClassInfo JSSVGFESpotLightElement::s_info = { "SVGFESpotLightElement", &JSSVGElement::s_info, &JSSVGFESpotLightElementTable, 0 };
-JSSVGFESpotLightElement::JSSVGFESpotLightElement(PassRefPtr<Structure> structure, PassRefPtr<SVGFESpotLightElement> impl)
- : JSSVGElement(structure, impl)
+JSSVGFESpotLightElement::JSSVGFESpotLightElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGFESpotLightElement> impl)
+ : JSSVGElement(structure, globalObject, impl)
{
}
@@ -96,66 +96,74 @@ bool JSSVGFESpotLightElement::getOwnPropertySlot(ExecState* exec, const Identifi
JSValue jsSVGFESpotLightElementX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFESpotLightElement* castedThis = static_cast<JSSVGFESpotLightElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFESpotLightElement* imp = static_cast<SVGFESpotLightElement*>(static_cast<JSSVGFESpotLightElement*>(asObject(slot.slotBase()))->impl());
+ SVGFESpotLightElement* imp = static_cast<SVGFESpotLightElement*>(castedThis->impl());
RefPtr<SVGAnimatedNumber> obj = imp->xAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFESpotLightElementY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFESpotLightElement* castedThis = static_cast<JSSVGFESpotLightElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFESpotLightElement* imp = static_cast<SVGFESpotLightElement*>(static_cast<JSSVGFESpotLightElement*>(asObject(slot.slotBase()))->impl());
+ SVGFESpotLightElement* imp = static_cast<SVGFESpotLightElement*>(castedThis->impl());
RefPtr<SVGAnimatedNumber> obj = imp->yAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFESpotLightElementZ(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFESpotLightElement* castedThis = static_cast<JSSVGFESpotLightElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFESpotLightElement* imp = static_cast<SVGFESpotLightElement*>(static_cast<JSSVGFESpotLightElement*>(asObject(slot.slotBase()))->impl());
+ SVGFESpotLightElement* imp = static_cast<SVGFESpotLightElement*>(castedThis->impl());
RefPtr<SVGAnimatedNumber> obj = imp->zAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFESpotLightElementPointsAtX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFESpotLightElement* castedThis = static_cast<JSSVGFESpotLightElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFESpotLightElement* imp = static_cast<SVGFESpotLightElement*>(static_cast<JSSVGFESpotLightElement*>(asObject(slot.slotBase()))->impl());
+ SVGFESpotLightElement* imp = static_cast<SVGFESpotLightElement*>(castedThis->impl());
RefPtr<SVGAnimatedNumber> obj = imp->pointsAtXAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFESpotLightElementPointsAtY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFESpotLightElement* castedThis = static_cast<JSSVGFESpotLightElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFESpotLightElement* imp = static_cast<SVGFESpotLightElement*>(static_cast<JSSVGFESpotLightElement*>(asObject(slot.slotBase()))->impl());
+ SVGFESpotLightElement* imp = static_cast<SVGFESpotLightElement*>(castedThis->impl());
RefPtr<SVGAnimatedNumber> obj = imp->pointsAtYAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFESpotLightElementPointsAtZ(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFESpotLightElement* castedThis = static_cast<JSSVGFESpotLightElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFESpotLightElement* imp = static_cast<SVGFESpotLightElement*>(static_cast<JSSVGFESpotLightElement*>(asObject(slot.slotBase()))->impl());
+ SVGFESpotLightElement* imp = static_cast<SVGFESpotLightElement*>(castedThis->impl());
RefPtr<SVGAnimatedNumber> obj = imp->pointsAtZAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFESpotLightElementSpecularExponent(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFESpotLightElement* castedThis = static_cast<JSSVGFESpotLightElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFESpotLightElement* imp = static_cast<SVGFESpotLightElement*>(static_cast<JSSVGFESpotLightElement*>(asObject(slot.slotBase()))->impl());
+ SVGFESpotLightElement* imp = static_cast<SVGFESpotLightElement*>(castedThis->impl());
RefPtr<SVGAnimatedNumber> obj = imp->specularExponentAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFESpotLightElementLimitingConeAngle(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFESpotLightElement* castedThis = static_cast<JSSVGFESpotLightElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFESpotLightElement* imp = static_cast<SVGFESpotLightElement*>(static_cast<JSSVGFESpotLightElement*>(asObject(slot.slotBase()))->impl());
+ SVGFESpotLightElement* imp = static_cast<SVGFESpotLightElement*>(castedThis->impl());
RefPtr<SVGAnimatedNumber> obj = imp->limitingConeAngleAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFESpotLightElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGFESpotLightElement.h
index 8a9d925..bb2dfa5 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGFESpotLightElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFESpotLightElement.h
@@ -33,7 +33,7 @@ class SVGFESpotLightElement;
class JSSVGFESpotLightElement : public JSSVGElement {
typedef JSSVGElement Base;
public:
- JSSVGFESpotLightElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGFESpotLightElement>);
+ JSSVGFESpotLightElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGFESpotLightElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFETileElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGFETileElement.cpp
index 66b19e8..8d80422 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGFETileElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFETileElement.cpp
@@ -56,7 +56,7 @@ static const HashTableValue JSSVGFETileElementTableValues[9] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGFETileElementTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGFETileElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 255, JSSVGFETileElementTableValues, 0 };
#else
@@ -71,7 +71,7 @@ static const HashTableValue JSSVGFETileElementPrototypeTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGFETileElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGFETileElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGFETileElementPrototypeTableValues, 0 };
#else
@@ -92,8 +92,8 @@ bool JSSVGFETileElementPrototype::getOwnPropertySlot(ExecState* exec, const Iden
const ClassInfo JSSVGFETileElement::s_info = { "SVGFETileElement", &JSSVGElement::s_info, &JSSVGFETileElementTable, 0 };
-JSSVGFETileElement::JSSVGFETileElement(PassRefPtr<Structure> structure, PassRefPtr<SVGFETileElement> impl)
- : JSSVGElement(structure, impl)
+JSSVGFETileElement::JSSVGFETileElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGFETileElement> impl)
+ : JSSVGElement(structure, globalObject, impl)
{
}
@@ -109,65 +109,73 @@ bool JSSVGFETileElement::getOwnPropertySlot(ExecState* exec, const Identifier& p
JSValue jsSVGFETileElementIn1(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFETileElement* castedThis = static_cast<JSSVGFETileElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFETileElement* imp = static_cast<SVGFETileElement*>(static_cast<JSSVGFETileElement*>(asObject(slot.slotBase()))->impl());
+ SVGFETileElement* imp = static_cast<SVGFETileElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->in1Animated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFETileElementX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFETileElement* castedThis = static_cast<JSSVGFETileElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFETileElement* imp = static_cast<SVGFETileElement*>(static_cast<JSSVGFETileElement*>(asObject(slot.slotBase()))->impl());
+ SVGFETileElement* imp = static_cast<SVGFETileElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->xAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFETileElementY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFETileElement* castedThis = static_cast<JSSVGFETileElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFETileElement* imp = static_cast<SVGFETileElement*>(static_cast<JSSVGFETileElement*>(asObject(slot.slotBase()))->impl());
+ SVGFETileElement* imp = static_cast<SVGFETileElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->yAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFETileElementWidth(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFETileElement* castedThis = static_cast<JSSVGFETileElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFETileElement* imp = static_cast<SVGFETileElement*>(static_cast<JSSVGFETileElement*>(asObject(slot.slotBase()))->impl());
+ SVGFETileElement* imp = static_cast<SVGFETileElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->widthAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFETileElementHeight(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFETileElement* castedThis = static_cast<JSSVGFETileElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFETileElement* imp = static_cast<SVGFETileElement*>(static_cast<JSSVGFETileElement*>(asObject(slot.slotBase()))->impl());
+ SVGFETileElement* imp = static_cast<SVGFETileElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->heightAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFETileElementResult(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFETileElement* castedThis = static_cast<JSSVGFETileElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFETileElement* imp = static_cast<SVGFETileElement*>(static_cast<JSSVGFETileElement*>(asObject(slot.slotBase()))->impl());
+ SVGFETileElement* imp = static_cast<SVGFETileElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->resultAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFETileElementClassName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFETileElement* castedThis = static_cast<JSSVGFETileElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFETileElement* imp = static_cast<SVGFETileElement*>(static_cast<JSSVGFETileElement*>(asObject(slot.slotBase()))->impl());
+ SVGFETileElement* imp = static_cast<SVGFETileElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->classNameAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFETileElementStyle(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFETileElement* castedThis = static_cast<JSSVGFETileElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFETileElement* imp = static_cast<SVGFETileElement*>(static_cast<JSSVGFETileElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->style()));
+ SVGFETileElement* imp = static_cast<SVGFETileElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->style()));
}
JSValue JSC_HOST_CALL jsSVGFETileElementPrototypeFunctionGetPresentationAttribute(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -180,7 +188,7 @@ JSValue JSC_HOST_CALL jsSVGFETileElementPrototypeFunctionGetPresentationAttribut
const UString& name = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getPresentationAttribute(name)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getPresentationAttribute(name)));
return result;
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFETileElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGFETileElement.h
index b31e651..13d9cbb 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGFETileElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFETileElement.h
@@ -33,7 +33,7 @@ class SVGFETileElement;
class JSSVGFETileElement : public JSSVGElement {
typedef JSSVGElement Base;
public:
- JSSVGFETileElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGFETileElement>);
+ JSSVGFETileElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGFETileElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFETurbulenceElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGFETurbulenceElement.cpp
index 50369f1..ae917a1 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGFETurbulenceElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFETurbulenceElement.cpp
@@ -65,7 +65,7 @@ static const HashTableValue JSSVGFETurbulenceElementTableValues[15] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGFETurbulenceElementTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGFETurbulenceElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 255, JSSVGFETurbulenceElementTableValues, 0 };
#else
@@ -85,19 +85,19 @@ static const HashTableValue JSSVGFETurbulenceElementConstructorTableValues[7] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGFETurbulenceElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGFETurbulenceElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 127, JSSVGFETurbulenceElementConstructorTableValues, 0 };
#else
{ 18, 15, JSSVGFETurbulenceElementConstructorTableValues, 0 };
#endif
-class JSSVGFETurbulenceElementConstructor : public DOMObject {
+class JSSVGFETurbulenceElementConstructor : public DOMConstructorObject {
public:
- JSSVGFETurbulenceElementConstructor(ExecState* exec)
- : DOMObject(JSSVGFETurbulenceElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSSVGFETurbulenceElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSSVGFETurbulenceElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSSVGFETurbulenceElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSSVGFETurbulenceElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -130,7 +130,7 @@ static const HashTableValue JSSVGFETurbulenceElementPrototypeTableValues[8] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGFETurbulenceElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGFETurbulenceElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 127, JSSVGFETurbulenceElementPrototypeTableValues, 0 };
#else
@@ -151,8 +151,8 @@ bool JSSVGFETurbulenceElementPrototype::getOwnPropertySlot(ExecState* exec, cons
const ClassInfo JSSVGFETurbulenceElement::s_info = { "SVGFETurbulenceElement", &JSSVGElement::s_info, &JSSVGFETurbulenceElementTable, 0 };
-JSSVGFETurbulenceElement::JSSVGFETurbulenceElement(PassRefPtr<Structure> structure, PassRefPtr<SVGFETurbulenceElement> impl)
- : JSSVGElement(structure, impl)
+JSSVGFETurbulenceElement::JSSVGFETurbulenceElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGFETurbulenceElement> impl)
+ : JSSVGElement(structure, globalObject, impl)
{
}
@@ -168,114 +168,128 @@ bool JSSVGFETurbulenceElement::getOwnPropertySlot(ExecState* exec, const Identif
JSValue jsSVGFETurbulenceElementBaseFrequencyX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFETurbulenceElement* castedThis = static_cast<JSSVGFETurbulenceElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFETurbulenceElement* imp = static_cast<SVGFETurbulenceElement*>(static_cast<JSSVGFETurbulenceElement*>(asObject(slot.slotBase()))->impl());
+ SVGFETurbulenceElement* imp = static_cast<SVGFETurbulenceElement*>(castedThis->impl());
RefPtr<SVGAnimatedNumber> obj = imp->baseFrequencyXAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFETurbulenceElementBaseFrequencyY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFETurbulenceElement* castedThis = static_cast<JSSVGFETurbulenceElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFETurbulenceElement* imp = static_cast<SVGFETurbulenceElement*>(static_cast<JSSVGFETurbulenceElement*>(asObject(slot.slotBase()))->impl());
+ SVGFETurbulenceElement* imp = static_cast<SVGFETurbulenceElement*>(castedThis->impl());
RefPtr<SVGAnimatedNumber> obj = imp->baseFrequencyYAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFETurbulenceElementNumOctaves(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFETurbulenceElement* castedThis = static_cast<JSSVGFETurbulenceElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFETurbulenceElement* imp = static_cast<SVGFETurbulenceElement*>(static_cast<JSSVGFETurbulenceElement*>(asObject(slot.slotBase()))->impl());
+ SVGFETurbulenceElement* imp = static_cast<SVGFETurbulenceElement*>(castedThis->impl());
RefPtr<SVGAnimatedInteger> obj = imp->numOctavesAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFETurbulenceElementSeed(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFETurbulenceElement* castedThis = static_cast<JSSVGFETurbulenceElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFETurbulenceElement* imp = static_cast<SVGFETurbulenceElement*>(static_cast<JSSVGFETurbulenceElement*>(asObject(slot.slotBase()))->impl());
+ SVGFETurbulenceElement* imp = static_cast<SVGFETurbulenceElement*>(castedThis->impl());
RefPtr<SVGAnimatedNumber> obj = imp->seedAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFETurbulenceElementStitchTiles(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFETurbulenceElement* castedThis = static_cast<JSSVGFETurbulenceElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFETurbulenceElement* imp = static_cast<SVGFETurbulenceElement*>(static_cast<JSSVGFETurbulenceElement*>(asObject(slot.slotBase()))->impl());
+ SVGFETurbulenceElement* imp = static_cast<SVGFETurbulenceElement*>(castedThis->impl());
RefPtr<SVGAnimatedEnumeration> obj = imp->stitchTilesAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFETurbulenceElementType(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFETurbulenceElement* castedThis = static_cast<JSSVGFETurbulenceElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFETurbulenceElement* imp = static_cast<SVGFETurbulenceElement*>(static_cast<JSSVGFETurbulenceElement*>(asObject(slot.slotBase()))->impl());
+ SVGFETurbulenceElement* imp = static_cast<SVGFETurbulenceElement*>(castedThis->impl());
RefPtr<SVGAnimatedEnumeration> obj = imp->typeAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFETurbulenceElementX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFETurbulenceElement* castedThis = static_cast<JSSVGFETurbulenceElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFETurbulenceElement* imp = static_cast<SVGFETurbulenceElement*>(static_cast<JSSVGFETurbulenceElement*>(asObject(slot.slotBase()))->impl());
+ SVGFETurbulenceElement* imp = static_cast<SVGFETurbulenceElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->xAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFETurbulenceElementY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFETurbulenceElement* castedThis = static_cast<JSSVGFETurbulenceElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFETurbulenceElement* imp = static_cast<SVGFETurbulenceElement*>(static_cast<JSSVGFETurbulenceElement*>(asObject(slot.slotBase()))->impl());
+ SVGFETurbulenceElement* imp = static_cast<SVGFETurbulenceElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->yAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFETurbulenceElementWidth(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFETurbulenceElement* castedThis = static_cast<JSSVGFETurbulenceElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFETurbulenceElement* imp = static_cast<SVGFETurbulenceElement*>(static_cast<JSSVGFETurbulenceElement*>(asObject(slot.slotBase()))->impl());
+ SVGFETurbulenceElement* imp = static_cast<SVGFETurbulenceElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->widthAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFETurbulenceElementHeight(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFETurbulenceElement* castedThis = static_cast<JSSVGFETurbulenceElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFETurbulenceElement* imp = static_cast<SVGFETurbulenceElement*>(static_cast<JSSVGFETurbulenceElement*>(asObject(slot.slotBase()))->impl());
+ SVGFETurbulenceElement* imp = static_cast<SVGFETurbulenceElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->heightAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFETurbulenceElementResult(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFETurbulenceElement* castedThis = static_cast<JSSVGFETurbulenceElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFETurbulenceElement* imp = static_cast<SVGFETurbulenceElement*>(static_cast<JSSVGFETurbulenceElement*>(asObject(slot.slotBase()))->impl());
+ SVGFETurbulenceElement* imp = static_cast<SVGFETurbulenceElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->resultAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFETurbulenceElementClassName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFETurbulenceElement* castedThis = static_cast<JSSVGFETurbulenceElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFETurbulenceElement* imp = static_cast<SVGFETurbulenceElement*>(static_cast<JSSVGFETurbulenceElement*>(asObject(slot.slotBase()))->impl());
+ SVGFETurbulenceElement* imp = static_cast<SVGFETurbulenceElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->classNameAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFETurbulenceElementStyle(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFETurbulenceElement* castedThis = static_cast<JSSVGFETurbulenceElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFETurbulenceElement* imp = static_cast<SVGFETurbulenceElement*>(static_cast<JSSVGFETurbulenceElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->style()));
+ SVGFETurbulenceElement* imp = static_cast<SVGFETurbulenceElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->style()));
}
JSValue jsSVGFETurbulenceElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSSVGFETurbulenceElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSSVGFETurbulenceElement* domObject = static_cast<JSSVGFETurbulenceElement*>(asObject(slot.slotBase()));
+ return JSSVGFETurbulenceElement::getConstructor(exec, domObject->globalObject());
}
-JSValue JSSVGFETurbulenceElement::getConstructor(ExecState* exec)
+JSValue JSSVGFETurbulenceElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSSVGFETurbulenceElementConstructor>(exec);
+ return getDOMConstructor<JSSVGFETurbulenceElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsSVGFETurbulenceElementPrototypeFunctionGetPresentationAttribute(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -288,7 +302,7 @@ JSValue JSC_HOST_CALL jsSVGFETurbulenceElementPrototypeFunctionGetPresentationAt
const UString& name = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getPresentationAttribute(name)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getPresentationAttribute(name)));
return result;
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFETurbulenceElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGFETurbulenceElement.h
index c973954..94c35c3 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGFETurbulenceElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFETurbulenceElement.h
@@ -33,7 +33,7 @@ class SVGFETurbulenceElement;
class JSSVGFETurbulenceElement : public JSSVGElement {
typedef JSSVGElement Base;
public:
- JSSVGFETurbulenceElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGFETurbulenceElement>);
+ JSSVGFETurbulenceElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGFETurbulenceElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
@@ -44,7 +44,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFilterElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGFilterElement.cpp
index 9a63655..2bc864a 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGFilterElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFilterElement.cpp
@@ -67,7 +67,7 @@ static const HashTableValue JSSVGFilterElementTableValues[15] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGFilterElementTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGFilterElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 511, JSSVGFilterElementTableValues, 0 };
#else
@@ -83,7 +83,7 @@ static const HashTableValue JSSVGFilterElementPrototypeTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGFilterElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGFilterElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSSVGFilterElementPrototypeTableValues, 0 };
#else
@@ -104,8 +104,8 @@ bool JSSVGFilterElementPrototype::getOwnPropertySlot(ExecState* exec, const Iden
const ClassInfo JSSVGFilterElement::s_info = { "SVGFilterElement", &JSSVGElement::s_info, &JSSVGFilterElementTable, 0 };
-JSSVGFilterElement::JSSVGFilterElement(PassRefPtr<Structure> structure, PassRefPtr<SVGFilterElement> impl)
- : JSSVGElement(structure, impl)
+JSSVGFilterElement::JSSVGFilterElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGFilterElement> impl)
+ : JSSVGElement(structure, globalObject, impl)
{
}
@@ -121,111 +121,125 @@ bool JSSVGFilterElement::getOwnPropertySlot(ExecState* exec, const Identifier& p
JSValue jsSVGFilterElementFilterUnits(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFilterElement* castedThis = static_cast<JSSVGFilterElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFilterElement* imp = static_cast<SVGFilterElement*>(static_cast<JSSVGFilterElement*>(asObject(slot.slotBase()))->impl());
+ SVGFilterElement* imp = static_cast<SVGFilterElement*>(castedThis->impl());
RefPtr<SVGAnimatedEnumeration> obj = imp->filterUnitsAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFilterElementPrimitiveUnits(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFilterElement* castedThis = static_cast<JSSVGFilterElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFilterElement* imp = static_cast<SVGFilterElement*>(static_cast<JSSVGFilterElement*>(asObject(slot.slotBase()))->impl());
+ SVGFilterElement* imp = static_cast<SVGFilterElement*>(castedThis->impl());
RefPtr<SVGAnimatedEnumeration> obj = imp->primitiveUnitsAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFilterElementX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFilterElement* castedThis = static_cast<JSSVGFilterElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFilterElement* imp = static_cast<SVGFilterElement*>(static_cast<JSSVGFilterElement*>(asObject(slot.slotBase()))->impl());
+ SVGFilterElement* imp = static_cast<SVGFilterElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->xAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFilterElementY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFilterElement* castedThis = static_cast<JSSVGFilterElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFilterElement* imp = static_cast<SVGFilterElement*>(static_cast<JSSVGFilterElement*>(asObject(slot.slotBase()))->impl());
+ SVGFilterElement* imp = static_cast<SVGFilterElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->yAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFilterElementWidth(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFilterElement* castedThis = static_cast<JSSVGFilterElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFilterElement* imp = static_cast<SVGFilterElement*>(static_cast<JSSVGFilterElement*>(asObject(slot.slotBase()))->impl());
+ SVGFilterElement* imp = static_cast<SVGFilterElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->widthAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFilterElementHeight(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFilterElement* castedThis = static_cast<JSSVGFilterElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFilterElement* imp = static_cast<SVGFilterElement*>(static_cast<JSSVGFilterElement*>(asObject(slot.slotBase()))->impl());
+ SVGFilterElement* imp = static_cast<SVGFilterElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->heightAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFilterElementFilterResX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFilterElement* castedThis = static_cast<JSSVGFilterElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFilterElement* imp = static_cast<SVGFilterElement*>(static_cast<JSSVGFilterElement*>(asObject(slot.slotBase()))->impl());
+ SVGFilterElement* imp = static_cast<SVGFilterElement*>(castedThis->impl());
RefPtr<SVGAnimatedInteger> obj = imp->filterResXAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFilterElementFilterResY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFilterElement* castedThis = static_cast<JSSVGFilterElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFilterElement* imp = static_cast<SVGFilterElement*>(static_cast<JSSVGFilterElement*>(asObject(slot.slotBase()))->impl());
+ SVGFilterElement* imp = static_cast<SVGFilterElement*>(castedThis->impl());
RefPtr<SVGAnimatedInteger> obj = imp->filterResYAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFilterElementHref(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFilterElement* castedThis = static_cast<JSSVGFilterElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFilterElement* imp = static_cast<SVGFilterElement*>(static_cast<JSSVGFilterElement*>(asObject(slot.slotBase()))->impl());
+ SVGFilterElement* imp = static_cast<SVGFilterElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->hrefAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFilterElementXmllang(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFilterElement* castedThis = static_cast<JSSVGFilterElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFilterElement* imp = static_cast<SVGFilterElement*>(static_cast<JSSVGFilterElement*>(asObject(slot.slotBase()))->impl());
+ SVGFilterElement* imp = static_cast<SVGFilterElement*>(castedThis->impl());
return jsString(exec, imp->xmllang());
}
JSValue jsSVGFilterElementXmlspace(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFilterElement* castedThis = static_cast<JSSVGFilterElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFilterElement* imp = static_cast<SVGFilterElement*>(static_cast<JSSVGFilterElement*>(asObject(slot.slotBase()))->impl());
+ SVGFilterElement* imp = static_cast<SVGFilterElement*>(castedThis->impl());
return jsString(exec, imp->xmlspace());
}
JSValue jsSVGFilterElementExternalResourcesRequired(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFilterElement* castedThis = static_cast<JSSVGFilterElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFilterElement* imp = static_cast<SVGFilterElement*>(static_cast<JSSVGFilterElement*>(asObject(slot.slotBase()))->impl());
+ SVGFilterElement* imp = static_cast<SVGFilterElement*>(castedThis->impl());
RefPtr<SVGAnimatedBoolean> obj = imp->externalResourcesRequiredAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFilterElementClassName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFilterElement* castedThis = static_cast<JSSVGFilterElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFilterElement* imp = static_cast<SVGFilterElement*>(static_cast<JSSVGFilterElement*>(asObject(slot.slotBase()))->impl());
+ SVGFilterElement* imp = static_cast<SVGFilterElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->classNameAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFilterElementStyle(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFilterElement* castedThis = static_cast<JSSVGFilterElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFilterElement* imp = static_cast<SVGFilterElement*>(static_cast<JSSVGFilterElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->style()));
+ SVGFilterElement* imp = static_cast<SVGFilterElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->style()));
}
void JSSVGFilterElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
@@ -269,7 +283,7 @@ JSValue JSC_HOST_CALL jsSVGFilterElementPrototypeFunctionGetPresentationAttribut
const UString& name = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getPresentationAttribute(name)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getPresentationAttribute(name)));
return result;
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFilterElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGFilterElement.h
index faa8d3c..d5b1a2d 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGFilterElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFilterElement.h
@@ -33,7 +33,7 @@ class SVGFilterElement;
class JSSVGFilterElement : public JSSVGElement {
typedef JSSVGElement Base;
public:
- JSSVGFilterElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGFilterElement>);
+ JSSVGFilterElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGFilterElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFontElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGFontElement.cpp
index d66d6b6..372b8e4 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGFontElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFontElement.cpp
@@ -40,7 +40,7 @@ static const HashTableValue JSSVGFontElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGFontElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGFontElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGFontElementPrototypeTableValues, 0 };
#else
@@ -56,8 +56,8 @@ JSObject* JSSVGFontElementPrototype::self(ExecState* exec, JSGlobalObject* globa
const ClassInfo JSSVGFontElement::s_info = { "SVGFontElement", &JSSVGElement::s_info, 0, 0 };
-JSSVGFontElement::JSSVGFontElement(PassRefPtr<Structure> structure, PassRefPtr<SVGFontElement> impl)
- : JSSVGElement(structure, impl)
+JSSVGFontElement::JSSVGFontElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGFontElement> impl)
+ : JSSVGElement(structure, globalObject, impl)
{
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFontElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGFontElement.h
index 4e6dd3b..65f86e4 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGFontElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFontElement.h
@@ -33,7 +33,7 @@ class SVGFontElement;
class JSSVGFontElement : public JSSVGElement {
typedef JSSVGElement Base;
public:
- JSSVGFontElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGFontElement>);
+ JSSVGFontElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGFontElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
static const JSC::ClassInfo s_info;
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceElement.cpp
index 55633bb..2698127 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceElement.cpp
@@ -40,7 +40,7 @@ static const HashTableValue JSSVGFontFaceElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGFontFaceElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGFontFaceElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGFontFaceElementPrototypeTableValues, 0 };
#else
@@ -56,8 +56,8 @@ JSObject* JSSVGFontFaceElementPrototype::self(ExecState* exec, JSGlobalObject* g
const ClassInfo JSSVGFontFaceElement::s_info = { "SVGFontFaceElement", &JSSVGElement::s_info, 0, 0 };
-JSSVGFontFaceElement::JSSVGFontFaceElement(PassRefPtr<Structure> structure, PassRefPtr<SVGFontFaceElement> impl)
- : JSSVGElement(structure, impl)
+JSSVGFontFaceElement::JSSVGFontFaceElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGFontFaceElement> impl)
+ : JSSVGElement(structure, globalObject, impl)
{
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceElement.h
index 2bae1cf..24829eb 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceElement.h
@@ -33,7 +33,7 @@ class SVGFontFaceElement;
class JSSVGFontFaceElement : public JSSVGElement {
typedef JSSVGElement Base;
public:
- JSSVGFontFaceElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGFontFaceElement>);
+ JSSVGFontFaceElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGFontFaceElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
static const JSC::ClassInfo s_info;
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceFormatElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceFormatElement.cpp
index 50708c2..f4f772a 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceFormatElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceFormatElement.cpp
@@ -40,7 +40,7 @@ static const HashTableValue JSSVGFontFaceFormatElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGFontFaceFormatElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGFontFaceFormatElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGFontFaceFormatElementPrototypeTableValues, 0 };
#else
@@ -56,8 +56,8 @@ JSObject* JSSVGFontFaceFormatElementPrototype::self(ExecState* exec, JSGlobalObj
const ClassInfo JSSVGFontFaceFormatElement::s_info = { "SVGFontFaceFormatElement", &JSSVGElement::s_info, 0, 0 };
-JSSVGFontFaceFormatElement::JSSVGFontFaceFormatElement(PassRefPtr<Structure> structure, PassRefPtr<SVGFontFaceFormatElement> impl)
- : JSSVGElement(structure, impl)
+JSSVGFontFaceFormatElement::JSSVGFontFaceFormatElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGFontFaceFormatElement> impl)
+ : JSSVGElement(structure, globalObject, impl)
{
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceFormatElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceFormatElement.h
index e7b9ad8..e345b40 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceFormatElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceFormatElement.h
@@ -33,7 +33,7 @@ class SVGFontFaceFormatElement;
class JSSVGFontFaceFormatElement : public JSSVGElement {
typedef JSSVGElement Base;
public:
- JSSVGFontFaceFormatElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGFontFaceFormatElement>);
+ JSSVGFontFaceFormatElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGFontFaceFormatElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
static const JSC::ClassInfo s_info;
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceNameElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceNameElement.cpp
index 2f12035..38df90f 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceNameElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceNameElement.cpp
@@ -40,7 +40,7 @@ static const HashTableValue JSSVGFontFaceNameElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGFontFaceNameElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGFontFaceNameElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGFontFaceNameElementPrototypeTableValues, 0 };
#else
@@ -56,8 +56,8 @@ JSObject* JSSVGFontFaceNameElementPrototype::self(ExecState* exec, JSGlobalObjec
const ClassInfo JSSVGFontFaceNameElement::s_info = { "SVGFontFaceNameElement", &JSSVGElement::s_info, 0, 0 };
-JSSVGFontFaceNameElement::JSSVGFontFaceNameElement(PassRefPtr<Structure> structure, PassRefPtr<SVGFontFaceNameElement> impl)
- : JSSVGElement(structure, impl)
+JSSVGFontFaceNameElement::JSSVGFontFaceNameElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGFontFaceNameElement> impl)
+ : JSSVGElement(structure, globalObject, impl)
{
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceNameElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceNameElement.h
index a334f98..0aac6fd 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceNameElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceNameElement.h
@@ -33,7 +33,7 @@ class SVGFontFaceNameElement;
class JSSVGFontFaceNameElement : public JSSVGElement {
typedef JSSVGElement Base;
public:
- JSSVGFontFaceNameElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGFontFaceNameElement>);
+ JSSVGFontFaceNameElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGFontFaceNameElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
static const JSC::ClassInfo s_info;
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceSrcElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceSrcElement.cpp
index 82c6137..349fcac 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceSrcElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceSrcElement.cpp
@@ -40,7 +40,7 @@ static const HashTableValue JSSVGFontFaceSrcElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGFontFaceSrcElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGFontFaceSrcElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGFontFaceSrcElementPrototypeTableValues, 0 };
#else
@@ -56,8 +56,8 @@ JSObject* JSSVGFontFaceSrcElementPrototype::self(ExecState* exec, JSGlobalObject
const ClassInfo JSSVGFontFaceSrcElement::s_info = { "SVGFontFaceSrcElement", &JSSVGElement::s_info, 0, 0 };
-JSSVGFontFaceSrcElement::JSSVGFontFaceSrcElement(PassRefPtr<Structure> structure, PassRefPtr<SVGFontFaceSrcElement> impl)
- : JSSVGElement(structure, impl)
+JSSVGFontFaceSrcElement::JSSVGFontFaceSrcElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGFontFaceSrcElement> impl)
+ : JSSVGElement(structure, globalObject, impl)
{
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceSrcElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceSrcElement.h
index d6852c5..6f2fec4 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceSrcElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceSrcElement.h
@@ -33,7 +33,7 @@ class SVGFontFaceSrcElement;
class JSSVGFontFaceSrcElement : public JSSVGElement {
typedef JSSVGElement Base;
public:
- JSSVGFontFaceSrcElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGFontFaceSrcElement>);
+ JSSVGFontFaceSrcElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGFontFaceSrcElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
static const JSC::ClassInfo s_info;
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceUriElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceUriElement.cpp
index 32208d8..78aadec 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceUriElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceUriElement.cpp
@@ -40,7 +40,7 @@ static const HashTableValue JSSVGFontFaceUriElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGFontFaceUriElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGFontFaceUriElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGFontFaceUriElementPrototypeTableValues, 0 };
#else
@@ -56,8 +56,8 @@ JSObject* JSSVGFontFaceUriElementPrototype::self(ExecState* exec, JSGlobalObject
const ClassInfo JSSVGFontFaceUriElement::s_info = { "SVGFontFaceUriElement", &JSSVGElement::s_info, 0, 0 };
-JSSVGFontFaceUriElement::JSSVGFontFaceUriElement(PassRefPtr<Structure> structure, PassRefPtr<SVGFontFaceUriElement> impl)
- : JSSVGElement(structure, impl)
+JSSVGFontFaceUriElement::JSSVGFontFaceUriElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGFontFaceUriElement> impl)
+ : JSSVGElement(structure, globalObject, impl)
{
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceUriElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceUriElement.h
index e9b9ec2..27b1d34 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceUriElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceUriElement.h
@@ -33,7 +33,7 @@ class SVGFontFaceUriElement;
class JSSVGFontFaceUriElement : public JSSVGElement {
typedef JSSVGElement Base;
public:
- JSSVGFontFaceUriElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGFontFaceUriElement>);
+ JSSVGFontFaceUriElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGFontFaceUriElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
static const JSC::ClassInfo s_info;
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGForeignObjectElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGForeignObjectElement.cpp
index 7bba5bb..50ad695 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGForeignObjectElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGForeignObjectElement.cpp
@@ -73,7 +73,7 @@ static const HashTableValue JSSVGForeignObjectElementTableValues[16] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGForeignObjectElementTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGForeignObjectElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 1023, JSSVGForeignObjectElementTableValues, 0 };
#else
@@ -93,7 +93,7 @@ static const HashTableValue JSSVGForeignObjectElementPrototypeTableValues[7] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGForeignObjectElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGForeignObjectElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 2047, JSSVGForeignObjectElementPrototypeTableValues, 0 };
#else
@@ -114,8 +114,8 @@ bool JSSVGForeignObjectElementPrototype::getOwnPropertySlot(ExecState* exec, con
const ClassInfo JSSVGForeignObjectElement::s_info = { "SVGForeignObjectElement", &JSSVGElement::s_info, &JSSVGForeignObjectElementTable, 0 };
-JSSVGForeignObjectElement::JSSVGForeignObjectElement(PassRefPtr<Structure> structure, PassRefPtr<SVGForeignObjectElement> impl)
- : JSSVGElement(structure, impl)
+JSSVGForeignObjectElement::JSSVGForeignObjectElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGForeignObjectElement> impl)
+ : JSSVGElement(structure, globalObject, impl)
{
}
@@ -131,114 +131,129 @@ bool JSSVGForeignObjectElement::getOwnPropertySlot(ExecState* exec, const Identi
JSValue jsSVGForeignObjectElementX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGForeignObjectElement* castedThis = static_cast<JSSVGForeignObjectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGForeignObjectElement* imp = static_cast<SVGForeignObjectElement*>(static_cast<JSSVGForeignObjectElement*>(asObject(slot.slotBase()))->impl());
+ SVGForeignObjectElement* imp = static_cast<SVGForeignObjectElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->xAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGForeignObjectElementY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGForeignObjectElement* castedThis = static_cast<JSSVGForeignObjectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGForeignObjectElement* imp = static_cast<SVGForeignObjectElement*>(static_cast<JSSVGForeignObjectElement*>(asObject(slot.slotBase()))->impl());
+ SVGForeignObjectElement* imp = static_cast<SVGForeignObjectElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->yAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGForeignObjectElementWidth(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGForeignObjectElement* castedThis = static_cast<JSSVGForeignObjectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGForeignObjectElement* imp = static_cast<SVGForeignObjectElement*>(static_cast<JSSVGForeignObjectElement*>(asObject(slot.slotBase()))->impl());
+ SVGForeignObjectElement* imp = static_cast<SVGForeignObjectElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->widthAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGForeignObjectElementHeight(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGForeignObjectElement* castedThis = static_cast<JSSVGForeignObjectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGForeignObjectElement* imp = static_cast<SVGForeignObjectElement*>(static_cast<JSSVGForeignObjectElement*>(asObject(slot.slotBase()))->impl());
+ SVGForeignObjectElement* imp = static_cast<SVGForeignObjectElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->heightAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGForeignObjectElementRequiredFeatures(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGForeignObjectElement* castedThis = static_cast<JSSVGForeignObjectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGForeignObjectElement* imp = static_cast<SVGForeignObjectElement*>(static_cast<JSSVGForeignObjectElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->requiredFeatures()), imp);
+ SVGForeignObjectElement* imp = static_cast<SVGForeignObjectElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->requiredFeatures()), imp);
}
JSValue jsSVGForeignObjectElementRequiredExtensions(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGForeignObjectElement* castedThis = static_cast<JSSVGForeignObjectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGForeignObjectElement* imp = static_cast<SVGForeignObjectElement*>(static_cast<JSSVGForeignObjectElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->requiredExtensions()), imp);
+ SVGForeignObjectElement* imp = static_cast<SVGForeignObjectElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->requiredExtensions()), imp);
}
JSValue jsSVGForeignObjectElementSystemLanguage(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGForeignObjectElement* castedThis = static_cast<JSSVGForeignObjectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGForeignObjectElement* imp = static_cast<SVGForeignObjectElement*>(static_cast<JSSVGForeignObjectElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->systemLanguage()), imp);
+ SVGForeignObjectElement* imp = static_cast<SVGForeignObjectElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->systemLanguage()), imp);
}
JSValue jsSVGForeignObjectElementXmllang(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGForeignObjectElement* castedThis = static_cast<JSSVGForeignObjectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGForeignObjectElement* imp = static_cast<SVGForeignObjectElement*>(static_cast<JSSVGForeignObjectElement*>(asObject(slot.slotBase()))->impl());
+ SVGForeignObjectElement* imp = static_cast<SVGForeignObjectElement*>(castedThis->impl());
return jsString(exec, imp->xmllang());
}
JSValue jsSVGForeignObjectElementXmlspace(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGForeignObjectElement* castedThis = static_cast<JSSVGForeignObjectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGForeignObjectElement* imp = static_cast<SVGForeignObjectElement*>(static_cast<JSSVGForeignObjectElement*>(asObject(slot.slotBase()))->impl());
+ SVGForeignObjectElement* imp = static_cast<SVGForeignObjectElement*>(castedThis->impl());
return jsString(exec, imp->xmlspace());
}
JSValue jsSVGForeignObjectElementExternalResourcesRequired(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGForeignObjectElement* castedThis = static_cast<JSSVGForeignObjectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGForeignObjectElement* imp = static_cast<SVGForeignObjectElement*>(static_cast<JSSVGForeignObjectElement*>(asObject(slot.slotBase()))->impl());
+ SVGForeignObjectElement* imp = static_cast<SVGForeignObjectElement*>(castedThis->impl());
RefPtr<SVGAnimatedBoolean> obj = imp->externalResourcesRequiredAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGForeignObjectElementClassName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGForeignObjectElement* castedThis = static_cast<JSSVGForeignObjectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGForeignObjectElement* imp = static_cast<SVGForeignObjectElement*>(static_cast<JSSVGForeignObjectElement*>(asObject(slot.slotBase()))->impl());
+ SVGForeignObjectElement* imp = static_cast<SVGForeignObjectElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->classNameAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGForeignObjectElementStyle(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGForeignObjectElement* castedThis = static_cast<JSSVGForeignObjectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGForeignObjectElement* imp = static_cast<SVGForeignObjectElement*>(static_cast<JSSVGForeignObjectElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->style()));
+ SVGForeignObjectElement* imp = static_cast<SVGForeignObjectElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->style()));
}
JSValue jsSVGForeignObjectElementTransform(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGForeignObjectElement* castedThis = static_cast<JSSVGForeignObjectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGForeignObjectElement* imp = static_cast<SVGForeignObjectElement*>(static_cast<JSSVGForeignObjectElement*>(asObject(slot.slotBase()))->impl());
+ SVGForeignObjectElement* imp = static_cast<SVGForeignObjectElement*>(castedThis->impl());
RefPtr<SVGAnimatedTransformList> obj = imp->transformAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGForeignObjectElementNearestViewportElement(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGForeignObjectElement* castedThis = static_cast<JSSVGForeignObjectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGForeignObjectElement* imp = static_cast<SVGForeignObjectElement*>(static_cast<JSSVGForeignObjectElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->nearestViewportElement()));
+ SVGForeignObjectElement* imp = static_cast<SVGForeignObjectElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->nearestViewportElement()));
}
JSValue jsSVGForeignObjectElementFarthestViewportElement(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGForeignObjectElement* castedThis = static_cast<JSSVGForeignObjectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGForeignObjectElement* imp = static_cast<SVGForeignObjectElement*>(static_cast<JSSVGForeignObjectElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->farthestViewportElement()));
+ SVGForeignObjectElement* imp = static_cast<SVGForeignObjectElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->farthestViewportElement()));
}
void JSSVGForeignObjectElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
@@ -282,7 +297,7 @@ JSValue JSC_HOST_CALL jsSVGForeignObjectElementPrototypeFunctionGetPresentationA
const UString& name = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getPresentationAttribute(name)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getPresentationAttribute(name)));
return result;
}
@@ -295,7 +310,7 @@ JSValue JSC_HOST_CALL jsSVGForeignObjectElementPrototypeFunctionGetBBox(ExecStat
SVGForeignObjectElement* imp = static_cast<SVGForeignObjectElement*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<FloatRect>::create(imp->getBBox()).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<FloatRect>::create(imp->getBBox()).get(), imp);
return result;
}
@@ -308,7 +323,7 @@ JSValue JSC_HOST_CALL jsSVGForeignObjectElementPrototypeFunctionGetCTM(ExecState
SVGForeignObjectElement* imp = static_cast<SVGForeignObjectElement*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getCTM()).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getCTM()).get(), imp);
return result;
}
@@ -321,7 +336,7 @@ JSValue JSC_HOST_CALL jsSVGForeignObjectElementPrototypeFunctionGetScreenCTM(Exe
SVGForeignObjectElement* imp = static_cast<SVGForeignObjectElement*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getScreenCTM()).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getScreenCTM()).get(), imp);
return result;
}
@@ -336,7 +351,7 @@ JSValue JSC_HOST_CALL jsSVGForeignObjectElementPrototypeFunctionGetTransformToEl
SVGElement* element = toSVGElement(args.at(0));
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getTransformToElement(element, ec)).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getTransformToElement(element, ec)).get(), imp);
setDOMException(exec, ec);
return result;
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGForeignObjectElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGForeignObjectElement.h
index ad699b6..006f61e 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGForeignObjectElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGForeignObjectElement.h
@@ -33,7 +33,7 @@ class SVGForeignObjectElement;
class JSSVGForeignObjectElement : public JSSVGElement {
typedef JSSVGElement Base;
public:
- JSSVGForeignObjectElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGForeignObjectElement>);
+ JSSVGForeignObjectElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGForeignObjectElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGGElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGGElement.cpp
index 75a61b6..d9f0222 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGGElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGGElement.cpp
@@ -68,7 +68,7 @@ static const HashTableValue JSSVGGElementTableValues[12] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGGElementTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGGElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 127, JSSVGGElementTableValues, 0 };
#else
@@ -88,7 +88,7 @@ static const HashTableValue JSSVGGElementPrototypeTableValues[7] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGGElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGGElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 2047, JSSVGGElementPrototypeTableValues, 0 };
#else
@@ -109,8 +109,8 @@ bool JSSVGGElementPrototype::getOwnPropertySlot(ExecState* exec, const Identifie
const ClassInfo JSSVGGElement::s_info = { "SVGGElement", &JSSVGElement::s_info, &JSSVGGElementTable, 0 };
-JSSVGGElement::JSSVGGElement(PassRefPtr<Structure> structure, PassRefPtr<SVGGElement> impl)
- : JSSVGElement(structure, impl)
+JSSVGGElement::JSSVGGElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGGElement> impl)
+ : JSSVGElement(structure, globalObject, impl)
{
}
@@ -126,82 +126,93 @@ bool JSSVGGElement::getOwnPropertySlot(ExecState* exec, const Identifier& proper
JSValue jsSVGGElementRequiredFeatures(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGGElement* castedThis = static_cast<JSSVGGElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGGElement* imp = static_cast<SVGGElement*>(static_cast<JSSVGGElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->requiredFeatures()), imp);
+ SVGGElement* imp = static_cast<SVGGElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->requiredFeatures()), imp);
}
JSValue jsSVGGElementRequiredExtensions(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGGElement* castedThis = static_cast<JSSVGGElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGGElement* imp = static_cast<SVGGElement*>(static_cast<JSSVGGElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->requiredExtensions()), imp);
+ SVGGElement* imp = static_cast<SVGGElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->requiredExtensions()), imp);
}
JSValue jsSVGGElementSystemLanguage(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGGElement* castedThis = static_cast<JSSVGGElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGGElement* imp = static_cast<SVGGElement*>(static_cast<JSSVGGElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->systemLanguage()), imp);
+ SVGGElement* imp = static_cast<SVGGElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->systemLanguage()), imp);
}
JSValue jsSVGGElementXmllang(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGGElement* castedThis = static_cast<JSSVGGElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGGElement* imp = static_cast<SVGGElement*>(static_cast<JSSVGGElement*>(asObject(slot.slotBase()))->impl());
+ SVGGElement* imp = static_cast<SVGGElement*>(castedThis->impl());
return jsString(exec, imp->xmllang());
}
JSValue jsSVGGElementXmlspace(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGGElement* castedThis = static_cast<JSSVGGElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGGElement* imp = static_cast<SVGGElement*>(static_cast<JSSVGGElement*>(asObject(slot.slotBase()))->impl());
+ SVGGElement* imp = static_cast<SVGGElement*>(castedThis->impl());
return jsString(exec, imp->xmlspace());
}
JSValue jsSVGGElementExternalResourcesRequired(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGGElement* castedThis = static_cast<JSSVGGElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGGElement* imp = static_cast<SVGGElement*>(static_cast<JSSVGGElement*>(asObject(slot.slotBase()))->impl());
+ SVGGElement* imp = static_cast<SVGGElement*>(castedThis->impl());
RefPtr<SVGAnimatedBoolean> obj = imp->externalResourcesRequiredAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGGElementClassName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGGElement* castedThis = static_cast<JSSVGGElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGGElement* imp = static_cast<SVGGElement*>(static_cast<JSSVGGElement*>(asObject(slot.slotBase()))->impl());
+ SVGGElement* imp = static_cast<SVGGElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->classNameAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGGElementStyle(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGGElement* castedThis = static_cast<JSSVGGElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGGElement* imp = static_cast<SVGGElement*>(static_cast<JSSVGGElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->style()));
+ SVGGElement* imp = static_cast<SVGGElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->style()));
}
JSValue jsSVGGElementTransform(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGGElement* castedThis = static_cast<JSSVGGElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGGElement* imp = static_cast<SVGGElement*>(static_cast<JSSVGGElement*>(asObject(slot.slotBase()))->impl());
+ SVGGElement* imp = static_cast<SVGGElement*>(castedThis->impl());
RefPtr<SVGAnimatedTransformList> obj = imp->transformAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGGElementNearestViewportElement(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGGElement* castedThis = static_cast<JSSVGGElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGGElement* imp = static_cast<SVGGElement*>(static_cast<JSSVGGElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->nearestViewportElement()));
+ SVGGElement* imp = static_cast<SVGGElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->nearestViewportElement()));
}
JSValue jsSVGGElementFarthestViewportElement(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGGElement* castedThis = static_cast<JSSVGGElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGGElement* imp = static_cast<SVGGElement*>(static_cast<JSSVGGElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->farthestViewportElement()));
+ SVGGElement* imp = static_cast<SVGGElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->farthestViewportElement()));
}
void JSSVGGElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
@@ -245,7 +256,7 @@ JSValue JSC_HOST_CALL jsSVGGElementPrototypeFunctionGetPresentationAttribute(Exe
const UString& name = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getPresentationAttribute(name)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getPresentationAttribute(name)));
return result;
}
@@ -258,7 +269,7 @@ JSValue JSC_HOST_CALL jsSVGGElementPrototypeFunctionGetBBox(ExecState* exec, JSO
SVGGElement* imp = static_cast<SVGGElement*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<FloatRect>::create(imp->getBBox()).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<FloatRect>::create(imp->getBBox()).get(), imp);
return result;
}
@@ -271,7 +282,7 @@ JSValue JSC_HOST_CALL jsSVGGElementPrototypeFunctionGetCTM(ExecState* exec, JSOb
SVGGElement* imp = static_cast<SVGGElement*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getCTM()).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getCTM()).get(), imp);
return result;
}
@@ -284,7 +295,7 @@ JSValue JSC_HOST_CALL jsSVGGElementPrototypeFunctionGetScreenCTM(ExecState* exec
SVGGElement* imp = static_cast<SVGGElement*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getScreenCTM()).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getScreenCTM()).get(), imp);
return result;
}
@@ -299,7 +310,7 @@ JSValue JSC_HOST_CALL jsSVGGElementPrototypeFunctionGetTransformToElement(ExecSt
SVGElement* element = toSVGElement(args.at(0));
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getTransformToElement(element, ec)).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getTransformToElement(element, ec)).get(), imp);
setDOMException(exec, ec);
return result;
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGGElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGGElement.h
index 62c9add..920096b 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGGElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGGElement.h
@@ -33,7 +33,7 @@ class SVGGElement;
class JSSVGGElement : public JSSVGElement {
typedef JSSVGElement Base;
public:
- JSSVGGElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGGElement>);
+ JSSVGGElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGGElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGGlyphElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGGlyphElement.cpp
index 684831f..61ff924 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGGlyphElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGGlyphElement.cpp
@@ -40,7 +40,7 @@ static const HashTableValue JSSVGGlyphElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGGlyphElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGGlyphElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGGlyphElementPrototypeTableValues, 0 };
#else
@@ -56,8 +56,8 @@ JSObject* JSSVGGlyphElementPrototype::self(ExecState* exec, JSGlobalObject* glob
const ClassInfo JSSVGGlyphElement::s_info = { "SVGGlyphElement", &JSSVGElement::s_info, 0, 0 };
-JSSVGGlyphElement::JSSVGGlyphElement(PassRefPtr<Structure> structure, PassRefPtr<SVGGlyphElement> impl)
- : JSSVGElement(structure, impl)
+JSSVGGlyphElement::JSSVGGlyphElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGGlyphElement> impl)
+ : JSSVGElement(structure, globalObject, impl)
{
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGGlyphElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGGlyphElement.h
index 36105e1..e2fc429 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGGlyphElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGGlyphElement.h
@@ -33,7 +33,7 @@ class SVGGlyphElement;
class JSSVGGlyphElement : public JSSVGElement {
typedef JSSVGElement Base;
public:
- JSSVGGlyphElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGGlyphElement>);
+ JSSVGGlyphElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGGlyphElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
static const JSC::ClassInfo s_info;
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGGradientElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGGradientElement.cpp
index 1dc75b0..faea429 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGGradientElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGGradientElement.cpp
@@ -58,7 +58,7 @@ static const HashTableValue JSSVGGradientElementTableValues[9] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGGradientElementTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGGradientElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSSVGGradientElementTableValues, 0 };
#else
@@ -76,19 +76,19 @@ static const HashTableValue JSSVGGradientElementConstructorTableValues[5] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGGradientElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGGradientElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 7, JSSVGGradientElementConstructorTableValues, 0 };
#else
{ 8, 7, JSSVGGradientElementConstructorTableValues, 0 };
#endif
-class JSSVGGradientElementConstructor : public DOMObject {
+class JSSVGGradientElementConstructor : public DOMConstructorObject {
public:
- JSSVGGradientElementConstructor(ExecState* exec)
- : DOMObject(JSSVGGradientElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSSVGGradientElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSSVGGradientElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSSVGGradientElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSSVGGradientElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -119,7 +119,7 @@ static const HashTableValue JSSVGGradientElementPrototypeTableValues[6] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGGradientElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGGradientElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 31, JSSVGGradientElementPrototypeTableValues, 0 };
#else
@@ -140,8 +140,8 @@ bool JSSVGGradientElementPrototype::getOwnPropertySlot(ExecState* exec, const Id
const ClassInfo JSSVGGradientElement::s_info = { "SVGGradientElement", &JSSVGElement::s_info, &JSSVGGradientElementTable, 0 };
-JSSVGGradientElement::JSSVGGradientElement(PassRefPtr<Structure> structure, PassRefPtr<SVGGradientElement> impl)
- : JSSVGElement(structure, impl)
+JSSVGGradientElement::JSSVGGradientElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGGradientElement> impl)
+ : JSSVGElement(structure, globalObject, impl)
{
}
@@ -157,66 +157,74 @@ bool JSSVGGradientElement::getOwnPropertySlot(ExecState* exec, const Identifier&
JSValue jsSVGGradientElementGradientUnits(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGGradientElement* castedThis = static_cast<JSSVGGradientElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGGradientElement* imp = static_cast<SVGGradientElement*>(static_cast<JSSVGGradientElement*>(asObject(slot.slotBase()))->impl());
+ SVGGradientElement* imp = static_cast<SVGGradientElement*>(castedThis->impl());
RefPtr<SVGAnimatedEnumeration> obj = imp->gradientUnitsAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGGradientElementGradientTransform(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGGradientElement* castedThis = static_cast<JSSVGGradientElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGGradientElement* imp = static_cast<SVGGradientElement*>(static_cast<JSSVGGradientElement*>(asObject(slot.slotBase()))->impl());
+ SVGGradientElement* imp = static_cast<SVGGradientElement*>(castedThis->impl());
RefPtr<SVGAnimatedTransformList> obj = imp->gradientTransformAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGGradientElementSpreadMethod(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGGradientElement* castedThis = static_cast<JSSVGGradientElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGGradientElement* imp = static_cast<SVGGradientElement*>(static_cast<JSSVGGradientElement*>(asObject(slot.slotBase()))->impl());
+ SVGGradientElement* imp = static_cast<SVGGradientElement*>(castedThis->impl());
RefPtr<SVGAnimatedEnumeration> obj = imp->spreadMethodAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGGradientElementHref(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGGradientElement* castedThis = static_cast<JSSVGGradientElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGGradientElement* imp = static_cast<SVGGradientElement*>(static_cast<JSSVGGradientElement*>(asObject(slot.slotBase()))->impl());
+ SVGGradientElement* imp = static_cast<SVGGradientElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->hrefAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGGradientElementExternalResourcesRequired(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGGradientElement* castedThis = static_cast<JSSVGGradientElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGGradientElement* imp = static_cast<SVGGradientElement*>(static_cast<JSSVGGradientElement*>(asObject(slot.slotBase()))->impl());
+ SVGGradientElement* imp = static_cast<SVGGradientElement*>(castedThis->impl());
RefPtr<SVGAnimatedBoolean> obj = imp->externalResourcesRequiredAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGGradientElementClassName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGGradientElement* castedThis = static_cast<JSSVGGradientElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGGradientElement* imp = static_cast<SVGGradientElement*>(static_cast<JSSVGGradientElement*>(asObject(slot.slotBase()))->impl());
+ SVGGradientElement* imp = static_cast<SVGGradientElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->classNameAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGGradientElementStyle(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGGradientElement* castedThis = static_cast<JSSVGGradientElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGGradientElement* imp = static_cast<SVGGradientElement*>(static_cast<JSSVGGradientElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->style()));
+ SVGGradientElement* imp = static_cast<SVGGradientElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->style()));
}
JSValue jsSVGGradientElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSSVGGradientElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSSVGGradientElement* domObject = static_cast<JSSVGGradientElement*>(asObject(slot.slotBase()));
+ return JSSVGGradientElement::getConstructor(exec, domObject->globalObject());
}
-JSValue JSSVGGradientElement::getConstructor(ExecState* exec)
+JSValue JSSVGGradientElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSSVGGradientElementConstructor>(exec);
+ return getDOMConstructor<JSSVGGradientElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsSVGGradientElementPrototypeFunctionGetPresentationAttribute(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -229,7 +237,7 @@ JSValue JSC_HOST_CALL jsSVGGradientElementPrototypeFunctionGetPresentationAttrib
const UString& name = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getPresentationAttribute(name)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getPresentationAttribute(name)));
return result;
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGGradientElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGGradientElement.h
index 11646e7..6600e21 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGGradientElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGGradientElement.h
@@ -33,7 +33,7 @@ class SVGGradientElement;
class JSSVGGradientElement : public JSSVGElement {
typedef JSSVGElement Base;
public:
- JSSVGGradientElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGGradientElement>);
+ JSSVGGradientElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGGradientElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
@@ -44,7 +44,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGHKernElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGHKernElement.cpp
index 87c1fe8..1d45ade 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGHKernElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGHKernElement.cpp
@@ -40,7 +40,7 @@ static const HashTableValue JSSVGHKernElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGHKernElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGHKernElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGHKernElementPrototypeTableValues, 0 };
#else
@@ -56,8 +56,8 @@ JSObject* JSSVGHKernElementPrototype::self(ExecState* exec, JSGlobalObject* glob
const ClassInfo JSSVGHKernElement::s_info = { "SVGHKernElement", &JSSVGElement::s_info, 0, 0 };
-JSSVGHKernElement::JSSVGHKernElement(PassRefPtr<Structure> structure, PassRefPtr<SVGHKernElement> impl)
- : JSSVGElement(structure, impl)
+JSSVGHKernElement::JSSVGHKernElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGHKernElement> impl)
+ : JSSVGElement(structure, globalObject, impl)
{
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGHKernElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGHKernElement.h
index 7718ecf..6639fe0 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGHKernElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGHKernElement.h
@@ -33,7 +33,7 @@ class SVGHKernElement;
class JSSVGHKernElement : public JSSVGElement {
typedef JSSVGElement Base;
public:
- JSSVGHKernElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGHKernElement>);
+ JSSVGHKernElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGHKernElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
static const JSC::ClassInfo s_info;
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGImageElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGImageElement.cpp
index 4f6f84f..64efb43 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGImageElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGImageElement.cpp
@@ -76,7 +76,7 @@ static const HashTableValue JSSVGImageElementTableValues[18] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGImageElementTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGImageElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 1023, JSSVGImageElementTableValues, 0 };
#else
@@ -96,7 +96,7 @@ static const HashTableValue JSSVGImageElementPrototypeTableValues[7] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGImageElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGImageElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 2047, JSSVGImageElementPrototypeTableValues, 0 };
#else
@@ -117,8 +117,8 @@ bool JSSVGImageElementPrototype::getOwnPropertySlot(ExecState* exec, const Ident
const ClassInfo JSSVGImageElement::s_info = { "SVGImageElement", &JSSVGElement::s_info, &JSSVGImageElementTable, 0 };
-JSSVGImageElement::JSSVGImageElement(PassRefPtr<Structure> structure, PassRefPtr<SVGImageElement> impl)
- : JSSVGElement(structure, impl)
+JSSVGImageElement::JSSVGImageElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGImageElement> impl)
+ : JSSVGElement(structure, globalObject, impl)
{
}
@@ -134,130 +134,147 @@ bool JSSVGImageElement::getOwnPropertySlot(ExecState* exec, const Identifier& pr
JSValue jsSVGImageElementX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGImageElement* castedThis = static_cast<JSSVGImageElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGImageElement* imp = static_cast<SVGImageElement*>(static_cast<JSSVGImageElement*>(asObject(slot.slotBase()))->impl());
+ SVGImageElement* imp = static_cast<SVGImageElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->xAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGImageElementY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGImageElement* castedThis = static_cast<JSSVGImageElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGImageElement* imp = static_cast<SVGImageElement*>(static_cast<JSSVGImageElement*>(asObject(slot.slotBase()))->impl());
+ SVGImageElement* imp = static_cast<SVGImageElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->yAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGImageElementWidth(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGImageElement* castedThis = static_cast<JSSVGImageElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGImageElement* imp = static_cast<SVGImageElement*>(static_cast<JSSVGImageElement*>(asObject(slot.slotBase()))->impl());
+ SVGImageElement* imp = static_cast<SVGImageElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->widthAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGImageElementHeight(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGImageElement* castedThis = static_cast<JSSVGImageElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGImageElement* imp = static_cast<SVGImageElement*>(static_cast<JSSVGImageElement*>(asObject(slot.slotBase()))->impl());
+ SVGImageElement* imp = static_cast<SVGImageElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->heightAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGImageElementPreserveAspectRatio(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGImageElement* castedThis = static_cast<JSSVGImageElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGImageElement* imp = static_cast<SVGImageElement*>(static_cast<JSSVGImageElement*>(asObject(slot.slotBase()))->impl());
+ SVGImageElement* imp = static_cast<SVGImageElement*>(castedThis->impl());
RefPtr<SVGAnimatedPreserveAspectRatio> obj = imp->preserveAspectRatioAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGImageElementHref(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGImageElement* castedThis = static_cast<JSSVGImageElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGImageElement* imp = static_cast<SVGImageElement*>(static_cast<JSSVGImageElement*>(asObject(slot.slotBase()))->impl());
+ SVGImageElement* imp = static_cast<SVGImageElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->hrefAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGImageElementRequiredFeatures(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGImageElement* castedThis = static_cast<JSSVGImageElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGImageElement* imp = static_cast<SVGImageElement*>(static_cast<JSSVGImageElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->requiredFeatures()), imp);
+ SVGImageElement* imp = static_cast<SVGImageElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->requiredFeatures()), imp);
}
JSValue jsSVGImageElementRequiredExtensions(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGImageElement* castedThis = static_cast<JSSVGImageElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGImageElement* imp = static_cast<SVGImageElement*>(static_cast<JSSVGImageElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->requiredExtensions()), imp);
+ SVGImageElement* imp = static_cast<SVGImageElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->requiredExtensions()), imp);
}
JSValue jsSVGImageElementSystemLanguage(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGImageElement* castedThis = static_cast<JSSVGImageElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGImageElement* imp = static_cast<SVGImageElement*>(static_cast<JSSVGImageElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->systemLanguage()), imp);
+ SVGImageElement* imp = static_cast<SVGImageElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->systemLanguage()), imp);
}
JSValue jsSVGImageElementXmllang(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGImageElement* castedThis = static_cast<JSSVGImageElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGImageElement* imp = static_cast<SVGImageElement*>(static_cast<JSSVGImageElement*>(asObject(slot.slotBase()))->impl());
+ SVGImageElement* imp = static_cast<SVGImageElement*>(castedThis->impl());
return jsString(exec, imp->xmllang());
}
JSValue jsSVGImageElementXmlspace(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGImageElement* castedThis = static_cast<JSSVGImageElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGImageElement* imp = static_cast<SVGImageElement*>(static_cast<JSSVGImageElement*>(asObject(slot.slotBase()))->impl());
+ SVGImageElement* imp = static_cast<SVGImageElement*>(castedThis->impl());
return jsString(exec, imp->xmlspace());
}
JSValue jsSVGImageElementExternalResourcesRequired(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGImageElement* castedThis = static_cast<JSSVGImageElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGImageElement* imp = static_cast<SVGImageElement*>(static_cast<JSSVGImageElement*>(asObject(slot.slotBase()))->impl());
+ SVGImageElement* imp = static_cast<SVGImageElement*>(castedThis->impl());
RefPtr<SVGAnimatedBoolean> obj = imp->externalResourcesRequiredAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGImageElementClassName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGImageElement* castedThis = static_cast<JSSVGImageElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGImageElement* imp = static_cast<SVGImageElement*>(static_cast<JSSVGImageElement*>(asObject(slot.slotBase()))->impl());
+ SVGImageElement* imp = static_cast<SVGImageElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->classNameAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGImageElementStyle(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGImageElement* castedThis = static_cast<JSSVGImageElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGImageElement* imp = static_cast<SVGImageElement*>(static_cast<JSSVGImageElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->style()));
+ SVGImageElement* imp = static_cast<SVGImageElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->style()));
}
JSValue jsSVGImageElementTransform(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGImageElement* castedThis = static_cast<JSSVGImageElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGImageElement* imp = static_cast<SVGImageElement*>(static_cast<JSSVGImageElement*>(asObject(slot.slotBase()))->impl());
+ SVGImageElement* imp = static_cast<SVGImageElement*>(castedThis->impl());
RefPtr<SVGAnimatedTransformList> obj = imp->transformAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGImageElementNearestViewportElement(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGImageElement* castedThis = static_cast<JSSVGImageElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGImageElement* imp = static_cast<SVGImageElement*>(static_cast<JSSVGImageElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->nearestViewportElement()));
+ SVGImageElement* imp = static_cast<SVGImageElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->nearestViewportElement()));
}
JSValue jsSVGImageElementFarthestViewportElement(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGImageElement* castedThis = static_cast<JSSVGImageElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGImageElement* imp = static_cast<SVGImageElement*>(static_cast<JSSVGImageElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->farthestViewportElement()));
+ SVGImageElement* imp = static_cast<SVGImageElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->farthestViewportElement()));
}
void JSSVGImageElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
@@ -301,7 +318,7 @@ JSValue JSC_HOST_CALL jsSVGImageElementPrototypeFunctionGetPresentationAttribute
const UString& name = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getPresentationAttribute(name)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getPresentationAttribute(name)));
return result;
}
@@ -314,7 +331,7 @@ JSValue JSC_HOST_CALL jsSVGImageElementPrototypeFunctionGetBBox(ExecState* exec,
SVGImageElement* imp = static_cast<SVGImageElement*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<FloatRect>::create(imp->getBBox()).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<FloatRect>::create(imp->getBBox()).get(), imp);
return result;
}
@@ -327,7 +344,7 @@ JSValue JSC_HOST_CALL jsSVGImageElementPrototypeFunctionGetCTM(ExecState* exec,
SVGImageElement* imp = static_cast<SVGImageElement*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getCTM()).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getCTM()).get(), imp);
return result;
}
@@ -340,7 +357,7 @@ JSValue JSC_HOST_CALL jsSVGImageElementPrototypeFunctionGetScreenCTM(ExecState*
SVGImageElement* imp = static_cast<SVGImageElement*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getScreenCTM()).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getScreenCTM()).get(), imp);
return result;
}
@@ -355,7 +372,7 @@ JSValue JSC_HOST_CALL jsSVGImageElementPrototypeFunctionGetTransformToElement(Ex
SVGElement* element = toSVGElement(args.at(0));
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getTransformToElement(element, ec)).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getTransformToElement(element, ec)).get(), imp);
setDOMException(exec, ec);
return result;
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGImageElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGImageElement.h
index 17dbffb..ef21823 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGImageElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGImageElement.h
@@ -33,7 +33,7 @@ class SVGImageElement;
class JSSVGImageElement : public JSSVGElement {
typedef JSSVGElement Base;
public:
- JSSVGImageElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGImageElement>);
+ JSSVGImageElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGImageElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGLength.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGLength.cpp
index 7e86524..dd7522d 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGLength.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGLength.cpp
@@ -49,7 +49,7 @@ static const HashTableValue JSSVGLengthTableValues[6] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGLengthTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGLengthTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 255, JSSVGLengthTableValues, 0 };
#else
@@ -74,19 +74,19 @@ static const HashTableValue JSSVGLengthConstructorTableValues[12] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGLengthConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGLengthConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 511, JSSVGLengthConstructorTableValues, 0 };
#else
{ 33, 31, JSSVGLengthConstructorTableValues, 0 };
#endif
-class JSSVGLengthConstructor : public DOMObject {
+class JSSVGLengthConstructor : public DOMConstructorObject {
public:
- JSSVGLengthConstructor(ExecState* exec)
- : DOMObject(JSSVGLengthConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSSVGLengthConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSSVGLengthConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSSVGLengthPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSSVGLengthPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -125,7 +125,7 @@ static const HashTableValue JSSVGLengthPrototypeTableValues[14] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGLengthPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGLengthPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 511, JSSVGLengthPrototypeTableValues, 0 };
#else
@@ -146,9 +146,8 @@ bool JSSVGLengthPrototype::getOwnPropertySlot(ExecState* exec, const Identifier&
const ClassInfo JSSVGLength::s_info = { "SVGLength", 0, &JSSVGLengthTable, 0 };
-JSSVGLength::JSSVGLength(PassRefPtr<Structure> structure, PassRefPtr<JSSVGPODTypeWrapper<SVGLength> > impl, SVGElement* context)
- : DOMObject(structure)
- , m_context(context)
+JSSVGLength::JSSVGLength(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<JSSVGPODTypeWrapper<SVGLength> > impl, SVGElement* context)
+ : DOMObjectWithSVGContext(structure, globalObject, context)
, m_impl(impl)
{
}
@@ -171,33 +170,38 @@ bool JSSVGLength::getOwnPropertySlot(ExecState* exec, const Identifier& property
JSValue jsSVGLengthUnitType(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGLength* castedThis = static_cast<JSSVGLength*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGLength imp(*static_cast<JSSVGLength*>(asObject(slot.slotBase()))->impl());
+ SVGLength imp(*castedThis->impl());
return jsNumber(exec, imp.unitType());
}
JSValue jsSVGLengthValue(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSSVGLength*>(asObject(slot.slotBase()))->value(exec);
+ JSSVGLength* castedThis = static_cast<JSSVGLength*>(asObject(slot.slotBase()));
+ return castedThis->value(exec);
}
JSValue jsSVGLengthValueInSpecifiedUnits(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGLength* castedThis = static_cast<JSSVGLength*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGLength imp(*static_cast<JSSVGLength*>(asObject(slot.slotBase()))->impl());
+ SVGLength imp(*castedThis->impl());
return jsNumber(exec, imp.valueInSpecifiedUnits());
}
JSValue jsSVGLengthValueAsString(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGLength* castedThis = static_cast<JSSVGLength*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGLength imp(*static_cast<JSSVGLength*>(asObject(slot.slotBase()))->impl());
+ SVGLength imp(*castedThis->impl());
return jsString(exec, imp.valueAsString());
}
JSValue jsSVGLengthConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSSVGLength*>(asObject(slot.slotBase()))->getConstructor(exec);
+ UNUSED_PARAM(slot);
+ return JSSVGLength::getConstructor(exec, deprecatedGlobalObjectForPrototype(exec));
}
void JSSVGLength::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -225,9 +229,9 @@ void setJSSVGLengthValueAsString(ExecState* exec, JSObject* thisObject, JSValue
static_cast<JSSVGLength*>(thisObject)->impl()->commitChange(imp, static_cast<JSSVGLength*>(thisObject)->context());
}
-JSValue JSSVGLength::getConstructor(ExecState* exec)
+JSValue JSSVGLength::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSSVGLengthConstructor>(exec);
+ return getDOMConstructor<JSSVGLengthConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsSVGLengthPrototypeFunctionNewValueSpecifiedUnits(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -312,9 +316,9 @@ JSValue jsSVGLengthSVG_LENGTHTYPE_PC(ExecState* exec, const Identifier&, const P
return jsNumber(exec, static_cast<int>(10));
}
-JSC::JSValue toJS(JSC::ExecState* exec, JSSVGPODTypeWrapper<SVGLength>* object, SVGElement* context)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, JSSVGPODTypeWrapper<SVGLength>* object, SVGElement* context)
{
- return getDOMObjectWrapper<JSSVGLength, JSSVGPODTypeWrapper<SVGLength> >(exec, object, context);
+ return getDOMObjectWrapper<JSSVGLength, JSSVGPODTypeWrapper<SVGLength> >(exec, globalObject, object, context);
}
SVGLength toSVGLength(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGLength.h b/src/3rdparty/webkit/WebCore/generated/JSSVGLength.h
index 50ea7ce..1bf382a 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGLength.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGLength.h
@@ -23,6 +23,7 @@
#if ENABLE(SVG)
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include "JSSVGPODTypeWrapper.h"
#include "SVGElement.h"
@@ -32,10 +33,10 @@
namespace WebCore {
-class JSSVGLength : public DOMObject {
- typedef DOMObject Base;
+class JSSVGLength : public DOMObjectWithSVGContext {
+ typedef DOMObjectWithSVGContext Base;
public:
- JSSVGLength(PassRefPtr<JSC::Structure>, PassRefPtr<JSSVGPODTypeWrapper<SVGLength> >, SVGElement* context);
+ JSSVGLength(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<JSSVGPODTypeWrapper<SVGLength> >, SVGElement* context);
virtual ~JSSVGLength();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -48,22 +49,20 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
// Custom attributes
JSC::JSValue value(JSC::ExecState*) const;
// Custom functions
JSC::JSValue convertToSpecifiedUnits(JSC::ExecState*, const JSC::ArgList&);
- JSSVGPODTypeWrapper<SVGLength>* impl() const { return m_impl.get(); }
- SVGElement* context() const { return m_context.get(); }
+ JSSVGPODTypeWrapper<SVGLength> * impl() const { return m_impl.get(); }
private:
- RefPtr<SVGElement> m_context;
RefPtr<JSSVGPODTypeWrapper<SVGLength> > m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, JSSVGPODTypeWrapper<SVGLength>*, SVGElement* context);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, JSSVGPODTypeWrapper<SVGLength>*, SVGElement* context);
SVGLength toSVGLength(JSC::JSValue);
class JSSVGLengthPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGLengthList.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGLengthList.cpp
index 9283d38..7157d65 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGLengthList.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGLengthList.cpp
@@ -45,7 +45,7 @@ static const HashTableValue JSSVGLengthListTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGLengthListTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGLengthListTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGLengthListTableValues, 0 };
#else
@@ -66,7 +66,7 @@ static const HashTableValue JSSVGLengthListPrototypeTableValues[8] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGLengthListPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGLengthListPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 63, JSSVGLengthListPrototypeTableValues, 0 };
#else
@@ -87,9 +87,8 @@ bool JSSVGLengthListPrototype::getOwnPropertySlot(ExecState* exec, const Identif
const ClassInfo JSSVGLengthList::s_info = { "SVGLengthList", 0, &JSSVGLengthListTable, 0 };
-JSSVGLengthList::JSSVGLengthList(PassRefPtr<Structure> structure, PassRefPtr<SVGLengthList> impl, SVGElement* context)
- : DOMObject(structure)
- , m_context(context)
+JSSVGLengthList::JSSVGLengthList(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGLengthList> impl, SVGElement* context)
+ : DOMObjectWithSVGContext(structure, globalObject, context)
, m_impl(impl)
{
}
@@ -111,8 +110,9 @@ bool JSSVGLengthList::getOwnPropertySlot(ExecState* exec, const Identifier& prop
JSValue jsSVGLengthListNumberOfItems(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGLengthList* castedThis = static_cast<JSSVGLengthList*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGLengthList* imp = static_cast<SVGLengthList*>(static_cast<JSSVGLengthList*>(asObject(slot.slotBase()))->impl());
+ SVGLengthList* imp = static_cast<SVGLengthList*>(castedThis->impl());
return jsNumber(exec, imp->numberOfItems());
}
@@ -141,7 +141,7 @@ JSValue JSC_HOST_CALL jsSVGLengthListPrototypeFunctionInitialize(ExecState* exec
SVGLength item = toSVGLength(args.at(0));
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<SVGLength>::create(imp->initialize(item, ec)).get(), castedThisObj->context());
+ JSC::JSValue result = toJS(exec, deprecatedGlobalObjectForPrototype(exec), JSSVGStaticPODTypeWrapper<SVGLength>::create(imp->initialize(item, ec)).get(), castedThisObj->context());
setDOMException(exec, ec);
return result;
}
@@ -157,7 +157,7 @@ JSValue JSC_HOST_CALL jsSVGLengthListPrototypeFunctionGetItem(ExecState* exec, J
unsigned index = args.at(0).toInt32(exec);
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<SVGLength>::create(imp->getItem(index, ec)).get(), castedThisObj->context());
+ JSC::JSValue result = toJS(exec, deprecatedGlobalObjectForPrototype(exec), JSSVGStaticPODTypeWrapper<SVGLength>::create(imp->getItem(index, ec)).get(), castedThisObj->context());
setDOMException(exec, ec);
return result;
}
@@ -174,7 +174,7 @@ JSValue JSC_HOST_CALL jsSVGLengthListPrototypeFunctionInsertItemBefore(ExecState
unsigned index = args.at(1).toInt32(exec);
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<SVGLength>::create(imp->insertItemBefore(item, index, ec)).get(), castedThisObj->context());
+ JSC::JSValue result = toJS(exec, deprecatedGlobalObjectForPrototype(exec), JSSVGStaticPODTypeWrapper<SVGLength>::create(imp->insertItemBefore(item, index, ec)).get(), castedThisObj->context());
setDOMException(exec, ec);
return result;
}
@@ -191,7 +191,7 @@ JSValue JSC_HOST_CALL jsSVGLengthListPrototypeFunctionReplaceItem(ExecState* exe
unsigned index = args.at(1).toInt32(exec);
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<SVGLength>::create(imp->replaceItem(item, index, ec)).get(), castedThisObj->context());
+ JSC::JSValue result = toJS(exec, deprecatedGlobalObjectForPrototype(exec), JSSVGStaticPODTypeWrapper<SVGLength>::create(imp->replaceItem(item, index, ec)).get(), castedThisObj->context());
setDOMException(exec, ec);
return result;
}
@@ -207,7 +207,7 @@ JSValue JSC_HOST_CALL jsSVGLengthListPrototypeFunctionRemoveItem(ExecState* exec
unsigned index = args.at(0).toInt32(exec);
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<SVGLength>::create(imp->removeItem(index, ec)).get(), castedThisObj->context());
+ JSC::JSValue result = toJS(exec, deprecatedGlobalObjectForPrototype(exec), JSSVGStaticPODTypeWrapper<SVGLength>::create(imp->removeItem(index, ec)).get(), castedThisObj->context());
setDOMException(exec, ec);
return result;
}
@@ -223,14 +223,14 @@ JSValue JSC_HOST_CALL jsSVGLengthListPrototypeFunctionAppendItem(ExecState* exec
SVGLength item = toSVGLength(args.at(0));
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<SVGLength>::create(imp->appendItem(item, ec)).get(), castedThisObj->context());
+ JSC::JSValue result = toJS(exec, deprecatedGlobalObjectForPrototype(exec), JSSVGStaticPODTypeWrapper<SVGLength>::create(imp->appendItem(item, ec)).get(), castedThisObj->context());
setDOMException(exec, ec);
return result;
}
-JSC::JSValue toJS(JSC::ExecState* exec, SVGLengthList* object, SVGElement* context)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, SVGLengthList* object, SVGElement* context)
{
- return getDOMObjectWrapper<JSSVGLengthList>(exec, object, context);
+ return getDOMObjectWrapper<JSSVGLengthList>(exec, globalObject, object, context);
}
SVGLengthList* toSVGLengthList(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGLengthList.h b/src/3rdparty/webkit/WebCore/generated/JSSVGLengthList.h
index 1345203..88500a0 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGLengthList.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGLengthList.h
@@ -23,6 +23,7 @@
#if ENABLE(SVG)
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include "SVGElement.h"
#include <runtime/JSGlobalObject.h>
@@ -32,10 +33,10 @@ namespace WebCore {
class SVGLengthList;
-class JSSVGLengthList : public DOMObject {
- typedef DOMObject Base;
+class JSSVGLengthList : public DOMObjectWithSVGContext {
+ typedef DOMObjectWithSVGContext Base;
public:
- JSSVGLengthList(PassRefPtr<JSC::Structure>, PassRefPtr<SVGLengthList>, SVGElement* context);
+ JSSVGLengthList(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGLengthList>, SVGElement* context);
virtual ~JSSVGLengthList();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -48,14 +49,12 @@ public:
}
SVGLengthList* impl() const { return m_impl.get(); }
- SVGElement* context() const { return m_context.get(); }
private:
- RefPtr<SVGElement> m_context;
- RefPtr<SVGLengthList > m_impl;
+ RefPtr<SVGLengthList> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, SVGLengthList*, SVGElement* context);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, SVGLengthList*, SVGElement* context);
SVGLengthList* toSVGLengthList(JSC::JSValue);
class JSSVGLengthListPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGLineElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGLineElement.cpp
index 62e72c5..26f31a9 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGLineElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGLineElement.cpp
@@ -73,7 +73,7 @@ static const HashTableValue JSSVGLineElementTableValues[16] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGLineElementTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGLineElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 1023, JSSVGLineElementTableValues, 0 };
#else
@@ -93,7 +93,7 @@ static const HashTableValue JSSVGLineElementPrototypeTableValues[7] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGLineElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGLineElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 2047, JSSVGLineElementPrototypeTableValues, 0 };
#else
@@ -114,8 +114,8 @@ bool JSSVGLineElementPrototype::getOwnPropertySlot(ExecState* exec, const Identi
const ClassInfo JSSVGLineElement::s_info = { "SVGLineElement", &JSSVGElement::s_info, &JSSVGLineElementTable, 0 };
-JSSVGLineElement::JSSVGLineElement(PassRefPtr<Structure> structure, PassRefPtr<SVGLineElement> impl)
- : JSSVGElement(structure, impl)
+JSSVGLineElement::JSSVGLineElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGLineElement> impl)
+ : JSSVGElement(structure, globalObject, impl)
{
}
@@ -131,114 +131,129 @@ bool JSSVGLineElement::getOwnPropertySlot(ExecState* exec, const Identifier& pro
JSValue jsSVGLineElementX1(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGLineElement* castedThis = static_cast<JSSVGLineElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGLineElement* imp = static_cast<SVGLineElement*>(static_cast<JSSVGLineElement*>(asObject(slot.slotBase()))->impl());
+ SVGLineElement* imp = static_cast<SVGLineElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->x1Animated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGLineElementY1(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGLineElement* castedThis = static_cast<JSSVGLineElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGLineElement* imp = static_cast<SVGLineElement*>(static_cast<JSSVGLineElement*>(asObject(slot.slotBase()))->impl());
+ SVGLineElement* imp = static_cast<SVGLineElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->y1Animated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGLineElementX2(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGLineElement* castedThis = static_cast<JSSVGLineElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGLineElement* imp = static_cast<SVGLineElement*>(static_cast<JSSVGLineElement*>(asObject(slot.slotBase()))->impl());
+ SVGLineElement* imp = static_cast<SVGLineElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->x2Animated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGLineElementY2(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGLineElement* castedThis = static_cast<JSSVGLineElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGLineElement* imp = static_cast<SVGLineElement*>(static_cast<JSSVGLineElement*>(asObject(slot.slotBase()))->impl());
+ SVGLineElement* imp = static_cast<SVGLineElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->y2Animated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGLineElementRequiredFeatures(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGLineElement* castedThis = static_cast<JSSVGLineElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGLineElement* imp = static_cast<SVGLineElement*>(static_cast<JSSVGLineElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->requiredFeatures()), imp);
+ SVGLineElement* imp = static_cast<SVGLineElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->requiredFeatures()), imp);
}
JSValue jsSVGLineElementRequiredExtensions(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGLineElement* castedThis = static_cast<JSSVGLineElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGLineElement* imp = static_cast<SVGLineElement*>(static_cast<JSSVGLineElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->requiredExtensions()), imp);
+ SVGLineElement* imp = static_cast<SVGLineElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->requiredExtensions()), imp);
}
JSValue jsSVGLineElementSystemLanguage(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGLineElement* castedThis = static_cast<JSSVGLineElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGLineElement* imp = static_cast<SVGLineElement*>(static_cast<JSSVGLineElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->systemLanguage()), imp);
+ SVGLineElement* imp = static_cast<SVGLineElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->systemLanguage()), imp);
}
JSValue jsSVGLineElementXmllang(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGLineElement* castedThis = static_cast<JSSVGLineElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGLineElement* imp = static_cast<SVGLineElement*>(static_cast<JSSVGLineElement*>(asObject(slot.slotBase()))->impl());
+ SVGLineElement* imp = static_cast<SVGLineElement*>(castedThis->impl());
return jsString(exec, imp->xmllang());
}
JSValue jsSVGLineElementXmlspace(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGLineElement* castedThis = static_cast<JSSVGLineElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGLineElement* imp = static_cast<SVGLineElement*>(static_cast<JSSVGLineElement*>(asObject(slot.slotBase()))->impl());
+ SVGLineElement* imp = static_cast<SVGLineElement*>(castedThis->impl());
return jsString(exec, imp->xmlspace());
}
JSValue jsSVGLineElementExternalResourcesRequired(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGLineElement* castedThis = static_cast<JSSVGLineElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGLineElement* imp = static_cast<SVGLineElement*>(static_cast<JSSVGLineElement*>(asObject(slot.slotBase()))->impl());
+ SVGLineElement* imp = static_cast<SVGLineElement*>(castedThis->impl());
RefPtr<SVGAnimatedBoolean> obj = imp->externalResourcesRequiredAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGLineElementClassName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGLineElement* castedThis = static_cast<JSSVGLineElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGLineElement* imp = static_cast<SVGLineElement*>(static_cast<JSSVGLineElement*>(asObject(slot.slotBase()))->impl());
+ SVGLineElement* imp = static_cast<SVGLineElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->classNameAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGLineElementStyle(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGLineElement* castedThis = static_cast<JSSVGLineElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGLineElement* imp = static_cast<SVGLineElement*>(static_cast<JSSVGLineElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->style()));
+ SVGLineElement* imp = static_cast<SVGLineElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->style()));
}
JSValue jsSVGLineElementTransform(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGLineElement* castedThis = static_cast<JSSVGLineElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGLineElement* imp = static_cast<SVGLineElement*>(static_cast<JSSVGLineElement*>(asObject(slot.slotBase()))->impl());
+ SVGLineElement* imp = static_cast<SVGLineElement*>(castedThis->impl());
RefPtr<SVGAnimatedTransformList> obj = imp->transformAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGLineElementNearestViewportElement(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGLineElement* castedThis = static_cast<JSSVGLineElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGLineElement* imp = static_cast<SVGLineElement*>(static_cast<JSSVGLineElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->nearestViewportElement()));
+ SVGLineElement* imp = static_cast<SVGLineElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->nearestViewportElement()));
}
JSValue jsSVGLineElementFarthestViewportElement(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGLineElement* castedThis = static_cast<JSSVGLineElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGLineElement* imp = static_cast<SVGLineElement*>(static_cast<JSSVGLineElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->farthestViewportElement()));
+ SVGLineElement* imp = static_cast<SVGLineElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->farthestViewportElement()));
}
void JSSVGLineElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
@@ -282,7 +297,7 @@ JSValue JSC_HOST_CALL jsSVGLineElementPrototypeFunctionGetPresentationAttribute(
const UString& name = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getPresentationAttribute(name)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getPresentationAttribute(name)));
return result;
}
@@ -295,7 +310,7 @@ JSValue JSC_HOST_CALL jsSVGLineElementPrototypeFunctionGetBBox(ExecState* exec,
SVGLineElement* imp = static_cast<SVGLineElement*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<FloatRect>::create(imp->getBBox()).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<FloatRect>::create(imp->getBBox()).get(), imp);
return result;
}
@@ -308,7 +323,7 @@ JSValue JSC_HOST_CALL jsSVGLineElementPrototypeFunctionGetCTM(ExecState* exec, J
SVGLineElement* imp = static_cast<SVGLineElement*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getCTM()).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getCTM()).get(), imp);
return result;
}
@@ -321,7 +336,7 @@ JSValue JSC_HOST_CALL jsSVGLineElementPrototypeFunctionGetScreenCTM(ExecState* e
SVGLineElement* imp = static_cast<SVGLineElement*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getScreenCTM()).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getScreenCTM()).get(), imp);
return result;
}
@@ -336,7 +351,7 @@ JSValue JSC_HOST_CALL jsSVGLineElementPrototypeFunctionGetTransformToElement(Exe
SVGElement* element = toSVGElement(args.at(0));
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getTransformToElement(element, ec)).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getTransformToElement(element, ec)).get(), imp);
setDOMException(exec, ec);
return result;
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGLineElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGLineElement.h
index bcdee6f..d31e6dc 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGLineElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGLineElement.h
@@ -33,7 +33,7 @@ class SVGLineElement;
class JSSVGLineElement : public JSSVGElement {
typedef JSSVGElement Base;
public:
- JSSVGLineElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGLineElement>);
+ JSSVGLineElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGLineElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGLinearGradientElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGLinearGradientElement.cpp
index 4e0c48a..1e3ff9a 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGLinearGradientElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGLinearGradientElement.cpp
@@ -45,7 +45,7 @@ static const HashTableValue JSSVGLinearGradientElementTableValues[5] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGLinearGradientElementTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGLinearGradientElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 7, JSSVGLinearGradientElementTableValues, 0 };
#else
@@ -59,7 +59,7 @@ static const HashTableValue JSSVGLinearGradientElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGLinearGradientElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGLinearGradientElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGLinearGradientElementPrototypeTableValues, 0 };
#else
@@ -75,8 +75,8 @@ JSObject* JSSVGLinearGradientElementPrototype::self(ExecState* exec, JSGlobalObj
const ClassInfo JSSVGLinearGradientElement::s_info = { "SVGLinearGradientElement", &JSSVGGradientElement::s_info, &JSSVGLinearGradientElementTable, 0 };
-JSSVGLinearGradientElement::JSSVGLinearGradientElement(PassRefPtr<Structure> structure, PassRefPtr<SVGLinearGradientElement> impl)
- : JSSVGGradientElement(structure, impl)
+JSSVGLinearGradientElement::JSSVGLinearGradientElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGLinearGradientElement> impl)
+ : JSSVGGradientElement(structure, globalObject, impl)
{
}
@@ -92,34 +92,38 @@ bool JSSVGLinearGradientElement::getOwnPropertySlot(ExecState* exec, const Ident
JSValue jsSVGLinearGradientElementX1(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGLinearGradientElement* castedThis = static_cast<JSSVGLinearGradientElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGLinearGradientElement* imp = static_cast<SVGLinearGradientElement*>(static_cast<JSSVGLinearGradientElement*>(asObject(slot.slotBase()))->impl());
+ SVGLinearGradientElement* imp = static_cast<SVGLinearGradientElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->x1Animated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGLinearGradientElementY1(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGLinearGradientElement* castedThis = static_cast<JSSVGLinearGradientElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGLinearGradientElement* imp = static_cast<SVGLinearGradientElement*>(static_cast<JSSVGLinearGradientElement*>(asObject(slot.slotBase()))->impl());
+ SVGLinearGradientElement* imp = static_cast<SVGLinearGradientElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->y1Animated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGLinearGradientElementX2(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGLinearGradientElement* castedThis = static_cast<JSSVGLinearGradientElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGLinearGradientElement* imp = static_cast<SVGLinearGradientElement*>(static_cast<JSSVGLinearGradientElement*>(asObject(slot.slotBase()))->impl());
+ SVGLinearGradientElement* imp = static_cast<SVGLinearGradientElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->x2Animated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGLinearGradientElementY2(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGLinearGradientElement* castedThis = static_cast<JSSVGLinearGradientElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGLinearGradientElement* imp = static_cast<SVGLinearGradientElement*>(static_cast<JSSVGLinearGradientElement*>(asObject(slot.slotBase()))->impl());
+ SVGLinearGradientElement* imp = static_cast<SVGLinearGradientElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->y2Animated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGLinearGradientElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGLinearGradientElement.h
index e05e515..737db34 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGLinearGradientElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGLinearGradientElement.h
@@ -33,7 +33,7 @@ class SVGLinearGradientElement;
class JSSVGLinearGradientElement : public JSSVGGradientElement {
typedef JSSVGGradientElement Base;
public:
- JSSVGLinearGradientElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGLinearGradientElement>);
+ JSSVGLinearGradientElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGLinearGradientElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGMarkerElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGMarkerElement.cpp
index afaf538..d7a3b82 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGMarkerElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGMarkerElement.cpp
@@ -71,7 +71,7 @@ static const HashTableValue JSSVGMarkerElementTableValues[16] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGMarkerElementTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGMarkerElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 63, JSSVGMarkerElementTableValues, 0 };
#else
@@ -91,19 +91,19 @@ static const HashTableValue JSSVGMarkerElementConstructorTableValues[7] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGMarkerElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGMarkerElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSSVGMarkerElementConstructorTableValues, 0 };
#else
{ 16, 15, JSSVGMarkerElementConstructorTableValues, 0 };
#endif
-class JSSVGMarkerElementConstructor : public DOMObject {
+class JSSVGMarkerElementConstructor : public DOMConstructorObject {
public:
- JSSVGMarkerElementConstructor(ExecState* exec)
- : DOMObject(JSSVGMarkerElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSSVGMarkerElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSSVGMarkerElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSSVGMarkerElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSSVGMarkerElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -138,7 +138,7 @@ static const HashTableValue JSSVGMarkerElementPrototypeTableValues[10] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGMarkerElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGMarkerElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 31, JSSVGMarkerElementPrototypeTableValues, 0 };
#else
@@ -159,8 +159,8 @@ bool JSSVGMarkerElementPrototype::getOwnPropertySlot(ExecState* exec, const Iden
const ClassInfo JSSVGMarkerElement::s_info = { "SVGMarkerElement", &JSSVGElement::s_info, &JSSVGMarkerElementTable, 0 };
-JSSVGMarkerElement::JSSVGMarkerElement(PassRefPtr<Structure> structure, PassRefPtr<SVGMarkerElement> impl)
- : JSSVGElement(structure, impl)
+JSSVGMarkerElement::JSSVGMarkerElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGMarkerElement> impl)
+ : JSSVGElement(structure, globalObject, impl)
{
}
@@ -176,116 +176,131 @@ bool JSSVGMarkerElement::getOwnPropertySlot(ExecState* exec, const Identifier& p
JSValue jsSVGMarkerElementRefX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGMarkerElement* castedThis = static_cast<JSSVGMarkerElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGMarkerElement* imp = static_cast<SVGMarkerElement*>(static_cast<JSSVGMarkerElement*>(asObject(slot.slotBase()))->impl());
+ SVGMarkerElement* imp = static_cast<SVGMarkerElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->refXAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGMarkerElementRefY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGMarkerElement* castedThis = static_cast<JSSVGMarkerElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGMarkerElement* imp = static_cast<SVGMarkerElement*>(static_cast<JSSVGMarkerElement*>(asObject(slot.slotBase()))->impl());
+ SVGMarkerElement* imp = static_cast<SVGMarkerElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->refYAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGMarkerElementMarkerUnits(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGMarkerElement* castedThis = static_cast<JSSVGMarkerElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGMarkerElement* imp = static_cast<SVGMarkerElement*>(static_cast<JSSVGMarkerElement*>(asObject(slot.slotBase()))->impl());
+ SVGMarkerElement* imp = static_cast<SVGMarkerElement*>(castedThis->impl());
RefPtr<SVGAnimatedEnumeration> obj = imp->markerUnitsAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGMarkerElementMarkerWidth(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGMarkerElement* castedThis = static_cast<JSSVGMarkerElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGMarkerElement* imp = static_cast<SVGMarkerElement*>(static_cast<JSSVGMarkerElement*>(asObject(slot.slotBase()))->impl());
+ SVGMarkerElement* imp = static_cast<SVGMarkerElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->markerWidthAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGMarkerElementMarkerHeight(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGMarkerElement* castedThis = static_cast<JSSVGMarkerElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGMarkerElement* imp = static_cast<SVGMarkerElement*>(static_cast<JSSVGMarkerElement*>(asObject(slot.slotBase()))->impl());
+ SVGMarkerElement* imp = static_cast<SVGMarkerElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->markerHeightAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGMarkerElementOrientType(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGMarkerElement* castedThis = static_cast<JSSVGMarkerElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGMarkerElement* imp = static_cast<SVGMarkerElement*>(static_cast<JSSVGMarkerElement*>(asObject(slot.slotBase()))->impl());
+ SVGMarkerElement* imp = static_cast<SVGMarkerElement*>(castedThis->impl());
RefPtr<SVGAnimatedEnumeration> obj = imp->orientTypeAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGMarkerElementOrientAngle(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGMarkerElement* castedThis = static_cast<JSSVGMarkerElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGMarkerElement* imp = static_cast<SVGMarkerElement*>(static_cast<JSSVGMarkerElement*>(asObject(slot.slotBase()))->impl());
+ SVGMarkerElement* imp = static_cast<SVGMarkerElement*>(castedThis->impl());
RefPtr<SVGAnimatedAngle> obj = imp->orientAngleAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGMarkerElementXmllang(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGMarkerElement* castedThis = static_cast<JSSVGMarkerElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGMarkerElement* imp = static_cast<SVGMarkerElement*>(static_cast<JSSVGMarkerElement*>(asObject(slot.slotBase()))->impl());
+ SVGMarkerElement* imp = static_cast<SVGMarkerElement*>(castedThis->impl());
return jsString(exec, imp->xmllang());
}
JSValue jsSVGMarkerElementXmlspace(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGMarkerElement* castedThis = static_cast<JSSVGMarkerElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGMarkerElement* imp = static_cast<SVGMarkerElement*>(static_cast<JSSVGMarkerElement*>(asObject(slot.slotBase()))->impl());
+ SVGMarkerElement* imp = static_cast<SVGMarkerElement*>(castedThis->impl());
return jsString(exec, imp->xmlspace());
}
JSValue jsSVGMarkerElementExternalResourcesRequired(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGMarkerElement* castedThis = static_cast<JSSVGMarkerElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGMarkerElement* imp = static_cast<SVGMarkerElement*>(static_cast<JSSVGMarkerElement*>(asObject(slot.slotBase()))->impl());
+ SVGMarkerElement* imp = static_cast<SVGMarkerElement*>(castedThis->impl());
RefPtr<SVGAnimatedBoolean> obj = imp->externalResourcesRequiredAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGMarkerElementClassName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGMarkerElement* castedThis = static_cast<JSSVGMarkerElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGMarkerElement* imp = static_cast<SVGMarkerElement*>(static_cast<JSSVGMarkerElement*>(asObject(slot.slotBase()))->impl());
+ SVGMarkerElement* imp = static_cast<SVGMarkerElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->classNameAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGMarkerElementStyle(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGMarkerElement* castedThis = static_cast<JSSVGMarkerElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGMarkerElement* imp = static_cast<SVGMarkerElement*>(static_cast<JSSVGMarkerElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->style()));
+ SVGMarkerElement* imp = static_cast<SVGMarkerElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->style()));
}
JSValue jsSVGMarkerElementViewBox(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGMarkerElement* castedThis = static_cast<JSSVGMarkerElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGMarkerElement* imp = static_cast<SVGMarkerElement*>(static_cast<JSSVGMarkerElement*>(asObject(slot.slotBase()))->impl());
+ SVGMarkerElement* imp = static_cast<SVGMarkerElement*>(castedThis->impl());
RefPtr<SVGAnimatedRect> obj = imp->viewBoxAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGMarkerElementPreserveAspectRatio(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGMarkerElement* castedThis = static_cast<JSSVGMarkerElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGMarkerElement* imp = static_cast<SVGMarkerElement*>(static_cast<JSSVGMarkerElement*>(asObject(slot.slotBase()))->impl());
+ SVGMarkerElement* imp = static_cast<SVGMarkerElement*>(castedThis->impl());
RefPtr<SVGAnimatedPreserveAspectRatio> obj = imp->preserveAspectRatioAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGMarkerElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSSVGMarkerElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSSVGMarkerElement* domObject = static_cast<JSSVGMarkerElement*>(asObject(slot.slotBase()));
+ return JSSVGMarkerElement::getConstructor(exec, domObject->globalObject());
}
void JSSVGMarkerElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -304,9 +319,9 @@ void setJSSVGMarkerElementXmlspace(ExecState* exec, JSObject* thisObject, JSValu
imp->setXmlspace(value.toString(exec));
}
-JSValue JSSVGMarkerElement::getConstructor(ExecState* exec)
+JSValue JSSVGMarkerElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSSVGMarkerElementConstructor>(exec);
+ return getDOMConstructor<JSSVGMarkerElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsSVGMarkerElementPrototypeFunctionSetOrientToAuto(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -344,7 +359,7 @@ JSValue JSC_HOST_CALL jsSVGMarkerElementPrototypeFunctionGetPresentationAttribut
const UString& name = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getPresentationAttribute(name)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getPresentationAttribute(name)));
return result;
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGMarkerElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGMarkerElement.h
index bf626c7..4aad9ee 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGMarkerElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGMarkerElement.h
@@ -33,7 +33,7 @@ class SVGMarkerElement;
class JSSVGMarkerElement : public JSSVGElement {
typedef JSSVGElement Base;
public:
- JSSVGMarkerElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGMarkerElement>);
+ JSSVGMarkerElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGMarkerElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -45,7 +45,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGMaskElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGMaskElement.cpp
index d6e2a33..4919818 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGMaskElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGMaskElement.cpp
@@ -68,7 +68,7 @@ static const HashTableValue JSSVGMaskElementTableValues[15] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGMaskElementTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGMaskElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 255, JSSVGMaskElementTableValues, 0 };
#else
@@ -84,7 +84,7 @@ static const HashTableValue JSSVGMaskElementPrototypeTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGMaskElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGMaskElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 1, JSSVGMaskElementPrototypeTableValues, 0 };
#else
@@ -105,8 +105,8 @@ bool JSSVGMaskElementPrototype::getOwnPropertySlot(ExecState* exec, const Identi
const ClassInfo JSSVGMaskElement::s_info = { "SVGMaskElement", &JSSVGElement::s_info, &JSSVGMaskElementTable, 0 };
-JSSVGMaskElement::JSSVGMaskElement(PassRefPtr<Structure> structure, PassRefPtr<SVGMaskElement> impl)
- : JSSVGElement(structure, impl)
+JSSVGMaskElement::JSSVGMaskElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGMaskElement> impl)
+ : JSSVGElement(structure, globalObject, impl)
{
}
@@ -122,108 +122,122 @@ bool JSSVGMaskElement::getOwnPropertySlot(ExecState* exec, const Identifier& pro
JSValue jsSVGMaskElementMaskUnits(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGMaskElement* castedThis = static_cast<JSSVGMaskElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGMaskElement* imp = static_cast<SVGMaskElement*>(static_cast<JSSVGMaskElement*>(asObject(slot.slotBase()))->impl());
+ SVGMaskElement* imp = static_cast<SVGMaskElement*>(castedThis->impl());
RefPtr<SVGAnimatedEnumeration> obj = imp->maskUnitsAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGMaskElementMaskContentUnits(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGMaskElement* castedThis = static_cast<JSSVGMaskElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGMaskElement* imp = static_cast<SVGMaskElement*>(static_cast<JSSVGMaskElement*>(asObject(slot.slotBase()))->impl());
+ SVGMaskElement* imp = static_cast<SVGMaskElement*>(castedThis->impl());
RefPtr<SVGAnimatedEnumeration> obj = imp->maskContentUnitsAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGMaskElementX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGMaskElement* castedThis = static_cast<JSSVGMaskElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGMaskElement* imp = static_cast<SVGMaskElement*>(static_cast<JSSVGMaskElement*>(asObject(slot.slotBase()))->impl());
+ SVGMaskElement* imp = static_cast<SVGMaskElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->xAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGMaskElementY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGMaskElement* castedThis = static_cast<JSSVGMaskElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGMaskElement* imp = static_cast<SVGMaskElement*>(static_cast<JSSVGMaskElement*>(asObject(slot.slotBase()))->impl());
+ SVGMaskElement* imp = static_cast<SVGMaskElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->yAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGMaskElementWidth(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGMaskElement* castedThis = static_cast<JSSVGMaskElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGMaskElement* imp = static_cast<SVGMaskElement*>(static_cast<JSSVGMaskElement*>(asObject(slot.slotBase()))->impl());
+ SVGMaskElement* imp = static_cast<SVGMaskElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->widthAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGMaskElementHeight(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGMaskElement* castedThis = static_cast<JSSVGMaskElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGMaskElement* imp = static_cast<SVGMaskElement*>(static_cast<JSSVGMaskElement*>(asObject(slot.slotBase()))->impl());
+ SVGMaskElement* imp = static_cast<SVGMaskElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->heightAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGMaskElementRequiredFeatures(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGMaskElement* castedThis = static_cast<JSSVGMaskElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGMaskElement* imp = static_cast<SVGMaskElement*>(static_cast<JSSVGMaskElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->requiredFeatures()), imp);
+ SVGMaskElement* imp = static_cast<SVGMaskElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->requiredFeatures()), imp);
}
JSValue jsSVGMaskElementRequiredExtensions(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGMaskElement* castedThis = static_cast<JSSVGMaskElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGMaskElement* imp = static_cast<SVGMaskElement*>(static_cast<JSSVGMaskElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->requiredExtensions()), imp);
+ SVGMaskElement* imp = static_cast<SVGMaskElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->requiredExtensions()), imp);
}
JSValue jsSVGMaskElementSystemLanguage(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGMaskElement* castedThis = static_cast<JSSVGMaskElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGMaskElement* imp = static_cast<SVGMaskElement*>(static_cast<JSSVGMaskElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->systemLanguage()), imp);
+ SVGMaskElement* imp = static_cast<SVGMaskElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->systemLanguage()), imp);
}
JSValue jsSVGMaskElementXmllang(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGMaskElement* castedThis = static_cast<JSSVGMaskElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGMaskElement* imp = static_cast<SVGMaskElement*>(static_cast<JSSVGMaskElement*>(asObject(slot.slotBase()))->impl());
+ SVGMaskElement* imp = static_cast<SVGMaskElement*>(castedThis->impl());
return jsString(exec, imp->xmllang());
}
JSValue jsSVGMaskElementXmlspace(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGMaskElement* castedThis = static_cast<JSSVGMaskElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGMaskElement* imp = static_cast<SVGMaskElement*>(static_cast<JSSVGMaskElement*>(asObject(slot.slotBase()))->impl());
+ SVGMaskElement* imp = static_cast<SVGMaskElement*>(castedThis->impl());
return jsString(exec, imp->xmlspace());
}
JSValue jsSVGMaskElementExternalResourcesRequired(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGMaskElement* castedThis = static_cast<JSSVGMaskElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGMaskElement* imp = static_cast<SVGMaskElement*>(static_cast<JSSVGMaskElement*>(asObject(slot.slotBase()))->impl());
+ SVGMaskElement* imp = static_cast<SVGMaskElement*>(castedThis->impl());
RefPtr<SVGAnimatedBoolean> obj = imp->externalResourcesRequiredAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGMaskElementClassName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGMaskElement* castedThis = static_cast<JSSVGMaskElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGMaskElement* imp = static_cast<SVGMaskElement*>(static_cast<JSSVGMaskElement*>(asObject(slot.slotBase()))->impl());
+ SVGMaskElement* imp = static_cast<SVGMaskElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->classNameAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGMaskElementStyle(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGMaskElement* castedThis = static_cast<JSSVGMaskElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGMaskElement* imp = static_cast<SVGMaskElement*>(static_cast<JSSVGMaskElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->style()));
+ SVGMaskElement* imp = static_cast<SVGMaskElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->style()));
}
void JSSVGMaskElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
@@ -267,7 +281,7 @@ JSValue JSC_HOST_CALL jsSVGMaskElementPrototypeFunctionGetPresentationAttribute(
const UString& name = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getPresentationAttribute(name)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getPresentationAttribute(name)));
return result;
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGMaskElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGMaskElement.h
index 51f35cc..f8f7abf 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGMaskElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGMaskElement.h
@@ -33,7 +33,7 @@ class SVGMaskElement;
class JSSVGMaskElement : public JSSVGElement {
typedef JSSVGElement Base;
public:
- JSSVGMaskElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGMaskElement>);
+ JSSVGMaskElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGMaskElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGMatrix.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGMatrix.cpp
index 761f128..d38cbec 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGMatrix.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGMatrix.cpp
@@ -48,7 +48,7 @@ static const HashTableValue JSSVGMatrixTableValues[7] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGMatrixTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGMatrixTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSSVGMatrixTableValues, 0 };
#else
@@ -73,7 +73,7 @@ static const HashTableValue JSSVGMatrixPrototypeTableValues[12] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGMatrixPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGMatrixPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 63, JSSVGMatrixPrototypeTableValues, 0 };
#else
@@ -94,9 +94,8 @@ bool JSSVGMatrixPrototype::getOwnPropertySlot(ExecState* exec, const Identifier&
const ClassInfo JSSVGMatrix::s_info = { "SVGMatrix", 0, &JSSVGMatrixTable, 0 };
-JSSVGMatrix::JSSVGMatrix(PassRefPtr<Structure> structure, PassRefPtr<JSSVGPODTypeWrapper<TransformationMatrix> > impl, SVGElement* context)
- : DOMObject(structure)
- , m_context(context)
+JSSVGMatrix::JSSVGMatrix(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<JSSVGPODTypeWrapper<TransformationMatrix> > impl, SVGElement* context)
+ : DOMObjectWithSVGContext(structure, globalObject, context)
, m_impl(impl)
{
}
@@ -118,43 +117,49 @@ bool JSSVGMatrix::getOwnPropertySlot(ExecState* exec, const Identifier& property
JSValue jsSVGMatrixA(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGMatrix* castedThis = static_cast<JSSVGMatrix*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- TransformationMatrix imp(*static_cast<JSSVGMatrix*>(asObject(slot.slotBase()))->impl());
+ TransformationMatrix imp(*castedThis->impl());
return jsNumber(exec, imp.a());
}
JSValue jsSVGMatrixB(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGMatrix* castedThis = static_cast<JSSVGMatrix*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- TransformationMatrix imp(*static_cast<JSSVGMatrix*>(asObject(slot.slotBase()))->impl());
+ TransformationMatrix imp(*castedThis->impl());
return jsNumber(exec, imp.b());
}
JSValue jsSVGMatrixC(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGMatrix* castedThis = static_cast<JSSVGMatrix*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- TransformationMatrix imp(*static_cast<JSSVGMatrix*>(asObject(slot.slotBase()))->impl());
+ TransformationMatrix imp(*castedThis->impl());
return jsNumber(exec, imp.c());
}
JSValue jsSVGMatrixD(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGMatrix* castedThis = static_cast<JSSVGMatrix*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- TransformationMatrix imp(*static_cast<JSSVGMatrix*>(asObject(slot.slotBase()))->impl());
+ TransformationMatrix imp(*castedThis->impl());
return jsNumber(exec, imp.d());
}
JSValue jsSVGMatrixE(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGMatrix* castedThis = static_cast<JSSVGMatrix*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- TransformationMatrix imp(*static_cast<JSSVGMatrix*>(asObject(slot.slotBase()))->impl());
+ TransformationMatrix imp(*castedThis->impl());
return jsNumber(exec, imp.e());
}
JSValue jsSVGMatrixF(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGMatrix* castedThis = static_cast<JSSVGMatrix*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- TransformationMatrix imp(*static_cast<JSSVGMatrix*>(asObject(slot.slotBase()))->impl());
+ TransformationMatrix imp(*castedThis->impl());
return jsNumber(exec, imp.f());
}
@@ -216,7 +221,7 @@ JSValue JSC_HOST_CALL jsSVGMatrixPrototypeFunctionMultiply(ExecState* exec, JSOb
TransformationMatrix secondMatrix = toSVGMatrix(args.at(0));
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp.multiply(secondMatrix)).get(), castedThisObj->context());
+ JSC::JSValue result = toJS(exec, deprecatedGlobalObjectForPrototype(exec), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp.multiply(secondMatrix)).get(), castedThisObj->context());
return result;
}
@@ -241,7 +246,7 @@ JSValue JSC_HOST_CALL jsSVGMatrixPrototypeFunctionTranslate(ExecState* exec, JSO
float y = args.at(1).toFloat(exec);
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp.translate(x, y)).get(), castedThisObj->context());
+ JSC::JSValue result = toJS(exec, deprecatedGlobalObjectForPrototype(exec), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp.translate(x, y)).get(), castedThisObj->context());
return result;
}
@@ -256,7 +261,7 @@ JSValue JSC_HOST_CALL jsSVGMatrixPrototypeFunctionScale(ExecState* exec, JSObjec
float scaleFactor = args.at(0).toFloat(exec);
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp.scale(scaleFactor)).get(), castedThisObj->context());
+ JSC::JSValue result = toJS(exec, deprecatedGlobalObjectForPrototype(exec), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp.scale(scaleFactor)).get(), castedThisObj->context());
return result;
}
@@ -272,7 +277,7 @@ JSValue JSC_HOST_CALL jsSVGMatrixPrototypeFunctionScaleNonUniform(ExecState* exe
float scaleFactorY = args.at(1).toFloat(exec);
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp.scaleNonUniform(scaleFactorX, scaleFactorY)).get(), castedThisObj->context());
+ JSC::JSValue result = toJS(exec, deprecatedGlobalObjectForPrototype(exec), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp.scaleNonUniform(scaleFactorX, scaleFactorY)).get(), castedThisObj->context());
return result;
}
@@ -287,7 +292,7 @@ JSValue JSC_HOST_CALL jsSVGMatrixPrototypeFunctionRotate(ExecState* exec, JSObje
float angle = args.at(0).toFloat(exec);
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp.rotate(angle)).get(), castedThisObj->context());
+ JSC::JSValue result = toJS(exec, deprecatedGlobalObjectForPrototype(exec), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp.rotate(angle)).get(), castedThisObj->context());
return result;
}
@@ -310,7 +315,7 @@ JSValue JSC_HOST_CALL jsSVGMatrixPrototypeFunctionFlipX(ExecState* exec, JSObjec
TransformationMatrix imp(*wrapper);
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp.flipX()).get(), castedThisObj->context());
+ JSC::JSValue result = toJS(exec, deprecatedGlobalObjectForPrototype(exec), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp.flipX()).get(), castedThisObj->context());
return result;
}
@@ -324,7 +329,7 @@ JSValue JSC_HOST_CALL jsSVGMatrixPrototypeFunctionFlipY(ExecState* exec, JSObjec
TransformationMatrix imp(*wrapper);
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp.flipY()).get(), castedThisObj->context());
+ JSC::JSValue result = toJS(exec, deprecatedGlobalObjectForPrototype(exec), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp.flipY()).get(), castedThisObj->context());
return result;
}
@@ -339,7 +344,7 @@ JSValue JSC_HOST_CALL jsSVGMatrixPrototypeFunctionSkewX(ExecState* exec, JSObjec
float angle = args.at(0).toFloat(exec);
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp.skewX(angle)).get(), castedThisObj->context());
+ JSC::JSValue result = toJS(exec, deprecatedGlobalObjectForPrototype(exec), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp.skewX(angle)).get(), castedThisObj->context());
return result;
}
@@ -354,13 +359,13 @@ JSValue JSC_HOST_CALL jsSVGMatrixPrototypeFunctionSkewY(ExecState* exec, JSObjec
float angle = args.at(0).toFloat(exec);
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp.skewY(angle)).get(), castedThisObj->context());
+ JSC::JSValue result = toJS(exec, deprecatedGlobalObjectForPrototype(exec), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp.skewY(angle)).get(), castedThisObj->context());
return result;
}
-JSC::JSValue toJS(JSC::ExecState* exec, JSSVGPODTypeWrapper<TransformationMatrix>* object, SVGElement* context)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, JSSVGPODTypeWrapper<TransformationMatrix>* object, SVGElement* context)
{
- return getDOMObjectWrapper<JSSVGMatrix, JSSVGPODTypeWrapper<TransformationMatrix> >(exec, object, context);
+ return getDOMObjectWrapper<JSSVGMatrix, JSSVGPODTypeWrapper<TransformationMatrix> >(exec, globalObject, object, context);
}
TransformationMatrix toSVGMatrix(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGMatrix.h b/src/3rdparty/webkit/WebCore/generated/JSSVGMatrix.h
index c1c9068..b4a07f7 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGMatrix.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGMatrix.h
@@ -23,6 +23,7 @@
#if ENABLE(SVG)
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include "JSSVGPODTypeWrapper.h"
#include "SVGElement.h"
@@ -32,10 +33,10 @@
namespace WebCore {
-class JSSVGMatrix : public DOMObject {
- typedef DOMObject Base;
+class JSSVGMatrix : public DOMObjectWithSVGContext {
+ typedef DOMObjectWithSVGContext Base;
public:
- JSSVGMatrix(PassRefPtr<JSC::Structure>, PassRefPtr<JSSVGPODTypeWrapper<TransformationMatrix> >, SVGElement* context);
+ JSSVGMatrix(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<JSSVGPODTypeWrapper<TransformationMatrix> >, SVGElement* context);
virtual ~JSSVGMatrix();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -52,15 +53,13 @@ public:
// Custom functions
JSC::JSValue inverse(JSC::ExecState*, const JSC::ArgList&);
JSC::JSValue rotateFromVector(JSC::ExecState*, const JSC::ArgList&);
- JSSVGPODTypeWrapper<TransformationMatrix>* impl() const { return m_impl.get(); }
- SVGElement* context() const { return m_context.get(); }
+ JSSVGPODTypeWrapper<TransformationMatrix> * impl() const { return m_impl.get(); }
private:
- RefPtr<SVGElement> m_context;
RefPtr<JSSVGPODTypeWrapper<TransformationMatrix> > m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, JSSVGPODTypeWrapper<TransformationMatrix>*, SVGElement* context);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, JSSVGPODTypeWrapper<TransformationMatrix>*, SVGElement* context);
TransformationMatrix toSVGMatrix(JSC::JSValue);
class JSSVGMatrixPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGMetadataElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGMetadataElement.cpp
index a150bd3..ee3f978 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGMetadataElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGMetadataElement.cpp
@@ -40,7 +40,7 @@ static const HashTableValue JSSVGMetadataElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGMetadataElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGMetadataElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGMetadataElementPrototypeTableValues, 0 };
#else
@@ -56,8 +56,8 @@ JSObject* JSSVGMetadataElementPrototype::self(ExecState* exec, JSGlobalObject* g
const ClassInfo JSSVGMetadataElement::s_info = { "SVGMetadataElement", &JSSVGElement::s_info, 0, 0 };
-JSSVGMetadataElement::JSSVGMetadataElement(PassRefPtr<Structure> structure, PassRefPtr<SVGMetadataElement> impl)
- : JSSVGElement(structure, impl)
+JSSVGMetadataElement::JSSVGMetadataElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGMetadataElement> impl)
+ : JSSVGElement(structure, globalObject, impl)
{
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGMetadataElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGMetadataElement.h
index 49eb352..f6d97ee 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGMetadataElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGMetadataElement.h
@@ -33,7 +33,7 @@ class SVGMetadataElement;
class JSSVGMetadataElement : public JSSVGElement {
typedef JSSVGElement Base;
public:
- JSSVGMetadataElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGMetadataElement>);
+ JSSVGMetadataElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGMetadataElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
static const JSC::ClassInfo s_info;
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGMissingGlyphElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGMissingGlyphElement.cpp
index f5eaa01..279a7c7 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGMissingGlyphElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGMissingGlyphElement.cpp
@@ -40,7 +40,7 @@ static const HashTableValue JSSVGMissingGlyphElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGMissingGlyphElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGMissingGlyphElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGMissingGlyphElementPrototypeTableValues, 0 };
#else
@@ -56,8 +56,8 @@ JSObject* JSSVGMissingGlyphElementPrototype::self(ExecState* exec, JSGlobalObjec
const ClassInfo JSSVGMissingGlyphElement::s_info = { "SVGMissingGlyphElement", &JSSVGElement::s_info, 0, 0 };
-JSSVGMissingGlyphElement::JSSVGMissingGlyphElement(PassRefPtr<Structure> structure, PassRefPtr<SVGMissingGlyphElement> impl)
- : JSSVGElement(structure, impl)
+JSSVGMissingGlyphElement::JSSVGMissingGlyphElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGMissingGlyphElement> impl)
+ : JSSVGElement(structure, globalObject, impl)
{
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGMissingGlyphElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGMissingGlyphElement.h
index 76be663..035160a 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGMissingGlyphElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGMissingGlyphElement.h
@@ -33,7 +33,7 @@ class SVGMissingGlyphElement;
class JSSVGMissingGlyphElement : public JSSVGElement {
typedef JSSVGElement Base;
public:
- JSSVGMissingGlyphElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGMissingGlyphElement>);
+ JSSVGMissingGlyphElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGMissingGlyphElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
static const JSC::ClassInfo s_info;
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGNumber.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGNumber.cpp
index 9e3dede..3131b44 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGNumber.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGNumber.cpp
@@ -41,7 +41,7 @@ static const HashTableValue JSSVGNumberTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGNumberTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGNumberTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGNumberTableValues, 0 };
#else
@@ -55,7 +55,7 @@ static const HashTableValue JSSVGNumberPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGNumberPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGNumberPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGNumberPrototypeTableValues, 0 };
#else
@@ -71,9 +71,8 @@ JSObject* JSSVGNumberPrototype::self(ExecState* exec, JSGlobalObject* globalObje
const ClassInfo JSSVGNumber::s_info = { "SVGNumber", 0, &JSSVGNumberTable, 0 };
-JSSVGNumber::JSSVGNumber(PassRefPtr<Structure> structure, PassRefPtr<JSSVGPODTypeWrapper<float> > impl, SVGElement* context)
- : DOMObject(structure)
- , m_context(context)
+JSSVGNumber::JSSVGNumber(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<JSSVGPODTypeWrapper<float> > impl, SVGElement* context)
+ : DOMObjectWithSVGContext(structure, globalObject, context)
, m_impl(impl)
{
}
@@ -95,8 +94,9 @@ bool JSSVGNumber::getOwnPropertySlot(ExecState* exec, const Identifier& property
JSValue jsSVGNumberValue(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGNumber* castedThis = static_cast<JSSVGNumber*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- float imp(*static_cast<JSSVGNumber*>(asObject(slot.slotBase()))->impl());
+ float imp(*castedThis->impl());
return jsNumber(exec, imp);
}
@@ -112,9 +112,9 @@ void setJSSVGNumberValue(ExecState* exec, JSObject* thisObject, JSValue value)
static_cast<JSSVGNumber*>(thisObject)->impl()->commitChange(imp, static_cast<JSSVGNumber*>(thisObject)->context());
}
-JSC::JSValue toJS(JSC::ExecState* exec, JSSVGPODTypeWrapper<float>* object, SVGElement* context)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, JSSVGPODTypeWrapper<float>* object, SVGElement* context)
{
- return getDOMObjectWrapper<JSSVGNumber, JSSVGPODTypeWrapper<float> >(exec, object, context);
+ return getDOMObjectWrapper<JSSVGNumber, JSSVGPODTypeWrapper<float> >(exec, globalObject, object, context);
}
float toSVGNumber(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGNumber.h b/src/3rdparty/webkit/WebCore/generated/JSSVGNumber.h
index 08bfe82..de5e023 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGNumber.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGNumber.h
@@ -23,6 +23,7 @@
#if ENABLE(SVG)
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include "JSSVGPODTypeWrapper.h"
#include "SVGElement.h"
@@ -31,10 +32,10 @@
namespace WebCore {
-class JSSVGNumber : public DOMObject {
- typedef DOMObject Base;
+class JSSVGNumber : public DOMObjectWithSVGContext {
+ typedef DOMObjectWithSVGContext Base;
public:
- JSSVGNumber(PassRefPtr<JSC::Structure>, PassRefPtr<JSSVGPODTypeWrapper<float> >, SVGElement* context);
+ JSSVGNumber(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<JSSVGPODTypeWrapper<float> >, SVGElement* context);
virtual ~JSSVGNumber();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -47,15 +48,13 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- JSSVGPODTypeWrapper<float>* impl() const { return m_impl.get(); }
- SVGElement* context() const { return m_context.get(); }
+ JSSVGPODTypeWrapper<float> * impl() const { return m_impl.get(); }
private:
- RefPtr<SVGElement> m_context;
RefPtr<JSSVGPODTypeWrapper<float> > m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, JSSVGPODTypeWrapper<float>*, SVGElement* context);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, JSSVGPODTypeWrapper<float>*, SVGElement* context);
float toSVGNumber(JSC::JSValue);
class JSSVGNumberPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGNumberList.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGNumberList.cpp
index 28fd4bc..8a635dd 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGNumberList.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGNumberList.cpp
@@ -44,7 +44,7 @@ static const HashTableValue JSSVGNumberListTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGNumberListTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGNumberListTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGNumberListTableValues, 0 };
#else
@@ -65,7 +65,7 @@ static const HashTableValue JSSVGNumberListPrototypeTableValues[8] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGNumberListPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGNumberListPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 63, JSSVGNumberListPrototypeTableValues, 0 };
#else
@@ -86,9 +86,8 @@ bool JSSVGNumberListPrototype::getOwnPropertySlot(ExecState* exec, const Identif
const ClassInfo JSSVGNumberList::s_info = { "SVGNumberList", 0, &JSSVGNumberListTable, 0 };
-JSSVGNumberList::JSSVGNumberList(PassRefPtr<Structure> structure, PassRefPtr<SVGNumberList> impl, SVGElement* context)
- : DOMObject(structure)
- , m_context(context)
+JSSVGNumberList::JSSVGNumberList(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGNumberList> impl, SVGElement* context)
+ : DOMObjectWithSVGContext(structure, globalObject, context)
, m_impl(impl)
{
}
@@ -110,8 +109,9 @@ bool JSSVGNumberList::getOwnPropertySlot(ExecState* exec, const Identifier& prop
JSValue jsSVGNumberListNumberOfItems(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGNumberList* castedThis = static_cast<JSSVGNumberList*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGNumberList* imp = static_cast<SVGNumberList*>(static_cast<JSSVGNumberList*>(asObject(slot.slotBase()))->impl());
+ SVGNumberList* imp = static_cast<SVGNumberList*>(castedThis->impl());
return jsNumber(exec, imp->numberOfItems());
}
@@ -140,7 +140,7 @@ JSValue JSC_HOST_CALL jsSVGNumberListPrototypeFunctionInitialize(ExecState* exec
float item = args.at(0).toFloat(exec);
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<float>::create(imp->initialize(item, ec)).get(), castedThisObj->context());
+ JSC::JSValue result = toJS(exec, deprecatedGlobalObjectForPrototype(exec), JSSVGStaticPODTypeWrapper<float>::create(imp->initialize(item, ec)).get(), castedThisObj->context());
setDOMException(exec, ec);
return result;
}
@@ -156,7 +156,7 @@ JSValue JSC_HOST_CALL jsSVGNumberListPrototypeFunctionGetItem(ExecState* exec, J
unsigned index = args.at(0).toInt32(exec);
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<float>::create(imp->getItem(index, ec)).get(), castedThisObj->context());
+ JSC::JSValue result = toJS(exec, deprecatedGlobalObjectForPrototype(exec), JSSVGStaticPODTypeWrapper<float>::create(imp->getItem(index, ec)).get(), castedThisObj->context());
setDOMException(exec, ec);
return result;
}
@@ -173,7 +173,7 @@ JSValue JSC_HOST_CALL jsSVGNumberListPrototypeFunctionInsertItemBefore(ExecState
unsigned index = args.at(1).toInt32(exec);
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<float>::create(imp->insertItemBefore(item, index, ec)).get(), castedThisObj->context());
+ JSC::JSValue result = toJS(exec, deprecatedGlobalObjectForPrototype(exec), JSSVGStaticPODTypeWrapper<float>::create(imp->insertItemBefore(item, index, ec)).get(), castedThisObj->context());
setDOMException(exec, ec);
return result;
}
@@ -190,7 +190,7 @@ JSValue JSC_HOST_CALL jsSVGNumberListPrototypeFunctionReplaceItem(ExecState* exe
unsigned index = args.at(1).toInt32(exec);
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<float>::create(imp->replaceItem(item, index, ec)).get(), castedThisObj->context());
+ JSC::JSValue result = toJS(exec, deprecatedGlobalObjectForPrototype(exec), JSSVGStaticPODTypeWrapper<float>::create(imp->replaceItem(item, index, ec)).get(), castedThisObj->context());
setDOMException(exec, ec);
return result;
}
@@ -206,7 +206,7 @@ JSValue JSC_HOST_CALL jsSVGNumberListPrototypeFunctionRemoveItem(ExecState* exec
unsigned index = args.at(0).toInt32(exec);
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<float>::create(imp->removeItem(index, ec)).get(), castedThisObj->context());
+ JSC::JSValue result = toJS(exec, deprecatedGlobalObjectForPrototype(exec), JSSVGStaticPODTypeWrapper<float>::create(imp->removeItem(index, ec)).get(), castedThisObj->context());
setDOMException(exec, ec);
return result;
}
@@ -222,14 +222,14 @@ JSValue JSC_HOST_CALL jsSVGNumberListPrototypeFunctionAppendItem(ExecState* exec
float item = args.at(0).toFloat(exec);
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<float>::create(imp->appendItem(item, ec)).get(), castedThisObj->context());
+ JSC::JSValue result = toJS(exec, deprecatedGlobalObjectForPrototype(exec), JSSVGStaticPODTypeWrapper<float>::create(imp->appendItem(item, ec)).get(), castedThisObj->context());
setDOMException(exec, ec);
return result;
}
-JSC::JSValue toJS(JSC::ExecState* exec, SVGNumberList* object, SVGElement* context)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, SVGNumberList* object, SVGElement* context)
{
- return getDOMObjectWrapper<JSSVGNumberList>(exec, object, context);
+ return getDOMObjectWrapper<JSSVGNumberList>(exec, globalObject, object, context);
}
SVGNumberList* toSVGNumberList(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGNumberList.h b/src/3rdparty/webkit/WebCore/generated/JSSVGNumberList.h
index 3eb5ece..9e7b0b5 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGNumberList.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGNumberList.h
@@ -23,6 +23,7 @@
#if ENABLE(SVG)
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include "SVGElement.h"
#include <runtime/JSGlobalObject.h>
@@ -32,10 +33,10 @@ namespace WebCore {
class SVGNumberList;
-class JSSVGNumberList : public DOMObject {
- typedef DOMObject Base;
+class JSSVGNumberList : public DOMObjectWithSVGContext {
+ typedef DOMObjectWithSVGContext Base;
public:
- JSSVGNumberList(PassRefPtr<JSC::Structure>, PassRefPtr<SVGNumberList>, SVGElement* context);
+ JSSVGNumberList(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGNumberList>, SVGElement* context);
virtual ~JSSVGNumberList();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -48,14 +49,12 @@ public:
}
SVGNumberList* impl() const { return m_impl.get(); }
- SVGElement* context() const { return m_context.get(); }
private:
- RefPtr<SVGElement> m_context;
- RefPtr<SVGNumberList > m_impl;
+ RefPtr<SVGNumberList> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, SVGNumberList*, SVGElement* context);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, SVGNumberList*, SVGElement* context);
SVGNumberList* toSVGNumberList(JSC::JSValue);
class JSSVGNumberListPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPaint.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGPaint.cpp
index 8bfddc2..732860a 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGPaint.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPaint.cpp
@@ -47,7 +47,7 @@ static const HashTableValue JSSVGPaintTableValues[4] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGPaintTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGPaintTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 31, JSSVGPaintTableValues, 0 };
#else
@@ -71,19 +71,19 @@ static const HashTableValue JSSVGPaintConstructorTableValues[11] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGPaintConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGPaintConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 4095, JSSVGPaintConstructorTableValues, 0 };
#else
{ 35, 31, JSSVGPaintConstructorTableValues, 0 };
#endif
-class JSSVGPaintConstructor : public DOMObject {
+class JSSVGPaintConstructor : public DOMConstructorObject {
public:
- JSSVGPaintConstructor(ExecState* exec)
- : DOMObject(JSSVGPaintConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSSVGPaintConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSSVGPaintConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSSVGPaintPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSSVGPaintPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -121,7 +121,7 @@ static const HashTableValue JSSVGPaintPrototypeTableValues[13] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGPaintPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGPaintPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 4095, JSSVGPaintPrototypeTableValues, 0 };
#else
@@ -142,8 +142,8 @@ bool JSSVGPaintPrototype::getOwnPropertySlot(ExecState* exec, const Identifier&
const ClassInfo JSSVGPaint::s_info = { "SVGPaint", &JSSVGColor::s_info, &JSSVGPaintTable, 0 };
-JSSVGPaint::JSSVGPaint(PassRefPtr<Structure> structure, PassRefPtr<SVGPaint> impl)
- : JSSVGColor(structure, impl)
+JSSVGPaint::JSSVGPaint(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGPaint> impl)
+ : JSSVGColor(structure, globalObject, impl)
{
}
@@ -159,25 +159,28 @@ bool JSSVGPaint::getOwnPropertySlot(ExecState* exec, const Identifier& propertyN
JSValue jsSVGPaintPaintType(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPaint* castedThis = static_cast<JSSVGPaint*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPaint* imp = static_cast<SVGPaint*>(static_cast<JSSVGPaint*>(asObject(slot.slotBase()))->impl());
+ SVGPaint* imp = static_cast<SVGPaint*>(castedThis->impl());
return jsNumber(exec, imp->paintType());
}
JSValue jsSVGPaintUri(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPaint* castedThis = static_cast<JSSVGPaint*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPaint* imp = static_cast<SVGPaint*>(static_cast<JSSVGPaint*>(asObject(slot.slotBase()))->impl());
+ SVGPaint* imp = static_cast<SVGPaint*>(castedThis->impl());
return jsString(exec, imp->uri());
}
JSValue jsSVGPaintConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSSVGPaint*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSSVGPaint* domObject = static_cast<JSSVGPaint*>(asObject(slot.slotBase()));
+ return JSSVGPaint::getConstructor(exec, domObject->globalObject());
}
-JSValue JSSVGPaint::getConstructor(ExecState* exec)
+JSValue JSSVGPaint::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSSVGPaintConstructor>(exec);
+ return getDOMConstructor<JSSVGPaintConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsSVGPaintPrototypeFunctionSetUri(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPaint.h b/src/3rdparty/webkit/WebCore/generated/JSSVGPaint.h
index 495c5dd..a751b9d 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGPaint.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPaint.h
@@ -33,7 +33,7 @@ class SVGPaint;
class JSSVGPaint : public JSSVGColor {
typedef JSSVGColor Base;
public:
- JSSVGPaint(PassRefPtr<JSC::Structure>, PassRefPtr<SVGPaint>);
+ JSSVGPaint(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGPaint>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
@@ -44,7 +44,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGPathElement.cpp
index 0855624..fd5c679 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathElement.cpp
@@ -107,7 +107,7 @@ static const HashTableValue JSSVGPathElementTableValues[17] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGPathElementTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGPathElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 255, JSSVGPathElementTableValues, 0 };
#else
@@ -149,7 +149,7 @@ static const HashTableValue JSSVGPathElementPrototypeTableValues[29] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGPathElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGPathElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 2047, JSSVGPathElementPrototypeTableValues, 0 };
#else
@@ -170,8 +170,8 @@ bool JSSVGPathElementPrototype::getOwnPropertySlot(ExecState* exec, const Identi
const ClassInfo JSSVGPathElement::s_info = { "SVGPathElement", &JSSVGElement::s_info, &JSSVGPathElementTable, 0 };
-JSSVGPathElement::JSSVGPathElement(PassRefPtr<Structure> structure, PassRefPtr<SVGPathElement> impl)
- : JSSVGElement(structure, impl)
+JSSVGPathElement::JSSVGPathElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGPathElement> impl)
+ : JSSVGElement(structure, globalObject, impl)
{
}
@@ -187,118 +187,134 @@ bool JSSVGPathElement::getOwnPropertySlot(ExecState* exec, const Identifier& pro
JSValue jsSVGPathElementPathLength(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathElement* castedThis = static_cast<JSSVGPathElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathElement* imp = static_cast<SVGPathElement*>(static_cast<JSSVGPathElement*>(asObject(slot.slotBase()))->impl());
+ SVGPathElement* imp = static_cast<SVGPathElement*>(castedThis->impl());
RefPtr<SVGAnimatedNumber> obj = imp->pathLengthAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGPathElementRequiredFeatures(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathElement* castedThis = static_cast<JSSVGPathElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathElement* imp = static_cast<SVGPathElement*>(static_cast<JSSVGPathElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->requiredFeatures()), imp);
+ SVGPathElement* imp = static_cast<SVGPathElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->requiredFeatures()), imp);
}
JSValue jsSVGPathElementRequiredExtensions(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathElement* castedThis = static_cast<JSSVGPathElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathElement* imp = static_cast<SVGPathElement*>(static_cast<JSSVGPathElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->requiredExtensions()), imp);
+ SVGPathElement* imp = static_cast<SVGPathElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->requiredExtensions()), imp);
}
JSValue jsSVGPathElementSystemLanguage(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathElement* castedThis = static_cast<JSSVGPathElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathElement* imp = static_cast<SVGPathElement*>(static_cast<JSSVGPathElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->systemLanguage()), imp);
+ SVGPathElement* imp = static_cast<SVGPathElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->systemLanguage()), imp);
}
JSValue jsSVGPathElementXmllang(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathElement* castedThis = static_cast<JSSVGPathElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathElement* imp = static_cast<SVGPathElement*>(static_cast<JSSVGPathElement*>(asObject(slot.slotBase()))->impl());
+ SVGPathElement* imp = static_cast<SVGPathElement*>(castedThis->impl());
return jsString(exec, imp->xmllang());
}
JSValue jsSVGPathElementXmlspace(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathElement* castedThis = static_cast<JSSVGPathElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathElement* imp = static_cast<SVGPathElement*>(static_cast<JSSVGPathElement*>(asObject(slot.slotBase()))->impl());
+ SVGPathElement* imp = static_cast<SVGPathElement*>(castedThis->impl());
return jsString(exec, imp->xmlspace());
}
JSValue jsSVGPathElementExternalResourcesRequired(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathElement* castedThis = static_cast<JSSVGPathElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathElement* imp = static_cast<SVGPathElement*>(static_cast<JSSVGPathElement*>(asObject(slot.slotBase()))->impl());
+ SVGPathElement* imp = static_cast<SVGPathElement*>(castedThis->impl());
RefPtr<SVGAnimatedBoolean> obj = imp->externalResourcesRequiredAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGPathElementClassName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathElement* castedThis = static_cast<JSSVGPathElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathElement* imp = static_cast<SVGPathElement*>(static_cast<JSSVGPathElement*>(asObject(slot.slotBase()))->impl());
+ SVGPathElement* imp = static_cast<SVGPathElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->classNameAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGPathElementStyle(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathElement* castedThis = static_cast<JSSVGPathElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathElement* imp = static_cast<SVGPathElement*>(static_cast<JSSVGPathElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->style()));
+ SVGPathElement* imp = static_cast<SVGPathElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->style()));
}
JSValue jsSVGPathElementTransform(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathElement* castedThis = static_cast<JSSVGPathElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathElement* imp = static_cast<SVGPathElement*>(static_cast<JSSVGPathElement*>(asObject(slot.slotBase()))->impl());
+ SVGPathElement* imp = static_cast<SVGPathElement*>(castedThis->impl());
RefPtr<SVGAnimatedTransformList> obj = imp->transformAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGPathElementNearestViewportElement(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathElement* castedThis = static_cast<JSSVGPathElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathElement* imp = static_cast<SVGPathElement*>(static_cast<JSSVGPathElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->nearestViewportElement()));
+ SVGPathElement* imp = static_cast<SVGPathElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->nearestViewportElement()));
}
JSValue jsSVGPathElementFarthestViewportElement(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathElement* castedThis = static_cast<JSSVGPathElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathElement* imp = static_cast<SVGPathElement*>(static_cast<JSSVGPathElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->farthestViewportElement()));
+ SVGPathElement* imp = static_cast<SVGPathElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->farthestViewportElement()));
}
JSValue jsSVGPathElementPathSegList(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathElement* castedThis = static_cast<JSSVGPathElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathElement* imp = static_cast<SVGPathElement*>(static_cast<JSSVGPathElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->pathSegList()), imp);
+ SVGPathElement* imp = static_cast<SVGPathElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->pathSegList()), imp);
}
JSValue jsSVGPathElementNormalizedPathSegList(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathElement* castedThis = static_cast<JSSVGPathElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathElement* imp = static_cast<SVGPathElement*>(static_cast<JSSVGPathElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->normalizedPathSegList()), imp);
+ SVGPathElement* imp = static_cast<SVGPathElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->normalizedPathSegList()), imp);
}
JSValue jsSVGPathElementAnimatedPathSegList(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathElement* castedThis = static_cast<JSSVGPathElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathElement* imp = static_cast<SVGPathElement*>(static_cast<JSSVGPathElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->animatedPathSegList()), imp);
+ SVGPathElement* imp = static_cast<SVGPathElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->animatedPathSegList()), imp);
}
JSValue jsSVGPathElementAnimatedNormalizedPathSegList(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathElement* castedThis = static_cast<JSSVGPathElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathElement* imp = static_cast<SVGPathElement*>(static_cast<JSSVGPathElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->animatedNormalizedPathSegList()), imp);
+ SVGPathElement* imp = static_cast<SVGPathElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->animatedNormalizedPathSegList()), imp);
}
void JSSVGPathElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
@@ -341,7 +357,7 @@ JSValue JSC_HOST_CALL jsSVGPathElementPrototypeFunctionGetPointAtLength(ExecStat
float distance = args.at(0).toFloat(exec);
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<FloatPoint>::create(imp->getPointAtLength(distance)).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<FloatPoint>::create(imp->getPointAtLength(distance)).get(), imp);
return result;
}
@@ -368,7 +384,7 @@ JSValue JSC_HOST_CALL jsSVGPathElementPrototypeFunctionCreateSVGPathSegClosePath
SVGPathElement* imp = static_cast<SVGPathElement*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->createSVGPathSegClosePath()), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->createSVGPathSegClosePath()), imp);
return result;
}
@@ -383,7 +399,7 @@ JSValue JSC_HOST_CALL jsSVGPathElementPrototypeFunctionCreateSVGPathSegMovetoAbs
float y = args.at(1).toFloat(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->createSVGPathSegMovetoAbs(x, y)), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->createSVGPathSegMovetoAbs(x, y)), imp);
return result;
}
@@ -398,7 +414,7 @@ JSValue JSC_HOST_CALL jsSVGPathElementPrototypeFunctionCreateSVGPathSegMovetoRel
float y = args.at(1).toFloat(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->createSVGPathSegMovetoRel(x, y)), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->createSVGPathSegMovetoRel(x, y)), imp);
return result;
}
@@ -413,7 +429,7 @@ JSValue JSC_HOST_CALL jsSVGPathElementPrototypeFunctionCreateSVGPathSegLinetoAbs
float y = args.at(1).toFloat(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->createSVGPathSegLinetoAbs(x, y)), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->createSVGPathSegLinetoAbs(x, y)), imp);
return result;
}
@@ -428,7 +444,7 @@ JSValue JSC_HOST_CALL jsSVGPathElementPrototypeFunctionCreateSVGPathSegLinetoRel
float y = args.at(1).toFloat(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->createSVGPathSegLinetoRel(x, y)), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->createSVGPathSegLinetoRel(x, y)), imp);
return result;
}
@@ -447,7 +463,7 @@ JSValue JSC_HOST_CALL jsSVGPathElementPrototypeFunctionCreateSVGPathSegCurvetoCu
float y2 = args.at(5).toFloat(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->createSVGPathSegCurvetoCubicAbs(x, y, x1, y1, x2, y2)), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->createSVGPathSegCurvetoCubicAbs(x, y, x1, y1, x2, y2)), imp);
return result;
}
@@ -466,7 +482,7 @@ JSValue JSC_HOST_CALL jsSVGPathElementPrototypeFunctionCreateSVGPathSegCurvetoCu
float y2 = args.at(5).toFloat(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->createSVGPathSegCurvetoCubicRel(x, y, x1, y1, x2, y2)), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->createSVGPathSegCurvetoCubicRel(x, y, x1, y1, x2, y2)), imp);
return result;
}
@@ -483,7 +499,7 @@ JSValue JSC_HOST_CALL jsSVGPathElementPrototypeFunctionCreateSVGPathSegCurvetoQu
float y1 = args.at(3).toFloat(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->createSVGPathSegCurvetoQuadraticAbs(x, y, x1, y1)), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->createSVGPathSegCurvetoQuadraticAbs(x, y, x1, y1)), imp);
return result;
}
@@ -500,7 +516,7 @@ JSValue JSC_HOST_CALL jsSVGPathElementPrototypeFunctionCreateSVGPathSegCurvetoQu
float y1 = args.at(3).toFloat(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->createSVGPathSegCurvetoQuadraticRel(x, y, x1, y1)), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->createSVGPathSegCurvetoQuadraticRel(x, y, x1, y1)), imp);
return result;
}
@@ -520,7 +536,7 @@ JSValue JSC_HOST_CALL jsSVGPathElementPrototypeFunctionCreateSVGPathSegArcAbs(Ex
bool sweepFlag = args.at(6).toBoolean(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->createSVGPathSegArcAbs(x, y, r1, r2, angle, largeArcFlag, sweepFlag)), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->createSVGPathSegArcAbs(x, y, r1, r2, angle, largeArcFlag, sweepFlag)), imp);
return result;
}
@@ -540,7 +556,7 @@ JSValue JSC_HOST_CALL jsSVGPathElementPrototypeFunctionCreateSVGPathSegArcRel(Ex
bool sweepFlag = args.at(6).toBoolean(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->createSVGPathSegArcRel(x, y, r1, r2, angle, largeArcFlag, sweepFlag)), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->createSVGPathSegArcRel(x, y, r1, r2, angle, largeArcFlag, sweepFlag)), imp);
return result;
}
@@ -554,7 +570,7 @@ JSValue JSC_HOST_CALL jsSVGPathElementPrototypeFunctionCreateSVGPathSegLinetoHor
float x = args.at(0).toFloat(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->createSVGPathSegLinetoHorizontalAbs(x)), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->createSVGPathSegLinetoHorizontalAbs(x)), imp);
return result;
}
@@ -568,7 +584,7 @@ JSValue JSC_HOST_CALL jsSVGPathElementPrototypeFunctionCreateSVGPathSegLinetoHor
float x = args.at(0).toFloat(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->createSVGPathSegLinetoHorizontalRel(x)), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->createSVGPathSegLinetoHorizontalRel(x)), imp);
return result;
}
@@ -582,7 +598,7 @@ JSValue JSC_HOST_CALL jsSVGPathElementPrototypeFunctionCreateSVGPathSegLinetoVer
float y = args.at(0).toFloat(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->createSVGPathSegLinetoVerticalAbs(y)), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->createSVGPathSegLinetoVerticalAbs(y)), imp);
return result;
}
@@ -596,7 +612,7 @@ JSValue JSC_HOST_CALL jsSVGPathElementPrototypeFunctionCreateSVGPathSegLinetoVer
float y = args.at(0).toFloat(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->createSVGPathSegLinetoVerticalRel(y)), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->createSVGPathSegLinetoVerticalRel(y)), imp);
return result;
}
@@ -613,7 +629,7 @@ JSValue JSC_HOST_CALL jsSVGPathElementPrototypeFunctionCreateSVGPathSegCurvetoCu
float y2 = args.at(3).toFloat(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->createSVGPathSegCurvetoCubicSmoothAbs(x, y, x2, y2)), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->createSVGPathSegCurvetoCubicSmoothAbs(x, y, x2, y2)), imp);
return result;
}
@@ -630,7 +646,7 @@ JSValue JSC_HOST_CALL jsSVGPathElementPrototypeFunctionCreateSVGPathSegCurvetoCu
float y2 = args.at(3).toFloat(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->createSVGPathSegCurvetoCubicSmoothRel(x, y, x2, y2)), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->createSVGPathSegCurvetoCubicSmoothRel(x, y, x2, y2)), imp);
return result;
}
@@ -645,7 +661,7 @@ JSValue JSC_HOST_CALL jsSVGPathElementPrototypeFunctionCreateSVGPathSegCurvetoQu
float y = args.at(1).toFloat(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->createSVGPathSegCurvetoQuadraticSmoothAbs(x, y)), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->createSVGPathSegCurvetoQuadraticSmoothAbs(x, y)), imp);
return result;
}
@@ -660,7 +676,7 @@ JSValue JSC_HOST_CALL jsSVGPathElementPrototypeFunctionCreateSVGPathSegCurvetoQu
float y = args.at(1).toFloat(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->createSVGPathSegCurvetoQuadraticSmoothRel(x, y)), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->createSVGPathSegCurvetoQuadraticSmoothRel(x, y)), imp);
return result;
}
@@ -688,7 +704,7 @@ JSValue JSC_HOST_CALL jsSVGPathElementPrototypeFunctionGetPresentationAttribute(
const UString& name = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getPresentationAttribute(name)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getPresentationAttribute(name)));
return result;
}
@@ -701,7 +717,7 @@ JSValue JSC_HOST_CALL jsSVGPathElementPrototypeFunctionGetBBox(ExecState* exec,
SVGPathElement* imp = static_cast<SVGPathElement*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<FloatRect>::create(imp->getBBox()).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<FloatRect>::create(imp->getBBox()).get(), imp);
return result;
}
@@ -714,7 +730,7 @@ JSValue JSC_HOST_CALL jsSVGPathElementPrototypeFunctionGetCTM(ExecState* exec, J
SVGPathElement* imp = static_cast<SVGPathElement*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getCTM()).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getCTM()).get(), imp);
return result;
}
@@ -727,7 +743,7 @@ JSValue JSC_HOST_CALL jsSVGPathElementPrototypeFunctionGetScreenCTM(ExecState* e
SVGPathElement* imp = static_cast<SVGPathElement*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getScreenCTM()).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getScreenCTM()).get(), imp);
return result;
}
@@ -742,7 +758,7 @@ JSValue JSC_HOST_CALL jsSVGPathElementPrototypeFunctionGetTransformToElement(Exe
SVGElement* element = toSVGElement(args.at(0));
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getTransformToElement(element, ec)).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getTransformToElement(element, ec)).get(), imp);
setDOMException(exec, ec);
return result;
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGPathElement.h
index 62fa439..e96b612 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathElement.h
@@ -33,7 +33,7 @@ class SVGPathElement;
class JSSVGPathElement : public JSSVGElement {
typedef JSSVGElement Base;
public:
- JSSVGPathElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGPathElement>);
+ JSSVGPathElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGPathElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSeg.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSeg.cpp
index 99c580b..04e3078 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSeg.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSeg.cpp
@@ -46,7 +46,7 @@ static const HashTableValue JSSVGPathSegTableValues[4] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGPathSegTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGPathSegTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 7, JSSVGPathSegTableValues, 0 };
#else
@@ -80,19 +80,19 @@ static const HashTableValue JSSVGPathSegConstructorTableValues[21] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGPathSegConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGPathSegConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 2047, JSSVGPathSegConstructorTableValues, 0 };
#else
{ 70, 63, JSSVGPathSegConstructorTableValues, 0 };
#endif
-class JSSVGPathSegConstructor : public DOMObject {
+class JSSVGPathSegConstructor : public DOMConstructorObject {
public:
- JSSVGPathSegConstructor(ExecState* exec)
- : DOMObject(JSSVGPathSegConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSSVGPathSegConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSSVGPathSegConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSSVGPathSegPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSSVGPathSegPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -138,7 +138,7 @@ static const HashTableValue JSSVGPathSegPrototypeTableValues[21] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGPathSegPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGPathSegPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 2047, JSSVGPathSegPrototypeTableValues, 0 };
#else
@@ -159,9 +159,8 @@ bool JSSVGPathSegPrototype::getOwnPropertySlot(ExecState* exec, const Identifier
const ClassInfo JSSVGPathSeg::s_info = { "SVGPathSeg", 0, &JSSVGPathSegTable, 0 };
-JSSVGPathSeg::JSSVGPathSeg(PassRefPtr<Structure> structure, PassRefPtr<SVGPathSeg> impl, SVGElement* context)
- : DOMObject(structure)
- , m_context(context)
+JSSVGPathSeg::JSSVGPathSeg(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGPathSeg> impl, SVGElement* context)
+ : DOMObjectWithSVGContext(structure, globalObject, context)
, m_impl(impl)
{
}
@@ -183,25 +182,28 @@ bool JSSVGPathSeg::getOwnPropertySlot(ExecState* exec, const Identifier& propert
JSValue jsSVGPathSegPathSegType(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSeg* castedThis = static_cast<JSSVGPathSeg*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSeg* imp = static_cast<SVGPathSeg*>(static_cast<JSSVGPathSeg*>(asObject(slot.slotBase()))->impl());
+ SVGPathSeg* imp = static_cast<SVGPathSeg*>(castedThis->impl());
return jsNumber(exec, imp->pathSegType());
}
JSValue jsSVGPathSegPathSegTypeAsLetter(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSeg* castedThis = static_cast<JSSVGPathSeg*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSeg* imp = static_cast<SVGPathSeg*>(static_cast<JSSVGPathSeg*>(asObject(slot.slotBase()))->impl());
+ SVGPathSeg* imp = static_cast<SVGPathSeg*>(castedThis->impl());
return jsString(exec, imp->pathSegTypeAsLetter());
}
JSValue jsSVGPathSegConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSSVGPathSeg*>(asObject(slot.slotBase()))->getConstructor(exec);
+ UNUSED_PARAM(slot);
+ return JSSVGPathSeg::getConstructor(exec, deprecatedGlobalObjectForPrototype(exec));
}
-JSValue JSSVGPathSeg::getConstructor(ExecState* exec)
+JSValue JSSVGPathSeg::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSSVGPathSegConstructor>(exec);
+ return getDOMConstructor<JSSVGPathSegConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
// Constant getters
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSeg.h b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSeg.h
index 7ba6512..7fb1ab4 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSeg.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSeg.h
@@ -23,6 +23,7 @@
#if ENABLE(SVG)
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include "SVGElement.h"
#include <runtime/JSGlobalObject.h>
@@ -32,10 +33,10 @@ namespace WebCore {
class SVGPathSeg;
-class JSSVGPathSeg : public DOMObject {
- typedef DOMObject Base;
+class JSSVGPathSeg : public DOMObjectWithSVGContext {
+ typedef DOMObjectWithSVGContext Base;
public:
- JSSVGPathSeg(PassRefPtr<JSC::Structure>, PassRefPtr<SVGPathSeg>, SVGElement* context);
+ JSSVGPathSeg(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGPathSeg>, SVGElement* context);
virtual ~JSSVGPathSeg();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -47,16 +48,14 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
SVGPathSeg* impl() const { return m_impl.get(); }
- SVGElement* context() const { return m_context.get(); }
private:
- RefPtr<SVGElement> m_context;
- RefPtr<SVGPathSeg > m_impl;
+ RefPtr<SVGPathSeg> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, SVGPathSeg*, SVGElement* context);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, SVGPathSeg*, SVGElement* context);
SVGPathSeg* toSVGPathSeg(JSC::JSValue);
class JSSVGPathSegPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegArcAbs.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegArcAbs.cpp
index f754bf0..1edda2e 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegArcAbs.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegArcAbs.cpp
@@ -48,7 +48,7 @@ static const HashTableValue JSSVGPathSegArcAbsTableValues[8] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGPathSegArcAbsTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGPathSegArcAbsTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSSVGPathSegArcAbsTableValues, 0 };
#else
@@ -62,7 +62,7 @@ static const HashTableValue JSSVGPathSegArcAbsPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGPathSegArcAbsPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGPathSegArcAbsPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGPathSegArcAbsPrototypeTableValues, 0 };
#else
@@ -78,8 +78,8 @@ JSObject* JSSVGPathSegArcAbsPrototype::self(ExecState* exec, JSGlobalObject* glo
const ClassInfo JSSVGPathSegArcAbs::s_info = { "SVGPathSegArcAbs", &JSSVGPathSeg::s_info, &JSSVGPathSegArcAbsTable, 0 };
-JSSVGPathSegArcAbs::JSSVGPathSegArcAbs(PassRefPtr<Structure> structure, PassRefPtr<SVGPathSegArcAbs> impl, SVGElement* context)
- : JSSVGPathSeg(structure, impl, context)
+JSSVGPathSegArcAbs::JSSVGPathSegArcAbs(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGPathSegArcAbs> impl, SVGElement* context)
+ : JSSVGPathSeg(structure, globalObject, impl, context)
{
}
@@ -95,50 +95,57 @@ bool JSSVGPathSegArcAbs::getOwnPropertySlot(ExecState* exec, const Identifier& p
JSValue jsSVGPathSegArcAbsX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSegArcAbs* castedThis = static_cast<JSSVGPathSegArcAbs*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSegArcAbs* imp = static_cast<SVGPathSegArcAbs*>(static_cast<JSSVGPathSegArcAbs*>(asObject(slot.slotBase()))->impl());
+ SVGPathSegArcAbs* imp = static_cast<SVGPathSegArcAbs*>(castedThis->impl());
return jsNumber(exec, imp->x());
}
JSValue jsSVGPathSegArcAbsY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSegArcAbs* castedThis = static_cast<JSSVGPathSegArcAbs*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSegArcAbs* imp = static_cast<SVGPathSegArcAbs*>(static_cast<JSSVGPathSegArcAbs*>(asObject(slot.slotBase()))->impl());
+ SVGPathSegArcAbs* imp = static_cast<SVGPathSegArcAbs*>(castedThis->impl());
return jsNumber(exec, imp->y());
}
JSValue jsSVGPathSegArcAbsR1(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSegArcAbs* castedThis = static_cast<JSSVGPathSegArcAbs*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSegArcAbs* imp = static_cast<SVGPathSegArcAbs*>(static_cast<JSSVGPathSegArcAbs*>(asObject(slot.slotBase()))->impl());
+ SVGPathSegArcAbs* imp = static_cast<SVGPathSegArcAbs*>(castedThis->impl());
return jsNumber(exec, imp->r1());
}
JSValue jsSVGPathSegArcAbsR2(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSegArcAbs* castedThis = static_cast<JSSVGPathSegArcAbs*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSegArcAbs* imp = static_cast<SVGPathSegArcAbs*>(static_cast<JSSVGPathSegArcAbs*>(asObject(slot.slotBase()))->impl());
+ SVGPathSegArcAbs* imp = static_cast<SVGPathSegArcAbs*>(castedThis->impl());
return jsNumber(exec, imp->r2());
}
JSValue jsSVGPathSegArcAbsAngle(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSegArcAbs* castedThis = static_cast<JSSVGPathSegArcAbs*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSegArcAbs* imp = static_cast<SVGPathSegArcAbs*>(static_cast<JSSVGPathSegArcAbs*>(asObject(slot.slotBase()))->impl());
+ SVGPathSegArcAbs* imp = static_cast<SVGPathSegArcAbs*>(castedThis->impl());
return jsNumber(exec, imp->angle());
}
JSValue jsSVGPathSegArcAbsLargeArcFlag(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSegArcAbs* castedThis = static_cast<JSSVGPathSegArcAbs*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSegArcAbs* imp = static_cast<SVGPathSegArcAbs*>(static_cast<JSSVGPathSegArcAbs*>(asObject(slot.slotBase()))->impl());
+ SVGPathSegArcAbs* imp = static_cast<SVGPathSegArcAbs*>(castedThis->impl());
return jsBoolean(imp->largeArcFlag());
}
JSValue jsSVGPathSegArcAbsSweepFlag(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSegArcAbs* castedThis = static_cast<JSSVGPathSegArcAbs*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSegArcAbs* imp = static_cast<SVGPathSegArcAbs*>(static_cast<JSSVGPathSegArcAbs*>(asObject(slot.slotBase()))->impl());
+ SVGPathSegArcAbs* imp = static_cast<SVGPathSegArcAbs*>(castedThis->impl());
return jsBoolean(imp->sweepFlag());
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegArcAbs.h b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegArcAbs.h
index b051822..d91b14a 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegArcAbs.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegArcAbs.h
@@ -33,7 +33,7 @@ class SVGPathSegArcAbs;
class JSSVGPathSegArcAbs : public JSSVGPathSeg {
typedef JSSVGPathSeg Base;
public:
- JSSVGPathSegArcAbs(PassRefPtr<JSC::Structure>, PassRefPtr<SVGPathSegArcAbs>, SVGElement* context);
+ JSSVGPathSegArcAbs(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGPathSegArcAbs>, SVGElement* context);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegArcRel.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegArcRel.cpp
index 70a23c5..0c5bc66 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegArcRel.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegArcRel.cpp
@@ -48,7 +48,7 @@ static const HashTableValue JSSVGPathSegArcRelTableValues[8] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGPathSegArcRelTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGPathSegArcRelTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSSVGPathSegArcRelTableValues, 0 };
#else
@@ -62,7 +62,7 @@ static const HashTableValue JSSVGPathSegArcRelPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGPathSegArcRelPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGPathSegArcRelPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGPathSegArcRelPrototypeTableValues, 0 };
#else
@@ -78,8 +78,8 @@ JSObject* JSSVGPathSegArcRelPrototype::self(ExecState* exec, JSGlobalObject* glo
const ClassInfo JSSVGPathSegArcRel::s_info = { "SVGPathSegArcRel", &JSSVGPathSeg::s_info, &JSSVGPathSegArcRelTable, 0 };
-JSSVGPathSegArcRel::JSSVGPathSegArcRel(PassRefPtr<Structure> structure, PassRefPtr<SVGPathSegArcRel> impl, SVGElement* context)
- : JSSVGPathSeg(structure, impl, context)
+JSSVGPathSegArcRel::JSSVGPathSegArcRel(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGPathSegArcRel> impl, SVGElement* context)
+ : JSSVGPathSeg(structure, globalObject, impl, context)
{
}
@@ -95,50 +95,57 @@ bool JSSVGPathSegArcRel::getOwnPropertySlot(ExecState* exec, const Identifier& p
JSValue jsSVGPathSegArcRelX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSegArcRel* castedThis = static_cast<JSSVGPathSegArcRel*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSegArcRel* imp = static_cast<SVGPathSegArcRel*>(static_cast<JSSVGPathSegArcRel*>(asObject(slot.slotBase()))->impl());
+ SVGPathSegArcRel* imp = static_cast<SVGPathSegArcRel*>(castedThis->impl());
return jsNumber(exec, imp->x());
}
JSValue jsSVGPathSegArcRelY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSegArcRel* castedThis = static_cast<JSSVGPathSegArcRel*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSegArcRel* imp = static_cast<SVGPathSegArcRel*>(static_cast<JSSVGPathSegArcRel*>(asObject(slot.slotBase()))->impl());
+ SVGPathSegArcRel* imp = static_cast<SVGPathSegArcRel*>(castedThis->impl());
return jsNumber(exec, imp->y());
}
JSValue jsSVGPathSegArcRelR1(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSegArcRel* castedThis = static_cast<JSSVGPathSegArcRel*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSegArcRel* imp = static_cast<SVGPathSegArcRel*>(static_cast<JSSVGPathSegArcRel*>(asObject(slot.slotBase()))->impl());
+ SVGPathSegArcRel* imp = static_cast<SVGPathSegArcRel*>(castedThis->impl());
return jsNumber(exec, imp->r1());
}
JSValue jsSVGPathSegArcRelR2(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSegArcRel* castedThis = static_cast<JSSVGPathSegArcRel*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSegArcRel* imp = static_cast<SVGPathSegArcRel*>(static_cast<JSSVGPathSegArcRel*>(asObject(slot.slotBase()))->impl());
+ SVGPathSegArcRel* imp = static_cast<SVGPathSegArcRel*>(castedThis->impl());
return jsNumber(exec, imp->r2());
}
JSValue jsSVGPathSegArcRelAngle(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSegArcRel* castedThis = static_cast<JSSVGPathSegArcRel*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSegArcRel* imp = static_cast<SVGPathSegArcRel*>(static_cast<JSSVGPathSegArcRel*>(asObject(slot.slotBase()))->impl());
+ SVGPathSegArcRel* imp = static_cast<SVGPathSegArcRel*>(castedThis->impl());
return jsNumber(exec, imp->angle());
}
JSValue jsSVGPathSegArcRelLargeArcFlag(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSegArcRel* castedThis = static_cast<JSSVGPathSegArcRel*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSegArcRel* imp = static_cast<SVGPathSegArcRel*>(static_cast<JSSVGPathSegArcRel*>(asObject(slot.slotBase()))->impl());
+ SVGPathSegArcRel* imp = static_cast<SVGPathSegArcRel*>(castedThis->impl());
return jsBoolean(imp->largeArcFlag());
}
JSValue jsSVGPathSegArcRelSweepFlag(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSegArcRel* castedThis = static_cast<JSSVGPathSegArcRel*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSegArcRel* imp = static_cast<SVGPathSegArcRel*>(static_cast<JSSVGPathSegArcRel*>(asObject(slot.slotBase()))->impl());
+ SVGPathSegArcRel* imp = static_cast<SVGPathSegArcRel*>(castedThis->impl());
return jsBoolean(imp->sweepFlag());
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegArcRel.h b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegArcRel.h
index 22028d2..4bb6d0a 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegArcRel.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegArcRel.h
@@ -33,7 +33,7 @@ class SVGPathSegArcRel;
class JSSVGPathSegArcRel : public JSSVGPathSeg {
typedef JSSVGPathSeg Base;
public:
- JSSVGPathSegArcRel(PassRefPtr<JSC::Structure>, PassRefPtr<SVGPathSegArcRel>, SVGElement* context);
+ JSSVGPathSegArcRel(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGPathSegArcRel>, SVGElement* context);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegClosePath.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegClosePath.cpp
index 1270ef2..bb220e4 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegClosePath.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegClosePath.cpp
@@ -40,7 +40,7 @@ static const HashTableValue JSSVGPathSegClosePathPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGPathSegClosePathPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGPathSegClosePathPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGPathSegClosePathPrototypeTableValues, 0 };
#else
@@ -56,8 +56,8 @@ JSObject* JSSVGPathSegClosePathPrototype::self(ExecState* exec, JSGlobalObject*
const ClassInfo JSSVGPathSegClosePath::s_info = { "SVGPathSegClosePath", &JSSVGPathSeg::s_info, 0, 0 };
-JSSVGPathSegClosePath::JSSVGPathSegClosePath(PassRefPtr<Structure> structure, PassRefPtr<SVGPathSegClosePath> impl, SVGElement* context)
- : JSSVGPathSeg(structure, impl, context)
+JSSVGPathSegClosePath::JSSVGPathSegClosePath(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGPathSegClosePath> impl, SVGElement* context)
+ : JSSVGPathSeg(structure, globalObject, impl, context)
{
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegClosePath.h b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegClosePath.h
index 749eab1..8a44528 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegClosePath.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegClosePath.h
@@ -33,7 +33,7 @@ class SVGPathSegClosePath;
class JSSVGPathSegClosePath : public JSSVGPathSeg {
typedef JSSVGPathSeg Base;
public:
- JSSVGPathSegClosePath(PassRefPtr<JSC::Structure>, PassRefPtr<SVGPathSegClosePath>, SVGElement* context);
+ JSSVGPathSegClosePath(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGPathSegClosePath>, SVGElement* context);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
static const JSC::ClassInfo s_info;
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicAbs.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicAbs.cpp
index a33c4bc..012e821 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicAbs.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicAbs.cpp
@@ -47,7 +47,7 @@ static const HashTableValue JSSVGPathSegCurvetoCubicAbsTableValues[7] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGPathSegCurvetoCubicAbsTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGPathSegCurvetoCubicAbsTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 7, JSSVGPathSegCurvetoCubicAbsTableValues, 0 };
#else
@@ -61,7 +61,7 @@ static const HashTableValue JSSVGPathSegCurvetoCubicAbsPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGPathSegCurvetoCubicAbsPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGPathSegCurvetoCubicAbsPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGPathSegCurvetoCubicAbsPrototypeTableValues, 0 };
#else
@@ -77,8 +77,8 @@ JSObject* JSSVGPathSegCurvetoCubicAbsPrototype::self(ExecState* exec, JSGlobalOb
const ClassInfo JSSVGPathSegCurvetoCubicAbs::s_info = { "SVGPathSegCurvetoCubicAbs", &JSSVGPathSeg::s_info, &JSSVGPathSegCurvetoCubicAbsTable, 0 };
-JSSVGPathSegCurvetoCubicAbs::JSSVGPathSegCurvetoCubicAbs(PassRefPtr<Structure> structure, PassRefPtr<SVGPathSegCurvetoCubicAbs> impl, SVGElement* context)
- : JSSVGPathSeg(structure, impl, context)
+JSSVGPathSegCurvetoCubicAbs::JSSVGPathSegCurvetoCubicAbs(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGPathSegCurvetoCubicAbs> impl, SVGElement* context)
+ : JSSVGPathSeg(structure, globalObject, impl, context)
{
}
@@ -94,43 +94,49 @@ bool JSSVGPathSegCurvetoCubicAbs::getOwnPropertySlot(ExecState* exec, const Iden
JSValue jsSVGPathSegCurvetoCubicAbsX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSegCurvetoCubicAbs* castedThis = static_cast<JSSVGPathSegCurvetoCubicAbs*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSegCurvetoCubicAbs* imp = static_cast<SVGPathSegCurvetoCubicAbs*>(static_cast<JSSVGPathSegCurvetoCubicAbs*>(asObject(slot.slotBase()))->impl());
+ SVGPathSegCurvetoCubicAbs* imp = static_cast<SVGPathSegCurvetoCubicAbs*>(castedThis->impl());
return jsNumber(exec, imp->x());
}
JSValue jsSVGPathSegCurvetoCubicAbsY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSegCurvetoCubicAbs* castedThis = static_cast<JSSVGPathSegCurvetoCubicAbs*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSegCurvetoCubicAbs* imp = static_cast<SVGPathSegCurvetoCubicAbs*>(static_cast<JSSVGPathSegCurvetoCubicAbs*>(asObject(slot.slotBase()))->impl());
+ SVGPathSegCurvetoCubicAbs* imp = static_cast<SVGPathSegCurvetoCubicAbs*>(castedThis->impl());
return jsNumber(exec, imp->y());
}
JSValue jsSVGPathSegCurvetoCubicAbsX1(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSegCurvetoCubicAbs* castedThis = static_cast<JSSVGPathSegCurvetoCubicAbs*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSegCurvetoCubicAbs* imp = static_cast<SVGPathSegCurvetoCubicAbs*>(static_cast<JSSVGPathSegCurvetoCubicAbs*>(asObject(slot.slotBase()))->impl());
+ SVGPathSegCurvetoCubicAbs* imp = static_cast<SVGPathSegCurvetoCubicAbs*>(castedThis->impl());
return jsNumber(exec, imp->x1());
}
JSValue jsSVGPathSegCurvetoCubicAbsY1(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSegCurvetoCubicAbs* castedThis = static_cast<JSSVGPathSegCurvetoCubicAbs*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSegCurvetoCubicAbs* imp = static_cast<SVGPathSegCurvetoCubicAbs*>(static_cast<JSSVGPathSegCurvetoCubicAbs*>(asObject(slot.slotBase()))->impl());
+ SVGPathSegCurvetoCubicAbs* imp = static_cast<SVGPathSegCurvetoCubicAbs*>(castedThis->impl());
return jsNumber(exec, imp->y1());
}
JSValue jsSVGPathSegCurvetoCubicAbsX2(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSegCurvetoCubicAbs* castedThis = static_cast<JSSVGPathSegCurvetoCubicAbs*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSegCurvetoCubicAbs* imp = static_cast<SVGPathSegCurvetoCubicAbs*>(static_cast<JSSVGPathSegCurvetoCubicAbs*>(asObject(slot.slotBase()))->impl());
+ SVGPathSegCurvetoCubicAbs* imp = static_cast<SVGPathSegCurvetoCubicAbs*>(castedThis->impl());
return jsNumber(exec, imp->x2());
}
JSValue jsSVGPathSegCurvetoCubicAbsY2(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSegCurvetoCubicAbs* castedThis = static_cast<JSSVGPathSegCurvetoCubicAbs*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSegCurvetoCubicAbs* imp = static_cast<SVGPathSegCurvetoCubicAbs*>(static_cast<JSSVGPathSegCurvetoCubicAbs*>(asObject(slot.slotBase()))->impl());
+ SVGPathSegCurvetoCubicAbs* imp = static_cast<SVGPathSegCurvetoCubicAbs*>(castedThis->impl());
return jsNumber(exec, imp->y2());
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicAbs.h b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicAbs.h
index 7ffb1a0..e53a208 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicAbs.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicAbs.h
@@ -33,7 +33,7 @@ class SVGPathSegCurvetoCubicAbs;
class JSSVGPathSegCurvetoCubicAbs : public JSSVGPathSeg {
typedef JSSVGPathSeg Base;
public:
- JSSVGPathSegCurvetoCubicAbs(PassRefPtr<JSC::Structure>, PassRefPtr<SVGPathSegCurvetoCubicAbs>, SVGElement* context);
+ JSSVGPathSegCurvetoCubicAbs(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGPathSegCurvetoCubicAbs>, SVGElement* context);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicRel.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicRel.cpp
index f6c6ad4..c2b5c9b 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicRel.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicRel.cpp
@@ -47,7 +47,7 @@ static const HashTableValue JSSVGPathSegCurvetoCubicRelTableValues[7] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGPathSegCurvetoCubicRelTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGPathSegCurvetoCubicRelTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 7, JSSVGPathSegCurvetoCubicRelTableValues, 0 };
#else
@@ -61,7 +61,7 @@ static const HashTableValue JSSVGPathSegCurvetoCubicRelPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGPathSegCurvetoCubicRelPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGPathSegCurvetoCubicRelPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGPathSegCurvetoCubicRelPrototypeTableValues, 0 };
#else
@@ -77,8 +77,8 @@ JSObject* JSSVGPathSegCurvetoCubicRelPrototype::self(ExecState* exec, JSGlobalOb
const ClassInfo JSSVGPathSegCurvetoCubicRel::s_info = { "SVGPathSegCurvetoCubicRel", &JSSVGPathSeg::s_info, &JSSVGPathSegCurvetoCubicRelTable, 0 };
-JSSVGPathSegCurvetoCubicRel::JSSVGPathSegCurvetoCubicRel(PassRefPtr<Structure> structure, PassRefPtr<SVGPathSegCurvetoCubicRel> impl, SVGElement* context)
- : JSSVGPathSeg(structure, impl, context)
+JSSVGPathSegCurvetoCubicRel::JSSVGPathSegCurvetoCubicRel(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGPathSegCurvetoCubicRel> impl, SVGElement* context)
+ : JSSVGPathSeg(structure, globalObject, impl, context)
{
}
@@ -94,43 +94,49 @@ bool JSSVGPathSegCurvetoCubicRel::getOwnPropertySlot(ExecState* exec, const Iden
JSValue jsSVGPathSegCurvetoCubicRelX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSegCurvetoCubicRel* castedThis = static_cast<JSSVGPathSegCurvetoCubicRel*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSegCurvetoCubicRel* imp = static_cast<SVGPathSegCurvetoCubicRel*>(static_cast<JSSVGPathSegCurvetoCubicRel*>(asObject(slot.slotBase()))->impl());
+ SVGPathSegCurvetoCubicRel* imp = static_cast<SVGPathSegCurvetoCubicRel*>(castedThis->impl());
return jsNumber(exec, imp->x());
}
JSValue jsSVGPathSegCurvetoCubicRelY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSegCurvetoCubicRel* castedThis = static_cast<JSSVGPathSegCurvetoCubicRel*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSegCurvetoCubicRel* imp = static_cast<SVGPathSegCurvetoCubicRel*>(static_cast<JSSVGPathSegCurvetoCubicRel*>(asObject(slot.slotBase()))->impl());
+ SVGPathSegCurvetoCubicRel* imp = static_cast<SVGPathSegCurvetoCubicRel*>(castedThis->impl());
return jsNumber(exec, imp->y());
}
JSValue jsSVGPathSegCurvetoCubicRelX1(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSegCurvetoCubicRel* castedThis = static_cast<JSSVGPathSegCurvetoCubicRel*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSegCurvetoCubicRel* imp = static_cast<SVGPathSegCurvetoCubicRel*>(static_cast<JSSVGPathSegCurvetoCubicRel*>(asObject(slot.slotBase()))->impl());
+ SVGPathSegCurvetoCubicRel* imp = static_cast<SVGPathSegCurvetoCubicRel*>(castedThis->impl());
return jsNumber(exec, imp->x1());
}
JSValue jsSVGPathSegCurvetoCubicRelY1(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSegCurvetoCubicRel* castedThis = static_cast<JSSVGPathSegCurvetoCubicRel*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSegCurvetoCubicRel* imp = static_cast<SVGPathSegCurvetoCubicRel*>(static_cast<JSSVGPathSegCurvetoCubicRel*>(asObject(slot.slotBase()))->impl());
+ SVGPathSegCurvetoCubicRel* imp = static_cast<SVGPathSegCurvetoCubicRel*>(castedThis->impl());
return jsNumber(exec, imp->y1());
}
JSValue jsSVGPathSegCurvetoCubicRelX2(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSegCurvetoCubicRel* castedThis = static_cast<JSSVGPathSegCurvetoCubicRel*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSegCurvetoCubicRel* imp = static_cast<SVGPathSegCurvetoCubicRel*>(static_cast<JSSVGPathSegCurvetoCubicRel*>(asObject(slot.slotBase()))->impl());
+ SVGPathSegCurvetoCubicRel* imp = static_cast<SVGPathSegCurvetoCubicRel*>(castedThis->impl());
return jsNumber(exec, imp->x2());
}
JSValue jsSVGPathSegCurvetoCubicRelY2(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSegCurvetoCubicRel* castedThis = static_cast<JSSVGPathSegCurvetoCubicRel*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSegCurvetoCubicRel* imp = static_cast<SVGPathSegCurvetoCubicRel*>(static_cast<JSSVGPathSegCurvetoCubicRel*>(asObject(slot.slotBase()))->impl());
+ SVGPathSegCurvetoCubicRel* imp = static_cast<SVGPathSegCurvetoCubicRel*>(castedThis->impl());
return jsNumber(exec, imp->y2());
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicRel.h b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicRel.h
index 87d358d..0f79a95 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicRel.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicRel.h
@@ -33,7 +33,7 @@ class SVGPathSegCurvetoCubicRel;
class JSSVGPathSegCurvetoCubicRel : public JSSVGPathSeg {
typedef JSSVGPathSeg Base;
public:
- JSSVGPathSegCurvetoCubicRel(PassRefPtr<JSC::Structure>, PassRefPtr<SVGPathSegCurvetoCubicRel>, SVGElement* context);
+ JSSVGPathSegCurvetoCubicRel(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGPathSegCurvetoCubicRel>, SVGElement* context);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicSmoothAbs.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicSmoothAbs.cpp
index 22f8de9..2ac3d0e 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicSmoothAbs.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicSmoothAbs.cpp
@@ -45,7 +45,7 @@ static const HashTableValue JSSVGPathSegCurvetoCubicSmoothAbsTableValues[5] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGPathSegCurvetoCubicSmoothAbsTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGPathSegCurvetoCubicSmoothAbsTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 7, JSSVGPathSegCurvetoCubicSmoothAbsTableValues, 0 };
#else
@@ -59,7 +59,7 @@ static const HashTableValue JSSVGPathSegCurvetoCubicSmoothAbsPrototypeTableValue
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGPathSegCurvetoCubicSmoothAbsPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGPathSegCurvetoCubicSmoothAbsPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGPathSegCurvetoCubicSmoothAbsPrototypeTableValues, 0 };
#else
@@ -75,8 +75,8 @@ JSObject* JSSVGPathSegCurvetoCubicSmoothAbsPrototype::self(ExecState* exec, JSGl
const ClassInfo JSSVGPathSegCurvetoCubicSmoothAbs::s_info = { "SVGPathSegCurvetoCubicSmoothAbs", &JSSVGPathSeg::s_info, &JSSVGPathSegCurvetoCubicSmoothAbsTable, 0 };
-JSSVGPathSegCurvetoCubicSmoothAbs::JSSVGPathSegCurvetoCubicSmoothAbs(PassRefPtr<Structure> structure, PassRefPtr<SVGPathSegCurvetoCubicSmoothAbs> impl, SVGElement* context)
- : JSSVGPathSeg(structure, impl, context)
+JSSVGPathSegCurvetoCubicSmoothAbs::JSSVGPathSegCurvetoCubicSmoothAbs(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGPathSegCurvetoCubicSmoothAbs> impl, SVGElement* context)
+ : JSSVGPathSeg(structure, globalObject, impl, context)
{
}
@@ -92,29 +92,33 @@ bool JSSVGPathSegCurvetoCubicSmoothAbs::getOwnPropertySlot(ExecState* exec, cons
JSValue jsSVGPathSegCurvetoCubicSmoothAbsX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSegCurvetoCubicSmoothAbs* castedThis = static_cast<JSSVGPathSegCurvetoCubicSmoothAbs*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSegCurvetoCubicSmoothAbs* imp = static_cast<SVGPathSegCurvetoCubicSmoothAbs*>(static_cast<JSSVGPathSegCurvetoCubicSmoothAbs*>(asObject(slot.slotBase()))->impl());
+ SVGPathSegCurvetoCubicSmoothAbs* imp = static_cast<SVGPathSegCurvetoCubicSmoothAbs*>(castedThis->impl());
return jsNumber(exec, imp->x());
}
JSValue jsSVGPathSegCurvetoCubicSmoothAbsY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSegCurvetoCubicSmoothAbs* castedThis = static_cast<JSSVGPathSegCurvetoCubicSmoothAbs*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSegCurvetoCubicSmoothAbs* imp = static_cast<SVGPathSegCurvetoCubicSmoothAbs*>(static_cast<JSSVGPathSegCurvetoCubicSmoothAbs*>(asObject(slot.slotBase()))->impl());
+ SVGPathSegCurvetoCubicSmoothAbs* imp = static_cast<SVGPathSegCurvetoCubicSmoothAbs*>(castedThis->impl());
return jsNumber(exec, imp->y());
}
JSValue jsSVGPathSegCurvetoCubicSmoothAbsX2(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSegCurvetoCubicSmoothAbs* castedThis = static_cast<JSSVGPathSegCurvetoCubicSmoothAbs*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSegCurvetoCubicSmoothAbs* imp = static_cast<SVGPathSegCurvetoCubicSmoothAbs*>(static_cast<JSSVGPathSegCurvetoCubicSmoothAbs*>(asObject(slot.slotBase()))->impl());
+ SVGPathSegCurvetoCubicSmoothAbs* imp = static_cast<SVGPathSegCurvetoCubicSmoothAbs*>(castedThis->impl());
return jsNumber(exec, imp->x2());
}
JSValue jsSVGPathSegCurvetoCubicSmoothAbsY2(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSegCurvetoCubicSmoothAbs* castedThis = static_cast<JSSVGPathSegCurvetoCubicSmoothAbs*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSegCurvetoCubicSmoothAbs* imp = static_cast<SVGPathSegCurvetoCubicSmoothAbs*>(static_cast<JSSVGPathSegCurvetoCubicSmoothAbs*>(asObject(slot.slotBase()))->impl());
+ SVGPathSegCurvetoCubicSmoothAbs* imp = static_cast<SVGPathSegCurvetoCubicSmoothAbs*>(castedThis->impl());
return jsNumber(exec, imp->y2());
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicSmoothAbs.h b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicSmoothAbs.h
index 9b4ce0f..b242e39 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicSmoothAbs.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicSmoothAbs.h
@@ -33,7 +33,7 @@ class SVGPathSegCurvetoCubicSmoothAbs;
class JSSVGPathSegCurvetoCubicSmoothAbs : public JSSVGPathSeg {
typedef JSSVGPathSeg Base;
public:
- JSSVGPathSegCurvetoCubicSmoothAbs(PassRefPtr<JSC::Structure>, PassRefPtr<SVGPathSegCurvetoCubicSmoothAbs>, SVGElement* context);
+ JSSVGPathSegCurvetoCubicSmoothAbs(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGPathSegCurvetoCubicSmoothAbs>, SVGElement* context);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicSmoothRel.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicSmoothRel.cpp
index 8608b28..ed122a3 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicSmoothRel.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicSmoothRel.cpp
@@ -45,7 +45,7 @@ static const HashTableValue JSSVGPathSegCurvetoCubicSmoothRelTableValues[5] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGPathSegCurvetoCubicSmoothRelTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGPathSegCurvetoCubicSmoothRelTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 7, JSSVGPathSegCurvetoCubicSmoothRelTableValues, 0 };
#else
@@ -59,7 +59,7 @@ static const HashTableValue JSSVGPathSegCurvetoCubicSmoothRelPrototypeTableValue
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGPathSegCurvetoCubicSmoothRelPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGPathSegCurvetoCubicSmoothRelPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGPathSegCurvetoCubicSmoothRelPrototypeTableValues, 0 };
#else
@@ -75,8 +75,8 @@ JSObject* JSSVGPathSegCurvetoCubicSmoothRelPrototype::self(ExecState* exec, JSGl
const ClassInfo JSSVGPathSegCurvetoCubicSmoothRel::s_info = { "SVGPathSegCurvetoCubicSmoothRel", &JSSVGPathSeg::s_info, &JSSVGPathSegCurvetoCubicSmoothRelTable, 0 };
-JSSVGPathSegCurvetoCubicSmoothRel::JSSVGPathSegCurvetoCubicSmoothRel(PassRefPtr<Structure> structure, PassRefPtr<SVGPathSegCurvetoCubicSmoothRel> impl, SVGElement* context)
- : JSSVGPathSeg(structure, impl, context)
+JSSVGPathSegCurvetoCubicSmoothRel::JSSVGPathSegCurvetoCubicSmoothRel(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGPathSegCurvetoCubicSmoothRel> impl, SVGElement* context)
+ : JSSVGPathSeg(structure, globalObject, impl, context)
{
}
@@ -92,29 +92,33 @@ bool JSSVGPathSegCurvetoCubicSmoothRel::getOwnPropertySlot(ExecState* exec, cons
JSValue jsSVGPathSegCurvetoCubicSmoothRelX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSegCurvetoCubicSmoothRel* castedThis = static_cast<JSSVGPathSegCurvetoCubicSmoothRel*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSegCurvetoCubicSmoothRel* imp = static_cast<SVGPathSegCurvetoCubicSmoothRel*>(static_cast<JSSVGPathSegCurvetoCubicSmoothRel*>(asObject(slot.slotBase()))->impl());
+ SVGPathSegCurvetoCubicSmoothRel* imp = static_cast<SVGPathSegCurvetoCubicSmoothRel*>(castedThis->impl());
return jsNumber(exec, imp->x());
}
JSValue jsSVGPathSegCurvetoCubicSmoothRelY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSegCurvetoCubicSmoothRel* castedThis = static_cast<JSSVGPathSegCurvetoCubicSmoothRel*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSegCurvetoCubicSmoothRel* imp = static_cast<SVGPathSegCurvetoCubicSmoothRel*>(static_cast<JSSVGPathSegCurvetoCubicSmoothRel*>(asObject(slot.slotBase()))->impl());
+ SVGPathSegCurvetoCubicSmoothRel* imp = static_cast<SVGPathSegCurvetoCubicSmoothRel*>(castedThis->impl());
return jsNumber(exec, imp->y());
}
JSValue jsSVGPathSegCurvetoCubicSmoothRelX2(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSegCurvetoCubicSmoothRel* castedThis = static_cast<JSSVGPathSegCurvetoCubicSmoothRel*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSegCurvetoCubicSmoothRel* imp = static_cast<SVGPathSegCurvetoCubicSmoothRel*>(static_cast<JSSVGPathSegCurvetoCubicSmoothRel*>(asObject(slot.slotBase()))->impl());
+ SVGPathSegCurvetoCubicSmoothRel* imp = static_cast<SVGPathSegCurvetoCubicSmoothRel*>(castedThis->impl());
return jsNumber(exec, imp->x2());
}
JSValue jsSVGPathSegCurvetoCubicSmoothRelY2(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSegCurvetoCubicSmoothRel* castedThis = static_cast<JSSVGPathSegCurvetoCubicSmoothRel*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSegCurvetoCubicSmoothRel* imp = static_cast<SVGPathSegCurvetoCubicSmoothRel*>(static_cast<JSSVGPathSegCurvetoCubicSmoothRel*>(asObject(slot.slotBase()))->impl());
+ SVGPathSegCurvetoCubicSmoothRel* imp = static_cast<SVGPathSegCurvetoCubicSmoothRel*>(castedThis->impl());
return jsNumber(exec, imp->y2());
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicSmoothRel.h b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicSmoothRel.h
index c705365..557ae46 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicSmoothRel.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicSmoothRel.h
@@ -33,7 +33,7 @@ class SVGPathSegCurvetoCubicSmoothRel;
class JSSVGPathSegCurvetoCubicSmoothRel : public JSSVGPathSeg {
typedef JSSVGPathSeg Base;
public:
- JSSVGPathSegCurvetoCubicSmoothRel(PassRefPtr<JSC::Structure>, PassRefPtr<SVGPathSegCurvetoCubicSmoothRel>, SVGElement* context);
+ JSSVGPathSegCurvetoCubicSmoothRel(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGPathSegCurvetoCubicSmoothRel>, SVGElement* context);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticAbs.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticAbs.cpp
index 5897807..eb8515d 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticAbs.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticAbs.cpp
@@ -45,7 +45,7 @@ static const HashTableValue JSSVGPathSegCurvetoQuadraticAbsTableValues[5] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGPathSegCurvetoQuadraticAbsTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGPathSegCurvetoQuadraticAbsTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 3, JSSVGPathSegCurvetoQuadraticAbsTableValues, 0 };
#else
@@ -59,7 +59,7 @@ static const HashTableValue JSSVGPathSegCurvetoQuadraticAbsPrototypeTableValues[
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGPathSegCurvetoQuadraticAbsPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGPathSegCurvetoQuadraticAbsPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGPathSegCurvetoQuadraticAbsPrototypeTableValues, 0 };
#else
@@ -75,8 +75,8 @@ JSObject* JSSVGPathSegCurvetoQuadraticAbsPrototype::self(ExecState* exec, JSGlob
const ClassInfo JSSVGPathSegCurvetoQuadraticAbs::s_info = { "SVGPathSegCurvetoQuadraticAbs", &JSSVGPathSeg::s_info, &JSSVGPathSegCurvetoQuadraticAbsTable, 0 };
-JSSVGPathSegCurvetoQuadraticAbs::JSSVGPathSegCurvetoQuadraticAbs(PassRefPtr<Structure> structure, PassRefPtr<SVGPathSegCurvetoQuadraticAbs> impl, SVGElement* context)
- : JSSVGPathSeg(structure, impl, context)
+JSSVGPathSegCurvetoQuadraticAbs::JSSVGPathSegCurvetoQuadraticAbs(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGPathSegCurvetoQuadraticAbs> impl, SVGElement* context)
+ : JSSVGPathSeg(structure, globalObject, impl, context)
{
}
@@ -92,29 +92,33 @@ bool JSSVGPathSegCurvetoQuadraticAbs::getOwnPropertySlot(ExecState* exec, const
JSValue jsSVGPathSegCurvetoQuadraticAbsX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSegCurvetoQuadraticAbs* castedThis = static_cast<JSSVGPathSegCurvetoQuadraticAbs*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSegCurvetoQuadraticAbs* imp = static_cast<SVGPathSegCurvetoQuadraticAbs*>(static_cast<JSSVGPathSegCurvetoQuadraticAbs*>(asObject(slot.slotBase()))->impl());
+ SVGPathSegCurvetoQuadraticAbs* imp = static_cast<SVGPathSegCurvetoQuadraticAbs*>(castedThis->impl());
return jsNumber(exec, imp->x());
}
JSValue jsSVGPathSegCurvetoQuadraticAbsY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSegCurvetoQuadraticAbs* castedThis = static_cast<JSSVGPathSegCurvetoQuadraticAbs*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSegCurvetoQuadraticAbs* imp = static_cast<SVGPathSegCurvetoQuadraticAbs*>(static_cast<JSSVGPathSegCurvetoQuadraticAbs*>(asObject(slot.slotBase()))->impl());
+ SVGPathSegCurvetoQuadraticAbs* imp = static_cast<SVGPathSegCurvetoQuadraticAbs*>(castedThis->impl());
return jsNumber(exec, imp->y());
}
JSValue jsSVGPathSegCurvetoQuadraticAbsX1(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSegCurvetoQuadraticAbs* castedThis = static_cast<JSSVGPathSegCurvetoQuadraticAbs*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSegCurvetoQuadraticAbs* imp = static_cast<SVGPathSegCurvetoQuadraticAbs*>(static_cast<JSSVGPathSegCurvetoQuadraticAbs*>(asObject(slot.slotBase()))->impl());
+ SVGPathSegCurvetoQuadraticAbs* imp = static_cast<SVGPathSegCurvetoQuadraticAbs*>(castedThis->impl());
return jsNumber(exec, imp->x1());
}
JSValue jsSVGPathSegCurvetoQuadraticAbsY1(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSegCurvetoQuadraticAbs* castedThis = static_cast<JSSVGPathSegCurvetoQuadraticAbs*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSegCurvetoQuadraticAbs* imp = static_cast<SVGPathSegCurvetoQuadraticAbs*>(static_cast<JSSVGPathSegCurvetoQuadraticAbs*>(asObject(slot.slotBase()))->impl());
+ SVGPathSegCurvetoQuadraticAbs* imp = static_cast<SVGPathSegCurvetoQuadraticAbs*>(castedThis->impl());
return jsNumber(exec, imp->y1());
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticAbs.h b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticAbs.h
index 6feebd8..9112598 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticAbs.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticAbs.h
@@ -33,7 +33,7 @@ class SVGPathSegCurvetoQuadraticAbs;
class JSSVGPathSegCurvetoQuadraticAbs : public JSSVGPathSeg {
typedef JSSVGPathSeg Base;
public:
- JSSVGPathSegCurvetoQuadraticAbs(PassRefPtr<JSC::Structure>, PassRefPtr<SVGPathSegCurvetoQuadraticAbs>, SVGElement* context);
+ JSSVGPathSegCurvetoQuadraticAbs(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGPathSegCurvetoQuadraticAbs>, SVGElement* context);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticRel.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticRel.cpp
index 19f9b60..c62f6ac 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticRel.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticRel.cpp
@@ -45,7 +45,7 @@ static const HashTableValue JSSVGPathSegCurvetoQuadraticRelTableValues[5] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGPathSegCurvetoQuadraticRelTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGPathSegCurvetoQuadraticRelTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 3, JSSVGPathSegCurvetoQuadraticRelTableValues, 0 };
#else
@@ -59,7 +59,7 @@ static const HashTableValue JSSVGPathSegCurvetoQuadraticRelPrototypeTableValues[
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGPathSegCurvetoQuadraticRelPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGPathSegCurvetoQuadraticRelPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGPathSegCurvetoQuadraticRelPrototypeTableValues, 0 };
#else
@@ -75,8 +75,8 @@ JSObject* JSSVGPathSegCurvetoQuadraticRelPrototype::self(ExecState* exec, JSGlob
const ClassInfo JSSVGPathSegCurvetoQuadraticRel::s_info = { "SVGPathSegCurvetoQuadraticRel", &JSSVGPathSeg::s_info, &JSSVGPathSegCurvetoQuadraticRelTable, 0 };
-JSSVGPathSegCurvetoQuadraticRel::JSSVGPathSegCurvetoQuadraticRel(PassRefPtr<Structure> structure, PassRefPtr<SVGPathSegCurvetoQuadraticRel> impl, SVGElement* context)
- : JSSVGPathSeg(structure, impl, context)
+JSSVGPathSegCurvetoQuadraticRel::JSSVGPathSegCurvetoQuadraticRel(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGPathSegCurvetoQuadraticRel> impl, SVGElement* context)
+ : JSSVGPathSeg(structure, globalObject, impl, context)
{
}
@@ -92,29 +92,33 @@ bool JSSVGPathSegCurvetoQuadraticRel::getOwnPropertySlot(ExecState* exec, const
JSValue jsSVGPathSegCurvetoQuadraticRelX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSegCurvetoQuadraticRel* castedThis = static_cast<JSSVGPathSegCurvetoQuadraticRel*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSegCurvetoQuadraticRel* imp = static_cast<SVGPathSegCurvetoQuadraticRel*>(static_cast<JSSVGPathSegCurvetoQuadraticRel*>(asObject(slot.slotBase()))->impl());
+ SVGPathSegCurvetoQuadraticRel* imp = static_cast<SVGPathSegCurvetoQuadraticRel*>(castedThis->impl());
return jsNumber(exec, imp->x());
}
JSValue jsSVGPathSegCurvetoQuadraticRelY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSegCurvetoQuadraticRel* castedThis = static_cast<JSSVGPathSegCurvetoQuadraticRel*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSegCurvetoQuadraticRel* imp = static_cast<SVGPathSegCurvetoQuadraticRel*>(static_cast<JSSVGPathSegCurvetoQuadraticRel*>(asObject(slot.slotBase()))->impl());
+ SVGPathSegCurvetoQuadraticRel* imp = static_cast<SVGPathSegCurvetoQuadraticRel*>(castedThis->impl());
return jsNumber(exec, imp->y());
}
JSValue jsSVGPathSegCurvetoQuadraticRelX1(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSegCurvetoQuadraticRel* castedThis = static_cast<JSSVGPathSegCurvetoQuadraticRel*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSegCurvetoQuadraticRel* imp = static_cast<SVGPathSegCurvetoQuadraticRel*>(static_cast<JSSVGPathSegCurvetoQuadraticRel*>(asObject(slot.slotBase()))->impl());
+ SVGPathSegCurvetoQuadraticRel* imp = static_cast<SVGPathSegCurvetoQuadraticRel*>(castedThis->impl());
return jsNumber(exec, imp->x1());
}
JSValue jsSVGPathSegCurvetoQuadraticRelY1(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSegCurvetoQuadraticRel* castedThis = static_cast<JSSVGPathSegCurvetoQuadraticRel*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSegCurvetoQuadraticRel* imp = static_cast<SVGPathSegCurvetoQuadraticRel*>(static_cast<JSSVGPathSegCurvetoQuadraticRel*>(asObject(slot.slotBase()))->impl());
+ SVGPathSegCurvetoQuadraticRel* imp = static_cast<SVGPathSegCurvetoQuadraticRel*>(castedThis->impl());
return jsNumber(exec, imp->y1());
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticRel.h b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticRel.h
index 50c484b..cfbb1b3 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticRel.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticRel.h
@@ -33,7 +33,7 @@ class SVGPathSegCurvetoQuadraticRel;
class JSSVGPathSegCurvetoQuadraticRel : public JSSVGPathSeg {
typedef JSSVGPathSeg Base;
public:
- JSSVGPathSegCurvetoQuadraticRel(PassRefPtr<JSC::Structure>, PassRefPtr<SVGPathSegCurvetoQuadraticRel>, SVGElement* context);
+ JSSVGPathSegCurvetoQuadraticRel(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGPathSegCurvetoQuadraticRel>, SVGElement* context);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticSmoothAbs.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticSmoothAbs.cpp
index 3fefc7e..ea5f5da 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticSmoothAbs.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticSmoothAbs.cpp
@@ -43,7 +43,7 @@ static const HashTableValue JSSVGPathSegCurvetoQuadraticSmoothAbsTableValues[3]
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGPathSegCurvetoQuadraticSmoothAbsTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGPathSegCurvetoQuadraticSmoothAbsTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 1, JSSVGPathSegCurvetoQuadraticSmoothAbsTableValues, 0 };
#else
@@ -57,7 +57,7 @@ static const HashTableValue JSSVGPathSegCurvetoQuadraticSmoothAbsPrototypeTableV
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGPathSegCurvetoQuadraticSmoothAbsPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGPathSegCurvetoQuadraticSmoothAbsPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGPathSegCurvetoQuadraticSmoothAbsPrototypeTableValues, 0 };
#else
@@ -73,8 +73,8 @@ JSObject* JSSVGPathSegCurvetoQuadraticSmoothAbsPrototype::self(ExecState* exec,
const ClassInfo JSSVGPathSegCurvetoQuadraticSmoothAbs::s_info = { "SVGPathSegCurvetoQuadraticSmoothAbs", &JSSVGPathSeg::s_info, &JSSVGPathSegCurvetoQuadraticSmoothAbsTable, 0 };
-JSSVGPathSegCurvetoQuadraticSmoothAbs::JSSVGPathSegCurvetoQuadraticSmoothAbs(PassRefPtr<Structure> structure, PassRefPtr<SVGPathSegCurvetoQuadraticSmoothAbs> impl, SVGElement* context)
- : JSSVGPathSeg(structure, impl, context)
+JSSVGPathSegCurvetoQuadraticSmoothAbs::JSSVGPathSegCurvetoQuadraticSmoothAbs(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGPathSegCurvetoQuadraticSmoothAbs> impl, SVGElement* context)
+ : JSSVGPathSeg(structure, globalObject, impl, context)
{
}
@@ -90,15 +90,17 @@ bool JSSVGPathSegCurvetoQuadraticSmoothAbs::getOwnPropertySlot(ExecState* exec,
JSValue jsSVGPathSegCurvetoQuadraticSmoothAbsX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSegCurvetoQuadraticSmoothAbs* castedThis = static_cast<JSSVGPathSegCurvetoQuadraticSmoothAbs*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSegCurvetoQuadraticSmoothAbs* imp = static_cast<SVGPathSegCurvetoQuadraticSmoothAbs*>(static_cast<JSSVGPathSegCurvetoQuadraticSmoothAbs*>(asObject(slot.slotBase()))->impl());
+ SVGPathSegCurvetoQuadraticSmoothAbs* imp = static_cast<SVGPathSegCurvetoQuadraticSmoothAbs*>(castedThis->impl());
return jsNumber(exec, imp->x());
}
JSValue jsSVGPathSegCurvetoQuadraticSmoothAbsY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSegCurvetoQuadraticSmoothAbs* castedThis = static_cast<JSSVGPathSegCurvetoQuadraticSmoothAbs*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSegCurvetoQuadraticSmoothAbs* imp = static_cast<SVGPathSegCurvetoQuadraticSmoothAbs*>(static_cast<JSSVGPathSegCurvetoQuadraticSmoothAbs*>(asObject(slot.slotBase()))->impl());
+ SVGPathSegCurvetoQuadraticSmoothAbs* imp = static_cast<SVGPathSegCurvetoQuadraticSmoothAbs*>(castedThis->impl());
return jsNumber(exec, imp->y());
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticSmoothAbs.h b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticSmoothAbs.h
index dee998c..48967a1 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticSmoothAbs.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticSmoothAbs.h
@@ -33,7 +33,7 @@ class SVGPathSegCurvetoQuadraticSmoothAbs;
class JSSVGPathSegCurvetoQuadraticSmoothAbs : public JSSVGPathSeg {
typedef JSSVGPathSeg Base;
public:
- JSSVGPathSegCurvetoQuadraticSmoothAbs(PassRefPtr<JSC::Structure>, PassRefPtr<SVGPathSegCurvetoQuadraticSmoothAbs>, SVGElement* context);
+ JSSVGPathSegCurvetoQuadraticSmoothAbs(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGPathSegCurvetoQuadraticSmoothAbs>, SVGElement* context);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticSmoothRel.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticSmoothRel.cpp
index e16e6b5..56a7163 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticSmoothRel.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticSmoothRel.cpp
@@ -43,7 +43,7 @@ static const HashTableValue JSSVGPathSegCurvetoQuadraticSmoothRelTableValues[3]
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGPathSegCurvetoQuadraticSmoothRelTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGPathSegCurvetoQuadraticSmoothRelTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 1, JSSVGPathSegCurvetoQuadraticSmoothRelTableValues, 0 };
#else
@@ -57,7 +57,7 @@ static const HashTableValue JSSVGPathSegCurvetoQuadraticSmoothRelPrototypeTableV
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGPathSegCurvetoQuadraticSmoothRelPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGPathSegCurvetoQuadraticSmoothRelPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGPathSegCurvetoQuadraticSmoothRelPrototypeTableValues, 0 };
#else
@@ -73,8 +73,8 @@ JSObject* JSSVGPathSegCurvetoQuadraticSmoothRelPrototype::self(ExecState* exec,
const ClassInfo JSSVGPathSegCurvetoQuadraticSmoothRel::s_info = { "SVGPathSegCurvetoQuadraticSmoothRel", &JSSVGPathSeg::s_info, &JSSVGPathSegCurvetoQuadraticSmoothRelTable, 0 };
-JSSVGPathSegCurvetoQuadraticSmoothRel::JSSVGPathSegCurvetoQuadraticSmoothRel(PassRefPtr<Structure> structure, PassRefPtr<SVGPathSegCurvetoQuadraticSmoothRel> impl, SVGElement* context)
- : JSSVGPathSeg(structure, impl, context)
+JSSVGPathSegCurvetoQuadraticSmoothRel::JSSVGPathSegCurvetoQuadraticSmoothRel(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGPathSegCurvetoQuadraticSmoothRel> impl, SVGElement* context)
+ : JSSVGPathSeg(structure, globalObject, impl, context)
{
}
@@ -90,15 +90,17 @@ bool JSSVGPathSegCurvetoQuadraticSmoothRel::getOwnPropertySlot(ExecState* exec,
JSValue jsSVGPathSegCurvetoQuadraticSmoothRelX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSegCurvetoQuadraticSmoothRel* castedThis = static_cast<JSSVGPathSegCurvetoQuadraticSmoothRel*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSegCurvetoQuadraticSmoothRel* imp = static_cast<SVGPathSegCurvetoQuadraticSmoothRel*>(static_cast<JSSVGPathSegCurvetoQuadraticSmoothRel*>(asObject(slot.slotBase()))->impl());
+ SVGPathSegCurvetoQuadraticSmoothRel* imp = static_cast<SVGPathSegCurvetoQuadraticSmoothRel*>(castedThis->impl());
return jsNumber(exec, imp->x());
}
JSValue jsSVGPathSegCurvetoQuadraticSmoothRelY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSegCurvetoQuadraticSmoothRel* castedThis = static_cast<JSSVGPathSegCurvetoQuadraticSmoothRel*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSegCurvetoQuadraticSmoothRel* imp = static_cast<SVGPathSegCurvetoQuadraticSmoothRel*>(static_cast<JSSVGPathSegCurvetoQuadraticSmoothRel*>(asObject(slot.slotBase()))->impl());
+ SVGPathSegCurvetoQuadraticSmoothRel* imp = static_cast<SVGPathSegCurvetoQuadraticSmoothRel*>(castedThis->impl());
return jsNumber(exec, imp->y());
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticSmoothRel.h b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticSmoothRel.h
index 5854a94..8e78609 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticSmoothRel.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticSmoothRel.h
@@ -33,7 +33,7 @@ class SVGPathSegCurvetoQuadraticSmoothRel;
class JSSVGPathSegCurvetoQuadraticSmoothRel : public JSSVGPathSeg {
typedef JSSVGPathSeg Base;
public:
- JSSVGPathSegCurvetoQuadraticSmoothRel(PassRefPtr<JSC::Structure>, PassRefPtr<SVGPathSegCurvetoQuadraticSmoothRel>, SVGElement* context);
+ JSSVGPathSegCurvetoQuadraticSmoothRel(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGPathSegCurvetoQuadraticSmoothRel>, SVGElement* context);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoAbs.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoAbs.cpp
index 8676d4b..cb3049b 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoAbs.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoAbs.cpp
@@ -43,7 +43,7 @@ static const HashTableValue JSSVGPathSegLinetoAbsTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGPathSegLinetoAbsTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGPathSegLinetoAbsTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 1, JSSVGPathSegLinetoAbsTableValues, 0 };
#else
@@ -57,7 +57,7 @@ static const HashTableValue JSSVGPathSegLinetoAbsPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGPathSegLinetoAbsPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGPathSegLinetoAbsPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGPathSegLinetoAbsPrototypeTableValues, 0 };
#else
@@ -73,8 +73,8 @@ JSObject* JSSVGPathSegLinetoAbsPrototype::self(ExecState* exec, JSGlobalObject*
const ClassInfo JSSVGPathSegLinetoAbs::s_info = { "SVGPathSegLinetoAbs", &JSSVGPathSeg::s_info, &JSSVGPathSegLinetoAbsTable, 0 };
-JSSVGPathSegLinetoAbs::JSSVGPathSegLinetoAbs(PassRefPtr<Structure> structure, PassRefPtr<SVGPathSegLinetoAbs> impl, SVGElement* context)
- : JSSVGPathSeg(structure, impl, context)
+JSSVGPathSegLinetoAbs::JSSVGPathSegLinetoAbs(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGPathSegLinetoAbs> impl, SVGElement* context)
+ : JSSVGPathSeg(structure, globalObject, impl, context)
{
}
@@ -90,15 +90,17 @@ bool JSSVGPathSegLinetoAbs::getOwnPropertySlot(ExecState* exec, const Identifier
JSValue jsSVGPathSegLinetoAbsX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSegLinetoAbs* castedThis = static_cast<JSSVGPathSegLinetoAbs*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSegLinetoAbs* imp = static_cast<SVGPathSegLinetoAbs*>(static_cast<JSSVGPathSegLinetoAbs*>(asObject(slot.slotBase()))->impl());
+ SVGPathSegLinetoAbs* imp = static_cast<SVGPathSegLinetoAbs*>(castedThis->impl());
return jsNumber(exec, imp->x());
}
JSValue jsSVGPathSegLinetoAbsY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSegLinetoAbs* castedThis = static_cast<JSSVGPathSegLinetoAbs*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSegLinetoAbs* imp = static_cast<SVGPathSegLinetoAbs*>(static_cast<JSSVGPathSegLinetoAbs*>(asObject(slot.slotBase()))->impl());
+ SVGPathSegLinetoAbs* imp = static_cast<SVGPathSegLinetoAbs*>(castedThis->impl());
return jsNumber(exec, imp->y());
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoAbs.h b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoAbs.h
index f737c49..8e403de 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoAbs.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoAbs.h
@@ -33,7 +33,7 @@ class SVGPathSegLinetoAbs;
class JSSVGPathSegLinetoAbs : public JSSVGPathSeg {
typedef JSSVGPathSeg Base;
public:
- JSSVGPathSegLinetoAbs(PassRefPtr<JSC::Structure>, PassRefPtr<SVGPathSegLinetoAbs>, SVGElement* context);
+ JSSVGPathSegLinetoAbs(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGPathSegLinetoAbs>, SVGElement* context);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoHorizontalAbs.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoHorizontalAbs.cpp
index 0289a9a..2a6a087 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoHorizontalAbs.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoHorizontalAbs.cpp
@@ -42,7 +42,7 @@ static const HashTableValue JSSVGPathSegLinetoHorizontalAbsTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGPathSegLinetoHorizontalAbsTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGPathSegLinetoHorizontalAbsTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGPathSegLinetoHorizontalAbsTableValues, 0 };
#else
@@ -56,7 +56,7 @@ static const HashTableValue JSSVGPathSegLinetoHorizontalAbsPrototypeTableValues[
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGPathSegLinetoHorizontalAbsPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGPathSegLinetoHorizontalAbsPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGPathSegLinetoHorizontalAbsPrototypeTableValues, 0 };
#else
@@ -72,8 +72,8 @@ JSObject* JSSVGPathSegLinetoHorizontalAbsPrototype::self(ExecState* exec, JSGlob
const ClassInfo JSSVGPathSegLinetoHorizontalAbs::s_info = { "SVGPathSegLinetoHorizontalAbs", &JSSVGPathSeg::s_info, &JSSVGPathSegLinetoHorizontalAbsTable, 0 };
-JSSVGPathSegLinetoHorizontalAbs::JSSVGPathSegLinetoHorizontalAbs(PassRefPtr<Structure> structure, PassRefPtr<SVGPathSegLinetoHorizontalAbs> impl, SVGElement* context)
- : JSSVGPathSeg(structure, impl, context)
+JSSVGPathSegLinetoHorizontalAbs::JSSVGPathSegLinetoHorizontalAbs(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGPathSegLinetoHorizontalAbs> impl, SVGElement* context)
+ : JSSVGPathSeg(structure, globalObject, impl, context)
{
}
@@ -89,8 +89,9 @@ bool JSSVGPathSegLinetoHorizontalAbs::getOwnPropertySlot(ExecState* exec, const
JSValue jsSVGPathSegLinetoHorizontalAbsX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSegLinetoHorizontalAbs* castedThis = static_cast<JSSVGPathSegLinetoHorizontalAbs*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSegLinetoHorizontalAbs* imp = static_cast<SVGPathSegLinetoHorizontalAbs*>(static_cast<JSSVGPathSegLinetoHorizontalAbs*>(asObject(slot.slotBase()))->impl());
+ SVGPathSegLinetoHorizontalAbs* imp = static_cast<SVGPathSegLinetoHorizontalAbs*>(castedThis->impl());
return jsNumber(exec, imp->x());
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoHorizontalAbs.h b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoHorizontalAbs.h
index fe2d270..237124a 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoHorizontalAbs.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoHorizontalAbs.h
@@ -33,7 +33,7 @@ class SVGPathSegLinetoHorizontalAbs;
class JSSVGPathSegLinetoHorizontalAbs : public JSSVGPathSeg {
typedef JSSVGPathSeg Base;
public:
- JSSVGPathSegLinetoHorizontalAbs(PassRefPtr<JSC::Structure>, PassRefPtr<SVGPathSegLinetoHorizontalAbs>, SVGElement* context);
+ JSSVGPathSegLinetoHorizontalAbs(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGPathSegLinetoHorizontalAbs>, SVGElement* context);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoHorizontalRel.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoHorizontalRel.cpp
index cd0755a..68c5b37 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoHorizontalRel.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoHorizontalRel.cpp
@@ -42,7 +42,7 @@ static const HashTableValue JSSVGPathSegLinetoHorizontalRelTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGPathSegLinetoHorizontalRelTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGPathSegLinetoHorizontalRelTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGPathSegLinetoHorizontalRelTableValues, 0 };
#else
@@ -56,7 +56,7 @@ static const HashTableValue JSSVGPathSegLinetoHorizontalRelPrototypeTableValues[
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGPathSegLinetoHorizontalRelPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGPathSegLinetoHorizontalRelPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGPathSegLinetoHorizontalRelPrototypeTableValues, 0 };
#else
@@ -72,8 +72,8 @@ JSObject* JSSVGPathSegLinetoHorizontalRelPrototype::self(ExecState* exec, JSGlob
const ClassInfo JSSVGPathSegLinetoHorizontalRel::s_info = { "SVGPathSegLinetoHorizontalRel", &JSSVGPathSeg::s_info, &JSSVGPathSegLinetoHorizontalRelTable, 0 };
-JSSVGPathSegLinetoHorizontalRel::JSSVGPathSegLinetoHorizontalRel(PassRefPtr<Structure> structure, PassRefPtr<SVGPathSegLinetoHorizontalRel> impl, SVGElement* context)
- : JSSVGPathSeg(structure, impl, context)
+JSSVGPathSegLinetoHorizontalRel::JSSVGPathSegLinetoHorizontalRel(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGPathSegLinetoHorizontalRel> impl, SVGElement* context)
+ : JSSVGPathSeg(structure, globalObject, impl, context)
{
}
@@ -89,8 +89,9 @@ bool JSSVGPathSegLinetoHorizontalRel::getOwnPropertySlot(ExecState* exec, const
JSValue jsSVGPathSegLinetoHorizontalRelX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSegLinetoHorizontalRel* castedThis = static_cast<JSSVGPathSegLinetoHorizontalRel*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSegLinetoHorizontalRel* imp = static_cast<SVGPathSegLinetoHorizontalRel*>(static_cast<JSSVGPathSegLinetoHorizontalRel*>(asObject(slot.slotBase()))->impl());
+ SVGPathSegLinetoHorizontalRel* imp = static_cast<SVGPathSegLinetoHorizontalRel*>(castedThis->impl());
return jsNumber(exec, imp->x());
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoHorizontalRel.h b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoHorizontalRel.h
index b8edfb7..8c76dbf 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoHorizontalRel.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoHorizontalRel.h
@@ -33,7 +33,7 @@ class SVGPathSegLinetoHorizontalRel;
class JSSVGPathSegLinetoHorizontalRel : public JSSVGPathSeg {
typedef JSSVGPathSeg Base;
public:
- JSSVGPathSegLinetoHorizontalRel(PassRefPtr<JSC::Structure>, PassRefPtr<SVGPathSegLinetoHorizontalRel>, SVGElement* context);
+ JSSVGPathSegLinetoHorizontalRel(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGPathSegLinetoHorizontalRel>, SVGElement* context);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoRel.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoRel.cpp
index 250196a..d90984d 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoRel.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoRel.cpp
@@ -43,7 +43,7 @@ static const HashTableValue JSSVGPathSegLinetoRelTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGPathSegLinetoRelTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGPathSegLinetoRelTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 1, JSSVGPathSegLinetoRelTableValues, 0 };
#else
@@ -57,7 +57,7 @@ static const HashTableValue JSSVGPathSegLinetoRelPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGPathSegLinetoRelPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGPathSegLinetoRelPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGPathSegLinetoRelPrototypeTableValues, 0 };
#else
@@ -73,8 +73,8 @@ JSObject* JSSVGPathSegLinetoRelPrototype::self(ExecState* exec, JSGlobalObject*
const ClassInfo JSSVGPathSegLinetoRel::s_info = { "SVGPathSegLinetoRel", &JSSVGPathSeg::s_info, &JSSVGPathSegLinetoRelTable, 0 };
-JSSVGPathSegLinetoRel::JSSVGPathSegLinetoRel(PassRefPtr<Structure> structure, PassRefPtr<SVGPathSegLinetoRel> impl, SVGElement* context)
- : JSSVGPathSeg(structure, impl, context)
+JSSVGPathSegLinetoRel::JSSVGPathSegLinetoRel(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGPathSegLinetoRel> impl, SVGElement* context)
+ : JSSVGPathSeg(structure, globalObject, impl, context)
{
}
@@ -90,15 +90,17 @@ bool JSSVGPathSegLinetoRel::getOwnPropertySlot(ExecState* exec, const Identifier
JSValue jsSVGPathSegLinetoRelX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSegLinetoRel* castedThis = static_cast<JSSVGPathSegLinetoRel*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSegLinetoRel* imp = static_cast<SVGPathSegLinetoRel*>(static_cast<JSSVGPathSegLinetoRel*>(asObject(slot.slotBase()))->impl());
+ SVGPathSegLinetoRel* imp = static_cast<SVGPathSegLinetoRel*>(castedThis->impl());
return jsNumber(exec, imp->x());
}
JSValue jsSVGPathSegLinetoRelY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSegLinetoRel* castedThis = static_cast<JSSVGPathSegLinetoRel*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSegLinetoRel* imp = static_cast<SVGPathSegLinetoRel*>(static_cast<JSSVGPathSegLinetoRel*>(asObject(slot.slotBase()))->impl());
+ SVGPathSegLinetoRel* imp = static_cast<SVGPathSegLinetoRel*>(castedThis->impl());
return jsNumber(exec, imp->y());
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoRel.h b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoRel.h
index 5123bf1..7d6e156 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoRel.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoRel.h
@@ -33,7 +33,7 @@ class SVGPathSegLinetoRel;
class JSSVGPathSegLinetoRel : public JSSVGPathSeg {
typedef JSSVGPathSeg Base;
public:
- JSSVGPathSegLinetoRel(PassRefPtr<JSC::Structure>, PassRefPtr<SVGPathSegLinetoRel>, SVGElement* context);
+ JSSVGPathSegLinetoRel(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGPathSegLinetoRel>, SVGElement* context);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoVerticalAbs.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoVerticalAbs.cpp
index 82f7ff8..a51ca33 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoVerticalAbs.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoVerticalAbs.cpp
@@ -42,7 +42,7 @@ static const HashTableValue JSSVGPathSegLinetoVerticalAbsTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGPathSegLinetoVerticalAbsTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGPathSegLinetoVerticalAbsTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGPathSegLinetoVerticalAbsTableValues, 0 };
#else
@@ -56,7 +56,7 @@ static const HashTableValue JSSVGPathSegLinetoVerticalAbsPrototypeTableValues[1]
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGPathSegLinetoVerticalAbsPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGPathSegLinetoVerticalAbsPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGPathSegLinetoVerticalAbsPrototypeTableValues, 0 };
#else
@@ -72,8 +72,8 @@ JSObject* JSSVGPathSegLinetoVerticalAbsPrototype::self(ExecState* exec, JSGlobal
const ClassInfo JSSVGPathSegLinetoVerticalAbs::s_info = { "SVGPathSegLinetoVerticalAbs", &JSSVGPathSeg::s_info, &JSSVGPathSegLinetoVerticalAbsTable, 0 };
-JSSVGPathSegLinetoVerticalAbs::JSSVGPathSegLinetoVerticalAbs(PassRefPtr<Structure> structure, PassRefPtr<SVGPathSegLinetoVerticalAbs> impl, SVGElement* context)
- : JSSVGPathSeg(structure, impl, context)
+JSSVGPathSegLinetoVerticalAbs::JSSVGPathSegLinetoVerticalAbs(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGPathSegLinetoVerticalAbs> impl, SVGElement* context)
+ : JSSVGPathSeg(structure, globalObject, impl, context)
{
}
@@ -89,8 +89,9 @@ bool JSSVGPathSegLinetoVerticalAbs::getOwnPropertySlot(ExecState* exec, const Id
JSValue jsSVGPathSegLinetoVerticalAbsY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSegLinetoVerticalAbs* castedThis = static_cast<JSSVGPathSegLinetoVerticalAbs*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSegLinetoVerticalAbs* imp = static_cast<SVGPathSegLinetoVerticalAbs*>(static_cast<JSSVGPathSegLinetoVerticalAbs*>(asObject(slot.slotBase()))->impl());
+ SVGPathSegLinetoVerticalAbs* imp = static_cast<SVGPathSegLinetoVerticalAbs*>(castedThis->impl());
return jsNumber(exec, imp->y());
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoVerticalAbs.h b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoVerticalAbs.h
index 184c021..8a2b51d 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoVerticalAbs.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoVerticalAbs.h
@@ -33,7 +33,7 @@ class SVGPathSegLinetoVerticalAbs;
class JSSVGPathSegLinetoVerticalAbs : public JSSVGPathSeg {
typedef JSSVGPathSeg Base;
public:
- JSSVGPathSegLinetoVerticalAbs(PassRefPtr<JSC::Structure>, PassRefPtr<SVGPathSegLinetoVerticalAbs>, SVGElement* context);
+ JSSVGPathSegLinetoVerticalAbs(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGPathSegLinetoVerticalAbs>, SVGElement* context);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoVerticalRel.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoVerticalRel.cpp
index e07cdd2..03873cb 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoVerticalRel.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoVerticalRel.cpp
@@ -42,7 +42,7 @@ static const HashTableValue JSSVGPathSegLinetoVerticalRelTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGPathSegLinetoVerticalRelTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGPathSegLinetoVerticalRelTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGPathSegLinetoVerticalRelTableValues, 0 };
#else
@@ -56,7 +56,7 @@ static const HashTableValue JSSVGPathSegLinetoVerticalRelPrototypeTableValues[1]
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGPathSegLinetoVerticalRelPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGPathSegLinetoVerticalRelPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGPathSegLinetoVerticalRelPrototypeTableValues, 0 };
#else
@@ -72,8 +72,8 @@ JSObject* JSSVGPathSegLinetoVerticalRelPrototype::self(ExecState* exec, JSGlobal
const ClassInfo JSSVGPathSegLinetoVerticalRel::s_info = { "SVGPathSegLinetoVerticalRel", &JSSVGPathSeg::s_info, &JSSVGPathSegLinetoVerticalRelTable, 0 };
-JSSVGPathSegLinetoVerticalRel::JSSVGPathSegLinetoVerticalRel(PassRefPtr<Structure> structure, PassRefPtr<SVGPathSegLinetoVerticalRel> impl, SVGElement* context)
- : JSSVGPathSeg(structure, impl, context)
+JSSVGPathSegLinetoVerticalRel::JSSVGPathSegLinetoVerticalRel(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGPathSegLinetoVerticalRel> impl, SVGElement* context)
+ : JSSVGPathSeg(structure, globalObject, impl, context)
{
}
@@ -89,8 +89,9 @@ bool JSSVGPathSegLinetoVerticalRel::getOwnPropertySlot(ExecState* exec, const Id
JSValue jsSVGPathSegLinetoVerticalRelY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSegLinetoVerticalRel* castedThis = static_cast<JSSVGPathSegLinetoVerticalRel*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSegLinetoVerticalRel* imp = static_cast<SVGPathSegLinetoVerticalRel*>(static_cast<JSSVGPathSegLinetoVerticalRel*>(asObject(slot.slotBase()))->impl());
+ SVGPathSegLinetoVerticalRel* imp = static_cast<SVGPathSegLinetoVerticalRel*>(castedThis->impl());
return jsNumber(exec, imp->y());
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoVerticalRel.h b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoVerticalRel.h
index a0cade4..25f03a0 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoVerticalRel.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoVerticalRel.h
@@ -33,7 +33,7 @@ class SVGPathSegLinetoVerticalRel;
class JSSVGPathSegLinetoVerticalRel : public JSSVGPathSeg {
typedef JSSVGPathSeg Base;
public:
- JSSVGPathSegLinetoVerticalRel(PassRefPtr<JSC::Structure>, PassRefPtr<SVGPathSegLinetoVerticalRel>, SVGElement* context);
+ JSSVGPathSegLinetoVerticalRel(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGPathSegLinetoVerticalRel>, SVGElement* context);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegList.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegList.cpp
index 9a76052..fddc132 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegList.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegList.cpp
@@ -44,7 +44,7 @@ static const HashTableValue JSSVGPathSegListTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGPathSegListTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGPathSegListTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGPathSegListTableValues, 0 };
#else
@@ -65,7 +65,7 @@ static const HashTableValue JSSVGPathSegListPrototypeTableValues[8] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGPathSegListPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGPathSegListPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 63, JSSVGPathSegListPrototypeTableValues, 0 };
#else
@@ -86,9 +86,8 @@ bool JSSVGPathSegListPrototype::getOwnPropertySlot(ExecState* exec, const Identi
const ClassInfo JSSVGPathSegList::s_info = { "SVGPathSegList", 0, &JSSVGPathSegListTable, 0 };
-JSSVGPathSegList::JSSVGPathSegList(PassRefPtr<Structure> structure, PassRefPtr<SVGPathSegList> impl, SVGElement* context)
- : DOMObject(structure)
- , m_context(context)
+JSSVGPathSegList::JSSVGPathSegList(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGPathSegList> impl, SVGElement* context)
+ : DOMObjectWithSVGContext(structure, globalObject, context)
, m_impl(impl)
{
}
@@ -110,8 +109,9 @@ bool JSSVGPathSegList::getOwnPropertySlot(ExecState* exec, const Identifier& pro
JSValue jsSVGPathSegListNumberOfItems(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSegList* castedThis = static_cast<JSSVGPathSegList*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSegList* imp = static_cast<SVGPathSegList*>(static_cast<JSSVGPathSegList*>(asObject(slot.slotBase()))->impl());
+ SVGPathSegList* imp = static_cast<SVGPathSegList*>(castedThis->impl());
return jsNumber(exec, imp->numberOfItems());
}
@@ -178,9 +178,9 @@ JSValue JSC_HOST_CALL jsSVGPathSegListPrototypeFunctionAppendItem(ExecState* exe
return castedThisObj->appendItem(exec, args);
}
-JSC::JSValue toJS(JSC::ExecState* exec, SVGPathSegList* object, SVGElement* context)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, SVGPathSegList* object, SVGElement* context)
{
- return getDOMObjectWrapper<JSSVGPathSegList>(exec, object, context);
+ return getDOMObjectWrapper<JSSVGPathSegList>(exec, globalObject, object, context);
}
SVGPathSegList* toSVGPathSegList(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegList.h b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegList.h
index 5815d2c..dfa9d56 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegList.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegList.h
@@ -23,6 +23,7 @@
#if ENABLE(SVG)
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include "SVGElement.h"
#include <runtime/JSGlobalObject.h>
@@ -32,10 +33,10 @@ namespace WebCore {
class SVGPathSegList;
-class JSSVGPathSegList : public DOMObject {
- typedef DOMObject Base;
+class JSSVGPathSegList : public DOMObjectWithSVGContext {
+ typedef DOMObjectWithSVGContext Base;
public:
- JSSVGPathSegList(PassRefPtr<JSC::Structure>, PassRefPtr<SVGPathSegList>, SVGElement* context);
+ JSSVGPathSegList(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGPathSegList>, SVGElement* context);
virtual ~JSSVGPathSegList();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -57,14 +58,12 @@ public:
JSC::JSValue removeItem(JSC::ExecState*, const JSC::ArgList&);
JSC::JSValue appendItem(JSC::ExecState*, const JSC::ArgList&);
SVGPathSegList* impl() const { return m_impl.get(); }
- SVGElement* context() const { return m_context.get(); }
private:
- RefPtr<SVGElement> m_context;
- RefPtr<SVGPathSegList > m_impl;
+ RefPtr<SVGPathSegList> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, SVGPathSegList*, SVGElement* context);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, SVGPathSegList*, SVGElement* context);
SVGPathSegList* toSVGPathSegList(JSC::JSValue);
class JSSVGPathSegListPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegMovetoAbs.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegMovetoAbs.cpp
index 3f23fb6..836096b 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegMovetoAbs.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegMovetoAbs.cpp
@@ -43,7 +43,7 @@ static const HashTableValue JSSVGPathSegMovetoAbsTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGPathSegMovetoAbsTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGPathSegMovetoAbsTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 1, JSSVGPathSegMovetoAbsTableValues, 0 };
#else
@@ -57,7 +57,7 @@ static const HashTableValue JSSVGPathSegMovetoAbsPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGPathSegMovetoAbsPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGPathSegMovetoAbsPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGPathSegMovetoAbsPrototypeTableValues, 0 };
#else
@@ -73,8 +73,8 @@ JSObject* JSSVGPathSegMovetoAbsPrototype::self(ExecState* exec, JSGlobalObject*
const ClassInfo JSSVGPathSegMovetoAbs::s_info = { "SVGPathSegMovetoAbs", &JSSVGPathSeg::s_info, &JSSVGPathSegMovetoAbsTable, 0 };
-JSSVGPathSegMovetoAbs::JSSVGPathSegMovetoAbs(PassRefPtr<Structure> structure, PassRefPtr<SVGPathSegMovetoAbs> impl, SVGElement* context)
- : JSSVGPathSeg(structure, impl, context)
+JSSVGPathSegMovetoAbs::JSSVGPathSegMovetoAbs(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGPathSegMovetoAbs> impl, SVGElement* context)
+ : JSSVGPathSeg(structure, globalObject, impl, context)
{
}
@@ -90,15 +90,17 @@ bool JSSVGPathSegMovetoAbs::getOwnPropertySlot(ExecState* exec, const Identifier
JSValue jsSVGPathSegMovetoAbsX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSegMovetoAbs* castedThis = static_cast<JSSVGPathSegMovetoAbs*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSegMovetoAbs* imp = static_cast<SVGPathSegMovetoAbs*>(static_cast<JSSVGPathSegMovetoAbs*>(asObject(slot.slotBase()))->impl());
+ SVGPathSegMovetoAbs* imp = static_cast<SVGPathSegMovetoAbs*>(castedThis->impl());
return jsNumber(exec, imp->x());
}
JSValue jsSVGPathSegMovetoAbsY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSegMovetoAbs* castedThis = static_cast<JSSVGPathSegMovetoAbs*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSegMovetoAbs* imp = static_cast<SVGPathSegMovetoAbs*>(static_cast<JSSVGPathSegMovetoAbs*>(asObject(slot.slotBase()))->impl());
+ SVGPathSegMovetoAbs* imp = static_cast<SVGPathSegMovetoAbs*>(castedThis->impl());
return jsNumber(exec, imp->y());
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegMovetoAbs.h b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegMovetoAbs.h
index 99e8582..d072b5d 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegMovetoAbs.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegMovetoAbs.h
@@ -33,7 +33,7 @@ class SVGPathSegMovetoAbs;
class JSSVGPathSegMovetoAbs : public JSSVGPathSeg {
typedef JSSVGPathSeg Base;
public:
- JSSVGPathSegMovetoAbs(PassRefPtr<JSC::Structure>, PassRefPtr<SVGPathSegMovetoAbs>, SVGElement* context);
+ JSSVGPathSegMovetoAbs(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGPathSegMovetoAbs>, SVGElement* context);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegMovetoRel.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegMovetoRel.cpp
index 51a946d..ee180ac 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegMovetoRel.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegMovetoRel.cpp
@@ -43,7 +43,7 @@ static const HashTableValue JSSVGPathSegMovetoRelTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGPathSegMovetoRelTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGPathSegMovetoRelTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 1, JSSVGPathSegMovetoRelTableValues, 0 };
#else
@@ -57,7 +57,7 @@ static const HashTableValue JSSVGPathSegMovetoRelPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGPathSegMovetoRelPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGPathSegMovetoRelPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGPathSegMovetoRelPrototypeTableValues, 0 };
#else
@@ -73,8 +73,8 @@ JSObject* JSSVGPathSegMovetoRelPrototype::self(ExecState* exec, JSGlobalObject*
const ClassInfo JSSVGPathSegMovetoRel::s_info = { "SVGPathSegMovetoRel", &JSSVGPathSeg::s_info, &JSSVGPathSegMovetoRelTable, 0 };
-JSSVGPathSegMovetoRel::JSSVGPathSegMovetoRel(PassRefPtr<Structure> structure, PassRefPtr<SVGPathSegMovetoRel> impl, SVGElement* context)
- : JSSVGPathSeg(structure, impl, context)
+JSSVGPathSegMovetoRel::JSSVGPathSegMovetoRel(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGPathSegMovetoRel> impl, SVGElement* context)
+ : JSSVGPathSeg(structure, globalObject, impl, context)
{
}
@@ -90,15 +90,17 @@ bool JSSVGPathSegMovetoRel::getOwnPropertySlot(ExecState* exec, const Identifier
JSValue jsSVGPathSegMovetoRelX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSegMovetoRel* castedThis = static_cast<JSSVGPathSegMovetoRel*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSegMovetoRel* imp = static_cast<SVGPathSegMovetoRel*>(static_cast<JSSVGPathSegMovetoRel*>(asObject(slot.slotBase()))->impl());
+ SVGPathSegMovetoRel* imp = static_cast<SVGPathSegMovetoRel*>(castedThis->impl());
return jsNumber(exec, imp->x());
}
JSValue jsSVGPathSegMovetoRelY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSegMovetoRel* castedThis = static_cast<JSSVGPathSegMovetoRel*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSegMovetoRel* imp = static_cast<SVGPathSegMovetoRel*>(static_cast<JSSVGPathSegMovetoRel*>(asObject(slot.slotBase()))->impl());
+ SVGPathSegMovetoRel* imp = static_cast<SVGPathSegMovetoRel*>(castedThis->impl());
return jsNumber(exec, imp->y());
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegMovetoRel.h b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegMovetoRel.h
index 179ea1a..c82f216 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegMovetoRel.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegMovetoRel.h
@@ -33,7 +33,7 @@ class SVGPathSegMovetoRel;
class JSSVGPathSegMovetoRel : public JSSVGPathSeg {
typedef JSSVGPathSeg Base;
public:
- JSSVGPathSegMovetoRel(PassRefPtr<JSC::Structure>, PassRefPtr<SVGPathSegMovetoRel>, SVGElement* context);
+ JSSVGPathSegMovetoRel(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGPathSegMovetoRel>, SVGElement* context);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPatternElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGPatternElement.cpp
index a01e6f2..90c5ce0 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGPatternElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPatternElement.cpp
@@ -75,7 +75,7 @@ static const HashTableValue JSSVGPatternElementTableValues[19] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGPatternElementTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGPatternElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 255, JSSVGPatternElementTableValues, 0 };
#else
@@ -91,7 +91,7 @@ static const HashTableValue JSSVGPatternElementPrototypeTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGPatternElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGPatternElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 1, JSSVGPatternElementPrototypeTableValues, 0 };
#else
@@ -112,8 +112,8 @@ bool JSSVGPatternElementPrototype::getOwnPropertySlot(ExecState* exec, const Ide
const ClassInfo JSSVGPatternElement::s_info = { "SVGPatternElement", &JSSVGElement::s_info, &JSSVGPatternElementTable, 0 };
-JSSVGPatternElement::JSSVGPatternElement(PassRefPtr<Structure> structure, PassRefPtr<SVGPatternElement> impl)
- : JSSVGElement(structure, impl)
+JSSVGPatternElement::JSSVGPatternElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGPatternElement> impl)
+ : JSSVGElement(structure, globalObject, impl)
{
}
@@ -129,140 +129,158 @@ bool JSSVGPatternElement::getOwnPropertySlot(ExecState* exec, const Identifier&
JSValue jsSVGPatternElementPatternUnits(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPatternElement* castedThis = static_cast<JSSVGPatternElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPatternElement* imp = static_cast<SVGPatternElement*>(static_cast<JSSVGPatternElement*>(asObject(slot.slotBase()))->impl());
+ SVGPatternElement* imp = static_cast<SVGPatternElement*>(castedThis->impl());
RefPtr<SVGAnimatedEnumeration> obj = imp->patternUnitsAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGPatternElementPatternContentUnits(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPatternElement* castedThis = static_cast<JSSVGPatternElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPatternElement* imp = static_cast<SVGPatternElement*>(static_cast<JSSVGPatternElement*>(asObject(slot.slotBase()))->impl());
+ SVGPatternElement* imp = static_cast<SVGPatternElement*>(castedThis->impl());
RefPtr<SVGAnimatedEnumeration> obj = imp->patternContentUnitsAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGPatternElementPatternTransform(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPatternElement* castedThis = static_cast<JSSVGPatternElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPatternElement* imp = static_cast<SVGPatternElement*>(static_cast<JSSVGPatternElement*>(asObject(slot.slotBase()))->impl());
+ SVGPatternElement* imp = static_cast<SVGPatternElement*>(castedThis->impl());
RefPtr<SVGAnimatedTransformList> obj = imp->patternTransformAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGPatternElementX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPatternElement* castedThis = static_cast<JSSVGPatternElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPatternElement* imp = static_cast<SVGPatternElement*>(static_cast<JSSVGPatternElement*>(asObject(slot.slotBase()))->impl());
+ SVGPatternElement* imp = static_cast<SVGPatternElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->xAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGPatternElementY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPatternElement* castedThis = static_cast<JSSVGPatternElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPatternElement* imp = static_cast<SVGPatternElement*>(static_cast<JSSVGPatternElement*>(asObject(slot.slotBase()))->impl());
+ SVGPatternElement* imp = static_cast<SVGPatternElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->yAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGPatternElementWidth(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPatternElement* castedThis = static_cast<JSSVGPatternElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPatternElement* imp = static_cast<SVGPatternElement*>(static_cast<JSSVGPatternElement*>(asObject(slot.slotBase()))->impl());
+ SVGPatternElement* imp = static_cast<SVGPatternElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->widthAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGPatternElementHeight(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPatternElement* castedThis = static_cast<JSSVGPatternElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPatternElement* imp = static_cast<SVGPatternElement*>(static_cast<JSSVGPatternElement*>(asObject(slot.slotBase()))->impl());
+ SVGPatternElement* imp = static_cast<SVGPatternElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->heightAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGPatternElementHref(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPatternElement* castedThis = static_cast<JSSVGPatternElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPatternElement* imp = static_cast<SVGPatternElement*>(static_cast<JSSVGPatternElement*>(asObject(slot.slotBase()))->impl());
+ SVGPatternElement* imp = static_cast<SVGPatternElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->hrefAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGPatternElementRequiredFeatures(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPatternElement* castedThis = static_cast<JSSVGPatternElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPatternElement* imp = static_cast<SVGPatternElement*>(static_cast<JSSVGPatternElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->requiredFeatures()), imp);
+ SVGPatternElement* imp = static_cast<SVGPatternElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->requiredFeatures()), imp);
}
JSValue jsSVGPatternElementRequiredExtensions(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPatternElement* castedThis = static_cast<JSSVGPatternElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPatternElement* imp = static_cast<SVGPatternElement*>(static_cast<JSSVGPatternElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->requiredExtensions()), imp);
+ SVGPatternElement* imp = static_cast<SVGPatternElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->requiredExtensions()), imp);
}
JSValue jsSVGPatternElementSystemLanguage(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPatternElement* castedThis = static_cast<JSSVGPatternElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPatternElement* imp = static_cast<SVGPatternElement*>(static_cast<JSSVGPatternElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->systemLanguage()), imp);
+ SVGPatternElement* imp = static_cast<SVGPatternElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->systemLanguage()), imp);
}
JSValue jsSVGPatternElementXmllang(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPatternElement* castedThis = static_cast<JSSVGPatternElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPatternElement* imp = static_cast<SVGPatternElement*>(static_cast<JSSVGPatternElement*>(asObject(slot.slotBase()))->impl());
+ SVGPatternElement* imp = static_cast<SVGPatternElement*>(castedThis->impl());
return jsString(exec, imp->xmllang());
}
JSValue jsSVGPatternElementXmlspace(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPatternElement* castedThis = static_cast<JSSVGPatternElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPatternElement* imp = static_cast<SVGPatternElement*>(static_cast<JSSVGPatternElement*>(asObject(slot.slotBase()))->impl());
+ SVGPatternElement* imp = static_cast<SVGPatternElement*>(castedThis->impl());
return jsString(exec, imp->xmlspace());
}
JSValue jsSVGPatternElementExternalResourcesRequired(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPatternElement* castedThis = static_cast<JSSVGPatternElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPatternElement* imp = static_cast<SVGPatternElement*>(static_cast<JSSVGPatternElement*>(asObject(slot.slotBase()))->impl());
+ SVGPatternElement* imp = static_cast<SVGPatternElement*>(castedThis->impl());
RefPtr<SVGAnimatedBoolean> obj = imp->externalResourcesRequiredAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGPatternElementClassName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPatternElement* castedThis = static_cast<JSSVGPatternElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPatternElement* imp = static_cast<SVGPatternElement*>(static_cast<JSSVGPatternElement*>(asObject(slot.slotBase()))->impl());
+ SVGPatternElement* imp = static_cast<SVGPatternElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->classNameAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGPatternElementStyle(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPatternElement* castedThis = static_cast<JSSVGPatternElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPatternElement* imp = static_cast<SVGPatternElement*>(static_cast<JSSVGPatternElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->style()));
+ SVGPatternElement* imp = static_cast<SVGPatternElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->style()));
}
JSValue jsSVGPatternElementViewBox(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPatternElement* castedThis = static_cast<JSSVGPatternElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPatternElement* imp = static_cast<SVGPatternElement*>(static_cast<JSSVGPatternElement*>(asObject(slot.slotBase()))->impl());
+ SVGPatternElement* imp = static_cast<SVGPatternElement*>(castedThis->impl());
RefPtr<SVGAnimatedRect> obj = imp->viewBoxAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGPatternElementPreserveAspectRatio(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPatternElement* castedThis = static_cast<JSSVGPatternElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPatternElement* imp = static_cast<SVGPatternElement*>(static_cast<JSSVGPatternElement*>(asObject(slot.slotBase()))->impl());
+ SVGPatternElement* imp = static_cast<SVGPatternElement*>(castedThis->impl());
RefPtr<SVGAnimatedPreserveAspectRatio> obj = imp->preserveAspectRatioAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
void JSSVGPatternElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
@@ -306,7 +324,7 @@ JSValue JSC_HOST_CALL jsSVGPatternElementPrototypeFunctionGetPresentationAttribu
const UString& name = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getPresentationAttribute(name)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getPresentationAttribute(name)));
return result;
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPatternElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGPatternElement.h
index 7541db1..db19b4b 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGPatternElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPatternElement.h
@@ -33,7 +33,7 @@ class SVGPatternElement;
class JSSVGPatternElement : public JSSVGElement {
typedef JSSVGElement Base;
public:
- JSSVGPatternElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGPatternElement>);
+ JSSVGPatternElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGPatternElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPoint.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGPoint.cpp
index ea8bc94..8eff1ca 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGPoint.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPoint.cpp
@@ -45,7 +45,7 @@ static const HashTableValue JSSVGPointTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGPointTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGPointTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 1, JSSVGPointTableValues, 0 };
#else
@@ -60,7 +60,7 @@ static const HashTableValue JSSVGPointPrototypeTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGPointPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGPointPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGPointPrototypeTableValues, 0 };
#else
@@ -81,9 +81,8 @@ bool JSSVGPointPrototype::getOwnPropertySlot(ExecState* exec, const Identifier&
const ClassInfo JSSVGPoint::s_info = { "SVGPoint", 0, &JSSVGPointTable, 0 };
-JSSVGPoint::JSSVGPoint(PassRefPtr<Structure> structure, PassRefPtr<JSSVGPODTypeWrapper<FloatPoint> > impl, SVGElement* context)
- : DOMObject(structure)
- , m_context(context)
+JSSVGPoint::JSSVGPoint(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<JSSVGPODTypeWrapper<FloatPoint> > impl, SVGElement* context)
+ : DOMObjectWithSVGContext(structure, globalObject, context)
, m_impl(impl)
{
}
@@ -105,15 +104,17 @@ bool JSSVGPoint::getOwnPropertySlot(ExecState* exec, const Identifier& propertyN
JSValue jsSVGPointX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPoint* castedThis = static_cast<JSSVGPoint*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- FloatPoint imp(*static_cast<JSSVGPoint*>(asObject(slot.slotBase()))->impl());
+ FloatPoint imp(*castedThis->impl());
return jsNumber(exec, imp.x());
}
JSValue jsSVGPointY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPoint* castedThis = static_cast<JSSVGPoint*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- FloatPoint imp(*static_cast<JSSVGPoint*>(asObject(slot.slotBase()))->impl());
+ FloatPoint imp(*castedThis->impl());
return jsNumber(exec, imp.y());
}
@@ -147,14 +148,14 @@ JSValue JSC_HOST_CALL jsSVGPointPrototypeFunctionMatrixTransform(ExecState* exec
TransformationMatrix matrix = toSVGMatrix(args.at(0));
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<FloatPoint>::create(imp.matrixTransform(matrix)).get(), castedThisObj->context());
+ JSC::JSValue result = toJS(exec, deprecatedGlobalObjectForPrototype(exec), JSSVGStaticPODTypeWrapper<FloatPoint>::create(imp.matrixTransform(matrix)).get(), castedThisObj->context());
wrapper->commitChange(imp, castedThisObj->context());
return result;
}
-JSC::JSValue toJS(JSC::ExecState* exec, JSSVGPODTypeWrapper<FloatPoint>* object, SVGElement* context)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, JSSVGPODTypeWrapper<FloatPoint>* object, SVGElement* context)
{
- return getDOMObjectWrapper<JSSVGPoint, JSSVGPODTypeWrapper<FloatPoint> >(exec, object, context);
+ return getDOMObjectWrapper<JSSVGPoint, JSSVGPODTypeWrapper<FloatPoint> >(exec, globalObject, object, context);
}
FloatPoint toSVGPoint(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPoint.h b/src/3rdparty/webkit/WebCore/generated/JSSVGPoint.h
index 95ee72d..3f1b35c 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGPoint.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPoint.h
@@ -23,6 +23,7 @@
#if ENABLE(SVG)
+#include "DOMObjectWithSVGContext.h"
#include "FloatPoint.h"
#include "JSDOMBinding.h"
#include "JSSVGPODTypeWrapper.h"
@@ -32,10 +33,10 @@
namespace WebCore {
-class JSSVGPoint : public DOMObject {
- typedef DOMObject Base;
+class JSSVGPoint : public DOMObjectWithSVGContext {
+ typedef DOMObjectWithSVGContext Base;
public:
- JSSVGPoint(PassRefPtr<JSC::Structure>, PassRefPtr<JSSVGPODTypeWrapper<FloatPoint> >, SVGElement* context);
+ JSSVGPoint(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<JSSVGPODTypeWrapper<FloatPoint> >, SVGElement* context);
virtual ~JSSVGPoint();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -48,15 +49,13 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- JSSVGPODTypeWrapper<FloatPoint>* impl() const { return m_impl.get(); }
- SVGElement* context() const { return m_context.get(); }
+ JSSVGPODTypeWrapper<FloatPoint> * impl() const { return m_impl.get(); }
private:
- RefPtr<SVGElement> m_context;
RefPtr<JSSVGPODTypeWrapper<FloatPoint> > m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, JSSVGPODTypeWrapper<FloatPoint>*, SVGElement* context);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, JSSVGPODTypeWrapper<FloatPoint>*, SVGElement* context);
FloatPoint toSVGPoint(JSC::JSValue);
class JSSVGPointPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPointList.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGPointList.cpp
index 74c85a6..b01266d 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGPointList.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPointList.cpp
@@ -43,7 +43,7 @@ static const HashTableValue JSSVGPointListTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGPointListTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGPointListTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGPointListTableValues, 0 };
#else
@@ -64,7 +64,7 @@ static const HashTableValue JSSVGPointListPrototypeTableValues[8] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGPointListPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGPointListPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 63, JSSVGPointListPrototypeTableValues, 0 };
#else
@@ -85,9 +85,8 @@ bool JSSVGPointListPrototype::getOwnPropertySlot(ExecState* exec, const Identifi
const ClassInfo JSSVGPointList::s_info = { "SVGPointList", 0, &JSSVGPointListTable, 0 };
-JSSVGPointList::JSSVGPointList(PassRefPtr<Structure> structure, PassRefPtr<SVGPointList> impl, SVGElement* context)
- : DOMObject(structure)
- , m_context(context)
+JSSVGPointList::JSSVGPointList(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGPointList> impl, SVGElement* context)
+ : DOMObjectWithSVGContext(structure, globalObject, context)
, m_impl(impl)
{
}
@@ -109,8 +108,9 @@ bool JSSVGPointList::getOwnPropertySlot(ExecState* exec, const Identifier& prope
JSValue jsSVGPointListNumberOfItems(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPointList* castedThis = static_cast<JSSVGPointList*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPointList* imp = static_cast<SVGPointList*>(static_cast<JSSVGPointList*>(asObject(slot.slotBase()))->impl());
+ SVGPointList* imp = static_cast<SVGPointList*>(castedThis->impl());
return jsNumber(exec, imp->numberOfItems());
}
@@ -177,9 +177,9 @@ JSValue JSC_HOST_CALL jsSVGPointListPrototypeFunctionAppendItem(ExecState* exec,
return castedThisObj->appendItem(exec, args);
}
-JSC::JSValue toJS(JSC::ExecState* exec, SVGPointList* object, SVGElement* context)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, SVGPointList* object, SVGElement* context)
{
- return getDOMObjectWrapper<JSSVGPointList>(exec, object, context);
+ return getDOMObjectWrapper<JSSVGPointList>(exec, globalObject, object, context);
}
SVGPointList* toSVGPointList(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPointList.h b/src/3rdparty/webkit/WebCore/generated/JSSVGPointList.h
index 29bd323..3e39aae 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGPointList.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPointList.h
@@ -23,6 +23,7 @@
#if ENABLE(SVG)
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include "SVGElement.h"
#include <runtime/JSGlobalObject.h>
@@ -32,10 +33,10 @@ namespace WebCore {
class SVGPointList;
-class JSSVGPointList : public DOMObject {
- typedef DOMObject Base;
+class JSSVGPointList : public DOMObjectWithSVGContext {
+ typedef DOMObjectWithSVGContext Base;
public:
- JSSVGPointList(PassRefPtr<JSC::Structure>, PassRefPtr<SVGPointList>, SVGElement* context);
+ JSSVGPointList(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGPointList>, SVGElement* context);
virtual ~JSSVGPointList();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -57,14 +58,12 @@ public:
JSC::JSValue removeItem(JSC::ExecState*, const JSC::ArgList&);
JSC::JSValue appendItem(JSC::ExecState*, const JSC::ArgList&);
SVGPointList* impl() const { return m_impl.get(); }
- SVGElement* context() const { return m_context.get(); }
private:
- RefPtr<SVGElement> m_context;
- RefPtr<SVGPointList > m_impl;
+ RefPtr<SVGPointList> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, SVGPointList*, SVGElement* context);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, SVGPointList*, SVGElement* context);
SVGPointList* toSVGPointList(JSC::JSValue);
class JSSVGPointListPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPolygonElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGPolygonElement.cpp
index 33a19b4..8e517a1 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGPolygonElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPolygonElement.cpp
@@ -72,7 +72,7 @@ static const HashTableValue JSSVGPolygonElementTableValues[14] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGPolygonElementTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGPolygonElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 127, JSSVGPolygonElementTableValues, 0 };
#else
@@ -92,7 +92,7 @@ static const HashTableValue JSSVGPolygonElementPrototypeTableValues[7] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGPolygonElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGPolygonElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 2047, JSSVGPolygonElementPrototypeTableValues, 0 };
#else
@@ -113,8 +113,8 @@ bool JSSVGPolygonElementPrototype::getOwnPropertySlot(ExecState* exec, const Ide
const ClassInfo JSSVGPolygonElement::s_info = { "SVGPolygonElement", &JSSVGElement::s_info, &JSSVGPolygonElementTable, 0 };
-JSSVGPolygonElement::JSSVGPolygonElement(PassRefPtr<Structure> structure, PassRefPtr<SVGPolygonElement> impl)
- : JSSVGElement(structure, impl)
+JSSVGPolygonElement::JSSVGPolygonElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGPolygonElement> impl)
+ : JSSVGElement(structure, globalObject, impl)
{
}
@@ -130,96 +130,109 @@ bool JSSVGPolygonElement::getOwnPropertySlot(ExecState* exec, const Identifier&
JSValue jsSVGPolygonElementRequiredFeatures(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPolygonElement* castedThis = static_cast<JSSVGPolygonElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPolygonElement* imp = static_cast<SVGPolygonElement*>(static_cast<JSSVGPolygonElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->requiredFeatures()), imp);
+ SVGPolygonElement* imp = static_cast<SVGPolygonElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->requiredFeatures()), imp);
}
JSValue jsSVGPolygonElementRequiredExtensions(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPolygonElement* castedThis = static_cast<JSSVGPolygonElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPolygonElement* imp = static_cast<SVGPolygonElement*>(static_cast<JSSVGPolygonElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->requiredExtensions()), imp);
+ SVGPolygonElement* imp = static_cast<SVGPolygonElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->requiredExtensions()), imp);
}
JSValue jsSVGPolygonElementSystemLanguage(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPolygonElement* castedThis = static_cast<JSSVGPolygonElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPolygonElement* imp = static_cast<SVGPolygonElement*>(static_cast<JSSVGPolygonElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->systemLanguage()), imp);
+ SVGPolygonElement* imp = static_cast<SVGPolygonElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->systemLanguage()), imp);
}
JSValue jsSVGPolygonElementXmllang(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPolygonElement* castedThis = static_cast<JSSVGPolygonElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPolygonElement* imp = static_cast<SVGPolygonElement*>(static_cast<JSSVGPolygonElement*>(asObject(slot.slotBase()))->impl());
+ SVGPolygonElement* imp = static_cast<SVGPolygonElement*>(castedThis->impl());
return jsString(exec, imp->xmllang());
}
JSValue jsSVGPolygonElementXmlspace(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPolygonElement* castedThis = static_cast<JSSVGPolygonElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPolygonElement* imp = static_cast<SVGPolygonElement*>(static_cast<JSSVGPolygonElement*>(asObject(slot.slotBase()))->impl());
+ SVGPolygonElement* imp = static_cast<SVGPolygonElement*>(castedThis->impl());
return jsString(exec, imp->xmlspace());
}
JSValue jsSVGPolygonElementExternalResourcesRequired(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPolygonElement* castedThis = static_cast<JSSVGPolygonElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPolygonElement* imp = static_cast<SVGPolygonElement*>(static_cast<JSSVGPolygonElement*>(asObject(slot.slotBase()))->impl());
+ SVGPolygonElement* imp = static_cast<SVGPolygonElement*>(castedThis->impl());
RefPtr<SVGAnimatedBoolean> obj = imp->externalResourcesRequiredAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGPolygonElementClassName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPolygonElement* castedThis = static_cast<JSSVGPolygonElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPolygonElement* imp = static_cast<SVGPolygonElement*>(static_cast<JSSVGPolygonElement*>(asObject(slot.slotBase()))->impl());
+ SVGPolygonElement* imp = static_cast<SVGPolygonElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->classNameAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGPolygonElementStyle(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPolygonElement* castedThis = static_cast<JSSVGPolygonElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPolygonElement* imp = static_cast<SVGPolygonElement*>(static_cast<JSSVGPolygonElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->style()));
+ SVGPolygonElement* imp = static_cast<SVGPolygonElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->style()));
}
JSValue jsSVGPolygonElementTransform(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPolygonElement* castedThis = static_cast<JSSVGPolygonElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPolygonElement* imp = static_cast<SVGPolygonElement*>(static_cast<JSSVGPolygonElement*>(asObject(slot.slotBase()))->impl());
+ SVGPolygonElement* imp = static_cast<SVGPolygonElement*>(castedThis->impl());
RefPtr<SVGAnimatedTransformList> obj = imp->transformAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGPolygonElementNearestViewportElement(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPolygonElement* castedThis = static_cast<JSSVGPolygonElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPolygonElement* imp = static_cast<SVGPolygonElement*>(static_cast<JSSVGPolygonElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->nearestViewportElement()));
+ SVGPolygonElement* imp = static_cast<SVGPolygonElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->nearestViewportElement()));
}
JSValue jsSVGPolygonElementFarthestViewportElement(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPolygonElement* castedThis = static_cast<JSSVGPolygonElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPolygonElement* imp = static_cast<SVGPolygonElement*>(static_cast<JSSVGPolygonElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->farthestViewportElement()));
+ SVGPolygonElement* imp = static_cast<SVGPolygonElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->farthestViewportElement()));
}
JSValue jsSVGPolygonElementPoints(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPolygonElement* castedThis = static_cast<JSSVGPolygonElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPolygonElement* imp = static_cast<SVGPolygonElement*>(static_cast<JSSVGPolygonElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->points()), imp);
+ SVGPolygonElement* imp = static_cast<SVGPolygonElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->points()), imp);
}
JSValue jsSVGPolygonElementAnimatedPoints(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPolygonElement* castedThis = static_cast<JSSVGPolygonElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPolygonElement* imp = static_cast<SVGPolygonElement*>(static_cast<JSSVGPolygonElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->animatedPoints()), imp);
+ SVGPolygonElement* imp = static_cast<SVGPolygonElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->animatedPoints()), imp);
}
void JSSVGPolygonElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
@@ -263,7 +276,7 @@ JSValue JSC_HOST_CALL jsSVGPolygonElementPrototypeFunctionGetPresentationAttribu
const UString& name = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getPresentationAttribute(name)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getPresentationAttribute(name)));
return result;
}
@@ -276,7 +289,7 @@ JSValue JSC_HOST_CALL jsSVGPolygonElementPrototypeFunctionGetBBox(ExecState* exe
SVGPolygonElement* imp = static_cast<SVGPolygonElement*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<FloatRect>::create(imp->getBBox()).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<FloatRect>::create(imp->getBBox()).get(), imp);
return result;
}
@@ -289,7 +302,7 @@ JSValue JSC_HOST_CALL jsSVGPolygonElementPrototypeFunctionGetCTM(ExecState* exec
SVGPolygonElement* imp = static_cast<SVGPolygonElement*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getCTM()).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getCTM()).get(), imp);
return result;
}
@@ -302,7 +315,7 @@ JSValue JSC_HOST_CALL jsSVGPolygonElementPrototypeFunctionGetScreenCTM(ExecState
SVGPolygonElement* imp = static_cast<SVGPolygonElement*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getScreenCTM()).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getScreenCTM()).get(), imp);
return result;
}
@@ -317,7 +330,7 @@ JSValue JSC_HOST_CALL jsSVGPolygonElementPrototypeFunctionGetTransformToElement(
SVGElement* element = toSVGElement(args.at(0));
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getTransformToElement(element, ec)).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getTransformToElement(element, ec)).get(), imp);
setDOMException(exec, ec);
return result;
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPolygonElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGPolygonElement.h
index b4c3131..f07549c 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGPolygonElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPolygonElement.h
@@ -33,7 +33,7 @@ class SVGPolygonElement;
class JSSVGPolygonElement : public JSSVGElement {
typedef JSSVGElement Base;
public:
- JSSVGPolygonElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGPolygonElement>);
+ JSSVGPolygonElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGPolygonElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPolylineElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGPolylineElement.cpp
index a04f5fa..6bd7b70 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGPolylineElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPolylineElement.cpp
@@ -72,7 +72,7 @@ static const HashTableValue JSSVGPolylineElementTableValues[14] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGPolylineElementTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGPolylineElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 127, JSSVGPolylineElementTableValues, 0 };
#else
@@ -92,7 +92,7 @@ static const HashTableValue JSSVGPolylineElementPrototypeTableValues[7] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGPolylineElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGPolylineElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 2047, JSSVGPolylineElementPrototypeTableValues, 0 };
#else
@@ -113,8 +113,8 @@ bool JSSVGPolylineElementPrototype::getOwnPropertySlot(ExecState* exec, const Id
const ClassInfo JSSVGPolylineElement::s_info = { "SVGPolylineElement", &JSSVGElement::s_info, &JSSVGPolylineElementTable, 0 };
-JSSVGPolylineElement::JSSVGPolylineElement(PassRefPtr<Structure> structure, PassRefPtr<SVGPolylineElement> impl)
- : JSSVGElement(structure, impl)
+JSSVGPolylineElement::JSSVGPolylineElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGPolylineElement> impl)
+ : JSSVGElement(structure, globalObject, impl)
{
}
@@ -130,96 +130,109 @@ bool JSSVGPolylineElement::getOwnPropertySlot(ExecState* exec, const Identifier&
JSValue jsSVGPolylineElementRequiredFeatures(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPolylineElement* castedThis = static_cast<JSSVGPolylineElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPolylineElement* imp = static_cast<SVGPolylineElement*>(static_cast<JSSVGPolylineElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->requiredFeatures()), imp);
+ SVGPolylineElement* imp = static_cast<SVGPolylineElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->requiredFeatures()), imp);
}
JSValue jsSVGPolylineElementRequiredExtensions(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPolylineElement* castedThis = static_cast<JSSVGPolylineElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPolylineElement* imp = static_cast<SVGPolylineElement*>(static_cast<JSSVGPolylineElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->requiredExtensions()), imp);
+ SVGPolylineElement* imp = static_cast<SVGPolylineElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->requiredExtensions()), imp);
}
JSValue jsSVGPolylineElementSystemLanguage(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPolylineElement* castedThis = static_cast<JSSVGPolylineElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPolylineElement* imp = static_cast<SVGPolylineElement*>(static_cast<JSSVGPolylineElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->systemLanguage()), imp);
+ SVGPolylineElement* imp = static_cast<SVGPolylineElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->systemLanguage()), imp);
}
JSValue jsSVGPolylineElementXmllang(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPolylineElement* castedThis = static_cast<JSSVGPolylineElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPolylineElement* imp = static_cast<SVGPolylineElement*>(static_cast<JSSVGPolylineElement*>(asObject(slot.slotBase()))->impl());
+ SVGPolylineElement* imp = static_cast<SVGPolylineElement*>(castedThis->impl());
return jsString(exec, imp->xmllang());
}
JSValue jsSVGPolylineElementXmlspace(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPolylineElement* castedThis = static_cast<JSSVGPolylineElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPolylineElement* imp = static_cast<SVGPolylineElement*>(static_cast<JSSVGPolylineElement*>(asObject(slot.slotBase()))->impl());
+ SVGPolylineElement* imp = static_cast<SVGPolylineElement*>(castedThis->impl());
return jsString(exec, imp->xmlspace());
}
JSValue jsSVGPolylineElementExternalResourcesRequired(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPolylineElement* castedThis = static_cast<JSSVGPolylineElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPolylineElement* imp = static_cast<SVGPolylineElement*>(static_cast<JSSVGPolylineElement*>(asObject(slot.slotBase()))->impl());
+ SVGPolylineElement* imp = static_cast<SVGPolylineElement*>(castedThis->impl());
RefPtr<SVGAnimatedBoolean> obj = imp->externalResourcesRequiredAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGPolylineElementClassName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPolylineElement* castedThis = static_cast<JSSVGPolylineElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPolylineElement* imp = static_cast<SVGPolylineElement*>(static_cast<JSSVGPolylineElement*>(asObject(slot.slotBase()))->impl());
+ SVGPolylineElement* imp = static_cast<SVGPolylineElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->classNameAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGPolylineElementStyle(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPolylineElement* castedThis = static_cast<JSSVGPolylineElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPolylineElement* imp = static_cast<SVGPolylineElement*>(static_cast<JSSVGPolylineElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->style()));
+ SVGPolylineElement* imp = static_cast<SVGPolylineElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->style()));
}
JSValue jsSVGPolylineElementTransform(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPolylineElement* castedThis = static_cast<JSSVGPolylineElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPolylineElement* imp = static_cast<SVGPolylineElement*>(static_cast<JSSVGPolylineElement*>(asObject(slot.slotBase()))->impl());
+ SVGPolylineElement* imp = static_cast<SVGPolylineElement*>(castedThis->impl());
RefPtr<SVGAnimatedTransformList> obj = imp->transformAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGPolylineElementNearestViewportElement(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPolylineElement* castedThis = static_cast<JSSVGPolylineElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPolylineElement* imp = static_cast<SVGPolylineElement*>(static_cast<JSSVGPolylineElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->nearestViewportElement()));
+ SVGPolylineElement* imp = static_cast<SVGPolylineElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->nearestViewportElement()));
}
JSValue jsSVGPolylineElementFarthestViewportElement(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPolylineElement* castedThis = static_cast<JSSVGPolylineElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPolylineElement* imp = static_cast<SVGPolylineElement*>(static_cast<JSSVGPolylineElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->farthestViewportElement()));
+ SVGPolylineElement* imp = static_cast<SVGPolylineElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->farthestViewportElement()));
}
JSValue jsSVGPolylineElementPoints(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPolylineElement* castedThis = static_cast<JSSVGPolylineElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPolylineElement* imp = static_cast<SVGPolylineElement*>(static_cast<JSSVGPolylineElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->points()), imp);
+ SVGPolylineElement* imp = static_cast<SVGPolylineElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->points()), imp);
}
JSValue jsSVGPolylineElementAnimatedPoints(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPolylineElement* castedThis = static_cast<JSSVGPolylineElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPolylineElement* imp = static_cast<SVGPolylineElement*>(static_cast<JSSVGPolylineElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->animatedPoints()), imp);
+ SVGPolylineElement* imp = static_cast<SVGPolylineElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->animatedPoints()), imp);
}
void JSSVGPolylineElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
@@ -263,7 +276,7 @@ JSValue JSC_HOST_CALL jsSVGPolylineElementPrototypeFunctionGetPresentationAttrib
const UString& name = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getPresentationAttribute(name)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getPresentationAttribute(name)));
return result;
}
@@ -276,7 +289,7 @@ JSValue JSC_HOST_CALL jsSVGPolylineElementPrototypeFunctionGetBBox(ExecState* ex
SVGPolylineElement* imp = static_cast<SVGPolylineElement*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<FloatRect>::create(imp->getBBox()).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<FloatRect>::create(imp->getBBox()).get(), imp);
return result;
}
@@ -289,7 +302,7 @@ JSValue JSC_HOST_CALL jsSVGPolylineElementPrototypeFunctionGetCTM(ExecState* exe
SVGPolylineElement* imp = static_cast<SVGPolylineElement*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getCTM()).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getCTM()).get(), imp);
return result;
}
@@ -302,7 +315,7 @@ JSValue JSC_HOST_CALL jsSVGPolylineElementPrototypeFunctionGetScreenCTM(ExecStat
SVGPolylineElement* imp = static_cast<SVGPolylineElement*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getScreenCTM()).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getScreenCTM()).get(), imp);
return result;
}
@@ -317,7 +330,7 @@ JSValue JSC_HOST_CALL jsSVGPolylineElementPrototypeFunctionGetTransformToElement
SVGElement* element = toSVGElement(args.at(0));
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getTransformToElement(element, ec)).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getTransformToElement(element, ec)).get(), imp);
setDOMException(exec, ec);
return result;
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPolylineElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGPolylineElement.h
index 6501a25..8260e0d 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGPolylineElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPolylineElement.h
@@ -33,7 +33,7 @@ class SVGPolylineElement;
class JSSVGPolylineElement : public JSSVGElement {
typedef JSSVGElement Base;
public:
- JSSVGPolylineElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGPolylineElement>);
+ JSSVGPolylineElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGPolylineElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPreserveAspectRatio.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGPreserveAspectRatio.cpp
index b586e60..dd40aff 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGPreserveAspectRatio.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPreserveAspectRatio.cpp
@@ -44,7 +44,7 @@ static const HashTableValue JSSVGPreserveAspectRatioTableValues[4] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGPreserveAspectRatioTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGPreserveAspectRatioTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 7, JSSVGPreserveAspectRatioTableValues, 0 };
#else
@@ -72,19 +72,19 @@ static const HashTableValue JSSVGPreserveAspectRatioConstructorTableValues[15] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGPreserveAspectRatioConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGPreserveAspectRatioConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 127, JSSVGPreserveAspectRatioConstructorTableValues, 0 };
#else
{ 35, 31, JSSVGPreserveAspectRatioConstructorTableValues, 0 };
#endif
-class JSSVGPreserveAspectRatioConstructor : public DOMObject {
+class JSSVGPreserveAspectRatioConstructor : public DOMConstructorObject {
public:
- JSSVGPreserveAspectRatioConstructor(ExecState* exec)
- : DOMObject(JSSVGPreserveAspectRatioConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSSVGPreserveAspectRatioConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSSVGPreserveAspectRatioConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSSVGPreserveAspectRatioPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSSVGPreserveAspectRatioPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -124,7 +124,7 @@ static const HashTableValue JSSVGPreserveAspectRatioPrototypeTableValues[15] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGPreserveAspectRatioPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGPreserveAspectRatioPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 127, JSSVGPreserveAspectRatioPrototypeTableValues, 0 };
#else
@@ -145,9 +145,8 @@ bool JSSVGPreserveAspectRatioPrototype::getOwnPropertySlot(ExecState* exec, cons
const ClassInfo JSSVGPreserveAspectRatio::s_info = { "SVGPreserveAspectRatio", 0, &JSSVGPreserveAspectRatioTable, 0 };
-JSSVGPreserveAspectRatio::JSSVGPreserveAspectRatio(PassRefPtr<Structure> structure, PassRefPtr<SVGPreserveAspectRatio> impl, SVGElement* context)
- : DOMObject(structure)
- , m_context(context)
+JSSVGPreserveAspectRatio::JSSVGPreserveAspectRatio(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGPreserveAspectRatio> impl, SVGElement* context)
+ : DOMObjectWithSVGContext(structure, globalObject, context)
, m_impl(impl)
{
}
@@ -169,21 +168,24 @@ bool JSSVGPreserveAspectRatio::getOwnPropertySlot(ExecState* exec, const Identif
JSValue jsSVGPreserveAspectRatioAlign(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPreserveAspectRatio* castedThis = static_cast<JSSVGPreserveAspectRatio*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPreserveAspectRatio* imp = static_cast<SVGPreserveAspectRatio*>(static_cast<JSSVGPreserveAspectRatio*>(asObject(slot.slotBase()))->impl());
+ SVGPreserveAspectRatio* imp = static_cast<SVGPreserveAspectRatio*>(castedThis->impl());
return jsNumber(exec, imp->align());
}
JSValue jsSVGPreserveAspectRatioMeetOrSlice(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPreserveAspectRatio* castedThis = static_cast<JSSVGPreserveAspectRatio*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPreserveAspectRatio* imp = static_cast<SVGPreserveAspectRatio*>(static_cast<JSSVGPreserveAspectRatio*>(asObject(slot.slotBase()))->impl());
+ SVGPreserveAspectRatio* imp = static_cast<SVGPreserveAspectRatio*>(castedThis->impl());
return jsNumber(exec, imp->meetOrSlice());
}
JSValue jsSVGPreserveAspectRatioConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSSVGPreserveAspectRatio*>(asObject(slot.slotBase()))->getConstructor(exec);
+ UNUSED_PARAM(slot);
+ return JSSVGPreserveAspectRatio::getConstructor(exec, deprecatedGlobalObjectForPrototype(exec));
}
void JSSVGPreserveAspectRatio::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -206,9 +208,9 @@ void setJSSVGPreserveAspectRatioMeetOrSlice(ExecState* exec, JSObject* thisObjec
static_cast<JSSVGPreserveAspectRatio*>(thisObject)->context()->svgAttributeChanged(static_cast<JSSVGPreserveAspectRatio*>(thisObject)->impl()->associatedAttributeName());
}
-JSValue JSSVGPreserveAspectRatio::getConstructor(ExecState* exec)
+JSValue JSSVGPreserveAspectRatio::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSSVGPreserveAspectRatioConstructor>(exec);
+ return getDOMConstructor<JSSVGPreserveAspectRatioConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
// Constant getters
@@ -283,9 +285,9 @@ JSValue jsSVGPreserveAspectRatioSVG_MEETORSLICE_SLICE(ExecState* exec, const Ide
return jsNumber(exec, static_cast<int>(2));
}
-JSC::JSValue toJS(JSC::ExecState* exec, SVGPreserveAspectRatio* object, SVGElement* context)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, SVGPreserveAspectRatio* object, SVGElement* context)
{
- return getDOMObjectWrapper<JSSVGPreserveAspectRatio>(exec, object, context);
+ return getDOMObjectWrapper<JSSVGPreserveAspectRatio>(exec, globalObject, object, context);
}
SVGPreserveAspectRatio* toSVGPreserveAspectRatio(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPreserveAspectRatio.h b/src/3rdparty/webkit/WebCore/generated/JSSVGPreserveAspectRatio.h
index d8c7fc8..7835542 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGPreserveAspectRatio.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPreserveAspectRatio.h
@@ -23,6 +23,7 @@
#if ENABLE(SVG)
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include "SVGElement.h"
#include <runtime/JSGlobalObject.h>
@@ -32,10 +33,10 @@ namespace WebCore {
class SVGPreserveAspectRatio;
-class JSSVGPreserveAspectRatio : public DOMObject {
- typedef DOMObject Base;
+class JSSVGPreserveAspectRatio : public DOMObjectWithSVGContext {
+ typedef DOMObjectWithSVGContext Base;
public:
- JSSVGPreserveAspectRatio(PassRefPtr<JSC::Structure>, PassRefPtr<SVGPreserveAspectRatio>, SVGElement* context);
+ JSSVGPreserveAspectRatio(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGPreserveAspectRatio>, SVGElement* context);
virtual ~JSSVGPreserveAspectRatio();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -48,16 +49,14 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
SVGPreserveAspectRatio* impl() const { return m_impl.get(); }
- SVGElement* context() const { return m_context.get(); }
private:
- RefPtr<SVGElement> m_context;
- RefPtr<SVGPreserveAspectRatio > m_impl;
+ RefPtr<SVGPreserveAspectRatio> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, SVGPreserveAspectRatio*, SVGElement* context);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, SVGPreserveAspectRatio*, SVGElement* context);
SVGPreserveAspectRatio* toSVGPreserveAspectRatio(JSC::JSValue);
class JSSVGPreserveAspectRatioPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGRadialGradientElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGRadialGradientElement.cpp
index b888704..b6e6e63 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGRadialGradientElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGRadialGradientElement.cpp
@@ -46,7 +46,7 @@ static const HashTableValue JSSVGRadialGradientElementTableValues[6] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGRadialGradientElementTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGRadialGradientElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 255, JSSVGRadialGradientElementTableValues, 0 };
#else
@@ -60,7 +60,7 @@ static const HashTableValue JSSVGRadialGradientElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGRadialGradientElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGRadialGradientElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGRadialGradientElementPrototypeTableValues, 0 };
#else
@@ -76,8 +76,8 @@ JSObject* JSSVGRadialGradientElementPrototype::self(ExecState* exec, JSGlobalObj
const ClassInfo JSSVGRadialGradientElement::s_info = { "SVGRadialGradientElement", &JSSVGGradientElement::s_info, &JSSVGRadialGradientElementTable, 0 };
-JSSVGRadialGradientElement::JSSVGRadialGradientElement(PassRefPtr<Structure> structure, PassRefPtr<SVGRadialGradientElement> impl)
- : JSSVGGradientElement(structure, impl)
+JSSVGRadialGradientElement::JSSVGRadialGradientElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGRadialGradientElement> impl)
+ : JSSVGGradientElement(structure, globalObject, impl)
{
}
@@ -93,42 +93,47 @@ bool JSSVGRadialGradientElement::getOwnPropertySlot(ExecState* exec, const Ident
JSValue jsSVGRadialGradientElementCx(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGRadialGradientElement* castedThis = static_cast<JSSVGRadialGradientElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGRadialGradientElement* imp = static_cast<SVGRadialGradientElement*>(static_cast<JSSVGRadialGradientElement*>(asObject(slot.slotBase()))->impl());
+ SVGRadialGradientElement* imp = static_cast<SVGRadialGradientElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->cxAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGRadialGradientElementCy(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGRadialGradientElement* castedThis = static_cast<JSSVGRadialGradientElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGRadialGradientElement* imp = static_cast<SVGRadialGradientElement*>(static_cast<JSSVGRadialGradientElement*>(asObject(slot.slotBase()))->impl());
+ SVGRadialGradientElement* imp = static_cast<SVGRadialGradientElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->cyAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGRadialGradientElementR(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGRadialGradientElement* castedThis = static_cast<JSSVGRadialGradientElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGRadialGradientElement* imp = static_cast<SVGRadialGradientElement*>(static_cast<JSSVGRadialGradientElement*>(asObject(slot.slotBase()))->impl());
+ SVGRadialGradientElement* imp = static_cast<SVGRadialGradientElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->rAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGRadialGradientElementFx(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGRadialGradientElement* castedThis = static_cast<JSSVGRadialGradientElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGRadialGradientElement* imp = static_cast<SVGRadialGradientElement*>(static_cast<JSSVGRadialGradientElement*>(asObject(slot.slotBase()))->impl());
+ SVGRadialGradientElement* imp = static_cast<SVGRadialGradientElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->fxAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGRadialGradientElementFy(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGRadialGradientElement* castedThis = static_cast<JSSVGRadialGradientElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGRadialGradientElement* imp = static_cast<SVGRadialGradientElement*>(static_cast<JSSVGRadialGradientElement*>(asObject(slot.slotBase()))->impl());
+ SVGRadialGradientElement* imp = static_cast<SVGRadialGradientElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->fyAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGRadialGradientElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGRadialGradientElement.h
index a0e34a5..575f511 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGRadialGradientElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGRadialGradientElement.h
@@ -33,7 +33,7 @@ class SVGRadialGradientElement;
class JSSVGRadialGradientElement : public JSSVGGradientElement {
typedef JSSVGGradientElement Base;
public:
- JSSVGRadialGradientElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGRadialGradientElement>);
+ JSSVGRadialGradientElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGRadialGradientElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGRect.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGRect.cpp
index 8e857f2..6dc78d7 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGRect.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGRect.cpp
@@ -44,7 +44,7 @@ static const HashTableValue JSSVGRectTableValues[5] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGRectTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGRectTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSSVGRectTableValues, 0 };
#else
@@ -58,7 +58,7 @@ static const HashTableValue JSSVGRectPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGRectPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGRectPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGRectPrototypeTableValues, 0 };
#else
@@ -74,9 +74,8 @@ JSObject* JSSVGRectPrototype::self(ExecState* exec, JSGlobalObject* globalObject
const ClassInfo JSSVGRect::s_info = { "SVGRect", 0, &JSSVGRectTable, 0 };
-JSSVGRect::JSSVGRect(PassRefPtr<Structure> structure, PassRefPtr<JSSVGPODTypeWrapper<FloatRect> > impl, SVGElement* context)
- : DOMObject(structure)
- , m_context(context)
+JSSVGRect::JSSVGRect(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<JSSVGPODTypeWrapper<FloatRect> > impl, SVGElement* context)
+ : DOMObjectWithSVGContext(structure, globalObject, context)
, m_impl(impl)
{
}
@@ -99,29 +98,33 @@ bool JSSVGRect::getOwnPropertySlot(ExecState* exec, const Identifier& propertyNa
JSValue jsSVGRectX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGRect* castedThis = static_cast<JSSVGRect*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- FloatRect imp(*static_cast<JSSVGRect*>(asObject(slot.slotBase()))->impl());
+ FloatRect imp(*castedThis->impl());
return jsNumber(exec, imp.x());
}
JSValue jsSVGRectY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGRect* castedThis = static_cast<JSSVGRect*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- FloatRect imp(*static_cast<JSSVGRect*>(asObject(slot.slotBase()))->impl());
+ FloatRect imp(*castedThis->impl());
return jsNumber(exec, imp.y());
}
JSValue jsSVGRectWidth(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGRect* castedThis = static_cast<JSSVGRect*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- FloatRect imp(*static_cast<JSSVGRect*>(asObject(slot.slotBase()))->impl());
+ FloatRect imp(*castedThis->impl());
return jsNumber(exec, imp.width());
}
JSValue jsSVGRectHeight(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGRect* castedThis = static_cast<JSSVGRect*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- FloatRect imp(*static_cast<JSSVGRect*>(asObject(slot.slotBase()))->impl());
+ FloatRect imp(*castedThis->impl());
return jsNumber(exec, imp.height());
}
@@ -158,9 +161,9 @@ void setJSSVGRectHeight(ExecState* exec, JSObject* thisObject, JSValue value)
static_cast<JSSVGRect*>(thisObject)->impl()->commitChange(imp, static_cast<JSSVGRect*>(thisObject)->context());
}
-JSC::JSValue toJS(JSC::ExecState* exec, JSSVGPODTypeWrapper<FloatRect>* object, SVGElement* context)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, JSSVGPODTypeWrapper<FloatRect>* object, SVGElement* context)
{
- return getDOMObjectWrapper<JSSVGRect, JSSVGPODTypeWrapper<FloatRect> >(exec, object, context);
+ return getDOMObjectWrapper<JSSVGRect, JSSVGPODTypeWrapper<FloatRect> >(exec, globalObject, object, context);
}
FloatRect toSVGRect(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGRect.h b/src/3rdparty/webkit/WebCore/generated/JSSVGRect.h
index b699a03..4a077d6 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGRect.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGRect.h
@@ -23,6 +23,7 @@
#if ENABLE(SVG)
+#include "DOMObjectWithSVGContext.h"
#include "FloatRect.h"
#include "JSDOMBinding.h"
#include "JSSVGPODTypeWrapper.h"
@@ -32,10 +33,10 @@
namespace WebCore {
-class JSSVGRect : public DOMObject {
- typedef DOMObject Base;
+class JSSVGRect : public DOMObjectWithSVGContext {
+ typedef DOMObjectWithSVGContext Base;
public:
- JSSVGRect(PassRefPtr<JSC::Structure>, PassRefPtr<JSSVGPODTypeWrapper<FloatRect> >, SVGElement* context);
+ JSSVGRect(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<JSSVGPODTypeWrapper<FloatRect> >, SVGElement* context);
virtual ~JSSVGRect();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -48,15 +49,13 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- JSSVGPODTypeWrapper<FloatRect>* impl() const { return m_impl.get(); }
- SVGElement* context() const { return m_context.get(); }
+ JSSVGPODTypeWrapper<FloatRect> * impl() const { return m_impl.get(); }
private:
- RefPtr<SVGElement> m_context;
RefPtr<JSSVGPODTypeWrapper<FloatRect> > m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, JSSVGPODTypeWrapper<FloatRect>*, SVGElement* context);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, JSSVGPODTypeWrapper<FloatRect>*, SVGElement* context);
FloatRect toSVGRect(JSC::JSValue);
class JSSVGRectPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGRectElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGRectElement.cpp
index 2f97100..9f1f76d 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGRectElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGRectElement.cpp
@@ -75,7 +75,7 @@ static const HashTableValue JSSVGRectElementTableValues[18] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGRectElementTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGRectElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 8191, JSSVGRectElementTableValues, 0 };
#else
@@ -95,7 +95,7 @@ static const HashTableValue JSSVGRectElementPrototypeTableValues[7] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGRectElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGRectElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 2047, JSSVGRectElementPrototypeTableValues, 0 };
#else
@@ -116,8 +116,8 @@ bool JSSVGRectElementPrototype::getOwnPropertySlot(ExecState* exec, const Identi
const ClassInfo JSSVGRectElement::s_info = { "SVGRectElement", &JSSVGElement::s_info, &JSSVGRectElementTable, 0 };
-JSSVGRectElement::JSSVGRectElement(PassRefPtr<Structure> structure, PassRefPtr<SVGRectElement> impl)
- : JSSVGElement(structure, impl)
+JSSVGRectElement::JSSVGRectElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGRectElement> impl)
+ : JSSVGElement(structure, globalObject, impl)
{
}
@@ -133,130 +133,147 @@ bool JSSVGRectElement::getOwnPropertySlot(ExecState* exec, const Identifier& pro
JSValue jsSVGRectElementX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGRectElement* castedThis = static_cast<JSSVGRectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGRectElement* imp = static_cast<SVGRectElement*>(static_cast<JSSVGRectElement*>(asObject(slot.slotBase()))->impl());
+ SVGRectElement* imp = static_cast<SVGRectElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->xAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGRectElementY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGRectElement* castedThis = static_cast<JSSVGRectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGRectElement* imp = static_cast<SVGRectElement*>(static_cast<JSSVGRectElement*>(asObject(slot.slotBase()))->impl());
+ SVGRectElement* imp = static_cast<SVGRectElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->yAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGRectElementWidth(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGRectElement* castedThis = static_cast<JSSVGRectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGRectElement* imp = static_cast<SVGRectElement*>(static_cast<JSSVGRectElement*>(asObject(slot.slotBase()))->impl());
+ SVGRectElement* imp = static_cast<SVGRectElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->widthAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGRectElementHeight(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGRectElement* castedThis = static_cast<JSSVGRectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGRectElement* imp = static_cast<SVGRectElement*>(static_cast<JSSVGRectElement*>(asObject(slot.slotBase()))->impl());
+ SVGRectElement* imp = static_cast<SVGRectElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->heightAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGRectElementRx(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGRectElement* castedThis = static_cast<JSSVGRectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGRectElement* imp = static_cast<SVGRectElement*>(static_cast<JSSVGRectElement*>(asObject(slot.slotBase()))->impl());
+ SVGRectElement* imp = static_cast<SVGRectElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->rxAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGRectElementRy(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGRectElement* castedThis = static_cast<JSSVGRectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGRectElement* imp = static_cast<SVGRectElement*>(static_cast<JSSVGRectElement*>(asObject(slot.slotBase()))->impl());
+ SVGRectElement* imp = static_cast<SVGRectElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->ryAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGRectElementRequiredFeatures(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGRectElement* castedThis = static_cast<JSSVGRectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGRectElement* imp = static_cast<SVGRectElement*>(static_cast<JSSVGRectElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->requiredFeatures()), imp);
+ SVGRectElement* imp = static_cast<SVGRectElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->requiredFeatures()), imp);
}
JSValue jsSVGRectElementRequiredExtensions(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGRectElement* castedThis = static_cast<JSSVGRectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGRectElement* imp = static_cast<SVGRectElement*>(static_cast<JSSVGRectElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->requiredExtensions()), imp);
+ SVGRectElement* imp = static_cast<SVGRectElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->requiredExtensions()), imp);
}
JSValue jsSVGRectElementSystemLanguage(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGRectElement* castedThis = static_cast<JSSVGRectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGRectElement* imp = static_cast<SVGRectElement*>(static_cast<JSSVGRectElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->systemLanguage()), imp);
+ SVGRectElement* imp = static_cast<SVGRectElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->systemLanguage()), imp);
}
JSValue jsSVGRectElementXmllang(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGRectElement* castedThis = static_cast<JSSVGRectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGRectElement* imp = static_cast<SVGRectElement*>(static_cast<JSSVGRectElement*>(asObject(slot.slotBase()))->impl());
+ SVGRectElement* imp = static_cast<SVGRectElement*>(castedThis->impl());
return jsString(exec, imp->xmllang());
}
JSValue jsSVGRectElementXmlspace(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGRectElement* castedThis = static_cast<JSSVGRectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGRectElement* imp = static_cast<SVGRectElement*>(static_cast<JSSVGRectElement*>(asObject(slot.slotBase()))->impl());
+ SVGRectElement* imp = static_cast<SVGRectElement*>(castedThis->impl());
return jsString(exec, imp->xmlspace());
}
JSValue jsSVGRectElementExternalResourcesRequired(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGRectElement* castedThis = static_cast<JSSVGRectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGRectElement* imp = static_cast<SVGRectElement*>(static_cast<JSSVGRectElement*>(asObject(slot.slotBase()))->impl());
+ SVGRectElement* imp = static_cast<SVGRectElement*>(castedThis->impl());
RefPtr<SVGAnimatedBoolean> obj = imp->externalResourcesRequiredAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGRectElementClassName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGRectElement* castedThis = static_cast<JSSVGRectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGRectElement* imp = static_cast<SVGRectElement*>(static_cast<JSSVGRectElement*>(asObject(slot.slotBase()))->impl());
+ SVGRectElement* imp = static_cast<SVGRectElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->classNameAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGRectElementStyle(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGRectElement* castedThis = static_cast<JSSVGRectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGRectElement* imp = static_cast<SVGRectElement*>(static_cast<JSSVGRectElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->style()));
+ SVGRectElement* imp = static_cast<SVGRectElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->style()));
}
JSValue jsSVGRectElementTransform(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGRectElement* castedThis = static_cast<JSSVGRectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGRectElement* imp = static_cast<SVGRectElement*>(static_cast<JSSVGRectElement*>(asObject(slot.slotBase()))->impl());
+ SVGRectElement* imp = static_cast<SVGRectElement*>(castedThis->impl());
RefPtr<SVGAnimatedTransformList> obj = imp->transformAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGRectElementNearestViewportElement(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGRectElement* castedThis = static_cast<JSSVGRectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGRectElement* imp = static_cast<SVGRectElement*>(static_cast<JSSVGRectElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->nearestViewportElement()));
+ SVGRectElement* imp = static_cast<SVGRectElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->nearestViewportElement()));
}
JSValue jsSVGRectElementFarthestViewportElement(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGRectElement* castedThis = static_cast<JSSVGRectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGRectElement* imp = static_cast<SVGRectElement*>(static_cast<JSSVGRectElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->farthestViewportElement()));
+ SVGRectElement* imp = static_cast<SVGRectElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->farthestViewportElement()));
}
void JSSVGRectElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
@@ -300,7 +317,7 @@ JSValue JSC_HOST_CALL jsSVGRectElementPrototypeFunctionGetPresentationAttribute(
const UString& name = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getPresentationAttribute(name)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getPresentationAttribute(name)));
return result;
}
@@ -313,7 +330,7 @@ JSValue JSC_HOST_CALL jsSVGRectElementPrototypeFunctionGetBBox(ExecState* exec,
SVGRectElement* imp = static_cast<SVGRectElement*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<FloatRect>::create(imp->getBBox()).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<FloatRect>::create(imp->getBBox()).get(), imp);
return result;
}
@@ -326,7 +343,7 @@ JSValue JSC_HOST_CALL jsSVGRectElementPrototypeFunctionGetCTM(ExecState* exec, J
SVGRectElement* imp = static_cast<SVGRectElement*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getCTM()).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getCTM()).get(), imp);
return result;
}
@@ -339,7 +356,7 @@ JSValue JSC_HOST_CALL jsSVGRectElementPrototypeFunctionGetScreenCTM(ExecState* e
SVGRectElement* imp = static_cast<SVGRectElement*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getScreenCTM()).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getScreenCTM()).get(), imp);
return result;
}
@@ -354,7 +371,7 @@ JSValue JSC_HOST_CALL jsSVGRectElementPrototypeFunctionGetTransformToElement(Exe
SVGElement* element = toSVGElement(args.at(0));
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getTransformToElement(element, ec)).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getTransformToElement(element, ec)).get(), imp);
setDOMException(exec, ec);
return result;
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGRectElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGRectElement.h
index 342b4be..d20104b 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGRectElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGRectElement.h
@@ -33,7 +33,7 @@ class SVGRectElement;
class JSSVGRectElement : public JSSVGElement {
typedef JSSVGElement Base;
public:
- JSSVGRectElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGRectElement>);
+ JSSVGRectElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGRectElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGRenderingIntent.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGRenderingIntent.cpp
index 97df330..9934b0b 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGRenderingIntent.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGRenderingIntent.cpp
@@ -41,7 +41,7 @@ static const HashTableValue JSSVGRenderingIntentTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGRenderingIntentTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGRenderingIntentTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGRenderingIntentTableValues, 0 };
#else
@@ -61,19 +61,19 @@ static const HashTableValue JSSVGRenderingIntentConstructorTableValues[7] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGRenderingIntentConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGRenderingIntentConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSSVGRenderingIntentConstructorTableValues, 0 };
#else
{ 16, 15, JSSVGRenderingIntentConstructorTableValues, 0 };
#endif
-class JSSVGRenderingIntentConstructor : public DOMObject {
+class JSSVGRenderingIntentConstructor : public DOMConstructorObject {
public:
- JSSVGRenderingIntentConstructor(ExecState* exec)
- : DOMObject(JSSVGRenderingIntentConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSSVGRenderingIntentConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSSVGRenderingIntentConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSSVGRenderingIntentPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSSVGRenderingIntentPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -105,7 +105,7 @@ static const HashTableValue JSSVGRenderingIntentPrototypeTableValues[7] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGRenderingIntentPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGRenderingIntentPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSSVGRenderingIntentPrototypeTableValues, 0 };
#else
@@ -126,9 +126,8 @@ bool JSSVGRenderingIntentPrototype::getOwnPropertySlot(ExecState* exec, const Id
const ClassInfo JSSVGRenderingIntent::s_info = { "SVGRenderingIntent", 0, &JSSVGRenderingIntentTable, 0 };
-JSSVGRenderingIntent::JSSVGRenderingIntent(PassRefPtr<Structure> structure, PassRefPtr<SVGRenderingIntent> impl, SVGElement* context)
- : DOMObject(structure)
- , m_context(context)
+JSSVGRenderingIntent::JSSVGRenderingIntent(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGRenderingIntent> impl, SVGElement* context)
+ : DOMObjectWithSVGContext(structure, globalObject, context)
, m_impl(impl)
{
}
@@ -150,11 +149,12 @@ bool JSSVGRenderingIntent::getOwnPropertySlot(ExecState* exec, const Identifier&
JSValue jsSVGRenderingIntentConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSSVGRenderingIntent*>(asObject(slot.slotBase()))->getConstructor(exec);
+ UNUSED_PARAM(slot);
+ return JSSVGRenderingIntent::getConstructor(exec, deprecatedGlobalObjectForPrototype(exec));
}
-JSValue JSSVGRenderingIntent::getConstructor(ExecState* exec)
+JSValue JSSVGRenderingIntent::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSSVGRenderingIntentConstructor>(exec);
+ return getDOMConstructor<JSSVGRenderingIntentConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
// Constant getters
@@ -189,9 +189,9 @@ JSValue jsSVGRenderingIntentRENDERING_INTENT_ABSOLUTE_COLORIMETRIC(ExecState* ex
return jsNumber(exec, static_cast<int>(5));
}
-JSC::JSValue toJS(JSC::ExecState* exec, SVGRenderingIntent* object, SVGElement* context)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, SVGRenderingIntent* object, SVGElement* context)
{
- return getDOMObjectWrapper<JSSVGRenderingIntent>(exec, object, context);
+ return getDOMObjectWrapper<JSSVGRenderingIntent>(exec, globalObject, object, context);
}
SVGRenderingIntent* toSVGRenderingIntent(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGRenderingIntent.h b/src/3rdparty/webkit/WebCore/generated/JSSVGRenderingIntent.h
index 22aff9c..8dad637 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGRenderingIntent.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGRenderingIntent.h
@@ -23,6 +23,7 @@
#if ENABLE(SVG)
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include "SVGElement.h"
#include <runtime/JSGlobalObject.h>
@@ -32,10 +33,10 @@ namespace WebCore {
class SVGRenderingIntent;
-class JSSVGRenderingIntent : public DOMObject {
- typedef DOMObject Base;
+class JSSVGRenderingIntent : public DOMObjectWithSVGContext {
+ typedef DOMObjectWithSVGContext Base;
public:
- JSSVGRenderingIntent(PassRefPtr<JSC::Structure>, PassRefPtr<SVGRenderingIntent>, SVGElement* context);
+ JSSVGRenderingIntent(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGRenderingIntent>, SVGElement* context);
virtual ~JSSVGRenderingIntent();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -47,16 +48,14 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
SVGRenderingIntent* impl() const { return m_impl.get(); }
- SVGElement* context() const { return m_context.get(); }
private:
- RefPtr<SVGElement> m_context;
- RefPtr<SVGRenderingIntent > m_impl;
+ RefPtr<SVGRenderingIntent> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, SVGRenderingIntent*, SVGElement* context);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, SVGRenderingIntent*, SVGElement* context);
SVGRenderingIntent* toSVGRenderingIntent(JSC::JSValue);
class JSSVGRenderingIntentPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGSVGElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGSVGElement.cpp
index 072c0cf..5fec42f 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGSVGElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGSVGElement.cpp
@@ -99,7 +99,7 @@ static const HashTableValue JSSVGSVGElementTableValues[28] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGSVGElementTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGSVGElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 1023, JSSVGSVGElementTableValues, 0 };
#else
@@ -144,7 +144,7 @@ static const HashTableValue JSSVGSVGElementPrototypeTableValues[32] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGSVGElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGSVGElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 2047, JSSVGSVGElementPrototypeTableValues, 0 };
#else
@@ -165,8 +165,8 @@ bool JSSVGSVGElementPrototype::getOwnPropertySlot(ExecState* exec, const Identif
const ClassInfo JSSVGSVGElement::s_info = { "SVGSVGElement", &JSSVGElement::s_info, &JSSVGSVGElementTable, 0 };
-JSSVGSVGElement::JSSVGSVGElement(PassRefPtr<Structure> structure, PassRefPtr<SVGSVGElement> impl)
- : JSSVGElement(structure, impl)
+JSSVGSVGElement::JSSVGSVGElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGSVGElement> impl)
+ : JSSVGElement(structure, globalObject, impl)
{
}
@@ -182,198 +182,225 @@ bool JSSVGSVGElement::getOwnPropertySlot(ExecState* exec, const Identifier& prop
JSValue jsSVGSVGElementX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGSVGElement* castedThis = static_cast<JSSVGSVGElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGSVGElement* imp = static_cast<SVGSVGElement*>(static_cast<JSSVGSVGElement*>(asObject(slot.slotBase()))->impl());
+ SVGSVGElement* imp = static_cast<SVGSVGElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->xAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGSVGElementY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGSVGElement* castedThis = static_cast<JSSVGSVGElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGSVGElement* imp = static_cast<SVGSVGElement*>(static_cast<JSSVGSVGElement*>(asObject(slot.slotBase()))->impl());
+ SVGSVGElement* imp = static_cast<SVGSVGElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->yAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGSVGElementWidth(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGSVGElement* castedThis = static_cast<JSSVGSVGElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGSVGElement* imp = static_cast<SVGSVGElement*>(static_cast<JSSVGSVGElement*>(asObject(slot.slotBase()))->impl());
+ SVGSVGElement* imp = static_cast<SVGSVGElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->widthAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGSVGElementHeight(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGSVGElement* castedThis = static_cast<JSSVGSVGElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGSVGElement* imp = static_cast<SVGSVGElement*>(static_cast<JSSVGSVGElement*>(asObject(slot.slotBase()))->impl());
+ SVGSVGElement* imp = static_cast<SVGSVGElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->heightAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGSVGElementContentScriptType(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGSVGElement* castedThis = static_cast<JSSVGSVGElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGSVGElement* imp = static_cast<SVGSVGElement*>(static_cast<JSSVGSVGElement*>(asObject(slot.slotBase()))->impl());
+ SVGSVGElement* imp = static_cast<SVGSVGElement*>(castedThis->impl());
return jsString(exec, imp->contentScriptType());
}
JSValue jsSVGSVGElementContentStyleType(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGSVGElement* castedThis = static_cast<JSSVGSVGElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGSVGElement* imp = static_cast<SVGSVGElement*>(static_cast<JSSVGSVGElement*>(asObject(slot.slotBase()))->impl());
+ SVGSVGElement* imp = static_cast<SVGSVGElement*>(castedThis->impl());
return jsString(exec, imp->contentStyleType());
}
JSValue jsSVGSVGElementViewport(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGSVGElement* castedThis = static_cast<JSSVGSVGElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGSVGElement* imp = static_cast<SVGSVGElement*>(static_cast<JSSVGSVGElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, JSSVGStaticPODTypeWrapper<FloatRect>::create(imp->viewport()).get(), imp);
+ SVGSVGElement* imp = static_cast<SVGSVGElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), JSSVGStaticPODTypeWrapper<FloatRect>::create(imp->viewport()).get(), imp);
}
JSValue jsSVGSVGElementPixelUnitToMillimeterX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGSVGElement* castedThis = static_cast<JSSVGSVGElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGSVGElement* imp = static_cast<SVGSVGElement*>(static_cast<JSSVGSVGElement*>(asObject(slot.slotBase()))->impl());
+ SVGSVGElement* imp = static_cast<SVGSVGElement*>(castedThis->impl());
return jsNumber(exec, imp->pixelUnitToMillimeterX());
}
JSValue jsSVGSVGElementPixelUnitToMillimeterY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGSVGElement* castedThis = static_cast<JSSVGSVGElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGSVGElement* imp = static_cast<SVGSVGElement*>(static_cast<JSSVGSVGElement*>(asObject(slot.slotBase()))->impl());
+ SVGSVGElement* imp = static_cast<SVGSVGElement*>(castedThis->impl());
return jsNumber(exec, imp->pixelUnitToMillimeterY());
}
JSValue jsSVGSVGElementScreenPixelToMillimeterX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGSVGElement* castedThis = static_cast<JSSVGSVGElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGSVGElement* imp = static_cast<SVGSVGElement*>(static_cast<JSSVGSVGElement*>(asObject(slot.slotBase()))->impl());
+ SVGSVGElement* imp = static_cast<SVGSVGElement*>(castedThis->impl());
return jsNumber(exec, imp->screenPixelToMillimeterX());
}
JSValue jsSVGSVGElementScreenPixelToMillimeterY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGSVGElement* castedThis = static_cast<JSSVGSVGElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGSVGElement* imp = static_cast<SVGSVGElement*>(static_cast<JSSVGSVGElement*>(asObject(slot.slotBase()))->impl());
+ SVGSVGElement* imp = static_cast<SVGSVGElement*>(castedThis->impl());
return jsNumber(exec, imp->screenPixelToMillimeterY());
}
JSValue jsSVGSVGElementUseCurrentView(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGSVGElement* castedThis = static_cast<JSSVGSVGElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGSVGElement* imp = static_cast<SVGSVGElement*>(static_cast<JSSVGSVGElement*>(asObject(slot.slotBase()))->impl());
+ SVGSVGElement* imp = static_cast<SVGSVGElement*>(castedThis->impl());
return jsBoolean(imp->useCurrentView());
}
JSValue jsSVGSVGElementCurrentScale(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGSVGElement* castedThis = static_cast<JSSVGSVGElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGSVGElement* imp = static_cast<SVGSVGElement*>(static_cast<JSSVGSVGElement*>(asObject(slot.slotBase()))->impl());
+ SVGSVGElement* imp = static_cast<SVGSVGElement*>(castedThis->impl());
return jsNumber(exec, imp->currentScale());
}
JSValue jsSVGSVGElementCurrentTranslate(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGSVGElement* castedThis = static_cast<JSSVGSVGElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGSVGElement* imp = static_cast<SVGSVGElement*>(static_cast<JSSVGSVGElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, JSSVGStaticPODTypeWrapperWithParent<FloatPoint, SVGSVGElement>::create(imp, &SVGSVGElement::currentTranslate, &SVGSVGElement::setCurrentTranslate).get(), imp);
+ SVGSVGElement* imp = static_cast<SVGSVGElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), JSSVGStaticPODTypeWrapperWithParent<FloatPoint, SVGSVGElement>::create(imp, &SVGSVGElement::currentTranslate, &SVGSVGElement::setCurrentTranslate).get(), imp);
}
JSValue jsSVGSVGElementRequiredFeatures(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGSVGElement* castedThis = static_cast<JSSVGSVGElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGSVGElement* imp = static_cast<SVGSVGElement*>(static_cast<JSSVGSVGElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->requiredFeatures()), imp);
+ SVGSVGElement* imp = static_cast<SVGSVGElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->requiredFeatures()), imp);
}
JSValue jsSVGSVGElementRequiredExtensions(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGSVGElement* castedThis = static_cast<JSSVGSVGElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGSVGElement* imp = static_cast<SVGSVGElement*>(static_cast<JSSVGSVGElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->requiredExtensions()), imp);
+ SVGSVGElement* imp = static_cast<SVGSVGElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->requiredExtensions()), imp);
}
JSValue jsSVGSVGElementSystemLanguage(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGSVGElement* castedThis = static_cast<JSSVGSVGElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGSVGElement* imp = static_cast<SVGSVGElement*>(static_cast<JSSVGSVGElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->systemLanguage()), imp);
+ SVGSVGElement* imp = static_cast<SVGSVGElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->systemLanguage()), imp);
}
JSValue jsSVGSVGElementXmllang(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGSVGElement* castedThis = static_cast<JSSVGSVGElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGSVGElement* imp = static_cast<SVGSVGElement*>(static_cast<JSSVGSVGElement*>(asObject(slot.slotBase()))->impl());
+ SVGSVGElement* imp = static_cast<SVGSVGElement*>(castedThis->impl());
return jsString(exec, imp->xmllang());
}
JSValue jsSVGSVGElementXmlspace(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGSVGElement* castedThis = static_cast<JSSVGSVGElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGSVGElement* imp = static_cast<SVGSVGElement*>(static_cast<JSSVGSVGElement*>(asObject(slot.slotBase()))->impl());
+ SVGSVGElement* imp = static_cast<SVGSVGElement*>(castedThis->impl());
return jsString(exec, imp->xmlspace());
}
JSValue jsSVGSVGElementExternalResourcesRequired(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGSVGElement* castedThis = static_cast<JSSVGSVGElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGSVGElement* imp = static_cast<SVGSVGElement*>(static_cast<JSSVGSVGElement*>(asObject(slot.slotBase()))->impl());
+ SVGSVGElement* imp = static_cast<SVGSVGElement*>(castedThis->impl());
RefPtr<SVGAnimatedBoolean> obj = imp->externalResourcesRequiredAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGSVGElementClassName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGSVGElement* castedThis = static_cast<JSSVGSVGElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGSVGElement* imp = static_cast<SVGSVGElement*>(static_cast<JSSVGSVGElement*>(asObject(slot.slotBase()))->impl());
+ SVGSVGElement* imp = static_cast<SVGSVGElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->classNameAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGSVGElementStyle(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGSVGElement* castedThis = static_cast<JSSVGSVGElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGSVGElement* imp = static_cast<SVGSVGElement*>(static_cast<JSSVGSVGElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->style()));
+ SVGSVGElement* imp = static_cast<SVGSVGElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->style()));
}
JSValue jsSVGSVGElementNearestViewportElement(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGSVGElement* castedThis = static_cast<JSSVGSVGElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGSVGElement* imp = static_cast<SVGSVGElement*>(static_cast<JSSVGSVGElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->nearestViewportElement()));
+ SVGSVGElement* imp = static_cast<SVGSVGElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->nearestViewportElement()));
}
JSValue jsSVGSVGElementFarthestViewportElement(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGSVGElement* castedThis = static_cast<JSSVGSVGElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGSVGElement* imp = static_cast<SVGSVGElement*>(static_cast<JSSVGSVGElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->farthestViewportElement()));
+ SVGSVGElement* imp = static_cast<SVGSVGElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->farthestViewportElement()));
}
JSValue jsSVGSVGElementViewBox(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGSVGElement* castedThis = static_cast<JSSVGSVGElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGSVGElement* imp = static_cast<SVGSVGElement*>(static_cast<JSSVGSVGElement*>(asObject(slot.slotBase()))->impl());
+ SVGSVGElement* imp = static_cast<SVGSVGElement*>(castedThis->impl());
RefPtr<SVGAnimatedRect> obj = imp->viewBoxAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGSVGElementPreserveAspectRatio(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGSVGElement* castedThis = static_cast<JSSVGSVGElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGSVGElement* imp = static_cast<SVGSVGElement*>(static_cast<JSSVGSVGElement*>(asObject(slot.slotBase()))->impl());
+ SVGSVGElement* imp = static_cast<SVGSVGElement*>(castedThis->impl());
RefPtr<SVGAnimatedPreserveAspectRatio> obj = imp->preserveAspectRatioAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGSVGElementZoomAndPan(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGSVGElement* castedThis = static_cast<JSSVGSVGElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGSVGElement* imp = static_cast<SVGSVGElement*>(static_cast<JSSVGSVGElement*>(asObject(slot.slotBase()))->impl());
+ SVGSVGElement* imp = static_cast<SVGSVGElement*>(castedThis->impl());
return jsNumber(exec, imp->zoomAndPan());
}
@@ -551,7 +578,7 @@ JSValue JSC_HOST_CALL jsSVGSVGElementPrototypeFunctionGetIntersectionList(ExecSt
SVGElement* referenceElement = toSVGElement(args.at(1));
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getIntersectionList(rect, referenceElement)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getIntersectionList(rect, referenceElement)));
return result;
}
@@ -566,7 +593,7 @@ JSValue JSC_HOST_CALL jsSVGSVGElementPrototypeFunctionGetEnclosureList(ExecState
SVGElement* referenceElement = toSVGElement(args.at(1));
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getEnclosureList(rect, referenceElement)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getEnclosureList(rect, referenceElement)));
return result;
}
@@ -621,7 +648,7 @@ JSValue JSC_HOST_CALL jsSVGSVGElementPrototypeFunctionCreateSVGNumber(ExecState*
SVGSVGElement* imp = static_cast<SVGSVGElement*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<float>::create(imp->createSVGNumber()).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<float>::create(imp->createSVGNumber()).get(), imp);
return result;
}
@@ -634,7 +661,7 @@ JSValue JSC_HOST_CALL jsSVGSVGElementPrototypeFunctionCreateSVGLength(ExecState*
SVGSVGElement* imp = static_cast<SVGSVGElement*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<SVGLength>::create(imp->createSVGLength()).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<SVGLength>::create(imp->createSVGLength()).get(), imp);
return result;
}
@@ -647,7 +674,7 @@ JSValue JSC_HOST_CALL jsSVGSVGElementPrototypeFunctionCreateSVGAngle(ExecState*
SVGSVGElement* imp = static_cast<SVGSVGElement*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->createSVGAngle()), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->createSVGAngle()), imp);
return result;
}
@@ -660,7 +687,7 @@ JSValue JSC_HOST_CALL jsSVGSVGElementPrototypeFunctionCreateSVGPoint(ExecState*
SVGSVGElement* imp = static_cast<SVGSVGElement*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<FloatPoint>::create(imp->createSVGPoint()).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<FloatPoint>::create(imp->createSVGPoint()).get(), imp);
return result;
}
@@ -673,7 +700,7 @@ JSValue JSC_HOST_CALL jsSVGSVGElementPrototypeFunctionCreateSVGMatrix(ExecState*
SVGSVGElement* imp = static_cast<SVGSVGElement*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->createSVGMatrix()).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->createSVGMatrix()).get(), imp);
return result;
}
@@ -686,7 +713,7 @@ JSValue JSC_HOST_CALL jsSVGSVGElementPrototypeFunctionCreateSVGRect(ExecState* e
SVGSVGElement* imp = static_cast<SVGSVGElement*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<FloatRect>::create(imp->createSVGRect()).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<FloatRect>::create(imp->createSVGRect()).get(), imp);
return result;
}
@@ -699,7 +726,7 @@ JSValue JSC_HOST_CALL jsSVGSVGElementPrototypeFunctionCreateSVGTransform(ExecSta
SVGSVGElement* imp = static_cast<SVGSVGElement*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<SVGTransform>::create(imp->createSVGTransform()).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<SVGTransform>::create(imp->createSVGTransform()).get(), imp);
return result;
}
@@ -713,7 +740,7 @@ JSValue JSC_HOST_CALL jsSVGSVGElementPrototypeFunctionCreateSVGTransformFromMatr
TransformationMatrix matrix = toSVGMatrix(args.at(0));
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<SVGTransform>::create(imp->createSVGTransformFromMatrix(matrix)).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<SVGTransform>::create(imp->createSVGTransformFromMatrix(matrix)).get(), imp);
return result;
}
@@ -741,7 +768,7 @@ JSValue JSC_HOST_CALL jsSVGSVGElementPrototypeFunctionGetPresentationAttribute(E
const UString& name = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getPresentationAttribute(name)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getPresentationAttribute(name)));
return result;
}
@@ -754,7 +781,7 @@ JSValue JSC_HOST_CALL jsSVGSVGElementPrototypeFunctionGetBBox(ExecState* exec, J
SVGSVGElement* imp = static_cast<SVGSVGElement*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<FloatRect>::create(imp->getBBox()).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<FloatRect>::create(imp->getBBox()).get(), imp);
return result;
}
@@ -767,7 +794,7 @@ JSValue JSC_HOST_CALL jsSVGSVGElementPrototypeFunctionGetCTM(ExecState* exec, JS
SVGSVGElement* imp = static_cast<SVGSVGElement*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getCTM()).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getCTM()).get(), imp);
return result;
}
@@ -780,7 +807,7 @@ JSValue JSC_HOST_CALL jsSVGSVGElementPrototypeFunctionGetScreenCTM(ExecState* ex
SVGSVGElement* imp = static_cast<SVGSVGElement*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getScreenCTM()).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getScreenCTM()).get(), imp);
return result;
}
@@ -795,7 +822,7 @@ JSValue JSC_HOST_CALL jsSVGSVGElementPrototypeFunctionGetTransformToElement(Exec
SVGElement* element = toSVGElement(args.at(0));
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getTransformToElement(element, ec)).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getTransformToElement(element, ec)).get(), imp);
setDOMException(exec, ec);
return result;
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGSVGElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGSVGElement.h
index 7701efe..2883b06 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGSVGElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGSVGElement.h
@@ -33,7 +33,7 @@ class SVGSVGElement;
class JSSVGSVGElement : public JSSVGElement {
typedef JSSVGElement Base;
public:
- JSSVGSVGElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGSVGElement>);
+ JSSVGSVGElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGSVGElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGScriptElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGScriptElement.cpp
index da7b486..69a4169 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGScriptElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGScriptElement.cpp
@@ -47,7 +47,7 @@ static const HashTableValue JSSVGScriptElementTableValues[4] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGScriptElementTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGScriptElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 3, JSSVGScriptElementTableValues, 0 };
#else
@@ -61,7 +61,7 @@ static const HashTableValue JSSVGScriptElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGScriptElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGScriptElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGScriptElementPrototypeTableValues, 0 };
#else
@@ -77,8 +77,8 @@ JSObject* JSSVGScriptElementPrototype::self(ExecState* exec, JSGlobalObject* glo
const ClassInfo JSSVGScriptElement::s_info = { "SVGScriptElement", &JSSVGElement::s_info, &JSSVGScriptElementTable, 0 };
-JSSVGScriptElement::JSSVGScriptElement(PassRefPtr<Structure> structure, PassRefPtr<SVGScriptElement> impl)
- : JSSVGElement(structure, impl)
+JSSVGScriptElement::JSSVGScriptElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGScriptElement> impl)
+ : JSSVGElement(structure, globalObject, impl)
{
}
@@ -94,25 +94,28 @@ bool JSSVGScriptElement::getOwnPropertySlot(ExecState* exec, const Identifier& p
JSValue jsSVGScriptElementType(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGScriptElement* castedThis = static_cast<JSSVGScriptElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGScriptElement* imp = static_cast<SVGScriptElement*>(static_cast<JSSVGScriptElement*>(asObject(slot.slotBase()))->impl());
+ SVGScriptElement* imp = static_cast<SVGScriptElement*>(castedThis->impl());
return jsString(exec, imp->type());
}
JSValue jsSVGScriptElementHref(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGScriptElement* castedThis = static_cast<JSSVGScriptElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGScriptElement* imp = static_cast<SVGScriptElement*>(static_cast<JSSVGScriptElement*>(asObject(slot.slotBase()))->impl());
+ SVGScriptElement* imp = static_cast<SVGScriptElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->hrefAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGScriptElementExternalResourcesRequired(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGScriptElement* castedThis = static_cast<JSSVGScriptElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGScriptElement* imp = static_cast<SVGScriptElement*>(static_cast<JSSVGScriptElement*>(asObject(slot.slotBase()))->impl());
+ SVGScriptElement* imp = static_cast<SVGScriptElement*>(castedThis->impl());
RefPtr<SVGAnimatedBoolean> obj = imp->externalResourcesRequiredAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
void JSSVGScriptElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGScriptElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGScriptElement.h
index 0d7eb3a..b0c5143 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGScriptElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGScriptElement.h
@@ -33,7 +33,7 @@ class SVGScriptElement;
class JSSVGScriptElement : public JSSVGElement {
typedef JSSVGElement Base;
public:
- JSSVGScriptElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGScriptElement>);
+ JSSVGScriptElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGScriptElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGSetElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGSetElement.cpp
index e54b57f..4431685 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGSetElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGSetElement.cpp
@@ -40,7 +40,7 @@ static const HashTableValue JSSVGSetElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGSetElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGSetElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGSetElementPrototypeTableValues, 0 };
#else
@@ -56,8 +56,8 @@ JSObject* JSSVGSetElementPrototype::self(ExecState* exec, JSGlobalObject* global
const ClassInfo JSSVGSetElement::s_info = { "SVGSetElement", &JSSVGAnimationElement::s_info, 0, 0 };
-JSSVGSetElement::JSSVGSetElement(PassRefPtr<Structure> structure, PassRefPtr<SVGSetElement> impl)
- : JSSVGAnimationElement(structure, impl)
+JSSVGSetElement::JSSVGSetElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGSetElement> impl)
+ : JSSVGAnimationElement(structure, globalObject, impl)
{
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGSetElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGSetElement.h
index 23e7382..2d70694 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGSetElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGSetElement.h
@@ -33,7 +33,7 @@ class SVGSetElement;
class JSSVGSetElement : public JSSVGAnimationElement {
typedef JSSVGAnimationElement Base;
public:
- JSSVGSetElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGSetElement>);
+ JSSVGSetElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGSetElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
static const JSC::ClassInfo s_info;
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGStopElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGStopElement.cpp
index 8308fcb..ed15447 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGStopElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGStopElement.cpp
@@ -51,7 +51,7 @@ static const HashTableValue JSSVGStopElementTableValues[4] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGStopElementTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGStopElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 7, JSSVGStopElementTableValues, 0 };
#else
@@ -66,7 +66,7 @@ static const HashTableValue JSSVGStopElementPrototypeTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGStopElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGStopElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGStopElementPrototypeTableValues, 0 };
#else
@@ -87,8 +87,8 @@ bool JSSVGStopElementPrototype::getOwnPropertySlot(ExecState* exec, const Identi
const ClassInfo JSSVGStopElement::s_info = { "SVGStopElement", &JSSVGElement::s_info, &JSSVGStopElementTable, 0 };
-JSSVGStopElement::JSSVGStopElement(PassRefPtr<Structure> structure, PassRefPtr<SVGStopElement> impl)
- : JSSVGElement(structure, impl)
+JSSVGStopElement::JSSVGStopElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGStopElement> impl)
+ : JSSVGElement(structure, globalObject, impl)
{
}
@@ -104,25 +104,28 @@ bool JSSVGStopElement::getOwnPropertySlot(ExecState* exec, const Identifier& pro
JSValue jsSVGStopElementOffset(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGStopElement* castedThis = static_cast<JSSVGStopElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGStopElement* imp = static_cast<SVGStopElement*>(static_cast<JSSVGStopElement*>(asObject(slot.slotBase()))->impl());
+ SVGStopElement* imp = static_cast<SVGStopElement*>(castedThis->impl());
RefPtr<SVGAnimatedNumber> obj = imp->offsetAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGStopElementClassName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGStopElement* castedThis = static_cast<JSSVGStopElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGStopElement* imp = static_cast<SVGStopElement*>(static_cast<JSSVGStopElement*>(asObject(slot.slotBase()))->impl());
+ SVGStopElement* imp = static_cast<SVGStopElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->classNameAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGStopElementStyle(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGStopElement* castedThis = static_cast<JSSVGStopElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGStopElement* imp = static_cast<SVGStopElement*>(static_cast<JSSVGStopElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->style()));
+ SVGStopElement* imp = static_cast<SVGStopElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->style()));
}
JSValue JSC_HOST_CALL jsSVGStopElementPrototypeFunctionGetPresentationAttribute(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -135,7 +138,7 @@ JSValue JSC_HOST_CALL jsSVGStopElementPrototypeFunctionGetPresentationAttribute(
const UString& name = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getPresentationAttribute(name)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getPresentationAttribute(name)));
return result;
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGStopElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGStopElement.h
index 56f181a..b2bd243 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGStopElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGStopElement.h
@@ -33,7 +33,7 @@ class SVGStopElement;
class JSSVGStopElement : public JSSVGElement {
typedef JSSVGElement Base;
public:
- JSSVGStopElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGStopElement>);
+ JSSVGStopElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGStopElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGStringList.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGStringList.cpp
index ee9cf18..3ccbeaf 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGStringList.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGStringList.cpp
@@ -45,7 +45,7 @@ static const HashTableValue JSSVGStringListTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGStringListTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGStringListTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGStringListTableValues, 0 };
#else
@@ -66,7 +66,7 @@ static const HashTableValue JSSVGStringListPrototypeTableValues[8] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGStringListPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGStringListPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 63, JSSVGStringListPrototypeTableValues, 0 };
#else
@@ -87,9 +87,8 @@ bool JSSVGStringListPrototype::getOwnPropertySlot(ExecState* exec, const Identif
const ClassInfo JSSVGStringList::s_info = { "SVGStringList", 0, &JSSVGStringListTable, 0 };
-JSSVGStringList::JSSVGStringList(PassRefPtr<Structure> structure, PassRefPtr<SVGStringList> impl, SVGElement* context)
- : DOMObject(structure)
- , m_context(context)
+JSSVGStringList::JSSVGStringList(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGStringList> impl, SVGElement* context)
+ : DOMObjectWithSVGContext(structure, globalObject, context)
, m_impl(impl)
{
}
@@ -111,8 +110,9 @@ bool JSSVGStringList::getOwnPropertySlot(ExecState* exec, const Identifier& prop
JSValue jsSVGStringListNumberOfItems(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGStringList* castedThis = static_cast<JSSVGStringList*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGStringList* imp = static_cast<SVGStringList*>(static_cast<JSSVGStringList*>(asObject(slot.slotBase()))->impl());
+ SVGStringList* imp = static_cast<SVGStringList*>(castedThis->impl());
return jsNumber(exec, imp->numberOfItems());
}
@@ -228,9 +228,9 @@ JSValue JSC_HOST_CALL jsSVGStringListPrototypeFunctionAppendItem(ExecState* exec
return result;
}
-JSC::JSValue toJS(JSC::ExecState* exec, SVGStringList* object, SVGElement* context)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, SVGStringList* object, SVGElement* context)
{
- return getDOMObjectWrapper<JSSVGStringList>(exec, object, context);
+ return getDOMObjectWrapper<JSSVGStringList>(exec, globalObject, object, context);
}
SVGStringList* toSVGStringList(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGStringList.h b/src/3rdparty/webkit/WebCore/generated/JSSVGStringList.h
index e7b631e..c880b8c 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGStringList.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGStringList.h
@@ -23,6 +23,7 @@
#if ENABLE(SVG)
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include "SVGElement.h"
#include <runtime/JSGlobalObject.h>
@@ -32,10 +33,10 @@ namespace WebCore {
class SVGStringList;
-class JSSVGStringList : public DOMObject {
- typedef DOMObject Base;
+class JSSVGStringList : public DOMObjectWithSVGContext {
+ typedef DOMObjectWithSVGContext Base;
public:
- JSSVGStringList(PassRefPtr<JSC::Structure>, PassRefPtr<SVGStringList>, SVGElement* context);
+ JSSVGStringList(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGStringList>, SVGElement* context);
virtual ~JSSVGStringList();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -48,14 +49,12 @@ public:
}
SVGStringList* impl() const { return m_impl.get(); }
- SVGElement* context() const { return m_context.get(); }
private:
- RefPtr<SVGElement> m_context;
- RefPtr<SVGStringList > m_impl;
+ RefPtr<SVGStringList> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, SVGStringList*, SVGElement* context);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, SVGStringList*, SVGElement* context);
SVGStringList* toSVGStringList(JSC::JSValue);
class JSSVGStringListPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGStyleElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGStyleElement.cpp
index 6b9f6b7..2e0c093 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGStyleElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGStyleElement.cpp
@@ -46,7 +46,7 @@ static const HashTableValue JSSVGStyleElementTableValues[5] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGStyleElementTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGStyleElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 31, JSSVGStyleElementTableValues, 0 };
#else
@@ -60,7 +60,7 @@ static const HashTableValue JSSVGStyleElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGStyleElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGStyleElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGStyleElementPrototypeTableValues, 0 };
#else
@@ -76,8 +76,8 @@ JSObject* JSSVGStyleElementPrototype::self(ExecState* exec, JSGlobalObject* glob
const ClassInfo JSSVGStyleElement::s_info = { "SVGStyleElement", &JSSVGElement::s_info, &JSSVGStyleElementTable, 0 };
-JSSVGStyleElement::JSSVGStyleElement(PassRefPtr<Structure> structure, PassRefPtr<SVGStyleElement> impl)
- : JSSVGElement(structure, impl)
+JSSVGStyleElement::JSSVGStyleElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGStyleElement> impl)
+ : JSSVGElement(structure, globalObject, impl)
{
}
@@ -93,29 +93,33 @@ bool JSSVGStyleElement::getOwnPropertySlot(ExecState* exec, const Identifier& pr
JSValue jsSVGStyleElementXmlspace(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGStyleElement* castedThis = static_cast<JSSVGStyleElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGStyleElement* imp = static_cast<SVGStyleElement*>(static_cast<JSSVGStyleElement*>(asObject(slot.slotBase()))->impl());
+ SVGStyleElement* imp = static_cast<SVGStyleElement*>(castedThis->impl());
return jsString(exec, imp->xmlspace());
}
JSValue jsSVGStyleElementType(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGStyleElement* castedThis = static_cast<JSSVGStyleElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGStyleElement* imp = static_cast<SVGStyleElement*>(static_cast<JSSVGStyleElement*>(asObject(slot.slotBase()))->impl());
+ SVGStyleElement* imp = static_cast<SVGStyleElement*>(castedThis->impl());
return jsString(exec, imp->type());
}
JSValue jsSVGStyleElementMedia(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGStyleElement* castedThis = static_cast<JSSVGStyleElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGStyleElement* imp = static_cast<SVGStyleElement*>(static_cast<JSSVGStyleElement*>(asObject(slot.slotBase()))->impl());
+ SVGStyleElement* imp = static_cast<SVGStyleElement*>(castedThis->impl());
return jsString(exec, imp->media());
}
JSValue jsSVGStyleElementTitle(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGStyleElement* castedThis = static_cast<JSSVGStyleElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGStyleElement* imp = static_cast<SVGStyleElement*>(static_cast<JSSVGStyleElement*>(asObject(slot.slotBase()))->impl());
+ SVGStyleElement* imp = static_cast<SVGStyleElement*>(castedThis->impl());
return jsString(exec, imp->title());
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGStyleElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGStyleElement.h
index d318c52..adf3ee2 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGStyleElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGStyleElement.h
@@ -33,7 +33,7 @@ class SVGStyleElement;
class JSSVGStyleElement : public JSSVGElement {
typedef JSSVGElement Base;
public:
- JSSVGStyleElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGStyleElement>);
+ JSSVGStyleElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGStyleElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGSwitchElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGSwitchElement.cpp
index 563c735..b8c180f 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGSwitchElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGSwitchElement.cpp
@@ -68,7 +68,7 @@ static const HashTableValue JSSVGSwitchElementTableValues[12] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGSwitchElementTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGSwitchElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 127, JSSVGSwitchElementTableValues, 0 };
#else
@@ -88,7 +88,7 @@ static const HashTableValue JSSVGSwitchElementPrototypeTableValues[7] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGSwitchElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGSwitchElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 2047, JSSVGSwitchElementPrototypeTableValues, 0 };
#else
@@ -109,8 +109,8 @@ bool JSSVGSwitchElementPrototype::getOwnPropertySlot(ExecState* exec, const Iden
const ClassInfo JSSVGSwitchElement::s_info = { "SVGSwitchElement", &JSSVGElement::s_info, &JSSVGSwitchElementTable, 0 };
-JSSVGSwitchElement::JSSVGSwitchElement(PassRefPtr<Structure> structure, PassRefPtr<SVGSwitchElement> impl)
- : JSSVGElement(structure, impl)
+JSSVGSwitchElement::JSSVGSwitchElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGSwitchElement> impl)
+ : JSSVGElement(structure, globalObject, impl)
{
}
@@ -126,82 +126,93 @@ bool JSSVGSwitchElement::getOwnPropertySlot(ExecState* exec, const Identifier& p
JSValue jsSVGSwitchElementRequiredFeatures(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGSwitchElement* castedThis = static_cast<JSSVGSwitchElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGSwitchElement* imp = static_cast<SVGSwitchElement*>(static_cast<JSSVGSwitchElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->requiredFeatures()), imp);
+ SVGSwitchElement* imp = static_cast<SVGSwitchElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->requiredFeatures()), imp);
}
JSValue jsSVGSwitchElementRequiredExtensions(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGSwitchElement* castedThis = static_cast<JSSVGSwitchElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGSwitchElement* imp = static_cast<SVGSwitchElement*>(static_cast<JSSVGSwitchElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->requiredExtensions()), imp);
+ SVGSwitchElement* imp = static_cast<SVGSwitchElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->requiredExtensions()), imp);
}
JSValue jsSVGSwitchElementSystemLanguage(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGSwitchElement* castedThis = static_cast<JSSVGSwitchElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGSwitchElement* imp = static_cast<SVGSwitchElement*>(static_cast<JSSVGSwitchElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->systemLanguage()), imp);
+ SVGSwitchElement* imp = static_cast<SVGSwitchElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->systemLanguage()), imp);
}
JSValue jsSVGSwitchElementXmllang(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGSwitchElement* castedThis = static_cast<JSSVGSwitchElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGSwitchElement* imp = static_cast<SVGSwitchElement*>(static_cast<JSSVGSwitchElement*>(asObject(slot.slotBase()))->impl());
+ SVGSwitchElement* imp = static_cast<SVGSwitchElement*>(castedThis->impl());
return jsString(exec, imp->xmllang());
}
JSValue jsSVGSwitchElementXmlspace(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGSwitchElement* castedThis = static_cast<JSSVGSwitchElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGSwitchElement* imp = static_cast<SVGSwitchElement*>(static_cast<JSSVGSwitchElement*>(asObject(slot.slotBase()))->impl());
+ SVGSwitchElement* imp = static_cast<SVGSwitchElement*>(castedThis->impl());
return jsString(exec, imp->xmlspace());
}
JSValue jsSVGSwitchElementExternalResourcesRequired(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGSwitchElement* castedThis = static_cast<JSSVGSwitchElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGSwitchElement* imp = static_cast<SVGSwitchElement*>(static_cast<JSSVGSwitchElement*>(asObject(slot.slotBase()))->impl());
+ SVGSwitchElement* imp = static_cast<SVGSwitchElement*>(castedThis->impl());
RefPtr<SVGAnimatedBoolean> obj = imp->externalResourcesRequiredAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGSwitchElementClassName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGSwitchElement* castedThis = static_cast<JSSVGSwitchElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGSwitchElement* imp = static_cast<SVGSwitchElement*>(static_cast<JSSVGSwitchElement*>(asObject(slot.slotBase()))->impl());
+ SVGSwitchElement* imp = static_cast<SVGSwitchElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->classNameAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGSwitchElementStyle(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGSwitchElement* castedThis = static_cast<JSSVGSwitchElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGSwitchElement* imp = static_cast<SVGSwitchElement*>(static_cast<JSSVGSwitchElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->style()));
+ SVGSwitchElement* imp = static_cast<SVGSwitchElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->style()));
}
JSValue jsSVGSwitchElementTransform(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGSwitchElement* castedThis = static_cast<JSSVGSwitchElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGSwitchElement* imp = static_cast<SVGSwitchElement*>(static_cast<JSSVGSwitchElement*>(asObject(slot.slotBase()))->impl());
+ SVGSwitchElement* imp = static_cast<SVGSwitchElement*>(castedThis->impl());
RefPtr<SVGAnimatedTransformList> obj = imp->transformAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGSwitchElementNearestViewportElement(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGSwitchElement* castedThis = static_cast<JSSVGSwitchElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGSwitchElement* imp = static_cast<SVGSwitchElement*>(static_cast<JSSVGSwitchElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->nearestViewportElement()));
+ SVGSwitchElement* imp = static_cast<SVGSwitchElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->nearestViewportElement()));
}
JSValue jsSVGSwitchElementFarthestViewportElement(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGSwitchElement* castedThis = static_cast<JSSVGSwitchElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGSwitchElement* imp = static_cast<SVGSwitchElement*>(static_cast<JSSVGSwitchElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->farthestViewportElement()));
+ SVGSwitchElement* imp = static_cast<SVGSwitchElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->farthestViewportElement()));
}
void JSSVGSwitchElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
@@ -245,7 +256,7 @@ JSValue JSC_HOST_CALL jsSVGSwitchElementPrototypeFunctionGetPresentationAttribut
const UString& name = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getPresentationAttribute(name)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getPresentationAttribute(name)));
return result;
}
@@ -258,7 +269,7 @@ JSValue JSC_HOST_CALL jsSVGSwitchElementPrototypeFunctionGetBBox(ExecState* exec
SVGSwitchElement* imp = static_cast<SVGSwitchElement*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<FloatRect>::create(imp->getBBox()).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<FloatRect>::create(imp->getBBox()).get(), imp);
return result;
}
@@ -271,7 +282,7 @@ JSValue JSC_HOST_CALL jsSVGSwitchElementPrototypeFunctionGetCTM(ExecState* exec,
SVGSwitchElement* imp = static_cast<SVGSwitchElement*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getCTM()).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getCTM()).get(), imp);
return result;
}
@@ -284,7 +295,7 @@ JSValue JSC_HOST_CALL jsSVGSwitchElementPrototypeFunctionGetScreenCTM(ExecState*
SVGSwitchElement* imp = static_cast<SVGSwitchElement*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getScreenCTM()).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getScreenCTM()).get(), imp);
return result;
}
@@ -299,7 +310,7 @@ JSValue JSC_HOST_CALL jsSVGSwitchElementPrototypeFunctionGetTransformToElement(E
SVGElement* element = toSVGElement(args.at(0));
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getTransformToElement(element, ec)).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getTransformToElement(element, ec)).get(), imp);
setDOMException(exec, ec);
return result;
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGSwitchElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGSwitchElement.h
index 3ae9bd1..7273622 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGSwitchElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGSwitchElement.h
@@ -33,7 +33,7 @@ class SVGSwitchElement;
class JSSVGSwitchElement : public JSSVGElement {
typedef JSSVGElement Base;
public:
- JSSVGSwitchElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGSwitchElement>);
+ JSSVGSwitchElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGSwitchElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGSymbolElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGSymbolElement.cpp
index 757bfd8f..c5d16b0 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGSymbolElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGSymbolElement.cpp
@@ -59,7 +59,7 @@ static const HashTableValue JSSVGSymbolElementTableValues[8] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGSymbolElementTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGSymbolElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSSVGSymbolElementTableValues, 0 };
#else
@@ -74,7 +74,7 @@ static const HashTableValue JSSVGSymbolElementPrototypeTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGSymbolElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGSymbolElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGSymbolElementPrototypeTableValues, 0 };
#else
@@ -95,8 +95,8 @@ bool JSSVGSymbolElementPrototype::getOwnPropertySlot(ExecState* exec, const Iden
const ClassInfo JSSVGSymbolElement::s_info = { "SVGSymbolElement", &JSSVGElement::s_info, &JSSVGSymbolElementTable, 0 };
-JSSVGSymbolElement::JSSVGSymbolElement(PassRefPtr<Structure> structure, PassRefPtr<SVGSymbolElement> impl)
- : JSSVGElement(structure, impl)
+JSSVGSymbolElement::JSSVGSymbolElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGSymbolElement> impl)
+ : JSSVGElement(structure, globalObject, impl)
{
}
@@ -112,55 +112,62 @@ bool JSSVGSymbolElement::getOwnPropertySlot(ExecState* exec, const Identifier& p
JSValue jsSVGSymbolElementXmllang(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGSymbolElement* castedThis = static_cast<JSSVGSymbolElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGSymbolElement* imp = static_cast<SVGSymbolElement*>(static_cast<JSSVGSymbolElement*>(asObject(slot.slotBase()))->impl());
+ SVGSymbolElement* imp = static_cast<SVGSymbolElement*>(castedThis->impl());
return jsString(exec, imp->xmllang());
}
JSValue jsSVGSymbolElementXmlspace(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGSymbolElement* castedThis = static_cast<JSSVGSymbolElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGSymbolElement* imp = static_cast<SVGSymbolElement*>(static_cast<JSSVGSymbolElement*>(asObject(slot.slotBase()))->impl());
+ SVGSymbolElement* imp = static_cast<SVGSymbolElement*>(castedThis->impl());
return jsString(exec, imp->xmlspace());
}
JSValue jsSVGSymbolElementExternalResourcesRequired(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGSymbolElement* castedThis = static_cast<JSSVGSymbolElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGSymbolElement* imp = static_cast<SVGSymbolElement*>(static_cast<JSSVGSymbolElement*>(asObject(slot.slotBase()))->impl());
+ SVGSymbolElement* imp = static_cast<SVGSymbolElement*>(castedThis->impl());
RefPtr<SVGAnimatedBoolean> obj = imp->externalResourcesRequiredAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGSymbolElementClassName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGSymbolElement* castedThis = static_cast<JSSVGSymbolElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGSymbolElement* imp = static_cast<SVGSymbolElement*>(static_cast<JSSVGSymbolElement*>(asObject(slot.slotBase()))->impl());
+ SVGSymbolElement* imp = static_cast<SVGSymbolElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->classNameAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGSymbolElementStyle(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGSymbolElement* castedThis = static_cast<JSSVGSymbolElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGSymbolElement* imp = static_cast<SVGSymbolElement*>(static_cast<JSSVGSymbolElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->style()));
+ SVGSymbolElement* imp = static_cast<SVGSymbolElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->style()));
}
JSValue jsSVGSymbolElementViewBox(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGSymbolElement* castedThis = static_cast<JSSVGSymbolElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGSymbolElement* imp = static_cast<SVGSymbolElement*>(static_cast<JSSVGSymbolElement*>(asObject(slot.slotBase()))->impl());
+ SVGSymbolElement* imp = static_cast<SVGSymbolElement*>(castedThis->impl());
RefPtr<SVGAnimatedRect> obj = imp->viewBoxAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGSymbolElementPreserveAspectRatio(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGSymbolElement* castedThis = static_cast<JSSVGSymbolElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGSymbolElement* imp = static_cast<SVGSymbolElement*>(static_cast<JSSVGSymbolElement*>(asObject(slot.slotBase()))->impl());
+ SVGSymbolElement* imp = static_cast<SVGSymbolElement*>(castedThis->impl());
RefPtr<SVGAnimatedPreserveAspectRatio> obj = imp->preserveAspectRatioAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
void JSSVGSymbolElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
@@ -190,7 +197,7 @@ JSValue JSC_HOST_CALL jsSVGSymbolElementPrototypeFunctionGetPresentationAttribut
const UString& name = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getPresentationAttribute(name)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getPresentationAttribute(name)));
return result;
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGSymbolElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGSymbolElement.h
index c5e5f71..11aaced 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGSymbolElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGSymbolElement.h
@@ -33,7 +33,7 @@ class SVGSymbolElement;
class JSSVGSymbolElement : public JSSVGElement {
typedef JSSVGElement Base;
public:
- JSSVGSymbolElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGSymbolElement>);
+ JSSVGSymbolElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGSymbolElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGTRefElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGTRefElement.cpp
index 7abab12..8577776 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGTRefElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGTRefElement.cpp
@@ -42,7 +42,7 @@ static const HashTableValue JSSVGTRefElementTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGTRefElementTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGTRefElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGTRefElementTableValues, 0 };
#else
@@ -56,7 +56,7 @@ static const HashTableValue JSSVGTRefElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGTRefElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGTRefElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGTRefElementPrototypeTableValues, 0 };
#else
@@ -72,8 +72,8 @@ JSObject* JSSVGTRefElementPrototype::self(ExecState* exec, JSGlobalObject* globa
const ClassInfo JSSVGTRefElement::s_info = { "SVGTRefElement", &JSSVGTextPositioningElement::s_info, &JSSVGTRefElementTable, 0 };
-JSSVGTRefElement::JSSVGTRefElement(PassRefPtr<Structure> structure, PassRefPtr<SVGTRefElement> impl)
- : JSSVGTextPositioningElement(structure, impl)
+JSSVGTRefElement::JSSVGTRefElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGTRefElement> impl)
+ : JSSVGTextPositioningElement(structure, globalObject, impl)
{
}
@@ -89,10 +89,11 @@ bool JSSVGTRefElement::getOwnPropertySlot(ExecState* exec, const Identifier& pro
JSValue jsSVGTRefElementHref(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGTRefElement* castedThis = static_cast<JSSVGTRefElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGTRefElement* imp = static_cast<SVGTRefElement*>(static_cast<JSSVGTRefElement*>(asObject(slot.slotBase()))->impl());
+ SVGTRefElement* imp = static_cast<SVGTRefElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->hrefAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGTRefElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGTRefElement.h
index e70e821..eabb96d 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGTRefElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGTRefElement.h
@@ -33,7 +33,7 @@ class SVGTRefElement;
class JSSVGTRefElement : public JSSVGTextPositioningElement {
typedef JSSVGTextPositioningElement Base;
public:
- JSSVGTRefElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGTRefElement>);
+ JSSVGTRefElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGTRefElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGTSpanElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGTSpanElement.cpp
index acfbd95..a0a593b 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGTSpanElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGTSpanElement.cpp
@@ -40,7 +40,7 @@ static const HashTableValue JSSVGTSpanElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGTSpanElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGTSpanElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGTSpanElementPrototypeTableValues, 0 };
#else
@@ -56,8 +56,8 @@ JSObject* JSSVGTSpanElementPrototype::self(ExecState* exec, JSGlobalObject* glob
const ClassInfo JSSVGTSpanElement::s_info = { "SVGTSpanElement", &JSSVGTextPositioningElement::s_info, 0, 0 };
-JSSVGTSpanElement::JSSVGTSpanElement(PassRefPtr<Structure> structure, PassRefPtr<SVGTSpanElement> impl)
- : JSSVGTextPositioningElement(structure, impl)
+JSSVGTSpanElement::JSSVGTSpanElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGTSpanElement> impl)
+ : JSSVGTextPositioningElement(structure, globalObject, impl)
{
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGTSpanElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGTSpanElement.h
index a3e9b6a..d85c4f1 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGTSpanElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGTSpanElement.h
@@ -33,7 +33,7 @@ class SVGTSpanElement;
class JSSVGTSpanElement : public JSSVGTextPositioningElement {
typedef JSSVGTextPositioningElement Base;
public:
- JSSVGTSpanElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGTSpanElement>);
+ JSSVGTSpanElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGTSpanElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
static const JSC::ClassInfo s_info;
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGTextContentElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGTextContentElement.cpp
index 16afd09..ff8c8aa 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGTextContentElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGTextContentElement.cpp
@@ -70,7 +70,7 @@ static const HashTableValue JSSVGTextContentElementTableValues[12] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGTextContentElementTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGTextContentElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 127, JSSVGTextContentElementTableValues, 0 };
#else
@@ -87,19 +87,19 @@ static const HashTableValue JSSVGTextContentElementConstructorTableValues[4] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGTextContentElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGTextContentElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 7, JSSVGTextContentElementConstructorTableValues, 0 };
#else
{ 8, 7, JSSVGTextContentElementConstructorTableValues, 0 };
#endif
-class JSSVGTextContentElementConstructor : public DOMObject {
+class JSSVGTextContentElementConstructor : public DOMConstructorObject {
public:
- JSSVGTextContentElementConstructor(ExecState* exec)
- : DOMObject(JSSVGTextContentElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSSVGTextContentElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSSVGTextContentElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSSVGTextContentElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSSVGTextContentElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -139,7 +139,7 @@ static const HashTableValue JSSVGTextContentElementPrototypeTableValues[15] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGTextContentElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGTextContentElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 127, JSSVGTextContentElementPrototypeTableValues, 0 };
#else
@@ -160,8 +160,8 @@ bool JSSVGTextContentElementPrototype::getOwnPropertySlot(ExecState* exec, const
const ClassInfo JSSVGTextContentElement::s_info = { "SVGTextContentElement", &JSSVGElement::s_info, &JSSVGTextContentElementTable, 0 };
-JSSVGTextContentElement::JSSVGTextContentElement(PassRefPtr<Structure> structure, PassRefPtr<SVGTextContentElement> impl)
- : JSSVGElement(structure, impl)
+JSSVGTextContentElement::JSSVGTextContentElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGTextContentElement> impl)
+ : JSSVGElement(structure, globalObject, impl)
{
}
@@ -177,81 +177,92 @@ bool JSSVGTextContentElement::getOwnPropertySlot(ExecState* exec, const Identifi
JSValue jsSVGTextContentElementTextLength(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGTextContentElement* castedThis = static_cast<JSSVGTextContentElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGTextContentElement* imp = static_cast<SVGTextContentElement*>(static_cast<JSSVGTextContentElement*>(asObject(slot.slotBase()))->impl());
+ SVGTextContentElement* imp = static_cast<SVGTextContentElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->textLengthAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGTextContentElementLengthAdjust(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGTextContentElement* castedThis = static_cast<JSSVGTextContentElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGTextContentElement* imp = static_cast<SVGTextContentElement*>(static_cast<JSSVGTextContentElement*>(asObject(slot.slotBase()))->impl());
+ SVGTextContentElement* imp = static_cast<SVGTextContentElement*>(castedThis->impl());
RefPtr<SVGAnimatedEnumeration> obj = imp->lengthAdjustAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGTextContentElementRequiredFeatures(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGTextContentElement* castedThis = static_cast<JSSVGTextContentElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGTextContentElement* imp = static_cast<SVGTextContentElement*>(static_cast<JSSVGTextContentElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->requiredFeatures()), imp);
+ SVGTextContentElement* imp = static_cast<SVGTextContentElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->requiredFeatures()), imp);
}
JSValue jsSVGTextContentElementRequiredExtensions(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGTextContentElement* castedThis = static_cast<JSSVGTextContentElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGTextContentElement* imp = static_cast<SVGTextContentElement*>(static_cast<JSSVGTextContentElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->requiredExtensions()), imp);
+ SVGTextContentElement* imp = static_cast<SVGTextContentElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->requiredExtensions()), imp);
}
JSValue jsSVGTextContentElementSystemLanguage(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGTextContentElement* castedThis = static_cast<JSSVGTextContentElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGTextContentElement* imp = static_cast<SVGTextContentElement*>(static_cast<JSSVGTextContentElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->systemLanguage()), imp);
+ SVGTextContentElement* imp = static_cast<SVGTextContentElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->systemLanguage()), imp);
}
JSValue jsSVGTextContentElementXmllang(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGTextContentElement* castedThis = static_cast<JSSVGTextContentElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGTextContentElement* imp = static_cast<SVGTextContentElement*>(static_cast<JSSVGTextContentElement*>(asObject(slot.slotBase()))->impl());
+ SVGTextContentElement* imp = static_cast<SVGTextContentElement*>(castedThis->impl());
return jsString(exec, imp->xmllang());
}
JSValue jsSVGTextContentElementXmlspace(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGTextContentElement* castedThis = static_cast<JSSVGTextContentElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGTextContentElement* imp = static_cast<SVGTextContentElement*>(static_cast<JSSVGTextContentElement*>(asObject(slot.slotBase()))->impl());
+ SVGTextContentElement* imp = static_cast<SVGTextContentElement*>(castedThis->impl());
return jsString(exec, imp->xmlspace());
}
JSValue jsSVGTextContentElementExternalResourcesRequired(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGTextContentElement* castedThis = static_cast<JSSVGTextContentElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGTextContentElement* imp = static_cast<SVGTextContentElement*>(static_cast<JSSVGTextContentElement*>(asObject(slot.slotBase()))->impl());
+ SVGTextContentElement* imp = static_cast<SVGTextContentElement*>(castedThis->impl());
RefPtr<SVGAnimatedBoolean> obj = imp->externalResourcesRequiredAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGTextContentElementClassName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGTextContentElement* castedThis = static_cast<JSSVGTextContentElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGTextContentElement* imp = static_cast<SVGTextContentElement*>(static_cast<JSSVGTextContentElement*>(asObject(slot.slotBase()))->impl());
+ SVGTextContentElement* imp = static_cast<SVGTextContentElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->classNameAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGTextContentElementStyle(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGTextContentElement* castedThis = static_cast<JSSVGTextContentElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGTextContentElement* imp = static_cast<SVGTextContentElement*>(static_cast<JSSVGTextContentElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->style()));
+ SVGTextContentElement* imp = static_cast<SVGTextContentElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->style()));
}
JSValue jsSVGTextContentElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSSVGTextContentElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSSVGTextContentElement* domObject = static_cast<JSSVGTextContentElement*>(asObject(slot.slotBase()));
+ return JSSVGTextContentElement::getConstructor(exec, domObject->globalObject());
}
void JSSVGTextContentElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -270,9 +281,9 @@ void setJSSVGTextContentElementXmlspace(ExecState* exec, JSObject* thisObject, J
imp->setXmlspace(value.toString(exec));
}
-JSValue JSSVGTextContentElement::getConstructor(ExecState* exec)
+JSValue JSSVGTextContentElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSSVGTextContentElementConstructor>(exec);
+ return getDOMConstructor<JSSVGTextContentElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsSVGTextContentElementPrototypeFunctionGetNumberOfChars(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -341,7 +352,7 @@ JSValue JSC_HOST_CALL jsSVGTextContentElementPrototypeFunctionGetStartPositionOf
}
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<FloatPoint>::create(imp->getStartPositionOfChar(offset, ec)).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<FloatPoint>::create(imp->getStartPositionOfChar(offset, ec)).get(), imp);
setDOMException(exec, ec);
return result;
}
@@ -361,7 +372,7 @@ JSValue JSC_HOST_CALL jsSVGTextContentElementPrototypeFunctionGetEndPositionOfCh
}
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<FloatPoint>::create(imp->getEndPositionOfChar(offset, ec)).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<FloatPoint>::create(imp->getEndPositionOfChar(offset, ec)).get(), imp);
setDOMException(exec, ec);
return result;
}
@@ -381,7 +392,7 @@ JSValue JSC_HOST_CALL jsSVGTextContentElementPrototypeFunctionGetExtentOfChar(Ex
}
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<FloatRect>::create(imp->getExtentOfChar(offset, ec)).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<FloatRect>::create(imp->getExtentOfChar(offset, ec)).get(), imp);
setDOMException(exec, ec);
return result;
}
@@ -468,7 +479,7 @@ JSValue JSC_HOST_CALL jsSVGTextContentElementPrototypeFunctionGetPresentationAtt
const UString& name = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getPresentationAttribute(name)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getPresentationAttribute(name)));
return result;
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGTextContentElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGTextContentElement.h
index 3fbc5fd..0c90d83 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGTextContentElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGTextContentElement.h
@@ -33,7 +33,7 @@ class SVGTextContentElement;
class JSSVGTextContentElement : public JSSVGElement {
typedef JSSVGElement Base;
public:
- JSSVGTextContentElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGTextContentElement>);
+ JSSVGTextContentElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGTextContentElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -45,7 +45,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGTextElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGTextElement.cpp
index 9ebc992..4f1dda6 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGTextElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGTextElement.cpp
@@ -49,7 +49,7 @@ static const HashTableValue JSSVGTextElementTableValues[4] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGTextElementTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGTextElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 7, JSSVGTextElementTableValues, 0 };
#else
@@ -67,7 +67,7 @@ static const HashTableValue JSSVGTextElementPrototypeTableValues[5] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGTextElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGTextElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 3, JSSVGTextElementPrototypeTableValues, 0 };
#else
@@ -88,8 +88,8 @@ bool JSSVGTextElementPrototype::getOwnPropertySlot(ExecState* exec, const Identi
const ClassInfo JSSVGTextElement::s_info = { "SVGTextElement", &JSSVGTextPositioningElement::s_info, &JSSVGTextElementTable, 0 };
-JSSVGTextElement::JSSVGTextElement(PassRefPtr<Structure> structure, PassRefPtr<SVGTextElement> impl)
- : JSSVGTextPositioningElement(structure, impl)
+JSSVGTextElement::JSSVGTextElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGTextElement> impl)
+ : JSSVGTextPositioningElement(structure, globalObject, impl)
{
}
@@ -105,24 +105,27 @@ bool JSSVGTextElement::getOwnPropertySlot(ExecState* exec, const Identifier& pro
JSValue jsSVGTextElementTransform(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGTextElement* castedThis = static_cast<JSSVGTextElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGTextElement* imp = static_cast<SVGTextElement*>(static_cast<JSSVGTextElement*>(asObject(slot.slotBase()))->impl());
+ SVGTextElement* imp = static_cast<SVGTextElement*>(castedThis->impl());
RefPtr<SVGAnimatedTransformList> obj = imp->transformAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGTextElementNearestViewportElement(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGTextElement* castedThis = static_cast<JSSVGTextElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGTextElement* imp = static_cast<SVGTextElement*>(static_cast<JSSVGTextElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->nearestViewportElement()));
+ SVGTextElement* imp = static_cast<SVGTextElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->nearestViewportElement()));
}
JSValue jsSVGTextElementFarthestViewportElement(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGTextElement* castedThis = static_cast<JSSVGTextElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGTextElement* imp = static_cast<SVGTextElement*>(static_cast<JSSVGTextElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->farthestViewportElement()));
+ SVGTextElement* imp = static_cast<SVGTextElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->farthestViewportElement()));
}
JSValue JSC_HOST_CALL jsSVGTextElementPrototypeFunctionGetBBox(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -134,7 +137,7 @@ JSValue JSC_HOST_CALL jsSVGTextElementPrototypeFunctionGetBBox(ExecState* exec,
SVGTextElement* imp = static_cast<SVGTextElement*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<FloatRect>::create(imp->getBBox()).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<FloatRect>::create(imp->getBBox()).get(), imp);
return result;
}
@@ -147,7 +150,7 @@ JSValue JSC_HOST_CALL jsSVGTextElementPrototypeFunctionGetCTM(ExecState* exec, J
SVGTextElement* imp = static_cast<SVGTextElement*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getCTM()).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getCTM()).get(), imp);
return result;
}
@@ -160,7 +163,7 @@ JSValue JSC_HOST_CALL jsSVGTextElementPrototypeFunctionGetScreenCTM(ExecState* e
SVGTextElement* imp = static_cast<SVGTextElement*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getScreenCTM()).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getScreenCTM()).get(), imp);
return result;
}
@@ -175,7 +178,7 @@ JSValue JSC_HOST_CALL jsSVGTextElementPrototypeFunctionGetTransformToElement(Exe
SVGElement* element = toSVGElement(args.at(0));
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getTransformToElement(element, ec)).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getTransformToElement(element, ec)).get(), imp);
setDOMException(exec, ec);
return result;
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGTextElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGTextElement.h
index 4aff180..357640a 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGTextElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGTextElement.h
@@ -33,7 +33,7 @@ class SVGTextElement;
class JSSVGTextElement : public JSSVGTextPositioningElement {
typedef JSSVGTextPositioningElement Base;
public:
- JSSVGTextElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGTextElement>);
+ JSSVGTextElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGTextElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGTextPathElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGTextPathElement.cpp
index ff320ca..ebc5ad8 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGTextPathElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGTextPathElement.cpp
@@ -48,7 +48,7 @@ static const HashTableValue JSSVGTextPathElementTableValues[6] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGTextPathElementTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGTextPathElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSSVGTextPathElementTableValues, 0 };
#else
@@ -68,19 +68,19 @@ static const HashTableValue JSSVGTextPathElementConstructorTableValues[7] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGTextPathElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGTextPathElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 31, JSSVGTextPathElementConstructorTableValues, 0 };
#else
{ 18, 15, JSSVGTextPathElementConstructorTableValues, 0 };
#endif
-class JSSVGTextPathElementConstructor : public DOMObject {
+class JSSVGTextPathElementConstructor : public DOMConstructorObject {
public:
- JSSVGTextPathElementConstructor(ExecState* exec)
- : DOMObject(JSSVGTextPathElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSSVGTextPathElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSSVGTextPathElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSSVGTextPathElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSSVGTextPathElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -112,7 +112,7 @@ static const HashTableValue JSSVGTextPathElementPrototypeTableValues[7] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGTextPathElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGTextPathElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 31, JSSVGTextPathElementPrototypeTableValues, 0 };
#else
@@ -133,8 +133,8 @@ bool JSSVGTextPathElementPrototype::getOwnPropertySlot(ExecState* exec, const Id
const ClassInfo JSSVGTextPathElement::s_info = { "SVGTextPathElement", &JSSVGTextContentElement::s_info, &JSSVGTextPathElementTable, 0 };
-JSSVGTextPathElement::JSSVGTextPathElement(PassRefPtr<Structure> structure, PassRefPtr<SVGTextPathElement> impl)
- : JSSVGTextContentElement(structure, impl)
+JSSVGTextPathElement::JSSVGTextPathElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGTextPathElement> impl)
+ : JSSVGTextContentElement(structure, globalObject, impl)
{
}
@@ -150,43 +150,48 @@ bool JSSVGTextPathElement::getOwnPropertySlot(ExecState* exec, const Identifier&
JSValue jsSVGTextPathElementStartOffset(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGTextPathElement* castedThis = static_cast<JSSVGTextPathElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGTextPathElement* imp = static_cast<SVGTextPathElement*>(static_cast<JSSVGTextPathElement*>(asObject(slot.slotBase()))->impl());
+ SVGTextPathElement* imp = static_cast<SVGTextPathElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->startOffsetAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGTextPathElementMethod(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGTextPathElement* castedThis = static_cast<JSSVGTextPathElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGTextPathElement* imp = static_cast<SVGTextPathElement*>(static_cast<JSSVGTextPathElement*>(asObject(slot.slotBase()))->impl());
+ SVGTextPathElement* imp = static_cast<SVGTextPathElement*>(castedThis->impl());
RefPtr<SVGAnimatedEnumeration> obj = imp->methodAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGTextPathElementSpacing(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGTextPathElement* castedThis = static_cast<JSSVGTextPathElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGTextPathElement* imp = static_cast<SVGTextPathElement*>(static_cast<JSSVGTextPathElement*>(asObject(slot.slotBase()))->impl());
+ SVGTextPathElement* imp = static_cast<SVGTextPathElement*>(castedThis->impl());
RefPtr<SVGAnimatedEnumeration> obj = imp->spacingAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGTextPathElementHref(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGTextPathElement* castedThis = static_cast<JSSVGTextPathElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGTextPathElement* imp = static_cast<SVGTextPathElement*>(static_cast<JSSVGTextPathElement*>(asObject(slot.slotBase()))->impl());
+ SVGTextPathElement* imp = static_cast<SVGTextPathElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->hrefAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGTextPathElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSSVGTextPathElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSSVGTextPathElement* domObject = static_cast<JSSVGTextPathElement*>(asObject(slot.slotBase()));
+ return JSSVGTextPathElement::getConstructor(exec, domObject->globalObject());
}
-JSValue JSSVGTextPathElement::getConstructor(ExecState* exec)
+JSValue JSSVGTextPathElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSSVGTextPathElementConstructor>(exec);
+ return getDOMConstructor<JSSVGTextPathElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
// Constant getters
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGTextPathElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGTextPathElement.h
index 9301f9d..382f8f0 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGTextPathElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGTextPathElement.h
@@ -33,7 +33,7 @@ class SVGTextPathElement;
class JSSVGTextPathElement : public JSSVGTextContentElement {
typedef JSSVGTextContentElement Base;
public:
- JSSVGTextPathElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGTextPathElement>);
+ JSSVGTextPathElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGTextPathElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
@@ -44,7 +44,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGTextPositioningElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGTextPositioningElement.cpp
index 373d0c3..88260e7 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGTextPositioningElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGTextPositioningElement.cpp
@@ -47,7 +47,7 @@ static const HashTableValue JSSVGTextPositioningElementTableValues[6] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGTextPositioningElementTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGTextPositioningElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSSVGTextPositioningElementTableValues, 0 };
#else
@@ -61,7 +61,7 @@ static const HashTableValue JSSVGTextPositioningElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGTextPositioningElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGTextPositioningElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGTextPositioningElementPrototypeTableValues, 0 };
#else
@@ -77,8 +77,8 @@ JSObject* JSSVGTextPositioningElementPrototype::self(ExecState* exec, JSGlobalOb
const ClassInfo JSSVGTextPositioningElement::s_info = { "SVGTextPositioningElement", &JSSVGTextContentElement::s_info, &JSSVGTextPositioningElementTable, 0 };
-JSSVGTextPositioningElement::JSSVGTextPositioningElement(PassRefPtr<Structure> structure, PassRefPtr<SVGTextPositioningElement> impl)
- : JSSVGTextContentElement(structure, impl)
+JSSVGTextPositioningElement::JSSVGTextPositioningElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGTextPositioningElement> impl)
+ : JSSVGTextContentElement(structure, globalObject, impl)
{
}
@@ -94,42 +94,47 @@ bool JSSVGTextPositioningElement::getOwnPropertySlot(ExecState* exec, const Iden
JSValue jsSVGTextPositioningElementX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGTextPositioningElement* castedThis = static_cast<JSSVGTextPositioningElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGTextPositioningElement* imp = static_cast<SVGTextPositioningElement*>(static_cast<JSSVGTextPositioningElement*>(asObject(slot.slotBase()))->impl());
+ SVGTextPositioningElement* imp = static_cast<SVGTextPositioningElement*>(castedThis->impl());
RefPtr<SVGAnimatedLengthList> obj = imp->xAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGTextPositioningElementY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGTextPositioningElement* castedThis = static_cast<JSSVGTextPositioningElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGTextPositioningElement* imp = static_cast<SVGTextPositioningElement*>(static_cast<JSSVGTextPositioningElement*>(asObject(slot.slotBase()))->impl());
+ SVGTextPositioningElement* imp = static_cast<SVGTextPositioningElement*>(castedThis->impl());
RefPtr<SVGAnimatedLengthList> obj = imp->yAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGTextPositioningElementDx(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGTextPositioningElement* castedThis = static_cast<JSSVGTextPositioningElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGTextPositioningElement* imp = static_cast<SVGTextPositioningElement*>(static_cast<JSSVGTextPositioningElement*>(asObject(slot.slotBase()))->impl());
+ SVGTextPositioningElement* imp = static_cast<SVGTextPositioningElement*>(castedThis->impl());
RefPtr<SVGAnimatedLengthList> obj = imp->dxAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGTextPositioningElementDy(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGTextPositioningElement* castedThis = static_cast<JSSVGTextPositioningElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGTextPositioningElement* imp = static_cast<SVGTextPositioningElement*>(static_cast<JSSVGTextPositioningElement*>(asObject(slot.slotBase()))->impl());
+ SVGTextPositioningElement* imp = static_cast<SVGTextPositioningElement*>(castedThis->impl());
RefPtr<SVGAnimatedLengthList> obj = imp->dyAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGTextPositioningElementRotate(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGTextPositioningElement* castedThis = static_cast<JSSVGTextPositioningElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGTextPositioningElement* imp = static_cast<SVGTextPositioningElement*>(static_cast<JSSVGTextPositioningElement*>(asObject(slot.slotBase()))->impl());
+ SVGTextPositioningElement* imp = static_cast<SVGTextPositioningElement*>(castedThis->impl());
RefPtr<SVGAnimatedNumberList> obj = imp->rotateAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGTextPositioningElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGTextPositioningElement.h
index 3f4864d..b34c095 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGTextPositioningElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGTextPositioningElement.h
@@ -33,7 +33,7 @@ class SVGTextPositioningElement;
class JSSVGTextPositioningElement : public JSSVGTextContentElement {
typedef JSSVGTextContentElement Base;
public:
- JSSVGTextPositioningElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGTextPositioningElement>);
+ JSSVGTextPositioningElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGTextPositioningElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGTitleElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGTitleElement.cpp
index 479cbcc..438ed3f 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGTitleElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGTitleElement.cpp
@@ -53,7 +53,7 @@ static const HashTableValue JSSVGTitleElementTableValues[5] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGTitleElementTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGTitleElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSSVGTitleElementTableValues, 0 };
#else
@@ -68,7 +68,7 @@ static const HashTableValue JSSVGTitleElementPrototypeTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGTitleElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGTitleElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGTitleElementPrototypeTableValues, 0 };
#else
@@ -89,8 +89,8 @@ bool JSSVGTitleElementPrototype::getOwnPropertySlot(ExecState* exec, const Ident
const ClassInfo JSSVGTitleElement::s_info = { "SVGTitleElement", &JSSVGElement::s_info, &JSSVGTitleElementTable, 0 };
-JSSVGTitleElement::JSSVGTitleElement(PassRefPtr<Structure> structure, PassRefPtr<SVGTitleElement> impl)
- : JSSVGElement(structure, impl)
+JSSVGTitleElement::JSSVGTitleElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGTitleElement> impl)
+ : JSSVGElement(structure, globalObject, impl)
{
}
@@ -106,31 +106,35 @@ bool JSSVGTitleElement::getOwnPropertySlot(ExecState* exec, const Identifier& pr
JSValue jsSVGTitleElementXmllang(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGTitleElement* castedThis = static_cast<JSSVGTitleElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGTitleElement* imp = static_cast<SVGTitleElement*>(static_cast<JSSVGTitleElement*>(asObject(slot.slotBase()))->impl());
+ SVGTitleElement* imp = static_cast<SVGTitleElement*>(castedThis->impl());
return jsString(exec, imp->xmllang());
}
JSValue jsSVGTitleElementXmlspace(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGTitleElement* castedThis = static_cast<JSSVGTitleElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGTitleElement* imp = static_cast<SVGTitleElement*>(static_cast<JSSVGTitleElement*>(asObject(slot.slotBase()))->impl());
+ SVGTitleElement* imp = static_cast<SVGTitleElement*>(castedThis->impl());
return jsString(exec, imp->xmlspace());
}
JSValue jsSVGTitleElementClassName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGTitleElement* castedThis = static_cast<JSSVGTitleElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGTitleElement* imp = static_cast<SVGTitleElement*>(static_cast<JSSVGTitleElement*>(asObject(slot.slotBase()))->impl());
+ SVGTitleElement* imp = static_cast<SVGTitleElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->classNameAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGTitleElementStyle(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGTitleElement* castedThis = static_cast<JSSVGTitleElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGTitleElement* imp = static_cast<SVGTitleElement*>(static_cast<JSSVGTitleElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->style()));
+ SVGTitleElement* imp = static_cast<SVGTitleElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->style()));
}
void JSSVGTitleElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
@@ -160,7 +164,7 @@ JSValue JSC_HOST_CALL jsSVGTitleElementPrototypeFunctionGetPresentationAttribute
const UString& name = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getPresentationAttribute(name)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getPresentationAttribute(name)));
return result;
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGTitleElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGTitleElement.h
index 31848a7..91a49fd 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGTitleElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGTitleElement.h
@@ -33,7 +33,7 @@ class SVGTitleElement;
class JSSVGTitleElement : public JSSVGElement {
typedef JSSVGElement Base;
public:
- JSSVGTitleElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGTitleElement>);
+ JSSVGTitleElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGTitleElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGTransform.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGTransform.cpp
index cb98e9f..d50dfc5 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGTransform.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGTransform.cpp
@@ -47,7 +47,7 @@ static const HashTableValue JSSVGTransformTableValues[5] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGTransformTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGTransformTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 31, JSSVGTransformTableValues, 0 };
#else
@@ -68,19 +68,19 @@ static const HashTableValue JSSVGTransformConstructorTableValues[8] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGTransformConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGTransformConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 127, JSSVGTransformConstructorTableValues, 0 };
#else
{ 18, 15, JSSVGTransformConstructorTableValues, 0 };
#endif
-class JSSVGTransformConstructor : public DOMObject {
+class JSSVGTransformConstructor : public DOMConstructorObject {
public:
- JSSVGTransformConstructor(ExecState* exec)
- : DOMObject(JSSVGTransformConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSSVGTransformConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSSVGTransformConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSSVGTransformPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSSVGTransformPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -119,7 +119,7 @@ static const HashTableValue JSSVGTransformPrototypeTableValues[14] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGTransformPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGTransformPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 127, JSSVGTransformPrototypeTableValues, 0 };
#else
@@ -140,9 +140,8 @@ bool JSSVGTransformPrototype::getOwnPropertySlot(ExecState* exec, const Identifi
const ClassInfo JSSVGTransform::s_info = { "SVGTransform", 0, &JSSVGTransformTable, 0 };
-JSSVGTransform::JSSVGTransform(PassRefPtr<Structure> structure, PassRefPtr<JSSVGPODTypeWrapper<SVGTransform> > impl, SVGElement* context)
- : DOMObject(structure)
- , m_context(context)
+JSSVGTransform::JSSVGTransform(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<JSSVGPODTypeWrapper<SVGTransform> > impl, SVGElement* context)
+ : DOMObjectWithSVGContext(structure, globalObject, context)
, m_impl(impl)
{
}
@@ -164,32 +163,36 @@ bool JSSVGTransform::getOwnPropertySlot(ExecState* exec, const Identifier& prope
JSValue jsSVGTransformType(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGTransform* castedThis = static_cast<JSSVGTransform*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGTransform imp(*static_cast<JSSVGTransform*>(asObject(slot.slotBase()))->impl());
+ SVGTransform imp(*castedThis->impl());
return jsNumber(exec, imp.type());
}
JSValue jsSVGTransformMatrix(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGTransform* castedThis = static_cast<JSSVGTransform*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGTransform imp(*static_cast<JSSVGTransform*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, JSSVGStaticPODTypeWrapperWithPODTypeParent<TransformationMatrix, SVGTransform>::create(imp.matrix(), static_cast<JSSVGTransform*>(asObject(slot.slotBase()))->impl()).get(), static_cast<JSSVGTransform*>(asObject(slot.slotBase()))->context());
+ SVGTransform imp(*castedThis->impl());
+ return toJS(exec, deprecatedGlobalObjectForPrototype(exec), JSSVGStaticPODTypeWrapperWithPODTypeParent<TransformationMatrix, SVGTransform>::create(imp.matrix(), castedThis->impl()).get(), castedThis->context());
}
JSValue jsSVGTransformAngle(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGTransform* castedThis = static_cast<JSSVGTransform*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGTransform imp(*static_cast<JSSVGTransform*>(asObject(slot.slotBase()))->impl());
+ SVGTransform imp(*castedThis->impl());
return jsNumber(exec, imp.angle());
}
JSValue jsSVGTransformConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSSVGTransform*>(asObject(slot.slotBase()))->getConstructor(exec);
+ UNUSED_PARAM(slot);
+ return JSSVGTransform::getConstructor(exec, deprecatedGlobalObjectForPrototype(exec));
}
-JSValue JSSVGTransform::getConstructor(ExecState* exec)
+JSValue JSSVGTransform::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSSVGTransformConstructor>(exec);
+ return getDOMConstructor<JSSVGTransformConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsSVGTransformPrototypeFunctionSetMatrix(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -323,9 +326,9 @@ JSValue jsSVGTransformSVG_TRANSFORM_SKEWY(ExecState* exec, const Identifier&, co
return jsNumber(exec, static_cast<int>(6));
}
-JSC::JSValue toJS(JSC::ExecState* exec, JSSVGPODTypeWrapper<SVGTransform>* object, SVGElement* context)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, JSSVGPODTypeWrapper<SVGTransform>* object, SVGElement* context)
{
- return getDOMObjectWrapper<JSSVGTransform, JSSVGPODTypeWrapper<SVGTransform> >(exec, object, context);
+ return getDOMObjectWrapper<JSSVGTransform, JSSVGPODTypeWrapper<SVGTransform> >(exec, globalObject, object, context);
}
SVGTransform toSVGTransform(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGTransform.h b/src/3rdparty/webkit/WebCore/generated/JSSVGTransform.h
index c95932a..90b8ef9 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGTransform.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGTransform.h
@@ -23,6 +23,7 @@
#if ENABLE(SVG)
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include "JSSVGPODTypeWrapper.h"
#include "SVGElement.h"
@@ -32,10 +33,10 @@
namespace WebCore {
-class JSSVGTransform : public DOMObject {
- typedef DOMObject Base;
+class JSSVGTransform : public DOMObjectWithSVGContext {
+ typedef DOMObjectWithSVGContext Base;
public:
- JSSVGTransform(PassRefPtr<JSC::Structure>, PassRefPtr<JSSVGPODTypeWrapper<SVGTransform> >, SVGElement* context);
+ JSSVGTransform(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<JSSVGPODTypeWrapper<SVGTransform> >, SVGElement* context);
virtual ~JSSVGTransform();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -47,16 +48,14 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
- JSSVGPODTypeWrapper<SVGTransform>* impl() const { return m_impl.get(); }
- SVGElement* context() const { return m_context.get(); }
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
+ JSSVGPODTypeWrapper<SVGTransform> * impl() const { return m_impl.get(); }
private:
- RefPtr<SVGElement> m_context;
RefPtr<JSSVGPODTypeWrapper<SVGTransform> > m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, JSSVGPODTypeWrapper<SVGTransform>*, SVGElement* context);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, JSSVGPODTypeWrapper<SVGTransform>*, SVGElement* context);
SVGTransform toSVGTransform(JSC::JSValue);
class JSSVGTransformPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGTransformList.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGTransformList.cpp
index 3232123..676271d 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGTransformList.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGTransformList.cpp
@@ -46,7 +46,7 @@ static const HashTableValue JSSVGTransformListTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGTransformListTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGTransformListTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGTransformListTableValues, 0 };
#else
@@ -69,7 +69,7 @@ static const HashTableValue JSSVGTransformListPrototypeTableValues[10] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGTransformListPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGTransformListPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 63, JSSVGTransformListPrototypeTableValues, 0 };
#else
@@ -90,9 +90,8 @@ bool JSSVGTransformListPrototype::getOwnPropertySlot(ExecState* exec, const Iden
const ClassInfo JSSVGTransformList::s_info = { "SVGTransformList", 0, &JSSVGTransformListTable, 0 };
-JSSVGTransformList::JSSVGTransformList(PassRefPtr<Structure> structure, PassRefPtr<SVGTransformList> impl, SVGElement* context)
- : DOMObject(structure)
- , m_context(context)
+JSSVGTransformList::JSSVGTransformList(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGTransformList> impl, SVGElement* context)
+ : DOMObjectWithSVGContext(structure, globalObject, context)
, m_impl(impl)
{
}
@@ -114,8 +113,9 @@ bool JSSVGTransformList::getOwnPropertySlot(ExecState* exec, const Identifier& p
JSValue jsSVGTransformListNumberOfItems(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGTransformList* castedThis = static_cast<JSSVGTransformList*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGTransformList* imp = static_cast<SVGTransformList*>(static_cast<JSSVGTransformList*>(asObject(slot.slotBase()))->impl());
+ SVGTransformList* imp = static_cast<SVGTransformList*>(castedThis->impl());
return jsNumber(exec, imp->numberOfItems());
}
@@ -192,7 +192,7 @@ JSValue JSC_HOST_CALL jsSVGTransformListPrototypeFunctionCreateSVGTransformFromM
TransformationMatrix matrix = toSVGMatrix(args.at(0));
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<SVGTransform>::create(imp->createSVGTransformFromMatrix(matrix)).get(), castedThisObj->context());
+ JSC::JSValue result = toJS(exec, deprecatedGlobalObjectForPrototype(exec), JSSVGStaticPODTypeWrapper<SVGTransform>::create(imp->createSVGTransformFromMatrix(matrix)).get(), castedThisObj->context());
return result;
}
@@ -205,13 +205,13 @@ JSValue JSC_HOST_CALL jsSVGTransformListPrototypeFunctionConsolidate(ExecState*
SVGTransformList* imp = static_cast<SVGTransformList*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<SVGTransform>::create(imp->consolidate()).get(), castedThisObj->context());
+ JSC::JSValue result = toJS(exec, deprecatedGlobalObjectForPrototype(exec), JSSVGStaticPODTypeWrapper<SVGTransform>::create(imp->consolidate()).get(), castedThisObj->context());
return result;
}
-JSC::JSValue toJS(JSC::ExecState* exec, SVGTransformList* object, SVGElement* context)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, SVGTransformList* object, SVGElement* context)
{
- return getDOMObjectWrapper<JSSVGTransformList>(exec, object, context);
+ return getDOMObjectWrapper<JSSVGTransformList>(exec, globalObject, object, context);
}
SVGTransformList* toSVGTransformList(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGTransformList.h b/src/3rdparty/webkit/WebCore/generated/JSSVGTransformList.h
index 9718f9b..463d0e4 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGTransformList.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGTransformList.h
@@ -23,6 +23,7 @@
#if ENABLE(SVG)
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include "SVGElement.h"
#include <runtime/JSGlobalObject.h>
@@ -32,10 +33,10 @@ namespace WebCore {
class SVGTransformList;
-class JSSVGTransformList : public DOMObject {
- typedef DOMObject Base;
+class JSSVGTransformList : public DOMObjectWithSVGContext {
+ typedef DOMObjectWithSVGContext Base;
public:
- JSSVGTransformList(PassRefPtr<JSC::Structure>, PassRefPtr<SVGTransformList>, SVGElement* context);
+ JSSVGTransformList(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGTransformList>, SVGElement* context);
virtual ~JSSVGTransformList();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -57,14 +58,12 @@ public:
JSC::JSValue removeItem(JSC::ExecState*, const JSC::ArgList&);
JSC::JSValue appendItem(JSC::ExecState*, const JSC::ArgList&);
SVGTransformList* impl() const { return m_impl.get(); }
- SVGElement* context() const { return m_context.get(); }
private:
- RefPtr<SVGElement> m_context;
- RefPtr<SVGTransformList > m_impl;
+ RefPtr<SVGTransformList> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, SVGTransformList*, SVGElement* context);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, SVGTransformList*, SVGElement* context);
SVGTransformList* toSVGTransformList(JSC::JSValue);
class JSSVGTransformListPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGUnitTypes.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGUnitTypes.cpp
index 5477773..4eebca7 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGUnitTypes.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGUnitTypes.cpp
@@ -41,7 +41,7 @@ static const HashTableValue JSSVGUnitTypesTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGUnitTypesTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGUnitTypesTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGUnitTypesTableValues, 0 };
#else
@@ -58,19 +58,19 @@ static const HashTableValue JSSVGUnitTypesConstructorTableValues[4] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGUnitTypesConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGUnitTypesConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 3, JSSVGUnitTypesConstructorTableValues, 0 };
#else
{ 8, 7, JSSVGUnitTypesConstructorTableValues, 0 };
#endif
-class JSSVGUnitTypesConstructor : public DOMObject {
+class JSSVGUnitTypesConstructor : public DOMConstructorObject {
public:
- JSSVGUnitTypesConstructor(ExecState* exec)
- : DOMObject(JSSVGUnitTypesConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSSVGUnitTypesConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSSVGUnitTypesConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSSVGUnitTypesPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSSVGUnitTypesPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -99,7 +99,7 @@ static const HashTableValue JSSVGUnitTypesPrototypeTableValues[4] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGUnitTypesPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGUnitTypesPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 3, JSSVGUnitTypesPrototypeTableValues, 0 };
#else
@@ -120,9 +120,8 @@ bool JSSVGUnitTypesPrototype::getOwnPropertySlot(ExecState* exec, const Identifi
const ClassInfo JSSVGUnitTypes::s_info = { "SVGUnitTypes", 0, &JSSVGUnitTypesTable, 0 };
-JSSVGUnitTypes::JSSVGUnitTypes(PassRefPtr<Structure> structure, PassRefPtr<SVGUnitTypes> impl, SVGElement* context)
- : DOMObject(structure)
- , m_context(context)
+JSSVGUnitTypes::JSSVGUnitTypes(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGUnitTypes> impl, SVGElement* context)
+ : DOMObjectWithSVGContext(structure, globalObject, context)
, m_impl(impl)
{
}
@@ -144,11 +143,12 @@ bool JSSVGUnitTypes::getOwnPropertySlot(ExecState* exec, const Identifier& prope
JSValue jsSVGUnitTypesConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSSVGUnitTypes*>(asObject(slot.slotBase()))->getConstructor(exec);
+ UNUSED_PARAM(slot);
+ return JSSVGUnitTypes::getConstructor(exec, deprecatedGlobalObjectForPrototype(exec));
}
-JSValue JSSVGUnitTypes::getConstructor(ExecState* exec)
+JSValue JSSVGUnitTypes::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSSVGUnitTypesConstructor>(exec);
+ return getDOMConstructor<JSSVGUnitTypesConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
// Constant getters
@@ -168,9 +168,9 @@ JSValue jsSVGUnitTypesSVG_UNIT_TYPE_OBJECTBOUNDINGBOX(ExecState* exec, const Ide
return jsNumber(exec, static_cast<int>(2));
}
-JSC::JSValue toJS(JSC::ExecState* exec, SVGUnitTypes* object, SVGElement* context)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, SVGUnitTypes* object, SVGElement* context)
{
- return getDOMObjectWrapper<JSSVGUnitTypes>(exec, object, context);
+ return getDOMObjectWrapper<JSSVGUnitTypes>(exec, globalObject, object, context);
}
SVGUnitTypes* toSVGUnitTypes(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGUnitTypes.h b/src/3rdparty/webkit/WebCore/generated/JSSVGUnitTypes.h
index 080f7ba..8ec3a94 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGUnitTypes.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGUnitTypes.h
@@ -23,6 +23,7 @@
#if ENABLE(SVG)
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include "SVGElement.h"
#include <runtime/JSGlobalObject.h>
@@ -32,10 +33,10 @@ namespace WebCore {
class SVGUnitTypes;
-class JSSVGUnitTypes : public DOMObject {
- typedef DOMObject Base;
+class JSSVGUnitTypes : public DOMObjectWithSVGContext {
+ typedef DOMObjectWithSVGContext Base;
public:
- JSSVGUnitTypes(PassRefPtr<JSC::Structure>, PassRefPtr<SVGUnitTypes>, SVGElement* context);
+ JSSVGUnitTypes(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGUnitTypes>, SVGElement* context);
virtual ~JSSVGUnitTypes();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -47,16 +48,14 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
SVGUnitTypes* impl() const { return m_impl.get(); }
- SVGElement* context() const { return m_context.get(); }
private:
- RefPtr<SVGElement> m_context;
- RefPtr<SVGUnitTypes > m_impl;
+ RefPtr<SVGUnitTypes> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, SVGUnitTypes*, SVGElement* context);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, SVGUnitTypes*, SVGElement* context);
SVGUnitTypes* toSVGUnitTypes(JSC::JSValue);
class JSSVGUnitTypesPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGUseElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGUseElement.cpp
index d05bc22..43c337e 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGUseElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGUseElement.cpp
@@ -78,7 +78,7 @@ static const HashTableValue JSSVGUseElementTableValues[19] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGUseElementTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGUseElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 1023, JSSVGUseElementTableValues, 0 };
#else
@@ -98,7 +98,7 @@ static const HashTableValue JSSVGUseElementPrototypeTableValues[7] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGUseElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGUseElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 2047, JSSVGUseElementPrototypeTableValues, 0 };
#else
@@ -119,8 +119,8 @@ bool JSSVGUseElementPrototype::getOwnPropertySlot(ExecState* exec, const Identif
const ClassInfo JSSVGUseElement::s_info = { "SVGUseElement", &JSSVGElement::s_info, &JSSVGUseElementTable, 0 };
-JSSVGUseElement::JSSVGUseElement(PassRefPtr<Structure> structure, PassRefPtr<SVGUseElement> impl)
- : JSSVGElement(structure, impl)
+JSSVGUseElement::JSSVGUseElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGUseElement> impl)
+ : JSSVGElement(structure, globalObject, impl)
{
}
@@ -136,136 +136,154 @@ bool JSSVGUseElement::getOwnPropertySlot(ExecState* exec, const Identifier& prop
JSValue jsSVGUseElementX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGUseElement* castedThis = static_cast<JSSVGUseElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGUseElement* imp = static_cast<SVGUseElement*>(static_cast<JSSVGUseElement*>(asObject(slot.slotBase()))->impl());
+ SVGUseElement* imp = static_cast<SVGUseElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->xAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGUseElementY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGUseElement* castedThis = static_cast<JSSVGUseElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGUseElement* imp = static_cast<SVGUseElement*>(static_cast<JSSVGUseElement*>(asObject(slot.slotBase()))->impl());
+ SVGUseElement* imp = static_cast<SVGUseElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->yAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGUseElementWidth(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGUseElement* castedThis = static_cast<JSSVGUseElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGUseElement* imp = static_cast<SVGUseElement*>(static_cast<JSSVGUseElement*>(asObject(slot.slotBase()))->impl());
+ SVGUseElement* imp = static_cast<SVGUseElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->widthAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGUseElementHeight(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGUseElement* castedThis = static_cast<JSSVGUseElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGUseElement* imp = static_cast<SVGUseElement*>(static_cast<JSSVGUseElement*>(asObject(slot.slotBase()))->impl());
+ SVGUseElement* imp = static_cast<SVGUseElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->heightAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGUseElementInstanceRoot(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGUseElement* castedThis = static_cast<JSSVGUseElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGUseElement* imp = static_cast<SVGUseElement*>(static_cast<JSSVGUseElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->instanceRoot()));
+ SVGUseElement* imp = static_cast<SVGUseElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->instanceRoot()));
}
JSValue jsSVGUseElementAnimatedInstanceRoot(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGUseElement* castedThis = static_cast<JSSVGUseElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGUseElement* imp = static_cast<SVGUseElement*>(static_cast<JSSVGUseElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->animatedInstanceRoot()));
+ SVGUseElement* imp = static_cast<SVGUseElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->animatedInstanceRoot()));
}
JSValue jsSVGUseElementHref(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGUseElement* castedThis = static_cast<JSSVGUseElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGUseElement* imp = static_cast<SVGUseElement*>(static_cast<JSSVGUseElement*>(asObject(slot.slotBase()))->impl());
+ SVGUseElement* imp = static_cast<SVGUseElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->hrefAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGUseElementRequiredFeatures(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGUseElement* castedThis = static_cast<JSSVGUseElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGUseElement* imp = static_cast<SVGUseElement*>(static_cast<JSSVGUseElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->requiredFeatures()), imp);
+ SVGUseElement* imp = static_cast<SVGUseElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->requiredFeatures()), imp);
}
JSValue jsSVGUseElementRequiredExtensions(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGUseElement* castedThis = static_cast<JSSVGUseElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGUseElement* imp = static_cast<SVGUseElement*>(static_cast<JSSVGUseElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->requiredExtensions()), imp);
+ SVGUseElement* imp = static_cast<SVGUseElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->requiredExtensions()), imp);
}
JSValue jsSVGUseElementSystemLanguage(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGUseElement* castedThis = static_cast<JSSVGUseElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGUseElement* imp = static_cast<SVGUseElement*>(static_cast<JSSVGUseElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->systemLanguage()), imp);
+ SVGUseElement* imp = static_cast<SVGUseElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->systemLanguage()), imp);
}
JSValue jsSVGUseElementXmllang(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGUseElement* castedThis = static_cast<JSSVGUseElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGUseElement* imp = static_cast<SVGUseElement*>(static_cast<JSSVGUseElement*>(asObject(slot.slotBase()))->impl());
+ SVGUseElement* imp = static_cast<SVGUseElement*>(castedThis->impl());
return jsString(exec, imp->xmllang());
}
JSValue jsSVGUseElementXmlspace(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGUseElement* castedThis = static_cast<JSSVGUseElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGUseElement* imp = static_cast<SVGUseElement*>(static_cast<JSSVGUseElement*>(asObject(slot.slotBase()))->impl());
+ SVGUseElement* imp = static_cast<SVGUseElement*>(castedThis->impl());
return jsString(exec, imp->xmlspace());
}
JSValue jsSVGUseElementExternalResourcesRequired(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGUseElement* castedThis = static_cast<JSSVGUseElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGUseElement* imp = static_cast<SVGUseElement*>(static_cast<JSSVGUseElement*>(asObject(slot.slotBase()))->impl());
+ SVGUseElement* imp = static_cast<SVGUseElement*>(castedThis->impl());
RefPtr<SVGAnimatedBoolean> obj = imp->externalResourcesRequiredAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGUseElementClassName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGUseElement* castedThis = static_cast<JSSVGUseElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGUseElement* imp = static_cast<SVGUseElement*>(static_cast<JSSVGUseElement*>(asObject(slot.slotBase()))->impl());
+ SVGUseElement* imp = static_cast<SVGUseElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->classNameAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGUseElementStyle(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGUseElement* castedThis = static_cast<JSSVGUseElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGUseElement* imp = static_cast<SVGUseElement*>(static_cast<JSSVGUseElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->style()));
+ SVGUseElement* imp = static_cast<SVGUseElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->style()));
}
JSValue jsSVGUseElementTransform(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGUseElement* castedThis = static_cast<JSSVGUseElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGUseElement* imp = static_cast<SVGUseElement*>(static_cast<JSSVGUseElement*>(asObject(slot.slotBase()))->impl());
+ SVGUseElement* imp = static_cast<SVGUseElement*>(castedThis->impl());
RefPtr<SVGAnimatedTransformList> obj = imp->transformAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGUseElementNearestViewportElement(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGUseElement* castedThis = static_cast<JSSVGUseElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGUseElement* imp = static_cast<SVGUseElement*>(static_cast<JSSVGUseElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->nearestViewportElement()));
+ SVGUseElement* imp = static_cast<SVGUseElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->nearestViewportElement()));
}
JSValue jsSVGUseElementFarthestViewportElement(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGUseElement* castedThis = static_cast<JSSVGUseElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGUseElement* imp = static_cast<SVGUseElement*>(static_cast<JSSVGUseElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->farthestViewportElement()));
+ SVGUseElement* imp = static_cast<SVGUseElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->farthestViewportElement()));
}
void JSSVGUseElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
@@ -309,7 +327,7 @@ JSValue JSC_HOST_CALL jsSVGUseElementPrototypeFunctionGetPresentationAttribute(E
const UString& name = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getPresentationAttribute(name)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getPresentationAttribute(name)));
return result;
}
@@ -322,7 +340,7 @@ JSValue JSC_HOST_CALL jsSVGUseElementPrototypeFunctionGetBBox(ExecState* exec, J
SVGUseElement* imp = static_cast<SVGUseElement*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<FloatRect>::create(imp->getBBox()).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<FloatRect>::create(imp->getBBox()).get(), imp);
return result;
}
@@ -335,7 +353,7 @@ JSValue JSC_HOST_CALL jsSVGUseElementPrototypeFunctionGetCTM(ExecState* exec, JS
SVGUseElement* imp = static_cast<SVGUseElement*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getCTM()).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getCTM()).get(), imp);
return result;
}
@@ -348,7 +366,7 @@ JSValue JSC_HOST_CALL jsSVGUseElementPrototypeFunctionGetScreenCTM(ExecState* ex
SVGUseElement* imp = static_cast<SVGUseElement*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getScreenCTM()).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getScreenCTM()).get(), imp);
return result;
}
@@ -363,7 +381,7 @@ JSValue JSC_HOST_CALL jsSVGUseElementPrototypeFunctionGetTransformToElement(Exec
SVGElement* element = toSVGElement(args.at(0));
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getTransformToElement(element, ec)).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getTransformToElement(element, ec)).get(), imp);
setDOMException(exec, ec);
return result;
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGUseElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGUseElement.h
index e3ffef8..889f7fd 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGUseElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGUseElement.h
@@ -33,7 +33,7 @@ class SVGUseElement;
class JSSVGUseElement : public JSSVGElement {
typedef JSSVGElement Base;
public:
- JSSVGUseElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGUseElement>);
+ JSSVGUseElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGUseElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGViewElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGViewElement.cpp
index 115ed1e..0f54e33 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGViewElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGViewElement.cpp
@@ -51,7 +51,7 @@ static const HashTableValue JSSVGViewElementTableValues[6] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGViewElementTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGViewElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSSVGViewElementTableValues, 0 };
#else
@@ -68,7 +68,7 @@ static const HashTableValue JSSVGViewElementPrototypeTableValues[4] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGViewElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGViewElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 31, JSSVGViewElementPrototypeTableValues, 0 };
#else
@@ -89,8 +89,8 @@ bool JSSVGViewElementPrototype::getOwnPropertySlot(ExecState* exec, const Identi
const ClassInfo JSSVGViewElement::s_info = { "SVGViewElement", &JSSVGElement::s_info, &JSSVGViewElementTable, 0 };
-JSSVGViewElement::JSSVGViewElement(PassRefPtr<Structure> structure, PassRefPtr<SVGViewElement> impl)
- : JSSVGElement(structure, impl)
+JSSVGViewElement::JSSVGViewElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGViewElement> impl)
+ : JSSVGElement(structure, globalObject, impl)
{
}
@@ -106,39 +106,44 @@ bool JSSVGViewElement::getOwnPropertySlot(ExecState* exec, const Identifier& pro
JSValue jsSVGViewElementViewTarget(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGViewElement* castedThis = static_cast<JSSVGViewElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGViewElement* imp = static_cast<SVGViewElement*>(static_cast<JSSVGViewElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->viewTarget()), imp);
+ SVGViewElement* imp = static_cast<SVGViewElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->viewTarget()), imp);
}
JSValue jsSVGViewElementExternalResourcesRequired(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGViewElement* castedThis = static_cast<JSSVGViewElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGViewElement* imp = static_cast<SVGViewElement*>(static_cast<JSSVGViewElement*>(asObject(slot.slotBase()))->impl());
+ SVGViewElement* imp = static_cast<SVGViewElement*>(castedThis->impl());
RefPtr<SVGAnimatedBoolean> obj = imp->externalResourcesRequiredAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGViewElementViewBox(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGViewElement* castedThis = static_cast<JSSVGViewElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGViewElement* imp = static_cast<SVGViewElement*>(static_cast<JSSVGViewElement*>(asObject(slot.slotBase()))->impl());
+ SVGViewElement* imp = static_cast<SVGViewElement*>(castedThis->impl());
RefPtr<SVGAnimatedRect> obj = imp->viewBoxAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGViewElementPreserveAspectRatio(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGViewElement* castedThis = static_cast<JSSVGViewElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGViewElement* imp = static_cast<SVGViewElement*>(static_cast<JSSVGViewElement*>(asObject(slot.slotBase()))->impl());
+ SVGViewElement* imp = static_cast<SVGViewElement*>(castedThis->impl());
RefPtr<SVGAnimatedPreserveAspectRatio> obj = imp->preserveAspectRatioAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGViewElementZoomAndPan(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGViewElement* castedThis = static_cast<JSSVGViewElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGViewElement* imp = static_cast<SVGViewElement*>(static_cast<JSSVGViewElement*>(asObject(slot.slotBase()))->impl());
+ SVGViewElement* imp = static_cast<SVGViewElement*>(castedThis->impl());
return jsNumber(exec, imp->zoomAndPan());
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGViewElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGViewElement.h
index 0941a00..40f2ad9 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGViewElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGViewElement.h
@@ -33,7 +33,7 @@ class SVGViewElement;
class JSSVGViewElement : public JSSVGElement {
typedef JSSVGElement Base;
public:
- JSSVGViewElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGViewElement>);
+ JSSVGViewElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGViewElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGZoomEvent.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGZoomEvent.cpp
index 5434095..6ff7a9e 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGZoomEvent.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGZoomEvent.cpp
@@ -48,7 +48,7 @@ static const HashTableValue JSSVGZoomEventTableValues[6] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGZoomEventTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGZoomEventTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 31, JSSVGZoomEventTableValues, 0 };
#else
@@ -62,7 +62,7 @@ static const HashTableValue JSSVGZoomEventPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGZoomEventPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGZoomEventPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGZoomEventPrototypeTableValues, 0 };
#else
@@ -78,8 +78,8 @@ JSObject* JSSVGZoomEventPrototype::self(ExecState* exec, JSGlobalObject* globalO
const ClassInfo JSSVGZoomEvent::s_info = { "SVGZoomEvent", &JSUIEvent::s_info, &JSSVGZoomEventTable, 0 };
-JSSVGZoomEvent::JSSVGZoomEvent(PassRefPtr<Structure> structure, PassRefPtr<SVGZoomEvent> impl, SVGElement*)
- : JSUIEvent(structure, impl)
+JSSVGZoomEvent::JSSVGZoomEvent(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGZoomEvent> impl)
+ : JSUIEvent(structure, globalObject, impl)
{
}
@@ -95,37 +95,42 @@ bool JSSVGZoomEvent::getOwnPropertySlot(ExecState* exec, const Identifier& prope
JSValue jsSVGZoomEventZoomRectScreen(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGZoomEvent* castedThis = static_cast<JSSVGZoomEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGZoomEvent* imp = static_cast<SVGZoomEvent*>(static_cast<JSSVGZoomEvent*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, JSSVGStaticPODTypeWrapper<FloatRect>::create(imp->zoomRectScreen()).get(), 0);
+ SVGZoomEvent* imp = static_cast<SVGZoomEvent*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), JSSVGStaticPODTypeWrapper<FloatRect>::create(imp->zoomRectScreen()).get(), 0);
}
JSValue jsSVGZoomEventPreviousScale(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGZoomEvent* castedThis = static_cast<JSSVGZoomEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGZoomEvent* imp = static_cast<SVGZoomEvent*>(static_cast<JSSVGZoomEvent*>(asObject(slot.slotBase()))->impl());
+ SVGZoomEvent* imp = static_cast<SVGZoomEvent*>(castedThis->impl());
return jsNumber(exec, imp->previousScale());
}
JSValue jsSVGZoomEventPreviousTranslate(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGZoomEvent* castedThis = static_cast<JSSVGZoomEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGZoomEvent* imp = static_cast<SVGZoomEvent*>(static_cast<JSSVGZoomEvent*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, JSSVGStaticPODTypeWrapper<FloatPoint>::create(imp->previousTranslate()).get(), 0);
+ SVGZoomEvent* imp = static_cast<SVGZoomEvent*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), JSSVGStaticPODTypeWrapper<FloatPoint>::create(imp->previousTranslate()).get(), 0);
}
JSValue jsSVGZoomEventNewScale(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGZoomEvent* castedThis = static_cast<JSSVGZoomEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGZoomEvent* imp = static_cast<SVGZoomEvent*>(static_cast<JSSVGZoomEvent*>(asObject(slot.slotBase()))->impl());
+ SVGZoomEvent* imp = static_cast<SVGZoomEvent*>(castedThis->impl());
return jsNumber(exec, imp->newScale());
}
JSValue jsSVGZoomEventNewTranslate(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGZoomEvent* castedThis = static_cast<JSSVGZoomEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGZoomEvent* imp = static_cast<SVGZoomEvent*>(static_cast<JSSVGZoomEvent*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, JSSVGStaticPODTypeWrapper<FloatPoint>::create(imp->newTranslate()).get(), 0);
+ SVGZoomEvent* imp = static_cast<SVGZoomEvent*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), JSSVGStaticPODTypeWrapper<FloatPoint>::create(imp->newTranslate()).get(), 0);
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGZoomEvent.h b/src/3rdparty/webkit/WebCore/generated/JSSVGZoomEvent.h
index 59d27a2..c96afe8 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGZoomEvent.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGZoomEvent.h
@@ -33,7 +33,7 @@ class SVGZoomEvent;
class JSSVGZoomEvent : public JSUIEvent {
typedef JSUIEvent Base;
public:
- JSSVGZoomEvent(PassRefPtr<JSC::Structure>, PassRefPtr<SVGZoomEvent>, SVGElement* context);
+ JSSVGZoomEvent(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGZoomEvent>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
diff --git a/src/3rdparty/webkit/WebCore/generated/JSScreen.cpp b/src/3rdparty/webkit/WebCore/generated/JSScreen.cpp
index b68c308..a1fc8b7 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSScreen.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSScreen.cpp
@@ -46,7 +46,7 @@ static const HashTableValue JSScreenTableValues[9] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSScreenTable =
+static JSC_CONST_HASHTABLE HashTable JSScreenTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 63, JSScreenTableValues, 0 };
#else
@@ -60,7 +60,7 @@ static const HashTableValue JSScreenPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSScreenPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSScreenPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSScreenPrototypeTableValues, 0 };
#else
@@ -76,8 +76,8 @@ JSObject* JSScreenPrototype::self(ExecState* exec, JSGlobalObject* globalObject)
const ClassInfo JSScreen::s_info = { "Screen", 0, &JSScreenTable, 0 };
-JSScreen::JSScreen(PassRefPtr<Structure> structure, PassRefPtr<Screen> impl)
- : DOMObject(structure)
+JSScreen::JSScreen(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<Screen> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -99,63 +99,71 @@ bool JSScreen::getOwnPropertySlot(ExecState* exec, const Identifier& propertyNam
JSValue jsScreenHeight(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSScreen* castedThis = static_cast<JSScreen*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Screen* imp = static_cast<Screen*>(static_cast<JSScreen*>(asObject(slot.slotBase()))->impl());
+ Screen* imp = static_cast<Screen*>(castedThis->impl());
return jsNumber(exec, imp->height());
}
JSValue jsScreenWidth(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSScreen* castedThis = static_cast<JSScreen*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Screen* imp = static_cast<Screen*>(static_cast<JSScreen*>(asObject(slot.slotBase()))->impl());
+ Screen* imp = static_cast<Screen*>(castedThis->impl());
return jsNumber(exec, imp->width());
}
JSValue jsScreenColorDepth(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSScreen* castedThis = static_cast<JSScreen*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Screen* imp = static_cast<Screen*>(static_cast<JSScreen*>(asObject(slot.slotBase()))->impl());
+ Screen* imp = static_cast<Screen*>(castedThis->impl());
return jsNumber(exec, imp->colorDepth());
}
JSValue jsScreenPixelDepth(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSScreen* castedThis = static_cast<JSScreen*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Screen* imp = static_cast<Screen*>(static_cast<JSScreen*>(asObject(slot.slotBase()))->impl());
+ Screen* imp = static_cast<Screen*>(castedThis->impl());
return jsNumber(exec, imp->pixelDepth());
}
JSValue jsScreenAvailLeft(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSScreen* castedThis = static_cast<JSScreen*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Screen* imp = static_cast<Screen*>(static_cast<JSScreen*>(asObject(slot.slotBase()))->impl());
+ Screen* imp = static_cast<Screen*>(castedThis->impl());
return jsNumber(exec, imp->availLeft());
}
JSValue jsScreenAvailTop(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSScreen* castedThis = static_cast<JSScreen*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Screen* imp = static_cast<Screen*>(static_cast<JSScreen*>(asObject(slot.slotBase()))->impl());
+ Screen* imp = static_cast<Screen*>(castedThis->impl());
return jsNumber(exec, imp->availTop());
}
JSValue jsScreenAvailHeight(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSScreen* castedThis = static_cast<JSScreen*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Screen* imp = static_cast<Screen*>(static_cast<JSScreen*>(asObject(slot.slotBase()))->impl());
+ Screen* imp = static_cast<Screen*>(castedThis->impl());
return jsNumber(exec, imp->availHeight());
}
JSValue jsScreenAvailWidth(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSScreen* castedThis = static_cast<JSScreen*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Screen* imp = static_cast<Screen*>(static_cast<JSScreen*>(asObject(slot.slotBase()))->impl());
+ Screen* imp = static_cast<Screen*>(castedThis->impl());
return jsNumber(exec, imp->availWidth());
}
-JSC::JSValue toJS(JSC::ExecState* exec, Screen* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, Screen* object)
{
- return getDOMObjectWrapper<JSScreen>(exec, object);
+ return getDOMObjectWrapper<JSScreen>(exec, globalObject, object);
}
Screen* toScreen(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSScreen.h b/src/3rdparty/webkit/WebCore/generated/JSScreen.h
index 4e7be7b..d55e9c5 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSScreen.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSScreen.h
@@ -21,6 +21,7 @@
#ifndef JSScreen_h
#define JSScreen_h
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -29,10 +30,10 @@ namespace WebCore {
class Screen;
-class JSScreen : public DOMObject {
- typedef DOMObject Base;
+class JSScreen : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSScreen(PassRefPtr<JSC::Structure>, PassRefPtr<Screen>);
+ JSScreen(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<Screen>);
virtual ~JSScreen();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -50,7 +51,7 @@ private:
RefPtr<Screen> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, Screen*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, Screen*);
Screen* toScreen(JSC::JSValue);
class JSScreenPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSStorage.cpp b/src/3rdparty/webkit/WebCore/generated/JSStorage.cpp
index bcdea8b..41680a9 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSStorage.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSStorage.cpp
@@ -48,7 +48,7 @@ static const HashTableValue JSStorageTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSStorageTable =
+static JSC_CONST_HASHTABLE HashTable JSStorageTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSStorageTableValues, 0 };
#else
@@ -62,19 +62,19 @@ static const HashTableValue JSStorageConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSStorageConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSStorageConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSStorageConstructorTableValues, 0 };
#else
{ 1, 0, JSStorageConstructorTableValues, 0 };
#endif
-class JSStorageConstructor : public DOMObject {
+class JSStorageConstructor : public DOMConstructorObject {
public:
- JSStorageConstructor(ExecState* exec)
- : DOMObject(JSStorageConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSStorageConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSStorageConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSStoragePrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSStoragePrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -105,7 +105,7 @@ static const HashTableValue JSStoragePrototypeTableValues[6] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSStoragePrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSStoragePrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 31, JSStoragePrototypeTableValues, 0 };
#else
@@ -126,8 +126,8 @@ bool JSStoragePrototype::getOwnPropertySlot(ExecState* exec, const Identifier& p
const ClassInfo JSStorage::s_info = { "Storage", 0, &JSStorageTable, 0 };
-JSStorage::JSStorage(PassRefPtr<Structure> structure, PassRefPtr<Storage> impl)
- : DOMObject(structure)
+JSStorage::JSStorage(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<Storage> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -158,14 +158,16 @@ bool JSStorage::getOwnPropertySlot(ExecState* exec, const Identifier& propertyNa
JSValue jsStorageLength(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSStorage* castedThis = static_cast<JSStorage*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Storage* imp = static_cast<Storage*>(static_cast<JSStorage*>(asObject(slot.slotBase()))->impl());
+ Storage* imp = static_cast<Storage*>(castedThis->impl());
return jsNumber(exec, imp->length());
}
JSValue jsStorageConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSStorage*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSStorage* domObject = static_cast<JSStorage*>(asObject(slot.slotBase()));
+ return JSStorage::getConstructor(exec, domObject->globalObject());
}
void JSStorage::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -174,9 +176,9 @@ void JSStorage::put(ExecState* exec, const Identifier& propertyName, JSValue val
Base::put(exec, propertyName, value, slot);
}
-JSValue JSStorage::getConstructor(ExecState* exec)
+JSValue JSStorage::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSStorageConstructor>(exec);
+ return getDOMConstructor<JSStorageConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsStoragePrototypeFunctionKey(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -250,9 +252,9 @@ JSValue JSC_HOST_CALL jsStoragePrototypeFunctionClear(ExecState* exec, JSObject*
return jsUndefined();
}
-JSC::JSValue toJS(JSC::ExecState* exec, Storage* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, Storage* object)
{
- return getDOMObjectWrapper<JSStorage>(exec, object);
+ return getDOMObjectWrapper<JSStorage>(exec, globalObject, object);
}
Storage* toStorage(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSStorage.h b/src/3rdparty/webkit/WebCore/generated/JSStorage.h
index 077ccfc..fbc4ff3 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSStorage.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSStorage.h
@@ -23,6 +23,7 @@
#if ENABLE(DOM_STORAGE)
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -31,10 +32,10 @@ namespace WebCore {
class Storage;
-class JSStorage : public DOMObject {
- typedef DOMObject Base;
+class JSStorage : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSStorage(PassRefPtr<JSC::Structure>, PassRefPtr<Storage>);
+ JSStorage(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<Storage>);
virtual ~JSStorage();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -50,7 +51,7 @@ public:
virtual bool deleteProperty(JSC::ExecState*, const JSC::Identifier&);
virtual void getPropertyNames(JSC::ExecState*, JSC::PropertyNameArray&);
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
Storage* impl() const { return m_impl.get(); }
private:
@@ -60,7 +61,7 @@ private:
static JSC::JSValue nameGetter(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
};
-JSC::JSValue toJS(JSC::ExecState*, Storage*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, Storage*);
Storage* toStorage(JSC::JSValue);
class JSStoragePrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSStorageEvent.cpp b/src/3rdparty/webkit/WebCore/generated/JSStorageEvent.cpp
index 293d0ad..d2730d7 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSStorageEvent.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSStorageEvent.cpp
@@ -54,7 +54,7 @@ static const HashTableValue JSStorageEventTableValues[8] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSStorageEventTable =
+static JSC_CONST_HASHTABLE HashTable JSStorageEventTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 31, JSStorageEventTableValues, 0 };
#else
@@ -68,19 +68,19 @@ static const HashTableValue JSStorageEventConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSStorageEventConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSStorageEventConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSStorageEventConstructorTableValues, 0 };
#else
{ 1, 0, JSStorageEventConstructorTableValues, 0 };
#endif
-class JSStorageEventConstructor : public DOMObject {
+class JSStorageEventConstructor : public DOMConstructorObject {
public:
- JSStorageEventConstructor(ExecState* exec)
- : DOMObject(JSStorageEventConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSStorageEventConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSStorageEventConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSStorageEventPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSStorageEventPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -107,7 +107,7 @@ static const HashTableValue JSStorageEventPrototypeTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSStorageEventPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSStorageEventPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSStorageEventPrototypeTableValues, 0 };
#else
@@ -128,8 +128,8 @@ bool JSStorageEventPrototype::getOwnPropertySlot(ExecState* exec, const Identifi
const ClassInfo JSStorageEvent::s_info = { "StorageEvent", &JSEvent::s_info, &JSStorageEventTable, 0 };
-JSStorageEvent::JSStorageEvent(PassRefPtr<Structure> structure, PassRefPtr<StorageEvent> impl)
- : JSEvent(structure, impl)
+JSStorageEvent::JSStorageEvent(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<StorageEvent> impl)
+ : JSEvent(structure, globalObject, impl)
{
}
@@ -145,53 +145,60 @@ bool JSStorageEvent::getOwnPropertySlot(ExecState* exec, const Identifier& prope
JSValue jsStorageEventKey(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSStorageEvent* castedThis = static_cast<JSStorageEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- StorageEvent* imp = static_cast<StorageEvent*>(static_cast<JSStorageEvent*>(asObject(slot.slotBase()))->impl());
+ StorageEvent* imp = static_cast<StorageEvent*>(castedThis->impl());
return jsString(exec, imp->key());
}
JSValue jsStorageEventOldValue(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSStorageEvent* castedThis = static_cast<JSStorageEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- StorageEvent* imp = static_cast<StorageEvent*>(static_cast<JSStorageEvent*>(asObject(slot.slotBase()))->impl());
+ StorageEvent* imp = static_cast<StorageEvent*>(castedThis->impl());
return jsStringOrNull(exec, imp->oldValue());
}
JSValue jsStorageEventNewValue(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSStorageEvent* castedThis = static_cast<JSStorageEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- StorageEvent* imp = static_cast<StorageEvent*>(static_cast<JSStorageEvent*>(asObject(slot.slotBase()))->impl());
+ StorageEvent* imp = static_cast<StorageEvent*>(castedThis->impl());
return jsStringOrNull(exec, imp->newValue());
}
JSValue jsStorageEventUri(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSStorageEvent* castedThis = static_cast<JSStorageEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- StorageEvent* imp = static_cast<StorageEvent*>(static_cast<JSStorageEvent*>(asObject(slot.slotBase()))->impl());
+ StorageEvent* imp = static_cast<StorageEvent*>(castedThis->impl());
return jsString(exec, imp->uri());
}
JSValue jsStorageEventSource(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSStorageEvent* castedThis = static_cast<JSStorageEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- StorageEvent* imp = static_cast<StorageEvent*>(static_cast<JSStorageEvent*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->source()));
+ StorageEvent* imp = static_cast<StorageEvent*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->source()));
}
JSValue jsStorageEventStorageArea(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSStorageEvent* castedThis = static_cast<JSStorageEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- StorageEvent* imp = static_cast<StorageEvent*>(static_cast<JSStorageEvent*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->storageArea()));
+ StorageEvent* imp = static_cast<StorageEvent*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->storageArea()));
}
JSValue jsStorageEventConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSStorageEvent*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSStorageEvent* domObject = static_cast<JSStorageEvent*>(asObject(slot.slotBase()));
+ return JSStorageEvent::getConstructor(exec, domObject->globalObject());
}
-JSValue JSStorageEvent::getConstructor(ExecState* exec)
+JSValue JSStorageEvent::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSStorageEventConstructor>(exec);
+ return getDOMConstructor<JSStorageEventConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsStorageEventPrototypeFunctionInitStorageEvent(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSStorageEvent.h b/src/3rdparty/webkit/WebCore/generated/JSStorageEvent.h
index ec32abf..1bf6d21 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSStorageEvent.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSStorageEvent.h
@@ -32,7 +32,7 @@ class StorageEvent;
class JSStorageEvent : public JSEvent {
typedef JSEvent Base;
public:
- JSStorageEvent(PassRefPtr<JSC::Structure>, PassRefPtr<StorageEvent>);
+ JSStorageEvent(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<StorageEvent>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
@@ -43,7 +43,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSStyleSheet.cpp b/src/3rdparty/webkit/WebCore/generated/JSStyleSheet.cpp
index 04c6895..ab090d1 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSStyleSheet.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSStyleSheet.cpp
@@ -51,7 +51,7 @@ static const HashTableValue JSStyleSheetTableValues[9] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSStyleSheetTable =
+static JSC_CONST_HASHTABLE HashTable JSStyleSheetTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 31, JSStyleSheetTableValues, 0 };
#else
@@ -65,19 +65,19 @@ static const HashTableValue JSStyleSheetConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSStyleSheetConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSStyleSheetConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSStyleSheetConstructorTableValues, 0 };
#else
{ 1, 0, JSStyleSheetConstructorTableValues, 0 };
#endif
-class JSStyleSheetConstructor : public DOMObject {
+class JSStyleSheetConstructor : public DOMConstructorObject {
public:
- JSStyleSheetConstructor(ExecState* exec)
- : DOMObject(JSStyleSheetConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSStyleSheetConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSStyleSheetConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSStyleSheetPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSStyleSheetPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -103,7 +103,7 @@ static const HashTableValue JSStyleSheetPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSStyleSheetPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSStyleSheetPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSStyleSheetPrototypeTableValues, 0 };
#else
@@ -119,8 +119,8 @@ JSObject* JSStyleSheetPrototype::self(ExecState* exec, JSGlobalObject* globalObj
const ClassInfo JSStyleSheet::s_info = { "StyleSheet", 0, &JSStyleSheetTable, 0 };
-JSStyleSheet::JSStyleSheet(PassRefPtr<Structure> structure, PassRefPtr<StyleSheet> impl)
- : DOMObject(structure)
+JSStyleSheet::JSStyleSheet(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<StyleSheet> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -142,56 +142,64 @@ bool JSStyleSheet::getOwnPropertySlot(ExecState* exec, const Identifier& propert
JSValue jsStyleSheetType(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSStyleSheet* castedThis = static_cast<JSStyleSheet*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- StyleSheet* imp = static_cast<StyleSheet*>(static_cast<JSStyleSheet*>(asObject(slot.slotBase()))->impl());
+ StyleSheet* imp = static_cast<StyleSheet*>(castedThis->impl());
return jsStringOrNull(exec, imp->type());
}
JSValue jsStyleSheetDisabled(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSStyleSheet* castedThis = static_cast<JSStyleSheet*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- StyleSheet* imp = static_cast<StyleSheet*>(static_cast<JSStyleSheet*>(asObject(slot.slotBase()))->impl());
+ StyleSheet* imp = static_cast<StyleSheet*>(castedThis->impl());
return jsBoolean(imp->disabled());
}
JSValue jsStyleSheetOwnerNode(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSStyleSheet* castedThis = static_cast<JSStyleSheet*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- StyleSheet* imp = static_cast<StyleSheet*>(static_cast<JSStyleSheet*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->ownerNode()));
+ StyleSheet* imp = static_cast<StyleSheet*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->ownerNode()));
}
JSValue jsStyleSheetParentStyleSheet(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSStyleSheet* castedThis = static_cast<JSStyleSheet*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- StyleSheet* imp = static_cast<StyleSheet*>(static_cast<JSStyleSheet*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->parentStyleSheet()));
+ StyleSheet* imp = static_cast<StyleSheet*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->parentStyleSheet()));
}
JSValue jsStyleSheetHref(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSStyleSheet* castedThis = static_cast<JSStyleSheet*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- StyleSheet* imp = static_cast<StyleSheet*>(static_cast<JSStyleSheet*>(asObject(slot.slotBase()))->impl());
+ StyleSheet* imp = static_cast<StyleSheet*>(castedThis->impl());
return jsStringOrNull(exec, imp->href());
}
JSValue jsStyleSheetTitle(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSStyleSheet* castedThis = static_cast<JSStyleSheet*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- StyleSheet* imp = static_cast<StyleSheet*>(static_cast<JSStyleSheet*>(asObject(slot.slotBase()))->impl());
+ StyleSheet* imp = static_cast<StyleSheet*>(castedThis->impl());
return jsStringOrNull(exec, imp->title());
}
JSValue jsStyleSheetMedia(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSStyleSheet* castedThis = static_cast<JSStyleSheet*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- StyleSheet* imp = static_cast<StyleSheet*>(static_cast<JSStyleSheet*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->media()));
+ StyleSheet* imp = static_cast<StyleSheet*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->media()));
}
JSValue jsStyleSheetConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSStyleSheet*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSStyleSheet* domObject = static_cast<JSStyleSheet*>(asObject(slot.slotBase()));
+ return JSStyleSheet::getConstructor(exec, domObject->globalObject());
}
void JSStyleSheet::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -204,9 +212,9 @@ void setJSStyleSheetDisabled(ExecState* exec, JSObject* thisObject, JSValue valu
imp->setDisabled(value.toBoolean(exec));
}
-JSValue JSStyleSheet::getConstructor(ExecState* exec)
+JSValue JSStyleSheet::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSStyleSheetConstructor>(exec);
+ return getDOMConstructor<JSStyleSheetConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
StyleSheet* toStyleSheet(JSC::JSValue value)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSStyleSheet.h b/src/3rdparty/webkit/WebCore/generated/JSStyleSheet.h
index d8e751e..ccd0d0f 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSStyleSheet.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSStyleSheet.h
@@ -21,6 +21,7 @@
#ifndef JSStyleSheet_h
#define JSStyleSheet_h
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -29,10 +30,10 @@ namespace WebCore {
class StyleSheet;
-class JSStyleSheet : public DOMObject {
- typedef DOMObject Base;
+class JSStyleSheet : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSStyleSheet(PassRefPtr<JSC::Structure>, PassRefPtr<StyleSheet>);
+ JSStyleSheet(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<StyleSheet>);
virtual ~JSStyleSheet();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -47,14 +48,14 @@ public:
virtual void mark();
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
StyleSheet* impl() const { return m_impl.get(); }
private:
RefPtr<StyleSheet> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, StyleSheet*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, StyleSheet*);
StyleSheet* toStyleSheet(JSC::JSValue);
class JSStyleSheetPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSStyleSheetList.cpp b/src/3rdparty/webkit/WebCore/generated/JSStyleSheetList.cpp
index fccd08b..a431d09 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSStyleSheetList.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSStyleSheetList.cpp
@@ -45,7 +45,7 @@ static const HashTableValue JSStyleSheetListTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSStyleSheetListTable =
+static JSC_CONST_HASHTABLE HashTable JSStyleSheetListTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSStyleSheetListTableValues, 0 };
#else
@@ -59,19 +59,19 @@ static const HashTableValue JSStyleSheetListConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSStyleSheetListConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSStyleSheetListConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSStyleSheetListConstructorTableValues, 0 };
#else
{ 1, 0, JSStyleSheetListConstructorTableValues, 0 };
#endif
-class JSStyleSheetListConstructor : public DOMObject {
+class JSStyleSheetListConstructor : public DOMConstructorObject {
public:
- JSStyleSheetListConstructor(ExecState* exec)
- : DOMObject(JSStyleSheetListConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSStyleSheetListConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSStyleSheetListConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSStyleSheetListPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSStyleSheetListPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -98,7 +98,7 @@ static const HashTableValue JSStyleSheetListPrototypeTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSStyleSheetListPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSStyleSheetListPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSStyleSheetListPrototypeTableValues, 0 };
#else
@@ -119,8 +119,8 @@ bool JSStyleSheetListPrototype::getOwnPropertySlot(ExecState* exec, const Identi
const ClassInfo JSStyleSheetList::s_info = { "StyleSheetList", 0, &JSStyleSheetListTable, 0 };
-JSStyleSheetList::JSStyleSheetList(PassRefPtr<Structure> structure, PassRefPtr<StyleSheetList> impl)
- : DOMObject(structure)
+JSStyleSheetList::JSStyleSheetList(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<StyleSheetList> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -166,14 +166,16 @@ bool JSStyleSheetList::getOwnPropertySlot(ExecState* exec, unsigned propertyName
JSValue jsStyleSheetListLength(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSStyleSheetList* castedThis = static_cast<JSStyleSheetList*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- StyleSheetList* imp = static_cast<StyleSheetList*>(static_cast<JSStyleSheetList*>(asObject(slot.slotBase()))->impl());
+ StyleSheetList* imp = static_cast<StyleSheetList*>(castedThis->impl());
return jsNumber(exec, imp->length());
}
JSValue jsStyleSheetListConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSStyleSheetList*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSStyleSheetList* domObject = static_cast<JSStyleSheetList*>(asObject(slot.slotBase()));
+ return JSStyleSheetList::getConstructor(exec, domObject->globalObject());
}
void JSStyleSheetList::getPropertyNames(ExecState* exec, PropertyNameArray& propertyNames)
{
@@ -182,9 +184,9 @@ void JSStyleSheetList::getPropertyNames(ExecState* exec, PropertyNameArray& prop
Base::getPropertyNames(exec, propertyNames);
}
-JSValue JSStyleSheetList::getConstructor(ExecState* exec)
+JSValue JSStyleSheetList::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSStyleSheetListConstructor>(exec);
+ return getDOMConstructor<JSStyleSheetListConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsStyleSheetListPrototypeFunctionItem(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -197,7 +199,7 @@ JSValue JSC_HOST_CALL jsStyleSheetListPrototypeFunctionItem(ExecState* exec, JSO
unsigned index = args.at(0).toInt32(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->item(index)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->item(index)));
return result;
}
@@ -205,11 +207,11 @@ JSValue JSC_HOST_CALL jsStyleSheetListPrototypeFunctionItem(ExecState* exec, JSO
JSValue JSStyleSheetList::indexGetter(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
JSStyleSheetList* thisObj = static_cast<JSStyleSheetList*>(asObject(slot.slotBase()));
- return toJS(exec, static_cast<StyleSheetList*>(thisObj->impl())->item(slot.index()));
+ return toJS(exec, thisObj->globalObject(), static_cast<StyleSheetList*>(thisObj->impl())->item(slot.index()));
}
-JSC::JSValue toJS(JSC::ExecState* exec, StyleSheetList* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, StyleSheetList* object)
{
- return getDOMObjectWrapper<JSStyleSheetList>(exec, object);
+ return getDOMObjectWrapper<JSStyleSheetList>(exec, globalObject, object);
}
StyleSheetList* toStyleSheetList(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSStyleSheetList.h b/src/3rdparty/webkit/WebCore/generated/JSStyleSheetList.h
index bb06c58..75c8c6c 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSStyleSheetList.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSStyleSheetList.h
@@ -21,6 +21,7 @@
#ifndef JSStyleSheetList_h
#define JSStyleSheetList_h
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -29,10 +30,10 @@ namespace WebCore {
class StyleSheetList;
-class JSStyleSheetList : public DOMObject {
- typedef DOMObject Base;
+class JSStyleSheetList : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSStyleSheetList(PassRefPtr<JSC::Structure>, PassRefPtr<StyleSheetList>);
+ JSStyleSheetList(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<StyleSheetList>);
virtual ~JSStyleSheetList();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -46,7 +47,7 @@ public:
}
virtual void getPropertyNames(JSC::ExecState*, JSC::PropertyNameArray&);
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
StyleSheetList* impl() const { return m_impl.get(); }
private:
@@ -57,7 +58,7 @@ private:
static JSC::JSValue nameGetter(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
};
-JSC::JSValue toJS(JSC::ExecState*, StyleSheetList*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, StyleSheetList*);
StyleSheetList* toStyleSheetList(JSC::JSValue);
class JSStyleSheetListPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSText.cpp b/src/3rdparty/webkit/WebCore/generated/JSText.cpp
index ea29d3c..e5ad3b2 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSText.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSText.cpp
@@ -44,7 +44,7 @@ static const HashTableValue JSTextTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSTextTable =
+static JSC_CONST_HASHTABLE HashTable JSTextTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 63, JSTextTableValues, 0 };
#else
@@ -58,19 +58,19 @@ static const HashTableValue JSTextConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSTextConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSTextConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSTextConstructorTableValues, 0 };
#else
{ 1, 0, JSTextConstructorTableValues, 0 };
#endif
-class JSTextConstructor : public DOMObject {
+class JSTextConstructor : public DOMConstructorObject {
public:
- JSTextConstructor(ExecState* exec)
- : DOMObject(JSTextConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSTextConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSTextConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSTextPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSTextPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -98,7 +98,7 @@ static const HashTableValue JSTextPrototypeTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSTextPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSTextPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 1, JSTextPrototypeTableValues, 0 };
#else
@@ -119,8 +119,8 @@ bool JSTextPrototype::getOwnPropertySlot(ExecState* exec, const Identifier& prop
const ClassInfo JSText::s_info = { "Text", &JSCharacterData::s_info, &JSTextTable, 0 };
-JSText::JSText(PassRefPtr<Structure> structure, PassRefPtr<Text> impl)
- : JSCharacterData(structure, impl)
+JSText::JSText(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<Text> impl)
+ : JSCharacterData(structure, globalObject, impl)
{
}
@@ -136,18 +136,20 @@ bool JSText::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName,
JSValue jsTextWholeText(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSText* castedThis = static_cast<JSText*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Text* imp = static_cast<Text*>(static_cast<JSText*>(asObject(slot.slotBase()))->impl());
+ Text* imp = static_cast<Text*>(castedThis->impl());
return jsString(exec, imp->wholeText());
}
JSValue jsTextConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSText*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSText* domObject = static_cast<JSText*>(asObject(slot.slotBase()));
+ return JSText::getConstructor(exec, domObject->globalObject());
}
-JSValue JSText::getConstructor(ExecState* exec)
+JSValue JSText::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSTextConstructor>(exec);
+ return getDOMConstructor<JSTextConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsTextPrototypeFunctionSplitText(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -165,7 +167,7 @@ JSValue JSC_HOST_CALL jsTextPrototypeFunctionSplitText(ExecState* exec, JSObject
}
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->splitText(offset, ec)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->splitText(offset, ec)));
setDOMException(exec, ec);
return result;
}
@@ -181,7 +183,7 @@ JSValue JSC_HOST_CALL jsTextPrototypeFunctionReplaceWholeText(ExecState* exec, J
const UString& content = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->replaceWholeText(content, ec)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->replaceWholeText(content, ec)));
setDOMException(exec, ec);
return result;
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSText.h b/src/3rdparty/webkit/WebCore/generated/JSText.h
index e489274..eff516f 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSText.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSText.h
@@ -30,7 +30,7 @@ class Text;
class JSText : public JSCharacterData {
typedef JSCharacterData Base;
public:
- JSText(PassRefPtr<JSC::Structure>, PassRefPtr<Text>);
+ JSText(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<Text>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
@@ -41,10 +41,10 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
-JSC::JSValue toJSNewlyCreated(JSC::ExecState*, Text*);
+JSC::JSValue toJSNewlyCreated(JSC::ExecState*, JSDOMGlobalObject*, Text*);
class JSTextPrototype : public JSC::JSObject {
typedef JSC::JSObject Base;
diff --git a/src/3rdparty/webkit/WebCore/generated/JSTextEvent.cpp b/src/3rdparty/webkit/WebCore/generated/JSTextEvent.cpp
index e20e411..721e0a3 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSTextEvent.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSTextEvent.cpp
@@ -43,7 +43,7 @@ static const HashTableValue JSTextEventTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSTextEventTable =
+static JSC_CONST_HASHTABLE HashTable JSTextEventTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 3, JSTextEventTableValues, 0 };
#else
@@ -57,19 +57,19 @@ static const HashTableValue JSTextEventConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSTextEventConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSTextEventConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSTextEventConstructorTableValues, 0 };
#else
{ 1, 0, JSTextEventConstructorTableValues, 0 };
#endif
-class JSTextEventConstructor : public DOMObject {
+class JSTextEventConstructor : public DOMConstructorObject {
public:
- JSTextEventConstructor(ExecState* exec)
- : DOMObject(JSTextEventConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSTextEventConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSTextEventConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSTextEventPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSTextEventPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -96,7 +96,7 @@ static const HashTableValue JSTextEventPrototypeTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSTextEventPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSTextEventPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSTextEventPrototypeTableValues, 0 };
#else
@@ -117,8 +117,8 @@ bool JSTextEventPrototype::getOwnPropertySlot(ExecState* exec, const Identifier&
const ClassInfo JSTextEvent::s_info = { "TextEvent", &JSUIEvent::s_info, &JSTextEventTable, 0 };
-JSTextEvent::JSTextEvent(PassRefPtr<Structure> structure, PassRefPtr<TextEvent> impl)
- : JSUIEvent(structure, impl)
+JSTextEvent::JSTextEvent(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<TextEvent> impl)
+ : JSUIEvent(structure, globalObject, impl)
{
}
@@ -134,18 +134,20 @@ bool JSTextEvent::getOwnPropertySlot(ExecState* exec, const Identifier& property
JSValue jsTextEventData(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSTextEvent* castedThis = static_cast<JSTextEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- TextEvent* imp = static_cast<TextEvent*>(static_cast<JSTextEvent*>(asObject(slot.slotBase()))->impl());
+ TextEvent* imp = static_cast<TextEvent*>(castedThis->impl());
return jsString(exec, imp->data());
}
JSValue jsTextEventConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSTextEvent*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSTextEvent* domObject = static_cast<JSTextEvent*>(asObject(slot.slotBase()));
+ return JSTextEvent::getConstructor(exec, domObject->globalObject());
}
-JSValue JSTextEvent::getConstructor(ExecState* exec)
+JSValue JSTextEvent::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSTextEventConstructor>(exec);
+ return getDOMConstructor<JSTextEventConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsTextEventPrototypeFunctionInitTextEvent(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSTextEvent.h b/src/3rdparty/webkit/WebCore/generated/JSTextEvent.h
index 08f0141..548d0f6 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSTextEvent.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSTextEvent.h
@@ -30,7 +30,7 @@ class TextEvent;
class JSTextEvent : public JSUIEvent {
typedef JSUIEvent Base;
public:
- JSTextEvent(PassRefPtr<JSC::Structure>, PassRefPtr<TextEvent>);
+ JSTextEvent(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<TextEvent>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
@@ -41,7 +41,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSTextMetrics.cpp b/src/3rdparty/webkit/WebCore/generated/JSTextMetrics.cpp
index 904be08..5b05886 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSTextMetrics.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSTextMetrics.cpp
@@ -40,7 +40,7 @@ static const HashTableValue JSTextMetricsTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSTextMetricsTable =
+static JSC_CONST_HASHTABLE HashTable JSTextMetricsTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 3, JSTextMetricsTableValues, 0 };
#else
@@ -54,19 +54,19 @@ static const HashTableValue JSTextMetricsConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSTextMetricsConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSTextMetricsConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSTextMetricsConstructorTableValues, 0 };
#else
{ 1, 0, JSTextMetricsConstructorTableValues, 0 };
#endif
-class JSTextMetricsConstructor : public DOMObject {
+class JSTextMetricsConstructor : public DOMConstructorObject {
public:
- JSTextMetricsConstructor(ExecState* exec)
- : DOMObject(JSTextMetricsConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSTextMetricsConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSTextMetricsConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSTextMetricsPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSTextMetricsPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -92,7 +92,7 @@ static const HashTableValue JSTextMetricsPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSTextMetricsPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSTextMetricsPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSTextMetricsPrototypeTableValues, 0 };
#else
@@ -108,8 +108,8 @@ JSObject* JSTextMetricsPrototype::self(ExecState* exec, JSGlobalObject* globalOb
const ClassInfo JSTextMetrics::s_info = { "TextMetrics", 0, &JSTextMetricsTable, 0 };
-JSTextMetrics::JSTextMetrics(PassRefPtr<Structure> structure, PassRefPtr<TextMetrics> impl)
- : DOMObject(structure)
+JSTextMetrics::JSTextMetrics(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<TextMetrics> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -131,23 +131,25 @@ bool JSTextMetrics::getOwnPropertySlot(ExecState* exec, const Identifier& proper
JSValue jsTextMetricsWidth(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSTextMetrics* castedThis = static_cast<JSTextMetrics*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- TextMetrics* imp = static_cast<TextMetrics*>(static_cast<JSTextMetrics*>(asObject(slot.slotBase()))->impl());
+ TextMetrics* imp = static_cast<TextMetrics*>(castedThis->impl());
return jsNumber(exec, imp->width());
}
JSValue jsTextMetricsConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSTextMetrics*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSTextMetrics* domObject = static_cast<JSTextMetrics*>(asObject(slot.slotBase()));
+ return JSTextMetrics::getConstructor(exec, domObject->globalObject());
}
-JSValue JSTextMetrics::getConstructor(ExecState* exec)
+JSValue JSTextMetrics::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSTextMetricsConstructor>(exec);
+ return getDOMConstructor<JSTextMetricsConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
-JSC::JSValue toJS(JSC::ExecState* exec, TextMetrics* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, TextMetrics* object)
{
- return getDOMObjectWrapper<JSTextMetrics>(exec, object);
+ return getDOMObjectWrapper<JSTextMetrics>(exec, globalObject, object);
}
TextMetrics* toTextMetrics(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSTextMetrics.h b/src/3rdparty/webkit/WebCore/generated/JSTextMetrics.h
index 4fb044f..0e18cfc 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSTextMetrics.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSTextMetrics.h
@@ -21,6 +21,7 @@
#ifndef JSTextMetrics_h
#define JSTextMetrics_h
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -29,10 +30,10 @@ namespace WebCore {
class TextMetrics;
-class JSTextMetrics : public DOMObject {
- typedef DOMObject Base;
+class JSTextMetrics : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSTextMetrics(PassRefPtr<JSC::Structure>, PassRefPtr<TextMetrics>);
+ JSTextMetrics(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<TextMetrics>);
virtual ~JSTextMetrics();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -44,14 +45,14 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
TextMetrics* impl() const { return m_impl.get(); }
private:
RefPtr<TextMetrics> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, TextMetrics*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, TextMetrics*);
TextMetrics* toTextMetrics(JSC::JSValue);
class JSTextMetricsPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSTimeRanges.cpp b/src/3rdparty/webkit/WebCore/generated/JSTimeRanges.cpp
index eebd8cd..95ff627 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSTimeRanges.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSTimeRanges.cpp
@@ -40,7 +40,7 @@ static const HashTableValue JSTimeRangesTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSTimeRangesTable =
+static JSC_CONST_HASHTABLE HashTable JSTimeRangesTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSTimeRangesTableValues, 0 };
#else
@@ -56,7 +56,7 @@ static const HashTableValue JSTimeRangesPrototypeTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSTimeRangesPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSTimeRangesPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 31, JSTimeRangesPrototypeTableValues, 0 };
#else
@@ -77,8 +77,8 @@ bool JSTimeRangesPrototype::getOwnPropertySlot(ExecState* exec, const Identifier
const ClassInfo JSTimeRanges::s_info = { "TimeRanges", 0, &JSTimeRangesTable, 0 };
-JSTimeRanges::JSTimeRanges(PassRefPtr<Structure> structure, PassRefPtr<TimeRanges> impl)
- : DOMObject(structure)
+JSTimeRanges::JSTimeRanges(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<TimeRanges> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -100,8 +100,9 @@ bool JSTimeRanges::getOwnPropertySlot(ExecState* exec, const Identifier& propert
JSValue jsTimeRangesLength(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSTimeRanges* castedThis = static_cast<JSTimeRanges*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- TimeRanges* imp = static_cast<TimeRanges*>(static_cast<JSTimeRanges*>(asObject(slot.slotBase()))->impl());
+ TimeRanges* imp = static_cast<TimeRanges*>(castedThis->impl());
return jsNumber(exec, imp->length());
}
@@ -137,9 +138,9 @@ JSValue JSC_HOST_CALL jsTimeRangesPrototypeFunctionEnd(ExecState* exec, JSObject
return result;
}
-JSC::JSValue toJS(JSC::ExecState* exec, TimeRanges* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, TimeRanges* object)
{
- return getDOMObjectWrapper<JSTimeRanges>(exec, object);
+ return getDOMObjectWrapper<JSTimeRanges>(exec, globalObject, object);
}
TimeRanges* toTimeRanges(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSTimeRanges.h b/src/3rdparty/webkit/WebCore/generated/JSTimeRanges.h
index 41da9ef..b59d905 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSTimeRanges.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSTimeRanges.h
@@ -21,6 +21,7 @@
#ifndef JSTimeRanges_h
#define JSTimeRanges_h
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -29,10 +30,10 @@ namespace WebCore {
class TimeRanges;
-class JSTimeRanges : public DOMObject {
- typedef DOMObject Base;
+class JSTimeRanges : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSTimeRanges(PassRefPtr<JSC::Structure>, PassRefPtr<TimeRanges>);
+ JSTimeRanges(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<TimeRanges>);
virtual ~JSTimeRanges();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -50,7 +51,7 @@ private:
RefPtr<TimeRanges> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, TimeRanges*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, TimeRanges*);
TimeRanges* toTimeRanges(JSC::JSValue);
class JSTimeRangesPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSTreeWalker.cpp b/src/3rdparty/webkit/WebCore/generated/JSTreeWalker.cpp
index da610da..88ec3ed 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSTreeWalker.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSTreeWalker.cpp
@@ -49,7 +49,7 @@ static const HashTableValue JSTreeWalkerTableValues[7] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSTreeWalkerTable =
+static JSC_CONST_HASHTABLE HashTable JSTreeWalkerTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 255, JSTreeWalkerTableValues, 0 };
#else
@@ -63,19 +63,19 @@ static const HashTableValue JSTreeWalkerConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSTreeWalkerConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSTreeWalkerConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSTreeWalkerConstructorTableValues, 0 };
#else
{ 1, 0, JSTreeWalkerConstructorTableValues, 0 };
#endif
-class JSTreeWalkerConstructor : public DOMObject {
+class JSTreeWalkerConstructor : public DOMConstructorObject {
public:
- JSTreeWalkerConstructor(ExecState* exec)
- : DOMObject(JSTreeWalkerConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSTreeWalkerConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSTreeWalkerConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSTreeWalkerPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSTreeWalkerPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -108,7 +108,7 @@ static const HashTableValue JSTreeWalkerPrototypeTableValues[8] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSTreeWalkerPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSTreeWalkerPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSTreeWalkerPrototypeTableValues, 0 };
#else
@@ -129,8 +129,8 @@ bool JSTreeWalkerPrototype::getOwnPropertySlot(ExecState* exec, const Identifier
const ClassInfo JSTreeWalker::s_info = { "TreeWalker", 0, &JSTreeWalkerTable, 0 };
-JSTreeWalker::JSTreeWalker(PassRefPtr<Structure> structure, PassRefPtr<TreeWalker> impl)
- : DOMObject(structure)
+JSTreeWalker::JSTreeWalker(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<TreeWalker> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -152,42 +152,48 @@ bool JSTreeWalker::getOwnPropertySlot(ExecState* exec, const Identifier& propert
JSValue jsTreeWalkerRoot(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSTreeWalker* castedThis = static_cast<JSTreeWalker*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- TreeWalker* imp = static_cast<TreeWalker*>(static_cast<JSTreeWalker*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->root()));
+ TreeWalker* imp = static_cast<TreeWalker*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->root()));
}
JSValue jsTreeWalkerWhatToShow(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSTreeWalker* castedThis = static_cast<JSTreeWalker*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- TreeWalker* imp = static_cast<TreeWalker*>(static_cast<JSTreeWalker*>(asObject(slot.slotBase()))->impl());
+ TreeWalker* imp = static_cast<TreeWalker*>(castedThis->impl());
return jsNumber(exec, imp->whatToShow());
}
JSValue jsTreeWalkerFilter(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSTreeWalker* castedThis = static_cast<JSTreeWalker*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- TreeWalker* imp = static_cast<TreeWalker*>(static_cast<JSTreeWalker*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->filter()));
+ TreeWalker* imp = static_cast<TreeWalker*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->filter()));
}
JSValue jsTreeWalkerExpandEntityReferences(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSTreeWalker* castedThis = static_cast<JSTreeWalker*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- TreeWalker* imp = static_cast<TreeWalker*>(static_cast<JSTreeWalker*>(asObject(slot.slotBase()))->impl());
+ TreeWalker* imp = static_cast<TreeWalker*>(castedThis->impl());
return jsBoolean(imp->expandEntityReferences());
}
JSValue jsTreeWalkerCurrentNode(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSTreeWalker* castedThis = static_cast<JSTreeWalker*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- TreeWalker* imp = static_cast<TreeWalker*>(static_cast<JSTreeWalker*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->currentNode()));
+ TreeWalker* imp = static_cast<TreeWalker*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->currentNode()));
}
JSValue jsTreeWalkerConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSTreeWalker*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSTreeWalker* domObject = static_cast<JSTreeWalker*>(asObject(slot.slotBase()));
+ return JSTreeWalker::getConstructor(exec, domObject->globalObject());
}
void JSTreeWalker::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -202,9 +208,9 @@ void setJSTreeWalkerCurrentNode(ExecState* exec, JSObject* thisObject, JSValue v
setDOMException(exec, ec);
}
-JSValue JSTreeWalker::getConstructor(ExecState* exec)
+JSValue JSTreeWalker::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSTreeWalkerConstructor>(exec);
+ return getDOMConstructor<JSTreeWalkerConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsTreeWalkerPrototypeFunctionParentNode(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -270,9 +276,9 @@ JSValue JSC_HOST_CALL jsTreeWalkerPrototypeFunctionNextNode(ExecState* exec, JSO
return castedThisObj->nextNode(exec, args);
}
-JSC::JSValue toJS(JSC::ExecState* exec, TreeWalker* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, TreeWalker* object)
{
- return getDOMObjectWrapper<JSTreeWalker>(exec, object);
+ return getDOMObjectWrapper<JSTreeWalker>(exec, globalObject, object);
}
TreeWalker* toTreeWalker(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSTreeWalker.h b/src/3rdparty/webkit/WebCore/generated/JSTreeWalker.h
index 92b42bf..bf007bb 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSTreeWalker.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSTreeWalker.h
@@ -21,6 +21,7 @@
#ifndef JSTreeWalker_h
#define JSTreeWalker_h
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -29,10 +30,10 @@ namespace WebCore {
class TreeWalker;
-class JSTreeWalker : public DOMObject {
- typedef DOMObject Base;
+class JSTreeWalker : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSTreeWalker(PassRefPtr<JSC::Structure>, PassRefPtr<TreeWalker>);
+ JSTreeWalker(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<TreeWalker>);
virtual ~JSTreeWalker();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -47,7 +48,7 @@ public:
virtual void mark();
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
// Custom functions
JSC::JSValue parentNode(JSC::ExecState*, const JSC::ArgList&);
@@ -63,7 +64,7 @@ private:
RefPtr<TreeWalker> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, TreeWalker*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, TreeWalker*);
TreeWalker* toTreeWalker(JSC::JSValue);
class JSTreeWalkerPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSUIEvent.cpp b/src/3rdparty/webkit/WebCore/generated/JSUIEvent.cpp
index 3711f49..98891f3 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSUIEvent.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSUIEvent.cpp
@@ -51,7 +51,7 @@ static const HashTableValue JSUIEventTableValues[11] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSUIEventTable =
+static JSC_CONST_HASHTABLE HashTable JSUIEventTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 255, JSUIEventTableValues, 0 };
#else
@@ -65,19 +65,19 @@ static const HashTableValue JSUIEventConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSUIEventConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSUIEventConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSUIEventConstructorTableValues, 0 };
#else
{ 1, 0, JSUIEventConstructorTableValues, 0 };
#endif
-class JSUIEventConstructor : public DOMObject {
+class JSUIEventConstructor : public DOMConstructorObject {
public:
- JSUIEventConstructor(ExecState* exec)
- : DOMObject(JSUIEventConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSUIEventConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSUIEventConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSUIEventPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSUIEventPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -104,7 +104,7 @@ static const HashTableValue JSUIEventPrototypeTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSUIEventPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSUIEventPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSUIEventPrototypeTableValues, 0 };
#else
@@ -125,8 +125,8 @@ bool JSUIEventPrototype::getOwnPropertySlot(ExecState* exec, const Identifier& p
const ClassInfo JSUIEvent::s_info = { "UIEvent", &JSEvent::s_info, &JSUIEventTable, 0 };
-JSUIEvent::JSUIEvent(PassRefPtr<Structure> structure, PassRefPtr<UIEvent> impl)
- : JSEvent(structure, impl)
+JSUIEvent::JSUIEvent(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<UIEvent> impl)
+ : JSEvent(structure, globalObject, impl)
{
}
@@ -142,74 +142,84 @@ bool JSUIEvent::getOwnPropertySlot(ExecState* exec, const Identifier& propertyNa
JSValue jsUIEventView(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSUIEvent* castedThis = static_cast<JSUIEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- UIEvent* imp = static_cast<UIEvent*>(static_cast<JSUIEvent*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->view()));
+ UIEvent* imp = static_cast<UIEvent*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->view()));
}
JSValue jsUIEventDetail(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSUIEvent* castedThis = static_cast<JSUIEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- UIEvent* imp = static_cast<UIEvent*>(static_cast<JSUIEvent*>(asObject(slot.slotBase()))->impl());
+ UIEvent* imp = static_cast<UIEvent*>(castedThis->impl());
return jsNumber(exec, imp->detail());
}
JSValue jsUIEventKeyCode(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSUIEvent* castedThis = static_cast<JSUIEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- UIEvent* imp = static_cast<UIEvent*>(static_cast<JSUIEvent*>(asObject(slot.slotBase()))->impl());
+ UIEvent* imp = static_cast<UIEvent*>(castedThis->impl());
return jsNumber(exec, imp->keyCode());
}
JSValue jsUIEventCharCode(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSUIEvent* castedThis = static_cast<JSUIEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- UIEvent* imp = static_cast<UIEvent*>(static_cast<JSUIEvent*>(asObject(slot.slotBase()))->impl());
+ UIEvent* imp = static_cast<UIEvent*>(castedThis->impl());
return jsNumber(exec, imp->charCode());
}
JSValue jsUIEventLayerX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSUIEvent* castedThis = static_cast<JSUIEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- UIEvent* imp = static_cast<UIEvent*>(static_cast<JSUIEvent*>(asObject(slot.slotBase()))->impl());
+ UIEvent* imp = static_cast<UIEvent*>(castedThis->impl());
return jsNumber(exec, imp->layerX());
}
JSValue jsUIEventLayerY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSUIEvent* castedThis = static_cast<JSUIEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- UIEvent* imp = static_cast<UIEvent*>(static_cast<JSUIEvent*>(asObject(slot.slotBase()))->impl());
+ UIEvent* imp = static_cast<UIEvent*>(castedThis->impl());
return jsNumber(exec, imp->layerY());
}
JSValue jsUIEventPageX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSUIEvent* castedThis = static_cast<JSUIEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- UIEvent* imp = static_cast<UIEvent*>(static_cast<JSUIEvent*>(asObject(slot.slotBase()))->impl());
+ UIEvent* imp = static_cast<UIEvent*>(castedThis->impl());
return jsNumber(exec, imp->pageX());
}
JSValue jsUIEventPageY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSUIEvent* castedThis = static_cast<JSUIEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- UIEvent* imp = static_cast<UIEvent*>(static_cast<JSUIEvent*>(asObject(slot.slotBase()))->impl());
+ UIEvent* imp = static_cast<UIEvent*>(castedThis->impl());
return jsNumber(exec, imp->pageY());
}
JSValue jsUIEventWhich(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSUIEvent* castedThis = static_cast<JSUIEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- UIEvent* imp = static_cast<UIEvent*>(static_cast<JSUIEvent*>(asObject(slot.slotBase()))->impl());
+ UIEvent* imp = static_cast<UIEvent*>(castedThis->impl());
return jsNumber(exec, imp->which());
}
JSValue jsUIEventConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSUIEvent*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSUIEvent* domObject = static_cast<JSUIEvent*>(asObject(slot.slotBase()));
+ return JSUIEvent::getConstructor(exec, domObject->globalObject());
}
-JSValue JSUIEvent::getConstructor(ExecState* exec)
+JSValue JSUIEvent::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSUIEventConstructor>(exec);
+ return getDOMConstructor<JSUIEventConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsUIEventPrototypeFunctionInitUIEvent(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSUIEvent.h b/src/3rdparty/webkit/WebCore/generated/JSUIEvent.h
index 3999438..587296b 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSUIEvent.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSUIEvent.h
@@ -30,7 +30,7 @@ class UIEvent;
class JSUIEvent : public JSEvent {
typedef JSEvent Base;
public:
- JSUIEvent(PassRefPtr<JSC::Structure>, PassRefPtr<UIEvent>);
+ JSUIEvent(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<UIEvent>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
@@ -41,7 +41,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSValidityState.cpp b/src/3rdparty/webkit/WebCore/generated/JSValidityState.cpp
new file mode 100644
index 0000000..e99ec02
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/generated/JSValidityState.cpp
@@ -0,0 +1,181 @@
+/*
+ This file is part of the WebKit open source project.
+ This file has been generated by generate-bindings.pl. DO NOT MODIFY!
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "config.h"
+#include "JSValidityState.h"
+
+#include "ValidityState.h"
+#include <wtf/GetPtr.h>
+
+using namespace JSC;
+
+namespace WebCore {
+
+ASSERT_CLASS_FITS_IN_CELL(JSValidityState);
+
+/* Hash table */
+
+static const HashTableValue JSValidityStateTableValues[10] =
+{
+ { "valueMissing", DontDelete|ReadOnly, (intptr_t)jsValidityStateValueMissing, (intptr_t)0 },
+ { "typeMismatch", DontDelete|ReadOnly, (intptr_t)jsValidityStateTypeMismatch, (intptr_t)0 },
+ { "patternMismatch", DontDelete|ReadOnly, (intptr_t)jsValidityStatePatternMismatch, (intptr_t)0 },
+ { "tooLong", DontDelete|ReadOnly, (intptr_t)jsValidityStateTooLong, (intptr_t)0 },
+ { "rangeUnderflow", DontDelete|ReadOnly, (intptr_t)jsValidityStateRangeUnderflow, (intptr_t)0 },
+ { "rangeOverflow", DontDelete|ReadOnly, (intptr_t)jsValidityStateRangeOverflow, (intptr_t)0 },
+ { "stepMismatch", DontDelete|ReadOnly, (intptr_t)jsValidityStateStepMismatch, (intptr_t)0 },
+ { "customError", DontDelete|ReadOnly, (intptr_t)jsValidityStateCustomError, (intptr_t)0 },
+ { "valid", DontDelete|ReadOnly, (intptr_t)jsValidityStateValid, (intptr_t)0 },
+ { 0, 0, 0, 0 }
+};
+
+static JSC_CONST_HASHTABLE HashTable JSValidityStateTable =
+#if ENABLE(PERFECT_HASH_SIZE)
+ { 1023, JSValidityStateTableValues, 0 };
+#else
+ { 34, 31, JSValidityStateTableValues, 0 };
+#endif
+
+/* Hash table for prototype */
+
+static const HashTableValue JSValidityStatePrototypeTableValues[1] =
+{
+ { 0, 0, 0, 0 }
+};
+
+static JSC_CONST_HASHTABLE HashTable JSValidityStatePrototypeTable =
+#if ENABLE(PERFECT_HASH_SIZE)
+ { 0, JSValidityStatePrototypeTableValues, 0 };
+#else
+ { 1, 0, JSValidityStatePrototypeTableValues, 0 };
+#endif
+
+const ClassInfo JSValidityStatePrototype::s_info = { "ValidityStatePrototype", 0, &JSValidityStatePrototypeTable, 0 };
+
+JSObject* JSValidityStatePrototype::self(ExecState* exec, JSGlobalObject* globalObject)
+{
+ return getDOMPrototype<JSValidityState>(exec, globalObject);
+}
+
+const ClassInfo JSValidityState::s_info = { "ValidityState", 0, &JSValidityStateTable, 0 };
+
+JSValidityState::JSValidityState(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<ValidityState> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
+ , m_impl(impl)
+{
+}
+
+JSValidityState::~JSValidityState()
+{
+ forgetDOMObject(*Heap::heap(this)->globalData(), m_impl.get());
+}
+
+JSObject* JSValidityState::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
+{
+ return new (exec) JSValidityStatePrototype(JSValidityStatePrototype::createStructure(globalObject->objectPrototype()));
+}
+
+bool JSValidityState::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
+{
+ return getStaticValueSlot<JSValidityState, Base>(exec, &JSValidityStateTable, this, propertyName, slot);
+}
+
+JSValue jsValidityStateValueMissing(ExecState* exec, const Identifier&, const PropertySlot& slot)
+{
+ JSValidityState* castedThis = static_cast<JSValidityState*>(asObject(slot.slotBase()));
+ UNUSED_PARAM(exec);
+ ValidityState* imp = static_cast<ValidityState*>(castedThis->impl());
+ return jsBoolean(imp->valueMissing());
+}
+
+JSValue jsValidityStateTypeMismatch(ExecState* exec, const Identifier&, const PropertySlot& slot)
+{
+ JSValidityState* castedThis = static_cast<JSValidityState*>(asObject(slot.slotBase()));
+ UNUSED_PARAM(exec);
+ ValidityState* imp = static_cast<ValidityState*>(castedThis->impl());
+ return jsBoolean(imp->typeMismatch());
+}
+
+JSValue jsValidityStatePatternMismatch(ExecState* exec, const Identifier&, const PropertySlot& slot)
+{
+ JSValidityState* castedThis = static_cast<JSValidityState*>(asObject(slot.slotBase()));
+ UNUSED_PARAM(exec);
+ ValidityState* imp = static_cast<ValidityState*>(castedThis->impl());
+ return jsBoolean(imp->patternMismatch());
+}
+
+JSValue jsValidityStateTooLong(ExecState* exec, const Identifier&, const PropertySlot& slot)
+{
+ JSValidityState* castedThis = static_cast<JSValidityState*>(asObject(slot.slotBase()));
+ UNUSED_PARAM(exec);
+ ValidityState* imp = static_cast<ValidityState*>(castedThis->impl());
+ return jsBoolean(imp->tooLong());
+}
+
+JSValue jsValidityStateRangeUnderflow(ExecState* exec, const Identifier&, const PropertySlot& slot)
+{
+ JSValidityState* castedThis = static_cast<JSValidityState*>(asObject(slot.slotBase()));
+ UNUSED_PARAM(exec);
+ ValidityState* imp = static_cast<ValidityState*>(castedThis->impl());
+ return jsBoolean(imp->rangeUnderflow());
+}
+
+JSValue jsValidityStateRangeOverflow(ExecState* exec, const Identifier&, const PropertySlot& slot)
+{
+ JSValidityState* castedThis = static_cast<JSValidityState*>(asObject(slot.slotBase()));
+ UNUSED_PARAM(exec);
+ ValidityState* imp = static_cast<ValidityState*>(castedThis->impl());
+ return jsBoolean(imp->rangeOverflow());
+}
+
+JSValue jsValidityStateStepMismatch(ExecState* exec, const Identifier&, const PropertySlot& slot)
+{
+ JSValidityState* castedThis = static_cast<JSValidityState*>(asObject(slot.slotBase()));
+ UNUSED_PARAM(exec);
+ ValidityState* imp = static_cast<ValidityState*>(castedThis->impl());
+ return jsBoolean(imp->stepMismatch());
+}
+
+JSValue jsValidityStateCustomError(ExecState* exec, const Identifier&, const PropertySlot& slot)
+{
+ JSValidityState* castedThis = static_cast<JSValidityState*>(asObject(slot.slotBase()));
+ UNUSED_PARAM(exec);
+ ValidityState* imp = static_cast<ValidityState*>(castedThis->impl());
+ return jsBoolean(imp->customError());
+}
+
+JSValue jsValidityStateValid(ExecState* exec, const Identifier&, const PropertySlot& slot)
+{
+ JSValidityState* castedThis = static_cast<JSValidityState*>(asObject(slot.slotBase()));
+ UNUSED_PARAM(exec);
+ ValidityState* imp = static_cast<ValidityState*>(castedThis->impl());
+ return jsBoolean(imp->valid());
+}
+
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, ValidityState* object)
+{
+ return getDOMObjectWrapper<JSValidityState>(exec, globalObject, object);
+}
+ValidityState* toValidityState(JSC::JSValue value)
+{
+ return value.isObject(&JSValidityState::s_info) ? static_cast<JSValidityState*>(asObject(value))->impl() : 0;
+}
+
+}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSValidityState.h b/src/3rdparty/webkit/WebCore/generated/JSValidityState.h
new file mode 100644
index 0000000..dab1307
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/generated/JSValidityState.h
@@ -0,0 +1,80 @@
+/*
+ This file is part of the WebKit open source project.
+ This file has been generated by generate-bindings.pl. DO NOT MODIFY!
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef JSValidityState_h
+#define JSValidityState_h
+
+#include "DOMObjectWithSVGContext.h"
+#include "JSDOMBinding.h"
+#include <runtime/JSGlobalObject.h>
+#include <runtime/ObjectPrototype.h>
+
+namespace WebCore {
+
+class ValidityState;
+
+class JSValidityState : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
+public:
+ JSValidityState(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<ValidityState>);
+ virtual ~JSValidityState();
+ static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
+ virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
+ virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
+ static const JSC::ClassInfo s_info;
+
+ static PassRefPtr<JSC::Structure> createStructure(JSC::JSValue prototype)
+ {
+ return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
+ }
+
+ ValidityState* impl() const { return m_impl.get(); }
+
+private:
+ RefPtr<ValidityState> m_impl;
+};
+
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, ValidityState*);
+ValidityState* toValidityState(JSC::JSValue);
+
+class JSValidityStatePrototype : public JSC::JSObject {
+ typedef JSC::JSObject Base;
+public:
+ static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*);
+ virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
+ static const JSC::ClassInfo s_info;
+ JSValidityStatePrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { }
+};
+
+// Attributes
+
+JSC::JSValue jsValidityStateValueMissing(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
+JSC::JSValue jsValidityStateTypeMismatch(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
+JSC::JSValue jsValidityStatePatternMismatch(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
+JSC::JSValue jsValidityStateTooLong(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
+JSC::JSValue jsValidityStateRangeUnderflow(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
+JSC::JSValue jsValidityStateRangeOverflow(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
+JSC::JSValue jsValidityStateStepMismatch(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
+JSC::JSValue jsValidityStateCustomError(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
+JSC::JSValue jsValidityStateValid(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
+
+} // namespace WebCore
+
+#endif
diff --git a/src/3rdparty/webkit/WebCore/generated/JSVoidCallback.cpp b/src/3rdparty/webkit/WebCore/generated/JSVoidCallback.cpp
index ad9ae01..8558c88 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSVoidCallback.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSVoidCallback.cpp
@@ -39,7 +39,7 @@ static const HashTableValue JSVoidCallbackPrototypeTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSVoidCallbackPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSVoidCallbackPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSVoidCallbackPrototypeTableValues, 0 };
#else
@@ -60,8 +60,8 @@ bool JSVoidCallbackPrototype::getOwnPropertySlot(ExecState* exec, const Identifi
const ClassInfo JSVoidCallback::s_info = { "VoidCallback", 0, 0, 0 };
-JSVoidCallback::JSVoidCallback(PassRefPtr<Structure> structure, PassRefPtr<VoidCallback> impl)
- : DOMObject(structure)
+JSVoidCallback::JSVoidCallback(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<VoidCallback> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -88,9 +88,9 @@ JSValue JSC_HOST_CALL jsVoidCallbackPrototypeFunctionHandleEvent(ExecState* exec
return jsUndefined();
}
-JSC::JSValue toJS(JSC::ExecState* exec, VoidCallback* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, VoidCallback* object)
{
- return getDOMObjectWrapper<JSVoidCallback>(exec, object);
+ return getDOMObjectWrapper<JSVoidCallback>(exec, globalObject, object);
}
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSVoidCallback.h b/src/3rdparty/webkit/WebCore/generated/JSVoidCallback.h
index ac05cb9..ce61d3c 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSVoidCallback.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSVoidCallback.h
@@ -21,6 +21,7 @@
#ifndef JSVoidCallback_h
#define JSVoidCallback_h
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -29,10 +30,10 @@ namespace WebCore {
class VoidCallback;
-class JSVoidCallback : public DOMObject {
- typedef DOMObject Base;
+class JSVoidCallback : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSVoidCallback(PassRefPtr<JSC::Structure>, PassRefPtr<VoidCallback>);
+ JSVoidCallback(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<VoidCallback>);
virtual ~JSVoidCallback();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
@@ -44,7 +45,7 @@ private:
RefPtr<VoidCallback> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, VoidCallback*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, VoidCallback*);
VoidCallback* toVoidCallback(JSC::JSValue);
class JSVoidCallbackPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSWebKitAnimationEvent.cpp b/src/3rdparty/webkit/WebCore/generated/JSWebKitAnimationEvent.cpp
index a1cb988..9c15afd 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSWebKitAnimationEvent.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSWebKitAnimationEvent.cpp
@@ -44,7 +44,7 @@ static const HashTableValue JSWebKitAnimationEventTableValues[4] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSWebKitAnimationEventTable =
+static JSC_CONST_HASHTABLE HashTable JSWebKitAnimationEventTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 127, JSWebKitAnimationEventTableValues, 0 };
#else
@@ -58,19 +58,19 @@ static const HashTableValue JSWebKitAnimationEventConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSWebKitAnimationEventConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSWebKitAnimationEventConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSWebKitAnimationEventConstructorTableValues, 0 };
#else
{ 1, 0, JSWebKitAnimationEventConstructorTableValues, 0 };
#endif
-class JSWebKitAnimationEventConstructor : public DOMObject {
+class JSWebKitAnimationEventConstructor : public DOMConstructorObject {
public:
- JSWebKitAnimationEventConstructor(ExecState* exec)
- : DOMObject(JSWebKitAnimationEventConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSWebKitAnimationEventConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSWebKitAnimationEventConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSWebKitAnimationEventPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSWebKitAnimationEventPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -97,7 +97,7 @@ static const HashTableValue JSWebKitAnimationEventPrototypeTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSWebKitAnimationEventPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSWebKitAnimationEventPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSWebKitAnimationEventPrototypeTableValues, 0 };
#else
@@ -118,8 +118,8 @@ bool JSWebKitAnimationEventPrototype::getOwnPropertySlot(ExecState* exec, const
const ClassInfo JSWebKitAnimationEvent::s_info = { "WebKitAnimationEvent", &JSEvent::s_info, &JSWebKitAnimationEventTable, 0 };
-JSWebKitAnimationEvent::JSWebKitAnimationEvent(PassRefPtr<Structure> structure, PassRefPtr<WebKitAnimationEvent> impl)
- : JSEvent(structure, impl)
+JSWebKitAnimationEvent::JSWebKitAnimationEvent(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<WebKitAnimationEvent> impl)
+ : JSEvent(structure, globalObject, impl)
{
}
@@ -135,25 +135,28 @@ bool JSWebKitAnimationEvent::getOwnPropertySlot(ExecState* exec, const Identifie
JSValue jsWebKitAnimationEventAnimationName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSWebKitAnimationEvent* castedThis = static_cast<JSWebKitAnimationEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- WebKitAnimationEvent* imp = static_cast<WebKitAnimationEvent*>(static_cast<JSWebKitAnimationEvent*>(asObject(slot.slotBase()))->impl());
+ WebKitAnimationEvent* imp = static_cast<WebKitAnimationEvent*>(castedThis->impl());
return jsString(exec, imp->animationName());
}
JSValue jsWebKitAnimationEventElapsedTime(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSWebKitAnimationEvent* castedThis = static_cast<JSWebKitAnimationEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- WebKitAnimationEvent* imp = static_cast<WebKitAnimationEvent*>(static_cast<JSWebKitAnimationEvent*>(asObject(slot.slotBase()))->impl());
+ WebKitAnimationEvent* imp = static_cast<WebKitAnimationEvent*>(castedThis->impl());
return jsNumber(exec, imp->elapsedTime());
}
JSValue jsWebKitAnimationEventConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSWebKitAnimationEvent*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSWebKitAnimationEvent* domObject = static_cast<JSWebKitAnimationEvent*>(asObject(slot.slotBase()));
+ return JSWebKitAnimationEvent::getConstructor(exec, domObject->globalObject());
}
-JSValue JSWebKitAnimationEvent::getConstructor(ExecState* exec)
+JSValue JSWebKitAnimationEvent::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSWebKitAnimationEventConstructor>(exec);
+ return getDOMConstructor<JSWebKitAnimationEventConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsWebKitAnimationEventPrototypeFunctionInitWebKitAnimationEvent(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSWebKitAnimationEvent.h b/src/3rdparty/webkit/WebCore/generated/JSWebKitAnimationEvent.h
index 5c6862e..c6969d8 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSWebKitAnimationEvent.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSWebKitAnimationEvent.h
@@ -30,7 +30,7 @@ class WebKitAnimationEvent;
class JSWebKitAnimationEvent : public JSEvent {
typedef JSEvent Base;
public:
- JSWebKitAnimationEvent(PassRefPtr<JSC::Structure>, PassRefPtr<WebKitAnimationEvent>);
+ JSWebKitAnimationEvent(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<WebKitAnimationEvent>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
@@ -41,7 +41,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSWebKitCSSKeyframeRule.cpp b/src/3rdparty/webkit/WebCore/generated/JSWebKitCSSKeyframeRule.cpp
index c07c962..2a71209 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSWebKitCSSKeyframeRule.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSWebKitCSSKeyframeRule.cpp
@@ -45,7 +45,7 @@ static const HashTableValue JSWebKitCSSKeyframeRuleTableValues[4] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSWebKitCSSKeyframeRuleTable =
+static JSC_CONST_HASHTABLE HashTable JSWebKitCSSKeyframeRuleTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSWebKitCSSKeyframeRuleTableValues, 0 };
#else
@@ -59,19 +59,19 @@ static const HashTableValue JSWebKitCSSKeyframeRuleConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSWebKitCSSKeyframeRuleConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSWebKitCSSKeyframeRuleConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSWebKitCSSKeyframeRuleConstructorTableValues, 0 };
#else
{ 1, 0, JSWebKitCSSKeyframeRuleConstructorTableValues, 0 };
#endif
-class JSWebKitCSSKeyframeRuleConstructor : public DOMObject {
+class JSWebKitCSSKeyframeRuleConstructor : public DOMConstructorObject {
public:
- JSWebKitCSSKeyframeRuleConstructor(ExecState* exec)
- : DOMObject(JSWebKitCSSKeyframeRuleConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSWebKitCSSKeyframeRuleConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSWebKitCSSKeyframeRuleConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSWebKitCSSKeyframeRulePrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSWebKitCSSKeyframeRulePrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -97,7 +97,7 @@ static const HashTableValue JSWebKitCSSKeyframeRulePrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSWebKitCSSKeyframeRulePrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSWebKitCSSKeyframeRulePrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSWebKitCSSKeyframeRulePrototypeTableValues, 0 };
#else
@@ -113,8 +113,8 @@ JSObject* JSWebKitCSSKeyframeRulePrototype::self(ExecState* exec, JSGlobalObject
const ClassInfo JSWebKitCSSKeyframeRule::s_info = { "WebKitCSSKeyframeRule", &JSCSSRule::s_info, &JSWebKitCSSKeyframeRuleTable, 0 };
-JSWebKitCSSKeyframeRule::JSWebKitCSSKeyframeRule(PassRefPtr<Structure> structure, PassRefPtr<WebKitCSSKeyframeRule> impl)
- : JSCSSRule(structure, impl)
+JSWebKitCSSKeyframeRule::JSWebKitCSSKeyframeRule(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<WebKitCSSKeyframeRule> impl)
+ : JSCSSRule(structure, globalObject, impl)
{
}
@@ -130,21 +130,24 @@ bool JSWebKitCSSKeyframeRule::getOwnPropertySlot(ExecState* exec, const Identifi
JSValue jsWebKitCSSKeyframeRuleKeyText(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSWebKitCSSKeyframeRule* castedThis = static_cast<JSWebKitCSSKeyframeRule*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- WebKitCSSKeyframeRule* imp = static_cast<WebKitCSSKeyframeRule*>(static_cast<JSWebKitCSSKeyframeRule*>(asObject(slot.slotBase()))->impl());
+ WebKitCSSKeyframeRule* imp = static_cast<WebKitCSSKeyframeRule*>(castedThis->impl());
return jsString(exec, imp->keyText());
}
JSValue jsWebKitCSSKeyframeRuleStyle(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSWebKitCSSKeyframeRule* castedThis = static_cast<JSWebKitCSSKeyframeRule*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- WebKitCSSKeyframeRule* imp = static_cast<WebKitCSSKeyframeRule*>(static_cast<JSWebKitCSSKeyframeRule*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->style()));
+ WebKitCSSKeyframeRule* imp = static_cast<WebKitCSSKeyframeRule*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->style()));
}
JSValue jsWebKitCSSKeyframeRuleConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSWebKitCSSKeyframeRule*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSWebKitCSSKeyframeRule* domObject = static_cast<JSWebKitCSSKeyframeRule*>(asObject(slot.slotBase()));
+ return JSWebKitCSSKeyframeRule::getConstructor(exec, domObject->globalObject());
}
void JSWebKitCSSKeyframeRule::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -157,9 +160,9 @@ void setJSWebKitCSSKeyframeRuleKeyText(ExecState* exec, JSObject* thisObject, JS
imp->setKeyText(value.toString(exec));
}
-JSValue JSWebKitCSSKeyframeRule::getConstructor(ExecState* exec)
+JSValue JSWebKitCSSKeyframeRule::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSWebKitCSSKeyframeRuleConstructor>(exec);
+ return getDOMConstructor<JSWebKitCSSKeyframeRuleConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSWebKitCSSKeyframeRule.h b/src/3rdparty/webkit/WebCore/generated/JSWebKitCSSKeyframeRule.h
index f77c226..36d05a8 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSWebKitCSSKeyframeRule.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSWebKitCSSKeyframeRule.h
@@ -30,7 +30,7 @@ class WebKitCSSKeyframeRule;
class JSWebKitCSSKeyframeRule : public JSCSSRule {
typedef JSCSSRule Base;
public:
- JSWebKitCSSKeyframeRule(PassRefPtr<JSC::Structure>, PassRefPtr<WebKitCSSKeyframeRule>);
+ JSWebKitCSSKeyframeRule(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<WebKitCSSKeyframeRule>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -42,7 +42,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSWebKitCSSKeyframesRule.cpp b/src/3rdparty/webkit/WebCore/generated/JSWebKitCSSKeyframesRule.cpp
index 1bc7805..baf4e51 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSWebKitCSSKeyframesRule.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSWebKitCSSKeyframesRule.cpp
@@ -47,7 +47,7 @@ static const HashTableValue JSWebKitCSSKeyframesRuleTableValues[4] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSWebKitCSSKeyframesRuleTable =
+static JSC_CONST_HASHTABLE HashTable JSWebKitCSSKeyframesRuleTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 127, JSWebKitCSSKeyframesRuleTableValues, 0 };
#else
@@ -61,19 +61,19 @@ static const HashTableValue JSWebKitCSSKeyframesRuleConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSWebKitCSSKeyframesRuleConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSWebKitCSSKeyframesRuleConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSWebKitCSSKeyframesRuleConstructorTableValues, 0 };
#else
{ 1, 0, JSWebKitCSSKeyframesRuleConstructorTableValues, 0 };
#endif
-class JSWebKitCSSKeyframesRuleConstructor : public DOMObject {
+class JSWebKitCSSKeyframesRuleConstructor : public DOMConstructorObject {
public:
- JSWebKitCSSKeyframesRuleConstructor(ExecState* exec)
- : DOMObject(JSWebKitCSSKeyframesRuleConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSWebKitCSSKeyframesRuleConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSWebKitCSSKeyframesRuleConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSWebKitCSSKeyframesRulePrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSWebKitCSSKeyframesRulePrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -102,7 +102,7 @@ static const HashTableValue JSWebKitCSSKeyframesRulePrototypeTableValues[4] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSWebKitCSSKeyframesRulePrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSWebKitCSSKeyframesRulePrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 7, JSWebKitCSSKeyframesRulePrototypeTableValues, 0 };
#else
@@ -123,8 +123,8 @@ bool JSWebKitCSSKeyframesRulePrototype::getOwnPropertySlot(ExecState* exec, cons
const ClassInfo JSWebKitCSSKeyframesRule::s_info = { "WebKitCSSKeyframesRule", &JSCSSRule::s_info, &JSWebKitCSSKeyframesRuleTable, 0 };
-JSWebKitCSSKeyframesRule::JSWebKitCSSKeyframesRule(PassRefPtr<Structure> structure, PassRefPtr<WebKitCSSKeyframesRule> impl)
- : JSCSSRule(structure, impl)
+JSWebKitCSSKeyframesRule::JSWebKitCSSKeyframesRule(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<WebKitCSSKeyframesRule> impl)
+ : JSCSSRule(structure, globalObject, impl)
{
}
@@ -160,21 +160,24 @@ bool JSWebKitCSSKeyframesRule::getOwnPropertySlot(ExecState* exec, unsigned prop
JSValue jsWebKitCSSKeyframesRuleName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSWebKitCSSKeyframesRule* castedThis = static_cast<JSWebKitCSSKeyframesRule*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- WebKitCSSKeyframesRule* imp = static_cast<WebKitCSSKeyframesRule*>(static_cast<JSWebKitCSSKeyframesRule*>(asObject(slot.slotBase()))->impl());
+ WebKitCSSKeyframesRule* imp = static_cast<WebKitCSSKeyframesRule*>(castedThis->impl());
return jsStringOrNull(exec, imp->name());
}
JSValue jsWebKitCSSKeyframesRuleCssRules(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSWebKitCSSKeyframesRule* castedThis = static_cast<JSWebKitCSSKeyframesRule*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- WebKitCSSKeyframesRule* imp = static_cast<WebKitCSSKeyframesRule*>(static_cast<JSWebKitCSSKeyframesRule*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->cssRules()));
+ WebKitCSSKeyframesRule* imp = static_cast<WebKitCSSKeyframesRule*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->cssRules()));
}
JSValue jsWebKitCSSKeyframesRuleConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSWebKitCSSKeyframesRule*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSWebKitCSSKeyframesRule* domObject = static_cast<JSWebKitCSSKeyframesRule*>(asObject(slot.slotBase()));
+ return JSWebKitCSSKeyframesRule::getConstructor(exec, domObject->globalObject());
}
void JSWebKitCSSKeyframesRule::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -194,9 +197,9 @@ void JSWebKitCSSKeyframesRule::getPropertyNames(ExecState* exec, PropertyNameArr
Base::getPropertyNames(exec, propertyNames);
}
-JSValue JSWebKitCSSKeyframesRule::getConstructor(ExecState* exec)
+JSValue JSWebKitCSSKeyframesRule::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSWebKitCSSKeyframesRuleConstructor>(exec);
+ return getDOMConstructor<JSWebKitCSSKeyframesRuleConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsWebKitCSSKeyframesRulePrototypeFunctionInsertRule(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -235,7 +238,7 @@ JSValue JSC_HOST_CALL jsWebKitCSSKeyframesRulePrototypeFunctionFindRule(ExecStat
const UString& key = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->findRule(key)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->findRule(key)));
return result;
}
@@ -243,7 +246,7 @@ JSValue JSC_HOST_CALL jsWebKitCSSKeyframesRulePrototypeFunctionFindRule(ExecStat
JSValue JSWebKitCSSKeyframesRule::indexGetter(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
JSWebKitCSSKeyframesRule* thisObj = static_cast<JSWebKitCSSKeyframesRule*>(asObject(slot.slotBase()));
- return toJS(exec, static_cast<WebKitCSSKeyframesRule*>(thisObj->impl())->item(slot.index()));
+ return toJS(exec, thisObj->globalObject(), static_cast<WebKitCSSKeyframesRule*>(thisObj->impl())->item(slot.index()));
}
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSWebKitCSSKeyframesRule.h b/src/3rdparty/webkit/WebCore/generated/JSWebKitCSSKeyframesRule.h
index 789f0a1..cae9a5f 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSWebKitCSSKeyframesRule.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSWebKitCSSKeyframesRule.h
@@ -30,7 +30,7 @@ class WebKitCSSKeyframesRule;
class JSWebKitCSSKeyframesRule : public JSCSSRule {
typedef JSCSSRule Base;
public:
- JSWebKitCSSKeyframesRule(PassRefPtr<JSC::Structure>, PassRefPtr<WebKitCSSKeyframesRule>);
+ JSWebKitCSSKeyframesRule(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<WebKitCSSKeyframesRule>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual bool getOwnPropertySlot(JSC::ExecState*, unsigned propertyName, JSC::PropertySlot&);
@@ -44,7 +44,7 @@ public:
}
virtual void getPropertyNames(JSC::ExecState*, JSC::PropertyNameArray&);
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
static JSC::JSValue indexGetter(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSWebKitCSSMatrix.cpp b/src/3rdparty/webkit/WebCore/generated/JSWebKitCSSMatrix.cpp
index 8b28647..bfd9a37 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSWebKitCSSMatrix.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSWebKitCSSMatrix.cpp
@@ -64,7 +64,7 @@ static const HashTableValue JSWebKitCSSMatrixTableValues[23] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSWebKitCSSMatrixTable =
+static JSC_CONST_HASHTABLE HashTable JSWebKitCSSMatrixTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 255, JSWebKitCSSMatrixTableValues, 0 };
#else
@@ -86,7 +86,7 @@ static const HashTableValue JSWebKitCSSMatrixPrototypeTableValues[9] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSWebKitCSSMatrixPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSWebKitCSSMatrixPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 63, JSWebKitCSSMatrixPrototypeTableValues, 0 };
#else
@@ -107,8 +107,8 @@ bool JSWebKitCSSMatrixPrototype::getOwnPropertySlot(ExecState* exec, const Ident
const ClassInfo JSWebKitCSSMatrix::s_info = { "WebKitCSSMatrix", 0, &JSWebKitCSSMatrixTable, 0 };
-JSWebKitCSSMatrix::JSWebKitCSSMatrix(PassRefPtr<Structure> structure, PassRefPtr<WebKitCSSMatrix> impl)
- : DOMObject(structure)
+JSWebKitCSSMatrix::JSWebKitCSSMatrix(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<WebKitCSSMatrix> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -130,155 +130,177 @@ bool JSWebKitCSSMatrix::getOwnPropertySlot(ExecState* exec, const Identifier& pr
JSValue jsWebKitCSSMatrixA(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSWebKitCSSMatrix* castedThis = static_cast<JSWebKitCSSMatrix*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- WebKitCSSMatrix* imp = static_cast<WebKitCSSMatrix*>(static_cast<JSWebKitCSSMatrix*>(asObject(slot.slotBase()))->impl());
+ WebKitCSSMatrix* imp = static_cast<WebKitCSSMatrix*>(castedThis->impl());
return jsNumber(exec, imp->a());
}
JSValue jsWebKitCSSMatrixB(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSWebKitCSSMatrix* castedThis = static_cast<JSWebKitCSSMatrix*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- WebKitCSSMatrix* imp = static_cast<WebKitCSSMatrix*>(static_cast<JSWebKitCSSMatrix*>(asObject(slot.slotBase()))->impl());
+ WebKitCSSMatrix* imp = static_cast<WebKitCSSMatrix*>(castedThis->impl());
return jsNumber(exec, imp->b());
}
JSValue jsWebKitCSSMatrixC(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSWebKitCSSMatrix* castedThis = static_cast<JSWebKitCSSMatrix*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- WebKitCSSMatrix* imp = static_cast<WebKitCSSMatrix*>(static_cast<JSWebKitCSSMatrix*>(asObject(slot.slotBase()))->impl());
+ WebKitCSSMatrix* imp = static_cast<WebKitCSSMatrix*>(castedThis->impl());
return jsNumber(exec, imp->c());
}
JSValue jsWebKitCSSMatrixD(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSWebKitCSSMatrix* castedThis = static_cast<JSWebKitCSSMatrix*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- WebKitCSSMatrix* imp = static_cast<WebKitCSSMatrix*>(static_cast<JSWebKitCSSMatrix*>(asObject(slot.slotBase()))->impl());
+ WebKitCSSMatrix* imp = static_cast<WebKitCSSMatrix*>(castedThis->impl());
return jsNumber(exec, imp->d());
}
JSValue jsWebKitCSSMatrixE(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSWebKitCSSMatrix* castedThis = static_cast<JSWebKitCSSMatrix*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- WebKitCSSMatrix* imp = static_cast<WebKitCSSMatrix*>(static_cast<JSWebKitCSSMatrix*>(asObject(slot.slotBase()))->impl());
+ WebKitCSSMatrix* imp = static_cast<WebKitCSSMatrix*>(castedThis->impl());
return jsNumber(exec, imp->e());
}
JSValue jsWebKitCSSMatrixF(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSWebKitCSSMatrix* castedThis = static_cast<JSWebKitCSSMatrix*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- WebKitCSSMatrix* imp = static_cast<WebKitCSSMatrix*>(static_cast<JSWebKitCSSMatrix*>(asObject(slot.slotBase()))->impl());
+ WebKitCSSMatrix* imp = static_cast<WebKitCSSMatrix*>(castedThis->impl());
return jsNumber(exec, imp->f());
}
JSValue jsWebKitCSSMatrixM11(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSWebKitCSSMatrix* castedThis = static_cast<JSWebKitCSSMatrix*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- WebKitCSSMatrix* imp = static_cast<WebKitCSSMatrix*>(static_cast<JSWebKitCSSMatrix*>(asObject(slot.slotBase()))->impl());
+ WebKitCSSMatrix* imp = static_cast<WebKitCSSMatrix*>(castedThis->impl());
return jsNumber(exec, imp->m11());
}
JSValue jsWebKitCSSMatrixM12(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSWebKitCSSMatrix* castedThis = static_cast<JSWebKitCSSMatrix*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- WebKitCSSMatrix* imp = static_cast<WebKitCSSMatrix*>(static_cast<JSWebKitCSSMatrix*>(asObject(slot.slotBase()))->impl());
+ WebKitCSSMatrix* imp = static_cast<WebKitCSSMatrix*>(castedThis->impl());
return jsNumber(exec, imp->m12());
}
JSValue jsWebKitCSSMatrixM13(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSWebKitCSSMatrix* castedThis = static_cast<JSWebKitCSSMatrix*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- WebKitCSSMatrix* imp = static_cast<WebKitCSSMatrix*>(static_cast<JSWebKitCSSMatrix*>(asObject(slot.slotBase()))->impl());
+ WebKitCSSMatrix* imp = static_cast<WebKitCSSMatrix*>(castedThis->impl());
return jsNumber(exec, imp->m13());
}
JSValue jsWebKitCSSMatrixM14(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSWebKitCSSMatrix* castedThis = static_cast<JSWebKitCSSMatrix*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- WebKitCSSMatrix* imp = static_cast<WebKitCSSMatrix*>(static_cast<JSWebKitCSSMatrix*>(asObject(slot.slotBase()))->impl());
+ WebKitCSSMatrix* imp = static_cast<WebKitCSSMatrix*>(castedThis->impl());
return jsNumber(exec, imp->m14());
}
JSValue jsWebKitCSSMatrixM21(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSWebKitCSSMatrix* castedThis = static_cast<JSWebKitCSSMatrix*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- WebKitCSSMatrix* imp = static_cast<WebKitCSSMatrix*>(static_cast<JSWebKitCSSMatrix*>(asObject(slot.slotBase()))->impl());
+ WebKitCSSMatrix* imp = static_cast<WebKitCSSMatrix*>(castedThis->impl());
return jsNumber(exec, imp->m21());
}
JSValue jsWebKitCSSMatrixM22(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSWebKitCSSMatrix* castedThis = static_cast<JSWebKitCSSMatrix*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- WebKitCSSMatrix* imp = static_cast<WebKitCSSMatrix*>(static_cast<JSWebKitCSSMatrix*>(asObject(slot.slotBase()))->impl());
+ WebKitCSSMatrix* imp = static_cast<WebKitCSSMatrix*>(castedThis->impl());
return jsNumber(exec, imp->m22());
}
JSValue jsWebKitCSSMatrixM23(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSWebKitCSSMatrix* castedThis = static_cast<JSWebKitCSSMatrix*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- WebKitCSSMatrix* imp = static_cast<WebKitCSSMatrix*>(static_cast<JSWebKitCSSMatrix*>(asObject(slot.slotBase()))->impl());
+ WebKitCSSMatrix* imp = static_cast<WebKitCSSMatrix*>(castedThis->impl());
return jsNumber(exec, imp->m23());
}
JSValue jsWebKitCSSMatrixM24(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSWebKitCSSMatrix* castedThis = static_cast<JSWebKitCSSMatrix*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- WebKitCSSMatrix* imp = static_cast<WebKitCSSMatrix*>(static_cast<JSWebKitCSSMatrix*>(asObject(slot.slotBase()))->impl());
+ WebKitCSSMatrix* imp = static_cast<WebKitCSSMatrix*>(castedThis->impl());
return jsNumber(exec, imp->m24());
}
JSValue jsWebKitCSSMatrixM31(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSWebKitCSSMatrix* castedThis = static_cast<JSWebKitCSSMatrix*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- WebKitCSSMatrix* imp = static_cast<WebKitCSSMatrix*>(static_cast<JSWebKitCSSMatrix*>(asObject(slot.slotBase()))->impl());
+ WebKitCSSMatrix* imp = static_cast<WebKitCSSMatrix*>(castedThis->impl());
return jsNumber(exec, imp->m31());
}
JSValue jsWebKitCSSMatrixM32(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSWebKitCSSMatrix* castedThis = static_cast<JSWebKitCSSMatrix*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- WebKitCSSMatrix* imp = static_cast<WebKitCSSMatrix*>(static_cast<JSWebKitCSSMatrix*>(asObject(slot.slotBase()))->impl());
+ WebKitCSSMatrix* imp = static_cast<WebKitCSSMatrix*>(castedThis->impl());
return jsNumber(exec, imp->m32());
}
JSValue jsWebKitCSSMatrixM33(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSWebKitCSSMatrix* castedThis = static_cast<JSWebKitCSSMatrix*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- WebKitCSSMatrix* imp = static_cast<WebKitCSSMatrix*>(static_cast<JSWebKitCSSMatrix*>(asObject(slot.slotBase()))->impl());
+ WebKitCSSMatrix* imp = static_cast<WebKitCSSMatrix*>(castedThis->impl());
return jsNumber(exec, imp->m33());
}
JSValue jsWebKitCSSMatrixM34(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSWebKitCSSMatrix* castedThis = static_cast<JSWebKitCSSMatrix*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- WebKitCSSMatrix* imp = static_cast<WebKitCSSMatrix*>(static_cast<JSWebKitCSSMatrix*>(asObject(slot.slotBase()))->impl());
+ WebKitCSSMatrix* imp = static_cast<WebKitCSSMatrix*>(castedThis->impl());
return jsNumber(exec, imp->m34());
}
JSValue jsWebKitCSSMatrixM41(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSWebKitCSSMatrix* castedThis = static_cast<JSWebKitCSSMatrix*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- WebKitCSSMatrix* imp = static_cast<WebKitCSSMatrix*>(static_cast<JSWebKitCSSMatrix*>(asObject(slot.slotBase()))->impl());
+ WebKitCSSMatrix* imp = static_cast<WebKitCSSMatrix*>(castedThis->impl());
return jsNumber(exec, imp->m41());
}
JSValue jsWebKitCSSMatrixM42(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSWebKitCSSMatrix* castedThis = static_cast<JSWebKitCSSMatrix*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- WebKitCSSMatrix* imp = static_cast<WebKitCSSMatrix*>(static_cast<JSWebKitCSSMatrix*>(asObject(slot.slotBase()))->impl());
+ WebKitCSSMatrix* imp = static_cast<WebKitCSSMatrix*>(castedThis->impl());
return jsNumber(exec, imp->m42());
}
JSValue jsWebKitCSSMatrixM43(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSWebKitCSSMatrix* castedThis = static_cast<JSWebKitCSSMatrix*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- WebKitCSSMatrix* imp = static_cast<WebKitCSSMatrix*>(static_cast<JSWebKitCSSMatrix*>(asObject(slot.slotBase()))->impl());
+ WebKitCSSMatrix* imp = static_cast<WebKitCSSMatrix*>(castedThis->impl());
return jsNumber(exec, imp->m43());
}
JSValue jsWebKitCSSMatrixM44(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSWebKitCSSMatrix* castedThis = static_cast<JSWebKitCSSMatrix*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- WebKitCSSMatrix* imp = static_cast<WebKitCSSMatrix*>(static_cast<JSWebKitCSSMatrix*>(asObject(slot.slotBase()))->impl());
+ WebKitCSSMatrix* imp = static_cast<WebKitCSSMatrix*>(castedThis->impl());
return jsNumber(exec, imp->m44());
}
@@ -444,7 +466,7 @@ JSValue JSC_HOST_CALL jsWebKitCSSMatrixPrototypeFunctionMultiply(ExecState* exec
WebKitCSSMatrix* secondMatrix = toWebKitCSSMatrix(args.at(0));
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->multiply(secondMatrix)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->multiply(secondMatrix)));
return result;
}
@@ -458,7 +480,7 @@ JSValue JSC_HOST_CALL jsWebKitCSSMatrixPrototypeFunctionInverse(ExecState* exec,
ExceptionCode ec = 0;
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->inverse(ec)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->inverse(ec)));
setDOMException(exec, ec);
return result;
}
@@ -475,7 +497,7 @@ JSValue JSC_HOST_CALL jsWebKitCSSMatrixPrototypeFunctionTranslate(ExecState* exe
double z = args.at(2).toNumber(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->translate(x, y, z)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->translate(x, y, z)));
return result;
}
@@ -491,7 +513,7 @@ JSValue JSC_HOST_CALL jsWebKitCSSMatrixPrototypeFunctionScale(ExecState* exec, J
double scaleZ = args.at(2).toNumber(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->scale(scaleX, scaleY, scaleZ)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->scale(scaleX, scaleY, scaleZ)));
return result;
}
@@ -507,7 +529,7 @@ JSValue JSC_HOST_CALL jsWebKitCSSMatrixPrototypeFunctionRotate(ExecState* exec,
double rotZ = args.at(2).toNumber(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->rotate(rotX, rotY, rotZ)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->rotate(rotX, rotY, rotZ)));
return result;
}
@@ -524,7 +546,7 @@ JSValue JSC_HOST_CALL jsWebKitCSSMatrixPrototypeFunctionRotateAxisAngle(ExecStat
double angle = args.at(3).toNumber(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->rotateAxisAngle(x, y, z, angle)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->rotateAxisAngle(x, y, z, angle)));
return result;
}
@@ -541,9 +563,9 @@ JSValue JSC_HOST_CALL jsWebKitCSSMatrixPrototypeFunctionToString(ExecState* exec
return result;
}
-JSC::JSValue toJS(JSC::ExecState* exec, WebKitCSSMatrix* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, WebKitCSSMatrix* object)
{
- return getDOMObjectWrapper<JSWebKitCSSMatrix>(exec, object);
+ return getDOMObjectWrapper<JSWebKitCSSMatrix>(exec, globalObject, object);
}
WebKitCSSMatrix* toWebKitCSSMatrix(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSWebKitCSSMatrix.h b/src/3rdparty/webkit/WebCore/generated/JSWebKitCSSMatrix.h
index ad37712..2e44fcf 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSWebKitCSSMatrix.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSWebKitCSSMatrix.h
@@ -21,6 +21,7 @@
#ifndef JSWebKitCSSMatrix_h
#define JSWebKitCSSMatrix_h
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -29,10 +30,10 @@ namespace WebCore {
class WebKitCSSMatrix;
-class JSWebKitCSSMatrix : public DOMObject {
- typedef DOMObject Base;
+class JSWebKitCSSMatrix : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSWebKitCSSMatrix(PassRefPtr<JSC::Structure>, PassRefPtr<WebKitCSSMatrix>);
+ JSWebKitCSSMatrix(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<WebKitCSSMatrix>);
virtual ~JSWebKitCSSMatrix();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -51,7 +52,7 @@ private:
RefPtr<WebKitCSSMatrix> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, WebKitCSSMatrix*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, WebKitCSSMatrix*);
WebKitCSSMatrix* toWebKitCSSMatrix(JSC::JSValue);
class JSWebKitCSSMatrixPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSWebKitCSSTransformValue.cpp b/src/3rdparty/webkit/WebCore/generated/JSWebKitCSSTransformValue.cpp
index 37f1563..ca3b003 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSWebKitCSSTransformValue.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSWebKitCSSTransformValue.cpp
@@ -40,7 +40,7 @@ static const HashTableValue JSWebKitCSSTransformValueTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSWebKitCSSTransformValueTable =
+static JSC_CONST_HASHTABLE HashTable JSWebKitCSSTransformValueTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSWebKitCSSTransformValueTableValues, 0 };
#else
@@ -75,19 +75,19 @@ static const HashTableValue JSWebKitCSSTransformValueConstructorTableValues[22]
{ 0, 0, 0, 0 }
};
-static const HashTable JSWebKitCSSTransformValueConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSWebKitCSSTransformValueConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 1023, JSWebKitCSSTransformValueConstructorTableValues, 0 };
#else
{ 68, 63, JSWebKitCSSTransformValueConstructorTableValues, 0 };
#endif
-class JSWebKitCSSTransformValueConstructor : public DOMObject {
+class JSWebKitCSSTransformValueConstructor : public DOMConstructorObject {
public:
- JSWebKitCSSTransformValueConstructor(ExecState* exec)
- : DOMObject(JSWebKitCSSTransformValueConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSWebKitCSSTransformValueConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSWebKitCSSTransformValueConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSWebKitCSSTransformValuePrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSWebKitCSSTransformValuePrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -134,7 +134,7 @@ static const HashTableValue JSWebKitCSSTransformValuePrototypeTableValues[22] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSWebKitCSSTransformValuePrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSWebKitCSSTransformValuePrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 1023, JSWebKitCSSTransformValuePrototypeTableValues, 0 };
#else
@@ -155,8 +155,8 @@ bool JSWebKitCSSTransformValuePrototype::getOwnPropertySlot(ExecState* exec, con
const ClassInfo JSWebKitCSSTransformValue::s_info = { "WebKitCSSTransformValue", &JSCSSValueList::s_info, &JSWebKitCSSTransformValueTable, 0 };
-JSWebKitCSSTransformValue::JSWebKitCSSTransformValue(PassRefPtr<Structure> structure, PassRefPtr<WebKitCSSTransformValue> impl)
- : JSCSSValueList(structure, impl)
+JSWebKitCSSTransformValue::JSWebKitCSSTransformValue(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<WebKitCSSTransformValue> impl)
+ : JSCSSValueList(structure, globalObject, impl)
{
}
@@ -172,18 +172,20 @@ bool JSWebKitCSSTransformValue::getOwnPropertySlot(ExecState* exec, const Identi
JSValue jsWebKitCSSTransformValueOperationType(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSWebKitCSSTransformValue* castedThis = static_cast<JSWebKitCSSTransformValue*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- WebKitCSSTransformValue* imp = static_cast<WebKitCSSTransformValue*>(static_cast<JSWebKitCSSTransformValue*>(asObject(slot.slotBase()))->impl());
+ WebKitCSSTransformValue* imp = static_cast<WebKitCSSTransformValue*>(castedThis->impl());
return jsNumber(exec, imp->operationType());
}
JSValue jsWebKitCSSTransformValueConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSWebKitCSSTransformValue*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSWebKitCSSTransformValue* domObject = static_cast<JSWebKitCSSTransformValue*>(asObject(slot.slotBase()));
+ return JSWebKitCSSTransformValue::getConstructor(exec, domObject->globalObject());
}
-JSValue JSWebKitCSSTransformValue::getConstructor(ExecState* exec)
+JSValue JSWebKitCSSTransformValue::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSWebKitCSSTransformValueConstructor>(exec);
+ return getDOMConstructor<JSWebKitCSSTransformValueConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
// Constant getters
diff --git a/src/3rdparty/webkit/WebCore/generated/JSWebKitCSSTransformValue.h b/src/3rdparty/webkit/WebCore/generated/JSWebKitCSSTransformValue.h
index 3f636e3..58e7f5c 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSWebKitCSSTransformValue.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSWebKitCSSTransformValue.h
@@ -30,7 +30,7 @@ class WebKitCSSTransformValue;
class JSWebKitCSSTransformValue : public JSCSSValueList {
typedef JSCSSValueList Base;
public:
- JSWebKitCSSTransformValue(PassRefPtr<JSC::Structure>, PassRefPtr<WebKitCSSTransformValue>);
+ JSWebKitCSSTransformValue(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<WebKitCSSTransformValue>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
@@ -41,7 +41,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSWebKitPoint.cpp b/src/3rdparty/webkit/WebCore/generated/JSWebKitPoint.cpp
index b954f24..bba55c0 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSWebKitPoint.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSWebKitPoint.cpp
@@ -40,7 +40,7 @@ static const HashTableValue JSWebKitPointTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSWebKitPointTable =
+static JSC_CONST_HASHTABLE HashTable JSWebKitPointTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 1, JSWebKitPointTableValues, 0 };
#else
@@ -54,7 +54,7 @@ static const HashTableValue JSWebKitPointPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSWebKitPointPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSWebKitPointPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSWebKitPointPrototypeTableValues, 0 };
#else
@@ -70,8 +70,8 @@ JSObject* JSWebKitPointPrototype::self(ExecState* exec, JSGlobalObject* globalOb
const ClassInfo JSWebKitPoint::s_info = { "WebKitPoint", 0, &JSWebKitPointTable, 0 };
-JSWebKitPoint::JSWebKitPoint(PassRefPtr<Structure> structure, PassRefPtr<WebKitPoint> impl)
- : DOMObject(structure)
+JSWebKitPoint::JSWebKitPoint(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<WebKitPoint> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -93,15 +93,17 @@ bool JSWebKitPoint::getOwnPropertySlot(ExecState* exec, const Identifier& proper
JSValue jsWebKitPointX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSWebKitPoint* castedThis = static_cast<JSWebKitPoint*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- WebKitPoint* imp = static_cast<WebKitPoint*>(static_cast<JSWebKitPoint*>(asObject(slot.slotBase()))->impl());
+ WebKitPoint* imp = static_cast<WebKitPoint*>(castedThis->impl());
return jsNumber(exec, imp->x());
}
JSValue jsWebKitPointY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSWebKitPoint* castedThis = static_cast<JSWebKitPoint*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- WebKitPoint* imp = static_cast<WebKitPoint*>(static_cast<JSWebKitPoint*>(asObject(slot.slotBase()))->impl());
+ WebKitPoint* imp = static_cast<WebKitPoint*>(castedThis->impl());
return jsNumber(exec, imp->y());
}
@@ -122,9 +124,9 @@ void setJSWebKitPointY(ExecState* exec, JSObject* thisObject, JSValue value)
imp->setY(value.toFloat(exec));
}
-JSC::JSValue toJS(JSC::ExecState* exec, WebKitPoint* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, WebKitPoint* object)
{
- return getDOMObjectWrapper<JSWebKitPoint>(exec, object);
+ return getDOMObjectWrapper<JSWebKitPoint>(exec, globalObject, object);
}
WebKitPoint* toWebKitPoint(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSWebKitPoint.h b/src/3rdparty/webkit/WebCore/generated/JSWebKitPoint.h
index 1a7c88f..fdc8d47 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSWebKitPoint.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSWebKitPoint.h
@@ -21,6 +21,7 @@
#ifndef JSWebKitPoint_h
#define JSWebKitPoint_h
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -29,10 +30,10 @@ namespace WebCore {
class WebKitPoint;
-class JSWebKitPoint : public DOMObject {
- typedef DOMObject Base;
+class JSWebKitPoint : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSWebKitPoint(PassRefPtr<JSC::Structure>, PassRefPtr<WebKitPoint>);
+ JSWebKitPoint(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<WebKitPoint>);
virtual ~JSWebKitPoint();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -51,7 +52,7 @@ private:
RefPtr<WebKitPoint> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, WebKitPoint*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, WebKitPoint*);
WebKitPoint* toWebKitPoint(JSC::JSValue);
class JSWebKitPointPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSWebKitTransitionEvent.cpp b/src/3rdparty/webkit/WebCore/generated/JSWebKitTransitionEvent.cpp
index 3ca4c82..ec0aa0d 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSWebKitTransitionEvent.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSWebKitTransitionEvent.cpp
@@ -44,7 +44,7 @@ static const HashTableValue JSWebKitTransitionEventTableValues[4] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSWebKitTransitionEventTable =
+static JSC_CONST_HASHTABLE HashTable JSWebKitTransitionEventTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 7, JSWebKitTransitionEventTableValues, 0 };
#else
@@ -58,19 +58,19 @@ static const HashTableValue JSWebKitTransitionEventConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSWebKitTransitionEventConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSWebKitTransitionEventConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSWebKitTransitionEventConstructorTableValues, 0 };
#else
{ 1, 0, JSWebKitTransitionEventConstructorTableValues, 0 };
#endif
-class JSWebKitTransitionEventConstructor : public DOMObject {
+class JSWebKitTransitionEventConstructor : public DOMConstructorObject {
public:
- JSWebKitTransitionEventConstructor(ExecState* exec)
- : DOMObject(JSWebKitTransitionEventConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSWebKitTransitionEventConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSWebKitTransitionEventConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSWebKitTransitionEventPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSWebKitTransitionEventPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -97,7 +97,7 @@ static const HashTableValue JSWebKitTransitionEventPrototypeTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSWebKitTransitionEventPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSWebKitTransitionEventPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSWebKitTransitionEventPrototypeTableValues, 0 };
#else
@@ -118,8 +118,8 @@ bool JSWebKitTransitionEventPrototype::getOwnPropertySlot(ExecState* exec, const
const ClassInfo JSWebKitTransitionEvent::s_info = { "WebKitTransitionEvent", &JSEvent::s_info, &JSWebKitTransitionEventTable, 0 };
-JSWebKitTransitionEvent::JSWebKitTransitionEvent(PassRefPtr<Structure> structure, PassRefPtr<WebKitTransitionEvent> impl)
- : JSEvent(structure, impl)
+JSWebKitTransitionEvent::JSWebKitTransitionEvent(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<WebKitTransitionEvent> impl)
+ : JSEvent(structure, globalObject, impl)
{
}
@@ -135,25 +135,28 @@ bool JSWebKitTransitionEvent::getOwnPropertySlot(ExecState* exec, const Identifi
JSValue jsWebKitTransitionEventPropertyName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSWebKitTransitionEvent* castedThis = static_cast<JSWebKitTransitionEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- WebKitTransitionEvent* imp = static_cast<WebKitTransitionEvent*>(static_cast<JSWebKitTransitionEvent*>(asObject(slot.slotBase()))->impl());
+ WebKitTransitionEvent* imp = static_cast<WebKitTransitionEvent*>(castedThis->impl());
return jsString(exec, imp->propertyName());
}
JSValue jsWebKitTransitionEventElapsedTime(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSWebKitTransitionEvent* castedThis = static_cast<JSWebKitTransitionEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- WebKitTransitionEvent* imp = static_cast<WebKitTransitionEvent*>(static_cast<JSWebKitTransitionEvent*>(asObject(slot.slotBase()))->impl());
+ WebKitTransitionEvent* imp = static_cast<WebKitTransitionEvent*>(castedThis->impl());
return jsNumber(exec, imp->elapsedTime());
}
JSValue jsWebKitTransitionEventConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSWebKitTransitionEvent*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSWebKitTransitionEvent* domObject = static_cast<JSWebKitTransitionEvent*>(asObject(slot.slotBase()));
+ return JSWebKitTransitionEvent::getConstructor(exec, domObject->globalObject());
}
-JSValue JSWebKitTransitionEvent::getConstructor(ExecState* exec)
+JSValue JSWebKitTransitionEvent::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSWebKitTransitionEventConstructor>(exec);
+ return getDOMConstructor<JSWebKitTransitionEventConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsWebKitTransitionEventPrototypeFunctionInitWebKitTransitionEvent(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSWebKitTransitionEvent.h b/src/3rdparty/webkit/WebCore/generated/JSWebKitTransitionEvent.h
index de22ec3..d8bf92a 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSWebKitTransitionEvent.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSWebKitTransitionEvent.h
@@ -30,7 +30,7 @@ class WebKitTransitionEvent;
class JSWebKitTransitionEvent : public JSEvent {
typedef JSEvent Base;
public:
- JSWebKitTransitionEvent(PassRefPtr<JSC::Structure>, PassRefPtr<WebKitTransitionEvent>);
+ JSWebKitTransitionEvent(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<WebKitTransitionEvent>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
@@ -41,7 +41,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSWheelEvent.cpp b/src/3rdparty/webkit/WebCore/generated/JSWheelEvent.cpp
index e56513d..fa29330 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSWheelEvent.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSWheelEvent.cpp
@@ -54,7 +54,7 @@ static const HashTableValue JSWheelEventTableValues[17] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSWheelEventTable =
+static JSC_CONST_HASHTABLE HashTable JSWheelEventTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 127, JSWheelEventTableValues, 0 };
#else
@@ -68,19 +68,19 @@ static const HashTableValue JSWheelEventConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSWheelEventConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSWheelEventConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSWheelEventConstructorTableValues, 0 };
#else
{ 1, 0, JSWheelEventConstructorTableValues, 0 };
#endif
-class JSWheelEventConstructor : public DOMObject {
+class JSWheelEventConstructor : public DOMConstructorObject {
public:
- JSWheelEventConstructor(ExecState* exec)
- : DOMObject(JSWheelEventConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSWheelEventConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSWheelEventConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSWheelEventPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSWheelEventPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -106,7 +106,7 @@ static const HashTableValue JSWheelEventPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSWheelEventPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSWheelEventPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSWheelEventPrototypeTableValues, 0 };
#else
@@ -122,8 +122,8 @@ JSObject* JSWheelEventPrototype::self(ExecState* exec, JSGlobalObject* globalObj
const ClassInfo JSWheelEvent::s_info = { "WheelEvent", &JSUIEvent::s_info, &JSWheelEventTable, 0 };
-JSWheelEvent::JSWheelEvent(PassRefPtr<Structure> structure, PassRefPtr<WheelEvent> impl)
- : JSUIEvent(structure, impl)
+JSWheelEvent::JSWheelEvent(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<WheelEvent> impl)
+ : JSUIEvent(structure, globalObject, impl)
{
}
@@ -139,116 +139,132 @@ bool JSWheelEvent::getOwnPropertySlot(ExecState* exec, const Identifier& propert
JSValue jsWheelEventScreenX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSWheelEvent* castedThis = static_cast<JSWheelEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- WheelEvent* imp = static_cast<WheelEvent*>(static_cast<JSWheelEvent*>(asObject(slot.slotBase()))->impl());
+ WheelEvent* imp = static_cast<WheelEvent*>(castedThis->impl());
return jsNumber(exec, imp->screenX());
}
JSValue jsWheelEventScreenY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSWheelEvent* castedThis = static_cast<JSWheelEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- WheelEvent* imp = static_cast<WheelEvent*>(static_cast<JSWheelEvent*>(asObject(slot.slotBase()))->impl());
+ WheelEvent* imp = static_cast<WheelEvent*>(castedThis->impl());
return jsNumber(exec, imp->screenY());
}
JSValue jsWheelEventClientX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSWheelEvent* castedThis = static_cast<JSWheelEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- WheelEvent* imp = static_cast<WheelEvent*>(static_cast<JSWheelEvent*>(asObject(slot.slotBase()))->impl());
+ WheelEvent* imp = static_cast<WheelEvent*>(castedThis->impl());
return jsNumber(exec, imp->clientX());
}
JSValue jsWheelEventClientY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSWheelEvent* castedThis = static_cast<JSWheelEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- WheelEvent* imp = static_cast<WheelEvent*>(static_cast<JSWheelEvent*>(asObject(slot.slotBase()))->impl());
+ WheelEvent* imp = static_cast<WheelEvent*>(castedThis->impl());
return jsNumber(exec, imp->clientY());
}
JSValue jsWheelEventCtrlKey(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSWheelEvent* castedThis = static_cast<JSWheelEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- WheelEvent* imp = static_cast<WheelEvent*>(static_cast<JSWheelEvent*>(asObject(slot.slotBase()))->impl());
+ WheelEvent* imp = static_cast<WheelEvent*>(castedThis->impl());
return jsBoolean(imp->ctrlKey());
}
JSValue jsWheelEventShiftKey(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSWheelEvent* castedThis = static_cast<JSWheelEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- WheelEvent* imp = static_cast<WheelEvent*>(static_cast<JSWheelEvent*>(asObject(slot.slotBase()))->impl());
+ WheelEvent* imp = static_cast<WheelEvent*>(castedThis->impl());
return jsBoolean(imp->shiftKey());
}
JSValue jsWheelEventAltKey(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSWheelEvent* castedThis = static_cast<JSWheelEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- WheelEvent* imp = static_cast<WheelEvent*>(static_cast<JSWheelEvent*>(asObject(slot.slotBase()))->impl());
+ WheelEvent* imp = static_cast<WheelEvent*>(castedThis->impl());
return jsBoolean(imp->altKey());
}
JSValue jsWheelEventMetaKey(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSWheelEvent* castedThis = static_cast<JSWheelEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- WheelEvent* imp = static_cast<WheelEvent*>(static_cast<JSWheelEvent*>(asObject(slot.slotBase()))->impl());
+ WheelEvent* imp = static_cast<WheelEvent*>(castedThis->impl());
return jsBoolean(imp->metaKey());
}
JSValue jsWheelEventWheelDelta(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSWheelEvent* castedThis = static_cast<JSWheelEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- WheelEvent* imp = static_cast<WheelEvent*>(static_cast<JSWheelEvent*>(asObject(slot.slotBase()))->impl());
+ WheelEvent* imp = static_cast<WheelEvent*>(castedThis->impl());
return jsNumber(exec, imp->wheelDelta());
}
JSValue jsWheelEventWheelDeltaX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSWheelEvent* castedThis = static_cast<JSWheelEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- WheelEvent* imp = static_cast<WheelEvent*>(static_cast<JSWheelEvent*>(asObject(slot.slotBase()))->impl());
+ WheelEvent* imp = static_cast<WheelEvent*>(castedThis->impl());
return jsNumber(exec, imp->wheelDeltaX());
}
JSValue jsWheelEventWheelDeltaY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSWheelEvent* castedThis = static_cast<JSWheelEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- WheelEvent* imp = static_cast<WheelEvent*>(static_cast<JSWheelEvent*>(asObject(slot.slotBase()))->impl());
+ WheelEvent* imp = static_cast<WheelEvent*>(castedThis->impl());
return jsNumber(exec, imp->wheelDeltaY());
}
JSValue jsWheelEventOffsetX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSWheelEvent* castedThis = static_cast<JSWheelEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- WheelEvent* imp = static_cast<WheelEvent*>(static_cast<JSWheelEvent*>(asObject(slot.slotBase()))->impl());
+ WheelEvent* imp = static_cast<WheelEvent*>(castedThis->impl());
return jsNumber(exec, imp->offsetX());
}
JSValue jsWheelEventOffsetY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSWheelEvent* castedThis = static_cast<JSWheelEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- WheelEvent* imp = static_cast<WheelEvent*>(static_cast<JSWheelEvent*>(asObject(slot.slotBase()))->impl());
+ WheelEvent* imp = static_cast<WheelEvent*>(castedThis->impl());
return jsNumber(exec, imp->offsetY());
}
JSValue jsWheelEventX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSWheelEvent* castedThis = static_cast<JSWheelEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- WheelEvent* imp = static_cast<WheelEvent*>(static_cast<JSWheelEvent*>(asObject(slot.slotBase()))->impl());
+ WheelEvent* imp = static_cast<WheelEvent*>(castedThis->impl());
return jsNumber(exec, imp->x());
}
JSValue jsWheelEventY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSWheelEvent* castedThis = static_cast<JSWheelEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- WheelEvent* imp = static_cast<WheelEvent*>(static_cast<JSWheelEvent*>(asObject(slot.slotBase()))->impl());
+ WheelEvent* imp = static_cast<WheelEvent*>(castedThis->impl());
return jsNumber(exec, imp->y());
}
JSValue jsWheelEventConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSWheelEvent*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSWheelEvent* domObject = static_cast<JSWheelEvent*>(asObject(slot.slotBase()));
+ return JSWheelEvent::getConstructor(exec, domObject->globalObject());
}
-JSValue JSWheelEvent::getConstructor(ExecState* exec)
+JSValue JSWheelEvent::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSWheelEventConstructor>(exec);
+ return getDOMConstructor<JSWheelEventConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSWheelEvent.h b/src/3rdparty/webkit/WebCore/generated/JSWheelEvent.h
index ae9730d..78fdc12 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSWheelEvent.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSWheelEvent.h
@@ -30,7 +30,7 @@ class WheelEvent;
class JSWheelEvent : public JSUIEvent {
typedef JSUIEvent Base;
public:
- JSWheelEvent(PassRefPtr<JSC::Structure>, PassRefPtr<WheelEvent>);
+ JSWheelEvent(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<WheelEvent>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
@@ -41,7 +41,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSWorker.cpp b/src/3rdparty/webkit/WebCore/generated/JSWorker.cpp
index 4c4f8a0..0e238e4 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSWorker.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSWorker.cpp
@@ -24,12 +24,11 @@
#include "JSWorker.h"
-#include "Event.h"
#include "EventListener.h"
#include "Frame.h"
#include "JSDOMGlobalObject.h"
-#include "JSEvent.h"
#include "JSEventListener.h"
+#include "JSMessagePort.h"
#include "Worker.h"
#include <runtime/Error.h>
#include <wtf/GetPtr.h>
@@ -42,37 +41,33 @@ ASSERT_CLASS_FITS_IN_CELL(JSWorker);
/* Hash table */
-static const HashTableValue JSWorkerTableValues[3] =
+static const HashTableValue JSWorkerTableValues[2] =
{
- { "onerror", DontDelete, (intptr_t)jsWorkerOnerror, (intptr_t)setJSWorkerOnerror },
{ "onmessage", DontDelete, (intptr_t)jsWorkerOnmessage, (intptr_t)setJSWorkerOnmessage },
{ 0, 0, 0, 0 }
};
-static const HashTable JSWorkerTable =
+static JSC_CONST_HASHTABLE HashTable JSWorkerTable =
#if ENABLE(PERFECT_HASH_SIZE)
- { 3, JSWorkerTableValues, 0 };
+ { 0, JSWorkerTableValues, 0 };
#else
- { 4, 3, JSWorkerTableValues, 0 };
+ { 2, 1, JSWorkerTableValues, 0 };
#endif
/* Hash table for prototype */
-static const HashTableValue JSWorkerPrototypeTableValues[6] =
+static const HashTableValue JSWorkerPrototypeTableValues[3] =
{
- { "postMessage", DontDelete|Function, (intptr_t)jsWorkerPrototypeFunctionPostMessage, (intptr_t)1 },
+ { "postMessage", DontDelete|Function, (intptr_t)jsWorkerPrototypeFunctionPostMessage, (intptr_t)2 },
{ "terminate", DontDelete|Function, (intptr_t)jsWorkerPrototypeFunctionTerminate, (intptr_t)0 },
- { "addEventListener", DontDelete|Function, (intptr_t)jsWorkerPrototypeFunctionAddEventListener, (intptr_t)3 },
- { "removeEventListener", DontDelete|Function, (intptr_t)jsWorkerPrototypeFunctionRemoveEventListener, (intptr_t)3 },
- { "dispatchEvent", DontDelete|Function, (intptr_t)jsWorkerPrototypeFunctionDispatchEvent, (intptr_t)1 },
{ 0, 0, 0, 0 }
};
-static const HashTable JSWorkerPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSWorkerPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSWorkerPrototypeTableValues, 0 };
#else
- { 16, 15, JSWorkerPrototypeTableValues, 0 };
+ { 5, 3, JSWorkerPrototypeTableValues, 0 };
#endif
const ClassInfo JSWorkerPrototype::s_info = { "WorkerPrototype", 0, &JSWorkerPrototypeTable, 0 };
@@ -87,22 +82,16 @@ bool JSWorkerPrototype::getOwnPropertySlot(ExecState* exec, const Identifier& pr
return getStaticFunctionSlot<JSObject>(exec, &JSWorkerPrototypeTable, this, propertyName, slot);
}
-const ClassInfo JSWorker::s_info = { "Worker", 0, &JSWorkerTable, 0 };
+const ClassInfo JSWorker::s_info = { "Worker", &JSAbstractWorker::s_info, &JSWorkerTable, 0 };
-JSWorker::JSWorker(PassRefPtr<Structure> structure, PassRefPtr<Worker> impl)
- : DOMObject(structure)
- , m_impl(impl)
+JSWorker::JSWorker(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<Worker> impl)
+ : JSAbstractWorker(structure, globalObject, impl)
{
}
-JSWorker::~JSWorker()
-{
- forgetDOMObject(*Heap::heap(this)->globalData(), m_impl.get());
-}
-
JSObject* JSWorker::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
{
- return new (exec) JSWorkerPrototype(JSWorkerPrototype::createStructure(globalObject->objectPrototype()));
+ return new (exec) JSWorkerPrototype(JSWorkerPrototype::createStructure(JSAbstractWorkerPrototype::self(exec, globalObject)));
}
bool JSWorker::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
@@ -110,21 +99,11 @@ bool JSWorker::getOwnPropertySlot(ExecState* exec, const Identifier& propertyNam
return getStaticValueSlot<JSWorker, Base>(exec, &JSWorkerTable, this, propertyName, slot);
}
-JSValue jsWorkerOnerror(ExecState* exec, const Identifier&, const PropertySlot& slot)
-{
- UNUSED_PARAM(exec);
- Worker* imp = static_cast<Worker*>(static_cast<JSWorker*>(asObject(slot.slotBase()))->impl());
- if (EventListener* listener = imp->onerror()) {
- if (JSObject* jsFunction = listener->jsFunction())
- return jsFunction;
- }
- return jsNull();
-}
-
JSValue jsWorkerOnmessage(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSWorker* castedThis = static_cast<JSWorker*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Worker* imp = static_cast<Worker*>(static_cast<JSWorker*>(asObject(slot.slotBase()))->impl());
+ Worker* imp = static_cast<Worker*>(castedThis->impl());
if (EventListener* listener = imp->onmessage()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -137,16 +116,6 @@ void JSWorker::put(ExecState* exec, const Identifier& propertyName, JSValue valu
lookupPut<JSWorker, Base>(exec, propertyName, value, &JSWorkerTable, this, slot);
}
-void setJSWorkerOnerror(ExecState* exec, JSObject* thisObject, JSValue value)
-{
- UNUSED_PARAM(exec);
- Worker* imp = static_cast<Worker*>(static_cast<JSWorker*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
- if (!globalObject)
- return;
- imp->setOnerror(globalObject->createJSAttributeEventListener(value));
-}
-
void setJSWorkerOnmessage(ExecState* exec, JSObject* thisObject, JSValue value)
{
UNUSED_PARAM(exec);
@@ -164,9 +133,20 @@ JSValue JSC_HOST_CALL jsWorkerPrototypeFunctionPostMessage(ExecState* exec, JSOb
return throwError(exec, TypeError);
JSWorker* castedThisObj = static_cast<JSWorker*>(asObject(thisValue));
Worker* imp = static_cast<Worker*>(castedThisObj->impl());
+ ExceptionCode ec = 0;
const UString& message = args.at(0).toString(exec);
- imp->postMessage(message);
+ int argsCount = args.size();
+ if (argsCount < 2) {
+ imp->postMessage(message, ec);
+ setDOMException(exec, ec);
+ return jsUndefined();
+ }
+
+ MessagePort* messagePort = toMessagePort(args.at(1));
+
+ imp->postMessage(message, messagePort, ec);
+ setDOMException(exec, ec);
return jsUndefined();
}
@@ -182,43 +162,9 @@ JSValue JSC_HOST_CALL jsWorkerPrototypeFunctionTerminate(ExecState* exec, JSObje
return jsUndefined();
}
-JSValue JSC_HOST_CALL jsWorkerPrototypeFunctionAddEventListener(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
-{
- UNUSED_PARAM(args);
- if (!thisValue.isObject(&JSWorker::s_info))
- return throwError(exec, TypeError);
- JSWorker* castedThisObj = static_cast<JSWorker*>(asObject(thisValue));
- return castedThisObj->addEventListener(exec, args);
-}
-
-JSValue JSC_HOST_CALL jsWorkerPrototypeFunctionRemoveEventListener(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
-{
- UNUSED_PARAM(args);
- if (!thisValue.isObject(&JSWorker::s_info))
- return throwError(exec, TypeError);
- JSWorker* castedThisObj = static_cast<JSWorker*>(asObject(thisValue));
- return castedThisObj->removeEventListener(exec, args);
-}
-
-JSValue JSC_HOST_CALL jsWorkerPrototypeFunctionDispatchEvent(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
-{
- UNUSED_PARAM(args);
- if (!thisValue.isObject(&JSWorker::s_info))
- return throwError(exec, TypeError);
- JSWorker* castedThisObj = static_cast<JSWorker*>(asObject(thisValue));
- Worker* imp = static_cast<Worker*>(castedThisObj->impl());
- ExceptionCode ec = 0;
- Event* evt = toEvent(args.at(0));
-
-
- JSC::JSValue result = jsBoolean(imp->dispatchEvent(evt, ec));
- setDOMException(exec, ec);
- return result;
-}
-
-JSC::JSValue toJS(JSC::ExecState* exec, Worker* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, Worker* object)
{
- return getDOMObjectWrapper<JSWorker>(exec, object);
+ return getDOMObjectWrapper<JSWorker>(exec, globalObject, object);
}
Worker* toWorker(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSWorker.h b/src/3rdparty/webkit/WebCore/generated/JSWorker.h
index c1ed4af..f04866b 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSWorker.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSWorker.h
@@ -23,19 +23,17 @@
#if ENABLE(WORKERS)
-#include "JSDOMBinding.h"
-#include <runtime/JSGlobalObject.h>
-#include <runtime/ObjectPrototype.h>
+#include "JSAbstractWorker.h"
+#include "Worker.h"
namespace WebCore {
class Worker;
-class JSWorker : public DOMObject {
- typedef DOMObject Base;
+class JSWorker : public JSAbstractWorker {
+ typedef JSAbstractWorker Base;
public:
- JSWorker(PassRefPtr<JSC::Structure>, PassRefPtr<Worker>);
- virtual ~JSWorker();
+ JSWorker(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<Worker>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -49,17 +47,13 @@ public:
virtual void mark();
-
- // Custom functions
- JSC::JSValue addEventListener(JSC::ExecState*, const JSC::ArgList&);
- JSC::JSValue removeEventListener(JSC::ExecState*, const JSC::ArgList&);
- Worker* impl() const { return m_impl.get(); }
-
-private:
- RefPtr<Worker> m_impl;
+ Worker* impl() const
+ {
+ return static_cast<Worker*>(Base::impl());
+ }
};
-JSC::JSValue toJS(JSC::ExecState*, Worker*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, Worker*);
Worker* toWorker(JSC::JSValue);
class JSWorkerPrototype : public JSC::JSObject {
@@ -80,13 +74,8 @@ public:
JSC::JSValue JSC_HOST_CALL jsWorkerPrototypeFunctionPostMessage(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
JSC::JSValue JSC_HOST_CALL jsWorkerPrototypeFunctionTerminate(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsWorkerPrototypeFunctionAddEventListener(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsWorkerPrototypeFunctionRemoveEventListener(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsWorkerPrototypeFunctionDispatchEvent(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
// Attributes
-JSC::JSValue jsWorkerOnerror(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
-void setJSWorkerOnerror(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
JSC::JSValue jsWorkerOnmessage(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
void setJSWorkerOnmessage(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSWorkerContext.cpp b/src/3rdparty/webkit/WebCore/generated/JSWorkerContext.cpp
index cf2e02d..59a8dcd 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSWorkerContext.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSWorkerContext.cpp
@@ -28,6 +28,7 @@
#include "EventListener.h"
#include "JSEvent.h"
#include "JSEventListener.h"
+#include "JSMessageChannel.h"
#include "JSMessageEvent.h"
#include "JSWorkerContext.h"
#include "JSWorkerLocation.h"
@@ -47,19 +48,20 @@ ASSERT_CLASS_FITS_IN_CELL(JSWorkerContext);
/* Hash table */
-static const HashTableValue JSWorkerContextTableValues[8] =
+static const HashTableValue JSWorkerContextTableValues[9] =
{
{ "self", DontDelete, (intptr_t)jsWorkerContextSelf, (intptr_t)setJSWorkerContextSelf },
{ "location", DontDelete, (intptr_t)jsWorkerContextLocation, (intptr_t)setJSWorkerContextLocation },
+ { "onerror", DontDelete, (intptr_t)jsWorkerContextOnerror, (intptr_t)setJSWorkerContextOnerror },
{ "navigator", DontDelete, (intptr_t)jsWorkerContextNavigator, (intptr_t)setJSWorkerContextNavigator },
- { "onmessage", DontDelete, (intptr_t)jsWorkerContextOnmessage, (intptr_t)setJSWorkerContextOnmessage },
{ "MessageEvent", DontDelete, (intptr_t)jsWorkerContextMessageEventConstructor, (intptr_t)setJSWorkerContextMessageEventConstructor },
{ "WorkerLocation", DontDelete, (intptr_t)jsWorkerContextWorkerLocationConstructor, (intptr_t)setJSWorkerContextWorkerLocationConstructor },
+ { "MessageChannel", DontDelete, (intptr_t)jsWorkerContextMessageChannelConstructor, (intptr_t)setJSWorkerContextMessageChannelConstructor },
{ "XMLHttpRequest", DontDelete, (intptr_t)jsWorkerContextXMLHttpRequestConstructor, (intptr_t)setJSWorkerContextXMLHttpRequestConstructor },
{ 0, 0, 0, 0 }
};
-static const HashTable JSWorkerContextTable =
+static JSC_CONST_HASHTABLE HashTable JSWorkerContextTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 127, JSWorkerContextTableValues, 0 };
#else
@@ -68,11 +70,10 @@ static const HashTable JSWorkerContextTable =
/* Hash table for prototype */
-static const HashTableValue JSWorkerContextPrototypeTableValues[11] =
+static const HashTableValue JSWorkerContextPrototypeTableValues[10] =
{
{ "close", DontDelete|Function, (intptr_t)jsWorkerContextPrototypeFunctionClose, (intptr_t)0 },
{ "importScripts", DontDelete|Function, (intptr_t)jsWorkerContextPrototypeFunctionImportScripts, (intptr_t)0 },
- { "postMessage", DontDelete|Function, (intptr_t)jsWorkerContextPrototypeFunctionPostMessage, (intptr_t)1 },
{ "setTimeout", DontDelete|Function, (intptr_t)jsWorkerContextPrototypeFunctionSetTimeout, (intptr_t)2 },
{ "clearTimeout", DontDelete|Function, (intptr_t)jsWorkerContextPrototypeFunctionClearTimeout, (intptr_t)1 },
{ "setInterval", DontDelete|Function, (intptr_t)jsWorkerContextPrototypeFunctionSetInterval, (intptr_t)2 },
@@ -83,7 +84,7 @@ static const HashTableValue JSWorkerContextPrototypeTableValues[11] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSWorkerContextPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSWorkerContextPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 1023, JSWorkerContextPrototypeTableValues, 0 };
#else
@@ -126,51 +127,62 @@ bool JSWorkerContext::getOwnPropertySlot(ExecState* exec, const Identifier& prop
JSValue jsWorkerContextSelf(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSWorkerContext* castedThis = static_cast<JSWorkerContext*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- WorkerContext* imp = static_cast<WorkerContext*>(static_cast<JSWorkerContext*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->self()));
+ WorkerContext* imp = static_cast<WorkerContext*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->self()));
}
JSValue jsWorkerContextLocation(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSWorkerContext* castedThis = static_cast<JSWorkerContext*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- WorkerContext* imp = static_cast<WorkerContext*>(static_cast<JSWorkerContext*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->location()));
+ WorkerContext* imp = static_cast<WorkerContext*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->location()));
}
-JSValue jsWorkerContextNavigator(ExecState* exec, const Identifier&, const PropertySlot& slot)
-{
- UNUSED_PARAM(exec);
- WorkerContext* imp = static_cast<WorkerContext*>(static_cast<JSWorkerContext*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->navigator()));
-}
-
-JSValue jsWorkerContextOnmessage(ExecState* exec, const Identifier&, const PropertySlot& slot)
+JSValue jsWorkerContextOnerror(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSWorkerContext* castedThis = static_cast<JSWorkerContext*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- WorkerContext* imp = static_cast<WorkerContext*>(static_cast<JSWorkerContext*>(asObject(slot.slotBase()))->impl());
- if (EventListener* listener = imp->onmessage()) {
+ WorkerContext* imp = static_cast<WorkerContext*>(castedThis->impl());
+ if (EventListener* listener = imp->onerror()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
}
return jsNull();
}
+JSValue jsWorkerContextNavigator(ExecState* exec, const Identifier&, const PropertySlot& slot)
+{
+ JSWorkerContext* castedThis = static_cast<JSWorkerContext*>(asObject(slot.slotBase()));
+ UNUSED_PARAM(exec);
+ WorkerContext* imp = static_cast<WorkerContext*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->navigator()));
+}
+
JSValue jsWorkerContextMessageEventConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- UNUSED_PARAM(slot);
- return JSMessageEvent::getConstructor(exec);
+ JSWorkerContext* castedThis = static_cast<JSWorkerContext*>(asObject(slot.slotBase()));
+ return JSMessageEvent::getConstructor(exec, castedThis);
}
JSValue jsWorkerContextWorkerLocationConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- UNUSED_PARAM(slot);
- return JSWorkerLocation::getConstructor(exec);
+ JSWorkerContext* castedThis = static_cast<JSWorkerContext*>(asObject(slot.slotBase()));
+ return JSWorkerLocation::getConstructor(exec, castedThis);
+}
+
+JSValue jsWorkerContextMessageChannelConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
+{
+ JSWorkerContext* castedThis = static_cast<JSWorkerContext*>(asObject(slot.slotBase()));
+ return castedThis->messageChannel(exec);
}
JSValue jsWorkerContextXMLHttpRequestConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSWorkerContext*>(asObject(slot.slotBase()))->xmlHttpRequest(exec);
+ JSWorkerContext* castedThis = static_cast<JSWorkerContext*>(asObject(slot.slotBase()));
+ return castedThis->xmlHttpRequest(exec);
}
void JSWorkerContext::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
@@ -190,18 +202,18 @@ void setJSWorkerContextLocation(ExecState* exec, JSObject* thisObject, JSValue v
static_cast<JSWorkerContext*>(thisObject)->putDirect(Identifier(exec, "location"), value);
}
-void setJSWorkerContextNavigator(ExecState* exec, JSObject* thisObject, JSValue value)
-{
- // Shadowing a built-in object
- static_cast<JSWorkerContext*>(thisObject)->putDirect(Identifier(exec, "navigator"), value);
-}
-
-void setJSWorkerContextOnmessage(ExecState* exec, JSObject* thisObject, JSValue value)
+void setJSWorkerContextOnerror(ExecState* exec, JSObject* thisObject, JSValue value)
{
UNUSED_PARAM(exec);
WorkerContext* imp = static_cast<WorkerContext*>(static_cast<JSWorkerContext*>(thisObject)->impl());
JSDOMGlobalObject* globalObject = static_cast<JSWorkerContext*>(thisObject);
- imp->setOnmessage(globalObject->createJSAttributeEventListener(value));
+ imp->setOnerror(globalObject->createJSAttributeEventListener(value));
+}
+
+void setJSWorkerContextNavigator(ExecState* exec, JSObject* thisObject, JSValue value)
+{
+ // Shadowing a built-in object
+ static_cast<JSWorkerContext*>(thisObject)->putDirect(Identifier(exec, "navigator"), value);
}
void setJSWorkerContextMessageEventConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
@@ -216,6 +228,12 @@ void setJSWorkerContextWorkerLocationConstructor(ExecState* exec, JSObject* this
static_cast<JSWorkerContext*>(thisObject)->putDirect(Identifier(exec, "WorkerLocation"), value);
}
+void setJSWorkerContextMessageChannelConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
+{
+ // Shadowing a built-in constructor
+ static_cast<JSWorkerContext*>(thisObject)->putDirect(Identifier(exec, "MessageChannel"), value);
+}
+
void setJSWorkerContextXMLHttpRequestConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
// Shadowing a built-in constructor
@@ -225,9 +243,9 @@ void setJSWorkerContextXMLHttpRequestConstructor(ExecState* exec, JSObject* this
JSValue JSC_HOST_CALL jsWorkerContextPrototypeFunctionClose(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
UNUSED_PARAM(args);
- if (!thisValue.isObject(&JSWorkerContext::s_info))
+ JSWorkerContext* castedThisObj = toJSWorkerContext(thisValue.toThisObject(exec));
+ if (!castedThisObj)
return throwError(exec, TypeError);
- JSWorkerContext* castedThisObj = static_cast<JSWorkerContext*>(asObject(thisValue));
WorkerContext* imp = static_cast<WorkerContext*>(castedThisObj->impl());
imp->close();
@@ -237,40 +255,27 @@ JSValue JSC_HOST_CALL jsWorkerContextPrototypeFunctionClose(ExecState* exec, JSO
JSValue JSC_HOST_CALL jsWorkerContextPrototypeFunctionImportScripts(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
UNUSED_PARAM(args);
- if (!thisValue.isObject(&JSWorkerContext::s_info))
+ JSWorkerContext* castedThisObj = toJSWorkerContext(thisValue.toThisObject(exec));
+ if (!castedThisObj)
return throwError(exec, TypeError);
- JSWorkerContext* castedThisObj = static_cast<JSWorkerContext*>(asObject(thisValue));
return castedThisObj->importScripts(exec, args);
}
-JSValue JSC_HOST_CALL jsWorkerContextPrototypeFunctionPostMessage(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
-{
- UNUSED_PARAM(args);
- if (!thisValue.isObject(&JSWorkerContext::s_info))
- return throwError(exec, TypeError);
- JSWorkerContext* castedThisObj = static_cast<JSWorkerContext*>(asObject(thisValue));
- WorkerContext* imp = static_cast<WorkerContext*>(castedThisObj->impl());
- const UString& message = args.at(0).toString(exec);
-
- imp->postMessage(message);
- return jsUndefined();
-}
-
JSValue JSC_HOST_CALL jsWorkerContextPrototypeFunctionSetTimeout(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
UNUSED_PARAM(args);
- if (!thisValue.isObject(&JSWorkerContext::s_info))
+ JSWorkerContext* castedThisObj = toJSWorkerContext(thisValue.toThisObject(exec));
+ if (!castedThisObj)
return throwError(exec, TypeError);
- JSWorkerContext* castedThisObj = static_cast<JSWorkerContext*>(asObject(thisValue));
return castedThisObj->setTimeout(exec, args);
}
JSValue JSC_HOST_CALL jsWorkerContextPrototypeFunctionClearTimeout(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
UNUSED_PARAM(args);
- if (!thisValue.isObject(&JSWorkerContext::s_info))
+ JSWorkerContext* castedThisObj = toJSWorkerContext(thisValue.toThisObject(exec));
+ if (!castedThisObj)
return throwError(exec, TypeError);
- JSWorkerContext* castedThisObj = static_cast<JSWorkerContext*>(asObject(thisValue));
WorkerContext* imp = static_cast<WorkerContext*>(castedThisObj->impl());
int handle = args.at(0).toInt32(exec);
@@ -281,18 +286,18 @@ JSValue JSC_HOST_CALL jsWorkerContextPrototypeFunctionClearTimeout(ExecState* ex
JSValue JSC_HOST_CALL jsWorkerContextPrototypeFunctionSetInterval(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
UNUSED_PARAM(args);
- if (!thisValue.isObject(&JSWorkerContext::s_info))
+ JSWorkerContext* castedThisObj = toJSWorkerContext(thisValue.toThisObject(exec));
+ if (!castedThisObj)
return throwError(exec, TypeError);
- JSWorkerContext* castedThisObj = static_cast<JSWorkerContext*>(asObject(thisValue));
return castedThisObj->setInterval(exec, args);
}
JSValue JSC_HOST_CALL jsWorkerContextPrototypeFunctionClearInterval(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
UNUSED_PARAM(args);
- if (!thisValue.isObject(&JSWorkerContext::s_info))
+ JSWorkerContext* castedThisObj = toJSWorkerContext(thisValue.toThisObject(exec));
+ if (!castedThisObj)
return throwError(exec, TypeError);
- JSWorkerContext* castedThisObj = static_cast<JSWorkerContext*>(asObject(thisValue));
WorkerContext* imp = static_cast<WorkerContext*>(castedThisObj->impl());
int handle = args.at(0).toInt32(exec);
@@ -303,27 +308,27 @@ JSValue JSC_HOST_CALL jsWorkerContextPrototypeFunctionClearInterval(ExecState* e
JSValue JSC_HOST_CALL jsWorkerContextPrototypeFunctionAddEventListener(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
UNUSED_PARAM(args);
- if (!thisValue.isObject(&JSWorkerContext::s_info))
+ JSWorkerContext* castedThisObj = toJSWorkerContext(thisValue.toThisObject(exec));
+ if (!castedThisObj)
return throwError(exec, TypeError);
- JSWorkerContext* castedThisObj = static_cast<JSWorkerContext*>(asObject(thisValue));
return castedThisObj->addEventListener(exec, args);
}
JSValue JSC_HOST_CALL jsWorkerContextPrototypeFunctionRemoveEventListener(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
UNUSED_PARAM(args);
- if (!thisValue.isObject(&JSWorkerContext::s_info))
+ JSWorkerContext* castedThisObj = toJSWorkerContext(thisValue.toThisObject(exec));
+ if (!castedThisObj)
return throwError(exec, TypeError);
- JSWorkerContext* castedThisObj = static_cast<JSWorkerContext*>(asObject(thisValue));
return castedThisObj->removeEventListener(exec, args);
}
JSValue JSC_HOST_CALL jsWorkerContextPrototypeFunctionDispatchEvent(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
UNUSED_PARAM(args);
- if (!thisValue.isObject(&JSWorkerContext::s_info))
+ JSWorkerContext* castedThisObj = toJSWorkerContext(thisValue.toThisObject(exec));
+ if (!castedThisObj)
return throwError(exec, TypeError);
- JSWorkerContext* castedThisObj = static_cast<JSWorkerContext*>(asObject(thisValue));
WorkerContext* imp = static_cast<WorkerContext*>(castedThisObj->impl());
ExceptionCode ec = 0;
Event* evt = toEvent(args.at(0));
diff --git a/src/3rdparty/webkit/WebCore/generated/JSWorkerContext.h b/src/3rdparty/webkit/WebCore/generated/JSWorkerContext.h
index c522808..5ce05b7 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSWorkerContext.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSWorkerContext.h
@@ -48,6 +48,7 @@ public:
// Custom attributes
+ JSC::JSValue messageChannel(JSC::ExecState*) const;
JSC::JSValue xmlHttpRequest(JSC::ExecState*) const;
// Custom functions
@@ -77,7 +78,6 @@ public:
JSC::JSValue JSC_HOST_CALL jsWorkerContextPrototypeFunctionClose(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
JSC::JSValue JSC_HOST_CALL jsWorkerContextPrototypeFunctionImportScripts(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsWorkerContextPrototypeFunctionPostMessage(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
JSC::JSValue JSC_HOST_CALL jsWorkerContextPrototypeFunctionSetTimeout(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
JSC::JSValue JSC_HOST_CALL jsWorkerContextPrototypeFunctionClearTimeout(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
JSC::JSValue JSC_HOST_CALL jsWorkerContextPrototypeFunctionSetInterval(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
@@ -91,14 +91,16 @@ JSC::JSValue jsWorkerContextSelf(JSC::ExecState*, const JSC::Identifier&, const
void setJSWorkerContextSelf(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
JSC::JSValue jsWorkerContextLocation(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
void setJSWorkerContextLocation(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
+JSC::JSValue jsWorkerContextOnerror(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
+void setJSWorkerContextOnerror(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
JSC::JSValue jsWorkerContextNavigator(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
void setJSWorkerContextNavigator(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
-JSC::JSValue jsWorkerContextOnmessage(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
-void setJSWorkerContextOnmessage(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
JSC::JSValue jsWorkerContextMessageEventConstructor(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
void setJSWorkerContextMessageEventConstructor(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
JSC::JSValue jsWorkerContextWorkerLocationConstructor(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
void setJSWorkerContextWorkerLocationConstructor(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
+JSC::JSValue jsWorkerContextMessageChannelConstructor(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
+void setJSWorkerContextMessageChannelConstructor(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
JSC::JSValue jsWorkerContextXMLHttpRequestConstructor(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
void setJSWorkerContextXMLHttpRequestConstructor(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSWorkerLocation.cpp b/src/3rdparty/webkit/WebCore/generated/JSWorkerLocation.cpp
index 7960f9a..d45c06a 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSWorkerLocation.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSWorkerLocation.cpp
@@ -52,7 +52,7 @@ static const HashTableValue JSWorkerLocationTableValues[10] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSWorkerLocationTable =
+static JSC_CONST_HASHTABLE HashTable JSWorkerLocationTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 511, JSWorkerLocationTableValues, 0 };
#else
@@ -66,19 +66,19 @@ static const HashTableValue JSWorkerLocationConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSWorkerLocationConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSWorkerLocationConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSWorkerLocationConstructorTableValues, 0 };
#else
{ 1, 0, JSWorkerLocationConstructorTableValues, 0 };
#endif
-class JSWorkerLocationConstructor : public DOMObject {
+class JSWorkerLocationConstructor : public DOMConstructorObject {
public:
- JSWorkerLocationConstructor(ExecState* exec)
- : DOMObject(JSWorkerLocationConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSWorkerLocationConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSWorkerLocationConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSWorkerLocationPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSWorkerLocationPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -105,7 +105,7 @@ static const HashTableValue JSWorkerLocationPrototypeTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSWorkerLocationPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSWorkerLocationPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSWorkerLocationPrototypeTableValues, 0 };
#else
@@ -134,8 +134,8 @@ static const HashTable* getJSWorkerLocationTable(ExecState* exec)
}
const ClassInfo JSWorkerLocation::s_info = { "WorkerLocation", 0, 0, getJSWorkerLocationTable };
-JSWorkerLocation::JSWorkerLocation(PassRefPtr<Structure> structure, PassRefPtr<WorkerLocation> impl)
- : DOMObject(structure)
+JSWorkerLocation::JSWorkerLocation(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<WorkerLocation> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -157,67 +157,76 @@ bool JSWorkerLocation::getOwnPropertySlot(ExecState* exec, const Identifier& pro
JSValue jsWorkerLocationHref(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSWorkerLocation* castedThis = static_cast<JSWorkerLocation*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- WorkerLocation* imp = static_cast<WorkerLocation*>(static_cast<JSWorkerLocation*>(asObject(slot.slotBase()))->impl());
+ WorkerLocation* imp = static_cast<WorkerLocation*>(castedThis->impl());
return jsString(exec, imp->href());
}
JSValue jsWorkerLocationProtocol(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSWorkerLocation* castedThis = static_cast<JSWorkerLocation*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- WorkerLocation* imp = static_cast<WorkerLocation*>(static_cast<JSWorkerLocation*>(asObject(slot.slotBase()))->impl());
+ WorkerLocation* imp = static_cast<WorkerLocation*>(castedThis->impl());
return jsString(exec, imp->protocol());
}
JSValue jsWorkerLocationHost(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSWorkerLocation* castedThis = static_cast<JSWorkerLocation*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- WorkerLocation* imp = static_cast<WorkerLocation*>(static_cast<JSWorkerLocation*>(asObject(slot.slotBase()))->impl());
+ WorkerLocation* imp = static_cast<WorkerLocation*>(castedThis->impl());
return jsString(exec, imp->host());
}
JSValue jsWorkerLocationHostname(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSWorkerLocation* castedThis = static_cast<JSWorkerLocation*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- WorkerLocation* imp = static_cast<WorkerLocation*>(static_cast<JSWorkerLocation*>(asObject(slot.slotBase()))->impl());
+ WorkerLocation* imp = static_cast<WorkerLocation*>(castedThis->impl());
return jsString(exec, imp->hostname());
}
JSValue jsWorkerLocationPort(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSWorkerLocation* castedThis = static_cast<JSWorkerLocation*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- WorkerLocation* imp = static_cast<WorkerLocation*>(static_cast<JSWorkerLocation*>(asObject(slot.slotBase()))->impl());
+ WorkerLocation* imp = static_cast<WorkerLocation*>(castedThis->impl());
return jsString(exec, imp->port());
}
JSValue jsWorkerLocationPathname(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSWorkerLocation* castedThis = static_cast<JSWorkerLocation*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- WorkerLocation* imp = static_cast<WorkerLocation*>(static_cast<JSWorkerLocation*>(asObject(slot.slotBase()))->impl());
+ WorkerLocation* imp = static_cast<WorkerLocation*>(castedThis->impl());
return jsString(exec, imp->pathname());
}
JSValue jsWorkerLocationSearch(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSWorkerLocation* castedThis = static_cast<JSWorkerLocation*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- WorkerLocation* imp = static_cast<WorkerLocation*>(static_cast<JSWorkerLocation*>(asObject(slot.slotBase()))->impl());
+ WorkerLocation* imp = static_cast<WorkerLocation*>(castedThis->impl());
return jsString(exec, imp->search());
}
JSValue jsWorkerLocationHash(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSWorkerLocation* castedThis = static_cast<JSWorkerLocation*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- WorkerLocation* imp = static_cast<WorkerLocation*>(static_cast<JSWorkerLocation*>(asObject(slot.slotBase()))->impl());
+ WorkerLocation* imp = static_cast<WorkerLocation*>(castedThis->impl());
return jsString(exec, imp->hash());
}
JSValue jsWorkerLocationConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSWorkerLocation*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSWorkerLocation* domObject = static_cast<JSWorkerLocation*>(asObject(slot.slotBase()));
+ return JSWorkerLocation::getConstructor(exec, domObject->globalObject());
}
-JSValue JSWorkerLocation::getConstructor(ExecState* exec)
+JSValue JSWorkerLocation::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSWorkerLocationConstructor>(exec);
+ return getDOMConstructor<JSWorkerLocationConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsWorkerLocationPrototypeFunctionToString(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -233,9 +242,9 @@ JSValue JSC_HOST_CALL jsWorkerLocationPrototypeFunctionToString(ExecState* exec,
return result;
}
-JSC::JSValue toJS(JSC::ExecState* exec, WorkerLocation* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, WorkerLocation* object)
{
- return getDOMObjectWrapper<JSWorkerLocation>(exec, object);
+ return getDOMObjectWrapper<JSWorkerLocation>(exec, globalObject, object);
}
WorkerLocation* toWorkerLocation(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSWorkerLocation.h b/src/3rdparty/webkit/WebCore/generated/JSWorkerLocation.h
index cab657d..40c72c2 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSWorkerLocation.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSWorkerLocation.h
@@ -23,6 +23,7 @@
#if ENABLE(WORKERS)
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -31,10 +32,10 @@ namespace WebCore {
class WorkerLocation;
-class JSWorkerLocation : public DOMObject {
- typedef DOMObject Base;
+class JSWorkerLocation : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSWorkerLocation(PassRefPtr<JSC::Structure>, PassRefPtr<WorkerLocation>);
+ JSWorkerLocation(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<WorkerLocation>);
virtual ~JSWorkerLocation();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -46,14 +47,14 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
WorkerLocation* impl() const { return m_impl.get(); }
private:
RefPtr<WorkerLocation> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, WorkerLocation*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, WorkerLocation*);
WorkerLocation* toWorkerLocation(JSC::JSValue);
class JSWorkerLocationPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSWorkerNavigator.cpp b/src/3rdparty/webkit/WebCore/generated/JSWorkerNavigator.cpp
index 457f163..bc082b8 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSWorkerNavigator.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSWorkerNavigator.cpp
@@ -47,7 +47,7 @@ static const HashTableValue JSWorkerNavigatorTableValues[6] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSWorkerNavigatorTable =
+static JSC_CONST_HASHTABLE HashTable JSWorkerNavigatorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 511, JSWorkerNavigatorTableValues, 0 };
#else
@@ -61,7 +61,7 @@ static const HashTableValue JSWorkerNavigatorPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSWorkerNavigatorPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSWorkerNavigatorPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSWorkerNavigatorPrototypeTableValues, 0 };
#else
@@ -85,8 +85,8 @@ static const HashTable* getJSWorkerNavigatorTable(ExecState* exec)
}
const ClassInfo JSWorkerNavigator::s_info = { "WorkerNavigator", 0, 0, getJSWorkerNavigatorTable };
-JSWorkerNavigator::JSWorkerNavigator(PassRefPtr<Structure> structure, PassRefPtr<WorkerNavigator> impl)
- : DOMObject(structure)
+JSWorkerNavigator::JSWorkerNavigator(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<WorkerNavigator> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -108,42 +108,47 @@ bool JSWorkerNavigator::getOwnPropertySlot(ExecState* exec, const Identifier& pr
JSValue jsWorkerNavigatorAppName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSWorkerNavigator* castedThis = static_cast<JSWorkerNavigator*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- WorkerNavigator* imp = static_cast<WorkerNavigator*>(static_cast<JSWorkerNavigator*>(asObject(slot.slotBase()))->impl());
+ WorkerNavigator* imp = static_cast<WorkerNavigator*>(castedThis->impl());
return jsString(exec, imp->appName());
}
JSValue jsWorkerNavigatorAppVersion(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSWorkerNavigator* castedThis = static_cast<JSWorkerNavigator*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- WorkerNavigator* imp = static_cast<WorkerNavigator*>(static_cast<JSWorkerNavigator*>(asObject(slot.slotBase()))->impl());
+ WorkerNavigator* imp = static_cast<WorkerNavigator*>(castedThis->impl());
return jsString(exec, imp->appVersion());
}
JSValue jsWorkerNavigatorPlatform(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSWorkerNavigator* castedThis = static_cast<JSWorkerNavigator*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- WorkerNavigator* imp = static_cast<WorkerNavigator*>(static_cast<JSWorkerNavigator*>(asObject(slot.slotBase()))->impl());
+ WorkerNavigator* imp = static_cast<WorkerNavigator*>(castedThis->impl());
return jsString(exec, imp->platform());
}
JSValue jsWorkerNavigatorUserAgent(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSWorkerNavigator* castedThis = static_cast<JSWorkerNavigator*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- WorkerNavigator* imp = static_cast<WorkerNavigator*>(static_cast<JSWorkerNavigator*>(asObject(slot.slotBase()))->impl());
+ WorkerNavigator* imp = static_cast<WorkerNavigator*>(castedThis->impl());
return jsString(exec, imp->userAgent());
}
JSValue jsWorkerNavigatorOnLine(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSWorkerNavigator* castedThis = static_cast<JSWorkerNavigator*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- WorkerNavigator* imp = static_cast<WorkerNavigator*>(static_cast<JSWorkerNavigator*>(asObject(slot.slotBase()))->impl());
+ WorkerNavigator* imp = static_cast<WorkerNavigator*>(castedThis->impl());
return jsBoolean(imp->onLine());
}
-JSC::JSValue toJS(JSC::ExecState* exec, WorkerNavigator* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, WorkerNavigator* object)
{
- return getDOMObjectWrapper<JSWorkerNavigator>(exec, object);
+ return getDOMObjectWrapper<JSWorkerNavigator>(exec, globalObject, object);
}
WorkerNavigator* toWorkerNavigator(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSWorkerNavigator.h b/src/3rdparty/webkit/WebCore/generated/JSWorkerNavigator.h
index f07606c..a6c4046 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSWorkerNavigator.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSWorkerNavigator.h
@@ -23,6 +23,7 @@
#if ENABLE(WORKERS)
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -31,10 +32,10 @@ namespace WebCore {
class WorkerNavigator;
-class JSWorkerNavigator : public DOMObject {
- typedef DOMObject Base;
+class JSWorkerNavigator : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSWorkerNavigator(PassRefPtr<JSC::Structure>, PassRefPtr<WorkerNavigator>);
+ JSWorkerNavigator(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<WorkerNavigator>);
virtual ~JSWorkerNavigator();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -52,7 +53,7 @@ private:
RefPtr<WorkerNavigator> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, WorkerNavigator*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, WorkerNavigator*);
WorkerNavigator* toWorkerNavigator(JSC::JSValue);
class JSWorkerNavigatorPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSXMLHttpRequest.cpp b/src/3rdparty/webkit/WebCore/generated/JSXMLHttpRequest.cpp
index 1677954..1817d28 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSXMLHttpRequest.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSXMLHttpRequest.cpp
@@ -64,7 +64,7 @@ static const HashTableValue JSXMLHttpRequestTableValues[14] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSXMLHttpRequestTable =
+static JSC_CONST_HASHTABLE HashTable JSXMLHttpRequestTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 127, JSXMLHttpRequestTableValues, 0 };
#else
@@ -93,7 +93,7 @@ static const HashTableValue JSXMLHttpRequestPrototypeTableValues[16] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSXMLHttpRequestPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSXMLHttpRequestPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 1023, JSXMLHttpRequestPrototypeTableValues, 0 };
#else
@@ -122,8 +122,8 @@ static const HashTable* getJSXMLHttpRequestTable(ExecState* exec)
}
const ClassInfo JSXMLHttpRequest::s_info = { "XMLHttpRequest", 0, 0, getJSXMLHttpRequestTable };
-JSXMLHttpRequest::JSXMLHttpRequest(PassRefPtr<Structure> structure, PassRefPtr<XMLHttpRequest> impl)
- : DOMObject(structure)
+JSXMLHttpRequest::JSXMLHttpRequest(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<XMLHttpRequest> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -145,8 +145,9 @@ bool JSXMLHttpRequest::getOwnPropertySlot(ExecState* exec, const Identifier& pro
JSValue jsXMLHttpRequestOnabort(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSXMLHttpRequest* castedThis = static_cast<JSXMLHttpRequest*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- XMLHttpRequest* imp = static_cast<XMLHttpRequest*>(static_cast<JSXMLHttpRequest*>(asObject(slot.slotBase()))->impl());
+ XMLHttpRequest* imp = static_cast<XMLHttpRequest*>(castedThis->impl());
if (EventListener* listener = imp->onabort()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -156,8 +157,9 @@ JSValue jsXMLHttpRequestOnabort(ExecState* exec, const Identifier&, const Proper
JSValue jsXMLHttpRequestOnerror(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSXMLHttpRequest* castedThis = static_cast<JSXMLHttpRequest*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- XMLHttpRequest* imp = static_cast<XMLHttpRequest*>(static_cast<JSXMLHttpRequest*>(asObject(slot.slotBase()))->impl());
+ XMLHttpRequest* imp = static_cast<XMLHttpRequest*>(castedThis->impl());
if (EventListener* listener = imp->onerror()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -167,8 +169,9 @@ JSValue jsXMLHttpRequestOnerror(ExecState* exec, const Identifier&, const Proper
JSValue jsXMLHttpRequestOnload(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSXMLHttpRequest* castedThis = static_cast<JSXMLHttpRequest*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- XMLHttpRequest* imp = static_cast<XMLHttpRequest*>(static_cast<JSXMLHttpRequest*>(asObject(slot.slotBase()))->impl());
+ XMLHttpRequest* imp = static_cast<XMLHttpRequest*>(castedThis->impl());
if (EventListener* listener = imp->onload()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -178,8 +181,9 @@ JSValue jsXMLHttpRequestOnload(ExecState* exec, const Identifier&, const Propert
JSValue jsXMLHttpRequestOnloadstart(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSXMLHttpRequest* castedThis = static_cast<JSXMLHttpRequest*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- XMLHttpRequest* imp = static_cast<XMLHttpRequest*>(static_cast<JSXMLHttpRequest*>(asObject(slot.slotBase()))->impl());
+ XMLHttpRequest* imp = static_cast<XMLHttpRequest*>(castedThis->impl());
if (EventListener* listener = imp->onloadstart()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -189,8 +193,9 @@ JSValue jsXMLHttpRequestOnloadstart(ExecState* exec, const Identifier&, const Pr
JSValue jsXMLHttpRequestOnprogress(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSXMLHttpRequest* castedThis = static_cast<JSXMLHttpRequest*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- XMLHttpRequest* imp = static_cast<XMLHttpRequest*>(static_cast<JSXMLHttpRequest*>(asObject(slot.slotBase()))->impl());
+ XMLHttpRequest* imp = static_cast<XMLHttpRequest*>(castedThis->impl());
if (EventListener* listener = imp->onprogress()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -200,8 +205,9 @@ JSValue jsXMLHttpRequestOnprogress(ExecState* exec, const Identifier&, const Pro
JSValue jsXMLHttpRequestOnreadystatechange(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSXMLHttpRequest* castedThis = static_cast<JSXMLHttpRequest*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- XMLHttpRequest* imp = static_cast<XMLHttpRequest*>(static_cast<JSXMLHttpRequest*>(asObject(slot.slotBase()))->impl());
+ XMLHttpRequest* imp = static_cast<XMLHttpRequest*>(castedThis->impl());
if (EventListener* listener = imp->onreadystatechange()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -211,41 +217,47 @@ JSValue jsXMLHttpRequestOnreadystatechange(ExecState* exec, const Identifier&, c
JSValue jsXMLHttpRequestReadyState(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSXMLHttpRequest* castedThis = static_cast<JSXMLHttpRequest*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- XMLHttpRequest* imp = static_cast<XMLHttpRequest*>(static_cast<JSXMLHttpRequest*>(asObject(slot.slotBase()))->impl());
+ XMLHttpRequest* imp = static_cast<XMLHttpRequest*>(castedThis->impl());
return jsNumber(exec, imp->readyState());
}
JSValue jsXMLHttpRequestWithCredentials(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSXMLHttpRequest* castedThis = static_cast<JSXMLHttpRequest*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- XMLHttpRequest* imp = static_cast<XMLHttpRequest*>(static_cast<JSXMLHttpRequest*>(asObject(slot.slotBase()))->impl());
+ XMLHttpRequest* imp = static_cast<XMLHttpRequest*>(castedThis->impl());
return jsBoolean(imp->withCredentials());
}
JSValue jsXMLHttpRequestUpload(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSXMLHttpRequest* castedThis = static_cast<JSXMLHttpRequest*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- XMLHttpRequest* imp = static_cast<XMLHttpRequest*>(static_cast<JSXMLHttpRequest*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->upload()));
+ XMLHttpRequest* imp = static_cast<XMLHttpRequest*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->upload()));
}
JSValue jsXMLHttpRequestResponseText(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSXMLHttpRequest*>(asObject(slot.slotBase()))->responseText(exec);
+ JSXMLHttpRequest* castedThis = static_cast<JSXMLHttpRequest*>(asObject(slot.slotBase()));
+ return castedThis->responseText(exec);
}
JSValue jsXMLHttpRequestResponseXML(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSXMLHttpRequest* castedThis = static_cast<JSXMLHttpRequest*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- XMLHttpRequest* imp = static_cast<XMLHttpRequest*>(static_cast<JSXMLHttpRequest*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->responseXML()));
+ XMLHttpRequest* imp = static_cast<XMLHttpRequest*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->responseXML()));
}
JSValue jsXMLHttpRequestStatus(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSXMLHttpRequest* castedThis = static_cast<JSXMLHttpRequest*>(asObject(slot.slotBase()));
ExceptionCode ec = 0;
- XMLHttpRequest* imp = static_cast<XMLHttpRequest*>(static_cast<JSXMLHttpRequest*>(asObject(slot.slotBase()))->impl());
+ XMLHttpRequest* imp = static_cast<XMLHttpRequest*>(castedThis->impl());
JSC::JSValue result = jsNumber(exec, imp->status(ec));
setDOMException(exec, ec);
return result;
@@ -253,8 +265,9 @@ JSValue jsXMLHttpRequestStatus(ExecState* exec, const Identifier&, const Propert
JSValue jsXMLHttpRequestStatusText(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSXMLHttpRequest* castedThis = static_cast<JSXMLHttpRequest*>(asObject(slot.slotBase()));
ExceptionCode ec = 0;
- XMLHttpRequest* imp = static_cast<XMLHttpRequest*>(static_cast<JSXMLHttpRequest*>(asObject(slot.slotBase()))->impl());
+ XMLHttpRequest* imp = static_cast<XMLHttpRequest*>(castedThis->impl());
JSC::JSValue result = jsString(exec, imp->statusText(ec));
setDOMException(exec, ec);
return result;
@@ -466,9 +479,9 @@ JSValue jsXMLHttpRequestDONE(ExecState* exec, const Identifier&, const PropertyS
return jsNumber(exec, static_cast<int>(4));
}
-JSC::JSValue toJS(JSC::ExecState* exec, XMLHttpRequest* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, XMLHttpRequest* object)
{
- return getDOMObjectWrapper<JSXMLHttpRequest>(exec, object);
+ return getDOMObjectWrapper<JSXMLHttpRequest>(exec, globalObject, object);
}
XMLHttpRequest* toXMLHttpRequest(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSXMLHttpRequest.h b/src/3rdparty/webkit/WebCore/generated/JSXMLHttpRequest.h
index 9529b0d..b64b305 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSXMLHttpRequest.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSXMLHttpRequest.h
@@ -21,6 +21,7 @@
#ifndef JSXMLHttpRequest_h
#define JSXMLHttpRequest_h
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -29,10 +30,10 @@ namespace WebCore {
class XMLHttpRequest;
-class JSXMLHttpRequest : public DOMObject {
- typedef DOMObject Base;
+class JSXMLHttpRequest : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSXMLHttpRequest(PassRefPtr<JSC::Structure>, PassRefPtr<XMLHttpRequest>);
+ JSXMLHttpRequest(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<XMLHttpRequest>);
virtual ~JSXMLHttpRequest();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -65,7 +66,7 @@ private:
RefPtr<XMLHttpRequest> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, XMLHttpRequest*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, XMLHttpRequest*);
XMLHttpRequest* toXMLHttpRequest(JSC::JSValue);
class JSXMLHttpRequestPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSXMLHttpRequestException.cpp b/src/3rdparty/webkit/WebCore/generated/JSXMLHttpRequestException.cpp
index 34a5444..6f81324 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSXMLHttpRequestException.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSXMLHttpRequestException.cpp
@@ -45,7 +45,7 @@ static const HashTableValue JSXMLHttpRequestExceptionTableValues[5] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSXMLHttpRequestExceptionTable =
+static JSC_CONST_HASHTABLE HashTable JSXMLHttpRequestExceptionTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 127, JSXMLHttpRequestExceptionTableValues, 0 };
#else
@@ -61,19 +61,19 @@ static const HashTableValue JSXMLHttpRequestExceptionConstructorTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSXMLHttpRequestExceptionConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSXMLHttpRequestExceptionConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 1, JSXMLHttpRequestExceptionConstructorTableValues, 0 };
#else
{ 4, 3, JSXMLHttpRequestExceptionConstructorTableValues, 0 };
#endif
-class JSXMLHttpRequestExceptionConstructor : public DOMObject {
+class JSXMLHttpRequestExceptionConstructor : public DOMConstructorObject {
public:
- JSXMLHttpRequestExceptionConstructor(ExecState* exec)
- : DOMObject(JSXMLHttpRequestExceptionConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSXMLHttpRequestExceptionConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSXMLHttpRequestExceptionConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSXMLHttpRequestExceptionPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSXMLHttpRequestExceptionPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -102,7 +102,7 @@ static const HashTableValue JSXMLHttpRequestExceptionPrototypeTableValues[4] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSXMLHttpRequestExceptionPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSXMLHttpRequestExceptionPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 3, JSXMLHttpRequestExceptionPrototypeTableValues, 0 };
#else
@@ -131,8 +131,8 @@ static const HashTable* getJSXMLHttpRequestExceptionTable(ExecState* exec)
}
const ClassInfo JSXMLHttpRequestException::s_info = { "XMLHttpRequestException", 0, 0, getJSXMLHttpRequestExceptionTable };
-JSXMLHttpRequestException::JSXMLHttpRequestException(PassRefPtr<Structure> structure, PassRefPtr<XMLHttpRequestException> impl)
- : DOMObject(structure)
+JSXMLHttpRequestException::JSXMLHttpRequestException(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<XMLHttpRequestException> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -154,32 +154,36 @@ bool JSXMLHttpRequestException::getOwnPropertySlot(ExecState* exec, const Identi
JSValue jsXMLHttpRequestExceptionCode(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSXMLHttpRequestException* castedThis = static_cast<JSXMLHttpRequestException*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- XMLHttpRequestException* imp = static_cast<XMLHttpRequestException*>(static_cast<JSXMLHttpRequestException*>(asObject(slot.slotBase()))->impl());
+ XMLHttpRequestException* imp = static_cast<XMLHttpRequestException*>(castedThis->impl());
return jsNumber(exec, imp->code());
}
JSValue jsXMLHttpRequestExceptionName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSXMLHttpRequestException* castedThis = static_cast<JSXMLHttpRequestException*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- XMLHttpRequestException* imp = static_cast<XMLHttpRequestException*>(static_cast<JSXMLHttpRequestException*>(asObject(slot.slotBase()))->impl());
+ XMLHttpRequestException* imp = static_cast<XMLHttpRequestException*>(castedThis->impl());
return jsString(exec, imp->name());
}
JSValue jsXMLHttpRequestExceptionMessage(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSXMLHttpRequestException* castedThis = static_cast<JSXMLHttpRequestException*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- XMLHttpRequestException* imp = static_cast<XMLHttpRequestException*>(static_cast<JSXMLHttpRequestException*>(asObject(slot.slotBase()))->impl());
+ XMLHttpRequestException* imp = static_cast<XMLHttpRequestException*>(castedThis->impl());
return jsString(exec, imp->message());
}
JSValue jsXMLHttpRequestExceptionConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSXMLHttpRequestException*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSXMLHttpRequestException* domObject = static_cast<JSXMLHttpRequestException*>(asObject(slot.slotBase()));
+ return JSXMLHttpRequestException::getConstructor(exec, domObject->globalObject());
}
-JSValue JSXMLHttpRequestException::getConstructor(ExecState* exec)
+JSValue JSXMLHttpRequestException::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSXMLHttpRequestExceptionConstructor>(exec);
+ return getDOMConstructor<JSXMLHttpRequestExceptionConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsXMLHttpRequestExceptionPrototypeFunctionToString(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -207,9 +211,9 @@ JSValue jsXMLHttpRequestExceptionABORT_ERR(ExecState* exec, const Identifier&, c
return jsNumber(exec, static_cast<int>(102));
}
-JSC::JSValue toJS(JSC::ExecState* exec, XMLHttpRequestException* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, XMLHttpRequestException* object)
{
- return getDOMObjectWrapper<JSXMLHttpRequestException>(exec, object);
+ return getDOMObjectWrapper<JSXMLHttpRequestException>(exec, globalObject, object);
}
XMLHttpRequestException* toXMLHttpRequestException(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSXMLHttpRequestException.h b/src/3rdparty/webkit/WebCore/generated/JSXMLHttpRequestException.h
index 52f26bf..4923f6f 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSXMLHttpRequestException.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSXMLHttpRequestException.h
@@ -21,6 +21,7 @@
#ifndef JSXMLHttpRequestException_h
#define JSXMLHttpRequestException_h
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -29,10 +30,10 @@ namespace WebCore {
class XMLHttpRequestException;
-class JSXMLHttpRequestException : public DOMObject {
- typedef DOMObject Base;
+class JSXMLHttpRequestException : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSXMLHttpRequestException(PassRefPtr<JSC::Structure>, PassRefPtr<XMLHttpRequestException>);
+ JSXMLHttpRequestException(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<XMLHttpRequestException>);
virtual ~JSXMLHttpRequestException();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -44,14 +45,14 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
XMLHttpRequestException* impl() const { return m_impl.get(); }
private:
RefPtr<XMLHttpRequestException> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, XMLHttpRequestException*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, XMLHttpRequestException*);
XMLHttpRequestException* toXMLHttpRequestException(JSC::JSValue);
class JSXMLHttpRequestExceptionPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSXMLHttpRequestProgressEvent.cpp b/src/3rdparty/webkit/WebCore/generated/JSXMLHttpRequestProgressEvent.cpp
index 4882570..12c1329 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSXMLHttpRequestProgressEvent.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSXMLHttpRequestProgressEvent.cpp
@@ -41,7 +41,7 @@ static const HashTableValue JSXMLHttpRequestProgressEventTableValues[4] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSXMLHttpRequestProgressEventTable =
+static JSC_CONST_HASHTABLE HashTable JSXMLHttpRequestProgressEventTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSXMLHttpRequestProgressEventTableValues, 0 };
#else
@@ -55,19 +55,19 @@ static const HashTableValue JSXMLHttpRequestProgressEventConstructorTableValues[
{ 0, 0, 0, 0 }
};
-static const HashTable JSXMLHttpRequestProgressEventConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSXMLHttpRequestProgressEventConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSXMLHttpRequestProgressEventConstructorTableValues, 0 };
#else
{ 1, 0, JSXMLHttpRequestProgressEventConstructorTableValues, 0 };
#endif
-class JSXMLHttpRequestProgressEventConstructor : public DOMObject {
+class JSXMLHttpRequestProgressEventConstructor : public DOMConstructorObject {
public:
- JSXMLHttpRequestProgressEventConstructor(ExecState* exec)
- : DOMObject(JSXMLHttpRequestProgressEventConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSXMLHttpRequestProgressEventConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSXMLHttpRequestProgressEventConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSXMLHttpRequestProgressEventPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSXMLHttpRequestProgressEventPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -93,7 +93,7 @@ static const HashTableValue JSXMLHttpRequestProgressEventPrototypeTableValues[1]
{ 0, 0, 0, 0 }
};
-static const HashTable JSXMLHttpRequestProgressEventPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSXMLHttpRequestProgressEventPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSXMLHttpRequestProgressEventPrototypeTableValues, 0 };
#else
@@ -117,8 +117,8 @@ static const HashTable* getJSXMLHttpRequestProgressEventTable(ExecState* exec)
}
const ClassInfo JSXMLHttpRequestProgressEvent::s_info = { "XMLHttpRequestProgressEvent", &JSProgressEvent::s_info, 0, getJSXMLHttpRequestProgressEventTable };
-JSXMLHttpRequestProgressEvent::JSXMLHttpRequestProgressEvent(PassRefPtr<Structure> structure, PassRefPtr<XMLHttpRequestProgressEvent> impl)
- : JSProgressEvent(structure, impl)
+JSXMLHttpRequestProgressEvent::JSXMLHttpRequestProgressEvent(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<XMLHttpRequestProgressEvent> impl)
+ : JSProgressEvent(structure, globalObject, impl)
{
}
@@ -134,25 +134,28 @@ bool JSXMLHttpRequestProgressEvent::getOwnPropertySlot(ExecState* exec, const Id
JSValue jsXMLHttpRequestProgressEventPosition(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSXMLHttpRequestProgressEvent* castedThis = static_cast<JSXMLHttpRequestProgressEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- XMLHttpRequestProgressEvent* imp = static_cast<XMLHttpRequestProgressEvent*>(static_cast<JSXMLHttpRequestProgressEvent*>(asObject(slot.slotBase()))->impl());
+ XMLHttpRequestProgressEvent* imp = static_cast<XMLHttpRequestProgressEvent*>(castedThis->impl());
return jsNumber(exec, imp->position());
}
JSValue jsXMLHttpRequestProgressEventTotalSize(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSXMLHttpRequestProgressEvent* castedThis = static_cast<JSXMLHttpRequestProgressEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- XMLHttpRequestProgressEvent* imp = static_cast<XMLHttpRequestProgressEvent*>(static_cast<JSXMLHttpRequestProgressEvent*>(asObject(slot.slotBase()))->impl());
+ XMLHttpRequestProgressEvent* imp = static_cast<XMLHttpRequestProgressEvent*>(castedThis->impl());
return jsNumber(exec, imp->totalSize());
}
JSValue jsXMLHttpRequestProgressEventConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSXMLHttpRequestProgressEvent*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSXMLHttpRequestProgressEvent* domObject = static_cast<JSXMLHttpRequestProgressEvent*>(asObject(slot.slotBase()));
+ return JSXMLHttpRequestProgressEvent::getConstructor(exec, domObject->globalObject());
}
-JSValue JSXMLHttpRequestProgressEvent::getConstructor(ExecState* exec)
+JSValue JSXMLHttpRequestProgressEvent::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSXMLHttpRequestProgressEventConstructor>(exec);
+ return getDOMConstructor<JSXMLHttpRequestProgressEventConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSXMLHttpRequestProgressEvent.h b/src/3rdparty/webkit/WebCore/generated/JSXMLHttpRequestProgressEvent.h
index 45ce610..d1ff5f6 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSXMLHttpRequestProgressEvent.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSXMLHttpRequestProgressEvent.h
@@ -30,7 +30,7 @@ class XMLHttpRequestProgressEvent;
class JSXMLHttpRequestProgressEvent : public JSProgressEvent {
typedef JSProgressEvent Base;
public:
- JSXMLHttpRequestProgressEvent(PassRefPtr<JSC::Structure>, PassRefPtr<XMLHttpRequestProgressEvent>);
+ JSXMLHttpRequestProgressEvent(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<XMLHttpRequestProgressEvent>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
@@ -41,7 +41,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSXMLHttpRequestUpload.cpp b/src/3rdparty/webkit/WebCore/generated/JSXMLHttpRequestUpload.cpp
index 34942b0..b72aefa 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSXMLHttpRequestUpload.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSXMLHttpRequestUpload.cpp
@@ -50,7 +50,7 @@ static const HashTableValue JSXMLHttpRequestUploadTableValues[7] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSXMLHttpRequestUploadTable =
+static JSC_CONST_HASHTABLE HashTable JSXMLHttpRequestUploadTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSXMLHttpRequestUploadTableValues, 0 };
#else
@@ -64,19 +64,19 @@ static const HashTableValue JSXMLHttpRequestUploadConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSXMLHttpRequestUploadConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSXMLHttpRequestUploadConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSXMLHttpRequestUploadConstructorTableValues, 0 };
#else
{ 1, 0, JSXMLHttpRequestUploadConstructorTableValues, 0 };
#endif
-class JSXMLHttpRequestUploadConstructor : public DOMObject {
+class JSXMLHttpRequestUploadConstructor : public DOMConstructorObject {
public:
- JSXMLHttpRequestUploadConstructor(ExecState* exec)
- : DOMObject(JSXMLHttpRequestUploadConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSXMLHttpRequestUploadConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSXMLHttpRequestUploadConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSXMLHttpRequestUploadPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSXMLHttpRequestUploadPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -105,7 +105,7 @@ static const HashTableValue JSXMLHttpRequestUploadPrototypeTableValues[4] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSXMLHttpRequestUploadPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSXMLHttpRequestUploadPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 3, JSXMLHttpRequestUploadPrototypeTableValues, 0 };
#else
@@ -134,8 +134,8 @@ static const HashTable* getJSXMLHttpRequestUploadTable(ExecState* exec)
}
const ClassInfo JSXMLHttpRequestUpload::s_info = { "XMLHttpRequestUpload", 0, 0, getJSXMLHttpRequestUploadTable };
-JSXMLHttpRequestUpload::JSXMLHttpRequestUpload(PassRefPtr<Structure> structure, PassRefPtr<XMLHttpRequestUpload> impl)
- : DOMObject(structure)
+JSXMLHttpRequestUpload::JSXMLHttpRequestUpload(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<XMLHttpRequestUpload> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -157,8 +157,9 @@ bool JSXMLHttpRequestUpload::getOwnPropertySlot(ExecState* exec, const Identifie
JSValue jsXMLHttpRequestUploadOnabort(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSXMLHttpRequestUpload* castedThis = static_cast<JSXMLHttpRequestUpload*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- XMLHttpRequestUpload* imp = static_cast<XMLHttpRequestUpload*>(static_cast<JSXMLHttpRequestUpload*>(asObject(slot.slotBase()))->impl());
+ XMLHttpRequestUpload* imp = static_cast<XMLHttpRequestUpload*>(castedThis->impl());
if (EventListener* listener = imp->onabort()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -168,8 +169,9 @@ JSValue jsXMLHttpRequestUploadOnabort(ExecState* exec, const Identifier&, const
JSValue jsXMLHttpRequestUploadOnerror(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSXMLHttpRequestUpload* castedThis = static_cast<JSXMLHttpRequestUpload*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- XMLHttpRequestUpload* imp = static_cast<XMLHttpRequestUpload*>(static_cast<JSXMLHttpRequestUpload*>(asObject(slot.slotBase()))->impl());
+ XMLHttpRequestUpload* imp = static_cast<XMLHttpRequestUpload*>(castedThis->impl());
if (EventListener* listener = imp->onerror()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -179,8 +181,9 @@ JSValue jsXMLHttpRequestUploadOnerror(ExecState* exec, const Identifier&, const
JSValue jsXMLHttpRequestUploadOnload(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSXMLHttpRequestUpload* castedThis = static_cast<JSXMLHttpRequestUpload*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- XMLHttpRequestUpload* imp = static_cast<XMLHttpRequestUpload*>(static_cast<JSXMLHttpRequestUpload*>(asObject(slot.slotBase()))->impl());
+ XMLHttpRequestUpload* imp = static_cast<XMLHttpRequestUpload*>(castedThis->impl());
if (EventListener* listener = imp->onload()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -190,8 +193,9 @@ JSValue jsXMLHttpRequestUploadOnload(ExecState* exec, const Identifier&, const P
JSValue jsXMLHttpRequestUploadOnloadstart(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSXMLHttpRequestUpload* castedThis = static_cast<JSXMLHttpRequestUpload*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- XMLHttpRequestUpload* imp = static_cast<XMLHttpRequestUpload*>(static_cast<JSXMLHttpRequestUpload*>(asObject(slot.slotBase()))->impl());
+ XMLHttpRequestUpload* imp = static_cast<XMLHttpRequestUpload*>(castedThis->impl());
if (EventListener* listener = imp->onloadstart()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -201,8 +205,9 @@ JSValue jsXMLHttpRequestUploadOnloadstart(ExecState* exec, const Identifier&, co
JSValue jsXMLHttpRequestUploadOnprogress(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSXMLHttpRequestUpload* castedThis = static_cast<JSXMLHttpRequestUpload*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- XMLHttpRequestUpload* imp = static_cast<XMLHttpRequestUpload*>(static_cast<JSXMLHttpRequestUpload*>(asObject(slot.slotBase()))->impl());
+ XMLHttpRequestUpload* imp = static_cast<XMLHttpRequestUpload*>(castedThis->impl());
if (EventListener* listener = imp->onprogress()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -212,7 +217,8 @@ JSValue jsXMLHttpRequestUploadOnprogress(ExecState* exec, const Identifier&, con
JSValue jsXMLHttpRequestUploadConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSXMLHttpRequestUpload*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSXMLHttpRequestUpload* domObject = static_cast<JSXMLHttpRequestUpload*>(asObject(slot.slotBase()));
+ return JSXMLHttpRequestUpload::getConstructor(exec, domObject->globalObject());
}
void JSXMLHttpRequestUpload::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -269,9 +275,9 @@ void setJSXMLHttpRequestUploadOnprogress(ExecState* exec, JSObject* thisObject,
imp->setOnprogress(globalObject->createJSAttributeEventListener(value));
}
-JSValue JSXMLHttpRequestUpload::getConstructor(ExecState* exec)
+JSValue JSXMLHttpRequestUpload::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSXMLHttpRequestUploadConstructor>(exec);
+ return getDOMConstructor<JSXMLHttpRequestUploadConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsXMLHttpRequestUploadPrototypeFunctionAddEventListener(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -308,9 +314,9 @@ JSValue JSC_HOST_CALL jsXMLHttpRequestUploadPrototypeFunctionDispatchEvent(ExecS
return result;
}
-JSC::JSValue toJS(JSC::ExecState* exec, XMLHttpRequestUpload* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, XMLHttpRequestUpload* object)
{
- return getDOMObjectWrapper<JSXMLHttpRequestUpload>(exec, object);
+ return getDOMObjectWrapper<JSXMLHttpRequestUpload>(exec, globalObject, object);
}
XMLHttpRequestUpload* toXMLHttpRequestUpload(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSXMLHttpRequestUpload.h b/src/3rdparty/webkit/WebCore/generated/JSXMLHttpRequestUpload.h
index ed0313e..eca3e0e 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSXMLHttpRequestUpload.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSXMLHttpRequestUpload.h
@@ -21,6 +21,7 @@
#ifndef JSXMLHttpRequestUpload_h
#define JSXMLHttpRequestUpload_h
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -29,10 +30,10 @@ namespace WebCore {
class XMLHttpRequestUpload;
-class JSXMLHttpRequestUpload : public DOMObject {
- typedef DOMObject Base;
+class JSXMLHttpRequestUpload : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSXMLHttpRequestUpload(PassRefPtr<JSC::Structure>, PassRefPtr<XMLHttpRequestUpload>);
+ JSXMLHttpRequestUpload(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<XMLHttpRequestUpload>);
virtual ~JSXMLHttpRequestUpload();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -47,7 +48,7 @@ public:
virtual void mark();
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
// Custom functions
JSC::JSValue addEventListener(JSC::ExecState*, const JSC::ArgList&);
@@ -58,7 +59,7 @@ private:
RefPtr<XMLHttpRequestUpload> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, XMLHttpRequestUpload*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, XMLHttpRequestUpload*);
XMLHttpRequestUpload* toXMLHttpRequestUpload(JSC::JSValue);
class JSXMLHttpRequestUploadPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSXMLSerializer.cpp b/src/3rdparty/webkit/WebCore/generated/JSXMLSerializer.cpp
index 211f027..5816fd0 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSXMLSerializer.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSXMLSerializer.cpp
@@ -42,7 +42,7 @@ static const HashTableValue JSXMLSerializerTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSXMLSerializerTable =
+static JSC_CONST_HASHTABLE HashTable JSXMLSerializerTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSXMLSerializerTableValues, 0 };
#else
@@ -56,19 +56,19 @@ static const HashTableValue JSXMLSerializerConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSXMLSerializerConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSXMLSerializerConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSXMLSerializerConstructorTableValues, 0 };
#else
{ 1, 0, JSXMLSerializerConstructorTableValues, 0 };
#endif
-class JSXMLSerializerConstructor : public DOMObject {
+class JSXMLSerializerConstructor : public DOMConstructorObject {
public:
- JSXMLSerializerConstructor(ExecState* exec)
- : DOMObject(JSXMLSerializerConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSXMLSerializerConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSXMLSerializerConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSXMLSerializerPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSXMLSerializerPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -78,13 +78,13 @@ public:
{
return Structure::create(proto, TypeInfo(ObjectType, ImplementsHasInstance));
}
- static JSObject* construct(ExecState* exec, JSObject*, const ArgList&)
+ static JSObject* constructXMLSerializer(ExecState* exec, JSObject* constructor, const ArgList&)
{
- return asObject(toJS(exec, XMLSerializer::create()));
+ return asObject(toJS(exec, static_cast<JSXMLSerializerConstructor*>(constructor)->globalObject(), XMLSerializer::create()));
}
virtual ConstructType getConstructData(ConstructData& constructData)
{
- constructData.native.function = construct;
+ constructData.native.function = constructXMLSerializer;
return ConstructTypeHost;
}
};
@@ -104,7 +104,7 @@ static const HashTableValue JSXMLSerializerPrototypeTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSXMLSerializerPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSXMLSerializerPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSXMLSerializerPrototypeTableValues, 0 };
#else
@@ -125,8 +125,8 @@ bool JSXMLSerializerPrototype::getOwnPropertySlot(ExecState* exec, const Identif
const ClassInfo JSXMLSerializer::s_info = { "XMLSerializer", 0, &JSXMLSerializerTable, 0 };
-JSXMLSerializer::JSXMLSerializer(PassRefPtr<Structure> structure, PassRefPtr<XMLSerializer> impl)
- : DOMObject(structure)
+JSXMLSerializer::JSXMLSerializer(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<XMLSerializer> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -148,11 +148,12 @@ bool JSXMLSerializer::getOwnPropertySlot(ExecState* exec, const Identifier& prop
JSValue jsXMLSerializerConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSXMLSerializer*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSXMLSerializer* domObject = static_cast<JSXMLSerializer*>(asObject(slot.slotBase()));
+ return JSXMLSerializer::getConstructor(exec, domObject->globalObject());
}
-JSValue JSXMLSerializer::getConstructor(ExecState* exec)
+JSValue JSXMLSerializer::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSXMLSerializerConstructor>(exec);
+ return getDOMConstructor<JSXMLSerializerConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsXMLSerializerPrototypeFunctionSerializeToString(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -171,9 +172,9 @@ JSValue JSC_HOST_CALL jsXMLSerializerPrototypeFunctionSerializeToString(ExecStat
return result;
}
-JSC::JSValue toJS(JSC::ExecState* exec, XMLSerializer* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, XMLSerializer* object)
{
- return getDOMObjectWrapper<JSXMLSerializer>(exec, object);
+ return getDOMObjectWrapper<JSXMLSerializer>(exec, globalObject, object);
}
XMLSerializer* toXMLSerializer(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSXMLSerializer.h b/src/3rdparty/webkit/WebCore/generated/JSXMLSerializer.h
index c973455..9f4fabc 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSXMLSerializer.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSXMLSerializer.h
@@ -21,6 +21,7 @@
#ifndef JSXMLSerializer_h
#define JSXMLSerializer_h
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -29,10 +30,10 @@ namespace WebCore {
class XMLSerializer;
-class JSXMLSerializer : public DOMObject {
- typedef DOMObject Base;
+class JSXMLSerializer : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSXMLSerializer(PassRefPtr<JSC::Structure>, PassRefPtr<XMLSerializer>);
+ JSXMLSerializer(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<XMLSerializer>);
virtual ~JSXMLSerializer();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -44,14 +45,14 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
XMLSerializer* impl() const { return m_impl.get(); }
private:
RefPtr<XMLSerializer> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, XMLSerializer*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, XMLSerializer*);
XMLSerializer* toXMLSerializer(JSC::JSValue);
class JSXMLSerializerPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSXPathEvaluator.cpp b/src/3rdparty/webkit/WebCore/generated/JSXPathEvaluator.cpp
index 6103329..be242bd 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSXPathEvaluator.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSXPathEvaluator.cpp
@@ -51,7 +51,7 @@ static const HashTableValue JSXPathEvaluatorTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSXPathEvaluatorTable =
+static JSC_CONST_HASHTABLE HashTable JSXPathEvaluatorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSXPathEvaluatorTableValues, 0 };
#else
@@ -65,19 +65,19 @@ static const HashTableValue JSXPathEvaluatorConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSXPathEvaluatorConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSXPathEvaluatorConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSXPathEvaluatorConstructorTableValues, 0 };
#else
{ 1, 0, JSXPathEvaluatorConstructorTableValues, 0 };
#endif
-class JSXPathEvaluatorConstructor : public DOMObject {
+class JSXPathEvaluatorConstructor : public DOMConstructorObject {
public:
- JSXPathEvaluatorConstructor(ExecState* exec)
- : DOMObject(JSXPathEvaluatorConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSXPathEvaluatorConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSXPathEvaluatorConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSXPathEvaluatorPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSXPathEvaluatorPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -87,13 +87,13 @@ public:
{
return Structure::create(proto, TypeInfo(ObjectType, ImplementsHasInstance));
}
- static JSObject* construct(ExecState* exec, JSObject*, const ArgList&)
+ static JSObject* constructXPathEvaluator(ExecState* exec, JSObject* constructor, const ArgList&)
{
- return asObject(toJS(exec, XPathEvaluator::create()));
+ return asObject(toJS(exec, static_cast<JSXPathEvaluatorConstructor*>(constructor)->globalObject(), XPathEvaluator::create()));
}
virtual ConstructType getConstructData(ConstructData& constructData)
{
- constructData.native.function = construct;
+ constructData.native.function = constructXPathEvaluator;
return ConstructTypeHost;
}
};
@@ -115,7 +115,7 @@ static const HashTableValue JSXPathEvaluatorPrototypeTableValues[4] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSXPathEvaluatorPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSXPathEvaluatorPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 3, JSXPathEvaluatorPrototypeTableValues, 0 };
#else
@@ -136,8 +136,8 @@ bool JSXPathEvaluatorPrototype::getOwnPropertySlot(ExecState* exec, const Identi
const ClassInfo JSXPathEvaluator::s_info = { "XPathEvaluator", 0, &JSXPathEvaluatorTable, 0 };
-JSXPathEvaluator::JSXPathEvaluator(PassRefPtr<Structure> structure, PassRefPtr<XPathEvaluator> impl)
- : DOMObject(structure)
+JSXPathEvaluator::JSXPathEvaluator(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<XPathEvaluator> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -159,11 +159,12 @@ bool JSXPathEvaluator::getOwnPropertySlot(ExecState* exec, const Identifier& pro
JSValue jsXPathEvaluatorConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSXPathEvaluator*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSXPathEvaluator* domObject = static_cast<JSXPathEvaluator*>(asObject(slot.slotBase()));
+ return JSXPathEvaluator::getConstructor(exec, domObject->globalObject());
}
-JSValue JSXPathEvaluator::getConstructor(ExecState* exec)
+JSValue JSXPathEvaluator::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSXPathEvaluatorConstructor>(exec);
+ return getDOMConstructor<JSXPathEvaluatorConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsXPathEvaluatorPrototypeFunctionCreateExpression(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -185,7 +186,7 @@ JSValue JSC_HOST_CALL jsXPathEvaluatorPrototypeFunctionCreateExpression(ExecStat
}
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->createExpression(expression, resolver, ec)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->createExpression(expression, resolver, ec)));
setDOMException(exec, ec);
return result;
}
@@ -200,7 +201,7 @@ JSValue JSC_HOST_CALL jsXPathEvaluatorPrototypeFunctionCreateNSResolver(ExecStat
Node* nodeResolver = toNode(args.at(0));
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->createNSResolver(nodeResolver)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->createNSResolver(nodeResolver)));
return result;
}
@@ -226,14 +227,14 @@ JSValue JSC_HOST_CALL jsXPathEvaluatorPrototypeFunctionEvaluate(ExecState* exec,
XPathResult* inResult = toXPathResult(args.at(4));
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->evaluate(expression, contextNode, resolver, type, inResult, ec)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->evaluate(expression, contextNode, resolver, type, inResult, ec)));
setDOMException(exec, ec);
return result;
}
-JSC::JSValue toJS(JSC::ExecState* exec, XPathEvaluator* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, XPathEvaluator* object)
{
- return getDOMObjectWrapper<JSXPathEvaluator>(exec, object);
+ return getDOMObjectWrapper<JSXPathEvaluator>(exec, globalObject, object);
}
XPathEvaluator* toXPathEvaluator(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSXPathEvaluator.h b/src/3rdparty/webkit/WebCore/generated/JSXPathEvaluator.h
index be11874..3a860dc 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSXPathEvaluator.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSXPathEvaluator.h
@@ -23,6 +23,7 @@
#if ENABLE(XPATH)
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -31,10 +32,10 @@ namespace WebCore {
class XPathEvaluator;
-class JSXPathEvaluator : public DOMObject {
- typedef DOMObject Base;
+class JSXPathEvaluator : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSXPathEvaluator(PassRefPtr<JSC::Structure>, PassRefPtr<XPathEvaluator>);
+ JSXPathEvaluator(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<XPathEvaluator>);
virtual ~JSXPathEvaluator();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -46,14 +47,14 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
XPathEvaluator* impl() const { return m_impl.get(); }
private:
RefPtr<XPathEvaluator> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, XPathEvaluator*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, XPathEvaluator*);
XPathEvaluator* toXPathEvaluator(JSC::JSValue);
class JSXPathEvaluatorPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSXPathException.cpp b/src/3rdparty/webkit/WebCore/generated/JSXPathException.cpp
index 82518b1..f4864f9 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSXPathException.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSXPathException.cpp
@@ -48,7 +48,7 @@ static const HashTableValue JSXPathExceptionTableValues[5] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSXPathExceptionTable =
+static JSC_CONST_HASHTABLE HashTable JSXPathExceptionTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 127, JSXPathExceptionTableValues, 0 };
#else
@@ -64,19 +64,19 @@ static const HashTableValue JSXPathExceptionConstructorTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSXPathExceptionConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSXPathExceptionConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 3, JSXPathExceptionConstructorTableValues, 0 };
#else
{ 4, 3, JSXPathExceptionConstructorTableValues, 0 };
#endif
-class JSXPathExceptionConstructor : public DOMObject {
+class JSXPathExceptionConstructor : public DOMConstructorObject {
public:
- JSXPathExceptionConstructor(ExecState* exec)
- : DOMObject(JSXPathExceptionConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSXPathExceptionConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSXPathExceptionConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSXPathExceptionPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSXPathExceptionPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -105,7 +105,7 @@ static const HashTableValue JSXPathExceptionPrototypeTableValues[4] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSXPathExceptionPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSXPathExceptionPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 3, JSXPathExceptionPrototypeTableValues, 0 };
#else
@@ -126,8 +126,8 @@ bool JSXPathExceptionPrototype::getOwnPropertySlot(ExecState* exec, const Identi
const ClassInfo JSXPathException::s_info = { "XPathException", 0, &JSXPathExceptionTable, 0 };
-JSXPathException::JSXPathException(PassRefPtr<Structure> structure, PassRefPtr<XPathException> impl)
- : DOMObject(structure)
+JSXPathException::JSXPathException(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<XPathException> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -149,32 +149,36 @@ bool JSXPathException::getOwnPropertySlot(ExecState* exec, const Identifier& pro
JSValue jsXPathExceptionCode(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSXPathException* castedThis = static_cast<JSXPathException*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- XPathException* imp = static_cast<XPathException*>(static_cast<JSXPathException*>(asObject(slot.slotBase()))->impl());
+ XPathException* imp = static_cast<XPathException*>(castedThis->impl());
return jsNumber(exec, imp->code());
}
JSValue jsXPathExceptionName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSXPathException* castedThis = static_cast<JSXPathException*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- XPathException* imp = static_cast<XPathException*>(static_cast<JSXPathException*>(asObject(slot.slotBase()))->impl());
+ XPathException* imp = static_cast<XPathException*>(castedThis->impl());
return jsString(exec, imp->name());
}
JSValue jsXPathExceptionMessage(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSXPathException* castedThis = static_cast<JSXPathException*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- XPathException* imp = static_cast<XPathException*>(static_cast<JSXPathException*>(asObject(slot.slotBase()))->impl());
+ XPathException* imp = static_cast<XPathException*>(castedThis->impl());
return jsString(exec, imp->message());
}
JSValue jsXPathExceptionConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSXPathException*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSXPathException* domObject = static_cast<JSXPathException*>(asObject(slot.slotBase()));
+ return JSXPathException::getConstructor(exec, domObject->globalObject());
}
-JSValue JSXPathException::getConstructor(ExecState* exec)
+JSValue JSXPathException::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSXPathExceptionConstructor>(exec);
+ return getDOMConstructor<JSXPathExceptionConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsXPathExceptionPrototypeFunctionToString(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -202,9 +206,9 @@ JSValue jsXPathExceptionTYPE_ERR(ExecState* exec, const Identifier&, const Prope
return jsNumber(exec, static_cast<int>(52));
}
-JSC::JSValue toJS(JSC::ExecState* exec, XPathException* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, XPathException* object)
{
- return getDOMObjectWrapper<JSXPathException>(exec, object);
+ return getDOMObjectWrapper<JSXPathException>(exec, globalObject, object);
}
XPathException* toXPathException(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSXPathException.h b/src/3rdparty/webkit/WebCore/generated/JSXPathException.h
index 023e6a2..370ef36 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSXPathException.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSXPathException.h
@@ -23,6 +23,7 @@
#if ENABLE(XPATH)
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -31,10 +32,10 @@ namespace WebCore {
class XPathException;
-class JSXPathException : public DOMObject {
- typedef DOMObject Base;
+class JSXPathException : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSXPathException(PassRefPtr<JSC::Structure>, PassRefPtr<XPathException>);
+ JSXPathException(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<XPathException>);
virtual ~JSXPathException();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -46,14 +47,14 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
XPathException* impl() const { return m_impl.get(); }
private:
RefPtr<XPathException> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, XPathException*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, XPathException*);
XPathException* toXPathException(JSC::JSValue);
class JSXPathExceptionPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSXPathExpression.cpp b/src/3rdparty/webkit/WebCore/generated/JSXPathExpression.cpp
index fd945fe..286b257 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSXPathExpression.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSXPathExpression.cpp
@@ -45,7 +45,7 @@ static const HashTableValue JSXPathExpressionTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSXPathExpressionTable =
+static JSC_CONST_HASHTABLE HashTable JSXPathExpressionTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSXPathExpressionTableValues, 0 };
#else
@@ -59,19 +59,19 @@ static const HashTableValue JSXPathExpressionConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSXPathExpressionConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSXPathExpressionConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSXPathExpressionConstructorTableValues, 0 };
#else
{ 1, 0, JSXPathExpressionConstructorTableValues, 0 };
#endif
-class JSXPathExpressionConstructor : public DOMObject {
+class JSXPathExpressionConstructor : public DOMConstructorObject {
public:
- JSXPathExpressionConstructor(ExecState* exec)
- : DOMObject(JSXPathExpressionConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSXPathExpressionConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSXPathExpressionConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSXPathExpressionPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSXPathExpressionPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -98,7 +98,7 @@ static const HashTableValue JSXPathExpressionPrototypeTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSXPathExpressionPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSXPathExpressionPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSXPathExpressionPrototypeTableValues, 0 };
#else
@@ -119,8 +119,8 @@ bool JSXPathExpressionPrototype::getOwnPropertySlot(ExecState* exec, const Ident
const ClassInfo JSXPathExpression::s_info = { "XPathExpression", 0, &JSXPathExpressionTable, 0 };
-JSXPathExpression::JSXPathExpression(PassRefPtr<Structure> structure, PassRefPtr<XPathExpression> impl)
- : DOMObject(structure)
+JSXPathExpression::JSXPathExpression(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<XPathExpression> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -142,11 +142,12 @@ bool JSXPathExpression::getOwnPropertySlot(ExecState* exec, const Identifier& pr
JSValue jsXPathExpressionConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSXPathExpression*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSXPathExpression* domObject = static_cast<JSXPathExpression*>(asObject(slot.slotBase()));
+ return JSXPathExpression::getConstructor(exec, domObject->globalObject());
}
-JSValue JSXPathExpression::getConstructor(ExecState* exec)
+JSValue JSXPathExpression::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSXPathExpressionConstructor>(exec);
+ return getDOMConstructor<JSXPathExpressionConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsXPathExpressionPrototypeFunctionEvaluate(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -162,14 +163,14 @@ JSValue JSC_HOST_CALL jsXPathExpressionPrototypeFunctionEvaluate(ExecState* exec
XPathResult* inResult = toXPathResult(args.at(2));
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->evaluate(contextNode, type, inResult, ec)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->evaluate(contextNode, type, inResult, ec)));
setDOMException(exec, ec);
return result;
}
-JSC::JSValue toJS(JSC::ExecState* exec, XPathExpression* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, XPathExpression* object)
{
- return getDOMObjectWrapper<JSXPathExpression>(exec, object);
+ return getDOMObjectWrapper<JSXPathExpression>(exec, globalObject, object);
}
XPathExpression* toXPathExpression(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSXPathExpression.h b/src/3rdparty/webkit/WebCore/generated/JSXPathExpression.h
index 9102894..082560c 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSXPathExpression.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSXPathExpression.h
@@ -23,6 +23,7 @@
#if ENABLE(XPATH)
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -31,10 +32,10 @@ namespace WebCore {
class XPathExpression;
-class JSXPathExpression : public DOMObject {
- typedef DOMObject Base;
+class JSXPathExpression : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSXPathExpression(PassRefPtr<JSC::Structure>, PassRefPtr<XPathExpression>);
+ JSXPathExpression(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<XPathExpression>);
virtual ~JSXPathExpression();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -46,14 +47,14 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
XPathExpression* impl() const { return m_impl.get(); }
private:
RefPtr<XPathExpression> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, XPathExpression*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, XPathExpression*);
XPathExpression* toXPathExpression(JSC::JSValue);
class JSXPathExpressionPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSXPathNSResolver.cpp b/src/3rdparty/webkit/WebCore/generated/JSXPathNSResolver.cpp
index 550c85e..2943d17 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSXPathNSResolver.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSXPathNSResolver.cpp
@@ -45,7 +45,7 @@ static const HashTableValue JSXPathNSResolverPrototypeTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSXPathNSResolverPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSXPathNSResolverPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSXPathNSResolverPrototypeTableValues, 0 };
#else
@@ -66,8 +66,8 @@ bool JSXPathNSResolverPrototype::getOwnPropertySlot(ExecState* exec, const Ident
const ClassInfo JSXPathNSResolver::s_info = { "XPathNSResolver", 0, 0, 0 };
-JSXPathNSResolver::JSXPathNSResolver(PassRefPtr<Structure> structure, PassRefPtr<XPathNSResolver> impl)
- : DOMObject(structure)
+JSXPathNSResolver::JSXPathNSResolver(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<XPathNSResolver> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -96,9 +96,9 @@ JSValue JSC_HOST_CALL jsXPathNSResolverPrototypeFunctionLookupNamespaceURI(ExecS
return result;
}
-JSC::JSValue toJS(JSC::ExecState* exec, XPathNSResolver* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, XPathNSResolver* object)
{
- return getDOMObjectWrapper<JSXPathNSResolver>(exec, object);
+ return getDOMObjectWrapper<JSXPathNSResolver>(exec, globalObject, object);
}
XPathNSResolver* toXPathNSResolver(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSXPathNSResolver.h b/src/3rdparty/webkit/WebCore/generated/JSXPathNSResolver.h
index e829c71..f0bb95b 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSXPathNSResolver.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSXPathNSResolver.h
@@ -23,6 +23,7 @@
#if ENABLE(XPATH)
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -31,10 +32,10 @@ namespace WebCore {
class XPathNSResolver;
-class JSXPathNSResolver : public DOMObject {
- typedef DOMObject Base;
+class JSXPathNSResolver : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSXPathNSResolver(PassRefPtr<JSC::Structure>, PassRefPtr<XPathNSResolver>);
+ JSXPathNSResolver(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<XPathNSResolver>);
virtual ~JSXPathNSResolver();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
@@ -46,7 +47,7 @@ private:
RefPtr<XPathNSResolver> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, XPathNSResolver*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, XPathNSResolver*);
XPathNSResolver* toXPathNSResolver(JSC::JSValue);
class JSXPathNSResolverPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSXPathResult.cpp b/src/3rdparty/webkit/WebCore/generated/JSXPathResult.cpp
index cecdf90..c969067 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSXPathResult.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSXPathResult.cpp
@@ -54,7 +54,7 @@ static const HashTableValue JSXPathResultTableValues[9] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSXPathResultTable =
+static JSC_CONST_HASHTABLE HashTable JSXPathResultTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 63, JSXPathResultTableValues, 0 };
#else
@@ -78,19 +78,19 @@ static const HashTableValue JSXPathResultConstructorTableValues[11] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSXPathResultConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSXPathResultConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 127, JSXPathResultConstructorTableValues, 0 };
#else
{ 33, 31, JSXPathResultConstructorTableValues, 0 };
#endif
-class JSXPathResultConstructor : public DOMObject {
+class JSXPathResultConstructor : public DOMConstructorObject {
public:
- JSXPathResultConstructor(ExecState* exec)
- : DOMObject(JSXPathResultConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSXPathResultConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSXPathResultConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSXPathResultPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSXPathResultPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -128,7 +128,7 @@ static const HashTableValue JSXPathResultPrototypeTableValues[13] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSXPathResultPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSXPathResultPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 127, JSXPathResultPrototypeTableValues, 0 };
#else
@@ -149,8 +149,8 @@ bool JSXPathResultPrototype::getOwnPropertySlot(ExecState* exec, const Identifie
const ClassInfo JSXPathResult::s_info = { "XPathResult", 0, &JSXPathResultTable, 0 };
-JSXPathResult::JSXPathResult(PassRefPtr<Structure> structure, PassRefPtr<XPathResult> impl)
- : DOMObject(structure)
+JSXPathResult::JSXPathResult(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<XPathResult> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -172,15 +172,17 @@ bool JSXPathResult::getOwnPropertySlot(ExecState* exec, const Identifier& proper
JSValue jsXPathResultResultType(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSXPathResult* castedThis = static_cast<JSXPathResult*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- XPathResult* imp = static_cast<XPathResult*>(static_cast<JSXPathResult*>(asObject(slot.slotBase()))->impl());
+ XPathResult* imp = static_cast<XPathResult*>(castedThis->impl());
return jsNumber(exec, imp->resultType());
}
JSValue jsXPathResultNumberValue(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSXPathResult* castedThis = static_cast<JSXPathResult*>(asObject(slot.slotBase()));
ExceptionCode ec = 0;
- XPathResult* imp = static_cast<XPathResult*>(static_cast<JSXPathResult*>(asObject(slot.slotBase()))->impl());
+ XPathResult* imp = static_cast<XPathResult*>(castedThis->impl());
JSC::JSValue result = jsNumber(exec, imp->numberValue(ec));
setDOMException(exec, ec);
return result;
@@ -188,8 +190,9 @@ JSValue jsXPathResultNumberValue(ExecState* exec, const Identifier&, const Prope
JSValue jsXPathResultStringValue(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSXPathResult* castedThis = static_cast<JSXPathResult*>(asObject(slot.slotBase()));
ExceptionCode ec = 0;
- XPathResult* imp = static_cast<XPathResult*>(static_cast<JSXPathResult*>(asObject(slot.slotBase()))->impl());
+ XPathResult* imp = static_cast<XPathResult*>(castedThis->impl());
JSC::JSValue result = jsString(exec, imp->stringValue(ec));
setDOMException(exec, ec);
return result;
@@ -197,8 +200,9 @@ JSValue jsXPathResultStringValue(ExecState* exec, const Identifier&, const Prope
JSValue jsXPathResultBooleanValue(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSXPathResult* castedThis = static_cast<JSXPathResult*>(asObject(slot.slotBase()));
ExceptionCode ec = 0;
- XPathResult* imp = static_cast<XPathResult*>(static_cast<JSXPathResult*>(asObject(slot.slotBase()))->impl());
+ XPathResult* imp = static_cast<XPathResult*>(castedThis->impl());
JSC::JSValue result = jsBoolean(imp->booleanValue(ec));
setDOMException(exec, ec);
return result;
@@ -206,24 +210,27 @@ JSValue jsXPathResultBooleanValue(ExecState* exec, const Identifier&, const Prop
JSValue jsXPathResultSingleNodeValue(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSXPathResult* castedThis = static_cast<JSXPathResult*>(asObject(slot.slotBase()));
ExceptionCode ec = 0;
- XPathResult* imp = static_cast<XPathResult*>(static_cast<JSXPathResult*>(asObject(slot.slotBase()))->impl());
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->singleNodeValue(ec)));
+ XPathResult* imp = static_cast<XPathResult*>(castedThis->impl());
+ JSC::JSValue result = toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->singleNodeValue(ec)));
setDOMException(exec, ec);
return result;
}
JSValue jsXPathResultInvalidIteratorState(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSXPathResult* castedThis = static_cast<JSXPathResult*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- XPathResult* imp = static_cast<XPathResult*>(static_cast<JSXPathResult*>(asObject(slot.slotBase()))->impl());
+ XPathResult* imp = static_cast<XPathResult*>(castedThis->impl());
return jsBoolean(imp->invalidIteratorState());
}
JSValue jsXPathResultSnapshotLength(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSXPathResult* castedThis = static_cast<JSXPathResult*>(asObject(slot.slotBase()));
ExceptionCode ec = 0;
- XPathResult* imp = static_cast<XPathResult*>(static_cast<JSXPathResult*>(asObject(slot.slotBase()))->impl());
+ XPathResult* imp = static_cast<XPathResult*>(castedThis->impl());
JSC::JSValue result = jsNumber(exec, imp->snapshotLength(ec));
setDOMException(exec, ec);
return result;
@@ -231,11 +238,12 @@ JSValue jsXPathResultSnapshotLength(ExecState* exec, const Identifier&, const Pr
JSValue jsXPathResultConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSXPathResult*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSXPathResult* domObject = static_cast<JSXPathResult*>(asObject(slot.slotBase()));
+ return JSXPathResult::getConstructor(exec, domObject->globalObject());
}
-JSValue JSXPathResult::getConstructor(ExecState* exec)
+JSValue JSXPathResult::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSXPathResultConstructor>(exec);
+ return getDOMConstructor<JSXPathResultConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsXPathResultPrototypeFunctionIterateNext(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -248,7 +256,7 @@ JSValue JSC_HOST_CALL jsXPathResultPrototypeFunctionIterateNext(ExecState* exec,
ExceptionCode ec = 0;
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->iterateNext(ec)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->iterateNext(ec)));
setDOMException(exec, ec);
return result;
}
@@ -264,7 +272,7 @@ JSValue JSC_HOST_CALL jsXPathResultPrototypeFunctionSnapshotItem(ExecState* exec
unsigned index = args.at(0).toInt32(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->snapshotItem(index, ec)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->snapshotItem(index, ec)));
setDOMException(exec, ec);
return result;
}
@@ -321,9 +329,9 @@ JSValue jsXPathResultFIRST_ORDERED_NODE_TYPE(ExecState* exec, const Identifier&,
return jsNumber(exec, static_cast<int>(9));
}
-JSC::JSValue toJS(JSC::ExecState* exec, XPathResult* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, XPathResult* object)
{
- return getDOMObjectWrapper<JSXPathResult>(exec, object);
+ return getDOMObjectWrapper<JSXPathResult>(exec, globalObject, object);
}
XPathResult* toXPathResult(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSXPathResult.h b/src/3rdparty/webkit/WebCore/generated/JSXPathResult.h
index 0f07f80..c63c32f 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSXPathResult.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSXPathResult.h
@@ -23,6 +23,7 @@
#if ENABLE(XPATH)
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -31,10 +32,10 @@ namespace WebCore {
class XPathResult;
-class JSXPathResult : public DOMObject {
- typedef DOMObject Base;
+class JSXPathResult : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSXPathResult(PassRefPtr<JSC::Structure>, PassRefPtr<XPathResult>);
+ JSXPathResult(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<XPathResult>);
virtual ~JSXPathResult();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -46,14 +47,14 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
XPathResult* impl() const { return m_impl.get(); }
private:
RefPtr<XPathResult> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, XPathResult*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, XPathResult*);
XPathResult* toXPathResult(JSC::JSValue);
class JSXPathResultPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/Lexer.lut.h b/src/3rdparty/webkit/WebCore/generated/Lexer.lut.h
index 4c46e07..2cf7617 100644
--- a/src/3rdparty/webkit/WebCore/generated/Lexer.lut.h
+++ b/src/3rdparty/webkit/WebCore/generated/Lexer.lut.h
@@ -44,6 +44,6 @@ static const struct HashTableValue mainTableValues[37] = {
{ 0, 0, 0, 0 }
};
-extern const struct HashTable mainTable =
+extern JSC_CONST_HASHTABLE HashTable mainTable =
{ 133, 127, mainTableValues, 0 };
} // namespace
diff --git a/src/3rdparty/webkit/WebCore/generated/MathObject.lut.h b/src/3rdparty/webkit/WebCore/generated/MathObject.lut.h
index c8359c1..ce76857 100644
--- a/src/3rdparty/webkit/WebCore/generated/MathObject.lut.h
+++ b/src/3rdparty/webkit/WebCore/generated/MathObject.lut.h
@@ -26,6 +26,6 @@ static const struct HashTableValue mathTableValues[19] = {
{ 0, 0, 0, 0 }
};
-extern const struct HashTable mathTable =
+extern JSC_CONST_HASHTABLE HashTable mathTable =
{ 67, 63, mathTableValues, 0 };
} // namespace
diff --git a/src/3rdparty/webkit/WebCore/generated/NumberConstructor.lut.h b/src/3rdparty/webkit/WebCore/generated/NumberConstructor.lut.h
index 6879c03..d1155ae 100644
--- a/src/3rdparty/webkit/WebCore/generated/NumberConstructor.lut.h
+++ b/src/3rdparty/webkit/WebCore/generated/NumberConstructor.lut.h
@@ -13,6 +13,6 @@ static const struct HashTableValue numberTableValues[6] = {
{ 0, 0, 0, 0 }
};
-extern const struct HashTable numberTable =
+extern JSC_CONST_HASHTABLE HashTable numberTable =
{ 16, 15, numberTableValues, 0 };
} // namespace
diff --git a/src/3rdparty/webkit/WebCore/generated/RegExpConstructor.lut.h b/src/3rdparty/webkit/WebCore/generated/RegExpConstructor.lut.h
index 0bdf10c..eea201c 100644
--- a/src/3rdparty/webkit/WebCore/generated/RegExpConstructor.lut.h
+++ b/src/3rdparty/webkit/WebCore/generated/RegExpConstructor.lut.h
@@ -29,6 +29,6 @@ static const struct HashTableValue regExpConstructorTableValues[22] = {
{ 0, 0, 0, 0 }
};
-extern const struct HashTable regExpConstructorTable =
+extern JSC_CONST_HASHTABLE HashTable regExpConstructorTable =
{ 65, 63, regExpConstructorTableValues, 0 };
} // namespace
diff --git a/src/3rdparty/webkit/WebCore/generated/RegExpObject.lut.h b/src/3rdparty/webkit/WebCore/generated/RegExpObject.lut.h
index 69a745d..146aec0 100644
--- a/src/3rdparty/webkit/WebCore/generated/RegExpObject.lut.h
+++ b/src/3rdparty/webkit/WebCore/generated/RegExpObject.lut.h
@@ -13,6 +13,6 @@ static const struct HashTableValue regExpTableValues[6] = {
{ 0, 0, 0, 0 }
};
-extern const struct HashTable regExpTable =
+extern JSC_CONST_HASHTABLE HashTable regExpTable =
{ 17, 15, regExpTableValues, 0 };
} // namespace
diff --git a/src/3rdparty/webkit/WebCore/generated/StringPrototype.lut.h b/src/3rdparty/webkit/WebCore/generated/StringPrototype.lut.h
index aa044fa..bbbd75e 100644
--- a/src/3rdparty/webkit/WebCore/generated/StringPrototype.lut.h
+++ b/src/3rdparty/webkit/WebCore/generated/StringPrototype.lut.h
@@ -40,6 +40,6 @@ static const struct HashTableValue stringTableValues[33] = {
{ 0, 0, 0, 0 }
};
-extern const struct HashTable stringTable =
+extern JSC_CONST_HASHTABLE HashTable stringTable =
{ 71, 63, stringTableValues, 0 };
} // namespace
diff --git a/src/3rdparty/webkit/WebCore/generated/UserAgentStyleSheets.h b/src/3rdparty/webkit/WebCore/generated/UserAgentStyleSheets.h
index 6c53189..dfc9f6d 100644
--- a/src/3rdparty/webkit/WebCore/generated/UserAgentStyleSheets.h
+++ b/src/3rdparty/webkit/WebCore/generated/UserAgentStyleSheets.h
@@ -1,8 +1,8 @@
namespace WebCore {
-extern const char html4UserAgentStyleSheet[8585];
+extern const char htmlUserAgentStyleSheet[8548];
extern const char quirksUserAgentStyleSheet[359];
extern const char svgUserAgentStyleSheet[358];
extern const char sourceUserAgentStyleSheet[2004];
extern const char wmlUserAgentStyleSheet[2956];
-extern const char mediaControlsUserAgentStyleSheet[1999];
+extern const char mediaControlsUserAgentStyleSheet[2346];
}
diff --git a/src/3rdparty/webkit/WebCore/generated/UserAgentStyleSheetsData.cpp b/src/3rdparty/webkit/WebCore/generated/UserAgentStyleSheetsData.cpp
index efc6b9a..53f1f84 100644
--- a/src/3rdparty/webkit/WebCore/generated/UserAgentStyleSheetsData.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/UserAgentStyleSheetsData.cpp
@@ -1,5 +1,5 @@
namespace WebCore {
-extern const char html4UserAgentStyleSheet[8585] = {
+extern const char htmlUserAgentStyleSheet[8548] = {
110, 97, 109, 101, 115, 112, 97, 99, 101, 32, 34, 104, 116, 116, 112, 58,
47, 47, 119, 119, 119, 46, 119, 51, 46, 111, 114, 103, 47, 49, 57, 57,
57, 47, 120, 104, 116, 109, 108, 34, 59, 32, 104, 116, 109, 108, 32, 123,
@@ -256,287 +256,285 @@ extern const char html4UserAgentStyleSheet[8585] = {
120, 45, 111, 114, 105, 101, 110, 116, 58, 32, 118, 101, 114, 116, 105, 99,
97, 108, 59, 32, 114, 101, 115, 105, 122, 101, 58, 32, 97, 117, 116, 111,
59, 32, 99, 117, 114, 115, 111, 114, 58, 32, 97, 117, 116, 111, 59, 32,
- 112, 97, 100, 100, 105, 110, 103, 58, 32, 50, 112, 120, 59, 32, 125, 32,
- 105, 110, 112, 117, 116, 58, 58, 45, 119, 101, 98, 107, 105, 116, 45, 105,
- 110, 112, 117, 116, 45, 112, 108, 97, 99, 101, 104, 111, 108, 100, 101, 114,
- 44, 32, 105, 115, 105, 110, 100, 101, 120, 58, 58, 45, 119, 101, 98, 107,
- 105, 116, 45, 105, 110, 112, 117, 116, 45, 112, 108, 97, 99, 101, 104, 111,
- 108, 100, 101, 114, 32, 123, 32, 99, 111, 108, 111, 114, 58, 32, 100, 97,
- 114, 107, 71, 114, 97, 121, 59, 32, 125, 32, 105, 110, 112, 117, 116, 91,
- 116, 121, 112, 101, 61, 34, 112, 97, 115, 115, 119, 111, 114, 100, 34, 93,
- 32, 123, 32, 45, 119, 101, 98, 107, 105, 116, 45, 116, 101, 120, 116, 45,
- 115, 101, 99, 117, 114, 105, 116, 121, 58, 32, 100, 105, 115, 99, 32, 33,
- 105, 109, 112, 111, 114, 116, 97, 110, 116, 59, 32, 125, 32, 105, 110, 112,
- 117, 116, 91, 116, 121, 112, 101, 61, 34, 104, 105, 100, 100, 101, 110, 34,
- 93, 44, 32, 105, 110, 112, 117, 116, 91, 116, 121, 112, 101, 61, 34, 105,
- 109, 97, 103, 101, 34, 93, 44, 32, 105, 110, 112, 117, 116, 91, 116, 121,
+ 112, 97, 100, 100, 105, 110, 103, 58, 32, 50, 112, 120, 59, 32, 119, 104,
+ 105, 116, 101, 45, 115, 112, 97, 99, 101, 58, 32, 112, 114, 101, 45, 119,
+ 114, 97, 112, 59, 32, 119, 111, 114, 100, 45, 119, 114, 97, 112, 58, 32,
+ 98, 114, 101, 97, 107, 45, 119, 111, 114, 100, 59, 32, 125, 32, 105, 110,
+ 112, 117, 116, 58, 58, 45, 119, 101, 98, 107, 105, 116, 45, 105, 110, 112,
+ 117, 116, 45, 112, 108, 97, 99, 101, 104, 111, 108, 100, 101, 114, 44, 32,
+ 105, 115, 105, 110, 100, 101, 120, 58, 58, 45, 119, 101, 98, 107, 105, 116,
+ 45, 105, 110, 112, 117, 116, 45, 112, 108, 97, 99, 101, 104, 111, 108, 100,
+ 101, 114, 32, 123, 32, 99, 111, 108, 111, 114, 58, 32, 100, 97, 114, 107,
+ 71, 114, 97, 121, 59, 32, 125, 32, 105, 110, 112, 117, 116, 91, 116, 121,
+ 112, 101, 61, 34, 112, 97, 115, 115, 119, 111, 114, 100, 34, 93, 32, 123,
+ 32, 45, 119, 101, 98, 107, 105, 116, 45, 116, 101, 120, 116, 45, 115, 101,
+ 99, 117, 114, 105, 116, 121, 58, 32, 100, 105, 115, 99, 32, 33, 105, 109,
+ 112, 111, 114, 116, 97, 110, 116, 59, 32, 125, 32, 105, 110, 112, 117, 116,
+ 91, 116, 121, 112, 101, 61, 34, 104, 105, 100, 100, 101, 110, 34, 93, 44,
+ 32, 105, 110, 112, 117, 116, 91, 116, 121, 112, 101, 61, 34, 105, 109, 97,
+ 103, 101, 34, 93, 44, 32, 105, 110, 112, 117, 116, 91, 116, 121, 112, 101,
+ 61, 34, 102, 105, 108, 101, 34, 93, 32, 123, 32, 45, 119, 101, 98, 107,
+ 105, 116, 45, 97, 112, 112, 101, 97, 114, 97, 110, 99, 101, 58, 32, 105,
+ 110, 105, 116, 105, 97, 108, 59, 32, 112, 97, 100, 100, 105, 110, 103, 58,
+ 32, 105, 110, 105, 116, 105, 97, 108, 59, 32, 98, 97, 99, 107, 103, 114,
+ 111, 117, 110, 100, 45, 99, 111, 108, 111, 114, 58, 32, 105, 110, 105, 116,
+ 105, 97, 108, 59, 32, 98, 111, 114, 100, 101, 114, 58, 32, 105, 110, 105,
+ 116, 105, 97, 108, 59, 32, 125, 32, 105, 110, 112, 117, 116, 91, 116, 121,
112, 101, 61, 34, 102, 105, 108, 101, 34, 93, 32, 123, 32, 45, 119, 101,
- 98, 107, 105, 116, 45, 97, 112, 112, 101, 97, 114, 97, 110, 99, 101, 58,
- 32, 105, 110, 105, 116, 105, 97, 108, 59, 32, 112, 97, 100, 100, 105, 110,
+ 98, 107, 105, 116, 45, 98, 111, 120, 45, 97, 108, 105, 103, 110, 58, 32,
+ 98, 97, 115, 101, 108, 105, 110, 101, 59, 32, 116, 101, 120, 116, 45, 97,
+ 108, 105, 103, 110, 58, 32, 115, 116, 97, 114, 116, 32, 33, 105, 109, 112,
+ 111, 114, 116, 97, 110, 116, 59, 32, 125, 32, 105, 110, 112, 117, 116, 58,
+ 45, 119, 101, 98, 107, 105, 116, 45, 97, 117, 116, 111, 102, 105, 108, 108,
+ 32, 123, 32, 98, 97, 99, 107, 103, 114, 111, 117, 110, 100, 45, 99, 111,
+ 108, 111, 114, 58, 32, 98, 97, 99, 107, 103, 114, 111, 117, 110, 100, 45,
+ 105, 109, 97, 103, 101, 58, 110, 111, 110, 101, 32, 33, 105, 109, 112, 111,
+ 114, 116, 97, 110, 116, 59, 32, 125, 32, 105, 110, 112, 117, 116, 91, 116,
+ 121, 112, 101, 61, 34, 114, 97, 100, 105, 111, 34, 93, 44, 32, 105, 110,
+ 112, 117, 116, 91, 116, 121, 112, 101, 61, 34, 99, 104, 101, 99, 107, 98,
+ 111, 120, 34, 93, 32, 123, 32, 109, 97, 114, 103, 105, 110, 58, 32, 51,
+ 112, 120, 32, 48, 46, 53, 101, 120, 59, 32, 112, 97, 100, 100, 105, 110,
103, 58, 32, 105, 110, 105, 116, 105, 97, 108, 59, 32, 98, 97, 99, 107,
103, 114, 111, 117, 110, 100, 45, 99, 111, 108, 111, 114, 58, 32, 105, 110,
105, 116, 105, 97, 108, 59, 32, 98, 111, 114, 100, 101, 114, 58, 32, 105,
110, 105, 116, 105, 97, 108, 59, 32, 125, 32, 105, 110, 112, 117, 116, 91,
- 116, 121, 112, 101, 61, 34, 102, 105, 108, 101, 34, 93, 32, 123, 32, 45,
- 119, 101, 98, 107, 105, 116, 45, 98, 111, 120, 45, 97, 108, 105, 103, 110,
- 58, 32, 98, 97, 115, 101, 108, 105, 110, 101, 59, 32, 116, 101, 120, 116,
- 45, 97, 108, 105, 103, 110, 58, 32, 115, 116, 97, 114, 116, 32, 33, 105,
- 109, 112, 111, 114, 116, 97, 110, 116, 59, 32, 125, 32, 105, 110, 112, 117,
- 116, 58, 45, 119, 101, 98, 107, 105, 116, 45, 97, 117, 116, 111, 102, 105,
- 108, 108, 32, 123, 32, 98, 97, 99, 107, 103, 114, 111, 117, 110, 100, 45,
- 99, 111, 108, 111, 114, 58, 32, 98, 97, 99, 107, 103, 114, 111, 117, 110,
- 100, 45, 105, 109, 97, 103, 101, 58, 110, 111, 110, 101, 32, 33, 105, 109,
- 112, 111, 114, 116, 97, 110, 116, 59, 32, 125, 32, 105, 110, 112, 117, 116,
- 91, 116, 121, 112, 101, 61, 34, 114, 97, 100, 105, 111, 34, 93, 44, 32,
- 105, 110, 112, 117, 116, 91, 116, 121, 112, 101, 61, 34, 99, 104, 101, 99,
- 107, 98, 111, 120, 34, 93, 32, 123, 32, 109, 97, 114, 103, 105, 110, 58,
- 32, 51, 112, 120, 32, 48, 46, 53, 101, 120, 59, 32, 112, 97, 100, 100,
- 105, 110, 103, 58, 32, 105, 110, 105, 116, 105, 97, 108, 59, 32, 98, 97,
- 99, 107, 103, 114, 111, 117, 110, 100, 45, 99, 111, 108, 111, 114, 58, 32,
- 105, 110, 105, 116, 105, 97, 108, 59, 32, 98, 111, 114, 100, 101, 114, 58,
- 32, 105, 110, 105, 116, 105, 97, 108, 59, 32, 125, 32, 105, 110, 112, 117,
- 116, 91, 116, 121, 112, 101, 61, 34, 98, 117, 116, 116, 111, 110, 34, 93,
- 44, 32, 105, 110, 112, 117, 116, 91, 116, 121, 112, 101, 61, 34, 115, 117,
- 98, 109, 105, 116, 34, 93, 44, 32, 105, 110, 112, 117, 116, 91, 116, 121,
- 112, 101, 61, 34, 114, 101, 115, 101, 116, 34, 93, 44, 32, 105, 110, 112,
- 117, 116, 91, 116, 121, 112, 101, 61, 34, 102, 105, 108, 101, 34, 93, 58,
- 58, 45, 119, 101, 98, 107, 105, 116, 45, 102, 105, 108, 101, 45, 117, 112,
- 108, 111, 97, 100, 45, 98, 117, 116, 116, 111, 110, 32, 123, 32, 45, 119,
- 101, 98, 107, 105, 116, 45, 97, 112, 112, 101, 97, 114, 97, 110, 99, 101,
- 58, 32, 112, 117, 115, 104, 45, 98, 117, 116, 116, 111, 110, 59, 32, 119,
- 104, 105, 116, 101, 45, 115, 112, 97, 99, 101, 58, 32, 112, 114, 101, 32,
- 125, 32, 105, 110, 112, 117, 116, 91, 116, 121, 112, 101, 61, 34, 98, 117,
- 116, 116, 111, 110, 34, 93, 44, 32, 105, 110, 112, 117, 116, 91, 116, 121,
- 112, 101, 61, 34, 115, 117, 98, 109, 105, 116, 34, 93, 44, 32, 105, 110,
- 112, 117, 116, 91, 116, 121, 112, 101, 61, 34, 114, 101, 115, 101, 116, 34,
- 93, 44, 32, 105, 110, 112, 117, 116, 91, 116, 121, 112, 101, 61, 34, 102,
- 105, 108, 101, 34, 93, 58, 58, 45, 119, 101, 98, 107, 105, 116, 45, 102,
- 105, 108, 101, 45, 117, 112, 108, 111, 97, 100, 45, 98, 117, 116, 116, 111,
- 110, 44, 32, 98, 117, 116, 116, 111, 110, 32, 123, 32, 45, 119, 101, 98,
- 107, 105, 116, 45, 98, 111, 120, 45, 97, 108, 105, 103, 110, 58, 32, 99,
- 101, 110, 116, 101, 114, 59, 32, 116, 101, 120, 116, 45, 97, 108, 105, 103,
- 110, 58, 32, 99, 101, 110, 116, 101, 114, 59, 32, 99, 117, 114, 115, 111,
- 114, 58, 32, 100, 101, 102, 97, 117, 108, 116, 59, 32, 99, 111, 108, 111,
- 114, 58, 32, 66, 117, 116, 116, 111, 110, 84, 101, 120, 116, 59, 32, 112,
- 97, 100, 100, 105, 110, 103, 58, 32, 50, 112, 120, 32, 54, 112, 120, 32,
- 51, 112, 120, 32, 54, 112, 120, 59, 32, 98, 111, 114, 100, 101, 114, 58,
- 32, 50, 112, 120, 32, 111, 117, 116, 115, 101, 116, 32, 66, 117, 116, 116,
- 111, 110, 70, 97, 99, 101, 59, 32, 98, 97, 99, 107, 103, 114, 111, 117,
- 110, 100, 45, 99, 111, 108, 111, 114, 58, 32, 66, 117, 116, 116, 111, 110,
- 70, 97, 99, 101, 59, 32, 45, 119, 101, 98, 107, 105, 116, 45, 98, 111,
- 120, 45, 115, 105, 122, 105, 110, 103, 58, 32, 98, 111, 114, 100, 101, 114,
- 45, 98, 111, 120, 32, 125, 32, 105, 110, 112, 117, 116, 91, 116, 121, 112,
- 101, 61, 34, 114, 97, 110, 103, 101, 34, 93, 32, 123, 32, 45, 119, 101,
- 98, 107, 105, 116, 45, 97, 112, 112, 101, 97, 114, 97, 110, 99, 101, 58,
- 32, 115, 108, 105, 100, 101, 114, 45, 104, 111, 114, 105, 122, 111, 110, 116,
- 97, 108, 59, 32, 112, 97, 100, 100, 105, 110, 103, 58, 32, 105, 110, 105,
- 116, 105, 97, 108, 59, 32, 98, 111, 114, 100, 101, 114, 58, 32, 105, 110,
- 105, 116, 105, 97, 108, 59, 32, 109, 97, 114, 103, 105, 110, 58, 32, 50,
- 112, 120, 59, 32, 125, 32, 105, 110, 112, 117, 116, 91, 116, 121, 112, 101,
- 61, 34, 114, 97, 110, 103, 101, 34, 93, 58, 58, 45, 119, 101, 98, 107,
- 105, 116, 45, 115, 108, 105, 100, 101, 114, 45, 116, 104, 117, 109, 98, 32,
- 123, 32, 45, 119, 101, 98, 107, 105, 116, 45, 97, 112, 112, 101, 97, 114,
- 97, 110, 99, 101, 58, 32, 115, 108, 105, 100, 101, 114, 116, 104, 117, 109,
- 98, 45, 104, 111, 114, 105, 122, 111, 110, 116, 97, 108, 59, 32, 125, 32,
+ 116, 121, 112, 101, 61, 34, 98, 117, 116, 116, 111, 110, 34, 93, 44, 32,
+ 105, 110, 112, 117, 116, 91, 116, 121, 112, 101, 61, 34, 115, 117, 98, 109,
+ 105, 116, 34, 93, 44, 32, 105, 110, 112, 117, 116, 91, 116, 121, 112, 101,
+ 61, 34, 114, 101, 115, 101, 116, 34, 93, 44, 32, 105, 110, 112, 117, 116,
+ 91, 116, 121, 112, 101, 61, 34, 102, 105, 108, 101, 34, 93, 58, 58, 45,
+ 119, 101, 98, 107, 105, 116, 45, 102, 105, 108, 101, 45, 117, 112, 108, 111,
+ 97, 100, 45, 98, 117, 116, 116, 111, 110, 32, 123, 32, 45, 119, 101, 98,
+ 107, 105, 116, 45, 97, 112, 112, 101, 97, 114, 97, 110, 99, 101, 58, 32,
+ 112, 117, 115, 104, 45, 98, 117, 116, 116, 111, 110, 59, 32, 119, 104, 105,
+ 116, 101, 45, 115, 112, 97, 99, 101, 58, 32, 112, 114, 101, 32, 125, 32,
105, 110, 112, 117, 116, 91, 116, 121, 112, 101, 61, 34, 98, 117, 116, 116,
- 111, 110, 34, 93, 58, 100, 105, 115, 97, 98, 108, 101, 100, 44, 32, 105,
- 110, 112, 117, 116, 91, 116, 121, 112, 101, 61, 34, 115, 117, 98, 109, 105,
- 116, 34, 93, 58, 100, 105, 115, 97, 98, 108, 101, 100, 44, 32, 105, 110,
- 112, 117, 116, 91, 116, 121, 112, 101, 61, 34, 114, 101, 115, 101, 116, 34,
+ 111, 110, 34, 93, 44, 32, 105, 110, 112, 117, 116, 91, 116, 121, 112, 101,
+ 61, 34, 115, 117, 98, 109, 105, 116, 34, 93, 44, 32, 105, 110, 112, 117,
+ 116, 91, 116, 121, 112, 101, 61, 34, 114, 101, 115, 101, 116, 34, 93, 44,
+ 32, 105, 110, 112, 117, 116, 91, 116, 121, 112, 101, 61, 34, 102, 105, 108,
+ 101, 34, 93, 58, 58, 45, 119, 101, 98, 107, 105, 116, 45, 102, 105, 108,
+ 101, 45, 117, 112, 108, 111, 97, 100, 45, 98, 117, 116, 116, 111, 110, 44,
+ 32, 98, 117, 116, 116, 111, 110, 32, 123, 32, 45, 119, 101, 98, 107, 105,
+ 116, 45, 98, 111, 120, 45, 97, 108, 105, 103, 110, 58, 32, 99, 101, 110,
+ 116, 101, 114, 59, 32, 116, 101, 120, 116, 45, 97, 108, 105, 103, 110, 58,
+ 32, 99, 101, 110, 116, 101, 114, 59, 32, 99, 117, 114, 115, 111, 114, 58,
+ 32, 100, 101, 102, 97, 117, 108, 116, 59, 32, 99, 111, 108, 111, 114, 58,
+ 32, 66, 117, 116, 116, 111, 110, 84, 101, 120, 116, 59, 32, 112, 97, 100,
+ 100, 105, 110, 103, 58, 32, 50, 112, 120, 32, 54, 112, 120, 32, 51, 112,
+ 120, 32, 54, 112, 120, 59, 32, 98, 111, 114, 100, 101, 114, 58, 32, 50,
+ 112, 120, 32, 111, 117, 116, 115, 101, 116, 32, 66, 117, 116, 116, 111, 110,
+ 70, 97, 99, 101, 59, 32, 98, 97, 99, 107, 103, 114, 111, 117, 110, 100,
+ 45, 99, 111, 108, 111, 114, 58, 32, 66, 117, 116, 116, 111, 110, 70, 97,
+ 99, 101, 59, 32, 45, 119, 101, 98, 107, 105, 116, 45, 98, 111, 120, 45,
+ 115, 105, 122, 105, 110, 103, 58, 32, 98, 111, 114, 100, 101, 114, 45, 98,
+ 111, 120, 32, 125, 32, 105, 110, 112, 117, 116, 91, 116, 121, 112, 101, 61,
+ 34, 114, 97, 110, 103, 101, 34, 93, 32, 123, 32, 45, 119, 101, 98, 107,
+ 105, 116, 45, 97, 112, 112, 101, 97, 114, 97, 110, 99, 101, 58, 32, 115,
+ 108, 105, 100, 101, 114, 45, 104, 111, 114, 105, 122, 111, 110, 116, 97, 108,
+ 59, 32, 112, 97, 100, 100, 105, 110, 103, 58, 32, 105, 110, 105, 116, 105,
+ 97, 108, 59, 32, 98, 111, 114, 100, 101, 114, 58, 32, 105, 110, 105, 116,
+ 105, 97, 108, 59, 32, 109, 97, 114, 103, 105, 110, 58, 32, 50, 112, 120,
+ 59, 32, 125, 32, 105, 110, 112, 117, 116, 91, 116, 121, 112, 101, 61, 34,
+ 114, 97, 110, 103, 101, 34, 93, 58, 58, 45, 119, 101, 98, 107, 105, 116,
+ 45, 115, 108, 105, 100, 101, 114, 45, 116, 104, 117, 109, 98, 32, 123, 32,
+ 45, 119, 101, 98, 107, 105, 116, 45, 97, 112, 112, 101, 97, 114, 97, 110,
+ 99, 101, 58, 32, 115, 108, 105, 100, 101, 114, 116, 104, 117, 109, 98, 45,
+ 104, 111, 114, 105, 122, 111, 110, 116, 97, 108, 59, 32, 125, 32, 105, 110,
+ 112, 117, 116, 91, 116, 121, 112, 101, 61, 34, 98, 117, 116, 116, 111, 110,
+ 34, 93, 58, 100, 105, 115, 97, 98, 108, 101, 100, 44, 32, 105, 110, 112,
+ 117, 116, 91, 116, 121, 112, 101, 61, 34, 115, 117, 98, 109, 105, 116, 34,
93, 58, 100, 105, 115, 97, 98, 108, 101, 100, 44, 32, 105, 110, 112, 117,
- 116, 91, 116, 121, 112, 101, 61, 34, 102, 105, 108, 101, 34, 93, 58, 100,
- 105, 115, 97, 98, 108, 101, 100, 58, 58, 45, 119, 101, 98, 107, 105, 116,
- 45, 102, 105, 108, 101, 45, 117, 112, 108, 111, 97, 100, 45, 98, 117, 116,
- 116, 111, 110, 44, 32, 98, 117, 116, 116, 111, 110, 58, 100, 105, 115, 97,
- 98, 108, 101, 100, 44, 32, 115, 101, 108, 101, 99, 116, 58, 100, 105, 115,
- 97, 98, 108, 101, 100, 44, 32, 107, 101, 121, 103, 101, 110, 58, 100, 105,
- 115, 97, 98, 108, 101, 100, 44, 32, 111, 112, 116, 103, 114, 111, 117, 112,
- 58, 100, 105, 115, 97, 98, 108, 101, 100, 44, 32, 111, 112, 116, 105, 111,
- 110, 58, 100, 105, 115, 97, 98, 108, 101, 100, 44, 32, 100, 97, 116, 97,
- 103, 114, 105, 100, 58, 100, 105, 115, 97, 98, 108, 101, 100, 32, 123, 32,
- 99, 111, 108, 111, 114, 58, 32, 71, 114, 97, 121, 84, 101, 120, 116, 32,
- 125, 32, 105, 110, 112, 117, 116, 91, 116, 121, 112, 101, 61, 34, 98, 117,
- 116, 116, 111, 110, 34, 93, 58, 97, 99, 116, 105, 118, 101, 44, 32, 105,
- 110, 112, 117, 116, 91, 116, 121, 112, 101, 61, 34, 115, 117, 98, 109, 105,
- 116, 34, 93, 58, 97, 99, 116, 105, 118, 101, 44, 32, 105, 110, 112, 117,
116, 91, 116, 121, 112, 101, 61, 34, 114, 101, 115, 101, 116, 34, 93, 58,
- 97, 99, 116, 105, 118, 101, 44, 32, 105, 110, 112, 117, 116, 91, 116, 121,
- 112, 101, 61, 34, 102, 105, 108, 101, 34, 93, 58, 97, 99, 116, 105, 118,
- 101, 58, 58, 45, 119, 101, 98, 107, 105, 116, 45, 102, 105, 108, 101, 45,
- 117, 112, 108, 111, 97, 100, 45, 98, 117, 116, 116, 111, 110, 44, 32, 98,
- 117, 116, 116, 111, 110, 58, 97, 99, 116, 105, 118, 101, 32, 123, 32, 98,
- 111, 114, 100, 101, 114, 45, 115, 116, 121, 108, 101, 58, 32, 105, 110, 115,
- 101, 116, 32, 125, 32, 105, 110, 112, 117, 116, 91, 116, 121, 112, 101, 61,
- 34, 98, 117, 116, 116, 111, 110, 34, 93, 58, 97, 99, 116, 105, 118, 101,
- 58, 100, 105, 115, 97, 98, 108, 101, 100, 44, 32, 105, 110, 112, 117, 116,
- 91, 116, 121, 112, 101, 61, 34, 115, 117, 98, 109, 105, 116, 34, 93, 58,
- 97, 99, 116, 105, 118, 101, 58, 100, 105, 115, 97, 98, 108, 101, 100, 44,
- 32, 105, 110, 112, 117, 116, 91, 116, 121, 112, 101, 61, 34, 114, 101, 115,
- 101, 116, 34, 93, 58, 97, 99, 116, 105, 118, 101, 58, 100, 105, 115, 97,
- 98, 108, 101, 100, 44, 32, 105, 110, 112, 117, 116, 91, 116, 121, 112, 101,
+ 100, 105, 115, 97, 98, 108, 101, 100, 44, 32, 105, 110, 112, 117, 116, 91,
+ 116, 121, 112, 101, 61, 34, 102, 105, 108, 101, 34, 93, 58, 100, 105, 115,
+ 97, 98, 108, 101, 100, 58, 58, 45, 119, 101, 98, 107, 105, 116, 45, 102,
+ 105, 108, 101, 45, 117, 112, 108, 111, 97, 100, 45, 98, 117, 116, 116, 111,
+ 110, 44, 32, 98, 117, 116, 116, 111, 110, 58, 100, 105, 115, 97, 98, 108,
+ 101, 100, 44, 32, 115, 101, 108, 101, 99, 116, 58, 100, 105, 115, 97, 98,
+ 108, 101, 100, 44, 32, 107, 101, 121, 103, 101, 110, 58, 100, 105, 115, 97,
+ 98, 108, 101, 100, 44, 32, 111, 112, 116, 103, 114, 111, 117, 112, 58, 100,
+ 105, 115, 97, 98, 108, 101, 100, 44, 32, 111, 112, 116, 105, 111, 110, 58,
+ 100, 105, 115, 97, 98, 108, 101, 100, 44, 32, 100, 97, 116, 97, 103, 114,
+ 105, 100, 58, 100, 105, 115, 97, 98, 108, 101, 100, 32, 123, 32, 99, 111,
+ 108, 111, 114, 58, 32, 71, 114, 97, 121, 84, 101, 120, 116, 32, 125, 32,
+ 105, 110, 112, 117, 116, 91, 116, 121, 112, 101, 61, 34, 98, 117, 116, 116,
+ 111, 110, 34, 93, 58, 97, 99, 116, 105, 118, 101, 44, 32, 105, 110, 112,
+ 117, 116, 91, 116, 121, 112, 101, 61, 34, 115, 117, 98, 109, 105, 116, 34,
+ 93, 58, 97, 99, 116, 105, 118, 101, 44, 32, 105, 110, 112, 117, 116, 91,
+ 116, 121, 112, 101, 61, 34, 114, 101, 115, 101, 116, 34, 93, 58, 97, 99,
+ 116, 105, 118, 101, 44, 32, 105, 110, 112, 117, 116, 91, 116, 121, 112, 101,
61, 34, 102, 105, 108, 101, 34, 93, 58, 97, 99, 116, 105, 118, 101, 58,
- 100, 105, 115, 97, 98, 108, 101, 100, 58, 58, 45, 119, 101, 98, 107, 105,
- 116, 45, 102, 105, 108, 101, 45, 117, 112, 108, 111, 97, 100, 45, 98, 117,
- 116, 116, 111, 110, 44, 32, 98, 117, 116, 116, 111, 110, 58, 97, 99, 116,
- 105, 118, 101, 58, 100, 105, 115, 97, 98, 108, 101, 100, 32, 123, 32, 98,
- 111, 114, 100, 101, 114, 45, 115, 116, 121, 108, 101, 58, 32, 111, 117, 116,
- 115, 101, 116, 32, 125, 32, 97, 114, 101, 97, 44, 32, 112, 97, 114, 97,
- 109, 32, 123, 32, 100, 105, 115, 112, 108, 97, 121, 58, 32, 110, 111, 110,
- 101, 32, 125, 32, 105, 110, 112, 117, 116, 91, 116, 121, 112, 101, 61, 34,
- 99, 104, 101, 99, 107, 98, 111, 120, 34, 93, 32, 123, 32, 45, 119, 101,
- 98, 107, 105, 116, 45, 97, 112, 112, 101, 97, 114, 97, 110, 99, 101, 58,
- 32, 99, 104, 101, 99, 107, 98, 111, 120, 59, 32, 45, 119, 101, 98, 107,
- 105, 116, 45, 98, 111, 120, 45, 115, 105, 122, 105, 110, 103, 58, 32, 98,
- 111, 114, 100, 101, 114, 45, 98, 111, 120, 59, 32, 125, 32, 105, 110, 112,
- 117, 116, 91, 116, 121, 112, 101, 61, 34, 114, 97, 100, 105, 111, 34, 93,
- 32, 123, 32, 45, 119, 101, 98, 107, 105, 116, 45, 97, 112, 112, 101, 97,
- 114, 97, 110, 99, 101, 58, 32, 114, 97, 100, 105, 111, 59, 32, 45, 119,
- 101, 98, 107, 105, 116, 45, 98, 111, 120, 45, 115, 105, 122, 105, 110, 103,
- 58, 32, 98, 111, 114, 100, 101, 114, 45, 98, 111, 120, 59, 32, 125, 32,
- 107, 101, 121, 103, 101, 110, 44, 32, 115, 101, 108, 101, 99, 116, 32, 123,
+ 58, 45, 119, 101, 98, 107, 105, 116, 45, 102, 105, 108, 101, 45, 117, 112,
+ 108, 111, 97, 100, 45, 98, 117, 116, 116, 111, 110, 44, 32, 98, 117, 116,
+ 116, 111, 110, 58, 97, 99, 116, 105, 118, 101, 32, 123, 32, 98, 111, 114,
+ 100, 101, 114, 45, 115, 116, 121, 108, 101, 58, 32, 105, 110, 115, 101, 116,
+ 32, 125, 32, 105, 110, 112, 117, 116, 91, 116, 121, 112, 101, 61, 34, 98,
+ 117, 116, 116, 111, 110, 34, 93, 58, 97, 99, 116, 105, 118, 101, 58, 100,
+ 105, 115, 97, 98, 108, 101, 100, 44, 32, 105, 110, 112, 117, 116, 91, 116,
+ 121, 112, 101, 61, 34, 115, 117, 98, 109, 105, 116, 34, 93, 58, 97, 99,
+ 116, 105, 118, 101, 58, 100, 105, 115, 97, 98, 108, 101, 100, 44, 32, 105,
+ 110, 112, 117, 116, 91, 116, 121, 112, 101, 61, 34, 114, 101, 115, 101, 116,
+ 34, 93, 58, 97, 99, 116, 105, 118, 101, 58, 100, 105, 115, 97, 98, 108,
+ 101, 100, 44, 32, 105, 110, 112, 117, 116, 91, 116, 121, 112, 101, 61, 34,
+ 102, 105, 108, 101, 34, 93, 58, 97, 99, 116, 105, 118, 101, 58, 100, 105,
+ 115, 97, 98, 108, 101, 100, 58, 58, 45, 119, 101, 98, 107, 105, 116, 45,
+ 102, 105, 108, 101, 45, 117, 112, 108, 111, 97, 100, 45, 98, 117, 116, 116,
+ 111, 110, 44, 32, 98, 117, 116, 116, 111, 110, 58, 97, 99, 116, 105, 118,
+ 101, 58, 100, 105, 115, 97, 98, 108, 101, 100, 32, 123, 32, 98, 111, 114,
+ 100, 101, 114, 45, 115, 116, 121, 108, 101, 58, 32, 111, 117, 116, 115, 101,
+ 116, 32, 125, 32, 97, 114, 101, 97, 44, 32, 112, 97, 114, 97, 109, 32,
+ 123, 32, 100, 105, 115, 112, 108, 97, 121, 58, 32, 110, 111, 110, 101, 32,
+ 125, 32, 105, 110, 112, 117, 116, 91, 116, 121, 112, 101, 61, 34, 99, 104,
+ 101, 99, 107, 98, 111, 120, 34, 93, 32, 123, 32, 45, 119, 101, 98, 107,
+ 105, 116, 45, 97, 112, 112, 101, 97, 114, 97, 110, 99, 101, 58, 32, 99,
+ 104, 101, 99, 107, 98, 111, 120, 59, 32, 45, 119, 101, 98, 107, 105, 116,
+ 45, 98, 111, 120, 45, 115, 105, 122, 105, 110, 103, 58, 32, 98, 111, 114,
+ 100, 101, 114, 45, 98, 111, 120, 59, 32, 125, 32, 105, 110, 112, 117, 116,
+ 91, 116, 121, 112, 101, 61, 34, 114, 97, 100, 105, 111, 34, 93, 32, 123,
32, 45, 119, 101, 98, 107, 105, 116, 45, 97, 112, 112, 101, 97, 114, 97,
- 110, 99, 101, 58, 32, 109, 101, 110, 117, 108, 105, 115, 116, 59, 32, 45,
- 119, 101, 98, 107, 105, 116, 45, 98, 111, 120, 45, 115, 105, 122, 105, 110,
- 103, 58, 32, 98, 111, 114, 100, 101, 114, 45, 98, 111, 120, 59, 32, 45,
- 119, 101, 98, 107, 105, 116, 45, 98, 111, 120, 45, 97, 108, 105, 103, 110,
- 58, 32, 99, 101, 110, 116, 101, 114, 59, 32, 98, 111, 114, 100, 101, 114,
- 58, 32, 49, 112, 120, 32, 115, 111, 108, 105, 100, 59, 32, 45, 119, 101,
- 98, 107, 105, 116, 45, 98, 111, 114, 100, 101, 114, 45, 114, 97, 100, 105,
- 117, 115, 58, 32, 53, 112, 120, 59, 32, 119, 104, 105, 116, 101, 45, 115,
- 112, 97, 99, 101, 58, 32, 112, 114, 101, 59, 32, 45, 119, 101, 98, 107,
- 105, 116, 45, 114, 116, 108, 45, 111, 114, 100, 101, 114, 105, 110, 103, 58,
- 32, 108, 111, 103, 105, 99, 97, 108, 59, 32, 99, 111, 108, 111, 114, 58,
- 32, 98, 108, 97, 99, 107, 59, 32, 98, 97, 99, 107, 103, 114, 111, 117,
- 110, 100, 45, 99, 111, 108, 111, 114, 58, 32, 119, 104, 105, 116, 101, 59,
- 32, 99, 117, 114, 115, 111, 114, 58, 32, 100, 101, 102, 97, 117, 108, 116,
- 59, 32, 125, 32, 115, 101, 108, 101, 99, 116, 91, 115, 105, 122, 101, 93,
- 44, 32, 115, 101, 108, 101, 99, 116, 91, 109, 117, 108, 116, 105, 112, 108,
- 101, 93, 44, 32, 115, 101, 108, 101, 99, 116, 91, 115, 105, 122, 101, 93,
- 91, 109, 117, 108, 116, 105, 112, 108, 101, 93, 32, 123, 32, 45, 119, 101,
- 98, 107, 105, 116, 45, 97, 112, 112, 101, 97, 114, 97, 110, 99, 101, 58,
- 32, 108, 105, 115, 116, 98, 111, 120, 59, 32, 45, 119, 101, 98, 107, 105,
- 116, 45, 98, 111, 120, 45, 97, 108, 105, 103, 110, 58, 32, 115, 116, 97,
- 114, 116, 59, 32, 98, 111, 114, 100, 101, 114, 58, 32, 49, 112, 120, 32,
- 105, 110, 115, 101, 116, 32, 103, 114, 97, 121, 59, 32, 45, 119, 101, 98,
- 107, 105, 116, 45, 98, 111, 114, 100, 101, 114, 45, 114, 97, 100, 105, 117,
- 115, 58, 32, 105, 110, 105, 116, 105, 97, 108, 59, 32, 119, 104, 105, 116,
+ 110, 99, 101, 58, 32, 114, 97, 100, 105, 111, 59, 32, 45, 119, 101, 98,
+ 107, 105, 116, 45, 98, 111, 120, 45, 115, 105, 122, 105, 110, 103, 58, 32,
+ 98, 111, 114, 100, 101, 114, 45, 98, 111, 120, 59, 32, 125, 32, 107, 101,
+ 121, 103, 101, 110, 44, 32, 115, 101, 108, 101, 99, 116, 32, 123, 32, 45,
+ 119, 101, 98, 107, 105, 116, 45, 97, 112, 112, 101, 97, 114, 97, 110, 99,
+ 101, 58, 32, 109, 101, 110, 117, 108, 105, 115, 116, 59, 32, 45, 119, 101,
+ 98, 107, 105, 116, 45, 98, 111, 120, 45, 115, 105, 122, 105, 110, 103, 58,
+ 32, 98, 111, 114, 100, 101, 114, 45, 98, 111, 120, 59, 32, 45, 119, 101,
+ 98, 107, 105, 116, 45, 98, 111, 120, 45, 97, 108, 105, 103, 110, 58, 32,
+ 99, 101, 110, 116, 101, 114, 59, 32, 98, 111, 114, 100, 101, 114, 58, 32,
+ 49, 112, 120, 32, 115, 111, 108, 105, 100, 59, 32, 45, 119, 101, 98, 107,
+ 105, 116, 45, 98, 111, 114, 100, 101, 114, 45, 114, 97, 100, 105, 117, 115,
+ 58, 32, 53, 112, 120, 59, 32, 119, 104, 105, 116, 101, 45, 115, 112, 97,
+ 99, 101, 58, 32, 112, 114, 101, 59, 32, 45, 119, 101, 98, 107, 105, 116,
+ 45, 114, 116, 108, 45, 111, 114, 100, 101, 114, 105, 110, 103, 58, 32, 108,
+ 111, 103, 105, 99, 97, 108, 59, 32, 99, 111, 108, 111, 114, 58, 32, 98,
+ 108, 97, 99, 107, 59, 32, 98, 97, 99, 107, 103, 114, 111, 117, 110, 100,
+ 45, 99, 111, 108, 111, 114, 58, 32, 119, 104, 105, 116, 101, 59, 32, 99,
+ 117, 114, 115, 111, 114, 58, 32, 100, 101, 102, 97, 117, 108, 116, 59, 32,
+ 125, 32, 115, 101, 108, 101, 99, 116, 91, 115, 105, 122, 101, 93, 44, 32,
+ 115, 101, 108, 101, 99, 116, 91, 109, 117, 108, 116, 105, 112, 108, 101, 93,
+ 44, 32, 115, 101, 108, 101, 99, 116, 91, 115, 105, 122, 101, 93, 91, 109,
+ 117, 108, 116, 105, 112, 108, 101, 93, 32, 123, 32, 45, 119, 101, 98, 107,
+ 105, 116, 45, 97, 112, 112, 101, 97, 114, 97, 110, 99, 101, 58, 32, 108,
+ 105, 115, 116, 98, 111, 120, 59, 32, 45, 119, 101, 98, 107, 105, 116, 45,
+ 98, 111, 120, 45, 97, 108, 105, 103, 110, 58, 32, 115, 116, 97, 114, 116,
+ 59, 32, 98, 111, 114, 100, 101, 114, 58, 32, 49, 112, 120, 32, 105, 110,
+ 115, 101, 116, 32, 103, 114, 97, 121, 59, 32, 45, 119, 101, 98, 107, 105,
+ 116, 45, 98, 111, 114, 100, 101, 114, 45, 114, 97, 100, 105, 117, 115, 58,
+ 32, 105, 110, 105, 116, 105, 97, 108, 59, 32, 119, 104, 105, 116, 101, 45,
+ 115, 112, 97, 99, 101, 58, 32, 105, 110, 105, 116, 105, 97, 108, 59, 32,
+ 125, 32, 115, 101, 108, 101, 99, 116, 91, 115, 105, 122, 101, 61, 34, 48,
+ 34, 93, 44, 32, 115, 101, 108, 101, 99, 116, 91, 115, 105, 122, 101, 61,
+ 34, 49, 34, 93, 32, 123, 32, 45, 119, 101, 98, 107, 105, 116, 45, 97,
+ 112, 112, 101, 97, 114, 97, 110, 99, 101, 58, 32, 109, 101, 110, 117, 108,
+ 105, 115, 116, 59, 32, 45, 119, 101, 98, 107, 105, 116, 45, 98, 111, 120,
+ 45, 97, 108, 105, 103, 110, 58, 32, 99, 101, 110, 116, 101, 114, 59, 32,
+ 98, 111, 114, 100, 101, 114, 58, 32, 49, 112, 120, 32, 115, 111, 108, 105,
+ 100, 59, 32, 45, 119, 101, 98, 107, 105, 116, 45, 98, 111, 114, 100, 101,
+ 114, 45, 114, 97, 100, 105, 117, 115, 58, 32, 53, 112, 120, 59, 32, 119,
+ 104, 105, 116, 101, 45, 115, 112, 97, 99, 101, 58, 32, 112, 114, 101, 59,
+ 32, 125, 32, 111, 112, 116, 103, 114, 111, 117, 112, 32, 123, 32, 102, 111,
+ 110, 116, 45, 119, 101, 105, 103, 104, 116, 58, 32, 98, 111, 108, 100, 101,
+ 114, 59, 32, 125, 32, 111, 112, 116, 105, 111, 110, 32, 123, 32, 102, 111,
+ 110, 116, 45, 119, 101, 105, 103, 104, 116, 58, 32, 110, 111, 114, 109, 97,
+ 108, 59, 32, 125, 32, 100, 97, 116, 97, 103, 114, 105, 100, 32, 123, 32,
+ 104, 101, 105, 103, 104, 116, 58, 32, 49, 53, 48, 112, 120, 59, 32, 45,
+ 119, 101, 98, 107, 105, 116, 45, 97, 112, 112, 101, 97, 114, 97, 110, 99,
+ 101, 58, 32, 100, 97, 116, 97, 103, 114, 105, 100, 59, 32, 45, 119, 101,
+ 98, 107, 105, 116, 45, 98, 111, 120, 45, 115, 105, 122, 105, 110, 103, 58,
+ 32, 98, 111, 114, 100, 101, 114, 45, 98, 111, 120, 59, 32, 45, 119, 101,
+ 98, 107, 105, 116, 45, 114, 116, 108, 45, 111, 114, 100, 101, 114, 105, 110,
+ 103, 58, 32, 108, 111, 103, 105, 99, 97, 108, 59, 32, 99, 111, 108, 111,
+ 114, 58, 32, 98, 108, 97, 99, 107, 59, 32, 98, 97, 99, 107, 103, 114,
+ 111, 117, 110, 100, 45, 99, 111, 108, 111, 114, 58, 32, 119, 104, 105, 116,
+ 101, 59, 32, 99, 117, 114, 115, 111, 114, 58, 32, 100, 101, 102, 97, 117,
+ 108, 116, 59, 32, 98, 111, 114, 100, 101, 114, 58, 32, 49, 112, 120, 32,
+ 105, 110, 115, 101, 116, 32, 103, 114, 97, 121, 59, 32, 119, 104, 105, 116,
101, 45, 115, 112, 97, 99, 101, 58, 32, 105, 110, 105, 116, 105, 97, 108,
- 59, 32, 125, 32, 115, 101, 108, 101, 99, 116, 91, 115, 105, 122, 101, 61,
- 34, 48, 34, 93, 44, 32, 115, 101, 108, 101, 99, 116, 91, 115, 105, 122,
- 101, 61, 34, 49, 34, 93, 32, 123, 32, 45, 119, 101, 98, 107, 105, 116,
- 45, 97, 112, 112, 101, 97, 114, 97, 110, 99, 101, 58, 32, 109, 101, 110,
- 117, 108, 105, 115, 116, 59, 32, 45, 119, 101, 98, 107, 105, 116, 45, 98,
- 111, 120, 45, 97, 108, 105, 103, 110, 58, 32, 99, 101, 110, 116, 101, 114,
- 59, 32, 98, 111, 114, 100, 101, 114, 58, 32, 49, 112, 120, 32, 115, 111,
- 108, 105, 100, 59, 32, 45, 119, 101, 98, 107, 105, 116, 45, 98, 111, 114,
- 100, 101, 114, 45, 114, 97, 100, 105, 117, 115, 58, 32, 53, 112, 120, 59,
- 32, 119, 104, 105, 116, 101, 45, 115, 112, 97, 99, 101, 58, 32, 112, 114,
- 101, 59, 32, 125, 32, 111, 112, 116, 103, 114, 111, 117, 112, 32, 123, 32,
- 102, 111, 110, 116, 45, 119, 101, 105, 103, 104, 116, 58, 32, 98, 111, 108,
- 100, 101, 114, 59, 32, 125, 32, 111, 112, 116, 105, 111, 110, 32, 123, 32,
- 102, 111, 110, 116, 45, 119, 101, 105, 103, 104, 116, 58, 32, 110, 111, 114,
- 109, 97, 108, 59, 32, 125, 32, 100, 97, 116, 97, 103, 114, 105, 100, 32,
- 123, 32, 104, 101, 105, 103, 104, 116, 58, 32, 49, 53, 48, 112, 120, 59,
- 32, 45, 119, 101, 98, 107, 105, 116, 45, 97, 112, 112, 101, 97, 114, 97,
- 110, 99, 101, 58, 32, 100, 97, 116, 97, 103, 114, 105, 100, 59, 32, 45,
- 119, 101, 98, 107, 105, 116, 45, 98, 111, 120, 45, 115, 105, 122, 105, 110,
- 103, 58, 32, 98, 111, 114, 100, 101, 114, 45, 98, 111, 120, 59, 32, 45,
- 119, 101, 98, 107, 105, 116, 45, 114, 116, 108, 45, 111, 114, 100, 101, 114,
- 105, 110, 103, 58, 32, 108, 111, 103, 105, 99, 97, 108, 59, 32, 99, 111,
- 108, 111, 114, 58, 32, 98, 108, 97, 99, 107, 59, 32, 98, 97, 99, 107,
- 103, 114, 111, 117, 110, 100, 45, 99, 111, 108, 111, 114, 58, 32, 119, 104,
- 105, 116, 101, 59, 32, 99, 117, 114, 115, 111, 114, 58, 32, 100, 101, 102,
- 97, 117, 108, 116, 59, 32, 98, 111, 114, 100, 101, 114, 58, 32, 49, 112,
- 120, 32, 105, 110, 115, 101, 116, 32, 103, 114, 97, 121, 59, 32, 119, 104,
- 105, 116, 101, 45, 115, 112, 97, 99, 101, 58, 32, 105, 110, 105, 116, 105,
- 97, 108, 59, 32, 125, 32, 117, 44, 32, 105, 110, 115, 32, 123, 32, 116,
- 101, 120, 116, 45, 100, 101, 99, 111, 114, 97, 116, 105, 111, 110, 58, 32,
- 117, 110, 100, 101, 114, 108, 105, 110, 101, 32, 125, 32, 115, 116, 114, 111,
- 110, 103, 44, 32, 98, 32, 123, 32, 102, 111, 110, 116, 45, 119, 101, 105,
- 103, 104, 116, 58, 32, 98, 111, 108, 100, 101, 114, 32, 125, 32, 105, 44,
- 32, 99, 105, 116, 101, 44, 32, 101, 109, 44, 32, 118, 97, 114, 44, 32,
- 97, 100, 100, 114, 101, 115, 115, 32, 123, 32, 102, 111, 110, 116, 45, 115,
- 116, 121, 108, 101, 58, 32, 105, 116, 97, 108, 105, 99, 32, 125, 32, 116,
- 116, 44, 32, 99, 111, 100, 101, 44, 32, 107, 98, 100, 44, 32, 115, 97,
- 109, 112, 32, 123, 32, 102, 111, 110, 116, 45, 102, 97, 109, 105, 108, 121,
- 58, 32, 109, 111, 110, 111, 115, 112, 97, 99, 101, 32, 125, 32, 112, 114,
- 101, 44, 32, 120, 109, 112, 44, 32, 112, 108, 97, 105, 110, 116, 101, 120,
- 116, 44, 32, 108, 105, 115, 116, 105, 110, 103, 32, 123, 32, 100, 105, 115,
- 112, 108, 97, 121, 58, 32, 98, 108, 111, 99, 107, 59, 32, 102, 111, 110,
- 116, 45, 102, 97, 109, 105, 108, 121, 58, 32, 109, 111, 110, 111, 115, 112,
- 97, 99, 101, 59, 32, 119, 104, 105, 116, 101, 45, 115, 112, 97, 99, 101,
- 58, 32, 112, 114, 101, 59, 32, 109, 97, 114, 103, 105, 110, 58, 32, 49,
- 95, 95, 113, 101, 109, 32, 48, 32, 125, 32, 98, 105, 103, 32, 123, 32,
- 102, 111, 110, 116, 45, 115, 105, 122, 101, 58, 32, 108, 97, 114, 103, 101,
- 114, 32, 125, 32, 115, 109, 97, 108, 108, 32, 123, 32, 102, 111, 110, 116,
- 45, 115, 105, 122, 101, 58, 32, 115, 109, 97, 108, 108, 101, 114, 32, 125,
- 32, 115, 44, 32, 115, 116, 114, 105, 107, 101, 44, 32, 100, 101, 108, 32,
- 123, 32, 116, 101, 120, 116, 45, 100, 101, 99, 111, 114, 97, 116, 105, 111,
- 110, 58, 32, 108, 105, 110, 101, 45, 116, 104, 114, 111, 117, 103, 104, 32,
- 125, 32, 115, 117, 98, 32, 123, 32, 118, 101, 114, 116, 105, 99, 97, 108,
- 45, 97, 108, 105, 103, 110, 58, 32, 115, 117, 98, 59, 32, 102, 111, 110,
+ 59, 32, 125, 32, 117, 44, 32, 105, 110, 115, 32, 123, 32, 116, 101, 120,
+ 116, 45, 100, 101, 99, 111, 114, 97, 116, 105, 111, 110, 58, 32, 117, 110,
+ 100, 101, 114, 108, 105, 110, 101, 32, 125, 32, 115, 116, 114, 111, 110, 103,
+ 44, 32, 98, 32, 123, 32, 102, 111, 110, 116, 45, 119, 101, 105, 103, 104,
+ 116, 58, 32, 98, 111, 108, 100, 101, 114, 32, 125, 32, 105, 44, 32, 99,
+ 105, 116, 101, 44, 32, 101, 109, 44, 32, 118, 97, 114, 44, 32, 97, 100,
+ 100, 114, 101, 115, 115, 32, 123, 32, 102, 111, 110, 116, 45, 115, 116, 121,
+ 108, 101, 58, 32, 105, 116, 97, 108, 105, 99, 32, 125, 32, 116, 116, 44,
+ 32, 99, 111, 100, 101, 44, 32, 107, 98, 100, 44, 32, 115, 97, 109, 112,
+ 32, 123, 32, 102, 111, 110, 116, 45, 102, 97, 109, 105, 108, 121, 58, 32,
+ 109, 111, 110, 111, 115, 112, 97, 99, 101, 32, 125, 32, 112, 114, 101, 44,
+ 32, 120, 109, 112, 44, 32, 112, 108, 97, 105, 110, 116, 101, 120, 116, 44,
+ 32, 108, 105, 115, 116, 105, 110, 103, 32, 123, 32, 100, 105, 115, 112, 108,
+ 97, 121, 58, 32, 98, 108, 111, 99, 107, 59, 32, 102, 111, 110, 116, 45,
+ 102, 97, 109, 105, 108, 121, 58, 32, 109, 111, 110, 111, 115, 112, 97, 99,
+ 101, 59, 32, 119, 104, 105, 116, 101, 45, 115, 112, 97, 99, 101, 58, 32,
+ 112, 114, 101, 59, 32, 109, 97, 114, 103, 105, 110, 58, 32, 49, 95, 95,
+ 113, 101, 109, 32, 48, 32, 125, 32, 98, 105, 103, 32, 123, 32, 102, 111,
+ 110, 116, 45, 115, 105, 122, 101, 58, 32, 108, 97, 114, 103, 101, 114, 32,
+ 125, 32, 115, 109, 97, 108, 108, 32, 123, 32, 102, 111, 110, 116, 45, 115,
+ 105, 122, 101, 58, 32, 115, 109, 97, 108, 108, 101, 114, 32, 125, 32, 115,
+ 44, 32, 115, 116, 114, 105, 107, 101, 44, 32, 100, 101, 108, 32, 123, 32,
+ 116, 101, 120, 116, 45, 100, 101, 99, 111, 114, 97, 116, 105, 111, 110, 58,
+ 32, 108, 105, 110, 101, 45, 116, 104, 114, 111, 117, 103, 104, 32, 125, 32,
+ 115, 117, 98, 32, 123, 32, 118, 101, 114, 116, 105, 99, 97, 108, 45, 97,
+ 108, 105, 103, 110, 58, 32, 115, 117, 98, 59, 32, 102, 111, 110, 116, 45,
+ 115, 105, 122, 101, 58, 32, 115, 109, 97, 108, 108, 101, 114, 32, 125, 32,
+ 115, 117, 112, 32, 123, 32, 118, 101, 114, 116, 105, 99, 97, 108, 45, 97,
+ 108, 105, 103, 110, 58, 32, 115, 117, 112, 101, 114, 59, 32, 102, 111, 110,
116, 45, 115, 105, 122, 101, 58, 32, 115, 109, 97, 108, 108, 101, 114, 32,
- 125, 32, 115, 117, 112, 32, 123, 32, 118, 101, 114, 116, 105, 99, 97, 108,
- 45, 97, 108, 105, 103, 110, 58, 32, 115, 117, 112, 101, 114, 59, 32, 102,
- 111, 110, 116, 45, 115, 105, 122, 101, 58, 32, 115, 109, 97, 108, 108, 101,
- 114, 32, 125, 32, 110, 111, 98, 114, 32, 123, 32, 119, 104, 105, 116, 101,
- 45, 115, 112, 97, 99, 101, 58, 32, 110, 111, 119, 114, 97, 112, 32, 125,
- 32, 58, 102, 111, 99, 117, 115, 32, 123, 32, 111, 117, 116, 108, 105, 110,
- 101, 58, 32, 97, 117, 116, 111, 32, 53, 112, 120, 32, 45, 119, 101, 98,
- 107, 105, 116, 45, 102, 111, 99, 117, 115, 45, 114, 105, 110, 103, 45, 99,
- 111, 108, 111, 114, 32, 125, 32, 104, 116, 109, 108, 58, 102, 111, 99, 117,
- 115, 44, 32, 98, 111, 100, 121, 58, 102, 111, 99, 117, 115, 44, 32, 105,
- 110, 112, 117, 116, 91, 114, 101, 97, 100, 111, 110, 108, 121, 93, 58, 102,
- 111, 99, 117, 115, 32, 123, 32, 111, 117, 116, 108, 105, 110, 101, 58, 32,
- 110, 111, 110, 101, 32, 125, 32, 105, 110, 112, 117, 116, 58, 102, 111, 99,
- 117, 115, 44, 32, 116, 101, 120, 116, 97, 114, 101, 97, 58, 102, 111, 99,
- 117, 115, 44, 32, 105, 115, 105, 110, 100, 101, 120, 58, 102, 111, 99, 117,
- 115, 44, 32, 107, 101, 121, 103, 101, 110, 58, 102, 111, 99, 117, 115, 44,
- 32, 115, 101, 108, 101, 99, 116, 58, 102, 111, 99, 117, 115, 32, 123, 32,
- 111, 117, 116, 108, 105, 110, 101, 45, 111, 102, 102, 115, 101, 116, 58, 32,
- 45, 50, 112, 120, 32, 125, 32, 105, 110, 112, 117, 116, 91, 116, 121, 112,
- 101, 61, 34, 98, 117, 116, 116, 111, 110, 34, 93, 58, 102, 111, 99, 117,
- 115, 44, 32, 105, 110, 112, 117, 116, 91, 116, 121, 112, 101, 61, 34, 99,
- 104, 101, 99, 107, 98, 111, 120, 34, 93, 58, 102, 111, 99, 117, 115, 44,
- 32, 105, 110, 112, 117, 116, 91, 116, 121, 112, 101, 61, 34, 102, 105, 108,
- 101, 34, 93, 58, 102, 111, 99, 117, 115, 44, 32, 105, 110, 112, 117, 116,
- 91, 116, 121, 112, 101, 61, 34, 104, 105, 100, 100, 101, 110, 34, 93, 58,
- 102, 111, 99, 117, 115, 44, 32, 105, 110, 112, 117, 116, 91, 116, 121, 112,
- 101, 61, 34, 105, 109, 97, 103, 101, 34, 93, 58, 102, 111, 99, 117, 115,
- 44, 32, 105, 110, 112, 117, 116, 91, 116, 121, 112, 101, 61, 34, 114, 97,
- 100, 105, 111, 34, 93, 58, 102, 111, 99, 117, 115, 44, 32, 105, 110, 112,
- 117, 116, 91, 116, 121, 112, 101, 61, 34, 114, 101, 115, 101, 116, 34, 93,
- 58, 102, 111, 99, 117, 115, 44, 32, 105, 110, 112, 117, 116, 91, 116, 121,
- 112, 101, 61, 34, 115, 101, 97, 114, 99, 104, 34, 93, 58, 102, 111, 99,
- 117, 115, 44, 32, 105, 110, 112, 117, 116, 91, 116, 121, 112, 101, 61, 34,
- 115, 117, 98, 109, 105, 116, 34, 93, 58, 102, 111, 99, 117, 115, 44, 32,
- 105, 110, 112, 117, 116, 91, 116, 121, 112, 101, 61, 34, 102, 105, 108, 101,
- 34, 93, 58, 102, 111, 99, 117, 115, 58, 58, 45, 119, 101, 98, 107, 105,
- 116, 45, 102, 105, 108, 101, 45, 117, 112, 108, 111, 97, 100, 45, 98, 117,
- 116, 116, 111, 110, 32, 123, 32, 111, 117, 116, 108, 105, 110, 101, 45, 111,
- 102, 102, 115, 101, 116, 58, 32, 48, 32, 125, 32, 97, 58, 45, 119, 101,
- 98, 107, 105, 116, 45, 97, 110, 121, 45, 108, 105, 110, 107, 32, 123, 32,
- 99, 111, 108, 111, 114, 58, 32, 45, 119, 101, 98, 107, 105, 116, 45, 108,
- 105, 110, 107, 59, 32, 116, 101, 120, 116, 45, 100, 101, 99, 111, 114, 97,
- 116, 105, 111, 110, 58, 32, 117, 110, 100, 101, 114, 108, 105, 110, 101, 59,
- 32, 99, 117, 114, 115, 111, 114, 58, 32, 97, 117, 116, 111, 59, 32, 125,
- 32, 97, 58, 45, 119, 101, 98, 107, 105, 116, 45, 97, 110, 121, 45, 108,
- 105, 110, 107, 58, 97, 99, 116, 105, 118, 101, 32, 123, 32, 99, 111, 108,
- 111, 114, 58, 32, 45, 119, 101, 98, 107, 105, 116, 45, 97, 99, 116, 105,
- 118, 101, 108, 105, 110, 107, 32, 125, 32, 110, 111, 102, 114, 97, 109, 101,
- 115, 32, 123, 32, 100, 105, 115, 112, 108, 97, 121, 58, 32, 110, 111, 110,
- 101, 32, 125, 32, 102, 114, 97, 109, 101, 115, 101, 116, 44, 32, 102, 114,
- 97, 109, 101, 32, 123, 32, 100, 105, 115, 112, 108, 97, 121, 58, 32, 98,
- 108, 111, 99, 107, 32, 125, 32, 102, 114, 97, 109, 101, 115, 101, 116, 32,
- 123, 32, 98, 111, 114, 100, 101, 114, 45, 99, 111, 108, 111, 114, 58, 32,
- 105, 110, 104, 101, 114, 105, 116, 32, 125, 32, 105, 102, 114, 97, 109, 101,
- 32, 123, 32, 98, 111, 114, 100, 101, 114, 58, 32, 50, 112, 120, 32, 105,
- 110, 115, 101, 116, 32, 125, 32, 105, 109, 103, 44, 32, 105, 110, 112, 117,
- 116, 91, 116, 121, 112, 101, 61, 105, 109, 97, 103, 101, 93, 44, 32, 118,
- 105, 100, 101, 111, 44, 32, 105, 102, 114, 97, 109, 101, 44, 32, 111, 98,
- 106, 101, 99, 116, 44, 32, 101, 109, 98, 101, 100, 44, 32, 97, 112, 112,
- 108, 101, 116, 32, 123, 32, 111, 118, 101, 114, 102, 108, 111, 119, 58, 32,
- 104, 105, 100, 100, 101, 110, 59, 32, 125
+ 125, 32, 110, 111, 98, 114, 32, 123, 32, 119, 104, 105, 116, 101, 45, 115,
+ 112, 97, 99, 101, 58, 32, 110, 111, 119, 114, 97, 112, 32, 125, 32, 58,
+ 102, 111, 99, 117, 115, 32, 123, 32, 111, 117, 116, 108, 105, 110, 101, 58,
+ 32, 97, 117, 116, 111, 32, 53, 112, 120, 32, 45, 119, 101, 98, 107, 105,
+ 116, 45, 102, 111, 99, 117, 115, 45, 114, 105, 110, 103, 45, 99, 111, 108,
+ 111, 114, 32, 125, 32, 104, 116, 109, 108, 58, 102, 111, 99, 117, 115, 44,
+ 32, 98, 111, 100, 121, 58, 102, 111, 99, 117, 115, 44, 32, 105, 110, 112,
+ 117, 116, 91, 114, 101, 97, 100, 111, 110, 108, 121, 93, 58, 102, 111, 99,
+ 117, 115, 32, 123, 32, 111, 117, 116, 108, 105, 110, 101, 58, 32, 110, 111,
+ 110, 101, 32, 125, 32, 105, 110, 112, 117, 116, 58, 102, 111, 99, 117, 115,
+ 44, 32, 116, 101, 120, 116, 97, 114, 101, 97, 58, 102, 111, 99, 117, 115,
+ 44, 32, 105, 115, 105, 110, 100, 101, 120, 58, 102, 111, 99, 117, 115, 44,
+ 32, 107, 101, 121, 103, 101, 110, 58, 102, 111, 99, 117, 115, 44, 32, 115,
+ 101, 108, 101, 99, 116, 58, 102, 111, 99, 117, 115, 32, 123, 32, 111, 117,
+ 116, 108, 105, 110, 101, 45, 111, 102, 102, 115, 101, 116, 58, 32, 45, 50,
+ 112, 120, 32, 125, 32, 105, 110, 112, 117, 116, 91, 116, 121, 112, 101, 61,
+ 34, 98, 117, 116, 116, 111, 110, 34, 93, 58, 102, 111, 99, 117, 115, 44,
+ 32, 105, 110, 112, 117, 116, 91, 116, 121, 112, 101, 61, 34, 99, 104, 101,
+ 99, 107, 98, 111, 120, 34, 93, 58, 102, 111, 99, 117, 115, 44, 32, 105,
+ 110, 112, 117, 116, 91, 116, 121, 112, 101, 61, 34, 102, 105, 108, 101, 34,
+ 93, 58, 102, 111, 99, 117, 115, 44, 32, 105, 110, 112, 117, 116, 91, 116,
+ 121, 112, 101, 61, 34, 104, 105, 100, 100, 101, 110, 34, 93, 58, 102, 111,
+ 99, 117, 115, 44, 32, 105, 110, 112, 117, 116, 91, 116, 121, 112, 101, 61,
+ 34, 105, 109, 97, 103, 101, 34, 93, 58, 102, 111, 99, 117, 115, 44, 32,
+ 105, 110, 112, 117, 116, 91, 116, 121, 112, 101, 61, 34, 114, 97, 100, 105,
+ 111, 34, 93, 58, 102, 111, 99, 117, 115, 44, 32, 105, 110, 112, 117, 116,
+ 91, 116, 121, 112, 101, 61, 34, 114, 101, 115, 101, 116, 34, 93, 58, 102,
+ 111, 99, 117, 115, 44, 32, 105, 110, 112, 117, 116, 91, 116, 121, 112, 101,
+ 61, 34, 115, 101, 97, 114, 99, 104, 34, 93, 58, 102, 111, 99, 117, 115,
+ 44, 32, 105, 110, 112, 117, 116, 91, 116, 121, 112, 101, 61, 34, 115, 117,
+ 98, 109, 105, 116, 34, 93, 58, 102, 111, 99, 117, 115, 44, 32, 105, 110,
+ 112, 117, 116, 91, 116, 121, 112, 101, 61, 34, 102, 105, 108, 101, 34, 93,
+ 58, 102, 111, 99, 117, 115, 58, 58, 45, 119, 101, 98, 107, 105, 116, 45,
+ 102, 105, 108, 101, 45, 117, 112, 108, 111, 97, 100, 45, 98, 117, 116, 116,
+ 111, 110, 32, 123, 32, 111, 117, 116, 108, 105, 110, 101, 45, 111, 102, 102,
+ 115, 101, 116, 58, 32, 48, 32, 125, 32, 97, 58, 45, 119, 101, 98, 107,
+ 105, 116, 45, 97, 110, 121, 45, 108, 105, 110, 107, 32, 123, 32, 99, 111,
+ 108, 111, 114, 58, 32, 45, 119, 101, 98, 107, 105, 116, 45, 108, 105, 110,
+ 107, 59, 32, 116, 101, 120, 116, 45, 100, 101, 99, 111, 114, 97, 116, 105,
+ 111, 110, 58, 32, 117, 110, 100, 101, 114, 108, 105, 110, 101, 59, 32, 99,
+ 117, 114, 115, 111, 114, 58, 32, 97, 117, 116, 111, 59, 32, 125, 32, 97,
+ 58, 45, 119, 101, 98, 107, 105, 116, 45, 97, 110, 121, 45, 108, 105, 110,
+ 107, 58, 97, 99, 116, 105, 118, 101, 32, 123, 32, 99, 111, 108, 111, 114,
+ 58, 32, 45, 119, 101, 98, 107, 105, 116, 45, 97, 99, 116, 105, 118, 101,
+ 108, 105, 110, 107, 32, 125, 32, 110, 111, 102, 114, 97, 109, 101, 115, 32,
+ 123, 32, 100, 105, 115, 112, 108, 97, 121, 58, 32, 110, 111, 110, 101, 32,
+ 125, 32, 102, 114, 97, 109, 101, 115, 101, 116, 44, 32, 102, 114, 97, 109,
+ 101, 32, 123, 32, 100, 105, 115, 112, 108, 97, 121, 58, 32, 98, 108, 111,
+ 99, 107, 32, 125, 32, 102, 114, 97, 109, 101, 115, 101, 116, 32, 123, 32,
+ 98, 111, 114, 100, 101, 114, 45, 99, 111, 108, 111, 114, 58, 32, 105, 110,
+ 104, 101, 114, 105, 116, 32, 125, 32, 105, 102, 114, 97, 109, 101, 32, 123,
+ 32, 98, 111, 114, 100, 101, 114, 58, 32, 50, 112, 120, 32, 105, 110, 115,
+ 101, 116, 32, 125
};
extern const char quirksUserAgentStyleSheet[359] = {
105, 109, 103, 91, 97, 108, 105, 103, 110, 61, 34, 108, 101, 102, 116, 34,
@@ -903,7 +901,7 @@ extern const char wmlUserAgentStyleSheet[2956] = {
32, 99, 111, 108, 111, 114, 58, 32, 45, 119, 101, 98, 107, 105, 116, 45,
97, 99, 116, 105, 118, 101, 108, 105, 110, 107, 32, 125
};
-extern const char mediaControlsUserAgentStyleSheet[1999] = {
+extern const char mediaControlsUserAgentStyleSheet[2346] = {
97, 117, 100, 105, 111, 32, 123, 32, 119, 105, 100, 116, 104, 58, 32, 50,
48, 48, 112, 120, 59, 32, 104, 101, 105, 103, 104, 116, 58, 32, 49, 54,
112, 120, 59, 32, 125, 32, 97, 117, 100, 105, 111, 58, 58, 45, 119, 101,
@@ -914,120 +912,142 @@ extern const char mediaControlsUserAgentStyleSheet[1999] = {
32, 100, 105, 115, 112, 108, 97, 121, 58, 32, 45, 119, 101, 98, 107, 105,
116, 45, 98, 111, 120, 59, 32, 45, 119, 101, 98, 107, 105, 116, 45, 98,
111, 120, 45, 111, 114, 105, 101, 110, 116, 58, 32, 104, 111, 114, 105, 122,
- 111, 110, 116, 97, 108, 59, 32, 45, 119, 101, 98, 107, 105, 116, 45, 117,
- 115, 101, 114, 45, 115, 101, 108, 101, 99, 116, 58, 32, 110, 111, 110, 101,
- 59, 32, 112, 111, 115, 105, 116, 105, 111, 110, 58, 32, 97, 98, 115, 111,
- 108, 117, 116, 101, 59, 32, 98, 111, 116, 116, 111, 109, 58, 32, 48, 59,
- 32, 119, 105, 100, 116, 104, 58, 32, 49, 48, 48, 37, 59, 32, 122, 45,
- 105, 110, 100, 101, 120, 58, 32, 48, 59, 32, 111, 118, 101, 114, 102, 108,
- 111, 119, 58, 32, 104, 105, 100, 100, 101, 110, 59, 32, 104, 101, 105, 103,
- 104, 116, 58, 32, 49, 54, 112, 120, 59, 32, 116, 101, 120, 116, 45, 97,
- 108, 105, 103, 110, 58, 32, 114, 105, 103, 104, 116, 59, 32, 125, 32, 118,
- 105, 100, 101, 111, 58, 45, 119, 101, 98, 107, 105, 116, 45, 102, 117, 108,
- 108, 45, 112, 97, 103, 101, 45, 109, 101, 100, 105, 97, 58, 58, 45, 119,
- 101, 98, 107, 105, 116, 45, 109, 101, 100, 105, 97, 45, 99, 111, 110, 116,
- 114, 111, 108, 115, 45, 112, 97, 110, 101, 108, 32, 123, 32, 98, 111, 116,
- 116, 111, 109, 58, 32, 45, 49, 54, 112, 120, 59, 32, 125, 32, 97, 117,
- 100, 105, 111, 58, 58, 45, 119, 101, 98, 107, 105, 116, 45, 109, 101, 100,
- 105, 97, 45, 99, 111, 110, 116, 114, 111, 108, 115, 45, 109, 117, 116, 101,
- 45, 98, 117, 116, 116, 111, 110, 44, 32, 118, 105, 100, 101, 111, 58, 58,
+ 111, 110, 116, 97, 108, 59, 32, 45, 119, 101, 98, 107, 105, 116, 45, 98,
+ 111, 120, 45, 97, 108, 105, 103, 110, 58, 32, 99, 101, 110, 116, 101, 114,
+ 59, 32, 45, 119, 101, 98, 107, 105, 116, 45, 117, 115, 101, 114, 45, 115,
+ 101, 108, 101, 99, 116, 58, 32, 110, 111, 110, 101, 59, 32, 112, 111, 115,
+ 105, 116, 105, 111, 110, 58, 32, 97, 98, 115, 111, 108, 117, 116, 101, 59,
+ 32, 98, 111, 116, 116, 111, 109, 58, 32, 48, 59, 32, 119, 105, 100, 116,
+ 104, 58, 32, 49, 48, 48, 37, 59, 32, 122, 45, 105, 110, 100, 101, 120,
+ 58, 32, 48, 59, 32, 111, 118, 101, 114, 102, 108, 111, 119, 58, 32, 104,
+ 105, 100, 100, 101, 110, 59, 32, 104, 101, 105, 103, 104, 116, 58, 32, 49,
+ 54, 112, 120, 59, 32, 116, 101, 120, 116, 45, 97, 108, 105, 103, 110, 58,
+ 32, 114, 105, 103, 104, 116, 59, 32, 125, 32, 118, 105, 100, 101, 111, 58,
+ 45, 119, 101, 98, 107, 105, 116, 45, 102, 117, 108, 108, 45, 112, 97, 103,
+ 101, 45, 109, 101, 100, 105, 97, 58, 58, 45, 119, 101, 98, 107, 105, 116,
+ 45, 109, 101, 100, 105, 97, 45, 99, 111, 110, 116, 114, 111, 108, 115, 45,
+ 112, 97, 110, 101, 108, 32, 123, 32, 98, 111, 116, 116, 111, 109, 58, 32,
+ 45, 49, 54, 112, 120, 59, 32, 125, 32, 97, 117, 100, 105, 111, 58, 58,
45, 119, 101, 98, 107, 105, 116, 45, 109, 101, 100, 105, 97, 45, 99, 111,
110, 116, 114, 111, 108, 115, 45, 109, 117, 116, 101, 45, 98, 117, 116, 116,
- 111, 110, 32, 123, 32, 45, 119, 101, 98, 107, 105, 116, 45, 97, 112, 112,
- 101, 97, 114, 97, 110, 99, 101, 58, 32, 109, 101, 100, 105, 97, 45, 109,
- 117, 116, 101, 45, 98, 117, 116, 116, 111, 110, 59, 32, 100, 105, 115, 112,
+ 111, 110, 44, 32, 118, 105, 100, 101, 111, 58, 58, 45, 119, 101, 98, 107,
+ 105, 116, 45, 109, 101, 100, 105, 97, 45, 99, 111, 110, 116, 114, 111, 108,
+ 115, 45, 109, 117, 116, 101, 45, 98, 117, 116, 116, 111, 110, 32, 123, 32,
+ 45, 119, 101, 98, 107, 105, 116, 45, 97, 112, 112, 101, 97, 114, 97, 110,
+ 99, 101, 58, 32, 109, 101, 100, 105, 97, 45, 109, 117, 116, 101, 45, 98,
+ 117, 116, 116, 111, 110, 59, 32, 100, 105, 115, 112, 108, 97, 121, 58, 32,
+ 45, 119, 101, 98, 107, 105, 116, 45, 98, 111, 120, 59, 32, 119, 105, 100,
+ 116, 104, 58, 32, 49, 54, 112, 120, 59, 32, 104, 101, 105, 103, 104, 116,
+ 58, 32, 49, 54, 112, 120, 59, 32, 125, 32, 97, 117, 100, 105, 111, 58,
+ 58, 45, 119, 101, 98, 107, 105, 116, 45, 109, 101, 100, 105, 97, 45, 99,
+ 111, 110, 116, 114, 111, 108, 115, 45, 112, 108, 97, 121, 45, 98, 117, 116,
+ 116, 111, 110, 44, 32, 118, 105, 100, 101, 111, 58, 58, 45, 119, 101, 98,
+ 107, 105, 116, 45, 109, 101, 100, 105, 97, 45, 99, 111, 110, 116, 114, 111,
+ 108, 115, 45, 112, 108, 97, 121, 45, 98, 117, 116, 116, 111, 110, 32, 123,
+ 32, 45, 119, 101, 98, 107, 105, 116, 45, 97, 112, 112, 101, 97, 114, 97,
+ 110, 99, 101, 58, 32, 109, 101, 100, 105, 97, 45, 112, 108, 97, 121, 45,
+ 98, 117, 116, 116, 111, 110, 59, 32, 100, 105, 115, 112, 108, 97, 121, 58,
+ 32, 45, 119, 101, 98, 107, 105, 116, 45, 98, 111, 120, 59, 32, 119, 105,
+ 100, 116, 104, 58, 32, 49, 54, 112, 120, 59, 32, 104, 101, 105, 103, 104,
+ 116, 58, 32, 49, 54, 112, 120, 59, 32, 125, 32, 97, 117, 100, 105, 111,
+ 58, 58, 45, 119, 101, 98, 107, 105, 116, 45, 109, 101, 100, 105, 97, 45,
+ 99, 111, 110, 116, 114, 111, 108, 115, 45, 116, 105, 109, 101, 108, 105, 110,
+ 101, 45, 99, 111, 110, 116, 97, 105, 110, 101, 114, 44, 32, 118, 105, 100,
+ 101, 111, 58, 58, 45, 119, 101, 98, 107, 105, 116, 45, 109, 101, 100, 105,
+ 97, 45, 99, 111, 110, 116, 114, 111, 108, 115, 45, 116, 105, 109, 101, 108,
+ 105, 110, 101, 45, 99, 111, 110, 116, 97, 105, 110, 101, 114, 32, 123, 32,
+ 45, 119, 101, 98, 107, 105, 116, 45, 97, 112, 112, 101, 97, 114, 97, 110,
+ 99, 101, 58, 32, 109, 101, 100, 105, 97, 45, 99, 111, 110, 116, 114, 111,
+ 108, 115, 45, 98, 97, 99, 107, 103, 114, 111, 117, 110, 100, 59, 32, 100,
+ 105, 115, 112, 108, 97, 121, 58, 32, 45, 119, 101, 98, 107, 105, 116, 45,
+ 98, 111, 120, 59, 32, 45, 119, 101, 98, 107, 105, 116, 45, 98, 111, 120,
+ 45, 111, 114, 105, 101, 110, 116, 58, 32, 104, 111, 114, 105, 122, 111, 110,
+ 116, 97, 108, 59, 32, 45, 119, 101, 98, 107, 105, 116, 45, 98, 111, 120,
+ 45, 97, 108, 105, 103, 110, 58, 32, 99, 101, 110, 116, 101, 114, 59, 32,
+ 45, 119, 101, 98, 107, 105, 116, 45, 98, 111, 120, 45, 112, 97, 99, 107,
+ 58, 32, 101, 110, 100, 59, 32, 45, 119, 101, 98, 107, 105, 116, 45, 98,
+ 111, 120, 45, 102, 108, 101, 120, 58, 32, 49, 59, 32, 45, 119, 101, 98,
+ 107, 105, 116, 45, 117, 115, 101, 114, 45, 115, 101, 108, 101, 99, 116, 58,
+ 32, 110, 111, 110, 101, 59, 32, 104, 101, 105, 103, 104, 116, 58, 32, 49,
+ 54, 112, 120, 59, 32, 125, 32, 97, 117, 100, 105, 111, 58, 58, 45, 119,
+ 101, 98, 107, 105, 116, 45, 109, 101, 100, 105, 97, 45, 99, 111, 110, 116,
+ 114, 111, 108, 115, 45, 99, 117, 114, 114, 101, 110, 116, 45, 116, 105, 109,
+ 101, 45, 100, 105, 115, 112, 108, 97, 121, 44, 32, 118, 105, 100, 101, 111,
+ 58, 58, 45, 119, 101, 98, 107, 105, 116, 45, 109, 101, 100, 105, 97, 45,
+ 99, 111, 110, 116, 114, 111, 108, 115, 45, 99, 117, 114, 114, 101, 110, 116,
+ 45, 116, 105, 109, 101, 45, 100, 105, 115, 112, 108, 97, 121, 32, 123, 32,
+ 100, 105, 115, 112, 108, 97, 121, 58, 32, 110, 111, 110, 101, 59, 32, 125,
+ 32, 97, 117, 100, 105, 111, 58, 58, 45, 119, 101, 98, 107, 105, 116, 45,
+ 109, 101, 100, 105, 97, 45, 99, 111, 110, 116, 114, 111, 108, 115, 45, 116,
+ 105, 109, 101, 45, 114, 101, 109, 97, 105, 110, 105, 110, 103, 45, 100, 105,
+ 115, 112, 108, 97, 121, 44, 32, 118, 105, 100, 101, 111, 58, 58, 45, 119,
+ 101, 98, 107, 105, 116, 45, 109, 101, 100, 105, 97, 45, 99, 111, 110, 116,
+ 114, 111, 108, 115, 45, 116, 105, 109, 101, 45, 114, 101, 109, 97, 105, 110,
+ 105, 110, 103, 45, 100, 105, 115, 112, 108, 97, 121, 32, 123, 32, 100, 105,
+ 115, 112, 108, 97, 121, 58, 32, 110, 111, 110, 101, 59, 32, 125, 32, 97,
+ 117, 100, 105, 111, 58, 58, 45, 119, 101, 98, 107, 105, 116, 45, 109, 101,
+ 100, 105, 97, 45, 99, 111, 110, 116, 114, 111, 108, 115, 45, 116, 105, 109,
+ 101, 108, 105, 110, 101, 44, 32, 118, 105, 100, 101, 111, 58, 58, 45, 119,
+ 101, 98, 107, 105, 116, 45, 109, 101, 100, 105, 97, 45, 99, 111, 110, 116,
+ 114, 111, 108, 115, 45, 116, 105, 109, 101, 108, 105, 110, 101, 32, 123, 32,
+ 45, 119, 101, 98, 107, 105, 116, 45, 97, 112, 112, 101, 97, 114, 97, 110,
+ 99, 101, 58, 32, 109, 101, 100, 105, 97, 45, 115, 108, 105, 100, 101, 114,
+ 59, 32, 100, 105, 115, 112, 108, 97, 121, 58, 32, 45, 119, 101, 98, 107,
+ 105, 116, 45, 98, 111, 120, 59, 32, 45, 119, 101, 98, 107, 105, 116, 45,
+ 98, 111, 120, 45, 102, 108, 101, 120, 58, 32, 49, 59, 32, 104, 101, 105,
+ 103, 104, 116, 58, 32, 49, 54, 112, 120, 59, 32, 112, 97, 100, 100, 105,
+ 110, 103, 58, 32, 48, 112, 120, 32, 50, 112, 120, 59, 32, 125, 32, 97,
+ 117, 100, 105, 111, 58, 58, 45, 119, 101, 98, 107, 105, 116, 45, 109, 101,
+ 100, 105, 97, 45, 99, 111, 110, 116, 114, 111, 108, 115, 45, 115, 101, 101,
+ 107, 45, 98, 97, 99, 107, 45, 98, 117, 116, 116, 111, 110, 44, 32, 118,
+ 105, 100, 101, 111, 58, 58, 45, 119, 101, 98, 107, 105, 116, 45, 109, 101,
+ 100, 105, 97, 45, 99, 111, 110, 116, 114, 111, 108, 115, 45, 115, 101, 101,
+ 107, 45, 98, 97, 99, 107, 45, 98, 117, 116, 116, 111, 110, 32, 123, 32,
+ 45, 119, 101, 98, 107, 105, 116, 45, 97, 112, 112, 101, 97, 114, 97, 110,
+ 99, 101, 58, 32, 109, 101, 100, 105, 97, 45, 115, 101, 101, 107, 45, 98,
+ 97, 99, 107, 45, 98, 117, 116, 116, 111, 110, 59, 32, 100, 105, 115, 112,
108, 97, 121, 58, 32, 45, 119, 101, 98, 107, 105, 116, 45, 98, 111, 120,
59, 32, 119, 105, 100, 116, 104, 58, 32, 49, 54, 112, 120, 59, 32, 104,
101, 105, 103, 104, 116, 58, 32, 49, 54, 112, 120, 59, 32, 125, 32, 97,
117, 100, 105, 111, 58, 58, 45, 119, 101, 98, 107, 105, 116, 45, 109, 101,
- 100, 105, 97, 45, 99, 111, 110, 116, 114, 111, 108, 115, 45, 112, 108, 97,
- 121, 45, 98, 117, 116, 116, 111, 110, 44, 32, 118, 105, 100, 101, 111, 58,
- 58, 45, 119, 101, 98, 107, 105, 116, 45, 109, 101, 100, 105, 97, 45, 99,
- 111, 110, 116, 114, 111, 108, 115, 45, 112, 108, 97, 121, 45, 98, 117, 116,
- 116, 111, 110, 32, 123, 32, 45, 119, 101, 98, 107, 105, 116, 45, 97, 112,
- 112, 101, 97, 114, 97, 110, 99, 101, 58, 32, 109, 101, 100, 105, 97, 45,
- 112, 108, 97, 121, 45, 98, 117, 116, 116, 111, 110, 59, 32, 100, 105, 115,
- 112, 108, 97, 121, 58, 32, 45, 119, 101, 98, 107, 105, 116, 45, 98, 111,
- 120, 59, 32, 119, 105, 100, 116, 104, 58, 32, 49, 54, 112, 120, 59, 32,
- 104, 101, 105, 103, 104, 116, 58, 32, 49, 54, 112, 120, 59, 32, 125, 32,
- 97, 117, 100, 105, 111, 58, 58, 45, 119, 101, 98, 107, 105, 116, 45, 109,
- 101, 100, 105, 97, 45, 99, 111, 110, 116, 114, 111, 108, 115, 45, 116, 105,
- 109, 101, 108, 105, 110, 101, 45, 99, 111, 110, 116, 97, 105, 110, 101, 114,
+ 100, 105, 97, 45, 99, 111, 110, 116, 114, 111, 108, 115, 45, 115, 101, 101,
+ 107, 45, 102, 111, 114, 119, 97, 114, 100, 45, 98, 117, 116, 116, 111, 110,
44, 32, 118, 105, 100, 101, 111, 58, 58, 45, 119, 101, 98, 107, 105, 116,
45, 109, 101, 100, 105, 97, 45, 99, 111, 110, 116, 114, 111, 108, 115, 45,
- 116, 105, 109, 101, 108, 105, 110, 101, 45, 99, 111, 110, 116, 97, 105, 110,
- 101, 114, 32, 123, 32, 45, 119, 101, 98, 107, 105, 116, 45, 97, 112, 112,
- 101, 97, 114, 97, 110, 99, 101, 58, 32, 109, 101, 100, 105, 97, 45, 116,
- 105, 109, 101, 108, 105, 110, 101, 45, 99, 111, 110, 116, 97, 105, 110, 101,
- 114, 59, 32, 100, 105, 115, 112, 108, 97, 121, 58, 32, 45, 119, 101, 98,
- 107, 105, 116, 45, 98, 111, 120, 59, 32, 45, 119, 101, 98, 107, 105, 116,
- 45, 98, 111, 120, 45, 111, 114, 105, 101, 110, 116, 58, 32, 104, 111, 114,
- 105, 122, 111, 110, 116, 97, 108, 59, 32, 45, 119, 101, 98, 107, 105, 116,
- 45, 98, 111, 120, 45, 97, 108, 105, 103, 110, 58, 32, 99, 101, 110, 116,
- 101, 114, 59, 32, 45, 119, 101, 98, 107, 105, 116, 45, 98, 111, 120, 45,
- 112, 97, 99, 107, 58, 32, 101, 110, 100, 59, 32, 45, 119, 101, 98, 107,
- 105, 116, 45, 98, 111, 120, 45, 102, 108, 101, 120, 58, 32, 49, 59, 32,
- 45, 119, 101, 98, 107, 105, 116, 45, 117, 115, 101, 114, 45, 115, 101, 108,
- 101, 99, 116, 58, 32, 110, 111, 110, 101, 59, 32, 104, 101, 105, 103, 104,
+ 115, 101, 101, 107, 45, 102, 111, 114, 119, 97, 114, 100, 45, 98, 117, 116,
+ 116, 111, 110, 32, 123, 32, 45, 119, 101, 98, 107, 105, 116, 45, 97, 112,
+ 112, 101, 97, 114, 97, 110, 99, 101, 58, 32, 109, 101, 100, 105, 97, 45,
+ 115, 101, 101, 107, 45, 102, 111, 114, 119, 97, 114, 100, 45, 98, 117, 116,
+ 116, 111, 110, 59, 32, 100, 105, 115, 112, 108, 97, 121, 58, 32, 45, 119,
+ 101, 98, 107, 105, 116, 45, 98, 111, 120, 59, 32, 119, 105, 100, 116, 104,
+ 58, 32, 49, 54, 112, 120, 59, 32, 104, 101, 105, 103, 104, 116, 58, 32,
+ 49, 54, 112, 120, 59, 32, 125, 32, 97, 117, 100, 105, 111, 58, 58, 45,
+ 119, 101, 98, 107, 105, 116, 45, 109, 101, 100, 105, 97, 45, 99, 111, 110,
+ 116, 114, 111, 108, 115, 45, 102, 117, 108, 108, 115, 99, 114, 101, 101, 110,
+ 45, 98, 117, 116, 116, 111, 110, 44, 32, 118, 105, 100, 101, 111, 58, 58,
+ 45, 119, 101, 98, 107, 105, 116, 45, 109, 101, 100, 105, 97, 45, 99, 111,
+ 110, 116, 114, 111, 108, 115, 45, 102, 117, 108, 108, 115, 99, 114, 101, 101,
+ 110, 45, 98, 117, 116, 116, 111, 110, 32, 123, 32, 45, 119, 101, 98, 107,
+ 105, 116, 45, 97, 112, 112, 101, 97, 114, 97, 110, 99, 101, 58, 32, 109,
+ 101, 100, 105, 97, 45, 102, 117, 108, 108, 115, 99, 114, 101, 101, 110, 45,
+ 98, 117, 116, 116, 111, 110, 59, 32, 100, 105, 115, 112, 108, 97, 121, 58,
+ 32, 45, 119, 101, 98, 107, 105, 116, 45, 98, 111, 120, 59, 32, 119, 105,
+ 100, 116, 104, 58, 32, 49, 54, 112, 120, 59, 32, 104, 101, 105, 103, 104,
116, 58, 32, 49, 54, 112, 120, 59, 32, 125, 32, 97, 117, 100, 105, 111,
58, 58, 45, 119, 101, 98, 107, 105, 116, 45, 109, 101, 100, 105, 97, 45,
- 99, 111, 110, 116, 114, 111, 108, 115, 45, 99, 117, 114, 114, 101, 110, 116,
- 45, 116, 105, 109, 101, 45, 100, 105, 115, 112, 108, 97, 121, 44, 32, 118,
- 105, 100, 101, 111, 58, 58, 45, 119, 101, 98, 107, 105, 116, 45, 109, 101,
- 100, 105, 97, 45, 99, 111, 110, 116, 114, 111, 108, 115, 45, 99, 117, 114,
- 114, 101, 110, 116, 45, 116, 105, 109, 101, 45, 100, 105, 115, 112, 108, 97,
- 121, 32, 123, 32, 100, 105, 115, 112, 108, 97, 121, 58, 32, 110, 111, 110,
- 101, 59, 32, 125, 32, 97, 117, 100, 105, 111, 58, 58, 45, 119, 101, 98,
- 107, 105, 116, 45, 109, 101, 100, 105, 97, 45, 99, 111, 110, 116, 114, 111,
- 108, 115, 45, 116, 105, 109, 101, 45, 114, 101, 109, 97, 105, 110, 105, 110,
- 103, 45, 100, 105, 115, 112, 108, 97, 121, 44, 32, 118, 105, 100, 101, 111,
- 58, 58, 45, 119, 101, 98, 107, 105, 116, 45, 109, 101, 100, 105, 97, 45,
- 99, 111, 110, 116, 114, 111, 108, 115, 45, 116, 105, 109, 101, 45, 114, 101,
- 109, 97, 105, 110, 105, 110, 103, 45, 100, 105, 115, 112, 108, 97, 121, 32,
- 123, 32, 100, 105, 115, 112, 108, 97, 121, 58, 32, 110, 111, 110, 101, 59,
- 32, 125, 32, 97, 117, 100, 105, 111, 58, 58, 45, 119, 101, 98, 107, 105,
- 116, 45, 109, 101, 100, 105, 97, 45, 99, 111, 110, 116, 114, 111, 108, 115,
- 45, 116, 105, 109, 101, 108, 105, 110, 101, 44, 32, 118, 105, 100, 101, 111,
- 58, 58, 45, 119, 101, 98, 107, 105, 116, 45, 109, 101, 100, 105, 97, 45,
- 99, 111, 110, 116, 114, 111, 108, 115, 45, 116, 105, 109, 101, 108, 105, 110,
- 101, 32, 123, 32, 45, 119, 101, 98, 107, 105, 116, 45, 97, 112, 112, 101,
- 97, 114, 97, 110, 99, 101, 58, 32, 109, 101, 100, 105, 97, 45, 115, 108,
- 105, 100, 101, 114, 59, 32, 100, 105, 115, 112, 108, 97, 121, 58, 32, 45,
- 119, 101, 98, 107, 105, 116, 45, 98, 111, 120, 59, 32, 45, 119, 101, 98,
- 107, 105, 116, 45, 98, 111, 120, 45, 102, 108, 101, 120, 58, 32, 49, 59,
- 32, 104, 101, 105, 103, 104, 116, 58, 32, 49, 54, 112, 120, 59, 32, 112,
- 97, 100, 100, 105, 110, 103, 58, 32, 48, 112, 120, 32, 50, 112, 120, 59,
- 32, 125, 32, 97, 117, 100, 105, 111, 58, 58, 45, 119, 101, 98, 107, 105,
- 116, 45, 109, 101, 100, 105, 97, 45, 99, 111, 110, 116, 114, 111, 108, 115,
- 45, 115, 101, 101, 107, 45, 98, 97, 99, 107, 45, 98, 117, 116, 116, 111,
- 110, 44, 32, 118, 105, 100, 101, 111, 58, 58, 45, 119, 101, 98, 107, 105,
- 116, 45, 109, 101, 100, 105, 97, 45, 99, 111, 110, 116, 114, 111, 108, 115,
- 45, 115, 101, 101, 107, 45, 98, 97, 99, 107, 45, 98, 117, 116, 116, 111,
- 110, 32, 123, 32, 45, 119, 101, 98, 107, 105, 116, 45, 97, 112, 112, 101,
- 97, 114, 97, 110, 99, 101, 58, 32, 109, 101, 100, 105, 97, 45, 115, 101,
- 101, 107, 45, 98, 97, 99, 107, 45, 98, 117, 116, 116, 111, 110, 59, 32,
- 100, 105, 115, 112, 108, 97, 121, 58, 32, 45, 119, 101, 98, 107, 105, 116,
- 45, 98, 111, 120, 59, 32, 119, 105, 100, 116, 104, 58, 32, 49, 54, 112,
- 120, 59, 32, 104, 101, 105, 103, 104, 116, 58, 32, 49, 54, 112, 120, 59,
- 32, 125, 32, 97, 117, 100, 105, 111, 58, 58, 45, 119, 101, 98, 107, 105,
- 116, 45, 109, 101, 100, 105, 97, 45, 99, 111, 110, 116, 114, 111, 108, 115,
- 45, 115, 101, 101, 107, 45, 102, 111, 114, 119, 97, 114, 100, 45, 98, 117,
- 116, 116, 111, 110, 44, 32, 118, 105, 100, 101, 111, 58, 58, 45, 119, 101,
- 98, 107, 105, 116, 45, 109, 101, 100, 105, 97, 45, 99, 111, 110, 116, 114,
- 111, 108, 115, 45, 115, 101, 101, 107, 45, 102, 111, 114, 119, 97, 114, 100,
- 45, 98, 117, 116, 116, 111, 110, 32, 123, 32, 45, 119, 101, 98, 107, 105,
- 116, 45, 97, 112, 112, 101, 97, 114, 97, 110, 99, 101, 58, 32, 109, 101,
- 100, 105, 97, 45, 115, 101, 101, 107, 45, 102, 111, 114, 119, 97, 114, 100,
- 45, 98, 117, 116, 116, 111, 110, 59, 32, 100, 105, 115, 112, 108, 97, 121,
- 58, 32, 45, 119, 101, 98, 107, 105, 116, 45, 98, 111, 120, 59, 32, 119,
- 105, 100, 116, 104, 58, 32, 49, 54, 112, 120, 59, 32, 104, 101, 105, 103,
- 104, 116, 58, 32, 49, 54, 112, 120, 59, 32, 125, 32, 97, 117, 100, 105,
- 111, 58, 58, 45, 119, 101, 98, 107, 105, 116, 45, 109, 101, 100, 105, 97,
- 45, 99, 111, 110, 116, 114, 111, 108, 115, 45, 102, 117, 108, 108, 115, 99,
- 114, 101, 101, 110, 45, 98, 117, 116, 116, 111, 110, 44, 32, 118, 105, 100,
- 101, 111, 58, 58, 45, 119, 101, 98, 107, 105, 116, 45, 109, 101, 100, 105,
- 97, 45, 99, 111, 110, 116, 114, 111, 108, 115, 45, 102, 117, 108, 108, 115,
- 99, 114, 101, 101, 110, 45, 98, 117, 116, 116, 111, 110, 32, 123, 32, 100,
- 105, 115, 112, 108, 97, 121, 58, 32, 110, 111, 110, 101, 59, 32, 125
+ 99, 111, 110, 116, 114, 111, 108, 115, 45, 114, 101, 119, 105, 110, 100, 45,
+ 98, 117, 116, 116, 111, 110, 44, 32, 118, 105, 100, 101, 111, 58, 58, 45,
+ 119, 101, 98, 107, 105, 116, 45, 109, 101, 100, 105, 97, 45, 99, 111, 110,
+ 116, 114, 111, 108, 115, 45, 114, 101, 119, 105, 110, 100, 45, 98, 117, 116,
+ 116, 111, 110, 32, 123, 32, 100, 105, 115, 112, 108, 97, 121, 58, 32, 110,
+ 111, 110, 101, 59, 32, 125, 32, 97, 117, 100, 105, 111, 58, 58, 45, 119,
+ 101, 98, 107, 105, 116, 45, 109, 101, 100, 105, 97, 45, 99, 111, 110, 116,
+ 114, 111, 108, 115, 45, 114, 101, 116, 117, 114, 110, 45, 116, 111, 45, 114,
+ 101, 97, 108, 116, 105, 109, 101, 45, 98, 117, 116, 116, 111, 110, 44, 32,
+ 118, 105, 100, 101, 111, 58, 58, 45, 119, 101, 98, 107, 105, 116, 45, 109,
+ 101, 100, 105, 97, 45, 99, 111, 110, 116, 114, 111, 108, 115, 45, 114, 101,
+ 116, 117, 114, 110, 45, 116, 111, 45, 114, 101, 97, 108, 116, 105, 109, 101,
+ 45, 98, 117, 116, 116, 111, 110, 32, 123, 32, 100, 105, 115, 112, 108, 97,
+ 121, 58, 32, 110, 111, 110, 101, 59, 32, 125
};
}
diff --git a/src/3rdparty/webkit/WebCore/generated/XPathGrammar.cpp b/src/3rdparty/webkit/WebCore/generated/XPathGrammar.cpp
index d06adf6..5f34852 100644
--- a/src/3rdparty/webkit/WebCore/generated/XPathGrammar.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/XPathGrammar.cpp
@@ -1,24 +1,23 @@
-/* A Bison parser, made by GNU Bison 2.3. */
-/* Skeleton implementation for Bison's Yacc-like parsers in C
+/* A Bison parser, made by GNU Bison 2.4.1. */
- Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
+/* Skeleton implementation for Bison's Yacc-like parsers in C
+
+ Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
Free Software Foundation, Inc.
-
- This program is free software; you can redistribute it and/or modify
+
+ This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2, or (at your option)
- any later version.
-
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
-
+
You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 51 Franklin Street, Fifth Floor,
- Boston, MA 02110-1301, USA. */
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
/* As a special exception, you may create a larger work that contains
part or all of the Bison parser skeleton and distribute that work
@@ -29,7 +28,7 @@
special exception, which will cause the skeleton and the resulting
Bison output files to be licensed under the GNU General Public
License without this special exception.
-
+
This special exception was added by the Free Software Foundation in
version 2.2 of Bison. */
@@ -47,7 +46,7 @@
#define YYBISON 1
/* Bison version. */
-#define YYBISON_VERSION "2.3"
+#define YYBISON_VERSION "2.4.1"
/* Skeleton name. */
#define YYSKELETON_NAME "yacc.c"
@@ -55,69 +54,28 @@
/* Pure parsers. */
#define YYPURE 1
+/* Push parsers. */
+#define YYPUSH 0
+
+/* Pull parsers. */
+#define YYPULL 1
+
/* Using locations. */
#define YYLSP_NEEDED 0
/* Substitute the variable and function names. */
-#define yyparse xpathyyparse
-#define yylex xpathyylex
-#define yyerror xpathyyerror
-#define yylval xpathyylval
-#define yychar xpathyychar
-#define yydebug xpathyydebug
-#define yynerrs xpathyynerrs
-
-
-/* Tokens. */
-#ifndef YYTOKENTYPE
-# define YYTOKENTYPE
- /* Put the tokens into the symbol table, so that GDB and other debuggers
- know about them. */
- enum yytokentype {
- MULOP = 258,
- RELOP = 259,
- EQOP = 260,
- MINUS = 261,
- PLUS = 262,
- AND = 263,
- OR = 264,
- AXISNAME = 265,
- NODETYPE = 266,
- PI = 267,
- FUNCTIONNAME = 268,
- LITERAL = 269,
- VARIABLEREFERENCE = 270,
- NUMBER = 271,
- DOTDOT = 272,
- SLASHSLASH = 273,
- NAMETEST = 274,
- XPATH_ERROR = 275
- };
-#endif
-/* Tokens. */
-#define MULOP 258
-#define RELOP 259
-#define EQOP 260
-#define MINUS 261
-#define PLUS 262
-#define AND 263
-#define OR 264
-#define AXISNAME 265
-#define NODETYPE 266
-#define PI 267
-#define FUNCTIONNAME 268
-#define LITERAL 269
-#define VARIABLEREFERENCE 270
-#define NUMBER 271
-#define DOTDOT 272
-#define SLASHSLASH 273
-#define NAMETEST 274
-#define XPATH_ERROR 275
-
-
+#define yyparse xpathyyparse
+#define yylex xpathyylex
+#define yyerror xpathyyerror
+#define yylval xpathyylval
+#define yychar xpathyychar
+#define yydebug xpathyydebug
+#define yynerrs xpathyynerrs
/* Copy the first part of user declarations. */
+
+/* Line 189 of yacc.c */
#line 28 "../xml/XPathGrammar.y"
@@ -131,6 +89,10 @@
#include "XPathPath.h"
#include "XPathPredicate.h"
#include "XPathVariableReference.h"
+#include <wtf/FastMalloc.h>
+
+#define YYMALLOC fastMalloc
+#define YYFREE fastFree
#define YYENABLE_NLS 0
#define YYLTYPE_IS_TRIVIAL 1
@@ -144,6 +106,9 @@ using namespace XPath;
+/* Line 189 of yacc.c */
+#line 111 "WebCore/tmp/../generated/XPathGrammar.tab.c"
+
/* Enabling traces. */
#ifndef YYDEBUG
# define YYDEBUG 0
@@ -162,10 +127,43 @@ using namespace XPath;
# define YYTOKEN_TABLE 0
#endif
+
+/* Tokens. */
+#ifndef YYTOKENTYPE
+# define YYTOKENTYPE
+ /* Put the tokens into the symbol table, so that GDB and other debuggers
+ know about them. */
+ enum yytokentype {
+ MULOP = 258,
+ RELOP = 259,
+ EQOP = 260,
+ MINUS = 261,
+ PLUS = 262,
+ AND = 263,
+ OR = 264,
+ AXISNAME = 265,
+ NODETYPE = 266,
+ PI = 267,
+ FUNCTIONNAME = 268,
+ LITERAL = 269,
+ VARIABLEREFERENCE = 270,
+ NUMBER = 271,
+ DOTDOT = 272,
+ SLASHSLASH = 273,
+ NAMETEST = 274,
+ XPATH_ERROR = 275
+ };
+#endif
+
+
+
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
typedef union YYSTYPE
-#line 56 "../xml/XPathGrammar.y"
{
+
+/* Line 214 of yacc.c */
+#line 60 "../xml/XPathGrammar.y"
+
Step::Axis axis;
Step::NodeTest* nodeTest;
NumericOp::Opcode numop;
@@ -176,19 +174,22 @@ typedef union YYSTYPE
Vector<Expression*>* argList;
Step* step;
LocationPath* locationPath;
-}
-/* Line 187 of yacc.c. */
+
+
+
+/* Line 214 of yacc.c */
#line 182 "WebCore/tmp/../generated/XPathGrammar.tab.c"
- YYSTYPE;
+} YYSTYPE;
+# define YYSTYPE_IS_TRIVIAL 1
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
-# define YYSTYPE_IS_TRIVIAL 1
#endif
-
/* Copy the second part of user declarations. */
-#line 69 "../xml/XPathGrammar.y"
+
+/* Line 264 of yacc.c */
+#line 73 "../xml/XPathGrammar.y"
static int xpathyylex(YYSTYPE* yylval) { return Parser::current()->lex(yylval); }
@@ -196,8 +197,8 @@ static void xpathyyerror(const char*) { }
-/* Line 216 of yacc.c. */
-#line 201 "WebCore/tmp/../generated/XPathGrammar.tab.c"
+/* Line 264 of yacc.c */
+#line 202 "WebCore/tmp/../generated/XPathGrammar.tab.c"
#ifdef short
# undef short
@@ -272,14 +273,14 @@ typedef short int yytype_int16;
#if (defined __STDC__ || defined __C99__FUNC__ \
|| defined __cplusplus || defined _MSC_VER)
static int
-YYID (int i)
+YYID (int yyi)
#else
static int
-YYID (i)
- int i;
+YYID (yyi)
+ int yyi;
#endif
{
- return i;
+ return yyi;
}
#endif
@@ -360,9 +361,9 @@ void free (void *); /* INFRINGES ON USER NAME SPACE */
/* A type that is properly aligned for any stack member. */
union yyalloc
{
- yytype_int16 yyss;
- YYSTYPE yyvs;
- };
+ yytype_int16 yyss_alloc;
+ YYSTYPE yyvs_alloc;
+};
/* The size of the maximum gap between one aligned stack and the next. */
# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
@@ -396,12 +397,12 @@ union yyalloc
elements in the stack, and YYPTR gives the new location of the
stack. Advance YYPTR to a properly aligned location for the next
stack. */
-# define YYSTACK_RELOCATE(Stack) \
+# define YYSTACK_RELOCATE(Stack_alloc, Stack) \
do \
{ \
YYSIZE_T yynewbytes; \
- YYCOPY (&yyptr->Stack, Stack, yysize); \
- Stack = &yyptr->Stack; \
+ YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
+ Stack = &yyptr->Stack_alloc; \
yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
yyptr += yynewbytes / sizeof (*yyptr); \
} \
@@ -503,13 +504,13 @@ static const yytype_int8 yyrhs[] =
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
static const yytype_uint16 yyrline[] =
{
- 0, 117, 117, 124, 129, 136, 142, 147, 156, 164,
- 170, 180, 191, 209, 220, 238, 242, 244, 251, 264,
- 271, 282, 286, 290, 298, 306, 313, 321, 327, 335,
- 342, 347, 354, 361, 365, 374, 386, 394, 402, 406,
- 408, 420, 425, 427, 436, 449, 451, 461, 463, 473,
- 475, 485, 487, 497, 499, 509, 511, 519, 529, 531,
- 541, 543
+ 0, 121, 121, 128, 133, 140, 146, 151, 160, 168,
+ 174, 184, 195, 213, 224, 242, 246, 248, 255, 268,
+ 275, 286, 290, 294, 302, 310, 317, 325, 331, 339,
+ 346, 351, 358, 365, 369, 378, 390, 398, 406, 410,
+ 412, 424, 429, 431, 440, 453, 455, 465, 467, 477,
+ 479, 489, 491, 501, 503, 513, 515, 523, 533, 535,
+ 545, 547
};
#endif
@@ -854,17 +855,20 @@ yy_symbol_print (yyoutput, yytype, yyvaluep)
#if (defined __STDC__ || defined __C99__FUNC__ \
|| defined __cplusplus || defined _MSC_VER)
static void
-yy_stack_print (yytype_int16 *bottom, yytype_int16 *top)
+yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
#else
static void
-yy_stack_print (bottom, top)
- yytype_int16 *bottom;
- yytype_int16 *top;
+yy_stack_print (yybottom, yytop)
+ yytype_int16 *yybottom;
+ yytype_int16 *yytop;
#endif
{
YYFPRINTF (stderr, "Stack now");
- for (; bottom <= top; ++bottom)
- YYFPRINTF (stderr, " %d", *bottom);
+ for (; yybottom <= yytop; yybottom++)
+ {
+ int yybot = *yybottom;
+ YYFPRINTF (stderr, " %d", yybot);
+ }
YYFPRINTF (stderr, "\n");
}
@@ -898,11 +902,11 @@ yy_reduce_print (yyvsp, yyrule)
/* The symbols being reduced. */
for (yyi = 0; yyi < yynrhs; yyi++)
{
- fprintf (stderr, " $%d = ", yyi + 1);
+ YYFPRINTF (stderr, " $%d = ", yyi + 1);
yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
&(yyvsp[(yyi + 1) - (yynrhs)])
);
- fprintf (stderr, "\n");
+ YYFPRINTF (stderr, "\n");
}
}
@@ -1182,10 +1186,8 @@ yydestruct (yymsg, yytype, yyvaluep)
break;
}
}
-
/* Prevent warnings from -Wmissing-prototypes. */
-
#ifdef YYPARSE_PARAM
#if defined __STDC__ || defined __cplusplus
int yyparse (void *YYPARSE_PARAM);
@@ -1204,10 +1206,9 @@ int yyparse ();
-
-/*----------.
-| yyparse. |
-`----------*/
+/*-------------------------.
+| yyparse or yypush_parse. |
+`-------------------------*/
#ifdef YYPARSE_PARAM
#if (defined __STDC__ || defined __C99__FUNC__ \
@@ -1231,74 +1232,75 @@ yyparse ()
#endif
#endif
{
- /* The look-ahead symbol. */
+/* The lookahead symbol. */
int yychar;
-/* The semantic value of the look-ahead symbol. */
+/* The semantic value of the lookahead symbol. */
YYSTYPE yylval;
-/* Number of syntax errors so far. */
-int yynerrs;
-
- int yystate;
- int yyn;
- int yyresult;
- /* Number of tokens to shift before error messages enabled. */
- int yyerrstatus;
- /* Look-ahead token as an internal (translated) token number. */
- int yytoken = 0;
-#if YYERROR_VERBOSE
- /* Buffer for error messages, and its allocated size. */
- char yymsgbuf[128];
- char *yymsg = yymsgbuf;
- YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
-#endif
-
- /* Three stacks and their tools:
- `yyss': related to states,
- `yyvs': related to semantic values,
- `yyls': related to locations.
-
- Refer to the stacks thru separate pointers, to allow yyoverflow
- to reallocate them elsewhere. */
+ /* Number of syntax errors so far. */
+ int yynerrs;
- /* The state stack. */
- yytype_int16 yyssa[YYINITDEPTH];
- yytype_int16 *yyss = yyssa;
- yytype_int16 *yyssp;
+ int yystate;
+ /* Number of tokens to shift before error messages enabled. */
+ int yyerrstatus;
- /* The semantic value stack. */
- YYSTYPE yyvsa[YYINITDEPTH];
- YYSTYPE *yyvs = yyvsa;
- YYSTYPE *yyvsp;
+ /* The stacks and their tools:
+ `yyss': related to states.
+ `yyvs': related to semantic values.
+ Refer to the stacks thru separate pointers, to allow yyoverflow
+ to reallocate them elsewhere. */
+ /* The state stack. */
+ yytype_int16 yyssa[YYINITDEPTH];
+ yytype_int16 *yyss;
+ yytype_int16 *yyssp;
-#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
+ /* The semantic value stack. */
+ YYSTYPE yyvsa[YYINITDEPTH];
+ YYSTYPE *yyvs;
+ YYSTYPE *yyvsp;
- YYSIZE_T yystacksize = YYINITDEPTH;
+ YYSIZE_T yystacksize;
+ int yyn;
+ int yyresult;
+ /* Lookahead token as an internal (translated) token number. */
+ int yytoken;
/* The variables used to return semantic value and location from the
action routines. */
YYSTYPE yyval;
+#if YYERROR_VERBOSE
+ /* Buffer for error messages, and its allocated size. */
+ char yymsgbuf[128];
+ char *yymsg = yymsgbuf;
+ YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
+#endif
+
+#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
/* The number of symbols on the RHS of the reduced rule.
Keep to zero when no symbol should be popped. */
int yylen = 0;
+ yytoken = 0;
+ yyss = yyssa;
+ yyvs = yyvsa;
+ yystacksize = YYINITDEPTH;
+
YYDPRINTF ((stderr, "Starting parse\n"));
yystate = 0;
yyerrstatus = 0;
yynerrs = 0;
- yychar = YYEMPTY; /* Cause a token to be read. */
+ yychar = YYEMPTY; /* Cause a token to be read. */
/* Initialize stack pointers.
Waste one element of value and location stack
so that they stay on the same level as the state stack.
The wasted elements are never initialized. */
-
yyssp = yyss;
yyvsp = yyvs;
@@ -1328,7 +1330,6 @@ int yynerrs;
YYSTYPE *yyvs1 = yyvs;
yytype_int16 *yyss1 = yyss;
-
/* Each stack pointer address is followed by the size of the
data in use in that stack, in bytes. This used to be a
conditional around just the two extra args, but that might
@@ -1336,7 +1337,6 @@ int yynerrs;
yyoverflow (YY_("memory exhausted"),
&yyss1, yysize * sizeof (*yyssp),
&yyvs1, yysize * sizeof (*yyvsp),
-
&yystacksize);
yyss = yyss1;
@@ -1359,9 +1359,8 @@ int yynerrs;
(union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
if (! yyptr)
goto yyexhaustedlab;
- YYSTACK_RELOCATE (yyss);
- YYSTACK_RELOCATE (yyvs);
-
+ YYSTACK_RELOCATE (yyss_alloc, yyss);
+ YYSTACK_RELOCATE (yyvs_alloc, yyvs);
# undef YYSTACK_RELOCATE
if (yyss1 != yyssa)
YYSTACK_FREE (yyss1);
@@ -1372,7 +1371,6 @@ int yynerrs;
yyssp = yyss + yysize - 1;
yyvsp = yyvs + yysize - 1;
-
YYDPRINTF ((stderr, "Stack size increased to %lu\n",
(unsigned long int) yystacksize));
@@ -1382,6 +1380,9 @@ int yynerrs;
YYDPRINTF ((stderr, "Entering state %d\n", yystate));
+ if (yystate == YYFINAL)
+ YYACCEPT;
+
goto yybackup;
/*-----------.
@@ -1390,16 +1391,16 @@ int yynerrs;
yybackup:
/* Do appropriate processing given the current state. Read a
- look-ahead token if we need one and don't already have one. */
+ lookahead token if we need one and don't already have one. */
- /* First try to decide what to do without reference to look-ahead token. */
+ /* First try to decide what to do without reference to lookahead token. */
yyn = yypact[yystate];
if (yyn == YYPACT_NINF)
goto yydefault;
- /* Not known => get a look-ahead token if don't already have one. */
+ /* Not known => get a lookahead token if don't already have one. */
- /* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol. */
+ /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */
if (yychar == YYEMPTY)
{
YYDPRINTF ((stderr, "Reading a token: "));
@@ -1431,20 +1432,16 @@ yybackup:
goto yyreduce;
}
- if (yyn == YYFINAL)
- YYACCEPT;
-
/* Count tokens shifted since error; after three, turn off error
status. */
if (yyerrstatus)
yyerrstatus--;
- /* Shift the look-ahead token. */
+ /* Shift the lookahead token. */
YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
- /* Discard the shifted token unless it is eof. */
- if (yychar != YYEOF)
- yychar = YYEMPTY;
+ /* Discard the shifted token. */
+ yychar = YYEMPTY;
yystate = yyn;
*++yyvsp = yylval;
@@ -1484,28 +1481,36 @@ yyreduce:
switch (yyn)
{
case 2:
-#line 118 "../xml/XPathGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 122 "../xml/XPathGrammar.y"
{
PARSER->m_topExpr = (yyvsp[(1) - (1)].expr);
;}
break;
case 3:
-#line 125 "../xml/XPathGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 129 "../xml/XPathGrammar.y"
{
(yyval.locationPath)->setAbsolute(false);
;}
break;
case 4:
-#line 130 "../xml/XPathGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 134 "../xml/XPathGrammar.y"
{
(yyval.locationPath)->setAbsolute(true);
;}
break;
case 5:
-#line 137 "../xml/XPathGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 141 "../xml/XPathGrammar.y"
{
(yyval.locationPath) = new LocationPath;
PARSER->registerParseNode((yyval.locationPath));
@@ -1513,14 +1518,18 @@ yyreduce:
break;
case 6:
-#line 143 "../xml/XPathGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 147 "../xml/XPathGrammar.y"
{
(yyval.locationPath) = (yyvsp[(2) - (2)].locationPath);
;}
break;
case 7:
-#line 148 "../xml/XPathGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 152 "../xml/XPathGrammar.y"
{
(yyval.locationPath) = (yyvsp[(2) - (2)].locationPath);
(yyval.locationPath)->insertFirstStep((yyvsp[(1) - (2)].step));
@@ -1529,7 +1538,9 @@ yyreduce:
break;
case 8:
-#line 157 "../xml/XPathGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 161 "../xml/XPathGrammar.y"
{
(yyval.locationPath) = new LocationPath;
(yyval.locationPath)->appendStep((yyvsp[(1) - (1)].step));
@@ -1539,7 +1550,9 @@ yyreduce:
break;
case 9:
-#line 165 "../xml/XPathGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 169 "../xml/XPathGrammar.y"
{
(yyval.locationPath)->appendStep((yyvsp[(3) - (3)].step));
PARSER->unregisterParseNode((yyvsp[(3) - (3)].step));
@@ -1547,7 +1560,9 @@ yyreduce:
break;
case 10:
-#line 171 "../xml/XPathGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 175 "../xml/XPathGrammar.y"
{
(yyval.locationPath)->appendStep((yyvsp[(2) - (3)].step));
(yyval.locationPath)->appendStep((yyvsp[(3) - (3)].step));
@@ -1557,7 +1572,9 @@ yyreduce:
break;
case 11:
-#line 181 "../xml/XPathGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 185 "../xml/XPathGrammar.y"
{
if ((yyvsp[(2) - (2)].predList)) {
(yyval.step) = new Step(Step::ChildAxis, *(yyvsp[(1) - (2)].nodeTest), *(yyvsp[(2) - (2)].predList));
@@ -1570,7 +1587,9 @@ yyreduce:
break;
case 12:
-#line 192 "../xml/XPathGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 196 "../xml/XPathGrammar.y"
{
String localName;
String namespaceURI;
@@ -1590,7 +1609,9 @@ yyreduce:
break;
case 13:
-#line 210 "../xml/XPathGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 214 "../xml/XPathGrammar.y"
{
if ((yyvsp[(3) - (3)].predList)) {
(yyval.step) = new Step((yyvsp[(1) - (3)].axis), *(yyvsp[(2) - (3)].nodeTest), *(yyvsp[(3) - (3)].predList));
@@ -1603,7 +1624,9 @@ yyreduce:
break;
case 14:
-#line 221 "../xml/XPathGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 225 "../xml/XPathGrammar.y"
{
String localName;
String namespaceURI;
@@ -1623,14 +1646,18 @@ yyreduce:
break;
case 17:
-#line 245 "../xml/XPathGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 249 "../xml/XPathGrammar.y"
{
(yyval.axis) = Step::AttributeAxis;
;}
break;
case 18:
-#line 252 "../xml/XPathGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 256 "../xml/XPathGrammar.y"
{
if (*(yyvsp[(1) - (3)].str) == "node")
(yyval.nodeTest) = new Step::NodeTest(Step::NodeTest::AnyNodeTest);
@@ -1645,7 +1672,9 @@ yyreduce:
break;
case 19:
-#line 265 "../xml/XPathGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 269 "../xml/XPathGrammar.y"
{
(yyval.nodeTest) = new Step::NodeTest(Step::NodeTest::ProcessingInstructionNodeTest);
PARSER->deleteString((yyvsp[(1) - (3)].str));
@@ -1654,7 +1683,9 @@ yyreduce:
break;
case 20:
-#line 272 "../xml/XPathGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 276 "../xml/XPathGrammar.y"
{
(yyval.nodeTest) = new Step::NodeTest(Step::NodeTest::ProcessingInstructionNodeTest, (yyvsp[(3) - (4)].str)->stripWhiteSpace());
PARSER->deleteString((yyvsp[(1) - (4)].str));
@@ -1664,14 +1695,18 @@ yyreduce:
break;
case 21:
-#line 282 "../xml/XPathGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 286 "../xml/XPathGrammar.y"
{
(yyval.predList) = 0;
;}
break;
case 23:
-#line 291 "../xml/XPathGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 295 "../xml/XPathGrammar.y"
{
(yyval.predList) = new Vector<Predicate*>;
(yyval.predList)->append(new Predicate((yyvsp[(1) - (1)].expr)));
@@ -1681,7 +1716,9 @@ yyreduce:
break;
case 24:
-#line 299 "../xml/XPathGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 303 "../xml/XPathGrammar.y"
{
(yyval.predList)->append(new Predicate((yyvsp[(2) - (2)].expr)));
PARSER->unregisterParseNode((yyvsp[(2) - (2)].expr));
@@ -1689,14 +1726,18 @@ yyreduce:
break;
case 25:
-#line 307 "../xml/XPathGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 311 "../xml/XPathGrammar.y"
{
(yyval.expr) = (yyvsp[(2) - (3)].expr);
;}
break;
case 26:
-#line 314 "../xml/XPathGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 318 "../xml/XPathGrammar.y"
{
(yyval.step) = new Step(Step::DescendantOrSelfAxis, Step::NodeTest(Step::NodeTest::AnyNodeTest));
PARSER->registerParseNode((yyval.step));
@@ -1704,7 +1745,9 @@ yyreduce:
break;
case 27:
-#line 322 "../xml/XPathGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 326 "../xml/XPathGrammar.y"
{
(yyval.step) = new Step(Step::SelfAxis, Step::NodeTest(Step::NodeTest::AnyNodeTest));
PARSER->registerParseNode((yyval.step));
@@ -1712,7 +1755,9 @@ yyreduce:
break;
case 28:
-#line 328 "../xml/XPathGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 332 "../xml/XPathGrammar.y"
{
(yyval.step) = new Step(Step::ParentAxis, Step::NodeTest(Step::NodeTest::AnyNodeTest));
PARSER->registerParseNode((yyval.step));
@@ -1720,7 +1765,9 @@ yyreduce:
break;
case 29:
-#line 336 "../xml/XPathGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 340 "../xml/XPathGrammar.y"
{
(yyval.expr) = new VariableReference(*(yyvsp[(1) - (1)].str));
PARSER->deleteString((yyvsp[(1) - (1)].str));
@@ -1729,14 +1776,18 @@ yyreduce:
break;
case 30:
-#line 343 "../xml/XPathGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 347 "../xml/XPathGrammar.y"
{
(yyval.expr) = (yyvsp[(2) - (3)].expr);
;}
break;
case 31:
-#line 348 "../xml/XPathGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 352 "../xml/XPathGrammar.y"
{
(yyval.expr) = new StringExpression(*(yyvsp[(1) - (1)].str));
PARSER->deleteString((yyvsp[(1) - (1)].str));
@@ -1745,7 +1796,9 @@ yyreduce:
break;
case 32:
-#line 355 "../xml/XPathGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 359 "../xml/XPathGrammar.y"
{
(yyval.expr) = new Number((yyvsp[(1) - (1)].str)->toDouble());
PARSER->deleteString((yyvsp[(1) - (1)].str));
@@ -1754,7 +1807,9 @@ yyreduce:
break;
case 34:
-#line 366 "../xml/XPathGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 370 "../xml/XPathGrammar.y"
{
(yyval.expr) = createFunction(*(yyvsp[(1) - (3)].str));
if (!(yyval.expr))
@@ -1765,7 +1820,9 @@ yyreduce:
break;
case 35:
-#line 375 "../xml/XPathGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 379 "../xml/XPathGrammar.y"
{
(yyval.expr) = createFunction(*(yyvsp[(1) - (4)].str), *(yyvsp[(3) - (4)].argList));
if (!(yyval.expr))
@@ -1777,7 +1834,9 @@ yyreduce:
break;
case 36:
-#line 387 "../xml/XPathGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 391 "../xml/XPathGrammar.y"
{
(yyval.argList) = new Vector<Expression*>;
(yyval.argList)->append((yyvsp[(1) - (1)].expr));
@@ -1787,7 +1846,9 @@ yyreduce:
break;
case 37:
-#line 395 "../xml/XPathGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 399 "../xml/XPathGrammar.y"
{
(yyval.argList)->append((yyvsp[(3) - (3)].expr));
PARSER->unregisterParseNode((yyvsp[(3) - (3)].expr));
@@ -1795,7 +1856,9 @@ yyreduce:
break;
case 40:
-#line 409 "../xml/XPathGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 413 "../xml/XPathGrammar.y"
{
(yyval.expr) = new Union;
(yyval.expr)->addSubExpression((yyvsp[(1) - (3)].expr));
@@ -1807,14 +1870,18 @@ yyreduce:
break;
case 41:
-#line 421 "../xml/XPathGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 425 "../xml/XPathGrammar.y"
{
(yyval.expr) = (yyvsp[(1) - (1)].locationPath);
;}
break;
case 43:
-#line 428 "../xml/XPathGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 432 "../xml/XPathGrammar.y"
{
(yyvsp[(3) - (3)].locationPath)->setAbsolute(true);
(yyval.expr) = new Path(static_cast<Filter*>((yyvsp[(1) - (3)].expr)), (yyvsp[(3) - (3)].locationPath));
@@ -1825,7 +1892,9 @@ yyreduce:
break;
case 44:
-#line 437 "../xml/XPathGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 441 "../xml/XPathGrammar.y"
{
(yyvsp[(3) - (3)].locationPath)->insertFirstStep((yyvsp[(2) - (3)].step));
(yyvsp[(3) - (3)].locationPath)->setAbsolute(true);
@@ -1838,7 +1907,9 @@ yyreduce:
break;
case 46:
-#line 452 "../xml/XPathGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 456 "../xml/XPathGrammar.y"
{
(yyval.expr) = new Filter((yyvsp[(1) - (2)].expr), *(yyvsp[(2) - (2)].predList));
PARSER->unregisterParseNode((yyvsp[(1) - (2)].expr));
@@ -1848,7 +1919,9 @@ yyreduce:
break;
case 48:
-#line 464 "../xml/XPathGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 468 "../xml/XPathGrammar.y"
{
(yyval.expr) = new LogicalOp(LogicalOp::OP_Or, (yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr));
PARSER->unregisterParseNode((yyvsp[(1) - (3)].expr));
@@ -1858,7 +1931,9 @@ yyreduce:
break;
case 50:
-#line 476 "../xml/XPathGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 480 "../xml/XPathGrammar.y"
{
(yyval.expr) = new LogicalOp(LogicalOp::OP_And, (yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr));
PARSER->unregisterParseNode((yyvsp[(1) - (3)].expr));
@@ -1868,7 +1943,9 @@ yyreduce:
break;
case 52:
-#line 488 "../xml/XPathGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 492 "../xml/XPathGrammar.y"
{
(yyval.expr) = new EqTestOp((yyvsp[(2) - (3)].eqop), (yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr));
PARSER->unregisterParseNode((yyvsp[(1) - (3)].expr));
@@ -1878,7 +1955,9 @@ yyreduce:
break;
case 54:
-#line 500 "../xml/XPathGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 504 "../xml/XPathGrammar.y"
{
(yyval.expr) = new EqTestOp((yyvsp[(2) - (3)].eqop), (yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr));
PARSER->unregisterParseNode((yyvsp[(1) - (3)].expr));
@@ -1888,7 +1967,9 @@ yyreduce:
break;
case 56:
-#line 512 "../xml/XPathGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 516 "../xml/XPathGrammar.y"
{
(yyval.expr) = new NumericOp(NumericOp::OP_Add, (yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr));
PARSER->unregisterParseNode((yyvsp[(1) - (3)].expr));
@@ -1898,7 +1979,9 @@ yyreduce:
break;
case 57:
-#line 520 "../xml/XPathGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 524 "../xml/XPathGrammar.y"
{
(yyval.expr) = new NumericOp(NumericOp::OP_Sub, (yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr));
PARSER->unregisterParseNode((yyvsp[(1) - (3)].expr));
@@ -1908,7 +1991,9 @@ yyreduce:
break;
case 59:
-#line 532 "../xml/XPathGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 536 "../xml/XPathGrammar.y"
{
(yyval.expr) = new NumericOp((yyvsp[(2) - (3)].numop), (yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr));
PARSER->unregisterParseNode((yyvsp[(1) - (3)].expr));
@@ -1918,7 +2003,9 @@ yyreduce:
break;
case 61:
-#line 544 "../xml/XPathGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 548 "../xml/XPathGrammar.y"
{
(yyval.expr) = new Negative;
(yyval.expr)->addSubExpression((yyvsp[(2) - (2)].expr));
@@ -1928,8 +2015,9 @@ yyreduce:
break;
-/* Line 1267 of yacc.c. */
-#line 1933 "WebCore/tmp/../generated/XPathGrammar.tab.c"
+
+/* Line 1455 of yacc.c */
+#line 2021 "WebCore/tmp/../generated/XPathGrammar.tab.c"
default: break;
}
YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
@@ -1940,7 +2028,6 @@ yyreduce:
*++yyvsp = yyval;
-
/* Now `shift' the result of the reduction. Determine what state
that goes to, based on the state we popped back to and the rule
number reduced by. */
@@ -2005,7 +2092,7 @@ yyerrlab:
if (yyerrstatus == 3)
{
- /* If just tried and failed to reuse look-ahead token after an
+ /* If just tried and failed to reuse lookahead token after an
error, discard it. */
if (yychar <= YYEOF)
@@ -2022,7 +2109,7 @@ yyerrlab:
}
}
- /* Else will try to reuse look-ahead token after shifting the error
+ /* Else will try to reuse lookahead token after shifting the error
token. */
goto yyerrlab1;
@@ -2079,9 +2166,6 @@ yyerrlab1:
YY_STACK_PRINT (yyss, yyssp);
}
- if (yyn == YYFINAL)
- YYACCEPT;
-
*++yyvsp = yylval;
@@ -2106,7 +2190,7 @@ yyabortlab:
yyresult = 1;
goto yyreturn;
-#ifndef yyoverflow
+#if !defined(yyoverflow) || YYERROR_VERBOSE
/*-------------------------------------------------.
| yyexhaustedlab -- memory exhaustion comes here. |
`-------------------------------------------------*/
@@ -2117,7 +2201,7 @@ yyexhaustedlab:
#endif
yyreturn:
- if (yychar != YYEOF && yychar != YYEMPTY)
+ if (yychar != YYEMPTY)
yydestruct ("Cleanup: discarding lookahead",
yytoken, &yylval);
/* Do not reclaim the symbols of the rule which action triggered
@@ -2143,7 +2227,9 @@ yyreturn:
}
-#line 552 "../xml/XPathGrammar.y"
+
+/* Line 1675 of yacc.c */
+#line 556 "../xml/XPathGrammar.y"
#endif
diff --git a/src/3rdparty/webkit/WebCore/generated/XPathGrammar.h b/src/3rdparty/webkit/WebCore/generated/XPathGrammar.h
index 9728266..cdf2b32 100644
--- a/src/3rdparty/webkit/WebCore/generated/XPathGrammar.h
+++ b/src/3rdparty/webkit/WebCore/generated/XPathGrammar.h
@@ -1,24 +1,23 @@
-/* A Bison parser, made by GNU Bison 2.3. */
-/* Skeleton interface for Bison's Yacc-like parsers in C
+/* A Bison parser, made by GNU Bison 2.4.1. */
- Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
+/* Skeleton interface for Bison's Yacc-like parsers in C
+
+ Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
Free Software Foundation, Inc.
-
- This program is free software; you can redistribute it and/or modify
+
+ This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2, or (at your option)
- any later version.
-
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
-
+
You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 51 Franklin Street, Fifth Floor,
- Boston, MA 02110-1301, USA. */
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
/* As a special exception, you may create a larger work that contains
part or all of the Bison parser skeleton and distribute that work
@@ -29,10 +28,11 @@
special exception, which will cause the skeleton and the resulting
Bison output files to be licensed under the GNU General Public
License without this special exception.
-
+
This special exception was added by the Free Software Foundation in
version 2.2 of Bison. */
+
/* Tokens. */
#ifndef YYTOKENTYPE
# define YYTOKENTYPE
@@ -59,33 +59,16 @@
XPATH_ERROR = 275
};
#endif
-/* Tokens. */
-#define MULOP 258
-#define RELOP 259
-#define EQOP 260
-#define MINUS 261
-#define PLUS 262
-#define AND 263
-#define OR 264
-#define AXISNAME 265
-#define NODETYPE 266
-#define PI 267
-#define FUNCTIONNAME 268
-#define LITERAL 269
-#define VARIABLEREFERENCE 270
-#define NUMBER 271
-#define DOTDOT 272
-#define SLASHSLASH 273
-#define NAMETEST 274
-#define XPATH_ERROR 275
-
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
typedef union YYSTYPE
-#line 56 "../xml/XPathGrammar.y"
{
+
+/* Line 1676 of yacc.c */
+#line 60 "../xml/XPathGrammar.y"
+
Step::Axis axis;
Step::NodeTest* nodeTest;
NumericOp::Opcode numop;
@@ -96,14 +79,17 @@ typedef union YYSTYPE
Vector<Expression*>* argList;
Step* step;
LocationPath* locationPath;
-}
-/* Line 1489 of yacc.c. */
-#line 102 "WebCore/tmp/../generated/XPathGrammar.tab.h"
- YYSTYPE;
+
+
+
+/* Line 1676 of yacc.c */
+#line 87 "WebCore/tmp/../generated/XPathGrammar.tab.h"
+} YYSTYPE;
+# define YYSTYPE_IS_TRIVIAL 1
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
-# define YYSTYPE_IS_TRIVIAL 1
#endif
+
diff --git a/src/3rdparty/webkit/WebCore/generated/tokenizer.cpp b/src/3rdparty/webkit/WebCore/generated/tokenizer.cpp
index 8462f51..1f1ff89 100644
--- a/src/3rdparty/webkit/WebCore/generated/tokenizer.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/tokenizer.cpp
@@ -65,8 +65,8 @@ typedef unsigned char flex_uint8_t;
typedef unsigned short int flex_uint16_t;
typedef unsigned int flex_uint32_t;
#endif /* ! C99 */
-#define YY_NUM_RULES 68
-#define YY_END_OF_BUFFER 69
+#define YY_NUM_RULES 69
+#define YY_END_OF_BUFFER 70
/* This struct is not used in this scanner,
but its presence is necessary. */
struct yy_trans_info
@@ -74,60 +74,60 @@ struct yy_trans_info
flex_int32_t yy_verify;
flex_int32_t yy_nxt;
};
-static yyconst flex_int16_t yy_accept[479] =
+static yyconst flex_int16_t yy_accept[481] =
{ 0,
- 0, 0, 0, 0, 0, 0, 69, 67, 2, 2,
- 67, 67, 67, 67, 67, 67, 67, 67, 67, 56,
- 67, 67, 15, 15, 15, 67, 67, 67, 67, 66,
- 15, 15, 15, 65, 15, 2, 0, 0, 0, 14,
+ 0, 0, 0, 0, 0, 0, 70, 68, 2, 2,
+ 68, 68, 68, 68, 68, 68, 68, 68, 68, 57,
+ 68, 68, 15, 15, 15, 68, 68, 68, 68, 67,
+ 15, 15, 15, 66, 15, 2, 0, 0, 0, 14,
0, 0, 0, 18, 18, 0, 8, 0, 0, 9,
- 0, 0, 15, 15, 15, 0, 57, 0, 55, 0,
- 0, 56, 54, 54, 54, 54, 54, 54, 54, 54,
- 54, 16, 54, 54, 51, 54, 0, 54, 0, 0,
- 35, 35, 35, 35, 35, 35, 35, 0, 62, 15,
+ 0, 0, 15, 15, 15, 0, 58, 0, 56, 0,
+ 0, 57, 55, 55, 55, 55, 55, 55, 55, 55,
+ 55, 16, 55, 55, 52, 55, 0, 55, 0, 0,
+ 35, 35, 35, 35, 35, 35, 35, 0, 63, 15,
0, 0, 15, 15, 0, 15, 15, 15, 7, 6,
5, 15, 15, 15, 15, 0, 0, 0, 14, 0,
0, 0, 18, 18, 0, 18, 18, 0, 0, 14,
- 0, 0, 4, 16, 15, 0, 0, 54, 0, 41,
- 54, 37, 39, 54, 52, 43, 54, 42, 50, 54,
- 45, 44, 40, 54, 54, 54, 54, 54, 0, 35,
- 35, 0, 35, 35, 35, 35, 35, 35, 35, 35,
- 15, 15, 16, 15, 15, 63, 63, 15, 15, 12,
- 10, 15, 13, 0, 0, 0, 17, 17, 18, 18,
- 18, 0, 0, 15, 0, 1, 54, 54, 46, 54,
- 53, 16, 47, 54, 54, 54, 3, 35, 35, 35,
-
- 35, 35, 35, 35, 35, 35, 35, 15, 58, 0,
- 63, 63, 63, 62, 15, 11, 0, 0, 0, 18,
- 18, 18, 0, 15, 0, 0, 54, 48, 49, 54,
- 54, 35, 35, 35, 35, 35, 35, 35, 20, 35,
- 15, 64, 63, 63, 63, 63, 0, 0, 0, 0,
- 60, 0, 15, 0, 0, 0, 18, 18, 18, 0,
- 15, 54, 54, 38, 35, 35, 35, 35, 35, 21,
- 35, 35, 15, 64, 63, 63, 63, 63, 63, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 60, 0,
- 0, 15, 0, 0, 17, 17, 18, 18, 0, 15,
-
- 54, 54, 35, 35, 35, 35, 19, 35, 35, 15,
- 64, 63, 63, 63, 63, 63, 63, 0, 59, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 15, 0, 0, 18, 18, 0, 15, 54, 54, 35,
- 35, 23, 35, 35, 35, 15, 64, 63, 63, 63,
- 63, 63, 63, 63, 0, 59, 0, 0, 0, 59,
- 0, 0, 0, 0, 18, 15, 54, 35, 35, 35,
- 35, 64, 0, 0, 0, 36, 15, 35, 35, 35,
- 35, 35, 35, 22, 24, 64, 0, 0, 0, 15,
- 35, 35, 35, 35, 35, 35, 0, 0, 0, 62,
-
- 35, 35, 35, 35, 35, 35, 35, 35, 0, 0,
- 0, 0, 0, 0, 35, 35, 35, 35, 25, 35,
- 35, 35, 0, 61, 0, 0, 0, 0, 26, 35,
- 35, 35, 35, 27, 35, 0, 0, 0, 0, 31,
- 35, 35, 35, 35, 0, 0, 0, 35, 35, 35,
- 35, 0, 0, 35, 35, 29, 35, 0, 0, 35,
- 33, 35, 30, 0, 0, 35, 28, 35, 0, 35,
- 35, 35, 35, 34, 35, 35, 32, 0
+ 0, 0, 4, 16, 15, 0, 0, 55, 0, 42,
+ 55, 37, 40, 55, 53, 44, 55, 43, 51, 55,
+ 46, 45, 41, 55, 55, 55, 55, 55, 55, 0,
+ 35, 35, 0, 35, 35, 35, 35, 35, 35, 35,
+ 35, 15, 15, 16, 15, 15, 64, 64, 15, 15,
+ 12, 10, 15, 13, 0, 0, 0, 17, 17, 18,
+ 18, 18, 0, 0, 15, 0, 1, 55, 55, 47,
+ 55, 54, 16, 48, 38, 55, 55, 55, 3, 35,
+
+ 35, 35, 35, 35, 35, 35, 35, 35, 35, 15,
+ 59, 0, 64, 64, 64, 63, 15, 11, 0, 0,
+ 0, 18, 18, 18, 0, 15, 0, 0, 55, 49,
+ 50, 55, 55, 35, 35, 35, 35, 35, 35, 35,
+ 20, 35, 15, 65, 64, 64, 64, 64, 0, 0,
+ 0, 0, 61, 0, 15, 0, 0, 0, 18, 18,
+ 18, 0, 15, 55, 55, 39, 35, 35, 35, 35,
+ 35, 21, 35, 35, 15, 65, 64, 64, 64, 64,
+ 64, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 61, 0, 0, 15, 0, 0, 17, 17, 18, 18,
+
+ 0, 15, 55, 55, 35, 35, 35, 35, 19, 35,
+ 35, 15, 65, 64, 64, 64, 64, 64, 64, 0,
+ 60, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 15, 0, 0, 18, 18, 0, 15, 55,
+ 55, 35, 35, 23, 35, 35, 35, 15, 65, 64,
+ 64, 64, 64, 64, 64, 64, 0, 60, 0, 0,
+ 0, 60, 0, 0, 0, 0, 18, 15, 55, 35,
+ 35, 35, 35, 65, 0, 0, 0, 36, 15, 35,
+ 35, 35, 35, 35, 35, 22, 24, 65, 0, 0,
+ 0, 15, 35, 35, 35, 35, 35, 35, 0, 0,
+
+ 0, 63, 35, 35, 35, 35, 35, 35, 35, 35,
+ 0, 0, 0, 0, 0, 0, 35, 35, 35, 35,
+ 25, 35, 35, 35, 0, 62, 0, 0, 0, 0,
+ 26, 35, 35, 35, 35, 27, 35, 0, 0, 0,
+ 0, 31, 35, 35, 35, 35, 0, 0, 0, 35,
+ 35, 35, 35, 0, 0, 35, 35, 29, 35, 0,
+ 0, 35, 33, 35, 30, 0, 0, 35, 28, 35,
+ 0, 35, 35, 35, 35, 34, 35, 35, 32, 0
} ;
static yyconst flex_int32_t yy_ec[256] =
@@ -175,132 +175,134 @@ static yyconst flex_int32_t yy_meta[86] =
14, 6, 6, 6, 14
} ;
-static yyconst flex_int16_t yy_base[550] =
+static yyconst flex_int16_t yy_base[552] =
{ 0,
- 0, 0, 64, 66, 54, 56, 1407, 6578, 93, 98,
- 107, 83, 155, 1376, 77, 1350, 99, 1345, 1328, 207,
- 1334, 275, 100, 108, 125, 326, 1315, 1313, 1312, 6578,
+ 0, 0, 64, 66, 54, 56, 1515, 6578, 93, 98,
+ 107, 83, 155, 1489, 77, 1480, 99, 1477, 1470, 207,
+ 1477, 275, 100, 108, 125, 326, 1442, 1441, 1438, 6578,
141, 110, 151, 6578, 105, 197, 295, 89, 107, 6578,
- 387, 120, 0, 429, 1281, 471, 6578, 117, 532, 6578,
- 1283, 269, 137, 176, 281, 574, 283, 1289, 1292, 1246,
- 1257, 0, 1221, 249, 135, 282, 276, 153, 91, 169,
- 299, 308, 318, 266, 1219, 320, 616, 102, 1246, 348,
- 1209, 316, 127, 359, 346, 347, 375, 658, 6578, 208,
- 700, 1241, 400, 409, 1220, 397, 327, 761, 6578, 6578,
-
- 6578, 411, 419, 414, 424, 248, 368, 355, 356, 822,
- 883, 0, 1191, 925, 967, 1190, 1028, 381, 421, 464,
- 1089, 1150, 6578, 214, 456, 1225, 312, 1151, 1192, 1142,
- 442, 1139, 1134, 452, 1131, 1104, 458, 1082, 1060, 358,
- 1046, 1028, 1027, 462, 453, 1000, 1253, 469, 1023, 463,
- 986, 1295, 492, 486, 500, 484, 502, 513, 969, 1356,
- 425, 1417, 1001, 545, 494, 193, 993, 543, 1459, 544,
- 554, 558, 555, 508, 398, 1520, 0, 1562, 956, 1623,
- 1684, 570, 1745, 563, 993, 6578, 948, 1806, 935, 520,
- 921, 498, 914, 546, 1848, 564, 6578, 585, 913, 1909,
-
- 568, 576, 586, 606, 631, 640, 1951, 2012, 6578, 0,
- 203, 924, 907, 694, 2054, 565, 543, 2115, 0, 2157,
- 2218, 2279, 2340, 669, 912, 505, 2401, 856, 840, 2443,
- 612, 615, 2504, 608, 557, 639, 682, 668, 839, 2546,
- 2607, 0, 288, 863, 841, 819, 741, 794, 573, 418,
- 6578, 2668, 2710, 620, 2771, 0, 2813, 2874, 2935, 2996,
- 3057, 3131, 3173, 3234, 670, 3295, 718, 719, 729, 763,
- 684, 3337, 3398, 0, 456, 782, 777, 760, 742, 829,
- 649, 834, 3459, 572, 3520, 854, 894, 915, 920, 3581,
- 3642, 3684, 593, 3745, 6578, 697, 3806, 3867, 3928, 3989,
-
- 4050, 4111, 730, 4172, 731, 683, 672, 759, 4214, 4275,
- 0, 762, 682, 429, 417, 414, 411, 859, 6578, 650,
- 838, 957, 4336, 4397, 607, 926, 988, 4458, 4519, 4580,
- 1002, 672, 1010, 4622, 4664, 1042, 752, 4706, 4767, 756,
- 4828, 376, 812, 847, 1069, 1033, 0, 387, 6578, 6578,
- 6578, 6578, 6578, 6578, 1122, 924, 963, 4870, 1162, 1049,
- 1050, 4912, 4973, 678, 1063, 850, 1074, 5005, 1103, 841,
- 989, 0, 5062, 5104, 5146, 6578, 1066, 1080, 1081, 1084,
- 1108, 1137, 877, 328, 273, 6578, 5188, 5230, 5272, 641,
- 1140, 884, 916, 836, 1105, 1161, 5314, 5356, 1233, 1286,
-
- 1147, 1138, 919, 1206, 1165, 1186, 1141, 1207, 1291, 1263,
- 1316, 1345, 1327, 5398, 1086, 1029, 1225, 1133, 258, 1247,
- 1248, 1310, 1388, 6578, 1427, 5440, 1449, 5501, 242, 1311,
- 1341, 1324, 1326, 173, 1317, 1454, 5562, 1480, 5604, 170,
- 1061, 1328, 1355, 1372, 1552, 5646, 5688, 1351, 1374, 1389,
- 1409, 5730, 5772, 1419, 1456, 154, 1453, 5814, 5856, 1457,
- 112, 897, 793, 5898, 1557, 1418, 109, 1348, 1582, 1550,
- 1477, 1481, 1485, 90, 1564, 1458, 39, 6578, 5959, 5964,
- 5977, 5982, 5987, 5994, 6004, 6017, 296, 6022, 6032, 6045,
- 6059, 651, 6064, 6074, 6079, 6089, 6099, 6103, 571, 6112,
-
- 6125, 6138, 6152, 6166, 6176, 6186, 6191, 6203, 657, 6217,
- 758, 6222, 6234, 6247, 801, 6261, 859, 6266, 6278, 6291,
- 6304, 6317, 6330, 1086, 6335, 6348, 1120, 6353, 6365, 6378,
- 6391, 6404, 6417, 6430, 6435, 6448, 1216, 6453, 6465, 6478,
- 6491, 6504, 6517, 1219, 1220, 6530, 6543, 6553, 6563
+ 387, 120, 0, 429, 1371, 471, 6578, 117, 532, 6578,
+ 1380, 269, 137, 176, 281, 574, 283, 1383, 1367, 1297,
+ 1329, 0, 1294, 249, 135, 282, 276, 153, 91, 169,
+ 299, 308, 318, 342, 1293, 328, 616, 102, 1326, 273,
+ 1288, 346, 127, 326, 369, 370, 374, 658, 6578, 208,
+ 700, 1320, 357, 418, 1314, 399, 314, 761, 6578, 6578,
+
+ 6578, 420, 421, 400, 398, 336, 461, 355, 367, 822,
+ 883, 0, 1284, 925, 967, 1283, 1028, 351, 423, 460,
+ 1089, 1150, 6578, 214, 465, 1320, 409, 1281, 1192, 1250,
+ 278, 1240, 1225, 427, 1222, 1221, 444, 1218, 1217, 416,
+ 1208, 1188, 1176, 451, 470, 467, 1173, 1253, 441, 1200,
+ 485, 1140, 1295, 490, 500, 505, 489, 502, 517, 1115,
+ 1356, 462, 1417, 1147, 554, 512, 193, 1133, 513, 1459,
+ 543, 544, 558, 559, 436, 501, 1520, 0, 1562, 1062,
+ 1623, 1684, 571, 1745, 563, 1092, 6578, 1053, 1806, 1000,
+ 568, 996, 529, 989, 988, 546, 1848, 589, 6578, 597,
+
+ 955, 1909, 566, 534, 588, 587, 608, 631, 1951, 2012,
+ 6578, 0, 203, 963, 947, 691, 2054, 564, 551, 2115,
+ 0, 2157, 2218, 2279, 2340, 646, 935, 637, 2401, 896,
+ 884, 2443, 616, 660, 2504, 681, 388, 668, 626, 694,
+ 878, 2546, 2607, 0, 288, 884, 876, 869, 793, 854,
+ 611, 614, 6578, 2668, 2710, 634, 2771, 0, 2813, 2874,
+ 2935, 2996, 3057, 3131, 3173, 3234, 669, 3295, 692, 716,
+ 696, 823, 729, 3337, 3398, 0, 641, 842, 781, 753,
+ 730, 829, 653, 834, 3459, 658, 3520, 894, 915, 920,
+ 957, 3581, 3642, 3684, 557, 3745, 6578, 684, 3806, 3867,
+
+ 3928, 3989, 4050, 4111, 727, 4172, 730, 682, 654, 697,
+ 4214, 4275, 0, 646, 590, 556, 553, 526, 496, 962,
+ 6578, 693, 734, 999, 4336, 4397, 690, 926, 1060, 4458,
+ 4519, 4580, 988, 711, 1013, 4622, 4664, 1042, 768, 4706,
+ 4767, 648, 4828, 454, 755, 757, 1074, 1033, 0, 489,
+ 6578, 6578, 6578, 6578, 6578, 6578, 1121, 838, 898, 4870,
+ 1182, 968, 1102, 4912, 4973, 729, 868, 785, 1066, 5005,
+ 1135, 873, 1020, 0, 5062, 5104, 5146, 6578, 830, 1050,
+ 1052, 1103, 1055, 1112, 836, 402, 386, 6578, 5188, 5230,
+ 5272, 755, 1137, 809, 916, 1091, 1123, 1161, 5314, 5356,
+
+ 1263, 1242, 1162, 1047, 874, 1138, 1144, 1209, 1185, 1178,
+ 1285, 1295, 1316, 1327, 1388, 5398, 966, 1223, 1088, 921,
+ 379, 1172, 1241, 1252, 1361, 6578, 1428, 5440, 1449, 5501,
+ 368, 1314, 1315, 969, 1118, 173, 1342, 1454, 5562, 1491,
+ 5604, 170, 1343, 1325, 824, 1341, 1531, 5646, 5688, 1374,
+ 1375, 1427, 1407, 5730, 5772, 1453, 1456, 154, 1328, 5814,
+ 5856, 1457, 112, 1080, 811, 5898, 1552, 1350, 109, 1413,
+ 1557, 1370, 1409, 1451, 1455, 90, 1373, 1522, 39, 6578,
+ 5959, 5964, 5977, 5982, 5987, 5994, 6004, 6017, 283, 6022,
+ 6032, 6045, 6059, 306, 6064, 6074, 6079, 6089, 6099, 6103,
+
+ 296, 6112, 6125, 6138, 6152, 6166, 6176, 6186, 6191, 6203,
+ 799, 6217, 920, 6222, 6234, 6247, 997, 6261, 1086, 6266,
+ 6278, 6291, 6304, 6317, 6330, 1087, 6335, 6348, 1206, 6353,
+ 6365, 6378, 6391, 6404, 6417, 6430, 6435, 6448, 1224, 6453,
+ 6465, 6478, 6491, 6504, 6517, 1227, 1292, 6530, 6543, 6553,
+ 6563
} ;
-static yyconst flex_int16_t yy_def[550] =
+static yyconst flex_int16_t yy_def[552] =
{ 0,
- 478, 1, 1, 1, 1, 1, 478, 478, 478, 478,
- 478, 479, 480, 478, 481, 478, 482, 478, 478, 478,
- 478, 483, 484, 484, 484, 485, 478, 478, 478, 478,
- 484, 484, 484, 478, 484, 478, 478, 478, 479, 478,
- 486, 480, 487, 488, 488, 489, 478, 481, 490, 478,
- 478, 478, 484, 484, 484, 485, 20, 491, 478, 492,
- 478, 20, 493, 493, 493, 493, 493, 493, 493, 493,
- 493, 493, 493, 493, 493, 493, 494, 493, 478, 483,
- 495, 495, 495, 495, 495, 495, 495, 496, 478, 484,
- 497, 478, 484, 484, 498, 484, 484, 484, 478, 478,
-
- 478, 484, 484, 484, 484, 478, 479, 479, 479, 479,
- 486, 499, 488, 488, 500, 488, 114, 501, 501, 501,
- 501, 502, 478, 478, 484, 503, 504, 493, 505, 493,
- 493, 493, 493, 493, 493, 493, 493, 493, 493, 493,
- 493, 493, 493, 493, 493, 493, 493, 493, 478, 495,
- 495, 506, 495, 495, 495, 495, 495, 495, 495, 495,
- 484, 98, 478, 484, 484, 507, 478, 484, 98, 484,
- 484, 484, 484, 478, 508, 508, 509, 114, 488, 114,
- 114, 501, 501, 484, 510, 478, 493, 147, 493, 493,
- 493, 493, 493, 493, 147, 493, 478, 495, 495, 160,
-
- 495, 495, 495, 495, 495, 495, 160, 98, 478, 511,
- 512, 478, 478, 513, 98, 484, 478, 514, 515, 114,
- 114, 114, 501, 484, 510, 516, 147, 493, 493, 147,
- 493, 495, 160, 495, 495, 495, 495, 495, 495, 160,
- 98, 517, 518, 478, 478, 478, 519, 519, 520, 521,
- 478, 522, 98, 478, 523, 524, 525, 525, 258, 526,
- 98, 147, 147, 147, 495, 160, 495, 495, 495, 495,
- 495, 160, 98, 527, 528, 478, 478, 478, 478, 478,
- 520, 478, 529, 530, 531, 532, 532, 532, 532, 532,
- 533, 98, 478, 534, 478, 535, 535, 297, 536, 98,
-
- 147, 301, 495, 160, 495, 495, 495, 495, 160, 98,
- 537, 538, 478, 478, 478, 478, 478, 478, 478, 539,
- 539, 539, 539, 540, 541, 541, 541, 541, 542, 543,
- 300, 478, 534, 297, 298, 536, 300, 301, 301, 495,
- 160, 495, 495, 495, 495, 300, 544, 478, 478, 478,
- 478, 478, 478, 478, 539, 539, 539, 323, 541, 541,
- 541, 328, 543, 478, 335, 300, 339, 495, 495, 495,
- 495, 545, 323, 328, 363, 478, 300, 495, 495, 495,
- 495, 495, 495, 495, 495, 478, 323, 328, 363, 300,
- 495, 495, 495, 495, 495, 495, 323, 328, 543, 546,
-
- 495, 495, 495, 495, 495, 495, 495, 495, 539, 541,
- 546, 546, 547, 548, 495, 495, 495, 495, 495, 495,
- 495, 495, 478, 478, 547, 549, 547, 547, 495, 495,
- 495, 495, 495, 495, 495, 547, 428, 547, 428, 495,
- 495, 495, 495, 495, 547, 437, 428, 495, 495, 495,
- 495, 437, 428, 495, 495, 495, 495, 437, 428, 495,
- 495, 495, 495, 437, 547, 495, 495, 495, 547, 495,
- 495, 495, 495, 495, 495, 495, 495, 0, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
-
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478
+ 480, 1, 1, 1, 1, 1, 480, 480, 480, 480,
+ 480, 481, 482, 480, 483, 480, 484, 480, 480, 480,
+ 480, 485, 486, 486, 486, 487, 480, 480, 480, 480,
+ 486, 486, 486, 480, 486, 480, 480, 480, 481, 480,
+ 488, 482, 489, 490, 490, 491, 480, 483, 492, 480,
+ 480, 480, 486, 486, 486, 487, 20, 493, 480, 494,
+ 480, 20, 495, 495, 495, 495, 495, 495, 495, 495,
+ 495, 495, 495, 495, 495, 495, 496, 495, 480, 485,
+ 497, 497, 497, 497, 497, 497, 497, 498, 480, 486,
+ 499, 480, 486, 486, 500, 486, 486, 486, 480, 480,
+
+ 480, 486, 486, 486, 486, 480, 481, 481, 481, 481,
+ 488, 501, 490, 490, 502, 490, 114, 503, 503, 503,
+ 503, 504, 480, 480, 486, 505, 506, 495, 507, 495,
+ 495, 495, 495, 495, 495, 495, 495, 495, 495, 495,
+ 495, 495, 495, 495, 495, 495, 495, 495, 495, 480,
+ 497, 497, 508, 497, 497, 497, 497, 497, 497, 497,
+ 497, 486, 98, 480, 486, 486, 509, 480, 486, 98,
+ 486, 486, 486, 486, 480, 510, 510, 511, 114, 490,
+ 114, 114, 503, 503, 486, 512, 480, 495, 148, 495,
+ 495, 495, 495, 495, 495, 495, 148, 495, 480, 497,
+
+ 497, 161, 497, 497, 497, 497, 497, 497, 161, 98,
+ 480, 513, 514, 480, 480, 515, 98, 486, 480, 516,
+ 517, 114, 114, 114, 503, 486, 512, 518, 148, 495,
+ 495, 148, 495, 497, 161, 497, 497, 497, 497, 497,
+ 497, 161, 98, 519, 520, 480, 480, 480, 521, 521,
+ 522, 523, 480, 524, 98, 480, 525, 526, 527, 527,
+ 260, 528, 98, 148, 148, 148, 497, 161, 497, 497,
+ 497, 497, 497, 161, 98, 529, 530, 480, 480, 480,
+ 480, 480, 522, 480, 531, 532, 533, 534, 534, 534,
+ 534, 534, 535, 98, 480, 536, 480, 537, 537, 299,
+
+ 538, 98, 148, 303, 497, 161, 497, 497, 497, 497,
+ 161, 98, 539, 540, 480, 480, 480, 480, 480, 480,
+ 480, 541, 541, 541, 541, 542, 543, 543, 543, 543,
+ 544, 545, 302, 480, 536, 299, 300, 538, 302, 303,
+ 303, 497, 161, 497, 497, 497, 497, 302, 546, 480,
+ 480, 480, 480, 480, 480, 480, 541, 541, 541, 325,
+ 543, 543, 543, 330, 545, 480, 337, 302, 341, 497,
+ 497, 497, 497, 547, 325, 330, 365, 480, 302, 497,
+ 497, 497, 497, 497, 497, 497, 497, 480, 325, 330,
+ 365, 302, 497, 497, 497, 497, 497, 497, 325, 330,
+
+ 545, 548, 497, 497, 497, 497, 497, 497, 497, 497,
+ 541, 543, 548, 548, 549, 550, 497, 497, 497, 497,
+ 497, 497, 497, 497, 480, 480, 549, 551, 549, 549,
+ 497, 497, 497, 497, 497, 497, 497, 549, 430, 549,
+ 430, 497, 497, 497, 497, 497, 549, 439, 430, 497,
+ 497, 497, 497, 439, 430, 497, 497, 497, 497, 439,
+ 430, 497, 497, 497, 497, 439, 549, 497, 497, 497,
+ 549, 497, 497, 497, 497, 497, 497, 497, 497, 0,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480
} ;
static yyconst flex_int16_t yy_nxt[6664] =
@@ -314,730 +316,730 @@ static yyconst flex_int16_t yy_nxt[6664] =
23, 23, 23, 23, 23, 23, 23, 23, 24, 23,
23, 23, 23, 23, 23, 25, 23, 23, 23, 23,
23, 8, 28, 29, 23, 30, 35, 30, 35, 40,
- 40, 31, 152, 31, 36, 36, 36, 36, 36, 36,
+ 40, 31, 153, 31, 36, 36, 36, 36, 36, 36,
36, 36, 36, 36, 32, 33, 32, 33, 37, 37,
37, 37, 37, 89, 40, 35, 51, 35, 89, 52,
31, 89, 31, 89, 92, 93, 92, 93, 106, 40,
- 49, 136, 32, 33, 32, 33, 41, 478, 89, 54,
- 478, 95, 38, 152, 129, 34, 105, 34, 55, 94,
- 89, 103, 56, 91, 89, 129, 106, 148, 91, 136,
- 41, 91, 152, 91, 89, 152, 131, 54, 154, 96,
+ 49, 136, 32, 33, 32, 33, 41, 480, 89, 54,
+ 480, 95, 38, 153, 129, 34, 105, 34, 55, 94,
+ 89, 103, 56, 91, 89, 129, 106, 149, 91, 136,
+ 41, 91, 153, 91, 89, 153, 131, 54, 155, 96,
49, 38, 42, 46, 105, 43, 55, 94, 91, 103,
- 152, 102, 44, 44, 44, 44, 44, 44, 129, 89,
- 91, 104, 92, 93, 91, 131, 154, 96, 36, 36,
+ 153, 102, 44, 44, 44, 44, 44, 44, 129, 89,
+ 91, 104, 92, 93, 91, 131, 155, 96, 36, 36,
- 36, 36, 36, 137, 91, 135, 129, 152, 46, 102,
- 210, 44, 44, 44, 44, 44, 44, 59, 212, 104,
- 210, 89, 129, 152, 60, 61, 152, 62, 244, 91,
+ 36, 36, 36, 137, 91, 135, 129, 153, 46, 102,
+ 212, 44, 44, 44, 44, 44, 44, 59, 214, 104,
+ 212, 89, 129, 153, 60, 61, 153, 62, 246, 91,
92, 92, 137, 135, 63, 63, 64, 65, 66, 63,
67, 68, 69, 63, 70, 63, 71, 72, 63, 73,
63, 74, 75, 76, 63, 63, 63, 63, 63, 63,
77, 91, 78, 63, 63, 64, 65, 66, 63, 67,
68, 69, 70, 63, 71, 72, 63, 73, 63, 74,
75, 76, 63, 63, 63, 63, 63, 63, 130, 52,
- 174, 63, 80, 144, 89, 152, 37, 37, 37, 37,
-
- 37, 478, 129, 57, 82, 210, 112, 83, 112, 124,
- 84, 152, 125, 276, 85, 86, 130, 87, 174, 129,
- 134, 132, 144, 63, 92, 140, 152, 127, 88, 129,
- 38, 186, 133, 82, 91, 129, 83, 124, 138, 84,
- 89, 125, 85, 86, 139, 87, 98, 141, 134, 132,
- 153, 63, 129, 98, 98, 98, 98, 98, 98, 38,
- 133, 129, 40, 40, 142, 478, 138, 145, 143, 152,
- 39, 129, 139, 129, 157, 40, 141, 156, 192, 153,
- 91, 152, 98, 98, 98, 98, 98, 98, 39, 39,
- 39, 107, 142, 40, 109, 145, 143, 150, 155, 152,
-
- 152, 88, 158, 157, 210, 40, 156, 110, 41, 41,
- 89, 129, 152, 89, 110, 110, 110, 110, 110, 110,
- 164, 41, 89, 478, 89, 150, 155, 89, 152, 152,
- 282, 158, 89, 40, 49, 168, 354, 89, 89, 353,
- 111, 170, 352, 110, 110, 110, 110, 110, 110, 114,
- 91, 41, 172, 91, 351, 165, 114, 114, 114, 114,
- 114, 114, 91, 168, 91, 171, 478, 91, 173, 89,
- 170, 285, 91, 210, 49, 189, 40, 91, 91, 190,
- 172, 313, 115, 165, 184, 114, 114, 114, 114, 114,
- 114, 117, 193, 171, 198, 129, 173, 194, 117, 117,
-
- 117, 117, 117, 117, 189, 129, 129, 209, 190, 91,
- 191, 129, 196, 184, 204, 129, 152, 49, 192, 201,
- 226, 193, 129, 198, 186, 194, 202, 117, 117, 117,
- 117, 117, 117, 48, 48, 48, 118, 152, 191, 152,
- 196, 205, 203, 204, 120, 152, 206, 91, 201, 217,
- 228, 129, 121, 152, 202, 152, 214, 89, 89, 121,
- 121, 121, 121, 121, 121, 164, 152, 209, 89, 205,
- 203, 89, 478, 129, 268, 206, 89, 217, 89, 228,
- 282, 177, 40, 177, 282, 122, 229, 254, 121, 121,
- 121, 121, 121, 121, 98, 231, 91, 91, 91, 129,
-
- 224, 98, 98, 98, 98, 98, 98, 91, 91, 216,
- 152, 91, 234, 232, 229, 254, 91, 129, 91, 282,
- 332, 152, 235, 49, 231, 285, 283, 236, 224, 152,
- 98, 98, 98, 98, 98, 98, 147, 216, 152, 152,
- 234, 237, 232, 147, 147, 147, 147, 147, 147, 332,
- 235, 264, 265, 267, 400, 236, 282, 282, 90, 152,
- 285, 152, 238, 63, 63, 129, 293, 219, 152, 219,
- 237, 239, 147, 147, 147, 147, 147, 147, 160, 264,
- 265, 267, 89, 269, 152, 160, 160, 160, 160, 160,
- 160, 238, 152, 152, 293, 247, 247, 247, 247, 247,
-
- 239, 249, 283, 283, 261, 303, 250, 350, 251, 270,
- 343, 269, 364, 271, 160, 160, 160, 160, 160, 160,
- 162, 152, 91, 152, 376, 152, 308, 162, 162, 162,
- 162, 162, 162, 261, 303, 152, 152, 152, 270, 343,
- 364, 271, 247, 247, 247, 247, 247, 252, 249, 305,
- 115, 306, 376, 250, 308, 251, 162, 162, 162, 162,
- 162, 162, 97, 97, 97, 97, 97, 317, 242, 90,
- 242, 152, 152, 368, 89, 307, 340, 342, 305, 210,
- 306, 169, 152, 152, 152, 316, 344, 349, 169, 169,
- 169, 169, 169, 169, 252, 280, 280, 280, 280, 280,
-
- 366, 478, 315, 307, 340, 342, 478, 314, 251, 152,
- 468, 256, 152, 256, 91, 344, 152, 169, 169, 169,
- 169, 169, 169, 108, 175, 175, 175, 108, 366, 40,
- 280, 280, 280, 280, 280, 318, 318, 318, 318, 318,
- 478, 370, 176, 251, 279, 282, 152, 252, 319, 176,
- 176, 176, 176, 176, 176, 280, 280, 280, 280, 280,
- 318, 318, 318, 318, 318, 152, 278, 90, 251, 274,
- 370, 274, 384, 319, 405, 41, 371, 377, 176, 176,
- 176, 176, 176, 176, 39, 39, 39, 107, 277, 152,
- 109, 283, 152, 129, 152, 280, 280, 280, 280, 280,
-
- 152, 384, 405, 110, 396, 371, 377, 252, 251, 129,
- 110, 110, 110, 110, 110, 110, 280, 280, 280, 280,
- 280, 280, 280, 280, 280, 280, 478, 226, 478, 251,
- 152, 282, 246, 396, 251, 403, 111, 152, 282, 110,
- 110, 110, 110, 110, 110, 178, 404, 252, 467, 245,
- 152, 417, 178, 178, 178, 178, 178, 178, 355, 318,
- 318, 318, 355, 403, 282, 478, 152, 129, 252, 152,
- 282, 356, 152, 252, 129, 404, 467, 283, 115, 285,
- 417, 178, 178, 178, 178, 178, 178, 180, 129, 359,
- 318, 318, 318, 359, 180, 180, 180, 180, 180, 180,
-
- 282, 129, 360, 97, 97, 97, 97, 97, 226, 115,
- 283, 108, 175, 175, 175, 108, 283, 40, 213, 90,
- 385, 163, 152, 180, 180, 180, 180, 180, 180, 116,
- 116, 116, 116, 116, 161, 161, 161, 161, 161, 152,
- 197, 285, 152, 119, 182, 182, 182, 119, 181, 385,
- 90, 478, 478, 129, 40, 181, 181, 181, 181, 181,
- 181, 282, 282, 41, 179, 179, 179, 179, 179, 430,
- 159, 159, 159, 159, 159, 187, 187, 187, 187, 187,
- 129, 129, 152, 90, 181, 181, 181, 181, 181, 181,
- 119, 182, 182, 182, 119, 49, 295, 430, 295, 129,
-
- 448, 40, 285, 285, 199, 199, 199, 199, 199, 183,
- 390, 391, 392, 129, 152, 393, 183, 183, 183, 183,
- 183, 183, 152, 355, 318, 318, 318, 355, 448, 282,
- 311, 429, 311, 152, 152, 129, 356, 152, 390, 152,
- 391, 392, 49, 406, 393, 183, 183, 183, 183, 183,
- 183, 48, 48, 48, 118, 394, 152, 129, 152, 429,
- 432, 152, 120, 359, 318, 318, 318, 359, 395, 401,
- 121, 406, 402, 416, 282, 283, 360, 121, 121, 121,
- 121, 121, 121, 394, 129, 415, 152, 129, 421, 432,
- 152, 152, 129, 152, 152, 129, 419, 395, 401, 407,
-
- 152, 402, 416, 122, 129, 408, 121, 121, 121, 121,
- 121, 121, 188, 415, 152, 285, 421, 420, 152, 188,
- 188, 188, 188, 188, 188, 419, 347, 407, 347, 372,
- 386, 372, 386, 408, 286, 286, 286, 286, 286, 152,
- 127, 418, 422, 115, 115, 167, 420, 251, 188, 188,
- 188, 188, 188, 188, 146, 146, 146, 146, 146, 152,
- 152, 163, 152, 149, 326, 361, 361, 361, 326, 431,
- 418, 422, 129, 195, 129, 282, 433, 57, 152, 434,
- 195, 195, 195, 195, 195, 195, 252, 411, 411, 411,
- 411, 411, 321, 357, 357, 357, 321, 431, 282, 77,
-
- 152, 152, 59, 412, 127, 433, 129, 123, 434, 195,
- 195, 195, 195, 195, 195, 200, 285, 411, 411, 411,
- 411, 411, 200, 200, 200, 200, 200, 200, 423, 423,
- 423, 423, 423, 412, 115, 101, 100, 435, 99, 414,
- 79, 424, 440, 58, 283, 444, 478, 478, 478, 478,
- 478, 200, 200, 200, 200, 200, 200, 159, 159, 159,
- 159, 159, 478, 152, 152, 57, 435, 442, 441, 414,
- 152, 440, 443, 50, 444, 449, 207, 152, 471, 152,
- 426, 152, 454, 207, 207, 207, 207, 207, 207, 423,
- 423, 423, 423, 423, 152, 442, 450, 441, 414, 47,
-
- 443, 152, 424, 449, 152, 455, 478, 471, 152, 152,
- 451, 454, 207, 207, 207, 207, 207, 207, 161, 161,
- 161, 161, 161, 478, 450, 152, 478, 152, 423, 423,
- 423, 423, 423, 456, 455, 478, 460, 208, 451, 478,
- 457, 424, 152, 478, 208, 208, 208, 208, 208, 208,
- 423, 423, 423, 423, 423, 423, 423, 423, 423, 423,
- 478, 456, 152, 424, 461, 470, 478, 478, 424, 457,
- 478, 152, 152, 208, 208, 208, 208, 208, 208, 215,
- 426, 423, 423, 423, 423, 423, 215, 215, 215, 215,
- 215, 215, 461, 470, 424, 478, 478, 478, 463, 478,
-
- 462, 466, 426, 477, 478, 478, 152, 426, 473, 152,
- 152, 152, 474, 478, 475, 215, 215, 215, 215, 215,
- 215, 108, 175, 175, 175, 108, 463, 40, 462, 466,
- 152, 477, 478, 426, 152, 478, 478, 473, 152, 478,
- 218, 474, 478, 475, 478, 478, 478, 218, 218, 218,
- 218, 218, 218, 423, 423, 423, 423, 423, 438, 438,
- 438, 438, 438, 478, 478, 478, 424, 478, 478, 478,
- 478, 424, 478, 41, 478, 478, 218, 218, 218, 218,
- 218, 218, 220, 445, 445, 445, 445, 445, 472, 220,
- 220, 220, 220, 220, 220, 478, 424, 478, 478, 478,
-
- 478, 478, 476, 152, 478, 426, 478, 478, 478, 478,
- 426, 478, 478, 478, 478, 478, 472, 152, 220, 220,
- 220, 220, 220, 220, 179, 179, 179, 179, 179, 478,
- 476, 478, 478, 478, 478, 426, 478, 478, 478, 478,
- 478, 478, 478, 221, 478, 478, 478, 478, 478, 478,
- 221, 221, 221, 221, 221, 221, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 221,
- 221, 221, 221, 221, 221, 116, 116, 116, 116, 116,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
-
- 478, 478, 478, 478, 222, 478, 478, 478, 478, 478,
- 478, 222, 222, 222, 222, 222, 222, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 222, 222, 222, 222, 222, 222, 119, 182, 182, 182,
- 119, 478, 478, 478, 478, 478, 478, 40, 478, 478,
- 478, 478, 478, 478, 478, 223, 478, 478, 478, 478,
- 478, 478, 223, 223, 223, 223, 223, 223, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 49, 478,
-
- 478, 223, 223, 223, 223, 223, 223, 187, 187, 187,
- 187, 187, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 227, 478, 478, 478,
- 478, 478, 478, 227, 227, 227, 227, 227, 227, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 227, 227, 227, 227, 227, 227, 230, 478,
- 478, 478, 478, 478, 478, 230, 230, 230, 230, 230,
- 230, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
-
- 478, 478, 478, 478, 230, 230, 230, 230, 230, 230,
- 199, 199, 199, 199, 199, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 233,
- 478, 478, 478, 478, 478, 478, 233, 233, 233, 233,
- 233, 233, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 233, 233, 233, 233, 233,
- 233, 240, 478, 478, 478, 478, 478, 478, 240, 240,
- 240, 240, 240, 240, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
-
- 478, 478, 478, 478, 478, 478, 478, 240, 240, 240,
- 240, 240, 240, 161, 161, 161, 161, 161, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 241, 478, 478, 478, 478, 478, 478, 241,
- 241, 241, 241, 241, 241, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 241, 241,
- 241, 241, 241, 241, 253, 478, 478, 478, 478, 478,
- 478, 253, 253, 253, 253, 253, 253, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
-
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 253, 253, 253, 253, 253, 253, 108, 175, 175, 175,
- 108, 478, 40, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 255, 478, 478, 478, 478,
- 478, 478, 255, 255, 255, 255, 255, 255, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 41, 478,
- 478, 255, 255, 255, 255, 255, 255, 257, 478, 478,
- 478, 478, 478, 478, 257, 257, 257, 257, 257, 257,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
-
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 257, 257, 257, 257, 257, 257, 179,
- 179, 179, 179, 179, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 258, 478,
- 478, 478, 478, 478, 478, 258, 258, 258, 258, 258,
- 258, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 258, 258, 258, 258, 258, 258,
- 116, 116, 116, 116, 116, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 259,
-
- 478, 478, 478, 478, 478, 478, 259, 259, 259, 259,
- 259, 259, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 259, 259, 259, 259, 259,
- 259, 119, 182, 182, 182, 119, 478, 478, 478, 478,
- 478, 478, 40, 478, 478, 478, 478, 478, 478, 478,
- 260, 478, 478, 478, 478, 478, 478, 260, 260, 260,
- 260, 260, 260, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 49, 478, 478, 260, 260, 260, 260,
-
- 260, 260, 187, 187, 187, 187, 187, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 262, 478, 478, 478, 478, 478, 478, 262, 262,
- 262, 262, 262, 262, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 262, 262, 262,
- 262, 262, 262, 263, 478, 478, 478, 478, 478, 478,
- 263, 263, 263, 263, 263, 263, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 263,
-
- 263, 263, 263, 263, 263, 199, 199, 199, 199, 199,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 266, 478, 478, 478, 478, 478,
- 478, 266, 266, 266, 266, 266, 266, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 266, 266, 266, 266, 266, 266, 272, 478, 478, 478,
- 478, 478, 478, 272, 272, 272, 272, 272, 272, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
-
- 478, 478, 272, 272, 272, 272, 272, 272, 161, 161,
- 161, 161, 161, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 273, 478, 478,
- 478, 478, 478, 478, 273, 273, 273, 273, 273, 273,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 273, 273, 273, 273, 273, 273, 280,
- 280, 280, 280, 286, 478, 288, 478, 478, 478, 478,
- 288, 288, 289, 478, 478, 478, 478, 478, 290, 478,
- 478, 478, 478, 478, 478, 290, 290, 290, 290, 290,
-
- 290, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 291, 478, 478, 290, 290, 290, 290, 290, 290,
- 292, 478, 478, 478, 478, 478, 478, 292, 292, 292,
- 292, 292, 292, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 292, 292, 292, 292,
- 292, 292, 108, 175, 175, 175, 108, 478, 40, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 294, 478, 478, 478, 478, 478, 478, 294, 294,
-
- 294, 294, 294, 294, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 41, 478, 478, 294, 294, 294,
- 294, 294, 294, 296, 478, 478, 478, 478, 478, 478,
- 296, 296, 296, 296, 296, 296, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 115, 478, 478, 296,
- 296, 296, 296, 296, 296, 179, 179, 179, 179, 179,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 297, 478, 478, 478, 478, 478,
-
- 478, 297, 297, 297, 297, 297, 297, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 115, 478, 478,
- 297, 297, 297, 297, 297, 297, 116, 116, 116, 116,
- 116, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 298, 478, 478, 478, 478,
- 478, 478, 298, 298, 298, 298, 298, 298, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 298, 298, 298, 298, 298, 298, 119, 182, 182,
-
- 182, 119, 478, 478, 478, 478, 478, 478, 40, 478,
- 478, 478, 478, 478, 478, 478, 299, 478, 478, 478,
- 478, 478, 478, 299, 299, 299, 299, 299, 299, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 49,
- 478, 478, 299, 299, 299, 299, 299, 299, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 90, 478, 478,
- 478, 478, 478, 478, 90, 90, 90, 90, 90, 90,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
-
- 478, 478, 478, 300, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 90, 90, 90, 90, 90, 90, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 300, 187, 187, 187, 187, 187, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 301, 478, 478, 478, 478, 478, 478, 301, 301,
- 301, 301, 301, 301, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 301, 301, 301,
- 301, 301, 301, 302, 478, 478, 478, 478, 478, 478,
-
- 302, 302, 302, 302, 302, 302, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 302,
- 302, 302, 302, 302, 302, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 128, 478, 478, 478, 478, 478,
- 478, 128, 128, 128, 128, 128, 128, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 128, 128, 128, 128, 128, 128, 199, 199, 199, 199,
-
- 199, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 304, 478, 478, 478, 478,
- 478, 478, 304, 304, 304, 304, 304, 304, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 304, 304, 304, 304, 304, 304, 309, 478, 478,
- 478, 478, 478, 478, 309, 309, 309, 309, 309, 309,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 309, 309, 309, 309, 309, 309, 161,
-
- 161, 161, 161, 161, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 310, 478,
- 478, 478, 478, 478, 478, 310, 310, 310, 310, 310,
- 310, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 310, 310, 310, 310, 310, 310,
- 281, 281, 281, 320, 478, 478, 322, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 323,
- 478, 478, 478, 478, 478, 478, 323, 323, 323, 323,
- 323, 323, 478, 478, 478, 478, 478, 478, 478, 478,
-
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 324, 478, 478, 323, 323, 323, 323, 323,
- 323, 284, 284, 284, 325, 478, 478, 478, 478, 478,
- 478, 478, 327, 478, 478, 478, 478, 478, 478, 478,
- 328, 478, 478, 478, 478, 478, 478, 328, 328, 328,
- 328, 328, 328, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 329, 478, 478, 328, 328, 328, 328,
- 328, 328, 286, 286, 286, 286, 286, 478, 478, 478,
- 478, 478, 478, 478, 478, 251, 478, 478, 478, 478,
-
- 478, 330, 478, 478, 478, 478, 478, 478, 330, 330,
- 330, 330, 330, 330, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 252, 478, 478, 330, 330, 330,
- 330, 330, 330, 280, 280, 280, 280, 286, 478, 288,
- 478, 478, 478, 478, 288, 288, 289, 478, 478, 478,
- 478, 478, 290, 478, 478, 478, 478, 478, 478, 290,
- 290, 290, 290, 290, 290, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 291, 478, 478, 290, 290,
-
- 290, 290, 290, 290, 331, 478, 478, 478, 478, 478,
- 478, 331, 331, 331, 331, 331, 331, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 331, 331, 331, 331, 331, 331, 108, 175, 175, 175,
- 108, 478, 40, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 333, 478, 478, 478, 478,
- 478, 478, 333, 333, 333, 333, 333, 333, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 41, 478,
-
- 478, 333, 333, 333, 333, 333, 333, 179, 179, 179,
- 179, 179, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 334, 478, 478, 478,
- 478, 478, 478, 334, 334, 334, 334, 334, 334, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 115,
- 478, 478, 334, 334, 334, 334, 334, 334, 116, 116,
- 116, 116, 116, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 335, 478, 478,
- 478, 478, 478, 478, 335, 335, 335, 335, 335, 335,
-
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 335, 335, 335, 335, 335, 335, 119,
- 182, 182, 182, 119, 478, 478, 478, 478, 478, 478,
- 40, 478, 478, 478, 478, 478, 478, 478, 336, 478,
- 478, 478, 478, 478, 478, 336, 336, 336, 336, 336,
- 336, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 49, 478, 478, 336, 336, 336, 336, 336, 336,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
-
- 478, 478, 478, 478, 478, 478, 337, 478, 478, 90,
- 478, 478, 478, 478, 478, 478, 90, 90, 90, 90,
- 90, 90, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 90, 90, 90, 90, 90,
- 90, 187, 187, 187, 187, 187, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 338, 478, 478, 478, 478, 478, 478, 338, 338, 338,
- 338, 338, 338, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
-
- 478, 478, 478, 478, 478, 478, 338, 338, 338, 338,
- 338, 338, 146, 146, 146, 146, 146, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 339, 478, 478, 478, 478, 478, 478, 339, 339,
- 339, 339, 339, 339, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 339, 339, 339,
- 339, 339, 339, 199, 199, 199, 199, 199, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 341, 478, 478, 478, 478, 478, 478, 341,
-
- 341, 341, 341, 341, 341, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 341, 341,
- 341, 341, 341, 341, 345, 478, 478, 478, 478, 478,
- 478, 345, 345, 345, 345, 345, 345, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 345, 345, 345, 345, 345, 345, 161, 161, 161, 161,
- 161, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 346, 478, 478, 478, 478,
-
- 478, 478, 346, 346, 346, 346, 346, 346, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 346, 346, 346, 346, 346, 346, 321, 357, 357,
- 357, 321, 478, 282, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 358, 478, 478, 478,
- 478, 478, 478, 358, 358, 358, 358, 358, 358, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 283,
- 478, 478, 358, 358, 358, 358, 358, 358, 281, 281,
-
- 281, 320, 478, 478, 322, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 323, 478, 478,
- 478, 478, 478, 478, 323, 323, 323, 323, 323, 323,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 324, 478, 478, 323, 323, 323, 323, 323, 323, 326,
- 361, 361, 361, 326, 478, 478, 478, 478, 478, 478,
- 282, 478, 478, 478, 478, 478, 478, 478, 362, 478,
- 478, 478, 478, 478, 478, 362, 362, 362, 362, 362,
- 362, 478, 478, 478, 478, 478, 478, 478, 478, 478,
-
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 285, 478, 478, 362, 362, 362, 362, 362, 362,
- 284, 284, 284, 325, 478, 478, 478, 478, 478, 478,
- 478, 327, 478, 478, 478, 478, 478, 478, 478, 328,
- 478, 478, 478, 478, 478, 478, 328, 328, 328, 328,
- 328, 328, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 329, 478, 478, 328, 328, 328, 328, 328,
- 328, 286, 286, 286, 286, 286, 478, 478, 478, 478,
- 478, 478, 478, 478, 251, 478, 478, 478, 478, 478,
-
- 363, 478, 478, 478, 478, 478, 478, 363, 363, 363,
- 363, 363, 363, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 252, 478, 478, 363, 363, 363, 363,
- 363, 363, 365, 478, 478, 478, 478, 478, 478, 365,
- 365, 365, 365, 365, 365, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 365, 365,
- 365, 365, 365, 365, 113, 478, 478, 478, 478, 478,
- 478, 113, 113, 113, 113, 113, 113, 478, 478, 478,
-
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 113, 113, 113, 113, 113, 113, 367, 478, 478, 478,
- 478, 478, 478, 367, 367, 367, 367, 367, 367, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 367, 367, 367, 367, 367, 367, 146, 146,
- 146, 146, 146, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 128, 478, 478,
- 478, 478, 478, 478, 128, 128, 128, 128, 128, 128,
-
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 128, 128, 128, 128, 128, 128, 199,
- 199, 199, 199, 199, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 369, 478,
- 478, 478, 478, 478, 478, 369, 369, 369, 369, 369,
- 369, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 369, 369, 369, 369, 369, 369,
- 373, 478, 478, 478, 478, 478, 478, 373, 373, 373,
-
- 373, 373, 373, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 373, 373, 373, 373,
- 373, 373, 374, 478, 478, 478, 478, 478, 478, 374,
- 374, 374, 374, 374, 374, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 374, 374,
- 374, 374, 374, 374, 286, 286, 286, 286, 286, 478,
- 478, 478, 478, 478, 478, 478, 478, 251, 478, 478,
- 478, 478, 478, 375, 478, 478, 478, 478, 478, 478,
-
- 375, 375, 375, 375, 375, 375, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 252, 478, 478, 375,
- 375, 375, 375, 375, 375, 378, 478, 478, 478, 478,
- 478, 478, 379, 478, 380, 478, 478, 478, 478, 381,
- 382, 478, 478, 383, 478, 478, 478, 478, 152, 478,
- 478, 478, 478, 478, 378, 478, 478, 478, 478, 478,
- 379, 478, 380, 478, 478, 478, 478, 381, 382, 478,
- 478, 383, 387, 478, 478, 478, 478, 478, 478, 387,
- 387, 387, 387, 387, 387, 478, 478, 478, 478, 478,
-
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 387, 387,
- 387, 387, 387, 387, 388, 478, 478, 478, 478, 478,
- 478, 388, 388, 388, 388, 388, 388, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 388, 388, 388, 388, 388, 388, 389, 478, 478, 478,
- 478, 478, 478, 389, 389, 389, 389, 389, 389, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
-
- 478, 478, 389, 389, 389, 389, 389, 389, 397, 478,
- 478, 478, 478, 478, 478, 397, 397, 397, 397, 397,
- 397, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 397, 397, 397, 397, 397, 397,
- 398, 478, 478, 478, 478, 478, 478, 398, 398, 398,
- 398, 398, 398, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 398, 398, 398, 398,
- 398, 398, 399, 478, 478, 478, 478, 478, 478, 399,
-
- 399, 399, 399, 399, 399, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 399, 399,
- 399, 399, 399, 399, 409, 478, 478, 478, 478, 478,
- 478, 409, 409, 409, 409, 409, 409, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 409, 409, 409, 409, 409, 409, 410, 478, 478, 478,
- 478, 478, 478, 410, 410, 410, 410, 410, 410, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
-
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 410, 410, 410, 410, 410, 410, 428, 478,
- 478, 478, 478, 478, 478, 428, 428, 428, 428, 428,
- 428, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 428, 428, 428, 428, 428, 428,
- 437, 478, 478, 478, 478, 478, 478, 437, 437, 437,
- 437, 437, 437, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 437, 437, 437, 437,
-
- 437, 437, 438, 438, 438, 438, 438, 478, 478, 478,
- 478, 478, 478, 478, 478, 424, 478, 478, 478, 478,
- 478, 439, 478, 478, 478, 478, 478, 478, 439, 439,
- 439, 439, 439, 439, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 426, 478, 478, 439, 439, 439,
- 439, 439, 439, 445, 445, 445, 445, 445, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 446, 478, 478, 478, 478, 478, 478, 446,
- 446, 446, 446, 446, 446, 478, 478, 478, 478, 478,
-
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 446, 446,
- 446, 446, 446, 446, 447, 478, 478, 478, 478, 478,
- 478, 447, 447, 447, 447, 447, 447, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 447, 447, 447, 447, 447, 447, 452, 478, 478, 478,
- 478, 478, 478, 452, 452, 452, 452, 452, 452, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
-
- 478, 478, 452, 452, 452, 452, 452, 452, 453, 478,
- 478, 478, 478, 478, 478, 453, 453, 453, 453, 453,
- 453, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 453, 453, 453, 453, 453, 453,
- 458, 478, 478, 478, 478, 478, 478, 458, 458, 458,
- 458, 458, 458, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 458, 458, 458, 458,
- 458, 458, 459, 478, 478, 478, 478, 478, 478, 459,
-
- 459, 459, 459, 459, 459, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 459, 459,
- 459, 459, 459, 459, 464, 478, 478, 478, 478, 478,
- 478, 464, 464, 464, 464, 464, 464, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 464, 464, 464, 464, 464, 464, 465, 478, 478, 478,
- 478, 478, 478, 465, 465, 465, 465, 465, 465, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
-
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 465, 465, 465, 465, 465, 465, 469, 478,
- 478, 478, 478, 478, 478, 469, 469, 469, 469, 469,
- 469, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 469, 469, 469, 469, 469, 469,
- 39, 478, 478, 39, 39, 39, 39, 39, 39, 39,
- 39, 39, 39, 45, 45, 478, 45, 45, 48, 478,
- 478, 48, 48, 48, 48, 48, 48, 48, 48, 48,
- 48, 53, 53, 478, 53, 53, 81, 478, 478, 81,
-
- 81, 90, 478, 90, 90, 478, 90, 90, 97, 97,
+ 480, 63, 80, 112, 89, 112, 37, 37, 37, 37,
+
+ 37, 480, 129, 57, 82, 212, 178, 83, 178, 124,
+ 84, 190, 125, 278, 85, 86, 130, 87, 63, 63,
+ 134, 132, 151, 63, 92, 140, 88, 89, 88, 129,
+ 38, 129, 133, 82, 91, 129, 83, 124, 138, 84,
+ 190, 125, 85, 86, 139, 87, 98, 141, 134, 132,
+ 151, 63, 129, 98, 98, 98, 98, 98, 98, 38,
+ 133, 129, 40, 40, 142, 156, 138, 91, 143, 144,
+ 89, 129, 139, 145, 40, 146, 141, 165, 175, 153,
+ 154, 129, 98, 98, 98, 98, 98, 98, 39, 39,
+ 39, 107, 142, 156, 109, 129, 143, 158, 144, 153,
+
+ 157, 159, 145, 146, 49, 270, 175, 110, 41, 154,
+ 91, 89, 89, 89, 110, 110, 110, 110, 110, 110,
+ 41, 153, 153, 153, 127, 480, 158, 153, 187, 157,
+ 159, 89, 153, 89, 89, 40, 193, 169, 173, 153,
+ 111, 153, 174, 110, 110, 110, 110, 110, 110, 114,
+ 171, 91, 91, 91, 191, 153, 114, 114, 114, 114,
+ 114, 114, 480, 39, 166, 169, 173, 172, 40, 129,
+ 174, 91, 40, 91, 91, 89, 49, 219, 89, 171,
+ 129, 194, 115, 191, 198, 114, 114, 114, 114, 114,
+ 114, 117, 166, 185, 129, 172, 192, 129, 117, 117,
+
+ 117, 117, 117, 117, 129, 219, 212, 153, 40, 195,
+ 194, 196, 198, 49, 41, 91, 200, 203, 91, 206,
+ 129, 356, 185, 129, 192, 211, 216, 117, 117, 117,
+ 117, 117, 117, 48, 48, 48, 118, 195, 153, 196,
+ 204, 207, 153, 153, 120, 200, 203, 205, 206, 193,
+ 208, 355, 121, 153, 41, 153, 89, 211, 153, 121,
+ 121, 121, 121, 121, 121, 91, 91, 89, 204, 207,
+ 153, 89, 89, 480, 165, 205, 89, 89, 354, 208,
+ 237, 353, 129, 40, 334, 122, 231, 153, 121, 121,
+ 121, 121, 121, 121, 98, 256, 91, 91, 230, 129,
+
+ 226, 98, 98, 98, 98, 98, 98, 91, 237, 218,
+ 236, 91, 91, 334, 231, 352, 91, 91, 284, 153,
+ 233, 129, 239, 256, 49, 234, 284, 230, 226, 238,
+ 98, 98, 98, 98, 98, 98, 148, 218, 236, 240,
+ 153, 153, 129, 148, 148, 148, 148, 148, 148, 233,
+ 153, 239, 228, 272, 234, 266, 187, 238, 212, 89,
+ 284, 153, 241, 212, 285, 370, 315, 287, 240, 129,
+ 284, 351, 148, 148, 148, 148, 148, 148, 161, 153,
+ 295, 263, 272, 266, 153, 161, 161, 161, 161, 161,
+ 161, 241, 249, 249, 249, 249, 249, 267, 251, 91,
+
+ 284, 153, 284, 252, 305, 253, 285, 153, 295, 345,
+ 263, 287, 271, 153, 161, 161, 161, 161, 161, 161,
+ 163, 153, 153, 307, 346, 267, 269, 163, 163, 163,
+ 163, 163, 163, 305, 153, 153, 480, 115, 345, 273,
+ 271, 284, 309, 287, 254, 153, 285, 153, 308, 153,
+ 153, 366, 307, 346, 269, 319, 163, 163, 163, 163,
+ 163, 163, 97, 97, 97, 97, 97, 273, 402, 153,
+ 309, 310, 90, 342, 89, 378, 344, 308, 318, 366,
+ 153, 170, 153, 153, 372, 90, 373, 285, 170, 170,
+ 170, 170, 170, 170, 249, 249, 249, 249, 249, 310,
+
+ 251, 342, 90, 378, 344, 252, 317, 253, 153, 221,
+ 153, 221, 379, 372, 91, 373, 368, 170, 170, 170,
+ 170, 170, 170, 108, 176, 176, 176, 108, 470, 40,
+ 282, 282, 282, 282, 282, 320, 320, 320, 320, 320,
+ 480, 379, 177, 253, 368, 284, 254, 90, 321, 177,
+ 177, 177, 177, 177, 177, 282, 282, 282, 282, 282,
+ 405, 480, 153, 398, 153, 452, 480, 316, 253, 180,
+ 180, 180, 180, 180, 392, 41, 153, 153, 177, 177,
+ 177, 177, 177, 177, 39, 39, 39, 107, 405, 153,
+ 109, 285, 398, 452, 281, 282, 282, 282, 282, 282,
+
+ 480, 280, 392, 110, 386, 284, 419, 254, 253, 279,
+ 110, 110, 110, 110, 110, 110, 282, 282, 282, 282,
+ 282, 282, 282, 282, 282, 282, 153, 153, 480, 253,
+ 244, 153, 244, 386, 253, 419, 111, 129, 284, 110,
+ 110, 110, 110, 110, 110, 179, 406, 254, 434, 129,
+ 228, 285, 179, 179, 179, 179, 179, 179, 282, 282,
+ 282, 282, 282, 320, 320, 320, 320, 320, 254, 153,
+ 480, 253, 248, 254, 153, 406, 321, 434, 115, 287,
+ 284, 179, 179, 179, 179, 179, 179, 181, 247, 97,
+ 97, 97, 97, 97, 181, 181, 181, 181, 181, 181,
+
+ 357, 320, 320, 320, 357, 90, 284, 258, 153, 258,
+ 254, 431, 444, 358, 108, 176, 176, 176, 108, 153,
+ 40, 287, 153, 181, 181, 181, 181, 181, 181, 116,
+ 116, 116, 116, 116, 162, 162, 162, 162, 162, 431,
+ 444, 129, 129, 119, 183, 183, 183, 119, 182, 129,
+ 90, 387, 285, 129, 40, 182, 182, 182, 182, 182,
+ 182, 361, 320, 320, 320, 361, 41, 188, 188, 188,
+ 188, 188, 284, 153, 362, 160, 160, 160, 160, 160,
+ 387, 393, 418, 394, 182, 182, 182, 182, 182, 182,
+ 119, 183, 183, 183, 119, 49, 276, 297, 276, 297,
+
+ 153, 40, 396, 153, 480, 153, 129, 228, 153, 184,
+ 393, 418, 394, 287, 284, 115, 184, 184, 184, 184,
+ 184, 184, 357, 320, 320, 320, 357, 153, 284, 407,
+ 396, 469, 433, 153, 395, 358, 201, 201, 201, 201,
+ 201, 153, 49, 397, 153, 184, 184, 184, 184, 184,
+ 184, 48, 48, 48, 118, 287, 153, 407, 215, 469,
+ 433, 408, 120, 395, 445, 153, 403, 164, 153, 404,
+ 121, 153, 397, 420, 285, 421, 153, 121, 121, 121,
+ 121, 121, 121, 361, 320, 320, 320, 361, 153, 408,
+ 153, 153, 445, 153, 284, 403, 362, 153, 404, 409,
+
+ 417, 435, 420, 122, 421, 410, 121, 121, 121, 121,
+ 121, 121, 189, 424, 153, 153, 313, 199, 313, 189,
+ 189, 189, 189, 189, 189, 153, 129, 409, 417, 129,
+ 435, 153, 423, 410, 349, 287, 349, 374, 153, 374,
+ 422, 129, 424, 413, 413, 413, 413, 413, 189, 189,
+ 189, 189, 189, 189, 147, 147, 147, 147, 147, 414,
+ 423, 129, 153, 432, 288, 288, 288, 288, 288, 422,
+ 129, 129, 436, 197, 129, 129, 153, 253, 129, 437,
+ 197, 197, 197, 197, 197, 197, 323, 359, 359, 359,
+ 323, 432, 284, 129, 153, 416, 328, 363, 363, 363,
+
+ 328, 436, 388, 129, 388, 153, 129, 284, 437, 197,
+ 197, 197, 197, 197, 197, 202, 254, 413, 413, 413,
+ 413, 413, 202, 202, 202, 202, 202, 202, 480, 480,
+ 480, 480, 480, 414, 129, 127, 115, 115, 285, 168,
+ 164, 153, 443, 150, 480, 442, 129, 129, 287, 57,
+ 77, 202, 202, 202, 202, 202, 202, 160, 160, 160,
+ 160, 160, 425, 425, 425, 425, 425, 153, 153, 416,
+ 446, 443, 451, 465, 442, 426, 209, 59, 153, 453,
+ 416, 153, 450, 209, 209, 209, 209, 209, 209, 425,
+ 425, 425, 425, 425, 153, 153, 153, 472, 127, 446,
+
+ 451, 465, 426, 153, 123, 456, 457, 453, 474, 153,
+ 450, 478, 209, 209, 209, 209, 209, 209, 162, 162,
+ 162, 162, 162, 153, 115, 472, 153, 153, 153, 425,
+ 425, 425, 425, 425, 456, 457, 474, 210, 459, 478,
+ 475, 428, 426, 473, 210, 210, 210, 210, 210, 210,
+ 425, 425, 425, 425, 425, 425, 425, 425, 425, 425,
+ 153, 101, 153, 426, 100, 99, 153, 459, 426, 475,
+ 462, 458, 473, 210, 210, 210, 210, 210, 210, 217,
+ 153, 428, 476, 79, 477, 58, 217, 217, 217, 217,
+ 217, 217, 425, 425, 425, 425, 425, 57, 463, 458,
+
+ 464, 468, 428, 50, 153, 426, 153, 428, 153, 153,
+ 153, 476, 47, 477, 480, 217, 217, 217, 217, 217,
+ 217, 108, 176, 176, 176, 108, 463, 40, 464, 468,
+ 480, 480, 425, 425, 425, 425, 425, 480, 480, 480,
+ 220, 480, 480, 480, 428, 426, 480, 220, 220, 220,
+ 220, 220, 220, 440, 440, 440, 440, 440, 447, 447,
+ 447, 447, 447, 480, 480, 480, 426, 479, 480, 480,
+ 480, 426, 480, 41, 480, 153, 220, 220, 220, 220,
+ 220, 220, 222, 480, 428, 480, 480, 480, 480, 222,
+ 222, 222, 222, 222, 222, 479, 480, 480, 480, 480,
+
+ 480, 480, 480, 480, 480, 428, 480, 480, 480, 480,
+ 428, 480, 480, 480, 480, 480, 480, 480, 222, 222,
+ 222, 222, 222, 222, 180, 180, 180, 180, 180, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 223, 480, 480, 480, 480, 480, 480,
+ 223, 223, 223, 223, 223, 223, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 223,
+ 223, 223, 223, 223, 223, 116, 116, 116, 116, 116,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+
+ 480, 480, 480, 480, 224, 480, 480, 480, 480, 480,
+ 480, 224, 224, 224, 224, 224, 224, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 224, 224, 224, 224, 224, 224, 119, 183, 183, 183,
+ 119, 480, 480, 480, 480, 480, 480, 40, 480, 480,
+ 480, 480, 480, 480, 480, 225, 480, 480, 480, 480,
+ 480, 480, 225, 225, 225, 225, 225, 225, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 49, 480,
+
+ 480, 225, 225, 225, 225, 225, 225, 188, 188, 188,
+ 188, 188, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 229, 480, 480, 480,
+ 480, 480, 480, 229, 229, 229, 229, 229, 229, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 229, 229, 229, 229, 229, 229, 232, 480,
+ 480, 480, 480, 480, 480, 232, 232, 232, 232, 232,
+ 232, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+
+ 480, 480, 480, 480, 232, 232, 232, 232, 232, 232,
+ 201, 201, 201, 201, 201, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 235,
+ 480, 480, 480, 480, 480, 480, 235, 235, 235, 235,
+ 235, 235, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 235, 235, 235, 235, 235,
+ 235, 242, 480, 480, 480, 480, 480, 480, 242, 242,
+ 242, 242, 242, 242, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+
+ 480, 480, 480, 480, 480, 480, 480, 242, 242, 242,
+ 242, 242, 242, 162, 162, 162, 162, 162, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 243, 480, 480, 480, 480, 480, 480, 243,
+ 243, 243, 243, 243, 243, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 243, 243,
+ 243, 243, 243, 243, 255, 480, 480, 480, 480, 480,
+ 480, 255, 255, 255, 255, 255, 255, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 255, 255, 255, 255, 255, 255, 108, 176, 176, 176,
+ 108, 480, 40, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 257, 480, 480, 480, 480,
+ 480, 480, 257, 257, 257, 257, 257, 257, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 41, 480,
+ 480, 257, 257, 257, 257, 257, 257, 259, 480, 480,
+ 480, 480, 480, 480, 259, 259, 259, 259, 259, 259,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 259, 259, 259, 259, 259, 259, 180,
+ 180, 180, 180, 180, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 260, 480,
+ 480, 480, 480, 480, 480, 260, 260, 260, 260, 260,
+ 260, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 260, 260, 260, 260, 260, 260,
+ 116, 116, 116, 116, 116, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 261,
+
+ 480, 480, 480, 480, 480, 480, 261, 261, 261, 261,
+ 261, 261, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 261, 261, 261, 261, 261,
+ 261, 119, 183, 183, 183, 119, 480, 480, 480, 480,
+ 480, 480, 40, 480, 480, 480, 480, 480, 480, 480,
+ 262, 480, 480, 480, 480, 480, 480, 262, 262, 262,
+ 262, 262, 262, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 49, 480, 480, 262, 262, 262, 262,
+
+ 262, 262, 188, 188, 188, 188, 188, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 264, 480, 480, 480, 480, 480, 480, 264, 264,
+ 264, 264, 264, 264, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 264, 264, 264,
+ 264, 264, 264, 265, 480, 480, 480, 480, 480, 480,
+ 265, 265, 265, 265, 265, 265, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 265,
+
+ 265, 265, 265, 265, 265, 201, 201, 201, 201, 201,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 268, 480, 480, 480, 480, 480,
+ 480, 268, 268, 268, 268, 268, 268, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 268, 268, 268, 268, 268, 268, 274, 480, 480, 480,
+ 480, 480, 480, 274, 274, 274, 274, 274, 274, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+
+ 480, 480, 274, 274, 274, 274, 274, 274, 162, 162,
+ 162, 162, 162, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 275, 480, 480,
+ 480, 480, 480, 480, 275, 275, 275, 275, 275, 275,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 275, 275, 275, 275, 275, 275, 282,
+ 282, 282, 282, 288, 480, 290, 480, 480, 480, 480,
+ 290, 290, 291, 480, 480, 480, 480, 480, 292, 480,
+ 480, 480, 480, 480, 480, 292, 292, 292, 292, 292,
+
+ 292, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 293, 480, 480, 292, 292, 292, 292, 292, 292,
+ 294, 480, 480, 480, 480, 480, 480, 294, 294, 294,
+ 294, 294, 294, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 294, 294, 294, 294,
+ 294, 294, 108, 176, 176, 176, 108, 480, 40, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 296, 480, 480, 480, 480, 480, 480, 296, 296,
+
+ 296, 296, 296, 296, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 41, 480, 480, 296, 296, 296,
+ 296, 296, 296, 298, 480, 480, 480, 480, 480, 480,
+ 298, 298, 298, 298, 298, 298, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 115, 480, 480, 298,
+ 298, 298, 298, 298, 298, 180, 180, 180, 180, 180,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 299, 480, 480, 480, 480, 480,
+
+ 480, 299, 299, 299, 299, 299, 299, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 115, 480, 480,
+ 299, 299, 299, 299, 299, 299, 116, 116, 116, 116,
+ 116, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 300, 480, 480, 480, 480,
+ 480, 480, 300, 300, 300, 300, 300, 300, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 300, 300, 300, 300, 300, 300, 119, 183, 183,
+
+ 183, 119, 480, 480, 480, 480, 480, 480, 40, 480,
+ 480, 480, 480, 480, 480, 480, 301, 480, 480, 480,
+ 480, 480, 480, 301, 301, 301, 301, 301, 301, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 49,
+ 480, 480, 301, 301, 301, 301, 301, 301, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 90, 480, 480,
+ 480, 480, 480, 480, 90, 90, 90, 90, 90, 90,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+
+ 480, 480, 480, 302, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 90, 90, 90, 90, 90, 90, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 302, 188, 188, 188, 188, 188, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 303, 480, 480, 480, 480, 480, 480, 303, 303,
+ 303, 303, 303, 303, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 303, 303, 303,
+ 303, 303, 303, 304, 480, 480, 480, 480, 480, 480,
+
+ 304, 304, 304, 304, 304, 304, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 304,
+ 304, 304, 304, 304, 304, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 128, 480, 480, 480, 480, 480,
+ 480, 128, 128, 128, 128, 128, 128, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 128, 128, 128, 128, 128, 128, 201, 201, 201, 201,
+
+ 201, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 306, 480, 480, 480, 480,
+ 480, 480, 306, 306, 306, 306, 306, 306, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 306, 306, 306, 306, 306, 306, 311, 480, 480,
+ 480, 480, 480, 480, 311, 311, 311, 311, 311, 311,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 311, 311, 311, 311, 311, 311, 162,
+
+ 162, 162, 162, 162, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 312, 480,
+ 480, 480, 480, 480, 480, 312, 312, 312, 312, 312,
+ 312, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 312, 312, 312, 312, 312, 312,
+ 283, 283, 283, 322, 480, 480, 324, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 325,
+ 480, 480, 480, 480, 480, 480, 325, 325, 325, 325,
+ 325, 325, 480, 480, 480, 480, 480, 480, 480, 480,
+
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 326, 480, 480, 325, 325, 325, 325, 325,
+ 325, 286, 286, 286, 327, 480, 480, 480, 480, 480,
+ 480, 480, 329, 480, 480, 480, 480, 480, 480, 480,
+ 330, 480, 480, 480, 480, 480, 480, 330, 330, 330,
+ 330, 330, 330, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 331, 480, 480, 330, 330, 330, 330,
+ 330, 330, 288, 288, 288, 288, 288, 480, 480, 480,
+ 480, 480, 480, 480, 480, 253, 480, 480, 480, 480,
+
+ 480, 332, 480, 480, 480, 480, 480, 480, 332, 332,
+ 332, 332, 332, 332, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 254, 480, 480, 332, 332, 332,
+ 332, 332, 332, 282, 282, 282, 282, 288, 480, 290,
+ 480, 480, 480, 480, 290, 290, 291, 480, 480, 480,
+ 480, 480, 292, 480, 480, 480, 480, 480, 480, 292,
+ 292, 292, 292, 292, 292, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 293, 480, 480, 292, 292,
+
+ 292, 292, 292, 292, 333, 480, 480, 480, 480, 480,
+ 480, 333, 333, 333, 333, 333, 333, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 333, 333, 333, 333, 333, 333, 108, 176, 176, 176,
+ 108, 480, 40, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 335, 480, 480, 480, 480,
+ 480, 480, 335, 335, 335, 335, 335, 335, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 41, 480,
+
+ 480, 335, 335, 335, 335, 335, 335, 180, 180, 180,
+ 180, 180, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 336, 480, 480, 480,
+ 480, 480, 480, 336, 336, 336, 336, 336, 336, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 115,
+ 480, 480, 336, 336, 336, 336, 336, 336, 116, 116,
+ 116, 116, 116, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 337, 480, 480,
+ 480, 480, 480, 480, 337, 337, 337, 337, 337, 337,
+
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 337, 337, 337, 337, 337, 337, 119,
+ 183, 183, 183, 119, 480, 480, 480, 480, 480, 480,
+ 40, 480, 480, 480, 480, 480, 480, 480, 338, 480,
+ 480, 480, 480, 480, 480, 338, 338, 338, 338, 338,
+ 338, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 49, 480, 480, 338, 338, 338, 338, 338, 338,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+
+ 480, 480, 480, 480, 480, 480, 339, 480, 480, 90,
+ 480, 480, 480, 480, 480, 480, 90, 90, 90, 90,
+ 90, 90, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 90, 90, 90, 90, 90,
+ 90, 188, 188, 188, 188, 188, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 340, 480, 480, 480, 480, 480, 480, 340, 340, 340,
+ 340, 340, 340, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+
+ 480, 480, 480, 480, 480, 480, 340, 340, 340, 340,
+ 340, 340, 147, 147, 147, 147, 147, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 341, 480, 480, 480, 480, 480, 480, 341, 341,
+ 341, 341, 341, 341, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 341, 341, 341,
+ 341, 341, 341, 201, 201, 201, 201, 201, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 343, 480, 480, 480, 480, 480, 480, 343,
+
+ 343, 343, 343, 343, 343, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 343, 343,
+ 343, 343, 343, 343, 347, 480, 480, 480, 480, 480,
+ 480, 347, 347, 347, 347, 347, 347, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 347, 347, 347, 347, 347, 347, 162, 162, 162, 162,
+ 162, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 348, 480, 480, 480, 480,
+
+ 480, 480, 348, 348, 348, 348, 348, 348, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 348, 348, 348, 348, 348, 348, 323, 359, 359,
+ 359, 323, 480, 284, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 360, 480, 480, 480,
+ 480, 480, 480, 360, 360, 360, 360, 360, 360, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 285,
+ 480, 480, 360, 360, 360, 360, 360, 360, 283, 283,
+
+ 283, 322, 480, 480, 324, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 325, 480, 480,
+ 480, 480, 480, 480, 325, 325, 325, 325, 325, 325,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 326, 480, 480, 325, 325, 325, 325, 325, 325, 328,
+ 363, 363, 363, 328, 480, 480, 480, 480, 480, 480,
+ 284, 480, 480, 480, 480, 480, 480, 480, 364, 480,
+ 480, 480, 480, 480, 480, 364, 364, 364, 364, 364,
+ 364, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 287, 480, 480, 364, 364, 364, 364, 364, 364,
+ 286, 286, 286, 327, 480, 480, 480, 480, 480, 480,
+ 480, 329, 480, 480, 480, 480, 480, 480, 480, 330,
+ 480, 480, 480, 480, 480, 480, 330, 330, 330, 330,
+ 330, 330, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 331, 480, 480, 330, 330, 330, 330, 330,
+ 330, 288, 288, 288, 288, 288, 480, 480, 480, 480,
+ 480, 480, 480, 480, 253, 480, 480, 480, 480, 480,
+
+ 365, 480, 480, 480, 480, 480, 480, 365, 365, 365,
+ 365, 365, 365, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 254, 480, 480, 365, 365, 365, 365,
+ 365, 365, 367, 480, 480, 480, 480, 480, 480, 367,
+ 367, 367, 367, 367, 367, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 367, 367,
+ 367, 367, 367, 367, 113, 480, 480, 480, 480, 480,
+ 480, 113, 113, 113, 113, 113, 113, 480, 480, 480,
+
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 113, 113, 113, 113, 113, 113, 369, 480, 480, 480,
+ 480, 480, 480, 369, 369, 369, 369, 369, 369, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 369, 369, 369, 369, 369, 369, 147, 147,
+ 147, 147, 147, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 128, 480, 480,
+ 480, 480, 480, 480, 128, 128, 128, 128, 128, 128,
+
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 128, 128, 128, 128, 128, 128, 201,
+ 201, 201, 201, 201, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 371, 480,
+ 480, 480, 480, 480, 480, 371, 371, 371, 371, 371,
+ 371, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 371, 371, 371, 371, 371, 371,
+ 375, 480, 480, 480, 480, 480, 480, 375, 375, 375,
+
+ 375, 375, 375, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 375, 375, 375, 375,
+ 375, 375, 376, 480, 480, 480, 480, 480, 480, 376,
+ 376, 376, 376, 376, 376, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 376, 376,
+ 376, 376, 376, 376, 288, 288, 288, 288, 288, 480,
+ 480, 480, 480, 480, 480, 480, 480, 253, 480, 480,
+ 480, 480, 480, 377, 480, 480, 480, 480, 480, 480,
+
+ 377, 377, 377, 377, 377, 377, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 254, 480, 480, 377,
+ 377, 377, 377, 377, 377, 380, 480, 480, 480, 480,
+ 480, 480, 381, 480, 382, 480, 480, 480, 480, 383,
+ 384, 480, 480, 385, 480, 480, 480, 480, 153, 480,
+ 480, 480, 480, 480, 380, 480, 480, 480, 480, 480,
+ 381, 480, 382, 480, 480, 480, 480, 383, 384, 480,
+ 480, 385, 389, 480, 480, 480, 480, 480, 480, 389,
+ 389, 389, 389, 389, 389, 480, 480, 480, 480, 480,
+
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 389, 389,
+ 389, 389, 389, 389, 390, 480, 480, 480, 480, 480,
+ 480, 390, 390, 390, 390, 390, 390, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 390, 390, 390, 390, 390, 390, 391, 480, 480, 480,
+ 480, 480, 480, 391, 391, 391, 391, 391, 391, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+
+ 480, 480, 391, 391, 391, 391, 391, 391, 399, 480,
+ 480, 480, 480, 480, 480, 399, 399, 399, 399, 399,
+ 399, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 399, 399, 399, 399, 399, 399,
+ 400, 480, 480, 480, 480, 480, 480, 400, 400, 400,
+ 400, 400, 400, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 400, 400, 400, 400,
+ 400, 400, 401, 480, 480, 480, 480, 480, 480, 401,
+
+ 401, 401, 401, 401, 401, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 401, 401,
+ 401, 401, 401, 401, 411, 480, 480, 480, 480, 480,
+ 480, 411, 411, 411, 411, 411, 411, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 411, 411, 411, 411, 411, 411, 412, 480, 480, 480,
+ 480, 480, 480, 412, 412, 412, 412, 412, 412, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 412, 412, 412, 412, 412, 412, 430, 480,
+ 480, 480, 480, 480, 480, 430, 430, 430, 430, 430,
+ 430, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 430, 430, 430, 430, 430, 430,
+ 439, 480, 480, 480, 480, 480, 480, 439, 439, 439,
+ 439, 439, 439, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 439, 439, 439, 439,
+
+ 439, 439, 440, 440, 440, 440, 440, 480, 480, 480,
+ 480, 480, 480, 480, 480, 426, 480, 480, 480, 480,
+ 480, 441, 480, 480, 480, 480, 480, 480, 441, 441,
+ 441, 441, 441, 441, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 428, 480, 480, 441, 441, 441,
+ 441, 441, 441, 447, 447, 447, 447, 447, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 448, 480, 480, 480, 480, 480, 480, 448,
+ 448, 448, 448, 448, 448, 480, 480, 480, 480, 480,
+
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 448, 448,
+ 448, 448, 448, 448, 449, 480, 480, 480, 480, 480,
+ 480, 449, 449, 449, 449, 449, 449, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 449, 449, 449, 449, 449, 449, 454, 480, 480, 480,
+ 480, 480, 480, 454, 454, 454, 454, 454, 454, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+
+ 480, 480, 454, 454, 454, 454, 454, 454, 455, 480,
+ 480, 480, 480, 480, 480, 455, 455, 455, 455, 455,
+ 455, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 455, 455, 455, 455, 455, 455,
+ 460, 480, 480, 480, 480, 480, 480, 460, 460, 460,
+ 460, 460, 460, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 460, 460, 460, 460,
+ 460, 460, 461, 480, 480, 480, 480, 480, 480, 461,
+
+ 461, 461, 461, 461, 461, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 461, 461,
+ 461, 461, 461, 461, 466, 480, 480, 480, 480, 480,
+ 480, 466, 466, 466, 466, 466, 466, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 466, 466, 466, 466, 466, 466, 467, 480, 480, 480,
+ 480, 480, 480, 467, 467, 467, 467, 467, 467, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 467, 467, 467, 467, 467, 467, 471, 480,
+ 480, 480, 480, 480, 480, 471, 471, 471, 471, 471,
+ 471, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 471, 471, 471, 471, 471, 471,
+ 39, 480, 480, 39, 39, 39, 39, 39, 39, 39,
+ 39, 39, 39, 45, 45, 480, 45, 45, 48, 480,
+ 480, 48, 48, 48, 48, 48, 48, 48, 48, 48,
+ 48, 53, 53, 480, 53, 53, 81, 480, 480, 81,
+
+ 81, 90, 480, 90, 90, 480, 90, 90, 97, 97,
97, 97, 97, 97, 97, 97, 97, 97, 108, 108,
108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
- 108, 113, 113, 478, 113, 113, 116, 116, 116, 116,
+ 108, 113, 113, 480, 113, 113, 116, 116, 116, 116,
116, 116, 116, 116, 116, 116, 119, 119, 119, 119,
119, 119, 119, 119, 119, 119, 119, 119, 119, 126,
126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
- 126, 126, 126, 128, 128, 478, 128, 128, 146, 146,
- 146, 146, 146, 146, 146, 146, 146, 146, 151, 151,
- 478, 151, 151, 159, 159, 159, 159, 159, 159, 159,
+ 126, 126, 126, 128, 128, 480, 128, 128, 147, 147,
+ 147, 147, 147, 147, 147, 147, 147, 147, 152, 152,
+ 480, 152, 152, 160, 160, 160, 160, 160, 160, 160,
- 159, 159, 159, 161, 161, 161, 161, 161, 161, 161,
- 161, 161, 161, 166, 166, 166, 179, 179, 179, 179,
- 179, 179, 179, 179, 179, 179, 48, 48, 478, 48,
+ 160, 160, 160, 162, 162, 162, 162, 162, 162, 162,
+ 162, 162, 162, 167, 167, 167, 180, 180, 180, 180,
+ 180, 180, 180, 180, 180, 180, 48, 48, 480, 48,
48, 48, 48, 48, 48, 48, 48, 48, 48, 119,
119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
119, 119, 126, 126, 126, 126, 126, 126, 126, 126,
- 126, 126, 126, 126, 126, 126, 185, 185, 185, 185,
- 185, 185, 185, 185, 185, 185, 185, 185, 185, 185,
- 187, 187, 187, 187, 187, 187, 187, 187, 187, 187,
- 199, 199, 199, 199, 199, 199, 199, 199, 199, 199,
-
- 211, 211, 211, 211, 39, 478, 478, 39, 39, 39,
- 39, 39, 39, 39, 39, 39, 39, 225, 225, 225,
- 225, 225, 225, 225, 225, 225, 225, 225, 225, 225,
- 225, 243, 243, 243, 243, 248, 248, 248, 248, 248,
- 248, 478, 248, 248, 248, 248, 248, 248, 39, 39,
+ 126, 126, 126, 126, 126, 126, 186, 186, 186, 186,
+ 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
+ 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
+ 201, 201, 201, 201, 201, 201, 201, 201, 201, 201,
+
+ 213, 213, 213, 213, 39, 480, 480, 39, 39, 39,
+ 39, 39, 39, 39, 39, 39, 39, 227, 227, 227,
+ 227, 227, 227, 227, 227, 227, 227, 227, 227, 227,
+ 227, 245, 245, 245, 245, 250, 250, 250, 250, 250,
+ 250, 480, 250, 250, 250, 250, 250, 250, 39, 39,
39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
- 39, 185, 185, 185, 185, 185, 185, 185, 185, 185,
- 185, 185, 185, 185, 185, 275, 275, 275, 275, 248,
- 248, 248, 248, 248, 248, 478, 248, 248, 248, 248,
- 248, 248, 281, 478, 478, 281, 281, 281, 281, 281,
-
- 281, 281, 281, 281, 281, 284, 478, 478, 284, 284,
- 284, 284, 284, 284, 284, 284, 284, 284, 287, 287,
- 287, 287, 287, 287, 287, 287, 287, 287, 287, 287,
- 287, 39, 39, 39, 39, 39, 39, 39, 39, 39,
- 39, 39, 39, 39, 113, 113, 478, 113, 113, 48,
+ 39, 186, 186, 186, 186, 186, 186, 186, 186, 186,
+ 186, 186, 186, 186, 186, 277, 277, 277, 277, 250,
+ 250, 250, 250, 250, 250, 480, 250, 250, 250, 250,
+ 250, 250, 283, 480, 480, 283, 283, 283, 283, 283,
+
+ 283, 283, 283, 283, 283, 286, 480, 480, 286, 286,
+ 286, 286, 286, 286, 286, 286, 286, 286, 289, 289,
+ 289, 289, 289, 289, 289, 289, 289, 289, 289, 289,
+ 289, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+ 39, 39, 39, 39, 113, 113, 480, 113, 113, 48,
48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
- 48, 48, 312, 312, 312, 312, 321, 321, 321, 321,
- 321, 321, 321, 321, 321, 321, 321, 321, 321, 284,
- 478, 478, 284, 284, 284, 284, 284, 284, 284, 284,
- 284, 284, 326, 326, 326, 326, 326, 326, 326, 326,
-
- 326, 326, 326, 326, 326, 248, 248, 248, 248, 248,
- 478, 478, 248, 248, 248, 248, 248, 248, 287, 287,
- 287, 287, 287, 287, 287, 287, 287, 287, 287, 287,
- 287, 39, 39, 39, 39, 39, 39, 39, 39, 39,
- 39, 39, 39, 39, 113, 113, 478, 113, 113, 48,
+ 48, 48, 314, 314, 314, 314, 323, 323, 323, 323,
+ 323, 323, 323, 323, 323, 323, 323, 323, 323, 286,
+ 480, 480, 286, 286, 286, 286, 286, 286, 286, 286,
+ 286, 286, 328, 328, 328, 328, 328, 328, 328, 328,
+
+ 328, 328, 328, 328, 328, 250, 250, 250, 250, 250,
+ 480, 480, 250, 250, 250, 250, 250, 250, 289, 289,
+ 289, 289, 289, 289, 289, 289, 289, 289, 289, 289,
+ 289, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+ 39, 39, 39, 39, 113, 113, 480, 113, 113, 48,
48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
- 48, 48, 348, 348, 348, 348, 281, 281, 478, 281,
- 281, 281, 281, 281, 281, 281, 281, 281, 281, 321,
- 321, 321, 321, 321, 321, 321, 321, 321, 321, 321,
- 321, 321, 284, 284, 478, 284, 284, 284, 284, 284,
-
- 284, 284, 284, 284, 284, 326, 326, 326, 326, 326,
- 326, 326, 326, 326, 326, 326, 326, 326, 248, 248,
- 248, 248, 248, 478, 478, 248, 248, 248, 248, 248,
- 248, 413, 413, 413, 413, 478, 478, 478, 478, 413,
- 478, 478, 413, 413, 425, 425, 425, 425, 478, 478,
- 478, 425, 425, 425, 478, 425, 425, 427, 427, 427,
- 427, 427, 427, 427, 427, 427, 427, 436, 436, 436,
- 436, 436, 436, 436, 436, 436, 436, 7, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
-
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478
+ 48, 48, 350, 350, 350, 350, 283, 283, 480, 283,
+ 283, 283, 283, 283, 283, 283, 283, 283, 283, 323,
+ 323, 323, 323, 323, 323, 323, 323, 323, 323, 323,
+ 323, 323, 286, 286, 480, 286, 286, 286, 286, 286,
+
+ 286, 286, 286, 286, 286, 328, 328, 328, 328, 328,
+ 328, 328, 328, 328, 328, 328, 328, 328, 250, 250,
+ 250, 250, 250, 480, 480, 250, 250, 250, 250, 250,
+ 250, 415, 415, 415, 415, 480, 480, 480, 480, 415,
+ 480, 480, 415, 415, 427, 427, 427, 427, 480, 480,
+ 480, 427, 427, 427, 480, 427, 427, 429, 429, 429,
+ 429, 429, 429, 429, 429, 429, 429, 438, 438, 438,
+ 438, 438, 438, 438, 438, 438, 438, 7, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480
} ;
static yyconst flex_int16_t yy_chk[6664] =
@@ -1051,730 +1053,730 @@ static yyconst flex_int16_t yy_chk[6664] =
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 3, 5, 4, 6, 15,
- 12, 3, 477, 4, 9, 9, 9, 9, 9, 10,
+ 12, 3, 479, 4, 9, 9, 9, 9, 9, 10,
10, 10, 10, 10, 3, 3, 4, 4, 11, 11,
11, 11, 11, 23, 39, 5, 17, 6, 35, 17,
3, 24, 4, 32, 24, 24, 32, 32, 38, 48,
15, 69, 3, 3, 4, 4, 12, 42, 25, 17,
- 42, 25, 11, 474, 69, 3, 35, 4, 17, 24,
+ 42, 25, 11, 476, 69, 3, 35, 4, 17, 24,
53, 32, 17, 23, 31, 78, 38, 78, 35, 69,
- 39, 24, 467, 32, 33, 461, 65, 17, 83, 25,
+ 39, 24, 469, 32, 33, 463, 65, 17, 83, 25,
48, 11, 13, 42, 35, 13, 17, 24, 25, 32,
83, 31, 13, 13, 13, 13, 13, 13, 65, 54,
53, 33, 54, 54, 31, 65, 83, 25, 36, 36,
- 36, 36, 36, 70, 33, 68, 68, 456, 13, 31,
- 166, 13, 13, 13, 13, 13, 13, 20, 166, 33,
- 211, 90, 70, 440, 20, 20, 434, 20, 211, 54,
+ 36, 36, 36, 70, 33, 68, 68, 458, 13, 31,
+ 167, 13, 13, 13, 13, 13, 13, 20, 167, 33,
+ 213, 90, 70, 442, 20, 20, 436, 20, 213, 54,
124, 124, 70, 68, 20, 20, 20, 20, 20, 20,
20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
20, 90, 20, 20, 20, 20, 20, 20, 20, 20,
20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
20, 20, 20, 20, 20, 20, 20, 20, 64, 52,
- 106, 20, 22, 74, 55, 429, 37, 37, 37, 37,
-
- 37, 57, 64, 57, 22, 243, 487, 22, 487, 52,
- 22, 419, 55, 243, 22, 22, 64, 22, 106, 74,
- 67, 66, 74, 57, 72, 72, 385, 127, 22, 67,
- 37, 127, 66, 22, 55, 66, 22, 52, 71, 22,
- 97, 55, 22, 22, 71, 22, 26, 73, 67, 66,
- 82, 57, 71, 26, 26, 26, 26, 26, 26, 37,
- 66, 72, 108, 109, 73, 80, 71, 76, 73, 82,
- 107, 73, 71, 76, 86, 107, 73, 85, 140, 82,
- 97, 384, 26, 26, 26, 26, 26, 26, 41, 41,
- 41, 41, 73, 118, 41, 76, 73, 80, 84, 85,
-
- 86, 80, 87, 86, 348, 175, 85, 41, 108, 109,
- 96, 140, 84, 93, 41, 41, 41, 41, 41, 41,
- 93, 107, 94, 119, 102, 80, 84, 104, 87, 342,
- 250, 87, 103, 119, 118, 96, 317, 105, 161, 316,
- 41, 102, 315, 41, 41, 41, 41, 41, 41, 44,
- 96, 175, 104, 93, 314, 94, 44, 44, 44, 44,
- 44, 44, 94, 96, 102, 103, 120, 104, 105, 125,
- 102, 250, 103, 275, 119, 131, 120, 105, 161, 134,
- 104, 275, 44, 94, 125, 44, 44, 44, 44, 44,
- 44, 46, 144, 103, 150, 131, 105, 145, 46, 46,
-
- 46, 46, 46, 46, 131, 134, 145, 165, 134, 125,
- 137, 137, 148, 125, 156, 144, 150, 120, 192, 153,
- 226, 144, 148, 150, 226, 145, 154, 46, 46, 46,
- 46, 46, 46, 49, 49, 49, 49, 156, 137, 154,
- 148, 157, 155, 156, 49, 153, 158, 165, 153, 174,
- 190, 192, 49, 155, 154, 157, 168, 170, 164, 49,
- 49, 49, 49, 49, 49, 164, 158, 171, 173, 157,
- 155, 172, 182, 190, 235, 158, 184, 174, 216, 190,
- 249, 499, 182, 499, 284, 49, 194, 217, 49, 49,
- 49, 49, 49, 49, 56, 196, 168, 170, 164, 194,
-
- 184, 56, 56, 56, 56, 56, 56, 171, 173, 172,
- 235, 172, 201, 198, 194, 217, 184, 196, 216, 325,
- 293, 201, 202, 182, 196, 284, 249, 203, 184, 202,
- 56, 56, 56, 56, 56, 56, 77, 172, 198, 203,
- 201, 204, 198, 77, 77, 77, 77, 77, 77, 293,
- 202, 231, 232, 234, 390, 203, 281, 320, 390, 204,
- 325, 234, 205, 492, 492, 231, 254, 509, 232, 509,
- 204, 206, 77, 77, 77, 77, 77, 77, 88, 231,
- 232, 234, 224, 236, 205, 88, 88, 88, 88, 88,
- 88, 205, 236, 206, 254, 214, 214, 214, 214, 214,
-
- 206, 214, 281, 320, 224, 265, 214, 313, 214, 237,
- 306, 236, 332, 238, 88, 88, 88, 88, 88, 88,
- 91, 238, 224, 265, 364, 307, 271, 91, 91, 91,
- 91, 91, 91, 224, 265, 237, 306, 271, 237, 306,
- 332, 238, 247, 247, 247, 247, 247, 214, 247, 267,
- 296, 268, 364, 247, 271, 247, 91, 91, 91, 91,
- 91, 91, 98, 98, 98, 98, 98, 279, 511, 337,
- 511, 267, 268, 340, 98, 269, 303, 305, 267, 312,
- 268, 98, 269, 303, 305, 278, 308, 312, 98, 98,
- 98, 98, 98, 98, 247, 248, 248, 248, 248, 248,
-
- 337, 248, 277, 269, 303, 305, 248, 276, 248, 340,
- 463, 515, 308, 515, 98, 308, 270, 98, 98, 98,
- 98, 98, 98, 110, 110, 110, 110, 110, 337, 110,
- 280, 280, 280, 280, 280, 282, 282, 282, 282, 282,
- 321, 343, 110, 280, 246, 321, 463, 248, 282, 110,
- 110, 110, 110, 110, 110, 286, 286, 286, 286, 286,
- 318, 318, 318, 318, 318, 343, 245, 366, 286, 517,
- 343, 517, 370, 318, 394, 110, 344, 366, 110, 110,
- 110, 110, 110, 110, 111, 111, 111, 111, 244, 394,
- 111, 321, 239, 229, 370, 287, 287, 287, 287, 287,
-
- 344, 370, 394, 111, 383, 344, 366, 286, 287, 228,
- 111, 111, 111, 111, 111, 111, 288, 288, 288, 288,
- 288, 289, 289, 289, 289, 289, 356, 225, 326, 288,
- 383, 356, 213, 383, 289, 392, 111, 392, 326, 111,
- 111, 111, 111, 111, 111, 114, 393, 287, 462, 212,
- 462, 403, 114, 114, 114, 114, 114, 114, 322, 322,
- 322, 322, 322, 392, 322, 357, 199, 193, 288, 393,
- 357, 322, 403, 289, 191, 393, 462, 356, 114, 326,
- 403, 114, 114, 114, 114, 114, 114, 115, 189, 327,
- 327, 327, 327, 327, 115, 115, 115, 115, 115, 115,
-
- 327, 187, 327, 331, 331, 331, 331, 331, 185, 179,
- 322, 333, 333, 333, 333, 333, 357, 333, 167, 331,
- 371, 163, 159, 115, 115, 115, 115, 115, 115, 117,
- 117, 117, 117, 117, 346, 346, 346, 346, 346, 151,
- 149, 327, 371, 336, 336, 336, 336, 336, 117, 371,
- 346, 360, 361, 146, 336, 117, 117, 117, 117, 117,
- 117, 360, 361, 333, 365, 365, 365, 365, 365, 416,
- 345, 345, 345, 345, 345, 367, 367, 367, 367, 367,
- 143, 142, 416, 377, 117, 117, 117, 117, 117, 117,
- 121, 121, 121, 121, 121, 336, 524, 416, 524, 141,
-
- 441, 121, 360, 361, 369, 369, 369, 369, 369, 121,
- 377, 378, 379, 139, 441, 380, 121, 121, 121, 121,
- 121, 121, 345, 355, 355, 355, 355, 355, 441, 355,
- 527, 415, 527, 378, 379, 138, 355, 380, 377, 415,
- 378, 379, 121, 395, 380, 121, 121, 121, 121, 121,
- 121, 122, 122, 122, 122, 381, 369, 136, 395, 415,
- 418, 381, 122, 359, 359, 359, 359, 359, 382, 391,
- 122, 395, 391, 402, 359, 355, 359, 122, 122, 122,
- 122, 122, 122, 381, 135, 401, 418, 133, 407, 418,
- 382, 402, 132, 391, 407, 130, 405, 382, 391, 396,
-
- 401, 391, 402, 122, 128, 396, 122, 122, 122, 122,
- 122, 122, 129, 401, 396, 359, 407, 406, 405, 129,
- 129, 129, 129, 129, 129, 405, 537, 396, 537, 544,
- 545, 544, 545, 396, 399, 399, 399, 399, 399, 406,
- 126, 404, 408, 116, 113, 95, 406, 399, 129, 129,
- 129, 129, 129, 129, 147, 147, 147, 147, 147, 404,
- 408, 92, 81, 79, 410, 410, 410, 410, 410, 417,
- 404, 408, 75, 147, 63, 410, 420, 61, 417, 421,
- 147, 147, 147, 147, 147, 147, 399, 400, 400, 400,
- 400, 400, 409, 409, 409, 409, 409, 417, 409, 60,
-
- 420, 421, 59, 400, 58, 420, 147, 51, 421, 147,
- 147, 147, 147, 147, 147, 152, 410, 411, 411, 411,
- 411, 411, 152, 152, 152, 152, 152, 152, 413, 413,
- 413, 413, 413, 411, 45, 29, 28, 422, 27, 400,
- 21, 413, 430, 19, 409, 435, 412, 412, 412, 412,
- 412, 152, 152, 152, 152, 152, 152, 160, 160, 160,
- 160, 160, 412, 422, 430, 18, 422, 432, 431, 411,
- 435, 430, 433, 16, 435, 442, 160, 432, 468, 433,
- 413, 442, 448, 160, 160, 160, 160, 160, 160, 423,
- 423, 423, 423, 423, 431, 432, 443, 431, 412, 14,
-
- 433, 468, 423, 442, 448, 449, 7, 468, 443, 160,
- 444, 448, 160, 160, 160, 160, 160, 160, 162, 162,
- 162, 162, 162, 0, 443, 444, 0, 449, 425, 425,
- 425, 425, 425, 450, 449, 0, 454, 162, 444, 0,
- 451, 425, 450, 0, 162, 162, 162, 162, 162, 162,
- 427, 427, 427, 427, 427, 436, 436, 436, 436, 436,
- 0, 450, 451, 427, 454, 466, 0, 0, 436, 451,
- 0, 466, 454, 162, 162, 162, 162, 162, 162, 169,
- 425, 438, 438, 438, 438, 438, 169, 169, 169, 169,
- 169, 169, 454, 466, 438, 0, 0, 0, 457, 0,
-
- 455, 460, 427, 476, 0, 0, 457, 436, 471, 455,
- 460, 476, 472, 0, 473, 169, 169, 169, 169, 169,
- 169, 176, 176, 176, 176, 176, 457, 176, 455, 460,
- 471, 476, 0, 438, 472, 0, 0, 471, 473, 0,
- 176, 472, 0, 473, 0, 0, 0, 176, 176, 176,
- 176, 176, 176, 445, 445, 445, 445, 445, 465, 465,
- 465, 465, 465, 0, 0, 0, 445, 0, 0, 0,
- 0, 465, 0, 176, 0, 0, 176, 176, 176, 176,
- 176, 176, 178, 469, 469, 469, 469, 469, 470, 178,
- 178, 178, 178, 178, 178, 0, 469, 0, 0, 0,
-
- 0, 0, 475, 470, 0, 445, 0, 0, 0, 0,
- 465, 0, 0, 0, 0, 0, 470, 475, 178, 178,
- 178, 178, 178, 178, 180, 180, 180, 180, 180, 0,
- 475, 0, 0, 0, 0, 469, 0, 0, 0, 0,
- 0, 0, 0, 180, 0, 0, 0, 0, 0, 0,
- 180, 180, 180, 180, 180, 180, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 180,
- 180, 180, 180, 180, 180, 181, 181, 181, 181, 181,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
- 0, 0, 0, 0, 181, 0, 0, 0, 0, 0,
- 0, 181, 181, 181, 181, 181, 181, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 181, 181, 181, 181, 181, 181, 183, 183, 183, 183,
- 183, 0, 0, 0, 0, 0, 0, 183, 0, 0,
- 0, 0, 0, 0, 0, 183, 0, 0, 0, 0,
- 0, 0, 183, 183, 183, 183, 183, 183, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 183, 0,
-
- 0, 183, 183, 183, 183, 183, 183, 188, 188, 188,
- 188, 188, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 188, 0, 0, 0,
- 0, 0, 0, 188, 188, 188, 188, 188, 188, 0,
+ 80, 20, 22, 489, 55, 489, 37, 37, 37, 37,
+
+ 37, 57, 64, 57, 22, 245, 501, 22, 501, 52,
+ 22, 131, 55, 245, 22, 22, 64, 22, 494, 494,
+ 67, 66, 80, 57, 72, 72, 80, 97, 22, 67,
+ 37, 131, 66, 22, 55, 66, 22, 52, 71, 22,
+ 131, 55, 22, 22, 71, 22, 26, 73, 67, 66,
+ 80, 57, 71, 26, 26, 26, 26, 26, 26, 37,
+ 66, 72, 108, 118, 73, 84, 71, 97, 73, 74,
+ 93, 73, 71, 74, 109, 76, 73, 93, 106, 84,
+ 82, 76, 26, 26, 26, 26, 26, 26, 41, 41,
+ 41, 41, 73, 84, 41, 74, 73, 86, 74, 82,
+
+ 85, 87, 74, 76, 118, 237, 106, 41, 108, 82,
+ 93, 105, 96, 104, 41, 41, 41, 41, 41, 41,
+ 109, 431, 85, 86, 127, 119, 86, 87, 127, 85,
+ 87, 94, 421, 102, 103, 119, 140, 96, 104, 387,
+ 41, 237, 105, 41, 41, 41, 41, 41, 41, 44,
+ 102, 105, 96, 104, 134, 386, 44, 44, 44, 44,
+ 44, 44, 120, 107, 94, 96, 104, 103, 107, 140,
+ 105, 94, 120, 102, 103, 162, 119, 175, 125, 102,
+ 134, 144, 44, 134, 149, 44, 44, 44, 44, 44,
+ 44, 46, 94, 125, 149, 103, 137, 137, 46, 46,
+
+ 46, 46, 46, 46, 144, 175, 350, 344, 176, 145,
+ 144, 146, 149, 120, 107, 162, 151, 154, 125, 157,
+ 146, 319, 125, 145, 137, 166, 169, 46, 46, 46,
+ 46, 46, 46, 49, 49, 49, 49, 145, 151, 146,
+ 155, 158, 157, 154, 49, 151, 154, 156, 157, 193,
+ 159, 318, 49, 155, 176, 158, 171, 172, 156, 49,
+ 49, 49, 49, 49, 49, 166, 169, 165, 155, 158,
+ 159, 173, 174, 183, 165, 156, 185, 218, 317, 159,
+ 204, 316, 193, 183, 295, 49, 196, 204, 49, 49,
+ 49, 49, 49, 49, 56, 219, 171, 172, 191, 196,
+
+ 185, 56, 56, 56, 56, 56, 56, 165, 204, 173,
+ 203, 173, 174, 295, 196, 315, 185, 218, 251, 203,
+ 198, 191, 206, 219, 183, 200, 252, 191, 185, 205,
+ 56, 56, 56, 56, 56, 56, 77, 173, 203, 207,
+ 206, 205, 198, 77, 77, 77, 77, 77, 77, 198,
+ 200, 206, 228, 239, 200, 233, 228, 205, 277, 226,
+ 283, 207, 208, 314, 251, 342, 277, 252, 207, 233,
+ 286, 314, 77, 77, 77, 77, 77, 77, 88, 239,
+ 256, 226, 239, 233, 208, 88, 88, 88, 88, 88,
+ 88, 208, 216, 216, 216, 216, 216, 234, 216, 226,
+
+ 322, 342, 327, 216, 267, 216, 283, 309, 256, 308,
+ 226, 286, 238, 234, 88, 88, 88, 88, 88, 88,
+ 91, 238, 267, 269, 310, 234, 236, 91, 91, 91,
+ 91, 91, 91, 267, 236, 308, 323, 298, 308, 240,
+ 238, 323, 271, 327, 216, 269, 322, 240, 270, 271,
+ 310, 334, 269, 310, 236, 281, 91, 91, 91, 91,
+ 91, 91, 98, 98, 98, 98, 98, 240, 392, 270,
+ 271, 273, 392, 305, 98, 366, 307, 270, 280, 334,
+ 305, 98, 273, 307, 345, 339, 346, 323, 98, 98,
+ 98, 98, 98, 98, 249, 249, 249, 249, 249, 273,
+
+ 249, 305, 368, 366, 307, 249, 279, 249, 345, 511,
+ 346, 511, 368, 345, 98, 346, 339, 98, 98, 98,
+ 98, 98, 98, 110, 110, 110, 110, 110, 465, 110,
+ 282, 282, 282, 282, 282, 284, 284, 284, 284, 284,
+ 358, 368, 110, 282, 339, 358, 249, 379, 284, 110,
+ 110, 110, 110, 110, 110, 250, 250, 250, 250, 250,
+ 394, 250, 394, 385, 465, 445, 250, 278, 250, 367,
+ 367, 367, 367, 367, 379, 110, 272, 445, 110, 110,
+ 110, 110, 110, 110, 111, 111, 111, 111, 394, 385,
+ 111, 358, 385, 445, 248, 288, 288, 288, 288, 288,
+
+ 359, 247, 379, 111, 372, 359, 405, 250, 288, 246,
+ 111, 111, 111, 111, 111, 111, 289, 289, 289, 289,
+ 289, 290, 290, 290, 290, 290, 372, 405, 328, 289,
+ 513, 241, 513, 372, 290, 405, 111, 231, 328, 111,
+ 111, 111, 111, 111, 111, 114, 395, 288, 420, 230,
+ 227, 359, 114, 114, 114, 114, 114, 114, 291, 291,
+ 291, 291, 291, 320, 320, 320, 320, 320, 289, 395,
+ 362, 291, 215, 290, 420, 395, 320, 420, 114, 328,
+ 362, 114, 114, 114, 114, 114, 114, 115, 214, 333,
+ 333, 333, 333, 333, 115, 115, 115, 115, 115, 115,
+
+ 324, 324, 324, 324, 324, 333, 324, 517, 201, 517,
+ 291, 417, 434, 324, 335, 335, 335, 335, 335, 417,
+ 335, 362, 434, 115, 115, 115, 115, 115, 115, 117,
+ 117, 117, 117, 117, 348, 348, 348, 348, 348, 417,
+ 434, 195, 194, 338, 338, 338, 338, 338, 117, 192,
+ 348, 373, 324, 190, 338, 117, 117, 117, 117, 117,
+ 117, 329, 329, 329, 329, 329, 335, 369, 369, 369,
+ 369, 369, 329, 373, 329, 347, 347, 347, 347, 347,
+ 373, 380, 404, 381, 117, 117, 117, 117, 117, 117,
+ 121, 121, 121, 121, 121, 338, 519, 526, 519, 526,
+
+ 404, 121, 383, 380, 363, 381, 188, 186, 383, 121,
+ 380, 404, 381, 329, 363, 180, 121, 121, 121, 121,
+ 121, 121, 357, 357, 357, 357, 357, 347, 357, 396,
+ 383, 464, 419, 464, 382, 357, 371, 371, 371, 371,
+ 371, 419, 121, 384, 396, 121, 121, 121, 121, 121,
+ 121, 122, 122, 122, 122, 363, 382, 396, 168, 464,
+ 419, 397, 122, 382, 435, 384, 393, 164, 160, 393,
+ 122, 435, 384, 406, 357, 407, 397, 122, 122, 122,
+ 122, 122, 122, 361, 361, 361, 361, 361, 371, 397,
+ 393, 406, 435, 152, 361, 393, 361, 407, 393, 398,
+
+ 403, 422, 406, 122, 407, 398, 122, 122, 122, 122,
+ 122, 122, 129, 410, 398, 403, 529, 150, 529, 129,
+ 129, 129, 129, 129, 129, 422, 147, 398, 403, 143,
+ 422, 410, 409, 398, 539, 361, 539, 546, 409, 546,
+ 408, 142, 410, 402, 402, 402, 402, 402, 129, 129,
+ 129, 129, 129, 129, 148, 148, 148, 148, 148, 402,
+ 409, 141, 408, 418, 401, 401, 401, 401, 401, 408,
+ 139, 138, 423, 148, 136, 135, 418, 401, 133, 424,
+ 148, 148, 148, 148, 148, 148, 411, 411, 411, 411,
+ 411, 418, 411, 132, 423, 402, 412, 412, 412, 412,
+
+ 412, 423, 547, 130, 547, 424, 148, 412, 424, 148,
+ 148, 148, 148, 148, 148, 153, 401, 413, 413, 413,
+ 413, 413, 153, 153, 153, 153, 153, 153, 414, 414,
+ 414, 414, 414, 413, 128, 126, 116, 113, 411, 95,
+ 92, 81, 433, 79, 414, 432, 75, 63, 412, 61,
+ 60, 153, 153, 153, 153, 153, 153, 161, 161, 161,
+ 161, 161, 425, 425, 425, 425, 425, 432, 433, 413,
+ 437, 433, 444, 459, 432, 425, 161, 59, 444, 446,
+ 414, 459, 443, 161, 161, 161, 161, 161, 161, 415,
+ 415, 415, 415, 415, 446, 437, 443, 468, 58, 437,
+
+ 444, 459, 415, 468, 51, 450, 451, 446, 472, 161,
+ 443, 477, 161, 161, 161, 161, 161, 161, 163, 163,
+ 163, 163, 163, 472, 45, 468, 477, 450, 451, 427,
+ 427, 427, 427, 427, 450, 451, 472, 163, 453, 477,
+ 473, 415, 427, 470, 163, 163, 163, 163, 163, 163,
+ 429, 429, 429, 429, 429, 438, 438, 438, 438, 438,
+ 453, 29, 473, 429, 28, 27, 470, 453, 438, 473,
+ 456, 452, 470, 163, 163, 163, 163, 163, 163, 170,
+ 452, 427, 474, 21, 475, 19, 170, 170, 170, 170,
+ 170, 170, 440, 440, 440, 440, 440, 18, 456, 452,
+
+ 457, 462, 429, 16, 474, 440, 456, 438, 475, 457,
+ 462, 474, 14, 475, 7, 170, 170, 170, 170, 170,
+ 170, 177, 177, 177, 177, 177, 456, 177, 457, 462,
+ 0, 0, 447, 447, 447, 447, 447, 0, 0, 0,
+ 177, 0, 0, 0, 440, 447, 0, 177, 177, 177,
+ 177, 177, 177, 467, 467, 467, 467, 467, 471, 471,
+ 471, 471, 471, 0, 0, 0, 467, 478, 0, 0,
+ 0, 471, 0, 177, 0, 478, 177, 177, 177, 177,
+ 177, 177, 179, 0, 447, 0, 0, 0, 0, 179,
+ 179, 179, 179, 179, 179, 478, 0, 0, 0, 0,
+
+ 0, 0, 0, 0, 0, 467, 0, 0, 0, 0,
+ 471, 0, 0, 0, 0, 0, 0, 0, 179, 179,
+ 179, 179, 179, 179, 181, 181, 181, 181, 181, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 181, 0, 0, 0, 0, 0, 0,
+ 181, 181, 181, 181, 181, 181, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 181,
+ 181, 181, 181, 181, 181, 182, 182, 182, 182, 182,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+
+ 0, 0, 0, 0, 182, 0, 0, 0, 0, 0,
+ 0, 182, 182, 182, 182, 182, 182, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 182, 182, 182, 182, 182, 182, 184, 184, 184, 184,
+ 184, 0, 0, 0, 0, 0, 0, 184, 0, 0,
+ 0, 0, 0, 0, 0, 184, 0, 0, 0, 0,
+ 0, 0, 184, 184, 184, 184, 184, 184, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 184, 0,
+
+ 0, 184, 184, 184, 184, 184, 184, 189, 189, 189,
+ 189, 189, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 189, 0, 0, 0,
+ 0, 0, 0, 189, 189, 189, 189, 189, 189, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 188, 188, 188, 188, 188, 188, 195, 0,
- 0, 0, 0, 0, 0, 195, 195, 195, 195, 195,
- 195, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 189, 189, 189, 189, 189, 189, 197, 0,
+ 0, 0, 0, 0, 0, 197, 197, 197, 197, 197,
+ 197, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 195, 195, 195, 195, 195, 195,
- 200, 200, 200, 200, 200, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 200,
- 0, 0, 0, 0, 0, 0, 200, 200, 200, 200,
- 200, 200, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 197, 197, 197, 197, 197, 197,
+ 202, 202, 202, 202, 202, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 202,
+ 0, 0, 0, 0, 0, 0, 202, 202, 202, 202,
+ 202, 202, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 200, 200, 200, 200, 200,
- 200, 207, 0, 0, 0, 0, 0, 0, 207, 207,
- 207, 207, 207, 207, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 202, 202, 202, 202, 202,
+ 202, 209, 0, 0, 0, 0, 0, 0, 209, 209,
+ 209, 209, 209, 209, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 207, 207, 207,
- 207, 207, 207, 208, 208, 208, 208, 208, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 209, 209, 209,
+ 209, 209, 209, 210, 210, 210, 210, 210, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 208, 0, 0, 0, 0, 0, 0, 208,
- 208, 208, 208, 208, 208, 0, 0, 0, 0, 0,
+ 0, 0, 210, 0, 0, 0, 0, 0, 0, 210,
+ 210, 210, 210, 210, 210, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 208, 208,
- 208, 208, 208, 208, 215, 0, 0, 0, 0, 0,
- 0, 215, 215, 215, 215, 215, 215, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 210, 210,
+ 210, 210, 210, 210, 217, 0, 0, 0, 0, 0,
+ 0, 217, 217, 217, 217, 217, 217, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 215, 215, 215, 215, 215, 215, 218, 218, 218, 218,
- 218, 0, 218, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 218, 0, 0, 0, 0,
- 0, 0, 218, 218, 218, 218, 218, 218, 0, 0,
+ 217, 217, 217, 217, 217, 217, 220, 220, 220, 220,
+ 220, 0, 220, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 220, 0, 0, 0, 0,
+ 0, 0, 220, 220, 220, 220, 220, 220, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 218, 0,
- 0, 218, 218, 218, 218, 218, 218, 220, 0, 0,
- 0, 0, 0, 0, 220, 220, 220, 220, 220, 220,
+ 0, 0, 0, 0, 0, 0, 0, 0, 220, 0,
+ 0, 220, 220, 220, 220, 220, 220, 222, 0, 0,
+ 0, 0, 0, 0, 222, 222, 222, 222, 222, 222,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 220, 220, 220, 220, 220, 220, 221,
- 221, 221, 221, 221, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 221, 0,
- 0, 0, 0, 0, 0, 221, 221, 221, 221, 221,
- 221, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 222, 222, 222, 222, 222, 222, 223,
+ 223, 223, 223, 223, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 223, 0,
+ 0, 0, 0, 0, 0, 223, 223, 223, 223, 223,
+ 223, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 221, 221, 221, 221, 221, 221,
- 222, 222, 222, 222, 222, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 222,
+ 0, 0, 0, 0, 223, 223, 223, 223, 223, 223,
+ 224, 224, 224, 224, 224, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 224,
- 0, 0, 0, 0, 0, 0, 222, 222, 222, 222,
- 222, 222, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 224, 224, 224, 224,
+ 224, 224, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 222, 222, 222, 222, 222,
- 222, 223, 223, 223, 223, 223, 0, 0, 0, 0,
- 0, 0, 223, 0, 0, 0, 0, 0, 0, 0,
- 223, 0, 0, 0, 0, 0, 0, 223, 223, 223,
- 223, 223, 223, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 224, 224, 224, 224, 224,
+ 224, 225, 225, 225, 225, 225, 0, 0, 0, 0,
+ 0, 0, 225, 0, 0, 0, 0, 0, 0, 0,
+ 225, 0, 0, 0, 0, 0, 0, 225, 225, 225,
+ 225, 225, 225, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 223, 0, 0, 223, 223, 223, 223,
+ 0, 0, 0, 225, 0, 0, 225, 225, 225, 225,
- 223, 223, 227, 227, 227, 227, 227, 0, 0, 0,
+ 225, 225, 229, 229, 229, 229, 229, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 227, 0, 0, 0, 0, 0, 0, 227, 227,
- 227, 227, 227, 227, 0, 0, 0, 0, 0, 0,
+ 0, 229, 0, 0, 0, 0, 0, 0, 229, 229,
+ 229, 229, 229, 229, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 227, 227, 227,
- 227, 227, 227, 230, 0, 0, 0, 0, 0, 0,
- 230, 230, 230, 230, 230, 230, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 229, 229, 229,
+ 229, 229, 229, 232, 0, 0, 0, 0, 0, 0,
+ 232, 232, 232, 232, 232, 232, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 230,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 232,
- 230, 230, 230, 230, 230, 233, 233, 233, 233, 233,
+ 232, 232, 232, 232, 232, 235, 235, 235, 235, 235,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 233, 0, 0, 0, 0, 0,
- 0, 233, 233, 233, 233, 233, 233, 0, 0, 0,
+ 0, 0, 0, 0, 235, 0, 0, 0, 0, 0,
+ 0, 235, 235, 235, 235, 235, 235, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 233, 233, 233, 233, 233, 233, 240, 0, 0, 0,
- 0, 0, 0, 240, 240, 240, 240, 240, 240, 0,
+ 235, 235, 235, 235, 235, 235, 242, 0, 0, 0,
+ 0, 0, 0, 242, 242, 242, 242, 242, 242, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 240, 240, 240, 240, 240, 240, 241, 241,
- 241, 241, 241, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 241, 0, 0,
- 0, 0, 0, 0, 241, 241, 241, 241, 241, 241,
+ 0, 0, 242, 242, 242, 242, 242, 242, 243, 243,
+ 243, 243, 243, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 243, 0, 0,
+ 0, 0, 0, 0, 243, 243, 243, 243, 243, 243,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 241, 241, 241, 241, 241, 241, 252,
- 252, 252, 252, 252, 0, 252, 0, 0, 0, 0,
- 252, 252, 252, 0, 0, 0, 0, 0, 252, 0,
- 0, 0, 0, 0, 0, 252, 252, 252, 252, 252,
+ 0, 0, 0, 243, 243, 243, 243, 243, 243, 254,
+ 254, 254, 254, 254, 0, 254, 0, 0, 0, 0,
+ 254, 254, 254, 0, 0, 0, 0, 0, 254, 0,
+ 0, 0, 0, 0, 0, 254, 254, 254, 254, 254,
- 252, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 254, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 252, 0, 0, 252, 252, 252, 252, 252, 252,
- 253, 0, 0, 0, 0, 0, 0, 253, 253, 253,
- 253, 253, 253, 0, 0, 0, 0, 0, 0, 0,
+ 0, 254, 0, 0, 254, 254, 254, 254, 254, 254,
+ 255, 0, 0, 0, 0, 0, 0, 255, 255, 255,
+ 255, 255, 255, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 253, 253, 253, 253,
- 253, 253, 255, 255, 255, 255, 255, 0, 255, 0,
+ 0, 0, 0, 0, 0, 0, 255, 255, 255, 255,
+ 255, 255, 257, 257, 257, 257, 257, 0, 257, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 255, 0, 0, 0, 0, 0, 0, 255, 255,
+ 0, 257, 0, 0, 0, 0, 0, 0, 257, 257,
- 255, 255, 255, 255, 0, 0, 0, 0, 0, 0,
+ 257, 257, 257, 257, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 255, 0, 0, 255, 255, 255,
- 255, 255, 255, 257, 0, 0, 0, 0, 0, 0,
- 257, 257, 257, 257, 257, 257, 0, 0, 0, 0,
+ 0, 0, 0, 0, 257, 0, 0, 257, 257, 257,
+ 257, 257, 257, 259, 0, 0, 0, 0, 0, 0,
+ 259, 259, 259, 259, 259, 259, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 257, 0, 0, 257,
- 257, 257, 257, 257, 257, 258, 258, 258, 258, 258,
+ 0, 0, 0, 0, 0, 0, 259, 0, 0, 259,
+ 259, 259, 259, 259, 259, 260, 260, 260, 260, 260,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 258, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 260, 0, 0, 0, 0, 0,
- 0, 258, 258, 258, 258, 258, 258, 0, 0, 0,
+ 0, 260, 260, 260, 260, 260, 260, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 258, 0, 0,
- 258, 258, 258, 258, 258, 258, 259, 259, 259, 259,
- 259, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 259, 0, 0, 0, 0,
- 0, 0, 259, 259, 259, 259, 259, 259, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 260, 0, 0,
+ 260, 260, 260, 260, 260, 260, 261, 261, 261, 261,
+ 261, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 261, 0, 0, 0, 0,
+ 0, 0, 261, 261, 261, 261, 261, 261, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 259, 259, 259, 259, 259, 259, 260, 260, 260,
+ 0, 261, 261, 261, 261, 261, 261, 262, 262, 262,
- 260, 260, 0, 0, 0, 0, 0, 0, 260, 0,
- 0, 0, 0, 0, 0, 0, 260, 0, 0, 0,
- 0, 0, 0, 260, 260, 260, 260, 260, 260, 0,
+ 262, 262, 0, 0, 0, 0, 0, 0, 262, 0,
+ 0, 0, 0, 0, 0, 0, 262, 0, 0, 0,
+ 0, 0, 0, 262, 262, 262, 262, 262, 262, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 260,
- 0, 0, 260, 260, 260, 260, 260, 260, 261, 261,
- 261, 261, 261, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 261, 0, 0,
- 0, 0, 0, 0, 261, 261, 261, 261, 261, 261,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 262,
+ 0, 0, 262, 262, 262, 262, 262, 262, 263, 263,
+ 263, 263, 263, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 263, 0, 0,
+ 0, 0, 0, 0, 263, 263, 263, 263, 263, 263,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 261, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 261, 261, 261, 261, 261, 261, 0,
+ 0, 0, 0, 263, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 263, 263, 263, 263, 263, 263, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 261, 262, 262, 262, 262, 262, 0, 0, 0,
+ 0, 263, 264, 264, 264, 264, 264, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 262, 0, 0, 0, 0, 0, 0, 262, 262,
- 262, 262, 262, 262, 0, 0, 0, 0, 0, 0,
+ 0, 264, 0, 0, 0, 0, 0, 0, 264, 264,
+ 264, 264, 264, 264, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 262, 262, 262,
- 262, 262, 262, 263, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 264, 264, 264,
+ 264, 264, 264, 265, 0, 0, 0, 0, 0, 0,
- 263, 263, 263, 263, 263, 263, 0, 0, 0, 0,
+ 265, 265, 265, 265, 265, 265, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 263,
- 263, 263, 263, 263, 263, 264, 264, 264, 264, 264,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 265,
+ 265, 265, 265, 265, 265, 266, 266, 266, 266, 266,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 264, 0, 0, 0, 0, 0,
- 0, 264, 264, 264, 264, 264, 264, 0, 0, 0,
+ 0, 0, 0, 0, 266, 0, 0, 0, 0, 0,
+ 0, 266, 266, 266, 266, 266, 266, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 264, 264, 264, 264, 264, 264, 266, 266, 266, 266,
+ 266, 266, 266, 266, 266, 266, 268, 268, 268, 268,
- 266, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 266, 0, 0, 0, 0,
- 0, 0, 266, 266, 266, 266, 266, 266, 0, 0,
+ 268, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 268, 0, 0, 0, 0,
+ 0, 0, 268, 268, 268, 268, 268, 268, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 266, 266, 266, 266, 266, 266, 272, 0, 0,
- 0, 0, 0, 0, 272, 272, 272, 272, 272, 272,
+ 0, 268, 268, 268, 268, 268, 268, 274, 0, 0,
+ 0, 0, 0, 0, 274, 274, 274, 274, 274, 274,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 272, 272, 272, 272, 272, 272, 273,
+ 0, 0, 0, 274, 274, 274, 274, 274, 274, 275,
- 273, 273, 273, 273, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 273, 0,
- 0, 0, 0, 0, 0, 273, 273, 273, 273, 273,
- 273, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 275, 275, 275, 275, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 275, 0,
+ 0, 0, 0, 0, 0, 275, 275, 275, 275, 275,
+ 275, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 273, 273, 273, 273, 273, 273,
- 283, 283, 283, 283, 0, 0, 283, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 283,
- 0, 0, 0, 0, 0, 0, 283, 283, 283, 283,
- 283, 283, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 275, 275, 275, 275, 275, 275,
+ 285, 285, 285, 285, 0, 0, 285, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 285,
+ 0, 0, 0, 0, 0, 0, 285, 285, 285, 285,
+ 285, 285, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 283, 0, 0, 283, 283, 283, 283, 283,
- 283, 285, 285, 285, 285, 0, 0, 0, 0, 0,
- 0, 0, 285, 0, 0, 0, 0, 0, 0, 0,
- 285, 0, 0, 0, 0, 0, 0, 285, 285, 285,
- 285, 285, 285, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 285, 0, 0, 285, 285, 285, 285, 285,
+ 285, 287, 287, 287, 287, 0, 0, 0, 0, 0,
+ 0, 0, 287, 0, 0, 0, 0, 0, 0, 0,
+ 287, 0, 0, 0, 0, 0, 0, 287, 287, 287,
+ 287, 287, 287, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 285, 0, 0, 285, 285, 285, 285,
- 285, 285, 290, 290, 290, 290, 290, 0, 0, 0,
- 0, 0, 0, 0, 0, 290, 0, 0, 0, 0,
+ 0, 0, 0, 287, 0, 0, 287, 287, 287, 287,
+ 287, 287, 292, 292, 292, 292, 292, 0, 0, 0,
+ 0, 0, 0, 0, 0, 292, 0, 0, 0, 0,
- 0, 290, 0, 0, 0, 0, 0, 0, 290, 290,
- 290, 290, 290, 290, 0, 0, 0, 0, 0, 0,
+ 0, 292, 0, 0, 0, 0, 0, 0, 292, 292,
+ 292, 292, 292, 292, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 290, 0, 0, 290, 290, 290,
- 290, 290, 290, 291, 291, 291, 291, 291, 0, 291,
- 0, 0, 0, 0, 291, 291, 291, 0, 0, 0,
- 0, 0, 291, 0, 0, 0, 0, 0, 0, 291,
- 291, 291, 291, 291, 291, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 292, 0, 0, 292, 292, 292,
+ 292, 292, 292, 293, 293, 293, 293, 293, 0, 293,
+ 0, 0, 0, 0, 293, 293, 293, 0, 0, 0,
+ 0, 0, 293, 0, 0, 0, 0, 0, 0, 293,
+ 293, 293, 293, 293, 293, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 291, 0, 0, 291, 291,
+ 0, 0, 0, 0, 0, 293, 0, 0, 293, 293,
- 291, 291, 291, 291, 292, 0, 0, 0, 0, 0,
- 0, 292, 292, 292, 292, 292, 292, 0, 0, 0,
+ 293, 293, 293, 293, 294, 0, 0, 0, 0, 0,
+ 0, 294, 294, 294, 294, 294, 294, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 292, 292, 292, 292, 292, 292, 294, 294, 294, 294,
- 294, 0, 294, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 294, 0, 0, 0, 0,
- 0, 0, 294, 294, 294, 294, 294, 294, 0, 0,
+ 294, 294, 294, 294, 294, 294, 296, 296, 296, 296,
+ 296, 0, 296, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 296, 0, 0, 0, 0,
+ 0, 0, 296, 296, 296, 296, 296, 296, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 294, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 296, 0,
- 0, 294, 294, 294, 294, 294, 294, 297, 297, 297,
- 297, 297, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 297, 0, 0, 0,
- 0, 0, 0, 297, 297, 297, 297, 297, 297, 0,
+ 0, 296, 296, 296, 296, 296, 296, 299, 299, 299,
+ 299, 299, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 299, 0, 0, 0,
+ 0, 0, 0, 299, 299, 299, 299, 299, 299, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 297,
- 0, 0, 297, 297, 297, 297, 297, 297, 298, 298,
- 298, 298, 298, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 298, 0, 0,
- 0, 0, 0, 0, 298, 298, 298, 298, 298, 298,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 299,
+ 0, 0, 299, 299, 299, 299, 299, 299, 300, 300,
+ 300, 300, 300, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 300, 0, 0,
+ 0, 0, 0, 0, 300, 300, 300, 300, 300, 300,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 298, 298, 298, 298, 298, 298, 299,
- 299, 299, 299, 299, 0, 0, 0, 0, 0, 0,
- 299, 0, 0, 0, 0, 0, 0, 0, 299, 0,
- 0, 0, 0, 0, 0, 299, 299, 299, 299, 299,
- 299, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 300, 300, 300, 300, 300, 300, 301,
+ 301, 301, 301, 301, 0, 0, 0, 0, 0, 0,
+ 301, 0, 0, 0, 0, 0, 0, 0, 301, 0,
+ 0, 0, 0, 0, 0, 301, 301, 301, 301, 301,
+ 301, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 299, 0, 0, 299, 299, 299, 299, 299, 299,
- 300, 300, 300, 300, 300, 0, 0, 0, 0, 0,
+ 0, 301, 0, 0, 301, 301, 301, 301, 301, 301,
+ 302, 302, 302, 302, 302, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 300, 0, 0, 300,
- 0, 0, 0, 0, 0, 0, 300, 300, 300, 300,
- 300, 300, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 302, 0, 0, 302,
+ 0, 0, 0, 0, 0, 0, 302, 302, 302, 302,
+ 302, 302, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 300, 300, 300, 300, 300,
- 300, 301, 301, 301, 301, 301, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 302, 302, 302, 302, 302,
+ 302, 303, 303, 303, 303, 303, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 301, 0, 0, 0, 0, 0, 0, 301, 301, 301,
- 301, 301, 301, 0, 0, 0, 0, 0, 0, 0,
+ 303, 0, 0, 0, 0, 0, 0, 303, 303, 303,
+ 303, 303, 303, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 301, 301, 301, 301,
- 301, 301, 302, 302, 302, 302, 302, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 303, 303, 303, 303,
+ 303, 303, 304, 304, 304, 304, 304, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 302, 0, 0, 0, 0, 0, 0, 302, 302,
- 302, 302, 302, 302, 0, 0, 0, 0, 0, 0,
+ 0, 304, 0, 0, 0, 0, 0, 0, 304, 304,
+ 304, 304, 304, 304, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 302, 302, 302,
- 302, 302, 302, 304, 304, 304, 304, 304, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 304, 304, 304,
+ 304, 304, 304, 306, 306, 306, 306, 306, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 304, 0, 0, 0, 0, 0, 0, 304,
+ 0, 0, 306, 0, 0, 0, 0, 0, 0, 306,
- 304, 304, 304, 304, 304, 0, 0, 0, 0, 0,
+ 306, 306, 306, 306, 306, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 304, 304,
- 304, 304, 304, 304, 309, 0, 0, 0, 0, 0,
- 0, 309, 309, 309, 309, 309, 309, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 306, 306,
+ 306, 306, 306, 306, 311, 0, 0, 0, 0, 0,
+ 0, 311, 311, 311, 311, 311, 311, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 309, 309, 309, 309, 309, 309, 310, 310, 310, 310,
- 310, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 310, 0, 0, 0, 0,
+ 311, 311, 311, 311, 311, 311, 312, 312, 312, 312,
+ 312, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 312, 0, 0, 0, 0,
- 0, 0, 310, 310, 310, 310, 310, 310, 0, 0,
+ 0, 0, 312, 312, 312, 312, 312, 312, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 310, 310, 310, 310, 310, 310, 323, 323, 323,
- 323, 323, 0, 323, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 323, 0, 0, 0,
- 0, 0, 0, 323, 323, 323, 323, 323, 323, 0,
+ 0, 312, 312, 312, 312, 312, 312, 325, 325, 325,
+ 325, 325, 0, 325, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 325, 0, 0, 0,
+ 0, 0, 0, 325, 325, 325, 325, 325, 325, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 323,
- 0, 0, 323, 323, 323, 323, 323, 323, 324, 324,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 325,
+ 0, 0, 325, 325, 325, 325, 325, 325, 326, 326,
- 324, 324, 0, 0, 324, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 324, 0, 0,
- 0, 0, 0, 0, 324, 324, 324, 324, 324, 324,
+ 326, 326, 0, 0, 326, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 326, 0, 0,
+ 0, 0, 0, 0, 326, 326, 326, 326, 326, 326,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 324, 0, 0, 324, 324, 324, 324, 324, 324, 328,
- 328, 328, 328, 328, 0, 0, 0, 0, 0, 0,
- 328, 0, 0, 0, 0, 0, 0, 0, 328, 0,
- 0, 0, 0, 0, 0, 328, 328, 328, 328, 328,
- 328, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 326, 0, 0, 326, 326, 326, 326, 326, 326, 330,
+ 330, 330, 330, 330, 0, 0, 0, 0, 0, 0,
+ 330, 0, 0, 0, 0, 0, 0, 0, 330, 0,
+ 0, 0, 0, 0, 0, 330, 330, 330, 330, 330,
+ 330, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 328, 0, 0, 328, 328, 328, 328, 328, 328,
- 329, 329, 329, 329, 0, 0, 0, 0, 0, 0,
- 0, 329, 0, 0, 0, 0, 0, 0, 0, 329,
- 0, 0, 0, 0, 0, 0, 329, 329, 329, 329,
- 329, 329, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 330, 0, 0, 330, 330, 330, 330, 330, 330,
+ 331, 331, 331, 331, 0, 0, 0, 0, 0, 0,
+ 0, 331, 0, 0, 0, 0, 0, 0, 0, 331,
+ 0, 0, 0, 0, 0, 0, 331, 331, 331, 331,
+ 331, 331, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 329, 0, 0, 329, 329, 329, 329, 329,
- 329, 330, 330, 330, 330, 330, 0, 0, 0, 0,
- 0, 0, 0, 0, 330, 0, 0, 0, 0, 0,
+ 0, 0, 331, 0, 0, 331, 331, 331, 331, 331,
+ 331, 332, 332, 332, 332, 332, 0, 0, 0, 0,
+ 0, 0, 0, 0, 332, 0, 0, 0, 0, 0,
- 330, 0, 0, 0, 0, 0, 0, 330, 330, 330,
- 330, 330, 330, 0, 0, 0, 0, 0, 0, 0,
+ 332, 0, 0, 0, 0, 0, 0, 332, 332, 332,
+ 332, 332, 332, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 330, 0, 0, 330, 330, 330, 330,
- 330, 330, 334, 0, 0, 0, 0, 0, 0, 334,
- 334, 334, 334, 334, 334, 0, 0, 0, 0, 0,
+ 0, 0, 0, 332, 0, 0, 332, 332, 332, 332,
+ 332, 332, 336, 0, 0, 0, 0, 0, 0, 336,
+ 336, 336, 336, 336, 336, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 334, 334,
- 334, 334, 334, 334, 335, 0, 0, 0, 0, 0,
- 0, 335, 335, 335, 335, 335, 335, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 336, 336,
+ 336, 336, 336, 336, 337, 0, 0, 0, 0, 0,
+ 0, 337, 337, 337, 337, 337, 337, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 335, 335, 335, 335, 335, 335, 338, 0, 0, 0,
- 0, 0, 0, 338, 338, 338, 338, 338, 338, 0,
+ 337, 337, 337, 337, 337, 337, 340, 0, 0, 0,
+ 0, 0, 0, 340, 340, 340, 340, 340, 340, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 338, 338, 338, 338, 338, 338, 339, 339,
- 339, 339, 339, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 339, 0, 0,
- 0, 0, 0, 0, 339, 339, 339, 339, 339, 339,
+ 0, 0, 340, 340, 340, 340, 340, 340, 341, 341,
+ 341, 341, 341, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 341, 0, 0,
+ 0, 0, 0, 0, 341, 341, 341, 341, 341, 341,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 339, 339, 339, 339, 339, 339, 341,
- 341, 341, 341, 341, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 341, 0,
- 0, 0, 0, 0, 0, 341, 341, 341, 341, 341,
- 341, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 341, 341, 341, 341, 341, 341, 343,
+ 343, 343, 343, 343, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 343, 0,
+ 0, 0, 0, 0, 0, 343, 343, 343, 343, 343,
+ 343, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 341, 341, 341, 341, 341, 341,
- 358, 0, 0, 0, 0, 0, 0, 358, 358, 358,
+ 0, 0, 0, 0, 343, 343, 343, 343, 343, 343,
+ 360, 0, 0, 0, 0, 0, 0, 360, 360, 360,
- 358, 358, 358, 0, 0, 0, 0, 0, 0, 0,
+ 360, 360, 360, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 358, 358, 358, 358,
- 358, 358, 362, 0, 0, 0, 0, 0, 0, 362,
- 362, 362, 362, 362, 362, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 360, 360, 360, 360,
+ 360, 360, 364, 0, 0, 0, 0, 0, 0, 364,
+ 364, 364, 364, 364, 364, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 362, 362,
- 362, 362, 362, 362, 363, 363, 363, 363, 363, 0,
- 0, 0, 0, 0, 0, 0, 0, 363, 0, 0,
- 0, 0, 0, 363, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 364, 364,
+ 364, 364, 364, 364, 365, 365, 365, 365, 365, 0,
+ 0, 0, 0, 0, 0, 0, 0, 365, 0, 0,
+ 0, 0, 0, 365, 0, 0, 0, 0, 0, 0,
- 363, 363, 363, 363, 363, 363, 0, 0, 0, 0,
+ 365, 365, 365, 365, 365, 365, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 363, 0, 0, 363,
- 363, 363, 363, 363, 363, 368, 0, 0, 0, 0,
- 0, 0, 368, 0, 368, 0, 0, 0, 0, 368,
- 368, 0, 0, 368, 0, 0, 0, 0, 368, 0,
- 0, 0, 0, 0, 368, 0, 0, 0, 0, 0,
- 368, 0, 368, 0, 0, 0, 0, 368, 368, 0,
- 0, 368, 373, 0, 0, 0, 0, 0, 0, 373,
- 373, 373, 373, 373, 373, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 365, 0, 0, 365,
+ 365, 365, 365, 365, 365, 370, 0, 0, 0, 0,
+ 0, 0, 370, 0, 370, 0, 0, 0, 0, 370,
+ 370, 0, 0, 370, 0, 0, 0, 0, 370, 0,
+ 0, 0, 0, 0, 370, 0, 0, 0, 0, 0,
+ 370, 0, 370, 0, 0, 0, 0, 370, 370, 0,
+ 0, 370, 375, 0, 0, 0, 0, 0, 0, 375,
+ 375, 375, 375, 375, 375, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 373, 373,
- 373, 373, 373, 373, 374, 0, 0, 0, 0, 0,
- 0, 374, 374, 374, 374, 374, 374, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 375, 375,
+ 375, 375, 375, 375, 376, 0, 0, 0, 0, 0,
+ 0, 376, 376, 376, 376, 376, 376, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 374, 374, 374, 374, 374, 374, 375, 0, 0, 0,
- 0, 0, 0, 375, 375, 375, 375, 375, 375, 0,
+ 376, 376, 376, 376, 376, 376, 377, 0, 0, 0,
+ 0, 0, 0, 377, 377, 377, 377, 377, 377, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 375, 375, 375, 375, 375, 375, 387, 0,
- 0, 0, 0, 0, 0, 387, 387, 387, 387, 387,
- 387, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 377, 377, 377, 377, 377, 377, 389, 0,
+ 0, 0, 0, 0, 0, 389, 389, 389, 389, 389,
+ 389, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 387, 387, 387, 387, 387, 387,
- 388, 0, 0, 0, 0, 0, 0, 388, 388, 388,
- 388, 388, 388, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 389, 389, 389, 389, 389, 389,
+ 390, 0, 0, 0, 0, 0, 0, 390, 390, 390,
+ 390, 390, 390, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 388, 388, 388, 388,
- 388, 388, 389, 0, 0, 0, 0, 0, 0, 389,
+ 0, 0, 0, 0, 0, 0, 390, 390, 390, 390,
+ 390, 390, 391, 0, 0, 0, 0, 0, 0, 391,
- 389, 389, 389, 389, 389, 0, 0, 0, 0, 0,
+ 391, 391, 391, 391, 391, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 389, 389,
- 389, 389, 389, 389, 397, 0, 0, 0, 0, 0,
- 0, 397, 397, 397, 397, 397, 397, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 391, 391,
+ 391, 391, 391, 391, 399, 0, 0, 0, 0, 0,
+ 0, 399, 399, 399, 399, 399, 399, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 397, 397, 397, 397, 397, 397, 398, 0, 0, 0,
- 0, 0, 0, 398, 398, 398, 398, 398, 398, 0,
+ 399, 399, 399, 399, 399, 399, 400, 0, 0, 0,
+ 0, 0, 0, 400, 400, 400, 400, 400, 400, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 398, 398, 398, 398, 398, 398, 414, 0,
- 0, 0, 0, 0, 0, 414, 414, 414, 414, 414,
- 414, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 400, 400, 400, 400, 400, 400, 416, 0,
+ 0, 0, 0, 0, 0, 416, 416, 416, 416, 416,
+ 416, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 414, 414, 414, 414, 414, 414,
- 426, 0, 0, 0, 0, 0, 0, 426, 426, 426,
- 426, 426, 426, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 416, 416, 416, 416, 416, 416,
+ 428, 0, 0, 0, 0, 0, 0, 428, 428, 428,
+ 428, 428, 428, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 426, 426, 426, 426,
+ 0, 0, 0, 0, 0, 0, 428, 428, 428, 428,
- 426, 426, 428, 428, 428, 428, 428, 0, 0, 0,
- 0, 0, 0, 0, 0, 428, 0, 0, 0, 0,
- 0, 428, 0, 0, 0, 0, 0, 0, 428, 428,
- 428, 428, 428, 428, 0, 0, 0, 0, 0, 0,
+ 428, 428, 430, 430, 430, 430, 430, 0, 0, 0,
+ 0, 0, 0, 0, 0, 430, 0, 0, 0, 0,
+ 0, 430, 0, 0, 0, 0, 0, 0, 430, 430,
+ 430, 430, 430, 430, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 428, 0, 0, 428, 428, 428,
- 428, 428, 428, 437, 437, 437, 437, 437, 0, 0,
+ 0, 0, 0, 0, 430, 0, 0, 430, 430, 430,
+ 430, 430, 430, 439, 439, 439, 439, 439, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 437, 0, 0, 0, 0, 0, 0, 437,
- 437, 437, 437, 437, 437, 0, 0, 0, 0, 0,
+ 0, 0, 439, 0, 0, 0, 0, 0, 0, 439,
+ 439, 439, 439, 439, 439, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 437, 437,
- 437, 437, 437, 437, 439, 0, 0, 0, 0, 0,
- 0, 439, 439, 439, 439, 439, 439, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 439, 439,
+ 439, 439, 439, 439, 441, 0, 0, 0, 0, 0,
+ 0, 441, 441, 441, 441, 441, 441, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 439, 439, 439, 439, 439, 439, 446, 0, 0, 0,
- 0, 0, 0, 446, 446, 446, 446, 446, 446, 0,
+ 441, 441, 441, 441, 441, 441, 448, 0, 0, 0,
+ 0, 0, 0, 448, 448, 448, 448, 448, 448, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 446, 446, 446, 446, 446, 446, 447, 0,
- 0, 0, 0, 0, 0, 447, 447, 447, 447, 447,
- 447, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 448, 448, 448, 448, 448, 448, 449, 0,
+ 0, 0, 0, 0, 0, 449, 449, 449, 449, 449,
+ 449, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 447, 447, 447, 447, 447, 447,
- 452, 0, 0, 0, 0, 0, 0, 452, 452, 452,
- 452, 452, 452, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 449, 449, 449, 449, 449, 449,
+ 454, 0, 0, 0, 0, 0, 0, 454, 454, 454,
+ 454, 454, 454, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 452, 452, 452, 452,
- 452, 452, 453, 0, 0, 0, 0, 0, 0, 453,
+ 0, 0, 0, 0, 0, 0, 454, 454, 454, 454,
+ 454, 454, 455, 0, 0, 0, 0, 0, 0, 455,
- 453, 453, 453, 453, 453, 0, 0, 0, 0, 0,
+ 455, 455, 455, 455, 455, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 453, 453,
- 453, 453, 453, 453, 458, 0, 0, 0, 0, 0,
- 0, 458, 458, 458, 458, 458, 458, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 455, 455,
+ 455, 455, 455, 455, 460, 0, 0, 0, 0, 0,
+ 0, 460, 460, 460, 460, 460, 460, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 458, 458, 458, 458, 458, 458, 459, 0, 0, 0,
- 0, 0, 0, 459, 459, 459, 459, 459, 459, 0,
+ 460, 460, 460, 460, 460, 460, 461, 0, 0, 0,
+ 0, 0, 0, 461, 461, 461, 461, 461, 461, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 459, 459, 459, 459, 459, 459, 464, 0,
- 0, 0, 0, 0, 0, 464, 464, 464, 464, 464,
- 464, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 461, 461, 461, 461, 461, 461, 466, 0,
+ 0, 0, 0, 0, 0, 466, 466, 466, 466, 466,
+ 466, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 464, 464, 464, 464, 464, 464,
- 479, 0, 0, 479, 479, 479, 479, 479, 479, 479,
- 479, 479, 479, 480, 480, 0, 480, 480, 481, 0,
- 0, 481, 481, 481, 481, 481, 481, 481, 481, 481,
- 481, 482, 482, 0, 482, 482, 483, 0, 0, 483,
-
- 483, 484, 0, 484, 484, 0, 484, 484, 485, 485,
- 485, 485, 485, 485, 485, 485, 485, 485, 486, 486,
- 486, 486, 486, 486, 486, 486, 486, 486, 486, 486,
- 486, 488, 488, 0, 488, 488, 489, 489, 489, 489,
- 489, 489, 489, 489, 489, 489, 490, 490, 490, 490,
- 490, 490, 490, 490, 490, 490, 490, 490, 490, 491,
- 491, 491, 491, 491, 491, 491, 491, 491, 491, 491,
- 491, 491, 491, 493, 493, 0, 493, 493, 494, 494,
- 494, 494, 494, 494, 494, 494, 494, 494, 495, 495,
- 0, 495, 495, 496, 496, 496, 496, 496, 496, 496,
+ 0, 0, 0, 0, 466, 466, 466, 466, 466, 466,
+ 481, 0, 0, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 482, 482, 0, 482, 482, 483, 0,
+ 0, 483, 483, 483, 483, 483, 483, 483, 483, 483,
+ 483, 484, 484, 0, 484, 484, 485, 0, 0, 485,
- 496, 496, 496, 497, 497, 497, 497, 497, 497, 497,
- 497, 497, 497, 498, 498, 498, 500, 500, 500, 500,
- 500, 500, 500, 500, 500, 500, 501, 501, 0, 501,
- 501, 501, 501, 501, 501, 501, 501, 501, 501, 502,
- 502, 502, 502, 502, 502, 502, 502, 502, 502, 502,
- 502, 502, 503, 503, 503, 503, 503, 503, 503, 503,
- 503, 503, 503, 503, 503, 503, 504, 504, 504, 504,
+ 485, 486, 0, 486, 486, 0, 486, 486, 487, 487,
+ 487, 487, 487, 487, 487, 487, 487, 487, 488, 488,
+ 488, 488, 488, 488, 488, 488, 488, 488, 488, 488,
+ 488, 490, 490, 0, 490, 490, 491, 491, 491, 491,
+ 491, 491, 491, 491, 491, 491, 492, 492, 492, 492,
+ 492, 492, 492, 492, 492, 492, 492, 492, 492, 493,
+ 493, 493, 493, 493, 493, 493, 493, 493, 493, 493,
+ 493, 493, 493, 495, 495, 0, 495, 495, 496, 496,
+ 496, 496, 496, 496, 496, 496, 496, 496, 497, 497,
+ 0, 497, 497, 498, 498, 498, 498, 498, 498, 498,
+
+ 498, 498, 498, 499, 499, 499, 499, 499, 499, 499,
+ 499, 499, 499, 500, 500, 500, 502, 502, 502, 502,
+ 502, 502, 502, 502, 502, 502, 503, 503, 0, 503,
+ 503, 503, 503, 503, 503, 503, 503, 503, 503, 504,
504, 504, 504, 504, 504, 504, 504, 504, 504, 504,
- 505, 505, 505, 505, 505, 505, 505, 505, 505, 505,
+ 504, 504, 505, 505, 505, 505, 505, 505, 505, 505,
+ 505, 505, 505, 505, 505, 505, 506, 506, 506, 506,
506, 506, 506, 506, 506, 506, 506, 506, 506, 506,
-
- 507, 507, 507, 507, 508, 0, 0, 508, 508, 508,
- 508, 508, 508, 508, 508, 508, 508, 510, 510, 510,
- 510, 510, 510, 510, 510, 510, 510, 510, 510, 510,
- 510, 512, 512, 512, 512, 513, 513, 513, 513, 513,
- 513, 0, 513, 513, 513, 513, 513, 513, 514, 514,
- 514, 514, 514, 514, 514, 514, 514, 514, 514, 514,
- 514, 516, 516, 516, 516, 516, 516, 516, 516, 516,
- 516, 516, 516, 516, 516, 518, 518, 518, 518, 519,
- 519, 519, 519, 519, 519, 0, 519, 519, 519, 519,
- 519, 519, 520, 0, 0, 520, 520, 520, 520, 520,
-
- 520, 520, 520, 520, 520, 521, 0, 0, 521, 521,
- 521, 521, 521, 521, 521, 521, 521, 521, 522, 522,
- 522, 522, 522, 522, 522, 522, 522, 522, 522, 522,
- 522, 523, 523, 523, 523, 523, 523, 523, 523, 523,
- 523, 523, 523, 523, 525, 525, 0, 525, 525, 526,
- 526, 526, 526, 526, 526, 526, 526, 526, 526, 526,
- 526, 526, 528, 528, 528, 528, 529, 529, 529, 529,
- 529, 529, 529, 529, 529, 529, 529, 529, 529, 530,
- 0, 0, 530, 530, 530, 530, 530, 530, 530, 530,
- 530, 530, 531, 531, 531, 531, 531, 531, 531, 531,
-
- 531, 531, 531, 531, 531, 532, 532, 532, 532, 532,
- 0, 0, 532, 532, 532, 532, 532, 532, 533, 533,
- 533, 533, 533, 533, 533, 533, 533, 533, 533, 533,
- 533, 534, 534, 534, 534, 534, 534, 534, 534, 534,
- 534, 534, 534, 534, 535, 535, 0, 535, 535, 536,
- 536, 536, 536, 536, 536, 536, 536, 536, 536, 536,
- 536, 536, 538, 538, 538, 538, 539, 539, 0, 539,
- 539, 539, 539, 539, 539, 539, 539, 539, 539, 540,
- 540, 540, 540, 540, 540, 540, 540, 540, 540, 540,
- 540, 540, 541, 541, 0, 541, 541, 541, 541, 541,
-
- 541, 541, 541, 541, 541, 542, 542, 542, 542, 542,
- 542, 542, 542, 542, 542, 542, 542, 542, 543, 543,
- 543, 543, 543, 0, 0, 543, 543, 543, 543, 543,
- 543, 546, 546, 546, 546, 0, 0, 0, 0, 546,
- 0, 0, 546, 546, 547, 547, 547, 547, 0, 0,
- 0, 547, 547, 547, 0, 547, 547, 548, 548, 548,
- 548, 548, 548, 548, 548, 548, 548, 549, 549, 549,
- 549, 549, 549, 549, 549, 549, 549, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
-
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478
+ 507, 507, 507, 507, 507, 507, 507, 507, 507, 507,
+ 508, 508, 508, 508, 508, 508, 508, 508, 508, 508,
+
+ 509, 509, 509, 509, 510, 0, 0, 510, 510, 510,
+ 510, 510, 510, 510, 510, 510, 510, 512, 512, 512,
+ 512, 512, 512, 512, 512, 512, 512, 512, 512, 512,
+ 512, 514, 514, 514, 514, 515, 515, 515, 515, 515,
+ 515, 0, 515, 515, 515, 515, 515, 515, 516, 516,
+ 516, 516, 516, 516, 516, 516, 516, 516, 516, 516,
+ 516, 518, 518, 518, 518, 518, 518, 518, 518, 518,
+ 518, 518, 518, 518, 518, 520, 520, 520, 520, 521,
+ 521, 521, 521, 521, 521, 0, 521, 521, 521, 521,
+ 521, 521, 522, 0, 0, 522, 522, 522, 522, 522,
+
+ 522, 522, 522, 522, 522, 523, 0, 0, 523, 523,
+ 523, 523, 523, 523, 523, 523, 523, 523, 524, 524,
+ 524, 524, 524, 524, 524, 524, 524, 524, 524, 524,
+ 524, 525, 525, 525, 525, 525, 525, 525, 525, 525,
+ 525, 525, 525, 525, 527, 527, 0, 527, 527, 528,
+ 528, 528, 528, 528, 528, 528, 528, 528, 528, 528,
+ 528, 528, 530, 530, 530, 530, 531, 531, 531, 531,
+ 531, 531, 531, 531, 531, 531, 531, 531, 531, 532,
+ 0, 0, 532, 532, 532, 532, 532, 532, 532, 532,
+ 532, 532, 533, 533, 533, 533, 533, 533, 533, 533,
+
+ 533, 533, 533, 533, 533, 534, 534, 534, 534, 534,
+ 0, 0, 534, 534, 534, 534, 534, 534, 535, 535,
+ 535, 535, 535, 535, 535, 535, 535, 535, 535, 535,
+ 535, 536, 536, 536, 536, 536, 536, 536, 536, 536,
+ 536, 536, 536, 536, 537, 537, 0, 537, 537, 538,
+ 538, 538, 538, 538, 538, 538, 538, 538, 538, 538,
+ 538, 538, 540, 540, 540, 540, 541, 541, 0, 541,
+ 541, 541, 541, 541, 541, 541, 541, 541, 541, 542,
+ 542, 542, 542, 542, 542, 542, 542, 542, 542, 542,
+ 542, 542, 543, 543, 0, 543, 543, 543, 543, 543,
+
+ 543, 543, 543, 543, 543, 544, 544, 544, 544, 544,
+ 544, 544, 544, 544, 544, 544, 544, 544, 545, 545,
+ 545, 545, 545, 0, 0, 545, 545, 545, 545, 545,
+ 545, 548, 548, 548, 548, 0, 0, 0, 0, 548,
+ 0, 0, 548, 548, 549, 549, 549, 549, 0, 0,
+ 0, 549, 549, 549, 0, 549, 549, 550, 550, 550,
+ 550, 550, 550, 550, 550, 550, 550, 551, 551, 551,
+ 551, 551, 551, 551, 551, 551, 551, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
+ 480, 480, 480
} ;
#line 1 "<stdin>"
@@ -1807,7 +1809,7 @@ YY_DECL
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{
yy_current_state = (int) yy_def[yy_current_state];
- if ( yy_current_state >= 479 )
+ if ( yy_current_state >= 481 )
yy_c = yy_meta[(unsigned int) yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
@@ -2031,114 +2033,113 @@ YY_RULE_SETUP
case 38:
YY_RULE_SETUP
#line 76 "<stdin>"
-{yyTok = QEMS; return yyTok;} /* quirky ems */
+{yyTok = REMS; return yyTok;}
YY_BREAK
case 39:
YY_RULE_SETUP
#line 77 "<stdin>"
-{yyTok = EXS; return yyTok;}
+{yyTok = QEMS; return yyTok;} /* quirky ems */
YY_BREAK
case 40:
YY_RULE_SETUP
#line 78 "<stdin>"
-{yyTok = PXS; return yyTok;}
+{yyTok = EXS; return yyTok;}
YY_BREAK
case 41:
YY_RULE_SETUP
#line 79 "<stdin>"
-{yyTok = CMS; return yyTok;}
+{yyTok = PXS; return yyTok;}
YY_BREAK
case 42:
YY_RULE_SETUP
#line 80 "<stdin>"
-{yyTok = MMS; return yyTok;}
+{yyTok = CMS; return yyTok;}
YY_BREAK
case 43:
YY_RULE_SETUP
#line 81 "<stdin>"
-{yyTok = INS; return yyTok;}
+{yyTok = MMS; return yyTok;}
YY_BREAK
case 44:
YY_RULE_SETUP
#line 82 "<stdin>"
-{yyTok = PTS; return yyTok;}
+{yyTok = INS; return yyTok;}
YY_BREAK
case 45:
YY_RULE_SETUP
#line 83 "<stdin>"
-{yyTok = PCS; return yyTok;}
+{yyTok = PTS; return yyTok;}
YY_BREAK
case 46:
YY_RULE_SETUP
#line 84 "<stdin>"
-{yyTok = DEGS; return yyTok;}
+{yyTok = PCS; return yyTok;}
YY_BREAK
case 47:
YY_RULE_SETUP
#line 85 "<stdin>"
-{yyTok = RADS; return yyTok;}
+{yyTok = DEGS; return yyTok;}
YY_BREAK
case 48:
YY_RULE_SETUP
#line 86 "<stdin>"
-{yyTok = GRADS; return yyTok;}
+{yyTok = RADS; return yyTok;}
YY_BREAK
case 49:
YY_RULE_SETUP
#line 87 "<stdin>"
-{yyTok = TURNS; return yyTok;}
+{yyTok = GRADS; return yyTok;}
YY_BREAK
case 50:
YY_RULE_SETUP
#line 88 "<stdin>"
-{yyTok = MSECS; return yyTok;}
+{yyTok = TURNS; return yyTok;}
YY_BREAK
case 51:
YY_RULE_SETUP
#line 89 "<stdin>"
-{yyTok = SECS; return yyTok;}
+{yyTok = MSECS; return yyTok;}
YY_BREAK
case 52:
YY_RULE_SETUP
#line 90 "<stdin>"
-{yyTok = HERZ; return yyTok;}
+{yyTok = SECS; return yyTok;}
YY_BREAK
case 53:
YY_RULE_SETUP
#line 91 "<stdin>"
-{yyTok = KHERZ; return yyTok;}
+{yyTok = HERZ; return yyTok;}
YY_BREAK
case 54:
-/* rule 54 can match eol */
YY_RULE_SETUP
#line 92 "<stdin>"
-{yyTok = DIMEN; return yyTok;}
+{yyTok = KHERZ; return yyTok;}
YY_BREAK
case 55:
+/* rule 55 can match eol */
YY_RULE_SETUP
#line 93 "<stdin>"
-{yyTok = PERCENTAGE; return yyTok;}
+{yyTok = DIMEN; return yyTok;}
YY_BREAK
case 56:
YY_RULE_SETUP
#line 94 "<stdin>"
-{yyTok = INTEGER; return yyTok;}
+{yyTok = PERCENTAGE; return yyTok;}
YY_BREAK
case 57:
YY_RULE_SETUP
#line 95 "<stdin>"
-{yyTok = FLOATTOKEN; return yyTok;}
+{yyTok = INTEGER; return yyTok;}
YY_BREAK
case 58:
YY_RULE_SETUP
-#line 97 "<stdin>"
-{yyTok = NOTFUNCTION; return yyTok;}
+#line 96 "<stdin>"
+{yyTok = FLOATTOKEN; return yyTok;}
YY_BREAK
case 59:
-/* rule 59 can match eol */
YY_RULE_SETUP
#line 98 "<stdin>"
-{yyTok = URI; return yyTok;}
+{yyTok = NOTFUNCTION; return yyTok;}
YY_BREAK
case 60:
/* rule 60 can match eol */
@@ -2150,18 +2151,19 @@ case 61:
/* rule 61 can match eol */
YY_RULE_SETUP
#line 100 "<stdin>"
-{ yyTok = VARCALL; return yyTok; }
+{yyTok = URI; return yyTok;}
YY_BREAK
case 62:
/* rule 62 can match eol */
YY_RULE_SETUP
#line 101 "<stdin>"
-{yyTok = FUNCTION; return yyTok;}
+{ yyTok = VARCALL; return yyTok; }
YY_BREAK
case 63:
+/* rule 63 can match eol */
YY_RULE_SETUP
-#line 103 "<stdin>"
-{yyTok = UNICODERANGE; return yyTok;}
+#line 102 "<stdin>"
+{yyTok = FUNCTION; return yyTok;}
YY_BREAK
case 64:
YY_RULE_SETUP
@@ -2169,23 +2171,28 @@ YY_RULE_SETUP
{yyTok = UNICODERANGE; return yyTok;}
YY_BREAK
case 65:
-#line 107 "<stdin>"
-case 66:
YY_RULE_SETUP
-#line 107 "<stdin>"
-{BEGIN(INITIAL); yyTok = *yytext; return yyTok; }
+#line 105 "<stdin>"
+{yyTok = UNICODERANGE; return yyTok;}
YY_BREAK
+case 66:
+#line 108 "<stdin>"
case 67:
YY_RULE_SETUP
#line 108 "<stdin>"
-{yyTok = *yytext; return yyTok;}
+{BEGIN(INITIAL); yyTok = *yytext; return yyTok; }
YY_BREAK
case 68:
YY_RULE_SETUP
-#line 110 "<stdin>"
+#line 109 "<stdin>"
+{yyTok = *yytext; return yyTok;}
+ YY_BREAK
+case 69:
+YY_RULE_SETUP
+#line 111 "<stdin>"
ECHO;
YY_BREAK
-#line 2738 "<stdout>"
+#line 2745 "<stdout>"
case YY_STATE_EOF(INITIAL):
case YY_END_OF_BUFFER:
case YY_STATE_EOF(mediaquery):
diff --git a/src/3rdparty/webkit/WebCore/history/BackForwardList.cpp b/src/3rdparty/webkit/WebCore/history/BackForwardList.cpp
index 1b7c80e..a0636b5 100644
--- a/src/3rdparty/webkit/WebCore/history/BackForwardList.cpp
+++ b/src/3rdparty/webkit/WebCore/history/BackForwardList.cpp
@@ -266,11 +266,10 @@ bool BackForwardList::containsItem(HistoryItem* entry)
}
#if ENABLE(WML)
-void BackForwardList::clearWmlPageHistory()
+void BackForwardList::clearWMLPageHistory()
{
- PassRefPtr<HistoryItem> cur = currentItem();
-
- for (unsigned i = 0; i < m_entries.size(); ++i)
+ int size = m_entries.size();
+ for (int i = 0; i < size; ++i)
pageCache()->remove(m_entries[i].get());
m_entries.clear();
diff --git a/src/3rdparty/webkit/WebCore/history/BackForwardList.h b/src/3rdparty/webkit/WebCore/history/BackForwardList.h
index a99d387..fdc3360 100644
--- a/src/3rdparty/webkit/WebCore/history/BackForwardList.h
+++ b/src/3rdparty/webkit/WebCore/history/BackForwardList.h
@@ -97,7 +97,7 @@ public:
HistoryItemVector& entries();
#if ENABLE(WML)
- void clearWmlPageHistory();
+ void clearWMLPageHistory();
#endif
private:
diff --git a/src/3rdparty/webkit/WebCore/history/CachedFrame.cpp b/src/3rdparty/webkit/WebCore/history/CachedFrame.cpp
index 9a43b9d..5f4e746 100644
--- a/src/3rdparty/webkit/WebCore/history/CachedFrame.cpp
+++ b/src/3rdparty/webkit/WebCore/history/CachedFrame.cpp
@@ -155,4 +155,13 @@ CachedFramePlatformData* CachedFrame::cachedFramePlatformData()
return m_cachedFramePlatformData.get();
}
+int CachedFrame::descendantFrameCount() const
+{
+ int count = m_childFrames.size();
+ for (size_t i = 0; i < m_childFrames.size(); ++i)
+ count += m_childFrames[i]->descendantFrameCount();
+
+ return count;
+}
+
} // namespace WebCore
diff --git a/src/3rdparty/webkit/WebCore/history/CachedFrame.h b/src/3rdparty/webkit/WebCore/history/CachedFrame.h
index 83c3c3c..0302444 100644
--- a/src/3rdparty/webkit/WebCore/history/CachedFrame.h
+++ b/src/3rdparty/webkit/WebCore/history/CachedFrame.h
@@ -60,6 +60,8 @@ public:
void setCachedFramePlatformData(CachedFramePlatformData*);
CachedFramePlatformData* cachedFramePlatformData();
+
+ int descendantFrameCount() const;
private:
CachedFrame(Frame*);
diff --git a/src/3rdparty/webkit/WebCore/history/HistoryItem.cpp b/src/3rdparty/webkit/WebCore/history/HistoryItem.cpp
index 6156524..d2b83cf 100644
--- a/src/3rdparty/webkit/WebCore/history/HistoryItem.cpp
+++ b/src/3rdparty/webkit/WebCore/history/HistoryItem.cpp
@@ -161,8 +161,8 @@ const String& HistoryItem::alternateTitle() const
Image* HistoryItem::icon() const
{
- Image* result = iconDatabase()->iconForPageURL(m_urlString, IntSize(16,16));
- return result ? result : iconDatabase()->defaultIcon(IntSize(16,16));
+ Image* result = iconDatabase()->iconForPageURL(m_urlString, IntSize(16, 16));
+ return result ? result : iconDatabase()->defaultIcon(IntSize(16, 16));
}
double HistoryItem::lastVisitedTime() const
@@ -287,14 +287,16 @@ void HistoryItem::collapseDailyVisitsToWeekly()
m_weeklyVisitCounts.shrink(maxWeeklyCounts);
}
-void HistoryItem::recordVisitAtTime(double time)
+void HistoryItem::recordVisitAtTime(double time, VisitCountBehavior visitCountBehavior)
{
padDailyCountsForNewVisit(time);
m_lastVisitedTime = time;
- m_visitCount++;
- m_dailyVisitCounts[0]++;
+ if (visitCountBehavior == IncreaseVisitCount) {
+ ++m_visitCount;
+ ++m_dailyVisitCounts[0];
+ }
collapseDailyVisitsToWeekly();
}
@@ -305,10 +307,10 @@ void HistoryItem::setLastVisitedTime(double time)
recordVisitAtTime(time);
}
-void HistoryItem::visited(const String& title, double time)
+void HistoryItem::visited(const String& title, double time, VisitCountBehavior visitCountBehavior)
{
m_title = title;
- recordVisitAtTime(time);
+ recordVisitAtTime(time, visitCountBehavior);
}
int HistoryItem::visitCount() const
@@ -329,10 +331,10 @@ void HistoryItem::setVisitCount(int count)
void HistoryItem::adoptVisitCounts(Vector<int>& dailyCounts, Vector<int>& weeklyCounts)
{
- m_dailyVisitCounts.clear();
- m_dailyVisitCounts.swap(dailyCounts);
- m_weeklyVisitCounts.clear();
- m_weeklyVisitCounts.swap(weeklyCounts);
+ m_dailyVisitCounts.clear();
+ m_dailyVisitCounts.swap(dailyCounts);
+ m_weeklyVisitCounts.clear();
+ m_weeklyVisitCounts.swap(weeklyCounts);
}
const IntPoint& HistoryItem::scrollPoint() const
@@ -478,7 +480,7 @@ FormData* HistoryItem::formData()
bool HistoryItem::isCurrentDocument(Document* doc) const
{
// FIXME: We should find a better way to check if this is the current document.
- return urlString() == doc->url();
+ return equalIgnoringRef(url(), doc->url());
}
void HistoryItem::mergeAutoCompleteHints(HistoryItem* otherItem)
diff --git a/src/3rdparty/webkit/WebCore/history/HistoryItem.h b/src/3rdparty/webkit/WebCore/history/HistoryItem.h
index ac7d124..c12122f 100644
--- a/src/3rdparty/webkit/WebCore/history/HistoryItem.h
+++ b/src/3rdparty/webkit/WebCore/history/HistoryItem.h
@@ -56,6 +56,11 @@ typedef Vector<RefPtr<HistoryItem> > HistoryItemVector;
extern void (*notifyHistoryItemChanged)();
+enum VisitCountBehavior {
+ IncreaseVisitCount,
+ DoNotIncreaseVisitCount
+};
+
class HistoryItem : public RefCounted<HistoryItem> {
friend class PageCache;
@@ -144,7 +149,7 @@ public:
// This should not be called directly for HistoryItems that are already included
// in GlobalHistory. The WebKit api for this is to use -[WebHistory setLastVisitedTimeInterval:forItem:] instead.
void setLastVisitedTime(double);
- void visited(const String& title, double time);
+ void visited(const String& title, double time, VisitCountBehavior);
void addRedirectURL(const String&);
Vector<String>* redirectURLs() const;
@@ -189,7 +194,7 @@ private:
void padDailyCountsForNewVisit(double time);
void collapseDailyVisitsToWeekly();
- void recordVisitAtTime(double);
+ void recordVisitAtTime(double, VisitCountBehavior = IncreaseVisitCount);
HistoryItem* findTargetItem();
diff --git a/src/3rdparty/webkit/WebCore/history/PageCache.cpp b/src/3rdparty/webkit/WebCore/history/PageCache.cpp
index 7c25701..8d04f6f 100644
--- a/src/3rdparty/webkit/WebCore/history/PageCache.cpp
+++ b/src/3rdparty/webkit/WebCore/history/PageCache.cpp
@@ -63,6 +63,23 @@ void PageCache::setCapacity(int capacity)
prune();
}
+int PageCache::frameCount() const
+{
+ int frameCount = 0;
+ for (HistoryItem* current = m_head; current; current = current->m_next) {
+ ++frameCount;
+ ASSERT(current->m_cachedPage);
+ frameCount += current->m_cachedPage ? current->m_cachedPage->cachedMainFrame()->descendantFrameCount() : 0;
+ }
+
+ return frameCount;
+}
+
+int PageCache::autoreleasedPageCount() const
+{
+ return m_autoreleaseSet.size();
+}
+
void PageCache::add(PassRefPtr<HistoryItem> prpItem, PassRefPtr<CachedPage> cachedPage)
{
ASSERT(prpItem);
diff --git a/src/3rdparty/webkit/WebCore/history/PageCache.h b/src/3rdparty/webkit/WebCore/history/PageCache.h
index ad15ab6..607a87d 100644
--- a/src/3rdparty/webkit/WebCore/history/PageCache.h
+++ b/src/3rdparty/webkit/WebCore/history/PageCache.h
@@ -37,7 +37,7 @@ namespace WebCore {
class CachedPage;
class HistoryItem;
- class PageCache : Noncopyable {
+ class PageCache : public Noncopyable {
public:
friend PageCache* pageCache();
@@ -49,6 +49,10 @@ namespace WebCore {
CachedPage* get(HistoryItem* item) { return item ? item->m_cachedPage.get() : 0; }
void releaseAutoreleasedPagesNow();
+
+ int pageCount() const { return m_size; }
+ int frameCount() const;
+ int autoreleasedPageCount() const;
private:
typedef HashSet<RefPtr<CachedPage> > CachedPageSet;
diff --git a/src/3rdparty/webkit/WebCore/html/CanvasRenderingContext2D.cpp b/src/3rdparty/webkit/WebCore/html/CanvasRenderingContext2D.cpp
index 37f4799..6878129 100644
--- a/src/3rdparty/webkit/WebCore/html/CanvasRenderingContext2D.cpp
+++ b/src/3rdparty/webkit/WebCore/html/CanvasRenderingContext2D.cpp
@@ -58,10 +58,10 @@
#include "TextMetrics.h"
#include "HTMLVideoElement.h"
#include <stdio.h>
-
#include <wtf/ByteArray.h>
#include <wtf/MathExtras.h>
#include <wtf/OwnPtr.h>
+#include <wtf/UnusedParam.h>
using namespace std;
@@ -546,7 +546,10 @@ void CanvasRenderingContext2D::lineTo(float x, float y)
return;
if (!state().m_invertibleCTM)
return;
- m_path.addLineTo(FloatPoint(x, y));
+ if (!m_path.hasCurrentPoint())
+ m_path.moveTo(FloatPoint(x, y));
+ else
+ m_path.addLineTo(FloatPoint(x, y));
}
void CanvasRenderingContext2D::quadraticCurveTo(float cpx, float cpy, float x, float y)
@@ -555,7 +558,10 @@ void CanvasRenderingContext2D::quadraticCurveTo(float cpx, float cpy, float x, f
return;
if (!state().m_invertibleCTM)
return;
- m_path.addQuadCurveTo(FloatPoint(cpx, cpy), FloatPoint(x, y));
+ if (!m_path.hasCurrentPoint())
+ m_path.moveTo(FloatPoint(x, y));
+ else
+ m_path.addQuadCurveTo(FloatPoint(cpx, cpy), FloatPoint(x, y));
}
void CanvasRenderingContext2D::bezierCurveTo(float cp1x, float cp1y, float cp2x, float cp2y, float x, float y)
@@ -564,7 +570,10 @@ void CanvasRenderingContext2D::bezierCurveTo(float cp1x, float cp1y, float cp2x,
return;
if (!state().m_invertibleCTM)
return;
- m_path.addBezierCurveTo(FloatPoint(cp1x, cp1y), FloatPoint(cp2x, cp2y), FloatPoint(x, y));
+ if (!m_path.hasCurrentPoint())
+ m_path.moveTo(FloatPoint(x, y));
+ else
+ m_path.addBezierCurveTo(FloatPoint(cp1x, cp1y), FloatPoint(cp2x, cp2y), FloatPoint(x, y));
}
void CanvasRenderingContext2D::arcTo(float x0, float y0, float x1, float y1, float r, ExceptionCode& ec)
@@ -1103,7 +1112,7 @@ void CanvasRenderingContext2D::drawImage(HTMLVideoElement* video, const FloatRec
c->translate(destRect.x(), destRect.y());
c->scale(FloatSize(destRect.width()/sourceRect.width(), destRect.height()/sourceRect.height()));
c->translate(-sourceRect.x(), -sourceRect.y());
- video->paint(c, IntRect(IntPoint(), size(video)));
+ video->paintCurrentFrameInContext(c, IntRect(IntPoint(), size(video)));
c->restore();
}
#endif
@@ -1158,6 +1167,8 @@ void CanvasRenderingContext2D::prepareGradientForDashboard(CanvasGradient* gradi
if (Settings* settings = m_canvas->document()->settings())
if (settings->usesDashboardBackwardCompatibilityMode())
gradient->setDashboardCompatibilityMode();
+#else
+ UNUSED_PARAM(gradient);
#endif
}
diff --git a/src/3rdparty/webkit/WebCore/html/CanvasRenderingContext2D.h b/src/3rdparty/webkit/WebCore/html/CanvasRenderingContext2D.h
index f6baa70..9648ffc 100644
--- a/src/3rdparty/webkit/WebCore/html/CanvasRenderingContext2D.h
+++ b/src/3rdparty/webkit/WebCore/html/CanvasRenderingContext2D.h
@@ -54,7 +54,7 @@ namespace WebCore {
typedef int ExceptionCode;
- class CanvasRenderingContext2D : Noncopyable {
+ class CanvasRenderingContext2D : public Noncopyable {
public:
CanvasRenderingContext2D(HTMLCanvasElement*);
diff --git a/src/3rdparty/webkit/WebCore/html/CanvasStyle.cpp b/src/3rdparty/webkit/WebCore/html/CanvasStyle.cpp
index 743ed4f..946cac7 100644
--- a/src/3rdparty/webkit/WebCore/html/CanvasStyle.cpp
+++ b/src/3rdparty/webkit/WebCore/html/CanvasStyle.cpp
@@ -174,7 +174,7 @@ void CanvasStyle::applyFillColor(GraphicsContext* context)
switch (m_type) {
case ColorString: {
Color c = Color(m_color);
- if (c.isValid()){
+ if (c.isValid()) {
context->setFillColor(c.rgb());
break;
}
@@ -185,7 +185,7 @@ void CanvasStyle::applyFillColor(GraphicsContext* context)
}
case ColorStringWithAlpha: {
Color c = Color(m_color);
- if (c.isValid()){
+ if (c.isValid()) {
context->setFillColor(colorWithOverrideAlpha(c.rgb(), m_alpha));
break;
}
diff --git a/src/3rdparty/webkit/WebCore/html/DOMDataGridDataSource.cpp b/src/3rdparty/webkit/WebCore/html/DOMDataGridDataSource.cpp
new file mode 100644
index 0000000..aa44d8c
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/html/DOMDataGridDataSource.cpp
@@ -0,0 +1,44 @@
+/*
+ * Copyright (C) 2009 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+
+#if ENABLE(DATAGRID)
+
+#include "DOMDataGridDataSource.h"
+
+namespace WebCore {
+
+DOMDataGridDataSource::DOMDataGridDataSource()
+{
+}
+
+DOMDataGridDataSource::~DOMDataGridDataSource()
+{
+}
+
+} // namespace WebCore
+
+#endif // ENABLE(DATAGRID)
diff --git a/src/3rdparty/webkit/WebCore/html/DOMDataGridDataSource.h b/src/3rdparty/webkit/WebCore/html/DOMDataGridDataSource.h
new file mode 100644
index 0000000..2ce2ab8
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/html/DOMDataGridDataSource.h
@@ -0,0 +1,69 @@
+/*
+ * Copyright (C) 2009 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef DOMDataGridDataSource_h
+#define DOMDataGridDataSource_h
+
+#if ENABLE(DATAGRID)
+
+#include "DataGridDataSource.h"
+#include <wtf/PassRefPtr.h>
+#include <wtf/RefPtr.h>
+
+namespace WebCore {
+
+class HTMLDataGridElement;
+
+class DOMDataGridDataSource : public DataGridDataSource {
+public:
+ static PassRefPtr<DOMDataGridDataSource> create()
+ {
+ return adoptRef(new DOMDataGridDataSource);
+ }
+
+ virtual ~DOMDataGridDataSource();
+
+ virtual bool isDOMDataGridDataSource() const { return true; }
+
+private:
+ DOMDataGridDataSource();
+};
+
+inline DOMDataGridDataSource* asDOMDataGridDataSource(DataGridDataSource* dataSource)
+{
+ ASSERT(dataSource->isDOMDataGridDataSource());
+ return static_cast<DOMDataGridDataSource*>(dataSource);
+}
+
+inline const DOMDataGridDataSource* asDOMDataGridDataSource(const DataGridDataSource* dataSource)
+{
+ ASSERT(dataSource->isDOMDataGridDataSource());
+ return static_cast<const DOMDataGridDataSource*>(dataSource);
+}
+
+} // namespace WebCore
+
+#endif // ENABLE(DATAGRID)
+#endif // DOMDataGridDataSource_h
diff --git a/src/3rdparty/webkit/WebCore/html/DataGridColumn.cpp b/src/3rdparty/webkit/WebCore/html/DataGridColumn.cpp
index 136c08e..7810c86 100644
--- a/src/3rdparty/webkit/WebCore/html/DataGridColumn.cpp
+++ b/src/3rdparty/webkit/WebCore/html/DataGridColumn.cpp
@@ -24,6 +24,9 @@
*/
#include "config.h"
+
+#if ENABLE(DATAGRID)
+
#include "DataGridColumn.h"
#include "DataGridColumnList.h"
@@ -39,4 +42,12 @@ void DataGridColumn::setPrimary(bool primary)
}
}
+void DataGridColumn::columnChanged()
+{
+ if (m_columns)
+ m_columns->setDataGridNeedsLayout();
+}
+
} // namespace WebCore
+
+#endif
diff --git a/src/3rdparty/webkit/WebCore/html/DataGridColumn.h b/src/3rdparty/webkit/WebCore/html/DataGridColumn.h
index 8e63cd6..3d480a9 100644
--- a/src/3rdparty/webkit/WebCore/html/DataGridColumn.h
+++ b/src/3rdparty/webkit/WebCore/html/DataGridColumn.h
@@ -26,7 +26,10 @@
#ifndef DataGridColumn_h
#define DataGridColumn_h
+#if ENABLE(DATAGRID)
+
#include "AtomicString.h"
+#include "RenderStyle.h"
#include <wtf/PassRefPtr.h>
#include <wtf/RefCounted.h>
@@ -36,34 +39,49 @@ class DataGridColumnList;
class DataGridColumn : public RefCounted<DataGridColumn> {
public:
- static PassRefPtr<DataGridColumn> create(DataGridColumnList* columns, const String& columnID, const String& label, const String& type, bool primary, unsigned short sortable)
+ static PassRefPtr<DataGridColumn> create(const String& columnID, const String& label, const String& type, bool primary, unsigned short sortable)
{
- return new DataGridColumn(columns, columnID, label, type, primary, sortable);
+ return adoptRef(new DataGridColumn(columnID, label, type, primary, sortable));
}
const AtomicString& id() const { return m_id; }
- void setId(const AtomicString& id) { m_id = id; }
+ void setId(const AtomicString& id) { m_id = id; columnChanged(); }
const AtomicString& label() const { return m_label; }
- void setLabel(const AtomicString& label) { m_label = label; }
+ void setLabel(const AtomicString& label) { m_label = label; columnChanged(); }
const AtomicString& type() const { return m_type; }
- void setType(const AtomicString& type) { m_type = type; }
+ void setType(const AtomicString& type) { m_type = type; columnChanged(); }
unsigned short sortable() const { return m_sortable; }
- void setSortable(unsigned short sortable) { m_sortable = sortable; }
+ void setSortable(unsigned short sortable) { m_sortable = sortable; columnChanged(); }
unsigned short sortDirection() const { return m_sortDirection; }
- void setSortDirection(unsigned short sortDirection) { m_sortDirection = sortDirection; }
+ void setSortDirection(unsigned short sortDirection) { m_sortDirection = sortDirection; columnChanged(); }
bool primary() const { return m_primary; }
void setPrimary(bool);
- void detachFromColumnList() { m_columns = 0; }
+ void setColumnList(DataGridColumnList* list)
+ {
+ m_columns = list;
+ m_columnStyle = 0;
+ m_headerStyle = 0;
+ m_rect = IntRect();
+ }
+
+ RenderStyle* columnStyle() const { return m_columnStyle.get(); }
+ void setColumnStyle(PassRefPtr<RenderStyle> style) { m_columnStyle = style; }
+
+ RenderStyle* headerStyle() const { return m_headerStyle.get(); }
+ void setHeaderStyle(PassRefPtr<RenderStyle> style) { m_headerStyle = style; }
+
+ const IntRect& rect() const { return m_rect; }
+ void setRect(const IntRect& rect) { m_rect = rect; }
private:
- DataGridColumn(DataGridColumnList* columns, const String& columnID, const String& label, const String& type, bool primary, unsigned short sortable)
- : m_columns(columns)
+ DataGridColumn(const String& columnID, const String& label, const String& type, bool primary, unsigned short sortable)
+ : m_columns(0)
, m_id(columnID)
, m_label(label)
, m_type(type)
@@ -73,6 +91,8 @@ private:
{
}
+ void columnChanged();
+
DataGridColumnList* m_columns; // Not refcounted. The columns list will null out our reference when it goes away.
AtomicString m_id;
@@ -83,8 +103,15 @@ private:
unsigned short m_sortable;
unsigned short m_sortDirection;
+
+ RefPtr<RenderStyle> m_columnStyle; // The style used to render the column background behind the row cells.
+ RefPtr<RenderStyle> m_headerStyle; // The style used to render the column header above the row cells.
+
+ IntRect m_rect;
};
} // namespace WebCore
+#endif
+
#endif // DataGridColumn_h
diff --git a/src/3rdparty/webkit/WebCore/html/DataGridColumn.idl b/src/3rdparty/webkit/WebCore/html/DataGridColumn.idl
index 04418a1..f566325 100644
--- a/src/3rdparty/webkit/WebCore/html/DataGridColumn.idl
+++ b/src/3rdparty/webkit/WebCore/html/DataGridColumn.idl
@@ -26,7 +26,8 @@
module html {
interface [
- GenerateConstructor
+ GenerateConstructor,
+ Conditional=DATAGRID
] DataGridColumn {
attribute DOMString id; // The identifier for the column.
attribute DOMString label; // The text to display in the column.
diff --git a/src/3rdparty/webkit/WebCore/html/DataGridColumnList.cpp b/src/3rdparty/webkit/WebCore/html/DataGridColumnList.cpp
index 48f7d60..9613402 100644
--- a/src/3rdparty/webkit/WebCore/html/DataGridColumnList.cpp
+++ b/src/3rdparty/webkit/WebCore/html/DataGridColumnList.cpp
@@ -24,13 +24,22 @@
*/
#include "config.h"
-#include "DataGridColumnList.h"
+
+#if ENABLE(DATAGRID)
#include "AtomicString.h"
+#include "DataGridColumnList.h"
+#include "HTMLDataGridElement.h"
#include "PlatformString.h"
+#include "RenderObject.h"
namespace WebCore {
+DataGridColumnList::DataGridColumnList(HTMLDataGridElement* dataGrid)
+ : m_dataGrid(dataGrid)
+{
+}
+
DataGridColumnList::~DataGridColumnList()
{
clear();
@@ -46,13 +55,26 @@ DataGridColumn* DataGridColumnList::itemWithName(const AtomicString& name) const
return 0;
}
+void DataGridColumnList::setDataGridNeedsLayout()
+{
+ // Mark the datagrid as needing layout.
+ if (dataGrid() && dataGrid()->renderer())
+ dataGrid()->renderer()->setNeedsLayout(true);
+}
+
DataGridColumn* DataGridColumnList::add(const String& id, const String& label, const String& type, bool primary, unsigned short sortable)
{
- RefPtr<DataGridColumn> column = DataGridColumn::create(this, id, label, type, primary, sortable);
- if (primary)
+ return add(DataGridColumn::create(id, label, type, primary, sortable).get());
+}
+
+DataGridColumn* DataGridColumnList::add(DataGridColumn* column)
+{
+ if (column->primary())
m_primaryColumn = column;
m_columns.append(column);
- return column.get();
+ column->setColumnList(this);
+ setDataGridNeedsLayout();
+ return column;
}
void DataGridColumnList::remove(DataGridColumn* col)
@@ -65,6 +87,8 @@ void DataGridColumnList::remove(DataGridColumn* col)
m_primaryColumn = 0;
if (col == m_sortColumn)
m_sortColumn = 0;
+ col->setColumnList(0);
+ setDataGridNeedsLayout();
}
void DataGridColumnList::move(DataGridColumn* col, unsigned long index)
@@ -73,16 +97,18 @@ void DataGridColumnList::move(DataGridColumn* col, unsigned long index)
if (colIndex == notFound)
return;
m_columns.insert(index, col);
+ setDataGridNeedsLayout();
}
void DataGridColumnList::clear()
{
unsigned length = m_columns.size();
for (unsigned i = 0; i < length; ++i)
- m_columns[i]->detachFromColumnList();
+ m_columns[i]->setColumnList(0);
m_columns.clear();
m_primaryColumn = 0;
m_sortColumn = 0;
+ setDataGridNeedsLayout();
}
void DataGridColumnList::primaryColumnChanged(DataGridColumn* col)
@@ -92,7 +118,9 @@ void DataGridColumnList::primaryColumnChanged(DataGridColumn* col)
else if (m_primaryColumn = col)
m_primaryColumn = 0;
- // FIXME: Invalidate the tree.
+ setDataGridNeedsLayout();
}
} // namespace WebCore
+
+#endif
diff --git a/src/3rdparty/webkit/WebCore/html/DataGridColumnList.h b/src/3rdparty/webkit/WebCore/html/DataGridColumnList.h
index d0caebe..ed72863 100644
--- a/src/3rdparty/webkit/WebCore/html/DataGridColumnList.h
+++ b/src/3rdparty/webkit/WebCore/html/DataGridColumnList.h
@@ -1,6 +1,8 @@
#ifndef DataGridColumnList_h
#define DataGridColumnList_h
+#if ENABLE(DATAGRID)
+
#include "DataGridColumn.h"
#include <wtf/PassRefPtr.h>
@@ -10,13 +12,14 @@
namespace WebCore {
class AtomicString;
+class HTMLDataGridElement;
class DataGridColumnList : public RefCounted<DataGridColumnList> {
friend class DataGridColumn;
public:
- static PassRefPtr<DataGridColumnList> create()
+ static PassRefPtr<DataGridColumnList> create(HTMLDataGridElement* grid)
{
- return new DataGridColumnList();
+ return adoptRef(new DataGridColumnList(grid));
}
~DataGridColumnList();
@@ -31,12 +34,22 @@ public:
DataGridColumn* sortColumn() const { return m_sortColumn.get(); }
DataGridColumn* add(const String& id, const String& label, const String& type, bool primary, unsigned short sortable);
+ DataGridColumn* add(DataGridColumn*);
void remove(DataGridColumn*);
void move(DataGridColumn*, unsigned long index);
void clear();
+ HTMLDataGridElement* dataGrid() const { return m_dataGrid; }
+ void clearDataGrid() { m_dataGrid = 0; }
+
+ void setDataGridNeedsLayout();
+
private:
- void primaryColumnChanged(DataGridColumn* col);
+ DataGridColumnList(HTMLDataGridElement*);
+
+ void primaryColumnChanged(DataGridColumn*);
+
+ HTMLDataGridElement* m_dataGrid; // Weak reference. Will be nulled out when our tree goes away.
Vector<RefPtr<DataGridColumn> > m_columns;
RefPtr<DataGridColumn> m_primaryColumn;
@@ -45,4 +58,6 @@ private:
} // namespace WebCore
+#endif
+
#endif // DataGridColumnList_h
diff --git a/src/3rdparty/webkit/WebCore/html/DataGridColumnList.idl b/src/3rdparty/webkit/WebCore/html/DataGridColumnList.idl
index cab4339..1a59f43 100644
--- a/src/3rdparty/webkit/WebCore/html/DataGridColumnList.idl
+++ b/src/3rdparty/webkit/WebCore/html/DataGridColumnList.idl
@@ -28,7 +28,8 @@ module html {
interface [
GenerateConstructor,
HasIndexGetter,
- HasNameGetter
+ HasNameGetter,
+ Conditional=DATAGRID
] DataGridColumnList {
DataGridColumn item(in [IsIndex] unsigned long index);
readonly attribute unsigned long length;
diff --git a/src/3rdparty/webkit/WebCore/html/DataGridDataSource.h b/src/3rdparty/webkit/WebCore/html/DataGridDataSource.h
index 0c9a24d..2ab1f5b 100644
--- a/src/3rdparty/webkit/WebCore/html/DataGridDataSource.h
+++ b/src/3rdparty/webkit/WebCore/html/DataGridDataSource.h
@@ -26,6 +26,8 @@
#ifndef DataGridDataSource_h
#define DataGridDataSource_h
+#if ENABLE(DATAGRID)
+
#include <wtf/RefCounted.h>
namespace WebCore {
@@ -36,11 +38,12 @@ class DataGridDataSource : public RefCounted<DataGridDataSource> {
public:
virtual ~DataGridDataSource() { }
+ virtual bool isDOMDataGridDataSource() const { return false; }
virtual bool isJSDataGridDataSource() const { return false; }
-
- virtual void initialize(HTMLDataGridElement*) = 0;
};
} // namespace WebCore
+#endif
+
#endif // DataGridDataSource_h
diff --git a/src/3rdparty/webkit/WebCore/html/HTMLAnchorElement.cpp b/src/3rdparty/webkit/WebCore/html/HTMLAnchorElement.cpp
index 354f9f0..1757a75 100644
--- a/src/3rdparty/webkit/WebCore/html/HTMLAnchorElement.cpp
+++ b/src/3rdparty/webkit/WebCore/html/HTMLAnchorElement.cpp
@@ -2,7 +2,7 @@
* Copyright (C) 1999 Lars Knoll (knoll@kde.org)
* (C) 1999 Antti Koivisto (koivisto@kde.org)
* (C) 2000 Simon Hausmann <hausmann@kde.org>
- * Copyright (C) 2003, 2006, 2007, 2008 Apple Inc. All rights reserved.
+ * Copyright (C) 2003, 2006, 2007, 2008, 2009 Apple Inc. All rights reserved.
* (C) 2006 Graham Dennis (graham.dennis@gmail.com)
*
* This library is free software; you can redistribute it and/or
@@ -24,51 +24,36 @@
#include "config.h"
#include "HTMLAnchorElement.h"
-#include "CSSHelper.h"
#include "DNS.h"
-#include "Document.h"
-#include "Event.h"
-#include "EventHandler.h"
#include "EventNames.h"
#include "Frame.h"
-#include "FrameLoader.h"
-#include "FrameLoaderClient.h"
#include "HTMLImageElement.h"
#include "HTMLNames.h"
#include "KeyboardEvent.h"
#include "MappedAttribute.h"
#include "MouseEvent.h"
-#include "MutationEvent.h"
#include "Page.h"
-#include "RenderBox.h"
#include "RenderImage.h"
-#include "ResourceRequest.h"
-#include "SelectionController.h"
#include "Settings.h"
-#include "UIEvent.h"
namespace WebCore {
using namespace HTMLNames;
-HTMLAnchorElement::HTMLAnchorElement(Document* doc)
- : HTMLElement(aTag, doc)
+HTMLAnchorElement::HTMLAnchorElement(Document* document)
+ : HTMLElement(aTag, document)
, m_rootEditableElementForSelectionOnMouseDown(0)
, m_wasShiftKeyDownOnMouseDown(false)
{
}
-HTMLAnchorElement::HTMLAnchorElement(const QualifiedName& tagName, Document* doc)
- : HTMLElement(tagName, doc)
+HTMLAnchorElement::HTMLAnchorElement(const QualifiedName& tagName, Document* document)
+ : HTMLElement(tagName, document)
, m_rootEditableElementForSelectionOnMouseDown(0)
, m_wasShiftKeyDownOnMouseDown(false)
{
}
-HTMLAnchorElement::~HTMLAnchorElement()
-{
-}
-
bool HTMLAnchorElement::supportsFocus() const
{
if (isContentEditable())
@@ -194,7 +179,7 @@ void HTMLAnchorElement::defaultEventHandler(Event* evt)
return;
}
- String url = parseURL(getAttribute(hrefAttr));
+ String url = deprecatedParseURL(getAttribute(hrefAttr));
ASSERT(evt->target());
ASSERT(evt->target()->toNode());
@@ -249,7 +234,7 @@ void HTMLAnchorElement::setActive(bool down, bool pause)
if (Settings* settings = document()->settings())
editableLinkBehavior = settings->editableLinkBehavior();
- switch(editableLinkBehavior) {
+ switch (editableLinkBehavior) {
default:
case EditableLinkDefaultBehavior:
case EditableLinkAlwaysLive:
@@ -283,7 +268,7 @@ void HTMLAnchorElement::parseMappedAttribute(MappedAttribute *attr)
if (wasLink != isLink())
setNeedsStyleRecalc();
if (isLink()) {
- String parsedURL = parseURL(attr->value());
+ String parsedURL = deprecatedParseURL(attr->value());
if (document()->isDNSPrefetchEnabled()) {
if (protocolIs(parsedURL, "http") || protocolIs(parsedURL, "https") || parsedURL.startsWith("//"))
prefetchDNS(document()->completeURL(parsedURL).host());
@@ -320,34 +305,15 @@ bool HTMLAnchorElement::canStartSelection() const
return isContentEditable();
}
-const AtomicString& HTMLAnchorElement::accessKey() const
-{
- return getAttribute(accesskeyAttr);
-}
-
-void HTMLAnchorElement::setAccessKey(const AtomicString& value)
-{
- setAttribute(accesskeyAttr, value);
-}
-
-const AtomicString& HTMLAnchorElement::charset() const
-{
- return getAttribute(charsetAttr);
-}
-
-void HTMLAnchorElement::setCharset(const AtomicString& value)
-{
- setAttribute(charsetAttr, value);
-}
-
-const AtomicString& HTMLAnchorElement::coords() const
-{
- return getAttribute(coordsAttr);
-}
-
-void HTMLAnchorElement::setCoords(const AtomicString& value)
+bool HTMLAnchorElement::draggable() const
{
- setAttribute(coordsAttr, value);
+ // Should be draggable if we have an href attribute.
+ const AtomicString& value = getAttribute(draggableAttr);
+ if (equalIgnoringCase(value, "true"))
+ return true;
+ if (equalIgnoringCase(value, "false"))
+ return false;
+ return hasAttribute(hrefAttr);
}
KURL HTMLAnchorElement::href() const
@@ -360,56 +326,11 @@ void HTMLAnchorElement::setHref(const AtomicString& value)
setAttribute(hrefAttr, value);
}
-const AtomicString& HTMLAnchorElement::hreflang() const
-{
- return getAttribute(hreflangAttr);
-}
-
-void HTMLAnchorElement::setHreflang(const AtomicString& value)
-{
- setAttribute(hreflangAttr, value);
-}
-
const AtomicString& HTMLAnchorElement::name() const
{
return getAttribute(nameAttr);
}
-void HTMLAnchorElement::setName(const AtomicString& value)
-{
- setAttribute(nameAttr, value);
-}
-
-const AtomicString& HTMLAnchorElement::rel() const
-{
- return getAttribute(relAttr);
-}
-
-void HTMLAnchorElement::setRel(const AtomicString& value)
-{
- setAttribute(relAttr, value);
-}
-
-const AtomicString& HTMLAnchorElement::rev() const
-{
- return getAttribute(revAttr);
-}
-
-void HTMLAnchorElement::setRev(const AtomicString& value)
-{
- setAttribute(revAttr, value);
-}
-
-const AtomicString& HTMLAnchorElement::shape() const
-{
- return getAttribute(shapeAttr);
-}
-
-void HTMLAnchorElement::setShape(const AtomicString& value)
-{
- setAttribute(shapeAttr, value);
-}
-
short HTMLAnchorElement::tabIndex() const
{
// Skip the supportsFocus check in HTMLElement.
@@ -421,21 +342,6 @@ String HTMLAnchorElement::target() const
return getAttribute(targetAttr);
}
-void HTMLAnchorElement::setTarget(const AtomicString& value)
-{
- setAttribute(targetAttr, value);
-}
-
-const AtomicString& HTMLAnchorElement::type() const
-{
- return getAttribute(typeAttr);
-}
-
-void HTMLAnchorElement::setType(const AtomicString& value)
-{
- setAttribute(typeAttr, value);
-}
-
String HTMLAnchorElement::hash() const
{
String ref = href().ref();
@@ -497,7 +403,7 @@ bool HTMLAnchorElement::isLiveLink() const
if (Settings* settings = document()->settings())
editableLinkBehavior = settings->editableLinkBehavior();
- switch(editableLinkBehavior) {
+ switch (editableLinkBehavior) {
default:
case EditableLinkDefaultBehavior:
case EditableLinkAlwaysLive:
diff --git a/src/3rdparty/webkit/WebCore/html/HTMLAnchorElement.h b/src/3rdparty/webkit/WebCore/html/HTMLAnchorElement.h
index dd4b6f9..3c73118 100644
--- a/src/3rdparty/webkit/WebCore/html/HTMLAnchorElement.h
+++ b/src/3rdparty/webkit/WebCore/html/HTMLAnchorElement.h
@@ -2,7 +2,7 @@
* Copyright (C) 1999 Lars Knoll (knoll@kde.org)
* (C) 1999 Antti Koivisto (koivisto@kde.org)
* (C) 2000 Simon Hausmann <hausmann@kde.org>
- * Copyright (C) 2007, 2008 Apple Inc. All rights reserved.
+ * Copyright (C) 2007, 2008, 2009 Apple Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -32,57 +32,11 @@ class HTMLAnchorElement : public HTMLElement {
public:
HTMLAnchorElement(Document*);
HTMLAnchorElement(const QualifiedName&, Document*);
- ~HTMLAnchorElement();
-
- virtual HTMLTagStatus endTagRequirement() const { return TagStatusRequired; }
- virtual int tagPriority() const { return 1; }
-
- virtual bool supportsFocus() const;
- virtual bool isMouseFocusable() const;
- virtual bool isKeyboardFocusable(KeyboardEvent*) const;
- virtual bool isFocusable() const;
- virtual void parseMappedAttribute(MappedAttribute*);
- virtual void defaultEventHandler(Event*);
- virtual void setActive(bool active = true, bool pause = false);
- virtual void accessKeyAction(bool fullAction);
- virtual bool isURLAttribute(Attribute*) const;
-
- virtual bool canStartSelection() const;
-
- const AtomicString& accessKey() const;
- void setAccessKey(const AtomicString&);
-
- const AtomicString& charset() const;
- void setCharset(const AtomicString&);
-
- const AtomicString& coords() const;
- void setCoords(const AtomicString&);
KURL href() const;
void setHref(const AtomicString&);
- const AtomicString& hreflang() const;
- void setHreflang(const AtomicString&);
-
const AtomicString& name() const;
- void setName(const AtomicString&);
-
- const AtomicString& rel() const;
- void setRel(const AtomicString&);
-
- const AtomicString& rev() const;
- void setRev(const AtomicString&);
-
- const AtomicString& shape() const;
- void setShape(const AtomicString&);
-
- virtual short tabIndex() const;
-
- virtual String target() const;
- void setTarget(const AtomicString&);
-
- const AtomicString& type() const;
- void setType(const AtomicString&);
String hash() const;
String host() const;
@@ -92,12 +46,30 @@ public:
String protocol() const;
String search() const;
String text() const;
-
+
String toString() const;
bool isLiveLink() const;
+protected:
+ virtual void parseMappedAttribute(MappedAttribute*);
+
private:
+ virtual HTMLTagStatus endTagRequirement() const { return TagStatusRequired; }
+ virtual int tagPriority() const { return 1; }
+ virtual bool supportsFocus() const;
+ virtual bool isMouseFocusable() const;
+ virtual bool isKeyboardFocusable(KeyboardEvent*) const;
+ virtual bool isFocusable() const;
+ virtual void defaultEventHandler(Event*);
+ virtual void setActive(bool active = true, bool pause = false);
+ virtual void accessKeyAction(bool fullAction);
+ virtual bool isURLAttribute(Attribute*) const;
+ virtual bool canStartSelection() const;
+ virtual String target() const;
+ virtual short tabIndex() const;
+ virtual bool draggable() const;
+
Element* m_rootEditableElementForSelectionOnMouseDown;
bool m_wasShiftKeyDownOnMouseDown;
};
diff --git a/src/3rdparty/webkit/WebCore/html/HTMLAnchorElement.idl b/src/3rdparty/webkit/WebCore/html/HTMLAnchorElement.idl
index c2dda3d..057358e 100644
--- a/src/3rdparty/webkit/WebCore/html/HTMLAnchorElement.idl
+++ b/src/3rdparty/webkit/WebCore/html/HTMLAnchorElement.idl
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2006, 2007 Apple Inc.
+ * Copyright (C) 2006, 2007, 2009 Apple Inc. All rights reserved.
* Copyright (C) 2006 Samuel Weinig <sam.weinig@gmail.com>
*
* This library is free software; you can redistribute it and/or
@@ -25,17 +25,17 @@ module html {
InterfaceUUID=0c74cef8-b1f7-4b44-83a9-8deeb376a257,
ImplementationUUID=30f797d5-d145-498e-a126-d8e9ddeedea3
] HTMLAnchorElement : HTMLElement {
- attribute [ConvertNullToNullString] DOMString accessKey;
- attribute [ConvertNullToNullString] DOMString charset;
- attribute [ConvertNullToNullString] DOMString coords;
- attribute [ConvertNullToNullString] DOMString href;
- attribute [ConvertNullToNullString] DOMString hreflang;
- attribute [ConvertNullToNullString] DOMString name;
- attribute [ConvertNullToNullString] DOMString rel;
- attribute [ConvertNullToNullString] DOMString rev;
- attribute [ConvertNullToNullString] DOMString shape;
- attribute [ConvertNullToNullString] DOMString target;
- attribute [ConvertNullToNullString] DOMString type;
+ attribute [ConvertNullToNullString, Reflect=accesskey] DOMString accessKey;
+ attribute [ConvertNullToNullString, Reflect] DOMString charset;
+ attribute [ConvertNullToNullString, Reflect] DOMString coords;
+ attribute [ConvertNullToNullString, ReflectURL] DOMString href;
+ attribute [ConvertNullToNullString, Reflect] DOMString hreflang;
+ attribute [ConvertNullToNullString, Reflect] DOMString name;
+ attribute [ConvertNullToNullString, Reflect] DOMString rel;
+ attribute [ConvertNullToNullString, Reflect] DOMString rev;
+ attribute [ConvertNullToNullString, Reflect] DOMString shape;
+ attribute [ConvertNullToNullString, Reflect] DOMString target;
+ attribute [ConvertNullToNullString, Reflect] DOMString type;
// IE Extensions
readonly attribute DOMString hash;
diff --git a/src/3rdparty/webkit/WebCore/html/HTMLAppletElement.cpp b/src/3rdparty/webkit/WebCore/html/HTMLAppletElement.cpp
index 13dd911..32dfb71 100644
--- a/src/3rdparty/webkit/WebCore/html/HTMLAppletElement.cpp
+++ b/src/3rdparty/webkit/WebCore/html/HTMLAppletElement.cpp
@@ -2,7 +2,7 @@
* Copyright (C) 1999 Lars Knoll (knoll@kde.org)
* (C) 1999 Antti Koivisto (koivisto@kde.org)
* (C) 2000 Stefan Schimanski (1Stein@gmx.de)
- * Copyright (C) 2004, 2005, 2006, 2008 Apple Inc. All rights reserved.
+ * Copyright (C) 2004, 2005, 2006, 2008, 2009 Apple Inc. All rights reserved.
* Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies)
*
* This library is free software; you can redistribute it and/or
@@ -24,14 +24,11 @@
#include "config.h"
#include "HTMLAppletElement.h"
-#include "Frame.h"
#include "HTMLDocument.h"
#include "HTMLNames.h"
#include "MappedAttribute.h"
#include "RenderApplet.h"
-#include "RenderInline.h"
#include "Settings.h"
-#include "ScriptController.h"
namespace WebCore {
@@ -43,10 +40,6 @@ HTMLAppletElement::HTMLAppletElement(const QualifiedName& tagName, Document* doc
ASSERT(hasTagName(appletTag));
}
-HTMLAppletElement::~HTMLAppletElement()
-{
-}
-
void HTMLAppletElement::parseMappedAttribute(MappedAttribute* attr)
{
if (attr->name() == altAttr ||
@@ -163,46 +156,6 @@ void HTMLAppletElement::finishParsingChildren()
renderer()->setNeedsLayout(true); // This will cause it to create its widget & the Java applet
}
-String HTMLAppletElement::alt() const
-{
- return getAttribute(altAttr);
-}
-
-void HTMLAppletElement::setAlt(const String &value)
-{
- setAttribute(altAttr, value);
-}
-
-String HTMLAppletElement::archive() const
-{
- return getAttribute(archiveAttr);
-}
-
-void HTMLAppletElement::setArchive(const String &value)
-{
- setAttribute(archiveAttr, value);
-}
-
-String HTMLAppletElement::code() const
-{
- return getAttribute(codeAttr);
-}
-
-void HTMLAppletElement::setCode(const String &value)
-{
- setAttribute(codeAttr, value);
-}
-
-String HTMLAppletElement::codeBase() const
-{
- return getAttribute(codebaseAttr);
-}
-
-void HTMLAppletElement::setCodeBase(const String &value)
-{
- setAttribute(codebaseAttr, value);
-}
-
String HTMLAppletElement::hspace() const
{
return getAttribute(hspaceAttr);
@@ -213,16 +166,6 @@ void HTMLAppletElement::setHspace(const String &value)
setAttribute(hspaceAttr, value);
}
-String HTMLAppletElement::object() const
-{
- return getAttribute(objectAttr);
-}
-
-void HTMLAppletElement::setObject(const String &value)
-{
- setAttribute(objectAttr, value);
-}
-
String HTMLAppletElement::vspace() const
{
return getAttribute(vspaceAttr);
diff --git a/src/3rdparty/webkit/WebCore/html/HTMLAppletElement.h b/src/3rdparty/webkit/WebCore/html/HTMLAppletElement.h
index 26d8126..c616bb4 100644
--- a/src/3rdparty/webkit/WebCore/html/HTMLAppletElement.h
+++ b/src/3rdparty/webkit/WebCore/html/HTMLAppletElement.h
@@ -1,7 +1,7 @@
/*
* Copyright (C) 1999 Lars Knoll (knoll@kde.org)
* (C) 1999 Antti Koivisto (koivisto@kde.org)
- * Copyright (C) 2004, 2006, 2008 Apple Inc. All rights reserved.
+ * Copyright (C) 2004, 2006, 2008, 2009 Apple Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -30,12 +30,17 @@ namespace WebCore {
class HTMLFormElement;
class HTMLImageLoader;
-class HTMLAppletElement : public HTMLPlugInElement
-{
+class HTMLAppletElement : public HTMLPlugInElement {
public:
HTMLAppletElement(const QualifiedName&, Document*);
- ~HTMLAppletElement();
+ String hspace() const;
+ void setHspace(const String&);
+
+ String vspace() const;
+ void setVspace(const String&);
+
+private:
virtual int tagPriority() const { return 1; }
virtual void parseMappedAttribute(MappedAttribute*);
@@ -46,33 +51,11 @@ public:
virtual RenderWidget* renderWidgetForJSBindings() const;
- String alt() const;
- void setAlt(const String&);
-
- String archive() const;
- void setArchive(const String&);
-
- String code() const;
- void setCode(const String&);
-
- String codeBase() const;
- void setCodeBase(const String&);
-
- String hspace() const;
- void setHspace(const String&);
-
- String object() const;
- void setObject(const String&);
-
- String vspace() const;
- void setVspace(const String&);
-
void setupApplet() const;
virtual void insertedIntoDocument();
virtual void removedFromDocument();
-private:
AtomicString m_id;
};
diff --git a/src/3rdparty/webkit/WebCore/html/HTMLAppletElement.idl b/src/3rdparty/webkit/WebCore/html/HTMLAppletElement.idl
index da7a33a..cc923ca 100644
--- a/src/3rdparty/webkit/WebCore/html/HTMLAppletElement.idl
+++ b/src/3rdparty/webkit/WebCore/html/HTMLAppletElement.idl
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2006, 2007 Apple Inc. All rights reserved.
+ * Copyright (C) 2006, 2007, 2009 Apple Inc. All rights reserved.
* Copyright (C) 2006 Samuel Weinig <sam.weinig@gmail.com>
*
* This library is free software; you can redistribute it and/or
@@ -29,25 +29,25 @@ module html {
InterfaceUUID=9b5cb4a8-c156-4b55-afdb-c60938a4d1b1,
ImplementationUUID=56544372-675e-40dd-ba39-fa708a4c7678
] HTMLAppletElement : HTMLElement {
- attribute [ConvertNullToNullString] DOMString align;
- attribute [ConvertNullToNullString] DOMString alt;
- attribute [ConvertNullToNullString] DOMString archive;
- attribute [ConvertNullToNullString] DOMString code;
- attribute [ConvertNullToNullString] DOMString codeBase;
- attribute [ConvertNullToNullString] DOMString height;
+ attribute [ConvertNullToNullString, Reflect] DOMString align;
+ attribute [ConvertNullToNullString, Reflect] DOMString alt;
+ attribute [ConvertNullToNullString, Reflect] DOMString archive;
+ attribute [ConvertNullToNullString, Reflect] DOMString code;
+ attribute [ConvertNullToNullString, Reflect=codebase] DOMString codeBase;
+ attribute [ConvertNullToNullString, Reflect] DOMString height;
#if defined(LANGUAGE_JAVASCRIPT) && LANGUAGE_JAVASCRIPT
- attribute [ConvertNullToNullString] DOMString hspace;
+ attribute [ConvertNullToNullString, Reflect] DOMString hspace;
#else
attribute [ConvertFromString] long hspace;
#endif
- attribute [ConvertNullToNullString] DOMString name;
- attribute [ConvertNullToNullString] DOMString object;
+ attribute [ConvertNullToNullString, Reflect] DOMString name;
+ attribute [ConvertNullToNullString, Reflect] DOMString object;
#if defined(LANGUAGE_JAVASCRIPT) && LANGUAGE_JAVASCRIPT
- attribute [ConvertNullToNullString] DOMString vspace;
+ attribute [ConvertNullToNullString, Reflect] DOMString vspace;
#else
attribute [ConvertFromString] long vspace;
#endif
- attribute [ConvertNullToNullString] DOMString width;
+ attribute [ConvertNullToNullString, Reflect] DOMString width;
};
}
diff --git a/src/3rdparty/webkit/WebCore/html/HTMLAreaElement.cpp b/src/3rdparty/webkit/WebCore/html/HTMLAreaElement.cpp
index 2f7c1a5..b878a1a 100644
--- a/src/3rdparty/webkit/WebCore/html/HTMLAreaElement.cpp
+++ b/src/3rdparty/webkit/WebCore/html/HTMLAreaElement.cpp
@@ -22,11 +22,8 @@
#include "config.h"
#include "HTMLAreaElement.h"
-#include "Document.h"
-#include "FloatRect.h"
#include "HTMLNames.h"
#include "HitTestResult.h"
-#include "Length.h"
#include "MappedAttribute.h"
#include "Path.h"
#include "RenderObject.h"
@@ -52,7 +49,7 @@ HTMLAreaElement::~HTMLAreaElement()
delete [] m_coords;
}
-void HTMLAreaElement::parseMappedAttribute(MappedAttribute *attr)
+void HTMLAreaElement::parseMappedAttribute(MappedAttribute* attr)
{
if (attr->name() == shapeAttr) {
if (equalIgnoringCase(attr->value(), "default"))
@@ -152,46 +149,11 @@ Path HTMLAreaElement::getRegion(const IntSize& size) const
return path;
}
-const AtomicString& HTMLAreaElement::accessKey() const
-{
- return getAttribute(accesskeyAttr);
-}
-
-void HTMLAreaElement::setAccessKey(const AtomicString& value)
-{
- setAttribute(accesskeyAttr, value);
-}
-
-const AtomicString& HTMLAreaElement::alt() const
-{
- return getAttribute(altAttr);
-}
-
-void HTMLAreaElement::setAlt(const AtomicString& value)
-{
- setAttribute(altAttr, value);
-}
-
-const AtomicString& HTMLAreaElement::coords() const
-{
- return getAttribute(coordsAttr);
-}
-
-void HTMLAreaElement::setCoords(const AtomicString& value)
-{
- setAttribute(coordsAttr, value);
-}
-
KURL HTMLAreaElement::href() const
{
return document()->completeURL(getAttribute(hrefAttr));
}
-void HTMLAreaElement::setHref(const AtomicString& value)
-{
- setAttribute(hrefAttr, value);
-}
-
bool HTMLAreaElement::noHref() const
{
return !getAttribute(nohrefAttr).isNull();
@@ -202,16 +164,6 @@ void HTMLAreaElement::setNoHref(bool noHref)
setAttribute(nohrefAttr, noHref ? "" : 0);
}
-const AtomicString& HTMLAreaElement::shape() const
-{
- return getAttribute(shapeAttr);
-}
-
-void HTMLAreaElement::setShape(const AtomicString& value)
-{
- setAttribute(shapeAttr, value);
-}
-
bool HTMLAreaElement::isFocusable() const
{
return HTMLElement::isFocusable();
@@ -222,9 +174,4 @@ String HTMLAreaElement::target() const
return getAttribute(targetAttr);
}
-void HTMLAreaElement::setTarget(const AtomicString& value)
-{
- setAttribute(targetAttr, value);
-}
-
}
diff --git a/src/3rdparty/webkit/WebCore/html/HTMLAreaElement.h b/src/3rdparty/webkit/WebCore/html/HTMLAreaElement.h
index 19533b1..fffd45e 100644
--- a/src/3rdparty/webkit/WebCore/html/HTMLAreaElement.h
+++ b/src/3rdparty/webkit/WebCore/html/HTMLAreaElement.h
@@ -34,43 +34,26 @@ class Path;
class HTMLAreaElement : public HTMLAnchorElement {
public:
HTMLAreaElement(const QualifiedName&, Document*);
- ~HTMLAreaElement();
-
- virtual HTMLTagStatus endTagRequirement() const { return TagStatusForbidden; }
- virtual int tagPriority() const { return 0; }
-
- virtual void parseMappedAttribute(MappedAttribute*);
+ virtual ~HTMLAreaElement();
bool isDefault() const { return m_shape == Default; }
bool mapMouseEvent(int x, int y, const IntSize&, HitTestResult&);
- virtual IntRect getRect(RenderObject*) const;
-
- const AtomicString& accessKey() const;
- void setAccessKey(const AtomicString&);
-
- const AtomicString& alt() const;
- void setAlt(const AtomicString&);
-
- const AtomicString& coords() const;
- void setCoords(const AtomicString&);
+ IntRect getRect(RenderObject*) const;
KURL href() const;
- void setHref(const AtomicString&);
bool noHref() const;
void setNoHref(bool);
- const AtomicString& shape() const;
- void setShape(const AtomicString&);
-
+private:
+ virtual HTMLTagStatus endTagRequirement() const { return TagStatusForbidden; }
+ virtual int tagPriority() const { return 0; }
+ virtual void parseMappedAttribute(MappedAttribute*);
virtual bool isFocusable() const;
-
virtual String target() const;
- void setTarget(const AtomicString&);
-private:
enum Shape { Default, Poly, Rect, Circle, Unknown };
Path getRegion(const IntSize&) const;
diff --git a/src/3rdparty/webkit/WebCore/html/HTMLAreaElement.idl b/src/3rdparty/webkit/WebCore/html/HTMLAreaElement.idl
index d80ebed..53239c6 100644
--- a/src/3rdparty/webkit/WebCore/html/HTMLAreaElement.idl
+++ b/src/3rdparty/webkit/WebCore/html/HTMLAreaElement.idl
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2006 Apple Computer, Inc.
+ * Copyright (C) 2006, 2009 Apple Inc. All rights reserved.
* Copyright (C) 2006 Samuel Weinig <sam.weinig@gmail.com>
*
* This library is free software; you can redistribute it and/or
@@ -25,13 +25,13 @@ module html {
InterfaceUUID=aac98729-47d3-4623-8c5b-004783af5bd6,
ImplementationUUID=f0631a41-5f55-40e5-a879-c09e663c26ba
] HTMLAreaElement : HTMLElement {
- attribute [ConvertNullToNullString] DOMString accessKey;
- attribute [ConvertNullToNullString] DOMString alt;
- attribute [ConvertNullToNullString] DOMString coords;
- attribute [ConvertNullToNullString] DOMString href;
+ attribute [ConvertNullToNullString, Reflect=accesskey] DOMString accessKey;
+ attribute [ConvertNullToNullString, Reflect] DOMString alt;
+ attribute [ConvertNullToNullString, Reflect] DOMString coords;
+ attribute [ConvertNullToNullString, ReflectURL] DOMString href;
attribute boolean noHref;
- attribute [ConvertNullToNullString] DOMString shape;
- attribute [ConvertNullToNullString] DOMString target;
+ attribute [ConvertNullToNullString, Reflect] DOMString shape;
+ attribute [ConvertNullToNullString, Reflect] DOMString target;
// IE Extensions
readonly attribute DOMString hash;
diff --git a/src/3rdparty/webkit/WebCore/html/HTMLAttributeNames.in b/src/3rdparty/webkit/WebCore/html/HTMLAttributeNames.in
index a29d6d2..15db3e9 100644
--- a/src/3rdparty/webkit/WebCore/html/HTMLAttributeNames.in
+++ b/src/3rdparty/webkit/WebCore/html/HTMLAttributeNames.in
@@ -17,6 +17,7 @@ aria-checked
aria-describedby
aria-disabled
aria-hidden
+aria-label
aria-labeledby
aria-labelledby
aria-level
@@ -68,6 +69,7 @@ defer
dir
direction
disabled
+draggable
enctype
end
expanded
@@ -183,6 +185,7 @@ onwebkitanimationstart
onwebkitanimationiteration
onwebkitanimationend
onwebkittransitionend
+pattern
placeholder
pluginurl
poster
@@ -193,6 +196,7 @@ progress
prompt
readonly
rel
+required
results
rev
role
diff --git a/src/3rdparty/webkit/WebCore/html/HTMLAudioElement.h b/src/3rdparty/webkit/WebCore/html/HTMLAudioElement.h
index de390cf..1dbe44f 100644
--- a/src/3rdparty/webkit/WebCore/html/HTMLAudioElement.h
+++ b/src/3rdparty/webkit/WebCore/html/HTMLAudioElement.h
@@ -32,8 +32,7 @@
namespace WebCore {
-class HTMLAudioElement : public HTMLMediaElement
-{
+class HTMLAudioElement : public HTMLMediaElement {
public:
HTMLAudioElement(const QualifiedName&, Document*);
diff --git a/src/3rdparty/webkit/WebCore/html/HTMLBRElement.cpp b/src/3rdparty/webkit/WebCore/html/HTMLBRElement.cpp
index 6f86e6a..dbd8eba 100644
--- a/src/3rdparty/webkit/WebCore/html/HTMLBRElement.cpp
+++ b/src/3rdparty/webkit/WebCore/html/HTMLBRElement.cpp
@@ -1,8 +1,8 @@
-/**
+/*
* Copyright (C) 1999 Lars Knoll (knoll@kde.org)
* (C) 1999 Antti Koivisto (koivisto@kde.org)
* (C) 2000 Simon Hausmann <hausmann@kde.org>
- * Copyright (C) 2003, 2006 Apple Computer, Inc.
+ * Copyright (C) 2003, 2006, 2009 Apple Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -38,10 +38,6 @@ HTMLBRElement::HTMLBRElement(const QualifiedName& tagName, Document *doc)
ASSERT(hasTagName(brTag));
}
-HTMLBRElement::~HTMLBRElement()
-{
-}
-
bool HTMLBRElement::mapToEntry(const QualifiedName& attrName, MappedAttributeEntry& result) const
{
if (attrName == clearAttr) {
@@ -52,7 +48,7 @@ bool HTMLBRElement::mapToEntry(const QualifiedName& attrName, MappedAttributeEnt
return HTMLElement::mapToEntry(attrName, result);
}
-void HTMLBRElement::parseMappedAttribute(MappedAttribute *attr)
+void HTMLBRElement::parseMappedAttribute(MappedAttribute* attr)
{
if (attr->name() == clearAttr) {
// If the string is empty, then don't add the clear property.
@@ -76,14 +72,4 @@ RenderObject* HTMLBRElement::createRenderer(RenderArena* arena, RenderStyle* sty
return new (arena) RenderBR(this);
}
-String HTMLBRElement::clear() const
-{
- return getAttribute(clearAttr);
-}
-
-void HTMLBRElement::setClear(const String &value)
-{
- setAttribute(clearAttr, value);
-}
-
}
diff --git a/src/3rdparty/webkit/WebCore/html/HTMLBRElement.h b/src/3rdparty/webkit/WebCore/html/HTMLBRElement.h
index 982a646..6b20b37 100644
--- a/src/3rdparty/webkit/WebCore/html/HTMLBRElement.h
+++ b/src/3rdparty/webkit/WebCore/html/HTMLBRElement.h
@@ -2,6 +2,7 @@
* Copyright (C) 1999 Lars Knoll (knoll@kde.org)
* (C) 1999 Antti Koivisto (koivisto@kde.org)
* (C) 2000 Simon Hausmann <hausmann@kde.org>
+ * Copyright (C) 2003, 2006, 2009 Apple Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -19,6 +20,7 @@
* Boston, MA 02110-1301, USA.
*
*/
+
#ifndef HTMLBRElement_h
#define HTMLBRElement_h
@@ -28,22 +30,18 @@ namespace WebCore {
class String;
-class HTMLBRElement : public HTMLElement
-{
+class HTMLBRElement : public HTMLElement {
public:
HTMLBRElement(const QualifiedName&, Document*);
- ~HTMLBRElement();
-
+
+private:
virtual HTMLTagStatus endTagRequirement() const { return TagStatusForbidden; }
virtual int tagPriority() const { return 0; }
virtual bool mapToEntry(const QualifiedName&, MappedAttributeEntry&) const;
- virtual void parseMappedAttribute(MappedAttribute *attr);
+ virtual void parseMappedAttribute(MappedAttribute*);
- virtual RenderObject *createRenderer(RenderArena*, RenderStyle*);
-
- String clear() const;
- void setClear(const String&);
+ virtual RenderObject* createRenderer(RenderArena*, RenderStyle*);
};
} //namespace
diff --git a/src/3rdparty/webkit/WebCore/html/HTMLBRElement.idl b/src/3rdparty/webkit/WebCore/html/HTMLBRElement.idl
index 79e05ed..6d626ff 100644
--- a/src/3rdparty/webkit/WebCore/html/HTMLBRElement.idl
+++ b/src/3rdparty/webkit/WebCore/html/HTMLBRElement.idl
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2006 Apple Computer, Inc.
+ * Copyright (C) 2006, 2009 Apple Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -24,7 +24,7 @@ module html {
InterfaceUUID=e84b14bc-b0aa-431f-83c4-fcc297e354b0,
ImplementationUUID=c10d45a4-b042-45d0-b170-6ac7173ee823
] HTMLBRElement : HTMLElement {
- attribute [ConvertNullToNullString] DOMString clear;
+ attribute [ConvertNullToNullString, Reflect] DOMString clear;
};
}
diff --git a/src/3rdparty/webkit/WebCore/html/HTMLBaseElement.cpp b/src/3rdparty/webkit/WebCore/html/HTMLBaseElement.cpp
index a278908..613a0f7 100644
--- a/src/3rdparty/webkit/WebCore/html/HTMLBaseElement.cpp
+++ b/src/3rdparty/webkit/WebCore/html/HTMLBaseElement.cpp
@@ -2,7 +2,7 @@
* Copyright (C) 1999 Lars Knoll (knoll@kde.org)
* (C) 1999 Antti Koivisto (koivisto@kde.org)
* (C) 2001 Dirk Mueller (mueller@kde.org)
- * Copyright (C) 2003, 2008 Apple Inc. All rights reserved.
+ * Copyright (C) 2003, 2008, 2009 Apple Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -26,29 +26,25 @@
#include "CSSHelper.h"
#include "Document.h"
#include "Frame.h"
-#include "FrameLoader.h"
#include "HTMLNames.h"
-#include "KURL.h"
#include "MappedAttribute.h"
+#include "XSSAuditor.h"
namespace WebCore {
using namespace HTMLNames;
-HTMLBaseElement::HTMLBaseElement(const QualifiedName& qName, Document* doc)
- : HTMLElement(qName, doc)
+HTMLBaseElement::HTMLBaseElement(const QualifiedName& qName, Document* document)
+ : HTMLElement(qName, document)
{
ASSERT(hasTagName(baseTag));
}
-HTMLBaseElement::~HTMLBaseElement()
-{
-}
-
void HTMLBaseElement::parseMappedAttribute(MappedAttribute* attr)
{
if (attr->name() == hrefAttr) {
- m_href = parseURL(attr->value());
+ m_hrefAttrValue = attr->value();
+ m_href = deprecatedParseURL(attr->value());
process();
} else if (attr->name() == targetAttr) {
m_target = attr->value();
@@ -67,8 +63,8 @@ void HTMLBaseElement::removedFromDocument()
{
HTMLElement::removedFromDocument();
- // Since the document doesn't have a base element...
- // (This will break in the case of multiple base elements, but that's not valid anyway (?))
+ // Since the document doesn't have a base element, clear the base URL and target.
+ // FIXME: This does not handle the case of multiple base elements correctly.
document()->setBaseElementURL(KURL());
document()->setBaseElementTarget(String());
}
@@ -78,23 +74,13 @@ void HTMLBaseElement::process()
if (!inDocument())
return;
- if (!m_href.isEmpty())
+ if (!m_href.isEmpty() && (!document()->frame() || document()->frame()->script()->xssAuditor()->canSetBaseElementURL(m_hrefAttrValue)))
document()->setBaseElementURL(KURL(document()->url(), m_href));
if (!m_target.isEmpty())
document()->setBaseElementTarget(m_target);
- // ### should changing a document's base URL dynamically automatically update all images, stylesheets etc?
-}
-
-void HTMLBaseElement::setHref(const String &value)
-{
- setAttribute(hrefAttr, value);
-}
-
-void HTMLBaseElement::setTarget(const String &value)
-{
- setAttribute(targetAttr, value);
+ // FIXME: Changing a document's base URL should probably automatically update the resolved relative URLs of all images, stylesheets, etc.
}
}
diff --git a/src/3rdparty/webkit/WebCore/html/HTMLBaseElement.h b/src/3rdparty/webkit/WebCore/html/HTMLBaseElement.h
index f068851..d413bec 100644
--- a/src/3rdparty/webkit/WebCore/html/HTMLBaseElement.h
+++ b/src/3rdparty/webkit/WebCore/html/HTMLBaseElement.h
@@ -1,7 +1,7 @@
/*
* Copyright (C) 1999 Lars Knoll (knoll@kde.org)
* (C) 1999 Antti Koivisto (koivisto@kde.org)
- * Copyright (C) 2003 Apple Computer, Inc.
+ * Copyright (C) 2003, 2009 Apple Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -19,6 +19,7 @@
* Boston, MA 02110-1301, USA.
*
*/
+
#ifndef HTMLBaseElement_h
#define HTMLBaseElement_h
@@ -26,16 +27,14 @@
namespace WebCore {
-class HTMLBaseElement : public HTMLElement
-{
+class HTMLBaseElement : public HTMLElement {
public:
HTMLBaseElement(const QualifiedName&, Document*);
- ~HTMLBaseElement();
+private:
virtual HTMLTagStatus endTagRequirement() const { return TagStatusForbidden; }
virtual int tagPriority() const { return 0; }
- String href() const { return m_href; }
virtual String target() const { return m_target; }
virtual void parseMappedAttribute(MappedAttribute*);
@@ -47,7 +46,7 @@ public:
void setHref(const String&);
void setTarget(const String&);
-protected:
+ String m_hrefAttrValue;
String m_href;
String m_target;
};
diff --git a/src/3rdparty/webkit/WebCore/html/HTMLBaseElement.idl b/src/3rdparty/webkit/WebCore/html/HTMLBaseElement.idl
index 76025fa..b7385ec 100644
--- a/src/3rdparty/webkit/WebCore/html/HTMLBaseElement.idl
+++ b/src/3rdparty/webkit/WebCore/html/HTMLBaseElement.idl
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2006 Apple Computer, Inc.
+ * Copyright (C) 2006, 2009 Apple Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -24,8 +24,8 @@ module html {
InterfaceUUID=e4112bea-13de-40f6-93d0-41e285ae1491,
ImplementationUUID=23cec074-660f-490a-996d-167d66c164d5
] HTMLBaseElement : HTMLElement {
- attribute [ConvertNullToNullString] DOMString href;
- attribute [ConvertNullToNullString] DOMString target;
+ attribute [ConvertNullToNullString, Reflect] DOMString href;
+ attribute [ConvertNullToNullString, Reflect] DOMString target;
};
}
diff --git a/src/3rdparty/webkit/WebCore/html/HTMLBaseFontElement.cpp b/src/3rdparty/webkit/WebCore/html/HTMLBaseFontElement.cpp
index ef08822..9acbf73 100644
--- a/src/3rdparty/webkit/WebCore/html/HTMLBaseFontElement.cpp
+++ b/src/3rdparty/webkit/WebCore/html/HTMLBaseFontElement.cpp
@@ -1,7 +1,7 @@
/*
* Copyright (C) 1999 Lars Knoll (knoll@kde.org)
* (C) 1999 Antti Koivisto (koivisto@kde.org)
- * Copyright (C) 2003, 2004, 2005, 2006 Apple Computer, Inc.
+ * Copyright (C) 2003, 2004, 2005, 2006, 2009 Apple Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -19,40 +19,22 @@
* Boston, MA 02110-1301, USA.
*
*/
+
#include "config.h"
#include "HTMLBaseFontElement.h"
+
#include "HTMLNames.h"
namespace WebCore {
using namespace HTMLNames;
-HTMLBaseFontElement::HTMLBaseFontElement(const QualifiedName& tagName, Document* doc)
- : HTMLElement(tagName, doc)
+HTMLBaseFontElement::HTMLBaseFontElement(const QualifiedName& tagName, Document* document)
+ : HTMLElement(tagName, document)
{
ASSERT(hasTagName(basefontTag));
}
-String HTMLBaseFontElement::color() const
-{
- return getAttribute(colorAttr);
-}
-
-void HTMLBaseFontElement::setColor(const String &value)
-{
- setAttribute(colorAttr, value);
-}
-
-String HTMLBaseFontElement::face() const
-{
- return getAttribute(faceAttr);
-}
-
-void HTMLBaseFontElement::setFace(const String &value)
-{
- setAttribute(faceAttr, value);
-}
-
int HTMLBaseFontElement::size() const
{
return getAttribute(sizeAttr).toInt();
diff --git a/src/3rdparty/webkit/WebCore/html/HTMLBaseFontElement.h b/src/3rdparty/webkit/WebCore/html/HTMLBaseFontElement.h
index 0c9a9fd..e76d07f 100644
--- a/src/3rdparty/webkit/WebCore/html/HTMLBaseFontElement.h
+++ b/src/3rdparty/webkit/WebCore/html/HTMLBaseFontElement.h
@@ -1,7 +1,7 @@
/*
* Copyright (C) 1999 Lars Knoll (knoll@kde.org)
* (C) 1999 Antti Koivisto (koivisto@kde.org)
- * Copyright (C) 2003, 2004, 2005, 2006 Apple Computer, Inc.
+ * Copyright (C) 2003, 2004, 2005, 2006, 2009 Apple Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -19,6 +19,7 @@
* Boston, MA 02110-1301, USA.
*
*/
+
#ifndef HTMLBaseFontElement_h
#define HTMLBaseFontElement_h
@@ -26,24 +27,18 @@
namespace WebCore {
-class HTMLBaseFontElement : public HTMLElement
-{
+class HTMLBaseFontElement : public HTMLElement {
public:
- HTMLBaseFontElement(const QualifiedName&, Document* doc);
-
- virtual HTMLTagStatus endTagRequirement() const { return TagStatusForbidden; }
- virtual int tagPriority() const { return 0; }
-
- String color() const;
- void setColor(const String &);
-
- String face() const;
- void setFace(const String &);
+ HTMLBaseFontElement(const QualifiedName&, Document*);
int size() const;
void setSize(int);
+
+private:
+ virtual HTMLTagStatus endTagRequirement() const { return TagStatusForbidden; }
+ virtual int tagPriority() const { return 0; }
};
-} //namespace
+} // namespace
#endif
diff --git a/src/3rdparty/webkit/WebCore/html/HTMLBaseFontElement.idl b/src/3rdparty/webkit/WebCore/html/HTMLBaseFontElement.idl
index f09c9d7..665f124 100644
--- a/src/3rdparty/webkit/WebCore/html/HTMLBaseFontElement.idl
+++ b/src/3rdparty/webkit/WebCore/html/HTMLBaseFontElement.idl
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2006 Apple Computer, Inc.
+ * Copyright (C) 2006, 2009 Apple Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -24,8 +24,8 @@ module html {
InterfaceUUID=434b1be5-408e-45b5-be83-c70e11e9bb37,
ImplementationUUID=1dc8508e-53c4-4e7e-93c0-16772372b2dc
] HTMLBaseFontElement : HTMLElement {
- attribute [ConvertNullToNullString] DOMString color;
- attribute [ConvertNullToNullString] DOMString face;
+ attribute [ConvertNullToNullString, Reflect] DOMString color;
+ attribute [ConvertNullToNullString, Reflect] DOMString face;
#if defined(LANGUAGE_OBJECTIVE_C) && LANGUAGE_OBJECTIVE_C
attribute [ConvertToString] DOMString size; // this changed to a long, but our existing API is a string
#else
diff --git a/src/3rdparty/webkit/WebCore/html/HTMLBlockquoteElement.cpp b/src/3rdparty/webkit/WebCore/html/HTMLBlockquoteElement.cpp
index 682063c..c064ad3 100644
--- a/src/3rdparty/webkit/WebCore/html/HTMLBlockquoteElement.cpp
+++ b/src/3rdparty/webkit/WebCore/html/HTMLBlockquoteElement.cpp
@@ -1,7 +1,7 @@
-/**
+/*
* Copyright (C) 1999 Lars Knoll (knoll@kde.org)
* (C) 1999 Antti Koivisto (koivisto@kde.org)
- * Copyright (C) 2003 Apple Computer, Inc.
+ * Copyright (C) 2003, 2009 Apple Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -19,6 +19,7 @@
* Boston, MA 02110-1301, USA.
*
*/
+
#include "config.h"
#include "HTMLBlockquoteElement.h"
@@ -28,24 +29,10 @@ namespace WebCore {
using namespace HTMLNames;
-HTMLBlockquoteElement::HTMLBlockquoteElement(const QualifiedName& tagName, Document* doc)
- : HTMLElement(tagName, doc)
+HTMLBlockquoteElement::HTMLBlockquoteElement(const QualifiedName& tagName, Document* document)
+ : HTMLElement(tagName, document)
{
ASSERT(hasTagName(blockquoteTag));
}
-HTMLBlockquoteElement::~HTMLBlockquoteElement()
-{
-}
-
-String HTMLBlockquoteElement::cite() const
-{
- return getAttribute(citeAttr);
-}
-
-void HTMLBlockquoteElement::setCite(const String &value)
-{
- setAttribute(citeAttr, value);
-}
-
}
diff --git a/src/3rdparty/webkit/WebCore/html/HTMLBlockquoteElement.h b/src/3rdparty/webkit/WebCore/html/HTMLBlockquoteElement.h
index 7b5ee21..f27d258 100644
--- a/src/3rdparty/webkit/WebCore/html/HTMLBlockquoteElement.h
+++ b/src/3rdparty/webkit/WebCore/html/HTMLBlockquoteElement.h
@@ -1,6 +1,7 @@
/*
* Copyright (C) 1999 Lars Knoll (knoll@kde.org)
* (C) 1999 Antti Koivisto (koivisto@kde.org)
+ * Copyright (C) 2009 Apple Inc.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -29,13 +30,10 @@ namespace WebCore {
class HTMLBlockquoteElement : public HTMLElement {
public:
HTMLBlockquoteElement(const QualifiedName&, Document*);
- ~HTMLBlockquoteElement();
+private:
virtual HTMLTagStatus endTagRequirement() const { return TagStatusRequired; }
virtual int tagPriority() const { return 5; }
-
- String cite() const;
- void setCite(const String&);
};
} // namespace WebCore
diff --git a/src/3rdparty/webkit/WebCore/html/HTMLBlockquoteElement.idl b/src/3rdparty/webkit/WebCore/html/HTMLBlockquoteElement.idl
index d135fcd..f6463dd 100644
--- a/src/3rdparty/webkit/WebCore/html/HTMLBlockquoteElement.idl
+++ b/src/3rdparty/webkit/WebCore/html/HTMLBlockquoteElement.idl
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2006 Apple Computer, Inc.
+ * Copyright (C) 2006, 2009 Apple Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -24,7 +24,7 @@ module html {
InterfaceUUID=902d9011-c6d6-4363-b6fe-bd2d28ef553b,
ImplementationUUID=345db946-ba9c-44b9-87fd-06083aa472e4
] HTMLBlockquoteElement : HTMLElement {
- attribute [ConvertNullToNullString] DOMString cite;
+ attribute [ConvertNullToNullString, Reflect] DOMString cite;
};
}
diff --git a/src/3rdparty/webkit/WebCore/html/HTMLBodyElement.cpp b/src/3rdparty/webkit/WebCore/html/HTMLBodyElement.cpp
index 74c7c9e..269e005 100644
--- a/src/3rdparty/webkit/WebCore/html/HTMLBodyElement.cpp
+++ b/src/3rdparty/webkit/WebCore/html/HTMLBodyElement.cpp
@@ -3,7 +3,7 @@
* (C) 1999 Antti Koivisto (koivisto@kde.org)
* (C) 2000 Simon Hausmann (hausmann@kde.org)
* (C) 2001 Dirk Mueller (mueller@kde.org)
- * Copyright (C) 2004, 2006, 2007, 2008 Apple Inc. All rights reserved.
+ * Copyright (C) 2004, 2006, 2007, 2008, 2009 Apple Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -24,13 +24,9 @@
#include "config.h"
#include "HTMLBodyElement.h"
-#include "CSSHelper.h"
-#include "CSSMutableStyleDeclaration.h"
-#include "CSSPropertyNames.h"
#include "CSSStyleSelector.h"
#include "CSSStyleSheet.h"
#include "CSSValueKeywords.h"
-#include "Document.h"
#include "EventNames.h"
#include "Frame.h"
#include "FrameView.h"
@@ -43,8 +39,8 @@ namespace WebCore {
using namespace HTMLNames;
-HTMLBodyElement::HTMLBodyElement(const QualifiedName& tagName, Document* doc)
- : HTMLElement(tagName, doc)
+HTMLBodyElement::HTMLBodyElement(const QualifiedName& tagName, Document* document)
+ : HTMLElement(tagName, document)
{
ASSERT(hasTagName(bodyTag));
}
@@ -89,7 +85,7 @@ bool HTMLBodyElement::mapToEntry(const QualifiedName& attrName, MappedAttributeE
void HTMLBodyElement::parseMappedAttribute(MappedAttribute *attr)
{
if (attr->name() == backgroundAttr) {
- String url = parseURL(attr->value());
+ String url = deprecatedParseURL(attr->value());
if (!url.isEmpty())
addCSSImageProperty(attr, CSSPropertyBackgroundImage, document()->completeURL(url).string());
} else if (attr->name() == marginwidthAttr || attr->name() == leftmarginAttr) {
@@ -194,16 +190,6 @@ void HTMLBodyElement::setALink(const String& value)
setAttribute(alinkAttr, value);
}
-String HTMLBodyElement::background() const
-{
- return getAttribute(backgroundAttr);
-}
-
-void HTMLBodyElement::setBackground(const String& value)
-{
- setAttribute(backgroundAttr, value);
-}
-
String HTMLBodyElement::bgColor() const
{
return getAttribute(bgcolorAttr);
@@ -315,7 +301,7 @@ void HTMLBodyElement::addSubresourceAttributeURLs(ListHashSet<KURL>& urls) const
{
HTMLElement::addSubresourceAttributeURLs(urls);
- addSubresourceURL(urls, document()->completeURL(background()));
+ addSubresourceURL(urls, document()->completeURL(getAttribute(backgroundAttr)));
}
void HTMLBodyElement::didMoveToNewOwnerDocument()
diff --git a/src/3rdparty/webkit/WebCore/html/HTMLBodyElement.h b/src/3rdparty/webkit/WebCore/html/HTMLBodyElement.h
index 274a675..575d562 100644
--- a/src/3rdparty/webkit/WebCore/html/HTMLBodyElement.h
+++ b/src/3rdparty/webkit/WebCore/html/HTMLBodyElement.h
@@ -1,10 +1,8 @@
/*
- * This file is part of the DOM implementation for KDE.
- *
* Copyright (C) 1999 Lars Knoll (knoll@kde.org)
* (C) 1999 Antti Koivisto (koivisto@kde.org)
* (C) 2000 Simon Hausmann <hausmann@kde.org>
- * Copyright (C) 2004, 2006 Apple Computer, Inc.
+ * Copyright (C) 2004, 2006, 2009 Apple Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -33,24 +31,10 @@ namespace WebCore {
class HTMLBodyElement : public HTMLElement {
public:
HTMLBodyElement(const QualifiedName&, Document*);
- ~HTMLBodyElement();
-
- virtual HTMLTagStatus endTagRequirement() const { return TagStatusRequired; }
- virtual int tagPriority() const { return 10; }
-
- virtual bool mapToEntry(const QualifiedName&, MappedAttributeEntry&) const;
- virtual void parseMappedAttribute(MappedAttribute*);
-
- virtual void insertedIntoDocument();
-
- void createLinkDecl();
-
- virtual bool isURLAttribute(Attribute*) const;
+ virtual ~HTMLBodyElement();
String aLink() const;
void setALink(const String&);
- String background() const;
- void setBackground(const String&);
String bgColor() const;
void setBgColor(const String&);
String link() const;
@@ -60,7 +44,6 @@ public:
String vLink() const;
void setVLink(const String&);
- // Event handler attributes
virtual EventListener* onblur() const;
virtual void setOnblur(PassRefPtr<EventListener>);
virtual EventListener* onerror() const;
@@ -85,6 +68,19 @@ public:
EventListener* onunload() const;
void setOnunload(PassRefPtr<EventListener>);
+private:
+ virtual HTMLTagStatus endTagRequirement() const { return TagStatusRequired; }
+ virtual int tagPriority() const { return 10; }
+
+ virtual bool mapToEntry(const QualifiedName&, MappedAttributeEntry&) const;
+ virtual void parseMappedAttribute(MappedAttribute*);
+
+ virtual void insertedIntoDocument();
+
+ void createLinkDecl();
+
+ virtual bool isURLAttribute(Attribute*) const;
+
virtual int scrollLeft() const;
virtual void setScrollLeft(int scrollLeft);
@@ -96,11 +92,9 @@ public:
virtual void addSubresourceAttributeURLs(ListHashSet<KURL>&) const;
-protected:
- RefPtr<CSSMutableStyleDeclaration> m_linkDecl;
-
-private:
virtual void didMoveToNewOwnerDocument();
+
+ RefPtr<CSSMutableStyleDeclaration> m_linkDecl;
};
} //namespace
diff --git a/src/3rdparty/webkit/WebCore/html/HTMLBodyElement.idl b/src/3rdparty/webkit/WebCore/html/HTMLBodyElement.idl
index fa3fef9..097b4ac 100644
--- a/src/3rdparty/webkit/WebCore/html/HTMLBodyElement.idl
+++ b/src/3rdparty/webkit/WebCore/html/HTMLBodyElement.idl
@@ -25,12 +25,12 @@ module html {
InterfaceUUID=4789afc6-2d9e-4f3b-8c27-12abc9d4a014,
ImplementationUUID=d2e16911-2f7e-4d58-a92c-94700d445b38
] HTMLBodyElement : HTMLElement {
- attribute [ConvertNullToNullString] DOMString aLink;
- attribute [ConvertNullToNullString] DOMString background;
- attribute [ConvertNullToNullString] DOMString bgColor;
- attribute [ConvertNullToNullString] DOMString link;
- attribute [ConvertNullToNullString] DOMString text;
- attribute [ConvertNullToNullString] DOMString vLink;
+ attribute [ConvertNullToNullString, Reflect=alink] DOMString aLink;
+ attribute [ConvertNullToNullString, Reflect] DOMString background;
+ attribute [ConvertNullToNullString, Reflect=bgcolor] DOMString bgColor;
+ attribute [ConvertNullToNullString, Reflect] DOMString link;
+ attribute [ConvertNullToNullString, Reflect] DOMString text;
+ attribute [ConvertNullToNullString, Reflect=vlink] DOMString vLink;
#if !defined(LANGUAGE_OBJECTIVE_C) || !LANGUAGE_OBJECTIVE_C
#if !defined(LANGUAGE_COM) || !LANGUAGE_COM
@@ -43,12 +43,6 @@ module html {
attribute [DontEnum] EventListener onstorage;
attribute [DontEnum] EventListener onunload;
- // Overrides of Element attributes.
- // attribute [DontEnum] EventListener onblur;
- // attribute [DontEnum] EventListener onerror;
- // attribute [DontEnum] EventListener onfocus;
- // attribute [DontEnum] EventListener onload;
-
// Not implemented yet.
// attribute [DontEnum] EventListener onafterprint;
// attribute [DontEnum] EventListener onbeforeprint;
diff --git a/src/3rdparty/webkit/WebCore/html/HTMLButtonElement.h b/src/3rdparty/webkit/WebCore/html/HTMLButtonElement.h
index b1d744c..f5b9b62 100644
--- a/src/3rdparty/webkit/WebCore/html/HTMLButtonElement.h
+++ b/src/3rdparty/webkit/WebCore/html/HTMLButtonElement.h
@@ -61,6 +61,7 @@ public:
private:
enum Type { SUBMIT, RESET, BUTTON };
+ virtual bool isOptionalFormControl() const { return true; }
Type m_type;
bool m_activeSubmit;
diff --git a/src/3rdparty/webkit/WebCore/html/HTMLButtonElement.idl b/src/3rdparty/webkit/WebCore/html/HTMLButtonElement.idl
index 028e92b..30ad6f2 100644
--- a/src/3rdparty/webkit/WebCore/html/HTMLButtonElement.idl
+++ b/src/3rdparty/webkit/WebCore/html/HTMLButtonElement.idl
@@ -26,6 +26,9 @@ module html {
ImplementationUUID=1be13b5f-40df-4550-b70e-8c805e546cad
] HTMLButtonElement : HTMLElement {
readonly attribute HTMLFormElement form;
+#if !defined(LANGUAGE_COM) || !LANGUAGE_COM
+ readonly attribute ValidityState validity;
+#endif
attribute [ConvertNullToNullString] DOMString accessKey;
attribute boolean disabled;
attribute boolean autofocus;
diff --git a/src/3rdparty/webkit/WebCore/html/HTMLDListElement.h b/src/3rdparty/webkit/WebCore/html/HTMLDListElement.h
index 8925e6b..49c944b 100644
--- a/src/3rdparty/webkit/WebCore/html/HTMLDListElement.h
+++ b/src/3rdparty/webkit/WebCore/html/HTMLDListElement.h
@@ -26,8 +26,7 @@
namespace WebCore {
-class HTMLDListElement : public HTMLElement
-{
+class HTMLDListElement : public HTMLElement {
public:
HTMLDListElement(const QualifiedName&, Document*);
diff --git a/src/3rdparty/webkit/WebCore/html/HTMLDataGridCellElement.cpp b/src/3rdparty/webkit/WebCore/html/HTMLDataGridCellElement.cpp
index d06ad82..bad8929 100644
--- a/src/3rdparty/webkit/WebCore/html/HTMLDataGridCellElement.cpp
+++ b/src/3rdparty/webkit/WebCore/html/HTMLDataGridCellElement.cpp
@@ -24,6 +24,9 @@
*/
#include "config.h"
+
+#if ENABLE(DATAGRID)
+
#include "HTMLDataGridCellElement.h"
#include "HTMLNames.h"
@@ -89,3 +92,5 @@ void HTMLDataGridCellElement::setProgress(float progress)
}
} // namespace WebCore
+
+#endif
diff --git a/src/3rdparty/webkit/WebCore/html/HTMLDataGridCellElement.h b/src/3rdparty/webkit/WebCore/html/HTMLDataGridCellElement.h
index 9de6e40..270835c 100644
--- a/src/3rdparty/webkit/WebCore/html/HTMLDataGridCellElement.h
+++ b/src/3rdparty/webkit/WebCore/html/HTMLDataGridCellElement.h
@@ -26,6 +26,8 @@
#ifndef HTMLDataGridCellElement_h
#define HTMLDataGridCellElement_h
+#if ENABLE(DATAGRID)
+
#include "HTMLElement.h"
namespace WebCore {
@@ -55,4 +57,6 @@ public:
} // namespace WebCore
+#endif
+
#endif // HTMLDataGridCellElement_h
diff --git a/src/3rdparty/webkit/WebCore/html/HTMLDataGridCellElement.idl b/src/3rdparty/webkit/WebCore/html/HTMLDataGridCellElement.idl
index 4d15f6f..c7c51bc 100644
--- a/src/3rdparty/webkit/WebCore/html/HTMLDataGridCellElement.idl
+++ b/src/3rdparty/webkit/WebCore/html/HTMLDataGridCellElement.idl
@@ -26,7 +26,8 @@
module html {
interface [
- GenerateConstructor
+ GenerateConstructor,
+ Conditional=DATAGRID
] HTMLDataGridCellElement : HTMLElement {
attribute DOMString label; // The text to display in the column, assuming the type supports text.
diff --git a/src/3rdparty/webkit/WebCore/html/HTMLDataGridColElement.cpp b/src/3rdparty/webkit/WebCore/html/HTMLDataGridColElement.cpp
index b209447..8398545 100644
--- a/src/3rdparty/webkit/WebCore/html/HTMLDataGridColElement.cpp
+++ b/src/3rdparty/webkit/WebCore/html/HTMLDataGridColElement.cpp
@@ -24,9 +24,14 @@
*/
#include "config.h"
-#include "HTMLDataGridColElement.h"
+#if ENABLE(DATAGRID)
+
+#include "DataGridColumn.h"
+#include "HTMLDataGridElement.h"
+#include "HTMLDataGridColElement.h"
#include "HTMLNames.h"
+#include "MappedAttribute.h"
#include "Text.h"
namespace WebCore {
@@ -35,9 +40,48 @@ using namespace HTMLNames;
HTMLDataGridColElement::HTMLDataGridColElement(const QualifiedName& name, Document* doc)
: HTMLElement(name, doc)
+ , m_dataGrid(0)
+{
+}
+
+HTMLDataGridElement* HTMLDataGridColElement::findDataGridAncestor() const
+{
+ if (parent() && parent()->hasTagName(datagridTag))
+ return static_cast<HTMLDataGridElement*>(parent());
+ return 0;
+}
+
+void HTMLDataGridColElement::ensureColumn()
{
+ if (m_column)
+ return;
+ m_column = DataGridColumn::create(getAttribute(idAttr), label(), type(), primary(), sortable());
}
+void HTMLDataGridColElement::insertedIntoTree(bool deep)
+{
+ HTMLElement::insertedIntoTree(deep);
+ if (dataGrid()) // We're connected to a datagrid already.
+ return;
+ m_dataGrid = findDataGridAncestor();
+ if (dataGrid() && dataGrid()->dataSource()->isDOMDataGridDataSource()) {
+ ensureColumn();
+ m_dataGrid->columns()->add(column()); // FIXME: Deal with ordering issues (complicated, since columns can be made outside the DOM).
+ }
+}
+
+void HTMLDataGridColElement::removedFromTree(bool deep)
+{
+ HTMLElement::removedFromTree(deep);
+ if (dataGrid() && dataGrid()->dataSource()->isDOMDataGridDataSource()) {
+ HTMLDataGridElement* grid = findDataGridAncestor();
+ if (!grid && column()) {
+ dataGrid()->columns()->remove(column());
+ m_dataGrid = 0;
+ }
+ }
+}
+
String HTMLDataGridColElement::label() const
{
return getAttribute(labelAttr);
@@ -60,12 +104,14 @@ void HTMLDataGridColElement::setType(const String& type)
unsigned short HTMLDataGridColElement::sortable() const
{
- return hasAttribute(sortableAttr);
+ if (!hasAttribute(sortableAttr))
+ return 2;
+ return getAttribute(sortableAttr).toInt(0);
}
void HTMLDataGridColElement::setSortable(unsigned short sortable)
{
- setAttribute(sortableAttr, sortable ? "" : 0);
+ setAttribute(sortableAttr, String::number(sortable));
}
unsigned short HTMLDataGridColElement::sortDirection() const
@@ -99,4 +145,27 @@ void HTMLDataGridColElement::setPrimary(bool primary)
setAttribute(primaryAttr, primary ? "" : 0);
}
+void HTMLDataGridColElement::parseMappedAttribute(MappedAttribute* attr)
+{
+ HTMLElement::parseMappedAttribute(attr);
+
+ if (!column())
+ return;
+
+ if (attr->name() == labelAttr)
+ column()->setLabel(label());
+ else if (attr->name() == typeAttr)
+ column()->setType(type());
+ else if (attr->name() == primaryAttr)
+ column()->setPrimary(primary());
+ else if (attr->name() == sortableAttr)
+ column()->setSortable(sortable());
+ else if (attr->name() == sortdirectionAttr)
+ column()->setSortDirection(sortDirection());
+ else if (attr->name() == idAttr)
+ column()->setId(getAttribute(idAttr));
+}
+
} // namespace WebCore
+
+#endif
diff --git a/src/3rdparty/webkit/WebCore/html/HTMLDataGridColElement.h b/src/3rdparty/webkit/WebCore/html/HTMLDataGridColElement.h
index 87133cc..d91ec51 100644
--- a/src/3rdparty/webkit/WebCore/html/HTMLDataGridColElement.h
+++ b/src/3rdparty/webkit/WebCore/html/HTMLDataGridColElement.h
@@ -26,17 +26,25 @@
#ifndef HTMLDataGridColElement_h
#define HTMLDataGridColElement_h
+#if ENABLE(DATAGRID)
+
+#include "DataGridColumn.h"
#include "HTMLElement.h"
namespace WebCore {
+class HTMLDataGridElement;
+
class HTMLDataGridColElement : public HTMLElement {
public:
HTMLDataGridColElement(const QualifiedName&, Document*);
virtual HTMLTagStatus endTagRequirement() const { return TagStatusForbidden; }
virtual int tagPriority() const { return 0; }
-
+ virtual void insertedIntoTree(bool /*deep*/);
+ virtual void removedFromTree(bool /*deep*/);
+ virtual void parseMappedAttribute(MappedAttribute*);
+
String label() const;
void setLabel(const String&);
@@ -51,8 +59,21 @@ public:
bool primary() const;
void setPrimary(bool);
+
+ DataGridColumn* column() const { return m_column.get(); }
+ void setColumn(PassRefPtr<DataGridColumn> col) { m_column = col; }
+
+private:
+ HTMLDataGridElement* dataGrid() const { return m_dataGrid; }
+ HTMLDataGridElement* findDataGridAncestor() const;
+ void ensureColumn();
+
+ RefPtr<DataGridColumn> m_column;
+ HTMLDataGridElement* m_dataGrid; // Not refcounted. We will null out our reference if we get removed from the grid.
};
} // namespace WebCore
+#endif
+
#endif // HTMLDataGridColElement_h
diff --git a/src/3rdparty/webkit/WebCore/html/HTMLDataGridColElement.idl b/src/3rdparty/webkit/WebCore/html/HTMLDataGridColElement.idl
index c72751c..5861039 100644
--- a/src/3rdparty/webkit/WebCore/html/HTMLDataGridColElement.idl
+++ b/src/3rdparty/webkit/WebCore/html/HTMLDataGridColElement.idl
@@ -26,7 +26,8 @@
module html {
interface [
- GenerateConstructor
+ GenerateConstructor,
+ Conditional=DATAGRID
] HTMLDataGridColElement : HTMLElement {
attribute DOMString label; // The text to display in the column.
attribute DOMString type; // The type of data displayed in this column.
diff --git a/src/3rdparty/webkit/WebCore/html/HTMLDataGridElement.cpp b/src/3rdparty/webkit/WebCore/html/HTMLDataGridElement.cpp
index 2d9f852..bb1f4a6 100644
--- a/src/3rdparty/webkit/WebCore/html/HTMLDataGridElement.cpp
+++ b/src/3rdparty/webkit/WebCore/html/HTMLDataGridElement.cpp
@@ -24,8 +24,12 @@
*/
#include "config.h"
+
+#if ENABLE(DATAGRID)
+
#include "HTMLDataGridElement.h"
+#include "DOMDataGridDataSource.h"
#include "HTMLNames.h"
#include "RenderDataGrid.h"
#include "Text.h"
@@ -36,13 +40,14 @@ using namespace HTMLNames;
HTMLDataGridElement::HTMLDataGridElement(const QualifiedName& tagName, Document* document)
: HTMLElement(tagName, document)
- , m_initializationTimer(this, &HTMLDataGridElement::initializationTimerFired)
+ , m_columns(DataGridColumnList::create(this))
{
- m_columns = DataGridColumnList::create();
+ setDataSource(DOMDataGridDataSource::create());
}
HTMLDataGridElement::~HTMLDataGridElement()
{
+ m_columns->clearDataGrid();
}
bool HTMLDataGridElement::checkDTD(const Node* newChild)
@@ -87,18 +92,27 @@ void HTMLDataGridElement::setMultiple(bool multiple)
setAttribute(multipleAttr, multiple ? "" : 0);
}
-void HTMLDataGridElement::setDataSource(PassRefPtr<DataGridDataSource> dataSource)
+void HTMLDataGridElement::setDataSource(PassRefPtr<DataGridDataSource> ds)
{
- if (m_initializationTimer.isActive())
- m_initializationTimer.stop();
-
+ if (m_dataSource == ds)
+ return;
+
+ RefPtr<DataGridDataSource> dataSource = ds;
+ if (!dataSource)
+ dataSource = DOMDataGridDataSource::create();
m_dataSource = dataSource;
- m_initializationTimer.startOneShot(0);
+
+ // Always clear our columns when a data source changes.
+ // The register callback will rebuild the columns.
+ m_columns->clear();
}
-void HTMLDataGridElement::initializationTimerFired(Timer<HTMLDataGridElement>*)
+DataGridDataSource* HTMLDataGridElement::dataSource() const
{
- m_dataSource->initialize(this);
+ ASSERT(m_dataSource);
+ return m_dataSource.get();
}
} // namespace WebCore
+
+#endif // ENABLE(DATAGRID)
diff --git a/src/3rdparty/webkit/WebCore/html/HTMLDataGridElement.h b/src/3rdparty/webkit/WebCore/html/HTMLDataGridElement.h
index 646c97e..94672c1 100644
--- a/src/3rdparty/webkit/WebCore/html/HTMLDataGridElement.h
+++ b/src/3rdparty/webkit/WebCore/html/HTMLDataGridElement.h
@@ -26,6 +26,8 @@
#ifndef HTMLDataGridElement_h
#define HTMLDataGridElement_h
+#if ENABLE(DATAGRID)
+
#include "DataGridColumnList.h"
#include "DataGridDataSource.h"
#include "HTMLElement.h"
@@ -53,19 +55,17 @@ public:
void setMultiple(bool);
void setDataSource(PassRefPtr<DataGridDataSource>);
- DataGridDataSource* dataSource() const { return m_dataSource.get(); }
+ DataGridDataSource* dataSource() const;
DataGridColumnList* columns() const { return m_columns.get(); }
private:
- void initializationTimerFired(Timer<HTMLDataGridElement>*);
-
- Timer<HTMLDataGridElement> m_initializationTimer;
RefPtr<DataGridDataSource> m_dataSource;
-
RefPtr<DataGridColumnList> m_columns;
};
} // namespace WebCore
+#endif
+
#endif // HTMLDataGridElement_h
diff --git a/src/3rdparty/webkit/WebCore/html/HTMLDataGridElement.idl b/src/3rdparty/webkit/WebCore/html/HTMLDataGridElement.idl
index b4b0897..c9e6d9d 100644
--- a/src/3rdparty/webkit/WebCore/html/HTMLDataGridElement.idl
+++ b/src/3rdparty/webkit/WebCore/html/HTMLDataGridElement.idl
@@ -26,7 +26,8 @@
module html {
interface [
- GenerateConstructor
+ GenerateConstructor,
+ Conditional=DATAGRID
] HTMLDataGridElement : HTMLElement {
attribute [Custom] DataGridDataSource dataSource;
diff --git a/src/3rdparty/webkit/WebCore/html/HTMLDataGridRowElement.cpp b/src/3rdparty/webkit/WebCore/html/HTMLDataGridRowElement.cpp
index e671806..c958cbd 100644
--- a/src/3rdparty/webkit/WebCore/html/HTMLDataGridRowElement.cpp
+++ b/src/3rdparty/webkit/WebCore/html/HTMLDataGridRowElement.cpp
@@ -24,6 +24,9 @@
*/
#include "config.h"
+
+#if ENABLE(DATAGRID)
+
#include "HTMLDataGridRowElement.h"
#include "HTMLNames.h"
@@ -76,3 +79,5 @@ void HTMLDataGridRowElement::setExpanded(bool expanded)
}
} // namespace WebCore
+
+#endif
diff --git a/src/3rdparty/webkit/WebCore/html/HTMLDataGridRowElement.h b/src/3rdparty/webkit/WebCore/html/HTMLDataGridRowElement.h
index d911db2..eac33e6 100644
--- a/src/3rdparty/webkit/WebCore/html/HTMLDataGridRowElement.h
+++ b/src/3rdparty/webkit/WebCore/html/HTMLDataGridRowElement.h
@@ -26,6 +26,8 @@
#ifndef HTMLDataGridRowElement_h
#define HTMLDataGridRowElement_h
+#if ENABLE(DATAGRID)
+
#include "HTMLElement.h"
namespace WebCore {
@@ -49,4 +51,6 @@ public:
} // namespace WebCore
+#endif
+
#endif // HTMLDataGridRowElement_h
diff --git a/src/3rdparty/webkit/WebCore/html/HTMLDataGridRowElement.idl b/src/3rdparty/webkit/WebCore/html/HTMLDataGridRowElement.idl
index 4aeb4d5..f6954af 100644
--- a/src/3rdparty/webkit/WebCore/html/HTMLDataGridRowElement.idl
+++ b/src/3rdparty/webkit/WebCore/html/HTMLDataGridRowElement.idl
@@ -26,7 +26,8 @@
module html {
interface [
- GenerateConstructor
+ GenerateConstructor,
+ Conditional=DATAGRID
] HTMLDataGridRowElement : HTMLElement {
attribute boolean selected; // Whether or not the row is currently selected.
attribute boolean focused; // Whether or not the row is the current object in the tree for keyboard navigation (or as the principal item of a multiple selection).
diff --git a/src/3rdparty/webkit/WebCore/html/HTMLDirectoryElement.h b/src/3rdparty/webkit/WebCore/html/HTMLDirectoryElement.h
index 6be4c22..eead141 100644
--- a/src/3rdparty/webkit/WebCore/html/HTMLDirectoryElement.h
+++ b/src/3rdparty/webkit/WebCore/html/HTMLDirectoryElement.h
@@ -26,8 +26,7 @@
namespace WebCore {
-class HTMLDirectoryElement : public HTMLElement
-{
+class HTMLDirectoryElement : public HTMLElement {
public:
HTMLDirectoryElement(const QualifiedName&, Document*);
diff --git a/src/3rdparty/webkit/WebCore/html/HTMLDocument.cpp b/src/3rdparty/webkit/WebCore/html/HTMLDocument.cpp
index 5867f0e..96ae9e4 100644
--- a/src/3rdparty/webkit/WebCore/html/HTMLDocument.cpp
+++ b/src/3rdparty/webkit/WebCore/html/HTMLDocument.cpp
@@ -151,9 +151,12 @@ Element* HTMLDocument::activeElement()
bool HTMLDocument::hasFocus()
{
- if (!page()->focusController()->isActive())
+ Page* page = this->page();
+ if (!page)
return false;
- if (Frame* focusedFrame = page()->focusController()->focusedFrame()) {
+ if (!page->focusController()->isActive())
+ return false;
+ if (Frame* focusedFrame = page->focusController()->focusedFrame()) {
if (focusedFrame->tree()->isDescendantOf(frame()))
return true;
}
@@ -281,9 +284,8 @@ void HTMLDocument::releaseEvents()
Tokenizer *HTMLDocument::createTokenizer()
{
bool reportErrors = false;
- if (frame())
- if (Page* page = frame()->page())
- reportErrors = page->inspectorController()->windowVisible();
+ if (Page* page = this->page())
+ reportErrors = page->inspectorController()->windowVisible();
return new HTMLTokenizer(this, reportErrors);
}
@@ -307,34 +309,18 @@ PassRefPtr<Element> HTMLDocument::createElement(const AtomicString& name, Except
return HTMLElementFactory::createHTMLElement(QualifiedName(nullAtom, lowerName, xhtmlNamespaceURI), this, 0, false);
}
-static void addItemToMap(HTMLDocument::NameCountMap& map, const AtomicString& name)
+static void addItemToMap(HashCountedSet<AtomicStringImpl*>& map, const AtomicString& name)
{
if (name.isEmpty())
return;
-
- HTMLDocument::NameCountMap::iterator it = map.find(name.impl());
- if (it == map.end())
- map.set(name.impl(), 1);
- else
- ++(it->second);
+ map.add(name.impl());
}
-static void removeItemFromMap(HTMLDocument::NameCountMap& map, const AtomicString& name)
+static void removeItemFromMap(HashCountedSet<AtomicStringImpl*>& map, const AtomicString& name)
{
if (name.isEmpty())
return;
-
- HTMLDocument::NameCountMap::iterator it = map.find(name.impl());
- if (it == map.end())
- return;
-
- int oldVal = it->second;
- ASSERT(oldVal != 0);
- int newVal = oldVal - 1;
- if (newVal == 0)
- map.remove(it);
- else
- it->second = newVal;
+ map.remove(name.impl());
}
void HTMLDocument::addNamedItem(const AtomicString& name)
@@ -342,7 +328,7 @@ void HTMLDocument::addNamedItem(const AtomicString& name)
addItemToMap(m_namedItemCounts, name);
}
-void HTMLDocument::removeNamedItem(const AtomicString &name)
+void HTMLDocument::removeNamedItem(const AtomicString& name)
{
removeItemFromMap(m_namedItemCounts, name);
}
diff --git a/src/3rdparty/webkit/WebCore/html/HTMLDocument.h b/src/3rdparty/webkit/WebCore/html/HTMLDocument.h
index ab5da50..eda7593 100644
--- a/src/3rdparty/webkit/WebCore/html/HTMLDocument.h
+++ b/src/3rdparty/webkit/WebCore/html/HTMLDocument.h
@@ -1,7 +1,7 @@
/*
* Copyright (C) 1999 Lars Knoll (knoll@kde.org)
* (C) 1999 Antti Koivisto (koivisto@kde.org)
- * Copyright (C) 2004, 2006, 2007, 2008 Apple Inc. All rights reserved.
+ * Copyright (C) 2004, 2006, 2007, 2008, 2009 Apple Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -23,8 +23,10 @@
#ifndef HTMLDocument_h
#define HTMLDocument_h
+#include "AtomicStringHash.h"
#include "CachedResourceClient.h"
#include "Document.h"
+#include <wtf/HashCountedSet.h>
namespace WebCore {
@@ -81,8 +83,6 @@ public:
void removeExtraNamedItem(const AtomicString& name);
bool hasExtraNamedItem(AtomicStringImpl* name);
- typedef HashMap<AtomicStringImpl*, int> NameCountMap;
-
protected:
HTMLDocument(Frame*);
@@ -92,8 +92,8 @@ private:
virtual Tokenizer* createTokenizer();
virtual void determineParseMode();
- NameCountMap m_namedItemCounts;
- NameCountMap m_extraNamedItemCounts;
+ HashCountedSet<AtomicStringImpl*> m_namedItemCounts;
+ HashCountedSet<AtomicStringImpl*> m_extraNamedItemCounts;
};
inline bool HTMLDocument::hasNamedItem(AtomicStringImpl* name)
@@ -108,6 +108,6 @@ inline bool HTMLDocument::hasExtraNamedItem(AtomicStringImpl* name)
return m_extraNamedItemCounts.contains(name);
}
-} // namespace
+} // namespace WebCore
-#endif
+#endif // HTMLDocument_h
diff --git a/src/3rdparty/webkit/WebCore/html/HTMLElement.cpp b/src/3rdparty/webkit/WebCore/html/HTMLElement.cpp
index 5655df8..d201482 100644
--- a/src/3rdparty/webkit/WebCore/html/HTMLElement.cpp
+++ b/src/3rdparty/webkit/WebCore/html/HTMLElement.cpp
@@ -79,7 +79,7 @@ HTMLTagStatus HTMLElement::endTagRequirement() const
{
if (hasLocalName(wbrTag))
return TagStatusForbidden;
- if (hasLocalName(dtTag) || hasLocalName(ddTag))
+ if (hasLocalName(dtTag) || hasLocalName(ddTag) || hasLocalName(rpTag) || hasLocalName(rtTag))
return TagStatusOptional;
// Same values as <span>. This way custom tag name elements will behave like inline spans.
@@ -90,9 +90,9 @@ int HTMLElement::tagPriority() const
{
if (hasLocalName(wbrTag))
return 0;
- if (hasLocalName(addressTag) || hasLocalName(ddTag) || hasLocalName(dtTag) || hasLocalName(noscriptTag))
+ if (hasLocalName(addressTag) || hasLocalName(ddTag) || hasLocalName(dtTag) || hasLocalName(noscriptTag) || hasLocalName(rpTag) || hasLocalName(rtTag))
return 3;
- if (hasLocalName(centerTag) || hasLocalName(nobrTag))
+ if (hasLocalName(centerTag) || hasLocalName(nobrTag) || hasLocalName(rubyTag))
return 5;
if (hasLocalName(noembedTag) || hasLocalName(noframesTag))
return 10;
@@ -143,6 +143,13 @@ void HTMLElement::parseMappedAttribute(MappedAttribute *attr)
} else if (attr->name() == dirAttr) {
addCSSProperty(attr, CSSPropertyDirection, attr->value());
addCSSProperty(attr, CSSPropertyUnicodeBidi, hasLocalName(bdoTag) ? CSSValueBidiOverride : CSSValueEmbed);
+ } else if (attr->name() == draggableAttr) {
+ const AtomicString& value = attr->value();
+ if (equalIgnoringCase(value, "true")) {
+ addCSSProperty(attr, CSSPropertyWebkitUserDrag, CSSValueElement);
+ addCSSProperty(attr, CSSPropertyWebkitUserSelect, CSSValueNone);
+ } else if (equalIgnoringCase(value, "false"))
+ addCSSProperty(attr, CSSPropertyWebkitUserDrag, CSSValueNone);
}
// standard events
else if (attr->name() == onclickAttr) {
@@ -692,6 +699,16 @@ void HTMLElement::setContentEditable(const String &enabled)
setAttribute(contenteditableAttr, enabled.isEmpty() ? "true" : enabled);
}
+bool HTMLElement::draggable() const
+{
+ return equalIgnoringCase(getAttribute(draggableAttr), "true");
+}
+
+void HTMLElement::setDraggable(bool value)
+{
+ setAttribute(draggableAttr, value ? "true" : "false");
+}
+
void HTMLElement::click()
{
dispatchSimulatedClick(0, false, false);
@@ -875,6 +892,9 @@ static HashSet<AtomicStringImpl*>* inlineTagList()
tagList.add(audioTag.localName().impl());
tagList.add(videoTag.localName().impl());
#endif
+ tagList.add(rpTag.localName().impl());
+ tagList.add(rtTag.localName().impl());
+ tagList.add(rubyTag.localName().impl());
}
return &tagList;
}
diff --git a/src/3rdparty/webkit/WebCore/html/HTMLElement.h b/src/3rdparty/webkit/WebCore/html/HTMLElement.h
index 60152cd..21b3bb5 100644
--- a/src/3rdparty/webkit/WebCore/html/HTMLElement.h
+++ b/src/3rdparty/webkit/WebCore/html/HTMLElement.h
@@ -79,6 +79,9 @@ public:
virtual void setContentEditable(MappedAttribute*);
virtual void setContentEditable(const String&);
+ virtual bool draggable() const;
+ void setDraggable(bool);
+
void click();
virtual void accessKeyAction(bool sendToAnyElement);
diff --git a/src/3rdparty/webkit/WebCore/html/HTMLElement.idl b/src/3rdparty/webkit/WebCore/html/HTMLElement.idl
index 38f960a..6b9e1d0 100644
--- a/src/3rdparty/webkit/WebCore/html/HTMLElement.idl
+++ b/src/3rdparty/webkit/WebCore/html/HTMLElement.idl
@@ -36,6 +36,7 @@ module html {
attribute [ConvertNullToNullString, Reflect=class] DOMString className;
attribute long tabIndex;
+ attribute boolean draggable;
// Extensions
attribute [ConvertNullToNullString] DOMString innerHTML
diff --git a/src/3rdparty/webkit/WebCore/html/HTMLEmbedElement.cpp b/src/3rdparty/webkit/WebCore/html/HTMLEmbedElement.cpp
index 2500dd6..1bcbe56 100644
--- a/src/3rdparty/webkit/WebCore/html/HTMLEmbedElement.cpp
+++ b/src/3rdparty/webkit/WebCore/html/HTMLEmbedElement.cpp
@@ -98,9 +98,9 @@ void HTMLEmbedElement::parseMappedAttribute(MappedAttribute* attr)
if (!isImageType() && m_imageLoader)
m_imageLoader.clear();
} else if (attr->name() == codeAttr)
- m_url = parseURL(value.string());
+ m_url = deprecatedParseURL(value.string());
else if (attr->name() == srcAttr) {
- m_url = parseURL(value.string());
+ m_url = deprecatedParseURL(value.string());
if (renderer() && isImageType()) {
if (!m_imageLoader)
m_imageLoader.set(new HTMLImageLoader(this));
diff --git a/src/3rdparty/webkit/WebCore/html/HTMLFieldSetElement.cpp b/src/3rdparty/webkit/WebCore/html/HTMLFieldSetElement.cpp
index eb8d4ed..eb83173 100644
--- a/src/3rdparty/webkit/WebCore/html/HTMLFieldSetElement.cpp
+++ b/src/3rdparty/webkit/WebCore/html/HTMLFieldSetElement.cpp
@@ -34,7 +34,7 @@ namespace WebCore {
using namespace HTMLNames;
HTMLFieldSetElement::HTMLFieldSetElement(const QualifiedName& tagName, Document *doc, HTMLFormElement *f)
- : HTMLFormControlElement(tagName, doc, f)
+ : HTMLFormControlElement(tagName, doc, f)
{
ASSERT(hasTagName(fieldsetTag));
}
diff --git a/src/3rdparty/webkit/WebCore/html/HTMLFieldSetElement.idl b/src/3rdparty/webkit/WebCore/html/HTMLFieldSetElement.idl
index c48f8d6..371f3fd 100644
--- a/src/3rdparty/webkit/WebCore/html/HTMLFieldSetElement.idl
+++ b/src/3rdparty/webkit/WebCore/html/HTMLFieldSetElement.idl
@@ -25,6 +25,9 @@ module html {
ImplementationUUID=93573758-96db-415d-9bdc-ee7238604094
] HTMLFieldSetElement : HTMLElement {
readonly attribute HTMLFormElement form;
+#if !defined(LANGUAGE_COM) || !LANGUAGE_COM
+ readonly attribute ValidityState validity;
+#endif
readonly attribute boolean willValidate;
};
diff --git a/src/3rdparty/webkit/WebCore/html/HTMLFormControlElement.cpp b/src/3rdparty/webkit/WebCore/html/HTMLFormControlElement.cpp
index b985e75..e90a6e0 100644
--- a/src/3rdparty/webkit/WebCore/html/HTMLFormControlElement.cpp
+++ b/src/3rdparty/webkit/WebCore/html/HTMLFormControlElement.cpp
@@ -25,6 +25,7 @@
#include "config.h"
#include "HTMLFormControlElement.h"
+#include "ChromeClient.h"
#include "Document.h"
#include "EventHandler.h"
#include "EventNames.h"
@@ -35,8 +36,10 @@
#include "HTMLParser.h"
#include "HTMLTokenizer.h"
#include "MappedAttribute.h"
+#include "Page.h"
#include "RenderBox.h"
#include "RenderTheme.h"
+#include "ValidityState.h"
namespace WebCore {
@@ -61,6 +64,14 @@ HTMLFormControlElement::~HTMLFormControlElement()
m_form->removeFormElement(this);
}
+ValidityState* HTMLFormControlElement::validity()
+{
+ if (!m_validityState)
+ m_validityState = ValidityState::create(this);
+
+ return m_validityState.get();
+}
+
void HTMLFormControlElement::parseMappedAttribute(MappedAttribute *attr)
{
if (attr->name() == nameAttr) {
@@ -193,6 +204,16 @@ void HTMLFormControlElement::setAutofocus(bool b)
setAttribute(autofocusAttr, b ? "autofocus" : 0);
}
+bool HTMLFormControlElement::required() const
+{
+ return hasAttribute(requiredAttr);
+}
+
+void HTMLFormControlElement::setRequired(bool b)
+{
+ setAttribute(requiredAttr, b ? "required" : 0);
+}
+
void HTMLFormControlElement::recalcStyle(StyleChange change)
{
HTMLElement::recalcStyle(change);
@@ -242,6 +263,22 @@ bool HTMLFormControlElement::willValidate() const
return form() && name().length() && !disabled() && !isReadOnlyFormControl();
}
+void HTMLFormControlElement::dispatchFocusEvent()
+{
+ if (document()->frame() && document()->frame()->page())
+ document()->frame()->page()->chrome()->client()->formDidFocus(this);
+
+ HTMLElement::dispatchFocusEvent();
+}
+
+void HTMLFormControlElement::dispatchBlurEvent()
+{
+ if (document()->frame() && document()->frame()->page())
+ document()->frame()->page()->chrome()->client()->formDidBlur(this);
+
+ HTMLElement::dispatchBlurEvent();
+}
+
bool HTMLFormControlElement::supportsFocus() const
{
return isFocusable() || (!disabled() && !document()->haveStylesheetsLoaded());
diff --git a/src/3rdparty/webkit/WebCore/html/HTMLFormControlElement.h b/src/3rdparty/webkit/WebCore/html/HTMLFormControlElement.h
index 0a7bbd1..d3dd60f 100644
--- a/src/3rdparty/webkit/WebCore/html/HTMLFormControlElement.h
+++ b/src/3rdparty/webkit/WebCore/html/HTMLFormControlElement.h
@@ -30,6 +30,7 @@ namespace WebCore {
class FormDataList;
class HTMLFormElement;
+class ValidityState;
class HTMLFormControlElement : public HTMLElement {
public:
@@ -40,6 +41,7 @@ public:
virtual int tagPriority() const { return 1; }
HTMLFormElement* form() const { return m_form; }
+ virtual ValidityState* validity();
virtual bool isTextFormControl() const { return false; }
virtual bool isEnabledFormControl() const { return !disabled(); }
@@ -72,6 +74,11 @@ public:
virtual bool autofocus() const;
void setAutofocus(bool);
+ bool required() const;
+ void setRequired(bool);
+
+ virtual bool valueMissing() const { return false; }
+
virtual void recalcStyle(StyleChange);
virtual const AtomicString& formControlName() const;
@@ -98,8 +105,13 @@ public:
virtual bool willValidate() const;
+ virtual bool patternMismatch() const { return false; }
+
void formDestroyed() { m_form = 0; }
+ virtual void dispatchFocusEvent();
+ virtual void dispatchBlurEvent();
+
protected:
void removeFromForm();
@@ -107,6 +119,7 @@ private:
virtual HTMLFormElement* virtualForm() const;
HTMLFormElement* m_form;
+ RefPtr<ValidityState> m_validityState;
bool m_disabled;
bool m_readOnly;
bool m_valueMatchesRenderer;
diff --git a/src/3rdparty/webkit/WebCore/html/HTMLFormElement.cpp b/src/3rdparty/webkit/WebCore/html/HTMLFormElement.cpp
index 64cac37..54986b0 100644
--- a/src/3rdparty/webkit/WebCore/html/HTMLFormElement.cpp
+++ b/src/3rdparty/webkit/WebCore/html/HTMLFormElement.cpp
@@ -328,7 +328,7 @@ static void transferMailtoPostFormDataToURL(RefPtr<FormData>& data, KURL& url, c
url.setQuery(query);
}
-void HTMLFormElement::submit(Event* event, bool activateSubmitButton, bool lockHistory, bool lockBackForwardList)
+void HTMLFormElement::submit(Event* event, bool activateSubmitButton, bool lockHistory)
{
FrameView* view = document()->view();
Frame* frame = document()->frame();
@@ -389,14 +389,14 @@ void HTMLFormElement::submit(Event* event, bool activateSubmitButton, bool lockH
m_url = url.string();
}
- frame->loader()->submitForm("POST", m_url, data.release(), m_target, m_formDataBuilder.encodingType(), String(), lockHistory, lockBackForwardList, event, formState.release());
+ frame->loader()->submitForm("POST", m_url, data.release(), m_target, m_formDataBuilder.encodingType(), String(), lockHistory, event, formState.release());
} else {
Vector<char> boundary = m_formDataBuilder.generateUniqueBoundaryString();
- frame->loader()->submitForm("POST", m_url, createFormData(boundary.data()), m_target, m_formDataBuilder.encodingType(), boundary.data(), lockHistory, lockBackForwardList, event, formState.release());
+ frame->loader()->submitForm("POST", m_url, createFormData(boundary.data()), m_target, m_formDataBuilder.encodingType(), boundary.data(), lockHistory, event, formState.release());
}
} else {
m_formDataBuilder.setIsMultiPartForm(false);
- frame->loader()->submitForm("GET", m_url, createFormData(CString()), m_target, String(), String(), lockHistory, lockBackForwardList, event, formState.release());
+ frame->loader()->submitForm("GET", m_url, createFormData(CString()), m_target, String(), String(), lockHistory, event, formState.release());
}
if (needButtonActivation && firstSuccessfulSubmitButton)
@@ -415,7 +415,7 @@ void HTMLFormElement::reset()
// ### DOM2 labels this event as not cancelable, however
// common browsers( sick! ) allow it be cancelled.
- if ( !dispatchEvent(eventNames().resetEvent,true, true) ) {
+ if ( !dispatchEvent(eventNames().resetEvent, true, true) ) {
m_inreset = false;
return;
}
@@ -429,7 +429,7 @@ void HTMLFormElement::reset()
void HTMLFormElement::parseMappedAttribute(MappedAttribute* attr)
{
if (attr->name() == actionAttr)
- m_url = parseURL(attr->value());
+ m_url = deprecatedParseURL(attr->value());
else if (attr->name() == targetAttr)
m_target = attr->value();
else if (attr->name() == methodAttr)
diff --git a/src/3rdparty/webkit/WebCore/html/HTMLFormElement.h b/src/3rdparty/webkit/WebCore/html/HTMLFormElement.h
index d08e16c..6b7812a 100644
--- a/src/3rdparty/webkit/WebCore/html/HTMLFormElement.h
+++ b/src/3rdparty/webkit/WebCore/html/HTMLFormElement.h
@@ -78,7 +78,7 @@ public:
void removeImgElement(HTMLImageElement*);
bool prepareSubmit(Event*);
- void submit(Event* = 0, bool activateSubmitButton = false, bool lockHistory = false, bool lockBackForwardList = false);
+ void submit(Event* = 0, bool activateSubmitButton = false, bool lockHistory = false);
void reset();
// Used to indicate a malformed state to keep from applying the bottom margin of the form.
diff --git a/src/3rdparty/webkit/WebCore/html/HTMLFrameElementBase.cpp b/src/3rdparty/webkit/WebCore/html/HTMLFrameElementBase.cpp
index 1e09595..7ae8f59 100644
--- a/src/3rdparty/webkit/WebCore/html/HTMLFrameElementBase.cpp
+++ b/src/3rdparty/webkit/WebCore/html/HTMLFrameElementBase.cpp
@@ -111,7 +111,7 @@ void HTMLFrameElementBase::openURL()
void HTMLFrameElementBase::parseMappedAttribute(MappedAttribute *attr)
{
if (attr->name() == srcAttr)
- setLocation(parseURL(attr->value()));
+ setLocation(deprecatedParseURL(attr->value()));
else if (attr->name() == idAttr) {
// Important to call through to base for the id attribute so the hasID bit gets set.
HTMLFrameOwnerElement::parseMappedAttribute(attr);
diff --git a/src/3rdparty/webkit/WebCore/html/HTMLHRElement.cpp b/src/3rdparty/webkit/WebCore/html/HTMLHRElement.cpp
index d6cc58e..6858f56 100644
--- a/src/3rdparty/webkit/WebCore/html/HTMLHRElement.cpp
+++ b/src/3rdparty/webkit/WebCore/html/HTMLHRElement.cpp
@@ -71,7 +71,7 @@ void HTMLHRElement::parseMappedAttribute(MappedAttribute *attr)
} else if (attr->name() == widthAttr) {
bool ok;
int v = attr->value().toInt(&ok);
- if(ok && !v)
+ if (ok && !v)
addCSSLength(attr, CSSPropertyWidth, "1");
else
addCSSLength(attr, CSSPropertyWidth, attr->value());
diff --git a/src/3rdparty/webkit/WebCore/html/HTMLHeadElement.h b/src/3rdparty/webkit/WebCore/html/HTMLHeadElement.h
index 2f01ef2..21d8a2f 100644
--- a/src/3rdparty/webkit/WebCore/html/HTMLHeadElement.h
+++ b/src/3rdparty/webkit/WebCore/html/HTMLHeadElement.h
@@ -30,8 +30,7 @@
namespace WebCore {
-class HTMLHeadElement : public HTMLElement
-{
+class HTMLHeadElement : public HTMLElement {
public:
HTMLHeadElement(const QualifiedName&, Document*);
~HTMLHeadElement();
diff --git a/src/3rdparty/webkit/WebCore/html/HTMLHtmlElement.h b/src/3rdparty/webkit/WebCore/html/HTMLHtmlElement.h
index 91a0045..86603b5 100644
--- a/src/3rdparty/webkit/WebCore/html/HTMLHtmlElement.h
+++ b/src/3rdparty/webkit/WebCore/html/HTMLHtmlElement.h
@@ -30,8 +30,7 @@
namespace WebCore {
-class HTMLHtmlElement : public HTMLElement
-{
+class HTMLHtmlElement : public HTMLElement {
public:
HTMLHtmlElement(const QualifiedName&, Document*);
~HTMLHtmlElement();
diff --git a/src/3rdparty/webkit/WebCore/html/HTMLImageElement.cpp b/src/3rdparty/webkit/WebCore/html/HTMLImageElement.cpp
index c4bf5dc..5173964 100644
--- a/src/3rdparty/webkit/WebCore/html/HTMLImageElement.cpp
+++ b/src/3rdparty/webkit/WebCore/html/HTMLImageElement.cpp
@@ -110,7 +110,7 @@ void HTMLImageElement::parseMappedAttribute(MappedAttribute* attr)
if (attr->value().string()[0] == '#')
usemap = attr->value();
else
- usemap = document()->completeURL(parseURL(attr->value())).string();
+ usemap = document()->completeURL(deprecatedParseURL(attr->value())).string();
setIsLink(!attr->isNull());
} else if (attrName == ismapAttr)
ismap = true;
@@ -319,6 +319,12 @@ void HTMLImageElement::setBorder(const String& value)
setAttribute(borderAttr, value);
}
+bool HTMLImageElement::draggable() const
+{
+ // Image elements are draggable by default.
+ return !equalIgnoringCase(getAttribute(draggableAttr), "false");
+}
+
void HTMLImageElement::setHeight(int value)
{
setAttribute(heightAttr, String::number(value));
diff --git a/src/3rdparty/webkit/WebCore/html/HTMLImageElement.h b/src/3rdparty/webkit/WebCore/html/HTMLImageElement.h
index 25cbb55..5e82186 100644
--- a/src/3rdparty/webkit/WebCore/html/HTMLImageElement.h
+++ b/src/3rdparty/webkit/WebCore/html/HTMLImageElement.h
@@ -67,7 +67,7 @@ public:
CachedImage* cachedImage() const { return m_imageLoader.image(); }
void setCachedImage(CachedImage* i) { m_imageLoader.setImage(i); };
- void setLoadManually (bool loadManually) { m_imageLoader.setLoadManually(loadManually); }
+ void setLoadManually(bool loadManually) { m_imageLoader.setLoadManually(loadManually); }
String name() const;
void setName(const String&);
@@ -81,6 +81,8 @@ public:
String border() const;
void setBorder(const String&);
+ virtual bool draggable() const;
+
void setHeight(int);
int hspace() const;
diff --git a/src/3rdparty/webkit/WebCore/html/HTMLImageLoader.cpp b/src/3rdparty/webkit/WebCore/html/HTMLImageLoader.cpp
index ea53d7e..2b9f09c 100644
--- a/src/3rdparty/webkit/WebCore/html/HTMLImageLoader.cpp
+++ b/src/3rdparty/webkit/WebCore/html/HTMLImageLoader.cpp
@@ -50,7 +50,7 @@ void HTMLImageLoader::dispatchLoadEvent()
String HTMLImageLoader::sourceURI(const AtomicString& attr) const
{
- return parseURL(attr);
+ return deprecatedParseURL(attr);
}
void HTMLImageLoader::notifyFinished(CachedResource*)
diff --git a/src/3rdparty/webkit/WebCore/html/HTMLInputElement.cpp b/src/3rdparty/webkit/WebCore/html/HTMLInputElement.cpp
index ae7e768..f35292f 100644
--- a/src/3rdparty/webkit/WebCore/html/HTMLInputElement.cpp
+++ b/src/3rdparty/webkit/WebCore/html/HTMLInputElement.cpp
@@ -47,6 +47,7 @@
#include "MappedAttribute.h"
#include "MouseEvent.h"
#include "Page.h"
+#include "RegularExpression.h"
#include "RenderButton.h"
#include "RenderFileUploadControl.h"
#include "RenderImage.h"
@@ -114,6 +115,79 @@ bool HTMLInputElement::autoComplete() const
return true;
}
+bool HTMLInputElement::valueMissing() const
+{
+ if (!isRequiredFormControl() || readOnly() || disabled())
+ return false;
+
+ switch (inputType()) {
+ case TEXT:
+ case SEARCH:
+ case URL:
+ case TELEPHONE:
+ case EMAIL:
+ case PASSWORD:
+ case NUMBER:
+ case FILE:
+ return value().isEmpty();
+ case CHECKBOX:
+ return !checked();
+ case RADIO:
+ return !document()->checkedRadioButtons().checkedButtonForGroup(name());
+ case HIDDEN:
+ case RANGE:
+ case SUBMIT:
+ case IMAGE:
+ case RESET:
+ case BUTTON:
+ case ISINDEX:
+ break;
+ }
+
+ ASSERT_NOT_REACHED();
+ return false;
+}
+
+bool HTMLInputElement::patternMismatch() const
+{
+ switch (inputType()) {
+ case ISINDEX:
+ case CHECKBOX:
+ case RADIO:
+ case SUBMIT:
+ case RESET:
+ case FILE:
+ case HIDDEN:
+ case IMAGE:
+ case BUTTON:
+ case RANGE:
+ case NUMBER:
+ return false;
+ case TEXT:
+ case SEARCH:
+ case URL:
+ case TELEPHONE:
+ case EMAIL:
+ case PASSWORD:
+ const AtomicString& pattern = getAttribute(patternAttr);
+ String value = this->value();
+
+ // Empty values can't be mismatched
+ if (pattern.isEmpty() || value.isEmpty())
+ return false;
+
+ RegularExpression patternRegExp(pattern, TextCaseSensitive);
+ int matchLength = 0;
+ int valueLength = value.length();
+ int matchOffset = patternRegExp.match(value, 0, &matchLength);
+
+ return matchOffset != 0 || matchLength != valueLength;
+ }
+
+ ASSERT_NOT_REACHED();
+ return false;
+}
+
static inline CheckedRadioButtons& checkedRadioButtons(const HTMLInputElement *element)
{
if (HTMLFormElement* form = element->form())
@@ -478,31 +552,34 @@ int HTMLInputElement::selectionEnd() const
return toRenderTextControl(renderer())->selectionEnd();
}
+static bool isTextFieldWithRenderer(HTMLInputElement* element)
+{
+ if (!element->isTextField())
+ return false;
+
+ element->document()->updateLayoutIgnorePendingStylesheets();
+ if (!element->renderer())
+ return false;
+
+ return true;
+}
+
void HTMLInputElement::setSelectionStart(int start)
{
- if (!isTextField())
- return;
- if (!renderer())
- return;
- toRenderTextControl(renderer())->setSelectionStart(start);
+ if (isTextFieldWithRenderer(this))
+ toRenderTextControl(renderer())->setSelectionStart(start);
}
void HTMLInputElement::setSelectionEnd(int end)
{
- if (!isTextField())
- return;
- if (!renderer())
- return;
- toRenderTextControl(renderer())->setSelectionEnd(end);
+ if (isTextFieldWithRenderer(this))
+ toRenderTextControl(renderer())->setSelectionEnd(end);
}
void HTMLInputElement::select()
{
- if (!isTextField())
- return;
- if (!renderer())
- return;
- toRenderTextControl(renderer())->select();
+ if (isTextFieldWithRenderer(this))
+ toRenderTextControl(renderer())->select();
}
void HTMLInputElement::setSelectionRange(int start, int end)
@@ -838,13 +915,25 @@ bool HTMLInputElement::appendFormData(FormDataList& encoding, bool multipart)
break;
case FILE: {
- // Can't submit file on GET.
- if (!multipart)
- return false;
+ unsigned numFiles = m_fileList->length();
+ if (!multipart) {
+ // Send only the basenames.
+ // 4.10.16.4 and 4.10.16.6 sections in HTML5.
+
+ // Unlike the multipart case, we have no special
+ // handling for the empty fileList because Netscape
+ // doesn't support for non-multipart submission of
+ // file inputs, and Firefox doesn't add "name=" query
+ // parameter.
+
+ for (unsigned i = 0; i < numFiles; ++i) {
+ encoding.appendData(name(), m_fileList->item(i)->fileName());
+ }
+ return true;
+ }
// If no filename at all is entered, return successful but empty.
// Null would be more logical, but Netscape posts an empty file. Argh.
- unsigned numFiles = m_fileList->length();
if (!numFiles) {
encoding.appendFile(name(), File::create(""));
return true;
@@ -1567,6 +1656,37 @@ void HTMLInputElement::unregisterForActivationCallbackIfNeeded()
document()->unregisterForDocumentActivationCallbacks(this);
}
+bool HTMLInputElement::isRequiredFormControl() const
+{
+ if (!required())
+ return false;
+
+ switch (inputType()) {
+ case TEXT:
+ case SEARCH:
+ case URL:
+ case TELEPHONE:
+ case EMAIL:
+ case PASSWORD:
+ case NUMBER:
+ case CHECKBOX:
+ case RADIO:
+ case FILE:
+ return true;
+ case HIDDEN:
+ case RANGE:
+ case SUBMIT:
+ case IMAGE:
+ case RESET:
+ case BUTTON:
+ case ISINDEX:
+ return false;
+ }
+
+ ASSERT_NOT_REACHED();
+ return false;
+}
+
void HTMLInputElement::cacheSelection(int start, int end)
{
m_data.setCachedSelectionStart(start);
@@ -1590,9 +1710,9 @@ void HTMLInputElement::onSearch()
VisibleSelection HTMLInputElement::selection() const
{
- if (!renderer() || !isTextField() || m_data.cachedSelectionStart() == -1 || m_data.cachedSelectionEnd() == -1)
+ if (!renderer() || !isTextField() || m_data.cachedSelectionStart() == -1 || m_data.cachedSelectionEnd() == -1)
return VisibleSelection();
- return toRenderTextControl(renderer())->selection(m_data.cachedSelectionStart(), m_data.cachedSelectionEnd());
+ return toRenderTextControl(renderer())->selection(m_data.cachedSelectionStart(), m_data.cachedSelectionEnd());
}
void HTMLInputElement::documentDidBecomeActive()
diff --git a/src/3rdparty/webkit/WebCore/html/HTMLInputElement.h b/src/3rdparty/webkit/WebCore/html/HTMLInputElement.h
index be2b4f4..4d887f3 100644
--- a/src/3rdparty/webkit/WebCore/html/HTMLInputElement.h
+++ b/src/3rdparty/webkit/WebCore/html/HTMLInputElement.h
@@ -90,6 +90,9 @@ public:
virtual bool isTextFormControl() const { return isTextField(); }
+ virtual bool valueMissing() const;
+ virtual bool patternMismatch() const;
+
bool isTextButton() const { return m_type == SUBMIT || m_type == RESET || m_type == BUTTON; }
virtual bool isRadioButton() const { return m_type == RADIO; }
virtual bool isTextField() const { return m_type == TEXT || m_type == PASSWORD || m_type == SEARCH || m_type == ISINDEX || m_type == EMAIL || m_type == NUMBER || m_type == TELEPHONE || m_type == URL; }
@@ -237,6 +240,9 @@ private:
void registerForActivationCallbackIfNeeded();
void unregisterForActivationCallbackIfNeeded();
+ virtual bool isOptionalFormControl() const { return !isRequiredFormControl(); }
+ virtual bool isRequiredFormControl() const;
+
InputElementData m_data;
int m_xPos;
int m_yPos;
diff --git a/src/3rdparty/webkit/WebCore/html/HTMLInputElement.idl b/src/3rdparty/webkit/WebCore/html/HTMLInputElement.idl
index 5536733..e19b30e 100644
--- a/src/3rdparty/webkit/WebCore/html/HTMLInputElement.idl
+++ b/src/3rdparty/webkit/WebCore/html/HTMLInputElement.idl
@@ -28,6 +28,9 @@ module html {
attribute [ConvertNullToNullString] DOMString defaultValue;
attribute boolean defaultChecked;
readonly attribute HTMLFormElement form;
+#if !defined(LANGUAGE_COM) || !LANGUAGE_COM
+ readonly attribute ValidityState validity;
+#endif
attribute [ConvertNullToNullString] DOMString accept;
attribute [ConvertNullToNullString] DOMString accessKey;
attribute [ConvertNullToNullString] DOMString align;
@@ -38,8 +41,10 @@ module html {
attribute long maxLength;
attribute boolean multiple;
attribute [ConvertNullToNullString] DOMString name;
+ attribute [Reflect] DOMString pattern;
attribute DOMString placeholder;
attribute boolean readOnly;
+ attribute boolean required;
#if defined(LANGUAGE_OBJECTIVE_C) && LANGUAGE_OBJECTIVE_C
attribute [ConvertToString] DOMString size; // DOM level 2 changed this to a long, but our existing API is a string
#else
@@ -69,7 +74,7 @@ module html {
readonly attribute URL absoluteImageURL;
#endif
-#if !defined(LANGUAGE_COM)
+#if !defined(LANGUAGE_COM) || !LANGUAGE_COM
readonly attribute FileList files;
#endif
};
diff --git a/src/3rdparty/webkit/WebCore/html/HTMLIsIndexElement.h b/src/3rdparty/webkit/WebCore/html/HTMLIsIndexElement.h
index 82042cf..a1462b8 100644
--- a/src/3rdparty/webkit/WebCore/html/HTMLIsIndexElement.h
+++ b/src/3rdparty/webkit/WebCore/html/HTMLIsIndexElement.h
@@ -27,8 +27,7 @@
namespace WebCore {
-class HTMLIsIndexElement : public HTMLInputElement
-{
+class HTMLIsIndexElement : public HTMLInputElement {
public:
HTMLIsIndexElement(const QualifiedName&, Document *doc, HTMLFormElement *f = 0);
diff --git a/src/3rdparty/webkit/WebCore/html/HTMLLinkElement.cpp b/src/3rdparty/webkit/WebCore/html/HTMLLinkElement.cpp
index cb8f36c..8705521 100644
--- a/src/3rdparty/webkit/WebCore/html/HTMLLinkElement.cpp
+++ b/src/3rdparty/webkit/WebCore/html/HTMLLinkElement.cpp
@@ -116,7 +116,7 @@ void HTMLLinkElement::parseMappedAttribute(MappedAttribute *attr)
tokenizeRelAttribute(attr->value(), m_isStyleSheet, m_alternate, m_isIcon, m_isDNSPrefetch);
process();
} else if (attr->name() == hrefAttr) {
- m_url = document()->completeURL(parseURL(attr->value()));
+ m_url = document()->completeURL(deprecatedParseURL(attr->value()));
process();
} else if (attr->name() == typeAttr) {
m_type = attr->value();
@@ -181,9 +181,11 @@ void HTMLLinkElement::process()
if (m_isDNSPrefetch && m_url.isValid() && !m_url.isEmpty())
prefetchDNS(m_url.host());
+ bool acceptIfTypeContainsTextCSS = document()->page() && document()->page()->settings() && document()->page()->settings()->treatsAnyTextCSSLinkAsStylesheet();
+
// Stylesheet
// This was buggy and would incorrectly match <link rel="alternate">, which has a different specified meaning. -dwh
- if (m_disabledState != 2 && m_isStyleSheet && document()->frame() && m_url.isValid()) {
+ if (m_disabledState != 2 && (m_isStyleSheet || acceptIfTypeContainsTextCSS && type.contains("text/css")) && document()->frame() && m_url.isValid()) {
// also, don't load style sheets for standalone documents
// Add ourselves as a pending sheet, but only if we aren't an alternate
// stylesheet. Alternate stylesheets don't hold up render tree construction.
diff --git a/src/3rdparty/webkit/WebCore/html/HTMLMarqueeElement.cpp b/src/3rdparty/webkit/WebCore/html/HTMLMarqueeElement.cpp
index d62eaab..0cb6501 100644
--- a/src/3rdparty/webkit/WebCore/html/HTMLMarqueeElement.cpp
+++ b/src/3rdparty/webkit/WebCore/html/HTMLMarqueeElement.cpp
@@ -34,7 +34,7 @@ namespace WebCore {
using namespace HTMLNames;
- // WinIE uses 60ms as the minimum delay by default.
+// WinIE uses 60ms as the minimum delay by default.
const int defaultMinimumDelay = 60;
HTMLMarqueeElement::HTMLMarqueeElement(const QualifiedName& tagName, Document* doc)
diff --git a/src/3rdparty/webkit/WebCore/html/HTMLMediaElement.cpp b/src/3rdparty/webkit/WebCore/html/HTMLMediaElement.cpp
index 3d48b82..7cda3fb 100644
--- a/src/3rdparty/webkit/WebCore/html/HTMLMediaElement.cpp
+++ b/src/3rdparty/webkit/WebCore/html/HTMLMediaElement.cpp
@@ -391,7 +391,7 @@ String HTMLMediaElement::canPlayType(const String& mimeType) const
switch (support)
{
case MediaPlayer::IsNotSupported:
- canPlay = "no";
+ canPlay = "";
break;
case MediaPlayer::MayBeSupported:
canPlay = "maybe";
@@ -690,7 +690,6 @@ void HTMLMediaElement::setNetworkState(MediaPlayer::NetworkState state)
}
if (state == MediaPlayer::Idle) {
- ASSERT(static_cast<ReadyState>(m_player->readyState()) < HAVE_ENOUGH_DATA);
if (m_networkState > NETWORK_IDLE) {
stopPeriodicTimers();
scheduleProgressEvent(eventNames().suspendEvent);
@@ -752,7 +751,6 @@ void HTMLMediaElement::setReadyState(MediaPlayer::ReadyState state)
if (m_seeking && m_readyState < HAVE_CURRENT_DATA) {
// 4.8.10.10, step 9
scheduleEvent(eventNames().seekingEvent);
- m_seeking = false;
}
if (wasPotentiallyPlaying && m_readyState < HAVE_FUTURE_DATA) {
@@ -839,6 +837,23 @@ void HTMLMediaElement::progressEventTimerFired(Timer<HTMLMediaElement>*)
}
}
+void HTMLMediaElement::rewind(float timeDelta)
+{
+ ExceptionCode e;
+ setCurrentTime(max(currentTime() - timeDelta, minTimeSeekable()), e);
+}
+
+void HTMLMediaElement::returnToRealtime()
+{
+ ExceptionCode e;
+ setCurrentTime(maxTimeSeekable(), e);
+}
+
+bool HTMLMediaElement::supportsSave() const
+{
+ return m_player ? m_player->supportsSave() : false;
+}
+
void HTMLMediaElement::seek(float time, ExceptionCode& ec)
{
// 4.8.10.10. Seeking
@@ -891,6 +906,11 @@ HTMLMediaElement::ReadyState HTMLMediaElement::readyState() const
return m_readyState;
}
+MediaPlayer::MovieLoadType HTMLMediaElement::movieLoadType() const
+{
+ return m_player ? m_player->movieLoadType() : MediaPlayer::Unknown;
+}
+
bool HTMLMediaElement::seeking() const
{
return m_seeking;
@@ -1408,9 +1428,9 @@ PassRefPtr<TimeRanges> HTMLMediaElement::played() const
PassRefPtr<TimeRanges> HTMLMediaElement::seekable() const
{
// FIXME real ranges support
- if (!m_player || !m_player->maxTimeSeekable())
+ if (!maxTimeSeekable())
return TimeRanges::create();
- return TimeRanges::create(0, m_player->maxTimeSeekable());
+ return TimeRanges::create(minTimeSeekable(), maxTimeSeekable());
}
bool HTMLMediaElement::potentiallyPlaying() const
@@ -1444,6 +1464,16 @@ bool HTMLMediaElement::pausedForUserInteraction() const
return false;
}
+float HTMLMediaElement::minTimeSeekable() const
+{
+ return 0;
+}
+
+float HTMLMediaElement::maxTimeSeekable() const
+{
+ return m_player ? m_player->maxTimeSeekable() : 0;
+}
+
void HTMLMediaElement::updateVolume()
{
if (!m_player)
@@ -1603,7 +1633,7 @@ bool HTMLMediaElement::processingUserGesture() const
FrameLoader* loader = frame ? frame->loader() : 0;
// return 'true' for safety if we don't know the answer
- return loader ? loader->userGestureHint() : true;
+ return loader ? loader->isProcessingUserGesture() : true;
}
#if ENABLE(PLUGIN_PROXY_FOR_VIDEO)
diff --git a/src/3rdparty/webkit/WebCore/html/HTMLMediaElement.h b/src/3rdparty/webkit/WebCore/html/HTMLMediaElement.h
index 8d238d5..27b48ea 100644
--- a/src/3rdparty/webkit/WebCore/html/HTMLMediaElement.h
+++ b/src/3rdparty/webkit/WebCore/html/HTMLMediaElement.h
@@ -66,7 +66,12 @@ public:
virtual bool isVideo() const { return false; }
virtual bool hasVideo() const { return false; }
- virtual bool supportsFullscreen() const { return false; }
+ void rewind(float timeDelta);
+ void returnToRealtime();
+
+ // Eventually overloaded in HTMLVideoElement
+ virtual bool supportsFullscreen() const { return false; };
+ virtual bool supportsSave() const;
void scheduleLoad();
@@ -75,6 +80,8 @@ public:
// Pauses playback without changing any states or generating events
void setPausedInternal(bool);
+ MediaPlayer::MovieLoadType movieLoadType() const;
+
bool inActiveDocument() const { return m_inActiveDocument; }
// DOM API
@@ -221,10 +228,12 @@ private:
bool stoppedDueToErrors() const;
bool pausedForUserInteraction() const;
+ float minTimeSeekable() const;
+ float maxTimeSeekable() const;
+
// Restrictions to change default behaviors. This is a effectively a compile time choice at the moment
// because there are no accessor methods.
- enum BehaviorRestrictions
- {
+ enum BehaviorRestrictions {
NoRestrictions = 0,
RequireUserGestureForLoadRestriction = 1 << 0,
RequireUserGestureForRateChangeRestriction = 1 << 1,
diff --git a/src/3rdparty/webkit/WebCore/html/HTMLMenuElement.h b/src/3rdparty/webkit/WebCore/html/HTMLMenuElement.h
index 0f4488d..68b5b8f 100644
--- a/src/3rdparty/webkit/WebCore/html/HTMLMenuElement.h
+++ b/src/3rdparty/webkit/WebCore/html/HTMLMenuElement.h
@@ -26,8 +26,7 @@
namespace WebCore {
-class HTMLMenuElement : public HTMLElement
-{
+class HTMLMenuElement : public HTMLElement {
public:
HTMLMenuElement(const QualifiedName&, Document*);
diff --git a/src/3rdparty/webkit/WebCore/html/HTMLMetaElement.h b/src/3rdparty/webkit/WebCore/html/HTMLMetaElement.h
index f535293..d86df2e 100644
--- a/src/3rdparty/webkit/WebCore/html/HTMLMetaElement.h
+++ b/src/3rdparty/webkit/WebCore/html/HTMLMetaElement.h
@@ -28,8 +28,7 @@
namespace WebCore {
-class HTMLMetaElement : public HTMLElement
-{
+class HTMLMetaElement : public HTMLElement {
public:
HTMLMetaElement(const QualifiedName&, Document*);
~HTMLMetaElement();
diff --git a/src/3rdparty/webkit/WebCore/html/HTMLModElement.h b/src/3rdparty/webkit/WebCore/html/HTMLModElement.h
index 399053c..83697f9 100644
--- a/src/3rdparty/webkit/WebCore/html/HTMLModElement.h
+++ b/src/3rdparty/webkit/WebCore/html/HTMLModElement.h
@@ -30,8 +30,7 @@ namespace WebCore {
class String;
-class HTMLModElement : public HTMLElement
-{
+class HTMLModElement : public HTMLElement {
public:
HTMLModElement(const QualifiedName&, Document*);
diff --git a/src/3rdparty/webkit/WebCore/html/HTMLOListElement.h b/src/3rdparty/webkit/WebCore/html/HTMLOListElement.h
index e459269..b7a13ee 100644
--- a/src/3rdparty/webkit/WebCore/html/HTMLOListElement.h
+++ b/src/3rdparty/webkit/WebCore/html/HTMLOListElement.h
@@ -26,8 +26,7 @@
namespace WebCore {
-class HTMLOListElement : public HTMLElement
-{
+class HTMLOListElement : public HTMLElement {
public:
HTMLOListElement(const QualifiedName&, Document*);
diff --git a/src/3rdparty/webkit/WebCore/html/HTMLObjectElement.cpp b/src/3rdparty/webkit/WebCore/html/HTMLObjectElement.cpp
index 6be41c9..16e9a84 100644
--- a/src/3rdparty/webkit/WebCore/html/HTMLObjectElement.cpp
+++ b/src/3rdparty/webkit/WebCore/html/HTMLObjectElement.cpp
@@ -82,7 +82,7 @@ void HTMLObjectElement::parseMappedAttribute(MappedAttribute *attr)
if (!isImageType() && m_imageLoader)
m_imageLoader.clear();
} else if (attr->name() == dataAttr) {
- m_url = parseURL(val);
+ m_url = deprecatedParseURL(val);
if (renderer())
m_needWidgetUpdate = true;
if (renderer() && isImageType()) {
diff --git a/src/3rdparty/webkit/WebCore/html/HTMLOptionElement.cpp b/src/3rdparty/webkit/WebCore/html/HTMLOptionElement.cpp
index 1d446f7..8cb95d0 100644
--- a/src/3rdparty/webkit/WebCore/html/HTMLOptionElement.cpp
+++ b/src/3rdparty/webkit/WebCore/html/HTMLOptionElement.cpp
@@ -152,10 +152,10 @@ void HTMLOptionElement::setSelectedState(bool selected)
void HTMLOptionElement::childrenChanged(bool changedByParser, Node* beforeChange, Node* afterChange, int childCountDelta)
{
- HTMLSelectElement* select = ownerSelectElement();
- if (select)
- select->childrenChanged(changedByParser);
- HTMLFormControlElement::childrenChanged(changedByParser, beforeChange, afterChange, childCountDelta);
+ HTMLSelectElement* select = ownerSelectElement();
+ if (select)
+ select->childrenChanged(changedByParser);
+ HTMLFormControlElement::childrenChanged(changedByParser, beforeChange, afterChange, childCountDelta);
}
HTMLSelectElement* HTMLOptionElement::ownerSelectElement() const
diff --git a/src/3rdparty/webkit/WebCore/html/HTMLParamElement.h b/src/3rdparty/webkit/WebCore/html/HTMLParamElement.h
index 4da2ed3..1867ccf 100644
--- a/src/3rdparty/webkit/WebCore/html/HTMLParamElement.h
+++ b/src/3rdparty/webkit/WebCore/html/HTMLParamElement.h
@@ -27,8 +27,7 @@
namespace WebCore {
-class HTMLParamElement : public HTMLElement
-{
+class HTMLParamElement : public HTMLElement {
friend class HTMLAppletElement;
public:
HTMLParamElement(const QualifiedName&, Document*);
diff --git a/src/3rdparty/webkit/WebCore/html/HTMLParser.cpp b/src/3rdparty/webkit/WebCore/html/HTMLParser.cpp
index ea6bbe2..722f4e2 100644
--- a/src/3rdparty/webkit/WebCore/html/HTMLParser.cpp
+++ b/src/3rdparty/webkit/WebCore/html/HTMLParser.cpp
@@ -793,6 +793,20 @@ bool HTMLParser::dtCreateErrorCheck(Token* t, RefPtr<Node>& result)
return true;
}
+bool HTMLParser::rpCreateErrorCheck(Token*, RefPtr<Node>&)
+{
+ popBlock(rpTag);
+ popBlock(rtTag);
+ return true;
+}
+
+bool HTMLParser::rtCreateErrorCheck(Token*, RefPtr<Node>&)
+{
+ popBlock(rpTag);
+ popBlock(rtTag);
+ return true;
+}
+
bool HTMLParser::nestedCreateErrorCheck(Token* t, RefPtr<Node>&)
{
popBlock(t->tagName);
@@ -917,6 +931,8 @@ PassRefPtr<Node> HTMLParser::getNode(Token* t)
gFunctionMap.set(pTag.localName().impl(), &HTMLParser::pCloserCreateErrorCheck);
gFunctionMap.set(plaintextTag.localName().impl(), &HTMLParser::pCloserCreateErrorCheck);
gFunctionMap.set(preTag.localName().impl(), &HTMLParser::pCloserCreateErrorCheck);
+ gFunctionMap.set(rpTag.localName().impl(), &HTMLParser::rpCreateErrorCheck);
+ gFunctionMap.set(rtTag.localName().impl(), &HTMLParser::rtCreateErrorCheck);
gFunctionMap.set(sTag.localName().impl(), &HTMLParser::nestedStyleCreateErrorCheck);
gFunctionMap.set(selectTag.localName().impl(), &HTMLParser::selectCreateErrorCheck);
gFunctionMap.set(smallTag.localName().impl(), &HTMLParser::nestedStyleCreateErrorCheck);
@@ -1656,7 +1672,7 @@ void HTMLParser::reportErrorToConsole(HTMLParserErrorCode errorCode, const Atomi
message.replace("%tag1", tag1);
message.replace("%tag2", tag2);
- frame->domWindow()->console()->addMessage(HTMLMessageSource,
+ frame->domWindow()->console()->addMessage(HTMLMessageSource, LogMessageType,
isWarning(errorCode) ? WarningMessageLevel : ErrorMessageLevel,
message, lineNumber, m_document->url().string());
}
diff --git a/src/3rdparty/webkit/WebCore/html/HTMLParser.h b/src/3rdparty/webkit/WebCore/html/HTMLParser.h
index 19f553e..0945826 100644
--- a/src/3rdparty/webkit/WebCore/html/HTMLParser.h
+++ b/src/3rdparty/webkit/WebCore/html/HTMLParser.h
@@ -49,7 +49,7 @@ struct Token;
* The parser for HTML. It receives a stream of tokens from the HTMLTokenizer, and
* builds up the Document structure from it.
*/
-class HTMLParser : Noncopyable {
+class HTMLParser : public Noncopyable {
public:
HTMLParser(HTMLDocument*, bool reportErrors);
HTMLParser(DocumentFragment*);
@@ -102,6 +102,8 @@ private:
bool noscriptCreateErrorCheck(Token*, RefPtr<Node>&);
bool pCloserCreateErrorCheck(Token*, RefPtr<Node>&);
bool pCloserStrictCreateErrorCheck(Token*, RefPtr<Node>&);
+ bool rpCreateErrorCheck(Token*, RefPtr<Node>&);
+ bool rtCreateErrorCheck(Token*, RefPtr<Node>&);
bool selectCreateErrorCheck(Token*, RefPtr<Node>&);
bool tableCellCreateErrorCheck(Token*, RefPtr<Node>&);
bool tableSectionCreateErrorCheck(Token*, RefPtr<Node>&);
diff --git a/src/3rdparty/webkit/WebCore/html/HTMLParserQuirks.h b/src/3rdparty/webkit/WebCore/html/HTMLParserQuirks.h
index b5972a6..176bbfb 100644
--- a/src/3rdparty/webkit/WebCore/html/HTMLParserQuirks.h
+++ b/src/3rdparty/webkit/WebCore/html/HTMLParserQuirks.h
@@ -33,7 +33,7 @@ namespace WebCore {
class AtomicString;
class Node;
-class HTMLParserQuirks : Noncopyable {
+class HTMLParserQuirks : public Noncopyable {
public:
HTMLParserQuirks() { }
virtual ~HTMLParserQuirks() { }
diff --git a/src/3rdparty/webkit/WebCore/html/HTMLQuoteElement.h b/src/3rdparty/webkit/WebCore/html/HTMLQuoteElement.h
index 623c28f..addbfb4 100644
--- a/src/3rdparty/webkit/WebCore/html/HTMLQuoteElement.h
+++ b/src/3rdparty/webkit/WebCore/html/HTMLQuoteElement.h
@@ -28,8 +28,7 @@ namespace WebCore {
class String;
-class HTMLQuoteElement : public HTMLElement
-{
+class HTMLQuoteElement : public HTMLElement {
public:
HTMLQuoteElement(const QualifiedName&, Document*);
diff --git a/src/3rdparty/webkit/WebCore/html/HTMLSelectElement.cpp b/src/3rdparty/webkit/WebCore/html/HTMLSelectElement.cpp
index c47bb70..2409f31 100644
--- a/src/3rdparty/webkit/WebCore/html/HTMLSelectElement.cpp
+++ b/src/3rdparty/webkit/WebCore/html/HTMLSelectElement.cpp
@@ -106,13 +106,7 @@ int HTMLSelectElement::activeSelectionEndListIndex() const
unsigned HTMLSelectElement::length() const
{
- unsigned len = 0;
- const Vector<Element*>& items = listItems();
- for (unsigned i = 0; i < items.size(); ++i) {
- if (items[i]->hasLocalName(optionTag))
- ++len;
- }
- return len;
+ return SelectElement::optionCount(m_data, this);
}
void HTMLSelectElement::add(HTMLElement *element, HTMLElement *before, ExceptionCode& ec)
diff --git a/src/3rdparty/webkit/WebCore/html/HTMLSelectElement.h b/src/3rdparty/webkit/WebCore/html/HTMLSelectElement.h
index e523641..8f575d2 100644
--- a/src/3rdparty/webkit/WebCore/html/HTMLSelectElement.h
+++ b/src/3rdparty/webkit/WebCore/html/HTMLSelectElement.h
@@ -130,6 +130,8 @@ private:
virtual void insertedIntoTree(bool);
+ virtual bool isOptionalFormControl() const { return true; }
+
SelectElementData m_data;
CollectionCache m_collectionInfo;
};
diff --git a/src/3rdparty/webkit/WebCore/html/HTMLSelectElement.idl b/src/3rdparty/webkit/WebCore/html/HTMLSelectElement.idl
index fb08bb1..26f2653 100644
--- a/src/3rdparty/webkit/WebCore/html/HTMLSelectElement.idl
+++ b/src/3rdparty/webkit/WebCore/html/HTMLSelectElement.idl
@@ -41,6 +41,9 @@ module html {
#endif
readonly attribute HTMLFormElement form;
+#if !defined(LANGUAGE_COM) || !LANGUAGE_COM
+ readonly attribute ValidityState validity;
+#endif
readonly attribute boolean willValidate;
// Modified in DOM Level 2:
diff --git a/src/3rdparty/webkit/WebCore/html/HTMLStyleElement.h b/src/3rdparty/webkit/WebCore/html/HTMLStyleElement.h
index fe3adb0..03b4c66 100644
--- a/src/3rdparty/webkit/WebCore/html/HTMLStyleElement.h
+++ b/src/3rdparty/webkit/WebCore/html/HTMLStyleElement.h
@@ -28,8 +28,7 @@
namespace WebCore {
-class HTMLStyleElement : public HTMLElement, public StyleElement
-{
+class HTMLStyleElement : public HTMLElement, public StyleElement {
public:
HTMLStyleElement(const QualifiedName&, Document*, bool createdByParser);
diff --git a/src/3rdparty/webkit/WebCore/html/HTMLTableCaptionElement.h b/src/3rdparty/webkit/WebCore/html/HTMLTableCaptionElement.h
index 38bc434..3c2aaa1 100644
--- a/src/3rdparty/webkit/WebCore/html/HTMLTableCaptionElement.h
+++ b/src/3rdparty/webkit/WebCore/html/HTMLTableCaptionElement.h
@@ -30,8 +30,7 @@
namespace WebCore {
-class HTMLTableCaptionElement : public HTMLTablePartElement
-{
+class HTMLTableCaptionElement : public HTMLTablePartElement {
public:
HTMLTableCaptionElement(const QualifiedName&, Document*);
diff --git a/src/3rdparty/webkit/WebCore/html/HTMLTableCellElement.h b/src/3rdparty/webkit/WebCore/html/HTMLTableCellElement.h
index 7e26e94..fc74cae 100644
--- a/src/3rdparty/webkit/WebCore/html/HTMLTableCellElement.h
+++ b/src/3rdparty/webkit/WebCore/html/HTMLTableCellElement.h
@@ -32,8 +32,7 @@
namespace WebCore {
-class HTMLTableCellElement : public HTMLTablePartElement
-{
+class HTMLTableCellElement : public HTMLTablePartElement {
public:
HTMLTableCellElement(const QualifiedName&, Document*);
~HTMLTableCellElement();
diff --git a/src/3rdparty/webkit/WebCore/html/HTMLTableColElement.h b/src/3rdparty/webkit/WebCore/html/HTMLTableColElement.h
index 0bed401..83a26aa 100644
--- a/src/3rdparty/webkit/WebCore/html/HTMLTableColElement.h
+++ b/src/3rdparty/webkit/WebCore/html/HTMLTableColElement.h
@@ -34,8 +34,7 @@ namespace WebCore {
class HTMLTableElement;
-class HTMLTableColElement : public HTMLTablePartElement
-{
+class HTMLTableColElement : public HTMLTablePartElement {
public:
HTMLTableColElement(const QualifiedName& tagName, Document*);
diff --git a/src/3rdparty/webkit/WebCore/html/HTMLTableElement.cpp b/src/3rdparty/webkit/WebCore/html/HTMLTableElement.cpp
index e37c171..af35740 100644
--- a/src/3rdparty/webkit/WebCore/html/HTMLTableElement.cpp
+++ b/src/3rdparty/webkit/WebCore/html/HTMLTableElement.cpp
@@ -351,7 +351,7 @@ void HTMLTableElement::parseMappedAttribute(MappedAttribute* attr)
m_borderColorAttr = true;
}
} else if (attr->name() == backgroundAttr) {
- String url = parseURL(attr->value());
+ String url = deprecatedParseURL(attr->value());
if (!url.isEmpty())
addCSSImageProperty(attr, CSSPropertyBackgroundImage, document()->completeURL(url).string());
} else if (attr->name() == frameAttr) {
diff --git a/src/3rdparty/webkit/WebCore/html/HTMLTablePartElement.cpp b/src/3rdparty/webkit/WebCore/html/HTMLTablePartElement.cpp
index 19babf6..0f9a3e8 100644
--- a/src/3rdparty/webkit/WebCore/html/HTMLTablePartElement.cpp
+++ b/src/3rdparty/webkit/WebCore/html/HTMLTablePartElement.cpp
@@ -66,7 +66,7 @@ void HTMLTablePartElement::parseMappedAttribute(MappedAttribute *attr)
if (attr->name() == bgcolorAttr)
addCSSColor(attr, CSSPropertyBackgroundColor, attr->value());
else if (attr->name() == backgroundAttr) {
- String url = parseURL(attr->value());
+ String url = deprecatedParseURL(attr->value());
if (!url.isEmpty())
addCSSImageProperty(attr, CSSPropertyBackgroundImage, document()->completeURL(url).string());
} else if (attr->name() == bordercolorAttr) {
diff --git a/src/3rdparty/webkit/WebCore/html/HTMLTableSectionElement.cpp b/src/3rdparty/webkit/WebCore/html/HTMLTableSectionElement.cpp
index e91a96a..15fa97e 100644
--- a/src/3rdparty/webkit/WebCore/html/HTMLTableSectionElement.cpp
+++ b/src/3rdparty/webkit/WebCore/html/HTMLTableSectionElement.cpp
@@ -99,7 +99,7 @@ PassRefPtr<HTMLElement> HTMLTableSectionElement::insertRow(int index, ExceptionC
return r.release();
}
-void HTMLTableSectionElement::deleteRow( int index, ExceptionCode& ec)
+void HTMLTableSectionElement::deleteRow(int index, ExceptionCode& ec)
{
RefPtr<HTMLCollection> children = rows();
int numRows = children ? (int)children->length() : 0;
diff --git a/src/3rdparty/webkit/WebCore/html/HTMLTagNames.in b/src/3rdparty/webkit/WebCore/html/HTMLTagNames.in
index e6bbfc9..c066e3c 100644
--- a/src/3rdparty/webkit/WebCore/html/HTMLTagNames.in
+++ b/src/3rdparty/webkit/WebCore/html/HTMLTagNames.in
@@ -25,10 +25,10 @@ cite interfaceName=HTMLElement
code interfaceName=HTMLElement
col interfaceName=HTMLTableColElement
colgroup interfaceName=HTMLTableColElement
-datagrid interfaceName=HTMLDataGridElement
-dcell interfaceName=HTMLDataGridCellElement
-dcol interfaceName=HTMLDataGridColElement
-drow interfaceName=HTMLDataGridRowElement
+datagrid interfaceName=HTMLDataGridElement,conditional=DATAGRID
+dcell interfaceName=HTMLDataGridCellElement,conditional=DATAGRID
+dcol interfaceName=HTMLDataGridColElement,conditional=DATAGRID
+drow interfaceName=HTMLDataGridRowElement,conditional=DATAGRID
dd interfaceName=HTMLElement
del interfaceName=HTMLModElement
dfn interfaceName=HTMLElement
@@ -89,6 +89,9 @@ param
plaintext interfaceName=HTMLElement
pre
q interfaceName=HTMLQuoteElement
+rp interfaceName=HTMLElement
+rt interfaceName=HTMLElement
+ruby interfaceName=HTMLElement
s interfaceName=HTMLElement
samp interfaceName=HTMLElement
script constructorNeedsCreatedByParser
diff --git a/src/3rdparty/webkit/WebCore/html/HTMLTextAreaElement.cpp b/src/3rdparty/webkit/WebCore/html/HTMLTextAreaElement.cpp
index e19ac0a..6a1dcf8 100644
--- a/src/3rdparty/webkit/WebCore/html/HTMLTextAreaElement.cpp
+++ b/src/3rdparty/webkit/WebCore/html/HTMLTextAreaElement.cpp
@@ -27,6 +27,7 @@
#include "HTMLTextAreaElement.h"
#include "ChromeClient.h"
+#include "CSSValueKeywords.h"
#include "Document.h"
#include "Event.h"
#include "EventNames.h"
@@ -106,32 +107,34 @@ int HTMLTextAreaElement::selectionEnd()
return toRenderTextControl(renderer())->selectionEnd();
}
+static RenderTextControl* rendererAfterUpdateLayout(HTMLTextAreaElement* element)
+{
+ element->document()->updateLayoutIgnorePendingStylesheets();
+ return toRenderTextControl(element->renderer());
+}
+
void HTMLTextAreaElement::setSelectionStart(int start)
{
- if (!renderer())
- return;
- toRenderTextControl(renderer())->setSelectionStart(start);
+ if (RenderTextControl* renderer = rendererAfterUpdateLayout(this))
+ renderer->setSelectionStart(start);
}
void HTMLTextAreaElement::setSelectionEnd(int end)
{
- if (!renderer())
- return;
- toRenderTextControl(renderer())->setSelectionEnd(end);
+ if (RenderTextControl* renderer = rendererAfterUpdateLayout(this))
+ renderer->setSelectionEnd(end);
}
void HTMLTextAreaElement::select()
{
- if (!renderer())
- return;
- toRenderTextControl(renderer())->select();
+ if (RenderTextControl* renderer = rendererAfterUpdateLayout(this))
+ renderer->select();
}
void HTMLTextAreaElement::setSelectionRange(int start, int end)
{
- if (!renderer())
- return;
- toRenderTextControl(renderer())->setSelectionRange(start, end);
+ if (RenderTextControl* renderer = rendererAfterUpdateLayout(this))
+ renderer->setSelectionRange(start, end);
}
void HTMLTextAreaElement::childrenChanged(bool changedByParser, Node* beforeChange, Node* afterChange, int childCountDelta)
@@ -172,6 +175,15 @@ void HTMLTextAreaElement::parseMappedAttribute(MappedAttribute* attr)
wrap = SoftWrap;
if (wrap != m_wrap) {
m_wrap = wrap;
+
+ if (shouldWrapText()) {
+ addCSSProperty(attr, CSSPropertyWhiteSpace, CSSValuePreWrap);
+ addCSSProperty(attr, CSSPropertyWordWrap, CSSValueBreakWord);
+ } else {
+ addCSSProperty(attr, CSSPropertyWhiteSpace, CSSValuePre);
+ addCSSProperty(attr, CSSPropertyWordWrap, CSSValueNormal);
+ }
+
if (renderer())
renderer()->setNeedsLayoutAndPrefWidthsRecalc();
}
@@ -229,7 +241,8 @@ bool HTMLTextAreaElement::isMouseFocusable() const
void HTMLTextAreaElement::updateFocusAppearance(bool restorePreviousSelection)
{
ASSERT(renderer());
-
+ ASSERT(!document()->childNeedsAndNotInStyleRecalc());
+
if (!restorePreviousSelection || m_cachedSelectionStart < 0) {
#if ENABLE(ON_FIRST_TEXTAREA_FOCUS_SELECT_ALL)
// Devices with trackballs or d-pads may focus on a textarea in route
diff --git a/src/3rdparty/webkit/WebCore/html/HTMLTextAreaElement.h b/src/3rdparty/webkit/WebCore/html/HTMLTextAreaElement.h
index e22b5d5..5ef8e55 100644
--- a/src/3rdparty/webkit/WebCore/html/HTMLTextAreaElement.h
+++ b/src/3rdparty/webkit/WebCore/html/HTMLTextAreaElement.h
@@ -52,6 +52,8 @@ public:
virtual bool isTextFormControl() const { return true; }
+ virtual bool valueMissing() const { return isRequiredFormControl() && !disabled() && !readOnly() && value().isEmpty(); }
+
int selectionStart();
int selectionEnd();
@@ -96,6 +98,9 @@ private:
void updateValue() const;
+ virtual bool isOptionalFormControl() const { return !isRequiredFormControl(); }
+ virtual bool isRequiredFormControl() const { return required(); }
+
int m_rows;
int m_cols;
WrapMethod m_wrap;
diff --git a/src/3rdparty/webkit/WebCore/html/HTMLTextAreaElement.idl b/src/3rdparty/webkit/WebCore/html/HTMLTextAreaElement.idl
index c4f144b..ba8a062 100644
--- a/src/3rdparty/webkit/WebCore/html/HTMLTextAreaElement.idl
+++ b/src/3rdparty/webkit/WebCore/html/HTMLTextAreaElement.idl
@@ -27,12 +27,16 @@ module html {
] HTMLTextAreaElement : HTMLElement {
attribute [ConvertNullToNullString] DOMString defaultValue;
readonly attribute HTMLFormElement form;
+#if !defined(LANGUAGE_COM) || !LANGUAGE_COM
+ readonly attribute ValidityState validity;
+#endif
attribute [ConvertNullToNullString] DOMString accessKey;
attribute long cols;
attribute boolean disabled;
attribute boolean autofocus;
attribute [ConvertNullToNullString] DOMString name;
attribute boolean readOnly;
+ attribute boolean required;
attribute long rows;
readonly attribute DOMString type;
attribute [ConvertNullToNullString] DOMString value;
diff --git a/src/3rdparty/webkit/WebCore/html/HTMLTitleElement.h b/src/3rdparty/webkit/WebCore/html/HTMLTitleElement.h
index 2cbb667..5335d8d 100644
--- a/src/3rdparty/webkit/WebCore/html/HTMLTitleElement.h
+++ b/src/3rdparty/webkit/WebCore/html/HTMLTitleElement.h
@@ -28,8 +28,7 @@
namespace WebCore {
-class HTMLTitleElement : public HTMLElement
-{
+class HTMLTitleElement : public HTMLElement {
public:
HTMLTitleElement(const QualifiedName&, Document*);
~HTMLTitleElement();
diff --git a/src/3rdparty/webkit/WebCore/html/HTMLTokenizer.cpp b/src/3rdparty/webkit/WebCore/html/HTMLTokenizer.cpp
index 6966351..e4e46c5 100644
--- a/src/3rdparty/webkit/WebCore/html/HTMLTokenizer.cpp
+++ b/src/3rdparty/webkit/WebCore/html/HTMLTokenizer.cpp
@@ -321,7 +321,7 @@ HTMLTokenizer::State HTMLTokenizer::parseNonHTMLText(SegmentedString& src, State
{
ASSERT(state.inTextArea() || state.inTitle() || state.inIFrame() || !state.hasEntityState());
ASSERT(!state.hasTagState());
- ASSERT(state.inXmp() + state.inTextArea() + state.inTitle() + state.inStyle() + state.inScript() + state.inIFrame() == 1 );
+ ASSERT(state.inXmp() + state.inTextArea() + state.inTitle() + state.inStyle() + state.inScript() + state.inIFrame() == 1);
if (state.inScript() && !m_currentScriptTagStartLineNumber)
m_currentScriptTagStartLineNumber = m_lineNumber;
@@ -730,9 +730,9 @@ HTMLTokenizer::State HTMLTokenizer::parseEntity(SegmentedString& src, UChar*& de
EntityUnicodeValue = 0;
}
- while(!src.isEmpty()) {
+ while (!src.isEmpty()) {
UChar cc = *src;
- switch(state.entityState()) {
+ switch (state.entityState()) {
case NoEntity:
ASSERT(state.entityState() != NoEntity);
return state;
@@ -781,7 +781,7 @@ HTMLTokenizer::State HTMLTokenizer::parseEntity(SegmentedString& src, UChar*& de
case Decimal:
{
int ll = min(src.length(), 9-cBufferPos);
- while(ll--) {
+ while (ll--) {
cc = *src;
if (!(cc >= '0' && cc <= '9')) {
@@ -800,7 +800,7 @@ HTMLTokenizer::State HTMLTokenizer::parseEntity(SegmentedString& src, UChar*& de
case EntityName:
{
int ll = min(src.length(), 9-cBufferPos);
- while(ll--) {
+ while (ll--) {
cc = *src;
if (!((cc >= 'a' && cc <= 'z') || (cc >= '0' && cc <= '9') || (cc >= 'A' && cc <= 'Z'))) {
@@ -814,7 +814,7 @@ HTMLTokenizer::State HTMLTokenizer::parseEntity(SegmentedString& src, UChar*& de
if (cBufferPos == 9)
state.setEntityState(SearchSemicolon);
if (state.entityState() == SearchSemicolon) {
- if(cBufferPos > 1) {
+ if (cBufferPos > 1) {
// Since the maximum length of entity name is 9,
// so a single char array which is allocated on
// the stack, its length is 10, should be OK.
@@ -837,11 +837,11 @@ HTMLTokenizer::State HTMLTokenizer::parseEntity(SegmentedString& src, UChar*& de
else
e = 0;
- if(e)
+ if (e)
EntityUnicodeValue = e->code;
// be IE compatible
- if(parsingTag && EntityUnicodeValue > 255 && *src != ';')
+ if (parsingTag && EntityUnicodeValue > 255 && *src != ';')
EntityUnicodeValue = 0;
}
}
@@ -1122,7 +1122,7 @@ HTMLTokenizer::State HTMLTokenizer::parseTag(SegmentedString& src, State state)
while (!src.isEmpty()) {
checkBuffer();
- switch(state.tagState()) {
+ switch (state.tagState()) {
case NoTag:
{
m_cBufferPos = cBufferPos;
@@ -1237,7 +1237,7 @@ HTMLTokenizer::State HTMLTokenizer::parseTag(SegmentedString& src, State state)
break;
}
case SearchAttribute:
- while(!src.isEmpty()) {
+ while (!src.isEmpty()) {
UChar curchar = *src;
// In this mode just ignore any quotes we encounter and treat them like spaces.
if (!isASCIISpace(curchar) && curchar != '\'' && curchar != '"') {
@@ -1256,6 +1256,7 @@ HTMLTokenizer::State HTMLTokenizer::parseTag(SegmentedString& src, State state)
break;
case AttributeName:
{
+ m_rawAttributeBeforeValue.clear();
int ll = min(src.length(), CBUFLEN - cBufferPos);
while (ll--) {
UChar curchar = *src;
@@ -1278,6 +1279,7 @@ HTMLTokenizer::State HTMLTokenizer::parseTag(SegmentedString& src, State state)
else
m_cBuffer[cBufferPos++] = curchar;
+ m_rawAttributeBeforeValue.append(curchar);
src.advance(m_lineNumber);
}
if (cBufferPos == CBUFLEN) {
@@ -1309,6 +1311,7 @@ HTMLTokenizer::State HTMLTokenizer::parseTag(SegmentedString& src, State state)
state.setTagState(SearchValue);
if (inViewSourceMode())
m_currentToken.addViewSourceChar(curchar);
+ m_rawAttributeBeforeValue.append(curchar);
src.advancePastNonNewline();
} else {
m_currentToken.addAttribute(m_attrName, emptyAtom, inViewSourceMode());
@@ -1318,11 +1321,12 @@ HTMLTokenizer::State HTMLTokenizer::parseTag(SegmentedString& src, State state)
}
break;
}
- if (inViewSourceMode())
- m_currentToken.addViewSourceChar(curchar);
-
+
lastIsSlash = curchar == '/';
+ if (inViewSourceMode())
+ m_currentToken.addViewSourceChar(curchar);
+ m_rawAttributeBeforeValue.append(curchar);
src.advance(m_lineNumber);
}
break;
@@ -1335,6 +1339,7 @@ HTMLTokenizer::State HTMLTokenizer::parseTag(SegmentedString& src, State state)
state.setTagState(QuotedValue);
if (inViewSourceMode())
m_currentToken.addViewSourceChar(curchar);
+ m_rawAttributeBeforeValue.append(curchar);
src.advancePastNonNewline();
} else
state.setTagState(Value);
@@ -1343,6 +1348,7 @@ HTMLTokenizer::State HTMLTokenizer::parseTag(SegmentedString& src, State state)
}
if (inViewSourceMode())
m_currentToken.addViewSourceChar(curchar);
+ m_rawAttributeBeforeValue.append(curchar);
src.advance(m_lineNumber);
}
break;
@@ -1391,6 +1397,13 @@ HTMLTokenizer::State HTMLTokenizer::parseTag(SegmentedString& src, State state)
m_currentToken.addViewSourceChar('x');
} else if (inViewSourceMode())
m_currentToken.addViewSourceChar('v');
+
+ if (m_currentToken.beginTag && m_currentToken.tagName == scriptTag && !inViewSourceMode() && !m_parser->skipMode() && m_attrName == srcAttr) {
+ String context(m_rawAttributeBeforeValue.data(), m_rawAttributeBeforeValue.size());
+ if (m_XSSAuditor && !m_XSSAuditor->canLoadExternalScriptFromSrc(context, attributeValue))
+ attributeValue = blankURL().string();
+ }
+
m_currentToken.addAttribute(m_attrName, attributeValue, inViewSourceMode());
m_dest = m_buffer;
state.setTagState(SearchAttribute);
@@ -1407,7 +1420,7 @@ HTMLTokenizer::State HTMLTokenizer::parseTag(SegmentedString& src, State state)
}
break;
case Value:
- while(!src.isEmpty()) {
+ while (!src.isEmpty()) {
checkBuffer();
UChar curchar = *src;
if (curchar <= '>' && !src.escaped()) {
@@ -1421,6 +1434,13 @@ HTMLTokenizer::State HTMLTokenizer::parseTag(SegmentedString& src, State state)
// '/' does not delimit in IE!
if (isASCIISpace(curchar) || curchar == '>') {
AtomicString attributeValue(m_buffer + 1, m_dest - m_buffer - 1);
+
+ if (m_currentToken.beginTag && m_currentToken.tagName == scriptTag && !inViewSourceMode() && !m_parser->skipMode() && m_attrName == srcAttr) {
+ String context(m_rawAttributeBeforeValue.data(), m_rawAttributeBeforeValue.size());
+ if (m_XSSAuditor && !m_XSSAuditor->canLoadExternalScriptFromSrc(context, attributeValue))
+ attributeValue = blankURL().string();
+ }
+
m_currentToken.addAttribute(m_attrName, attributeValue, inViewSourceMode());
if (inViewSourceMode())
m_currentToken.addViewSourceChar('v');
@@ -1473,11 +1493,8 @@ HTMLTokenizer::State HTMLTokenizer::parseTag(SegmentedString& src, State state)
m_scriptTagCharsetAttrValue = String();
if (m_currentToken.attrs && !m_fragment) {
if (m_doc->frame() && m_doc->frame()->script()->isEnabled()) {
- if ((a = m_currentToken.attrs->getAttributeItem(srcAttr))) {
- m_scriptTagSrcAttrValue = m_doc->completeURL(parseURL(a->value())).string();
- if (m_XSSAuditor && !m_XSSAuditor->canLoadExternalScriptFromSrc(a->value()))
- m_scriptTagSrcAttrValue = String();
- }
+ if ((a = m_currentToken.attrs->getAttributeItem(srcAttr)))
+ m_scriptTagSrcAttrValue = m_doc->completeURL(deprecatedParseURL(a->value())).string();
}
}
}
@@ -1684,7 +1701,7 @@ void HTMLTokenizer::write(const SegmentedString& str, bool appendData)
else if (state.startTag()) {
state.setStartTag(false);
- switch(cc) {
+ switch (cc) {
case '/':
break;
case '!': {
@@ -1712,7 +1729,7 @@ void HTMLTokenizer::write(const SegmentedString& str, bool appendData)
}
// else fall through
default: {
- if( ((cc >= 'a') && (cc <= 'z')) || ((cc >= 'A') && (cc <= 'Z'))) {
+ if ( ((cc >= 'a') && (cc <= 'z')) || ((cc >= 'A') && (cc <= 'Z'))) {
// Start of a Start-Tag
} else {
// Invalid tag
diff --git a/src/3rdparty/webkit/WebCore/html/HTMLTokenizer.h b/src/3rdparty/webkit/WebCore/html/HTMLTokenizer.h
index 6612af8..d731b2d 100644
--- a/src/3rdparty/webkit/WebCore/html/HTMLTokenizer.h
+++ b/src/3rdparty/webkit/WebCore/html/HTMLTokenizer.h
@@ -213,6 +213,10 @@ private:
Token m_currentToken;
+ // This buffer holds the raw characters we've seen between the beginning of
+ // the attribute name and the first character of the attribute value.
+ Vector<UChar, 32> m_rawAttributeBeforeValue;
+
// Tokenizer flags
//////////////////
// are we in quotes within a html tag
diff --git a/src/3rdparty/webkit/WebCore/html/HTMLUListElement.h b/src/3rdparty/webkit/WebCore/html/HTMLUListElement.h
index 3a565a4..1eda5f3 100644
--- a/src/3rdparty/webkit/WebCore/html/HTMLUListElement.h
+++ b/src/3rdparty/webkit/WebCore/html/HTMLUListElement.h
@@ -26,8 +26,7 @@
namespace WebCore {
-class HTMLUListElement : public HTMLElement
-{
+class HTMLUListElement : public HTMLElement {
public:
HTMLUListElement(const QualifiedName&, Document*);
diff --git a/src/3rdparty/webkit/WebCore/html/HTMLVideoElement.cpp b/src/3rdparty/webkit/WebCore/html/HTMLVideoElement.cpp
index a6210a2..ecd74e7 100644
--- a/src/3rdparty/webkit/WebCore/html/HTMLVideoElement.cpp
+++ b/src/3rdparty/webkit/WebCore/html/HTMLVideoElement.cpp
@@ -186,7 +186,7 @@ void HTMLVideoElement::updatePosterImage()
#endif
}
-void HTMLVideoElement::paint(GraphicsContext* context, const IntRect& r)
+void HTMLVideoElement::paint(GraphicsContext* context, const IntRect& destRect)
{
// FIXME: We should also be able to paint the poster image.
@@ -195,7 +195,19 @@ void HTMLVideoElement::paint(GraphicsContext* context, const IntRect& r)
return;
player->setVisible(true); // Make player visible or it won't draw.
- player->paint(context, r);
+ player->paint(context, destRect);
+}
+
+void HTMLVideoElement::paintCurrentFrameInContext(GraphicsContext* context, const IntRect& destRect)
+{
+ // FIXME: We should also be able to paint the poster image.
+
+ MediaPlayer* player = HTMLMediaElement::player();
+ if (!player)
+ return;
+
+ player->setVisible(true); // Make player visible or it won't draw.
+ player->paintCurrentFrameInContext(context, destRect);
}
}
diff --git a/src/3rdparty/webkit/WebCore/html/HTMLVideoElement.h b/src/3rdparty/webkit/WebCore/html/HTMLVideoElement.h
index 830e72e..dc9714a 100644
--- a/src/3rdparty/webkit/WebCore/html/HTMLVideoElement.h
+++ b/src/3rdparty/webkit/WebCore/html/HTMLVideoElement.h
@@ -35,8 +35,7 @@ namespace WebCore {
class HTMLImageLoader;
-class HTMLVideoElement : public HTMLMediaElement
-{
+class HTMLVideoElement : public HTMLMediaElement {
public:
HTMLVideoElement(const QualifiedName&, Document*);
@@ -67,8 +66,9 @@ public:
void updatePosterImage();
- // Used by canvas to gain raw pixel access
void paint(GraphicsContext*, const IntRect&);
+ // Used by canvas to gain raw pixel access
+ void paintCurrentFrameInContext(GraphicsContext*, const IntRect&);
private:
OwnPtr<HTMLImageLoader> m_imageLoader;
diff --git a/src/3rdparty/webkit/WebCore/html/ImageData.idl b/src/3rdparty/webkit/WebCore/html/ImageData.idl
index 7f37b52..8025de1 100644
--- a/src/3rdparty/webkit/WebCore/html/ImageData.idl
+++ b/src/3rdparty/webkit/WebCore/html/ImageData.idl
@@ -29,8 +29,8 @@
module html {
interface [
+ CustomToJS,
GenerateConstructor,
- GenerateToJS
] ImageData {
readonly attribute long width;
readonly attribute long height;
diff --git a/src/3rdparty/webkit/WebCore/html/PreloadScanner.cpp b/src/3rdparty/webkit/WebCore/html/PreloadScanner.cpp
index 1c1d28a..60e538e 100644
--- a/src/3rdparty/webkit/WebCore/html/PreloadScanner.cpp
+++ b/src/3rdparty/webkit/WebCore/html/PreloadScanner.cpp
@@ -696,12 +696,12 @@ void PreloadScanner::processAttribute()
String value(m_attributeValue.data(), m_attributeValue.size());
if (tag == scriptTag || tag == imgTag) {
if (attribute == srcAttr && m_urlToLoad.isEmpty())
- m_urlToLoad = parseURL(value);
+ m_urlToLoad = deprecatedParseURL(value);
else if (attribute == charsetAttr)
m_charset = value;
} else if (tag == linkTag) {
if (attribute == hrefAttr && m_urlToLoad.isEmpty())
- m_urlToLoad = parseURL(value);
+ m_urlToLoad = deprecatedParseURL(value);
else if (attribute == relAttr) {
bool styleSheet = false;
bool alternate = false;
@@ -848,7 +848,7 @@ void PreloadScanner::emitCSSRule()
String rule(m_cssRule.data(), m_cssRule.size());
if (equalIgnoringCase(rule, "import") && !m_cssRuleValue.isEmpty()) {
String value(m_cssRuleValue.data(), m_cssRuleValue.size());
- String url = parseURL(value);
+ String url = deprecatedParseURL(value);
if (!url.isEmpty())
m_document->docLoader()->preload(CachedResource::CSSStyleSheet, url, String(), scanningBody());
}
diff --git a/src/3rdparty/webkit/WebCore/html/PreloadScanner.h b/src/3rdparty/webkit/WebCore/html/PreloadScanner.h
index f1d2cf8..6022ee7 100644
--- a/src/3rdparty/webkit/WebCore/html/PreloadScanner.h
+++ b/src/3rdparty/webkit/WebCore/html/PreloadScanner.h
@@ -37,7 +37,7 @@ namespace WebCore {
class CachedResourceClient;
class Document;
- class PreloadScanner : Noncopyable {
+ class PreloadScanner : public Noncopyable {
public:
PreloadScanner(Document*);
~PreloadScanner();
diff --git a/src/3rdparty/webkit/WebCore/html/TimeRanges.h b/src/3rdparty/webkit/WebCore/html/TimeRanges.h
index 37820dc..6be8c4e 100644
--- a/src/3rdparty/webkit/WebCore/html/TimeRanges.h
+++ b/src/3rdparty/webkit/WebCore/html/TimeRanges.h
@@ -64,7 +64,8 @@ private:
// We consider all the Ranges to be semi-bounded as follow: [start, end[
struct Range {
Range() { }
- Range(float start, float end) {
+ Range(float start, float end)
+ {
m_start = start;
m_end = end;
}
diff --git a/src/3rdparty/webkit/WebCore/html/ValidityState.cpp b/src/3rdparty/webkit/WebCore/html/ValidityState.cpp
new file mode 100644
index 0000000..86227d4
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/html/ValidityState.cpp
@@ -0,0 +1,42 @@
+/*
+ * This file is part of the WebKit project.
+ *
+ * Copyright (C) 2009 Michelangelo De Simone <micdesim@gmail.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public License
+ * along with this library; see the file COPYING.LIB. If not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "config.h"
+#include "ValidityState.h"
+
+namespace WebCore {
+
+ValidityState::ValidityState(HTMLFormControlElement* parent)
+ : m_control(parent)
+{
+ ASSERT(parent);
+}
+
+bool ValidityState::valid()
+{
+ bool someError = typeMismatch() || stepMismatch() || rangeUnderflow() || rangeOverflow() ||
+ tooLong() || patternMismatch() || valueMissing() || customError();
+
+ return !someError;
+}
+
+} // namespace
diff --git a/src/3rdparty/webkit/WebCore/html/ValidityState.h b/src/3rdparty/webkit/WebCore/html/ValidityState.h
new file mode 100644
index 0000000..4b2f022
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/html/ValidityState.h
@@ -0,0 +1,58 @@
+/*
+ * This file is part of the WebKit project.
+ *
+ * Copyright (C) 2009 Michelangelo De Simone <micdesim@gmail.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public License
+ * along with this library; see the file COPYING.LIB. If not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef ValidityState_h
+#define ValidityState_h
+
+#include "HTMLFormControlElement.h"
+#include <wtf/PassRefPtr.h>
+#include <wtf/RefCounted.h>
+
+namespace WebCore {
+
+ class ValidityState : public RefCounted<ValidityState> {
+ public:
+ static PassRefPtr<ValidityState> create(HTMLFormControlElement* owner)
+ {
+ return adoptRef(new ValidityState(owner));
+ }
+
+ HTMLFormControlElement* control() const { return m_control; }
+
+ bool valueMissing() { return control()->valueMissing(); }
+ bool typeMismatch() { return false; }
+ bool patternMismatch() { return control()->patternMismatch(); }
+ bool tooLong() { return false; }
+ bool rangeUnderflow() { return false; }
+ bool rangeOverflow() { return false; }
+ bool stepMismatch() { return false; }
+ bool customError() { return false; }
+ bool valid();
+
+ private:
+ ValidityState(HTMLFormControlElement*);
+ HTMLFormControlElement* m_control;
+ };
+
+} // namespace WebCore
+
+#endif // ValidityState_h
diff --git a/src/3rdparty/webkit/WebCore/html/ValidityState.idl b/src/3rdparty/webkit/WebCore/html/ValidityState.idl
new file mode 100644
index 0000000..b926852
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/html/ValidityState.idl
@@ -0,0 +1,36 @@
+/*
+ * This file is part of the WebKit project.
+ *
+ * Copyright (C) 2009 Michelangelo De Simone <micdesim@gmail.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public License
+ * along with this library; see the file COPYING.LIB. If not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ *
+ */
+
+module html {
+
+ interface ValidityState {
+ readonly attribute boolean valueMissing;
+ readonly attribute boolean typeMismatch;
+ readonly attribute boolean patternMismatch;
+ readonly attribute boolean tooLong;
+ readonly attribute boolean rangeUnderflow;
+ readonly attribute boolean rangeOverflow;
+ readonly attribute boolean stepMismatch;
+ readonly attribute boolean customError;
+ readonly attribute boolean valid;
+ };
+}
diff --git a/src/3rdparty/webkit/WebCore/inspector/ConsoleMessage.cpp b/src/3rdparty/webkit/WebCore/inspector/ConsoleMessage.cpp
index b3c0218..609197e 100644
--- a/src/3rdparty/webkit/WebCore/inspector/ConsoleMessage.cpp
+++ b/src/3rdparty/webkit/WebCore/inspector/ConsoleMessage.cpp
@@ -38,8 +38,9 @@
namespace WebCore {
-ConsoleMessage::ConsoleMessage(MessageSource s, MessageLevel l, const String& m, unsigned li, const String& u, unsigned g)
+ConsoleMessage::ConsoleMessage(MessageSource s, MessageType t, MessageLevel l, const String& m, unsigned li, const String& u, unsigned g)
: m_source(s)
+ , m_type(t)
, m_level(l)
, m_message(m)
, m_line(li)
@@ -49,8 +50,9 @@ ConsoleMessage::ConsoleMessage(MessageSource s, MessageLevel l, const String& m,
{
}
-ConsoleMessage::ConsoleMessage(MessageSource s, MessageLevel l, ScriptCallStack* callStack, unsigned g, bool storeTrace)
+ConsoleMessage::ConsoleMessage(MessageSource s, MessageType t, MessageLevel l, ScriptCallStack* callStack, unsigned g, bool storeTrace)
: m_source(s)
+ , m_type(t)
, m_level(l)
, m_wrappedArguments(callStack->at(0).argumentCount())
, m_frames(storeTrace ? callStack->size() : 0)
@@ -77,6 +79,7 @@ void ConsoleMessage::addToConsole(InspectorFrontend* frontend)
{
InspectorJSONObject jsonObj = frontend->newInspectorJSONObject();
jsonObj.set("source", static_cast<int>(m_source));
+ jsonObj.set("type", static_cast<int>(m_type));
jsonObj.set("level", static_cast<int>(m_level));
jsonObj.set("line", static_cast<int>(m_line));
jsonObj.set("url", m_url);
@@ -109,6 +112,7 @@ bool ConsoleMessage::isEqual(ScriptState* state, ConsoleMessage* msg) const
}
return msg->m_source == m_source
+ && msg->m_type == m_type
&& msg->m_level == m_level
&& msg->m_message == m_message
&& msg->m_line == m_line
diff --git a/src/3rdparty/webkit/WebCore/inspector/ConsoleMessage.h b/src/3rdparty/webkit/WebCore/inspector/ConsoleMessage.h
index 15e6e7e..5b2f7d5 100644
--- a/src/3rdparty/webkit/WebCore/inspector/ConsoleMessage.h
+++ b/src/3rdparty/webkit/WebCore/inspector/ConsoleMessage.h
@@ -44,8 +44,8 @@ namespace WebCore {
class ConsoleMessage {
public:
- ConsoleMessage(MessageSource, MessageLevel, const String& m, unsigned li, const String& u, unsigned g);
- ConsoleMessage(MessageSource, MessageLevel, ScriptCallStack*, unsigned g, bool storeTrace = false);
+ ConsoleMessage(MessageSource, MessageType, MessageLevel, const String& m, unsigned li, const String& u, unsigned g);
+ ConsoleMessage(MessageSource, MessageType, MessageLevel, ScriptCallStack*, unsigned g, bool storeTrace = false);
void addToConsole(InspectorFrontend* frontend);
void incrementCount() { ++m_repeatCount; };
@@ -53,6 +53,7 @@ namespace WebCore {
private:
MessageSource m_source;
+ MessageType m_type;
MessageLevel m_level;
String m_message;
Vector<ScriptValue> m_wrappedArguments;
diff --git a/src/3rdparty/webkit/WebCore/inspector/InspectorBackend.cpp b/src/3rdparty/webkit/WebCore/inspector/InspectorBackend.cpp
new file mode 100644
index 0000000..d50efd3
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/inspector/InspectorBackend.cpp
@@ -0,0 +1,363 @@
+/*
+ * Copyright (C) 2007, 2008 Apple Inc. All rights reserved.
+ * Copyright (C) 2008 Matt Lilek <webkit@mattlilek.com>
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+#include "InspectorBackend.h"
+
+#include "Element.h"
+#include "Frame.h"
+#include "FrameLoader.h"
+#include "HTMLFrameOwnerElement.h"
+#include "InspectorClient.h"
+#include "InspectorController.h"
+#include "InspectorResource.h"
+
+#if ENABLE(JAVASCRIPT_DEBUGGER)
+#include "JavaScriptCallFrame.h"
+#include "JavaScriptDebugServer.h"
+using namespace JSC;
+#endif
+
+#include <wtf/RefPtr.h>
+#include <wtf/StdLibExtras.h>
+
+using namespace std;
+
+namespace WebCore {
+
+InspectorBackend::InspectorBackend(InspectorController* inspectorController, InspectorClient* client)
+ : m_inspectorController(inspectorController)
+ , m_client(client)
+{
+}
+
+InspectorBackend::~InspectorBackend()
+{
+}
+
+void InspectorBackend::hideDOMNodeHighlight()
+{
+ if (m_inspectorController)
+ m_inspectorController->hideHighlight();
+}
+
+String InspectorBackend::localizedStringsURL()
+{
+ return m_client->localizedStringsURL();
+}
+
+String InspectorBackend::hiddenPanels()
+{
+ return m_client->hiddenPanels();
+}
+
+void InspectorBackend::windowUnloading()
+{
+ if (m_inspectorController)
+ m_inspectorController->close();
+}
+
+bool InspectorBackend::isWindowVisible()
+{
+ if (m_inspectorController)
+ return m_inspectorController->windowVisible();
+ return false;
+}
+
+void InspectorBackend::addResourceSourceToFrame(long identifier, Node* frame)
+{
+ if (!m_inspectorController)
+ return;
+ RefPtr<InspectorResource> resource = m_inspectorController->resources().get(identifier);
+ if (resource) {
+ String sourceString = resource->sourceString();
+ if (!sourceString.isEmpty())
+ addSourceToFrame(resource->mimeType(), sourceString, frame);
+ }
+}
+
+bool InspectorBackend::addSourceToFrame(const String& mimeType, const String& source, Node* frameNode)
+{
+ ASSERT_ARG(frameNode, frameNode);
+
+ if (!frameNode)
+ return false;
+
+ if (!frameNode->attached()) {
+ ASSERT_NOT_REACHED();
+ return false;
+ }
+
+ ASSERT(frameNode->isElementNode());
+ if (!frameNode->isElementNode())
+ return false;
+
+ Element* element = static_cast<Element*>(frameNode);
+ ASSERT(element->isFrameOwnerElement());
+ if (!element->isFrameOwnerElement())
+ return false;
+
+ HTMLFrameOwnerElement* frameOwner = static_cast<HTMLFrameOwnerElement*>(element);
+ ASSERT(frameOwner->contentFrame());
+ if (!frameOwner->contentFrame())
+ return false;
+
+ FrameLoader* loader = frameOwner->contentFrame()->loader();
+
+ loader->setResponseMIMEType(mimeType);
+ loader->begin();
+ loader->write(source);
+ loader->end();
+
+ return true;
+}
+
+void InspectorBackend::clearMessages()
+{
+ if (m_inspectorController)
+ m_inspectorController->clearConsoleMessages();
+}
+
+void InspectorBackend::toggleNodeSearch()
+{
+ if (m_inspectorController)
+ m_inspectorController->toggleSearchForNodeInPage();
+}
+
+void InspectorBackend::attach()
+{
+ if (m_inspectorController)
+ m_inspectorController->attachWindow();
+}
+
+void InspectorBackend::detach()
+{
+ if (m_inspectorController)
+ m_inspectorController->detachWindow();
+}
+
+void InspectorBackend::setAttachedWindowHeight(unsigned height)
+{
+ if (m_inspectorController)
+ m_inspectorController->setAttachedWindowHeight(height);
+}
+
+void InspectorBackend::storeLastActivePanel(const String& panelName)
+{
+ if (m_inspectorController)
+ m_inspectorController->storeLastActivePanel(panelName);
+}
+
+bool InspectorBackend::searchingForNode()
+{
+ if (m_inspectorController)
+ return m_inspectorController->searchingForNodeInPage();
+ return false;
+}
+
+void InspectorBackend::loaded()
+{
+ if (m_inspectorController)
+ m_inspectorController->scriptObjectReady();
+}
+
+void InspectorBackend::enableResourceTracking(bool always)
+{
+ if (m_inspectorController)
+ m_inspectorController->enableResourceTracking(always);
+}
+
+void InspectorBackend::disableResourceTracking(bool always)
+{
+ if (m_inspectorController)
+ m_inspectorController->disableResourceTracking(always);
+}
+
+bool InspectorBackend::resourceTrackingEnabled() const
+{
+ if (m_inspectorController)
+ return m_inspectorController->resourceTrackingEnabled();
+ return false;
+}
+
+void InspectorBackend::moveWindowBy(float x, float y) const
+{
+ if (m_inspectorController)
+ m_inspectorController->moveWindowBy(x, y);
+}
+
+void InspectorBackend::closeWindow()
+{
+ if (m_inspectorController)
+ m_inspectorController->closeWindow();
+}
+
+const String& InspectorBackend::platform() const
+{
+#if PLATFORM(MAC)
+#ifdef BUILDING_ON_TIGER
+ DEFINE_STATIC_LOCAL(const String, platform, ("mac-tiger"));
+#else
+ DEFINE_STATIC_LOCAL(const String, platform, ("mac-leopard"));
+#endif
+#elif PLATFORM(WIN_OS)
+ DEFINE_STATIC_LOCAL(const String, platform, ("windows"));
+#elif PLATFORM(QT)
+ DEFINE_STATIC_LOCAL(const String, platform, ("qt"));
+#elif PLATFORM(GTK)
+ DEFINE_STATIC_LOCAL(const String, platform, ("gtk"));
+#elif PLATFORM(WX)
+ DEFINE_STATIC_LOCAL(const String, platform, ("wx"));
+#else
+ DEFINE_STATIC_LOCAL(const String, platform, ("unknown"));
+#endif
+
+ return platform;
+}
+
+#if ENABLE(JAVASCRIPT_DEBUGGER)
+const ProfilesArray& InspectorBackend::profiles() const
+{
+ if (m_inspectorController)
+ return m_inspectorController->profiles();
+ return m_emptyProfiles;
+}
+
+void InspectorBackend::startProfiling()
+{
+ if (m_inspectorController)
+ m_inspectorController->startUserInitiatedProfiling();
+}
+
+void InspectorBackend::stopProfiling()
+{
+ if (m_inspectorController)
+ m_inspectorController->stopUserInitiatedProfiling();
+}
+
+void InspectorBackend::enableProfiler(bool always)
+{
+ if (m_inspectorController)
+ m_inspectorController->enableProfiler(always);
+}
+
+void InspectorBackend::disableProfiler(bool always)
+{
+ if (m_inspectorController)
+ m_inspectorController->disableProfiler(always);
+}
+
+bool InspectorBackend::profilerEnabled()
+{
+ if (m_inspectorController)
+ return m_inspectorController->profilerEnabled();
+ return false;
+}
+
+void InspectorBackend::enableDebugger(bool always)
+{
+ if (m_inspectorController)
+ m_inspectorController->enableDebuggerFromFrontend(always);
+}
+
+void InspectorBackend::disableDebugger(bool always)
+{
+ if (m_inspectorController)
+ m_inspectorController->disableDebugger(always);
+}
+
+bool InspectorBackend::debuggerEnabled() const
+{
+ if (m_inspectorController)
+ return m_inspectorController->debuggerEnabled();
+ return false;
+}
+
+JavaScriptCallFrame* InspectorBackend::currentCallFrame() const
+{
+ return JavaScriptDebugServer::shared().currentCallFrame();
+}
+
+void InspectorBackend::addBreakpoint(const String& sourceID, unsigned lineNumber)
+{
+ intptr_t sourceIDValue = sourceID.toIntPtr();
+ JavaScriptDebugServer::shared().addBreakpoint(sourceIDValue, lineNumber);
+}
+
+void InspectorBackend::removeBreakpoint(const String& sourceID, unsigned lineNumber)
+{
+ intptr_t sourceIDValue = sourceID.toIntPtr();
+ JavaScriptDebugServer::shared().removeBreakpoint(sourceIDValue, lineNumber);
+}
+
+bool InspectorBackend::pauseOnExceptions()
+{
+ return JavaScriptDebugServer::shared().pauseOnExceptions();
+}
+
+void InspectorBackend::setPauseOnExceptions(bool pause)
+{
+ JavaScriptDebugServer::shared().setPauseOnExceptions(pause);
+}
+
+void InspectorBackend::pauseInDebugger()
+{
+ JavaScriptDebugServer::shared().pauseProgram();
+}
+
+void InspectorBackend::resumeDebugger()
+{
+ if (m_inspectorController)
+ m_inspectorController->resumeDebugger();
+}
+
+void InspectorBackend::stepOverStatementInDebugger()
+{
+ JavaScriptDebugServer::shared().stepOverStatement();
+}
+
+void InspectorBackend::stepIntoStatementInDebugger()
+{
+ JavaScriptDebugServer::shared().stepIntoStatement();
+}
+
+void InspectorBackend::stepOutOfFunctionInDebugger()
+{
+ JavaScriptDebugServer::shared().stepOutOfFunction();
+}
+
+#endif
+
+void InspectorBackend::highlight(Node* node)
+{
+ if (m_inspectorController)
+ m_inspectorController->highlight(node);
+}
+
+} // namespace WebCore
diff --git a/src/3rdparty/webkit/WebCore/inspector/InspectorBackend.h b/src/3rdparty/webkit/WebCore/inspector/InspectorBackend.h
new file mode 100644
index 0000000..bb891c2
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/inspector/InspectorBackend.h
@@ -0,0 +1,140 @@
+/*
+ * Copyright (C) 2007 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef InspectorBackend_h
+#define InspectorBackend_h
+
+#include "Console.h"
+#include "InspectorController.h"
+#include "PlatformString.h"
+
+#include <wtf/RefCounted.h>
+
+namespace WebCore {
+
+class CachedResource;
+class InspectorClient;
+class JavaScriptCallFrame;
+class Node;
+
+class InspectorBackend : public RefCounted<InspectorBackend>
+{
+public:
+ static PassRefPtr<InspectorBackend> create(InspectorController* inspectorController, InspectorClient* client)
+ {
+ return adoptRef(new InspectorBackend(inspectorController, client));
+ }
+
+ ~InspectorBackend();
+
+ InspectorController* inspectorController() { return m_inspectorController; }
+
+ void disconnectController() { m_inspectorController = 0; }
+
+ void hideDOMNodeHighlight();
+
+ String localizedStringsURL();
+ String hiddenPanels();
+
+ void windowUnloading();
+
+ bool isWindowVisible();
+
+ void addResourceSourceToFrame(long identifier, Node* frame);
+ bool addSourceToFrame(const String& mimeType, const String& source, Node* frame);
+
+ void clearMessages();
+
+ void toggleNodeSearch();
+
+ void attach();
+ void detach();
+
+ void setAttachedWindowHeight(unsigned height);
+
+ void storeLastActivePanel(const String& panelName);
+
+ bool searchingForNode();
+
+ void loaded();
+
+ void enableResourceTracking(bool always);
+ void disableResourceTracking(bool always);
+ bool resourceTrackingEnabled() const;
+
+ void moveWindowBy(float x, float y) const;
+ void closeWindow();
+
+ const String& platform() const;
+
+#if ENABLE(JAVASCRIPT_DEBUGGER)
+ const ProfilesArray& profiles() const;
+
+ void startProfiling();
+ void stopProfiling();
+
+ void enableProfiler(bool always);
+ void disableProfiler(bool always);
+ bool profilerEnabled();
+
+ void enableDebugger(bool always);
+ void disableDebugger(bool always);
+ bool debuggerEnabled() const;
+
+ JavaScriptCallFrame* currentCallFrame() const;
+
+ void addBreakpoint(const String& sourceID, unsigned lineNumber);
+ void removeBreakpoint(const String& sourceID, unsigned lineNumber);
+
+ bool pauseOnExceptions();
+ void setPauseOnExceptions(bool pause);
+
+ void pauseInDebugger();
+ void resumeDebugger();
+
+ void stepOverStatementInDebugger();
+ void stepIntoStatementInDebugger();
+ void stepOutOfFunctionInDebugger();
+#endif
+
+ // Generic code called from custom implementations.
+ void highlight(Node* node);
+
+private:
+ InspectorBackend(InspectorController* inspectorController, InspectorClient* client);
+
+ InspectorController* m_inspectorController;
+ InspectorClient* m_client;
+#if ENABLE(JAVASCRIPT_DEBUGGER)
+ ProfilesArray m_emptyProfiles;
+#endif
+};
+
+} // namespace WebCore
+
+#endif // !defined(InspectorBackend_h)
diff --git a/src/3rdparty/webkit/WebCore/inspector/InspectorBackend.idl b/src/3rdparty/webkit/WebCore/inspector/InspectorBackend.idl
new file mode 100644
index 0000000..21e6d99
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/inspector/InspectorBackend.idl
@@ -0,0 +1,101 @@
+/*
+ * Copyright (C) 2007, 2008 Apple Inc. All rights reserved.
+ * Copyright (C) 2008 Matt Lilek <webkit@mattlilek.com>
+ * Copyright (C) 2009 Google Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following disclaimer
+ * in the documentation and/or other materials provided with the
+ * distribution.
+ * * Neither the name of Google Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+module core {
+ interface [
+ GenerateConstructor
+ ] InspectorBackend {
+ void hideDOMNodeHighlight();
+ [Custom] void highlightDOMNode(in Node node);
+ void loaded();
+ void windowUnloading();
+ void attach();
+ void detach();
+
+ void closeWindow();
+ void clearMessages();
+ void toggleNodeSearch();
+
+ boolean isWindowVisible();
+ boolean searchingForNode();
+
+ void addResourceSourceToFrame(in long identifier, in Node frame);
+ boolean addSourceToFrame(in DOMString mimeType, in DOMString sourceValue, in Node frame);
+ [Custom] void search(in Node node, in DOMString query);
+#if defined(ENABLE_DATABASE) && ENABLE_DATABASE
+ [Custom] DOMObject databaseTableNames(in Database database);
+#endif
+ [Custom] DOMObject setting(in DOMString key);
+ [Custom] void setSetting(in DOMString key, in DOMObject value);
+ [Custom] DOMWindow inspectedWindow();
+ DOMString localizedStringsURL();
+ DOMString hiddenPanels();
+ DOMString platform();
+ [ImplementationFunction=moveWindowBy] void moveByUnrestricted(in float x, in float y);
+ void setAttachedWindowHeight(in unsigned long height);
+ [Custom] DOMObject wrapCallback(in DOMObject callback);
+ boolean resourceTrackingEnabled();
+ void enableResourceTracking(in boolean always);
+ void disableResourceTracking(in boolean always);
+ void storeLastActivePanel(in DOMString panelName);
+
+#if defined(ENABLE_JAVASCRIPT_DEBUGGER) && ENABLE_JAVASCRIPT_DEBUGGER
+ boolean debuggerEnabled();
+ void enableDebugger(in boolean always);
+ void disableDebugger(in boolean always);
+
+ void addBreakpoint(in DOMString sourceID, in unsigned long lineNumber);
+ void removeBreakpoint(in DOMString sourceID, in unsigned long lineNumber);
+
+ void pauseInDebugger();
+ void resumeDebugger();
+
+ void stepOverStatementInDebugger();
+ void stepIntoStatementInDebugger();
+ void stepOutOfFunctionInDebugger();
+
+ [Custom] DOMObject currentCallFrame();
+
+ boolean pauseOnExceptions();
+ void setPauseOnExceptions(in boolean pauseOnExceptions);
+
+ boolean profilerEnabled();
+ void enableProfiler(in boolean always);
+ void disableProfiler(in boolean always);
+
+ void startProfiling();
+ void stopProfiling();
+
+ [Custom] Array profiles();
+#endif
+ };
+ }
diff --git a/src/3rdparty/webkit/WebCore/inspector/InspectorController.cpp b/src/3rdparty/webkit/WebCore/inspector/InspectorController.cpp
index 7e0cf31..2c7e588 100644
--- a/src/3rdparty/webkit/WebCore/inspector/InspectorController.cpp
+++ b/src/3rdparty/webkit/WebCore/inspector/InspectorController.cpp
@@ -47,6 +47,7 @@
#include "GraphicsContext.h"
#include "HTMLFrameOwnerElement.h"
#include "HitTestResult.h"
+#include "InspectorBackend.h"
#include "InspectorClient.h"
#include "InspectorFrontend.h"
#include "InspectorDatabaseResource.h"
@@ -99,65 +100,12 @@ static const char* const UserInitiatedProfileName = "org.webkit.profiles.user-in
static const char* const resourceTrackingEnabledSettingName = "resourceTrackingEnabled";
static const char* const debuggerEnabledSettingName = "debuggerEnabled";
static const char* const profilerEnabledSettingName = "profilerEnabled";
+static const char* const inspectorAttachedHeightName = "inspectorAttachedHeight";
+static const char* const lastActivePanelSettingName = "lastActivePanel";
-bool InspectorController::addSourceToFrame(const String& mimeType, const String& source, Node* frameNode)
-{
- ASSERT_ARG(frameNode, frameNode);
-
- if (!frameNode)
- return false;
-
- if (!frameNode->attached()) {
- ASSERT_NOT_REACHED();
- return false;
- }
-
- ASSERT(frameNode->isElementNode());
- if (!frameNode->isElementNode())
- return false;
-
- Element* element = static_cast<Element*>(frameNode);
- ASSERT(element->isFrameOwnerElement());
- if (!element->isFrameOwnerElement())
- return false;
-
- HTMLFrameOwnerElement* frameOwner = static_cast<HTMLFrameOwnerElement*>(element);
- ASSERT(frameOwner->contentFrame());
- if (!frameOwner->contentFrame())
- return false;
-
- FrameLoader* loader = frameOwner->contentFrame()->loader();
-
- loader->setResponseMIMEType(mimeType);
- loader->begin();
- loader->write(source);
- loader->end();
-
- return true;
-}
-
-const String& InspectorController::platform() const
-{
-#if PLATFORM(MAC)
-#ifdef BUILDING_ON_TIGER
- DEFINE_STATIC_LOCAL(const String, platform, ("mac-tiger"));
-#else
- DEFINE_STATIC_LOCAL(const String, platform, ("mac-leopard"));
-#endif
-#elif PLATFORM(WIN_OS)
- DEFINE_STATIC_LOCAL(const String, platform, ("windows"));
-#elif PLATFORM(QT)
- DEFINE_STATIC_LOCAL(const String, platform, ("qt"));
-#elif PLATFORM(GTK)
- DEFINE_STATIC_LOCAL(const String, platform, ("gtk"));
-#elif PLATFORM(WX)
- DEFINE_STATIC_LOCAL(const String, platform, ("wx"));
-#else
- DEFINE_STATIC_LOCAL(const String, platform, ("unknown"));
-#endif
-
- return platform;
-}
+static const unsigned defaultAttachedHeight = 300;
+static const float minimumAttachedHeight = 250.0f;
+static const float maximumAttachedHeightRatio = 0.75f;
static unsigned s_inspectorControllerCount;
static HashMap<String, InspectorController::Setting*>* s_settingCache;
@@ -168,13 +116,14 @@ InspectorController::InspectorController(Page* page, InspectorClient* client)
, m_page(0)
, m_scriptState(0)
, m_windowVisible(false)
- , m_showAfterVisible(ElementsPanel)
+ , m_showAfterVisible(CurrentPanel)
, m_nextIdentifier(-2)
, m_groupLevel(0)
, m_searchingForNode(false)
, m_previousMessage(0)
, m_resourceTrackingEnabled(false)
, m_resourceTrackingSettingsLoaded(false)
+ , m_inspectorBackend(InspectorBackend::create(this, client))
#if ENABLE(JAVASCRIPT_DEBUGGER)
, m_debuggerEnabled(false)
, m_attachDebuggerWhenShown(false)
@@ -209,6 +158,8 @@ InspectorController::~InspectorController()
delete s_settingCache;
s_settingCache = 0;
}
+
+ m_inspectorBackend->disconnectController();
}
void InspectorController::inspectedPageDestroyed()
@@ -279,20 +230,6 @@ void InspectorController::setSetting(const String& key, const Setting& setting)
m_client->storeSetting(key, setting);
}
-String InspectorController::localizedStringsURL()
-{
- if (!enabled())
- return String();
- return m_client->localizedStringsURL();
-}
-
-String InspectorController::hiddenPanels()
-{
- if (!enabled())
- return String();
- return m_client->hiddenPanels();
-}
-
// Trying to inspect something in a frame with JavaScript disabled would later lead to
// crashes trying to create JavaScript wrappers. Some day we could fix this issue, but
// for now prevent crashes here by never targeting a node in such a frame.
@@ -371,14 +308,27 @@ void InspectorController::setWindowVisible(bool visible, bool attached)
if (m_windowVisible) {
setAttachedWindow(attached);
populateScriptObjects();
+
+ // Console panel is implemented as a 'fast view', so there should be
+ // real panel opened along with it.
+ bool showConsole = m_showAfterVisible == ConsolePanel;
+ if (m_showAfterVisible == CurrentPanel || showConsole) {
+ Setting lastActivePanelSetting = setting(lastActivePanelSettingName);
+ if (lastActivePanelSetting.type() == Setting::StringType)
+ m_showAfterVisible = specialPanelForJSName(lastActivePanelSetting.string());
+ else
+ m_showAfterVisible = ElementsPanel;
+ }
+
if (m_nodeToFocus)
focusNode();
#if ENABLE(JAVASCRIPT_DEBUGGER)
if (m_attachDebuggerWhenShown)
enableDebugger();
#endif
- if (m_showAfterVisible != CurrentPanel)
- showPanel(m_showAfterVisible);
+ showPanel(m_showAfterVisible);
+ if (showConsole)
+ showPanel(ConsolePanel);
} else {
#if ENABLE(JAVASCRIPT_DEBUGGER)
// If the window is being closed with the debugger enabled,
@@ -391,24 +341,23 @@ void InspectorController::setWindowVisible(bool visible, bool attached)
#endif
resetScriptObjects();
}
-
m_showAfterVisible = CurrentPanel;
}
-void InspectorController::addMessageToConsole(MessageSource source, MessageLevel level, ScriptCallStack* callStack)
+void InspectorController::addMessageToConsole(MessageSource source, MessageType type, MessageLevel level, ScriptCallStack* callStack)
{
if (!enabled())
return;
- addConsoleMessage(callStack->state(), new ConsoleMessage(source, level, callStack, m_groupLevel, level == TraceMessageLevel));
+ addConsoleMessage(callStack->state(), new ConsoleMessage(source, type, level, callStack, m_groupLevel, type == TraceMessageType));
}
-void InspectorController::addMessageToConsole(MessageSource source, MessageLevel level, const String& message, unsigned lineNumber, const String& sourceID)
+void InspectorController::addMessageToConsole(MessageSource source, MessageType type, MessageLevel level, const String& message, unsigned lineNumber, const String& sourceID)
{
if (!enabled())
return;
- addConsoleMessage(0, new ConsoleMessage(source, level, message, lineNumber, sourceID, m_groupLevel));
+ addConsoleMessage(0, new ConsoleMessage(source, type, level, message, lineNumber, sourceID, m_groupLevel));
}
void InspectorController::addConsoleMessage(ScriptState* scriptState, ConsoleMessage* consoleMessage)
@@ -440,7 +389,7 @@ void InspectorController::startGroup(MessageSource source, ScriptCallStack* call
{
++m_groupLevel;
- addConsoleMessage(callStack->state(), new ConsoleMessage(source, StartGroupMessageLevel, callStack, m_groupLevel));
+ addConsoleMessage(callStack->state(), new ConsoleMessage(source, StartGroupMessageType, LogMessageLevel, callStack, m_groupLevel));
}
void InspectorController::endGroup(MessageSource source, unsigned lineNumber, const String& sourceURL)
@@ -450,14 +399,29 @@ void InspectorController::endGroup(MessageSource source, unsigned lineNumber, co
--m_groupLevel;
- addConsoleMessage(0, new ConsoleMessage(source, EndGroupMessageLevel, String(), lineNumber, sourceURL, m_groupLevel));
+ addConsoleMessage(0, new ConsoleMessage(source, EndGroupMessageType, LogMessageLevel, String(), lineNumber, sourceURL, m_groupLevel));
+}
+
+static unsigned constrainedAttachedWindowHeight(unsigned preferredHeight, unsigned totalWindowHeight)
+{
+ return roundf(max(minimumAttachedHeight, min<float>(preferredHeight, totalWindowHeight * maximumAttachedHeightRatio)));
}
void InspectorController::attachWindow()
{
if (!enabled())
return;
+
+ unsigned inspectedPageHeight = m_inspectedPage->mainFrame()->view()->visibleHeight();
+
m_client->attachWindow();
+
+ Setting attachedHeight = setting(inspectorAttachedHeightName);
+ unsigned preferredHeight = attachedHeight.type() == Setting::IntegerType ? attachedHeight.integerValue() : defaultAttachedHeight;
+
+ // We need to constrain the window height here in case the user has resized the inspected page's window so that
+ // the user's preferred height would be too big to display.
+ m_client->setAttachedWindowHeight(constrainedAttachedWindowHeight(preferredHeight, inspectedPageHeight));
}
void InspectorController::detachWindow()
@@ -479,7 +443,18 @@ void InspectorController::setAttachedWindowHeight(unsigned height)
{
if (!enabled())
return;
- m_client->setAttachedWindowHeight(height);
+
+ unsigned totalHeight = m_page->mainFrame()->view()->visibleHeight() + m_inspectedPage->mainFrame()->view()->visibleHeight();
+ unsigned attachedHeight = constrainedAttachedWindowHeight(height, totalHeight);
+
+ setSetting(inspectorAttachedHeightName, Setting(attachedHeight));
+
+ m_client->setAttachedWindowHeight(attachedHeight);
+}
+
+void InspectorController::storeLastActivePanel(const String& panelName)
+{
+ setSetting(lastActivePanelSettingName, Setting(panelName));
}
void InspectorController::toggleSearchForNodeInPage()
@@ -492,19 +467,6 @@ void InspectorController::toggleSearchForNodeInPage()
hideHighlight();
}
-void InspectorController::addResourceSourceToFrame(long identifier, Node* frame)
-{
- if (!enabled() || !m_frontend)
- return;
-
- RefPtr<InspectorResource> resource = resources().get(identifier);
- if (resource) {
- String sourceString = resource->sourceString();
- if (!sourceString.isEmpty())
- addSourceToFrame(resource->mimeType(), sourceString, frame);
- }
-}
-
void InspectorController::mouseDidMoveOverElement(const HitTestResult& result, unsigned)
{
if (!enabled() || !m_searchingForNode)
@@ -546,7 +508,7 @@ void InspectorController::windowScriptObjectAvailable()
m_page->mainFrame()->document()->securityOrigin()->grantUniversalAccess();
m_scriptState = scriptStateFromPage(m_page);
- ScriptGlobalObject::set(m_scriptState, "InspectorController", this);
+ ScriptGlobalObject::set(m_scriptState, "InspectorController", m_inspectorBackend.get());
}
void InspectorController::scriptObjectReady()
@@ -635,7 +597,18 @@ void InspectorController::close()
void InspectorController::showWindow()
{
ASSERT(enabled());
+
+ unsigned inspectedPageHeight = m_inspectedPage->mainFrame()->view()->visibleHeight();
+
m_client->showWindow();
+
+ Setting attachedHeight = setting(inspectorAttachedHeightName);
+ unsigned preferredHeight = attachedHeight.type() == Setting::IntegerType ? attachedHeight.integerValue() : defaultAttachedHeight;
+
+ // This call might not go through (if the window starts out detached), but if the window is initially created attached,
+ // InspectorController::attachWindow is never called, so we need to make sure to set the attachedWindowHeight.
+ // FIXME: Clean up code so we only have to call setAttachedWindowHeight in InspectorController::attachWindow
+ m_client->setAttachedWindowHeight(constrainedAttachedWindowHeight(preferredHeight, inspectedPageHeight));
}
void InspectorController::closeWindow()
@@ -790,7 +763,9 @@ void InspectorController::addResource(InspectorResource* resource)
void InspectorController::removeResource(InspectorResource* resource)
{
m_resources.remove(resource->identifier());
- m_knownResources.remove(resource->requestURL());
+ String requestURL = resource->requestURL();
+ if (!requestURL.isNull())
+ m_knownResources.remove(requestURL);
Frame* frame = resource->frame();
ResourcesMap* resourceMap = m_frameResources.get(frame);
@@ -987,7 +962,8 @@ void InspectorController::scriptImported(unsigned long identifier, const String&
resource->updateScriptObject(m_frontend.get());
}
-void InspectorController::enableResourceTracking(bool always) {
+void InspectorController::enableResourceTracking(bool always)
+{
if (!enabled())
return;
@@ -1005,7 +981,8 @@ void InspectorController::enableResourceTracking(bool always) {
m_inspectedPage->mainFrame()->loader()->reload();
}
-void InspectorController::disableResourceTracking(bool always) {
+void InspectorController::disableResourceTracking(bool always)
+{
if (!enabled())
return;
@@ -1098,7 +1075,7 @@ void InspectorController::addProfileFinishedMessageToConsole(PassRefPtr<Profile>
message += "/";
message += UString::from(profile->uid());
message += "\" finished.";
- addMessageToConsole(JSMessageSource, LogMessageLevel, message, lineNumber, sourceURL);
+ addMessageToConsole(JSMessageSource, LogMessageType, LogMessageLevel, message, lineNumber, sourceURL);
}
void InspectorController::addStartProfilingMessageToConsole(const UString& title, unsigned lineNumber, const UString& sourceURL)
@@ -1106,7 +1083,7 @@ void InspectorController::addStartProfilingMessageToConsole(const UString& title
UString message = "Profile \"webkit-profile://";
message += encodeWithURLEscapeSequences(title);
message += "/0\" started.";
- addMessageToConsole(JSMessageSource, LogMessageLevel, message, lineNumber, sourceURL);
+ addMessageToConsole(JSMessageSource, LogMessageType, LogMessageLevel, message, lineNumber, sourceURL);
}
void InspectorController::addScriptProfile(Profile* profile)
@@ -1114,7 +1091,7 @@ void InspectorController::addScriptProfile(Profile* profile)
if (!m_frontend)
return;
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
m_frontend->addProfile(toJS(m_scriptState, profile));
}
@@ -1263,28 +1240,6 @@ void InspectorController::disableDebugger(bool always)
m_frontend->debuggerWasDisabled();
}
-JavaScriptCallFrame* InspectorController::currentCallFrame() const
-{
- return JavaScriptDebugServer::shared().currentCallFrame();
-}
-
-bool InspectorController::pauseOnExceptions()
-{
- return JavaScriptDebugServer::shared().pauseOnExceptions();
-}
-
-void InspectorController::setPauseOnExceptions(bool pause)
-{
- JavaScriptDebugServer::shared().setPauseOnExceptions(pause);
-}
-
-void InspectorController::pauseInDebugger()
-{
- if (!m_debuggerEnabled)
- return;
- JavaScriptDebugServer::shared().pauseProgram();
-}
-
void InspectorController::resumeDebugger()
{
if (!m_debuggerEnabled)
@@ -1292,39 +1247,6 @@ void InspectorController::resumeDebugger()
JavaScriptDebugServer::shared().continueProgram();
}
-void InspectorController::stepOverStatementInDebugger()
-{
- if (!m_debuggerEnabled)
- return;
- JavaScriptDebugServer::shared().stepOverStatement();
-}
-
-void InspectorController::stepIntoStatementInDebugger()
-{
- if (!m_debuggerEnabled)
- return;
- JavaScriptDebugServer::shared().stepIntoStatement();
-}
-
-void InspectorController::stepOutOfFunctionInDebugger()
-{
- if (!m_debuggerEnabled)
- return;
- JavaScriptDebugServer::shared().stepOutOfFunction();
-}
-
-void InspectorController::addBreakpoint(const String& sourceID, unsigned lineNumber)
-{
- intptr_t sourceIDValue = sourceID.toIntPtr();
- JavaScriptDebugServer::shared().addBreakpoint(sourceIDValue, lineNumber);
-}
-
-void InspectorController::removeBreakpoint(const String& sourceID, unsigned lineNumber)
-{
- intptr_t sourceIDValue = sourceID.toIntPtr();
- JavaScriptDebugServer::shared().removeBreakpoint(sourceIDValue, lineNumber);
-}
-
// JavaScriptDebugListener functions
void InspectorController::didParseSource(ExecState*, const SourceCode& source)
@@ -1506,7 +1428,7 @@ void InspectorController::count(const String& title, unsigned lineNumber, const
m_counts.add(identifier, count);
String message = String::format("%s: %d", title.utf8().data(), count);
- addMessageToConsole(JSMessageSource, LogMessageLevel, message, lineNumber, sourceID);
+ addMessageToConsole(JSMessageSource, LogMessageType, LogMessageLevel, message, lineNumber, sourceID);
}
void InspectorController::startTiming(const String& title)
@@ -1527,4 +1449,20 @@ bool InspectorController::stopTiming(const String& title, double& elapsed)
return true;
}
+InspectorController::SpecialPanels InspectorController::specialPanelForJSName(const String& panelName)
+{
+ if (panelName == "elements")
+ return ElementsPanel;
+ else if (panelName == "resources")
+ return ResourcesPanel;
+ else if (panelName == "scripts")
+ return ScriptsPanel;
+ else if (panelName == "profiles")
+ return ProfilesPanel;
+ else if (panelName == "databases")
+ return DatabasesPanel;
+ else
+ return ElementsPanel;
+}
+
} // namespace WebCore
diff --git a/src/3rdparty/webkit/WebCore/inspector/InspectorController.h b/src/3rdparty/webkit/WebCore/inspector/InspectorController.h
index 8ba8669..771f741 100644
--- a/src/3rdparty/webkit/WebCore/inspector/InspectorController.h
+++ b/src/3rdparty/webkit/WebCore/inspector/InspectorController.h
@@ -56,6 +56,7 @@ class Database;
class DocumentLoader;
class GraphicsContext;
class HitTestResult;
+class InspectorBackend;
class InspectorClient;
class InspectorFrontend;
class JavaScriptCallFrame;
@@ -76,9 +77,9 @@ class InspectorDatabaseResource;
class InspectorDOMStorageResource;
class InspectorResource;
-class InspectorController : public RefCounted<InspectorController>
+class InspectorController
#if ENABLE(JAVASCRIPT_DEBUGGER)
- , JavaScriptDebugListener
+ : JavaScriptDebugListener
#endif
{
public:
@@ -113,6 +114,18 @@ public:
m_simpleContent.m_boolean = value;
}
+ explicit Setting(unsigned value)
+ : m_type(IntegerType)
+ {
+ m_simpleContent.m_integer = value;
+ }
+
+ explicit Setting(const String& value)
+ : m_type(StringType)
+ {
+ m_string = value;
+ }
+
Type type() const { return m_type; }
String string() const { ASSERT(m_type == StringType); return m_string; }
@@ -139,14 +152,11 @@ public:
bool m_boolean;
} m_simpleContent;
};
-
- static PassRefPtr<InspectorController> create(Page* page, InspectorClient* inspectorClient)
- {
- return adoptRef(new InspectorController(page, inspectorClient));
- }
-
+ InspectorController(Page*, InspectorClient*);
~InspectorController();
+ InspectorBackend* inspectorBackend() { return m_inspectorBackend.get(); }
+
void inspectedPageDestroyed();
void pageDestroyed() { m_page = 0; }
@@ -157,9 +167,6 @@ public:
const Setting& setting(const String& key) const;
void setSetting(const String& key, const Setting&);
- String localizedStringsURL();
- String hiddenPanels();
-
void inspect(Node*);
void highlight(Node*);
void hideHighlight();
@@ -171,18 +178,13 @@ public:
bool windowVisible();
void setWindowVisible(bool visible = true, bool attached = false);
- void addResourceSourceToFrame(long identifier, Node* frame);
- bool addSourceToFrame(const String& mimeType, const String& source, Node*);
- void addMessageToConsole(MessageSource, MessageLevel, ScriptCallStack*);
- void addMessageToConsole(MessageSource, MessageLevel, const String& message, unsigned lineNumber, const String& sourceID);
+ void addMessageToConsole(MessageSource, MessageType, MessageLevel, ScriptCallStack*);
+ void addMessageToConsole(MessageSource, MessageType, MessageLevel, const String& message, unsigned lineNumber, const String& sourceID);
void clearConsoleMessages();
void attachWindow();
void detachWindow();
- void setAttachedWindow(bool);
- void setAttachedWindowHeight(unsigned height);
-
void toggleSearchForNodeInPage();
bool searchingForNodeInPage() { return m_searchingForNode; };
void mouseDidMoveOverElement(const HitTestResult&, unsigned modifierFlags);
@@ -191,7 +193,6 @@ public:
void inspectedWindowScriptObjectCleared(Frame*);
void windowScriptObjectAvailable();
- void scriptObjectReady();
void setFrontendProxyObject(ScriptState* state, ScriptObject object);
void populateScriptObjects();
@@ -225,9 +226,6 @@ public:
const ResourcesMap& resources() const { return m_resources; }
- void moveWindowBy(float x, float y) const;
- void closeWindow();
-
void drawNodeHighlight(GraphicsContext&) const;
void count(const String& title, unsigned lineNumber, const String& sourceID);
@@ -238,8 +236,6 @@ public:
void startGroup(MessageSource source, ScriptCallStack* callFrame);
void endGroup(MessageSource source, unsigned lineNumber, const String& sourceURL);
- const String& platform() const;
-
#if ENABLE(JAVASCRIPT_DEBUGGER)
void addProfile(PassRefPtr<JSC::Profile>, unsigned lineNumber, const JSC::UString& sourceURL);
void addProfileFinishedMessageToConsole(PassRefPtr<JSC::Profile>, unsigned lineNumber, const JSC::UString& sourceURL);
@@ -250,35 +246,19 @@ public:
bool isRecordingUserInitiatedProfile() const { return m_recordingUserInitiatedProfile; }
JSC::UString getCurrentUserInitiatedProfileName(bool incrementProfileNumber);
- void startUserInitiatedProfilingSoon();
void startUserInitiatedProfiling(Timer<InspectorController>* = 0);
void stopUserInitiatedProfiling();
- void toggleRecordButton(bool);
void enableProfiler(bool always = false, bool skipRecompile = false);
void disableProfiler(bool always = false);
bool profilerEnabled() const { return enabled() && m_profilerEnabled; }
- void enableDebuggerFromFrontend(bool always);
void enableDebugger();
void disableDebugger(bool always = false);
bool debuggerEnabled() const { return m_debuggerEnabled; }
- JavaScriptCallFrame* currentCallFrame() const;
-
- void addBreakpoint(const String& sourceID, unsigned lineNumber);
- void removeBreakpoint(const String& sourceID, unsigned lineNumber);
-
- bool pauseOnExceptions();
- void setPauseOnExceptions(bool pause);
-
- void pauseInDebugger();
void resumeDebugger();
- void stepOverStatementInDebugger();
- void stepIntoStatementInDebugger();
- void stepOutOfFunctionInDebugger();
-
virtual void didParseSource(JSC::ExecState*, const JSC::SourceCode&);
virtual void failedToParseSource(JSC::ExecState*, const JSC::SourceCode&, int errorLine, const JSC::UString& errorMessage);
virtual void didPause();
@@ -286,7 +266,20 @@ public:
#endif
private:
- InspectorController(Page*, InspectorClient*);
+ friend class InspectorBackend;
+
+ // Following are used from InspectorBackend and internally.
+ void scriptObjectReady();
+ void moveWindowBy(float x, float y) const;
+ void setAttachedWindow(bool);
+ void setAttachedWindowHeight(unsigned height);
+ void storeLastActivePanel(const String& panelName);
+ void closeWindow();
+#if ENABLE(JAVASCRIPT_DEBUGGER)
+ void startUserInitiatedProfilingSoon();
+ void toggleRecordButton(bool);
+ void enableDebuggerFromFrontend(bool always);
+#endif
void focusNode();
@@ -303,6 +296,8 @@ private:
bool isMainResourceLoader(DocumentLoader* loader, const KURL& requestUrl);
+ SpecialPanels specialPanelForJSName(const String& panelName);
+
Page* m_inspectedPage;
InspectorClient* m_client;
OwnPtr<InspectorFrontend> m_frontend;
@@ -331,6 +326,7 @@ private:
ConsoleMessage* m_previousMessage;
bool m_resourceTrackingEnabled;
bool m_resourceTrackingSettingsLoaded;
+ RefPtr<InspectorBackend> m_inspectorBackend;
#if ENABLE(JAVASCRIPT_DEBUGGER)
bool m_debuggerEnabled;
bool m_attachDebuggerWhenShown;
diff --git a/src/3rdparty/webkit/WebCore/inspector/InspectorController.idl b/src/3rdparty/webkit/WebCore/inspector/InspectorController.idl
deleted file mode 100644
index c626305..0000000
--- a/src/3rdparty/webkit/WebCore/inspector/InspectorController.idl
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
- * Copyright (C) 2007, 2008 Apple Inc. All rights reserved.
- * Copyright (C) 2008 Matt Lilek <webkit@mattlilek.com>
- * Copyright (C) 2009 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-module core {
- interface [
- GenerateConstructor
- ] InspectorController {
- [ImplementationFunction=hideHighlight] void hideDOMNodeHighlight();
- [Custom] void highlightDOMNode(in Node node);
- [ImplementationFunction=scriptObjectReady] void loaded();
- [ImplementationFunction=close] void windowUnloading();
- [ImplementationFunction=attachWindow] void attach();
- [ImplementationFunction=detachWindow] void detach();
-
- void closeWindow();
- [ImplementationFunction=clearConsoleMessages] void clearMessages();
- [ImplementationFunction=toggleSearchForNodeInPage] void toggleNodeSearch();
-
- [ImplementationFunction=windowVisible] boolean isWindowVisible();
- [ImplementationFunction=searchingForNodeInPage] boolean searchingForNode();
-
- void addResourceSourceToFrame(in long identifier, in Node frame);
- boolean addSourceToFrame(in DOMString mimeType, in DOMString sourceValue, in Node frame);
- [Custom] Node getResourceDocumentNode(in long long identifier);
- [Custom] void search(in Node node, in DOMString query);
-#if defined(ENABLE_DATABASE) && ENABLE_DATABASE
- [Custom] DOMObject databaseTableNames(in Database database);
-#endif
- [Custom] DOMObject setting(in DOMString key);
- [Custom] void setSetting(in DOMString key, in DOMObject value);
- [Custom] DOMWindow inspectedWindow();
- DOMString localizedStringsURL();
- DOMString hiddenPanels();
- DOMString platform();
- [ImplementationFunction=moveWindowBy] void moveByUnrestricted(in float x, in float y);
- void setAttachedWindowHeight(in unsigned long height);
- [Custom] DOMObject wrapCallback(in DOMObject callback);
- boolean resourceTrackingEnabled();
- void enableResourceTracking(in boolean always);
- void disableResourceTracking(in boolean always);
-
-#if defined(ENABLE_JAVASCRIPT_DEBUGGER) && ENABLE_JAVASCRIPT_DEBUGGER
- void enableDebuggerFromFrontend(in boolean always);
- void disableDebugger(in boolean always);
- void pauseInDebugger();
- void resumeDebugger();
- void stepOverStatementInDebugger();
- void stepIntoStatementInDebugger();
- void stepOutOfFunctionInDebugger();
- boolean debuggerEnabled();
- boolean pauseOnExceptions();
- boolean profilerEnabled();
- [ImplementationFunction=startUserInitiatedProfiling] void startProfiling();
- [ImplementationFunction=stopUserInitiatedProfiling] void stopProfiling();
- void enableProfiler(in boolean always);
- void disableProfiler(in boolean always);
- [Custom] DOMObject currentCallFrame();
- void setPauseOnExceptions(in boolean pauseOnExceptions);
- void addBreakpoint(in DOMString sourceID, in unsigned long lineNumber);
- void removeBreakpoint(in DOMString sourceID, in unsigned long lineNumber);
-
- [Custom] Array profiles();
-#endif
- };
- }
diff --git a/src/3rdparty/webkit/WebCore/inspector/InspectorFrontend.cpp b/src/3rdparty/webkit/WebCore/inspector/InspectorFrontend.cpp
index 255f1d8..c1abd31 100644
--- a/src/3rdparty/webkit/WebCore/inspector/InspectorFrontend.cpp
+++ b/src/3rdparty/webkit/WebCore/inspector/InspectorFrontend.cpp
@@ -61,7 +61,8 @@ InspectorFrontend::~InspectorFrontend()
m_webInspector = ScriptObject();
}
-InspectorJSONObject InspectorFrontend::newInspectorJSONObject() {
+InspectorJSONObject InspectorFrontend::newInspectorJSONObject()
+{
return InspectorJSONObject::createNew(m_scriptState);
}
diff --git a/src/3rdparty/webkit/WebCore/inspector/JavaScriptCallFrame.cpp b/src/3rdparty/webkit/WebCore/inspector/JavaScriptCallFrame.cpp
index 6e8fce9..9225a03 100644
--- a/src/3rdparty/webkit/WebCore/inspector/JavaScriptCallFrame.cpp
+++ b/src/3rdparty/webkit/WebCore/inspector/JavaScriptCallFrame.cpp
@@ -62,6 +62,14 @@ const JSC::ScopeChainNode* JavaScriptCallFrame::scopeChain() const
return m_debuggerCallFrame.scopeChain();
}
+JSC::JSGlobalObject* JavaScriptCallFrame::dynamicGlobalObject() const
+{
+ ASSERT(m_isValid);
+ if (!m_isValid)
+ return 0;
+ return m_debuggerCallFrame.dynamicGlobalObject();
+}
+
String JavaScriptCallFrame::functionName() const
{
ASSERT(m_isValid);
@@ -96,7 +104,7 @@ JSValue JavaScriptCallFrame::evaluate(const UString& script, JSValue& exception)
if (!m_isValid)
return jsNull();
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
return m_debuggerCallFrame.evaluate(script, exception);
}
diff --git a/src/3rdparty/webkit/WebCore/inspector/JavaScriptCallFrame.h b/src/3rdparty/webkit/WebCore/inspector/JavaScriptCallFrame.h
index 9f193d8..e86b0eb 100644
--- a/src/3rdparty/webkit/WebCore/inspector/JavaScriptCallFrame.h
+++ b/src/3rdparty/webkit/WebCore/inspector/JavaScriptCallFrame.h
@@ -61,6 +61,7 @@ namespace WebCore {
String functionName() const;
JSC::DebuggerCallFrame::Type type() const;
const JSC::ScopeChainNode* scopeChain() const;
+ JSC::JSGlobalObject* dynamicGlobalObject() const;
JSC::JSObject* thisObject() const;
JSC::JSValue evaluate(const JSC::UString& script, JSC::JSValue& exception) const;
diff --git a/src/3rdparty/webkit/WebCore/inspector/JavaScriptDebugServer.cpp b/src/3rdparty/webkit/WebCore/inspector/JavaScriptDebugServer.cpp
index bb6358c..10eff26 100644
--- a/src/3rdparty/webkit/WebCore/inspector/JavaScriptDebugServer.cpp
+++ b/src/3rdparty/webkit/WebCore/inspector/JavaScriptDebugServer.cpp
@@ -275,6 +275,19 @@ static Page* toPage(JSGlobalObject* globalObject)
return frame ? frame->page() : 0;
}
+void JavaScriptDebugServer::detach(JSGlobalObject* globalObject)
+{
+ // If we're detaching from the currently executing global object, manually tear down our
+ // stack, since we won't get further debugger callbacks to do so. Also, resume execution,
+ // since there's no point in staying paused once a window closes.
+ if (m_currentCallFrame && m_currentCallFrame->dynamicGlobalObject() == globalObject) {
+ m_currentCallFrame = 0;
+ m_pauseOnCallFrame = 0;
+ continueProgram();
+ }
+ Debugger::detach(globalObject);
+}
+
void JavaScriptDebugServer::sourceParsed(ExecState* exec, const SourceCode& source, int errorLine, const UString& errorMessage)
{
if (m_callingListeners)
@@ -387,12 +400,12 @@ void JavaScriptDebugServer::setJavaScriptPaused(FrameView* view, bool paused)
if (!view)
return;
- const HashSet<Widget*>* children = view->children();
+ const HashSet<RefPtr<Widget> >* children = view->children();
ASSERT(children);
- HashSet<Widget*>::const_iterator end = children->end();
- for (HashSet<Widget*>::const_iterator it = children->begin(); it != end; ++it) {
- Widget* widget = *it;
+ HashSet<RefPtr<Widget> >::const_iterator end = children->end();
+ for (HashSet<RefPtr<Widget> >::const_iterator it = children->begin(); it != end; ++it) {
+ Widget* widget = (*it).get();
if (!widget->isPluginView())
continue;
static_cast<PluginView*>(widget)->setJavaScriptPaused(paused);
@@ -541,7 +554,7 @@ void JavaScriptDebugServer::recompileAllJSFunctionsSoon()
void JavaScriptDebugServer::recompileAllJSFunctions(Timer<JavaScriptDebugServer>*)
{
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
JSGlobalData* globalData = JSDOMWindow::commonJSGlobalData();
// If JavaScript is running, it's not safe to recompile, since we'll end
diff --git a/src/3rdparty/webkit/WebCore/inspector/JavaScriptDebugServer.h b/src/3rdparty/webkit/WebCore/inspector/JavaScriptDebugServer.h
index 4ec3e33..baa6699 100644
--- a/src/3rdparty/webkit/WebCore/inspector/JavaScriptDebugServer.h
+++ b/src/3rdparty/webkit/WebCore/inspector/JavaScriptDebugServer.h
@@ -39,6 +39,7 @@
namespace JSC {
class DebuggerCallFrame;
+ class JSGlobalObject;
}
namespace WebCore {
@@ -99,6 +100,8 @@ namespace WebCore {
void dispatchFunctionToListeners(JavaScriptExecutionCallback, Page*);
void pauseIfNeeded(Page*);
+
+ virtual void detach(JSC::JSGlobalObject*);
virtual void sourceParsed(JSC::ExecState*, const JSC::SourceCode&, int errorLine, const JSC::UString& errorMsg);
virtual void callEvent(const JSC::DebuggerCallFrame&, intptr_t sourceID, int lineNumber);
diff --git a/src/3rdparty/webkit/WebCore/inspector/JavaScriptProfileNode.cpp b/src/3rdparty/webkit/WebCore/inspector/JavaScriptProfileNode.cpp
index 5b5c340..3c3e279 100644
--- a/src/3rdparty/webkit/WebCore/inspector/JavaScriptProfileNode.cpp
+++ b/src/3rdparty/webkit/WebCore/inspector/JavaScriptProfileNode.cpp
@@ -84,7 +84,7 @@ static JSValueRef getLineNumber(JSContextRef ctx, JSObjectRef thisObject, JSStri
static JSValueRef getTotalTime(JSContextRef ctx, JSObjectRef thisObject, JSStringRef, JSValueRef*)
{
- JSC::JSLock lock(false);
+ JSC::JSLock lock(SilenceAssertionsOnly);
if (!JSValueIsObjectOfClass(ctx, thisObject, ProfileNodeClass()))
return JSValueMakeUndefined(ctx);
@@ -95,7 +95,7 @@ static JSValueRef getTotalTime(JSContextRef ctx, JSObjectRef thisObject, JSStrin
static JSValueRef getSelfTime(JSContextRef ctx, JSObjectRef thisObject, JSStringRef, JSValueRef*)
{
- JSC::JSLock lock(false);
+ JSC::JSLock lock(SilenceAssertionsOnly);
if (!JSValueIsObjectOfClass(ctx, thisObject, ProfileNodeClass()))
return JSValueMakeUndefined(ctx);
@@ -106,7 +106,7 @@ static JSValueRef getSelfTime(JSContextRef ctx, JSObjectRef thisObject, JSString
static JSValueRef getTotalPercent(JSContextRef ctx, JSObjectRef thisObject, JSStringRef, JSValueRef*)
{
- JSC::JSLock lock(false);
+ JSC::JSLock lock(SilenceAssertionsOnly);
if (!JSValueIsObjectOfClass(ctx, thisObject, ProfileNodeClass()))
return JSValueMakeUndefined(ctx);
@@ -117,7 +117,7 @@ static JSValueRef getTotalPercent(JSContextRef ctx, JSObjectRef thisObject, JSSt
static JSValueRef getSelfPercent(JSContextRef ctx, JSObjectRef thisObject, JSStringRef, JSValueRef*)
{
- JSC::JSLock lock(false);
+ JSC::JSLock lock(SilenceAssertionsOnly);
if (!JSValueIsObjectOfClass(ctx, thisObject, ProfileNodeClass()))
return JSValueMakeUndefined(ctx);
@@ -128,7 +128,7 @@ static JSValueRef getSelfPercent(JSContextRef ctx, JSObjectRef thisObject, JSStr
static JSValueRef getNumberOfCalls(JSContextRef ctx, JSObjectRef thisObject, JSStringRef, JSValueRef*)
{
- JSC::JSLock lock(false);
+ JSC::JSLock lock(SilenceAssertionsOnly);
if (!JSValueIsObjectOfClass(ctx, thisObject, ProfileNodeClass()))
return JSValueMakeUndefined(ctx);
@@ -139,7 +139,7 @@ static JSValueRef getNumberOfCalls(JSContextRef ctx, JSObjectRef thisObject, JSS
static JSValueRef getChildren(JSContextRef ctx, JSObjectRef thisObject, JSStringRef, JSValueRef* exception)
{
- JSC::JSLock lock(false);
+ JSC::JSLock lock(SilenceAssertionsOnly);
if (!JSValueIsObjectOfClass(ctx, thisObject, ProfileNodeClass()))
return JSValueMakeUndefined(ctx);
@@ -186,7 +186,7 @@ static JSValueRef getChildren(JSContextRef ctx, JSObjectRef thisObject, JSString
static JSValueRef getParent(JSContextRef ctx, JSObjectRef thisObject, JSStringRef, JSValueRef*)
{
- JSC::JSLock lock(false);
+ JSC::JSLock lock(SilenceAssertionsOnly);
if (!JSValueIsObjectOfClass(ctx, thisObject, ProfileNodeClass()))
return JSValueMakeUndefined(ctx);
@@ -198,7 +198,7 @@ static JSValueRef getParent(JSContextRef ctx, JSObjectRef thisObject, JSStringRe
static JSValueRef getHead(JSContextRef ctx, JSObjectRef thisObject, JSStringRef, JSValueRef*)
{
- JSC::JSLock lock(false);
+ JSC::JSLock lock(SilenceAssertionsOnly);
if (!JSValueIsObjectOfClass(ctx, thisObject, ProfileNodeClass()))
return JSValueMakeUndefined(ctx);
@@ -210,7 +210,7 @@ static JSValueRef getHead(JSContextRef ctx, JSObjectRef thisObject, JSStringRef,
static JSValueRef getVisible(JSContextRef ctx, JSObjectRef thisObject, JSStringRef, JSValueRef*)
{
- JSC::JSLock lock(false);
+ JSC::JSLock lock(SilenceAssertionsOnly);
if (!JSValueIsObjectOfClass(ctx, thisObject, ProfileNodeClass()))
return JSValueMakeUndefined(ctx);
@@ -221,7 +221,7 @@ static JSValueRef getVisible(JSContextRef ctx, JSObjectRef thisObject, JSStringR
static JSValueRef getCallUID(JSContextRef ctx, JSObjectRef thisObject, JSStringRef, JSValueRef*)
{
- JSC::JSLock lock(false);
+ JSC::JSLock lock(SilenceAssertionsOnly);
if (!JSValueIsObjectOfClass(ctx, thisObject, ProfileNodeClass()))
return JSValueMakeUndefined(ctx);
diff --git a/src/3rdparty/webkit/WebCore/inspector/front-end/Breakpoint.js b/src/3rdparty/webkit/WebCore/inspector/front-end/Breakpoint.js
index 8611cf5..347df60 100644
--- a/src/3rdparty/webkit/WebCore/inspector/front-end/Breakpoint.js
+++ b/src/3rdparty/webkit/WebCore/inspector/front-end/Breakpoint.js
@@ -29,6 +29,7 @@ WebInspector.Breakpoint = function(url, line, sourceID)
this.line = line;
this.sourceID = sourceID;
this._enabled = true;
+ this._sourceText = "";
}
WebInspector.Breakpoint.prototype = {
@@ -48,6 +49,28 @@ WebInspector.Breakpoint.prototype = {
this.dispatchEventToListeners("enabled");
else
this.dispatchEventToListeners("disabled");
+ },
+
+ get sourceText()
+ {
+ return this._sourceText;
+ },
+
+ set sourceText(text)
+ {
+ this._sourceText = text;
+ this.dispatchEventToListeners("text-changed");
+ },
+
+ get label()
+ {
+ var displayName = (this.url ? WebInspector.displayNameForURL(this.url) : WebInspector.UIString("(program)"));
+ return displayName + ":" + this.line;
+ },
+
+ get id()
+ {
+ return this.sourceID + ":" + this.line;
}
}
diff --git a/src/3rdparty/webkit/WebCore/inspector/front-end/BreakpointsSidebarPane.js b/src/3rdparty/webkit/WebCore/inspector/front-end/BreakpointsSidebarPane.js
index 2b8f3cd..14f8c06 100644
--- a/src/3rdparty/webkit/WebCore/inspector/front-end/BreakpointsSidebarPane.js
+++ b/src/3rdparty/webkit/WebCore/inspector/front-end/BreakpointsSidebarPane.js
@@ -27,7 +27,10 @@ WebInspector.BreakpointsSidebarPane = function()
{
WebInspector.SidebarPane.call(this, WebInspector.UIString("Breakpoints"));
- this.breakpoints = [];
+ this.breakpoints = {};
+
+ this.listElement = document.createElement("ol");
+ this.listElement.className = "breakpoint-list";
this.emptyElement = document.createElement("div");
this.emptyElement.className = "info";
@@ -39,11 +42,21 @@ WebInspector.BreakpointsSidebarPane = function()
WebInspector.BreakpointsSidebarPane.prototype = {
addBreakpoint: function(breakpoint)
{
- this.breakpoints.push(breakpoint);
+ if (this.breakpoints[breakpoint.id])
+ return;
+
+ this.breakpoints[breakpoint.id] = breakpoint;
+
breakpoint.addEventListener("enabled", this._breakpointEnableChanged, this);
breakpoint.addEventListener("disabled", this._breakpointEnableChanged, this);
+ breakpoint.addEventListener("text-changed", this._breakpointTextChanged, this);
- // FIXME: add to the breakpoints UI.
+ this._appendBreakpointElement(breakpoint);
+
+ if (this.emptyElement.parentElement) {
+ this.bodyElement.removeChild(this.emptyElement);
+ this.bodyElement.appendChild(this.listElement);
+ }
if (!InspectorController.debuggerEnabled() || !breakpoint.sourceID)
return;
@@ -52,13 +65,73 @@ WebInspector.BreakpointsSidebarPane.prototype = {
InspectorController.addBreakpoint(breakpoint.sourceID, breakpoint.line);
},
+ _appendBreakpointElement: function(breakpoint)
+ {
+ function checkboxClicked()
+ {
+ breakpoint.enabled = !breakpoint.enabled;
+ }
+
+ function labelClicked()
+ {
+ var script = WebInspector.panels.scripts.scriptOrResourceForID(breakpoint.sourceID);
+ if (script)
+ WebInspector.panels.scripts.showScript(script, breakpoint.line);
+ }
+
+ var breakpointElement = document.createElement("li");
+ breakpoint._breakpointListElement = breakpointElement;
+ breakpointElement._breakpointObject = breakpoint;
+
+ var checkboxElement = document.createElement("input");
+ checkboxElement.className = "checkbox-elem";
+ checkboxElement.type = "checkbox";
+ checkboxElement.checked = breakpoint.enabled;
+ checkboxElement.addEventListener("click", checkboxClicked, false);
+ breakpointElement.appendChild(checkboxElement);
+
+ var labelElement = document.createElement("a");
+ labelElement.textContent = breakpoint.label;
+ labelElement.addEventListener("click", labelClicked, false);
+ breakpointElement.appendChild(labelElement);
+
+ var sourceTextElement = document.createElement("div");
+ sourceTextElement.textContent = breakpoint.sourceText;
+ sourceTextElement.className = "source-text";
+ breakpointElement.appendChild(sourceTextElement);
+
+ var currentElement = this.listElement.firstChild;
+ while (currentElement) {
+ var currentBreak = currentElement._breakpointObject;
+ if (currentBreak.url > breakpoint.url) {
+ this.listElement.insertBefore(breakpointElement, currentElement);
+ return;
+ } else if (currentBreak.url == breakpoint.url && currentBreak.line > breakpoint.line) {
+ this.listElement.insertBefore(breakpointElement, currentElement);
+ return;
+ }
+ currentElement = currentElement.nextSibling;
+ }
+ this.listElement.appendChild(breakpointElement);
+ },
+
removeBreakpoint: function(breakpoint)
{
- this.breakpoints.remove(breakpoint);
+ if (!this.breakpoints[breakpoint.id])
+ return;
+ delete this.breakpoints[breakpoint.id];
+
breakpoint.removeEventListener("enabled", null, this);
breakpoint.removeEventListener("disabled", null, this);
+ breakpoint.removeEventListener("text-changed", null, this);
- // FIXME: remove from the breakpoints UI.
+ var element = breakpoint._breakpointListElement;
+ element.parentElement.removeChild(element);
+
+ if (!this.listElement.firstChild) {
+ this.bodyElement.removeChild(this.listElement);
+ this.bodyElement.appendChild(this.emptyElement);
+ }
if (!InspectorController.debuggerEnabled() || !breakpoint.sourceID)
return;
@@ -70,7 +143,8 @@ WebInspector.BreakpointsSidebarPane.prototype = {
{
var breakpoint = event.target;
- // FIXME: change the breakpoint checkbox state in the UI.
+ var checkbox = breakpoint._breakpointListElement.firstChild;
+ checkbox.checked = breakpoint.enabled;
if (!InspectorController.debuggerEnabled() || !breakpoint.sourceID)
return;
@@ -79,6 +153,14 @@ WebInspector.BreakpointsSidebarPane.prototype = {
InspectorController.addBreakpoint(breakpoint.sourceID, breakpoint.line);
else
InspectorController.removeBreakpoint(breakpoint.sourceID, breakpoint.line);
+ },
+
+ _breakpointTextChanged: function(event)
+ {
+ var breakpoint = event.target;
+
+ var sourceTextElement = breakpoint._breakpointListElement.firstChild.nextSibling.nextSibling;
+ sourceTextElement.textContent = breakpoint.sourceText;
}
}
diff --git a/src/3rdparty/webkit/WebCore/inspector/front-end/CallStackSidebarPane.js b/src/3rdparty/webkit/WebCore/inspector/front-end/CallStackSidebarPane.js
index a2c8bed..c08cc7a 100644
--- a/src/3rdparty/webkit/WebCore/inspector/front-end/CallStackSidebarPane.js
+++ b/src/3rdparty/webkit/WebCore/inspector/front-end/CallStackSidebarPane.js
@@ -26,6 +26,16 @@
WebInspector.CallStackSidebarPane = function()
{
WebInspector.SidebarPane.call(this, WebInspector.UIString("Call Stack"));
+
+ this._shortcuts = {};
+
+ var shortcut = WebInspector.KeyboardShortcut.makeKey(WebInspector.KeyboardShortcut.KeyCodes.Period,
+ WebInspector.KeyboardShortcut.Modifiers.Ctrl);
+ this._shortcuts[shortcut] = this._selectNextCallFrameOnStack.bind(this);
+
+ var shortcut = WebInspector.KeyboardShortcut.makeKey(WebInspector.KeyboardShortcut.KeyCodes.Comma,
+ WebInspector.KeyboardShortcut.Modifiers.Ctrl);
+ this._shortcuts[shortcut] = this._selectPreviousCallFrameOnStack.bind(this);
}
WebInspector.CallStackSidebarPane.prototype = {
@@ -100,6 +110,53 @@ WebInspector.CallStackSidebarPane.prototype = {
this.dispatchEventToListeners("call frame selected");
},
+ handleKeyEvent: function(event)
+ {
+ var shortcut = WebInspector.KeyboardShortcut.makeKeyFromEvent(event);
+ var handler = this._shortcuts[shortcut];
+ if (handler) {
+ handler(event);
+ event.preventDefault();
+ event.handled = true;
+ }
+ },
+
+ _selectNextCallFrameOnStack: function()
+ {
+ var index = this._selectedCallFrameIndex();
+ if (index == -1)
+ return;
+ this._selectedPlacardByIndex(index + 1);
+ },
+
+ _selectPreviousCallFrameOnStack: function()
+ {
+ var index = this._selectedCallFrameIndex();
+ if (index == -1)
+ return;
+ this._selectedPlacardByIndex(index - 1);
+ },
+
+ _selectedPlacardByIndex: function(index)
+ {
+ if (index < 0 || index >= this.placards.length)
+ return;
+ var placard = this.placards[index];
+ this.selectedCallFrame = placard.callFrame
+ },
+
+ _selectedCallFrameIndex: function()
+ {
+ if (!this._selectedCallFrame)
+ return -1;
+ for (var i = 0; i < this.placards.length; ++i) {
+ var placard = this.placards[i];
+ if (placard.callFrame === this._selectedCallFrame)
+ return i;
+ }
+ return -1;
+ },
+
_placardSelected: function(event)
{
var placardElement = event.target.enclosingNodeOrSelfWithClass("placard");
diff --git a/src/3rdparty/webkit/WebCore/inspector/front-end/Console.js b/src/3rdparty/webkit/WebCore/inspector/front-end/Console.js
index bce1784..520e213 100644
--- a/src/3rdparty/webkit/WebCore/inspector/front-end/Console.js
+++ b/src/3rdparty/webkit/WebCore/inspector/front-end/Console.js
@@ -198,7 +198,7 @@ WebInspector.Console.prototype = {
this.messages.push(msg);
- if (msg.level === WebInspector.ConsoleMessage.MessageLevel.EndGroup) {
+ if (msg.type === WebInspector.ConsoleMessage.MessageType.EndGroup) {
if (this.groupLevel < 1)
return;
@@ -206,7 +206,7 @@ WebInspector.Console.prototype = {
this.currentGroup = this.currentGroup.parentGroup;
} else {
- if (msg.level === WebInspector.ConsoleMessage.MessageLevel.StartGroup) {
+ if (msg.type === WebInspector.ConsoleMessage.MessageType.StartGroup) {
this.groupLevel++;
var group = new WebInspector.ConsoleGroup(this.currentGroup, this.groupLevel);
@@ -260,16 +260,7 @@ WebInspector.Console.prototype = {
return;
var reportCompletions = this._reportCompletions.bind(this, bestMatchOnly, completionsReadyCallback, dotNotation, bracketNotation, prefix);
- if (expressionString) {
- this._evalInInspectedWindow(expressionString, reportCompletions);
- } else {
- // There is no expressionString, so the completion should happen against global properties.
- // Or if the debugger is paused, against properties in scope of the selected call frame.
- if (WebInspector.panels.scripts && WebInspector.panels.scripts.paused)
- reportCompletions(WebInspector.panels.scripts.variablesInScopeForSelectedCallFrame());
- else
- reportCompletions(InspectorController.inspectedWindow());
- }
+ this._evalInInspectedWindow(expressionString, reportCompletions);
},
_reportCompletions: function(bestMatchOnly, completionsReadyCallback, dotNotation, bracketNotation, prefix, result) {
@@ -397,7 +388,6 @@ WebInspector.Console.prototype = {
WebInspector.panels.scripts.evaluateInSelectedCallFrame(expression, false, callback);
return;
}
-
this.doEvalInWindow(expression, callback);
},
@@ -419,18 +409,42 @@ WebInspector.Console.prototype = {
}, \
dir: function() { return console.dir.apply(console, arguments) }, \
dirxml: function() { return console.dirxml.apply(console, arguments) }, \
- keys: function(o) { var a = []; for (k in o) a.push(k); return a; }, \
- values: function(o) { var a = []; for (k in o) a.push(o[k]); return a; }, \
+ keys: function(o) { var a = []; for (var k in o) a.push(k); return a; }, \
+ values: function(o) { var a = []; for (var k in o) a.push(o[k]); return a; }, \
profile: function() { return console.profile.apply(console, arguments) }, \
- profileEnd: function() { return console.profileEnd.apply(console, arguments) } \
+ profileEnd: function() { return console.profileEnd.apply(console, arguments) }, \
+ _inspectedNodes: [], \
+ _addInspectedNode: function(node) { \
+ var inspectedNodes = _inspectorCommandLineAPI._inspectedNodes; \
+ inspectedNodes.unshift(node); \
+ if (inspectedNodes.length >= 5) \
+ inspectedNodes.pop(); \
+ }, \
+ get $0() { return _inspectorCommandLineAPI._inspectedNodes[0] }, \
+ get $1() { return _inspectorCommandLineAPI._inspectedNodes[1] }, \
+ get $2() { return _inspectorCommandLineAPI._inspectedNodes[2] }, \
+ get $3() { return _inspectorCommandLineAPI._inspectedNodes[3] }, \
+ get $4() { return _inspectorCommandLineAPI._inspectedNodes[4] } \
};");
inspectedWindow._inspectorCommandLineAPI.clear = InspectorController.wrapCallback(this.clearMessages.bind(this));
}
},
-
+
+ addInspectedNode: function(node)
+ {
+ var inspectedWindow = InspectorController.inspectedWindow();
+ this._ensureCommandLineAPIInstalled(inspectedWindow);
+ inspectedWindow._inspectorCommandLineAPI._addInspectedNode(node);
+ },
+
doEvalInWindow: function(expression, callback)
{
+ if (!expression) {
+ // There is no expression, so the completion should happen against global properties.
+ expression = "this";
+ }
+
// Surround the expression in with statements to inject our command line API so that
// the window object properties still take more precedent than our API functions.
expression = "with (window._inspectorCommandLineAPI) { with (window) { " + expression + " } }";
@@ -581,23 +595,24 @@ WebInspector.Console.prototype = {
WebInspector.Console.prototype.__proto__ = WebInspector.View.prototype;
-WebInspector.ConsoleMessage = function(source, level, line, url, groupLevel, repeatCount)
+WebInspector.ConsoleMessage = function(source, type, level, line, url, groupLevel, repeatCount)
{
this.source = source;
+ this.type = type;
this.level = level;
this.line = line;
this.url = url;
this.groupLevel = groupLevel;
this.repeatCount = repeatCount;
- if (arguments.length > 6)
- this.setMessageBody(Array.prototype.slice.call(arguments, 6));
+ if (arguments.length > 7)
+ this.setMessageBody(Array.prototype.slice.call(arguments, 7));
}
WebInspector.ConsoleMessage.prototype = {
setMessageBody: function(args)
{
- switch (this.level) {
- case WebInspector.ConsoleMessage.MessageLevel.Trace:
+ switch (this.type) {
+ case WebInspector.ConsoleMessage.MessageType.Trace:
var span = document.createElement("span");
span.addStyleClass("console-formatted-trace");
var stack = Array.prototype.slice.call(args);
@@ -607,7 +622,7 @@ WebInspector.ConsoleMessage.prototype = {
span.appendChild(document.createTextNode(funcNames.join("\n")));
this.formattedMessage = span;
break;
- case WebInspector.ConsoleMessage.MessageLevel.Object:
+ case WebInspector.ConsoleMessage.MessageType.Object:
this.formattedMessage = this._format(["%O", args[0]]);
break;
default:
@@ -725,8 +740,10 @@ WebInspector.ConsoleMessage.prototype = {
case WebInspector.ConsoleMessage.MessageLevel.Error:
element.addStyleClass("console-error-level");
break;
- case WebInspector.ConsoleMessage.MessageLevel.StartGroup:
- element.addStyleClass("console-group-title-level");
+ }
+
+ if (this.type === WebInspector.ConsoleMessage.MessageType.StartGroup) {
+ element.addStyleClass("console-group-title");
}
if (this.elementsTreeOutline) {
@@ -793,6 +810,25 @@ WebInspector.ConsoleMessage.prototype = {
break;
}
+ var typeString;
+ switch (this.type) {
+ case WebInspector.ConsoleMessage.MessageType.Log:
+ typeString = "Log";
+ break;
+ case WebInspector.ConsoleMessage.MessageType.Object:
+ typeString = "Object";
+ break;
+ case WebInspector.ConsoleMessage.MessageType.Trace:
+ typeString = "Trace";
+ break;
+ case WebInspector.ConsoleMessage.MessageType.StartGroup:
+ typeString = "Start Group";
+ break;
+ case WebInspector.ConsoleMessage.MessageType.EndGroup:
+ typeString = "End Group";
+ break;
+ }
+
var levelString;
switch (this.level) {
case WebInspector.ConsoleMessage.MessageLevel.Tip:
@@ -807,21 +843,9 @@ WebInspector.ConsoleMessage.prototype = {
case WebInspector.ConsoleMessage.MessageLevel.Error:
levelString = "Error";
break;
- case WebInspector.ConsoleMessage.MessageLevel.Object:
- levelString = "Object";
- break;
- case WebInspector.ConsoleMessage.MessageLevel.Trace:
- levelString = "Trace";
- break;
- case WebInspector.ConsoleMessage.MessageLevel.StartGroup:
- levelString = "Start Group";
- break;
- case WebInspector.ConsoleMessage.MessageLevel.EndGroup:
- levelString = "End Group";
- break;
}
- return sourceString + " " + levelString + ": " + this.formattedMessage.textContent + "\n" + this.url + " line " + this.line;
+ return sourceString + " " + typeString + " " + levelString + ": " + this.formattedMessage.textContent + "\n" + this.url + " line " + this.line;
},
isEqual: function(msg, disreguardGroup)
@@ -830,6 +854,7 @@ WebInspector.ConsoleMessage.prototype = {
return false;
var ret = (this.source == msg.source)
+ && (this.type == msg.type)
&& (this.level == msg.level)
&& (this.line == msg.line)
&& (this.url == msg.url)
@@ -849,15 +874,19 @@ WebInspector.ConsoleMessage.MessageSource = {
Other: 5
}
+WebInspector.ConsoleMessage.MessageType = {
+ Log: 0,
+ Object: 1,
+ Trace: 2,
+ StartGroup: 3,
+ EndGroup: 4
+}
+
WebInspector.ConsoleMessage.MessageLevel = {
Tip: 0,
Log: 1,
Warning: 2,
- Error: 3,
- Object: 4,
- Trace: 5,
- StartGroup: 6,
- EndGroup: 7
+ Error: 3
}
WebInspector.ConsoleCommand = function(command)
@@ -888,7 +917,7 @@ WebInspector.ConsoleCommandResult = function(result, exception, originatingComma
var line = (exception ? result.line : -1);
var url = (exception ? result.sourceURL : null);
- WebInspector.ConsoleMessage.call(this, WebInspector.ConsoleMessage.MessageSource.JS, level, line, url, null, 1, message);
+ WebInspector.ConsoleMessage.call(this, WebInspector.ConsoleMessage.MessageSource.JS, WebInspector.ConsoleMessage.MessageType.Log, level, line, url, null, 1, message);
this.originatingCommand = originatingCommand;
}
@@ -925,7 +954,7 @@ WebInspector.ConsoleGroup.prototype = {
{
var element = msg.toMessageElement();
- if (msg.level === WebInspector.ConsoleMessage.MessageLevel.StartGroup) {
+ if (msg.type === WebInspector.ConsoleMessage.MessageType.StartGroup) {
this.messagesElement.parentNode.insertBefore(element, this.messagesElement);
element.addEventListener("click", this._titleClicked.bind(this), true);
} else
@@ -937,7 +966,7 @@ WebInspector.ConsoleGroup.prototype = {
_titleClicked: function(event)
{
- var groupTitleElement = event.target.enclosingNodeOrSelfWithClass("console-group-title-level");
+ var groupTitleElement = event.target.enclosingNodeOrSelfWithClass("console-group-title");
if (groupTitleElement) {
var groupElement = groupTitleElement.enclosingNodeOrSelfWithClass("console-group");
if (groupElement)
diff --git a/src/3rdparty/webkit/WebCore/inspector/front-end/DatabasesPanel.js b/src/3rdparty/webkit/WebCore/inspector/front-end/DatabasesPanel.js
index 4644b3b..b1d815f 100644
--- a/src/3rdparty/webkit/WebCore/inspector/front-end/DatabasesPanel.js
+++ b/src/3rdparty/webkit/WebCore/inspector/front-end/DatabasesPanel.js
@@ -332,7 +332,7 @@ WebInspector.DatabasesPanel.prototype = {
var nodes = [];
var length = domStorage.length;
- for (index = 0; index < domStorage.length; index++) {
+ for (var index = 0; index < domStorage.length; index++) {
var data = {};
var key = String(domStorage.key(index));
diff --git a/src/3rdparty/webkit/WebCore/inspector/front-end/ElementsPanel.js b/src/3rdparty/webkit/WebCore/inspector/front-end/ElementsPanel.js
index 3c9be54..76d9746 100644
--- a/src/3rdparty/webkit/WebCore/inspector/front-end/ElementsPanel.js
+++ b/src/3rdparty/webkit/WebCore/inspector/front-end/ElementsPanel.js
@@ -60,6 +60,8 @@ WebInspector.ElementsPanel = function()
InspectorController.toggleNodeSearch();
this.panel.nodeSearchButton.removeStyleClass("toggled-on");
}
+
+ WebInspector.console.addInspectedNode(this._focusedDOMNode);
};
this.contentElement.appendChild(this.treeOutline.element);
diff --git a/src/3rdparty/webkit/WebCore/inspector/front-end/ElementsTreeOutline.js b/src/3rdparty/webkit/WebCore/inspector/front-end/ElementsTreeOutline.js
index 2da2f10..ef53209 100644
--- a/src/3rdparty/webkit/WebCore/inspector/front-end/ElementsTreeOutline.js
+++ b/src/3rdparty/webkit/WebCore/inspector/front-end/ElementsTreeOutline.js
@@ -1,6 +1,7 @@
/*
* Copyright (C) 2007, 2008 Apple Inc. All rights reserved.
* Copyright (C) 2008 Matt Lilek <webkit@mattlilek.com>
+ * Copyright (C) 2009 Joseph Pecoraro
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -255,6 +256,9 @@ WebInspector.ElementsTreeElement = function(node)
// The title will be updated in onattach.
TreeElement.call(this, "", node, titleInfo.hasChildren);
+
+ if (this.representedObject.nodeType == Node.ELEMENT_NODE)
+ this._canAddAttributes = true;
}
WebInspector.ElementsTreeElement.prototype = {
@@ -296,9 +300,36 @@ WebInspector.ElementsTreeElement.prototype = {
this.listItemElement.addStyleClass("hovered");
} else
this.listItemElement.removeStyleClass("hovered");
+ if (this._canAddAttributes)
+ this.toggleNewAttributeButton();
}
},
+ toggleNewAttributeButton: function()
+ {
+ function removeWhenEditing(event)
+ {
+ if (this._addAttributeElement && this._addAttributeElement.parentNode)
+ this._addAttributeElement.parentNode.removeChild(this._addAttributeElement);
+ delete this._addAttributeElement;
+ }
+
+ if (!this._addAttributeElement && this._hovered && !this._editing) {
+ var span = document.createElement("span");
+ span.className = "add-attribute";
+ span.textContent = "\u2026";
+ span.addEventListener("dblclick", removeWhenEditing.bind(this), false);
+ this._addAttributeElement = span;
+
+ var tag = this.listItemElement.getElementsByClassName("webkit-html-tag")[0];
+ this._insertInLastAttributePosition(tag, span);
+ } else if (!this._hovered && this._addAttributeElement) {
+ if (this._addAttributeElement.parentNode)
+ this._addAttributeElement.parentNode.removeChild(this._addAttributeElement);
+ delete this._addAttributeElement;
+ }
+ },
+
updateSelection: function()
{
var listItemElement = this.listItemElement;
@@ -483,7 +514,7 @@ WebInspector.ElementsTreeElement.prototype = {
if (this._editing)
return;
- if (this._startEditing(event))
+ if (this._startEditing(event, treeElement))
return;
if (this.treeOutline.panel) {
@@ -495,7 +526,20 @@ WebInspector.ElementsTreeElement.prototype = {
this.expand();
},
- _startEditing: function(event)
+ _insertInLastAttributePosition: function(tag, node)
+ {
+ if (tag.getElementsByClassName("webkit-html-attribute").length > 0)
+ tag.insertBefore(node, tag.lastChild);
+ else {
+ var nodeName = tag.textContent.match(/^<(.*?)>$/)[1];
+ tag.textContent = '';
+ tag.appendChild(document.createTextNode('<'+nodeName));
+ tag.appendChild(node);
+ tag.appendChild(document.createTextNode('>'));
+ }
+ },
+
+ _startEditing: function(event, treeElement)
{
if (this.treeOutline.focusedDOMNode != this.representedObject)
return;
@@ -509,12 +553,51 @@ WebInspector.ElementsTreeElement.prototype = {
var attribute = event.target.enclosingNodeOrSelfWithClass("webkit-html-attribute");
if (attribute)
- return this._startEditingAttribute(attribute, event);
+ return this._startEditingAttribute(attribute, event.target);
+
+ var newAttribute = event.target.enclosingNodeOrSelfWithClass("add-attribute");
+ if (newAttribute)
+ return this._addNewAttribute(treeElement.listItemElement);
return false;
},
- _startEditingAttribute: function(attribute, event)
+ _addNewAttribute: function(listItemElement)
+ {
+ var attr = document.createElement("span");
+ attr.className = "webkit-html-attribute";
+ attr.style.marginLeft = "2px"; // overrides the .editing margin rule
+ attr.style.marginRight = "2px"; // overrides the .editing margin rule
+ var name = document.createElement("span");
+ name.className = "webkit-html-attribute-name new-attribute";
+ name.textContent = " ";
+ var value = document.createElement("span");
+ value.className = "webkit-html-attribute-value";
+ attr.appendChild(name);
+ attr.appendChild(value);
+
+ var tag = listItemElement.getElementsByClassName("webkit-html-tag")[0];
+ this._insertInLastAttributePosition(tag, attr);
+ return this._startEditingAttribute(attr, attr);
+ },
+
+ _triggerEditAttribute: function(attributeName)
+ {
+ var attributeElements = this.listItemElement.getElementsByClassName("webkit-html-attribute-name");
+ for (var i = 0, len = attributeElements.length; i < len; ++i) {
+ if (attributeElements[i].textContent === attributeName) {
+ for (var elem = attributeElements[i].nextSibling; elem; elem = elem.nextSibling) {
+ if (elem.nodeType !== Node.ELEMENT_NODE)
+ continue;
+
+ if (elem.hasStyleClass("webkit-html-attribute-value"))
+ return this._startEditingAttribute(attributeElements[i].parentNode, elem);
+ }
+ }
+ }
+ },
+
+ _startEditingAttribute: function(attribute, elementForSelection)
{
if (WebInspector.isBeingEdited(attribute))
return true;
@@ -545,7 +628,7 @@ WebInspector.ElementsTreeElement.prototype = {
this._editing = true;
WebInspector.startEditing(attribute, this._attributeEditingCommitted.bind(this), this._editingCancelled.bind(this), attributeName);
- window.getSelection().setBaseAndExtent(event.target, 0, event.target, 1);
+ window.getSelection().setBaseAndExtent(elementForSelection, 0, elementForSelection, 1);
return true;
},
@@ -563,15 +646,56 @@ WebInspector.ElementsTreeElement.prototype = {
return true;
},
- _attributeEditingCommitted: function(element, newText, oldText, attributeName)
+ _attributeEditingCommitted: function(element, newText, oldText, attributeName, moveDirection)
{
delete this._editing;
+ // Before we do anything, determine where we should move
+ // next based on the current element's settings
+ var moveToAttribute;
+ var newAttribute;
+ if (moveDirection) {
+ var found = false;
+ var attributes = this.representedObject.attributes;
+ for (var i = 0, len = attributes.length; i < len; ++i) {
+ if (attributes[i].name === attributeName) {
+ found = true;
+ if (moveDirection === "backward" && i > 0)
+ moveToAttribute = attributes[i - 1].name;
+ else if (moveDirection === "forward" && i < attributes.length - 1)
+ moveToAttribute = attributes[i + 1].name;
+ else if (moveDirection === "forward" && i === attributes.length - 1)
+ newAttribute = true;
+ }
+ }
+
+ if (!found && moveDirection === "backward")
+ moveToAttribute = attributes[attributes.length - 1].name;
+ else if (!found && moveDirection === "forward" && !/^\s*$/.test(newText))
+ newAttribute = true;
+ }
+
+ function moveToNextAttributeIfNeeded() {
+ if (moveToAttribute)
+ this._triggerEditAttribute(moveToAttribute);
+ else if (newAttribute)
+ this._addNewAttribute(this.listItemElement);
+ }
+
var parseContainerElement = document.createElement("span");
parseContainerElement.innerHTML = "<span " + newText + "></span>";
var parseElement = parseContainerElement.firstChild;
- if (!parseElement || !parseElement.hasAttributes()) {
- this._editingCancelled(element, context);
+
+ if (!parseElement) {
+ this._editingCancelled(element, attributeName);
+ moveToNextAttributeIfNeeded.call(this);
+ return;
+ }
+
+ if (!parseElement.hasAttributes()) {
+ InspectorController.inspectedWindow().Element.prototype.removeAttribute.call(this.representedObject, attributeName);
+ this._updateTitle();
+ moveToNextAttributeIfNeeded.call(this);
return;
}
@@ -579,7 +703,9 @@ WebInspector.ElementsTreeElement.prototype = {
for (var i = 0; i < parseElement.attributes.length; ++i) {
var attr = parseElement.attributes[i];
foundOriginalAttribute = foundOriginalAttribute || attr.name === attributeName;
- InspectorController.inspectedWindow().Element.prototype.setAttribute.call(this.representedObject, attr.name, attr.value);
+ try {
+ InspectorController.inspectedWindow().Element.prototype.setAttribute.call(this.representedObject, attr.name, attr.value);
+ } catch(e) {} // ignore invalid attribute (innerHTML doesn't throw errors, but this can)
}
if (!foundOriginalAttribute)
@@ -588,6 +714,8 @@ WebInspector.ElementsTreeElement.prototype = {
this._updateTitle();
this.treeOutline.focusedNodeChanged(true);
+
+ moveToNextAttributeIfNeeded.call(this);
},
_textNodeEditingCommitted: function(element, newText)
diff --git a/src/3rdparty/webkit/WebCore/inspector/front-end/KeyboardShortcut.js b/src/3rdparty/webkit/WebCore/inspector/front-end/KeyboardShortcut.js
new file mode 100644
index 0000000..ed28a48
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/inspector/front-end/KeyboardShortcut.js
@@ -0,0 +1,108 @@
+/*
+ * Copyright (C) 2009 Apple Inc. All rights reserved.
+ * Copyright (C) 2009 Google Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+WebInspector.KeyboardShortcut = function()
+{
+};
+
+/**
+ * Constants for encoding modifier key set as a bit mask.
+ * @see #_makeKeyFromCodeAndModifiers
+ */
+WebInspector.KeyboardShortcut.Modifiers = {
+ None: 0, // Constant for empty modifiers set.
+ Shift: 1,
+ Ctrl: 2,
+ Alt: 4,
+ Meta: 8 // Command key on Mac, Win key on other platforms.
+};
+
+WebInspector.KeyboardShortcut.KeyCodes = {
+ Esc: 27,
+ Space: 32,
+ PageUp: 33, // also NUM_NORTH_EAST
+ PageDown: 34, // also NUM_SOUTH_EAST
+ End: 35, // also NUM_SOUTH_WEST
+ Home: 36, // also NUM_NORTH_WEST
+ Left: 37, // also NUM_WEST
+ Up: 38, // also NUM_NORTH
+ Right: 39, // also NUM_EAST
+ Down: 40, // also NUM_SOUTH
+ F1: 112,
+ F2: 113,
+ F3: 114,
+ F4: 115,
+ F5: 116,
+ F6: 117,
+ F7: 118,
+ F8: 119,
+ F9: 120,
+ F10: 121,
+ F11: 122,
+ F12: 123,
+ Semicolon: 186, // ;
+ Comma: 188, // ,
+ Period: 190, // .
+ Slash: 191, // /
+ Apostrophe: 192, // `
+ SingleQuote: 222, // '
+};
+
+/**
+ * Creates a number encoding keyCode in the lower 8 bits and modifiers mask in the higher 8 bits.
+ * It is usefull for matching pressed keys.
+ * @param {number} keyCode Code of the key.
+ * @param {number} optModifiers Optional list of modifiers passed as additional paramerters.
+ */
+WebInspector.KeyboardShortcut.makeKey = function(keyCode, optModifiers)
+{
+ var modifiers = WebInspector.KeyboardShortcut.Modifiers.None;
+ for (var i = 1; i < arguments.length; i++)
+ modifiers |= arguments[i];
+ return WebInspector.KeyboardShortcut._makeKeyFromCodeAndModifiers(keyCode, modifiers);
+};
+
+WebInspector.KeyboardShortcut.makeKeyFromEvent = function(keyboardEvent)
+{
+ var modifiers = WebInspector.KeyboardShortcut.Modifiers.None;
+ if (keyboardEvent.shiftKey)
+ modifiers |= WebInspector.KeyboardShortcut.Modifiers.Shift;
+ if (keyboardEvent.ctrlKey)
+ modifiers |= WebInspector.KeyboardShortcut.Modifiers.Ctrl;
+ if (keyboardEvent.altKey)
+ modifiers |= WebInspector.KeyboardShortcut.Modifiers.Alt;
+ if (keyboardEvent.metaKey)
+ modifiers |= WebInspector.KeyboardShortcut.Modifiers.Meta;
+ return WebInspector.KeyboardShortcut._makeKeyFromCodeAndModifiers(keyboardEvent.keyCode, modifiers);
+};
+
+WebInspector.KeyboardShortcut._makeKeyFromCodeAndModifiers = function(keyCode, modifiers)
+{
+ return (keyCode & 255) | (modifiers << 8);
+};
diff --git a/src/3rdparty/webkit/WebCore/inspector/front-end/ObjectPropertiesSection.js b/src/3rdparty/webkit/WebCore/inspector/front-end/ObjectPropertiesSection.js
index 59e7374..d8c34d7 100644
--- a/src/3rdparty/webkit/WebCore/inspector/front-end/ObjectPropertiesSection.js
+++ b/src/3rdparty/webkit/WebCore/inspector/front-end/ObjectPropertiesSection.js
@@ -1,5 +1,6 @@
/*
* Copyright (C) 2008 Apple Inc. All Rights Reserved.
+ * Copyright (C) 2009 Joseph Pecoraro
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -58,7 +59,7 @@ WebInspector.ObjectPropertiesSection.prototype = {
if (this.extraProperties)
for (var prop in this.extraProperties)
properties.push(prop);
- properties.sort();
+ properties.sort(this._displaySort);
this.propertiesTreeOutline.removeChildren();
@@ -79,6 +80,44 @@ WebInspector.ObjectPropertiesSection.prototype = {
var infoElement = new TreeElement(title, null, false);
this.propertiesTreeOutline.appendChild(infoElement);
}
+ },
+
+ _displaySort: function(a,b) {
+
+ // if used elsewhere make sure to
+ // - convert a and b to strings (not needed here, properties are all strings)
+ // - check if a == b (not needed here, no two properties can be the same)
+
+ var diff = 0;
+ var chunk = /^\d+|^\D+/;
+ var chunka, chunkb, anum, bnum;
+ while (diff === 0) {
+ if (!a && b)
+ return -1;
+ if (!b && a)
+ return 1;
+ chunka = a.match(chunk)[0];
+ chunkb = b.match(chunk)[0];
+ anum = !isNaN(chunka);
+ bnum = !isNaN(chunkb);
+ if (anum && !bnum)
+ return -1;
+ if (bnum && !anum)
+ return 1;
+ if (anum && bnum) {
+ diff = chunka - chunkb;
+ if (diff === 0 && chunka.length !== chunkb.length) {
+ if (!+chunka && !+chunkb) // chunks are strings of all 0s (special case)
+ return chunka.length - chunkb.length;
+ else
+ return chunkb.length - chunka.length;
+ }
+ } else if (chunka !== chunkb)
+ return (chunka < chunkb) ? -1 : 1;
+ a = a.substring(chunka.length);
+ b = b.substring(chunkb.length);
+ }
+ return diff;
}
}
@@ -109,7 +148,7 @@ WebInspector.ObjectPropertyTreeElement.prototype = {
this.removeChildren();
var childObject = this.safePropertyValue(this.parentObject, this.propertyName);
- var properties = Object.sortedProperties(childObject);
+ var properties = Object.sortedProperties(childObject, WebInspector.ObjectPropertiesSection.prototype._displaySort);
for (var i = 0; i < properties.length; ++i) {
var propertyName = properties[i];
if (propertyName === "__treeElementIdentifier")
@@ -156,7 +195,7 @@ WebInspector.ObjectPropertyTreeElement.prototype = {
var hasSubProperties = false;
var type = typeof childObject;
if (childObject && (type === "object" || type === "function")) {
- for (subPropertyName in childObject) {
+ for (var subPropertyName in childObject) {
if (subPropertyName === "__treeElementIdentifier")
continue;
hasSubProperties = true;
diff --git a/src/3rdparty/webkit/WebCore/inspector/front-end/Resource.js b/src/3rdparty/webkit/WebCore/inspector/front-end/Resource.js
index 058f232..bcb7b2a 100644
--- a/src/3rdparty/webkit/WebCore/inspector/front-end/Resource.js
+++ b/src/3rdparty/webkit/WebCore/inspector/front-end/Resource.js
@@ -341,12 +341,6 @@ WebInspector.Resource.prototype = {
}
},
- get documentNode() {
- if ("identifier" in this)
- return InspectorController.getResourceDocumentNode(this.identifier);
- return null;
- },
-
get requestHeaders()
{
if (this._requestHeaders === undefined)
@@ -489,7 +483,8 @@ WebInspector.Resource.prototype = {
// Otherwise, we flood the Console with too many tips.
/*
var msg = new WebInspector.ConsoleMessage(WebInspector.ConsoleMessage.MessageSource.Other,
- WebInspector.ConsoleMessage.MessageLevel.Tip, -1, this.url, null, 1, tip.message);
+ WebInspector.ConsoleMessage.MessageType.Log, WebInspector.ConsoleMessage.MessageLevel.Tip,
+ -1, this.url, null, 1, tip.message);
WebInspector.console.addMessage(msg);
*/
},
@@ -549,6 +544,7 @@ WebInspector.Resource.prototype = {
case WebInspector.Warnings.IncorrectMIMEType.id:
if (!this._mimeTypeIsConsistentWithType())
msg = new WebInspector.ConsoleMessage(WebInspector.ConsoleMessage.MessageSource.Other,
+ WebInspector.ConsoleMessage.MessageType.Log,
WebInspector.ConsoleMessage.MessageLevel.Warning, -1, this.url, null, 1,
String.sprintf(WebInspector.Warnings.IncorrectMIMEType.message,
WebInspector.Resource.Type.toString(this.type), this.mimeType));
diff --git a/src/3rdparty/webkit/WebCore/inspector/front-end/ResourcesPanel.js b/src/3rdparty/webkit/WebCore/inspector/front-end/ResourcesPanel.js
index 04d998e..3804b5b 100644
--- a/src/3rdparty/webkit/WebCore/inspector/front-end/ResourcesPanel.js
+++ b/src/3rdparty/webkit/WebCore/inspector/front-end/ResourcesPanel.js
@@ -126,7 +126,7 @@ WebInspector.ResourcesPanel = function()
this.resourcesTreeElement.expand();
- var panelEnablerHeading = WebInspector.UIString("You need to enable resource tracking to use the this panel.");
+ var panelEnablerHeading = WebInspector.UIString("You need to enable resource tracking to use this panel.");
var panelEnablerDisclaimer = WebInspector.UIString("Enabling resource tracking will reload the page and make page loading slower.");
var panelEnablerButton = WebInspector.UIString("Enable resource tracking");
@@ -1453,6 +1453,12 @@ WebInspector.ResourceSidebarTreeElement.prototype = {
{
WebInspector.SidebarTreeElement.prototype.onattach.call(this);
+ var link = document.createElement("a");
+ link.href = this.resource.url;
+ link.className = "invisible";
+ while (this._listItemNode.firstChild)
+ link.appendChild(this._listItemNode.firstChild);
+ this._listItemNode.appendChild(link);
this._listItemNode.addStyleClass("resources-category-" + this.resource.category.name);
},
@@ -1460,6 +1466,11 @@ WebInspector.ResourceSidebarTreeElement.prototype = {
{
WebInspector.panels.resources.showResource(this.resource);
},
+
+ ondblclick: function(treeElement, event)
+ {
+ InspectorController.inspectedWindow().open(this.resource.url);
+ },
get mainTitle()
{
diff --git a/src/3rdparty/webkit/WebCore/inspector/front-end/ScriptsPanel.js b/src/3rdparty/webkit/WebCore/inspector/front-end/ScriptsPanel.js
index d30c002..6fcf42f 100644
--- a/src/3rdparty/webkit/WebCore/inspector/front-end/ScriptsPanel.js
+++ b/src/3rdparty/webkit/WebCore/inspector/front-end/ScriptsPanel.js
@@ -56,6 +56,7 @@ WebInspector.ScriptsPanel = function()
this.filesSelectElement.className = "status-bar-item";
this.filesSelectElement.id = "scripts-files";
this.filesSelectElement.addEventListener("change", this._changeVisibleFile.bind(this), false);
+ this.filesSelectElement.handleKeyEvent = this.handleKeyEvent.bind(this);
this.topStatusBar.appendChild(this.filesSelectElement);
this.functionsSelectElement = document.createElement("select");
@@ -132,13 +133,11 @@ WebInspector.ScriptsPanel = function()
for (var pane in this.sidebarPanes)
this.sidebarElement.appendChild(this.sidebarPanes[pane].element);
- // FIXME: remove the following line of code when the Breakpoints pane has content.
- this.sidebarElement.removeChild(this.sidebarPanes.breakpoints.element);
-
this.sidebarPanes.callstack.expanded = true;
this.sidebarPanes.callstack.addEventListener("call frame selected", this._callFrameSelected, this);
this.sidebarPanes.scopechain.expanded = true;
+ this.sidebarPanes.breakpoints.expanded = true;
var panelEnablerHeading = WebInspector.UIString("You need to enable debugging before you can use the Scripts panel.");
var panelEnablerDisclaimer = WebInspector.UIString("Enabling debugging will make scripts run slower.");
@@ -163,6 +162,39 @@ WebInspector.ScriptsPanel = function()
this._breakpointsURLMap = {};
+ this._shortcuts = {};
+
+ var isMac = InspectorController.platform().indexOf("mac-") === 0;
+ var platformSpecificModifier = isMac ? WebInspector.KeyboardShortcut.Modifiers.Meta : WebInspector.KeyboardShortcut.Modifiers.Ctrl;
+
+ // Continue.
+ var handler = this.pauseButton.click.bind(this.pauseButton);
+ var shortcut = WebInspector.KeyboardShortcut.makeKey(WebInspector.KeyboardShortcut.KeyCodes.F8);
+ this._shortcuts[shortcut] = handler;
+ var shortcut = WebInspector.KeyboardShortcut.makeKey(WebInspector.KeyboardShortcut.KeyCodes.Slash, platformSpecificModifier);
+ this._shortcuts[shortcut] = handler;
+
+ // Step over.
+ var handler = this.stepOverButton.click.bind(this.stepOverButton);
+ var shortcut = WebInspector.KeyboardShortcut.makeKey(WebInspector.KeyboardShortcut.KeyCodes.F10);
+ this._shortcuts[shortcut] = handler;
+ var shortcut = WebInspector.KeyboardShortcut.makeKey(WebInspector.KeyboardShortcut.KeyCodes.SingleQuote, platformSpecificModifier);
+ this._shortcuts[shortcut] = handler;
+
+ // Step into.
+ var handler = this.stepIntoButton.click.bind(this.stepIntoButton);
+ var shortcut = WebInspector.KeyboardShortcut.makeKey(WebInspector.KeyboardShortcut.KeyCodes.F11);
+ this._shortcuts[shortcut] = handler;
+ var shortcut = WebInspector.KeyboardShortcut.makeKey(WebInspector.KeyboardShortcut.KeyCodes.Semicolon, platformSpecificModifier);
+ this._shortcuts[shortcut] = handler;
+
+ // Step out.
+ var handler = this.stepOutButton.click.bind(this.stepOutButton);
+ var shortcut = WebInspector.KeyboardShortcut.makeKey(WebInspector.KeyboardShortcut.KeyCodes.F11, WebInspector.KeyboardShortcut.Modifiers.Shift);
+ this._shortcuts[shortcut] = handler;
+ var shortcut = WebInspector.KeyboardShortcut.makeKey(WebInspector.KeyboardShortcut.KeyCodes.Semicolon, WebInspector.KeyboardShortcut.Modifiers.Shift, platformSpecificModifier);
+ this._shortcuts[shortcut] = handler;
+
this.reset();
}
@@ -206,7 +238,7 @@ WebInspector.ScriptsPanel.prototype = {
view.visible = false;
}
if (this._attachDebuggerWhenShown) {
- InspectorController.enableDebuggerFromFrontend(false);
+ InspectorController.enableDebugger(false);
delete this._attachDebuggerWhenShown;
}
},
@@ -265,6 +297,11 @@ WebInspector.ScriptsPanel.prototype = {
this._addScriptToFilesMenu(script);
},
+ scriptOrResourceForID: function(id)
+ {
+ return this._sourceIDMap[id];
+ },
+
addBreakpoint: function(breakpoint)
{
this.sidebarPanes.breakpoints.addBreakpoint(breakpoint);
@@ -326,19 +363,25 @@ WebInspector.ScriptsPanel.prototype = {
updateInterface = true;
var self = this;
- function updatingCallbackWrapper(result)
+ function updatingCallbackWrapper(result, exception)
{
- callback(result);
+ callback(result, exception);
if (updateInterface)
self.sidebarPanes.scopechain.update(selectedCallFrame);
- }
+ }
this.doEvalInCallFrame(selectedCallFrame, code, updatingCallbackWrapper);
},
doEvalInCallFrame: function(callFrame, code, callback)
{
+ var panel = this;
function delayedEvaluation()
{
+ if (!code) {
+ // Evaluate into properties in scope of the selected call frame.
+ callback(panel._variablesInScope(callFrame));
+ return;
+ }
try {
callback(callFrame.evaluate(code));
} catch (e) {
@@ -348,20 +391,15 @@ WebInspector.ScriptsPanel.prototype = {
setTimeout(delayedEvaluation, 0);
},
- variablesInScopeForSelectedCallFrame: function()
+ _variablesInScope: function(callFrame)
{
- var selectedCallFrame = this.sidebarPanes.callstack.selectedCallFrame;
- if (!this._paused || !selectedCallFrame)
- return {};
-
var result = {};
- var scopeChain = selectedCallFrame.scopeChain;
+ var scopeChain = callFrame.scopeChain;
for (var i = 0; i < scopeChain.length; ++i) {
var scopeObject = scopeChain[i];
for (var property in scopeObject)
result[property] = true;
}
-
return result;
},
@@ -394,7 +432,7 @@ WebInspector.ScriptsPanel.prototype = {
attachDebuggerWhenShown: function()
{
if (this.element.parentElement) {
- InspectorController.enableDebuggerFromFrontend(false);
+ InspectorController.enableDebugger(false);
} else {
this._attachDebuggerWhenShown = true;
}
@@ -486,6 +524,19 @@ WebInspector.ScriptsPanel.prototype = {
this._showScriptOrResource((view.resource || view.script));
},
+ handleKeyEvent: function(event)
+ {
+ var shortcut = WebInspector.KeyboardShortcut.makeKeyFromEvent(event);
+ var handler = this._shortcuts[shortcut];
+ if (handler) {
+ handler(event);
+ event.preventDefault();
+ event.handled = true;
+ } else {
+ this.sidebarPanes.callstack.handleKeyEvent(event);
+ }
+ },
+
scriptViewForScript: function(script)
{
if (!script)
@@ -815,7 +866,7 @@ WebInspector.ScriptsPanel.prototype = {
if (InspectorController.debuggerEnabled())
InspectorController.disableDebugger(true);
else
- InspectorController.enableDebuggerFromFrontend(!!optionalAlways);
+ InspectorController.enableDebugger(!!optionalAlways);
},
_togglePauseOnExceptions: function()
diff --git a/src/3rdparty/webkit/WebCore/inspector/front-end/SourceFrame.js b/src/3rdparty/webkit/WebCore/inspector/front-end/SourceFrame.js
index 18d9073..930eb16 100644
--- a/src/3rdparty/webkit/WebCore/inspector/front-end/SourceFrame.js
+++ b/src/3rdparty/webkit/WebCore/inspector/front-end/SourceFrame.js
@@ -27,6 +27,7 @@ WebInspector.SourceFrame = function(element, addBreakpointDelegate)
{
this.messages = [];
this.breakpoints = [];
+ this._shortcuts = {};
this.addBreakpointDelegate = addBreakpointDelegate;
@@ -199,8 +200,16 @@ WebInspector.SourceFrame.prototype = {
{
WebInspector.addMainEventListeners(this.element.contentDocument);
this.element.contentDocument.addEventListener("mousedown", this._documentMouseDown.bind(this), true);
+ this.element.contentDocument.addEventListener("keydown", this._documentKeyDown.bind(this), true);
+ this.element.contentDocument.addEventListener("keyup", WebInspector.documentKeyUp.bind(WebInspector), true);
this.element.contentDocument.addEventListener("webkitAnimationEnd", this._highlightLineEnds.bind(this), false);
+ // Register 'eval' shortcut.
+ var isMac = InspectorController.platform().indexOf("mac-") === 0;
+ var platformSpecificModifier = isMac ? WebInspector.KeyboardShortcut.Modifiers.Meta : WebInspector.KeyboardShortcut.Modifiers.Ctrl;
+ var shortcut = WebInspector.KeyboardShortcut.makeKey(69 /* 'E' */, platformSpecificModifier | WebInspector.KeyboardShortcut.Modifiers.Shift);
+ this._shortcuts[shortcut] = this._evalSelectionInCallFrame.bind(this);
+
var headElement = this.element.contentDocument.getElementsByTagName("head")[0];
if (!headElement) {
headElement = this.element.contentDocument.createElement("head");
@@ -286,6 +295,36 @@ WebInspector.SourceFrame.prototype = {
this.addBreakpointDelegate(this.lineNumberForSourceRow(sourceRow));
},
+ _documentKeyDown: function(event)
+ {
+ var shortcut = WebInspector.KeyboardShortcut.makeKeyFromEvent(event);
+ var handler = this._shortcuts[shortcut];
+ if (handler) {
+ handler(event);
+ event.preventDefault();
+ } else {
+ WebInspector.documentKeyDown(event);
+ }
+ },
+
+ _evalSelectionInCallFrame: function(event)
+ {
+ if (!WebInspector.panels.scripts || !WebInspector.panels.scripts.paused)
+ return;
+
+ var selection = this.element.contentWindow.getSelection();
+ if (!selection.rangeCount)
+ return;
+
+ var expression = selection.getRangeAt(0).toString().trimWhitespace();
+ WebInspector.panels.scripts.evaluateInSelectedCallFrame(expression, false, function(result, exception) {
+ WebInspector.showConsole();
+ var commandMessage = new WebInspector.ConsoleCommand(expression);
+ WebInspector.console.addMessage(commandMessage);
+ WebInspector.console.addMessage(new WebInspector.ConsoleCommandResult(result, exception, commandMessage));
+ });
+ },
+
_breakpointEnableChanged: function(event)
{
var breakpoint = event.target;
@@ -332,6 +371,8 @@ WebInspector.SourceFrame.prototype = {
if (!sourceRow)
return;
+ breakpoint.sourceText = sourceRow.getElementsByClassName('webkit-line-content')[0].textContent;
+
this._drawBreakpointImagesIfNeeded();
sourceRow._breakpointObject = breakpoint;
diff --git a/src/3rdparty/webkit/WebCore/inspector/front-end/SourceView.js b/src/3rdparty/webkit/WebCore/inspector/front-end/SourceView.js
index 7510c8c..97a5bd5 100644
--- a/src/3rdparty/webkit/WebCore/inspector/front-end/SourceView.js
+++ b/src/3rdparty/webkit/WebCore/inspector/front-end/SourceView.js
@@ -104,8 +104,11 @@ WebInspector.SourceView.prototype = {
{
delete this._frameNeedsSetup;
this.sourceFrame.removeEventListener("content loaded", this._contentLoaded, this);
-
- if (this.resource.type === WebInspector.Resource.Type.Script) {
+
+ if (this.resource.type === WebInspector.Resource.Type.Script
+ || this.resource.mimeType === 'application/json'
+ || this.resource.mimeType === 'application/javascript'
+ || /\.js(on)?$/.test(this.resource.lastPathComponent) ) {
this.sourceFrame.addEventListener("syntax highlighting complete", this._syntaxHighlightingComplete, this);
this.sourceFrame.syntaxHighlightJavascript();
} else
diff --git a/src/3rdparty/webkit/WebCore/inspector/front-end/StylesSidebarPane.js b/src/3rdparty/webkit/WebCore/inspector/front-end/StylesSidebarPane.js
index c30444b..1785d77 100644
--- a/src/3rdparty/webkit/WebCore/inspector/front-end/StylesSidebarPane.js
+++ b/src/3rdparty/webkit/WebCore/inspector/front-end/StylesSidebarPane.js
@@ -1,5 +1,6 @@
/*
* Copyright (C) 2007 Apple Inc. All rights reserved.
+ * Copyright (C) 2009 Joseph Pecoraro
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -387,6 +388,11 @@ WebInspector.StylePropertiesSection.prototype = {
child = child.traverseNextTreeElement(false, null, true);
}
}
+
+ if (this._afterUpdate) {
+ this._afterUpdate(this);
+ delete this._afterUpdate;
+ }
},
onpopulate: function()
@@ -425,6 +431,26 @@ WebInspector.StylePropertiesSection.prototype = {
var item = new WebInspector.StylePropertyTreeElement(style, name, isShorthand, inherited, overloaded, disabled);
this.propertiesTreeOutline.appendChild(item);
}
+ },
+
+ findTreeElementWithName: function(name)
+ {
+ var treeElement = this.propertiesTreeOutline.children[0];
+ while (treeElement) {
+ if (treeElement.name === name)
+ return treeElement;
+ treeElement = treeElement.traverseNextTreeElement(true, null, true);
+ }
+ return null;
+ },
+
+ addNewBlankProperty: function()
+ {
+ var item = new WebInspector.StylePropertyTreeElement(this.styleRule.style, "", false, false, false, false);
+ this.propertiesTreeOutline.appendChild(item);
+ item.listItemElement.textContent = "";
+ item._newProperty = true;
+ return item;
}
}
@@ -558,10 +584,12 @@ WebInspector.StylePropertyTreeElement.prototype = {
var nameElement = document.createElement("span");
nameElement.className = "name";
nameElement.textContent = this.name;
+ this.nameElement = nameElement;
var valueElement = document.createElement("span");
valueElement.className = "value";
valueElement.innerHTML = htmlValue;
+ this.valueElement = valueElement;
if (priority) {
var priorityElement = document.createElement("span");
@@ -843,14 +871,56 @@ WebInspector.StylePropertyTreeElement.prototype = {
this.editingEnded(context);
},
- editingCommitted: function(element, userInput, previousContent, context)
+ editingCommitted: function(element, userInput, previousContent, context, moveDirection)
{
this.editingEnded(context);
- if (userInput === previousContent)
- return; // nothing changed, so do nothing else
+ // Determine where to move to before making changes
+ var newProperty = false;
+ var moveToPropertyName;
+ var moveTo = (moveDirection === "forward" ? this.nextSibling : this.previousSibling);
+ if (moveTo)
+ moveToPropertyName = moveTo.name;
+ else if (moveDirection === "forward")
+ newProperty = true;
+
+ // Make the Changes and trigger the moveToNextCallback after updating
+ var blankInput = /^\s*$/.test(userInput);
+ if (userInput !== previousContent || (this._newProperty && blankInput)) { // only if something changed, or adding a new style and it was blank
+ this.treeOutline.section._afterUpdate = moveToNextCallback.bind(this, this._newProperty, !blankInput);
+ this.applyStyleText(userInput, true);
+ } else
+ moveToNextCallback(this._newProperty, false, this.treeOutline.section, false);
+
+ // The Callback to start editing the next property
+ function moveToNextCallback(alreadyNew, valueChanged, section) {
+ if (!moveDirection)
+ return;
+
+ // User just tabbed through without changes
+ if (moveTo && moveTo.parent) {
+ moveTo.startEditing(moveTo.valueElement);
+ return;
+ }
+
+ // User has made a change then tabbed, wiping all the original treeElements,
+ // recalculate the new treeElement for the same property we were going to edit next
+ if (moveTo && !moveTo.parent) {
+ var treeElement = section.findTreeElementWithName(moveToPropertyName);
+ if (treeElement)
+ treeElement.startEditing(treeElement.valueElement);
+ return;
+ }
+
+ // Create a new attribute in this section
+ if (newProperty) {
+ if (alreadyNew && !valueChanged)
+ return;
- this.applyStyleText(userInput, true);
+ var item = section.addNewBlankProperty();
+ item.startEditing();
+ }
+ }
},
applyStyleText: function(styleText, updateInterface)
@@ -876,7 +946,9 @@ WebInspector.StylePropertyTreeElement.prototype = {
if (!styleTextLength) {
if (updateInterface) {
- // The user deleted the everything, so remove the tree element and update.
+ // The user deleted everything, so remove the tree element and update.
+ if (!this._newProperty)
+ delete this.treeOutline.section._afterUpdate;
if (this.treeOutline.section && this.treeOutline.section.pane)
this.treeOutline.section.pane.update();
this.parent.removeChild(this);
@@ -886,7 +958,12 @@ WebInspector.StylePropertyTreeElement.prototype = {
if (!tempStyle.length) {
// The user typed something, but it didn't parse. Just abort and restore
- // the original title for this property.
+ // the original title for this property. If this was a new attribute and
+ // we couldn't parse, then just remove it.
+ if (this._newProperty) {
+ this.parent.removeChild(this);
+ return;
+ }
if (updateInterface)
this.updateTitle();
return;
diff --git a/src/3rdparty/webkit/WebCore/inspector/front-end/TextPrompt.js b/src/3rdparty/webkit/WebCore/inspector/front-end/TextPrompt.js
index 30772f7..4194ff1 100644
--- a/src/3rdparty/webkit/WebCore/inspector/front-end/TextPrompt.js
+++ b/src/3rdparty/webkit/WebCore/inspector/front-end/TextPrompt.js
@@ -159,10 +159,9 @@ WebInspector.TextPrompt.prototype = {
return;
var selectionRange = selection.getRangeAt(0);
- var wordPrefixRange = selectionRange.startContainer.rangeOfWord(selectionRange.startOffset, this.completionStopCharacters, this.element, "backward");
var fullWordRange = document.createRange();
- fullWordRange.setStart(wordPrefixRange.startContainer, wordPrefixRange.startOffset);
+ fullWordRange.setStart(originalWordPrefixRange.startContainer, originalWordPrefixRange.startOffset);
fullWordRange.setEnd(selectionRange.endContainer, selectionRange.endOffset);
if (originalWordPrefixRange.toString() + selectionRange.toString() != fullWordRange.toString())
@@ -185,7 +184,7 @@ WebInspector.TextPrompt.prototype = {
var completionText = completions[foundIndex + 1];
}
- var wordPrefixLength = wordPrefixRange.toString().length;
+ var wordPrefixLength = originalWordPrefixRange.toString().length;
this._userEnteredRange = fullWordRange;
this._userEnteredText = fullWordRange.toString();
diff --git a/src/3rdparty/webkit/WebCore/inspector/front-end/WebKit.qrc b/src/3rdparty/webkit/WebCore/inspector/front-end/WebKit.qrc
index 76a925b..6619499 100644
--- a/src/3rdparty/webkit/WebCore/inspector/front-end/WebKit.qrc
+++ b/src/3rdparty/webkit/WebCore/inspector/front-end/WebKit.qrc
@@ -19,6 +19,7 @@
<file>FontView.js</file>
<file>ImageView.js</file>
<file>inspector.js</file>
+ <file>KeyboardShortcut.js</file>
<file>MetricsSidebarPane.js</file>
<file>Object.js</file>
<file>ObjectPropertiesSection.js</file>
@@ -109,6 +110,7 @@
<file>Images/resourcePlainIcon.png</file>
<file>Images/resourcePlainIconSmall.png</file>
<file>Images/resourcesIcon.png</file>
+ <file>Images/resourcesSilhouette.png</file>
<file>Images/resourcesSizeGraphIcon.png</file>
<file>Images/resourcesTimeGraphIcon.png</file>
<file>Images/scriptsIcon.png</file>
diff --git a/src/3rdparty/webkit/WebCore/inspector/front-end/inspector.css b/src/3rdparty/webkit/WebCore/inspector/front-end/inspector.css
index c162531..dabadc2 100644
--- a/src/3rdparty/webkit/WebCore/inspector/front-end/inspector.css
+++ b/src/3rdparty/webkit/WebCore/inspector/front-end/inspector.css
@@ -483,7 +483,7 @@ body.console-visible #console {
background-image: none;
}
-.console-message::before, .console-user-command::before, #console-prompt::before, .console-group-title-level::before {
+.console-message::before, .console-user-command::before, #console-prompt::before, .console-group-title::before {
position: absolute;
display: block;
content: "";
@@ -529,18 +529,18 @@ body.console-visible #console {
margin-left: 16px;
}
-.console-group-title-level {
+.console-group-title {
font-weight: bold;
}
-.console-group-title-level::before {
+.console-group-title::before {
background-image: url(Images/disclosureTriangleSmallDown.png);
top: 0.6em;
width: 11px;
height: 12px;
}
-.console-group.collapsed .console-group-title-level::before {
+.console-group.collapsed .console-group-title::before {
background-image: url(Images/disclosureTriangleSmallRight.png);
}
@@ -644,6 +644,10 @@ body.console-visible #console {
margin-right: -6px;
}
+.console-group-messages .add-attribute {
+ display: none;
+}
+
.console-formatted-object, .console-formatted-node {
position: relative;
display: inline-block;
@@ -768,6 +772,11 @@ body.console-visible #console {
vertical-align: top;
}
+.invisible {
+ color: inherit;
+ text-decoration: none;
+}
+
.webkit-line-gutter-backdrop {
/* Keep this in sync with view-source.css (.webkit-line-gutter-backdrop) */
width: 31px;
@@ -1090,6 +1099,11 @@ body.console-visible #console {
text-decoration: underline;
}
+.add-attribute {
+ margin-left: 1px;
+ margin-right: 1px;
+}
+
.placard {
position: relative;
margin-top: 1px;
@@ -3102,3 +3116,41 @@ body.inactive .sidebar-tree-item.selected .bubble.search-matches {
border-left: 1px solid rgb(184, 184, 184);
margin-left: -1px;
}
+
+ol.breakpoint-list {
+ -webkit-padding-start: 2px;
+ list-style: none;
+ margin: 0;
+}
+
+.breakpoint-list li {
+ white-space: nowrap;
+ text-overflow: ellipsis;
+ overflow: hidden;
+ margin: 4px 0;
+}
+
+.breakpoint-list .checkbox-elem {
+ font-size: 10px;
+ margin: 0 4px;
+ vertical-align: top;
+ position: relative;
+ z-index: 1;
+}
+
+.breakpoint-list .source-text {
+ font-family: monospace;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+ overflow: hidden;
+ margin: 2px 0 0px 20px;
+}
+
+.breakpoint-list a {
+ color: rgb(33%, 33%, 33%);
+ cursor: pointer;
+}
+
+.breakpoint-list a:hover {
+ color: rgb(15%, 15%, 15%);
+}
diff --git a/src/3rdparty/webkit/WebCore/inspector/front-end/inspector.html b/src/3rdparty/webkit/WebCore/inspector/front-end/inspector.html
index 184bb45..762074e 100644
--- a/src/3rdparty/webkit/WebCore/inspector/front-end/inspector.html
+++ b/src/3rdparty/webkit/WebCore/inspector/front-end/inspector.html
@@ -34,6 +34,7 @@ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
<script type="text/javascript" src="treeoutline.js"></script>
<script type="text/javascript" src="inspector.js"></script>
<script type="text/javascript" src="Object.js"></script>
+ <script type="text/javascript" src="KeyboardShortcut.js"></script>
<script type="text/javascript" src="TextPrompt.js"></script>
<script type="text/javascript" src="Placard.js"></script>
<script type="text/javascript" src="View.js"></script>
@@ -86,11 +87,11 @@ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
<div class="toolbar-item"><input id="search" type="search" incremental results="0"><div id="search-toolbar-label" class="toolbar-label"></div></div>
</div>
<div id="main">
- <div id="main-panels" tabindex="0"></div>
+ <div id="main-panels" tabindex="0" spellcheck="false"></div>
<div id="main-status-bar" class="status-bar"><div id="anchored-status-bar-items"><button id="dock-status-bar-item" class="status-bar-item toggled"></button><button id="console-status-bar-item" class="status-bar-item"></button><div id="error-warning-count" class="hidden"></div></div></div>
</div>
<div id="console">
- <div id="console-messages"><div id="console-prompt"><br></div></div>
+ <div id="console-messages"><div id="console-prompt" spellcheck="false"><br></div></div>
<div id="console-status-bar" class="status-bar"><div id="other-console-status-bar-items"><button id="clear-console-status-bar-item" class="status-bar-item"></button></div></div>
</div>
</body>
diff --git a/src/3rdparty/webkit/WebCore/inspector/front-end/inspector.js b/src/3rdparty/webkit/WebCore/inspector/front-end/inspector.js
index 9d5bac0..7e23692 100644
--- a/src/3rdparty/webkit/WebCore/inspector/front-end/inspector.js
+++ b/src/3rdparty/webkit/WebCore/inspector/front-end/inspector.js
@@ -117,6 +117,26 @@ var WebInspector = {
}
}
}
+
+ for (var panelName in WebInspector.panels) {
+ if (WebInspector.panels[panelName] == x)
+ InspectorController.storeLastActivePanel(panelName);
+ }
+ },
+
+ _createPanels: function()
+ {
+ var hiddenPanels = (InspectorController.hiddenPanels() || "").split(',');
+ if (hiddenPanels.indexOf("elements") === -1)
+ this.panels.elements = new WebInspector.ElementsPanel();
+ if (hiddenPanels.indexOf("resources") === -1)
+ this.panels.resources = new WebInspector.ResourcesPanel();
+ if (hiddenPanels.indexOf("scripts") === -1)
+ this.panels.scripts = new WebInspector.ScriptsPanel();
+ if (hiddenPanels.indexOf("profiles") === -1)
+ this.panels.profiles = new WebInspector.ProfilesPanel();
+ if (hiddenPanels.indexOf("databases") === -1)
+ this.panels.databases = new WebInspector.DatabasesPanel();
},
get attached()
@@ -281,24 +301,16 @@ WebInspector.loaded = function()
this.console = new WebInspector.Console();
this.panels = {};
- var hiddenPanels = (InspectorController.hiddenPanels() || "").split(',');
- if (hiddenPanels.indexOf("elements") === -1)
- this.panels.elements = new WebInspector.ElementsPanel();
- if (hiddenPanels.indexOf("resources") === -1)
- this.panels.resources = new WebInspector.ResourcesPanel();
- if (hiddenPanels.indexOf("scripts") === -1)
- this.panels.scripts = new WebInspector.ScriptsPanel();
- if (hiddenPanels.indexOf("profiles") === -1)
- this.panels.profiles = new WebInspector.ProfilesPanel();
- if (hiddenPanels.indexOf("databases") === -1)
- this.panels.databases = new WebInspector.DatabasesPanel();
+ this._createPanels();
var toolbarElement = document.getElementById("toolbar");
var previousToolbarItem = toolbarElement.children[0];
+ this.panelOrder = [];
for (var panelName in this.panels) {
var panel = this.panels[panelName];
var panelToolbarItem = panel.toolbarItem;
+ this.panelOrder.push(panel);
panelToolbarItem.addEventListener("click", this._toolbarItemClicked.bind(this));
if (previousToolbarItem)
toolbarElement.insertBefore(panelToolbarItem, previousToolbarItem.nextSibling);
@@ -307,8 +319,6 @@ WebInspector.loaded = function()
previousToolbarItem = panelToolbarItem;
}
- this.currentPanel = this.panels.elements;
-
this.resourceCategories = {
documents: new WebInspector.ResourceCategory(WebInspector.UIString("Documents"), "documents"),
stylesheets: new WebInspector.ResourceCategory(WebInspector.UIString("Stylesheets"), "stylesheets"),
@@ -523,6 +533,36 @@ WebInspector.documentKeyDown = function(event)
}
break;
+
+ case "U+005B": // [ key
+ if (isMac)
+ var isRotateLeft = event.metaKey && !event.shiftKey && !event.ctrlKey && !event.altKey;
+ else
+ var isRotateLeft = event.ctrlKey && !event.shiftKey && !event.metaKey && !event.altKey;
+
+ if (isRotateLeft) {
+ var index = this.panelOrder.indexOf(this.currentPanel);
+ index = (index === 0) ? this.panelOrder.length - 1 : index - 1;
+ this.panelOrder[index].toolbarItem.click();
+ event.preventDefault();
+ }
+
+ break;
+
+ case "U+005D": // ] key
+ if (isMac)
+ var isRotateRight = event.metaKey && !event.shiftKey && !event.ctrlKey && !event.altKey;
+ else
+ var isRotateRight = event.ctrlKey && !event.shiftKey && !event.metaKey && !event.altKey;
+
+ if (isRotateRight) {
+ var index = this.panelOrder.indexOf(this.currentPanel);
+ index = (index + 1) % this.panelOrder.length;
+ this.panelOrder[index].toolbarItem.click();
+ event.preventDefault();
+ }
+
+ break;
}
}
}
@@ -588,6 +628,7 @@ WebInspector.animateStyle = function(animations, duration, callback, complete)
var start = null;
var current = null;
var end = null;
+ var key = null;
for (key in animation) {
if (key === "element")
element = animation[key];
@@ -979,6 +1020,7 @@ WebInspector.addMessageToConsole = function(payload)
{
var consoleMessage = new WebInspector.ConsoleMessage(
payload.source,
+ payload.type,
payload.level,
payload.line,
payload.url,
@@ -1277,6 +1319,7 @@ WebInspector.startEditing = function(element, committedCallback, cancelledCallba
var oldText = element.textContent;
var oldHandleKeyEvent = element.handleKeyEvent;
+ var moveDirection = "";
element.addStyleClass("editing");
@@ -1314,7 +1357,7 @@ WebInspector.startEditing = function(element, committedCallback, cancelledCallba
function editingCommitted() {
cleanUpAfterEditing.call(this);
- committedCallback(this, this.textContent, oldText, context);
+ committedCallback(this, this.textContent, oldText, context, moveDirection);
}
element.handleKeyEvent = function(event) {
@@ -1330,7 +1373,8 @@ WebInspector.startEditing = function(element, committedCallback, cancelledCallba
editingCancelled.call(element);
event.preventDefault();
event.handled = true;
- }
+ } else if (event.keyIdentifier === "U+0009") // Tab key
+ moveDirection = (event.shiftKey ? "backward" : "forward");
}
element.addEventListener("blur", blurEventListener, false);
diff --git a/src/3rdparty/webkit/WebCore/inspector/front-end/utilities.js b/src/3rdparty/webkit/WebCore/inspector/front-end/utilities.js
index 8fb50e2..4285785 100644
--- a/src/3rdparty/webkit/WebCore/inspector/front-end/utilities.js
+++ b/src/3rdparty/webkit/WebCore/inspector/front-end/utilities.js
@@ -38,7 +38,7 @@ Object.type = function(obj, win)
win = win || window;
if (obj instanceof win.Node)
- return "node";
+ return (obj.nodeType === undefined ? type : "node");
if (obj instanceof win.String)
return "string";
if (obj instanceof win.Array)
@@ -94,12 +94,12 @@ Object.describe = function(obj, abbreviated)
}
}
-Object.sortedProperties = function(obj)
+Object.sortedProperties = function(obj, sortFunc)
{
var properties = [];
for (var prop in obj)
properties.push(prop);
- properties.sort();
+ properties.sort(sortFunc);
return properties;
}
diff --git a/src/3rdparty/webkit/WebCore/loader/Cache.h b/src/3rdparty/webkit/WebCore/loader/Cache.h
index 86a6ceb..a0023da 100644
--- a/src/3rdparty/webkit/WebCore/loader/Cache.h
+++ b/src/3rdparty/webkit/WebCore/loader/Cache.h
@@ -55,7 +55,7 @@ class KURL;
// -------|-----+++++++++++++++|
// -------|-----+++++++++++++++|+++++
-class Cache : Noncopyable {
+class Cache : public Noncopyable {
public:
friend Cache* cache();
diff --git a/src/3rdparty/webkit/WebCore/loader/CrossOriginPreflightResultCache.h b/src/3rdparty/webkit/WebCore/loader/CrossOriginPreflightResultCache.h
index 39c3cd1..f71d1c8 100644
--- a/src/3rdparty/webkit/WebCore/loader/CrossOriginPreflightResultCache.h
+++ b/src/3rdparty/webkit/WebCore/loader/CrossOriginPreflightResultCache.h
@@ -32,7 +32,7 @@ namespace WebCore {
class HTTPHeaderMap;
class ResourceResponse;
- class CrossOriginPreflightResultCacheItem : Noncopyable {
+ class CrossOriginPreflightResultCacheItem : public Noncopyable {
public:
CrossOriginPreflightResultCacheItem(bool credentials)
: m_absoluteExpiryTime(0)
@@ -57,7 +57,7 @@ namespace WebCore {
HeadersSet m_headers;
};
- class CrossOriginPreflightResultCache : Noncopyable {
+ class CrossOriginPreflightResultCache : public Noncopyable {
public:
static CrossOriginPreflightResultCache& shared();
diff --git a/src/3rdparty/webkit/WebCore/loader/DocLoader.cpp b/src/3rdparty/webkit/WebCore/loader/DocLoader.cpp
index 06d96bc..0b72f94 100644
--- a/src/3rdparty/webkit/WebCore/loader/DocLoader.cpp
+++ b/src/3rdparty/webkit/WebCore/loader/DocLoader.cpp
@@ -247,7 +247,7 @@ void DocLoader::printAccessDeniedMessage(const KURL& url) const
m_doc->url().string().utf8().data());
// FIXME: provide a real line number and source URL.
- frame()->domWindow()->console()->addMessage(OtherMessageSource, ErrorMessageLevel, message, 1, String());
+ frame()->domWindow()->console()->addMessage(OtherMessageSource, LogMessageType, ErrorMessageLevel, message, 1, String());
}
void DocLoader::setAutoLoadImages(bool enable)
diff --git a/src/3rdparty/webkit/WebCore/loader/DocumentThreadableLoader.cpp b/src/3rdparty/webkit/WebCore/loader/DocumentThreadableLoader.cpp
index ae6702b..dd5ca76 100644
--- a/src/3rdparty/webkit/WebCore/loader/DocumentThreadableLoader.cpp
+++ b/src/3rdparty/webkit/WebCore/loader/DocumentThreadableLoader.cpp
@@ -164,7 +164,8 @@ void DocumentThreadableLoader::didFinishLoading(SubresourceLoader* loader)
void DocumentThreadableLoader::didFail(SubresourceLoader* loader, const ResourceError& error)
{
ASSERT(m_client);
- ASSERT_UNUSED(loader, loader == m_loader);
+ // m_loader may be null if we arrive here via SubresourceLoader::create in the ctor
+ ASSERT_UNUSED(loader, loader == m_loader || !m_loader);
m_client->didFail(error);
}
diff --git a/src/3rdparty/webkit/WebCore/loader/EmptyClients.h b/src/3rdparty/webkit/WebCore/loader/EmptyClients.h
index 2abd54f..6d87342 100644
--- a/src/3rdparty/webkit/WebCore/loader/EmptyClients.h
+++ b/src/3rdparty/webkit/WebCore/loader/EmptyClients.h
@@ -95,7 +95,7 @@ public:
virtual void setResizable(bool) { }
- virtual void addMessageToConsole(MessageSource, MessageLevel, const String&, unsigned, const String&) { }
+ virtual void addMessageToConsole(MessageSource, MessageType, MessageLevel, const String&, unsigned, const String&) { }
virtual bool canRunBeforeUnloadConfirmPanel() { return false; }
virtual bool runBeforeUnloadConfirmPanel(const String&, Frame*) { return true; }
@@ -125,7 +125,7 @@ public:
virtual void mouseDidMoveOverElement(const HitTestResult&, unsigned) { }
- virtual void setToolTip(const String&) { }
+ virtual void setToolTip(const String&, TextDirection) { }
virtual void print(Frame*) { }
@@ -133,10 +133,17 @@ public:
virtual void exceededDatabaseQuota(Frame*, const String&) { }
#endif
+#if ENABLE(OFFLINE_WEB_APPLICATIONS)
+ virtual void reachedMaxAppCacheSize(int64_t) { }
+#endif
+
virtual void runOpenPanel(Frame*, PassRefPtr<FileChooser>) { }
virtual void formStateDidChange(const Node*) { }
+ virtual void formDidFocus(const Node*) { }
+ virtual void formDidBlur(const Node*) { }
+
virtual PassOwnPtr<HTMLParserQuirks> createHTMLParserQuirks() { return 0; }
virtual bool setCursor(PlatformCursorHandle) { return false; }
@@ -270,8 +277,8 @@ public:
virtual bool canCachePage() const { return false; }
virtual PassRefPtr<Frame> createFrame(const KURL&, const String&, HTMLFrameOwnerElement*, const String&, bool, int, int) { return 0; }
- virtual Widget* createPlugin(const IntSize&, HTMLPlugInElement*, const KURL&, const Vector<String>&, const Vector<String>&, const String&, bool) { return 0; }
- virtual Widget* createJavaAppletWidget(const IntSize&, HTMLAppletElement*, const KURL&, const Vector<String>&, const Vector<String>&) { return 0; }
+ virtual PassRefPtr<Widget> createPlugin(const IntSize&, HTMLPlugInElement*, const KURL&, const Vector<String>&, const Vector<String>&, const String&, bool) { return 0; }
+ virtual PassRefPtr<Widget> createJavaAppletWidget(const IntSize&, HTMLAppletElement*, const KURL&, const Vector<String>&, const Vector<String>&) { return 0; }
virtual ObjectContentType objectContentType(const KURL&, const String&) { return ObjectContentType(); }
virtual String overrideMediaType() const { return String(); }
@@ -284,8 +291,9 @@ public:
virtual void registerForIconNotification(bool) { }
#if USE(V8)
- virtual void didCreateScriptContext() { }
- virtual void didDestroyScriptContext() { }
+ virtual void didCreateScriptContextForFrame() { }
+ virtual void didDestroyScriptContextForFrame() { }
+ virtual void didCreateIsolatedScriptContext() { }
#endif
#if PLATFORM(MAC)
diff --git a/src/3rdparty/webkit/WebCore/loader/FrameLoader.cpp b/src/3rdparty/webkit/WebCore/loader/FrameLoader.cpp
index 9a09e49..7fc7936 100644
--- a/src/3rdparty/webkit/WebCore/loader/FrameLoader.cpp
+++ b/src/3rdparty/webkit/WebCore/loader/FrameLoader.cpp
@@ -54,7 +54,6 @@
#include "FrameLoaderClient.h"
#include "FrameTree.h"
#include "FrameView.h"
-#include "HTMLAnchorElement.h"
#include "HTMLAppletElement.h"
#include "HTMLFormElement.h"
#include "HTMLFrameElement.h"
@@ -71,6 +70,7 @@
#include "Page.h"
#include "PageCache.h"
#include "PageGroup.h"
+#include "PlaceholderDocument.h"
#include "PluginData.h"
#include "PluginDocument.h"
#include "ProgressTracker.h"
@@ -271,9 +271,6 @@ FrameLoader::FrameLoader(Frame* frame, FrameLoaderClient* client)
#ifndef NDEBUG
, m_didDispatchDidCommitLoad(false)
#endif
-#if ENABLE(WML)
- , m_forceReloadWmlDeck(false)
-#endif
{
}
@@ -424,7 +421,7 @@ bool FrameLoader::requestFrame(HTMLFrameOwnerElement* ownerElement, const String
Frame* frame = ownerElement->contentFrame();
if (frame)
- frame->loader()->scheduleLocationChange(url.string(), m_outgoingReferrer, true, true, userGestureHint());
+ frame->loader()->scheduleLocationChange(url.string(), m_outgoingReferrer, true, true, isProcessingUserGesture());
else
frame = loadSubframe(ownerElement, url, frameName, m_outgoingReferrer);
@@ -487,7 +484,7 @@ Frame* FrameLoader::loadSubframe(HTMLFrameOwnerElement* ownerElement, const KURL
void FrameLoader::submitForm(const char* action, const String& url, PassRefPtr<FormData> formData,
const String& target, const String& contentType, const String& boundary,
- bool lockHistory, bool lockBackForwardList, PassRefPtr<Event> event, PassRefPtr<FormState> formState)
+ bool lockHistory, PassRefPtr<Event> event, PassRefPtr<FormState> formState)
{
ASSERT(action);
ASSERT(strcmp(action, "GET") == 0 || strcmp(action, "POST") == 0);
@@ -559,20 +556,7 @@ void FrameLoader::submitForm(const char* action, const String& url, PassRefPtr<F
frameRequest.resourceRequest().setURL(u);
addHTTPOriginIfNeeded(frameRequest.resourceRequest(), outgoingOrigin());
- // Navigation of a subframe during loading of the main frame does not create a new back/forward item.
- // Strangely, we only implement this rule for form submission; time will tell if we need it for other types of navigation.
- // The definition of "during load" is any time before the load event has been handled.
- // See https://bugs.webkit.org/show_bug.cgi?id=14957 for the original motivation for this.
- if (Page* targetPage = targetFrame->page()) {
- Frame* mainFrame = targetPage->mainFrame();
- if (mainFrame != targetFrame) {
- Document* document = mainFrame->document();
- if (!mainFrame->loader()->isComplete() || document && document->processingLoadEvent())
- lockBackForwardList = true;
- }
- }
-
- targetFrame->loader()->scheduleFormSubmission(frameRequest, lockHistory, lockBackForwardList, event, formState);
+ targetFrame->loader()->scheduleFormSubmission(frameRequest, lockHistory, event, formState);
}
void FrameLoader::stopLoading(bool sendUnload, DatabasePolicy databasePolicy)
@@ -741,15 +725,16 @@ bool FrameLoader::executeIfJavaScriptURL(const KURL& url, bool userGesture, bool
if (m_frame->page() && !m_frame->page()->javaScriptURLsAreAllowed())
return true;
- String script = decodeURLEscapeSequences(url.string().substring(strlen("javascript:")));
+ const int javascriptSchemeLength = sizeof("javascript:") - 1;
+
+ String script = decodeURLEscapeSequences(url.string().substring(javascriptSchemeLength));
ScriptValue result = executeScript(script, userGesture);
String scriptResult;
if (!result.getString(scriptResult))
return true;
- SecurityOrigin* currentSecurityOrigin = 0;
- currentSecurityOrigin = m_frame->document()->securityOrigin();
+ SecurityOrigin* currentSecurityOrigin = m_frame->document()->securityOrigin();
// FIXME: We should always replace the document, but doing so
// synchronously can cause crashes:
@@ -910,6 +895,8 @@ void FrameLoader::begin(const KURL& url, bool dispatch, SecurityOrigin* origin)
// Create a new document before clearing the frame, because it may need to inherit an aliased security context.
if (!m_isDisplayingInitialEmptyDocument && m_client->shouldUsePluginDocument(m_responseMIMEType))
document = PluginDocument::create(m_frame);
+ else if (!m_client->hasHTMLView())
+ document = PlaceholderDocument::create(m_frame);
else
document = DOMImplementation::createDocument(m_responseMIMEType, m_frame, m_frame->inViewSourceMode());
@@ -966,7 +953,7 @@ void FrameLoader::begin(const KURL& url, bool dispatch, SecurityOrigin* origin)
document->implicitOpen();
- if (m_frame->view())
+ if (m_frame->view() && m_client->hasHTMLView())
m_frame->view()->setContentsSize(IntSize());
}
@@ -1336,6 +1323,20 @@ void FrameLoader::scheduleHTTPRedirection(double delay, const String& url)
scheduleRedirection(new ScheduledRedirection(delay, url, true, delay <= 1, false, false));
}
+static bool mustLockBackForwardList(Frame* targetFrame)
+{
+ // Navigation of a subframe during loading of an ancestor frame does not create a new back/forward item.
+ // The definition of "during load" is any time before all handlers for the load event have been run.
+ // See https://bugs.webkit.org/show_bug.cgi?id=14957 for the original motivation for this.
+
+ for (Frame* ancestor = targetFrame->tree()->parent(); ancestor; ancestor = ancestor->tree()->parent()) {
+ Document* document = ancestor->document();
+ if (!ancestor->loader()->isComplete() || document && document->processingLoadEvent())
+ return true;
+ }
+ return false;
+}
+
void FrameLoader::scheduleLocationChange(const String& url, const String& referrer, bool lockHistory, bool lockBackForwardList, bool wasUserGesture)
{
if (!m_frame->page())
@@ -1344,6 +1345,8 @@ void FrameLoader::scheduleLocationChange(const String& url, const String& referr
if (url.isEmpty())
return;
+ lockBackForwardList = lockBackForwardList || mustLockBackForwardList(m_frame);
+
// If the URL we're going to navigate to is the same as the current one, except for the
// fragment part, we don't need to schedule the location change.
KURL parsedURL(url);
@@ -1360,7 +1363,7 @@ void FrameLoader::scheduleLocationChange(const String& url, const String& referr
}
void FrameLoader::scheduleFormSubmission(const FrameLoadRequest& frameRequest,
- bool lockHistory, bool lockBackForwardList, PassRefPtr<Event> event, PassRefPtr<FormState> formState)
+ bool lockHistory, PassRefPtr<Event> event, PassRefPtr<FormState> formState)
{
ASSERT(m_frame->page());
ASSERT(!frameRequest.isEmpty());
@@ -1372,7 +1375,7 @@ void FrameLoader::scheduleFormSubmission(const FrameLoadRequest& frameRequest,
// This may happen when a frame changes the location of another frame.
bool duringLoad = !m_committedFirstRealDocumentLoad;
- scheduleRedirection(new ScheduledRedirection(frameRequest, lockHistory, lockBackForwardList, event, formState, duringLoad));
+ scheduleRedirection(new ScheduledRedirection(frameRequest, lockHistory, mustLockBackForwardList(m_frame), event, formState, duringLoad));
}
void FrameLoader::scheduleRefresh(bool wasUserGesture)
@@ -1586,28 +1589,8 @@ bool FrameLoader::gotoAnchor(const String& name)
if (!anchorNode && !(name.isEmpty() || equalIgnoringCase(name, "top")))
return false;
- // We need to update the layout before scrolling, otherwise we could
- // really mess things up if an anchor scroll comes at a bad moment.
- m_frame->document()->updateStyleIfNeeded();
- // Only do a layout if changes have occurred that make it necessary.
- if (m_frame->view() && m_frame->contentRenderer() && m_frame->contentRenderer()->needsLayout())
- m_frame->view()->layout();
-
- // Scroll nested layers and frames to reveal the anchor.
- // Align to the top and to the closest side (this matches other browsers).
- RenderObject* renderer;
- IntRect rect;
- if (!anchorNode)
- renderer = m_frame->document()->renderer(); // top of document
- else {
- renderer = anchorNode->renderer();
- rect = anchorNode->getRect();
- }
- if (renderer) {
- renderer->enclosingLayer()->scrollRectToVisible(rect, true, ScrollAlignment::alignToEdgeIfNeeded, ScrollAlignment::alignTopAlways);
- if (m_frame->view())
- m_frame->view()->setLockedToAnchor(true);
- }
+ if (FrameView* view = m_frame->view())
+ view->maintainScrollPositionAtAnchor(anchorNode ? static_cast<Node*>(anchorNode) : m_frame->document());
return true;
}
@@ -1686,7 +1669,7 @@ static HTMLPlugInElement* toPlugInElement(Node* node)
bool FrameLoader::loadPlugin(RenderPart* renderer, const KURL& url, const String& mimeType,
const Vector<String>& paramNames, const Vector<String>& paramValues, bool useFallback)
{
- Widget* widget = 0;
+ RefPtr<Widget> widget;
if (renderer && !useFallback) {
HTMLPlugInElement* element = toPlugInElement(renderer->node());
@@ -1768,7 +1751,7 @@ void FrameLoader::provisionalLoadStarted()
m_client->provisionalLoadStarted();
}
-bool FrameLoader::userGestureHint()
+bool FrameLoader::isProcessingUserGesture()
{
Frame* frame = m_frame->tree()->top();
if (!frame->script()->isEnabled())
@@ -1797,6 +1780,17 @@ void FrameLoader::addData(const char* bytes, int length)
write(bytes, length);
}
+#if ENABLE(WML)
+static inline bool frameContainsWMLContent(Frame* frame)
+{
+ Document* document = frame ? frame->document() : 0;
+ if (!document)
+ return false;
+
+ return document->containsWMLContent() || document->isWMLDocument();
+}
+#endif
+
bool FrameLoader::canCachePageContainingThisFrame()
{
return m_documentLoader
@@ -1825,6 +1819,9 @@ bool FrameLoader::canCachePageContainingThisFrame()
&& !m_documentLoader->applicationCache()
&& !m_documentLoader->candidateApplicationCacheGroup()
#endif
+#if ENABLE(WML)
+ && !frameContainsWMLContent(m_frame)
+#endif
&& m_client->canCachePage()
;
}
@@ -2111,7 +2108,7 @@ void FrameLoader::completed()
if (Frame* parent = m_frame->tree()->parent())
parent->loader()->checkCompleted();
if (m_frame->view())
- m_frame->view()->setLockedToAnchor(false);
+ m_frame->view()->maintainScrollPositionAtAnchor(0);
}
void FrameLoader::started()
@@ -2406,7 +2403,7 @@ void FrameLoader::reportLocalLoadFailed(Frame* frame, const String& url)
if (!frame)
return;
- frame->domWindow()->console()->addMessage(JSMessageSource, ErrorMessageLevel, "Not allowed to load local resource: " + url, 0, String());
+ frame->domWindow()->console()->addMessage(JSMessageSource, LogMessageType, ErrorMessageLevel, "Not allowed to load local resource: " + url, 0, String());
}
bool FrameLoader::shouldHideReferrer(const KURL& url, const String& referrer)
@@ -2623,7 +2620,7 @@ bool FrameLoader::shouldAllowNavigation(Frame* targetFrame) const
targetDocument->url().string().utf8().data(), activeDocument->url().string().utf8().data());
// FIXME: should we print to the console of the activeFrame as well?
- targetFrame->domWindow()->console()->addMessage(JSMessageSource, ErrorMessageLevel, message, 1, String());
+ targetFrame->domWindow()->console()->addMessage(JSMessageSource, LogMessageType, ErrorMessageLevel, message, 1, String());
}
return false;
@@ -2937,10 +2934,12 @@ void FrameLoader::transitionToCommitted(PassRefPtr<CachedPage> cachedPage)
m_committedFirstRealDocumentLoad = true;
- // For non-cached HTML pages, these methods are called in FrameLoader::begin.
- if (cachedPage || !m_client->hasHTMLView()) {
- dispatchDidCommitLoad();
-
+ if (!m_client->hasHTMLView())
+ receivedFirstData();
+ else if (cachedPage) {
+ // For non-cached HTML pages, these methods are called in receivedFirstData().
+ dispatchDidCommitLoad();
+
// If we have a title let the WebView know about it.
if (!ptitle.isNull())
m_client->dispatchDidReceiveTitle(ptitle);
@@ -2975,18 +2974,11 @@ void FrameLoader::clientRedirected(const KURL& url, double seconds, double fireD
m_quickRedirectComing = lockBackForwardList && m_documentLoader && !m_isExecutingJavaScriptFormAction;
}
-#if ENABLE(WML)
-void FrameLoader::setForceReloadWmlDeck(bool reload)
-{
- m_forceReloadWmlDeck = reload;
-}
-#endif
-
bool FrameLoader::shouldReload(const KURL& currentURL, const KURL& destinationURL)
{
#if ENABLE(WML)
- // As for WML deck, sometimes it's supposed to be reloaded even if the same URL with fragment
- if (m_forceReloadWmlDeck)
+ // All WML decks are supposed to be reloaded, even within the same URL fragment
+ if (frameContainsWMLContent(m_frame))
return true;
#endif
@@ -4441,7 +4433,8 @@ void FrameLoader::loadItem(HistoryItem* item, FrameLoadType loadType)
bool shouldScroll = !formData && !(m_currentHistoryItem && m_currentHistoryItem->formData()) && urlsMatchItem(item);
#if ENABLE(WML)
- if (m_frame->document()->isWMLDocument())
+ // All WML decks should go through the real load mechanism, not the scroll-to-anchor code
+ if (frameContainsWMLContent(m_frame))
shouldScroll = false;
#endif
@@ -5066,7 +5059,7 @@ void FrameLoader::dispatchWindowObjectAvailable()
}
}
-Widget* FrameLoader::createJavaAppletWidget(const IntSize& size, HTMLAppletElement* element, const HashMap<String, String>& args)
+PassRefPtr<Widget> FrameLoader::createJavaAppletWidget(const IntSize& size, HTMLAppletElement* element, const HashMap<String, String>& args)
{
String baseURLString;
String codeBaseURLString;
@@ -5094,7 +5087,7 @@ Widget* FrameLoader::createJavaAppletWidget(const IntSize& size, HTMLAppletEleme
baseURLString = m_frame->document()->baseURL().string();
KURL baseURL = completeURL(baseURLString);
- Widget* widget = m_client->createJavaAppletWidget(size, element, baseURL, paramNames, paramValues);
+ RefPtr<Widget> widget = m_client->createJavaAppletWidget(size, element, baseURL, paramNames, paramValues);
if (!widget)
return 0;
@@ -5106,8 +5099,7 @@ void FrameLoader::didChangeTitle(DocumentLoader* loader)
{
m_client->didChangeTitle(loader);
- // The title doesn't get communicated to the WebView until we are committed.
- if (loader->isCommitted()) {
+ if (loader == m_documentLoader) {
// Must update the entries in the back-forward list too.
if (m_currentHistoryItem)
m_currentHistoryItem->setTitle(loader->title());
diff --git a/src/3rdparty/webkit/WebCore/loader/FrameLoader.h b/src/3rdparty/webkit/WebCore/loader/FrameLoader.h
index d96329f..58bf2c0 100644
--- a/src/3rdparty/webkit/WebCore/loader/FrameLoader.h
+++ b/src/3rdparty/webkit/WebCore/loader/FrameLoader.h
@@ -1,6 +1,6 @@
/*
* Copyright (C) 2006, 2007, 2008, 2009 Apple Inc. All rights reserved.
- * Copyright (C) 2008 Torch Mobile Inc. All rights reserved. (http://www.torchmobile.com/)
+ * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.torchmobile.com/)
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -111,7 +111,7 @@ namespace WebCore {
void* m_argument;
};
- class FrameLoader : Noncopyable {
+ class FrameLoader : public Noncopyable {
public:
FrameLoader(Frame*, FrameLoaderClient*);
~FrameLoader();
@@ -236,10 +236,6 @@ namespace WebCore {
void didFirstVisuallyNonEmptyLayout();
-#if ENABLE(WML)
- void setForceReloadWmlDeck(bool);
-#endif
-
void loadedResourceFromMemoryCache(const CachedResource*);
void tellClientAboutPastMemoryCacheLoads();
@@ -261,7 +257,7 @@ namespace WebCore {
void submitForm(const char* action, const String& url,
PassRefPtr<FormData>, const String& target, const String& contentType, const String& boundary,
- bool lockHistory, bool lockBackForwardList, PassRefPtr<Event>, PassRefPtr<FormState>);
+ bool lockHistory, PassRefPtr<Event>, PassRefPtr<FormState>);
void stop();
void stopLoading(bool sendUnload, DatabasePolicy = DatabasePolicyStop);
@@ -305,7 +301,7 @@ namespace WebCore {
void handledOnloadEvents();
String userAgent(const KURL&) const;
- Widget* createJavaAppletWidget(const IntSize&, HTMLAppletElement*, const HashMap<String, String>& args);
+ PassRefPtr<Widget> createJavaAppletWidget(const IntSize&, HTMLAppletElement*, const HashMap<String, String>& args);
void dispatchWindowObjectAvailable();
void dispatchDocumentElementAvailable();
@@ -316,7 +312,7 @@ namespace WebCore {
bool openedByDOM() const;
void setOpenedByDOM();
- bool userGestureHint();
+ bool isProcessingUserGesture();
void resetMultipleFormSubmissionProtection();
@@ -492,7 +488,7 @@ namespace WebCore {
void dispatchDidFinishLoading(DocumentLoader*, unsigned long identifier);
static bool isLocationChange(const ScheduledRedirection&);
- void scheduleFormSubmission(const FrameLoadRequest&, bool lockHistory, bool lockBackForwardList, PassRefPtr<Event>, PassRefPtr<FormState>);
+ void scheduleFormSubmission(const FrameLoadRequest&, bool lockHistory, PassRefPtr<Event>, PassRefPtr<FormState>);
void loadWithDocumentLoader(DocumentLoader*, FrameLoadType, PassRefPtr<FormState>); // Calls continueLoadAfterNavigationPolicy
void load(DocumentLoader*); // Calls loadWithDocumentLoader
@@ -625,10 +621,6 @@ namespace WebCore {
#ifndef NDEBUG
bool m_didDispatchDidCommitLoad;
#endif
-
-#if ENABLE(WML)
- bool m_forceReloadWmlDeck;
-#endif
};
} // namespace WebCore
diff --git a/src/3rdparty/webkit/WebCore/loader/FrameLoaderClient.h b/src/3rdparty/webkit/WebCore/loader/FrameLoaderClient.h
index 8c050f0..1e68991 100644
--- a/src/3rdparty/webkit/WebCore/loader/FrameLoaderClient.h
+++ b/src/3rdparty/webkit/WebCore/loader/FrameLoaderClient.h
@@ -200,10 +200,10 @@ namespace WebCore {
virtual PassRefPtr<Frame> createFrame(const KURL& url, const String& name, HTMLFrameOwnerElement* ownerElement,
const String& referrer, bool allowsScrolling, int marginWidth, int marginHeight) = 0;
- virtual Widget* createPlugin(const IntSize&, HTMLPlugInElement*, const KURL&, const Vector<String>&, const Vector<String>&, const String&, bool loadManually) = 0;
+ virtual PassRefPtr<Widget> createPlugin(const IntSize&, HTMLPlugInElement*, const KURL&, const Vector<String>&, const Vector<String>&, const String&, bool loadManually) = 0;
virtual void redirectDataToPlugin(Widget* pluginWidget) = 0;
- virtual Widget* createJavaAppletWidget(const IntSize&, HTMLAppletElement*, const KURL& baseURL, const Vector<String>& paramNames, const Vector<String>& paramValues) = 0;
+ virtual PassRefPtr<Widget> createJavaAppletWidget(const IntSize&, HTMLAppletElement*, const KURL& baseURL, const Vector<String>& paramNames, const Vector<String>& paramValues) = 0;
virtual ObjectContentType objectContentType(const KURL& url, const String& mimeType) = 0;
virtual String overrideMediaType() const = 0;
@@ -213,8 +213,9 @@ namespace WebCore {
virtual void didPerformFirstNavigation() const = 0; // "Navigation" here means a transition from one page to another that ends up in the back/forward list.
#if USE(V8)
- virtual void didCreateScriptContext() = 0;
- virtual void didDestroyScriptContext() = 0;
+ virtual void didCreateScriptContextForFrame() = 0;
+ virtual void didDestroyScriptContextForFrame() = 0;
+ virtual void didCreateIsolatedScriptContext() = 0;
#endif
virtual void registerForIconNotification(bool listen = true) = 0;
diff --git a/src/3rdparty/webkit/WebCore/loader/PlaceholderDocument.cpp b/src/3rdparty/webkit/WebCore/loader/PlaceholderDocument.cpp
new file mode 100644
index 0000000..e071aa8
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/loader/PlaceholderDocument.cpp
@@ -0,0 +1,47 @@
+/*
+ * Copyright (C) 2009 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+#include "PlaceholderDocument.h"
+
+#include "CSSStyleSelector.h"
+#include "StyleSheetList.h"
+
+namespace WebCore {
+
+void PlaceholderDocument::attach()
+{
+ ASSERT(!attached());
+
+ if (!styleSelector()) {
+ RefPtr<StyleSheetList> styleSheetList = StyleSheetList::create(this);
+ setStyleSelector(new CSSStyleSelector(this, userStyleSheet(), styleSheetList.get(), 0, true, false));
+ }
+
+ // Skipping Document::attach().
+ ContainerNode::attach();
+}
+
+} // namespace WebCore
diff --git a/src/3rdparty/webkit/WebCore/loader/PlaceholderDocument.h b/src/3rdparty/webkit/WebCore/loader/PlaceholderDocument.h
new file mode 100644
index 0000000..c542370
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/loader/PlaceholderDocument.h
@@ -0,0 +1,48 @@
+/*
+ * Copyright (C) 2009 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef PlaceholderDocument_h
+#define PlaceholderDocument_h
+
+#include "Document.h"
+
+namespace WebCore {
+
+class PlaceholderDocument : public Document {
+public:
+ static PassRefPtr<PlaceholderDocument> create(Frame* frame)
+ {
+ return new PlaceholderDocument(frame);
+ }
+
+ virtual void attach();
+
+private:
+ PlaceholderDocument(Frame* frame) : Document(frame, false) { }
+};
+
+} // namespace WebCore
+
+#endif // PlaceholderDocument_h
diff --git a/src/3rdparty/webkit/WebCore/loader/ProgressTracker.h b/src/3rdparty/webkit/WebCore/loader/ProgressTracker.h
index b8d4532..744e101 100644
--- a/src/3rdparty/webkit/WebCore/loader/ProgressTracker.h
+++ b/src/3rdparty/webkit/WebCore/loader/ProgressTracker.h
@@ -36,7 +36,7 @@ class Frame;
class ResourceResponse;
struct ProgressItem;
-class ProgressTracker : Noncopyable {
+class ProgressTracker : public Noncopyable {
public:
ProgressTracker();
~ProgressTracker();
diff --git a/src/3rdparty/webkit/WebCore/loader/TextDocument.cpp b/src/3rdparty/webkit/WebCore/loader/TextDocument.cpp
index 0d86c1b..a3d7061 100644
--- a/src/3rdparty/webkit/WebCore/loader/TextDocument.cpp
+++ b/src/3rdparty/webkit/WebCore/loader/TextDocument.cpp
@@ -162,6 +162,8 @@ void TextTokenizer::write(const SegmentedString& s, bool)
void TextTokenizer::finish()
{
+ if (!m_preElement)
+ write(SegmentedString(), true); // Create document structure for an empty text document.
m_preElement = 0;
fastFree(m_buffer);
m_buffer = 0;
diff --git a/src/3rdparty/webkit/WebCore/loader/ThreadableLoader.h b/src/3rdparty/webkit/WebCore/loader/ThreadableLoader.h
index 87ae229..1ac12cb 100644
--- a/src/3rdparty/webkit/WebCore/loader/ThreadableLoader.h
+++ b/src/3rdparty/webkit/WebCore/loader/ThreadableLoader.h
@@ -65,7 +65,7 @@ namespace WebCore {
// Useful for doing loader operations from any thread (not threadsafe,
// just able to run on threads other than the main thread).
- class ThreadableLoader : Noncopyable {
+ class ThreadableLoader : public Noncopyable {
public:
static void loadResourceSynchronously(ScriptExecutionContext*, const ResourceRequest&, ThreadableLoaderClient&, StoredCredentials);
static PassRefPtr<ThreadableLoader> create(ScriptExecutionContext*, ThreadableLoaderClient*, const ResourceRequest&, LoadCallbacks, ContentSniff, StoredCredentials, CrossOriginRedirectPolicy);
diff --git a/src/3rdparty/webkit/WebCore/loader/appcache/ApplicationCache.cpp b/src/3rdparty/webkit/WebCore/loader/appcache/ApplicationCache.cpp
index 3033718..d221bdb 100644
--- a/src/3rdparty/webkit/WebCore/loader/appcache/ApplicationCache.cpp
+++ b/src/3rdparty/webkit/WebCore/loader/appcache/ApplicationCache.cpp
@@ -39,6 +39,7 @@ namespace WebCore {
ApplicationCache::ApplicationCache()
: m_group(0)
, m_manifest(0)
+ , m_estimatedSizeInStorage(0)
, m_storageID(0)
{
}
@@ -86,7 +87,9 @@ void ApplicationCache::addResource(PassRefPtr<ApplicationCacheResource> resource
// Add the resource to the storage.
cacheStorage().store(resource.get(), this);
}
-
+
+ m_estimatedSizeInStorage += resource->estimatedSizeInStorage();
+
m_resources.set(url, resource);
}
@@ -100,12 +103,15 @@ unsigned ApplicationCache::removeResource(const String& url)
unsigned type = it->second->type();
m_resources.remove(it);
-
+
+ m_estimatedSizeInStorage -= it->second->estimatedSizeInStorage();
+
return type;
}
ApplicationCacheResource* ApplicationCache::resourceForURL(const String& url)
{
+ ASSERT(!KURL(url).hasRef());
return m_resources.get(url).get();
}
@@ -125,8 +131,12 @@ ApplicationCacheResource* ApplicationCache::resourceForRequest(const ResourceReq
// We only care about HTTP/HTTPS GET requests.
if (!requestIsHTTPOrHTTPSGet(request))
return false;
-
- return resourceForURL(request.url());
+
+ KURL url(request.url());
+ if (url.hasRef())
+ url.removeRef();
+
+ return resourceForURL(url);
}
void ApplicationCache::setOnlineWhitelist(const Vector<KURL>& onlineWhitelist)
diff --git a/src/3rdparty/webkit/WebCore/loader/appcache/ApplicationCache.h b/src/3rdparty/webkit/WebCore/loader/appcache/ApplicationCache.h
index 9609f8d..b1753be 100644
--- a/src/3rdparty/webkit/WebCore/loader/appcache/ApplicationCache.h
+++ b/src/3rdparty/webkit/WebCore/loader/appcache/ApplicationCache.h
@@ -87,6 +87,8 @@ public:
static bool requestIsHTTPOrHTTPSGet(const ResourceRequest&);
+ int64_t estimatedSizeInStorage() const { return m_estimatedSizeInStorage; }
+
private:
ApplicationCache();
@@ -97,6 +99,11 @@ private:
Vector<KURL> m_onlineWhitelist;
FallbackURLVector m_fallbackURLs;
+ // The total size of the resources belonging to this Application Cache instance.
+ // This is an estimation of the size this Application Cache occupies in the
+ // database file.
+ int64_t m_estimatedSizeInStorage;
+
unsigned m_storageID;
};
diff --git a/src/3rdparty/webkit/WebCore/loader/appcache/ApplicationCacheGroup.cpp b/src/3rdparty/webkit/WebCore/loader/appcache/ApplicationCacheGroup.cpp
index 642ec61..dc73353 100644
--- a/src/3rdparty/webkit/WebCore/loader/appcache/ApplicationCacheGroup.cpp
+++ b/src/3rdparty/webkit/WebCore/loader/appcache/ApplicationCacheGroup.cpp
@@ -31,6 +31,7 @@
#include "ApplicationCache.h"
#include "ApplicationCacheResource.h"
#include "ApplicationCacheStorage.h"
+#include "ChromeClient.h"
#include "DocumentLoader.h"
#include "DOMApplicationCache.h"
#include "DOMWindow.h"
@@ -53,6 +54,7 @@ ApplicationCacheGroup::ApplicationCacheGroup(const KURL& manifestURL, bool isCop
, m_isObsolete(false)
, m_completionType(None)
, m_isCopy(isCopy)
+ , m_calledReachedMaxAppCacheSize(false)
{
}
@@ -83,7 +85,11 @@ ApplicationCache* ApplicationCacheGroup::cacheForMainRequest(const ResourceReque
if (!ApplicationCache::requestIsHTTPOrHTTPSGet(request))
return 0;
- if (ApplicationCacheGroup* group = cacheStorage().cacheGroupForURL(request.url())) {
+ KURL url(request.url());
+ if (url.hasRef())
+ url.removeRef();
+
+ if (ApplicationCacheGroup* group = cacheStorage().cacheGroupForURL(url)) {
ASSERT(group->newestCache());
ASSERT(!group->isObsolete());
@@ -98,7 +104,11 @@ ApplicationCache* ApplicationCacheGroup::fallbackCacheForMainRequest(const Resou
if (!ApplicationCache::requestIsHTTPOrHTTPSGet(request))
return 0;
- if (ApplicationCacheGroup* group = cacheStorage().fallbackCacheGroupForURL(request.url())) {
+ KURL url(request.url());
+ if (url.hasRef())
+ url.removeRef();
+
+ if (ApplicationCacheGroup* group = cacheStorage().fallbackCacheGroupForURL(url)) {
ASSERT(group->newestCache());
ASSERT(!group->isObsolete());
@@ -108,7 +118,7 @@ ApplicationCache* ApplicationCacheGroup::fallbackCacheForMainRequest(const Resou
return 0;
}
-void ApplicationCacheGroup::selectCache(Frame* frame, const KURL& manifestURL)
+void ApplicationCacheGroup::selectCache(Frame* frame, const KURL& passedManifestURL)
{
ASSERT(frame && frame->page());
@@ -118,11 +128,15 @@ void ApplicationCacheGroup::selectCache(Frame* frame, const KURL& manifestURL)
DocumentLoader* documentLoader = frame->loader()->documentLoader();
ASSERT(!documentLoader->applicationCache());
- if (manifestURL.isNull()) {
+ if (passedManifestURL.isNull()) {
selectCacheWithoutManifestURL(frame);
return;
}
-
+
+ KURL manifestURL(passedManifestURL);
+ if (manifestURL.hasRef())
+ manifestURL.removeRef();
+
ApplicationCache* mainResourceCache = documentLoader->mainResourceApplicationCache();
if (mainResourceCache) {
@@ -131,7 +145,10 @@ void ApplicationCacheGroup::selectCache(Frame* frame, const KURL& manifestURL)
mainResourceCache->group()->update(frame, ApplicationCacheUpdateWithBrowsingContext);
} else {
// The main resource was loaded from cache, so the cache must have an entry for it. Mark it as foreign.
- ApplicationCacheResource* resource = mainResourceCache->resourceForURL(documentLoader->url());
+ KURL documentURL(documentLoader->url());
+ if (documentURL.hasRef())
+ documentURL.removeRef();
+ ApplicationCacheResource* resource = mainResourceCache->resourceForURL(documentURL);
bool inStorage = resource->storageID();
resource->addType(ApplicationCacheResource::Foreign);
if (inStorage)
@@ -193,7 +210,9 @@ void ApplicationCacheGroup::finishedLoadingMainResource(DocumentLoader* loader)
{
ASSERT(m_pendingMasterResourceLoaders.contains(loader));
ASSERT(m_completionType == None || m_pendingEntries.isEmpty());
- const KURL& url = loader->url();
+ KURL url = loader->url();
+ if (url.hasRef())
+ url.removeRef();
switch (m_completionType) {
case None:
@@ -434,7 +453,9 @@ void ApplicationCacheGroup::didReceiveResponse(ResourceHandle* handle, const Res
ASSERT(handle == m_currentHandle);
- const KURL& url = handle->request().url();
+ KURL url(handle->request().url());
+ if (url.hasRef())
+ url.removeRef();
ASSERT(!m_currentResource);
ASSERT(m_pendingEntries.contains(url));
@@ -446,12 +467,12 @@ void ApplicationCacheGroup::didReceiveResponse(ResourceHandle* handle, const Res
ASSERT(!(type & ApplicationCacheResource::Master));
if (m_newestCache && response.httpStatusCode() == 304) { // Not modified.
- ApplicationCacheResource* newestCachedResource = m_newestCache->resourceForURL(handle->request().url());
+ ApplicationCacheResource* newestCachedResource = m_newestCache->resourceForURL(url);
if (newestCachedResource) {
m_cacheBeingUpdated->addResource(ApplicationCacheResource::create(url, newestCachedResource->response(), type, newestCachedResource->data()));
+ m_pendingEntries.remove(m_currentHandle->request().url());
m_currentHandle->cancel();
m_currentHandle = 0;
- m_pendingEntries.remove(handle->request().url());
// Load the next resource, if any.
startLoadingEntry();
return;
@@ -467,7 +488,7 @@ void ApplicationCacheGroup::didReceiveResponse(ResourceHandle* handle, const Res
// Skip this resource. It is dropped from the cache.
m_currentHandle->cancel();
m_currentHandle = 0;
- m_pendingEntries.remove(handle->request().url());
+ m_pendingEntries.remove(url);
// Load the next resource, if any.
startLoadingEntry();
} else {
@@ -477,9 +498,9 @@ void ApplicationCacheGroup::didReceiveResponse(ResourceHandle* handle, const Res
ApplicationCacheResource* newestCachedResource = m_newestCache->resourceForURL(handle->request().url());
ASSERT(newestCachedResource);
m_cacheBeingUpdated->addResource(ApplicationCacheResource::create(url, newestCachedResource->response(), type, newestCachedResource->data()));
+ m_pendingEntries.remove(m_currentHandle->request().url());
m_currentHandle->cancel();
m_currentHandle = 0;
- m_pendingEntries.remove(handle->request().url());
// Load the next resource, if any.
startLoadingEntry();
}
@@ -531,7 +552,9 @@ void ApplicationCacheGroup::didFail(ResourceHandle* handle, const ResourceError&
}
unsigned type = m_currentResource ? m_currentResource->type() : m_pendingEntries.get(handle->request().url());
- const KURL& url = handle->request().url();
+ KURL url(handle->request().url());
+ if (url.hasRef())
+ url.removeRef();
ASSERT(!m_currentResource || !m_pendingEntries.contains(url));
m_currentResource = 0;
@@ -652,6 +675,15 @@ void ApplicationCacheGroup::didFinishLoadingManifest()
startLoadingEntry();
}
+void ApplicationCacheGroup::didReachMaxAppCacheSize()
+{
+ ASSERT(m_frame);
+ ASSERT(m_cacheBeingUpdated);
+ m_frame->page()->chrome()->client()->reachedMaxAppCacheSize(cacheStorage().spaceNeeded(m_cacheBeingUpdated->estimatedSizeInStorage()));
+ m_calledReachedMaxAppCacheSize = true;
+ checkIfLoadIsComplete();
+}
+
void ApplicationCacheGroup::cacheUpdateFailed()
{
stopLoading();
@@ -730,7 +762,15 @@ void ApplicationCacheGroup::checkIfLoadIsComplete()
// FIXME: Fetch the resource from manifest URL again, and check whether it is identical to the one used for update (in case the application was upgraded server-side in the meanwhile). (<rdar://problem/6467625>)
ASSERT(m_cacheBeingUpdated);
- m_cacheBeingUpdated->setManifestResource(m_manifestResource.release());
+ if (m_manifestResource)
+ m_cacheBeingUpdated->setManifestResource(m_manifestResource.release());
+ else {
+ // We can get here as a result of retrying the Complete step, following
+ // a failure of the cache storage to save the newest cache due to hitting
+ // the maximum size. In such a case, m_manifestResource may be 0, as
+ // the manifest was already set on the newest cache object.
+ ASSERT(cacheStorage().isMaximumSizeReached() && m_calledReachedMaxAppCacheSize);
+ }
RefPtr<ApplicationCache> oldNewestCache = (m_newestCache == m_cacheBeingUpdated) ? 0 : m_newestCache;
@@ -742,28 +782,44 @@ void ApplicationCacheGroup::checkIfLoadIsComplete()
// Fire the success events.
postListenerTask(isUpgradeAttempt ? &DOMApplicationCache::callUpdateReadyListener : &DOMApplicationCache::callCachedListener, m_associatedDocumentLoaders);
} else {
- // Run the "cache failure steps"
- // Fire the error events to all pending master entries, as well any other cache hosts
- // currently associated with a cache in this group.
- postListenerTask(&DOMApplicationCache::callErrorListener, m_associatedDocumentLoaders);
- // Disassociate the pending master entries from the failed new cache. Note that
- // all other loaders in the m_associatedDocumentLoaders are still associated with
- // some other cache in this group. They are not associated with the failed new cache.
-
- // Need to copy loaders, because the cache group may be destroyed at the end of iteration.
- Vector<DocumentLoader*> loaders;
- copyToVector(m_pendingMasterResourceLoaders, loaders);
- size_t count = loaders.size();
- for (size_t i = 0; i != count; ++i)
- disassociateDocumentLoader(loaders[i]); // This can delete this group.
-
- // Reinstate the oldNewestCache, if there was one.
- if (oldNewestCache) {
- // This will discard the failed new cache.
- setNewestCache(oldNewestCache.release());
- } else {
- // We must have been deleted by the last call to disassociateDocumentLoader().
+ if (cacheStorage().isMaximumSizeReached() && !m_calledReachedMaxAppCacheSize) {
+ // We ran out of space. All the changes in the cache storage have
+ // been rolled back. We roll back to the previous state in here,
+ // as well, call the chrome client asynchronously and retry to
+ // save the new cache.
+
+ // Save a reference to the new cache.
+ m_cacheBeingUpdated = m_newestCache.release();
+ if (oldNewestCache) {
+ // Reinstate the oldNewestCache.
+ setNewestCache(oldNewestCache.release());
+ }
+ scheduleReachedMaxAppCacheSizeCallback();
return;
+ } else {
+ // Run the "cache failure steps"
+ // Fire the error events to all pending master entries, as well any other cache hosts
+ // currently associated with a cache in this group.
+ postListenerTask(&DOMApplicationCache::callErrorListener, m_associatedDocumentLoaders);
+ // Disassociate the pending master entries from the failed new cache. Note that
+ // all other loaders in the m_associatedDocumentLoaders are still associated with
+ // some other cache in this group. They are not associated with the failed new cache.
+
+ // Need to copy loaders, because the cache group may be destroyed at the end of iteration.
+ Vector<DocumentLoader*> loaders;
+ copyToVector(m_pendingMasterResourceLoaders, loaders);
+ size_t count = loaders.size();
+ for (size_t i = 0; i != count; ++i)
+ disassociateDocumentLoader(loaders[i]); // This can delete this group.
+
+ // Reinstate the oldNewestCache, if there was one.
+ if (oldNewestCache) {
+ // This will discard the failed new cache.
+ setNewestCache(oldNewestCache.release());
+ } else {
+ // We must have been deleted by the last call to disassociateDocumentLoader().
+ return;
+ }
}
}
break;
@@ -775,6 +831,7 @@ void ApplicationCacheGroup::checkIfLoadIsComplete()
m_completionType = None;
m_updateStatus = Idle;
m_frame = 0;
+ m_calledReachedMaxAppCacheSize = false;
}
void ApplicationCacheGroup::startLoadingEntry()
@@ -820,6 +877,7 @@ void ApplicationCacheGroup::deliverDelayedMainResources()
void ApplicationCacheGroup::addEntry(const String& url, unsigned type)
{
ASSERT(m_cacheBeingUpdated);
+ ASSERT(!KURL(url).hasRef());
// Don't add the URL if we already have an master resource in the cache
// (i.e., the main resource finished loading before the manifest).
@@ -857,7 +915,34 @@ void ApplicationCacheGroup::associateDocumentLoaderWithCache(DocumentLoader* loa
ASSERT(!m_associatedDocumentLoaders.contains(loader));
m_associatedDocumentLoaders.add(loader);
}
-
+
+class ChromeClientCallbackTimer: public TimerBase {
+public:
+ ChromeClientCallbackTimer(ApplicationCacheGroup* cacheGroup)
+ : m_cacheGroup(cacheGroup)
+ {
+ }
+
+private:
+ virtual void fired()
+ {
+ m_cacheGroup->didReachMaxAppCacheSize();
+ delete this;
+ }
+ // Note that there is no need to use a RefPtr here. The ApplicationCacheGroup instance is guaranteed
+ // to be alive when the timer fires since invoking the ChromeClient callback is part of its normal
+ // update machinery and nothing can yet cause it to get deleted.
+ ApplicationCacheGroup* m_cacheGroup;
+};
+
+void ApplicationCacheGroup::scheduleReachedMaxAppCacheSizeCallback()
+{
+ ASSERT(isMainThread());
+ ChromeClientCallbackTimer* timer = new ChromeClientCallbackTimer(this);
+ timer->startOneShot(0);
+ // The timer will delete itself once it fires.
+}
+
class CallCacheListenerTask : public ScriptExecutionContext::Task {
typedef void (DOMApplicationCache::*ListenerFunction)();
public:
@@ -910,7 +995,7 @@ void ApplicationCacheGroup::clearStorageID()
for (HashSet<ApplicationCache*>::const_iterator it = m_caches.begin(); it != end; ++it)
(*it)->clearStorageID();
}
-
+
}
diff --git a/src/3rdparty/webkit/WebCore/loader/appcache/ApplicationCacheGroup.h b/src/3rdparty/webkit/WebCore/loader/appcache/ApplicationCacheGroup.h
index 063fb3b..375bd17 100644
--- a/src/3rdparty/webkit/WebCore/loader/appcache/ApplicationCacheGroup.h
+++ b/src/3rdparty/webkit/WebCore/loader/appcache/ApplicationCacheGroup.h
@@ -52,7 +52,7 @@ enum ApplicationCacheUpdateOption {
ApplicationCacheUpdateWithoutBrowsingContext
};
-class ApplicationCacheGroup : Noncopyable, ResourceHandleClient {
+class ApplicationCacheGroup : public Noncopyable, ResourceHandleClient {
public:
ApplicationCacheGroup(const KURL& manifestURL, bool isCopy = false);
~ApplicationCacheGroup();
@@ -95,6 +95,7 @@ private:
static void postListenerTask(ListenerFunction, const HashSet<DocumentLoader*>&);
static void postListenerTask(ListenerFunction, const Vector<RefPtr<DocumentLoader> >& loaders);
static void postListenerTask(ListenerFunction, DocumentLoader*);
+ void scheduleReachedMaxAppCacheSizeCallback();
PassRefPtr<ResourceHandle> createResourceHandle(const KURL&, ApplicationCacheResource* newestCachedResource);
@@ -106,6 +107,7 @@ private:
void didReceiveManifestResponse(const ResourceResponse&);
void didReceiveManifestData(const char*, int);
void didFinishLoadingManifest();
+ void didReachMaxAppCacheSize();
void startLoadingEntry();
void deliverDelayedMainResources();
@@ -163,12 +165,19 @@ private:
// Whether this cache group is a copy that's only used for transferring the cache to another file.
bool m_isCopy;
+
+ // This flag is set immediately after the ChromeClient::reachedMaxAppCacheSize() callback is invoked as a result of the storage layer failing to save a cache
+ // due to reaching the maximum size of the application cache database file. This flag is used by ApplicationCacheGroup::checkIfLoadIsComplete() to decide
+ // the course of action in case of this failure (i.e. call the ChromeClient callback or run the failure steps).
+ bool m_calledReachedMaxAppCacheSize;
RefPtr<ResourceHandle> m_currentHandle;
RefPtr<ApplicationCacheResource> m_currentResource;
RefPtr<ApplicationCacheResource> m_manifestResource;
RefPtr<ResourceHandle> m_manifestHandle;
+
+ friend class ChromeClientCallbackTimer;
};
} // namespace WebCore
diff --git a/src/3rdparty/webkit/WebCore/loader/appcache/ApplicationCacheResource.cpp b/src/3rdparty/webkit/WebCore/loader/appcache/ApplicationCacheResource.cpp
index 4beb76a..03c5c83 100644
--- a/src/3rdparty/webkit/WebCore/loader/appcache/ApplicationCacheResource.cpp
+++ b/src/3rdparty/webkit/WebCore/loader/appcache/ApplicationCacheResource.cpp
@@ -35,6 +35,7 @@ ApplicationCacheResource::ApplicationCacheResource(const KURL& url, const Resour
: SubstituteResource(url, response, data)
, m_type(type)
, m_storageID(0)
+ , m_estimatedSizeInStorage(0)
{
}
@@ -44,6 +45,28 @@ void ApplicationCacheResource::addType(unsigned type)
m_type |= type;
}
+int64_t ApplicationCacheResource::estimatedSizeInStorage()
+{
+ if (m_estimatedSizeInStorage)
+ return m_estimatedSizeInStorage;
+
+ if (data())
+ m_estimatedSizeInStorage = data()->size();
+
+ HTTPHeaderMap::const_iterator end = response().httpHeaderFields().end();
+ for (HTTPHeaderMap::const_iterator it = response().httpHeaderFields().begin(); it != end; ++it)
+ m_estimatedSizeInStorage += (it->first.length() + it->second.length() + 2) * sizeof(UChar);
+
+ m_estimatedSizeInStorage += url().string().length() * sizeof(UChar);
+ m_estimatedSizeInStorage += sizeof(int); // response().m_httpStatusCode
+ m_estimatedSizeInStorage += response().url().string().length() * sizeof(UChar);
+ m_estimatedSizeInStorage += sizeof(unsigned); // dataId
+ m_estimatedSizeInStorage += response().mimeType().length() * sizeof(UChar);
+ m_estimatedSizeInStorage += response().textEncodingName().length() * sizeof(UChar);
+
+ return m_estimatedSizeInStorage;
+}
+
#ifndef NDEBUG
void ApplicationCacheResource::dumpType(unsigned type)
{
diff --git a/src/3rdparty/webkit/WebCore/loader/appcache/ApplicationCacheResource.h b/src/3rdparty/webkit/WebCore/loader/appcache/ApplicationCacheResource.h
index 0a8d6c2..cffc51b 100644
--- a/src/3rdparty/webkit/WebCore/loader/appcache/ApplicationCacheResource.h
+++ b/src/3rdparty/webkit/WebCore/loader/appcache/ApplicationCacheResource.h
@@ -44,6 +44,7 @@ public:
static PassRefPtr<ApplicationCacheResource> create(const KURL& url, const ResourceResponse& response, unsigned type, PassRefPtr<SharedBuffer> buffer = SharedBuffer::create())
{
+ ASSERT(!url.hasRef());
return adoptRef(new ApplicationCacheResource(url, response, type, buffer));
}
@@ -53,6 +54,7 @@ public:
void setStorageID(unsigned storageID) { m_storageID = storageID; }
unsigned storageID() const { return m_storageID; }
void clearStorageID() { m_storageID = 0; }
+ int64_t estimatedSizeInStorage();
#ifndef NDEBUG
static void dumpType(unsigned type);
@@ -63,6 +65,7 @@ private:
unsigned m_type;
unsigned m_storageID;
+ int64_t m_estimatedSizeInStorage;
};
} // namespace WebCore
diff --git a/src/3rdparty/webkit/WebCore/loader/appcache/ApplicationCacheStorage.cpp b/src/3rdparty/webkit/WebCore/loader/appcache/ApplicationCacheStorage.cpp
index 7e611cd..18a0ed4 100644
--- a/src/3rdparty/webkit/WebCore/loader/appcache/ApplicationCacheStorage.cpp
+++ b/src/3rdparty/webkit/WebCore/loader/appcache/ApplicationCacheStorage.cpp
@@ -43,16 +43,17 @@ using namespace std;
namespace WebCore {
-class ResourceStorageIDJournal {
+template <class T>
+class StorageIDJournal {
public:
- ~ResourceStorageIDJournal()
+ ~StorageIDJournal()
{
size_t size = m_records.size();
for (size_t i = 0; i < size; ++i)
m_records[i].restore();
}
- void add(ApplicationCacheResource* resource, unsigned storageID)
+ void add(T* resource, unsigned storageID)
{
m_records.append(Record(resource, storageID));
}
@@ -66,7 +67,7 @@ private:
class Record {
public:
Record() : m_resource(0), m_storageID(0) { }
- Record(ApplicationCacheResource* resource, unsigned storageID) : m_resource(resource), m_storageID(storageID) { }
+ Record(T* resource, unsigned storageID) : m_resource(resource), m_storageID(storageID) { }
void restore()
{
@@ -74,7 +75,7 @@ private:
}
private:
- ApplicationCacheResource* m_resource;
+ T* m_resource;
unsigned m_storageID;
};
@@ -126,11 +127,12 @@ ApplicationCacheGroup* ApplicationCacheStorage::loadCacheGroup(const KURL& manif
ApplicationCacheGroup* ApplicationCacheStorage::findOrCreateCacheGroup(const KURL& manifestURL)
{
+ ASSERT(!manifestURL.hasRef());
+
std::pair<CacheGroupMap::iterator, bool> result = m_cachesInMemory.add(manifestURL, 0);
if (!result.second) {
ASSERT(result.first->second);
-
return result.first->second;
}
@@ -175,6 +177,8 @@ void ApplicationCacheStorage::loadManifestHostHashes()
ApplicationCacheGroup* ApplicationCacheStorage::cacheGroupForURL(const KURL& url)
{
+ ASSERT(!url.hasRef());
+
loadManifestHostHashes();
// Hash the host name and see if there's a manifest with the same host.
@@ -223,6 +227,8 @@ ApplicationCacheGroup* ApplicationCacheStorage::cacheGroupForURL(const KURL& url
// a matching URL.
unsigned newestCacheID = static_cast<unsigned>(statement.getColumnInt64(2));
RefPtr<ApplicationCache> cache = loadCache(newestCacheID);
+ if (!cache)
+ continue;
ApplicationCacheResource* resource = cache->resourceForURL(url);
if (!resource)
@@ -248,6 +254,8 @@ ApplicationCacheGroup* ApplicationCacheStorage::cacheGroupForURL(const KURL& url
ApplicationCacheGroup* ApplicationCacheStorage::fallbackCacheGroupForURL(const KURL& url)
{
+ ASSERT(!url.hasRef());
+
// Check if an appropriate cache already exists in memory.
CacheGroupMap::const_iterator end = m_cachesInMemory.end();
for (CacheGroupMap::const_iterator it = m_cachesInMemory.begin(); it != end; ++it) {
@@ -353,6 +361,58 @@ const String& ApplicationCacheStorage::cacheDirectory() const
return m_cacheDirectory;
}
+void ApplicationCacheStorage::setMaximumSize(int64_t size)
+{
+ m_maximumSize = size;
+}
+
+int64_t ApplicationCacheStorage::maximumSize() const
+{
+ return m_maximumSize;
+}
+
+bool ApplicationCacheStorage::isMaximumSizeReached() const
+{
+ return m_isMaximumSizeReached;
+}
+
+int64_t ApplicationCacheStorage::spaceNeeded(int64_t cacheToSave)
+{
+ int64_t spaceNeeded = 0;
+ long long fileSize = 0;
+ if (!getFileSize(m_cacheFile, fileSize))
+ return 0;
+
+ int64_t currentSize = fileSize;
+
+ // Determine the amount of free space we have available.
+ int64_t totalAvailableSize = 0;
+ if (m_maximumSize < currentSize) {
+ // The max size is smaller than the actual size of the app cache file.
+ // This can happen if the client previously imposed a larger max size
+ // value and the app cache file has already grown beyond the current
+ // max size value.
+ // The amount of free space is just the amount of free space inside
+ // the database file. Note that this is always 0 if SQLite is compiled
+ // with AUTO_VACUUM = 1.
+ totalAvailableSize = m_database.freeSpaceSize();
+ } else {
+ // The max size is the same or larger than the current size.
+ // The amount of free space available is the amount of free space
+ // inside the database file plus the amount we can grow until we hit
+ // the max size.
+ totalAvailableSize = (m_maximumSize - currentSize) + m_database.freeSpaceSize();
+ }
+
+ // The space needed to be freed in order to accomodate the failed cache is
+ // the size of the failed cache minus any already available free space.
+ spaceNeeded = cacheToSave - totalAvailableSize;
+ // The space needed value must be positive (or else the total already
+ // available free space would be larger than the size of the failed cache and
+ // saving of the cache should have never failed).
+ ASSERT(spaceNeeded);
+ return spaceNeeded;
+}
bool ApplicationCacheStorage::executeSQLCommand(const String& sql)
{
@@ -366,7 +426,7 @@ bool ApplicationCacheStorage::executeSQLCommand(const String& sql)
return result;
}
-static const int schemaVersion = 3;
+static const int schemaVersion = 4;
void ApplicationCacheStorage::verifySchemaVersion()
{
@@ -400,13 +460,13 @@ void ApplicationCacheStorage::openDatabase(bool createIfDoesNotExist)
// The cache directory should never be null, but if it for some weird reason is we bail out.
if (m_cacheDirectory.isNull())
return;
-
- String applicationCachePath = pathByAppendingComponent(m_cacheDirectory, "ApplicationCache.db");
- if (!createIfDoesNotExist && !fileExists(applicationCachePath))
+
+ m_cacheFile = pathByAppendingComponent(m_cacheDirectory, "ApplicationCache.db");
+ if (!createIfDoesNotExist && !fileExists(m_cacheFile))
return;
makeAllDirectories(m_cacheDirectory);
- m_database.open(applicationCachePath);
+ m_database.open(m_cacheFile);
if (!m_database.isOpen())
return;
@@ -416,7 +476,7 @@ void ApplicationCacheStorage::openDatabase(bool createIfDoesNotExist)
// Create tables
executeSQLCommand("CREATE TABLE IF NOT EXISTS CacheGroups (id INTEGER PRIMARY KEY AUTOINCREMENT, "
"manifestHostHash INTEGER NOT NULL ON CONFLICT FAIL, manifestURL TEXT UNIQUE ON CONFLICT FAIL, newestCache INTEGER)");
- executeSQLCommand("CREATE TABLE IF NOT EXISTS Caches (id INTEGER PRIMARY KEY AUTOINCREMENT, cacheGroup INTEGER)");
+ executeSQLCommand("CREATE TABLE IF NOT EXISTS Caches (id INTEGER PRIMARY KEY AUTOINCREMENT, cacheGroup INTEGER, size INTEGER)");
executeSQLCommand("CREATE TABLE IF NOT EXISTS CacheWhitelistURLs (url TEXT NOT NULL ON CONFLICT FAIL, cache INTEGER NOT NULL ON CONFLICT FAIL)");
executeSQLCommand("CREATE TABLE IF NOT EXISTS FallbackURLs (namespace TEXT NOT NULL ON CONFLICT FAIL, fallbackURL TEXT NOT NULL ON CONFLICT FAIL, "
"cache INTEGER NOT NULL ON CONFLICT FAIL)");
@@ -456,9 +516,10 @@ bool ApplicationCacheStorage::executeStatement(SQLiteStatement& statement)
return result;
}
-bool ApplicationCacheStorage::store(ApplicationCacheGroup* group)
+bool ApplicationCacheStorage::store(ApplicationCacheGroup* group, GroupStorageIDJournal* journal)
{
ASSERT(group->storageID() == 0);
+ ASSERT(journal);
SQLiteStatement statement(m_database, "INSERT INTO CacheGroups (manifestHostHash, manifestURL) VALUES (?, ?)");
if (statement.prepare() != SQLResultOk)
@@ -471,6 +532,7 @@ bool ApplicationCacheStorage::store(ApplicationCacheGroup* group)
return false;
group->setStorageID(static_cast<unsigned>(m_database.lastInsertRowID()));
+ journal->add(group, 0);
return true;
}
@@ -480,11 +542,12 @@ bool ApplicationCacheStorage::store(ApplicationCache* cache, ResourceStorageIDJo
ASSERT(cache->group()->storageID() != 0);
ASSERT(storageIDJournal);
- SQLiteStatement statement(m_database, "INSERT INTO Caches (cacheGroup) VALUES (?)");
+ SQLiteStatement statement(m_database, "INSERT INTO Caches (cacheGroup, size) VALUES (?, ?)");
if (statement.prepare() != SQLResultOk)
return false;
statement.bindInt64(1, cache->group()->storageID());
+ statement.bindInt64(2, cache->estimatedSizeInStorage());
if (!executeStatement(statement))
return false;
@@ -581,6 +644,9 @@ bool ApplicationCacheStorage::store(ApplicationCacheResource* resource, unsigned
if (resourceStatement.prepare() != SQLResultOk)
return false;
+ // The same ApplicationCacheResource are used in ApplicationCacheResource::size()
+ // to calculate the approximate size of an ApplicationCacheResource object. If
+ // you change the code below, please also change ApplicationCacheResource::size().
resourceStatement.bindText(1, resource->url());
resourceStatement.bindInt64(2, resource->response().httpStatusCode());
resourceStatement.bindText(3, resource->response().url());
@@ -626,33 +692,56 @@ bool ApplicationCacheStorage::storeUpdatedType(ApplicationCacheResource* resourc
return executeStatement(entryStatement);
}
-void ApplicationCacheStorage::store(ApplicationCacheResource* resource, ApplicationCache* cache)
+bool ApplicationCacheStorage::store(ApplicationCacheResource* resource, ApplicationCache* cache)
{
ASSERT(cache->storageID());
openDatabase(true);
+ m_isMaximumSizeReached = false;
+ m_database.setMaximumSize(m_maximumSize);
+
SQLiteTransaction storeResourceTransaction(m_database);
storeResourceTransaction.begin();
- if (!store(resource, cache->storageID()))
- return;
+ if (!store(resource, cache->storageID())) {
+ checkForMaxSizeReached();
+ return false;
+ }
+
+ // A resource was added to the cache. Update the total data size for the cache.
+ SQLiteStatement sizeUpdateStatement(m_database, "UPDATE Caches SET size=size+? WHERE id=?");
+ if (sizeUpdateStatement.prepare() != SQLResultOk)
+ return false;
+
+ sizeUpdateStatement.bindInt64(1, resource->estimatedSizeInStorage());
+ sizeUpdateStatement.bindInt64(2, cache->storageID());
+
+ if (!executeStatement(sizeUpdateStatement))
+ return false;
storeResourceTransaction.commit();
+ return true;
}
bool ApplicationCacheStorage::storeNewestCache(ApplicationCacheGroup* group)
{
openDatabase(true);
-
+
+ m_isMaximumSizeReached = false;
+ m_database.setMaximumSize(m_maximumSize);
+
SQLiteTransaction storeCacheTransaction(m_database);
storeCacheTransaction.begin();
-
+
+ GroupStorageIDJournal groupStorageIDJournal;
if (!group->storageID()) {
// Store the group
- if (!store(group))
+ if (!store(group, &groupStorageIDJournal)) {
+ checkForMaxSizeReached();
return false;
+ }
}
ASSERT(group->newestCache());
@@ -662,11 +751,13 @@ bool ApplicationCacheStorage::storeNewestCache(ApplicationCacheGroup* group)
// Log the storageID changes to the in-memory resource objects. The journal
// object will roll them back automatically in case a database operation
// fails and this method returns early.
- ResourceStorageIDJournal storageIDJournal;
+ ResourceStorageIDJournal resourceStorageIDJournal;
// Store the newest cache
- if (!store(group->newestCache(), &storageIDJournal))
+ if (!store(group->newestCache(), &resourceStorageIDJournal)) {
+ checkForMaxSizeReached();
return false;
+ }
// Update the newest cache in the group.
@@ -680,7 +771,8 @@ bool ApplicationCacheStorage::storeNewestCache(ApplicationCacheGroup* group)
if (!executeStatement(statement))
return false;
- storageIDJournal.commit();
+ groupStorageIDJournal.commit();
+ resourceStorageIDJournal.commit();
storeCacheTransaction.commit();
return true;
}
@@ -876,7 +968,116 @@ bool ApplicationCacheStorage::storeCopyOfCache(const String& cacheDirectory, App
return copyStorage.storeNewestCache(groupCopy.get());
}
-
+
+bool ApplicationCacheStorage::manifestURLs(Vector<KURL>* urls)
+{
+ ASSERT(urls);
+ openDatabase(false);
+ if (!m_database.isOpen())
+ return false;
+
+ SQLiteStatement selectURLs(m_database, "SELECT manifestURL FROM CacheGroups");
+
+ if (selectURLs.prepare() != SQLResultOk)
+ return false;
+
+ while (selectURLs.step() == SQLResultRow)
+ urls->append(selectURLs.getColumnText(0));
+
+ return true;
+}
+
+bool ApplicationCacheStorage::cacheGroupSize(const String& manifestURL, int64_t* size)
+{
+ ASSERT(size);
+ openDatabase(false);
+ if (!m_database.isOpen())
+ return false;
+
+ SQLiteStatement statement(m_database, "SELECT sum(Caches.size) FROM Caches INNER JOIN CacheGroups ON Caches.cacheGroup=CacheGroups.id WHERE CacheGroups.manifestURL=?");
+ if (statement.prepare() != SQLResultOk)
+ return false;
+
+ statement.bindText(1, manifestURL);
+
+ int result = statement.step();
+ if (result == SQLResultDone)
+ return false;
+
+ if (result != SQLResultRow) {
+ LOG_ERROR("Could not get the size of the cache group, error \"%s\"", m_database.lastErrorMsg());
+ return false;
+ }
+
+ *size = statement.getColumnInt64(0);
+ return true;
+}
+
+bool ApplicationCacheStorage::deleteCacheGroup(const String& manifestURL)
+{
+ SQLiteTransaction deleteTransaction(m_database);
+ // Check to see if the group is in memory.
+ ApplicationCacheGroup* group = m_cachesInMemory.get(manifestURL);
+ if (group)
+ cacheGroupMadeObsolete(group);
+ else {
+ // The cache group is not in memory, so remove it from the disk.
+ openDatabase(false);
+ if (!m_database.isOpen())
+ return false;
+
+ SQLiteStatement idStatement(m_database, "SELECT id FROM CacheGroups WHERE manifestURL=?");
+ if (idStatement.prepare() != SQLResultOk)
+ return false;
+
+ idStatement.bindText(1, manifestURL);
+
+ int result = idStatement.step();
+ if (result == SQLResultDone)
+ return false;
+
+ if (result != SQLResultRow) {
+ LOG_ERROR("Could not load cache group id, error \"%s\"", m_database.lastErrorMsg());
+ return false;
+ }
+
+ int64_t groupId = idStatement.getColumnInt64(0);
+
+ SQLiteStatement cacheStatement(m_database, "DELETE FROM Caches WHERE cacheGroup=?");
+ if (cacheStatement.prepare() != SQLResultOk)
+ return false;
+
+ SQLiteStatement groupStatement(m_database, "DELETE FROM CacheGroups WHERE id=?");
+ if (groupStatement.prepare() != SQLResultOk)
+ return false;
+
+ cacheStatement.bindInt64(1, groupId);
+ executeStatement(cacheStatement);
+ groupStatement.bindInt64(1, groupId);
+ executeStatement(groupStatement);
+ }
+
+ deleteTransaction.commit();
+ return true;
+}
+
+void ApplicationCacheStorage::vacuumDatabaseFile()
+{
+ m_database.runVacuumCommand();
+}
+
+void ApplicationCacheStorage::checkForMaxSizeReached()
+{
+ if (m_database.lastError() == SQLResultFull)
+ m_isMaximumSizeReached = true;
+}
+
+ApplicationCacheStorage::ApplicationCacheStorage()
+ : m_maximumSize(INT_MAX)
+ , m_isMaximumSizeReached(false)
+{
+}
+
ApplicationCacheStorage& cacheStorage()
{
DEFINE_STATIC_LOCAL(ApplicationCacheStorage, storage, ());
diff --git a/src/3rdparty/webkit/WebCore/loader/appcache/ApplicationCacheStorage.h b/src/3rdparty/webkit/WebCore/loader/appcache/ApplicationCacheStorage.h
index b13b596..c6d687e 100644
--- a/src/3rdparty/webkit/WebCore/loader/appcache/ApplicationCacheStorage.h
+++ b/src/3rdparty/webkit/WebCore/loader/appcache/ApplicationCacheStorage.h
@@ -40,13 +40,19 @@ class ApplicationCache;
class ApplicationCacheGroup;
class ApplicationCacheResource;
class KURL;
-class ResourceStorageIDJournal;
-
+template <class T>
+class StorageIDJournal;
+
class ApplicationCacheStorage {
public:
void setCacheDirectory(const String&);
const String& cacheDirectory() const;
+ void setMaximumSize(int64_t size);
+ int64_t maximumSize() const;
+ bool isMaximumSizeReached() const;
+ int64_t spaceNeeded(int64_t cacheToSave);
+
ApplicationCacheGroup* cacheGroupForURL(const KURL&); // Cache to load a main resource from.
ApplicationCacheGroup* fallbackCacheGroupForURL(const KURL&); // Cache that has a fallback entry to load a main resource from if normal loading fails.
@@ -55,7 +61,7 @@ public:
void cacheGroupMadeObsolete(ApplicationCacheGroup*);
bool storeNewestCache(ApplicationCacheGroup*); // Updates the cache group, but doesn't remove old cache.
- void store(ApplicationCacheResource*, ApplicationCache*);
+ bool store(ApplicationCacheResource*, ApplicationCache*);
bool storeUpdatedType(ApplicationCacheResource*, ApplicationCache*);
// Removes the group if the cache to be removed is the newest one (so, storeNewestCache() needs to be called beforehand when updating).
@@ -65,11 +71,19 @@ public:
static bool storeCopyOfCache(const String& cacheDirectory, ApplicationCache*);
+ bool manifestURLs(Vector<KURL>* urls);
+ bool cacheGroupSize(const String& manifestURL, int64_t* size);
+ bool deleteCacheGroup(const String& manifestURL);
+ void vacuumDatabaseFile();
private:
+ ApplicationCacheStorage();
PassRefPtr<ApplicationCache> loadCache(unsigned storageID);
ApplicationCacheGroup* loadCacheGroup(const KURL& manifestURL);
- bool store(ApplicationCacheGroup*);
+ typedef StorageIDJournal<ApplicationCacheResource> ResourceStorageIDJournal;
+ typedef StorageIDJournal<ApplicationCacheGroup> GroupStorageIDJournal;
+
+ bool store(ApplicationCacheGroup*, GroupStorageIDJournal*);
bool store(ApplicationCache*, ResourceStorageIDJournal*);
bool store(ApplicationCacheResource*, unsigned cacheStorageID);
@@ -81,8 +95,14 @@ private:
bool executeStatement(SQLiteStatement&);
bool executeSQLCommand(const String&);
+
+ void checkForMaxSizeReached();
String m_cacheDirectory;
+ String m_cacheFile;
+
+ int64_t m_maximumSize;
+ bool m_isMaximumSizeReached;
SQLiteDatabase m_database;
@@ -92,6 +112,8 @@ private:
typedef HashMap<String, ApplicationCacheGroup*> CacheGroupMap;
CacheGroupMap m_cachesInMemory; // Excludes obsolete cache groups.
+
+ friend ApplicationCacheStorage& cacheStorage();
};
ApplicationCacheStorage& cacheStorage();
diff --git a/src/3rdparty/webkit/WebCore/loader/archive/ArchiveResourceCollection.h b/src/3rdparty/webkit/WebCore/loader/archive/ArchiveResourceCollection.h
index f898a8d..9d630d1 100644
--- a/src/3rdparty/webkit/WebCore/loader/archive/ArchiveResourceCollection.h
+++ b/src/3rdparty/webkit/WebCore/loader/archive/ArchiveResourceCollection.h
@@ -39,7 +39,7 @@
namespace WebCore {
-class ArchiveResourceCollection : Noncopyable {
+class ArchiveResourceCollection : public Noncopyable {
public:
ArchiveResourceCollection();
diff --git a/src/3rdparty/webkit/WebCore/loader/icon/IconDatabase.cpp b/src/3rdparty/webkit/WebCore/loader/icon/IconDatabase.cpp
index 3ded4f3..b78291d 100644
--- a/src/3rdparty/webkit/WebCore/loader/icon/IconDatabase.cpp
+++ b/src/3rdparty/webkit/WebCore/loader/icon/IconDatabase.cpp
@@ -27,6 +27,8 @@
#include "config.h"
#include "IconDatabase.h"
+#if ENABLE(ICONDATABASE)
+
#include "AutodrainedPool.h"
#include "DocumentLoader.h"
#include "FileSystem.h"
@@ -2067,3 +2069,5 @@ void IconDatabase::writeIconSnapshotToSQLDatabase(const IconSnapshot& snapshot)
}
} // namespace WebCore
+
+#endif // ENABLE(ICONDATABASE)
diff --git a/src/3rdparty/webkit/WebCore/loader/icon/IconDatabase.h b/src/3rdparty/webkit/WebCore/loader/icon/IconDatabase.h
index 40f641a..44ef22a 100644
--- a/src/3rdparty/webkit/WebCore/loader/icon/IconDatabase.h
+++ b/src/3rdparty/webkit/WebCore/loader/icon/IconDatabase.h
@@ -62,7 +62,7 @@ enum IconLoadDecision {
IconLoadUnknown
};
-class IconDatabase : Noncopyable {
+class IconDatabase : public Noncopyable {
// *** Main Thread Only ***
public:
@@ -165,6 +165,7 @@ private:
HashSet<String> m_pageURLsPendingImport;
HashSet<String> m_pageURLsInterestedInIcons;
HashSet<IconRecord*> m_iconsPendingReading;
+#endif // ENABLE(ICONDATABASE)
// *** Sync Thread Only ***
public:
@@ -174,6 +175,7 @@ public:
bool shouldStopThreadActivity() const;
+#if ENABLE(ICONDATABASE)
private:
static void* iconDatabaseSyncThreadStart(void *);
void* iconDatabaseSyncThread();
@@ -238,4 +240,4 @@ IconDatabase* iconDatabase();
} // namespace WebCore
-#endif
+#endif // IconDatabase_h
diff --git a/src/3rdparty/webkit/WebCore/loader/icon/IconDatabaseNone.cpp b/src/3rdparty/webkit/WebCore/loader/icon/IconDatabaseNone.cpp
index a7fb88d..03a7964 100644
--- a/src/3rdparty/webkit/WebCore/loader/icon/IconDatabaseNone.cpp
+++ b/src/3rdparty/webkit/WebCore/loader/icon/IconDatabaseNone.cpp
@@ -26,6 +26,8 @@
#include "config.h"
#include "IconDatabase.h"
+#if !ENABLE(ICONDATABASE)
+
#include "PlatformString.h"
#include "SharedBuffer.h"
#include <wtf/StdLibExtras.h>
@@ -194,4 +196,23 @@ void IconDatabase::setClient(IconDatabaseClient*)
{
}
+// ************************
+// *** Sync Thread Only ***
+// ************************
+
+void IconDatabase::importIconURLForPageURL(const String&, const String&)
+{
+}
+
+void IconDatabase::importIconDataForIconURL(PassRefPtr<SharedBuffer>, const String&)
+{
+}
+
+bool IconDatabase::shouldStopThreadActivity() const
+{
+ return true;
+}
+
} // namespace WebCore
+
+#endif // !ENABLE(ICONDATABASE)
diff --git a/src/3rdparty/webkit/WebCore/loader/icon/IconLoader.h b/src/3rdparty/webkit/WebCore/loader/icon/IconLoader.h
index a7194d8..7b96ed8 100644
--- a/src/3rdparty/webkit/WebCore/loader/icon/IconLoader.h
+++ b/src/3rdparty/webkit/WebCore/loader/icon/IconLoader.h
@@ -38,7 +38,7 @@ class Frame;
class KURL;
class SharedBuffer;
-class IconLoader : private SubresourceLoaderClient, Noncopyable {
+class IconLoader : private SubresourceLoaderClient, public Noncopyable {
public:
static std::auto_ptr<IconLoader> create(Frame*);
~IconLoader();
diff --git a/src/3rdparty/webkit/WebCore/loader/icon/PageURLRecord.h b/src/3rdparty/webkit/WebCore/loader/icon/PageURLRecord.h
index bc52f5b..f7ccb8f 100644
--- a/src/3rdparty/webkit/WebCore/loader/icon/PageURLRecord.h
+++ b/src/3rdparty/webkit/WebCore/loader/icon/PageURLRecord.h
@@ -51,7 +51,7 @@ public:
String iconURL;
};
-class PageURLRecord : Noncopyable {
+class PageURLRecord : public Noncopyable {
public:
PageURLRecord(const String& pageURL);
~PageURLRecord();
diff --git a/src/3rdparty/webkit/WebCore/loader/loader.cpp b/src/3rdparty/webkit/WebCore/loader/loader.cpp
index d10877f..7ca45a5 100644
--- a/src/3rdparty/webkit/WebCore/loader/loader.cpp
+++ b/src/3rdparty/webkit/WebCore/loader/loader.cpp
@@ -176,6 +176,35 @@ void Loader::resumePendingRequests()
scheduleServePendingRequests();
}
+void Loader::nonCacheRequestInFlight(const KURL& url)
+{
+ if (!url.protocolInHTTPFamily())
+ return;
+
+ AtomicString hostName = url.host();
+ RefPtr<Host> host = m_hosts.get(hostName.impl());
+ if (!host) {
+ host = Host::create(hostName, maxRequestsInFlightPerHost);
+ m_hosts.add(hostName.impl(), host);
+ }
+
+ host->nonCacheRequestInFlight();
+}
+
+void Loader::nonCacheRequestComplete(const KURL& url)
+{
+ if (!url.protocolInHTTPFamily())
+ return;
+
+ AtomicString hostName = url.host();
+ RefPtr<Host> host = m_hosts.get(hostName.impl());
+ ASSERT(host);
+ if (!host)
+ return;
+
+ host->nonCacheRequestComplete();
+}
+
void Loader::cancelRequests(DocLoader* docLoader)
{
docLoader->clearPendingPreloads();
@@ -204,6 +233,7 @@ Loader::Host::Host(const AtomicString& name, unsigned maxRequestsInFlight)
: m_name(name)
, m_maxRequestsInFlight(maxRequestsInFlight)
, m_numResourcesProcessing(0)
+ , m_nonCachedRequestsInFlight(0)
{
}
@@ -219,6 +249,17 @@ void Loader::Host::addRequest(Request* request, Priority priority)
m_requestsPending[priority].append(request);
}
+void Loader::Host::nonCacheRequestInFlight()
+{
+ ++m_nonCachedRequestsInFlight;
+}
+
+void Loader::Host::nonCacheRequestComplete()
+{
+ --m_nonCachedRequestsInFlight;
+ ASSERT(m_nonCachedRequestsInFlight >= 0);
+}
+
bool Loader::Host::hasRequests() const
{
if (!m_requestsLoading.isEmpty())
@@ -246,11 +287,8 @@ void Loader::Host::servePendingRequests(RequestQueue& requestsPending, bool& ser
Request* request = requestsPending.first();
DocLoader* docLoader = request->docLoader();
bool resourceIsCacheValidator = request->cachedResource()->isCacheValidator();
- // If the document is fully parsed and there are no pending stylesheets there won't be any more
- // resources that we would want to push to the front of the queue. Just hand off the remaining resources
- // to the networking layer.
- bool parsedAndStylesheetsKnown = !docLoader->doc()->parsing() && docLoader->doc()->haveStylesheetsLoaded();
- if (!parsedAndStylesheetsKnown && !resourceIsCacheValidator && m_requestsLoading.size() >= m_maxRequestsInFlight) {
+
+ if (m_requestsLoading.size() + m_nonCachedRequestsInFlight >= m_maxRequestsInFlight) {
serveLowerPriority = false;
return;
}
diff --git a/src/3rdparty/webkit/WebCore/loader/loader.h b/src/3rdparty/webkit/WebCore/loader/loader.h
index c5b9416..d0a526f 100644
--- a/src/3rdparty/webkit/WebCore/loader/loader.h
+++ b/src/3rdparty/webkit/WebCore/loader/loader.h
@@ -35,9 +35,10 @@ namespace WebCore {
class CachedResource;
class DocLoader;
+ class KURL;
class Request;
- class Loader : Noncopyable {
+ class Loader : public Noncopyable {
public:
Loader();
~Loader();
@@ -52,6 +53,9 @@ namespace WebCore {
bool isSuspendingPendingRequests() { return m_isSuspendingPendingRequests; }
void suspendPendingRequests();
void resumePendingRequests();
+
+ void nonCacheRequestInFlight(const KURL&);
+ void nonCacheRequestComplete(const KURL&);
private:
Priority determinePriority(const CachedResource*) const;
@@ -69,11 +73,13 @@ namespace WebCore {
const AtomicString& name() const { return m_name; }
void addRequest(Request*, Priority);
+ void nonCacheRequestInFlight();
+ void nonCacheRequestComplete();
void servePendingRequests(Priority minimumPriority = Low);
void cancelRequests(DocLoader*);
bool hasRequests() const;
- bool processingResource() const { return m_numResourcesProcessing != 0; }
+ bool processingResource() const { return m_numResourcesProcessing != 0 || m_nonCachedRequestsInFlight !=0; }
private:
Host(const AtomicString&, unsigned);
@@ -94,6 +100,7 @@ namespace WebCore {
const AtomicString m_name;
const int m_maxRequestsInFlight;
int m_numResourcesProcessing;
+ int m_nonCachedRequestsInFlight;
};
typedef HashMap<AtomicStringImpl*, RefPtr<Host> > HostMap;
HostMap m_hosts;
diff --git a/src/3rdparty/webkit/WebCore/page/BarInfo.cpp b/src/3rdparty/webkit/WebCore/page/BarInfo.cpp
index f6a1210..0f6cad5 100644
--- a/src/3rdparty/webkit/WebCore/page/BarInfo.cpp
+++ b/src/3rdparty/webkit/WebCore/page/BarInfo.cpp
@@ -62,20 +62,20 @@ bool BarInfo::visible() const
return false;
switch (m_type) {
- case Locationbar:
- return m_frame->page()->chrome()->toolbarsVisible();
- case Toolbar:
- return m_frame->page()->chrome()->toolbarsVisible();
- case Personalbar:
- return m_frame->page()->chrome()->toolbarsVisible();
- case Menubar:
- return m_frame->page()->chrome()->menubarVisible();
- case Scrollbars:
- return m_frame->page()->chrome()->scrollbarsVisible();
- case Statusbar:
- return m_frame->page()->chrome()->statusbarVisible();
- default:
- return false;
+ case Locationbar:
+ return m_frame->page()->chrome()->toolbarsVisible();
+ case Toolbar:
+ return m_frame->page()->chrome()->toolbarsVisible();
+ case Personalbar:
+ return m_frame->page()->chrome()->toolbarsVisible();
+ case Menubar:
+ return m_frame->page()->chrome()->menubarVisible();
+ case Scrollbars:
+ return m_frame->page()->chrome()->scrollbarsVisible();
+ case Statusbar:
+ return m_frame->page()->chrome()->statusbarVisible();
+ default:
+ return false;
}
}
diff --git a/src/3rdparty/webkit/WebCore/page/Chrome.cpp b/src/3rdparty/webkit/WebCore/page/Chrome.cpp
index 2170723..5a5670e 100644
--- a/src/3rdparty/webkit/WebCore/page/Chrome.cpp
+++ b/src/3rdparty/webkit/WebCore/page/Chrome.cpp
@@ -36,6 +36,7 @@
#include "InspectorController.h"
#include "Page.h"
#include "PageGroupLoadDeferrer.h"
+#include "RenderObject.h"
#include "ResourceHandle.h"
#include "ScriptController.h"
#include "SecurityOrigin.h"
@@ -115,12 +116,12 @@ FloatRect Chrome::pageRect() const
{
return m_client->pageRect();
}
-
+
float Chrome::scaleFactor()
{
return m_client->scaleFactor();
}
-
+
void Chrome::focus() const
{
m_client->focus();
@@ -140,7 +141,7 @@ void Chrome::takeFocus(FocusDirection direction) const
{
m_client->takeFocus(direction);
}
-
+
Page* Chrome::createWindow(Frame* frame, const FrameLoadRequest& request, const WindowFeatures& features) const
{
Page* newPage = m_client->createWindow(frame, request, features);
@@ -234,7 +235,7 @@ bool Chrome::canRunBeforeUnloadConfirmPanel()
bool Chrome::runBeforeUnloadConfirmPanel(const String& message, Frame* frame)
{
- // Defer loads in case the client method runs a new event loop that would
+ // Defer loads in case the client method runs a new event loop that would
// otherwise cause the load to continue while we're in the middle of executing JavaScript.
PageGroupLoadDeferrer deferrer(m_page, true);
@@ -248,7 +249,7 @@ void Chrome::closeWindowSoon()
void Chrome::runJavaScriptAlert(Frame* frame, const String& message)
{
- // Defer loads in case the client method runs a new event loop that would
+ // Defer loads in case the client method runs a new event loop that would
// otherwise cause the load to continue while we're in the middle of executing JavaScript.
PageGroupLoadDeferrer deferrer(m_page, true);
@@ -258,7 +259,7 @@ void Chrome::runJavaScriptAlert(Frame* frame, const String& message)
bool Chrome::runJavaScriptConfirm(Frame* frame, const String& message)
{
- // Defer loads in case the client method runs a new event loop that would
+ // Defer loads in case the client method runs a new event loop that would
// otherwise cause the load to continue while we're in the middle of executing JavaScript.
PageGroupLoadDeferrer deferrer(m_page, true);
@@ -268,16 +269,16 @@ bool Chrome::runJavaScriptConfirm(Frame* frame, const String& message)
bool Chrome::runJavaScriptPrompt(Frame* frame, const String& prompt, const String& defaultValue, String& result)
{
- // Defer loads in case the client method runs a new event loop that would
+ // Defer loads in case the client method runs a new event loop that would
// otherwise cause the load to continue while we're in the middle of executing JavaScript.
PageGroupLoadDeferrer deferrer(m_page, true);
ASSERT(frame);
bool ok = m_client->runJavaScriptPrompt(frame, frame->displayStringModifiedByEncoding(prompt), frame->displayStringModifiedByEncoding(defaultValue), result);
-
+
if (ok)
result = frame->displayStringModifiedByEncoding(result);
-
+
return ok;
}
@@ -289,7 +290,7 @@ void Chrome::setStatusbarText(Frame* frame, const String& status)
bool Chrome::shouldInterruptJavaScript()
{
- // Defer loads in case the client method runs a new event loop that would
+ // Defer loads in case the client method runs a new event loop that would
// otherwise cause the load to continue while we're in the middle of executing JavaScript.
PageGroupLoadDeferrer deferrer(m_page, true);
@@ -317,7 +318,8 @@ void Chrome::mouseDidMoveOverElement(const HitTestResult& result, unsigned modif
void Chrome::setToolTip(const HitTestResult& result)
{
// First priority is a potential toolTip representing a spelling or grammar error
- String toolTip = result.spellingToolTip();
+ TextDirection toolTipDirection;
+ String toolTip = result.spellingToolTip(toolTipDirection);
// Next priority is a toolTip from a URL beneath the mouse (if preference is set to show those).
if (toolTip.isEmpty() && m_page->settings()->showsURLsInToolTips()) {
@@ -326,20 +328,28 @@ void Chrome::setToolTip(const HitTestResult& result)
if (node->hasTagName(inputTag)) {
HTMLInputElement* input = static_cast<HTMLInputElement*>(node);
if (input->inputType() == HTMLInputElement::SUBMIT)
- if (HTMLFormElement* form = input->form())
+ if (HTMLFormElement* form = input->form()) {
toolTip = form->action();
+ if (form->renderer())
+ toolTipDirection = form->renderer()->style()->direction();
+ else
+ toolTipDirection = LTR;
+ }
}
}
// Get tooltip representing link's URL
- if (toolTip.isEmpty())
+ if (toolTip.isEmpty()) {
// FIXME: Need to pass this URL through userVisibleString once that's in WebCore
toolTip = result.absoluteLinkURL().string();
+ // URL always display as LTR.
+ toolTipDirection = LTR;
+ }
}
// Next we'll consider a tooltip for element with "title" attribute
if (toolTip.isEmpty())
- toolTip = result.title();
+ toolTip = result.title(toolTipDirection);
// Lastly, for <input type="file"> that allow multiple files, we'll consider a tooltip for the selected filenames
if (toolTip.isEmpty()) {
@@ -357,13 +367,15 @@ void Chrome::setToolTip(const HitTestResult& result)
names.append('\n');
}
toolTip = String::adopt(names);
+ // filename always display as LTR.
+ toolTipDirection = LTR;
}
}
}
}
}
-
- m_client->setToolTip(toolTip);
+
+ m_client->setToolTip(toolTip, toolTipDirection);
}
void Chrome::print(Frame* frame)
@@ -373,7 +385,7 @@ void Chrome::print(Frame* frame)
void Chrome::requestGeolocationPermissionForFrame(Frame* frame, Geolocation* geolocation)
{
- // Defer loads in case the client method runs a new event loop that would
+ // Defer loads in case the client method runs a new event loop that would
// otherwise cause the load to continue while we're in the middle of executing JavaScript.
PageGroupLoadDeferrer deferrer(m_page, true);
@@ -420,10 +432,10 @@ bool ChromeClient::shouldReplaceWithGeneratedFileForUpload(const String&, String
String ChromeClient::generateReplacementFile(const String&)
{
ASSERT_NOT_REACHED();
- return String();
+ return String();
}
-bool ChromeClient::paintCustomScrollbar(GraphicsContext*, const FloatRect&, ScrollbarControlSize,
+bool ChromeClient::paintCustomScrollbar(GraphicsContext*, const FloatRect&, ScrollbarControlSize,
ScrollbarControlState, ScrollbarPart, bool,
float, float, ScrollbarControlPartMask)
{
diff --git a/src/3rdparty/webkit/WebCore/page/ChromeClient.h b/src/3rdparty/webkit/WebCore/page/ChromeClient.h
index e155754..2a90611 100644
--- a/src/3rdparty/webkit/WebCore/page/ChromeClient.h
+++ b/src/3rdparty/webkit/WebCore/page/ChromeClient.h
@@ -103,7 +103,7 @@ namespace WebCore {
virtual void setResizable(bool) = 0;
- virtual void addMessageToConsole(MessageSource, MessageLevel, const String& message, unsigned int lineNumber, const String& sourceID) = 0;
+ virtual void addMessageToConsole(MessageSource, MessageType, MessageLevel, const String& message, unsigned int lineNumber, const String& sourceID) = 0;
virtual bool canRunBeforeUnloadConfirmPanel() = 0;
virtual bool runBeforeUnloadConfirmPanel(const String& message, Frame* frame) = 0;
@@ -131,7 +131,7 @@ namespace WebCore {
virtual void mouseDidMoveOverElement(const HitTestResult&, unsigned modifierFlags) = 0;
- virtual void setToolTip(const String&) = 0;
+ virtual void setToolTip(const String&, TextDirection) = 0;
virtual void print(Frame*) = 0;
@@ -139,6 +139,15 @@ namespace WebCore {
virtual void exceededDatabaseQuota(Frame*, const String& databaseName) = 0;
#endif
+#if ENABLE(OFFLINE_WEB_APPLICATIONS)
+ // Callback invoked when the application cache fails to save a cache object
+ // because storing it would grow the database file past its defined maximum
+ // size or past the amount of free space on the device.
+ // The chrome client would need to take some action such as evicting some
+ // old caches.
+ virtual void reachedMaxAppCacheSize(int64_t spaceNeeded) = 0;
+#endif
+
#if ENABLE(DASHBOARD_SUPPORT)
virtual void dashboardRegionsChanged();
#endif
@@ -168,6 +177,9 @@ namespace WebCore {
// Notification that the given form element has changed. This function
// will be called frequently, so handling should be very fast.
virtual void formStateDidChange(const Node*) = 0;
+
+ virtual void formDidFocus(const Node*) { };
+ virtual void formDidBlur(const Node*) { };
virtual PassOwnPtr<HTMLParserQuirks> createHTMLParserQuirks() = 0;
diff --git a/src/3rdparty/webkit/WebCore/page/Console.cpp b/src/3rdparty/webkit/WebCore/page/Console.cpp
index 1a654ab..de7bc72 100644
--- a/src/3rdparty/webkit/WebCore/page/Console.cpp
+++ b/src/3rdparty/webkit/WebCore/page/Console.cpp
@@ -29,8 +29,8 @@
#include "config.h"
#include "Console.h"
-#include "ChromeClient.h"
#include "CString.h"
+#include "ChromeClient.h"
#include "Frame.h"
#include "FrameLoader.h"
#include "FrameTree.h"
@@ -90,75 +90,63 @@ static void printMessageSourceAndLevelPrefix(MessageSource source, MessageLevel
{
const char* sourceString;
switch (source) {
- case HTMLMessageSource:
- sourceString = "HTML";
- break;
- case WMLMessageSource:
- sourceString = "WML";
- break;
- case XMLMessageSource:
- sourceString = "XML";
- break;
- case JSMessageSource:
- sourceString = "JS";
- break;
- case CSSMessageSource:
- sourceString = "CSS";
- break;
- case OtherMessageSource:
- sourceString = "OTHER";
- break;
- default:
- ASSERT_NOT_REACHED();
- sourceString = "UNKNOWN";
- break;
+ case HTMLMessageSource:
+ sourceString = "HTML";
+ break;
+ case WMLMessageSource:
+ sourceString = "WML";
+ break;
+ case XMLMessageSource:
+ sourceString = "XML";
+ break;
+ case JSMessageSource:
+ sourceString = "JS";
+ break;
+ case CSSMessageSource:
+ sourceString = "CSS";
+ break;
+ case OtherMessageSource:
+ sourceString = "OTHER";
+ break;
+ default:
+ ASSERT_NOT_REACHED();
+ sourceString = "UNKNOWN";
+ break;
}
const char* levelString;
switch (level) {
- case TipMessageLevel:
- levelString = "TIP";
- break;
- case LogMessageLevel:
- levelString = "LOG";
- break;
- case WarningMessageLevel:
- levelString = "WARN";
- break;
- case ErrorMessageLevel:
- levelString = "ERROR";
- break;
- case ObjectMessageLevel:
- levelString = "OBJECT";
- break;
- case TraceMessageLevel:
- levelString = "TRACE";
- break;
- case StartGroupMessageLevel:
- levelString = "START GROUP";
- break;
- case EndGroupMessageLevel:
- levelString = "END GROUP";
- break;
- default:
- ASSERT_NOT_REACHED();
- levelString = "UNKNOWN";
- break;
+ case TipMessageLevel:
+ levelString = "TIP";
+ break;
+ case LogMessageLevel:
+ levelString = "LOG";
+ break;
+ case WarningMessageLevel:
+ levelString = "WARN";
+ break;
+ case ErrorMessageLevel:
+ levelString = "ERROR";
+ break;
+ default:
+ ASSERT_NOT_REACHED();
+ levelString = "UNKNOWN";
+ break;
}
printf("%s %s:", sourceString, levelString);
}
-void Console::addMessage(MessageSource source, MessageLevel level, const String& message, unsigned lineNumber, const String& sourceURL)
+void Console::addMessage(MessageSource source, MessageType type, MessageLevel level, const String& message, unsigned lineNumber, const String& sourceURL)
{
Page* page = this->page();
if (!page)
return;
if (source == JSMessageSource || source == WMLMessageSource)
- page->chrome()->client()->addMessageToConsole(source, level, message, lineNumber, sourceURL);
+ page->chrome()->client()->addMessageToConsole(source, type, level, message, lineNumber, sourceURL);
- page->inspectorController()->addMessageToConsole(source, level, message, lineNumber, sourceURL);
+ page->inspectorController()->addMessageToConsole(source, type, level, message, lineNumber, sourceURL);
if (!Console::shouldPrintExceptions())
return;
@@ -169,7 +157,8 @@ void Console::addMessage(MessageSource source, MessageLevel level, const String&
printf(" %s\n", message.utf8().data());
}
-void Console::addMessage(MessageLevel level, ScriptCallStack* callStack, bool acceptNoArguments) {
+void Console::addMessage(MessageType type, MessageLevel level, ScriptCallStack* callStack, bool acceptNoArguments)
+{
Page* page = this->page();
if (!page)
return;
@@ -181,9 +170,9 @@ void Console::addMessage(MessageLevel level, ScriptCallStack* callStack, bool ac
String message;
if (getFirstArgumentAsString(callStack->state(), lastCaller, message))
- page->chrome()->client()->addMessageToConsole(JSMessageSource, level, message, lastCaller.lineNumber(), lastCaller.sourceURL().prettyURL());
+ page->chrome()->client()->addMessageToConsole(JSMessageSource, type, level, message, lastCaller.lineNumber(), lastCaller.sourceURL().prettyURL());
- page->inspectorController()->addMessageToConsole(JSMessageSource, level, callStack);
+ page->inspectorController()->addMessageToConsole(JSMessageSource, type, level, callStack);
if (!Console::shouldPrintExceptions())
return;
@@ -207,7 +196,7 @@ void Console::debug(ScriptCallStack* callStack)
void Console::error(ScriptCallStack* callStack)
{
- addMessage(ErrorMessageLevel, callStack);
+ addMessage(LogMessageType, ErrorMessageLevel, callStack);
}
void Console::info(ScriptCallStack* callStack)
@@ -217,12 +206,12 @@ void Console::info(ScriptCallStack* callStack)
void Console::log(ScriptCallStack* callStack)
{
- addMessage(LogMessageLevel, callStack);
+ addMessage(LogMessageType, LogMessageLevel, callStack);
}
void Console::dir(ScriptCallStack* callStack)
{
- addMessage(ObjectMessageLevel, callStack);
+ addMessage(ObjectMessageType, LogMessageLevel, callStack);
}
void Console::dirxml(ScriptCallStack* callStack)
@@ -233,7 +222,7 @@ void Console::dirxml(ScriptCallStack* callStack)
void Console::trace(ScriptCallStack* callStack)
{
- addMessage(TraceMessageLevel, callStack, true);
+ addMessage(TraceMessageType, LogMessageLevel, callStack, true);
if (!shouldPrintExceptions())
return;
@@ -251,7 +240,7 @@ void Console::assertCondition(bool condition, ScriptCallStack* callStack)
return;
// FIXME: <https://bugs.webkit.org/show_bug.cgi?id=19135> It would be nice to prefix assertion failures with a message like "Assertion failed: ".
- addMessage(ErrorMessageLevel, callStack, true);
+ addMessage(LogMessageType, ErrorMessageLevel, callStack, true);
}
void Console::count(ScriptCallStack* callStack)
@@ -278,7 +267,7 @@ void Console::profile(const JSC::UString& title, ScriptCallStack* callStack)
return;
InspectorController* controller = page->inspectorController();
- // FIXME: log a console message when profiling is disabled.
+ // FIXME: log a console message when profiling is disabled.
if (!controller->profilerEnabled())
return;
@@ -316,7 +305,7 @@ void Console::profileEnd(const JSC::UString& title, ScriptCallStack* callStack)
}
#endif
-
+
void Console::time(const String& title)
{
Page* page = this->page();
@@ -327,7 +316,7 @@ void Console::time(const String& title)
// undefined for timing functions
if (title.isNull())
return;
-
+
page->inspectorController()->startTiming(title);
}
@@ -349,7 +338,7 @@ void Console::timeEnd(const String& title, ScriptCallStack* callStack)
String message = title + String::format(": %.0fms", elapsed);
const ScriptCallFrame& lastCaller = callStack->at(0);
- page->inspectorController()->addMessageToConsole(JSMessageSource, LogMessageLevel, message, lastCaller.lineNumber(), lastCaller.sourceURL().string());
+ page->inspectorController()->addMessageToConsole(JSMessageSource, LogMessageType, LogMessageLevel, message, lastCaller.lineNumber(), lastCaller.sourceURL().string());
}
void Console::group(ScriptCallStack* callStack)
@@ -372,7 +361,7 @@ void Console::groupEnd()
void Console::warn(ScriptCallStack* callStack)
{
- addMessage(WarningMessageLevel, callStack);
+ addMessage(LogMessageType, WarningMessageLevel, callStack);
}
static bool printExceptions = false;
diff --git a/src/3rdparty/webkit/WebCore/page/Console.h b/src/3rdparty/webkit/WebCore/page/Console.h
index 79396ea..64e596d 100644
--- a/src/3rdparty/webkit/WebCore/page/Console.h
+++ b/src/3rdparty/webkit/WebCore/page/Console.h
@@ -59,16 +59,19 @@ namespace WebCore {
OtherMessageSource
};
+ enum MessageType {
+ LogMessageType,
+ ObjectMessageType,
+ TraceMessageType,
+ StartGroupMessageType,
+ EndGroupMessageType
+ };
+
enum MessageLevel {
TipMessageLevel,
LogMessageLevel,
WarningMessageLevel,
- ErrorMessageLevel,
- // FIXME: the remaining levels should become a new MessageType enum.
- ObjectMessageLevel,
- TraceMessageLevel,
- StartGroupMessageLevel,
- EndGroupMessageLevel
+ ErrorMessageLevel
};
class Console : public RefCounted<Console> {
@@ -78,7 +81,7 @@ namespace WebCore {
Frame* frame() const;
void disconnectFrame();
- void addMessage(MessageSource, MessageLevel, const String& message, unsigned lineNumber, const String& sourceURL);
+ void addMessage(MessageSource, MessageType, MessageLevel, const String& message, unsigned lineNumber, const String& sourceURL);
void debug(ScriptCallStack*);
void error(ScriptCallStack*);
@@ -108,7 +111,7 @@ namespace WebCore {
private:
inline Page* page() const;
- void addMessage(MessageLevel, ScriptCallStack*, bool acceptNoArguments = false);
+ void addMessage(MessageType, MessageLevel, ScriptCallStack*, bool acceptNoArguments = false);
Console(Frame*);
diff --git a/src/3rdparty/webkit/WebCore/page/ContextMenuController.h b/src/3rdparty/webkit/WebCore/page/ContextMenuController.h
index cb7e6ee..38095f6 100644
--- a/src/3rdparty/webkit/WebCore/page/ContextMenuController.h
+++ b/src/3rdparty/webkit/WebCore/page/ContextMenuController.h
@@ -37,7 +37,7 @@ namespace WebCore {
class Event;
class Page;
- class ContextMenuController : Noncopyable {
+ class ContextMenuController : public Noncopyable {
public:
ContextMenuController(Page*, ContextMenuClient*);
~ContextMenuController();
diff --git a/src/3rdparty/webkit/WebCore/page/Coordinates.cpp b/src/3rdparty/webkit/WebCore/page/Coordinates.cpp
index 637a8c2..728882a 100644
--- a/src/3rdparty/webkit/WebCore/page/Coordinates.cpp
+++ b/src/3rdparty/webkit/WebCore/page/Coordinates.cpp
@@ -31,7 +31,7 @@ namespace WebCore {
String Coordinates::toString() const
{
return String::format("coordinate(%.6lg, %.6lg, %.6lg, %.6lg, %.6lg, %.6lg, %.6lg)",
- m_latitude, m_longitude, m_altitude, m_accuracy,
+ m_latitude, m_longitude, m_altitude, m_accuracy,
m_altitudeAccuracy, m_heading, m_speed);
}
diff --git a/src/3rdparty/webkit/WebCore/page/DOMSelection.cpp b/src/3rdparty/webkit/WebCore/page/DOMSelection.cpp
index 3b54f02..23c695e 100644
--- a/src/3rdparty/webkit/WebCore/page/DOMSelection.cpp
+++ b/src/3rdparty/webkit/WebCore/page/DOMSelection.cpp
@@ -32,12 +32,12 @@
#include "ExceptionCode.h"
#include "Frame.h"
-#include "htmlediting.h"
#include "Node.h"
#include "PlatformString.h"
#include "Range.h"
#include "SelectionController.h"
#include "TextIterator.h"
+#include "htmlediting.h"
namespace WebCore {
@@ -220,7 +220,7 @@ void DOMSelection::setBaseAndExtent(Node* baseNode, int baseOffset, Node* extent
}
VisiblePosition visibleBase = VisiblePosition(baseNode, baseOffset, DOWNSTREAM);
VisiblePosition visibleExtent = VisiblePosition(extentNode, extentOffset, DOWNSTREAM);
-
+
m_frame->selection()->moveTo(visibleBase, visibleExtent);
}
@@ -245,9 +245,9 @@ void DOMSelection::modify(const String& alterString, const String& directionStri
alter = SelectionController::EXTEND;
else if (equalIgnoringCase(alterString, "move"))
alter = SelectionController::MOVE;
- else
+ else
return;
-
+
SelectionController::EDirection direction;
if (equalIgnoringCase(directionString, "forward"))
direction = SelectionController::FORWARD;
@@ -259,7 +259,7 @@ void DOMSelection::modify(const String& alterString, const String& directionStri
direction = SelectionController::RIGHT;
else
return;
-
+
TextGranularity granularity;
if (equalIgnoringCase(granularityString, "character"))
granularity = CharacterGranularity;
@@ -336,7 +336,7 @@ void DOMSelection::addRange(Range* r)
return;
SelectionController* selection = m_frame->selection();
-
+
if (selection->isNone()) {
selection->setSelection(VisibleSelection(r));
return;
@@ -385,7 +385,7 @@ void DOMSelection::deleteFromDocument()
ExceptionCode ec = 0;
selectedRange->deleteContents(ec);
ASSERT(!ec);
-
+
setBaseAndExtent(selectedRange->startContainer(ec), selectedRange->startOffset(ec), selectedRange->startContainer(ec), selectedRange->startOffset(ec), ec);
ASSERT(!ec);
}
diff --git a/src/3rdparty/webkit/WebCore/page/DOMSelection.h b/src/3rdparty/webkit/WebCore/page/DOMSelection.h
index 6a914d6..e0fe1e3 100644
--- a/src/3rdparty/webkit/WebCore/page/DOMSelection.h
+++ b/src/3rdparty/webkit/WebCore/page/DOMSelection.h
@@ -30,9 +30,9 @@
#ifndef DOMSelection_h
#define DOMSelection_h
-#include <wtf/RefCounted.h>
#include <wtf/Forward.h>
#include <wtf/PassRefPtr.h>
+#include <wtf/RefCounted.h>
namespace WebCore {
diff --git a/src/3rdparty/webkit/WebCore/page/DOMTimer.cpp b/src/3rdparty/webkit/WebCore/page/DOMTimer.cpp
index 1cc7730..c42a0dc 100644
--- a/src/3rdparty/webkit/WebCore/page/DOMTimer.cpp
+++ b/src/3rdparty/webkit/WebCore/page/DOMTimer.cpp
@@ -54,7 +54,7 @@ DOMTimer::DOMTimer(ScriptExecutionContext* context, ScheduledAction* action, int
if (lastUsedTimeoutId <= 0)
lastUsedTimeoutId = 1;
m_timeoutId = lastUsedTimeoutId;
-
+
m_nestingLevel = timerNestingLevel + 1;
scriptExecutionContext()->addTimeout(m_timeoutId, this);
@@ -74,11 +74,10 @@ DOMTimer::DOMTimer(ScriptExecutionContext* context, ScheduledAction* action, int
DOMTimer::~DOMTimer()
{
- if (scriptExecutionContext()) {
+ if (scriptExecutionContext())
scriptExecutionContext()->removeTimeout(m_timeoutId);
- }
}
-
+
int DOMTimer::install(ScriptExecutionContext* context, ScheduledAction* action, int timeout, bool singleShot)
{
// DOMTimer constructor links the new timer into a list of ActiveDOMObjects held by the 'context'.
@@ -110,7 +109,7 @@ void DOMTimer::fired()
if (m_nestingLevel >= maxTimerNestingLevel)
augmentRepeatInterval(s_minTimerInterval - repeatInterval());
}
-
+
// No access to member variables after this point, it can delete the timer.
m_action->execute(context);
return;
@@ -121,7 +120,7 @@ void DOMTimer::fired()
// No access to member variables after this point.
delete this;
-
+
action->execute(context);
delete action;
timerNestingLevel = 0;
@@ -147,24 +146,24 @@ void DOMTimer::stop()
m_action.clear();
}
-void DOMTimer::suspend()
-{
- ASSERT(m_nextFireInterval == 0 && m_repeatInterval == 0);
+void DOMTimer::suspend()
+{
+ ASSERT(!m_nextFireInterval && !m_repeatInterval);
m_nextFireInterval = nextFireInterval();
m_repeatInterval = repeatInterval();
TimerBase::stop();
-}
-
-void DOMTimer::resume()
-{
+}
+
+void DOMTimer::resume()
+{
start(m_nextFireInterval, m_repeatInterval);
m_nextFireInterval = 0;
m_repeatInterval = 0;
-}
-
-
-bool DOMTimer::canSuspend() const
-{
+}
+
+
+bool DOMTimer::canSuspend() const
+{
return true;
}
diff --git a/src/3rdparty/webkit/WebCore/page/DOMTimer.h b/src/3rdparty/webkit/WebCore/page/DOMTimer.h
index f6343fc..6d6271f 100644
--- a/src/3rdparty/webkit/WebCore/page/DOMTimer.h
+++ b/src/3rdparty/webkit/WebCore/page/DOMTimer.h
@@ -33,41 +33,41 @@
namespace WebCore {
-class ScheduledAction;
+ class ScheduledAction;
-class DOMTimer : public TimerBase, public ActiveDOMObject {
-public:
- virtual ~DOMTimer();
- // Creates a new timer owned by specified ScriptExecutionContext, starts it
- // and returns its Id.
- static int install(ScriptExecutionContext*, ScheduledAction*, int timeout, bool singleShot);
- static void removeById(ScriptExecutionContext*, int timeoutId);
+ class DOMTimer : public TimerBase, public ActiveDOMObject {
+ public:
+ virtual ~DOMTimer();
+ // Creates a new timer owned by specified ScriptExecutionContext, starts it
+ // and returns its Id.
+ static int install(ScriptExecutionContext*, ScheduledAction*, int timeout, bool singleShot);
+ static void removeById(ScriptExecutionContext*, int timeoutId);
- // ActiveDOMObject
- virtual bool hasPendingActivity() const;
- virtual void contextDestroyed();
- virtual void stop();
- virtual bool canSuspend() const;
- virtual void suspend();
- virtual void resume();
+ // ActiveDOMObject
+ virtual bool hasPendingActivity() const;
+ virtual void contextDestroyed();
+ virtual void stop();
+ virtual bool canSuspend() const;
+ virtual void suspend();
+ virtual void resume();
- // The lowest allowable timer setting (in seconds, 0.001 == 1 ms).
- // Default is 10ms.
- // Chromium uses a non-default timeout.
- static double minTimerInterval() { return s_minTimerInterval; }
- static void setMinTimerInterval(double value) { s_minTimerInterval = value; }
+ // The lowest allowable timer setting (in seconds, 0.001 == 1 ms).
+ // Default is 10ms.
+ // Chromium uses a non-default timeout.
+ static double minTimerInterval() { return s_minTimerInterval; }
+ static void setMinTimerInterval(double value) { s_minTimerInterval = value; }
-private:
- DOMTimer(ScriptExecutionContext*, ScheduledAction*, int timeout, bool singleShot);
- virtual void fired();
+ private:
+ DOMTimer(ScriptExecutionContext*, ScheduledAction*, int timeout, bool singleShot);
+ virtual void fired();
- int m_timeoutId;
- int m_nestingLevel;
- OwnPtr<ScheduledAction> m_action;
- double m_nextFireInterval;
- double m_repeatInterval;
- static double s_minTimerInterval;
-};
+ int m_timeoutId;
+ int m_nestingLevel;
+ OwnPtr<ScheduledAction> m_action;
+ double m_nextFireInterval;
+ double m_repeatInterval;
+ static double s_minTimerInterval;
+ };
} // namespace WebCore
diff --git a/src/3rdparty/webkit/WebCore/page/DOMWindow.cpp b/src/3rdparty/webkit/WebCore/page/DOMWindow.cpp
index eb1981c..e8f9004 100644
--- a/src/3rdparty/webkit/WebCore/page/DOMWindow.cpp
+++ b/src/3rdparty/webkit/WebCore/page/DOMWindow.cpp
@@ -546,12 +546,17 @@ Storage* DOMWindow::sessionStorage() const
{
if (m_sessionStorage)
return m_sessionStorage.get();
-
- Page* page = m_frame->page();
+
+ Document* document = this->document();
+ if (!document)
+ return 0;
+
+ Page* page = document->page();
if (!page)
return 0;
- Document* document = m_frame->document();
+ if (!page->settings()->sessionStorageEnabled())
+ return 0;
RefPtr<StorageArea> storageArea = page->sessionStorage()->storageArea(document->securityOrigin());
page->inspectorController()->didUseDOMStorage(storageArea.get(), false, m_frame);
@@ -573,8 +578,7 @@ Storage* DOMWindow::localStorage() const
if (!page)
return 0;
- Settings* settings = document->settings();
- if (!settings || !settings->localStorageEnabled())
+ if (!page->settings()->localStorageEnabled())
return 0;
StorageNamespace* localStorage = page->group().localStorage();
@@ -634,7 +638,7 @@ void DOMWindow::postMessageTimerFired(PostMessageTimer* t)
if (!timer->targetOrigin()->isSameSchemeHostPort(document()->securityOrigin())) {
String message = String::format("Unable to post message to %s. Recipient has origin %s.\n",
timer->targetOrigin()->toString().utf8().data(), document()->securityOrigin()->toString().utf8().data());
- console()->addMessage(JSMessageSource, ErrorMessageLevel, message, 0, String());
+ console()->addMessage(JSMessageSource, LogMessageType, ErrorMessageLevel, message, 0, String());
return;
}
}
diff --git a/src/3rdparty/webkit/WebCore/page/DOMWindow.idl b/src/3rdparty/webkit/WebCore/page/DOMWindow.idl
index 942facc..e1c9ff0 100644
--- a/src/3rdparty/webkit/WebCore/page/DOMWindow.idl
+++ b/src/3rdparty/webkit/WebCore/page/DOMWindow.idl
@@ -304,6 +304,7 @@ module window {
attribute CounterConstructor Counter;
attribute CSSRuleListConstructor CSSRuleList;
attribute RectConstructor Rect;
+ attribute RGBColorConstructor RGBColor;
attribute StyleSheetListConstructor StyleSheetList;
// FIXME: Implement the commented-out global constructors for interfaces listed in DOM Level 3 Core specification.
@@ -349,8 +350,9 @@ module window {
attribute HTMLBodyElementConstructor HTMLBodyElement;
attribute HTMLButtonElementConstructor HTMLButtonElement;
attribute HTMLCanvasElementConstructor HTMLCanvasElement;
- attribute HTMLDataGridElementConstructor HTMLDataGridElement;
- attribute HTMLDataGridColElementConstructor HTMLDataGridColElement;
+ attribute [Conditional=DATAGRID] HTMLDataGridElementConstructor HTMLDataGridElement;
+ attribute [Conditional=DATAGRID] HTMLDataGridCellElementConstructor HTMLDataGridCellElement;
+ attribute [Conditional=DATAGRID] HTMLDataGridColElementConstructor HTMLDataGridColElement;
attribute HTMLDListElementConstructor HTMLDListElement;
attribute HTMLDirectoryElementConstructor HTMLDirectoryElement;
attribute HTMLDivElementConstructor HTMLDivElement;
@@ -460,6 +462,10 @@ module window {
attribute [JSCCustomGetter] WorkerConstructor Worker; // Usable with the new operator
#endif
+#if defined(ENABLE_SHARED_WORKERS) && ENABLE_SHARED_WORKERS
+ attribute [JSCCustomGetter] SharedWorkerConstructor SharedWorker; // Usable with the new operator
+#endif
+
attribute PluginConstructor Plugin;
attribute PluginArrayConstructor PluginArray;
diff --git a/src/3rdparty/webkit/WebCore/page/DragController.cpp b/src/3rdparty/webkit/WebCore/page/DragController.cpp
index 2fe5d97..64cb212 100644
--- a/src/3rdparty/webkit/WebCore/page/DragController.cpp
+++ b/src/3rdparty/webkit/WebCore/page/DragController.cpp
@@ -72,7 +72,7 @@ static PlatformMouseEvent createMouseEvent(DragData* dragData)
LeftButton, MouseEventMoved, 0, false, false, false, false, currentTime());
}
-
+
DragController::DragController(Page* page, DragClient* client)
: m_page(page)
, m_client(client)
@@ -85,12 +85,12 @@ DragController::DragController(Page* page, DragClient* client)
, m_sourceDragOperation(DragOperationNone)
{
}
-
+
DragController::~DragController()
-{
+{
m_client->dragControllerDestroyed();
}
-
+
static PassRefPtr<DocumentFragment> documentFragmentFromDragData(DragData* dragData, RefPtr<Range> context,
bool allowPlainText, bool& chosePlainText)
{
@@ -122,7 +122,7 @@ static PassRefPtr<DocumentFragment> documentFragmentFromDragData(DragData* dragD
chosePlainText = true;
return createFragmentFromText(context.get(), dragData->asPlainText()).get();
}
-
+
return 0;
}
@@ -140,20 +140,20 @@ void DragController::cancelDrag()
void DragController::dragEnded()
{
m_dragInitiator = 0;
- m_didInitiateDrag = false;
- m_page->dragCaretController()->clear();
-}
+ m_didInitiateDrag = false;
+ m_page->dragCaretController()->clear();
+}
-DragOperation DragController::dragEntered(DragData* dragData)
+DragOperation DragController::dragEntered(DragData* dragData)
{
return dragEnteredOrUpdated(dragData);
}
-
-void DragController::dragExited(DragData* dragData)
-{
+
+void DragController::dragExited(DragData* dragData)
+{
ASSERT(dragData);
Frame* mainFrame = m_page->mainFrame();
-
+
if (RefPtr<FrameView> v = mainFrame->view()) {
ClipboardAccessPolicy policy = (!m_documentUnderMouse || m_documentUnderMouse->securityOrigin()->isLocal()) ? ClipboardReadable : ClipboardTypesReadable;
RefPtr<Clipboard> clipboard = dragData->createClipboard(policy);
@@ -164,14 +164,13 @@ void DragController::dragExited(DragData* dragData)
mouseMovedIntoDocument(0);
}
-
-DragOperation DragController::dragUpdated(DragData* dragData)
+DragOperation DragController::dragUpdated(DragData* dragData)
{
return dragEnteredOrUpdated(dragData);
}
-
+
bool DragController::performDrag(DragData* dragData)
-{
+{
ASSERT(dragData);
m_documentUnderMouse = m_page->mainFrame()->documentAtPoint(dragData->clientPosition());
if (m_isHandlingDrag) {
@@ -187,13 +186,13 @@ bool DragController::performDrag(DragData* dragData)
}
m_documentUnderMouse = 0;
return true;
- }
-
+ }
+
if ((m_dragDestinationAction & DragDestinationActionEdit) && concludeEditDrag(dragData)) {
m_documentUnderMouse = 0;
return true;
}
-
+
m_documentUnderMouse = 0;
if (operationForLoad(dragData) == DragOperationNone)
@@ -237,30 +236,30 @@ DragOperation DragController::dragEnteredOrUpdated(DragData* dragData)
static HTMLInputElement* asFileInput(Node* node)
{
ASSERT(node);
-
+
// The button for a FILE input is a sub element with no set input type
// In order to get around this problem we assume any non-FILE input element
// is this internal button, and try querying the shadow parent node.
if (node->hasTagName(HTMLNames::inputTag) && node->isShadowNode() && static_cast<HTMLInputElement*>(node)->inputType() != HTMLInputElement::FILE)
node = node->shadowParentNode();
-
+
if (!node || !node->hasTagName(HTMLNames::inputTag))
return 0;
-
+
HTMLInputElement* inputElem = static_cast<HTMLInputElement*>(node);
if (inputElem->inputType() == HTMLInputElement::FILE)
return inputElem;
-
+
return 0;
}
-
+
bool DragController::tryDocumentDrag(DragData* dragData, DragDestinationAction actionMask, DragOperation& operation)
{
ASSERT(dragData);
-
+
if (!m_documentUnderMouse)
return false;
-
+
m_isHandlingDrag = false;
if (actionMask & DragDestinationActionDHTML) {
m_isHandlingDrag = tryDHTMLDrag(dragData, operation);
@@ -289,7 +288,7 @@ bool DragController::tryDocumentDrag(DragData* dragData, DragDestinationAction a
operation = DragOperationGeneric;
return true;
}
-
+
IntPoint dragPos = dragData->clientPosition();
IntPoint point = frameView->windowToContents(dragPos);
Element* element = m_documentUnderMouse->elementFromPoint(point.x(), point.y());
@@ -307,11 +306,11 @@ bool DragController::tryDocumentDrag(DragData* dragData, DragDestinationAction a
}
DragSourceAction DragController::delegateDragSourceAction(const IntPoint& windowPoint)
-{
+{
m_dragSourceAction = m_client->dragSourceActionMaskForPoint(windowPoint);
return m_dragSourceAction;
}
-
+
DragOperation DragController::operationForLoad(DragData* dragData)
{
ASSERT(dragData);
@@ -336,15 +335,15 @@ bool DragController::concludeEditDrag(DragData* dragData)
{
ASSERT(dragData);
ASSERT(!m_isHandlingDrag);
-
+
if (!m_documentUnderMouse)
return false;
-
+
IntPoint point = m_documentUnderMouse->view()->windowToContents(dragData->clientPosition());
Element* element = m_documentUnderMouse->elementFromPoint(point.x(), point.y());
ASSERT(element);
Frame* innerFrame = element->ownerDocument()->frame();
- ASSERT(innerFrame);
+ ASSERT(innerFrame);
if (dragData->containsColor()) {
Color color = dragData->asColor();
@@ -362,32 +361,32 @@ bool DragController::concludeEditDrag(DragData* dragData)
innerFrame->editor()->applyStyle(style.get(), EditActionSetColor);
return true;
}
-
+
if (!m_page->dragController()->canProcessDrag(dragData)) {
m_page->dragCaretController()->clear();
return false;
}
-
+
if (HTMLInputElement* fileInput = asFileInput(element)) {
if (!fileInput->isEnabledFormControl())
return false;
-
+
if (!dragData->containsFiles())
return false;
-
+
Vector<String> filenames;
dragData->asFilenames(filenames);
if (filenames.isEmpty())
return false;
-
- // Ugly. For security none of the API's available to us to set the input value
+
+ // Ugly. For security none of the API's available to us to set the input value
// on file inputs. Even forcing a change in HTMLInputElement doesn't work as
// RenderFileUploadControl clears the file when doing updateFromElement()
RenderFileUploadControl* renderer = static_cast<RenderFileUploadControl*>(fileInput->renderer());
-
+
if (!renderer)
return false;
-
+
renderer->receiveDroppedFiles(filenames);
return true;
}
@@ -395,71 +394,70 @@ bool DragController::concludeEditDrag(DragData* dragData)
VisibleSelection dragCaret(m_page->dragCaretController()->selection());
m_page->dragCaretController()->clear();
RefPtr<Range> range = dragCaret.toNormalizedRange();
-
+
// For range to be null a WebKit client must have done something bad while
// manually controlling drag behaviour
- if (!range)
+ if (!range)
return false;
DocLoader* loader = range->ownerDocument()->docLoader();
loader->setAllowStaleResources(true);
- if (dragIsMove(innerFrame->selection()) || dragCaret.isContentRichlyEditable()) {
+ if (dragIsMove(innerFrame->selection()) || dragCaret.isContentRichlyEditable()) {
bool chosePlainText = false;
RefPtr<DocumentFragment> fragment = documentFragmentFromDragData(dragData, range, true, chosePlainText);
if (!fragment || !innerFrame->editor()->shouldInsertFragment(fragment, range, EditorInsertActionDropped)) {
loader->setAllowStaleResources(false);
return false;
}
-
+
m_client->willPerformDragDestinationAction(DragDestinationActionEdit, dragData);
if (dragIsMove(innerFrame->selection())) {
- bool smartMove = innerFrame->selectionGranularity() == WordGranularity
- && innerFrame->editor()->smartInsertDeleteEnabled()
+ bool smartMove = innerFrame->selectionGranularity() == WordGranularity
+ && innerFrame->editor()->smartInsertDeleteEnabled()
&& dragData->canSmartReplace();
applyCommand(MoveSelectionCommand::create(fragment, dragCaret.base(), smartMove));
} else {
if (setSelectionToDragCaret(innerFrame, dragCaret, range, point))
- applyCommand(ReplaceSelectionCommand::create(m_documentUnderMouse, fragment, true, dragData->canSmartReplace(), chosePlainText));
- }
+ applyCommand(ReplaceSelectionCommand::create(m_documentUnderMouse, fragment, true, dragData->canSmartReplace(), chosePlainText));
+ }
} else {
String text = dragData->asPlainText();
if (text.isEmpty() || !innerFrame->editor()->shouldInsertText(text, range.get(), EditorInsertActionDropped)) {
loader->setAllowStaleResources(false);
return false;
}
-
+
m_client->willPerformDragDestinationAction(DragDestinationActionEdit, dragData);
if (setSelectionToDragCaret(innerFrame, dragCaret, range, point))
- applyCommand(ReplaceSelectionCommand::create(m_documentUnderMouse, createFragmentFromText(range.get(), text), true, false, true));
+ applyCommand(ReplaceSelectionCommand::create(m_documentUnderMouse, createFragmentFromText(range.get(), text), true, false, true));
}
loader->setAllowStaleResources(false);
return true;
}
-
-
-bool DragController::canProcessDrag(DragData* dragData)
+
+bool DragController::canProcessDrag(DragData* dragData)
{
ASSERT(dragData);
if (!dragData->containsCompatibleContent())
return false;
-
+
IntPoint point = m_page->mainFrame()->view()->windowToContents(dragData->clientPosition());
HitTestResult result = HitTestResult(point);
if (!m_page->mainFrame()->contentRenderer())
return false;
result = m_page->mainFrame()->eventHandler()->hitTestResultAtPoint(point, true);
-
- if (!result.innerNonSharedNode())
+
+ if (!result.innerNonSharedNode())
return false;
-
+
if (dragData->containsFiles() && asFileInput(result.innerNonSharedNode()))
return true;
-
+
if (!result.innerNonSharedNode()->isContentEditable())
return false;
-
+
if (m_didInitiateDrag && m_documentUnderMouse == m_dragInitiator && result.isSelected())
return false;
@@ -482,7 +480,7 @@ static DragOperation defaultOperationForDrag(DragOperation srcOpMask)
}
bool DragController::tryDHTMLDrag(DragData* dragData, DragOperation& operation)
-{
+{
ASSERT(dragData);
ASSERT(m_documentUnderMouse);
RefPtr<Frame> mainFrame = m_page->mainFrame();
@@ -525,7 +523,7 @@ bool DragController::mayStartDragAtEventLocation(const Frame* frame, const IntPo
mouseDownTarget = frame->eventHandler()->hitTestResultAtPoint(framePos, true);
- if (mouseDownTarget.image()
+ if (mouseDownTarget.image()
&& !mouseDownTarget.absoluteImageURL().isEmpty()
&& frame->settings()->loadsImagesAutomatically()
&& m_dragSourceAction & DragSourceActionImage)
@@ -543,56 +541,56 @@ bool DragController::mayStartDragAtEventLocation(const Frame* frame, const IntPo
return false;
}
-
+
static CachedImage* getCachedImage(Element* element)
{
ASSERT(element);
RenderObject* renderer = element->renderer();
- if (!renderer || !renderer->isImage())
+ if (!renderer || !renderer->isImage())
return 0;
RenderImage* image = toRenderImage(renderer);
return image->cachedImage();
}
-
+
static Image* getImage(Element* element)
{
ASSERT(element);
RenderObject* renderer = element->renderer();
- if (!renderer || !renderer->isImage())
+ if (!renderer || !renderer->isImage())
return 0;
-
+
RenderImage* image = toRenderImage(renderer);
if (image->cachedImage() && !image->cachedImage()->errorOccurred())
return image->cachedImage()->image();
return 0;
}
-
+
static void prepareClipboardForImageDrag(Frame* src, Clipboard* clipboard, Element* node, const KURL& linkURL, const KURL& imageURL, const String& label)
{
RefPtr<Range> range = src->document()->createRange();
ExceptionCode ec = 0;
range->selectNode(node, ec);
- ASSERT(ec == 0);
- src->selection()->setSelection(VisibleSelection(range.get(), DOWNSTREAM));
+ ASSERT(!ec);
+ src->selection()->setSelection(VisibleSelection(range.get(), DOWNSTREAM));
clipboard->declareAndWriteDragImage(node, !linkURL.isEmpty() ? linkURL : imageURL, label, src);
}
-
+
static IntPoint dragLocForDHTMLDrag(const IntPoint& mouseDraggedPoint, const IntPoint& dragOrigin, const IntPoint& dragImageOffset, bool isLinkImage)
{
// dragImageOffset is the cursor position relative to the lower-left corner of the image.
-#if PLATFORM(MAC)
- // We add in the Y dimension because we are a flipped view, so adding moves the image down.
+#if PLATFORM(MAC)
+ // We add in the Y dimension because we are a flipped view, so adding moves the image down.
const int yOffset = dragImageOffset.y();
#else
const int yOffset = -dragImageOffset.y();
#endif
-
+
if (isLinkImage)
return IntPoint(mouseDraggedPoint.x() - dragImageOffset.x(), mouseDraggedPoint.y() + yOffset);
-
+
return IntPoint(dragOrigin.x() - dragImageOffset.x(), dragOrigin.y() + yOffset);
}
-
+
static IntPoint dragLocForSelectionDrag(Frame* src)
{
IntRect draggingRect = enclosingIntRect(src->selectionBounds());
@@ -607,63 +605,63 @@ static IntPoint dragLocForSelectionDrag(Frame* src)
#endif
return IntPoint(xpos, ypos);
}
-
+
bool DragController::startDrag(Frame* src, Clipboard* clipboard, DragOperation srcOp, const PlatformMouseEvent& dragEvent, const IntPoint& dragOrigin, bool isDHTMLDrag)
-{
+{
ASSERT(src);
ASSERT(clipboard);
-
+
if (!src->view() || !src->contentRenderer())
return false;
-
+
HitTestResult dragSource = HitTestResult(dragOrigin);
dragSource = src->eventHandler()->hitTestResultAtPoint(dragOrigin, true);
KURL linkURL = dragSource.absoluteLinkURL();
KURL imageURL = dragSource.absoluteImageURL();
bool isSelected = dragSource.isSelected();
-
+
IntPoint mouseDraggedPoint = src->view()->windowToContents(dragEvent.pos());
-
+
m_draggingImageURL = KURL();
m_sourceDragOperation = srcOp;
-
+
DragImageRef dragImage = 0;
IntPoint dragLoc(0, 0);
IntPoint dragImageOffset(0, 0);
-
- if (isDHTMLDrag)
+
+ if (isDHTMLDrag)
dragImage = clipboard->createDragImage(dragImageOffset);
-
+
// We allow DHTML/JS to set the drag image, even if its a link, image or text we're dragging.
// This is in the spirit of the IE API, which allows overriding of pasteboard data and DragOp.
if (dragImage) {
dragLoc = dragLocForDHTMLDrag(mouseDraggedPoint, dragOrigin, dragImageOffset, !linkURL.isEmpty());
m_dragOffset = dragImageOffset;
}
-
+
bool startedDrag = true; // optimism - we almost always manage to start the drag
-
+
Node* node = dragSource.innerNonSharedNode();
-
+
Image* image = getImage(static_cast<Element*>(node));
if (!imageURL.isEmpty() && node && node->isElementNode() && image
&& (m_dragSourceAction & DragSourceActionImage)) {
- // We shouldn't be starting a drag for an image that can't provide an extension.
+ // We shouldn't be starting a drag for an image that can't provide an extension.
// This is an early detection for problems encountered later upon drop.
ASSERT(!image->filenameExtension().isEmpty());
Element* element = static_cast<Element*>(node);
if (!clipboard->hasData()) {
- m_draggingImageURL = imageURL;
+ m_draggingImageURL = imageURL;
prepareClipboardForImageDrag(src, clipboard, element, linkURL, imageURL, dragSource.altDisplayString());
}
-
+
m_client->willPerformDragSourceAction(DragSourceActionImage, dragOrigin, clipboard);
-
+
if (!dragImage) {
IntRect imageRect = dragSource.imageRect();
imageRect.setLocation(m_page->mainFrame()->view()->windowToContents(src->view()->contentsToWindow(imageRect.location())));
doImageDrag(element, dragOrigin, dragSource.imageRect(), clipboard, src, m_dragOffset);
- } else
+ } else
// DHTML defined drag image
doSystemDrag(dragImage, dragLoc, dragOrigin, clipboard, src, false);
@@ -689,12 +687,12 @@ bool DragController::startDrag(Frame* src, Clipboard* clipboard, DragOperation s
IntSize size = dragImageSize(dragImage);
m_dragOffset = IntPoint(-size.width() / 2, -LinkDragBorderInset);
dragLoc = IntPoint(mouseDraggedPoint.x() + m_dragOffset.x(), mouseDraggedPoint.y() + m_dragOffset.y());
- }
+ }
doSystemDrag(dragImage, dragLoc, mouseDraggedPoint, clipboard, src, true);
} else if (isSelected && (m_dragSourceAction & DragSourceActionSelection)) {
RefPtr<Range> selectionRange = src->selection()->toNormalizedRange();
ASSERT(selectionRange);
- if (!clipboard->hasData())
+ if (!clipboard->hasData())
clipboard->writeRange(selectionRange.get(), src);
m_client->willPerformDragSourceAction(DragSourceActionSelection, dragOrigin, clipboard);
if (!dragImage) {
@@ -712,7 +710,7 @@ bool DragController::startDrag(Frame* src, Clipboard* clipboard, DragOperation s
// under the mousedown point, so linkURL, imageURL and isSelected are all false/empty.
startedDrag = false;
}
-
+
if (dragImage)
deleteDragImage(dragImage);
return startedDrag;
@@ -723,17 +721,17 @@ void DragController::doImageDrag(Element* element, const IntPoint& dragOrigin, c
IntPoint mouseDownPoint = dragOrigin;
DragImageRef dragImage;
IntPoint origin;
-
+
Image* image = getImage(element);
if (image && image->size().height() * image->size().width() <= MaxOriginalImageArea
&& (dragImage = createDragImageFromImage(image))) {
IntSize originalSize = rect.size();
origin = rect.location();
-
+
dragImage = fitDragImageToMaxSize(dragImage, rect.size(), maxDragImageSize());
dragImage = dissolveDragImageToFraction(dragImage, DragImageAlpha);
IntSize newSize = dragImageSize(dragImage);
-
+
// Properly orient the drag image and orient it differently if it's smaller than the original
float scale = newSize.width() / (float)originalSize.width();
float dx = origin.x() - mouseDownPoint.x();
@@ -751,14 +749,14 @@ void DragController::doImageDrag(Element* element, const IntPoint& dragOrigin, c
if (dragImage)
origin = IntPoint(DragIconRightInset - dragImageSize(dragImage).width(), DragIconBottomInset);
}
-
+
dragImageOffset.setX(mouseDownPoint.x() + origin.x());
dragImageOffset.setY(mouseDownPoint.y() + origin.y());
doSystemDrag(dragImage, dragImageOffset, dragOrigin, clipboard, frame, false);
-
+
deleteDragImage(dragImage);
}
-
+
void DragController::doSystemDrag(DragImageRef image, const IntPoint& dragLoc, const IntPoint& eventPos, Clipboard* clipboard, Frame* frame, bool forLink)
{
m_didInitiateDrag = true;
@@ -768,10 +766,10 @@ void DragController::doSystemDrag(DragImageRef image, const IntPoint& dragLoc, c
RefPtr<FrameView> viewProtector = frameProtector->view();
m_client->startDrag(image, viewProtector->windowToContents(frame->view()->contentsToWindow(dragLoc)),
viewProtector->windowToContents(frame->view()->contentsToWindow(eventPos)), clipboard, frameProtector.get(), forLink);
-
+
cleanupAfterSystemDrag();
}
-
+
// Manual drag caret manipulation
void DragController::placeDragCaret(const IntPoint& windowPoint)
{
@@ -783,8 +781,8 @@ void DragController::placeDragCaret(const IntPoint& windowPoint)
if (!frameView)
return;
IntPoint framePoint = frameView->windowToContents(windowPoint);
- VisibleSelection dragCaret(frame->visiblePositionForPoint(framePoint));
+ VisibleSelection dragCaret(frame->visiblePositionForPoint(framePoint));
m_page->dragCaretController()->setSelection(dragCaret);
}
-
+
} // namespace WebCore
diff --git a/src/3rdparty/webkit/WebCore/page/EventHandler.cpp b/src/3rdparty/webkit/WebCore/page/EventHandler.cpp
index 8f0b420..547485c 100644
--- a/src/3rdparty/webkit/WebCore/page/EventHandler.cpp
+++ b/src/3rdparty/webkit/WebCore/page/EventHandler.cpp
@@ -141,6 +141,8 @@ EventHandler::EventHandler(Frame* frame)
, m_mouseDownWasSingleClickInSelection(false)
, m_beganSelectingText(false)
, m_panScrollInProgress(false)
+ , m_panScrollButtonPressed(false)
+ , m_springLoadedPanScrollInProgress(false)
, m_hoverTimer(this, &EventHandler::hoverTimerFired)
, m_autoscrollTimer(this, &EventHandler::autoscrollTimerFired)
, m_autoscrollRenderer(0)
@@ -154,6 +156,8 @@ EventHandler::EventHandler(Frame* frame)
, m_capturingMouseEventsNode(0)
, m_clickCount(0)
, m_mouseDownTimestamp(0)
+ , m_useLatchedWheelEventNode(false)
+ , m_widgetIsLatched(false)
#if PLATFORM(MAC)
, m_mouseDownView(nil)
, m_sendingEventToSubview(false)
@@ -193,6 +197,7 @@ void EventHandler::clear()
m_mousePressed = false;
m_capturesDragging = false;
m_capturingMouseEventsNode = 0;
+ m_latchedWheelEventNode = 0;
}
void EventHandler::selectClosestWordFromMouseEvent(const MouseEventWithHitTestResults& result)
@@ -343,6 +348,11 @@ bool EventHandler::handleMousePressEvent(const MouseEventWithHitTestResults& eve
// Reset drag state.
dragState().m_dragSrc = 0;
+ if (ScrollView* scrollView = m_frame->view()) {
+ if (scrollView->isPointInScrollbarCorner(event.event().pos()))
+ return false;
+ }
+
bool singleClick = event.event().clickCount() <= 1;
// If we got the event back, that must mean it wasn't prevented,
@@ -395,7 +405,7 @@ bool EventHandler::handleMousePressEvent(const MouseEventWithHitTestResults& eve
m_mouseDownMayStartAutoscroll = m_mouseDownMayStartSelect ||
(m_mousePressNode && m_mousePressNode->renderBox() && m_mousePressNode->renderBox()->canBeProgramaticallyScrolled(true));
- return swallowEvent;
+ return swallowEvent;
}
bool EventHandler::handleMouseDraggedEvent(const MouseEventWithHitTestResults& event)
@@ -647,7 +657,7 @@ void EventHandler::autoscrollTimerFired(Timer<EventHandler>*)
}
}
#if ENABLE(PAN_SCROLLING)
- setPanScrollCursor();
+ updatePanScrollState();
toRenderBox(r)->panScroll(m_panScrollStartPos);
#endif
}
@@ -655,7 +665,7 @@ void EventHandler::autoscrollTimerFired(Timer<EventHandler>*)
#if ENABLE(PAN_SCROLLING)
-void EventHandler::setPanScrollCursor()
+void EventHandler::updatePanScrollState()
{
FrameView* view = m_frame->view();
if (!view)
@@ -668,6 +678,9 @@ void EventHandler::setPanScrollCursor()
bool north = m_panScrollStartPos.y() > (m_currentMousePosition.y() + ScrollView::noPanScrollRadius);
bool south = m_panScrollStartPos.y() < (m_currentMousePosition.y() - ScrollView::noPanScrollRadius);
+ if ((east || west || north || south) && m_panScrollButtonPressed)
+ m_springLoadedPanScrollInProgress = true;
+
if (north) {
if (east)
view->setCursor(northEastPanningCursor());
@@ -766,7 +779,7 @@ HitTestResult EventHandler::hitTestResultAtPoint(const IntPoint& point, bool all
result = widgetHitTestResult;
if (testScrollbars == ShouldHitTestScrollbars) {
- Scrollbar* eventScrollbar = view->scrollbarUnderPoint(point);
+ Scrollbar* eventScrollbar = view->scrollbarAtPoint(point);
if (eventScrollbar)
result.setScrollbar(eventScrollbar);
}
@@ -828,6 +841,7 @@ void EventHandler::stopAutoscrollTimer(bool rendererIsBeingDestroyed)
m_autoscrollTimer.stop();
m_panScrollInProgress = false;
+ m_springLoadedPanScrollInProgress = false;
// If we're not in the top frame we notify it that we are not doing a panScroll any more.
if (Page* page = m_frame->page()) {
@@ -967,7 +981,7 @@ Cursor EventHandler::selectCursor(const MouseEventWithHitTestResults& event, Scr
// If the link is editable, then we need to check the settings to see whether or not the link should be followed
if (editable) {
ASSERT(m_frame->settings());
- switch(m_frame->settings()->editableLinkBehavior()) {
+ switch (m_frame->settings()->editableLinkBehavior()) {
default:
case EditableLinkDefaultBehavior:
case EditableLinkAlwaysLive:
@@ -1155,11 +1169,12 @@ bool EventHandler::handleMousePressEvent(const PlatformMouseEvent& mouseEvent)
if (renderer) {
m_panScrollInProgress = true;
+ m_panScrollButtonPressed = true;
handleAutoscroll(renderer);
invalidateClick();
return true;
}
- }
+ }
#endif
m_clickCount = mouseEvent.clickCount();
@@ -1192,8 +1207,12 @@ bool EventHandler::handleMousePressEvent(const PlatformMouseEvent& mouseEvent)
if (swallowEvent) {
// scrollbars should get events anyway, even disabled controls might be scrollable
- if (mev.scrollbar())
- passMousePressEventToScrollbar(mev, mev.scrollbar());
+ Scrollbar* scrollbar = mev.scrollbar();
+
+ updateLastScrollbarUnderMouse(scrollbar, true);
+
+ if (scrollbar)
+ passMousePressEventToScrollbar(mev, scrollbar);
} else {
// Refetch the event target node if it currently is the shadow node inside an <input> element.
// If a mouse event handler changes the input element type to one that has a widget associated,
@@ -1205,9 +1224,12 @@ bool EventHandler::handleMousePressEvent(const PlatformMouseEvent& mouseEvent)
}
FrameView* view = m_frame->view();
- Scrollbar* scrollbar = view ? view->scrollbarUnderPoint(mouseEvent.pos()) : 0;
+ Scrollbar* scrollbar = view ? view->scrollbarAtPoint(mouseEvent.pos()) : 0;
if (!scrollbar)
scrollbar = mev.scrollbar();
+
+ updateLastScrollbarUnderMouse(scrollbar, true);
+
if (scrollbar && passMousePressEventToScrollbar(mev, scrollbar))
swallowEvent = true;
else
@@ -1297,7 +1319,7 @@ bool EventHandler::handleMouseMoveEvent(const PlatformMouseEvent& mouseEvent, Hi
// Send events right to a scrollbar if the mouse is pressed.
if (m_lastScrollbarUnderMouse && m_mousePressed)
- return m_lastScrollbarUnderMouse->mouseMoved(m_lastScrollbarUnderMouse->transformEvent(mouseEvent));
+ return m_lastScrollbarUnderMouse->mouseMoved(mouseEvent);
// Treat mouse move events while the mouse is pressed as "read-only" in prepareMouseEvent
// if we are allowed to select.
@@ -1319,17 +1341,12 @@ bool EventHandler::handleMouseMoveEvent(const PlatformMouseEvent& mouseEvent, Hi
m_resizeLayer->resize(mouseEvent, m_offsetFromResizeCorner);
else {
if (FrameView* view = m_frame->view())
- scrollbar = view->scrollbarUnderPoint(mouseEvent.pos());
+ scrollbar = view->scrollbarAtPoint(mouseEvent.pos());
if (!scrollbar)
scrollbar = mev.scrollbar();
- if (m_lastScrollbarUnderMouse != scrollbar) {
- // Send mouse exited to the old scrollbar.
- if (m_lastScrollbarUnderMouse)
- m_lastScrollbarUnderMouse->mouseExited();
- m_lastScrollbarUnderMouse = m_mousePressed ? 0 : scrollbar;
- }
+ updateLastScrollbarUnderMouse(scrollbar, !m_mousePressed);
}
bool swallowEvent = false;
@@ -1349,7 +1366,7 @@ bool EventHandler::handleMouseMoveEvent(const PlatformMouseEvent& mouseEvent, Hi
swallowEvent |= passMouseMoveEventToSubframe(mev, newSubframe.get(), hoveredNode);
} else {
if (scrollbar && !m_mousePressed)
- scrollbar->mouseMoved(scrollbar->transformEvent(mouseEvent)); // Handle hover effects on platforms that support visual feedback on scrollbar hovering.
+ scrollbar->mouseMoved(mouseEvent); // Handle hover effects on platforms that support visual feedback on scrollbar hovering.
if (Page* page = m_frame->page()) {
if ((!m_resizeLayer || !m_resizeLayer->inResizeMode()) && !page->mainFrame()->eventHandler()->panScrollInProgress()) {
if (FrameView* view = m_frame->view())
@@ -1380,6 +1397,13 @@ bool EventHandler::handleMouseReleaseEvent(const PlatformMouseEvent& mouseEvent)
{
RefPtr<FrameView> protector(m_frame->view());
+#if ENABLE(PAN_SCROLLING)
+ if (mouseEvent.button() == MiddleButton)
+ m_panScrollButtonPressed = false;
+ if (m_springLoadedPanScrollInProgress)
+ stopAutoscrollTimer();
+#endif
+
m_mousePressed = false;
m_currentMousePosition = mouseEvent.pos();
@@ -1715,16 +1739,38 @@ bool EventHandler::handleWheelEvent(PlatformWheelEvent& e)
return false;
IntPoint vPoint = view->windowToContents(e.pos());
- HitTestRequest request(HitTestRequest::ReadOnly);
- HitTestResult result(vPoint);
- doc->renderView()->layer()->hitTest(request, result);
- Node* node = result.innerNode();
+ Node* node;
+ bool isOverWidget;
+ bool didSetLatchedNode = false;
+
+ if (m_useLatchedWheelEventNode) {
+ if (!m_latchedWheelEventNode) {
+ HitTestRequest request(HitTestRequest::ReadOnly);
+ HitTestResult result(vPoint);
+ doc->renderView()->layer()->hitTest(request, result);
+ m_latchedWheelEventNode = result.innerNode();
+ m_widgetIsLatched = result.isOverWidget();
+ didSetLatchedNode = true;
+ }
+
+ node = m_latchedWheelEventNode.get();
+ isOverWidget = m_widgetIsLatched;
+ } else {
+ if (m_latchedWheelEventNode)
+ m_latchedWheelEventNode = 0;
+
+ HitTestRequest request(HitTestRequest::ReadOnly);
+ HitTestResult result(vPoint);
+ doc->renderView()->layer()->hitTest(request, result);
+ node = result.innerNode();
+ isOverWidget = result.isOverWidget();
+ }
if (node) {
// Figure out which view to send the event to.
RenderObject* target = node->renderer();
- if (result.isOverWidget() && target && target->isWidget()) {
+ if (isOverWidget && target && target->isWidget()) {
Widget* widget = static_cast<RenderWidget*>(target)->widget();
if (widget && passWheelEventToWidget(e, widget)) {
@@ -2027,7 +2073,7 @@ void EventHandler::handleKeyboardSelectionMovement(KeyboardEvent* event)
void EventHandler::defaultKeyboardEventHandler(KeyboardEvent* event)
{
- if (event->type() == eventNames().keydownEvent) {
+ if (event->type() == eventNames().keydownEvent) {
m_frame->editor()->handleKeyboardEvent(event);
if (event->defaultHandled())
return;
@@ -2037,14 +2083,14 @@ void EventHandler::defaultKeyboardEventHandler(KeyboardEvent* event)
// provides KB navigation and selection for enhanced accessibility users
if (AXObjectCache::accessibilityEnhancedUserInterfaceEnabled())
handleKeyboardSelectionMovement(event);
- }
- if (event->type() == eventNames().keypressEvent) {
+ }
+ if (event->type() == eventNames().keypressEvent) {
m_frame->editor()->handleKeyboardEvent(event);
if (event->defaultHandled())
return;
if (event->charCode() == ' ')
defaultSpaceEventHandler(event);
- }
+ }
}
bool EventHandler::dragHysteresisExceeded(const FloatPoint& floatDragViewportLocation) const
@@ -2102,6 +2148,9 @@ void EventHandler::dragSourceEndedAt(const PlatformMouseEvent& event, DragOperat
}
freeClipboard();
dragState().m_dragSrc = 0;
+ // In case the drag was ended due to an escape key press we need to ensure
+ // that consecutive mousemove events don't reinitiate the drag and drop.
+ m_mouseDownMayStartDrag = false;
}
// returns if we should continue "default processing", i.e., whether eventhandler canceled
@@ -2394,4 +2443,16 @@ bool EventHandler::passMousePressEventToScrollbar(MouseEventWithHitTestResults&
return scrollbar->mouseDown(mev.event());
}
+// If scrollbar (under mouse) is different from last, send a mouse exited. Set
+// last to scrollbar if setLast is true; else set last to 0.
+void EventHandler::updateLastScrollbarUnderMouse(Scrollbar* scrollbar, bool setLast)
+{
+ if (m_lastScrollbarUnderMouse != scrollbar) {
+ // Send mouse exited to the old scrollbar.
+ if (m_lastScrollbarUnderMouse)
+ m_lastScrollbarUnderMouse->mouseExited();
+ m_lastScrollbarUnderMouse = setLast ? scrollbar : 0;
+ }
+}
+
}
diff --git a/src/3rdparty/webkit/WebCore/page/EventHandler.h b/src/3rdparty/webkit/WebCore/page/EventHandler.h
index f76716e..409913a 100644
--- a/src/3rdparty/webkit/WebCore/page/EventHandler.h
+++ b/src/3rdparty/webkit/WebCore/page/EventHandler.h
@@ -69,7 +69,7 @@ extern const int GeneralDragHysteresis;
enum HitTestScrollbars { ShouldHitTestScrollbars, DontHitTestScrollbars };
-class EventHandler : Noncopyable {
+class EventHandler : public Noncopyable {
public:
EventHandler(Frame*);
~EventHandler();
@@ -207,7 +207,7 @@ private:
Cursor selectCursor(const MouseEventWithHitTestResults&, Scrollbar*);
#if ENABLE(PAN_SCROLLING)
- void setPanScrollCursor();
+ void updatePanScrollState();
#endif
void hoverTimerFired(Timer<EventHandler>*);
@@ -271,6 +271,8 @@ private:
void updateSelectionForMouseDrag(Node* targetNode, const IntPoint& localPoint);
+ void updateLastScrollbarUnderMouse(Scrollbar*, bool);
+
bool capturesDragging() const { return m_capturesDragging; }
#if PLATFORM(MAC) && defined(__OBJC__)
@@ -295,6 +297,9 @@ private:
IntPoint m_panScrollStartPos;
bool m_panScrollInProgress;
+ bool m_panScrollButtonPressed;
+ bool m_springLoadedPanScrollInProgress;
+
Timer<EventHandler> m_hoverTimer;
Timer<EventHandler> m_autoscrollTimer;
@@ -332,6 +337,10 @@ private:
double m_mouseDownTimestamp;
PlatformMouseEvent m_mouseDown;
+ bool m_useLatchedWheelEventNode;
+ RefPtr<Node> m_latchedWheelEventNode;
+ bool m_widgetIsLatched;
+
#if PLATFORM(MAC)
NSView *m_mouseDownView;
bool m_sendingEventToSubview;
diff --git a/src/3rdparty/webkit/WebCore/page/FocusController.cpp b/src/3rdparty/webkit/WebCore/page/FocusController.cpp
index 8dad846..817801c 100644
--- a/src/3rdparty/webkit/WebCore/page/FocusController.cpp
+++ b/src/3rdparty/webkit/WebCore/page/FocusController.cpp
@@ -58,6 +58,7 @@ using namespace HTMLNames;
FocusController::FocusController(Page* page)
: m_page(page)
, m_isActive(false)
+ , m_isFocused(false)
{
}
@@ -66,16 +67,20 @@ void FocusController::setFocusedFrame(PassRefPtr<Frame> frame)
if (m_focusedFrame == frame)
return;
- if (m_focusedFrame && m_focusedFrame->view()) {
- m_focusedFrame->selection()->setFocused(false);
- m_focusedFrame->document()->dispatchWindowEvent(eventNames().blurEvent, false, false);
- }
+ RefPtr<Frame> oldFrame = m_focusedFrame;
+ RefPtr<Frame> newFrame = frame;
- m_focusedFrame = frame;
+ m_focusedFrame = newFrame;
- if (m_focusedFrame && m_focusedFrame->view()) {
- m_focusedFrame->selection()->setFocused(true);
- m_focusedFrame->document()->dispatchWindowEvent(eventNames().focusEvent, false, false);
+ // Now that the frame is updated, fire events and update the selection focused states of both frames.
+ if (oldFrame && oldFrame->view()) {
+ oldFrame->selection()->setFocused(false);
+ oldFrame->document()->dispatchWindowEvent(eventNames().blurEvent, false, false);
+ }
+
+ if (newFrame && newFrame->view() && isFocused()) {
+ newFrame->selection()->setFocused(true);
+ newFrame->document()->dispatchWindowEvent(eventNames().focusEvent, false, false);
}
}
@@ -86,6 +91,19 @@ Frame* FocusController::focusedOrMainFrame()
return m_page->mainFrame();
}
+void FocusController::setFocused(bool focused)
+{
+ if (isFocused() == focused)
+ return;
+
+ m_isFocused = focused;
+
+ if (m_focusedFrame && m_focusedFrame->view()) {
+ m_focusedFrame->selection()->setFocused(focused);
+ m_focusedFrame->document()->dispatchWindowEvent(focused ? eventNames().focusEvent : eventNames().blurEvent, false, false);
+ }
+}
+
static Node* deepFocusableNode(FocusDirection direction, Node* node, KeyboardEvent* event)
{
// The node we found might be a HTMLFrameOwnerElement, so descend down the frame tree until we find either:
@@ -322,7 +340,7 @@ void FocusController::setActive(bool active)
focusedOrMainFrame()->selection()->pageActivationChanged();
- if (m_focusedFrame)
+ if (m_focusedFrame && isFocused())
m_focusedFrame->document()->dispatchWindowEvent(active ? eventNames().focusEvent : eventNames().blurEvent, false, false);
}
diff --git a/src/3rdparty/webkit/WebCore/page/FocusController.h b/src/3rdparty/webkit/WebCore/page/FocusController.h
index f4a6632..33debf1 100644
--- a/src/3rdparty/webkit/WebCore/page/FocusController.h
+++ b/src/3rdparty/webkit/WebCore/page/FocusController.h
@@ -53,10 +53,14 @@ namespace WebCore {
void setActive(bool);
bool isActive() const { return m_isActive; }
+ void setFocused(bool);
+ bool isFocused() const { return m_isFocused; }
+
private:
Page* m_page;
RefPtr<Frame> m_focusedFrame;
bool m_isActive;
+ bool m_isFocused;
};
} // namespace WebCore
diff --git a/src/3rdparty/webkit/WebCore/page/Frame.cpp b/src/3rdparty/webkit/WebCore/page/Frame.cpp
index 8905bd9..2d6a795 100644
--- a/src/3rdparty/webkit/WebCore/page/Frame.cpp
+++ b/src/3rdparty/webkit/WebCore/page/Frame.cpp
@@ -42,21 +42,20 @@
#include "EditingText.h"
#include "EditorClient.h"
#include "EventNames.h"
-#include "FocusController.h"
#include "FloatQuad.h"
+#include "FocusController.h"
#include "FrameLoader.h"
#include "FrameLoaderClient.h"
#include "FrameView.h"
#include "GraphicsContext.h"
#include "HTMLDocument.h"
+#include "HTMLFormControlElement.h"
#include "HTMLFormElement.h"
#include "HTMLFrameElementBase.h"
-#include "HTMLFormControlElement.h"
#include "HTMLNames.h"
#include "HTMLTableCellElement.h"
#include "HitTestResult.h"
#include "Logging.h"
-#include "markup.h"
#include "MediaFeatureNames.h"
#include "Navigator.h"
#include "NodeList.h"
@@ -67,12 +66,13 @@
#include "RenderTextControl.h"
#include "RenderTheme.h"
#include "RenderView.h"
+#include "ScriptController.h"
#include "Settings.h"
#include "TextIterator.h"
#include "TextResourceDecoder.h"
#include "XMLNames.h"
-#include "ScriptController.h"
#include "htmlediting.h"
+#include "markup.h"
#include "npruntime_impl.h"
#include "visible_units.h"
#include <wtf/RefCountedLeakCounter.h>
@@ -104,7 +104,7 @@ namespace WebCore {
using namespace HTMLNames;
-#ifndef NDEBUG
+#ifndef NDEBUG
static WTF::RefCountedLeakCounter frameCounter("Frame");
#endif
@@ -115,7 +115,7 @@ static inline Frame* parentFromOwnerElement(HTMLFrameOwnerElement* ownerElement)
return ownerElement->document()->frame();
}
-Frame::Frame(Page* page, HTMLFrameOwnerElement* ownerElement, FrameLoaderClient* frameLoaderClient)
+Frame::Frame(Page* page, HTMLFrameOwnerElement* ownerElement, FrameLoaderClient* frameLoaderClient)
: m_page(page)
, m_treeNode(this, parentFromOwnerElement(ownerElement))
, m_loader(this, frameLoaderClient)
@@ -163,7 +163,7 @@ Frame::Frame(Page* page, HTMLFrameOwnerElement* ownerElement, FrameLoaderClient*
else {
page->incrementFrameCount();
// Make sure we will not end up with two frames referencing the same owner element.
- ASSERT((!(ownerElement->m_contentFrame)) || (ownerElement->m_contentFrame->ownerElement() != ownerElement));
+ ASSERT((!(ownerElement->m_contentFrame)) || (ownerElement->m_contentFrame->ownerElement() != ownerElement));
ownerElement->m_contentFrame = this;
}
@@ -176,7 +176,7 @@ Frame::~Frame()
{
setView(0);
loader()->cancelAndClear();
-
+
// FIXME: We should not be doing all this work inside the destructor
ASSERT(!m_lifeSupportTimer.isActive());
@@ -186,14 +186,14 @@ Frame::~Frame()
#endif
disconnectOwnerElement();
-
+
if (m_domWindow)
m_domWindow->disconnectFrame();
HashSet<DOMWindow*>::iterator end = m_liveFormerWindows.end();
for (HashSet<DOMWindow*>::iterator it = m_liveFormerWindows.begin(); it != end; ++it)
(*it)->disconnectFrame();
-
+
if (m_view) {
m_view->hide();
m_view->clearFrame();
@@ -262,7 +262,7 @@ void Frame::setDocument(PassRefPtr<Document> newDoc)
m_doc = newDoc;
if (m_doc && selection()->isFocusedAndActive())
setUseSecureKeyboardEntry(m_doc->useSecureKeyboardEntryWhenActive());
-
+
if (m_doc && !m_doc->attached())
m_doc->attach();
@@ -307,14 +307,14 @@ IntRect Frame::firstRectForRange(Range* range) const
if (startCaretRect.y() == endCaretRect.y()) {
// start and end are on the same line
- return IntRect(min(startCaretRect.x(), endCaretRect.x()),
- startCaretRect.y(),
+ return IntRect(min(startCaretRect.x(), endCaretRect.x()),
+ startCaretRect.y(),
abs(endCaretRect.x() - startCaretRect.x()),
max(startCaretRect.height(), endCaretRect.height()));
}
-
+
// start and end aren't on the same line, so go from start to the end of its line
- return IntRect(startCaretRect.x(),
+ return IntRect(startCaretRect.x(),
startCaretRect.y(),
startCaretRect.width() + extraWidthToEndOfLine,
startCaretRect.height());
@@ -365,23 +365,21 @@ static RegularExpression* createRegExpForLabels(const Vector<String>& labels)
bool startsWithWordChar = false;
bool endsWithWordChar = false;
- if (label.length() != 0) {
+ if (label.length()) {
startsWithWordChar = wordRegExp.match(label.substring(0, 1)) >= 0;
endsWithWordChar = wordRegExp.match(label.substring(label.length() - 1, 1)) >= 0;
}
-
- if (i != 0)
+
+ if (i)
pattern.append("|");
// Search for word boundaries only if label starts/ends with "word characters".
// If we always searched for word boundaries, this wouldn't work for languages
// such as Japanese.
- if (startsWithWordChar) {
+ if (startsWithWordChar)
pattern.append("\\b");
- }
pattern.append(label);
- if (endsWithWordChar) {
+ if (endsWithWordChar)
pattern.append("\\b");
- }
}
pattern.append(")");
return new RegularExpression(pattern, TextCaseInsensitive);
@@ -462,9 +460,8 @@ String Frame::searchForLabelsBeforeElement(const Vector<String>& labels, Element
// If we started in a cell, but bailed because we found the start of the form or the
// previous element, we still might need to search the row above us for a label.
- if (startingTableCell && !searchedCellAbove) {
+ if (startingTableCell && !searchedCellAbove)
return searchForLabelsAboveCell(regExp.get(), startingTableCell);
- }
return String();
}
@@ -477,7 +474,7 @@ String Frame::matchLabelsAgainstElement(const Vector<String>& labels, Element* e
// Make numbers and _'s in field names behave like word boundaries, e.g., "address2"
replace(name, RegularExpression("\\d", TextCaseSensitive), " ");
name.replace('_', ' ');
-
+
OwnPtr<RegularExpression> regExp(createRegExpForLabels(labels));
// Use the largest match we can find in the whole name string
int pos;
@@ -640,7 +637,7 @@ void Frame::selectionLayoutChanged()
return;
VisibleSelection selection = this->selection()->selection();
-
+
if (!selection.isRange())
view->clearSelection();
else {
@@ -654,7 +651,7 @@ void Frame::selectionLayoutChanged()
Position endPos = selection.end();
if (endPos.upstream().isCandidate())
endPos = endPos.upstream();
-
+
// We can get into a state where the selection endpoints map to the same VisiblePosition when a selection is deleted
// because we don't yet notify the SelectionController of text removal.
if (startPos.isNotNull() && endPos.isNotNull() && selection.visibleStart() != selection.visibleEnd()) {
@@ -729,12 +726,12 @@ bool Frame::shouldApplyPageZoom() const
}
void Frame::setZoomFactor(float percent, bool isTextOnly)
-{
+{
if (m_zoomFactor == percent && isZoomFactorTextOnly() == isTextOnly)
return;
#if ENABLE(SVG)
- // SVG doesn't care if the zoom factor is text only. It will always apply a
+ // SVG doesn't care if the zoom factor is text only. It will always apply a
// zoom to the whole SVG.
if (m_doc->isSVGDocument()) {
if (!static_cast<SVGDocument*>(m_doc.get())->zoomAndPanEnabled())
@@ -793,7 +790,7 @@ String Frame::jsStatusBarText() const
String Frame::jsDefaultStatusBarText() const
{
- return m_kjsDefaultStatusBarText;
+ return m_kjsDefaultStatusBarText;
}
void Frame::setNeedsReapplyStyles()
@@ -827,7 +824,7 @@ void Frame::reapplyStyles()
// FIXME: This call doesn't really make sense in a function called reapplyStyles.
// We should probably eventually move it into its own function.
m_doc->docLoader()->setAutoLoadImages(m_page && m_page->settings()->loadsImagesAutomatically());
-
+
#if FRAME_LOADS_USER_STYLESHEET
const KURL userStyleSheetLocation = m_page ? m_page->settings()->userStyleSheetLocation() : KURL();
if (!userStyleSheetLocation.isEmpty())
@@ -859,7 +856,7 @@ bool Frame::shouldDeleteSelection(const VisibleSelection& selection) const
return editor()->client()->shouldDeleteRange(selection.toNormalizedRange().get());
}
-bool Frame::isContentEditable() const
+bool Frame::isContentEditable() const
{
if (m_editor.clientIsEditable())
return true;
@@ -897,7 +894,7 @@ void Frame::clearTypingStyle()
void Frame::computeAndSetTypingStyle(CSSStyleDeclaration *style, EditAction editingAction)
{
- if (!style || style->length() == 0) {
+ if (!style || !style->length()) {
clearTypingStyle();
return;
}
@@ -933,7 +930,7 @@ void Frame::computeAndSetTypingStyle(CSSStyleDeclaration *style, EditAction edit
blockStyle->diff(mutableStyle.get());
if (blockStyle->length() > 0)
applyCommand(ApplyStyleCommand::create(document(), blockStyle.get(), editingAction));
-
+
// Set the remaining style as the typing style.
m_typingStyle = mutableStyle.release();
}
@@ -950,7 +947,7 @@ String Frame::selectionStartStylePropertyValue(int stylePropertyID) const
if (nodeToRemove) {
ExceptionCode ec = 0;
nodeToRemove->remove(ec);
- ASSERT(ec == 0);
+ ASSERT(!ec);
}
return value;
@@ -969,7 +966,7 @@ PassRefPtr<CSSComputedStyleDeclaration> Frame::selectionComputedStyle(Node*& nod
Element *elem = pos.element();
if (!elem)
return 0;
-
+
RefPtr<Element> styleElement = elem;
ExceptionCode ec = 0;
@@ -977,10 +974,10 @@ PassRefPtr<CSSComputedStyleDeclaration> Frame::selectionComputedStyle(Node*& nod
styleElement = document()->createElement(spanTag, false);
styleElement->setAttribute(styleAttr, m_typingStyle->cssText().impl(), ec);
- ASSERT(ec == 0);
-
+ ASSERT(!ec);
+
styleElement->appendChild(document()->createEditingTextNode(""), ec);
- ASSERT(ec == 0);
+ ASSERT(!ec);
if (elem->renderer() && elem->renderer()->canHaveChildren()) {
elem->appendChild(styleElement, ec);
@@ -988,13 +985,12 @@ PassRefPtr<CSSComputedStyleDeclaration> Frame::selectionComputedStyle(Node*& nod
Node *parent = elem->parent();
Node *next = elem->nextSibling();
- if (next) {
+ if (next)
parent->insertBefore(styleElement, next, ec);
- } else {
+ else
parent->appendChild(styleElement, ec);
- }
}
- ASSERT(ec == 0);
+ ASSERT(!ec);
nodeToRemove = styleElement.get();
}
@@ -1044,18 +1040,16 @@ void Frame::applyEditingStyleToBodyElement() const
{
RefPtr<NodeList> list = m_doc->getElementsByTagName("body");
unsigned len = list->length();
- for (unsigned i = 0; i < len; i++) {
- applyEditingStyleToElement(static_cast<Element*>(list->item(i)));
- }
+ for (unsigned i = 0; i < len; i++)
+ applyEditingStyleToElement(static_cast<Element*>(list->item(i)));
}
void Frame::removeEditingStyleFromBodyElement() const
{
RefPtr<NodeList> list = m_doc->getElementsByTagName("body");
unsigned len = list->length();
- for (unsigned i = 0; i < len; i++) {
- removeEditingStyleFromElement(static_cast<Element*>(list->item(i)));
- }
+ for (unsigned i = 0; i < len; i++)
+ removeEditingStyleFromElement(static_cast<Element*>(list->item(i)));
}
void Frame::applyEditingStyleToElement(Element* element) const
@@ -1068,11 +1062,11 @@ void Frame::applyEditingStyleToElement(Element* element) const
ExceptionCode ec = 0;
style->setProperty(CSSPropertyWordWrap, "break-word", false, ec);
- ASSERT(ec == 0);
+ ASSERT(!ec);
style->setProperty(CSSPropertyWebkitNbspMode, "space", false, ec);
- ASSERT(ec == 0);
+ ASSERT(!ec);
style->setProperty(CSSPropertyWebkitLineBreak, "after-white-space", false, ec);
- ASSERT(ec == 0);
+ ASSERT(!ec);
}
void Frame::removeEditingStyleFromElement(Element*) const
@@ -1189,7 +1183,7 @@ FloatRect Frame::selectionBounds(bool clipToVisibleContent) const
FrameView* view = m_view.get();
if (!root || !view)
return IntRect();
-
+
IntRect selectionRect = root->selectionBounds(clipToVisibleContent);
return clipToVisibleContent ? intersection(selectionRect, view->visibleContentRect()) : selectionRect;
}
@@ -1240,7 +1234,7 @@ HTMLFormElement *Frame::currentForm() const
Node *start = m_doc ? m_doc->focusedNode() : 0;
if (!start)
start = selection()->start().node();
-
+
// try walking up the node tree to find a form element
Node *n;
for (n = start; n; n = n->parentNode()) {
@@ -1249,7 +1243,7 @@ HTMLFormElement *Frame::currentForm() const
else if (n->isHTMLElement() && static_cast<Element*>(n)->isFormControlElement())
return static_cast<HTMLFormControlElement*>(n)->form();
}
-
+
// try walking forward in the node tree to find a form element
return start ? scanForForm(start) : 0;
}
@@ -1259,21 +1253,21 @@ void Frame::revealSelection(const ScrollAlignment& alignment, bool revealExtent)
IntRect rect;
switch (selection()->selectionType()) {
- case VisibleSelection::NoSelection:
- return;
- case VisibleSelection::CaretSelection:
- rect = selection()->absoluteCaretBounds();
- break;
- case VisibleSelection::RangeSelection:
- rect = revealExtent ? VisiblePosition(selection()->extent()).absoluteCaretBounds() : enclosingIntRect(selectionBounds(false));
- break;
+ case VisibleSelection::NoSelection:
+ return;
+ case VisibleSelection::CaretSelection:
+ rect = selection()->absoluteCaretBounds();
+ break;
+ case VisibleSelection::RangeSelection:
+ rect = revealExtent ? VisiblePosition(selection()->extent()).absoluteCaretBounds() : enclosingIntRect(selectionBounds(false));
+ break;
}
Position start = selection()->start();
ASSERT(start.node());
if (start.node() && start.node()->renderer()) {
// FIXME: This code only handles scrolling the startContainer's layer, but
- // the selection rect could intersect more than just that.
+ // the selection rect could intersect more than just that.
// See <rdar://problem/4799899>.
if (RenderLayer* layer = start.node()->renderer()->enclosingLayer())
layer->scrollRectToVisible(rect, false, alignment, alignment);
@@ -1313,46 +1307,46 @@ void Frame::clearTimers()
RenderStyle *Frame::styleForSelectionStart(Node *&nodeToRemove) const
{
nodeToRemove = 0;
-
+
if (selection()->isNone())
return 0;
-
+
Position pos = selection()->selection().visibleStart().deepEquivalent();
if (!pos.isCandidate())
return 0;
Node *node = pos.node();
if (!node)
return 0;
-
+
if (!m_typingStyle)
return node->renderer()->style();
-
+
RefPtr<Element> styleElement = document()->createElement(spanTag, false);
-
+
ExceptionCode ec = 0;
String styleText = m_typingStyle->cssText() + " display: inline";
styleElement->setAttribute(styleAttr, styleText.impl(), ec);
- ASSERT(ec == 0);
-
+ ASSERT(!ec);
+
styleElement->appendChild(document()->createEditingTextNode(""), ec);
- ASSERT(ec == 0);
-
+ ASSERT(!ec);
+
node->parentNode()->appendChild(styleElement, ec);
- ASSERT(ec == 0);
-
- nodeToRemove = styleElement.get();
+ ASSERT(!ec);
+
+ nodeToRemove = styleElement.get();
return styleElement->renderer() ? styleElement->renderer()->style() : 0;
}
void Frame::setSelectionFromNone()
{
- // Put a caret inside the body if the entire frame is editable (either the
+ // Put a caret inside the body if the entire frame is editable (either the
// entire WebView is editable or designMode is on for this document).
Document *doc = document();
bool caretBrowsing = settings() && settings()->caretBrowsingEnabled();
if (!selection()->isNone() || !(isContentEditable() || caretBrowsing))
return;
-
+
Node* node = doc->documentElement();
while (node && !node->hasTagName(bodyTag))
node = node->traverseNextNode();
@@ -1375,10 +1369,10 @@ bool Frame::findString(const String& target, bool forward, bool caseFlag, bool w
{
if (target.isEmpty())
return false;
-
+
if (excludeFromTextSearch())
return false;
-
+
// Start from an edge of the selection, if there's a selection that's not in shadow content. Which edge
// is used depends on whether we're searching forward or backward, and whether startInSelection is set.
RefPtr<Range> searchRange(rangeOfContents(document()));
@@ -1419,7 +1413,7 @@ bool Frame::findString(const String& target, bool forward, bool caseFlag, bool w
resultRange = findPlainText(searchRange.get(), target, forward, caseFlag);
}
-
+
ExceptionCode exception = 0;
// If nothing was found in the shadow tree, search in main content following the shadow tree.
@@ -1432,7 +1426,7 @@ bool Frame::findString(const String& target, bool forward, bool caseFlag, bool w
resultRange = findPlainText(searchRange.get(), target, forward, caseFlag);
}
-
+
if (!editor()->insideVisibleArea(resultRange.get())) {
resultRange = editor()->nextVisibleRange(resultRange.get(), target, forward, caseFlag, wrapFlag);
if (!resultRange)
@@ -1461,9 +1455,9 @@ unsigned Frame::markAllMatchesForText(const String& target, bool caseFlag, unsig
{
if (target.isEmpty())
return 0;
-
+
RefPtr<Range> searchRange(rangeOfContents(document()));
-
+
ExceptionCode exception = 0;
unsigned matchCount = 0;
do {
@@ -1476,7 +1470,7 @@ unsigned Frame::markAllMatchesForText(const String& target, bool caseFlag, unsig
searchRange->setStartAfter(resultRange->startContainer()->shadowAncestorNode(), exception);
continue;
}
-
+
// A non-collapsed result range can in some funky whitespace cases still not
// advance the range's start position (4509328). Break to avoid infinite loop.
VisiblePosition newStart = endVisiblePosition(resultRange.get(), DOWNSTREAM);
@@ -1488,18 +1482,18 @@ unsigned Frame::markAllMatchesForText(const String& target, bool caseFlag, unsig
++matchCount;
document()->addMarker(resultRange.get(), DocumentMarker::TextMatch);
}
-
+
// Stop looking if we hit the specified limit. A limit of 0 means no limit.
if (limit > 0 && matchCount >= limit)
break;
-
+
setStart(searchRange.get(), newStart);
Node* shadowTreeRoot = searchRange->shadowTreeRootNode();
if (searchRange->collapsed(exception) && shadowTreeRoot)
searchRange->setEnd(shadowTreeRoot, shadowTreeRoot->childNodeCount(), exception);
} while (true);
-
- // Do a "fake" paint in order to execute the code that computes the rendered rect for
+
+ // Do a "fake" paint in order to execute the code that computes the rendered rect for
// each text match.
Document* doc = document();
if (m_view && contentRenderer()) {
@@ -1511,7 +1505,7 @@ unsigned Frame::markAllMatchesForText(const String& target, bool caseFlag, unsig
m_view->paintContents(&context, visibleRect);
}
}
-
+
return matchCount;
}
@@ -1524,7 +1518,7 @@ void Frame::setMarkedTextMatchesAreHighlighted(bool flag)
{
if (flag == m_highlightTextMatches)
return;
-
+
m_highlightTextMatches = flag;
document()->repaintMarkers(DocumentMarker::TextMatch);
}
@@ -1553,7 +1547,7 @@ DOMWindow* Frame::domWindow() const
void Frame::clearFormerDOMWindow(DOMWindow* window)
{
- m_liveFormerWindows.remove(window);
+ m_liveFormerWindows.remove(window);
}
Page* Frame::page() const
@@ -1619,7 +1613,7 @@ void Frame::unfocusWindow()
{
if (!page())
return;
-
+
// If we're a top level window, deactivate the window.
if (!tree()->parent())
page()->chrome()->unfocus();
@@ -1680,14 +1674,13 @@ void Frame::respondToChangedSelection(const VisibleSelection& oldSelection, bool
// oldSelection may no longer be in the document.
if (closeTyping && oldSelection.isContentEditable() && oldSelection.start().node() && oldSelection.start().node()->inDocument()) {
VisiblePosition oldStart(oldSelection.visibleStart());
- VisibleSelection oldAdjacentWords = VisibleSelection(startOfWord(oldStart, LeftWordIfOnBoundary), endOfWord(oldStart, RightWordIfOnBoundary));
+ VisibleSelection oldAdjacentWords = VisibleSelection(startOfWord(oldStart, LeftWordIfOnBoundary), endOfWord(oldStart, RightWordIfOnBoundary));
if (oldAdjacentWords != newAdjacentWords) {
if (isContinuousGrammarCheckingEnabled) {
VisibleSelection oldSelectedSentence = VisibleSelection(startOfSentence(oldStart), endOfSentence(oldStart));
editor()->markMisspellingsAndBadGrammar(oldAdjacentWords, oldSelectedSentence != newSelectedSentence, oldSelectedSentence);
- } else {
+ } else
editor()->markMisspellingsAndBadGrammar(oldAdjacentWords, false, oldAdjacentWords);
- }
}
}
@@ -1722,15 +1715,15 @@ VisiblePosition Frame::visiblePositionForPoint(const IntPoint& framePoint)
visiblePos = VisiblePosition(Position(node, 0));
return visiblePos;
}
-
+
Document* Frame::documentAtPoint(const IntPoint& point)
-{
- if (!view())
+{
+ if (!view())
return 0;
-
+
IntPoint pt = view()->windowToContents(point);
HitTestResult result = HitTestResult(pt);
-
+
if (contentRenderer())
result = eventHandler()->hitTestResultAtPoint(pt, false);
return result.innerNode() ? result.innerNode()->document() : 0;
@@ -1771,7 +1764,7 @@ void Frame::createView(const IntSize& viewportSize,
frameView->setParentVisible(true);
if (ownerRenderer())
- ownerRenderer()->setWidget(frameView.get());
+ ownerRenderer()->setWidget(frameView);
if (HTMLFrameOwnerElement* owner = ownerElement())
view()->setCanHaveScrollbars(owner->scrollingMode() != ScrollbarAlwaysOff);
diff --git a/src/3rdparty/webkit/WebCore/page/Frame.h b/src/3rdparty/webkit/WebCore/page/Frame.h
index 0a44a6d..652269a 100644
--- a/src/3rdparty/webkit/WebCore/page/Frame.h
+++ b/src/3rdparty/webkit/WebCore/page/Frame.h
@@ -37,8 +37,8 @@
#include "FrameLoader.h"
#include "FrameTree.h"
#include "Range.h"
-#include "ScrollBehavior.h"
#include "ScriptController.h"
+#include "ScrollBehavior.h"
#include "SelectionController.h"
#include "TextGranularity.h"
@@ -62,315 +62,315 @@ typedef struct HBITMAP__* HBITMAP;
namespace WebCore {
-class CSSMutableStyleDeclaration;
-class Editor;
-class EventHandler;
-class FrameLoader;
-class FrameLoaderClient;
-class FrameTree;
-class FrameView;
-class HTMLFrameOwnerElement;
-class HTMLTableCellElement;
-class RegularExpression;
-class RenderPart;
-class ScriptController;
-class SelectionController;
-class Settings;
-class VisibleSelection;
-class Widget;
+ class CSSMutableStyleDeclaration;
+ class Editor;
+ class EventHandler;
+ class FrameLoader;
+ class FrameLoaderClient;
+ class FrameTree;
+ class FrameView;
+ class HTMLFrameOwnerElement;
+ class HTMLTableCellElement;
+ class RegularExpression;
+ class RenderPart;
+ class ScriptController;
+ class SelectionController;
+ class Settings;
+ class VisibleSelection;
+ class Widget;
#if FRAME_LOADS_USER_STYLESHEET
class UserStyleSheetLoader;
#endif
-template <typename T> class Timer;
+ template <typename T> class Timer;
-class Frame : public RefCounted<Frame> {
-public:
- static PassRefPtr<Frame> create(Page* page, HTMLFrameOwnerElement* ownerElement, FrameLoaderClient* client)
- {
- return adoptRef(new Frame(page, ownerElement, client));
- }
- void setView(PassRefPtr<FrameView>);
- ~Frame();
-
- void init();
+ class Frame : public RefCounted<Frame> {
+ public:
+ static PassRefPtr<Frame> create(Page* page, HTMLFrameOwnerElement* ownerElement, FrameLoaderClient* client)
+ {
+ return adoptRef(new Frame(page, ownerElement, client));
+ }
+ void setView(PassRefPtr<FrameView>);
+ ~Frame();
- Page* page() const;
- HTMLFrameOwnerElement* ownerElement() const;
+ void init();
- void pageDestroyed();
- void disconnectOwnerElement();
+ Page* page() const;
+ HTMLFrameOwnerElement* ownerElement() const;
- Document* document() const;
- FrameView* view() const;
+ void pageDestroyed();
+ void disconnectOwnerElement();
- void setDOMWindow(DOMWindow*);
- DOMWindow* domWindow() const;
- void clearFormerDOMWindow(DOMWindow*);
+ Document* document() const;
+ FrameView* view() const;
- Editor* editor() const;
- EventHandler* eventHandler() const;
- FrameLoader* loader() const;
- SelectionController* selection() const;
- FrameTree* tree() const;
- AnimationController* animation() const;
- ScriptController* script();
+ void setDOMWindow(DOMWindow*);
+ DOMWindow* domWindow() const;
+ void clearFormerDOMWindow(DOMWindow*);
- RenderView* contentRenderer() const; // root renderer for the document contained in this frame
- RenderPart* ownerRenderer() const; // renderer for the element that contains this frame
-
- bool isDisconnected() const;
- void setIsDisconnected(bool);
- bool excludeFromTextSearch() const;
- void setExcludeFromTextSearch(bool);
+ Editor* editor() const;
+ EventHandler* eventHandler() const;
+ FrameLoader* loader() const;
+ SelectionController* selection() const;
+ FrameTree* tree() const;
+ AnimationController* animation() const;
+ ScriptController* script();
- void createView(const IntSize&, const Color&, bool, const IntSize &, bool,
- ScrollbarMode = ScrollbarAuto, ScrollbarMode = ScrollbarAuto);
+ RenderView* contentRenderer() const; // root renderer for the document contained in this frame
+ RenderPart* ownerRenderer() const; // renderer for the element that contains this frame
+ bool isDisconnected() const;
+ void setIsDisconnected(bool);
+ bool excludeFromTextSearch() const;
+ void setExcludeFromTextSearch(bool);
-private:
- Frame(Page*, HTMLFrameOwnerElement*, FrameLoaderClient*);
-
-// === undecided, would like to consider moving to another class
+ void createView(const IntSize&, const Color&, bool, const IntSize &, bool,
+ ScrollbarMode = ScrollbarAuto, ScrollbarMode = ScrollbarAuto);
-public:
- static Frame* frameForWidget(const Widget*);
- Settings* settings() const; // can be NULL
+ private:
+ Frame(Page*, HTMLFrameOwnerElement*, FrameLoaderClient*);
-#if FRAME_LOADS_USER_STYLESHEET
- void setUserStyleSheetLocation(const KURL&);
- void setUserStyleSheet(const String& styleSheetData);
-#endif
+ // === undecided, would like to consider moving to another class
- void setPrinting(bool printing, float minPageWidth, float maxPageWidth, bool adjustViewSize);
+ public:
+ static Frame* frameForWidget(const Widget*);
- bool inViewSourceMode() const;
- void setInViewSourceMode(bool = true);
+ Settings* settings() const; // can be NULL
- void keepAlive(); // Used to keep the frame alive when running a script that might destroy it.
-#ifndef NDEBUG
- static void cancelAllKeepAlive();
-#endif
+ #if FRAME_LOADS_USER_STYLESHEET
+ void setUserStyleSheetLocation(const KURL&);
+ void setUserStyleSheet(const String& styleSheetData);
+ #endif
- void setDocument(PassRefPtr<Document>);
+ void setPrinting(bool printing, float minPageWidth, float maxPageWidth, bool adjustViewSize);
- void clearTimers();
- static void clearTimers(FrameView*, Document*);
+ bool inViewSourceMode() const;
+ void setInViewSourceMode(bool = true);
- void setNeedsReapplyStyles();
- bool needsReapplyStyles() const;
- void reapplyStyles();
+ void keepAlive(); // Used to keep the frame alive when running a script that might destroy it.
+ #ifndef NDEBUG
+ static void cancelAllKeepAlive();
+ #endif
- String documentTypeString() const;
+ void setDocument(PassRefPtr<Document>);
- // This method -- and the corresponding list of former DOM windows --
- // should move onto ScriptController
- void clearDOMWindow();
+ void clearTimers();
+ static void clearTimers(FrameView*, Document*);
- String displayStringModifiedByEncoding(const String& str) const
- {
- return document() ? document()->displayStringModifiedByEncoding(str) : str;
- }
+ void setNeedsReapplyStyles();
+ bool needsReapplyStyles() const;
+ void reapplyStyles();
-private:
- void lifeSupportTimerFired(Timer<Frame>*);
+ String documentTypeString() const;
-// === to be moved into FrameView
+ // This method -- and the corresponding list of former DOM windows --
+ // should move onto ScriptController
+ void clearDOMWindow();
-public:
- void setZoomFactor(float scale, bool isTextOnly);
- float zoomFactor() const;
- bool isZoomFactorTextOnly() const;
- bool shouldApplyTextZoom() const;
- bool shouldApplyPageZoom() const;
- float pageZoomFactor() const { return shouldApplyPageZoom() ? zoomFactor() : 1.0f; }
- float textZoomFactor() const { return shouldApplyTextZoom() ? zoomFactor() : 1.0f; }
+ String displayStringModifiedByEncoding(const String& str) const
+ {
+ return document() ? document()->displayStringModifiedByEncoding(str) : str;
+ }
-// === to be moved into Chrome
+ private:
+ void lifeSupportTimerFired(Timer<Frame>*);
-public:
- void focusWindow();
- void unfocusWindow();
- bool shouldClose(RegisteredEventListenerVector* alternateEventListeners = 0);
- void scheduleClose();
+ // === to be moved into FrameView
- void setJSStatusBarText(const String&);
- void setJSDefaultStatusBarText(const String&);
- String jsStatusBarText() const;
- String jsDefaultStatusBarText() const;
+ public:
+ void setZoomFactor(float scale, bool isTextOnly);
+ float zoomFactor() const;
+ bool isZoomFactorTextOnly() const;
+ bool shouldApplyTextZoom() const;
+ bool shouldApplyPageZoom() const;
+ float pageZoomFactor() const { return shouldApplyPageZoom() ? zoomFactor() : 1.0f; }
+ float textZoomFactor() const { return shouldApplyTextZoom() ? zoomFactor() : 1.0f; }
-// === to be moved into Editor
+ // === to be moved into Chrome
-public:
- String selectedText() const;
- bool findString(const String&, bool forward, bool caseFlag, bool wrapFlag, bool startInSelection);
+ public:
+ void focusWindow();
+ void unfocusWindow();
+ bool shouldClose(RegisteredEventListenerVector* alternateEventListeners = 0);
+ void scheduleClose();
- const VisibleSelection& mark() const; // Mark, to be used as emacs uses it.
- void setMark(const VisibleSelection&);
+ void setJSStatusBarText(const String&);
+ void setJSDefaultStatusBarText(const String&);
+ String jsStatusBarText() const;
+ String jsDefaultStatusBarText() const;
- void computeAndSetTypingStyle(CSSStyleDeclaration* , EditAction = EditActionUnspecified);
- String selectionStartStylePropertyValue(int stylePropertyID) const;
- void applyEditingStyleToBodyElement() const;
- void removeEditingStyleFromBodyElement() const;
- void applyEditingStyleToElement(Element*) const;
- void removeEditingStyleFromElement(Element*) const;
+ // === to be moved into Editor
- IntRect firstRectForRange(Range*) const;
-
- void respondToChangedSelection(const VisibleSelection& oldSelection, bool closeTyping);
- bool shouldChangeSelection(const VisibleSelection& oldSelection, const VisibleSelection& newSelection, EAffinity, bool stillSelecting) const;
+ public:
+ String selectedText() const;
+ bool findString(const String&, bool forward, bool caseFlag, bool wrapFlag, bool startInSelection);
- RenderStyle* styleForSelectionStart(Node*& nodeToRemove) const;
+ const VisibleSelection& mark() const; // Mark, to be used as emacs uses it.
+ void setMark(const VisibleSelection&);
- unsigned markAllMatchesForText(const String&, bool caseFlag, unsigned limit);
- bool markedTextMatchesAreHighlighted() const;
- void setMarkedTextMatchesAreHighlighted(bool flag);
+ void computeAndSetTypingStyle(CSSStyleDeclaration* , EditAction = EditActionUnspecified);
+ String selectionStartStylePropertyValue(int stylePropertyID) const;
+ void applyEditingStyleToBodyElement() const;
+ void removeEditingStyleFromBodyElement() const;
+ void applyEditingStyleToElement(Element*) const;
+ void removeEditingStyleFromElement(Element*) const;
- PassRefPtr<CSSComputedStyleDeclaration> selectionComputedStyle(Node*& nodeToRemove) const;
+ IntRect firstRectForRange(Range*) const;
- void textFieldDidBeginEditing(Element*);
- void textFieldDidEndEditing(Element*);
- void textDidChangeInTextField(Element*);
- bool doTextFieldCommandFromEvent(Element*, KeyboardEvent*);
- void textWillBeDeletedInTextField(Element* input);
- void textDidChangeInTextArea(Element*);
+ void respondToChangedSelection(const VisibleSelection& oldSelection, bool closeTyping);
+ bool shouldChangeSelection(const VisibleSelection& oldSelection, const VisibleSelection& newSelection, EAffinity, bool stillSelecting) const;
- DragImageRef dragImageForSelection();
-
-// === to be moved into SelectionController
+ RenderStyle* styleForSelectionStart(Node*& nodeToRemove) const;
-public:
- TextGranularity selectionGranularity() const;
- void setSelectionGranularity(TextGranularity);
+ unsigned markAllMatchesForText(const String&, bool caseFlag, unsigned limit);
+ bool markedTextMatchesAreHighlighted() const;
+ void setMarkedTextMatchesAreHighlighted(bool flag);
- bool shouldChangeSelection(const VisibleSelection&) const;
- bool shouldDeleteSelection(const VisibleSelection&) const;
- void clearCaretRectIfNeeded();
- void setFocusedNodeIfNeeded();
- void selectionLayoutChanged();
- void notifyRendererOfSelectionChange(bool userTriggered);
+ PassRefPtr<CSSComputedStyleDeclaration> selectionComputedStyle(Node*& nodeToRemove) const;
- void invalidateSelection();
+ void textFieldDidBeginEditing(Element*);
+ void textFieldDidEndEditing(Element*);
+ void textDidChangeInTextField(Element*);
+ bool doTextFieldCommandFromEvent(Element*, KeyboardEvent*);
+ void textWillBeDeletedInTextField(Element* input);
+ void textDidChangeInTextArea(Element*);
- void setCaretVisible(bool = true);
- void paintCaret(GraphicsContext*, int tx, int ty, const IntRect& clipRect) const;
- void paintDragCaret(GraphicsContext*, int tx, int ty, const IntRect& clipRect) const;
+ DragImageRef dragImageForSelection();
- bool isContentEditable() const; // if true, everything in frame is editable
+ // === to be moved into SelectionController
- void updateSecureKeyboardEntryIfActive();
+ public:
+ TextGranularity selectionGranularity() const;
+ void setSelectionGranularity(TextGranularity);
- CSSMutableStyleDeclaration* typingStyle() const;
- void setTypingStyle(CSSMutableStyleDeclaration*);
- void clearTypingStyle();
+ bool shouldChangeSelection(const VisibleSelection&) const;
+ bool shouldDeleteSelection(const VisibleSelection&) const;
+ void clearCaretRectIfNeeded();
+ void setFocusedNodeIfNeeded();
+ void selectionLayoutChanged();
+ void notifyRendererOfSelectionChange(bool userTriggered);
- FloatRect selectionBounds(bool clipToVisibleContent = true) const;
- void selectionTextRects(Vector<FloatRect>&, bool clipToVisibleContent = true) const;
+ void invalidateSelection();
- HTMLFormElement* currentForm() const;
+ void setCaretVisible(bool = true);
+ void paintCaret(GraphicsContext*, int tx, int ty, const IntRect& clipRect) const;
+ void paintDragCaret(GraphicsContext*, int tx, int ty, const IntRect& clipRect) const;
- void revealSelection(const ScrollAlignment& = ScrollAlignment::alignCenterIfNeeded, bool revealExtent = false);
- void setSelectionFromNone();
+ bool isContentEditable() const; // if true, everything in frame is editable
- void setUseSecureKeyboardEntry(bool);
+ void updateSecureKeyboardEntryIfActive();
-private:
- void caretBlinkTimerFired(Timer<Frame>*);
+ CSSMutableStyleDeclaration* typingStyle() const;
+ void setTypingStyle(CSSMutableStyleDeclaration*);
+ void clearTypingStyle();
-public:
- SelectionController* dragCaretController() const;
+ FloatRect selectionBounds(bool clipToVisibleContent = true) const;
+ void selectionTextRects(Vector<FloatRect>&, bool clipToVisibleContent = true) const;
- String searchForLabelsAboveCell(RegularExpression*, HTMLTableCellElement*);
- String searchForLabelsBeforeElement(const Vector<String>& labels, Element*);
- String matchLabelsAgainstElement(const Vector<String>& labels, Element*);
-
- VisiblePosition visiblePositionForPoint(const IntPoint& framePoint);
- Document* documentAtPoint(const IntPoint& windowPoint);
+ HTMLFormElement* currentForm() const;
-#if PLATFORM(MAC)
+ void revealSelection(const ScrollAlignment& = ScrollAlignment::alignCenterIfNeeded, bool revealExtent = false);
+ void setSelectionFromNone();
-// === undecided, would like to consider moving to another class
+ void setUseSecureKeyboardEntry(bool);
-public:
- NSString* searchForNSLabelsAboveCell(RegularExpression*, HTMLTableCellElement*);
- NSString* searchForLabelsBeforeElement(NSArray* labels, Element*);
- NSString* matchLabelsAgainstElement(NSArray* labels, Element*);
+ private:
+ void caretBlinkTimerFired(Timer<Frame>*);
-#if ENABLE(DASHBOARD_SUPPORT)
- NSMutableDictionary* dashboardRegionsDictionary();
-#endif
+ public:
+ SelectionController* dragCaretController() const;
- NSImage* selectionImage(bool forceBlackText = false) const;
- NSImage* snapshotDragImage(Node*, NSRect* imageRect, NSRect* elementRect) const;
- NSImage* nodeImage(Node*) const;
+ String searchForLabelsAboveCell(RegularExpression*, HTMLTableCellElement*);
+ String searchForLabelsBeforeElement(const Vector<String>& labels, Element*);
+ String matchLabelsAgainstElement(const Vector<String>& labels, Element*);
-private:
- NSImage* imageFromRect(NSRect) const;
+ VisiblePosition visiblePositionForPoint(const IntPoint& framePoint);
+ Document* documentAtPoint(const IntPoint& windowPoint);
-// === to be moved into Editor
+ #if PLATFORM(MAC)
-public:
- NSDictionary* fontAttributesForSelectionStart() const;
- NSWritingDirection baseWritingDirectionForSelectionStart() const;
+ // === undecided, would like to consider moving to another class
-#endif
+ public:
+ NSString* searchForNSLabelsAboveCell(RegularExpression*, HTMLTableCellElement*);
+ NSString* searchForLabelsBeforeElement(NSArray* labels, Element*);
+ NSString* matchLabelsAgainstElement(NSArray* labels, Element*);
-#if PLATFORM(WIN)
+ #if ENABLE(DASHBOARD_SUPPORT)
+ NSMutableDictionary* dashboardRegionsDictionary();
+ #endif
-public:
- // FIXME - We should have a single version of nodeImage instead of using platform types.
- HBITMAP nodeImage(Node*) const;
+ NSImage* selectionImage(bool forceBlackText = false) const;
+ NSImage* snapshotDragImage(Node*, NSRect* imageRect, NSRect* elementRect) const;
+ NSImage* nodeImage(Node*) const;
-#endif
+ private:
+ NSImage* imageFromRect(NSRect) const;
-private:
- Page* m_page;
- mutable FrameTree m_treeNode;
- mutable FrameLoader m_loader;
+ // === to be moved into Editor
- mutable RefPtr<DOMWindow> m_domWindow;
- HashSet<DOMWindow*> m_liveFormerWindows;
+ public:
+ NSDictionary* fontAttributesForSelectionStart() const;
+ NSWritingDirection baseWritingDirectionForSelectionStart() const;
- HTMLFrameOwnerElement* m_ownerElement;
- RefPtr<FrameView> m_view;
- RefPtr<Document> m_doc;
+ #endif
- ScriptController m_script;
+ #if PLATFORM(WIN)
- String m_kjsStatusBarText;
- String m_kjsDefaultStatusBarText;
+ public:
+ // FIXME - We should have a single version of nodeImage instead of using platform types.
+ HBITMAP nodeImage(Node*) const;
- float m_zoomFactor;
+ #endif
- TextGranularity m_selectionGranularity;
+ private:
+ Page* m_page;
+ mutable FrameTree m_treeNode;
+ mutable FrameLoader m_loader;
- mutable SelectionController m_selectionController;
- mutable VisibleSelection m_mark;
- Timer<Frame> m_caretBlinkTimer;
- mutable Editor m_editor;
- mutable EventHandler m_eventHandler;
- mutable AnimationController m_animationController;
+ mutable RefPtr<DOMWindow> m_domWindow;
+ HashSet<DOMWindow*> m_liveFormerWindows;
- RefPtr<CSSMutableStyleDeclaration> m_typingStyle;
+ HTMLFrameOwnerElement* m_ownerElement;
+ RefPtr<FrameView> m_view;
+ RefPtr<Document> m_doc;
- Timer<Frame> m_lifeSupportTimer;
+ ScriptController m_script;
- bool m_caretVisible;
- bool m_caretPaint;
-
- bool m_highlightTextMatches;
- bool m_inViewSourceMode;
- bool m_needsReapplyStyles;
- bool m_isDisconnected;
- bool m_excludeFromTextSearch;
+ String m_kjsStatusBarText;
+ String m_kjsDefaultStatusBarText;
-#if FRAME_LOADS_USER_STYLESHEET
- UserStyleSheetLoader* m_userStyleSheetLoader;
-#endif
+ float m_zoomFactor;
+
+ TextGranularity m_selectionGranularity;
+
+ mutable SelectionController m_selectionController;
+ mutable VisibleSelection m_mark;
+ Timer<Frame> m_caretBlinkTimer;
+ mutable Editor m_editor;
+ mutable EventHandler m_eventHandler;
+ mutable AnimationController m_animationController;
+
+ RefPtr<CSSMutableStyleDeclaration> m_typingStyle;
+
+ Timer<Frame> m_lifeSupportTimer;
+
+ bool m_caretVisible;
+ bool m_caretPaint;
+
+ bool m_highlightTextMatches;
+ bool m_inViewSourceMode;
+ bool m_needsReapplyStyles;
+ bool m_isDisconnected;
+ bool m_excludeFromTextSearch;
+
+ #if FRAME_LOADS_USER_STYLESHEET
+ UserStyleSheetLoader* m_userStyleSheetLoader;
+ #endif
-};
+ };
} // namespace WebCore
diff --git a/src/3rdparty/webkit/WebCore/page/FrameTree.h b/src/3rdparty/webkit/WebCore/page/FrameTree.h
index d4c8c43..9ab999f 100644
--- a/src/3rdparty/webkit/WebCore/page/FrameTree.h
+++ b/src/3rdparty/webkit/WebCore/page/FrameTree.h
@@ -26,7 +26,7 @@ namespace WebCore {
class Frame;
- class FrameTree : Noncopyable {
+ class FrameTree : public Noncopyable {
public:
FrameTree(Frame* thisFrame, Frame* parentFrame)
: m_thisFrame(thisFrame)
diff --git a/src/3rdparty/webkit/WebCore/page/FrameView.cpp b/src/3rdparty/webkit/WebCore/page/FrameView.cpp
index 41f2c5c..9160c89 100644
--- a/src/3rdparty/webkit/WebCore/page/FrameView.cpp
+++ b/src/3rdparty/webkit/WebCore/page/FrameView.cpp
@@ -111,7 +111,6 @@ FrameView::FrameView(Frame* frame)
, m_shouldUpdateWhileOffscreen(true)
, m_deferSetNeedsLayouts(0)
, m_setNeedsLayoutWasDeferred(false)
- , m_lockedToAnchor(false)
{
init();
}
@@ -185,7 +184,7 @@ void FrameView::reset()
m_isPainting = false;
m_isVisuallyNonEmpty = false;
m_firstVisuallyNonEmptyLayoutCallbackPending = true;
- m_lockedToAnchor = false;
+ m_maintainScrollPositionAnchor = 0;
}
bool FrameView::isFrameView() const
@@ -417,20 +416,18 @@ void FrameView::applyOverflowToViewport(RenderObject* o, ScrollbarMode& hMode, S
}
#if USE(ACCELERATED_COMPOSITING)
-void FrameView::updateCompositingLayers(CompositingUpdate updateType)
+void FrameView::updateCompositingLayers()
{
RenderView* view = m_frame->contentRenderer();
- if (view && view->compositor()) {
- // This call will make sure the cached hasAcceleratedCompositing is updated from the pref
- view->compositor()->cacheAcceleratedCompositingEnabledFlag();
- }
-
- if (!view || !view->usesCompositing())
+ if (!view)
return;
- if (updateType == ForcedCompositingUpdate)
- view->compositor()->setCompositingLayersNeedUpdate();
+ // This call will make sure the cached hasAcceleratedCompositing is updated from the pref
+ view->compositor()->cacheAcceleratedCompositingEnabledFlag();
+ if (!view->usesCompositing())
+ return;
+
view->compositor()->updateCompositingLayers();
}
@@ -624,7 +621,9 @@ void FrameView::layout(bool allowSubtree)
// Now update the positions of all layers.
beginDeferredRepaints();
- layer->updateLayerPositions(m_doFullRepaint);
+ layer->updateLayerPositions((m_doFullRepaint ? RenderLayer::DoFullRepaint : 0)
+ | RenderLayer::CheckForRepaint
+ | RenderLayer::UpdateCompositingLayers);
endDeferredRepaints();
#if USE(ACCELERATED_COMPOSITING)
@@ -666,9 +665,6 @@ void FrameView::layout(bool allowSubtree)
ASSERT(m_enqueueEvents);
}
- if (lockedToAnchor())
- m_frame->loader()->gotoAnchor();
-
m_nestedLayoutCount--;
}
@@ -751,11 +747,27 @@ void FrameView::restoreScrollbar()
setScrollbarsSuppressed(false);
}
+void FrameView::maintainScrollPositionAtAnchor(Node* anchorNode)
+{
+ m_maintainScrollPositionAnchor = anchorNode;
+ if (!m_maintainScrollPositionAnchor)
+ return;
+
+ // We need to update the layout before scrolling, otherwise we could
+ // really mess things up if an anchor scroll comes at a bad moment.
+ m_frame->document()->updateStyleIfNeeded();
+ // Only do a layout if changes have occurred that make it necessary.
+ if (m_frame->contentRenderer() && m_frame->contentRenderer()->needsLayout())
+ layout();
+ else
+ scrollToAnchor();
+}
+
void FrameView::scrollRectIntoViewRecursively(const IntRect& r)
{
bool wasInProgrammaticScroll = m_inProgrammaticScroll;
m_inProgrammaticScroll = true;
- setLockedToAnchor(false);
+ m_maintainScrollPositionAnchor = 0;
ScrollView::scrollRectIntoViewRecursively(r);
m_inProgrammaticScroll = wasInProgrammaticScroll;
}
@@ -764,7 +776,7 @@ void FrameView::setScrollPosition(const IntPoint& scrollPoint)
{
bool wasInProgrammaticScroll = m_inProgrammaticScroll;
m_inProgrammaticScroll = true;
- setLockedToAnchor(false);
+ m_maintainScrollPositionAnchor = 0;
ScrollView::setScrollPosition(scrollPoint);
m_inProgrammaticScroll = wasInProgrammaticScroll;
}
@@ -813,6 +825,19 @@ void FrameView::repaintContentRectangle(const IntRect& r, bool immediate)
ScrollView::repaintContentRectangle(r, immediate);
}
+void FrameView::visibleContentsResized()
+{
+ // We check to make sure the view is attached to a frame() as this method can
+ // be triggered before the view is attached by Frame::createView(...) setting
+ // various values such as setScrollBarModes(...) for example. An ASSERT is
+ // triggered when a view is layout before being attached to a frame().
+ if (!frame()->view())
+ return;
+
+ if (needsLayout())
+ layout();
+}
+
void FrameView::beginDeferredRepaints()
{
Page* page = m_frame->page();
@@ -1118,6 +1143,27 @@ void FrameView::resumeScheduledEvents()
ASSERT(m_scheduledEvents.isEmpty() || m_enqueueEvents);
}
+void FrameView::scrollToAnchor()
+{
+ RefPtr<Node> anchorNode = m_maintainScrollPositionAnchor;
+ if (!anchorNode)
+ return;
+
+ if (!anchorNode->renderer())
+ return;
+
+ IntRect rect;
+ if (anchorNode != m_frame->document())
+ rect = anchorNode->getRect();
+
+ // Scroll nested layers and frames to reveal the anchor.
+ // Align to the top and to the closest side (this matches other browsers).
+ anchorNode->renderer()->enclosingLayer()->scrollRectToVisible(rect, true, ScrollAlignment::alignToEdgeIfNeeded, ScrollAlignment::alignTopAlways);
+
+ // scrollRectToVisible can call into scrollRectIntoViewRecursively(), which resets m_maintainScrollPositionAnchor.
+ m_maintainScrollPositionAnchor = anchorNode;
+}
+
bool FrameView::updateWidgets()
{
if (m_nestedLayoutCount > 1 || !m_widgetUpdateSet || m_widgetUpdateSet->isEmpty())
@@ -1161,7 +1207,9 @@ void FrameView::performPostLayoutTasks()
if (updateWidgets())
break;
}
-
+
+ scrollToAnchor();
+
resumeScheduledEvents();
if (!root->printing()) {
@@ -1351,7 +1399,7 @@ void FrameView::setWasScrolledByUser(bool wasScrolledByUser)
{
if (m_inProgrammaticScroll)
return;
- setLockedToAnchor(false);
+ m_maintainScrollPositionAnchor = 0;
m_wasScrolledByUser = wasScrolledByUser;
}
@@ -1447,11 +1495,13 @@ void FrameView::layoutIfNeededRecursive()
if (needsLayout())
layout();
- const HashSet<Widget*>* viewChildren = children();
- HashSet<Widget*>::const_iterator end = viewChildren->end();
- for (HashSet<Widget*>::const_iterator current = viewChildren->begin(); current != end; ++current)
- if ((*current)->isFrameView())
- static_cast<FrameView*>(*current)->layoutIfNeededRecursive();
+ const HashSet<RefPtr<Widget> >* viewChildren = children();
+ HashSet<RefPtr<Widget> >::const_iterator end = viewChildren->end();
+ for (HashSet<RefPtr<Widget> >::const_iterator current = viewChildren->begin(); current != end; ++current) {
+ Widget* widget = (*current).get();
+ if (widget->isFrameView())
+ static_cast<FrameView*>(widget)->layoutIfNeededRecursive();
+ }
// layoutIfNeededRecursive is called when we need to make sure layout is up-to-date before
// painting, so we need to flush out any deferred repaints too.
@@ -1517,4 +1567,142 @@ void FrameView::adjustPageHeight(float *newBottom, float oldTop, float oldBottom
*newBottom = oldBottom;
}
+IntRect FrameView::convertFromRenderer(const RenderObject* renderer, const IntRect& rendererRect) const
+{
+ IntRect rect = renderer->localToAbsoluteQuad(FloatRect(rendererRect)).enclosingBoundingBox();
+
+ // Convert from page ("absolute") to FrameView coordinates.
+ rect.move(-scrollX(), -scrollY());
+
+ return rect;
+}
+
+IntRect FrameView::convertToRenderer(const RenderObject* renderer, const IntRect& viewRect) const
+{
+ IntRect rect = viewRect;
+
+ // Convert from FrameView coords into page ("absolute") coordinates.
+ rect.move(scrollX(), scrollY());
+
+ // FIXME: we don't have a way to map an absolute rect down to a local quad, so just
+ // move the rect for now.
+ rect.setLocation(roundedIntPoint(renderer->absoluteToLocal(rect.location(), false, true /* use transforms */)));
+ return rect;
+}
+
+IntPoint FrameView::convertFromRenderer(const RenderObject* renderer, const IntPoint& rendererPoint) const
+{
+ IntPoint point = roundedIntPoint(renderer->localToAbsolute(rendererPoint, false, true /* use transforms */));
+
+ // Convert from page ("absolute") to FrameView coordinates.
+ point.move(-scrollX(), -scrollY());
+ return point;
+}
+
+IntPoint FrameView::convertToRenderer(const RenderObject* renderer, const IntPoint& viewPoint) const
+{
+ IntPoint point = viewPoint;
+
+ // Convert from FrameView coords into page ("absolute") coordinates.
+ point += IntSize(scrollX(), scrollY());
+
+ return roundedIntPoint(renderer->absoluteToLocal(point, false, true /* use transforms */));
+}
+
+IntRect FrameView::convertToContainingView(const IntRect& localRect) const
+{
+ if (const ScrollView* parentScrollView = parent()) {
+ if (parentScrollView->isFrameView()) {
+ const FrameView* parentView = static_cast<const FrameView*>(parentScrollView);
+ // Get our renderer in the parent view
+ RenderPart* renderer = m_frame->ownerRenderer();
+ if (!renderer)
+ return localRect;
+
+ IntRect rect(localRect);
+ // Add borders and padding??
+ rect.move(renderer->borderLeft() + renderer->paddingLeft(),
+ renderer->borderTop() + renderer->paddingTop());
+ return parentView->convertFromRenderer(renderer, rect);
+ }
+
+ return Widget::convertToContainingView(localRect);
+ }
+
+ return localRect;
+}
+
+IntRect FrameView::convertFromContainingView(const IntRect& parentRect) const
+{
+ if (const ScrollView* parentScrollView = parent()) {
+ if (parentScrollView->isFrameView()) {
+ const FrameView* parentView = static_cast<const FrameView*>(parentScrollView);
+
+ // Get our renderer in the parent view
+ RenderPart* renderer = m_frame->ownerRenderer();
+ if (!renderer)
+ return parentRect;
+
+ IntRect rect = parentView->convertToRenderer(renderer, parentRect);
+ // Subtract borders and padding
+ rect.move(-renderer->borderLeft() - renderer->paddingLeft(),
+ -renderer->borderTop() - renderer->paddingTop());
+ return rect;
+ }
+
+ return Widget::convertFromContainingView(parentRect);
+ }
+
+ return parentRect;
+}
+
+IntPoint FrameView::convertToContainingView(const IntPoint& localPoint) const
+{
+ if (const ScrollView* parentScrollView = parent()) {
+ if (parentScrollView->isFrameView()) {
+ const FrameView* parentView = static_cast<const FrameView*>(parentScrollView);
+
+ // Get our renderer in the parent view
+ RenderPart* renderer = m_frame->ownerRenderer();
+ if (!renderer)
+ return localPoint;
+
+ IntPoint point(localPoint);
+
+ // Add borders and padding
+ point.move(renderer->borderLeft() + renderer->paddingLeft(),
+ renderer->borderTop() + renderer->paddingTop());
+ return parentView->convertFromRenderer(renderer, point);
+ }
+
+ return Widget::convertToContainingView(localPoint);
+ }
+
+ return localPoint;
+}
+
+IntPoint FrameView::convertFromContainingView(const IntPoint& parentPoint) const
+{
+ if (const ScrollView* parentScrollView = parent()) {
+ if (parentScrollView->isFrameView()) {
+ const FrameView* parentView = static_cast<const FrameView*>(parentScrollView);
+
+ // Get our renderer in the parent view
+ RenderPart* renderer = m_frame->ownerRenderer();
+ if (!renderer)
+ return parentPoint;
+
+ IntPoint point = parentView->convertToRenderer(renderer, parentPoint);
+ // Subtract borders and padding
+ point.move(-renderer->borderLeft() - renderer->paddingLeft(),
+ -renderer->borderTop() - renderer->paddingTop());
+ return point;
+ }
+
+ return Widget::convertFromContainingView(parentPoint);
+ }
+
+ return parentPoint;
+}
+
} // namespace WebCore
diff --git a/src/3rdparty/webkit/WebCore/page/FrameView.h b/src/3rdparty/webkit/WebCore/page/FrameView.h
index 9dabe56..83e2c1e 100644
--- a/src/3rdparty/webkit/WebCore/page/FrameView.h
+++ b/src/3rdparty/webkit/WebCore/page/FrameView.h
@@ -48,7 +48,7 @@ class String;
template <typename T> class Timer;
-class FrameView : public ScrollView, public RefCounted<FrameView> {
+class FrameView : public ScrollView {
public:
friend class RenderView;
@@ -93,8 +93,7 @@ public:
bool needsFullRepaint() const { return m_doFullRepaint; }
#if USE(ACCELERATED_COMPOSITING)
- enum CompositingUpdate { NormalCompositingUpdate, ForcedCompositingUpdate };
- void updateCompositingLayers(CompositingUpdate updateType = NormalCompositingUpdate);
+ void updateCompositingLayers();
// Called when changes to the GraphicsLayer hierarchy have to be synchronized with
// content rendered via the normal painting path.
@@ -126,11 +125,6 @@ public:
virtual IntRect windowClipRect(bool clipToContents = true) const;
IntRect windowClipRectForLayer(const RenderLayer*, bool clipToLayerContents) const;
- virtual bool isActive() const;
- virtual void invalidateScrollbarRect(Scrollbar*, const IntRect&);
- virtual void valueChanged(Scrollbar*);
- virtual void getTickmarks(Vector<IntRect>&) const;
-
virtual IntRect windowResizerRect() const;
virtual void scrollRectIntoViewRecursively(const IntRect&);
@@ -185,9 +179,13 @@ public:
void adjustPageHeight(float* newBottom, float oldTop, float oldBottom, float bottomLimit);
- bool lockedToAnchor() { return m_lockedToAnchor; }
- void setLockedToAnchor(bool lockedToAnchor) { m_lockedToAnchor = lockedToAnchor; }
+ void maintainScrollPositionAtAnchor(Node*);
+ // Methods to convert points and rects between the coordinate space of the renderer, and this view.
+ virtual IntRect convertFromRenderer(const RenderObject*, const IntRect&) const;
+ virtual IntRect convertToRenderer(const RenderObject*, const IntRect&) const;
+ virtual IntPoint convertFromRenderer(const RenderObject*, const IntPoint&) const;
+ virtual IntPoint convertToRenderer(const RenderObject*, const IntPoint&) const;
private:
FrameView(Frame*);
@@ -209,11 +207,20 @@ private:
virtual void repaintContentRectangle(const IntRect&, bool immediate);
virtual void contentsResized() { setNeedsLayout(); }
- virtual void visibleContentsResized()
- {
- if (needsLayout())
- layout();
- }
+ virtual void visibleContentsResized();
+
+ // Override ScrollView methods to do point conversion via renderers, in order to
+ // take transforms into account.
+ virtual IntRect convertToContainingView(const IntRect&) const;
+ virtual IntRect convertFromContainingView(const IntRect&) const;
+ virtual IntPoint convertToContainingView(const IntPoint&) const;
+ virtual IntPoint convertFromContainingView(const IntPoint&) const;
+
+ // ScrollBarClient interface
+ virtual void valueChanged(Scrollbar*);
+ virtual void invalidateScrollbarRect(Scrollbar*, const IntRect&);
+ virtual bool isActive() const;
+ virtual void getTickmarks(Vector<IntRect>&) const;
void deferredRepaintTimerFired(Timer<FrameView>*);
void doDeferredRepaints();
@@ -221,6 +228,7 @@ private:
double adjustedDeferredRepaintDelay() const;
bool updateWidgets();
+ void scrollToAnchor();
static double sCurrentPaintTimeStamp; // used for detecting decoded resource thrash in the cache
@@ -290,7 +298,7 @@ private:
bool m_isVisuallyNonEmpty;
bool m_firstVisuallyNonEmptyLayoutCallbackPending;
- bool m_lockedToAnchor;
+ RefPtr<Node> m_maintainScrollPositionAnchor;
};
} // namespace WebCore
diff --git a/src/3rdparty/webkit/WebCore/page/MouseEventWithHitTestResults.h b/src/3rdparty/webkit/WebCore/page/MouseEventWithHitTestResults.h
index c4e419c..7330d93 100644
--- a/src/3rdparty/webkit/WebCore/page/MouseEventWithHitTestResults.h
+++ b/src/3rdparty/webkit/WebCore/page/MouseEventWithHitTestResults.h
@@ -28,7 +28,6 @@ namespace WebCore {
class Scrollbar;
-// FIXME: Why doesn't this class just cache a HitTestResult instead of copying all of HitTestResult's fields over?
class MouseEventWithHitTestResults {
public:
MouseEventWithHitTestResults(const PlatformMouseEvent&, const HitTestResult&);
@@ -46,6 +45,6 @@ private:
HitTestResult m_hitTestResult;
};
-}
+} // namespace WebCore
-#endif
+#endif // MouseEventWithHitTestResults_h
diff --git a/src/3rdparty/webkit/WebCore/page/NavigatorBase.cpp b/src/3rdparty/webkit/WebCore/page/NavigatorBase.cpp
index 5138b0f..5b0c5d4 100644
--- a/src/3rdparty/webkit/WebCore/page/NavigatorBase.cpp
+++ b/src/3rdparty/webkit/WebCore/page/NavigatorBase.cpp
@@ -29,6 +29,10 @@
#include "NetworkStateNotifier.h"
#include "PlatformString.h"
+#if PLATFORM(LINUX)
+#include "sys/utsname.h"
+#include <wtf/StdLibExtras.h>
+#endif
#ifndef WEBCORE_NAVIGATOR_PLATFORM
#if PLATFORM(MAC) && (PLATFORM(PPC) || PLATFORM(PPC64))
@@ -37,6 +41,8 @@
#define WEBCORE_NAVIGATOR_PLATFORM "MacIntel"
#elif PLATFORM(WIN_OS)
#define WEBCORE_NAVIGATOR_PLATFORM "Win32"
+#elif PLATFORM(SYMBIAN)
+#define WEBCORE_NAVIGATOR_PLATFORM "Symbian"
#else
#define WEBCORE_NAVIGATOR_PLATFORM ""
#endif
@@ -79,7 +85,15 @@ String NavigatorBase::appVersion() const
String NavigatorBase::platform() const
{
+#if PLATFORM(LINUX)
+ if (String("") != WEBCORE_NAVIGATOR_PLATFORM)
+ return WEBCORE_NAVIGATOR_PLATFORM;
+ struct utsname osname;
+ DEFINE_STATIC_LOCAL(String, platformName, (uname(&osname) >= 0 ? String(osname.sysname) + String(" ") + String(osname.machine) : ""));
+ return platformName;
+#else
return WEBCORE_NAVIGATOR_PLATFORM;
+#endif
}
String NavigatorBase::appCodeName() const
diff --git a/src/3rdparty/webkit/WebCore/page/Page.cpp b/src/3rdparty/webkit/WebCore/page/Page.cpp
index 6494707..32c60c6 100644
--- a/src/3rdparty/webkit/WebCore/page/Page.cpp
+++ b/src/3rdparty/webkit/WebCore/page/Page.cpp
@@ -100,7 +100,7 @@ Page::Page(ChromeClient* chromeClient, ContextMenuClient* contextMenuClient, Edi
, m_dragController(new DragController(this, dragClient))
, m_focusController(new FocusController(this))
, m_contextMenuController(new ContextMenuController(this, contextMenuClient))
- , m_inspectorController(InspectorController::create(this, inspectorClient))
+ , m_inspectorController(new InspectorController(this, inspectorClient))
, m_settings(new Settings(this))
, m_progress(new ProgressTracker)
, m_backForwardList(BackForwardList::create(this))
diff --git a/src/3rdparty/webkit/WebCore/page/Page.h b/src/3rdparty/webkit/WebCore/page/Page.h
index b5d6f4b..cc3d25d 100644
--- a/src/3rdparty/webkit/WebCore/page/Page.h
+++ b/src/3rdparty/webkit/WebCore/page/Page.h
@@ -73,7 +73,7 @@ namespace WebCore {
enum FindDirection { FindDirectionForward, FindDirectionBackward };
- class Page : Noncopyable {
+ class Page : public Noncopyable {
public:
static void setNeedsReapplyStyles();
@@ -209,7 +209,7 @@ namespace WebCore {
OwnPtr<DragController> m_dragController;
OwnPtr<FocusController> m_focusController;
OwnPtr<ContextMenuController> m_contextMenuController;
- RefPtr<InspectorController> m_inspectorController;
+ OwnPtr<InspectorController> m_inspectorController;
OwnPtr<Settings> m_settings;
OwnPtr<ProgressTracker> m_progress;
diff --git a/src/3rdparty/webkit/WebCore/page/PageGroup.h b/src/3rdparty/webkit/WebCore/page/PageGroup.h
index cbde1c3..f92c2e6 100644
--- a/src/3rdparty/webkit/WebCore/page/PageGroup.h
+++ b/src/3rdparty/webkit/WebCore/page/PageGroup.h
@@ -37,7 +37,7 @@ namespace WebCore {
class Page;
class StorageNamespace;
- class PageGroup : Noncopyable {
+ class PageGroup : public Noncopyable {
public:
PageGroup(const String& name);
PageGroup(Page*);
diff --git a/src/3rdparty/webkit/WebCore/page/PageGroupLoadDeferrer.h b/src/3rdparty/webkit/WebCore/page/PageGroupLoadDeferrer.h
index 1bdb45c..d443ebd 100644
--- a/src/3rdparty/webkit/WebCore/page/PageGroupLoadDeferrer.h
+++ b/src/3rdparty/webkit/WebCore/page/PageGroupLoadDeferrer.h
@@ -28,7 +28,7 @@ namespace WebCore {
class Frame;
class Page;
- class PageGroupLoadDeferrer : Noncopyable {
+ class PageGroupLoadDeferrer : public Noncopyable {
public:
PageGroupLoadDeferrer(Page*, bool deferSelf);
~PageGroupLoadDeferrer();
diff --git a/src/3rdparty/webkit/WebCore/page/Settings.cpp b/src/3rdparty/webkit/WebCore/page/Settings.cpp
index 7a15163..133dd9a 100644
--- a/src/3rdparty/webkit/WebCore/page/Settings.cpp
+++ b/src/3rdparty/webkit/WebCore/page/Settings.cpp
@@ -64,6 +64,7 @@ Settings::Settings(Page* page)
, m_arePluginsEnabled(false)
, m_databasesEnabled(false)
, m_localStorageEnabled(false)
+ , m_sessionStorageEnabled(true)
, m_isJavaScriptEnabled(false)
, m_isWebSecurityEnabled(true)
, m_allowUniversalAccessFromFileURLs(true)
@@ -75,6 +76,7 @@ Settings::Settings(Page* page)
#endif
, m_needsAdobeFrameReloadingQuirk(false)
, m_needsKeyboardEventDisambiguationQuirks(false)
+ , m_treatsAnyTextCSSLinkAsStylesheet(false)
, m_needsLeopardMailQuirks(false)
, m_needsTigerMailQuirks(false)
, m_isDOMPasteAllowed(false)
@@ -87,6 +89,7 @@ Settings::Settings(Page* page)
, m_needsSiteSpecificQuirks(false)
, m_fontRenderingMode(0)
, m_webArchiveDebugModeEnabled(false)
+ , m_localFileContentSniffingEnabled(false)
, m_inApplicationChromeMode(false)
, m_offlineWebApplicationCacheEnabled(false)
, m_shouldPaintCustomScrollbars(false)
@@ -242,6 +245,11 @@ void Settings::setLocalStorageEnabled(bool localStorageEnabled)
m_localStorageEnabled = localStorageEnabled;
}
+void Settings::setSessionStorageEnabled(bool sessionStorageEnabled)
+{
+ m_sessionStorageEnabled = sessionStorageEnabled;
+}
+
void Settings::setPrivateBrowsingEnabled(bool privateBrowsingEnabled)
{
m_privateBrowsingEnabled = privateBrowsingEnabled;
@@ -314,6 +322,11 @@ void Settings::setNeedsKeyboardEventDisambiguationQuirks(bool needsQuirks)
m_needsKeyboardEventDisambiguationQuirks = needsQuirks;
}
+void Settings::setTreatsAnyTextCSSLinkAsStylesheet(bool treatsAnyTextCSSLinkAsStylesheet)
+{
+ m_treatsAnyTextCSSLinkAsStylesheet = treatsAnyTextCSSLinkAsStylesheet;
+}
+
void Settings::setNeedsLeopardMailQuirks(bool needsQuirks)
{
m_needsLeopardMailQuirks = needsQuirks;
@@ -400,6 +413,11 @@ void Settings::setWebArchiveDebugModeEnabled(bool enabled)
m_webArchiveDebugModeEnabled = enabled;
}
+void Settings::setLocalFileContentSniffingEnabled(bool enabled)
+{
+ m_localFileContentSniffingEnabled = enabled;
+}
+
void Settings::setLocalStorageDatabasePath(const String& path)
{
m_localStorageDatabasePath = path;
diff --git a/src/3rdparty/webkit/WebCore/page/Settings.h b/src/3rdparty/webkit/WebCore/page/Settings.h
index 4b9b40a..544d0d5 100644
--- a/src/3rdparty/webkit/WebCore/page/Settings.h
+++ b/src/3rdparty/webkit/WebCore/page/Settings.h
@@ -125,6 +125,9 @@ namespace WebCore {
void setLocalStorageEnabled(bool);
bool localStorageEnabled() const { return m_localStorageEnabled; }
+ void setSessionStorageEnabled(bool);
+ bool sessionStorageEnabled() const { return m_sessionStorageEnabled; }
+
void setPrivateBrowsingEnabled(bool);
bool privateBrowsingEnabled() const { return m_privateBrowsingEnabled; }
@@ -163,6 +166,9 @@ namespace WebCore {
void setNeedsKeyboardEventDisambiguationQuirks(bool);
bool needsKeyboardEventDisambiguationQuirks() const { return m_needsKeyboardEventDisambiguationQuirks; }
+ void setTreatsAnyTextCSSLinkAsStylesheet(bool);
+ bool treatsAnyTextCSSLinkAsStylesheet() const { return m_treatsAnyTextCSSLinkAsStylesheet; }
+
void setNeedsLeopardMailQuirks(bool);
bool needsLeopardMailQuirks() const { return m_needsLeopardMailQuirks; }
@@ -202,6 +208,9 @@ namespace WebCore {
void setWebArchiveDebugModeEnabled(bool);
bool webArchiveDebugModeEnabled() const { return m_webArchiveDebugModeEnabled; }
+ void setLocalFileContentSniffingEnabled(bool);
+ bool localFileContentSniffingEnabled() const { return m_localFileContentSniffingEnabled; }
+
void setLocalStorageDatabasePath(const String&);
const String& localStorageDatabasePath() const { return m_localStorageDatabasePath; }
@@ -271,6 +280,7 @@ namespace WebCore {
bool m_arePluginsEnabled : 1;
bool m_databasesEnabled : 1;
bool m_localStorageEnabled : 1;
+ bool m_sessionStorageEnabled : 1;
bool m_isJavaScriptEnabled : 1;
bool m_isWebSecurityEnabled : 1;
bool m_allowUniversalAccessFromFileURLs: 1;
@@ -282,6 +292,7 @@ namespace WebCore {
#endif
bool m_needsAdobeFrameReloadingQuirk : 1;
bool m_needsKeyboardEventDisambiguationQuirks : 1;
+ bool m_treatsAnyTextCSSLinkAsStylesheet : 1;
bool m_needsLeopardMailQuirks : 1;
bool m_needsTigerMailQuirks : 1;
bool m_isDOMPasteAllowed : 1;
@@ -294,6 +305,7 @@ namespace WebCore {
bool m_needsSiteSpecificQuirks : 1;
unsigned m_fontRenderingMode : 1;
bool m_webArchiveDebugModeEnabled : 1;
+ bool m_localFileContentSniffingEnabled : 1;
bool m_inApplicationChromeMode : 1;
bool m_offlineWebApplicationCacheEnabled : 1;
bool m_shouldPaintCustomScrollbars : 1;
diff --git a/src/3rdparty/webkit/WebCore/page/XSSAuditor.cpp b/src/3rdparty/webkit/WebCore/page/XSSAuditor.cpp
index f8a2f40..70b691b 100644
--- a/src/3rdparty/webkit/WebCore/page/XSSAuditor.cpp
+++ b/src/3rdparty/webkit/WebCore/page/XSSAuditor.cpp
@@ -28,6 +28,7 @@
#include "XSSAuditor.h"
#include <wtf/StdLibExtras.h>
+#include <wtf/Vector.h>
#include "Console.h"
#include "CString.h"
@@ -35,6 +36,7 @@
#include "DOMWindow.h"
#include "Frame.h"
#include "KURL.h"
+#include "PreloadScanner.h"
#include "ResourceResponseBase.h"
#include "ScriptSourceCode.h"
#include "Settings.h"
@@ -44,6 +46,16 @@ using namespace WTF;
namespace WebCore {
+static bool isNonCanonicalCharacter(UChar c)
+{
+ // Note, we don't remove backslashes like PHP stripslashes(), which among other things converts "\\0" to the \0 character.
+ // Instead, we remove backslashes and zeros (since the string "\\0" =(remove backslashes)=> "0"). However, this has the
+ // adverse effect that we remove any legitimate zeros from a string.
+ //
+ // For instance: new String("http://localhost:8000") => new String("http://localhost:8").
+ return (c == '\\' || c == '0' || c < ' ' || c == 127);
+}
+
XSSAuditor::XSSAuditor(Frame* frame)
: m_frame(frame)
{
@@ -59,14 +71,27 @@ bool XSSAuditor::isEnabled() const
return (settings && settings->xssAuditorEnabled());
}
-bool XSSAuditor::canEvaluate(const String& sourceCode) const
+bool XSSAuditor::canEvaluate(const String& code) const
{
if (!isEnabled())
return true;
- if (findInRequest(sourceCode)) {
+ if (findInRequest(code, false)) {
DEFINE_STATIC_LOCAL(String, consoleMessage, ("Refused to execute a JavaScript script. Source code of script found within request.\n"));
- m_frame->domWindow()->console()->addMessage(JSMessageSource, ErrorMessageLevel, consoleMessage, 1, String());
+ m_frame->domWindow()->console()->addMessage(JSMessageSource, LogMessageType, ErrorMessageLevel, consoleMessage, 1, String());
+ return false;
+ }
+ return true;
+}
+
+bool XSSAuditor::canEvaluateJavaScriptURL(const String& code) const
+{
+ if (!isEnabled())
+ return true;
+
+ if (findInRequest(code)) {
+ DEFINE_STATIC_LOCAL(String, consoleMessage, ("Refused to execute a JavaScript script. Source code of script found within request.\n"));
+ m_frame->domWindow()->console()->addMessage(JSMessageSource, LogMessageType, ErrorMessageLevel, consoleMessage, 1, String());
return false;
}
return true;
@@ -77,17 +102,22 @@ bool XSSAuditor::canCreateInlineEventListener(const String&, const String& code)
if (!isEnabled())
return true;
- return canEvaluate(code);
+ if (findInRequest(code)) {
+ DEFINE_STATIC_LOCAL(String, consoleMessage, ("Refused to execute a JavaScript script. Source code of script found within request.\n"));
+ m_frame->domWindow()->console()->addMessage(JSMessageSource, LogMessageType, ErrorMessageLevel, consoleMessage, 1, String());
+ return false;
+ }
+ return true;
}
-bool XSSAuditor::canLoadExternalScriptFromSrc(const String& url) const
+bool XSSAuditor::canLoadExternalScriptFromSrc(const String& context, const String& url) const
{
if (!isEnabled())
return true;
- if (findInRequest(url)) {
+ if (findInRequest(context + url)) {
DEFINE_STATIC_LOCAL(String, consoleMessage, ("Refused to execute a JavaScript script. Source code of script found within request.\n"));
- m_frame->domWindow()->console()->addMessage(JSMessageSource, ErrorMessageLevel, consoleMessage, 1, String());
+ m_frame->domWindow()->console()->addMessage(JSMessageSource, LogMessageType, ErrorMessageLevel, consoleMessage, 1, String());
return false;
}
return true;
@@ -100,53 +130,119 @@ bool XSSAuditor::canLoadObject(const String& url) const
if (findInRequest(url)) {
DEFINE_STATIC_LOCAL(String, consoleMessage, ("Refused to execute a JavaScript script. Source code of script found within request"));
- m_frame->domWindow()->console()->addMessage(OtherMessageSource, ErrorMessageLevel, consoleMessage, 1, String());
+ m_frame->domWindow()->console()->addMessage(JSMessageSource, LogMessageType, ErrorMessageLevel, consoleMessage, 1, String());
+ return false;
+ }
+ return true;
+}
+
+bool XSSAuditor::canSetBaseElementURL(const String& url) const
+{
+ if (!isEnabled())
+ return true;
+
+ KURL baseElementURL(m_frame->document()->url(), url);
+ if (m_frame->document()->url().host() != baseElementURL.host() && findInRequest(url)) {
+ DEFINE_STATIC_LOCAL(String, consoleMessage, ("Refused to execute a JavaScript script. Source code of script found within request"));
+ m_frame->domWindow()->console()->addMessage(JSMessageSource, LogMessageType, ErrorMessageLevel, consoleMessage, 1, String());
return false;
}
return true;
}
-String XSSAuditor::decodeURL(const String& str, const TextEncoding& encoding, bool allowControlCharacters)
+String XSSAuditor::canonicalize(const String& string)
+{
+ String result = decodeHTMLEntities(string);
+ return result.removeCharacters(&isNonCanonicalCharacter);
+}
+
+String XSSAuditor::decodeURL(const String& string, const TextEncoding& encoding, bool decodeHTMLentities)
{
String result;
- String url = str;
+ String url = string;
url.replace('+', ' ');
result = decodeURLEscapeSequences(url);
- if (!allowControlCharacters)
- result.removeCharacters(&isControlCharacter);
- result = encoding.decode(result.utf8().data(), result.length());
- if (!allowControlCharacters)
- result.removeCharacters(&isControlCharacter);
+ String decodedResult = encoding.decode(result.utf8().data(), result.length());
+ if (!decodedResult.isEmpty())
+ result = decodedResult;
+ if (decodeHTMLentities)
+ result = decodeHTMLEntities(result);
return result;
}
-bool XSSAuditor::findInRequest(const String& string) const
+String XSSAuditor::decodeHTMLEntities(const String& string, bool leaveUndecodableHTMLEntitiesUntouched)
+{
+ SegmentedString source(string);
+ SegmentedString sourceShadow;
+ Vector<UChar> result;
+
+ while (!source.isEmpty()) {
+ UChar cc = *source;
+ source.advance();
+
+ if (cc != '&') {
+ result.append(cc);
+ continue;
+ }
+
+ if (leaveUndecodableHTMLEntitiesUntouched)
+ sourceShadow = source;
+ bool notEnoughCharacters = false;
+ unsigned entity = PreloadScanner::consumeEntity(source, notEnoughCharacters);
+ // We ignore notEnoughCharacters because we might as well use this loop
+ // to copy the remaining characters into |result|.
+
+ if (entity > 0xFFFF) {
+ result.append(U16_LEAD(entity));
+ result.append(U16_TRAIL(entity));
+ } else if (entity && (!leaveUndecodableHTMLEntitiesUntouched || entity != 0xFFFD)){
+ result.append(entity);
+ } else {
+ result.append('&');
+ if (leaveUndecodableHTMLEntitiesUntouched)
+ source = sourceShadow;
+ }
+ }
+
+ return String::adopt(result);
+}
+
+bool XSSAuditor::findInRequest(const String& string, bool decodeHTMLentities) const
{
bool result = false;
Frame* parentFrame = m_frame->tree()->parent();
if (parentFrame && m_frame->document()->url() == blankURL())
- result = findInRequest(parentFrame, string);
+ result = findInRequest(parentFrame, string, decodeHTMLentities);
if (!result)
- result = findInRequest(m_frame, string);
+ result = findInRequest(m_frame, string, decodeHTMLentities);
return result;
}
-bool XSSAuditor::findInRequest(Frame* frame, const String& string) const
+bool XSSAuditor::findInRequest(Frame* frame, const String& string, bool decodeHTMLentities) const
{
ASSERT(frame->document());
String pageURL = frame->document()->url().string();
+ if (!frame->document()->decoder()) {
+ // Note, JavaScript URLs do not have a charset.
+ return false;
+ }
+
if (protocolIs(pageURL, "data"))
return false;
if (string.isEmpty())
return false;
+ String canonicalizedString = canonicalize(string);
+ if (canonicalizedString.isEmpty())
+ return false;
+
if (string.length() < pageURL.length()) {
// The string can actually fit inside the pageURL.
- String decodedPageURL = decodeURL(pageURL, frame->document()->decoder()->encoding());
- if (decodedPageURL.find(string, 0, false) != -1)
+ String decodedPageURL = canonicalize(decodeURL(pageURL, frame->document()->decoder()->encoding(), decodeHTMLentities));
+ if (decodedPageURL.find(canonicalizedString, 0, false) != -1)
return true; // We've found the smoking gun.
}
@@ -158,8 +254,8 @@ bool XSSAuditor::findInRequest(Frame* frame, const String& string) const
// the url-encoded POST data because the length of the url-decoded
// code is less than or equal to the length of the url-encoded
// string.
- String decodedFormData = decodeURL(formData, frame->document()->decoder()->encoding());
- if (decodedFormData.find(string, 0, false) != -1)
+ String decodedFormData = canonicalize(decodeURL(formData, frame->document()->decoder()->encoding(), decodeHTMLentities));
+ if (decodedFormData.find(canonicalizedString, 0, false) != -1)
return true; // We found the string in the POST data.
}
}
diff --git a/src/3rdparty/webkit/WebCore/page/XSSAuditor.h b/src/3rdparty/webkit/WebCore/page/XSSAuditor.h
index 7974d1c..26f10ab 100644
--- a/src/3rdparty/webkit/WebCore/page/XSSAuditor.h
+++ b/src/3rdparty/webkit/WebCore/page/XSSAuditor.h
@@ -72,7 +72,11 @@ namespace WebCore {
// Determines whether the script should be allowed or denied execution
// based on the content of any user-submitted data.
- bool canEvaluate(const String& sourceCode) const;
+ bool canEvaluate(const String& code) const;
+
+ // Determines whether the JavaScript URL should be allowed or denied execution
+ // based on the content of any user-submitted data.
+ bool canEvaluateJavaScriptURL(const String& code) const;
// Determines whether the event listener should be created based on the
// content of any user-submitted data.
@@ -80,7 +84,7 @@ namespace WebCore {
// Determines whether the external script should be loaded based on the
// content of any user-submitted data.
- bool canLoadExternalScriptFromSrc(const String& url) const;
+ bool canLoadExternalScriptFromSrc(const String& context, const String& url) const;
// Determines whether object should be loaded based on the content of
// any user-submitted data.
@@ -88,12 +92,22 @@ namespace WebCore {
// This method is called by FrameLoader::requestObject.
bool canLoadObject(const String& url) const;
+ // Determines whether the base URL should be changed based on the content
+ // of any user-submitted data.
+ //
+ // This method is called by HTMLBaseElement::process.
+ bool canSetBaseElementURL(const String& url) const;
+
private:
- static String decodeURL(const String& url, const TextEncoding& encoding = UTF8Encoding(), bool allowControlCharacters = false);
+ static String canonicalize(const String&);
+
+ static String decodeURL(const String& url, const TextEncoding& encoding = UTF8Encoding(), bool decodeHTMLentities = true);
+
+ static String decodeHTMLEntities(const String&, bool leaveUndecodableHTMLEntitiesUntouched = true);
- bool findInRequest(const String&) const;
+ bool findInRequest(const String&, bool decodeHTMLentities = true) const;
- bool findInRequest(Frame*, const String&) const;
+ bool findInRequest(Frame*, const String&, bool decodeHTMLentities = true) const;
// The frame to audit.
Frame* m_frame;
diff --git a/src/3rdparty/webkit/WebCore/page/android/DragControllerAndroid.cpp b/src/3rdparty/webkit/WebCore/page/android/DragControllerAndroid.cpp
index 94c1cbb..19d02c6 100644
--- a/src/3rdparty/webkit/WebCore/page/android/DragControllerAndroid.cpp
+++ b/src/3rdparty/webkit/WebCore/page/android/DragControllerAndroid.cpp
@@ -44,7 +44,7 @@ DragOperation DragController::dragOperation(DragData* dragData)
if (dragData->containsURL())
return DragOperationCopy;
- return DragOperationNone;
+ return DragOperationNone;
}
const float DragController::DragImageAlpha = 1.0f;
diff --git a/src/3rdparty/webkit/WebCore/page/android/EventHandlerAndroid.cpp b/src/3rdparty/webkit/WebCore/page/android/EventHandlerAndroid.cpp
index 2464429..c6bce4f 100644
--- a/src/3rdparty/webkit/WebCore/page/android/EventHandlerAndroid.cpp
+++ b/src/3rdparty/webkit/WebCore/page/android/EventHandlerAndroid.cpp
@@ -41,7 +41,7 @@ namespace WebCore {
unsigned EventHandler::s_accessKeyModifiers = PlatformKeyboardEvent::AltKey;
-bool EventHandler::tabsToAllControls(KeyboardEvent* ) const
+bool EventHandler::tabsToAllControls(KeyboardEvent*) const
{
return true;
}
@@ -75,7 +75,7 @@ bool EventHandler::passMouseDownEventToWidget(Widget* )
return false;
}
-bool EventHandler::eventActivatedView(const PlatformMouseEvent& ) const
+bool EventHandler::eventActivatedView(const PlatformMouseEvent&) const
{
notImplemented();
return false;
diff --git a/src/3rdparty/webkit/WebCore/page/animation/AnimationBase.cpp b/src/3rdparty/webkit/WebCore/page/animation/AnimationBase.cpp
index 7b8a189..dad763c 100644
--- a/src/3rdparty/webkit/WebCore/page/animation/AnimationBase.cpp
+++ b/src/3rdparty/webkit/WebCore/page/animation/AnimationBase.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2007 Apple Inc. All rights reserved.
+ * Copyright (C) 2007, 2008, 2009 Apple Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -113,11 +113,23 @@ static inline IntSize blendFunc(const AnimationBase* anim, const IntSize& from,
blendFunc(anim, from.height(), to.height(), progress));
}
+static inline ShadowStyle blendFunc(const AnimationBase* anim, ShadowStyle from, ShadowStyle to, double progress)
+{
+ if (from == to)
+ return to;
+
+ double fromVal = from == Normal ? 1 : 0;
+ double toVal = to == Normal ? 1 : 0;
+ double result = blendFunc(anim, fromVal, toVal, progress);
+ return result > 0 ? Normal : Inset;
+}
+
static inline ShadowData* blendFunc(const AnimationBase* anim, const ShadowData* from, const ShadowData* to, double progress)
{
ASSERT(from && to);
return new ShadowData(blendFunc(anim, from->x, to->x, progress), blendFunc(anim, from->y, to->y, progress),
- blendFunc(anim, from->blur, to->blur, progress), blendFunc(anim, from->color, to->color, progress));
+ blendFunc(anim, from->blur, to->blur, progress), blendFunc(anim, from->spread, to->spread, progress),
+ blendFunc(anim, from->style, to->style, progress), blendFunc(anim, from->color, to->color, progress));
}
static inline TransformOperations blendFunc(const AnimationBase* anim, const TransformOperations& from, const TransformOperations& to, double progress)
@@ -300,7 +312,7 @@ public:
{
ShadowData* shadowA = (a->*m_getter)();
ShadowData* shadowB = (b->*m_getter)();
- ShadowData defaultShadowData(0, 0, 0, Color::transparent);
+ ShadowData defaultShadowData(0, 0, 0, 0, Normal, Color::transparent);
if (!shadowA)
shadowA = &defaultShadowData;
@@ -473,7 +485,7 @@ static void ensurePropertyMap()
gPropertyWrappers->append(new PropertyWrapperMaybeInvalidColor(CSSPropertyOutlineColor, &RenderStyle::outlineColor, &RenderStyle::setOutlineColor));
// These are for shadows
- gPropertyWrappers->append(new PropertyWrapperShadow(CSSPropertyWebkitBoxShadow, &RenderStyle::boxShadow, &RenderStyle::setBoxShadow));
+ gPropertyWrappers->append(new PropertyWrapperShadow(CSSPropertyBoxShadow, &RenderStyle::boxShadow, &RenderStyle::setBoxShadow));
gPropertyWrappers->append(new PropertyWrapperShadow(CSSPropertyTextShadow, &RenderStyle::textShadow, &RenderStyle::setTextShadow));
#if ENABLE(SVG)
@@ -1041,7 +1053,7 @@ void AnimationBase::getTimeToNextEvent(double& time, bool& isLooping) const
double nextIterationTime = m_totalDuration;
if (m_totalDuration < 0 || elapsedDuration < m_totalDuration) {
- durationLeft = m_animation->duration() - fmod(elapsedDuration, m_animation->duration());
+ durationLeft = m_animation->duration() > 0 ? (m_animation->duration() - fmod(elapsedDuration, m_animation->duration())) : 0;
nextIterationTime = elapsedDuration + durationLeft;
}
diff --git a/src/3rdparty/webkit/WebCore/page/animation/AnimationController.cpp b/src/3rdparty/webkit/WebCore/page/animation/AnimationController.cpp
index 58a1f5b..ed241e1 100644
--- a/src/3rdparty/webkit/WebCore/page/animation/AnimationController.cpp
+++ b/src/3rdparty/webkit/WebCore/page/animation/AnimationController.cpp
@@ -136,9 +136,9 @@ void AnimationControllerPrivate::updateStyleIfNeededDispatcherFired(Timer<Animat
Vector<EventToDispatch>::const_iterator eventsToDispatchEnd = m_eventsToDispatch.end();
for (Vector<EventToDispatch>::const_iterator it = m_eventsToDispatch.begin(); it != eventsToDispatchEnd; ++it) {
if (it->eventType == eventNames().webkitTransitionEndEvent)
- it->element->dispatchWebKitTransitionEvent(it->eventType,it->name, it->elapsedTime);
+ it->element->dispatchWebKitTransitionEvent(it->eventType, it->name, it->elapsedTime);
else
- it->element->dispatchWebKitAnimationEvent(it->eventType,it->name, it->elapsedTime);
+ it->element->dispatchWebKitAnimationEvent(it->eventType, it->name, it->elapsedTime);
}
m_eventsToDispatch.clear();
@@ -152,20 +152,6 @@ void AnimationControllerPrivate::updateStyleIfNeededDispatcherFired(Timer<Animat
if (m_frame)
m_frame->document()->updateStyleIfNeeded();
-
- // We can now safely remove any animations or transitions that are finished.
- // We can't remove them any earlier because we might get a false restart of
- // a transition. This can happen because we have not yet set the final property
- // value until we call the rendering dispatcher. So this can make the current
- // style slightly different from the desired final style (because our last
- // animation step was, say 0.9999 or something). And we need to remove them
- // here because if there are no more animations running we'll never get back
- // into the animation code to clean them up.
- RenderObjectAnimationMap::const_iterator animationsEnd = m_compositeAnimations.end();
- for (RenderObjectAnimationMap::const_iterator it = m_compositeAnimations.begin(); it != animationsEnd; ++it) {
- CompositeAnimation* compAnim = it->second.get();
- compAnim->cleanupFinishedAnimations(); // will not modify m_compositeAnimations, so OK to call while iterating
- }
}
void AnimationControllerPrivate::startUpdateStyleIfNeededDispatcher()
diff --git a/src/3rdparty/webkit/WebCore/page/animation/CompositeAnimation.cpp b/src/3rdparty/webkit/WebCore/page/animation/CompositeAnimation.cpp
index b03dfe3..9481b8d 100644
--- a/src/3rdparty/webkit/WebCore/page/animation/CompositeAnimation.cpp
+++ b/src/3rdparty/webkit/WebCore/page/animation/CompositeAnimation.cpp
@@ -117,7 +117,10 @@ void CompositeAnimation::updateTransitions(RenderObject* renderer, RenderStyle*
bool equal = true;
if (implAnim) {
- implAnim->setActive(true);
+ // If we are post active don't bother setting the active flag. This will cause
+ // this animation to get removed at the end of this function.
+ if (!implAnim->postActive())
+ implAnim->setActive(true);
// This might be a transition that is just finishing. That would be the case
// if it were postActive. But we still need to check for equality because
@@ -183,52 +186,62 @@ void CompositeAnimation::updateKeyframeAnimations(RenderObject* renderer, Render
if (m_keyframeAnimations.isEmpty() && !targetStyle->hasAnimations())
return;
- // Nothing to do if the current and target animations are the same
- if (currentStyle && currentStyle->hasAnimations() && targetStyle->hasAnimations() && *(currentStyle->animations()) == *(targetStyle->animations()))
- return;
-
- // Mark all existing animations as no longer active
AnimationNameMap::const_iterator kfend = m_keyframeAnimations.end();
- for (AnimationNameMap::const_iterator it = m_keyframeAnimations.begin(); it != kfend; ++it)
- it->second->setIndex(-1);
-
- // Toss the animation order map
- m_keyframeAnimationOrderMap.clear();
- // Now mark any still active animations as active and add any new animations
- if (targetStyle->animations()) {
- int numAnims = targetStyle->animations()->size();
- for (int i = 0; i < numAnims; ++i) {
- const Animation* anim = targetStyle->animations()->animation(i);
- AtomicString animationName(anim->name());
-
- if (!anim->isValidAnimation())
- continue;
+ if (currentStyle && currentStyle->hasAnimations() && targetStyle->hasAnimations() && *(currentStyle->animations()) == *(targetStyle->animations())) {
+ // The current and target animations are the same so we just need to toss any
+ // animation which is finished (postActive).
+ for (AnimationNameMap::const_iterator it = m_keyframeAnimations.begin(); it != kfend; ++it) {
+ if (it->second->postActive())
+ it->second->setIndex(-1);
+ }
+ } else {
+ // Mark all existing animations as no longer active.
+ for (AnimationNameMap::const_iterator it = m_keyframeAnimations.begin(); it != kfend; ++it)
+ it->second->setIndex(-1);
- // See if there is a current animation for this name
- RefPtr<KeyframeAnimation> keyframeAnim = m_keyframeAnimations.get(animationName.impl());
+ // Toss the animation order map.
+ m_keyframeAnimationOrderMap.clear();
+
+ // Now mark any still active animations as active and add any new animations.
+ if (targetStyle->animations()) {
+ int numAnims = targetStyle->animations()->size();
+ for (int i = 0; i < numAnims; ++i) {
+ const Animation* anim = targetStyle->animations()->animation(i);
+ AtomicString animationName(anim->name());
+
+ if (!anim->isValidAnimation())
+ continue;
+
+ // See if there is a current animation for this name.
+ RefPtr<KeyframeAnimation> keyframeAnim = m_keyframeAnimations.get(animationName.impl());
+
+ if (keyframeAnim) {
+ // If this animation is postActive, skip it so it gets removed at the end of this function.
+ if (keyframeAnim->postActive())
+ continue;
+
+ // This one is still active.
+
+ // Animations match, but play states may differ. Update if needed.
+ keyframeAnim->updatePlayState(anim->playState() == AnimPlayStatePlaying);
+
+ // Set the saved animation to this new one, just in case the play state has changed.
+ keyframeAnim->setAnimation(anim);
+ keyframeAnim->setIndex(i);
+ } else if ((anim->duration() || anim->delay()) && anim->iterationCount()) {
+ keyframeAnim = KeyframeAnimation::create(const_cast<Animation*>(anim), renderer, i, this, currentStyle ? currentStyle : targetStyle);
+ m_keyframeAnimations.set(keyframeAnim->name().impl(), keyframeAnim);
+ }
- if (keyframeAnim) {
- // There is one so it is still active
-
- // Animations match, but play states may differ. update if needed
- keyframeAnim->updatePlayState(anim->playState() == AnimPlayStatePlaying);
-
- // Set the saved animation to this new one, just in case the play state has changed
- keyframeAnim->setAnimation(anim);
- keyframeAnim->setIndex(i);
- } else if ((anim->duration() || anim->delay()) && anim->iterationCount()) {
- keyframeAnim = KeyframeAnimation::create(const_cast<Animation*>(anim), renderer, i, this, currentStyle ? currentStyle : targetStyle);
- m_keyframeAnimations.set(keyframeAnim->name().impl(), keyframeAnim);
+ // Add this to the animation order map.
+ if (keyframeAnim)
+ m_keyframeAnimationOrderMap.append(keyframeAnim->name().impl());
}
-
- // Add this to the animation order map
- if (keyframeAnim)
- m_keyframeAnimationOrderMap.append(keyframeAnim->name().impl());
}
}
-
- // Make a list of animations to be removed
+
+ // Make a list of animations to be removed.
Vector<AtomicStringImpl*> animsToBeRemoved;
kfend = m_keyframeAnimations.end();
for (AnimationNameMap::const_iterator it = m_keyframeAnimations.begin(); it != kfend; ++it) {
@@ -237,7 +250,7 @@ void CompositeAnimation::updateKeyframeAnimations(RenderObject* renderer, Render
animsToBeRemoved.append(keyframeAnim->name().impl());
}
- // Now remove the animations from the list
+ // Now remove the animations from the list.
for (size_t j = 0; j < animsToBeRemoved.size(); ++j)
m_keyframeAnimations.remove(animsToBeRemoved[j]);
}
@@ -246,11 +259,9 @@ PassRefPtr<RenderStyle> CompositeAnimation::animate(RenderObject* renderer, Rend
{
RefPtr<RenderStyle> resultStyle;
- // Update animations first so we can see if any transitions are overridden
- updateKeyframeAnimations(renderer, currentStyle, targetStyle);
-
- // We don't do any transitions if we don't have a currentStyle (on startup)
+ // We don't do any transitions if we don't have a currentStyle (on startup).
updateTransitions(renderer, currentStyle, targetStyle);
+ updateKeyframeAnimations(renderer, currentStyle, targetStyle);
if (currentStyle) {
// Now that we have transition objects ready, let them know about the new goal state. We want them
@@ -272,8 +283,6 @@ PassRefPtr<RenderStyle> CompositeAnimation::animate(RenderObject* renderer, Rend
keyframeAnim->animate(this, renderer, currentStyle, targetStyle, resultStyle);
}
- cleanupFinishedAnimations();
-
return resultStyle ? resultStyle.release() : targetStyle;
}
@@ -364,50 +373,6 @@ PassRefPtr<KeyframeAnimation> CompositeAnimation::getAnimationForProperty(int pr
return retval;
}
-void CompositeAnimation::cleanupFinishedAnimations()
-{
- if (isSuspended())
- return;
-
- // Make a list of transitions to be deleted
- Vector<int> finishedTransitions;
- if (!m_transitions.isEmpty()) {
- CSSPropertyTransitionsMap::const_iterator transitionsEnd = m_transitions.end();
-
- for (CSSPropertyTransitionsMap::const_iterator it = m_transitions.begin(); it != transitionsEnd; ++it) {
- ImplicitAnimation* anim = it->second.get();
- if (!anim)
- continue;
- if (anim->postActive())
- finishedTransitions.append(anim->animatingProperty());
- }
-
- // Delete them
- size_t finishedTransitionCount = finishedTransitions.size();
- for (size_t i = 0; i < finishedTransitionCount; ++i)
- m_transitions.remove(finishedTransitions[i]);
- }
-
- // Make a list of animations to be deleted
- Vector<AtomicStringImpl*> finishedAnimations;
- if (!m_keyframeAnimations.isEmpty()) {
- AnimationNameMap::const_iterator animationsEnd = m_keyframeAnimations.end();
-
- for (AnimationNameMap::const_iterator it = m_keyframeAnimations.begin(); it != animationsEnd; ++it) {
- KeyframeAnimation* anim = it->second.get();
- if (!anim)
- continue;
- if (anim->postActive())
- finishedAnimations.append(anim->name().impl());
- }
-
- // Delete them
- size_t finishedAnimationCount = finishedAnimations.size();
- for (size_t i = 0; i < finishedAnimationCount; ++i)
- m_keyframeAnimations.remove(finishedAnimations[i]);
- }
-}
-
void CompositeAnimation::suspendAnimations()
{
if (m_isSuspended)
diff --git a/src/3rdparty/webkit/WebCore/page/animation/CompositeAnimation.h b/src/3rdparty/webkit/WebCore/page/animation/CompositeAnimation.h
index 739cfdc..b7db442 100644
--- a/src/3rdparty/webkit/WebCore/page/animation/CompositeAnimation.h
+++ b/src/3rdparty/webkit/WebCore/page/animation/CompositeAnimation.h
@@ -74,8 +74,6 @@ public:
PassRefPtr<KeyframeAnimation> getAnimationForProperty(int property) const;
- void cleanupFinishedAnimations();
-
void overrideImplicitAnimations(int property);
void resumeOverriddenImplicitAnimations(int property);
diff --git a/src/3rdparty/webkit/WebCore/page/animation/ImplicitAnimation.cpp b/src/3rdparty/webkit/WebCore/page/animation/ImplicitAnimation.cpp
index 8edcd5a..8e6349d 100644
--- a/src/3rdparty/webkit/WebCore/page/animation/ImplicitAnimation.cpp
+++ b/src/3rdparty/webkit/WebCore/page/animation/ImplicitAnimation.cpp
@@ -212,6 +212,10 @@ bool ImplicitAnimation::affectsProperty(int property) const
bool ImplicitAnimation::isTargetPropertyEqual(int prop, const RenderStyle* targetStyle)
{
+ // We can get here for a transition that has not started yet. This would make m_toStyle unset and null.
+ // So we check that here (see <https://bugs.webkit.org/show_bug.cgi?id=26706>)
+ if (!m_toStyle)
+ return false;
return propertiesEqual(prop, m_toStyle.get(), targetStyle);
}
diff --git a/src/3rdparty/webkit/WebCore/page/qt/DragControllerQt.cpp b/src/3rdparty/webkit/WebCore/page/qt/DragControllerQt.cpp
index 1fe56b4..e6c7682 100644
--- a/src/3rdparty/webkit/WebCore/page/qt/DragControllerQt.cpp
+++ b/src/3rdparty/webkit/WebCore/page/qt/DragControllerQt.cpp
@@ -31,8 +31,7 @@
#include "FrameView.h"
#include "Page.h"
-namespace WebCore
-{
+namespace WebCore {
// FIXME: These values are straight out of DragControllerMac, so probably have
// little correlation with Qt standards...
diff --git a/src/3rdparty/webkit/WebCore/page/win/DragControllerWin.cpp b/src/3rdparty/webkit/WebCore/page/win/DragControllerWin.cpp
index dca8ea2..f0404ff 100644
--- a/src/3rdparty/webkit/WebCore/page/win/DragControllerWin.cpp
+++ b/src/3rdparty/webkit/WebCore/page/win/DragControllerWin.cpp
@@ -50,7 +50,8 @@ DragOperation DragController::dragOperation(DragData* dragData)
return dragData->containsURL() && !m_didInitiateDrag ? DragOperationCopy : DragOperationNone;
}
-bool DragController::isCopyKeyDown() {
+bool DragController::isCopyKeyDown()
+{
return ::GetAsyncKeyState(VK_CONTROL);
}
diff --git a/src/3rdparty/webkit/WebCore/page/win/FrameWin.h b/src/3rdparty/webkit/WebCore/page/win/FrameWin.h
index 405c7b2..2924291 100644
--- a/src/3rdparty/webkit/WebCore/page/win/FrameWin.h
+++ b/src/3rdparty/webkit/WebCore/page/win/FrameWin.h
@@ -34,7 +34,7 @@ typedef struct HBITMAP__* HBITMAP;
namespace WebCore {
HBITMAP imageFromSelection(Frame* frame, bool forceWhiteText);
- void computePageRectsForFrame(Frame*, const IntRect& printRect, float headerHeight, float footerHeight, float userScaleFactor,Vector<IntRect>& pages, int& pageHeight);
+ void computePageRectsForFrame(Frame*, const IntRect& printRect, float headerHeight, float footerHeight, float userScaleFactor, Vector<IntRect>& pages, int& pageHeight);
}
diff --git a/src/3rdparty/webkit/WebCore/platform/AutodrainedPool.h b/src/3rdparty/webkit/WebCore/platform/AutodrainedPool.h
index 1cbbec6..d44ee1e 100644
--- a/src/3rdparty/webkit/WebCore/platform/AutodrainedPool.h
+++ b/src/3rdparty/webkit/WebCore/platform/AutodrainedPool.h
@@ -39,7 +39,7 @@ class NSAutoreleasePool;
namespace WebCore {
-class AutodrainedPool : Noncopyable {
+class AutodrainedPool : public Noncopyable {
public:
AutodrainedPool(int iterationLimit = 1);
~AutodrainedPool();
diff --git a/src/3rdparty/webkit/WebCore/platform/ContextMenu.h b/src/3rdparty/webkit/WebCore/platform/ContextMenu.h
index 75899ba..dc484b2 100644
--- a/src/3rdparty/webkit/WebCore/platform/ContextMenu.h
+++ b/src/3rdparty/webkit/WebCore/platform/ContextMenu.h
@@ -42,7 +42,7 @@ namespace WebCore {
class ContextMenuController;
- class ContextMenu : Noncopyable
+ class ContextMenu : public Noncopyable
{
public:
ContextMenu(const HitTestResult&);
diff --git a/src/3rdparty/webkit/WebCore/platform/CrossThreadCopier.h b/src/3rdparty/webkit/WebCore/platform/CrossThreadCopier.h
index e7b4c0e..d12d72d 100644
--- a/src/3rdparty/webkit/WebCore/platform/CrossThreadCopier.h
+++ b/src/3rdparty/webkit/WebCore/platform/CrossThreadCopier.h
@@ -32,6 +32,7 @@
#define CrossThreadCopier_h
#include <memory>
+#include <wtf/PassOwnPtr.h>
#include <wtf/PassRefPtr.h>
#include <wtf/RefPtr.h>
#include <wtf/Threading.h>
@@ -73,6 +74,14 @@ namespace WebCore {
}
};
+ template<typename T> struct CrossThreadCopierBase<false, PassOwnPtr<T> > {
+ typedef PassOwnPtr<T> Type;
+ static Type copy(const PassOwnPtr<T>& ownPtr)
+ {
+ return PassOwnPtr<T>(static_cast<T*>(ownPtr.release()));
+ }
+ };
+
template<typename T> struct CrossThreadCopierBase<false, std::auto_ptr<T> > {
typedef std::auto_ptr<T> Type;
static Type copy(const std::auto_ptr<T>& autoPtr)
diff --git a/src/3rdparty/webkit/WebCore/platform/DragImage.h b/src/3rdparty/webkit/WebCore/platform/DragImage.h
index 744e450..a9039db 100644
--- a/src/3rdparty/webkit/WebCore/platform/DragImage.h
+++ b/src/3rdparty/webkit/WebCore/platform/DragImage.h
@@ -46,6 +46,8 @@ typedef struct HBITMAP__* HBITMAP;
class wxDragImage;
#elif PLATFORM(CHROMIUM)
#include "DragImageRef.h"
+#elif PLATFORM(GTK)
+typedef struct _GdkPixbuf GdkPixbuf;
#endif
//We need to #define YOffset as it needs to be shared with WebKit
@@ -69,7 +71,7 @@ namespace WebCore {
#elif PLATFORM(WX)
typedef wxDragImage* DragImageRef;
#elif PLATFORM(GTK)
- typedef void* DragImageRef;
+ typedef GdkPixbuf* DragImageRef;
#endif
IntSize dragImageSize(DragImageRef);
diff --git a/src/3rdparty/webkit/WebCore/platform/EventLoop.h b/src/3rdparty/webkit/WebCore/platform/EventLoop.h
index 6687c23..b0507f7 100644
--- a/src/3rdparty/webkit/WebCore/platform/EventLoop.h
+++ b/src/3rdparty/webkit/WebCore/platform/EventLoop.h
@@ -30,7 +30,7 @@
namespace WebCore {
- class EventLoop : Noncopyable {
+ class EventLoop : public Noncopyable {
public:
EventLoop()
: m_ended(false)
diff --git a/src/3rdparty/webkit/WebCore/platform/FileSystem.h b/src/3rdparty/webkit/WebCore/platform/FileSystem.h
index 16afe8f..e23b6da 100644
--- a/src/3rdparty/webkit/WebCore/platform/FileSystem.h
+++ b/src/3rdparty/webkit/WebCore/platform/FileSystem.h
@@ -53,7 +53,7 @@
typedef const struct __CFData* CFDataRef;
-#if PLATFORM(WIN)
+#if PLATFORM(WIN_OS)
// These are to avoid including <winbase.h> in a header for Chromium
typedef void *HANDLE;
// Assuming STRICT
@@ -65,13 +65,15 @@ namespace WebCore {
class CString;
-#if PLATFORM(WIN)
-typedef HANDLE PlatformFileHandle;
-typedef HMODULE PlatformModule;
-// FIXME: -1 is INVALID_HANDLE_VALUE, defined in <winbase.h>. Chromium tries to
-// avoid using Windows headers in headers. We'd rather move this into the .cpp.
-const PlatformFileHandle invalidPlatformFileHandle = reinterpret_cast<HANDLE>(-1);
+#if PLATFORM(QT)
+typedef QFile* PlatformFileHandle;
+const PlatformFileHandle invalidPlatformFileHandle = 0;
+#if defined(Q_WS_MAC)
+typedef CFBundleRef PlatformModule;
+typedef unsigned PlatformModuleVersion;
+#elif defined(Q_OS_WIN)
+typedef HMODULE PlatformModule;
struct PlatformModuleVersion {
unsigned leastSig;
unsigned mostSig;
@@ -89,15 +91,18 @@ struct PlatformModuleVersion {
}
};
-#elif PLATFORM(QT)
-
-typedef QFile* PlatformFileHandle;
-const PlatformFileHandle invalidPlatformFileHandle = 0;
-#if defined(Q_WS_MAC)
-typedef CFBundleRef PlatformModule;
+#else
+typedef QLibrary* PlatformModule;
typedef unsigned PlatformModuleVersion;
-#elif defined(Q_OS_WIN)
+#endif
+
+#elif PLATFORM(WIN_OS)
+typedef HANDLE PlatformFileHandle;
typedef HMODULE PlatformModule;
+// FIXME: -1 is INVALID_HANDLE_VALUE, defined in <winbase.h>. Chromium tries to
+// avoid using Windows headers in headers. We'd rather move this into the .cpp.
+const PlatformFileHandle invalidPlatformFileHandle = reinterpret_cast<HANDLE>(-1);
+
struct PlatformModuleVersion {
unsigned leastSig;
unsigned mostSig;
@@ -116,11 +121,6 @@ struct PlatformModuleVersion {
};
#else
-typedef QLibrary* PlatformModule;
-typedef unsigned PlatformModuleVersion;
-#endif
-
-#else
typedef int PlatformFileHandle;
#if PLATFORM(GTK)
typedef GModule* PlatformModule;
diff --git a/src/3rdparty/webkit/WebCore/platform/HostWindow.h b/src/3rdparty/webkit/WebCore/platform/HostWindow.h
index 3e982e1..3a024de 100644
--- a/src/3rdparty/webkit/WebCore/platform/HostWindow.h
+++ b/src/3rdparty/webkit/WebCore/platform/HostWindow.h
@@ -31,7 +31,7 @@
namespace WebCore {
-class HostWindow : Noncopyable {
+class HostWindow : public Noncopyable {
public:
virtual ~HostWindow() { }
diff --git a/src/3rdparty/webkit/WebCore/platform/LocalizedStrings.h b/src/3rdparty/webkit/WebCore/platform/LocalizedStrings.h
index b6ec878..7c586d3 100644
--- a/src/3rdparty/webkit/WebCore/platform/LocalizedStrings.h
+++ b/src/3rdparty/webkit/WebCore/platform/LocalizedStrings.h
@@ -132,6 +132,9 @@ namespace WebCore {
#endif
String imageTitle(const String& filename, const IntSize& size);
+
+ String mediaElementLoadingStateText();
+ String mediaElementLiveBroadcastStateText();
}
#endif
diff --git a/src/3rdparty/webkit/WebCore/platform/Logging.cpp b/src/3rdparty/webkit/WebCore/platform/Logging.cpp
index e369356..f3c6f1c 100644
--- a/src/3rdparty/webkit/WebCore/platform/Logging.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/Logging.cpp
@@ -65,26 +65,65 @@ WTFLogChannel* getChannelFromName(const String& channelName)
if (!(channelName.length() >= 2))
return 0;
- if (channelName == String("BackForward")) return &LogBackForward;
- if (channelName == String("Editing")) return &LogEditing;
- if (channelName == String("Events")) return &LogEvents;
- if (channelName == String("Frames")) return &LogFrames;
- if (channelName == String("FTP")) return &LogFTP;
- if (channelName == String("History")) return &LogHistory;
- if (channelName == String("IconDatabase")) return &LogIconDatabase;
- if (channelName == String("Loading")) return &LogLoading;
- if (channelName == String("Media")) return &LogMedia;
- if (channelName == String("Network")) return &LogNetwork;
- if (channelName == String("NotYetImplemented")) return &LogNotYetImplemented;
- if (channelName == String("PageCache")) return &LogPageCache;
- if (channelName == String("PlatformLeaks")) return &LogPlatformLeaks;
- if (channelName == String("Plugins")) return &LogPlugins;
- if (channelName == String("PopupBlocking")) return &LogPopupBlocking;
- if (channelName == String("SpellingAndGrammar")) return &LogSpellingAndGrammar;
- if (channelName == String("SQLDatabase")) return &LogSQLDatabase;
- if (channelName == String("StorageAPI")) return &LogStorageAPI;
- if (channelName == String("TextConversion")) return &LogTextConversion;
- if (channelName == String("Threading")) return &LogThreading;
+ if (equalIgnoringCase(channelName, String("BackForward")))
+ return &LogBackForward;
+
+ if (equalIgnoringCase(channelName, String("Editing")))
+ return &LogEditing;
+
+ if (equalIgnoringCase(channelName, String("Events")))
+ return &LogEvents;
+
+ if (equalIgnoringCase(channelName, String("Frames")))
+ return &LogFrames;
+
+ if (equalIgnoringCase(channelName, String("FTP")))
+ return &LogFTP;
+
+ if (equalIgnoringCase(channelName, String("History")))
+ return &LogHistory;
+
+ if (equalIgnoringCase(channelName, String("IconDatabase")))
+ return &LogIconDatabase;
+
+ if (equalIgnoringCase(channelName, String("Loading")))
+ return &LogLoading;
+
+ if (equalIgnoringCase(channelName, String("Media")))
+ return &LogMedia;
+
+ if (equalIgnoringCase(channelName, String("Network")))
+ return &LogNetwork;
+
+ if (equalIgnoringCase(channelName, String("NotYetImplemented")))
+ return &LogNotYetImplemented;
+
+ if (equalIgnoringCase(channelName, String("PageCache")))
+ return &LogPageCache;
+
+ if (equalIgnoringCase(channelName, String("PlatformLeaks")))
+ return &LogPlatformLeaks;
+
+ if (equalIgnoringCase(channelName, String("Plugins")))
+ return &LogPlugins;
+
+ if (equalIgnoringCase(channelName, String("PopupBlocking")))
+ return &LogPopupBlocking;
+
+ if (equalIgnoringCase(channelName, String("SpellingAndGrammar")))
+ return &LogSpellingAndGrammar;
+
+ if (equalIgnoringCase(channelName, String("SQLDatabase")))
+ return &LogSQLDatabase;
+
+ if (equalIgnoringCase(channelName, String("StorageAPI")))
+ return &LogStorageAPI;
+
+ if (equalIgnoringCase(channelName, String("TextConversion")))
+ return &LogTextConversion;
+
+ if (equalIgnoringCase(channelName, String("Threading")))
+ return &LogThreading;
return 0;
}
diff --git a/src/3rdparty/webkit/WebCore/platform/Pasteboard.h b/src/3rdparty/webkit/WebCore/platform/Pasteboard.h
index f98683f..883364a 100644
--- a/src/3rdparty/webkit/WebCore/platform/Pasteboard.h
+++ b/src/3rdparty/webkit/WebCore/platform/Pasteboard.h
@@ -76,7 +76,7 @@ class Node;
class Range;
class String;
-class Pasteboard : Noncopyable {
+class Pasteboard : public Noncopyable {
public:
#if PLATFORM(MAC)
//Helper functions to allow Clipboard to share code
diff --git a/src/3rdparty/webkit/WebCore/platform/PurgeableBuffer.h b/src/3rdparty/webkit/WebCore/platform/PurgeableBuffer.h
index 9c8e3cb..c487eb9 100644
--- a/src/3rdparty/webkit/WebCore/platform/PurgeableBuffer.h
+++ b/src/3rdparty/webkit/WebCore/platform/PurgeableBuffer.h
@@ -31,7 +31,7 @@
namespace WebCore {
- class PurgeableBuffer : Noncopyable {
+ class PurgeableBuffer : public Noncopyable {
public:
static PurgeableBuffer* create(const char* data, size_t);
static PurgeableBuffer* create(const Vector<char>& v) { return create(v.data(), v.size()); }
diff --git a/src/3rdparty/webkit/WebCore/platform/RunLoopTimer.h b/src/3rdparty/webkit/WebCore/platform/RunLoopTimer.h
index 96eb8d8..65f253e 100644
--- a/src/3rdparty/webkit/WebCore/platform/RunLoopTimer.h
+++ b/src/3rdparty/webkit/WebCore/platform/RunLoopTimer.h
@@ -37,7 +37,7 @@ namespace WebCore {
// Time intervals are all in seconds.
-class RunLoopTimerBase : Noncopyable {
+class RunLoopTimerBase : public Noncopyable {
public:
virtual ~RunLoopTimerBase();
diff --git a/src/3rdparty/webkit/WebCore/platform/ScrollView.cpp b/src/3rdparty/webkit/WebCore/platform/ScrollView.cpp
index 9d3c128..b1cff4f 100644
--- a/src/3rdparty/webkit/WebCore/platform/ScrollView.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/ScrollView.cpp
@@ -58,11 +58,12 @@ ScrollView::~ScrollView()
platformDestroy();
}
-void ScrollView::addChild(Widget* child)
+void ScrollView::addChild(PassRefPtr<Widget> prpChild)
{
+ Widget* child = prpChild.get();
ASSERT(child != this && !child->parent());
child->setParent(this);
- m_children.add(child);
+ m_children.add(prpChild);
if (child->platformWidget())
platformAddChild(child);
}
@@ -640,7 +641,7 @@ void ScrollView::setScrollbarsSuppressed(bool suppressed, bool repaintOnUnsuppre
}
}
-Scrollbar* ScrollView::scrollbarUnderPoint(const IntPoint& windowPoint)
+Scrollbar* ScrollView::scrollbarAtPoint(const IntPoint& windowPoint)
{
if (platformWidget())
return 0;
@@ -709,8 +710,8 @@ void ScrollView::frameRectsChanged()
if (platformWidget())
return;
- HashSet<Widget*>::const_iterator end = m_children.end();
- for (HashSet<Widget*>::const_iterator current = m_children.begin(); current != end; ++current)
+ HashSet<RefPtr<Widget> >::const_iterator end = m_children.end();
+ for (HashSet<RefPtr<Widget> >::const_iterator current = m_children.begin(); current != end; ++current)
(*current)->frameRectsChanged();
}
@@ -796,12 +797,67 @@ void ScrollView::paint(GraphicsContext* context, const IntRect& rect)
}
}
+bool ScrollView::isPointInScrollbarCorner(const IntPoint& windowPoint)
+{
+ if (!scrollbarCornerPresent())
+ return false;
+
+ IntPoint viewPoint = convertFromContainingWindow(windowPoint);
+
+ if (m_horizontalScrollbar) {
+ int horizontalScrollbarYMin = m_horizontalScrollbar->frameRect().y();
+ int horizontalScrollbarYMax = m_horizontalScrollbar->frameRect().y() + m_horizontalScrollbar->frameRect().height();
+ int horizontalScrollbarXMin = m_horizontalScrollbar->frameRect().x() + m_horizontalScrollbar->frameRect().width();
+
+ return viewPoint.y() > horizontalScrollbarYMin && viewPoint.y() < horizontalScrollbarYMax && viewPoint.x() > horizontalScrollbarXMin;
+ }
+
+ int verticalScrollbarXMin = m_verticalScrollbar->frameRect().x();
+ int verticalScrollbarXMax = m_verticalScrollbar->frameRect().x() + m_verticalScrollbar->frameRect().width();
+ int verticalScrollbarYMin = m_verticalScrollbar->frameRect().y() + m_verticalScrollbar->frameRect().height();
+
+ return viewPoint.x() > verticalScrollbarXMin && viewPoint.x() < verticalScrollbarXMax && viewPoint.y() > verticalScrollbarYMin;
+}
+
bool ScrollView::scrollbarCornerPresent() const
{
return (m_horizontalScrollbar && width() - m_horizontalScrollbar->width() > 0) ||
(m_verticalScrollbar && height() - m_verticalScrollbar->height() > 0);
}
+IntRect ScrollView::convertFromScrollbarToContainingView(const Scrollbar* scrollbar, const IntRect& localRect) const
+{
+ // Scrollbars won't be transformed within us
+ IntRect newRect = localRect;
+ newRect.move(scrollbar->x(), scrollbar->y());
+ return newRect;
+}
+
+IntRect ScrollView::convertFromContainingViewToScrollbar(const Scrollbar* scrollbar, const IntRect& parentRect) const
+{
+ IntRect newRect = parentRect;
+ // Scrollbars won't be transformed within us
+ newRect.move(-scrollbar->x(), -scrollbar->y());
+ return newRect;
+}
+
+// FIXME: test these on windows
+IntPoint ScrollView::convertFromScrollbarToContainingView(const Scrollbar* scrollbar, const IntPoint& localPoint) const
+{
+ // Scrollbars won't be transformed within us
+ IntPoint newPoint = localPoint;
+ newPoint.move(scrollbar->x(), scrollbar->y());
+ return newPoint;
+}
+
+IntPoint ScrollView::convertFromContainingViewToScrollbar(const Scrollbar* scrollbar, const IntPoint& parentPoint) const
+{
+ IntPoint newPoint = parentPoint;
+ // Scrollbars won't be transformed within us
+ newPoint.move(-scrollbar->x(), -scrollbar->y());
+ return newPoint;
+}
+
void ScrollView::setParentVisible(bool visible)
{
if (isParentVisible() == visible)
@@ -812,8 +868,8 @@ void ScrollView::setParentVisible(bool visible)
if (!isSelfVisible())
return;
- HashSet<Widget*>::iterator end = m_children.end();
- for (HashSet<Widget*>::iterator it = m_children.begin(); it != end; ++it)
+ HashSet<RefPtr<Widget> >::iterator end = m_children.end();
+ for (HashSet<RefPtr<Widget> >::iterator it = m_children.begin(); it != end; ++it)
(*it)->setParentVisible(visible);
}
@@ -822,8 +878,8 @@ void ScrollView::show()
if (!isSelfVisible()) {
setSelfVisible(true);
if (isParentVisible()) {
- HashSet<Widget*>::iterator end = m_children.end();
- for (HashSet<Widget*>::iterator it = m_children.begin(); it != end; ++it)
+ HashSet<RefPtr<Widget> >::iterator end = m_children.end();
+ for (HashSet<RefPtr<Widget> >::iterator it = m_children.begin(); it != end; ++it)
(*it)->setParentVisible(true);
}
}
@@ -835,8 +891,8 @@ void ScrollView::hide()
{
if (isSelfVisible()) {
if (isParentVisible()) {
- HashSet<Widget*>::iterator end = m_children.end();
- for (HashSet<Widget*>::iterator it = m_children.begin(); it != end; ++it)
+ HashSet<RefPtr<Widget> >::iterator end = m_children.end();
+ for (HashSet<RefPtr<Widget> >::iterator it = m_children.begin(); it != end; ++it)
(*it)->setParentVisible(false);
}
setSelfVisible(false);
diff --git a/src/3rdparty/webkit/WebCore/platform/ScrollView.h b/src/3rdparty/webkit/WebCore/platform/ScrollView.h
index 7f99a22..4678ad0 100644
--- a/src/3rdparty/webkit/WebCore/platform/ScrollView.h
+++ b/src/3rdparty/webkit/WebCore/platform/ScrollView.h
@@ -55,7 +55,6 @@ class Scrollbar;
class ScrollView : public Widget, public ScrollbarClient {
public:
- ScrollView();
~ScrollView();
// ScrollbarClient method. FrameView overrides the other two.
@@ -69,8 +68,8 @@ public:
virtual IntRect windowClipRect(bool clipToContents = true) const = 0;
// Methods for child manipulation and inspection.
- const HashSet<Widget*>* children() const { return &m_children; }
- void addChild(Widget*);
+ const HashSet<RefPtr<Widget> >* children() const { return &m_children; }
+ void addChild(PassRefPtr<Widget>);
void removeChild(Widget*);
// If the scroll view does not use a native widget, then it will have cross-platform Scrollbars. These methods
@@ -181,7 +180,7 @@ public:
virtual void setFrameRect(const IntRect&);
// For platforms that need to hit test scrollbars from within the engine's event handlers (like Win32).
- Scrollbar* scrollbarUnderPoint(const IntPoint& windowPoint);
+ Scrollbar* scrollbarAtPoint(const IntPoint& windowPoint);
// This method exists for scrollviews that need to handle wheel events manually.
// On Mac the underlying NSScrollView just does the scrolling, but on other platforms
@@ -219,9 +218,17 @@ public:
void addPanScrollIcon(const IntPoint&);
void removePanScrollIcon();
+ virtual bool isPointInScrollbarCorner(const IntPoint&);
virtual bool scrollbarCornerPresent() const;
+ virtual IntRect convertFromScrollbarToContainingView(const Scrollbar*, const IntRect&) const;
+ virtual IntRect convertFromContainingViewToScrollbar(const Scrollbar*, const IntRect&) const;
+ virtual IntPoint convertFromScrollbarToContainingView(const Scrollbar*, const IntPoint&) const;
+ virtual IntPoint convertFromContainingViewToScrollbar(const Scrollbar*, const IntPoint&) const;
+
protected:
+ ScrollView();
+
virtual void repaintContentRectangle(const IntRect&, bool now = false);
virtual void paintContents(GraphicsContext*, const IntRect& damageRect) = 0;
@@ -239,7 +246,7 @@ private:
ScrollbarMode m_verticalScrollbarMode;
bool m_prohibitsScrolling;
- HashSet<Widget*> m_children;
+ HashSet<RefPtr<Widget> > m_children;
// This bool is unused on Mac OS because we directly ask the platform widget
// whether it is safe to blit on scroll.
diff --git a/src/3rdparty/webkit/WebCore/platform/Scrollbar.cpp b/src/3rdparty/webkit/WebCore/platform/Scrollbar.cpp
index babf3d4..4574f63 100644
--- a/src/3rdparty/webkit/WebCore/platform/Scrollbar.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/Scrollbar.cpp
@@ -449,9 +449,36 @@ void Scrollbar::invalidateRect(const IntRect& rect)
m_client->invalidateScrollbarRect(this, rect);
}
-PlatformMouseEvent Scrollbar::transformEvent(const PlatformMouseEvent& event)
+IntRect Scrollbar::convertToContainingView(const IntRect& localRect) const
{
- return event;
+ if (m_client)
+ return m_client->convertFromScrollbarToContainingView(this, localRect);
+
+ return Widget::convertToContainingView(localRect);
+}
+
+IntRect Scrollbar::convertFromContainingView(const IntRect& parentRect) const
+{
+ if (m_client)
+ return m_client->convertFromContainingViewToScrollbar(this, parentRect);
+
+ return Widget::convertFromContainingView(parentRect);
+}
+
+IntPoint Scrollbar::convertToContainingView(const IntPoint& localPoint) const
+{
+ if (m_client)
+ return m_client->convertFromScrollbarToContainingView(this, localPoint);
+
+ return Widget::convertToContainingView(localPoint);
+}
+
+IntPoint Scrollbar::convertFromContainingView(const IntPoint& parentPoint) const
+{
+ if (m_client)
+ return m_client->convertFromContainingViewToScrollbar(this, parentPoint);
+
+ return Widget::convertFromContainingView(parentPoint);
}
}
diff --git a/src/3rdparty/webkit/WebCore/platform/Scrollbar.h b/src/3rdparty/webkit/WebCore/platform/Scrollbar.h
index 711ae36..67496f2 100644
--- a/src/3rdparty/webkit/WebCore/platform/Scrollbar.h
+++ b/src/3rdparty/webkit/WebCore/platform/Scrollbar.h
@@ -26,7 +26,6 @@
#ifndef Scrollbar_h
#define Scrollbar_h
-#include <wtf/RefCounted.h>
#include "ScrollTypes.h"
#include "Timer.h"
#include "Widget.h"
@@ -45,7 +44,7 @@ class PlatformMouseEvent;
const int cScrollbarPixelsPerLineStep = 40;
const int cAmountToKeepWhenPaging = 40;
-class Scrollbar : public Widget, public RefCounted<Scrollbar> {
+class Scrollbar : public Widget {
protected:
Scrollbar(ScrollbarClient*, ScrollbarOrientation, ScrollbarControlSize, ScrollbarTheme* = 0);
@@ -110,10 +109,6 @@ public:
bool contextMenu(const PlatformMouseEvent& event);
#endif
- // Takes an event and accounts for any transforms that might occur on the scrollbar. Returns
- // a new event that has had all of the transforms applied.
- PlatformMouseEvent transformEvent(const PlatformMouseEvent&);
-
ScrollbarTheme* theme() const { return m_theme; }
virtual void setParent(ScrollView*);
@@ -126,13 +121,19 @@ public:
virtual void styleChanged() { }
+ virtual IntRect convertToContainingView(const IntRect&) const;
+ virtual IntRect convertFromContainingView(const IntRect&) const;
+
+ virtual IntPoint convertToContainingView(const IntPoint&) const;
+ virtual IntPoint convertFromContainingView(const IntPoint&) const;
+
private:
virtual bool isScrollbar() const { return true; }
protected:
virtual void updateThumbPosition();
virtual void updateThumbProportion();
-
+
void autoscrollTimerFired(Timer<Scrollbar>*);
void startTimerIfNeeded(double delay);
void stopTimerIfNeeded();
diff --git a/src/3rdparty/webkit/WebCore/platform/ScrollbarClient.h b/src/3rdparty/webkit/WebCore/platform/ScrollbarClient.h
index f720e95..6efe72e 100644
--- a/src/3rdparty/webkit/WebCore/platform/ScrollbarClient.h
+++ b/src/3rdparty/webkit/WebCore/platform/ScrollbarClient.h
@@ -27,12 +27,11 @@
#define ScrollbarClient_h
#include "IntRect.h"
+#include "Scrollbar.h"
#include <wtf/Vector.h>
namespace WebCore {
-class Scrollbar;
-
class ScrollbarClient {
public:
virtual ~ScrollbarClient() {}
@@ -45,6 +44,29 @@ public:
virtual bool scrollbarCornerPresent() const = 0;
virtual void getTickmarks(Vector<IntRect>&) const { }
+
+ // Convert points and rects between the scrollbar and its containing view.
+ // The client needs to implement these in order to be aware of layout effects
+ // like CSS transforms.
+ virtual IntRect convertFromScrollbarToContainingView(const Scrollbar* scrollbar, const IntRect& scrollbarRect) const
+ {
+ return scrollbar->Widget::convertToContainingView(scrollbarRect);
+ }
+
+ virtual IntRect convertFromContainingViewToScrollbar(const Scrollbar* scrollbar, const IntRect& parentRect) const
+ {
+ return scrollbar->Widget::convertFromContainingView(parentRect);
+ }
+
+ virtual IntPoint convertFromScrollbarToContainingView(const Scrollbar* scrollbar, const IntPoint& scrollbarPoint) const
+ {
+ return scrollbar->Widget::convertToContainingView(scrollbarPoint);
+ }
+
+ virtual IntPoint convertFromContainingViewToScrollbar(const Scrollbar* scrollbar, const IntPoint& parentPoint) const
+ {
+ return scrollbar->Widget::convertFromContainingView(parentPoint);
+ }
};
}
diff --git a/src/3rdparty/webkit/WebCore/platform/Theme.h b/src/3rdparty/webkit/WebCore/platform/Theme.h
index 5574bd7..f211576 100644
--- a/src/3rdparty/webkit/WebCore/platform/Theme.h
+++ b/src/3rdparty/webkit/WebCore/platform/Theme.h
@@ -106,7 +106,7 @@ public:
virtual void inflateControlPaintRect(ControlPart, ControlStates, IntRect& /*zoomedRect*/, float /*zoomFactor*/) const { }
// This method is called once, from RenderTheme::adjustDefaultStyleSheet(), to let each platform adjust
- // the default CSS rules in html4.css.
+ // the default CSS rules in html.css.
static String defaultStyleSheet();
private:
diff --git a/src/3rdparty/webkit/WebCore/platform/ThemeTypes.h b/src/3rdparty/webkit/WebCore/platform/ThemeTypes.h
index ae85a63..b763675 100644
--- a/src/3rdparty/webkit/WebCore/platform/ThemeTypes.h
+++ b/src/3rdparty/webkit/WebCore/platform/ThemeTypes.h
@@ -43,12 +43,15 @@ enum ControlState {
typedef unsigned ControlStates;
+// Must follow CSSValueKeywords.in order
enum ControlPart {
NoControlPart, CheckboxPart, RadioPart, PushButtonPart, SquareButtonPart, ButtonPart,
ButtonBevelPart, DefaultButtonPart, ListboxPart, ListItemPart,
MediaFullscreenButtonPart, MediaMuteButtonPart, MediaPlayButtonPart, MediaSeekBackButtonPart,
- MediaSeekForwardButtonPart, MediaSliderPart, MediaSliderThumbPart, MediaTimelineContainerPart,
- MediaCurrentTimePart, MediaTimeRemainingPart,
+ MediaSeekForwardButtonPart, MediaRewindButtonPart, MediaReturnToRealtimeButtonPart,
+ MediaSliderPart,
+ MediaSliderThumbPart, MediaControlsBackgroundPart,
+ MediaCurrentTimePart, MediaTimeRemainingPart,
MenulistPart, MenulistButtonPart, MenulistTextPart, MenulistTextFieldPart,
SliderHorizontalPart, SliderVerticalPart, SliderThumbHorizontalPart,
SliderThumbVerticalPart, CaretPart, SearchFieldPart, SearchFieldDecorationPart,
diff --git a/src/3rdparty/webkit/WebCore/platform/ThreadGlobalData.h b/src/3rdparty/webkit/WebCore/platform/ThreadGlobalData.h
index e0aa092..68f5ec0 100644
--- a/src/3rdparty/webkit/WebCore/platform/ThreadGlobalData.h
+++ b/src/3rdparty/webkit/WebCore/platform/ThreadGlobalData.h
@@ -38,7 +38,7 @@ namespace WebCore {
struct TECConverterWrapper;
class ThreadTimers;
- class ThreadGlobalData : Noncopyable {
+ class ThreadGlobalData : public Noncopyable {
public:
ThreadGlobalData();
~ThreadGlobalData();
diff --git a/src/3rdparty/webkit/WebCore/platform/ThreadTimers.h b/src/3rdparty/webkit/WebCore/platform/ThreadTimers.h
index 366c320..ea0a366 100644
--- a/src/3rdparty/webkit/WebCore/platform/ThreadTimers.h
+++ b/src/3rdparty/webkit/WebCore/platform/ThreadTimers.h
@@ -37,7 +37,7 @@ namespace WebCore {
class TimerBase;
// A collection of timers per thread. Kept in ThreadGlobalData.
- class ThreadTimers : Noncopyable {
+ class ThreadTimers : public Noncopyable {
public:
ThreadTimers();
diff --git a/src/3rdparty/webkit/WebCore/platform/Timer.h b/src/3rdparty/webkit/WebCore/platform/Timer.h
index 8723515..9221df0 100644
--- a/src/3rdparty/webkit/WebCore/platform/Timer.h
+++ b/src/3rdparty/webkit/WebCore/platform/Timer.h
@@ -35,7 +35,7 @@ namespace WebCore {
class TimerHeapElement;
-class TimerBase : Noncopyable {
+class TimerBase : public Noncopyable {
public:
TimerBase();
virtual ~TimerBase();
diff --git a/src/3rdparty/webkit/WebCore/platform/TreeShared.h b/src/3rdparty/webkit/WebCore/platform/TreeShared.h
index aaa26aa..1ac1b33 100644
--- a/src/3rdparty/webkit/WebCore/platform/TreeShared.h
+++ b/src/3rdparty/webkit/WebCore/platform/TreeShared.h
@@ -26,7 +26,7 @@
namespace WebCore {
-template<class T> class TreeShared : Noncopyable {
+template<class T> class TreeShared : public Noncopyable {
public:
TreeShared()
: m_refCount(0)
diff --git a/src/3rdparty/webkit/WebCore/platform/Widget.cpp b/src/3rdparty/webkit/WebCore/platform/Widget.cpp
index a456431..5bb903b 100644
--- a/src/3rdparty/webkit/WebCore/platform/Widget.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/Widget.cpp
@@ -69,42 +69,61 @@ void Widget::removeFromParent()
parent()->removeChild(this);
}
-#if !PLATFORM(MAC)
+IntRect Widget::convertFromContainingWindow(const IntRect& windowRect) const
+{
+ if (const ScrollView* parentScrollView = parent()) {
+ IntRect parentRect = parentScrollView->convertFromContainingWindow(windowRect);
+ return convertFromContainingView(parentRect);
+ }
+ return convertFromContainingWindowToRoot(this, windowRect);
+}
+
+IntRect Widget::convertToContainingWindow(const IntRect& localRect) const
+{
+ if (const ScrollView* parentScrollView = parent()) {
+ IntRect parentRect = convertToContainingView(localRect);
+ return parentScrollView->convertToContainingWindow(parentRect);
+ }
+ return convertFromRootToContainingWindow(this, localRect);
+}
+
+IntPoint Widget::convertFromContainingWindow(const IntPoint& windowPoint) const
+{
+ if (const ScrollView* parentScrollView = parent()) {
+ IntPoint parentPoint = parentScrollView->convertFromContainingWindow(windowPoint);
+ return convertFromContainingView(parentPoint);
+ }
+ return convertFromContainingWindowToRoot(this, windowPoint);
+}
-IntRect Widget::convertToContainingWindow(const IntRect& rect) const
+IntPoint Widget::convertToContainingWindow(const IntPoint& localPoint) const
{
- IntRect convertedRect = rect;
- convertedRect.setLocation(convertToContainingWindow(convertedRect.location()));
- return convertedRect;
+ if (const ScrollView* parentScrollView = parent()) {
+ IntPoint parentPoint = convertToContainingView(localPoint);
+ return parentScrollView->convertToContainingWindow(parentPoint);
+ }
+ return convertFromRootToContainingWindow(this, localPoint);
}
-IntPoint Widget::convertToContainingWindow(const IntPoint& point) const
+#if !PLATFORM(MAC)
+IntRect Widget::convertFromRootToContainingWindow(const Widget*, const IntRect& rect)
{
- IntPoint windowPoint = point;
- const Widget* childWidget = this;
- for (const ScrollView* parentScrollView = parent();
- parentScrollView;
- childWidget = parentScrollView, parentScrollView = parentScrollView->parent())
- windowPoint = parentScrollView->convertChildToSelf(childWidget, windowPoint);
- return windowPoint;
+ return rect;
}
-IntPoint Widget::convertFromContainingWindow(const IntPoint& point) const
+IntRect Widget::convertFromContainingWindowToRoot(const Widget*, const IntRect& rect)
{
- IntPoint widgetPoint = point;
- const Widget* childWidget = this;
- for (const ScrollView* parentScrollView = parent();
- parentScrollView;
- childWidget = parentScrollView, parentScrollView = parentScrollView->parent())
- widgetPoint = parentScrollView->convertSelfToChild(childWidget, widgetPoint);
- return widgetPoint;
+ return rect;
}
-IntRect Widget::convertFromContainingWindow(const IntRect& rect) const
+IntPoint Widget::convertFromRootToContainingWindow(const Widget*, const IntPoint& point)
{
- IntRect result = rect;
- result.setLocation(convertFromContainingWindow(rect.location()));
- return result;
+ return point;
+}
+
+IntPoint Widget::convertFromContainingWindowToRoot(const Widget*, const IntPoint& point)
+{
+ return point;
}
#endif
@@ -118,4 +137,41 @@ void Widget::retainPlatformWidget()
}
#endif
+IntRect Widget::convertToContainingView(const IntRect& localRect) const
+{
+ if (const ScrollView* parentScrollView = parent()) {
+ IntRect parentRect(localRect);
+ parentRect.setLocation(parentScrollView->convertChildToSelf(this, localRect.location()));
+ return parentRect;
+ }
+ return localRect;
}
+
+IntRect Widget::convertFromContainingView(const IntRect& parentRect) const
+{
+ if (const ScrollView* parentScrollView = parent()) {
+ IntRect localRect = parentRect;
+ localRect.setLocation(parentScrollView->convertSelfToChild(this, localRect.location()));
+ return localRect;
+ }
+
+ return parentRect;
+}
+
+IntPoint Widget::convertToContainingView(const IntPoint& localPoint) const
+{
+ if (const ScrollView* parentScrollView = parent())
+ return parentScrollView->convertChildToSelf(this, localPoint);
+
+ return localPoint;
+}
+
+IntPoint Widget::convertFromContainingView(const IntPoint& parentPoint) const
+{
+ if (const ScrollView* parentScrollView = parent())
+ return parentScrollView->convertSelfToChild(this, parentPoint);
+
+ return parentPoint;
+}
+
+} // namespace WebCore
diff --git a/src/3rdparty/webkit/WebCore/platform/Widget.h b/src/3rdparty/webkit/WebCore/platform/Widget.h
index b6c0054..5fd18fa 100644
--- a/src/3rdparty/webkit/WebCore/platform/Widget.h
+++ b/src/3rdparty/webkit/WebCore/platform/Widget.h
@@ -73,6 +73,8 @@ typedef wxWindow* PlatformWidget;
#include "IntRect.h"
#include "IntSize.h"
+#include <wtf/RefCounted.h>
+
namespace WebCore {
class Cursor;
@@ -81,7 +83,6 @@ class Font;
class GraphicsContext;
class PlatformMouseEvent;
class ScrollView;
-class WidgetClient;
class WidgetPrivate;
// The Widget class serves as a base class for three kinds of objects:
@@ -99,11 +100,11 @@ class WidgetPrivate;
// Scrollbar - Mac, Gtk
// Plugin - Mac, Windows (windowed only), Qt (windowed only, widget is an HWND on windows), Gtk (windowed only)
//
-class Widget {
+class Widget : public RefCounted<Widget> {
public:
Widget(PlatformWidget = 0);
virtual ~Widget();
-
+
PlatformWidget platformWidget() const { return m_widget; }
void setPlatformWidget(PlatformWidget widget)
{
@@ -164,9 +165,10 @@ public:
// up with an inaccurate rect. Always make sure to use the rect-based convertFromContainingWindow method
// when converting window rects.
IntRect convertToContainingWindow(const IntRect&) const;
- IntPoint convertToContainingWindow(const IntPoint&) const;
- IntPoint convertFromContainingWindow(const IntPoint&) const; // See comment above about when not to use this method.
IntRect convertFromContainingWindow(const IntRect&) const;
+
+ IntPoint convertToContainingWindow(const IntPoint&) const;
+ IntPoint convertFromContainingWindow(const IntPoint&) const;
virtual void frameRectsChanged() {}
@@ -179,12 +181,26 @@ public:
void removeFromSuperview();
#endif
+ // Virtual methods to convert points to/from the containing ScrollView
+ virtual IntRect convertToContainingView(const IntRect&) const;
+ virtual IntRect convertFromContainingView(const IntRect&) const;
+ virtual IntPoint convertToContainingView(const IntPoint&) const;
+ virtual IntPoint convertFromContainingView(const IntPoint&) const;
+
private:
void init(PlatformWidget); // Must be called by all Widget constructors to initialize cross-platform data.
void releasePlatformWidget();
void retainPlatformWidget();
+ // These methods are used to convert from the root widget to the containing window,
+ // which has behavior that may differ between platforms (e.g. Mac uses flipped window coordinates).
+ static IntRect convertFromRootToContainingWindow(const Widget* rootWidget, const IntRect&);
+ static IntRect convertFromContainingWindowToRoot(const Widget* rootWidget, const IntRect&);
+
+ static IntPoint convertFromRootToContainingWindow(const Widget* rootWidget, const IntPoint&);
+ static IntPoint convertFromContainingWindowToRoot(const Widget* rootWidget, const IntPoint&);
+
private:
ScrollView* m_parent;
PlatformWidget m_widget;
diff --git a/src/3rdparty/webkit/WebCore/platform/graphics/BitmapImage.cpp b/src/3rdparty/webkit/WebCore/platform/graphics/BitmapImage.cpp
index 8933d7b..32aefc9 100644
--- a/src/3rdparty/webkit/WebCore/platform/graphics/BitmapImage.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/graphics/BitmapImage.cpp
@@ -86,7 +86,7 @@ void BitmapImage::destroyDecodedData(bool destroyAll)
destroyMetadataAndNotify(framesCleared);
- m_source.clear(destroyAll, clearBeforeFrame, m_data.get(), m_allDataReceived);
+ m_source.clear(destroyAll, clearBeforeFrame, data(), m_allDataReceived);
return;
}
@@ -163,7 +163,7 @@ bool BitmapImage::dataChanged(bool allDataReceived)
// Feed all the data we've seen so far to the image decoder.
m_allDataReceived = allDataReceived;
- m_source.setData(m_data.get(), allDataReceived);
+ m_source.setData(data(), allDataReceived);
// Clear the frame count.
m_haveFrameCount = false;
diff --git a/src/3rdparty/webkit/WebCore/platform/graphics/Color.h b/src/3rdparty/webkit/WebCore/platform/graphics/Color.h
index 032d0cb..7ac432f 100644
--- a/src/3rdparty/webkit/WebCore/platform/graphics/Color.h
+++ b/src/3rdparty/webkit/WebCore/platform/graphics/Color.h
@@ -145,7 +145,6 @@ inline bool operator!=(const Color& a, const Color& b)
return !(a == b);
}
-Color focusRingColor();
Color colorFromPremultipliedARGB(unsigned);
unsigned premultipliedARGBFromColor(const Color&);
diff --git a/src/3rdparty/webkit/WebCore/platform/graphics/FontData.h b/src/3rdparty/webkit/WebCore/platform/graphics/FontData.h
index cb79919..76927f5 100644
--- a/src/3rdparty/webkit/WebCore/platform/graphics/FontData.h
+++ b/src/3rdparty/webkit/WebCore/platform/graphics/FontData.h
@@ -32,8 +32,9 @@
namespace WebCore {
class SimpleFontData;
+class String;
-class FontData : Noncopyable {
+class FontData : public Noncopyable {
public:
FontData()
: m_maxGlyphPageTreeLevel(0)
@@ -51,6 +52,10 @@ public:
void setMaxGlyphPageTreeLevel(unsigned level) const { m_maxGlyphPageTreeLevel = level; }
unsigned maxGlyphPageTreeLevel() const { return m_maxGlyphPageTreeLevel; }
+#ifndef NDEBUG
+ virtual String description() const = 0;
+#endif
+
private:
mutable unsigned m_maxGlyphPageTreeLevel;
};
diff --git a/src/3rdparty/webkit/WebCore/platform/graphics/GlyphPageTreeNode.cpp b/src/3rdparty/webkit/WebCore/platform/graphics/GlyphPageTreeNode.cpp
index a34a192..6419e0c 100644
--- a/src/3rdparty/webkit/WebCore/platform/graphics/GlyphPageTreeNode.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/graphics/GlyphPageTreeNode.cpp
@@ -29,6 +29,7 @@
#include "config.h"
#include "GlyphPageTreeNode.h"
+#include "CString.h"
#include "CharacterNames.h"
#include "SegmentedFontData.h"
#include "SimpleFontData.h"
@@ -377,4 +378,41 @@ void GlyphPageTreeNode::pruneFontData(const SimpleFontData* fontData, unsigned l
it->second->pruneFontData(fontData, level);
}
+#ifndef NDEBUG
+ void GlyphPageTreeNode::showSubtree()
+ {
+ Vector<char> indent(level());
+ indent.fill('\t', level());
+ indent.append(0);
+
+ HashMap<const FontData*, GlyphPageTreeNode*>::iterator end = m_children.end();
+ for (HashMap<const FontData*, GlyphPageTreeNode*>::iterator it = m_children.begin(); it != end; ++it) {
+ printf("%s\t%p %s\n", indent.data(), it->first, it->first->description().utf8().data());
+ it->second->showSubtree();
+ }
+ if (m_systemFallbackChild) {
+ printf("%s\t* fallback\n", indent.data());
+ m_systemFallbackChild->showSubtree();
+ }
+ }
+#endif
+
}
+
+#ifndef NDEBUG
+void showGlyphPageTrees()
+{
+ printf("Page 0:\n");
+ showGlyphPageTree(0);
+ HashMap<int, WebCore::GlyphPageTreeNode*>::iterator end = WebCore::GlyphPageTreeNode::roots->end();
+ for (HashMap<int, WebCore::GlyphPageTreeNode*>::iterator it = WebCore::GlyphPageTreeNode::roots->begin(); it != end; ++it) {
+ printf("\nPage %d:\n", it->first);
+ showGlyphPageTree(it->first);
+ }
+}
+
+void showGlyphPageTree(unsigned pageNumber)
+{
+ WebCore::GlyphPageTreeNode::getRoot(pageNumber)->showSubtree();
+}
+#endif
diff --git a/src/3rdparty/webkit/WebCore/platform/graphics/GlyphPageTreeNode.h b/src/3rdparty/webkit/WebCore/platform/graphics/GlyphPageTreeNode.h
index 80e87aa..7918ac5 100644
--- a/src/3rdparty/webkit/WebCore/platform/graphics/GlyphPageTreeNode.h
+++ b/src/3rdparty/webkit/WebCore/platform/graphics/GlyphPageTreeNode.h
@@ -35,6 +35,11 @@
#include <wtf/RefCounted.h>
#include <wtf/unicode/Unicode.h>
+#ifndef NDEBUG
+void showGlyphPageTrees();
+void showGlyphPageTree(unsigned pageNumber);
+#endif
+
namespace WebCore {
class FontData;
@@ -210,6 +215,10 @@ private:
static GlyphPageTreeNode* getRoot(unsigned pageNumber);
void initializePage(const FontData*, unsigned pageNumber);
+#ifndef NDEBUG
+ void showSubtree();
+#endif
+
GlyphPageTreeNode* m_parent;
RefPtr<GlyphPage> m_page;
unsigned m_level;
@@ -220,6 +229,8 @@ private:
#ifndef NDEBUG
unsigned m_pageNumber;
+
+ friend void ::showGlyphPageTree(unsigned pageNumber);
#endif
};
diff --git a/src/3rdparty/webkit/WebCore/platform/graphics/GlyphWidthMap.h b/src/3rdparty/webkit/WebCore/platform/graphics/GlyphWidthMap.h
index e194ecf..66dea1f 100644
--- a/src/3rdparty/webkit/WebCore/platform/graphics/GlyphWidthMap.h
+++ b/src/3rdparty/webkit/WebCore/platform/graphics/GlyphWidthMap.h
@@ -39,7 +39,7 @@ typedef unsigned short Glyph;
const float cGlyphWidthUnknown = -1;
-class GlyphWidthMap : Noncopyable {
+class GlyphWidthMap : public Noncopyable {
public:
GlyphWidthMap() : m_filledPrimaryPage(false) { }
~GlyphWidthMap() { if (m_pages) { deleteAllValues(*m_pages); } }
diff --git a/src/3rdparty/webkit/WebCore/platform/graphics/Gradient.cpp b/src/3rdparty/webkit/WebCore/platform/graphics/Gradient.cpp
index 51c7162..77a0d21 100644
--- a/src/3rdparty/webkit/WebCore/platform/graphics/Gradient.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/graphics/Gradient.cpp
@@ -155,4 +155,17 @@ void Gradient::setSpreadMethod(GradientSpreadMethod spreadMethod)
m_spreadMethod = spreadMethod;
}
+void Gradient::setGradientSpaceTransform(const TransformationMatrix& gradientSpaceTransformation)
+{
+ m_gradientSpaceTransformation = gradientSpaceTransformation;
+ setPlatformGradientSpaceTransform(gradientSpaceTransformation);
+}
+
+#if !PLATFORM(SKIA)
+void Gradient::setPlatformGradientSpaceTransform(const TransformationMatrix&)
+{
+}
+#endif
+
+
} //namespace
diff --git a/src/3rdparty/webkit/WebCore/platform/graphics/Gradient.h b/src/3rdparty/webkit/WebCore/platform/graphics/Gradient.h
index efcf040..a74b1ef 100644
--- a/src/3rdparty/webkit/WebCore/platform/graphics/Gradient.h
+++ b/src/3rdparty/webkit/WebCore/platform/graphics/Gradient.h
@@ -90,11 +90,12 @@ namespace WebCore {
void setSpreadMethod(GradientSpreadMethod);
GradientSpreadMethod spreadMethod() { return m_spreadMethod; }
- void setGradientSpaceTransform(const TransformationMatrix& gradientSpaceTransformation) { m_gradientSpaceTransformation = gradientSpaceTransformation; }
+ void setGradientSpaceTransform(const TransformationMatrix& gradientSpaceTransformation);
// Qt and CG transform the gradient at draw time
TransformationMatrix gradientSpaceTransform() { return m_gradientSpaceTransformation; }
virtual void fill(GraphicsContext*, const FloatRect&);
+ void setPlatformGradientSpaceTransform(const TransformationMatrix& gradientSpaceTransformation);
private:
Gradient(const FloatPoint& p0, const FloatPoint& p1);
diff --git a/src/3rdparty/webkit/WebCore/platform/graphics/GraphicsContext.cpp b/src/3rdparty/webkit/WebCore/platform/graphics/GraphicsContext.cpp
index 4dae3d2..3e36f73 100644
--- a/src/3rdparty/webkit/WebCore/platform/graphics/GraphicsContext.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/graphics/GraphicsContext.cpp
@@ -214,6 +214,7 @@ void GraphicsContext::setStrokePattern(PassRefPtr<Pattern> pattern)
}
m_common->state.strokeColorSpace = PatternColorSpace;
m_common->state.strokePattern = pattern;
+ setPlatformStrokePattern(m_common->state.strokePattern.get());
}
void GraphicsContext::setFillPattern(PassRefPtr<Pattern> pattern)
@@ -225,6 +226,7 @@ void GraphicsContext::setFillPattern(PassRefPtr<Pattern> pattern)
}
m_common->state.fillColorSpace = PatternColorSpace;
m_common->state.fillPattern = pattern;
+ setPlatformFillPattern(m_common->state.fillPattern.get());
}
void GraphicsContext::setStrokeGradient(PassRefPtr<Gradient> gradient)
@@ -236,6 +238,7 @@ void GraphicsContext::setStrokeGradient(PassRefPtr<Gradient> gradient)
}
m_common->state.strokeColorSpace = GradientColorSpace;
m_common->state.strokeGradient = gradient;
+ setPlatformStrokeGradient(m_common->state.strokeGradient.get());
}
void GraphicsContext::setFillGradient(PassRefPtr<Gradient> gradient)
@@ -247,6 +250,7 @@ void GraphicsContext::setFillGradient(PassRefPtr<Gradient> gradient)
}
m_common->state.fillColorSpace = GradientColorSpace;
m_common->state.fillGradient = gradient;
+ setPlatformFillGradient(m_common->state.fillGradient.get());
}
Gradient* GraphicsContext::fillGradient() const
@@ -508,6 +512,24 @@ void GraphicsContext::fillRect(const FloatRect& rect, Generator& generator)
generator.fill(this, rect);
}
+#if !PLATFORM(SKIA)
+void GraphicsContext::setPlatformFillGradient(Gradient*)
+{
+}
+
+void GraphicsContext::setPlatformFillPattern(Pattern*)
+{
+}
+
+void GraphicsContext::setPlatformStrokeGradient(Gradient*)
+{
+}
+
+void GraphicsContext::setPlatformStrokePattern(Pattern*)
+{
+}
+#endif
+
#if !PLATFORM(CG) && !PLATFORM(SKIA)
// Implement this if you want to go ahead and push the drawing mode into your native context
// immediately.
diff --git a/src/3rdparty/webkit/WebCore/platform/graphics/GraphicsContext.h b/src/3rdparty/webkit/WebCore/platform/graphics/GraphicsContext.h
index 01e2fe6..0237abf 100644
--- a/src/3rdparty/webkit/WebCore/platform/graphics/GraphicsContext.h
+++ b/src/3rdparty/webkit/WebCore/platform/graphics/GraphicsContext.h
@@ -137,7 +137,7 @@ namespace WebCore {
InterpolationHigh
};
- class GraphicsContext : Noncopyable {
+ class GraphicsContext : public Noncopyable {
public:
GraphicsContext(PlatformGraphicsContext*);
~GraphicsContext();
@@ -364,8 +364,12 @@ namespace WebCore {
void setPlatformStrokeColor(const Color&);
void setPlatformStrokeStyle(const StrokeStyle&);
void setPlatformStrokeThickness(float);
+ void setPlatformStrokeGradient(Gradient*);
+ void setPlatformStrokePattern(Pattern*);
void setPlatformFillColor(const Color&);
+ void setPlatformFillGradient(Gradient*);
+ void setPlatformFillPattern(Pattern*);
void setPlatformShouldAntialias(bool b);
diff --git a/src/3rdparty/webkit/WebCore/platform/graphics/GraphicsLayer.cpp b/src/3rdparty/webkit/WebCore/platform/graphics/GraphicsLayer.cpp
index 0c442a2..b182548 100644
--- a/src/3rdparty/webkit/WebCore/platform/graphics/GraphicsLayer.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/graphics/GraphicsLayer.cpp
@@ -193,6 +193,7 @@ GraphicsLayer::GraphicsLayer(GraphicsLayerClient* client)
, m_masksToBounds(false)
, m_drawsContent(false)
, m_paintingPhase(GraphicsLayerPaintAllMask)
+ , m_contentsOrientation(CompositingCoordinatesTopDown)
, m_parent(0)
#ifndef NDEBUG
, m_repaintCount(0)
@@ -448,6 +449,31 @@ void GraphicsLayer::setZPosition(float position)
}
#endif
+float GraphicsLayer::accumulatedOpacity() const
+{
+ if (!preserves3D())
+ return 1;
+
+ return m_opacity * (parent() ? parent()->accumulatedOpacity() : 1);
+}
+
+void GraphicsLayer::distributeOpacity(float accumulatedOpacity)
+{
+ // If this is a transform layer we need to distribute our opacity to all our children
+
+ // Incoming accumulatedOpacity is the contribution from our parent(s). We mutiply this by our own
+ // opacity to get the total contribution
+ accumulatedOpacity *= m_opacity;
+
+ setOpacityInternal(accumulatedOpacity);
+
+ if (preserves3D()) {
+ size_t numChildren = children().size();
+ for (size_t i = 0; i < numChildren; ++i)
+ children()[i]->distributeOpacity(accumulatedOpacity);
+ }
+}
+
static void writeIndent(TextStream& ts, int indent)
{
for (int i = 0; i != indent; ++i)
diff --git a/src/3rdparty/webkit/WebCore/platform/graphics/GraphicsLayer.h b/src/3rdparty/webkit/WebCore/platform/graphics/GraphicsLayer.h
index ae51951..3cc1128 100644
--- a/src/3rdparty/webkit/WebCore/platform/graphics/GraphicsLayer.h
+++ b/src/3rdparty/webkit/WebCore/platform/graphics/GraphicsLayer.h
@@ -293,6 +293,14 @@ public:
enum CompositingCoordinatesOrientation { CompositingCoordinatesTopDown, CompositingCoordinatesBottomUp };
static CompositingCoordinatesOrientation compositingCoordinatesOrientation();
+ // Set the geometry orientation (top-down, or bottom-up) for this layer, which also controls sublayer geometry.
+ virtual void setGeometryOrientation(CompositingCoordinatesOrientation) { }
+ virtual CompositingCoordinatesOrientation geometryOrientation() const { return CompositingCoordinatesTopDown; }
+
+ // Flippedness of the contents of this layer. Does not affect sublayer geometry.
+ virtual void setContentsOrientation(CompositingCoordinatesOrientation orientation) { m_contentsOrientation = orientation; }
+ virtual CompositingCoordinatesOrientation contentsOrientation() const { return m_contentsOrientation; }
+
#ifndef NDEBUG
static bool showDebugBorders();
static bool showRepaintCounter();
@@ -308,7 +316,12 @@ public:
static String propertyIdToString(AnimatedPropertyID);
+ virtual void distributeOpacity(float);
+ virtual float accumulatedOpacity() const;
+
protected:
+ virtual void setOpacityInternal(float) { }
+
GraphicsLayer(GraphicsLayerClient*);
void dumpProperties(TextStream&, int indent) const;
@@ -348,6 +361,7 @@ protected:
bool m_drawsContent : 1;
GraphicsLayerPaintingPhase m_paintingPhase;
+ CompositingCoordinatesOrientation m_contentsOrientation;
Vector<GraphicsLayer*> m_children;
GraphicsLayer* m_parent;
diff --git a/src/3rdparty/webkit/WebCore/platform/graphics/Image.cpp b/src/3rdparty/webkit/WebCore/platform/graphics/Image.cpp
index 08d96b4..80b5457 100644
--- a/src/3rdparty/webkit/WebCore/platform/graphics/Image.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/graphics/Image.cpp
@@ -119,7 +119,6 @@ void Image::drawTiled(GraphicsContext* ctxt, const FloatRect& destRect, const Fl
FloatSize scale(scaledTileSize.width() / intrinsicTileSize.width(),
scaledTileSize.height() / intrinsicTileSize.height());
- TransformationMatrix patternTransform = TransformationMatrix().scaleNonUniform(scale.width(), scale.height());
FloatRect oneTileRect;
oneTileRect.setX(destRect.x() + fmodf(fmodf(-srcPoint.x(), scaledTileSize.width()) - scaledTileSize.width(), scaledTileSize.width()));
@@ -137,6 +136,7 @@ void Image::drawTiled(GraphicsContext* ctxt, const FloatRect& destRect, const Fl
return;
}
+ TransformationMatrix patternTransform = TransformationMatrix().scaleNonUniform(scale.width(), scale.height());
FloatRect tileRect(FloatPoint(), intrinsicTileSize);
drawPattern(ctxt, tileRect, patternTransform, oneTileRect.location(), op, destRect);
diff --git a/src/3rdparty/webkit/WebCore/platform/graphics/Image.h b/src/3rdparty/webkit/WebCore/platform/graphics/Image.h
index bb61043c..c0d07c9 100644
--- a/src/3rdparty/webkit/WebCore/platform/graphics/Image.h
+++ b/src/3rdparty/webkit/WebCore/platform/graphics/Image.h
@@ -31,9 +31,9 @@
#include "GraphicsTypes.h"
#include "ImageSource.h"
#include "IntRect.h"
-#include <wtf/RefPtr.h>
-#include <wtf/PassRefPtr.h>
#include "SharedBuffer.h"
+#include <wtf/PassRefPtr.h>
+#include <wtf/RefPtr.h>
#if PLATFORM(MAC)
#ifdef __OBJC__
@@ -67,13 +67,13 @@ typedef struct _GdkPixbuf GdkPixbuf;
namespace WebCore {
-class TransformationMatrix;
class FloatPoint;
class FloatRect;
class FloatSize;
class GraphicsContext;
class SharedBuffer;
class String;
+class TransformationMatrix;
// This class gets notified when an image creates or destroys decoded frames and when it advances animation frames.
class ImageObserver;
@@ -81,6 +81,7 @@ class ImageObserver;
class Image : public RefCounted<Image> {
friend class GeneratedImage;
friend class GraphicsContext;
+
public:
virtual ~Image();
@@ -168,13 +169,8 @@ protected:
virtual void drawPattern(GraphicsContext*, const FloatRect& srcRect, const TransformationMatrix& patternTransform,
const FloatPoint& phase, CompositeOperator, const FloatRect& destRect);
-#if PLATFORM(CG)
- // These are private to CG. Ideally they would be only in the .cpp file, but the callback requires access
- // to the private function nativeImageForCurrentFrame()
- static void drawPatternCallback(void* info, CGContext*);
-#endif
-
-protected:
+
+private:
RefPtr<SharedBuffer> m_data; // The encoded raw data for the image.
ImageObserver* m_imageObserver;
};
diff --git a/src/3rdparty/webkit/WebCore/platform/graphics/ImageBuffer.h b/src/3rdparty/webkit/WebCore/platform/graphics/ImageBuffer.h
index 573e274..841a891 100644
--- a/src/3rdparty/webkit/WebCore/platform/graphics/ImageBuffer.h
+++ b/src/3rdparty/webkit/WebCore/platform/graphics/ImageBuffer.h
@@ -43,7 +43,7 @@ namespace WebCore {
class IntRect;
class String;
- class ImageBuffer : Noncopyable {
+ class ImageBuffer : public Noncopyable {
public:
// Will return a null pointer on allocation failure.
static PassOwnPtr<ImageBuffer> create(const IntSize& size, bool grayScale)
diff --git a/src/3rdparty/webkit/WebCore/platform/graphics/ImageSource.h b/src/3rdparty/webkit/WebCore/platform/graphics/ImageSource.h
index e9f066e..acb64de 100644
--- a/src/3rdparty/webkit/WebCore/platform/graphics/ImageSource.h
+++ b/src/3rdparty/webkit/WebCore/platform/graphics/ImageSource.h
@@ -83,7 +83,7 @@ typedef NativeImageSkia* NativeImagePtr;
const int cAnimationLoopOnce = -1;
const int cAnimationNone = -2;
-class ImageSource : Noncopyable {
+class ImageSource : public Noncopyable {
public:
ImageSource();
~ImageSource();
diff --git a/src/3rdparty/webkit/WebCore/platform/graphics/IntPoint.h b/src/3rdparty/webkit/WebCore/platform/graphics/IntPoint.h
index 1cae191..21af67b 100644
--- a/src/3rdparty/webkit/WebCore/platform/graphics/IntPoint.h
+++ b/src/3rdparty/webkit/WebCore/platform/graphics/IntPoint.h
@@ -80,6 +80,7 @@ public:
void setX(int x) { m_x = x; }
void setY(int y) { m_y = y; }
+ void move(const IntSize& s) { move(s.width(), s.height()); }
void move(int dx, int dy) { m_x += dx; m_y += dy; }
IntPoint expandedTo(const IntPoint& other) const
diff --git a/src/3rdparty/webkit/WebCore/platform/graphics/MediaPlayer.cpp b/src/3rdparty/webkit/WebCore/platform/graphics/MediaPlayer.cpp
index a277675..d4fab52 100644
--- a/src/3rdparty/webkit/WebCore/platform/graphics/MediaPlayer.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/graphics/MediaPlayer.cpp
@@ -229,7 +229,7 @@ void MediaPlayer::load(const String& url, const ContentType& contentType)
engine = chooseBestEngineForTypeAndCodecs(type, codecs);
// if we didn't find an engine that claims the MIME type, just use the first engine
- if (!engine)
+ if (!engine && !installedMediaEngines().isEmpty())
engine = installedMediaEngines()[0];
// don't delete and recreate the player unless it comes from a different engine
@@ -306,6 +306,11 @@ bool MediaPlayer::supportsFullscreen() const
return m_private->supportsFullscreen();
}
+bool MediaPlayer::supportsSave() const
+{
+ return m_private->supportsSave();
+}
+
IntSize MediaPlayer::naturalSize()
{
return m_private->naturalSize();
@@ -437,6 +442,11 @@ void MediaPlayer::paint(GraphicsContext* p, const IntRect& r)
m_private->paint(p, r);
}
+void MediaPlayer::paintCurrentFrameInContext(GraphicsContext* p, const IntRect& r)
+{
+ m_private->paintCurrentFrameInContext(p, r);
+}
+
MediaPlayer::SupportsType MediaPlayer::supportsType(ContentType contentType)
{
String type = contentType.type();
@@ -490,6 +500,17 @@ bool MediaPlayer::supportsAcceleratedRendering() const
}
#endif // USE(ACCELERATED_COMPOSITING)
+bool MediaPlayer::hasSingleSecurityOrigin() const
+{
+ return m_private->hasSingleSecurityOrigin();
+}
+
+MediaPlayer::MovieLoadType MediaPlayer::movieLoadType() const
+{
+ return m_private->movieLoadType();
+}
+
+// Client callbacks.
void MediaPlayer::networkStateChanged()
{
if (m_mediaPlayerClient)
@@ -538,10 +559,6 @@ void MediaPlayer::rateChanged()
m_mediaPlayerClient->mediaPlayerRateChanged(this);
}
-bool MediaPlayer::hasSingleSecurityOrigin() const
-{
- return m_private->hasSingleSecurityOrigin();
}
-}
#endif
diff --git a/src/3rdparty/webkit/WebCore/platform/graphics/MediaPlayer.h b/src/3rdparty/webkit/WebCore/platform/graphics/MediaPlayer.h
index 187c701..7f5f2a0 100644
--- a/src/3rdparty/webkit/WebCore/platform/graphics/MediaPlayer.h
+++ b/src/3rdparty/webkit/WebCore/platform/graphics/MediaPlayer.h
@@ -96,7 +96,7 @@ public:
#endif
};
-class MediaPlayer : Noncopyable {
+class MediaPlayer : public Noncopyable {
public:
MediaPlayer(MediaPlayerClient*);
virtual ~MediaPlayer();
@@ -108,6 +108,7 @@ public:
static bool isAvailable();
bool supportsFullscreen() const;
+ bool supportsSave() const;
IntSize naturalSize();
bool hasVideo();
@@ -160,6 +161,7 @@ public:
void setAutobuffer(bool);
void paint(GraphicsContext*, const IntRect&);
+ void paintCurrentFrameInContext(GraphicsContext*, const IntRect&);
enum NetworkState { Empty, Idle, Loading, Loaded, FormatError, NetworkError, DecodeError };
NetworkState networkState();
@@ -167,6 +169,9 @@ public:
enum ReadyState { HaveNothing, HaveMetadata, HaveCurrentData, HaveFutureData, HaveEnoughData };
ReadyState readyState();
+ enum MovieLoadType { Unknown, Download, StoredStream, LiveStream };
+ MovieLoadType movieLoadType() const;
+
void networkStateChanged();
void readyStateChanged();
void volumeChanged();
diff --git a/src/3rdparty/webkit/WebCore/platform/graphics/MediaPlayerPrivate.h b/src/3rdparty/webkit/WebCore/platform/graphics/MediaPlayerPrivate.h
index edbe125..6d1359b 100644
--- a/src/3rdparty/webkit/WebCore/platform/graphics/MediaPlayerPrivate.h
+++ b/src/3rdparty/webkit/WebCore/platform/graphics/MediaPlayerPrivate.h
@@ -46,7 +46,8 @@ public:
virtual void play() = 0;
virtual void pause() = 0;
- virtual bool supportsFullscreen() const { return false; };
+ virtual bool supportsFullscreen() const { return false; }
+ virtual bool supportsSave() const { return false; }
virtual IntSize naturalSize() const = 0;
@@ -85,7 +86,9 @@ public:
virtual void setSize(const IntSize&) = 0;
- virtual void paint(GraphicsContext*, const IntRect&) = 0 ;
+ virtual void paint(GraphicsContext*, const IntRect&) = 0;
+
+ virtual void paintCurrentFrameInContext(GraphicsContext* c, const IntRect& r) { paint(c, r); }
virtual void setAutobuffer(bool) { };
@@ -103,6 +106,9 @@ public:
#endif
virtual bool hasSingleSecurityOrigin() const { return false; }
+
+ virtual MediaPlayer::MovieLoadType movieLoadType() const { return MediaPlayer::Unknown; }
+
};
}
diff --git a/src/3rdparty/webkit/WebCore/platform/graphics/Path.h b/src/3rdparty/webkit/WebCore/platform/graphics/Path.h
index 9e2163b..0471724 100644
--- a/src/3rdparty/webkit/WebCore/platform/graphics/Path.h
+++ b/src/3rdparty/webkit/WebCore/platform/graphics/Path.h
@@ -103,6 +103,9 @@ namespace WebCore {
void clear();
bool isEmpty() const;
+ // Gets the current point of the current path, which is conceptually the final point reached by the path so far.
+ // Note the Path can be empty (isEmpty() == true) and still have a current point.
+ bool hasCurrentPoint() const;
void moveTo(const FloatPoint&);
void addLineTo(const FloatPoint&);
diff --git a/src/3rdparty/webkit/WebCore/platform/graphics/SegmentedFontData.cpp b/src/3rdparty/webkit/WebCore/platform/graphics/SegmentedFontData.cpp
index 1731d16..7e10040 100644
--- a/src/3rdparty/webkit/WebCore/platform/graphics/SegmentedFontData.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/graphics/SegmentedFontData.cpp
@@ -26,6 +26,7 @@
#include "config.h"
#include "SegmentedFontData.h"
+#include "PlatformString.h"
#include "SimpleFontData.h"
#include <wtf/Assertions.h>
@@ -87,4 +88,11 @@ bool SegmentedFontData::isSegmented() const
return true;
}
+#ifndef NDEBUG
+String SegmentedFontData::description() const
+{
+ return "[segmented font]";
+}
+#endif
+
} // namespace WebCore
diff --git a/src/3rdparty/webkit/WebCore/platform/graphics/SegmentedFontData.h b/src/3rdparty/webkit/WebCore/platform/graphics/SegmentedFontData.h
index 0a78321..645dc0d 100644
--- a/src/3rdparty/webkit/WebCore/platform/graphics/SegmentedFontData.h
+++ b/src/3rdparty/webkit/WebCore/platform/graphics/SegmentedFontData.h
@@ -59,6 +59,10 @@ public:
unsigned numRanges() const { return m_ranges.size(); }
const FontDataRange& rangeAt(unsigned i) const { return m_ranges[i]; }
+#ifndef NDEBUG
+ virtual String description() const;
+#endif
+
private:
virtual const SimpleFontData* fontDataForCharacter(UChar32) const;
virtual bool containsCharacters(const UChar*, int length) const;
diff --git a/src/3rdparty/webkit/WebCore/platform/graphics/SimpleFontData.cpp b/src/3rdparty/webkit/WebCore/platform/graphics/SimpleFontData.cpp
index bab7d99..c879228 100644
--- a/src/3rdparty/webkit/WebCore/platform/graphics/SimpleFontData.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/graphics/SimpleFontData.cpp
@@ -190,4 +190,16 @@ bool SimpleFontData::isSegmented() const
return false;
}
+#ifndef NDEBUG
+String SimpleFontData::description() const
+{
+ if (isSVGFont())
+ return "[SVG font]";
+ if (isCustomFont())
+ return "[custom font]";
+
+ return platformData().description();
+}
+#endif
+
} // namespace WebCore
diff --git a/src/3rdparty/webkit/WebCore/platform/graphics/SimpleFontData.h b/src/3rdparty/webkit/WebCore/platform/graphics/SimpleFontData.h
index aab6429..cb472b0 100644
--- a/src/3rdparty/webkit/WebCore/platform/graphics/SimpleFontData.h
+++ b/src/3rdparty/webkit/WebCore/platform/graphics/SimpleFontData.h
@@ -105,6 +105,10 @@ public:
const GlyphData& missingGlyphData() const { return m_missingGlyphData; }
+#ifndef NDEBUG
+ virtual String description() const;
+#endif
+
#if PLATFORM(MAC)
NSFont* getNSFont() const { return m_platformData.font(); }
#endif
diff --git a/src/3rdparty/webkit/WebCore/platform/graphics/qt/FontCacheQt.cpp b/src/3rdparty/webkit/WebCore/platform/graphics/qt/FontCacheQt.cpp
index 668912e..5d29389 100644
--- a/src/3rdparty/webkit/WebCore/platform/graphics/qt/FontCacheQt.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/graphics/qt/FontCacheQt.cpp
@@ -1,6 +1,8 @@
/*
Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies)
Copyright (C) 2008 Holger Hans Peter Freyther
+ Copyright (C) 2006, 2008 Apple Inc. All rights reserved.
+ Copyright (C) 2007 Nicholas Shanks <webkit@nickshanks.com>
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public
@@ -26,10 +28,13 @@
#include "FontDescription.h"
#include "FontPlatformData.h"
#include "Font.h"
+#include "PlatformString.h"
#include "StringHash.h"
+#include <utility>
+#include <wtf/ListHashSet.h>
#include <wtf/StdLibExtras.h>
-#include <QHash>
+using namespace WTF;
namespace WebCore {
@@ -47,36 +52,173 @@ void FontCache::getTraitsInFamily(const AtomicString& familyName, Vector<unsigne
{
}
-typedef QHash<FontDescription, FontPlatformData*> FontPlatformDataCache;
+// This type must be consistent with FontPlatformData's ctor - the one which
+// gets FontDescription as it's parameter.
+class FontPlatformDataCacheKey {
+public:
+ FontPlatformDataCacheKey(const FontDescription& description)
+ : m_familyName()
+ , m_bold(false)
+ , m_size(description.computedPixelSize())
+ , m_italic(description.italic())
+ , m_smallCaps(description.smallCaps())
+ , m_hash(0)
+ {
+ // FIXME: Map all FontWeight values to QFont weights in FontPlatformData's ctor and follow it here
+ if (FontPlatformData::toQFontWeight(description.weight()) > QFont::Normal)
+ m_bold = true;
-// using Q_GLOBAL_STATIC leads to crash. TODO investigate the way to fix this.
-static FontPlatformDataCache* gFontPlatformDataCache;
+ const FontFamily* family = &description.family();
+ while (family) {
+ m_familyName.append(family->family());
+ family = family->next();
+ if (family)
+ m_familyName.append(',');
+ }
-uint qHash(const FontDescription& key)
-{
- uint value = CaseFoldingHash::hash(key.family().family());
- value ^= key.computedPixelSize();
- value ^= static_cast<int>(key.weight());
- return value;
-}
+ computeHash();
+ }
+
+ FontPlatformDataCacheKey(const FontPlatformData& fontData)
+ : m_familyName(static_cast<String>(fontData.family()))
+ , m_size(fontData.pixelSize())
+ , m_bold(fontData.bold())
+ , m_italic(fontData.italic())
+ , m_smallCaps(fontData.smallCaps())
+ , m_hash(0)
+ {
+ computeHash();
+ }
+
+ FontPlatformDataCacheKey(HashTableDeletedValueType) : m_size(hashTableDeletedSize()) { }
+ bool isHashTableDeletedValue() const { return m_size == hashTableDeletedSize(); }
+
+ enum HashTableEmptyValueType { HashTableEmptyValue };
+
+ FontPlatformDataCacheKey(HashTableEmptyValueType)
+ : m_familyName()
+ , m_size(0)
+ , m_bold(false)
+ , m_italic(false)
+ , m_smallCaps(false)
+ , m_hash(0)
+ {
+ }
+
+ bool operator==(const FontPlatformDataCacheKey& other) const
+ {
+ if (m_hash != other.m_hash)
+ return false;
+
+ return equalIgnoringCase(m_familyName, other.m_familyName) && m_size == other.m_size &&
+ m_bold == other.m_bold && m_italic == other.m_italic && m_smallCaps == other.m_smallCaps;
+ }
+
+ unsigned hash() const
+ {
+ return m_hash;
+ }
+
+ void computeHash()
+ {
+ unsigned hashCodes[] = {
+ CaseFoldingHash::hash(m_familyName),
+ m_size | static_cast<unsigned>(m_bold << sizeof(unsigned) * 8 - 1)
+ | static_cast<unsigned>(m_italic) << sizeof(unsigned) *8 - 2
+ | static_cast<unsigned>(m_smallCaps) << sizeof(unsigned) * 8 - 3
+ };
+ m_hash = StringImpl::computeHash(reinterpret_cast<UChar*>(hashCodes), sizeof(hashCodes) / sizeof(UChar));
+ }
+
+private:
+ String m_familyName;
+ int m_size;
+ bool m_bold;
+ bool m_italic;
+ bool m_smallCaps;
+ unsigned m_hash;
+
+ static unsigned hashTableDeletedSize() { return 0xFFFFFFFFU; }
+};
+
+struct FontPlatformDataCacheKeyHash {
+ static unsigned hash(const FontPlatformDataCacheKey& key)
+ {
+ return key.hash();
+ }
+
+ static bool equal(const FontPlatformDataCacheKey& a, const FontPlatformDataCacheKey& b)
+ {
+ return a == b;
+ }
+
+ static const bool safeToCompareToEmptyOrDeleted = true;
+};
+
+struct FontPlatformDataCacheKeyTraits : WTF::GenericHashTraits<FontPlatformDataCacheKey> {
+ static const bool needsDestruction = true;
+ static const FontPlatformDataCacheKey& emptyValue()
+ {
+ DEFINE_STATIC_LOCAL(FontPlatformDataCacheKey, key, (FontPlatformDataCacheKey::HashTableEmptyValue));
+ return key;
+ }
+ static void constructDeletedValue(FontPlatformDataCacheKey& slot)
+ {
+ new (&slot) FontPlatformDataCacheKey(HashTableDeletedValue);
+ }
+ static bool isDeletedValue(const FontPlatformDataCacheKey& value)
+ {
+ return value.isHashTableDeletedValue();
+ }
+};
+
+typedef HashMap<FontPlatformDataCacheKey, FontPlatformData*, FontPlatformDataCacheKeyHash, FontPlatformDataCacheKeyTraits> FontPlatformDataCache;
+
+// using Q_GLOBAL_STATIC leads to crash. TODO investigate the way to fix this.
+static FontPlatformDataCache* gFontPlatformDataCache = 0;
FontPlatformData* FontCache::getCachedFontPlatformData(const FontDescription& description, const AtomicString& family, bool checkingAlternateName)
{
if (!gFontPlatformDataCache)
gFontPlatformDataCache = new FontPlatformDataCache;
- FontPlatformData* fontData = gFontPlatformDataCache->value(description, 0);
- if (!fontData) {
- fontData = new FontPlatformData(description);
- gFontPlatformDataCache->insert(description, fontData);
+ FontPlatformDataCacheKey key(description);
+ FontPlatformData* platformData = gFontPlatformDataCache->get(key);
+ if (!platformData) {
+ platformData = new FontPlatformData(description);
+ gFontPlatformDataCache->add(key, platformData);
}
-
- return fontData;
+ return platformData;
}
-SimpleFontData* FontCache::getCachedFontData(const FontPlatformData*)
+typedef HashMap<FontPlatformDataCacheKey, std::pair<SimpleFontData*, unsigned>, FontPlatformDataCacheKeyHash, FontPlatformDataCacheKeyTraits> FontDataCache;
+
+static FontDataCache* gFontDataCache = 0;
+
+static const int cMaxInactiveFontData = 40;
+static const int cTargetInactiveFontData = 32;
+
+static ListHashSet<const SimpleFontData*>* gInactiveFontDataSet = 0;
+
+SimpleFontData* FontCache::getCachedFontData(const FontPlatformData* fontPlatformData)
{
- return 0;
+ if (!gFontDataCache) {
+ gFontDataCache = new FontDataCache;
+ gInactiveFontDataSet = new ListHashSet<const SimpleFontData*>;
+ }
+
+ FontPlatformDataCacheKey key(*fontPlatformData);
+ FontDataCache::iterator it = gFontDataCache->find(key);
+ if (it == gFontDataCache->end()) {
+ SimpleFontData* fontData = new SimpleFontData(*fontPlatformData);
+ gFontDataCache->add(key, std::pair<SimpleFontData*, unsigned>(fontData, 1));
+ return fontData;
+ }
+ if (!it->second.second++) {
+ ASSERT(gInactiveFontDataSet->contains(it->second.first));
+ gInactiveFontDataSet->remove(it->second.first);
+ }
+ return it->second.first;
}
FontPlatformData* FontCache::getLastResortFallbackFont(const FontDescription&)
@@ -84,8 +226,52 @@ FontPlatformData* FontCache::getLastResortFallbackFont(const FontDescription&)
return 0;
}
-void FontCache::releaseFontData(const WebCore::SimpleFontData*)
+void FontCache::releaseFontData(const WebCore::SimpleFontData* fontData)
{
+ ASSERT(gFontDataCache);
+ ASSERT(!fontData->isCustomFont());
+
+ FontPlatformDataCacheKey key(fontData->platformData());
+ FontDataCache::iterator it = gFontDataCache->find(key);
+ ASSERT(it != gFontDataCache->end());
+ if (!--it->second.second) {
+ gInactiveFontDataSet->add(it->second.first);
+ if (gInactiveFontDataSet->size() > cMaxInactiveFontData)
+ purgeInactiveFontData(gInactiveFontDataSet->size() - cTargetInactiveFontData);
+ }
+}
+
+void FontCache::purgeInactiveFontData(int count)
+{
+ static bool isPurging; // Guard against reentry when e.g. a deleted FontData releases its small caps FontData.
+ if (isPurging)
+ return;
+
+ isPurging = true;
+
+ ListHashSet<const SimpleFontData*>::iterator it = gInactiveFontDataSet->begin();
+ ListHashSet<const SimpleFontData*>::iterator end = gInactiveFontDataSet->end();
+ for (int i = 0; i < count && it != end; ++i, ++it) {
+ FontPlatformDataCacheKey key = (*it)->platformData();
+ pair<SimpleFontData*, unsigned> fontDataPair = gFontDataCache->take(key);
+ ASSERT(fontDataPair.first != 0);
+ ASSERT(!fontDataPair.second);
+ delete fontDataPair.first;
+
+ FontPlatformData* platformData = gFontPlatformDataCache->take(key);
+ if (platformData)
+ delete platformData;
+ }
+
+ if (it == end) {
+ // Removed everything
+ gInactiveFontDataSet->clear();
+ } else {
+ for (int i = 0; i < count; ++i)
+ gInactiveFontDataSet->remove(gInactiveFontDataSet->begin());
+ }
+
+ isPurging = false;
}
void FontCache::addClient(FontSelector*)
@@ -98,10 +284,10 @@ void FontCache::removeClient(FontSelector*)
void FontCache::invalidate()
{
- if (!gFontPlatformDataCache)
+ if (!gFontPlatformDataCache || !gFontDataCache)
return;
- gFontPlatformDataCache->clear();
+ purgeInactiveFontData();
}
} // namespace WebCore
diff --git a/src/3rdparty/webkit/WebCore/platform/graphics/qt/FontFallbackListQt.cpp b/src/3rdparty/webkit/WebCore/platform/graphics/qt/FontFallbackListQt.cpp
index 29e7718..c29fd56 100644
--- a/src/3rdparty/webkit/WebCore/platform/graphics/qt/FontFallbackListQt.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/graphics/qt/FontFallbackListQt.cpp
@@ -25,6 +25,7 @@
#include "FontFallbackList.h"
#include "Font.h"
+#include "FontCache.h"
#include "SegmentedFontData.h"
#include <QDebug>
@@ -58,9 +59,15 @@ void FontFallbackList::invalidate(WTF::PassRefPtr<WebCore::FontSelector> fontSel
void FontFallbackList::releaseFontData()
{
- if (m_fontList.size())
- delete m_fontList[0].first;
- m_fontList.clear();
+ unsigned numFonts = m_fontList.size();
+ for (unsigned i = 0; i < numFonts; ++i) {
+ if (m_fontList[i].second)
+ delete m_fontList[i].first;
+ else {
+ ASSERT(!m_fontList[i].first->isSegmented());
+ fontCache()->releaseFontData(static_cast<const SimpleFontData*>(m_fontList[i].first));
+ }
+ }
}
void FontFallbackList::determinePitch(const WebCore::Font* font) const
@@ -83,6 +90,14 @@ const FontData* FontFallbackList::fontDataAt(const WebCore::Font* _font, unsigne
if (index != 0)
return 0;
+ // Search for the WebCore font that is already in the list
+ for (int i = m_fontList.size() - 1; i >= 0; --i) {
+ pair<const FontData*, bool> item = m_fontList[i];
+ // item.second means that the item was created locally or not
+ if (!item.second)
+ return item.first;
+ }
+
// Use the FontSelector to get a WebCore font and then fallback to Qt
const FontDescription& description = _font->fontDescription();
const FontFamily* family = &description.family();
@@ -92,6 +107,10 @@ const FontData* FontFallbackList::fontDataAt(const WebCore::Font* _font, unsigne
if (data) {
if (data->isLoading())
m_loadingCustomFonts = true;
+ if (!data->isCustomFont()) {
+ // Custom fonts can be freed anytime so we must not hold them
+ m_fontList.append(pair<const FontData*, bool>(data, false));
+ }
return data;
}
}
@@ -101,8 +120,8 @@ const FontData* FontFallbackList::fontDataAt(const WebCore::Font* _font, unsigne
if (m_fontList.size())
return m_fontList[0].first;
- const FontData* result = new SimpleFontData(FontPlatformData(description), _font->wordSpacing(), _font->letterSpacing());
- m_fontList.append(pair<const FontData*, bool>(result, result->isCustomFont()));
+ const FontData* result = new SimpleFontData(FontPlatformData(description, _font->wordSpacing(), _font->letterSpacing()), true);
+ m_fontList.append(pair<const FontData*, bool>(result, true));
return result;
}
diff --git a/src/3rdparty/webkit/WebCore/platform/graphics/qt/FontPlatformData.h b/src/3rdparty/webkit/WebCore/platform/graphics/qt/FontPlatformData.h
index 5e97678..92219fd 100644
--- a/src/3rdparty/webkit/WebCore/platform/graphics/qt/FontPlatformData.h
+++ b/src/3rdparty/webkit/WebCore/platform/graphics/qt/FontPlatformData.h
@@ -1,6 +1,7 @@
/*
Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies)
Copyright (C) 2008 Holger Hans Peter Freyther
+ Copyright (C) 2009 Torch Mobile Inc. http://www.torchmobile.com/
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public
@@ -24,11 +25,12 @@
#define FontPlatformData_h
#include "FontDescription.h"
-
#include <QFont>
namespace WebCore {
+class String;
+
class FontPlatformData
{
public:
@@ -39,8 +41,38 @@ public:
FontPlatformData(const FontDescription&, int wordSpacing = 0, int letterSpacing = 0);
FontPlatformData(const QFont&, bool bold);
+ static inline QFont::Weight toQFontWeight(FontWeight fontWeight)
+ {
+ switch (fontWeight) {
+ case FontWeight100:
+ case FontWeight200:
+ return QFont::Light; // QFont::Light == Weight of 25
+ case FontWeight600:
+ return QFont::DemiBold; // QFont::DemiBold == Weight of 63
+ case FontWeight700:
+ case FontWeight800:
+ return QFont::Bold; // QFont::Bold == Weight of 75
+ case FontWeight900:
+ return QFont::Black; // QFont::Black == Weight of 87
+ case FontWeight300:
+ case FontWeight400:
+ case FontWeight500:
+ default:
+ return QFont::Normal; // QFont::Normal == Weight of 50
+ }
+ }
+
QFont font() const { return m_font; }
float size() const { return m_size; }
+ QString family() const { return m_font.family(); }
+ bool bold() const { return m_bold; }
+ bool italic() const { return m_font.italic(); }
+ bool smallCaps() const { return m_font.capitalization() == QFont::SmallCaps; }
+ int pixelSize() const { return m_font.pixelSize(); }
+
+#ifndef NDEBUG
+ String description() const;
+#endif
float m_size;
bool m_bold;
diff --git a/src/3rdparty/webkit/WebCore/platform/graphics/qt/FontPlatformDataQt.cpp b/src/3rdparty/webkit/WebCore/platform/graphics/qt/FontPlatformDataQt.cpp
index f0dd3ea..7709be6 100644
--- a/src/3rdparty/webkit/WebCore/platform/graphics/qt/FontPlatformDataQt.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/graphics/qt/FontPlatformDataQt.cpp
@@ -1,5 +1,6 @@
/*
Copyright (C) 2008 Holger Hans Peter Freyther
+ Copyright (C) 2009 Torch Mobile Inc. http://www.torchmobile.com/
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public
@@ -21,6 +22,8 @@
#include "config.h"
#include "FontPlatformData.h"
+#include "PlatformString.h"
+
namespace WebCore {
FontPlatformData::FontPlatformData(const FontDescription& description, int wordSpacing, int letterSpacing)
@@ -40,11 +43,9 @@ FontPlatformData::FontPlatformData(const FontDescription& description, int wordS
m_font.setFamily(familyName);
m_font.setPixelSize(qRound(description.computedSize()));
m_font.setItalic(description.italic());
- // FIXME: Map all FontWeight values to QFont weights.
- if (description.weight() >= FontWeight600)
- m_font.setWeight(QFont::Bold);
- else
- m_font.setWeight(QFont::Normal);
+
+ m_font.setWeight(toQFontWeight(description.weight()));
+ m_bold = m_font.bold();
bool smallCaps = description.smallCaps();
m_font.setCapitalization(smallCaps ? QFont::SmallCaps : QFont::MixedCase);
@@ -77,4 +78,11 @@ FontPlatformData::FontPlatformData()
{
}
+#ifndef NDEBUG
+String FontPlatformData::description() const
+{
+ return String();
+}
+#endif
+
}
diff --git a/src/3rdparty/webkit/WebCore/platform/graphics/qt/FontQt.cpp b/src/3rdparty/webkit/WebCore/platform/graphics/qt/FontQt.cpp
index 5a4b7b2..f89ff9f 100644
--- a/src/3rdparty/webkit/WebCore/platform/graphics/qt/FontQt.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/graphics/qt/FontQt.cpp
@@ -47,8 +47,8 @@ namespace WebCore {
static const QString qstring(const TextRun& run)
{
- //We don't detach
- return QString::fromRawData((const QChar *)run.characters(), run.length());
+ // We don't detach
+ return QString::fromRawData(reinterpret_cast<const QChar*>(run.characters()), run.length());
}
static const QString fixSpacing(const QString &string)
@@ -57,11 +57,10 @@ static const QString fixSpacing(const QString &string)
QString possiblyDetached = string;
for (int i = 0; i < string.length(); ++i) {
const QChar c = string.at(i);
- if (c.unicode() != 0x20 && Font::treatAsSpace(c.unicode())) {
- possiblyDetached[i] = 0x20; //detach
- } else if (c.unicode() != 0x200c && Font::treatAsZeroWidthSpace(c.unicode())) {
- possiblyDetached[i] = 0x200c; //detach
- }
+ if (c.unicode() != 0x20 && Font::treatAsSpace(c.unicode()))
+ possiblyDetached[i] = 0x20; // detach
+ else if (c.unicode() != 0x200c && Font::treatAsZeroWidthSpace(c.unicode()))
+ possiblyDetached[i] = 0x200c; // detach
}
return possiblyDetached;
}
diff --git a/src/3rdparty/webkit/WebCore/platform/graphics/qt/FontQt43.cpp b/src/3rdparty/webkit/WebCore/platform/graphics/qt/FontQt43.cpp
index 137b7c9..45bf05d 100644
--- a/src/3rdparty/webkit/WebCore/platform/graphics/qt/FontQt43.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/graphics/qt/FontQt43.cpp
@@ -105,9 +105,9 @@ static int generateComponents(Vector<TextRunComponent, 1024>* components, const
offset += add + letterSpacing + components->last().width;
start = 1;
// qDebug() << "space at 0" << offset;
- } else if (smallCaps) {
+ } else if (smallCaps)
f = (QChar::category(run[0]) == QChar::Letter_Lowercase ? &font.scFont() : &font.font());
- }
+
for (int i = 1; i < run.length(); ++i) {
uint ch = run[i];
if (QChar(ch).isHighSurrogate() && QChar(run[i-1]).isLowSurrogate())
@@ -263,7 +263,7 @@ int Font::offsetForPositionForComplexText(const TextRun& run, int position, bool
if (!l.isValid())
return offset;
- l.setLineWidth(INT_MAX/256);
+ l.setLineWidth(INT_MAX / 256);
layout.endLayout();
if (position - xs >= l.width())
@@ -272,9 +272,8 @@ int Font::offsetForPositionForComplexText(const TextRun& run, int position, bool
if (cursor > 1)
--cursor;
return offset + cursor;
- } else {
+ } else
offset += components.at(i).string.length() - 1;
- }
}
} else {
for (int i = 0; i < components.size(); ++i) {
@@ -287,7 +286,7 @@ int Font::offsetForPositionForComplexText(const TextRun& run, int position, bool
if (!l.isValid())
return offset;
- l.setLineWidth(INT_MAX/256);
+ l.setLineWidth(INT_MAX / 256);
layout.endLayout();
if (position - xs >= l.width())
@@ -296,9 +295,8 @@ int Font::offsetForPositionForComplexText(const TextRun& run, int position, bool
if (cursor > 1)
--cursor;
return offset + cursor;
- } else {
+ } else
offset += components.at(i).string.length() - 1;
- }
}
}
return run.length();
@@ -321,7 +319,7 @@ static float cursorToX(const Vector<TextRunComponent, 1024>& components, int wid
if (!l.isValid())
return 0;
- l.setLineWidth(INT_MAX/256);
+ l.setLineWidth(INT_MAX / 256);
layout.endLayout();
return xs + l.cursorToX(cursor - start + 1);
diff --git a/src/3rdparty/webkit/WebCore/platform/graphics/qt/GradientQt.cpp b/src/3rdparty/webkit/WebCore/platform/graphics/qt/GradientQt.cpp
index 1e71f58..9b9acc2 100644
--- a/src/3rdparty/webkit/WebCore/platform/graphics/qt/GradientQt.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/graphics/qt/GradientQt.cpp
@@ -67,7 +67,7 @@ QGradient* Gradient::platformGradient()
++stopIterator;
}
- switch(m_spreadMethod) {
+ switch (m_spreadMethod) {
case SpreadMethodPad:
m_gradient->setSpread(QGradient::PadSpread);
break;
diff --git a/src/3rdparty/webkit/WebCore/platform/graphics/qt/GraphicsContextQt.cpp b/src/3rdparty/webkit/WebCore/platform/graphics/qt/GraphicsContextQt.cpp
index 8503fb5..a35c5ac 100644
--- a/src/3rdparty/webkit/WebCore/platform/graphics/qt/GraphicsContextQt.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/graphics/qt/GraphicsContextQt.cpp
@@ -155,7 +155,7 @@ static Qt::PenStyle toQPenStyle(StrokeStyle style)
static inline Qt::FillRule toQtFillRule(WindRule rule)
{
- switch(rule) {
+ switch (rule) {
case RULE_EVENODD:
return Qt::OddEvenFill;
case RULE_NONZERO:
@@ -165,8 +165,7 @@ static inline Qt::FillRule toQtFillRule(WindRule rule)
return Qt::OddEvenFill;
}
-struct TransparencyLayer
-{
+struct TransparencyLayer {
TransparencyLayer(const QPainter* p, const QRect &rect)
: pixmap(rect.width(), rect.height())
{
@@ -198,8 +197,7 @@ private:
TransparencyLayer & operator=(const TransparencyLayer &) { return *this; }
};
-class GraphicsContextPlatformPrivate
-{
+class GraphicsContextPlatformPrivate {
public:
GraphicsContextPlatformPrivate(QPainter* painter);
~GraphicsContextPlatformPrivate();
@@ -217,7 +215,7 @@ public:
bool antiAliasingForRectsAndLines;
- QStack<TransparencyLayer *> layers;
+ QStack<TransparencyLayer*> layers;
QPainter* redirect;
QBrush solidColor;
@@ -242,9 +240,8 @@ GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate(QPainter* p)
antiAliasingForRectsAndLines = painter->testRenderHint(QPainter::Antialiasing);
// FIXME: Maybe only enable in SVG mode?
painter->setRenderHint(QPainter::Antialiasing, true);
- } else {
+ } else
antiAliasingForRectsAndLines = false;
- }
}
GraphicsContextPlatformPrivate::~GraphicsContextPlatformPrivate()
@@ -265,7 +262,7 @@ GraphicsContext::GraphicsContext(PlatformGraphicsContext* context)
GraphicsContext::~GraphicsContext()
{
- while(!m_data->layers.isEmpty())
+ while (!m_data->layers.isEmpty())
endTransparencyLayer();
destroyGraphicsContextPrivate(m_common);
@@ -280,7 +277,7 @@ PlatformGraphicsContext* GraphicsContext::platformContext() const
TransformationMatrix GraphicsContext::getCTM() const
{
QTransform matrix(platformContext()->combinedTransform());
- return TransformationMatrix(matrix.m11(), matrix.m12(), 0, matrix.m13(),
+ return TransformationMatrix(matrix.m11(), matrix.m12(), 0, matrix.m13(),
matrix.m21(), matrix.m22(), 0, matrix.m23(),
0, 0, 1, 0,
matrix.m31(), matrix.m32(), 0, matrix.m33());
@@ -1126,8 +1123,9 @@ void GraphicsContext::concatCTM(const TransformationMatrix& transform)
m_data->p()->setWorldTransform(transform, true);
- // Transformations to the context shouldn't transform the currentPath.
- // We have to undo every change made to the context from the currentPath to avoid wrong drawings.
+ // Transformations to the context shouldn't transform the currentPath.
+ // We have to undo every change made to the context from the currentPath
+ // to avoid wrong drawings.
if (!m_data->currentPath.isEmpty() && transform.isInvertible()) {
QTransform matrix = transform.inverse();
m_data->currentPath = m_data->currentPath * matrix;
@@ -1210,7 +1208,7 @@ HDC GraphicsContext::getWindowsContext(const IntRect& dstRect, bool supportAlpha
bitmapInfo.bmiHeader.biClrImportant = 0;
void* pixels = 0;
- HBITMAP bitmap = ::CreateDIBSection(NULL, &bitmapInfo, DIB_RGB_COLORS, &pixels, 0, 0);
+ HBITMAP bitmap = ::CreateDIBSection(0, &bitmapInfo, DIB_RGB_COLORS, &pixels, 0, 0);
if (!bitmap)
return 0;
diff --git a/src/3rdparty/webkit/WebCore/platform/graphics/qt/IconQt.cpp b/src/3rdparty/webkit/WebCore/platform/graphics/qt/IconQt.cpp
index c9f3ced..34c3c47 100644
--- a/src/3rdparty/webkit/WebCore/platform/graphics/qt/IconQt.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/graphics/qt/IconQt.cpp
@@ -39,7 +39,7 @@ Icon::Icon()
Icon::~Icon()
{
}
-
+
PassRefPtr<Icon> Icon::createIconForFile(const String& filename)
{
RefPtr<Icon> i = adoptRef(new Icon);
@@ -57,9 +57,8 @@ void Icon::paint(GraphicsContext* ctx, const IntRect& rect)
{
QPixmap px = m_icon.pixmap(rect.size());
QPainter *p = static_cast<QPainter*>(ctx->platformContext());
- if (p && !px.isNull()) {
+ if (p && !px.isNull())
p->drawPixmap(rect.x(), rect.y(), px);
- }
}
}
diff --git a/src/3rdparty/webkit/WebCore/platform/graphics/qt/ImageDecoderQt.cpp b/src/3rdparty/webkit/WebCore/platform/graphics/qt/ImageDecoderQt.cpp
index 9a7fd75..669be1c 100644
--- a/src/3rdparty/webkit/WebCore/platform/graphics/qt/ImageDecoderQt.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/graphics/qt/ImageDecoderQt.cpp
@@ -118,7 +118,7 @@ ImageDecoderQt::ReadContext::ReadResult
// Attempt to construct an empty image of the matching size and format
// for efficient reading
QImage newImage = m_dataFormat != QImage::Format_Invalid ?
- QImage(m_size,m_dataFormat) : QImage();
+ QImage(m_size, m_dataFormat) : QImage();
m_target.push_back(ImageData(newImage));
}
@@ -137,8 +137,8 @@ ImageDecoderQt::ReadContext::ReadResult
const bool supportsAnimation = m_reader.supportsAnimation();
if (debugImageDecoderQt)
- qDebug() << "readImage(): #" << m_target.size() << " complete, " << m_size << " format " << m_dataFormat
- << " supportsAnimation=" << supportsAnimation ;
+ qDebug() << "readImage(): #" << m_target.size() << " complete, " << m_size
+ << " format " << m_dataFormat << " supportsAnimation=" << supportsAnimation;
// No point in readinfg further
if (!supportsAnimation)
return ReadComplete;
@@ -158,7 +158,7 @@ ImageDecoderQt::ReadContext::IncrementalReadResult
// set state to reflect complete header, etc.
// For now, we read the whole image.
- const qint64 startPos = m_buffer.pos ();
+ const qint64 startPos = m_buffer.pos();
// Oops, failed. Rewind.
if (!m_reader.read(&imageData.m_image)) {
m_buffer.seek(startPos);
@@ -236,7 +236,7 @@ void ImageDecoderQt::setData(const IncomingData &data, bool allDataReceived)
if (debugImageDecoderQt)
qDebug() << " read returns " << readResult;
- switch ( readResult) {
+ switch (readResult) {
case ReadContext::ReadFailed:
m_failed = true;
break;
diff --git a/src/3rdparty/webkit/WebCore/platform/graphics/qt/ImageQt.cpp b/src/3rdparty/webkit/WebCore/platform/graphics/qt/ImageQt.cpp
index a2e96f3..5d40e26 100644
--- a/src/3rdparty/webkit/WebCore/platform/graphics/qt/ImageQt.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/graphics/qt/ImageQt.cpp
@@ -83,7 +83,6 @@ bool FrameData::clear(bool clearMetadata)
}
-
// ================================================
// Image Class
// ================================================
@@ -93,7 +92,6 @@ PassRefPtr<Image> Image::loadPlatformResource(const char* name)
return StillImage::create(loadResourcePixmap(name));
}
-
void Image::drawPattern(GraphicsContext* ctxt, const FloatRect& tileRect, const TransformationMatrix& patternTransform,
const FloatPoint& phase, CompositeOperator op, const FloatRect& destRect)
{
@@ -103,9 +101,8 @@ void Image::drawPattern(GraphicsContext* ctxt, const FloatRect& tileRect, const
QPixmap pixmap = *framePixmap;
QRect tr = QRectF(tileRect).toRect();
- if (tr.x() || tr.y() || tr.width() != pixmap.width() || tr.height() != pixmap.height()) {
+ if (tr.x() || tr.y() || tr.width() != pixmap.width() || tr.height() != pixmap.height())
pixmap = pixmap.copy(tr);
- }
QBrush b(pixmap);
b.setTransform(patternTransform);
@@ -129,7 +126,7 @@ void BitmapImage::initPlatformData()
void BitmapImage::invalidatePlatformData()
{
}
-
+
// Drawing Routines
void BitmapImage::draw(GraphicsContext* ctxt, const FloatRect& dst,
const FloatRect& src, CompositeOperator op)
@@ -139,7 +136,7 @@ void BitmapImage::draw(GraphicsContext* ctxt, const FloatRect& dst,
QPixmap* image = nativeImageForCurrentFrame();
if (!image)
return;
-
+
if (mayFillWithSolidColor()) {
fillWithSolidColor(ctxt, dst, solidColor(), op);
return;
@@ -158,7 +155,7 @@ void BitmapImage::draw(GraphicsContext* ctxt, const FloatRect& dst,
painter->setCompositionMode(QPainter::CompositionMode_Source);
// Test using example site at
- // http://www.meyerweb.com/eric/css/edge/complexspiral/demo.html
+ // http://www.meyerweb.com/eric/css/edge/complexspiral/demo.html
painter->drawPixmap(dst, *image, src);
ctxt->restore();
diff --git a/src/3rdparty/webkit/WebCore/platform/graphics/qt/ImageSourceQt.cpp b/src/3rdparty/webkit/WebCore/platform/graphics/qt/ImageSourceQt.cpp
index 621728e..1ffc1eb 100644
--- a/src/3rdparty/webkit/WebCore/platform/graphics/qt/ImageSourceQt.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/graphics/qt/ImageSourceQt.cpp
@@ -124,7 +124,7 @@ float ImageSource::frameDurationAtIndex(size_t index)
{
if (!m_decoder)
return 0;
-
+
// Many annoying ads specify a 0 duration to make an image flash as quickly
// as possible. We follow WinIE's behavior and use a duration of 100 ms
// for any frames that specify a duration of <= 50 ms. See
@@ -138,17 +138,17 @@ bool ImageSource::frameHasAlphaAtIndex(size_t index)
{
if (!m_decoder || !m_decoder->supportsAlpha())
return false;
-
- const QPixmap* source = m_decoder->imageAtIndex( index);
+
+ const QPixmap* source = m_decoder->imageAtIndex(index);
if (!source)
return false;
-
+
return source->hasAlphaChannel();
}
bool ImageSource::frameIsCompleteAtIndex(size_t index)
{
- return (m_decoder && m_decoder->imageAtIndex(index) != 0);
+ return (m_decoder && m_decoder->imageAtIndex(index));
}
void ImageSource::clear(bool destroyAll, size_t clearBeforeFrame, SharedBuffer* data, bool allDataReceived)
diff --git a/src/3rdparty/webkit/WebCore/platform/graphics/qt/MediaPlayerPrivatePhonon.cpp b/src/3rdparty/webkit/WebCore/platform/graphics/qt/MediaPlayerPrivatePhonon.cpp
index 896e3b8..76b1494 100644
--- a/src/3rdparty/webkit/WebCore/platform/graphics/qt/MediaPlayerPrivatePhonon.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/graphics/qt/MediaPlayerPrivatePhonon.cpp
@@ -43,7 +43,7 @@
using namespace Phonon;
-#define LOG_MEDIAOBJECT() (LOG(Media,"%s", debugMediaObject(this, *m_mediaObject).constData()))
+#define LOG_MEDIAOBJECT() (LOG(Media, "%s", debugMediaObject(this, *m_mediaObject).constData()))
static QByteArray debugMediaObject(WebCore::MediaPlayerPrivate* mediaPlayer, const MediaObject& mediaObject)
{
@@ -97,9 +97,8 @@ MediaPlayerPrivate::MediaPlayerPrivate(MediaPlayer* player)
// Make sure we get updates for each frame
m_videoWidget->installEventFilter(this);
- foreach(QWidget* widget, qFindChildren<QWidget*>(m_videoWidget)) {
+ foreach (QWidget* widget, qFindChildren<QWidget*>(m_videoWidget))
widget->installEventFilter(this);
- }
connect(m_mediaObject, SIGNAL(stateChanged(Phonon::State, Phonon::State)),
this, SLOT(stateChanged(Phonon::State, Phonon::State)));
@@ -114,8 +113,8 @@ MediaPlayerPrivate::MediaPlayerPrivate(MediaPlayer* player)
connect(m_mediaObject, SIGNAL(totalTimeChanged(qint64)), this, SLOT(totalTimeChanged(qint64)));
}
-MediaPlayerPrivateInterface* MediaPlayerPrivate::create(MediaPlayer* player)
-{
+MediaPlayerPrivateInterface* MediaPlayerPrivate::create(MediaPlayer* player)
+{
return new MediaPlayerPrivate(player);
}
@@ -266,7 +265,7 @@ float MediaPlayerPrivate::maxTimeSeekable() const
}
unsigned MediaPlayerPrivate::bytesLoaded() const
-{
+{
notImplemented();
return 0;
}
@@ -346,9 +345,8 @@ void MediaPlayerPrivate::updateStates()
m_networkState = MediaPlayer::NetworkError;
m_readyState = MediaPlayer::HaveNothing;
cancelLoad();
- } else {
+ } else
m_mediaObject->pause();
- }
}
if (seeking())
diff --git a/src/3rdparty/webkit/WebCore/platform/graphics/qt/PathQt.cpp b/src/3rdparty/webkit/WebCore/platform/graphics/qt/PathQt.cpp
index 7569031..39e243e 100644
--- a/src/3rdparty/webkit/WebCore/platform/graphics/qt/PathQt.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/graphics/qt/PathQt.cpp
@@ -170,8 +170,8 @@ void Path::addArcTo(const FloatPoint& p1, const FloatPoint& p2, float radius)
return;
}
- FloatPoint p1p0((p0.x() - p1.x()),(p0.y() - p1.y()));
- FloatPoint p1p2((p2.x() - p1.x()),(p2.y() - p1.y()));
+ FloatPoint p1p0((p0.x() - p1.x()), (p0.y() - p1.y()));
+ FloatPoint p1p2((p2.x() - p1.x()), (p2.y() - p1.y()));
float p1p0_length = sqrtf(p1p0.x() * p1p0.x() + p1p0.y() * p1p0.y());
float p1p2_length = sqrtf(p1p2.x() * p1p2.x() + p1p2.y() * p1p2.y());
@@ -216,7 +216,7 @@ void Path::addArcTo(const FloatPoint& p1, const FloatPoint& p2, float radius)
float factor_p1p2 = tangent / p1p2_length;
FloatPoint t_p1p2((p1.x() + factor_p1p2 * p1p2.x()), (p1.y() + factor_p1p2 * p1p2.y()));
- FloatPoint orth_p1p2((t_p1p2.x() - p.x()),(t_p1p2.y() - p.y()));
+ FloatPoint orth_p1p2((t_p1p2.x() - p.x()), (t_p1p2.y() - p.y()));
float orth_p1p2_length = sqrtf(orth_p1p2.x() * orth_p1p2.x() + orth_p1p2.y() * orth_p1p2.y());
float ea = acos(orth_p1p2.x() / orth_p1p2_length);
if (orth_p1p2.y() < 0)
@@ -298,7 +298,14 @@ void Path::clear()
bool Path::isEmpty() const
{
- return m_path->isEmpty();
+ // Don't use QPainterPath::isEmpty(), as that also returns true if there's only
+ // one initial MoveTo element in the path.
+ return !m_path->elementCount();
+}
+
+bool Path::hasCurrentPoint() const
+{
+ return !isEmpty();
}
String Path::debugString() const
diff --git a/src/3rdparty/webkit/WebCore/platform/graphics/qt/TransformationMatrixQt.cpp b/src/3rdparty/webkit/WebCore/platform/graphics/qt/TransformationMatrixQt.cpp
index 15f0cc5..37b86f3 100644
--- a/src/3rdparty/webkit/WebCore/platform/graphics/qt/TransformationMatrixQt.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/graphics/qt/TransformationMatrixQt.cpp
@@ -32,7 +32,7 @@
namespace WebCore {
TransformationMatrix::operator QTransform() const
-{
+{
return QTransform(m11(), m12(), m14(), m21(), m22(), m24(), m41(), m42(), m44());
}
diff --git a/src/3rdparty/webkit/WebCore/platform/mac/LocalCurrentGraphicsContext.h b/src/3rdparty/webkit/WebCore/platform/mac/LocalCurrentGraphicsContext.h
index 1c5cae7..90beb40 100644
--- a/src/3rdparty/webkit/WebCore/platform/mac/LocalCurrentGraphicsContext.h
+++ b/src/3rdparty/webkit/WebCore/platform/mac/LocalCurrentGraphicsContext.h
@@ -31,7 +31,7 @@ class GraphicsContext;
// This class automatically saves and restores the current NSGraphicsContext for
// functions which call out into AppKit and rely on the currentContext being set
-class LocalCurrentGraphicsContext : Noncopyable {
+class LocalCurrentGraphicsContext : public Noncopyable {
public:
LocalCurrentGraphicsContext(GraphicsContext* graphicsContext);
~LocalCurrentGraphicsContext();
diff --git a/src/3rdparty/webkit/WebCore/platform/mac/LocalizedStringsMac.mm b/src/3rdparty/webkit/WebCore/platform/mac/LocalizedStringsMac.mm
index ebb6d93..fdd7df5 100644
--- a/src/3rdparty/webkit/WebCore/platform/mac/LocalizedStringsMac.mm
+++ b/src/3rdparty/webkit/WebCore/platform/mac/LocalizedStringsMac.mm
@@ -697,4 +697,20 @@ String imageTitle(const String& filename, const IntSize& size)
return String();
}
+String mediaElementLoadingStateText()
+{
+ BEGIN_BLOCK_OBJC_EXCEPTIONS;
+ return [[WebCoreViewFactory sharedFactory] mediaElementLoadingStateText];
+ END_BLOCK_OBJC_EXCEPTIONS;
+ return String();
+}
+
+String mediaElementLiveBroadcastStateText()
+{
+ BEGIN_BLOCK_OBJC_EXCEPTIONS;
+ return [[WebCoreViewFactory sharedFactory] mediaElementLiveBroadcastStateText];
+ END_BLOCK_OBJC_EXCEPTIONS;
+ return String();
+}
+
}
diff --git a/src/3rdparty/webkit/WebCore/platform/mac/RuntimeApplicationChecks.h b/src/3rdparty/webkit/WebCore/platform/mac/RuntimeApplicationChecks.h
index 44eedfa..f9c7079 100644
--- a/src/3rdparty/webkit/WebCore/platform/mac/RuntimeApplicationChecks.h
+++ b/src/3rdparty/webkit/WebCore/platform/mac/RuntimeApplicationChecks.h
@@ -30,6 +30,7 @@ namespace WebCore {
bool applicationIsAppleMail();
bool applicationIsSafari();
+bool applicationIsMicrosoftMessenger();
} // namespace WebCore
diff --git a/src/3rdparty/webkit/WebCore/platform/mac/RuntimeApplicationChecks.mm b/src/3rdparty/webkit/WebCore/platform/mac/RuntimeApplicationChecks.mm
index 1670185..a3c4aa5 100644
--- a/src/3rdparty/webkit/WebCore/platform/mac/RuntimeApplicationChecks.mm
+++ b/src/3rdparty/webkit/WebCore/platform/mac/RuntimeApplicationChecks.mm
@@ -41,4 +41,10 @@ bool applicationIsSafari()
return isSafari;
}
+bool applicationIsMicrosoftMessenger()
+{
+ static bool isMicrosoftMessenger = [[[NSBundle mainBundle] bundleIdentifier] isEqualToString:@"com.microsoft.Messenger"];
+ return isMicrosoftMessenger;
+}
+
} // namespace WebCore
diff --git a/src/3rdparty/webkit/WebCore/platform/mac/ThemeMac.mm b/src/3rdparty/webkit/WebCore/platform/mac/ThemeMac.mm
index a3e743f..e7e12ac 100644
--- a/src/3rdparty/webkit/WebCore/platform/mac/ThemeMac.mm
+++ b/src/3rdparty/webkit/WebCore/platform/mac/ThemeMac.mm
@@ -26,6 +26,7 @@
#import "config.h"
#import "ThemeMac.h"
+#import "BlockExceptions.h"
#import "GraphicsContext.h"
#import "LocalCurrentGraphicsContext.h"
#import "ScrollView.h"
@@ -195,6 +196,8 @@ static NSButtonCell* checkbox(ControlStates states, const IntRect& zoomedRect, f
// FIXME: Share more code with radio buttons.
static void paintCheckbox(ControlStates states, GraphicsContext* context, const IntRect& zoomedRect, float zoomFactor, ScrollView* scrollView)
{
+ BEGIN_BLOCK_OBJC_EXCEPTIONS
+
// Determine the width and height needed for the control and prepare the cell for painting.
NSButtonCell* checkboxCell = checkbox(states, zoomedRect, zoomFactor);
@@ -218,6 +221,8 @@ static void paintCheckbox(ControlStates states, GraphicsContext* context, const
[checkboxCell setControlView:nil];
context->restore();
+
+ END_BLOCK_OBJC_EXCEPTIONS
}
// Radio Buttons
@@ -289,8 +294,10 @@ static void paintRadio(ControlStates states, GraphicsContext* context, const Int
context->translate(-inflatedRect.x(), -inflatedRect.y());
}
+ BEGIN_BLOCK_OBJC_EXCEPTIONS
[radioCell drawWithFrame:NSRect(inflatedRect) inView:scrollView->documentView()];
[radioCell setControlView:nil];
+ END_BLOCK_OBJC_EXCEPTIONS
context->restore();
}
@@ -348,6 +355,8 @@ static NSButtonCell* button(ControlPart part, ControlStates states, const IntRec
static void paintButton(ControlPart part, ControlStates states, GraphicsContext* context, const IntRect& zoomedRect, float zoomFactor, ScrollView* scrollView)
{
+ BEGIN_BLOCK_OBJC_EXCEPTIONS
+
// Determine the width and height needed for the control and prepare the cell for painting.
NSButtonCell *buttonCell = button(part, states, zoomedRect, zoomFactor);
LocalCurrentGraphicsContext localContext(context);
@@ -391,6 +400,8 @@ static void paintButton(ControlPart part, ControlStates states, GraphicsContext*
if (![previousDefaultButtonCell isEqual:buttonCell])
[window setDefaultButtonCell:previousDefaultButtonCell];
+
+ END_BLOCK_OBJC_EXCEPTIONS
}
// Theme overrides
@@ -479,6 +490,7 @@ LengthBox ThemeMac::controlPadding(ControlPart part, const Font& font, const Len
void ThemeMac::inflateControlPaintRect(ControlPart part, ControlStates states, IntRect& zoomedRect, float zoomFactor) const
{
+ BEGIN_BLOCK_OBJC_EXCEPTIONS
switch (part) {
case CheckboxPart: {
// We inflate the rect as needed to account for padding included in the cell to accommodate the checkbox
@@ -520,6 +532,7 @@ void ThemeMac::inflateControlPaintRect(ControlPart part, ControlStates states, I
default:
break;
}
+ END_BLOCK_OBJC_EXCEPTIONS
}
void ThemeMac::paint(ControlPart part, ControlStates states, GraphicsContext* context, const IntRect& zoomedRect, float zoomFactor, ScrollView* scrollView) const
diff --git a/src/3rdparty/webkit/WebCore/platform/mac/WebCoreSystemInterface.h b/src/3rdparty/webkit/WebCore/platform/mac/WebCoreSystemInterface.h
index cbe4aea..768899e 100644
--- a/src/3rdparty/webkit/WebCore/platform/mac/WebCoreSystemInterface.h
+++ b/src/3rdparty/webkit/WebCore/platform/mac/WebCoreSystemInterface.h
@@ -104,8 +104,9 @@ extern void (*wkDrawFocusRing)(CGContextRef, CGColorRef, int radius);
extern NSFont* (*wkGetFontInLanguageForRange)(NSFont*, NSString*, NSRange);
extern NSFont* (*wkGetFontInLanguageForCharacter)(NSFont*, UniChar);
extern BOOL (*wkGetGlyphTransformedAdvances)(CGFontRef, NSFont*, CGAffineTransform*, ATSGlyphRef*, CGSize* advance);
-extern void (*wkDrawMediaSliderTrack)(int themeStyle, CGContextRef context, CGRect rect, float timeLoaded, float currentTime, float duration);
-extern void (*wkDrawMediaUIPart)(int part, int themeStyle, CGContextRef context, CGRect rect, BOOL active);
+extern void (*wkDrawMediaSliderTrack)(int themeStyle, CGContextRef context, CGRect rect, float timeLoaded, float currentTime,
+ float duration, unsigned state);
+extern void (*wkDrawMediaUIPart)(int part, int themeStyle, CGContextRef context, CGRect rect, unsigned state);
extern NSString* (*wkGetPreferredExtensionForMIMEType)(NSString*);
extern NSArray* (*wkGetExtensionsForMIMEType)(NSString*);
extern NSString* (*wkGetMIMETypeForExtension)(NSString*);
@@ -122,6 +123,7 @@ extern int (*wkQTMovieDataRate)(QTMovie*);
extern float (*wkQTMovieMaxTimeLoaded)(QTMovie*);
extern NSString *(*wkQTMovieMaxTimeLoadedChangeNotification)(void);
extern float (*wkQTMovieMaxTimeSeekable)(QTMovie*);
+extern int (*wkQTMovieGetType)(QTMovie* movie);
extern void (*wkQTMovieViewSetDrawSynchronously)(QTMovieView*, BOOL);
extern void (*wkSetCGFontRenderingMode)(CGContextRef, NSFont*);
extern void (*wkSetDragImage)(NSImage*, NSPoint offset);
@@ -134,6 +136,7 @@ extern void (*wkSignalCFReadStreamEnd)(CFReadStreamRef stream);
extern void (*wkSignalCFReadStreamError)(CFReadStreamRef stream, CFStreamError *error);
extern void (*wkSignalCFReadStreamHasBytes)(CFReadStreamRef stream);
extern unsigned (*wkInitializeMaximumHTTPConnectionCountPerHost)(unsigned preferredConnectionCount);
+extern BOOL (*wkIsLatchingWheelEvent)(NSEvent *);
#ifndef BUILDING_ON_TIGER
extern void (*wkGetGlyphsForCharacters)(CGFontRef, const UniChar[], CGGlyph[], size_t);
diff --git a/src/3rdparty/webkit/WebCore/platform/mac/WebCoreSystemInterface.mm b/src/3rdparty/webkit/WebCore/platform/mac/WebCoreSystemInterface.mm
index 05d1da6..d0e276f 100644
--- a/src/3rdparty/webkit/WebCore/platform/mac/WebCoreSystemInterface.mm
+++ b/src/3rdparty/webkit/WebCore/platform/mac/WebCoreSystemInterface.mm
@@ -39,9 +39,10 @@ void (*wkDrawFocusRing)(CGContextRef, CGColorRef, int radius);
NSFont* (*wkGetFontInLanguageForRange)(NSFont*, NSString*, NSRange);
NSFont* (*wkGetFontInLanguageForCharacter)(NSFont*, UniChar);
BOOL (*wkGetGlyphTransformedAdvances)(CGFontRef, NSFont*, CGAffineTransform*, ATSGlyphRef*, CGSize* advance);
-void (*wkDrawMediaSliderTrack)(int themeStyle, CGContextRef context, CGRect rect, float timeLoaded, float currentTime, float duration);
+void (*wkDrawMediaSliderTrack)(int themeStyle, CGContextRef context, CGRect rect, float timeLoaded, float currentTime,
+ float duration, unsigned state);
BOOL (*wkHitTestMediaUIPart)(int part, int themeStyle, CGRect bounds, CGPoint point);
-void (*wkDrawMediaUIPart)(int part, int themeStyle, CGContextRef context, CGRect rect, BOOL active);
+void (*wkDrawMediaUIPart)(int part, int themeStyle, CGContextRef context, CGRect rect, unsigned state);
void (*wkMeasureMediaUIPart)(int part, int themeStyle, CGRect *bounds, CGSize *naturalSize);
NSString* (*wkGetPreferredExtensionForMIMEType)(NSString*);
NSArray* (*wkGetExtensionsForMIMEType)(NSString*);
@@ -56,6 +57,7 @@ int (*wkQTMovieDataRate)(QTMovie*);
float (*wkQTMovieMaxTimeLoaded)(QTMovie*);
NSString *(*wkQTMovieMaxTimeLoadedChangeNotification)(void);
float (*wkQTMovieMaxTimeSeekable)(QTMovie*);
+int (*wkQTMovieGetType)(QTMovie* movie);
void (*wkQTMovieViewSetDrawSynchronously)(QTMovieView*, BOOL);
void (*wkSetCGFontRenderingMode)(CGContextRef, NSFont*);
void (*wkSetDragImage)(NSImage*, NSPoint offset);
@@ -78,6 +80,7 @@ void (*wkSetNSURLConnectionDefersCallbacks)(NSURLConnection *, BOOL);
void (*wkSetNSURLRequestShouldContentSniff)(NSMutableURLRequest *, BOOL);
id (*wkCreateNSURLConnectionDelegateProxy)(void);
unsigned (*wkInitializeMaximumHTTPConnectionCountPerHost)(unsigned preferredConnectionCount);
+BOOL (*wkIsLatchingWheelEvent)(NSEvent *);
#ifndef BUILDING_ON_TIGER
void (*wkGetGlyphsForCharacters)(CGFontRef, const UniChar[], CGGlyph[], size_t);
diff --git a/src/3rdparty/webkit/WebCore/platform/mac/WidgetMac.mm b/src/3rdparty/webkit/WebCore/platform/mac/WidgetMac.mm
index 1aaf4b2..8653a03 100644
--- a/src/3rdparty/webkit/WebCore/platform/mac/WidgetMac.mm
+++ b/src/3rdparty/webkit/WebCore/platform/mac/WidgetMac.mm
@@ -283,72 +283,52 @@ void Widget::afterMouseDown(NSView *view, Widget* widget)
}
}
-IntPoint Widget::convertFromContainingWindow(const IntPoint& point) const
+// These are here to deal with flipped coords on Mac.
+IntRect Widget::convertFromRootToContainingWindow(const Widget* rootWidget, const IntRect& rect)
{
- if (!platformWidget()) {
- if (!parent())
- return point;
- IntPoint result = parent()->convertFromContainingWindow(point);
- result.move(parent()->scrollX() - x(), parent()->scrollY() - y());
- return result;
- }
-
+ if (!rootWidget->platformWidget())
+ return rect;
+
BEGIN_BLOCK_OBJC_EXCEPTIONS;
- return IntPoint([platformWidget() convertPoint:point fromView:nil]);
+ return enclosingIntRect([rootWidget->platformWidget() convertRect:rect toView:nil]);
END_BLOCK_OBJC_EXCEPTIONS;
-
- return point;
+
+ return rect;
}
-IntRect Widget::convertFromContainingWindow(const IntRect& rect) const
+IntRect Widget::convertFromContainingWindowToRoot(const Widget* rootWidget, const IntRect& rect)
{
- if (!platformWidget()) {
- if (!parent())
- return rect;
- IntRect result = parent()->convertFromContainingWindow(rect);
- result.move(parent()->scrollX() - x(), parent()->scrollY() - y());
- return result;
- }
-
+ if (!rootWidget->platformWidget())
+ return rect;
+
BEGIN_BLOCK_OBJC_EXCEPTIONS;
- return enclosingIntRect([platformWidget() convertRect:rect fromView:nil]);
+ return enclosingIntRect([rootWidget->platformWidget() convertRect:rect fromView:nil]);
END_BLOCK_OBJC_EXCEPTIONS;
-
+
return rect;
}
-IntRect Widget::convertToContainingWindow(const IntRect& r) const
+IntPoint Widget::convertFromRootToContainingWindow(const Widget* rootWidget, const IntPoint& point)
{
- if (!platformWidget()) {
- if (!parent())
- return r;
- IntRect result = r;
- result.move(parent()->scrollX() - x(), parent()->scrollY() - y());
- return parent()->convertToContainingWindow(result);
- }
-
+ if (!rootWidget->platformWidget())
+ return point;
+
BEGIN_BLOCK_OBJC_EXCEPTIONS;
- return IntRect([platformWidget() convertRect:r toView:nil]);
+ return IntPoint([rootWidget->platformWidget() convertPoint:point toView:nil]);
END_BLOCK_OBJC_EXCEPTIONS;
-
- return r;
+ return point;
}
-
-IntPoint Widget::convertToContainingWindow(const IntPoint& p) const
+
+IntPoint Widget::convertFromContainingWindowToRoot(const Widget* rootWidget, const IntPoint& point)
{
- if (!platformWidget()) {
- if (!parent())
- return p;
- IntPoint result = p;
- result.move(parent()->scrollX() - x(), parent()->scrollY() - y());
- return parent()->convertToContainingWindow(result);
- }
-
+ if (!rootWidget->platformWidget())
+ return point;
+
BEGIN_BLOCK_OBJC_EXCEPTIONS;
- return IntPoint([platformWidget() convertPoint:p toView:nil]);
+ return IntPoint([rootWidget->platformWidget() convertPoint:point fromView:nil]);
END_BLOCK_OBJC_EXCEPTIONS;
- return p;
+ return point;
}
void Widget::releasePlatformWidget()
diff --git a/src/3rdparty/webkit/WebCore/platform/network/FormDataBuilder.h b/src/3rdparty/webkit/WebCore/platform/network/FormDataBuilder.h
index 666f0c1..286f59f 100644
--- a/src/3rdparty/webkit/WebCore/platform/network/FormDataBuilder.h
+++ b/src/3rdparty/webkit/WebCore/platform/network/FormDataBuilder.h
@@ -30,7 +30,7 @@ class CString;
class Document;
class TextEncoding;
-class FormDataBuilder : Noncopyable {
+class FormDataBuilder : public Noncopyable {
public:
FormDataBuilder();
~FormDataBuilder();
diff --git a/src/3rdparty/webkit/WebCore/platform/network/ResourceHandle.h b/src/3rdparty/webkit/WebCore/platform/network/ResourceHandle.h
index f0e1e94..4cb3561 100644
--- a/src/3rdparty/webkit/WebCore/platform/network/ResourceHandle.h
+++ b/src/3rdparty/webkit/WebCore/platform/network/ResourceHandle.h
@@ -191,12 +191,6 @@ public:
void fireFailure(Timer<ResourceHandle>*);
private:
-#if USE(SOUP)
- bool startData(String urlString);
- bool startHttp(String urlString);
- bool startGio(KURL url);
-#endif
-
void scheduleFailure(FailureType);
bool start(Frame*);
diff --git a/src/3rdparty/webkit/WebCore/platform/network/ResourceHandleInternal.h b/src/3rdparty/webkit/WebCore/platform/network/ResourceHandleInternal.h
index 8b0f476..091a26b 100644
--- a/src/3rdparty/webkit/WebCore/platform/network/ResourceHandleInternal.h
+++ b/src/3rdparty/webkit/WebCore/platform/network/ResourceHandleInternal.h
@@ -35,7 +35,7 @@
#include <CFNetwork/CFURLConnectionPriv.h>
#endif
-#if USE(WININET)
+#if USE(WININET) || (USE(CURL) && PLATFORM(WIN))
#include <winsock2.h>
#include <windows.h>
#endif
@@ -75,7 +75,7 @@ class NSURLConnection;
namespace WebCore {
class ResourceHandleClient;
- class ResourceHandleInternal : Noncopyable {
+ class ResourceHandleInternal : public Noncopyable {
public:
ResourceHandleInternal(ResourceHandle* loader, const ResourceRequest& request, ResourceHandleClient* c, bool defersLoading, bool shouldContentSniff, bool mightDownloadFromHandle)
: m_client(c)
@@ -111,7 +111,6 @@ namespace WebCore {
#if USE(SOUP)
, m_msg(0)
, m_cancelled(false)
- , m_reportedHeaders(false)
, m_gfile(0)
, m_inputStream(0)
, m_cancellable(0)
@@ -194,7 +193,6 @@ namespace WebCore {
SoupMessage* m_msg;
ResourceResponse m_response;
bool m_cancelled;
- bool m_reportedHeaders;
GFile* m_gfile;
GInputStream* m_inputStream;
GCancellable* m_cancellable;
diff --git a/src/3rdparty/webkit/WebCore/platform/network/ResourceResponseBase.cpp b/src/3rdparty/webkit/WebCore/platform/network/ResourceResponseBase.cpp
index a6d70fd..7f8a4e2 100644
--- a/src/3rdparty/webkit/WebCore/platform/network/ResourceResponseBase.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/network/ResourceResponseBase.cpp
@@ -502,7 +502,7 @@ static bool isCacheHeaderSeparator(UChar c)
}
}
-bool isControlCharacter(UChar c)
+static bool isControlCharacter(UChar c)
{
return c < ' ' || c == 127;
}
diff --git a/src/3rdparty/webkit/WebCore/platform/network/ResourceResponseBase.h b/src/3rdparty/webkit/WebCore/platform/network/ResourceResponseBase.h
index 20165e7..7594c09 100644
--- a/src/3rdparty/webkit/WebCore/platform/network/ResourceResponseBase.h
+++ b/src/3rdparty/webkit/WebCore/platform/network/ResourceResponseBase.h
@@ -162,8 +162,6 @@ struct CrossThreadResourceResponseData {
time_t m_lastModifiedDate;
};
-bool isControlCharacter(UChar c);
-
} // namespace WebCore
#endif // ResourceResponseBase_h
diff --git a/src/3rdparty/webkit/WebCore/platform/network/qt/QNetworkReplyHandler.cpp b/src/3rdparty/webkit/WebCore/platform/network/qt/QNetworkReplyHandler.cpp
index 2f980fa..898e5f4 100644
--- a/src/3rdparty/webkit/WebCore/platform/network/qt/QNetworkReplyHandler.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/network/qt/QNetworkReplyHandler.cpp
@@ -225,9 +225,11 @@ void QNetworkReplyHandler::finish()
resetState();
start();
} else if (m_reply->error() != QNetworkReply::NoError
- // a web page that returns 403/404 can still have content
+ // a web page that returns 401/403/404 can still have content
&& m_reply->error() != QNetworkReply::ContentOperationNotPermittedError
- && m_reply->error() != QNetworkReply::ContentNotFoundError) {
+ && m_reply->error() != QNetworkReply::ContentNotFoundError
+ && m_reply->error() != QNetworkReply::AuthenticationRequiredError
+ && m_reply->error() != QNetworkReply::ProxyAuthenticationRequiredError) {
QUrl url = m_reply->url();
ResourceError error(url.host(), m_reply->attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt(),
url.toString(), m_reply->errorString());
diff --git a/src/3rdparty/webkit/WebCore/platform/qt/ClipboardQt.cpp b/src/3rdparty/webkit/WebCore/platform/qt/ClipboardQt.cpp
index fddda01..82b12a8 100644
--- a/src/3rdparty/webkit/WebCore/platform/qt/ClipboardQt.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/qt/ClipboardQt.cpp
@@ -61,9 +61,9 @@ ClipboardQt::ClipboardQt(ClipboardAccessPolicy policy, const QMimeData* readable
: Clipboard(policy, true)
, m_readableData(readableClipboard)
, m_writableData(0)
-{
+{
Q_ASSERT(policy == ClipboardReadable || policy == ClipboardTypesReadable);
-}
+}
ClipboardQt::ClipboardQt(ClipboardAccessPolicy policy, bool forDragging)
: Clipboard(policy, forDragging)
@@ -76,7 +76,7 @@ ClipboardQt::ClipboardQt(ClipboardAccessPolicy policy, bool forDragging)
if (policy != ClipboardWritable) {
Q_ASSERT(!forDragging);
m_readableData = QApplication::clipboard()->mimeData();
- }
+ }
#endif
}
@@ -104,7 +104,7 @@ void ClipboardQt::clearData(const String& type)
if (format != toClearType)
formats[format] = m_writableData->data(format);
}
-
+
m_writableData->clear();
QMap<QString, QByteArray>::const_iterator it, end = formats.constEnd();
for (it = formats.begin(); it != end; ++it)
@@ -122,11 +122,11 @@ void ClipboardQt::clearData(const String& type)
#endif
}
-void ClipboardQt::clearAllData()
+void ClipboardQt::clearAllData()
{
if (policy() != ClipboardWritable)
return;
-
+
#ifndef QT_NO_CLIPBOARD
if (!isForDragging())
QApplication::clipboard()->setMimeData(0);
@@ -136,21 +136,21 @@ void ClipboardQt::clearAllData()
m_writableData = 0;
}
-String ClipboardQt::getData(const String& type, bool& success) const
+String ClipboardQt::getData(const String& type, bool& success) const
{
if (policy() != ClipboardReadable) {
success = false;
return String();
}
-
+
ASSERT(m_readableData);
QByteArray data = m_readableData->data(QString(type));
success = !data.isEmpty();
return String(data.data(), data.size());
}
-bool ClipboardQt::setData(const String& type, const String& data)
+bool ClipboardQt::setData(const String& type, const String& data)
{
if (policy() != ClipboardWritable)
return false;
@@ -187,7 +187,7 @@ PassRefPtr<FileList> ClipboardQt::files() const
return 0;
}
-void ClipboardQt::setDragImage(CachedImage* image, const IntPoint& point)
+void ClipboardQt::setDragImage(CachedImage* image, const IntPoint& point)
{
setDragImage(image, 0, point);
}
@@ -207,7 +207,7 @@ void ClipboardQt::setDragImage(CachedImage* image, Node *node, const IntPoint &l
m_dragImage = image;
if (m_dragImage)
m_dragImage->addClient(this);
-
+
m_dragLoc = loc;
m_dragImageElement = node;
}
@@ -226,9 +226,9 @@ static CachedImage* getCachedImage(Element* element)
// Attempt to pull CachedImage from element
ASSERT(element);
RenderObject* renderer = element->renderer();
- if (!renderer || !renderer->isImage())
+ if (!renderer || !renderer->isImage())
return 0;
-
+
RenderImage* image = static_cast<RenderImage*>(renderer);
if (image->cachedImage() && !image->cachedImage()->errorOccurred())
return image->cachedImage();
@@ -236,7 +236,7 @@ static CachedImage* getCachedImage(Element* element)
return 0;
}
-void ClipboardQt::declareAndWriteDragImage(Element* element, const KURL& url, const String& title, Frame* frame)
+void ClipboardQt::declareAndWriteDragImage(Element* element, const KURL& url, const String& title, Frame* frame)
{
ASSERT(frame);
Q_UNUSED(url);
@@ -254,11 +254,11 @@ void ClipboardQt::declareAndWriteDragImage(Element* element, const KURL& url, co
m_writableData->setImageData(*pixmap);
AtomicString imageURL = element->getAttribute(HTMLNames::srcAttr);
- if (imageURL.isEmpty())
+ if (imageURL.isEmpty())
return;
- KURL fullURL = frame->document()->completeURL(parseURL(imageURL));
- if (fullURL.isEmpty())
+ KURL fullURL = frame->document()->completeURL(deprecatedParseURL(imageURL));
+ if (fullURL.isEmpty())
return;
QList<QUrl> urls;
@@ -274,7 +274,7 @@ void ClipboardQt::declareAndWriteDragImage(Element* element, const KURL& url, co
void ClipboardQt::writeURL(const KURL& url, const String& title, Frame* frame)
{
ASSERT(frame);
-
+
QList<QUrl> urls;
urls.append(frame->document()->completeURL(url.string()));
if (!m_writableData)
@@ -287,11 +287,11 @@ void ClipboardQt::writeURL(const KURL& url, const String& title, Frame* frame)
#endif
}
-void ClipboardQt::writeRange(Range* range, Frame* frame)
+void ClipboardQt::writeRange(Range* range, Frame* frame)
{
ASSERT(range);
ASSERT(frame);
-
+
if (!m_writableData)
m_writableData = new QMimeData;
QString text = frame->selectedText();
@@ -304,7 +304,7 @@ void ClipboardQt::writeRange(Range* range, Frame* frame)
#endif
}
-bool ClipboardQt::hasData()
+bool ClipboardQt::hasData()
{
const QMimeData *data = m_readableData ? m_readableData : m_writableData;
if (!data)
diff --git a/src/3rdparty/webkit/WebCore/platform/qt/ClipboardQt.h b/src/3rdparty/webkit/WebCore/platform/qt/ClipboardQt.h
index 44324f2..9a918ed 100644
--- a/src/3rdparty/webkit/WebCore/platform/qt/ClipboardQt.h
+++ b/src/3rdparty/webkit/WebCore/platform/qt/ClipboardQt.h
@@ -49,12 +49,12 @@ namespace WebCore {
return adoptRef(new ClipboardQt(policy, forDragging));
}
virtual ~ClipboardQt();
-
+
void clearData(const String& type);
void clearAllData();
String getData(const String& type, bool& success) const;
bool setData(const String& type, const String& data);
-
+
// extensions beyond IE's API
virtual HashSet<String> types() const;
virtual PassRefPtr<FileList> files() const;
@@ -68,10 +68,10 @@ namespace WebCore {
virtual void writeRange(Range*, Frame*);
virtual bool hasData();
-
+
QMimeData* clipboardData() const { return m_writableData; }
void invalidateWritableData() { m_writableData = 0; }
-
+
private:
ClipboardQt(ClipboardAccessPolicy, const QMimeData* readableClipboard);
@@ -79,10 +79,10 @@ namespace WebCore {
ClipboardQt(ClipboardAccessPolicy, bool forDragging);
void setDragImage(CachedImage*, Node*, const IntPoint& loc);
-
+
const QMimeData* m_readableData;
QMimeData* m_writableData;
};
-}
+}
#endif // ClipboardQt_h
diff --git a/src/3rdparty/webkit/WebCore/platform/qt/ContextMenuItemQt.cpp b/src/3rdparty/webkit/WebCore/platform/qt/ContextMenuItemQt.cpp
index c71eacd..cf23587 100644
--- a/src/3rdparty/webkit/WebCore/platform/qt/ContextMenuItemQt.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/qt/ContextMenuItemQt.cpp
@@ -68,7 +68,7 @@ void ContextMenuItem::setType(ContextMenuItemType type)
}
ContextMenuAction ContextMenuItem::action() const
-{
+{
return m_platformDescription.action;
}
@@ -77,7 +77,7 @@ void ContextMenuItem::setAction(ContextMenuAction action)
m_platformDescription.action = action;
}
-String ContextMenuItem::title() const
+String ContextMenuItem::title() const
{
return m_platformDescription.title;
}
diff --git a/src/3rdparty/webkit/WebCore/platform/qt/CursorQt.cpp b/src/3rdparty/webkit/WebCore/platform/qt/CursorQt.cpp
index 0d7e100..aad84be 100644
--- a/src/3rdparty/webkit/WebCore/platform/qt/CursorQt.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/qt/CursorQt.cpp
@@ -254,7 +254,7 @@ const Cursor& rowResizeCursor()
{
return Cursors::self()->SplitVCursor;
}
-
+
const Cursor& middlePanningCursor()
{
return moveCursor();
@@ -298,7 +298,7 @@ const Cursor& southWestPanningCursor()
const Cursor& westPanningCursor()
{
return westResizeCursor();
-}
+}
const Cursor& verticalTextCursor()
{
@@ -342,7 +342,7 @@ const Cursor& noneCursor()
const Cursor& notAllowedCursor()
{
- return Cursors::self()->NoDropCursor;
+ return Cursors::self()->NoDropCursor;
}
const Cursor& zoomInCursor()
diff --git a/src/3rdparty/webkit/WebCore/platform/qt/DragDataQt.cpp b/src/3rdparty/webkit/WebCore/platform/qt/DragDataQt.cpp
index bc5cce1..7b1eff8 100644
--- a/src/3rdparty/webkit/WebCore/platform/qt/DragDataQt.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/qt/DragDataQt.cpp
@@ -42,7 +42,7 @@ bool DragData::canSmartReplace() const
{
return false;
}
-
+
bool DragData::containsColor() const
{
if (!m_platformDragData)
@@ -55,11 +55,11 @@ bool DragData::containsFiles() const
if (!m_platformDragData)
return false;
QList<QUrl> urls = m_platformDragData->urls();
- foreach(const QUrl &url, urls) {
+ foreach (const QUrl &url, urls) {
if (!url.toLocalFile().isEmpty())
return true;
}
- return false;
+ return false;
}
void DragData::asFilenames(Vector<String>& result) const
@@ -67,7 +67,7 @@ void DragData::asFilenames(Vector<String>& result) const
if (!m_platformDragData)
return;
QList<QUrl> urls = m_platformDragData->urls();
- foreach(const QUrl &url, urls) {
+ foreach (const QUrl &url, urls) {
QString file = url.toLocalFile();
if (!file.isEmpty())
result.append(file);
@@ -88,12 +88,11 @@ String DragData::asPlainText() const
String text = m_platformDragData->text();
if (!text.isEmpty())
return text;
-
+
// FIXME: Should handle rich text here
-
return asURL(0);
}
-
+
Color DragData::asColor() const
{
if (!m_platformDragData)
@@ -105,21 +104,21 @@ PassRefPtr<Clipboard> DragData::createClipboard(ClipboardAccessPolicy policy) co
{
return ClipboardQt::create(policy, m_platformDragData);
}
-
+
bool DragData::containsCompatibleContent() const
{
if (!m_platformDragData)
return false;
return containsColor() || containsURL() || m_platformDragData->hasHtml() || m_platformDragData->hasText();
}
-
+
bool DragData::containsURL() const
{
if (!m_platformDragData)
return false;
return m_platformDragData->hasUrls();
}
-
+
String DragData::asURL(String* title) const
{
if (!m_platformDragData)
@@ -131,15 +130,14 @@ String DragData::asURL(String* title) const
return urls.first().toString();
}
-
-
+
PassRefPtr<DocumentFragment> DragData::asFragment(Document* doc) const
{
if (m_platformDragData && m_platformDragData->hasHtml())
return createFragmentFromMarkup(doc, m_platformDragData->html(), "");
-
+
return 0;
}
-
+
}
diff --git a/src/3rdparty/webkit/WebCore/platform/qt/DragImageQt.cpp b/src/3rdparty/webkit/WebCore/platform/qt/DragImageQt.cpp
index c9cdd8d..3a077e1 100644
--- a/src/3rdparty/webkit/WebCore/platform/qt/DragImageQt.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/qt/DragImageQt.cpp
@@ -44,20 +44,20 @@ DragImageRef scaleDragImage(DragImageRef image, FloatSize)
{
return image;
}
-
+
DragImageRef dissolveDragImageToFraction(DragImageRef image, float)
{
return image;
}
-
+
DragImageRef createDragImageFromImage(Image*)
{
return 0;
}
-
+
DragImageRef createDragImageIconForCachedImage(CachedImage*)
{
- return 0;
+ return 0;
}
-
+
}
diff --git a/src/3rdparty/webkit/WebCore/platform/qt/FileSystemQt.cpp b/src/3rdparty/webkit/WebCore/platform/qt/FileSystemQt.cpp
index a17f3ab..28d3ca7 100644
--- a/src/3rdparty/webkit/WebCore/platform/qt/FileSystemQt.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/qt/FileSystemQt.cpp
@@ -64,7 +64,7 @@ bool getFileSize(const String& path, long long& result)
{
QFileInfo info(path);
result = info.size();
- return info.exists();
+ return info.exists();
}
bool getFileModificationTime(const String& path, time_t& result)
@@ -96,7 +96,7 @@ String pathGetFileName(const String& path)
String directoryName(const String& path)
{
- return String(QFileInfo(path).baseName());
+ return String(QFileInfo(path).absolutePath());
}
Vector<String> listDirectory(const String& path, const String& filter)
@@ -156,7 +156,7 @@ bool unloadModule(PlatformModule module)
delete module;
return true;
}
-
+
return false;
#endif
}
diff --git a/src/3rdparty/webkit/WebCore/platform/qt/Localizations.cpp b/src/3rdparty/webkit/WebCore/platform/qt/Localizations.cpp
index a6c7513..d1853fc 100644
--- a/src/3rdparty/webkit/WebCore/platform/qt/Localizations.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/qt/Localizations.cpp
@@ -60,7 +60,7 @@ String searchableIndexIntroduction()
{
return QCoreApplication::translate("QWebPage", "This is a searchable index. Enter search keywords: ", "text that appears at the start of nearly-obsolete web pages in the form of a 'searchable index'");
}
-
+
String fileButtonChooseFileLabel()
{
return QCoreApplication::translate("QWebPage", "Choose File", "title for file button used in HTML forms");
@@ -183,7 +183,7 @@ String contextMenuItemTagSpellingMenu()
String contextMenuItemTagShowSpellingPanel(bool show)
{
- return show ? QCoreApplication::translate("QWebPage", "Show Spelling and Grammar", "menu item title") :
+ return show ? QCoreApplication::translate("QWebPage", "Show Spelling and Grammar", "menu item title") :
QCoreApplication::translate("QWebPage", "Hide Spelling and Grammar", "menu item title");
}
@@ -352,5 +352,15 @@ String imageTitle(const String& filename, const IntSize& size)
return QCoreApplication::translate("QWebPage", "%1 (%2x%3 pixels)", "Title string for images").arg(filename).arg(size.width()).arg(size.height());
}
+String mediaElementLoadingStateText()
+{
+ return QCoreApplication::translate("QWebPage", "Loading...", "Media controller status message when the media is loading");
+}
+
+String mediaElementLiveBroadcastStateText()
+{
+ return QCoreApplication::translate("QWebPage", "Live Broadcast", "Media controller status message when watching a live broadcast");
+}
+
}
// vim: ts=4 sw=4 et
diff --git a/src/3rdparty/webkit/WebCore/platform/qt/MIMETypeRegistryQt.cpp b/src/3rdparty/webkit/WebCore/platform/qt/MIMETypeRegistryQt.cpp
index 2b5968a..22cee6f 100644
--- a/src/3rdparty/webkit/WebCore/platform/qt/MIMETypeRegistryQt.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/qt/MIMETypeRegistryQt.cpp
@@ -36,7 +36,7 @@ struct ExtensionMap {
const char* mimeType;
};
-static const ExtensionMap extensionMap [] = {
+static const ExtensionMap extensionMap[] = {
{ "bmp", "image/bmp" },
{ "css", "text/css" },
{ "gif", "image/gif" },
diff --git a/src/3rdparty/webkit/WebCore/platform/qt/PasteboardQt.cpp b/src/3rdparty/webkit/WebCore/platform/qt/PasteboardQt.cpp
index b535a74..8a377ad 100644
--- a/src/3rdparty/webkit/WebCore/platform/qt/PasteboardQt.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/qt/PasteboardQt.cpp
@@ -44,8 +44,8 @@
#define methodDebug() qDebug() << "PasteboardQt: " << __FUNCTION__;
namespace WebCore {
-
-Pasteboard::Pasteboard()
+
+Pasteboard::Pasteboard()
: m_selectionMode(false)
{
}
@@ -71,7 +71,7 @@ void Pasteboard::writeSelection(Range* selectedRange, bool, Frame* frame)
md->setHtml(html);
#ifndef QT_NO_CLIPBOARD
- QApplication::clipboard()->setMimeData(md, m_selectionMode ?
+ QApplication::clipboard()->setMimeData(md, m_selectionMode ?
QClipboard::Selection : QClipboard::Clipboard);
#endif
}
@@ -84,7 +84,7 @@ bool Pasteboard::canSmartReplace()
String Pasteboard::plainText(Frame*)
{
#ifndef QT_NO_CLIPBOARD
- return QApplication::clipboard()->text(m_selectionMode ?
+ return QApplication::clipboard()->text(m_selectionMode ?
QClipboard::Selection : QClipboard::Clipboard);
#else
return String();
diff --git a/src/3rdparty/webkit/WebCore/platform/qt/PlatformKeyboardEventQt.cpp b/src/3rdparty/webkit/WebCore/platform/qt/PlatformKeyboardEventQt.cpp
index 955da9b..43a294b 100644
--- a/src/3rdparty/webkit/WebCore/platform/qt/PlatformKeyboardEventQt.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/qt/PlatformKeyboardEventQt.cpp
@@ -493,7 +493,7 @@ PlatformKeyboardEvent::PlatformKeyboardEvent(QKeyEvent* event)
m_autoRepeat = event->isAutoRepeat();
m_ctrlKey = (state & Qt::ControlModifier) != 0;
m_altKey = (state & Qt::AltModifier) != 0;
- m_metaKey = (state & Qt::MetaModifier) != 0;
+ m_metaKey = (state & Qt::MetaModifier) != 0;
m_windowsVirtualKeyCode = windowsKeyCodeForKeyEvent(event->key());
m_nativeVirtualKeyCode = event->nativeVirtualKey();
m_isKeypad = (state & Qt::KeypadModifier) != 0;
diff --git a/src/3rdparty/webkit/WebCore/platform/qt/PlatformMouseEventQt.cpp b/src/3rdparty/webkit/WebCore/platform/qt/PlatformMouseEventQt.cpp
index ba7a4ad..6c1d82d 100644
--- a/src/3rdparty/webkit/WebCore/platform/qt/PlatformMouseEventQt.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/qt/PlatformMouseEventQt.cpp
@@ -38,9 +38,9 @@ PlatformMouseEvent::PlatformMouseEvent(QInputEvent* event, int clickCount)
{
m_timestamp = WTF::currentTime();
- QMouseEvent *me = 0;
+ QMouseEvent* me = 0;
- switch(event->type()) {
+ switch (event->type()) {
case QEvent::MouseMove:
m_eventType = MouseEventMoved;
me = static_cast<QMouseEvent *>(event);
diff --git a/src/3rdparty/webkit/WebCore/platform/qt/PopupMenuQt.cpp b/src/3rdparty/webkit/WebCore/platform/qt/PopupMenuQt.cpp
index a7d6643..867e4ea 100644
--- a/src/3rdparty/webkit/WebCore/platform/qt/PopupMenuQt.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/qt/PopupMenuQt.cpp
@@ -68,8 +68,7 @@ void PopupMenu::populate(const IntRect& r)
if (client()->itemIsSeparator(i)) {
//FIXME: better seperator item
m_popup->insertItem(i, QString::fromLatin1("---"));
- }
- else {
+ } else {
//PopupMenuStyle style = client()->itemStyle(i);
m_popup->insertItem(i, client()->itemText(i));
#if 0
diff --git a/src/3rdparty/webkit/WebCore/platform/qt/RenderThemeQt.cpp b/src/3rdparty/webkit/WebCore/platform/qt/RenderThemeQt.cpp
index 4a6df0a..5f64219 100644
--- a/src/3rdparty/webkit/WebCore/platform/qt/RenderThemeQt.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/qt/RenderThemeQt.cpp
@@ -143,10 +143,10 @@ RenderThemeQt::~RenderThemeQt()
// for some widget painting, we need to fallback to Windows style
QStyle* RenderThemeQt::fallbackStyle()
{
- if(!m_fallbackStyle)
+ if (!m_fallbackStyle)
m_fallbackStyle = QStyleFactory::create(QLatin1String("windows"));
- if(!m_fallbackStyle)
+ if (!m_fallbackStyle)
m_fallbackStyle = QApplication::style();
return m_fallbackStyle;
@@ -227,9 +227,8 @@ static QRect inflateButtonRect(const QRect& originalRect, QStyle* style)
int paddingBottom = originalRect.bottom() - layoutRect.bottom();
return originalRect.adjusted(-paddingLeft, -paddingTop, paddingRight, paddingBottom);
- } else {
+ } else
return originalRect;
- }
}
void RenderThemeQt::adjustRepaintRect(const RenderObject* o, IntRect& rect)
@@ -252,18 +251,6 @@ void RenderThemeQt::adjustRepaintRect(const RenderObject* o, IntRect& rect)
}
}
-bool RenderThemeQt::isControlStyled(const RenderStyle* style, const BorderData& border,
- const FillLayer& background, const Color& backgroundColor) const
-{
- if (style->appearance() == TextFieldPart
- || style->appearance() == TextAreaPart
- || style->appearance() == ListboxPart) {
- return style->border() != border;
- }
-
- return RenderTheme::isControlStyled(style, border, background, backgroundColor);
-}
-
Color RenderThemeQt::platformActiveSelectionBackgroundColor() const
{
QPalette pal = QApplication::palette();
@@ -337,11 +324,10 @@ void RenderThemeQt::computeSizeBasedOnStyle(RenderStyle* renderStyle) const
// If the style supports layout rects we use that, and compensate accordingly
// in paintButton() below.
- if (!layoutRect.isNull()) {
+ if (!layoutRect.isNull())
size.setHeight(layoutRect.height());
- } else {
+ else
size.setHeight(pushButtonSize.height());
- }
break;
}
@@ -492,14 +478,13 @@ bool RenderThemeQt::paintButton(RenderObject* o, const RenderObject::PaintInfo&
option.state |= QStyle::State_Small;
ControlPart appearance = applyTheme(option, o);
- if(appearance == PushButtonPart || appearance == ButtonPart) {
+ if (appearance == PushButtonPart || appearance == ButtonPart) {
option.rect = inflateButtonRect(option.rect, qStyle());
p.drawControl(QStyle::CE_PushButton, option);
- } else if(appearance == RadioPart) {
+ } else if (appearance == RadioPart)
p.drawControl(QStyle::CE_RadioButton, option);
- } else if(appearance == CheckboxPart) {
+ else if (appearance == CheckboxPart)
p.drawControl(QStyle::CE_CheckBox, option);
- }
return false;
}
@@ -597,7 +582,7 @@ bool RenderThemeQt::paintMenuList(RenderObject* o, const RenderObject::PaintInfo
const QPoint topLeft = r.topLeft();
p.painter->translate(topLeft);
- opt.rect.moveTo(QPoint(0,0));
+ opt.rect.moveTo(QPoint(0, 0));
opt.rect.setSize(r.size());
p.drawComplexControl(QStyle::CC_ComboBox, opt);
@@ -608,7 +593,7 @@ bool RenderThemeQt::paintMenuList(RenderObject* o, const RenderObject::PaintInfo
void RenderThemeQt::adjustMenuListButtonStyle(CSSStyleSelector* selector, RenderStyle* style,
Element* e) const
{
- // WORKAROUND because html4.css specifies -webkit-border-radius for <select> so we override it here
+ // WORKAROUND because html.css specifies -webkit-border-radius for <select> so we override it here
// see also http://bugs.webkit.org/show_bug.cgi?id=18399
style->resetBorderRadius();
@@ -777,7 +762,7 @@ ControlPart RenderThemeQt::applyTheme(QStyleOption& option, RenderObject* o) con
}
}
- if(result == RadioPart || result == CheckboxPart)
+ if (result == RadioPart || result == CheckboxPart)
option.state |= (isChecked(o) ? QStyle::State_On : QStyle::State_Off);
// If the webview has a custom palette, use it
@@ -805,10 +790,10 @@ String RenderThemeQt::extraMediaControlsStyleSheet()
}
// Helper class to transform the painter's world matrix to the object's content area, scaled to 0,0,100,100
-class WorldMatrixTransformer
-{
+class WorldMatrixTransformer {
public:
- WorldMatrixTransformer(QPainter* painter, RenderObject* renderObject, const IntRect& r) : m_painter(painter) {
+ WorldMatrixTransformer(QPainter* painter, RenderObject* renderObject, const IntRect& r) : m_painter(painter)
+ {
RenderStyle* style = renderObject->style();
m_originalTransform = m_painter->transform();
m_painter->translate(r.x() + style->paddingLeft().value(), r.y() + style->paddingTop().value());
@@ -836,7 +821,7 @@ HTMLMediaElement* RenderThemeQt::getMediaElementFromRenderObject(RenderObject* o
void RenderThemeQt::paintMediaBackground(QPainter* painter, const IntRect& r) const
{
painter->setPen(Qt::NoPen);
- static QColor transparentBlack(0,0,0,100);
+ static QColor transparentBlack(0, 0, 0, 100);
painter->setBrush(transparentBlack);
painter->drawRoundedRect(r.x(), r.y(), r.width(), r.height(), 5.0, 5.0);
}
@@ -851,7 +836,7 @@ QColor RenderThemeQt::getMediaControlForegroundColor(RenderObject* o) const
bool RenderThemeQt::paintMediaFullscreenButton(RenderObject* o, const RenderObject::PaintInfo& paintInfo, const IntRect& r)
{
- return RenderTheme::paintMediaFullscreenButton(o, paintInfo, r);
+ return RenderTheme::paintMediaFullscreenButton(o, paintInfo, r);
}
bool RenderThemeQt::paintMediaMuteButton(RenderObject* o, const RenderObject::PaintInfo& paintInfo, const IntRect& r)
diff --git a/src/3rdparty/webkit/WebCore/platform/qt/RenderThemeQt.h b/src/3rdparty/webkit/WebCore/platform/qt/RenderThemeQt.h
index 19d2d33..617c875 100644
--- a/src/3rdparty/webkit/WebCore/platform/qt/RenderThemeQt.h
+++ b/src/3rdparty/webkit/WebCore/platform/qt/RenderThemeQt.h
@@ -36,8 +36,7 @@ namespace WebCore {
class RenderStyle;
class HTMLMediaElement;
-class RenderThemeQt : public RenderTheme
-{
+class RenderThemeQt : public RenderTheme {
private:
RenderThemeQt(Page* page);
virtual ~RenderThemeQt();
@@ -58,9 +57,6 @@ public:
virtual void adjustRepaintRect(const RenderObject* o, IntRect& r);
- virtual bool isControlStyled(const RenderStyle*, const BorderData&,
- const FillLayer&, const Color&) const;
-
// The platform selection color.
virtual Color platformActiveSelectionBackgroundColor() const;
virtual Color platformInactiveSelectionBackgroundColor() const;
@@ -154,8 +150,7 @@ private:
QStyle* m_fallbackStyle;
};
-class StylePainter
-{
+class StylePainter {
public:
explicit StylePainter(const RenderObject::PaintInfo& paintInfo);
explicit StylePainter(GraphicsContext* context);
diff --git a/src/3rdparty/webkit/WebCore/platform/qt/ScreenQt.cpp b/src/3rdparty/webkit/WebCore/platform/qt/ScreenQt.cpp
index eda1446..def1995 100644
--- a/src/3rdparty/webkit/WebCore/platform/qt/ScreenQt.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/qt/ScreenQt.cpp
@@ -51,14 +51,14 @@ static QWidget* qwidgetForPage(const Page* page)
return frameView->qwidget();
}
-
+
FloatRect screenRect(const Page* page)
{
QWidget* qw = qwidgetForPage(page);
if (!qw)
return FloatRect();
- // Taken from KGlobalSettings::desktopGeometry
+ // Taken from KGlobalSettings::desktopGeometry
QDesktopWidget* dw = QApplication::desktop();
if (!dw)
return FloatRect();
@@ -81,7 +81,7 @@ FloatRect usableScreenRect(const Page* page)
if (!qw)
return FloatRect();
- // Taken from KGlobalSettings::desktopGeometry
+ // Taken from KGlobalSettings::desktopGeometry
QDesktopWidget* dw = QApplication::desktop();
if (!dw)
return FloatRect();
diff --git a/src/3rdparty/webkit/WebCore/platform/qt/ScrollbarQt.cpp b/src/3rdparty/webkit/WebCore/platform/qt/ScrollbarQt.cpp
index 29a9997..8eac15f 100644
--- a/src/3rdparty/webkit/WebCore/platform/qt/ScrollbarQt.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/qt/ScrollbarQt.cpp
@@ -72,8 +72,8 @@ bool Scrollbar::contextMenu(const PlatformMouseEvent& event)
const QPoint globalPos = QPoint(event.globalX(), event.globalY());
QAction* actionSelected = menu.exec(globalPos);
- if (actionSelected == 0)
- /* Do nothing */ ;
+ if (!actionSelected)
+ { /* Do nothing */ }
else if (actionSelected == actScrollHere) {
const QPoint pos = convertFromContainingWindow(event.pos());
moveThumb(horizontal ? pos.x() : pos.y());
diff --git a/src/3rdparty/webkit/WebCore/platform/qt/ScrollbarThemeQt.cpp b/src/3rdparty/webkit/WebCore/platform/qt/ScrollbarThemeQt.cpp
index 3851dfe..561e55f 100644
--- a/src/3rdparty/webkit/WebCore/platform/qt/ScrollbarThemeQt.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/qt/ScrollbarThemeQt.cpp
@@ -71,29 +71,29 @@ static QStyle::SubControl scPart(const ScrollbarPart& part)
case ForwardButtonEndPart:
return QStyle::SC_ScrollBarAddLine;
}
-
+
return QStyle::SC_None;
}
-static ScrollbarPart scrollbarPart(const QStyle::SubControl& sc)
-{
- switch (sc) {
- case QStyle::SC_None:
- return NoPart;
- case QStyle::SC_ScrollBarSubLine:
- return BackButtonStartPart;
- case QStyle::SC_ScrollBarSubPage:
- return BackTrackPart;
- case QStyle::SC_ScrollBarSlider:
- return ThumbPart;
- case QStyle::SC_ScrollBarAddPage:
- return ForwardTrackPart;
- case QStyle::SC_ScrollBarAddLine:
- return ForwardButtonStartPart;
+static ScrollbarPart scrollbarPart(const QStyle::SubControl& sc)
+{
+ switch (sc) {
+ case QStyle::SC_None:
+ return NoPart;
+ case QStyle::SC_ScrollBarSubLine:
+ return BackButtonStartPart;
+ case QStyle::SC_ScrollBarSubPage:
+ return BackTrackPart;
+ case QStyle::SC_ScrollBarSlider:
+ return ThumbPart;
+ case QStyle::SC_ScrollBarAddPage:
+ return ForwardTrackPart;
+ case QStyle::SC_ScrollBarAddLine:
+ return ForwardButtonStartPart;
}
- return NoPart;
+ return NoPart;
}
-
+
static QStyleOptionSlider* styleOptionSlider(Scrollbar* scrollbar, QWidget* widget = 0)
{
static QStyleOptionSlider opt;
diff --git a/src/3rdparty/webkit/WebCore/platform/qt/ScrollbarThemeQt.h b/src/3rdparty/webkit/WebCore/platform/qt/ScrollbarThemeQt.h
index 787b15a..6ca44ea 100644
--- a/src/3rdparty/webkit/WebCore/platform/qt/ScrollbarThemeQt.h
+++ b/src/3rdparty/webkit/WebCore/platform/qt/ScrollbarThemeQt.h
@@ -40,7 +40,7 @@ public:
virtual ScrollbarPart hitTest(Scrollbar*, const PlatformMouseEvent&);
virtual bool shouldCenterOnThumb(Scrollbar*, const PlatformMouseEvent&);
-
+
virtual void invalidatePart(Scrollbar*, ScrollbarPart);
virtual int thumbPosition(Scrollbar*);
diff --git a/src/3rdparty/webkit/WebCore/platform/qt/SharedBufferQt.cpp b/src/3rdparty/webkit/WebCore/platform/qt/SharedBufferQt.cpp
index 38ba6d1..8d62226 100644
--- a/src/3rdparty/webkit/WebCore/platform/qt/SharedBufferQt.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/qt/SharedBufferQt.cpp
@@ -31,7 +31,7 @@
namespace WebCore {
PassRefPtr<SharedBuffer> SharedBuffer::createWithContentsOfFile(const String& fileName)
-{
+{
if (fileName.isEmpty())
return 0;
diff --git a/src/3rdparty/webkit/WebCore/platform/qt/TemporaryLinkStubs.cpp b/src/3rdparty/webkit/WebCore/platform/qt/TemporaryLinkStubs.cpp
index f76eb43..8ef598f 100644
--- a/src/3rdparty/webkit/WebCore/platform/qt/TemporaryLinkStubs.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/qt/TemporaryLinkStubs.cpp
@@ -75,22 +75,49 @@
using namespace WebCore;
#if defined(Q_OS_WINCE)
-Vector<String> PluginDatabase::defaultPluginDirectories() { notImplemented(); return Vector<String>(); }
-void PluginDatabase::getPluginPathsInDirectories(HashSet<String>& paths) const { notImplemented(); }
-bool PluginDatabase::isPreferredPluginDirectory(const String& directory) { notImplemented(); return false; }
+Vector<String> PluginDatabase::defaultPluginDirectories()
+{
+ notImplemented();
+ return Vector<String>();
+}
+
+void PluginDatabase::getPluginPathsInDirectories(HashSet<String>& paths) const
+{
+ notImplemented();
+}
+
+bool PluginDatabase::isPreferredPluginDirectory(const String& directory)
+{
+ notImplemented();
+ return false;
+}
#endif
namespace WebCore {
-void getSupportedKeySizes(Vector<String>&) { notImplemented(); }
-String signedPublicKeyAndChallengeString(unsigned keySizeIndex, const String &challengeString, const KURL &url) { return String(); }
+void getSupportedKeySizes(Vector<String>&)
+{
+ notImplemented();
+}
+
+String signedPublicKeyAndChallengeString(unsigned keySizeIndex, const String &challengeString, const KURL &url)
+{
+ return String();
+}
#if !defined(Q_OS_WIN)
// defined in win/SystemTimeWin.cpp, which is compiled for the Qt/Windows port
-float userIdleTime() { notImplemented(); return FLT_MAX; } // return an arbitrarily high userIdleTime so that releasing pages from the page cache isn't postponed
+float userIdleTime()
+{
+ notImplemented();
+ return FLT_MAX; // return an arbitrarily high userIdleTime so that releasing pages from the page cache isn't postponed
+}
#endif
-void prefetchDNS(const String& hostname) { notImplemented(); }
+void prefetchDNS(const String& hostname)
+{
+ notImplemented();
+}
}
diff --git a/src/3rdparty/webkit/WebCore/platform/sql/SQLiteDatabase.cpp b/src/3rdparty/webkit/WebCore/platform/sql/SQLiteDatabase.cpp
index 702cf02..9a4e32a 100644
--- a/src/3rdparty/webkit/WebCore/platform/sql/SQLiteDatabase.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/sql/SQLiteDatabase.cpp
@@ -29,6 +29,7 @@
#include "DatabaseAuthorizer.h"
#include "Logging.h"
+#include "SQLiteFileSystem.h"
#include "SQLiteStatement.h"
#include <sqlite3.h>
@@ -60,9 +61,7 @@ bool SQLiteDatabase::open(const String& filename)
{
close();
- // SQLite expects a null terminator on its UTF-16 strings.
- String path = filename;
- m_lastError = sqlite3_open16(path.charactersWithNullTermination(), &m_db);
+ m_lastError = SQLiteFileSystem::openDatabase(filename, &m_db);
if (m_lastError != SQLITE_OK) {
LOG_ERROR("SQLite database failed to load from %s\nCause - %s", filename.ascii().data(),
sqlite3_errmsg(m_db));
@@ -151,6 +150,18 @@ int SQLiteDatabase::pageSize()
return m_pageSize;
}
+int64_t SQLiteDatabase::freeSpaceSize()
+{
+ MutexLocker locker(m_authorizerLock);
+ enableAuthorizer(false);
+ // Note: freelist_count was added in SQLite 3.4.1.
+ SQLiteStatement statement(*this, "PRAGMA freelist_count");
+ int64_t size = statement.getColumnInt64(0) * pageSize();
+
+ enableAuthorizer(true);
+ return size;
+}
+
void SQLiteDatabase::setSynchronous(SynchronousPragma sync)
{
executeCommand(String::format("PRAGMA synchronous = %i", sync));
diff --git a/src/3rdparty/webkit/WebCore/platform/sql/SQLiteDatabase.h b/src/3rdparty/webkit/WebCore/platform/sql/SQLiteDatabase.h
index 76700dc..d313435 100644
--- a/src/3rdparty/webkit/WebCore/platform/sql/SQLiteDatabase.h
+++ b/src/3rdparty/webkit/WebCore/platform/sql/SQLiteDatabase.h
@@ -83,6 +83,9 @@ public:
int64_t maximumSize();
void setMaximumSize(int64_t);
+ // Gets the number of unused bytes in the database file.
+ int64_t freeSpaceSize();
+
// The SQLite SYNCHRONOUS pragma can be either FULL, NORMAL, or OFF
// FULL - Any writing calls to the DB block until the data is actually on the disk surface
// NORMAL - SQLite pauses at some critical moments when writing, but much less than FULL
diff --git a/src/3rdparty/webkit/WebCore/platform/sql/SQLiteFileSystem.cpp b/src/3rdparty/webkit/WebCore/platform/sql/SQLiteFileSystem.cpp
new file mode 100644
index 0000000..8cd7e80
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/platform/sql/SQLiteFileSystem.cpp
@@ -0,0 +1,123 @@
+/*
+ * Copyright (C) 2009 Google Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following disclaimer
+ * in the documentation and/or other materials provided with the
+ * distribution.
+ * * Neither the name of Google Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+#include "SQLiteFileSystem.h"
+
+#include "FileSystem.h"
+#include "SQLiteDatabase.h"
+#include "SQLiteStatement.h"
+#include <sqlite3.h>
+
+namespace WebCore {
+
+SQLiteFileSystem::SQLiteFileSystem()
+{
+}
+
+void SQLiteFileSystem::registerSQLiteVFS()
+{
+}
+
+int SQLiteFileSystem::openDatabase(const String& fileName, sqlite3** database)
+{
+ // SQLite expects a null terminator on its UTF-16 strings.
+ String path = fileName;
+ return sqlite3_open16(path.charactersWithNullTermination(), database);
+}
+
+String SQLiteFileSystem::getFileNameForNewDatabase(const String& dbDir, const String&,
+ const String&, SQLiteDatabase* db)
+{
+ // try to get the next sequence number from the given database
+ // if we can't get a number, return an empty string
+ SQLiteStatement sequenceStatement(*db, "SELECT seq FROM sqlite_sequence WHERE name='Databases';");
+ if (sequenceStatement.prepare() != SQLResultOk)
+ return String();
+ int result = sequenceStatement.step();
+ int64_t seq = 0;
+ if (result == SQLResultRow)
+ seq = sequenceStatement.getColumnInt64(0);
+ else if (result != SQLResultDone)
+ return String();
+ sequenceStatement.finalize();
+
+ // increment the number until we can use it to form a file name that doesn't exist
+ String fileName;
+ do {
+ ++seq;
+ fileName = pathByAppendingComponent(dbDir, String::format("%016llx.db", seq));
+ } while (fileExists(fileName));
+
+ return String::format("%016llx.db", seq);
+}
+
+String SQLiteFileSystem::appendDatabaseFileNameToPath(const String& path, const String& fileName)
+{
+ return pathByAppendingComponent(path, fileName);
+}
+
+bool SQLiteFileSystem::ensureDatabaseDirectoryExists(const String& path)
+{
+ if (path.isEmpty())
+ return false;
+ return makeAllDirectories(path);
+}
+
+bool SQLiteFileSystem::ensureDatabaseFileExists(const String& fileName, bool checkPathOnly)
+{
+ if (fileName.isEmpty())
+ return false;
+
+ if (checkPathOnly) {
+ String dir = directoryName(fileName);
+ return ensureDatabaseDirectoryExists(dir);
+ }
+
+ return fileExists(fileName);
+}
+
+bool SQLiteFileSystem::deleteEmptyDatabaseDirectory(const String& path)
+{
+ return deleteEmptyDirectory(path);
+}
+
+bool SQLiteFileSystem::deleteDatabaseFile(const String& fileName)
+{
+ return deleteFile(fileName);
+}
+
+long long SQLiteFileSystem::getDatabaseFileSize(const String& fileName)
+{
+ long long size;
+ return getFileSize(fileName, size) ? size : 0;
+}
+
+} // namespace WebCore
diff --git a/src/3rdparty/webkit/WebCore/platform/sql/SQLiteFileSystem.h b/src/3rdparty/webkit/WebCore/platform/sql/SQLiteFileSystem.h
new file mode 100644
index 0000000..0a26e9d
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/platform/sql/SQLiteFileSystem.h
@@ -0,0 +1,114 @@
+/*
+ * Copyright (C) 2009 Google Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following disclaimer
+ * in the documentation and/or other materials provided with the
+ * distribution.
+ * * Neither the name of Google Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef SQLiteFileSystem_h
+#define SQLiteFileSystem_h
+
+#include "PlatformString.h"
+#include <wtf/Threading.h>
+
+struct sqlite3;
+
+namespace WebCore {
+
+class SQLiteDatabase;
+
+// A class that abstracts the file system related operations required
+// by the WebKit database code.
+class SQLiteFileSystem {
+public:
+ // Registers a user-defined SQLite VFS.
+ static void registerSQLiteVFS();
+
+ // Opens a database file.
+ //
+ // fileName - The name of the database file.
+ // database - The SQLite structure that represents the database stored
+ // in the given file.
+ static int openDatabase(const String& fileName, sqlite3** database);
+
+ // Returns the file name for a database.
+ //
+ // dbDir - The directory where all databases are stored.
+ // dbName - The name of the database.
+ // originIdentifier - The origin that wants to use this database.
+ // db - A database with a number generator used to create unique file names.
+ static String getFileNameForNewDatabase(const String& dbDir, const String& dbName,
+ const String& originIdentifier, SQLiteDatabase* db);
+
+ // Creates an absolute file path given a directory and a file name.
+ //
+ // path - The directory.
+ // fileName - The file name.
+ static String appendDatabaseFileNameToPath(const String& path, const String& fileName);
+
+ // Makes sure the given directory exists, by creating all missing directories
+ // on the given path.
+ //
+ // path - The directory.
+ static bool ensureDatabaseDirectoryExists(const String& path);
+
+ // If 'checkPathOnly' is false, then this method only checks if the given file exists.
+ // If 'checkPathOnly' is true, then this method makes sure all directories on the
+ // given path exist by creating the missing ones, and does not check if the file
+ // itself exists.
+ //
+ // Sometimes we expect a DB file to exist; other times, we're OK with creating a new
+ // DB file, but we want to make sure that the directory in which we want to put the
+ // new DB file exists. This method covers both cases.
+ //
+ // fileName - The file name.
+ // checkPathOnly - If true, we only make sure that the given directory exists.
+ // If false, we only check if the file exists.
+ static bool ensureDatabaseFileExists(const String& fileName, bool checkPathOnly);
+
+ // Deletes an empty database directory.
+ //
+ // path - The directory.
+ static bool deleteEmptyDatabaseDirectory(const String& path);
+
+ // Deletes a database file.
+ //
+ // fileName - The file name.
+ static bool deleteDatabaseFile(const String& fileName);
+
+ // Returns the size of the database file.
+ //
+ // fileName - The file name.
+ static long long getDatabaseFileSize(const String& fileName);
+
+private:
+ // do not instantiate this class
+ SQLiteFileSystem();
+}; // class SQLiteFileSystem
+
+} // namespace WebCore
+
+#endif
diff --git a/src/3rdparty/webkit/WebCore/platform/text/CharacterNames.h b/src/3rdparty/webkit/WebCore/platform/text/CharacterNames.h
index 5b1a337..cd09447 100644
--- a/src/3rdparty/webkit/WebCore/platform/text/CharacterNames.h
+++ b/src/3rdparty/webkit/WebCore/platform/text/CharacterNames.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2007 Apple Inc. All rights reserved.
+ * Copyright (C) 2007, 2009 Apple Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -37,22 +37,26 @@ namespace WebCore {
const UChar blackSquare = 0x25A0;
const UChar bullet = 0x2022;
+ const UChar hebrewPunctuationGeresh = 0x05F3;
const UChar hebrewPunctuationGershayim = 0x05F4;
const UChar horizontalEllipsis = 0x2026;
- const UChar ideographicSpace = 0x3000;
const UChar ideographicComma = 0x3001;
const UChar ideographicFullStop = 0x3002;
- const UChar leftToRightMark = 0x200E;
+ const UChar ideographicSpace = 0x3000;
+ const UChar leftDoubleQuotationMark = 0x201C;
+ const UChar leftSingleQuotationMark = 0x2018;
const UChar leftToRightEmbed = 0x202A;
+ const UChar leftToRightMark = 0x200E;
const UChar leftToRightOverride = 0x202D;
const UChar newlineCharacter = 0x000A;
const UChar noBreakSpace = 0x00A0;
const UChar objectReplacementCharacter = 0xFFFC;
const UChar popDirectionalFormatting = 0x202C;
const UChar replacementCharacter = 0xFFFD;
+ const UChar rightDoubleQuotationMark = 0x201D;
const UChar rightSingleQuotationMark = 0x2019;
- const UChar rightToLeftMark = 0x200F;
const UChar rightToLeftEmbed = 0x202B;
+ const UChar rightToLeftMark = 0x200F;
const UChar rightToLeftOverride = 0x202E;
const UChar softHyphen = 0x00AD;
const UChar whiteBullet = 0x25E6;
diff --git a/src/3rdparty/webkit/WebCore/platform/text/StringBuffer.h b/src/3rdparty/webkit/WebCore/platform/text/StringBuffer.h
index 28d4e89..353a44a 100644
--- a/src/3rdparty/webkit/WebCore/platform/text/StringBuffer.h
+++ b/src/3rdparty/webkit/WebCore/platform/text/StringBuffer.h
@@ -35,7 +35,7 @@
namespace WebCore {
-class StringBuffer : Noncopyable {
+class StringBuffer : public Noncopyable {
public:
explicit StringBuffer(unsigned length)
: m_length(length)
diff --git a/src/3rdparty/webkit/WebCore/platform/text/StringImpl.cpp b/src/3rdparty/webkit/WebCore/platform/text/StringImpl.cpp
index cd8fdbd..8cbcc0d 100644
--- a/src/3rdparty/webkit/WebCore/platform/text/StringImpl.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/text/StringImpl.cpp
@@ -205,24 +205,26 @@ bool StringImpl::containsOnlyWhitespace()
return true;
}
-PassRefPtr<StringImpl> StringImpl::substring(unsigned pos, unsigned len)
+PassRefPtr<StringImpl> StringImpl::substring(unsigned start, unsigned length)
{
- if (pos >= m_length)
+ if (start >= m_length)
return empty();
- if (len > m_length - pos)
- len = m_length - pos;
- return create(m_data + pos, len);
+ unsigned maxLength = m_length - start;
+ if (length >= maxLength) {
+ if (!start)
+ return this;
+ length = maxLength;
+ }
+ return create(m_data + start, length);
}
-PassRefPtr<StringImpl> StringImpl::substringCopy(unsigned pos, unsigned len)
+PassRefPtr<StringImpl> StringImpl::substringCopy(unsigned start, unsigned length)
{
- if (pos >= m_length)
- pos = m_length;
- if (len > m_length - pos)
- len = m_length - pos;
- if (!len)
+ start = min(start, m_length);
+ length = min(length, m_length - start);
+ if (!length)
return adoptRef(new StringImpl);
- return substring(pos, len);
+ return create(m_data + start, length);
}
UChar32 StringImpl::characterStartingAt(unsigned i)
diff --git a/src/3rdparty/webkit/WebCore/platform/text/TextBreakIteratorICU.cpp b/src/3rdparty/webkit/WebCore/platform/text/TextBreakIteratorICU.cpp
index c4fc1b0..c922fbc 100644
--- a/src/3rdparty/webkit/WebCore/platform/text/TextBreakIteratorICU.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/text/TextBreakIteratorICU.cpp
@@ -160,7 +160,7 @@ TextBreakIterator* cursorMovementIterator(const UChar* string, int length)
"$LF = [\\p{Grapheme_Cluster_Break = LF}];"
"$Control = [\\p{Grapheme_Cluster_Break = Control}];"
"$VoiceMarks = [\\uFF9E\\uFF9F];" // Japanese half-width katakana voiced marks
- "$Extend = [\\p{Grapheme_Cluster_Break = Extend} $VoiceMarks];"
+ "$Extend = [\\p{Grapheme_Cluster_Break = Extend} $VoiceMarks - [\\u0E30 \\u0E32 \\u0E45 \\u0EB0 \\u0EB2]];"
"$SpacingMark = [[\\p{General_Category = Spacing Mark}] - $Extend];"
"$L = [\\p{Grapheme_Cluster_Break = L}];"
"$V = [\\p{Grapheme_Cluster_Break = V}];"
diff --git a/src/3rdparty/webkit/WebCore/platform/text/TextBreakIteratorInternalICU.h b/src/3rdparty/webkit/WebCore/platform/text/TextBreakIteratorInternalICU.h
index d4b25e7..68b7003 100644
--- a/src/3rdparty/webkit/WebCore/platform/text/TextBreakIteratorInternalICU.h
+++ b/src/3rdparty/webkit/WebCore/platform/text/TextBreakIteratorInternalICU.h
@@ -21,10 +21,12 @@
#ifndef TextBreakIteratorInternalICU_h
#define TextBreakIteratorInternalICU_h
-#include <wtf/unicode/Unicode.h>
+// FIXME: Now that this handles locales for ICU, not just for text breaking,
+// this file and the various implementation files should be renamed.
namespace WebCore {
+ const char* currentSearchLocaleID();
const char* currentTextBreakLocaleID();
}
diff --git a/src/3rdparty/webkit/WebCore/platform/text/TextCodec.h b/src/3rdparty/webkit/WebCore/platform/text/TextCodec.h
index df42582..3c74165 100644
--- a/src/3rdparty/webkit/WebCore/platform/text/TextCodec.h
+++ b/src/3rdparty/webkit/WebCore/platform/text/TextCodec.h
@@ -56,7 +56,7 @@ namespace WebCore {
typedef char UnencodableReplacementArray[32];
- class TextCodec : Noncopyable {
+ class TextCodec : public Noncopyable {
public:
virtual ~TextCodec();
diff --git a/src/3rdparty/webkit/WebCore/platform/text/android/TextBreakIteratorInternalICU.cpp b/src/3rdparty/webkit/WebCore/platform/text/android/TextBreakIteratorInternalICU.cpp
index 9bebe74..9732e92 100644
--- a/src/3rdparty/webkit/WebCore/platform/text/android/TextBreakIteratorInternalICU.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/text/android/TextBreakIteratorInternalICU.cpp
@@ -28,8 +28,15 @@
namespace WebCore {
+const char* currentSearchLocaleID()
+{
+ // FIXME: Should use system locale.
+ return "";
+}
+
const char* currentTextBreakLocaleID()
{
+ // FIXME: Should use system locale.
return "en_us";
}
diff --git a/src/3rdparty/webkit/WebCore/platform/text/mac/TextBreakIteratorInternalICUMac.mm b/src/3rdparty/webkit/WebCore/platform/text/mac/TextBreakIteratorInternalICUMac.mm
index 92983eb..5da10e0 100644
--- a/src/3rdparty/webkit/WebCore/platform/text/mac/TextBreakIteratorInternalICUMac.mm
+++ b/src/3rdparty/webkit/WebCore/platform/text/mac/TextBreakIteratorInternalICUMac.mm
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2007 Apple Inc. All rights reserved.
+ * Copyright (C) 2007, 2009 Apple Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -21,41 +21,79 @@
#include "config.h"
#include "TextBreakIteratorInternalICU.h"
+#include <wtf/RetainPtr.h>
+
namespace WebCore {
static const int maxLocaleStringLength = 32;
-// This code was swiped from the CarbonCore UnicodeUtilities. One change from that is to use the empty
-// string instead of the "old locale model" as the ultimate fallback. This change is per the UnicodeUtilities
-// engineer.
-static void getTextBreakLocale(char localeStringBuffer[maxLocaleStringLength])
+static inline RetainPtr<CFStringRef> textBreakLocalePreference()
{
- // Empty string means "root locale", which is what we use if we can't use a pref.
+ RetainPtr<CFPropertyListRef> locale(AdoptCF, CFPreferencesCopyValue(CFSTR("AppleTextBreakLocale"),
+ kCFPreferencesAnyApplication, kCFPreferencesCurrentUser, kCFPreferencesAnyHost));
+ if (!locale || CFGetTypeID(locale.get()) != CFStringGetTypeID())
+ return 0;
+ return static_cast<CFStringRef>(locale.get());
+}
- // We get the parts string from AppleTextBreakLocale pref.
- // If that fails then look for the first language in the AppleLanguages pref.
- CFStringRef prefLocaleStr = (CFStringRef)CFPreferencesCopyValue(CFSTR("AppleTextBreakLocale"),
- kCFPreferencesAnyApplication, kCFPreferencesCurrentUser, kCFPreferencesAnyHost);
- if (!prefLocaleStr) {
- CFArrayRef appleLangArr = (CFArrayRef)CFPreferencesCopyValue(CFSTR("AppleLanguages"),
- kCFPreferencesAnyApplication, kCFPreferencesCurrentUser, kCFPreferencesAnyHost);
- if (appleLangArr) {
- // Take the topmost language. Retain so that we can blindly release later.
- prefLocaleStr = (CFStringRef)CFArrayGetValueAtIndex(appleLangArr, 0);
- if (prefLocaleStr)
- CFRetain(prefLocaleStr);
- CFRelease(appleLangArr);
- }
- }
- if (prefLocaleStr) {
- // Canonicalize pref string in case it is not in the canonical format.
- CFStringRef canonLocaleCFStr = CFLocaleCreateCanonicalLanguageIdentifierFromString(kCFAllocatorDefault, prefLocaleStr);
- if (canonLocaleCFStr) {
- CFStringGetCString(canonLocaleCFStr, localeStringBuffer, maxLocaleStringLength, kCFStringEncodingASCII);
- CFRelease(canonLocaleCFStr);
- }
- CFRelease(prefLocaleStr);
+static RetainPtr<CFStringRef> topLanguagePreference()
+{
+ RetainPtr<CFPropertyListRef> languages(AdoptCF, CFPreferencesCopyValue(CFSTR("AppleLanguages"),
+ kCFPreferencesAnyApplication, kCFPreferencesCurrentUser, kCFPreferencesAnyHost));
+ if (!languages || CFGetTypeID(languages.get()) != CFArrayGetTypeID())
+ return 0;
+ CFArrayRef languagesArray = static_cast<CFArrayRef>(languages.get());
+ if (CFArrayGetCount(languagesArray) < 1)
+ return 0;
+ const void* value = CFArrayGetValueAtIndex(languagesArray, 0);
+ if (!value || CFGetTypeID(value) != CFStringGetTypeID())
+ return 0;
+ return static_cast<CFStringRef>(value);
+}
+
+static RetainPtr<CFStringRef> canonicalLanguageIdentifier(CFStringRef locale)
+{
+ if (!locale)
+ return 0;
+ RetainPtr<CFStringRef> canonicalLocale(AdoptCF,
+ CFLocaleCreateCanonicalLanguageIdentifierFromString(kCFAllocatorDefault, locale));
+ if (!canonicalLocale)
+ return locale;
+ return canonicalLocale;
+}
+
+static void getLocale(CFStringRef locale, char localeStringBuffer[maxLocaleStringLength])
+{
+ // Empty string means "root locale", and that is what we use if we can't get a preference.
+ localeStringBuffer[0] = 0;
+ if (!locale)
+ return;
+ CFStringGetCString(locale, localeStringBuffer, maxLocaleStringLength, kCFStringEncodingASCII);
+}
+
+static void getSearchLocale(char localeStringBuffer[maxLocaleStringLength])
+{
+ getLocale(canonicalLanguageIdentifier(topLanguagePreference().get()).get(), localeStringBuffer);
+}
+
+const char* currentSearchLocaleID()
+{
+ static char localeStringBuffer[maxLocaleStringLength];
+ static bool gotSearchLocale = false;
+ if (!gotSearchLocale) {
+ getSearchLocale(localeStringBuffer);
+ gotSearchLocale = true;
}
+ return localeStringBuffer;
+}
+
+static void getTextBreakLocale(char localeStringBuffer[maxLocaleStringLength])
+{
+ // If there is no text break locale, use the top language preference.
+ RetainPtr<CFStringRef> locale = textBreakLocalePreference();
+ if (!locale)
+ locale = topLanguagePreference();
+ getLocale(canonicalLanguageIdentifier(locale.get()).get(), localeStringBuffer);
}
const char* currentTextBreakLocaleID()
diff --git a/src/3rdparty/webkit/WebCore/platform/text/qt/StringQt.cpp b/src/3rdparty/webkit/WebCore/platform/text/qt/StringQt.cpp
index 97bbf40..62aa979 100644
--- a/src/3rdparty/webkit/WebCore/platform/text/qt/StringQt.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/text/qt/StringQt.cpp
@@ -41,7 +41,7 @@ String::String(const QString& qstr)
String::String(const QStringRef& ref)
{
- if (!ref.string())
+ if (!ref.string())
return;
m_impl = StringImpl::create(reinterpret_cast<const UChar*>(ref.unicode()), ref.length());
}
diff --git a/src/3rdparty/webkit/WebCore/platform/text/qt/TextBoundaries.cpp b/src/3rdparty/webkit/WebCore/platform/text/qt/TextBoundaries.cpp
index bdc851b..ffc4c44 100644
--- a/src/3rdparty/webkit/WebCore/platform/text/qt/TextBoundaries.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/text/qt/TextBoundaries.cpp
@@ -39,8 +39,7 @@
#if QT_VERSION >= 0x040400
#include <qtextboundaryfinder.h>
-namespace WebCore
-{
+namespace WebCore {
int findNextWordFromIndex(UChar const* buffer, int len, int position, bool forward)
{
@@ -78,9 +77,8 @@ void findWordBoundary(UChar const* buffer, int len, int position, int* start, in
}
#else
-namespace WebCore
-{
-
+namespace WebCore {
+
int findNextWordFromIndex(UChar const* buffer, int len, int position, bool forward)
{
QString str(reinterpret_cast<QChar const*>(buffer), len);
diff --git a/src/3rdparty/webkit/WebCore/platform/text/qt/TextBreakIteratorQt.cpp b/src/3rdparty/webkit/WebCore/platform/text/qt/TextBreakIteratorQt.cpp
index 06e8f37..d80e270 100644
--- a/src/3rdparty/webkit/WebCore/platform/text/qt/TextBreakIteratorQt.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/text/qt/TextBreakIteratorQt.cpp
@@ -36,8 +36,7 @@
namespace WebCore {
- class TextBreakIterator : public QTextBoundaryFinder
- {
+ class TextBreakIterator : public QTextBoundaryFinder {
};
static QTextBoundaryFinder* iterator = 0;
static unsigned char buffer[1024];
@@ -138,17 +137,18 @@ namespace WebCore {
namespace WebCore {
- class TextBreakIterator
- {
+ class TextBreakIterator {
public:
virtual int first() = 0;
virtual int next() = 0;
virtual int previous() = 0;
- inline int following(int pos) {
+ inline int following(int pos)
+ {
currentPos = pos;
return next();
}
- inline int preceding(int pos) {
+ inline int preceding(int pos)
+ {
currentPos = pos;
return previous();
}
@@ -157,16 +157,14 @@ namespace WebCore {
int length;
};
- class WordBreakIteratorQt : public TextBreakIterator
- {
+ class WordBreakIteratorQt : public TextBreakIterator {
public:
virtual int first();
virtual int next();
virtual int previous();
};
- class CharBreakIteratorQt : public TextBreakIterator
- {
+ class CharBreakIteratorQt : public TextBreakIterator {
public:
virtual int first();
virtual int next();
@@ -174,12 +172,14 @@ namespace WebCore {
QTextLayout layout;
};
- int WordBreakIteratorQt::first() {
+ int WordBreakIteratorQt::first()
+ {
currentPos = 0;
return currentPos;
}
- int WordBreakIteratorQt::next() {
+ int WordBreakIteratorQt::next()
+ {
if (currentPos >= length) {
currentPos = -1;
return currentPos;
@@ -194,7 +194,9 @@ namespace WebCore {
}
return currentPos;
}
- int WordBreakIteratorQt::previous() {
+
+ int WordBreakIteratorQt::previous()
+ {
if (currentPos <= 0) {
currentPos = -1;
return currentPos;
@@ -210,18 +212,22 @@ namespace WebCore {
return currentPos;
}
- int CharBreakIteratorQt::first() {
+ int CharBreakIteratorQt::first()
+ {
currentPos = 0;
return currentPos;
}
- int CharBreakIteratorQt::next() {
+ int CharBreakIteratorQt::next()
+ {
if (currentPos >= length)
return -1;
currentPos = layout.nextCursorPosition(currentPos);
return currentPos;
}
- int CharBreakIteratorQt::previous() {
+
+ int CharBreakIteratorQt::previous()
+ {
if (currentPos <= 0)
return -1;
currentPos = layout.previousCursorPosition(currentPos);
@@ -252,7 +258,7 @@ TextBreakIterator* characterBreakIterator(const UChar* string, int length)
iterator->length = length;
iterator->currentPos = 0;
iterator->layout.setText(QString(reinterpret_cast<const QChar*>(string), length));
-
+
return iterator;
}
diff --git a/src/3rdparty/webkit/WebCore/platform/text/win/TextBreakIteratorInternalICUWin.cpp b/src/3rdparty/webkit/WebCore/platform/text/win/TextBreakIteratorInternalICUWin.cpp
index ce436df..e417e17 100644
--- a/src/3rdparty/webkit/WebCore/platform/text/win/TextBreakIteratorInternalICUWin.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/text/win/TextBreakIteratorInternalICUWin.cpp
@@ -23,6 +23,12 @@
namespace WebCore {
+const char* currentSearchLocaleID()
+{
+ // FIXME: Should use system locale.
+ return "";
+}
+
const char* currentTextBreakLocaleID()
{
// Using en_US_POSIX now so word selection in address field works as expected as before (double-clicking
diff --git a/src/3rdparty/webkit/WebCore/plugins/PluginDatabase.cpp b/src/3rdparty/webkit/WebCore/plugins/PluginDatabase.cpp
index 8626277..de1c298 100644
--- a/src/3rdparty/webkit/WebCore/plugins/PluginDatabase.cpp
+++ b/src/3rdparty/webkit/WebCore/plugins/PluginDatabase.cpp
@@ -34,14 +34,17 @@
namespace WebCore {
-PluginDatabase* PluginDatabase::installedPlugins()
+PluginDatabase* PluginDatabase::installedPlugins(bool populate)
{
static PluginDatabase* plugins = 0;
-
+
if (!plugins) {
plugins = new PluginDatabase;
- plugins->setPluginDirectories(PluginDatabase::defaultPluginDirectories());
- plugins->refresh();
+
+ if (populate) {
+ plugins->setPluginDirectories(PluginDatabase::defaultPluginDirectories());
+ plugins->refresh();
+ }
}
return plugins;
@@ -64,7 +67,7 @@ void PluginDatabase::addExtraPluginDirectory(const String& directory)
}
bool PluginDatabase::refresh()
-{
+{
bool pluginSetChanged = false;
if (!m_plugins.isEmpty()) {
@@ -264,6 +267,14 @@ void PluginDatabase::remove(PluginPackage* package)
m_pluginsByPath.remove(package->path());
}
+void PluginDatabase::clear()
+{
+ m_plugins.clear();
+ m_pluginsByPath.clear();
+ m_pluginPathsWithTimes.clear();
+ m_registeredMIMETypes.clear();
+}
+
#if !PLATFORM(WIN_OS) || PLATFORM(WX)
// For Safari/Win the following three methods are implemented
// in PluginDatabaseWin.cpp, but if we can use WebCore constructs
diff --git a/src/3rdparty/webkit/WebCore/plugins/PluginDatabase.h b/src/3rdparty/webkit/WebCore/plugins/PluginDatabase.h
index 58839a2..b8d2bfe 100644
--- a/src/3rdparty/webkit/WebCore/plugins/PluginDatabase.h
+++ b/src/3rdparty/webkit/WebCore/plugins/PluginDatabase.h
@@ -1,6 +1,7 @@
/*
* Copyright (C) 2006, 2007 Apple Inc. All rights reserved.
* Copyright (C) 2008 Collabora, Ltd. All rights reserved.
+ * Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies)
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -42,12 +43,18 @@ namespace WebCore {
class PluginPackage;
typedef HashSet<RefPtr<PluginPackage>, PluginPackageHash> PluginSet;
-
+
class PluginDatabase {
public:
- static PluginDatabase* installedPlugins();
+ // The first call to installedPlugins creates the plugin database
+ // and by default populates it with the plugins installed on the system.
+ // For testing purposes, it is possible to not populate the database
+ // automatically, as the plugins might affect the DRT results by
+ // writing to a.o. stderr.
+ static PluginDatabase* installedPlugins(bool populate = true);
bool refresh();
+ void clear();
Vector<PluginPackage*> plugins() const;
bool isMIMETypeRegistered(const String& mimeType);
void addExtraPluginDirectory(const String&);
@@ -57,9 +64,13 @@ namespace WebCore {
PluginPackage* findPlugin(const KURL&, String& mimeType);
- private:
- void setPluginDirectories(const Vector<String>& directories) { m_pluginDirectories = directories; }
+ void setPluginDirectories(const Vector<String>& directories)
+ {
+ clear();
+ m_pluginDirectories = directories;
+ }
+ private:
void getPluginPathsInDirectories(HashSet<String>&) const;
void getDeletedPlugins(PluginSet&) const;
diff --git a/src/3rdparty/webkit/WebCore/plugins/PluginDebug.cpp b/src/3rdparty/webkit/WebCore/plugins/PluginDebug.cpp
new file mode 100644
index 0000000..ace8b21
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/plugins/PluginDebug.cpp
@@ -0,0 +1,168 @@
+/*
+ * Copyright (C) 2006, 2007 Apple Inc. All rights reserved.
+ * Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies)
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+#include "PluginDebug.h"
+#include "PlatformString.h"
+
+#if !LOG_DISABLED
+
+namespace WebCore {
+
+static const char* const errorStrings[] = {
+ "No errors occurred.", /* NPERR_NO_ERROR */
+ "Error with no specific error code occurred.", /* NPERR_GENERIC_ERROR */
+ "Invalid instance passed to the plug-in.", /* NPERR_INVALID_INSTANCE_ERROR */
+ "Function table invalid.", /* NPERR_INVALID_FUNCTABLE_ERROR */
+ "Loading of plug-in failed.", /* NPERR_MODULE_LOAD_FAILED_ERROR */
+ "Memory allocation failed.", /* NPERR_OUT_OF_MEMORY_ERROR */
+ "Plug-in missing or invalid.", /* NPERR_INVALID_PLUGIN_ERROR */
+ "Plug-in directory missing or invalid.", /* NPERR_INVALID_PLUGIN_DIR_ERROR */
+ "Versions of plug-in and Communicator do not match.", /* NPERR_INCOMPATIBLE_VERSION_ERROR */
+ "Parameter missing or invalid.", /* NPERR_INVALID_PARAM */
+ "URL missing or invalid.", /* NPERR_INVALID_URL */
+ "File missing or invalid.", /* NPERR_FILE_NOT_FOUND */
+ "Stream contains no data.", /* NPERR_NO_DATA */
+ "Seekable stream expected.", /* NPERR_STREAM_NOT_SEEKABLE */
+ "Unknown error code"
+};
+
+#ifdef XP_MACOSX
+static const char* const drawingModels[] = {
+ "NPDrawingModelQuickDraw",
+ "NPDrawingModelCoreGraphics",
+ "NPDrawingModelOpenGL",
+ "NPDrawingModelCoreAnimation"
+};
+
+static const char* const eventModels[] = {
+ "NPEventModelCarbon",
+ "NPEventModelCocoa"
+};
+#endif //XP_MACOSX
+
+const char* prettyNameForNPError(NPError error)
+{
+ return errorStrings[error];
+}
+
+#ifdef XP_MACOSX
+const char* prettyNameForDrawingModel(NPDrawingModel drawingModel)
+{
+ return drawingModels[drawingModel];
+}
+
+const char* prettyNameForEventModel(NPEventModel eventModel)
+{
+ return eventModels[eventModel];
+}
+#endif //XP_MACOSX
+
+CString prettyNameForNPNVariable(NPNVariable variable)
+{
+ switch (variable) {
+ case NPNVxDisplay: return "NPNVxDisplay";
+ case NPNVxtAppContext: return "NPNVxtAppContext";
+ case NPNVnetscapeWindow: return "NPNVnetscapeWindow";
+ case NPNVjavascriptEnabledBool: return "NPNVjavascriptEnabledBool";
+ case NPNVasdEnabledBool: return "NPNVasdEnabledBool";
+ case NPNVisOfflineBool: return "NPNVisOfflineBool";
+
+ case NPNVserviceManager: return "NPNVserviceManager (not supported)";
+ case NPNVDOMElement: return "NPNVDOMElement (not supported)";
+ case NPNVDOMWindow: return "NPNVDOMWindow (not supported)";
+ case NPNVToolkit: return "NPNVToolkit (not supported)";
+ case NPNVSupportsXEmbedBool: return "NPNVSupportsXEmbedBool (not supported)";
+
+ case NPNVWindowNPObject: return "NPNVWindowNPObject";
+ case NPNVPluginElementNPObject: return "NPNVPluginElementNPObject";
+ case NPNVSupportsWindowless: return "NPNVSupportsWindowless";
+ case NPNVprivateModeBool: return "NPNVprivateModeBool";
+
+#ifdef XP_MACOSX
+ case NPNVpluginDrawingModel: return "NPNVpluginDrawingModel";
+#ifndef NP_NO_QUICKDRAW
+ case NPNVsupportsQuickDrawBool: return "NPNVsupportsQuickDrawBool";
+#endif
+ case NPNVsupportsCoreGraphicsBool: return "NPNVsupportsCoreGraphicsBool";
+ case NPNVsupportsOpenGLBool: return "NPNVsupportsOpenGLBool";
+ case NPNVsupportsCoreAnimationBool: return "NPNVsupportsCoreAnimationBool";
+#ifndef NP_NO_CARBON
+ case NPNVsupportsCarbonBool: return "NPNVsupportsCarbonBool";
+#endif
+ case NPNVsupportsCocoaBool: return "NPNVsupportsCocoaBool";
+#endif
+
+ default: return "Unknown variable";
+ }
+}
+
+CString prettyNameForNPPVariable(NPPVariable variable, void* value)
+{
+ switch (variable) {
+ case NPPVpluginNameString: return "NPPVpluginNameString";
+ case NPPVpluginDescriptionString: return "NPPVpluginDescriptionString";
+ case NPPVpluginWindowBool: return "NPPVpluginWindowBool";
+ case NPPVpluginTransparentBool: return "NPPVpluginTransparentBool";
+
+ case NPPVjavaClass: return "NPPVjavaClass (not supported)";
+ case NPPVpluginWindowSize: return "NPPVpluginWindowSize (not supported)";
+ case NPPVpluginTimerInterval: return "NPPVpluginTimerInterval (not supported)";
+ case NPPVpluginScriptableInstance: return "NPPVpluginScriptableInstance (not supported)";
+ case NPPVpluginScriptableIID: return "NPPVpluginScriptableIID (not supported)";
+ case NPPVjavascriptPushCallerBool: return "NPPVjavascriptPushCallerBool (not supported)";
+ case NPPVpluginKeepLibraryInMemory: return "NPPVpluginKeepLibraryInMemory (not supported)";
+ case NPPVpluginNeedsXEmbed: return "NPPVpluginNeedsXEmbed (not supported)";
+
+ case NPPVpluginScriptableNPObject: return "NPPVpluginScriptableNPObject";
+
+ case NPPVformValue: return "NPPVformValue (not supported)";
+ case NPPVpluginUrlRequestsDisplayedBool: return "NPPVpluginUrlRequestsDisplayedBool (not supported)";
+
+ case NPPVpluginWantsAllNetworkStreams: return "NPPVpluginWantsAllNetworkStreams";
+ case NPPVpluginCancelSrcStream: return "NPPVpluginCancelSrcStream";
+
+#ifdef XP_MACOSX
+ case NPPVpluginDrawingModel: {
+ String result("NPPVpluginDrawingModel, ");
+ result.append(prettyNameForDrawingModel(NPDrawingModel(uintptr_t(value))));
+ return result.latin1();
+ }
+ case NPPVpluginEventModel: {
+ String result("NPPVpluginEventModel, ");
+ result.append(prettyNameForEventModel(NPEventModel(uintptr_t(value))));
+ return result.latin1();
+ }
+ case NPPVpluginCoreAnimationLayer: return "NPPVpluginCoreAnimationLayer";
+#endif
+
+ default: return "Unknown variable";
+ }
+}
+
+} // namespace WebCore
+
+#endif // !LOG_DISABLED
diff --git a/src/3rdparty/webkit/WebCore/plugins/PluginDebug.h b/src/3rdparty/webkit/WebCore/plugins/PluginDebug.h
index 54a49f6..5b84393 100644
--- a/src/3rdparty/webkit/WebCore/plugins/PluginDebug.h
+++ b/src/3rdparty/webkit/WebCore/plugins/PluginDebug.h
@@ -28,30 +28,27 @@
#include "Logging.h"
#include "npruntime_internal.h"
+#include "CString.h"
+
+#define LOG_NPERROR(err) if (err != NPERR_NO_ERROR) LOG_VERBOSE(Plugins, "%s\n", prettyNameForNPError(err))
+#define LOG_PLUGIN_NET_ERROR() LOG_VERBOSE(Plugins, "Stream failed due to problems with network, disk I/O, lack of memory, or other problems.\n")
#if !LOG_DISABLED
-static const char* const errorStrings[] = {
- "No errors occurred.", /* NPERR_NO_ERROR */
- "Error with no specific error code occurred.", /* NPERR_GENERIC_ERROR */
- "Invalid instance passed to the plug-in.", /* NPERR_INVALID_INSTANCE_ERROR */
- "Function table invalid.", /* NPERR_INVALID_FUNCTABLE_ERROR */
- "Loading of plug-in failed.", /* NPERR_MODULE_LOAD_FAILED_ERROR */
- "Memory allocation failed.", /* NPERR_OUT_OF_MEMORY_ERROR */
- "Plug-in missing or invalid.", /* NPERR_INVALID_PLUGIN_ERROR */
- "Plug-in directory missing or invalid.", /* NPERR_INVALID_PLUGIN_DIR_ERROR */
- "Versions of plug-in and Communicator do not match.", /* NPERR_INCOMPATIBLE_VERSION_ERROR */
- "Parameter missing or invalid.", /* NPERR_INVALID_PARAM */
- "URL missing or invalid.", /* NPERR_INVALID_URL */
- "File missing or invalid.", /* NPERR_FILE_NOT_FOUND */
- "Stream contains no data.", /* NPERR_NO_DATA */
- "Seekable stream expected.", /* NPERR_STREAM_NOT_SEEKABLE */
- "Unknown error code"
-};
+namespace WebCore {
-#endif
+const char* prettyNameForNPError(NPError error);
-#define LOG_NPERROR(err) if (err != NPERR_NO_ERROR) LOG_VERBOSE(Plugins, "%s\n", errorStrings[err])
-#define LOG_PLUGIN_NET_ERROR() LOG_VERBOSE(Plugins, "Stream failed due to problems with network, disk I/O, lack of memory, or other problems.\n")
+CString prettyNameForNPNVariable(NPNVariable variable);
+CString prettyNameForNPPVariable(NPPVariable variable, void* value);
+#ifdef XP_MACOSX
+const char* prettyNameForDrawingModel(NPDrawingModel drawingModel);
+const char* prettyNameForEventModel(NPEventModel eventModel);
#endif
+
+} // namespace WebCore
+
+#endif // !LOG_DISABLED
+
+#endif // PluginDebug_h
diff --git a/src/3rdparty/webkit/WebCore/plugins/PluginView.cpp b/src/3rdparty/webkit/WebCore/plugins/PluginView.cpp
index 2c5adc5..2cecdc4 100644
--- a/src/3rdparty/webkit/WebCore/plugins/PluginView.cpp
+++ b/src/3rdparty/webkit/WebCore/plugins/PluginView.cpp
@@ -162,7 +162,7 @@ bool PluginView::start()
NPError npErr;
{
PluginView::setCurrentPluginView(this);
- JSC::JSLock::DropAllLocks dropAllLocks(false);
+ JSC::JSLock::DropAllLocks dropAllLocks(JSC::SilenceAssertionsOnly);
setCallingPlugin(true);
npErr = m_plugin->pluginFuncs()->newp((NPMIMEType)m_mimeType.data(), m_instance, m_mode, m_paramCount, m_paramNames, m_paramValues, NULL);
setCallingPlugin(false);
@@ -209,7 +209,7 @@ static bool getString(ScriptController* proxy, JSValue result, String& string)
{
if (!proxy || !result || result.isUndefined())
return false;
- JSLock lock(false);
+ JSLock lock(JSC::SilenceAssertionsOnly);
ExecState* exec = proxy->globalObject()->globalExec();
UString ustring = result.toString(exec);
@@ -239,12 +239,16 @@ void PluginView::performRequest(PluginRequest* request)
m_streams.add(stream);
stream->start();
} else {
+ // If the target frame is our frame, we could destroy the
+ // PluginView, so we protect it. <rdar://problem/6991251>
+ RefPtr<PluginView> protect(this);
+
m_parentFrame->loader()->load(request->frameLoadRequest().resourceRequest(), targetFrameName, false);
-
+
// FIXME: <rdar://problem/4807469> This should be sent when the document has finished loading
if (request->sendNotification()) {
PluginView::setCurrentPluginView(this);
- JSC::JSLock::DropAllLocks dropAllLocks(false);
+ JSC::JSLock::DropAllLocks dropAllLocks(JSC::SilenceAssertionsOnly);
setCallingPlugin(true);
m_plugin->pluginFuncs()->urlnotify(m_instance, requestURL.string().utf8().data(), NPRES_DONE, request->notifyData());
setCallingPlugin(false);
@@ -414,6 +418,8 @@ void PluginView::status(const char* message)
NPError PluginView::setValue(NPPVariable variable, void* value)
{
+ LOG(Plugins, "PluginView::setValue(%s): ", prettyNameForNPPVariable(variable, value).data());
+
switch (variable) {
case NPPVpluginWindowBool:
m_isWindowed = value;
@@ -422,11 +428,49 @@ NPError PluginView::setValue(NPPVariable variable, void* value)
m_isTransparent = value;
return NPERR_NO_ERROR;
#if defined(XP_MACOSX)
- case NPPVpluginDrawingModel:
- return NPERR_NO_ERROR;
- case NPPVpluginEventModel:
- return NPERR_NO_ERROR;
+ case NPPVpluginDrawingModel: {
+ // Can only set drawing model inside NPP_New()
+ if (this != currentPluginView())
+ return NPERR_GENERIC_ERROR;
+
+ NPDrawingModel newDrawingModel = NPDrawingModel(uintptr_t(value));
+ switch (newDrawingModel) {
+ case NPDrawingModelCoreGraphics:
+ m_drawingModel = newDrawingModel;
+ return NPERR_NO_ERROR;
+#ifndef NP_NO_QUICKDRAW
+ case NPDrawingModelQuickDraw:
+#endif
+ case NPDrawingModelCoreAnimation:
+ default:
+ LOG(Plugins, "Plugin asked for unsupported drawing model: %s",
+ prettyNameForDrawingModel(newDrawingModel));
+ return NPERR_GENERIC_ERROR;
+ }
+ }
+
+ case NPPVpluginEventModel: {
+ // Can only set event model inside NPP_New()
+ if (this != currentPluginView())
+ return NPERR_GENERIC_ERROR;
+
+ NPEventModel newEventModel = NPEventModel(uintptr_t(value));
+ switch (newEventModel) {
+#ifndef NP_NO_CARBON
+ case NPEventModelCarbon:
#endif
+ case NPEventModelCocoa:
+ m_eventModel = newEventModel;
+ return NPERR_NO_ERROR;
+
+ default:
+ LOG(Plugins, "Plugin asked for unsupported event model: %s",
+ prettyNameForEventModel(newEventModel));
+ return NPERR_GENERIC_ERROR;
+ }
+ }
+#endif // defined(XP_MACOSX)
+
default:
notImplemented();
return NPERR_GENERIC_ERROR;
@@ -481,16 +525,28 @@ PassRefPtr<JSC::Bindings::Instance> PluginView::bindingInstance()
if (!m_plugin || !m_plugin->pluginFuncs()->getvalue)
return 0;
+ // On Windows, calling Java's NPN_GetValue can allow the message loop to
+ // run, allowing loading to take place or JavaScript to run. Protect the
+ // PluginView from destruction. <rdar://problem/6978804>
+ RefPtr<PluginView> protect(this);
+
NPError npErr;
{
PluginView::setCurrentPluginView(this);
- JSC::JSLock::DropAllLocks dropAllLocks(false);
+ JSC::JSLock::DropAllLocks dropAllLocks(JSC::SilenceAssertionsOnly);
setCallingPlugin(true);
npErr = m_plugin->pluginFuncs()->getvalue(m_instance, NPPVpluginScriptableNPObject, &object);
setCallingPlugin(false);
PluginView::setCurrentPluginView(0);
}
+ if (hasOneRef()) {
+ // The renderer for the PluginView was destroyed during the above call, and
+ // the PluginView will be destroyed when this function returns, so we
+ // return null.
+ return 0;
+ }
+
if (npErr != NPERR_NO_ERROR || !object)
return 0;
@@ -568,6 +624,10 @@ PluginView::PluginView(Frame* parentFrame, const IntSize& size, PluginPackage* p
#if (PLATFORM(QT) && PLATFORM(WIN_OS)) || defined(XP_MACOSX)
, m_window(0)
#endif
+#if defined(XP_MACOSX)
+ , m_drawingModel(NPDrawingModel(-1))
+ , m_eventModel(NPEventModel(-1))
+#endif
, m_loadManually(loadManually)
, m_manualStream(0)
, m_isJavaScriptPaused(false)
@@ -585,8 +645,9 @@ PluginView::PluginView(Frame* parentFrame, const IntSize& size, PluginPackage* p
setParameters(paramNames, paramValues);
-#ifdef XP_UNIX
- m_npWindow.ws_info = 0;
+ memset(&m_npWindow, 0, sizeof(m_npWindow));
+#if defined(XP_MACOSX)
+ memset(&m_npCgContext, 0, sizeof(m_npCgContext));
#endif
m_mode = m_loadManually ? NP_FULL : NP_EMBED;
@@ -667,7 +728,7 @@ bool PluginView::isCallingPlugin()
return s_callingPlugin > 0;
}
-PluginView* PluginView::create(Frame* parentFrame, const IntSize& size, Element* element, const KURL& url, const Vector<String>& paramNames, const Vector<String>& paramValues, const String& mimeType, bool loadManually)
+PassRefPtr<PluginView> PluginView::create(Frame* parentFrame, const IntSize& size, Element* element, const KURL& url, const Vector<String>& paramNames, const Vector<String>& paramValues, const String& mimeType, bool loadManually)
{
// if we fail to find a plugin for this MIME type, findPlugin will search for
// a plugin by the file extension and update the MIME type, so pass a mutable String
@@ -680,7 +741,7 @@ PluginView* PluginView::create(Frame* parentFrame, const IntSize& size, Element*
plugin = PluginDatabase::installedPlugins()->findPlugin(url, mimeTypeCopy);
}
- return new PluginView(parentFrame, size, plugin, element, url, paramNames, paramValues, mimeTypeCopy, loadManually);
+ return adoptRef(new PluginView(parentFrame, size, plugin, element, url, paramNames, paramValues, mimeTypeCopy, loadManually));
}
void PluginView::freeStringArray(char** stringArray, int length)
diff --git a/src/3rdparty/webkit/WebCore/plugins/PluginView.h b/src/3rdparty/webkit/WebCore/plugins/PluginView.h
index 41d986b..95d73db 100644
--- a/src/3rdparty/webkit/WebCore/plugins/PluginView.h
+++ b/src/3rdparty/webkit/WebCore/plugins/PluginView.h
@@ -108,7 +108,7 @@ namespace WebCore {
class PluginView : public Widget, private PluginStreamClient, public PluginManualLoader {
public:
- static PluginView* create(Frame* parentFrame, const IntSize&, Element*, const KURL&, const Vector<String>& paramNames, const Vector<String>& paramValues, const String& mimeType, bool loadManually);
+ static PassRefPtr<PluginView> create(Frame* parentFrame, const IntSize&, Element*, const KURL&, const Vector<String>& paramNames, const Vector<String>& paramValues, const String& mimeType, bool loadManually);
virtual ~PluginView();
PluginPackage* plugin() const { return m_plugin.get(); }
@@ -293,6 +293,8 @@ private:
#elif defined(XP_MACOSX)
NP_CGContext m_npCgContext;
OwnPtr<Timer<PluginView> > m_nullEventTimer;
+ NPDrawingModel m_drawingModel;
+ NPEventModel m_eventModel;
void setNPWindowIfNeeded();
void nullEventTimerFired(Timer<PluginView>*);
diff --git a/src/3rdparty/webkit/WebCore/plugins/mac/PluginViewMac.cpp b/src/3rdparty/webkit/WebCore/plugins/mac/PluginViewMac.cpp
index c59a9bb..721ec29 100644
--- a/src/3rdparty/webkit/WebCore/plugins/mac/PluginViewMac.cpp
+++ b/src/3rdparty/webkit/WebCore/plugins/mac/PluginViewMac.cpp
@@ -127,6 +127,8 @@ static inline IntPoint topLevelOffsetFor(PlatformWidget widget)
void PluginView::init()
{
+ LOG(Plugins, "PluginView::init(): Initializing plug-in '%s'", m_plugin->name().utf8().data());
+
if (m_haveInitialized)
return;
m_haveInitialized = true;
@@ -144,23 +146,54 @@ void PluginView::init()
if (!start()) {
m_status = PluginStatusCanNotLoadPlugin;
+ stop(); // Make sure we unregister the plugin
return;
}
- setPlatformPluginWidget(m_parentFrame->view()->hostWindow()->platformWindow());
+ if (m_drawingModel == NPDrawingModel(-1)) {
+ // We default to QuickDraw, even though we don't support it,
+ // since that's what Safari does, and some plugins expect this
+ // behavior and never set the drawing model explicitly.
+#ifndef NP_NO_QUICKDRAW
+ m_drawingModel = NPDrawingModelQuickDraw;
+#else
+ // QuickDraw not available, so we have to default to CoreGraphics
+ m_drawingModel = NPDrawingModelCoreGraphics;
+#endif
+ }
- m_npCgContext.window = 0;
- m_npCgContext.context = 0;
- m_npWindow.window = (void*)&m_npCgContext;
- m_npWindow.type = NPWindowTypeWindow;
- m_npWindow.x = 0;
- m_npWindow.y = 0;
- m_npWindow.width = 0;
- m_npWindow.height = 0;
- m_npWindow.clipRect.left = 0;
- m_npWindow.clipRect.top = 0;
- m_npWindow.clipRect.right = 0;
- m_npWindow.clipRect.bottom = 0;
+ if (m_eventModel == NPEventModel(-1)) {
+ // If the plug-in did not specify an event model
+ // we default to Carbon, when it is available.
+#ifndef NP_NO_CARBON
+ m_eventModel = NPEventModelCarbon;
+#else
+ m_eventModel = NPEventModelCocoa;
+#endif
+ }
+
+ // Gracefully handle unsupported drawing or event models. We can do this
+ // now since the drawing and event model can only be set during NPP_New.
+ NPBool eventModelSupported, drawingModelSupported;
+ if (getValueStatic(NPNVariable(NPNVsupportsCarbonBool + m_eventModel), &eventModelSupported) != NPERR_NO_ERROR
+ || !eventModelSupported) {
+ m_status = PluginStatusCanNotLoadPlugin;
+ LOG(Plugins, "Plug-in '%s' uses unsupported event model %s",
+ m_plugin->name().utf8().data(), prettyNameForEventModel(m_eventModel));
+ stop();
+ return;
+ }
+
+ if (getValueStatic(NPNVariable(NPNVsupportsQuickDrawBool + m_drawingModel), &drawingModelSupported) != NPERR_NO_ERROR
+ || !drawingModelSupported) {
+ m_status = PluginStatusCanNotLoadPlugin;
+ LOG(Plugins, "Plug-in '%s' uses unsupported drawing model %s",
+ m_plugin->name().utf8().data(), prettyNameForDrawingModel(m_drawingModel));
+ stop();
+ return;
+ }
+
+ setPlatformPluginWidget(m_parentFrame->view()->hostWindow()->platformWindow());
show();
@@ -173,6 +206,8 @@ void PluginView::init()
PluginView::~PluginView()
{
+ LOG(Plugins, "PluginView::~PluginView()");
+
stop();
deleteAllValues(m_requests);
@@ -193,6 +228,8 @@ void PluginView::stop()
if (!m_isStarted)
return;
+ LOG(Plugins, "PluginView::stop(): Stopping plug-in '%s'", m_plugin->name().utf8().data());
+
HashSet<RefPtr<PluginStream> > streams = m_streams;
HashSet<RefPtr<PluginStream> >::iterator end = streams.end();
for (HashSet<RefPtr<PluginStream> >::iterator it = streams.begin(); it != end; ++it) {
@@ -204,7 +241,7 @@ void PluginView::stop()
m_isStarted = false;
- JSC::JSLock::DropAllLocks dropAllLocks(false);
+ JSC::JSLock::DropAllLocks dropAllLocks(JSC::SilenceAssertionsOnly);
PluginMainThreadScheduler::scheduler().unregisterPlugin(m_instance);
@@ -218,9 +255,11 @@ void PluginView::stop()
m_instance->pdata = 0;
}
+// Used before the plugin view has been initialized properly, and as a
+// fallback for variables that do not require a view to resolve.
NPError PluginView::getValueStatic(NPNVariable variable, void* value)
{
- LOG(Plugins, "PluginView::getValueStatic(%d)", variable);
+ LOG(Plugins, "PluginView::getValueStatic(%s)", prettyNameForNPNVariable(variable).data());
switch (variable) {
case NPNVToolkit:
@@ -231,14 +270,39 @@ NPError PluginView::getValueStatic(NPNVariable variable, void* value)
*static_cast<NPBool*>(value) = true;
return NPERR_NO_ERROR;
+#ifndef NP_NO_CARBON
+ case NPNVsupportsCarbonBool:
+ *static_cast<NPBool*>(value) = true;
+ return NPERR_NO_ERROR;
+
+#endif
+ case NPNVsupportsCocoaBool:
+ *static_cast<NPBool*>(value) = false;
+ return NPERR_NO_ERROR;
+
+ // CoreGraphics is the only drawing model we support
+ case NPNVsupportsCoreGraphicsBool:
+ *static_cast<NPBool*>(value) = true;
+ return NPERR_NO_ERROR;
+
+#ifndef NP_NO_QUICKDRAW
+ // QuickDraw is deprecated in 10.5 and not supported on 64-bit
+ case NPNVsupportsQuickDrawBool:
+#endif
+ case NPNVsupportsOpenGLBool:
+ case NPNVsupportsCoreAnimationBool:
+ *static_cast<NPBool*>(value) = false;
+ return NPERR_NO_ERROR;
+
default:
return NPERR_GENERIC_ERROR;
}
}
+// Used only for variables that need a view to resolve
NPError PluginView::getValue(NPNVariable variable, void* value)
{
- LOG(Plugins, "PluginView::getValue(%d)", variable);
+ LOG(Plugins, "PluginView::getValue(%s)", prettyNameForNPNVariable(variable).data());
switch (variable) {
case NPNVWindowNPObject: {
@@ -278,10 +342,6 @@ NPError PluginView::getValue(NPNVariable variable, void* value)
return NPERR_NO_ERROR;
}
- case NPNVsupportsCoreGraphicsBool:
- *static_cast<NPBool*>(value) = true;
- return NPERR_NO_ERROR;
-
default:
return getValueStatic(variable, value);
}
@@ -289,6 +349,8 @@ NPError PluginView::getValue(NPNVariable variable, void* value)
}
void PluginView::setParent(ScrollView* parent)
{
+ LOG(Plugins, "PluginView::setParent(%p)", parent);
+
Widget::setParent(parent);
if (parent)
@@ -363,6 +425,7 @@ void PluginView::setNPWindowIfNeeded()
if (!newWindowRef)
return;
+ m_npWindow.type = NPWindowTypeWindow;
m_npWindow.window = (void*)&m_npCgContext;
m_npCgContext.window = newWindowRef;
m_npCgContext.context = newContextRef;
@@ -373,13 +436,18 @@ void PluginView::setNPWindowIfNeeded()
m_npWindow.height = m_windowRect.height();
// TODO: (also clip against scrollbars, etc.)
- m_npWindow.clipRect.left = 0;
- m_npWindow.clipRect.top = 0;
- m_npWindow.clipRect.right = m_windowRect.width();
- m_npWindow.clipRect.bottom = m_windowRect.height();
+ m_npWindow.clipRect.left = max(0, m_windowRect.x());
+ m_npWindow.clipRect.top = max(0, m_windowRect.y());
+ m_npWindow.clipRect.right = m_windowRect.x() + m_windowRect.width();
+ m_npWindow.clipRect.bottom = m_windowRect.y() + m_windowRect.height();
+
+ LOG(Plugins, "PluginView::setNPWindowIfNeeded(): window=%p, context=%p,"
+ " window.x:%d window.y:%d window.width:%d window.height:%d window.clipRect size:%dx%d",
+ newWindowRef, newContextRef, m_npWindow.x, m_npWindow.y, m_npWindow.width, m_npWindow.height,
+ m_npWindow.clipRect.right - m_npWindow.clipRect.left, m_npWindow.clipRect.bottom - m_npWindow.clipRect.top);
PluginView::setCurrentPluginView(this);
- JSC::JSLock::DropAllLocks dropAllLocks(false);
+ JSC::JSLock::DropAllLocks dropAllLocks(JSC::SilenceAssertionsOnly);
setCallingPlugin(true);
m_plugin->pluginFuncs()->setwindow(m_instance, &m_npWindow);
setCallingPlugin(false);
@@ -410,7 +478,7 @@ void PluginView::updatePluginWidget()
void PluginView::paint(GraphicsContext* context, const IntRect& rect)
{
- if (!m_isStarted) {
+ if (!m_isStarted || m_status != PluginStatusLoadedSuccessfully) {
paintMissingPluginIcon(context, rect);
return;
}
@@ -467,6 +535,9 @@ void PluginView::forceRedraw()
void PluginView::handleMouseEvent(MouseEvent* event)
{
+ if (!m_isStarted)
+ return;
+
EventRecord record;
if (event->type() == eventNames().mousemoveEvent) {
@@ -510,6 +581,9 @@ void PluginView::handleMouseEvent(MouseEvent* event)
void PluginView::handleKeyboardEvent(KeyboardEvent* event)
{
+ if (!m_isStarted)
+ return;
+
LOG(Plugins, "PluginView::handleKeyboardEvent() ----------------- ");
LOG(Plugins, "PV::hKE(): KE.keyCode: 0x%02X, KE.charCode: %d",
@@ -638,7 +712,7 @@ Point PluginView::globalMousePosForPlugin() const
bool PluginView::dispatchNPEvent(NPEvent& event)
{
PluginView::setCurrentPluginView(this);
- JSC::JSLock::DropAllLocks dropAllLocks(false);
+ JSC::JSLock::DropAllLocks dropAllLocks(JSC::SilenceAssertionsOnly);
setCallingPlugin(true);
bool accepted = m_plugin->pluginFuncs()->event(m_instance, &event);
diff --git a/src/3rdparty/webkit/WebCore/plugins/qt/PluginPackageQt.cpp b/src/3rdparty/webkit/WebCore/plugins/qt/PluginPackageQt.cpp
index 4140d89..b9c1656 100644
--- a/src/3rdparty/webkit/WebCore/plugins/qt/PluginPackageQt.cpp
+++ b/src/3rdparty/webkit/WebCore/plugins/qt/PluginPackageQt.cpp
@@ -44,19 +44,19 @@ bool PluginPackage::fetchInfo()
typedef char *(*NPP_GetMIMEDescriptionProcPtr)();
NPP_GetMIMEDescriptionProcPtr gm =
(NPP_GetMIMEDescriptionProcPtr)m_module->resolve("NP_GetMIMEDescription");
- if (!gm || !gv) {
+ if (!gm || !gv)
return false;
- }
+
char *buf = 0;
- NPError err = gv(0, NPPVpluginNameString, (void *)&buf);
- if (err != NPERR_NO_ERROR) {
+ NPError err = gv(0, NPPVpluginNameString, (void*) &buf);
+ if (err != NPERR_NO_ERROR)
return false;
- }
+
m_name = buf;
- err = gv(0, NPPVpluginDescriptionString, (void *)&buf);
- if (err != NPERR_NO_ERROR) {
+ err = gv(0, NPPVpluginDescriptionString, (void*) &buf);
+ if (err != NPERR_NO_ERROR)
return false;
- }
+
m_description = buf;
determineModuleVersionFromDescription();
@@ -65,7 +65,7 @@ bool PluginPackage::fetchInfo()
s.split(UChar(';'), false, types);
for (int i = 0; i < types.size(); ++i) {
Vector<String> mime;
- types[i].split(UChar(':'), true, mime);
+ types[i].split(UChar(':'), true, mime);
if (mime.size() > 0) {
Vector<String> exts;
if (mime.size() > 1)
diff --git a/src/3rdparty/webkit/WebCore/plugins/qt/PluginViewQt.cpp b/src/3rdparty/webkit/WebCore/plugins/qt/PluginViewQt.cpp
index 25d61f9..883c9aa 100644
--- a/src/3rdparty/webkit/WebCore/plugins/qt/PluginViewQt.cpp
+++ b/src/3rdparty/webkit/WebCore/plugins/qt/PluginViewQt.cpp
@@ -209,7 +209,7 @@ void PluginView::setNPWindowIfNeeded()
m_npWindow.clipRect.bottom = m_clipRect.height();
PluginView::setCurrentPluginView(this);
- JSC::JSLock::DropAllLocks dropAllLocks(false);
+ JSC::JSLock::DropAllLocks dropAllLocks(JSC::SilenceAssertionsOnly);
setCallingPlugin(true);
m_plugin->pluginFuncs()->setwindow(m_instance, &m_npWindow);
setCallingPlugin(false);
@@ -243,7 +243,7 @@ void PluginView::stop()
m_isStarted = false;
- JSC::JSLock::DropAllLocks dropAllLocks(false);
+ JSC::JSLock::DropAllLocks dropAllLocks(JSC::SilenceAssertionsOnly);
PluginMainThreadScheduler::scheduler().unregisterPlugin(m_instance);
@@ -287,7 +287,7 @@ const char* PluginView::userAgent()
const char* PluginView::userAgentStatic()
{
- //FIXME - Just say we are Mozilla
+ // FIXME - Just say we are Mozilla
return MozillaUserAgent;
}
@@ -301,10 +301,10 @@ NPError PluginView::handlePostReadFile(Vector<char>& buffer, uint32 len, const c
if (!fileExists(filename))
return NPERR_FILE_NOT_FOUND;
- //FIXME - read the file data into buffer
+ // FIXME - read the file data into buffer
FILE* fileHandle = fopen((filename.utf8()).data(), "r");
- if (fileHandle == 0)
+ if (!fileHandle)
return NPERR_FILE_NOT_FOUND;
//buffer.resize();
@@ -321,6 +321,8 @@ NPError PluginView::handlePostReadFile(Vector<char>& buffer, uint32 len, const c
NPError PluginView::getValueStatic(NPNVariable variable, void* value)
{
+ LOG(Plugins, "PluginView::getValueStatic(%s)", prettyNameForNPNVariable(variable).data());
+
switch (variable) {
case NPNVToolkit:
*static_cast<uint32*>(value) = 0;
@@ -341,6 +343,8 @@ NPError PluginView::getValueStatic(NPNVariable variable, void* value)
NPError PluginView::getValue(NPNVariable variable, void* value)
{
+ LOG(Plugins, "PluginView::getValue(%s)", prettyNameForNPNVariable(variable).data());
+
switch (variable) {
case NPNVxDisplay:
if (platformPluginWidget())
@@ -474,7 +478,7 @@ void PluginView::init()
if (m_plugin->pluginFuncs()->getvalue) {
PluginView::setCurrentPluginView(this);
- JSC::JSLock::DropAllLocks dropAllLocks(false);
+ JSC::JSLock::DropAllLocks dropAllLocks(JSC::SilenceAssertionsOnly);
setCallingPlugin(true);
m_plugin->pluginFuncs()->getvalue(m_instance, NPPVpluginNeedsXEmbed, &m_needsXEmbed);
setCallingPlugin(false);
@@ -488,7 +492,7 @@ void PluginView::init()
m_status = PluginStatusCanNotLoadPlugin;
return;
}
- show ();
+ show();
NPSetWindowCallbackStruct *wsi = new NPSetWindowCallbackStruct();
diff --git a/src/3rdparty/webkit/WebCore/plugins/win/PluginDatabaseWin.cpp b/src/3rdparty/webkit/WebCore/plugins/win/PluginDatabaseWin.cpp
index c59f133..634b2a1 100644
--- a/src/3rdparty/webkit/WebCore/plugins/win/PluginDatabaseWin.cpp
+++ b/src/3rdparty/webkit/WebCore/plugins/win/PluginDatabaseWin.cpp
@@ -1,6 +1,7 @@
/*
* Copyright (C) 2006, 2007 Apple Inc. All rights reserved.
* Copyright (C) 2008 Collabora, Ltd. All rights reserved.
+ * Copyright (C) 2008-2009 Torch Mobile, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -37,6 +38,47 @@
#define _countof(x) (sizeof(x)/sizeof(x[0]))
#endif
+#if PLATFORM(WINCE)
+// WINCE doesn't support Registry Key Access Rights. The parameter should always be 0
+#define KEY_ENUMERATE_SUB_KEYS 0
+
+DWORD SHGetValue(HKEY hkey, LPCWSTR pszSubKey, LPCWSTR pszValue, LPDWORD pdwType, LPVOID pvData, LPDWORD pcbData)
+{
+ HKEY key;
+ if (RegOpenKeyEx(hkey, pszSubKey, 0, 0, &key) == ERROR_SUCCESS) {
+ DWORD result = RegQueryValueEx(key, pszValue, 0, pdwType, (LPBYTE)pvData, pcbData);
+ RegCloseKey(key);
+ return result;
+ }
+ return ERROR_INVALID_NAME;
+}
+
+BOOL PathRemoveFileSpec(LPWSTR moduleFileNameStr)
+{
+ if (!*moduleFileNameStr)
+ return FALSE;
+
+ LPWSTR lastPos = 0;
+ LPWSTR curPos = moduleFileNameStr;
+ do {
+ if (*curPos == L'/' || *curPos == L'\\')
+ lastPos = curPos;
+ } while (*++curPos);
+
+ if (lastPos == curPos - 1)
+ return FALSE;
+
+ if (lastPos)
+ *lastPos = 0;
+ else {
+ moduleFileNameStr[0] = L'\\';
+ moduleFileNameStr[1] = 0;
+ }
+
+ return TRUE;
+}
+#endif
+
namespace WebCore {
static inline void addPluginPathsFromRegistry(HKEY rootKey, HashSet<String>& paths)
@@ -210,12 +252,14 @@ static inline void addMozillaPluginDirectories(Vector<String>& directories)
static inline void addWindowsMediaPlayerPluginDirectory(Vector<String>& directories)
{
+#if !PLATFORM(WINCE)
// The new WMP Firefox plugin is installed in \PFiles\Plugins if it can't find any Firefox installs
WCHAR pluginDirectoryStr[_MAX_PATH + 1];
DWORD pluginDirectorySize = ::ExpandEnvironmentStringsW(TEXT("%SYSTEMDRIVE%\\PFiles\\Plugins"), pluginDirectoryStr, _countof(pluginDirectoryStr));
if (pluginDirectorySize > 0 && pluginDirectorySize <= _countof(pluginDirectoryStr))
directories.append(String(pluginDirectoryStr, pluginDirectorySize - 1));
+#endif
DWORD type;
WCHAR installationDirectoryStr[_MAX_PATH];
@@ -311,6 +355,7 @@ exit:
static inline void addMacromediaPluginDirectories(Vector<String>& directories)
{
+#if !PLATFORM(WINCE)
WCHAR systemDirectoryStr[MAX_PATH];
if (GetSystemDirectory(systemDirectoryStr, _countof(systemDirectoryStr)) == 0)
@@ -323,6 +368,7 @@ static inline void addMacromediaPluginDirectories(Vector<String>& directories)
PathCombine(macromediaDirectoryStr, systemDirectoryStr, TEXT("macromed\\Shockwave 10"));
directories.append(macromediaDirectoryStr);
+#endif
}
Vector<String> PluginDatabase::defaultPluginDirectories()
diff --git a/src/3rdparty/webkit/WebCore/plugins/win/PluginMessageThrottlerWin.cpp b/src/3rdparty/webkit/WebCore/plugins/win/PluginMessageThrottlerWin.cpp
index 27bf5b9..b79ca20 100644
--- a/src/3rdparty/webkit/WebCore/plugins/win/PluginMessageThrottlerWin.cpp
+++ b/src/3rdparty/webkit/WebCore/plugins/win/PluginMessageThrottlerWin.cpp
@@ -85,6 +85,9 @@ void PluginMessageThrottlerWin::messageThrottleTimerFired(Timer<PluginMessageThr
if (message == m_back)
m_back = 0;
+ // Protect the PluginView from destruction while calling its window proc.
+ // <rdar://problem/6930280>
+ RefPtr<PluginView> protect(m_pluginView);
::CallWindowProc(m_pluginView->pluginWndProc(), message->hWnd, message->msg, message->wParam, message->lParam);
freeMessage(message);
diff --git a/src/3rdparty/webkit/WebCore/plugins/win/PluginPackageWin.cpp b/src/3rdparty/webkit/WebCore/plugins/win/PluginPackageWin.cpp
index b52553e..9e38925 100644
--- a/src/3rdparty/webkit/WebCore/plugins/win/PluginPackageWin.cpp
+++ b/src/3rdparty/webkit/WebCore/plugins/win/PluginPackageWin.cpp
@@ -1,6 +1,7 @@
/*
* Copyright (C) 2006, 2008 Apple Inc. All rights reserved.
* Copyright (C) 2008 Collabora, Ltd. All rights reserved.
+ * Copyright (C) 2009 Torch Mobile, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -81,9 +82,16 @@ bool PluginPackage::isPluginBlacklisted()
if (compareFileVersion(slPluginMinRequired) < 0)
return true;
- } else if (fileName() == "npmozax.dll")
+ } else if (fileName() == "npmozax.dll") {
// Bug 15217: Mozilla ActiveX control complains about missing xpcom_core.dll
return true;
+ } else if (name() == "Yahoo Application State Plugin") {
+ // https://bugs.webkit.org/show_bug.cgi?id=26860
+ // Bug in Yahoo Application State plug-in earlier than 1.0.0.6 leads to heap corruption.
+ static const PlatformModuleVersion yahooAppStatePluginMinRequired(0x00000006, 0x00010000);
+ if (compareFileVersion(yahooAppStatePluginMinRequired) < 0)
+ return true;
+ }
return false;
}
@@ -237,6 +245,7 @@ bool PluginPackage::load()
m_loadCount++;
return true;
} else {
+#if !PLATFORM(WINCE)
WCHAR currentPath[MAX_PATH];
if (!::GetCurrentDirectoryW(MAX_PATH, currentPath))
@@ -246,15 +255,18 @@ bool PluginPackage::load()
if (!::SetCurrentDirectoryW(path.charactersWithNullTermination()))
return false;
+#endif
// Load the library
- m_module = ::LoadLibraryW(m_path.charactersWithNullTermination());
+ m_module = ::LoadLibraryExW(m_path.charactersWithNullTermination(), 0, LOAD_WITH_ALTERED_SEARCH_PATH);
+#if !PLATFORM(WINCE)
if (!::SetCurrentDirectoryW(currentPath)) {
if (m_module)
::FreeLibrary(m_module);
return false;
}
+#endif
}
if (!m_module)
@@ -266,13 +278,19 @@ bool PluginPackage::load()
NP_InitializeFuncPtr NP_Initialize = 0;
NPError npErr;
+#if PLATFORM(WINCE)
+ NP_Initialize = (NP_InitializeFuncPtr)GetProcAddress(m_module, L"NP_Initialize");
+ NP_GetEntryPoints = (NP_GetEntryPointsFuncPtr)GetProcAddress(m_module, L"NP_GetEntryPoints");
+ m_NPP_Shutdown = (NPP_ShutdownProcPtr)GetProcAddress(m_module, L"NP_Shutdown");
+#else
NP_Initialize = (NP_InitializeFuncPtr)GetProcAddress(m_module, "NP_Initialize");
NP_GetEntryPoints = (NP_GetEntryPointsFuncPtr)GetProcAddress(m_module, "NP_GetEntryPoints");
m_NPP_Shutdown = (NPP_ShutdownProcPtr)GetProcAddress(m_module, "NP_Shutdown");
+#endif
if (!NP_Initialize || !NP_GetEntryPoints || !m_NPP_Shutdown)
goto abort;
-
+
memset(&m_pluginFuncs, 0, sizeof(m_pluginFuncs));
m_pluginFuncs.size = sizeof(m_pluginFuncs);
diff --git a/src/3rdparty/webkit/WebCore/plugins/win/PluginViewWin.cpp b/src/3rdparty/webkit/WebCore/plugins/win/PluginViewWin.cpp
index e477965..c97984d 100644
--- a/src/3rdparty/webkit/WebCore/plugins/win/PluginViewWin.cpp
+++ b/src/3rdparty/webkit/WebCore/plugins/win/PluginViewWin.cpp
@@ -1,6 +1,7 @@
/*
* Copyright (C) 2006, 2007, 2008 Apple Inc. All rights reserved.
* Copyright (C) 2008 Collabora Ltd. All rights reserved.
+ * Copyright (C) 2008-2009 Torch Mobile, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -65,6 +66,13 @@
#include <runtime/JSValue.h>
#include <wtf/ASCIICType.h>
+#if PLATFORM(WINCE)
+#undef LOG_NPERROR
+#define LOG_NPERROR(x)
+#undef LOG_PLUGIN_NET_ERROR
+#define LOG_PLUGIN_NET_ERROR()
+#endif
+
#if PLATFORM(QT)
#include <QWidget.h>
#endif
@@ -98,6 +106,7 @@ const LPCWSTR kWebPluginViewProperty = L"WebPluginViewProperty";
static const char* MozillaUserAgent = "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1) Gecko/20061010 Firefox/2.0";
+#if !PLATFORM(WINCE)
// The code used to hook BeginPaint/EndPaint originally came from
// <http://www.fengyuan.com/article/wmprint.html>.
// Copyright (C) 2000 by Feng Yuan (www.fengyuan.com).
@@ -110,11 +119,6 @@ static BYTE* endPaint;
HDC WINAPI PluginView::hookedBeginPaint(HWND hWnd, PAINTSTRUCT* lpPaint)
{
-#if (COMPILER(MINGW))
- Q_UNUSED(hWnd)
- Q_UNUSED(lpPaint)
- return 0;
-#else
PluginView* pluginView = reinterpret_cast<PluginView*>(GetProp(hWnd, kWebPluginViewProperty));
if (pluginView && pluginView->m_wmPrintHDC) {
// We're secretly handling WM_PRINTCLIENT, so set up the PAINTSTRUCT so
@@ -125,6 +129,17 @@ HDC WINAPI PluginView::hookedBeginPaint(HWND hWnd, PAINTSTRUCT* lpPaint)
return pluginView->m_wmPrintHDC;
}
+#if COMPILER(GCC)
+ HDC result;
+ asm ("push %2\n"
+ "push %3\n"
+ "call *%4\n"
+ : "=a" (result)
+ : "a" (beginPaintSysCall), "g" (lpPaint), "g" (hWnd), "m" (*beginPaint)
+ : "memory"
+ );
+ return result;
+#else
// Call through to the original BeginPaint.
__asm mov eax, beginPaintSysCall
__asm push lpPaint
@@ -135,11 +150,6 @@ HDC WINAPI PluginView::hookedBeginPaint(HWND hWnd, PAINTSTRUCT* lpPaint)
BOOL WINAPI PluginView::hookedEndPaint(HWND hWnd, const PAINTSTRUCT* lpPaint)
{
-#if (COMPILER(MINGW))
- Q_UNUSED(hWnd)
- Q_UNUSED(lpPaint)
- return FALSE;
-#else
PluginView* pluginView = reinterpret_cast<PluginView*>(GetProp(hWnd, kWebPluginViewProperty));
if (pluginView && pluginView->m_wmPrintHDC) {
// We're secretly handling WM_PRINTCLIENT, so we don't have to do any
@@ -147,15 +157,24 @@ BOOL WINAPI PluginView::hookedEndPaint(HWND hWnd, const PAINTSTRUCT* lpPaint)
return TRUE;
}
+#if COMPILER(GCC)
+ BOOL result;
+ asm ("push %2\n"
+ "push %3\n"
+ "call *%4\n"
+ : "=a" (result)
+ : "a" (endPaintSysCall), "g" (lpPaint), "g" (hWnd), "m" (*endPaint)
+ );
+ return result;
+#else
// Call through to the original EndPaint.
__asm mov eax, endPaintSysCall
__asm push lpPaint
__asm push hWnd
__asm call endPaint
-#endif
+#endif
}
-#if (!COMPILER(MINGW))
static void hook(const char* module, const char* proc, unsigned& sysCallID, BYTE*& pProc, const void* pNewProc)
{
// See <http://www.fengyuan.com/article/wmprint.html> for an explanation of
@@ -163,7 +182,7 @@ static void hook(const char* module, const char* proc, unsigned& sysCallID, BYTE
HINSTANCE hMod = GetModuleHandleA(module);
- pProc = reinterpret_cast<BYTE*>(GetProcAddress(hMod, proc));
+ pProc = reinterpret_cast<BYTE*>(reinterpret_cast<ptrdiff_t>(GetProcAddress(hMod, proc)));
if (pProc[0] != 0xB8)
return;
@@ -193,8 +212,9 @@ static void setUpOffscreenPaintingHooks(HDC (WINAPI*hookedBeginPaint)(HWND, PAIN
// we hook into BeginPaint/EndPaint to allow their normal WM_PAINT handling
// to draw into a given HDC. Note that this hooking affects the entire
// process.
- hook("user32.dll", "BeginPaint", beginPaintSysCall, beginPaint, hookedBeginPaint);
- hook("user32.dll", "EndPaint", endPaintSysCall, endPaint, hookedEndPaint);
+ hook("user32.dll", "BeginPaint", beginPaintSysCall, beginPaint, reinterpret_cast<const void *>(reinterpret_cast<ptrdiff_t>(hookedBeginPaint)));
+ hook("user32.dll", "EndPaint", endPaintSysCall, endPaint, reinterpret_cast<const void *>(reinterpret_cast<ptrdiff_t>(hookedEndPaint)));
+
}
#endif
@@ -212,11 +232,18 @@ static bool registerPluginView()
ASSERT(Page::instanceHandle());
+#if PLATFORM(WINCE)
+ WNDCLASS wcex = { 0 };
+#else
WNDCLASSEX wcex;
-
wcex.cbSize = sizeof(WNDCLASSEX);
+ wcex.hIconSm = 0;
+#endif
wcex.style = CS_DBLCLKS;
+#if PLATFORM(WINCE)
+ wcex.style |= CS_PARENTDC;
+#endif
wcex.lpfnWndProc = DefWindowProc;
wcex.cbClsExtra = 0;
wcex.cbWndExtra = 0;
@@ -226,9 +253,12 @@ static bool registerPluginView()
wcex.hbrBackground = (HBRUSH)COLOR_WINDOW;
wcex.lpszMenuName = 0;
wcex.lpszClassName = kWebPluginViewdowClassName;
- wcex.hIconSm = 0;
+#if PLATFORM(WINCE)
+ return !!RegisterClass(&wcex);
+#else
return !!RegisterClassEx(&wcex);
+#endif
}
LRESULT CALLBACK PluginView::PluginViewWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
@@ -300,6 +330,7 @@ PluginView::wndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
m_popPopupsStateTimer.startOneShot(0);
}
+#if !PLATFORM(WINCE)
if (message == WM_PRINTCLIENT) {
// Most (all?) windowed plugins don't respond to WM_PRINTCLIENT, so we
// change the message to WM_PAINT and rely on our hooked versions of
@@ -307,6 +338,7 @@ PluginView::wndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
message = WM_PAINT;
m_wmPrintHDC = reinterpret_cast<HDC>(wParam);
}
+#endif
// Call the plug-in's window proc.
LRESULT result = ::CallWindowProc(m_pluginWndProc, hWnd, message, wParam, lParam);
@@ -329,7 +361,11 @@ void PluginView::updatePluginWidget()
IntRect oldWindowRect = m_windowRect;
IntRect oldClipRect = m_clipRect;
+#if PLATFORM(WINCE)
+ m_windowRect = frameView->contentsToWindow(frameRect());
+#else
m_windowRect = IntRect(frameView->contentsToWindow(frameRect().location()), frameRect().size());
+#endif
m_clipRect = windowClipRect();
m_clipRect.move(-m_windowRect.x(), -m_windowRect.y());
@@ -403,7 +439,7 @@ bool PluginView::dispatchNPEvent(NPEvent& npEvent)
shouldPop = true;
}
- JSC::JSLock::DropAllLocks dropAllLocks(false);
+ JSC::JSLock::DropAllLocks dropAllLocks(JSC::SilenceAssertionsOnly);
setCallingPlugin(true);
bool result = m_plugin->pluginFuncs()->event(m_instance, &npEvent);
setCallingPlugin(false);
@@ -416,6 +452,7 @@ bool PluginView::dispatchNPEvent(NPEvent& npEvent)
void PluginView::paintWindowedPluginIntoContext(GraphicsContext* context, const IntRect& rect) const
{
+#if !PLATFORM(WINCE)
ASSERT(m_isWindowed);
ASSERT(context->shouldIncludeChildWindows());
@@ -440,6 +477,7 @@ void PluginView::paintWindowedPluginIntoContext(GraphicsContext* context, const
SetWorldTransform(hdc, &originalTransform);
context->releaseWindowsContext(hdc, frameRect(), false);
+#endif
}
void PluginView::paint(GraphicsContext* context, const IntRect& rect)
@@ -454,8 +492,10 @@ void PluginView::paint(GraphicsContext* context, const IntRect& rect)
return;
if (m_isWindowed) {
+#if !PLATFORM(WINCE)
if (context->shouldIncludeChildWindows())
paintWindowedPluginIntoContext(context, rect);
+#endif
return;
}
@@ -468,7 +508,7 @@ void PluginView::paint(GraphicsContext* context, const IntRect& rect)
// of the window and the plugin expects that the passed in DC has window coordinates.
// In the Qt port we always draw in an offscreen buffer and therefore need to preserve
// the translation set in getWindowsContext.
-#if !PLATFORM(QT)
+#if !PLATFORM(QT) && !PLATFORM(WINCE)
if (!context->inTransparencyLayer()) {
XFORM transform;
GetWorldTransform(hdc, &transform);
@@ -481,15 +521,24 @@ void PluginView::paint(GraphicsContext* context, const IntRect& rect)
m_npWindow.type = NPWindowTypeDrawable;
m_npWindow.window = hdc;
- IntPoint p = static_cast<FrameView*>(parent())->contentsToWindow(frameRect().location());
-
WINDOWPOS windowpos;
memset(&windowpos, 0, sizeof(windowpos));
+#if PLATFORM(WINCE)
+ IntRect r = static_cast<FrameView*>(parent())->contentsToWindow(frameRect());
+
+ windowpos.x = r.x();
+ windowpos.y = r.y();
+ windowpos.cx = r.width();
+ windowpos.cy = r.height();
+#else
+ IntPoint p = static_cast<FrameView*>(parent())->contentsToWindow(frameRect().location());
+
windowpos.x = p.x();
windowpos.y = p.y();
windowpos.cx = frameRect().width();
windowpos.cy = frameRect().height();
+#endif
npEvent.event = WM_WINDOWPOSCHANGED;
npEvent.lParam = reinterpret_cast<uint32>(&windowpos);
@@ -525,13 +574,15 @@ void PluginView::handleKeyboardEvent(KeyboardEvent* event)
npEvent.lParam = 0x8000;
}
- JSC::JSLock::DropAllLocks dropAllLocks(false);
+ JSC::JSLock::DropAllLocks dropAllLocks(JSC::SilenceAssertionsOnly);
if (!dispatchNPEvent(npEvent))
event->setDefaultHandled();
}
+#if !PLATFORM(WINCE)
extern HCURSOR lastSetCursor;
extern bool ignoreNextSetCursor;
+#endif
void PluginView::handleMouseEvent(MouseEvent* event)
{
@@ -592,11 +643,11 @@ void PluginView::handleMouseEvent(MouseEvent* event)
} else
return;
- JSC::JSLock::DropAllLocks dropAllLocks(false);
+ JSC::JSLock::DropAllLocks dropAllLocks(JSC::SilenceAssertionsOnly);
if (!dispatchNPEvent(npEvent))
event->setDefaultHandled();
-#if !PLATFORM(QT)
+#if !PLATFORM(QT) && !PLATFORM(WINCE)
// Currently, Widget::setCursor is always called after this function in EventHandler.cpp
// and since we don't want that we set ignoreNextSetCursor to true here to prevent that.
ignoreNextSetCursor = true;
@@ -608,6 +659,15 @@ void PluginView::setParent(ScrollView* parent)
{
Widget::setParent(parent);
+#if PLATFORM(WINCE)
+ if (parent) {
+ init();
+ if (parent->isVisible())
+ show();
+ else
+ hide();
+ }
+#else
if (parent)
init();
else {
@@ -621,7 +681,7 @@ void PluginView::setParent(ScrollView* parent)
if (platformPluginWidget() == focusedWindow || ::IsChild(platformPluginWidget(), focusedWindow))
::SetFocus(0);
}
-
+#endif
}
void PluginView::setParentVisible(bool visible)
@@ -644,6 +704,17 @@ void PluginView::setNPWindowRect(const IntRect& rect)
if (!m_isStarted)
return;
+#if PLATFORM(WINCE)
+ IntRect r = static_cast<FrameView*>(parent())->contentsToWindow(rect);
+ m_npWindow.x = r.x();
+ m_npWindow.y = r.y();
+
+ m_npWindow.width = r.width();
+ m_npWindow.height = r.height();
+
+ m_npWindow.clipRect.right = r.width();
+ m_npWindow.clipRect.bottom = r.height();
+#else
IntPoint p = static_cast<FrameView*>(parent())->contentsToWindow(rect.location());
m_npWindow.x = p.x();
m_npWindow.y = p.y();
@@ -651,13 +722,14 @@ void PluginView::setNPWindowRect(const IntRect& rect)
m_npWindow.width = rect.width();
m_npWindow.height = rect.height();
- m_npWindow.clipRect.left = 0;
- m_npWindow.clipRect.top = 0;
m_npWindow.clipRect.right = rect.width();
m_npWindow.clipRect.bottom = rect.height();
+#endif
+ m_npWindow.clipRect.left = 0;
+ m_npWindow.clipRect.top = 0;
if (m_plugin->pluginFuncs()->setwindow) {
- JSC::JSLock::DropAllLocks dropAllLocks(false);
+ JSC::JSLock::DropAllLocks dropAllLocks(JSC::SilenceAssertionsOnly);
setCallingPlugin(true);
m_plugin->pluginFuncs()->setwindow(m_instance, &m_npWindow);
setCallingPlugin(false);
@@ -667,9 +739,17 @@ void PluginView::setNPWindowRect(const IntRect& rect)
ASSERT(platformPluginWidget());
+#if PLATFORM(WINCE)
+ if (!m_pluginWndProc) {
+ WNDPROC currentWndProc = (WNDPROC)GetWindowLong(platformPluginWidget(), GWL_WNDPROC);
+ if (currentWndProc != PluginViewWndProc)
+ m_pluginWndProc = (WNDPROC)SetWindowLong(platformPluginWidget(), GWL_WNDPROC, (LONG)PluginViewWndProc);
+ }
+#else
WNDPROC currentWndProc = (WNDPROC)GetWindowLongPtr(platformPluginWidget(), GWLP_WNDPROC);
if (currentWndProc != PluginViewWndProc)
m_pluginWndProc = (WNDPROC)SetWindowLongPtr(platformPluginWidget(), GWLP_WNDPROC, (LONG)PluginViewWndProc);
+#endif
}
}
@@ -691,13 +771,20 @@ void PluginView::stop()
// Unsubclass the window
if (m_isWindowed) {
+#if PLATFORM(WINCE)
+ WNDPROC currentWndProc = (WNDPROC)GetWindowLong(platformPluginWidget(), GWL_WNDPROC);
+
+ if (currentWndProc == PluginViewWndProc)
+ SetWindowLong(platformPluginWidget(), GWL_WNDPROC, (LONG)m_pluginWndProc);
+#else
WNDPROC currentWndProc = (WNDPROC)GetWindowLongPtr(platformPluginWidget(), GWLP_WNDPROC);
-
+
if (currentWndProc == PluginViewWndProc)
SetWindowLongPtr(platformPluginWidget(), GWLP_WNDPROC, (LONG)m_pluginWndProc);
+#endif
}
- JSC::JSLock::DropAllLocks dropAllLocks(false);
+ JSC::JSLock::DropAllLocks dropAllLocks(JSC::SilenceAssertionsOnly);
// Clear the window
m_npWindow.window = 0;
@@ -775,11 +862,15 @@ NPError PluginView::handlePostReadFile(Vector<char>& buffer, uint32 len, const c
NPError PluginView::getValueStatic(NPNVariable variable, void* value)
{
+ LOG(Plugins, "PluginView::getValueStatic(%s)", prettyNameForNPNVariable(variable).data());
+
return NPERR_GENERIC_ERROR;
}
NPError PluginView::getValue(NPNVariable variable, void* value)
{
+ LOG(Plugins, "PluginView::getValue(%s)", prettyNameForNPNVariable(variable).data());
+
switch (variable) {
#if ENABLE(NETSCAPE_PLUGIN_API)
case NPNVWindowNPObject: {
@@ -940,9 +1031,10 @@ void PluginView::init()
if (m_isWindowed) {
registerPluginView();
-#if (!COMPILER(MINGW))
+#if !PLATFORM(WINCE)
setUpOffscreenPaintingHooks(hookedBeginPaint, hookedEndPaint);
#endif
+
DWORD flags = WS_CHILD;
if (isSelfVisible())
flags |= WS_VISIBLE;
@@ -950,6 +1042,7 @@ void PluginView::init()
HWND parentWindowHandle = windowHandleForPlatformWidget(m_parentFrame->view()->hostWindow()->platformWindow());
HWND window = ::CreateWindowEx(0, kWebPluginViewdowClassName, 0, flags,
0, 0, 0, 0, parentWindowHandle, 0, Page::instanceHandle(), 0);
+
#if PLATFORM(WIN_OS) && PLATFORM(QT)
m_window = window;
#else
@@ -960,6 +1053,8 @@ void PluginView::init()
// the Shockwave Director plug-in.
#if PLATFORM(WIN_OS) && PLATFORM(X86_64) && COMPILER(MSVC)
::SetWindowLongPtrA(platformPluginWidget(), GWLP_WNDPROC, (LONG_PTR)DefWindowProcA);
+#elif PLATFORM(WINCE)
+ ::SetWindowLong(platformPluginWidget(), GWL_WNDPROC, (LONG)DefWindowProc);
#else
::SetWindowLongPtrA(platformPluginWidget(), GWL_WNDPROC, (LONG)DefWindowProcA);
#endif
diff --git a/src/3rdparty/webkit/WebCore/rendering/AutoTableLayout.cpp b/src/3rdparty/webkit/WebCore/rendering/AutoTableLayout.cpp
index 648e843..afb72cf 100644
--- a/src/3rdparty/webkit/WebCore/rendering/AutoTableLayout.cpp
+++ b/src/3rdparty/webkit/WebCore/rendering/AutoTableLayout.cpp
@@ -94,7 +94,7 @@ void AutoTableLayout::recalcColumn(int effCol)
w.setRawValue(32760);
if (w.isNegative())
w.setValue(0);
- switch(w.type()) {
+ switch (w.type()) {
case Fixed:
// ignore width=0
if (w.value() > 0 && (int)l.width.type() != Percent) {
@@ -573,7 +573,7 @@ void AutoTableLayout::layout()
int reduction = min(w, excess);
// the lines below might look inconsistent, but that's the way it's handled in mozilla
excess -= reduction;
- int newWidth = max(int (m_layoutStruct[i].effMinWidth), w - reduction);
+ int newWidth = max(static_cast<int>(m_layoutStruct[i].effMinWidth), w - reduction);
available += w - newWidth;
m_layoutStruct[i].calcWidth = newWidth;
}
diff --git a/src/3rdparty/webkit/WebCore/rendering/CounterNode.h b/src/3rdparty/webkit/WebCore/rendering/CounterNode.h
index 57f9563..b432e1d 100644
--- a/src/3rdparty/webkit/WebCore/rendering/CounterNode.h
+++ b/src/3rdparty/webkit/WebCore/rendering/CounterNode.h
@@ -37,7 +37,7 @@ namespace WebCore {
class RenderObject;
-class CounterNode : Noncopyable {
+class CounterNode : public Noncopyable {
public:
CounterNode(RenderObject*, bool isReset, int value);
diff --git a/src/3rdparty/webkit/WebCore/rendering/HitTestResult.cpp b/src/3rdparty/webkit/WebCore/rendering/HitTestResult.cpp
index f2ed7db..b7de46b 100644
--- a/src/3rdparty/webkit/WebCore/rendering/HitTestResult.cpp
+++ b/src/3rdparty/webkit/WebCore/rendering/HitTestResult.cpp
@@ -26,6 +26,7 @@
#include "HTMLAnchorElement.h"
#include "HTMLImageElement.h"
#include "HTMLInputElement.h"
+#include "HTMLMediaElement.h"
#include "HTMLNames.h"
#include "RenderImage.h"
#include "Scrollbar.h"
@@ -145,17 +146,20 @@ bool HitTestResult::isSelected() const
return frame->selection()->contains(m_point);
}
-String HitTestResult::spellingToolTip() const
+String HitTestResult::spellingToolTip(TextDirection& dir) const
{
+ dir = LTR;
// Return the tool tip string associated with this point, if any. Only markers associated with bad grammar
// currently supply strings, but maybe someday markers associated with misspelled words will also.
if (!m_innerNonSharedNode)
return String();
- DocumentMarker* marker = m_innerNonSharedNode->document()->markerContainingPoint(m_point, DocumentMarker::Grammar);
+ DocumentMarker* marker = m_innerNonSharedNode->document()->markerContainingPoint(m_point, DocumentMarker::Grammar);
if (!marker)
return String();
+ if (RenderObject* renderer = m_innerNonSharedNode->renderer())
+ dir = renderer->style()->direction();
return marker->description;
}
@@ -173,15 +177,19 @@ String HitTestResult::replacedString() const
return marker->description;
}
-String HitTestResult::title() const
+String HitTestResult::title(TextDirection& dir) const
{
+ dir = LTR;
// Find the title in the nearest enclosing DOM node.
// For <area> tags in image maps, walk the tree for the <area>, not the <img> using it.
for (Node* titleNode = m_innerNode.get(); titleNode; titleNode = titleNode->parentNode()) {
if (titleNode->isElementNode()) {
String title = static_cast<Element*>(titleNode)->title();
- if (!title.isEmpty())
+ if (!title.isEmpty()) {
+ if (RenderObject* renderer = titleNode->renderer())
+ dir = renderer->style()->direction();
return title;
+ }
}
}
return String();
@@ -208,7 +216,7 @@ String HitTestResult::altDisplayString() const
HTMLInputElement* input = static_cast<HTMLInputElement*>(m_innerNonSharedNode.get());
return displayString(input->alt(), m_innerNonSharedNode.get());
}
-
+
#if ENABLE(WML)
if (m_innerNonSharedNode->hasTagName(WMLNames::imgTag)) {
WMLImageElement* image = static_cast<WMLImageElement*>(m_innerNonSharedNode.get());
@@ -266,7 +274,29 @@ KURL HitTestResult::absoluteImageURL() const
} else
return KURL();
- return m_innerNonSharedNode->document()->completeURL(parseURL(urlString));
+ return m_innerNonSharedNode->document()->completeURL(deprecatedParseURL(urlString));
+}
+
+KURL HitTestResult::absoluteMediaURL() const
+{
+#if ENABLE(VIDEO)
+ if (!(m_innerNonSharedNode && m_innerNonSharedNode->document()))
+ return KURL();
+
+ if (!(m_innerNonSharedNode->renderer() && m_innerNonSharedNode->renderer()->isMedia()))
+ return KURL();
+
+ AtomicString urlString;
+ if (m_innerNonSharedNode->hasTagName(HTMLNames::videoTag) || m_innerNonSharedNode->hasTagName(HTMLNames::audioTag)) {
+ HTMLMediaElement* mediaElement = static_cast<HTMLMediaElement*>(m_innerNonSharedNode.get());
+ urlString = mediaElement->currentSrc();
+ } else
+ return KURL();
+
+ return m_innerNonSharedNode->document()->completeURL(deprecatedParseURL(urlString));
+#else
+ return KURL();
+#endif
}
KURL HitTestResult::absoluteLinkURL() const
@@ -288,7 +318,7 @@ KURL HitTestResult::absoluteLinkURL() const
else
return KURL();
- return m_innerURLElement->document()->completeURL(parseURL(urlString));
+ return m_innerURLElement->document()->completeURL(deprecatedParseURL(urlString));
}
bool HitTestResult::isLiveLink() const
diff --git a/src/3rdparty/webkit/WebCore/rendering/HitTestResult.h b/src/3rdparty/webkit/WebCore/rendering/HitTestResult.h
index 4f0383f..f29ca41 100644
--- a/src/3rdparty/webkit/WebCore/rendering/HitTestResult.h
+++ b/src/3rdparty/webkit/WebCore/rendering/HitTestResult.h
@@ -23,6 +23,7 @@
#define HitTestResult_h
#include "IntPoint.h"
+#include "TextDirection.h"
#include <wtf/RefPtr.h>
namespace WebCore {
@@ -30,8 +31,8 @@ namespace WebCore {
class Element;
class Frame;
class Image;
-class KURL;
class IntRect;
+class KURL;
class Node;
class Scrollbar;
class String;
@@ -64,14 +65,15 @@ public:
Frame* targetFrame() const;
IntRect boundingBox() const;
bool isSelected() const;
- String spellingToolTip() const;
+ String spellingToolTip(TextDirection&) const;
String replacedString() const;
- String title() const;
+ String title(TextDirection&) const;
String altDisplayString() const;
String titleDisplayString() const;
Image* image() const;
IntRect imageRect() const;
KURL absoluteImageURL() const;
+ KURL absoluteMediaURL() const;
KURL absoluteLinkURL() const;
String textContent() const;
bool isLiveLink() const;
diff --git a/src/3rdparty/webkit/WebCore/rendering/InlineBox.cpp b/src/3rdparty/webkit/WebCore/rendering/InlineBox.cpp
index 2d956a8..bbf11b3 100644
--- a/src/3rdparty/webkit/WebCore/rendering/InlineBox.cpp
+++ b/src/3rdparty/webkit/WebCore/rendering/InlineBox.cpp
@@ -88,10 +88,10 @@ void InlineBox::showTreeForThis() const
int InlineBox::height() const
{
#if ENABLE(SVG)
- if (isSVG())
- return svgBoxHeight();
+ if (hasVirtualHeight())
+ return virtualHeight();
#endif
-
+
if (renderer()->isText())
return m_isText ? renderer()->style(m_firstLine)->font().height() : 0;
if (renderer()->isBox() && parent())
@@ -244,26 +244,26 @@ bool InlineBox::prevOnLineExists() const
return m_prevOnLineExists;
}
-InlineBox* InlineBox::firstLeafChild()
-{
- return this;
-}
-
-InlineBox* InlineBox::lastLeafChild()
-{
- return this;
-}
-
-InlineBox* InlineBox::nextLeafChild()
+InlineBox* InlineBox::nextLeafChild() const
{
- return parent() ? parent()->firstLeafChildAfterBox(this) : 0;
+ InlineBox* leaf = 0;
+ for (InlineBox* box = nextOnLine(); box && !leaf; box = box->nextOnLine())
+ leaf = box->isLeaf() ? box : static_cast<InlineFlowBox*>(box)->firstLeafChild();
+ if (!leaf && parent())
+ leaf = parent()->nextLeafChild();
+ return leaf;
}
-
-InlineBox* InlineBox::prevLeafChild()
+
+InlineBox* InlineBox::prevLeafChild() const
{
- return parent() ? parent()->lastLeafChildBeforeBox(this) : 0;
+ InlineBox* leaf = 0;
+ for (InlineBox* box = prevOnLine(); box && !leaf; box = box->prevOnLine())
+ leaf = box->isLeaf() ? box : static_cast<InlineFlowBox*>(box)->lastLeafChild();
+ if (!leaf && parent())
+ leaf = parent()->prevLeafChild();
+ return leaf;
}
-
+
RenderObject::SelectionState InlineBox::selectionState()
{
return renderer()->selectionState();
diff --git a/src/3rdparty/webkit/WebCore/rendering/InlineBox.h b/src/3rdparty/webkit/WebCore/rendering/InlineBox.h
index 9585278..0f66edd 100644
--- a/src/3rdparty/webkit/WebCore/rendering/InlineBox.h
+++ b/src/3rdparty/webkit/WebCore/rendering/InlineBox.h
@@ -49,7 +49,7 @@ public:
, m_dirty(false)
, m_extracted(false)
#if ENABLE(SVG)
- , m_isSVG(false)
+ , m_hasVirtualHeight(false)
#endif
, m_endsWithBreak(false)
, m_hasSelectedChildren(false)
@@ -82,7 +82,7 @@ public:
, m_dirty(dirty)
, m_extracted(extracted)
#if ENABLE(SVG)
- , m_isSVG(false)
+ , m_hasVirtualHeight(false)
#endif
, m_endsWithBreak(false)
, m_hasSelectedChildren(false)
@@ -129,18 +129,22 @@ public:
#ifndef NDEBUG
void showTreeForThis() const;
#endif
+
+ bool isText() const { return m_isText; }
+ void setIsText(bool b) { m_isText = b; }
+
virtual bool isInlineBox() { return false; }
virtual bool isInlineFlowBox() const { return false; }
virtual bool isInlineTextBox() { return false; }
virtual bool isRootInlineBox() const { return false; }
#if ENABLE(SVG)
virtual bool isSVGRootInlineBox() { return false; }
- bool isSVG() const { return m_isSVG; }
- void setIsSVG(bool b) { m_isSVG = b; }
-#endif
- bool isText() const { return m_isText; }
- void setIsText(bool b) { m_isText = b; }
+ bool hasVirtualHeight() const { return m_hasVirtualHeight; }
+ void setHasVirtualHeight() { m_hasVirtualHeight = true; }
+ virtual int virtualHeight() const { ASSERT_NOT_REACHED(); return 0; }
+#endif
+
bool isConstructed() { return m_constructed; }
virtual void setConstructed()
{
@@ -171,10 +175,10 @@ public:
bool nextOnLineExists() const;
bool prevOnLineExists() const;
- virtual InlineBox* firstLeafChild();
- virtual InlineBox* lastLeafChild();
- InlineBox* nextLeafChild();
- InlineBox* prevLeafChild();
+ virtual bool isLeaf() const { return true; }
+
+ InlineBox* nextLeafChild() const;
+ InlineBox* prevLeafChild() const;
RenderObject* renderer() const { return m_renderer; }
@@ -201,6 +205,9 @@ public:
int height() const;
+ inline int baselinePosition(bool isRootLineBox) const { return renderer()->baselinePosition(m_firstLine, isRootLineBox); }
+ inline int lineHeight(bool isRootLineBox) const { return renderer()->lineHeight(m_firstLine, isRootLineBox); }
+
virtual int topOverflow() const { return y(); }
virtual int bottomOverflow() const { return y() + height(); }
virtual int leftOverflow() const { return x(); }
@@ -243,11 +250,6 @@ public:
return 0;
}
-protected:
-#if ENABLE(SVG)
- virtual int svgBoxHeight() const { return 0; }
-#endif
-
private:
InlineBox* m_next; // The next element on the same line as us.
InlineBox* m_prev; // The previous element on the same line as us.
@@ -272,10 +274,7 @@ private:
protected:
bool m_dirty : 1;
bool m_extracted : 1;
-
-#if ENABLE(SVG)
- bool m_isSVG : 1;
-#endif
+ bool m_hasVirtualHeight : 1;
// for RootInlineBox
bool m_endsWithBreak : 1; // Whether the line ends with a <br>.
diff --git a/src/3rdparty/webkit/WebCore/rendering/InlineFlowBox.cpp b/src/3rdparty/webkit/WebCore/rendering/InlineFlowBox.cpp
index be6b966..b397bce 100644
--- a/src/3rdparty/webkit/WebCore/rendering/InlineFlowBox.cpp
+++ b/src/3rdparty/webkit/WebCore/rendering/InlineFlowBox.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2003, 2004, 2005, 2006, 2007 Apple Inc. All rights reserved.
+ * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -256,8 +256,8 @@ int InlineFlowBox::placeBoxesHorizontally(int xPos, int& leftPosition, int& righ
int boxShadowLeft = 0;
int boxShadowRight = 0;
for (ShadowData* boxShadow = renderer()->style(m_firstLine)->boxShadow(); boxShadow; boxShadow = boxShadow->next) {
- boxShadowLeft = min(boxShadow->x - boxShadow->blur, boxShadowLeft);
- boxShadowRight = max(boxShadow->x + boxShadow->blur, boxShadowRight);
+ boxShadowLeft = min(boxShadow->x - boxShadow->blur - boxShadow->spread, boxShadowLeft);
+ boxShadowRight = max(boxShadow->x + boxShadow->blur + boxShadow->spread, boxShadowRight);
}
leftPosition = min(xPos + boxShadowLeft, leftPosition);
@@ -371,7 +371,7 @@ void InlineFlowBox::adjustMaxAscentAndDescent(int& maxAscent, int& maxDescent,
if (curr->renderer()->isPositioned())
continue; // Positioned placeholders don't affect calculations.
if (curr->y() == PositionTop || curr->y() == PositionBottom) {
- int lineHeight = curr->renderer()->lineHeight(m_firstLine);
+ int lineHeight = curr->lineHeight(false);
if (curr->y() == PositionTop) {
if (maxAscent + maxDescent < lineHeight)
maxDescent = lineHeight - maxAscent;
@@ -404,11 +404,11 @@ void InlineFlowBox::computeLogicalBoxHeights(int& maxPositionTop, int& maxPositi
{
if (isRootInlineBox()) {
// Examine our root box.
- int lineHeight = renderer()->lineHeight(m_firstLine, true);
- int baseline = renderer()->baselinePosition(m_firstLine, true);
+ int height = lineHeight(true);
+ int baseline = baselinePosition(true);
if (hasTextChildren() || strictMode) {
int ascent = baseline;
- int descent = lineHeight - ascent;
+ int descent = height - ascent;
if (maxAscent < ascent)
maxAscent = ascent;
if (maxDescent < descent)
@@ -456,8 +456,8 @@ void InlineFlowBox::computeLogicalBoxHeights(int& maxPositionTop, int& maxPositi
}
}
} else {
- lineHeight = curr->renderer()->lineHeight(m_firstLine);
- baseline = curr->renderer()->baselinePosition(m_firstLine);
+ lineHeight = curr->lineHeight(false);
+ baseline = curr->baselinePosition(false);
}
curr->setY(verticalPositionForBox(curr, m_firstLine));
@@ -485,8 +485,8 @@ void InlineFlowBox::placeBoxesVertically(int yPos, int maxHeight, int maxAscent,
int& topPosition, int& bottomPosition, int& selectionTop, int& selectionBottom)
{
if (isRootInlineBox())
- setY(yPos + max(0, maxAscent - renderer()->baselinePosition(m_firstLine, true))); // Place our root box.
-
+ setY(yPos + max(0, maxAscent - baselinePosition(true))); // Place our root box.
+
for (InlineBox* curr = firstChild(); curr; curr = curr->nextOnLine()) {
if (curr->renderer()->isPositioned())
continue; // Positioned placeholders don't affect calculations.
@@ -501,11 +501,11 @@ void InlineFlowBox::placeBoxesVertically(int yPos, int maxHeight, int maxAscent,
if (curr->y() == PositionTop)
curr->setY(yPos);
else if (curr->y() == PositionBottom)
- curr->setY(yPos + maxHeight - curr->renderer()->lineHeight(m_firstLine));
+ curr->setY(yPos + maxHeight - curr->lineHeight(false));
else {
if ((isInlineFlow && !static_cast<InlineFlowBox*>(curr)->hasTextChildren()) && !curr->boxModelObject()->hasHorizontalBordersOrPadding() && !strictMode)
childAffectsTopBottomPos = false;
- int posAdjust = maxAscent - curr->renderer()->baselinePosition(m_firstLine);
+ int posAdjust = maxAscent - curr->baselinePosition(false);
if (!childAffectsTopBottomPos)
posAdjust = max(0, posAdjust);
curr->setY(curr->y() + yPos + posAdjust);
@@ -521,15 +521,16 @@ void InlineFlowBox::placeBoxesVertically(int yPos, int maxHeight, int maxAscent,
int overflowBottom = 0;
if (curr->isText() || curr->isInlineFlowBox()) {
const Font& font = curr->renderer()->style(m_firstLine)->font();
- newY += curr->renderer()->baselinePosition(m_firstLine) - font.ascent();
+ newY += curr->baselinePosition(false) - font.ascent();
+
for (ShadowData* shadow = curr->renderer()->style()->textShadow(); shadow; shadow = shadow->next) {
overflowTop = min(overflowTop, shadow->y - shadow->blur);
overflowBottom = max(overflowBottom, shadow->y + shadow->blur);
}
for (ShadowData* boxShadow = curr->renderer()->style(m_firstLine)->boxShadow(); boxShadow; boxShadow = boxShadow->next) {
- overflowTop = min(overflowTop, boxShadow->y - boxShadow->blur);
- overflowBottom = max(overflowBottom, boxShadow->y + boxShadow->blur);
+ overflowTop = min(overflowTop, boxShadow->y - boxShadow->blur - boxShadow->spread);
+ overflowBottom = max(overflowBottom, boxShadow->y + boxShadow->blur + boxShadow->spread);
}
for (ShadowData* textShadow = curr->renderer()->style(m_firstLine)->textShadow(); textShadow; textShadow = textShadow->next) {
@@ -565,7 +566,7 @@ void InlineFlowBox::placeBoxesVertically(int yPos, int maxHeight, int maxAscent,
if (isRootInlineBox()) {
const Font& font = renderer()->style(m_firstLine)->font();
- setY(y() + renderer()->baselinePosition(m_firstLine, true) - font.ascent());
+ setY(y() + baselinePosition(true) - font.ascent());
if (hasTextChildren() || strictMode) {
selectionTop = min(selectionTop, y());
selectionBottom = max(selectionBottom, y() + height());
@@ -600,8 +601,8 @@ void InlineFlowBox::paint(RenderObject::PaintInfo& paintInfo, int tx, int ty)
int shadowLeft = 0;
int shadowRight = 0;
for (ShadowData* boxShadow = renderer()->style(m_firstLine)->boxShadow(); boxShadow; boxShadow = boxShadow->next) {
- shadowLeft = min(boxShadow->x - boxShadow->blur, shadowLeft);
- shadowRight = max(boxShadow->x + boxShadow->blur, shadowRight);
+ shadowLeft = min(boxShadow->x - boxShadow->blur - boxShadow->spread, shadowLeft);
+ shadowRight = max(boxShadow->x + boxShadow->blur + boxShadow->spread, shadowRight);
}
for (ShadowData* textShadow = renderer()->style(m_firstLine)->textShadow(); textShadow; textShadow = textShadow->next) {
shadowLeft = min(textShadow->x - textShadow->blur, shadowLeft);
@@ -695,14 +696,14 @@ void InlineFlowBox::paintFillLayer(const RenderObject::PaintInfo& paintInfo, con
}
}
-void InlineFlowBox::paintBoxShadow(GraphicsContext* context, RenderStyle* s, int tx, int ty, int w, int h)
+void InlineFlowBox::paintBoxShadow(GraphicsContext* context, RenderStyle* s, ShadowStyle shadowStyle, int tx, int ty, int w, int h)
{
if ((!prevLineBox() && !nextLineBox()) || !parent())
- boxModelObject()->paintBoxShadow(context, tx, ty, w, h, s);
+ boxModelObject()->paintBoxShadow(context, tx, ty, w, h, s, shadowStyle);
else {
// FIXME: We can do better here in the multi-line case. We want to push a clip so that the shadow doesn't
// protrude incorrectly at the edges, and we want to possibly include shadows cast from the previous/following lines
- boxModelObject()->paintBoxShadow(context, tx, ty, w, h, s, includeLeftEdge(), includeRightEdge());
+ boxModelObject()->paintBoxShadow(context, tx, ty, w, h, s, shadowStyle, includeLeftEdge(), includeRightEdge());
}
}
@@ -726,11 +727,14 @@ void InlineFlowBox::paintBoxDecorations(RenderObject::PaintInfo& paintInfo, int
if ((!parent() && m_firstLine && styleToUse != renderer()->style()) || (parent() && renderer()->hasBoxDecorations())) {
// Shadow comes first and is behind the background and border.
if (styleToUse->boxShadow())
- paintBoxShadow(context, styleToUse, tx, ty, w, h);
+ paintBoxShadow(context, styleToUse, Normal, tx, ty, w, h);
Color c = styleToUse->backgroundColor();
paintFillLayers(paintInfo, c, styleToUse->backgroundLayers(), tx, ty, w, h);
+ if (styleToUse->boxShadow())
+ paintBoxShadow(context, styleToUse, Inset, tx, ty, w, h);
+
// :first-line cannot be used to put borders on a line. Always paint borders with our
// non-first-line style.
if (parent() && renderer()->style()->hasBorder()) {
@@ -980,33 +984,19 @@ void InlineFlowBox::paintTextDecorations(RenderObject::PaintInfo& paintInfo, int
}
}
-InlineBox* InlineFlowBox::firstLeafChild()
-{
- return firstLeafChildAfterBox();
-}
-
-InlineBox* InlineFlowBox::lastLeafChild()
-{
- return lastLeafChildBeforeBox();
-}
-
-InlineBox* InlineFlowBox::firstLeafChildAfterBox(InlineBox* start)
+InlineBox* InlineFlowBox::firstLeafChild() const
{
InlineBox* leaf = 0;
- for (InlineBox* box = start ? start->nextOnLine() : firstChild(); box && !leaf; box = box->nextOnLine())
- leaf = box->firstLeafChild();
- if (start && !leaf && parent())
- return parent()->firstLeafChildAfterBox(this);
+ for (InlineBox* child = firstChild(); child && !leaf; child = child->nextOnLine())
+ leaf = child->isLeaf() ? child : static_cast<InlineFlowBox*>(child)->firstLeafChild();
return leaf;
}
-InlineBox* InlineFlowBox::lastLeafChildBeforeBox(InlineBox* start)
+InlineBox* InlineFlowBox::lastLeafChild() const
{
InlineBox* leaf = 0;
- for (InlineBox* box = start ? start->prevOnLine() : lastChild(); box && !leaf; box = box->prevOnLine())
- leaf = box->lastLeafChild();
- if (start && !leaf && parent())
- return parent()->lastLeafChildBeforeBox(this);
+ for (InlineBox* child = lastChild(); child && !leaf; child = child->prevOnLine())
+ leaf = child->isLeaf() ? child : static_cast<InlineFlowBox*>(child)->lastLeafChild();
return leaf;
}
@@ -1037,7 +1027,7 @@ int InlineFlowBox::placeEllipsisBox(bool ltr, int blockLeftEdge, int blockRightE
int visibleLeftEdge = blockLeftEdge;
int visibleRightEdge = blockRightEdge;
- while(box) {
+ while (box) {
int currResult = box->placeEllipsisBox(ltr, visibleLeftEdge, visibleRightEdge, ellipsisWidth, foundBox);
if (currResult != -1 && result == -1)
result = currResult;
diff --git a/src/3rdparty/webkit/WebCore/rendering/InlineFlowBox.h b/src/3rdparty/webkit/WebCore/rendering/InlineFlowBox.h
index ab1b6f2..809fd54 100644
--- a/src/3rdparty/webkit/WebCore/rendering/InlineFlowBox.h
+++ b/src/3rdparty/webkit/WebCore/rendering/InlineFlowBox.h
@@ -58,13 +58,13 @@ public:
InlineFlowBox* prevFlowBox() const { return static_cast<InlineFlowBox*>(m_prevLine); }
InlineFlowBox* nextFlowBox() const { return static_cast<InlineFlowBox*>(m_nextLine); }
- InlineBox* firstChild() { checkConsistency(); return m_firstChild; }
- InlineBox* lastChild() { checkConsistency(); return m_lastChild; }
+ InlineBox* firstChild() const { checkConsistency(); return m_firstChild; }
+ InlineBox* lastChild() const { checkConsistency(); return m_lastChild; }
- virtual InlineBox* firstLeafChild();
- virtual InlineBox* lastLeafChild();
- InlineBox* firstLeafChildAfterBox(InlineBox* start = 0);
- InlineBox* lastLeafChildBeforeBox(InlineBox* start = 0);
+ virtual bool isLeaf() const { return false; }
+
+ InlineBox* firstLeafChild() const;
+ InlineBox* lastLeafChild() const;
virtual void setConstructed()
{
@@ -89,7 +89,7 @@ public:
virtual void paintMask(RenderObject::PaintInfo&, int tx, int ty);
void paintFillLayers(const RenderObject::PaintInfo&, const Color&, const FillLayer*, int tx, int ty, int w, int h, CompositeOperator = CompositeSourceOver);
void paintFillLayer(const RenderObject::PaintInfo&, const Color&, const FillLayer*, int tx, int ty, int w, int h, CompositeOperator = CompositeSourceOver);
- void paintBoxShadow(GraphicsContext*, RenderStyle*, int tx, int ty, int w, int h);
+ void paintBoxShadow(GraphicsContext*, RenderStyle*, ShadowStyle, int tx, int ty, int w, int h);
virtual void paintTextDecorations(RenderObject::PaintInfo&, int tx, int ty, bool paintedChildren = false);
virtual void paint(RenderObject::PaintInfo&, int tx, int ty);
virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, int x, int y, int tx, int ty);
diff --git a/src/3rdparty/webkit/WebCore/rendering/InlineTextBox.cpp b/src/3rdparty/webkit/WebCore/rendering/InlineTextBox.cpp
index 53646f9..619fb95 100644
--- a/src/3rdparty/webkit/WebCore/rendering/InlineTextBox.cpp
+++ b/src/3rdparty/webkit/WebCore/rendering/InlineTextBox.cpp
@@ -256,6 +256,11 @@ bool InlineTextBox::nodeAtPoint(const HitTestRequest&, HitTestResult& result, in
static void paintTextWithShadows(GraphicsContext* context, const Font& font, const TextRun& textRun, int startOffset, int endOffset, const IntPoint& textOrigin, int x, int y, int w, int h, ShadowData* shadow, bool stroked)
{
+ Color fillColor = context->fillColor();
+ bool opaque = fillColor.alpha() == 255;
+ if (!opaque)
+ context->setFillColor(Color::black);
+
do {
IntSize extraOffset;
@@ -264,7 +269,7 @@ static void paintTextWithShadows(GraphicsContext* context, const Font& font, con
int shadowBlur = shadow->blur;
const Color& shadowColor = shadow->color;
- if (shadow->next || stroked) {
+ if (shadow->next || stroked || !opaque) {
IntRect shadowRect(x, y, w, h);
shadowRect.inflate(shadowBlur);
shadowRect.move(shadowOffset);
@@ -275,7 +280,8 @@ static void paintTextWithShadows(GraphicsContext* context, const Font& font, con
shadowOffset -= extraOffset;
}
context->setShadow(shadowOffset, shadowBlur, shadowColor);
- }
+ } else if (!opaque)
+ context->setFillColor(fillColor);
if (startOffset <= endOffset)
context->drawText(font, textRun, textOrigin + extraOffset, startOffset, endOffset);
@@ -289,13 +295,13 @@ static void paintTextWithShadows(GraphicsContext* context, const Font& font, con
if (!shadow)
break;
- if (shadow->next || stroked)
+ if (shadow->next || stroked || !opaque)
context->restore();
else
context->clearShadow();
shadow = shadow->next;
- } while (shadow || stroked);
+ } while (shadow || stroked || !opaque);
}
void InlineTextBox::paint(RenderObject::PaintInfo& paintInfo, int tx, int ty)
@@ -753,8 +759,8 @@ void InlineTextBox::paintSpellingOrGrammarMarker(GraphicsContext* pt, int tx, in
void InlineTextBox::paintTextMatchMarker(GraphicsContext* pt, int tx, int ty, DocumentMarker marker, RenderStyle* style, const Font& font)
{
- // Use same y positioning and height as for selection, so that when the selection and this highlight are on
- // the same word there are no pieces sticking out.
+ // Use same y positioning and height as for selection, so that when the selection and this highlight are on
+ // the same word there are no pieces sticking out.
int y = selectionTop();
int h = selectionHeight();
diff --git a/src/3rdparty/webkit/WebCore/rendering/LayoutState.h b/src/3rdparty/webkit/WebCore/rendering/LayoutState.h
index afa2952..2f040c8 100644
--- a/src/3rdparty/webkit/WebCore/rendering/LayoutState.h
+++ b/src/3rdparty/webkit/WebCore/rendering/LayoutState.h
@@ -36,7 +36,7 @@ class RenderArena;
class RenderBox;
class RenderObject;
-class LayoutState : Noncopyable {
+class LayoutState : public Noncopyable {
public:
LayoutState()
: m_clipped(false)
diff --git a/src/3rdparty/webkit/WebCore/rendering/MediaControlElements.cpp b/src/3rdparty/webkit/WebCore/rendering/MediaControlElements.cpp
index fc2790c..d0af981 100644
--- a/src/3rdparty/webkit/WebCore/rendering/MediaControlElements.cpp
+++ b/src/3rdparty/webkit/WebCore/rendering/MediaControlElements.cpp
@@ -32,6 +32,7 @@
#include "MediaControlElements.h"
+#include "LocalizedStrings.h"
#include "EventNames.h"
#include "FloatConversion.h"
#include "Frame.h"
@@ -40,6 +41,7 @@
#include "RenderMedia.h"
#include "RenderSlider.h"
#include "RenderTheme.h"
+#include "CString.h"
namespace WebCore {
@@ -74,51 +76,165 @@ void MediaControlShadowRootElement::updateStyle()
}
// ----------------------------
+
-MediaTextDisplayElement::MediaTextDisplayElement(Document* doc, PseudoId pseudo, HTMLMediaElement* mediaElement)
+MediaControlElement::MediaControlElement(Document* doc, PseudoId pseudo, HTMLMediaElement* mediaElement)
: HTMLDivElement(divTag, doc)
, m_mediaElement(mediaElement)
, m_pseudoStyleId(pseudo)
{
- RenderStyle* style = m_mediaElement->renderer()->getCachedPseudoStyle(m_pseudoStyleId);
- RenderObject* renderer = createRenderer(m_mediaElement->renderer()->renderArena(), style);
- if (renderer) {
- setRenderer(renderer);
- renderer->setStyle(style);
- }
- setAttached();
setInDocument(true);
}
-void MediaTextDisplayElement::attachToParent(Element* parent)
+void MediaControlElement::attachToParent(Element* parent)
{
parent->addChild(this);
- if (renderer() && parent->renderer())
- parent->renderer()->addChild(renderer());
}
-void MediaTextDisplayElement::update()
+void MediaControlElement::update()
{
if (renderer())
renderer()->updateFromElement();
updateStyle();
}
-void MediaTextDisplayElement::updateStyle()
+PassRefPtr<RenderStyle> MediaControlElement::styleForElement()
+{
+ RenderStyle* style = m_mediaElement->renderer()->getCachedPseudoStyle(m_pseudoStyleId);
+ if (!style)
+ return 0;
+
+ // text-decoration can't be overrided from CSS. So we do it here.
+ // See https://bugs.webkit.org/show_bug.cgi?id=27015
+ style->setTextDecoration(TDNONE);
+ style->setTextDecorationsInEffect(TDNONE);
+
+ return style;
+}
+
+bool MediaControlElement::rendererIsNeeded(RenderStyle* style)
+{
+ return HTMLDivElement::rendererIsNeeded(style) && parent() && parent()->renderer();
+}
+
+void MediaControlElement::attach()
{
- if (renderer() && m_mediaElement->renderer()) {
- RenderStyle* style = m_mediaElement->renderer()->getCachedPseudoStyle(m_pseudoStyleId);
- renderer()->setStyle(style);
+ RefPtr<RenderStyle> style = styleForElement();
+ if (!style)
+ return;
+ bool needsRenderer = rendererIsNeeded(style.get());
+ if (!needsRenderer)
+ return;
+ RenderObject* renderer = createRenderer(m_mediaElement->renderer()->renderArena(), style.get());
+ if (!renderer)
+ return;
+ renderer->setStyle(style.get());
+ setRenderer(renderer);
+ if (parent() && parent()->renderer()) {
+ // Find next sibling with a renderer to determine where to insert.
+ Node* sibling = nextSibling();
+ while (sibling && !sibling->renderer())
+ sibling = sibling->nextSibling();
+ parent()->renderer()->addChild(renderer, sibling ? sibling->renderer() : 0);
}
+ ContainerNode::attach();
+}
+
+void MediaControlElement::updateStyle()
+{
+ if (!m_mediaElement || !m_mediaElement->renderer())
+ return;
+
+ RefPtr<RenderStyle> style = styleForElement();
+ if (!style)
+ return;
+
+ bool needsRenderer = rendererIsNeeded(style.get()) && parent() && parent()->renderer();
+ if (renderer() && !needsRenderer)
+ detach();
+ else if (!renderer() && needsRenderer)
+ attach();
+ else if (renderer()) {
+ renderer()->setStyle(style.get());
+
+ // Make sure that if there is any innerText renderer, it is updated as well.
+ if (firstChild() && firstChild()->renderer())
+ firstChild()->renderer()->setStyle(style.get());
+ }
+}
+
+// ----------------------------
+
+MediaControlTimelineContainerElement::MediaControlTimelineContainerElement(Document* doc, HTMLMediaElement* element)
+: MediaControlElement(doc, MEDIA_CONTROLS_TIMELINE_CONTAINER, element)
+{
}
-MediaTimeDisplayElement::MediaTimeDisplayElement(Document* doc, HTMLMediaElement* element, bool currentTime)
- : MediaTextDisplayElement(doc, currentTime ? MEDIA_CONTROLS_CURRENT_TIME_DISPLAY : MEDIA_CONTROLS_TIME_REMAINING_DISPLAY, element)
+bool MediaControlTimelineContainerElement::rendererIsNeeded(RenderStyle* style)
{
+ if (!MediaControlElement::rendererIsNeeded(style))
+ return false;
+
+ // This is for MediaControllerThemeClassic:
+ // If there is no style for MediaControlStatusDisplayElement style, don't hide
+ // the timeline.
+ if (!m_mediaElement->renderer()->getCachedPseudoStyle(MEDIA_CONTROLS_STATUS_DISPLAY))
+ return true;
+
+ float duration = m_mediaElement->duration();
+ return !isnan(duration) && !isinf(duration);
}
+
// ----------------------------
+MediaControlStatusDisplayElement::MediaControlStatusDisplayElement(Document* doc, HTMLMediaElement* element)
+: MediaControlElement(doc, MEDIA_CONTROLS_STATUS_DISPLAY, element)
+, m_stateBeingDisplayed(Nothing)
+{
+}
+
+void MediaControlStatusDisplayElement::update()
+{
+ MediaControlElement::update();
+
+ // Get the new state that we'll have to display.
+ StateBeingDisplayed newStateToDisplay = Nothing;
+
+ if (m_mediaElement->readyState() != HTMLMediaElement::HAVE_ENOUGH_DATA && !m_mediaElement->currentSrc().isEmpty())
+ newStateToDisplay = Loading;
+ else if (m_mediaElement->movieLoadType() == MediaPlayer::LiveStream)
+ newStateToDisplay = LiveBroadcast;
+
+ // Propagate only if needed.
+ if (newStateToDisplay == m_stateBeingDisplayed)
+ return;
+ m_stateBeingDisplayed = newStateToDisplay;
+
+ ExceptionCode e;
+ switch (m_stateBeingDisplayed) {
+ case Nothing:
+ setInnerText("", e);
+ break;
+ case Loading:
+ setInnerText(mediaElementLoadingStateText(), e);
+ break;
+ case LiveBroadcast:
+ setInnerText(mediaElementLiveBroadcastStateText(), e);
+ break;
+ }
+}
+
+bool MediaControlStatusDisplayElement::rendererIsNeeded(RenderStyle* style)
+{
+ if (!MediaControlElement::rendererIsNeeded(style))
+ return false;
+ float duration = m_mediaElement->duration();
+ return (isnan(duration) || isinf(duration));
+}
+
+// ----------------------------
+
MediaControlInputElement::MediaControlInputElement(Document* doc, PseudoId pseudo, const String& type, HTMLMediaElement* mediaElement, MediaControlElementType displayType)
: HTMLInputElement(inputTag, doc)
, m_mediaElement(mediaElement)
@@ -126,15 +242,12 @@ MediaControlInputElement::MediaControlInputElement(Document* doc, PseudoId pseud
, m_displayType(displayType)
{
setInputType(type);
- updateStyle();
setInDocument(true);
}
void MediaControlInputElement::attachToParent(Element* parent)
{
parent->addChild(this);
- if (renderer() && parent->renderer())
- parent->renderer()->addChild(renderer());
}
void MediaControlInputElement::update()
@@ -145,34 +258,58 @@ void MediaControlInputElement::update()
updateStyle();
}
+PassRefPtr<RenderStyle> MediaControlInputElement::styleForElement()
+{
+ return m_mediaElement->renderer()->getCachedPseudoStyle(m_pseudoStyleId);
+}
+
+bool MediaControlInputElement::rendererIsNeeded(RenderStyle* style)
+{
+ return HTMLInputElement::rendererIsNeeded(style) && parent() && parent()->renderer();
+}
+
+void MediaControlInputElement::attach()
+{
+ RefPtr<RenderStyle> style = styleForElement();
+ if (!style)
+ return;
+
+ bool needsRenderer = rendererIsNeeded(style.get());
+ if (!needsRenderer)
+ return;
+ RenderObject* renderer = createRenderer(m_mediaElement->renderer()->renderArena(), style.get());
+ if (!renderer)
+ return;
+ renderer->setStyle(style.get());
+ setRenderer(renderer);
+ if (parent() && parent()->renderer()) {
+ // Find next sibling with a renderer to determine where to insert.
+ Node* sibling = nextSibling();
+ while (sibling && !sibling->renderer())
+ sibling = sibling->nextSibling();
+ parent()->renderer()->addChild(renderer, sibling ? sibling->renderer() : 0);
+ }
+ ContainerNode::attach();
+}
+
void MediaControlInputElement::updateStyle()
{
if (!m_mediaElement || !m_mediaElement->renderer())
return;
- RenderStyle* style = m_mediaElement->renderer()->getCachedPseudoStyle(m_pseudoStyleId);
+ RefPtr<RenderStyle> style = styleForElement();
+ if (!style)
+ return;
- bool needsRenderer = rendererIsNeeded(style);
+ bool needsRenderer = rendererIsNeeded(style.get()) && parent() && parent()->renderer();
if (renderer() && !needsRenderer)
detach();
- else if (!renderer() && needsRenderer) {
- RenderObject* renderer = createRenderer(m_mediaElement->renderer()->renderArena(), style);
- if (!renderer)
- return;
- renderer->setStyle(style);
- setRenderer(renderer);
- setAttached();
- if (parent() && parent()->renderer()) {
- // Find next sibling with a renderer to determine where to insert.
- Node* sibling = nextSibling();
- while (sibling && !sibling->renderer())
- sibling = sibling->nextSibling();
- parent()->renderer()->addChild(renderer, sibling ? sibling->renderer() : 0);
- }
- } else if (renderer())
- renderer()->setStyle(style);
+ else if (!renderer() && needsRenderer)
+ attach();
+ else if (renderer())
+ renderer()->setStyle(style.get());
}
-
+
bool MediaControlInputElement::hitTest(const IntPoint& absPoint)
{
if (renderer() && renderer()->style()->hasAppearance())
@@ -283,6 +420,59 @@ void MediaControlSeekButtonElement::seekTimerFired(Timer<MediaControlSeekButtonE
m_mediaElement->setCurrentTime(m_mediaElement->currentTime() + seekTime, ec);
}
+void MediaControlSeekButtonElement::detach()
+{
+ if (m_capturing) {
+ if (Frame* frame = document()->frame())
+ frame->eventHandler()->setCapturingMouseEventsNode(0);
+ }
+ MediaControlInputElement::detach();
+}
+
+
+// ----------------------------
+
+MediaControlRewindButtonElement::MediaControlRewindButtonElement(Document* doc, HTMLMediaElement* element)
+: MediaControlInputElement(doc, MEDIA_CONTROLS_REWIND_BUTTON, "button", element, MediaRewindButton)
+{
+}
+
+void MediaControlRewindButtonElement::defaultEventHandler(Event* event)
+{
+ if (event->type() == eventNames().clickEvent) {
+ m_mediaElement->rewind(30);
+ event->setDefaultHandled();
+ }
+ HTMLInputElement::defaultEventHandler(event);
+}
+
+bool MediaControlRewindButtonElement::rendererIsNeeded(RenderStyle* style)
+{
+ return MediaControlInputElement::rendererIsNeeded(style) && m_mediaElement->movieLoadType() != MediaPlayer::LiveStream;
+}
+
+
+// ----------------------------
+
+MediaControlReturnToRealtimeButtonElement::MediaControlReturnToRealtimeButtonElement(Document* doc, HTMLMediaElement* element)
+: MediaControlInputElement(doc, MEDIA_CONTROLS_RETURN_TO_REALTIME_BUTTON, "button", element, MediaReturnToRealtimeButton)
+{
+}
+
+void MediaControlReturnToRealtimeButtonElement::defaultEventHandler(Event* event)
+{
+ if (event->type() == eventNames().clickEvent) {
+ m_mediaElement->returnToRealtime();
+ event->setDefaultHandled();
+ }
+ HTMLInputElement::defaultEventHandler(event);
+}
+
+bool MediaControlReturnToRealtimeButtonElement::rendererIsNeeded(RenderStyle* style)
+{
+ return MediaControlInputElement::rendererIsNeeded(style) && m_mediaElement->movieLoadType() == MediaPlayer::LiveStream;
+}
+
// ----------------------------
MediaControlTimelineElement::MediaControlTimelineElement(Document* document, HTMLMediaElement* element)
@@ -295,9 +485,9 @@ void MediaControlTimelineElement::defaultEventHandler(Event* event)
if (event->type() == eventNames().mousedownEvent)
m_mediaElement->beginScrubbing();
- HTMLInputElement::defaultEventHandler(event);
+ MediaControlInputElement::defaultEventHandler(event);
- if (event->type() == eventNames().mouseoverEvent || event->type() == eventNames().mouseoutEvent || event->type() == eventNames().mousemoveEvent ) {
+ if (event->type() == eventNames().mouseoverEvent || event->type() == eventNames().mouseoutEvent || event->type() == eventNames().mousemoveEvent) {
return;
}
@@ -322,6 +512,7 @@ void MediaControlTimelineElement::update(bool updateDuration)
setAttribute(maxAttr, String::number(isfinite(dur) ? dur : 0));
}
setValue(String::number(m_mediaElement->currentTime()));
+ MediaControlInputElement::update();
}
// ----------------------------
@@ -341,11 +532,43 @@ void MediaControlFullscreenButtonElement::defaultEventHandler(Event* event)
bool MediaControlFullscreenButtonElement::rendererIsNeeded(RenderStyle* style)
{
- return m_mediaElement->supportsFullscreen() && MediaControlInputElement::rendererIsNeeded(style);
+ return MediaControlInputElement::rendererIsNeeded(style) && m_mediaElement->supportsFullscreen();
}
// ----------------------------
+MediaControlTimeDisplayElement::MediaControlTimeDisplayElement(Document* doc, PseudoId pseudo, HTMLMediaElement* element)
+ : MediaControlElement(doc, pseudo, element)
+ , m_isVisible(true)
+{
+}
+
+PassRefPtr<RenderStyle> MediaControlTimeDisplayElement::styleForElement()
+{
+ RefPtr<RenderStyle> style = MediaControlElement::styleForElement();
+ if (!m_isVisible) {
+ style = RenderStyle::clone(style.get());
+ style->setWidth(Length(0, Fixed));
+ }
+ return style;
+}
+
+void MediaControlTimeDisplayElement::setVisible(bool visible)
+{
+ if (visible == m_isVisible)
+ return;
+ m_isVisible = visible;
+
+ // This function is used during the RenderMedia::layout()
+ // call, where we cannot change the renderer at this time.
+ if (!renderer() || !renderer()->style())
+ return;
+
+ RefPtr<RenderStyle> style = styleForElement();
+ renderer()->setStyle(style.get());
+}
+
+
} //namespace WebCore
#endif // enable(video)
diff --git a/src/3rdparty/webkit/WebCore/rendering/MediaControlElements.h b/src/3rdparty/webkit/WebCore/rendering/MediaControlElements.h
index eefb2ce..d5fa5d2 100644
--- a/src/3rdparty/webkit/WebCore/rendering/MediaControlElements.h
+++ b/src/3rdparty/webkit/WebCore/rendering/MediaControlElements.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2008 Apple Inc. All rights reserved.
+ * Copyright (C) 2008, 2009 Apple Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -43,11 +43,24 @@ namespace WebCore {
class Event;
class Frame;
+// Must match WebKitSystemInterface.h
enum MediaControlElementType {
- MediaFullscreenButton, MediaMuteButton, MediaPlayButton,
- MediaSeekBackButton, MediaSeekForwardButton, MediaSlider, MediaSliderThumb,
- MediaUnMuteButton, MediaPauseButton, MediaTimelineContainer, MediaCurrentTimeDisplay,
- MediaTimeRemainingDisplay, MediaControlsPanel
+ MediaFullscreenButton = 0,
+ MediaMuteButton,
+ MediaPlayButton,
+ MediaSeekBackButton,
+ MediaSeekForwardButton,
+ MediaSlider,
+ MediaSliderThumb,
+ MediaRewindButton,
+ MediaReturnToRealtimeButton,
+ MediaUnMuteButton,
+ MediaPauseButton,
+ MediaTimelineContainer,
+ MediaCurrentTimeDisplay,
+ MediaTimeRemainingDisplay,
+ MediaStatusDisplay,
+ MediaControlsPanel
};
class MediaControlShadowRootElement : public HTMLDivElement {
@@ -63,15 +76,19 @@ private:
HTMLMediaElement* m_mediaElement;
};
- // ----------------------------
-
-class MediaTextDisplayElement : public HTMLDivElement
-{
+// ----------------------------
+
+class MediaControlElement : public HTMLDivElement {
public:
- MediaTextDisplayElement(Document*, PseudoId, HTMLMediaElement*);
+ MediaControlElement(Document*, PseudoId, HTMLMediaElement*);
+ virtual void attach();
+ virtual bool rendererIsNeeded(RenderStyle*);
+
+ virtual PassRefPtr<RenderStyle> styleForElement();
void attachToParent(Element*);
void update();
- void updateStyle();
+ virtual void updateStyle();
+
protected:
HTMLMediaElement* m_mediaElement;
PseudoId m_pseudoStyleId;
@@ -79,9 +96,22 @@ protected:
// ----------------------------
-class MediaTimeDisplayElement : public MediaTextDisplayElement {
+class MediaControlTimelineContainerElement : public MediaControlElement {
+public:
+ MediaControlTimelineContainerElement(Document*, HTMLMediaElement*);
+ virtual bool rendererIsNeeded(RenderStyle*);
+};
+
+// ----------------------------
+
+class MediaControlStatusDisplayElement : public MediaControlElement {
public:
- MediaTimeDisplayElement(Document*, HTMLMediaElement*, bool currentTime);
+ MediaControlStatusDisplayElement(Document*, HTMLMediaElement*);
+ virtual void update();
+ virtual bool rendererIsNeeded(RenderStyle*);
+private:
+ enum StateBeingDisplayed { Nothing, Loading, LiveBroadcast };
+ StateBeingDisplayed m_stateBeingDisplayed;
};
// ----------------------------
@@ -89,9 +119,14 @@ public:
class MediaControlInputElement : public HTMLInputElement {
public:
MediaControlInputElement(Document*, PseudoId, const String& type, HTMLMediaElement*, MediaControlElementType);
+ virtual void attach();
+ virtual bool rendererIsNeeded(RenderStyle*);
+
+ virtual PassRefPtr<RenderStyle> styleForElement();
void attachToParent(Element*);
void update();
- virtual void updateStyle();
+ void updateStyle();
+
bool hitTest(const IntPoint& absPoint);
MediaControlElementType displayType() const { return m_displayType; }
@@ -128,6 +163,7 @@ class MediaControlSeekButtonElement : public MediaControlInputElement {
public:
MediaControlSeekButtonElement(Document*, HTMLMediaElement*, bool forward);
virtual void defaultEventHandler(Event*);
+ virtual void detach();
void seekTimerFired(Timer<MediaControlSeekButtonElement>*);
private:
@@ -136,6 +172,24 @@ private:
bool m_capturing;
Timer<MediaControlSeekButtonElement> m_seekTimer;
};
+
+// ----------------------------
+
+class MediaControlRewindButtonElement : public MediaControlInputElement {
+public:
+ MediaControlRewindButtonElement(Document*, HTMLMediaElement*);
+ virtual void defaultEventHandler(Event*);
+ virtual bool rendererIsNeeded(RenderStyle*);
+};
+
+// ----------------------------
+
+class MediaControlReturnToRealtimeButtonElement : public MediaControlInputElement {
+public:
+ MediaControlReturnToRealtimeButtonElement(Document*, HTMLMediaElement*);
+ virtual void defaultEventHandler(Event*);
+ virtual bool rendererIsNeeded(RenderStyle*);
+};
// ----------------------------
@@ -157,14 +211,27 @@ public:
// ----------------------------
+class MediaControlTimeDisplayElement : public MediaControlElement {
+public:
+ MediaControlTimeDisplayElement(Document*, PseudoId, HTMLMediaElement*);
+ void setVisible(bool);
+ virtual PassRefPtr<RenderStyle> styleForElement();
+
+private:
+ bool m_isVisible;
+};
+
+// ----------------------------
+
class RenderMediaControlShadowRoot : public RenderBlock {
public:
RenderMediaControlShadowRoot(Element* e) : RenderBlock(e) { }
void setParent(RenderObject* p) { RenderObject::setParent(p); }
};
-
+
// ----------------------------
+
} //namespace WebCore
#endif // enable(video)
#endif // MediaControlElements_h
diff --git a/src/3rdparty/webkit/WebCore/rendering/RenderApplet.cpp b/src/3rdparty/webkit/WebCore/rendering/RenderApplet.cpp
index a989d6f..062641e 100644
--- a/src/3rdparty/webkit/WebCore/rendering/RenderApplet.cpp
+++ b/src/3rdparty/webkit/WebCore/rendering/RenderApplet.cpp
@@ -26,6 +26,7 @@
#include "HTMLAppletElement.h"
#include "HTMLNames.h"
#include "HTMLParamElement.h"
+#include "Widget.h"
namespace WebCore {
diff --git a/src/3rdparty/webkit/WebCore/rendering/RenderArena.cpp b/src/3rdparty/webkit/WebCore/rendering/RenderArena.cpp
index b7bfe4d..34325d4 100644
--- a/src/3rdparty/webkit/WebCore/rendering/RenderArena.cpp
+++ b/src/3rdparty/webkit/WebCore/rendering/RenderArena.cpp
@@ -39,7 +39,7 @@
#include <string.h>
#include <wtf/Assertions.h>
-#define ROUNDUP(x,y) ((((x)+((y)-1))/(y))*(y))
+#define ROUNDUP(x, y) ((((x)+((y)-1))/(y))*(y))
namespace WebCore {
diff --git a/src/3rdparty/webkit/WebCore/rendering/RenderBlock.cpp b/src/3rdparty/webkit/WebCore/rendering/RenderBlock.cpp
index 98426ed..be1bab3 100644
--- a/src/3rdparty/webkit/WebCore/rendering/RenderBlock.cpp
+++ b/src/3rdparty/webkit/WebCore/rendering/RenderBlock.cpp
@@ -84,6 +84,10 @@ static PercentHeightContainerMap* gPercentHeightContainerMap = 0;
typedef WTF::HashMap<RenderBlock*, ListHashSet<RenderInline*>*> ContinuationOutlineTableMap;
+typedef WTF::HashSet<RenderBlock*> DelayedUpdateScrollInfoSet;
+static int gDelayUpdateScrollInfo = 0;
+static DelayedUpdateScrollInfoSet* gDelayedUpdateScrollInfoSet = 0;
+
// Our MarginInfo state used when laying out block children.
RenderBlock::MarginInfo::MarginInfo(RenderBlock* block, int top, int bottom)
{
@@ -389,14 +393,14 @@ void RenderBlock::deleteLineBoxTree()
m_lineBoxes.deleteLineBoxTree(renderArena());
}
-RootInlineBox* RenderBlock::createRootBox()
+RootInlineBox* RenderBlock::createRootInlineBox()
{
return new (renderArena()) RootInlineBox(this);
}
-RootInlineBox* RenderBlock::createRootInlineBox()
+RootInlineBox* RenderBlock::createAndAppendRootInlineBox()
{
- RootInlineBox* rootBox = createRootBox();
+ RootInlineBox* rootBox = createRootInlineBox();
m_lineBoxes.appendLineBox(rootBox);
return rootBox;
}
@@ -551,7 +555,7 @@ int RenderBlock::overflowHeight(bool includeInterior) const
if (!includeInterior && hasOverflowClip()) {
int shadowHeight = 0;
for (ShadowData* boxShadow = style()->boxShadow(); boxShadow; boxShadow = boxShadow->next)
- shadowHeight = max(boxShadow->y + boxShadow->blur, shadowHeight);
+ shadowHeight = max(boxShadow->y + boxShadow->blur + boxShadow->spread, shadowHeight);
int inflatedHeight = height() + shadowHeight;
if (hasReflection())
inflatedHeight = max(inflatedHeight, reflectionBox().bottom());
@@ -565,7 +569,7 @@ int RenderBlock::overflowWidth(bool includeInterior) const
if (!includeInterior && hasOverflowClip()) {
int shadowWidth = 0;
for (ShadowData* boxShadow = style()->boxShadow(); boxShadow; boxShadow = boxShadow->next)
- shadowWidth = max(boxShadow->x + boxShadow->blur, shadowWidth);
+ shadowWidth = max(boxShadow->x + boxShadow->blur + boxShadow->spread, shadowWidth);
int inflatedWidth = width() + shadowWidth;
if (hasReflection())
inflatedWidth = max(inflatedWidth, reflectionBox().right());
@@ -579,7 +583,7 @@ int RenderBlock::overflowLeft(bool includeInterior) const
if (!includeInterior && hasOverflowClip()) {
int shadowLeft = 0;
for (ShadowData* boxShadow = style()->boxShadow(); boxShadow; boxShadow = boxShadow->next)
- shadowLeft = min(boxShadow->x - boxShadow->blur, shadowLeft);
+ shadowLeft = min(boxShadow->x - boxShadow->blur - boxShadow->spread, shadowLeft);
int left = shadowLeft;
if (hasReflection())
left = min(left, reflectionBox().x());
@@ -593,7 +597,7 @@ int RenderBlock::overflowTop(bool includeInterior) const
if (!includeInterior && hasOverflowClip()) {
int shadowTop = 0;
for (ShadowData* boxShadow = style()->boxShadow(); boxShadow; boxShadow = boxShadow->next)
- shadowTop = min(boxShadow->y - boxShadow->blur, shadowTop);
+ shadowTop = min(boxShadow->y - boxShadow->blur - boxShadow->spread, shadowTop);
int top = shadowTop;
if (hasReflection())
top = min(top, reflectionBox().y());
@@ -612,10 +616,10 @@ IntRect RenderBlock::overflowRect(bool includeInterior) const
int shadowBottom = 0;
for (ShadowData* boxShadow = style()->boxShadow(); boxShadow; boxShadow = boxShadow->next) {
- shadowLeft = min(boxShadow->x - boxShadow->blur, shadowLeft);
- shadowRight = max(boxShadow->x + boxShadow->blur, shadowRight);
- shadowTop = min(boxShadow->y - boxShadow->blur, shadowTop);
- shadowBottom = max(boxShadow->y + boxShadow->blur, shadowBottom);
+ shadowLeft = min(boxShadow->x - boxShadow->blur - boxShadow->spread, shadowLeft);
+ shadowRight = max(boxShadow->x + boxShadow->blur + boxShadow->spread, shadowRight);
+ shadowTop = min(boxShadow->y - boxShadow->blur - boxShadow->spread, shadowTop);
+ shadowBottom = max(boxShadow->y + boxShadow->blur + boxShadow->spread, shadowBottom);
}
box.move(shadowLeft, shadowTop);
@@ -688,6 +692,45 @@ bool RenderBlock::isSelfCollapsingBlock() const
return false;
}
+void RenderBlock::startDelayUpdateScrollInfo()
+{
+ if (gDelayUpdateScrollInfo == 0) {
+ ASSERT(!gDelayedUpdateScrollInfoSet);
+ gDelayedUpdateScrollInfoSet = new DelayedUpdateScrollInfoSet;
+ }
+ ASSERT(gDelayedUpdateScrollInfoSet);
+ ++gDelayUpdateScrollInfo;
+}
+
+void RenderBlock::finishDelayUpdateScrollInfo()
+{
+ --gDelayUpdateScrollInfo;
+ ASSERT(gDelayUpdateScrollInfo >= 0);
+ if (gDelayUpdateScrollInfo == 0) {
+ ASSERT(gDelayedUpdateScrollInfoSet);
+
+ for (DelayedUpdateScrollInfoSet::iterator it = gDelayedUpdateScrollInfoSet->begin(); it != gDelayedUpdateScrollInfoSet->end(); ++it) {
+ RenderBlock* block = *it;
+ if (block->hasOverflowClip()) {
+ block->layer()->updateScrollInfoAfterLayout();
+ }
+ }
+
+ delete gDelayedUpdateScrollInfoSet;
+ gDelayedUpdateScrollInfoSet = 0;
+ }
+}
+
+void RenderBlock::updateScrollInfoAfterLayout()
+{
+ if (hasOverflowClip()) {
+ if (gDelayUpdateScrollInfo)
+ gDelayedUpdateScrollInfoSet->add(this);
+ else
+ layer()->updateScrollInfoAfterLayout();
+ }
+}
+
void RenderBlock::layout()
{
// Update our first letter info now.
@@ -828,10 +871,10 @@ void RenderBlock::layoutBlock(bool relayoutChildren)
if (!hasOverflowClip()) {
for (ShadowData* boxShadow = style()->boxShadow(); boxShadow; boxShadow = boxShadow->next) {
- m_overflowLeft = min(m_overflowLeft, boxShadow->x - boxShadow->blur);
- m_overflowWidth = max(m_overflowWidth, width() + boxShadow->x + boxShadow->blur);
- m_overflowTop = min(m_overflowTop, boxShadow->y - boxShadow->blur);
- m_overflowHeight = max(m_overflowHeight, height() + boxShadow->y + boxShadow->blur);
+ m_overflowLeft = min(m_overflowLeft, boxShadow->x - boxShadow->blur - boxShadow->spread);
+ m_overflowWidth = max(m_overflowWidth, width() + boxShadow->x + boxShadow->blur + boxShadow->spread);
+ m_overflowTop = min(m_overflowTop, boxShadow->y - boxShadow->blur - boxShadow->spread);
+ m_overflowHeight = max(m_overflowHeight, height() + boxShadow->y + boxShadow->blur + boxShadow->spread);
}
if (hasReflection()) {
@@ -844,8 +887,7 @@ void RenderBlock::layoutBlock(bool relayoutChildren)
// Update our scroll information if we're overflow:auto/scroll/hidden now that we know if
// we overflow or not.
- if (hasOverflowClip())
- layer()->updateScrollInfoAfterLayout();
+ updateScrollInfoAfterLayout();
// Repaint with our new bounds if they are different from our old bounds.
bool didFullRepaint = repainter.repaintAfterLayout();
@@ -971,13 +1013,13 @@ bool RenderBlock::handleRunInChild(RenderBox* child)
if (!child->isRunIn() || !child->childrenInline() && !child->isReplaced())
return false;
- RenderBlock* blockRunIn = toRenderBlock(child);
// Get the next non-positioned/non-floating RenderBlock.
+ RenderBlock* blockRunIn = toRenderBlock(child);
RenderObject* curr = blockRunIn->nextSibling();
while (curr && curr->isFloatingOrPositioned())
curr = curr->nextSibling();
- if (!curr || !curr->isRenderBlock() || !curr->childrenInline() || curr->isRunIn())
+ if (!curr || !curr->isRenderBlock() || !curr->childrenInline() || curr->isRunIn() || curr->isAnonymous())
return false;
RenderBlock* currBlock = toRenderBlock(curr);
@@ -1436,8 +1478,10 @@ void RenderBlock::layoutBlockChildren(bool relayoutChildren, int& maxFloatBottom
child->repaintDuringLayoutIfMoved(oldRect);
}
- if (!childHadLayout && child->checkForRepaintDuringLayout())
+ if (!childHadLayout && child->checkForRepaintDuringLayout()) {
child->repaint();
+ child->repaintOverhangingFloats(true);
+ }
ASSERT(oldLayoutDelta == view()->layoutDelta());
}
@@ -1465,8 +1509,7 @@ bool RenderBlock::layoutOnlyPositionedObjects()
statePusher.pop();
- if (hasOverflowClip())
- layer()->updateScrollInfoAfterLayout();
+ updateScrollInfoAfterLayout();
setNeedsLayout(false);
return true;
@@ -2421,10 +2464,10 @@ bool RenderBlock::positionNewFloats()
if (o->style()->floating() == FLEFT) {
int heightRemainingLeft = 1;
int heightRemainingRight = 1;
- int fx = leftRelOffset(y,lo, false, &heightRemainingLeft);
- while (rightRelOffset(y,ro, false, &heightRemainingRight)-fx < fwidth) {
+ int fx = leftRelOffset(y, lo, false, &heightRemainingLeft);
+ while (rightRelOffset(y, ro, false, &heightRemainingRight)-fx < fwidth) {
y += min(heightRemainingLeft, heightRemainingRight);
- fx = leftRelOffset(y,lo, false, &heightRemainingLeft);
+ fx = leftRelOffset(y, lo, false, &heightRemainingLeft);
}
fx = max(0, fx);
f->m_left = fx;
@@ -2432,8 +2475,8 @@ bool RenderBlock::positionNewFloats()
} else {
int heightRemainingLeft = 1;
int heightRemainingRight = 1;
- int fx = rightRelOffset(y,ro, false, &heightRemainingRight);
- while (fx - leftRelOffset(y,lo, false, &heightRemainingLeft) < fwidth) {
+ int fx = rightRelOffset(y, ro, false, &heightRemainingRight);
+ while (fx - leftRelOffset(y, lo, false, &heightRemainingLeft) < fwidth) {
y += min(heightRemainingLeft, heightRemainingRight);
fx = rightRelOffset(y, ro, false, &heightRemainingRight);
}
@@ -2458,7 +2501,7 @@ void RenderBlock::newLine(EClear clear)
positionNewFloats();
// set y position
int newY = 0;
- switch(clear)
+ switch (clear)
{
case CLEFT:
newY = leftBottom();
@@ -2629,12 +2672,12 @@ int
RenderBlock::floatBottom() const
{
if (!m_floatingObjects) return 0;
- int bottom=0;
+ int bottom = 0;
FloatingObject* r;
DeprecatedPtrListIterator<FloatingObject> it(*m_floatingObjects);
for ( ; (r = it.current()); ++it )
if (r->m_bottom>bottom)
- bottom=r->m_bottom;
+ bottom = r->m_bottom;
return bottom;
}
@@ -2919,12 +2962,12 @@ int
RenderBlock::leftBottom()
{
if (!m_floatingObjects) return 0;
- int bottom=0;
+ int bottom = 0;
FloatingObject* r;
DeprecatedPtrListIterator<FloatingObject> it(*m_floatingObjects);
for ( ; (r = it.current()); ++it )
if (r->m_bottom > bottom && r->type() == FloatingObject::FloatLeft)
- bottom=r->m_bottom;
+ bottom = r->m_bottom;
return bottom;
}
@@ -2933,12 +2976,12 @@ int
RenderBlock::rightBottom()
{
if (!m_floatingObjects) return 0;
- int bottom=0;
+ int bottom = 0;
FloatingObject* r;
DeprecatedPtrListIterator<FloatingObject> it(*m_floatingObjects);
for ( ; (r = it.current()); ++it )
if (r->m_bottom>bottom && r->type() == FloatingObject::FloatRight)
- bottom=r->m_bottom;
+ bottom = r->m_bottom;
return bottom;
}
@@ -3246,12 +3289,12 @@ void RenderBlock::addVisualOverflow(const IntRect& r)
m_overflowHeight = max(m_overflowHeight, r.bottom());
}
-bool RenderBlock::isPointInOverflowControl(HitTestResult& result, int, int, int, int)
+bool RenderBlock::isPointInOverflowControl(HitTestResult& result, int _x, int _y, int _tx, int _ty)
{
if (!scrollsOverflow())
return false;
- return layer()->hitTestOverflowControls(result);
+ return layer()->hitTestOverflowControls(result, IntPoint(_x - _tx, _y - _ty));
}
bool RenderBlock::nodeAtPoint(const HitTestRequest& request, HitTestResult& result, int _x, int _y, int _tx, int _ty, HitTestAction hitTestAction)
@@ -3894,14 +3937,16 @@ void RenderBlock::calcPrefWidths()
int toAdd = 0;
toAdd = borderLeft() + borderRight() + paddingLeft() + paddingRight();
+ if (hasOverflowClip() && style()->overflowY() == OSCROLL)
+ toAdd += verticalScrollbarWidth();
+
m_minPrefWidth += toAdd;
m_maxPrefWidth += toAdd;
setPrefWidthsDirty(false);
}
-struct InlineMinMaxIterator
-{
+struct InlineMinMaxIterator {
/* InlineMinMaxIterator is a class that will iterate over all render objects that contribute to
inline min/max width calculations. Note the following about the way it walks:
(1) Positioned content is skipped (since it does not contribute to min/max width of a block)
diff --git a/src/3rdparty/webkit/WebCore/rendering/RenderBlock.h b/src/3rdparty/webkit/WebCore/rendering/RenderBlock.h
index 31eae7c8..871e439 100644
--- a/src/3rdparty/webkit/WebCore/rendering/RenderBlock.h
+++ b/src/3rdparty/webkit/WebCore/rendering/RenderBlock.h
@@ -35,7 +35,6 @@
namespace WebCore {
class InlineIterator;
-class Position;
class RenderInline;
class RootInlineBox;
@@ -142,23 +141,26 @@ public:
virtual void updateBeforeAfterContent(PseudoId);
- RootInlineBox* createRootInlineBox();
+ RootInlineBox* createAndAppendRootInlineBox();
+ virtual RootInlineBox* createRootInlineBox(); // Subclassed by SVG and Ruby.
// Called to lay out the legend for a fieldset.
virtual RenderObject* layoutLegend(bool /*relayoutChildren*/) { return 0; }
- // the implementation of the following functions is in bidi.cpp
struct FloatWithRect {
FloatWithRect(RenderBox* f)
: object(f)
, rect(IntRect(f->x() - f->marginLeft(), f->y() - f->marginTop(), f->width() + f->marginLeft() + f->marginRight(), f->height() + f->marginTop() + f->marginBottom()))
+ , everHadLayout(f->m_everHadLayout)
{
}
RenderBox* object;
IntRect rect;
+ bool everHadLayout;
};
+ // The following functions' implementations are in RenderBlockLineLayout.cpp.
void bidiReorderLine(InlineBidiResolver&, const InlineIterator& end, bool previousLineBrokeCleanly);
RootInlineBox* determineStartPosition(bool& firstLine, bool& fullLayout, bool& previousLineBrokeCleanly,
InlineBidiResolver&, Vector<FloatWithRect>& floats, unsigned& numCleanFloats);
@@ -179,7 +181,7 @@ public:
void checkLinesForOverflow();
void deleteEllipsisLineBoxes();
void checkLinesForTextOverflow();
- // end bidi.cpp functions
+ // End of functions defined in RenderBlockLineLayout.cpp.
virtual void paint(PaintInfo&, int tx, int ty);
virtual void paintObject(PaintInfo&, int tx, int ty);
@@ -328,6 +330,14 @@ public:
// style from this RenderBlock.
RenderBlock* createAnonymousBlock() const;
+ // Delay update scrollbar until finishDelayRepaint() will be
+ // called. This function is used when a flexbox is layouting its
+ // descendant. If multiple startDelayRepaint() is called,
+ // finishDelayRepaint() will do nothing until finishDelayRepaint()
+ // is called same times.
+ static void startDelayUpdateScrollInfo();
+ static void finishDelayUpdateScrollInfo();
+
private:
void adjustPointToColumnContents(IntPoint&) const;
void adjustForBorderFit(int x, int& left, int& right) const; // Helper function for borderFitAdjust
@@ -342,7 +352,6 @@ protected:
virtual bool hasLineIfEmpty() const;
bool layoutOnlyPositionedObjects();
- virtual RootInlineBox* createRootBox(); // Subclassed by SVG.
private:
Position positionForBox(InlineBox*, bool start = true) const;
@@ -357,6 +366,8 @@ private:
bool expandsToEncloseOverhangingFloats() const;
+ void updateScrollInfoAfterLayout();
+
protected:
struct FloatingObject {
enum Type {
diff --git a/src/3rdparty/webkit/WebCore/rendering/RenderBlockLineLayout.cpp b/src/3rdparty/webkit/WebCore/rendering/RenderBlockLineLayout.cpp
new file mode 100644
index 0000000..c243dc1
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/rendering/RenderBlockLineLayout.cpp
@@ -0,0 +1,2264 @@
+/*
+ * Copyright (C) 2000 Lars Knoll (knoll@kde.org)
+ * Copyright (C) 2003, 2004, 2006, 2007, 2008, 2009 Apple Inc. All right reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public License
+ * along with this library; see the file COPYING.LIB. If not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "config.h"
+
+#include "BidiResolver.h"
+#include "CharacterNames.h"
+#include "InlineTextBox.h"
+#include "Logging.h"
+#include "RenderArena.h"
+#include "RenderInline.h"
+#include "RenderListMarker.h"
+#include "RenderView.h"
+#include "break_lines.h"
+#include <wtf/AlwaysInline.h>
+#include <wtf/RefCountedLeakCounter.h>
+#include <wtf/StdLibExtras.h>
+#include <wtf/Vector.h>
+
+using namespace std;
+using namespace WTF;
+using namespace Unicode;
+
+namespace WebCore {
+
+// We don't let our line box tree for a single line get any deeper than this.
+const unsigned cMaxLineDepth = 200;
+
+class InlineIterator {
+public:
+ InlineIterator()
+ : block(0)
+ , obj(0)
+ , pos(0)
+ , nextBreakablePosition(-1)
+ {
+ }
+
+ InlineIterator(RenderBlock* b, RenderObject* o, unsigned p)
+ : block(b)
+ , obj(o)
+ , pos(p)
+ , nextBreakablePosition(-1)
+ {
+ }
+
+ void increment(InlineBidiResolver* resolver = 0);
+ bool atEnd() const;
+
+ UChar current() const;
+ Direction direction() const;
+
+ RenderBlock* block;
+ RenderObject* obj;
+ unsigned pos;
+ int nextBreakablePosition;
+};
+
+static int getBorderPaddingMargin(RenderBoxModelObject* child, bool endOfInline)
+{
+ bool leftSide = (child->style()->direction() == LTR) ? !endOfInline : endOfInline;
+ if (leftSide)
+ return child->marginLeft() + child->paddingLeft() + child->borderLeft();
+ return child->marginRight() + child->paddingRight() + child->borderRight();
+}
+
+static int inlineWidth(RenderObject* child, bool start = true, bool end = true)
+{
+ unsigned lineDepth = 1;
+ int extraWidth = 0;
+ RenderObject* parent = child->parent();
+ while (parent->isInline() && !parent->isInlineBlockOrInlineTable() && lineDepth++ < cMaxLineDepth) {
+ if (start && !child->previousSibling())
+ extraWidth += getBorderPaddingMargin(toRenderBoxModelObject(parent), false);
+ if (end && !child->nextSibling())
+ extraWidth += getBorderPaddingMargin(toRenderBoxModelObject(parent), true);
+ child = parent;
+ parent = child->parent();
+ }
+ return extraWidth;
+}
+
+struct BidiRun : BidiCharacterRun {
+ BidiRun(int start, int stop, RenderObject* object, BidiContext* context, Direction dir)
+ : BidiCharacterRun(start, stop, context, dir)
+ , m_object(object)
+ , m_box(0)
+ {
+ }
+
+ void destroy();
+
+ // Overloaded new operator.
+ void* operator new(size_t, RenderArena*) throw();
+
+ // Overridden to prevent the normal delete from being called.
+ void operator delete(void*, size_t);
+
+ BidiRun* next() { return static_cast<BidiRun*>(m_next); }
+
+private:
+ // The normal operator new is disallowed.
+ void* operator new(size_t) throw();
+
+public:
+ RenderObject* m_object;
+ InlineBox* m_box;
+};
+
+#ifndef NDEBUG
+static RefCountedLeakCounter bidiRunCounter("BidiRun");
+
+static bool inBidiRunDestroy;
+#endif
+
+void BidiRun::destroy()
+{
+#ifndef NDEBUG
+ inBidiRunDestroy = true;
+#endif
+ RenderArena* renderArena = m_object->renderArena();
+ delete this;
+#ifndef NDEBUG
+ inBidiRunDestroy = false;
+#endif
+
+ // Recover the size left there for us by operator delete and free the memory.
+ renderArena->free(*reinterpret_cast<size_t*>(this), this);
+}
+
+void* BidiRun::operator new(size_t sz, RenderArena* renderArena) throw()
+{
+#ifndef NDEBUG
+ bidiRunCounter.increment();
+#endif
+ return renderArena->allocate(sz);
+}
+
+void BidiRun::operator delete(void* ptr, size_t sz)
+{
+#ifndef NDEBUG
+ bidiRunCounter.decrement();
+#endif
+ ASSERT(inBidiRunDestroy);
+
+ // Stash size where destroy() can find it.
+ *(size_t*)ptr = sz;
+}
+
+// ---------------------------------------------------------------------
+
+inline bool operator==(const InlineIterator& it1, const InlineIterator& it2)
+{
+ return it1.pos == it2.pos && it1.obj == it2.obj;
+}
+
+inline bool operator!=(const InlineIterator& it1, const InlineIterator& it2)
+{
+ return it1.pos != it2.pos || it1.obj != it2.obj;
+}
+
+static inline RenderObject* bidiNext(RenderBlock* block, RenderObject* current, InlineBidiResolver* resolver = 0, bool skipInlines = true, bool* endOfInlinePtr = 0)
+{
+ RenderObject* next = 0;
+ bool oldEndOfInline = endOfInlinePtr ? *endOfInlinePtr : false;
+ bool endOfInline = false;
+
+ while (current) {
+ next = 0;
+ if (!oldEndOfInline && !current->isFloating() && !current->isReplaced() && !current->isPositioned() && !current->isText()) {
+ next = current->firstChild();
+ if (next && resolver && next->isRenderInline()) {
+ EUnicodeBidi ub = next->style()->unicodeBidi();
+ if (ub != UBNormal) {
+ TextDirection dir = next->style()->direction();
+ Direction d = (ub == Embed
+ ? (dir == RTL ? RightToLeftEmbedding : LeftToRightEmbedding)
+ : (dir == RTL ? RightToLeftOverride : LeftToRightOverride));
+ resolver->embed(d);
+ }
+ }
+ }
+
+ if (!next) {
+ if (!skipInlines && !oldEndOfInline && current->isRenderInline()) {
+ next = current;
+ endOfInline = true;
+ break;
+ }
+
+ while (current && current != block) {
+ if (resolver && current->isRenderInline() && current->style()->unicodeBidi() != UBNormal)
+ resolver->embed(PopDirectionalFormat);
+
+ next = current->nextSibling();
+ if (next) {
+ if (resolver && next->isRenderInline()) {
+ EUnicodeBidi ub = next->style()->unicodeBidi();
+ if (ub != UBNormal) {
+ TextDirection dir = next->style()->direction();
+ Direction d = (ub == Embed
+ ? (dir == RTL ? RightToLeftEmbedding: LeftToRightEmbedding)
+ : (dir == RTL ? RightToLeftOverride : LeftToRightOverride));
+ resolver->embed(d);
+ }
+ }
+ break;
+ }
+
+ current = current->parent();
+ if (!skipInlines && current && current != block && current->isRenderInline()) {
+ next = current;
+ endOfInline = true;
+ break;
+ }
+ }
+ }
+
+ if (!next)
+ break;
+
+ if (next->isText() || next->isFloating() || next->isReplaced() || next->isPositioned()
+ || ((!skipInlines || !next->firstChild()) // Always return EMPTY inlines.
+ && next->isRenderInline()))
+ break;
+ current = next;
+ }
+
+ if (endOfInlinePtr)
+ *endOfInlinePtr = endOfInline;
+
+ return next;
+}
+
+static RenderObject* bidiFirst(RenderBlock* block, InlineBidiResolver* resolver, bool skipInlines = true)
+{
+ if (!block->firstChild())
+ return 0;
+
+ RenderObject* o = block->firstChild();
+ if (o->isRenderInline()) {
+ if (resolver) {
+ EUnicodeBidi ub = o->style()->unicodeBidi();
+ if (ub != UBNormal) {
+ TextDirection dir = o->style()->direction();
+ Direction d = (ub == Embed
+ ? (dir == RTL ? RightToLeftEmbedding : LeftToRightEmbedding)
+ : (dir == RTL ? RightToLeftOverride : LeftToRightOverride));
+ resolver->embed(d);
+ }
+ }
+ if (skipInlines && o->firstChild())
+ o = bidiNext(block, o, resolver, skipInlines);
+ else {
+ // Never skip empty inlines.
+ if (resolver)
+ resolver->commitExplicitEmbedding();
+ return o;
+ }
+ }
+
+ if (o && !o->isText() && !o->isReplaced() && !o->isFloating() && !o->isPositioned())
+ o = bidiNext(block, o, resolver, skipInlines);
+
+ if (resolver)
+ resolver->commitExplicitEmbedding();
+ return o;
+}
+
+inline void InlineIterator::increment(InlineBidiResolver* resolver)
+{
+ if (!obj)
+ return;
+ if (obj->isText()) {
+ pos++;
+ if (pos >= toRenderText(obj)->textLength()) {
+ obj = bidiNext(block, obj, resolver);
+ pos = 0;
+ nextBreakablePosition = -1;
+ }
+ } else {
+ obj = bidiNext(block, obj, resolver);
+ pos = 0;
+ nextBreakablePosition = -1;
+ }
+}
+
+template<>
+inline void InlineBidiResolver::increment()
+{
+ current.increment(this);
+}
+
+inline bool InlineIterator::atEnd() const
+{
+ return !obj;
+}
+
+inline UChar InlineIterator::current() const
+{
+ if (!obj || !obj->isText())
+ return 0;
+
+ RenderText* text = toRenderText(obj);
+ if (pos >= text->textLength())
+ return 0;
+
+ return text->characters()[pos];
+}
+
+ALWAYS_INLINE Direction InlineIterator::direction() const
+{
+ if (UChar c = current())
+ return Unicode::direction(c);
+
+ if (obj && obj->isListMarker())
+ return obj->style()->direction() == LTR ? LeftToRight : RightToLeft;
+
+ return OtherNeutral;
+}
+
+// -------------------------------------------------------------------------------------------------
+
+static void chopMidpointsAt(LineMidpointState& lineMidpointState, RenderObject* obj, unsigned pos)
+{
+ if (!lineMidpointState.numMidpoints)
+ return;
+ InlineIterator* midpoints = lineMidpointState.midpoints.data();
+ for (int i = lineMidpointState.numMidpoints - 1; i >= 0; i--) {
+ const InlineIterator& point = midpoints[i];
+ if (point.obj == obj && point.pos == pos) {
+ lineMidpointState.numMidpoints = i;
+ break;
+ }
+ }
+}
+
+static void checkMidpoints(LineMidpointState& lineMidpointState, InlineIterator& lBreak)
+{
+ // Check to see if our last midpoint is a start point beyond the line break. If so,
+ // shave it off the list, and shave off a trailing space if the previous end point doesn't
+ // preserve whitespace.
+ if (lBreak.obj && lineMidpointState.numMidpoints && !(lineMidpointState.numMidpoints % 2)) {
+ InlineIterator* midpoints = lineMidpointState.midpoints.data();
+ InlineIterator& endpoint = midpoints[lineMidpointState.numMidpoints - 2];
+ const InlineIterator& startpoint = midpoints[lineMidpointState.numMidpoints - 1];
+ InlineIterator currpoint = endpoint;
+ while (!currpoint.atEnd() && currpoint != startpoint && currpoint != lBreak)
+ currpoint.increment();
+ if (currpoint == lBreak) {
+ // We hit the line break before the start point. Shave off the start point.
+ lineMidpointState.numMidpoints--;
+ if (endpoint.obj->style()->collapseWhiteSpace()) {
+ if (endpoint.obj->isText()) {
+ // Don't shave a character off the endpoint if it was from a soft hyphen.
+ RenderText* textObj = toRenderText(endpoint.obj);
+ if (endpoint.pos + 1 < textObj->textLength()) {
+ if (textObj->characters()[endpoint.pos+1] == softHyphen)
+ return;
+ } else if (startpoint.obj->isText()) {
+ RenderText *startText = toRenderText(startpoint.obj);
+ if (startText->textLength() && startText->characters()[0] == softHyphen)
+ return;
+ }
+ }
+ endpoint.pos--;
+ }
+ }
+ }
+}
+
+static void addMidpoint(LineMidpointState& lineMidpointState, const InlineIterator& midpoint)
+{
+ if (lineMidpointState.midpoints.size() <= lineMidpointState.numMidpoints)
+ lineMidpointState.midpoints.grow(lineMidpointState.numMidpoints + 10);
+
+ InlineIterator* midpoints = lineMidpointState.midpoints.data();
+ midpoints[lineMidpointState.numMidpoints++] = midpoint;
+}
+
+static void appendRunsForObject(int start, int end, RenderObject* obj, InlineBidiResolver& resolver)
+{
+ if (start > end || obj->isFloating() ||
+ (obj->isPositioned() && !obj->style()->hasStaticX() && !obj->style()->hasStaticY() && !obj->container()->isRenderInline()))
+ return;
+
+ LineMidpointState& lineMidpointState = resolver.midpointState();
+ bool haveNextMidpoint = (lineMidpointState.currentMidpoint < lineMidpointState.numMidpoints);
+ InlineIterator nextMidpoint;
+ if (haveNextMidpoint)
+ nextMidpoint = lineMidpointState.midpoints[lineMidpointState.currentMidpoint];
+ if (lineMidpointState.betweenMidpoints) {
+ if (!(haveNextMidpoint && nextMidpoint.obj == obj))
+ return;
+ // This is a new start point. Stop ignoring objects and
+ // adjust our start.
+ lineMidpointState.betweenMidpoints = false;
+ start = nextMidpoint.pos;
+ lineMidpointState.currentMidpoint++;
+ if (start < end)
+ return appendRunsForObject(start, end, obj, resolver);
+ } else {
+ if (!haveNextMidpoint || (obj != nextMidpoint.obj)) {
+ resolver.addRun(new (obj->renderArena()) BidiRun(start, end, obj, resolver.context(), resolver.dir()));
+ return;
+ }
+
+ // An end midpoint has been encountered within our object. We
+ // need to go ahead and append a run with our endpoint.
+ if (static_cast<int>(nextMidpoint.pos + 1) <= end) {
+ lineMidpointState.betweenMidpoints = true;
+ lineMidpointState.currentMidpoint++;
+ if (nextMidpoint.pos != UINT_MAX) { // UINT_MAX means stop at the object and don't include any of it.
+ if (static_cast<int>(nextMidpoint.pos + 1) > start)
+ resolver.addRun(new (obj->renderArena())
+ BidiRun(start, nextMidpoint.pos + 1, obj, resolver.context(), resolver.dir()));
+ return appendRunsForObject(nextMidpoint.pos + 1, end, obj, resolver);
+ }
+ } else
+ resolver.addRun(new (obj->renderArena()) BidiRun(start, end, obj, resolver.context(), resolver.dir()));
+ }
+}
+
+template <>
+void InlineBidiResolver::appendRun()
+{
+ if (!emptyRun && !eor.atEnd()) {
+ int start = sor.pos;
+ RenderObject *obj = sor.obj;
+ while (obj && obj != eor.obj && obj != endOfLine.obj) {
+ appendRunsForObject(start, obj->length(), obj, *this);
+ start = 0;
+ obj = bidiNext(sor.block, obj);
+ }
+ if (obj) {
+ unsigned pos = obj == eor.obj ? eor.pos : UINT_MAX;
+ if (obj == endOfLine.obj && endOfLine.pos <= pos) {
+ reachedEndOfLine = true;
+ pos = endOfLine.pos;
+ }
+ // It's OK to add runs for zero-length RenderObjects, just don't make the run larger than it should be
+ int end = obj->length() ? pos+1 : 0;
+ appendRunsForObject(start, end, obj, *this);
+ }
+
+ eor.increment();
+ sor = eor;
+ }
+
+ m_direction = OtherNeutral;
+ m_status.eor = OtherNeutral;
+}
+
+static inline InlineBox* createInlineBoxForRenderer(RenderObject* obj, bool isRootLineBox, bool isOnlyRun = false)
+{
+ if (isRootLineBox)
+ return toRenderBlock(obj)->createAndAppendRootInlineBox();
+
+ if (obj->isText()) {
+ InlineTextBox* textBox = toRenderText(obj)->createInlineTextBox();
+ // We only treat a box as text for a <br> if we are on a line by ourself or in strict mode
+ // (Note the use of strict mode. In "almost strict" mode, we don't treat the box for <br> as text.)
+ if (obj->isBR())
+ textBox->setIsText(isOnlyRun || obj->document()->inStrictMode());
+ return textBox;
+ }
+
+ if (obj->isBox())
+ return toRenderBox(obj)->createInlineBox();
+
+ return toRenderInline(obj)->createAndAppendInlineFlowBox();
+}
+
+static inline void dirtyLineBoxesForRenderer(RenderObject* o, bool fullLayout)
+{
+ if (o->isText()) {
+ if (o->prefWidthsDirty() && o->isCounter())
+ toRenderText(o)->calcPrefWidths(0); // FIXME: Counters depend on this hack. No clue why. Should be investigated and removed.
+ toRenderText(o)->dirtyLineBoxes(fullLayout);
+ } else
+ toRenderInline(o)->dirtyLineBoxes(fullLayout);
+}
+
+InlineFlowBox* RenderBlock::createLineBoxes(RenderObject* obj, bool firstLine)
+{
+ // See if we have an unconstructed line box for this object that is also
+ // the last item on the line.
+ unsigned lineDepth = 1;
+ InlineFlowBox* childBox = 0;
+ InlineFlowBox* parentBox = 0;
+ InlineFlowBox* result = 0;
+ do {
+ ASSERT(obj->isRenderInline() || obj == this);
+
+ // Get the last box we made for this render object.
+ parentBox = obj->isRenderInline() ? toRenderInline(obj)->lastLineBox() : toRenderBlock(obj)->lastLineBox();
+
+ // If this box is constructed then it is from a previous line, and we need
+ // to make a new box for our line. If this box is unconstructed but it has
+ // something following it on the line, then we know we have to make a new box
+ // as well. In this situation our inline has actually been split in two on
+ // the same line (this can happen with very fancy language mixtures).
+ bool constructedNewBox = false;
+ if (!parentBox || parentBox->isConstructed() || parentBox->nextOnLine()) {
+ // We need to make a new box for this render object. Once
+ // made, we need to place it at the end of the current line.
+ InlineBox* newBox = createInlineBoxForRenderer(obj, obj == this);
+ ASSERT(newBox->isInlineFlowBox());
+ parentBox = static_cast<InlineFlowBox*>(newBox);
+ parentBox->setFirstLineStyleBit(firstLine);
+ constructedNewBox = true;
+ }
+
+ if (!result)
+ result = parentBox;
+
+ // If we have hit the block itself, then |box| represents the root
+ // inline box for the line, and it doesn't have to be appended to any parent
+ // inline.
+ if (childBox)
+ parentBox->addToLine(childBox);
+
+ if (!constructedNewBox || obj == this)
+ break;
+
+ childBox = parentBox;
+
+ // If we've exceeded our line depth, then jump straight to the root and skip all the remaining
+ // intermediate inline flows.
+ obj = (++lineDepth >= cMaxLineDepth) ? this : obj->parent();
+
+ } while (true);
+
+ return result;
+}
+
+RootInlineBox* RenderBlock::constructLine(unsigned runCount, BidiRun* firstRun, BidiRun* lastRun, bool firstLine, bool lastLine, RenderObject* endObject)
+{
+ ASSERT(firstRun);
+
+ InlineFlowBox* parentBox = 0;
+ for (BidiRun* r = firstRun; r; r = r->next()) {
+ // Create a box for our object.
+ bool isOnlyRun = (runCount == 1);
+ if (runCount == 2 && !r->m_object->isListMarker())
+ isOnlyRun = ((style()->direction() == RTL) ? lastRun : firstRun)->m_object->isListMarker();
+
+ InlineBox* box = createInlineBoxForRenderer(r->m_object, false, isOnlyRun);
+ r->m_box = box;
+
+ ASSERT(box);
+ if (!box)
+ continue;
+
+ // If we have no parent box yet, or if the run is not simply a sibling,
+ // then we need to construct inline boxes as necessary to properly enclose the
+ // run's inline box.
+ if (!parentBox || parentBox->renderer() != r->m_object->parent())
+ // Create new inline boxes all the way back to the appropriate insertion point.
+ parentBox = createLineBoxes(r->m_object->parent(), firstLine);
+
+ // Append the inline box to this line.
+ parentBox->addToLine(box);
+
+ bool visuallyOrdered = r->m_object->style()->visuallyOrdered();
+ box->setBidiLevel(visuallyOrdered ? 0 : r->level());
+
+ if (box->isInlineTextBox()) {
+ InlineTextBox* text = static_cast<InlineTextBox*>(box);
+ text->setStart(r->m_start);
+ text->setLen(r->m_stop - r->m_start);
+ text->m_dirOverride = r->dirOverride(visuallyOrdered);
+ }
+ }
+
+ // We should have a root inline box. It should be unconstructed and
+ // be the last continuation of our line list.
+ ASSERT(lastLineBox() && !lastLineBox()->isConstructed());
+
+ // Set bits on our inline flow boxes that indicate which sides should
+ // paint borders/margins/padding. This knowledge will ultimately be used when
+ // we determine the horizontal positions and widths of all the inline boxes on
+ // the line.
+ lastLineBox()->determineSpacingForFlowBoxes(lastLine, endObject);
+
+ // Now mark the line boxes as being constructed.
+ lastLineBox()->setConstructed();
+
+ // Return the last line.
+ return lastRootBox();
+}
+
+void RenderBlock::computeHorizontalPositionsForLine(RootInlineBox* lineBox, bool firstLine, BidiRun* firstRun, BidiRun* trailingSpaceRun, bool reachedEnd)
+{
+ // First determine our total width.
+ int availableWidth = lineWidth(height(), firstLine);
+ int totWidth = lineBox->getFlowSpacingWidth();
+ bool needsWordSpacing = false;
+ unsigned numSpaces = 0;
+ ETextAlign textAlign = style()->textAlign();
+
+ for (BidiRun* r = firstRun; r; r = r->next()) {
+ if (!r->m_box || r->m_object->isPositioned() || r->m_box->isLineBreak())
+ continue; // Positioned objects are only participating to figure out their
+ // correct static x position. They have no effect on the width.
+ // Similarly, line break boxes have no effect on the width.
+ if (r->m_object->isText()) {
+ RenderText* rt = toRenderText(r->m_object);
+
+ if (textAlign == JUSTIFY && r != trailingSpaceRun) {
+ const UChar* characters = rt->characters();
+ for (int i = r->m_start; i < r->m_stop; i++) {
+ UChar c = characters[i];
+ if (c == ' ' || c == '\n' || c == '\t')
+ numSpaces++;
+ }
+ }
+
+ if (int length = rt->textLength()) {
+ if (!r->m_start && needsWordSpacing && isSpaceOrNewline(rt->characters()[r->m_start]))
+ totWidth += rt->style(firstLine)->font().wordSpacing();
+ needsWordSpacing = !isSpaceOrNewline(rt->characters()[r->m_stop - 1]) && r->m_stop == length;
+ }
+ HashSet<const SimpleFontData*> fallbackFonts;
+ r->m_box->setWidth(rt->width(r->m_start, r->m_stop - r->m_start, totWidth, firstLine, &fallbackFonts));
+ if (!fallbackFonts.isEmpty()
+#if ENABLE(SVG)
+ && !isSVGText()
+#endif
+ ) {
+ ASSERT(r->m_box->isText());
+ static_cast<InlineTextBox*>(r->m_box)->setFallbackFonts(fallbackFonts);
+ }
+ } else if (!r->m_object->isRenderInline()) {
+ RenderBox* renderBox = toRenderBox(r->m_object);
+ renderBox->calcWidth();
+ r->m_box->setWidth(renderBox->width());
+ totWidth += renderBox->marginLeft() + renderBox->marginRight();
+ }
+
+ totWidth += r->m_box->width();
+ }
+
+ // Armed with the total width of the line (without justification),
+ // we now examine our text-align property in order to determine where to position the
+ // objects horizontally. The total width of the line can be increased if we end up
+ // justifying text.
+ int x = leftOffset(height(), firstLine);
+ switch (textAlign) {
+ case LEFT:
+ case WEBKIT_LEFT:
+ // The direction of the block should determine what happens with wide lines. In
+ // particular with RTL blocks, wide lines should still spill out to the left.
+ if (style()->direction() == LTR) {
+ if (totWidth > availableWidth && trailingSpaceRun)
+ trailingSpaceRun->m_box->setWidth(max(0, trailingSpaceRun->m_box->width() - totWidth + availableWidth));
+ } else {
+ if (trailingSpaceRun)
+ trailingSpaceRun->m_box->setWidth(0);
+ else if (totWidth > availableWidth)
+ x -= (totWidth - availableWidth);
+ }
+ break;
+ case JUSTIFY:
+ if (numSpaces && !reachedEnd && !lineBox->endsWithBreak()) {
+ if (trailingSpaceRun) {
+ totWidth -= trailingSpaceRun->m_box->width();
+ trailingSpaceRun->m_box->setWidth(0);
+ }
+ break;
+ }
+ // fall through
+ case TAAUTO:
+ numSpaces = 0;
+ // for right to left fall through to right aligned
+ if (style()->direction() == LTR) {
+ if (totWidth > availableWidth && trailingSpaceRun)
+ trailingSpaceRun->m_box->setWidth(max(0, trailingSpaceRun->m_box->width() - totWidth + availableWidth));
+ break;
+ }
+ case RIGHT:
+ case WEBKIT_RIGHT:
+ // Wide lines spill out of the block based off direction.
+ // So even if text-align is right, if direction is LTR, wide lines should overflow out of the right
+ // side of the block.
+ if (style()->direction() == LTR) {
+ if (trailingSpaceRun) {
+ totWidth -= trailingSpaceRun->m_box->width();
+ trailingSpaceRun->m_box->setWidth(0);
+ }
+ if (totWidth < availableWidth)
+ x += availableWidth - totWidth;
+ } else {
+ if (totWidth > availableWidth && trailingSpaceRun) {
+ trailingSpaceRun->m_box->setWidth(max(0, trailingSpaceRun->m_box->width() - totWidth + availableWidth));
+ totWidth -= trailingSpaceRun->m_box->width();
+ } else
+ x += availableWidth - totWidth;
+ }
+ break;
+ case CENTER:
+ case WEBKIT_CENTER:
+ int trailingSpaceWidth = 0;
+ if (trailingSpaceRun) {
+ totWidth -= trailingSpaceRun->m_box->width();
+ trailingSpaceWidth = min(trailingSpaceRun->m_box->width(), (availableWidth - totWidth + 1) / 2);
+ trailingSpaceRun->m_box->setWidth(max(0, trailingSpaceWidth));
+ }
+ if (style()->direction() == LTR)
+ x += max((availableWidth - totWidth) / 2, 0);
+ else
+ x += totWidth > availableWidth ? (availableWidth - totWidth) : (availableWidth - totWidth) / 2 - trailingSpaceWidth;
+ break;
+ }
+
+ if (numSpaces) {
+ for (BidiRun* r = firstRun; r; r = r->next()) {
+ if (!r->m_box || r == trailingSpaceRun)
+ continue;
+
+ int spaceAdd = 0;
+ if (r->m_object->isText()) {
+ unsigned spaces = 0;
+ const UChar* characters = toRenderText(r->m_object)->characters();
+ for (int i = r->m_start; i < r->m_stop; i++) {
+ UChar c = characters[i];
+ if (c == ' ' || c == '\n' || c == '\t')
+ spaces++;
+ }
+
+ ASSERT(spaces <= numSpaces);
+
+ // Only justify text if whitespace is collapsed.
+ if (r->m_object->style()->collapseWhiteSpace()) {
+ spaceAdd = (availableWidth - totWidth) * spaces / numSpaces;
+ static_cast<InlineTextBox*>(r->m_box)->setSpaceAdd(spaceAdd);
+ totWidth += spaceAdd;
+ }
+ numSpaces -= spaces;
+ if (!numSpaces)
+ break;
+ }
+ }
+ }
+
+ // The widths of all runs are now known. We can now place every inline box (and
+ // compute accurate widths for the inline flow boxes).
+ int leftPosition = x;
+ int rightPosition = x;
+ needsWordSpacing = false;
+ lineBox->placeBoxesHorizontally(x, leftPosition, rightPosition, needsWordSpacing);
+ lineBox->setHorizontalOverflowPositions(leftPosition, rightPosition);
+}
+
+void RenderBlock::computeVerticalPositionsForLine(RootInlineBox* lineBox, BidiRun* firstRun)
+{
+ setHeight(lineBox->verticallyAlignBoxes(height()));
+ lineBox->setBlockHeight(height());
+
+ // See if the line spilled out. If so set overflow height accordingly.
+ int bottomOfLine = lineBox->bottomOverflow();
+ if (bottomOfLine > height() && bottomOfLine > m_overflowHeight)
+ m_overflowHeight = bottomOfLine;
+
+ // Now make sure we place replaced render objects correctly.
+ for (BidiRun* r = firstRun; r; r = r->next()) {
+ ASSERT(r->m_box);
+ if (!r->m_box)
+ continue; // Skip runs with no line boxes.
+
+ // Align positioned boxes with the top of the line box. This is
+ // a reasonable approximation of an appropriate y position.
+ if (r->m_object->isPositioned())
+ r->m_box->setY(height());
+
+ // Position is used to properly position both replaced elements and
+ // to update the static normal flow x/y of positioned elements.
+ if (r->m_object->isText())
+ toRenderText(r->m_object)->positionLineBox(r->m_box);
+ else if (r->m_object->isBox())
+ toRenderBox(r->m_object)->positionLineBox(r->m_box);
+ }
+ // Positioned objects and zero-length text nodes destroy their boxes in
+ // position(), which unnecessarily dirties the line.
+ lineBox->markDirty(false);
+}
+
+// collects one line of the paragraph and transforms it to visual order
+void RenderBlock::bidiReorderLine(InlineBidiResolver& resolver, const InlineIterator& end, bool previousLineBrokeCleanly)
+{
+ resolver.createBidiRunsForLine(end, style()->visuallyOrdered(), previousLineBrokeCleanly);
+}
+
+static inline bool isCollapsibleSpace(UChar character, RenderText* renderer)
+{
+ if (character == ' ' || character == '\t' || character == softHyphen)
+ return true;
+ if (character == '\n')
+ return !renderer->style()->preserveNewline();
+ if (character == noBreakSpace)
+ return renderer->style()->nbspMode() == SPACE;
+ return false;
+}
+
+void RenderBlock::layoutInlineChildren(bool relayoutChildren, int& repaintTop, int& repaintBottom)
+{
+ bool useRepaintBounds = false;
+
+ m_overflowHeight = 0;
+
+ setHeight(borderTop() + paddingTop());
+ int toAdd = borderBottom() + paddingBottom() + horizontalScrollbarHeight();
+
+ // Figure out if we should clear out our line boxes.
+ // FIXME: Handle resize eventually!
+ bool fullLayout = !firstLineBox() || !firstChild() || selfNeedsLayout() || relayoutChildren;
+ if (fullLayout)
+ lineBoxes()->deleteLineBoxes(renderArena());
+
+ // Text truncation only kicks in if your overflow isn't visible and your text-overflow-mode isn't
+ // clip.
+ // FIXME: CSS3 says that descendants that are clipped must also know how to truncate. This is insanely
+ // difficult to figure out (especially in the middle of doing layout), and is really an esoteric pile of nonsense
+ // anyway, so we won't worry about following the draft here.
+ bool hasTextOverflow = style()->textOverflow() && hasOverflowClip();
+
+ // Walk all the lines and delete our ellipsis line boxes if they exist.
+ if (hasTextOverflow)
+ deleteEllipsisLineBoxes();
+
+ if (firstChild()) {
+ // layout replaced elements
+ bool endOfInline = false;
+ RenderObject* o = bidiFirst(this, 0, false);
+ Vector<FloatWithRect> floats;
+ while (o) {
+ if (o->isReplaced() || o->isFloating() || o->isPositioned()) {
+ RenderBox* box = toRenderBox(o);
+
+ if (relayoutChildren || o->style()->width().isPercent() || o->style()->height().isPercent())
+ o->setChildNeedsLayout(true, false);
+
+ // If relayoutChildren is set and we have percentage padding, we also need to invalidate the child's pref widths.
+ if (relayoutChildren && (o->style()->paddingLeft().isPercent() || o->style()->paddingRight().isPercent()))
+ o->setPrefWidthsDirty(true, false);
+
+ if (o->isPositioned())
+ o->containingBlock()->insertPositionedObject(box);
+ else {
+ if (o->isFloating())
+ floats.append(FloatWithRect(box));
+ else if (fullLayout || o->needsLayout()) // Replaced elements
+ toRenderBox(o)->dirtyLineBoxes(fullLayout);
+
+ o->layoutIfNeeded();
+ }
+ } else if (o->isText() || (o->isRenderInline() && !endOfInline)) {
+ if (fullLayout || o->selfNeedsLayout())
+ dirtyLineBoxesForRenderer(o, fullLayout);
+ o->setNeedsLayout(false);
+ if (!o->isText())
+ toRenderInline(o)->invalidateVerticalPosition(); // FIXME: Should do better here and not always invalidate everything.
+ }
+ o = bidiNext(this, o, 0, false, &endOfInline);
+ }
+
+ // We want to skip ahead to the first dirty line
+ InlineBidiResolver resolver;
+ unsigned floatIndex;
+ bool firstLine = true;
+ bool previousLineBrokeCleanly = true;
+ RootInlineBox* startLine = determineStartPosition(firstLine, fullLayout, previousLineBrokeCleanly, resolver, floats, floatIndex);
+
+ if (fullLayout && !selfNeedsLayout()) {
+ setNeedsLayout(true, false); // Mark ourselves as needing a full layout. This way we'll repaint like
+ // we're supposed to.
+ RenderView* v = view();
+ if (v && !v->doingFullRepaint() && hasLayer()) {
+ // Because we waited until we were already inside layout to discover
+ // that the block really needed a full layout, we missed our chance to repaint the layer
+ // before layout started. Luckily the layer has cached the repaint rect for its original
+ // position and size, and so we can use that to make a repaint happen now.
+ repaintUsingContainer(containerForRepaint(), layer()->repaintRect());
+ }
+ }
+
+ FloatingObject* lastFloat = m_floatingObjects ? m_floatingObjects->last() : 0;
+
+ LineMidpointState& lineMidpointState = resolver.midpointState();
+
+ // We also find the first clean line and extract these lines. We will add them back
+ // if we determine that we're able to synchronize after handling all our dirty lines.
+ InlineIterator cleanLineStart;
+ BidiStatus cleanLineBidiStatus;
+ int endLineYPos = 0;
+ RootInlineBox* endLine = (fullLayout || !startLine) ?
+ 0 : determineEndPosition(startLine, cleanLineStart, cleanLineBidiStatus, endLineYPos);
+
+ if (startLine) {
+ useRepaintBounds = true;
+ repaintTop = height();
+ repaintBottom = height();
+ RenderArena* arena = renderArena();
+ RootInlineBox* box = startLine;
+ while (box) {
+ repaintTop = min(repaintTop, box->topOverflow());
+ repaintBottom = max(repaintBottom, box->bottomOverflow());
+ RootInlineBox* next = box->nextRootBox();
+ box->deleteLine(arena);
+ box = next;
+ }
+ }
+
+ InlineIterator end = resolver.position();
+
+ if (!fullLayout && lastRootBox() && lastRootBox()->endsWithBreak()) {
+ // If the last line before the start line ends with a line break that clear floats,
+ // adjust the height accordingly.
+ // A line break can be either the first or the last object on a line, depending on its direction.
+ if (InlineBox* lastLeafChild = lastRootBox()->lastLeafChild()) {
+ RenderObject* lastObject = lastLeafChild->renderer();
+ if (!lastObject->isBR())
+ lastObject = lastRootBox()->firstLeafChild()->renderer();
+ if (lastObject->isBR()) {
+ EClear clear = lastObject->style()->clear();
+ if (clear != CNONE)
+ newLine(clear);
+ }
+ }
+ }
+
+ bool endLineMatched = false;
+ bool checkForEndLineMatch = endLine;
+ bool checkForFloatsFromLastLine = false;
+ int lastHeight = height();
+
+ bool isLineEmpty = true;
+
+ while (!end.atEnd()) {
+ // FIXME: Is this check necessary before the first iteration or can it be moved to the end?
+ if (checkForEndLineMatch && (endLineMatched = matchedEndLine(resolver, cleanLineStart, cleanLineBidiStatus, endLine, endLineYPos, repaintBottom, repaintTop)))
+ break;
+
+ lineMidpointState.reset();
+
+ isLineEmpty = true;
+
+ EClear clear = CNONE;
+ end = findNextLineBreak(resolver, firstLine, isLineEmpty, previousLineBrokeCleanly, &clear);
+ if (resolver.position().atEnd()) {
+ resolver.deleteRuns();
+ checkForFloatsFromLastLine = true;
+ break;
+ }
+ ASSERT(end != resolver.position());
+
+ if (!isLineEmpty) {
+ bidiReorderLine(resolver, end, previousLineBrokeCleanly);
+ ASSERT(resolver.position() == end);
+
+ BidiRun* trailingSpaceRun = 0;
+ if (!previousLineBrokeCleanly && resolver.runCount() && resolver.logicallyLastRun()->m_object->style()->breakOnlyAfterWhiteSpace()
+ && resolver.logicallyLastRun()->m_object->style()->autoWrap()) {
+ trailingSpaceRun = resolver.logicallyLastRun();
+ RenderObject* lastObject = trailingSpaceRun->m_object;
+ if (lastObject->isText()) {
+ RenderText* lastText = toRenderText(lastObject);
+ const UChar* characters = lastText->characters();
+ int firstSpace = trailingSpaceRun->stop();
+ while (firstSpace > trailingSpaceRun->start()) {
+ UChar current = characters[firstSpace - 1];
+ if (!isCollapsibleSpace(current, lastText))
+ break;
+ firstSpace--;
+ }
+ if (firstSpace == trailingSpaceRun->stop())
+ trailingSpaceRun = 0;
+ else {
+ TextDirection direction = style()->direction();
+ bool shouldReorder = trailingSpaceRun != (direction == LTR ? resolver.lastRun() : resolver.firstRun());
+ if (firstSpace != trailingSpaceRun->start()) {
+ BidiContext* baseContext = resolver.context();
+ while (BidiContext* parent = baseContext->parent())
+ baseContext = parent;
+
+ BidiRun* newTrailingRun = new (renderArena()) BidiRun(firstSpace, trailingSpaceRun->m_stop, trailingSpaceRun->m_object, baseContext, OtherNeutral);
+ trailingSpaceRun->m_stop = firstSpace;
+ if (direction == LTR)
+ resolver.addRun(newTrailingRun);
+ else
+ resolver.prependRun(newTrailingRun);
+ trailingSpaceRun = newTrailingRun;
+ shouldReorder = false;
+ }
+ if (shouldReorder) {
+ if (direction == LTR) {
+ resolver.moveRunToEnd(trailingSpaceRun);
+ trailingSpaceRun->m_level = 0;
+ } else {
+ resolver.moveRunToBeginning(trailingSpaceRun);
+ trailingSpaceRun->m_level = 1;
+ }
+ }
+ }
+ } else
+ trailingSpaceRun = 0;
+ }
+
+ // Now that the runs have been ordered, we create the line boxes.
+ // At the same time we figure out where border/padding/margin should be applied for
+ // inline flow boxes.
+
+ RootInlineBox* lineBox = 0;
+ if (resolver.runCount()) {
+ lineBox = constructLine(resolver.runCount(), resolver.firstRun(), resolver.lastRun(), firstLine, !end.obj, end.obj && !end.pos ? end.obj : 0);
+ if (lineBox) {
+ lineBox->setEndsWithBreak(previousLineBrokeCleanly);
+
+ // Now we position all of our text runs horizontally.
+ computeHorizontalPositionsForLine(lineBox, firstLine, resolver.firstRun(), trailingSpaceRun, end.atEnd());
+
+ // Now position our text runs vertically.
+ computeVerticalPositionsForLine(lineBox, resolver.firstRun());
+
+#if ENABLE(SVG)
+ // Special SVG text layout code
+ lineBox->computePerCharacterLayoutInformation();
+#endif
+
+#if PLATFORM(MAC)
+ // Highlight acts as an overflow inflation.
+ if (style()->highlight() != nullAtom)
+ lineBox->addHighlightOverflow();
+#endif
+ }
+ }
+
+ resolver.deleteRuns();
+
+ if (lineBox) {
+ lineBox->setLineBreakInfo(end.obj, end.pos, resolver.status());
+ if (useRepaintBounds) {
+ repaintTop = min(repaintTop, lineBox->topOverflow());
+ repaintBottom = max(repaintBottom, lineBox->bottomOverflow());
+ }
+ }
+
+ firstLine = false;
+ newLine(clear);
+ }
+
+ if (m_floatingObjects && lastRootBox()) {
+ if (lastFloat) {
+ for (FloatingObject* f = m_floatingObjects->last(); f != lastFloat; f = m_floatingObjects->prev()) {
+ }
+ m_floatingObjects->next();
+ } else
+ m_floatingObjects->first();
+ for (FloatingObject* f = m_floatingObjects->current(); f; f = m_floatingObjects->next()) {
+ if (f->m_bottom > lastHeight)
+ lastRootBox()->floats().append(f->m_renderer);
+ ASSERT(f->m_renderer == floats[floatIndex].object);
+ // If a float's geometry has changed, give up on syncing with clean lines.
+ if (floats[floatIndex].rect != IntRect(f->m_left, f->m_top, f->m_width, f->m_bottom - f->m_top))
+ checkForEndLineMatch = false;
+ floatIndex++;
+ }
+ lastFloat = m_floatingObjects->last();
+ }
+
+ lastHeight = height();
+ lineMidpointState.reset();
+ resolver.setPosition(end);
+ }
+
+ if (endLine) {
+ if (endLineMatched) {
+ // Attach all the remaining lines, and then adjust their y-positions as needed.
+ int delta = height() - endLineYPos;
+ for (RootInlineBox* line = endLine; line; line = line->nextRootBox()) {
+ line->attachLine();
+ if (delta) {
+ repaintTop = min(repaintTop, line->topOverflow() + min(delta, 0));
+ repaintBottom = max(repaintBottom, line->bottomOverflow() + max(delta, 0));
+ line->adjustPosition(0, delta);
+ }
+ if (Vector<RenderBox*>* cleanLineFloats = line->floatsPtr()) {
+ Vector<RenderBox*>::iterator end = cleanLineFloats->end();
+ for (Vector<RenderBox*>::iterator f = cleanLineFloats->begin(); f != end; ++f) {
+ int floatTop = (*f)->y() - (*f)->marginTop();
+ insertFloatingObject(*f);
+ setHeight(floatTop + delta);
+ positionNewFloats();
+ }
+ }
+ }
+ setHeight(lastRootBox()->blockHeight());
+ } else {
+ // Delete all the remaining lines.
+ InlineRunBox* line = endLine;
+ RenderArena* arena = renderArena();
+ while (line) {
+ repaintTop = min(repaintTop, line->topOverflow());
+ repaintBottom = max(repaintBottom, line->bottomOverflow());
+ InlineRunBox* next = line->nextLineBox();
+ line->deleteLine(arena);
+ line = next;
+ }
+ }
+ }
+ if (m_floatingObjects && (checkForFloatsFromLastLine || positionNewFloats()) && lastRootBox()) {
+ // In case we have a float on the last line, it might not be positioned up to now.
+ // This has to be done before adding in the bottom border/padding, or the float will
+ // include the padding incorrectly. -dwh
+ if (lastFloat) {
+ for (FloatingObject* f = m_floatingObjects->last(); f != lastFloat; f = m_floatingObjects->prev()) {
+ }
+ m_floatingObjects->next();
+ } else
+ m_floatingObjects->first();
+ for (FloatingObject* f = m_floatingObjects->current(); f; f = m_floatingObjects->next()) {
+ if (f->m_bottom > lastHeight)
+ lastRootBox()->floats().append(f->m_renderer);
+ }
+ lastFloat = m_floatingObjects->last();
+ }
+ size_t floatCount = floats.size();
+ // Floats that did not have layout did not repaint when we laid them out. They would have
+ // painted by now if they had moved, but if they stayed at (0, 0), they still need to be
+ // painted.
+ for (size_t i = 0; i < floatCount; ++i) {
+ if (!floats[i].everHadLayout) {
+ RenderBox* f = floats[i].object;
+ if (!f->x() && !f->y() && f->checkForRepaintDuringLayout())
+ f->repaint();
+ }
+ }
+ }
+
+ // Now add in the bottom border/padding.
+ setHeight(height() + toAdd);
+
+ // Always make sure this is at least our height.
+ m_overflowHeight = max(height(), m_overflowHeight);
+
+ // See if any lines spill out of the block. If so, we need to update our overflow width.
+ checkLinesForOverflow();
+
+ if (!firstLineBox() && hasLineIfEmpty())
+ setHeight(height() + lineHeight(true, true));
+
+ // See if we have any lines that spill out of our block. If we do, then we will possibly need to
+ // truncate text.
+ if (hasTextOverflow)
+ checkLinesForTextOverflow();
+}
+
+RootInlineBox* RenderBlock::determineStartPosition(bool& firstLine, bool& fullLayout, bool& previousLineBrokeCleanly,
+ InlineBidiResolver& resolver, Vector<FloatWithRect>& floats, unsigned& numCleanFloats)
+{
+ RootInlineBox* curr = 0;
+ RootInlineBox* last = 0;
+
+ bool dirtiedByFloat = false;
+ if (!fullLayout) {
+ size_t floatIndex = 0;
+ for (curr = firstRootBox(); curr && !curr->isDirty(); curr = curr->nextRootBox()) {
+ if (Vector<RenderBox*>* cleanLineFloats = curr->floatsPtr()) {
+ Vector<RenderBox*>::iterator end = cleanLineFloats->end();
+ for (Vector<RenderBox*>::iterator o = cleanLineFloats->begin(); o != end; ++o) {
+ RenderBox* f = *o;
+ IntSize newSize(f->width() + f->marginLeft() +f->marginRight(), f->height() + f->marginTop() + f->marginBottom());
+ ASSERT(floatIndex < floats.size());
+ if (floats[floatIndex].object != f) {
+ // A new float has been inserted before this line or before its last known float.
+ // Just do a full layout.
+ fullLayout = true;
+ break;
+ }
+ if (floats[floatIndex].rect.size() != newSize) {
+ int floatTop = floats[floatIndex].rect.y();
+ curr->markDirty();
+ markLinesDirtyInVerticalRange(curr->blockHeight(), floatTop + max(floats[floatIndex].rect.height(), newSize.height()));
+ floats[floatIndex].rect.setSize(newSize);
+ dirtiedByFloat = true;
+ }
+ floatIndex++;
+ }
+ }
+ if (dirtiedByFloat || fullLayout)
+ break;
+ }
+ // Check if a new float has been inserted after the last known float.
+ if (!curr && floatIndex < floats.size())
+ fullLayout = true;
+ }
+
+ if (fullLayout) {
+ // Nuke all our lines.
+ if (firstRootBox()) {
+ RenderArena* arena = renderArena();
+ curr = firstRootBox();
+ while (curr) {
+ RootInlineBox* next = curr->nextRootBox();
+ curr->deleteLine(arena);
+ curr = next;
+ }
+ ASSERT(!firstLineBox() && !lastLineBox());
+ }
+ } else {
+ if (curr) {
+ // We have a dirty line.
+ if (RootInlineBox* prevRootBox = curr->prevRootBox()) {
+ // We have a previous line.
+ if (!dirtiedByFloat && (!prevRootBox->endsWithBreak() || (prevRootBox->lineBreakObj()->isText() && prevRootBox->lineBreakPos() >= toRenderText(prevRootBox->lineBreakObj())->textLength())))
+ // The previous line didn't break cleanly or broke at a newline
+ // that has been deleted, so treat it as dirty too.
+ curr = prevRootBox;
+ }
+ } else {
+ // No dirty lines were found.
+ // If the last line didn't break cleanly, treat it as dirty.
+ if (lastRootBox() && !lastRootBox()->endsWithBreak())
+ curr = lastRootBox();
+ }
+
+ // If we have no dirty lines, then last is just the last root box.
+ last = curr ? curr->prevRootBox() : lastRootBox();
+ }
+
+ numCleanFloats = 0;
+ if (!floats.isEmpty()) {
+ int savedHeight = height();
+ // Restore floats from clean lines.
+ RootInlineBox* line = firstRootBox();
+ while (line != curr) {
+ if (Vector<RenderBox*>* cleanLineFloats = line->floatsPtr()) {
+ Vector<RenderBox*>::iterator end = cleanLineFloats->end();
+ for (Vector<RenderBox*>::iterator f = cleanLineFloats->begin(); f != end; ++f) {
+ insertFloatingObject(*f);
+ setHeight((*f)->y() - (*f)->marginTop());
+ positionNewFloats();
+ ASSERT(floats[numCleanFloats].object == *f);
+ numCleanFloats++;
+ }
+ }
+ line = line->nextRootBox();
+ }
+ setHeight(savedHeight);
+ }
+
+ firstLine = !last;
+ previousLineBrokeCleanly = !last || last->endsWithBreak();
+
+ RenderObject* startObj;
+ int pos = 0;
+ if (last) {
+ setHeight(last->blockHeight());
+ startObj = last->lineBreakObj();
+ pos = last->lineBreakPos();
+ resolver.setStatus(last->lineBreakBidiStatus());
+ } else {
+ bool ltr = style()->direction() == LTR
+ #if ENABLE(SVG)
+ || (style()->unicodeBidi() == UBNormal && isSVGText())
+ #endif
+ ;
+
+ Direction direction = ltr ? LeftToRight : RightToLeft;
+ resolver.setLastStrongDir(direction);
+ resolver.setLastDir(direction);
+ resolver.setEorDir(direction);
+ resolver.setContext(BidiContext::create(ltr ? 0 : 1, direction, style()->unicodeBidi() == Override));
+
+ startObj = bidiFirst(this, &resolver);
+ }
+
+ resolver.setPosition(InlineIterator(this, startObj, pos));
+
+ return curr;
+}
+
+RootInlineBox* RenderBlock::determineEndPosition(RootInlineBox* startLine, InlineIterator& cleanLineStart, BidiStatus& cleanLineBidiStatus, int& yPos)
+{
+ RootInlineBox* last = 0;
+ if (!startLine)
+ last = 0;
+ else {
+ for (RootInlineBox* curr = startLine->nextRootBox(); curr; curr = curr->nextRootBox()) {
+ if (curr->isDirty())
+ last = 0;
+ else if (!last)
+ last = curr;
+ }
+ }
+
+ if (!last)
+ return 0;
+
+ RootInlineBox* prev = last->prevRootBox();
+ cleanLineStart = InlineIterator(this, prev->lineBreakObj(), prev->lineBreakPos());
+ cleanLineBidiStatus = prev->lineBreakBidiStatus();
+ yPos = prev->blockHeight();
+
+ for (RootInlineBox* line = last; line; line = line->nextRootBox())
+ line->extractLine(); // Disconnect all line boxes from their render objects while preserving
+ // their connections to one another.
+
+ return last;
+}
+
+bool RenderBlock::matchedEndLine(const InlineBidiResolver& resolver, const InlineIterator& endLineStart, const BidiStatus& endLineStatus, RootInlineBox*& endLine, int& endYPos, int& repaintBottom, int& repaintTop)
+{
+ if (resolver.position() == endLineStart) {
+ if (resolver.status() != endLineStatus)
+ return false;
+
+ int delta = height() - endYPos;
+ if (!delta || !m_floatingObjects)
+ return true;
+
+ // See if any floats end in the range along which we want to shift the lines vertically.
+ int top = min(height(), endYPos);
+
+ RootInlineBox* lastLine = endLine;
+ while (RootInlineBox* nextLine = lastLine->nextRootBox())
+ lastLine = nextLine;
+
+ int bottom = lastLine->blockHeight() + abs(delta);
+
+ for (FloatingObject* f = m_floatingObjects->first(); f; f = m_floatingObjects->next()) {
+ if (f->m_bottom >= top && f->m_bottom < bottom)
+ return false;
+ }
+
+ return true;
+ }
+
+ // The first clean line doesn't match, but we can check a handful of following lines to try
+ // to match back up.
+ static int numLines = 8; // The # of lines we're willing to match against.
+ RootInlineBox* line = endLine;
+ for (int i = 0; i < numLines && line; i++, line = line->nextRootBox()) {
+ if (line->lineBreakObj() == resolver.position().obj && line->lineBreakPos() == resolver.position().pos) {
+ // We have a match.
+ if (line->lineBreakBidiStatus() != resolver.status())
+ return false; // ...but the bidi state doesn't match.
+ RootInlineBox* result = line->nextRootBox();
+
+ // Set our yPos to be the block height of endLine.
+ if (result)
+ endYPos = line->blockHeight();
+
+ int delta = height() - endYPos;
+ if (delta && m_floatingObjects) {
+ // See if any floats end in the range along which we want to shift the lines vertically.
+ int top = min(height(), endYPos);
+
+ RootInlineBox* lastLine = endLine;
+ while (RootInlineBox* nextLine = lastLine->nextRootBox())
+ lastLine = nextLine;
+
+ int bottom = lastLine->blockHeight() + abs(delta);
+
+ for (FloatingObject* f = m_floatingObjects->first(); f; f = m_floatingObjects->next()) {
+ if (f->m_bottom >= top && f->m_bottom < bottom)
+ return false;
+ }
+ }
+
+ // Now delete the lines that we failed to sync.
+ RootInlineBox* boxToDelete = endLine;
+ RenderArena* arena = renderArena();
+ while (boxToDelete && boxToDelete != result) {
+ repaintTop = min(repaintTop, boxToDelete->topOverflow());
+ repaintBottom = max(repaintBottom, boxToDelete->bottomOverflow());
+ RootInlineBox* next = boxToDelete->nextRootBox();
+ boxToDelete->deleteLine(arena);
+ boxToDelete = next;
+ }
+
+ endLine = result;
+ return result;
+ }
+ }
+
+ return false;
+}
+
+static inline bool skipNonBreakingSpace(const InlineIterator& it, bool isLineEmpty, bool previousLineBrokeCleanly)
+{
+ if (it.obj->style()->nbspMode() != SPACE || it.current() != noBreakSpace)
+ return false;
+
+ // FIXME: This is bad. It makes nbsp inconsistent with space and won't work correctly
+ // with m_minWidth/m_maxWidth.
+ // Do not skip a non-breaking space if it is the first character
+ // on a line after a clean line break (or on the first line, since previousLineBrokeCleanly starts off
+ // |true|).
+ if (isLineEmpty && previousLineBrokeCleanly)
+ return false;
+
+ return true;
+}
+
+static inline bool shouldCollapseWhiteSpace(const RenderStyle* style, bool isLineEmpty, bool previousLineBrokeCleanly)
+{
+ return style->collapseWhiteSpace() || (style->whiteSpace() == PRE_WRAP && (!isLineEmpty || !previousLineBrokeCleanly));
+}
+
+static inline bool shouldPreserveNewline(RenderObject* object)
+{
+#if ENABLE(SVG)
+ if (object->isSVGText())
+ return false;
+#endif
+
+ return object->style()->preserveNewline();
+}
+
+static bool inlineFlowRequiresLineBox(RenderInline* flow)
+{
+ // FIXME: Right now, we only allow line boxes for inlines that are truly empty.
+ // We need to fix this, though, because at the very least, inlines containing only
+ // ignorable whitespace should should also have line boxes.
+ return !flow->firstChild() && flow->hasHorizontalBordersPaddingOrMargin();
+}
+
+static inline bool requiresLineBox(const InlineIterator& it, bool isLineEmpty, bool previousLineBrokeCleanly)
+{
+ if (it.obj->isFloatingOrPositioned())
+ return false;
+
+ if (it.obj->isRenderInline() && !inlineFlowRequiresLineBox(toRenderInline(it.obj)))
+ return false;
+
+ if (!shouldCollapseWhiteSpace(it.obj->style(), isLineEmpty, previousLineBrokeCleanly) || it.obj->isBR())
+ return true;
+
+ UChar current = it.current();
+ return current != ' ' && current != '\t' && current != softHyphen && (current != '\n' || shouldPreserveNewline(it.obj))
+ && !skipNonBreakingSpace(it, isLineEmpty, previousLineBrokeCleanly);
+}
+
+bool RenderBlock::generatesLineBoxesForInlineChild(RenderObject* inlineObj, bool isLineEmpty, bool previousLineBrokeCleanly)
+{
+ ASSERT(inlineObj->parent() == this);
+
+ InlineIterator it(this, inlineObj, 0);
+ while (!it.atEnd() && !requiresLineBox(it, isLineEmpty, previousLineBrokeCleanly))
+ it.increment();
+
+ return !it.atEnd();
+}
+
+// FIXME: The entire concept of the skipTrailingWhitespace function is flawed, since we really need to be building
+// line boxes even for containers that may ultimately collapse away. Otherwise we'll never get positioned
+// elements quite right. In other words, we need to build this function's work into the normal line
+// object iteration process.
+// NB. this function will insert any floating elements that would otherwise
+// be skipped but it will not position them.
+void RenderBlock::skipTrailingWhitespace(InlineIterator& iterator, bool isLineEmpty, bool previousLineBrokeCleanly)
+{
+ while (!iterator.atEnd() && !requiresLineBox(iterator, isLineEmpty, previousLineBrokeCleanly)) {
+ RenderObject* object = iterator.obj;
+ if (object->isFloating()) {
+ insertFloatingObject(toRenderBox(object));
+ } else if (object->isPositioned()) {
+ // FIXME: The math here is actually not really right. It's a best-guess approximation that
+ // will work for the common cases
+ RenderObject* c = object->container();
+ if (c->isRenderInline()) {
+ // A relative positioned inline encloses us. In this case, we also have to determine our
+ // position as though we were an inline. Set |staticX| and |staticY| on the relative positioned
+ // inline so that we can obtain the value later.
+ toRenderInline(c)->layer()->setStaticX(style()->direction() == LTR ? leftOffset(height(), false) : rightOffset(height(), false));
+ toRenderInline(c)->layer()->setStaticY(height());
+ }
+
+ RenderBox* box = toRenderBox(object);
+ if (box->style()->hasStaticX()) {
+ if (box->style()->isOriginalDisplayInlineType())
+ box->layer()->setStaticX(style()->direction() == LTR ? leftOffset(height(), false) : width() - rightOffset(height(), false));
+ else
+ box->layer()->setStaticX(style()->direction() == LTR ? borderLeft() + paddingLeft() : borderRight() + paddingRight());
+ }
+
+ if (box->style()->hasStaticY())
+ box->layer()->setStaticY(height());
+ }
+ iterator.increment();
+ }
+}
+
+int RenderBlock::skipLeadingWhitespace(InlineBidiResolver& resolver, bool firstLine, bool isLineEmpty, bool previousLineBrokeCleanly)
+{
+ int availableWidth = lineWidth(height(), firstLine);
+ while (!resolver.position().atEnd() && !requiresLineBox(resolver.position(), isLineEmpty, previousLineBrokeCleanly)) {
+ RenderObject* object = resolver.position().obj;
+ if (object->isFloating()) {
+ insertFloatingObject(toRenderBox(object));
+ positionNewFloats();
+ availableWidth = lineWidth(height(), firstLine);
+ } else if (object->isPositioned()) {
+ // FIXME: The math here is actually not really right. It's a best-guess approximation that
+ // will work for the common cases
+ RenderObject* c = object->container();
+ if (c->isRenderInline()) {
+ // A relative positioned inline encloses us. In this case, we also have to determine our
+ // position as though we were an inline. Set |staticX| and |staticY| on the relative positioned
+ // inline so that we can obtain the value later.
+ toRenderInline(c)->layer()->setStaticX(style()->direction() == LTR ? leftOffset(height(), firstLine) : rightOffset(height(), firstLine));
+ toRenderInline(c)->layer()->setStaticY(height());
+ }
+
+ RenderBox* box = toRenderBox(object);
+ if (box->style()->hasStaticX()) {
+ if (box->style()->isOriginalDisplayInlineType())
+ box->layer()->setStaticX(style()->direction() == LTR ? leftOffset(height(), firstLine) : width() - rightOffset(height(), firstLine));
+ else
+ box->layer()->setStaticX(style()->direction() == LTR ? borderLeft() + paddingLeft() : borderRight() + paddingRight());
+ }
+
+ if (box->style()->hasStaticY())
+ box->layer()->setStaticY(height());
+ }
+ resolver.increment();
+ }
+ resolver.commitExplicitEmbedding();
+ return availableWidth;
+}
+
+// This is currently just used for list markers and inline flows that have line boxes. Neither should
+// have an effect on whitespace at the start of the line.
+static bool shouldSkipWhitespaceAfterStartObject(RenderBlock* block, RenderObject* o, LineMidpointState& lineMidpointState)
+{
+ RenderObject* next = bidiNext(block, o);
+ if (next && !next->isBR() && next->isText() && toRenderText(next)->textLength() > 0) {
+ RenderText* nextText = toRenderText(next);
+ UChar nextChar = nextText->characters()[0];
+ if (nextText->style()->isCollapsibleWhiteSpace(nextChar)) {
+ addMidpoint(lineMidpointState, InlineIterator(0, o, 0));
+ return true;
+ }
+ }
+
+ return false;
+}
+
+void RenderBlock::fitBelowFloats(int widthToFit, bool firstLine, int& availableWidth)
+{
+ ASSERT(widthToFit > availableWidth);
+
+ int floatBottom;
+ int lastFloatBottom = height();
+ int newLineWidth = availableWidth;
+ while (true) {
+ floatBottom = nextFloatBottomBelow(lastFloatBottom);
+ if (!floatBottom)
+ break;
+
+ newLineWidth = lineWidth(floatBottom, firstLine);
+ lastFloatBottom = floatBottom;
+ if (newLineWidth >= widthToFit)
+ break;
+ }
+
+ if (newLineWidth > availableWidth) {
+ setHeight(lastFloatBottom);
+ availableWidth = newLineWidth;
+ }
+}
+
+static inline unsigned textWidth(RenderText* text, unsigned from, unsigned len, const Font& font, int xPos, bool isFixedPitch, bool collapseWhiteSpace)
+{
+ if (isFixedPitch || (!from && len == text->textLength()))
+ return text->width(from, len, font, xPos);
+ return font.width(TextRun(text->characters() + from, len, !collapseWhiteSpace, xPos));
+}
+
+InlineIterator RenderBlock::findNextLineBreak(InlineBidiResolver& resolver, bool firstLine, bool& isLineEmpty, bool& previousLineBrokeCleanly,
+ EClear* clear)
+{
+ ASSERT(resolver.position().block == this);
+
+ bool appliedStartWidth = resolver.position().pos > 0;
+ LineMidpointState& lineMidpointState = resolver.midpointState();
+
+ int width = skipLeadingWhitespace(resolver, firstLine, isLineEmpty, previousLineBrokeCleanly);
+
+ int w = 0;
+ int tmpW = 0;
+
+ if (resolver.position().atEnd())
+ return resolver.position();
+
+ // This variable is used only if whitespace isn't set to PRE, and it tells us whether
+ // or not we are currently ignoring whitespace.
+ bool ignoringSpaces = false;
+ InlineIterator ignoreStart;
+
+ // This variable tracks whether the very last character we saw was a space. We use
+ // this to detect when we encounter a second space so we know we have to terminate
+ // a run.
+ bool currentCharacterIsSpace = false;
+ bool currentCharacterIsWS = false;
+ RenderObject* trailingSpaceObject = 0;
+
+ InlineIterator lBreak = resolver.position();
+
+ RenderObject *o = resolver.position().obj;
+ RenderObject *last = o;
+ unsigned pos = resolver.position().pos;
+ int nextBreakable = resolver.position().nextBreakablePosition;
+ bool atStart = true;
+
+ bool prevLineBrokeCleanly = previousLineBrokeCleanly;
+ previousLineBrokeCleanly = false;
+
+ bool autoWrapWasEverTrueOnLine = false;
+ bool floatsFitOnLine = true;
+
+ // Firefox and Opera will allow a table cell to grow to fit an image inside it under
+ // very specific circumstances (in order to match common WinIE renderings).
+ // Not supporting the quirk has caused us to mis-render some real sites. (See Bugzilla 10517.)
+ bool allowImagesToBreak = !style()->htmlHacks() || !isTableCell() || !style()->width().isIntrinsicOrAuto();
+
+ EWhiteSpace currWS = style()->whiteSpace();
+ EWhiteSpace lastWS = currWS;
+ while (o) {
+ currWS = o->isReplaced() ? o->parent()->style()->whiteSpace() : o->style()->whiteSpace();
+ lastWS = last->isReplaced() ? last->parent()->style()->whiteSpace() : last->style()->whiteSpace();
+
+ bool autoWrap = RenderStyle::autoWrap(currWS);
+ autoWrapWasEverTrueOnLine = autoWrapWasEverTrueOnLine || autoWrap;
+
+#if ENABLE(SVG)
+ bool preserveNewline = o->isSVGText() ? false : RenderStyle::preserveNewline(currWS);
+#else
+ bool preserveNewline = RenderStyle::preserveNewline(currWS);
+#endif
+
+ bool collapseWhiteSpace = RenderStyle::collapseWhiteSpace(currWS);
+
+ if (o->isBR()) {
+ if (w + tmpW <= width) {
+ lBreak.obj = o;
+ lBreak.pos = 0;
+ lBreak.nextBreakablePosition = -1;
+ lBreak.increment();
+
+ // A <br> always breaks a line, so don't let the line be collapsed
+ // away. Also, the space at the end of a line with a <br> does not
+ // get collapsed away. It only does this if the previous line broke
+ // cleanly. Otherwise the <br> has no effect on whether the line is
+ // empty or not.
+ if (prevLineBrokeCleanly)
+ isLineEmpty = false;
+ trailingSpaceObject = 0;
+ previousLineBrokeCleanly = true;
+
+ if (!isLineEmpty && clear)
+ *clear = o->style()->clear();
+ }
+ goto end;
+ }
+
+ if (o->isFloatingOrPositioned()) {
+ // add to special objects...
+ if (o->isFloating()) {
+ RenderBox* floatBox = toRenderBox(o);
+ insertFloatingObject(floatBox);
+ // check if it fits in the current line.
+ // If it does, position it now, otherwise, position
+ // it after moving to next line (in newLine() func)
+ if (floatsFitOnLine && floatBox->width() + floatBox->marginLeft() + floatBox->marginRight() + w + tmpW <= width) {
+ positionNewFloats();
+ width = lineWidth(height(), firstLine);
+ } else
+ floatsFitOnLine = false;
+ } else if (o->isPositioned()) {
+ // If our original display wasn't an inline type, then we can
+ // go ahead and determine our static x position now.
+ RenderBox* box = toRenderBox(o);
+ bool isInlineType = box->style()->isOriginalDisplayInlineType();
+ bool needToSetStaticX = box->style()->hasStaticX();
+ if (box->style()->hasStaticX() && !isInlineType) {
+ box->layer()->setStaticX(o->parent()->style()->direction() == LTR ?
+ borderLeft() + paddingLeft() :
+ borderRight() + paddingRight());
+ needToSetStaticX = false;
+ }
+
+ // If our original display was an INLINE type, then we can go ahead
+ // and determine our static y position now.
+ bool needToSetStaticY = box->style()->hasStaticY();
+ if (box->style()->hasStaticY() && isInlineType) {
+ box->layer()->setStaticY(height());
+ needToSetStaticY = false;
+ }
+
+ bool needToCreateLineBox = needToSetStaticX || needToSetStaticY;
+ RenderObject* c = o->container();
+ if (c->isRenderInline() && (!needToSetStaticX || !needToSetStaticY))
+ needToCreateLineBox = true;
+
+ // If we're ignoring spaces, we have to stop and include this object and
+ // then start ignoring spaces again.
+ if (needToCreateLineBox) {
+ trailingSpaceObject = 0;
+ ignoreStart.obj = o;
+ ignoreStart.pos = 0;
+ if (ignoringSpaces) {
+ addMidpoint(lineMidpointState, ignoreStart); // Stop ignoring spaces.
+ addMidpoint(lineMidpointState, ignoreStart); // Start ignoring again.
+ }
+
+ }
+ }
+ } else if (o->isRenderInline()) {
+ // Right now, we should only encounter empty inlines here.
+ ASSERT(!o->firstChild());
+
+ RenderInline* flowBox = toRenderInline(o);
+
+ // Now that some inline flows have line boxes, if we are already ignoring spaces, we need
+ // to make sure that we stop to include this object and then start ignoring spaces again.
+ // If this object is at the start of the line, we need to behave like list markers and
+ // start ignoring spaces.
+ if (inlineFlowRequiresLineBox(flowBox)) {
+ isLineEmpty = false;
+ if (ignoringSpaces) {
+ trailingSpaceObject = 0;
+ addMidpoint(lineMidpointState, InlineIterator(0, o, 0)); // Stop ignoring spaces.
+ addMidpoint(lineMidpointState, InlineIterator(0, o, 0)); // Start ignoring again.
+ } else if (style()->collapseWhiteSpace() && resolver.position().obj == o
+ && shouldSkipWhitespaceAfterStartObject(this, o, lineMidpointState)) {
+ // Like with list markers, we start ignoring spaces to make sure that any
+ // additional spaces we see will be discarded.
+ currentCharacterIsSpace = true;
+ currentCharacterIsWS = true;
+ ignoringSpaces = true;
+ }
+ }
+
+ tmpW += flowBox->marginLeft() + flowBox->borderLeft() + flowBox->paddingLeft() +
+ flowBox->marginRight() + flowBox->borderRight() + flowBox->paddingRight();
+ } else if (o->isReplaced()) {
+ RenderBox* replacedBox = toRenderBox(o);
+
+ // Break on replaced elements if either has normal white-space.
+ if ((autoWrap || RenderStyle::autoWrap(lastWS)) && (!o->isImage() || allowImagesToBreak)) {
+ w += tmpW;
+ tmpW = 0;
+ lBreak.obj = o;
+ lBreak.pos = 0;
+ lBreak.nextBreakablePosition = -1;
+ }
+
+ if (ignoringSpaces)
+ addMidpoint(lineMidpointState, InlineIterator(0, o, 0));
+
+ isLineEmpty = false;
+ ignoringSpaces = false;
+ currentCharacterIsSpace = false;
+ currentCharacterIsWS = false;
+ trailingSpaceObject = 0;
+
+ // Optimize for a common case. If we can't find whitespace after the list
+ // item, then this is all moot. -dwh
+ if (o->isListMarker() && !static_cast<RenderListMarker*>(o)->isInside()) {
+ if (style()->collapseWhiteSpace() && shouldSkipWhitespaceAfterStartObject(this, o, lineMidpointState)) {
+ // Like with inline flows, we start ignoring spaces to make sure that any
+ // additional spaces we see will be discarded.
+ currentCharacterIsSpace = true;
+ currentCharacterIsWS = true;
+ ignoringSpaces = true;
+ }
+ } else
+ tmpW += replacedBox->width() + replacedBox->marginLeft() + replacedBox->marginRight() + inlineWidth(o);
+ } else if (o->isText()) {
+ if (!pos)
+ appliedStartWidth = false;
+
+ RenderText* t = toRenderText(o);
+
+ int strlen = t->textLength();
+ int len = strlen - pos;
+ const UChar* str = t->characters();
+
+ const Font& f = t->style(firstLine)->font();
+ bool isFixedPitch = f.isFixedPitch();
+
+ int lastSpace = pos;
+ int wordSpacing = o->style()->wordSpacing();
+ int lastSpaceWordSpacing = 0;
+
+ int wrapW = tmpW + inlineWidth(o, !appliedStartWidth, true);
+ int charWidth = 0;
+ bool breakNBSP = autoWrap && o->style()->nbspMode() == SPACE;
+ // Auto-wrapping text should wrap in the middle of a word only if it could not wrap before the word,
+ // which is only possible if the word is the first thing on the line, that is, if |w| is zero.
+ bool breakWords = o->style()->breakWords() && ((autoWrap && !w) || currWS == PRE);
+ bool midWordBreak = false;
+ bool breakAll = o->style()->wordBreak() == BreakAllWordBreak && autoWrap;
+
+ if (t->isWordBreak()) {
+ w += tmpW;
+ tmpW = 0;
+ lBreak.obj = o;
+ lBreak.pos = 0;
+ lBreak.nextBreakablePosition = -1;
+ ASSERT(!len);
+ }
+
+ while (len) {
+ bool previousCharacterIsSpace = currentCharacterIsSpace;
+ bool previousCharacterIsWS = currentCharacterIsWS;
+ UChar c = str[pos];
+ currentCharacterIsSpace = c == ' ' || c == '\t' || (!preserveNewline && (c == '\n'));
+
+ if (!collapseWhiteSpace || !currentCharacterIsSpace)
+ isLineEmpty = false;
+
+ // Check for soft hyphens. Go ahead and ignore them.
+ if (c == softHyphen) {
+ if (!ignoringSpaces) {
+ // Ignore soft hyphens
+ InlineIterator beforeSoftHyphen;
+ if (pos)
+ beforeSoftHyphen = InlineIterator(0, o, pos - 1);
+ else
+ beforeSoftHyphen = InlineIterator(0, last, last->isText() ? toRenderText(last)->textLength() - 1 : 0);
+ // Two consecutive soft hyphens. Avoid overlapping midpoints.
+ if (lineMidpointState.numMidpoints && lineMidpointState.midpoints[lineMidpointState.numMidpoints - 1].obj == o &&
+ lineMidpointState.midpoints[lineMidpointState.numMidpoints - 1].pos == pos)
+ lineMidpointState.numMidpoints--;
+ else
+ addMidpoint(lineMidpointState, beforeSoftHyphen);
+
+ // Add the width up to but not including the hyphen.
+ tmpW += textWidth(t, lastSpace, pos - lastSpace, f, w + tmpW, isFixedPitch, collapseWhiteSpace) + lastSpaceWordSpacing;
+
+ // For wrapping text only, include the hyphen. We need to ensure it will fit
+ // on the line if it shows when we break.
+ if (autoWrap)
+ tmpW += textWidth(t, pos, 1, f, w + tmpW, isFixedPitch, collapseWhiteSpace);
+
+ InlineIterator afterSoftHyphen(0, o, pos);
+ afterSoftHyphen.increment();
+ addMidpoint(lineMidpointState, afterSoftHyphen);
+ }
+
+ pos++;
+ len--;
+ lastSpaceWordSpacing = 0;
+ lastSpace = pos; // Cheesy hack to prevent adding in widths of the run twice.
+ continue;
+ }
+
+ bool applyWordSpacing = false;
+
+ currentCharacterIsWS = currentCharacterIsSpace || (breakNBSP && c == noBreakSpace);
+
+ if ((breakAll || breakWords) && !midWordBreak) {
+ wrapW += charWidth;
+ charWidth = textWidth(t, pos, 1, f, w + wrapW, isFixedPitch, collapseWhiteSpace);
+ midWordBreak = w + wrapW + charWidth > width;
+ }
+
+ bool betweenWords = c == '\n' || (currWS != PRE && !atStart && isBreakable(str, pos, strlen, nextBreakable, breakNBSP));
+
+ if (betweenWords || midWordBreak) {
+ bool stoppedIgnoringSpaces = false;
+ if (ignoringSpaces) {
+ if (!currentCharacterIsSpace) {
+ // Stop ignoring spaces and begin at this
+ // new point.
+ ignoringSpaces = false;
+ lastSpaceWordSpacing = 0;
+ lastSpace = pos; // e.g., "Foo goo", don't add in any of the ignored spaces.
+ addMidpoint(lineMidpointState, InlineIterator(0, o, pos));
+ stoppedIgnoringSpaces = true;
+ } else {
+ // Just keep ignoring these spaces.
+ pos++;
+ len--;
+ continue;
+ }
+ }
+
+ int additionalTmpW = textWidth(t, lastSpace, pos - lastSpace, f, w + tmpW, isFixedPitch, collapseWhiteSpace) + lastSpaceWordSpacing;
+ tmpW += additionalTmpW;
+ if (!appliedStartWidth) {
+ tmpW += inlineWidth(o, true, false);
+ appliedStartWidth = true;
+ }
+
+ applyWordSpacing = wordSpacing && currentCharacterIsSpace && !previousCharacterIsSpace;
+
+ if (!w && autoWrap && tmpW > width)
+ fitBelowFloats(tmpW, firstLine, width);
+
+ if (autoWrap || breakWords) {
+ // If we break only after white-space, consider the current character
+ // as candidate width for this line.
+ bool lineWasTooWide = false;
+ if (w + tmpW <= width && currentCharacterIsWS && o->style()->breakOnlyAfterWhiteSpace() && !midWordBreak) {
+ int charWidth = textWidth(t, pos, 1, f, w + tmpW, isFixedPitch, collapseWhiteSpace) + (applyWordSpacing ? wordSpacing : 0);
+ // Check if line is too big even without the extra space
+ // at the end of the line. If it is not, do nothing.
+ // If the line needs the extra whitespace to be too long,
+ // then move the line break to the space and skip all
+ // additional whitespace.
+ if (w + tmpW + charWidth > width) {
+ lineWasTooWide = true;
+ lBreak.obj = o;
+ lBreak.pos = pos;
+ lBreak.nextBreakablePosition = nextBreakable;
+ skipTrailingWhitespace(lBreak, isLineEmpty, previousLineBrokeCleanly);
+ }
+ }
+ if (lineWasTooWide || w + tmpW > width) {
+ if (lBreak.obj && shouldPreserveNewline(lBreak.obj) && lBreak.obj->isText() && !toRenderText(lBreak.obj)->isWordBreak() && toRenderText(lBreak.obj)->characters()[lBreak.pos] == '\n') {
+ if (!stoppedIgnoringSpaces && pos > 0) {
+ // We need to stop right before the newline and then start up again.
+ addMidpoint(lineMidpointState, InlineIterator(0, o, pos - 1)); // Stop
+ addMidpoint(lineMidpointState, InlineIterator(0, o, pos)); // Start
+ }
+ lBreak.increment();
+ previousLineBrokeCleanly = true;
+ }
+ goto end; // Didn't fit. Jump to the end.
+ } else {
+ if (!betweenWords || (midWordBreak && !autoWrap))
+ tmpW -= additionalTmpW;
+ if (pos > 0 && str[pos-1] == softHyphen)
+ // Subtract the width of the soft hyphen out since we fit on a line.
+ tmpW -= textWidth(t, pos - 1, 1, f, w + tmpW, isFixedPitch, collapseWhiteSpace);
+ }
+ }
+
+ if (c == '\n' && preserveNewline) {
+ if (!stoppedIgnoringSpaces && pos > 0) {
+ // We need to stop right before the newline and then start up again.
+ addMidpoint(lineMidpointState, InlineIterator(0, o, pos - 1)); // Stop
+ addMidpoint(lineMidpointState, InlineIterator(0, o, pos)); // Start
+ }
+ lBreak.obj = o;
+ lBreak.pos = pos;
+ lBreak.nextBreakablePosition = nextBreakable;
+ lBreak.increment();
+ previousLineBrokeCleanly = true;
+ return lBreak;
+ }
+
+ if (autoWrap && betweenWords) {
+ w += tmpW;
+ wrapW = 0;
+ tmpW = 0;
+ lBreak.obj = o;
+ lBreak.pos = pos;
+ lBreak.nextBreakablePosition = nextBreakable;
+ // Auto-wrapping text should not wrap in the middle of a word once it has had an
+ // opportunity to break after a word.
+ breakWords = false;
+ }
+
+ if (midWordBreak) {
+ // Remember this as a breakable position in case
+ // adding the end width forces a break.
+ lBreak.obj = o;
+ lBreak.pos = pos;
+ lBreak.nextBreakablePosition = nextBreakable;
+ midWordBreak &= (breakWords || breakAll);
+ }
+
+ if (betweenWords) {
+ lastSpaceWordSpacing = applyWordSpacing ? wordSpacing : 0;
+ lastSpace = pos;
+ }
+
+ if (!ignoringSpaces && o->style()->collapseWhiteSpace()) {
+ // If we encounter a newline, or if we encounter a
+ // second space, we need to go ahead and break up this
+ // run and enter a mode where we start collapsing spaces.
+ if (currentCharacterIsSpace && previousCharacterIsSpace) {
+ ignoringSpaces = true;
+
+ // We just entered a mode where we are ignoring
+ // spaces. Create a midpoint to terminate the run
+ // before the second space.
+ addMidpoint(lineMidpointState, ignoreStart);
+ }
+ }
+ } else if (ignoringSpaces) {
+ // Stop ignoring spaces and begin at this
+ // new point.
+ ignoringSpaces = false;
+ lastSpaceWordSpacing = applyWordSpacing ? wordSpacing : 0;
+ lastSpace = pos; // e.g., "Foo goo", don't add in any of the ignored spaces.
+ addMidpoint(lineMidpointState, InlineIterator(0, o, pos));
+ }
+
+ if (currentCharacterIsSpace && !previousCharacterIsSpace) {
+ ignoreStart.obj = o;
+ ignoreStart.pos = pos;
+ }
+
+ if (!currentCharacterIsWS && previousCharacterIsWS) {
+ if (autoWrap && o->style()->breakOnlyAfterWhiteSpace()) {
+ lBreak.obj = o;
+ lBreak.pos = pos;
+ lBreak.nextBreakablePosition = nextBreakable;
+ }
+ }
+
+ if (collapseWhiteSpace && currentCharacterIsSpace && !ignoringSpaces)
+ trailingSpaceObject = o;
+ else if (!o->style()->collapseWhiteSpace() || !currentCharacterIsSpace)
+ trailingSpaceObject = 0;
+
+ pos++;
+ len--;
+ atStart = false;
+ }
+
+ // IMPORTANT: pos is > length here!
+ if (!ignoringSpaces)
+ tmpW += textWidth(t, lastSpace, pos - lastSpace, f, w + tmpW, isFixedPitch, collapseWhiteSpace) + lastSpaceWordSpacing;
+ tmpW += inlineWidth(o, !appliedStartWidth, true);
+ } else
+ ASSERT_NOT_REACHED();
+
+ RenderObject* next = bidiNext(this, o);
+ bool checkForBreak = autoWrap;
+ if (w && w + tmpW > width && lBreak.obj && currWS == NOWRAP)
+ checkForBreak = true;
+ else if (next && o->isText() && next->isText() && !next->isBR()) {
+ if (autoWrap || (next->style()->autoWrap())) {
+ if (currentCharacterIsSpace)
+ checkForBreak = true;
+ else {
+ checkForBreak = false;
+ RenderText* nextText = toRenderText(next);
+ if (nextText->textLength()) {
+ UChar c = nextText->characters()[0];
+ if (c == ' ' || c == '\t' || (c == '\n' && !shouldPreserveNewline(next)))
+ // If the next item on the line is text, and if we did not end with
+ // a space, then the next text run continues our word (and so it needs to
+ // keep adding to |tmpW|. Just update and continue.
+ checkForBreak = true;
+ } else if (nextText->isWordBreak())
+ checkForBreak = true;
+ bool willFitOnLine = w + tmpW <= width;
+ if (!willFitOnLine && !w) {
+ fitBelowFloats(tmpW, firstLine, width);
+ willFitOnLine = tmpW <= width;
+ }
+ bool canPlaceOnLine = willFitOnLine || !autoWrapWasEverTrueOnLine;
+ if (canPlaceOnLine && checkForBreak) {
+ w += tmpW;
+ tmpW = 0;
+ lBreak.obj = next;
+ lBreak.pos = 0;
+ lBreak.nextBreakablePosition = -1;
+ }
+ }
+ }
+ }
+
+ if (checkForBreak && (w + tmpW > width)) {
+ // if we have floats, try to get below them.
+ if (currentCharacterIsSpace && !ignoringSpaces && o->style()->collapseWhiteSpace())
+ trailingSpaceObject = 0;
+
+ if (w)
+ goto end;
+
+ fitBelowFloats(tmpW, firstLine, width);
+
+ // |width| may have been adjusted because we got shoved down past a float (thus
+ // giving us more room), so we need to retest, and only jump to
+ // the end label if we still don't fit on the line. -dwh
+ if (w + tmpW > width)
+ goto end;
+ }
+
+ if (!o->isFloatingOrPositioned()) {
+ last = o;
+ if (last->isReplaced() && autoWrap && (!last->isImage() || allowImagesToBreak) && (!last->isListMarker() || static_cast<RenderListMarker*>(last)->isInside())) {
+ w += tmpW;
+ tmpW = 0;
+ lBreak.obj = next;
+ lBreak.pos = 0;
+ lBreak.nextBreakablePosition = -1;
+ }
+ }
+
+ o = next;
+ nextBreakable = -1;
+
+ // Clear out our character space bool, since inline <pre>s don't collapse whitespace
+ // with adjacent inline normal/nowrap spans.
+ if (!collapseWhiteSpace)
+ currentCharacterIsSpace = false;
+
+ pos = 0;
+ atStart = false;
+ }
+
+
+ if (w + tmpW <= width || lastWS == NOWRAP) {
+ lBreak.obj = 0;
+ lBreak.pos = 0;
+ lBreak.nextBreakablePosition = -1;
+ }
+
+ end:
+ if (lBreak == resolver.position() && (!lBreak.obj || !lBreak.obj->isBR())) {
+ // we just add as much as possible
+ if (style()->whiteSpace() == PRE) {
+ // FIXME: Don't really understand this case.
+ if (pos != 0) {
+ lBreak.obj = o;
+ lBreak.pos = pos - 1;
+ } else {
+ lBreak.obj = last;
+ lBreak.pos = last->isText() ? last->length() : 0;
+ lBreak.nextBreakablePosition = -1;
+ }
+ } else if (lBreak.obj) {
+ if (last != o && !last->isListMarker()) {
+ // better to break between object boundaries than in the middle of a word (except for list markers)
+ lBreak.obj = o;
+ lBreak.pos = 0;
+ lBreak.nextBreakablePosition = -1;
+ } else {
+ // Don't ever break in the middle of a word if we can help it.
+ // There's no room at all. We just have to be on this line,
+ // even though we'll spill out.
+ lBreak.obj = o;
+ lBreak.pos = pos;
+ lBreak.nextBreakablePosition = -1;
+ }
+ }
+ }
+
+ // make sure we consume at least one char/object.
+ if (lBreak == resolver.position())
+ lBreak.increment();
+
+ // Sanity check our midpoints.
+ checkMidpoints(lineMidpointState, lBreak);
+
+ if (trailingSpaceObject) {
+ // This object is either going to be part of the last midpoint, or it is going
+ // to be the actual endpoint. In both cases we just decrease our pos by 1 level to
+ // exclude the space, allowing it to - in effect - collapse into the newline.
+ if (lineMidpointState.numMidpoints % 2) {
+ InlineIterator* midpoints = lineMidpointState.midpoints.data();
+ midpoints[lineMidpointState.numMidpoints - 1].pos--;
+ }
+ //else if (lBreak.pos > 0)
+ // lBreak.pos--;
+ else if (lBreak.obj == 0 && trailingSpaceObject->isText()) {
+ // Add a new end midpoint that stops right at the very end.
+ RenderText* text = toRenderText(trailingSpaceObject);
+ unsigned length = text->textLength();
+ unsigned pos = length >= 2 ? length - 2 : UINT_MAX;
+ InlineIterator endMid(0, trailingSpaceObject, pos);
+ addMidpoint(lineMidpointState, endMid);
+ }
+ }
+
+ // We might have made lBreak an iterator that points past the end
+ // of the object. Do this adjustment to make it point to the start
+ // of the next object instead to avoid confusing the rest of the
+ // code.
+ if (lBreak.pos > 0) {
+ lBreak.pos--;
+ lBreak.increment();
+ }
+
+ if (lBreak.obj && lBreak.pos >= 2 && lBreak.obj->isText()) {
+ // For soft hyphens on line breaks, we have to chop out the midpoints that made us
+ // ignore the hyphen so that it will render at the end of the line.
+ UChar c = toRenderText(lBreak.obj)->characters()[lBreak.pos - 1];
+ if (c == softHyphen)
+ chopMidpointsAt(lineMidpointState, lBreak.obj, lBreak.pos - 2);
+ }
+
+ return lBreak;
+}
+
+void RenderBlock::checkLinesForOverflow()
+{
+ m_overflowWidth = width();
+ for (RootInlineBox* curr = firstRootBox(); curr; curr = curr->nextRootBox()) {
+ m_overflowLeft = min(curr->leftOverflow(), m_overflowLeft);
+ m_overflowTop = min(curr->topOverflow(), m_overflowTop);
+ m_overflowWidth = max(curr->rightOverflow(), m_overflowWidth);
+ m_overflowHeight = max(curr->bottomOverflow(), m_overflowHeight);
+ }
+}
+
+void RenderBlock::deleteEllipsisLineBoxes()
+{
+ for (RootInlineBox* curr = firstRootBox(); curr; curr = curr->nextRootBox())
+ curr->clearTruncation();
+}
+
+void RenderBlock::checkLinesForTextOverflow()
+{
+ // Determine the width of the ellipsis using the current font.
+ // FIXME: CSS3 says this is configurable, also need to use 0x002E (FULL STOP) if horizontal ellipsis is "not renderable"
+ TextRun ellipsisRun(&horizontalEllipsis, 1);
+ DEFINE_STATIC_LOCAL(AtomicString, ellipsisStr, (&horizontalEllipsis, 1));
+ const Font& firstLineFont = firstLineStyle()->font();
+ const Font& font = style()->font();
+ int firstLineEllipsisWidth = firstLineFont.width(ellipsisRun);
+ int ellipsisWidth = (font == firstLineFont) ? firstLineEllipsisWidth : font.width(ellipsisRun);
+
+ // For LTR text truncation, we want to get the right edge of our padding box, and then we want to see
+ // if the right edge of a line box exceeds that. For RTL, we use the left edge of the padding box and
+ // check the left edge of the line box to see if it is less
+ // Include the scrollbar for overflow blocks, which means we want to use "contentWidth()"
+ bool ltr = style()->direction() == LTR;
+ for (RootInlineBox* curr = firstRootBox(); curr; curr = curr->nextRootBox()) {
+ int blockRightEdge = rightOffset(curr->y(), curr == firstRootBox());
+ int blockLeftEdge = leftOffset(curr->y(), curr == firstRootBox());
+ int lineBoxEdge = ltr ? curr->x() + curr->width() : curr->x();
+ if ((ltr && lineBoxEdge > blockRightEdge) || (!ltr && lineBoxEdge < blockLeftEdge)) {
+ // This line spills out of our box in the appropriate direction. Now we need to see if the line
+ // can be truncated. In order for truncation to be possible, the line must have sufficient space to
+ // accommodate our truncation string, and no replaced elements (images, tables) can overlap the ellipsis
+ // space.
+ int width = curr == firstRootBox() ? firstLineEllipsisWidth : ellipsisWidth;
+ int blockEdge = ltr ? blockRightEdge : blockLeftEdge;
+ if (curr->canAccommodateEllipsis(ltr, blockEdge, lineBoxEdge, width))
+ curr->placeEllipsis(ellipsisStr, ltr, blockLeftEdge, blockRightEdge, width);
+ }
+ }
+}
+
+}
diff --git a/src/3rdparty/webkit/WebCore/rendering/RenderBox.cpp b/src/3rdparty/webkit/WebCore/rendering/RenderBox.cpp
index ab0d153..19a2167 100644
--- a/src/3rdparty/webkit/WebCore/rendering/RenderBox.cpp
+++ b/src/3rdparty/webkit/WebCore/rendering/RenderBox.cpp
@@ -3,7 +3,7 @@
* (C) 1999 Antti Koivisto (koivisto@kde.org)
* (C) 2005 Allan Sandfeld Jensen (kde@carewolf.com)
* (C) 2005, 2006 Samuel Weinig (sam.weinig@gmail.com)
- * Copyright (C) 2005, 2006, 2007, 2008 Apple Inc. All rights reserved.
+ * Copyright (C) 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -607,7 +607,7 @@ void RenderBox::paintBoxDecorations(PaintInfo& paintInfo, int tx, int ty)
// FIXME: Should eventually give the theme control over whether the box shadow should paint, since controls could have
// custom shadows of their own.
- paintBoxShadow(paintInfo.context, tx, ty, w, h, style());
+ paintBoxShadow(paintInfo.context, tx, ty, w, h, style(), Normal);
// If we have a native theme appearance, paint that before painting our background.
// The theme will tell us whether or not we should also paint the CSS background.
@@ -621,6 +621,7 @@ void RenderBox::paintBoxDecorations(PaintInfo& paintInfo, int tx, int ty)
if (style()->hasAppearance())
theme()->paintDecorations(this, paintInfo, IntRect(tx, ty, w, h));
}
+ paintBoxShadow(paintInfo.context, tx, ty, w, h, style(), Inset);
// The theme will tell us whether or not we should also paint the CSS border.
if ((!style()->hasAppearance() || (!themePainted && theme()->paintBorderOnly(this, paintInfo, IntRect(tx, ty, w, h)))) && style()->hasBorder())
@@ -1562,7 +1563,7 @@ int RenderBox::calcReplacedWidthUsing(Length width) const
default:
return intrinsicSize().width();
}
- }
+}
int RenderBox::calcReplacedHeight() const
{
diff --git a/src/3rdparty/webkit/WebCore/rendering/RenderBoxModelObject.cpp b/src/3rdparty/webkit/WebCore/rendering/RenderBoxModelObject.cpp
index 8973e64..c224625 100644
--- a/src/3rdparty/webkit/WebCore/rendering/RenderBoxModelObject.cpp
+++ b/src/3rdparty/webkit/WebCore/rendering/RenderBoxModelObject.cpp
@@ -173,13 +173,20 @@ void RenderBoxModelObject::updateBoxModelInfoFromStyle()
int RenderBoxModelObject::relativePositionOffsetX() const
{
+ // Objects that shrink to avoid floats normally use available line width when computing containing block width. However
+ // in the case of relative positioning using percentages, we can't do this. The offset should always be resolved using the
+ // available width of the containing block. Therefore we don't use containingBlockWidthForContent() here, but instead explicitly
+ // call availableWidth on our containing block.
if (!style()->left().isAuto()) {
+ RenderBlock* cb = containingBlock();
if (!style()->right().isAuto() && containingBlock()->style()->direction() == RTL)
- return -style()->right().calcValue(containingBlockWidthForContent());
- return style()->left().calcValue(containingBlockWidthForContent());
+ return -style()->right().calcValue(cb->availableWidth());
+ return style()->left().calcValue(cb->availableWidth());
+ }
+ if (!style()->right().isAuto()) {
+ RenderBlock* cb = containingBlock();
+ return -style()->right().calcValue(cb->availableWidth());
}
- if (!style()->right().isAuto())
- return -style()->right().calcValue(containingBlockWidthForContent());
return 0;
}
@@ -322,6 +329,18 @@ void RenderBoxModelObject::paintFillLayerExtended(const PaintInfo& paintInfo, co
clippedToBorderRadius = true;
}
+ bool clippedWithLocalScrolling = hasOverflowClip() && bgLayer->attachment() == LocalBackgroundAttachment;
+ if (clippedWithLocalScrolling) {
+ // Clip to the overflow area.
+ context->save();
+ context->clip(toRenderBox(this)->overflowClipRect(tx, ty));
+
+ // Now adjust our tx, ty, w, h to reflect a scrolled content box with borders at the ends.
+ layer()->subtractScrolledContentOffset(tx, ty);
+ w = bLeft + layer()->scrollWidth() + bRight;
+ h = borderTop() + layer()->scrollHeight() + borderBottom();
+ }
+
if (bgLayer->clip() == PaddingFillBox || bgLayer->clip() == ContentFillBox) {
// Clip to the padding or content boxes as necessary.
bool includePadding = bgLayer->clip() == ContentFillBox;
@@ -465,6 +484,9 @@ void RenderBoxModelObject::paintFillLayerExtended(const PaintInfo& paintInfo, co
if (clippedToBorderRadius)
// Undo the border radius clip
context->restore();
+
+ if (clippedWithLocalScrolling) // Undo the clip for local background attachments.
+ context->restore();
}
IntSize RenderBoxModelObject::calculateBackgroundSize(const FillLayer* bgLayer, int scaledWidth, int scaledHeight) const
@@ -521,9 +543,9 @@ void RenderBoxModelObject::calculateBackgroundImageGeometry(const FillLayer* bgL
int rh = 0;
// CSS2 chapter 14.2.1
-
- if (bgLayer->attachment()) {
- // Scroll
+ bool fixedAttachment = bgLayer->attachment() == FixedBackgroundAttachment;
+ if (!fixedAttachment) {
+ // Scroll and Local
if (bgLayer->origin() != BorderFillBox) {
left = borderLeft();
right = borderRight();
@@ -553,7 +575,7 @@ void RenderBoxModelObject::calculateBackgroundImageGeometry(const FillLayer* bgL
pw = w - left - right;
ph = h - top - bottom;
} else {
- // Fixed
+ // Fixed background attachment.
IntRect vr = viewRect();
cx = vr.x();
cy = vr.y();
@@ -567,7 +589,7 @@ void RenderBoxModelObject::calculateBackgroundImageGeometry(const FillLayer* bgL
int ch;
IntSize scaledImageSize;
- if (isRoot() && bgLayer->attachment())
+ if (isRoot() && !fixedAttachment)
scaledImageSize = calculateBackgroundSize(bgLayer, rw, rh);
else
scaledImageSize = calculateBackgroundSize(bgLayer, pw, ph);
@@ -578,7 +600,7 @@ void RenderBoxModelObject::calculateBackgroundImageGeometry(const FillLayer* bgL
EFillRepeat backgroundRepeat = bgLayer->repeat();
int xPosition;
- if (isRoot() && bgLayer->attachment())
+ if (isRoot() && !fixedAttachment)
xPosition = bgLayer->xPosition().calcMinValue(rw - scaledImageWidth, true);
else
xPosition = bgLayer->xPosition().calcMinValue(pw - scaledImageWidth, true);
@@ -592,7 +614,7 @@ void RenderBoxModelObject::calculateBackgroundImageGeometry(const FillLayer* bgL
}
int yPosition;
- if (isRoot() && bgLayer->attachment())
+ if (isRoot() && !fixedAttachment)
yPosition = bgLayer->yPosition().calcMinValue(rh - scaledImageHeight, true);
else
yPosition = bgLayer->yPosition().calcMinValue(ph - scaledImageHeight, true);
@@ -605,7 +627,7 @@ void RenderBoxModelObject::calculateBackgroundImageGeometry(const FillLayer* bgL
ch = scaledImageHeight + min(yPosition + top, 0);
}
- if (!bgLayer->attachment()) {
+ if (fixedAttachment) {
sx += max(tx - cx, 0);
sy += max(ty - cy, 0);
}
@@ -1120,52 +1142,209 @@ void RenderBoxModelObject::paintBorder(GraphicsContext* graphicsContext, int tx,
graphicsContext->restore();
}
-void RenderBoxModelObject::paintBoxShadow(GraphicsContext* context, int tx, int ty, int w, int h, const RenderStyle* s, bool begin, bool end)
+void RenderBoxModelObject::paintBoxShadow(GraphicsContext* context, int tx, int ty, int w, int h, const RenderStyle* s, ShadowStyle shadowStyle, bool begin, bool end)
{
// FIXME: Deal with border-image. Would be great to use border-image as a mask.
+ if (context->paintingDisabled())
+ return;
+
IntRect rect(tx, ty, w, h);
+ IntSize topLeft;
+ IntSize topRight;
+ IntSize bottomLeft;
+ IntSize bottomRight;
+
bool hasBorderRadius = s->hasBorderRadius();
+ if (hasBorderRadius && (begin || end)) {
+ IntSize topLeftRadius, topRightRadius, bottomLeftRadius, bottomRightRadius;
+ s->getBorderRadiiForRect(rect, topLeftRadius, topRightRadius, bottomLeftRadius, bottomRightRadius);
+
+ if (begin) {
+ if (shadowStyle == Inset) {
+ topLeftRadius.expand(-borderLeft(), -borderTop());
+ topLeftRadius.clampNegativeToZero();
+ bottomLeftRadius.expand(-borderLeft(), -borderBottom());
+ bottomLeftRadius.clampNegativeToZero();
+ }
+ topLeft = topLeftRadius;
+ bottomLeft = bottomLeftRadius;
+ }
+ if (end) {
+ if (shadowStyle == Inset) {
+ topRightRadius.expand(-borderRight(), -borderTop());
+ topRightRadius.clampNegativeToZero();
+ bottomRightRadius.expand(-borderRight(), -borderBottom());
+ bottomRightRadius.clampNegativeToZero();
+ }
+ topRight = topRightRadius;
+ bottomRight = bottomRightRadius;
+ }
+ }
+
+ if (shadowStyle == Inset) {
+ rect.move(begin ? borderLeft() : 0, borderTop());
+ rect.setWidth(rect.width() - (begin ? borderLeft() : 0) - (end ? borderRight() : 0));
+ rect.setHeight(rect.height() - borderTop() - borderBottom());
+ }
+
bool hasOpaqueBackground = s->backgroundColor().isValid() && s->backgroundColor().alpha() == 255;
for (ShadowData* shadow = s->boxShadow(); shadow; shadow = shadow->next) {
- context->save();
+ if (shadow->style != shadowStyle)
+ continue;
IntSize shadowOffset(shadow->x, shadow->y);
int shadowBlur = shadow->blur;
- IntRect fillRect(rect);
+ int shadowSpread = shadow->spread;
+ Color& shadowColor = shadow->color;
+
+ if (shadow->style == Normal) {
+ IntRect fillRect(rect);
+ fillRect.inflate(shadowSpread);
+ if (fillRect.isEmpty())
+ continue;
- if (hasBorderRadius) {
IntRect shadowRect(rect);
- shadowRect.inflate(shadowBlur);
+ shadowRect.inflate(shadowBlur + shadowSpread);
shadowRect.move(shadowOffset);
+
+ context->save();
context->clip(shadowRect);
// Move the fill just outside the clip, adding 1 pixel separation so that the fill does not
// bleed in (due to antialiasing) if the context is transformed.
- IntSize extraOffset(w + max(0, shadowOffset.width()) + shadowBlur + 1, 0);
+ IntSize extraOffset(w + max(0, shadowOffset.width()) + shadowBlur + 2 * shadowSpread + 1, 0);
shadowOffset -= extraOffset;
fillRect.move(extraOffset);
- }
- context->setShadow(shadowOffset, shadowBlur, shadow->color);
- if (hasBorderRadius) {
- IntSize topLeftRadius, topRightRadius, bottomLeftRadius, bottomRightRadius;
- s->getBorderRadiiForRect(rect, topLeftRadius, topRightRadius, bottomLeftRadius, bottomRightRadius);
+ context->setShadow(shadowOffset, shadowBlur, shadowColor);
+ if (hasBorderRadius) {
+ IntRect rectToClipOut = rect;
+ IntSize topLeftToClipOut = topLeft;
+ IntSize topRightToClipOut = topRight;
+ IntSize bottomLeftToClipOut = bottomLeft;
+ IntSize bottomRightToClipOut = bottomRight;
+
+ if (shadowSpread < 0) {
+ topLeft.expand(shadowSpread, shadowSpread);
+ topLeft.clampNegativeToZero();
- IntSize topLeft = begin ? topLeftRadius : IntSize();
- IntSize topRight = end ? topRightRadius : IntSize();
- IntSize bottomLeft = begin ? bottomLeftRadius : IntSize();
- IntSize bottomRight = end ? bottomRightRadius : IntSize();
+ topRight.expand(shadowSpread, shadowSpread);
+ topRight.clampNegativeToZero();
- if (!hasOpaqueBackground)
- context->clipOutRoundedRect(rect, topLeft, topRight, bottomLeft, bottomRight);
- context->fillRoundedRect(fillRect, topLeft, topRight, bottomLeft, bottomRight, Color::black);
+ bottomLeft.expand(shadowSpread, shadowSpread);
+ bottomLeft.clampNegativeToZero();
+
+ bottomRight.expand(shadowSpread, shadowSpread);
+ bottomRight.clampNegativeToZero();
+ }
+
+ // If the box is opaque, it is unnecessary to clip it out. However, doing so saves time
+ // when painting the shadow. On the other hand, it introduces subpixel gaps along the
+ // corners. Those are avoided by insetting the clipping path by one pixel.
+ if (hasOpaqueBackground) {
+ rectToClipOut.inflate(-1);
+
+ topLeftToClipOut.expand(-1, -1);
+ topLeftToClipOut.clampNegativeToZero();
+
+ topRightToClipOut.expand(-1, -1);
+ topRightToClipOut.clampNegativeToZero();
+
+ bottomLeftToClipOut.expand(-1, -1);
+ bottomLeftToClipOut.clampNegativeToZero();
+
+ bottomRightToClipOut.expand(-1, -1);
+ bottomRightToClipOut.clampNegativeToZero();
+ }
+
+ if (!rectToClipOut.isEmpty())
+ context->clipOutRoundedRect(rectToClipOut, topLeftToClipOut, topRightToClipOut, bottomLeftToClipOut, bottomRightToClipOut);
+ context->fillRoundedRect(fillRect, topLeft, topRight, bottomLeft, bottomRight, Color::black);
+ } else {
+ IntRect rectToClipOut = rect;
+
+ // If the box is opaque, it is unnecessary to clip it out. However, doing so saves time
+ // when painting the shadow. On the other hand, it introduces subpixel gaps along the
+ // edges if they are not pixel-aligned. Those are avoided by insetting the clipping path
+ // by one pixel.
+ if (hasOpaqueBackground) {
+ TransformationMatrix currentTransformation = context->getCTM();
+ if (currentTransformation.a() != 1 || (currentTransformation.d() != 1 && currentTransformation.d() != -1)
+ || currentTransformation.b() || currentTransformation.c())
+ rectToClipOut.inflate(-1);
+ }
+
+ if (!rectToClipOut.isEmpty())
+ context->clipOut(rectToClipOut);
+ context->fillRect(fillRect, Color::black);
+ }
+
+ context->restore();
} else {
- if (!hasOpaqueBackground)
- context->clipOut(rect);
- context->fillRect(fillRect, Color::black);
+ // Inset shadow.
+ IntRect holeRect(rect);
+ holeRect.inflate(-shadowSpread);
+
+ if (holeRect.isEmpty()) {
+ if (hasBorderRadius)
+ context->fillRoundedRect(rect, topLeft, topRight, bottomLeft, bottomRight, shadowColor);
+ else
+ context->fillRect(rect, shadowColor);
+ continue;
+ }
+ if (!begin) {
+ holeRect.move(-max(shadowOffset.width(), 0) - shadowBlur, 0);
+ holeRect.setWidth(holeRect.width() + max(shadowOffset.width(), 0) + shadowBlur);
+ }
+ if (!end)
+ holeRect.setWidth(holeRect.width() - min(shadowOffset.width(), 0) + shadowBlur);
+
+ Color fillColor(shadowColor.red(), shadowColor.green(), shadowColor.blue(), 255);
+
+ IntRect outerRect(rect);
+ outerRect.inflateX(w - 2 * shadowSpread);
+ outerRect.inflateY(h - 2 * shadowSpread);
+
+ context->save();
+
+ if (hasBorderRadius)
+ context->clip(Path::createRoundedRectangle(rect, topLeft, topRight, bottomLeft, bottomRight));
+ else
+ context->clip(rect);
+
+ IntSize extraOffset(2 * w + max(0, shadowOffset.width()) + shadowBlur - 2 * shadowSpread + 1, 0);
+ context->translate(extraOffset.width(), extraOffset.height());
+ shadowOffset -= extraOffset;
+
+ context->beginPath();
+ context->addPath(Path::createRectangle(outerRect));
+
+ if (hasBorderRadius) {
+ if (shadowSpread > 0) {
+ topLeft.expand(-shadowSpread, -shadowSpread);
+ topLeft.clampNegativeToZero();
+
+ topRight.expand(-shadowSpread, -shadowSpread);
+ topRight.clampNegativeToZero();
+
+ bottomLeft.expand(-shadowSpread, -shadowSpread);
+ bottomLeft.clampNegativeToZero();
+
+ bottomRight.expand(-shadowSpread, -shadowSpread);
+ bottomRight.clampNegativeToZero();
+ }
+ context->addPath(Path::createRoundedRectangle(holeRect, topLeft, topRight, bottomLeft, bottomRight));
+ } else
+ context->addPath(Path::createRectangle(holeRect));
+
+ context->setFillRule(RULE_EVENODD);
+ context->setFillColor(fillColor);
+ context->setShadow(shadowOffset, shadowBlur, shadowColor);
+ context->fillPath();
+
+ context->restore();
}
- context->restore();
}
}
diff --git a/src/3rdparty/webkit/WebCore/rendering/RenderBoxModelObject.h b/src/3rdparty/webkit/WebCore/rendering/RenderBoxModelObject.h
index 9feaf2f..c674778 100644
--- a/src/3rdparty/webkit/WebCore/rendering/RenderBoxModelObject.h
+++ b/src/3rdparty/webkit/WebCore/rendering/RenderBoxModelObject.h
@@ -89,7 +89,7 @@ public:
void paintBorder(GraphicsContext*, int tx, int ty, int w, int h, const RenderStyle*, bool begin = true, bool end = true);
bool paintNinePieceImage(GraphicsContext*, int tx, int ty, int w, int h, const RenderStyle*, const NinePieceImage&, CompositeOperator = CompositeSourceOver);
- void paintBoxShadow(GraphicsContext*, int tx, int ty, int w, int h, const RenderStyle*, bool begin = true, bool end = true);
+ void paintBoxShadow(GraphicsContext*, int tx, int ty, int w, int h, const RenderStyle*, ShadowStyle, bool begin = true, bool end = true);
void paintFillLayerExtended(const PaintInfo&, const Color&, const FillLayer*, int tx, int ty, int width, int height, InlineFlowBox* = 0, CompositeOperator = CompositeSourceOver);
// The difference between this inline's baseline position and the line's baseline position.
diff --git a/src/3rdparty/webkit/WebCore/rendering/RenderButton.cpp b/src/3rdparty/webkit/WebCore/rendering/RenderButton.cpp
index b266f42..6d36a0f 100644
--- a/src/3rdparty/webkit/WebCore/rendering/RenderButton.cpp
+++ b/src/3rdparty/webkit/WebCore/rendering/RenderButton.cpp
@@ -164,6 +164,11 @@ void RenderButton::setText(const String& str)
}
}
+String RenderButton::text() const
+{
+ return m_buttonText ? m_buttonText->text() : 0;
+}
+
void RenderButton::updateBeforeAfterContent(PseudoId type)
{
if (m_inner)
diff --git a/src/3rdparty/webkit/WebCore/rendering/RenderButton.h b/src/3rdparty/webkit/WebCore/rendering/RenderButton.h
index 89f7cf8..3b4ff3f 100644
--- a/src/3rdparty/webkit/WebCore/rendering/RenderButton.h
+++ b/src/3rdparty/webkit/WebCore/rendering/RenderButton.h
@@ -55,7 +55,8 @@ public:
virtual IntRect controlClipRect(int /*tx*/, int /*ty*/) const;
void setText(const String&);
-
+ String text() const;
+
virtual bool canHaveChildren() const;
protected:
diff --git a/src/3rdparty/webkit/WebCore/rendering/RenderDataGrid.cpp b/src/3rdparty/webkit/WebCore/rendering/RenderDataGrid.cpp
index b207a31..bdf723f 100644
--- a/src/3rdparty/webkit/WebCore/rendering/RenderDataGrid.cpp
+++ b/src/3rdparty/webkit/WebCore/rendering/RenderDataGrid.cpp
@@ -24,12 +24,17 @@
*/
#include "config.h"
+
+#if ENABLE(DATAGRID)
+
#include "RenderDataGrid.h"
+#include "CSSStyleSelector.h"
#include "FocusController.h"
#include "Frame.h"
#include "GraphicsContext.h"
#include "Page.h"
+#include "RenderView.h"
#include "Scrollbar.h"
using std::min;
@@ -47,6 +52,42 @@ RenderDataGrid::~RenderDataGrid()
{
}
+void RenderDataGrid::styleDidChange(StyleDifference diff, const RenderStyle* oldStyle)
+{
+ RenderBlock::styleDidChange(diff, oldStyle);
+ recalcStyleForColumns();
+}
+
+void RenderDataGrid::recalcStyleForColumns()
+{
+ DataGridColumnList* columns = gridElement()->columns();
+ unsigned length = columns->length();
+ for (unsigned i = 0; i < length; ++i)
+ recalcStyleForColumn(columns->item(i));
+}
+
+void RenderDataGrid::recalcStyleForColumn(DataGridColumn* column)
+{
+ if (!column->columnStyle())
+ column->setColumnStyle(document()->styleSelector()->pseudoStyleForDataGridColumn(column, style()));
+ if (!column->headerStyle())
+ column->setHeaderStyle(document()->styleSelector()->pseudoStyleForDataGridColumnHeader(column, style()));
+}
+
+RenderStyle* RenderDataGrid::columnStyle(DataGridColumn* column)
+{
+ if (!column->columnStyle())
+ recalcStyleForColumn(column);
+ return column->columnStyle();
+}
+
+RenderStyle* RenderDataGrid::headerStyle(DataGridColumn* column)
+{
+ if (!column->headerStyle())
+ recalcStyleForColumn(column);
+ return column->headerStyle();
+}
+
void RenderDataGrid::calcPrefWidths()
{
m_minPrefWidth = 0;
@@ -77,6 +118,17 @@ void RenderDataGrid::calcPrefWidths()
setPrefWidthsDirty(false);
}
+void RenderDataGrid::layout()
+{
+ RenderBlock::layout();
+ layoutColumns();
+}
+
+void RenderDataGrid::layoutColumns()
+{
+ // FIXME: Implement.
+}
+
void RenderDataGrid::paintObject(PaintInfo& paintInfo, int tx, int ty)
{
if (style()->visibility() != VISIBLE)
@@ -92,14 +144,29 @@ void RenderDataGrid::paintObject(PaintInfo& paintInfo, int tx, int ty)
paintColumnHeaders(paintInfo, tx, ty);
}
-void RenderDataGrid::paintColumnHeaders(PaintInfo&, int, int)
+void RenderDataGrid::paintColumnHeaders(PaintInfo& paintInfo, int tx, int ty)
{
- gridElement()->columns();
-
+ DataGridColumnList* columns = gridElement()->columns();
+ unsigned length = columns->length();
+ for (unsigned i = 0; i < length; ++i) {
+ DataGridColumn* column = columns->item(i);
+ RenderStyle* columnStyle = headerStyle(column);
+
+ // Don't render invisible columns.
+ if (!columnStyle || columnStyle->display() == NONE || columnStyle->visibility() != VISIBLE)
+ continue;
+
+ // Paint the column header if it intersects the dirty rect.
+ IntRect columnRect(column->rect());
+ columnRect.move(tx, ty);
+ if (columnRect.intersects(paintInfo.rect))
+ paintColumnHeader(column, paintInfo, tx, ty);
+ }
}
-void RenderDataGrid::rebuildColumns()
+void RenderDataGrid::paintColumnHeader(DataGridColumn*, PaintInfo&, int, int)
{
+ // FIXME: Implement.
}
// Scrolling implementation functions
@@ -119,4 +186,65 @@ bool RenderDataGrid::isActive() const
return page && page->focusController()->isActive();
}
+
+IntRect RenderDataGrid::convertFromScrollbarToContainingView(const Scrollbar* scrollbar, const IntRect& scrollbarRect) const
+{
+ RenderView* view = this->view();
+ if (!view)
+ return scrollbarRect;
+
+ IntRect rect = scrollbarRect;
+
+ int scrollbarLeft = width() - borderRight() - scrollbar->width();
+ int scrollbarTop = borderTop();
+ rect.move(scrollbarLeft, scrollbarTop);
+
+ return view->frameView()->convertFromRenderer(this, rect);
}
+
+IntRect RenderDataGrid::convertFromContainingViewToScrollbar(const Scrollbar* scrollbar, const IntRect& parentRect) const
+{
+ RenderView* view = this->view();
+ if (!view)
+ return parentRect;
+
+ IntRect rect = view->frameView()->convertToRenderer(this, parentRect);
+
+ int scrollbarLeft = width() - borderRight() - scrollbar->width();
+ int scrollbarTop = borderTop();
+ rect.move(-scrollbarLeft, -scrollbarTop);
+ return rect;
+}
+
+IntPoint RenderDataGrid::convertFromScrollbarToContainingView(const Scrollbar* scrollbar, const IntPoint& scrollbarPoint) const
+{
+ RenderView* view = this->view();
+ if (!view)
+ return scrollbarPoint;
+
+ IntPoint point = scrollbarPoint;
+
+ int scrollbarLeft = width() - borderRight() - scrollbar->width();
+ int scrollbarTop = borderTop();
+ point.move(scrollbarLeft, scrollbarTop);
+
+ return view->frameView()->convertFromRenderer(this, point);
+}
+
+IntPoint RenderDataGrid::convertFromContainingViewToScrollbar(const Scrollbar* scrollbar, const IntPoint& parentPoint) const
+{
+ RenderView* view = this->view();
+ if (!view)
+ return parentPoint;
+
+ IntPoint point = view->frameView()->convertToRenderer(this, parentPoint);
+
+ int scrollbarLeft = width() - borderRight() - scrollbar->width();
+ int scrollbarTop = borderTop();
+ point.move(-scrollbarLeft, -scrollbarTop);
+ return point;
+}
+
+}
+
+#endif
diff --git a/src/3rdparty/webkit/WebCore/rendering/RenderDataGrid.h b/src/3rdparty/webkit/WebCore/rendering/RenderDataGrid.h
index 6a4b32e..467edcc 100644
--- a/src/3rdparty/webkit/WebCore/rendering/RenderDataGrid.h
+++ b/src/3rdparty/webkit/WebCore/rendering/RenderDataGrid.h
@@ -26,6 +26,8 @@
#ifndef RenderDataGrid_h
#define RenderDataGrid_h
+#if ENABLE(DATAGRID)
+
#include "HTMLDataGridElement.h"
#include "RenderBlock.h"
#include "ScrollbarClient.h"
@@ -41,18 +43,24 @@ public:
~RenderDataGrid();
virtual const char* renderName() const { return "RenderDataGrid"; }
-
virtual bool canHaveChildren() const { return false; }
-
virtual void calcPrefWidths();
-
+ virtual void layout();
virtual void paintObject(PaintInfo&, int tx, int ty);
void columnsChanged();
private:
+ virtual void styleDidChange(StyleDifference, const RenderStyle* oldStyle);
+
+ RenderStyle* columnStyle(DataGridColumn*);
+ RenderStyle* headerStyle(DataGridColumn*);
+ void recalcStyleForColumns();
+ void recalcStyleForColumn(DataGridColumn*);
+
+ void layoutColumns();
void paintColumnHeaders(PaintInfo&, int tx, int ty);
- void rebuildColumns();
+ void paintColumnHeader(DataGridColumn*, PaintInfo&, int tx, int ty);
HTMLDataGridElement* gridElement() const { return static_cast<HTMLDataGridElement*>(node()); }
@@ -61,10 +69,16 @@ private:
virtual void invalidateScrollbarRect(Scrollbar*, const IntRect&);
virtual bool isActive() const;
virtual bool scrollbarCornerPresent() const { return false; } // We don't support resize on data grids yet. If we did this would have to change.
+ virtual IntRect convertFromScrollbarToContainingView(const Scrollbar*, const IntRect&) const;
+ virtual IntRect convertFromContainingViewToScrollbar(const Scrollbar*, const IntRect&) const;
+ virtual IntPoint convertFromScrollbarToContainingView(const Scrollbar*, const IntPoint&) const;
+ virtual IntPoint convertFromContainingViewToScrollbar(const Scrollbar*, const IntPoint&) const;
RefPtr<Scrollbar> m_vBar;
};
}
+#endif
+
#endif // RenderDataGrid_h
diff --git a/src/3rdparty/webkit/WebCore/rendering/RenderFieldset.cpp b/src/3rdparty/webkit/WebCore/rendering/RenderFieldset.cpp
index 1275882..437991a 100644
--- a/src/3rdparty/webkit/WebCore/rendering/RenderFieldset.cpp
+++ b/src/3rdparty/webkit/WebCore/rendering/RenderFieldset.cpp
@@ -99,7 +99,7 @@ RenderObject* RenderFieldset::layoutLegend(bool relayoutChildren)
int b = borderTop();
int h = legend->height();
legend->setLocation(xPos, max((b-h)/2, 0));
- setHeight(max(b,h) + paddingTop());
+ setHeight(max(b, h) + paddingTop());
}
return legend;
}
@@ -131,9 +131,10 @@ void RenderFieldset::paintBoxDecorations(PaintInfo& paintInfo, int tx, int ty)
h -= yOff;
ty += yOff;
- paintBoxShadow(paintInfo.context, tx, ty, w, h, style());
+ paintBoxShadow(paintInfo.context, tx, ty, w, h, style(), Normal);
paintFillLayers(paintInfo, style()->backgroundColor(), style()->backgroundLayers(), tx, ty, w, h);
+ paintBoxShadow(paintInfo.context, tx, ty, w, h, style(), Inset);
if (!style()->hasBorder())
return;
diff --git a/src/3rdparty/webkit/WebCore/rendering/RenderFlexibleBox.cpp b/src/3rdparty/webkit/WebCore/rendering/RenderFlexibleBox.cpp
index 1dcef36..e9fc7aa 100644
--- a/src/3rdparty/webkit/WebCore/rendering/RenderFlexibleBox.cpp
+++ b/src/3rdparty/webkit/WebCore/rendering/RenderFlexibleBox.cpp
@@ -36,7 +36,8 @@ namespace WebCore {
class FlexBoxIterator {
public:
- FlexBoxIterator(RenderFlexibleBox* parent) {
+ FlexBoxIterator(RenderFlexibleBox* parent)
+ {
box = parent;
if (box->style()->boxOrient() == HORIZONTAL && box->style()->direction() == RTL)
forward = box->style()->boxDirection() != BNORMAL;
@@ -56,17 +57,20 @@ public:
reset();
}
- void reset() {
+ void reset()
+ {
current = 0;
currentOrdinal = forward ? 0 : lastOrdinal+1;
}
- RenderBox* first() {
+ RenderBox* first()
+ {
reset();
return next();
}
- RenderBox* next() {
+ RenderBox* next()
+ {
do {
if (!current) {
if (forward) {
@@ -187,6 +191,10 @@ void RenderFlexibleBox::calcPrefWidths()
}
int toAdd = borderLeft() + borderRight() + paddingLeft() + paddingRight();
+
+ if (hasOverflowClip() && style()->overflowY() == OSCROLL)
+ toAdd += verticalScrollbarWidth();
+
m_minPrefWidth += toAdd;
m_maxPrefWidth += toAdd;
@@ -272,10 +280,10 @@ void RenderFlexibleBox::layoutBlock(bool relayoutChildren)
if (!hasOverflowClip()) {
for (ShadowData* boxShadow = style()->boxShadow(); boxShadow; boxShadow = boxShadow->next) {
- m_overflowLeft = min(m_overflowLeft, boxShadow->x - boxShadow->blur);
- m_overflowWidth = max(m_overflowWidth, width() + boxShadow->x + boxShadow->blur);
- m_overflowTop = min(m_overflowTop, boxShadow->y - boxShadow->blur);
- m_overflowHeight = max(m_overflowHeight, height() + boxShadow->y + boxShadow->blur);
+ m_overflowLeft = min(m_overflowLeft, boxShadow->x - boxShadow->blur - boxShadow->spread);
+ m_overflowWidth = max(m_overflowWidth, width() + boxShadow->x + boxShadow->blur + boxShadow->spread);
+ m_overflowTop = min(m_overflowTop, boxShadow->y - boxShadow->blur - boxShadow->spread);
+ m_overflowHeight = max(m_overflowHeight, height() + boxShadow->y + boxShadow->blur + boxShadow->spread);
}
if (hasReflection()) {
@@ -336,7 +344,9 @@ void RenderFlexibleBox::layoutHorizontalBox(bool relayoutChildren)
}
child = iterator.next();
}
-
+
+ RenderBlock::startDelayUpdateScrollInfo();
+
// We do 2 passes. The first pass is simply to lay everyone out at
// their preferred widths. The second pass handles flexing the children.
do {
@@ -561,7 +571,9 @@ void RenderFlexibleBox::layoutHorizontalBox(bool relayoutChildren)
} while (haveFlex);
m_flexingChildren = false;
-
+
+ RenderBlock::finishDelayUpdateScrollInfo();
+
if (remainingSpace > 0 && ((style()->direction() == LTR && style()->boxPack() != BSTART) ||
(style()->direction() == RTL && style()->boxPack() != BEND))) {
// Children must be repositioned.
@@ -648,7 +660,7 @@ void RenderFlexibleBox::layoutVerticalBox(bool relayoutChildren)
{
int xPos = borderLeft() + paddingLeft();
int yPos = borderTop() + paddingTop();
- if( style()->direction() == RTL )
+ if (style()->direction() == RTL)
xPos = width() - paddingRight() - borderRight();
int toAdd = borderBottom() + paddingBottom() + horizontalScrollbarHeight();
bool heightSpecified = false;
@@ -789,6 +801,8 @@ void RenderFlexibleBox::layoutVerticalBox(bool relayoutChildren)
}
}
+ RenderBlock::startDelayUpdateScrollInfo();
+
// We do 2 passes. The first pass is simply to lay everyone out at
// their preferred widths. The second pass handles flexing the children.
// Our first pass is done without flexing. We simply lay the children
@@ -977,6 +991,8 @@ void RenderFlexibleBox::layoutVerticalBox(bool relayoutChildren)
}
} while (haveFlex);
+ RenderBlock::finishDelayUpdateScrollInfo();
+
if (style()->boxPack() != BSTART && remainingSpace > 0) {
// Children must be repositioned.
int offset = 0;
diff --git a/src/3rdparty/webkit/WebCore/rendering/RenderFrameSet.cpp b/src/3rdparty/webkit/WebCore/rendering/RenderFrameSet.cpp
index 5995117..57c8a2f 100644
--- a/src/3rdparty/webkit/WebCore/rendering/RenderFrameSet.cpp
+++ b/src/3rdparty/webkit/WebCore/rendering/RenderFrameSet.cpp
@@ -65,7 +65,7 @@ inline HTMLFrameSetElement* RenderFrameSet::frameSet() const
static Color borderStartEdgeColor()
{
- return Color(170,170,170);
+ return Color(170, 170, 170);
}
static Color borderEndEdgeColor()
diff --git a/src/3rdparty/webkit/WebCore/rendering/RenderFrameSet.h b/src/3rdparty/webkit/WebCore/rendering/RenderFrameSet.h
index 294e5df..9f90502 100644
--- a/src/3rdparty/webkit/WebCore/rendering/RenderFrameSet.h
+++ b/src/3rdparty/webkit/WebCore/rendering/RenderFrameSet.h
@@ -32,8 +32,7 @@ class MouseEvent;
enum FrameEdge { LeftFrameEdge, RightFrameEdge, TopFrameEdge, BottomFrameEdge };
-struct FrameEdgeInfo
-{
+struct FrameEdgeInfo {
FrameEdgeInfo(bool preventResize = false, bool allowBorder = true)
: m_preventResize(4)
, m_allowBorder(4)
@@ -84,7 +83,7 @@ public:
private:
static const int noSplit = -1;
- class GridAxis : Noncopyable {
+ class GridAxis : public Noncopyable {
public:
GridAxis();
void resize(int);
diff --git a/src/3rdparty/webkit/WebCore/rendering/RenderImage.cpp b/src/3rdparty/webkit/WebCore/rendering/RenderImage.cpp
index cd84a09..559406b 100644
--- a/src/3rdparty/webkit/WebCore/rendering/RenderImage.cpp
+++ b/src/3rdparty/webkit/WebCore/rendering/RenderImage.cpp
@@ -89,8 +89,7 @@ private:
Timer<RenderImage> m_highQualityRepaintTimer;
};
-class RenderImageScaleObserver
-{
+class RenderImageScaleObserver {
public:
static bool shouldImagePaintAtLowQuality(RenderImage*, const IntSize&);
diff --git a/src/3rdparty/webkit/WebCore/rendering/RenderInline.cpp b/src/3rdparty/webkit/WebCore/rendering/RenderInline.cpp
index 3965d94..f798a56 100644
--- a/src/3rdparty/webkit/WebCore/rendering/RenderInline.cpp
+++ b/src/3rdparty/webkit/WebCore/rendering/RenderInline.cpp
@@ -749,14 +749,14 @@ void RenderInline::dirtyLineBoxes(bool fullLayout)
m_lineBoxes.dirtyLineBoxes();
}
-InlineFlowBox* RenderInline::createFlowBox()
+InlineFlowBox* RenderInline::createInlineFlowBox()
{
return new (renderArena()) InlineFlowBox(this);
}
-InlineFlowBox* RenderInline::createInlineFlowBox()
+InlineFlowBox* RenderInline::createAndAppendInlineFlowBox()
{
- InlineFlowBox* flowBox = createFlowBox();
+ InlineFlowBox* flowBox = createInlineFlowBox();
m_lineBoxes.appendLineBox(flowBox);
return flowBox;
}
diff --git a/src/3rdparty/webkit/WebCore/rendering/RenderInline.h b/src/3rdparty/webkit/WebCore/rendering/RenderInline.h
index cf6b84b..5a10068 100644
--- a/src/3rdparty/webkit/WebCore/rendering/RenderInline.h
+++ b/src/3rdparty/webkit/WebCore/rendering/RenderInline.h
@@ -93,7 +93,9 @@ public:
return IntRect(0, 0, boundingBox.width(), boundingBox.height());
}
- InlineFlowBox* createInlineFlowBox();
+ InlineFlowBox* createAndAppendInlineFlowBox();
+ virtual InlineFlowBox* createInlineFlowBox(); // Subclassed by SVG and Ruby
+
void dirtyLineBoxes(bool fullLayout);
virtual void dirtyLinesFromChangedChild(RenderObject* child) { m_lineBoxes.dirtyLinesFromChangedChild(this, child); }
@@ -132,7 +134,6 @@ public:
protected:
virtual void styleDidChange(StyleDifference, const RenderStyle* oldStyle);
virtual void updateBoxModelInfoFromStyle();
- virtual InlineFlowBox* createFlowBox(); // Subclassed by SVG
static RenderInline* cloneInline(RenderInline* src);
diff --git a/src/3rdparty/webkit/WebCore/rendering/RenderLayer.cpp b/src/3rdparty/webkit/WebCore/rendering/RenderLayer.cpp
index ba85f1a..4b6d291 100644
--- a/src/3rdparty/webkit/WebCore/rendering/RenderLayer.cpp
+++ b/src/3rdparty/webkit/WebCore/rendering/RenderLayer.cpp
@@ -167,7 +167,7 @@ RenderLayer::RenderLayer(RenderBoxModelObject* renderer)
, m_has3DTransformedDescendant(false)
#if USE(ACCELERATED_COMPOSITING)
, m_hasCompositingDescendant(false)
- , m_mustOverlayCompositedLayers(false)
+ , m_mustOverlapCompositedLayers(false)
#endif
, m_marquee(0)
, m_staticX(0)
@@ -231,7 +231,7 @@ void RenderLayer::rendererContentChanged()
{
// This can get called when video becomes accelerated, so the layers may change.
if (compositor()->updateLayerCompositingState(this))
- compositor()->setCompositingLayersNeedUpdate();
+ compositor()->setCompositingLayersNeedRebuild();
if (m_backing)
m_backing->rendererContentChanged();
@@ -255,17 +255,17 @@ void RenderLayer::setStaticY(int staticY)
renderer()->setChildNeedsLayout(true, false);
}
-void RenderLayer::updateLayerPositions(bool doFullRepaint, bool checkForRepaint)
+void RenderLayer::updateLayerPositions(UpdateLayerPositionsFlags flags)
{
- if (doFullRepaint) {
+ if (flags & DoFullRepaint) {
renderer()->repaint();
#if USE(ACCELERATED_COMPOSITING)
- checkForRepaint = false;
+ flags &= ~CheckForRepaint;
// We need the full repaint to propagate to child layers if we are hardware compositing.
if (!compositor()->inCompositingMode())
- doFullRepaint = false;
+ flags &= ~DoFullRepaint;
#else
- checkForRepaint = doFullRepaint = false;
+ flags &= ~(CheckForRepaint | DoFullRepaint);
#endif
}
@@ -292,7 +292,7 @@ void RenderLayer::updateLayerPositions(bool doFullRepaint, bool checkForRepaint)
RenderBoxModelObject* repaintContainer = renderer()->containerForRepaint();
IntRect newRect = renderer()->clippedOverflowRectForRepaint(repaintContainer);
IntRect newOutlineBox = renderer()->outlineBoundsForRepaint(repaintContainer);
- if (checkForRepaint) {
+ if (flags & CheckForRepaint) {
if (view && !view->printing()) {
if (m_needsFullRepaint) {
renderer()->repaintUsingContainer(repaintContainer, m_repaintRect);
@@ -316,11 +316,11 @@ void RenderLayer::updateLayerPositions(bool doFullRepaint, bool checkForRepaint)
m_reflection->layout();
for (RenderLayer* child = firstChild(); child; child = child->nextSibling())
- child->updateLayerPositions(doFullRepaint, checkForRepaint);
+ child->updateLayerPositions(flags);
#if USE(ACCELERATED_COMPOSITING)
- if (isComposited())
- backing()->updateAfterLayout();
+ if ((flags & UpdateCompositingLayers) && isComposited())
+ backing()->updateAfterLayout(RenderLayerBacking::CompositingChildren);
#endif
// With all our children positioned, now update our marquee if we need to.
@@ -328,6 +328,13 @@ void RenderLayer::updateLayerPositions(bool doFullRepaint, bool checkForRepaint)
m_marquee->updateMarqueePosition();
}
+void RenderLayer::computeRepaintRects()
+{
+ RenderBoxModelObject* repaintContainer = renderer()->containerForRepaint();
+ m_repaintRect = renderer()->clippedOverflowRectForRepaint(repaintContainer);
+ m_outlineBox = renderer()->outlineBoundsForRepaint(repaintContainer);
+}
+
void RenderLayer::updateTransform()
{
// hasTransform() on the renderer is also true when there is transform-style: preserve-3d or perspective set,
@@ -453,7 +460,7 @@ void RenderLayer::updateVisibilityStatus()
else {
do {
r = r->parent();
- if (r==renderer())
+ if (r == renderer())
r = 0;
} while (r && !r->nextSibling());
if (r)
@@ -1057,14 +1064,15 @@ void RenderLayer::scrollToOffset(int x, int y, bool updateScrollbars, bool repai
m_scrollX = newScrollX;
m_scrollY = y;
- // Update the positions of our child layers.
+ // Update the positions of our child layers. Don't have updateLayerPositions() update
+ // compositing layers, because we need to do a deep update from the compositing ancestor.
for (RenderLayer* child = firstChild(); child; child = child->nextSibling())
- child->updateLayerPositions(false, false);
+ child->updateLayerPositions(0);
#if USE(ACCELERATED_COMPOSITING)
if (compositor()->inCompositingMode()) {
if (RenderLayer* compositingAncestor = ancestorCompositingLayer())
- compositingAncestor->backing()->updateAfterLayout();
+ compositingAncestor->backing()->updateAfterLayout(RenderLayerBacking::AllDescendants);
}
#endif
@@ -1423,6 +1431,66 @@ bool RenderLayer::scrollbarCornerPresent() const
return !scrollCornerRect(this, renderBox()->borderBoxRect()).isEmpty();
}
+IntRect RenderLayer::convertFromScrollbarToContainingView(const Scrollbar* scrollbar, const IntRect& scrollbarRect) const
+{
+ RenderView* view = renderer()->view();
+ if (!view)
+ return scrollbarRect;
+
+ IntRect rect = scrollbarRect;
+ rect.move(scrollbarOffset(scrollbar));
+
+ return view->frameView()->convertFromRenderer(renderer(), rect);
+}
+
+IntRect RenderLayer::convertFromContainingViewToScrollbar(const Scrollbar* scrollbar, const IntRect& parentRect) const
+{
+ RenderView* view = renderer()->view();
+ if (!view)
+ return parentRect;
+
+ IntRect rect = view->frameView()->convertToRenderer(renderer(), parentRect);
+ rect.move(-scrollbarOffset(scrollbar));
+ return rect;
+}
+
+IntPoint RenderLayer::convertFromScrollbarToContainingView(const Scrollbar* scrollbar, const IntPoint& scrollbarPoint) const
+{
+ RenderView* view = renderer()->view();
+ if (!view)
+ return scrollbarPoint;
+
+ IntPoint point = scrollbarPoint;
+ point.move(scrollbarOffset(scrollbar));
+ return view->frameView()->convertFromRenderer(renderer(), point);
+}
+
+IntPoint RenderLayer::convertFromContainingViewToScrollbar(const Scrollbar* scrollbar, const IntPoint& parentPoint) const
+{
+ RenderView* view = renderer()->view();
+ if (!view)
+ return parentPoint;
+
+ IntPoint point = view->frameView()->convertToRenderer(renderer(), parentPoint);
+
+ point.move(-scrollbarOffset(scrollbar));
+ return point;
+}
+
+IntSize RenderLayer::scrollbarOffset(const Scrollbar* scrollbar) const
+{
+ RenderBox* box = renderBox();
+
+ if (scrollbar == m_vBar.get())
+ return IntSize(box->width() - box->borderRight() - scrollbar->width(), box->borderTop());
+
+ if (scrollbar == m_hBar.get())
+ return IntSize(box->borderLeft(), box->height() - box->borderBottom() - scrollbar->height());
+
+ ASSERT_NOT_REACHED();
+ return IntSize();
+}
+
void RenderLayer::invalidateScrollbarRect(Scrollbar* scrollbar, const IntRect& rect)
{
IntRect scrollRect = rect;
@@ -1834,34 +1902,29 @@ bool RenderLayer::isPointInResizeControl(const IntPoint& absolutePoint) const
return resizerCornerRect(this, localBounds).contains(localPoint);
}
-bool RenderLayer::hitTestOverflowControls(HitTestResult& result)
+bool RenderLayer::hitTestOverflowControls(HitTestResult& result, const IntPoint& localPoint)
{
if (!m_hBar && !m_vBar && (!renderer()->hasOverflowClip() || renderer()->style()->resize() == RESIZE_NONE))
return false;
RenderBox* box = renderBox();
ASSERT(box);
-
- int x = 0;
- int y = 0;
- convertToLayerCoords(root(), x, y);
- IntRect absBounds(x, y, box->width(), box->height());
IntRect resizeControlRect;
if (renderer()->style()->resize() != RESIZE_NONE) {
- resizeControlRect = resizerCornerRect(this, absBounds);
- if (resizeControlRect.contains(result.point()))
+ resizeControlRect = resizerCornerRect(this, box->borderBoxRect());
+ if (resizeControlRect.contains(localPoint))
return true;
}
int resizeControlSize = max(resizeControlRect.height(), 0);
if (m_vBar) {
- IntRect vBarRect(absBounds.right() - box->borderRight() - m_vBar->width(),
- absBounds.y() + box->borderTop(),
+ IntRect vBarRect(box->width() - box->borderRight() - m_vBar->width(),
+ box->borderTop(),
m_vBar->width(),
- absBounds.height() - (box->borderTop() + box->borderBottom()) - (m_hBar ? m_hBar->height() : resizeControlSize));
- if (vBarRect.contains(result.point())) {
+ box->height() - (box->borderTop() + box->borderBottom()) - (m_hBar ? m_hBar->height() : resizeControlSize));
+ if (vBarRect.contains(localPoint)) {
result.setScrollbar(m_vBar.get());
return true;
}
@@ -1869,11 +1932,11 @@ bool RenderLayer::hitTestOverflowControls(HitTestResult& result)
resizeControlSize = max(resizeControlRect.width(), 0);
if (m_hBar) {
- IntRect hBarRect(absBounds.x() + box->borderLeft(),
- absBounds.bottom() - box->borderBottom() - m_hBar->height(),
- absBounds.width() - (box->borderLeft() + box->borderRight()) - (m_vBar ? m_vBar->width() : resizeControlSize),
+ IntRect hBarRect(box->borderLeft(),
+ box->height() - box->borderBottom() - m_hBar->height(),
+ box->width() - (box->borderLeft() + box->borderRight()) - (m_vBar ? m_vBar->width() : resizeControlSize),
m_hBar->height());
- if (hBarRect.contains(result.point())) {
+ if (hBarRect.contains(localPoint)) {
result.setScrollbar(m_hBar.get());
return true;
}
@@ -2046,7 +2109,7 @@ void RenderLayer::paintLayer(RenderLayer* rootLayer, GraphicsContext* p,
int ty = y - renderBoxY();
// Ensure our lists are up-to-date.
- updateLayerListsIfNeeded();
+ updateCompositingAndLayerListsIfNeeded();
bool selectionOnly = paintRestriction == PaintRestrictionSelectionOnly || paintRestriction == PaintRestrictionSelectionOnlyBlackText;
bool forceBlackText = paintRestriction == PaintRestrictionSelectionOnlyBlackText;
@@ -2336,7 +2399,7 @@ RenderLayer* RenderLayer::hitTestLayer(RenderLayer* rootLayer, RenderLayer* cont
}
// Ensure our lists and 3d status are up-to-date.
- updateLayerListsIfNeeded();
+ updateCompositingAndLayerListsIfNeeded();
update3DTransformedDescendantStatus();
RefPtr<HitTestingTransformState> localTransformState;
@@ -2574,13 +2637,13 @@ void RenderLayer::calculateClipRects(const RenderLayer* rootLayer, ClipRects& cl
}
if (renderer()->hasOverflowClip()) {
- IntRect newOverflowClip = toRenderBox(renderer())->overflowClipRect(x,y);
+ IntRect newOverflowClip = toRenderBox(renderer())->overflowClipRect(x, y);
clipRects.setOverflowClipRect(intersection(newOverflowClip, clipRects.overflowClipRect()));
if (renderer()->isPositioned() || renderer()->isRelPositioned())
clipRects.setPosClipRect(intersection(newOverflowClip, clipRects.posClipRect()));
}
if (renderer()->hasClip()) {
- IntRect newPosClip = toRenderBox(renderer())->clipRect(x,y);
+ IntRect newPosClip = toRenderBox(renderer())->clipRect(x, y);
clipRects.setPosClipRect(intersection(newPosClip, clipRects.posClipRect()));
clipRects.setOverflowClipRect(intersection(newPosClip, clipRects.overflowClipRect()));
clipRects.setFixedClipRect(intersection(newPosClip, clipRects.fixedClipRect()));
@@ -2630,10 +2693,10 @@ void RenderLayer::calculateRects(const RenderLayer* rootLayer, const IntRect& pa
if (renderer()->hasOverflowClip() || renderer()->hasClip()) {
// This layer establishes a clip of some kind.
if (renderer()->hasOverflowClip())
- foregroundRect.intersect(toRenderBox(renderer())->overflowClipRect(x,y));
+ foregroundRect.intersect(toRenderBox(renderer())->overflowClipRect(x, y));
if (renderer()->hasClip()) {
// Clip applies to *us* as well, so go ahead and update the damageRect.
- IntRect newPosClip = toRenderBox(renderer())->clipRect(x,y);
+ IntRect newPosClip = toRenderBox(renderer())->clipRect(x, y);
backgroundRect.intersect(newPosClip);
foregroundRect.intersect(newPosClip);
outlineRect.intersect(newPosClip);
@@ -2646,7 +2709,7 @@ void RenderLayer::calculateRects(const RenderLayer* rootLayer, const IntRect& pa
do {
IntRect shadowRect = layerBounds;
shadowRect.move(boxShadow->x, boxShadow->y);
- shadowRect.inflate(boxShadow->blur);
+ shadowRect.inflate(boxShadow->blur + boxShadow->spread);
overflow.unite(shadowRect);
boxShadow = boxShadow->next;
} while (boxShadow);
@@ -2920,7 +2983,7 @@ void RenderLayer::dirtyZOrderLists()
#if USE(ACCELERATED_COMPOSITING)
if (!renderer()->documentBeingDestroyed())
- compositor()->setCompositingLayersNeedUpdate();
+ compositor()->setCompositingLayersNeedRebuild();
#endif
}
@@ -2939,7 +3002,7 @@ void RenderLayer::dirtyNormalFlowList()
#if USE(ACCELERATED_COMPOSITING)
if (!renderer()->documentBeingDestroyed())
- compositor()->setCompositingLayersNeedUpdate();
+ compositor()->setCompositingLayersNeedRebuild();
#endif
}
@@ -3009,6 +3072,12 @@ void RenderLayer::collectLayers(Vector<RenderLayer*>*& posBuffer, Vector<RenderL
void RenderLayer::updateLayerListsIfNeeded()
{
+ updateZOrderLists();
+ updateNormalFlowList();
+}
+
+void RenderLayer::updateCompositingAndLayerListsIfNeeded()
+{
#if USE(ACCELERATED_COMPOSITING)
if (compositor()->inCompositingMode()) {
if ((isStackingContext() && m_zOrderListsDirty) || m_normalFlowListDirty)
@@ -3016,8 +3085,7 @@ void RenderLayer::updateLayerListsIfNeeded()
return;
}
#endif
- updateZOrderLists();
- updateNormalFlowList();
+ updateLayerListsIfNeeded();
}
void RenderLayer::repaintIncludingDescendants()
@@ -3129,7 +3197,7 @@ void RenderLayer::styleChanged(StyleDifference diff, const RenderStyle*)
updateTransform();
if (compositor()->updateLayerCompositingState(this))
- compositor()->setCompositingLayersNeedUpdate();
+ compositor()->setCompositingLayersNeedRebuild();
else if (m_backing)
m_backing->updateGraphicsLayerGeometry();
diff --git a/src/3rdparty/webkit/WebCore/rendering/RenderLayer.h b/src/3rdparty/webkit/WebCore/rendering/RenderLayer.h
index 4feede8..1772c66 100644
--- a/src/3rdparty/webkit/WebCore/rendering/RenderLayer.h
+++ b/src/3rdparty/webkit/WebCore/rendering/RenderLayer.h
@@ -264,7 +264,7 @@ public:
void positionOverflowControls(int tx, int ty);
bool isPointInResizeControl(const IntPoint& absolutePoint) const;
- bool hitTestOverflowControls(HitTestResult&);
+ bool hitTestOverflowControls(HitTestResult&, const IntPoint& localPoint);
IntSize offsetFromResizeCorner(const IntPoint& absolutePoint) const;
void paintOverflowControls(GraphicsContext*, int tx, int ty, const IntRect& damageRect);
@@ -294,7 +294,14 @@ public:
bool hasAcceleratedCompositing() const;
void updateLayerPosition();
- void updateLayerPositions(bool doFullRepaint = false, bool checkForRepaint = true);
+
+ enum UpdateLayerPositionsFlag {
+ DoFullRepaint = 1,
+ CheckForRepaint = 1 << 1,
+ UpdateCompositingLayers = 1 << 2,
+ };
+ typedef unsigned UpdateLayerPositionsFlags;
+ void updateLayerPositions(UpdateLayerPositionsFlags = DoFullRepaint | UpdateCompositingLayers);
void updateTransform();
@@ -375,6 +382,7 @@ public:
// Return a cached repaint rect, computed relative to the layer renderer's containerForRepaint.
IntRect repaintRect() const { return m_repaintRect; }
+ void computeRepaintRects();
void setNeedsFullRepaint(bool f = true) { m_needsFullRepaint = f; }
int staticX() const { return m_staticX; }
@@ -441,6 +449,7 @@ private:
void collectLayers(Vector<RenderLayer*>*&, Vector<RenderLayer*>*&);
void updateLayerListsIfNeeded();
+ void updateCompositingAndLayerListsIfNeeded();
enum PaintLayerFlag {
PaintLayerHaveTransparency = 1,
@@ -469,11 +478,18 @@ private:
bool shouldBeNormalFlowOnly() const;
+ // ScrollBarClient interface
virtual void valueChanged(Scrollbar*);
virtual void invalidateScrollbarRect(Scrollbar*, const IntRect&);
virtual bool isActive() const;
virtual bool scrollbarCornerPresent() const;
-
+ virtual IntRect convertFromScrollbarToContainingView(const Scrollbar*, const IntRect&) const;
+ virtual IntRect convertFromContainingViewToScrollbar(const Scrollbar*, const IntRect&) const;
+ virtual IntPoint convertFromScrollbarToContainingView(const Scrollbar*, const IntPoint&) const;
+ virtual IntPoint convertFromContainingViewToScrollbar(const Scrollbar*, const IntPoint&) const;
+
+ IntSize scrollbarOffset(const Scrollbar*) const;
+
void updateOverflowStatus(bool horizontalOverflow, bool verticalOverflow);
void childVisibilityChanged(bool newVisibility);
@@ -509,8 +525,8 @@ private:
bool hasCompositingDescendant() const { return m_hasCompositingDescendant; }
void setHasCompositingDescendant(bool b) { m_hasCompositingDescendant = b; }
- bool mustOverlayCompositedLayers() const { return m_mustOverlayCompositedLayers; }
- void setMustOverlayCompositedLayers(bool b) { m_mustOverlayCompositedLayers = b; }
+ bool mustOverlapCompositedLayers() const { return m_mustOverlapCompositedLayers; }
+ void setMustOverlapCompositedLayers(bool b) { m_mustOverlapCompositedLayers = b; }
#endif
private:
@@ -603,7 +619,7 @@ protected:
// in a preserves3D hierarchy. Hint to do 3D-aware hit testing.
#if USE(ACCELERATED_COMPOSITING)
bool m_hasCompositingDescendant : 1;
- bool m_mustOverlayCompositedLayers : 1;
+ bool m_mustOverlapCompositedLayers : 1;
#endif
RenderMarquee* m_marquee; // Used by layers with overflow:marquee
diff --git a/src/3rdparty/webkit/WebCore/rendering/RenderLayerBacking.cpp b/src/3rdparty/webkit/WebCore/rendering/RenderLayerBacking.cpp
index 1c6d43c..ce0ffb1 100644
--- a/src/3rdparty/webkit/WebCore/rendering/RenderLayerBacking.cpp
+++ b/src/3rdparty/webkit/WebCore/rendering/RenderLayerBacking.cpp
@@ -126,10 +126,10 @@ void RenderLayerBacking::updateLayerTransform()
m_graphicsLayer->setTransform(t);
}
-void RenderLayerBacking::updateAfterLayout()
+void RenderLayerBacking::updateAfterLayout(UpdateDepth updateDepth)
{
RenderLayerCompositor* layerCompositor = compositor();
- if (!layerCompositor->compositingLayersNeedUpdate()) {
+ if (!layerCompositor->compositingLayersNeedRebuild()) {
// Calling updateGraphicsLayerGeometry() here gives incorrect results, because the
// position of this layer's GraphicsLayer depends on the position of our compositing
// ancestor's GraphicsLayer. That cannot be determined until all the descendant
@@ -138,10 +138,12 @@ void RenderLayerBacking::updateAfterLayout()
// The solution is to update compositing children of this layer here,
// via updateCompositingChildrenGeometry().
setCompositedBounds(layerCompositor->calculateCompositedBounds(m_owningLayer, m_owningLayer));
- layerCompositor->updateCompositingChildrenGeometry(m_owningLayer, m_owningLayer);
+ layerCompositor->updateCompositingDescendantGeometry(m_owningLayer, m_owningLayer, updateDepth);
- if (!m_owningLayer->parent())
+ if (!m_owningLayer->parent()) {
+ updateGraphicsLayerGeometry();
layerCompositor->updateRootLayerPosition();
+ }
}
}
@@ -969,7 +971,11 @@ bool RenderLayerBacking::startAnimation(double beginTime, const Animation* anim,
if (hasOpacity && m_graphicsLayer->animateFloat(AnimatedPropertyOpacity, opacityVector, anim, beginTime))
didAnimateOpacity = true;
- return didAnimateTransform && didAnimateOpacity;
+ bool runningAcceleratedAnimation = didAnimateTransform && didAnimateOpacity;
+ if (runningAcceleratedAnimation)
+ compositor()->didStartAcceleratedAnimation();
+
+ return runningAcceleratedAnimation;
}
bool RenderLayerBacking::startTransition(double beginTime, int property, const RenderStyle* fromStyle, const RenderStyle* toStyle)
@@ -1003,6 +1009,9 @@ bool RenderLayerBacking::startTransition(double beginTime, int property, const R
didAnimate = true;
}
}
+
+ if (didAnimate)
+ compositor()->didStartAcceleratedAnimation();
return didAnimate;
}
diff --git a/src/3rdparty/webkit/WebCore/rendering/RenderLayerBacking.h b/src/3rdparty/webkit/WebCore/rendering/RenderLayerBacking.h
index 50a77db..25b1a31 100644
--- a/src/3rdparty/webkit/WebCore/rendering/RenderLayerBacking.h
+++ b/src/3rdparty/webkit/WebCore/rendering/RenderLayerBacking.h
@@ -53,7 +53,8 @@ public:
RenderLayer* owningLayer() const { return m_owningLayer; }
- void updateAfterLayout();
+ enum UpdateDepth { CompositingChildren, AllDescendants };
+ void updateAfterLayout(UpdateDepth);
// Returns true if layer configuration changed.
bool updateGraphicsLayerConfiguration();
diff --git a/src/3rdparty/webkit/WebCore/rendering/RenderLayerCompositor.cpp b/src/3rdparty/webkit/WebCore/rendering/RenderLayerCompositor.cpp
index 8b07ca9..b7bccaa 100644
--- a/src/3rdparty/webkit/WebCore/rendering/RenderLayerCompositor.cpp
+++ b/src/3rdparty/webkit/WebCore/rendering/RenderLayerCompositor.cpp
@@ -75,20 +75,14 @@ struct CompositingState {
#endif
};
-static TransformationMatrix flipTransform()
-{
- TransformationMatrix flipper;
- flipper.flipY();
- return flipper;
-}
-
RenderLayerCompositor::RenderLayerCompositor(RenderView* renderView)
: m_renderView(renderView)
, m_rootPlatformLayer(0)
+ , m_hasAcceleratedCompositing(true)
+ , m_compositingConsultsOverlap(true)
, m_compositing(false)
, m_rootLayerAttached(false)
- , m_compositingLayersNeedUpdate(false)
- , m_hasAcceleratedCompositing(true)
+ , m_compositingLayersNeedRebuild(false)
#if PROFILE_LAYER_REBUILD
, m_rootLayerUpdateCount(0)
#endif // PROFILE_LAYER_REBUILD
@@ -120,21 +114,21 @@ void RenderLayerCompositor::cacheAcceleratedCompositingEnabledFlag()
{
bool hasAcceleratedCompositing = false;
if (Settings* settings = m_renderView->document()->settings())
- hasAcceleratedCompositing = settings-> acceleratedCompositingEnabled();
+ hasAcceleratedCompositing = settings->acceleratedCompositingEnabled();
if (hasAcceleratedCompositing != m_hasAcceleratedCompositing)
- setCompositingLayersNeedUpdate();
+ setCompositingLayersNeedRebuild();
m_hasAcceleratedCompositing = hasAcceleratedCompositing;
}
-void RenderLayerCompositor::setCompositingLayersNeedUpdate(bool needUpdate)
+void RenderLayerCompositor::setCompositingLayersNeedRebuild(bool needRebuild)
{
if (inCompositingMode()) {
- if (!m_compositingLayersNeedUpdate && needUpdate)
+ if (!m_compositingLayersNeedRebuild && needRebuild)
scheduleViewUpdate();
- m_compositingLayersNeedUpdate = needUpdate;
+ m_compositingLayersNeedRebuild = needRebuild;
}
}
@@ -150,14 +144,17 @@ void RenderLayerCompositor::scheduleViewUpdate()
void RenderLayerCompositor::updateCompositingLayers(RenderLayer* updateRoot)
{
- if (!m_compositingLayersNeedUpdate)
+ // When m_compositingConsultsOverlap is true, then layer positions affect compositing,
+ // so we can only bail here when we're not looking at overlap.
+ if (!m_compositingLayersNeedRebuild && !m_compositingConsultsOverlap)
return;
ASSERT(inCompositingMode());
+ bool needLayerRebuild = m_compositingLayersNeedRebuild;
if (!updateRoot) {
- // Only clear the flag if we're updating the entire hierarchy
- m_compositingLayersNeedUpdate = false;
+ // Only clear the flag if we're updating the entire hierarchy.
+ m_compositingLayersNeedRebuild = false;
updateRoot = rootRenderLayer();
}
@@ -173,13 +170,20 @@ void RenderLayerCompositor::updateCompositingLayers(RenderLayer* updateRoot)
// complex.
{
CompositingState compState(updateRoot);
- computeCompositingRequirements(updateRoot, compState);
+ bool layersChanged;
+ if (m_compositingConsultsOverlap) {
+ OverlapMap overlapTestRequestMap;
+ computeCompositingRequirements(updateRoot, &overlapTestRequestMap, compState, layersChanged);
+ } else
+ computeCompositingRequirements(updateRoot, 0, compState, layersChanged);
+
+ needLayerRebuild |= layersChanged;
}
// Now create and parent the compositing layers.
{
CompositingState compState(updateRoot);
- rebuildCompositingLayerTree(updateRoot, compState);
+ rebuildCompositingLayerTree(updateRoot, compState, needLayerRebuild);
}
#if PROFILE_LAYER_REBUILD
@@ -188,7 +192,7 @@ void RenderLayerCompositor::updateCompositingLayers(RenderLayer* updateRoot)
fprintf(stderr, "Update %d: computeCompositingRequirements for the world took %fms\n",
m_rootLayerUpdateCount, 1000.0 * (endTime - startTime));
#endif
- ASSERT(updateRoot || !m_compositingLayersNeedUpdate);
+ ASSERT(updateRoot || !m_compositingLayersNeedRebuild);
if (!hasAcceleratedCompositing())
enableCompositingMode(false);
@@ -200,6 +204,11 @@ bool RenderLayerCompositor::updateBacking(RenderLayer* layer, CompositingChangeR
if (needsToBeComposited(layer)) {
enableCompositingMode();
+
+ // 3D transforms turn off the testing of overlap.
+ if (requiresCompositingForTransform(layer->renderer()))
+ setCompositingConsultsOverlap(false);
+
if (!layer->backing()) {
// If we need to repaint, do so before making backing
@@ -214,6 +223,10 @@ bool RenderLayerCompositor::updateBacking(RenderLayer* layer, CompositingChangeR
layer->clearBacking();
layerChanged = true;
+ // The layer's cached repaints rects are relative to the repaint container, so change when
+ // compositing changes; we need to update them here.
+ layer->computeRepaintRects();
+
// If we need to repaint, do so now that we've removed the backing
if (shouldRepaint == CompositingChangeRepaintNow)
repaintOnCompositingChange(layer);
@@ -261,13 +274,20 @@ void RenderLayerCompositor::repaintOnCompositingChange(RenderLayer* layer)
// RenderLayers that are rendered by the composited RenderLayer.
IntRect RenderLayerCompositor::calculateCompositedBounds(const RenderLayer* layer, const RenderLayer* ancestorLayer)
{
+ if (!layer->isSelfPaintingLayer())
+ return IntRect();
+
IntRect boundingBoxRect, unionBounds;
boundingBoxRect = unionBounds = layer->localBoundingBox();
- ASSERT(layer->isStackingContext() || (!layer->m_posZOrderList || layer->m_posZOrderList->size() == 0));
+ if (layer->renderer()->hasOverflowClip() || layer->renderer()->hasMask()) {
+ int ancestorRelX = 0, ancestorRelY = 0;
+ layer->convertToLayerCoords(ancestorLayer, ancestorRelX, ancestorRelY);
+ boundingBoxRect.move(ancestorRelX, ancestorRelY);
+ return boundingBoxRect;
+ }
- if (!layer->isSelfPaintingLayer())
- return IntRect();
+ ASSERT(layer->isStackingContext() || (!layer->m_posZOrderList || layer->m_posZOrderList->size() == 0));
if (Vector<RenderLayer*>* negZOrderList = layer->negZOrderList()) {
size_t listSize = negZOrderList->size();
@@ -317,7 +337,7 @@ IntRect RenderLayerCompositor::calculateCompositedBounds(const RenderLayer* laye
void RenderLayerCompositor::layerWasAdded(RenderLayer* /*parent*/, RenderLayer* /*child*/)
{
- setCompositingLayersNeedUpdate();
+ setCompositingLayersNeedRebuild();
}
void RenderLayerCompositor::layerWillBeRemoved(RenderLayer* parent, RenderLayer* child)
@@ -343,7 +363,7 @@ void RenderLayerCompositor::layerWillBeRemoved(RenderLayer* parent, RenderLayer*
m_renderView->frameView()->setNeedsOneShotDrawingSynchronization();
}
- setCompositingLayersNeedUpdate();
+ setCompositingLayersNeedRebuild();
}
RenderLayer* RenderLayerCompositor::enclosingNonStackingClippingLayer(const RenderLayer* layer) const
@@ -358,6 +378,31 @@ RenderLayer* RenderLayerCompositor::enclosingNonStackingClippingLayer(const Rend
return 0;
}
+void RenderLayerCompositor::addToOverlapMap(OverlapMap& overlapMap, RenderLayer* layer, IntRect& layerBounds, bool& boundsComputed)
+{
+ if (layer->isRootLayer())
+ return;
+
+ if (!boundsComputed) {
+ layerBounds = layer->renderer()->localToAbsoluteQuad(FloatRect(layer->localBoundingBox())).enclosingBoundingBox();
+ boundsComputed = true;
+ }
+
+ overlapMap.add(layer, layerBounds);
+}
+
+bool RenderLayerCompositor::overlapsCompositedLayers(OverlapMap& overlapMap, const IntRect& layerBounds)
+{
+ RenderLayerCompositor::OverlapMap::const_iterator end = overlapMap.end();
+ for (RenderLayerCompositor::OverlapMap::const_iterator it = overlapMap.begin(); it != end; ++it) {
+ const IntRect& bounds = it->second;
+ if (layerBounds.intersects(bounds))
+ return true;
+ }
+
+ return false;
+}
+
// Recurse through the layers in z-index and overflow order (which is equivalent to painting order)
// For the z-order children of a compositing layer:
// If a child layers has a compositing layer, then all subsequent layers must
@@ -367,7 +412,7 @@ RenderLayer* RenderLayerCompositor::enclosingNonStackingClippingLayer(const Rend
// must be compositing so that its contents render over that child.
// This implies that its positive z-index children must also be compositing.
//
-void RenderLayerCompositor::computeCompositingRequirements(RenderLayer* layer, struct CompositingState& compositingState)
+void RenderLayerCompositor::computeCompositingRequirements(RenderLayer* layer, OverlapMap* overlapMap, struct CompositingState& compositingState, bool& layersChanged)
{
layer->updateLayerPosition();
layer->updateZOrderLists();
@@ -375,7 +420,19 @@ void RenderLayerCompositor::computeCompositingRequirements(RenderLayer* layer, s
// Clear the flag
layer->setHasCompositingDescendant(false);
- layer->setMustOverlayCompositedLayers(compositingState.m_subtreeIsCompositing);
+
+ bool mustOverlapCompositedLayers = compositingState.m_subtreeIsCompositing;
+
+ bool haveComputedBounds = false;
+ IntRect absBounds;
+ if (overlapMap && mustOverlapCompositedLayers) {
+ // If we're testing for overlap, we only need to composite if we overlap something that is already composited.
+ absBounds = layer->renderer()->localToAbsoluteQuad(FloatRect(layer->localBoundingBox())).enclosingBoundingBox();
+ haveComputedBounds = true;
+ mustOverlapCompositedLayers &= overlapsCompositedLayers(*overlapMap, absBounds);
+ }
+
+ layer->setMustOverlapCompositedLayers(mustOverlapCompositedLayers);
// The children of this layer don't need to composite, unless there is
// a compositing layer among them, so start by inheriting the compositing
@@ -391,6 +448,8 @@ void RenderLayerCompositor::computeCompositingRequirements(RenderLayer* layer, s
compositingState.m_subtreeIsCompositing = true;
// This layer now acts as the ancestor for kids.
childState.m_compositingAncestor = layer;
+ if (overlapMap)
+ addToOverlapMap(*overlapMap, layer, absBounds, haveComputedBounds);
}
#if ENABLE(VIDEO)
@@ -407,14 +466,16 @@ void RenderLayerCompositor::computeCompositingRequirements(RenderLayer* layer, s
size_t listSize = negZOrderList->size();
for (size_t i = 0; i < listSize; ++i) {
RenderLayer* curLayer = negZOrderList->at(i);
- computeCompositingRequirements(curLayer, childState);
+ computeCompositingRequirements(curLayer, overlapMap, childState, layersChanged);
// If we have to make a layer for this child, make one now so we can have a contents layer
// (since we need to ensure that the -ve z-order child renders underneath our contents).
if (childState.m_subtreeIsCompositing) {
// make layer compositing
- layer->setMustOverlayCompositedLayers(true);
+ layer->setMustOverlapCompositedLayers(true);
childState.m_compositingAncestor = layer;
+ if (overlapMap)
+ addToOverlapMap(*overlapMap, layer, absBounds, haveComputedBounds);
}
}
}
@@ -425,7 +486,7 @@ void RenderLayerCompositor::computeCompositingRequirements(RenderLayer* layer, s
size_t listSize = normalFlowList->size();
for (size_t i = 0; i < listSize; ++i) {
RenderLayer* curLayer = normalFlowList->at(i);
- computeCompositingRequirements(curLayer, childState);
+ computeCompositingRequirements(curLayer, overlapMap, childState, layersChanged);
}
}
@@ -434,7 +495,7 @@ void RenderLayerCompositor::computeCompositingRequirements(RenderLayer* layer, s
size_t listSize = posZOrderList->size();
for (size_t i = 0; i < listSize; ++i) {
RenderLayer* curLayer = posZOrderList->at(i);
- computeCompositingRequirements(curLayer, childState);
+ computeCompositingRequirements(curLayer, overlapMap, childState, layersChanged);
}
}
}
@@ -443,8 +504,11 @@ void RenderLayerCompositor::computeCompositingRequirements(RenderLayer* layer, s
// be composited. Also, if we have opacity < 1, then we need to be a layer so that
// the child layers are opaque, then rendered with opacity on this layer.
if (childState.m_subtreeIsCompositing &&
- (layer->renderer()->hasTransform() || layer->renderer()->style()->opacity() < 1))
- layer->setMustOverlayCompositedLayers(true);
+ (layer->renderer()->hasTransform() || layer->renderer()->style()->opacity() < 1)) {
+ layer->setMustOverlapCompositedLayers(true);
+ if (overlapMap)
+ addToOverlapMap(*overlapMap, layer, absBounds, haveComputedBounds);
+ }
// Subsequent layers in the parent stacking context also need to composite.
if (childState.m_subtreeIsCompositing)
@@ -460,7 +524,8 @@ void RenderLayerCompositor::computeCompositingRequirements(RenderLayer* layer, s
layer->setHasCompositingDescendant(childState.m_subtreeIsCompositing);
// Update backing now, so that we can use isComposited() reliably during tree traversal in rebuildCompositingLayerTree().
- updateBacking(layer, CompositingChangeRepaintNow);
+ if (updateBacking(layer, CompositingChangeRepaintNow))
+ layersChanged = true;
}
void RenderLayerCompositor::setCompositingParent(RenderLayer* childLayer, RenderLayer* parentLayer)
@@ -515,7 +580,7 @@ bool RenderLayerCompositor::canAccelerateVideoRendering(RenderVideo* o) const
}
#endif
-void RenderLayerCompositor::rebuildCompositingLayerTree(RenderLayer* layer, struct CompositingState& compositingState)
+void RenderLayerCompositor::rebuildCompositingLayerTree(RenderLayer* layer, struct CompositingState& compositingState, bool updateHierarchy)
{
// Make the layer compositing if necessary, and set up clipping and content layers.
// Note that we can only do work here that is independent of whether the descendant layers
@@ -533,11 +598,12 @@ void RenderLayerCompositor::rebuildCompositingLayerTree(RenderLayer* layer, stru
updateRootLayerPosition();
// FIXME: make this more incremental
- layerBacking->parentForSublayers()->removeAllChildren();
+ if (updateHierarchy)
+ layerBacking->parentForSublayers()->removeAllChildren();
}
// host the document layer in the RenderView's root layer
- if (layer->isRootLayer() && layer->isComposited())
+ if (updateHierarchy && layer->isRootLayer() && layer->isComposited())
parentInRootLayer(layer);
CompositingState childState = compositingState;
@@ -559,13 +625,13 @@ void RenderLayerCompositor::rebuildCompositingLayerTree(RenderLayer* layer, stru
size_t listSize = negZOrderList->size();
for (size_t i = 0; i < listSize; ++i) {
RenderLayer* curLayer = negZOrderList->at(i);
- rebuildCompositingLayerTree(curLayer, childState);
- if (curLayer->isComposited())
+ rebuildCompositingLayerTree(curLayer, childState, updateHierarchy);
+ if (updateHierarchy && curLayer->isComposited())
setCompositingParent(curLayer, childState.m_compositingAncestor);
}
}
- if (layerBacking && layerBacking->contentsLayer()) {
+ if (updateHierarchy && layerBacking && layerBacking->contentsLayer()) {
// we only have a contents layer if we have an m_layer
layerBacking->contentsLayer()->removeFromParent();
@@ -579,8 +645,8 @@ void RenderLayerCompositor::rebuildCompositingLayerTree(RenderLayer* layer, stru
size_t listSize = normalFlowList->size();
for (size_t i = 0; i < listSize; ++i) {
RenderLayer* curLayer = normalFlowList->at(i);
- rebuildCompositingLayerTree(curLayer, childState);
- if (curLayer->isComposited())
+ rebuildCompositingLayerTree(curLayer, childState, updateHierarchy);
+ if (updateHierarchy && curLayer->isComposited())
setCompositingParent(curLayer, childState.m_compositingAncestor);
}
}
@@ -590,8 +656,8 @@ void RenderLayerCompositor::rebuildCompositingLayerTree(RenderLayer* layer, stru
size_t listSize = posZOrderList->size();
for (size_t i = 0; i < listSize; ++i) {
RenderLayer* curLayer = posZOrderList->at(i);
- rebuildCompositingLayerTree(curLayer, childState);
- if (curLayer->isComposited())
+ rebuildCompositingLayerTree(curLayer, childState, updateHierarchy);
+ if (updateHierarchy && curLayer->isComposited())
setCompositingParent(curLayer, childState.m_compositingAncestor);
}
}
@@ -600,13 +666,14 @@ void RenderLayerCompositor::rebuildCompositingLayerTree(RenderLayer* layer, stru
// Recurs down the RenderLayer tree until its finds the compositing descendants of compositingAncestor and updates their geometry.
-void RenderLayerCompositor::updateCompositingChildrenGeometry(RenderLayer* compositingAncestor, RenderLayer* layer)
+void RenderLayerCompositor::updateCompositingDescendantGeometry(RenderLayer* compositingAncestor, RenderLayer* layer, RenderLayerBacking::UpdateDepth updateDepth)
{
if (layer != compositingAncestor) {
if (RenderLayerBacking* layerBacking = layer->backing()) {
layerBacking->setCompositedBounds(calculateCompositedBounds(layer, layer));
layerBacking->updateGraphicsLayerGeometry();
- return;
+ if (updateDepth == RenderLayerBacking::CompositingChildren)
+ return;
}
}
@@ -617,21 +684,21 @@ void RenderLayerCompositor::updateCompositingChildrenGeometry(RenderLayer* compo
if (Vector<RenderLayer*>* negZOrderList = layer->negZOrderList()) {
size_t listSize = negZOrderList->size();
for (size_t i = 0; i < listSize; ++i)
- updateCompositingChildrenGeometry(compositingAncestor, negZOrderList->at(i));
+ updateCompositingDescendantGeometry(compositingAncestor, negZOrderList->at(i), updateDepth);
}
}
if (Vector<RenderLayer*>* normalFlowList = layer->normalFlowList()) {
size_t listSize = normalFlowList->size();
for (size_t i = 0; i < listSize; ++i)
- updateCompositingChildrenGeometry(compositingAncestor, normalFlowList->at(i));
+ updateCompositingDescendantGeometry(compositingAncestor, normalFlowList->at(i), updateDepth);
}
if (layer->isStackingContext()) {
if (Vector<RenderLayer*>* posZOrderList = layer->posZOrderList()) {
size_t listSize = posZOrderList->size();
for (size_t i = 0; i < listSize; ++i)
- updateCompositingChildrenGeometry(compositingAncestor, posZOrderList->at(i));
+ updateCompositingDescendantGeometry(compositingAncestor, posZOrderList->at(i), updateDepth);
}
}
}
@@ -729,6 +796,14 @@ void RenderLayerCompositor::updateRootLayerPosition()
m_rootPlatformLayer->setSize(FloatSize(m_renderView->overflowWidth(), m_renderView->overflowHeight()));
}
+void RenderLayerCompositor::didStartAcceleratedAnimation()
+{
+ // If an accelerated animation or transition runs, we have to turn off overlap checking because
+ // we don't do layout for every frame, but we have to ensure that the layering is
+ // correct between the animating object and other objects on the page.
+ setCompositingConsultsOverlap(false);
+}
+
bool RenderLayerCompositor::has3DContent() const
{
return layerHas3DContent(rootRenderLayer());
@@ -739,7 +814,7 @@ bool RenderLayerCompositor::needsToBeComposited(const RenderLayer* layer) const
if (!m_hasAcceleratedCompositing || !layer->isSelfPaintingLayer())
return false;
- return requiresCompositingLayer(layer) || layer->mustOverlayCompositedLayers();
+ return requiresCompositingLayer(layer) || layer->mustOverlapCompositedLayers();
}
// Note: this specifies whether the RL needs a compositing layer for intrinsic reasons.
@@ -847,9 +922,8 @@ void RenderLayerCompositor::ensureRootPlatformLayer()
m_rootPlatformLayer = GraphicsLayer::createGraphicsLayer(0);
m_rootPlatformLayer->setSize(FloatSize(m_renderView->overflowWidth(), m_renderView->overflowHeight()));
m_rootPlatformLayer->setPosition(FloatPoint(0, 0));
-
- if (GraphicsLayer::compositingCoordinatesOrientation() == GraphicsLayer::CompositingCoordinatesBottomUp)
- m_rootPlatformLayer->setChildrenTransform(flipTransform());
+ // The root layer does flipping if we need it on this platform.
+ m_rootPlatformLayer->setGeometryOrientation(GraphicsLayer::compositingCoordinatesOrientation());
// Need to clip to prevent transformed content showing outside this frame
m_rootPlatformLayer->setMasksToBounds(true);
diff --git a/src/3rdparty/webkit/WebCore/rendering/RenderLayerCompositor.h b/src/3rdparty/webkit/WebCore/rendering/RenderLayerCompositor.h
index bcd6a3f..778eccc 100644
--- a/src/3rdparty/webkit/WebCore/rendering/RenderLayerCompositor.h
+++ b/src/3rdparty/webkit/WebCore/rendering/RenderLayerCompositor.h
@@ -27,6 +27,7 @@
#define RenderLayerCompositor_h
#include "RenderLayer.h"
+#include "RenderLayerBacking.h"
namespace WebCore {
@@ -63,9 +64,16 @@ public:
// Copy the acceleratedCompositingEnabledFlag from Settings
void cacheAcceleratedCompositingEnabledFlag();
- void setCompositingLayersNeedUpdate(bool needUpdate = true);
- bool compositingLayersNeedUpdate() const { return m_compositingLayersNeedUpdate; }
+ // Called when the layer hierarchy needs to be udpated (compositing layers have been
+ // created, destroyed or re-parented).
+ void setCompositingLayersNeedRebuild(bool needRebuild = true);
+ bool compositingLayersNeedRebuild() const { return m_compositingLayersNeedRebuild; }
+ // Controls whether or not to consult geometry when deciding which layers need
+ // to be composited. Defaults to true.
+ void setCompositingConsultsOverlap(bool b) { m_compositingConsultsOverlap = b; }
+ bool compositingConsultsOverlap() const { return m_compositingConsultsOverlap; }
+
void scheduleViewUpdate();
// Rebuild the tree of compositing layers
@@ -76,7 +84,7 @@ public:
bool updateLayerCompositingState(RenderLayer*, CompositingChangeRepaint = CompositingChangeRepaintNow);
// Update the geometry for compositing children of compositingAncestor.
- void updateCompositingChildrenGeometry(RenderLayer* compositingAncestor, RenderLayer* layer);
+ void updateCompositingDescendantGeometry(RenderLayer* compositingAncestor, RenderLayer* layer, RenderLayerBacking::UpdateDepth);
// Whether layer's backing needs a graphics layer to do clipping by an ancestor (non-stacking-context parent with overflow).
bool clippedByAncestor(RenderLayer*) const;
@@ -110,6 +118,8 @@ public:
void updateRootLayerPosition();
+ void didStartAcceleratedAnimation();
+
#if ENABLE(VIDEO)
// Use by RenderVideo to ask if it should try to use accelerated compositing.
bool canAccelerateVideoRendering(RenderVideo*) const;
@@ -131,8 +141,13 @@ private:
// Repaint the given rect (which is layer's coords), and regions of child layers that intersect that rect.
void recursiveRepaintLayerRect(RenderLayer* layer, const IntRect& rect);
- void computeCompositingRequirements(RenderLayer*, struct CompositingState&);
- void rebuildCompositingLayerTree(RenderLayer* layer, struct CompositingState&);
+ typedef HashMap<RenderLayer*, IntRect> OverlapMap;
+ static void addToOverlapMap(OverlapMap&, RenderLayer*, IntRect& layerBounds, bool& boundsComputed);
+ static bool overlapsCompositedLayers(OverlapMap&, const IntRect& layerBounds);
+
+ // Returns true if any layer's compositing changed
+ void computeCompositingRequirements(RenderLayer*, OverlapMap*, struct CompositingState&, bool& layersChanged);
+ void rebuildCompositingLayerTree(RenderLayer* layer, struct CompositingState&, bool updateHierarchy);
// Hook compositing layers together
void setCompositingParent(RenderLayer* childLayer, RenderLayer* parentLayer);
@@ -153,10 +168,11 @@ private:
private:
RenderView* m_renderView;
GraphicsLayer* m_rootPlatformLayer;
+ bool m_hasAcceleratedCompositing;
+ bool m_compositingConsultsOverlap;
bool m_compositing;
bool m_rootLayerAttached;
- bool m_compositingLayersNeedUpdate;
- bool m_hasAcceleratedCompositing;
+ bool m_compositingLayersNeedRebuild;
#if PROFILE_LAYER_REBUILD
int m_rootLayerUpdateCount;
diff --git a/src/3rdparty/webkit/WebCore/rendering/RenderListBox.cpp b/src/3rdparty/webkit/WebCore/rendering/RenderListBox.cpp
index 83c569e..e6c28f7 100644
--- a/src/3rdparty/webkit/WebCore/rendering/RenderListBox.cpp
+++ b/src/3rdparty/webkit/WebCore/rendering/RenderListBox.cpp
@@ -370,7 +370,7 @@ bool RenderListBox::isPointInOverflowControl(HitTestResult& result, int _x, int
return false;
IntRect vertRect(_tx + width() - borderRight() - m_vBar->width(),
- _ty,
+ _ty + borderTop(),
m_vBar->width(),
height() - borderTop() - borderBottom());
@@ -416,22 +416,22 @@ void RenderListBox::panScroll(const IntPoint& panStartMousePosition)
int yDelta = currentMousePosition.y() - panStartMousePosition.y();
- // If the point is too far from the center we limit the speed
+ // If the point is too far from the center we limit the speed
yDelta = max(min(yDelta, maxSpeed), -maxSpeed);
- if(abs(yDelta) < iconRadius) // at the center we let the space for the icon
+ if (abs(yDelta) < iconRadius) // at the center we let the space for the icon
return;
if (yDelta > 0)
//offsetY = view()->viewHeight();
absOffset.move(0, listHeight());
- else if (yDelta < 0)
- yDelta--;
+ else if (yDelta < 0)
+ yDelta--;
// Let's attenuate the speed
yDelta /= speedReducer;
- IntPoint scrollPoint(0,0);
+ IntPoint scrollPoint(0, 0);
scrollPoint.setY(absOffset.y() + yDelta);
int newOffset = scrollToward(scrollPoint);
if (newOffset < 0)
@@ -623,6 +623,64 @@ void RenderListBox::invalidateScrollbarRect(Scrollbar* scrollbar, const IntRect&
repaintRectangle(scrollRect);
}
+IntRect RenderListBox::convertFromScrollbarToContainingView(const Scrollbar* scrollbar, const IntRect& scrollbarRect) const
+{
+ RenderView* view = this->view();
+ if (!view)
+ return scrollbarRect;
+
+ IntRect rect = scrollbarRect;
+
+ int scrollbarLeft = width() - borderRight() - scrollbar->width();
+ int scrollbarTop = borderTop();
+ rect.move(scrollbarLeft, scrollbarTop);
+
+ return view->frameView()->convertFromRenderer(this, rect);
+}
+
+IntRect RenderListBox::convertFromContainingViewToScrollbar(const Scrollbar* scrollbar, const IntRect& parentRect) const
+{
+ RenderView* view = this->view();
+ if (!view)
+ return parentRect;
+
+ IntRect rect = view->frameView()->convertToRenderer(this, parentRect);
+
+ int scrollbarLeft = width() - borderRight() - scrollbar->width();
+ int scrollbarTop = borderTop();
+ rect.move(-scrollbarLeft, -scrollbarTop);
+ return rect;
+}
+
+IntPoint RenderListBox::convertFromScrollbarToContainingView(const Scrollbar* scrollbar, const IntPoint& scrollbarPoint) const
+{
+ RenderView* view = this->view();
+ if (!view)
+ return scrollbarPoint;
+
+ IntPoint point = scrollbarPoint;
+
+ int scrollbarLeft = width() - borderRight() - scrollbar->width();
+ int scrollbarTop = borderTop();
+ point.move(scrollbarLeft, scrollbarTop);
+
+ return view->frameView()->convertFromRenderer(this, point);
+}
+
+IntPoint RenderListBox::convertFromContainingViewToScrollbar(const Scrollbar* scrollbar, const IntPoint& parentPoint) const
+{
+ RenderView* view = this->view();
+ if (!view)
+ return parentPoint;
+
+ IntPoint point = view->frameView()->convertToRenderer(this, parentPoint);
+
+ int scrollbarLeft = width() - borderRight() - scrollbar->width();
+ int scrollbarTop = borderTop();
+ point.move(-scrollbarLeft, -scrollbarTop);
+ return point;
+}
+
PassRefPtr<Scrollbar> RenderListBox::createScrollbar()
{
RefPtr<Scrollbar> widget;
diff --git a/src/3rdparty/webkit/WebCore/rendering/RenderListBox.h b/src/3rdparty/webkit/WebCore/rendering/RenderListBox.h
index b8c0540..dd257a8 100644
--- a/src/3rdparty/webkit/WebCore/rendering/RenderListBox.h
+++ b/src/3rdparty/webkit/WebCore/rendering/RenderListBox.h
@@ -101,6 +101,10 @@ private:
virtual void invalidateScrollbarRect(Scrollbar*, const IntRect&);
virtual bool isActive() const;
virtual bool scrollbarCornerPresent() const { return false; } // We don't support resize on list boxes yet. If we did this would have to change.
+ virtual IntRect convertFromScrollbarToContainingView(const Scrollbar*, const IntRect&) const;
+ virtual IntRect convertFromContainingViewToScrollbar(const Scrollbar*, const IntRect&) const;
+ virtual IntPoint convertFromScrollbarToContainingView(const Scrollbar*, const IntPoint&) const;
+ virtual IntPoint convertFromContainingViewToScrollbar(const Scrollbar*, const IntPoint&) const;
void setHasVerticalScrollbar(bool hasScrollbar);
PassRefPtr<Scrollbar> createScrollbar();
diff --git a/src/3rdparty/webkit/WebCore/rendering/RenderMarquee.cpp b/src/3rdparty/webkit/WebCore/rendering/RenderMarquee.cpp
index 48659f7..31a8305 100644
--- a/src/3rdparty/webkit/WebCore/rendering/RenderMarquee.cpp
+++ b/src/3rdparty/webkit/WebCore/rendering/RenderMarquee.cpp
@@ -235,7 +235,7 @@ void RenderMarquee::updateMarqueeStyle()
// to a marquee of 200px.
if (isHorizontal()) {
if (s->height().isFixed() && s->height().value() < s->fontSize())
- s->setHeight(Length(s->fontSize(),Fixed));
+ s->setHeight(Length(s->fontSize(), Fixed));
} else if (s->height().isAuto()) //vertical marquee with no specified height
s->setHeight(Length(200, Fixed));
@@ -309,4 +309,3 @@ void RenderMarquee::timerFired(Timer<RenderMarquee>*)
}
} // namespace WebCore
-
diff --git a/src/3rdparty/webkit/WebCore/rendering/RenderMedia.cpp b/src/3rdparty/webkit/WebCore/rendering/RenderMedia.cpp
index b0eb097..b87e99d 100644
--- a/src/3rdparty/webkit/WebCore/rendering/RenderMedia.cpp
+++ b/src/3rdparty/webkit/WebCore/rendering/RenderMedia.cpp
@@ -45,7 +45,8 @@ using namespace HTMLNames;
static const double cTimeUpdateRepeatDelay = 0.2;
static const double cOpacityAnimationRepeatDelay = 0.05;
// FIXME get this from style
-static const double cOpacityAnimationDuration = 0.1;
+static const double cOpacityAnimationDurationFadeIn = 0.1;
+static const double cOpacityAnimationDurationFadeOut = 0.3;
RenderMedia::RenderMedia(HTMLMediaElement* video)
: RenderReplaced(video)
@@ -53,9 +54,9 @@ RenderMedia::RenderMedia(HTMLMediaElement* video)
, m_opacityAnimationTimer(this, &RenderMedia::opacityAnimationTimerFired)
, m_mouseOver(false)
, m_opacityAnimationStartTime(0)
+ , m_opacityAnimationDuration(cOpacityAnimationDurationFadeIn)
, m_opacityAnimationFrom(0)
, m_opacityAnimationTo(1.0f)
- , m_previousVisible(VISIBLE)
{
}
@@ -65,6 +66,7 @@ RenderMedia::RenderMedia(HTMLMediaElement* video, const IntSize& intrinsicSize)
, m_opacityAnimationTimer(this, &RenderMedia::opacityAnimationTimerFired)
, m_mouseOver(false)
, m_opacityAnimationStartTime(0)
+ , m_opacityAnimationDuration(cOpacityAnimationDurationFadeIn)
, m_opacityAnimationFrom(0)
, m_opacityAnimationTo(1.0f)
{
@@ -104,20 +106,32 @@ void RenderMedia::styleDidChange(StyleDifference diff, const RenderStyle* oldSty
RenderReplaced::styleDidChange(diff, oldStyle);
if (m_controlsShadowRoot) {
- if (m_panel->renderer())
- m_panel->renderer()->setStyle(getCachedPseudoStyle(MEDIA_CONTROLS_PANEL));
-
- if (m_timelineContainer->renderer())
- m_timelineContainer->renderer()->setStyle(getCachedPseudoStyle(MEDIA_CONTROLS_TIMELINE_CONTAINER));
-
- m_muteButton->updateStyle();
- m_playButton->updateStyle();
- m_seekBackButton->updateStyle();
- m_seekForwardButton->updateStyle();
- m_timeline->updateStyle();
- m_fullscreenButton->updateStyle();
- m_currentTimeDisplay->updateStyle();
- m_timeRemainingDisplay->updateStyle();
+ if (m_panel)
+ m_panel->updateStyle();
+ if (m_muteButton)
+ m_muteButton->updateStyle();
+ if (m_playButton)
+ m_playButton->updateStyle();
+ if (m_seekBackButton)
+ m_seekBackButton->updateStyle();
+ if (m_seekForwardButton)
+ m_seekForwardButton->updateStyle();
+ if (m_rewindButton)
+ m_rewindButton->updateStyle();
+ if (m_returnToRealtimeButton)
+ m_returnToRealtimeButton->updateStyle();
+ if (m_statusDisplay)
+ m_statusDisplay->updateStyle();
+ if (m_timelineContainer)
+ m_timelineContainer->updateStyle();
+ if (m_timeline)
+ m_timeline->updateStyle();
+ if (m_fullscreenButton)
+ m_fullscreenButton->updateStyle();
+ if (m_currentTimeDisplay)
+ m_currentTimeDisplay->updateStyle();
+ if (m_timeRemainingDisplay)
+ m_timeRemainingDisplay->updateStyle();
}
}
@@ -132,6 +146,13 @@ void RenderMedia::layout()
return;
IntSize newSize = contentBoxRect().size();
if (newSize != oldSize || controlsRenderer->needsLayout()) {
+
+ if (m_currentTimeDisplay && m_timeRemainingDisplay) {
+ bool shouldShowTimeDisplays = shouldShowTimeDisplayControls();
+ m_currentTimeDisplay->setVisible(shouldShowTimeDisplays);
+ m_timeRemainingDisplay->setVisible(shouldShowTimeDisplays);
+ }
+
controlsRenderer->setLocation(borderLeft() + paddingLeft(), borderTop() + paddingTop());
controlsRenderer->style()->setHeight(Length(newSize.height(), Fixed));
controlsRenderer->style()->setWidth(Length(newSize.width(), Fixed));
@@ -151,17 +172,8 @@ void RenderMedia::createControlsShadowRoot()
void RenderMedia::createPanel()
{
ASSERT(!m_panel);
- RenderStyle* style = getCachedPseudoStyle(MEDIA_CONTROLS_PANEL);
- m_panel = new HTMLDivElement(HTMLNames::divTag, document());
- RenderObject* renderer = m_panel->createRenderer(renderArena(), style);
- if (renderer) {
- m_panel->setRenderer(renderer);
- renderer->setStyle(style);
- m_panel->setAttached();
- m_panel->setInDocument(true);
- m_controlsShadowRoot->addChild(m_panel);
- m_controlsShadowRoot->renderer()->addChild(renderer);
- }
+ m_panel = new MediaControlElement(document(), MEDIA_CONTROLS_PANEL, mediaElement());
+ m_panel->attachToParent(m_controlsShadowRoot.get());
}
void RenderMedia::createMuteButton()
@@ -192,20 +204,32 @@ void RenderMedia::createSeekForwardButton()
m_seekForwardButton->attachToParent(m_panel.get());
}
+void RenderMedia::createRewindButton()
+{
+ ASSERT(!m_rewindButton);
+ m_rewindButton = new MediaControlRewindButtonElement(document(), mediaElement());
+ m_rewindButton->attachToParent(m_panel.get());
+}
+
+void RenderMedia::createReturnToRealtimeButton()
+{
+ ASSERT(!m_returnToRealtimeButton);
+ m_returnToRealtimeButton = new MediaControlReturnToRealtimeButtonElement(document(), mediaElement());
+ m_returnToRealtimeButton->attachToParent(m_panel.get());
+}
+
+void RenderMedia::createStatusDisplay()
+{
+ ASSERT(!m_statusDisplay);
+ m_statusDisplay = new MediaControlStatusDisplayElement(document(), mediaElement());
+ m_statusDisplay->attachToParent(m_panel.get());
+}
+
void RenderMedia::createTimelineContainer()
{
ASSERT(!m_timelineContainer);
- RenderStyle* style = getCachedPseudoStyle(MEDIA_CONTROLS_TIMELINE_CONTAINER);
- m_timelineContainer = new HTMLDivElement(HTMLNames::divTag, document());
- RenderObject* renderer = m_timelineContainer->createRenderer(renderArena(), style);
- if (renderer) {
- m_timelineContainer->setRenderer(renderer);
- renderer->setStyle(style);
- m_timelineContainer->setAttached();
- m_timelineContainer->setInDocument(true);
- m_panel->addChild(m_timelineContainer);
- m_panel->renderer()->addChild(renderer);
- }
+ m_timelineContainer = new MediaControlTimelineContainerElement(document(), mediaElement());
+ m_timelineContainer->attachToParent(m_panel.get());
}
void RenderMedia::createTimeline()
@@ -215,18 +239,18 @@ void RenderMedia::createTimeline()
m_timeline->setAttribute(precisionAttr, "float");
m_timeline->attachToParent(m_timelineContainer.get());
}
-
+
void RenderMedia::createCurrentTimeDisplay()
{
ASSERT(!m_currentTimeDisplay);
- m_currentTimeDisplay = new MediaTimeDisplayElement(document(), mediaElement(), true);
+ m_currentTimeDisplay = new MediaControlTimeDisplayElement(document(), MEDIA_CONTROLS_CURRENT_TIME_DISPLAY, mediaElement());
m_currentTimeDisplay->attachToParent(m_timelineContainer.get());
}
void RenderMedia::createTimeRemainingDisplay()
{
ASSERT(!m_timeRemainingDisplay);
- m_timeRemainingDisplay = new MediaTimeDisplayElement(document(), mediaElement(), false);
+ m_timeRemainingDisplay = new MediaControlTimeDisplayElement(document(), MEDIA_CONTROLS_TIME_REMAINING_DISPLAY, mediaElement());
m_timeRemainingDisplay->attachToParent(m_timelineContainer.get());
}
@@ -251,10 +275,13 @@ void RenderMedia::updateControls()
m_panel = 0;
m_muteButton = 0;
m_playButton = 0;
+ m_statusDisplay = 0;
m_timelineContainer = 0;
m_timeline = 0;
m_seekBackButton = 0;
m_seekForwardButton = 0;
+ m_rewindButton = 0;
+ m_returnToRealtimeButton = 0;
m_currentTimeDisplay = 0;
m_timeRemainingDisplay = 0;
m_fullscreenButton = 0;
@@ -269,34 +296,46 @@ void RenderMedia::updateControls()
if (!m_controlsShadowRoot) {
createControlsShadowRoot();
createPanel();
- if (m_panel && m_panel->renderer()) {
+ if (m_panel) {
+ createRewindButton();
createMuteButton();
createPlayButton();
+ createReturnToRealtimeButton();
+ createStatusDisplay();
createTimelineContainer();
createSeekBackButton();
createSeekForwardButton();
- createFullscreenButton();
- }
- if (m_timelineContainer && m_timelineContainer->renderer()) {
- createCurrentTimeDisplay();
- createTimeline();
- createTimeRemainingDisplay();
+ createFullscreenButton();
+ if (m_timelineContainer) {
+ createCurrentTimeDisplay();
+ createTimeline();
+ createTimeRemainingDisplay();
+ }
+ m_panel->attach();
}
}
if (media->canPlay()) {
if (m_timeUpdateTimer.isActive())
m_timeUpdateTimer.stop();
- } else if (style()->visibility() == VISIBLE && m_timeline && m_timeline->renderer() && m_timeline->renderer()->style()->display() != NONE ) {
+ } else if (style()->visibility() == VISIBLE && m_timeline && m_timeline->renderer() && m_timeline->renderer()->style()->display() != NONE) {
m_timeUpdateTimer.startRepeating(cTimeUpdateRepeatDelay);
}
- m_previousVisible = style()->visibility();
+ if (m_panel) {
+ // update() might alter the opacity of the element, especially if we are in the middle
+ // of an animation. This is the only element concerned as we animate only this element.
+ float opacityBeforeChangingStyle = m_panel->renderer() ? m_panel->renderer()->style()->opacity() : 0;
+ m_panel->update();
+ changeOpacity(m_panel.get(), opacityBeforeChangingStyle);
+ }
if (m_muteButton)
m_muteButton->update();
if (m_playButton)
m_playButton->update();
+ if (m_timelineContainer)
+ m_timelineContainer->update();
if (m_timeline)
m_timeline->update();
if (m_currentTimeDisplay)
@@ -307,8 +346,15 @@ void RenderMedia::updateControls()
m_seekBackButton->update();
if (m_seekForwardButton)
m_seekForwardButton->update();
+ if (m_rewindButton)
+ m_rewindButton->update();
+ if (m_returnToRealtimeButton)
+ m_returnToRealtimeButton->update();
+ if (m_statusDisplay)
+ m_statusDisplay->update();
if (m_fullscreenButton)
m_fullscreenButton->update();
+
updateTimeDisplay();
updateControlVisibility();
}
@@ -363,26 +409,34 @@ void RenderMedia::updateControlVisibility()
if (!media->hasVideo())
return;
- // do fading manually, css animations don't work well with shadow trees
- bool visible = style()->visibility() == VISIBLE && (m_mouseOver || media->canPlay());
- if (visible == (m_opacityAnimationTo > 0))
+ // Don't fade if the media element is not visible
+ if (style()->visibility() != VISIBLE)
return;
+
+ bool shouldHideController = !m_mouseOver && !media->canPlay();
+
+ // Do fading manually, css animations don't work with shadow trees
- if (style()->visibility() != m_previousVisible) {
- // don't fade gradually if it the element has just changed visibility
- m_previousVisible = style()->visibility();
- m_opacityAnimationTo = m_previousVisible == VISIBLE ? 1.0f : 0;
- changeOpacity(m_panel.get(), m_opacityAnimationTo);
+ float animateFrom = m_panel->renderer()->style()->opacity();
+ float animateTo = shouldHideController ? 0.0f : 1.0f;
+
+ if (animateFrom == animateTo)
return;
- }
- if (visible) {
- m_opacityAnimationFrom = m_panel->renderer()->style()->opacity();
- m_opacityAnimationTo = 1.0f;
- } else {
- m_opacityAnimationFrom = m_panel->renderer()->style()->opacity();
- m_opacityAnimationTo = 0;
+ if (m_opacityAnimationTimer.isActive()) {
+ if (m_opacityAnimationTo == animateTo)
+ return;
+ m_opacityAnimationTimer.stop();
}
+
+ if (animateFrom < animateTo)
+ m_opacityAnimationDuration = cOpacityAnimationDurationFadeIn;
+ else
+ m_opacityAnimationDuration = cOpacityAnimationDurationFadeOut;
+
+ m_opacityAnimationFrom = animateFrom;
+ m_opacityAnimationTo = animateTo;
+
m_opacityAnimationStartTime = currentTime();
m_opacityAnimationTimer.startRepeating(cOpacityAnimationRepeatDelay);
}
@@ -401,11 +455,11 @@ void RenderMedia::changeOpacity(HTMLElement* e, float opacity)
void RenderMedia::opacityAnimationTimerFired(Timer<RenderMedia>*)
{
double time = currentTime() - m_opacityAnimationStartTime;
- if (time >= cOpacityAnimationDuration) {
- time = cOpacityAnimationDuration;
+ if (time >= m_opacityAnimationDuration) {
+ time = m_opacityAnimationDuration;
m_opacityAnimationTimer.stop();
}
- float opacity = narrowPrecisionToFloat(m_opacityAnimationFrom + (m_opacityAnimationTo - m_opacityAnimationFrom) * time / cOpacityAnimationDuration);
+ float opacity = narrowPrecisionToFloat(m_opacityAnimationFrom + (m_opacityAnimationTo - m_opacityAnimationFrom) * time / m_opacityAnimationDuration);
changeOpacity(m_panel.get(), opacity);
}
@@ -426,6 +480,12 @@ void RenderMedia::forwardEvent(Event* event)
if (m_seekForwardButton && m_seekForwardButton->hitTest(point))
m_seekForwardButton->defaultEventHandler(event);
+ if (m_rewindButton && m_rewindButton->hitTest(point))
+ m_rewindButton->defaultEventHandler(event);
+
+ if (m_returnToRealtimeButton && m_returnToRealtimeButton->hitTest(point))
+ m_returnToRealtimeButton->defaultEventHandler(event);
+
if (m_timeline && m_timeline->hitTest(point))
m_timeline->defaultEventHandler(event);
@@ -473,6 +533,19 @@ int RenderMedia::leftmostPosition(bool includeOverflowInterior, bool includeSelf
return min(left, m_controlsShadowRoot->renderBox()->x() + m_controlsShadowRoot->renderBox()->leftmostPosition(includeOverflowInterior, includeSelf));
}
+
+// We want the timeline slider to be at least 100 pixels wide.
+static const int minWidthToDisplayTimeDisplays = 16 + 16 + 45 + 100 + 45 + 16 + 1;
+
+bool RenderMedia::shouldShowTimeDisplayControls() const
+{
+ if (!m_currentTimeDisplay && !m_timeRemainingDisplay)
+ return false;
+
+ int width = mediaElement()->renderBox()->width();
+ return width >= minWidthToDisplayTimeDisplays * style()->effectiveZoom();
+}
+
} // namespace WebCore
#endif
diff --git a/src/3rdparty/webkit/WebCore/rendering/RenderMedia.h b/src/3rdparty/webkit/WebCore/rendering/RenderMedia.h
index 6013d7b..e1149bb 100644
--- a/src/3rdparty/webkit/WebCore/rendering/RenderMedia.h
+++ b/src/3rdparty/webkit/WebCore/rendering/RenderMedia.h
@@ -38,9 +38,14 @@ class HTMLMediaElement;
class MediaControlMuteButtonElement;
class MediaControlPlayButtonElement;
class MediaControlSeekButtonElement;
+class MediaControlRewindButtonElement;
+class MediaControlReturnToRealtimeButtonElement;
class MediaControlTimelineElement;
class MediaControlFullscreenButtonElement;
-class MediaTimeDisplayElement;
+class MediaControlTimeDisplayElement;
+class MediaControlStatusDisplayElement;
+class MediaControlTimelineContainerElement;
+class MediaControlElement;
class MediaPlayer;
class RenderMedia : public RenderReplaced {
@@ -66,6 +71,8 @@ public:
static String formatTime(float time);
+ bool shouldShowTimeDisplayControls() const;
+
void updateFromElement();
void updatePlayer();
void updateControls();
@@ -85,6 +92,9 @@ private:
void createPlayButton();
void createSeekBackButton();
void createSeekForwardButton();
+ void createRewindButton();
+ void createReturnToRealtimeButton();
+ void createStatusDisplay();
void createTimelineContainer();
void createTimeline();
void createCurrentTimeDisplay();
@@ -100,16 +110,19 @@ private:
virtual void styleDidChange(StyleDifference, const RenderStyle* oldStyle);
RefPtr<HTMLElement> m_controlsShadowRoot;
- RefPtr<HTMLElement> m_panel;
+ RefPtr<MediaControlElement> m_panel;
RefPtr<MediaControlMuteButtonElement> m_muteButton;
RefPtr<MediaControlPlayButtonElement> m_playButton;
RefPtr<MediaControlSeekButtonElement> m_seekBackButton;
RefPtr<MediaControlSeekButtonElement> m_seekForwardButton;
+ RefPtr<MediaControlRewindButtonElement> m_rewindButton;
+ RefPtr<MediaControlReturnToRealtimeButtonElement> m_returnToRealtimeButton;
RefPtr<MediaControlTimelineElement> m_timeline;
RefPtr<MediaControlFullscreenButtonElement> m_fullscreenButton;
- RefPtr<HTMLElement> m_timelineContainer;
- RefPtr<MediaTimeDisplayElement> m_currentTimeDisplay;
- RefPtr<MediaTimeDisplayElement> m_timeRemainingDisplay;
+ RefPtr<MediaControlTimelineContainerElement> m_timelineContainer;
+ RefPtr<MediaControlTimeDisplayElement> m_currentTimeDisplay;
+ RefPtr<MediaControlTimeDisplayElement> m_timeRemainingDisplay;
+ RefPtr<MediaControlStatusDisplayElement> m_statusDisplay;
RenderObjectChildList m_children;
Node* m_lastUnderNode;
Node* m_nodeUnderMouse;
@@ -118,9 +131,9 @@ private:
Timer<RenderMedia> m_opacityAnimationTimer;
bool m_mouseOver;
double m_opacityAnimationStartTime;
+ double m_opacityAnimationDuration;
float m_opacityAnimationFrom;
float m_opacityAnimationTo;
- EVisibility m_previousVisible;
};
} // namespace WebCore
diff --git a/src/3rdparty/webkit/WebCore/rendering/RenderMenuList.cpp b/src/3rdparty/webkit/WebCore/rendering/RenderMenuList.cpp
index 4cd7b43..ed8c8ba 100644
--- a/src/3rdparty/webkit/WebCore/rendering/RenderMenuList.cpp
+++ b/src/3rdparty/webkit/WebCore/rendering/RenderMenuList.cpp
@@ -25,6 +25,7 @@
#include "RenderMenuList.h"
#include "CSSStyleSelector.h"
+#include "Frame.h"
#include "FrameView.h"
#include "HTMLNames.h"
#include "NodeRenderStyle.h"
@@ -296,6 +297,12 @@ void RenderMenuList::hidePopup()
void RenderMenuList::valueChanged(unsigned listIndex, bool fireOnChange)
{
+ // Check to ensure a page navigation has not occurred while
+ // the popup was up.
+ Document* doc = static_cast<Element*>(node())->document();
+ if (!doc || doc != doc->frame()->document())
+ return;
+
SelectElement* select = toSelectElement(static_cast<Element*>(node()));
select->setSelectedIndexByUser(select->listToOptionIndex(listIndex), true, fireOnChange);
}
diff --git a/src/3rdparty/webkit/WebCore/rendering/RenderObject.cpp b/src/3rdparty/webkit/WebCore/rendering/RenderObject.cpp
index 098932a..df8c58a 100644
--- a/src/3rdparty/webkit/WebCore/rendering/RenderObject.cpp
+++ b/src/3rdparty/webkit/WebCore/rendering/RenderObject.cpp
@@ -774,7 +774,7 @@ void RenderObject::drawLineForBoxSide(GraphicsContext* graphicsContext, int x1,
break;
case BSRight:
drawLineForBoxSide(graphicsContext, x1, y1 + max((adjbw1 * 2 + 1) / 3, 0),
- x1 + third, y2 - max(( adjbw2 * 2 + 1) / 3, 0),
+ x1 + third, y2 - max((adjbw2 * 2 + 1) / 3, 0),
s, c, textcolor, SOLID, adjbw1bigthird, adjbw2bigthird);
drawLineForBoxSide(graphicsContext, x2 - third, y1 + max((-adjbw1 * 2 + 1) / 3, 0),
x2, y2 - max((-adjbw2 * 2 + 1) / 3, 0),
@@ -1218,7 +1218,7 @@ bool RenderObject::repaintAfterLayoutIfNeeded(RenderBoxModelObject* repaintConta
if (width) {
int shadowRight = 0;
for (ShadowData* shadow = boxShadow; shadow; shadow = shadow->next)
- shadowRight = max(shadow->x + shadow->blur, shadowRight);
+ shadowRight = max(shadow->x + shadow->blur + shadow->spread, shadowRight);
int borderRight = isBox() ? toRenderBox(this)->borderRight() : 0;
int borderWidth = max(-outlineStyle->outlineOffset(), max(borderRight, max(style()->borderTopRightRadius().width(), style()->borderBottomRightRadius().width()))) + max(ow, shadowRight);
@@ -1236,7 +1236,7 @@ bool RenderObject::repaintAfterLayoutIfNeeded(RenderBoxModelObject* repaintConta
if (height) {
int shadowBottom = 0;
for (ShadowData* shadow = boxShadow; shadow; shadow = shadow->next)
- shadowBottom = max(shadow->y + shadow->blur, shadowBottom);
+ shadowBottom = max(shadow->y + shadow->blur + shadow->spread, shadowBottom);
int borderBottom = isBox() ? toRenderBox(this)->borderBottom() : 0;
int borderHeight = max(-outlineStyle->outlineOffset(), max(borderBottom, max(style()->borderBottomLeftRadius().height(), style()->borderBottomRightRadius().height()))) + max(ow, shadowBottom);
@@ -1738,8 +1738,8 @@ IntSize RenderObject::offsetFromContainer(RenderObject* o) const
IntRect RenderObject::localCaretRect(InlineBox*, int, int* extraWidthToEndOfLine)
{
- if (extraWidthToEndOfLine)
- *extraWidthToEndOfLine = 0;
+ if (extraWidthToEndOfLine)
+ *extraWidthToEndOfLine = 0;
return IntRect();
}
@@ -1980,6 +1980,27 @@ void RenderObject::layout()
setNeedsLayout(false);
}
+PassRefPtr<RenderStyle> RenderObject::uncachedFirstLineStyle(RenderStyle* style) const
+{
+ if (!document()->usesFirstLineRules())
+ return 0;
+
+ ASSERT(!isText());
+
+ RefPtr<RenderStyle> result;
+
+ if (isBlockFlow()) {
+ if (RenderBlock* firstLineBlock = this->firstLineBlock())
+ result = firstLineBlock->getUncachedPseudoStyle(FIRST_LINE, style, firstLineBlock == this ? style : 0);
+ } else if (!isAnonymous() && isRenderInline()) {
+ RenderStyle* parentStyle = parent()->firstLineStyle();
+ if (parentStyle != parent()->style())
+ result = getUncachedPseudoStyle(FIRST_LINE_INHERITED, parentStyle, style);
+ }
+
+ return result.release();
+}
+
RenderStyle* RenderObject::firstLineStyleSlowCase() const
{
ASSERT(document()->usesFirstLineRules());
@@ -2016,13 +2037,15 @@ RenderStyle* RenderObject::getCachedPseudoStyle(PseudoId pseudo, RenderStyle* pa
return 0;
}
-PassRefPtr<RenderStyle> RenderObject::getUncachedPseudoStyle(PseudoId pseudo, RenderStyle* parentStyle) const
+PassRefPtr<RenderStyle> RenderObject::getUncachedPseudoStyle(PseudoId pseudo, RenderStyle* parentStyle, RenderStyle* ownStyle) const
{
- if (pseudo < FIRST_INTERNAL_PSEUDOID && !style()->hasPseudoStyle(pseudo))
+ if (pseudo < FIRST_INTERNAL_PSEUDOID && !ownStyle && !style()->hasPseudoStyle(pseudo))
return 0;
- if (!parentStyle)
+ if (!parentStyle) {
+ ASSERT(!ownStyle);
parentStyle = style();
+ }
Node* n = node();
while (n && !n->isElementNode())
@@ -2217,10 +2240,10 @@ void RenderObject::adjustRectForOutlineAndShadow(IntRect& rect) const
int shadowBottom = 0;
do {
- shadowLeft = min(boxShadow->x - boxShadow->blur - outlineSize, shadowLeft);
- shadowRight = max(boxShadow->x + boxShadow->blur + outlineSize, shadowRight);
- shadowTop = min(boxShadow->y - boxShadow->blur - outlineSize, shadowTop);
- shadowBottom = max(boxShadow->y + boxShadow->blur + outlineSize, shadowBottom);
+ shadowLeft = min(boxShadow->x - boxShadow->blur - boxShadow->spread - outlineSize, shadowLeft);
+ shadowRight = max(boxShadow->x + boxShadow->blur + boxShadow->spread + outlineSize, shadowRight);
+ shadowTop = min(boxShadow->y - boxShadow->blur - boxShadow->spread - outlineSize, shadowTop);
+ shadowBottom = max(boxShadow->y + boxShadow->blur + boxShadow->spread + outlineSize, shadowBottom);
boxShadow = boxShadow->next;
} while (boxShadow);
diff --git a/src/3rdparty/webkit/WebCore/rendering/RenderObject.h b/src/3rdparty/webkit/WebCore/rendering/RenderObject.h
index 311ef9c..911169d 100644
--- a/src/3rdparty/webkit/WebCore/rendering/RenderObject.h
+++ b/src/3rdparty/webkit/WebCore/rendering/RenderObject.h
@@ -382,7 +382,7 @@ public:
// The pseudo element style can be cached or uncached. Use the cached method if the pseudo element doesn't respect
// any pseudo classes (and therefore has no concept of changing state).
RenderStyle* getCachedPseudoStyle(PseudoId, RenderStyle* parentStyle = 0) const;
- PassRefPtr<RenderStyle> getUncachedPseudoStyle(PseudoId, RenderStyle* parentStyle = 0) const;
+ PassRefPtr<RenderStyle> getUncachedPseudoStyle(PseudoId, RenderStyle* parentStyle = 0, RenderStyle* ownStyle = 0) const;
virtual void updateDragState(bool dragOn);
@@ -553,7 +553,11 @@ public:
RenderStyle* style() const { return m_style.get(); }
RenderStyle* firstLineStyle() const { return document()->usesFirstLineRules() ? firstLineStyleSlowCase() : style(); }
RenderStyle* style(bool firstLine) const { return firstLine ? firstLineStyle() : style(); }
-
+
+ // Used only by Element::pseudoStyleCacheIsInvalid to get a first line style based off of a
+ // given new style, without accessing the cache.
+ PassRefPtr<RenderStyle> uncachedFirstLineStyle(RenderStyle*) const;
+
// Anonymous blocks that are part of of a continuation chain will return their inline continuation's outline style instead.
// This is typically only relevant when repainting.
virtual RenderStyle* outlineStyleForRepaint() const { return style(); }
diff --git a/src/3rdparty/webkit/WebCore/rendering/RenderPart.cpp b/src/3rdparty/webkit/WebCore/rendering/RenderPart.cpp
index bcf9ef9..cb56c0c 100644
--- a/src/3rdparty/webkit/WebCore/rendering/RenderPart.cpp
+++ b/src/3rdparty/webkit/WebCore/rendering/RenderPart.cpp
@@ -41,13 +41,11 @@ RenderPart::~RenderPart()
clearWidget();
}
-void RenderPart::setWidget(Widget* widget)
+void RenderPart::setWidget(PassRefPtr<Widget> widget)
{
if (widget == this->widget())
return;
- if (widget && widget->isFrameView())
- static_cast<FrameView*>(widget)->ref();
RenderWidget::setWidget(widget);
// make sure the scrollbars are set correctly for restore
@@ -59,16 +57,4 @@ void RenderPart::viewCleared()
{
}
-void RenderPart::deleteWidget(Widget* widget)
-{
- // Since deref ends up calling setWidget back on us, need to make sure
- // that widget is already 0 so it won't do any work.
- ASSERT(!this->widget());
-
- if (widget && widget->isFrameView())
- static_cast<FrameView*>(widget)->deref();
- else
- delete widget;
-}
-
}
diff --git a/src/3rdparty/webkit/WebCore/rendering/RenderPart.h b/src/3rdparty/webkit/WebCore/rendering/RenderPart.h
index e47ead0..a1d2e2b 100644
--- a/src/3rdparty/webkit/WebCore/rendering/RenderPart.h
+++ b/src/3rdparty/webkit/WebCore/rendering/RenderPart.h
@@ -34,7 +34,7 @@ public:
bool hasFallbackContent() const { return m_hasFallbackContent; }
- virtual void setWidget(Widget*);
+ virtual void setWidget(PassRefPtr<Widget>);
virtual void viewCleared();
protected:
@@ -43,8 +43,6 @@ protected:
private:
virtual bool isRenderPart() const { return true; }
virtual const char* renderName() const { return "RenderPart"; }
-
- virtual void deleteWidget(Widget*);
};
}
diff --git a/src/3rdparty/webkit/WebCore/rendering/RenderReplaced.cpp b/src/3rdparty/webkit/WebCore/rendering/RenderReplaced.cpp
index e61ac8e..ba045ea 100644
--- a/src/3rdparty/webkit/WebCore/rendering/RenderReplaced.cpp
+++ b/src/3rdparty/webkit/WebCore/rendering/RenderReplaced.cpp
@@ -127,8 +127,7 @@ void RenderReplaced::paint(PaintInfo& paintInfo, int tx, int ty)
drawSelectionTint = false;
}
- bool clipToBorderRadius = style()->overflowX() != OVISIBLE && style()->hasBorderRadius();
- if (clipToBorderRadius) {
+ if (style()->hasBorderRadius()) {
// Push a clip if we have a border radius, since we want to round the foreground content that gets painted.
paintInfo.context->save();
@@ -141,7 +140,7 @@ void RenderReplaced::paint(PaintInfo& paintInfo, int tx, int ty)
paintReplaced(paintInfo, tx, ty);
- if (clipToBorderRadius)
+ if (style()->hasBorderRadius())
paintInfo.context->restore();
// The selection tint never gets clipped by border-radius rounding, since we want it to run right up to the edges of
@@ -334,7 +333,7 @@ void RenderReplaced::adjustOverflowForBoxShadowAndReflect()
for (ShadowData* boxShadow = style()->boxShadow(); boxShadow; boxShadow = boxShadow->next) {
IntRect shadow = borderBoxRect();
shadow.move(boxShadow->x, boxShadow->y);
- shadow.inflate(boxShadow->blur);
+ shadow.inflate(boxShadow->blur + boxShadow->spread);
overflow.unite(shadow);
}
diff --git a/src/3rdparty/webkit/WebCore/rendering/RenderSVGImage.cpp b/src/3rdparty/webkit/WebCore/rendering/RenderSVGImage.cpp
index b38352e..f494709 100644
--- a/src/3rdparty/webkit/WebCore/rendering/RenderSVGImage.cpp
+++ b/src/3rdparty/webkit/WebCore/rendering/RenderSVGImage.cpp
@@ -2,7 +2,7 @@
Copyright (C) 2006 Alexander Kellett <lypanov@kde.org>
Copyright (C) 2006 Apple Computer, Inc.
Copyright (C) 2007 Nikolas Zimmermann <zimmermann@kde.org>
- Copyright (C) 2007, 2008 Rob Buis <buis@kde.org>
+ Copyright (C) 2007, 2008, 2009 Rob Buis <buis@kde.org>
Copyright (C) 2009, Google, Inc.
This library is free software; you can redistribute it and/or
@@ -59,7 +59,7 @@ void RenderSVGImage::adjustRectsForAspectRatio(FloatRect& destRect, FloatRect& s
float widthToHeightMultiplier = srcRect.height() / srcRect.width();
if (origDestHeight > (origDestWidth * widthToHeightMultiplier)) {
destRect.setHeight(origDestWidth * widthToHeightMultiplier);
- switch(aspectRatio->align()) {
+ switch (aspectRatio->align()) {
case SVGPreserveAspectRatio::SVG_PRESERVEASPECTRATIO_XMINYMID:
case SVGPreserveAspectRatio::SVG_PRESERVEASPECTRATIO_XMIDYMID:
case SVGPreserveAspectRatio::SVG_PRESERVEASPECTRATIO_XMAXYMID:
@@ -74,7 +74,7 @@ void RenderSVGImage::adjustRectsForAspectRatio(FloatRect& destRect, FloatRect& s
}
if (origDestWidth > (origDestHeight / widthToHeightMultiplier)) {
destRect.setWidth(origDestHeight / widthToHeightMultiplier);
- switch(aspectRatio->align()) {
+ switch (aspectRatio->align()) {
case SVGPreserveAspectRatio::SVG_PRESERVEASPECTRATIO_XMIDYMIN:
case SVGPreserveAspectRatio::SVG_PRESERVEASPECTRATIO_XMIDYMID:
case SVGPreserveAspectRatio::SVG_PRESERVEASPECTRATIO_XMIDYMAX:
@@ -93,7 +93,7 @@ void RenderSVGImage::adjustRectsForAspectRatio(FloatRect& destRect, FloatRect& s
if (origDestHeight < (origDestWidth * widthToHeightMultiplier)) {
float destToSrcMultiplier = srcRect.width() / destRect.width();
srcRect.setHeight(destRect.height() * destToSrcMultiplier);
- switch(aspectRatio->align()) {
+ switch (aspectRatio->align()) {
case SVGPreserveAspectRatio::SVG_PRESERVEASPECTRATIO_XMINYMID:
case SVGPreserveAspectRatio::SVG_PRESERVEASPECTRATIO_XMIDYMID:
case SVGPreserveAspectRatio::SVG_PRESERVEASPECTRATIO_XMAXYMID:
@@ -110,7 +110,7 @@ void RenderSVGImage::adjustRectsForAspectRatio(FloatRect& destRect, FloatRect& s
if (origDestWidth < (origDestHeight / widthToHeightMultiplier)) {
float destToSrcMultiplier = srcRect.height() / destRect.height();
srcRect.setWidth(destRect.width() * destToSrcMultiplier);
- switch(aspectRatio->align()) {
+ switch (aspectRatio->align()) {
case SVGPreserveAspectRatio::SVG_PRESERVEASPECTRATIO_XMIDYMIN:
case SVGPreserveAspectRatio::SVG_PRESERVEASPECTRATIO_XMIDYMID:
case SVGPreserveAspectRatio::SVG_PRESERVEASPECTRATIO_XMIDYMAX:
@@ -227,9 +227,7 @@ FloatRect RenderSVGImage::repaintRectInLocalCoordinates() const
void RenderSVGImage::imageChanged(WrappedImagePtr image, const IntRect* rect)
{
RenderImage::imageChanged(image, rect);
-
- // We override to invalidate a larger rect, since SVG images can draw outside their "bounds"
- repaintRectangle(absoluteClippedOverflowRect()); // FIXME: Isn't this just repaint()?
+ repaint();
}
IntRect RenderSVGImage::clippedOverflowRectForRepaint(RenderBoxModelObject* repaintContainer)
diff --git a/src/3rdparty/webkit/WebCore/rendering/RenderSVGInline.cpp b/src/3rdparty/webkit/WebCore/rendering/RenderSVGInline.cpp
index 3c44dd8..cf97b52 100644
--- a/src/3rdparty/webkit/WebCore/rendering/RenderSVGInline.cpp
+++ b/src/3rdparty/webkit/WebCore/rendering/RenderSVGInline.cpp
@@ -39,10 +39,10 @@ RenderSVGInline::RenderSVGInline(Node* n)
{
}
-InlineFlowBox* RenderSVGInline::createFlowBox()
+InlineFlowBox* RenderSVGInline::createInlineFlowBox()
{
InlineFlowBox* box = new (renderArena()) SVGInlineFlowBox(this);
- box->setIsSVG(true);
+ box->setHasVirtualHeight();
return box;
}
diff --git a/src/3rdparty/webkit/WebCore/rendering/RenderSVGInline.h b/src/3rdparty/webkit/WebCore/rendering/RenderSVGInline.h
index 1ff8d02..9f9f3f5 100644
--- a/src/3rdparty/webkit/WebCore/rendering/RenderSVGInline.h
+++ b/src/3rdparty/webkit/WebCore/rendering/RenderSVGInline.h
@@ -40,7 +40,7 @@ public:
virtual void absoluteQuads(Vector<FloatQuad>&);
private:
- virtual InlineFlowBox* createFlowBox();
+ virtual InlineFlowBox* createInlineFlowBox();
};
}
diff --git a/src/3rdparty/webkit/WebCore/rendering/RenderSVGInlineText.cpp b/src/3rdparty/webkit/WebCore/rendering/RenderSVGInlineText.cpp
index b1a21d7..48d01ae 100644
--- a/src/3rdparty/webkit/WebCore/rendering/RenderSVGInlineText.cpp
+++ b/src/3rdparty/webkit/WebCore/rendering/RenderSVGInlineText.cpp
@@ -134,7 +134,7 @@ FloatQuad RenderSVGInlineText::computeRepaintQuadForRange(RenderBoxModelObject*
InlineTextBox* RenderSVGInlineText::createTextBox()
{
InlineTextBox* box = new (renderArena()) SVGInlineTextBox(this);
- box->setIsSVG(true);
+ box->setHasVirtualHeight();
return box;
}
diff --git a/src/3rdparty/webkit/WebCore/rendering/RenderSVGText.cpp b/src/3rdparty/webkit/WebCore/rendering/RenderSVGText.cpp
index 9e9809d..3919d7f 100644
--- a/src/3rdparty/webkit/WebCore/rendering/RenderSVGText.cpp
+++ b/src/3rdparty/webkit/WebCore/rendering/RenderSVGText.cpp
@@ -89,10 +89,10 @@ void RenderSVGText::layout()
setNeedsLayout(false);
}
-RootInlineBox* RenderSVGText::createRootBox()
+RootInlineBox* RenderSVGText::createRootInlineBox()
{
RootInlineBox* box = new (renderArena()) SVGRootInlineBox(this);
- box->setIsSVG(true);
+ box->setHasVirtualHeight();
return box;
}
diff --git a/src/3rdparty/webkit/WebCore/rendering/RenderSVGText.h b/src/3rdparty/webkit/WebCore/rendering/RenderSVGText.h
index c1f1430..088332e 100644
--- a/src/3rdparty/webkit/WebCore/rendering/RenderSVGText.h
+++ b/src/3rdparty/webkit/WebCore/rendering/RenderSVGText.h
@@ -65,7 +65,7 @@ private:
// FIXME: This can be removed when localTransform() is removed from RenderObject
virtual TransformationMatrix localTransform() const { return m_localTransform; }
- virtual RootInlineBox* createRootBox();
+ virtual RootInlineBox* createRootInlineBox();
TransformationMatrix m_localTransform;
};
diff --git a/src/3rdparty/webkit/WebCore/rendering/RenderSlider.cpp b/src/3rdparty/webkit/WebCore/rendering/RenderSlider.cpp
index 610a060..7df7743 100644
--- a/src/3rdparty/webkit/WebCore/rendering/RenderSlider.cpp
+++ b/src/3rdparty/webkit/WebCore/rendering/RenderSlider.cpp
@@ -121,47 +121,57 @@ public:
bool inDragMode() const { return m_inDragMode; }
virtual void defaultEventHandler(Event*);
+ virtual void detach();
private:
virtual bool isShadowNode() const { return true; }
virtual Node* shadowParentNode() { return m_shadowParent; }
+ FloatPoint m_offsetToThumb;
Node* m_shadowParent;
- FloatPoint m_initialClickPoint; // initial click point in RenderSlider-local coordinates
- int m_initialPosition;
bool m_inDragMode;
};
SliderThumbElement::SliderThumbElement(Document* document, Node* shadowParent)
: HTMLDivElement(divTag, document)
, m_shadowParent(shadowParent)
- , m_initialPosition(0)
, m_inDragMode(false)
{
}
void SliderThumbElement::defaultEventHandler(Event* event)
{
+ if (!event->isMouseEvent()) {
+ HTMLDivElement::defaultEventHandler(event);
+ return;
+ }
+
+ MouseEvent* mouseEvent = static_cast<MouseEvent*>(event);
+ bool isLeftButton = mouseEvent->button() == LeftButton;
const AtomicString& eventType = event->type();
- if (eventType == eventNames().mousedownEvent && event->isMouseEvent() && static_cast<MouseEvent*>(event)->button() == LeftButton) {
- MouseEvent* mouseEvent = static_cast<MouseEvent*>(event);
- RenderSlider* slider;
- if (document()->frame() && renderer() &&
- (slider = static_cast<RenderSlider*>(renderer()->parent())) &&
- slider->mouseEventIsInThumb(mouseEvent)) {
-
- // Cache the initial point where the mouse down occurred, in slider coordinates
- m_initialClickPoint = slider->absoluteToLocal(mouseEvent->absoluteLocation(), false, true);
- // Cache the initial position of the thumb.
- m_initialPosition = slider->currentPosition();
- m_inDragMode = true;
-
- document()->frame()->eventHandler()->setCapturingMouseEventsNode(m_shadowParent);
-
- event->setDefaultHandled();
- return;
+
+ if (eventType == eventNames().mousedownEvent && isLeftButton) {
+ if (document()->frame() && renderer()) {
+ RenderSlider* slider = static_cast<RenderSlider*>(renderer()->parent());
+ if (slider) {
+ if (slider->mouseEventIsInThumb(mouseEvent)) {
+ // We selected the thumb, we want the cursor to always stay at
+ // the same position relative to the thumb.
+ m_offsetToThumb = slider->mouseEventOffsetToThumb(mouseEvent);
+ } else {
+ // We are outside the thumb, move the thumb to the point were
+ // we clicked. We'll be exactly at the center of the thumb.
+ m_offsetToThumb.setX(0);
+ m_offsetToThumb.setY(0);
+ }
+
+ m_inDragMode = true;
+ document()->frame()->eventHandler()->setCapturingMouseEventsNode(m_shadowParent);
+ event->setDefaultHandled();
+ return;
+ }
}
- } else if (eventType == eventNames().mouseupEvent && event->isMouseEvent() && static_cast<MouseEvent*>(event)->button() == LeftButton) {
+ } else if (eventType == eventNames().mouseupEvent && isLeftButton) {
if (m_inDragMode) {
if (Frame* frame = document()->frame())
frame->eventHandler()->setCapturingMouseEventsNode(0);
@@ -169,24 +179,31 @@ void SliderThumbElement::defaultEventHandler(Event* event)
event->setDefaultHandled();
return;
}
- } else if (eventType == eventNames().mousemoveEvent && event->isMouseEvent()) {
+ } else if (eventType == eventNames().mousemoveEvent) {
if (m_inDragMode && renderer() && renderer()->parent()) {
- // Move the slider
- MouseEvent* mouseEvent = static_cast<MouseEvent*>(event);
RenderSlider* slider = static_cast<RenderSlider*>(renderer()->parent());
-
- FloatPoint curPoint = slider->absoluteToLocal(mouseEvent->absoluteLocation(), false, true);
- IntPoint eventOffset(m_initialPosition + curPoint.x() - m_initialClickPoint.x() + renderBox()->width() / 2,
- m_initialPosition + curPoint.y() - m_initialClickPoint.y() + renderBox()->height() / 2);
- slider->setValueForPosition(slider->positionForOffset(eventOffset));
- event->setDefaultHandled();
- return;
+ if (slider) {
+ FloatPoint curPoint = slider->absoluteToLocal(mouseEvent->absoluteLocation(), false, true);
+ IntPoint eventOffset(curPoint.x() + m_offsetToThumb.x(), curPoint.y() + m_offsetToThumb.y());
+ slider->setValueForPosition(slider->positionForOffset(eventOffset));
+ event->setDefaultHandled();
+ return;
+ }
}
}
HTMLDivElement::defaultEventHandler(event);
}
+void SliderThumbElement::detach()
+{
+ if (m_inDragMode) {
+ if (Frame* frame = document()->frame())
+ frame->eventHandler()->setCapturingMouseEventsNode(0);
+ }
+ HTMLDivElement::detach();
+}
+
RenderSlider::RenderSlider(HTMLInputElement* element)
: RenderBlock(element)
{
@@ -387,6 +404,17 @@ bool RenderSlider::mouseEventIsInThumb(MouseEvent* evt)
return thumbBounds.contains(roundedIntPoint(localPoint));
}
+FloatPoint RenderSlider::mouseEventOffsetToThumb(MouseEvent* evt)
+{
+ ASSERT(m_thumb && m_thumb->renderer());
+ FloatPoint localPoint = m_thumb->renderBox()->absoluteToLocal(evt->absoluteLocation(), false, true);
+ IntRect thumbBounds = m_thumb->renderBox()->borderBoxRect();
+ FloatPoint offset;
+ offset.setX(thumbBounds.x() + thumbBounds.width() / 2 - localPoint.x());
+ offset.setY(thumbBounds.y() + thumbBounds.height() / 2 - localPoint.y());
+ return offset;
+}
+
void RenderSlider::setValueForPosition(int position)
{
if (!m_thumb || !m_thumb->renderer())
diff --git a/src/3rdparty/webkit/WebCore/rendering/RenderSlider.h b/src/3rdparty/webkit/WebCore/rendering/RenderSlider.h
index f1eab9c..779d82f 100644
--- a/src/3rdparty/webkit/WebCore/rendering/RenderSlider.h
+++ b/src/3rdparty/webkit/WebCore/rendering/RenderSlider.h
@@ -41,12 +41,13 @@ namespace WebCore {
virtual const char* renderName() const { return "RenderSlider"; }
virtual bool isSlider() const { return true; }
- virtual int baselinePosition( bool, bool ) const;
+ virtual int baselinePosition(bool, bool) const;
virtual void calcPrefWidths();
virtual void layout();
virtual void updateFromElement();
bool mouseEventIsInThumb(MouseEvent*);
+ FloatPoint mouseEventOffsetToThumb(MouseEvent*);
void setValueForPosition(int position);
void setPositionFromValue();
diff --git a/src/3rdparty/webkit/WebCore/rendering/RenderTable.cpp b/src/3rdparty/webkit/WebCore/rendering/RenderTable.cpp
index 48b0d1c..009a375 100644
--- a/src/3rdparty/webkit/WebCore/rendering/RenderTable.cpp
+++ b/src/3rdparty/webkit/WebCore/rendering/RenderTable.cpp
@@ -4,7 +4,7 @@
* (C) 1998 Waldo Bastian (bastian@kde.org)
* (C) 1999 Lars Knoll (knoll@kde.org)
* (C) 1999 Antti Koivisto (koivisto@kde.org)
- * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008 Apple Inc. All rights reserved.
+ * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserved.
* Copyright (C) 2006 Alexey Proskuryakov (ap@nypop.com)
*
* This library is free software; you can redistribute it and/or
@@ -514,9 +514,10 @@ void RenderTable::paintBoxDecorations(PaintInfo& paintInfo, int tx, int ty)
ty += captionHeight;
}
- paintBoxShadow(paintInfo.context, tx, ty, w, h, style());
+ paintBoxShadow(paintInfo.context, tx, ty, w, h, style(), Normal);
paintFillLayers(paintInfo, style()->backgroundColor(), style()->backgroundLayers(), tx, ty, w, h);
+ paintBoxShadow(paintInfo.context, tx, ty, w, h, style(), Inset);
if (style()->hasBorder() && !collapseBorders())
paintBorder(paintInfo.context, tx, ty, w, h, style());
@@ -882,8 +883,7 @@ int RenderTable::outerBorderBottom() const
bottomSection = m_foot;
else {
RenderObject* child;
- for (child = lastChild(); child && !child->isTableSection(); child = child->previousSibling())
- ;
+ for (child = lastChild(); child && !child->isTableSection(); child = child->previousSibling()) { }
bottomSection = child ? static_cast<RenderTableSection*>(child) : 0;
}
if (bottomSection) {
diff --git a/src/3rdparty/webkit/WebCore/rendering/RenderTableCell.cpp b/src/3rdparty/webkit/WebCore/rendering/RenderTableCell.cpp
index 9b02c9d..acdd5d5 100644
--- a/src/3rdparty/webkit/WebCore/rendering/RenderTableCell.cpp
+++ b/src/3rdparty/webkit/WebCore/rendering/RenderTableCell.cpp
@@ -4,7 +4,7 @@
* (C) 1998 Waldo Bastian (bastian@kde.org)
* (C) 1999 Lars Knoll (knoll@kde.org)
* (C) 1999 Antti Koivisto (koivisto@kde.org)
- * Copyright (C) 2003, 2004, 2005, 2006, 2007 Apple Inc. All rights reserved.
+ * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -847,10 +847,12 @@ void RenderTableCell::paintBoxDecorations(PaintInfo& paintInfo, int tx, int ty)
int h = height();
if (style()->boxShadow())
- paintBoxShadow(paintInfo.context, tx, ty, w, h, style());
+ paintBoxShadow(paintInfo.context, tx, ty, w, h, style(), Normal);
// Paint our cell background.
paintBackgroundsBehindCell(paintInfo, tx, ty, this);
+ if (style()->boxShadow())
+ paintBoxShadow(paintInfo.context, tx, ty, w, h, style(), Inset);
if (!style()->hasBorder() || tableElt->collapseBorders())
return;
diff --git a/src/3rdparty/webkit/WebCore/rendering/RenderTableCol.h b/src/3rdparty/webkit/WebCore/rendering/RenderTableCol.h
index 6b17ec4..12b6d9d 100644
--- a/src/3rdparty/webkit/WebCore/rendering/RenderTableCol.h
+++ b/src/3rdparty/webkit/WebCore/rendering/RenderTableCol.h
@@ -33,8 +33,7 @@
namespace WebCore {
-class RenderTableCol : public RenderBox
-{
+class RenderTableCol : public RenderBox {
public:
RenderTableCol(Node*);
diff --git a/src/3rdparty/webkit/WebCore/rendering/RenderTextControl.cpp b/src/3rdparty/webkit/WebCore/rendering/RenderTextControl.cpp
index 29c8c8a..95e71dd 100644
--- a/src/3rdparty/webkit/WebCore/rendering/RenderTextControl.cpp
+++ b/src/3rdparty/webkit/WebCore/rendering/RenderTextControl.cpp
@@ -235,7 +235,7 @@ void RenderTextControl::setSelectionRange(int start, int end)
end = max(end, 0);
start = min(max(start, 0), end);
- document()->updateLayout();
+ ASSERT(!document()->childNeedsAndNotInStyleRecalc());
if (style()->visibility() == HIDDEN || !m_innerText || !m_innerText->renderer() || !m_innerText->renderBox()->height()) {
cacheSelection(start, end);
@@ -325,26 +325,14 @@ String RenderTextControl::text()
if (!m_innerText)
return "";
- Frame* frame = document()->frame();
- Text* compositionNode = frame ? frame->editor()->compositionNode() : 0;
-
Vector<UChar> result;
for (Node* n = m_innerText.get(); n; n = n->traverseNextNode(m_innerText.get())) {
if (n->hasTagName(brTag))
result.append(&newlineCharacter, 1);
else if (n->isTextNode()) {
- Text* text = static_cast<Text*>(n);
- String data = text->data();
- unsigned length = data.length();
- if (text != compositionNode)
- result.append(data.characters(), length);
- else {
- unsigned compositionStart = min(frame->editor()->compositionStart(), length);
- unsigned compositionEnd = min(max(compositionStart, frame->editor()->compositionEnd()), length);
- result.append(data.characters(), compositionStart);
- result.append(data.characters() + compositionEnd, length - compositionEnd);
- }
+ String data = static_cast<Text*>(n)->data();
+ result.append(data.characters(), data.length());
}
}
@@ -386,9 +374,6 @@ String RenderTextControl::textWithHardLineBreaks()
if (!box)
return "";
- Frame* frame = document()->frame();
- Text* compositionNode = frame ? frame->editor()->compositionNode() : 0;
-
Node* breakNode;
unsigned breakOffset;
RootInlineBox* line = box->root();
@@ -403,19 +388,7 @@ String RenderTextControl::textWithHardLineBreaks()
Text* text = static_cast<Text*>(n);
String data = text->data();
unsigned length = data.length();
- unsigned compositionStart = (text == compositionNode)
- ? min(frame->editor()->compositionStart(), length) : 0;
- unsigned compositionEnd = (text == compositionNode)
- ? min(max(compositionStart, frame->editor()->compositionEnd()), length) : 0;
unsigned position = 0;
- while (breakNode == n && breakOffset < compositionStart) {
- result.append(data.characters() + position, breakOffset - position);
- position = breakOffset;
- result.append(&newlineCharacter, 1);
- getNextSoftBreak(line, breakNode, breakOffset);
- }
- result.append(data.characters() + position, compositionStart - position);
- position = compositionEnd;
while (breakNode == n && breakOffset <= length) {
if (breakOffset > position) {
result.append(data.characters() + position, breakOffset - position);
diff --git a/src/3rdparty/webkit/WebCore/rendering/RenderTextControlMultiLine.cpp b/src/3rdparty/webkit/WebCore/rendering/RenderTextControlMultiLine.cpp
index df31c2b..566a81c 100644
--- a/src/3rdparty/webkit/WebCore/rendering/RenderTextControlMultiLine.cpp
+++ b/src/3rdparty/webkit/WebCore/rendering/RenderTextControlMultiLine.cpp
@@ -106,19 +106,6 @@ PassRefPtr<RenderStyle> RenderTextControlMultiLine::createInnerTextStyle(const R
textBlockStyle->inheritFrom(startStyle);
adjustInnerTextStyle(startStyle, textBlockStyle.get());
-
- // FIXME: This code should just map wrap into CSS in the DOM code.
- // Then here we should set the textBlockStyle appropriately based off this
- // object's style()->whiteSpace() and style->wordWrap().
- // Set word wrap property based on wrap attribute.
- if (static_cast<HTMLTextAreaElement*>(node())->shouldWrapText()) {
- textBlockStyle->setWhiteSpace(PRE_WRAP);
- textBlockStyle->setWordWrap(BreakWordWrap);
- } else {
- textBlockStyle->setWhiteSpace(PRE);
- textBlockStyle->setWordWrap(NormalWordWrap);
- }
-
textBlockStyle->setDisplay(BLOCK);
return textBlockStyle.release();
diff --git a/src/3rdparty/webkit/WebCore/rendering/RenderTextControlSingleLine.cpp b/src/3rdparty/webkit/WebCore/rendering/RenderTextControlSingleLine.cpp
index a5db44e..9c022d6 100644
--- a/src/3rdparty/webkit/WebCore/rendering/RenderTextControlSingleLine.cpp
+++ b/src/3rdparty/webkit/WebCore/rendering/RenderTextControlSingleLine.cpp
@@ -744,8 +744,8 @@ int RenderTextControlSingleLine::selectedIndex() const
bool RenderTextControlSingleLine::itemIsSeparator(unsigned listIndex) const
{
- // The separator will be the second to last item in our list.
- return static_cast<int>(listIndex) == (listSize() - 2);
+ // The separator will be the second to last item in our list.
+ return static_cast<int>(listIndex) == (listSize() - 2);
}
bool RenderTextControlSingleLine::itemIsLabel(unsigned listIndex) const
diff --git a/src/3rdparty/webkit/WebCore/rendering/RenderTheme.cpp b/src/3rdparty/webkit/WebCore/rendering/RenderTheme.cpp
index 517d911..d48652f 100644
--- a/src/3rdparty/webkit/WebCore/rendering/RenderTheme.cpp
+++ b/src/3rdparty/webkit/WebCore/rendering/RenderTheme.cpp
@@ -42,6 +42,12 @@ namespace WebCore {
using namespace HTMLNames;
+static Color& customFocusRingColor()
+{
+ DEFINE_STATIC_LOCAL(Color, color, ());
+ return color;
+}
+
RenderTheme::RenderTheme()
#if USE(NEW_THEME)
: m_theme(platformTheme())
@@ -262,6 +268,10 @@ bool RenderTheme::paint(RenderObject* o, const RenderObject::PaintInfo& paintInf
return paintMediaSeekBackButton(o, paintInfo, r);
case MediaSeekForwardButtonPart:
return paintMediaSeekForwardButton(o, paintInfo, r);
+ case MediaRewindButtonPart:
+ return paintMediaRewindButton(o, paintInfo, r);
+ case MediaReturnToRealtimeButtonPart:
+ return paintMediaReturnToRealtimeButton(o, paintInfo, r);
case MediaSliderPart:
return paintMediaSliderTrack(o, paintInfo, r);
case MediaSliderThumbPart:
@@ -272,8 +282,8 @@ bool RenderTheme::paint(RenderObject* o, const RenderObject::PaintInfo& paintInf
return paintMediaTimeRemaining(o, paintInfo, r);
case MediaCurrentTimePart:
return paintMediaCurrentTime(o, paintInfo, r);
- case MediaTimelineContainerPart:
- return paintMediaTimelineContainer(o, paintInfo, r);
+ case MediaControlsBackgroundPart:
+ return paintMediaControlsBackground(o, paintInfo, r);
case MenulistButtonPart:
case TextFieldPart:
case TextAreaPart:
@@ -309,6 +319,7 @@ bool RenderTheme::paintBorderOnly(RenderObject* o, const RenderObject::PaintInfo
case TextAreaPart:
return paintTextArea(o, paintInfo, r);
case MenulistButtonPart:
+ case SearchFieldPart:
return true;
case CheckboxPart:
case RadioPart:
@@ -321,7 +332,6 @@ bool RenderTheme::paintBorderOnly(RenderObject* o, const RenderObject::PaintInfo
case SliderVerticalPart:
case SliderThumbHorizontalPart:
case SliderThumbVerticalPart:
- case SearchFieldPart:
case SearchFieldCancelButtonPart:
case SearchFieldDecorationPart:
case SearchFieldResultsDecorationPart:
@@ -849,9 +859,14 @@ Color RenderTheme::platformInactiveTextSearchHighlightColor() const
return Color(255, 255, 0); // Yellow.
}
-Color RenderTheme::focusRingColor() const
+void RenderTheme::setCustomFocusRingColor(const Color& c)
+{
+ customFocusRingColor() = c;
+}
+
+Color RenderTheme::focusRingColor()
{
- return Color(0, 0, 0); // Black.
+ return customFocusRingColor().isValid() ? customFocusRingColor() : defaultTheme()->platformFocusRingColor();
}
} // namespace WebCore
diff --git a/src/3rdparty/webkit/WebCore/rendering/RenderTheme.h b/src/3rdparty/webkit/WebCore/rendering/RenderTheme.h
index a1519ce..795daa2 100644
--- a/src/3rdparty/webkit/WebCore/rendering/RenderTheme.h
+++ b/src/3rdparty/webkit/WebCore/rendering/RenderTheme.h
@@ -78,7 +78,7 @@ public:
// RenderThemeMac.cpp for Mac OS X.
// These methods return the theme's extra style sheets rules, to let each platform
- // adjust the default CSS rules in html4.css, quirks.css, or mediaControls.css
+ // adjust the default CSS rules in html.css, quirks.css, or mediaControls.css
virtual String extraDefaultStyleSheet() { return String(); }
virtual String extraQuirksStyleSheet() { return String(); }
#if ENABLE(VIDEO)
@@ -137,7 +137,9 @@ public:
virtual Color platformActiveTextSearchHighlightColor() const;
virtual Color platformInactiveTextSearchHighlightColor() const;
- virtual Color focusRingColor() const;
+ static Color focusRingColor();
+ virtual Color platformFocusRingColor() const { return Color(0, 0, 0); }
+ static void setCustomFocusRingColor(const Color&);
virtual void platformColorsDidChange();
@@ -242,7 +244,9 @@ protected:
virtual bool paintMediaSeekForwardButton(RenderObject*, const RenderObject::PaintInfo&, const IntRect&) { return true; }
virtual bool paintMediaSliderTrack(RenderObject*, const RenderObject::PaintInfo&, const IntRect&) { return true; }
virtual bool paintMediaSliderThumb(RenderObject*, const RenderObject::PaintInfo&, const IntRect&) { return true; }
- virtual bool paintMediaTimelineContainer(RenderObject*, const RenderObject::PaintInfo&, const IntRect&) { return true; }
+ virtual bool paintMediaRewindButton(RenderObject*, const RenderObject::PaintInfo&, const IntRect&) { return true; }
+ virtual bool paintMediaReturnToRealtimeButton(RenderObject*, const RenderObject::PaintInfo&, const IntRect&) { return true; }
+ virtual bool paintMediaControlsBackground(RenderObject*, const RenderObject::PaintInfo&, const IntRect&) { return true; }
virtual bool paintMediaCurrentTime(RenderObject*, const RenderObject::PaintInfo&, const IntRect&) { return true; }
virtual bool paintMediaTimeRemaining(RenderObject*, const RenderObject::PaintInfo&, const IntRect&) { return true; }
diff --git a/src/3rdparty/webkit/WebCore/rendering/RenderThemeChromiumMac.h b/src/3rdparty/webkit/WebCore/rendering/RenderThemeChromiumMac.h
index 5497d52..f8204cf 100644
--- a/src/3rdparty/webkit/WebCore/rendering/RenderThemeChromiumMac.h
+++ b/src/3rdparty/webkit/WebCore/rendering/RenderThemeChromiumMac.h
@@ -64,7 +64,7 @@ namespace WebCore {
virtual Color platformInactiveSelectionBackgroundColor() const;
virtual Color activeListBoxSelectionBackgroundColor() const;
- virtual Color focusRingColor() const;
+ virtual Color platformFocusRingColor() const;
virtual void platformColorsDidChange();
diff --git a/src/3rdparty/webkit/WebCore/rendering/RenderThemeChromiumMac.mm b/src/3rdparty/webkit/WebCore/rendering/RenderThemeChromiumMac.mm
index bd90831..efd28d9 100644
--- a/src/3rdparty/webkit/WebCore/rendering/RenderThemeChromiumMac.mm
+++ b/src/3rdparty/webkit/WebCore/rendering/RenderThemeChromiumMac.mm
@@ -46,6 +46,7 @@
#import "Image.h"
#import "LocalCurrentGraphicsContext.h"
#import "MediaControlElements.h"
+#import "RenderMedia.h"
#import "RenderSlider.h"
#import "RenderView.h"
#import "SharedBuffer.h"
@@ -172,7 +173,7 @@ Color RenderThemeChromiumMac::activeListBoxSelectionBackgroundColor() const
return Color(static_cast<int>(255.0 * [color redComponent]), static_cast<int>(255.0 * [color greenComponent]), static_cast<int>(255.0 * [color blueComponent]));
}
-Color RenderThemeChromiumMac::focusRingColor() const
+Color RenderThemeChromiumMac::platformFocusRingColor() const
{
if (ChromiumBridge::layoutTestMode())
return oldAquaFocusRingColor();
@@ -1800,6 +1801,12 @@ typedef enum {
MediaControllerThemeClassic = 1,
MediaControllerThemeQT = 2
} MediaControllerThemeStyle;
+
+enum WKMediaControllerThemeState {
+ MediaUIPartDisabledFlag = 1 << 0,
+ MediaUIPartPressedFlag = 1 << 1,
+ MediaUIPartDrawEndCapsFlag = 1 << 3,
+};
#endif
bool RenderThemeChromiumMac::paintMediaFullscreenButton(RenderObject* o, const RenderObject::PaintInfo& paintInfo, const IntRect& r)
@@ -1810,7 +1817,8 @@ bool RenderThemeChromiumMac::paintMediaFullscreenButton(RenderObject* o, const R
return false;
LocalCurrentGraphicsContext localContext(paintInfo.context);
- wkDrawMediaUIPart(MediaFullscreenButton, MediaControllerThemeClassic, paintInfo.context->platformContext(), r, node->active());
+ wkDrawMediaUIPart(MediaFullscreenButton, MediaControllerThemeClassic, paintInfo.context->platformContext(), r,
+ node->active() ? MediaUIPartPressedFlag : 0);
#endif
return false;
}
@@ -1828,7 +1836,8 @@ bool RenderThemeChromiumMac::paintMediaMuteButton(RenderObject* o, const RenderO
return false;
LocalCurrentGraphicsContext localContext(paintInfo.context);
- wkDrawMediaUIPart(mediaElement->muted() ? MediaUnMuteButton : MediaMuteButton, MediaControllerThemeClassic, paintInfo.context->platformContext(), r, node->active());
+ wkDrawMediaUIPart(mediaElement->muted() ? MediaUnMuteButton : MediaMuteButton, MediaControllerThemeClassic, paintInfo.context->platformContext(), r,
+ node->active() ? MediaUIPartPressedFlag : 0);
#endif
return false;
}
@@ -1846,7 +1855,8 @@ bool RenderThemeChromiumMac::paintMediaPlayButton(RenderObject* o, const RenderO
return false;
LocalCurrentGraphicsContext localContext(paintInfo.context);
- wkDrawMediaUIPart(mediaElement->canPlay() ? MediaPlayButton : MediaPauseButton, MediaControllerThemeClassic, paintInfo.context->platformContext(), r, node->active());
+ wkDrawMediaUIPart(mediaElement->canPlay() ? MediaPlayButton : MediaPauseButton, MediaControllerThemeClassic, paintInfo.context->platformContext(), r,
+ node->active() ? MediaUIPartPressedFlag : 0);
#endif
return false;
}
@@ -1859,7 +1869,8 @@ bool RenderThemeChromiumMac::paintMediaSeekBackButton(RenderObject* o, const Ren
return false;
LocalCurrentGraphicsContext localContext(paintInfo.context);
- wkDrawMediaUIPart(MediaSeekBackButton, MediaControllerThemeClassic, paintInfo.context->platformContext(), r, node->active());
+ wkDrawMediaUIPart(MediaSeekBackButton, MediaControllerThemeClassic, paintInfo.context->platformContext(), r,
+ node->active() ? MediaUIPartPressedFlag : 0);
#endif
return false;
}
@@ -1872,7 +1883,8 @@ bool RenderThemeChromiumMac::paintMediaSeekForwardButton(RenderObject* o, const
return false;
LocalCurrentGraphicsContext localContext(paintInfo.context);
- wkDrawMediaUIPart(MediaSeekForwardButton, MediaControllerThemeClassic, paintInfo.context->platformContext(), r, node->active());
+ wkDrawMediaUIPart(MediaSeekForwardButton, MediaControllerThemeClassic, paintInfo.context->platformContext(), r,
+ node->active() ? MediaUIPartPressedFlag : 0);
#endif
return false;
}
@@ -1898,7 +1910,8 @@ bool RenderThemeChromiumMac::paintMediaSliderTrack(RenderObject* o, const Render
currentTime = player->currentTime();
}
- wkDrawMediaSliderTrack(MediaControllerThemeClassic, paintInfo.context->platformContext(), r, timeLoaded, currentTime, duration);
+ bool shouldDrawEndCaps = !static_cast<RenderMedia*>(mediaElement->renderer())->shouldShowTimeDisplayControls();
+ wkDrawMediaSliderTrack(MediaControllerThemeClassic, paintInfo.context->platformContext(), r, timeLoaded, currentTime, duration, shouldDrawEndCaps ? MediaUIPartDrawEndCapsFlag : 0);
#endif
return false;
}
@@ -1911,7 +1924,8 @@ bool RenderThemeChromiumMac::paintMediaSliderThumb(RenderObject* o, const Render
return false;
LocalCurrentGraphicsContext localContext(paintInfo.context);
- wkDrawMediaUIPart(MediaSliderThumb, MediaControllerThemeClassic, paintInfo.context->platformContext(), r, node->active());
+ wkDrawMediaUIPart(MediaSliderThumb, MediaControllerThemeClassic, paintInfo.context->platformContext(), r,
+ node->active() ? MediaUIPartPressedFlag : 0);
#endif
return false;
}
diff --git a/src/3rdparty/webkit/WebCore/rendering/RenderThemeChromiumSkia.cpp b/src/3rdparty/webkit/WebCore/rendering/RenderThemeChromiumSkia.cpp
index 1fb0cb2..95ffd02 100644
--- a/src/3rdparty/webkit/WebCore/rendering/RenderThemeChromiumSkia.cpp
+++ b/src/3rdparty/webkit/WebCore/rendering/RenderThemeChromiumSkia.cpp
@@ -133,7 +133,7 @@ String RenderThemeChromiumSkia::extraMediaControlsStyleSheet()
bool RenderThemeChromiumSkia::supportsHover(const RenderStyle* style) const
{
- return true;
+ return true;
}
bool RenderThemeChromiumSkia::supportsFocusRing(const RenderStyle* style) const
@@ -162,7 +162,7 @@ Color RenderThemeChromiumSkia::platformInactiveSelectionForegroundColor() const
return Color(0x32, 0x32, 0x32);
}
-Color RenderThemeChromiumSkia::focusRingColor() const
+Color RenderThemeChromiumSkia::platformFocusRingColor() const
{
static Color focusRingColor(229, 151, 0, 255);
return focusRingColor;
@@ -212,8 +212,16 @@ bool RenderThemeChromiumSkia::paintCheckbox(RenderObject* o, const RenderObject:
{
static Image* const checkedImage = Image::loadPlatformResource("linuxCheckboxOn").releaseRef();
static Image* const uncheckedImage = Image::loadPlatformResource("linuxCheckboxOff").releaseRef();
+ static Image* const disabledCheckedImage = Image::loadPlatformResource("linuxCheckboxDisabledOn").releaseRef();
+ static Image* const disabledUncheckedImage = Image::loadPlatformResource("linuxCheckboxDisabledOff").releaseRef();
+
+ Image* image;
+
+ if (this->isEnabled(o))
+ image = this->isChecked(o) ? checkedImage : uncheckedImage;
+ else
+ image = this->isChecked(o) ? disabledCheckedImage : disabledUncheckedImage;
- Image* image = this->isChecked(o) ? checkedImage : uncheckedImage;
i.context->drawImage(image, rect);
return false;
}
@@ -237,8 +245,15 @@ bool RenderThemeChromiumSkia::paintRadio(RenderObject* o, const RenderObject::Pa
{
static Image* const checkedImage = Image::loadPlatformResource("linuxRadioOn").releaseRef();
static Image* const uncheckedImage = Image::loadPlatformResource("linuxRadioOff").releaseRef();
+ static Image* const disabledCheckedImage = Image::loadPlatformResource("linuxRadioDisabledOn").releaseRef();
+ static Image* const disabledUncheckedImage = Image::loadPlatformResource("linuxRadioDisabledOff").releaseRef();
+
+ Image* image;
+ if (this->isEnabled(o))
+ image = this->isChecked(o) ? checkedImage : uncheckedImage;
+ else
+ image = this->isChecked(o) ? disabledCheckedImage : disabledUncheckedImage;
- Image* image = this->isChecked(o) ? checkedImage : uncheckedImage;
i.context->drawImage(image, rect);
return false;
}
diff --git a/src/3rdparty/webkit/WebCore/rendering/RenderThemeChromiumSkia.h b/src/3rdparty/webkit/WebCore/rendering/RenderThemeChromiumSkia.h
index b81d4fa..8be64e5 100644
--- a/src/3rdparty/webkit/WebCore/rendering/RenderThemeChromiumSkia.h
+++ b/src/3rdparty/webkit/WebCore/rendering/RenderThemeChromiumSkia.h
@@ -54,7 +54,7 @@ namespace WebCore {
virtual Color platformInactiveSelectionBackgroundColor() const;
virtual Color platformActiveSelectionForegroundColor() const;
virtual Color platformInactiveSelectionForegroundColor() const;
- virtual Color focusRingColor() const;
+ virtual Color platformFocusRingColor() const;
// To change the blink interval, override caretBlinkIntervalInternal instead of this one so that we may share layout test code an intercepts.
virtual double caretBlinkInterval() const;
diff --git a/src/3rdparty/webkit/WebCore/rendering/RenderThemeChromiumWin.cpp b/src/3rdparty/webkit/WebCore/rendering/RenderThemeChromiumWin.cpp
index 4ed8d88..8459144 100644
--- a/src/3rdparty/webkit/WebCore/rendering/RenderThemeChromiumWin.cpp
+++ b/src/3rdparty/webkit/WebCore/rendering/RenderThemeChromiumWin.cpp
@@ -204,11 +204,11 @@ PassRefPtr<RenderTheme> RenderTheme::themeForPage(Page* page)
bool RenderThemeChromiumWin::supportsFocusRing(const RenderStyle* style) const
{
- // Let webkit draw one of its halo rings around any focused element,
- // except push buttons. For buttons we use the windows PBS_DEFAULTED
- // styling to give it a blue border.
- return style->appearance() == ButtonPart
- || style->appearance() == PushButtonPart;
+ // Let webkit draw one of its halo rings around any focused element,
+ // except push buttons. For buttons we use the windows PBS_DEFAULTED
+ // styling to give it a blue border.
+ return style->appearance() == ButtonPart
+ || style->appearance() == PushButtonPart;
}
Color RenderThemeChromiumWin::platformActiveSelectionBackgroundColor() const
diff --git a/src/3rdparty/webkit/WebCore/rendering/RenderThemeMac.h b/src/3rdparty/webkit/WebCore/rendering/RenderThemeMac.h
index ba32105..85f141f 100644
--- a/src/3rdparty/webkit/WebCore/rendering/RenderThemeMac.h
+++ b/src/3rdparty/webkit/WebCore/rendering/RenderThemeMac.h
@@ -58,7 +58,7 @@ public:
virtual Color platformActiveListBoxSelectionForegroundColor() const;
virtual Color platformInactiveListBoxSelectionBackgroundColor() const;
virtual Color platformInactiveListBoxSelectionForegroundColor() const;
- virtual Color focusRingColor() const;
+ virtual Color platformFocusRingColor() const;
virtual ScrollbarControlSize scrollbarControlSizeForPart(ControlPart) { return SmallScrollbar; }
@@ -124,12 +124,13 @@ protected:
virtual bool paintMediaSeekForwardButton(RenderObject*, const RenderObject::PaintInfo&, const IntRect&);
virtual bool paintMediaSliderTrack(RenderObject*, const RenderObject::PaintInfo&, const IntRect&);
virtual bool paintMediaSliderThumb(RenderObject*, const RenderObject::PaintInfo&, const IntRect&);
- virtual bool paintMediaTimelineContainer(RenderObject*, const RenderObject::PaintInfo&, const IntRect&);
+ virtual bool paintMediaRewindButton(RenderObject*, const RenderObject::PaintInfo&, const IntRect&);
+ virtual bool paintMediaReturnToRealtimeButton(RenderObject*, const RenderObject::PaintInfo&, const IntRect&);
+ virtual bool paintMediaControlsBackground(RenderObject*, const RenderObject::PaintInfo&, const IntRect&);
virtual bool paintMediaCurrentTime(RenderObject*, const RenderObject::PaintInfo&, const IntRect&);
virtual bool paintMediaTimeRemaining(RenderObject*, const RenderObject::PaintInfo&, const IntRect&);
// Media controls
- virtual bool hitTestMediaControlPart(RenderObject*, const IntPoint& absPoint);
virtual String extraMediaControlsStyleSheet();
#endif
diff --git a/src/3rdparty/webkit/WebCore/rendering/RenderThemeSafari.cpp b/src/3rdparty/webkit/WebCore/rendering/RenderThemeSafari.cpp
index 914f7ee..05facef 100644
--- a/src/3rdparty/webkit/WebCore/rendering/RenderThemeSafari.cpp
+++ b/src/3rdparty/webkit/WebCore/rendering/RenderThemeSafari.cpp
@@ -79,8 +79,10 @@ PassRefPtr<RenderTheme> RenderTheme::themeForPage(Page* page)
// FIXME: This is called before Settings has been initialized by WebKit, so will return a
// potentially wrong answer the very first time it's called (see
// <https://bugs.webkit.org/show_bug.cgi?id=26493>).
- if (Settings::shouldPaintNativeControls())
+ if (Settings::shouldPaintNativeControls()) {
+ RenderTheme::setCustomFocusRingColor(safariTheme->platformFocusRingColor());
return windowsTheme; // keep the reference of one.
+ }
return safariTheme; // keep the reference of one.
}
@@ -160,7 +162,7 @@ Color RenderThemeSafari::activeListBoxSelectionBackgroundColor() const
return Color(56, 117, 215);
}
-Color RenderThemeSafari::focusRingColor() const
+Color RenderThemeSafari::platformFocusRingColor() const
{
static Color focusRingColor;
diff --git a/src/3rdparty/webkit/WebCore/rendering/RenderThemeSafari.h b/src/3rdparty/webkit/WebCore/rendering/RenderThemeSafari.h
index 4685238..fb8ffb0 100644
--- a/src/3rdparty/webkit/WebCore/rendering/RenderThemeSafari.h
+++ b/src/3rdparty/webkit/WebCore/rendering/RenderThemeSafari.h
@@ -69,7 +69,7 @@ public:
virtual Color platformInactiveSelectionBackgroundColor() const;
virtual Color activeListBoxSelectionBackgroundColor() const;
- virtual Color focusRingColor() const;
+ virtual Color platformFocusRingColor() const;
// System fonts.
virtual void systemFont(int propId, FontDescription&) const;
diff --git a/src/3rdparty/webkit/WebCore/rendering/RenderThemeWince.cpp b/src/3rdparty/webkit/WebCore/rendering/RenderThemeWince.cpp
new file mode 100644
index 0000000..fb89678
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/rendering/RenderThemeWince.cpp
@@ -0,0 +1,667 @@
+/*
+ * This file is part of the WebKit project.
+ *
+ * Copyright (C) 2006, 2007 Apple Computer, Inc.
+ * Copyright (C) 2007-2009 Torch Mobile, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public License
+ * along with this library; see the file COPYING.LIB. If not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "config.h"
+#include "RenderThemeWince.h"
+
+#include "CSSStyleSheet.h"
+#include "CSSValueKeywords.h"
+#include "Document.h"
+#include "GraphicsContext.h"
+#if ENABLE(VIDEO)
+#include "HTMLMediaElement.h"
+#endif
+
+#include <windows.h>
+
+/*
+ * The following constants are used to determine how a widget is drawn using
+ * Windows' Theme API. For more information on theme parts and states see
+ * http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/commctls/userex/topics/partsandstates.asp
+ */
+#define THEME_COLOR 204
+#define THEME_FONT 210
+
+// Generic state constants
+#define TS_NORMAL 1
+#define TS_HOVER 2
+#define TS_ACTIVE 3
+#define TS_DISABLED 4
+#define TS_FOCUSED 5
+
+// Button constants
+#define BP_BUTTON 1
+#define BP_RADIO 2
+#define BP_CHECKBOX 3
+
+// Textfield constants
+#define TFP_TEXTFIELD 1
+#define TFS_READONLY 6
+
+typedef HANDLE (WINAPI*openThemeDataPtr)(HWND hwnd, LPCWSTR pszClassList);
+typedef HRESULT (WINAPI*closeThemeDataPtr)(HANDLE hTheme);
+typedef HRESULT (WINAPI*drawThemeBackgroundPtr)(HANDLE hTheme, HDC hdc, int iPartId,
+ int iStateId, const RECT *pRect,
+ const RECT* pClipRect);
+typedef HRESULT (WINAPI*drawThemeEdgePtr)(HANDLE hTheme, HDC hdc, int iPartId,
+ int iStateId, const RECT *pRect,
+ unsigned uEdge, unsigned uFlags,
+ const RECT* pClipRect);
+typedef HRESULT (WINAPI*getThemeContentRectPtr)(HANDLE hTheme, HDC hdc, int iPartId,
+ int iStateId, const RECT* pRect,
+ RECT* pContentRect);
+typedef HRESULT (WINAPI*getThemePartSizePtr)(HANDLE hTheme, HDC hdc, int iPartId,
+ int iStateId, RECT* prc, int ts,
+ SIZE* psz);
+typedef HRESULT (WINAPI*getThemeSysFontPtr)(HANDLE hTheme, int iFontId, OUT LOGFONT* pFont);
+typedef HRESULT (WINAPI*getThemeColorPtr)(HANDLE hTheme, HDC hdc, int iPartId,
+ int iStateId, int iPropId, OUT COLORREF* pFont);
+
+namespace WebCore {
+
+static const int dropDownButtonWidth = 17;
+static const int trackWidth = 4;
+
+PassRefPtr<RenderTheme> RenderThemeWince::create()
+{
+ return adoptRef(new RenderThemeWince);
+}
+
+PassRefPtr<RenderTheme> RenderTheme::themeForPage(Page* page)
+{
+ static RenderTheme* winceTheme = RenderThemeWince::create().releaseRef();
+ return winceTheme;
+}
+
+RenderThemeWince::RenderThemeWince()
+{
+}
+
+RenderThemeWince::~RenderThemeWince()
+{
+}
+
+Color RenderThemeWince::platformActiveSelectionBackgroundColor() const
+{
+ COLORREF color = GetSysColor(COLOR_HIGHLIGHT);
+ return Color(GetRValue(color), GetGValue(color), GetBValue(color), 255);
+}
+
+Color RenderThemeWince::platformInactiveSelectionBackgroundColor() const
+{
+ COLORREF color = GetSysColor(COLOR_GRAYTEXT);
+ return Color(GetRValue(color), GetGValue(color), GetBValue(color), 255);
+}
+
+Color RenderThemeWince::platformActiveSelectionForegroundColor() const
+{
+ COLORREF color = GetSysColor(COLOR_HIGHLIGHTTEXT);
+ return Color(GetRValue(color), GetGValue(color), GetBValue(color), 255);
+}
+
+Color RenderThemeWince::platformInactiveSelectionForegroundColor() const
+{
+ return Color::white;
+}
+
+bool RenderThemeWince::supportsFocus(ControlPart appearance) const
+{
+ switch (appearance) {
+ case PushButtonPart:
+ case ButtonPart:
+ case TextFieldPart:
+ case TextAreaPart:
+ return true;
+ default:
+ return false;
+ }
+
+ return false;
+}
+
+bool RenderThemeWince::supportsFocusRing(const RenderStyle *style) const
+{
+ return supportsFocus(style->appearance());
+}
+
+unsigned RenderThemeWince::determineClassicState(RenderObject* o)
+{
+ unsigned result = 0;
+ if (!isEnabled(o) || isReadOnlyControl(o))
+ result = DFCS_INACTIVE;
+ else if (isPressed(o)) // Active supersedes hover
+ result = DFCS_PUSHED;
+
+ if (isChecked(o))
+ result |= DFCS_CHECKED;
+ return result;
+}
+
+ThemeData RenderThemeWince::getThemeData(RenderObject* o)
+{
+ ThemeData result;
+ switch (o->style()->appearance()) {
+ case PushButtonPart:
+ case ButtonPart:
+ result.m_part = BP_BUTTON;
+ result.m_classicState = DFCS_BUTTONPUSH;
+ break;
+ case CheckboxPart:
+ result.m_part = BP_CHECKBOX;
+ result.m_classicState = DFCS_BUTTONCHECK;
+ break;
+ case RadioPart:
+ result.m_part = BP_RADIO;
+ result.m_classicState = DFCS_BUTTONRADIO;
+ break;
+ case ListboxPart:
+ case MenulistPart:
+ case TextFieldPart:
+ case TextAreaPart:
+ result.m_part = TFP_TEXTFIELD;
+ break;
+ }
+
+ result.m_classicState |= determineClassicState(o);
+
+ return result;
+}
+
+bool RenderThemeWince::paintButton(RenderObject* o, const RenderObject::PaintInfo& i, const IntRect& r)
+{
+ // Get the correct theme data for a button
+ ThemeData themeData = getThemeData(o);
+
+ // Now paint the button.
+ i.context->drawFrameControl(r, DFC_BUTTON, themeData.m_classicState);
+ if (isFocused(o)) {
+ if (themeData.m_part == BP_BUTTON) {
+ IntRect focusRect(r);
+ focusRect.inflate(-2);
+ i.context->drawFocusRect(focusRect);
+ } else
+ i.context->drawFocusRect(r);
+ }
+
+ return false;
+}
+
+void RenderThemeWince::setCheckboxSize(RenderStyle* style) const
+{
+ // If the width and height are both specified, then we have nothing to do.
+ if (!style->width().isIntrinsicOrAuto() && !style->height().isAuto())
+ return;
+
+ // FIXME: A hard-coded size of 13 is used. This is wrong but necessary for now. It matches Firefox.
+ // At different DPI settings on Windows, querying the theme gives you a larger size that accounts for
+ // the higher DPI. Until our entire engine honors a DPI setting other than 96, we can't rely on the theme's
+ // metrics.
+ if (style->width().isIntrinsicOrAuto())
+ style->setWidth(Length(13, Fixed));
+ if (style->height().isAuto())
+ style->setHeight(Length(13, Fixed));
+}
+
+bool RenderThemeWince::paintTextField(RenderObject* o, const RenderObject::PaintInfo& i, const IntRect& r)
+{
+ // Get the correct theme data for a textfield
+ ThemeData themeData = getThemeData(o);
+
+ // Now paint the text field.
+ i.context->paintTextField(r, themeData.m_classicState);
+
+ return false;
+}
+
+void RenderThemeWince::adjustMenuListStyle(CSSStyleSelector* selector, RenderStyle* style, Element* e) const
+{
+ style->resetBorder();
+ adjustMenuListButtonStyle(selector, style, e);
+}
+
+bool RenderThemeWince::paintMenuList(RenderObject* o, const RenderObject::PaintInfo& i, const IntRect& r)
+{
+ paintTextField(o, i, r);
+ paintMenuListButton(o, i, r);
+ return true;
+}
+
+bool RenderThemeWince::paintMenuListButton(RenderObject* o, const RenderObject::PaintInfo& i, const IntRect& r)
+{
+ IntRect buttonRect(r.right() - dropDownButtonWidth - 1, r.y(), dropDownButtonWidth, r.height());
+ buttonRect.inflateY(-1);
+ i.context->drawFrameControl(buttonRect, DFC_SCROLL, DFCS_SCROLLCOMBOBOX | determineClassicState(o));
+ return true;
+}
+
+void RenderThemeWince::systemFont(int propId, FontDescription& fontDescription) const
+{
+ notImplemented();
+}
+
+void RenderThemeWince::themeChanged()
+{
+}
+
+String RenderThemeWince::extraDefaultStyleSheet()
+{
+ notImplemented();
+ return String();
+}
+
+String RenderThemeWince::extraQuirksStyleSheet()
+{
+ notImplemented();
+ return String();
+}
+
+bool RenderThemeWince::supportsHover(const RenderStyle*) const
+{
+ return false;
+}
+
+// Map a CSSValue* system color to an index understood by GetSysColor
+static int cssValueIdToSysColorIndex(int cssValueId)
+{
+ switch (cssValueId) {
+ case CSSValueActiveborder: return COLOR_ACTIVEBORDER;
+ case CSSValueActivecaption: return COLOR_ACTIVECAPTION;
+ case CSSValueAppworkspace: return COLOR_APPWORKSPACE;
+ case CSSValueBackground: return COLOR_BACKGROUND;
+ case CSSValueButtonface: return COLOR_BTNFACE;
+ case CSSValueButtonhighlight: return COLOR_BTNHIGHLIGHT;
+ case CSSValueButtonshadow: return COLOR_BTNSHADOW;
+ case CSSValueButtontext: return COLOR_BTNTEXT;
+ case CSSValueCaptiontext: return COLOR_CAPTIONTEXT;
+ case CSSValueGraytext: return COLOR_GRAYTEXT;
+ case CSSValueHighlight: return COLOR_HIGHLIGHT;
+ case CSSValueHighlighttext: return COLOR_HIGHLIGHTTEXT;
+ case CSSValueInactiveborder: return COLOR_INACTIVEBORDER;
+ case CSSValueInactivecaption: return COLOR_INACTIVECAPTION;
+ case CSSValueInactivecaptiontext: return COLOR_INACTIVECAPTIONTEXT;
+ case CSSValueInfobackground: return COLOR_INFOBK;
+ case CSSValueInfotext: return COLOR_INFOTEXT;
+ case CSSValueMenu: return COLOR_MENU;
+ case CSSValueMenutext: return COLOR_MENUTEXT;
+ case CSSValueScrollbar: return COLOR_SCROLLBAR;
+ case CSSValueThreeddarkshadow: return COLOR_3DDKSHADOW;
+ case CSSValueThreedface: return COLOR_3DFACE;
+ case CSSValueThreedhighlight: return COLOR_3DHIGHLIGHT;
+ case CSSValueThreedlightshadow: return COLOR_3DLIGHT;
+ case CSSValueThreedshadow: return COLOR_3DSHADOW;
+ case CSSValueWindow: return COLOR_WINDOW;
+ case CSSValueWindowframe: return COLOR_WINDOWFRAME;
+ case CSSValueWindowtext: return COLOR_WINDOWTEXT;
+ default: return -1; // Unsupported CSSValue
+ }
+}
+
+Color RenderThemeWince::systemColor(int cssValueId) const
+{
+ int sysColorIndex = cssValueIdToSysColorIndex(cssValueId);
+ if (sysColorIndex == -1)
+ return RenderTheme::systemColor(cssValueId);
+
+ COLORREF color = GetSysColor(sysColorIndex);
+ return Color(GetRValue(color), GetGValue(color), GetBValue(color));
+}
+
+const int sliderThumbWidth = 7;
+const int sliderThumbHeight = 15;
+
+void RenderThemeWince::adjustSliderThumbSize(RenderObject* o) const
+{
+ if (o->style()->appearance() == SliderThumbVerticalPart) {
+ o->style()->setWidth(Length(sliderThumbHeight, Fixed));
+ o->style()->setHeight(Length(sliderThumbWidth, Fixed));
+ } else if (o->style()->appearance() == SliderThumbHorizontalPart) {
+ o->style()->setWidth(Length(sliderThumbWidth, Fixed));
+ o->style()->setHeight(Length(sliderThumbHeight, Fixed));
+ }
+}
+
+#if 0
+void RenderThemeWince::adjustButtonInnerStyle(RenderStyle* style) const
+{
+ // This inner padding matches Firefox.
+ style->setPaddingTop(Length(1, Fixed));
+ style->setPaddingRight(Length(3, Fixed));
+ style->setPaddingBottom(Length(1, Fixed));
+ style->setPaddingLeft(Length(3, Fixed));
+}
+
+void RenderThemeWince::adjustSearchFieldStyle(CSSStyleSelector* selector, RenderStyle* style, Element* e) const
+{
+ // Override padding size to match AppKit text positioning.
+ const int padding = 1;
+ style->setPaddingLeft(Length(padding, Fixed));
+ style->setPaddingRight(Length(padding, Fixed));
+ style->setPaddingTop(Length(padding, Fixed));
+ style->setPaddingBottom(Length(padding, Fixed));
+}
+#endif
+
+bool RenderThemeWince::paintSearchField(RenderObject* o, const RenderObject::PaintInfo& i, const IntRect& r)
+{
+ return paintTextField(o, i, r);
+}
+
+bool RenderThemeWince::paintSearchFieldCancelButton(RenderObject* o, const RenderObject::PaintInfo& paintInfo, const IntRect& r)
+{
+ Color buttonColor = (o->node() && o->node()->active()) ? Color(138, 138, 138) : Color(186, 186, 186);
+
+ IntSize cancelSize(10, 10);
+ IntSize cancelRadius(cancelSize.width() / 2, cancelSize.height() / 2);
+ int x = r.x() + (r.width() - cancelSize.width()) / 2;
+ int y = r.y() + (r.height() - cancelSize.height()) / 2 + 1;
+ IntRect cancelBounds(IntPoint(x, y), cancelSize);
+ paintInfo.context->save();
+ paintInfo.context->addRoundedRectClip(cancelBounds, cancelRadius, cancelRadius, cancelRadius, cancelRadius);
+ paintInfo.context->fillRect(cancelBounds, buttonColor);
+
+ // Draw the 'x'
+ IntSize xSize(3, 3);
+ IntRect xBounds(cancelBounds.location() + IntSize(3, 3), xSize);
+ paintInfo.context->setStrokeColor(Color::white);
+ paintInfo.context->drawLine(xBounds.location(), xBounds.location() + xBounds.size());
+ paintInfo.context->drawLine(IntPoint(xBounds.right(), xBounds.y()), IntPoint(xBounds.x(), xBounds.bottom()));
+
+ paintInfo.context->restore();
+ return false;
+}
+
+void RenderThemeWince::adjustSearchFieldCancelButtonStyle(CSSStyleSelector* selector, RenderStyle* style, Element* e) const
+{
+ IntSize cancelSize(13, 11);
+ style->setWidth(Length(cancelSize.width(), Fixed));
+ style->setHeight(Length(cancelSize.height(), Fixed));
+}
+
+void RenderThemeWince::adjustSearchFieldDecorationStyle(CSSStyleSelector* selector, RenderStyle* style, Element* e) const
+{
+ IntSize emptySize(1, 11);
+ style->setWidth(Length(emptySize.width(), Fixed));
+ style->setHeight(Length(emptySize.height(), Fixed));
+}
+
+void RenderThemeWince::adjustSearchFieldResultsDecorationStyle(CSSStyleSelector* selector, RenderStyle* style, Element* e) const
+{
+ IntSize magnifierSize(15, 11);
+ style->setWidth(Length(magnifierSize.width(), Fixed));
+ style->setHeight(Length(magnifierSize.height(), Fixed));
+}
+
+bool RenderThemeWince::paintSearchFieldResultsDecoration(RenderObject* o, const RenderObject::PaintInfo& paintInfo, const IntRect& r)
+{
+ notImplemented();
+ return false;
+}
+
+void RenderThemeWince::adjustSearchFieldResultsButtonStyle(CSSStyleSelector* selector, RenderStyle* style, Element* e) const
+{
+ IntSize magnifierSize(15, 11);
+ style->setWidth(Length(magnifierSize.width(), Fixed));
+ style->setHeight(Length(magnifierSize.height(), Fixed));
+}
+
+bool RenderThemeWince::paintSearchFieldResultsButton(RenderObject* o, const RenderObject::PaintInfo& paintInfo, const IntRect& r)
+{
+ paintSearchFieldResultsDecoration(o, paintInfo, r);
+ return false;
+}
+
+void RenderThemeWince::adjustMenuListButtonStyle(CSSStyleSelector* selector, RenderStyle* style, Element* e) const
+{
+ // These are the paddings needed to place the text correctly in the <select> box
+ const int dropDownBoxPaddingTop = 2;
+ const int dropDownBoxPaddingRight = style->direction() == LTR ? 4 + dropDownButtonWidth : 4;
+ const int dropDownBoxPaddingBottom = 2;
+ const int dropDownBoxPaddingLeft = style->direction() == LTR ? 4 : 4 + dropDownButtonWidth;
+ // The <select> box must be at least 12px high for the button to render nicely on Windows
+ const int dropDownBoxMinHeight = 12;
+
+ // Position the text correctly within the select box and make the box wide enough to fit the dropdown button
+ style->setPaddingTop(Length(dropDownBoxPaddingTop, Fixed));
+ style->setPaddingRight(Length(dropDownBoxPaddingRight, Fixed));
+ style->setPaddingBottom(Length(dropDownBoxPaddingBottom, Fixed));
+ style->setPaddingLeft(Length(dropDownBoxPaddingLeft, Fixed));
+
+ // Height is locked to auto
+ style->setHeight(Length(Auto));
+
+ // Calculate our min-height
+ int minHeight = style->font().height();
+ minHeight = max(minHeight, dropDownBoxMinHeight);
+
+ style->setMinHeight(Length(minHeight, Fixed));
+
+ // White-space is locked to pre
+ style->setWhiteSpace(PRE);
+
+ DWORD colorMenu = GetSysColor(COLOR_MENU);
+ DWORD colorMenuText = GetSysColor(COLOR_MENUTEXT);
+ Color bgColor(GetRValue(colorMenu), GetGValue(colorMenu), GetBValue(colorMenu), 255);
+ Color textColor(GetRValue(colorMenuText), GetGValue(colorMenuText), GetBValue(colorMenuText), 255);
+ if (bgColor == textColor)
+ textColor.setRGB((~bgColor.rgb()) | 0xFF000000);
+ style->clearBackgroundLayers();
+ style->accessBackgroundLayers()->setClip(ContentFillBox);
+ style->setBackgroundColor(bgColor);
+ style->setColor(textColor);
+}
+
+#if ENABLE(VIDEO)
+// Attempt to retrieve a HTMLMediaElement from a Node. Returns 0 if one cannot be found.
+static HTMLMediaElement* mediaElementParent(Node* node)
+{
+ if (!node)
+ return 0;
+ Node* mediaNode = node->shadowAncestorNode();
+ if (!mediaNode || (!mediaNode->hasTagName(HTMLNames::videoTag) && !mediaNode->hasTagName(HTMLNames::audioTag)))
+ return 0;
+
+ return static_cast<HTMLMediaElement*>(mediaNode);
+}
+#endif
+
+bool RenderThemeWince::paintSliderTrack(RenderObject* o, const RenderObject::PaintInfo& i, const IntRect& r)
+{
+ bool rc = RenderTheme::paintSliderTrack(o, i, r);
+ IntPoint left = IntPoint(r.x() + 2, (r.y() + r.bottom()) / 2);
+ i.context->save();
+ i.context->setStrokeColor(Color::gray);
+ i.context->setFillColor(Color::gray);
+ i.context->fillRect(r);
+#if ENABLE(VIDEO)
+ HTMLMediaElement *mediaElement = mediaElementParent(o->node());
+ if (mediaElement) {
+ i.context->setStrokeColor(Color(0, 0xff, 0));
+ IntPoint right = IntPoint(left.x() + mediaElement->percentLoaded() * (r.right() - r.x() - 4), (r.y() + r.bottom()) / 2);
+ i.context->drawLine(left, right);
+ left = right;
+ }
+#endif
+ i.context->setStrokeColor(Color::black);
+ i.context->drawLine(left, IntPoint(r.right() - 2, left.y()));
+ i.context->restore();
+ return rc;
+}
+
+bool RenderThemeWince::paintSliderThumb(RenderObject* o, const RenderObject::PaintInfo& i, const IntRect& r)
+{
+ bool rc = RenderTheme::paintSliderThumb(o, i, r);
+ i.context->save();
+ i.context->setStrokeColor(Color::black);
+ i.context->setFillColor(Color::black);
+#if ENABLE(VIDEO)
+ HTMLMediaElement *mediaElement = mediaElementParent(o->node());
+ if (mediaElement) {
+ float pt = (mediaElement->currentTime() - mediaElement->startTime()) / mediaElement->duration();
+ FloatRect intRect = r;
+ intRect.setX(intRect.x() + intRect.width() * pt - 2);
+ intRect.setWidth(5);
+ i.context->fillRect(intRect);
+ }
+#endif
+ i.context->restore();
+ return rc;
+}
+
+int RenderThemeWince::buttonInternalPaddingLeft() const
+{
+ return 3;
+}
+
+int RenderThemeWince::buttonInternalPaddingRight() const
+{
+ return 3;
+}
+
+int RenderThemeWince::buttonInternalPaddingTop() const
+{
+ return 1;
+}
+
+int RenderThemeWince::buttonInternalPaddingBottom() const
+{
+ return 1;
+}
+
+void RenderThemeWince::adjustSearchFieldStyle(CSSStyleSelector* selector, RenderStyle* style, Element* e) const
+{
+ const int padding = 1;
+ style->setPaddingLeft(Length(padding, Fixed));
+ style->setPaddingRight(Length(padding, Fixed));
+ style->setPaddingTop(Length(padding, Fixed));
+ style->setPaddingBottom(Length(padding, Fixed));
+}
+
+#if ENABLE(VIDEO)
+
+bool RenderThemeWince::paintMediaFullscreenButton(RenderObject* o, const RenderObject::PaintInfo& paintInfo, const IntRect& r)
+{
+ bool rc = paintButton(o, paintInfo, r);
+ FloatRect imRect = r;
+ imRect.inflate(-2);
+ paintInfo.context->save();
+ paintInfo.context->setStrokeColor(Color::black);
+ paintInfo.context->setFillColor(Color::gray);
+ paintInfo.context->fillRect(imRect);
+ paintInfo.context->restore();
+ return rc;
+}
+
+bool RenderThemeWince::paintMediaMuteButton(RenderObject* o, const RenderObject::PaintInfo& paintInfo, const IntRect& r)
+{
+ bool rc = paintButton(o, paintInfo, r);
+ HTMLMediaElement *mediaElement = mediaElementParent(o->node());
+ bool muted = !mediaElement || mediaElement->muted();
+ FloatRect imRect = r;
+ imRect.inflate(-2);
+ paintInfo.context->save();
+ paintInfo.context->setStrokeColor(Color::black);
+ paintInfo.context->setFillColor(Color::black);
+ FloatPoint pts[6] = {
+ FloatPoint(imRect.x() + 1, imRect.y() + imRect.height() / 3.0),
+ FloatPoint(imRect.x() + 1 + imRect.width() / 2.0, imRect.y() + imRect.height() / 3.0),
+ FloatPoint(imRect.right() - 1, imRect.y()),
+ FloatPoint(imRect.right() - 1, imRect.bottom()),
+ FloatPoint(imRect.x() + 1 + imRect.width() / 2.0, imRect.y() + 2.0 * imRect.height() / 3.0),
+ FloatPoint(imRect.x() + 1, imRect.y() + 2.0 * imRect.height() / 3.0)
+ };
+ paintInfo.context->drawConvexPolygon(6, pts);
+ if (muted)
+ paintInfo.context->drawLine(IntPoint(imRect.right(), imRect.y()), IntPoint(imRect.x(), imRect.bottom()));
+ paintInfo.context->restore();
+ return rc;
+}
+
+bool RenderThemeWince::paintMediaPlayButton(RenderObject* o, const RenderObject::PaintInfo& paintInfo, const IntRect& r)
+{
+ bool rc = paintButton(o, paintInfo, r);
+ FloatRect imRect = r;
+ imRect.inflate(-3);
+ paintInfo.context->save();
+ paintInfo.context->setStrokeColor(Color::black);
+ paintInfo.context->setFillColor(Color::black);
+ HTMLMediaElement *mediaElement = mediaElementParent(o->node());
+ bool paused = !mediaElement || mediaElement->paused();
+ if (paused) {
+ float width = imRect.width();
+ imRect.setWidth(width / 3.0);
+ paintInfo.context->fillRect(imRect);
+ imRect.move(2.0 * width / 3.0, 0);
+ paintInfo.context->fillRect(imRect);
+ } else {
+ FloatPoint pts[3] = { FloatPoint(imRect.x(), imRect.y()), FloatPoint(imRect.right(), (imRect.y() + imRect.bottom()) / 2.0), FloatPoint(imRect.x(), imRect.bottom()) };
+ paintInfo.context->drawConvexPolygon(3, pts);
+ }
+ paintInfo.context->restore();
+ return rc;
+}
+
+bool RenderThemeWince::paintMediaSeekBackButton(RenderObject* o, const RenderObject::PaintInfo& paintInfo, const IntRect& r)
+{
+ bool rc = paintButton(o, paintInfo, r);
+ FloatRect imRect = r;
+ imRect.inflate(-3);
+ FloatPoint pts[3] = { FloatPoint((imRect.x() + imRect.right()) / 2.0, imRect.y()), FloatPoint(imRect.x(), (imRect.y() + imRect.bottom()) / 2.0), FloatPoint((imRect.x() + imRect.right()) / 2.0, imRect.bottom()) };
+ FloatPoint pts2[3] = { FloatPoint(imRect.right(), imRect.y()), FloatPoint((imRect.x() + imRect.right()) / 2.0, (imRect.y() + imRect.bottom()) / 2.0), FloatPoint(imRect.right(), imRect.bottom()) };
+ paintInfo.context->save();
+ paintInfo.context->setStrokeColor(Color::black);
+ paintInfo.context->setFillColor(Color::black);
+ paintInfo.context->drawConvexPolygon(3, pts);
+ paintInfo.context->drawConvexPolygon(3, pts2);
+ paintInfo.context->restore();
+ return rc;
+}
+
+bool RenderThemeWince::paintMediaSeekForwardButton(RenderObject* o, const RenderObject::PaintInfo& paintInfo, const IntRect& r)
+{
+ bool rc = paintButton(o, paintInfo, r);
+ FloatRect imRect = r;
+ imRect.inflate(-3);
+ FloatPoint pts[3] = { FloatPoint(imRect.x(), imRect.y()), FloatPoint((imRect.x() + imRect.right()) / 2.0, (imRect.y() + imRect.bottom()) / 2.0), FloatPoint(imRect.x(), imRect.bottom()) };
+ FloatPoint pts2[3] = { FloatPoint((imRect.x() + imRect.right()) / 2.0, imRect.y()), FloatPoint(imRect.right(), (imRect.y() + imRect.bottom()) / 2.0), FloatPoint((imRect.x() + imRect.right()) / 2.0, imRect.bottom()) };
+ paintInfo.context->save();
+ paintInfo.context->setStrokeColor(Color::black);
+ paintInfo.context->setFillColor(Color::black);
+ paintInfo.context->drawConvexPolygon(3, pts);
+ paintInfo.context->drawConvexPolygon(3, pts2);
+ paintInfo.context->restore();
+ return rc;
+}
+
+bool RenderThemeWince::paintMediaSliderTrack(RenderObject* o, const RenderObject::PaintInfo& paintInfo, const IntRect& r)
+{
+ return paintSliderTrack(o, paintInfo, r);
+}
+
+bool RenderThemeWince::paintMediaSliderThumb(RenderObject* o, const RenderObject::PaintInfo& paintInfo, const IntRect& r)
+{
+ return paintSliderThumb(o, paintInfo, r);
+}
+#endif
+
+}
+
diff --git a/src/3rdparty/webkit/WebCore/rendering/RenderThemeWince.h b/src/3rdparty/webkit/WebCore/rendering/RenderThemeWince.h
new file mode 100644
index 0000000..a2d04e1
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/rendering/RenderThemeWince.h
@@ -0,0 +1,147 @@
+/*
+ * This file is part of the WebKit project.
+ *
+ * Copyright (C) 2006, 2008 Apple Computer, Inc.
+ * Copyright (C) 2009 Torch Mobile, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public License
+ * along with this library; see the file COPYING.LIB. If not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef RenderThemeWince_h
+#define RenderThemeWince_h
+
+#include "RenderTheme.h"
+
+typedef void* HANDLE;
+typedef struct HINSTANCE__* HINSTANCE;
+typedef HINSTANCE HMODULE;
+
+namespace WebCore {
+
+ struct ThemeData {
+ ThemeData() :m_part(0), m_state(0), m_classicState(0) {}
+ ThemeData(int part, int state)
+ : m_part(part)
+ , m_state(state)
+ , m_classicState(0)
+ { }
+
+ unsigned m_part;
+ unsigned m_state;
+ unsigned m_classicState;
+ };
+
+ class RenderThemeWince : public RenderTheme {
+ public:
+ static PassRefPtr<RenderTheme> create();
+ ~RenderThemeWince();
+
+ virtual String extraDefaultStyleSheet();
+ virtual String extraQuirksStyleSheet();
+
+ // A method asking if the theme's controls actually care about redrawing when hovered.
+ virtual bool supportsHover(const RenderStyle*) const;
+
+ virtual Color platformActiveSelectionBackgroundColor() const;
+ virtual Color platformInactiveSelectionBackgroundColor() const;
+ virtual Color platformActiveSelectionForegroundColor() const;
+ virtual Color platformInactiveSelectionForegroundColor() const;
+
+ // System fonts.
+ virtual void systemFont(int propId, FontDescription&) const;
+ virtual Color systemColor(int cssValueId) const;
+
+ virtual bool paintCheckbox(RenderObject* o, const RenderObject::PaintInfo& i, const IntRect& r)
+ { return paintButton(o, i, r); }
+ virtual void setCheckboxSize(RenderStyle*) const;
+
+ virtual bool paintRadio(RenderObject* o, const RenderObject::PaintInfo& i, const IntRect& r)
+ { return paintButton(o, i, r); }
+ virtual void setRadioSize(RenderStyle* style) const
+ { return setCheckboxSize(style); }
+
+ virtual bool paintButton(RenderObject*, const RenderObject::PaintInfo&, const IntRect&);
+
+ virtual bool paintTextField(RenderObject*, const RenderObject::PaintInfo&, const IntRect&);
+
+ virtual bool paintTextArea(RenderObject* o, const RenderObject::PaintInfo& i, const IntRect& r)
+ { return paintTextField(o, i, r); }
+
+ virtual void adjustMenuListStyle(CSSStyleSelector* selector, RenderStyle* style, Element* e) const;
+ virtual bool paintMenuList(RenderObject*, const RenderObject::PaintInfo&, const IntRect&);
+ virtual void adjustMenuListButtonStyle(CSSStyleSelector* selector, RenderStyle* style, Element* e) const;
+
+ virtual bool paintMenuListButton(RenderObject*, const RenderObject::PaintInfo&, const IntRect&);
+
+ virtual bool paintSliderTrack(RenderObject* o, const RenderObject::PaintInfo& i, const IntRect& r);
+ virtual bool paintSliderThumb(RenderObject* o, const RenderObject::PaintInfo& i, const IntRect& r);
+ virtual void adjustSliderThumbSize(RenderObject*) const;
+
+ virtual bool popupOptionSupportsTextIndent() const { return true; }
+
+ virtual int buttonInternalPaddingLeft() const;
+ virtual int buttonInternalPaddingRight() const;
+ virtual int buttonInternalPaddingTop() const;
+ virtual int buttonInternalPaddingBottom() const;
+
+ virtual void adjustSearchFieldStyle(CSSStyleSelector*, RenderStyle*, Element*) const;
+ virtual bool paintSearchField(RenderObject*, const RenderObject::PaintInfo&, const IntRect&);
+
+ virtual void adjustSearchFieldCancelButtonStyle(CSSStyleSelector*, RenderStyle*, Element*) const;
+ virtual bool paintSearchFieldCancelButton(RenderObject*, const RenderObject::PaintInfo&, const IntRect&);
+
+ virtual void adjustSearchFieldDecorationStyle(CSSStyleSelector*, RenderStyle*, Element*) const;
+ virtual bool paintSearchFieldDecoration(RenderObject*, const RenderObject::PaintInfo&, const IntRect&) { return false; }
+
+ virtual void adjustSearchFieldResultsDecorationStyle(CSSStyleSelector*, RenderStyle*, Element*) const;
+ virtual bool paintSearchFieldResultsDecoration(RenderObject*, const RenderObject::PaintInfo&, const IntRect&);
+
+ virtual void adjustSearchFieldResultsButtonStyle(CSSStyleSelector*, RenderStyle*, Element*) const;
+ virtual bool paintSearchFieldResultsButton(RenderObject*, const RenderObject::PaintInfo&, const IntRect&);
+
+ virtual void themeChanged();
+
+ virtual void adjustButtonStyle(CSSStyleSelector*, RenderStyle* style, Element*) const {}
+ virtual void adjustTextFieldStyle(CSSStyleSelector*, RenderStyle* style, Element*) const {}
+ virtual void adjustTextAreaStyle(CSSStyleSelector*, RenderStyle* style, Element*) const {}
+
+ static void setWebKitIsBeingUnloaded();
+
+ virtual bool supportsFocusRing(const RenderStyle*) const;
+
+ #if ENABLE(VIDEO)
+ virtual bool paintMediaFullscreenButton(RenderObject*, const RenderObject::PaintInfo&, const IntRect&);
+ virtual bool paintMediaPlayButton(RenderObject*, const RenderObject::PaintInfo&, const IntRect&);
+ virtual bool paintMediaMuteButton(RenderObject*, const RenderObject::PaintInfo&, const IntRect&);
+ virtual bool paintMediaSeekBackButton(RenderObject*, const RenderObject::PaintInfo&, const IntRect&);
+ virtual bool paintMediaSeekForwardButton(RenderObject*, const RenderObject::PaintInfo&, const IntRect&);
+ virtual bool paintMediaSliderTrack(RenderObject*, const RenderObject::PaintInfo&, const IntRect&);
+ virtual bool paintMediaSliderThumb(RenderObject*, const RenderObject::PaintInfo&, const IntRect&);
+ #endif
+
+ private:
+ RenderThemeWince();
+
+ unsigned determineClassicState(RenderObject*);
+ bool supportsFocus(ControlPart) const;
+
+ ThemeData getThemeData(RenderObject*);
+ };
+
+};
+
+#endif
diff --git a/src/3rdparty/webkit/WebCore/rendering/RenderView.cpp b/src/3rdparty/webkit/WebCore/rendering/RenderView.cpp
index 05d40bc..3b8a4fb 100644
--- a/src/3rdparty/webkit/WebCore/rendering/RenderView.cpp
+++ b/src/3rdparty/webkit/WebCore/rendering/RenderView.cpp
@@ -343,8 +343,8 @@ void RenderView::setMaximalOutlineSize(int o)
if (o != m_maximalOutlineSize) {
m_maximalOutlineSize = o;
- if (m_frameView)
- m_frameView->updateCompositingLayers(FrameView::ForcedCompositingUpdate);
+ // maximalOutlineSize affects compositing layer dimensions.
+ compositor()->setCompositingLayersNeedRebuild(); // FIXME: this really just needs to be a geometry update.
}
}
#endif
diff --git a/src/3rdparty/webkit/WebCore/rendering/RenderView.h b/src/3rdparty/webkit/WebCore/rendering/RenderView.h
index b0de7dd..854a421 100644
--- a/src/3rdparty/webkit/WebCore/rendering/RenderView.h
+++ b/src/3rdparty/webkit/WebCore/rendering/RenderView.h
@@ -222,7 +222,7 @@ void toRenderView(const RenderView*);
// Stack-based class to assist with LayoutState push/pop
-class LayoutStateMaintainer : Noncopyable {
+class LayoutStateMaintainer : public Noncopyable {
public:
// ctor to push now
LayoutStateMaintainer(RenderView* view, RenderBox* root, IntSize offset, bool disableState = false)
diff --git a/src/3rdparty/webkit/WebCore/rendering/RenderWidget.cpp b/src/3rdparty/webkit/WebCore/rendering/RenderWidget.cpp
index ec2ee6a..16526ca 100644
--- a/src/3rdparty/webkit/WebCore/rendering/RenderWidget.cpp
+++ b/src/3rdparty/webkit/WebCore/rendering/RenderWidget.cpp
@@ -73,8 +73,8 @@ void RenderWidget::destroy()
if (m_widget) {
if (m_frameView)
- m_frameView->removeChild(m_widget);
- widgetRendererMap().remove(m_widget);
+ m_frameView->removeChild(m_widget.get());
+ widgetRendererMap().remove(m_widget.get());
}
// removes from override size map
@@ -113,17 +113,17 @@ void RenderWidget::setWidgetGeometry(const IntRect& frame)
}
}
-void RenderWidget::setWidget(Widget* widget)
+void RenderWidget::setWidget(PassRefPtr<Widget> widget)
{
if (widget != m_widget) {
if (m_widget) {
m_widget->removeFromParent();
- widgetRendererMap().remove(m_widget);
+ widgetRendererMap().remove(m_widget.get());
clearWidget();
}
m_widget = widget;
if (m_widget) {
- widgetRendererMap().add(m_widget, this);
+ widgetRendererMap().add(m_widget.get(), this);
// if we've already received a layout, apply the calculated space to the
// widget immediately, but we have to have really been full constructed (with a non-null
// style pointer).
@@ -135,7 +135,7 @@ void RenderWidget::setWidget(Widget* widget)
else
m_widget->show();
}
- m_frameView->addChild(m_widget);
+ m_frameView->addChild(m_widget.get());
}
}
}
@@ -182,8 +182,7 @@ void RenderWidget::paint(PaintInfo& paintInfo, int tx, int ty)
paintCustomHighlight(tx - x(), ty - y(), style()->highlight(), true);
#endif
- bool clipToBorderRadius = style()->overflowX() != OVISIBLE && style()->hasBorderRadius();
- if (clipToBorderRadius) {
+ if (style()->hasBorderRadius()) {
// Push a clip if we have a border radius, since we want to round the foreground content that gets painted.
paintInfo.context->save();
@@ -204,13 +203,13 @@ void RenderWidget::paint(PaintInfo& paintInfo, int tx, int ty)
// to paint itself. That way it will composite properly with z-indexed layers.
m_widget->paint(paintInfo.context, paintInfo.rect);
- if (m_widget->isFrameView() && paintInfo.overlapTestRequests && !static_cast<FrameView*>(m_widget)->useSlowRepaints()) {
+ if (m_widget->isFrameView() && paintInfo.overlapTestRequests && !static_cast<FrameView*>(m_widget.get())->useSlowRepaints()) {
ASSERT(!paintInfo.overlapTestRequests->contains(this));
paintInfo.overlapTestRequests->set(this, m_widget->frameRect());
}
}
- if (clipToBorderRadius)
+ if (style()->hasBorderRadius())
paintInfo.context->restore();
// Paint a partially transparent wash over selected widgets.
@@ -224,7 +223,7 @@ void RenderWidget::setOverlapTestResult(bool isOverlapped)
{
ASSERT(m_widget);
ASSERT(m_widget->isFrameView());
- static_cast<FrameView*>(m_widget)->setIsOverlapped(isOverlapped);
+ static_cast<FrameView*>(m_widget.get())->setIsOverlapped(isOverlapped);
}
void RenderWidget::deref(RenderArena *arena)
@@ -259,7 +258,7 @@ void RenderWidget::updateWidgetPosition()
// if the frame bounds got changed, or if view needs layout (possibly indicating
// content size is wrong) we have to do a layout to set the right widget size
if (m_widget->isFrameView()) {
- FrameView* frameView = static_cast<FrameView*>(m_widget);
+ FrameView* frameView = static_cast<FrameView*>(m_widget.get());
if (boundsChanged || frameView->needsLayout())
frameView->layout();
}
@@ -276,15 +275,7 @@ void RenderWidget::setSelectionState(SelectionState state)
void RenderWidget::clearWidget()
{
- Widget* widget = m_widget;
m_widget = 0;
- if (widget)
- deleteWidget(widget);
-}
-
-void RenderWidget::deleteWidget(Widget* widget)
-{
- delete widget;
}
RenderWidget* RenderWidget::find(const Widget* widget)
diff --git a/src/3rdparty/webkit/WebCore/rendering/RenderWidget.h b/src/3rdparty/webkit/WebCore/rendering/RenderWidget.h
index d23dbb3..97d0b72 100644
--- a/src/3rdparty/webkit/WebCore/rendering/RenderWidget.h
+++ b/src/3rdparty/webkit/WebCore/rendering/RenderWidget.h
@@ -33,8 +33,8 @@ class RenderWidget : public RenderReplaced, private OverlapTestRequestClient {
public:
virtual ~RenderWidget();
- Widget* widget() const { return m_widget; }
- virtual void setWidget(Widget*);
+ Widget* widget() const { return m_widget.get(); }
+ virtual void setWidget(PassRefPtr<Widget>);
static RenderWidget* find(const Widget*);
@@ -57,7 +57,6 @@ private:
virtual void destroy();
virtual void setSelectionState(SelectionState);
virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, int x, int y, int tx, int ty, HitTestAction);
- virtual void deleteWidget(Widget*);
virtual void setOverlapTestResult(bool);
void setWidgetGeometry(const IntRect&);
@@ -65,7 +64,7 @@ private:
RenderArena* ref() { ++m_refCount; return renderArena(); }
void deref(RenderArena*);
- Widget* m_widget;
+ RefPtr<Widget> m_widget;
FrameView* m_frameView;
int m_refCount;
};
diff --git a/src/3rdparty/webkit/WebCore/rendering/RootInlineBox.cpp b/src/3rdparty/webkit/WebCore/rendering/RootInlineBox.cpp
index ed125ee..e8f04da 100644
--- a/src/3rdparty/webkit/WebCore/rendering/RootInlineBox.cpp
+++ b/src/3rdparty/webkit/WebCore/rendering/RootInlineBox.cpp
@@ -355,8 +355,8 @@ static bool isEditableLeaf(InlineBox* leaf)
InlineBox* RootInlineBox::closestLeafChildForXPos(int x, bool onlyEditableLeaves)
{
- InlineBox* firstLeaf = firstLeafChildAfterBox();
- InlineBox* lastLeaf = lastLeafChildBeforeBox();
+ InlineBox* firstLeaf = firstLeafChild();
+ InlineBox* lastLeaf = lastLeafChild();
if (firstLeaf == lastLeaf && (!onlyEditableLeaves || isEditableLeaf(firstLeaf)))
return firstLeaf;
diff --git a/src/3rdparty/webkit/WebCore/rendering/SVGCharacterLayoutInfo.cpp b/src/3rdparty/webkit/WebCore/rendering/SVGCharacterLayoutInfo.cpp
index 8871a75..b53e3d9 100644
--- a/src/3rdparty/webkit/WebCore/rendering/SVGCharacterLayoutInfo.cpp
+++ b/src/3rdparty/webkit/WebCore/rendering/SVGCharacterLayoutInfo.cpp
@@ -390,11 +390,11 @@ void SVGCharacterLayoutInfo::addStackContent(StackType type, const PositionedFlo
dyStackChanged = true;
dyStack.append(list);
break;
- case AngleStack:
+ case AngleStack:
angleStackChanged = true;
angleStack.append(list);
break;
- default:
+ default:
ASSERT_NOT_REACHED();
}
}
diff --git a/src/3rdparty/webkit/WebCore/rendering/SVGCharacterLayoutInfo.h b/src/3rdparty/webkit/WebCore/rendering/SVGCharacterLayoutInfo.h
index 0188b9d..b5b4f3e 100644
--- a/src/3rdparty/webkit/WebCore/rendering/SVGCharacterLayoutInfo.h
+++ b/src/3rdparty/webkit/WebCore/rendering/SVGCharacterLayoutInfo.h
@@ -44,8 +44,7 @@ class SVGNumberList;
class SVGTextPositioningElement;
template<class Type>
-class PositionedVector : public Vector<Type>
-{
+class PositionedVector : public Vector<Type> {
public:
PositionedVector<Type>()
: m_position(0)
diff --git a/src/3rdparty/webkit/WebCore/rendering/SVGInlineFlowBox.h b/src/3rdparty/webkit/WebCore/rendering/SVGInlineFlowBox.h
index 1aa2637..f6eb87a 100644
--- a/src/3rdparty/webkit/WebCore/rendering/SVGInlineFlowBox.h
+++ b/src/3rdparty/webkit/WebCore/rendering/SVGInlineFlowBox.h
@@ -37,7 +37,7 @@ public:
{
}
- virtual int svgBoxHeight() const { return m_height; }
+ virtual int virtualHeight() const { return m_height; }
void setHeight(int h) { m_height = h; }
virtual void paint(RenderObject::PaintInfo&, int tx, int ty);
diff --git a/src/3rdparty/webkit/WebCore/rendering/SVGInlineTextBox.h b/src/3rdparty/webkit/WebCore/rendering/SVGInlineTextBox.h
index 410218d..76837cc 100644
--- a/src/3rdparty/webkit/WebCore/rendering/SVGInlineTextBox.h
+++ b/src/3rdparty/webkit/WebCore/rendering/SVGInlineTextBox.h
@@ -38,7 +38,7 @@ namespace WebCore {
public:
SVGInlineTextBox(RenderObject* obj);
- virtual int svgBoxHeight() const { return m_height; }
+ virtual int virtualHeight() const { return m_height; }
void setHeight(int h) { m_height = h; }
virtual int selectionTop();
diff --git a/src/3rdparty/webkit/WebCore/rendering/SVGRenderTreeAsText.cpp b/src/3rdparty/webkit/WebCore/rendering/SVGRenderTreeAsText.cpp
index 33baeba..cc5e4b8 100644
--- a/src/3rdparty/webkit/WebCore/rendering/SVGRenderTreeAsText.cpp
+++ b/src/3rdparty/webkit/WebCore/rendering/SVGRenderTreeAsText.cpp
@@ -33,6 +33,7 @@
#include "GraphicsTypes.h"
#include "InlineTextBox.h"
#include "HTMLNames.h"
+#include "NodeRenderStyle.h"
#include "RenderPath.h"
#include "RenderSVGContainer.h"
#include "RenderSVGImage.h"
@@ -272,7 +273,7 @@ static void writeStyle(TextStream& ts, const RenderObject& object)
ts << s << *strokePaintServer;
double dashOffset = SVGRenderStyle::cssPrimitiveToLength(&path, svgStyle->strokeDashOffset(), 0.0f);
- const DashArray& dashArray = dashArrayFromRenderingStyle(style);
+ const DashArray& dashArray = dashArrayFromRenderingStyle(style, object.document()->documentElement()->renderStyle());
double strokeWidth = SVGRenderStyle::cssPrimitiveToLength(&path, svgStyle->strokeWidth(), 1.0f);
writeIfNotDefault(ts, "opacity", svgStyle->strokeOpacity(), 1.0f);
diff --git a/src/3rdparty/webkit/WebCore/rendering/SVGRootInlineBox.h b/src/3rdparty/webkit/WebCore/rendering/SVGRootInlineBox.h
index 735f755..65bade0 100644
--- a/src/3rdparty/webkit/WebCore/rendering/SVGRootInlineBox.h
+++ b/src/3rdparty/webkit/WebCore/rendering/SVGRootInlineBox.h
@@ -53,7 +53,7 @@ public:
virtual bool isSVGRootInlineBox() { return true; }
- virtual int svgBoxHeight() const { return m_height; }
+ virtual int virtualHeight() const { return m_height; }
void setHeight(int h) { m_height = h; }
virtual void paint(RenderObject::PaintInfo&, int tx, int ty);
diff --git a/src/3rdparty/webkit/WebCore/rendering/TextControlInnerElements.cpp b/src/3rdparty/webkit/WebCore/rendering/TextControlInnerElements.cpp
index cd067de..e205882 100644
--- a/src/3rdparty/webkit/WebCore/rendering/TextControlInnerElements.cpp
+++ b/src/3rdparty/webkit/WebCore/rendering/TextControlInnerElements.cpp
@@ -172,6 +172,16 @@ SearchFieldCancelButtonElement::SearchFieldCancelButtonElement(Document* doc)
{
}
+void SearchFieldCancelButtonElement::detach()
+{
+ if (m_capturing) {
+ if (Frame* frame = document()->frame())
+ frame->eventHandler()->setCapturingMouseEventsNode(0);
+ }
+ TextControlInnerElement::detach();
+}
+
+
void SearchFieldCancelButtonElement::defaultEventHandler(Event* evt)
{
// If the element is visible, on mouseup, clear the value, and set selection
diff --git a/src/3rdparty/webkit/WebCore/rendering/TextControlInnerElements.h b/src/3rdparty/webkit/WebCore/rendering/TextControlInnerElements.h
index 9e81ada..f72ddf2 100644
--- a/src/3rdparty/webkit/WebCore/rendering/TextControlInnerElements.h
+++ b/src/3rdparty/webkit/WebCore/rendering/TextControlInnerElements.h
@@ -32,8 +32,7 @@ namespace WebCore {
class String;
-class TextControlInnerElement : public HTMLDivElement
-{
+class TextControlInnerElement : public HTMLDivElement {
public:
TextControlInnerElement(Document*, Node* shadowParent = 0);
@@ -64,6 +63,7 @@ class SearchFieldCancelButtonElement : public TextControlInnerElement {
public:
SearchFieldCancelButtonElement(Document*);
virtual void defaultEventHandler(Event*);
+ virtual void detach();
private:
bool m_capturing;
};
diff --git a/src/3rdparty/webkit/WebCore/rendering/TransformState.h b/src/3rdparty/webkit/WebCore/rendering/TransformState.h
index 92275f9..d2c962a 100644
--- a/src/3rdparty/webkit/WebCore/rendering/TransformState.h
+++ b/src/3rdparty/webkit/WebCore/rendering/TransformState.h
@@ -37,7 +37,7 @@
namespace WebCore {
-class TransformState : Noncopyable {
+class TransformState : public Noncopyable {
public:
enum TransformDirection { ApplyTransformDirection, UnapplyInverseTransformDirection };
enum TransformAccumulation { FlattenTransform, AccumulateTransform };
diff --git a/src/3rdparty/webkit/WebCore/rendering/bidi.cpp b/src/3rdparty/webkit/WebCore/rendering/bidi.cpp
deleted file mode 100644
index 635ad9a..0000000
--- a/src/3rdparty/webkit/WebCore/rendering/bidi.cpp
+++ /dev/null
@@ -1,2231 +0,0 @@
-/*
- * Copyright (C) 2000 Lars Knoll (knoll@kde.org)
- * Copyright (C) 2004, 2006, 2007, 2008 Apple Inc. All right reserved.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public License
- * along with this library; see the file COPYING.LIB. If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- *
- */
-
-#include "config.h"
-#include "bidi.h"
-
-#include "CharacterNames.h"
-#include "Document.h"
-#include "Element.h"
-#include "FrameView.h"
-#include "InlineTextBox.h"
-#include "Logging.h"
-#include "RenderArena.h"
-#include "RenderInline.h"
-#include "RenderLayer.h"
-#include "RenderListMarker.h"
-#include "RenderView.h"
-#include "break_lines.h"
-#include <wtf/AlwaysInline.h>
-#include <wtf/RefCountedLeakCounter.h>
-#include <wtf/StdLibExtras.h>
-#include <wtf/Vector.h>
-
-using namespace std;
-using namespace WTF;
-using namespace Unicode;
-
-namespace WebCore {
-
-// We don't let our line box tree for a single line get any deeper than this.
-const unsigned cMaxLineDepth = 200;
-
-class InlineIterator {
-public:
- InlineIterator()
- : block(0)
- , obj(0)
- , pos(0)
- , nextBreakablePosition(-1)
- {
- }
-
- InlineIterator(RenderBlock* b, RenderObject* o, unsigned p)
- : block(b)
- , obj(o)
- , pos(p)
- , nextBreakablePosition(-1)
- {
- }
-
- void increment(InlineBidiResolver* resolver = 0);
- bool atEnd() const;
-
- UChar current() const;
- WTF::Unicode::Direction direction() const;
-
- RenderBlock* block;
- RenderObject* obj;
- unsigned pos;
- int nextBreakablePosition;
-};
-
-static int getBorderPaddingMargin(RenderBoxModelObject* child, bool endOfInline)
-{
- bool leftSide = (child->style()->direction() == LTR) ? !endOfInline : endOfInline;
- if (leftSide)
- return child->marginLeft() + child->paddingLeft() + child->borderLeft();
- return child->marginRight() + child->paddingRight() + child->borderRight();
-}
-
-static int inlineWidth(RenderObject* child, bool start = true, bool end = true)
-{
- unsigned lineDepth = 1;
- int extraWidth = 0;
- RenderObject* parent = child->parent();
- while (parent->isInline() && !parent->isInlineBlockOrInlineTable() && lineDepth++ < cMaxLineDepth) {
- if (start && !child->previousSibling())
- extraWidth += getBorderPaddingMargin(toRenderBoxModelObject(parent), false);
- if (end && !child->nextSibling())
- extraWidth += getBorderPaddingMargin(toRenderBoxModelObject(parent), true);
- child = parent;
- parent = child->parent();
- }
- return extraWidth;
-}
-
-#ifndef NDEBUG
-static WTF::RefCountedLeakCounter bidiRunCounter("BidiRun");
-
-static bool inBidiRunDestroy;
-#endif
-
-void BidiRun::destroy()
-{
-#ifndef NDEBUG
- inBidiRunDestroy = true;
-#endif
- RenderArena* renderArena = m_object->renderArena();
- delete this;
-#ifndef NDEBUG
- inBidiRunDestroy = false;
-#endif
-
- // Recover the size left there for us by operator delete and free the memory.
- renderArena->free(*reinterpret_cast<size_t*>(this), this);
-}
-
-void* BidiRun::operator new(size_t sz, RenderArena* renderArena) throw()
-{
-#ifndef NDEBUG
- bidiRunCounter.increment();
-#endif
- return renderArena->allocate(sz);
-}
-
-void BidiRun::operator delete(void* ptr, size_t sz)
-{
-#ifndef NDEBUG
- bidiRunCounter.decrement();
-#endif
- ASSERT(inBidiRunDestroy);
-
- // Stash size where destroy() can find it.
- *(size_t*)ptr = sz;
-}
-
-// ---------------------------------------------------------------------
-
-inline bool operator==(const InlineIterator& it1, const InlineIterator& it2)
-{
- return it1.pos == it2.pos && it1.obj == it2.obj;
-}
-
-inline bool operator!=(const InlineIterator& it1, const InlineIterator& it2)
-{
- return it1.pos != it2.pos || it1.obj != it2.obj;
-}
-
-static inline RenderObject* bidiNext(RenderBlock* block, RenderObject* current, InlineBidiResolver* resolver = 0, bool skipInlines = true, bool* endOfInlinePtr = 0)
-{
- RenderObject* next = 0;
- bool oldEndOfInline = endOfInlinePtr ? *endOfInlinePtr : false;
- bool endOfInline = false;
-
- while (current) {
- next = 0;
- if (!oldEndOfInline && !current->isFloating() && !current->isReplaced() && !current->isPositioned() && !current->isText()) {
- next = current->firstChild();
- if (next && resolver && next->isRenderInline()) {
- EUnicodeBidi ub = next->style()->unicodeBidi();
- if (ub != UBNormal) {
- TextDirection dir = next->style()->direction();
- Direction d = (ub == Embed
- ? (dir == RTL ? RightToLeftEmbedding : LeftToRightEmbedding)
- : (dir == RTL ? RightToLeftOverride : LeftToRightOverride));
- resolver->embed(d);
- }
- }
- }
-
- if (!next) {
- if (!skipInlines && !oldEndOfInline && current->isRenderInline()) {
- next = current;
- endOfInline = true;
- break;
- }
-
- while (current && current != block) {
- if (resolver && current->isRenderInline() && current->style()->unicodeBidi() != UBNormal)
- resolver->embed(PopDirectionalFormat);
-
- next = current->nextSibling();
- if (next) {
- if (resolver && next->isRenderInline()) {
- EUnicodeBidi ub = next->style()->unicodeBidi();
- if (ub != UBNormal) {
- TextDirection dir = next->style()->direction();
- Direction d = (ub == Embed
- ? (dir == RTL ? RightToLeftEmbedding: LeftToRightEmbedding)
- : (dir == RTL ? RightToLeftOverride : LeftToRightOverride));
- resolver->embed(d);
- }
- }
- break;
- }
-
- current = current->parent();
- if (!skipInlines && current && current != block && current->isRenderInline()) {
- next = current;
- endOfInline = true;
- break;
- }
- }
- }
-
- if (!next)
- break;
-
- if (next->isText() || next->isFloating() || next->isReplaced() || next->isPositioned()
- || ((!skipInlines || !next->firstChild()) // Always return EMPTY inlines.
- && next->isRenderInline()))
- break;
- current = next;
- }
-
- if (endOfInlinePtr)
- *endOfInlinePtr = endOfInline;
-
- return next;
-}
-
-static RenderObject* bidiFirst(RenderBlock* block, InlineBidiResolver* resolver, bool skipInlines = true)
-{
- if (!block->firstChild())
- return 0;
-
- RenderObject* o = block->firstChild();
- if (o->isRenderInline()) {
- if (resolver) {
- EUnicodeBidi ub = o->style()->unicodeBidi();
- if (ub != UBNormal) {
- TextDirection dir = o->style()->direction();
- Direction d = (ub == Embed
- ? (dir == RTL ? RightToLeftEmbedding : LeftToRightEmbedding)
- : (dir == RTL ? RightToLeftOverride : LeftToRightOverride));
- resolver->embed(d);
- }
- }
- if (skipInlines && o->firstChild())
- o = bidiNext(block, o, resolver, skipInlines);
- else {
- // Never skip empty inlines.
- if (resolver)
- resolver->commitExplicitEmbedding();
- return o;
- }
- }
-
- if (o && !o->isText() && !o->isReplaced() && !o->isFloating() && !o->isPositioned())
- o = bidiNext(block, o, resolver, skipInlines);
-
- if (resolver)
- resolver->commitExplicitEmbedding();
- return o;
-}
-
-inline void InlineIterator::increment(InlineBidiResolver* resolver)
-{
- if (!obj)
- return;
- if (obj->isText()) {
- pos++;
- if (pos >= toRenderText(obj)->textLength()) {
- obj = bidiNext(block, obj, resolver);
- pos = 0;
- nextBreakablePosition = -1;
- }
- } else {
- obj = bidiNext(block, obj, resolver);
- pos = 0;
- nextBreakablePosition = -1;
- }
-}
-
-template<>
-inline void InlineBidiResolver::increment()
-{
- current.increment(this);
-}
-
-inline bool InlineIterator::atEnd() const
-{
- return !obj;
-}
-
-inline UChar InlineIterator::current() const
-{
- if (!obj || !obj->isText())
- return 0;
-
- RenderText* text = toRenderText(obj);
- if (pos >= text->textLength())
- return 0;
-
- return text->characters()[pos];
-}
-
-ALWAYS_INLINE Direction InlineIterator::direction() const
-{
- if (UChar c = current())
- return Unicode::direction(c);
-
- if (obj && obj->isListMarker())
- return obj->style()->direction() == LTR ? LeftToRight : RightToLeft;
-
- return OtherNeutral;
-}
-
-// -------------------------------------------------------------------------------------------------
-
-static void chopMidpointsAt(LineMidpointState& lineMidpointState, RenderObject* obj, unsigned pos)
-{
- if (!lineMidpointState.numMidpoints)
- return;
- InlineIterator* midpoints = lineMidpointState.midpoints.data();
- for (int i = lineMidpointState.numMidpoints - 1; i >= 0; i--) {
- const InlineIterator& point = midpoints[i];
- if (point.obj == obj && point.pos == pos) {
- lineMidpointState.numMidpoints = i;
- break;
- }
- }
-}
-
-static void checkMidpoints(LineMidpointState& lineMidpointState, InlineIterator& lBreak)
-{
- // Check to see if our last midpoint is a start point beyond the line break. If so,
- // shave it off the list, and shave off a trailing space if the previous end point doesn't
- // preserve whitespace.
- if (lBreak.obj && lineMidpointState.numMidpoints && !(lineMidpointState.numMidpoints % 2)) {
- InlineIterator* midpoints = lineMidpointState.midpoints.data();
- InlineIterator& endpoint = midpoints[lineMidpointState.numMidpoints - 2];
- const InlineIterator& startpoint = midpoints[lineMidpointState.numMidpoints - 1];
- InlineIterator currpoint = endpoint;
- while (!currpoint.atEnd() && currpoint != startpoint && currpoint != lBreak)
- currpoint.increment();
- if (currpoint == lBreak) {
- // We hit the line break before the start point. Shave off the start point.
- lineMidpointState.numMidpoints--;
- if (endpoint.obj->style()->collapseWhiteSpace()) {
- if (endpoint.obj->isText()) {
- // Don't shave a character off the endpoint if it was from a soft hyphen.
- RenderText* textObj = toRenderText(endpoint.obj);
- if (endpoint.pos + 1 < textObj->textLength()) {
- if (textObj->characters()[endpoint.pos+1] == softHyphen)
- return;
- } else if (startpoint.obj->isText()) {
- RenderText *startText = toRenderText(startpoint.obj);
- if (startText->textLength() && startText->characters()[0] == softHyphen)
- return;
- }
- }
- endpoint.pos--;
- }
- }
- }
-}
-
-static void addMidpoint(LineMidpointState& lineMidpointState, const InlineIterator& midpoint)
-{
- if (lineMidpointState.midpoints.size() <= lineMidpointState.numMidpoints)
- lineMidpointState.midpoints.grow(lineMidpointState.numMidpoints + 10);
-
- InlineIterator* midpoints = lineMidpointState.midpoints.data();
- midpoints[lineMidpointState.numMidpoints++] = midpoint;
-}
-
-static void appendRunsForObject(int start, int end, RenderObject* obj, InlineBidiResolver& resolver)
-{
- if (start > end || obj->isFloating() ||
- (obj->isPositioned() && !obj->style()->hasStaticX() && !obj->style()->hasStaticY() && !obj->container()->isRenderInline()))
- return;
-
- LineMidpointState& lineMidpointState = resolver.midpointState();
- bool haveNextMidpoint = (lineMidpointState.currentMidpoint < lineMidpointState.numMidpoints);
- InlineIterator nextMidpoint;
- if (haveNextMidpoint)
- nextMidpoint = lineMidpointState.midpoints[lineMidpointState.currentMidpoint];
- if (lineMidpointState.betweenMidpoints) {
- if (!(haveNextMidpoint && nextMidpoint.obj == obj))
- return;
- // This is a new start point. Stop ignoring objects and
- // adjust our start.
- lineMidpointState.betweenMidpoints = false;
- start = nextMidpoint.pos;
- lineMidpointState.currentMidpoint++;
- if (start < end)
- return appendRunsForObject(start, end, obj, resolver);
- } else {
- if (!haveNextMidpoint || (obj != nextMidpoint.obj)) {
- resolver.addRun(new (obj->renderArena()) BidiRun(start, end, obj, resolver.context(), resolver.dir()));
- return;
- }
-
- // An end midpoint has been encountered within our object. We
- // need to go ahead and append a run with our endpoint.
- if (static_cast<int>(nextMidpoint.pos + 1) <= end) {
- lineMidpointState.betweenMidpoints = true;
- lineMidpointState.currentMidpoint++;
- if (nextMidpoint.pos != UINT_MAX) { // UINT_MAX means stop at the object and don't include any of it.
- if (static_cast<int>(nextMidpoint.pos + 1) > start)
- resolver.addRun(new (obj->renderArena())
- BidiRun(start, nextMidpoint.pos + 1, obj, resolver.context(), resolver.dir()));
- return appendRunsForObject(nextMidpoint.pos + 1, end, obj, resolver);
- }
- } else
- resolver.addRun(new (obj->renderArena()) BidiRun(start, end, obj, resolver.context(), resolver.dir()));
- }
-}
-
-template <>
-void InlineBidiResolver::appendRun()
-{
- if (!emptyRun && !eor.atEnd()) {
- int start = sor.pos;
- RenderObject *obj = sor.obj;
- while (obj && obj != eor.obj && obj != endOfLine.obj) {
- appendRunsForObject(start, obj->length(), obj, *this);
- start = 0;
- obj = bidiNext(sor.block, obj);
- }
- if (obj) {
- unsigned pos = obj == eor.obj ? eor.pos : UINT_MAX;
- if (obj == endOfLine.obj && endOfLine.pos <= pos) {
- reachedEndOfLine = true;
- pos = endOfLine.pos;
- }
- // It's OK to add runs for zero-length RenderObjects, just don't make the run larger than it should be
- int end = obj->length() ? pos+1 : 0;
- appendRunsForObject(start, end, obj, *this);
- }
-
- eor.increment();
- sor = eor;
- }
-
- m_direction = OtherNeutral;
- m_status.eor = OtherNeutral;
-}
-
-static inline InlineBox* createInlineBoxForRenderer(RenderObject* obj, bool isRootLineBox, bool isOnlyRun = false)
-{
- if (isRootLineBox)
- return toRenderBlock(obj)->createRootInlineBox();
-
- if (obj->isText()) {
- InlineTextBox* textBox = toRenderText(obj)->createInlineTextBox();
- // We only treat a box as text for a <br> if we are on a line by ourself or in strict mode
- // (Note the use of strict mode. In "almost strict" mode, we don't treat the box for <br> as text.)
- if (obj->isBR())
- textBox->setIsText(isOnlyRun || obj->document()->inStrictMode());
- return textBox;
- }
-
- if (obj->isBox())
- return toRenderBox(obj)->createInlineBox();
-
- return toRenderInline(obj)->createInlineFlowBox();
-}
-
-static inline void dirtyLineBoxesForRenderer(RenderObject* o, bool fullLayout)
-{
- if (o->isText()) {
- if (o->prefWidthsDirty() && o->isCounter())
- toRenderText(o)->calcPrefWidths(0); // FIXME: Counters depend on this hack. No clue why. Should be investigated and removed.
- toRenderText(o)->dirtyLineBoxes(fullLayout);
- } else
- toRenderInline(o)->dirtyLineBoxes(fullLayout);
-}
-
-InlineFlowBox* RenderBlock::createLineBoxes(RenderObject* obj, bool firstLine)
-{
- // See if we have an unconstructed line box for this object that is also
- // the last item on the line.
- unsigned lineDepth = 1;
- InlineFlowBox* childBox = 0;
- InlineFlowBox* parentBox = 0;
- InlineFlowBox* result = 0;
- do {
- ASSERT(obj->isRenderInline() || obj == this);
-
- // Get the last box we made for this render object.
- parentBox = obj->isRenderInline() ? toRenderInline(obj)->lastLineBox() : toRenderBlock(obj)->lastLineBox();
-
- // If this box is constructed then it is from a previous line, and we need
- // to make a new box for our line. If this box is unconstructed but it has
- // something following it on the line, then we know we have to make a new box
- // as well. In this situation our inline has actually been split in two on
- // the same line (this can happen with very fancy language mixtures).
- bool constructedNewBox = false;
- if (!parentBox || parentBox->isConstructed() || parentBox->nextOnLine()) {
- // We need to make a new box for this render object. Once
- // made, we need to place it at the end of the current line.
- InlineBox* newBox = createInlineBoxForRenderer(obj, obj == this);
- ASSERT(newBox->isInlineFlowBox());
- parentBox = static_cast<InlineFlowBox*>(newBox);
- parentBox->setFirstLineStyleBit(firstLine);
- constructedNewBox = true;
- }
-
- if (!result)
- result = parentBox;
-
- // If we have hit the block itself, then |box| represents the root
- // inline box for the line, and it doesn't have to be appended to any parent
- // inline.
- if (childBox)
- parentBox->addToLine(childBox);
-
- if (!constructedNewBox || obj == this)
- break;
-
- childBox = parentBox;
-
- // If we've exceeded our line depth, then jump straight to the root and skip all the remaining
- // intermediate inline flows.
- obj = (++lineDepth >= cMaxLineDepth) ? this : obj->parent();
-
- } while (true);
-
- return result;
-}
-
-RootInlineBox* RenderBlock::constructLine(unsigned runCount, BidiRun* firstRun, BidiRun* lastRun, bool firstLine, bool lastLine, RenderObject* endObject)
-{
- ASSERT(firstRun);
-
- InlineFlowBox* parentBox = 0;
- for (BidiRun* r = firstRun; r; r = r->next()) {
- // Create a box for our object.
- bool isOnlyRun = (runCount == 1);
- if (runCount == 2 && !r->m_object->isListMarker())
- isOnlyRun = ((style()->direction() == RTL) ? lastRun : firstRun)->m_object->isListMarker();
-
- InlineBox* box = createInlineBoxForRenderer(r->m_object, false, isOnlyRun);
- r->m_box = box;
-
- ASSERT(box);
- if (!box)
- continue;
-
- // If we have no parent box yet, or if the run is not simply a sibling,
- // then we need to construct inline boxes as necessary to properly enclose the
- // run's inline box.
- if (!parentBox || parentBox->renderer() != r->m_object->parent())
- // Create new inline boxes all the way back to the appropriate insertion point.
- parentBox = createLineBoxes(r->m_object->parent(), firstLine);
-
- // Append the inline box to this line.
- parentBox->addToLine(box);
-
- bool visuallyOrdered = r->m_object->style()->visuallyOrdered();
- box->setBidiLevel(visuallyOrdered ? 0 : r->level());
-
- if (box->isInlineTextBox()) {
- InlineTextBox* text = static_cast<InlineTextBox*>(box);
- text->setStart(r->m_start);
- text->setLen(r->m_stop - r->m_start);
- text->m_dirOverride = r->dirOverride(visuallyOrdered);
- }
- }
-
- // We should have a root inline box. It should be unconstructed and
- // be the last continuation of our line list.
- ASSERT(lastLineBox() && !lastLineBox()->isConstructed());
-
- // Set bits on our inline flow boxes that indicate which sides should
- // paint borders/margins/padding. This knowledge will ultimately be used when
- // we determine the horizontal positions and widths of all the inline boxes on
- // the line.
- lastLineBox()->determineSpacingForFlowBoxes(lastLine, endObject);
-
- // Now mark the line boxes as being constructed.
- lastLineBox()->setConstructed();
-
- // Return the last line.
- return lastRootBox();
-}
-
-void RenderBlock::computeHorizontalPositionsForLine(RootInlineBox* lineBox, bool firstLine, BidiRun* firstRun, BidiRun* trailingSpaceRun, bool reachedEnd)
-{
- // First determine our total width.
- int availableWidth = lineWidth(height(), firstLine);
- int totWidth = lineBox->getFlowSpacingWidth();
- bool needsWordSpacing = false;
- unsigned numSpaces = 0;
- ETextAlign textAlign = style()->textAlign();
-
- for (BidiRun* r = firstRun; r; r = r->next()) {
- if (!r->m_box || r->m_object->isPositioned() || r->m_box->isLineBreak())
- continue; // Positioned objects are only participating to figure out their
- // correct static x position. They have no effect on the width.
- // Similarly, line break boxes have no effect on the width.
- if (r->m_object->isText()) {
- RenderText* rt = toRenderText(r->m_object);
-
- if (textAlign == JUSTIFY && r != trailingSpaceRun) {
- const UChar* characters = rt->characters();
- for (int i = r->m_start; i < r->m_stop; i++) {
- UChar c = characters[i];
- if (c == ' ' || c == '\n' || c == '\t')
- numSpaces++;
- }
- }
-
- if (int length = rt->textLength()) {
- if (!r->m_start && needsWordSpacing && isSpaceOrNewline(rt->characters()[r->m_start]))
- totWidth += rt->style(firstLine)->font().wordSpacing();
- needsWordSpacing = !isSpaceOrNewline(rt->characters()[r->m_stop - 1]) && r->m_stop == length;
- }
- HashSet<const SimpleFontData*> fallbackFonts;
- r->m_box->setWidth(rt->width(r->m_start, r->m_stop - r->m_start, totWidth, firstLine, &fallbackFonts));
- if (!fallbackFonts.isEmpty()
-#if ENABLE(SVG)
- && !isSVGText()
-#endif
- ) {
- ASSERT(r->m_box->isText());
- static_cast<InlineTextBox*>(r->m_box)->setFallbackFonts(fallbackFonts);
- }
- } else if (!r->m_object->isRenderInline()) {
- RenderBox* renderBox = toRenderBox(r->m_object);
- renderBox->calcWidth();
- r->m_box->setWidth(renderBox->width());
- totWidth += renderBox->marginLeft() + renderBox->marginRight();
- }
-
- totWidth += r->m_box->width();
- }
-
- // Armed with the total width of the line (without justification),
- // we now examine our text-align property in order to determine where to position the
- // objects horizontally. The total width of the line can be increased if we end up
- // justifying text.
- int x = leftOffset(height(), firstLine);
- switch(textAlign) {
- case LEFT:
- case WEBKIT_LEFT:
- // The direction of the block should determine what happens with wide lines. In
- // particular with RTL blocks, wide lines should still spill out to the left.
- if (style()->direction() == LTR) {
- if (totWidth > availableWidth && trailingSpaceRun)
- trailingSpaceRun->m_box->setWidth(max(0, trailingSpaceRun->m_box->width() - totWidth + availableWidth));
- } else {
- if (trailingSpaceRun)
- trailingSpaceRun->m_box->setWidth(0);
- else if (totWidth > availableWidth)
- x -= (totWidth - availableWidth);
- }
- break;
- case JUSTIFY:
- if (numSpaces && !reachedEnd && !lineBox->endsWithBreak()) {
- if (trailingSpaceRun) {
- totWidth -= trailingSpaceRun->m_box->width();
- trailingSpaceRun->m_box->setWidth(0);
- }
- break;
- }
- // fall through
- case TAAUTO:
- numSpaces = 0;
- // for right to left fall through to right aligned
- if (style()->direction() == LTR) {
- if (totWidth > availableWidth && trailingSpaceRun)
- trailingSpaceRun->m_box->setWidth(max(0, trailingSpaceRun->m_box->width() - totWidth + availableWidth));
- break;
- }
- case RIGHT:
- case WEBKIT_RIGHT:
- // Wide lines spill out of the block based off direction.
- // So even if text-align is right, if direction is LTR, wide lines should overflow out of the right
- // side of the block.
- if (style()->direction() == LTR) {
- if (trailingSpaceRun) {
- totWidth -= trailingSpaceRun->m_box->width();
- trailingSpaceRun->m_box->setWidth(0);
- }
- if (totWidth < availableWidth)
- x += availableWidth - totWidth;
- } else {
- if (totWidth > availableWidth && trailingSpaceRun) {
- trailingSpaceRun->m_box->setWidth(max(0, trailingSpaceRun->m_box->width() - totWidth + availableWidth));
- totWidth -= trailingSpaceRun->m_box->width();
- } else
- x += availableWidth - totWidth;
- }
- break;
- case CENTER:
- case WEBKIT_CENTER:
- int trailingSpaceWidth = 0;
- if (trailingSpaceRun) {
- totWidth -= trailingSpaceRun->m_box->width();
- trailingSpaceWidth = min(trailingSpaceRun->m_box->width(), (availableWidth - totWidth + 1) / 2);
- trailingSpaceRun->m_box->setWidth(max(0, trailingSpaceWidth));
- }
- if (style()->direction() == LTR)
- x += max((availableWidth - totWidth) / 2, 0);
- else
- x += totWidth > availableWidth ? (availableWidth - totWidth) : (availableWidth - totWidth) / 2 - trailingSpaceWidth;
- break;
- }
-
- if (numSpaces) {
- for (BidiRun* r = firstRun; r; r = r->next()) {
- if (!r->m_box || r == trailingSpaceRun)
- continue;
-
- int spaceAdd = 0;
- if (r->m_object->isText()) {
- unsigned spaces = 0;
- const UChar* characters = toRenderText(r->m_object)->characters();
- for (int i = r->m_start; i < r->m_stop; i++) {
- UChar c = characters[i];
- if (c == ' ' || c == '\n' || c == '\t')
- spaces++;
- }
-
- ASSERT(spaces <= numSpaces);
-
- // Only justify text if whitespace is collapsed.
- if (r->m_object->style()->collapseWhiteSpace()) {
- spaceAdd = (availableWidth - totWidth) * spaces / numSpaces;
- static_cast<InlineTextBox*>(r->m_box)->setSpaceAdd(spaceAdd);
- totWidth += spaceAdd;
- }
- numSpaces -= spaces;
- if (!numSpaces)
- break;
- }
- }
- }
-
- // The widths of all runs are now known. We can now place every inline box (and
- // compute accurate widths for the inline flow boxes).
- int leftPosition = x;
- int rightPosition = x;
- needsWordSpacing = false;
- lineBox->placeBoxesHorizontally(x, leftPosition, rightPosition, needsWordSpacing);
- lineBox->setHorizontalOverflowPositions(leftPosition, rightPosition);
-}
-
-void RenderBlock::computeVerticalPositionsForLine(RootInlineBox* lineBox, BidiRun* firstRun)
-{
- setHeight(lineBox->verticallyAlignBoxes(height()));
- lineBox->setBlockHeight(height());
-
- // See if the line spilled out. If so set overflow height accordingly.
- int bottomOfLine = lineBox->bottomOverflow();
- if (bottomOfLine > height() && bottomOfLine > m_overflowHeight)
- m_overflowHeight = bottomOfLine;
-
- // Now make sure we place replaced render objects correctly.
- for (BidiRun* r = firstRun; r; r = r->next()) {
- ASSERT(r->m_box);
- if (!r->m_box)
- continue; // Skip runs with no line boxes.
-
- // Align positioned boxes with the top of the line box. This is
- // a reasonable approximation of an appropriate y position.
- if (r->m_object->isPositioned())
- r->m_box->setY(height());
-
- // Position is used to properly position both replaced elements and
- // to update the static normal flow x/y of positioned elements.
- if (r->m_object->isText())
- toRenderText(r->m_object)->positionLineBox(r->m_box);
- else if (r->m_object->isBox())
- toRenderBox(r->m_object)->positionLineBox(r->m_box);
- }
- // Positioned objects and zero-length text nodes destroy their boxes in
- // position(), which unnecessarily dirties the line.
- lineBox->markDirty(false);
-}
-
-// collects one line of the paragraph and transforms it to visual order
-void RenderBlock::bidiReorderLine(InlineBidiResolver& resolver, const InlineIterator& end, bool previousLineBrokeCleanly)
-{
- resolver.createBidiRunsForLine(end, style()->visuallyOrdered(), previousLineBrokeCleanly);
-}
-
-static inline bool isCollapsibleSpace(UChar character, RenderText* renderer)
-{
- if (character == ' ' || character == '\t' || character == softHyphen)
- return true;
- if (character == '\n')
- return !renderer->style()->preserveNewline();
- if (character == noBreakSpace)
- return renderer->style()->nbspMode() == SPACE;
- return false;
-}
-
-void RenderBlock::layoutInlineChildren(bool relayoutChildren, int& repaintTop, int& repaintBottom)
-{
- bool useRepaintBounds = false;
-
- m_overflowHeight = 0;
-
- setHeight(borderTop() + paddingTop());
- int toAdd = borderBottom() + paddingBottom() + horizontalScrollbarHeight();
-
- // Figure out if we should clear out our line boxes.
- // FIXME: Handle resize eventually!
- // FIXME: Do something better when floats are present.
- bool fullLayout = !firstLineBox() || !firstChild() || selfNeedsLayout() || relayoutChildren;
- if (fullLayout)
- lineBoxes()->deleteLineBoxes(renderArena());
-
- // Text truncation only kicks in if your overflow isn't visible and your text-overflow-mode isn't
- // clip.
- // FIXME: CSS3 says that descendants that are clipped must also know how to truncate. This is insanely
- // difficult to figure out (especially in the middle of doing layout), and is really an esoteric pile of nonsense
- // anyway, so we won't worry about following the draft here.
- bool hasTextOverflow = style()->textOverflow() && hasOverflowClip();
-
- // Walk all the lines and delete our ellipsis line boxes if they exist.
- if (hasTextOverflow)
- deleteEllipsisLineBoxes();
-
- if (firstChild()) {
- // layout replaced elements
- bool endOfInline = false;
- RenderObject* o = bidiFirst(this, 0, false);
- Vector<FloatWithRect> floats;
- while (o) {
- if (o->isReplaced() || o->isFloating() || o->isPositioned()) {
- RenderBox* box = toRenderBox(o);
-
- if (relayoutChildren || o->style()->width().isPercent() || o->style()->height().isPercent())
- o->setChildNeedsLayout(true, false);
-
- // If relayoutChildren is set and we have percentage padding, we also need to invalidate the child's pref widths.
- if (relayoutChildren && (o->style()->paddingLeft().isPercent() || o->style()->paddingRight().isPercent()))
- o->setPrefWidthsDirty(true, false);
-
- if (o->isPositioned())
- o->containingBlock()->insertPositionedObject(box);
- else {
- if (o->isFloating())
- floats.append(FloatWithRect(box));
- else if (fullLayout || o->needsLayout()) // Replaced elements
- toRenderBox(o)->dirtyLineBoxes(fullLayout);
-
- o->layoutIfNeeded();
- }
- } else if (o->isText() || (o->isRenderInline() && !endOfInline)) {
- if (fullLayout || o->selfNeedsLayout())
- dirtyLineBoxesForRenderer(o, fullLayout);
- o->setNeedsLayout(false);
- if (!o->isText())
- toRenderInline(o)->invalidateVerticalPosition(); // FIXME: Should do better here and not always invalidate everything.
- }
- o = bidiNext(this, o, 0, false, &endOfInline);
- }
-
- // We want to skip ahead to the first dirty line
- InlineBidiResolver resolver;
- unsigned floatIndex;
- bool firstLine = true;
- bool previousLineBrokeCleanly = true;
- RootInlineBox* startLine = determineStartPosition(firstLine, fullLayout, previousLineBrokeCleanly, resolver, floats, floatIndex);
-
- if (fullLayout && !selfNeedsLayout()) {
- setNeedsLayout(true, false); // Mark ourselves as needing a full layout. This way we'll repaint like
- // we're supposed to.
- RenderView* v = view();
- if (v && !v->doingFullRepaint() && hasLayer()) {
- // Because we waited until we were already inside layout to discover
- // that the block really needed a full layout, we missed our chance to repaint the layer
- // before layout started. Luckily the layer has cached the repaint rect for its original
- // position and size, and so we can use that to make a repaint happen now.
- repaintUsingContainer(containerForRepaint(), layer()->repaintRect());
- }
- }
-
- FloatingObject* lastFloat = m_floatingObjects ? m_floatingObjects->last() : 0;
-
- LineMidpointState& lineMidpointState = resolver.midpointState();
-
- // We also find the first clean line and extract these lines. We will add them back
- // if we determine that we're able to synchronize after handling all our dirty lines.
- InlineIterator cleanLineStart;
- BidiStatus cleanLineBidiStatus;
- int endLineYPos = 0;
- RootInlineBox* endLine = (fullLayout || !startLine) ?
- 0 : determineEndPosition(startLine, cleanLineStart, cleanLineBidiStatus, endLineYPos);
-
- if (startLine) {
- useRepaintBounds = true;
- repaintTop = height();
- repaintBottom = height();
- RenderArena* arena = renderArena();
- RootInlineBox* box = startLine;
- while (box) {
- repaintTop = min(repaintTop, box->topOverflow());
- repaintBottom = max(repaintBottom, box->bottomOverflow());
- RootInlineBox* next = box->nextRootBox();
- box->deleteLine(arena);
- box = next;
- }
- }
-
- InlineIterator end = resolver.position();
-
- if (!fullLayout && lastRootBox() && lastRootBox()->endsWithBreak()) {
- // If the last line before the start line ends with a line break that clear floats,
- // adjust the height accordingly.
- // A line break can be either the first or the last object on a line, depending on its direction.
- if (InlineBox* lastLeafChild = lastRootBox()->lastLeafChild()) {
- RenderObject* lastObject = lastLeafChild->renderer();
- if (!lastObject->isBR())
- lastObject = lastRootBox()->firstLeafChild()->renderer();
- if (lastObject->isBR()) {
- EClear clear = lastObject->style()->clear();
- if (clear != CNONE)
- newLine(clear);
- }
- }
- }
-
- bool endLineMatched = false;
- bool checkForEndLineMatch = endLine;
- bool checkForFloatsFromLastLine = false;
- int lastHeight = height();
-
- bool isLineEmpty = true;
-
- while (!end.atEnd()) {
- // FIXME: Is this check necessary before the first iteration or can it be moved to the end?
- if (checkForEndLineMatch && (endLineMatched = matchedEndLine(resolver, cleanLineStart, cleanLineBidiStatus, endLine, endLineYPos, repaintBottom, repaintTop)))
- break;
-
- lineMidpointState.reset();
-
- isLineEmpty = true;
-
- EClear clear = CNONE;
- end = findNextLineBreak(resolver, firstLine, isLineEmpty, previousLineBrokeCleanly, &clear);
- if (resolver.position().atEnd()) {
- resolver.deleteRuns();
- checkForFloatsFromLastLine = true;
- break;
- }
- ASSERT(end != resolver.position());
-
- if (!isLineEmpty) {
- bidiReorderLine(resolver, end, previousLineBrokeCleanly);
- ASSERT(resolver.position() == end);
-
- BidiRun* trailingSpaceRun = 0;
- if (!previousLineBrokeCleanly && resolver.runCount() && resolver.logicallyLastRun()->m_object->style()->breakOnlyAfterWhiteSpace()
- && resolver.logicallyLastRun()->m_object->style()->autoWrap()) {
- trailingSpaceRun = resolver.logicallyLastRun();
- RenderObject* lastObject = trailingSpaceRun->m_object;
- if (lastObject->isText()) {
- RenderText* lastText = toRenderText(lastObject);
- const UChar* characters = lastText->characters();
- int firstSpace = trailingSpaceRun->stop();
- while (firstSpace > trailingSpaceRun->start()) {
- UChar current = characters[firstSpace - 1];
- if (!isCollapsibleSpace(current, lastText))
- break;
- firstSpace--;
- }
- if (firstSpace == trailingSpaceRun->stop())
- trailingSpaceRun = 0;
- else {
- TextDirection direction = style()->direction();
- bool shouldReorder = trailingSpaceRun != (direction == LTR ? resolver.lastRun() : resolver.firstRun());
- if (firstSpace != trailingSpaceRun->start()) {
- BidiContext* baseContext = resolver.context();
- while (BidiContext* parent = baseContext->parent())
- baseContext = parent;
-
- BidiRun* newTrailingRun = new (renderArena()) BidiRun(firstSpace, trailingSpaceRun->m_stop, trailingSpaceRun->m_object, baseContext, OtherNeutral);
- trailingSpaceRun->m_stop = firstSpace;
- if (direction == LTR)
- resolver.addRun(newTrailingRun);
- else
- resolver.prependRun(newTrailingRun);
- trailingSpaceRun = newTrailingRun;
- shouldReorder = false;
- }
- if (shouldReorder) {
- if (direction == LTR) {
- resolver.moveRunToEnd(trailingSpaceRun);
- trailingSpaceRun->m_level = 0;
- } else {
- resolver.moveRunToBeginning(trailingSpaceRun);
- trailingSpaceRun->m_level = 1;
- }
- }
- }
- } else
- trailingSpaceRun = 0;
- }
-
- // Now that the runs have been ordered, we create the line boxes.
- // At the same time we figure out where border/padding/margin should be applied for
- // inline flow boxes.
-
- RootInlineBox* lineBox = 0;
- if (resolver.runCount()) {
- lineBox = constructLine(resolver.runCount(), resolver.firstRun(), resolver.lastRun(), firstLine, !end.obj, end.obj && !end.pos ? end.obj : 0);
- if (lineBox) {
- lineBox->setEndsWithBreak(previousLineBrokeCleanly);
-
- // Now we position all of our text runs horizontally.
- computeHorizontalPositionsForLine(lineBox, firstLine, resolver.firstRun(), trailingSpaceRun, end.atEnd());
-
- // Now position our text runs vertically.
- computeVerticalPositionsForLine(lineBox, resolver.firstRun());
-
-#if ENABLE(SVG)
- // Special SVG text layout code
- lineBox->computePerCharacterLayoutInformation();
-#endif
-
-#if PLATFORM(MAC)
- // Highlight acts as an overflow inflation.
- if (style()->highlight() != nullAtom)
- lineBox->addHighlightOverflow();
-#endif
- }
- }
-
- resolver.deleteRuns();
-
- if (lineBox) {
- lineBox->setLineBreakInfo(end.obj, end.pos, resolver.status());
- if (useRepaintBounds) {
- repaintTop = min(repaintTop, lineBox->topOverflow());
- repaintBottom = max(repaintBottom, lineBox->bottomOverflow());
- }
- }
-
- firstLine = false;
- newLine(clear);
- }
-
- if (m_floatingObjects && lastRootBox()) {
- if (lastFloat) {
- for (FloatingObject* f = m_floatingObjects->last(); f != lastFloat; f = m_floatingObjects->prev()) {
- }
- m_floatingObjects->next();
- } else
- m_floatingObjects->first();
- for (FloatingObject* f = m_floatingObjects->current(); f; f = m_floatingObjects->next()) {
- if (f->m_bottom > lastHeight)
- lastRootBox()->floats().append(f->m_renderer);
- ASSERT(f->m_renderer == floats[floatIndex].object);
- // If a float's geometry has changed, give up on syncing with clean lines.
- if (floats[floatIndex].rect != IntRect(f->m_left, f->m_top, f->m_width, f->m_bottom - f->m_top))
- checkForEndLineMatch = false;
- floatIndex++;
- }
- lastFloat = m_floatingObjects->last();
- }
-
- lastHeight = height();
- lineMidpointState.reset();
- resolver.setPosition(end);
- }
-
- if (endLine) {
- if (endLineMatched) {
- // Attach all the remaining lines, and then adjust their y-positions as needed.
- int delta = height() - endLineYPos;
- for (RootInlineBox* line = endLine; line; line = line->nextRootBox()) {
- line->attachLine();
- if (delta) {
- repaintTop = min(repaintTop, line->topOverflow() + min(delta, 0));
- repaintBottom = max(repaintBottom, line->bottomOverflow() + max(delta, 0));
- line->adjustPosition(0, delta);
- }
- if (Vector<RenderBox*>* cleanLineFloats = line->floatsPtr()) {
- Vector<RenderBox*>::iterator end = cleanLineFloats->end();
- for (Vector<RenderBox*>::iterator f = cleanLineFloats->begin(); f != end; ++f) {
- int floatTop = (*f)->y() - (*f)->marginTop();
- insertFloatingObject(*f);
- setHeight(floatTop + delta);
- positionNewFloats();
- }
- }
- }
- setHeight(lastRootBox()->blockHeight());
- } else {
- // Delete all the remaining lines.
- InlineRunBox* line = endLine;
- RenderArena* arena = renderArena();
- while (line) {
- repaintTop = min(repaintTop, line->topOverflow());
- repaintBottom = max(repaintBottom, line->bottomOverflow());
- InlineRunBox* next = line->nextLineBox();
- line->deleteLine(arena);
- line = next;
- }
- }
- }
- if (m_floatingObjects && (checkForFloatsFromLastLine || positionNewFloats()) && lastRootBox()) {
- // In case we have a float on the last line, it might not be positioned up to now.
- // This has to be done before adding in the bottom border/padding, or the float will
- // include the padding incorrectly. -dwh
- if (lastFloat) {
- for (FloatingObject* f = m_floatingObjects->last(); f != lastFloat; f = m_floatingObjects->prev()) {
- }
- m_floatingObjects->next();
- } else
- m_floatingObjects->first();
- for (FloatingObject* f = m_floatingObjects->current(); f; f = m_floatingObjects->next()) {
- if (f->m_bottom > lastHeight)
- lastRootBox()->floats().append(f->m_renderer);
- }
- lastFloat = m_floatingObjects->last();
- }
- }
-
- // Now add in the bottom border/padding.
- setHeight(height() + toAdd);
-
- // Always make sure this is at least our height.
- m_overflowHeight = max(height(), m_overflowHeight);
-
- // See if any lines spill out of the block. If so, we need to update our overflow width.
- checkLinesForOverflow();
-
- if (!firstLineBox() && hasLineIfEmpty())
- setHeight(height() + lineHeight(true, true));
-
- // See if we have any lines that spill out of our block. If we do, then we will possibly need to
- // truncate text.
- if (hasTextOverflow)
- checkLinesForTextOverflow();
-}
-
-RootInlineBox* RenderBlock::determineStartPosition(bool& firstLine, bool& fullLayout, bool& previousLineBrokeCleanly,
- InlineBidiResolver& resolver, Vector<FloatWithRect>& floats, unsigned& numCleanFloats)
-{
- RootInlineBox* curr = 0;
- RootInlineBox* last = 0;
-
- bool dirtiedByFloat = false;
- if (!fullLayout) {
- size_t floatIndex = 0;
- for (curr = firstRootBox(); curr && !curr->isDirty(); curr = curr->nextRootBox()) {
- if (Vector<RenderBox*>* cleanLineFloats = curr->floatsPtr()) {
- Vector<RenderBox*>::iterator end = cleanLineFloats->end();
- for (Vector<RenderBox*>::iterator o = cleanLineFloats->begin(); o != end; ++o) {
- RenderBox* f = *o;
- IntSize newSize(f->width() + f->marginLeft() +f->marginRight(), f->height() + f->marginTop() + f->marginBottom());
- ASSERT(floatIndex < floats.size());
- if (floats[floatIndex].object != f) {
- // A new float has been inserted before this line or before its last known float.
- // Just do a full layout.
- fullLayout = true;
- break;
- }
- if (floats[floatIndex].rect.size() != newSize) {
- int floatTop = floats[floatIndex].rect.y();
- curr->markDirty();
- markLinesDirtyInVerticalRange(curr->blockHeight(), floatTop + max(floats[floatIndex].rect.height(), newSize.height()));
- floats[floatIndex].rect.setSize(newSize);
- dirtiedByFloat = true;
- }
- floatIndex++;
- }
- }
- if (dirtiedByFloat || fullLayout)
- break;
- }
- // Check if a new float has been inserted after the last known float.
- if (!curr && floatIndex < floats.size())
- fullLayout = true;
- }
-
- if (fullLayout) {
- // Nuke all our lines.
- if (firstRootBox()) {
- RenderArena* arena = renderArena();
- curr = firstRootBox();
- while (curr) {
- RootInlineBox* next = curr->nextRootBox();
- curr->deleteLine(arena);
- curr = next;
- }
- ASSERT(!firstLineBox() && !lastLineBox());
- }
- } else {
- if (curr) {
- // We have a dirty line.
- if (RootInlineBox* prevRootBox = curr->prevRootBox()) {
- // We have a previous line.
- if (!dirtiedByFloat && (!prevRootBox->endsWithBreak() || (prevRootBox->lineBreakObj()->isText() && prevRootBox->lineBreakPos() >= toRenderText(prevRootBox->lineBreakObj())->textLength())))
- // The previous line didn't break cleanly or broke at a newline
- // that has been deleted, so treat it as dirty too.
- curr = prevRootBox;
- }
- } else {
- // No dirty lines were found.
- // If the last line didn't break cleanly, treat it as dirty.
- if (lastRootBox() && !lastRootBox()->endsWithBreak())
- curr = lastRootBox();
- }
-
- // If we have no dirty lines, then last is just the last root box.
- last = curr ? curr->prevRootBox() : lastRootBox();
- }
-
- numCleanFloats = 0;
- if (!floats.isEmpty()) {
- int savedHeight = height();
- // Restore floats from clean lines.
- RootInlineBox* line = firstRootBox();
- while (line != curr) {
- if (Vector<RenderBox*>* cleanLineFloats = line->floatsPtr()) {
- Vector<RenderBox*>::iterator end = cleanLineFloats->end();
- for (Vector<RenderBox*>::iterator f = cleanLineFloats->begin(); f != end; ++f) {
- insertFloatingObject(*f);
- setHeight((*f)->y() - (*f)->marginTop());
- positionNewFloats();
- ASSERT(floats[numCleanFloats].object == *f);
- numCleanFloats++;
- }
- }
- line = line->nextRootBox();
- }
- setHeight(savedHeight);
- }
-
- firstLine = !last;
- previousLineBrokeCleanly = !last || last->endsWithBreak();
-
- RenderObject* startObj;
- int pos = 0;
- if (last) {
- setHeight(last->blockHeight());
- startObj = last->lineBreakObj();
- pos = last->lineBreakPos();
- resolver.setStatus(last->lineBreakBidiStatus());
- } else {
- bool ltr = style()->direction() == LTR
- #if ENABLE(SVG)
- || (style()->unicodeBidi() == UBNormal && isSVGText())
- #endif
- ;
-
- Direction direction = ltr ? LeftToRight : RightToLeft;
- resolver.setLastStrongDir(direction);
- resolver.setLastDir(direction);
- resolver.setEorDir(direction);
- resolver.setContext(BidiContext::create(ltr ? 0 : 1, direction, style()->unicodeBidi() == Override));
-
- startObj = bidiFirst(this, &resolver);
- }
-
- resolver.setPosition(InlineIterator(this, startObj, pos));
-
- return curr;
-}
-
-RootInlineBox* RenderBlock::determineEndPosition(RootInlineBox* startLine, InlineIterator& cleanLineStart, BidiStatus& cleanLineBidiStatus, int& yPos)
-{
- RootInlineBox* last = 0;
- if (!startLine)
- last = 0;
- else {
- for (RootInlineBox* curr = startLine->nextRootBox(); curr; curr = curr->nextRootBox()) {
- if (curr->isDirty())
- last = 0;
- else if (!last)
- last = curr;
- }
- }
-
- if (!last)
- return 0;
-
- RootInlineBox* prev = last->prevRootBox();
- cleanLineStart = InlineIterator(this, prev->lineBreakObj(), prev->lineBreakPos());
- cleanLineBidiStatus = prev->lineBreakBidiStatus();
- yPos = prev->blockHeight();
-
- for (RootInlineBox* line = last; line; line = line->nextRootBox())
- line->extractLine(); // Disconnect all line boxes from their render objects while preserving
- // their connections to one another.
-
- return last;
-}
-
-bool RenderBlock::matchedEndLine(const InlineBidiResolver& resolver, const InlineIterator& endLineStart, const BidiStatus& endLineStatus, RootInlineBox*& endLine, int& endYPos, int& repaintBottom, int& repaintTop)
-{
- if (resolver.position() == endLineStart) {
- if (resolver.status() != endLineStatus)
- return false;
-
- int delta = height() - endYPos;
- if (!delta || !m_floatingObjects)
- return true;
-
- // See if any floats end in the range along which we want to shift the lines vertically.
- int top = min(height(), endYPos);
-
- RootInlineBox* lastLine = endLine;
- while (RootInlineBox* nextLine = lastLine->nextRootBox())
- lastLine = nextLine;
-
- int bottom = lastLine->blockHeight() + abs(delta);
-
- for (FloatingObject* f = m_floatingObjects->first(); f; f = m_floatingObjects->next()) {
- if (f->m_bottom >= top && f->m_bottom < bottom)
- return false;
- }
-
- return true;
- }
-
- // The first clean line doesn't match, but we can check a handful of following lines to try
- // to match back up.
- static int numLines = 8; // The # of lines we're willing to match against.
- RootInlineBox* line = endLine;
- for (int i = 0; i < numLines && line; i++, line = line->nextRootBox()) {
- if (line->lineBreakObj() == resolver.position().obj && line->lineBreakPos() == resolver.position().pos) {
- // We have a match.
- if (line->lineBreakBidiStatus() != resolver.status())
- return false; // ...but the bidi state doesn't match.
- RootInlineBox* result = line->nextRootBox();
-
- // Set our yPos to be the block height of endLine.
- if (result)
- endYPos = line->blockHeight();
-
- int delta = height() - endYPos;
- if (delta && m_floatingObjects) {
- // See if any floats end in the range along which we want to shift the lines vertically.
- int top = min(height(), endYPos);
-
- RootInlineBox* lastLine = endLine;
- while (RootInlineBox* nextLine = lastLine->nextRootBox())
- lastLine = nextLine;
-
- int bottom = lastLine->blockHeight() + abs(delta);
-
- for (FloatingObject* f = m_floatingObjects->first(); f; f = m_floatingObjects->next()) {
- if (f->m_bottom >= top && f->m_bottom < bottom)
- return false;
- }
- }
-
- // Now delete the lines that we failed to sync.
- RootInlineBox* boxToDelete = endLine;
- RenderArena* arena = renderArena();
- while (boxToDelete && boxToDelete != result) {
- repaintTop = min(repaintTop, boxToDelete->topOverflow());
- repaintBottom = max(repaintBottom, boxToDelete->bottomOverflow());
- RootInlineBox* next = boxToDelete->nextRootBox();
- boxToDelete->deleteLine(arena);
- boxToDelete = next;
- }
-
- endLine = result;
- return result;
- }
- }
-
- return false;
-}
-
-static inline bool skipNonBreakingSpace(const InlineIterator& it, bool isLineEmpty, bool previousLineBrokeCleanly)
-{
- if (it.obj->style()->nbspMode() != SPACE || it.current() != noBreakSpace)
- return false;
-
- // FIXME: This is bad. It makes nbsp inconsistent with space and won't work correctly
- // with m_minWidth/m_maxWidth.
- // Do not skip a non-breaking space if it is the first character
- // on a line after a clean line break (or on the first line, since previousLineBrokeCleanly starts off
- // |true|).
- if (isLineEmpty && previousLineBrokeCleanly)
- return false;
-
- return true;
-}
-
-static inline bool shouldCollapseWhiteSpace(const RenderStyle* style, bool isLineEmpty, bool previousLineBrokeCleanly)
-{
- return style->collapseWhiteSpace() || (style->whiteSpace() == PRE_WRAP && (!isLineEmpty || !previousLineBrokeCleanly));
-}
-
-static inline bool shouldPreserveNewline(RenderObject* object)
-{
-#if ENABLE(SVG)
- if (object->isSVGText())
- return false;
-#endif
-
- return object->style()->preserveNewline();
-}
-
-static bool inlineFlowRequiresLineBox(RenderInline* flow)
-{
- // FIXME: Right now, we only allow line boxes for inlines that are truly empty.
- // We need to fix this, though, because at the very least, inlines containing only
- // ignorable whitespace should should also have line boxes.
- return !flow->firstChild() && flow->hasHorizontalBordersPaddingOrMargin();
-}
-
-static inline bool requiresLineBox(const InlineIterator& it, bool isLineEmpty, bool previousLineBrokeCleanly)
-{
- if (it.obj->isFloatingOrPositioned())
- return false;
-
- if (it.obj->isRenderInline() && !inlineFlowRequiresLineBox(toRenderInline(it.obj)))
- return false;
-
- if (!shouldCollapseWhiteSpace(it.obj->style(), isLineEmpty, previousLineBrokeCleanly) || it.obj->isBR())
- return true;
-
- UChar current = it.current();
- return current != ' ' && current != '\t' && current != softHyphen && (current != '\n' || shouldPreserveNewline(it.obj))
- && !skipNonBreakingSpace(it, isLineEmpty, previousLineBrokeCleanly);
-}
-
-bool RenderBlock::generatesLineBoxesForInlineChild(RenderObject* inlineObj, bool isLineEmpty, bool previousLineBrokeCleanly)
-{
- ASSERT(inlineObj->parent() == this);
-
- InlineIterator it(this, inlineObj, 0);
- while (!it.atEnd() && !requiresLineBox(it, isLineEmpty, previousLineBrokeCleanly))
- it.increment();
-
- return !it.atEnd();
-}
-
-// FIXME: The entire concept of the skipTrailingWhitespace function is flawed, since we really need to be building
-// line boxes even for containers that may ultimately collapse away. Otherwise we'll never get positioned
-// elements quite right. In other words, we need to build this function's work into the normal line
-// object iteration process.
-// NB. this function will insert any floating elements that would otherwise
-// be skipped but it will not position them.
-void RenderBlock::skipTrailingWhitespace(InlineIterator& iterator, bool isLineEmpty, bool previousLineBrokeCleanly)
-{
- while (!iterator.atEnd() && !requiresLineBox(iterator, isLineEmpty, previousLineBrokeCleanly)) {
- RenderObject* object = iterator.obj;
- if (object->isFloating()) {
- insertFloatingObject(toRenderBox(object));
- } else if (object->isPositioned()) {
- // FIXME: The math here is actually not really right. It's a best-guess approximation that
- // will work for the common cases
- RenderObject* c = object->container();
- if (c->isRenderInline()) {
- // A relative positioned inline encloses us. In this case, we also have to determine our
- // position as though we were an inline. Set |staticX| and |staticY| on the relative positioned
- // inline so that we can obtain the value later.
- toRenderInline(c)->layer()->setStaticX(style()->direction() == LTR ? leftOffset(height(), false) : rightOffset(height(), false));
- toRenderInline(c)->layer()->setStaticY(height());
- }
-
- RenderBox* box = toRenderBox(object);
- if (box->style()->hasStaticX()) {
- if (box->style()->isOriginalDisplayInlineType())
- box->layer()->setStaticX(style()->direction() == LTR ? leftOffset(height(), false) : width() - rightOffset(height(), false));
- else
- box->layer()->setStaticX(style()->direction() == LTR ? borderLeft() + paddingLeft() : borderRight() + paddingRight());
- }
-
- if (box->style()->hasStaticY())
- box->layer()->setStaticY(height());
- }
- iterator.increment();
- }
-}
-
-int RenderBlock::skipLeadingWhitespace(InlineBidiResolver& resolver, bool firstLine, bool isLineEmpty, bool previousLineBrokeCleanly)
-{
- int availableWidth = lineWidth(height(), firstLine);
- while (!resolver.position().atEnd() && !requiresLineBox(resolver.position(), isLineEmpty, previousLineBrokeCleanly)) {
- RenderObject* object = resolver.position().obj;
- if (object->isFloating()) {
- insertFloatingObject(toRenderBox(object));
- positionNewFloats();
- availableWidth = lineWidth(height(), firstLine);
- } else if (object->isPositioned()) {
- // FIXME: The math here is actually not really right. It's a best-guess approximation that
- // will work for the common cases
- RenderObject* c = object->container();
- if (c->isRenderInline()) {
- // A relative positioned inline encloses us. In this case, we also have to determine our
- // position as though we were an inline. Set |staticX| and |staticY| on the relative positioned
- // inline so that we can obtain the value later.
- toRenderInline(c)->layer()->setStaticX(style()->direction() == LTR ? leftOffset(height(), firstLine) : rightOffset(height(), firstLine));
- toRenderInline(c)->layer()->setStaticY(height());
- }
-
- RenderBox* box = toRenderBox(object);
- if (box->style()->hasStaticX()) {
- if (box->style()->isOriginalDisplayInlineType())
- box->layer()->setStaticX(style()->direction() == LTR ? leftOffset(height(), firstLine) : width() - rightOffset(height(), firstLine));
- else
- box->layer()->setStaticX(style()->direction() == LTR ? borderLeft() + paddingLeft() : borderRight() + paddingRight());
- }
-
- if (box->style()->hasStaticY())
- box->layer()->setStaticY(height());
- }
- resolver.increment();
- }
- resolver.commitExplicitEmbedding();
- return availableWidth;
-}
-
-// This is currently just used for list markers and inline flows that have line boxes. Neither should
-// have an effect on whitespace at the start of the line.
-static bool shouldSkipWhitespaceAfterStartObject(RenderBlock* block, RenderObject* o, LineMidpointState& lineMidpointState)
-{
- RenderObject* next = bidiNext(block, o);
- if (next && !next->isBR() && next->isText() && toRenderText(next)->textLength() > 0) {
- RenderText* nextText = toRenderText(next);
- UChar nextChar = nextText->characters()[0];
- if (nextText->style()->isCollapsibleWhiteSpace(nextChar)) {
- addMidpoint(lineMidpointState, InlineIterator(0, o, 0));
- return true;
- }
- }
-
- return false;
-}
-
-void RenderBlock::fitBelowFloats(int widthToFit, bool firstLine, int& availableWidth)
-{
- ASSERT(widthToFit > availableWidth);
-
- int floatBottom;
- int lastFloatBottom = height();
- int newLineWidth = availableWidth;
- while (true) {
- floatBottom = nextFloatBottomBelow(lastFloatBottom);
- if (!floatBottom)
- break;
-
- newLineWidth = lineWidth(floatBottom, firstLine);
- lastFloatBottom = floatBottom;
- if (newLineWidth >= widthToFit)
- break;
- }
-
- if (newLineWidth > availableWidth) {
- setHeight(lastFloatBottom);
- availableWidth = newLineWidth;
- }
-}
-
-static inline unsigned textWidth(RenderText* text, unsigned from, unsigned len, const Font& font, int xPos, bool isFixedPitch, bool collapseWhiteSpace)
-{
- if (isFixedPitch || (!from && len == text->textLength()))
- return text->width(from, len, font, xPos);
- return font.width(TextRun(text->characters() + from, len, !collapseWhiteSpace, xPos));
-}
-
-InlineIterator RenderBlock::findNextLineBreak(InlineBidiResolver& resolver, bool firstLine, bool& isLineEmpty, bool& previousLineBrokeCleanly,
- EClear* clear)
-{
- ASSERT(resolver.position().block == this);
-
- bool appliedStartWidth = resolver.position().pos > 0;
- LineMidpointState& lineMidpointState = resolver.midpointState();
-
- int width = skipLeadingWhitespace(resolver, firstLine, isLineEmpty, previousLineBrokeCleanly);
-
- int w = 0;
- int tmpW = 0;
-
- if (resolver.position().atEnd())
- return resolver.position();
-
- // This variable is used only if whitespace isn't set to PRE, and it tells us whether
- // or not we are currently ignoring whitespace.
- bool ignoringSpaces = false;
- InlineIterator ignoreStart;
-
- // This variable tracks whether the very last character we saw was a space. We use
- // this to detect when we encounter a second space so we know we have to terminate
- // a run.
- bool currentCharacterIsSpace = false;
- bool currentCharacterIsWS = false;
- RenderObject* trailingSpaceObject = 0;
-
- InlineIterator lBreak = resolver.position();
-
- RenderObject *o = resolver.position().obj;
- RenderObject *last = o;
- unsigned pos = resolver.position().pos;
- int nextBreakable = resolver.position().nextBreakablePosition;
- bool atStart = true;
-
- bool prevLineBrokeCleanly = previousLineBrokeCleanly;
- previousLineBrokeCleanly = false;
-
- bool autoWrapWasEverTrueOnLine = false;
- bool floatsFitOnLine = true;
-
- // Firefox and Opera will allow a table cell to grow to fit an image inside it under
- // very specific circumstances (in order to match common WinIE renderings).
- // Not supporting the quirk has caused us to mis-render some real sites. (See Bugzilla 10517.)
- bool allowImagesToBreak = !style()->htmlHacks() || !isTableCell() || !style()->width().isIntrinsicOrAuto();
-
- EWhiteSpace currWS = style()->whiteSpace();
- EWhiteSpace lastWS = currWS;
- while (o) {
- currWS = o->isReplaced() ? o->parent()->style()->whiteSpace() : o->style()->whiteSpace();
- lastWS = last->isReplaced() ? last->parent()->style()->whiteSpace() : last->style()->whiteSpace();
-
- bool autoWrap = RenderStyle::autoWrap(currWS);
- autoWrapWasEverTrueOnLine = autoWrapWasEverTrueOnLine || autoWrap;
-
-#if ENABLE(SVG)
- bool preserveNewline = o->isSVGText() ? false : RenderStyle::preserveNewline(currWS);
-#else
- bool preserveNewline = RenderStyle::preserveNewline(currWS);
-#endif
-
- bool collapseWhiteSpace = RenderStyle::collapseWhiteSpace(currWS);
-
- if (o->isBR()) {
- if (w + tmpW <= width) {
- lBreak.obj = o;
- lBreak.pos = 0;
- lBreak.nextBreakablePosition = -1;
- lBreak.increment();
-
- // A <br> always breaks a line, so don't let the line be collapsed
- // away. Also, the space at the end of a line with a <br> does not
- // get collapsed away. It only does this if the previous line broke
- // cleanly. Otherwise the <br> has no effect on whether the line is
- // empty or not.
- if (prevLineBrokeCleanly)
- isLineEmpty = false;
- trailingSpaceObject = 0;
- previousLineBrokeCleanly = true;
-
- if (!isLineEmpty && clear)
- *clear = o->style()->clear();
- }
- goto end;
- }
-
- if (o->isFloatingOrPositioned()) {
- // add to special objects...
- if (o->isFloating()) {
- RenderBox* floatBox = toRenderBox(o);
- insertFloatingObject(floatBox);
- // check if it fits in the current line.
- // If it does, position it now, otherwise, position
- // it after moving to next line (in newLine() func)
- if (floatsFitOnLine && floatBox->width() + floatBox->marginLeft() + floatBox->marginRight() + w + tmpW <= width) {
- positionNewFloats();
- width = lineWidth(height(), firstLine);
- } else
- floatsFitOnLine = false;
- } else if (o->isPositioned()) {
- // If our original display wasn't an inline type, then we can
- // go ahead and determine our static x position now.
- RenderBox* box = toRenderBox(o);
- bool isInlineType = box->style()->isOriginalDisplayInlineType();
- bool needToSetStaticX = box->style()->hasStaticX();
- if (box->style()->hasStaticX() && !isInlineType) {
- box->layer()->setStaticX(o->parent()->style()->direction() == LTR ?
- borderLeft() + paddingLeft() :
- borderRight() + paddingRight());
- needToSetStaticX = false;
- }
-
- // If our original display was an INLINE type, then we can go ahead
- // and determine our static y position now.
- bool needToSetStaticY = box->style()->hasStaticY();
- if (box->style()->hasStaticY() && isInlineType) {
- box->layer()->setStaticY(height());
- needToSetStaticY = false;
- }
-
- bool needToCreateLineBox = needToSetStaticX || needToSetStaticY;
- RenderObject* c = o->container();
- if (c->isRenderInline() && (!needToSetStaticX || !needToSetStaticY))
- needToCreateLineBox = true;
-
- // If we're ignoring spaces, we have to stop and include this object and
- // then start ignoring spaces again.
- if (needToCreateLineBox) {
- trailingSpaceObject = 0;
- ignoreStart.obj = o;
- ignoreStart.pos = 0;
- if (ignoringSpaces) {
- addMidpoint(lineMidpointState, ignoreStart); // Stop ignoring spaces.
- addMidpoint(lineMidpointState, ignoreStart); // Start ignoring again.
- }
-
- }
- }
- } else if (o->isRenderInline()) {
- // Right now, we should only encounter empty inlines here.
- ASSERT(!o->firstChild());
-
- RenderInline* flowBox = toRenderInline(o);
-
- // Now that some inline flows have line boxes, if we are already ignoring spaces, we need
- // to make sure that we stop to include this object and then start ignoring spaces again.
- // If this object is at the start of the line, we need to behave like list markers and
- // start ignoring spaces.
- if (inlineFlowRequiresLineBox(flowBox)) {
- isLineEmpty = false;
- if (ignoringSpaces) {
- trailingSpaceObject = 0;
- addMidpoint(lineMidpointState, InlineIterator(0, o, 0)); // Stop ignoring spaces.
- addMidpoint(lineMidpointState, InlineIterator(0, o, 0)); // Start ignoring again.
- } else if (style()->collapseWhiteSpace() && resolver.position().obj == o
- && shouldSkipWhitespaceAfterStartObject(this, o, lineMidpointState)) {
- // Like with list markers, we start ignoring spaces to make sure that any
- // additional spaces we see will be discarded.
- currentCharacterIsSpace = true;
- currentCharacterIsWS = true;
- ignoringSpaces = true;
- }
- }
-
- tmpW += flowBox->marginLeft() + flowBox->borderLeft() + flowBox->paddingLeft() +
- flowBox->marginRight() + flowBox->borderRight() + flowBox->paddingRight();
- } else if (o->isReplaced()) {
- RenderBox* replacedBox = toRenderBox(o);
-
- // Break on replaced elements if either has normal white-space.
- if ((autoWrap || RenderStyle::autoWrap(lastWS)) && (!o->isImage() || allowImagesToBreak)) {
- w += tmpW;
- tmpW = 0;
- lBreak.obj = o;
- lBreak.pos = 0;
- lBreak.nextBreakablePosition = -1;
- }
-
- if (ignoringSpaces)
- addMidpoint(lineMidpointState, InlineIterator(0, o, 0));
-
- isLineEmpty = false;
- ignoringSpaces = false;
- currentCharacterIsSpace = false;
- currentCharacterIsWS = false;
- trailingSpaceObject = 0;
-
- // Optimize for a common case. If we can't find whitespace after the list
- // item, then this is all moot. -dwh
- if (o->isListMarker() && !static_cast<RenderListMarker*>(o)->isInside()) {
- if (style()->collapseWhiteSpace() && shouldSkipWhitespaceAfterStartObject(this, o, lineMidpointState)) {
- // Like with inline flows, we start ignoring spaces to make sure that any
- // additional spaces we see will be discarded.
- currentCharacterIsSpace = true;
- currentCharacterIsWS = true;
- ignoringSpaces = true;
- }
- } else
- tmpW += replacedBox->width() + replacedBox->marginLeft() + replacedBox->marginRight() + inlineWidth(o);
- } else if (o->isText()) {
- if (!pos)
- appliedStartWidth = false;
-
- RenderText* t = toRenderText(o);
-
- int strlen = t->textLength();
- int len = strlen - pos;
- const UChar* str = t->characters();
-
- const Font& f = t->style(firstLine)->font();
- bool isFixedPitch = f.isFixedPitch();
-
- int lastSpace = pos;
- int wordSpacing = o->style()->wordSpacing();
- int lastSpaceWordSpacing = 0;
-
- int wrapW = tmpW + inlineWidth(o, !appliedStartWidth, true);
- int charWidth = 0;
- bool breakNBSP = autoWrap && o->style()->nbspMode() == SPACE;
- // Auto-wrapping text should wrap in the middle of a word only if it could not wrap before the word,
- // which is only possible if the word is the first thing on the line, that is, if |w| is zero.
- bool breakWords = o->style()->breakWords() && ((autoWrap && !w) || currWS == PRE);
- bool midWordBreak = false;
- bool breakAll = o->style()->wordBreak() == BreakAllWordBreak && autoWrap;
-
- if (t->isWordBreak()) {
- w += tmpW;
- tmpW = 0;
- lBreak.obj = o;
- lBreak.pos = 0;
- lBreak.nextBreakablePosition = -1;
- ASSERT(!len);
- }
-
- while (len) {
- bool previousCharacterIsSpace = currentCharacterIsSpace;
- bool previousCharacterIsWS = currentCharacterIsWS;
- UChar c = str[pos];
- currentCharacterIsSpace = c == ' ' || c == '\t' || (!preserveNewline && (c == '\n'));
-
- if (!collapseWhiteSpace || !currentCharacterIsSpace)
- isLineEmpty = false;
-
- // Check for soft hyphens. Go ahead and ignore them.
- if (c == softHyphen) {
- if (!ignoringSpaces) {
- // Ignore soft hyphens
- InlineIterator beforeSoftHyphen;
- if (pos)
- beforeSoftHyphen = InlineIterator(0, o, pos - 1);
- else
- beforeSoftHyphen = InlineIterator(0, last, last->isText() ? toRenderText(last)->textLength() - 1 : 0);
- // Two consecutive soft hyphens. Avoid overlapping midpoints.
- if (lineMidpointState.numMidpoints && lineMidpointState.midpoints[lineMidpointState.numMidpoints - 1].obj == o &&
- lineMidpointState.midpoints[lineMidpointState.numMidpoints - 1].pos == pos)
- lineMidpointState.numMidpoints--;
- else
- addMidpoint(lineMidpointState, beforeSoftHyphen);
-
- // Add the width up to but not including the hyphen.
- tmpW += textWidth(t, lastSpace, pos - lastSpace, f, w + tmpW, isFixedPitch, collapseWhiteSpace) + lastSpaceWordSpacing;
-
- // For wrapping text only, include the hyphen. We need to ensure it will fit
- // on the line if it shows when we break.
- if (autoWrap)
- tmpW += textWidth(t, pos, 1, f, w + tmpW, isFixedPitch, collapseWhiteSpace);
-
- InlineIterator afterSoftHyphen(0, o, pos);
- afterSoftHyphen.increment();
- addMidpoint(lineMidpointState, afterSoftHyphen);
- }
-
- pos++;
- len--;
- lastSpaceWordSpacing = 0;
- lastSpace = pos; // Cheesy hack to prevent adding in widths of the run twice.
- continue;
- }
-
- bool applyWordSpacing = false;
-
- currentCharacterIsWS = currentCharacterIsSpace || (breakNBSP && c == noBreakSpace);
-
- if ((breakAll || breakWords) && !midWordBreak) {
- wrapW += charWidth;
- charWidth = textWidth(t, pos, 1, f, w + wrapW, isFixedPitch, collapseWhiteSpace);
- midWordBreak = w + wrapW + charWidth > width;
- }
-
- bool betweenWords = c == '\n' || (currWS != PRE && !atStart && isBreakable(str, pos, strlen, nextBreakable, breakNBSP));
-
- if (betweenWords || midWordBreak) {
- bool stoppedIgnoringSpaces = false;
- if (ignoringSpaces) {
- if (!currentCharacterIsSpace) {
- // Stop ignoring spaces and begin at this
- // new point.
- ignoringSpaces = false;
- lastSpaceWordSpacing = 0;
- lastSpace = pos; // e.g., "Foo goo", don't add in any of the ignored spaces.
- addMidpoint(lineMidpointState, InlineIterator(0, o, pos));
- stoppedIgnoringSpaces = true;
- } else {
- // Just keep ignoring these spaces.
- pos++;
- len--;
- continue;
- }
- }
-
- int additionalTmpW = textWidth(t, lastSpace, pos - lastSpace, f, w + tmpW, isFixedPitch, collapseWhiteSpace) + lastSpaceWordSpacing;
- tmpW += additionalTmpW;
- if (!appliedStartWidth) {
- tmpW += inlineWidth(o, true, false);
- appliedStartWidth = true;
- }
-
- applyWordSpacing = wordSpacing && currentCharacterIsSpace && !previousCharacterIsSpace;
-
- if (!w && autoWrap && tmpW > width)
- fitBelowFloats(tmpW, firstLine, width);
-
- if (autoWrap || breakWords) {
- // If we break only after white-space, consider the current character
- // as candidate width for this line.
- bool lineWasTooWide = false;
- if (w + tmpW <= width && currentCharacterIsWS && o->style()->breakOnlyAfterWhiteSpace() && !midWordBreak) {
- int charWidth = textWidth(t, pos, 1, f, w + tmpW, isFixedPitch, collapseWhiteSpace) + (applyWordSpacing ? wordSpacing : 0);
- // Check if line is too big even without the extra space
- // at the end of the line. If it is not, do nothing.
- // If the line needs the extra whitespace to be too long,
- // then move the line break to the space and skip all
- // additional whitespace.
- if (w + tmpW + charWidth > width) {
- lineWasTooWide = true;
- lBreak.obj = o;
- lBreak.pos = pos;
- lBreak.nextBreakablePosition = nextBreakable;
- skipTrailingWhitespace(lBreak, isLineEmpty, previousLineBrokeCleanly);
- }
- }
- if (lineWasTooWide || w + tmpW > width) {
- if (lBreak.obj && shouldPreserveNewline(lBreak.obj) && lBreak.obj->isText() && !toRenderText(lBreak.obj)->isWordBreak() && toRenderText(lBreak.obj)->characters()[lBreak.pos] == '\n') {
- if (!stoppedIgnoringSpaces && pos > 0) {
- // We need to stop right before the newline and then start up again.
- addMidpoint(lineMidpointState, InlineIterator(0, o, pos - 1)); // Stop
- addMidpoint(lineMidpointState, InlineIterator(0, o, pos)); // Start
- }
- lBreak.increment();
- previousLineBrokeCleanly = true;
- }
- goto end; // Didn't fit. Jump to the end.
- } else {
- if (!betweenWords || (midWordBreak && !autoWrap))
- tmpW -= additionalTmpW;
- if (pos > 0 && str[pos-1] == softHyphen)
- // Subtract the width of the soft hyphen out since we fit on a line.
- tmpW -= textWidth(t, pos - 1, 1, f, w + tmpW, isFixedPitch, collapseWhiteSpace);
- }
- }
-
- if (c == '\n' && preserveNewline) {
- if (!stoppedIgnoringSpaces && pos > 0) {
- // We need to stop right before the newline and then start up again.
- addMidpoint(lineMidpointState, InlineIterator(0, o, pos - 1)); // Stop
- addMidpoint(lineMidpointState, InlineIterator(0, o, pos)); // Start
- }
- lBreak.obj = o;
- lBreak.pos = pos;
- lBreak.nextBreakablePosition = nextBreakable;
- lBreak.increment();
- previousLineBrokeCleanly = true;
- return lBreak;
- }
-
- if (autoWrap && betweenWords) {
- w += tmpW;
- wrapW = 0;
- tmpW = 0;
- lBreak.obj = o;
- lBreak.pos = pos;
- lBreak.nextBreakablePosition = nextBreakable;
- // Auto-wrapping text should not wrap in the middle of a word once it has had an
- // opportunity to break after a word.
- breakWords = false;
- }
-
- if (midWordBreak) {
- // Remember this as a breakable position in case
- // adding the end width forces a break.
- lBreak.obj = o;
- lBreak.pos = pos;
- lBreak.nextBreakablePosition = nextBreakable;
- midWordBreak &= (breakWords || breakAll);
- }
-
- if (betweenWords) {
- lastSpaceWordSpacing = applyWordSpacing ? wordSpacing : 0;
- lastSpace = pos;
- }
-
- if (!ignoringSpaces && o->style()->collapseWhiteSpace()) {
- // If we encounter a newline, or if we encounter a
- // second space, we need to go ahead and break up this
- // run and enter a mode where we start collapsing spaces.
- if (currentCharacterIsSpace && previousCharacterIsSpace) {
- ignoringSpaces = true;
-
- // We just entered a mode where we are ignoring
- // spaces. Create a midpoint to terminate the run
- // before the second space.
- addMidpoint(lineMidpointState, ignoreStart);
- }
- }
- } else if (ignoringSpaces) {
- // Stop ignoring spaces and begin at this
- // new point.
- ignoringSpaces = false;
- lastSpaceWordSpacing = applyWordSpacing ? wordSpacing : 0;
- lastSpace = pos; // e.g., "Foo goo", don't add in any of the ignored spaces.
- addMidpoint(lineMidpointState, InlineIterator(0, o, pos));
- }
-
- if (currentCharacterIsSpace && !previousCharacterIsSpace) {
- ignoreStart.obj = o;
- ignoreStart.pos = pos;
- }
-
- if (!currentCharacterIsWS && previousCharacterIsWS) {
- if (autoWrap && o->style()->breakOnlyAfterWhiteSpace()) {
- lBreak.obj = o;
- lBreak.pos = pos;
- lBreak.nextBreakablePosition = nextBreakable;
- }
- }
-
- if (collapseWhiteSpace && currentCharacterIsSpace && !ignoringSpaces)
- trailingSpaceObject = o;
- else if (!o->style()->collapseWhiteSpace() || !currentCharacterIsSpace)
- trailingSpaceObject = 0;
-
- pos++;
- len--;
- atStart = false;
- }
-
- // IMPORTANT: pos is > length here!
- if (!ignoringSpaces)
- tmpW += textWidth(t, lastSpace, pos - lastSpace, f, w + tmpW, isFixedPitch, collapseWhiteSpace) + lastSpaceWordSpacing;
- tmpW += inlineWidth(o, !appliedStartWidth, true);
- } else
- ASSERT_NOT_REACHED();
-
- RenderObject* next = bidiNext(this, o);
- bool checkForBreak = autoWrap;
- if (w && w + tmpW > width && lBreak.obj && currWS == NOWRAP)
- checkForBreak = true;
- else if (next && o->isText() && next->isText() && !next->isBR()) {
- if (autoWrap || (next->style()->autoWrap())) {
- if (currentCharacterIsSpace)
- checkForBreak = true;
- else {
- checkForBreak = false;
- RenderText* nextText = toRenderText(next);
- if (nextText->textLength()) {
- UChar c = nextText->characters()[0];
- if (c == ' ' || c == '\t' || (c == '\n' && !shouldPreserveNewline(next)))
- // If the next item on the line is text, and if we did not end with
- // a space, then the next text run continues our word (and so it needs to
- // keep adding to |tmpW|. Just update and continue.
- checkForBreak = true;
- } else if (nextText->isWordBreak())
- checkForBreak = true;
- bool willFitOnLine = w + tmpW <= width;
- if (!willFitOnLine && !w) {
- fitBelowFloats(tmpW, firstLine, width);
- willFitOnLine = tmpW <= width;
- }
- bool canPlaceOnLine = willFitOnLine || !autoWrapWasEverTrueOnLine;
- if (canPlaceOnLine && checkForBreak) {
- w += tmpW;
- tmpW = 0;
- lBreak.obj = next;
- lBreak.pos = 0;
- lBreak.nextBreakablePosition = -1;
- }
- }
- }
- }
-
- if (checkForBreak && (w + tmpW > width)) {
- // if we have floats, try to get below them.
- if (currentCharacterIsSpace && !ignoringSpaces && o->style()->collapseWhiteSpace())
- trailingSpaceObject = 0;
-
- if (w)
- goto end;
-
- fitBelowFloats(tmpW, firstLine, width);
-
- // |width| may have been adjusted because we got shoved down past a float (thus
- // giving us more room), so we need to retest, and only jump to
- // the end label if we still don't fit on the line. -dwh
- if (w + tmpW > width)
- goto end;
- }
-
- if (!o->isFloatingOrPositioned()) {
- last = o;
- if (last->isReplaced() && autoWrap && (!last->isImage() || allowImagesToBreak) && (!last->isListMarker() || static_cast<RenderListMarker*>(last)->isInside())) {
- w += tmpW;
- tmpW = 0;
- lBreak.obj = next;
- lBreak.pos = 0;
- lBreak.nextBreakablePosition = -1;
- }
- }
-
- o = next;
- nextBreakable = -1;
-
- // Clear out our character space bool, since inline <pre>s don't collapse whitespace
- // with adjacent inline normal/nowrap spans.
- if (!collapseWhiteSpace)
- currentCharacterIsSpace = false;
-
- pos = 0;
- atStart = false;
- }
-
-
- if (w + tmpW <= width || lastWS == NOWRAP) {
- lBreak.obj = 0;
- lBreak.pos = 0;
- lBreak.nextBreakablePosition = -1;
- }
-
- end:
- if (lBreak == resolver.position() && (!lBreak.obj || !lBreak.obj->isBR())) {
- // we just add as much as possible
- if (style()->whiteSpace() == PRE) {
- // FIXME: Don't really understand this case.
- if (pos != 0) {
- lBreak.obj = o;
- lBreak.pos = pos - 1;
- } else {
- lBreak.obj = last;
- lBreak.pos = last->isText() ? last->length() : 0;
- lBreak.nextBreakablePosition = -1;
- }
- } else if (lBreak.obj) {
- if (last != o && !last->isListMarker()) {
- // better to break between object boundaries than in the middle of a word (except for list markers)
- lBreak.obj = o;
- lBreak.pos = 0;
- lBreak.nextBreakablePosition = -1;
- } else {
- // Don't ever break in the middle of a word if we can help it.
- // There's no room at all. We just have to be on this line,
- // even though we'll spill out.
- lBreak.obj = o;
- lBreak.pos = pos;
- lBreak.nextBreakablePosition = -1;
- }
- }
- }
-
- // make sure we consume at least one char/object.
- if (lBreak == resolver.position())
- lBreak.increment();
-
- // Sanity check our midpoints.
- checkMidpoints(lineMidpointState, lBreak);
-
- if (trailingSpaceObject) {
- // This object is either going to be part of the last midpoint, or it is going
- // to be the actual endpoint. In both cases we just decrease our pos by 1 level to
- // exclude the space, allowing it to - in effect - collapse into the newline.
- if (lineMidpointState.numMidpoints % 2) {
- InlineIterator* midpoints = lineMidpointState.midpoints.data();
- midpoints[lineMidpointState.numMidpoints - 1].pos--;
- }
- //else if (lBreak.pos > 0)
- // lBreak.pos--;
- else if (lBreak.obj == 0 && trailingSpaceObject->isText()) {
- // Add a new end midpoint that stops right at the very end.
- RenderText* text = toRenderText(trailingSpaceObject);
- unsigned length = text->textLength();
- unsigned pos = length >= 2 ? length - 2 : UINT_MAX;
- InlineIterator endMid(0, trailingSpaceObject, pos);
- addMidpoint(lineMidpointState, endMid);
- }
- }
-
- // We might have made lBreak an iterator that points past the end
- // of the object. Do this adjustment to make it point to the start
- // of the next object instead to avoid confusing the rest of the
- // code.
- if (lBreak.pos > 0) {
- lBreak.pos--;
- lBreak.increment();
- }
-
- if (lBreak.obj && lBreak.pos >= 2 && lBreak.obj->isText()) {
- // For soft hyphens on line breaks, we have to chop out the midpoints that made us
- // ignore the hyphen so that it will render at the end of the line.
- UChar c = toRenderText(lBreak.obj)->characters()[lBreak.pos - 1];
- if (c == softHyphen)
- chopMidpointsAt(lineMidpointState, lBreak.obj, lBreak.pos - 2);
- }
-
- return lBreak;
-}
-
-void RenderBlock::checkLinesForOverflow()
-{
- m_overflowWidth = width();
- for (RootInlineBox* curr = firstRootBox(); curr; curr = curr->nextRootBox()) {
- m_overflowLeft = min(curr->leftOverflow(), m_overflowLeft);
- m_overflowTop = min(curr->topOverflow(), m_overflowTop);
- m_overflowWidth = max(curr->rightOverflow(), m_overflowWidth);
- m_overflowHeight = max(curr->bottomOverflow(), m_overflowHeight);
- }
-}
-
-void RenderBlock::deleteEllipsisLineBoxes()
-{
- for (RootInlineBox* curr = firstRootBox(); curr; curr = curr->nextRootBox())
- curr->clearTruncation();
-}
-
-void RenderBlock::checkLinesForTextOverflow()
-{
- // Determine the width of the ellipsis using the current font.
- // FIXME: CSS3 says this is configurable, also need to use 0x002E (FULL STOP) if horizontal ellipsis is "not renderable"
- TextRun ellipsisRun(&horizontalEllipsis, 1);
- DEFINE_STATIC_LOCAL(AtomicString, ellipsisStr, (&horizontalEllipsis, 1));
- const Font& firstLineFont = firstLineStyle()->font();
- const Font& font = style()->font();
- int firstLineEllipsisWidth = firstLineFont.width(ellipsisRun);
- int ellipsisWidth = (font == firstLineFont) ? firstLineEllipsisWidth : font.width(ellipsisRun);
-
- // For LTR text truncation, we want to get the right edge of our padding box, and then we want to see
- // if the right edge of a line box exceeds that. For RTL, we use the left edge of the padding box and
- // check the left edge of the line box to see if it is less
- // Include the scrollbar for overflow blocks, which means we want to use "contentWidth()"
- bool ltr = style()->direction() == LTR;
- for (RootInlineBox* curr = firstRootBox(); curr; curr = curr->nextRootBox()) {
- int blockRightEdge = rightOffset(curr->y(), curr == firstRootBox());
- int blockLeftEdge = leftOffset(curr->y(), curr == firstRootBox());
- int lineBoxEdge = ltr ? curr->x() + curr->width() : curr->x();
- if ((ltr && lineBoxEdge > blockRightEdge) || (!ltr && lineBoxEdge < blockLeftEdge)) {
- // This line spills out of our box in the appropriate direction. Now we need to see if the line
- // can be truncated. In order for truncation to be possible, the line must have sufficient space to
- // accommodate our truncation string, and no replaced elements (images, tables) can overlap the ellipsis
- // space.
- int width = curr == firstRootBox() ? firstLineEllipsisWidth : ellipsisWidth;
- int blockEdge = ltr ? blockRightEdge : blockLeftEdge;
- if (curr->canAccommodateEllipsis(ltr, blockEdge, lineBoxEdge, width))
- curr->placeEllipsis(ellipsisStr, ltr, blockLeftEdge, blockRightEdge, width);
- }
- }
-}
-
-}
diff --git a/src/3rdparty/webkit/WebCore/rendering/bidi.h b/src/3rdparty/webkit/WebCore/rendering/bidi.h
deleted file mode 100644
index 9058eeb..0000000
--- a/src/3rdparty/webkit/WebCore/rendering/bidi.h
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * This file is part of the html renderer for KDE.
- *
- * Copyright (C) 2000 Lars Knoll (knoll@kde.org)
- * Copyright (C) 2003 Apple Computer, Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public License
- * along with this library; see the file COPYING.LIB. If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- *
- */
-
-#ifndef bidi_h
-#define bidi_h
-
-#include "BidiResolver.h"
-
-namespace WebCore {
-
-class RenderArena;
-class RenderBlock;
-class RenderObject;
-class InlineBox;
-
-struct BidiRun : BidiCharacterRun {
- BidiRun(int start, int stop, RenderObject* object, BidiContext* context, WTF::Unicode::Direction dir)
- : BidiCharacterRun(start, stop, context, dir)
- , m_object(object)
- , m_box(0)
- {
- }
-
- void destroy();
-
- // Overloaded new operator.
- void* operator new(size_t, RenderArena*) throw();
-
- // Overridden to prevent the normal delete from being called.
- void operator delete(void*, size_t);
-
- BidiRun* next() { return static_cast<BidiRun*>(m_next); }
-
-private:
- // The normal operator new is disallowed.
- void* operator new(size_t) throw();
-
-public:
- RenderObject* m_object;
- InlineBox* m_box;
-};
-
-} // namespace WebCore
-
-#endif // bidi_h
diff --git a/src/3rdparty/webkit/WebCore/rendering/style/FillLayer.h b/src/3rdparty/webkit/WebCore/rendering/style/FillLayer.h
index 2dc5871..c3944ad 100644
--- a/src/3rdparty/webkit/WebCore/rendering/style/FillLayer.h
+++ b/src/3rdparty/webkit/WebCore/rendering/style/FillLayer.h
@@ -42,7 +42,7 @@ public:
StyleImage* image() const { return m_image.get(); }
Length xPosition() const { return m_xPosition; }
Length yPosition() const { return m_yPosition; }
- bool attachment() const { return m_attachment; }
+ EFillAttachment attachment() const { return static_cast<EFillAttachment>(m_attachment); }
EFillBox clip() const { return static_cast<EFillBox>(m_clip); }
EFillBox origin() const { return static_cast<EFillBox>(m_origin); }
EFillRepeat repeat() const { return static_cast<EFillRepeat>(m_repeat); }
@@ -65,7 +65,7 @@ public:
void setImage(StyleImage* i) { m_image = i; m_imageSet = true; }
void setXPosition(const Length& l) { m_xPosition = l; m_xPosSet = true; }
void setYPosition(const Length& l) { m_yPosition = l; m_yPosSet = true; }
- void setAttachment(bool b) { m_attachment = b; m_attachmentSet = true; }
+ void setAttachment(EFillAttachment attachment) { m_attachment = attachment; m_attachmentSet = true; }
void setClip(EFillBox b) { m_clip = b; m_clipSet = true; }
void setOrigin(EFillBox b) { m_origin = b; m_originSet = true; }
void setRepeat(EFillRepeat r) { m_repeat = r; m_repeatSet = true; }
@@ -104,7 +104,7 @@ public:
bool hasFixedImage() const
{
- if (m_image && !m_attachment)
+ if (m_image && m_attachment == FixedBackgroundAttachment)
return true;
return m_next ? m_next->hasFixedImage() : false;
}
@@ -114,7 +114,7 @@ public:
void fillUnsetProperties();
void cullEmptyLayers();
- static bool initialFillAttachment(EFillLayerType) { return true; }
+ static EFillAttachment initialFillAttachment(EFillLayerType) { return ScrollBackgroundAttachment; }
static EFillBox initialFillClip(EFillLayerType) { return BorderFillBox; }
static EFillBox initialFillOrigin(EFillLayerType type) { return type == BackgroundFillLayer ? PaddingFillBox : BorderFillBox; }
static EFillRepeat initialFillRepeat(EFillLayerType) { return RepeatFill; }
@@ -133,7 +133,7 @@ public:
Length m_xPosition;
Length m_yPosition;
- bool m_attachment : 1;
+ unsigned m_attachment : 2; // EFillAttachment
unsigned m_clip : 2; // EFillBox
unsigned m_origin : 2; // EFillBox
unsigned m_repeat : 2; // EFillRepeat
diff --git a/src/3rdparty/webkit/WebCore/rendering/style/RenderStyle.cpp b/src/3rdparty/webkit/WebCore/rendering/style/RenderStyle.cpp
index e4027db..efec1bd 100644
--- a/src/3rdparty/webkit/WebCore/rendering/style/RenderStyle.cpp
+++ b/src/3rdparty/webkit/WebCore/rendering/style/RenderStyle.cpp
@@ -225,6 +225,13 @@ RenderStyle* RenderStyle::addCachedPseudoStyle(PassRefPtr<RenderStyle> pseudo)
return m_cachedPseudoStyle.get();
}
+void RenderStyle::getPseudoStyleCache(PseudoStyleCache& cache) const
+{
+ ASSERT(cache.isEmpty());
+ for (RenderStyle* pseudoStyle = m_cachedPseudoStyle.get(); pseudoStyle; pseudoStyle = pseudoStyle->m_cachedPseudoStyle.get())
+ cache.append(pseudoStyle);
+}
+
bool RenderStyle::inheritedNotEqual(const RenderStyle* other) const
{
return inherited_flags != other->inherited_flags ||
@@ -688,6 +695,8 @@ void RenderStyle::addBindingURI(StringImpl* uri)
void RenderStyle::setTextShadow(ShadowData* val, bool add)
{
+ ASSERT(!val || !val->spread);
+
StyleRareInheritedData* rareData = rareInheritedData.access();
if (!add) {
delete rareData->textShadow;
diff --git a/src/3rdparty/webkit/WebCore/rendering/style/RenderStyle.h b/src/3rdparty/webkit/WebCore/rendering/style/RenderStyle.h
index 46c91cd..4582dbb 100644
--- a/src/3rdparty/webkit/WebCore/rendering/style/RenderStyle.h
+++ b/src/3rdparty/webkit/WebCore/rendering/style/RenderStyle.h
@@ -307,6 +307,9 @@ public:
RenderStyle* getCachedPseudoStyle(PseudoId) const;
RenderStyle* addCachedPseudoStyle(PassRefPtr<RenderStyle>);
+ typedef Vector<RenderStyle*, 10> PseudoStyleCache;
+ void getPseudoStyleCache(PseudoStyleCache&) const;
+
bool affectedByHoverRules() const { return noninherited_flags._affectedByHover; }
bool affectedByActiveRules() const { return noninherited_flags._affectedByActive; }
bool affectedByDragRules() const { return noninherited_flags._affectedByDrag; }
@@ -520,7 +523,7 @@ public:
StyleImage* backgroundImage() const { return background->m_background.m_image.get(); }
EFillRepeat backgroundRepeat() const { return static_cast<EFillRepeat>(background->m_background.m_repeat); }
CompositeOperator backgroundComposite() const { return static_cast<CompositeOperator>(background->m_background.m_composite); }
- bool backgroundAttachment() const { return background->m_background.m_attachment; }
+ EFillAttachment backgroundAttachment() const { return static_cast<EFillAttachment>(background->m_background.m_attachment); }
EFillBox backgroundClip() const { return static_cast<EFillBox>(background->m_background.m_clip); }
EFillBox backgroundOrigin() const { return static_cast<EFillBox>(background->m_background.m_origin); }
Length backgroundXPosition() const { return background->m_background.m_xPosition; }
@@ -532,7 +535,7 @@ public:
StyleImage* maskImage() const { return rareNonInheritedData->m_mask.m_image.get(); }
EFillRepeat maskRepeat() const { return static_cast<EFillRepeat>(rareNonInheritedData->m_mask.m_repeat); }
CompositeOperator maskComposite() const { return static_cast<CompositeOperator>(rareNonInheritedData->m_mask.m_composite); }
- bool maskAttachment() const { return rareNonInheritedData->m_mask.m_attachment; }
+ EFillAttachment maskAttachment() const { return static_cast<EFillAttachment>(rareNonInheritedData->m_mask.m_attachment); }
EFillBox maskClip() const { return static_cast<EFillBox>(rareNonInheritedData->m_mask.m_clip); }
EFillBox maskOrigin() const { return static_cast<EFillBox>(rareNonInheritedData->m_mask.m_origin); }
Length maskXPosition() const { return rareNonInheritedData->m_mask.m_xPosition; }
@@ -788,7 +791,7 @@ public:
void setOverflowY(EOverflow v) { noninherited_flags._overflowY = v; }
void setVisibility(EVisibility v) { inherited_flags._visibility = v; }
void setVerticalAlign(EVerticalAlign v) { noninherited_flags._vertical_align = v; }
- void setVerticalAlignLength(Length l) { SET_VAR(box, vertical_align, l ) }
+ void setVerticalAlignLength(Length l) { SET_VAR(box, vertical_align, l) }
void setHasClip(bool b = true) { SET_VAR(visual, hasClip, b) }
void setClipLeft(Length v) { SET_VAR(visual, clip.m_left, v) }
@@ -797,7 +800,7 @@ public:
void setClipBottom(Length v) { SET_VAR(visual, clip.m_bottom, v) }
void setClip(Length top, Length right, Length bottom, Length left);
- void setUnicodeBidi( EUnicodeBidi b ) { noninherited_flags._unicodeBidi = b; }
+ void setUnicodeBidi(EUnicodeBidi b) { noninherited_flags._unicodeBidi = b; }
void setClear(EClear v) { noninherited_flags._clear = v; }
void setTableLayout(ETableLayout v) { noninherited_flags._table_layout = v; }
@@ -884,7 +887,7 @@ public:
void setPaddingLeft(Length v) { SET_VAR(surround, padding.m_left, v) }
void setPaddingRight(Length v) { SET_VAR(surround, padding.m_right, v) }
- void setCursor( ECursor c ) { inherited_flags._cursor_style = c; }
+ void setCursor(ECursor c) { inherited_flags._cursor_style = c; }
void addCursor(CachedImage*, const IntPoint& = IntPoint());
void setCursorList(PassRefPtr<CursorList>);
void clearCursorList();
diff --git a/src/3rdparty/webkit/WebCore/rendering/style/RenderStyleConstants.h b/src/3rdparty/webkit/WebCore/rendering/style/RenderStyleConstants.h
index 405cf7c..1b3e1f4 100644
--- a/src/3rdparty/webkit/WebCore/rendering/style/RenderStyleConstants.h
+++ b/src/3rdparty/webkit/WebCore/rendering/style/RenderStyleConstants.h
@@ -69,7 +69,8 @@ enum PseudoId {
SLIDER_THUMB, SEARCH_CANCEL_BUTTON, SEARCH_DECORATION, SEARCH_RESULTS_DECORATION, SEARCH_RESULTS_BUTTON, MEDIA_CONTROLS_PANEL,
MEDIA_CONTROLS_PLAY_BUTTON, MEDIA_CONTROLS_MUTE_BUTTON, MEDIA_CONTROLS_TIMELINE, MEDIA_CONTROLS_TIMELINE_CONTAINER,
MEDIA_CONTROLS_CURRENT_TIME_DISPLAY, MEDIA_CONTROLS_TIME_REMAINING_DISPLAY, MEDIA_CONTROLS_SEEK_BACK_BUTTON,
- MEDIA_CONTROLS_SEEK_FORWARD_BUTTON, MEDIA_CONTROLS_FULLSCREEN_BUTTON,
+ MEDIA_CONTROLS_SEEK_FORWARD_BUTTON, MEDIA_CONTROLS_FULLSCREEN_BUTTON, MEDIA_CONTROLS_REWIND_BUTTON,
+ MEDIA_CONTROLS_RETURN_TO_REALTIME_BUTTON, MEDIA_CONTROLS_STATUS_DISPLAY,
SCROLLBAR_THUMB, SCROLLBAR_BUTTON, SCROLLBAR_TRACK, SCROLLBAR_TRACK_PIECE, SCROLLBAR_CORNER, RESIZER,
FIRST_INTERNAL_PSEUDOID = FILE_UPLOAD_BUTTON
@@ -109,7 +110,7 @@ enum EVerticalAlign {
TEXT_BOTTOM, TOP, BOTTOM, BASELINE_MIDDLE, LENGTH
};
-enum EClear{
+enum EClear {
CNONE = 0, CLEFT = 1, CRIGHT = 2, CBOTH = 3
};
@@ -121,6 +122,10 @@ enum EUnicodeBidi {
UBNormal, Embed, Override
};
+enum EFillAttachment {
+ ScrollBackgroundAttachment, LocalBackgroundAttachment, FixedBackgroundAttachment
+};
+
enum EFillBox {
BorderFillBox, PaddingFillBox, ContentFillBox, TextFillBox
};
diff --git a/src/3rdparty/webkit/WebCore/rendering/style/SVGRenderStyle.cpp b/src/3rdparty/webkit/WebCore/rendering/style/SVGRenderStyle.cpp
index c5f0648..1289b06 100644
--- a/src/3rdparty/webkit/WebCore/rendering/style/SVGRenderStyle.cpp
+++ b/src/3rdparty/webkit/WebCore/rendering/style/SVGRenderStyle.cpp
@@ -32,6 +32,7 @@
#include "CSSPrimitiveValue.h"
#include "CSSValueList.h"
+#include "NodeRenderStyle.h"
#include "RenderObject.h"
#include "RenderStyle.h"
#include "SVGStyledElement.h"
@@ -136,7 +137,7 @@ float SVGRenderStyle::cssPrimitiveToLength(const RenderObject* item, CSSValue* v
}
}
- return primitive->computeLengthFloat(const_cast<RenderStyle*>(item->style()));
+ return primitive->computeLengthFloat(const_cast<RenderStyle*>(item->style()), item->document()->documentElement()->renderStyle());
}
}
diff --git a/src/3rdparty/webkit/WebCore/rendering/style/SVGRenderStyleDefs.h b/src/3rdparty/webkit/WebCore/rendering/style/SVGRenderStyleDefs.h
index cb504d2..b7bf026 100644
--- a/src/3rdparty/webkit/WebCore/rendering/style/SVGRenderStyleDefs.h
+++ b/src/3rdparty/webkit/WebCore/rendering/style/SVGRenderStyleDefs.h
@@ -60,13 +60,13 @@
#define SVG_RS_DEFINE_ATTRIBUTE_DATAREF_WITH_INITIAL_REFCOUNTED(Data, Group, Variable, Type, Name, Initial) \
Data* Name() const { return Group->Variable.get(); } \
void set##Type(PassRefPtr<Data> obj) { \
- if(!(Group->Variable == obj)) \
+ if (!(Group->Variable == obj)) \
Group.access()->Variable = obj; \
} \
static Data* initial##Type() { return Initial; }
#define SVG_RS_SET_VARIABLE(Group, Variable, Value) \
- if(!(Group->Variable == Value)) \
+ if (!(Group->Variable == Value)) \
Group.access()->Variable = Value;
namespace WebCore {
diff --git a/src/3rdparty/webkit/WebCore/rendering/style/ShadowData.cpp b/src/3rdparty/webkit/WebCore/rendering/style/ShadowData.cpp
index 75fb9dc..1954224 100644
--- a/src/3rdparty/webkit/WebCore/rendering/style/ShadowData.cpp
+++ b/src/3rdparty/webkit/WebCore/rendering/style/ShadowData.cpp
@@ -1,6 +1,6 @@
/*
* Copyright (C) 1999 Antti Koivisto (koivisto@kde.org)
- * Copyright (C) 2004, 2005, 2006, 2007, 2008 Apple Inc. All rights reserved.
+ * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -28,6 +28,8 @@ ShadowData::ShadowData(const ShadowData& o)
: x(o.x)
, y(o.y)
, blur(o.blur)
+ , spread(o.spread)
+ , style(o.style)
, color(o.color)
{
next = o.next ? new ShadowData(*o.next) : 0;
@@ -39,7 +41,7 @@ bool ShadowData::operator==(const ShadowData& o) const
(next && o.next && *next != *o.next))
return false;
- return x == o.x && y == o.y && blur == o.blur && color == o.color;
+ return x == o.x && y == o.y && blur == o.blur && spread == o.spread && style == o.style && color == o.color;
}
} // namespace WebCore
diff --git a/src/3rdparty/webkit/WebCore/rendering/style/ShadowData.h b/src/3rdparty/webkit/WebCore/rendering/style/ShadowData.h
index dac2b18..f4061f2 100644
--- a/src/3rdparty/webkit/WebCore/rendering/style/ShadowData.h
+++ b/src/3rdparty/webkit/WebCore/rendering/style/ShadowData.h
@@ -2,7 +2,7 @@
* Copyright (C) 2000 Lars Knoll (knoll@kde.org)
* (C) 2000 Antti Koivisto (koivisto@kde.org)
* (C) 2000 Dirk Mueller (mueller@kde.org)
- * Copyright (C) 2003, 2005, 2006, 2007, 2008 Apple Inc. All rights reserved.
+ * Copyright (C) 2003, 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserved.
* Copyright (C) 2006 Graham Dennis (graham.dennis@gmail.com)
*
* This library is free software; you can redistribute it and/or
@@ -29,6 +29,8 @@
namespace WebCore {
+enum ShadowStyle { Normal, Inset };
+
// This struct holds information about shadows for the text-shadow and box-shadow properties.
struct ShadowData {
@@ -36,15 +38,19 @@ struct ShadowData {
: x(0)
, y(0)
, blur(0)
+ , spread(0)
+ , style(Normal)
, next(0)
{
}
- ShadowData(int _x, int _y, int _blur, const Color& _color)
- : x(_x)
- , y(_y)
- , blur(_blur)
- , color(_color)
+ ShadowData(int x, int y, int blur, int spread, ShadowStyle style, const Color& color)
+ : x(x)
+ , y(y)
+ , blur(blur)
+ , spread(spread)
+ , style(style)
+ , color(color)
, next(0)
{
}
@@ -62,6 +68,8 @@ struct ShadowData {
int x;
int y;
int blur;
+ int spread;
+ ShadowStyle style;
Color color;
ShadowData* next;
};
diff --git a/src/3rdparty/webkit/WebCore/rendering/style/StyleInheritedData.h b/src/3rdparty/webkit/WebCore/rendering/style/StyleInheritedData.h
index 5f1077e..548ca72 100644
--- a/src/3rdparty/webkit/WebCore/rendering/style/StyleInheritedData.h
+++ b/src/3rdparty/webkit/WebCore/rendering/style/StyleInheritedData.h
@@ -44,7 +44,7 @@ public:
~StyleInheritedData();
bool operator==(const StyleInheritedData& o) const;
- bool operator!=( const StyleInheritedData& o) const
+ bool operator!=(const StyleInheritedData& o) const
{
return !(*this == o);
}
diff --git a/src/3rdparty/webkit/WebCore/storage/Database.cpp b/src/3rdparty/webkit/WebCore/storage/Database.cpp
index 53bccbe..2292a0a 100644
--- a/src/3rdparty/webkit/WebCore/storage/Database.cpp
+++ b/src/3rdparty/webkit/WebCore/storage/Database.cpp
@@ -40,7 +40,6 @@
#include "DatabaseTracker.h"
#include "Document.h"
#include "ExceptionCode.h"
-#include "FileSystem.h"
#include "Frame.h"
#include "InspectorController.h"
#include "Logging.h"
@@ -48,6 +47,7 @@
#include "Page.h"
#include "OriginQuotaManager.h"
#include "SQLiteDatabase.h"
+#include "SQLiteFileSystem.h"
#include "SQLiteStatement.h"
#include "SQLResultSet.h"
#include <wtf/MainThread.h>
@@ -60,6 +60,9 @@
namespace WebCore {
+// If we sleep for more the 30 seconds while blocked on SQLITE_BUSY, give up.
+static const int maxSqliteBusyWaitTime = 30000;
+
const String& Database::databaseInfoTableName()
{
DEFINE_STATIC_LOCAL(String, name, ("__WebKitDatabaseInfoTable__"));
@@ -132,6 +135,7 @@ Database::Database(Document* document, const String& name, const String& expecte
, m_expectedVersion(expectedVersion)
, m_deleted(false)
, m_stopped(false)
+ , m_opened(false)
{
ASSERT(document);
m_securityOrigin = document->securityOrigin();
@@ -316,7 +320,13 @@ void Database::markAsDeletedAndClose()
void Database::close()
{
- m_sqliteDatabase.close();
+ if (m_opened) {
+ ASSERT(m_document->databaseThread());
+ ASSERT(currentThread() == document()->databaseThread()->getThreadID());
+ m_sqliteDatabase.close();
+ m_document->databaseThread()->recordDatabaseClosed(this);
+ m_opened = false;
+ }
}
void Database::stop()
@@ -338,10 +348,7 @@ void Database::stop()
unsigned long long Database::databaseSize() const
{
- long long size;
- if (!getFileSize(m_filename, size))
- size = 0;
- return size;
+ return SQLiteFileSystem::getDatabaseFileSize(m_filename);
}
unsigned long long Database::maximumSize() const
@@ -426,8 +433,13 @@ bool Database::performOpenAndVerify(ExceptionCode& e)
return false;
}
+ m_opened = true;
+ if (m_document->databaseThread())
+ m_document->databaseThread()->recordDatabaseOpen(this);
+
ASSERT(m_databaseAuthorizer);
m_sqliteDatabase.setAuthorizer(m_databaseAuthorizer);
+ m_sqliteDatabase.setBusyTimeout(maxSqliteBusyWaitTime);
if (!m_sqliteDatabase.tableExists(databaseInfoTableName())) {
if (!m_sqliteDatabase.executeCommand("CREATE TABLE " + databaseInfoTableName() + " (key TEXT NOT NULL ON CONFLICT FAIL UNIQUE ON CONFLICT REPLACE,value TEXT NOT NULL ON CONFLICT FAIL);")) {
diff --git a/src/3rdparty/webkit/WebCore/storage/Database.h b/src/3rdparty/webkit/WebCore/storage/Database.h
index 385485a..0bdb37b 100644
--- a/src/3rdparty/webkit/WebCore/storage/Database.h
+++ b/src/3rdparty/webkit/WebCore/storage/Database.h
@@ -100,6 +100,7 @@ public:
bool deleted() const { return m_deleted; }
void close();
+ bool opened() const { return m_opened; }
void stop();
bool stopped() const { return m_stopped; }
@@ -141,6 +142,8 @@ private:
bool m_stopped;
+ bool m_opened;
+
SQLiteDatabase m_sqliteDatabase;
RefPtr<DatabaseAuthorizer> m_databaseAuthorizer;
diff --git a/src/3rdparty/webkit/WebCore/storage/DatabaseTask.h b/src/3rdparty/webkit/WebCore/storage/DatabaseTask.h
index a3814d7..4aef892 100644
--- a/src/3rdparty/webkit/WebCore/storage/DatabaseTask.h
+++ b/src/3rdparty/webkit/WebCore/storage/DatabaseTask.h
@@ -45,8 +45,7 @@ class SQLCallback;
class SQLTransaction;
class VersionChangeCallback;
-class DatabaseTask : public ThreadSafeShared<DatabaseTask>
-{
+class DatabaseTask : public ThreadSafeShared<DatabaseTask> {
friend class Database;
public:
virtual ~DatabaseTask();
@@ -76,8 +75,7 @@ private:
OwnPtr<ThreadCondition> m_synchronousCondition;
};
-class DatabaseOpenTask : public DatabaseTask
-{
+class DatabaseOpenTask : public DatabaseTask {
public:
static PassRefPtr<DatabaseOpenTask> create(Database* db) { return adoptRef(new DatabaseOpenTask(db)); }
@@ -96,8 +94,7 @@ private:
bool m_success;
};
-class DatabaseCloseTask : public DatabaseTask
-{
+class DatabaseCloseTask : public DatabaseTask {
public:
static PassRefPtr<DatabaseCloseTask> create(Database* db) { return adoptRef(new DatabaseCloseTask(db)); }
@@ -110,8 +107,7 @@ private:
#endif
};
-class DatabaseTransactionTask : public DatabaseTask
-{
+class DatabaseTransactionTask : public DatabaseTask {
public:
static PassRefPtr<DatabaseTransactionTask> create(PassRefPtr<SQLTransaction> transaction) { return adoptRef(new DatabaseTransactionTask(transaction)); }
@@ -129,8 +125,7 @@ private:
RefPtr<SQLTransaction> m_transaction;
};
-class DatabaseTableNamesTask : public DatabaseTask
-{
+class DatabaseTableNamesTask : public DatabaseTask {
public:
static PassRefPtr<DatabaseTableNamesTask> create(Database* db) { return adoptRef(new DatabaseTableNamesTask(db)); }
diff --git a/src/3rdparty/webkit/WebCore/storage/DatabaseThread.cpp b/src/3rdparty/webkit/WebCore/storage/DatabaseThread.cpp
index fab02a2..b6c9b5d 100644
--- a/src/3rdparty/webkit/WebCore/storage/DatabaseThread.cpp
+++ b/src/3rdparty/webkit/WebCore/storage/DatabaseThread.cpp
@@ -99,6 +99,17 @@ void* DatabaseThread::databaseThread()
LOG(StorageAPI, "About to detach thread %i and clear the ref to DatabaseThread %p, which currently has %i ref(s)", m_threadID, this, refCount());
+ // Close the databases that we ran transactions on. This ensures that if any transactions are still open, they are rolled back and we don't leave the database in an
+ // inconsistent or locked state.
+ if (m_openDatabaseSet.size() > 0) {
+ // As the call to close will modify the original set, we must take a copy to iterate over.
+ DatabaseSet openSetCopy;
+ openSetCopy.swap(m_openDatabaseSet);
+ DatabaseSet::iterator end = openSetCopy.end();
+ for (DatabaseSet::iterator it = openSetCopy.begin(); it != end; ++it)
+ (*it)->close();
+ }
+
// Detach the thread so its resources are no longer of any concern to anyone else
detachThread(m_threadID);
@@ -108,6 +119,22 @@ void* DatabaseThread::databaseThread()
return 0;
}
+void DatabaseThread::recordDatabaseOpen(Database* database)
+{
+ ASSERT(currentThread() == m_threadID);
+ ASSERT(database);
+ ASSERT(!m_openDatabaseSet.contains(database));
+ m_openDatabaseSet.add(database);
+}
+
+void DatabaseThread::recordDatabaseClosed(Database* database)
+{
+ ASSERT(currentThread() == m_threadID);
+ ASSERT(database);
+ ASSERT(m_queue.killed() || m_openDatabaseSet.contains(database));
+ m_openDatabaseSet.remove(database);
+}
+
void DatabaseThread::scheduleTask(PassRefPtr<DatabaseTask> task)
{
m_queue.append(task);
diff --git a/src/3rdparty/webkit/WebCore/storage/DatabaseThread.h b/src/3rdparty/webkit/WebCore/storage/DatabaseThread.h
index 9f13c33..5aab5fd 100644
--- a/src/3rdparty/webkit/WebCore/storage/DatabaseThread.h
+++ b/src/3rdparty/webkit/WebCore/storage/DatabaseThread.h
@@ -56,6 +56,10 @@ public:
void scheduleImmediateTask(PassRefPtr<DatabaseTask>); // This just adds the task to the front of the queue - the caller needs to be extremely careful not to create deadlocks when waiting for completion.
void unscheduleDatabaseTasks(Database*);
+ void recordDatabaseOpen(Database*);
+ void recordDatabaseClosed(Database*);
+ ThreadIdentifier getThreadID() { return m_threadID; }
+
private:
DatabaseThread();
@@ -67,6 +71,10 @@ private:
RefPtr<DatabaseThread> m_selfRef;
MessageQueue<RefPtr<DatabaseTask> > m_queue;
+
+ // This set keeps track of the open databases that have been used on this thread.
+ typedef HashSet<RefPtr<Database> > DatabaseSet;
+ DatabaseSet m_openDatabaseSet;
};
} // namespace WebCore
diff --git a/src/3rdparty/webkit/WebCore/storage/DatabaseTracker.cpp b/src/3rdparty/webkit/WebCore/storage/DatabaseTracker.cpp
index 9311bc6..e7c9485 100644
--- a/src/3rdparty/webkit/WebCore/storage/DatabaseTracker.cpp
+++ b/src/3rdparty/webkit/WebCore/storage/DatabaseTracker.cpp
@@ -35,12 +35,12 @@
#include "Database.h"
#include "DatabaseTrackerClient.h"
#include "Document.h"
-#include "FileSystem.h"
#include "Logging.h"
#include "OriginQuotaManager.h"
#include "Page.h"
#include "SecurityOrigin.h"
#include "SecurityOriginHash.h"
+#include "SQLiteFileSystem.h"
#include "SQLiteStatement.h"
#include <wtf/MainThread.h>
#include <wtf/StdLibExtras.h>
@@ -69,6 +69,7 @@ DatabaseTracker::DatabaseTracker()
, m_thread(currentThread())
#endif
{
+ SQLiteFileSystem::registerSQLiteVFS();
}
void DatabaseTracker::setDatabaseDirectoryPath(const String& path)
@@ -87,9 +88,7 @@ const String& DatabaseTracker::databaseDirectoryPath() const
String DatabaseTracker::trackerDatabasePath() const
{
ASSERT(currentThread() == m_thread);
- if (m_databaseDirectoryPath.isEmpty())
- return String();
- return pathByAppendingComponent(m_databaseDirectoryPath, "Databases.db");
+ return SQLiteFileSystem::appendDatabaseFileNameToPath(m_databaseDirectoryPath, "Databases.db");
}
void DatabaseTracker::openTrackerDatabase(bool createIfDoesNotExist)
@@ -100,13 +99,9 @@ void DatabaseTracker::openTrackerDatabase(bool createIfDoesNotExist)
return;
String databasePath = trackerDatabasePath();
- if (databasePath.isEmpty())
- return;
-
- if (!createIfDoesNotExist && !fileExists(databasePath))
+ if (!SQLiteFileSystem::ensureDatabaseFileExists(databasePath, createIfDoesNotExist))
return;
- makeAllDirectories(m_databaseDirectoryPath);
if (!m_database.open(databasePath)) {
// FIXME: What do do here?
return;
@@ -190,9 +185,7 @@ bool DatabaseTracker::hasEntryForDatabase(SecurityOrigin* origin, const String&
String DatabaseTracker::originPath(SecurityOrigin* origin) const
{
ASSERT(currentThread() == m_thread);
- if (m_databaseDirectoryPath.isEmpty())
- return String();
- return pathByAppendingComponent(m_databaseDirectoryPath, origin->databaseIdentifier());
+ return SQLiteFileSystem::appendDatabaseFileNameToPath(m_databaseDirectoryPath, origin->databaseIdentifier());
}
String DatabaseTracker::fullPathForDatabase(SecurityOrigin* origin, const String& name, bool createIfNotExists)
@@ -206,7 +199,7 @@ String DatabaseTracker::fullPathForDatabase(SecurityOrigin* origin, const String
String originPath = this->originPath(origin);
// Make sure the path for this SecurityOrigin exists
- if (createIfNotExists && !makeAllDirectories(originPath))
+ if (createIfNotExists && !SQLiteFileSystem::ensureDatabaseDirectoryExists(originPath))
return String();
// See if we have a path for this database yet
@@ -224,7 +217,7 @@ String DatabaseTracker::fullPathForDatabase(SecurityOrigin* origin, const String
int result = statement.step();
if (result == SQLResultRow)
- return pathByAppendingComponent(originPath, statement.getColumnText(0));
+ return SQLiteFileSystem::appendDatabaseFileNameToPath(originPath, statement.getColumnText(0));
if (!createIfNotExists)
return String();
@@ -234,40 +227,20 @@ String DatabaseTracker::fullPathForDatabase(SecurityOrigin* origin, const String
}
statement.finalize();
- SQLiteStatement sequenceStatement(m_database, "SELECT seq FROM sqlite_sequence WHERE name='Databases';");
-
- // FIXME: More informative error handling here, even though these steps should never fail
- if (sequenceStatement.prepare() != SQLResultOk)
- return String();
- result = sequenceStatement.step();
-
- // This has a range of 2^63 and starts at 0 for every time a user resets Safari -
- // I can't imagine it'd over overflow
- int64_t seq = 0;
- if (result == SQLResultRow) {
- seq = sequenceStatement.getColumnInt64(0);
- } else if (result != SQLResultDone)
- return String();
- sequenceStatement.finalize();
-
- String filename;
- do {
- ++seq;
- filename = pathByAppendingComponent(originPath, String::format("%016llx.db", seq));
- } while (fileExists(filename));
-
- if (!addDatabase(origin, name, String::format("%016llx.db", seq)))
+ String fileName = SQLiteFileSystem::getFileNameForNewDatabase(originPath, origin->databaseIdentifier(), name, &m_database);
+ if (!addDatabase(origin, name, fileName))
return String();
// If this origin's quota is being tracked (open handle to a database in this origin), add this new database
// to the quota manager now
+ String fullFilePath = SQLiteFileSystem::appendDatabaseFileNameToPath(originPath, fileName);
{
Locker<OriginQuotaManager> locker(originQuotaManager());
if (originQuotaManager().tracksOrigin(origin))
- originQuotaManager().addDatabase(origin, name, filename);
+ originQuotaManager().addDatabase(origin, name, fullFilePath);
}
- return filename;
+ return fullFilePath;
}
void DatabaseTracker::populateOrigins()
@@ -423,8 +396,7 @@ unsigned long long DatabaseTracker::usageForDatabase(const String& name, Securit
if (path.isEmpty())
return 0;
- long long size;
- return getFileSize(path, size) ? size : 0;
+ return SQLiteFileSystem::getDatabaseFileSize(path);
}
void DatabaseTracker::addOpenDatabase(Database* database)
@@ -665,7 +637,7 @@ void DatabaseTracker::deleteOrigin(SecurityOrigin* origin)
return;
}
- deleteEmptyDirectory(originPath(origin));
+ SQLiteFileSystem::deleteEmptyDatabaseDirectory(originPath(origin));
RefPtr<SecurityOrigin> originPossiblyLastReference = origin;
{
@@ -679,8 +651,8 @@ void DatabaseTracker::deleteOrigin(SecurityOrigin* origin)
if (m_quotaMap->isEmpty()) {
if (m_database.isOpen())
m_database.close();
- deleteFile(trackerDatabasePath());
- deleteEmptyDirectory(m_databaseDirectoryPath);
+ SQLiteFileSystem::deleteDatabaseFile(trackerDatabasePath());
+ SQLiteFileSystem::deleteEmptyDatabaseDirectory(m_databaseDirectoryPath);
}
}
@@ -763,7 +735,7 @@ bool DatabaseTracker::deleteDatabaseFile(SecurityOrigin* origin, const String& n
for (unsigned i = 0; i < deletedDatabases.size(); ++i)
deletedDatabases[i]->markAsDeletedAndClose();
- return deleteFile(fullPath);
+ return SQLiteFileSystem::deleteDatabaseFile(fullPath);
}
void DatabaseTracker::setClient(DatabaseTrackerClient* client)
diff --git a/src/3rdparty/webkit/WebCore/storage/LocalStorageTask.cpp b/src/3rdparty/webkit/WebCore/storage/LocalStorageTask.cpp
index f9b8dc2..f5d4890 100644
--- a/src/3rdparty/webkit/WebCore/storage/LocalStorageTask.cpp
+++ b/src/3rdparty/webkit/WebCore/storage/LocalStorageTask.cpp
@@ -49,6 +49,10 @@ LocalStorageTask::LocalStorageTask(Type type, PassRefPtr<LocalStorageThread> thr
ASSERT(m_type == TerminateThread);
}
+LocalStorageTask::~LocalStorageTask()
+{
+}
+
void LocalStorageTask::performTask()
{
switch (m_type) {
diff --git a/src/3rdparty/webkit/WebCore/storage/LocalStorageTask.h b/src/3rdparty/webkit/WebCore/storage/LocalStorageTask.h
index 2c397da..b12a26b 100644
--- a/src/3rdparty/webkit/WebCore/storage/LocalStorageTask.h
+++ b/src/3rdparty/webkit/WebCore/storage/LocalStorageTask.h
@@ -42,6 +42,8 @@ namespace WebCore {
public:
enum Type { AreaImport, AreaSync, TerminateThread };
+ ~LocalStorageTask();
+
static PassRefPtr<LocalStorageTask> createImport(PassRefPtr<StorageAreaSync> area) { return adoptRef(new LocalStorageTask(AreaImport, area)); }
static PassRefPtr<LocalStorageTask> createSync(PassRefPtr<StorageAreaSync> area) { return adoptRef(new LocalStorageTask(AreaSync, area)); }
static PassRefPtr<LocalStorageTask> createTerminate(PassRefPtr<LocalStorageThread> thread) { return adoptRef(new LocalStorageTask(TerminateThread, thread)); }
diff --git a/src/3rdparty/webkit/WebCore/storage/OriginUsageRecord.cpp b/src/3rdparty/webkit/WebCore/storage/OriginUsageRecord.cpp
index 211ba69..5f4957f 100644
--- a/src/3rdparty/webkit/WebCore/storage/OriginUsageRecord.cpp
+++ b/src/3rdparty/webkit/WebCore/storage/OriginUsageRecord.cpp
@@ -30,7 +30,7 @@
#if ENABLE(DATABASE)
-#include "FileSystem.h"
+#include "SQLiteFileSystem.h"
namespace WebCore {
@@ -82,13 +82,9 @@ unsigned long long OriginUsageRecord::diskUsage()
const String& path = m_databaseMap.get(*iUnknown).filename;
ASSERT(!path.isEmpty());
- long long size;
- if (getFileSize(path, size))
- m_databaseMap.set(*iUnknown, DatabaseEntry(path, size));
- else {
- // When we can't determine the file size, we'll just have to assume the file is missing/inaccessible.
- m_databaseMap.set(*iUnknown, DatabaseEntry(path, 0));
- }
+ // When we can't determine the file size, we'll just have to assume the file is missing/inaccessible.
+ long long size = SQLiteFileSystem::getDatabaseFileSize(path);
+ m_databaseMap.set(*iUnknown, DatabaseEntry(path, size));
}
m_unknownSet.clear();
diff --git a/src/3rdparty/webkit/WebCore/storage/Storage.cpp b/src/3rdparty/webkit/WebCore/storage/Storage.cpp
index e228971..0166098 100644
--- a/src/3rdparty/webkit/WebCore/storage/Storage.cpp
+++ b/src/3rdparty/webkit/WebCore/storage/Storage.cpp
@@ -47,6 +47,10 @@ Storage::Storage(Frame* frame, PassRefPtr<StorageArea> storageArea)
ASSERT(m_storageArea);
}
+Storage::~Storage()
+{
+}
+
unsigned Storage::length() const
{
if (!m_frame)
diff --git a/src/3rdparty/webkit/WebCore/storage/Storage.h b/src/3rdparty/webkit/WebCore/storage/Storage.h
index ca7a32e..77c5720 100644
--- a/src/3rdparty/webkit/WebCore/storage/Storage.h
+++ b/src/3rdparty/webkit/WebCore/storage/Storage.h
@@ -28,8 +28,6 @@
#if ENABLE(DOM_STORAGE)
-#include "StorageArea.h"
-
#include <wtf/Forward.h>
#include <wtf/RefCounted.h>
#include <wtf/RefPtr.h>
@@ -37,13 +35,15 @@
namespace WebCore {
class Frame;
+ class StorageArea;
class String;
typedef int ExceptionCode;
class Storage : public RefCounted<Storage> {
public:
static PassRefPtr<Storage> create(Frame*, PassRefPtr<StorageArea>);
-
+ ~Storage();
+
unsigned length() const;
String key(unsigned index, ExceptionCode&) const;
String getItem(const String&) const;
diff --git a/src/3rdparty/webkit/WebCore/storage/StorageArea.cpp b/src/3rdparty/webkit/WebCore/storage/StorageArea.cpp
index ac41447..e69de29 100644
--- a/src/3rdparty/webkit/WebCore/storage/StorageArea.cpp
+++ b/src/3rdparty/webkit/WebCore/storage/StorageArea.cpp
@@ -1,256 +0,0 @@
-/*
- * Copyright (C) 2008 Apple Inc. All Rights Reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "config.h"
-#include "StorageArea.h"
-
-#if ENABLE(DOM_STORAGE)
-
-#include "EventNames.h"
-#include "ExceptionCode.h"
-#include "Frame.h"
-#include "Page.h"
-#include "PageGroup.h"
-#include "SecurityOrigin.h"
-#include "Settings.h"
-#include "StorageEvent.h"
-#include "StorageAreaSync.h"
-#include "StorageMap.h"
-#include "StorageSyncManager.h"
-
-namespace WebCore {
-
-PassRefPtr<StorageArea> StorageArea::create(StorageType storageType, SecurityOrigin* origin, PassRefPtr<StorageSyncManager> syncManager)
-{
- return adoptRef(new StorageArea(storageType, origin, syncManager));
-}
-
-StorageArea::StorageArea(StorageType storageType, SecurityOrigin* origin, PassRefPtr<StorageSyncManager> syncManager)
- : m_storageType(storageType)
- , m_securityOrigin(origin)
- , m_storageMap(StorageMap::create())
- , m_storageSyncManager(syncManager)
-#ifndef NDEBUG
- , m_isShutdown(false)
-#endif
-{
- ASSERT(m_securityOrigin);
- ASSERT(m_storageMap);
-
- // FIXME: If there's no backing storage for LocalStorage, the default WebKit behavior should be that of private browsing,
- // not silently ignoring it. https://bugs.webkit.org/show_bug.cgi?id=25894
- if (m_storageSyncManager) {
- m_storageAreaSync = StorageAreaSync::create(m_storageSyncManager, this);
- ASSERT(m_storageAreaSync);
- }
-}
-
-PassRefPtr<StorageArea> StorageArea::copy(SecurityOrigin* origin)
-{
- ASSERT(!m_isShutdown);
- return adoptRef(new StorageArea(origin, this));
-}
-
-StorageArea::StorageArea(SecurityOrigin* origin, StorageArea* area)
- : m_storageType(area->m_storageType)
- , m_securityOrigin(origin)
- , m_storageMap(area->m_storageMap)
- , m_storageSyncManager(area->m_storageSyncManager)
-#ifndef NDEBUG
- , m_isShutdown(area->m_isShutdown)
-#endif
-{
- ASSERT(m_securityOrigin);
- ASSERT(m_storageMap);
- ASSERT(!m_isShutdown);
-}
-
-unsigned StorageArea::length() const
-{
- ASSERT(!m_isShutdown);
- return m_storageMap->length();
-}
-
-String StorageArea::key(unsigned index, ExceptionCode& ec) const
-{
- ASSERT(!m_isShutdown);
- blockUntilImportComplete();
-
- String key;
-
- if (!m_storageMap->key(index, key)) {
- ec = INDEX_SIZE_ERR;
- return String();
- }
-
- return key;
-}
-
-String StorageArea::getItem(const String& key) const
-{
- ASSERT(!m_isShutdown);
- blockUntilImportComplete();
-
- return m_storageMap->getItem(key);
-}
-
-void StorageArea::setItem(const String& key, const String& value, ExceptionCode& ec, Frame* frame)
-{
- ASSERT(!m_isShutdown);
- ASSERT(!value.isNull());
- blockUntilImportComplete();
-
- if (frame->page()->settings()->privateBrowsingEnabled()) {
- ec = QUOTA_EXCEEDED_ERR;
- return;
- }
-
- // FIXME: For LocalStorage where a disk quota will be enforced, here is where we need to do quota checking.
- // If we decide to enforce a memory quota for SessionStorage, this is where we'd do that, also.
- // if (<over quota>) {
- // ec = QUOTA_EXCEEDED_ERR;
- // return;
- // }
-
- String oldValue;
- RefPtr<StorageMap> newMap = m_storageMap->setItem(key, value, oldValue);
-
- if (newMap)
- m_storageMap = newMap.release();
-
- // Only notify the client if an item was actually changed
- if (oldValue != value) {
- if (m_storageAreaSync)
- m_storageAreaSync->scheduleItemForSync(key, value);
- dispatchStorageEvent(key, oldValue, value, frame);
- }
-}
-
-void StorageArea::removeItem(const String& key, Frame* frame)
-{
- ASSERT(!m_isShutdown);
- blockUntilImportComplete();
-
- if (frame->page()->settings()->privateBrowsingEnabled())
- return;
-
- String oldValue;
- RefPtr<StorageMap> newMap = m_storageMap->removeItem(key, oldValue);
- if (newMap)
- m_storageMap = newMap.release();
-
- // Only notify the client if an item was actually removed
- if (!oldValue.isNull()) {
- if (m_storageAreaSync)
- m_storageAreaSync->scheduleItemForSync(key, String());
- dispatchStorageEvent(key, oldValue, String(), frame);
- }
-}
-
-void StorageArea::clear(Frame* frame)
-{
- ASSERT(!m_isShutdown);
- blockUntilImportComplete();
-
- if (frame->page()->settings()->privateBrowsingEnabled())
- return;
-
- m_storageMap = StorageMap::create();
-
- if (m_storageAreaSync)
- m_storageAreaSync->scheduleClear();
- dispatchStorageEvent(String(), String(), String(), frame);
-}
-
-bool StorageArea::contains(const String& key) const
-{
- ASSERT(!m_isShutdown);
- blockUntilImportComplete();
-
- return m_storageMap->contains(key);
-}
-
-void StorageArea::importItem(const String& key, const String& value)
-{
- ASSERT(!m_isShutdown);
- m_storageMap->importItem(key, value);
-}
-
-void StorageArea::close()
-{
- if (m_storageAreaSync)
- m_storageAreaSync->scheduleFinalSync();
-
-#ifndef NDEBUG
- m_isShutdown = true;
-#endif
-}
-
-void StorageArea::blockUntilImportComplete() const
-{
- if (m_storageAreaSync)
- m_storageAreaSync->blockUntilImportComplete();
-}
-
-void StorageArea::dispatchStorageEvent(const String& key, const String& oldValue, const String& newValue, Frame* sourceFrame)
-{
- // We need to copy all relevant frames from every page to a vector since sending the event to one frame might mutate the frame tree
- // of any given page in the group or mutate the page group itself.
- Vector<RefPtr<Frame> > frames;
-
- // FIXME: When can this occur?
- Page* page = sourceFrame->page();
- if (!page)
- return;
-
- if (m_storageType == SessionStorage) {
- // Send events only to our page.
- for (Frame* frame = page->mainFrame(); frame; frame = frame->tree()->traverseNext()) {
- if (frame->document()->securityOrigin()->equal(securityOrigin()))
- frames.append(frame);
- }
-
- for (unsigned i = 0; i < frames.size(); ++i)
- frames[i]->document()->dispatchWindowEvent(StorageEvent::create(eventNames().storageEvent, key, oldValue, newValue, sourceFrame->document()->documentURI(), sourceFrame->domWindow(), frames[i]->domWindow()->sessionStorage()));
- } else {
- // Send events to every page.
- const HashSet<Page*>& pages = page->group().pages();
- HashSet<Page*>::const_iterator end = pages.end();
- for (HashSet<Page*>::const_iterator it = pages.begin(); it != end; ++it) {
- for (Frame* frame = (*it)->mainFrame(); frame; frame = frame->tree()->traverseNext()) {
- if (frame->document()->securityOrigin()->equal(securityOrigin()))
- frames.append(frame);
- }
- }
-
- for (unsigned i = 0; i < frames.size(); ++i)
- frames[i]->document()->dispatchWindowEvent(StorageEvent::create(eventNames().storageEvent, key, oldValue, newValue, sourceFrame->document()->documentURI(), sourceFrame->domWindow(), frames[i]->domWindow()->localStorage()));
- }
-}
-
-}
-
-#endif // ENABLE(DOM_STORAGE)
-
diff --git a/src/3rdparty/webkit/WebCore/storage/StorageArea.h b/src/3rdparty/webkit/WebCore/storage/StorageArea.h
index 69e7882..6ae10c1 100644
--- a/src/3rdparty/webkit/WebCore/storage/StorageArea.h
+++ b/src/3rdparty/webkit/WebCore/storage/StorageArea.h
@@ -29,66 +29,31 @@
#if ENABLE(DOM_STORAGE)
#include "PlatformString.h"
-#include "SecurityOrigin.h"
-#include "StorageAreaSync.h"
-#include "StorageMap.h"
-#include "StorageSyncManager.h"
-#include <wtf/Forward.h>
#include <wtf/PassRefPtr.h>
-#include <wtf/RefCounted.h>
-#include <wtf/RefPtr.h>
+#include <wtf/Threading.h>
namespace WebCore {
class Frame;
- class Page;
class SecurityOrigin;
- class StorageAreaSync;
- class StorageMap;
class StorageSyncManager;
typedef int ExceptionCode;
enum StorageType { LocalStorage, SessionStorage };
+ // This interface is required for Chromium since these actions need to be proxied between processes.
class StorageArea : public ThreadSafeShared<StorageArea> {
public:
- static PassRefPtr<StorageArea> create(StorageType, SecurityOrigin*, PassRefPtr<StorageSyncManager>);
- PassRefPtr<StorageArea> copy(SecurityOrigin*);
+ virtual ~StorageArea() { }
// The HTML5 DOM Storage API
- unsigned length() const;
- String key(unsigned index, ExceptionCode& ec) const;
- String getItem(const String& key) const;
- void setItem(const String& key, const String& value, ExceptionCode& ec, Frame* sourceFrame);
- void removeItem(const String& key, Frame* sourceFrame);
- void clear(Frame* sourceFrame);
-
- bool contains(const String& key) const;
- void close();
-
- // Could be called from a background thread.
- void importItem(const String& key, const String& value);
- SecurityOrigin* securityOrigin() { return m_securityOrigin.get(); }
-
- protected:
- StorageArea(StorageType, SecurityOrigin*, PassRefPtr<StorageSyncManager>);
- StorageArea(SecurityOrigin*, StorageArea*);
-
- private:
- void blockUntilImportComplete() const;
-
- void dispatchStorageEvent(const String& key, const String& oldValue, const String& newValue, Frame* sourceFrame);
-
- StorageType m_storageType;
- RefPtr<SecurityOrigin> m_securityOrigin;
- RefPtr<StorageMap> m_storageMap;
-
- RefPtr<StorageAreaSync> m_storageAreaSync;
- RefPtr<StorageSyncManager> m_storageSyncManager;
-
-#ifndef NDEBUG
- bool m_isShutdown;
-#endif
+ virtual unsigned length() const = 0;
+ virtual String key(unsigned index, ExceptionCode& ec) const = 0;
+ virtual String getItem(const String& key) const = 0;
+ virtual void setItem(const String& key, const String& value, ExceptionCode& ec, Frame* sourceFrame) = 0;
+ virtual void removeItem(const String& key, Frame* sourceFrame) = 0;
+ virtual void clear(Frame* sourceFrame) = 0;
+ virtual bool contains(const String& key) const = 0;
};
} // namespace WebCore
diff --git a/src/3rdparty/webkit/WebCore/storage/StorageAreaImpl.cpp b/src/3rdparty/webkit/WebCore/storage/StorageAreaImpl.cpp
new file mode 100644
index 0000000..9eb59e3
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/storage/StorageAreaImpl.cpp
@@ -0,0 +1,261 @@
+/*
+ * Copyright (C) 2008 Apple Inc. All Rights Reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+#include "StorageAreaImpl.h"
+
+#if ENABLE(DOM_STORAGE)
+
+#include "DOMWindow.h"
+#include "EventNames.h"
+#include "ExceptionCode.h"
+#include "Frame.h"
+#include "Page.h"
+#include "PageGroup.h"
+#include "SecurityOrigin.h"
+#include "Settings.h"
+#include "StorageEvent.h"
+#include "StorageAreaSync.h"
+#include "StorageMap.h"
+#include "StorageSyncManager.h"
+
+namespace WebCore {
+
+StorageAreaImpl::~StorageAreaImpl()
+{
+}
+
+StorageAreaImpl::StorageAreaImpl(StorageType storageType, SecurityOrigin* origin, PassRefPtr<StorageSyncManager> syncManager)
+ : m_storageType(storageType)
+ , m_securityOrigin(origin)
+ , m_storageMap(StorageMap::create())
+ , m_storageSyncManager(syncManager)
+#ifndef NDEBUG
+ , m_isShutdown(false)
+#endif
+{
+ ASSERT(m_securityOrigin);
+ ASSERT(m_storageMap);
+
+ // FIXME: If there's no backing storage for LocalStorage, the default WebKit behavior should be that of private browsing,
+ // not silently ignoring it. https://bugs.webkit.org/show_bug.cgi?id=25894
+ if (m_storageSyncManager) {
+ m_storageAreaSync = StorageAreaSync::create(m_storageSyncManager, this);
+ ASSERT(m_storageAreaSync);
+ }
+}
+
+PassRefPtr<StorageAreaImpl> StorageAreaImpl::copy(SecurityOrigin* origin)
+{
+ ASSERT(!m_isShutdown);
+ return adoptRef(new StorageAreaImpl(origin, this));
+}
+
+StorageAreaImpl::StorageAreaImpl(SecurityOrigin* origin, StorageAreaImpl* area)
+ : m_storageType(area->m_storageType)
+ , m_securityOrigin(origin)
+ , m_storageMap(area->m_storageMap)
+ , m_storageSyncManager(area->m_storageSyncManager)
+#ifndef NDEBUG
+ , m_isShutdown(area->m_isShutdown)
+#endif
+{
+ ASSERT(m_securityOrigin);
+ ASSERT(m_storageMap);
+ ASSERT(!m_isShutdown);
+}
+
+unsigned StorageAreaImpl::length() const
+{
+ ASSERT(!m_isShutdown);
+ return m_storageMap->length();
+}
+
+String StorageAreaImpl::key(unsigned index, ExceptionCode& ec) const
+{
+ ASSERT(!m_isShutdown);
+ blockUntilImportComplete();
+
+ String key;
+
+ if (!m_storageMap->key(index, key)) {
+ ec = INDEX_SIZE_ERR;
+ return String();
+ }
+
+ return key;
+}
+
+String StorageAreaImpl::getItem(const String& key) const
+{
+ ASSERT(!m_isShutdown);
+ blockUntilImportComplete();
+
+ return m_storageMap->getItem(key);
+}
+
+void StorageAreaImpl::setItem(const String& key, const String& value, ExceptionCode& ec, Frame* frame)
+{
+ ASSERT(!m_isShutdown);
+ ASSERT(!value.isNull());
+ blockUntilImportComplete();
+
+ if (frame->page()->settings()->privateBrowsingEnabled()) {
+ ec = QUOTA_EXCEEDED_ERR;
+ return;
+ }
+
+ // FIXME: For LocalStorage where a disk quota will be enforced, here is where we need to do quota checking.
+ // If we decide to enforce a memory quota for SessionStorage, this is where we'd do that, also.
+ // if (<over quota>) {
+ // ec = QUOTA_EXCEEDED_ERR;
+ // return;
+ // }
+
+ String oldValue;
+ RefPtr<StorageMap> newMap = m_storageMap->setItem(key, value, oldValue);
+
+ if (newMap)
+ m_storageMap = newMap.release();
+
+ // Only notify the client if an item was actually changed
+ if (oldValue != value) {
+ if (m_storageAreaSync)
+ m_storageAreaSync->scheduleItemForSync(key, value);
+ dispatchStorageEvent(key, oldValue, value, frame);
+ }
+}
+
+void StorageAreaImpl::removeItem(const String& key, Frame* frame)
+{
+ ASSERT(!m_isShutdown);
+ blockUntilImportComplete();
+
+ if (frame->page()->settings()->privateBrowsingEnabled())
+ return;
+
+ String oldValue;
+ RefPtr<StorageMap> newMap = m_storageMap->removeItem(key, oldValue);
+ if (newMap)
+ m_storageMap = newMap.release();
+
+ // Only notify the client if an item was actually removed
+ if (!oldValue.isNull()) {
+ if (m_storageAreaSync)
+ m_storageAreaSync->scheduleItemForSync(key, String());
+ dispatchStorageEvent(key, oldValue, String(), frame);
+ }
+}
+
+void StorageAreaImpl::clear(Frame* frame)
+{
+ ASSERT(!m_isShutdown);
+ blockUntilImportComplete();
+
+ if (frame->page()->settings()->privateBrowsingEnabled())
+ return;
+
+ m_storageMap = StorageMap::create();
+
+ if (m_storageAreaSync)
+ m_storageAreaSync->scheduleClear();
+ dispatchStorageEvent(String(), String(), String(), frame);
+}
+
+bool StorageAreaImpl::contains(const String& key) const
+{
+ ASSERT(!m_isShutdown);
+ blockUntilImportComplete();
+
+ return m_storageMap->contains(key);
+}
+
+void StorageAreaImpl::importItem(const String& key, const String& value)
+{
+ ASSERT(!m_isShutdown);
+ m_storageMap->importItem(key, value);
+}
+
+SecurityOrigin* StorageAreaImpl::securityOrigin()
+{
+ return m_securityOrigin.get();
+}
+
+void StorageAreaImpl::close()
+{
+ if (m_storageAreaSync)
+ m_storageAreaSync->scheduleFinalSync();
+
+#ifndef NDEBUG
+ m_isShutdown = true;
+#endif
+}
+
+void StorageAreaImpl::blockUntilImportComplete() const
+{
+ if (m_storageAreaSync)
+ m_storageAreaSync->blockUntilImportComplete();
+}
+
+void StorageAreaImpl::dispatchStorageEvent(const String& key, const String& oldValue, const String& newValue, Frame* sourceFrame)
+{
+ // We need to copy all relevant frames from every page to a vector since sending the event to one frame might mutate the frame tree
+ // of any given page in the group or mutate the page group itself.
+ Vector<RefPtr<Frame> > frames;
+
+ // FIXME: When can this occur?
+ Page* page = sourceFrame->page();
+ if (!page)
+ return;
+
+ if (m_storageType == SessionStorage) {
+ // Send events only to our page.
+ for (Frame* frame = page->mainFrame(); frame; frame = frame->tree()->traverseNext()) {
+ if (frame->document()->securityOrigin()->equal(securityOrigin()))
+ frames.append(frame);
+ }
+
+ for (unsigned i = 0; i < frames.size(); ++i)
+ frames[i]->document()->dispatchWindowEvent(StorageEvent::create(eventNames().storageEvent, key, oldValue, newValue, sourceFrame->document()->documentURI(), sourceFrame->domWindow(), frames[i]->domWindow()->sessionStorage()));
+ } else {
+ // Send events to every page.
+ const HashSet<Page*>& pages = page->group().pages();
+ HashSet<Page*>::const_iterator end = pages.end();
+ for (HashSet<Page*>::const_iterator it = pages.begin(); it != end; ++it) {
+ for (Frame* frame = (*it)->mainFrame(); frame; frame = frame->tree()->traverseNext()) {
+ if (frame->document()->securityOrigin()->equal(securityOrigin()))
+ frames.append(frame);
+ }
+ }
+
+ for (unsigned i = 0; i < frames.size(); ++i)
+ frames[i]->document()->dispatchWindowEvent(StorageEvent::create(eventNames().storageEvent, key, oldValue, newValue, sourceFrame->document()->documentURI(), sourceFrame->domWindow(), frames[i]->domWindow()->localStorage()));
+ }
+}
+
+}
+
+#endif // ENABLE(DOM_STORAGE)
+
diff --git a/src/3rdparty/webkit/WebCore/storage/StorageAreaImpl.h b/src/3rdparty/webkit/WebCore/storage/StorageAreaImpl.h
new file mode 100644
index 0000000..d3f0785
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/storage/StorageAreaImpl.h
@@ -0,0 +1,85 @@
+/*
+ * Copyright (C) 2008 Apple Inc. All Rights Reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef StorageAreaImpl_h
+#define StorageAreaImpl_h
+
+#if ENABLE(DOM_STORAGE)
+
+#include "StorageArea.h"
+
+#include <wtf/RefPtr.h>
+
+namespace WebCore {
+
+ class SecurityOrigin;
+ class StorageMap;
+ class StorageAreaSync;
+
+ class StorageAreaImpl : public StorageArea {
+ public:
+ StorageAreaImpl(StorageType, SecurityOrigin*, PassRefPtr<StorageSyncManager>);
+ virtual ~StorageAreaImpl();
+
+ // The HTML5 DOM Storage API (and contains)
+ virtual unsigned length() const;
+ virtual String key(unsigned index, ExceptionCode& ec) const;
+ virtual String getItem(const String& key) const;
+ virtual void setItem(const String& key, const String& value, ExceptionCode& ec, Frame* sourceFrame);
+ virtual void removeItem(const String& key, Frame* sourceFrame);
+ virtual void clear(Frame* sourceFrame);
+ virtual bool contains(const String& key) const;
+
+ PassRefPtr<StorageAreaImpl> copy(SecurityOrigin*);
+ void close();
+
+ // Could be called from a background thread.
+ void importItem(const String& key, const String& value);
+ SecurityOrigin* securityOrigin();
+
+ private:
+ StorageAreaImpl(SecurityOrigin*, StorageAreaImpl*);
+
+ void blockUntilImportComplete() const;
+
+ void dispatchStorageEvent(const String& key, const String& oldValue, const String& newValue, Frame* sourceFrame);
+
+ StorageType m_storageType;
+ RefPtr<SecurityOrigin> m_securityOrigin;
+ RefPtr<StorageMap> m_storageMap;
+
+ RefPtr<StorageAreaSync> m_storageAreaSync;
+ RefPtr<StorageSyncManager> m_storageSyncManager;
+
+#ifndef NDEBUG
+ bool m_isShutdown;
+#endif
+ };
+
+} // namespace WebCore
+
+#endif // ENABLE(DOM_STORAGE)
+
+#endif // StorageAreaImpl_h
diff --git a/src/3rdparty/webkit/WebCore/storage/StorageAreaSync.cpp b/src/3rdparty/webkit/WebCore/storage/StorageAreaSync.cpp
index 2cef56d..01d2a65 100644
--- a/src/3rdparty/webkit/WebCore/storage/StorageAreaSync.cpp
+++ b/src/3rdparty/webkit/WebCore/storage/StorageAreaSync.cpp
@@ -32,7 +32,8 @@
#include "EventNames.h"
#include "HTMLElement.h"
#include "SQLiteStatement.h"
-#include "StorageArea.h"
+#include "StorageAreaImpl.h"
+#include "StorageSyncManager.h"
#include "SuddenTermination.h"
namespace WebCore {
@@ -41,12 +42,12 @@ namespace WebCore {
// Instead, queue up a batch of items to sync and actually do the sync at the following interval.
static const double StorageSyncInterval = 1.0;
-PassRefPtr<StorageAreaSync> StorageAreaSync::create(PassRefPtr<StorageSyncManager> storageSyncManager, PassRefPtr<StorageArea> storageArea)
+PassRefPtr<StorageAreaSync> StorageAreaSync::create(PassRefPtr<StorageSyncManager> storageSyncManager, PassRefPtr<StorageAreaImpl> storageArea)
{
return adoptRef(new StorageAreaSync(storageSyncManager, storageArea));
}
-StorageAreaSync::StorageAreaSync(PassRefPtr<StorageSyncManager> storageSyncManager, PassRefPtr<StorageArea> storageArea)
+StorageAreaSync::StorageAreaSync(PassRefPtr<StorageSyncManager> storageSyncManager, PassRefPtr<StorageAreaImpl> storageArea)
: m_syncTimer(this, &StorageAreaSync::syncTimerFired)
, m_itemsCleared(false)
, m_finalSyncScheduled(false)
@@ -65,12 +66,10 @@ StorageAreaSync::StorageAreaSync(PassRefPtr<StorageSyncManager> storageSyncManag
m_importComplete = true;
}
-#ifndef NDEBUG
StorageAreaSync::~StorageAreaSync()
{
ASSERT(!m_syncTimer.isActive());
}
-#endif
void StorageAreaSync::scheduleFinalSync()
{
diff --git a/src/3rdparty/webkit/WebCore/storage/StorageAreaSync.h b/src/3rdparty/webkit/WebCore/storage/StorageAreaSync.h
index fa10e63..e436bef 100644
--- a/src/3rdparty/webkit/WebCore/storage/StorageAreaSync.h
+++ b/src/3rdparty/webkit/WebCore/storage/StorageAreaSync.h
@@ -28,26 +28,23 @@
#if ENABLE(DOM_STORAGE)
+#include "PlatformString.h"
#include "SQLiteDatabase.h"
#include "StringHash.h"
-#include "StorageSyncManager.h"
#include "Timer.h"
#include <wtf/HashMap.h>
namespace WebCore {
class Frame;
- class StorageArea;
+ class StorageAreaImpl;
class StorageSyncManager;
class StorageAreaSync : public RefCounted<StorageAreaSync> {
public:
-#ifndef NDEBUG
+ static PassRefPtr<StorageAreaSync> create(PassRefPtr<StorageSyncManager> storageSyncManager, PassRefPtr<StorageAreaImpl> storageArea);
~StorageAreaSync();
-#endif
- static PassRefPtr<StorageAreaSync> create(PassRefPtr<StorageSyncManager> storageSyncManager, PassRefPtr<StorageArea> storageArea);
-
void scheduleFinalSync();
void blockUntilImportComplete() const;
@@ -55,9 +52,8 @@ namespace WebCore {
void scheduleClear();
private:
- StorageAreaSync(PassRefPtr<StorageSyncManager> storageSyncManager, PassRefPtr<StorageArea> storageArea);
+ StorageAreaSync(PassRefPtr<StorageSyncManager> storageSyncManager, PassRefPtr<StorageAreaImpl> storageArea);
-
void dispatchStorageEvent(const String& key, const String& oldValue, const String& newValue, Frame* sourceFrame);
Timer<StorageAreaSync> m_syncTimer;
@@ -66,7 +62,7 @@ namespace WebCore {
bool m_finalSyncScheduled;
- RefPtr<StorageArea> m_storageArea;
+ RefPtr<StorageAreaImpl> m_storageArea;
RefPtr<StorageSyncManager> m_syncManager;
// The database handle will only ever be opened and used on the background thread.
diff --git a/src/3rdparty/webkit/WebCore/storage/StorageEvent.cpp b/src/3rdparty/webkit/WebCore/storage/StorageEvent.cpp
index f2945a9..2e620d5 100644
--- a/src/3rdparty/webkit/WebCore/storage/StorageEvent.cpp
+++ b/src/3rdparty/webkit/WebCore/storage/StorageEvent.cpp
@@ -33,6 +33,20 @@
namespace WebCore {
+PassRefPtr<StorageEvent> StorageEvent::create()
+{
+ return adoptRef(new StorageEvent);
+}
+
+StorageEvent::StorageEvent()
+{
+}
+
+PassRefPtr<StorageEvent> StorageEvent::create(const AtomicString& type, const String& key, const String& oldValue, const String& newValue, const String& uri, PassRefPtr<DOMWindow> source, Storage* storageArea)
+{
+ return adoptRef(new StorageEvent(type, key, oldValue, newValue, uri, source, storageArea));
+}
+
StorageEvent::StorageEvent(const AtomicString& type, const String& key, const String& oldValue, const String& newValue, const String& uri, PassRefPtr<DOMWindow> source, Storage* storageArea)
: Event(type, false, true)
, m_key(key)
diff --git a/src/3rdparty/webkit/WebCore/storage/StorageEvent.h b/src/3rdparty/webkit/WebCore/storage/StorageEvent.h
index ee3d5ad..703fb5a 100644
--- a/src/3rdparty/webkit/WebCore/storage/StorageEvent.h
+++ b/src/3rdparty/webkit/WebCore/storage/StorageEvent.h
@@ -29,22 +29,17 @@
#if ENABLE(DOM_STORAGE)
#include "Event.h"
-#include "Storage.h"
+#include "PlatformString.h"
namespace WebCore {
class DOMWindow;
+ class Storage;
class StorageEvent : public Event {
public:
- static PassRefPtr<StorageEvent> create()
- {
- return adoptRef(new StorageEvent);
- }
- static PassRefPtr<StorageEvent> create(const AtomicString& type, const String& key, const String& oldValue, const String& newValue, const String& uri, PassRefPtr<DOMWindow> source, Storage* storageArea)
- {
- return adoptRef(new StorageEvent(type, key, oldValue, newValue, uri, source, storageArea));
- }
+ static PassRefPtr<StorageEvent> create();
+ static PassRefPtr<StorageEvent> create(const AtomicString& type, const String& key, const String& oldValue, const String& newValue, const String& uri, PassRefPtr<DOMWindow> source, Storage* storageArea);
const String& key() const { return m_key; }
const String& oldValue() const { return m_oldValue; }
@@ -61,7 +56,7 @@ namespace WebCore {
virtual bool isStorageEvent() const { return true; }
private:
- StorageEvent() { }
+ StorageEvent();
StorageEvent(const AtomicString& type, const String& key, const String& oldValue, const String& newValue, const String& uri, PassRefPtr<DOMWindow> source, Storage* storageArea);
String m_key;
diff --git a/src/3rdparty/webkit/WebCore/storage/StorageNamespace.cpp b/src/3rdparty/webkit/WebCore/storage/StorageNamespace.cpp
index d8d85a7..6fcae63 100644
--- a/src/3rdparty/webkit/WebCore/storage/StorageNamespace.cpp
+++ b/src/3rdparty/webkit/WebCore/storage/StorageNamespace.cpp
@@ -26,104 +26,26 @@
#include "config.h"
#include "StorageNamespace.h"
-#if ENABLE(DOM_STORAGE)
-
-#include <wtf/StdLibExtras.h>
+#include "StorageNamespaceImpl.h"
-namespace WebCore {
+#if PLATFORM(CHROMIUM)
+#error "Chromium should not compile this file and instead define its own version of these factories that navigate the multi-process boundry."
+#endif
-typedef HashMap<String, StorageNamespace*> LocalStorageNamespaceMap;
+#if ENABLE(DOM_STORAGE)
-static LocalStorageNamespaceMap& localStorageNamespaceMap()
-{
- DEFINE_STATIC_LOCAL(LocalStorageNamespaceMap, localStorageNamespaceMap, ());
- return localStorageNamespaceMap;
-}
+namespace WebCore {
PassRefPtr<StorageNamespace> StorageNamespace::localStorageNamespace(const String& path)
{
- const String lookupPath = path.isNull() ? String("") : path;
- LocalStorageNamespaceMap::iterator it = localStorageNamespaceMap().find(lookupPath);
- if (it == localStorageNamespaceMap().end()) {
- RefPtr<StorageNamespace> storageNamespace = adoptRef(new StorageNamespace(LocalStorage, lookupPath));
- localStorageNamespaceMap().set(lookupPath, storageNamespace.get());
- return storageNamespace.release();
- }
-
- return it->second;
+ return StorageNamespaceImpl::localStorageNamespace(path);
}
PassRefPtr<StorageNamespace> StorageNamespace::sessionStorageNamespace()
{
- return adoptRef(new StorageNamespace(SessionStorage, String()));
-}
-
-StorageNamespace::StorageNamespace(StorageType storageType, const String& path)
- : m_storageType(storageType)
- , m_path(path.copy()) // FIXME: Is the .copy necessary?
- , m_syncManager(0)
-#ifndef NDEBUG
- , m_isShutdown(false)
-#endif
-{
- if (m_storageType == LocalStorage && !m_path.isEmpty())
- m_syncManager = StorageSyncManager::create(m_path);
-}
-
-StorageNamespace::~StorageNamespace()
-{
- ASSERT(isMainThread());
-
- if (m_storageType == LocalStorage) {
- ASSERT(localStorageNamespaceMap().get(m_path) == this);
- localStorageNamespaceMap().remove(m_path);
- }
-}
-
-PassRefPtr<StorageNamespace> StorageNamespace::copy()
-{
- ASSERT(isMainThread());
- ASSERT(!m_isShutdown);
-
- RefPtr<StorageNamespace> newNamespace = adoptRef(new StorageNamespace(m_storageType, m_path));
-
- StorageAreaMap::iterator end = m_storageAreaMap.end();
- for (StorageAreaMap::iterator i = m_storageAreaMap.begin(); i != end; ++i) {
- RefPtr<StorageArea> areaCopy = i->second->copy(i->first.get());
- newNamespace->m_storageAreaMap.set(i->first, areaCopy.release());
- }
-
- return newNamespace.release();
-}
-
-PassRefPtr<StorageArea> StorageNamespace::storageArea(SecurityOrigin* origin)
-{
- ASSERT(isMainThread());
- ASSERT(!m_isShutdown);
-
- RefPtr<StorageArea> storageArea;
- if (storageArea = m_storageAreaMap.get(origin))
- return storageArea.release();
-
- storageArea = StorageArea::create(m_storageType, origin, m_syncManager);
- m_storageAreaMap.set(origin, storageArea);
- return storageArea.release();
+ return StorageNamespaceImpl::sessionStorageNamespace();
}
-void StorageNamespace::close()
-{
- ASSERT(isMainThread());
- ASSERT(!m_isShutdown);
-
- StorageAreaMap::iterator end = m_storageAreaMap.end();
- for (StorageAreaMap::iterator it = m_storageAreaMap.begin(); it != end; ++it)
- it->second->close();
-
-#ifndef NDEBUG
- m_isShutdown = true;
-#endif
-}
+} // namespace WebCore
#endif // ENABLE(DOM_STORAGE)
-
-} // namespace WebCore
diff --git a/src/3rdparty/webkit/WebCore/storage/StorageNamespace.h b/src/3rdparty/webkit/WebCore/storage/StorageNamespace.h
index 5621b01..edbe339 100644
--- a/src/3rdparty/webkit/WebCore/storage/StorageNamespace.h
+++ b/src/3rdparty/webkit/WebCore/storage/StorageNamespace.h
@@ -28,43 +28,26 @@
#if ENABLE(DOM_STORAGE)
-#include "SecurityOriginHash.h"
-#include "StorageArea.h"
+#include "PlatformString.h"
-#include <wtf/HashMap.h>
+#include <wtf/PassRefPtr.h>
#include <wtf/RefCounted.h>
namespace WebCore {
+ class SecurityOrigin;
class StorageArea;
- class StorageSyncManager;
+ // This interface is required for Chromium since these actions need to be proxied between processes.
class StorageNamespace : public RefCounted<StorageNamespace> {
public:
- ~StorageNamespace();
-
static PassRefPtr<StorageNamespace> localStorageNamespace(const String& path);
static PassRefPtr<StorageNamespace> sessionStorageNamespace();
- PassRefPtr<StorageArea> storageArea(SecurityOrigin*);
- PassRefPtr<StorageNamespace> copy();
- void close();
-
- private:
- StorageNamespace(StorageType, const String& path);
-
- typedef HashMap<RefPtr<SecurityOrigin>, RefPtr<StorageArea>, SecurityOriginHash> StorageAreaMap;
- StorageAreaMap m_storageAreaMap;
-
- StorageType m_storageType;
-
- // Only used if m_storageType == LocalStorage and the path was not "" in our constructor.
- String m_path;
- RefPtr<StorageSyncManager> m_syncManager;
-
-#ifndef NDEBUG
- bool m_isShutdown;
-#endif
+ virtual ~StorageNamespace() { }
+ virtual PassRefPtr<StorageArea> storageArea(SecurityOrigin*) = 0;
+ virtual PassRefPtr<StorageNamespace> copy() = 0;
+ virtual void close() = 0;
};
} // namespace WebCore
diff --git a/src/3rdparty/webkit/WebCore/storage/StorageNamespaceImpl.cpp b/src/3rdparty/webkit/WebCore/storage/StorageNamespaceImpl.cpp
new file mode 100644
index 0000000..8b08a27
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/storage/StorageNamespaceImpl.cpp
@@ -0,0 +1,133 @@
+/*
+ * Copyright (C) 2008 Apple Inc. All Rights Reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+#include "StorageNamespaceImpl.h"
+
+#if ENABLE(DOM_STORAGE)
+
+#include "SecurityOriginHash.h"
+#include "StringHash.h"
+#include "StorageAreaImpl.h"
+#include "StorageSyncManager.h"
+#include <wtf/StdLibExtras.h>
+
+namespace WebCore {
+
+typedef HashMap<String, StorageNamespace*> LocalStorageNamespaceMap;
+
+static LocalStorageNamespaceMap& localStorageNamespaceMap()
+{
+ DEFINE_STATIC_LOCAL(LocalStorageNamespaceMap, localStorageNamespaceMap, ());
+ return localStorageNamespaceMap;
+}
+
+PassRefPtr<StorageNamespace> StorageNamespaceImpl::localStorageNamespace(const String& path)
+{
+ const String lookupPath = path.isNull() ? String("") : path;
+ LocalStorageNamespaceMap::iterator it = localStorageNamespaceMap().find(lookupPath);
+ if (it == localStorageNamespaceMap().end()) {
+ RefPtr<StorageNamespace> storageNamespace = adoptRef(new StorageNamespaceImpl(LocalStorage, lookupPath));
+ localStorageNamespaceMap().set(lookupPath, storageNamespace.get());
+ return storageNamespace.release();
+ }
+
+ return it->second;
+}
+
+PassRefPtr<StorageNamespace> StorageNamespaceImpl::sessionStorageNamespace()
+{
+ return adoptRef(new StorageNamespaceImpl(SessionStorage, String()));
+}
+
+StorageNamespaceImpl::StorageNamespaceImpl(StorageType storageType, const String& path)
+ : m_storageType(storageType)
+ , m_path(path.copy()) // FIXME: Is the .copy necessary?
+ , m_syncManager(0)
+#ifndef NDEBUG
+ , m_isShutdown(false)
+#endif
+{
+ if (m_storageType == LocalStorage && !m_path.isEmpty())
+ m_syncManager = StorageSyncManager::create(m_path);
+}
+
+StorageNamespaceImpl::~StorageNamespaceImpl()
+{
+ ASSERT(isMainThread());
+
+ if (m_storageType == LocalStorage) {
+ ASSERT(localStorageNamespaceMap().get(m_path) == this);
+ localStorageNamespaceMap().remove(m_path);
+ }
+}
+
+PassRefPtr<StorageNamespace> StorageNamespaceImpl::copy()
+{
+ ASSERT(isMainThread());
+ ASSERT(!m_isShutdown);
+
+ StorageNamespaceImpl* newNamespace = new StorageNamespaceImpl(m_storageType, m_path);
+
+ StorageAreaMap::iterator end = m_storageAreaMap.end();
+ for (StorageAreaMap::iterator i = m_storageAreaMap.begin(); i != end; ++i) {
+ RefPtr<StorageAreaImpl> areaCopy = i->second->copy(i->first.get());
+ newNamespace->m_storageAreaMap.set(i->first, areaCopy.release());
+ }
+
+ return adoptRef(newNamespace);
+}
+
+PassRefPtr<StorageArea> StorageNamespaceImpl::storageArea(SecurityOrigin* origin)
+{
+ ASSERT(isMainThread());
+ ASSERT(!m_isShutdown);
+
+ RefPtr<StorageAreaImpl> storageArea;
+ if (storageArea = m_storageAreaMap.get(origin))
+ return storageArea.release();
+
+ storageArea = new StorageAreaImpl(m_storageType, origin, m_syncManager);
+ m_storageAreaMap.set(origin, storageArea);
+ return storageArea.release();
+}
+
+void StorageNamespaceImpl::close()
+{
+ ASSERT(isMainThread());
+ ASSERT(!m_isShutdown);
+
+ StorageAreaMap::iterator end = m_storageAreaMap.end();
+ for (StorageAreaMap::iterator it = m_storageAreaMap.begin(); it != end; ++it)
+ it->second->close();
+
+#ifndef NDEBUG
+ m_isShutdown = true;
+#endif
+}
+
+} // namespace WebCore
+
+#endif // ENABLE(DOM_STORAGE)
diff --git a/src/3rdparty/webkit/WebCore/storage/StorageNamespaceImpl.h b/src/3rdparty/webkit/WebCore/storage/StorageNamespaceImpl.h
new file mode 100644
index 0000000..4ec2f72
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/storage/StorageNamespaceImpl.h
@@ -0,0 +1,74 @@
+/*
+ * Copyright (C) 2008 Apple Inc. All Rights Reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef StorageNamespaceImpl_h
+#define StorageNamespaceImpl_h
+
+#if ENABLE(DOM_STORAGE)
+
+#include "PlatformString.h"
+#include "SecurityOriginHash.h"
+#include "StorageArea.h"
+#include "StorageNamespace.h"
+
+#include <wtf/HashMap.h>
+#include <wtf/RefPtr.h>
+
+namespace WebCore {
+
+ class StorageAreaImpl;
+
+ class StorageNamespaceImpl : public StorageNamespace {
+ public:
+ static PassRefPtr<StorageNamespace> localStorageNamespace(const String& path);
+ static PassRefPtr<StorageNamespace> sessionStorageNamespace();
+
+ virtual ~StorageNamespaceImpl();
+ virtual PassRefPtr<StorageArea> storageArea(SecurityOrigin*);
+ virtual PassRefPtr<StorageNamespace> copy();
+ virtual void close();
+
+ private:
+ StorageNamespaceImpl(StorageType, const String& path);
+
+ typedef HashMap<RefPtr<SecurityOrigin>, RefPtr<StorageAreaImpl>, SecurityOriginHash> StorageAreaMap;
+ StorageAreaMap m_storageAreaMap;
+
+ StorageType m_storageType;
+
+ // Only used if m_storageType == LocalStorage and the path was not "" in our constructor.
+ String m_path;
+ RefPtr<StorageSyncManager> m_syncManager;
+
+#ifndef NDEBUG
+ bool m_isShutdown;
+#endif
+ };
+
+} // namespace WebCore
+
+#endif // ENABLE(DOM_STORAGE)
+
+#endif // StorageNamespaceImpl_h
diff --git a/src/3rdparty/webkit/WebCore/storage/StorageSyncManager.cpp b/src/3rdparty/webkit/WebCore/storage/StorageSyncManager.cpp
index 5dab7a6..a935242 100644
--- a/src/3rdparty/webkit/WebCore/storage/StorageSyncManager.cpp
+++ b/src/3rdparty/webkit/WebCore/storage/StorageSyncManager.cpp
@@ -33,6 +33,8 @@
#include "FileSystem.h"
#include "Frame.h"
#include "FrameTree.h"
+#include "LocalStorageTask.h"
+#include "LocalStorageThread.h"
#include "Page.h"
#include "PageGroup.h"
#include "StorageAreaSync.h"
@@ -53,6 +55,10 @@ StorageSyncManager::StorageSyncManager(const String& path)
m_thread->start();
}
+StorageSyncManager::~StorageSyncManager()
+{
+}
+
String StorageSyncManager::fullDatabaseFilename(SecurityOrigin* origin)
{
ASSERT(origin);
diff --git a/src/3rdparty/webkit/WebCore/storage/StorageSyncManager.h b/src/3rdparty/webkit/WebCore/storage/StorageSyncManager.h
index 83353ed..4c5e821 100644
--- a/src/3rdparty/webkit/WebCore/storage/StorageSyncManager.h
+++ b/src/3rdparty/webkit/WebCore/storage/StorageSyncManager.h
@@ -28,18 +28,22 @@
#if ENABLE(DOM_STORAGE)
-#include "LocalStorageTask.h"
-#include "LocalStorageThread.h"
-#include "StorageArea.h"
-#include "StorageAreaSync.h"
+#include "PlatformString.h"
+#include <wtf/PassRefPtr.h>
+#include <wtf/RefPtr.h>
#include <wtf/Threading.h>
namespace WebCore {
+ class LocalStorageThread;
+ class SecurityOrigin;
+ class StorageAreaSync;
+
class StorageSyncManager : public ThreadSafeShared<StorageSyncManager> {
public:
static PassRefPtr<StorageSyncManager> create(const String& path);
+ ~StorageSyncManager();
bool scheduleImport(PassRefPtr<StorageAreaSync>);
void scheduleSync(PassRefPtr<StorageAreaSync>);
diff --git a/src/3rdparty/webkit/WebCore/svg/GradientAttributes.h b/src/3rdparty/webkit/WebCore/svg/GradientAttributes.h
index 2d7c32a..6b3408e 100644
--- a/src/3rdparty/webkit/WebCore/svg/GradientAttributes.h
+++ b/src/3rdparty/webkit/WebCore/svg/GradientAttributes.h
@@ -24,8 +24,7 @@
#if ENABLE(SVG)
-namespace WebCore
-{
+namespace WebCore {
struct GradientAttributes {
GradientAttributes()
: m_spreadMethod(SpreadMethodPad)
diff --git a/src/3rdparty/webkit/WebCore/svg/LinearGradientAttributes.h b/src/3rdparty/webkit/WebCore/svg/LinearGradientAttributes.h
index e640c03..fc59465 100644
--- a/src/3rdparty/webkit/WebCore/svg/LinearGradientAttributes.h
+++ b/src/3rdparty/webkit/WebCore/svg/LinearGradientAttributes.h
@@ -26,8 +26,7 @@
#if ENABLE(SVG)
-namespace WebCore
-{
+namespace WebCore {
struct LinearGradientAttributes : GradientAttributes {
LinearGradientAttributes()
: m_x1(0.0)
diff --git a/src/3rdparty/webkit/WebCore/svg/PatternAttributes.h b/src/3rdparty/webkit/WebCore/svg/PatternAttributes.h
index 2940baf..b43d87e 100644
--- a/src/3rdparty/webkit/WebCore/svg/PatternAttributes.h
+++ b/src/3rdparty/webkit/WebCore/svg/PatternAttributes.h
@@ -24,8 +24,7 @@
#if ENABLE(SVG)
-namespace WebCore
-{
+namespace WebCore {
struct PatternAttributes {
PatternAttributes()
: m_x()
diff --git a/src/3rdparty/webkit/WebCore/svg/RadialGradientAttributes.h b/src/3rdparty/webkit/WebCore/svg/RadialGradientAttributes.h
index 782ab49..273cd29 100644
--- a/src/3rdparty/webkit/WebCore/svg/RadialGradientAttributes.h
+++ b/src/3rdparty/webkit/WebCore/svg/RadialGradientAttributes.h
@@ -26,8 +26,7 @@
#if ENABLE(SVG)
-namespace WebCore
-{
+namespace WebCore {
struct RadialGradientAttributes : GradientAttributes {
RadialGradientAttributes()
: m_cx(0.5)
diff --git a/src/3rdparty/webkit/WebCore/svg/SVGAElement.cpp b/src/3rdparty/webkit/WebCore/svg/SVGAElement.cpp
index 6fd0274..9919702 100644
--- a/src/3rdparty/webkit/WebCore/svg/SVGAElement.cpp
+++ b/src/3rdparty/webkit/WebCore/svg/SVGAElement.cpp
@@ -138,7 +138,7 @@ void SVGAElement::defaultEventHandler(Event* evt)
target = (getAttribute(XLinkNames::showAttr) == "new") ? "_blank" : "_self";
if (!evt->defaultPrevented()) {
- String url = parseURL(href());
+ String url = deprecatedParseURL(href());
#if ENABLE(SVG_ANIMATION)
if (url.startsWith("#")) {
Element* targetElement = document()->getElementById(url.substring(1));
diff --git a/src/3rdparty/webkit/WebCore/svg/SVGAnimatedPathData.h b/src/3rdparty/webkit/WebCore/svg/SVGAnimatedPathData.h
index 6b3faf6..88b994b 100644
--- a/src/3rdparty/webkit/WebCore/svg/SVGAnimatedPathData.h
+++ b/src/3rdparty/webkit/WebCore/svg/SVGAnimatedPathData.h
@@ -25,12 +25,10 @@
#if ENABLE(SVG)
-namespace WebCore
-{
+namespace WebCore {
class SVGPathSegList;
- class SVGAnimatedPathData
- {
+ class SVGAnimatedPathData {
public:
SVGAnimatedPathData();
virtual ~SVGAnimatedPathData();
diff --git a/src/3rdparty/webkit/WebCore/svg/SVGAnimatedPoints.h b/src/3rdparty/webkit/WebCore/svg/SVGAnimatedPoints.h
index 58323c0..1e61057 100644
--- a/src/3rdparty/webkit/WebCore/svg/SVGAnimatedPoints.h
+++ b/src/3rdparty/webkit/WebCore/svg/SVGAnimatedPoints.h
@@ -25,12 +25,10 @@
#if ENABLE(SVG)
-namespace WebCore
-{
+namespace WebCore {
class SVGPointList;
- class SVGAnimatedPoints
- {
+ class SVGAnimatedPoints {
public:
SVGAnimatedPoints();
virtual ~SVGAnimatedPoints();
diff --git a/src/3rdparty/webkit/WebCore/svg/SVGAnimatedProperty.h b/src/3rdparty/webkit/WebCore/svg/SVGAnimatedProperty.h
index 334a6eb..6803055 100644
--- a/src/3rdparty/webkit/WebCore/svg/SVGAnimatedProperty.h
+++ b/src/3rdparty/webkit/WebCore/svg/SVGAnimatedProperty.h
@@ -66,7 +66,7 @@ namespace WebCore {
void synchronizeProperty(const OwnerElement* ownerElement, const QualifiedName& attributeName, DecoratedType baseValue);
// Abstract base class
- class SVGAnimatedPropertyBase : Noncopyable {
+ class SVGAnimatedPropertyBase : public Noncopyable {
public:
virtual ~SVGAnimatedPropertyBase() { }
virtual void synchronize() const = 0;
diff --git a/src/3rdparty/webkit/WebCore/svg/SVGAnimationElement.h b/src/3rdparty/webkit/WebCore/svg/SVGAnimationElement.h
index 120beb4..d43ed57 100644
--- a/src/3rdparty/webkit/WebCore/svg/SVGAnimationElement.h
+++ b/src/3rdparty/webkit/WebCore/svg/SVGAnimationElement.h
@@ -43,8 +43,7 @@ namespace WebCore {
class SVGAnimationElement : public SVGSMILElement,
public SVGTests,
public SVGExternalResourcesRequired,
- public ElementTimeControl
- {
+ public ElementTimeControl {
public:
SVGAnimationElement(const QualifiedName&, Document*);
virtual ~SVGAnimationElement();
diff --git a/src/3rdparty/webkit/WebCore/svg/SVGClipPathElement.h b/src/3rdparty/webkit/WebCore/svg/SVGClipPathElement.h
index ab7ea68..4043554 100644
--- a/src/3rdparty/webkit/WebCore/svg/SVGClipPathElement.h
+++ b/src/3rdparty/webkit/WebCore/svg/SVGClipPathElement.h
@@ -35,8 +35,7 @@ namespace WebCore {
class SVGClipPathElement : public SVGStyledTransformableElement,
public SVGTests,
public SVGLangSpace,
- public SVGExternalResourcesRequired
- {
+ public SVGExternalResourcesRequired {
public:
SVGClipPathElement(const QualifiedName&, Document*);
virtual ~SVGClipPathElement();
diff --git a/src/3rdparty/webkit/WebCore/svg/SVGColor.cpp b/src/3rdparty/webkit/WebCore/svg/SVGColor.cpp
index 5939b48..f939ef0 100644
--- a/src/3rdparty/webkit/WebCore/svg/SVGColor.cpp
+++ b/src/3rdparty/webkit/WebCore/svg/SVGColor.cpp
@@ -25,6 +25,7 @@
#include "SVGColor.h"
#include "CSSParser.h"
+#include "RGBColor.h"
#include "SVGException.h"
namespace WebCore {
@@ -61,9 +62,9 @@ unsigned short SVGColor::colorType() const
return m_colorType;
}
-unsigned SVGColor::rgbColor() const
+RGBColor* SVGColor::rgbColor() const
{
- return m_color.rgb();
+ return RGBColor::create(m_color.rgb()).releaseRef();
}
void SVGColor::setRGBColor(const String& rgbColor, ExceptionCode& ec)
diff --git a/src/3rdparty/webkit/WebCore/svg/SVGColor.h b/src/3rdparty/webkit/WebCore/svg/SVGColor.h
index e3a4b19..5dfb694 100644
--- a/src/3rdparty/webkit/WebCore/svg/SVGColor.h
+++ b/src/3rdparty/webkit/WebCore/svg/SVGColor.h
@@ -28,6 +28,8 @@
namespace WebCore {
+ class RGBColor;
+
class SVGColor : public CSSValue {
public:
static PassRefPtr<SVGColor> create(const String& color)
@@ -55,7 +57,7 @@ namespace WebCore {
// 'SVGColor' functions
unsigned short colorType() const;
- unsigned rgbColor() const;
+ RGBColor* rgbColor() const;
static Color colorFromRGBColorString(const String&);
diff --git a/src/3rdparty/webkit/WebCore/svg/SVGDocumentExtensions.cpp b/src/3rdparty/webkit/WebCore/svg/SVGDocumentExtensions.cpp
index d7169e1..61645f4 100644
--- a/src/3rdparty/webkit/WebCore/svg/SVGDocumentExtensions.cpp
+++ b/src/3rdparty/webkit/WebCore/svg/SVGDocumentExtensions.cpp
@@ -89,13 +89,13 @@ void SVGDocumentExtensions::unpauseAnimations()
void SVGDocumentExtensions::reportWarning(const String& message)
{
if (Frame* frame = m_doc->frame())
- frame->domWindow()->console()->addMessage(JSMessageSource, ErrorMessageLevel, "Warning: " + message, m_doc->tokenizer() ? m_doc->tokenizer()->lineNumber() : 1, String());
+ frame->domWindow()->console()->addMessage(JSMessageSource, LogMessageType, ErrorMessageLevel, "Warning: " + message, m_doc->tokenizer() ? m_doc->tokenizer()->lineNumber() : 1, String());
}
void SVGDocumentExtensions::reportError(const String& message)
{
if (Frame* frame = m_doc->frame())
- frame->domWindow()->console()->addMessage(JSMessageSource, ErrorMessageLevel, "Error: " + message, m_doc->tokenizer() ? m_doc->tokenizer()->lineNumber() : 1, String());
+ frame->domWindow()->console()->addMessage(JSMessageSource, LogMessageType, ErrorMessageLevel, "Error: " + message, m_doc->tokenizer() ? m_doc->tokenizer()->lineNumber() : 1, String());
}
void SVGDocumentExtensions::addPendingResource(const AtomicString& id, SVGStyledElement* obj)
diff --git a/src/3rdparty/webkit/WebCore/svg/SVGElementInstance.h b/src/3rdparty/webkit/WebCore/svg/SVGElementInstance.h
index 7c56792..c477718 100644
--- a/src/3rdparty/webkit/WebCore/svg/SVGElementInstance.h
+++ b/src/3rdparty/webkit/WebCore/svg/SVGElementInstance.h
@@ -44,8 +44,7 @@ namespace WebCore {
// SVGElementInstance mimics Node, but without providing all its functionality
class SVGElementInstance : public TreeShared<SVGElementInstance>,
- public EventTarget
- {
+ public EventTarget {
public:
SVGElementInstance(SVGUseElement*, SVGElement* originalElement);
virtual ~SVGElementInstance();
diff --git a/src/3rdparty/webkit/WebCore/svg/SVGElementInstance.idl b/src/3rdparty/webkit/WebCore/svg/SVGElementInstance.idl
index 3d88178..cd4213c 100644
--- a/src/3rdparty/webkit/WebCore/svg/SVGElementInstance.idl
+++ b/src/3rdparty/webkit/WebCore/svg/SVGElementInstance.idl
@@ -31,7 +31,7 @@ module svg {
CustomListeners,
CustomMarkFunction,
CustomPushEventHandlerScope,
- GenerateToJS,
+ CustomToJS,
GenerateNativeConverter
] SVGElementInstance
#if defined(LANGUAGE_OBJECTIVE_C) && LANGUAGE_OBJECTIVE_C
diff --git a/src/3rdparty/webkit/WebCore/svg/SVGFEBlendElement.cpp b/src/3rdparty/webkit/WebCore/svg/SVGFEBlendElement.cpp
index f78412c..0497ea9 100644
--- a/src/3rdparty/webkit/WebCore/svg/SVGFEBlendElement.cpp
+++ b/src/3rdparty/webkit/WebCore/svg/SVGFEBlendElement.cpp
@@ -69,7 +69,7 @@ bool SVGFEBlendElement::build(SVGResourceFilter* filterResource)
FilterEffect* input1 = filterResource->builder()->getEffectById(in1());
FilterEffect* input2 = filterResource->builder()->getEffectById(in2());
- if(!input1 || !input2)
+ if (!input1 || !input2)
return false;
RefPtr<FilterEffect> effect = FEBlend::create(input1, input2, static_cast<BlendModeType>(mode()));
diff --git a/src/3rdparty/webkit/WebCore/svg/SVGFEBlendElement.h b/src/3rdparty/webkit/WebCore/svg/SVGFEBlendElement.h
index 70e5e06..bed649f 100644
--- a/src/3rdparty/webkit/WebCore/svg/SVGFEBlendElement.h
+++ b/src/3rdparty/webkit/WebCore/svg/SVGFEBlendElement.h
@@ -27,10 +27,8 @@
#include "FEBlend.h"
#include "SVGFilterPrimitiveStandardAttributes.h"
-namespace WebCore
-{
- class SVGFEBlendElement : public SVGFilterPrimitiveStandardAttributes
- {
+namespace WebCore {
+ class SVGFEBlendElement : public SVGFilterPrimitiveStandardAttributes {
public:
SVGFEBlendElement(const QualifiedName&, Document*);
virtual ~SVGFEBlendElement();
diff --git a/src/3rdparty/webkit/WebCore/svg/SVGFEColorMatrixElement.cpp b/src/3rdparty/webkit/WebCore/svg/SVGFEColorMatrixElement.cpp
index 660f000..c2d605b 100644
--- a/src/3rdparty/webkit/WebCore/svg/SVGFEColorMatrixElement.cpp
+++ b/src/3rdparty/webkit/WebCore/svg/SVGFEColorMatrixElement.cpp
@@ -69,7 +69,7 @@ bool SVGFEColorMatrixElement::build(SVGResourceFilter* filterResource)
{
FilterEffect* input1 = filterResource->builder()->getEffectById(in1());
- if(!input1)
+ if (!input1)
return false;
Vector<float> _values;
diff --git a/src/3rdparty/webkit/WebCore/svg/SVGFEComponentTransferElement.cpp b/src/3rdparty/webkit/WebCore/svg/SVGFEComponentTransferElement.cpp
index cad60dc..691d5cd 100644
--- a/src/3rdparty/webkit/WebCore/svg/SVGFEComponentTransferElement.cpp
+++ b/src/3rdparty/webkit/WebCore/svg/SVGFEComponentTransferElement.cpp
@@ -60,7 +60,7 @@ bool SVGFEComponentTransferElement::build(SVGResourceFilter* filterResource)
{
FilterEffect* input1 = filterResource->builder()->getEffectById(in1());
- if(!input1)
+ if (!input1)
return false;
ComponentTransferFunction red;
diff --git a/src/3rdparty/webkit/WebCore/svg/SVGFECompositeElement.cpp b/src/3rdparty/webkit/WebCore/svg/SVGFECompositeElement.cpp
index 2205243..6eec6ea 100644
--- a/src/3rdparty/webkit/WebCore/svg/SVGFECompositeElement.cpp
+++ b/src/3rdparty/webkit/WebCore/svg/SVGFECompositeElement.cpp
@@ -85,7 +85,7 @@ bool SVGFECompositeElement::build(SVGResourceFilter* filterResource)
FilterEffect* input1 = filterResource->builder()->getEffectById(in1());
FilterEffect* input2 = filterResource->builder()->getEffectById(in2());
- if(!input1 || !input2)
+ if (!input1 || !input2)
return false;
RefPtr<FilterEffect> effect = FEComposite::create(input1, input2, static_cast<CompositeOperationType>(_operator()),
diff --git a/src/3rdparty/webkit/WebCore/svg/SVGFEDiffuseLightingElement.cpp b/src/3rdparty/webkit/WebCore/svg/SVGFEDiffuseLightingElement.cpp
index 00ff55a..edbd852 100644
--- a/src/3rdparty/webkit/WebCore/svg/SVGFEDiffuseLightingElement.cpp
+++ b/src/3rdparty/webkit/WebCore/svg/SVGFEDiffuseLightingElement.cpp
@@ -75,7 +75,7 @@ bool SVGFEDiffuseLightingElement::build(SVGResourceFilter* filterResource)
{
FilterEffect* input1 = filterResource->builder()->getEffectById(in1());
- if(!input1)
+ if (!input1)
return false;
RefPtr<RenderStyle> filterStyle = styleForRenderer();
diff --git a/src/3rdparty/webkit/WebCore/svg/SVGFEDisplacementMapElement.cpp b/src/3rdparty/webkit/WebCore/svg/SVGFEDisplacementMapElement.cpp
index 8ac668c..adf02fe 100644
--- a/src/3rdparty/webkit/WebCore/svg/SVGFEDisplacementMapElement.cpp
+++ b/src/3rdparty/webkit/WebCore/svg/SVGFEDisplacementMapElement.cpp
@@ -77,7 +77,7 @@ bool SVGFEDisplacementMapElement::build(SVGResourceFilter* filterResource)
FilterEffect* input1 = filterResource->builder()->getEffectById(in1());
FilterEffect* input2 = filterResource->builder()->getEffectById(in2());
- if(!input1 || !input2)
+ if (!input1 || !input2)
return false;
diff --git a/src/3rdparty/webkit/WebCore/svg/SVGFEDistantLightElement.h b/src/3rdparty/webkit/WebCore/svg/SVGFEDistantLightElement.h
index e340549..95f45c8 100644
--- a/src/3rdparty/webkit/WebCore/svg/SVGFEDistantLightElement.h
+++ b/src/3rdparty/webkit/WebCore/svg/SVGFEDistantLightElement.h
@@ -23,10 +23,8 @@
#if ENABLE(SVG) && ENABLE(FILTERS)
#include "SVGFELightElement.h"
-namespace WebCore
-{
- class SVGFEDistantLightElement : public SVGFELightElement
- {
+namespace WebCore {
+ class SVGFEDistantLightElement : public SVGFELightElement {
public:
SVGFEDistantLightElement(const QualifiedName&, Document*);
virtual ~SVGFEDistantLightElement();
diff --git a/src/3rdparty/webkit/WebCore/svg/SVGFEFloodElement.cpp b/src/3rdparty/webkit/WebCore/svg/SVGFEFloodElement.cpp
index e12b4e1..ae5ce94 100644
--- a/src/3rdparty/webkit/WebCore/svg/SVGFEFloodElement.cpp
+++ b/src/3rdparty/webkit/WebCore/svg/SVGFEFloodElement.cpp
@@ -55,7 +55,7 @@ bool SVGFEFloodElement::build(SVGResourceFilter* filterResource)
{
FilterEffect* input = filterResource->builder()->getEffectById(in1());
- if(!input)
+ if (!input)
return false;
RefPtr<RenderStyle> filterStyle = styleForRenderer();
diff --git a/src/3rdparty/webkit/WebCore/svg/SVGFEFloodElement.h b/src/3rdparty/webkit/WebCore/svg/SVGFEFloodElement.h
index 4a4cffc..ca4e18b 100644
--- a/src/3rdparty/webkit/WebCore/svg/SVGFEFloodElement.h
+++ b/src/3rdparty/webkit/WebCore/svg/SVGFEFloodElement.h
@@ -27,10 +27,8 @@
#include "SVGFEFlood.h"
#include "SVGFilterPrimitiveStandardAttributes.h"
-namespace WebCore
-{
- class SVGFEFloodElement : public SVGFilterPrimitiveStandardAttributes
- {
+namespace WebCore {
+ class SVGFEFloodElement : public SVGFilterPrimitiveStandardAttributes {
public:
SVGFEFloodElement(const QualifiedName&, Document*);
virtual ~SVGFEFloodElement();
diff --git a/src/3rdparty/webkit/WebCore/svg/SVGFEFuncAElement.h b/src/3rdparty/webkit/WebCore/svg/SVGFEFuncAElement.h
index 2c24039..8ec6b1c 100644
--- a/src/3rdparty/webkit/WebCore/svg/SVGFEFuncAElement.h
+++ b/src/3rdparty/webkit/WebCore/svg/SVGFEFuncAElement.h
@@ -26,10 +26,8 @@
#if ENABLE(SVG) && ENABLE(FILTERS)
#include "SVGComponentTransferFunctionElement.h"
-namespace WebCore
-{
- class SVGFEFuncAElement : public SVGComponentTransferFunctionElement
- {
+namespace WebCore {
+ class SVGFEFuncAElement : public SVGComponentTransferFunctionElement {
public:
SVGFEFuncAElement(const QualifiedName&, Document*);
virtual ~SVGFEFuncAElement();
diff --git a/src/3rdparty/webkit/WebCore/svg/SVGFEFuncBElement.h b/src/3rdparty/webkit/WebCore/svg/SVGFEFuncBElement.h
index 1eb0889..5d86f87 100644
--- a/src/3rdparty/webkit/WebCore/svg/SVGFEFuncBElement.h
+++ b/src/3rdparty/webkit/WebCore/svg/SVGFEFuncBElement.h
@@ -26,10 +26,8 @@
#if ENABLE(SVG) && ENABLE(FILTERS)
#include "SVGComponentTransferFunctionElement.h"
-namespace WebCore
-{
- class SVGFEFuncBElement : public SVGComponentTransferFunctionElement
- {
+namespace WebCore {
+ class SVGFEFuncBElement : public SVGComponentTransferFunctionElement {
public:
SVGFEFuncBElement(const QualifiedName&, Document*);
virtual ~SVGFEFuncBElement();
diff --git a/src/3rdparty/webkit/WebCore/svg/SVGFEFuncGElement.h b/src/3rdparty/webkit/WebCore/svg/SVGFEFuncGElement.h
index 973360e..9f5d3d7 100644
--- a/src/3rdparty/webkit/WebCore/svg/SVGFEFuncGElement.h
+++ b/src/3rdparty/webkit/WebCore/svg/SVGFEFuncGElement.h
@@ -26,10 +26,8 @@
#if ENABLE(SVG) && ENABLE(FILTERS)
#include "SVGComponentTransferFunctionElement.h"
-namespace WebCore
-{
- class SVGFEFuncGElement : public SVGComponentTransferFunctionElement
- {
+namespace WebCore {
+ class SVGFEFuncGElement : public SVGComponentTransferFunctionElement {
public:
SVGFEFuncGElement(const QualifiedName&, Document*);
virtual ~SVGFEFuncGElement();
diff --git a/src/3rdparty/webkit/WebCore/svg/SVGFEFuncRElement.h b/src/3rdparty/webkit/WebCore/svg/SVGFEFuncRElement.h
index 3553954..0a0d115 100644
--- a/src/3rdparty/webkit/WebCore/svg/SVGFEFuncRElement.h
+++ b/src/3rdparty/webkit/WebCore/svg/SVGFEFuncRElement.h
@@ -26,10 +26,8 @@
#if ENABLE(SVG) && ENABLE(FILTERS)
#include "SVGComponentTransferFunctionElement.h"
-namespace WebCore
-{
- class SVGFEFuncRElement : public SVGComponentTransferFunctionElement
- {
+namespace WebCore {
+ class SVGFEFuncRElement : public SVGComponentTransferFunctionElement {
public:
SVGFEFuncRElement(const QualifiedName&, Document*);
virtual ~SVGFEFuncRElement();
diff --git a/src/3rdparty/webkit/WebCore/svg/SVGFEGaussianBlurElement.cpp b/src/3rdparty/webkit/WebCore/svg/SVGFEGaussianBlurElement.cpp
index be3554f..4cddb5a 100644
--- a/src/3rdparty/webkit/WebCore/svg/SVGFEGaussianBlurElement.cpp
+++ b/src/3rdparty/webkit/WebCore/svg/SVGFEGaussianBlurElement.cpp
@@ -71,7 +71,7 @@ bool SVGFEGaussianBlurElement::build(SVGResourceFilter* filterResource)
{
FilterEffect* input1 = filterResource->builder()->getEffectById(in1());
- if(!input1)
+ if (!input1)
return false;
RefPtr<FilterEffect> effect = FEGaussianBlur::create(input1, stdDeviationX(), stdDeviationY());
diff --git a/src/3rdparty/webkit/WebCore/svg/SVGFEImageElement.cpp b/src/3rdparty/webkit/WebCore/svg/SVGFEImageElement.cpp
index ae69e0d..8122960 100644
--- a/src/3rdparty/webkit/WebCore/svg/SVGFEImageElement.cpp
+++ b/src/3rdparty/webkit/WebCore/svg/SVGFEImageElement.cpp
@@ -86,7 +86,7 @@ void SVGFEImageElement::notifyFinished(CachedResource*)
bool SVGFEImageElement::build(SVGResourceFilter* filterResource)
{
- if(!m_cachedImage)
+ if (!m_cachedImage)
return false;
RefPtr<FilterEffect> effect = FEImage::create(m_cachedImage.get());
diff --git a/src/3rdparty/webkit/WebCore/svg/SVGFEMergeElement.cpp b/src/3rdparty/webkit/WebCore/svg/SVGFEMergeElement.cpp
index 0640066..cb3a781 100644
--- a/src/3rdparty/webkit/WebCore/svg/SVGFEMergeElement.cpp
+++ b/src/3rdparty/webkit/WebCore/svg/SVGFEMergeElement.cpp
@@ -49,7 +49,7 @@ bool SVGFEMergeElement::build(SVGResourceFilter* filterResource)
}
}
- if(mergeInputs.isEmpty())
+ if (mergeInputs.isEmpty())
return false;
RefPtr<FilterEffect> effect = FEMerge::create(mergeInputs);
diff --git a/src/3rdparty/webkit/WebCore/svg/SVGFEOffsetElement.cpp b/src/3rdparty/webkit/WebCore/svg/SVGFEOffsetElement.cpp
index c7e4e77..945a9da 100644
--- a/src/3rdparty/webkit/WebCore/svg/SVGFEOffsetElement.cpp
+++ b/src/3rdparty/webkit/WebCore/svg/SVGFEOffsetElement.cpp
@@ -60,7 +60,7 @@ bool SVGFEOffsetElement::build(SVGResourceFilter* filterResource)
{
FilterEffect* input1 = filterResource->builder()->getEffectById(in1());
- if(!input1)
+ if (!input1)
return false;
RefPtr<FilterEffect> effect = FEOffset::create(input1, dx(), dy());
diff --git a/src/3rdparty/webkit/WebCore/svg/SVGFEPointLightElement.h b/src/3rdparty/webkit/WebCore/svg/SVGFEPointLightElement.h
index edb9f9d..b39fffa 100644
--- a/src/3rdparty/webkit/WebCore/svg/SVGFEPointLightElement.h
+++ b/src/3rdparty/webkit/WebCore/svg/SVGFEPointLightElement.h
@@ -23,10 +23,8 @@
#if ENABLE(SVG) && ENABLE(FILTERS)
#include "SVGFELightElement.h"
-namespace WebCore
-{
- class SVGFEPointLightElement : public SVGFELightElement
- {
+namespace WebCore {
+ class SVGFEPointLightElement : public SVGFELightElement {
public:
SVGFEPointLightElement(const QualifiedName&, Document*);
virtual ~SVGFEPointLightElement();
diff --git a/src/3rdparty/webkit/WebCore/svg/SVGFESpecularLightingElement.cpp b/src/3rdparty/webkit/WebCore/svg/SVGFESpecularLightingElement.cpp
index 36dd453..7afa4cc 100644
--- a/src/3rdparty/webkit/WebCore/svg/SVGFESpecularLightingElement.cpp
+++ b/src/3rdparty/webkit/WebCore/svg/SVGFESpecularLightingElement.cpp
@@ -90,7 +90,7 @@ bool SVGFESpecularLightingElement::build(SVGResourceFilter* filterResource)
{
FilterEffect* input1 = filterResource->builder()->getEffectById(in1());
- if(!input1)
+ if (!input1)
return false;
RefPtr<RenderStyle> filterStyle = styleForRenderer();
diff --git a/src/3rdparty/webkit/WebCore/svg/SVGFESpotLightElement.h b/src/3rdparty/webkit/WebCore/svg/SVGFESpotLightElement.h
index 629e51a..440c664 100644
--- a/src/3rdparty/webkit/WebCore/svg/SVGFESpotLightElement.h
+++ b/src/3rdparty/webkit/WebCore/svg/SVGFESpotLightElement.h
@@ -23,10 +23,8 @@
#if ENABLE(SVG) && ENABLE(FILTERS)
#include "SVGFELightElement.h"
-namespace WebCore
-{
- class SVGFESpotLightElement : public SVGFELightElement
- {
+namespace WebCore {
+ class SVGFESpotLightElement : public SVGFELightElement {
public:
SVGFESpotLightElement(const QualifiedName&, Document*);
virtual ~SVGFESpotLightElement();
diff --git a/src/3rdparty/webkit/WebCore/svg/SVGFETileElement.cpp b/src/3rdparty/webkit/WebCore/svg/SVGFETileElement.cpp
index d5828eb..14af25f 100644
--- a/src/3rdparty/webkit/WebCore/svg/SVGFETileElement.cpp
+++ b/src/3rdparty/webkit/WebCore/svg/SVGFETileElement.cpp
@@ -55,7 +55,7 @@ bool SVGFETileElement::build(SVGResourceFilter* filterResource)
{
FilterEffect* input1 = filterResource->builder()->getEffectById(in1());
- if(!input1)
+ if (!input1)
return false;
RefPtr<FilterEffect> effect = FETile::create(input1);
diff --git a/src/3rdparty/webkit/WebCore/svg/SVGImageLoader.cpp b/src/3rdparty/webkit/WebCore/svg/SVGImageLoader.cpp
index 9333f75..f8380f5 100644
--- a/src/3rdparty/webkit/WebCore/svg/SVGImageLoader.cpp
+++ b/src/3rdparty/webkit/WebCore/svg/SVGImageLoader.cpp
@@ -53,7 +53,7 @@ void SVGImageLoader::dispatchLoadEvent()
String SVGImageLoader::sourceURI(const AtomicString& attr) const
{
- return parseURL(KURL(element()->baseURI(), attr).string());
+ return deprecatedParseURL(KURL(element()->baseURI(), attr).string());
}
}
diff --git a/src/3rdparty/webkit/WebCore/svg/SVGLineElement.cpp b/src/3rdparty/webkit/WebCore/svg/SVGLineElement.cpp
index 17c110c..cb31178 100644
--- a/src/3rdparty/webkit/WebCore/svg/SVGLineElement.cpp
+++ b/src/3rdparty/webkit/WebCore/svg/SVGLineElement.cpp
@@ -59,8 +59,7 @@ void SVGLineElement::parseMappedAttribute(MappedAttribute* attr)
setX2BaseValue(SVGLength(LengthModeWidth, attr->value()));
else if (attr->name() == SVGNames::y2Attr)
setY2BaseValue(SVGLength(LengthModeHeight, attr->value()));
- else
- {
+ else {
if (SVGTests::parseMappedAttribute(attr))
return;
if (SVGLangSpace::parseMappedAttribute(attr))
diff --git a/src/3rdparty/webkit/WebCore/svg/SVGList.h b/src/3rdparty/webkit/WebCore/svg/SVGList.h
index 5381598..c04c200 100644
--- a/src/3rdparty/webkit/WebCore/svg/SVGList.h
+++ b/src/3rdparty/webkit/WebCore/svg/SVGList.h
@@ -165,8 +165,7 @@ namespace WebCore {
};
template<typename Item>
- class SVGPODList : public SVGList<RefPtr<SVGPODListItem<Item> > >
- {
+ class SVGPODList : public SVGList<RefPtr<SVGPODListItem<Item> > > {
public:
Item initialize(Item newItem, ExceptionCode& ec)
{
diff --git a/src/3rdparty/webkit/WebCore/svg/SVGListTraits.h b/src/3rdparty/webkit/WebCore/svg/SVGListTraits.h
index b028ad5..d96bc67 100644
--- a/src/3rdparty/webkit/WebCore/svg/SVGListTraits.h
+++ b/src/3rdparty/webkit/WebCore/svg/SVGListTraits.h
@@ -34,14 +34,12 @@ namespace WebCore {
struct SVGListTraits { };
template<typename Item>
- struct SVGListTraits<true, Item>
- {
+ struct SVGListTraits<true, Item> {
static Item nullItem() { return Item(); }
};
template<>
- struct SVGListTraits<false, double>
- {
+ struct SVGListTraits<false, double> {
static double nullItem() { return 0.0; }
};
diff --git a/src/3rdparty/webkit/WebCore/svg/SVGMPathElement.h b/src/3rdparty/webkit/WebCore/svg/SVGMPathElement.h
index 1e84cc7..988cead 100644
--- a/src/3rdparty/webkit/WebCore/svg/SVGMPathElement.h
+++ b/src/3rdparty/webkit/WebCore/svg/SVGMPathElement.h
@@ -32,8 +32,7 @@ namespace WebCore {
class SVGMPathElement : public SVGElement,
SVGURIReference,
- SVGExternalResourcesRequired
- {
+ SVGExternalResourcesRequired {
public:
SVGMPathElement(const QualifiedName&, Document*);
virtual ~SVGMPathElement();
diff --git a/src/3rdparty/webkit/WebCore/svg/SVGMetadataElement.h b/src/3rdparty/webkit/WebCore/svg/SVGMetadataElement.h
index 4bd87d6..63d0aae 100644
--- a/src/3rdparty/webkit/WebCore/svg/SVGMetadataElement.h
+++ b/src/3rdparty/webkit/WebCore/svg/SVGMetadataElement.h
@@ -26,10 +26,8 @@
#include "SVGElement.h"
-namespace WebCore
-{
- class SVGMetadataElement : public SVGElement
- {
+namespace WebCore {
+ class SVGMetadataElement : public SVGElement {
public:
SVGMetadataElement(const QualifiedName&, Document*);
virtual ~SVGMetadataElement();
diff --git a/src/3rdparty/webkit/WebCore/svg/SVGParserUtilities.cpp b/src/3rdparty/webkit/WebCore/svg/SVGParserUtilities.cpp
index 7d93f59..6f696e6 100644
--- a/src/3rdparty/webkit/WebCore/svg/SVGParserUtilities.cpp
+++ b/src/3rdparty/webkit/WebCore/svg/SVGParserUtilities.cpp
@@ -246,7 +246,7 @@ bool SVGPathParser::parseSVG(const String& s, bool process)
bool relative = false;
- switch(command)
+ switch (command)
{
case 'm':
relative = true;
@@ -625,7 +625,7 @@ void SVGPathParser::calculateArc(bool relative, double& curx, double& cury, doub
n_segs = (int) (int) ceil(fabs(th_arc / (piDouble * 0.5 + 0.001)));
- for(i = 0; i < n_segs; i++) {
+ for (i = 0; i < n_segs; i++) {
double sin_th, cos_th;
double a00, a01, a10, a11;
double x1, y1, x2, y2, x3, y3;
diff --git a/src/3rdparty/webkit/WebCore/svg/SVGPathElement.h b/src/3rdparty/webkit/WebCore/svg/SVGPathElement.h
index a39e628..362a85b 100644
--- a/src/3rdparty/webkit/WebCore/svg/SVGPathElement.h
+++ b/src/3rdparty/webkit/WebCore/svg/SVGPathElement.h
@@ -56,8 +56,7 @@ namespace WebCore {
public SVGTests,
public SVGLangSpace,
public SVGExternalResourcesRequired,
- public SVGAnimatedPathData
- {
+ public SVGAnimatedPathData {
public:
SVGPathElement(const QualifiedName&, Document*);
virtual ~SVGPathElement();
diff --git a/src/3rdparty/webkit/WebCore/svg/SVGPathSeg.idl b/src/3rdparty/webkit/WebCore/svg/SVGPathSeg.idl
index 597b01d..6754d2a 100644
--- a/src/3rdparty/webkit/WebCore/svg/SVGPathSeg.idl
+++ b/src/3rdparty/webkit/WebCore/svg/SVGPathSeg.idl
@@ -26,7 +26,7 @@
module svg {
- interface [Conditional=SVG, GenerateConstructor, Polymorphic] SVGPathSeg {
+ interface [Conditional=SVG, CustomToJS, GenerateConstructor, Polymorphic] SVGPathSeg {
// Path Segment Types
const unsigned short PATHSEG_UNKNOWN = 0;
const unsigned short PATHSEG_CLOSEPATH = 1;
diff --git a/src/3rdparty/webkit/WebCore/svg/SVGPathSegClosePath.h b/src/3rdparty/webkit/WebCore/svg/SVGPathSegClosePath.h
index eb74dea..190af9e 100644
--- a/src/3rdparty/webkit/WebCore/svg/SVGPathSegClosePath.h
+++ b/src/3rdparty/webkit/WebCore/svg/SVGPathSegClosePath.h
@@ -27,10 +27,8 @@
#include "SVGPathSeg.h"
-namespace WebCore
-{
- class SVGPathSegClosePath : public SVGPathSeg
- {
+namespace WebCore {
+ class SVGPathSegClosePath : public SVGPathSeg {
public:
static PassRefPtr<SVGPathSegClosePath> create() { return adoptRef(new SVGPathSegClosePath); }
virtual ~SVGPathSegClosePath();
diff --git a/src/3rdparty/webkit/WebCore/svg/SVGPolyElement.h b/src/3rdparty/webkit/WebCore/svg/SVGPolyElement.h
index 0de9f1b..8dd16cd 100644
--- a/src/3rdparty/webkit/WebCore/svg/SVGPolyElement.h
+++ b/src/3rdparty/webkit/WebCore/svg/SVGPolyElement.h
@@ -58,7 +58,6 @@ namespace WebCore {
virtual const SVGElement* contextElement() const { return this; }
private:
- bool m_ignoreAttributeChanges : 1;
mutable RefPtr<SVGPointList> m_points;
};
diff --git a/src/3rdparty/webkit/WebCore/svg/SVGSVGElement.h b/src/3rdparty/webkit/WebCore/svg/SVGSVGElement.h
index fe8575b..f92ed72 100644
--- a/src/3rdparty/webkit/WebCore/svg/SVGSVGElement.h
+++ b/src/3rdparty/webkit/WebCore/svg/SVGSVGElement.h
@@ -33,8 +33,7 @@
#include "SVGTests.h"
#include "SVGZoomAndPan.h"
-namespace WebCore
-{
+namespace WebCore {
class SVGAngle;
class SVGLength;
class SVGTransform;
@@ -46,8 +45,7 @@ namespace WebCore
public SVGLangSpace,
public SVGExternalResourcesRequired,
public SVGFitToViewBox,
- public SVGZoomAndPan
- {
+ public SVGZoomAndPan {
public:
SVGSVGElement(const QualifiedName&, Document*);
virtual ~SVGSVGElement();
diff --git a/src/3rdparty/webkit/WebCore/svg/SVGSetElement.h b/src/3rdparty/webkit/WebCore/svg/SVGSetElement.h
index d47e003..fda6919 100644
--- a/src/3rdparty/webkit/WebCore/svg/SVGSetElement.h
+++ b/src/3rdparty/webkit/WebCore/svg/SVGSetElement.h
@@ -26,11 +26,9 @@
#include "SVGAnimateElement.h"
-namespace WebCore
-{
+namespace WebCore {
// SVGAnimateElement implements superset of the functionality.
- class SVGSetElement : public SVGAnimateElement
- {
+ class SVGSetElement : public SVGAnimateElement {
public:
SVGSetElement(const QualifiedName&, Document*);
};
diff --git a/src/3rdparty/webkit/WebCore/svg/SVGSwitchElement.h b/src/3rdparty/webkit/WebCore/svg/SVGSwitchElement.h
index 82153d9..a2be835 100644
--- a/src/3rdparty/webkit/WebCore/svg/SVGSwitchElement.h
+++ b/src/3rdparty/webkit/WebCore/svg/SVGSwitchElement.h
@@ -29,13 +29,11 @@
#include "SVGStyledTransformableElement.h"
#include "SVGTests.h"
-namespace WebCore
-{
+namespace WebCore {
class SVGSwitchElement : public SVGStyledTransformableElement,
public SVGTests,
public SVGLangSpace,
- public SVGExternalResourcesRequired
- {
+ public SVGExternalResourcesRequired {
public:
SVGSwitchElement(const QualifiedName&, Document*);
virtual ~SVGSwitchElement();
diff --git a/src/3rdparty/webkit/WebCore/svg/SVGTextPathElement.cpp b/src/3rdparty/webkit/WebCore/svg/SVGTextPathElement.cpp
index 0d8560a..54a4aa2 100644
--- a/src/3rdparty/webkit/WebCore/svg/SVGTextPathElement.cpp
+++ b/src/3rdparty/webkit/WebCore/svg/SVGTextPathElement.cpp
@@ -57,7 +57,7 @@ void SVGTextPathElement::parseMappedAttribute(MappedAttribute* attr)
else if (attr->name() == SVGNames::methodAttr) {
if (value == "align")
setSpacingBaseValue(SVG_TEXTPATH_METHODTYPE_ALIGN);
- else if(value == "stretch")
+ else if (value == "stretch")
setSpacingBaseValue(SVG_TEXTPATH_METHODTYPE_STRETCH);
} else if (attr->name() == SVGNames::spacingAttr) {
if (value == "auto")
diff --git a/src/3rdparty/webkit/WebCore/svg/SVGTextPathElement.h b/src/3rdparty/webkit/WebCore/svg/SVGTextPathElement.h
index e1dd938..4e8899a 100644
--- a/src/3rdparty/webkit/WebCore/svg/SVGTextPathElement.h
+++ b/src/3rdparty/webkit/WebCore/svg/SVGTextPathElement.h
@@ -27,8 +27,7 @@
#include "SVGURIReference.h"
-namespace WebCore
-{
+namespace WebCore {
enum SVGTextPathMethodType {
SVG_TEXTPATH_METHODTYPE_UNKNOWN = 0,
SVG_TEXTPATH_METHODTYPE_ALIGN = 1,
@@ -42,8 +41,7 @@ namespace WebCore
};
class SVGTextPathElement : public SVGTextContentElement,
- public SVGURIReference
- {
+ public SVGURIReference {
public:
// Forward declare these enums in the w3c naming scheme, for IDL generation
enum {
diff --git a/src/3rdparty/webkit/WebCore/svg/SVGTitleElement.h b/src/3rdparty/webkit/WebCore/svg/SVGTitleElement.h
index cd4768c..e053a42 100644
--- a/src/3rdparty/webkit/WebCore/svg/SVGTitleElement.h
+++ b/src/3rdparty/webkit/WebCore/svg/SVGTitleElement.h
@@ -27,11 +27,9 @@
#include "SVGLangSpace.h"
#include "SVGStyledElement.h"
-namespace WebCore
-{
+namespace WebCore {
class SVGTitleElement : public SVGStyledElement,
- public SVGLangSpace
- {
+ public SVGLangSpace {
public:
SVGTitleElement(const QualifiedName&, Document*);
diff --git a/src/3rdparty/webkit/WebCore/svg/SVGTransformDistance.cpp b/src/3rdparty/webkit/WebCore/svg/SVGTransformDistance.cpp
index 34adc63..00b5387 100644
--- a/src/3rdparty/webkit/WebCore/svg/SVGTransformDistance.cpp
+++ b/src/3rdparty/webkit/WebCore/svg/SVGTransformDistance.cpp
@@ -35,6 +35,8 @@ namespace WebCore {
SVGTransformDistance::SVGTransformDistance()
: m_type(SVGTransform::SVG_TRANSFORM_UNKNOWN)
, m_angle(0)
+ , m_cx(0)
+ , m_cy(0)
{
}
diff --git a/src/3rdparty/webkit/WebCore/svg/SVGTransformList.cpp b/src/3rdparty/webkit/WebCore/svg/SVGTransformList.cpp
index ed457f4..648f1e9 100644
--- a/src/3rdparty/webkit/WebCore/svg/SVGTransformList.cpp
+++ b/src/3rdparty/webkit/WebCore/svg/SVGTransformList.cpp
@@ -26,7 +26,6 @@
#include "TransformationMatrix.h"
#include "SVGTransform.h"
#include "SVGSVGElement.h"
-#include "SVGTransformDistance.h"
#include "SVGTransformList.h"
using namespace WebCore;
@@ -65,23 +64,6 @@ SVGTransform SVGTransformList::concatenate() const
return SVGTransform(matrix);
}
-SVGTransform SVGTransformList::concatenateForType(SVGTransform::SVGTransformType type) const
-{
- unsigned int length = numberOfItems();
- if (!length)
- return SVGTransform();
-
- ExceptionCode ec = 0;
- SVGTransformDistance totalTransform;
- for (unsigned int i = 0; i < length; i++) {
- const SVGTransform& transform = getItem(i, ec);
- if (transform.type() == type)
- totalTransform.addSVGTransform(transform);
- }
-
- return totalTransform.addToSVGTransform(SVGTransform());
-}
-
String SVGTransformList::valueAsString() const
{
// TODO: We may want to build a real transform string, instead of concatting to a matrix(...).
diff --git a/src/3rdparty/webkit/WebCore/svg/SVGTransformList.h b/src/3rdparty/webkit/WebCore/svg/SVGTransformList.h
index 442016b..d095fe4 100644
--- a/src/3rdparty/webkit/WebCore/svg/SVGTransformList.h
+++ b/src/3rdparty/webkit/WebCore/svg/SVGTransformList.h
@@ -42,7 +42,6 @@ namespace WebCore {
// Internal use only
SVGTransform concatenate() const;
- SVGTransform concatenateForType(SVGTransform::SVGTransformType) const;
String valueAsString() const;
diff --git a/src/3rdparty/webkit/WebCore/svg/SVGTransformable.cpp b/src/3rdparty/webkit/WebCore/svg/SVGTransformable.cpp
index 6dbfc1a..17344ea 100644
--- a/src/3rdparty/webkit/WebCore/svg/SVGTransformable.cpp
+++ b/src/3rdparty/webkit/WebCore/svg/SVGTransformable.cpp
@@ -154,12 +154,12 @@ bool SVGTransformable::parseTransformValue(unsigned type, const UChar*& ptr, con
return true;
}
-static const UChar skewXDesc[] = {'s','k','e','w', 'X'};
-static const UChar skewYDesc[] = {'s','k','e','w', 'Y'};
-static const UChar scaleDesc[] = {'s','c','a','l', 'e'};
-static const UChar translateDesc[] = {'t','r','a','n', 's', 'l', 'a', 't', 'e'};
-static const UChar rotateDesc[] = {'r','o','t','a', 't', 'e'};
-static const UChar matrixDesc[] = {'m','a','t','r', 'i', 'x'};
+static const UChar skewXDesc[] = {'s', 'k', 'e', 'w', 'X'};
+static const UChar skewYDesc[] = {'s', 'k', 'e', 'w', 'Y'};
+static const UChar scaleDesc[] = {'s', 'c', 'a', 'l', 'e'};
+static const UChar translateDesc[] = {'t', 'r', 'a', 'n', 's', 'l', 'a', 't', 'e'};
+static const UChar rotateDesc[] = {'r', 'o', 't', 'a', 't', 'e'};
+static const UChar matrixDesc[] = {'m', 'a', 't', 'r', 'i', 'x'};
static inline bool parseAndSkipType(const UChar*& currTransform, const UChar* end, unsigned short& type)
{
diff --git a/src/3rdparty/webkit/WebCore/svg/SVGViewSpec.cpp b/src/3rdparty/webkit/WebCore/svg/SVGViewSpec.cpp
index 6aa3857..b12b1c2 100644
--- a/src/3rdparty/webkit/WebCore/svg/SVGViewSpec.cpp
+++ b/src/3rdparty/webkit/WebCore/svg/SVGViewSpec.cpp
@@ -82,7 +82,7 @@ const SVGElement* SVGViewSpec::contextElement() const
return m_contextElement;
}
-static const UChar svgViewSpec[] = {'s','v','g','V', 'i', 'e', 'w'};
+static const UChar svgViewSpec[] = {'s', 'v', 'g', 'V', 'i', 'e', 'w'};
static const UChar viewBoxSpec[] = {'v', 'i', 'e', 'w', 'B', 'o', 'x'};
static const UChar preserveAspectRatioSpec[] = {'p', 'r', 'e', 's', 'e', 'r', 'v', 'e', 'A', 's', 'p', 'e', 'c', 't', 'R', 'a', 't', 'i', 'o'};
static const UChar transformSpec[] = {'t', 'r', 'a', 'n', 's', 'f', 'o', 'r', 'm'};
diff --git a/src/3rdparty/webkit/WebCore/svg/SynchronizableTypeWrapper.h b/src/3rdparty/webkit/WebCore/svg/SynchronizableTypeWrapper.h
index 418c76d..12f8426 100644
--- a/src/3rdparty/webkit/WebCore/svg/SynchronizableTypeWrapper.h
+++ b/src/3rdparty/webkit/WebCore/svg/SynchronizableTypeWrapper.h
@@ -26,7 +26,7 @@
namespace WebCore {
template<typename StoredType>
- class SynchronizableTypeWrapperBase : Noncopyable {
+ class SynchronizableTypeWrapperBase : public Noncopyable {
protected:
SynchronizableTypeWrapperBase();
diff --git a/src/3rdparty/webkit/WebCore/svg/animation/SMILTime.cpp b/src/3rdparty/webkit/WebCore/svg/animation/SMILTime.cpp
index 70f9487..44e96a2 100644
--- a/src/3rdparty/webkit/WebCore/svg/animation/SMILTime.cpp
+++ b/src/3rdparty/webkit/WebCore/svg/animation/SMILTime.cpp
@@ -35,7 +35,8 @@ const double SMILTime::unresolvedValue = DBL_MAX;
// Just a big value smaller than DBL_MAX. Our times are relative to 0, we don't really need the full range.
const double SMILTime::indefiniteValue = FLT_MAX;
-SMILTime WebCore::operator+(const SMILTime& a, const SMILTime& b) {
+SMILTime WebCore::operator+(const SMILTime& a, const SMILTime& b)
+{
if (a.isUnresolved() || b.isUnresolved())
return SMILTime::unresolved();
if (a.isIndefinite() || b.isIndefinite())
@@ -43,7 +44,8 @@ SMILTime WebCore::operator+(const SMILTime& a, const SMILTime& b) {
return a.value() + b.value();
}
-SMILTime WebCore::operator-(const SMILTime& a, const SMILTime& b) {
+SMILTime WebCore::operator-(const SMILTime& a, const SMILTime& b)
+{
if (a.isUnresolved() || b.isUnresolved())
return SMILTime::unresolved();
if (a.isIndefinite() || b.isIndefinite())
@@ -51,7 +53,8 @@ SMILTime WebCore::operator-(const SMILTime& a, const SMILTime& b) {
return a.value() - b.value();
}
-SMILTime WebCore::operator*(const SMILTime& a, const SMILTime& b) {
+SMILTime WebCore::operator*(const SMILTime& a, const SMILTime& b)
+{
if (a.isUnresolved() || b.isUnresolved())
return SMILTime::unresolved();
if (a.value() == 0 || b.value() == 0)
diff --git a/src/3rdparty/webkit/WebCore/svg/animation/SVGSMILElement.h b/src/3rdparty/webkit/WebCore/svg/animation/SVGSMILElement.h
index fac102e..b61f20d 100644
--- a/src/3rdparty/webkit/WebCore/svg/animation/SVGSMILElement.h
+++ b/src/3rdparty/webkit/WebCore/svg/animation/SVGSMILElement.h
@@ -38,8 +38,7 @@ namespace WebCore {
class SMILTimeContainer;
// This class implements SMIL interval timing model as needed for SVG animation.
- class SVGSMILElement : public SVGElement
- {
+ class SVGSMILElement : public SVGElement {
public:
SVGSMILElement(const QualifiedName&, Document*);
virtual ~SVGSMILElement();
diff --git a/src/3rdparty/webkit/WebCore/svg/graphics/SVGImage.cpp b/src/3rdparty/webkit/WebCore/svg/graphics/SVGImage.cpp
index 227b570..4efcf2e 100644
--- a/src/3rdparty/webkit/WebCore/svg/graphics/SVGImage.cpp
+++ b/src/3rdparty/webkit/WebCore/svg/graphics/SVGImage.cpp
@@ -222,7 +222,7 @@ NativeImagePtr SVGImage::nativeImageForCurrentFrame()
bool SVGImage::dataChanged(bool allDataReceived)
{
// Don't do anything if is an empty image.
- if (!m_data->size())
+ if (!data()->size())
return true;
if (allDataReceived) {
@@ -251,7 +251,7 @@ bool SVGImage::dataChanged(bool allDataReceived)
loader->commitProvisionalLoad(0);
loader->setResponseMIMEType("image/svg+xml");
loader->begin(KURL()); // create the empty document
- loader->write(m_data->data(), m_data->size());
+ loader->write(data()->data(), data()->size());
loader->end();
frame->view()->setTransparent(true); // SVG Images are transparent.
}
diff --git a/src/3rdparty/webkit/WebCore/svg/graphics/SVGPaintServer.cpp b/src/3rdparty/webkit/WebCore/svg/graphics/SVGPaintServer.cpp
index 0fcd722..728ff1b 100644
--- a/src/3rdparty/webkit/WebCore/svg/graphics/SVGPaintServer.cpp
+++ b/src/3rdparty/webkit/WebCore/svg/graphics/SVGPaintServer.cpp
@@ -31,6 +31,7 @@
#include "SVGPaintServer.h"
#include "GraphicsContext.h"
+#include "NodeRenderStyle.h"
#include "RenderObject.h"
#include "RenderStyle.h"
#include "SVGPaintServerSolid.h"
@@ -158,7 +159,7 @@ void applyStrokeStyleToContext(GraphicsContext* context, RenderStyle* style, con
if (style->svgStyle()->joinStyle() == MiterJoin)
context->setMiterLimit(style->svgStyle()->strokeMiterLimit());
- const DashArray& dashes = dashArrayFromRenderingStyle(object->style());
+ const DashArray& dashes = dashArrayFromRenderingStyle(object->style(), object->document()->documentElement()->renderStyle());
float dashOffset = SVGRenderStyle::cssPrimitiveToLength(object, style->svgStyle()->strokeDashOffset(), 0.0f);
context->setLineDash(dashes, dashOffset);
}
@@ -192,8 +193,8 @@ void SVGPaintServer::teardown(GraphicsContext*& context, const RenderObject*, SV
// added back to the context after filling. This is because internally it
// calls CGContextFillPath() which closes the path.
context->beginPath();
- context->platformContext()->setGradient(0);
- context->platformContext()->setPattern(0);
+ context->platformContext()->setFillShader(0);
+ context->platformContext()->setStrokeShader(0);
}
#else
void SVGPaintServer::teardown(GraphicsContext*&, const RenderObject*, SVGPaintTargetType, bool) const
@@ -201,7 +202,7 @@ void SVGPaintServer::teardown(GraphicsContext*&, const RenderObject*, SVGPaintTa
}
#endif
-DashArray dashArrayFromRenderingStyle(const RenderStyle* style)
+DashArray dashArrayFromRenderingStyle(const RenderStyle* style, RenderStyle* rootStyle)
{
DashArray array;
@@ -214,7 +215,7 @@ DashArray dashArrayFromRenderingStyle(const RenderStyle* style)
if (!dash)
continue;
- array.append((float) dash->computeLengthFloat(const_cast<RenderStyle*>(style)));
+ array.append((float) dash->computeLengthFloat(const_cast<RenderStyle*>(style), rootStyle));
}
}
diff --git a/src/3rdparty/webkit/WebCore/svg/graphics/SVGPaintServer.h b/src/3rdparty/webkit/WebCore/svg/graphics/SVGPaintServer.h
index 9174f66..244243c 100644
--- a/src/3rdparty/webkit/WebCore/svg/graphics/SVGPaintServer.h
+++ b/src/3rdparty/webkit/WebCore/svg/graphics/SVGPaintServer.h
@@ -85,7 +85,7 @@ namespace WebCore {
SVGPaintServer* getPaintServerById(Document*, const AtomicString&);
void applyStrokeStyleToContext(GraphicsContext*, RenderStyle*, const RenderObject*);
- DashArray dashArrayFromRenderingStyle(const RenderStyle* style);
+ DashArray dashArrayFromRenderingStyle(const RenderStyle* style, RenderStyle* rootStyle);
} // namespace WebCore
#endif
diff --git a/src/3rdparty/webkit/WebCore/svg/graphics/SVGResource.cpp b/src/3rdparty/webkit/WebCore/svg/graphics/SVGResource.cpp
index 82c10ba..049edc7 100644
--- a/src/3rdparty/webkit/WebCore/svg/graphics/SVGResource.cpp
+++ b/src/3rdparty/webkit/WebCore/svg/graphics/SVGResource.cpp
@@ -50,7 +50,8 @@ struct ResourceSet {
typedef HashMap<SVGStyledElement*, ResourceSet*> ResourceClientMap;
-static ResourceClientMap& clientMap() {
+static ResourceClientMap& clientMap()
+{
DEFINE_STATIC_LOCAL(ResourceClientMap, map, ());
return map;
}
diff --git a/src/3rdparty/webkit/WebCore/wml/WMLAElement.cpp b/src/3rdparty/webkit/WebCore/wml/WMLAElement.cpp
index 5fbeac6..9c84193 100644
--- a/src/3rdparty/webkit/WebCore/wml/WMLAElement.cpp
+++ b/src/3rdparty/webkit/WebCore/wml/WMLAElement.cpp
@@ -150,7 +150,7 @@ void WMLAElement::defaultEventHandler(Event* event)
}
if (!event->defaultPrevented() && document()->frame()) {
- KURL url = document()->completeURL(parseURL(getAttribute(HTMLNames::hrefAttr)));
+ KURL url = document()->completeURL(deprecatedParseURL(getAttribute(HTMLNames::hrefAttr)));
document()->frame()->loader()->urlSelected(url, target(), event, false, false, true);
}
diff --git a/src/3rdparty/webkit/WebCore/wml/WMLCardElement.cpp b/src/3rdparty/webkit/WebCore/wml/WMLCardElement.cpp
index 3713c59..0b73f52 100644
--- a/src/3rdparty/webkit/WebCore/wml/WMLCardElement.cpp
+++ b/src/3rdparty/webkit/WebCore/wml/WMLCardElement.cpp
@@ -28,12 +28,14 @@
#include "HTMLNames.h"
#include "MappedAttribute.h"
#include "NodeList.h"
+#include "Page.h"
#include "RenderStyle.h"
#include "WMLDocument.h"
#include "WMLDoElement.h"
#include "WMLInputElement.h"
#include "WMLIntrinsicEventHandler.h"
#include "WMLNames.h"
+#include "WMLSelectElement.h"
#include "WMLTemplateElement.h"
#include "WMLTimerElement.h"
#include "WMLVariables.h"
@@ -130,20 +132,21 @@ void WMLCardElement::handleIntrinsicEventIfNeeded()
FrameLoader* loader = frame->loader();
if (!loader)
return;
-
- int currentHistoryLength = loader->getHistoryLength();
- int lastHistoryLength = pageState->historyLength();
// Calculate the entry method of current card
WMLIntrinsicEventType eventType = WMLIntrinsicEventUnknown;
- if (lastHistoryLength > currentHistoryLength)
+
+ switch (loader->loadType()) {
+ case FrameLoadTypeReload:
+ break;
+ case FrameLoadTypeBack:
eventType = WMLIntrinsicEventOnEnterBackward;
- else if (lastHistoryLength < currentHistoryLength)
+ break;
+ default:
eventType = WMLIntrinsicEventOnEnterForward;
+ break;
+ }
- // Synchronize history length with WMLPageState
- pageState->setHistoryLength(currentHistoryLength);
-
// Figure out target event handler
WMLIntrinsicEventHandler* eventHandler = this->eventHandler();
bool hasIntrinsicEvent = false;
@@ -165,17 +168,14 @@ void WMLCardElement::handleIntrinsicEventIfNeeded()
if (m_eventTimer)
m_eventTimer->start();
- // FIXME: Initialize select elements in this card
for (Node* node = traverseNextNode(); node != 0; node = node->traverseNextNode()) {
if (!node->isElementNode())
continue;
if (node->hasTagName(inputTag))
static_cast<WMLInputElement*>(node)->initialize();
- /*
else if (node->hasTagName(selectTag))
static_cast<WMLSelectElement*>(node)->selectInitialOptions();
- */
}
}
@@ -206,11 +206,6 @@ void WMLCardElement::handleDeckLevelTaskOverridesIfNeeded()
(*it)->setActive(!cardDoElementNames.contains((*it)->name()));
}
-String WMLCardElement::title() const
-{
- return parseValueSubstitutingVariableReferences(getAttribute(HTMLNames::titleAttr));
-}
-
void WMLCardElement::parseMappedAttribute(MappedAttribute* attr)
{
WMLIntrinsicEventType eventType = WMLIntrinsicEventUnknown;
@@ -243,13 +238,25 @@ void WMLCardElement::parseMappedAttribute(MappedAttribute* attr)
void WMLCardElement::insertedIntoDocument()
{
WMLElement::insertedIntoDocument();
+ Document* document = this->document();
// The first card inserted into a document, is visible by default.
if (!m_isVisible) {
- RefPtr<NodeList> nodeList = document()->getElementsByTagName("card");
+ RefPtr<NodeList> nodeList = document->getElementsByTagName("card");
if (nodeList && nodeList->length() == 1 && nodeList->item(0) == this)
m_isVisible = true;
}
+
+ // For the WML layout tests we embed WML content in a XHTML document. Navigating to different cards
+ // within the same deck has a different behaviour in HTML than in WML. HTML wants to "scroll to anchor"
+ // (see FrameLoader) but WML wants a reload. Notify the root document of the layout test that we want
+ // to mimic WML behaviour. This is rather tricky, but has been tested extensively. Usually it's not possible
+ // at all to embed WML in HTML, it's not designed that way, we're just "abusing" it for dynamically created layout tests.
+ if (document->page() && document->page()->mainFrame()) {
+ Document* rootDocument = document->page()->mainFrame()->document();
+ if (rootDocument && rootDocument != document)
+ rootDocument->setContainsWMLContent(true);
+ }
}
RenderObject* WMLCardElement::createRenderer(RenderArena* arena, RenderStyle* style)
diff --git a/src/3rdparty/webkit/WebCore/wml/WMLCardElement.h b/src/3rdparty/webkit/WebCore/wml/WMLCardElement.h
index e033e3d..972961e 100644
--- a/src/3rdparty/webkit/WebCore/wml/WMLCardElement.h
+++ b/src/3rdparty/webkit/WebCore/wml/WMLCardElement.h
@@ -47,7 +47,6 @@ public:
void handleIntrinsicEventIfNeeded();
void handleDeckLevelTaskOverridesIfNeeded();
- virtual String title() const;
virtual void parseMappedAttribute(MappedAttribute*);
virtual void insertedIntoDocument();
virtual RenderObject* createRenderer(RenderArena*, RenderStyle*);
diff --git a/src/3rdparty/webkit/WebCore/wml/WMLDoElement.cpp b/src/3rdparty/webkit/WebCore/wml/WMLDoElement.cpp
index f553fff..830009e 100644
--- a/src/3rdparty/webkit/WebCore/wml/WMLDoElement.cpp
+++ b/src/3rdparty/webkit/WebCore/wml/WMLDoElement.cpp
@@ -122,6 +122,17 @@ void WMLDoElement::insertedIntoDocument()
eventHandlingElement->registerDoElement(this, document());
}
+void WMLDoElement::attach()
+{
+ WMLElement::attach();
+
+ // The call to updateFromElement() needs to go after the call through
+ // to the base class's attach() because that can sometimes do a close
+ // on the renderer.
+ if (renderer())
+ renderer()->updateFromElement();
+}
+
RenderObject* WMLDoElement::createRenderer(RenderArena* arena, RenderStyle* style)
{
if (!m_isActive || m_isOptional || m_isNoop)
diff --git a/src/3rdparty/webkit/WebCore/wml/WMLDoElement.h b/src/3rdparty/webkit/WebCore/wml/WMLDoElement.h
index 51e37c4..eff2589 100644
--- a/src/3rdparty/webkit/WebCore/wml/WMLDoElement.h
+++ b/src/3rdparty/webkit/WebCore/wml/WMLDoElement.h
@@ -36,6 +36,7 @@ public:
virtual void parseMappedAttribute(MappedAttribute*);
virtual void insertedIntoDocument();
+ virtual void attach();
virtual RenderObject* createRenderer(RenderArena*, RenderStyle*);
virtual void recalcStyle(StyleChange);
diff --git a/src/3rdparty/webkit/WebCore/wml/WMLElement.cpp b/src/3rdparty/webkit/WebCore/wml/WMLElement.cpp
index f59a3a1..a9e4b5d 100644
--- a/src/3rdparty/webkit/WebCore/wml/WMLElement.cpp
+++ b/src/3rdparty/webkit/WebCore/wml/WMLElement.cpp
@@ -77,6 +77,11 @@ void WMLElement::parseMappedAttribute(MappedAttribute* attr)
}
}
+String WMLElement::title() const
+{
+ return parseValueSubstitutingVariableReferences(getAttribute(HTMLNames::titleAttr));
+}
+
bool WMLElement::rendererIsNeeded(RenderStyle* style)
{
return document()->documentElement() == this || style->display() != NONE;
diff --git a/src/3rdparty/webkit/WebCore/wml/WMLElement.h b/src/3rdparty/webkit/WebCore/wml/WMLElement.h
index 04e28d0..46b0ff4 100644
--- a/src/3rdparty/webkit/WebCore/wml/WMLElement.h
+++ b/src/3rdparty/webkit/WebCore/wml/WMLElement.h
@@ -37,6 +37,8 @@ public:
virtual bool mapToEntry(const QualifiedName& attrName, MappedAttributeEntry& result) const;
virtual void parseMappedAttribute(MappedAttribute*);
+ virtual String title() const;
+
virtual bool rendererIsNeeded(RenderStyle*);
virtual RenderObject* createRenderer(RenderArena*, RenderStyle*);
diff --git a/src/3rdparty/webkit/WebCore/wml/WMLErrorHandling.cpp b/src/3rdparty/webkit/WebCore/wml/WMLErrorHandling.cpp
index a228299..87c8003 100644
--- a/src/3rdparty/webkit/WebCore/wml/WMLErrorHandling.cpp
+++ b/src/3rdparty/webkit/WebCore/wml/WMLErrorHandling.cpp
@@ -61,7 +61,7 @@ void reportWMLError(Document* doc, WMLErrorCode error)
if (!console)
return;
- console->addMessage(WMLMessageSource, ErrorMessageLevel, errorMessage, 0, String());
+ console->addMessage(WMLMessageSource, LogMessageType, ErrorMessageLevel, errorMessage, 0, String());
}
}
diff --git a/src/3rdparty/webkit/WebCore/wml/WMLGoElement.cpp b/src/3rdparty/webkit/WebCore/wml/WMLGoElement.cpp
index 7293e66..c1bf283 100644
--- a/src/3rdparty/webkit/WebCore/wml/WMLGoElement.cpp
+++ b/src/3rdparty/webkit/WebCore/wml/WMLGoElement.cpp
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2008 Torch Mobile Inc. All rights reserved. (http://www.torchmobile.com/)
+ * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.torchmobile.com/)
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -102,9 +102,6 @@ void WMLGoElement::executeTask(Event*)
// FIXME: 'newcontext' handling not implemented for external cards
bool inSameDeck = doc->url().path() == url.path();
if (inSameDeck && url.hasRef()) {
- // Force frame loader to load the URL with fragment identifier
- loader->setForceReloadWmlDeck(true);
-
if (WMLCardElement* card = WMLCardElement::findNamedCardInDocument(doc, url.ref())) {
if (card->isNewContext())
pageState->reset();
diff --git a/src/3rdparty/webkit/WebCore/wml/WMLImageLoader.cpp b/src/3rdparty/webkit/WebCore/wml/WMLImageLoader.cpp
index c77b511..3c40215 100644
--- a/src/3rdparty/webkit/WebCore/wml/WMLImageLoader.cpp
+++ b/src/3rdparty/webkit/WebCore/wml/WMLImageLoader.cpp
@@ -49,7 +49,7 @@ void WMLImageLoader::dispatchLoadEvent()
String WMLImageLoader::sourceURI(const AtomicString& attr) const
{
- return parseURL(KURL(element()->baseURI(), attr).string());
+ return deprecatedParseURL(KURL(element()->baseURI(), attr).string());
}
void WMLImageLoader::notifyFinished(CachedResource* image)
diff --git a/src/3rdparty/webkit/WebCore/wml/WMLNoopElement.cpp b/src/3rdparty/webkit/WebCore/wml/WMLNoopElement.cpp
index 1ba1c18..7c69ddc 100644
--- a/src/3rdparty/webkit/WebCore/wml/WMLNoopElement.cpp
+++ b/src/3rdparty/webkit/WebCore/wml/WMLNoopElement.cpp
@@ -53,7 +53,12 @@ void WMLNoopElement::insertedIntoDocument()
if (parent->hasTagName(doTag)) {
WMLDoElement* doElement = static_cast<WMLDoElement*>(parent);
doElement->setNoop(true);
- doElement->setNeedsStyleRecalc();
+
+ if (doElement->attached())
+ doElement->detach();
+
+ ASSERT(!doElement->attached());
+ doElement->attach();
} else if (parent->hasTagName(anchorTag))
reportWMLError(document(), WMLErrorForbiddenTaskInAnchorElement);
}
diff --git a/src/3rdparty/webkit/WebCore/wml/WMLOptGroupElement.cpp b/src/3rdparty/webkit/WebCore/wml/WMLOptGroupElement.cpp
index 3614c6c..9a7ea88 100644
--- a/src/3rdparty/webkit/WebCore/wml/WMLOptGroupElement.cpp
+++ b/src/3rdparty/webkit/WebCore/wml/WMLOptGroupElement.cpp
@@ -44,11 +44,6 @@ WMLOptGroupElement::~WMLOptGroupElement()
{
}
-String WMLOptGroupElement::title() const
-{
- return parseValueSubstitutingVariableReferences(getAttribute(HTMLNames::titleAttr));
-}
-
const AtomicString& WMLOptGroupElement::formControlType() const
{
DEFINE_STATIC_LOCAL(const AtomicString, optgroup, ("optgroup"));
diff --git a/src/3rdparty/webkit/WebCore/wml/WMLOptGroupElement.h b/src/3rdparty/webkit/WebCore/wml/WMLOptGroupElement.h
index 0460056..e1b9217 100644
--- a/src/3rdparty/webkit/WebCore/wml/WMLOptGroupElement.h
+++ b/src/3rdparty/webkit/WebCore/wml/WMLOptGroupElement.h
@@ -32,8 +32,6 @@ public:
WMLOptGroupElement(const QualifiedName& tagName, Document*);
virtual ~WMLOptGroupElement();
- String title() const;
-
virtual const AtomicString& formControlType() const;
virtual bool rendererIsNeeded(RenderStyle*) { return false; }
diff --git a/src/3rdparty/webkit/WebCore/wml/WMLOptionElement.cpp b/src/3rdparty/webkit/WebCore/wml/WMLOptionElement.cpp
index 1087134..60d3de6 100644
--- a/src/3rdparty/webkit/WebCore/wml/WMLOptionElement.cpp
+++ b/src/3rdparty/webkit/WebCore/wml/WMLOptionElement.cpp
@@ -125,7 +125,15 @@ bool WMLOptionElement::selected() const
void WMLOptionElement::setSelectedState(bool selected)
{
+ if (this->selected() == selected)
+ return;
+
OptionElement::setSelectedState(m_data, this, selected);
+
+ if (WMLSelectElement* select = ownerSelectElement(this)) {
+ if (select->multiple() || selected)
+ handleIntrinsicEventIfNeeded();
+ }
}
String WMLOptionElement::value() const
diff --git a/src/3rdparty/webkit/WebCore/wml/WMLPageState.cpp b/src/3rdparty/webkit/WebCore/wml/WMLPageState.cpp
index 15ae9ca..6b6a763 100644
--- a/src/3rdparty/webkit/WebCore/wml/WMLPageState.cpp
+++ b/src/3rdparty/webkit/WebCore/wml/WMLPageState.cpp
@@ -1,6 +1,5 @@
/*
- * Copyright (C) 2008 Torch Mobile Inc. All rights reserved. (http://www.torchmobile.com/)
- *
+ * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.torchmobile.com/)
* Copyright (C) 2004-2007 Apple Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
@@ -25,6 +24,7 @@
#if ENABLE(WML)
#include "WMLPageState.h"
+#include "CString.h"
#include "HistoryItem.h"
#include "KURL.h"
#include "Page.h"
@@ -33,7 +33,6 @@ namespace WebCore {
WMLPageState::WMLPageState(Page* page)
: m_page(page)
- , m_historyLength(0)
, m_activeCard(0)
, m_hasDeckAccess(false)
{
@@ -44,17 +43,27 @@ WMLPageState::~WMLPageState()
m_variables.clear();
}
+#ifndef NDEBUG
+// Debugging helper for use within gdb
+void WMLPageState::dump()
+{
+ WMLVariableMap::iterator it = m_variables.begin();
+ WMLVariableMap::iterator end = m_variables.end();
+
+ fprintf(stderr, "Dumping WMLPageState (this=%p) associated with Page (page=%p)...\n", this, m_page);
+ for (; it != end; ++it)
+ fprintf(stderr, "\t-> name: '%s'\tvalue: '%s'\n", (*it).first.latin1().data(), (*it).second.latin1().data());
+}
+#endif
+
void WMLPageState::reset()
{
- // remove all the variables in the current browser context
+ // Remove all the variables
m_variables.clear();
- // clear the navigation history state
- if (m_page)
- m_page->backForwardList()->clearWmlPageHistory();
-
- // reset implementation-specfic state if UA has
- m_historyLength = 1;
+ // Clear the navigation history state
+ if (BackForwardList* list = m_page ? m_page->backForwardList() : 0)
+ list->clearWMLPageHistory();
}
bool WMLPageState::setNeedCheckDeckAccess(bool need)
diff --git a/src/3rdparty/webkit/WebCore/wml/WMLPageState.h b/src/3rdparty/webkit/WebCore/wml/WMLPageState.h
index 6a1d960..72bc72c 100644
--- a/src/3rdparty/webkit/WebCore/wml/WMLPageState.h
+++ b/src/3rdparty/webkit/WebCore/wml/WMLPageState.h
@@ -39,6 +39,10 @@ public:
WMLPageState(Page*);
virtual ~WMLPageState();
+#ifndef NDEBUG
+ void dump();
+#endif
+
// reset the browser context when 'newcontext' attribute
// of card element is performed as part of go task
void reset();
diff --git a/src/3rdparty/webkit/WebCore/wml/WMLPostfieldElement.cpp b/src/3rdparty/webkit/WebCore/wml/WMLPostfieldElement.cpp
index 7d001e1..ca43f69 100644
--- a/src/3rdparty/webkit/WebCore/wml/WMLPostfieldElement.cpp
+++ b/src/3rdparty/webkit/WebCore/wml/WMLPostfieldElement.cpp
@@ -59,7 +59,7 @@ String WMLPostfieldElement::name() const
String WMLPostfieldElement::value() const
{
- return parseValueSubstitutingVariableReferences(getAttribute(HTMLNames::valueAttr));
+ return parseValueSubstitutingVariableReferences(getAttribute(HTMLNames::valueAttr));
}
static inline CString encodedString(const TextEncoding& encoding, const String& data)
diff --git a/src/3rdparty/webkit/WebCore/wml/WMLSelectElement.cpp b/src/3rdparty/webkit/WebCore/wml/WMLSelectElement.cpp
index 5b5aed1..2d03a3f 100644
--- a/src/3rdparty/webkit/WebCore/wml/WMLSelectElement.cpp
+++ b/src/3rdparty/webkit/WebCore/wml/WMLSelectElement.cpp
@@ -22,16 +22,21 @@
#if ENABLE(WML)
#include "WMLSelectElement.h"
-
+#include "CString.h"
#include "HTMLNames.h"
#include "MappedAttribute.h"
+#include "OptionElement.h"
#include "RenderListBox.h"
#include "RenderMenuList.h"
-
+#include "WMLDocument.h"
+#include "WMLNames.h"
+#include "WMLVariables.h"
#include <wtf/StdLibExtras.h>
namespace WebCore {
+using namespace WMLNames;
+
WMLSelectElement::WMLSelectElement(const QualifiedName& tagName, Document* document)
: WMLFormControlElement(tagName, document)
{
@@ -41,6 +46,12 @@ WMLSelectElement::~WMLSelectElement()
{
}
+const AtomicString& WMLSelectElement::formControlName() const
+{
+ AtomicString name = this->name();
+ return name.isNull() ? emptyAtom : name;
+}
+
const AtomicString& WMLSelectElement::formControlType() const
{
DEFINE_STATIC_LOCAL(const AtomicString, selectMultiple, ("select-multiple"));
@@ -92,9 +103,14 @@ int WMLSelectElement::selectedIndex() const
return SelectElement::selectedIndex(m_data, this);
}
-void WMLSelectElement::setSelectedIndex(int index, bool deselect, bool fireOnChange)
+void WMLSelectElement::setSelectedIndex(int optionIndex, bool deselect)
{
- SelectElement::setSelectedIndex(m_data, this, index, deselect, fireOnChange);
+ SelectElement::setSelectedIndex(m_data, this, optionIndex, deselect, false, false);
+}
+
+void WMLSelectElement::setSelectedIndexByUser(int optionIndex, bool deselect, bool fireOnChangeNow)
+{
+ SelectElement::setSelectedIndex(m_data, this, optionIndex, deselect, fireOnChangeNow, true);
}
bool WMLSelectElement::saveFormControlState(String& value) const
@@ -151,6 +167,14 @@ void WMLSelectElement::reset()
void WMLSelectElement::defaultEventHandler(Event* event)
{
SelectElement::defaultEventHandler(m_data, this, event);
+
+ // FIXME: There must be a better place to update the page variable state. Investigate.
+ updateVariables();
+
+ if (event->defaultHandled())
+ return;
+
+ WMLFormControlElement::defaultEventHandler(event);
}
void WMLSelectElement::accessKeyAction(bool sendToAnyElement)
@@ -213,12 +237,311 @@ void WMLSelectElement::scrollToSelection()
SelectElement::scrollToSelection(m_data, this);
}
+void WMLSelectElement::selectInitialOptions()
+{
+ // Spec: Step 1 - the default option index is determined using iname and ivalue
+ calculateDefaultOptionIndices();
+
+ if (m_defaultOptionIndices.isEmpty())
+ return;
+
+ // Spec: Step 2 – initialise variables
+ initializeVariables();
+
+ // Spec: Step 3 – pre-select option(s) specified by the default option index
+ selectDefaultOptions();
+}
+
void WMLSelectElement::insertedIntoTree(bool deep)
{
SelectElement::insertedIntoTree(m_data, this);
WMLFormControlElement::insertedIntoTree(deep);
}
+void WMLSelectElement::calculateDefaultOptionIndices()
+{
+ WMLPageState* pageState = wmlPageStateForDocument(document());
+ if (!pageState)
+ return;
+
+ String variable;
+
+ // Spec: If the 'iname' attribute is specified and names a variable that is set,
+ // then the default option index is the validated value of that variable.
+ String iname = this->iname();
+ if (!iname.isEmpty()) {
+ variable = pageState->getVariable(iname);
+ if (!variable.isEmpty())
+ m_defaultOptionIndices = parseIndexValueString(variable);
+ }
+
+ // Spec: If the default option index is empty and the 'ivalue' attribute is specified,
+ // then the default option index is the validated attribute value.
+ String ivalue = this->ivalue();
+ if (m_defaultOptionIndices.isEmpty() && !ivalue.isEmpty())
+ m_defaultOptionIndices = parseIndexValueString(ivalue);
+
+ // Spec: If the default option index is empty, and the 'name' attribute is specified
+ // and the 'name' ttribute names a variable that is set, then for each value in the 'name'
+ // variable that is present as a value in the select's option elements, the index of the
+ // first option element containing that value is added to the default index if that
+ // index has not been previously added.
+ String name = this->name();
+ if (m_defaultOptionIndices.isEmpty() && !name.isEmpty()) {
+ variable = pageState->getVariable(name);
+ if (!variable.isEmpty())
+ m_defaultOptionIndices = valueStringToOptionIndices(variable);
+ }
+
+ String value = parseValueSubstitutingVariableReferences(getAttribute(HTMLNames::valueAttr));
+
+ // Spec: If the default option index is empty and the 'value' attribute is specified then
+ // for each value in the 'value' attribute that is present as a value in the select's
+ // option elements, the index of the first option element containing that value is added
+ // to the default index if that index has not been previously added.
+ if (m_defaultOptionIndices.isEmpty() && !value.isEmpty())
+ m_defaultOptionIndices = valueStringToOptionIndices(value);
+
+ // Spec: If the default option index is empty and the select is a multi-choice, then the
+ // default option index is set to zero. If the select is single-choice, then the default
+ // option index is set to one.
+ if (m_defaultOptionIndices.isEmpty())
+ m_defaultOptionIndices.append((unsigned) !m_data.multiple());
+}
+
+void WMLSelectElement::selectDefaultOptions()
+{
+ ASSERT(!m_defaultOptionIndices.isEmpty());
+
+ if (!m_data.multiple()) {
+ setSelectedIndex(m_defaultOptionIndices.first() - 1, false);
+ return;
+ }
+
+ Vector<unsigned>::const_iterator end = m_defaultOptionIndices.end();
+ for (Vector<unsigned>::const_iterator it = m_defaultOptionIndices.begin(); it != end; ++it)
+ setSelectedIndex((*it) - 1, false);
+}
+
+void WMLSelectElement::initializeVariables()
+{
+ ASSERT(!m_defaultOptionIndices.isEmpty());
+
+ WMLPageState* pageState = wmlPageStateForDocument(document());
+ if (!pageState)
+ return;
+
+ const Vector<Element*>& items = m_data.listItems(this);
+ if (items.isEmpty())
+ return;
+
+ // Spec: If the 'iname' attribute is specified, then the named variable is set with the default option index.
+ String iname = this->iname();
+ if (!iname.isEmpty())
+ pageState->storeVariable(iname, optionIndicesToString());
+
+ String name = this->name();
+ if (name.isEmpty())
+ return;
+
+ if (m_data.multiple()) {
+ // Spec: If the 'name' attribute is specified and the select is a multiple-choice element,
+ // then for each index greater than zero, the value of the 'value' attribute on the option
+ // element at the index is added to the name variable.
+ pageState->storeVariable(name, optionIndicesToValueString());
+ return;
+ }
+
+ // Spec: If the 'name' attribute is specified and the select is a single-choice element,
+ // then the named variable is set with the value of the 'value' attribute on the option
+ // element at the default option index.
+ unsigned optionIndex = m_defaultOptionIndices.first();
+ ASSERT(optionIndex >= 1);
+
+ int listIndex = optionToListIndex(optionIndex - 1);
+ ASSERT(listIndex >= 0);
+ ASSERT(listIndex < (int) items.size());
+
+ if (OptionElement* optionElement = toOptionElement(items[listIndex]))
+ pageState->storeVariable(name, optionElement->value());
+}
+
+void WMLSelectElement::updateVariables()
+{
+ WMLPageState* pageState = wmlPageStateForDocument(document());
+ if (!pageState)
+ return;
+
+ String name = this->name();
+ String iname = this->iname();
+ if (iname.isEmpty() && name.isEmpty())
+ return;
+
+ String nameString;
+ String inameString;
+
+ unsigned optionIndex = 0;
+ const Vector<Element*>& items = m_data.listItems(this);
+
+ for (unsigned i = 0; i < items.size(); ++i) {
+ OptionElement* optionElement = toOptionElement(items[i]);
+ if (!optionElement)
+ continue;
+
+ ++optionIndex;
+ if (!optionElement->selected())
+ continue;
+
+ if (!nameString.isEmpty())
+ nameString += ";";
+
+ if (!inameString.isEmpty())
+ inameString += ";";
+
+ nameString += optionElement->value();
+ inameString += String::number(optionIndex);
+ }
+
+ if (!name.isEmpty())
+ pageState->storeVariable(name, nameString);
+
+ if (!iname.isEmpty())
+ pageState->storeVariable(iname, inameString);
+}
+
+Vector<unsigned> WMLSelectElement::parseIndexValueString(const String& indexValue) const
+{
+ Vector<unsigned> indices;
+ if (indexValue.isEmpty())
+ return indices;
+
+ Vector<String> indexStrings;
+ indexValue.split(';', indexStrings);
+
+ bool ok = false;
+ unsigned optionCount = SelectElement::optionCount(m_data, this);
+
+ Vector<String>::const_iterator end = indexStrings.end();
+ for (Vector<String>::const_iterator it = indexStrings.begin(); it != end; ++it) {
+ unsigned parsedValue = (*it).toUIntStrict(&ok);
+ // Spec: Remove all non-integer indices from the value. Remove all out-of-range indices
+ // from the value, where out-of-range is defined as any index with a value greater than
+ // the number of options in the select or with a value less than one.
+ if (!ok || parsedValue < 1 || parsedValue > optionCount)
+ continue;
+
+ // Spec: Remove duplicate indices.
+ if (indices.find(parsedValue) == notFound)
+ indices.append(parsedValue);
+ }
+
+ return indices;
+}
+
+Vector<unsigned> WMLSelectElement::valueStringToOptionIndices(const String& value) const
+{
+ Vector<unsigned> indices;
+ if (value.isEmpty())
+ return indices;
+
+ const Vector<Element*>& items = m_data.listItems(this);
+ if (items.isEmpty())
+ return indices;
+
+ Vector<String> indexStrings;
+ value.split(';', indexStrings);
+
+ unsigned optionIndex = 0;
+
+ Vector<String>::const_iterator end = indexStrings.end();
+ for (Vector<String>::const_iterator it = indexStrings.begin(); it != end; ++it) {
+ String value = *it;
+
+ for (unsigned i = 0; i < items.size(); ++i) {
+ if (!isOptionElement(items[i]))
+ continue;
+
+ ++optionIndex;
+ if (OptionElement* optionElement = toOptionElement(items[i])) {
+ if (optionElement->value() == value) {
+ indices.append(optionIndex);
+ break;
+ }
+ }
+ }
+ }
+
+ return indices;
+}
+
+String WMLSelectElement::optionIndicesToValueString() const
+{
+ String valueString;
+ if (m_defaultOptionIndices.isEmpty())
+ return valueString;
+
+ const Vector<Element*>& items = m_data.listItems(this);
+ if (items.isEmpty())
+ return valueString;
+
+ Vector<unsigned>::const_iterator end = m_defaultOptionIndices.end();
+ for (Vector<unsigned>::const_iterator it = m_defaultOptionIndices.begin(); it != end; ++it) {
+ unsigned optionIndex = (*it);
+ if (optionIndex < 1 || optionIndex > items.size())
+ continue;
+
+ int listIndex = optionToListIndex((*it) - 1);
+ ASSERT(listIndex >= 0);
+ ASSERT(listIndex < (int) items.size());
+
+ if (OptionElement* optionElement = toOptionElement(items[listIndex])) {
+ if (!valueString.isEmpty())
+ valueString += ";";
+
+ valueString += optionElement->value();
+ }
+ }
+
+ return valueString;
+}
+
+String WMLSelectElement::optionIndicesToString() const
+{
+ String valueString;
+ if (m_defaultOptionIndices.isEmpty())
+ return valueString;
+
+ Vector<unsigned>::const_iterator end = m_defaultOptionIndices.end();
+ for (Vector<unsigned>::const_iterator it = m_defaultOptionIndices.begin(); it != end; ++it) {
+ if (!valueString.isEmpty())
+ valueString += ";";
+
+ valueString += String::number(*it);
+ }
+
+ return valueString;
+}
+
+String WMLSelectElement::name() const
+{
+ return parseValueForbiddingVariableReferences(getAttribute(HTMLNames::nameAttr));
+}
+
+String WMLSelectElement::value() const
+{
+ return parseValueSubstitutingVariableReferences(getAttribute(HTMLNames::valueAttr));
+}
+
+String WMLSelectElement::iname() const
+{
+ return parseValueForbiddingVariableReferences(getAttribute(inameAttr));
+}
+
+String WMLSelectElement::ivalue() const
+{
+ return parseValueSubstitutingVariableReferences(getAttribute(ivalueAttr));
+}
+
}
#endif
diff --git a/src/3rdparty/webkit/WebCore/wml/WMLSelectElement.h b/src/3rdparty/webkit/WebCore/wml/WMLSelectElement.h
index 8d3e0f9..412a950 100644
--- a/src/3rdparty/webkit/WebCore/wml/WMLSelectElement.h
+++ b/src/3rdparty/webkit/WebCore/wml/WMLSelectElement.h
@@ -32,6 +32,7 @@ public:
WMLSelectElement(const QualifiedName&, Document*);
virtual ~WMLSelectElement();
+ virtual const AtomicString& formControlName() const;
virtual const AtomicString& formControlType() const;
virtual bool isKeyboardFocusable(KeyboardEvent*) const;
@@ -47,7 +48,8 @@ public:
virtual bool canStartSelection() const { return false; }
virtual int selectedIndex() const;
- virtual void setSelectedIndex(int index, bool deselect = true, bool fireOnChange = false);
+ virtual void setSelectedIndex(int index, bool deselect = true);
+ virtual void setSelectedIndexByUser(int index, bool deselect = true, bool fireOnChangeNow = false);
virtual int size() const { return m_data.size(); }
virtual bool multiple() const { return m_data.multiple(); }
@@ -81,11 +83,28 @@ public:
void accessKeySetSelectedIndex(int);
void setRecalcListItems();
void scrollToSelection();
+ void selectInitialOptions();
private:
virtual void insertedIntoTree(bool);
+ void calculateDefaultOptionIndices();
+ void selectDefaultOptions();
+ void initializeVariables();
+ void updateVariables();
+
+ Vector<unsigned> parseIndexValueString(const String&) const;
+ Vector<unsigned> valueStringToOptionIndices(const String&) const;
+ String optionIndicesToValueString() const;
+ String optionIndicesToString() const;
+
+ String name() const;
+ String value() const;
+ String iname() const;
+ String ivalue() const;
+
SelectElementData m_data;
+ Vector<unsigned> m_defaultOptionIndices;
};
}
diff --git a/src/3rdparty/webkit/WebCore/wml/WMLSetvarElement.cpp b/src/3rdparty/webkit/WebCore/wml/WMLSetvarElement.cpp
index f0c50cc..e59b070 100644
--- a/src/3rdparty/webkit/WebCore/wml/WMLSetvarElement.cpp
+++ b/src/3rdparty/webkit/WebCore/wml/WMLSetvarElement.cpp
@@ -72,7 +72,7 @@ String WMLSetvarElement::name() const
String WMLSetvarElement::value() const
{
- return parseValueSubstitutingVariableReferences(getAttribute(HTMLNames::valueAttr));
+ return parseValueSubstitutingVariableReferences(getAttribute(HTMLNames::valueAttr));
}
}
diff --git a/src/3rdparty/webkit/WebCore/workers/AbstractWorker.cpp b/src/3rdparty/webkit/WebCore/workers/AbstractWorker.cpp
new file mode 100644
index 0000000..7cb2c11
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/workers/AbstractWorker.cpp
@@ -0,0 +1,139 @@
+/*
+ * Copyright (C) 2009 Google Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following disclaimer
+ * in the documentation and/or other materials provided with the
+ * distribution.
+ * * Neither the name of Google Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+
+#if ENABLE(WORKERS)
+
+#include "AbstractWorker.h"
+
+#include "ErrorEvent.h"
+#include "Event.h"
+#include "EventException.h"
+#include "EventNames.h"
+
+namespace WebCore {
+
+AbstractWorker::AbstractWorker(ScriptExecutionContext* context)
+ : ActiveDOMObject(context, this)
+{
+}
+
+AbstractWorker::~AbstractWorker()
+{
+}
+
+void AbstractWorker::addEventListener(const AtomicString& eventType, PassRefPtr<EventListener> eventListener, bool)
+{
+ EventListenersMap::iterator iter = m_eventListeners.find(eventType);
+ if (iter == m_eventListeners.end()) {
+ ListenerVector listeners;
+ listeners.append(eventListener);
+ m_eventListeners.add(eventType, listeners);
+ } else {
+ ListenerVector& listeners = iter->second;
+ for (ListenerVector::iterator listenerIter = listeners.begin(); listenerIter != listeners.end(); ++listenerIter) {
+ if (*listenerIter == eventListener)
+ return;
+ }
+
+ listeners.append(eventListener);
+ m_eventListeners.add(eventType, listeners);
+ }
+}
+
+void AbstractWorker::removeEventListener(const AtomicString& eventType, EventListener* eventListener, bool)
+{
+ EventListenersMap::iterator iter = m_eventListeners.find(eventType);
+ if (iter == m_eventListeners.end())
+ return;
+
+ ListenerVector& listeners = iter->second;
+ for (ListenerVector::const_iterator listenerIter = listeners.begin(); listenerIter != listeners.end(); ++listenerIter) {
+ if (*listenerIter == eventListener) {
+ listeners.remove(listenerIter - listeners.begin());
+ return;
+ }
+ }
+}
+
+bool AbstractWorker::dispatchEvent(PassRefPtr<Event> event, ExceptionCode& ec)
+{
+ if (!event || event->type().isEmpty()) {
+ ec = EventException::UNSPECIFIED_EVENT_TYPE_ERR;
+ return true;
+ }
+
+ ListenerVector listenersCopy = m_eventListeners.get(event->type());
+ for (ListenerVector::const_iterator listenerIter = listenersCopy.begin(); listenerIter != listenersCopy.end(); ++listenerIter) {
+ event->setTarget(this);
+ event->setCurrentTarget(this);
+ listenerIter->get()->handleEvent(event.get(), false);
+ }
+
+ return !event->defaultPrevented();
+}
+
+void AbstractWorker::dispatchLoadErrorEvent()
+{
+ RefPtr<Event> evt = Event::create(eventNames().errorEvent, false, true);
+ if (m_onErrorListener) {
+ evt->setTarget(this);
+ evt->setCurrentTarget(this);
+ m_onErrorListener->handleEvent(evt.get(), true);
+ }
+
+ ExceptionCode ec = 0;
+ dispatchEvent(evt.release(), ec);
+ ASSERT(!ec);
+}
+
+bool AbstractWorker::dispatchScriptErrorEvent(const String& message, const String& sourceURL, int lineNumber)
+{
+ bool handled = false;
+ RefPtr<ErrorEvent> event = ErrorEvent::create(message, sourceURL, static_cast<unsigned>(lineNumber));
+ if (m_onErrorListener) {
+ event->setTarget(this);
+ event->setCurrentTarget(this);
+ m_onErrorListener->handleEvent(event.get(), true);
+ if (event->defaultPrevented())
+ handled = true;
+ }
+
+ ExceptionCode ec = 0;
+ dispatchEvent(event.release(), ec);
+ ASSERT(!ec);
+
+ return handled;
+}
+
+} // namespace WebCore
+
+#endif // ENABLE(WORKERS)
diff --git a/src/3rdparty/webkit/WebCore/workers/AbstractWorker.h b/src/3rdparty/webkit/WebCore/workers/AbstractWorker.h
new file mode 100644
index 0000000..28cc50d
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/workers/AbstractWorker.h
@@ -0,0 +1,86 @@
+/*
+ * Copyright (C) 2009 Google Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following disclaimer
+ * in the documentation and/or other materials provided with the
+ * distribution.
+ * * Neither the name of Google Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef AbstractWorker_h
+#define AbstractWorker_h
+
+#if ENABLE(WORKERS)
+
+#include "ActiveDOMObject.h"
+#include "AtomicStringHash.h"
+#include "EventListener.h"
+#include "EventTarget.h"
+#include <wtf/PassRefPtr.h>
+#include <wtf/RefCounted.h>
+#include <wtf/RefPtr.h>
+
+namespace WebCore {
+
+ class ScriptExecutionContext;
+
+ class AbstractWorker : public RefCounted<AbstractWorker>, public ActiveDOMObject, public EventTarget {
+ public:
+ // EventTarget APIs
+ virtual ScriptExecutionContext* scriptExecutionContext() const { return ActiveDOMObject::scriptExecutionContext(); }
+
+ virtual void addEventListener(const AtomicString& eventType, PassRefPtr<EventListener>, bool useCapture);
+ virtual void removeEventListener(const AtomicString& eventType, EventListener*, bool useCapture);
+ virtual bool dispatchEvent(PassRefPtr<Event>, ExceptionCode&);
+
+ // Utility routines to generate appropriate error events for loading and script exceptions.
+ void dispatchLoadErrorEvent();
+ bool dispatchScriptErrorEvent(const String& errorMessage, const String& sourceURL, int);
+
+ void setOnerror(PassRefPtr<EventListener> eventListener) { m_onErrorListener = eventListener; }
+ EventListener* onerror() const { return m_onErrorListener.get(); }
+ typedef Vector<RefPtr<EventListener> > ListenerVector;
+ typedef HashMap<AtomicString, ListenerVector> EventListenersMap;
+ EventListenersMap& eventListeners() { return m_eventListeners; }
+
+ using RefCounted<AbstractWorker>::ref;
+ using RefCounted<AbstractWorker>::deref;
+
+ AbstractWorker(ScriptExecutionContext*);
+ virtual ~AbstractWorker();
+
+ private:
+
+ virtual void refEventTarget() { ref(); }
+ virtual void derefEventTarget() { deref(); }
+
+ RefPtr<EventListener> m_onErrorListener;
+ EventListenersMap m_eventListeners;
+ };
+
+} // namespace WebCore
+
+#endif // ENABLE(WORKERS)
+
+#endif // AbstractWorker_h
diff --git a/src/3rdparty/webkit/WebCore/workers/AbstractWorker.idl b/src/3rdparty/webkit/WebCore/workers/AbstractWorker.idl
new file mode 100644
index 0000000..ae7ebc6
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/workers/AbstractWorker.idl
@@ -0,0 +1,52 @@
+/*
+ * Copyright (C) 2009 Google Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following disclaimer
+ * in the documentation and/or other materials provided with the
+ * distribution.
+ * * Neither the name of Google Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+module threads {
+
+ interface [
+ Conditional=WORKERS,
+ CustomMarkFunction,
+ CustomToJS,
+ GenerateConstructor
+ ] AbstractWorker {
+
+ attribute EventListener onerror;
+
+ [Custom] void addEventListener(in DOMString type,
+ in EventListener listener,
+ in boolean useCapture);
+ [Custom] void removeEventListener(in DOMString type,
+ in EventListener listener,
+ in boolean useCapture);
+ boolean dispatchEvent(in Event evt)
+ raises(EventException);
+ };
+
+}
diff --git a/src/3rdparty/webkit/WebCore/workers/DedicatedWorkerContext.cpp b/src/3rdparty/webkit/WebCore/workers/DedicatedWorkerContext.cpp
new file mode 100644
index 0000000..97c1581
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/workers/DedicatedWorkerContext.cpp
@@ -0,0 +1,101 @@
+/*
+ * Copyright (C) 2009 Google Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following disclaimer
+ * in the documentation and/or other materials provided with the
+ * distribution.
+ * * Neither the name of Google Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+
+#if ENABLE(WORKERS)
+
+#include "DedicatedWorkerContext.h"
+
+#include "DOMWindow.h"
+#include "MessageEvent.h"
+#include "WorkerObjectProxy.h"
+#include "WorkerThread.h"
+
+namespace WebCore {
+
+DedicatedWorkerContext::DedicatedWorkerContext(const KURL& url, const String& userAgent, WorkerThread* thread)
+ : WorkerContext(url, userAgent, thread)
+{
+}
+
+DedicatedWorkerContext::~DedicatedWorkerContext()
+{
+ ASSERT(currentThread() == thread()->threadID());
+ // Notify parent worker we are going away. This can free the WorkerThread object, so do not access it after this.
+ thread()->workerObjectProxy().workerContextDestroyed();
+}
+
+void DedicatedWorkerContext::reportException(const String& errorMessage, int lineNumber, const String& sourceURL)
+{
+ bool errorHandled = false;
+ if (onerror())
+ errorHandled = onerror()->reportError(errorMessage, sourceURL, lineNumber);
+
+ if (!errorHandled)
+ thread()->workerObjectProxy().postExceptionToWorkerObject(errorMessage, lineNumber, sourceURL);
+}
+
+void DedicatedWorkerContext::postMessage(const String& message, ExceptionCode& ec)
+{
+ postMessage(message, 0, ec);
+}
+
+void DedicatedWorkerContext::postMessage(const String& message, MessagePort* port, ExceptionCode& ec)
+{
+ if (isClosing())
+ return;
+ // Disentangle the port in preparation for sending it to the remote context.
+ OwnPtr<MessagePortChannel> channel = port ? port->disentangle(ec) : 0;
+ if (ec)
+ return;
+ thread()->workerObjectProxy().postMessageToWorkerObject(message, channel.release());
+}
+
+void DedicatedWorkerContext::dispatchMessage(const String& message, PassRefPtr<MessagePort> port)
+{
+ // Since close() stops the thread event loop, this should not ever get called while closing.
+ ASSERT(!isClosing());
+ RefPtr<Event> evt = MessageEvent::create(message, "", "", 0, port);
+
+ if (m_onmessageListener.get()) {
+ evt->setTarget(this);
+ evt->setCurrentTarget(this);
+ m_onmessageListener->handleEvent(evt.get(), false);
+ }
+
+ ExceptionCode ec = 0;
+ dispatchEvent(evt.release(), ec);
+ ASSERT(!ec);
+}
+
+} // namespace WebCore
+
+#endif // ENABLE(WORKERS)
diff --git a/src/3rdparty/webkit/WebCore/workers/DedicatedWorkerContext.h b/src/3rdparty/webkit/WebCore/workers/DedicatedWorkerContext.h
new file mode 100644
index 0000000..e37c13f
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/workers/DedicatedWorkerContext.h
@@ -0,0 +1,64 @@
+/*
+ * Copyright (C) 2009 Google Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following disclaimer
+ * in the documentation and/or other materials provided with the
+ * distribution.
+ * * Neither the name of Google Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef DedicatedWorkerContext_h
+#define DedicatedWorkerContext_h
+
+#include "WorkerContext.h"
+
+namespace WebCore {
+
+ class DedicatedWorkerContext : public WorkerContext {
+ public:
+ static PassRefPtr<DedicatedWorkerContext> create(const KURL& url, const String& userAgent, WorkerThread* thread)
+ {
+ return adoptRef(new DedicatedWorkerContext(url, userAgent, thread));
+ }
+ virtual ~DedicatedWorkerContext();
+
+ virtual void reportException(const String& errorMessage, int lineNumber, const String& sourceURL);
+
+ // EventTarget
+ virtual DedicatedWorkerContext* toDedicatedWorkerContext() { return this; }
+ void postMessage(const String&, ExceptionCode&);
+ void postMessage(const String&, MessagePort*, ExceptionCode&);
+ void setOnmessage(PassRefPtr<EventListener> eventListener) { m_onmessageListener = eventListener; }
+ EventListener* onmessage() const { return m_onmessageListener.get(); }
+
+ void dispatchMessage(const String&, PassRefPtr<MessagePort>);
+
+ private:
+ DedicatedWorkerContext(const KURL&, const String&, WorkerThread*);
+ RefPtr<EventListener> m_onmessageListener;
+ };
+
+} // namespace WebCore
+
+#endif // DedicatedWorkerContext_h
diff --git a/src/3rdparty/webkit/WebCore/workers/DedicatedWorkerContext.idl b/src/3rdparty/webkit/WebCore/workers/DedicatedWorkerContext.idl
new file mode 100644
index 0000000..ebbee33
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/workers/DedicatedWorkerContext.idl
@@ -0,0 +1,48 @@
+/*
+ * Copyright (C) 2009 Google Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following disclaimer
+ * in the documentation and/or other materials provided with the
+ * distribution.
+ * * Neither the name of Google Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+module threads {
+
+ interface [
+ Conditional=WORKERS,
+ CustomMarkFunction,
+ ExtendsDOMGlobalObject,
+ IsWorkerContext,
+ GenerateNativeConverter,
+ NoStaticTables
+ ] DedicatedWorkerContext : WorkerContext {
+
+ void postMessage(in DOMString message, in [Optional] MessagePort messagePort)
+ raises(DOMException);
+ attribute EventListener onmessage;
+
+ };
+
+}
diff --git a/src/3rdparty/webkit/WebCore/workers/GenericWorkerTask.h b/src/3rdparty/webkit/WebCore/workers/GenericWorkerTask.h
index 96b0e70..d6a9994 100644
--- a/src/3rdparty/webkit/WebCore/workers/GenericWorkerTask.h
+++ b/src/3rdparty/webkit/WebCore/workers/GenericWorkerTask.h
@@ -36,6 +36,7 @@
#include "CrossThreadCopier.h"
#include "ScriptExecutionContext.h"
#include <memory>
+#include <wtf/PassOwnPtr.h>
#include <wtf/PassRefPtr.h>
#include <wtf/TypeTraits.h>
@@ -58,6 +59,10 @@ namespace WebCore {
typedef PassRefPtr<T> ParamType;
};
+ template<typename T> struct GenericWorkerTaskTraits<PassOwnPtr<T> > {
+ typedef PassOwnPtr<T> ParamType;
+ };
+
template<typename P1, typename MP1>
class GenericWorkerTask1 : public ScriptExecutionContext::Task {
public:
@@ -323,6 +328,56 @@ namespace WebCore {
P6 m_parameter6;
P7 m_parameter7;
};
+
+ template<typename P1, typename MP1, typename P2, typename MP2, typename P3, typename MP3, typename P4, typename MP4, typename P5, typename MP5, typename P6, typename MP6, typename P7, typename MP7, typename P8, typename MP8>
+ class GenericWorkerTask8 : public ScriptExecutionContext::Task {
+ public:
+ typedef void (*Method)(ScriptExecutionContext*, MP1, MP2, MP3, MP4, MP5, MP6, MP7, MP8);
+ typedef GenericWorkerTask8<P1, MP1, P2, MP2, P3, MP3, P4, MP4, P5, MP5, P6, MP6, P7, MP7, P8, MP8> GenericWorkerTask;
+ typedef typename GenericWorkerTaskTraits<P1>::ParamType Param1;
+ typedef typename GenericWorkerTaskTraits<P2>::ParamType Param2;
+ typedef typename GenericWorkerTaskTraits<P3>::ParamType Param3;
+ typedef typename GenericWorkerTaskTraits<P4>::ParamType Param4;
+ typedef typename GenericWorkerTaskTraits<P5>::ParamType Param5;
+ typedef typename GenericWorkerTaskTraits<P6>::ParamType Param6;
+ typedef typename GenericWorkerTaskTraits<P7>::ParamType Param7;
+ typedef typename GenericWorkerTaskTraits<P8>::ParamType Param8;
+
+ static PassRefPtr<GenericWorkerTask> create(Method method, Param1 parameter1, Param2 parameter2, Param3 parameter3, Param4 parameter4, Param5 parameter5, Param6 parameter6, Param7 parameter7, Param8 parameter8)
+ {
+ return adoptRef(new GenericWorkerTask(method, parameter1, parameter2, parameter3, parameter4, parameter5, parameter6, parameter7, parameter8));
+ }
+
+ private:
+ GenericWorkerTask8(Method method, Param1 parameter1, Param2 parameter2, Param3 parameter3, Param4 parameter4, Param5 parameter5, Param6 parameter6, Param7 parameter7, Param8 parameter8)
+ : m_method(method)
+ , m_parameter1(parameter1)
+ , m_parameter2(parameter2)
+ , m_parameter3(parameter3)
+ , m_parameter4(parameter4)
+ , m_parameter5(parameter5)
+ , m_parameter6(parameter6)
+ , m_parameter7(parameter7)
+ , m_parameter8(parameter8)
+ {
+ }
+
+ virtual void performTask(ScriptExecutionContext* context)
+ {
+ (*m_method)(context, m_parameter1, m_parameter2, m_parameter3, m_parameter4, m_parameter5, m_parameter6, m_parameter7, m_parameter8);
+ }
+
+ private:
+ Method m_method;
+ P1 m_parameter1;
+ P2 m_parameter2;
+ P3 m_parameter3;
+ P4 m_parameter4;
+ P5 m_parameter5;
+ P6 m_parameter6;
+ P7 m_parameter7;
+ P8 m_parameter8;
+ };
template<typename P1, typename MP1>
PassRefPtr<ScriptExecutionContext::Task> createCallbackTask(
@@ -408,6 +463,21 @@ namespace WebCore {
CrossThreadCopier<P7>::copy(parameter7));
}
+ template<typename P1, typename MP1, typename P2, typename MP2, typename P3, typename MP3, typename P4, typename MP4, typename P5, typename MP5, typename P6, typename MP6, typename P7, typename MP7, typename P8, typename MP8>
+ PassRefPtr<ScriptExecutionContext::Task> createCallbackTask(
+ void (*method)(ScriptExecutionContext*, MP1, MP2, MP3, MP4, MP5, MP6, MP7, MP8),
+ const P1& parameter1, const P2& parameter2, const P3& parameter3, const P4& parameter4, const P5& parameter5, const P6& parameter6, const P7& parameter7, const P8& parameter8)
+ {
+ return GenericWorkerTask8<typename CrossThreadCopier<P1>::Type, MP1, typename CrossThreadCopier<P2>::Type, MP2, typename CrossThreadCopier<P3>::Type, MP3,
+ typename CrossThreadCopier<P4>::Type, MP4, typename CrossThreadCopier<P5>::Type, MP5, typename CrossThreadCopier<P6>::Type, MP6,
+ typename CrossThreadCopier<P7>::Type, MP7, typename CrossThreadCopier<P8>::Type, MP8>::create(
+ method,
+ CrossThreadCopier<P1>::copy(parameter1), CrossThreadCopier<P2>::copy(parameter2),
+ CrossThreadCopier<P3>::copy(parameter3), CrossThreadCopier<P4>::copy(parameter4),
+ CrossThreadCopier<P5>::copy(parameter5), CrossThreadCopier<P6>::copy(parameter6),
+ CrossThreadCopier<P7>::copy(parameter7), CrossThreadCopier<P8>::copy(parameter8));
+ }
+
} // namespace WebCore
#endif // ENABLE(WORKERS)
diff --git a/src/3rdparty/webkit/WebCore/workers/SharedWorker.cpp b/src/3rdparty/webkit/WebCore/workers/SharedWorker.cpp
new file mode 100644
index 0000000..e1d30d3
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/workers/SharedWorker.cpp
@@ -0,0 +1,52 @@
+/*
+ * Copyright (C) 2009 Google Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following disclaimer
+ * in the documentation and/or other materials provided with the
+ * distribution.
+ * * Neither the name of Google Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+#include "config.h"
+
+#if ENABLE(SHARED_WORKERS)
+
+#include "SharedWorker.h"
+
+#include "MessagePort.h"
+
+namespace WebCore {
+
+SharedWorker::SharedWorker(const String&, const String&, ScriptExecutionContext* context, ExceptionCode&)
+ : AbstractWorker(context)
+{
+ // Placeholder - ultimately we'll look up the worker in the SharedWorkerRepository.
+}
+
+SharedWorker::~SharedWorker()
+{
+}
+
+} // namespace WebCore
+
+#endif // ENABLE(SHARED_WORKERS)
diff --git a/src/3rdparty/webkit/WebCore/workers/SharedWorker.h b/src/3rdparty/webkit/WebCore/workers/SharedWorker.h
new file mode 100644
index 0000000..36c7d85
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/workers/SharedWorker.h
@@ -0,0 +1,61 @@
+/*
+ * Copyright (C) 2009 Google Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following disclaimer
+ * in the documentation and/or other materials provided with the
+ * distribution.
+ * * Neither the name of Google Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef SharedWorker_h
+#define SharedWorker_h
+
+#include "AbstractWorker.h"
+
+#include <wtf/PassRefPtr.h>
+#include <wtf/RefPtr.h>
+
+
+namespace WebCore {
+
+ class SharedWorker : public AbstractWorker {
+ public:
+ static PassRefPtr<SharedWorker> create(const String& url, const String& name, ScriptExecutionContext* context, ExceptionCode& ec)
+ {
+ return adoptRef(new SharedWorker(url, name, context, ec));
+ }
+ ~SharedWorker();
+ MessagePort* port() const { return m_port.get(); }
+
+ virtual SharedWorker* toSharedWorker() { return this; }
+
+ private:
+ SharedWorker(const String& url, const String& name, ScriptExecutionContext*, ExceptionCode&);
+
+ RefPtr<MessagePort> m_port;
+ };
+
+} // namespace WebCore
+
+#endif // SharedWorker_h
diff --git a/src/3rdparty/webkit/WebCore/workers/SharedWorker.idl b/src/3rdparty/webkit/WebCore/workers/SharedWorker.idl
new file mode 100644
index 0000000..09475f7
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/workers/SharedWorker.idl
@@ -0,0 +1,42 @@
+/*
+ * Copyright (C) 2009 Google Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following disclaimer
+ * in the documentation and/or other materials provided with the
+ * distribution.
+ * * Neither the name of Google Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+module threads {
+
+ interface [
+ Conditional=SHARED_WORKERS,
+ CustomMarkFunction,
+ GenerateNativeConverter,
+ GenerateToJS
+ ] SharedWorker : AbstractWorker {
+ readonly attribute MessagePort port;
+ };
+
+}
diff --git a/src/3rdparty/webkit/WebCore/workers/Worker.cpp b/src/3rdparty/webkit/WebCore/workers/Worker.cpp
index a810dda..866687f 100644
--- a/src/3rdparty/webkit/WebCore/workers/Worker.cpp
+++ b/src/3rdparty/webkit/WebCore/workers/Worker.cpp
@@ -50,23 +50,12 @@
namespace WebCore {
-Worker::Worker(const String& url, ScriptExecutionContext* context, ExceptionCode& ec)
- : ActiveDOMObject(context, this)
+Worker::Worker(const String& url, ScriptExecutionContext* context)
+ : AbstractWorker(context)
, m_contextProxy(WorkerContextProxy::create(this))
{
- m_scriptURL = context->completeURL(url);
- if (url.isEmpty() || !m_scriptURL.isValid()) {
- ec = SYNTAX_ERR;
- return;
- }
-
- if (!context->securityOrigin()->canAccess(SecurityOrigin::create(m_scriptURL).get())) {
- ec = SECURITY_ERR;
- return;
- }
-
m_scriptLoader = new WorkerScriptLoader();
- m_scriptLoader->loadAsynchronously(scriptExecutionContext(), m_scriptURL, DenyCrossOriginRedirect, this);
+ m_scriptLoader->loadAsynchronously(scriptExecutionContext(), url, CompleteURL, DenyCrossOriginLoad, this);
setPendingActivity(this); // The worker context does not exist while loading, so we must ensure that the worker object is not collected, as well as its event listeners.
}
@@ -77,9 +66,18 @@ Worker::~Worker()
m_contextProxy->workerObjectDestroyed();
}
-void Worker::postMessage(const String& message)
+void Worker::postMessage(const String& message, ExceptionCode& ec)
+{
+ postMessage(message, 0, ec);
+}
+
+void Worker::postMessage(const String& message, MessagePort* messagePort, ExceptionCode& ec)
{
- m_contextProxy->postMessageToWorkerContext(message);
+ // Disentangle the port in preparation for sending it to the remote context.
+ OwnPtr<MessagePortChannel> channel = messagePort ? messagePort->disentangle(ec) : 0;
+ if (ec)
+ return;
+ m_contextProxy->postMessageToWorkerContext(message, channel.release());
}
void Worker::terminate()
@@ -106,83 +104,18 @@ bool Worker::hasPendingActivity() const
void Worker::notifyFinished()
{
if (m_scriptLoader->failed())
- dispatchErrorEvent();
+ dispatchLoadErrorEvent();
else
- m_contextProxy->startWorkerContext(m_scriptURL, scriptExecutionContext()->userAgent(m_scriptURL), m_scriptLoader->script());
+ m_contextProxy->startWorkerContext(m_scriptLoader->url(), scriptExecutionContext()->userAgent(m_scriptLoader->url()), m_scriptLoader->script());
m_scriptLoader = 0;
unsetPendingActivity(this);
}
-void Worker::dispatchErrorEvent()
-{
- RefPtr<Event> evt = Event::create(eventNames().errorEvent, false, true);
- if (m_onErrorListener) {
- evt->setTarget(this);
- evt->setCurrentTarget(this);
- m_onErrorListener->handleEvent(evt.get(), true);
- }
-
- ExceptionCode ec = 0;
- dispatchEvent(evt.release(), ec);
- ASSERT(!ec);
-}
-
-void Worker::addEventListener(const AtomicString& eventType, PassRefPtr<EventListener> eventListener, bool)
-{
- EventListenersMap::iterator iter = m_eventListeners.find(eventType);
- if (iter == m_eventListeners.end()) {
- ListenerVector listeners;
- listeners.append(eventListener);
- m_eventListeners.add(eventType, listeners);
- } else {
- ListenerVector& listeners = iter->second;
- for (ListenerVector::iterator listenerIter = listeners.begin(); listenerIter != listeners.end(); ++listenerIter) {
- if (*listenerIter == eventListener)
- return;
- }
-
- listeners.append(eventListener);
- m_eventListeners.add(eventType, listeners);
- }
-}
-
-void Worker::removeEventListener(const AtomicString& eventType, EventListener* eventListener, bool)
-{
- EventListenersMap::iterator iter = m_eventListeners.find(eventType);
- if (iter == m_eventListeners.end())
- return;
-
- ListenerVector& listeners = iter->second;
- for (ListenerVector::const_iterator listenerIter = listeners.begin(); listenerIter != listeners.end(); ++listenerIter) {
- if (*listenerIter == eventListener) {
- listeners.remove(listenerIter - listeners.begin());
- return;
- }
- }
-}
-
-bool Worker::dispatchEvent(PassRefPtr<Event> event, ExceptionCode& ec)
-{
- if (!event || event->type().isEmpty()) {
- ec = EventException::UNSPECIFIED_EVENT_TYPE_ERR;
- return true;
- }
-
- ListenerVector listenersCopy = m_eventListeners.get(event->type());
- for (ListenerVector::const_iterator listenerIter = listenersCopy.begin(); listenerIter != listenersCopy.end(); ++listenerIter) {
- event->setTarget(this);
- event->setCurrentTarget(this);
- listenerIter->get()->handleEvent(event.get(), false);
- }
-
- return !event->defaultPrevented();
-}
-
-void Worker::dispatchMessage(const String& message)
+void Worker::dispatchMessage(const String& message, PassRefPtr<MessagePort> port)
{
- RefPtr<Event> evt = MessageEvent::create(message, "", "", 0, 0);
+ RefPtr<Event> evt = MessageEvent::create(message, "", "", 0, port);
if (m_onMessageListener.get()) {
evt->setTarget(this);
diff --git a/src/3rdparty/webkit/WebCore/workers/Worker.h b/src/3rdparty/webkit/WebCore/workers/Worker.h
index bd9e556..6b8ee63 100644
--- a/src/3rdparty/webkit/WebCore/workers/Worker.h
+++ b/src/3rdparty/webkit/WebCore/workers/Worker.h
@@ -29,11 +29,11 @@
#if ENABLE(WORKERS)
-#include "AtomicStringHash.h"
+#include "AbstractWorker.h"
#include "ActiveDOMObject.h"
+#include "AtomicStringHash.h"
#include "EventListener.h"
#include "EventTarget.h"
-#include "KURL.h"
#include "WorkerScriptLoaderClient.h"
#include <wtf/OwnPtr.h>
#include <wtf/PassRefPtr.h>
@@ -49,59 +49,41 @@ namespace WebCore {
typedef int ExceptionCode;
- class Worker : public RefCounted<Worker>, public ActiveDOMObject, private WorkerScriptLoaderClient, public EventTarget {
+ class Worker : public AbstractWorker, private WorkerScriptLoaderClient {
public:
- static PassRefPtr<Worker> create(const String& url, ScriptExecutionContext* context, ExceptionCode& ec) { return adoptRef(new Worker(url, context, ec)); }
+ static PassRefPtr<Worker> create(const String& url, ScriptExecutionContext* context) { return adoptRef(new Worker(url, context)); }
~Worker();
- virtual ScriptExecutionContext* scriptExecutionContext() const { return ActiveDOMObject::scriptExecutionContext(); }
-
virtual Worker* toWorker() { return this; }
- void postMessage(const String& message);
+ void postMessage(const String&, ExceptionCode&);
+ void postMessage(const String&, MessagePort*, ExceptionCode&);
void terminate();
- void dispatchMessage(const String&);
+ void dispatchMessage(const String&, PassRefPtr<MessagePort>);
void dispatchErrorEvent();
virtual bool canSuspend() const;
virtual void stop();
virtual bool hasPendingActivity() const;
- virtual void addEventListener(const AtomicString& eventType, PassRefPtr<EventListener>, bool useCapture);
- virtual void removeEventListener(const AtomicString& eventType, EventListener*, bool useCapture);
- virtual bool dispatchEvent(PassRefPtr<Event>, ExceptionCode&);
-
- typedef Vector<RefPtr<EventListener> > ListenerVector;
- typedef HashMap<AtomicString, ListenerVector> EventListenersMap;
- EventListenersMap& eventListeners() { return m_eventListeners; }
-
- using RefCounted<Worker>::ref;
- using RefCounted<Worker>::deref;
-
void setOnmessage(PassRefPtr<EventListener> eventListener) { m_onMessageListener = eventListener; }
EventListener* onmessage() const { return m_onMessageListener.get(); }
- void setOnerror(PassRefPtr<EventListener> eventListener) { m_onErrorListener = eventListener; }
- EventListener* onerror() const { return m_onErrorListener.get(); }
-
private:
- Worker(const String&, ScriptExecutionContext*, ExceptionCode&);
+ Worker(const String&, ScriptExecutionContext*);
virtual void notifyFinished();
virtual void refEventTarget() { ref(); }
virtual void derefEventTarget() { deref(); }
- KURL m_scriptURL;
OwnPtr<WorkerScriptLoader> m_scriptLoader;
WorkerContextProxy* m_contextProxy; // The proxy outlives the worker to perform thread shutdown.
RefPtr<EventListener> m_onMessageListener;
- RefPtr<EventListener> m_onErrorListener;
- EventListenersMap m_eventListeners;
};
} // namespace WebCore
diff --git a/src/3rdparty/webkit/WebCore/workers/Worker.idl b/src/3rdparty/webkit/WebCore/workers/Worker.idl
index 2ef9b62..e701523 100644
--- a/src/3rdparty/webkit/WebCore/workers/Worker.idl
+++ b/src/3rdparty/webkit/WebCore/workers/Worker.idl
@@ -26,23 +26,18 @@
module threads {
- interface [CustomMarkFunction, Conditional=WORKERS] Worker {
+ interface [
+ Conditional=WORKERS,
+ CustomMarkFunction,
+ GenerateNativeConverter,
+ GenerateToJS
+ ] Worker : AbstractWorker {
- attribute EventListener onerror;
attribute EventListener onmessage;
- void postMessage(in DOMString message);
+ void postMessage(in DOMString message, in [Optional] MessagePort messagePort)
+ raises(DOMException);
void terminate();
-
- // EventTarget interface
- [Custom] void addEventListener(in DOMString type,
- in EventListener listener,
- in boolean useCapture);
- [Custom] void removeEventListener(in DOMString type,
- in EventListener listener,
- in boolean useCapture);
- boolean dispatchEvent(in Event evt)
- raises(EventException);
};
}
diff --git a/src/3rdparty/webkit/WebCore/workers/WorkerContext.cpp b/src/3rdparty/webkit/WebCore/workers/WorkerContext.cpp
index fd05062..9d88b75 100644
--- a/src/3rdparty/webkit/WebCore/workers/WorkerContext.cpp
+++ b/src/3rdparty/webkit/WebCore/workers/WorkerContext.cpp
@@ -36,7 +36,7 @@
#include "DOMWindow.h"
#include "Event.h"
#include "EventException.h"
-#include "MessageEvent.h"
+#include "MessagePort.h"
#include "NotImplemented.h"
#include "ScriptSourceCode.h"
#include "ScriptValue.h"
@@ -64,9 +64,6 @@ WorkerContext::WorkerContext(const KURL& url, const String& userAgent, WorkerThr
WorkerContext::~WorkerContext()
{
- ASSERT(currentThread() == m_thread->threadID());
-
- m_thread->workerObjectProxy().workerContextDestroyed();
}
ScriptExecutionContext* WorkerContext::scriptExecutionContext() const
@@ -130,17 +127,20 @@ bool WorkerContext::hasPendingActivity() const
if (iter->first->hasPendingActivity())
return true;
}
- return false;
-}
-void WorkerContext::reportException(const String& errorMessage, int lineNumber, const String& sourceURL)
-{
- m_thread->workerObjectProxy().postExceptionToWorkerObject(errorMessage, lineNumber, sourceURL);
+ // Keep the worker active as long as there is a MessagePort with pending activity or that is remotely entangled.
+ HashSet<MessagePort*>::const_iterator messagePortsEnd = messagePorts().end();
+ for (HashSet<MessagePort*>::const_iterator iter = messagePorts().begin(); iter != messagePortsEnd; ++iter) {
+ if ((*iter)->hasPendingActivity() || ((*iter)->isEntangled() && !(*iter)->locallyEntangledPort()))
+ return true;
+ }
+
+ return false;
}
-void WorkerContext::addMessage(MessageDestination destination, MessageSource source, MessageLevel level, const String& message, unsigned lineNumber, const String& sourceURL)
+void WorkerContext::addMessage(MessageDestination destination, MessageSource source, MessageType type, MessageLevel level, const String& message, unsigned lineNumber, const String& sourceURL)
{
- m_thread->workerObjectProxy().postConsoleMessageToWorkerObject(destination, source, level, message, lineNumber, sourceURL);
+ m_thread->workerObjectProxy().postConsoleMessageToWorkerObject(destination, source, type, level, message, lineNumber, sourceURL);
}
void WorkerContext::resourceRetrievedByXMLHttpRequest(unsigned long, const ScriptString&)
@@ -155,14 +155,6 @@ void WorkerContext::scriptImported(unsigned long, const String&)
notImplemented();
}
-void WorkerContext::postMessage(const String& message)
-{
- if (m_closing)
- return;
-
- m_thread->workerObjectProxy().postMessageToWorkerObject(message);
-}
-
void WorkerContext::addEventListener(const AtomicString& eventType, PassRefPtr<EventListener> eventListener, bool)
{
EventListenersMap::iterator iter = m_eventListeners.find(eventType);
@@ -239,23 +231,6 @@ void WorkerContext::clearInterval(int timeoutId)
DOMTimer::removeById(scriptExecutionContext(), timeoutId);
}
-void WorkerContext::dispatchMessage(const String& message)
-{
- // Since close() stops the thread event loop, this should not ever get called while closing.
- ASSERT(!m_closing);
- RefPtr<Event> evt = MessageEvent::create(message, "", "", 0, 0);
-
- if (m_onmessageListener.get()) {
- evt->setTarget(this);
- evt->setCurrentTarget(this);
- m_onmessageListener->handleEvent(evt.get(), false);
- }
-
- ExceptionCode ec = 0;
- dispatchEvent(evt.release(), ec);
- ASSERT(!ec);
-}
-
void WorkerContext::importScripts(const Vector<String>& urls, const String& callerURL, int callerLine, ExceptionCode& ec)
{
ec = 0;
@@ -274,7 +249,7 @@ void WorkerContext::importScripts(const Vector<String>& urls, const String& call
for (Vector<KURL>::const_iterator it = completedURLs.begin(); it != end; ++it) {
WorkerScriptLoader scriptLoader;
- scriptLoader.loadSynchronously(scriptExecutionContext(), *it, AllowCrossOriginRedirect);
+ scriptLoader.loadSynchronously(scriptExecutionContext(), *it, DoNotCompleteURL, AllowCrossOriginLoad);
// If the fetching attempt failed, throw a NETWORK_ERR exception and abort all these steps.
if (scriptLoader.failed()) {
@@ -283,7 +258,7 @@ void WorkerContext::importScripts(const Vector<String>& urls, const String& call
}
scriptExecutionContext()->scriptImported(scriptLoader.identifier(), scriptLoader.script());
- scriptExecutionContext()->addMessage(InspectorControllerDestination, JSMessageSource, LogMessageLevel, "Worker script imported: \"" + *it + "\".", callerLine, callerURL);
+ scriptExecutionContext()->addMessage(InspectorControllerDestination, JSMessageSource, LogMessageType, LogMessageLevel, "Worker script imported: \"" + *it + "\".", callerLine, callerURL);
ScriptValue exception;
m_script->evaluate(ScriptSourceCode(scriptLoader.script(), *it), &exception);
diff --git a/src/3rdparty/webkit/WebCore/workers/WorkerContext.h b/src/3rdparty/webkit/WebCore/workers/WorkerContext.h
index ce782f8..266553a 100644
--- a/src/3rdparty/webkit/WebCore/workers/WorkerContext.h
+++ b/src/3rdparty/webkit/WebCore/workers/WorkerContext.h
@@ -48,17 +48,11 @@ namespace WebCore {
class WorkerContext : public RefCounted<WorkerContext>, public ScriptExecutionContext, public EventTarget {
public:
- static PassRefPtr<WorkerContext> create(const KURL& url, const String& userAgent, WorkerThread* thread)
- {
- return adoptRef(new WorkerContext(url, userAgent, thread));
- }
virtual ~WorkerContext();
virtual bool isWorkerContext() const { return true; }
- virtual WorkerContext* toWorkerContext() { return this; }
-
virtual ScriptExecutionContext* scriptExecutionContext() const;
const KURL& url() const { return m_url; }
@@ -73,29 +67,24 @@ namespace WebCore {
bool hasPendingActivity() const;
- virtual void reportException(const String& errorMessage, int lineNumber, const String& sourceURL);
- virtual void addMessage(MessageDestination, MessageSource, MessageLevel, const String& message, unsigned lineNumber, const String& sourceURL);
+ virtual void reportException(const String& errorMessage, int lineNumber, const String& sourceURL) = 0;
+ virtual void addMessage(MessageDestination, MessageSource, MessageType, MessageLevel, const String& message, unsigned lineNumber, const String& sourceURL);
virtual void resourceRetrievedByXMLHttpRequest(unsigned long identifier, const ScriptString& sourceString);
virtual void scriptImported(unsigned long identifier, const String& sourceString);
virtual void postTask(PassRefPtr<Task>); // Executes the task on context's thread asynchronously.
-
// WorkerGlobalScope
WorkerContext* self() { return this; }
WorkerLocation* location() const;
void close();
+ void setOnerror(PassRefPtr<EventListener> eventListener) { m_onerrorListener = eventListener; }
+ EventListener* onerror() const { return m_onerrorListener.get(); }
// WorkerUtils
void importScripts(const Vector<String>& urls, const String& callerURL, int callerLine, ExceptionCode&);
WorkerNavigator* navigator() const;
-
- // DedicatedWorkerGlobalScope
- void postMessage(const String& message);
- void setOnmessage(PassRefPtr<EventListener> eventListener) { m_onmessageListener = eventListener; }
- EventListener* onmessage() const { return m_onmessageListener.get(); }
-
// Timers
int setTimeout(ScheduledAction*, int timeout);
void clearTimeout(int timeoutId);
@@ -111,7 +100,6 @@ namespace WebCore {
typedef HashMap<AtomicString, ListenerVector> EventListenersMap;
EventListenersMap& eventListeners() { return m_eventListeners; }
- void dispatchMessage(const String&);
// These methods are used for GC marking. See JSWorkerContext::mark() in
// JSWorkerContextCustom.cpp.
@@ -121,9 +109,11 @@ namespace WebCore {
using RefCounted<WorkerContext>::ref;
using RefCounted<WorkerContext>::deref;
- private:
+ protected:
WorkerContext(const KURL&, const String&, WorkerThread*);
+ bool isClosing() { return m_closing; }
+ private:
virtual void refScriptExecutionContext() { ref(); }
virtual void derefScriptExecutionContext() { deref(); }
virtual void refEventTarget() { ref(); }
@@ -141,7 +131,7 @@ namespace WebCore {
OwnPtr<WorkerScriptController> m_script;
WorkerThread* m_thread;
- RefPtr<EventListener> m_onmessageListener;
+ RefPtr<EventListener> m_onerrorListener;
EventListenersMap m_eventListeners;
bool m_closing;
diff --git a/src/3rdparty/webkit/WebCore/workers/WorkerContext.idl b/src/3rdparty/webkit/WebCore/workers/WorkerContext.idl
index 9d5aa79..2404d22 100644
--- a/src/3rdparty/webkit/WebCore/workers/WorkerContext.idl
+++ b/src/3rdparty/webkit/WebCore/workers/WorkerContext.idl
@@ -28,9 +28,10 @@ module threads {
interface [
Conditional=WORKERS,
- DelegatingGetOwnPropertySlot,
CustomMarkFunction,
+ DelegatingGetOwnPropertySlot,
ExtendsDOMGlobalObject,
+ IsWorkerContext,
LegacyParent=JSWorkerContextBase,
NoStaticTables
] WorkerContext {
@@ -41,8 +42,7 @@ module threads {
#endif
attribute [Replaceable] WorkerLocation location;
void close();
- // attribute EventListener onclose;
- // attribute EventListener onerror;
+ attribute EventListener onerror;
// WorkerUtils
[Custom] void importScripts(/*[Variadic] in DOMString urls */);
@@ -50,12 +50,6 @@ module threads {
// Database openDatabase(in DOMString name, in DOMString version, in DOMString displayName, in unsigned long estimatedSize);
// DatabaseSync openDatabaseSync(in DOMString name, in DOMString version, in DOMString displayName, in unsigned long estimatedSize);
-
- // DedicatedWorkerGlobalScope
- void postMessage(in DOMString message);
- attribute EventListener onmessage;
-
-
// Timers
[Custom] long setTimeout(in TimeoutHandler handler, in long timeout);
// [Custom] long setTimeout(in DOMString code, in long timeout);
@@ -80,6 +74,9 @@ module threads {
attribute MessageEventConstructor MessageEvent;
attribute WorkerLocationConstructor WorkerLocation;
+#if ENABLE_CHANNEL_MESSAGING
+ attribute [JSCCustomGetter] MessageChannelConstructor MessageChannel;
+#endif
attribute [JSCCustomGetter] XMLHttpRequestConstructor XMLHttpRequest;
};
diff --git a/src/3rdparty/webkit/WebCore/workers/WorkerContextProxy.h b/src/3rdparty/webkit/WebCore/workers/WorkerContextProxy.h
index c8f5761..f42527e 100644
--- a/src/3rdparty/webkit/WebCore/workers/WorkerContextProxy.h
+++ b/src/3rdparty/webkit/WebCore/workers/WorkerContextProxy.h
@@ -33,9 +33,12 @@
#if ENABLE(WORKERS)
+#include <wtf/PassOwnPtr.h>
+
namespace WebCore {
class KURL;
+ class MessagePortChannel;
class String;
class Worker;
@@ -50,7 +53,7 @@ namespace WebCore {
virtual void terminateWorkerContext() = 0;
- virtual void postMessageToWorkerContext(const String&) = 0;
+ virtual void postMessageToWorkerContext(const String&, PassOwnPtr<MessagePortChannel>) = 0;
virtual bool hasPendingActivity() const = 0;
diff --git a/src/3rdparty/webkit/WebCore/workers/WorkerLoaderProxy.h b/src/3rdparty/webkit/WebCore/workers/WorkerLoaderProxy.h
index b51f480..ac7cda1 100644
--- a/src/3rdparty/webkit/WebCore/workers/WorkerLoaderProxy.h
+++ b/src/3rdparty/webkit/WebCore/workers/WorkerLoaderProxy.h
@@ -33,11 +33,11 @@
#if ENABLE(WORKERS)
+#include "ScriptExecutionContext.h"
#include <wtf/PassRefPtr.h>
namespace WebCore {
- class ScriptExecutionContext::Task;
class String;
// A proxy to talk to the loader context. Normally, the document on the main thread
diff --git a/src/3rdparty/webkit/WebCore/workers/WorkerMessagingProxy.cpp b/src/3rdparty/webkit/WebCore/workers/WorkerMessagingProxy.cpp
index a6d0d5d..5971c1d 100644
--- a/src/3rdparty/webkit/WebCore/workers/WorkerMessagingProxy.cpp
+++ b/src/3rdparty/webkit/WebCore/workers/WorkerMessagingProxy.cpp
@@ -31,69 +31,81 @@
#include "WorkerMessagingProxy.h"
+#include "DedicatedWorkerContext.h"
#include "DOMWindow.h"
#include "Document.h"
#include "GenericWorkerTask.h"
#include "MessageEvent.h"
#include "ScriptExecutionContext.h"
#include "Worker.h"
-#include "WorkerContext.h"
#include "WorkerThread.h"
namespace WebCore {
class MessageWorkerContextTask : public ScriptExecutionContext::Task {
public:
- static PassRefPtr<MessageWorkerContextTask> create(const String& message)
+ static PassRefPtr<MessageWorkerContextTask> create(const String& message, PassOwnPtr<MessagePortChannel> channel)
{
- return adoptRef(new MessageWorkerContextTask(message));
+ return adoptRef(new MessageWorkerContextTask(message, channel));
}
private:
- MessageWorkerContextTask(const String& message)
+ MessageWorkerContextTask(const String& message, PassOwnPtr<MessagePortChannel> channel)
: m_message(message.copy())
+ , m_channel(channel)
{
}
virtual void performTask(ScriptExecutionContext* scriptContext)
{
ASSERT(scriptContext->isWorkerContext());
- WorkerContext* context = static_cast<WorkerContext*>(scriptContext);
-
- context->dispatchMessage(m_message);
-
+ DedicatedWorkerContext* context = static_cast<DedicatedWorkerContext*>(scriptContext);
+ RefPtr<MessagePort> port;
+ if (m_channel) {
+ port = MessagePort::create(*scriptContext);
+ port->entangle(m_channel.release());
+ }
+ context->dispatchMessage(m_message, port.release());
context->thread()->workerObjectProxy().confirmMessageFromWorkerObject(context->hasPendingActivity());
}
private:
String m_message;
+ OwnPtr<MessagePortChannel> m_channel;
};
class MessageWorkerTask : public ScriptExecutionContext::Task {
public:
- static PassRefPtr<MessageWorkerTask> create(const String& message, WorkerMessagingProxy* messagingProxy)
+ static PassRefPtr<MessageWorkerTask> create(const String& message, PassOwnPtr<MessagePortChannel> channel, WorkerMessagingProxy* messagingProxy)
{
- return adoptRef(new MessageWorkerTask(message, messagingProxy));
+ return adoptRef(new MessageWorkerTask(message, channel, messagingProxy));
}
private:
- MessageWorkerTask(const String& message, WorkerMessagingProxy* messagingProxy)
+ MessageWorkerTask(const String& message, PassOwnPtr<MessagePortChannel> channel, WorkerMessagingProxy* messagingProxy)
: m_message(message.copy())
+ , m_channel(channel)
, m_messagingProxy(messagingProxy)
{
}
- virtual void performTask(ScriptExecutionContext*)
+ virtual void performTask(ScriptExecutionContext* scriptContext)
{
Worker* workerObject = m_messagingProxy->workerObject();
if (!workerObject || m_messagingProxy->askedToTerminate())
return;
- workerObject->dispatchMessage(m_message);
+ RefPtr<MessagePort> port;
+ if (m_channel) {
+ port = MessagePort::create(*scriptContext);
+ port->entangle(m_channel.release());
+ }
+ workerObject->dispatchMessage(m_message, port.release());
}
private:
String m_message;
+ OwnPtr<MessagePortChannel> m_channel;
WorkerMessagingProxy* m_messagingProxy;
};
@@ -115,7 +127,15 @@ private:
virtual void performTask(ScriptExecutionContext* context)
{
- if (!m_messagingProxy->askedToTerminate())
+ Worker* workerObject = m_messagingProxy->workerObject();
+ if (!workerObject || m_messagingProxy->askedToTerminate())
+ return;
+
+ bool errorHandled = false;
+ if (workerObject->onerror())
+ errorHandled = workerObject->dispatchScriptErrorEvent(m_errorMessage, m_sourceURL, m_lineNumber);
+
+ if (!errorHandled)
context->reportException(m_errorMessage, m_lineNumber, m_sourceURL);
}
@@ -205,21 +225,21 @@ void WorkerMessagingProxy::startWorkerContext(const KURL& scriptURL, const Strin
thread->start();
}
-void WorkerMessagingProxy::postMessageToWorkerObject(const String& message)
+void WorkerMessagingProxy::postMessageToWorkerObject(const String& message, PassOwnPtr<MessagePortChannel> channel)
{
- m_scriptExecutionContext->postTask(MessageWorkerTask::create(message, this));
+ m_scriptExecutionContext->postTask(MessageWorkerTask::create(message, channel, this));
}
-void WorkerMessagingProxy::postMessageToWorkerContext(const String& message)
+void WorkerMessagingProxy::postMessageToWorkerContext(const String& message, PassOwnPtr<MessagePortChannel> channel)
{
if (m_askedToTerminate)
return;
if (m_workerThread) {
++m_unconfirmedMessageCount;
- m_workerThread->runLoop().postTask(MessageWorkerContextTask::create(message));
+ m_workerThread->runLoop().postTask(MessageWorkerContextTask::create(message, channel));
} else
- m_queuedEarlyTasks.append(MessageWorkerContextTask::create(message));
+ m_queuedEarlyTasks.append(MessageWorkerContextTask::create(message, channel));
}
void WorkerMessagingProxy::postTaskForModeToWorkerContext(PassRefPtr<ScriptExecutionContext::Task> task, const String& mode)
@@ -243,16 +263,16 @@ void WorkerMessagingProxy::postExceptionToWorkerObject(const String& errorMessag
m_scriptExecutionContext->postTask(WorkerExceptionTask::create(errorMessage, lineNumber, sourceURL, this));
}
-static void postConsoleMessageTask(ScriptExecutionContext* context, WorkerMessagingProxy* messagingProxy, MessageDestination destination, MessageSource source, MessageLevel level, const String& message, unsigned lineNumber, const String& sourceURL)
+static void postConsoleMessageTask(ScriptExecutionContext* context, WorkerMessagingProxy* messagingProxy, MessageDestination destination, MessageSource source, MessageType type, MessageLevel level, const String& message, unsigned lineNumber, const String& sourceURL)
{
if (messagingProxy->askedToTerminate())
return;
- context->addMessage(destination, source, level, message, lineNumber, sourceURL);
+ context->addMessage(destination, source, type, level, message, lineNumber, sourceURL);
}
-void WorkerMessagingProxy::postConsoleMessageToWorkerObject(MessageDestination destination, MessageSource source, MessageLevel level, const String& message, int lineNumber, const String& sourceURL)
+void WorkerMessagingProxy::postConsoleMessageToWorkerObject(MessageDestination destination, MessageSource source, MessageType type, MessageLevel level, const String& message, int lineNumber, const String& sourceURL)
{
- m_scriptExecutionContext->postTask(createCallbackTask(&postConsoleMessageTask, this, destination, source, level, message, lineNumber, sourceURL));
+ m_scriptExecutionContext->postTask(createCallbackTask(&postConsoleMessageTask, this, destination, source, type, level, message, lineNumber, sourceURL));
}
void WorkerMessagingProxy::workerThreadCreated(PassRefPtr<WorkerThread> workerThread)
diff --git a/src/3rdparty/webkit/WebCore/workers/WorkerMessagingProxy.h b/src/3rdparty/webkit/WebCore/workers/WorkerMessagingProxy.h
index 7fc9797..b705ca4 100644
--- a/src/3rdparty/webkit/WebCore/workers/WorkerMessagingProxy.h
+++ b/src/3rdparty/webkit/WebCore/workers/WorkerMessagingProxy.h
@@ -34,18 +34,20 @@
#include "WorkerLoaderProxy.h"
#include "WorkerObjectProxy.h"
#include <wtf/Noncopyable.h>
+#include <wtf/PassOwnPtr.h>
#include <wtf/PassRefPtr.h>
#include <wtf/RefPtr.h>
#include <wtf/Vector.h>
namespace WebCore {
+ class MessagePortChannel;
class ScriptExecutionContext;
class String;
class Worker;
class WorkerThread;
- class WorkerMessagingProxy : public WorkerContextProxy, public WorkerObjectProxy, public WorkerLoaderProxy, Noncopyable {
+ class WorkerMessagingProxy : public WorkerContextProxy, public WorkerObjectProxy, public WorkerLoaderProxy, public Noncopyable {
public:
WorkerMessagingProxy(Worker*);
@@ -53,15 +55,15 @@ namespace WebCore {
// (Only use these methods in the worker object thread.)
virtual void startWorkerContext(const KURL& scriptURL, const String& userAgent, const String& sourceCode);
virtual void terminateWorkerContext();
- virtual void postMessageToWorkerContext(const String& message);
+ virtual void postMessageToWorkerContext(const String&, PassOwnPtr<MessagePortChannel>);
virtual bool hasPendingActivity() const;
virtual void workerObjectDestroyed();
// Implementations of WorkerObjectProxy.
// (Only use these methods in the worker context thread.)
- virtual void postMessageToWorkerObject(const String& message);
+ virtual void postMessageToWorkerObject(const String&, PassOwnPtr<MessagePortChannel>);
virtual void postExceptionToWorkerObject(const String& errorMessage, int lineNumber, const String& sourceURL);
- virtual void postConsoleMessageToWorkerObject(MessageDestination, MessageSource, MessageLevel, const String& message, int lineNumber, const String& sourceURL);
+ virtual void postConsoleMessageToWorkerObject(MessageDestination, MessageSource, MessageType, MessageLevel, const String& message, int lineNumber, const String& sourceURL);
virtual void confirmMessageFromWorkerObject(bool hasPendingActivity);
virtual void reportPendingActivity(bool hasPendingActivity);
virtual void workerContextDestroyed();
@@ -80,6 +82,7 @@ namespace WebCore {
private:
friend class MessageWorkerTask;
friend class WorkerContextDestroyedTask;
+ friend class WorkerExceptionTask;
friend class WorkerThreadActivityReportTask;
virtual ~WorkerMessagingProxy();
diff --git a/src/3rdparty/webkit/WebCore/workers/WorkerObjectProxy.h b/src/3rdparty/webkit/WebCore/workers/WorkerObjectProxy.h
index 3b86028..c5f4456 100644
--- a/src/3rdparty/webkit/WebCore/workers/WorkerObjectProxy.h
+++ b/src/3rdparty/webkit/WebCore/workers/WorkerObjectProxy.h
@@ -35,8 +35,11 @@
#include "Console.h"
+#include <wtf/PassOwnPtr.h>
+
namespace WebCore {
+ class MessagePortChannel;
class String;
// A proxy to talk to the worker object.
@@ -44,11 +47,11 @@ namespace WebCore {
public:
virtual ~WorkerObjectProxy() {}
- virtual void postMessageToWorkerObject(const String&) = 0;
+ virtual void postMessageToWorkerObject(const String&, PassOwnPtr<MessagePortChannel>) = 0;
virtual void postExceptionToWorkerObject(const String& errorMessage, int lineNumber, const String& sourceURL) = 0;
- virtual void postConsoleMessageToWorkerObject(MessageDestination, MessageSource, MessageLevel, const String& message, int lineNumber, const String& sourceURL) = 0;
+ virtual void postConsoleMessageToWorkerObject(MessageDestination, MessageSource, MessageType, MessageLevel, const String& message, int lineNumber, const String& sourceURL) = 0;
virtual void confirmMessageFromWorkerObject(bool hasPendingActivity) = 0;
diff --git a/src/3rdparty/webkit/WebCore/workers/WorkerRunLoop.cpp b/src/3rdparty/webkit/WebCore/workers/WorkerRunLoop.cpp
index 1e5e510..cb31fe7 100644
--- a/src/3rdparty/webkit/WebCore/workers/WorkerRunLoop.cpp
+++ b/src/3rdparty/webkit/WebCore/workers/WorkerRunLoop.cpp
@@ -125,8 +125,7 @@ String WorkerRunLoop::defaultMode()
return String();
}
-class RunLoopSetup : Noncopyable
-{
+class RunLoopSetup : public Noncopyable {
public:
RunLoopSetup(WorkerRunLoop& runLoop)
: m_runLoop(runLoop)
diff --git a/src/3rdparty/webkit/WebCore/workers/WorkerScriptLoader.cpp b/src/3rdparty/webkit/WebCore/workers/WorkerScriptLoader.cpp
index 8737b88..093bf07 100644
--- a/src/3rdparty/webkit/WebCore/workers/WorkerScriptLoader.cpp
+++ b/src/3rdparty/webkit/WebCore/workers/WorkerScriptLoader.cpp
@@ -31,12 +31,15 @@
#include "WorkerScriptLoader.h"
+#include "GenericWorkerTask.h"
#include "ResourceRequest.h"
#include "ScriptExecutionContext.h"
#include "SecurityOrigin.h"
#include "WorkerContext.h"
#include "WorkerScriptLoaderClient.h"
#include "WorkerThreadableLoader.h"
+#include <wtf/OwnPtr.h>
+#include <wtf/UnusedParam.h>
namespace WebCore {
@@ -47,24 +50,59 @@ WorkerScriptLoader::WorkerScriptLoader()
{
}
-void WorkerScriptLoader::loadSynchronously(ScriptExecutionContext* scriptExecutionContext, const String& url, CrossOriginRedirectPolicy crossOriginRedirectPolicy)
+static CrossOriginRedirectPolicy toCrossOriginRedirectPolicy(CrossOriginLoadPolicy crossOriginLoadPolicy)
{
- ResourceRequest request(url);
- request.setHTTPMethod("GET");
+ return (crossOriginLoadPolicy == DenyCrossOriginLoad) ? DenyCrossOriginRedirect : AllowCrossOriginRedirect;
+}
+
+void WorkerScriptLoader::loadSynchronously(ScriptExecutionContext* scriptExecutionContext, const String& url, URLCompletionPolicy urlCompletionPolicy, CrossOriginLoadPolicy crossOriginLoadPolicy)
+{
+ OwnPtr<ResourceRequest> request(createResourceRequest(scriptExecutionContext, url, urlCompletionPolicy, crossOriginLoadPolicy));
+ if (!request)
+ return;
ASSERT(scriptExecutionContext->isWorkerContext());
- WorkerThreadableLoader::loadResourceSynchronously(static_cast<WorkerContext*>(scriptExecutionContext), request, *this, AllowStoredCredentials, crossOriginRedirectPolicy);
+ WorkerThreadableLoader::loadResourceSynchronously(static_cast<WorkerContext*>(scriptExecutionContext), *request, *this, AllowStoredCredentials, toCrossOriginRedirectPolicy(crossOriginLoadPolicy));
}
-void WorkerScriptLoader::loadAsynchronously(ScriptExecutionContext* scriptExecutionContext, const String& url, CrossOriginRedirectPolicy crossOriginRedirectPolicy, WorkerScriptLoaderClient* client)
+void WorkerScriptLoader::loadAsynchronously(ScriptExecutionContext* scriptExecutionContext, const String& url, URLCompletionPolicy urlCompletionPolicy, CrossOriginLoadPolicy crossOriginLoadPolicy, WorkerScriptLoaderClient* client)
{
ASSERT(client);
m_client = client;
- ResourceRequest request(url);
- request.setHTTPMethod("GET");
+ OwnPtr<ResourceRequest> request(createResourceRequest(scriptExecutionContext, url, urlCompletionPolicy, crossOriginLoadPolicy));
+ if (!request)
+ return;
- m_threadableLoader = ThreadableLoader::create(scriptExecutionContext, this, request, DoNotSendLoadCallbacks, DoNotSniffContent, AllowStoredCredentials, crossOriginRedirectPolicy);
+ m_threadableLoader = ThreadableLoader::create(scriptExecutionContext, this, *request, DoNotSendLoadCallbacks, DoNotSniffContent, AllowStoredCredentials, toCrossOriginRedirectPolicy(crossOriginLoadPolicy));
+}
+
+static void notifyLoadErrorTask(ScriptExecutionContext* context, WorkerScriptLoader* loader)
+{
+ UNUSED_PARAM(context);
+ loader->notifyError();
+}
+
+PassOwnPtr<ResourceRequest> WorkerScriptLoader::createResourceRequest(ScriptExecutionContext* scriptExecutionContext, const String& url, URLCompletionPolicy urlCompletionPolicy, CrossOriginLoadPolicy crossOriginLoadPolicy)
+{
+ if (urlCompletionPolicy == CompleteURL) {
+ m_url = scriptExecutionContext->completeURL(url);
+ if (url.isEmpty() || !m_url.isValid()) {
+ scriptExecutionContext->postTask(createCallbackTask(&notifyLoadErrorTask, this));
+ return 0;
+ }
+ } else
+ m_url = KURL(url);
+
+ if (crossOriginLoadPolicy == DenyCrossOriginLoad && !scriptExecutionContext->securityOrigin()->canAccess(SecurityOrigin::create(m_url).get())) {
+ scriptExecutionContext->postTask(createCallbackTask(&notifyLoadErrorTask, this));
+ return 0;
+ }
+
+ OwnPtr<ResourceRequest> request(new ResourceRequest(m_url));
+ request->setHTTPMethod("GET");
+
+ return request.release();
}
void WorkerScriptLoader::didReceiveResponse(const ResourceResponse& response)
@@ -111,18 +149,21 @@ void WorkerScriptLoader::didFinishLoading(unsigned long identifier)
void WorkerScriptLoader::didFail(const ResourceError&)
{
- m_failed = true;
- notifyFinished();
+ notifyError();
}
void WorkerScriptLoader::didFailRedirectCheck()
{
- m_failed = true;
- notifyFinished();
+ notifyError();
}
void WorkerScriptLoader::didReceiveAuthenticationCancellation(const ResourceResponse&)
{
+ notifyError();
+}
+
+void WorkerScriptLoader::notifyError()
+{
m_failed = true;
notifyFinished();
}
diff --git a/src/3rdparty/webkit/WebCore/workers/WorkerScriptLoader.h b/src/3rdparty/webkit/WebCore/workers/WorkerScriptLoader.h
index e3a9663..f465d7f 100644
--- a/src/3rdparty/webkit/WebCore/workers/WorkerScriptLoader.h
+++ b/src/3rdparty/webkit/WebCore/workers/WorkerScriptLoader.h
@@ -30,6 +30,7 @@
#if ENABLE(WORKERS)
+#include "KURL.h"
#include "ResourceResponse.h"
#include "ScriptString.h"
#include "TextResourceDecoder.h"
@@ -41,14 +42,27 @@ namespace WebCore {
class ScriptExecutionContext;
class WorkerScriptLoaderClient;
+ enum URLCompletionPolicy {
+ CompleteURL,
+ DoNotCompleteURL
+ };
+
+ enum CrossOriginLoadPolicy {
+ DenyCrossOriginLoad,
+ AllowCrossOriginLoad
+ };
+
class WorkerScriptLoader : public ThreadableLoaderClient {
public:
WorkerScriptLoader();
- void loadSynchronously(ScriptExecutionContext*, const String& url, CrossOriginRedirectPolicy);
- void loadAsynchronously(ScriptExecutionContext*, const String& url, CrossOriginRedirectPolicy, WorkerScriptLoaderClient*);
+ void loadSynchronously(ScriptExecutionContext*, const String& url, URLCompletionPolicy, CrossOriginLoadPolicy);
+ void loadAsynchronously(ScriptExecutionContext*, const String& url, URLCompletionPolicy, CrossOriginLoadPolicy, WorkerScriptLoaderClient*);
+
+ void notifyError();
const String& script() const { return m_script; }
+ const KURL& url() const { return m_url; }
bool failed() const { return m_failed; }
unsigned long identifier() const { return m_identifier; }
@@ -60,6 +74,7 @@ namespace WebCore {
virtual void didReceiveAuthenticationCancellation(const ResourceResponse&);
private:
+ PassOwnPtr<ResourceRequest> createResourceRequest(ScriptExecutionContext*, const String& url, URLCompletionPolicy, CrossOriginLoadPolicy);
void notifyFinished();
WorkerScriptLoaderClient* m_client;
@@ -67,6 +82,7 @@ namespace WebCore {
String m_responseEncoding;
RefPtr<TextResourceDecoder> m_decoder;
String m_script;
+ KURL m_url;
bool m_failed;
unsigned long m_identifier;
};
diff --git a/src/3rdparty/webkit/WebCore/workers/WorkerThread.cpp b/src/3rdparty/webkit/WebCore/workers/WorkerThread.cpp
index 0745226..5d58eea 100644
--- a/src/3rdparty/webkit/WebCore/workers/WorkerThread.cpp
+++ b/src/3rdparty/webkit/WebCore/workers/WorkerThread.cpp
@@ -30,11 +30,11 @@
#include "WorkerThread.h"
+#include "DedicatedWorkerContext.h"
#include "KURL.h"
#include "PlatformString.h"
#include "ScriptSourceCode.h"
#include "ScriptValue.h"
-#include "WorkerContext.h"
#include "WorkerObjectProxy.h"
#include <utility>
@@ -101,9 +101,9 @@ void* WorkerThread::workerThread()
{
{
MutexLocker lock(m_threadCreationMutex);
- m_workerContext = WorkerContext::create(m_startupData->m_scriptURL, m_startupData->m_userAgent, this);
+ m_workerContext = DedicatedWorkerContext::create(m_startupData->m_scriptURL, m_startupData->m_userAgent, this);
if (m_runLoop.terminated()) {
- // The worker was terminated before the thread had a chance to run. Since the context didn't exist yet,
+ // The worker was terminated before the thread had a chance to run. Since the context didn't exist yet,
// forbidExecution() couldn't be called from stop().
m_workerContext->script()->forbidExecution();
}
diff --git a/src/3rdparty/webkit/WebCore/xml/XMLHttpRequest.cpp b/src/3rdparty/webkit/WebCore/xml/XMLHttpRequest.cpp
index 59cacbd..5e20252 100644
--- a/src/3rdparty/webkit/WebCore/xml/XMLHttpRequest.cpp
+++ b/src/3rdparty/webkit/WebCore/xml/XMLHttpRequest.cpp
@@ -22,6 +22,7 @@
#include "config.h"
#include "XMLHttpRequest.h"
+#include "Cache.h"
#include "CString.h"
#include "CrossOriginAccessControl.h"
#include "CrossOriginPreflightResultCache.h"
@@ -145,6 +146,7 @@ XMLHttpRequest::XMLHttpRequest(ScriptExecutionContext* context)
, m_uploadComplete(false)
, m_sameOriginRequest(true)
, m_inPreflight(false)
+ , m_didTellLoaderAboutRequest(false)
, m_receivedLength(0)
, m_lastSendLineNumber(0)
, m_exceptionCode(0)
@@ -154,6 +156,10 @@ XMLHttpRequest::XMLHttpRequest(ScriptExecutionContext* context)
XMLHttpRequest::~XMLHttpRequest()
{
+ if (m_didTellLoaderAboutRequest) {
+ cache()->loader()->nonCacheRequestComplete(m_url);
+ m_didTellLoaderAboutRequest = false;
+ }
if (m_upload)
m_upload->disconnectXMLHttpRequest();
}
@@ -681,6 +687,16 @@ void XMLHttpRequest::loadRequestAsynchronously(ResourceRequest& request)
// a request is in progress because we need to keep the listeners alive,
// and they are referenced by the JavaScript wrapper.
setPendingActivity(this);
+
+ // For now we should only balance the nonCached request count for main-thread XHRs and not
+ // Worker XHRs, as the Cache is not thread-safe.
+ // This will become irrelevant after https://bugs.webkit.org/show_bug.cgi?id=27165 is resolved.
+ if (!scriptExecutionContext()->isWorkerContext()) {
+ ASSERT(isMainThread());
+ ASSERT(!m_didTellLoaderAboutRequest);
+ cache()->loader()->nonCacheRequestInFlight(m_url);
+ m_didTellLoaderAboutRequest = true;
+ }
}
}
@@ -788,9 +804,9 @@ void XMLHttpRequest::dropProtection()
// can't be recouped until the load is done, so only
// report the extra cost at that point.
- if (JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(scriptExecutionContext()))
- if (DOMObject* wrapper = getCachedDOMObjectWrapper(*globalObject->globalData(), this))
- JSC::Heap::heap(wrapper)->reportExtraMemoryCost(m_responseText.size() * 2);
+ if (JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(scriptExecutionContext()))
+ if (DOMObject* wrapper = getCachedDOMObjectWrapper(*globalObject->globalData(), this))
+ JSC::Heap::heap(wrapper)->reportExtraMemoryCost(m_responseText.size() * 2);
#endif
unsetPendingActivity(this);
@@ -807,7 +823,7 @@ static void reportUnsafeUsage(ScriptExecutionContext* context, const String& mes
return;
// FIXME: It's not good to report the bad usage without indicating what source line it came from.
// We should pass additional parameters so we can tell the console where the mistake occurred.
- context->addMessage(ConsoleDestination, JSMessageSource, ErrorMessageLevel, message, 1, String());
+ context->addMessage(ConsoleDestination, JSMessageSource, LogMessageType, ErrorMessageLevel, message, 1, String());
}
void XMLHttpRequest::setRequestHeader(const AtomicString& name, const String& value, ExceptionCode& ec)
@@ -961,6 +977,11 @@ String XMLHttpRequest::statusText(ExceptionCode& ec) const
void XMLHttpRequest::didFail(const ResourceError& error)
{
+ if (m_didTellLoaderAboutRequest) {
+ cache()->loader()->nonCacheRequestComplete(m_url);
+ m_didTellLoaderAboutRequest = false;
+ }
+
// If we are already in an error state, for instance we called abort(), bail out early.
if (m_error)
return;
@@ -982,6 +1003,11 @@ void XMLHttpRequest::didFailRedirectCheck()
void XMLHttpRequest::didFinishLoading(unsigned long identifier)
{
+ if (m_didTellLoaderAboutRequest) {
+ cache()->loader()->nonCacheRequestComplete(m_url);
+ m_didTellLoaderAboutRequest = false;
+ }
+
if (m_error)
return;
@@ -997,7 +1023,7 @@ void XMLHttpRequest::didFinishLoading(unsigned long identifier)
m_responseText += m_decoder->flush();
scriptExecutionContext()->resourceRetrievedByXMLHttpRequest(identifier, m_responseText);
- scriptExecutionContext()->addMessage(InspectorControllerDestination, JSMessageSource, LogMessageLevel, "XHR finished loading: \"" + m_url + "\".", m_lastSendLineNumber, m_lastSendURL);
+ scriptExecutionContext()->addMessage(InspectorControllerDestination, JSMessageSource, LogMessageType, LogMessageLevel, "XHR finished loading: \"" + m_url + "\".", m_lastSendLineNumber, m_lastSendURL);
bool hadLoader = m_loader;
m_loader = 0;
diff --git a/src/3rdparty/webkit/WebCore/xml/XMLHttpRequest.h b/src/3rdparty/webkit/WebCore/xml/XMLHttpRequest.h
index 6955c11..d581d3d 100644
--- a/src/3rdparty/webkit/WebCore/xml/XMLHttpRequest.h
+++ b/src/3rdparty/webkit/WebCore/xml/XMLHttpRequest.h
@@ -225,6 +225,7 @@ private:
bool m_sameOriginRequest;
bool m_allowAccess;
bool m_inPreflight;
+ bool m_didTellLoaderAboutRequest;
// Used for onprogress tracking
long long m_receivedLength;
diff --git a/src/3rdparty/webkit/WebCore/xml/XPathExpressionNode.h b/src/3rdparty/webkit/WebCore/xml/XPathExpressionNode.h
index d12b451..74b134e 100644
--- a/src/3rdparty/webkit/WebCore/xml/XPathExpressionNode.h
+++ b/src/3rdparty/webkit/WebCore/xml/XPathExpressionNode.h
@@ -53,7 +53,7 @@ namespace WebCore {
virtual ~ParseNode() { }
};
- class Expression : public ParseNode, Noncopyable {
+ class Expression : public ParseNode, public Noncopyable {
public:
static EvaluationContext& evaluationContext();
diff --git a/src/3rdparty/webkit/WebCore/xml/XPathFunctions.cpp b/src/3rdparty/webkit/WebCore/xml/XPathFunctions.cpp
index 1f1d985..da39443 100644
--- a/src/3rdparty/webkit/WebCore/xml/XPathFunctions.cpp
+++ b/src/3rdparty/webkit/WebCore/xml/XPathFunctions.cpp
@@ -667,12 +667,12 @@ Value FunRound::evaluate() const
return round(arg(0)->evaluate().toNumber());
}
-struct FunctionMapping {
- const char *name;
- FunctionRec function;
-};
static void createFunctionMap()
{
+ struct FunctionMapping {
+ const char *name;
+ FunctionRec function;
+ };
static const FunctionMapping functions[] = {
{ "boolean", { &createFunBoolean, 1 } },
{ "ceiling", { &createFunCeiling, 1 } },
diff --git a/src/3rdparty/webkit/WebCore/xml/XPathGrammar.y b/src/3rdparty/webkit/WebCore/xml/XPathGrammar.y
index 15a859b..14e9fa3 100644
--- a/src/3rdparty/webkit/WebCore/xml/XPathGrammar.y
+++ b/src/3rdparty/webkit/WebCore/xml/XPathGrammar.y
@@ -37,6 +37,10 @@
#include "XPathPath.h"
#include "XPathPredicate.h"
#include "XPathVariableReference.h"
+#include <wtf/FastMalloc.h>
+
+#define YYMALLOC fastMalloc
+#define YYFREE fastFree
#define YYENABLE_NLS 0
#define YYLTYPE_IS_TRIVIAL 1
diff --git a/src/3rdparty/webkit/WebCore/xml/XPathParser.h b/src/3rdparty/webkit/WebCore/xml/XPathParser.h
index 8d6da3f..e7796030 100644
--- a/src/3rdparty/webkit/WebCore/xml/XPathParser.h
+++ b/src/3rdparty/webkit/WebCore/xml/XPathParser.h
@@ -58,7 +58,7 @@ namespace WebCore {
Token(int t, EqTestOp::Opcode v): type(t), eqop(v) {}
};
- class Parser : Noncopyable {
+ class Parser : public Noncopyable {
public:
Parser();
diff --git a/src/3rdparty/webkit/WebCore/xml/XPathPath.h b/src/3rdparty/webkit/WebCore/xml/XPathPath.h
index dc77971..7dd17d9 100644
--- a/src/3rdparty/webkit/WebCore/xml/XPathPath.h
+++ b/src/3rdparty/webkit/WebCore/xml/XPathPath.h
@@ -72,8 +72,7 @@ namespace WebCore {
bool m_absolute;
};
- class Path : public Expression
- {
+ class Path : public Expression {
public:
Path(Filter*, LocationPath*);
virtual ~Path();
diff --git a/src/3rdparty/webkit/WebCore/xml/XPathPredicate.h b/src/3rdparty/webkit/WebCore/xml/XPathPredicate.h
index 6c9d413..5f2482a 100644
--- a/src/3rdparty/webkit/WebCore/xml/XPathPredicate.h
+++ b/src/3rdparty/webkit/WebCore/xml/XPathPredicate.h
@@ -105,7 +105,7 @@ namespace WebCore {
virtual Value::Type resultType() const { return Value::NodeSetValue; }
};
- class Predicate : Noncopyable {
+ class Predicate : public Noncopyable {
public:
Predicate(Expression*);
~Predicate();
diff --git a/src/3rdparty/webkit/WebCore/xml/XPathStep.h b/src/3rdparty/webkit/WebCore/xml/XPathStep.h
index 1c26327..11612e9 100644
--- a/src/3rdparty/webkit/WebCore/xml/XPathStep.h
+++ b/src/3rdparty/webkit/WebCore/xml/XPathStep.h
@@ -39,7 +39,7 @@ namespace WebCore {
class Predicate;
- class Step : public ParseNode, Noncopyable {
+ class Step : public ParseNode, public Noncopyable {
public:
enum Axis {
AncestorAxis, AncestorOrSelfAxis, AttributeAxis,
diff --git a/src/3rdparty/webkit/WebCore/xml/XSLTProcessor.cpp b/src/3rdparty/webkit/WebCore/xml/XSLTProcessor.cpp
index 3865124..a26fe77 100644
--- a/src/3rdparty/webkit/WebCore/xml/XSLTProcessor.cpp
+++ b/src/3rdparty/webkit/WebCore/xml/XSLTProcessor.cpp
@@ -99,7 +99,7 @@ void XSLTProcessor::parseErrorFunc(void* userData, xmlError* error)
break;
}
- console->addMessage(XMLMessageSource, level, error->message, error->line, error->file);
+ console->addMessage(XMLMessageSource, LogMessageType, level, error->message, error->line, error->file);
}
// FIXME: There seems to be no way to control the ctxt pointer for loading here, thus we have globals.
diff --git a/src/3rdparty/webkit/WebKit.pri b/src/3rdparty/webkit/WebKit.pri
index 73a5e5c..b363365 100644
--- a/src/3rdparty/webkit/WebKit.pri
+++ b/src/3rdparty/webkit/WebKit.pri
@@ -21,7 +21,11 @@ building-libs {
LIBS += -framework QtWebKit
QMAKE_FRAMEWORKPATH = $$OUTPUT_DIR/lib $$QMAKE_FRAMEWORKPATH
} else {
- LIBS += -lQtWebKit
+ win32-*|wince* {
+ LIBS += -lQtWebKit$${QT_MAJOR_VERSION}
+ } else {
+ LIBS += -lQtWebKit
+ }
}
}
DEPENDPATH += $$PWD/WebKit/qt/Api
@@ -35,6 +39,23 @@ CONFIG(release, debug|release) {
BASE_DIR = $$PWD
INCLUDEPATH += $$PWD/WebKit/qt/Api
+# Enable GNU compiler extensions to the ARM compiler for all Qt ports using RVCT
+*-armcc {
+ QMAKE_CFLAGS += --gnu
+ QMAKE_CXXFLAGS += --gnu --no_parse_templates
+}
+
+symbian {
+ QMAKE_CXXFLAGS.ARMCC += --gnu --no_parse_templates
+ DEFINES *= QT_NO_UITOOLS
+}
+
+contains(DEFINES, QT_NO_UITOOLS): CONFIG -= uitools
+
+# Disable a few warnings on Windows. The warnings are also
+# disabled in WebKitLibraries/win/tools/vsprops/common.vsprops
+win32-msvc*: QMAKE_CXXFLAGS += -wd4291 -wd4344 -wd4503 -wd4800 -wd4819 -wd4996
+
#
# For builds inside Qt we interpret the output rule and the input of each extra compiler manually
# and add the resulting sources to the SOURCES variable, because the build inside Qt contains already
diff --git a/src/3rdparty/webkit/WebKit/ChangeLog b/src/3rdparty/webkit/WebKit/ChangeLog
index f07a75c..c7913d2 100644
--- a/src/3rdparty/webkit/WebKit/ChangeLog
+++ b/src/3rdparty/webkit/WebKit/ChangeLog
@@ -1,3 +1,184 @@
+2009-07-24 Andrei Popescu <andreip@google.com>
+
+ ApplicationCache should have size limit
+ https://bugs.webkit.org/show_bug.cgi?id=22700
+
+ Updated the project after adding WebApplicationCache.h/mm
+
+ * WebKit.xcodeproj/project.pbxproj:
+
+2009-07-16 Maxime Simon <simon.maxime@gmail.com>
+
+ Reviewed by Eric Seidel.
+
+ Added InspectorClient for Haiku WebCore support.
+ https://bugs.webkit.org/show_bug.cgi?id=26952
+
+ Adding two files, InspectorClientHaiku.h and InspectorClientHaiku.cpp
+
+ * haiku/WebCoreSupport/InspectorClientHaiku.cpp: Added.
+ (WebCore::InspectorClientHaiku::inspectorDestroyed):
+ (WebCore::InspectorClientHaiku::createPage):
+ (WebCore::InspectorClientHaiku::localizedStringsURL):
+ (WebCore::InspectorClientHaiku::hiddenPanels):
+ (WebCore::InspectorClientHaiku::showWindow):
+ (WebCore::InspectorClientHaiku::closeWindow):
+ (WebCore::InspectorClientHaiku::attachWindow):
+ (WebCore::InspectorClientHaiku::detachWindow):
+ (WebCore::InspectorClientHaiku::setAttachedWindowHeight):
+ (WebCore::InspectorClientHaiku::highlight):
+ (WebCore::InspectorClientHaiku::hideHighlight):
+ (WebCore::InspectorClientHaiku::inspectedURLChanged):
+ (WebCore::InspectorClientHaiku::populateSetting):
+ (WebCore::InspectorClientHaiku::storeSetting):
+ (WebCore::InspectorClientHaiku::removeSetting):
+ * haiku/WebCoreSupport/InspectorClientHaiku.h: Added.
+
+2009-07-16 Maxime Simon <simon.maxime@gmail.com>
+
+ Reviewed by Oliver Hunt.
+
+ Added EditorClient for Haiku WebCore support.
+ https://bugs.webkit.org/show_bug.cgi?id=26952
+
+ Adding two files, EditorClientHaiku.h and EditorClientHaiku.cpp
+
+ * haiku/WebCoreSupport/EditorClientHaiku.cpp: Added.
+ (WebCore::EditorClientHaiku::EditorClientHaiku):
+ (WebCore::EditorClientHaiku::setPage):
+ (WebCore::EditorClientHaiku::pageDestroyed):
+ (WebCore::EditorClientHaiku::shouldDeleteRange):
+ (WebCore::EditorClientHaiku::shouldShowDeleteInterface):
+ (WebCore::EditorClientHaiku::smartInsertDeleteEnabled):
+ (WebCore::EditorClientHaiku::isSelectTrailingWhitespaceEnabled):
+ (WebCore::EditorClientHaiku::isContinuousSpellCheckingEnabled):
+ (WebCore::EditorClientHaiku::toggleContinuousSpellChecking):
+ (WebCore::EditorClientHaiku::isGrammarCheckingEnabled):
+ (WebCore::EditorClientHaiku::toggleGrammarChecking):
+ (WebCore::EditorClientHaiku::spellCheckerDocumentTag):
+ (WebCore::EditorClientHaiku::isEditable):
+ (WebCore::EditorClientHaiku::shouldBeginEditing):
+ (WebCore::EditorClientHaiku::shouldEndEditing):
+ (WebCore::EditorClientHaiku::shouldInsertNode):
+ (WebCore::EditorClientHaiku::shouldInsertText):
+ (WebCore::EditorClientHaiku::shouldChangeSelectedRange):
+ (WebCore::EditorClientHaiku::shouldApplyStyle):
+ (WebCore::EditorClientHaiku::shouldMoveRangeAfterDelete):
+ (WebCore::EditorClientHaiku::didBeginEditing):
+ (WebCore::EditorClientHaiku::respondToChangedContents):
+ (WebCore::EditorClientHaiku::respondToChangedSelection):
+ (WebCore::EditorClientHaiku::didEndEditing):
+ (WebCore::EditorClientHaiku::didWriteSelectionToPasteboard):
+ (WebCore::EditorClientHaiku::didSetSelectionTypesForPasteboard):
+ (WebCore::EditorClientHaiku::registerCommandForUndo):
+ (WebCore::EditorClientHaiku::registerCommandForRedo):
+ (WebCore::EditorClientHaiku::clearUndoRedoOperations):
+ (WebCore::EditorClientHaiku::canUndo):
+ (WebCore::EditorClientHaiku::canRedo):
+ (WebCore::EditorClientHaiku::undo):
+ (WebCore::EditorClientHaiku::redo):
+ (WebCore::EditorClientHaiku::handleKeyboardEvent):
+ (WebCore::EditorClientHaiku::handleInputMethodKeydown):
+ (WebCore::EditorClientHaiku::textFieldDidBeginEditing):
+ (WebCore::EditorClientHaiku::textFieldDidEndEditing):
+ (WebCore::EditorClientHaiku::textDidChangeInTextField):
+ (WebCore::EditorClientHaiku::doTextFieldCommandFromEvent):
+ (WebCore::EditorClientHaiku::textWillBeDeletedInTextField):
+ (WebCore::EditorClientHaiku::textDidChangeInTextArea):
+ (WebCore::EditorClientHaiku::ignoreWordInSpellDocument):
+ (WebCore::EditorClientHaiku::learnWord):
+ (WebCore::EditorClientHaiku::checkSpellingOfString):
+ (WebCore::EditorClientHaiku::getAutoCorrectSuggestionForMisspelledWord):
+ (WebCore::EditorClientHaiku::checkGrammarOfString):
+ (WebCore::EditorClientHaiku::updateSpellingUIWithGrammarString):
+ (WebCore::EditorClientHaiku::updateSpellingUIWithMisspelledWord):
+ (WebCore::EditorClientHaiku::showSpellingUI):
+ (WebCore::EditorClientHaiku::spellingUIIsShowing):
+ (WebCore::EditorClientHaiku::getGuessesForWord):
+ (WebCore::EditorClientHaiku::setInputMethodState):
+ (WebCore::EditorClientHaiku::isEditing):
+ * haiku/WebCoreSupport/EditorClientHaiku.h: Added.
+
+2009-07-16 Maxime Simon <simon.maxime@gmail.com>
+
+ Reviewed by Eric Seidel.
+
+ Added DragClient for Haiku WebCore support.
+ https://bugs.webkit.org/show_bug.cgi?id=26952
+
+ Adding two files, DragClientHaiku.h and DragClientHaiku.cpp
+
+ * haiku/WebCoreSupport/DragClientHaiku.cpp: Added.
+ (WebCore::DragClientHaiku::actionMaskForDrag):
+ (WebCore::DragClientHaiku::willPerformDragDestinationAction):
+ (WebCore::DragClientHaiku::dragControllerDestroyed):
+ (WebCore::DragClientHaiku::dragSourceActionMaskForPoint):
+ (WebCore::DragClientHaiku::willPerformDragSourceAction):
+ (WebCore::DragClientHaiku::startDrag):
+ (WebCore::DragClientHaiku::createDragImageForLink):
+ * haiku/WebCoreSupport/DragClientHaiku.h: Added.
+
+2009-07-16 Maxime Simon <simon.maxime@gmail.com>
+
+ Reviewed by Oliver Hunt.
+
+ Added ContextMenuClient for Haiku WebCore support.
+ https://bugs.webkit.org/show_bug.cgi?id=26952
+
+ Adding two files, ContextMenuClientHaiku.h
+ and ContextMenuClientHaiku.cpp
+
+ * haiku/WebCoreSupport/ContextMenuClientHaiku.cpp: Added.
+ (WebCore::ContextMenuClientHaiku::contextMenuDestroyed):
+ (WebCore::ContextMenuClientHaiku::getCustomMenuFromDefaultItems):
+ (WebCore::ContextMenuClientHaiku::contextMenuItemSelected):
+ (WebCore::ContextMenuClientHaiku::downloadURL):
+ (WebCore::ContextMenuClientHaiku::lookUpInDictionary):
+ (WebCore::ContextMenuClientHaiku::speak):
+ (WebCore::ContextMenuClientHaiku::isSpeaking):
+ (WebCore::ContextMenuClientHaiku::stopSpeaking):
+ (WebCore::ContextMenuClientHaiku::searchWithGoogle):
+ * haiku/WebCoreSupport/ContextMenuClientHaiku.h: Added.
+
+2009-07-10 Adam Roben <aroben@apple.com>
+
+ Sort all our Xcode projects
+
+ Accomplished using sort-Xcode-project-file.
+
+ Requested by Dave Kilzer.
+
+ * WebKit.xcodeproj/project.pbxproj:
+
+2009-07-02 Adam Roben <aroben@apple.com>
+
+ Fix warnings from update-webkit-localizable-strings
+
+ Rubber-stamped by Eric Carlson.
+
+ * English.lproj/Localizable.strings: Updated.
+
+2009-07-02 Adam Roben <aroben@apple.com>
+
+ Update StringsNotToBeLocalized.txt for (not so) recent changes
+
+ Bug 26926: StringsNotToBeLocalized.txt is out-of-date
+ <https://bugs.webkit.org/show_bug.cgi?id=26926>
+
+ Reviewed by John Sullivan.
+
+ * StringsNotToBeLocalized.txt:
+
+2009-07-02 Pierre d'Herbemont <pdherbemont@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ <rdar://problem/6518119>
+
+ Add localized strings for media controller status messages.
+
+ * English.lproj/Localizable.strings: Localized text.
+
2009-06-08 Dan Bernstein <mitz@apple.com>
Rubber-stamped by Mark Rowe.
diff --git a/src/3rdparty/webkit/WebKit/StringsNotToBeLocalized.txt b/src/3rdparty/webkit/WebKit/StringsNotToBeLocalized.txt
index 003de11..7e593ca 100644
--- a/src/3rdparty/webkit/WebKit/StringsNotToBeLocalized.txt
+++ b/src/3rdparty/webkit/WebKit/StringsNotToBeLocalized.txt
@@ -402,7 +402,6 @@
"WebViewDidChangeTypingStyleNotification"
"WebViewDidEndEditingNotification"
"WebViewWindowClass"
-"WhatsNewPanel"
"Windows %d.%d"
"Windows 95"
"Windows 98"
@@ -465,7 +464,6 @@
"com.adobe.dreamweaver-9.0"
"com.alientechnology.Proteus"
"com.app4mac.KidsBrowsercom.app4mac.wKiosk"
-"com.apple."
"com.apple.Aperture"
"com.apple.AppKit"
"com.apple.Automator"
@@ -477,6 +475,7 @@
"com.apple.JavaAppletPlugin"
"com.apple.JavaPluginCocoa"
"com.apple.KeyboardUIModeDidChange"
+"com.apple.Mail"
"com.apple.QuickTime Plugin.plugin"
"com.apple.Safari"
"com.apple.WebCore"
@@ -496,7 +495,9 @@
"com.barebones.textwrangler"
"com.barebones.yojimbo"
"com.culturedcode.xyle"
+"com.e-frontier.shade10"
"com.equinux.iSale4"
+"com.equinux.iSale5"
"com.freeverse.bumpercar"
"com.growl.growlframework"
"com.intrarts.PandoraMan"
@@ -539,7 +540,6 @@
"https"
"https:"
"i"
-"iLifeWelcomePanel"
"icon.db"
"image.pict"
"image.png"
@@ -690,6 +690,8 @@ WebKit/mac/WebCoreSupport/WebEditorClient.mm:"Enter"
WebKit/mac/WebCoreSupport/WebEditorClient.mm:"Up"
WebKit/mac/WebCoreSupport/WebFrameLoaderClient.mm:"height"
WebKit/mac/WebCoreSupport/WebFrameLoaderClient.mm:"width"
+WebKit/mac/WebCoreSupport/WebInspectorClient.mm:"Menlo"
+WebKit/mac/WebCoreSupport/WebInspectorClient.mm:"Monaco"
WebKit/mac/WebCoreSupport/WebInspectorClient.mm:"Web Inspector 2"
WebKit/mac/WebCoreSupport/WebInspectorClient.mm:"inspector"
WebKit/mac/WebView/WebHTMLView.mm:"'%@'"
@@ -742,6 +744,7 @@ WebKit/win/ProgIDMacros.h:"WebKit."
WebKit/win/WebCache.cpp:"images"
WebKit/win/WebCache.cpp:"scripts"
WebKit/win/WebCache.cpp:"style sheets"
+WebKit/win/WebCoreSupport/WebInspectorClient.cpp:"Courier New"
WebKit/win/WebCoreSupport/WebInspectorClient.cpp:"Web Inspector "
WebKit/win/WebCoreSupport/WebInspectorClient.cpp:"Web Inspector"
WebKit/win/WebCoreSupport/WebInspectorClient.cpp:"inspector"
diff --git a/src/3rdparty/webkit/WebKit/qt/Api/headers.pri b/src/3rdparty/webkit/WebKit/qt/Api/headers.pri
index e4bb618..d92eb1c 100644
--- a/src/3rdparty/webkit/WebKit/qt/Api/headers.pri
+++ b/src/3rdparty/webkit/WebKit/qt/Api/headers.pri
@@ -6,4 +6,6 @@ WEBKIT_API_HEADERS = $$PWD/qwebframe.h \
$$PWD/qwebhistoryinterface.h \
$$PWD/qwebdatabase.h \
$$PWD/qwebsecurityorigin.h \
- $$PWD/qwebelement.h
+ $$PWD/qwebelement.h \
+ $$PWD/qwebpluginfactory.h \
+ $$PWD/qwebhistory.h
diff --git a/src/3rdparty/webkit/WebKit/qt/Api/qwebdatabase.cpp b/src/3rdparty/webkit/WebKit/qt/Api/qwebdatabase.cpp
index 2db9cd0..d51e4e6 100644
--- a/src/3rdparty/webkit/WebKit/qt/Api/qwebdatabase.cpp
+++ b/src/3rdparty/webkit/WebKit/qt/Api/qwebdatabase.cpp
@@ -34,9 +34,20 @@ using namespace WebCore;
\brief The QWebDatabase class provides access to HTML 5 databases created with JavaScript.
The upcoming HTML 5 standard includes support for SQL databases that web sites can create and
- access on a local computer through JavaScript. QWebDatabase is the C++ interface to these databases.
+ access on a local computer through JavaScript. QWebDatabase is the C++ interface to these
+ databases.
- For more information refer to the \l{http://www.w3.org/html/wg/html5/#sql}{HTML 5 Draft Standard}.
+ To get access to all databases defined by a security origin, use QWebSecurityOrigin::databases().
+ Each database has an internal name(), as well as a user-friendly name, provided by displayName().
+
+ WebKit uses SQLite to create and access the local SQL databases. The location of the database
+ file in the local file system is returned by fileName(). You can access the database directly
+ through the QtSql database module.
+
+ For each database the web site can define an expectedSize(). The current size of the database
+ in bytes is returned by size().
+
+ For more information refer to the \l{http://dev.w3.org/html5/webdatabase/}{HTML 5 Draft Standard}.
\sa QWebSecurityOrigin
*/
@@ -44,7 +55,8 @@ using namespace WebCore;
/*!
Constructs a web database from \a other.
*/
-QWebDatabase::QWebDatabase(const QWebDatabase& other) : d(other.d)
+QWebDatabase::QWebDatabase(const QWebDatabase& other)
+ : d(other.d)
{
}
@@ -127,7 +139,7 @@ QWebDatabase::QWebDatabase(QWebDatabasePrivate* priv)
\endcode
\note Concurrent access to a database from multiple threads or processes
- is not very efficient because Sqlite is used as WebKit's database backend.
+ is not very efficient because SQLite is used as WebKit's database backend.
*/
QString QWebDatabase::fileName() const
{
@@ -149,10 +161,10 @@ QWebSecurityOrigin QWebDatabase::origin() const
}
/*!
- Removes the database, \a db, from its security origin. All data stored in this database
- will be destroyed.
+ Removes the database \a db from its security origin. All data stored in the
+ database \a db will be destroyed.
*/
-void QWebDatabase::removeDatabase(const QWebDatabase &db)
+void QWebDatabase::removeDatabase(const QWebDatabase& db)
{
#if ENABLE(DATABASE)
DatabaseTracker::tracker().deleteDatabase(db.d->origin.get(), db.d->name);
@@ -160,6 +172,20 @@ void QWebDatabase::removeDatabase(const QWebDatabase &db)
}
/*!
+ \since 4.6
+
+ Deletes all web databases in the configured offline storage path.
+
+ \sa QWebSettings::setOfflineStoragePath()
+*/
+void QWebDatabase::removeAllDatabases()
+{
+#if ENABLE(DATABASE)
+ DatabaseTracker::tracker().deleteAllDatabases();
+#endif
+}
+
+/*!
Destroys the web database object. The data within this database is \b not destroyed.
*/
QWebDatabase::~QWebDatabase()
diff --git a/src/3rdparty/webkit/WebKit/qt/Api/qwebdatabase.h b/src/3rdparty/webkit/WebKit/qt/Api/qwebdatabase.h
index 4e832bb..875b2eb 100644
--- a/src/3rdparty/webkit/WebKit/qt/Api/qwebdatabase.h
+++ b/src/3rdparty/webkit/WebKit/qt/Api/qwebdatabase.h
@@ -31,8 +31,7 @@ namespace WebCore {
class QWebDatabasePrivate;
class QWebSecurityOrigin;
-class QWEBKIT_EXPORT QWebDatabase
-{
+class QWEBKIT_EXPORT QWebDatabase {
public:
QWebDatabase(const QWebDatabase& other);
QWebDatabase &operator=(const QWebDatabase& other);
@@ -45,7 +44,8 @@ public:
QString fileName() const;
QWebSecurityOrigin origin() const;
- static void removeDatabase(const QWebDatabase &db);
+ static void removeDatabase(const QWebDatabase&);
+ static void removeAllDatabases();
private:
QWebDatabase(QWebDatabasePrivate* priv);
diff --git a/src/3rdparty/webkit/WebKit/qt/Api/qwebdatabase_p.h b/src/3rdparty/webkit/WebKit/qt/Api/qwebdatabase_p.h
index 988fb16..9ae8fc8 100644
--- a/src/3rdparty/webkit/WebKit/qt/Api/qwebdatabase_p.h
+++ b/src/3rdparty/webkit/WebKit/qt/Api/qwebdatabase_p.h
@@ -27,8 +27,7 @@
#include "RefPtr.h"
-class QWebDatabasePrivate : public QSharedData
-{
+class QWebDatabasePrivate : public QSharedData {
public:
WebCore::String name;
WTF::RefPtr<WebCore::SecurityOrigin> origin;
diff --git a/src/3rdparty/webkit/WebKit/qt/Api/qwebelement.cpp b/src/3rdparty/webkit/WebKit/qt/Api/qwebelement.cpp
index 413a662..1dfb409 100644
--- a/src/3rdparty/webkit/WebKit/qt/Api/qwebelement.cpp
+++ b/src/3rdparty/webkit/WebKit/qt/Api/qwebelement.cpp
@@ -46,46 +46,52 @@
using namespace WebCore;
-class QWebElementPrivate
-{
+class QWebElementPrivate {
public:
};
/*!
\class QWebElement
\since 4.6
- \brief The QWebElement class provides convenience access to DOM elements in a QWebFrame.
- \preliminary
+ \brief The QWebElement class provides convenient access to DOM elements in a QWebFrame.
- QWebElement is the main class to provide easy access to the document model.
+ QWebElement is the main class to easily access to the document model.
The document model is represented by a tree-like structure of DOM elements.
The root of the tree is called the document element and can be accessed using QWebFrame::documentElement().
- You can reach specific elements by using the findAll() and findFirst() functions, which
- allow the use of CSS selectors to identify elements.
+ You can reach specific elements using findAll() and findFirst(); the elements
+ are identified through CSS selectors.
\snippet webkitsnippets/webelement/main.cpp FindAll
- The first list contains all span elements in the document. The second list contains
- only the span elements that are children of the paragraph that is classified
- as "intro" paragraph.
+ The first list contains all \c span elements in the document. The second list contains
+ \c span elements that are children of \c p, classified with \c intro.
+
+ Using findFirst() is more efficient than calling findAll() and extracting the first element
+ only in the returned list.
Alternatively you can manually traverse the document using firstChild() and nextSibling():
\snippet webkitsnippets/webelement/main.cpp Traversing with QWebElement
The underlying content of QWebElement is explicitly shared. Creating a copy of a QWebElement
- does not create a copy of the content, both instances point to the same underlying element.
+ does not create a copy of the content. Instead, both instances point to the same element.
+
+ The element's attributes can be read using attribute() and modified with setAttribute().
- The element's attributes can be read using attribute() and changed using setAttribute().
+ The contents of child elements can be converted to plain text with toPlainText() and to
+ XHTML using toInnerXml(). To also include the element's tag in the output, use toOuterXml().
- The content of the child elements can be converted to plain text using toPlainText() and to
- x(html) using toXml(), and it is possible to replace the content using setPlainText() and setXml().
+ It is possible to replace the contents using setPlainText() and setInnerXml(). To replace
+ the element itself and its contents, use setOuterXml().
- Depending on the type of the underlying element there may be extra functionality available, not
- covered through QWebElement's API. For example a HTML form element can be triggered to submit the
- entire form. These list of these functions is available through functions() and they can be called
- directly using callFunction().
+ In the JavaScript DOM interfaces, elements can have additional functions depending on their
+ type. For example an HTML form element can be triggered to submit the entire form to the
+ web server using the submit() function. A list of these special functions can be obtained
+ in QWebElement using functions(); they can be invoked using callFunction().
+
+ Similarly element specific properties can be obtained using scriptableProperties() and
+ read/written using scriptableProperty()/setScriptableProperty().
*/
/*!
@@ -178,10 +184,13 @@ bool QWebElement::isNull() const
}
/*!
- Returns a new collection of elements that are children of this element
- and that match the given CSS selector \a selectorQuery.
+ Returns a new list of child elements matching the given CSS selector \a selectorQuery.
+ If there are no matching elements, an empty list is returned.
+
+ \l{http://www.w3.org/TR/REC-CSS2/selector.html#q1}{Standard CSS2 selector} syntax is
+ used for the query.
- The query is specified using \l{http://www.w3.org/TR/REC-CSS2/selector.html#q1}{standard CSS2 selectors}.
+ \note This search is performed recursively.
*/
QList<QWebElement> QWebElement::findAll(const QString &selectorQuery) const
{
@@ -205,9 +214,10 @@ QList<QWebElement> QWebElement::findAll(const QString &selectorQuery) const
/*!
Returns the first child element that matches the given CSS selector \a selectorQuery.
- This function is equivalent to calling findAll() and taking only the
- first element in the returned collection of elements. However calling
- this function is more efficient.
+ \l{http://www.w3.org/TR/REC-CSS2/selector.html#q1}{Standard CSS2 selector} syntax is
+ used for the query.
+
+ \note This search is performed recursively.
*/
QWebElement QWebElement::findFirst(const QString &selectorQuery) const
{
@@ -743,7 +753,7 @@ QStringList QWebElement::functions() const
continue;
JSC::UString ustring = (*it).ustring();
- names << QString::fromUtf16((const ushort*)ustring.rep()->data(),ustring.size());
+ names << QString::fromUtf16((const ushort*)ustring.rep()->data(), ustring.size());
}
if (state->hadException())
@@ -868,7 +878,7 @@ QStringList QWebElement::scriptableProperties() const
continue;
JSC::UString ustring = (*it).ustring();
- names << QString::fromUtf16((const ushort*)ustring.rep()->data(),ustring.size());
+ names << QString::fromUtf16((const ushort*)ustring.rep()->data(), ustring.size());
}
if (exec->hadException())
diff --git a/src/3rdparty/webkit/WebKit/qt/Api/qwebelement.h b/src/3rdparty/webkit/WebKit/qt/Api/qwebelement.h
index 7e56d0f..bc6f8a9 100644
--- a/src/3rdparty/webkit/WebKit/qt/Api/qwebelement.h
+++ b/src/3rdparty/webkit/WebKit/qt/Api/qwebelement.h
@@ -34,12 +34,11 @@ namespace WebCore {
class QWebFrame;
class QWebElementPrivate;
-class QWEBKIT_EXPORT QWebElement
-{
+class QWEBKIT_EXPORT QWebElement {
public:
QWebElement();
- QWebElement(const QWebElement &);
- QWebElement &operator=(const QWebElement &);
+ QWebElement(const QWebElement&);
+ QWebElement &operator=(const QWebElement&);
~QWebElement();
bool operator==(const QWebElement& o) const;
@@ -47,33 +46,33 @@ public:
bool isNull() const;
- QList<QWebElement> findAll(const QString &selectorQuery) const;
- QWebElement findFirst(const QString &selectorQuery) const;
+ QList<QWebElement> findAll(const QString& selectorQuery) const;
+ QWebElement findFirst(const QString& selectorQuery) const;
- void setPlainText(const QString &text);
+ void setPlainText(const QString& text);
QString toPlainText() const;
- void setOuterXml(const QString &markup);
+ void setOuterXml(const QString& markup);
QString toOuterXml() const;
- void setInnerXml(const QString &markup);
+ void setInnerXml(const QString& markup);
QString toInnerXml() const;
- void setAttribute(const QString &name, const QString &value);
- void setAttributeNS(const QString &namespaceUri, const QString &name, const QString &value);
- QString attribute(const QString &name, const QString &defaultValue = QString()) const;
- QString attributeNS(const QString &namespaceUri, const QString &name, const QString &defaultValue = QString()) const;
- bool hasAttribute(const QString &name) const;
- bool hasAttributeNS(const QString &namespaceUri, const QString &name) const;
- void removeAttribute(const QString &name);
- void removeAttributeNS(const QString &namespaceUri, const QString &name);
+ void setAttribute(const QString& name, const QString& value);
+ void setAttributeNS(const QString& namespaceUri, const QString& name, const QString& value);
+ QString attribute(const QString& name, const QString& defaultValue = QString()) const;
+ QString attributeNS(const QString& namespaceUri, const QString& name, const QString& defaultValue = QString()) const;
+ bool hasAttribute(const QString& name) const;
+ bool hasAttributeNS(const QString& namespaceUri, const QString& name) const;
+ void removeAttribute(const QString& name);
+ void removeAttributeNS(const QString& namespaceUri, const QString& name);
bool hasAttributes() const;
QStringList classes() const;
- bool hasClass(const QString &name) const;
- void addClass(const QString &name);
- void removeClass(const QString &name);
- void toggleClass(const QString &name);
+ bool hasClass(const QString& name) const;
+ void addClass(const QString& name);
+ void removeClass(const QString& name);
+ void toggleClass(const QString& name);
QRect geometry() const;
@@ -92,62 +91,62 @@ public:
// TODO: Add QList<QWebElement> overloads
// docs need example snippet
- void appendInside(const QString &markup);
- void appendInside(const QWebElement &element);
+ void appendInside(const QString& markup);
+ void appendInside(const QWebElement& element);
// docs need example snippet
- void prependInside(const QString &markup);
- void prependInside(const QWebElement &element);
+ void prependInside(const QString& markup);
+ void prependInside(const QWebElement& element);
// docs need example snippet
- void appendOutside(const QString &markup);
- void appendOutside(const QWebElement &element);
+ void appendOutside(const QString& markup);
+ void appendOutside(const QWebElement& element);
// docs need example snippet
- void prependOutside(const QString &markup);
- void prependOutside(const QWebElement &element);
+ void prependOutside(const QString& markup);
+ void prependOutside(const QWebElement& element);
// docs need example snippet
- void encloseContentsWith(const QWebElement &element);
- void encloseContentsWith(const QString &markup);
- void encloseWith(const QString &markup);
- void encloseWith(const QWebElement &element);
+ void encloseContentsWith(const QWebElement& element);
+ void encloseContentsWith(const QString& markup);
+ void encloseWith(const QString& markup);
+ void encloseWith(const QWebElement& element);
- void replace(const QString &markup);
- void replace(const QWebElement &element);
+ void replace(const QString& markup);
+ void replace(const QWebElement& element);
QWebElement clone() const;
- QWebElement &takeFromDocument();
+ QWebElement& takeFromDocument();
void removeFromDocument();
void removeChildren();
QVariant evaluateScript(const QString& scriptSource);
- QVariant callFunction(const QString &functionName, const QVariantList &arguments = QVariantList());
+ QVariant callFunction(const QString& functionName, const QVariantList& arguments = QVariantList());
QStringList functions() const;
- QVariant scriptableProperty(const QString &name) const;
- void setScriptableProperty(const QString &name, const QVariant &value);
+ QVariant scriptableProperty(const QString& name) const;
+ void setScriptableProperty(const QString& name, const QVariant& value);
QStringList scriptableProperties() const;
enum ResolveRule { IgnoreCascadingStyles, RespectCascadingStyles };
- QString styleProperty(const QString &name, ResolveRule = IgnoreCascadingStyles) const;
+ QString styleProperty(const QString& name, ResolveRule = IgnoreCascadingStyles) const;
enum StylePriority { NormalStylePriority, DeclaredStylePriority, ImportantStylePriority };
- void setStyleProperty(const QString &name, const QString &value, StylePriority = DeclaredStylePriority);
+ void setStyleProperty(const QString& name, const QString& value, StylePriority = DeclaredStylePriority);
- QString computedStyleProperty(const QString &name) const;
+ QString computedStyleProperty(const QString& name) const;
private:
- explicit QWebElement(WebCore::Element *domElement);
- explicit QWebElement(WebCore::Node *node);
+ explicit QWebElement(WebCore::Element*);
+ explicit QWebElement(WebCore::Node*);
friend class QWebFrame;
friend class QWebHitTestResult;
friend class QWebHitTestResultPrivate;
- QWebElementPrivate *d;
- WebCore::Element *m_element;
+ QWebElementPrivate* d;
+ WebCore::Element* m_element;
};
#endif // QWEBELEMENT_H
diff --git a/src/3rdparty/webkit/WebKit/qt/Api/qwebframe.cpp b/src/3rdparty/webkit/WebKit/qt/Api/qwebframe.cpp
index 381251d..23cb473 100644
--- a/src/3rdparty/webkit/WebKit/qt/Api/qwebframe.cpp
+++ b/src/3rdparty/webkit/WebKit/qt/Api/qwebframe.cpp
@@ -20,73 +20,71 @@
#include "config.h"
#include "qwebframe.h"
-#include "qwebpage.h"
-#include "qwebpage_p.h"
-#include "qwebframe_p.h"
-#include "qwebsecurityorigin.h"
-#include "qwebsecurityorigin_p.h"
-#include "qwebelement.h"
+#include "CallFrame.h"
+#include "Document.h"
#include "DocumentLoader.h"
+#include "DragData.h"
+#include "Element.h"
#include "FocusController.h"
-#include "FrameLoaderClientQt.h"
#include "Frame.h"
+#include "FrameLoaderClientQt.h"
#include "FrameTree.h"
#include "FrameView.h"
+#include "GCController.h"
+#include "GraphicsContext.h"
+#include "HTMLMetaElement.h"
+#include "HitTestResult.h"
#include "IconDatabase.h"
#include "InspectorController.h"
+#include "JSDOMBinding.h"
+#include "JSDOMWindowBase.h"
+#include "JSLock.h"
+#include "JSObject.h"
+#include "NodeList.h"
#include "Page.h"
+#include "PlatformMouseEvent.h"
+#include "PlatformWheelEvent.h"
+#include "PrintContext.h"
#include "PutPropertySlot.h"
-#include "ResourceRequest.h"
+#include "RenderTreeAsText.h"
#include "RenderView.h"
-#include "SelectionController.h"
+#include "ResourceRequest.h"
+#include "ScriptController.h"
+#include "ScriptSourceCode.h"
+#include "ScriptValue.h"
#include "Scrollbar.h"
-#include "PrintContext.h"
+#include "SelectionController.h"
#include "SubstituteData.h"
-
-#include "markup.h"
#include "htmlediting.h"
-#include "RenderTreeAsText.h"
-#include "Element.h"
-#include "Document.h"
-#include "DragData.h"
-#include "RenderView.h"
-#include "GraphicsContext.h"
-#include "PlatformMouseEvent.h"
-#include "PlatformWheelEvent.h"
-#include "GraphicsContext.h"
-#include "HitTestResult.h"
-
-#include "CallFrame.h"
-#include "JSDOMBinding.h"
-#include "JSDOMWindow.h"
-#include "JSLock.h"
-#include "JSObject.h"
+#include "markup.h"
#include "qt_instance.h"
#include "qt_runtime.h"
+#include "qwebelement.h"
+#include "qwebframe_p.h"
+#include "qwebpage.h"
+#include "qwebpage_p.h"
+#include "qwebsecurityorigin.h"
+#include "qwebsecurityorigin_p.h"
#include "runtime.h"
#include "runtime_object.h"
#include "runtime_root.h"
-#include "ScriptController.h"
-#include "ScriptSourceCode.h"
-#include "ScriptValue.h"
-
#include "wtf/HashMap.h"
-
+#include <QMultiMap>
#include <qdebug.h>
#include <qevent.h>
#include <qfileinfo.h>
#include <qpainter.h>
-#include <QMultiMap>
+#include <qprinter.h>
+#include <qregion.h>
+
+#if QT_VERSION < 0x040400
+#include "qwebnetworkinterface.h"
+#endif
+
#if QT_VERSION >= 0x040400
#include <qnetworkrequest.h>
-#else
-#include "qwebnetworkinterface.h"
#endif
-#include <qregion.h>
-#include <qprinter.h>
-#include "HTMLMetaElement.h"
-#include "NodeList.h"
using namespace WebCore;
@@ -166,27 +164,56 @@ int QWEBKIT_EXPORT qt_drt_numberOfActiveAnimations(QWebFrame *qframe)
return controller->numberOfActiveAnimations();
}
-void QWebFramePrivate::init(QWebFrame *qframe, WebCore::Page *webcorePage, QWebFrameData *frameData)
+void QWEBKIT_EXPORT qt_drt_clearFrameName(QWebFrame* qFrame)
{
- q = qframe;
+ Frame* frame = QWebFramePrivate::core(qFrame);
+ frame->tree()->clearName();
+}
- allowsScrolling = frameData->allowsScrolling;
- marginWidth = frameData->marginWidth;
- marginHeight = frameData->marginHeight;
+int QWEBKIT_EXPORT qt_drt_javaScriptObjectsCount()
+{
+ return JSDOMWindowBase::commonJSGlobalData()->heap.globalObjectCount();
+}
+
+void QWEBKIT_EXPORT qt_drt_garbageCollector_collect()
+{
+ gcController().garbageCollectNow();
+}
+void QWEBKIT_EXPORT qt_drt_garbageCollector_collectOnAlternateThread(bool waitUntilDone)
+{
+ gcController().garbageCollectOnAlternateThreadForDebugging(waitUntilDone);
+}
+
+QWebFrameData::QWebFrameData(WebCore::Page* parentPage, WebCore::Frame* parentFrame,
+ WebCore::HTMLFrameOwnerElement* ownerFrameElement,
+ const WebCore::String& frameName)
+ : name(frameName)
+ , ownerElement(ownerFrameElement)
+ , page(parentPage)
+ , allowsScrolling(true)
+ , marginWidth(0)
+ , marginHeight(0)
+{
frameLoaderClient = new FrameLoaderClientQt();
- RefPtr<Frame> newFrame = Frame::create(webcorePage, frameData->ownerElement, frameLoaderClient);
- frame = newFrame.get();
- frameLoaderClient->setFrame(qframe, frame);
+ frame = Frame::create(page, ownerElement, frameLoaderClient);
// FIXME: All of the below should probably be moved over into WebCore
- frame->tree()->setName(frameData->name);
- if (QWebFrame* _parentFrame = parentFrame())
- QWebFramePrivate::core(_parentFrame)->tree()->appendChild(frame);
+ frame->tree()->setName(name);
+ if (parentFrame)
+ parentFrame->tree()->appendChild(frame);
+}
- // balanced by adoptRef in FrameLoaderClientQt::createFrame
- if (frameData->ownerElement)
- frame->ref();
+void QWebFramePrivate::init(QWebFrame *qframe, QWebFrameData *frameData)
+{
+ q = qframe;
+
+ allowsScrolling = frameData->allowsScrolling;
+ marginWidth = frameData->marginWidth;
+ marginHeight = frameData->marginHeight;
+ frame = frameData->frame.get();
+ frameLoaderClient = frameData->frameLoaderClient;
+ frameLoaderClient->setFrame(qframe, frame);
frame->init();
}
@@ -205,7 +232,7 @@ WebCore::Scrollbar* QWebFramePrivate::verticalScrollBar() const
return frame->view()->verticalScrollbar();
}
-void QWebFramePrivate::renderPrivate(QPainter *painter, const QRegion &clip, bool contents)
+void QWebFramePrivate::renderPrivate(QPainter *painter, const QRegion &clip)
{
if (!frame->view() || !frame->contentRenderer())
return;
@@ -219,7 +246,7 @@ void QWebFramePrivate::renderPrivate(QPainter *painter, const QRegion &clip, boo
GraphicsContext context(painter);
- if (!contents)
+ if (clipRenderToViewport)
view->paint(&context, vector.first());
else
view->paintContents(&context, vector.first());
@@ -228,7 +255,7 @@ void QWebFramePrivate::renderPrivate(QPainter *painter, const QRegion &clip, boo
const QRect& clipRect = vector.at(i);
painter->save();
painter->setClipRect(clipRect, Qt::IntersectClip);
- if (!contents)
+ if (clipRenderToViewport)
view->paint(&context, clipRect);
else
view->paintContents(&context, clipRect);
@@ -253,6 +280,13 @@ void QWebFramePrivate::renderPrivate(QPainter *painter, const QRegion &clip, boo
\l{Elements of QWebView} for an explanation of how web
frames are related to a web page and web view.
+ The QWebFrame class also offers methods to retrieve both the URL currently
+ loaded by the frame (see url()) as well as the URL originally requested
+ to be loaded (see requestedUrl()). These methods make possible the retrieval
+ of the URL before and after a DNS resolution or a redirection occurs during
+ the load process. The requestedUrl() also matches to the URL added to the
+ frame history (\l{QWebHistory}) if load is successful.
+
The title of an HTML frame can be accessed with the title() property.
Additionally, a frame may also specify an icon, which can be accessed
using the icon() property. If the title or the icon changes, the
@@ -280,7 +314,7 @@ QWebFrame::QWebFrame(QWebPage *parent, QWebFrameData *frameData)
, d(new QWebFramePrivate)
{
d->page = parent;
- d->init(this, parent->d->page, frameData);
+ d->init(this, frameData);
if (!frameData->url.isEmpty()) {
WebCore::ResourceRequest request(frameData->url, frameData->referrer);
@@ -293,7 +327,7 @@ QWebFrame::QWebFrame(QWebFrame *parent, QWebFrameData *frameData)
, d(new QWebFramePrivate)
{
d->page = parent->d->page;
- d->init(this, parent->d->page->d->page, frameData);
+ d->init(this, frameData);
}
QWebFrame::~QWebFrame()
@@ -316,6 +350,8 @@ QWebFrame::~QWebFrame()
new URL, you should add them in a slot connected to the
javaScriptWindowObjectCleared() signal.
+ If Javascript is not enabled for this page, then this method does nothing.
+
The \a object will never be explicitly deleted by QtWebKit.
*/
void QWebFrame::addToJavaScriptWindowObject(const QString &name, QObject *object)
@@ -338,11 +374,16 @@ void QWebFrame::addToJavaScriptWindowObject(const QString &name, QObject *object
new URL, you should add them in a slot connected to the
javaScriptWindowObjectCleared() signal.
+ If Javascript is not enabled for this page, then this method does nothing.
+
The ownership of \a object is specified using \a own.
*/
void QWebFrame::addToJavaScriptWindowObject(const QString &name, QObject *object, QScriptEngine::ValueOwnership ownership)
{
- JSC::JSLock lock(false);
+ if (!page()->settings()->testAttribute(QWebSettings::JavascriptEnabled))
+ return;
+
+ JSC::JSLock lock(JSC::SilenceAssertionsOnly);
JSDOMWindow* window = toJSDOMWindow(d->frame);
JSC::Bindings::RootObject* root = d->frame->script()->bindingRootObject();
if (!window) {
@@ -409,7 +450,7 @@ QString QWebFrame::title() const
{
if (d->frame->document())
return d->frame->loader()->documentLoader()->title();
- else return QString();
+ return QString();
}
/*!
@@ -445,10 +486,10 @@ QString QWebFrame::title() const
*/
QMultiMap<QString, QString> QWebFrame::metaData() const
{
- if(!d->frame->document())
- return QMap<QString,QString>();
+ if (!d->frame->document())
+ return QMap<QString, QString>();
- QMultiMap<QString,QString> map;
+ QMultiMap<QString, QString> map;
Document* doc = d->frame->document();
RefPtr<NodeList> list = doc->getElementsByTagName("meta");
unsigned len = list->length();
@@ -487,6 +528,35 @@ QUrl QWebFrame::url() const
}
/*!
+ \since 4.6
+ \property QWebFrame::requestedUrl
+
+ The URL requested to loaded by the frame currently viewed. The URL may differ from
+ the one returned by url() if a DNS resolution or a redirection occurs.
+
+ \sa url(), setUrl()
+*/
+QUrl QWebFrame::requestedUrl() const
+{
+ if (!d->frame->loader()->activeDocumentLoader()
+ || !d->frameLoaderClient->m_loadSucceeded)
+ return QUrl(d->frame->loader()->outgoingReferrer());
+
+ return d->frame->loader()->originalRequest().url();
+}
+/*!
+ \since 4.6
+ \property QWebFrame::baseUrl
+ \brief the base URL of the frame, can be used to resolve relative URLs
+ \since 4.6
+*/
+
+QUrl QWebFrame::baseUrl() const
+{
+ return d->frame->loader()->baseURL();
+}
+
+/*!
\property QWebFrame::icon
\brief the icon associated with this frame
@@ -770,9 +840,8 @@ int QWebFrame::scrollBarValue(Qt::Orientation orientation) const
{
Scrollbar *sb;
sb = (orientation == Qt::Horizontal) ? d->horizontalScrollBar() : d->verticalScrollBar();
- if (sb) {
+ if (sb)
return sb->value();
- }
return 0;
}
@@ -822,7 +891,7 @@ QRect QWebFrame::scrollBarGeometry(Qt::Orientation orientation) const
\since 4.5
Scrolls the frame \a dx pixels to the right and \a dy pixels downward. Both
\a dx and \a dy may be negative.
-
+
\sa QWebFrame::scrollPosition
*/
@@ -830,7 +899,7 @@ void QWebFrame::scroll(int dx, int dy)
{
if (!d->frame->view())
return;
-
+
d->frame->view()->scrollBy(IntSize(dx, dy));
}
@@ -843,7 +912,7 @@ void QWebFrame::scroll(int dx, int dy)
QPoint QWebFrame::scrollPosition() const
{
if (!d->frame->view())
- return QPoint(0,0);
+ return QPoint(0, 0);
IntSize ofs = d->frame->view()->scrollOffset();
return QPoint(ofs.width(), ofs.height());
@@ -879,12 +948,23 @@ void QWebFrame::render(QPainter *painter)
}
/*!
- \since 4.6
- Render the frame's \a contents into \a painter while clipping to \a contents.
+ \since 4.6
+ \property QWebFrame::clipRenderToViewport
+
+ Returns true if render will clip content to viewport; otherwise returns false.
+*/
+bool QWebFrame::clipRenderToViewport() const
+{
+ return d->clipRenderToViewport;
+}
+
+/*!
+ \since 4.6
+ Sets whether the content of a frame will be clipped to viewport when rendered.
*/
-void QWebFrame::renderContents(QPainter *painter, const QRegion &contents)
+void QWebFrame::setClipRenderToViewport(bool clipRenderToViewport)
{
- d->renderPrivate(painter, contents, true);
+ d->clipRenderToViewport = clipRenderToViewport;
}
/*!
@@ -933,6 +1013,27 @@ qreal QWebFrame::zoomFactor() const
}
/*!
+ \property QWebFrame::focus
+ \since 4.6
+
+ Returns true if this frame has keyboard input focus; otherwise, returns false.
+*/
+bool QWebFrame::hasFocus() const
+{
+ return QWebFramePrivate::kit(d->frame->page()->focusController()->focusedFrame()) == this;
+}
+
+/*!
+ \since 4.6
+
+ Gives keyboard input focus to this frame.
+*/
+void QWebFrame::setFocus()
+{
+ QWebFramePrivate::core(this)->page()->focusController()->setFocusedFrame(QWebFramePrivate::core(this));
+}
+
+/*!
Returns the position of the frame relative to it's parent frame.
*/
QPoint QWebFrame::pos() const
@@ -985,8 +1086,11 @@ QWebElement QWebFrame::documentElement() const
/*!
\since 4.6
- Returns a new collection of elements that are children of the frame's
- document element and that match the given CSS selector \a selectorQuery.
+ Returns a new list of elements matching the given CSS selector \a selectorQuery.
+ If there are no matching elements, an empty list is returned.
+
+ \l{http://www.w3.org/TR/REC-CSS2/selector.html#q1}{Standard CSS2 selector} syntax is
+ used for the query.
\sa QWebElement::findAll()
*/
@@ -998,8 +1102,11 @@ QList<QWebElement> QWebFrame::findAllElements(const QString &selectorQuery) cons
/*!
\since 4.6
Returns the first element in the frame's document that matches the
- given CSS selector \a selectorQuery. Returns a null element if there is no
- match.
+ given CSS selector \a selectorQuery. If there is no matching element, a
+ null element is returned.
+
+ \l{http://www.w3.org/TR/REC-CSS2/selector.html#q1}{Standard CSS2 selector} syntax is
+ used for the query.
\sa QWebElement::findFirst()
*/
@@ -1057,11 +1164,11 @@ void QWebFrame::print(QPrinter *printer) const
printContext.begin(pageRect.width());
- printContext.computePageRects(pageRect, /*headerHeight*/0, /*footerHeight*/0, /*userScaleFactor*/1.0, pageHeight);
+ printContext.computePageRects(pageRect, /* headerHeight */ 0, /* footerHeight */ 0, /* userScaleFactor */ 1.0, pageHeight);
int docCopies;
int pageCopies;
- if (printer->collateCopies() == true){
+ if (printer->collateCopies()) {
docCopies = 1;
pageCopies = printer->numCopies();
} else {
@@ -1229,6 +1336,25 @@ QWebFrame* QWebFramePrivate::kit(WebCore::Frame* coreFrame)
*/
/*!
+ \fn void QWebFrame::loadStarted()
+ \since 4.6
+
+ This signal is emitted when a new load of this frame is started.
+
+ \sa loadFinished()
+*/
+
+/*!
+ \fn void QWebFrame::loadFinished(bool ok)
+ \since 4.6
+
+ This signal is emitted when a load of this frame is finished.
+ \a ok will indicate whether the load was successful or any error occurred.
+
+ \sa loadStarted()
+*/
+
+/*!
\class QWebHitTestResult
\since 4.4
\brief The QWebHitTestResult class provides information about the web
@@ -1255,7 +1381,8 @@ QWebHitTestResultPrivate::QWebHitTestResultPrivate(const WebCore::HitTestResult
return;
pos = hitTest.point();
boundingRect = hitTest.boundingBox();
- title = hitTest.title();
+ WebCore::TextDirection dir;
+ title = hitTest.title(dir);
linkText = hitTest.textContent();
linkUrl = hitTest.absoluteLinkURL();
linkTitle = hitTest.titleDisplayString();
diff --git a/src/3rdparty/webkit/WebKit/qt/Api/qwebframe.h b/src/3rdparty/webkit/WebKit/qt/Api/qwebframe.h
index 3ed453e..55c73b4 100644
--- a/src/3rdparty/webkit/WebKit/qt/Api/qwebframe.h
+++ b/src/3rdparty/webkit/WebKit/qt/Api/qwebframe.h
@@ -60,8 +60,7 @@ class QWebFrameData;
class QWebHitTestResultPrivate;
class QWebFrame;
-class QWEBKIT_EXPORT QWebHitTestResult
-{
+class QWEBKIT_EXPORT QWebHitTestResult {
public:
QWebHitTestResult();
QWebHitTestResult(const QWebHitTestResult &other);
@@ -102,16 +101,19 @@ private:
friend class QWebPage;
};
-class QWEBKIT_EXPORT QWebFrame : public QObject
-{
+class QWEBKIT_EXPORT QWebFrame : public QObject {
Q_OBJECT
Q_PROPERTY(qreal textSizeMultiplier READ textSizeMultiplier WRITE setTextSizeMultiplier DESIGNABLE false)
Q_PROPERTY(qreal zoomFactor READ zoomFactor WRITE setZoomFactor)
Q_PROPERTY(QString title READ title)
Q_PROPERTY(QUrl url READ url WRITE setUrl)
+ Q_PROPERTY(QUrl requestedUrl READ requestedUrl)
+ Q_PROPERTY(QUrl baseUrl READ baseUrl)
Q_PROPERTY(QIcon icon READ icon)
Q_PROPERTY(QSize contentsSize READ contentsSize)
Q_PROPERTY(QPoint scrollPosition READ scrollPosition WRITE setScrollPosition)
+ Q_PROPERTY(bool clipRenderToViewport READ clipRenderToViewport WRITE setClipRenderToViewport)
+ Q_PROPERTY(bool focus READ hasFocus)
private:
QWebFrame(QWebPage *parent, QWebFrameData *frameData);
QWebFrame(QWebFrame *parent, QWebFrameData *frameData);
@@ -140,6 +142,8 @@ public:
QString title() const;
void setUrl(const QUrl &url);
QUrl url() const;
+ QUrl requestedUrl() const;
+ QUrl baseUrl() const;
QIcon icon() const;
QMultiMap<QString, QString> metaData() const;
@@ -163,7 +167,8 @@ public:
void render(QPainter *painter, const QRegion &clip);
void render(QPainter *painter);
- void renderContents(QPainter *painter, const QRegion &contents);
+ bool clipRenderToViewport() const;
+ void setClipRenderToViewport(bool clipRenderToViewport);
void setTextSizeMultiplier(qreal factor);
qreal textSizeMultiplier() const;
@@ -171,6 +176,9 @@ public:
qreal zoomFactor() const;
void setZoomFactor(qreal factor);
+ bool hasFocus() const;
+ void setFocus();
+
QPoint pos() const;
QRect geometry() const;
QSize contentsSize() const;
@@ -204,6 +212,9 @@ Q_SIGNALS:
void contentsSizeChanged(const QSize &size);
+ void loadStarted();
+ void loadFinished(bool ok);
+
private:
friend class QWebPage;
friend class QWebPagePrivate;
diff --git a/src/3rdparty/webkit/WebKit/qt/Api/qwebframe_p.h b/src/3rdparty/webkit/WebKit/qt/Api/qwebframe_p.h
index 0c7da90..d6afc01 100644
--- a/src/3rdparty/webkit/WebKit/qt/Api/qwebframe_p.h
+++ b/src/3rdparty/webkit/WebKit/qt/Api/qwebframe_p.h
@@ -31,8 +31,7 @@
#include "wtf/RefPtr.h"
#include "Frame.h"
-namespace WebCore
-{
+namespace WebCore {
class FrameLoaderClientQt;
class FrameView;
class HTMLFrameOwnerElement;
@@ -40,12 +39,18 @@ namespace WebCore
}
class QWebPage;
-class QWebFrameData
-{
+class QWebFrameData {
public:
+ QWebFrameData(WebCore::Page*, WebCore::Frame* parentFrame = 0,
+ WebCore::HTMLFrameOwnerElement* = 0,
+ const WebCore::String& frameName = WebCore::String());
+
WebCore::KURL url;
WebCore::String name;
WebCore::HTMLFrameOwnerElement* ownerElement;
+ WebCore::Page* page;
+ RefPtr<WebCore::Frame> frame;
+ WebCore::FrameLoaderClientQt* frameLoaderClient;
WebCore::String referrer;
bool allowsScrolling;
@@ -53,8 +58,7 @@ public:
int marginHeight;
};
-class QWebFramePrivate
-{
+class QWebFramePrivate {
public:
QWebFramePrivate()
: q(0)
@@ -66,9 +70,9 @@ public:
, allowsScrolling(true)
, marginWidth(-1)
, marginHeight(-1)
+ , clipRenderToViewport(true)
{}
- void init(QWebFrame *qframe, WebCore::Page *page,
- QWebFrameData *frameData);
+ void init(QWebFrame* qframe, QWebFrameData* frameData);
inline QWebFrame *parentFrame() { return qobject_cast<QWebFrame*>(q->parent()); }
@@ -76,12 +80,12 @@ public:
WebCore::Scrollbar* verticalScrollBar() const;
Qt::ScrollBarPolicy horizontalScrollBarPolicy;
- Qt::ScrollBarPolicy verticalScrollBarPolicy;
+ Qt::ScrollBarPolicy verticalScrollBarPolicy;
static WebCore::Frame* core(QWebFrame*);
static QWebFrame* kit(WebCore::Frame*);
- void renderPrivate(QPainter *painter, const QRegion &clip, bool contents = false);
+ void renderPrivate(QPainter *painter, const QRegion &clip);
QWebFrame *q;
WebCore::FrameLoaderClientQt *frameLoaderClient;
@@ -91,10 +95,10 @@ public:
bool allowsScrolling;
int marginWidth;
int marginHeight;
+ bool clipRenderToViewport;
};
-class QWebHitTestResultPrivate
-{
+class QWebHitTestResultPrivate {
public:
QWebHitTestResultPrivate() : isContentEditable(false), isContentSelected(false), isScrollBar(false) {}
QWebHitTestResultPrivate(const WebCore::HitTestResult &hitTest);
diff --git a/src/3rdparty/webkit/WebKit/qt/Api/qwebhistory.cpp b/src/3rdparty/webkit/WebKit/qt/Api/qwebhistory.cpp
index 7cdc00e..1c1c72a 100644
--- a/src/3rdparty/webkit/WebKit/qt/Api/qwebhistory.cpp
+++ b/src/3rdparty/webkit/WebKit/qt/Api/qwebhistory.cpp
@@ -32,7 +32,6 @@
/*!
\class QWebHistoryItem
- \ingroup explicitly-shared
\since 4.4
\brief The QWebHistoryItem class represents one item in the history of a QWebPage
@@ -52,13 +51,17 @@
\row \o userData() \o The user specific data that was stored with the history item.
\endtable
- \note QWebHistoryItem objects are value based and \l{explicitly shared}.
+ \note QWebHistoryItem objects are value based, but \e{explicitly shared}. Changing
+ a QWebHistoryItem instance by calling setUserData() will change all copies of that
+ instance.
\sa QWebHistory, QWebPage::history(), QWebHistoryInterface
*/
/*!
- Constructs a history item from \a other.
+ Constructs a history item from \a other. The new item and \a other
+ will share their data, and modifying either this item or \a other will
+ modify both instances.
*/
QWebHistoryItem::QWebHistoryItem(const QWebHistoryItem &other)
: d(other.d)
@@ -66,7 +69,9 @@ QWebHistoryItem::QWebHistoryItem(const QWebHistoryItem &other)
}
/*!
- Assigns the \a other history item to this.
+ Assigns the \a other history item to this. This item and \a other
+ will share their data, and modifying either this item or \a other will
+ modify both instances.
*/
QWebHistoryItem &QWebHistoryItem::operator=(const QWebHistoryItem &other)
{
@@ -163,6 +168,8 @@ QVariant QWebHistoryItem::userData() const
\since 4.5
Stores user specific data \a userData with the history item.
+
+ \note All copies of this item will be modified.
\sa userData()
*/
@@ -239,7 +246,7 @@ void QWebHistory::clear()
{
RefPtr<WebCore::HistoryItem> current = d->lst->currentItem();
int capacity = d->lst->capacity();
- d->lst->setCapacity(0);
+ d->lst->setCapacity(0);
WebCore::Page* page = d->lst->page();
if (page && page->groupPtr())
diff --git a/src/3rdparty/webkit/WebKit/qt/Api/qwebhistory.h b/src/3rdparty/webkit/WebKit/qt/Api/qwebhistory.h
index 1a048f4..e46f124 100644
--- a/src/3rdparty/webkit/WebKit/qt/Api/qwebhistory.h
+++ b/src/3rdparty/webkit/WebKit/qt/Api/qwebhistory.h
@@ -35,8 +35,8 @@ namespace WebCore {
}
class QWebHistoryItemPrivate;
-class QWEBKIT_EXPORT QWebHistoryItem
-{
+
+class QWEBKIT_EXPORT QWebHistoryItem {
public:
QWebHistoryItem(const QWebHistoryItem &other);
QWebHistoryItem &operator=(const QWebHistoryItem &other);
@@ -74,18 +74,17 @@ private:
class QWebHistoryPrivate;
-class QWEBKIT_EXPORT QWebHistory
-{
+class QWEBKIT_EXPORT QWebHistory {
public:
enum HistoryStateVersion {
HistoryVersion_1,
/*, HistoryVersion_2, */
DefaultHistoryVersion = HistoryVersion_1
};
-
+
bool restoreState(const QByteArray& buffer);
QByteArray saveState(HistoryStateVersion version = DefaultHistoryVersion) const;
-
+
void clear();
QList<QWebHistoryItem> items() const;
diff --git a/src/3rdparty/webkit/WebKit/qt/Api/qwebhistory_p.h b/src/3rdparty/webkit/WebKit/qt/Api/qwebhistory_p.h
index 4bee62b..e77adef 100644
--- a/src/3rdparty/webkit/WebKit/qt/Api/qwebhistory_p.h
+++ b/src/3rdparty/webkit/WebKit/qt/Api/qwebhistory_p.h
@@ -25,8 +25,7 @@
#include <QtCore/qglobal.h>
#include <QtCore/qshareddata.h>
-class Q_AUTOTEST_EXPORT QWebHistoryItemPrivate : public QSharedData
-{
+class Q_AUTOTEST_EXPORT QWebHistoryItemPrivate : public QSharedData {
public:
static QExplicitlySharedDataPointer<QWebHistoryItemPrivate> get(QWebHistoryItem *q)
{
@@ -65,8 +64,7 @@ public:
WebCore::HistoryItem *item;
};
-class QWebHistoryPrivate : public QSharedData
-{
+class QWebHistoryPrivate : public QSharedData {
public:
QWebHistoryPrivate(WebCore::BackForwardList *l)
{
diff --git a/src/3rdparty/webkit/WebKit/qt/Api/qwebhistoryinterface.cpp b/src/3rdparty/webkit/WebKit/qt/Api/qwebhistoryinterface.cpp
index 88a1aa3..87d52ce 100644
--- a/src/3rdparty/webkit/WebKit/qt/Api/qwebhistoryinterface.cpp
+++ b/src/3rdparty/webkit/WebKit/qt/Api/qwebhistoryinterface.cpp
@@ -28,13 +28,13 @@
#include "PlatformString.h"
-static QWebHistoryInterface *default_interface;
+static QWebHistoryInterface* default_interface;
static bool gRoutineAdded;
static void gCleanupInterface()
{
- if (default_interface && default_interface->parent() == 0)
+ if (default_interface && !default_interface->parent())
delete default_interface;
default_interface = 0;
}
@@ -47,11 +47,12 @@ static void gCleanupInterface()
When the application exists QWebHistoryInterface will automatically delete the
\a defaultInterface if it does not have a parent.
*/
-void QWebHistoryInterface::setDefaultInterface(QWebHistoryInterface *defaultInterface)
+void QWebHistoryInterface::setDefaultInterface(QWebHistoryInterface* defaultInterface)
{
if (default_interface == defaultInterface)
return;
- if (default_interface && default_interface->parent() == 0)
+
+ if (default_interface && !default_interface->parent())
delete default_interface;
default_interface = defaultInterface;
@@ -70,7 +71,7 @@ void QWebHistoryInterface::setDefaultInterface(QWebHistoryInterface *defaultInte
Returns the default interface that will be used by WebKit. If no
default interface has been set, QtWebkit will not track history.
*/
-QWebHistoryInterface *QWebHistoryInterface::defaultInterface()
+QWebHistoryInterface* QWebHistoryInterface::defaultInterface()
{
return default_interface;
}
@@ -91,7 +92,8 @@ QWebHistoryInterface *QWebHistoryInterface::defaultInterface()
/*!
Constructs a new QWebHistoryInterface with parent \a parent.
*/
-QWebHistoryInterface::QWebHistoryInterface(QObject *parent) : QObject(parent)
+QWebHistoryInterface::QWebHistoryInterface(QObject* parent)
+ : QObject(parent)
{
}
diff --git a/src/3rdparty/webkit/WebKit/qt/Api/qwebhistoryinterface.h b/src/3rdparty/webkit/WebKit/qt/Api/qwebhistoryinterface.h
index 670fca0..a49c586 100644
--- a/src/3rdparty/webkit/WebKit/qt/Api/qwebhistoryinterface.h
+++ b/src/3rdparty/webkit/WebKit/qt/Api/qwebhistoryinterface.h
@@ -26,8 +26,7 @@
#include "qwebkitglobal.h"
-class QWEBKIT_EXPORT QWebHistoryInterface : public QObject
-{
+class QWEBKIT_EXPORT QWebHistoryInterface : public QObject {
Q_OBJECT
public:
QWebHistoryInterface(QObject *parent = 0);
diff --git a/src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp b/src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp
index 5899a1b..1a45fe6 100644
--- a/src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp
+++ b/src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp
@@ -59,6 +59,7 @@
#include "Scrollbar.h"
#include "PlatformKeyboardEvent.h"
#include "PlatformWheelEvent.h"
+#include "PluginDatabase.h"
#include "ProgressTracker.h"
#include "RefPtr.h"
#include "HashMap.h"
@@ -99,6 +100,18 @@
using namespace WebCore;
+void QWEBKIT_EXPORT qt_drt_overwritePluginDirectories()
+{
+ PluginDatabase* db = PluginDatabase::installedPlugins(/* populate */ false);
+
+ Vector<String> paths;
+ String qtPath(getenv("QTWEBKIT_PLUGIN_PATH"));
+ qtPath.split(UChar(':'), /* allowEmptyEntries */ false, paths);
+
+ db->setPluginDirectories(paths);
+ db->refresh();
+}
+
bool QWebPagePrivate::drtRun = false;
void QWEBKIT_EXPORT qt_drt_run(bool b)
{
@@ -116,29 +129,29 @@ QString QWEBKIT_EXPORT qt_webpage_groupName(QWebPage* page)
}
// Lookup table mapping QWebPage::WebActions to the associated Editor commands
-static const char* editorCommandWebActions[] =
+static const char* editorCommandWebActions[] =
{
0, // OpenLink,
0, // OpenLinkInNewWindow,
0, // OpenFrameInNewWindow,
-
+
0, // DownloadLinkToDisk,
0, // CopyLinkToClipboard,
-
+
0, // OpenImageInNewWindow,
0, // DownloadImageToDisk,
0, // CopyImageToClipboard,
-
+
0, // Back,
0, // Forward,
0, // Stop,
0, // Reload,
-
+
"Cut", // Cut,
"Copy", // Copy,
"Paste", // Paste,
-
+
"Undo", // Undo,
"Redo", // Redo,
"MoveForward", // MoveToNextChar,
@@ -167,21 +180,22 @@ static const char* editorCommandWebActions[] =
"MoveToEndOfDocumentAndModifySelection", // SelectEndOfDocument,
"DeleteWordBackward", // DeleteStartOfWord,
"DeleteWordForward", // DeleteEndOfWord,
-
+
0, // SetTextDirectionDefault,
0, // SetTextDirectionLeftToRight,
0, // SetTextDirectionRightToLeft,
-
+
"ToggleBold", // ToggleBold,
"ToggleItalic", // ToggleItalic,
"ToggleUnderline", // ToggleUnderline,
-
+
0, // InspectElement,
"InsertNewline", // InsertParagraphSeparator
"InsertLineBreak", // InsertLineSeparator
"SelectAll", // SelectAll
+ 0, // ReloadAndBypassCache,
"PasteAndMatchStyle", // PasteAndMatchStyle
"RemoveFormat", // RemoveFormat
@@ -206,7 +220,6 @@ const char* QWebPagePrivate::editorCommandForWebActions(QWebPage::WebAction acti
{
if ((action > QWebPage::NoWebAction) && (action < int(sizeof(editorCommandWebActions) / sizeof(const char*))))
return editorCommandWebActions[action];
-
return 0;
}
@@ -252,7 +265,7 @@ static inline Qt::DropAction dragOpToDropAction(unsigned actions)
QWebPagePrivate::QWebPagePrivate(QWebPage *qq)
: q(qq)
, view(0)
- , viewportSize(QSize(0,0))
+ , viewportSize(QSize(0, 0))
{
WebCore::InitializeLoggingChannelsIfNecessary();
JSC::initializeThreading();
@@ -325,11 +338,7 @@ bool QWebPagePrivate::acceptNavigationRequest(QWebFrame *frame, const QNetworkRe
void QWebPagePrivate::createMainFrame()
{
if (!mainFrame) {
- QWebFrameData frameData;
- frameData.ownerElement = 0;
- frameData.allowsScrolling = true;
- frameData.marginWidth = 0;
- frameData.marginHeight = 0;
+ QWebFrameData frameData(page);
mainFrame = new QWebFrame(q, &frameData);
emit q->frameCreated(mainFrame);
@@ -409,9 +418,8 @@ QMenu *QWebPagePrivate::createContextMenu(const WebCore::ContextMenu *webcoreMen
if (anyEnabledAction) {
subMenu->setTitle(item.title());
menu->addAction(subMenu->menuAction());
- } else {
+ } else
delete subMenu;
- }
break;
}
}
@@ -420,23 +428,6 @@ QMenu *QWebPagePrivate::createContextMenu(const WebCore::ContextMenu *webcoreMen
}
#endif // QT_NO_CONTEXTMENU
-QWebFrame *QWebPagePrivate::frameAt(const QPoint &pos) const
-{
- QWebFrame *frame = mainFrame;
-
-redo:
- QList<QWebFrame*> children = frame->childFrames();
- for (int i = 0; i < children.size(); ++i) {
- if (children.at(i)->geometry().contains(pos)) {
- frame = children.at(i);
- goto redo;
- }
- }
- if (frame->geometry().contains(pos))
- return frame;
- return 0;
-}
-
void QWebPagePrivate::_q_webActionTriggered(bool checked)
{
QAction *a = qobject_cast<QAction *>(q->sender());
@@ -477,6 +468,7 @@ void QWebPagePrivate::updateAction(QWebPage::WebAction action)
enabled = loader->isLoading();
break;
case QWebPage::Reload:
+ case QWebPage::ReloadAndBypassCache:
enabled = !loader->isLoading();
break;
#ifndef QT_NO_UNDOSTACK
@@ -522,6 +514,7 @@ void QWebPagePrivate::updateNavigationActions()
updateAction(QWebPage::Forward);
updateAction(QWebPage::Stop);
updateAction(QWebPage::Reload);
+ updateAction(QWebPage::ReloadAndBypassCache);
}
void QWebPagePrivate::updateEditorActions()
@@ -668,12 +661,12 @@ void QWebPagePrivate::mouseReleaseEvent(QMouseEvent *ev)
Pasteboard::generalPasteboard()->setSelectionMode(true);
WebCore::Frame* focusFrame = page->focusController()->focusedOrMainFrame();
if (ev->button() == Qt::LeftButton) {
- if(focusFrame && (focusFrame->editor()->canCopy() || focusFrame->editor()->canDHTMLCopy())) {
+ if (focusFrame && (focusFrame->editor()->canCopy() || focusFrame->editor()->canDHTMLCopy())) {
focusFrame->editor()->copy();
ev->setAccepted(true);
}
} else if (ev->button() == Qt::MidButton) {
- if(focusFrame && (focusFrame->editor()->canPaste() || focusFrame->editor()->canDHTMLPaste())) {
+ if (focusFrame && (focusFrame->editor()->canPaste() || focusFrame->editor()->canDHTMLPaste())) {
focusFrame->editor()->paste();
ev->setAccepted(true);
}
@@ -843,11 +836,10 @@ void QWebPagePrivate::focusInEvent(QFocusEvent *ev)
FocusController *focusController = page->focusController();
Frame *frame = focusController->focusedFrame();
focusController->setActive(true);
- if (frame) {
- frame->selection()->setFocused(true);
- } else {
+ if (frame)
+ focusController->setFocused(true);
+ else
focusController->setFocusedFrame(QWebFramePrivate::core(mainFrame));
- }
}
void QWebPagePrivate::focusOutEvent(QFocusEvent *ev)
@@ -857,10 +849,7 @@ void QWebPagePrivate::focusOutEvent(QFocusEvent *ev)
// focusInEvent() we can re-activate the frame.
FocusController *focusController = page->focusController();
focusController->setActive(false);
- Frame *frame = focusController->focusedFrame();
- if (frame) {
- frame->selection()->setFocused(false);
- }
+ focusController->setFocused(false);
}
void QWebPagePrivate::dragEnterEvent(QDragEnterEvent *ev)
@@ -956,7 +945,7 @@ void QWebPagePrivate::inputMethodEvent(QInputMethodEvent *ev)
QString preedit = ev->preeditString();
// ### FIXME: use the provided QTextCharFormat (use color at least)
Vector<CompositionUnderline> underlines;
- underlines.append(CompositionUnderline(0, preedit.length(), Color(0,0,0), false));
+ underlines.append(CompositionUnderline(0, preedit.length(), Color(0, 0, 0), false));
editor->setComposition(preedit, underlines, preedit.length(), 0);
}
ev->accept();
@@ -992,9 +981,8 @@ void QWebPagePrivate::shortcutOverrideEvent(QKeyEvent* event)
}
}
#ifndef QT_NO_SHORTCUT
- else if (editorActionForKeyEvent(event) != QWebPage::NoWebAction) {
+ else if (editorActionForKeyEvent(event) != QWebPage::NoWebAction)
event->accept();
- }
#endif
}
}
@@ -1060,12 +1048,11 @@ bool QWebPagePrivate::handleScrolling(QKeyEvent *ev, Frame *frame)
*/
QVariant QWebPage::inputMethodQuery(Qt::InputMethodQuery property) const
{
- switch(property) {
+ switch (property) {
case Qt::ImMicroFocus: {
Frame *frame = d->page->focusController()->focusedFrame();
- if (frame) {
+ if (frame)
return QVariant(frame->selection()->absoluteCaretBounds());
- }
return QVariant();
}
case Qt::ImFont: {
@@ -1078,9 +1065,8 @@ QVariant QWebPage::inputMethodQuery(Qt::InputMethodQuery property) const
Frame *frame = d->page->focusController()->focusedFrame();
if (frame) {
VisibleSelection selection = frame->selection()->selection();
- if (selection.isCaret()) {
+ if (selection.isCaret())
return QVariant(selection.start().deprecatedEditingOffset());
- }
}
return QVariant();
}
@@ -1088,9 +1074,8 @@ QVariant QWebPage::inputMethodQuery(Qt::InputMethodQuery property) const
Frame *frame = d->page->focusController()->focusedFrame();
if (frame) {
Document *document = frame->document();
- if (document->focusedNode()) {
+ if (document->focusedNode())
return QVariant(document->focusedNode()->nodeValue());
- }
}
return QVariant();
}
@@ -1166,6 +1151,7 @@ QVariant QWebPage::inputMethodQuery(Qt::InputMethodQuery property) const
\value Forward Navigate forward in the history of navigated links.
\value Stop Stop loading the current page.
\value Reload Reload the current page.
+ \value ReloadAndBypassCache Reload the current page, but do not use any local cache. (Added in Qt 4.6)
\value Cut Cut the content currently selected into the clipboard.
\value Copy Copy the content currently selected into the clipboard.
\value Paste Paste content from the clipboard.
@@ -1337,6 +1323,23 @@ QWebFrame *QWebPage::currentFrame() const
return static_cast<WebCore::FrameLoaderClientQt *>(d->page->focusController()->focusedOrMainFrame()->loader()->client())->webFrame();
}
+
+/*!
+ \since 4.6
+
+ Returns the frame at the given point \a pos.
+
+ \sa mainFrame(), currentFrame()
+*/
+QWebFrame* QWebPage::frameAt(const QPoint& pos) const
+{
+ QWebFrame* webFrame = mainFrame();
+ if (!webFrame->geometry().contains(pos))
+ return 0;
+ QWebHitTestResult hitTestResult = webFrame->hitTestContent(pos);
+ return hitTestResult.frame();
+}
+
/*!
Returns a pointer to the view's history of navigated web pages.
*/
@@ -1422,14 +1425,35 @@ bool QWebPage::javaScriptPrompt(QWebFrame *frame, const QString& msg, const QStr
bool ok = false;
#ifndef QT_NO_INPUTDIALOG
QString x = QInputDialog::getText(d->view, tr("JavaScript Prompt - %1").arg(mainFrame()->url().host()), msg, QLineEdit::Normal, defaultValue, &ok);
- if (ok && result) {
+ if (ok && result)
*result = x;
- }
#endif
return ok;
}
/*!
+ \fn bool QWebPage::shouldInterruptJavaScript()
+ \since 4.6
+ This function is called when a JavaScript program is running for a long period of time.
+
+ If the user wanted to stop the JavaScript the implementation should return true; otherwise false.
+
+ The default implementation executes the query using QMessageBox::information with QMessageBox::Yes and QMessageBox::No buttons.
+
+ \warning Because of binary compatibility constraints, this function is not virtual. If you want to
+ provide your own implementation in a QWebPage subclass, reimplement the shouldInterruptJavaScript()
+ slot in your subclass instead. QtWebKit will dynamically detect the slot and call it.
+*/
+bool QWebPage::shouldInterruptJavaScript()
+{
+#ifdef QT_NO_MESSAGEBOX
+ return false;
+#else
+ return QMessageBox::Yes == QMessageBox::information(d->view, tr("JavaScript Problem - %1").arg(mainFrame()->url().host()), tr("The script on this page appears to have a problem. Do you want to stop the script?"), QMessageBox::Yes, QMessageBox::No);
+#endif
+}
+
+/*!
This function is called whenever WebKit wants to create a new window of the given \a type, for
example when a JavaScript program requests to open a document in a new window.
@@ -1553,7 +1577,10 @@ void QWebPage::triggerAction(WebAction action, bool checked)
mainFrame()->d->frame->loader()->stopForUserCancel();
break;
case Reload:
- mainFrame()->d->frame->loader()->reload();
+ mainFrame()->d->frame->loader()->reload(/*endtoendreload*/false);
+ break;
+ case ReloadAndBypassCache:
+ mainFrame()->d->frame->loader()->reload(/*endtoendreload*/true);
break;
case SetTextDirectionDefault:
editor->setBaseWritingDirection(NaturalWritingDirection);
@@ -1615,9 +1642,8 @@ QSize QWebPage::fixedContentsSize() const
QWebFrame* frame = d->mainFrame;
if (frame) {
WebCore::FrameView* view = frame->d->frame->view();
- if (view && view->useFixedLayout()) {
+ if (view && view->useFixedLayout())
return d->mainFrame->d->frame->view()->fixedLayoutSize();
- }
}
return d->fixedLayoutSize;
@@ -2125,9 +2151,8 @@ void QWebPage::setContentEditable(bool editable)
frame->applyEditingStyleToBodyElement();
// FIXME: mac port calls this if there is no selectedDOMRange
//frame->setSelectionFromNone();
- } else {
+ } else
frame->removeEditingStyleFromBodyElement();
- }
}
d->updateEditorActions();
@@ -2193,11 +2218,10 @@ bool QWebPage::swallowContextMenuEvent(QContextMenuEvent *event)
{
d->page->contextMenuController()->clearContextMenu();
- if (QWebFrame* webFrame = d->frameAt(event->pos())) {
+ if (QWebFrame* webFrame = frameAt(event->pos())) {
Frame* frame = QWebFramePrivate::core(webFrame);
- if (Scrollbar* scrollbar = frame->view()->scrollbarUnderPoint(PlatformMouseEvent(event, 1).pos())) {
+ if (Scrollbar* scrollbar = frame->view()->scrollbarAtPoint(PlatformMouseEvent(event, 1).pos()))
return scrollbar->contextMenu(PlatformMouseEvent(event, 1));
- }
}
WebCore::Frame* focusedFrame = d->page->focusController()->focusedOrMainFrame();
@@ -2252,9 +2276,8 @@ void QWebPage::updatePositionDependentActions(const QPoint &pos)
originallyEnabledWebActions &= ~visitedWebActions; // Mask out visited actions (they're part of the menu)
for (int i = 0; i < QWebPage::WebActionCount; ++i) {
if (originallyEnabledWebActions.at(i)) {
- if (QAction *a = this->action(QWebPage::WebAction(i))) {
+ if (QAction *a = this->action(QWebPage::WebAction(i)))
a->setEnabled(true);
- }
}
}
@@ -2377,9 +2400,8 @@ bool QWebPage::findText(const QString &subString, FindFlags options)
if (subString.isEmpty()) {
d->page->unmarkAllTextMatches();
return true;
- } else {
+ } else
return d->page->markAllMatchesForText(subString, caseSensitivity, true, 0);
- }
} else {
::FindDirection direction = ::FindDirectionForward;
if (options & FindBackward)
@@ -2620,7 +2642,7 @@ QString QWebPage::userAgentForUrl(const QUrl& url) const
#if defined Q_OS_WIN32
QString ver;
- switch(QSysInfo::WindowsVersion) {
+ switch (QSysInfo::WindowsVersion) {
case QSysInfo::WV_32s:
ver = "Windows 3.1";
break;
@@ -2694,7 +2716,8 @@ QString QWebPage::userAgentForUrl(const QUrl& url) const
}
-void QWebPagePrivate::_q_onLoadProgressChanged(int) {
+void QWebPagePrivate::_q_onLoadProgressChanged(int)
+{
m_totalBytes = page->progress()->totalPageAndResourceBytesToLoad();
m_bytesReceived = page->progress()->totalBytesReceived();
}
@@ -2706,7 +2729,8 @@ void QWebPagePrivate::_q_onLoadProgressChanged(int) {
\sa bytesReceived()
*/
-quint64 QWebPage::totalBytes() const {
+quint64 QWebPage::totalBytes() const
+{
return d->m_totalBytes;
}
@@ -2716,7 +2740,8 @@ quint64 QWebPage::totalBytes() const {
\sa totalBytes()
*/
-quint64 QWebPage::bytesReceived() const {
+quint64 QWebPage::bytesReceived() const
+{
return d->m_bytesReceived;
}
diff --git a/src/3rdparty/webkit/WebKit/qt/Api/qwebpage.h b/src/3rdparty/webkit/WebKit/qt/Api/qwebpage.h
index 86822d2..24741a1 100644
--- a/src/3rdparty/webkit/WebKit/qt/Api/qwebpage.h
+++ b/src/3rdparty/webkit/WebKit/qt/Api/qwebpage.h
@@ -59,8 +59,7 @@ namespace WebCore {
struct FrameLoadRequest;
}
-class QWEBKIT_EXPORT QWebPage : public QObject
-{
+class QWEBKIT_EXPORT QWebPage : public QObject {
Q_OBJECT
Q_PROPERTY(bool modified READ isModified)
@@ -149,6 +148,7 @@ public:
InsertLineSeparator,
SelectAll,
+ ReloadAndBypassCache,
PasteAndMatchStyle,
RemoveFormat,
@@ -193,6 +193,7 @@ public:
QWebFrame *mainFrame() const;
QWebFrame *currentFrame() const;
+ QWebFrame* frameAt(const QPoint& pos) const;
QWebHistory *history() const;
QWebSettings *settings() const;
@@ -287,6 +288,9 @@ public:
inline QWebPagePrivate* handle() const { return d; }
+public Q_SLOTS:
+ bool shouldInterruptJavaScript();
+
Q_SIGNALS:
void loadStarted();
void loadProgress(int progress);
diff --git a/src/3rdparty/webkit/WebKit/qt/Api/qwebpage_p.h b/src/3rdparty/webkit/WebKit/qt/Api/qwebpage_p.h
index 984bec1..87c624d 100644
--- a/src/3rdparty/webkit/WebKit/qt/Api/qwebpage_p.h
+++ b/src/3rdparty/webkit/WebKit/qt/Api/qwebpage_p.h
@@ -35,8 +35,7 @@
#include <wtf/RefPtr.h>
-namespace WebCore
-{
+namespace WebCore {
class ChromeClientQt;
class ContextMenuClientQt;
class ContextMenuItem;
@@ -66,18 +65,14 @@ class QMenu;
class QBitArray;
QT_END_NAMESPACE
-class QWebPagePrivate
-{
+class QWebPagePrivate {
public:
- QWebPagePrivate(QWebPage *);
+ QWebPagePrivate(QWebPage*);
~QWebPagePrivate();
void createMainFrame();
#ifndef QT_NO_CONTEXTMENU
- QMenu *createContextMenu(const WebCore::ContextMenu *webcoreMenu, const QList<WebCore::ContextMenuItem> *items, QBitArray *visitedWebActions);
+ QMenu* createContextMenu(const WebCore::ContextMenu* webcoreMenu, const QList<WebCore::ContextMenuItem>* items, QBitArray* visitedWebActions);
#endif
-
- QWebFrame *frameAt(const QPoint &pos) const;
-
void _q_onLoadProgressChanged(int);
void _q_webActionTriggered(bool checked);
#ifndef NDEBUG
diff --git a/src/3rdparty/webkit/WebKit/qt/Api/qwebpluginfactory.h b/src/3rdparty/webkit/WebKit/qt/Api/qwebpluginfactory.h
index 3531b06..cff774d 100644
--- a/src/3rdparty/webkit/WebKit/qt/Api/qwebpluginfactory.h
+++ b/src/3rdparty/webkit/WebKit/qt/Api/qwebpluginfactory.h
@@ -31,8 +31,7 @@ class QString;
QT_END_NAMESPACE
class QWebPluginFactoryPrivate;
-class QWEBKIT_EXPORT QWebPluginFactory : public QObject
-{
+class QWEBKIT_EXPORT QWebPluginFactory : public QObject {
Q_OBJECT
public:
struct MimeType {
@@ -47,16 +46,16 @@ public:
QList<MimeType> mimeTypes;
};
- explicit QWebPluginFactory(QObject *parent = 0);
+ explicit QWebPluginFactory(QObject* parent = 0);
virtual ~QWebPluginFactory();
virtual QList<Plugin> plugins() const = 0;
virtual void refreshPlugins();
- virtual QObject *create(const QString &mimeType,
- const QUrl &url,
- const QStringList &argumentNames,
- const QStringList &argumentValues) const = 0;
+ virtual QObject *create(const QString& mimeType,
+ const QUrl&,
+ const QStringList& argumentNames,
+ const QStringList& argumentValues) const = 0;
enum Extension {
};
@@ -64,11 +63,11 @@ public:
{};
class ExtensionReturn
{};
- virtual bool extension(Extension extension, const ExtensionOption *option = 0, ExtensionReturn *output = 0);
+ virtual bool extension(Extension extension, const ExtensionOption* option = 0, ExtensionReturn* output = 0);
virtual bool supportsExtension(Extension extension) const;
private:
- QWebPluginFactoryPrivate *d;
+ QWebPluginFactoryPrivate* d;
};
#endif
diff --git a/src/3rdparty/webkit/WebKit/qt/Api/qwebsecurityorigin.cpp b/src/3rdparty/webkit/WebKit/qt/Api/qwebsecurityorigin.cpp
index da9278c..d2eaf10 100644
--- a/src/3rdparty/webkit/WebKit/qt/Api/qwebsecurityorigin.cpp
+++ b/src/3rdparty/webkit/WebKit/qt/Api/qwebsecurityorigin.cpp
@@ -36,10 +36,9 @@ using namespace WebCore;
\brief The QWebSecurityOrigin class defines a security boundary for web sites.
QWebSecurityOrigin provides access to the security domains defined by web sites.
- An origin consists of a host name, a scheme, and a port number. Web sites with the same
- security origin can access each other's resources for client-side scripting or databases.
-
- ### diagram
+ An origin consists of a host name, a scheme, and a port number. Web sites
+ with the same security origin can access each other's resources for client-side
+ scripting or databases.
For example the site \c{http://www.example.com/my/page.html} is allowed to share the same
database as \c{http://www.example.com/my/overview.html}, or access each other's
@@ -47,7 +46,13 @@ using namespace WebCore;
\c{http://www.malicious.com/evil.html} from accessing \c{http://www.example.com/}'s resources,
because they are of a different security origin.
- QWebSecurity also provides access to all databases defined within a security origin.
+ Call QWebFrame::securityOrigin() to get the QWebSecurityOrigin for a frame in a
+ web page, and use host(), scheme() and port() to identify the security origin.
+
+ Use databases() to access the databases defined within a security origin. The
+ disk usage of the origin's databases can be limited with setDatabaseQuota().
+ databaseQuota() and databaseUsage() report the current limit as well as the
+ current usage.
For more information refer to the
\l{http://en.wikipedia.org/wiki/Same_origin_policy}{"Same origin policy" Wikipedia Article}.
diff --git a/src/3rdparty/webkit/WebKit/qt/Api/qwebsecurityorigin.h b/src/3rdparty/webkit/WebKit/qt/Api/qwebsecurityorigin.h
index b52194d..3cfb0f4 100644
--- a/src/3rdparty/webkit/WebKit/qt/Api/qwebsecurityorigin.h
+++ b/src/3rdparty/webkit/WebKit/qt/Api/qwebsecurityorigin.h
@@ -34,8 +34,7 @@ class QWebSecurityOriginPrivate;
class QWebDatabase;
class QWebFrame;
-class QWEBKIT_EXPORT QWebSecurityOrigin
-{
+class QWEBKIT_EXPORT QWebSecurityOrigin {
public:
static QList<QWebSecurityOrigin> allOrigins();
diff --git a/src/3rdparty/webkit/WebKit/qt/Api/qwebsecurityorigin_p.h b/src/3rdparty/webkit/WebKit/qt/Api/qwebsecurityorigin_p.h
index 73fe8ed..cdc93bd 100644
--- a/src/3rdparty/webkit/WebKit/qt/Api/qwebsecurityorigin_p.h
+++ b/src/3rdparty/webkit/WebKit/qt/Api/qwebsecurityorigin_p.h
@@ -23,8 +23,7 @@
#include "SecurityOrigin.h"
#include "RefPtr.h"
-class QWebSecurityOriginPrivate : public QSharedData
-{
+class QWebSecurityOriginPrivate : public QSharedData {
public:
QWebSecurityOriginPrivate(WebCore::SecurityOrigin* o)
{
diff --git a/src/3rdparty/webkit/WebKit/qt/Api/qwebsettings.cpp b/src/3rdparty/webkit/WebKit/qt/Api/qwebsettings.cpp
index 02ef4a0..fb94d55 100644
--- a/src/3rdparty/webkit/WebKit/qt/Api/qwebsettings.cpp
+++ b/src/3rdparty/webkit/WebKit/qt/Api/qwebsettings.cpp
@@ -42,10 +42,9 @@
#include <QUrl>
#include <QFileInfo>
-class QWebSettingsPrivate
-{
+class QWebSettingsPrivate {
public:
- QWebSettingsPrivate(WebCore::Settings *wcSettings = 0)
+ QWebSettingsPrivate(WebCore::Settings* wcSettings = 0)
: settings(wcSettings)
{
}
@@ -60,7 +59,7 @@ public:
qint64 offlineStorageDefaultQuota;
void apply();
- WebCore::Settings *settings;
+ WebCore::Settings* settings;
};
typedef QHash<int, QPixmap> WebGraphicHash;
@@ -80,14 +79,14 @@ static WebGraphicHash* graphics()
return hash;
}
-Q_GLOBAL_STATIC(QList<QWebSettingsPrivate *>, allSettings);
+Q_GLOBAL_STATIC(QList<QWebSettingsPrivate*>, allSettings);
void QWebSettingsPrivate::apply()
{
if (settings) {
settings->setTextAreasAreResizable(true);
- QWebSettingsPrivate *global = QWebSettings::globalSettings()->d;
+ QWebSettingsPrivate* global = QWebSettings::globalSettings()->d;
QString family = fontFamilies.value(QWebSettings::StandardFont,
global->fontFamilies.value(QWebSettings::StandardFont));
@@ -194,7 +193,7 @@ void QWebSettingsPrivate::apply()
global->attributes.value(QWebSettings::LocalContentCanAccessRemoteUrls));
settings->setAllowUniversalAccessFromFileURLs(value);
} else {
- QList<QWebSettingsPrivate *> settings = *::allSettings();
+ QList<QWebSettingsPrivate*> settings = *::allSettings();
for (int i = 0; i < settings.count(); ++i)
settings[i]->apply();
}
@@ -206,9 +205,9 @@ void QWebSettingsPrivate::apply()
Any setting changed on the default object is automatically applied to all
QWebPage instances where the particular setting is not overriden already.
*/
-QWebSettings *QWebSettings::globalSettings()
+QWebSettings* QWebSettings::globalSettings()
{
- static QWebSettings *global = 0;
+ static QWebSettings* global = 0;
if (!global)
global = new QWebSettings;
return global;
@@ -365,7 +364,7 @@ QWebSettings::QWebSettings()
/*!
\internal
*/
-QWebSettings::QWebSettings(WebCore::Settings *settings)
+QWebSettings::QWebSettings(WebCore::Settings* settings)
: d(new QWebSettingsPrivate(settings))
{
d->settings = settings;
@@ -400,7 +399,7 @@ int QWebSettings::fontSize(FontSize type) const
{
int defaultValue = 0;
if (d->settings) {
- QWebSettingsPrivate *global = QWebSettings::globalSettings()->d;
+ QWebSettingsPrivate* global = QWebSettings::globalSettings()->d;
defaultValue = global->fontSizes.value(type);
}
return d->fontSizes.value(type, defaultValue);
@@ -427,7 +426,7 @@ void QWebSettings::resetFontSize(FontSize type)
\sa userStyleSheetUrl()
*/
-void QWebSettings::setUserStyleSheetUrl(const QUrl &location)
+void QWebSettings::setUserStyleSheetUrl(const QUrl& location)
{
d->userStyleSheetLocation = location;
d->apply();
@@ -453,7 +452,7 @@ QUrl QWebSettings::userStyleSheetUrl() const
\sa defaultTextEncoding()
*/
-void QWebSettings::setDefaultTextEncoding(const QString &encoding)
+void QWebSettings::setDefaultTextEncoding(const QString& encoding)
{
d->defaultTextEncoding = encoding;
d->apply();
@@ -478,7 +477,7 @@ QString QWebSettings::defaultTextEncoding() const
Setting an empty path disables the icon database.
*/
-void QWebSettings::setIconDatabasePath(const QString &path)
+void QWebSettings::setIconDatabasePath(const QString& path)
{
WebCore::iconDatabase()->delayDatabaseCleanup();
@@ -501,11 +500,10 @@ void QWebSettings::setIconDatabasePath(const QString &path)
*/
QString QWebSettings::iconDatabasePath()
{
- if (WebCore::iconDatabase()->isEnabled() && WebCore::iconDatabase()->isOpen()) {
+ if (WebCore::iconDatabase()->isEnabled() && WebCore::iconDatabase()->isOpen())
return WebCore::iconDatabase()->databasePath();
- } else {
+ else
return QString();
- }
}
/*!
@@ -527,18 +525,18 @@ void QWebSettings::clearIconDatabase()
\sa setIconDatabasePath()
*/
-QIcon QWebSettings::iconForUrl(const QUrl &url)
+QIcon QWebSettings::iconForUrl(const QUrl& url)
{
WebCore::Image* image = WebCore::iconDatabase()->iconForPageURL(WebCore::KURL(url).string(),
WebCore::IntSize(16, 16));
- if (!image) {
+ if (!image)
return QPixmap();
- }
- QPixmap *icon = image->nativeImageForCurrentFrame();
- if (!icon) {
+
+ QPixmap* icon = image->nativeImageForCurrentFrame();
+ if (!icon)
return QPixmap();
- }
- return *icon;
+
+ return* icon;
}
/*!
@@ -550,9 +548,9 @@ QIcon QWebSettings::iconForUrl(const QUrl &url)
\sa webGraphic()
*/
-void QWebSettings::setWebGraphic(WebGraphic type, const QPixmap &graphic)
+void QWebSettings::setWebGraphic(WebGraphic type, const QPixmap& graphic)
{
- WebGraphicHash *h = graphics();
+ WebGraphicHash* h = graphics();
if (graphic.isNull())
h->remove(type);
else
@@ -641,7 +639,7 @@ int QWebSettings::maximumPagesInCache()
*/
void QWebSettings::setObjectCacheCapacities(int cacheMinDeadCapacity, int cacheMaxDead, int totalCapacity)
{
- bool disableCache = cacheMinDeadCapacity == 0 && cacheMaxDead == 0 && totalCapacity == 0;
+ bool disableCache = !cacheMinDeadCapacity && !cacheMaxDead && !totalCapacity;
WebCore::cache()->setDisabled(disableCache);
WebCore::cache()->setCapacities(qMax(0, cacheMinDeadCapacity),
@@ -653,7 +651,7 @@ void QWebSettings::setObjectCacheCapacities(int cacheMinDeadCapacity, int cacheM
Sets the actual font family to \a family for the specified generic family,
\a which.
*/
-void QWebSettings::setFontFamily(FontFamily which, const QString &family)
+void QWebSettings::setFontFamily(FontFamily which, const QString& family)
{
d->fontFamilies.insert(which, family);
d->apply();
@@ -667,7 +665,7 @@ QString QWebSettings::fontFamily(FontFamily which) const
{
QString defaultValue;
if (d->settings) {
- QWebSettingsPrivate *global = QWebSettings::globalSettings()->d;
+ QWebSettingsPrivate* global = QWebSettings::globalSettings()->d;
defaultValue = global->fontFamilies.value(which);
}
return d->fontFamilies.value(which, defaultValue);
@@ -708,7 +706,7 @@ bool QWebSettings::testAttribute(WebAttribute attr) const
{
bool defaultValue = false;
if (d->settings) {
- QWebSettingsPrivate *global = QWebSettings::globalSettings()->d;
+ QWebSettingsPrivate* global = QWebSettings::globalSettings()->d;
defaultValue = global->attributes.value(attr);
}
return d->attributes.value(attr, defaultValue);
@@ -789,7 +787,7 @@ qint64 QWebSettings::offlineStorageDefaultQuota()
/*
\internal
\relates QWebSettings
-
+
Sets the path for HTML5 offline web application cache storage to \a path.
\a path must point to an existing directory where the cache is stored.
@@ -808,7 +806,7 @@ void QWEBKIT_EXPORT qt_websettings_setOfflineWebApplicationCachePath(const QStri
/*
\internal
\relates QWebSettings
-
+
Returns the path of the HTML5 offline web application cache storage
or an empty string if the feature is disabled.
@@ -837,7 +835,7 @@ QString QWEBKIT_EXPORT qt_websettings_offlineWebApplicationCachePath()
*/
void QWEBKIT_EXPORT qt_websettings_setLocalStorageDatabasePath(QWebSettings* settings, const QString& path)
{
- QWebSettingsPrivate *d = settings->handle();
+ QWebSettingsPrivate* d = settings->handle();
d->localStorageDatabasePath = path;
d->apply();
}
diff --git a/src/3rdparty/webkit/WebKit/qt/Api/qwebsettings.h b/src/3rdparty/webkit/WebKit/qt/Api/qwebsettings.h
index 7cbca25..63144cb 100644
--- a/src/3rdparty/webkit/WebKit/qt/Api/qwebsettings.h
+++ b/src/3rdparty/webkit/WebKit/qt/Api/qwebsettings.h
@@ -27,8 +27,7 @@
#include <QtGui/qicon.h>
#include <QtCore/qshareddata.h>
-namespace WebCore
-{
+namespace WebCore {
class Settings;
}
@@ -38,8 +37,7 @@ QT_BEGIN_NAMESPACE
class QUrl;
QT_END_NAMESPACE
-class QWEBKIT_EXPORT QWebSettings
-{
+class QWEBKIT_EXPORT QWebSettings {
public:
enum FontFamily {
StandardFont,
diff --git a/src/3rdparty/webkit/WebKit/qt/Api/qwebview.cpp b/src/3rdparty/webkit/WebKit/qt/Api/qwebview.cpp
index c634a7f..e1a0c98 100644
--- a/src/3rdparty/webkit/WebKit/qt/Api/qwebview.cpp
+++ b/src/3rdparty/webkit/WebKit/qt/Api/qwebview.cpp
@@ -30,8 +30,7 @@
#include "qdir.h"
#include "qfile.h"
-class QWebViewPrivate
-{
+class QWebViewPrivate {
public:
QWebViewPrivate(QWebView *view)
: view(view)
@@ -87,7 +86,7 @@ public:
\image qwebview-url.png
A web site can be loaded onto QWebView with the load() function. Like all
- Qt Widgets, the show() function must be invoked in order to display
+ Qt widgets, the show() function must be invoked in order to display
QWebView. The snippet below illustrates this:
\snippet webkitsnippets/simple/main.cpp Using QWebView
@@ -147,7 +146,8 @@ public:
if you do not require QWidget attributes. Nevertheless, QtWebKit depends
on QtGui, so you should use a QApplication instead of QCoreApplication.
- \sa {Previewer Example}, {Browser}
+ \sa {Previewer Example}, {Web Browser}, {Form Extractor Example},
+ {Google Chat Example}, {Fancy Browser Example}
*/
/*!
@@ -206,16 +206,15 @@ QWebPage *QWebView::page() const
\sa page()
*/
-void QWebView::setPage(QWebPage *page)
+void QWebView::setPage(QWebPage* page)
{
if (d->page == page)
return;
if (d->page) {
- if (d->page->parent() == this) {
+ if (d->page->parent() == this)
delete d->page;
- } else {
+ else
d->page->disconnect(this);
- }
}
d->page = page;
if (d->page) {
@@ -270,19 +269,24 @@ void QWebView::setPage(QWebPage *page)
'ftp'. The result is then passed through QUrl's tolerant parser, and
in the case or success, a valid QUrl is returned, or else a QUrl().
- Examples
- - webkit.org becomes http://webkit.org
- - ftp.webkit.org becomes ftp://ftp.webkit.org
- - localhost becomes http://localhost
- - /home/user/test.html becomes file:///home/user/test.html (if exists)
+ \section1 Examples:
- Tips when dealing with URLs and strings
- - When creating a QString from a QByteArray or a char*, always use
- QString::fromUtf8().
- - Do not use QUrl(string), nor QUrl::toString() anywhere where the URL might
- be used, such as in the location bar, as those functions loose data.
- Instead use QUrl::fromEncoded() and QUrl::toEncoded(), respectively.
+ \list
+ \o webkit.org becomes http://webkit.org
+ \o ftp.webkit.org becomes ftp://ftp.webkit.org
+ \o localhost becomes http://localhost
+ \o /home/user/test.html becomes file:///home/user/test.html (if exists)
+ \endlist
+
+ \section2 Tips when dealing with URLs and strings:
+ \list
+ \o When creating a QString from a QByteArray or a char*, always use
+ QString::fromUtf8().
+ \o Do not use QUrl(string), nor QUrl::toString() anywhere where the URL might
+ be used, such as in the location bar, as those functions loose data.
+ Instead use QUrl::fromEncoded() and QUrl::toEncoded(), respectively.
+ \endlist
*/
QUrl QWebView::guessUrlFromString(const QString &string)
{
@@ -612,6 +616,8 @@ qreal QWebView::textSizeMultiplier() const
These hints are used to initialize QPainter before painting the web page.
QPainter::TextAntialiasing is enabled by default.
+
+ \sa QPainter::renderHints()
*/
QPainter::RenderHints QWebView::renderHints() const
{
@@ -703,9 +709,8 @@ bool QWebView::event(QEvent *e)
}
#endif
#endif
- } else if (e->type() == QEvent::Leave) {
+ } else if (e->type() == QEvent::Leave)
d->page->event(e);
- }
}
return QWidget::event(e);
@@ -808,7 +813,7 @@ void QWebView::paintEvent(QPaintEvent *ev)
#ifdef QWEBKIT_TIME_RENDERING
int elapsed = time.elapsed();
- qDebug()<<"paint event on "<<ev->region()<<", took to render = "<<elapsed;
+ qDebug() << "paint event on " << ev->region() << ", took to render = " << elapsed;
#endif
}
@@ -1004,9 +1009,8 @@ void QWebView::inputMethodEvent(QInputMethodEvent *e)
*/
void QWebView::changeEvent(QEvent *e)
{
- if (d->page && e->type() == QEvent::PaletteChange) {
+ if (d->page && e->type() == QEvent::PaletteChange)
d->page->setPalette(palette());
- }
QWidget::changeEvent(e);
}
diff --git a/src/3rdparty/webkit/WebKit/qt/Api/qwebview.h b/src/3rdparty/webkit/WebKit/qt/Api/qwebview.h
index 5c2c7a0..e886144 100644
--- a/src/3rdparty/webkit/WebKit/qt/Api/qwebview.h
+++ b/src/3rdparty/webkit/WebKit/qt/Api/qwebview.h
@@ -40,8 +40,7 @@ class QWebPage;
class QWebViewPrivate;
class QWebNetworkRequest;
-class QWEBKIT_EXPORT QWebView : public QWidget
-{
+class QWEBKIT_EXPORT QWebView : public QWidget {
Q_OBJECT
Q_PROPERTY(QString title READ title)
Q_PROPERTY(QUrl url READ url WRITE setUrl)
@@ -54,27 +53,27 @@ class QWEBKIT_EXPORT QWebView : public QWidget
Q_PROPERTY(QPainter::RenderHints renderHints READ renderHints WRITE setRenderHints)
Q_FLAGS(QPainter::RenderHints)
public:
- explicit QWebView(QWidget *parent = 0);
+ explicit QWebView(QWidget* parent = 0);
virtual ~QWebView();
- QWebPage *page() const;
- void setPage(QWebPage *page);
+ QWebPage* page() const;
+ void setPage(QWebPage* page);
- static QUrl guessUrlFromString(const QString &string);
+ static QUrl guessUrlFromString(const QString& string);
- void load(const QUrl &url);
+ void load(const QUrl& url);
#if QT_VERSION < 0x040400 && !defined(qdoc)
- void load(const QWebNetworkRequest &request);
+ void load(const QWebNetworkRequest& request);
#else
- void load(const QNetworkRequest &request,
+ void load(const QNetworkRequest& request,
QNetworkAccessManager::Operation operation = QNetworkAccessManager::GetOperation,
const QByteArray &body = QByteArray());
#endif
- void setHtml(const QString &html, const QUrl &baseUrl = QUrl());
- void setContent(const QByteArray &data, const QString &mimeType = QString(), const QUrl &baseUrl = QUrl());
+ void setHtml(const QString& html, const QUrl& baseUrl = QUrl());
+ void setContent(const QByteArray& data, const QString& mimeType = QString(), const QUrl& baseUrl = QUrl());
- QWebHistory *history() const;
- QWebSettings *settings() const;
+ QWebHistory* history() const;
+ QWebSettings* settings() const;
QString title() const;
void setUrl(const QUrl &url);
@@ -83,7 +82,7 @@ public:
QString selectedText() const;
- QAction *pageAction(QWebPage::WebAction action) const;
+ QAction* pageAction(QWebPage::WebAction action) const;
void triggerPageAction(QWebPage::WebAction action, bool checked = false);
bool isModified() const;
@@ -106,11 +105,11 @@ public:
QPainter::RenderHints renderHints() const;
void setRenderHints(QPainter::RenderHints hints);
- void setRenderHint(QPainter::RenderHint hint, bool enabled);
+ void setRenderHint(QPainter::RenderHint hint, bool enabled = true);
- bool findText(const QString &subString, QWebPage::FindFlags options = 0);
+ bool findText(const QString& subString, QWebPage::FindFlags options = 0);
- virtual bool event(QEvent *);
+ virtual bool event(QEvent*);
public Q_SLOTS:
void stop();
@@ -118,7 +117,7 @@ public Q_SLOTS:
void forward();
void reload();
- void print(QPrinter *printer) const;
+ void print(QPrinter*) const;
Q_SIGNALS:
void loadStarted();
@@ -126,14 +125,14 @@ Q_SIGNALS:
void loadFinished(bool);
void titleChanged(const QString& title);
void statusBarMessage(const QString& text);
- void linkClicked(const QUrl &url);
+ void linkClicked(const QUrl&);
void selectionChanged();
void iconChanged();
- void urlChanged(const QUrl &url);
+ void urlChanged(const QUrl&);
protected:
- void resizeEvent(QResizeEvent *e);
- void paintEvent(QPaintEvent *ev);
+ void resizeEvent(QResizeEvent*);
+ void paintEvent(QPaintEvent*);
virtual QWebView *createWindow(QWebPage::WebWindowType type);
@@ -150,10 +149,10 @@ protected:
#endif
virtual void keyPressEvent(QKeyEvent*);
virtual void keyReleaseEvent(QKeyEvent*);
- virtual void dragEnterEvent(QDragEnterEvent *);
- virtual void dragLeaveEvent(QDragLeaveEvent *);
- virtual void dragMoveEvent(QDragMoveEvent *);
- virtual void dropEvent(QDropEvent *);
+ virtual void dragEnterEvent(QDragEnterEvent*);
+ virtual void dragLeaveEvent(QDragLeaveEvent*);
+ virtual void dragMoveEvent(QDragMoveEvent*);
+ virtual void dropEvent(QDropEvent*);
virtual void focusInEvent(QFocusEvent*);
virtual void focusOutEvent(QFocusEvent*);
virtual void inputMethodEvent(QInputMethodEvent*);
@@ -162,7 +161,7 @@ protected:
private:
friend class QWebPage;
- QWebViewPrivate *d;
+ QWebViewPrivate* d;
};
#endif // QWEBVIEW_H
diff --git a/src/3rdparty/webkit/WebKit/qt/ChangeLog b/src/3rdparty/webkit/WebKit/qt/ChangeLog
index dffa5e5..83808d2 100644
--- a/src/3rdparty/webkit/WebKit/qt/ChangeLog
+++ b/src/3rdparty/webkit/WebKit/qt/ChangeLog
@@ -1,3 +1,860 @@
+2009-07-28 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Rubber-stamped by Ariya Hidayat.
+
+ Fix compilation with the precompiled header.
+
+ * WebKit_pch.h: Don't include JSDOMBinding.h and MathObject.h,
+ as they include AtomicString.h. AtomicString.cpp needs to enable
+ a #define before including AtomicString.h, which breaks if the PCH
+ forces the inclusion beforehand.
+
+2009-07-28 Ariya Hidayat <ariya.hidayat@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ Added tests to ensure that scroll position can be changed
+ programmatically, even when the scroll bar policy is set to off.
+
+ * tests/qwebframe/tst_qwebframe.cpp:
+
+2009-07-28 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ Fix a few compilation warnings in the QWebFrame tests.
+
+ * tests/qwebframe/tst_qwebframe.cpp:
+
+2009-07-28 Andre Pedralho <andre.pedralho@openbossa.org>
+
+ Reviewed by Simon Hausmann.
+
+ Fixed tst_QWebFrame::hasSetFocus test which was using
+ an undefined resource.
+ https://bugs.webkit.org/show_bug.cgi?id=27512
+
+ * tests/qwebframe/tst_qwebframe.cpp:
+
+2009-07-28 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Reviewed by Ariya Hidayat.
+
+ Make it possible to pass relative file names to QtLauncher.
+
+ * QtLauncher/main.cpp:
+ (MainWindow::MainWindow):
+
+2009-07-27 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27735
+ Give a helpful name to JSLock constructor argument
+
+ * Api/qwebframe.cpp:
+ (QWebFrame::addToJavaScriptWindowObject):
+
+2009-07-27 Volker Hilsheimer <volker.hilsheimer@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ QWebView's "enabled" parameter should default to true, as with QGraphicsView and
+ QPainter.
+
+ * Api/qwebview.cpp: Add reference to QPainter::renderHints().
+ * Api/qwebview.h: Add default for enabled argument.
+
+2009-07-26 Kavindra Palaraja <kavindra.palaraja@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ More documentation cleanups in the QWebElement class overview.
+
+ * Api/qwebelement.cpp:
+
+2009-07-26 Kavindra Palaraja <kavindra.palaraja@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ Clean up documentation of QWebElement's findFirst and findAll functions,
+ as well as their QWebFrame counterparts.
+
+ * Api/qwebelement.cpp:
+ * Api/qwebframe.cpp:
+
+2009-07-26 Kavindra Palaraja <kavindra.palaraja@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ Various documentation cleanups
+
+ * Fixed qdoc warnings
+ * Hide QWebNetworkInterface from the class overview
+ * Mention QWebElement in the module overview
+ * More cleanups
+
+ * Api/qwebframe.cpp:
+ * Api/qwebnetworkinterface.cpp:
+ * Api/qwebview.cpp:
+ * docs/qtwebkit.qdoc:
+
+2009-07-26 Kavindra Palaraja <kavindra.palaraja@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ Added missing class diagram referenced from the docs, taken from the Qt
+ documentation.
+
+ * docs/qtwebkit.qdocconf: Register the image directory with
+ qdoc.
+ * docs/qwebview-diagram.png: Added.
+
+2009-07-24 Antonio Gomes <antonio.gomes@openbossa.org>
+
+ Reviewed by Adam Treat.
+
+ As per discussion on IRC, changed originalUrl by requestedUrl.
+
+ * Api/qwebframe.cpp:
+ (QWebFrame::requestedUrl):
+ * Api/qwebframe.h:
+ * tests/qwebframe/tst_qwebframe.cpp:
+
+2009-07-24 Andre Pedralho <andre.pedralho@openbossa.org>
+
+ Reviewed by Adam Treat.
+
+ Removed void QWebFrame::renderContents(...) and added the Q_PROPERTY
+ clipRenderToViewport to control whether QWebFrame::render would call
+ FrameView::paintContents rather than FrameView::paint and do not clip
+ the frame content to viewport.
+
+
+ * Api/qwebframe.cpp:
+ (QWebFramePrivate::renderPrivate):
+ (QWebFrame::clipRenderToViewport):
+ (QWebFrame::setClipRenderToViewport):
+ * Api/qwebframe.h:
+ * Api/qwebframe_p.h:
+ (QWebFramePrivate::QWebFramePrivate):
+ * tests/qwebframe/tst_qwebframe.cpp:
+
+2009-07-24 Antonio Gomes <antonio.gomes@openbossa.org>
+
+ Reviewed by Simon Hausmann.
+
+ [QT] Implement originalUrl getter method to the API
+ https://bugs.webkit.org/show_bug.cgi?id=25867
+
+ * Api/qwebframe.cpp:
+ (QWebFrame::originalUrl):
+ * Api/qwebframe.h:
+ * tests/qwebframe/qwebframe.qrc:
+ * tests/qwebframe/test1.html: Added.
+ * tests/qwebframe/test2.html: Added.
+ * tests/qwebframe/tst_qwebframe.cpp:
+
+2009-07-24 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Build fix for Qt.
+
+ Fix build issue introduced in 46344
+ ([Bug 22700] ApplicationCache should have size limit)
+
+ Remove method only added to the Qt ChromeClient.
+
+ * WebCoreSupport/ChromeClientQt.h:
+
+2009-07-24 Andrei Popescu <andreip@google.com>
+
+ Reviewed by Anders Carlsson.
+
+ ApplicationCache should have size limit
+ https://bugs.webkit.org/show_bug.cgi?id=22700
+
+ * WebCoreSupport/ChromeClientQt.cpp:
+ (WebCore::ChromeClientQt::reachedMaxAppCacheSize):
+ Adds empty implementation of the reachedMaxAppCacheSize callback.
+ * WebCoreSupport/ChromeClientQt.h:
+
+2009-07-23 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Add simple proxy support for QtLauncher
+ https://bugs.webkit.org/show_bug.cgi?id=27495
+
+ Picks up proxy settings from the http_proxy environment
+ variable.
+
+ * QtLauncher/QtLauncher.pro: Add QtNetwork dependency for all
+ platforms.
+ * QtLauncher/main.cpp:
+ (MainWindow::MainWindow):
+
+2009-07-23 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Reviewed by Holger Freyther.
+
+ Added a testcase to verify that cached methods in the QOBject bindings
+ remain alife even after garbage collection.
+
+ * tests/qwebpage/tst_qwebpage.cpp:
+ (tst_QWebPage::protectBindingsRuntimeObjectsFromCollector):
+
+2009-07-23 Zoltan Herczeg <zherczeg@inf.u-szeged.hu>
+
+ Reviewed by Simon Hausmann.
+
+ Fixing two issues related to QtLauncher
+ - MainWindow objects are not always freed after close
+ - JavaScript window.close() sometimes crashes
+ https://bugs.webkit.org/show_bug.cgi?id=27601
+
+ * QtLauncher/main.cpp:
+ (MainWindow::MainWindow):
+ (main):
+
+2009-07-21 Volker Hilsheimer <volker.hilsheimer@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ Various improvements to the API documentation.
+
+ * Updated link to W3c Database spec
+ * Formatting fixes, cleanups
+ * Add missing \since 4.6 tags to QWebPage::frameAt
+ * Extend QWebDatabase and QWebSecurityOrigin docs.
+
+ * Api/qwebdatabase.cpp:
+ * Api/qwebpage.cpp:
+ * Api/qwebsecurityorigin.cpp:
+ * Api/qwebview.cpp:
+
+2009-07-21 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
+
+ Rubber-stamped by Simon Hausmann.
+
+ Remove preliminary-tag from QWebElement
+
+ * Api/qwebelement.cpp:
+
+2009-07-20 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Fix Qt code to follow the WebKit Coding Style.
+
+ * Api/qcookiejar.cpp:
+ (QCookieJar::setCookieJar):
+ (QCookieJar::cookieJar):
+ * Api/qcookiejar.h:
+ * Api/qwebdatabase.cpp:
+ (QWebDatabase::QWebDatabase):
+ (QWebDatabase::removeDatabase):
+ * Api/qwebdatabase.h:
+ * Api/qwebdatabase_p.h:
+ * Api/qwebelement.h:
+ * Api/qwebframe.cpp:
+ (QWebFrame::title):
+ (QWebFrame::print):
+ * Api/qwebframe.h:
+ * Api/qwebframe_p.h:
+ * Api/qwebhistory.cpp:
+ (QWebHistory::clear):
+ * Api/qwebhistory.h:
+ * Api/qwebhistory_p.h:
+ * Api/qwebhistoryinterface.cpp:
+ (gCleanupInterface):
+ (QWebHistoryInterface::setDefaultInterface):
+ (QWebHistoryInterface::defaultInterface):
+ (QWebHistoryInterface::QWebHistoryInterface):
+ * Api/qwebhistoryinterface.h:
+ * Api/qwebnetworkinterface.cpp:
+ (QWebNetworkManager::started):
+ (QWebNetworkManager::finished):
+ (QWebNetworkInterfacePrivate::parseDataUrl):
+ (QWebNetworkInterface::addJob):
+ (WebCoreHttp::onResponseHeaderReceived):
+ (WebCoreHttp::onReadyRead):
+ * Api/qwebnetworkinterface.h:
+ * Api/qwebnetworkinterface_p.h:
+ * Api/qwebpage.cpp:
+ (QWebPagePrivate::editorCommandForWebActions):
+ (QWebPagePrivate::createContextMenu):
+ (QWebPagePrivate::focusInEvent):
+ (QWebPage::fixedContentsSize):
+ (QWebPage::setContentEditable):
+ (QWebPage::swallowContextMenuEvent):
+ (QWebPage::findText):
+ * Api/qwebpage.h:
+ * Api/qwebpage_p.h:
+ * Api/qwebpluginfactory.h:
+ * Api/qwebsecurityorigin.h:
+ * Api/qwebsecurityorigin_p.h:
+ * Api/qwebsettings.cpp:
+ (QWebSettingsPrivate::QWebSettingsPrivate):
+ (QWebSettingsPrivate::apply):
+ (QWebSettings::globalSettings):
+ (QWebSettings::QWebSettings):
+ (QWebSettings::fontSize):
+ (QWebSettings::setUserStyleSheetUrl):
+ (QWebSettings::setDefaultTextEncoding):
+ (QWebSettings::setIconDatabasePath):
+ (QWebSettings::iconDatabasePath):
+ (QWebSettings::iconForUrl):
+ (QWebSettings::setWebGraphic):
+ (QWebSettings::setFontFamily):
+ (QWebSettings::fontFamily):
+ (QWebSettings::testAttribute):
+ (qt_websettings_setLocalStorageDatabasePath):
+ * Api/qwebsettings.h:
+ * Api/qwebview.cpp:
+ (QWebView::setPage):
+ (QWebView::event):
+ * Api/qwebview.h:
+
+2009-07-20 Holger Hans Peter Freyther <zecke@selfish.org>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Add test for loading webpages...
+
+ Performance test for loading webpages. Wait for the loadFinished
+ signal to be fired. This should include a non empty layout.
+
+ * tests/benchmarks/loading/tst_loading.cpp: Added.
+ (waitForSignal):
+ (tst_Loading::init):
+ (tst_Loading::cleanup):
+ (tst_Loading::load_data):
+ (tst_Loading::load):
+ * tests/benchmarks/loading/tst_loading.pro: Added.
+ * tests/tests.pro:
+
+2009-07-20 Holger Hans Peter Freyther <zecke@selfish.org>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Add a test case for drawing a simple viewrect to a QPixmap
+
+ * tests/benchmarks/painting/tst_painting.cpp: Added.
+ (waitForSignal):
+ (tst_Painting::init):
+ (tst_Painting::cleanup):
+ (tst_Painting::paint_data):
+ (tst_Painting::paint):
+ * tests/benchmarks/painting/tst_painting.pro: Added.
+ * tests/tests.pro:
+
+2009-07-20 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Holger Freyther.
+
+ [Qt] Add an option for QtLauncher to build without QtUiTools dependency
+ https://bugs.webkit.org/show_bug.cgi?id=27438
+
+ Based on Norbert Leser's work.
+
+ * QtLauncher/main.cpp:
+ (WebPage::createPlugin):
+
+2009-07-17 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
+
+ Reviewed by Adam Treat.
+
+ Coding style fixes.
+
+ * Api/qcookiejar.cpp:
+ (QCookieJarPrivate::QCookieJarPrivate):
+ (qHash):
+ (QCookieJar::cookieJar):
+ * Api/qwebelement.cpp:
+ (QWebElement::functions):
+ (QWebElement::scriptableProperties):
+ * Api/qwebframe.cpp:
+ (QWebFrame::metaData):
+ (QWebFrame::scrollBarValue):
+ (QWebFrame::scroll):
+ (QWebFrame::scrollPosition):
+ (QWebFrame::print):
+ * Api/qwebnetworkinterface.cpp:
+ (decodePercentEncoding):
+ (QWebNetworkRequestPrivate::init):
+ (QWebNetworkRequestPrivate::setURL):
+ (QWebNetworkRequest::QWebNetworkRequest):
+ (QWebNetworkRequest::operator=):
+ (QWebNetworkRequest::setUrl):
+ (QWebNetworkRequest::setHttpHeader):
+ (QWebNetworkRequest::httpHeaderField):
+ (QWebNetworkRequest::setHttpHeaderField):
+ (QWebNetworkRequest::setPostData):
+ (QWebNetworkJob::setResponse):
+ (QWebNetworkJob::frame):
+ (QWebNetworkManager::add):
+ (QWebNetworkManager::cancel):
+ (QWebNetworkManager::started):
+ (QWebNetworkManager::data):
+ (QWebNetworkManager::finished):
+ (QWebNetworkManager::addHttpJob):
+ (QWebNetworkManager::cancelHttpJob):
+ (QWebNetworkManager::httpConnectionClosed):
+ (QWebNetworkInterfacePrivate::sendFileData):
+ (QWebNetworkInterfacePrivate::parseDataUrl):
+ (QWebNetworkManager::doWork):
+ (QWebNetworkInterface::setDefaultInterface):
+ (QWebNetworkInterface::defaultInterface):
+ (QWebNetworkInterface::QWebNetworkInterface):
+ (QWebNetworkInterface::addJob):
+ (QWebNetworkInterface::cancelJob):
+ (WebCoreHttp::WebCoreHttp):
+ (WebCoreHttp::request):
+ (WebCoreHttp::scheduleNextRequest):
+ (WebCoreHttp::getConnection):
+ (WebCoreHttp::onResponseHeaderReceived):
+ (WebCoreHttp::onReadyRead):
+ (WebCoreHttp::onRequestFinished):
+ (WebCoreHttp::onAuthenticationRequired):
+ (WebCoreHttp::onProxyAuthenticationRequired):
+ * Api/qwebpage.cpp:
+ (QWebPagePrivate::QWebPagePrivate):
+ (QWebPagePrivate::mouseReleaseEvent):
+ (QWebPagePrivate::inputMethodEvent):
+ (QWebPagePrivate::shortcutOverrideEvent):
+ (QWebPage::inputMethodQuery):
+ (QWebPage::javaScriptPrompt):
+ (QWebPage::updatePositionDependentActions):
+ (QWebPage::userAgentForUrl):
+ (QWebPagePrivate::_q_onLoadProgressChanged):
+ (QWebPage::totalBytes):
+ (QWebPage::bytesReceived):
+ * Api/qwebsettings.cpp:
+ (QWebSettings::iconForUrl):
+ (QWebSettings::setObjectCacheCapacities):
+ * Api/qwebview.cpp:
+ (QWebView::paintEvent):
+ (QWebView::changeEvent):
+
+2009-07-17 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
+
+ Reviewed by Simon Hausmann.
+
+ Overwrite the plugin directories for the DRT.
+ Part of https://bugs.webkit.org/show_bug.cgi?id=27215
+
+ * Api/qwebpage.cpp:
+ (qt_drt_overwritePluginDirectories): Only set the plugin directories
+ to the ones in the QTWEBKIT_PLUGIN_PATH environment variable.
+
+2009-07-16 Xiaomei Ji <xji@chromium.org>
+
+ Reviewed by Dan Bernstein.
+
+ This is the 2nd part of fixing "RTL: tooltip does not get its directionlity from its element's."
+ https://bugs.webkit.org/show_bug.cgi?id=24187
+
+ Add one extra parameter to the callee of HitTestResult::title() due to the signature change.
+
+ * Api/qwebframe.cpp:
+ (QWebHitTestResultPrivate::QWebHitTestResultPrivate): Add direction as a parameter to the callee of HitTestResult::title().
+ * WebCoreSupport/ChromeClientQt.cpp:
+ (WebCore::ChromeClientQt::mouseDidMoveOverElement): Add direction as a parameter to the callee of HitTestResult::title().
+
+2009-07-16 Benjamin C Meyer <benjamin.meyer@torchmobile.com>
+
+ Reviewed by Adam Treat.
+
+ Add new action to qwebpage to reload without cache.
+
+ * Api/qwebpage.cpp:
+ (QWebPagePrivate::updateAction):
+ (QWebPagePrivate::updateNavigationActions):
+ (QWebPage::triggerAction):
+ * Api/qwebpage.h:
+
+2009-07-16 Xiaomei Ji <xji@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Fix tooltip does not get its directionality from its element's directionality.
+ https://bugs.webkit.org/show_bug.cgi?id=24187
+
+ Per mitz's suggestion in comment #6, while getting the plain-text
+ title, we also get the directionality of the title. How to handle
+ the directionality is up to clients. Clients could ignore it,
+ or use attribute or unicode control characters to display the title
+ as what they want.
+
+
+ * WebCoreSupport/ChromeClientQt.cpp:
+ (WebCore::ChromeClientQt::setToolTip): Add directionality as 2nd parameter to setToopTip() (without handling it yet).
+ * WebCoreSupport/ChromeClientQt.h: Add directionality as 2nd parameter to setToolTip().
+
+2009-07-15 Yael Aharon <yael.aharon@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27285
+
+ When the user clicks a link with a target attribute, the newly created window should be visible.
+ Make new windows created in Qtlauncher visible.
+
+ * QtLauncher/main.cpp:
+ (WebPage::createWindow):
+
+2009-07-14 Adam Treat <adam.treat@torchmobile.com>
+
+ Reviewed by Zack Rusin.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26983
+
+ The default constructed values for QSize and WebCore::IntSize are different. The former
+ produces an invalid size whereas the latter produces a size of zero. This was causing
+ a layout to be triggered when constructing a view and an assert to be hit. This patch fixes
+ the crash by taking care not to cause an unnecessary layout triggered by ScrollView::setFixedLayoutSize.
+
+ * WebCoreSupport/FrameLoaderClientQt.cpp:
+ (WebCore::FrameLoaderClientQt::transitionToCommittedForNewPage):
+
+2009-07-13 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Reviewed by Ariya Hidayat.
+
+ Fix qdoc warnings for QWebPage::shouldInterruptJavaScript() and mention
+ how to re-implement it.
+
+ * Api/qwebpage.cpp:
+
+2009-07-13 Simon Hausmann <hausmann@webkit.org>
+
+ Reviewed by Ariya Hidayat.
+
+ Fix crash with plugins when the plugin stream is cancelled.
+
+ Similar to r26667 handle the case where didReceiveResponse on the
+ plugin view results in failure to set up the stream and
+ setMainDocumentError being called instead. This will set the
+ m_pluginView back to 0 and we need check for it before calling
+ didReceiveData.
+
+ This was triggered by consecutive execution of
+ LayoutTests/plugins/return-error-from-new-stream-callback-in-full-frame-plugin.html
+ followed by LayoutTests/scrollbars/scrollbar-crash-on-refresh.html
+
+ * WebCoreSupport/FrameLoaderClientQt.cpp:
+ (WebCore::FrameLoaderClientQt::committedLoad):
+
+2009-07-13 Simon Hausmann <hausmann@webkit.org>
+
+ Reviewed by Ariya Hidayat.
+
+ Added QWebDatabase::removeAllDatabases, as a way to delete all
+ databases from the offline storage path.
+
+ Used by the Qt DRT.
+
+ * Api/qwebdatabase.cpp:
+ (QWebDatabase::removeAllDatabases):
+ * Api/qwebdatabase.h:
+
+2009-07-13 Simon Hausmann <hausmann@webkit.org>
+
+ Reviewed by Ariya Hidayat.
+
+ Added loadStarted() and loadFinished() signals to QWebFrame,
+ to allow load tracking of individual frames, as opposed to
+ QWebPage's loadStarted/loadFinished signals that are emitted
+ whenever _any_ child frame loads/finishes.
+
+ * Api/qwebframe.cpp: Document new signals.
+ * Api/qwebframe.h: Add new signals.
+ * WebCoreSupport/FrameLoaderClientQt.cpp:
+ (WebCore::FrameLoaderClientQt::setFrame): Connect new signals.
+
+2009-07-13 Simon Hausmann <hausmann@webkit.org>
+
+ Reviewed by Ariya Hidayat.
+
+ Add hooks for the GCController JavaScript interface needed by the
+ Qt DRT.
+
+ Fixed sort order of includes in qwebframe.cpp.
+
+ * Api/qwebframe.cpp:
+ (qt_drt_javaScriptObjectsCount):
+ (qt_drt_garbageCollector_collect):
+ (qt_drt_garbageCollector_collectOnAlternateThread):
+
+2009-07-13 Simon Hausmann <hausmann@webkit.org>
+
+ Reviewed by Ariya Hidayat.
+
+ Add hooks for the GCController JavaScript interface needed by the
+ Qt DRT.
+
+ Fixed sort order of includes in qwebframe.cpp.
+
+ * Api/qwebframe.cpp:
+ (qt_drt_javaScriptObjectsCount):
+ (qt_drt_garbageCollector_collect):
+ (qt_drt_garbageCollector_collectOnAlternateThread):
+
+2009-07-12 Brent Fulgham <bfulgham@gmail.com>
+
+ Speculative build fix after http://trac.webkit.org/changeset/45786.
+
+ * WebCoreSupport/ChromeClientQt.cpp:
+ (WebCore::ChromeClientQt::addMessageToConsole):
+ * WebCoreSupport/ChromeClientQt.h:
+
+2009-07-10 Yael Aharon <yael.aharon@nokia.com>
+
+ Reviewed by Holger Freyther.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27136
+
+ Fix a bug where webkit hangs when executing infinite JavaScript loop.
+
+ * Api/qwebpage.cpp:
+ (QWebPage::shouldInterruptJavaScript):
+ * Api/qwebpage.h:
+ * WebCoreSupport/ChromeClientQt.cpp:
+ (WebCore::ChromeClientQt::shouldInterruptJavaScript):
+ * tests/qwebpage/tst_qwebpage.cpp:
+ (JSTestPage::JSTestPage):
+ (JSTestPage::shouldInterruptJavaScript):
+ (tst_QWebPage::infiniteLoopJS):
+
+2009-07-10 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Reviewed by Holger Freyther.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27108
+
+ Fix crash when in frame tree of a new frame before the new frame
+ has been installed in the frame tree, similar to r35088.
+
+ After calling Frame::init() the frame it may have been removed from the
+ frame tree again through JavaScript. Detect this by checking the page()
+ afterwards.
+
+ To make this check safe the Frame::init() code was moved into
+ QWebFrameData's constructor, where a RefPtr holds a reference to the frame.
+ After the check back in FrameLoaderClientQt we would hold the single
+ reference left and after release() the frame, its frame loader, its
+ client as well as the QWebFrame should have disappeared then.
+
+ * Api/qwebframe.cpp:
+ (QWebFramePrivate::init): Only call Frame::init here, the rest is
+ done in QWebFrameData's constructor.
+ (QWebFrame::QWebFrame):
+ * Api/qwebframe_p.h: Adjust declaration.
+ (QWebFrameData::QWebFrameData): Create the Frame here.
+ * Api/qwebpage.cpp:
+ (QWebPagePrivate::createMainFrame): Adjust and simplify
+ to new QWebFrame constructor.
+ * WebCoreSupport/FrameLoaderClientQt.cpp:
+ (WebCore::FrameLoaderClientQt::createFrame): Adjust to
+ new QWebFrame construction using QWebFrameData and add the
+ check like in r35088.
+
+2009-07-09 Beth Dakin <bdakin@apple.com>
+
+ Reviewed by Dave Hyatt.
+
+ Make Widget RefCounted to fix:
+
+ <rdar://problem/7038831> REGRESSION (TOT): In Mail, a crash occurs
+ at WebCore::Widget::afterMouseDown() after clicking To Do's close
+ box
+ <rdar://problem/6978804> WER #16: Repro Access Violation in
+ WebCore::PluginView::bindingInstance (1310178023)
+ -and-
+ <rdar://problem/6991251> WER #13: Crash in WebKit!
+ WebCore::PluginView::performRequest+203 (1311461169)
+
+ * WebCoreSupport/FrameLoaderClientQt.cpp:
+ (WebCore::FrameLoaderClientQt::createPlugin):
+ (WebCore::FrameLoaderClientQt::createJavaAppletWidget):
+ * WebCoreSupport/FrameLoaderClientQt.h:
+
+2009-07-08 Pradeepto Bhattacharya <pradeepto@kde.org>
+
+ Reviewed by Ariya Hidayat.
+
+ Build fix.
+
+ * WebCoreSupport/FrameLoaderClientQt.h: Removed the slot slotCallPolicyFunction().
+
+2009-07-08 Simon Hausmann <hausmann@webkit.org>
+
+ Reviewed by Tor Arne Vestbø.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27080
+
+ Fix DRT instability issues with fast/loader/submit-form-while-parsing-2.html
+
+ When the form is submitted we call the policy function in the frame
+ loader delayed with a queued connection. That queued connection
+ sometimes interferes with the javascript timeout set in the testcase.
+
+ Eliminate the entire delayed policy function mechanism and instead always
+ call back directly, like in the other ports. In most other places we called
+ the slot directly anyway.
+
+ * WebCoreSupport/FrameLoaderClientQt.cpp:
+ (WebCore::FrameLoaderClientQt::FrameLoaderClientQt): Remove m_policyFunction.
+ (WebCore::FrameLoaderClientQt::callPolicyFunction): Call the policy function directly instead
+ of emitting the queued signal.
+ (WebCore::FrameLoaderClientQt::cancelPolicyCheck): Call callPolicyFunction directly.
+ (WebCore::FrameLoaderClientQt::dispatchWillSubmitForm): Ditto.
+ (WebCore::FrameLoaderClientQt::dispatchDecidePolicyForMIMEType): Ditto.
+ (WebCore::FrameLoaderClientQt::dispatchDecidePolicyForNewWindowAction): Ditto.
+ (WebCore::FrameLoaderClientQt::dispatchDecidePolicyForNavigationAction): Ditto.
+ * WebCoreSupport/FrameLoaderClientQt.h: Remove m_policyFunction as well as the associated
+ signal.
+
+2009-07-07 Simon Hausmann <hausmann@webkit.org>
+
+ Reviewed by Holger Freyther.
+
+ Add Qt DRT hook for clearing the frame name.
+
+ * Api/qwebframe.cpp:
+ (qt_drt_clearFrameName):
+
+2009-07-05 Simon Hausmann <hausmann@webkit.org>
+
+ Reviewed by Holger Freyther.
+
+ Fix two qdoc warnings.
+
+ Added missing \property for QWebFrame::hasFocus and added \a
+ tag for pos of QWebPage::frameAt.
+
+ * Api/qwebframe.cpp:
+ * Api/qwebpage.cpp:
+
+2009-07-04 Holger Hans Peter Freyther <zecke@selfish.org>
+
+ Reviewed by Simon Hausmann.
+
+ Use the recently introduced FocusController::setFocused
+
+ Use the recently introduced FocusController::setFocused
+ in the Qt platform. The SelectionController will be updated
+ from within the FocusController now.
+
+ * Api/qwebpage.cpp:
+ (QWebPagePrivate::focusInEvent):
+ (QWebPagePrivate::focusOutEvent):
+
+2009-07-02 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Reviewed by Ariya Hidayat.
+
+ Improve documentation of QWebFrame::setFocus and hasFocus()
+ Added missing Q_PROPERTY for QWebFrame::hasFocus.
+
+ * Api/qwebframe.cpp: Clarify the docs.
+ * Api/qwebframe.h: add Q_PROPERTY(focus).
+
+2009-07-02 Joe Ligman <joseph.ligman@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ Bug 26855: [Qt] New methods for QWebFrame to check and set focus.
+
+ Added new public methods QWebFrame::hasFocus() and QWebFrame::setFocus()
+ Added auto test.
+
+ * Api/qwebframe.cpp:
+ (QWebFrame::hasFocus):
+ (QWebFrame::setFocus):
+ * Api/qwebframe.h:
+ * tests/qwebframe/tst_qwebframe.cpp:
+
+2009-07-01 Robert Hogan <robert@roberthogan.net>
+
+ Reviewed by NOBODY.
+
+ Fix Qt segfault when javascript disabled.
+ If clients call addToJavaScriptWindowObject even though JavascriptEnabled is false
+ webkit will segfault on the assert:
+ ASSERTION FAILED: _rootObject
+ (../../../WebCore/bridge/runtime.cpp:52
+ JSC::Bindings::Instance::Instance(WTF::PassRefPtr<JSC::Bindings::RootObject>))
+ Fix is to ensure JavaScript is enabled when client calls addToJavaScriptWindowObject.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26906
+
+ * Api/qwebframe.cpp:
+ (QWebFrame::addToJavaScriptWindowObject):
+
+2009-07-01 Jakub Wieczorek <faw217@gmail.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Move some API headers from WebCore.pro to headers.pri so that they
+ get installed when running make install from the build directory.
+
+ * Api/headers.pri:
+
+2009-07-01 Balazs Kelemen <kelemen.balazs.3@stud.u-szeged.hu>
+
+ Reviewed by Simon Hausmann.
+
+ Fixed robotized QtLauncher to work when there is no index.html in the user's home.
+
+ * QtLauncher/main.cpp:
+ (main):
+
+2009-06-30 Brian Weinstein <bweinstein@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Renamed scrollbarUnderPoint to scrollbarAtPoint to follow conventions.
+
+ * Api/qwebpage.cpp:
+ (QWebPage::swallowContextMenuEvent):
+
+2009-06-30 Joe Ligman <joseph.ligman@nokia.com>
+
+ Reviewed by Adam Treat.
+
+ Bug 26422: [Qt] QWebPagePrivate::frameAt calculates wrong frame
+
+ Added a public method QWebPage::frameAt
+ Removed QWebPagePrivate::frameAt, which calcuated the wrong frame
+ Modified QWebPage::swallowContextMenuEvent to use the new frameAt method
+ New test case for frameAt added to tst_qwebpage.cpp
+
+ * Api/qwebpage.cpp:
+ (QWebPage::frameAt):
+ (QWebPage::swallowContextMenuEvent):
+ * Api/qwebpage.h:
+ * Api/qwebpage_p.h:
+ * tests/qwebpage/frametest/iframe.html: Added.
+ * tests/qwebpage/frametest/iframe2.html: Added.
+ * tests/qwebpage/frametest/iframe3.html: Added.
+ * tests/qwebpage/tst_qwebpage.cpp:
+ (frameAtHelper):
+ (tst_QWebPage::frameAt):
+ * tests/qwebpage/tst_qwebpage.qrc:
+
+2009-06-30 Jakub Wieczorek <faw217@gmail.com>
+
+ Reviewed by Simon Hausmann.
+
+ Add QWebFrame::baseUrl() function that exposes the base URL of a frame.
+ Autotests included.
+
+ * Api/qwebframe.cpp:
+ (QWebFrame::baseUrl):
+ * Api/qwebframe.h:
+ * tests/qwebframe/tst_qwebframe.cpp:
+
2009-06-29 Simon Hausmann <simon.hausmann@nokia.com>
Fix the Qt build, add missing isSpeaking() implementation to
diff --git a/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/ChromeClientQt.cpp b/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/ChromeClientQt.cpp
index d001035..d659833 100644
--- a/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/ChromeClientQt.cpp
+++ b/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/ChromeClientQt.cpp
@@ -228,7 +228,7 @@ void ChromeClientQt::setResizable(bool)
notImplemented();
}
-void ChromeClientQt::addMessageToConsole(MessageSource, MessageLevel, const String& message,
+void ChromeClientQt::addMessageToConsole(MessageSource, MessageType, MessageLevel, const String& message,
unsigned int lineNumber, const String& sourceID)
{
QString x = message;
@@ -288,8 +288,9 @@ void ChromeClientQt::setStatusbarText(const String& msg)
bool ChromeClientQt::shouldInterruptJavaScript()
{
- notImplemented();
- return false;
+ bool shouldInterrupt = false;
+ QMetaObject::invokeMethod(m_webPage, "shouldInterruptJavaScript", Qt::DirectConnection, Q_RETURN_ARG(bool, shouldInterrupt));
+ return shouldInterrupt;
}
bool ChromeClientQt::tabsToLinks() const
@@ -352,18 +353,19 @@ void ChromeClientQt::contentsSizeChanged(Frame* frame, const IntSize& size) cons
void ChromeClientQt::mouseDidMoveOverElement(const HitTestResult& result, unsigned modifierFlags)
{
+ TextDirection dir;
if (result.absoluteLinkURL() != lastHoverURL
- || result.title() != lastHoverTitle
+ || result.title(dir) != lastHoverTitle
|| result.textContent() != lastHoverContent) {
lastHoverURL = result.absoluteLinkURL();
- lastHoverTitle = result.title();
+ lastHoverTitle = result.title(dir);
lastHoverContent = result.textContent();
emit m_webPage->linkHovered(lastHoverURL.prettyURL(),
lastHoverTitle, lastHoverContent);
}
}
-void ChromeClientQt::setToolTip(const String &tip)
+void ChromeClientQt::setToolTip(const String &tip, TextDirection)
{
#ifndef QT_NO_TOOLTIP
QWidget* view = m_webPage->view();
@@ -399,6 +401,14 @@ void ChromeClientQt::exceededDatabaseQuota(Frame* frame, const String& databaseN
}
#endif
+#if ENABLE(OFFLINE_WEB_APPLICATIONS)
+void ChromeClientQt::reachedMaxAppCacheSize(int64_t spaceNeeded)
+{
+ // FIXME: Free some space.
+ notImplemented();
+}
+#endif
+
void ChromeClientQt::runOpenPanel(Frame* frame, PassRefPtr<FileChooser> prpFileChooser)
{
RefPtr<FileChooser> fileChooser = prpFileChooser;
diff --git a/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/ChromeClientQt.h b/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/ChromeClientQt.h
index 9f2c1b5..96c7fab 100644
--- a/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/ChromeClientQt.h
+++ b/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/ChromeClientQt.h
@@ -83,7 +83,7 @@ namespace WebCore {
virtual void setResizable(bool);
- virtual void addMessageToConsole(MessageSource, MessageLevel, const String& message,
+ virtual void addMessageToConsole(MessageSource, MessageType, MessageLevel, const String& message,
unsigned int lineNumber, const String& sourceID);
virtual bool canRunBeforeUnloadConfirmPanel();
@@ -110,12 +110,15 @@ namespace WebCore {
virtual void mouseDidMoveOverElement(const HitTestResult&, unsigned modifierFlags);
- virtual void setToolTip(const String&);
+ virtual void setToolTip(const String&, TextDirection);
virtual void print(Frame*);
#if ENABLE(DATABASE)
virtual void exceededDatabaseQuota(Frame*, const String&);
#endif
+#if ENABLE(OFFLINE_WEB_APPLICATIONS)
+ virtual void reachedMaxAppCacheSize(int64_t spaceNeeded);
+#endif
virtual void runOpenPanel(Frame*, PassRefPtr<FileChooser>);
virtual void formStateDidChange(const Node*) { }
diff --git a/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp b/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp
index c6c4b9e..5cf86b1 100644
--- a/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp
+++ b/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp
@@ -144,10 +144,8 @@ FrameLoaderClientQt::FrameLoaderClientQt()
, m_pluginView(0)
, m_hasSentResponseToPlugin(false)
, m_firstData(false)
- , m_policyFunction(0)
, m_loadSucceeded(false)
{
- connect(this, SIGNAL(sigCallPolicyFunction(int)), this, SLOT(slotCallPolicyFunction(int)), Qt::QueuedConnection);
}
@@ -166,10 +164,14 @@ void FrameLoaderClientQt::setFrame(QWebFrame* webFrame, Frame* frame)
connect(this, SIGNAL(loadStarted()),
m_webFrame->page(), SIGNAL(loadStarted()));
+ connect(this, SIGNAL(loadStarted()),
+ m_webFrame, SIGNAL(loadStarted()));
connect(this, SIGNAL(loadProgress(int)),
m_webFrame->page(), SIGNAL(loadProgress(int)));
connect(this, SIGNAL(loadFinished(bool)),
m_webFrame->page(), SIGNAL(loadFinished(bool)));
+ connect(this, SIGNAL(loadFinished(bool)),
+ m_webFrame, SIGNAL(loadFinished(bool)));
connect(this, SIGNAL(titleChanged(const QString&)),
m_webFrame, SIGNAL(titleChanged(const QString&)));
}
@@ -181,20 +183,7 @@ QWebFrame* FrameLoaderClientQt::webFrame() const
void FrameLoaderClientQt::callPolicyFunction(FramePolicyFunction function, PolicyAction action)
{
- ASSERT(!m_policyFunction);
- ASSERT(function);
-
- m_policyFunction = function;
- emit sigCallPolicyFunction(action);
-}
-
-void FrameLoaderClientQt::slotCallPolicyFunction(int action)
-{
- if (!m_frame || !m_policyFunction)
- return;
- FramePolicyFunction function = m_policyFunction;
- m_policyFunction = 0;
- (m_frame->loader()->*function)(WebCore::PolicyAction(action));
+ (m_frame->loader()->*function)(action);
}
bool FrameLoaderClientQt::hasWebView() const
@@ -225,7 +214,7 @@ void FrameLoaderClientQt::transitionToCommittedForNewPage()
m_frame->createView(m_webFrame->page()->viewportSize(),
backgroundColor, !backgroundColor.alpha(),
- fixedLayoutSize,
+ fixedLayoutSize.isValid() ? IntSize(fixedLayoutSize) : IntSize(),
fixedLayoutSize.isValid(),
(ScrollbarMode)m_webFrame->scrollBarPolicy(Qt::Horizontal),
(ScrollbarMode)m_webFrame->scrollBarPolicy(Qt::Vertical));
@@ -415,7 +404,6 @@ void FrameLoaderClientQt::dispatchShow()
void FrameLoaderClientQt::cancelPolicyCheck()
{
// qDebug() << "FrameLoaderClientQt::cancelPolicyCheck";
- m_policyFunction = 0;
}
@@ -423,7 +411,6 @@ void FrameLoaderClientQt::dispatchWillSubmitForm(FramePolicyFunction function,
PassRefPtr<FormState>)
{
notImplemented();
- Q_ASSERT(!m_policyFunction);
// FIXME: This is surely too simple
callPolicyFunction(function, PolicyUse);
}
@@ -692,6 +679,11 @@ void FrameLoaderClientQt::committedLoad(WebCore::DocumentLoader* loader, const c
if (m_pluginView) {
if (!m_hasSentResponseToPlugin) {
m_pluginView->didReceiveResponse(loader->response());
+ // didReceiveResponse sets up a new stream to the plug-in. on a full-page plug-in, a failure in
+ // setting up this stream can cause the main document load to be cancelled, setting m_pluginView
+ // to null
+ if (!m_pluginView)
+ return;
m_hasSentResponseToPlugin = true;
}
m_pluginView->didReceiveData(data, length);
@@ -887,19 +879,15 @@ WebCore::Frame* FrameLoaderClientQt::dispatchCreatePage()
void FrameLoaderClientQt::dispatchDecidePolicyForMIMEType(FramePolicyFunction function, const WebCore::String& MIMEType, const WebCore::ResourceRequest&)
{
// we need to call directly here
- Q_ASSERT(!m_policyFunction);
- m_policyFunction = function;
if (canShowMIMEType(MIMEType))
- slotCallPolicyFunction(PolicyUse);
+ callPolicyFunction(function, PolicyUse);
else
- slotCallPolicyFunction(PolicyDownload);
+ callPolicyFunction(function, PolicyDownload);
}
void FrameLoaderClientQt::dispatchDecidePolicyForNewWindowAction(FramePolicyFunction function, const WebCore::NavigationAction& action, const WebCore::ResourceRequest& request, PassRefPtr<WebCore::FormState>, const WebCore::String&)
{
- Q_ASSERT(!m_policyFunction);
Q_ASSERT(m_webFrame);
- m_policyFunction = function;
#if QT_VERSION < 0x040400
QWebNetworkRequest r(request);
#else
@@ -916,17 +904,15 @@ void FrameLoaderClientQt::dispatchDecidePolicyForNewWindowAction(FramePolicyFunc
m_frame->loader()->activeDocumentLoader()->setLastCheckedRequest(emptyRequest);
}
- slotCallPolicyFunction(PolicyIgnore);
+ callPolicyFunction(function, PolicyIgnore);
return;
}
- slotCallPolicyFunction(PolicyUse);
+ callPolicyFunction(function, PolicyUse);
}
void FrameLoaderClientQt::dispatchDecidePolicyForNavigationAction(FramePolicyFunction function, const WebCore::NavigationAction& action, const WebCore::ResourceRequest& request, PassRefPtr<WebCore::FormState>)
{
- Q_ASSERT(!m_policyFunction);
Q_ASSERT(m_webFrame);
- m_policyFunction = function;
#if QT_VERSION < 0x040400
QWebNetworkRequest r(request);
#else
@@ -943,10 +929,10 @@ void FrameLoaderClientQt::dispatchDecidePolicyForNavigationAction(FramePolicyFun
m_frame->loader()->activeDocumentLoader()->setLastCheckedRequest(emptyRequest);
}
- slotCallPolicyFunction(PolicyIgnore);
+ callPolicyFunction(function, PolicyIgnore);
return;
}
- slotCallPolicyFunction(PolicyUse);
+ callPolicyFunction(function, PolicyUse);
}
void FrameLoaderClientQt::dispatchUnableToImplementPolicy(const WebCore::ResourceError&)
@@ -971,32 +957,35 @@ PassRefPtr<Frame> FrameLoaderClientQt::createFrame(const KURL& url, const String
if (!m_webFrame)
return 0;
- QWebFrameData frameData;
+ QWebFrameData frameData(m_frame->page(), m_frame, ownerElement, name);
frameData.url = url;
- frameData.name = name;
- frameData.ownerElement = ownerElement;
frameData.referrer = referrer;
frameData.allowsScrolling = allowsScrolling;
frameData.marginWidth = marginWidth;
frameData.marginHeight = marginHeight;
- QWebFrame* webFrame = new QWebFrame(m_webFrame, &frameData);
- emit m_webFrame->page()->frameCreated(webFrame);
+ QPointer<QWebFrame> webFrame = new QWebFrame(m_webFrame, &frameData);
+ // The creation of the frame may have run arbitrary JavaScript that removed it from the page already.
+ if (!webFrame->d->frame->page()) {
+ frameData.frame.release();
+ ASSERT(webFrame.isNull());
+ return 0;
+ }
- RefPtr<Frame> childFrame = adoptRef(webFrame->d->frame);
+ emit m_webFrame->page()->frameCreated(webFrame);
// ### set override encoding if we have one
FrameLoadType loadType = m_frame->loader()->loadType();
FrameLoadType childLoadType = FrameLoadTypeRedirectWithLockedBackForwardList;
- childFrame->loader()->loadURLIntoChildFrame(frameData.url, frameData.referrer, childFrame.get());
+ frameData.frame->loader()->loadURLIntoChildFrame(frameData.url, frameData.referrer, frameData.frame.get());
// The frame's onload handler may have removed it from the document.
- if (!childFrame->tree()->parent())
+ if (!frameData.frame->tree()->parent())
return 0;
- return childFrame.release();
+ return frameData.frame.release();
}
ObjectContentType FrameLoaderClientQt::objectContentType(const KURL& url, const String& _mimeType)
@@ -1085,7 +1074,7 @@ public:
}
};
-Widget* FrameLoaderClientQt::createPlugin(const IntSize& pluginSize, HTMLPlugInElement* element, const KURL& url, const Vector<String>& paramNames,
+PassRefPtr<Widget> FrameLoaderClientQt::createPlugin(const IntSize& pluginSize, HTMLPlugInElement* element, const KURL& url, const Vector<String>& paramNames,
const Vector<String>& paramValues, const String& mimeType, bool loadManually)
{
// qDebug()<<"------ Creating plugin in FrameLoaderClientQt::createPlugin for "<<url.prettyURL() << mimeType;
@@ -1149,7 +1138,7 @@ Widget* FrameLoaderClientQt::createPlugin(const IntSize& pluginSize, HTMLPlugInE
QWidget* view = m_webFrame->page()->view();
if (view)
widget->setParent(view);
- QtPluginWidget* w = new QtPluginWidget();
+ RefPtr<QtPluginWidget> w = adoptRef(new QtPluginWidget());
w->setPlatformWidget(widget);
// Make sure it's invisible until properly placed into the layout
w->setFrameRect(IntRect(0, 0, 0, 0));
@@ -1158,7 +1147,7 @@ Widget* FrameLoaderClientQt::createPlugin(const IntSize& pluginSize, HTMLPlugInE
// FIXME: make things work for widgetless plugins as well
delete object;
} else { // NPAPI Plugins
- PluginView* pluginView = PluginView::create(m_frame, pluginSize, element, url,
+ RefPtr<PluginView> pluginView = PluginView::create(m_frame, pluginSize, element, url,
paramNames, paramValues, mimeType, loadManually);
return pluginView;
}
@@ -1173,7 +1162,7 @@ void FrameLoaderClientQt::redirectDataToPlugin(Widget* pluginWidget)
m_hasSentResponseToPlugin = false;
}
-Widget* FrameLoaderClientQt::createJavaAppletWidget(const IntSize&, HTMLAppletElement*, const KURL& baseURL,
+PassRefPtr<Widget> FrameLoaderClientQt::createJavaAppletWidget(const IntSize&, HTMLAppletElement*, const KURL& baseURL,
const Vector<String>& paramNames, const Vector<String>& paramValues)
{
notImplemented();
diff --git a/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.h b/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.h
index 4d2dcbc..754d8bc 100644
--- a/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.h
+++ b/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.h
@@ -59,10 +59,7 @@ namespace WebCore {
friend class ::QWebFrame;
void callPolicyFunction(FramePolicyFunction function, PolicyAction action);
- private slots:
- void slotCallPolicyFunction(int);
signals:
- void sigCallPolicyFunction(int);
void loadStarted();
void loadProgress(int d);
void loadFinished(bool);
@@ -188,10 +185,10 @@ namespace WebCore {
virtual PassRefPtr<Frame> createFrame(const KURL& url, const String& name, HTMLFrameOwnerElement* ownerElement,
const String& referrer, bool allowsScrolling, int marginWidth, int marginHeight) ;
- virtual Widget* createPlugin(const IntSize&, HTMLPlugInElement*, const KURL&, const Vector<String>&, const Vector<String>&, const String&, bool);
+ virtual PassRefPtr<Widget> createPlugin(const IntSize&, HTMLPlugInElement*, const KURL&, const Vector<String>&, const Vector<String>&, const String&, bool);
virtual void redirectDataToPlugin(Widget* pluginWidget);
- virtual Widget* createJavaAppletWidget(const IntSize&, HTMLAppletElement*, const KURL& baseURL, const Vector<String>& paramNames, const Vector<String>& paramValues);
+ virtual PassRefPtr<Widget> createJavaAppletWidget(const IntSize&, HTMLAppletElement*, const KURL& baseURL, const Vector<String>& paramNames, const Vector<String>& paramValues);
virtual ObjectContentType objectContentType(const KURL& url, const String& mimeType);
virtual String overrideMediaType() const;
@@ -209,7 +206,6 @@ namespace WebCore {
QWebFrame *m_webFrame;
ResourceResponse m_response;
bool m_firstData;
- FramePolicyFunction m_policyFunction;
// Plugin view to redirect data to
WebCore::PluginView* m_pluginView;
diff --git a/src/3rdparty/webkit/WebKit/qt/WebKit_pch.h b/src/3rdparty/webkit/WebKit/qt/WebKit_pch.h
index ae8ec88..1dd4d52 100644
--- a/src/3rdparty/webkit/WebKit/qt/WebKit_pch.h
+++ b/src/3rdparty/webkit/WebKit/qt/WebKit_pch.h
@@ -77,7 +77,4 @@
#include <wtf/UnusedParam.h>
#include <wtf/AlwaysInline.h>
#include <wtf/GetPtr.h>
-
-#include "../../WebCore/bindings/js/JSDOMBinding.h"
-#include "../../JavaScriptCore/runtime/MathObject.h"
#endif
diff --git a/src/3rdparty/webkit/WebKit/qt/docs/qtwebkit.qdoc b/src/3rdparty/webkit/WebKit/qt/docs/qtwebkit.qdoc
index 3def65c..f3681ee 100644
--- a/src/3rdparty/webkit/WebKit/qt/docs/qtwebkit.qdoc
+++ b/src/3rdparty/webkit/WebKit/qt/docs/qtwebkit.qdoc
@@ -57,16 +57,13 @@
\section1 Configuring the Build Process
- Applications that use QtWebKit's classes need to be configured to be built
+ Applications using QtWebKit's classes need to be configured to be built
against the QtWebKit module. The following declaration in a \c qmake
project file ensures that an application is compiled and linked
appropriately:
\snippet webkitsnippets/qtwebkit_build_snippet.qdoc 0
- This line is necessary because only the QtCore and QtGui modules are used
- in the default build process.
-
To include the definitions of the module's classes, use the following
directive:
@@ -80,17 +77,24 @@
\snippet webkitsnippets/simple/main.cpp Using QWebView
- QWebView acts as a view onto Web pages, each of which is represented by an
- instance of the QWebPage class. QWebPage provides access to the document
- structure in a page, describing features such as frames, the navigation
- history, and the undo/redo stack for editable content.
+ QWebView is used to view Web pages. An instance of QWebView has one
+ QWebPage. QWebPage provides access to the document structure in a page,
+ describing features such as frames, the navigation history, and the
+ undo/redo stack for editable content.
HTML documents can be nested using frames in a frameset. An individual
- frame in HTML is represented using the QWebFrame class. It includes the
+ frame in HTML is represented using the QWebFrame class. This class includes the
bridge to the JavaScript window object and can be painted using QPainter.
- Each QWebPage has one QWebFrame object as its main frame.
+ Each QWebPage has one QWebFrame object as its main frame, and the main frame
+ may contain many child frames.
+
+ Individual elements of an HTML document can be accessed via DOM JavaScript
+ interfaces from within a web page. The equivalent of this API in QtWebKit
+ is represented by QWebElement. QWebElement objects are obtained using QWebFrame's
+ \l{QWebFrame::}{findAllElements()} and \l{QWebFrame::}{findFirstElement()}
+ functions with CSS selector queries.
- Individual browser features, defaults and other settings can be configured
+ Common web browser features, defaults and other settings can be configured
through the QWebSettings class. It is possible to provide defaults for all
QWebPage instances through the default settings. Individual attributes
can be overidden by the page specific settings object.
@@ -100,7 +104,7 @@
Since WebKit supports the Netscape Plugin API, Qt applications can display
Web pages that embed common plugins, as long as the user has the appropriate
binary files for those plugins installed and the \l{QWebSettings::PluginsEnabled}
- attribute is set for the application.
+ attribute is enabled for the application.
The following locations are searched for plugins:
diff --git a/src/3rdparty/webkit/WebKit/qt/docs/qtwebkit.qdocconf b/src/3rdparty/webkit/WebKit/qt/docs/qtwebkit.qdocconf
index 6343b17..8ee8f69 100644
--- a/src/3rdparty/webkit/WebKit/qt/docs/qtwebkit.qdocconf
+++ b/src/3rdparty/webkit/WebKit/qt/docs/qtwebkit.qdocconf
@@ -9,6 +9,7 @@ outputdir = $OUTPUT_DIR/doc/html
outputformats = HTML
sources.fileextensions = "*.cpp *.doc *.qdoc *.h"
exampledirs = $SRCDIR/WebKit/qt/docs
+imagedirs = $SRCDIR/WebKit/qt/docs
indexes = $QTDIR/doc/html/qt.index
diff --git a/src/3rdparty/webkit/WebKit/qt/docs/qwebview-diagram.png b/src/3rdparty/webkit/WebKit/qt/docs/qwebview-diagram.png
new file mode 100644
index 0000000..ada865e
--- /dev/null
+++ b/src/3rdparty/webkit/WebKit/qt/docs/qwebview-diagram.png
Binary files differ
diff --git a/src/3rdparty/webkit/WebKit/qt/tests/benchmarks/loading/tst_loading.cpp b/src/3rdparty/webkit/WebKit/qt/tests/benchmarks/loading/tst_loading.cpp
new file mode 100644
index 0000000..0bc87f7
--- /dev/null
+++ b/src/3rdparty/webkit/WebKit/qt/tests/benchmarks/loading/tst_loading.cpp
@@ -0,0 +1,105 @@
+/*
+ * Copyright (C) 2009 Holger Hans Peter Freyther
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public License
+ * along with this library; see the file COPYING.LIB. If not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#include <QtTest/QtTest>
+
+#include <qwebframe.h>
+#include <qwebview.h>
+#include <qpainter.h>
+
+/**
+ * Starts an event loop that runs until the given signal is received.
+ Optionally the event loop
+ * can return earlier on a timeout.
+ *
+ * \return \p true if the requested signal was received
+ * \p false on timeout
+ */
+static bool waitForSignal(QObject* obj, const char* signal, int timeout = 0)
+{
+ QEventLoop loop;
+ QObject::connect(obj, signal, &loop, SLOT(quit()));
+ QTimer timer;
+ QSignalSpy timeoutSpy(&timer, SIGNAL(timeout()));
+ if (timeout > 0) {
+ QObject::connect(&timer, SIGNAL(timeout()), &loop, SLOT(quit()));
+ timer.setSingleShot(true);
+ timer.start(timeout);
+ }
+ loop.exec();
+ return timeoutSpy.isEmpty();
+}
+
+class tst_Loading : public QObject
+{
+ Q_OBJECT
+
+public:
+
+public Q_SLOTS:
+ void init();
+ void cleanup();
+
+private Q_SLOTS:
+ void load_data();
+ void load();
+
+private:
+ QWebView* m_view;
+ QWebPage* m_page;
+};
+
+void tst_Loading::init()
+{
+ m_view = new QWebView;
+ m_page = m_view->page();
+
+ QSize viewportSize(1024, 768);
+ m_view->setFixedSize(viewportSize);
+ m_page->setViewportSize(viewportSize);
+}
+
+void tst_Loading::cleanup()
+{
+ delete m_view;
+}
+
+void tst_Loading::load_data()
+{
+ QTest::addColumn<QUrl>("url");
+ QTest::newRow("amazon") << QUrl("http://www.amazon.com");
+ QTest::newRow("kde") << QUrl("http://www.kde.org");
+ QTest::newRow("apple") << QUrl("http://www.apple.com");
+}
+
+void tst_Loading::load()
+{
+ QFETCH(QUrl, url);
+
+
+ QBENCHMARK {
+ m_view->load(url);
+
+ // really wait for loading, painting is in another test
+ ::waitForSignal(m_view, SIGNAL(loadFinished(bool)));
+ }
+}
+
+QTEST_MAIN(tst_Loading)
+#include "tst_loading.moc"
diff --git a/src/3rdparty/webkit/WebKit/qt/tests/benchmarks/loading/tst_loading.pro b/src/3rdparty/webkit/WebKit/qt/tests/benchmarks/loading/tst_loading.pro
new file mode 100644
index 0000000..af0387e
--- /dev/null
+++ b/src/3rdparty/webkit/WebKit/qt/tests/benchmarks/loading/tst_loading.pro
@@ -0,0 +1,6 @@
+TEMPLATE = app
+TARGET = tst_loading
+include(../../../../../WebKit.pri)
+SOURCES += tst_loading.cpp
+QT += testlib network
+QMAKE_RPATHDIR = $$OUTPUT_DIR/lib $$QMAKE_RPATHDIR
diff --git a/src/3rdparty/webkit/WebKit/qt/tests/benchmarks/painting/tst_painting.cpp b/src/3rdparty/webkit/WebKit/qt/tests/benchmarks/painting/tst_painting.cpp
new file mode 100644
index 0000000..f4531fd
--- /dev/null
+++ b/src/3rdparty/webkit/WebKit/qt/tests/benchmarks/painting/tst_painting.cpp
@@ -0,0 +1,109 @@
+/*
+ * Copyright (C) 2009 Holger Hans Peter Freyther
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public License
+ * along with this library; see the file COPYING.LIB. If not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#include <QtTest/QtTest>
+
+#include <qwebframe.h>
+#include <qwebview.h>
+#include <qpainter.h>
+
+/**
+ * Starts an event loop that runs until the given signal is received.
+ Optionally the event loop
+ * can return earlier on a timeout.
+ *
+ * \return \p true if the requested signal was received
+ * \p false on timeout
+ */
+static bool waitForSignal(QObject* obj, const char* signal, int timeout = 0)
+{
+ QEventLoop loop;
+ QObject::connect(obj, signal, &loop, SLOT(quit()));
+ QTimer timer;
+ QSignalSpy timeoutSpy(&timer, SIGNAL(timeout()));
+ if (timeout > 0) {
+ QObject::connect(&timer, SIGNAL(timeout()), &loop, SLOT(quit()));
+ timer.setSingleShot(true);
+ timer.start(timeout);
+ }
+ loop.exec();
+ return timeoutSpy.isEmpty();
+}
+
+class tst_Painting : public QObject
+{
+ Q_OBJECT
+
+public:
+
+public Q_SLOTS:
+ void init();
+ void cleanup();
+
+private Q_SLOTS:
+ void paint_data();
+ void paint();
+
+private:
+ QWebView* m_view;
+ QWebPage* m_page;
+};
+
+void tst_Painting::init()
+{
+ m_view = new QWebView;
+ m_page = m_view->page();
+
+ QSize viewportSize(1024, 768);
+ m_view->setFixedSize(viewportSize);
+ m_page->setViewportSize(viewportSize);
+}
+
+void tst_Painting::cleanup()
+{
+ delete m_view;
+}
+
+void tst_Painting::paint_data()
+{
+ QTest::addColumn<QUrl>("url");
+ QTest::newRow("amazon") << QUrl("http://www.amazon.com");
+}
+
+void tst_Painting::paint()
+{
+ QFETCH(QUrl, url);
+
+ m_view->load(url);
+ ::waitForSignal(m_view, SIGNAL(loadFinished(bool)));
+
+ /* force a layout */
+ QWebFrame* mainFrame = m_page->mainFrame();
+ mainFrame->toPlainText();
+
+ QPixmap pixmap(m_page->viewportSize());
+ QBENCHMARK {
+ QPainter painter(&pixmap);
+ mainFrame->render(&painter, QRect(QPoint(0, 0), m_page->viewportSize()));
+ painter.end();
+ }
+}
+
+QTEST_MAIN(tst_Painting)
+#include "tst_painting.moc"
diff --git a/src/3rdparty/webkit/WebKit/qt/tests/benchmarks/painting/tst_painting.pro b/src/3rdparty/webkit/WebKit/qt/tests/benchmarks/painting/tst_painting.pro
new file mode 100644
index 0000000..496210e
--- /dev/null
+++ b/src/3rdparty/webkit/WebKit/qt/tests/benchmarks/painting/tst_painting.pro
@@ -0,0 +1,6 @@
+TEMPLATE = app
+TARGET = tst_painting
+include(../../../../../WebKit.pri)
+SOURCES += tst_painting.cpp
+QT += testlib network
+QMAKE_RPATHDIR = $$OUTPUT_DIR/lib $$QMAKE_RPATHDIR
diff --git a/src/3rdparty/webkit/WebKit/qt/tests/qwebframe/qwebframe.qrc b/src/3rdparty/webkit/WebKit/qt/tests/qwebframe/qwebframe.qrc
index 266cdce..9615e27 100644
--- a/src/3rdparty/webkit/WebKit/qt/tests/qwebframe/qwebframe.qrc
+++ b/src/3rdparty/webkit/WebKit/qt/tests/qwebframe/qwebframe.qrc
@@ -2,5 +2,7 @@
<qresource prefix="/">
<file>image.png</file>
<file>style.css</file>
+<file>test1.html</file>
+<file>test2.html</file>
</qresource>
</RCC>
diff --git a/src/3rdparty/webkit/WebKit/qt/tests/qwebframe/test1.html b/src/3rdparty/webkit/WebKit/qt/tests/qwebframe/test1.html
new file mode 100644
index 0000000..b323f96
--- /dev/null
+++ b/src/3rdparty/webkit/WebKit/qt/tests/qwebframe/test1.html
@@ -0,0 +1 @@
+<html><body><p>Some text 1</p></body></html>
diff --git a/src/3rdparty/webkit/WebKit/qt/tests/qwebframe/test2.html b/src/3rdparty/webkit/WebKit/qt/tests/qwebframe/test2.html
new file mode 100644
index 0000000..63ac1f6
--- /dev/null
+++ b/src/3rdparty/webkit/WebKit/qt/tests/qwebframe/test2.html
@@ -0,0 +1 @@
+<html><body> <p>Some text 2</p></body></html>
diff --git a/src/3rdparty/webkit/WebKit/qt/tests/qwebframe/tst_qwebframe.cpp b/src/3rdparty/webkit/WebKit/qt/tests/qwebframe/tst_qwebframe.cpp
index cc4d313..a3bcd20 100644
--- a/src/3rdparty/webkit/WebKit/qt/tests/qwebframe/tst_qwebframe.cpp
+++ b/src/3rdparty/webkit/WebKit/qt/tests/qwebframe/tst_qwebframe.cpp
@@ -29,8 +29,10 @@
#include <QAbstractItemView>
#include <QApplication>
#include <QComboBox>
+#include <QPicture>
#include <QRegExp>
#include <QNetworkRequest>
+#include <QNetworkReply>
//TESTED_CLASS=
//TESTED_FILES=
@@ -573,6 +575,7 @@ private slots:
void progressSignal();
void urlChange();
void domCycles();
+ void requestedUrl();
void setHtml();
void setHtmlWithResource();
void ipv6HostEncoding();
@@ -582,6 +585,12 @@ private slots:
void jsByteArray();
void ownership();
void nullValue();
+ void baseUrl_data();
+ void baseUrl();
+ void hasSetFocus();
+ void render();
+ void scrollPosition();
+
private:
QString evalJS(const QString&s) {
// Convert an undefined return variant to the string "undefined"
@@ -2155,6 +2164,93 @@ void tst_QWebFrame::domCycles()
QVERIFY(v.type() == QVariant::Map);
}
+class FakeReply : public QNetworkReply {
+ Q_OBJECT
+
+ public:
+ FakeReply(const QNetworkRequest& request, QObject* parent = 0)
+ : QNetworkReply(parent)
+ {
+ setOperation(QNetworkAccessManager::GetOperation);
+ setRequest(request);
+ if (request.url() == QUrl("qrc:/test1.html")) {
+ setHeader(QNetworkRequest::LocationHeader, QString("qrc:/test2.html"));
+ setAttribute(QNetworkRequest::RedirectionTargetAttribute, QUrl("qrc:/test2.html"));
+ } else
+ setError(QNetworkReply::HostNotFoundError, tr("Invalid URL"));
+
+ open(QIODevice::ReadOnly);
+ QTimer::singleShot(0, this, SLOT(timeout()));
+ }
+ ~FakeReply()
+ {
+ close();
+ }
+ virtual void abort() {}
+ virtual void close() {}
+ protected:
+ qint64 readData(char*, qint64)
+ {
+ return 0;
+ }
+ private slots:
+ void timeout()
+ {
+ if (request().url() == QUrl("qrc://test1.html"))
+ emit error(this->error());
+ else if (request().url() == QUrl("http://abcdef.abcdef/"))
+ emit metaDataChanged();
+
+ emit readyRead();
+ emit finished();
+ }
+};
+
+class FakeNetworkManager : public QNetworkAccessManager {
+public:
+ FakeNetworkManager(QObject* parent) : QNetworkAccessManager(parent) { }
+
+protected:
+ virtual QNetworkReply* createRequest(Operation op, const QNetworkRequest& request, QIODevice* outgoingData)
+ {
+ if (op == QNetworkAccessManager::GetOperation
+ && (request.url().toString() == "qrc:/test1.html"
+ || request.url().toString() == "http://abcdef.abcdef/"))
+ return new FakeReply(request, this);
+
+ return QNetworkAccessManager::createRequest(op, request, outgoingData);
+ }
+};
+
+void tst_QWebFrame::requestedUrl()
+{
+ QWebPage page;
+ QWebFrame* frame = page.mainFrame();
+
+ // in few seconds, the image should be completely loaded
+ QSignalSpy spy(&page, SIGNAL(loadFinished(bool)));
+ FakeNetworkManager* networkManager = new FakeNetworkManager(&page);
+ page.setNetworkAccessManager(networkManager);
+
+ frame->setUrl(QUrl("qrc:/test1.html"));
+ QTest::qWait(200);
+ QCOMPARE(spy.count(), 1);
+ QCOMPARE(frame->requestedUrl(), QUrl("qrc:/test1.html"));
+ QCOMPARE(frame->url(), QUrl("qrc:/test2.html"));
+
+ frame->setUrl(QUrl("qrc:/non-existent.html"));
+ QTest::qWait(200);
+ QCOMPARE(spy.count(), 2);
+ QCOMPARE(frame->requestedUrl(), QUrl("qrc:/non-existent.html"));
+ QCOMPARE(frame->url(), QUrl("qrc:/non-existent.html"));
+
+ frame->setUrl(QUrl("http://abcdef.abcdef"));
+ QTest::qWait(200);
+ QCOMPARE(spy.count(), 3);
+ QCOMPARE(frame->requestedUrl(), QUrl("http://abcdef.abcdef/"));
+ QCOMPARE(frame->url(), QUrl("http://abcdef.abcdef/"));
+}
+
void tst_QWebFrame::setHtml()
{
QString html("<html><head></head><body><p>hello world</p></body></html>");
@@ -2413,5 +2509,139 @@ void tst_QWebFrame::nullValue()
QVERIFY(v.isNull());
}
+void tst_QWebFrame::baseUrl_data()
+{
+ QTest::addColumn<QString>("html");
+ QTest::addColumn<QUrl>("loadUrl");
+ QTest::addColumn<QUrl>("url");
+ QTest::addColumn<QUrl>("baseUrl");
+
+ QTest::newRow("null") << QString() << QUrl()
+ << QUrl("about:blank") << QUrl("about:blank");
+
+ QTest::newRow("foo") << QString() << QUrl("http://foobar.baz/")
+ << QUrl("http://foobar.baz/") << QUrl("http://foobar.baz/");
+
+ QString html = "<html>"
+ "<head>"
+ "<base href=\"http://foobaz.bar/\" />"
+ "</head>"
+ "</html>";
+ QTest::newRow("customBaseUrl") << html << QUrl("http://foobar.baz/")
+ << QUrl("http://foobar.baz/") << QUrl("http://foobaz.bar/");
+}
+
+void tst_QWebFrame::baseUrl()
+{
+ QFETCH(QString, html);
+ QFETCH(QUrl, loadUrl);
+ QFETCH(QUrl, url);
+ QFETCH(QUrl, baseUrl);
+
+ m_page->mainFrame()->setHtml(html, loadUrl);
+ QCOMPARE(m_page->mainFrame()->url(), url);
+ QCOMPARE(m_page->mainFrame()->baseUrl(), baseUrl);
+}
+
+void tst_QWebFrame::hasSetFocus()
+{
+ QString html("<html><body><p>top</p>" \
+ "<iframe width='80%' height='30%'/>" \
+ "</body></html>");
+
+ QSignalSpy loadSpy(m_page, SIGNAL(loadFinished(bool)));
+ m_page->mainFrame()->setHtml(html);
+
+ QTest::qWait(200);
+ QCOMPARE(loadSpy.size(), 1);
+
+ QList<QWebFrame*> children = m_page->mainFrame()->childFrames();
+ QWebFrame* frame = children.at(0);
+ QString innerHtml("<html><body><p>another iframe</p>" \
+ "<iframe width='80%' height='30%'/>" \
+ "</body></html>");
+ frame->setHtml(innerHtml);
+
+ QTest::qWait(200);
+ QCOMPARE(loadSpy.size(), 2);
+
+ m_page->mainFrame()->setFocus();
+ QVERIFY(m_page->mainFrame()->hasFocus());
+
+ for (int i = 0; i < children.size(); ++i) {
+ children.at(i)->setFocus();
+ QVERIFY(children.at(i)->hasFocus());
+ QVERIFY(!m_page->mainFrame()->hasFocus());
+ }
+
+ m_page->mainFrame()->setFocus();
+ QVERIFY(m_page->mainFrame()->hasFocus());
+}
+
+void tst_QWebFrame::render()
+{
+ QString html("<html>" \
+ "<head><style>" \
+ "body, iframe { margin: 0px; border: none; }" \
+ "</style></head>" \
+ "<body><iframe width='100px' height='100px'/></body>" \
+ "</html>");
+
+ QWebPage page;
+ page.mainFrame()->setHtml(html);
+
+ QList<QWebFrame*> frames = page.mainFrame()->childFrames();
+ QWebFrame *frame = frames.at(0);
+ QString innerHtml("<body style='margin: 0px;'><img src='qrc:/image.png'/></body>");
+ frame->setHtml(innerHtml);
+
+ QPicture picture;
+
+ // render clipping to Viewport
+ frame->setClipRenderToViewport(true);
+ QPainter painter1(&picture);
+ frame->render(&painter1);
+ painter1.end();
+
+ QSize size = page.mainFrame()->contentsSize();
+ page.setViewportSize(size);
+ QCOMPARE(size.width(), picture.boundingRect().width()); // 100px
+ QCOMPARE(size.height(), picture.boundingRect().height()); // 100px
+
+ // render without clipping to Viewport
+ frame->setClipRenderToViewport(false);
+ QPainter painter2(&picture);
+ frame->render(&painter2);
+ painter2.end();
+
+ QImage resource(":/image.png");
+ QCOMPARE(resource.width(), picture.boundingRect().width()); // resource width: 128px
+ QCOMPARE(resource.height(), picture.boundingRect().height()); // resource height: 128px
+}
+
+void tst_QWebFrame::scrollPosition()
+{
+ // enlarged image in a small viewport, to provoke the scrollbars to appear
+ QString html("<html><body><img src='qrc:/image.png' height=500 width=500/></body></html>");
+
+ QWebPage page;
+ page.setViewportSize(QSize(200, 200));
+
+ QWebFrame* frame = page.mainFrame();
+ frame->setHtml(html);
+ frame->setScrollBarPolicy(Qt::Vertical, Qt::ScrollBarAlwaysOff);
+ frame->setScrollBarPolicy(Qt::Horizontal, Qt::ScrollBarAlwaysOff);
+
+ // try to set the scroll offset programmatically
+ frame->setScrollPosition(QPoint(23, 29));
+ QCOMPARE(frame->scrollPosition().x(), 23);
+ QCOMPARE(frame->scrollPosition().y(), 29);
+
+ int x = frame->evaluateJavaScript("window.scrollX").toInt();
+ int y = frame->evaluateJavaScript("window.scrollY").toInt();
+ QCOMPARE(x, 23);
+ QCOMPARE(y, 29);
+}
+
QTEST_MAIN(tst_QWebFrame)
#include "tst_qwebframe.moc"
diff --git a/src/3rdparty/webkit/WebKit/qt/tests/qwebpage/frametest/iframe.html b/src/3rdparty/webkit/WebKit/qt/tests/qwebpage/frametest/iframe.html
new file mode 100644
index 0000000..f17027c
--- /dev/null
+++ b/src/3rdparty/webkit/WebKit/qt/tests/qwebpage/frametest/iframe.html
@@ -0,0 +1,6 @@
+<html>
+<body>
+<p>top</p>
+<iframe src="iframe2.html" width="80%" height="30%"/>
+</body>
+</html>
diff --git a/src/3rdparty/webkit/WebKit/qt/tests/qwebpage/frametest/iframe2.html b/src/3rdparty/webkit/WebKit/qt/tests/qwebpage/frametest/iframe2.html
new file mode 100644
index 0000000..5017435
--- /dev/null
+++ b/src/3rdparty/webkit/WebKit/qt/tests/qwebpage/frametest/iframe2.html
@@ -0,0 +1,7 @@
+<html>
+<body>
+<p>another iframe</p>
+<iframe src="iframe3.html" width="80%" height="30%"></iframe>
+</body>
+</html>
+
diff --git a/src/3rdparty/webkit/WebKit/qt/tests/qwebpage/frametest/iframe3.html b/src/3rdparty/webkit/WebKit/qt/tests/qwebpage/frametest/iframe3.html
new file mode 100644
index 0000000..ed6ac5b
--- /dev/null
+++ b/src/3rdparty/webkit/WebKit/qt/tests/qwebpage/frametest/iframe3.html
@@ -0,0 +1,5 @@
+<html>
+<body>
+<p>inner</p>
+</body>
+</html>
diff --git a/src/3rdparty/webkit/WebKit/qt/tests/qwebpage/tst_qwebpage.cpp b/src/3rdparty/webkit/WebKit/qt/tests/qwebpage/tst_qwebpage.cpp
index 1d6a48e..966f049 100644
--- a/src/3rdparty/webkit/WebKit/qt/tests/qwebpage/tst_qwebpage.cpp
+++ b/src/3rdparty/webkit/WebKit/qt/tests/qwebpage/tst_qwebpage.cpp
@@ -92,6 +92,7 @@ private slots:
void cleanupTestCase();
void acceptNavigationRequest();
+ void infiniteLoopJS();
void loadFinished();
void acceptNavigationRequestWithNewWindow();
void userStyleSheet();
@@ -106,8 +107,9 @@ private slots:
void textSelection();
void textEditing();
void backActionUpdate();
-
+ void frameAt();
void requestCache();
+ void protectBindingsRuntimeObjectsFromCollector();
private:
@@ -192,6 +194,26 @@ void tst_QWebPage::acceptNavigationRequest()
m_view->setPage(0);
}
+class JSTestPage : public QWebPage
+{
+Q_OBJECT
+public:
+ JSTestPage(QObject* parent = 0)
+ : QWebPage(parent) {}
+
+public slots:
+ bool shouldInterruptJavaScript() {
+ return true;
+ }
+};
+
+void tst_QWebPage::infiniteLoopJS()
+{
+ JSTestPage* newPage = new JSTestPage(m_view);
+ m_view->setPage(newPage);
+ m_view->setHtml(QString("<html><bodytest</body></html>"), QUrl());
+ m_view->page()->mainFrame()->evaluateJavaScript("var run = true;var a = 1;while(run){a++;}");
+}
void tst_QWebPage::loadFinished()
{
@@ -1116,5 +1138,57 @@ void tst_QWebPage::backActionUpdate()
QVERIFY(action->isEnabled());
}
+void frameAtHelper(QWebPage* webPage, QWebFrame* webFrame, QPoint framePosition)
+{
+ if (!webFrame)
+ return;
+
+ framePosition += QPoint(webFrame->pos());
+ QList<QWebFrame*> children = webFrame->childFrames();
+ for (int i = 0; i < children.size(); ++i) {
+ if (children.at(i)->childFrames().size() > 0)
+ frameAtHelper(webPage, children.at(i), framePosition);
+
+ QRect frameRect(children.at(i)->pos() + framePosition, children.at(i)->geometry().size());
+ QVERIFY(children.at(i) == webPage->frameAt(frameRect.topLeft()));
+ }
+}
+
+void tst_QWebPage::frameAt()
+{
+ QWebView webView;
+ QWebPage* webPage = webView.page();
+ QSignalSpy loadSpy(webPage, SIGNAL(loadFinished(bool)));
+ QUrl url = QUrl("qrc:///frametest/iframe.html");
+ webPage->mainFrame()->load(url);
+ QTRY_COMPARE(loadSpy.count(), 1);
+ frameAtHelper(webPage, webPage->mainFrame(), webPage->mainFrame()->pos());
+}
+
+// import a little DRT helper function to trigger the garbage collector
+void QWEBKIT_EXPORT qt_drt_garbageCollector_collect();
+
+void tst_QWebPage::protectBindingsRuntimeObjectsFromCollector()
+{
+ QSignalSpy loadSpy(m_view, SIGNAL(loadFinished(bool)));
+
+ PluginPage* newPage = new PluginPage(m_view);
+ m_view->setPage(newPage);
+
+ m_view->settings()->setAttribute(QWebSettings::PluginsEnabled, true);
+
+ m_view->setHtml(QString("<html><body><object type='application/x-qt-plugin' classid='lineedit' id='mylineedit'/></body></html>"));
+ QTRY_COMPARE(loadSpy.count(), 1);
+
+ newPage->mainFrame()->evaluateJavaScript("function testme(text) { var lineedit = document.getElementById('mylineedit'); lineedit.setText(text); lineedit.selectAll(); }");
+
+ newPage->mainFrame()->evaluateJavaScript("testme('foo')");
+
+ qt_drt_garbageCollector_collect();
+
+ // don't crash!
+ newPage->mainFrame()->evaluateJavaScript("testme('bar')");
+}
+
QTEST_MAIN(tst_QWebPage)
#include "tst_qwebpage.moc"
diff --git a/src/3rdparty/webkit/WebKit/qt/tests/qwebpage/tst_qwebpage.qrc b/src/3rdparty/webkit/WebKit/qt/tests/qwebpage/tst_qwebpage.qrc
index 38c5232..3085ce2 100644
--- a/src/3rdparty/webkit/WebKit/qt/tests/qwebpage/tst_qwebpage.qrc
+++ b/src/3rdparty/webkit/WebKit/qt/tests/qwebpage/tst_qwebpage.qrc
@@ -2,6 +2,9 @@
<qresource>
<file>frametest/index.html</file>
<file>frametest/frame_a.html</file>
+ <file>frametest/iframe.html</file>
+ <file>frametest/iframe2.html</file>
+ <file>frametest/iframe3.html</file>
</qresource>
</RCC>
diff --git a/src/3rdparty/webkit/WebKit/qt/tests/tests.pro b/src/3rdparty/webkit/WebKit/qt/tests/tests.pro
index 076046f..7000d32 100644
--- a/src/3rdparty/webkit/WebKit/qt/tests/tests.pro
+++ b/src/3rdparty/webkit/WebKit/qt/tests/tests.pro
@@ -1,3 +1,4 @@
TEMPLATE = subdirs
SUBDIRS = qwebframe qwebpage qwebelement qwebhistoryinterface qwebview qwebhistory
+SUBDIRS += benchmarks/painting/tst_painting.pro benchmarks/loading/tst_loading.pro
diff --git a/src/activeqt/container/qaxbase.cpp b/src/activeqt/container/qaxbase.cpp
index 62dad6b..d602946 100644
--- a/src/activeqt/container/qaxbase.cpp
+++ b/src/activeqt/container/qaxbase.cpp
@@ -39,10 +39,6 @@
//#define QAX_NO_CLASSINFO
-#ifndef UNICODE
-#define UNICODE
-#endif
-
#define QT_CHECK_STATE
#include "qaxobject.h"
@@ -174,7 +170,7 @@ inline DISPID QAxMetaObject::dispIDofName(const QByteArray &name, IDispatch *dis
if (dispid == DISPID_UNKNOWN) {
// get the Dispatch ID from the object
QString unicodeName = QLatin1String(name);
- OLECHAR *names = (TCHAR*)unicodeName.utf16();
+ OLECHAR *names = (wchar_t*)unicodeName.utf16();
disp->GetIDsOfNames(IID_NULL, &names, 1, LOCALE_USER_DEFAULT, &dispid);
if (dispid != DISPID_UNKNOWN)
dispIDs.insert(name, dispid);
@@ -638,7 +634,7 @@ QByteArray QAxEventSink::findProperty(DISPID dispID)
UINT cNames;
typeinfo->GetNames(dispID, &names, 1, &cNames);
if (cNames) {
- propname = QString::fromUtf16((const ushort *)names).toLatin1();
+ propname = QString::fromWCharArray(names).toLatin1();
SysFreeString(names);
}
typeinfo->Release();
@@ -972,7 +968,7 @@ bool QAxBase::setControl(const QString &c)
QUuid uuid(search);
if (uuid.isNull()) {
CLSID clsid;
- HRESULT res = CLSIDFromProgID((WCHAR*)c.utf16(), &clsid);
+ HRESULT res = CLSIDFromProgID((wchar_t*)c.utf16(), &clsid);
if (res == S_OK)
search = QUuid(clsid).toString();
else {
@@ -1137,7 +1133,7 @@ QStringList QAxBase::verbs() const
while (enumVerbs->Next(1, &verb, &c) == S_OK) {
if (!verb.lpszVerbName)
continue;
- QString verbName = QString::fromUtf16((const ushort *)verb.lpszVerbName);
+ QString verbName = QString::fromWCharArray(verb.lpszVerbName);
if (!verbName.isEmpty())
d->verbs.insert(verbName, verb.lVerb);
}
@@ -1265,7 +1261,7 @@ bool QAxBase::initializeLicensedHelper(void *f, const QString &key, IUnknown **p
} else if (licinfo.fRuntimeKeyAvail) {
BSTR licenseKey;
factory2->RequestLicKey(0, &licenseKey);
- QString qlicenseKey = QString::fromUtf16((const ushort *)licenseKey);
+ QString qlicenseKey = QString::fromWCharArray(licenseKey);
SysFreeString(licenseKey);
qWarning("Use license key is '%s' to create object on unlicensed machine.",
qlicenseKey.toLatin1().constData());
@@ -1275,7 +1271,7 @@ bool QAxBase::initializeLicensedHelper(void *f, const QString &key, IUnknown **p
if (licinfo.fRuntimeKeyAvail) {
BSTR licenseKey;
factory2->RequestLicKey(0, &licenseKey);
- QString qlicenseKey = QString::fromUtf16((const ushort *)licenseKey);
+ QString qlicenseKey = QString::fromWCharArray(licenseKey);
SysFreeString(licenseKey);
if (qlicenseKey != key)
@@ -1435,7 +1431,7 @@ bool QAxBase::initializeRemote(IUnknown** ptr)
serverInfo.dwReserved1 = 0;
serverInfo.dwReserved2 = 0;
serverInfo.pAuthInfo = &authInfo;
- serverInfo.pwszName = (WCHAR*)server.utf16();
+ serverInfo.pwszName = (wchar_t*)server.utf16();
IClassFactory *factory = 0;
HRESULT res = CoGetClassObject(QUuid(clsid), CLSCTX_REMOTE_SERVER, &serverInfo, IID_IClassFactory, (void**)&factory);
@@ -1747,7 +1743,7 @@ QMetaObject *qax_readInterfaceInfo(ITypeLib *typeLib, ITypeInfo *typeInfo, const
if (S_OK != typeInfo->GetDocumentation(-1, &bstr, 0, 0, 0))
return 0;
- className = QString::fromUtf16((const ushort *)bstr);
+ className = QString::fromWCharArray(bstr);
SysFreeString(bstr);
generator.readEnumInfo();
@@ -1768,7 +1764,7 @@ QMetaObject *qax_readClassInfo(ITypeLib *typeLib, ITypeInfo *classInfo, const QM
if (S_OK != classInfo->GetDocumentation(-1, &bstr, 0, 0, 0))
return 0;
- className = QString::fromUtf16((const ushort *)bstr);
+ className = QString::fromWCharArray(bstr);
SysFreeString(bstr);
generator.readEnumInfo();
@@ -1795,7 +1791,7 @@ QMetaObject *qax_readClassInfo(ITypeLib *typeLib, ITypeInfo *classInfo, const QM
continue;
interfaceInfo->GetDocumentation(-1, &bstr, 0, 0, 0);
- QString interfaceName = QString::fromUtf16((const ushort *)bstr);
+ QString interfaceName = QString::fromWCharArray(bstr);
SysFreeString(bstr);
QByteArray key;
@@ -1843,7 +1839,7 @@ MetaObjectGenerator::MetaObjectGenerator(ITypeLib *tlib, ITypeInfo *tinfo)
typelib->AddRef();
BSTR bstr;
typelib->GetDocumentation(-1, &bstr, 0, 0, 0);
- current_typelib = QString::fromUtf16((const ushort *)bstr).toLatin1();
+ current_typelib = QString::fromWCharArray(bstr).toLatin1();
SysFreeString(bstr);
}
readClassInfo();
@@ -1891,13 +1887,13 @@ QByteArray MetaObjectGenerator::usertypeToString(const TYPEDESC &tdesc, ITypeInf
// get type library name
BSTR typelibname = 0;
usertypelib->GetDocumentation(-1, &typelibname, 0, 0, 0);
- QByteArray typeLibName = QString::fromUtf16((const ushort *)typelibname).toLatin1();
+ QByteArray typeLibName = QString::fromWCharArray(typelibname).toLatin1();
SysFreeString(typelibname);
// get type name
BSTR usertypename = 0;
usertypelib->GetDocumentation(index, &usertypename, 0, 0, 0);
- QByteArray userTypeName = QString::fromUtf16((const ushort *)usertypename).toLatin1();
+ QByteArray userTypeName = QString::fromWCharArray(usertypename).toLatin1();
SysFreeString(usertypename);
if (hasEnum(userTypeName)) // known enum?
@@ -2287,7 +2283,7 @@ void MetaObjectGenerator::readEnumInfo()
BSTR enumname;
QByteArray enumName;
if (typelib->GetDocumentation(i, &enumname, 0, 0, 0) == S_OK) {
- enumName = QString::fromUtf16((const ushort *)enumname).toLatin1();
+ enumName = QString::fromWCharArray(enumname).toLatin1();
SysFreeString(enumname);
} else {
enumName = "enum" + QByteArray::number(++enum_serial);
@@ -2310,7 +2306,7 @@ void MetaObjectGenerator::readEnumInfo()
UINT maxNamesOut;
enuminfo->GetNames(memid, &valuename, 1, &maxNamesOut);
if (maxNamesOut) {
- valueName = QString::fromUtf16((const ushort *)valuename).toLatin1();
+ valueName = QString::fromWCharArray(valuename).toLatin1();
SysFreeString(valuename);
} else {
valueName = "value" + QByteArray::number(valueindex++);
@@ -2467,7 +2463,7 @@ void MetaObjectGenerator::readFuncsInfo(ITypeInfo *typeinfo, ushort nFuncs)
QList<QByteArray> names;
int p;
for (p = 0; p < (int)maxNamesOut; ++p) {
- names << QString::fromUtf16((const ushort *)bstrNames[p]).toLatin1();
+ names << QString::fromWCharArray(bstrNames[p]).toLatin1();
SysFreeString(bstrNames[p]);
}
@@ -2594,7 +2590,7 @@ void MetaObjectGenerator::readFuncsInfo(ITypeInfo *typeinfo, ushort nFuncs)
// get function documentation
BSTR bstrDocu;
info->GetDocumentation(funcdesc->memid, 0, &bstrDocu, 0, 0);
- QString strDocu = QString::fromUtf16((const ushort*)bstrDocu);
+ QString strDocu = QString::fromWCharArray(bstrDocu);
SysFreeString(bstrDocu);
if (!!strDocu)
desc += '[' + strDocu + ']';
@@ -2641,7 +2637,7 @@ void MetaObjectGenerator::readVarsInfo(ITypeInfo *typeinfo, ushort nVars)
QByteArray variableName;
uint flags = 0;
- variableName = QString::fromUtf16((const ushort *)bstrName).toLatin1();
+ variableName = QString::fromWCharArray(bstrName).toLatin1();
SysFreeString(bstrName);
// get variable type
@@ -2677,7 +2673,7 @@ void MetaObjectGenerator::readVarsInfo(ITypeInfo *typeinfo, ushort nVars)
// get function documentation
BSTR bstrDocu;
info->GetDocumentation(vardesc->memid, 0, &bstrDocu, 0, 0);
- QString strDocu = QString::fromUtf16((const ushort*)bstrDocu);
+ QString strDocu = QString::fromWCharArray(bstrDocu);
SysFreeString(bstrDocu);
if (!!strDocu)
desc += '[' + strDocu + ']';
@@ -2800,7 +2796,7 @@ void MetaObjectGenerator::readEventInterface(ITypeInfo *eventinfo, IConnectionPo
QList<QByteArray> names;
int p;
for (p = 0; p < (int)maxNamesOut; ++p) {
- names << QString::fromUtf16((const ushort *)bstrNames[p]).toLatin1();
+ names << QString::fromWCharArray(bstrNames[p]).toLatin1();
SysFreeString(bstrNames[p]);
}
@@ -2824,7 +2820,7 @@ void MetaObjectGenerator::readEventInterface(ITypeInfo *eventinfo, IConnectionPo
// get function documentation
BSTR bstrDocu;
eventinfo->GetDocumentation(funcdesc->memid, 0, &bstrDocu, 0, 0);
- QString strDocu = QString::fromUtf16((const ushort*)bstrDocu);
+ QString strDocu = QString::fromWCharArray(bstrDocu);
SysFreeString(bstrDocu);
if (!!strDocu)
desc += '[' + strDocu + ']';
@@ -2982,7 +2978,7 @@ QMetaObject *MetaObjectGenerator::metaObject(const QMetaObject *parentObject, co
if (typelib) {
BSTR bstr;
typelib->GetDocumentation(-1, &bstr, 0, 0, 0);
- current_typelib = QString::fromUtf16((const ushort *)bstr).toLatin1();
+ current_typelib = QString::fromWCharArray(bstr).toLatin1();
SysFreeString(bstr);
}
if (d->tryCache && tryCache())
@@ -3208,12 +3204,12 @@ static const char qt_meta_stringdata_QAxBase[] = {
};
static QMetaObject qaxobject_staticMetaObject = {
- &QObject::staticMetaObject, qt_meta_stringdata_QAxBase,
- qt_meta_data_QAxBase, 0
+ { &QObject::staticMetaObject, qt_meta_stringdata_QAxBase,
+ qt_meta_data_QAxBase, 0 }
};
static QMetaObject qaxwidget_staticMetaObject = {
- &QWidget::staticMetaObject, qt_meta_stringdata_QAxBase,
- qt_meta_data_QAxBase, 0
+ { &QWidget::staticMetaObject, qt_meta_stringdata_QAxBase,
+ qt_meta_data_QAxBase, 0 }
};
/*!
@@ -3391,9 +3387,9 @@ static bool checkHRESULT(HRESULT hres, EXCEPINFO *exc, QAxBase *that, const QStr
exc->pfnDeferredFillIn(exc);
code = exc->wCode ? exc->wCode : exc->scode;
- source = QString::fromUtf16((const ushort *)exc->bstrSource);
- desc = QString::fromUtf16((const ushort *)exc->bstrDescription);
- help = QString::fromUtf16((const ushort *)exc->bstrHelpFile);
+ source = QString::fromWCharArray(exc->bstrSource);
+ desc = QString::fromWCharArray(exc->bstrDescription);
+ help = QString::fromWCharArray(exc->bstrHelpFile);
uint helpContext = exc->dwHelpContext;
if (helpContext && !help.isEmpty())
@@ -3696,6 +3692,8 @@ int QAxBase::qt_metacall(QMetaObject::Call call, int id, void **v)
case QMetaMethod::Slot:
id = internalInvoke(call, id, v);
break;
+ default:
+ break;
}
break;
case QMetaObject::ReadProperty:
@@ -3710,6 +3708,8 @@ int QAxBase::qt_metacall(QMetaObject::Call call, int id, void **v)
case QMetaObject::QueryPropertyUser:
id -= mo->propertyCount();
break;
+ default:
+ break;
}
Q_ASSERT(id < 0);
return id;
@@ -3909,7 +3909,7 @@ bool QAxBase::dynamicCallHelper(const char *name, void *inout, QList<QVariant> &
else
paramType = d->metaobj->paramType(normFunction, i, &out);
- if (!parse && d->useMetaObject && var.type() == QVariant::String || var.type() == QVariant::ByteArray) {
+ if ((!parse && d->useMetaObject && var.type() == QVariant::String) || var.type() == QVariant::ByteArray) {
int enumIndex =mo->indexOfEnumerator(paramType);
if (enumIndex != -1) {
QMetaEnum metaEnum =mo->enumerator(enumIndex);
@@ -4228,7 +4228,7 @@ public:
if (!var)
return E_POINTER;
- QString property = QString::fromUtf16((const ushort *)name);
+ QString property = QString::fromWCharArray(name);
QVariant qvar = map.value(property);
QVariantToVARIANT(qvar, *var);
return S_OK;
@@ -4237,7 +4237,7 @@ public:
{
if (!var)
return E_POINTER;
- QString property = QString::fromUtf16((const ushort *)name);
+ QString property = QString::fromWCharArray(name);
QVariant qvar = VARIANTToQVariant(*var, 0);
map[property] = qvar;
diff --git a/src/activeqt/container/qaxdump.cpp b/src/activeqt/container/qaxdump.cpp
index 39d5121..a654a8f 100644
--- a/src/activeqt/container/qaxdump.cpp
+++ b/src/activeqt/container/qaxdump.cpp
@@ -66,8 +66,8 @@ QString qax_docuFromName(ITypeInfo *typeInfo, const QString &name)
BSTR docStringBstr, helpFileBstr;
ulong helpContext;
HRESULT hres = typeInfo->GetDocumentation(memId, 0, &docStringBstr, &helpContext, &helpFileBstr);
- QString docString = QString::fromUtf16((const ushort *)docStringBstr);
- QString helpFile = QString::fromUtf16((const ushort *)helpFileBstr);
+ QString docString = QString::fromWCharArray(docStringBstr);
+ QString helpFile = QString::fromWCharArray(helpFileBstr);
SysFreeString(docStringBstr);
SysFreeString(helpFileBstr);
if (hres == S_OK) {
diff --git a/src/activeqt/container/qaxobject.cpp b/src/activeqt/container/qaxobject.cpp
index 3526f93..63bdd5e 100644
--- a/src/activeqt/container/qaxobject.cpp
+++ b/src/activeqt/container/qaxobject.cpp
@@ -37,10 +37,6 @@
**
****************************************************************************/
-#ifndef UNICODE
-#define UNICODE
-#endif
-
#include "qaxobject.h"
#ifndef QT_NO_WIN_ACTIVEQT
@@ -126,7 +122,7 @@ QAxObject::~QAxObject()
}
/*!
- \reimp
+ \internal
*/
const QMetaObject *QAxObject::metaObject() const
{
@@ -134,7 +130,7 @@ const QMetaObject *QAxObject::metaObject() const
}
/*!
- \reimp
+ \internal
*/
const QMetaObject *QAxObject::parentMetaObject() const
{
@@ -152,7 +148,7 @@ void *QAxObject::qt_metacast(const char *cname)
}
/*!
- \reimp
+ \internal
*/
const char *QAxObject::className() const
{
@@ -160,7 +156,7 @@ const char *QAxObject::className() const
}
/*!
- \reimp
+ \internal
*/
int QAxObject::qt_metacall(QMetaObject::Call call, int id, void **v)
{
diff --git a/src/activeqt/container/qaxscript.cpp b/src/activeqt/container/qaxscript.cpp
index dcfc84b..2ee08b3 100644
--- a/src/activeqt/container/qaxscript.cpp
+++ b/src/activeqt/container/qaxscript.cpp
@@ -37,10 +37,6 @@
**
****************************************************************************/
-#ifndef UNICODE
-#define UNICODE
-#endif
-
#include "qaxscript.h"
#ifndef QT_NO_WIN_ACTIVEQT
@@ -194,7 +190,7 @@ HRESULT WINAPI QAxScriptSite::GetItemInfo(LPCOLESTR pstrName, DWORD mask, IUnkno
else if (mask & SCRIPTINFO_ITYPEINFO)
return E_POINTER;
- QAxBase *object = script->findObject(QString::fromUtf16((const ushort*)pstrName));
+ QAxBase *object = script->findObject(QString::fromWCharArray(pstrName));
if (!object)
return TYPE_E_ELEMENTNOTFOUND;
@@ -236,9 +232,9 @@ HRESULT WINAPI QAxScriptSite::OnScriptTerminate(const VARIANT *result, const EXC
emit script->finished(VARIANTToQVariant(*result, 0));
if (exception)
emit script->finished(exception->wCode,
- QString::fromUtf16((const ushort*)exception->bstrSource),
- QString::fromUtf16((const ushort*)exception->bstrDescription),
- QString::fromUtf16((const ushort*)exception->bstrHelpFile)
+ QString::fromWCharArray(exception->bstrSource),
+ QString::fromWCharArray(exception->bstrDescription),
+ QString::fromWCharArray(exception->bstrHelpFile)
);
return S_OK;
}
@@ -287,14 +283,14 @@ HRESULT WINAPI QAxScriptSite::OnScriptError(IActiveScriptError *error)
error->GetSourcePosition(&context, &lineNumber, &charPos);
HRESULT hres = error->GetSourceLineText(&bstrLineText);
if (hres == S_OK) {
- lineText = QString::fromUtf16((const ushort*)bstrLineText);
+ lineText = QString::fromWCharArray(bstrLineText);
SysFreeString(bstrLineText);
}
SysFreeString(exception.bstrSource);
SysFreeString(exception.bstrDescription);
SysFreeString(exception.bstrHelpFile);
- emit script->error(exception.wCode, QString::fromUtf16((const ushort*)exception.bstrDescription), lineNumber, lineText);
+ emit script->error(exception.wCode, QString::fromWCharArray(exception.bstrDescription), lineNumber, lineText);
return S_OK;
}
@@ -463,7 +459,7 @@ bool QAxScriptEngine::initialize(IUnknown **ptr)
return false;
CLSID clsid;
- HRESULT hres = CLSIDFromProgID((WCHAR*)script_language.utf16(), &clsid);
+ HRESULT hres = CLSIDFromProgID((wchar_t*)script_language.utf16(), &clsid);
if(FAILED(hres))
return false;
@@ -609,7 +605,7 @@ void QAxScriptEngine::addItem(const QString &name)
if (!engine)
return;
- engine->AddNamedItem((WCHAR*)name.utf16(), SCRIPTITEM_ISSOURCE|SCRIPTITEM_ISVISIBLE);
+ engine->AddNamedItem((wchar_t*)name.utf16(), SCRIPTITEM_ISSOURCE|SCRIPTITEM_ISVISIBLE);
#endif
}
@@ -1173,7 +1169,7 @@ bool QAxScriptManager::registerEngine(const QString &name, const QString &extens
return false;
CLSID clsid;
- HRESULT hres = CLSIDFromProgID((WCHAR*)name.utf16(), &clsid);
+ HRESULT hres = CLSIDFromProgID((wchar_t*)name.utf16(), &clsid);
if (hres != S_OK)
return false;
diff --git a/src/activeqt/container/qaxselect.cpp b/src/activeqt/container/qaxselect.cpp
index 5de39e4..a0c725d 100644
--- a/src/activeqt/container/qaxselect.cpp
+++ b/src/activeqt/container/qaxselect.cpp
@@ -52,54 +52,46 @@ public:
: QAbstractListModel(parent)
{
HKEY classes_key;
- QT_WA_INLINE(
- RegOpenKeyExW(HKEY_CLASSES_ROOT, L"CLSID", 0, KEY_READ, &classes_key),
- RegOpenKeyExA(HKEY_CLASSES_ROOT, "CLSID", 0, KEY_READ, &classes_key));
+ RegOpenKeyEx(HKEY_CLASSES_ROOT, L"CLSID", 0, KEY_READ, &classes_key);
if (!classes_key)
return;
DWORD index = 0;
LONG result = 0;
- TCHAR buffer[256];
- DWORD szBuffer = sizeof(buffer);
+ wchar_t buffer[256];
+ DWORD szBuffer = sizeof(buffer) / sizeof(wchar_t);
FILETIME ft;
do {
- result = QT_WA_INLINE(
- RegEnumKeyExW(classes_key, index, (wchar_t*)&buffer, &szBuffer, 0, 0, 0, &ft),
- RegEnumKeyExA(classes_key, index, (char*)&buffer, &szBuffer, 0, 0, 0, &ft));
- szBuffer = sizeof(buffer);
+ result = RegEnumKeyEx(classes_key, index, buffer, &szBuffer, 0, 0, 0, &ft);
+ szBuffer = sizeof(buffer) / sizeof(wchar_t);
if (result == ERROR_SUCCESS) {
HKEY sub_key;
- QString clsid = QT_WA_INLINE(QString::fromUtf16((ushort*)buffer), QString::fromLocal8Bit((char*)buffer));
- result = QT_WA_INLINE(
- RegOpenKeyExW(classes_key, reinterpret_cast<const wchar_t *>(QString(clsid + "\\Control").utf16()), 0, KEY_READ, &sub_key),
- RegOpenKeyA(classes_key, QString(clsid + QLatin1String("\\Control")).toLocal8Bit(), &sub_key));
+ QString clsid = QString::fromWCharArray(buffer);
+ result = RegOpenKeyEx(classes_key, reinterpret_cast<const wchar_t *>(QString(clsid + "\\Control").utf16()), 0, KEY_READ, &sub_key);
if (result == ERROR_SUCCESS) {
RegCloseKey(sub_key);
- QT_WA_INLINE(
- RegistryQueryValueW(classes_key, buffer, (LPBYTE)buffer, &szBuffer),
- RegQueryValueA(classes_key, (char*)buffer, (char*)buffer, (LONG*)&szBuffer));
- QString name = QT_WA_INLINE(QString::fromUtf16((ushort*)buffer, szBuffer / sizeof(TCHAR)) , QString::fromLocal8Bit((char*)buffer, szBuffer));
+ RegistryQueryValue(classes_key, buffer, (LPBYTE)buffer, &szBuffer);
+ QString name = QString::fromWCharArray(buffer);
controls << name;
clsids.insert(name, clsid);
}
result = ERROR_SUCCESS;
}
- szBuffer = sizeof(buffer);
+ szBuffer = sizeof(buffer) / sizeof(wchar_t);
++index;
} while (result == ERROR_SUCCESS);
RegCloseKey(classes_key);
controls.sort();
}
- LONG RegistryQueryValueW(HKEY hKey, LPCWSTR lpSubKey, LPBYTE lpData, LPDWORD lpcbData)
+ LONG RegistryQueryValue(HKEY hKey, LPCWSTR lpSubKey, LPBYTE lpData, LPDWORD lpcbData)
{
LONG ret = ERROR_FILE_NOT_FOUND;
HKEY hSubKey = NULL;
- RegOpenKeyExW(hKey, lpSubKey, 0, KEY_READ, &hSubKey);
+ RegOpenKeyEx(hKey, lpSubKey, 0, KEY_READ, &hSubKey);
if (hSubKey) {
- ret = RegQueryValueExW(hSubKey, 0, 0, 0, lpData, lpcbData);
+ ret = RegQueryValueEx(hSubKey, 0, 0, 0, lpData, lpcbData);
RegCloseKey(hSubKey);
}
return ret;
diff --git a/src/activeqt/container/qaxwidget.cpp b/src/activeqt/container/qaxwidget.cpp
index ebec872..e4c9d42 100644
--- a/src/activeqt/container/qaxwidget.cpp
+++ b/src/activeqt/container/qaxwidget.cpp
@@ -37,11 +37,6 @@
**
****************************************************************************/
-#ifndef UNICODE
-#define UNICODE
-#endif
-
-
#include "qaxwidget.h"
#ifndef QT_NO_WIN_ACTIVEQT
@@ -123,6 +118,8 @@ public:
QSize minimumSizeHint() const;
int qt_metacall(QMetaObject::Call, int isignal, void **argv);
+ void* qt_metacast(const char *clname);
+
inline QAxClientSite *clientSite() const
{
return axhost;
@@ -470,7 +467,7 @@ static QAbstractEventDispatcher::EventFilter previous_filter = 0;
#if defined(Q_WS_WINCE)
static int filter_ref = 0;
#else
-static const char *qaxatom = "QAxContainer4_Atom";
+static const wchar_t *qaxatom = L"QAxContainer4_Atom";
#endif
// The filter procedure listening to user interaction on the control
@@ -483,7 +480,9 @@ bool axc_FilterProc(void *m)
QAxWidget *ax = 0;
QAxHostWidget *host = 0;
while (!host && hwnd) {
- host = qobject_cast<QAxHostWidget*>(QWidget::find(hwnd));
+ QWidget *widget = QWidget::find(hwnd);
+ if (widget && widget->inherits("QAxHostWidget"))
+ host = qobject_cast<QAxHostWidget*>(widget);
hwnd = ::GetParent(hwnd);
}
if (host)
@@ -532,7 +531,7 @@ bool axc_FilterProc(void *m)
}
QAxClientSite::QAxClientSite(QAxWidget *c)
-: ref(1), widget(c), host(0), eventTranslated(true)
+: eventTranslated(true), ref(1), widget(c), host(0)
{
aggregatedObject = widget->createAggregate();
if (aggregatedObject) {
@@ -714,7 +713,7 @@ bool QAxClientSite::activateObject(bool initialized, const QByteArray &data)
BSTR userType;
HRESULT result = m_spOleObject->GetUserType(USERCLASSTYPE_SHORT, &userType);
if (result == S_OK) {
- widget->setWindowTitle(QString::fromUtf16((const ushort *)userType));
+ widget->setWindowTitle(QString::fromWCharArray(userType));
CoTaskMemFree(userType);
}
} else {
@@ -981,13 +980,38 @@ HRESULT WINAPI QAxClientSite::TransformCoords(POINTL* /*pPtlHimetric*/, POINTF*
HRESULT WINAPI QAxClientSite::TranslateAccelerator(LPMSG lpMsg, DWORD /*grfModifiers*/)
{
- eventTranslated = false;
if (lpMsg->message == WM_KEYDOWN && !lpMsg->wParam)
return S_OK;
- QT_WA_INLINE(
- SendMessage(host->winId(), lpMsg->message, lpMsg->wParam, lpMsg->lParam),
- SendMessageA(host->winId(), lpMsg->message, lpMsg->wParam, lpMsg->lParam)
- );
+
+ bool ActiveQtDetected = false;
+ bool fromInProcServer = false;
+#ifdef GWLP_USERDATA
+ LONG_PTR serverType = GetWindowLongPtr(lpMsg->hwnd, GWLP_USERDATA);
+#else
+ LONG serverType = GetWindowLong(lpMsg->hwnd, GWL_USERDATA);
+#endif
+ if (serverType == QAX_INPROC_SERVER) {
+ ActiveQtDetected = true;
+ fromInProcServer = true;
+ } else if (serverType == QAX_OUTPROC_SERVER) {
+ ActiveQtDetected = true;
+ fromInProcServer = false;
+ }
+
+ eventTranslated = false;
+ if (!ActiveQtDetected || !fromInProcServer) {
+ // if the request is coming from an out-of-proc server or a non ActiveQt server,
+ // we send the message to the host window. This will make sure this key event
+ // comes to Qt for processing.
+ SendMessage(host->winId(), lpMsg->message, lpMsg->wParam, lpMsg->lParam);
+ if (ActiveQtDetected && !fromInProcServer) {
+ // ActiveQt based servers will need further processing of the event
+ // (eg. <SPACE> key for a checkbox), so we return false.
+ return S_FALSE;
+ }
+ }
+ // ActiveQt based in-processes-servers will handle the event properly, so
+ // we dont need to send this key event to the host.
return S_OK;
}
@@ -1173,15 +1197,15 @@ HRESULT WINAPI QAxClientSite::InsertMenus(HMENU /*hmenuShared*/, LPOLEMENUGROUPW
#endif
}
-static int menuItemEntry(HMENU menu, int index, MENUITEMINFOA item, QString &text, QPixmap &/*icon*/)
+static int menuItemEntry(HMENU menu, int index, MENUITEMINFO item, QString &text, QPixmap &/*icon*/)
{
if (item.fType == MFT_STRING && item.cch) {
- char *titlebuf = new char[item.cch+1];
+ wchar_t *titlebuf = new wchar_t[item.cch + 1];
item.dwTypeData = titlebuf;
item.cch++;
- ::GetMenuItemInfoA(menu, index, true, &item);
- text = QString::fromLocal8Bit(titlebuf);
- delete []titlebuf;
+ ::GetMenuItemInfo(menu, index, true, &item);
+ text = QString::fromWCharArray(titlebuf);
+ delete [] titlebuf;
return MFT_STRING;
}
#if 0
@@ -1191,7 +1215,7 @@ static int menuItemEntry(HMENU menu, int index, MENUITEMINFOA item, QString &tex
GetBitmapDimensionEx(hbm, &bmsize);
QPixmap pixmap(1,1);
QSize sz(MAP_LOGHIM_TO_PIX(bmsize.cx, pixmap.logicalDpiX()),
- MAP_LOGHIM_TO_PIX(bmsize.cy, pixmap.logicalDpiY()));
+ MAP_LOGHIM_TO_PIX(bmsize.cy, pixmap.logicalDpiY()));
pixmap.resize(bmsize.cx, bmsize.cy);
if (!pixmap.isNull()) {
@@ -1215,11 +1239,11 @@ QMenu *QAxClientSite::generatePopup(HMENU subMenu, QWidget *parent)
if (count)
popup = new QMenu(parent);
for (int i = 0; i < count; ++i) {
- MENUITEMINFOA item;
- memset(&item, 0, sizeof(MENUITEMINFOA));
- item.cbSize = sizeof(MENUITEMINFOA);
+ MENUITEMINFO item;
+ memset(&item, 0, sizeof(MENUITEMINFO));
+ item.cbSize = sizeof(MENUITEMINFO);
item.fMask = MIIM_ID | MIIM_TYPE | MIIM_SUBMENU;
- ::GetMenuItemInfoA(subMenu, i, true, &item);
+ ::GetMenuItemInfo(subMenu, i, true, &item);
QAction *action = 0;
QMenu *popupMenu = 0;
@@ -1295,11 +1319,11 @@ HRESULT WINAPI QAxClientSite::SetMenu(HMENU hmenuShared, HOLEMENU holemenu, HWND
int count = GetMenuItemCount(hmenuShared);
for (int i = 0; i < count; ++i) {
- MENUITEMINFOA item;
- memset(&item, 0, sizeof(MENUITEMINFOA));
- item.cbSize = sizeof(MENUITEMINFOA);
+ MENUITEMINFO item;
+ memset(&item, 0, sizeof(MENUITEMINFO));
+ item.cbSize = sizeof(MENUITEMINFO);
item.fMask = MIIM_ID | MIIM_TYPE | MIIM_SUBMENU;
- ::GetMenuItemInfoA(hmenuShared, i, true, &item);
+ ::GetMenuItemInfo(hmenuShared, i, true, &item);
QAction *action = 0;
QMenu *popupMenu = 0;
@@ -1379,7 +1403,7 @@ int QAxClientSite::qt_metacall(QMetaObject::Call call, int isignal, void **argv)
OleMenuItem oleItem = menuItemMap.value(action);
if (oleItem.hMenu)
- ::PostMessageA(m_menuOwner, WM_COMMAND, oleItem.id, 0);
+ ::PostMessage(m_menuOwner, WM_COMMAND, oleItem.id, 0);
return -1;
#endif
}
@@ -1404,7 +1428,7 @@ HRESULT WINAPI QAxClientSite::RemoveMenus(HMENU /*hmenuShared*/)
HRESULT WINAPI QAxClientSite::SetStatusText(LPCOLESTR pszStatusText)
{
- QStatusTipEvent tip(QString::fromUtf16((const ushort *)(BSTR)pszStatusText));
+ QStatusTipEvent tip(QString::fromWCharArray(pszStatusText));
QApplication::sendEvent(widget, &tip);
return S_OK;
}
@@ -1513,7 +1537,7 @@ HRESULT WINAPI QAxClientSite::SetActiveObject(IOleInPlaceActiveObject *pActiveOb
AX_DEBUG(QAxClientSite::SetActiveObject);
if (pszObjName && widget)
- widget->setWindowTitle(QString::fromUtf16((const ushort *)(BSTR)pszObjName));
+ widget->setWindowTitle(QString::fromWCharArray(pszObjName));
if (m_spInPlaceActiveObject) {
if (!inPlaceModelessEnabled)
@@ -1625,6 +1649,14 @@ int QAxHostWidget::qt_metacall(QMetaObject::Call call, int isignal, void **argv)
return -1;
}
+void* QAxHostWidget::qt_metacast(const char *clname)
+{
+ if (!clname) return 0;
+ if (!qstrcmp(clname,"QAxHostWidget"))
+ return static_cast<void*>(const_cast< QAxHostWidget*>(this));
+ return QWidget::qt_metacast(clname);
+}
+
QSize QAxHostWidget::sizeHint() const
{
return axhost ? axhost->sizeHint() : QWidget::sizeHint();
@@ -1952,12 +1984,12 @@ bool QAxWidget::createHostWindow(bool initialized, const QByteArray &data)
container->activateObject(initialized, data);
#if !defined(Q_OS_WINCE)
- ATOM filter_ref = FindAtomA(qaxatom);
+ ATOM filter_ref = FindAtom(qaxatom);
#endif
if (!filter_ref)
previous_filter = QAbstractEventDispatcher::instance()->setEventFilter(axc_FilterProc);
#if !defined(Q_OS_WINCE)
- AddAtomA(qaxatom);
+ AddAtom(qaxatom);
#else
++filter_ref;
#endif
@@ -1992,10 +2024,10 @@ void QAxWidget::clear()
return;
if (!control().isEmpty()) {
#if !defined(Q_OS_WINCE)
- ATOM filter_ref = FindAtomA(qaxatom);
+ ATOM filter_ref = FindAtom(qaxatom);
if (filter_ref)
DeleteAtom(filter_ref);
- filter_ref = FindAtomA(qaxatom);
+ filter_ref = FindAtom(qaxatom);
if (!filter_ref) {
#else
if (!filter_ref && !--filter_ref) {
@@ -2042,7 +2074,7 @@ bool QAxWidget::doVerb(const QString &verb)
*/
/*!
- \reimp
+ \internal
*/
const QMetaObject *QAxWidget::metaObject() const
{
@@ -2050,7 +2082,7 @@ const QMetaObject *QAxWidget::metaObject() const
}
/*!
- \reimp
+ \internal
*/
const QMetaObject *QAxWidget::parentMetaObject() const
{
@@ -2068,7 +2100,7 @@ void *QAxWidget::qt_metacast(const char *cname)
}
/*!
- \reimp
+ \internal
*/
const char *QAxWidget::className() const
{
@@ -2076,7 +2108,7 @@ const char *QAxWidget::className() const
}
/*!
- \reimp
+ \internal
*/
int QAxWidget::qt_metacall(QMetaObject::Call call, int id, void **v)
{
diff --git a/src/activeqt/control/qaxfactory.cpp b/src/activeqt/control/qaxfactory.cpp
index c65fbb8..742e93e 100644
--- a/src/activeqt/control/qaxfactory.cpp
+++ b/src/activeqt/control/qaxfactory.cpp
@@ -50,7 +50,7 @@
QT_BEGIN_NAMESPACE
-extern char qAxModuleFilename[MAX_PATH];
+extern wchar_t qAxModuleFilename[MAX_PATH];
/*!
\class QAxFactory
@@ -277,7 +277,7 @@ bool QAxFactory::validateLicenseKey(const QString &key, const QString &licenseKe
return true;
if (licenseKey.isEmpty()) {
- QString licFile(QFile::decodeName(qAxModuleFilename));
+ QString licFile(QString::fromWCharArray(qAxModuleFilename));
int lastDot = licFile.lastIndexOf(QLatin1Char('.'));
licFile = licFile.left(lastDot) + QLatin1String(".lic");
if (QFile::exists(licFile))
@@ -360,7 +360,7 @@ bool QAxFactory::isServer()
return qAxIsServer;
}
-extern char qAxModuleFilename[MAX_PATH];
+extern wchar_t qAxModuleFilename[MAX_PATH];
/*!
Returns the directory that contains the server binary.
@@ -372,7 +372,7 @@ extern char qAxModuleFilename[MAX_PATH];
*/
QString QAxFactory::serverDirPath()
{
- return QFileInfo(QString::fromLocal8Bit(qAxModuleFilename)).absolutePath();
+ return QFileInfo(QString::fromWCharArray(qAxModuleFilename)).absolutePath();
}
/*!
@@ -384,7 +384,7 @@ QString QAxFactory::serverDirPath()
*/
QString QAxFactory::serverFilePath()
{
- return QString::fromLocal8Bit(qAxModuleFilename);
+ return QString::fromWCharArray(qAxModuleFilename);
}
/*!
@@ -492,7 +492,7 @@ bool QAxFactory::registerActiveObject(QObject *object)
if (qstricmp(object->metaObject()->classInfo(object->metaObject()->indexOfClassInfo("RegisterObject")).value(), "yes"))
return false;
- if (!QString::fromLocal8Bit(qAxModuleFilename).toLower().endsWith(QLatin1String(".exe")))
+ if (!QString::fromWCharArray(qAxModuleFilename).toLower().endsWith(QLatin1String(".exe")))
return false;
ActiveObject *active = new ActiveObject(object, qAxFactory());
diff --git a/src/activeqt/control/qaxserver.cpp b/src/activeqt/control/qaxserver.cpp
index a9b3271..e6b0c17 100644
--- a/src/activeqt/control/qaxserver.cpp
+++ b/src/activeqt/control/qaxserver.cpp
@@ -63,7 +63,7 @@ QT_BEGIN_NAMESPACE
bool qAxIsServer = false;
HANDLE qAxInstance = 0;
ITypeLib *qAxTypeLibrary = 0;
-char qAxModuleFilename[MAX_PATH];
+wchar_t qAxModuleFilename[MAX_PATH];
bool qAxOutProcServer = false;
// The QAxFactory instance
@@ -116,19 +116,19 @@ QString qAxInit()
InitializeCriticalSection(&qAxModuleSection);
- libFile = QString::fromLocal8Bit(qAxModuleFilename);
+ libFile = QString::fromWCharArray(qAxModuleFilename);
libFile = libFile.toLower();
- if (LoadTypeLibEx((TCHAR*)libFile.utf16(), REGKIND_NONE, &qAxTypeLibrary) == S_OK)
+ if (LoadTypeLibEx((wchar_t*)libFile.utf16(), REGKIND_NONE, &qAxTypeLibrary) == S_OK)
return libFile;
int lastDot = libFile.lastIndexOf(QLatin1Char('.'));
libFile = libFile.left(lastDot) + QLatin1String(".tlb");
- if (LoadTypeLibEx((TCHAR*)libFile.utf16(), REGKIND_NONE, &qAxTypeLibrary) == S_OK)
+ if (LoadTypeLibEx((wchar_t*)libFile.utf16(), REGKIND_NONE, &qAxTypeLibrary) == S_OK)
return libFile;
lastDot = libFile.lastIndexOf(QLatin1Char('.'));
libFile = libFile.left(lastDot) + QLatin1String(".olb");
- if (LoadTypeLibEx((TCHAR*)libFile.utf16(), REGKIND_NONE, &qAxTypeLibrary) == S_OK)
+ if (LoadTypeLibEx((wchar_t*)libFile.utf16(), REGKIND_NONE, &qAxTypeLibrary) == S_OK)
return libFile;
libFile = QString();
@@ -207,7 +207,7 @@ QString qax_clean_type(const QString &type, const QMetaObject *mo)
HRESULT UpdateRegistry(BOOL bRegister)
{
qAxIsServer = false;
- QString file = QString::fromLocal8Bit(qAxModuleFilename);
+ QString file = QString::fromWCharArray(qAxModuleFilename);
QString path = file.left(file.lastIndexOf(QLatin1Char('\\'))+1);
QString module = file.right(file.length() - path.length());
module = module.left(module.lastIndexOf(QLatin1Char('.')));
@@ -229,7 +229,7 @@ HRESULT UpdateRegistry(BOOL bRegister)
typeLibVersion = QString::number((uint)major) + QLatin1Char('.') + QString::number((uint)minor);
if (bRegister)
- RegisterTypeLib(qAxTypeLibrary, (TCHAR*)libFile.utf16(), 0);
+ RegisterTypeLib(qAxTypeLibrary, (wchar_t*)libFile.utf16(), 0);
else
UnRegisterTypeLib(libAttr->guid, libAttr->wMajorVerNum, libAttr->wMinorVerNum, libAttr->lcid, libAttr->syskind);
@@ -1071,7 +1071,7 @@ extern "C" HRESULT __stdcall DumpIDL(const QString &outfile, const QString &ver)
QFile file(outfile);
file.remove();
- QString filebase = QString::fromLocal8Bit(qAxModuleFilename);
+ QString filebase = QString::fromWCharArray(qAxModuleFilename);
filebase = filebase.left(filebase.lastIndexOf(QLatin1Char('.')));
QString appID = qAxFactory()->appID().toString().toUpper();
@@ -1107,7 +1107,7 @@ extern "C" HRESULT __stdcall DumpIDL(const QString &outfile, const QString &ver)
out << "/****************************************************************************" << endl;
out << "** Interface definition generated for ActiveQt project" << endl;
out << "**" << endl;
- out << "** '" << qAxModuleFilename << '\'' << endl;
+ out << "** '" << QString::fromWCharArray(qAxModuleFilename) << '\'' << endl;
out << "**" << endl;
out << "** Created: " << QDateTime::currentDateTime().toString() << endl;
out << "**" << endl;
diff --git a/src/activeqt/control/qaxserverbase.cpp b/src/activeqt/control/qaxserverbase.cpp
index 2cac004..e7ddb47 100644
--- a/src/activeqt/control/qaxserverbase.cpp
+++ b/src/activeqt/control/qaxserverbase.cpp
@@ -788,17 +788,9 @@ bool qax_winEventFilter(void *message)
QAxServerBase *axbase = 0;
while (!axbase && baseHwnd) {
#ifdef GWLP_USERDATA
- QT_WA({
- axbase = (QAxServerBase*)GetWindowLongPtrW(baseHwnd, GWLP_USERDATA);
- }, {
- axbase = (QAxServerBase*)GetWindowLongPtrA(baseHwnd, GWLP_USERDATA);
- });
+ axbase = (QAxServerBase*)GetWindowLongPtr(baseHwnd, GWLP_USERDATA);
#else
- QT_WA({
- axbase = (QAxServerBase*)GetWindowLongW(baseHwnd, GWL_USERDATA);
- }, {
- axbase = (QAxServerBase*)GetWindowLongA(baseHwnd, GWL_USERDATA);
- });
+ axbase = (QAxServerBase*)GetWindowLong(baseHwnd, GWL_USERDATA);
#endif
baseHwnd = ::GetParent(baseHwnd);
@@ -905,11 +897,7 @@ public:
// hook into eventloop; this allows a server to create his own QApplication object
if (!qax_hhook && qax_ownQApp) {
- QT_WA({
- qax_hhook = SetWindowsHookExW(WH_GETMESSAGE, axs_FilterProc, 0, GetCurrentThreadId());
- }, {
- qax_hhook = SetWindowsHookExA(WH_GETMESSAGE, axs_FilterProc, 0, GetCurrentThreadId());
- });
+ qax_hhook = SetWindowsHookEx(WH_GETMESSAGE, axs_FilterProc, 0, GetCurrentThreadId());
}
HRESULT res;
@@ -983,7 +971,7 @@ public:
HRESULT WINAPI CreateInstanceLic(IUnknown *pUnkOuter, IUnknown *pUnkReserved, REFIID iid, BSTR bKey, PVOID *ppObject)
{
- QString licenseKey = QString::fromUtf16((const ushort *)bKey);
+ QString licenseKey = QString::fromWCharArray(bKey);
if (!qAxFactory()->validateLicenseKey(className, licenseKey))
return CLASS_E_NOTLICENSED;
return CreateInstanceHelper(pUnkOuter, iid, ppObject);
@@ -1303,15 +1291,11 @@ bool QAxServerBase::internalCreate()
internalBind();
if (isWidget) {
- if (!stayTopLevel) {
- QEvent e(QEvent::EmbeddingControl);
- QApplication::sendEvent(qt.widget, &e);
- QT_WA({
- ::SetWindowLongW(qt.widget->winId(), GWL_STYLE, WS_CHILD | WS_CLIPCHILDREN | WS_CLIPSIBLINGS);
- }, {
- ::SetWindowLongA(qt.widget->winId(), GWL_STYLE, WS_CHILD | WS_CLIPCHILDREN | WS_CLIPSIBLINGS);
- });
- }
+ if (!stayTopLevel) {
+ QEvent e(QEvent::EmbeddingControl);
+ QApplication::sendEvent(qt.widget, &e);
+ ::SetWindowLong(qt.widget->winId(), GWL_STYLE, WS_CHILD | WS_CLIPCHILDREN | WS_CLIPSIBLINGS);
+ }
qt.widget->setAttribute(Qt::WA_QuitOnClose, false);
qt.widget->move(0, 0);
@@ -1368,52 +1352,26 @@ class HackWidget : public QWidget
LRESULT CALLBACK QAxServerBase::ActiveXProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
if (uMsg == WM_CREATE) {
- QAxServerBase *that;
- QT_WA({
- CREATESTRUCTW *cs = (CREATESTRUCTW*)lParam;
- that = (QAxServerBase*)cs->lpCreateParams;
- }, {
- CREATESTRUCTA *cs = (CREATESTRUCTA*)lParam;
- that = (QAxServerBase*)cs->lpCreateParams;
- });
+ CREATESTRUCT *cs = (CREATESTRUCT*)lParam;
+ QAxServerBase *that = (QAxServerBase*)cs->lpCreateParams;
#ifdef GWLP_USERDATA
- QT_WA({
- SetWindowLongPtrW(hWnd, GWLP_USERDATA, (LONG_PTR)that);
- }, {
- SetWindowLongPtrA(hWnd, GWLP_USERDATA, (LONG_PTR)that);
- });
+ SetWindowLongPtr(hWnd, GWLP_USERDATA, (LONG_PTR)that);
#else
- QT_WA({
- SetWindowLongW(hWnd, GWL_USERDATA, (LONG)that);
- }, {
- SetWindowLongA(hWnd, GWL_USERDATA, (LONG)that);
- });
+ SetWindowLong(hWnd, GWL_USERDATA, (LONG)that);
#endif
- that->m_hWnd = hWnd;
+ that->m_hWnd = hWnd;
- QT_WA({
- return ::DefWindowProcW(hWnd, uMsg, wParam, lParam);
- }, {
- return ::DefWindowProcA(hWnd, uMsg, wParam, lParam);
- });
+ return ::DefWindowProc(hWnd, uMsg, wParam, lParam);
}
QAxServerBase *that = 0;
#ifdef GWLP_USERDATA
- QT_WA({
- that = (QAxServerBase*)GetWindowLongPtrW(hWnd, GWLP_USERDATA);
- }, {
- that = (QAxServerBase*)GetWindowLongPtrA(hWnd, GWLP_USERDATA);
- });
+ that = (QAxServerBase*)GetWindowLongPtr(hWnd, GWLP_USERDATA);
#else
- QT_WA({
- that = (QAxServerBase*)GetWindowLongW(hWnd, GWL_USERDATA);
- }, {
- that = (QAxServerBase*)GetWindowLongA(hWnd, GWL_USERDATA);
- });
+ that = (QAxServerBase*)GetWindowLong(hWnd, GWL_USERDATA);
#endif
if (that) {
@@ -1563,11 +1521,7 @@ LRESULT CALLBACK QAxServerBase::ActiveXProc(HWND hWnd, UINT uMsg, WPARAM wParam,
}
}
- QT_WA({
- return ::DefWindowProcW(hWnd, uMsg, wParam, lParam);
- }, {
- return ::DefWindowProcA(hWnd, uMsg, wParam, lParam);
- });
+ return ::DefWindowProc(hWnd, uMsg, wParam, lParam);
}
/*!
@@ -1583,54 +1537,29 @@ HWND QAxServerBase::create(HWND hWndParent, RECT& rcPos)
QString cn(QLatin1String("QAxControl"));
cn += QString::number((int)ActiveXProc);
if (!atom) {
- QT_WA({
- WNDCLASSW wcTemp;
- wcTemp.style = CS_DBLCLKS;
- wcTemp.cbClsExtra = 0;
- wcTemp.cbWndExtra = 0;
- wcTemp.hbrBackground = 0;
- wcTemp.hCursor = 0;
- wcTemp.hIcon = 0;
- wcTemp.hInstance = hInst;
- wcTemp.lpszClassName = (wchar_t*)cn.utf16();
- wcTemp.lpszMenuName = 0;
- wcTemp.lpfnWndProc = ActiveXProc;
-
- atom = RegisterClassW(&wcTemp);
- }, {
- QByteArray cna = cn.toLatin1();
- WNDCLASSA wcTemp;
- wcTemp.style = CS_DBLCLKS;
- wcTemp.cbClsExtra = 0;
- wcTemp.cbWndExtra = 0;
- wcTemp.hbrBackground = 0;
- wcTemp.hCursor = 0;
- wcTemp.hIcon = 0;
- wcTemp.hInstance = hInst;
- wcTemp.lpszClassName = cna.data();
- wcTemp.lpszMenuName = 0;
- wcTemp.lpfnWndProc = ActiveXProc;
-
- atom = RegisterClassA(&wcTemp);
- });
+ WNDCLASS wcTemp;
+ wcTemp.style = CS_DBLCLKS;
+ wcTemp.cbClsExtra = 0;
+ wcTemp.cbWndExtra = 0;
+ wcTemp.hbrBackground = 0;
+ wcTemp.hCursor = 0;
+ wcTemp.hIcon = 0;
+ wcTemp.hInstance = hInst;
+ wcTemp.lpszClassName = (wchar_t*)cn.utf16();
+ wcTemp.lpszMenuName = 0;
+ wcTemp.lpfnWndProc = ActiveXProc;
+
+ atom = RegisterClass(&wcTemp);
}
LeaveCriticalSection(&createWindowSection);
if (!atom && GetLastError() != ERROR_CLASS_ALREADY_EXISTS)
return 0;
Q_ASSERT(!m_hWnd);
- HWND hWnd = 0;
- QT_WA({
- hWnd = ::CreateWindowW((wchar_t*)cn.utf16(), 0,
- WS_CHILD | WS_CLIPCHILDREN | WS_CLIPSIBLINGS,
- rcPos.left, rcPos.top, rcPos.right - rcPos.left,
- rcPos.bottom - rcPos.top, hWndParent, 0, hInst, this);
- }, {
- hWnd = ::CreateWindowA(cn.toLatin1().data(), 0,
- WS_CHILD | WS_CLIPCHILDREN | WS_CLIPSIBLINGS,
- rcPos.left, rcPos.top, rcPos.right - rcPos.left,
- rcPos.bottom - rcPos.top, hWndParent, 0, hInst, this);
- });
+ HWND hWnd = ::CreateWindow((wchar_t*)cn.utf16(), 0,
+ WS_CHILD | WS_CLIPCHILDREN | WS_CLIPSIBLINGS,
+ rcPos.left, rcPos.top, rcPos.right - rcPos.left,
+ rcPos.bottom - rcPos.top, hWndParent, 0, hInst, this);
Q_ASSERT(m_hWnd == hWnd);
@@ -1676,11 +1605,7 @@ HMENU QAxServerBase::createPopup(QMenu *popup, HMENU oldMenu)
actionMap.remove(itemId);
actionMap.insert(itemId, action);
}
- QT_WA({
- AppendMenuW(popupMenu, flags, itemId, (TCHAR*)action->text().utf16());
- }, {
- AppendMenuA(popupMenu, flags, itemId, action->text().toLocal8Bit());
- });
+ AppendMenu(popupMenu, flags, itemId, (const wchar_t *)action->text().utf16());
}
if (oldMenu)
DrawMenuBar(hwndMenuOwner);
@@ -1726,11 +1651,7 @@ void QAxServerBase::createMenu(QMenuBar *menuBar)
itemId = static_cast<ushort>(reinterpret_cast<ulong>(action));
actionMap.insert(itemId, action);
}
- QT_WA({
- AppendMenuW(hmenuShared, flags, itemId, (TCHAR*)action->text().utf16());
- } , {
- AppendMenuA(hmenuShared, flags, itemId, action->text().toLocal8Bit());
- });
+ AppendMenu(hmenuShared, flags, itemId, (const wchar_t *)action->text().utf16());
}
OLEMENUGROUPWIDTHS menuWidths = {0,edit,0,object,0,help};
@@ -2397,7 +2318,7 @@ HRESULT WINAPI QAxServerBase::Invoke(DISPID dispidMember, REFIID riid,
if (!cname)
return res;
- name = QString::fromUtf16((const ushort *)bname).toLatin1();
+ name = QString::fromWCharArray(bname).toLatin1();
SysFreeString(bname);
}
}
@@ -2799,7 +2720,7 @@ HRESULT WINAPI QAxServerBase::Load(IStream *pStm)
bool openAsText = false;
QByteArray qtarray;
if (hres == S_OK) {
- QString streamName = QString::fromUtf16((const ushort *)stat.pwcsName);
+ QString streamName = QString::fromWCharArray(stat.pwcsName);
CoTaskMemFree(stat.pwcsName);
openAsText = streamName == QLatin1String("SomeStreamName");
if (stat.cbSize.HighPart) // more than 4GB - too large!
@@ -2940,7 +2861,7 @@ HRESULT WINAPI QAxServerBase::Load(IStorage *pStg)
*/
streamName += QLatin1String("_Stream4.2");
- pStg->OpenStream((const WCHAR *)streamName.utf16(), 0, STGM_READ | STGM_SHARE_EXCLUSIVE, 0, &spStream);
+ pStg->OpenStream((const wchar_t *)streamName.utf16(), 0, STGM_READ | STGM_SHARE_EXCLUSIVE, 0, &spStream);
if (!spStream) // support for streams saved with 4.1 and earlier
pStg->OpenStream(L"SomeStreamName", 0, STGM_READ | STGM_SHARE_EXCLUSIVE, 0, &spStream);
if (!spStream)
@@ -2963,7 +2884,7 @@ HRESULT WINAPI QAxServerBase::Save(IStorage *pStg, BOOL fSameAsLoad)
*/
streamName += QLatin1String("_Stream4.2");
- pStg->CreateStream((const WCHAR *)streamName.utf16(), STGM_CREATE | STGM_WRITE | STGM_SHARE_EXCLUSIVE, 0, 0, &spStream);
+ pStg->CreateStream((const wchar_t *)streamName.utf16(), STGM_CREATE | STGM_WRITE | STGM_SHARE_EXCLUSIVE, 0, 0, &spStream);
if (!spStream)
return E_FAIL;
@@ -3079,7 +3000,7 @@ HRESULT WINAPI QAxServerBase::SaveCompleted(LPCOLESTR fileName)
if (qt.object->metaObject()->indexOfClassInfo("MIME") == -1)
return E_NOTIMPL;
- currentFileName = QString::fromUtf16(reinterpret_cast<const ushort *>(fileName));
+ currentFileName = QString::fromWCharArray(fileName);
return S_OK;
}
@@ -3097,7 +3018,7 @@ HRESULT WINAPI QAxServerBase::GetCurFile(LPOLESTR *currentFile)
if (!malloc)
return E_OUTOFMEMORY;
- *currentFile = static_cast<WCHAR *>(malloc->Alloc(currentFileName.length() * 2));
+ *currentFile = static_cast<wchar_t *>(malloc->Alloc(currentFileName.length() * 2));
malloc->Release();
memcpy(*currentFile, currentFileName.unicode(), currentFileName.length() * 2);
@@ -3117,7 +3038,7 @@ HRESULT WINAPI QAxServerBase::Load(LPCOLESTR fileName, DWORD mode)
return E_NOTIMPL;
}
- QString loadFileName = QString::fromUtf16(reinterpret_cast<const ushort *>(fileName));
+ QString loadFileName = QString::fromWCharArray(fileName);
QString fileExtension = loadFileName.mid(loadFileName.lastIndexOf(QLatin1Char('.')) + 1);
QFile file(loadFileName);
@@ -3162,7 +3083,7 @@ HRESULT WINAPI QAxServerBase::Save(LPCOLESTR fileName, BOOL fRemember)
return E_NOTIMPL;
}
- QString saveFileName = QString::fromUtf16(reinterpret_cast<const ushort *>(fileName));
+ QString saveFileName = QString::fromWCharArray(fileName);
QString fileExtension = saveFileName.mid(saveFileName.lastIndexOf(QLatin1Char('.')) + 1);
QFile file(saveFileName);
@@ -3220,7 +3141,7 @@ HRESULT WINAPI QAxServerBase::Draw(DWORD dwAspect, LONG lindex, void *pvAspect,
bool bDeleteDC = false;
if (!hicTargetDev) {
- hicTargetDev = ::CreateDCA("DISPLAY", NULL, NULL, NULL);
+ hicTargetDev = ::CreateDC(L"DISPLAY", NULL, NULL, NULL);
bDeleteDC = (hicTargetDev != hdcDraw);
}
@@ -3383,7 +3304,7 @@ HRESULT WINAPI QAxServerBase::OnAmbientPropertyChange(DISPID dispID)
case DISPID_AMBIENT_DISPLAYNAME:
if (var.vt != VT_BSTR || !isWidget)
break;
- qt.widget->setWindowTitle(QString::fromUtf16((const ushort *)var.bstrVal));
+ qt.widget->setWindowTitle(QString::fromWCharArray(var.bstrVal));
break;
case DISPID_AMBIENT_FONT:
if (var.vt != VT_DISPATCH || !isWidget)
@@ -3581,24 +3502,24 @@ Q_GUI_EXPORT int qt_translateKeyCode(int);
HRESULT WINAPI QAxServerBase::TranslateAcceleratorW(MSG *pMsg)
{
if (pMsg->message != WM_KEYDOWN || !isWidget)
- return S_FALSE;
+ return S_FALSE;
DWORD dwKeyMod = 0;
if (::GetKeyState(VK_SHIFT) < 0)
- dwKeyMod |= 1; // KEYMOD_SHIFT
+ dwKeyMod |= 1; // KEYMOD_SHIFT
if (::GetKeyState(VK_CONTROL) < 0)
- dwKeyMod |= 2; // KEYMOD_CONTROL
+ dwKeyMod |= 2; // KEYMOD_CONTROL
if (::GetKeyState(VK_MENU) < 0)
- dwKeyMod |= 4; // KEYMOD_ALT
+ dwKeyMod |= 4; // KEYMOD_ALT
switch (LOWORD(pMsg->wParam)) {
case VK_TAB:
- if (isUIActive) {
- bool shift = ::GetKeyState(VK_SHIFT) < 0;
- bool giveUp = true;
+ if (isUIActive) {
+ bool shift = ::GetKeyState(VK_SHIFT) < 0;
+ bool giveUp = true;
QWidget *curFocus = qt.widget->focusWidget();
if (curFocus) {
- if (shift) {
+ if (shift) {
if (!curFocus->isWindow()) {
QWidget *nextFocus = curFocus->nextInFocusChain();
QWidget *prevFocus = 0;
@@ -3616,9 +3537,10 @@ HRESULT WINAPI QAxServerBase::TranslateAcceleratorW(MSG *pMsg)
if (!topLevel) {
giveUp = false;
((HackWidget*)curFocus)->focusNextPrevChild(false);
+ curFocus->window()->setAttribute(Qt::WA_KeyboardFocusChange);
}
}
- } else {
+ } else {
QWidget *nextFocus = curFocus;
while (1) {
nextFocus = nextFocus->nextInFocusChain();
@@ -3627,64 +3549,82 @@ HRESULT WINAPI QAxServerBase::TranslateAcceleratorW(MSG *pMsg)
if (nextFocus->focusPolicy() & Qt::TabFocus) {
giveUp = false;
((HackWidget*)curFocus)->focusNextPrevChild(true);
+ curFocus->window()->setAttribute(Qt::WA_KeyboardFocusChange);
break;
}
}
- }
+ }
+ }
+ if (giveUp) {
+ HWND hwnd = ::GetParent(m_hWnd);
+ ::SetFocus(hwnd);
+ } else {
+ return S_OK;
}
- if (giveUp) {
- HWND hwnd = ::GetParent(m_hWnd);
- ::SetFocus(hwnd);
- } else {
- return S_OK;
- }
- }
- break;
+ }
+ break;
case VK_LEFT:
case VK_RIGHT:
case VK_UP:
case VK_DOWN:
- if (isUIActive)
- return S_FALSE;
- break;
+ if (isUIActive)
+ return S_FALSE;
+ break;
default:
- if (isUIActive && qt.widget->focusWidget()) {
+ if (isUIActive && qt.widget->focusWidget()) {
int state = Qt::NoButton;
- if (dwKeyMod & 1)
- state |= Qt::ShiftModifier;
- if (dwKeyMod & 2)
- state |= Qt::ControlModifier;
- if (dwKeyMod & 4)
- state |= Qt::AltModifier;
-
- int key = pMsg->wParam;
+ if (dwKeyMod & 1)
+ state |= Qt::ShiftModifier;
+ if (dwKeyMod & 2)
+ state |= Qt::ControlModifier;
+ if (dwKeyMod & 4)
+ state |= Qt::AltModifier;
+
+ int key = pMsg->wParam;
if (!(key >= 'A' && key <= 'Z') && !(key >= '0' && key <= '9'))
key = qt_translateKeyCode(pMsg->wParam);
- QKeyEvent override(QEvent::ShortcutOverride, key, (Qt::KeyboardModifiers)state);
- override.ignore();
- QApplication::sendEvent(qt.widget->focusWidget(), &override);
- if (override.isAccepted())
- return S_FALSE;
- }
- break;
+ QKeyEvent override(QEvent::ShortcutOverride, key, (Qt::KeyboardModifiers)state);
+ override.ignore();
+ QApplication::sendEvent(qt.widget->focusWidget(), &override);
+ if (override.isAccepted())
+ return S_FALSE;
+ }
+ break;
}
if (!m_spClientSite)
- return S_FALSE;
+ return S_FALSE;
IOleControlSite *controlSite = 0;
m_spClientSite->QueryInterface(IID_IOleControlSite, (void**)&controlSite);
if (!controlSite)
- return S_FALSE;
-
+ return S_FALSE;
+ bool resetUserData = false;
+ // set server type in the user-data of the window.
+#ifdef GWLP_USERDATA
+ LONG_PTR serverType = QAX_INPROC_SERVER;
+#else
+ LONG serverType = QAX_INPROC_SERVER;
+#endif
+ if (qAxOutProcServer)
+ serverType = QAX_OUTPROC_SERVER;
+#ifdef GWLP_USERDATA
+ LONG_PTR oldData = SetWindowLongPtr(pMsg->hwnd, GWLP_USERDATA, serverType);
+#else
+ LONG oldData = SetWindowLong(pMsg->hwnd, GWL_USERDATA, serverType);
+#endif
HRESULT hres = controlSite->TranslateAcceleratorW(pMsg, dwKeyMod);
-
controlSite->Release();
-
+ // reset the user-data for the window.
+#ifdef GWLP_USERDATA
+ SetWindowLongPtr(pMsg->hwnd, GWLP_USERDATA, oldData);
+#else
+ SetWindowLong(pMsg->hwnd, GWL_USERDATA, oldData);
+#endif
return hres;
}
diff --git a/src/activeqt/control/qaxserverdll.cpp b/src/activeqt/control/qaxserverdll.cpp
index 375028d..512c408 100644
--- a/src/activeqt/control/qaxserverdll.cpp
+++ b/src/activeqt/control/qaxserverdll.cpp
@@ -50,7 +50,7 @@ bool qax_ownQApp = false;
HHOOK qax_hhook = 0;
// in qaxserver.cpp
-extern char qAxModuleFilename[MAX_PATH];
+extern wchar_t qAxModuleFilename[MAX_PATH];
extern bool qAxIsServer;
extern ITypeLib *qAxTypeLibrary;
extern unsigned long qAxLockCount();
@@ -120,7 +120,7 @@ STDAPI DllCanUnloadNow()
EXTERN_C BOOL WINAPI DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID lpvReserved)
{
- GetModuleFileNameA(hInstance, qAxModuleFilename, MAX_PATH-1);
+ GetModuleFileName(hInstance, qAxModuleFilename, MAX_PATH);
qAxInstance = hInstance;
qAxIsServer = true;
diff --git a/src/activeqt/control/qaxservermain.cpp b/src/activeqt/control/qaxservermain.cpp
index 8f20d97..d465746 100644
--- a/src/activeqt/control/qaxservermain.cpp
+++ b/src/activeqt/control/qaxservermain.cpp
@@ -66,7 +66,7 @@ extern bool qAxActivity;
extern HANDLE qAxInstance;
extern bool qAxIsServer;
extern bool qAxOutProcServer;
-extern char qAxModuleFilename[MAX_PATH];
+extern wchar_t qAxModuleFilename[MAX_PATH];
extern QString qAxInit();
extern void qAxCleanup();
extern HRESULT UpdateRegistry(BOOL bRegister);
@@ -105,7 +105,7 @@ static DWORD WINAPI MonitorProc(void* pv)
static bool StartMonitor()
{
dwThreadID = GetCurrentThreadId();
- hEventShutdown = CreateEventA(0, false, false, 0);
+ hEventShutdown = CreateEvent(0, false, false, 0);
if (hEventShutdown == 0)
return false;
DWORD dwThreadID;
@@ -203,17 +203,10 @@ EXTERN_C int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR,
QT_USE_NAMESPACE
qAxOutProcServer = true;
- GetModuleFileNameA(0, qAxModuleFilename, MAX_PATH-1);
+ GetModuleFileName(0, qAxModuleFilename, MAX_PATH);
qAxInstance = hInstance;
- QByteArray cmdParam;
- QT_WA({
- LPTSTR cmdline = GetCommandLineW();
- cmdParam = QString::fromUtf16((const ushort *)cmdline).toLocal8Bit();
- }, {
- cmdParam = GetCommandLineA();
- });
-
+ QByteArray cmdParam = QString::fromWCharArray(GetCommandLine()).toLocal8Bit();
QList<QByteArray> cmds = cmdParam.split(' ');
QByteArray unprocessed;
diff --git a/src/activeqt/shared/qaxtypes.cpp b/src/activeqt/shared/qaxtypes.cpp
index 916fcca..63891c4 100644
--- a/src/activeqt/shared/qaxtypes.cpp
+++ b/src/activeqt/shared/qaxtypes.cpp
@@ -37,11 +37,6 @@
**
****************************************************************************/
-#ifndef UNICODE
-#define UNICODE
-#endif
-
-
#include <ocidl.h>
#include <olectl.h>
@@ -123,7 +118,7 @@ static QFont IFontToQFont(IFont *f)
f->get_Strikethrough(&strike);
f->get_Underline(&underline);
f->get_Weight(&weight);
- QFont font(QString::fromUtf16((const ushort *)name), size.Lo/9750, weight / 97, italic);
+ QFont font(QString::fromWCharArray(name), size.Lo/9750, weight / 97, italic);
font.setBold(bold);
font.setStrikeOut(strike);
font.setUnderline(underline);
@@ -557,7 +552,7 @@ bool QVariantToVARIANT(const QVariant &var, VARIANT &arg, const QByteArray &type
int maxColumns = col.count();
if (maxColumns) {
is2D = true;
- SAFEARRAYBOUND rgsabound[2] = {0};
+ SAFEARRAYBOUND rgsabound[2] = { {0} };
rgsabound[0].cElements = count;
rgsabound[1].cElements = maxColumns;
array = SafeArrayCreate(VT_VARIANT, 2, rgsabound);
@@ -925,10 +920,10 @@ QVariant VARIANTToQVariant(const VARIANT &arg, const QByteArray &typeName, uint
QVariant var;
switch(arg.vt) {
case VT_BSTR:
- var = QString::fromUtf16((const ushort *)arg.bstrVal);
+ var = QString::fromWCharArray(arg.bstrVal);
break;
case VT_BSTR|VT_BYREF:
- var = QString::fromUtf16((const ushort *)*arg.pbstrVal);
+ var = QString::fromWCharArray(*arg.pbstrVal);
break;
case VT_BOOL:
var = QVariant((bool)arg.boolVal);
@@ -1245,7 +1240,7 @@ QVariant VARIANTToQVariant(const VARIANT &arg, const QByteArray &typeName, uint
for (long i = lBound; i <= uBound; ++i) {
BSTR bstr;
SafeArrayGetElement(array, &i, &bstr);
- strings << QString::fromUtf16((const ushort *)bstr);
+ strings << QString::fromWCharArray(bstr);
SysFreeString(bstr);
}
diff --git a/src/activeqt/shared/qaxtypes.h b/src/activeqt/shared/qaxtypes.h
index 4f647a3..e3c7138 100644
--- a/src/activeqt/shared/qaxtypes.h
+++ b/src/activeqt/shared/qaxtypes.h
@@ -89,6 +89,9 @@ extern QVariant VARIANTToQVariant(const VARIANT &arg, const QByteArray &typeName
extern bool QVariantToVoidStar(const QVariant &var, void *data, const QByteArray &typeName, uint type = 0);
extern void clearVARIANT(VARIANT *var);
+#define QAX_INPROC_SERVER (0x51540001)
+#define QAX_OUTPROC_SERVER (0x51540002)
+
QT_END_NAMESPACE
#endif // QT_NO_WIN_ACTIVEQT
diff --git a/src/corelib/animation/qabstractanimation.cpp b/src/corelib/animation/qabstractanimation.cpp
index 3720984..1d274c9 100644
--- a/src/corelib/animation/qabstractanimation.cpp
+++ b/src/corelib/animation/qabstractanimation.cpp
@@ -177,17 +177,6 @@ QUnifiedTimer *QUnifiedTimer::instance()
return inst;
}
-void QUnifiedTimer::updateRecentlyStartedAnimations()
-{
- if (animationsToStart.isEmpty())
- return;
-
- animations += animationsToStart;
- updateTimer(); //we make sure we start the timer there
-
- animationsToStart.clear();
-}
-
void QUnifiedTimer::timerEvent(QTimerEvent *event)
{
//this is simply the time we last received a tick
@@ -195,15 +184,16 @@ void QUnifiedTimer::timerEvent(QTimerEvent *event)
if (time.isValid())
lastTick = consistentTiming ? oldLastTick + timingInterval : time.elapsed();
- //we transfer the waiting animations into the "really running" state
- updateRecentlyStartedAnimations();
if (event->timerId() == startStopAnimationTimer.timerId()) {
startStopAnimationTimer.stop();
+ //we transfer the waiting animations into the "really running" state
+ animations += animationsToStart;
+ animationsToStart.clear();
if (animations.isEmpty()) {
animationTimer.stop();
time = QTime();
- } else {
+ } else if (!animationTimer.isActive()) {
animationTimer.start(timingInterval, this);
lastTick = 0;
time.start();
@@ -219,27 +209,19 @@ void QUnifiedTimer::timerEvent(QTimerEvent *event)
}
}
-void QUnifiedTimer::updateTimer()
-{
- //we delay the call to start and stop for the animation timer so that if you
- //stop and start animations in batch you don't stop/start the timer too often.
- if (!startStopAnimationTimer.isActive())
- startStopAnimationTimer.start(0, this); // we delay the actual start of the animation
-}
-
void QUnifiedTimer::registerAnimation(QAbstractAnimation *animation)
{
if (animations.contains(animation) ||animationsToStart.contains(animation))
return;
animationsToStart << animation;
- updateTimer();
+ startStopAnimationTimer.start(0, this); // we delay the check if we should start/stop the global timer
}
void QUnifiedTimer::unregisterAnimation(QAbstractAnimation *animation)
{
animations.removeAll(animation);
animationsToStart.removeAll(animation);
- updateTimer();
+ startStopAnimationTimer.start(0, this); // we delay the check if we should start/stop the global timer
}
@@ -254,8 +236,17 @@ void QAbstractAnimationPrivate::setState(QAbstractAnimation::State newState)
int oldCurrentLoop = currentLoop;
QAbstractAnimation::Direction oldDirection = direction;
- state = newState;
+ // check if we should Rewind
+ if ((newState == QAbstractAnimation::Paused || newState == QAbstractAnimation::Running)
+ && oldState == QAbstractAnimation::Stopped) {
+ //here we reset the time if needed
+ //we don't call setCurrentTime because this might change the way the animation
+ //behaves: changing the state or changing the current value
+ totalCurrentTime = currentTime =(direction == QAbstractAnimation::Forward) ?
+ 0 : (loopCount == -1 ? q->duration() : q->totalDuration());
+ }
+ state = newState;
QPointer<QAbstractAnimation> guard(q);
guard->updateState(oldState, newState);
@@ -268,36 +259,22 @@ void QAbstractAnimationPrivate::setState(QAbstractAnimation::State newState)
if (guard)
emit guard->stateChanged(oldState, newState);
- // Enter running state.
switch (state)
{
case QAbstractAnimation::Paused:
case QAbstractAnimation::Running:
- {
- // Rewind
- if (oldState == QAbstractAnimation::Stopped) {
- if (guard) {
- if (direction == QAbstractAnimation::Forward)
- q->setCurrentTime(0);
- else
- q->setCurrentTime(loopCount == -1 ? q->duration() : q->totalDuration());
- }
-
- // Check if the setCurrentTime() function called stop().
- // This can happen for a 0-duration animation
- if (state == QAbstractAnimation::Stopped)
- return;
- }
-
- // Register timer if our parent is not running.
- if (state == QAbstractAnimation::Running && guard) {
- if (!group || group->state() == QAbstractAnimation::Stopped) {
- QUnifiedTimer::instance()->registerAnimation(q);
- }
- } else {
- //new state is paused
- QUnifiedTimer::instance()->unregisterAnimation(q);
+ //this ensures that the value is updated now that the animation is running
+ if(oldState == QAbstractAnimation::Stopped && guard)
+ guard->setCurrentTime(currentTime);
+
+ // Register timer if our parent is not running.
+ if (state == QAbstractAnimation::Running && guard) {
+ if (!group || group->state() == QAbstractAnimation::Stopped) {
+ QUnifiedTimer::instance()->registerAnimation(q);
}
+ } else {
+ //new state is paused
+ QUnifiedTimer::instance()->unregisterAnimation(q);
}
break;
case QAbstractAnimation::Stopped:
@@ -625,8 +602,8 @@ void QAbstractAnimation::start(DeletionPolicy policy)
Q_D(QAbstractAnimation);
if (d->state == Running)
return;
- d->setState(Running);
d->deleteWhenStopped = policy;
+ d->setState(Running);
}
/*!
@@ -648,9 +625,8 @@ void QAbstractAnimation::stop()
/*!
Pauses the animation. When the animation is paused, state() returns Paused.
- The currenttime will remain unchanged until resume() or start() is called.
- If you want to continue from the current time, call resume().
-
+ The value of currentTime will remain unchanged until resume() or start()
+ is called. If you want to continue from the current time, call resume().
\sa start(), state(), resume()
*/
diff --git a/src/corelib/animation/qabstractanimation.h b/src/corelib/animation/qabstractanimation.h
index 8da0935..e4b1fcc 100644
--- a/src/corelib/animation/qabstractanimation.h
+++ b/src/corelib/animation/qabstractanimation.h
@@ -125,7 +125,7 @@ protected:
private:
Q_DISABLE_COPY(QAbstractAnimation)
- Q_DECLARE_SCOPED_PRIVATE(QAbstractAnimation)
+ Q_DECLARE_PRIVATE(QAbstractAnimation)
};
#endif //QT_NO_ANIMATION
diff --git a/src/corelib/animation/qabstractanimation_p.h b/src/corelib/animation/qabstractanimation_p.h
index 00def55..b281aa2 100644
--- a/src/corelib/animation/qabstractanimation_p.h
+++ b/src/corelib/animation/qabstractanimation_p.h
@@ -58,6 +58,8 @@
#include <QtCore/qtimer.h>
#include <private/qobject_p.h>
+#ifndef QT_NO_ANIMATION
+
QT_BEGIN_NAMESPACE
class QAnimationGroup;
@@ -133,11 +135,8 @@ public:
protected:
void timerEvent(QTimerEvent *);
- void updateTimer();
private:
- void updateRecentlyStartedAnimations();
-
QBasicTimer animationTimer, startStopAnimationTimer;
QTime time;
int lastTick;
@@ -147,4 +146,7 @@ private:
};
QT_END_NAMESPACE
-#endif
+
+#endif //QT_NO_ANIMATION
+
+#endif //QABSTRACTANIMATION_P_H
diff --git a/src/corelib/animation/qanimationgroup.h b/src/corelib/animation/qanimationgroup.h
index 5b07524..93c6fb1 100644
--- a/src/corelib/animation/qanimationgroup.h
+++ b/src/corelib/animation/qanimationgroup.h
@@ -76,7 +76,7 @@ protected:
private:
Q_DISABLE_COPY(QAnimationGroup)
- Q_DECLARE_SCOPED_PRIVATE(QAnimationGroup)
+ Q_DECLARE_PRIVATE(QAnimationGroup)
};
#endif //QT_NO_ANIMATION
diff --git a/src/corelib/animation/qanimationgroup_p.h b/src/corelib/animation/qanimationgroup_p.h
index 8e668f0..01252c5 100644
--- a/src/corelib/animation/qanimationgroup_p.h
+++ b/src/corelib/animation/qanimationgroup_p.h
@@ -59,6 +59,8 @@
#include "private/qabstractanimation_p.h"
+#ifndef QT_NO_ANIMATION
+
QT_BEGIN_NAMESPACE
class QAnimationGroupPrivate : public QAbstractAnimationPrivate
@@ -76,4 +78,6 @@ public:
QT_END_NAMESPACE
+#endif //QT_NO_ANIMATION
+
#endif //QANIMATIONGROUP_P_H
diff --git a/src/corelib/animation/qparallelanimationgroup.cpp b/src/corelib/animation/qparallelanimationgroup.cpp
index 5e4b0d2..8aa04a4 100644
--- a/src/corelib/animation/qparallelanimationgroup.cpp
+++ b/src/corelib/animation/qparallelanimationgroup.cpp
@@ -214,7 +214,8 @@ void QParallelAnimationGroup::updateState(QAbstractAnimation::State oldState,
d->connectUncontrolledAnimations();
for (int i = 0; i < d->animations.size(); ++i) {
QAbstractAnimation *animation = d->animations.at(i);
- animation->stop();
+ if (oldState == Stopped)
+ animation->stop();
animation->setDirection(d->direction);
animation->start();
}
diff --git a/src/corelib/animation/qparallelanimationgroup.h b/src/corelib/animation/qparallelanimationgroup.h
index 8422102..07808f1 100644
--- a/src/corelib/animation/qparallelanimationgroup.h
+++ b/src/corelib/animation/qparallelanimationgroup.h
@@ -73,7 +73,7 @@ protected:
private:
Q_DISABLE_COPY(QParallelAnimationGroup)
- Q_DECLARE_SCOPED_PRIVATE(QParallelAnimationGroup)
+ Q_DECLARE_PRIVATE(QParallelAnimationGroup)
Q_PRIVATE_SLOT(d_func(), void _q_uncontrolledAnimationFinished())
};
diff --git a/src/corelib/animation/qparallelanimationgroup_p.h b/src/corelib/animation/qparallelanimationgroup_p.h
index 201eb16..949a9b2 100644
--- a/src/corelib/animation/qparallelanimationgroup_p.h
+++ b/src/corelib/animation/qparallelanimationgroup_p.h
@@ -57,6 +57,8 @@
#include "private/qanimationgroup_p.h"
#include <QtCore/QHash>
+#ifndef QT_NO_ANIMATION
+
QT_BEGIN_NAMESPACE
class QParallelAnimationGroupPrivate : public QAnimationGroupPrivate
@@ -82,4 +84,6 @@ public:
QT_END_NAMESPACE
+#endif //QT_NO_ANIMATION
+
#endif //QPARALLELANIMATIONGROUP_P_H
diff --git a/src/corelib/animation/qpauseanimation.h b/src/corelib/animation/qpauseanimation.h
index b84e940..6907d0a 100644
--- a/src/corelib/animation/qpauseanimation.h
+++ b/src/corelib/animation/qpauseanimation.h
@@ -72,7 +72,7 @@ protected:
private:
Q_DISABLE_COPY(QPauseAnimation)
- Q_DECLARE_SCOPED_PRIVATE(QPauseAnimation)
+ Q_DECLARE_PRIVATE(QPauseAnimation)
};
#endif //QT_NO_ANIMATION
diff --git a/src/corelib/animation/qpropertyanimation.cpp b/src/corelib/animation/qpropertyanimation.cpp
index 7526a81..5f224aa 100644
--- a/src/corelib/animation/qpropertyanimation.cpp
+++ b/src/corelib/animation/qpropertyanimation.cpp
@@ -100,10 +100,6 @@
QT_BEGIN_NAMESPACE
-typedef QPair<QObject *, QByteArray> QPropertyAnimationPair;
-typedef QHash<QPropertyAnimationPair, QPropertyAnimation*> QPropertyAnimationHash;
-Q_GLOBAL_STATIC(QPropertyAnimationHash, _q_runningAnimations)
-
void QPropertyAnimationPrivate::updateMetaProperty()
{
if (!target || propertyName.isEmpty())
@@ -286,19 +282,21 @@ void QPropertyAnimation::updateState(QAbstractAnimation::State oldState,
QPropertyAnimation *animToStop = 0;
{
- QPropertyAnimationHash * hash = _q_runningAnimations();
- QMutexLocker locker(QMutexPool::globalInstanceGet(hash));
+ QMutexLocker locker(QMutexPool::globalInstanceGet(&staticMetaObject));
+ typedef QPair<QObject *, QByteArray> QPropertyAnimationPair;
+ typedef QHash<QPropertyAnimationPair, QPropertyAnimation*> QPropertyAnimationHash;
+ static QPropertyAnimationHash hash;
QPropertyAnimationPair key(d->target, d->propertyName);
if (newState == Running) {
d->updateMetaProperty();
- animToStop = hash->value(key, 0);
- hash->insert(key, this);
+ animToStop = hash.value(key, 0);
+ hash.insert(key, this);
// update the default start value
if (oldState == Stopped) {
d->setDefaultStartValue(d->target->property(d->propertyName.constData()));
}
- } else if (hash->value(key) == this) {
- hash->remove(key);
+ } else if (hash.value(key) == this) {
+ hash.remove(key);
}
}
diff --git a/src/corelib/animation/qpropertyanimation.h b/src/corelib/animation/qpropertyanimation.h
index 6631f67..e07444c 100644
--- a/src/corelib/animation/qpropertyanimation.h
+++ b/src/corelib/animation/qpropertyanimation.h
@@ -78,7 +78,7 @@ protected:
private:
Q_PRIVATE_SLOT(d_func(), void _q_targetDestroyed())
Q_DISABLE_COPY(QPropertyAnimation)
- Q_DECLARE_SCOPED_PRIVATE(QPropertyAnimation)
+ Q_DECLARE_PRIVATE(QPropertyAnimation)
};
#endif //QT_NO_ANIMATION
diff --git a/src/corelib/animation/qpropertyanimation_p.h b/src/corelib/animation/qpropertyanimation_p.h
index 68b2519..a2ae5ec 100644
--- a/src/corelib/animation/qpropertyanimation_p.h
+++ b/src/corelib/animation/qpropertyanimation_p.h
@@ -58,6 +58,8 @@
#include "private/qvariantanimation_p.h"
+#ifndef QT_NO_ANIMATION
+
QT_BEGIN_NAMESPACE
class QPropertyAnimationPrivate : public QVariantAnimationPrivate
@@ -86,4 +88,6 @@ public:
QT_END_NAMESPACE
-#endif
+#endif //QT_NO_ANIMATION
+
+#endif //QPROPERTYANIMATION_P_H
diff --git a/src/corelib/animation/qsequentialanimationgroup.cpp b/src/corelib/animation/qsequentialanimationgroup.cpp
index 5932e7c..05dc307 100644
--- a/src/corelib/animation/qsequentialanimationgroup.cpp
+++ b/src/corelib/animation/qsequentialanimationgroup.cpp
@@ -269,8 +269,10 @@ QSequentialAnimationGroup::~QSequentialAnimationGroup()
/*!
Adds a pause of \a msecs to this animation group.
- The pause is considered as a special type of animation, thus count() will be
+ The pause is considered as a special type of animation, thus
+ \l{QAnimationGroup::animationCount()}{animationCount} will be
increased by one.
+
\sa insertPauseAt(), QAnimationGroup::addAnimation()
*/
QPauseAnimation *QSequentialAnimationGroup::addPause(int msecs)
diff --git a/src/corelib/animation/qsequentialanimationgroup.h b/src/corelib/animation/qsequentialanimationgroup.h
index 81a7ff5..5d43356 100644
--- a/src/corelib/animation/qsequentialanimationgroup.h
+++ b/src/corelib/animation/qsequentialanimationgroup.h
@@ -83,7 +83,7 @@ protected:
private:
Q_DISABLE_COPY(QSequentialAnimationGroup)
- Q_DECLARE_SCOPED_PRIVATE(QSequentialAnimationGroup)
+ Q_DECLARE_PRIVATE(QSequentialAnimationGroup)
Q_PRIVATE_SLOT(d_func(), void _q_uncontrolledAnimationFinished())
};
diff --git a/src/corelib/animation/qsequentialanimationgroup_p.h b/src/corelib/animation/qsequentialanimationgroup_p.h
index 555b696..8db79a0 100644
--- a/src/corelib/animation/qsequentialanimationgroup_p.h
+++ b/src/corelib/animation/qsequentialanimationgroup_p.h
@@ -56,6 +56,7 @@
#include "qsequentialanimationgroup.h"
#include "private/qanimationgroup_p.h"
+#ifndef QT_NO_ANIMATION
QT_BEGIN_NAMESPACE
@@ -108,4 +109,6 @@ public:
QT_END_NAMESPACE
+#endif //QT_NO_ANIMATION
+
#endif //QSEQUENTIALANIMATIONGROUP_P_H
diff --git a/src/corelib/animation/qvariantanimation.cpp b/src/corelib/animation/qvariantanimation.cpp
index 48e5ec1..fdd98c2 100644
--- a/src/corelib/animation/qvariantanimation.cpp
+++ b/src/corelib/animation/qvariantanimation.cpp
@@ -267,7 +267,7 @@ void QVariantAnimationPrivate::setCurrentValueForProgress(const qreal progress)
localProgress);
qSwap(currentValue, ret);
q->updateCurrentValue(currentValue);
- if ((connectedSignals & changedSignalMask) && currentValue != ret) {
+ if ((connectedSignals[0] & changedSignalMask) && currentValue != ret) {
//the value has changed
emit q->valueChanged(currentValue);
}
diff --git a/src/corelib/animation/qvariantanimation.h b/src/corelib/animation/qvariantanimation.h
index 0afe80f..3e397ca 100644
--- a/src/corelib/animation/qvariantanimation.h
+++ b/src/corelib/animation/qvariantanimation.h
@@ -62,7 +62,7 @@ class Q_CORE_EXPORT QVariantAnimation : public QAbstractAnimation
Q_OBJECT
Q_PROPERTY(QVariant startValue READ startValue WRITE setStartValue)
Q_PROPERTY(QVariant endValue READ endValue WRITE setEndValue)
- Q_PROPERTY(QVariant currentValue READ currentValue NOTIFY currentValueChanged)
+ Q_PROPERTY(QVariant currentValue READ currentValue NOTIFY valueChanged)
Q_PROPERTY(int duration READ duration WRITE setDuration)
Q_PROPERTY(QEasingCurve easingCurve READ easingCurve WRITE setEasingCurve)
@@ -113,7 +113,7 @@ private:
static void registerInterpolator(Interpolator func, int interpolationType);
Q_DISABLE_COPY(QVariantAnimation)
- Q_DECLARE_SCOPED_PRIVATE(QVariantAnimation)
+ Q_DECLARE_PRIVATE(QVariantAnimation)
};
template <typename T>
diff --git a/src/corelib/animation/qvariantanimation_p.h b/src/corelib/animation/qvariantanimation_p.h
index b848e12..69e23dc 100644
--- a/src/corelib/animation/qvariantanimation_p.h
+++ b/src/corelib/animation/qvariantanimation_p.h
@@ -60,6 +60,8 @@
#include "private/qabstractanimation_p.h"
+#ifndef QT_NO_ANIMATION
+
QT_BEGIN_NAMESPACE
class QVariantAnimationPrivate : public QAbstractAnimationPrivate
@@ -120,4 +122,6 @@ template<typename T > inline QVariant _q_interpolateVariant(const T &from, const
QT_END_NAMESPACE
+#endif //QT_NO_ANIMATION
+
#endif //QANIMATION_P_H
diff --git a/src/corelib/arch/arch.pri b/src/corelib/arch/arch.pri
index de4de1f..9f0e289 100644
--- a/src/corelib/arch/arch.pri
+++ b/src/corelib/arch/arch.pri
@@ -7,6 +7,8 @@ mac:HEADERS += arch/qatomic_macosx.h \
symbian:HEADERS += arch/qatomic_symbian.h \
arch/qatomic_generic.h
+vxworks:HEADERS += arch/qatomic_vxworks.h
+
!wince*:!win32:!mac:!symbian:HEADERS += arch/qatomic_alpha.h \
arch/qatomic_avr32.h \
arch/qatomic_ia64.h \
diff --git a/src/corelib/arch/qatomic_arch.h b/src/corelib/arch/qatomic_arch.h
index 6c14575..17bced6 100644
--- a/src/corelib/arch/qatomic_arch.h
+++ b/src/corelib/arch/qatomic_arch.h
@@ -46,7 +46,9 @@ QT_BEGIN_HEADER
#include "QtCore/qglobal.h"
-#if defined(QT_ARCH_ALPHA)
+#if defined(QT_ARCH_VXWORKS)
+# include "QtCore/qatomic_vxworks.h"
+#elif defined(QT_ARCH_ALPHA)
# include "QtCore/qatomic_alpha.h"
#elif defined(QT_ARCH_ARM)
# include "QtCore/qatomic_arm.h"
diff --git a/src/corelib/arch/qatomic_powerpc.h b/src/corelib/arch/qatomic_powerpc.h
index ea3f458..c3b31f9 100644
--- a/src/corelib/arch/qatomic_powerpc.h
+++ b/src/corelib/arch/qatomic_powerpc.h
@@ -101,8 +101,6 @@ template <typename T>
Q_INLINE_TEMPLATE bool QBasicAtomicPointer<T>::isFetchAndAddWaitFree()
{ return false; }
-QT_BEGIN_NAMESPACE
-
#if defined(Q_CC_GNU)
#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 2) \
diff --git a/src/corelib/arch/qatomic_symbian.h b/src/corelib/arch/qatomic_symbian.h
index 9b8b341..74a0ca8 100644
--- a/src/corelib/arch/qatomic_symbian.h
+++ b/src/corelib/arch/qatomic_symbian.h
@@ -1,9 +1,9 @@
/****************************************************************************
**
-** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
-** This file is part of the $MODULE$ of the Qt Toolkit.
+** This file is part of the QtCore of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/src/corelib/arch/qatomic_vxworks.h b/src/corelib/arch/qatomic_vxworks.h
new file mode 100644
index 0000000..b441210
--- /dev/null
+++ b/src/corelib/arch/qatomic_vxworks.h
@@ -0,0 +1,318 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the qmake spec of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QATOMIC_VXWORKS_H
+#define QATOMIC_VXWORKS_H
+
+QT_BEGIN_HEADER
+
+#if defined(__ppc)
+# include <QtCore/qatomic_powerpc.h>
+#else // generic implementation with taskLock()
+
+#if 0
+// we don't want to include the system header here for two function prototypes,
+// because it pulls in a _lot_ of stuff that pollutes the global namespace
+# include <vxWorksCommon.h>
+# include <taskLib.h>
+#else
+extern "C" int taskLock();
+extern "C" int taskUnlock();
+#endif
+
+
+
+QT_BEGIN_NAMESPACE
+
+#define Q_ATOMIC_INT_REFERENCE_COUNTING_IS_NOT_NATIVE
+
+inline bool QBasicAtomicInt::isReferenceCountingNative()
+{ return false; }
+inline bool QBasicAtomicInt::isReferenceCountingWaitFree()
+{ return false; }
+
+#define Q_ATOMIC_INT_TEST_AND_SET_IS_NOT_NATIVE
+
+inline bool QBasicAtomicInt::isTestAndSetNative()
+{ return false; }
+inline bool QBasicAtomicInt::isTestAndSetWaitFree()
+{ return false; }
+
+#define Q_ATOMIC_INT_FETCH_AND_STORE_IS_NOT_NATIVE
+
+inline bool QBasicAtomicInt::isFetchAndStoreNative()
+{ return false; }
+inline bool QBasicAtomicInt::isFetchAndStoreWaitFree()
+{ return false; }
+
+#define Q_ATOMIC_INT_FETCH_AND_ADD_IS_NOT_NATIVE
+
+inline bool QBasicAtomicInt::isFetchAndAddNative()
+{ return false; }
+inline bool QBasicAtomicInt::isFetchAndAddWaitFree()
+{ return false; }
+
+#define Q_ATOMIC_POINTER_TEST_AND_SET_IS_NOT_NATIVE
+
+template <typename T>
+Q_INLINE_TEMPLATE bool QBasicAtomicPointer<T>::isTestAndSetNative()
+{ return false; }
+template <typename T>
+Q_INLINE_TEMPLATE bool QBasicAtomicPointer<T>::isTestAndSetWaitFree()
+{ return false; }
+
+#define Q_ATOMIC_POINTER_FETCH_AND_STORE_IS_NOT_NATIVE
+
+template <typename T>
+Q_INLINE_TEMPLATE bool QBasicAtomicPointer<T>::isFetchAndStoreNative()
+{ return false; }
+template <typename T>
+Q_INLINE_TEMPLATE bool QBasicAtomicPointer<T>::isFetchAndStoreWaitFree()
+{ return false; }
+
+#define Q_ATOMIC_POINTER_FETCH_AND_ADD_IS_NOT_NATIVE
+
+template <typename T>
+Q_INLINE_TEMPLATE bool QBasicAtomicPointer<T>::isFetchAndAddNative()
+{ return false; }
+template <typename T>
+Q_INLINE_TEMPLATE bool QBasicAtomicPointer<T>::isFetchAndAddWaitFree()
+{ return false; }
+
+// Reference counting
+
+inline bool QBasicAtomicInt::ref()
+{
+ taskLock();
+ bool ret = (++_q_value != 0);
+ taskUnlock();
+ return ret;
+}
+
+inline bool QBasicAtomicInt::deref()
+{
+ taskLock();
+ bool ret = (--_q_value != 0);
+ taskUnlock();
+ return ret;
+}
+
+// Test-and-set for integers
+
+inline bool QBasicAtomicInt::testAndSetOrdered(int expectedValue, int newValue)
+{
+ taskLock();
+ if (_q_value == expectedValue) {
+ _q_value = newValue;
+ taskUnlock();
+ return true;
+ }
+ taskUnlock();
+ return false;
+}
+
+inline bool QBasicAtomicInt::testAndSetRelaxed(int expectedValue, int newValue)
+{
+ return testAndSetOrdered(expectedValue, newValue);
+}
+
+inline bool QBasicAtomicInt::testAndSetAcquire(int expectedValue, int newValue)
+{
+ return testAndSetOrdered(expectedValue, newValue);
+}
+
+inline bool QBasicAtomicInt::testAndSetRelease(int expectedValue, int newValue)
+{
+ return testAndSetOrdered(expectedValue, newValue);
+}
+
+// Fetch-and-store for integers
+
+inline int QBasicAtomicInt::fetchAndStoreOrdered(int newValue)
+{
+ taskLock();
+ int returnValue = _q_value;
+ _q_value = newValue;
+ taskUnlock();
+ return returnValue;
+}
+
+inline int QBasicAtomicInt::fetchAndStoreRelaxed(int newValue)
+{
+ return fetchAndStoreOrdered(newValue);
+}
+
+inline int QBasicAtomicInt::fetchAndStoreAcquire(int newValue)
+{
+ return fetchAndStoreOrdered(newValue);
+}
+
+inline int QBasicAtomicInt::fetchAndStoreRelease(int newValue)
+{
+ return fetchAndStoreOrdered(newValue);
+}
+
+// Fetch-and-add for integers
+
+inline int QBasicAtomicInt::fetchAndAddOrdered(int valueToAdd)
+{
+ taskLock();
+ int originalValue = _q_value;
+ _q_value += valueToAdd;
+ taskUnlock();
+ return originalValue;
+}
+
+inline int QBasicAtomicInt::fetchAndAddRelaxed(int valueToAdd)
+{
+ return fetchAndAddOrdered(valueToAdd);
+}
+
+inline int QBasicAtomicInt::fetchAndAddAcquire(int valueToAdd)
+{
+ return fetchAndAddOrdered(valueToAdd);
+}
+
+inline int QBasicAtomicInt::fetchAndAddRelease(int valueToAdd)
+{
+ return fetchAndAddOrdered(valueToAdd);
+}
+
+// Test and set for pointers
+
+template <typename T>
+Q_INLINE_TEMPLATE bool QBasicAtomicPointer<T>::testAndSetOrdered(T *expectedValue, T *newValue)
+{
+ taskLock();
+ if (_q_value == expectedValue) {
+ _q_value = newValue;
+ taskUnlock();
+ return true;
+ }
+ taskUnlock();
+ return false;
+}
+
+template <typename T>
+Q_INLINE_TEMPLATE bool QBasicAtomicPointer<T>::testAndSetRelaxed(T *expectedValue, T *newValue)
+{
+ return testAndSetOrdered(expectedValue, newValue);
+}
+
+template <typename T>
+Q_INLINE_TEMPLATE bool QBasicAtomicPointer<T>::testAndSetAcquire(T *expectedValue, T *newValue)
+{
+ return testAndSetOrdered(expectedValue, newValue);
+}
+
+template <typename T>
+Q_INLINE_TEMPLATE bool QBasicAtomicPointer<T>::testAndSetRelease(T *expectedValue, T *newValue)
+{
+ return testAndSetOrdered(expectedValue, newValue);
+}
+
+// Fetch and store for pointers
+
+template <typename T>
+Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndStoreOrdered(T *newValue)
+{
+ taskLock();
+ T *returnValue = (_q_value);
+ _q_value = newValue;
+ taskUnlock();
+ return returnValue;
+}
+
+template <typename T>
+Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndStoreRelaxed(T *newValue)
+{
+ return fetchAndStoreOrdered(newValue);
+}
+
+template <typename T>
+Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndStoreAcquire(T *newValue)
+{
+ return fetchAndStoreOrdered(newValue);
+}
+
+template <typename T>
+Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndStoreRelease(T *newValue)
+{
+ return fetchAndStoreOrdered(newValue);
+}
+
+// Fetch and add for pointers
+
+template <typename T>
+Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndAddOrdered(qptrdiff valueToAdd)
+{
+ taskLock();
+ T *returnValue = (_q_value);
+ _q_value += valueToAdd;
+ taskUnlock();
+ return returnValue;
+}
+
+template <typename T>
+Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndAddRelaxed(qptrdiff valueToAdd)
+{
+ return fetchAndAddOrdered(valueToAdd);
+}
+
+template <typename T>
+Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndAddAcquire(qptrdiff valueToAdd)
+{
+ return fetchAndAddOrdered(valueToAdd);
+}
+
+template <typename T>
+Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndAddRelease(qptrdiff valueToAdd)
+{
+ return fetchAndAddOrdered(valueToAdd);
+}
+
+QT_END_NAMESPACE
+
+#endif // generic implementation with taskLock()
+
+QT_END_HEADER
+
+#endif // QATOMIC_VXWORKS_H
diff --git a/src/corelib/arch/symbian/qatomic_symbian.cpp b/src/corelib/arch/symbian/qatomic_symbian.cpp
index a228696..b08a468 100644
--- a/src/corelib/arch/symbian/qatomic_symbian.cpp
+++ b/src/corelib/arch/symbian/qatomic_symbian.cpp
@@ -1,9 +1,9 @@
/****************************************************************************
**
-** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
-** This file is part of the $MODULE$ of the Qt Toolkit.
+** This file is part of the QtCore of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/src/corelib/arch/vxworks/arch.pri b/src/corelib/arch/vxworks/arch.pri
new file mode 100644
index 0000000..a768618
--- /dev/null
+++ b/src/corelib/arch/vxworks/arch.pri
@@ -0,0 +1,6 @@
+#
+# VxWorks generic
+#
+*-ppc-* {
+ SOURCES += qatomic_ppc.s
+}
diff --git a/src/corelib/arch/vxworks/qatomic_ppc.s b/src/corelib/arch/vxworks/qatomic_ppc.s
new file mode 100644
index 0000000..03971e8
--- /dev/null
+++ b/src/corelib/arch/vxworks/qatomic_ppc.s
@@ -0,0 +1,415 @@
+
+ .align 2
+ .globl q_atomic_test_and_set_int
+ .globl .q_atomic_test_and_set_int
+q_atomic_test_and_set_int:
+.q_atomic_test_and_set_int:
+ lwarx 6,0,3
+ xor. 6,6,4
+ bne $+12
+ stwcx. 5,0,3
+ bne- $-16
+ subfic 3,6,0
+ adde 3,3,6
+ blr
+LT..q_atomic_test_and_set_int:
+ .long 0
+ .byte 0,9,32,64,0,0,3,0
+ .long 0
+ .long LT..q_atomic_test_and_set_int-.q_atomic_test_and_set_int
+ .short 25
+ .byte "q_atomic_test_and_set_int"
+ .align 2
+
+ .align 2
+ .globl q_atomic_test_and_set_acquire_int
+ .globl .q_atomic_test_and_set_acquire_int
+q_atomic_test_and_set_acquire_int:
+.q_atomic_test_and_set_acquire_int:
+ lwarx 6,0,3
+ xor. 6,6,4
+ bne $+16
+ stwcx. 5,0,3
+ bne- $-16
+ isync
+ subfic 3,6,0
+ adde 3,3,6
+ blr
+LT..q_atomic_test_and_set_acquire_int:
+ .long 0
+ .byte 0,9,32,64,0,0,3,0
+ .long 0
+ .long LT..q_atomic_test_and_set_acquire_int-.q_atomic_test_and_set_acquire_int
+ .short 33
+ .byte "q_atomic_test_and_set_acquire_int"
+ .align 2
+
+ .align 2
+ .globl q_atomic_test_and_set_release_int
+ .globl .q_atomic_test_and_set_release_int
+q_atomic_test_and_set_release_int:
+.q_atomic_test_and_set_release_int:
+ lwarx 6,0,3
+ xor. 6,6,4
+ bne $+12
+ stwcx. 5,0,3
+ bne- $-16
+ subfic 3,6,0
+ adde 3,3,6
+ blr
+LT..q_atomic_test_and_set_release_int:
+ .long 0
+ .byte 0,9,32,64,0,0,3,0
+ .long 0
+ .long LT..q_atomic_test_and_set_release_int-.q_atomic_test_and_set_release_int
+ .short 33
+ .byte "q_atomic_test_and_set_release_int"
+ .align 2
+
+ .align 2
+ .globl q_atomic_test_and_set_ptr
+ .globl .q_atomic_test_and_set_ptr
+q_atomic_test_and_set_ptr:
+.q_atomic_test_and_set_ptr:
+ lwarx 6,0,3
+ xor. 6,6,4
+ bne $+12
+ stwcx. 5,0,3
+ bne- $-16
+ subfic 3,6,0
+ adde 3,3,6
+ blr
+LT..q_atomic_test_and_set_ptr:
+ .long 0
+ .byte 0,9,32,64,0,0,3,0
+ .long 0
+ .long LT..q_atomic_test_and_set_ptr-.q_atomic_test_and_set_ptr
+ .short 25
+ .byte "q_atomic_test_and_set_ptr"
+ .align 2
+
+ .align 2
+ .globl q_atomic_test_and_set_acquire_ptr
+ .globl .q_atomic_test_and_set_acquire_ptr
+q_atomic_test_and_set_acquire_ptr:
+.q_atomic_test_and_set_acquire_ptr:
+ lwarx 6,0,3
+ xor. 6,6,4
+ bne $+16
+ stwcx. 5,0,3
+ bne- $-16
+ isync
+ subfic 3,6,0
+ adde 3,3,6
+ blr
+LT..q_atomic_test_and_set_acquire_ptr:
+ .long 0
+ .byte 0,9,32,64,0,0,3,0
+ .long 0
+ .long LT..q_atomic_test_and_set_acquire_ptr-.q_atomic_test_and_set_acquire_ptr
+ .short 25
+ .byte "q_atomic_test_and_set_acquire_ptr"
+ .align 2
+
+ .align 2
+ .globl q_atomic_test_and_set_release_ptr
+ .globl .q_atomic_test_and_set_release_ptr
+q_atomic_test_and_set_release_ptr:
+.q_atomic_test_and_set_release_ptr:
+ lwarx 6,0,3
+ xor. 6,6,4
+ bne $+12
+ stwcx. 5,0,3
+ bne- $-16
+ subfic 3,6,0
+ adde 3,3,6
+ blr
+LT..q_atomic_test_and_set_release_ptr:
+ .long 0
+ .byte 0,9,32,64,0,0,3,0
+ .long 0
+ .long LT..q_atomic_test_and_set_release_ptr-.q_atomic_test_and_set_release_ptr
+ .short 33
+ .byte "q_atomic_test_and_set_release_ptr"
+ .align 2
+
+ .align 2
+ .globl q_atomic_increment
+ .globl .q_atomic_increment
+q_atomic_increment:
+.q_atomic_increment:
+ lwarx 4,0,3
+ addi 4,4,1
+ stwcx. 4,0,3
+ bne- $-12
+ mr 3,4
+ blr
+LT..q_atomic_increment:
+ .long 0
+ .byte 0,9,32,64,0,0,1,0
+ .long 0
+ .long LT..q_atomic_increment-.q_atomic_increment
+ .short 18
+ .byte "q_atomic_increment"
+ .align 2
+
+ .align 2
+ .globl q_atomic_decrement
+ .globl .q_atomic_decrement
+q_atomic_decrement:
+.q_atomic_decrement:
+ lwarx 4,0,3
+ subi 4,4,1
+ stwcx. 4,0,3
+ bne- $-12
+ mr 3,4
+ blr
+LT..q_atomic_decrement:
+ .long 0
+ .byte 0,9,32,64,0,0,1,0
+ .long 0
+ .long LT..q_atomic_decrement-.q_atomic_decrement
+ .short 18
+ .byte "q_atomic_decrement"
+ .align 2
+
+ .align 2
+ .globl q_atomic_set_int
+ .globl .q_atomic_set_int
+q_atomic_set_int:
+.q_atomic_set_int:
+ lwarx 5,0,3
+ stwcx. 4,0,3
+ bne- $-8
+ mr 3,5
+ blr
+LT..q_atomic_set_int:
+ .long 0
+ .byte 0,9,32,64,0,0,2,0
+ .long 0
+ .long LT..q_atomic_set_int-.q_atomic_set_int
+ .short 16
+ .byte "q_atomic_set_int"
+ .align 2
+
+ .align 2
+ .globl q_atomic_fetch_and_store_acquire_int
+ .globl .q_atomic_fetch_and_store_acquire_int
+q_atomic_fetch_and_store_acquire_int:
+.q_atomic_fetch_and_store_acquire_int:
+ lwarx 5,0,3
+ stwcx. 4,0,3
+ bne- $-8
+ isync
+ mr 3,5
+ blr
+LT..q_atomic_fetch_and_store_acquire_int:
+ .long 0
+ .byte 0,9,32,64,0,0,2,0
+ .long 0
+ .long LT..q_atomic_fetch_and_store_acquire_int-.q_atomic_fetch_and_store_acquire_int
+ .short 16
+ .byte "q_atomic_fetch_and_store_acquire_int"
+ .align 2
+
+ .align 2
+ .globl q_atomic_fetch_and_store_release_int
+ .globl .q_atomic_fetch_and_store_release_int
+q_atomic_fetch_and_store_release_int:
+.q_atomic_fetch_and_store_release_int:
+ lwarx 5,0,3
+ stwcx. 4,0,3
+ bne- $-8
+ mr 3,5
+ blr
+LT..q_atomic_fetch_and_store_release_int:
+ .long 0
+ .byte 0,9,32,64,0,0,2,0
+ .long 0
+ .long LT..q_atomic_fetch_and_store_release_int-.q_atomic_fetch_and_store_release_int
+ .short 16
+ .byte "q_atomic_fetch_and_store_release_int"
+ .align 2
+
+ .align 2
+ .globl q_atomic_set_ptr
+ .globl .q_atomic_set_ptr
+q_atomic_set_ptr:
+.q_atomic_set_ptr:
+ lwarx 5,0,3
+ stwcx. 4,0,3
+ bne- $-8
+ mr 3,5
+ blr
+LT..q_atomic_set_ptr:
+ .long 0
+ .byte 0,9,32,64,0,0,2,0
+ .long 0
+ .long LT..q_atomic_set_ptr-.q_atomic_set_ptr
+ .short 16
+ .byte "q_atomic_set_ptr"
+ .align 2
+
+ .align 2
+ .globl q_atomic_fetch_and_store_acquire_ptr
+ .globl .q_atomic_fetch_and_store_acquire_ptr
+q_atomic_fetch_and_store_acquire_ptr:
+.q_atomic_fetch_and_store_acquire_ptr:
+ lwarx 5,0,3
+ stwcx. 4,0,3
+ bne- $-8
+ isync
+ mr 3,5
+ blr
+LT..q_atomic_fetch_and_store_acquire_ptr:
+ .long 0
+ .byte 0,9,32,64,0,0,2,0
+ .long 0
+ .long LT..q_atomic_fetch_and_store_acquire_ptr-.q_atomic_fetch_and_store_acquire_ptr
+ .short 16
+ .byte "q_atomic_fetch_and_store_acquire_ptr"
+ .align 2
+
+ .align 2
+ .globl q_atomic_fetch_and_store_release_ptr
+ .globl .q_atomic_fetch_and_store_release_ptr
+q_atomic_fetch_and_store_release_ptr:
+.q_atomic_fetch_and_store_release_ptr:
+ lwarx 5,0,3
+ stwcx. 4,0,3
+ bne- $-8
+ mr 3,5
+ blr
+LT..q_atomic_fetch_and_store_release_ptr:
+ .long 0
+ .byte 0,9,32,64,0,0,2,0
+ .long 0
+ .long LT..q_atomic_fetch_and_store_release_ptr-.q_atomic_fetch_and_store_release_ptr
+ .short 16
+ .byte "q_atomic_fetch_and_store_release_ptr"
+ .align 2
+
+ .align 2
+ .globl q_atomic_fetch_and_add_int
+ .globl .q_atomic_fetch_and_add_int
+q_atomic_fetch_and_add_int:
+.q_atomic_fetch_and_add_int:
+ lwarx 5,0,3
+ add 6,4,5
+ stwcx. 6,0,3
+ bne- $-12
+ mr 3,5
+ blr
+LT..q_atomic_fetch_and_add_int:
+ .long 0
+ .byte 0,9,32,64,0,0,1,0
+ .long 0
+ .long LT..q_atomic_fetch_and_add_int-.q_atomic_fetch_and_add_int
+ .short 18
+ .byte "q_atomic_fetch_and_add_int"
+ .align 2
+
+ .align 2
+ .globl q_atomic_fetch_and_add_acquire_int
+ .globl .q_atomic_fetch_and_add_acquire_int
+q_atomic_fetch_and_add_acquire_int:
+.q_atomic_fetch_and_add_acquire_int:
+ lwarx 5,0,3
+ add 6,4,5
+ stwcx. 6,0,3
+ bne- $-12
+ isync
+ mr 3,5
+ blr
+LT..q_atomic_fetch_and_add_acquire_int:
+ .long 0
+ .byte 0,9,32,64,0,0,1,0
+ .long 0
+ .long LT..q_atomic_fetch_and_add_acquire_int-.q_atomic_fetch_and_add_acquire_int
+ .short 18
+ .byte "q_atomic_fetch_and_add_acquire_int"
+ .align 2
+
+ .align 2
+ .globl q_atomic_fetch_and_add_release_int
+ .globl .q_atomic_fetch_and_add_release_int
+q_atomic_fetch_and_add_release_int:
+.q_atomic_fetch_and_add_release_int:
+ lwarx 5,0,3
+ add 6,4,5
+ stwcx. 6,0,3
+ bne- $-12
+ mr 3,5
+ blr
+LT..q_atomic_fetch_and_add_release_int:
+ .long 0
+ .byte 0,9,32,64,0,0,1,0
+ .long 0
+ .long LT..q_atomic_fetch_and_add_release_int-.q_atomic_fetch_and_add_release_int
+ .short 34
+ .byte "q_atomic_fetch_and_add_release_int"
+ .align 2
+
+ .align 2
+ .globl q_atomic_fetch_and_add_ptr
+ .globl .q_atomic_fetch_and_add_ptr
+q_atomic_fetch_and_add_ptr:
+.q_atomic_fetch_and_add_ptr:
+ lwarx 5,0,3
+ add 6,4,5
+ stwcx. 6,0,3
+ bne- $-12
+ mr 3,5
+ blr
+LT..q_atomic_fetch_and_add_ptr:
+ .long 0
+ .byte 0,9,32,64,0,0,1,0
+ .long 0
+ .long LT..q_atomic_fetch_and_add_ptr-.q_atomic_fetch_and_add_ptr
+ .short 26
+ .byte "q_atomic_fetch_and_add_ptr"
+ .align 2
+
+ .align 2
+ .globl q_atomic_fetch_and_add_acquire_ptr
+ .globl .q_atomic_fetch_and_add_acquire_ptr
+q_atomic_fetch_and_add_acquire_ptr:
+.q_atomic_fetch_and_add_acquire_ptr:
+ lwarx 5,0,3
+ add 6,4,5
+ stwcx. 6,0,3
+ bne- $-12
+ isync
+ mr 3,5
+ blr
+LT..q_atomic_fetch_and_add_acquire_ptr:
+ .long 0
+ .byte 0,9,32,64,0,0,1,0
+ .long 0
+ .long LT..q_atomic_fetch_and_add_acquire_ptr-.q_atomic_fetch_and_add_acquire_ptr
+ .short 34
+ .byte "q_atomic_fetch_and_add_acquire_ptr"
+ .align 2
+
+ .align 2
+ .globl q_atomic_fetch_and_add_release_ptr
+ .globl .q_atomic_fetch_and_add_release_ptr
+q_atomic_fetch_and_add_release_ptr:
+.q_atomic_fetch_and_add_release_ptr:
+ lwarx 5,0,3
+ add 6,4,5
+ stwcx. 6,0,3
+ bne- $-12
+ mr 3,5
+ blr
+LT..q_atomic_fetch_and_add_release_ptr:
+ .long 0
+ .byte 0,9,32,64,0,0,1,0
+ .long 0
+ .long LT..q_atomic_fetch_and_add_release_ptr-.q_atomic_fetch_and_add_release_ptr
+ .short 34
+ .byte "q_atomic_fetch_and_add_release_ptr"
+ .align 2
+
+_section_.text:
+ .long _section_.text
diff --git a/src/corelib/codecs/qiconvcodec.cpp b/src/corelib/codecs/qiconvcodec.cpp
index 1bf76ea..7f89a8f 100644
--- a/src/corelib/codecs/qiconvcodec.cpp
+++ b/src/corelib/codecs/qiconvcodec.cpp
@@ -52,7 +52,7 @@
// unistd.h is needed for the _XOPEN_UNIX macro
#include <unistd.h>
-#if defined(_XOPEN_UNIX) && !defined(Q_OS_QNX6) && !defined(Q_OS_OSF)
+#if defined(_XOPEN_UNIX) && !defined(Q_OS_QNX) && !defined(Q_OS_OSF)
# include <langinfo.h>
#endif
@@ -225,10 +225,11 @@ QString QIconvCodec::convertToUnicode(const char* chars, int len, ConverterState
char *inBytes = const_cast<char *>(chars);
#endif
+ QByteArray in;
if (remainingCount) {
// we have to prepend the remaining bytes from the previous conversion
inBytesLeft += remainingCount;
- QByteArray in(inBytesLeft, Qt::Uninitialized);
+ in.resize(inBytesLeft);
inBytes = in.data();
memcpy(in.data(), remainingBuffer, remainingCount);
@@ -362,9 +363,10 @@ QByteArray QIconvCodec::convertFromUnicode(const QChar *uc, int len, ConverterSt
inBytes = const_cast<char *>(reinterpret_cast<const char *>(uc));
inBytesLeft = len * sizeof(QChar);
+ QByteArray in;
if (convState && convState->remainingChars) {
// we have one surrogate char to be prepended
- QByteArray in(sizeof(QChar) + len, Qt::Uninitialized);
+ in.resize(sizeof(QChar) + len);
inBytes = in.data();
QChar remaining = convState->state_data[0];
@@ -453,7 +455,7 @@ iconv_t QIconvCodec::createIconv_t(const char *to, const char *from)
char *codeset = 0;
#endif
-#if defined(_XOPEN_UNIX) && !defined(Q_OS_QNX6) && !defined(Q_OS_OSF)
+#if defined(_XOPEN_UNIX) && !defined(Q_OS_QNX) && !defined(Q_OS_OSF)
if (cd == (iconv_t) -1) {
codeset = nl_langinfo(CODESET);
if (codeset)
diff --git a/src/corelib/codecs/qtextcodec.cpp b/src/corelib/codecs/qtextcodec.cpp
index bca36a6..9e3fdf2 100644
--- a/src/corelib/codecs/qtextcodec.cpp
+++ b/src/corelib/codecs/qtextcodec.cpp
@@ -84,7 +84,7 @@
#include <stdlib.h>
#include <ctype.h>
#include <locale.h>
-#if defined (_XOPEN_UNIX) && !defined(Q_OS_QNX6) && !defined(Q_OS_OSF)
+#if defined (_XOPEN_UNIX) && !defined(Q_OS_QNX) && !defined(Q_OS_OSF)
#include <langinfo.h>
#endif
@@ -104,6 +104,10 @@ Q_GLOBAL_STATIC_WITH_ARGS(QFactoryLoader, loader,
(QTextCodecFactoryInterface_iid, QLatin1String("/codecs")))
#endif
+static char qtolower(register char c)
+{ if (c >= 'A' && c <= 'Z') return c + 0x20; return c; }
+static bool qisalnum(register char c)
+{ return (c >= '0' && c <= '9') || ((c | 0x20) >= 'a' && (c | 0x20) <= 'z'); }
static bool nameMatch(const QByteArray &name, const QByteArray &test)
{
@@ -116,21 +120,21 @@ static bool nameMatch(const QByteArray &name, const QByteArray &test)
// if the letters and numbers are the same, we have a match
while (*n != '\0') {
- if (isalnum((uchar)*n)) {
+ if (qisalnum(*n)) {
for (;;) {
if (*h == '\0')
return false;
- if (isalnum((uchar)*h))
+ if (qisalnum(*h))
break;
++h;
}
- if (tolower((uchar)*n) != tolower((uchar)*h))
+ if (qtolower(*n) != qtolower(*h))
return false;
++h;
}
++n;
}
- while (*h && !isalnum((uchar)*h))
+ while (*h && !qisalnum(*h))
++h;
return (*h == '\0');
}
@@ -246,9 +250,9 @@ QString QWindowsLocalCodec::convertToUnicode(const char *chars, int length, Conv
return QString();
const int wclen_auto = 4096;
- WCHAR wc_auto[wclen_auto];
+ wchar_t wc_auto[wclen_auto];
int wclen = wclen_auto;
- WCHAR *wc = wc_auto;
+ wchar_t *wc = wc_auto;
int len;
QString sp;
bool prepend = false;
@@ -288,7 +292,7 @@ QString QWindowsLocalCodec::convertToUnicode(const char *chars, int length, Conv
} else {
wclen = MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED,
mb, mblen, 0, 0);
- wc = new WCHAR[wclen];
+ wc = new wchar_t[wclen];
// and try again...
}
} else if (r == ERROR_NO_UNICODE_TRANSLATION) {
@@ -354,7 +358,7 @@ QString QWindowsLocalCodec::convertToUnicodeCharByChar(const char *chars, int le
const char *next = 0;
QString s;
while((next = CharNextExA(CP_ACP, mb, 0)) != mb) {
- WCHAR wc[2] ={0};
+ wchar_t wc[2] ={0};
int charlength = next - mb;
int len = MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED|MB_ERR_INVALID_CHARS, mb, charlength, wc, 2);
if (len>0) {
@@ -541,7 +545,7 @@ static void setupLocaleMapper()
localeMapper = QTextCodec::codecForName("System");
#endif
-#if defined (_XOPEN_UNIX) && !defined(Q_OS_QNX6) && !defined(Q_OS_OSF)
+#if defined (_XOPEN_UNIX) && !defined(Q_OS_QNX) && !defined(Q_OS_OSF)
if (!localeMapper) {
char *charset = nl_langinfo (CODESET);
if (charset)
@@ -1059,16 +1063,10 @@ QList<int> QTextCodec::availableMibs()
This might be needed for some applications that want to use their
own mechanism for setting the locale.
- Setting this codec is not supported on DOS based Windows.
-
\sa codecForLocale()
*/
void QTextCodec::setCodecForLocale(QTextCodec *c)
{
-#ifdef Q_WS_WIN
- if (QSysInfo::WindowsVersion& QSysInfo::WV_DOS_based)
- return;
-#endif
localeMapper = c;
if (!localeMapper)
setupLocaleMapper();
@@ -1555,9 +1553,13 @@ QTextCodec *QTextCodec::codecForHtml(const QByteArray &ba, QTextCodec *defaultCo
}
/*!
- \overload
+ \overload
- If the codec cannot be detected, this overload returns a Latin-1 QTextCodec.
+ Tries to detect the encoding of the provided snippet of HTML in
+ the given byte array, \a ba, by checking the BOM (Byte Order Mark)
+ and the content-type meta header and returns a QTextCodec instance
+ that is capable of decoding the html to unicode. If the codec cannot
+ be detected, this overload returns a Latin-1 QTextCodec.
*/
QTextCodec *QTextCodec::codecForHtml(const QByteArray &ba)
{
@@ -1569,10 +1571,13 @@ QTextCodec *QTextCodec::codecForHtml(const QByteArray &ba)
Tries to detect the encoding of the provided snippet \a ba by
using the BOM (Byte Order Mark) and returns a QTextCodec instance
- that is capable of decoding the text to unicode. If the codec
+ that is capable of decoding the text to unicode. If the codec
cannot be detected from the content provided, \a defaultCodec is
returned.
+ The behavior of this function is undefined if \a ba is not
+ encoded in unicode.
+
\sa codecForHtml()
*/
QTextCodec *QTextCodec::codecForUtfText(const QByteArray &ba, QTextCodec *defaultCodec)
@@ -1610,9 +1615,17 @@ QTextCodec *QTextCodec::codecForUtfText(const QByteArray &ba, QTextCodec *defaul
}
/*!
- \overload
+ \overload
- If the codec cannot be detected, this overload returns a Latin-1 QTextCodec.
+ Tries to detect the encoding of the provided snippet \a ba by
+ using the BOM (Byte Order Mark) and returns a QTextCodec instance
+ that is capable of decoding the text to unicode. If the codec
+ cannot be detected, this overload returns a Latin-1 QTextCodec.
+
+ The behavior of this function is undefined if \a ba is not
+ encoded in unicode.
+
+ \sa codecForHtml()
*/
QTextCodec *QTextCodec::codecForUtfText(const QByteArray &ba)
{
diff --git a/src/corelib/codecs/qtextcodec_p.h b/src/corelib/codecs/qtextcodec_p.h
index 499c0f9..5c82735 100644
--- a/src/corelib/codecs/qtextcodec_p.h
+++ b/src/corelib/codecs/qtextcodec_p.h
@@ -77,6 +77,33 @@ struct QTextCodecUnalignedPointer
}
};
+#else
+
+class QTextCodec
+{
+public:
+ enum ConversionFlag {
+ DefaultConversion,
+ ConvertInvalidToNull = 0x80000000,
+ IgnoreHeader = 0x1,
+ FreeFunction = 0x2
+ };
+ Q_DECLARE_FLAGS(ConversionFlags, ConversionFlag)
+
+ struct ConverterState {
+ ConverterState(ConversionFlags f = DefaultConversion)
+ : flags(f), remainingChars(0), invalidChars(0), d(0) { state_data[0] = state_data[1] = state_data[2] = 0; }
+ ~ConverterState() { }
+ ConversionFlags flags;
+ int remainingChars;
+ int invalidChars;
+ uint state_data[3];
+ void *d;
+ private:
+ Q_DISABLE_COPY(ConverterState)
+ };
+};
+
#endif //QT_NO_TEXTCODEC
QT_END_NAMESPACE
diff --git a/src/corelib/codecs/qutfcodec.cpp b/src/corelib/codecs/qutfcodec.cpp
index abae6f7..abcc07c 100644
--- a/src/corelib/codecs/qutfcodec.cpp
+++ b/src/corelib/codecs/qutfcodec.cpp
@@ -44,23 +44,19 @@
#include "qendian.h"
#include "qchar.h"
-#ifndef QT_NO_TEXTCODEC
-
QT_BEGIN_NAMESPACE
-QUtf8Codec::~QUtf8Codec()
-{
-}
+enum { Endian = 0, Data = 1 };
-QByteArray QUtf8Codec::convertFromUnicode(const QChar *uc, int len, ConverterState *state) const
+QByteArray QUtf8::convertFromUnicode(const QChar *uc, int len, QTextCodec::ConverterState *state)
{
uchar replacement = '?';
int rlen = 3*len;
int surrogate_high = -1;
if (state) {
- if (state->flags & ConvertInvalidToNull)
+ if (state->flags & QTextCodec::ConvertInvalidToNull)
replacement = 0;
- if (!(state->flags & IgnoreHeader))
+ if (!(state->flags & QTextCodec::IgnoreHeader))
rlen += 3;
if (state->remainingChars)
surrogate_high = state->state_data[0];
@@ -71,7 +67,7 @@ QByteArray QUtf8Codec::convertFromUnicode(const QChar *uc, int len, ConverterSta
uchar* cursor = (uchar*)rstr.data();
const QChar *ch = uc;
int invalid = 0;
- if (state && !(state->flags & IgnoreHeader)) {
+ if (state && !(state->flags & QTextCodec::IgnoreHeader)) {
*cursor++ = 0xef;
*cursor++ = 0xbb;
*cursor++ = 0xbf;
@@ -133,7 +129,7 @@ QByteArray QUtf8Codec::convertFromUnicode(const QChar *uc, int len, ConverterSta
rstr.resize(cursor - (const uchar*)rstr.constData());
if (state) {
state->invalidChars += invalid;
- state->flags |= IgnoreHeader;
+ state->flags |= QTextCodec::IgnoreHeader;
state->remainingChars = 0;
if (surrogate_high >= 0) {
state->remainingChars = 1;
@@ -143,18 +139,18 @@ QByteArray QUtf8Codec::convertFromUnicode(const QChar *uc, int len, ConverterSta
return rstr;
}
-void QUtf8Codec::convertToUnicode(QString *target, const char *chars, int len, ConverterState *state) const
+QString QUtf8::convertToUnicode(const char *chars, int len, QTextCodec::ConverterState *state)
{
bool headerdone = false;
- QChar replacement = QChar::ReplacementCharacter;
+ ushort replacement = QChar::ReplacementCharacter;
int need = 0;
int error = -1;
uint uc = 0;
uint min_uc = 0;
if (state) {
- if (state->flags & IgnoreHeader)
+ if (state->flags & QTextCodec::IgnoreHeader)
headerdone = true;
- if (state->flags & ConvertInvalidToNull)
+ if (state->flags & QTextCodec::ConvertInvalidToNull)
replacement = QChar::Null;
need = state->remainingChars;
if (need) {
@@ -170,40 +166,28 @@ void QUtf8Codec::convertToUnicode(QString *target, const char *chars, int len, C
headerdone = true;
}
- int originalLength = target->length();
- QString &result = *target;
- result.resize(originalLength + len + 1); // worst case
- QChar *qch = result.data() + originalLength;
+ QString result(need + len + 1, Qt::Uninitialized); // worst case
+ ushort *qch = (ushort *)result.unicode();
uchar ch;
int invalid = 0;
- for (int i=0; i<len; i++) {
+ for (int i = 0; i < len; ++i) {
ch = chars[i];
if (need) {
if ((ch&0xc0) == 0x80) {
uc = (uc << 6) | (ch & 0x3f);
- need--;
+ --need;
if (!need) {
// utf-8 bom composes into 0xfeff code point
if (!headerdone && uc == 0xfeff) {
// dont do anything, just skip the BOM
} else if (uc > 0xffff && uc < 0x110000) {
// surrogate pair
- uc -= 0x10000;
- unsigned short high = uc/0x400 + 0xd800;
- unsigned short low = uc%0x400 + 0xdc00;
-
- // resize if necessary
- long where = qch - result.unicode();
- if (where + 2 >= result.length()) {
- result.resize(where + 2);
- qch = result.data() + where;
- }
-
- *qch++ = QChar(high);
- *qch++ = QChar(low);
+ Q_ASSERT((qch - (ushort*)result.unicode()) + 2 < result.length());
+ *qch++ = QChar::highSurrogate(uc);
+ *qch++ = QChar::lowSurrogate(uc);
} else if ((uc < min_uc) || (uc >= 0xd800 && uc <= 0xdfff) || (uc >= 0xfffe)) {
- // error
+ // error: overlong sequence, UTF16 surrogate or BOM
*qch++ = replacement;
++invalid;
} else {
@@ -221,7 +205,7 @@ void QUtf8Codec::convertToUnicode(QString *target, const char *chars, int len, C
}
} else {
if (ch < 128) {
- *qch++ = QLatin1Char(ch);
+ *qch++ = ushort(ch);
headerdone = true;
} else if ((ch & 0xe0) == 0xc0) {
uc = ch & 0x1f;
@@ -255,57 +239,35 @@ void QUtf8Codec::convertToUnicode(QString *target, const char *chars, int len, C
++invalid;
}
}
- result.truncate(qch - result.unicode());
+ result.truncate(qch - (ushort *)result.unicode());
if (state) {
state->invalidChars += invalid;
state->remainingChars = need;
if (headerdone)
- state->flags |= IgnoreHeader;
+ state->flags |= QTextCodec::IgnoreHeader;
state->state_data[0] = need ? uc : 0;
state->state_data[1] = need ? min_uc : 0;
}
-}
-
-QString QUtf8Codec::convertToUnicode(const char *chars, int len, ConverterState *state) const
-{
- QString result;
- convertToUnicode(&result, chars, len, state);
return result;
}
-QByteArray QUtf8Codec::name() const
-{
- return "UTF-8";
-}
-
-int QUtf8Codec::mibEnum() const
-{
- return 106;
-}
-
-enum { Endian = 0, Data = 1 };
-
-QUtf16Codec::~QUtf16Codec()
-{
-}
-
-QByteArray QUtf16Codec::convertFromUnicode(const QChar *uc, int len, ConverterState *state) const
+QByteArray QUtf16::convertFromUnicode(const QChar *uc, int len, QTextCodec::ConverterState *state, DataEndianness e)
{
- Endianness endian = e;
+ DataEndianness endian = e;
int length = 2*len;
- if (!state || (!(state->flags & IgnoreHeader))) {
+ if (!state || (!(state->flags & QTextCodec::IgnoreHeader))) {
length += 2;
}
- if (e == Detect) {
- endian = (QSysInfo::ByteOrder == QSysInfo::BigEndian) ? BE : LE;
+ if (e == DetectEndianness) {
+ endian = (QSysInfo::ByteOrder == QSysInfo::BigEndian) ? BigEndianness : LittleEndianness;
}
QByteArray d;
d.resize(length);
char *data = d.data();
- if (!state || !(state->flags & IgnoreHeader)) {
+ if (!state || !(state->flags & QTextCodec::IgnoreHeader)) {
QChar bom(QChar::ByteOrderMark);
- if (endian == BE) {
+ if (endian == BigEndianness) {
data[0] = bom.row();
data[1] = bom.cell();
} else {
@@ -314,7 +276,7 @@ QByteArray QUtf16Codec::convertFromUnicode(const QChar *uc, int len, ConverterSt
}
data += 2;
}
- if (endian == BE) {
+ if (endian == BigEndianness) {
for (int i = 0; i < len; ++i) {
*(data++) = uc[i].row();
*(data++) = uc[i].cell();
@@ -328,35 +290,35 @@ QByteArray QUtf16Codec::convertFromUnicode(const QChar *uc, int len, ConverterSt
if (state) {
state->remainingChars = 0;
- state->flags |= IgnoreHeader;
+ state->flags |= QTextCodec::IgnoreHeader;
}
return d;
}
-QString QUtf16Codec::convertToUnicode(const char *chars, int len, ConverterState *state) const
+QString QUtf16::convertToUnicode(const char *chars, int len, QTextCodec::ConverterState *state, DataEndianness e)
{
- Endianness endian = e;
+ DataEndianness endian = e;
bool half = false;
uchar buf = 0;
bool headerdone = false;
if (state) {
- headerdone = state->flags & IgnoreHeader;
- if (endian == Detect)
- endian = (Endianness)state->state_data[Endian];
+ headerdone = state->flags & QTextCodec::IgnoreHeader;
+ if (endian == DetectEndianness)
+ endian = (DataEndianness)state->state_data[Endian];
if (state->remainingChars) {
half = true;
buf = state->state_data[Data];
}
}
- if (headerdone && endian == Detect)
- endian = (QSysInfo::ByteOrder == QSysInfo::BigEndian) ? BE : LE;
+ if (headerdone && endian == DetectEndianness)
+ endian = (QSysInfo::ByteOrder == QSysInfo::BigEndian) ? BigEndianness : LittleEndianness;
QString result(len, Qt::Uninitialized); // worst case
QChar *qch = (QChar *)result.unicode();
while (len--) {
if (half) {
QChar ch;
- if (endian == LE) {
+ if (endian == LittleEndianness) {
ch.setRow(*chars++);
ch.setCell(buf);
} else {
@@ -364,17 +326,17 @@ QString QUtf16Codec::convertToUnicode(const char *chars, int len, ConverterState
ch.setCell(*chars++);
}
if (!headerdone) {
- if (endian == Detect) {
- if (ch == QChar::ByteOrderSwapped && endian != BE) {
- endian = LE;
- } else if (ch == QChar::ByteOrderMark && endian != LE) {
+ if (endian == DetectEndianness) {
+ if (ch == QChar::ByteOrderSwapped && endian != BigEndianness) {
+ endian = LittleEndianness;
+ } else if (ch == QChar::ByteOrderMark && endian != LittleEndianness) {
// ignore BOM
- endian = BE;
+ endian = BigEndianness;
} else {
if (QSysInfo::ByteOrder == QSysInfo::BigEndian) {
- endian = BE;
+ endian = BigEndianness;
} else {
- endian = LE;
+ endian = LittleEndianness;
ch = QChar((ch.unicode() >> 8) | ((ch.unicode() & 0xff) << 8));
}
*qch++ = ch;
@@ -396,7 +358,7 @@ QString QUtf16Codec::convertToUnicode(const char *chars, int len, ConverterState
if (state) {
if (headerdone)
- state->flags |= IgnoreHeader;
+ state->flags |= QTextCodec::IgnoreHeader;
state->state_data[Endian] = endian;
if (half) {
state->remainingChars = 1;
@@ -409,72 +371,21 @@ QString QUtf16Codec::convertToUnicode(const char *chars, int len, ConverterState
return result;
}
-int QUtf16Codec::mibEnum() const
-{
- return 1015;
-}
-
-QByteArray QUtf16Codec::name() const
-{
- return "UTF-16";
-}
-
-QList<QByteArray> QUtf16Codec::aliases() const
-{
- return QList<QByteArray>();
-}
-
-int QUtf16BECodec::mibEnum() const
-{
- return 1013;
-}
-
-QByteArray QUtf16BECodec::name() const
-{
- return "UTF-16BE";
-}
-
-QList<QByteArray> QUtf16BECodec::aliases() const
-{
- QList<QByteArray> list;
- return list;
-}
-
-int QUtf16LECodec::mibEnum() const
-{
- return 1014;
-}
-
-QByteArray QUtf16LECodec::name() const
-{
- return "UTF-16LE";
-}
-
-QList<QByteArray> QUtf16LECodec::aliases() const
-{
- QList<QByteArray> list;
- return list;
-}
-
-QUtf32Codec::~QUtf32Codec()
-{
-}
-
-QByteArray QUtf32Codec::convertFromUnicode(const QChar *uc, int len, ConverterState *state) const
+QByteArray QUtf32::convertFromUnicode(const QChar *uc, int len, QTextCodec::ConverterState *state, DataEndianness e)
{
- Endianness endian = e;
+ DataEndianness endian = e;
int length = 4*len;
- if (!state || (!(state->flags & IgnoreHeader))) {
+ if (!state || (!(state->flags & QTextCodec::IgnoreHeader))) {
length += 4;
}
- if (e == Detect) {
- endian = (QSysInfo::ByteOrder == QSysInfo::BigEndian) ? BE : LE;
+ if (e == DetectEndianness) {
+ endian = (QSysInfo::ByteOrder == QSysInfo::BigEndian) ? BigEndianness : LittleEndianness;
}
QByteArray d(length, Qt::Uninitialized);
char *data = d.data();
- if (!state || !(state->flags & IgnoreHeader)) {
- if (endian == BE) {
+ if (!state || !(state->flags & QTextCodec::IgnoreHeader)) {
+ if (endian == BigEndianness) {
data[0] = 0;
data[1] = 0;
data[2] = (char)0xfe;
@@ -487,7 +398,7 @@ QByteArray QUtf32Codec::convertFromUnicode(const QChar *uc, int len, ConverterSt
}
data += 4;
}
- if (endian == BE) {
+ if (endian == BigEndianness) {
for (int i = 0; i < len; ++i) {
uint cp = uc[i].unicode();
if (uc[i].isHighSurrogate() && i < len - 1)
@@ -511,59 +422,59 @@ QByteArray QUtf32Codec::convertFromUnicode(const QChar *uc, int len, ConverterSt
if (state) {
state->remainingChars = 0;
- state->flags |= IgnoreHeader;
+ state->flags |= QTextCodec::IgnoreHeader;
}
return d;
}
-QString QUtf32Codec::convertToUnicode(const char *chars, int len, ConverterState *state) const
+QString QUtf32::convertToUnicode(const char *chars, int len, QTextCodec::ConverterState *state, DataEndianness e)
{
- Endianness endian = e;
+ DataEndianness endian = e;
uchar tuple[4];
int num = 0;
bool headerdone = false;
if (state) {
- headerdone = state->flags & IgnoreHeader;
- if (endian == Detect) {
- endian = (Endianness)state->state_data[Endian];
+ headerdone = state->flags & QTextCodec::IgnoreHeader;
+ if (endian == DetectEndianness) {
+ endian = (DataEndianness)state->state_data[Endian];
}
num = state->remainingChars;
memcpy(tuple, &state->state_data[Data], 4);
}
- if (headerdone && endian == Detect)
- endian = (QSysInfo::ByteOrder == QSysInfo::BigEndian) ? BE : LE;
+ if (headerdone && endian == DetectEndianness)
+ endian = (QSysInfo::ByteOrder == QSysInfo::BigEndian) ? BigEndianness : LittleEndianness;
QString result;
result.resize((num + len) >> 2 << 1); // worst case
QChar *qch = (QChar *)result.unicode();
-
+
const char *end = chars + len;
while (chars < end) {
tuple[num++] = *chars++;
if (num == 4) {
if (!headerdone) {
- if (endian == Detect) {
- if (endian == Detect) {
- if (tuple[0] == 0xff && tuple[1] == 0xfe && tuple[2] == 0 && tuple[3] == 0 && endian != BE) {
- endian = LE;
+ if (endian == DetectEndianness) {
+ if (endian == DetectEndianness) {
+ if (tuple[0] == 0xff && tuple[1] == 0xfe && tuple[2] == 0 && tuple[3] == 0 && endian != BigEndianness) {
+ endian = LittleEndianness;
num = 0;
continue;
- } else if (tuple[0] == 0 && tuple[1] == 0 && tuple[2] == 0xfe && tuple[3] == 0xff && endian != LE) {
- endian = BE;
+ } else if (tuple[0] == 0 && tuple[1] == 0 && tuple[2] == 0xfe && tuple[3] == 0xff && endian != LittleEndianness) {
+ endian = BigEndianness;
num = 0;
continue;
} else if (QSysInfo::ByteOrder == QSysInfo::BigEndian) {
- endian = BE;
+ endian = BigEndianness;
} else {
- endian = LE;
+ endian = LittleEndianness;
}
}
- } else if (((endian == BE) ? qFromBigEndian<quint32>(tuple) : qFromLittleEndian<quint32>(tuple)) == QChar::ByteOrderMark) {
+ } else if (((endian == BigEndianness) ? qFromBigEndian<quint32>(tuple) : qFromLittleEndian<quint32>(tuple)) == QChar::ByteOrderMark) {
num = 0;
continue;
}
}
- uint code = (endian == BE) ? qFromBigEndian<quint32>(tuple) : qFromLittleEndian<quint32>(tuple);
+ uint code = (endian == BigEndianness) ? qFromBigEndian<quint32>(tuple) : qFromLittleEndian<quint32>(tuple);
if (code >= 0x10000) {
*qch++ = QChar::highSurrogate(code);
*qch++ = QChar::lowSurrogate(code);
@@ -574,10 +485,10 @@ QString QUtf32Codec::convertToUnicode(const char *chars, int len, ConverterState
}
}
result.truncate(qch - result.unicode());
-
+
if (state) {
if (headerdone)
- state->flags |= IgnoreHeader;
+ state->flags |= QTextCodec::IgnoreHeader;
state->state_data[Endian] = endian;
state->remainingChars = num;
memcpy(&state->state_data[Data], tuple, 4);
@@ -585,6 +496,113 @@ QString QUtf32Codec::convertToUnicode(const char *chars, int len, ConverterState
return result;
}
+
+#ifndef QT_NO_TEXTCODEC
+
+QUtf8Codec::~QUtf8Codec()
+{
+}
+
+QByteArray QUtf8Codec::convertFromUnicode(const QChar *uc, int len, ConverterState *state) const
+{
+ return QUtf8::convertFromUnicode(uc, len, state);
+}
+
+void QUtf8Codec::convertToUnicode(QString *target, const char *chars, int len, ConverterState *state) const
+{
+ *target += QUtf8::convertToUnicode(chars, len, state);
+}
+
+QString QUtf8Codec::convertToUnicode(const char *chars, int len, ConverterState *state) const
+{
+ return QUtf8::convertToUnicode(chars, len, state);
+}
+
+QByteArray QUtf8Codec::name() const
+{
+ return "UTF-8";
+}
+
+int QUtf8Codec::mibEnum() const
+{
+ return 106;
+}
+
+QUtf16Codec::~QUtf16Codec()
+{
+}
+
+QByteArray QUtf16Codec::convertFromUnicode(const QChar *uc, int len, ConverterState *state) const
+{
+ return QUtf16::convertFromUnicode(uc, len, state, e);
+}
+
+QString QUtf16Codec::convertToUnicode(const char *chars, int len, ConverterState *state) const
+{
+ return QUtf16::convertToUnicode(chars, len, state, e);
+}
+
+int QUtf16Codec::mibEnum() const
+{
+ return 1015;
+}
+
+QByteArray QUtf16Codec::name() const
+{
+ return "UTF-16";
+}
+
+QList<QByteArray> QUtf16Codec::aliases() const
+{
+ return QList<QByteArray>();
+}
+
+int QUtf16BECodec::mibEnum() const
+{
+ return 1013;
+}
+
+QByteArray QUtf16BECodec::name() const
+{
+ return "UTF-16BE";
+}
+
+QList<QByteArray> QUtf16BECodec::aliases() const
+{
+ QList<QByteArray> list;
+ return list;
+}
+
+int QUtf16LECodec::mibEnum() const
+{
+ return 1014;
+}
+
+QByteArray QUtf16LECodec::name() const
+{
+ return "UTF-16LE";
+}
+
+QList<QByteArray> QUtf16LECodec::aliases() const
+{
+ QList<QByteArray> list;
+ return list;
+}
+
+QUtf32Codec::~QUtf32Codec()
+{
+}
+
+QByteArray QUtf32Codec::convertFromUnicode(const QChar *uc, int len, ConverterState *state) const
+{
+ return QUtf32::convertFromUnicode(uc, len, state, e);
+}
+
+QString QUtf32Codec::convertToUnicode(const char *chars, int len, ConverterState *state) const
+{
+ return QUtf32::convertToUnicode(chars, len, state, e);
+}
+
int QUtf32Codec::mibEnum() const
{
return 1017;
@@ -633,7 +651,6 @@ QList<QByteArray> QUtf32LECodec::aliases() const
return list;
}
+#endif //QT_NO_TEXTCODEC
QT_END_NAMESPACE
-
-#endif //QT_NO_TEXTCODEC
diff --git a/src/corelib/codecs/qutfcodec_p.h b/src/corelib/codecs/qutfcodec_p.h
index 749f5be..4f8f92e 100644
--- a/src/corelib/codecs/qutfcodec_p.h
+++ b/src/corelib/codecs/qutfcodec_p.h
@@ -54,9 +54,35 @@
//
#include "QtCore/qtextcodec.h"
+#include "private/qtextcodec_p.h"
QT_BEGIN_NAMESPACE
+enum DataEndianness
+{
+ DetectEndianness,
+ BigEndianness,
+ LittleEndianness
+};
+
+struct QUtf8
+{
+ static QString convertToUnicode(const char *, int, QTextCodec::ConverterState *);
+ static QByteArray convertFromUnicode(const QChar *, int, QTextCodec::ConverterState *);
+};
+
+struct QUtf16
+{
+ static QString convertToUnicode(const char *, int, QTextCodec::ConverterState *, DataEndianness = DetectEndianness);
+ static QByteArray convertFromUnicode(const QChar *, int, QTextCodec::ConverterState *, DataEndianness = DetectEndianness);
+};
+
+struct QUtf32
+{
+ static QString convertToUnicode(const char *, int, QTextCodec::ConverterState *, DataEndianness = DetectEndianness);
+ static QByteArray convertFromUnicode(const QChar *, int, QTextCodec::ConverterState *, DataEndianness = DetectEndianness);
+};
+
#ifndef QT_NO_TEXTCODEC
class QUtf8Codec : public QTextCodec {
@@ -73,13 +99,8 @@ public:
class QUtf16Codec : public QTextCodec {
protected:
- enum Endianness {
- Detect,
- BE,
- LE
- };
public:
- QUtf16Codec() { e = Detect; }
+ QUtf16Codec() { e = DetectEndianness; }
~QUtf16Codec();
QByteArray name() const;
@@ -90,12 +111,12 @@ public:
QByteArray convertFromUnicode(const QChar *, int, ConverterState *) const;
protected:
- Endianness e;
+ DataEndianness e;
};
class QUtf16BECodec : public QUtf16Codec {
public:
- QUtf16BECodec() : QUtf16Codec() { e = BE; }
+ QUtf16BECodec() : QUtf16Codec() { e = BigEndianness; }
QByteArray name() const;
QList<QByteArray> aliases() const;
int mibEnum() const;
@@ -103,21 +124,15 @@ public:
class QUtf16LECodec : public QUtf16Codec {
public:
- QUtf16LECodec() : QUtf16Codec() { e = LE; }
+ QUtf16LECodec() : QUtf16Codec() { e = LittleEndianness; }
QByteArray name() const;
QList<QByteArray> aliases() const;
int mibEnum() const;
};
class QUtf32Codec : public QTextCodec {
-protected:
- enum Endianness {
- Detect,
- BE,
- LE
- };
public:
- QUtf32Codec() { e = Detect; }
+ QUtf32Codec() { e = DetectEndianness; }
~QUtf32Codec();
QByteArray name() const;
@@ -128,12 +143,12 @@ public:
QByteArray convertFromUnicode(const QChar *, int, ConverterState *) const;
protected:
- Endianness e;
+ DataEndianness e;
};
class QUtf32BECodec : public QUtf32Codec {
public:
- QUtf32BECodec() : QUtf32Codec() { e = BE; }
+ QUtf32BECodec() : QUtf32Codec() { e = BigEndianness; }
QByteArray name() const;
QList<QByteArray> aliases() const;
int mibEnum() const;
@@ -141,7 +156,7 @@ public:
class QUtf32LECodec : public QUtf32Codec {
public:
- QUtf32LECodec() : QUtf32Codec() { e = LE; }
+ QUtf32LECodec() : QUtf32Codec() { e = LittleEndianness; }
QByteArray name() const;
QList<QByteArray> aliases() const;
int mibEnum() const;
diff --git a/src/corelib/concurrent/qfuture.h b/src/corelib/concurrent/qfuture.h
index 47015ee..f2db5ac 100644
--- a/src/corelib/concurrent/qfuture.h
+++ b/src/corelib/concurrent/qfuture.h
@@ -210,7 +210,7 @@ public:
bool operator==(const QFuture &other) const { return (d == other.d); }
bool operator!=(const QFuture &other) const { return (d != other.d); }
-#ifndef QT_NO_MEMBER_TEMPLATES
+#if !defined(QT_NO_MEMBER_TEMPLATES) && !defined(Q_CC_XLC)
template <typename T>
QFuture(const QFuture<T> &other)
: d(other.d)
diff --git a/src/corelib/concurrent/qfuturewatcher.h b/src/corelib/concurrent/qfuturewatcher.h
index 948ecca..04d5680 100644
--- a/src/corelib/concurrent/qfuturewatcher.h
+++ b/src/corelib/concurrent/qfuturewatcher.h
@@ -59,7 +59,7 @@ class QFutureWatcherBasePrivate;
class Q_CORE_EXPORT QFutureWatcherBase : public QObject
{
Q_OBJECT
- Q_DECLARE_SCOPED_PRIVATE(QFutureWatcherBase)
+ Q_DECLARE_PRIVATE(QFutureWatcherBase)
public:
QFutureWatcherBase(QObject *parent = 0);
diff --git a/src/corelib/concurrent/qtconcurrentiteratekernel.cpp b/src/corelib/concurrent/qtconcurrentiteratekernel.cpp
index ffbb479..8b042d9 100644
--- a/src/corelib/concurrent/qtconcurrentiteratekernel.cpp
+++ b/src/corelib/concurrent/qtconcurrentiteratekernel.cpp
@@ -42,22 +42,18 @@
#include "qtconcurrentiteratekernel.h"
#if defined(Q_OS_MAC)
-
#include <mach/mach.h>
#include <mach/mach_time.h>
#include <unistd.h>
-
#elif defined(Q_OS_UNIX)
-
#include <time.h>
#include <unistd.h>
-
#elif defined(Q_OS_WIN)
-
-#include <windows.h>
-
+#include <qt_windows.h>
#endif
+#include "private/qfunctions_p.h"
+
#ifndef QT_NO_CONCURRENT
diff --git a/src/corelib/concurrent/qtconcurrentmap.cpp b/src/corelib/concurrent/qtconcurrentmap.cpp
index b8c753a..797f335 100644
--- a/src/corelib/concurrent/qtconcurrentmap.cpp
+++ b/src/corelib/concurrent/qtconcurrentmap.cpp
@@ -41,13 +41,14 @@
/*!
\namespace QtConcurrent
+ \inmodule QtCore
\since 4.4
\brief The QtConcurrent namespace provides high-level APIs that make it
possible to write multi-threaded programs without using low-level
threading primitives.
See the \l {threads.html#qtconcurrent-intro}{Qt Concurrent} section in the \l{threads.html}{threading} documentation.
-
+ \inheaderfile QtCore
\ingroup thread
*/
diff --git a/src/corelib/concurrent/qtconcurrentthreadengine.h b/src/corelib/concurrent/qtconcurrentthreadengine.h
index 1f359fc..2f610de 100644
--- a/src/corelib/concurrent/qtconcurrentthreadengine.h
+++ b/src/corelib/concurrent/qtconcurrentthreadengine.h
@@ -238,9 +238,11 @@ protected:
template <typename T>
class ThreadEngineStarter : public ThreadEngineStarterBase<T>
{
+ typedef ThreadEngineStarterBase<T> Base;
+ typedef ThreadEngine<T> TypedThreadEngine;
public:
- ThreadEngineStarter(ThreadEngine<T> *threadEngine)
- :ThreadEngineStarterBase<T>(threadEngine) {}
+ ThreadEngineStarter(TypedThreadEngine *eng)
+ : Base(eng) { }
T startBlocking()
{
diff --git a/src/corelib/concurrent/qthreadpool.h b/src/corelib/concurrent/qthreadpool.h
index dddf962..0ddefd1 100644
--- a/src/corelib/concurrent/qthreadpool.h
+++ b/src/corelib/concurrent/qthreadpool.h
@@ -58,7 +58,7 @@ class QThreadPoolPrivate;
class Q_CORE_EXPORT QThreadPool : public QObject
{
Q_OBJECT
- Q_DECLARE_SCOPED_PRIVATE(QThreadPool)
+ Q_DECLARE_PRIVATE(QThreadPool)
Q_PROPERTY(int expiryTimeout READ expiryTimeout WRITE setExpiryTimeout)
Q_PROPERTY(int maxThreadCount READ maxThreadCount WRITE setMaxThreadCount)
Q_PROPERTY(int activeThreadCount READ activeThreadCount)
diff --git a/src/corelib/global/qglobal.cpp b/src/corelib/global/qglobal.cpp
index 21cbd12..a6901d9 100644
--- a/src/corelib/global/qglobal.cpp
+++ b/src/corelib/global/qglobal.cpp
@@ -64,6 +64,10 @@
# endif
#endif
+#if defined(Q_OS_VXWORKS)
+# include <envLib.h>
+#endif
+
#if defined(Q_CC_MWERKS) && defined(Q_OS_MACX)
#include <CoreServices/CoreServices.h>
#endif
@@ -922,7 +926,7 @@ QT_BEGIN_NAMESPACE
\fn bool qt_winUnicode()
\relates <QtGlobal>
- Use QSysInfo::WindowsVersion and QSysInfo::WV_DOS_based instead.
+ This function always returns true.
\sa QSysInfo
*/
@@ -1100,7 +1104,7 @@ bool qSharedBuild()
\value WV_XP Windows XP (operating system version 5.1)
\value WV_2003 Windows Server 2003, Windows Server 2003 R2, Windows Home Server, Windows XP Professional x64 Edition (operating system version 5.2)
\value WV_VISTA Windows Vista, Windows Server 2008 (operating system version 6.0)
- \value WV_WINDOWS7 Windows 7 (operating system version 6.1)
+ \value WV_WINDOWS7 Windows 7, Windows Server 2008 R2 (operating system version 6.1)
Alternatively, you may use the following macros which correspond directly to the Windows operating system version number:
@@ -1109,7 +1113,7 @@ bool qSharedBuild()
\value WV_5_1 Operating system version 5.1, corresponds to Windows XP
\value WV_5_2 Operating system version 5.2, corresponds to Windows Server 2003, Windows Server 2003 R2, Windows Home Server, and Windows XP Professional x64 Edition
\value WV_6_0 Operating system version 6.0, corresponds to Windows Vista and Windows Server 2008
- \value WV_6_1 Operating system version 6.1, corresponds to Windows 7
+ \value WV_6_1 Operating system version 6.1, corresponds to Windows 7 and Windows Server 2008 R2
CE-based versions:
@@ -1397,14 +1401,7 @@ bool qSharedBuild()
\macro Q_OS_QNX
\relates <QtGlobal>
- Defined on QNX.
-*/
-
-/*!
- \macro Q_OS_QNX6
- \relates <QtGlobal>
-
- Defined on QNX RTP 6.1.
+ Defined on QNX Neutrino.
*/
/*!
@@ -1673,15 +1670,11 @@ QSysInfo::WinVersion QSysInfo::windowsVersion()
if (winver)
return winver;
winver = QSysInfo::WV_NT;
-#ifndef Q_OS_WINCE
- OSVERSIONINFOA osver;
- osver.dwOSVersionInfoSize = sizeof(osver);
- GetVersionExA(&osver);
-#else
- DWORD qt_cever = 0;
OSVERSIONINFOW osver;
osver.dwOSVersionInfoSize = sizeof(osver);
GetVersionEx(&osver);
+#ifdef Q_OS_WINCE
+ DWORD qt_cever = 0;
qt_cever = osver.dwMajorVersion * 100;
qt_cever += osver.dwMinorVersion * 10;
#endif
@@ -1725,7 +1718,7 @@ QSysInfo::WinVersion QSysInfo::windowsVersion()
winver = QSysInfo::WV_WINDOWS7;
} else {
qWarning("Qt: Untested Windows version %d.%d detected!",
- osver.dwMajorVersion, osver.dwMinorVersion);
+ int(osver.dwMajorVersion), int(osver.dwMinorVersion));
winver = QSysInfo::WV_NT_based;
}
}
@@ -2058,34 +2051,21 @@ QString qt_error_string(int errorCode)
break;
default: {
#ifdef Q_OS_WIN
- QT_WA({
- unsigned short *string = 0;
- FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER|FORMAT_MESSAGE_FROM_SYSTEM,
- NULL,
- errorCode,
- MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
- (LPTSTR)&string,
- 0,
- NULL);
- ret = QString::fromUtf16(string);
- LocalFree((HLOCAL)string);
- }, {
- char *string = 0;
- FormatMessageA(FORMAT_MESSAGE_ALLOCATE_BUFFER|FORMAT_MESSAGE_FROM_SYSTEM,
- NULL,
- errorCode,
- MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
- (LPSTR)&string,
- 0,
- NULL);
- ret = QString::fromLocal8Bit(string);
- LocalFree((HLOCAL)string);
- });
+ wchar_t *string = 0;
+ FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER|FORMAT_MESSAGE_FROM_SYSTEM,
+ NULL,
+ errorCode,
+ MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
+ string,
+ 0,
+ NULL);
+ ret = QString::fromWCharArray(string);
+ LocalFree((HLOCAL)string);
if (ret.isEmpty() && errorCode == ERROR_MOD_NOT_FOUND)
ret = QString::fromLatin1("The specified module could not be found.");
-#elif !defined(QT_NO_THREAD) && defined(_POSIX_THREAD_SAFE_FUNCTIONS) && _POSIX_VERSION >= 200112L && !defined(Q_OS_INTEGRITY)
+#elif !defined(QT_NO_THREAD) && defined(_POSIX_THREAD_SAFE_FUNCTIONS) && _POSIX_VERSION >= 200112L && !defined(Q_OS_INTEGRITY) && !defined(Q_OS_QNX)
QByteArray buf(1024, '\0');
strerror_r(errorCode, buf.data(), buf.size());
@@ -2685,6 +2665,62 @@ int qrand()
*/
/*!
+ \fn QString qtTrId(const char *id, int n = -1)
+ \relates <QtGlobal>
+ \reentrant
+ \since 4.6
+
+ Returns a translated string identified by \a id.
+ If no matching string is found, the id itself is returned. This
+ should not happen under normal conditions.
+
+ If \a n >= 0, all occurrences of \c %n in the resulting string
+ are replaced with a decimal representation of \a n. In addition,
+ depending on \a n's value, the translation text may vary.
+
+ Meta data and comments can be passed as documented for QObject::tr().
+ In addition, it is possible to supply a source string template like that:
+
+ \tt{//% <C string>}
+
+ or
+
+ \tt{\begincomment% <C string> \endcomment}
+
+ Example:
+
+ \snippet doc/src/snippets/code/src_corelib_global_qglobal.cpp qttrid
+
+ Creating QM files suitable for use with this function requires passing
+ the \c -idbased option to the \c lrelease tool.
+
+ \warning This method is reentrant only if all translators are
+ installed \e before calling this method. Installing or removing
+ translators while performing translations is not supported. Doing
+ so will probably result in crashes or other undesirable behavior.
+
+ \sa QObject::tr(), QCoreApplication::translate(), {Internationalization with Qt}
+*/
+
+/*!
+ \macro QT_TRID_NOOP(id)
+ \relates <QtGlobal>
+ \since 4.6
+
+ Marks \a id for dynamic translation.
+ The only purpose of this macro is to provide an anchor for attaching
+ meta data like to qtTrId().
+
+ The macro expands to \a id.
+
+ Example:
+
+ \snippet doc/src/snippets/code/src_corelib_global_qglobal.cpp qttrid_noop
+
+ \sa qtTrId(), {Internationalization with Qt}
+*/
+
+/*!
\macro QT_POINTER_SIZE
\relates <QtGlobal>
diff --git a/src/corelib/global/qglobal.h b/src/corelib/global/qglobal.h
index 3493f13..19a24af 100644
--- a/src/corelib/global/qglobal.h
+++ b/src/corelib/global/qglobal.h
@@ -148,7 +148,7 @@ namespace QT_NAMESPACE {}
MSDOS - MS-DOS and Windows
OS2 - OS/2
OS2EMX - XFree86 on OS/2 (not PM)
- WIN32 - Win32 (Windows 95/98/ME and Windows NT/2000/XP)
+ WIN32 - Win32 (Windows 2000/XP/Vista/7 and Windows Server 2003/2008)
WINCE - WinCE (Windows CE 5.0)
CYGWIN - Cygwin
SOLARIS - Sun Solaris
@@ -244,8 +244,6 @@ namespace QT_NAMESPACE {}
#elif defined(__DGUX__)
# define Q_OS_DGUX
#elif defined(__QNXNTO__)
-# define Q_OS_QNX6
-#elif defined(__QNX__)
# define Q_OS_QNX
#elif defined(_SEQUENT_)
# define Q_OS_DYNIX
@@ -257,6 +255,8 @@ namespace QT_NAMESPACE {}
# define Q_OS_UNIXWARE
#elif defined(__INTEGRITY)
# define Q_OS_INTEGRITY
+#elif defined(VXWORKS) /* there is no "real" VxWorks define - this has to be set in the mkspec! */
+# define Q_OS_VXWORKS
#elif defined(__MAKEDEPEND__)
#else
# error "Qt has not been ported to this OS - talk to qt-bugs@trolltech.com"
@@ -285,7 +285,7 @@ namespace QT_NAMESPACE {}
# endif
#endif
-#if defined(Q_OS_MAC64) && !defined(QT_MAC_USE_COCOA)
+#if defined(Q_OS_MAC64) && !defined(QT_MAC_USE_COCOA) && !defined(QT_BUILD_QMAKE)
#error "You are building a 64-bit application, but using a 32-bit version of Qt. Check your build configuration."
#endif
@@ -317,18 +317,11 @@ namespace QT_NAMESPACE {}
# if !defined(MAC_OS_X_VERSION_10_6)
# define MAC_OS_X_VERSION_10_6 MAC_OS_X_VERSION_10_5 + 1
# endif
-# if (MAC_OS_X_VERSION_MAX_ALLOWED == MAC_OS_X_VERSION_10_6)
-# warning "Support for this version of Mac OS X is still preliminary"
-# endif
# if (MAC_OS_X_VERSION_MAX_ALLOWED > MAC_OS_X_VERSION_10_6)
-# error "This version of Mac OS X is unsupported"
+# warning "This version of Mac OS X is unsupported"
# endif
#endif
-#ifdef QT_MAC_USE_COCOA
-#define QT_MAC_NO_QUICKDRAW 1
-#endif
-
#ifdef __LSB_VERSION__
# if __LSB_VERSION__ < 40
# error "This version of the Linux Standard Base is unsupported"
@@ -440,25 +433,6 @@ namespace QT_NAMESPACE {}
#elif defined(__WATCOMC__)
# define Q_CC_WAT
-# if defined(Q_OS_QNX4)
-/* compiler flags */
-# define Q_TYPENAME
-# define Q_NO_BOOL_TYPE
-# define Q_CANNOT_DELETE_CONSTANT
-# define mutable
-/* ??? */
-# define Q_BROKEN_TEMPLATE_SPECIALIZATION
-/* no template classes in QVariant */
-# define QT_NO_TEMPLATE_VARIANT
-/* Wcc does not fill in functions needed by valuelists, maps, and
- valuestacks implicitly */
-# define Q_FULL_TEMPLATE_INSTANTIATION
-/* can we just compare the structures? */
-# define Q_FULL_TEMPLATE_INSTANTIATION_MEMCMP
-/* these are not useful to our customers */
-# define QT_NO_QWS_MULTIPROCESS
-# define QT_NO_QWS_CURSOR
-# endif
/* Symbian GCCE */
#elif defined(__GCCE__)
@@ -634,6 +608,13 @@ namespace QT_NAMESPACE {}
# elif defined(__ghs)
# define Q_CC_GHS
+# elif defined(__DCC__)
+# define Q_CC_DIAB
+# undef Q_NO_BOOL_TYPE
+# if !defined(__bool)
+# define Q_NO_BOOL_TYPE
+# endif
+
/* The UnixWare 7 UDK compiler is based on EDG and does define __EDG__ */
# elif defined(__USLC__) && defined(__SCO_VERSION__)
# define Q_CC_USLC
@@ -665,6 +646,11 @@ namespace QT_NAMESPACE {}
# endif
# endif
+/* VxWorks' DIAB toolchain has an additional EDG type C++ compiler
+ (see __DCC__ above). This one is for C mode files (__EDG is not defined) */
+#elif defined(_DIAB_TOOL)
+# define Q_CC_DIAB
+
/* Never tested! */
#elif defined(__HIGHC__)
# define Q_CC_HIGHC
@@ -676,15 +662,17 @@ namespace QT_NAMESPACE {}
in which case _BOOL is not defined
this is the default in 4.2 compatibility mode triggered by -compat=4 */
# if __SUNPRO_CC >= 0x500
-# if __SUNPRO_CC < 0x570
-# define QT_NO_TEMPLATE_TEMPLATE_PARAMETERS
-# endif
+# define QT_NO_TEMPLATE_TEMPLATE_PARAMETERS
/* see http://developers.sun.com/sunstudio/support/Ccompare.html */
# if __SUNPRO_CC >= 0x590
# define Q_ALIGNOF(type) __alignof__(type)
# define Q_TYPEOF(expr) __typeof__(expr)
# define Q_DECL_ALIGN(n) __attribute__((__aligned__(n)))
-# define Q_DECL_EXPORT __attribute__((__visibility__("default")))
+// using CC 5.9: Warning: attribute visibility is unsupported and will be skipped..
+//# define Q_DECL_EXPORT __attribute__((__visibility__("default")))
+# endif
+# if __SUNPRO_CC < 0x5a0
+# define Q_NO_TEMPLATE_FRIENDS
# endif
# if !defined(_BOOL)
# define Q_NO_BOOL_TYPE
@@ -724,7 +712,7 @@ namespace QT_NAMESPACE {}
# define Q_DECL_ALIGNED(n) __attribute__((aligned(n)))
# endif
# if __HP_aCC-0 >= 062000
-# define Q_DECL_EXPORT __attribute__((visibility("default"))
+# define Q_DECL_EXPORT __attribute__((visibility("default")))
# define Q_DECL_IMPORT Q_DECL_EXPORT
# endif
# else
@@ -1152,6 +1140,15 @@ class QDataStream;
# define QT_NO_COP
#endif
+#if defined(Q_OS_VXWORKS)
+# define QT_NO_CRASHHANDLER // no popen
+# define QT_NO_PROCESS // no exec*, no fork
+# define QT_NO_LPR
+# define QT_NO_SHAREDMEMORY // only POSIX, no SysV and in the end...
+# define QT_NO_SYSTEMSEMAPHORE // not needed at all in a flat address space
+# define QT_NO_QWS_MULTIPROCESS // no processes
+#endif
+
# include <QtCore/qfeatures.h>
#define QT_SUPPORTS(FEATURE) (!defined(QT_NO_##FEATURE))
@@ -1159,7 +1156,7 @@ class QDataStream;
#ifndef Q_DECL_EXPORT
# ifdef Q_OS_WIN
# define Q_DECL_EXPORT __declspec(dllexport)
-# elif defined(Q_CC_NOKIAX86)
+# elif defined(Q_CC_NOKIAX86) || defined(Q_CC_RVCT)
# define Q_DECL_EXPORT __declspec(dllexport)
# elif defined(QT_VISIBILITY_AVAILABLE)
# define Q_DECL_EXPORT __attribute__((visibility("default")))
@@ -1171,7 +1168,7 @@ class QDataStream;
#ifndef Q_DECL_IMPORT
# if defined(Q_OS_WIN)
# define Q_DECL_IMPORT __declspec(dllimport)
-# elif defined(Q_CC_NOKIAX86)
+# elif defined(Q_CC_NOKIAX86) || defined(Q_CC_RVCT)
# define Q_DECL_IMPORT __declspec(dllimport)
# else
# define Q_DECL_IMPORT
@@ -1220,6 +1217,11 @@ class QDataStream;
# else
# define Q_OPENGL_EXPORT Q_DECL_IMPORT
# endif
+# if defined(QT_BUILD_MULTIMEDIA_LIB)
+# define Q_MULTIMEDIA_EXPORT Q_DECL_EXPORT
+# else
+# define Q_MULTIMEDIA_EXPORT Q_DECL_IMPORT
+# endif
# if defined(QT_BUILD_OPENVG_LIB)
# define Q_OPENVG_EXPORT Q_DECL_EXPORT
# else
@@ -1264,6 +1266,7 @@ class QDataStream;
# define Q_SVG_EXPORT Q_DECL_IMPORT
# define Q_CANVAS_EXPORT Q_DECL_IMPORT
# define Q_OPENGL_EXPORT Q_DECL_IMPORT
+# define Q_MULTIMEDIA_EXPORT Q_DECL_IMPORT
# define Q_OPENVG_EXPORT Q_DECL_IMPORT
# define Q_XML_EXPORT Q_DECL_IMPORT
# define Q_XMLPATTERNS_EXPORT Q_DECL_IMPORT
@@ -1290,6 +1293,7 @@ class QDataStream;
# define Q_NETWORK_EXPORT Q_DECL_EXPORT
# define Q_SVG_EXPORT Q_DECL_EXPORT
# define Q_OPENGL_EXPORT Q_DECL_EXPORT
+# define Q_MULTIMEDIA_EXPORT Q_DECL_EXPORT
# define Q_OPENVG_EXPORT Q_DECL_EXPORT
# define Q_XML_EXPORT Q_DECL_EXPORT
# define Q_XMLPATTERNS_EXPORT Q_DECL_EXPORT
@@ -1303,6 +1307,7 @@ class QDataStream;
# define Q_NETWORK_EXPORT
# define Q_SVG_EXPORT
# define Q_OPENGL_EXPORT
+# define Q_MULTIMEDIA_EXPORT
# define Q_XML_EXPORT
# define Q_XMLPATTERNS_EXPORT
# define Q_SCRIPT_EXPORT
@@ -1503,24 +1508,13 @@ inline QT3_SUPPORT bool qSysInfo(int *wordSize, bool *bigEndian)
#if defined(Q_WS_WIN) || defined(Q_OS_CYGWIN)
#if defined(QT3_SUPPORT)
-inline QT3_SUPPORT bool qt_winUnicode() { return !(QSysInfo::WindowsVersion & QSysInfo::WV_DOS_based); }
+inline QT3_SUPPORT bool qt_winUnicode() { return true; }
inline QT3_SUPPORT int qWinVersion() { return QSysInfo::WindowsVersion; }
#endif
-#ifdef Q_OS_WINCE
-#define QT_WA(uni, ansi) uni
-#define QT_WA_INLINE(uni, ansi) (uni)
-#elif defined(Q_CC_MWERKS)
-#define QT_WA(uni, ansi) ansi
-#define QT_WA_INLINE(uni, ansi) (ansi)
-#elif defined(UNICODE)
-#define QT_WA(uni, ansi) if (!(QSysInfo::windowsVersion() & QSysInfo::WV_DOS_based)) { uni } else { ansi }
+#define QT_WA(unicode, ansi) unicode
+#define QT_WA_INLINE(unicode, ansi) (unicode)
-#define QT_WA_INLINE(uni, ansi) (!(QSysInfo::windowsVersion() & QSysInfo::WV_DOS_based) ? uni : ansi)
-#else
-#define QT_WA(uni, ansi) ansi
-#define QT_WA_INLINE(uni, ansi) ansi
-#endif
#endif /* Q_WS_WIN */
#ifndef Q_OUTOFLINE_TEMPLATE
@@ -1665,7 +1659,7 @@ Q_CORE_EXPORT void qBadAlloc();
template <typename T>
inline T *q_check_ptr(T *p) { Q_CHECK_PTR(p); return p; }
-#if (defined(Q_CC_GNU) && !defined(Q_OS_SOLARIS)) || defined(Q_CC_HPACC)
+#if (defined(Q_CC_GNU) && !defined(Q_OS_SOLARIS)) || defined(Q_CC_HPACC) || defined(Q_CC_DIAB)
# define Q_FUNC_INFO __PRETTY_FUNCTION__
#elif defined(_MSC_VER)
/* MSVC 2002 doesn't have __FUNCSIG__ nor can it handle QT_STRINGIFY. */
@@ -2173,7 +2167,7 @@ public:
inline bool operator!() const { return !i; }
- inline bool testFlag(Enum f) const { return (i & f) == f; }
+ inline bool testFlag(Enum f) const { return (i & f) == f && (f != 0 || i == f ); }
};
#define Q_DECLARE_FLAGS(Flags, Enum)\
@@ -2255,6 +2249,17 @@ inline const QForeachContainer<T> *qForeachContainer(const QForeachContainerBase
qForeachContainer(&_container_, true ? 0 : qForeachPointer(container))->brk; \
--qForeachContainer(&_container_, true ? 0 : qForeachPointer(container))->brk)
+#elif defined(Q_CC_DIAB)
+// VxWorks DIAB generates unresolvable symbols, if container is a function call
+# define Q_FOREACH(variable,container) \
+ if(0){}else \
+ for (const QForeachContainerBase &_container_ = qForeachContainerNew(container); \
+ qForeachContainer(&_container_, (__typeof__(container) *) 0)->condition(); \
+ ++qForeachContainer(&_container_, (__typeof__(container) *) 0)->i) \
+ for (variable = *qForeachContainer(&_container_, (__typeof__(container) *) 0)->i; \
+ qForeachContainer(&_container_, (__typeof__(container) *) 0)->brk; \
+ --qForeachContainer(&_container_, (__typeof__(container) *) 0)->brk)
+
#else
# define Q_FOREACH(variable, container) \
for (const QForeachContainerBase &_container_ = qForeachContainerNew(container); \
@@ -2285,14 +2290,12 @@ inline const QForeachContainer<T> *qForeachContainer(const QForeachContainerBase
#endif
#endif
-#define Q_DECLARE_PRIVATE(Class) \
- inline Class##Private* d_func() { return reinterpret_cast<Class##Private *>(d_ptr); } \
- inline const Class##Private* d_func() const { return reinterpret_cast<const Class##Private *>(d_ptr); } \
- friend class Class##Private;
+template <typename T> static inline T *qGetPtrHelper(T *ptr) { return ptr; }
+template <typename Wrapper> static inline typename Wrapper::pointer qGetPtrHelper(const Wrapper &p) { return p.data(); }
-#define Q_DECLARE_SCOPED_PRIVATE(Class) \
- inline Class##Private* d_func() { return reinterpret_cast<Class##Private *>(d_ptr.data()); } \
- inline const Class##Private* d_func() const { return reinterpret_cast<const Class##Private *>(d_ptr.data()); } \
+#define Q_DECLARE_PRIVATE(Class) \
+ inline Class##Private* d_func() { return reinterpret_cast<Class##Private *>(qGetPtrHelper(d_ptr)); } \
+ inline const Class##Private* d_func() const { return reinterpret_cast<const Class##Private *>(qGetPtrHelper(d_ptr)); } \
friend class Class##Private;
#define Q_DECLARE_PRIVATE_D(Dptr, Class) \
@@ -2314,6 +2317,18 @@ inline const QForeachContainer<T> *qForeachContainer(const QForeachContainerBase
#define QT_TRANSLATE_NOOP_UTF8(scope, x) (x)
#define QT_TRANSLATE_NOOP3(scope, x, comment) {x, comment}
#define QT_TRANSLATE_NOOP3_UTF8(scope, x, comment) {x, comment}
+
+#ifndef QT_NO_TRANSLATION // ### This should enclose the NOOPs above
+
+// Defined in qcoreapplication.cpp
+// The better name qTrId() is reserved for an upcoming function which would
+// return a much more powerful QStringFormatter instead of a QString.
+Q_CORE_EXPORT QString qtTrId(const char *id, int n = -1);
+
+#define QT_TRID_NOOP(id) id
+
+#endif // QT_NO_TRANSLATION
+
#define QDOC_PROPERTY(text)
/*
@@ -2440,12 +2455,14 @@ Q_CORE_EXPORT int qt_exception2SymbianError(const std::exception& ex);
#define QT_MODULE_DBUS 0x08000
#define QT_MODULE_SCRIPTTOOLS 0x10000
#define QT_MODULE_OPENVG 0x20000
+#define QT_MODULE_MULTIMEDIA 0x40000
/* Qt editions */
#define QT_EDITION_CONSOLE (QT_MODULE_CORE \
| QT_MODULE_NETWORK \
| QT_MODULE_SQL \
| QT_MODULE_SCRIPT \
+ | QT_MODULE_MULTIMEDIA \
| QT_MODULE_XML \
| QT_MODULE_XMLPATTERNS \
| QT_MODULE_TEST \
@@ -2461,6 +2478,7 @@ Q_CORE_EXPORT int qt_exception2SymbianError(const std::exception& ex);
| QT_MODULE_OPENGL \
| QT_MODULE_OPENVG \
| QT_MODULE_SQL \
+ | QT_MODULE_MULTIMEDIA \
| QT_MODULE_XML \
| QT_MODULE_XMLPATTERNS \
| QT_MODULE_SCRIPT \
@@ -2512,6 +2530,9 @@ QT_LICENSED_MODULE(OpenVG)
#if (QT_EDITION & QT_MODULE_SQL)
QT_LICENSED_MODULE(Sql)
#endif
+#if (QT_EDITION & QT_MODULE_MULTIMEDIA)
+QT_LICENSED_MODULE(Multimedia)
+#endif
#if (QT_EDITION & QT_MODULE_XML)
QT_LICENSED_MODULE(Xml)
#endif
@@ -2553,32 +2574,30 @@ QT_LICENSED_MODULE(DBus)
# define QT_NO_QFUTURE
#endif
-/*
- Turn off certain features for compilers that have problems parsing
- the code.
-*/
-#if (defined(Q_CC_HPACC) && defined(QT_ARCH_PARISC)) \
- || defined(Q_CC_MIPS) \
- || defined(Q_CC_XLC)
-// HP aCC A.03.*, MIPSpro, and xlC cannot handle
-// the template function declarations for the QtConcurrent functions
-# define QT_NO_QFUTURE
-# define QT_NO_CONCURRENT
-#endif
-
-// MSVC 6.0, MSVC .NET 2002, and old versions of Sun CC can`t handle the map(), etc templates,
+// MSVC 6.0 and MSVC .NET 2002, can`t handle the map(), etc templates,
// but the QFuture class compiles.
-#if (defined(Q_CC_MSVC) && _MSC_VER <= 1300) || (defined (__SUNPRO_CC) && __SUNPRO_CC <= 0x590)
+#if (defined(Q_CC_MSVC) && _MSC_VER <= 1300)
# define QT_NO_CONCURRENT
#endif
-// Mingw uses a gcc 3 version which has problems with some of the
-// map/filter overloads. So does IRIX and Solaris.
-#if (defined(Q_OS_IRIX) || defined(Q_CC_MINGW) || defined (Q_OS_SOLARIS)) && (__GNUC__ < 4)
+// gcc 3 version has problems with some of the
+// map/filter overloads.
+#if defined(Q_CC_GNU) && (__GNUC__ < 4)
# define QT_NO_CONCURRENT_MAP
# define QT_NO_CONCURRENT_FILTER
#endif
+#ifdef Q_OS_QNX
+// QNX doesn't have SYSV style shared memory. Multiprocess QWS apps,
+// shared fonts and QSystemSemaphore + QSharedMemory are not available
+# define QT_NO_QWS_MULTIPROCESS
+# define QT_NO_QWS_SHARE_FONTS
+# define QT_NO_SYSTEMSEMAPHORE
+# define QT_NO_SHAREDMEMORY
+// QNX currently doesn't support forking in a thread, so disable QProcess
+# define QT_NO_PROCESS
+#endif
+
QT_END_NAMESPACE
QT_END_HEADER
diff --git a/src/corelib/global/qnamespace.h b/src/corelib/global/qnamespace.h
index fdd7eee..ceec078 100644
--- a/src/corelib/global/qnamespace.h
+++ b/src/corelib/global/qnamespace.h
@@ -1435,7 +1435,8 @@ public:
ToolButtonIconOnly,
ToolButtonTextOnly,
ToolButtonTextBesideIcon,
- ToolButtonTextUnderIcon
+ ToolButtonTextUnderIcon,
+ ToolButtonFollowStyle
};
enum LayoutDirection {
@@ -1589,18 +1590,6 @@ public:
};
Q_DECLARE_FLAGS(TouchPointStates, TouchPointState)
- enum GestureType
- {
- UnknownGesture,
- TapGesture,
- DoubleTapGesture,
- TrippleTapGesture,
- TapAndHoldGesture,
- PanGesture,
- PinchGesture
- };
-
-
enum GestureState
{
NoGesture,
@@ -1609,23 +1598,6 @@ public:
GestureFinished = 3
};
- enum DirectionType
- {
- NoDirection = 0,
- LeftDownDirection = 1,
- DownLeftDirection = LeftDownDirection,
- DownDirection = 2,
- RightDownDirection = 3,
- DownRightDirection = RightDownDirection,
- LeftDirection = 4,
- RightDirection = 6,
- LeftUpDirection = 7,
- UpLeftDirection = LeftUpDirection,
- UpDirection = 8,
- RightUpDirection = 9,
- UpRightDirection = RightUpDirection
- };
-
}
#ifdef Q_MOC_RUN
;
diff --git a/src/corelib/global/qt_windows.h b/src/corelib/global/qt_windows.h
index 5df57e5..fc7d75e 100644
--- a/src/corelib/global/qt_windows.h
+++ b/src/corelib/global/qt_windows.h
@@ -53,6 +53,13 @@
#endif
#endif
+#if defined(Q_CC_MINGW)
+// mingw's windows.h does not set _WIN32_WINNT, resulting breaking compilation
+#ifndef WINVER
+#define WINVER 0x500
+#endif
+#endif
+
#include <windows.h>
#ifdef _WIN32_WCE
@@ -60,7 +67,6 @@
#endif
// already defined when compiled with WINVER >= 0x0500
-// and we only use them in Qt::WV_2000 and Qt::WV_98
#ifndef SPI_SETMENUANIMATION
#define SPI_SETMENUANIMATION 0x1003
#endif
@@ -100,6 +106,9 @@
#ifndef SPI_GETKEYBOARDCUES
#define SPI_GETKEYBOARDCUES 0x100A
#endif
+#ifndef SPI_GETGRADIENTCAPTIONS
+#define SPI_GETGRADIENTCAPTIONS 0x1008
+#endif
#ifndef IDC_HAND
#define IDC_HAND MAKEINTRESOURCE(32649)
#endif
@@ -112,5 +121,31 @@
#ifndef ETO_PDY
#define ETO_PDY 0x2000
#endif
+#ifndef COLOR_GRADIENTACTIVECAPTION
+#define COLOR_GRADIENTACTIVECAPTION 27
+#endif
+#ifndef COLOR_GRADIENTINACTIVECAPTION
+#define COLOR_GRADIENTINACTIVECAPTION 28
+#endif
+
+// already defined when compiled with WINVER >= 0x0600
+#ifndef SPI_GETFLATMENU
+#define SPI_GETFLATMENU 0x1022
+#endif
+#ifndef CS_DROPSHADOW
+#define CS_DROPSHADOW 0x00020000
+#endif
+#ifndef CLEARTYPE_QUALITY
+#define CLEARTYPE_QUALITY 5
+#endif
+
+#ifdef Q_WS_WINCE
+#ifndef LR_DEFAULTSIZE
+#define LR_DEFAULTSIZE 0
+#endif
+#ifndef LR_SHARED
+#define LR_SHARED 0
+#endif
+#endif // Q_WS_WINCE
#endif // QT_WINDOWS_H
diff --git a/src/corelib/io/io.pri b/src/corelib/io/io.pri
index edbab9c..b49554e 100644
--- a/src/corelib/io/io.pri
+++ b/src/corelib/io/io.pri
@@ -66,7 +66,10 @@ win32 {
SOURCES += io/qfsfileengine_iterator_unix.cpp
symbian:SOURCES += io/qprocess_symbian.cpp
else:SOURCES += io/qprocess_unix.cpp
- mac:SOURCES += io/qsettings_mac.cpp
+ macx-*: {
+ HEADERS += io/qfilesystemwatcher_fsevents_p.h
+ SOURCES += io/qsettings_mac.cpp io/qfilesystemwatcher_fsevents.cpp
+ }
linux-*:{
SOURCES += \
diff --git a/src/corelib/io/qabstractfileengine.cpp b/src/corelib/io/qabstractfileengine.cpp
index d2fb768..fbd838a 100644
--- a/src/corelib/io/qabstractfileengine.cpp
+++ b/src/corelib/io/qabstractfileengine.cpp
@@ -42,7 +42,7 @@
#include "qabstractfileengine.h"
#include "private/qabstractfileengine_p.h"
#include "qdatetime.h"
-#include "qmutex.h"
+#include "qreadwritelock.h"
#include "qvariant.h"
// built-in handlers
#include "qfsfileengine.h"
@@ -98,14 +98,14 @@ QT_BEGIN_NAMESPACE
All application-wide handlers are stored in this list. The mutex must be
acquired to ensure thread safety.
*/
-Q_GLOBAL_STATIC_WITH_ARGS(QMutex, fileEngineHandlerMutex, (QMutex::Recursive))
+Q_GLOBAL_STATIC_WITH_ARGS(QReadWriteLock, fileEngineHandlerMutex, (QReadWriteLock::Recursive))
static bool qt_abstractfileenginehandlerlist_shutDown = false;
class QAbstractFileEngineHandlerList : public QList<QAbstractFileEngineHandler *>
{
public:
~QAbstractFileEngineHandlerList()
{
- QMutexLocker locker(fileEngineHandlerMutex());
+ QWriteLocker locker(fileEngineHandlerMutex());
qt_abstractfileenginehandlerlist_shutDown = true;
}
};
@@ -122,7 +122,7 @@ Q_GLOBAL_STATIC(QAbstractFileEngineHandlerList, fileEngineHandlers)
*/
QAbstractFileEngineHandler::QAbstractFileEngineHandler()
{
- QMutexLocker locker(fileEngineHandlerMutex());
+ QWriteLocker locker(fileEngineHandlerMutex());
fileEngineHandlers()->prepend(this);
}
@@ -132,7 +132,7 @@ QAbstractFileEngineHandler::QAbstractFileEngineHandler()
*/
QAbstractFileEngineHandler::~QAbstractFileEngineHandler()
{
- QMutexLocker locker(fileEngineHandlerMutex());
+ QWriteLocker locker(fileEngineHandlerMutex());
// Remove this handler from the handler list only if the list is valid.
if (!qt_abstractfileenginehandlerlist_shutDown)
fileEngineHandlers()->removeAll(this);
@@ -166,12 +166,14 @@ QAbstractFileEngineHandler::~QAbstractFileEngineHandler()
*/
QAbstractFileEngine *QAbstractFileEngine::create(const QString &fileName)
{
- QMutexLocker locker(fileEngineHandlerMutex());
+ {
+ QReadLocker locker(fileEngineHandlerMutex());
- // check for registered handlers that can load the file
- for (int i = 0; i < fileEngineHandlers()->size(); i++) {
- if (QAbstractFileEngine *ret = fileEngineHandlers()->at(i)->create(fileName))
- return ret;
+ // check for registered handlers that can load the file
+ for (int i = 0; i < fileEngineHandlers()->size(); i++) {
+ if (QAbstractFileEngine *ret = fileEngineHandlers()->at(i)->create(fileName))
+ return ret;
+ }
}
#ifdef QT_BUILD_CORE_LIB
diff --git a/src/corelib/io/qabstractfileengine.h b/src/corelib/io/qabstractfileengine.h
index 07c92d2..54eb6de 100644
--- a/src/corelib/io/qabstractfileengine.h
+++ b/src/corelib/io/qabstractfileengine.h
@@ -196,7 +196,7 @@ protected:
QScopedPointer<QAbstractFileEnginePrivate> d_ptr;
private:
- Q_DECLARE_SCOPED_PRIVATE(QAbstractFileEngine)
+ Q_DECLARE_PRIVATE(QAbstractFileEngine)
Q_DISABLE_COPY(QAbstractFileEngine)
};
diff --git a/src/corelib/io/qbuffer.h b/src/corelib/io/qbuffer.h
index ce5f605..e078d05 100644
--- a/src/corelib/io/qbuffer.h
+++ b/src/corelib/io/qbuffer.h
@@ -96,7 +96,7 @@ protected:
qint64 writeData(const char *data, qint64 len);
private:
- Q_DECLARE_SCOPED_PRIVATE(QBuffer)
+ Q_DECLARE_PRIVATE(QBuffer)
Q_DISABLE_COPY(QBuffer)
Q_PRIVATE_SLOT(d_func(), void _q_emitSignals())
diff --git a/src/corelib/io/qdatastream.cpp b/src/corelib/io/qdatastream.cpp
index 244299c..1023868 100644
--- a/src/corelib/io/qdatastream.cpp
+++ b/src/corelib/io/qdatastream.cpp
@@ -362,17 +362,19 @@ QDataStream::~QDataStream()
/*!
\fn QIODevice *QDataStream::device() const
- Returns the I/O device currently set.
+ Returns the I/O device currently set, or 0 if no
+ device is currently set.
- \sa setDevice(), unsetDevice()
+ \sa setDevice()
*/
/*!
void QDataStream::setDevice(QIODevice *d)
- Sets the I/O device to \a d.
+ Sets the I/O device to \a d, which can be 0
+ to unset to current I/O device.
- \sa device(), unsetDevice()
+ \sa device()
*/
void QDataStream::setDevice(QIODevice *d)
diff --git a/src/corelib/io/qdir.h b/src/corelib/io/qdir.h
index 5ef4356..f54fbdc 100644
--- a/src/corelib/io/qdir.h
+++ b/src/corelib/io/qdir.h
@@ -60,7 +60,7 @@ class Q_CORE_EXPORT QDir
protected:
QScopedPointer<QDirPrivate> d_ptr;
private:
- Q_DECLARE_SCOPED_PRIVATE(QDir)
+ Q_DECLARE_PRIVATE(QDir)
public:
enum Filter { Dirs = 0x001,
Files = 0x002,
diff --git a/src/corelib/io/qdiriterator.cpp b/src/corelib/io/qdiriterator.cpp
index 12fe258..a91c112 100644
--- a/src/corelib/io/qdiriterator.cpp
+++ b/src/corelib/io/qdiriterator.cpp
@@ -118,26 +118,28 @@ public:
QDir::Filters filters, QDirIterator::IteratorFlags flags);
~QDirIteratorPrivate();
- void pushSubDirectory(const QString &path, const QStringList &nameFilters,
- QDir::Filters filters);
void advance();
- bool shouldFollowDirectory(const QFileInfo &);
+
+ void pushDirectory(const QFileInfo &fileInfo);
+ void checkAndPushDirectory(const QFileInfo &);
bool matchesFilters(const QString &fileName, const QFileInfo &fi) const;
- QSet<QString> visitedLinks;
+ const QString path;
+ const QStringList nameFilters;
+ const QDir::Filters filters;
+ const QDirIterator::IteratorFlags iteratorFlags;
+
+#ifndef QT_NO_REGEXP
+ QVector<QRegExp> nameRegExps;
+#endif
+
QScopedPointer<QAbstractFileEngine> engine;
QDirIteratorPrivateIteratorStack fileEngineIterators;
- QString path;
- QFileInfo nextFileInfo;
- //This fileinfo is the current that we will return from the public API
QFileInfo currentFileInfo;
- QString currentFilePath;
- QDirIterator::IteratorFlags iteratorFlags;
- QDir::Filters filters;
- QStringList nameFilters;
- bool followNextDir;
- bool first;
- bool done;
+ QFileInfo nextFileInfo;
+
+ // Loop protection
+ QSet<QString> visitedLinks;
QDirIterator *q;
};
@@ -147,15 +149,24 @@ public:
*/
QDirIteratorPrivate::QDirIteratorPrivate(const QString &path, const QStringList &nameFilters,
QDir::Filters filters, QDirIterator::IteratorFlags flags)
- : path(path), nextFileInfo(path), iteratorFlags(flags), followNextDir(false), first(true), done(false)
+ : engine(QAbstractFileEngine::create(path))
+ , path(path)
+ , nameFilters(nameFilters.contains(QLatin1String("*")) ? QStringList() : nameFilters)
+ , filters(QDir::NoFilter == filters ? QDir::AllEntries : filters)
+ , iteratorFlags(flags)
{
- if (filters == QDir::NoFilter)
- filters = QDir::AllEntries;
- this->filters = filters;
- this->nameFilters = nameFilters;
+#ifndef QT_NO_REGEXP
+ nameRegExps.reserve(nameFilters.size());
+ for (int i = 0; i < nameFilters.size(); ++i)
+ nameRegExps.append(
+ QRegExp(nameFilters.at(i),
+ (filters & QDir::CaseSensitive) ? Qt::CaseSensitive : Qt::CaseInsensitive,
+ QRegExp::Wildcard));
+#endif
- pushSubDirectory(nextFileInfo.isSymLink() ? nextFileInfo.canonicalFilePath() : path,
- nameFilters, filters);
+ // Populate fields for hasNext() and next()
+ pushDirectory(QFileInfo(path));
+ advance();
}
/*!
@@ -168,24 +179,19 @@ QDirIteratorPrivate::~QDirIteratorPrivate()
/*!
\internal
*/
-void QDirIteratorPrivate::pushSubDirectory(const QString &path, const QStringList &nameFilters,
- QDir::Filters filters)
+void QDirIteratorPrivate::pushDirectory(const QFileInfo &fileInfo)
{
- if (iteratorFlags & QDirIterator::FollowSymlinks) {
- if (nextFileInfo.filePath() != path)
- nextFileInfo.setFile(path);
- if (nextFileInfo.isSymLink()) {
- visitedLinks << nextFileInfo.canonicalFilePath();
- } else {
- visitedLinks << nextFileInfo.absoluteFilePath();
- }
- }
-
- if (engine.isNull()) {
- engine.reset(QAbstractFileEngine::create(this->path));
- }
-
- if (!engine.isNull()) {
+ QString path = fileInfo.filePath();
+
+#ifdef Q_OS_WIN
+ if (fileInfo.isSymLink())
+ path = fileInfo.canonicalFilePath();
+#endif
+
+ if (iteratorFlags & QDirIterator::FollowSymlinks)
+ visitedLinks << fileInfo.canonicalFilePath();
+
+ if (engine) {
engine->setFileName(path);
QAbstractFileEngineIterator *it = engine->beginEntryList(filters, nameFilters);
if (it) {
@@ -202,95 +208,64 @@ void QDirIteratorPrivate::pushSubDirectory(const QString &path, const QStringLis
*/
void QDirIteratorPrivate::advance()
{
- // Store the current entry
- if (!fileEngineIterators.isEmpty())
- currentFilePath = fileEngineIterators.top()->currentFilePath();
-
- // Advance to the next entry
- if (followNextDir) {
- // Start by navigating into the current directory.
- followNextDir = false;
-
- QAbstractFileEngineIterator *it = fileEngineIterators.top();
-
- QString subDir = it->currentFilePath();
-#ifdef Q_OS_WIN
- if (nextFileInfo.isSymLink())
- subDir = nextFileInfo.canonicalFilePath();
-#endif
- pushSubDirectory(subDir, it->nameFilters(), it->filters());
- }
-
while (!fileEngineIterators.isEmpty()) {
- QAbstractFileEngineIterator *it = fileEngineIterators.top();
// Find the next valid iterator that matches the filters.
- bool foundDirectory = false;
- while (it->hasNext()) {
+ while (fileEngineIterators.top()->hasNext()) {
+ QAbstractFileEngineIterator *it = fileEngineIterators.top();
it->next();
+
const QFileInfo info = it->currentFileInfo();
+ checkAndPushDirectory(it->currentFileInfo());
+
if (matchesFilters(it->currentFileName(), info)) {
currentFileInfo = nextFileInfo;
nextFileInfo = info;
- // Signal that we want to follow this entry.
- followNextDir = shouldFollowDirectory(nextFileInfo);
+
//We found a matching entry.
return;
-
- } else if (iteratorFlags & QDirIterator::Subdirectories) {
-
- if (!shouldFollowDirectory(info))
- continue;
- QString subDir = it->currentFilePath();
-#ifdef Q_OS_WIN
- if (info.isSymLink())
- subDir = info.canonicalFilePath();
-#endif
- pushSubDirectory(subDir, it->nameFilters(), it->filters());
-
- foundDirectory = true;
- break;
}
}
- if (!foundDirectory)
- delete fileEngineIterators.pop();
+
+ delete fileEngineIterators.pop();
}
+
currentFileInfo = nextFileInfo;
- done = true;
+ nextFileInfo = QFileInfo();
}
/*!
\internal
*/
-bool QDirIteratorPrivate::shouldFollowDirectory(const QFileInfo &fileInfo)
+void QDirIteratorPrivate::checkAndPushDirectory(const QFileInfo &fileInfo)
{
// If we're doing flat iteration, we're done.
if (!(iteratorFlags & QDirIterator::Subdirectories))
- return false;
-
+ return;
+
// Never follow non-directory entries
if (!fileInfo.isDir())
- return false;
+ return;
+ // Follow symlinks only when asked
+ if (!(iteratorFlags & QDirIterator::FollowSymlinks) && fileInfo.isSymLink())
+ return;
// Never follow . and ..
- if (fileInfo.fileName() == QLatin1String(".") || fileInfo.fileName() == QLatin1String(".."))
- return false;
+ QString fileName = fileInfo.fileName();
+ if (QLatin1String(".") == fileName || QLatin1String("..") == fileName)
+ return;
-
- // Check symlinks
- if (fileInfo.isSymLink() && !(iteratorFlags & QDirIterator::FollowSymlinks)) {
- // Follow symlinks only if FollowSymlinks was passed
- return false;
- }
+ // No hidden directories unless requested
+ if (!(filters & QDir::AllDirs) && !(filters & QDir::Hidden) && fileInfo.isHidden())
+ return;
// Stop link loops
if (visitedLinks.contains(fileInfo.canonicalFilePath()))
- return false;
-
- return true;
+ return;
+
+ pushDirectory(fileInfo);
}
-
/*!
\internal
@@ -304,10 +279,7 @@ bool QDirIteratorPrivate::shouldFollowDirectory(const QFileInfo &fileInfo)
*/
bool QDirIteratorPrivate::matchesFilters(const QString &fileName, const QFileInfo &fi) const
{
- if (fileName.isEmpty()) {
- // invalid entry
- return false;
- }
+ Q_ASSERT(!fileName.isEmpty());
// filter . and ..?
const int fileNameSize = fileName.size();
@@ -318,16 +290,15 @@ bool QDirIteratorPrivate::matchesFilters(const QString &fileName, const QFileInf
return false;
// name filter
-#ifndef QT_NO_REGEXP
- const bool hasNameFilters = !nameFilters.isEmpty() && !(nameFilters.contains(QLatin1String("*")));
+#ifndef QT_NO_REGEXP
// Pass all entries through name filters, except dirs if the AllDirs
- if (hasNameFilters && !((filters & QDir::AllDirs) && fi.isDir())) {
+ if (!nameFilters.isEmpty() && !((filters & QDir::AllDirs) && fi.isDir())) {
bool matched = false;
- for (int i = 0; i < nameFilters.size(); ++i) {
- QRegExp regexp(nameFilters.at(i),
- (filters & QDir::CaseSensitive) ? Qt::CaseSensitive : Qt::CaseInsensitive,
- QRegExp::Wildcard);
- if (regexp.exactMatch(fileName)) {
+ for (QVector<QRegExp>::const_iterator iter = nameRegExps.constBegin(),
+ end = nameRegExps.constEnd();
+ iter != end; ++iter) {
+
+ if (iter->exactMatch(fileName)) {
matched = true;
break;
}
@@ -348,17 +319,11 @@ bool QDirIteratorPrivate::matchesFilters(const QString &fileName, const QFileInf
|| (!fi.exists() && fi.isSymLink())))
return false;
-
- if (!includeSystem && !dotOrDotDot && ((fi.exists() && !fi.isFile() && !fi.isDir() && !fi.isSymLink())
- || (!fi.exists() && fi.isSymLink()))) {
- return false;
- }
-
// skip directories
const bool skipDirs = !(filters & (QDir::Dirs | QDir::AllDirs));
if (skipDirs && fi.isDir()) {
- if (!(includeHidden && !dotOrDotDot && fi.isHidden())
- || (includeSystem && !fi.exists() && fi.isSymLink()))
+ if (!((includeHidden && !dotOrDotDot && fi.isHidden())
+ || (includeSystem && !fi.exists() && fi.isSymLink())))
return false;
}
@@ -383,7 +348,7 @@ bool QDirIteratorPrivate::matchesFilters(const QString &fileName, const QFileInf
|| (doExecutable && !fi.isExecutable()))) {
return false;
}
-
+
return true;
}
@@ -425,7 +390,7 @@ QDirIterator::QDirIterator(const QDir &dir, IteratorFlags flags)
\sa hasNext(), next(), IteratorFlags
*/
QDirIterator::QDirIterator(const QString &path, QDir::Filters filters, IteratorFlags flags)
- : d(new QDirIteratorPrivate(path, QStringList(QLatin1String("*")), filters, flags))
+ : d(new QDirIteratorPrivate(path, QStringList(), filters, flags))
{
d->q = this;
}
@@ -443,7 +408,7 @@ QDirIterator::QDirIterator(const QString &path, QDir::Filters filters, IteratorF
\sa hasNext(), next(), IteratorFlags
*/
QDirIterator::QDirIterator(const QString &path, IteratorFlags flags)
- : d(new QDirIteratorPrivate(path, QStringList(QLatin1String("*")), QDir::NoFilter, flags))
+ : d(new QDirIteratorPrivate(path, QStringList(), QDir::NoFilter, flags))
{
d->q = this;
}
@@ -460,7 +425,7 @@ QDirIterator::QDirIterator(const QString &path, IteratorFlags flags)
passed to the flags.
\warning This constructor expects \c flags to be left at its default value. Use the
- constructors that do not take the \a filters argument instead.
+ constructors that do not take the \a filters argument instead.
\sa hasNext(), next(), IteratorFlags
*/
@@ -490,8 +455,6 @@ QDirIterator::~QDirIterator()
*/
QString QDirIterator::next()
{
- if (!hasNext())
- return QString();
d->advance();
return filePath();
}
@@ -504,22 +467,17 @@ QString QDirIterator::next()
*/
bool QDirIterator::hasNext() const
{
- if (d->first) {
- d->first = false;
- d->advance();
- }
- return !d->done;
+ return !d->fileEngineIterators.isEmpty();
}
/*!
Returns the file name for the current directory entry, without the path
- prepended. If the current entry is invalid (i.e., isValid() returns
- false), a null QString is returned.
+ prepended.
+
+ This function is convenient when iterating a single directory. When using
+ the QDirIterator::Subdirectories flag, you can use filePath() to get the
+ full path.
- This function is provided for the convenience when iterating single
- directories. For recursive iteration, you should call filePath() or
- fileInfo() instead.
-
\sa filePath(), fileInfo()
*/
QString QDirIterator::fileName() const
@@ -528,20 +486,17 @@ QString QDirIterator::fileName() const
}
/*!
- Returns the full file path for the current directory entry. If the current
- entry is invalid (i.e., isValid() returns false), a null QString is
- returned.
+ Returns the full file path for the current directory entry.
\sa fileInfo(), fileName()
*/
QString QDirIterator::filePath() const
{
- return d->currentFilePath;
+ return d->currentFileInfo.filePath();
}
/*!
- Returns a QFileInfo for the current directory entry. If the current entry
- is invalid (i.e., isValid() returns false), a null QFileInfo is returned.
+ Returns a QFileInfo for the current directory entry.
\sa filePath(), fileName()
*/
diff --git a/src/corelib/io/qfile.h b/src/corelib/io/qfile.h
index 24ce617..f448609 100644
--- a/src/corelib/io/qfile.h
+++ b/src/corelib/io/qfile.h
@@ -64,7 +64,7 @@ class Q_CORE_EXPORT QFile : public QIODevice
#ifndef QT_NO_QOBJECT
Q_OBJECT
#endif
- Q_DECLARE_SCOPED_PRIVATE(QFile)
+ Q_DECLARE_PRIVATE(QFile)
public:
diff --git a/src/corelib/io/qfileinfo.cpp b/src/corelib/io/qfileinfo.cpp
index afc7c31..c568369 100644
--- a/src/corelib/io/qfileinfo.cpp
+++ b/src/corelib/io/qfileinfo.cpp
@@ -117,11 +117,7 @@ bool QFileInfoPrivate::hasAccess(Access access) const
if (access == ExecuteAccess)
return getFileFlags(QAbstractFileEngine::ExeUserPerm);
- QT_WA( {
- return ::_waccess((TCHAR *)QFSFileEnginePrivate::longFileName(data->fileName).utf16(), mode) == 0;
- } , {
- return QT_ACCESS(QFSFileEnginePrivate::win95Name(data->fileName), mode) == 0;
- } );
+ return ::_waccess((wchar_t*)QFSFileEnginePrivate::longFileName(data->fileName).utf16(), mode) == 0;
#endif
return false;
}
diff --git a/src/corelib/io/qfileinfo.h b/src/corelib/io/qfileinfo.h
index c73823a..5295b16 100644
--- a/src/corelib/io/qfileinfo.h
+++ b/src/corelib/io/qfileinfo.h
@@ -168,7 +168,7 @@ public:
protected:
QScopedPointer<QFileInfoPrivate> d_ptr;
private:
- Q_DECLARE_SCOPED_PRIVATE(QFileInfo)
+ Q_DECLARE_PRIVATE(QFileInfo)
};
Q_DECLARE_TYPEINFO(QFileInfo, Q_MOVABLE_TYPE);
diff --git a/src/corelib/io/qfilesystemwatcher.cpp b/src/corelib/io/qfilesystemwatcher.cpp
index 8f18df8..883a77a 100644
--- a/src/corelib/io/qfilesystemwatcher.cpp
+++ b/src/corelib/io/qfilesystemwatcher.cpp
@@ -58,6 +58,9 @@
# include "qfilesystemwatcher_inotify_p.h"
# include "qfilesystemwatcher_dnotify_p.h"
#elif defined(Q_OS_FREEBSD) || defined(Q_OS_MAC)
+# if (MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5)
+# include "qfilesystemwatcher_fsevents_p.h"
+# endif //MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5)
# include "qfilesystemwatcher_kqueue_p.h"
#elif defined(Q_OS_SYMBIAN)
# include "qfilesystemwatcher_symbian_p.h"
@@ -245,7 +248,12 @@ QFileSystemWatcherEngine *QFileSystemWatcherPrivate::createNativeEngine()
eng = QDnotifyFileSystemWatcherEngine::create();
return eng;
#elif defined(Q_OS_FREEBSD) || defined(Q_OS_MAC)
- return QKqueueFileSystemWatcherEngine::create();
+# if (MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5)
+ if (QSysInfo::MacintoshVersion >= QSysInfo::MV_10_5)
+ return QFSEventsFileSystemWatcherEngine::create();
+ else
+# endif
+ return QKqueueFileSystemWatcherEngine::create();
#elif defined(Q_OS_SYMBIAN)
return new QSymbianFileSystemWatcherEngine;
#else
@@ -380,15 +388,17 @@ void QFileSystemWatcherPrivate::_q_directoryChanged(const QString &path, bool re
\note The act of monitoring files and directories for
modifications consumes system resources. This implies there is a
limit to the number of files and directories your process can
- monitor simultaneously. On Mac OS and all BSD variants, for
+ monitor simultaneously. On Mac OS X 10.4 and all BSD variants, for
example, an open file descriptor is required for each monitored
- file. The system limits the number of open file descriptors to 256
+ file. Some system limits the number of open file descriptors to 256
by default. This means that addPath() and addPaths() will fail if
your process tries to add more than 256 files or directories to
the file system monitor. Also note that your process may have
other file descriptors open in addition to the ones for files
being monitored, and these other open descriptors also count in
- the total.
+ the total. Mac OS X 10.5 and up use a different backend and do not
+ suffer from this issue.
+
\sa QFile, QDir
*/
diff --git a/src/corelib/io/qfilesystemwatcher.h b/src/corelib/io/qfilesystemwatcher.h
index 76a6c60..60458e5 100644
--- a/src/corelib/io/qfilesystemwatcher.h
+++ b/src/corelib/io/qfilesystemwatcher.h
@@ -57,7 +57,7 @@ class QFileSystemWatcherPrivate;
class Q_CORE_EXPORT QFileSystemWatcher : public QObject
{
Q_OBJECT
- Q_DECLARE_SCOPED_PRIVATE(QFileSystemWatcher)
+ Q_DECLARE_PRIVATE(QFileSystemWatcher)
public:
QFileSystemWatcher(QObject *parent = 0);
diff --git a/src/corelib/io/qfilesystemwatcher_dnotify.cpp b/src/corelib/io/qfilesystemwatcher_dnotify.cpp
index c68af85..6df3746 100644
--- a/src/corelib/io/qfilesystemwatcher_dnotify.cpp
+++ b/src/corelib/io/qfilesystemwatcher_dnotify.cpp
@@ -59,6 +59,8 @@
#include <fcntl.h>
#include <time.h>
+#include "private/qcore_unix_p.h"
+
#ifdef QT_LINUXBASE
/* LSB doesn't standardize these */
@@ -80,7 +82,7 @@ static void (*qfswd_old_sigio_handler)(int) = 0;
static void (*qfswd_old_sigio_action)(int, siginfo_t *, void *) = 0;
static void qfswd_sigio_monitor(int signum, siginfo_t *i, void *v)
{
- ::write(qfswd_fileChanged_pipe[1], &i->si_fd, sizeof(int));
+ qt_safe_write(qfswd_fileChanged_pipe[1], reinterpret_cast<char*>(&i->si_fd), sizeof(int));
if (qfswd_old_sigio_handler && qfswd_old_sigio_handler != SIG_IGN)
qfswd_old_sigio_handler(signum);
@@ -121,9 +123,7 @@ QDnotifySignalThread::QDnotifySignalThread()
{
moveToThread(this);
- ::pipe(qfswd_fileChanged_pipe);
- ::fcntl(qfswd_fileChanged_pipe[0], F_SETFL,
- ::fcntl(qfswd_fileChanged_pipe[0], F_GETFL) | O_NONBLOCK);
+ qt_safe_pipe(qfswd_fileChanged_pipe, O_NONBLOCK);
struct sigaction oldAction;
struct sigaction action;
@@ -181,7 +181,7 @@ void QDnotifySignalThread::run()
void QDnotifySignalThread::readFromDnotify()
{
int fd;
- int readrv = ::read(qfswd_fileChanged_pipe[0], &fd,sizeof(int));
+ int readrv = qt_safe_read(qfswd_fileChanged_pipe[0], reinterpret_cast<char*>(&fd), sizeof(int));
// Only expect EAGAIN or EINTR. Other errors are assumed to be impossible.
if(readrv != -1) {
Q_ASSERT(readrv == sizeof(int));
@@ -207,9 +207,9 @@ QDnotifyFileSystemWatcherEngine::~QDnotifyFileSystemWatcherEngine()
for(QHash<int, Directory>::ConstIterator iter = fdToDirectory.constBegin();
iter != fdToDirectory.constEnd();
++iter) {
- ::close(iter->fd);
+ qt_safe_close(iter->fd);
if(iter->parentFd)
- ::close(iter->parentFd);
+ qt_safe_close(iter->parentFd);
}
}
@@ -353,7 +353,7 @@ QStringList QDnotifyFileSystemWatcherEngine::removePaths(const QStringList &path
if(!directory.isMonitored && directory.files.isEmpty()) {
// No longer needed
- ::close(directory.fd);
+ qt_safe_close(directory.fd);
pathToFD.remove(directory.path);
fdToDirectory.remove(fd);
}
@@ -419,9 +419,9 @@ void QDnotifyFileSystemWatcherEngine::refresh(int fd)
}
if(!directory.isMonitored && directory.files.isEmpty()) {
- ::close(directory.fd);
+ qt_safe_close(directory.fd);
if(directory.parentFd) {
- ::close(directory.parentFd);
+ qt_safe_close(directory.parentFd);
parentToFD.remove(directory.parentFd);
}
fdToDirectory.erase(iter);
diff --git a/src/corelib/io/qfilesystemwatcher_fsevents.cpp b/src/corelib/io/qfilesystemwatcher_fsevents.cpp
new file mode 100644
index 0000000..cb276b7
--- /dev/null
+++ b/src/corelib/io/qfilesystemwatcher_fsevents.cpp
@@ -0,0 +1,472 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtCore module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+
+#include <qplatformdefs.h>
+
+#include "qfilesystemwatcher.h"
+#include "qfilesystemwatcher_fsevents_p.h"
+
+#include <qdebug.h>
+#include <qfile.h>
+#include <qdatetime.h>
+#include <qfileinfo.h>
+#include <qvarlengtharray.h>
+
+#include <mach/mach.h>
+#include <sys/types.h>
+#include <CoreFoundation/CFRunLoop.h>
+#include <CoreFoundation/CFUUID.h>
+#include <CoreServices/CoreServices.h>
+#include <AvailabilityMacros.h>
+#include <private/qcore_mac_p.h>
+
+QT_BEGIN_NAMESPACE
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5
+// Static operator overloading so for the sake of some convieniece.
+// They only live in this compilation unit to avoid polluting Qt in general.
+static bool operator==(const struct ::timespec &left, const struct ::timespec &right)
+{
+ return left.tv_sec == right.tv_sec
+ && left.tv_nsec == right.tv_nsec;
+}
+
+static bool operator==(const struct ::stat64 &left, const struct ::stat64 &right)
+{
+ return left.st_dev == right.st_dev
+ && left.st_mode == right.st_mode
+ && left.st_size == right.st_size
+ && left.st_ino == right.st_ino
+ && left.st_uid == right.st_uid
+ && left.st_gid == right.st_gid
+ && left.st_mtimespec == right.st_mtimespec
+ && left.st_ctimespec == right.st_ctimespec
+ && left.st_flags == right.st_flags;
+}
+
+static bool operator!=(const struct ::stat64 &left, const struct ::stat64 &right)
+{
+ return !(operator==(left, right));
+}
+
+
+static void addPathToHash(PathHash &pathHash, const QString &key, const QFileInfo &fileInfo,
+ const QString &path)
+{
+ PathInfoList &list = pathHash[key];
+ list.push_back(PathInfo(path,
+ fileInfo.absoluteFilePath().normalized(QString::NormalizationForm_D).toUtf8()));
+ pathHash.insert(key, list);
+}
+
+static void removePathFromHash(PathHash &pathHash, const QString &key, const QString &path)
+{
+ PathInfoList &list = pathHash[key];
+ // We make the assumption that the list contains unique paths
+ PathInfoList::iterator End = list.end();
+ PathInfoList::iterator it = list.begin();
+ while (it != End) {
+ if (it->originalPath == path) {
+ list.erase(it);
+ break;
+ }
+ ++it;
+ }
+ if (list.isEmpty())
+ pathHash.remove(key);
+}
+
+static void stopFSStream(FSEventStreamRef stream)
+{
+ if (stream) {
+ FSEventStreamStop(stream);
+ FSEventStreamInvalidate(stream);
+ }
+}
+
+static QString createFSStreamPath(const QString &absolutePath)
+{
+ // The path returned has a trailing slash, so ensure that here.
+ QString string = absolutePath;
+ string.reserve(string.size() + 1);
+ string.append(QLatin1Char('/'));
+ return string;
+}
+
+static void cleanupFSStream(FSEventStreamRef stream)
+{
+ if (stream)
+ FSEventStreamRelease(stream);
+}
+
+const FSEventStreamCreateFlags QtFSEventFlags = (kFSEventStreamCreateFlagUseCFTypes | kFSEventStreamCreateFlagNoDefer /* | kFSEventStreamCreateFlagWatchRoot*/);
+
+const CFTimeInterval Latency = 0.033; // This will do updates 30 times a second which is probably more than you need.
+#endif
+
+QFSEventsFileSystemWatcherEngine::QFSEventsFileSystemWatcherEngine()
+ : fsStream(0), pathsToWatch(0), threadsRunLoop(0)
+{
+}
+
+QFSEventsFileSystemWatcherEngine::~QFSEventsFileSystemWatcherEngine()
+{
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5
+ // I assume that at this point, QFileSystemWatcher has already called stop
+ // on me, so I don't need to invalidate or stop my stream, simply
+ // release it.
+ cleanupFSStream(fsStream);
+ if (pathsToWatch)
+ CFRelease(pathsToWatch);
+#endif
+}
+
+QFSEventsFileSystemWatcherEngine *QFSEventsFileSystemWatcherEngine::create()
+{
+ return new QFSEventsFileSystemWatcherEngine();
+}
+
+QStringList QFSEventsFileSystemWatcherEngine::addPaths(const QStringList &paths,
+ QStringList *files,
+ QStringList *directories)
+{
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5
+ stop();
+ QMutexLocker locker(&mutex);
+ QStringList failedToAdd;
+ // if we have a running FSStreamEvent, we have to kill it, we'll re-add the stream soon.
+ FSEventStreamEventId idToCheck;
+ if (fsStream) {
+ idToCheck = FSEventStreamGetLatestEventId(fsStream);
+ cleanupFSStream(fsStream);
+ } else {
+ idToCheck = kFSEventStreamEventIdSinceNow;
+ }
+
+ // Brain-dead approach, but works. FSEvents actually can already read sub-trees, but since it's
+ // work to figure out if we are doing a double register, we just register it twice as FSEvents
+ // seems smart enough to only deliver one event. We also duplicate directory entries in here
+ // (e.g., if you watch five files in the same directory, you get that directory included in the
+ // array 5 times). This stupidity also makes remove work correctly though. I'll freely admit
+ // that we could make this a bit smarter. If you do, check the auto-tests, they should catch at
+ // least a couple of the issues.
+ QCFType<CFMutableArrayRef> tmpArray = CFArrayCreateMutable(kCFAllocatorDefault, 0, &kCFTypeArrayCallBacks);
+ for (int i = 0; i < paths.size(); ++i) {
+ const QString &path = paths.at(i);
+
+ QFileInfo fileInfo(path);
+ if (!fileInfo.exists()) {
+ failedToAdd.append(path);
+ continue;
+ }
+
+ if (fileInfo.isDir()) {
+ if (directories->contains(path)) {
+ failedToAdd.append(path);
+ continue;
+ } else {
+ directories->append(path);
+ // Full file path for dirs.
+ QCFString cfpath(createFSStreamPath(fileInfo.absoluteFilePath()));
+ addPathToHash(dirPathInfoHash, cfpath, fileInfo, path);
+ CFArrayAppendValue(tmpArray, cfpath);
+ }
+ } else {
+ if (files->contains(path)) {
+ failedToAdd.append(path);
+ continue;
+ } else {
+ // Just the absolute path (minus it's filename) for files.
+ QCFString cfpath(createFSStreamPath(fileInfo.absolutePath()));
+ files->append(path);
+ addPathToHash(filePathInfoHash, cfpath, fileInfo, path);
+ CFArrayAppendValue(tmpArray, cfpath);
+ }
+ }
+ }
+ if (CFArrayGetCount(tmpArray) > 0) {
+ if (pathsToWatch) {
+ CFArrayAppendArray(tmpArray, pathsToWatch, CFRangeMake(0, CFArrayGetCount(pathsToWatch)));
+ CFRelease(pathsToWatch);
+ }
+ pathsToWatch = CFArrayCreateCopy(kCFAllocatorDefault, tmpArray);
+ }
+ FSEventStreamContext context = { 0, this, 0, 0, 0 };
+ fsStream = FSEventStreamCreate(kCFAllocatorDefault,
+ QFSEventsFileSystemWatcherEngine::fseventsCallback,
+ &context, pathsToWatch,
+ idToCheck, Latency, QtFSEventFlags);
+ warmUpFSEvents();
+
+ return failedToAdd;
+#else
+ Q_UNUSED(paths);
+ Q_UNUSED(files);
+ Q_UNUSED(directories);
+ return QStringList();
+#endif
+}
+
+void QFSEventsFileSystemWatcherEngine::warmUpFSEvents()
+{
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5
+ // This function assumes that the mutex has already been grabbed before calling it.
+ // It exits with the mutex still locked (Q_ASSERT(mutex.isLocked()) ;-).
+ start();
+ waitCondition.wait(&mutex);
+#endif
+}
+
+QStringList QFSEventsFileSystemWatcherEngine::removePaths(const QStringList &paths,
+ QStringList *files,
+ QStringList *directories)
+{
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5
+ stop();
+ QMutexLocker locker(&mutex);
+ // short circuit for smarties that call remove before add and we have nothing.
+ if (pathsToWatch == 0)
+ return paths;
+ QStringList failedToRemove;
+ // if we have a running FSStreamEvent, we have to stop it, we'll re-add the stream soon.
+ FSEventStreamEventId idToCheck;
+ if (fsStream) {
+ idToCheck = FSEventStreamGetLatestEventId(fsStream);
+ cleanupFSStream(fsStream);
+ fsStream = 0;
+ } else {
+ idToCheck = kFSEventStreamEventIdSinceNow;
+ }
+
+ CFIndex itemCount = CFArrayGetCount(pathsToWatch);
+ QCFType<CFMutableArrayRef> tmpArray = CFArrayCreateMutableCopy(kCFAllocatorDefault, itemCount,
+ pathsToWatch);
+ CFRelease(pathsToWatch);
+ pathsToWatch = 0;
+ for (int i = 0; i < paths.size(); ++i) {
+ // Get the itemCount at the beginning to avoid any overruns during the iteration.
+ itemCount = CFArrayGetCount(tmpArray);
+ const QString &path = paths.at(i);
+ QFileInfo fi(path);
+ QCFString cfpath(createFSStreamPath(fi.absolutePath()));
+
+ CFIndex index = CFArrayGetFirstIndexOfValue(tmpArray, CFRangeMake(0, itemCount), cfpath);
+ if (index != -1) {
+ CFArrayRemoveValueAtIndex(tmpArray, index);
+ files->removeAll(path);
+ removePathFromHash(filePathInfoHash, cfpath, path);
+ } else {
+ // Could be a directory we are watching instead.
+ QCFString cfdirpath(createFSStreamPath(fi.absoluteFilePath()));
+ index = CFArrayGetFirstIndexOfValue(tmpArray, CFRangeMake(0, itemCount), cfdirpath);
+ if (index != -1) {
+ CFArrayRemoveValueAtIndex(tmpArray, index);
+ directories->removeAll(path);
+ removePathFromHash(dirPathInfoHash, cfpath, path);
+ } else {
+ failedToRemove.append(path);
+ }
+ }
+ }
+ itemCount = CFArrayGetCount(tmpArray);
+ if (itemCount != 0) {
+ pathsToWatch = CFArrayCreateCopy(kCFAllocatorDefault, tmpArray);
+
+ FSEventStreamContext context = { 0, this, 0, 0, 0 };
+ fsStream = FSEventStreamCreate(kCFAllocatorDefault,
+ QFSEventsFileSystemWatcherEngine::fseventsCallback,
+ &context, pathsToWatch, idToCheck, Latency, QtFSEventFlags);
+ warmUpFSEvents();
+ }
+ return failedToRemove;
+#else
+ Q_UNUSED(paths);
+ Q_UNUSED(files);
+ Q_UNUSED(directories);
+ return QStringList();
+#endif
+}
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5
+void QFSEventsFileSystemWatcherEngine::updateList(PathInfoList &list, bool directory, bool emitSignals)
+{
+ PathInfoList::iterator End = list.end();
+ PathInfoList::iterator it = list.begin();
+ while (it != End) {
+ struct ::stat64 newInfo;
+ if (::stat64(it->absolutePath, &newInfo) == 0) {
+ if (emitSignals) {
+ if (newInfo != it->savedInfo) {
+ it->savedInfo = newInfo;
+ if (directory)
+ emit directoryChanged(it->originalPath, false);
+ else
+ emit fileChanged(it->originalPath, false);
+ }
+ } else {
+ it->savedInfo = newInfo;
+ }
+ } else {
+ if (errno == ENOENT) {
+ if (emitSignals) {
+ if (directory)
+ emit directoryChanged(it->originalPath, true);
+ else
+ emit fileChanged(it->originalPath, true);
+ }
+ it = list.erase(it);
+ continue;
+ } else {
+ qWarning("%s:%d:QFSEventsFileSystemWatcherEngine: stat error on %s:%s",
+ __FILE__, __LINE__, qPrintable(it->originalPath), strerror(errno));
+
+ }
+ }
+ ++it;
+ }
+}
+
+void QFSEventsFileSystemWatcherEngine::updateHash(PathHash &pathHash)
+{
+ PathHash::iterator HashEnd = pathHash.end();
+ PathHash::iterator it = pathHash.begin();
+ const bool IsDirectory = (&pathHash == &dirPathInfoHash);
+ while (it != HashEnd) {
+ updateList(it.value(), IsDirectory, false);
+ if (it.value().isEmpty())
+ it = pathHash.erase(it);
+ else
+ ++it;
+ }
+}
+#endif
+
+void QFSEventsFileSystemWatcherEngine::fseventsCallback(ConstFSEventStreamRef ,
+ void *clientCallBackInfo, size_t numEvents,
+ void *eventPaths,
+ const FSEventStreamEventFlags eventFlags[],
+ const FSEventStreamEventId [])
+{
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5
+ QFSEventsFileSystemWatcherEngine *watcher = static_cast<QFSEventsFileSystemWatcherEngine *>(clientCallBackInfo);
+ QMutexLocker locker(&watcher->mutex);
+ CFArrayRef paths = static_cast<CFArrayRef>(eventPaths);
+ for (size_t i = 0; i < numEvents; ++i) {
+ const QString path = QCFString::toQString(
+ static_cast<CFStringRef>(CFArrayGetValueAtIndex(paths, i)));
+ const FSEventStreamEventFlags pathFlags = eventFlags[i];
+ // There are several flags that may be passed, but we really don't care about them ATM.
+ // Here they are and why we don't care.
+ // kFSEventStreamEventFlagHistoryDone--(very unlikely to be gotten, but even then, not much changes).
+ // kFSEventStreamEventFlagMustScanSubDirs--Likely means the data is very much out of date, we
+ // aren't coalescing our directories, so again not so much of an issue
+ // kFSEventStreamEventFlagRootChanged | kFSEventStreamEventFlagMount | kFSEventStreamEventFlagUnmount--
+ // These three flags indicate something has changed, but the stat will likely show this, so
+ // there's not really much to worry about.
+ // (btw, FSEvents is not the correct way of checking for mounts/unmounts,
+ // there are real CarbonCore events for that.)
+ Q_UNUSED(pathFlags);
+ if (watcher->filePathInfoHash.contains(path))
+ watcher->updateList(watcher->filePathInfoHash[path], false, true);
+
+ if (watcher->dirPathInfoHash.contains(path))
+ watcher->updateList(watcher->dirPathInfoHash[path], true, true);
+ }
+#else
+ Q_UNUSED(clientCallBackInfo);
+ Q_UNUSED(numEvents);
+ Q_UNUSED(eventPaths);
+ Q_UNUSED(eventFlags);
+#endif
+}
+
+void QFSEventsFileSystemWatcherEngine::stop()
+{
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5
+ QMutexLocker locker(&mutex);
+ stopFSStream(fsStream);
+ if (threadsRunLoop) {
+ CFRunLoopStop(threadsRunLoop);
+ waitForStop.wait(&mutex);
+ }
+#endif
+}
+
+void QFSEventsFileSystemWatcherEngine::updateFiles()
+{
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5
+ QMutexLocker locker(&mutex);
+ updateHash(filePathInfoHash);
+ updateHash(dirPathInfoHash);
+ if (filePathInfoHash.isEmpty() && dirPathInfoHash.isEmpty()) {
+ // Everything disappeared before we got to start, don't bother.
+ stop();
+ cleanupFSStream(fsStream);
+ }
+ waitCondition.wakeAll();
+#endif
+}
+
+void QFSEventsFileSystemWatcherEngine::run()
+{
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5
+ threadsRunLoop = CFRunLoopGetCurrent();
+ FSEventStreamScheduleWithRunLoop(fsStream, threadsRunLoop, kCFRunLoopDefaultMode);
+ bool startedOK = FSEventStreamStart(fsStream);
+ // It's recommended by Apple that you only update the files after you've started
+ // the stream, because otherwise you might miss an update in between starting it.
+ updateFiles();
+#ifdef QT_NO_DEBUG
+ Q_UNUSED(startedOK);
+#else
+ Q_ASSERT(startedOK);
+#endif
+ // If for some reason we called stop up above (and invalidated our stream), this call will return
+ // immediately.
+ CFRunLoopRun();
+ threadsRunLoop = 0;
+ QMutexLocker locker(&mutex);
+ waitForStop.wakeAll();
+#endif
+}
+
+QT_END_NAMESPACE
diff --git a/src/corelib/io/qfilesystemwatcher_fsevents_p.h b/src/corelib/io/qfilesystemwatcher_fsevents_p.h
new file mode 100644
index 0000000..ffc0c68
--- /dev/null
+++ b/src/corelib/io/qfilesystemwatcher_fsevents_p.h
@@ -0,0 +1,128 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtCore module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+
+#ifndef FILEWATCHER_FSEVENTS_P_H
+#define FILEWATCHER_FSEVENTS_P_H
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists for the convenience
+// of the QLibrary class. This header file may change from
+// version to version without notice, or even be removed.
+//
+// We mean it.
+//
+
+#include "qfilesystemwatcher_p.h"
+
+#include <QtCore/qmutex.h>
+#include <QtCore/qwaitcondition.h>
+#include <QtCore/qthread.h>
+#include <QtCore/QHash>
+#include <QtCore/QLinkedList>
+#include <private/qcore_mac_p.h>
+#include <sys/stat.h>
+
+typedef struct __FSEventStream *FSEventStreamRef;
+typedef const struct __FSEventStream *ConstFSEventStreamRef;
+typedef const struct __CFArray *CFArrayRef;
+typedef UInt32 FSEventStreamEventFlags;
+typedef uint64_t FSEventStreamEventId;
+
+QT_BEGIN_NAMESPACE
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5
+// Yes, I use a stat64 element here. QFileInfo requires too much knowledge about implementation
+// details to be used as a long-standing record. Since I'm going to have to store this information, I can
+// do the stat myself too.
+struct PathInfo {
+ PathInfo(const QString &path, const QByteArray &absPath)
+ : originalPath(path), absolutePath(absPath) {}
+ QString originalPath; // The path we need to emit
+ QByteArray absolutePath; // The path we need to stat.
+ struct ::stat64 savedInfo; // All the info for the path so we can compare it.
+};
+typedef QLinkedList<PathInfo> PathInfoList;
+typedef QHash<QString, PathInfoList> PathHash;
+#endif
+
+class QFSEventsFileSystemWatcherEngine : public QFileSystemWatcherEngine
+{
+ Q_OBJECT
+public:
+ ~QFSEventsFileSystemWatcherEngine();
+
+ static QFSEventsFileSystemWatcherEngine *create();
+
+ QStringList addPaths(const QStringList &paths, QStringList *files, QStringList *directories);
+ QStringList removePaths(const QStringList &paths, QStringList *files, QStringList *directories);
+
+ void stop();
+
+private:
+ QFSEventsFileSystemWatcherEngine();
+ void warmUpFSEvents();
+ void updateFiles();
+
+ static void fseventsCallback(ConstFSEventStreamRef streamRef, void *clientCallBackInfo, size_t numEvents,
+ void *eventPaths, const FSEventStreamEventFlags eventFlags[],
+ const FSEventStreamEventId eventIds[]);
+ void run();
+ FSEventStreamRef fsStream;
+ CFArrayRef pathsToWatch;
+ CFRunLoopRef threadsRunLoop;
+ QMutex mutex;
+ QWaitCondition waitCondition;
+ QWaitCondition waitForStop;
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5
+ PathHash filePathInfoHash;
+ PathHash dirPathInfoHash;
+ void updateHash(PathHash &pathHash);
+ void updateList(PathInfoList &list, bool directory, bool emitSignals);
+#endif
+};
+
+#endif
+
+QT_END_NAMESPACE
diff --git a/src/corelib/io/qfilesystemwatcher_inotify.cpp b/src/corelib/io/qfilesystemwatcher_inotify.cpp
index 401e545..9d08228 100644
--- a/src/corelib/io/qfilesystemwatcher_inotify.cpp
+++ b/src/corelib/io/qfilesystemwatcher_inotify.cpp
@@ -44,6 +44,8 @@
#ifndef QT_NO_FILESYSTEMWATCHER
+#include "private/qcore_unix_p.h"
+
#include <qdebug.h>
#include <qfile.h>
#include <qfileinfo.h>
@@ -62,62 +64,80 @@
# define __NR_inotify_init 291
# define __NR_inotify_add_watch 292
# define __NR_inotify_rm_watch 293
+# define __NR_inotify_init1 332
#elif defined(__x86_64__)
# define __NR_inotify_init 253
# define __NR_inotify_add_watch 254
# define __NR_inotify_rm_watch 255
+# define __NR_inotify_init1 294
#elif defined(__powerpc__) || defined(__powerpc64__)
# define __NR_inotify_init 275
# define __NR_inotify_add_watch 276
# define __NR_inotify_rm_watch 277
+# define __NR_inotify_init1 318
#elif defined (__ia64__)
# define __NR_inotify_init 1277
# define __NR_inotify_add_watch 1278
# define __NR_inotify_rm_watch 1279
+# define __NR_inotify_init1 1318
#elif defined (__s390__) || defined (__s390x__)
# define __NR_inotify_init 284
# define __NR_inotify_add_watch 285
# define __NR_inotify_rm_watch 286
+# define __NR_inotify_init1 324
#elif defined (__alpha__)
# define __NR_inotify_init 444
# define __NR_inotify_add_watch 445
# define __NR_inotify_rm_watch 446
+// no inotify_init1 for the Alpha
#elif defined (__sparc__) || defined (__sparc64__)
# define __NR_inotify_init 151
# define __NR_inotify_add_watch 152
# define __NR_inotify_rm_watch 156
+# define __NR_inotify_init1 322
#elif defined (__arm__)
# define __NR_inotify_init 316
# define __NR_inotify_add_watch 317
# define __NR_inotify_rm_watch 318
+# define __NR_inotify_init1 360
#elif defined (__sh__)
# define __NR_inotify_init 290
# define __NR_inotify_add_watch 291
# define __NR_inotify_rm_watch 292
+# define __NR_inotify_init1 332
#elif defined (__sh64__)
# define __NR_inotify_init 318
# define __NR_inotify_add_watch 319
# define __NR_inotify_rm_watch 320
+# define __NR_inotify_init1 360
#elif defined (__mips__)
# define __NR_inotify_init 284
# define __NR_inotify_add_watch 285
# define __NR_inotify_rm_watch 286
+# define __NR_inotify_init1 329
#elif defined (__hppa__)
# define __NR_inotify_init 269
# define __NR_inotify_add_watch 270
# define __NR_inotify_rm_watch 271
+# define __NR_inotify_init1 314
#elif defined (__avr32__)
# define __NR_inotify_init 240
# define __NR_inotify_add_watch 241
# define __NR_inotify_rm_watch 242
+// no inotify_init1 for AVR32
#elif defined (__mc68000__)
# define __NR_inotify_init 284
# define __NR_inotify_add_watch 285
# define __NR_inotify_rm_watch 286
+# define __NR_inotify_init1 328
#else
# error "This architecture is not supported. Please talk to qt-bugs@trolltech.com"
#endif
+#if !defined(IN_CLOEXEC) && defined(O_CLOEXEC) && defined(__NR_inotify_init1)
+# define IN_CLOEXEC O_CLOEXEC
+#endif
+
QT_BEGIN_NAMESPACE
#ifdef QT_LINUXBASE
@@ -140,6 +160,13 @@ static inline int inotify_rm_watch(int fd, __u32 wd)
return syscall(__NR_inotify_rm_watch, fd, wd);
}
+#ifdef IN_CLOEXEC
+static inline int inotify_init1(int flags)
+{
+ return syscall(__NR_inotify_init1, flags);
+}
+#endif
+
// the following struct and values are documented in linux/inotify.h
extern "C" {
@@ -185,9 +212,16 @@ QT_BEGIN_NAMESPACE
QInotifyFileSystemWatcherEngine *QInotifyFileSystemWatcherEngine::create()
{
- int fd = inotify_init();
- if (fd <= 0)
- return 0;
+ register int fd = -1;
+#ifdef IN_CLOEXEC
+ fd = inotify_init1(IN_CLOEXEC);
+#endif
+ if (fd == -1) {
+ fd = inotify_init();
+ if (fd == -1)
+ return 0;
+ ::fcntl(fd, F_SETFD, FD_CLOEXEC);
+ }
return new QInotifyFileSystemWatcherEngine(fd);
}
diff --git a/src/corelib/io/qfilesystemwatcher_kqueue.cpp b/src/corelib/io/qfilesystemwatcher_kqueue.cpp
index ed42c34..dfed6a4 100644
--- a/src/corelib/io/qfilesystemwatcher_kqueue.cpp
+++ b/src/corelib/io/qfilesystemwatcher_kqueue.cpp
@@ -43,6 +43,7 @@
#include "qfilesystemwatcher.h"
#include "qfilesystemwatcher_kqueue_p.h"
+#include "private/qcore_unix_p.h"
#include <qdebug.h>
#include <qfile.h>
@@ -124,9 +125,9 @@ QStringList QKqueueFileSystemWatcherEngine::addPaths(const QStringList &paths,
QString path = it.next();
int fd;
#if defined(O_EVTONLY)
- fd = ::open(QFile::encodeName(path), O_EVTONLY);
+ fd = qt_safe_open(QFile::encodeName(path), O_EVTONLY);
#else
- fd = ::open(QFile::encodeName(path), O_RDONLY);
+ fd = qt_safe_open(QFile::encodeName(path), O_RDONLY);
#endif
if (fd == -1) {
perror("QKqueueFileSystemWatcherEngine::addPaths: open");
diff --git a/src/corelib/io/qfilesystemwatcher_p.h b/src/corelib/io/qfilesystemwatcher_p.h
index 850e150..83be197 100644
--- a/src/corelib/io/qfilesystemwatcher_p.h
+++ b/src/corelib/io/qfilesystemwatcher_p.h
@@ -69,13 +69,14 @@ class QFileSystemWatcherEngine : public QThread
Q_OBJECT
protected:
- inline QFileSystemWatcherEngine()
+ inline QFileSystemWatcherEngine(bool move = true)
{
- moveToThread(this);
+ if (move)
+ moveToThread(this);
}
public:
- // fills \a files and \a directires with the \a paths it could
+ // fills \a files and \a directories with the \a paths it could
// watch, and returns a list of paths this engine could not watch
virtual QStringList addPaths(const QStringList &paths,
QStringList *files,
diff --git a/src/corelib/io/qfilesystemwatcher_symbian.cpp b/src/corelib/io/qfilesystemwatcher_symbian.cpp
index c8c1d82..49a5f34 100644
--- a/src/corelib/io/qfilesystemwatcher_symbian.cpp
+++ b/src/corelib/io/qfilesystemwatcher_symbian.cpp
@@ -1,9 +1,9 @@
/****************************************************************************
**
-** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
-** This file is part of the $MODULE$ of the Qt Toolkit.
+** This file is part of the QtCore of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/src/corelib/io/qfilesystemwatcher_symbian_p.h b/src/corelib/io/qfilesystemwatcher_symbian_p.h
index 9919114..53b2b13 100644
--- a/src/corelib/io/qfilesystemwatcher_symbian_p.h
+++ b/src/corelib/io/qfilesystemwatcher_symbian_p.h
@@ -1,9 +1,9 @@
/****************************************************************************
**
-** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
-** This file is part of the $MODULE$ of the Qt Toolkit.
+** This file is part of the QtCore of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/src/corelib/io/qfilesystemwatcher_win.cpp b/src/corelib/io/qfilesystemwatcher_win.cpp
index 9a3aeae..9eeef02 100644
--- a/src/corelib/io/qfilesystemwatcher_win.cpp
+++ b/src/corelib/io/qfilesystemwatcher_win.cpp
@@ -53,25 +53,268 @@
QT_BEGIN_NAMESPACE
+void QWindowsFileSystemWatcherEngine::stop()
+{
+ foreach(QWindowsFileSystemWatcherEngineThread *thread, threads)
+ thread->stop();
+}
+
QWindowsFileSystemWatcherEngine::QWindowsFileSystemWatcherEngine()
- : msg(0)
+ : QFileSystemWatcherEngine(false)
{
- HANDLE h = QT_WA_INLINE(CreateEventW(0, false, false, 0),
- CreateEventA(0, false, false, 0));
- if (h != INVALID_HANDLE_VALUE) {
- handles.reserve(MAXIMUM_WAIT_OBJECTS);
- handles.append(h);
- }
}
QWindowsFileSystemWatcherEngine::~QWindowsFileSystemWatcherEngine()
{
- if (handles.isEmpty())
+ if (threads.isEmpty())
return;
- stop();
- wait();
+ foreach(QWindowsFileSystemWatcherEngineThread *thread, threads) {
+ thread->stop();
+ thread->wait();
+ delete thread;
+ }
+}
+
+QStringList QWindowsFileSystemWatcherEngine::addPaths(const QStringList &paths,
+ QStringList *files,
+ QStringList *directories)
+{
+ // qDebug()<<"Adding"<<paths.count()<<"to existing"<<(files->count() + directories->count())<<"watchers";
+ QStringList p = paths;
+ QMutableListIterator<QString> it(p);
+ while (it.hasNext()) {
+ QString path = it.next();
+ QString normalPath = path;
+ if ((normalPath.endsWith(QLatin1Char('/')) || normalPath.endsWith(QLatin1Char('\\')))
+#ifdef Q_OS_WINCE
+ && normalPath.size() > 1)
+#else
+ )
+#endif
+ normalPath.chop(1);
+ QFileInfo fileInfo(normalPath.toLower());
+ if (!fileInfo.exists())
+ continue;
+
+ bool isDir = fileInfo.isDir();
+ if (isDir) {
+ if (directories->contains(path))
+ continue;
+ } else {
+ if (files->contains(path))
+ continue;
+ }
+
+ // qDebug()<<"Looking for a thread/handle for"<<normalPath;
+
+ const QString absolutePath = isDir ? fileInfo.absoluteFilePath() : fileInfo.absolutePath();
+ const uint flags = isDir
+ ? (FILE_NOTIFY_CHANGE_DIR_NAME
+ | FILE_NOTIFY_CHANGE_FILE_NAME)
+ : (FILE_NOTIFY_CHANGE_DIR_NAME
+ | FILE_NOTIFY_CHANGE_FILE_NAME
+ | FILE_NOTIFY_CHANGE_ATTRIBUTES
+ | FILE_NOTIFY_CHANGE_SIZE
+ | FILE_NOTIFY_CHANGE_LAST_WRITE
+ | FILE_NOTIFY_CHANGE_SECURITY);
+
+ QWindowsFileSystemWatcherEngine::PathInfo pathInfo;
+ pathInfo.absolutePath = absolutePath;
+ pathInfo.isDir = isDir;
+ pathInfo.path = path;
+ pathInfo = fileInfo;
+
+ // Look for a thread
+ QWindowsFileSystemWatcherEngineThread *thread = 0;
+ QWindowsFileSystemWatcherEngine::Handle handle;
+ QList<QWindowsFileSystemWatcherEngineThread *>::const_iterator jt, end;
+ end = threads.constEnd();
+ for(jt = threads.constBegin(); jt != end; ++jt) {
+ thread = *jt;
+ QMutexLocker locker(&(thread->mutex));
+
+ handle = thread->handleForDir.value(absolutePath);
+ if (handle.handle != INVALID_HANDLE_VALUE && handle.flags == flags) {
+ // found a thread now insert...
+ // qDebug()<<" Found a thread"<<thread;
+
+ QHash<QString, QWindowsFileSystemWatcherEngine::PathInfo> &h
+ = thread->pathInfoForHandle[handle.handle];
+ if (!h.contains(fileInfo.absoluteFilePath())) {
+ thread->pathInfoForHandle[handle.handle].insert(fileInfo.absoluteFilePath(), pathInfo);
+ if (isDir)
+ directories->append(path);
+ else
+ files->append(path);
+ }
+ it.remove();
+ thread->wakeup();
+ break;
+ }
+ }
+
+ // no thread found, first create a handle
+ if (handle.handle == INVALID_HANDLE_VALUE || handle.flags != flags) {
+ // qDebug()<<" No thread found";
+ // Volume and folder paths need a trailing slash for proper notification
+ // (e.g. "c:" -> "c:/").
+ const QString effectiveAbsolutePath =
+ isDir ? (absolutePath + QLatin1Char('/')) : absolutePath;
+
+ handle.handle = FindFirstChangeNotification((wchar_t*) QDir::toNativeSeparators(effectiveAbsolutePath).utf16(), false, flags);
+ handle.flags = flags;
+ if (handle.handle == INVALID_HANDLE_VALUE)
+ continue;
+
+ // now look for a thread to insert
+ bool found = false;
+ foreach(QWindowsFileSystemWatcherEngineThread *thread, threads) {
+ QMutexLocker(&(thread->mutex));
+ if (thread->handles.count() < MAXIMUM_WAIT_OBJECTS) {
+ // qDebug() << " Added handle" << handle.handle << "for" << absolutePath << "to watch" << fileInfo.absoluteFilePath();
+ // qDebug()<< " to existing thread"<<thread;
+ thread->handles.append(handle.handle);
+ thread->handleForDir.insert(absolutePath, handle);
+
+ thread->pathInfoForHandle[handle.handle].insert(fileInfo.absoluteFilePath(), pathInfo);
+ if (isDir)
+ directories->append(path);
+ else
+ files->append(path);
+
+ it.remove();
+ found = true;
+ thread->wakeup();
+ break;
+ }
+ }
+ if (!found) {
+ QWindowsFileSystemWatcherEngineThread *thread = new QWindowsFileSystemWatcherEngineThread();
+ //qDebug()<<" ###Creating new thread"<<thread<<"("<<(threads.count()+1)<<"threads)";
+ thread->handles.append(handle.handle);
+ thread->handleForDir.insert(absolutePath, handle);
+
+ thread->pathInfoForHandle[handle.handle].insert(fileInfo.absoluteFilePath(), pathInfo);
+ if (isDir)
+ directories->append(path);
+ else
+ files->append(path);
+
+ connect(thread, SIGNAL(fileChanged(const QString &, bool)),
+ this, SIGNAL(fileChanged(const QString &, bool)));
+ connect(thread, SIGNAL(directoryChanged(const QString &, bool)),
+ this, SIGNAL(directoryChanged(const QString &, bool)));
+
+ thread->msg = '@';
+ thread->start();
+ threads.append(thread);
+ it.remove();
+ }
+ }
+ }
+ return p;
+}
+
+QStringList QWindowsFileSystemWatcherEngine::removePaths(const QStringList &paths,
+ QStringList *files,
+ QStringList *directories)
+{
+ // qDebug()<<"removePaths"<<paths;
+ QStringList p = paths;
+ QMutableListIterator<QString> it(p);
+ while (it.hasNext()) {
+ QString path = it.next();
+ QString normalPath = path;
+ if (normalPath.endsWith(QLatin1Char('/')) || normalPath.endsWith(QLatin1Char('\\')))
+ normalPath.chop(1);
+ QFileInfo fileInfo(normalPath.toLower());
+ // qDebug()<<"removing"<<normalPath;
+ QString absolutePath = fileInfo.absoluteFilePath();
+ QList<QWindowsFileSystemWatcherEngineThread *>::iterator jt, end;
+ end = threads.end();
+ for(jt = threads.begin(); jt!= end; ++jt) {
+ QWindowsFileSystemWatcherEngineThread *thread = *jt;
+ if (*jt == 0)
+ continue;
+
+ QMutexLocker locker(&(thread->mutex));
+
+ QWindowsFileSystemWatcherEngine::Handle handle = thread->handleForDir.value(absolutePath);
+ if (handle.handle == INVALID_HANDLE_VALUE) {
+ // perhaps path is a file?
+ absolutePath = fileInfo.absolutePath();
+ handle = thread->handleForDir.value(absolutePath);
+ }
+ if (handle.handle != INVALID_HANDLE_VALUE) {
+ QHash<QString, QWindowsFileSystemWatcherEngine::PathInfo> &h =
+ thread->pathInfoForHandle[handle.handle];
+ if (h.remove(fileInfo.absoluteFilePath())) {
+ // ###
+ files->removeAll(path);
+ directories->removeAll(path);
+
+ if (h.isEmpty()) {
+ // qDebug() << "Closing handle" << handle.handle;
+ FindCloseChangeNotification(handle.handle); // This one might generate a notification
+
+ int indexOfHandle = thread->handles.indexOf(handle.handle);
+ Q_ASSERT(indexOfHandle != -1);
+ thread->handles.remove(indexOfHandle);
+
+ thread->handleForDir.remove(absolutePath);
+ // h is now invalid
+
+ it.remove();
+
+ if (thread->handleForDir.isEmpty()) {
+ // qDebug()<<"Stopping thread "<<thread;
+ locker.unlock();
+ thread->stop();
+ thread->wait();
+ locker.relock();
+ // We can't delete the thread until the mutex locker is
+ // out of scope
+ }
+ }
+ }
+ // Found the file, go to next one
+ break;
+ }
+ }
+ }
+
+ // Remove all threads that we stopped
+ QList<QWindowsFileSystemWatcherEngineThread *>::iterator jt, end;
+ end = threads.end();
+ for(jt = threads.begin(); jt != end; ++jt) {
+ if (!(*jt)->isRunning()) {
+ delete *jt;
+ *jt = 0;
+ }
+ }
+
+ threads.removeAll(0);
+ return p;
+}
+
+///////////
+// QWindowsFileSystemWatcherEngineThread
+///////////
+QWindowsFileSystemWatcherEngineThread::QWindowsFileSystemWatcherEngineThread()
+ : msg(0)
+{
+ if (HANDLE h = CreateEvent(0, false, false, 0)) {
+ handles.reserve(MAXIMUM_WAIT_OBJECTS);
+ handles.append(h);
+ }
+ moveToThread(this);
+}
+
+
+QWindowsFileSystemWatcherEngineThread::~QWindowsFileSystemWatcherEngineThread()
+{
CloseHandle(handles.at(0));
handles[0] = INVALID_HANDLE_VALUE;
@@ -82,13 +325,13 @@ QWindowsFileSystemWatcherEngine::~QWindowsFileSystemWatcherEngine()
}
}
-void QWindowsFileSystemWatcherEngine::run()
+void QWindowsFileSystemWatcherEngineThread::run()
{
QMutexLocker locker(&mutex);
forever {
QVector<HANDLE> handlesCopy = handles;
locker.unlock();
- // qDebug() << "QWindowsFileSystemWatcherEngine: waiting on" << handlesCopy.count() << "handles";
+ // qDebug() << "QWindowsFileSystemWatcherThread"<<this<<"waiting on" << handlesCopy.count() << "handles";
DWORD r = WaitForMultipleObjects(handlesCopy.count(), handlesCopy.constData(), false, INFINITE);
locker.relock();
do {
@@ -96,7 +339,7 @@ void QWindowsFileSystemWatcherEngine::run()
int m = msg;
msg = 0;
if (m == 'q') {
- // qDebug() << "thread told to quit";
+ // qDebug() << "thread"<<this<<"told to quit";
return;
}
if (m != '@') {
@@ -111,15 +354,15 @@ void QWindowsFileSystemWatcherEngine::run()
// When removing a path, FindCloseChangeNotification might actually fire a notification
// for some reason, so we must check if the handle exist in the handles vector
if (handles.contains(handle)) {
- // qDebug("Acknowledged handle: %d, %p", at, handle);
+ // qDebug()<<"thread"<<this<<"Acknowledged handle:"<<at<<handle;
if (!FindNextChangeNotification(handle)) {
- qErrnoWarning("QFileSystemWatcher: FindNextChangeNotification failed");
+ qErrnoWarning("QFileSystemWatcher: FindNextChangeNotification failed!!");
}
- QHash<QString, PathInfo> &h = pathInfoForHandle[handle];
- QMutableHashIterator<QString, PathInfo> it(h);
+ QHash<QString, QWindowsFileSystemWatcherEngine::PathInfo> &h = pathInfoForHandle[handle];
+ QMutableHashIterator<QString, QWindowsFileSystemWatcherEngine::PathInfo> it(h);
while (it.hasNext()) {
- QHash<QString, PathInfo>::iterator x = it.next();
+ QHash<QString, QWindowsFileSystemWatcherEngine::PathInfo>::iterator x = it.next();
QString absolutePath = x.value().absolutePath;
QFileInfo fileInfo(x.value().path);
// qDebug() << "checking" << x.key();
@@ -164,166 +407,14 @@ void QWindowsFileSystemWatcherEngine::run()
}
}
-QStringList QWindowsFileSystemWatcherEngine::addPaths(const QStringList &paths,
- QStringList *files,
- QStringList *directories)
-{
- if (handles.isEmpty() || handles.count() == MAXIMUM_WAIT_OBJECTS)
- return paths;
-
- QMutexLocker locker(&mutex);
-
- QStringList p = paths;
- QMutableListIterator<QString> it(p);
- while (it.hasNext()) {
- QString path = it.next();
- QString normalPath = path;
- if ((normalPath.endsWith(QLatin1Char('/')) || normalPath.endsWith(QLatin1Char('\\')))
-#ifdef Q_OS_WINCE
- && normalPath.size() > 1)
-#else
- )
-#endif
- normalPath.chop(1);
- QFileInfo fileInfo(normalPath.toLower());
- if (!fileInfo.exists())
- continue;
-
- bool isDir = fileInfo.isDir();
- if (isDir) {
- if (directories->contains(path))
- continue;
- } else {
- if (files->contains(path))
- continue;
- }
-
- const QString absolutePath = isDir ? fileInfo.absoluteFilePath() : fileInfo.absolutePath();
- const uint flags = isDir
- ? (FILE_NOTIFY_CHANGE_DIR_NAME
- | FILE_NOTIFY_CHANGE_FILE_NAME)
- : (FILE_NOTIFY_CHANGE_DIR_NAME
- | FILE_NOTIFY_CHANGE_FILE_NAME
- | FILE_NOTIFY_CHANGE_ATTRIBUTES
- | FILE_NOTIFY_CHANGE_SIZE
- | FILE_NOTIFY_CHANGE_LAST_WRITE
- | FILE_NOTIFY_CHANGE_SECURITY);
-
- Handle handle = handleForDir.value(absolutePath);
- if (handle.handle == INVALID_HANDLE_VALUE || handle.flags != flags) {
- // Volume and folder paths need a trailing slash for proper notification
- // (e.g. "c:" -> "c:/").
- const QString effectiveAbsolutePath =
- isDir ? (absolutePath + QLatin1Char('/')) : absolutePath;
-
- QT_WA({
- handle.handle = FindFirstChangeNotificationW((TCHAR *) QDir::toNativeSeparators(effectiveAbsolutePath).utf16(),
- false, flags);
- },{
- handle.handle = FindFirstChangeNotificationA(QDir::toNativeSeparators(effectiveAbsolutePath).toLocal8Bit(),
- false, flags);
- })
- handle.flags = flags;
- if (handle.handle == INVALID_HANDLE_VALUE)
- continue;
- // qDebug() << "Added handle" << handle << "for" << absolutePath << "to watch" << fileInfo.absoluteFilePath();
- handles.append(handle.handle);
- handleForDir.insert(absolutePath, handle);
- }
-
- PathInfo pathInfo;
- pathInfo.absolutePath = absolutePath;
- pathInfo.isDir = isDir;
- pathInfo.path = path;
- pathInfo = fileInfo;
- QHash<QString, PathInfo> &h = pathInfoForHandle[handle.handle];
- if (!h.contains(fileInfo.absoluteFilePath())) {
- pathInfoForHandle[handle.handle].insert(fileInfo.absoluteFilePath(), pathInfo);
- if (isDir)
- directories->append(path);
- else
- files->append(path);
- }
-
- it.remove();
- }
-
- if (!isRunning()) {
- msg = '@';
- start();
- } else {
- wakeup();
- }
-
- return p;
-}
-
-QStringList QWindowsFileSystemWatcherEngine::removePaths(const QStringList &paths,
- QStringList *files,
- QStringList *directories)
-{
- QMutexLocker locker(&mutex);
-
- QStringList p = paths;
- QMutableListIterator<QString> it(p);
- while (it.hasNext()) {
- QString path = it.next();
- QString normalPath = path;
- if (normalPath.endsWith(QLatin1Char('/')) || normalPath.endsWith(QLatin1Char('\\')))
- normalPath.chop(1);
- QFileInfo fileInfo(normalPath.toLower());
-
- QString absolutePath = fileInfo.absoluteFilePath();
- Handle handle = handleForDir.value(absolutePath);
- if (handle.handle == INVALID_HANDLE_VALUE) {
- // perhaps path is a file?
- absolutePath = fileInfo.absolutePath();
- handle = handleForDir.value(absolutePath);
- if (handle.handle == INVALID_HANDLE_VALUE)
- continue;
- }
-
- QHash<QString, PathInfo> &h = pathInfoForHandle[handle.handle];
- if (h.remove(fileInfo.absoluteFilePath())) {
- // ###
- files->removeAll(path);
- directories->removeAll(path);
-
- if (h.isEmpty()) {
- // qDebug() << "Closing handle" << handle;
- FindCloseChangeNotification(handle.handle); // This one might generate a notification
-
- int indexOfHandle = handles.indexOf(handle.handle);
- Q_ASSERT(indexOfHandle != -1);
- handles.remove(indexOfHandle);
-
- handleForDir.remove(absolutePath);
- // h is now invalid
-
- it.remove();
- }
- }
- }
-
- if (handleForDir.isEmpty()) {
- stop();
- locker.unlock();
- wait();
- locker.relock();
- } else {
- wakeup();
- }
-
- return p;
-}
-void QWindowsFileSystemWatcherEngine::stop()
+void QWindowsFileSystemWatcherEngineThread::stop()
{
msg = 'q';
SetEvent(handles.at(0));
}
-void QWindowsFileSystemWatcherEngine::wakeup()
+void QWindowsFileSystemWatcherEngineThread::wakeup()
{
msg = '@';
SetEvent(handles.at(0));
diff --git a/src/corelib/io/qfilesystemwatcher_win_p.h b/src/corelib/io/qfilesystemwatcher_win_p.h
index d0eecfc..405d255 100644
--- a/src/corelib/io/qfilesystemwatcher_win_p.h
+++ b/src/corelib/io/qfilesystemwatcher_win_p.h
@@ -57,7 +57,7 @@
#ifndef QT_NO_FILESYSTEMWATCHER
-#include <windows.h>
+#include <qt_windows.h>
#include <QtCore/qdatetime.h>
#include <QtCore/qfile.h>
@@ -68,27 +68,24 @@
QT_BEGIN_NAMESPACE
+class QWindowsFileSystemWatcherEngineThread;
+
+// Even though QWindowsFileSystemWatcherEngine is derived of QThread
+// via QFileSystemWatcher, it does not start a thread.
+// Instead QWindowsFileSystemWatcher creates QWindowsFileSystemWatcherEngineThreads
+// to do the actually watching.
class QWindowsFileSystemWatcherEngine : public QFileSystemWatcherEngine
{
Q_OBJECT
-
public:
QWindowsFileSystemWatcherEngine();
~QWindowsFileSystemWatcherEngine();
- void run();
-
QStringList addPaths(const QStringList &paths, QStringList *files, QStringList *directories);
QStringList removePaths(const QStringList &paths, QStringList *files, QStringList *directories);
void stop();
-private:
- void wakeup();
-
- QMutex mutex;
- QVector<HANDLE> handles;
- int msg;
class Handle
{
@@ -97,13 +94,12 @@ private:
uint flags;
Handle()
- : handle(INVALID_HANDLE_VALUE), flags(0u)
+ : handle(INVALID_HANDLE_VALUE), flags(0u)
{ }
Handle(const Handle &other)
- : handle(other.handle), flags(other.flags)
+ : handle(other.handle), flags(other.flags)
{ }
};
- QHash<QString, Handle> handleForDir;
class PathInfo {
public:
@@ -118,7 +114,7 @@ private:
QDateTime lastModified;
PathInfo &operator=(const QFileInfo &fileInfo)
- {
+ {
ownerId = fileInfo.ownerId();
groupId = fileInfo.groupId();
permissions = fileInfo.permissions();
@@ -134,8 +130,35 @@ private:
|| lastModified != fileInfo.lastModified());
}
};
- QHash<HANDLE, QHash<QString, PathInfo> > pathInfoForHandle;
+private:
+ QList<QWindowsFileSystemWatcherEngineThread *> threads;
+
+};
+
+class QWindowsFileSystemWatcherEngineThread : public QThread
+{
+ Q_OBJECT
+
+public:
+ QWindowsFileSystemWatcherEngineThread();
+ ~QWindowsFileSystemWatcherEngineThread();
+ void run();
+ void stop();
+ void wakeup();
+
+ QMutex mutex;
+ QVector<HANDLE> handles;
+ int msg;
+
+ QHash<QString, QWindowsFileSystemWatcherEngine::Handle> handleForDir;
+
+ QHash<HANDLE, QHash<QString, QWindowsFileSystemWatcherEngine::PathInfo> > pathInfoForHandle;
+
+Q_SIGNALS:
+ void fileChanged(const QString &path, bool removed);
+ void directoryChanged(const QString &path, bool removed);
};
+
#endif // QT_NO_FILESYSTEMWATCHER
QT_END_NAMESPACE
diff --git a/src/corelib/io/qfsfileengine.cpp b/src/corelib/io/qfsfileengine.cpp
index e32b818..3a43ec7 100644
--- a/src/corelib/io/qfsfileengine.cpp
+++ b/src/corelib/io/qfsfileengine.cpp
@@ -44,12 +44,16 @@
#include "qdatetime.h"
#include "qdiriterator.h"
#include "qset.h"
+#include <QtCore/qdebug.h>
#ifndef QT_NO_FSFILEENGINE
#if !defined(Q_OS_WINCE)
#include <errno.h>
#endif
+#if defined(Q_OS_UNIX)
+#include "private/qcore_unix_p.h"
+#endif
#include <stdio.h>
QT_BEGIN_NAMESPACE
@@ -568,7 +572,7 @@ bool QFSFileEnginePrivate::seekFdFh(qint64 pos)
} else {
// Unbuffered stdio mode.
if (QT_LSEEK(fd, pos, SEEK_SET) == -1) {
- qWarning("QFile::at: Cannot set file position %lld", pos);
+ qWarning() << "QFile::at: Cannot set file position" << pos;
q->setError(QFile::PositionError, qt_error_string(errno));
return false;
}
diff --git a/src/corelib/io/qfsfileengine.h b/src/corelib/io/qfsfileengine.h
index 0fd87a4..feca09b 100644
--- a/src/corelib/io/qfsfileengine.h
+++ b/src/corelib/io/qfsfileengine.h
@@ -56,7 +56,7 @@ class QFSFileEnginePrivate;
class Q_CORE_EXPORT QFSFileEngine : public QAbstractFileEngine
{
- Q_DECLARE_SCOPED_PRIVATE(QFSFileEngine)
+ Q_DECLARE_PRIVATE(QFSFileEngine)
public:
QFSFileEngine();
explicit QFSFileEngine(const QString &file);
diff --git a/src/corelib/io/qfsfileengine_iterator_win.cpp b/src/corelib/io/qfsfileengine_iterator_win.cpp
index 2336542..dd4ddf3 100644
--- a/src/corelib/io/qfsfileengine_iterator_win.cpp
+++ b/src/corelib/io/qfsfileengine_iterator_win.cpp
@@ -79,11 +79,7 @@ void QFSFileEngineIteratorPlatformSpecificData::saveCurrentFileName()
it->currentEntry = uncShares.at(uncShareIndex - 1);
} else {
// Local directory
- QT_WA({
- it->currentEntry = QString::fromUtf16((unsigned short *)findData.cFileName);
- } , {
- it->currentEntry = QString::fromLocal8Bit((const char *)findData.cFileName);
- });
+ it->currentEntry = QString::fromWCharArray(findData.cFileName);
}
}
@@ -97,17 +93,10 @@ void QFSFileEngineIterator::advance()
if (platform->uncFallback) {
++platform->uncShareIndex;
} else if (platform->findFileHandle != INVALID_HANDLE_VALUE) {
- QT_WA({
- if (!FindNextFile(platform->findFileHandle, &platform->findData)) {
- platform->done = true;
- FindClose(platform->findFileHandle);
- }
- } , {
- if (!FindNextFileA(platform->findFileHandle, (WIN32_FIND_DATAA *)&platform->findData)) {
- platform->done = true;
- FindClose(platform->findFileHandle);
- }
- });
+ if (!FindNextFile(platform->findFileHandle, &platform->findData)) {
+ platform->done = true;
+ FindClose(platform->findFileHandle);
+ }
}
}
@@ -141,15 +130,8 @@ bool QFSFileEngineIterator::hasNext() const
path.append(QLatin1Char('/'));
path.append(QLatin1String("*.*"));
- QT_WA({
- QString fileName = QFSFileEnginePrivate::longFileName(path);
- platform->findFileHandle = FindFirstFileW((TCHAR *)fileName.utf16(),
- &platform->findData);
- }, {
- // Cast is safe, since char is at end of WIN32_FIND_DATA
- platform->findFileHandle = FindFirstFileA(QFSFileEnginePrivate::win95Name(path),
- (WIN32_FIND_DATAA*)&platform->findData);
- });
+ QString fileName = QFSFileEnginePrivate::longFileName(path);
+ platform->findFileHandle = FindFirstFile((const wchar_t *)fileName.utf16(), &platform->findData);
if (platform->findFileHandle == INVALID_HANDLE_VALUE) {
if (path.startsWith(QLatin1String("//"))) {
diff --git a/src/corelib/io/qfsfileengine_p.h b/src/corelib/io/qfsfileengine_p.h
index 5aef229..864599f 100644
--- a/src/corelib/io/qfsfileengine_p.h
+++ b/src/corelib/io/qfsfileengine_p.h
@@ -72,7 +72,6 @@ class QFSFileEnginePrivate : public QAbstractFileEnginePrivate
public:
#ifdef Q_WS_WIN
- static QByteArray win95Name(const QString &path);
static QString longFileName(const QString &path);
#endif
static QString canonicalized(const QString &path);
@@ -151,8 +150,7 @@ public:
#if defined(Q_OS_WIN32) || defined(Q_OS_WINCE)
static void resolveLibs();
- static bool resolveUNCLibs_NT();
- static bool resolveUNCLibs_9x();
+ static bool resolveUNCLibs();
static bool uncListSharesOnServer(const QString &server, QStringList *list);
#endif
diff --git a/src/corelib/io/qfsfileengine_unix.cpp b/src/corelib/io/qfsfileengine_unix.cpp
index 2421282..fa2aaf7 100644
--- a/src/corelib/io/qfsfileengine_unix.cpp
+++ b/src/corelib/io/qfsfileengine_unix.cpp
@@ -42,6 +42,7 @@
#include "qplatformdefs.h"
#include "qabstractfileengine.h"
#include "private/qfsfileengine_p.h"
+#include "private/qcore_unix_p.h"
#ifndef QT_NO_FSFILEENGINE
@@ -110,6 +111,12 @@ static QByteArray openModeToFopenMode(QIODevice::OpenMode flags, const QString &
if (flags & QIODevice::ReadOnly)
mode += '+';
}
+
+#if defined(__GLIBC__) && (__GLIBC__ * 0x100 + __GLIBC_MINOR__) >= 0x0207
+ // must be glibc >= 2.7
+ mode += 'e';
+#endif
+
return mode;
}
@@ -138,12 +145,6 @@ static int openModeToOpenFlags(QIODevice::OpenMode mode)
oflags |= QT_OPEN_TRUNC;
}
-#ifdef O_CLOEXEC
- // supported on Linux >= 2.6.23; avoids one extra system call
- // and avoids a race condition: if another thread forks, we could
- // end up leaking a file descriptor...
- oflags |= O_CLOEXEC;
-#endif
return oflags;
}
@@ -197,11 +198,6 @@ bool QFSFileEnginePrivate::nativeOpen(QIODevice::OpenMode openMode)
}
}
-#ifndef O_CLOEXEC
- // not needed on Linux >= 2.6.23
- setCloseOnExec(fd); // ignore failure
-#endif
-
// Seek to the end when in Append mode.
if (flags & QFile::Append) {
int ret;
@@ -468,7 +464,7 @@ bool QFSFileEngine::mkdir(const QString &name, bool createParentDirectories) con
if (QT_STAT(chunk, &st) != -1) {
if ((st.st_mode & S_IFMT) != S_IFDIR)
return false;
- } else if (::mkdir(chunk, 0777) != 0) {
+ } else if (QT_MKDIR(chunk, 0777) != 0) {
return false;
}
}
@@ -479,7 +475,7 @@ bool QFSFileEngine::mkdir(const QString &name, bool createParentDirectories) con
if (dirName[dirName.length() - 1] == QLatin1Char('/'))
dirName = dirName.left(dirName.length() - 1);
#endif
- return (::mkdir(QFile::encodeName(dirName), 0777) == 0);
+ return (QT_MKDIR(QFile::encodeName(dirName), 0777) == 0);
}
bool QFSFileEngine::rmdir(const QString &name, bool recurseParentDirectories) const
@@ -521,7 +517,7 @@ bool QFSFileEngine::caseSensitive() const
bool QFSFileEngine::setCurrentPath(const QString &path)
{
int r;
- r = ::chdir(QFile::encodeName(path));
+ r = QT_CHDIR(QFile::encodeName(path));
return r >= 0;
}
diff --git a/src/corelib/io/qfsfileengine_win.cpp b/src/corelib/io/qfsfileengine_win.cpp
index 3b2bc60..68eef5f 100644
--- a/src/corelib/io/qfsfileengine_win.cpp
+++ b/src/corelib/io/qfsfileengine_win.cpp
@@ -109,9 +109,9 @@ static QString qfsPrivateCurrentDir = QLatin1String("");
QT_BEGIN_INCLUDE_NAMESPACE
typedef DWORD (WINAPI *PtrGetNamedSecurityInfoW)(LPWSTR, SE_OBJECT_TYPE, SECURITY_INFORMATION, PSID*, PSID*, PACL*, PACL*, PSECURITY_DESCRIPTOR*);
static PtrGetNamedSecurityInfoW ptrGetNamedSecurityInfoW = 0;
-typedef DECLSPEC_IMPORT BOOL (WINAPI *PtrLookupAccountSidW)(LPCWSTR, PSID, LPWSTR, LPDWORD, LPWSTR, LPDWORD, PSID_NAME_USE);
+typedef BOOL (WINAPI *PtrLookupAccountSidW)(LPCWSTR, PSID, LPWSTR, LPDWORD, LPWSTR, LPDWORD, PSID_NAME_USE);
static PtrLookupAccountSidW ptrLookupAccountSidW = 0;
-typedef DECLSPEC_IMPORT BOOL (WINAPI *PtrAllocateAndInitializeSid)(PSID_IDENTIFIER_AUTHORITY, BYTE, DWORD, DWORD, DWORD, DWORD, DWORD, DWORD, DWORD, DWORD, PSID*);
+typedef BOOL (WINAPI *PtrAllocateAndInitializeSid)(PSID_IDENTIFIER_AUTHORITY, BYTE, DWORD, DWORD, DWORD, DWORD, DWORD, DWORD, DWORD, DWORD, PSID*);
static PtrAllocateAndInitializeSid ptrAllocateAndInitializeSid = 0;
typedef VOID (WINAPI *PtrBuildTrusteeWithSidW)(PTRUSTEE_W, PSID);
static PtrBuildTrusteeWithSidW ptrBuildTrusteeWithSidW = 0;
@@ -119,7 +119,7 @@ typedef VOID (WINAPI *PtrBuildTrusteeWithNameW)(PTRUSTEE_W, unsigned short*);
static PtrBuildTrusteeWithNameW ptrBuildTrusteeWithNameW = 0;
typedef DWORD (WINAPI *PtrGetEffectiveRightsFromAclW)(PACL, PTRUSTEE_W, OUT PACCESS_MASK);
static PtrGetEffectiveRightsFromAclW ptrGetEffectiveRightsFromAclW = 0;
-typedef DECLSPEC_IMPORT PVOID (WINAPI *PtrFreeSid)(PSID);
+typedef PVOID (WINAPI *PtrFreeSid)(PSID);
static PtrFreeSid ptrFreeSid = 0;
static TRUSTEE_W currentUserTrusteeW;
@@ -152,66 +152,64 @@ void QFSFileEnginePrivate::resolveLibs()
triedResolve = true;
#if !defined(Q_OS_WINCE)
- if(QSysInfo::WindowsVersion & QSysInfo::WV_NT_based) {
- HINSTANCE advapiHnd = LoadLibraryW(L"advapi32");
- if (advapiHnd) {
- ptrGetNamedSecurityInfoW = (PtrGetNamedSecurityInfoW)GetProcAddress(advapiHnd, "GetNamedSecurityInfoW");
- ptrLookupAccountSidW = (PtrLookupAccountSidW)GetProcAddress(advapiHnd, "LookupAccountSidW");
- ptrAllocateAndInitializeSid = (PtrAllocateAndInitializeSid)GetProcAddress(advapiHnd, "AllocateAndInitializeSid");
- ptrBuildTrusteeWithSidW = (PtrBuildTrusteeWithSidW)GetProcAddress(advapiHnd, "BuildTrusteeWithSidW");
- ptrBuildTrusteeWithNameW = (PtrBuildTrusteeWithNameW)GetProcAddress(advapiHnd, "BuildTrusteeWithNameW");
- ptrGetEffectiveRightsFromAclW = (PtrGetEffectiveRightsFromAclW)GetProcAddress(advapiHnd, "GetEffectiveRightsFromAclW");
- ptrFreeSid = (PtrFreeSid)GetProcAddress(advapiHnd, "FreeSid");
- }
- if (ptrBuildTrusteeWithNameW) {
- HINSTANCE versionHnd = LoadLibraryW(L"version");
- if (versionHnd) {
- typedef DWORD (WINAPI *PtrGetFileVersionInfoSizeW)(LPWSTR lptstrFilename,LPDWORD lpdwHandle);
- PtrGetFileVersionInfoSizeW ptrGetFileVersionInfoSizeW = (PtrGetFileVersionInfoSizeW)GetProcAddress(versionHnd, "GetFileVersionInfoSizeW");
- typedef BOOL (WINAPI *PtrGetFileVersionInfoW)(LPWSTR lptstrFilename,DWORD dwHandle,DWORD dwLen,LPVOID lpData);
- PtrGetFileVersionInfoW ptrGetFileVersionInfoW = (PtrGetFileVersionInfoW)GetProcAddress(versionHnd, "GetFileVersionInfoW");
- typedef BOOL (WINAPI *PtrVerQueryValueW)(const LPVOID pBlock,LPWSTR lpSubBlock,LPVOID *lplpBuffer,PUINT puLen);
- PtrVerQueryValueW ptrVerQueryValueW = (PtrVerQueryValueW)GetProcAddress(versionHnd, "VerQueryValueW");
- if(ptrGetFileVersionInfoSizeW && ptrGetFileVersionInfoW && ptrVerQueryValueW) {
- DWORD fakeHandle;
- DWORD versionSize = ptrGetFileVersionInfoSizeW(L"secur32.dll", &fakeHandle);
- if(versionSize) {
- LPVOID versionData;
- versionData = malloc(versionSize);
- if(ptrGetFileVersionInfoW(L"secur32.dll", 0, versionSize, versionData)) {
- UINT puLen;
- VS_FIXEDFILEINFO *pLocalInfo;
- if(ptrVerQueryValueW(versionData, L"\\", (void**)&pLocalInfo, &puLen)) {
- WORD wVer1, wVer2, wVer3, wVer4;
- wVer1 = HIWORD(pLocalInfo->dwFileVersionMS);
- wVer2 = LOWORD(pLocalInfo->dwFileVersionMS);
- wVer3 = HIWORD(pLocalInfo->dwFileVersionLS);
- wVer4 = LOWORD(pLocalInfo->dwFileVersionLS);
- // It will not work with secur32.dll version 5.0.2195.2862
- if(!(wVer1 == 5 && wVer2 == 0 && wVer3 == 2195 && (wVer4 == 2862 || wVer4 == 4587))) {
- HINSTANCE userHnd = LoadLibraryW(L"secur32");
- if (userHnd) {
- typedef BOOL (WINAPI *PtrGetUserNameExW)(EXTENDED_NAME_FORMAT nameFormat, ushort* lpBuffer, LPDWORD nSize);
- PtrGetUserNameExW ptrGetUserNameExW = (PtrGetUserNameExW)GetProcAddress(userHnd, "GetUserNameExW");
- if(ptrGetUserNameExW) {
- static TCHAR buffer[258];
- DWORD bufferSize = 257;
- ptrGetUserNameExW(NameSamCompatible, (ushort*)buffer, &bufferSize);
- ptrBuildTrusteeWithNameW(&currentUserTrusteeW, (ushort*)buffer);
- }
- FreeLibrary(userHnd);
+ HINSTANCE advapiHnd = LoadLibraryW(L"advapi32");
+ if (advapiHnd) {
+ ptrGetNamedSecurityInfoW = (PtrGetNamedSecurityInfoW)GetProcAddress(advapiHnd, "GetNamedSecurityInfoW");
+ ptrLookupAccountSidW = (PtrLookupAccountSidW)GetProcAddress(advapiHnd, "LookupAccountSidW");
+ ptrAllocateAndInitializeSid = (PtrAllocateAndInitializeSid)GetProcAddress(advapiHnd, "AllocateAndInitializeSid");
+ ptrBuildTrusteeWithSidW = (PtrBuildTrusteeWithSidW)GetProcAddress(advapiHnd, "BuildTrusteeWithSidW");
+ ptrBuildTrusteeWithNameW = (PtrBuildTrusteeWithNameW)GetProcAddress(advapiHnd, "BuildTrusteeWithNameW");
+ ptrGetEffectiveRightsFromAclW = (PtrGetEffectiveRightsFromAclW)GetProcAddress(advapiHnd, "GetEffectiveRightsFromAclW");
+ ptrFreeSid = (PtrFreeSid)GetProcAddress(advapiHnd, "FreeSid");
+ }
+ if (ptrBuildTrusteeWithNameW) {
+ HINSTANCE versionHnd = LoadLibraryW(L"version");
+ if (versionHnd) {
+ typedef DWORD (WINAPI *PtrGetFileVersionInfoSizeW)(LPCWSTR lptstrFilename,LPDWORD lpdwHandle);
+ PtrGetFileVersionInfoSizeW ptrGetFileVersionInfoSizeW = (PtrGetFileVersionInfoSizeW)GetProcAddress(versionHnd, "GetFileVersionInfoSizeW");
+ typedef BOOL (WINAPI *PtrGetFileVersionInfoW)(LPCWSTR lptstrFilename,DWORD dwHandle,DWORD dwLen,LPVOID lpData);
+ PtrGetFileVersionInfoW ptrGetFileVersionInfoW = (PtrGetFileVersionInfoW)GetProcAddress(versionHnd, "GetFileVersionInfoW");
+ typedef BOOL (WINAPI *PtrVerQueryValueW)(const LPVOID pBlock,LPCWSTR lpSubBlock,LPVOID *lplpBuffer,PUINT puLen);
+ PtrVerQueryValueW ptrVerQueryValueW = (PtrVerQueryValueW)GetProcAddress(versionHnd, "VerQueryValueW");
+ if(ptrGetFileVersionInfoSizeW && ptrGetFileVersionInfoW && ptrVerQueryValueW) {
+ DWORD fakeHandle;
+ DWORD versionSize = ptrGetFileVersionInfoSizeW(L"secur32.dll", &fakeHandle);
+ if(versionSize) {
+ LPVOID versionData;
+ versionData = malloc(versionSize);
+ if(ptrGetFileVersionInfoW(L"secur32.dll", 0, versionSize, versionData)) {
+ UINT puLen;
+ VS_FIXEDFILEINFO *pLocalInfo;
+ if(ptrVerQueryValueW(versionData, L"\\", (void**)&pLocalInfo, &puLen)) {
+ WORD wVer1, wVer2, wVer3, wVer4;
+ wVer1 = HIWORD(pLocalInfo->dwFileVersionMS);
+ wVer2 = LOWORD(pLocalInfo->dwFileVersionMS);
+ wVer3 = HIWORD(pLocalInfo->dwFileVersionLS);
+ wVer4 = LOWORD(pLocalInfo->dwFileVersionLS);
+ // It will not work with secur32.dll version 5.0.2195.2862
+ if(!(wVer1 == 5 && wVer2 == 0 && wVer3 == 2195 && (wVer4 == 2862 || wVer4 == 4587))) {
+ HINSTANCE userHnd = LoadLibraryW(L"secur32");
+ if (userHnd) {
+ typedef BOOL (WINAPI *PtrGetUserNameExW)(EXTENDED_NAME_FORMAT nameFormat, ushort* lpBuffer, LPDWORD nSize);
+ PtrGetUserNameExW ptrGetUserNameExW = (PtrGetUserNameExW)GetProcAddress(userHnd, "GetUserNameExW");
+ if(ptrGetUserNameExW) {
+ static wchar_t buffer[258];
+ DWORD bufferSize = 257;
+ ptrGetUserNameExW(NameSamCompatible, (ushort*)buffer, &bufferSize);
+ ptrBuildTrusteeWithNameW(&currentUserTrusteeW, (ushort*)buffer);
}
+ FreeLibrary(userHnd);
}
}
}
- free(versionData);
}
+ free(versionData);
}
- FreeLibrary(versionHnd);
}
+ FreeLibrary(versionHnd);
}
ptrOpenProcessToken = (PtrOpenProcessToken)GetProcAddress(advapiHnd, "OpenProcessToken");
- HINSTANCE userenvHnd = LoadLibraryW(L"userenv");
+ HINSTANCE userenvHnd = LoadLibraryW(L"userenv");
if (userenvHnd) {
ptrGetUserProfileDirectoryW = (PtrGetUserProfileDirectoryW)GetProcAddress(userenvHnd, "GetUserProfileDirectoryW");
}
@@ -225,120 +223,60 @@ void QFSFileEnginePrivate::resolveLibs()
#endif // QT_NO_LIBRARY
// UNC functions NT
-typedef DWORD (WINAPI *PtrNetShareEnum_NT)(LPWSTR, DWORD, LPBYTE*, DWORD, LPDWORD, LPDWORD, LPDWORD);
-static PtrNetShareEnum_NT ptrNetShareEnum_NT = 0;
-typedef DWORD (WINAPI *PtrNetApiBufferFree_NT)(LPVOID);
-static PtrNetApiBufferFree_NT ptrNetApiBufferFree_NT = 0;
-typedef struct _SHARE_INFO_1_NT {
+typedef DWORD (WINAPI *PtrNetShareEnum)(LPWSTR, DWORD, LPBYTE*, DWORD, LPDWORD, LPDWORD, LPDWORD);
+static PtrNetShareEnum ptrNetShareEnum = 0;
+typedef DWORD (WINAPI *PtrNetApiBufferFree)(LPVOID);
+static PtrNetApiBufferFree ptrNetApiBufferFree = 0;
+typedef struct _SHARE_INFO_1 {
LPWSTR shi1_netname;
DWORD shi1_type;
LPWSTR shi1_remark;
-} SHARE_INFO_1_NT;
+} SHARE_INFO_1;
-bool QFSFileEnginePrivate::resolveUNCLibs_NT()
+bool QFSFileEnginePrivate::resolveUNCLibs()
{
static bool triedResolve = false;
if (!triedResolve) {
#ifndef QT_NO_THREAD
QMutexLocker locker(QMutexPool::globalInstanceGet(&triedResolve));
if (triedResolve) {
- return ptrNetShareEnum_NT && ptrNetApiBufferFree_NT;
+ return ptrNetShareEnum && ptrNetApiBufferFree;
}
#endif
triedResolve = true;
#if !defined(Q_OS_WINCE)
HINSTANCE hLib = LoadLibraryW(L"Netapi32");
if (hLib) {
- ptrNetShareEnum_NT = (PtrNetShareEnum_NT)GetProcAddress(hLib, "NetShareEnum");
- if (ptrNetShareEnum_NT)
- ptrNetApiBufferFree_NT = (PtrNetApiBufferFree_NT)GetProcAddress(hLib, "NetApiBufferFree");
- }
-#endif
- }
- return ptrNetShareEnum_NT && ptrNetApiBufferFree_NT;
-}
-
-// UNC functions 9x
-typedef DWORD (WINAPI *PtrNetShareEnum_9x)(const char FAR *, short, char FAR *, unsigned short, unsigned short FAR *, unsigned short FAR *);
-static PtrNetShareEnum_9x ptrNetShareEnum_9x = 0;
-#ifdef LM20_NNLEN
-# define LM20_NNLEN_9x LM20_NNLEN
-#else
-# define LM20_NNLEN_9x 12
-#endif
-typedef struct _SHARE_INFO_1_9x {
- char shi1_netname[LM20_NNLEN_9x+1];
- char shi1_pad1;
- unsigned short shi1_type;
- char FAR* shi1_remark;
-} SHARE_INFO_1_9x;
-
-bool QFSFileEnginePrivate::resolveUNCLibs_9x()
-{
- static bool triedResolve = false;
- if (!triedResolve) {
-#ifndef QT_NO_THREAD
- QMutexLocker locker(QMutexPool::globalInstanceGet(&triedResolve));
- if (triedResolve) {
- return ptrNetShareEnum_9x;
+ ptrNetShareEnum = (PtrNetShareEnum)GetProcAddress(hLib, "NetShareEnum");
+ if (ptrNetShareEnum)
+ ptrNetApiBufferFree = (PtrNetApiBufferFree)GetProcAddress(hLib, "NetApiBufferFree");
}
#endif
- triedResolve = true;
-#if !defined(Q_OS_WINCE)
- HINSTANCE hLib = LoadLibraryA("Svrapi");
- if (hLib)
- ptrNetShareEnum_9x = (PtrNetShareEnum_9x)GetProcAddress(hLib, "NetShareEnum");
-#endif
}
- return ptrNetShareEnum_9x;
+ return ptrNetShareEnum && ptrNetApiBufferFree;
}
bool QFSFileEnginePrivate::uncListSharesOnServer(const QString &server, QStringList *list)
{
- if (resolveUNCLibs_NT()) {
- SHARE_INFO_1_NT *BufPtr, *p;
+ if (resolveUNCLibs()) {
+ SHARE_INFO_1 *BufPtr, *p;
DWORD res;
DWORD er=0,tr=0,resume=0, i;
do {
- res = ptrNetShareEnum_NT((wchar_t*)server.utf16(), 1, (LPBYTE *)&BufPtr, DWORD(-1), &er, &tr, &resume);
+ res = ptrNetShareEnum((wchar_t*)server.utf16(), 1, (LPBYTE *)&BufPtr, DWORD(-1), &er, &tr, &resume);
if (res == ERROR_SUCCESS || res == ERROR_MORE_DATA) {
p=BufPtr;
for (i = 1; i <= er; ++i) {
if (list && p->shi1_type == 0)
- list->append(QString::fromUtf16((unsigned short *)p->shi1_netname));
+ list->append(QString::fromWCharArray(p->shi1_netname));
p++;
}
}
- ptrNetApiBufferFree_NT(BufPtr);
+ ptrNetApiBufferFree(BufPtr);
} while (res==ERROR_MORE_DATA);
return res == ERROR_SUCCESS;
- } else if (resolveUNCLibs_9x()) {
- SHARE_INFO_1_9x *pBuf = 0;
- short cbBuffer;
- unsigned short nEntriesRead = 0;
- unsigned short nTotalEntries = 0;
- short numBuffs = 20;
- DWORD nStatus = 0;
- do {
- cbBuffer = numBuffs * sizeof(SHARE_INFO_1_9x);
- pBuf = (SHARE_INFO_1_9x *)malloc(cbBuffer);
- if (pBuf) {
- nStatus = ptrNetShareEnum_9x(server.toLocal8Bit().constData(), 1, (char FAR *)pBuf, cbBuffer, &nEntriesRead, &nTotalEntries);
- if ((nStatus == ERROR_SUCCESS)) {
- for (int i = 0; i < nEntriesRead; ++i) {
- if (list && pBuf[i].shi1_type == 0)
- list->append(QString::fromLocal8Bit(pBuf[i].shi1_netname));
- }
- free(pBuf);
- break;
- }
- free(pBuf);
- numBuffs *=2;
- }
- } while (nStatus == ERROR_MORE_DATA);
- return nStatus == ERROR_SUCCESS;
}
return false;
}
@@ -399,39 +337,19 @@ static bool uncShareExists(const QString &server)
return false;
}
-#if !defined(Q_OS_WINCE)
-// If you change this function, remember to also change the UNICODE version
-static QString nativeAbsoluteFilePathA(const QString &path)
-{
- QString ret;
- QVarLengthArray<char, MAX_PATH> buf(MAX_PATH);
- char *fileName = 0;
- QByteArray ba = path.toLocal8Bit();
- DWORD retLen = GetFullPathNameA(ba.constData(), buf.size(), buf.data(), &fileName);
- if (retLen > (DWORD)buf.size()) {
- buf.resize(retLen);
- retLen = GetFullPathNameA(ba.constData(), buf.size(), buf.data(), &fileName);
- }
- if (retLen != 0)
- ret = QString::fromLocal8Bit(buf.data(), retLen);
- return ret;
-}
-#endif
-
-// If you change this function, remember to also change the NON-UNICODE version
-static QString nativeAbsoluteFilePathW(const QString &path)
+static QString nativeAbsoluteFilePathCore(const QString &path)
{
QString ret;
#if !defined(Q_OS_WINCE)
QVarLengthArray<wchar_t, MAX_PATH> buf(MAX_PATH);
wchar_t *fileName = 0;
- DWORD retLen = GetFullPathNameW((wchar_t*)path.utf16(), buf.size(), buf.data(), &fileName);
+ DWORD retLen = GetFullPathName((wchar_t*)path.utf16(), buf.size(), buf.data(), &fileName);
if (retLen > (DWORD)buf.size()) {
buf.resize(retLen);
- retLen = GetFullPathNameW((wchar_t*)path.utf16(), buf.size(), buf.data(), &fileName);
+ retLen = GetFullPathName((wchar_t*)path.utf16(), buf.size(), buf.data(), &fileName);
}
if (retLen != 0)
- ret = QString::fromUtf16((unsigned short *)buf.data(), retLen);
+ ret = QString::fromWCharArray(buf.data(), retLen);
#else
if (path.startsWith(QLatin1Char('/')) || path.startsWith(QLatin1Char('\\')))
ret = QDir::toNativeSeparators(path);
@@ -443,7 +361,7 @@ static QString nativeAbsoluteFilePathW(const QString &path)
static QString nativeAbsoluteFilePath(const QString &path)
{
- QString absPath = QT_WA_INLINE(nativeAbsoluteFilePathW(path), nativeAbsoluteFilePathA(path));
+ QString absPath = nativeAbsoluteFilePathCore(path);
// This is really ugly, but GetFullPathName strips off whitespace at the end.
// If you for instance write ". " in the lineedit of QFileDialog,
// (which is an invalid filename) this function will strip the space off and viola,
@@ -461,26 +379,6 @@ static QString nativeAbsoluteFilePath(const QString &path)
return absPath;
}
-QByteArray QFSFileEnginePrivate::win95Name(const QString &path)
-{
- QString ret(path);
- if(path.length() > 1 && path[0] == QLatin1Char('/') && path[1] == QLatin1Char('/')) {
- // Win95 cannot handle slash-slash needs slosh-slosh.
- ret[0] = QLatin1Char('\\');
- ret[1] = QLatin1Char('\\');
- int n = ret.indexOf(QLatin1Char('/'));
- if(n >= 0)
- ret[n] = QLatin1Char('\\');
- } else if(path.length() > 3 && path[2] == QLatin1Char('/') && path[3] == QLatin1Char('/')) {
- ret[2] = QLatin1Char('\\');
- ret.remove(3, 1);
- int n = ret.indexOf(QLatin1Char('/'));
- if(n >= 0)
- ret[n] = QLatin1Char('\\');
- }
- return ret.toLocal8Bit();
-}
-
/*!
\internal
*/
@@ -507,13 +405,8 @@ QString QFSFileEnginePrivate::longFileName(const QString &path)
*/
void QFSFileEnginePrivate::nativeInitFileName()
{
- QT_WA({
- QString path = longFileName(QDir::toNativeSeparators(fixIfRelativeUncPath(filePath)));
- nativeFilePath = QByteArray((const char *)path.utf16(), path.size() * 2 + 1);
- }, {
- QString path = fixIfRelativeUncPath(filePath);
- nativeFilePath = win95Name(path).replace('/', '\\');
- });
+ QString path = longFileName(QDir::toNativeSeparators(fixIfRelativeUncPath(filePath)));
+ nativeFilePath = QByteArray((const char *)path.utf16(), path.size() * 2 + 1);
}
/*
@@ -539,23 +432,13 @@ bool QFSFileEnginePrivate::nativeOpen(QIODevice::OpenMode openMode)
? OPEN_ALWAYS : OPEN_EXISTING;
// Create the file handle.
- QT_WA({
- fileHandle = CreateFileW((TCHAR *)nativeFilePath.constData(),
- accessRights,
- shareMode,
- &securityAtts,
- creationDisp,
- FILE_ATTRIBUTE_NORMAL,
- NULL);
- }, {
- fileHandle = CreateFileA(nativeFilePath.constData(),
- accessRights,
- shareMode,
- &securityAtts,
- creationDisp,
- FILE_ATTRIBUTE_NORMAL,
- NULL);
- });
+ fileHandle = CreateFile((const wchar_t*)nativeFilePath.constData(),
+ accessRights,
+ shareMode,
+ &securityAtts,
+ creationDisp,
+ FILE_ATTRIBUTE_NORMAL,
+ NULL);
// Bail out on error.
if (fileHandle == INVALID_HANDLE_VALUE) {
@@ -641,15 +524,31 @@ qint64 QFSFileEnginePrivate::nativeSize() const
// Not-open mode, where the file name is known: We'll check the
// file system directly.
if (openMode == QIODevice::NotOpen && !nativeFilePath.isEmpty()) {
- bool ok = false;
WIN32_FILE_ATTRIBUTE_DATA attribData;
- QT_WA({
- ok = ::GetFileAttributesExW((TCHAR *)nativeFilePath.constData(),
+ bool ok = ::GetFileAttributesEx((const wchar_t*)nativeFilePath.constData(),
GetFileExInfoStandard, &attribData);
- } , {
- ok = ::GetFileAttributesExA(nativeFilePath.constData(),
- GetFileExInfoStandard, &attribData);
- });
+ if (!ok) {
+ int errorCode = GetLastError();
+ if (errorCode == ERROR_ACCESS_DENIED || errorCode == ERROR_SHARING_VIOLATION) {
+ QByteArray path = nativeFilePath;
+ // path for the FindFirstFile should not end with a trailing slash
+ while (path.endsWith('\\'))
+ path.chop(1);
+
+ // FindFirstFile can not handle drives
+ if (!path.endsWith(':')) {
+ WIN32_FIND_DATA findData;
+ HANDLE hFind = ::FindFirstFile((const wchar_t*)path.constData(),
+ &findData);
+ if (hFind != INVALID_HANDLE_VALUE) {
+ ::FindClose(hFind);
+ ok = true;
+ attribData.nFileSizeHigh = findData.nFileSizeHigh;
+ attribData.nFileSizeLow = findData.nFileSizeLow;
+ }
+ }
+ }
+ }
if (ok) {
qint64 size = attribData.nFileSizeHigh;
size <<= 32;
@@ -711,28 +610,28 @@ qint64 QFSFileEnginePrivate::nativePos() const
if (fileHandle == INVALID_HANDLE_VALUE)
return 0;
-#if !defined(QT_NO_LIBRARY)
+#if !defined(QT_NO_LIBRARY) && !defined(Q_OS_WINCE)
QFSFileEnginePrivate::resolveLibs();
if (!ptrSetFilePointerEx) {
#endif
- DWORD newFilePointer = SetFilePointer(fileHandle, 0, NULL, FILE_CURRENT);
- if (newFilePointer == 0xFFFFFFFF) {
+ LARGE_INTEGER filepos;
+ filepos.HighPart = 0;
+ DWORD newFilePointer = SetFilePointer(fileHandle, 0, &filepos.HighPart, FILE_CURRENT);
+ if (newFilePointer == 0xFFFFFFFF && GetLastError() != NO_ERROR) {
thatQ->setError(QFile::UnspecifiedError, qt_error_string());
return 0;
}
- // Note: returns <4GB; does not work with large files. This is the
- // case for MOC, UIC, qmake and other bootstrapped tools, and for
- // Win9x/ME.
- return qint64(newFilePointer);
-#if !defined(QT_NO_LIBRARY)
+ // Note: This is the case for MOC, UIC, qmake and other
+ // bootstrapped tools, and for Windows CE.
+ filepos.LowPart = newFilePointer;
+ return filepos.QuadPart;
+#if !defined(QT_NO_LIBRARY) && !defined(Q_OS_WINCE)
}
- // This approach supports large files.
LARGE_INTEGER currentFilePos;
LARGE_INTEGER offset;
- offset.LowPart = 0;
- offset.HighPart = 0;
+ offset.QuadPart = 0;
if (!ptrSetFilePointerEx(fileHandle, offset, &currentFilePos, FILE_CURRENT)) {
thatQ->setError(QFile::UnspecifiedError, qt_error_string());
return 0;
@@ -755,28 +654,27 @@ bool QFSFileEnginePrivate::nativeSeek(qint64 pos)
return seekFdFh(pos);
}
-#if !defined(QT_NO_LIBRARY)
+#if !defined(QT_NO_LIBRARY) && !defined(Q_OS_WINCE)
QFSFileEnginePrivate::resolveLibs();
if (!ptrSetFilePointerEx) {
#endif
- LONG seekToPos = LONG(pos); // <- lossy
- DWORD newFilePointer = SetFilePointer(fileHandle, seekToPos, NULL, FILE_BEGIN);
- if (newFilePointer == 0xFFFFFFFF) {
- thatQ->setError(QFile::UnspecifiedError, qt_error_string());
+ DWORD newFilePointer;
+ LARGE_INTEGER *li = reinterpret_cast<LARGE_INTEGER*>(&pos);
+ newFilePointer = SetFilePointer(fileHandle, li->LowPart, &li->HighPart, FILE_BEGIN);
+ if (newFilePointer == 0xFFFFFFFF && GetLastError() != NO_ERROR) {
+ thatQ->setError(QFile::PositionError, qt_error_string());
return false;
}
- // Note: does not work with large files. This is the case for MOC,
- // UIC, qmake and other bootstrapped tools, and for Win9x/ME.
+ // Note: This is the case for MOC, UIC, qmake and other
+ // bootstrapped tools, and for Windows CE.
return true;
-#if !defined(QT_NO_LIBRARY)
+#if !defined(QT_NO_LIBRARY) && !defined(Q_OS_WINCE)
}
- // This approach supports large files.
LARGE_INTEGER currentFilePos;
LARGE_INTEGER offset;
- offset.LowPart = (unsigned int)(quint64(pos) & Q_UINT64_C(0xffffffff));
- offset.HighPart = (unsigned int)((quint64(pos) >> 32) & Q_UINT64_C(0xffffffff));
+ offset.QuadPart = pos;
if (ptrSetFilePointerEx(fileHandle, offset, &currentFilePos, FILE_BEGIN) == 0) {
thatQ->setError(QFile::UnspecifiedError, qt_error_string());
return false;
@@ -949,35 +847,21 @@ bool QFSFileEnginePrivate::nativeIsSequential() const
bool QFSFileEngine::remove()
{
Q_D(QFSFileEngine);
- QT_WA({
- return ::DeleteFileW((TCHAR*)QFSFileEnginePrivate::longFileName(d->filePath).utf16()) != 0;
- } , {
- return ::DeleteFileA(QFSFileEnginePrivate::win95Name(d->filePath)) != 0;
- });
+ return ::DeleteFile((wchar_t*)QFSFileEnginePrivate::longFileName(d->filePath).utf16()) != 0;
}
bool QFSFileEngine::copy(const QString &copyName)
{
Q_D(QFSFileEngine);
- QT_WA({
- return ::CopyFileW((TCHAR*)QFSFileEnginePrivate::longFileName(d->filePath).utf16(),
- (TCHAR*)QFSFileEnginePrivate::longFileName(copyName).utf16(), true) != 0;
- } , {
- return ::CopyFileA(QFSFileEnginePrivate::win95Name(d->filePath),
- QFSFileEnginePrivate::win95Name(copyName), true) != 0;
- });
+ return ::CopyFile((wchar_t*)QFSFileEnginePrivate::longFileName(d->filePath).utf16(),
+ (wchar_t*)QFSFileEnginePrivate::longFileName(copyName).utf16(), true) != 0;
}
bool QFSFileEngine::rename(const QString &newName)
{
Q_D(QFSFileEngine);
- QT_WA({
- return ::MoveFileW((TCHAR*)QFSFileEnginePrivate::longFileName(d->filePath).utf16(),
- (TCHAR*)QFSFileEnginePrivate::longFileName(newName).utf16()) != 0;
- } , {
- return ::MoveFileA(QFSFileEnginePrivate::win95Name(d->filePath),
- QFSFileEnginePrivate::win95Name(newName)) != 0;
- });
+ return ::MoveFile((wchar_t*)QFSFileEnginePrivate::longFileName(d->filePath).utf16(),
+ (wchar_t*)QFSFileEnginePrivate::longFileName(newName).utf16()) != 0;
}
static inline bool mkDir(const QString &path)
@@ -1001,20 +885,12 @@ static inline bool mkDir(const QString &path)
if (platformId == 1 && QFSFileEnginePrivate::longFileName(path).size() > 256)
return false;
#endif
- QT_WA({
- return ::CreateDirectoryW((TCHAR*)QFSFileEnginePrivate::longFileName(path).utf16(), 0);
- } , {
- return ::CreateDirectoryA(QFSFileEnginePrivate::win95Name(QFileInfo(path).absoluteFilePath()), 0);
- });
+ return ::CreateDirectory((wchar_t*)QFSFileEnginePrivate::longFileName(path).utf16(), 0);
}
static inline bool rmDir(const QString &path)
{
- QT_WA({
- return ::RemoveDirectoryW((TCHAR*)QFSFileEnginePrivate::longFileName(path).utf16());
- } , {
- return ::RemoveDirectoryA(QFSFileEnginePrivate::win95Name(QFileInfo(path).absoluteFilePath()));
- });
+ return ::RemoveDirectory((wchar_t*)QFSFileEnginePrivate::longFileName(path).utf16());
}
static inline bool isDirPath(const QString &dirPath, bool *existed)
@@ -1023,12 +899,26 @@ static inline bool isDirPath(const QString &dirPath, bool *existed)
if (path.length() == 2 &&path.at(1) == QLatin1Char(':'))
path += QLatin1Char('\\');
- DWORD fileAttrib = INVALID_FILE_ATTRIBUTES;
- QT_WA({
- fileAttrib = ::GetFileAttributesW((TCHAR*)QFSFileEnginePrivate::longFileName(path).utf16());
- } , {
- fileAttrib = ::GetFileAttributesA(QFSFileEnginePrivate::win95Name(QFileInfo(path).absoluteFilePath()));
- });
+ DWORD fileAttrib = ::GetFileAttributes((wchar_t*)QFSFileEnginePrivate::longFileName(path).utf16());
+ if (fileAttrib == INVALID_FILE_ATTRIBUTES) {
+ int errorCode = GetLastError();
+ if (errorCode == ERROR_ACCESS_DENIED || errorCode == ERROR_SHARING_VIOLATION) {
+ // path for the FindFirstFile should not end with a trailing slash
+ while (path.endsWith(QLatin1Char('\\')))
+ path.chop(1);
+
+ // FindFirstFile can not handle drives
+ if (!path.endsWith(QLatin1Char(':'))) {
+ WIN32_FIND_DATA findData;
+ HANDLE hFind = ::FindFirstFile((wchar_t*)QFSFileEnginePrivate::longFileName(path).utf16(),
+ &findData);
+ if (hFind != INVALID_HANDLE_VALUE) {
+ ::FindClose(hFind);
+ fileAttrib = findData.dwFileAttributes;
+ }
+ }
+ }
+ }
if (existed)
*existed = fileAttrib != INVALID_FILE_ATTRIBUTES;
@@ -1110,16 +1000,10 @@ bool QFSFileEngine::setCurrentPath(const QString &path)
return false;
#if !defined(Q_OS_WINCE)
- int r;
- QT_WA({
- r = ::SetCurrentDirectoryW((WCHAR*)path.utf16());
- } , {
- r = ::SetCurrentDirectoryA(QFSFileEnginePrivate::win95Name(path));
- });
- return r != 0;
+ return ::SetCurrentDirectory((wchar_t*)path.utf16()) != 0;
#else
- qfsPrivateCurrentDir = QFSFileEnginePrivate::longFileName(path);
- return true;
+ qfsPrivateCurrentDir = QFSFileEnginePrivate::longFileName(path);
+ return true;
#endif
}
@@ -1132,48 +1016,34 @@ QString QFSFileEngine::currentPath(const QString &fileName)
fileName.at(0).isLetter() && fileName.at(1) == QLatin1Char(':')) {
int drv = fileName.toUpper().at(0).toLatin1() - 'A' + 1;
if (_getdrive() != drv) {
- QT_WA({
- TCHAR buf[PATH_MAX];
- ::_wgetdcwd(drv, buf, PATH_MAX);
- ret.setUtf16((ushort*)buf, uint(::wcslen(buf)));
- }, {
- char buf[PATH_MAX];
- ::_getdcwd(drv, buf, PATH_MAX);
- ret = QString::fromLatin1(buf);
- });
+ wchar_t buf[PATH_MAX];
+ ::_wgetdcwd(drv, buf, PATH_MAX);
+ ret = QString::fromWCharArray(buf);
}
}
if (ret.isEmpty()) {
//just the pwd
- QT_WA({
- DWORD size = 0;
- WCHAR currentName[PATH_MAX];
- size = ::GetCurrentDirectoryW(PATH_MAX, currentName);
- if (size !=0) {
- if (size > PATH_MAX) {
- WCHAR * newCurrentName = new WCHAR[size];
- if (::GetCurrentDirectoryW(PATH_MAX, newCurrentName) != 0)
- ret = QString::fromUtf16((ushort*)newCurrentName);
- delete [] newCurrentName;
- } else {
- ret = QString::fromUtf16((ushort*)currentName);
- }
+ DWORD size = 0;
+ wchar_t currentName[PATH_MAX];
+ size = ::GetCurrentDirectory(PATH_MAX, currentName);
+ if (size != 0) {
+ if (size > PATH_MAX) {
+ wchar_t *newCurrentName = new wchar_t[size];
+ if (::GetCurrentDirectory(PATH_MAX, newCurrentName) != 0)
+ ret = QString::fromWCharArray(newCurrentName);
+ delete [] newCurrentName;
+ } else {
+ ret = QString::fromWCharArray(currentName);
}
- } , {
- DWORD size = 0;
- char currentName[PATH_MAX];
- size = ::GetCurrentDirectoryA(PATH_MAX, currentName);
- if (size !=0)
- ret = QString::fromLocal8Bit(currentName);
- });
+ }
}
if (ret.length() >= 2 && ret[1] == QLatin1Char(':'))
ret[0] = ret.at(0).toUpper(); // Force uppercase drive letters.
return QDir::fromNativeSeparators(ret);
#else
- Q_UNUSED(fileName);
- if (qfsPrivateCurrentDir.isEmpty())
- qfsPrivateCurrentDir = QCoreApplication::applicationDirPath();
+ Q_UNUSED(fileName);
+ if (qfsPrivateCurrentDir.isEmpty())
+ qfsPrivateCurrentDir = QCoreApplication::applicationDirPath();
return QDir::fromNativeSeparators(qfsPrivateCurrentDir);
#endif
@@ -1183,35 +1053,27 @@ QString QFSFileEngine::homePath()
{
QString ret;
#if !defined(QT_NO_LIBRARY)
- QT_WA (
- {
- QFSFileEnginePrivate::resolveLibs();
- if (ptrOpenProcessToken && ptrGetUserProfileDirectoryW) {
- HANDLE hnd = ::GetCurrentProcess();
- HANDLE token = 0;
- BOOL ok = ::ptrOpenProcessToken(hnd, TOKEN_QUERY, &token);
- if (ok) {
- DWORD dwBufferSize = 0;
- // First call, to determine size of the strings (with '\0').
- ok = ::ptrGetUserProfileDirectoryW(token, NULL, &dwBufferSize);
- if (!ok && dwBufferSize != 0) { // We got the required buffer size
- wchar_t *userDirectory = new wchar_t[dwBufferSize];
- // Second call, now we can fill the allocated buffer.
- ok = ::ptrGetUserProfileDirectoryW(token, userDirectory, &dwBufferSize);
- if (ok)
- ret = QString::fromUtf16((ushort*)userDirectory);
-
- delete [] userDirectory;
- }
- ::CloseHandle(token);
- }
- }
- }
- ,
- {
- // GetUserProfileDirectory is only available from NT 4.0,
- // so fall through for Win98 and friends version.
- })
+ QFSFileEnginePrivate::resolveLibs();
+ if (ptrOpenProcessToken && ptrGetUserProfileDirectoryW) {
+ HANDLE hnd = ::GetCurrentProcess();
+ HANDLE token = 0;
+ BOOL ok = ::ptrOpenProcessToken(hnd, TOKEN_QUERY, &token);
+ if (ok) {
+ DWORD dwBufferSize = 0;
+ // First call, to determine size of the strings (with '\0').
+ ok = ::ptrGetUserProfileDirectoryW(token, NULL, &dwBufferSize);
+ if (!ok && dwBufferSize != 0) { // We got the required buffer size
+ wchar_t *userDirectory = new wchar_t[dwBufferSize];
+ // Second call, now we can fill the allocated buffer.
+ ok = ::ptrGetUserProfileDirectoryW(token, userDirectory, &dwBufferSize);
+ if (ok)
+ ret = QString::fromWCharArray(userDirectory);
+
+ delete [] userDirectory;
+ }
+ ::CloseHandle(token);
+ }
+ }
#endif
if(ret.isEmpty() || !QFile::exists(ret)) {
ret = QString::fromLocal8Bit(qgetenv("USERPROFILE").constData());
@@ -1251,17 +1113,10 @@ QString QFSFileEngine::rootPath()
QString QFSFileEngine::tempPath()
{
- QString ret;
- int success;
- QT_WA({
- wchar_t tempPath[MAX_PATH];
- success = GetTempPathW(MAX_PATH, tempPath);
- ret = QString::fromUtf16((ushort*)tempPath);
- } , {
- char tempPath[MAX_PATH];
- success = GetTempPathA(MAX_PATH, tempPath);
- ret = QString::fromLocal8Bit(tempPath);
- });
+ wchar_t tempPath[MAX_PATH];
+ int success = GetTempPath(MAX_PATH, tempPath);
+ QString ret = QString::fromWCharArray(tempPath);
+
if (ret.isEmpty() || !success) {
#if !defined(Q_OS_WINCE)
ret = QString::fromLatin1("c:/tmp");
@@ -1285,7 +1140,7 @@ QFileInfoList QFSFileEngine::drives()
#elif defined(Q_OS_OS2EMX)
quint32 driveBits, cur;
if(DosQueryCurrentDisk(&cur,&driveBits) != NO_ERROR)
- exit(1);
+ exit(1);
driveBits &= 0x3ffffff;
#endif
char driveName[] = "A:/";
@@ -1327,18 +1182,34 @@ bool QFSFileEnginePrivate::doStat() const
}
}
#else
- DWORD tmpAttributes = GetFileAttributesW((TCHAR*)QFSFileEnginePrivate::longFileName(fname).utf16());
+ DWORD tmpAttributes = GetFileAttributes((wchar_t*)QFSFileEnginePrivate::longFileName(fname).utf16());
if (tmpAttributes != -1) {
fileAttrib = tmpAttributes;
could_stat = true;
}
#endif
} else {
- QT_WA({
- fileAttrib = GetFileAttributesW((TCHAR*)QFSFileEnginePrivate::longFileName(fname).utf16());
- } , {
- fileAttrib = GetFileAttributesA(QFSFileEnginePrivate::win95Name(QFileInfo(fname).absoluteFilePath()));
- });
+ fileAttrib = GetFileAttributes((wchar_t*)QFSFileEnginePrivate::longFileName(fname).utf16());
+ if (fileAttrib == INVALID_FILE_ATTRIBUTES) {
+ int errorCode = GetLastError();
+ if (errorCode == ERROR_ACCESS_DENIED || errorCode == ERROR_SHARING_VIOLATION) {
+ QString path = QDir::toNativeSeparators(fname);
+ // path for the FindFirstFile should not end with a trailing slash
+ while (path.endsWith(QLatin1Char('\\')))
+ path.chop(1);
+
+ // FindFirstFile can not handle drives
+ if (!path.endsWith(QLatin1Char(':'))) {
+ WIN32_FIND_DATA findData;
+ HANDLE hFind = ::FindFirstFile((wchar_t*)QFSFileEnginePrivate::longFileName(path).utf16(),
+ &findData);
+ if (hFind != INVALID_HANDLE_VALUE) {
+ ::FindClose(hFind);
+ fileAttrib = findData.dwFileAttributes;
+ }
+ }
+ }
+ }
could_stat = fileAttrib != INVALID_FILE_ATTRIBUTES;
if (!could_stat) {
#if !defined(Q_OS_WINCE)
@@ -1398,74 +1269,39 @@ static QString readLink(const QString &link)
#if !defined(Q_OS_WINCE)
#if !defined(QT_NO_LIBRARY) && !defined(Q_CC_MWERKS)
QString ret;
- QT_WA({
- bool neededCoInit = false;
- IShellLink *psl; // pointer to IShellLink i/f
- HRESULT hres;
- WIN32_FIND_DATA wfd;
- TCHAR szGotPath[MAX_PATH];
- // Get pointer to the IShellLink interface.
- hres = CoCreateInstance(CLSID_ShellLink, NULL, CLSCTX_INPROC_SERVER,
- IID_IShellLink, (LPVOID *)&psl);
- if(hres == CO_E_NOTINITIALIZED) { // COM was not initialized
- neededCoInit = true;
- CoInitialize(NULL);
- hres = CoCreateInstance(CLSID_ShellLink, NULL, CLSCTX_INPROC_SERVER,
- IID_IShellLink, (LPVOID *)&psl);
- }
- if(SUCCEEDED(hres)) { // Get pointer to the IPersistFile interface.
- IPersistFile *ppf;
- hres = psl->QueryInterface(IID_IPersistFile, (LPVOID *)&ppf);
- if(SUCCEEDED(hres)) {
- hres = ppf->Load((LPOLESTR)link.utf16(), STGM_READ);
- //The original path of the link is retrieved. If the file/folder
- //was moved, the return value still have the old path.
- if(SUCCEEDED(hres)) {
- if (psl->GetPath(szGotPath, MAX_PATH, &wfd, SLGP_UNCPRIORITY) == NOERROR)
- ret = QString::fromUtf16((ushort*)szGotPath);
- }
- ppf->Release();
- }
- psl->Release();
- }
- if(neededCoInit)
- CoUninitialize();
- } , {
- bool neededCoInit = false;
- IShellLinkA *psl; // pointer to IShellLink i/f
- HRESULT hres;
- WIN32_FIND_DATAA wfd;
- char szGotPath[MAX_PATH];
- // Get pointer to the IShellLink interface.
+ bool neededCoInit = false;
+ IShellLink *psl; // pointer to IShellLink i/f
+ WIN32_FIND_DATA wfd;
+ wchar_t szGotPath[MAX_PATH];
- hres = CoCreateInstance(CLSID_ShellLink, NULL, CLSCTX_INPROC_SERVER,
- IID_IShellLinkA, (LPVOID *)&psl);
+ // Get pointer to the IShellLink interface.
+ HRESULT hres = CoCreateInstance(CLSID_ShellLink, NULL, CLSCTX_INPROC_SERVER, IID_IShellLink, (LPVOID *)&psl);
- if(hres == CO_E_NOTINITIALIZED) { // COM was not initialized
- neededCoInit = true;
- CoInitialize(NULL);
- hres = CoCreateInstance(CLSID_ShellLink, NULL, CLSCTX_INPROC_SERVER,
- IID_IShellLinkA, (LPVOID *)&psl);
- }
- if(SUCCEEDED(hres)) { // Get pointer to the IPersistFile interface.
- IPersistFile *ppf;
- hres = psl->QueryInterface(IID_IPersistFile, (LPVOID *)&ppf);
- if(SUCCEEDED(hres)) {
- hres = ppf->Load((LPOLESTR)QFileInfo(link).absoluteFilePath().utf16(), STGM_READ);
- //The original path of the link is retrieved. If the file/folder
- //was moved, the return value still have the old path.
- if(SUCCEEDED(hres)) {
- if (psl->GetPath((char*)szGotPath, MAX_PATH, &wfd, SLGP_UNCPRIORITY) == NOERROR)
- ret = QString::fromLocal8Bit(szGotPath);
- }
- ppf->Release();
+ if (hres == CO_E_NOTINITIALIZED) { // COM was not initialized
+ neededCoInit = true;
+ CoInitialize(NULL);
+ hres = CoCreateInstance(CLSID_ShellLink, NULL, CLSCTX_INPROC_SERVER,
+ IID_IShellLink, (LPVOID *)&psl);
+ }
+ if (SUCCEEDED(hres)) { // Get pointer to the IPersistFile interface.
+ IPersistFile *ppf;
+ hres = psl->QueryInterface(IID_IPersistFile, (LPVOID *)&ppf);
+ if(SUCCEEDED(hres)) {
+ hres = ppf->Load((LPOLESTR)link.utf16(), STGM_READ);
+ //The original path of the link is retrieved. If the file/folder
+ //was moved, the return value still have the old path.
+ if(SUCCEEDED(hres)) {
+ if (psl->GetPath(szGotPath, MAX_PATH, &wfd, SLGP_UNCPRIORITY) == NOERROR)
+ ret = QString::fromWCharArray(szGotPath);
}
- psl->Release();
+ ppf->Release();
}
- if(neededCoInit)
- CoUninitialize();
- });
+ psl->Release();
+ }
+ if (neededCoInit)
+ CoUninitialize();
+
return ret;
#else
Q_UNUSED(link);
@@ -1475,7 +1311,7 @@ static QString readLink(const QString &link)
wchar_t target[MAX_PATH];
QString result;
if (SHGetShortcutTarget((wchar_t*)QFileInfo(link).absoluteFilePath().replace(QLatin1Char('/'),QLatin1Char('\\')).utf16(), target, MAX_PATH)) {
- result = QString::fromUtf16(reinterpret_cast<const ushort *> (target));
+ result = QString::fromWCharArray(target);
if (result.startsWith(QLatin1Char('"')))
result.remove(0,1);
if (result.endsWith(QLatin1Char('"')))
@@ -1502,76 +1338,37 @@ bool QFSFileEngine::link(const QString &newName)
QString linkName = newName;
//### assume that they add .lnk
- QT_WA({
- HRESULT hres;
- IShellLink *psl;
- bool neededCoInit = false;
+ IShellLink *psl;
+ bool neededCoInit = false;
- hres = CoCreateInstance(CLSID_ShellLink, NULL, CLSCTX_INPROC_SERVER, IID_IShellLink, (void **)&psl);
- if(hres == CO_E_NOTINITIALIZED) { // COM was not initialized
- neededCoInit = true;
- CoInitialize(NULL);
- hres = CoCreateInstance(CLSID_ShellLink, NULL, CLSCTX_INPROC_SERVER, IID_IShellLink, (void **)&psl);
- }
- if (SUCCEEDED(hres)) {
- hres = psl->SetPath((wchar_t *)fileName(AbsoluteName).replace(QLatin1Char('/'), QLatin1Char('\\')).utf16());
- if (SUCCEEDED(hres)) {
- hres = psl->SetWorkingDirectory((wchar_t *)fileName(AbsolutePathName).replace(QLatin1Char('/'), QLatin1Char('\\')).utf16());
- if (SUCCEEDED(hres)) {
- IPersistFile *ppf;
- hres = psl->QueryInterface(IID_IPersistFile, (void **)&ppf);
- if (SUCCEEDED(hres)) {
- hres = ppf->Save((TCHAR*)linkName.utf16(), TRUE);
- if (SUCCEEDED(hres))
- ret = true;
- ppf->Release();
- }
- }
- }
- psl->Release();
- }
- if(neededCoInit)
- CoUninitialize();
- } , {
- // the SetPath() call _sometimes_ changes the current path and when it does it sometimes
- // does not let us change it back unless we call currentPath() many times.
- QString cwd = currentPath();
- HRESULT hres;
- IShellLinkA *psl;
- bool neededCoInit = false;
+ HRESULT hres = CoCreateInstance(CLSID_ShellLink, NULL, CLSCTX_INPROC_SERVER, IID_IShellLink, (void **)&psl);
+ if (hres == CO_E_NOTINITIALIZED) { // COM was not initialized
+ neededCoInit = true;
+ CoInitialize(NULL);
hres = CoCreateInstance(CLSID_ShellLink, NULL, CLSCTX_INPROC_SERVER, IID_IShellLink, (void **)&psl);
- if(hres == CO_E_NOTINITIALIZED) { // COM was not initialized
- neededCoInit = true;
- CoInitialize(NULL);
- hres = CoCreateInstance(CLSID_ShellLink, NULL, CLSCTX_INPROC_SERVER, IID_IShellLink, (void **)&psl);
- }
+ }
+
+ if (SUCCEEDED(hres)) {
+ hres = psl->SetPath((wchar_t *)fileName(AbsoluteName).replace(QLatin1Char('/'), QLatin1Char('\\')).utf16());
if (SUCCEEDED(hres)) {
- currentPath();
- hres = psl->SetPath((char *)QString::fromLocal8Bit(QFSFileEnginePrivate::win95Name(fileName(AbsoluteName))).utf16());
- currentPath();
+ hres = psl->SetWorkingDirectory((wchar_t *)fileName(AbsolutePathName).replace(QLatin1Char('/'), QLatin1Char('\\')).utf16());
if (SUCCEEDED(hres)) {
- hres = psl->SetWorkingDirectory((char *)QString::fromLocal8Bit(QFSFileEnginePrivate::win95Name(fileName(AbsolutePathName))).utf16());
- currentPath();
+ IPersistFile *ppf;
+ hres = psl->QueryInterface(IID_IPersistFile, (void **)&ppf);
if (SUCCEEDED(hres)) {
- IPersistFile *ppf;
- hres = psl->QueryInterface(IID_IPersistFile, (void **)&ppf);
- if (SUCCEEDED(hres)) {
- currentPath();
- hres = ppf->Save((LPCOLESTR)linkName.utf16(), TRUE);
- currentPath();
- if (SUCCEEDED(hres))
- ret = true;
- ppf->Release();
- }
+ hres = ppf->Save((wchar_t*)linkName.utf16(), TRUE);
+ if (SUCCEEDED(hres))
+ ret = true;
+ ppf->Release();
}
- psl->Release();
}
}
- if(neededCoInit)
+ psl->Release();
+ }
+ if(neededCoInit)
CoUninitialize();
- setCurrentPath(cwd);
- });
+
return ret;
#else
Q_UNUSED(newName);
@@ -1598,9 +1395,9 @@ QAbstractFileEngine::FileFlags QFSFileEnginePrivate::getPermissions() const
#if !defined(QT_NO_LIBRARY)
if((qt_ntfs_permission_lookup > 0) && ((QSysInfo::WindowsVersion&QSysInfo::WV_NT_based) > QSysInfo::WV_NT)) {
- PSID pOwner = 0;
- PSID pGroup = 0;
- PACL pDacl;
+ PSID pOwner = 0;
+ PSID pGroup = 0;
+ PACL pDacl;
PSECURITY_DESCRIPTOR pSD;
ACCESS_MASK access_mask;
@@ -1610,42 +1407,42 @@ QAbstractFileEngine::FileFlags QFSFileEnginePrivate::getPermissions() const
QString fname = filePath.endsWith(QLatin1String(".lnk")) ? readLink(filePath) : filePath;
DWORD res = ptrGetNamedSecurityInfoW((wchar_t*)fname.utf16(), SE_FILE_OBJECT,
- OWNER_SECURITY_INFORMATION | GROUP_SECURITY_INFORMATION | DACL_SECURITY_INFORMATION,
- &pOwner, &pGroup, &pDacl, 0, &pSD);
+ OWNER_SECURITY_INFORMATION | GROUP_SECURITY_INFORMATION | DACL_SECURITY_INFORMATION,
+ &pOwner, &pGroup, &pDacl, 0, &pSD);
if(res == ERROR_SUCCESS) {
TRUSTEE_W trustee;
{ //user
if(ptrGetEffectiveRightsFromAclW(pDacl, &currentUserTrusteeW, &access_mask) != ERROR_SUCCESS)
access_mask = (ACCESS_MASK)-1;
- if(access_mask & ReadMask)
- ret |= QAbstractFileEngine::ReadUserPerm;
- if(access_mask & WriteMask)
- ret |= QAbstractFileEngine::WriteUserPerm;
- if(access_mask & ExecMask)
- ret |= QAbstractFileEngine::ExeUserPerm;
+ if(access_mask & ReadMask)
+ ret |= QAbstractFileEngine::ReadUserPerm;
+ if(access_mask & WriteMask)
+ ret |= QAbstractFileEngine::WriteUserPerm;
+ if(access_mask & ExecMask)
+ ret |= QAbstractFileEngine::ExeUserPerm;
}
{ //owner
ptrBuildTrusteeWithSidW(&trustee, pOwner);
if(ptrGetEffectiveRightsFromAclW(pDacl, &trustee, &access_mask) != ERROR_SUCCESS)
access_mask = (ACCESS_MASK)-1;
- if(access_mask & ReadMask)
- ret |= QAbstractFileEngine::ReadOwnerPerm;
- if(access_mask & WriteMask)
- ret |= QAbstractFileEngine::WriteOwnerPerm;
- if(access_mask & ExecMask)
- ret |= QAbstractFileEngine::ExeOwnerPerm;
+ if(access_mask & ReadMask)
+ ret |= QAbstractFileEngine::ReadOwnerPerm;
+ if(access_mask & WriteMask)
+ ret |= QAbstractFileEngine::WriteOwnerPerm;
+ if(access_mask & ExecMask)
+ ret |= QAbstractFileEngine::ExeOwnerPerm;
}
{ //group
ptrBuildTrusteeWithSidW(&trustee, pGroup);
if(ptrGetEffectiveRightsFromAclW(pDacl, &trustee, &access_mask) != ERROR_SUCCESS)
access_mask = (ACCESS_MASK)-1;
- if(access_mask & ReadMask)
- ret |= QAbstractFileEngine::ReadGroupPerm;
- if(access_mask & WriteMask)
- ret |= QAbstractFileEngine::WriteGroupPerm;
- if(access_mask & ExecMask)
- ret |= QAbstractFileEngine::ExeGroupPerm;
+ if(access_mask & ReadMask)
+ ret |= QAbstractFileEngine::ReadGroupPerm;
+ if(access_mask & WriteMask)
+ ret |= QAbstractFileEngine::WriteGroupPerm;
+ if(access_mask & ExecMask)
+ ret |= QAbstractFileEngine::ExeGroupPerm;
}
{ //other (world)
// Create SID for Everyone (World)
@@ -1655,12 +1452,12 @@ QAbstractFileEngine::FileFlags QFSFileEnginePrivate::getPermissions() const
ptrBuildTrusteeWithSidW(&trustee, pWorld);
if(ptrGetEffectiveRightsFromAclW(pDacl, &trustee, &access_mask) != ERROR_SUCCESS)
access_mask = (ACCESS_MASK)-1; // ###
- if(access_mask & ReadMask)
- ret |= QAbstractFileEngine::ReadOtherPerm;
- if(access_mask & WriteMask)
- ret |= QAbstractFileEngine::WriteOtherPerm;
- if(access_mask & ExecMask)
- ret |= QAbstractFileEngine::ExeOtherPerm;
+ if(access_mask & ReadMask)
+ ret |= QAbstractFileEngine::ReadOtherPerm;
+ if(access_mask & WriteMask)
+ ret |= QAbstractFileEngine::WriteOtherPerm;
+ if(access_mask & ExecMask)
+ ret |= QAbstractFileEngine::ExeOtherPerm;
}
ptrFreeSid(pWorld);
}
@@ -1670,13 +1467,13 @@ QAbstractFileEngine::FileFlags QFSFileEnginePrivate::getPermissions() const
} else
#endif
{
- //### what to do with permissions if we don't use ntfs or are not on a NT system
- // for now just add all permissions and what about exe missions ??
- // also qt_ntfs_permission_lookup is now not set by defualt ... should it ?
- ret |= QAbstractFileEngine::ReadOtherPerm | QAbstractFileEngine::ReadGroupPerm
- | QAbstractFileEngine::ReadOwnerPerm | QAbstractFileEngine::ReadUserPerm
- | QAbstractFileEngine::WriteUserPerm | QAbstractFileEngine::WriteOwnerPerm
- | QAbstractFileEngine::WriteGroupPerm | QAbstractFileEngine::WriteOtherPerm;
+ //### what to do with permissions if we don't use NTFS
+ // for now just add all permissions and what about exe missions ??
+ // also qt_ntfs_permission_lookup is now not set by defualt ... should it ?
+ ret |= QAbstractFileEngine::ReadOtherPerm | QAbstractFileEngine::ReadGroupPerm
+ | QAbstractFileEngine::ReadOwnerPerm | QAbstractFileEngine::ReadUserPerm
+ | QAbstractFileEngine::WriteUserPerm | QAbstractFileEngine::WriteOwnerPerm
+ | QAbstractFileEngine::WriteGroupPerm | QAbstractFileEngine::WriteOtherPerm;
}
if (doStat()) {
@@ -1783,8 +1580,8 @@ QString QFSFileEngine::fileName(FileName file) const
if (!isRelativePath()) {
#if !defined(Q_OS_WINCE)
- if (d->filePath.size() > 2 && d->filePath.at(1) == QLatin1Char(':')
- && d->filePath.at(2) != QLatin1Char('/') || // It's a drive-relative path, so Z:a.txt -> Z:\currentpath\a.txt
+ if ((d->filePath.size() > 2 && d->filePath.at(1) == QLatin1Char(':')
+ && d->filePath.at(2) != QLatin1Char('/')) || // It's a drive-relative path, so Z:a.txt -> Z:\currentpath\a.txt
d->filePath.startsWith(QLatin1Char('/')) // It's a absolute path to the current drive, so \a.txt -> Z:\a.txt
) {
ret = QDir::fromNativeSeparators(nativeAbsoluteFilePath(d->filePath));
@@ -1911,13 +1708,9 @@ bool QFSFileEngine::setPermissions(uint perms)
return false;
#if !defined(Q_OS_WINCE)
- QT_WA({
- ret = ::_wchmod((TCHAR*)d->filePath.utf16(), mode) == 0;
- } , {
- ret = ::_chmod(d->filePath.toLocal8Bit(), mode) == 0;
- });
+ ret = ::_wchmod((wchar_t*)d->filePath.utf16(), mode) == 0;
#else
- ret = ::_wchmod((TCHAR*)d->longFileName(d->filePath).utf16(), mode);
+ ret = ::_wchmod((wchar_t*)d->longFileName(d->filePath).utf16(), mode);
#endif
return ret;
}
@@ -1960,34 +1753,33 @@ bool QFSFileEngine::setSize(qint64 size)
static inline QDateTime fileTimeToQDateTime(const FILETIME *time)
{
QDateTime ret;
- if (QSysInfo::WindowsVersion & QSysInfo::WV_DOS_based || QSysInfo::WindowsVersion & QSysInfo::WV_CE_based) {
- // SystemTimeToTzSpecificLocalTime is not available on Win98/ME so we have to pull it off ourselves.
- SYSTEMTIME systime;
- FILETIME ftime;
- systime.wYear = 1970;
- systime.wMonth = 1;
- systime.wDay = 1;
- systime.wHour = 0;
- systime.wMinute = 0;
- systime.wSecond = 0;
- systime.wMilliseconds = 0;
- systime.wDayOfWeek = 4;
- SystemTimeToFileTime(&systime, &ftime);
- unsigned __int64 acttime = (unsigned __int64)time->dwHighDateTime << 32 | time->dwLowDateTime;
- FileTimeToSystemTime(time, &systime);
- unsigned __int64 time1970 = (unsigned __int64)ftime.dwHighDateTime << 32 | ftime.dwLowDateTime;
- unsigned __int64 difftime = acttime - time1970;
- difftime /= 10000000;
- ret.setTime_t((unsigned int)difftime);
- } else {
-#ifndef Q_OS_WINCE
- SYSTEMTIME sTime, lTime;
- FileTimeToSystemTime(time, &sTime);
- SystemTimeToTzSpecificLocalTime(0, &sTime, &lTime);
- ret.setDate(QDate(lTime.wYear, lTime.wMonth, lTime.wDay));
- ret.setTime(QTime(lTime.wHour, lTime.wMinute, lTime.wSecond, lTime.wMilliseconds));
+
+#if defined(Q_OS_WINCE)
+ SYSTEMTIME systime;
+ FILETIME ftime;
+ systime.wYear = 1970;
+ systime.wMonth = 1;
+ systime.wDay = 1;
+ systime.wHour = 0;
+ systime.wMinute = 0;
+ systime.wSecond = 0;
+ systime.wMilliseconds = 0;
+ systime.wDayOfWeek = 4;
+ SystemTimeToFileTime(&systime, &ftime);
+ unsigned __int64 acttime = (unsigned __int64)time->dwHighDateTime << 32 | time->dwLowDateTime;
+ FileTimeToSystemTime(time, &systime);
+ unsigned __int64 time1970 = (unsigned __int64)ftime.dwHighDateTime << 32 | ftime.dwLowDateTime;
+ unsigned __int64 difftime = acttime - time1970;
+ difftime /= 10000000;
+ ret.setTime_t((unsigned int)difftime);
+#else
+ SYSTEMTIME sTime, lTime;
+ FileTimeToSystemTime(time, &sTime);
+ SystemTimeToTzSpecificLocalTime(0, &sTime, &lTime);
+ ret.setDate(QDate(lTime.wYear, lTime.wMonth, lTime.wDay));
+ ret.setTime(QTime(lTime.wHour, lTime.wMinute, lTime.wSecond, lTime.wMilliseconds));
#endif
- }
+
return ret;
}
@@ -2011,13 +1803,31 @@ QDateTime QFSFileEngine::fileTime(FileTime time) const
}
#endif
} else {
- bool ok = false;
WIN32_FILE_ATTRIBUTE_DATA attribData;
- QT_WA({
- ok = ::GetFileAttributesExW((TCHAR*)QFSFileEnginePrivate::longFileName(d->filePath).utf16(), GetFileExInfoStandard, &attribData);
- } , {
- ok = ::GetFileAttributesExA(QFSFileEnginePrivate::win95Name(QFileInfo(d->filePath).absoluteFilePath()), GetFileExInfoStandard, &attribData);
- });
+ bool ok = ::GetFileAttributesEx((wchar_t*)QFSFileEnginePrivate::longFileName(d->filePath).utf16(), GetFileExInfoStandard, &attribData);
+ if (!ok) {
+ int errorCode = GetLastError();
+ if (errorCode == ERROR_ACCESS_DENIED || errorCode == ERROR_SHARING_VIOLATION) {
+ QString path = QDir::toNativeSeparators(d->filePath);
+ // path for the FindFirstFile should not end with a trailing slash
+ while (path.endsWith(QLatin1Char('\\')))
+ path.chop(1);
+
+ // FindFirstFile can not handle drives
+ if (!path.endsWith(QLatin1Char(':'))) {
+ WIN32_FIND_DATA findData;
+ HANDLE hFind = ::FindFirstFile((wchar_t*)QFSFileEnginePrivate::longFileName(path).utf16(),
+ &findData);
+ if (hFind != INVALID_HANDLE_VALUE) {
+ ::FindClose(hFind);
+ ok = true;
+ attribData.ftCreationTime = findData.ftCreationTime;
+ attribData.ftLastWriteTime = findData.ftLastWriteTime;
+ attribData.ftLastAccessTime = findData.ftLastAccessTime;
+ }
+ }
+ }
+ }
if (ok) {
if(time == CreationTime)
ret = fileTimeToQDateTime(&attribData.ftCreationTime);
@@ -2037,11 +1847,11 @@ uchar *QFSFileEnginePrivate::map(qint64 offset, qint64 size,
Q_UNUSED(flags);
if (openMode == QFile::NotOpen) {
q->setError(QFile::PermissionsError, qt_error_string());
- return 0;
+ return 0;
}
if (offset == 0 && size == 0) {
q->setError(QFile::UnspecifiedError, qt_error_string());
- return 0;
+ return 0;
}
@@ -2054,7 +1864,7 @@ uchar *QFSFileEnginePrivate::map(qint64 offset, qint64 size,
#ifdef Q_USE_DEPRECATED_MAP_API
nativeClose();
if (fileMapHandle == INVALID_HANDLE_VALUE) {
- fileMapHandle = CreateFileForMappingW((TCHAR *)nativeFilePath.constData(),
+ fileMapHandle = CreateFileForMapping((const wchar_t*)nativeFilePath.constData(),
GENERIC_READ | (openMode & QIODevice::WriteOnly ? GENERIC_WRITE : 0),
0,
NULL,
@@ -2069,21 +1879,14 @@ uchar *QFSFileEnginePrivate::map(qint64 offset, qint64 size,
#endif
// first create the file mapping handle
- HANDLE mapHandle = 0;
DWORD protection = (openMode & QIODevice::WriteOnly) ? PAGE_READWRITE : PAGE_READONLY;
- QT_WA({
- mapHandle = ::CreateFileMappingW(handle, 0, protection,
- 0, 0, 0);
- },{
- mapHandle = ::CreateFileMappingA(handle, 0, protection,
- 0, 0, 0);
- });
+ HANDLE mapHandle = ::CreateFileMapping(handle, 0, protection, 0, 0, 0);
if (mapHandle == NULL) {
q->setError(QFile::PermissionsError, qt_error_string());
#ifdef Q_USE_DEPRECATED_MAP_API
mapHandleClose();
#endif
- return 0;
+ return 0;
}
// setup args to map
@@ -2112,7 +1915,7 @@ uchar *QFSFileEnginePrivate::map(qint64 offset, qint64 size,
switch(GetLastError()) {
case ERROR_ACCESS_DENIED:
q->setError(QFile::PermissionsError, qt_error_string());
- break;
+ break;
case ERROR_INVALID_PARAMETER:
// size are out of bounds
default:
diff --git a/src/corelib/io/qiodevice.h b/src/corelib/io/qiodevice.h
index d8237a7..866fa72 100644
--- a/src/corelib/io/qiodevice.h
+++ b/src/corelib/io/qiodevice.h
@@ -165,7 +165,7 @@ protected:
#endif
private:
- Q_DECLARE_SCOPED_PRIVATE(QIODevice)
+ Q_DECLARE_PRIVATE(QIODevice)
Q_DISABLE_COPY(QIODevice)
#ifdef QT3_SUPPORT
diff --git a/src/corelib/io/qprocess.cpp b/src/corelib/io/qprocess.cpp
index 03ae1fe..871ea63 100644
--- a/src/corelib/io/qprocess.cpp
+++ b/src/corelib/io/qprocess.cpp
@@ -310,7 +310,7 @@ void QProcessPrivate::Channel::clear()
writes to its standard output and standard error will be written
to the standard output and standard error of the main process.
- \sa setReadChannelMode()
+ \sa setProcessChannelMode()
*/
/*!
@@ -878,7 +878,7 @@ void QProcess::setReadChannelMode(ProcessChannelMode mode)
Returns the channel mode of the QProcess standard output and
standard error channels.
- \sa setReadChannelMode(), ProcessChannelMode, setReadChannel()
+ \sa setProcessChannelMode(), ProcessChannelMode, setReadChannel()
*/
QProcess::ProcessChannelMode QProcess::processChannelMode() const
{
@@ -895,7 +895,7 @@ QProcess::ProcessChannelMode QProcess::processChannelMode() const
\snippet doc/src/snippets/code/src_corelib_io_qprocess.cpp 0
- \sa readChannelMode(), ProcessChannelMode, setReadChannel()
+ \sa processChannelMode(), ProcessChannelMode, setReadChannel()
*/
void QProcess::setProcessChannelMode(ProcessChannelMode mode)
{
diff --git a/src/corelib/io/qprocess.h b/src/corelib/io/qprocess.h
index a4025a1..bff5f7e 100644
--- a/src/corelib/io/qprocess.h
+++ b/src/corelib/io/qprocess.h
@@ -191,7 +191,7 @@ protected:
qint64 writeData(const char *data, qint64 len);
private:
- Q_DECLARE_SCOPED_PRIVATE(QProcess)
+ Q_DECLARE_PRIVATE(QProcess)
Q_DISABLE_COPY(QProcess)
Q_PRIVATE_SLOT(d_func(), bool _q_canReadStandardOutput())
diff --git a/src/corelib/io/qprocess_symbian.cpp b/src/corelib/io/qprocess_symbian.cpp
index 7da6a1d..64519f6 100644
--- a/src/corelib/io/qprocess_symbian.cpp
+++ b/src/corelib/io/qprocess_symbian.cpp
@@ -1,9 +1,9 @@
/****************************************************************************
**
-** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
-** This file is part of the $MODULE$ of the Qt Toolkit.
+** This file is part of the QtCore of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/src/corelib/io/qprocess_unix.cpp b/src/corelib/io/qprocess_unix.cpp
index 49869a4..607b734 100644
--- a/src/corelib/io/qprocess_unix.cpp
+++ b/src/corelib/io/qprocess_unix.cpp
@@ -84,6 +84,7 @@ QT_END_NAMESPACE
#include "qprocess.h"
#include "qprocess_p.h"
+#include "private/qcore_unix_p.h"
#ifdef Q_OS_MAC
#include <private/qcore_mac_p.h>
@@ -114,78 +115,11 @@ static inline char *strdup(const char *data)
}
#endif
-static qint64 qt_native_read(int fd, char *data, qint64 maxlen)
-{
- qint64 ret = 0;
- do {
- ret = ::read(fd, data, maxlen);
- } while (ret == -1 && errno == EINTR);
- return ret;
-}
-
-static qint64 qt_native_write(int fd, const char *data, qint64 len)
-{
- qint64 ret = 0;
- do {
- ret = ::write(fd, data, len);
- } while (ret == -1 && errno == EINTR);
- return ret;
-}
-
-static void qt_native_close(int fd)
-{
- int ret;
- do {
- ret = ::close(fd);
- } while (ret == -1 && errno == EINTR);
-}
-
-static void qt_native_dup2(int oldfd, int newfd)
-{
- int ret;
- do {
- ret = ::dup2(oldfd, newfd);
- } while (ret == -1 && errno == EINTR);
-}
-
-static void qt_native_chdir(const char *path)
-{
- int ret;
- do {
- ret = ::chdir(path);
- } while (ret == -1 && errno == EINTR);
-}
-
-static void qt_native_execve(const char *filename, char *const argv[],
- char *const envp[])
-{
- int ret;
- do {
- ret = ::execve(filename, argv, envp);
- } while (ret == -1 && errno == EINTR);
-}
-
-static void qt_native_execv(const char *path, char *const argv[])
-{
- int ret;
- do {
- ret = ::execv(path, argv);
- } while (ret == -1 && errno == EINTR);
-}
-
-static void qt_native_execvp(const char *file, char *const argv[])
-{
- int ret;
- do {
- ret = ::execvp(file, argv);
- } while (ret == -1 && errno == EINTR);
-}
-
static int qt_qprocess_deadChild_pipe[2];
static void (*qt_sa_old_sigchld_handler)(int) = 0;
static void qt_sa_sigchld_handler(int signum)
{
- qt_native_write(qt_qprocess_deadChild_pipe[1], "", 1);
+ qt_safe_write(qt_qprocess_deadChild_pipe[1], "", 1);
#if defined (QPROCESS_DEBUG)
fprintf(stderr, "*** SIGCHLD\n");
#endif
@@ -194,6 +128,13 @@ static void qt_sa_sigchld_handler(int signum)
qt_sa_old_sigchld_handler(signum);
}
+static inline void add_fd(int &nfds, int fd, fd_set *fdset)
+{
+ FD_SET(fd, fdset);
+ if ((fd) > nfds)
+ nfds = fd;
+}
+
struct QProcessInfo {
QProcess *process;
int deathPipe;
@@ -231,13 +172,7 @@ QProcessManager::QProcessManager()
// initialize the dead child pipe and make it non-blocking. in the
// extremely unlikely event that the pipe fills up, we do not under any
// circumstances want to block.
- ::pipe(qt_qprocess_deadChild_pipe);
- ::fcntl(qt_qprocess_deadChild_pipe[0], F_SETFD, FD_CLOEXEC);
- ::fcntl(qt_qprocess_deadChild_pipe[1], F_SETFD, FD_CLOEXEC);
- ::fcntl(qt_qprocess_deadChild_pipe[0], F_SETFL,
- ::fcntl(qt_qprocess_deadChild_pipe[0], F_GETFL) | O_NONBLOCK);
- ::fcntl(qt_qprocess_deadChild_pipe[1], F_SETFL,
- ::fcntl(qt_qprocess_deadChild_pipe[1], F_GETFL) | O_NONBLOCK);
+ qt_safe_pipe(qt_qprocess_deadChild_pipe, O_NONBLOCK);
// set up the SIGCHLD handler, which writes a single byte to the dead
// child pipe every time a child dies.
@@ -254,13 +189,13 @@ QProcessManager::QProcessManager()
QProcessManager::~QProcessManager()
{
// notify the thread that we're shutting down.
- qt_native_write(qt_qprocess_deadChild_pipe[1], "@", 1);
- qt_native_close(qt_qprocess_deadChild_pipe[1]);
+ qt_safe_write(qt_qprocess_deadChild_pipe[1], "@", 1);
+ qt_safe_close(qt_qprocess_deadChild_pipe[1]);
wait();
// on certain unixes, closing the reading end of the pipe will cause
// select in run() to block forever, rather than return with EBADF.
- qt_native_close(qt_qprocess_deadChild_pipe[0]);
+ qt_safe_close(qt_qprocess_deadChild_pipe[0]);
qt_qprocess_deadChild_pipe[0] = -1;
qt_qprocess_deadChild_pipe[1] = -1;
@@ -304,7 +239,7 @@ void QProcessManager::run()
// signals may have been delivered in the meantime, to avoid race
// conditions.
char c;
- if (qt_native_read(qt_qprocess_deadChild_pipe[0], &c, 1) < 0 || c == '@')
+ if (qt_safe_read(qt_qprocess_deadChild_pipe[0], &c, 1) < 0 || c == '@')
break;
// catch any and all children that we can.
@@ -323,7 +258,7 @@ void QProcessManager::catchDeadChildren()
// notify all children that they may have died. they need to run
// waitpid() in their own thread.
QProcessInfo *info = it.value();
- qt_native_write(info->deathPipe, "", 1);
+ qt_safe_write(info->deathPipe, "", 1);
#if defined (QPROCESS_DEBUG)
qDebug() << "QProcessManager::run() sending death notice to" << info->process;
@@ -382,25 +317,23 @@ void QProcessManager::unlock()
static void qt_create_pipe(int *pipe)
{
if (pipe[0] != -1)
- qt_native_close(pipe[0]);
+ qt_safe_close(pipe[0]);
if (pipe[1] != -1)
- qt_native_close(pipe[1]);
- if (::pipe(pipe) != 0) {
+ qt_safe_close(pipe[1]);
+ if (qt_safe_pipe(pipe) != 0) {
qWarning("QProcessPrivate::createPipe: Cannot create pipe %p: %s",
pipe, qPrintable(qt_error_string(errno)));
}
- ::fcntl(pipe[0], F_SETFD, FD_CLOEXEC);
- ::fcntl(pipe[1], F_SETFD, FD_CLOEXEC);
}
void QProcessPrivate::destroyPipe(int *pipe)
{
if (pipe[1] != -1) {
- qt_native_close(pipe[1]);
+ qt_safe_close(pipe[1]);
pipe[1] = -1;
}
if (pipe[0] != -1) {
- qt_native_close(pipe[0]);
+ qt_safe_close(pipe[0]);
pipe[0] = -1;
}
}
@@ -453,7 +386,7 @@ bool QProcessPrivate::createChannel(Channel &channel)
if (&channel == &stdinChannel) {
// try to open in read-only mode
channel.pipe[1] = -1;
- if ( (channel.pipe[0] = QT_OPEN(fname, O_RDONLY)) != -1)
+ if ( (channel.pipe[0] = qt_safe_open(fname, O_RDONLY)) != -1)
return true; // success
q->setErrorString(QProcess::tr("Could not open input redirection for reading"));
@@ -465,7 +398,7 @@ bool QProcessPrivate::createChannel(Channel &channel)
mode |= O_TRUNC;
channel.pipe[0] = -1;
- if ( (channel.pipe[1] = QT_OPEN(fname, mode, 0666)) != -1)
+ if ( (channel.pipe[1] = qt_safe_open(fname, mode, 0666)) != -1)
return true; // success
q->setErrorString(QProcess::tr("Could not open output redirection for writing"));
@@ -586,8 +519,6 @@ void QProcessPrivate::startProcess()
return;
qt_create_pipe(childStartedPipe);
qt_create_pipe(deathPipe);
- ::fcntl(deathPipe[0], F_SETFD, FD_CLOEXEC);
- ::fcntl(deathPipe[1], F_SETFD, FD_CLOEXEC);
if (threadData->eventDispatcher) {
startupSocketNotifier = new QSocketNotifier(childStartedPipe[0],
@@ -728,11 +659,11 @@ void QProcessPrivate::startProcess()
// parent
// close the ends we don't use and make all pipes non-blocking
::fcntl(deathPipe[0], F_SETFL, ::fcntl(deathPipe[0], F_GETFL) | O_NONBLOCK);
- qt_native_close(childStartedPipe[1]);
+ qt_safe_close(childStartedPipe[1]);
childStartedPipe[1] = -1;
if (stdinChannel.pipe[0] != -1) {
- qt_native_close(stdinChannel.pipe[0]);
+ qt_safe_close(stdinChannel.pipe[0]);
stdinChannel.pipe[0] = -1;
}
@@ -740,7 +671,7 @@ void QProcessPrivate::startProcess()
::fcntl(stdinChannel.pipe[1], F_SETFL, ::fcntl(stdinChannel.pipe[1], F_GETFL) | O_NONBLOCK);
if (stdoutChannel.pipe[1] != -1) {
- qt_native_close(stdoutChannel.pipe[1]);
+ qt_safe_close(stdoutChannel.pipe[1]);
stdoutChannel.pipe[1] = -1;
}
@@ -748,7 +679,7 @@ void QProcessPrivate::startProcess()
::fcntl(stdoutChannel.pipe[0], F_SETFL, ::fcntl(stdoutChannel.pipe[0], F_GETFL) | O_NONBLOCK);
if (stderrChannel.pipe[1] != -1) {
- qt_native_close(stderrChannel.pipe[1]);
+ qt_safe_close(stderrChannel.pipe[1]);
stderrChannel.pipe[1] = -1;
}
if (stderrChannel.pipe[0] != -1)
@@ -761,35 +692,34 @@ void QProcessPrivate::execChild(const char *workingDir, char **path, char **argv
Q_Q(QProcess);
- // copy the stdin socket
- qt_native_dup2(stdinChannel.pipe[0], fileno(stdin));
+ // copy the stdin socket (without closing on exec)
+ qt_safe_dup2(stdinChannel.pipe[0], fileno(stdin), 0);
// copy the stdout and stderr if asked to
if (processChannelMode != QProcess::ForwardedChannels) {
- qt_native_dup2(stdoutChannel.pipe[1], fileno(stdout));
+ qt_safe_dup2(stdoutChannel.pipe[1], fileno(stdout), 0);
// merge stdout and stderr if asked to
if (processChannelMode == QProcess::MergedChannels) {
- qt_native_dup2(fileno(stdout), fileno(stderr));
+ qt_safe_dup2(fileno(stdout), fileno(stderr), 0);
} else {
- qt_native_dup2(stderrChannel.pipe[1], fileno(stderr));
+ qt_safe_dup2(stderrChannel.pipe[1], fileno(stderr), 0);
}
}
// make sure this fd is closed if execvp() succeeds
- qt_native_close(childStartedPipe[0]);
- ::fcntl(childStartedPipe[1], F_SETFD, FD_CLOEXEC);
+ qt_safe_close(childStartedPipe[0]);
// enter the working directory
if (workingDir)
- qt_native_chdir(workingDir);
+ QT_CHDIR(workingDir);
// this is a virtual call, and it base behavior is to do nothing.
q->setupChildProcess();
// execute the process
if (!envp) {
- qt_native_execvp(argv[0], argv);
+ qt_safe_execvp(argv[0], argv);
} else {
if (path) {
char **arg = path;
@@ -798,14 +728,14 @@ void QProcessPrivate::execChild(const char *workingDir, char **path, char **argv
#if defined (QPROCESS_DEBUG)
fprintf(stderr, "QProcessPrivate::execChild() searching / starting %s\n", argv[0]);
#endif
- qt_native_execve(argv[0], argv, envp);
+ qt_safe_execve(argv[0], argv, envp);
++arg;
}
} else {
#if defined (QPROCESS_DEBUG)
fprintf(stderr, "QProcessPrivate::execChild() starting %s\n", argv[0]);
#endif
- qt_native_execve(argv[0], argv, envp);
+ qt_safe_execve(argv[0], argv, envp);
}
}
@@ -813,21 +743,21 @@ void QProcessPrivate::execChild(const char *workingDir, char **path, char **argv
#if defined (QPROCESS_DEBUG)
fprintf(stderr, "QProcessPrivate::execChild() failed, notifying parent process\n");
#endif
- qt_native_write(childStartedPipe[1], "", 1);
- qt_native_close(childStartedPipe[1]);
+ qt_safe_write(childStartedPipe[1], "", 1);
+ qt_safe_close(childStartedPipe[1]);
childStartedPipe[1] = -1;
}
bool QProcessPrivate::processStarted()
{
char c;
- int i = qt_native_read(childStartedPipe[0], &c, 1);
+ int i = qt_safe_read(childStartedPipe[0], &c, 1);
if (startupSocketNotifier) {
startupSocketNotifier->setEnabled(false);
startupSocketNotifier->deleteLater();
startupSocketNotifier = 0;
}
- qt_native_close(childStartedPipe[0]);
+ qt_safe_close(childStartedPipe[0]);
childStartedPipe[0] = -1;
#if defined (QPROCESS_DEBUG)
@@ -862,7 +792,7 @@ qint64 QProcessPrivate::bytesAvailableFromStderr() const
qint64 QProcessPrivate::readFromStdout(char *data, qint64 maxlen)
{
- qint64 bytesRead = qt_native_read(stdoutChannel.pipe[0], data, maxlen);
+ qint64 bytesRead = qt_safe_read(stdoutChannel.pipe[0], data, maxlen);
#if defined QPROCESS_DEBUG
qDebug("QProcessPrivate::readFromStdout(%p \"%s\", %lld) == %lld",
data, qt_prettyDebug(data, bytesRead, 16).constData(), maxlen, bytesRead);
@@ -872,7 +802,7 @@ qint64 QProcessPrivate::readFromStdout(char *data, qint64 maxlen)
qint64 QProcessPrivate::readFromStderr(char *data, qint64 maxlen)
{
- qint64 bytesRead = qt_native_read(stderrChannel.pipe[0], data, maxlen);
+ qint64 bytesRead = qt_safe_read(stderrChannel.pipe[0], data, maxlen);
#if defined QPROCESS_DEBUG
qDebug("QProcessPrivate::readFromStderr(%p \"%s\", %lld) == %lld",
data, qt_prettyDebug(data, bytesRead, 16).constData(), maxlen, bytesRead);
@@ -896,7 +826,7 @@ qint64 QProcessPrivate::writeToStdin(const char *data, qint64 maxlen)
{
qt_ignore_sigpipe();
- qint64 written = qt_native_write(stdinChannel.pipe[1], data, maxlen);
+ qint64 written = qt_safe_write(stdinChannel.pipe[1], data, maxlen);
#if defined QPROCESS_DEBUG
qDebug("QProcessPrivate::writeToStdin(%p \"%s\", %lld) == %lld",
data, qt_prettyDebug(data, maxlen, 16).constData(), maxlen, written);
@@ -922,17 +852,15 @@ void QProcessPrivate::killProcess()
::kill(pid_t(pid), SIGKILL);
}
-static int qt_native_select(fd_set *fdread, fd_set *fdwrite, int timeout)
+static int select_msecs(int nfds, fd_set *fdread, fd_set *fdwrite, int timeout)
{
+ if (timeout < 0)
+ return qt_safe_select(nfds, fdread, fdwrite, 0, 0);
+
struct timeval tv;
tv.tv_sec = timeout / 1000;
tv.tv_usec = (timeout % 1000) * 1000;
-
- int ret;
- do {
- ret = select(FD_SETSIZE, fdread, fdwrite, 0, timeout < 0 ? 0 : &tv);
- } while (ret < 0 && (errno == EINTR));
- return ret;
+ return qt_safe_select(nfds, fdread, fdwrite, 0, &tv);
}
/*
@@ -960,11 +888,7 @@ bool QProcessPrivate::waitForStarted(int msecs)
fd_set fds;
FD_ZERO(&fds);
FD_SET(childStartedPipe[0], &fds);
- int ret;
- do {
- ret = qt_native_select(&fds, 0, msecs);
- } while (ret < 0 && errno == EINTR);
- if (ret == 0) {
+ if (select_msecs(childStartedPipe[0] + 1, &fds, 0, msecs) == 0) {
processError = QProcess::Timedout;
q->setErrorString(QProcess::tr("Process operation timed out"));
#if defined (QPROCESS_DEBUG)
@@ -997,24 +921,23 @@ bool QProcessPrivate::waitForReadyRead(int msecs)
FD_ZERO(&fdread);
FD_ZERO(&fdwrite);
+ int nfds = deathPipe[0];
+ FD_SET(deathPipe[0], &fdread);
+
if (processState == QProcess::Starting)
- FD_SET(childStartedPipe[0], &fdread);
+ add_fd(nfds, childStartedPipe[0], &fdread);
if (stdoutChannel.pipe[0] != -1)
- FD_SET(stdoutChannel.pipe[0], &fdread);
+ add_fd(nfds, stdoutChannel.pipe[0], &fdread);
if (stderrChannel.pipe[0] != -1)
- FD_SET(stderrChannel.pipe[0], &fdread);
-
- FD_SET(deathPipe[0], &fdread);
+ add_fd(nfds, stderrChannel.pipe[0], &fdread);
if (!writeBuffer.isEmpty() && stdinChannel.pipe[1] != -1)
- FD_SET(stdinChannel.pipe[1], &fdwrite);
+ add_fd(nfds, stdinChannel.pipe[1], &fdwrite);
int timeout = qt_timeout_value(msecs, stopWatch.elapsed());
- int ret = qt_native_select(&fdread, &fdwrite, timeout);
+ int ret = select_msecs(nfds + 1, &fdread, &fdwrite, timeout);
if (ret < 0) {
- if (errno == EINTR)
- continue;
break;
}
if (ret == 0) {
@@ -1070,24 +993,24 @@ bool QProcessPrivate::waitForBytesWritten(int msecs)
FD_ZERO(&fdread);
FD_ZERO(&fdwrite);
+ int nfds = deathPipe[0];
+ FD_SET(deathPipe[0], &fdread);
+
if (processState == QProcess::Starting)
- FD_SET(childStartedPipe[0], &fdread);
+ add_fd(nfds, childStartedPipe[0], &fdread);
if (stdoutChannel.pipe[0] != -1)
- FD_SET(stdoutChannel.pipe[0], &fdread);
+ add_fd(nfds, stdoutChannel.pipe[0], &fdread);
if (stderrChannel.pipe[0] != -1)
- FD_SET(stderrChannel.pipe[0], &fdread);
+ add_fd(nfds, stderrChannel.pipe[0], &fdread);
- FD_SET(deathPipe[0], &fdread);
if (!writeBuffer.isEmpty() && stdinChannel.pipe[1] != -1)
- FD_SET(stdinChannel.pipe[1], &fdwrite);
+ add_fd(nfds, stdinChannel.pipe[1], &fdwrite);
int timeout = qt_timeout_value(msecs, stopWatch.elapsed());
- int ret = qt_native_select(&fdread, &fdwrite, timeout);
+ int ret = select_msecs(nfds + 1, &fdread, &fdwrite, timeout);
if (ret < 0) {
- if (errno == EINTR)
- continue;
break;
}
@@ -1133,29 +1056,28 @@ bool QProcessPrivate::waitForFinished(int msecs)
forever {
fd_set fdread;
fd_set fdwrite;
+ int nfds = -1;
FD_ZERO(&fdread);
FD_ZERO(&fdwrite);
if (processState == QProcess::Starting)
- FD_SET(childStartedPipe[0], &fdread);
+ add_fd(nfds, childStartedPipe[0], &fdread);
if (stdoutChannel.pipe[0] != -1)
- FD_SET(stdoutChannel.pipe[0], &fdread);
+ add_fd(nfds, stdoutChannel.pipe[0], &fdread);
if (stderrChannel.pipe[0] != -1)
- FD_SET(stderrChannel.pipe[0], &fdread);
+ add_fd(nfds, stderrChannel.pipe[0], &fdread);
if (processState == QProcess::Running)
- FD_SET(deathPipe[0], &fdread);
+ add_fd(nfds, deathPipe[0], &fdread);
if (!writeBuffer.isEmpty() && stdinChannel.pipe[1] != -1)
- FD_SET(stdinChannel.pipe[1], &fdwrite);
+ add_fd(nfds, stdinChannel.pipe[1], &fdwrite);
int timeout = qt_timeout_value(msecs, stopWatch.elapsed());
- int ret = qt_native_select(&fdread, &fdwrite, timeout);
+ int ret = select_msecs(nfds + 1, &fdread, &fdwrite, timeout);
if (ret < 0) {
- if (errno == EINTR)
- continue;
break;
}
if (ret == 0) {
@@ -1190,12 +1112,7 @@ bool QProcessPrivate::waitForWrite(int msecs)
fd_set fdwrite;
FD_ZERO(&fdwrite);
FD_SET(stdinChannel.pipe[1], &fdwrite);
-
- int ret;
- do {
- ret = qt_native_select(0, &fdwrite, msecs < 0 ? 0 : msecs) == 1;
- } while (ret < 0 && errno == EINTR);
- return ret == 1;
+ return select_msecs(stdinChannel.pipe[1] + 1, 0, &fdwrite, msecs < 0 ? 0 : msecs) == 1;
}
void QProcessPrivate::findExitCode()
@@ -1210,15 +1127,11 @@ bool QProcessPrivate::waitForDeadChild()
// read a byte from the death pipe
char c;
- qt_native_read(deathPipe[0], &c, 1);
+ qt_safe_read(deathPipe[0], &c, 1);
// check if our process is dead
int exitStatus;
- pid_t waitResult = 0;
- do {
- waitResult = waitpid(pid_t(pid), &exitStatus, WNOHANG);
- } while ((waitResult == -1 && errno == EINTR));
- if (waitResult > 0) {
+ if (qt_safe_waitpid(pid_t(pid), &exitStatus, WNOHANG) > 0) {
processManager()->remove(q);
crashed = !WIFEXITED(exitStatus);
exitCode = WEXITSTATUS(exitStatus);
@@ -1248,10 +1161,10 @@ bool QProcessPrivate::startDetached(const QString &program, const QStringList &a
// To catch the startup of the child
int startedPipe[2];
- ::pipe(startedPipe);
+ qt_safe_pipe(startedPipe);
// To communicate the pid of the child
int pidPipe[2];
- ::pipe(pidPipe);
+ qt_safe_pipe(pidPipe);
pid_t childPid = qt_fork();
if (childPid == 0) {
@@ -1262,16 +1175,15 @@ bool QProcessPrivate::startDetached(const QString &program, const QStringList &a
::setsid();
- qt_native_close(startedPipe[0]);
- qt_native_close(pidPipe[0]);
+ qt_safe_close(startedPipe[0]);
+ qt_safe_close(pidPipe[0]);
pid_t doubleForkPid = qt_fork();
if (doubleForkPid == 0) {
- ::fcntl(startedPipe[1], F_SETFD, FD_CLOEXEC);
- qt_native_close(pidPipe[1]);
+ qt_safe_close(pidPipe[1]);
if (!encodedWorkingDirectory.isEmpty())
- qt_native_chdir(encodedWorkingDirectory.constData());
+ QT_CHDIR(encodedWorkingDirectory.constData());
char **argv = new char *[arguments.size() + 2];
for (int i = 0; i < arguments.size(); ++i) {
@@ -1292,13 +1204,13 @@ bool QProcessPrivate::startDetached(const QString &program, const QStringList &a
if (!tmp.endsWith('/')) tmp += '/';
tmp += QFile::encodeName(program);
argv[0] = tmp.data();
- qt_native_execv(argv[0], argv);
+ qt_safe_execv(argv[0], argv);
}
}
} else {
QByteArray tmp = QFile::encodeName(program);
argv[0] = tmp.data();
- qt_native_execv(argv[0], argv);
+ qt_safe_execv(argv[0], argv);
}
struct sigaction noaction;
@@ -1308,8 +1220,8 @@ bool QProcessPrivate::startDetached(const QString &program, const QStringList &a
// '\1' means execv failed
char c = '\1';
- qt_native_write(startedPipe[1], &c, 1);
- qt_native_close(startedPipe[1]);
+ qt_safe_write(startedPipe[1], &c, 1);
+ qt_safe_close(startedPipe[1]);
::_exit(1);
} else if (doubleForkPid == -1) {
struct sigaction noaction;
@@ -1319,40 +1231,39 @@ bool QProcessPrivate::startDetached(const QString &program, const QStringList &a
// '\2' means internal error
char c = '\2';
- qt_native_write(startedPipe[1], &c, 1);
+ qt_safe_write(startedPipe[1], &c, 1);
}
- qt_native_close(startedPipe[1]);
- qt_native_write(pidPipe[1], (const char *)&doubleForkPid, sizeof(pid_t));
- qt_native_chdir("/");
+ qt_safe_close(startedPipe[1]);
+ qt_safe_write(pidPipe[1], (const char *)&doubleForkPid, sizeof(pid_t));
+ QT_CHDIR("/");
::_exit(1);
}
- qt_native_close(startedPipe[1]);
- qt_native_close(pidPipe[1]);
+ qt_safe_close(startedPipe[1]);
+ qt_safe_close(pidPipe[1]);
if (childPid == -1) {
- qt_native_close(startedPipe[0]);
- qt_native_close(pidPipe[0]);
+ qt_safe_close(startedPipe[0]);
+ qt_safe_close(pidPipe[0]);
return false;
}
char reply = '\0';
- int startResult = qt_native_read(startedPipe[0], &reply, 1);
+ int startResult = qt_safe_read(startedPipe[0], &reply, 1);
int result;
- qt_native_close(startedPipe[0]);
- while (::waitpid(childPid, &result, 0) == -1 && errno == EINTR)
- { }
+ qt_safe_close(startedPipe[0]);
+ qt_safe_waitpid(childPid, &result, 0);
bool success = (startResult != -1 && reply == '\0');
if (success && pid) {
pid_t actualPid = 0;
- if (qt_native_read(pidPipe[0], (char *)&actualPid, sizeof(pid_t)) == sizeof(pid_t)) {
+ if (qt_safe_read(pidPipe[0], (char *)&actualPid, sizeof(pid_t)) == sizeof(pid_t)) {
*pid = actualPid;
} else {
*pid = 0;
}
}
- qt_native_close(pidPipe[0]);
+ qt_safe_close(pidPipe[0]);
return success;
}
diff --git a/src/corelib/io/qprocess_win.cpp b/src/corelib/io/qprocess_win.cpp
index d028df1..eae17b4 100644
--- a/src/corelib/io/qprocess_win.cpp
+++ b/src/corelib/io/qprocess_win.cpp
@@ -54,7 +54,7 @@
#include <private/qthread_p.h>
#include <qdebug.h>
-#include "private/qfsfileengine_p.h" // for longFileName and win95FileName
+#include "private/qfsfileengine_p.h" // for longFileName
#ifndef QT_NO_PROCESS
@@ -122,25 +122,15 @@ bool QProcessPrivate::createChannel(Channel &channel)
if (&channel == &stdinChannel) {
// try to open in read-only mode
channel.pipe[1] = INVALID_Q_PIPE;
- QT_WA({
- channel.pipe[0] =
- CreateFileW((TCHAR*)QFSFileEnginePrivate::longFileName(channel.file).utf16(),
- GENERIC_READ,
- FILE_SHARE_READ | FILE_SHARE_WRITE,
- &secAtt,
- OPEN_EXISTING,
- FILE_ATTRIBUTE_NORMAL,
- NULL);
- }, {
- channel.pipe[0] =
- CreateFileA(QFSFileEnginePrivate::win95Name(channel.file),
- GENERIC_READ,
- FILE_SHARE_READ | FILE_SHARE_WRITE,
- &secAtt,
- OPEN_EXISTING,
- FILE_ATTRIBUTE_NORMAL,
- NULL);
- });
+ channel.pipe[0] =
+ CreateFile((const wchar_t*)QFSFileEnginePrivate::longFileName(channel.file).utf16(),
+ GENERIC_READ,
+ FILE_SHARE_READ | FILE_SHARE_WRITE,
+ &secAtt,
+ OPEN_EXISTING,
+ FILE_ATTRIBUTE_NORMAL,
+ NULL);
+
if (channel.pipe[0] != INVALID_Q_PIPE)
return true;
@@ -148,31 +138,15 @@ bool QProcessPrivate::createChannel(Channel &channel)
} else {
// open in write mode
channel.pipe[0] = INVALID_Q_PIPE;
- DWORD creation;
- if (channel.append)
- creation = OPEN_ALWAYS;
- else
- creation = CREATE_ALWAYS;
-
- QT_WA({
- channel.pipe[1] =
- CreateFileW((TCHAR*)QFSFileEnginePrivate::longFileName(channel.file).utf16(),
- GENERIC_WRITE,
- FILE_SHARE_READ | FILE_SHARE_WRITE,
- &secAtt,
- creation,
- FILE_ATTRIBUTE_NORMAL,
- NULL);
- }, {
- channel.pipe[1] =
- CreateFileA(QFSFileEnginePrivate::win95Name(channel.file),
- GENERIC_WRITE,
- FILE_SHARE_READ | FILE_SHARE_WRITE,
- &secAtt,
- creation,
- FILE_ATTRIBUTE_NORMAL,
- NULL);
- });
+ channel.pipe[1] =
+ CreateFile((const wchar_t *)QFSFileEnginePrivate::longFileName(channel.file).utf16(),
+ GENERIC_WRITE,
+ FILE_SHARE_READ | FILE_SHARE_WRITE,
+ &secAtt,
+ channel.append ? OPEN_ALWAYS : CREATE_ALWAYS,
+ FILE_ATTRIBUTE_NORMAL,
+ NULL);
+
if (channel.pipe[1] != INVALID_Q_PIPE) {
if (channel.append) {
SetFilePointer(channel.pipe[1], 0, NULL, FILE_END);
@@ -327,56 +301,37 @@ static QByteArray qt_create_environment(const QHash<QString, QString> *environme
int pos = 0;
QHash<QString, QString>::ConstIterator it = copy.constBegin(),
end = copy.constEnd();
-#ifdef UNICODE
- if (!(QSysInfo::WindowsVersion & QSysInfo::WV_DOS_based)) {
- static const TCHAR equal = L'=';
- static const TCHAR nul = L'\0';
-
- for ( ; it != end; ++it) {
- uint tmpSize = sizeof(TCHAR) * (it.key().length() + it.value().length() + 2);
- // ignore empty strings
- if (tmpSize == sizeof(TCHAR)*2)
- continue;
- envlist.resize(envlist.size() + tmpSize);
-
- tmpSize = it.key().length() * sizeof(TCHAR);
- memcpy(envlist.data()+pos, it.key().utf16(), tmpSize);
- pos += tmpSize;
-
- memcpy(envlist.data()+pos, &equal, sizeof(TCHAR));
- pos += sizeof(TCHAR);
-
- tmpSize = it.value().length() * sizeof(TCHAR);
- memcpy(envlist.data()+pos, it.value().utf16(), tmpSize);
- pos += tmpSize;
-
- memcpy(envlist.data()+pos, &nul, sizeof(TCHAR));
- pos += sizeof(TCHAR);
- }
- // add the 2 terminating 0 (actually 4, just to be on the safe side)
- envlist.resize( envlist.size()+4 );
- envlist[pos++] = 0;
- envlist[pos++] = 0;
- envlist[pos++] = 0;
- envlist[pos++] = 0;
- } else
-#endif // UNICODE
- {
- for ( ; it != end; it++) {
- QByteArray tmp = it.key().toLocal8Bit();
- tmp.append('=');
- tmp.append(it.value().toLocal8Bit());
-
- uint tmpSize = tmp.length() + 1;
- envlist.resize(envlist.size() + tmpSize);
- memcpy(envlist.data()+pos, tmp.data(), tmpSize);
- pos += tmpSize;
- }
- // add the terminating 0 (actually 2, just to be on the safe side)
- envlist.resize(envlist.size()+2);
- envlist[pos++] = 0;
- envlist[pos++] = 0;
+
+ static const wchar_t equal = L'=';
+ static const wchar_t nul = L'\0';
+
+ for ( ; it != end; ++it) {
+ uint tmpSize = sizeof(wchar_t) * (it.key().length() + it.value().length() + 2);
+ // ignore empty strings
+ if (tmpSize == sizeof(wchar_t) * 2)
+ continue;
+ envlist.resize(envlist.size() + tmpSize);
+
+ tmpSize = it.key().length() * sizeof(wchar_t);
+ memcpy(envlist.data()+pos, it.key().utf16(), tmpSize);
+ pos += tmpSize;
+
+ memcpy(envlist.data()+pos, &equal, sizeof(wchar_t));
+ pos += sizeof(wchar_t);
+
+ tmpSize = it.value().length() * sizeof(wchar_t);
+ memcpy(envlist.data()+pos, it.value().utf16(), tmpSize);
+ pos += tmpSize;
+
+ memcpy(envlist.data()+pos, &nul, sizeof(wchar_t));
+ pos += sizeof(wchar_t);
}
+ // add the 2 terminating 0 (actually 4, just to be on the safe side)
+ envlist.resize( envlist.size()+4 );
+ envlist[pos++] = 0;
+ envlist[pos++] = 0;
+ envlist[pos++] = 0;
+ envlist[pos++] = 0;
}
return envlist;
}
@@ -417,58 +372,33 @@ void QProcessPrivate::startProcess()
qDebug(" pass environment : %s", environment.isEmpty() ? "no" : "yes");
#endif
- DWORD dwCreationFlags = 0;
- if (!(QSysInfo::WindowsVersion & QSysInfo::WV_DOS_based))
- dwCreationFlags |= CREATE_NO_WINDOW;
+ DWORD dwCreationFlags = CREATE_NO_WINDOW;
-#ifdef UNICODE
- if (!(QSysInfo::WindowsVersion & QSysInfo::WV_DOS_based)) {
#if defined(Q_OS_WINCE)
QString fullPathProgram = program;
if (!QDir::isAbsolutePath(fullPathProgram))
fullPathProgram = QFileInfo(fullPathProgram).absoluteFilePath();
fullPathProgram.replace(QLatin1Char('/'), QLatin1Char('\\'));
- success = CreateProcessW((WCHAR*)fullPathProgram.utf16(),
- (WCHAR*)args.utf16(),
- 0, 0, false, 0, 0, 0, 0, pid);
+ success = CreateProcess((wchar_t*)fullPathProgram.utf16(),
+ (wchar_t*)args.utf16(),
+ 0, 0, false, 0, 0, 0, 0, pid);
#else
dwCreationFlags |= CREATE_UNICODE_ENVIRONMENT;
STARTUPINFOW startupInfo = { sizeof( STARTUPINFO ), 0, 0, 0,
(ulong)CW_USEDEFAULT, (ulong)CW_USEDEFAULT,
- (ulong)CW_USEDEFAULT, (ulong)CW_USEDEFAULT,
- 0, 0, 0,
- STARTF_USESTDHANDLES,
- 0, 0, 0,
- stdinChannel.pipe[0], stdoutChannel.pipe[1], stderrChannel.pipe[1]
+ (ulong)CW_USEDEFAULT, (ulong)CW_USEDEFAULT,
+ 0, 0, 0,
+ STARTF_USESTDHANDLES,
+ 0, 0, 0,
+ stdinChannel.pipe[0], stdoutChannel.pipe[1], stderrChannel.pipe[1]
};
- success = CreateProcessW(0, (WCHAR*)args.utf16(),
- 0, 0, TRUE, dwCreationFlags,
- environment ? envlist.data() : 0,
- workingDirectory.isEmpty() ? 0
- : (WCHAR*)QDir::toNativeSeparators(workingDirectory).utf16(),
- &startupInfo, pid);
-#endif
- } else
-#endif // UNICODE
- {
-#ifndef Q_OS_WINCE
- STARTUPINFOA startupInfo = { sizeof( STARTUPINFOA ), 0, 0, 0,
- (ulong)CW_USEDEFAULT, (ulong)CW_USEDEFAULT,
- (ulong)CW_USEDEFAULT, (ulong)CW_USEDEFAULT,
- 0, 0, 0,
- STARTF_USESTDHANDLES,
- 0, 0, 0,
- stdinChannel.pipe[0], stdoutChannel.pipe[1], stderrChannel.pipe[1]
- };
-
- success = CreateProcessA(0, args.toLocal8Bit().data(),
- 0, 0, TRUE, dwCreationFlags, environment ? envlist.data() : 0,
- workingDirectory.isEmpty() ? 0
- : QDir::toNativeSeparators(workingDirectory).toLocal8Bit().data(),
- &startupInfo, pid);
-#endif // Q_OS_WINCE
- }
-#ifndef Q_OS_WINCE
+ success = CreateProcess(0, (wchar_t*)args.utf16(),
+ 0, 0, TRUE, dwCreationFlags,
+ environment ? envlist.data() : 0,
+ workingDirectory.isEmpty() ? 0
+ : (wchar_t*)QDir::toNativeSeparators(workingDirectory).utf16(),
+ &startupInfo, pid);
+
if (stdinChannel.pipe[0] != INVALID_Q_PIPE) {
CloseHandle(stdinChannel.pipe[0]);
stdinChannel.pipe[0] = INVALID_Q_PIPE;
@@ -508,7 +438,7 @@ void QProcessPrivate::startProcess()
}
// give the process a chance to start ...
- Sleep(SLEEPMIN*2);
+ Sleep(SLEEPMIN * 2);
_q_startupNotification();
}
@@ -882,42 +812,25 @@ bool QProcessPrivate::startDetached(const QString &program, const QStringList &a
PROCESS_INFORMATION pinfo;
-#ifdef UNICODE
- if (!(QSysInfo::WindowsVersion & QSysInfo::WV_DOS_based)) {
#if defined(Q_OS_WINCE)
QString fullPathProgram = program;
if (!QDir::isAbsolutePath(fullPathProgram))
fullPathProgram.prepend(QDir::currentPath().append(QLatin1Char('/')));
fullPathProgram.replace(QLatin1Char('/'), QLatin1Char('\\'));
- success = CreateProcessW((WCHAR*)fullPathProgram.utf16(),
- (WCHAR*)args.utf16(),
- 0, 0, false, CREATE_NEW_CONSOLE, 0, 0, 0, &pinfo);
+ success = CreateProcess((wchar_t*)fullPathProgram.utf16(),
+ (wchar_t*)args.utf16(),
+ 0, 0, false, CREATE_NEW_CONSOLE, 0, 0, 0, &pinfo);
#else
STARTUPINFOW startupInfo = { sizeof( STARTUPINFO ), 0, 0, 0,
(ulong)CW_USEDEFAULT, (ulong)CW_USEDEFAULT,
(ulong)CW_USEDEFAULT, (ulong)CW_USEDEFAULT,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0
};
- success = CreateProcessW(0, (WCHAR*)args.utf16(),
- 0, 0, FALSE, CREATE_UNICODE_ENVIRONMENT | CREATE_NEW_CONSOLE, 0,
- workingDir.isEmpty() ? (const WCHAR *)0 : (const WCHAR *)workingDir.utf16(),
- &startupInfo, &pinfo);
-#endif
- } else
-#endif // UNICODE
- {
-#ifndef Q_OS_WINCE
- STARTUPINFOA startupInfo = { sizeof( STARTUPINFOA ), 0, 0, 0,
- (ulong)CW_USEDEFAULT, (ulong)CW_USEDEFAULT,
- (ulong)CW_USEDEFAULT, (ulong)CW_USEDEFAULT,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
- };
- success = CreateProcessA(0, args.toLocal8Bit().data(),
- 0, 0, FALSE, CREATE_NEW_CONSOLE, 0,
- workingDir.isEmpty() ? (LPCSTR)0 : workingDir.toLocal8Bit().constData(),
+ success = CreateProcess(0, (wchar_t*)args.utf16(),
+ 0, 0, FALSE, CREATE_UNICODE_ENVIRONMENT | CREATE_NEW_CONSOLE, 0,
+ workingDir.isEmpty() ? 0 : (wchar_t*)workingDir.utf16(),
&startupInfo, &pinfo);
#endif // Q_OS_WINCE
- }
if (success) {
CloseHandle(pinfo.hThread);
diff --git a/src/corelib/io/qresource.cpp b/src/corelib/io/qresource.cpp
index f59be7b..e15fcf2 100644
--- a/src/corelib/io/qresource.cpp
+++ b/src/corelib/io/qresource.cpp
@@ -56,8 +56,21 @@
#include <qplatformdefs.h>
#include "private/qabstractfileengine_p.h"
+#ifdef Q_OS_UNIX
+# include "private/qcore_unix_p.h"
+#endif
+
//#define DEBUG_RESOURCE_MATCH
+#if defined(Q_OS_VXWORKS)
+# if defined(m_data)
+# undef m_data
+# endif
+# if defined(m_len)
+# undef m_len
+# endif
+#endif
+
QT_BEGIN_NAMESPACE
@@ -568,7 +581,7 @@ QResource::addSearchPath(const QString &path)
Returns the current search path list. This list is consulted when
creating a relative resource.
- \sa addSearchPath()
+ \sa QDir::addSearchPath() QDir::setSearchPaths()
*/
QStringList
diff --git a/src/corelib/io/qresource.h b/src/corelib/io/qresource.h
index 49dacea..0bf9660 100644
--- a/src/corelib/io/qresource.h
+++ b/src/corelib/io/qresource.h
@@ -94,7 +94,7 @@ protected:
QScopedPointer<QResourcePrivate> d_ptr;
private:
- Q_DECLARE_SCOPED_PRIVATE(QResource)
+ Q_DECLARE_PRIVATE(QResource)
};
QT_END_NAMESPACE
diff --git a/src/corelib/io/qresource_iterator.cpp b/src/corelib/io/qresource_iterator.cpp
index e97ac59..11f4acf 100644
--- a/src/corelib/io/qresource_iterator.cpp
+++ b/src/corelib/io/qresource_iterator.cpp
@@ -73,13 +73,11 @@ bool QResourceFileEngineIterator::hasNext() const
return false;
// Initialize and move to the next entry.
- QResourceFileEngineIterator *that = const_cast<QResourceFileEngineIterator *>(this);
- that->entries = resource.children();
- if (!that->entries.isEmpty())
- that->index = 0;
+ entries = resource.children();
+ index = 0;
}
- return index <= entries.size();
+ return index < entries.size();
}
QString QResourceFileEngineIterator::currentFileName() const
diff --git a/src/corelib/io/qresource_iterator_p.h b/src/corelib/io/qresource_iterator_p.h
index b5e8382..5165157 100644
--- a/src/corelib/io/qresource_iterator_p.h
+++ b/src/corelib/io/qresource_iterator_p.h
@@ -71,8 +71,8 @@ public:
QString currentFileName() const;
private:
- QStringList entries;
- int index;
+ mutable QStringList entries;
+ mutable int index;
};
QT_END_NAMESPACE
diff --git a/src/corelib/io/qresource_p.h b/src/corelib/io/qresource_p.h
index 452d8e1..f58f9a2 100644
--- a/src/corelib/io/qresource_p.h
+++ b/src/corelib/io/qresource_p.h
@@ -61,7 +61,7 @@ class QResourceFileEnginePrivate;
class QResourceFileEngine : public QAbstractFileEngine
{
private:
- Q_DECLARE_SCOPED_PRIVATE(QResourceFileEngine)
+ Q_DECLARE_PRIVATE(QResourceFileEngine)
public:
explicit QResourceFileEngine(const QString &path);
~QResourceFileEngine();
diff --git a/src/corelib/io/qsettings.cpp b/src/corelib/io/qsettings.cpp
index 1650526..7df6eee 100644
--- a/src/corelib/io/qsettings.cpp
+++ b/src/corelib/io/qsettings.cpp
@@ -74,6 +74,10 @@
#endif // Q_OS_WIN
#endif // QT_NO_QOBJECT
+#ifdef Q_OS_VXWORKS
+# include <ioLib.h>
+#endif
+
#include <stdlib.h>
#ifndef CSIDL_COMMON_APPDATA
@@ -167,7 +171,7 @@ static bool isLikelyToBeNfs(int handle)
}
#elif defined(Q_OS_SOLARIS) || defined(Q_OS_IRIX) || defined(Q_OS_AIX) || defined(Q_OS_HPUX) \
- || defined(Q_OS_OSF) || defined(Q_OS_QNX) || defined(Q_OS_QNX6) || defined(Q_OS_SCO) \
+ || defined(Q_OS_OSF) || defined(Q_OS_QNX) || defined(Q_OS_SCO) \
|| defined(Q_OS_UNIXWARE) || defined(Q_OS_RELIANT) || defined(Q_OS_NETBSD)
QT_BEGIN_INCLUDE_NAMESPACE
# include <sys/statvfs.h>
@@ -1042,33 +1046,16 @@ static QString windowsConfigPath(int type)
// This only happens when bootstrapping qmake.
#ifndef Q_OS_WINCE
QLibrary library(QLatin1String("shell32"));
- QT_WA( {
- typedef BOOL (WINAPI*GetSpecialFolderPath)(HWND, LPTSTR, int, BOOL);
- GetSpecialFolderPath SHGetSpecialFolderPath = (GetSpecialFolderPath)library.resolve("SHGetSpecialFolderPathW");
- if (SHGetSpecialFolderPath) {
- TCHAR path[MAX_PATH];
- SHGetSpecialFolderPath(0, path, type, FALSE);
- result = QString::fromUtf16((ushort*)path);
- }
- } , {
- typedef BOOL (WINAPI*GetSpecialFolderPath)(HWND, char*, int, BOOL);
- GetSpecialFolderPath SHGetSpecialFolderPath = (GetSpecialFolderPath)library.resolve("SHGetSpecialFolderPathA");
- if (SHGetSpecialFolderPath) {
- char path[MAX_PATH];
- SHGetSpecialFolderPath(0, path, type, FALSE);
- result = QString::fromLocal8Bit(path);
- }
- } );
#else
QLibrary library(QLatin1String("coredll"));
- typedef BOOL (WINAPI*GetSpecialFolderPath)(HWND, LPTSTR, int, BOOL);
- GetSpecialFolderPath SHGetSpecialFolderPath = (GetSpecialFolderPath)library.resolve("SHGetSpecialFolderPath");
+#endif // Q_OS_WINCE
+ typedef BOOL (WINAPI*GetSpecialFolderPath)(HWND, LPWSTR, int, BOOL);
+ GetSpecialFolderPath SHGetSpecialFolderPath = (GetSpecialFolderPath)library.resolve("SHGetSpecialFolderPathW");
if (SHGetSpecialFolderPath) {
wchar_t path[MAX_PATH];
SHGetSpecialFolderPath(0, path, type, FALSE);
- result = QString::fromUtf16((ushort*)path);
+ result = QString::fromWCharArray(path);
}
-#endif // Q_OS_WINCE
#endif // QT_NO_QOBJECT
@@ -1466,11 +1453,7 @@ void QConfFileSettingsPrivate::syncConfFile(int confFileNo)
QString writeSemName = QLatin1String("QSettingsWriteSem ");
writeSemName.append(file.fileName());
- QT_WA( {
- writeSemaphore = CreateSemaphoreW(0, 1, 1, reinterpret_cast<const wchar_t *>(writeSemName.utf16()));
- } , {
- writeSemaphore = CreateSemaphoreA(0, 1, 1, writeSemName.toLocal8Bit());
- } );
+ writeSemaphore = CreateSemaphore(0, 1, 1, reinterpret_cast<const wchar_t *>(writeSemName.utf16()));
if (writeSemaphore) {
WaitForSingleObject(writeSemaphore, INFINITE);
@@ -1486,11 +1469,7 @@ void QConfFileSettingsPrivate::syncConfFile(int confFileNo)
QString readSemName(QLatin1String("QSettingsReadSem "));
readSemName.append(file.fileName());
- QT_WA( {
- readSemaphore = CreateSemaphoreW(0, FileLockSemMax, FileLockSemMax, reinterpret_cast<const wchar_t *>(readSemName.utf16()));
- } , {
- readSemaphore = CreateSemaphoreA(0, FileLockSemMax, FileLockSemMax, readSemName.toLocal8Bit());
- } );
+ readSemaphore = CreateSemaphore(0, FileLockSemMax, FileLockSemMax, reinterpret_cast<const wchar_t *>(readSemName.utf16()));
if (readSemaphore) {
for (int i = 0; i < numReadLocks; ++i)
diff --git a/src/corelib/io/qsettings.h b/src/corelib/io/qsettings.h
index a082d6a..0d382b66 100644
--- a/src/corelib/io/qsettings.h
+++ b/src/corelib/io/qsettings.h
@@ -80,7 +80,7 @@ class Q_CORE_EXPORT QSettings
#else
QScopedPointer<QSettingsPrivate> d_ptr;
#endif
- Q_DECLARE_SCOPED_PRIVATE(QSettings)
+ Q_DECLARE_PRIVATE(QSettings)
public:
enum Status {
diff --git a/src/corelib/io/qsettings_win.cpp b/src/corelib/io/qsettings_win.cpp
index 0cbcc10..1e1509d 100644
--- a/src/corelib/io/qsettings_win.cpp
+++ b/src/corelib/io/qsettings_win.cpp
@@ -130,24 +130,13 @@ static void mergeKeySets(NameSet *dest, const QStringList &src)
static QString errorCodeToString(DWORD errorCode)
{
- QString result;
- QT_WA({
- wchar_t *data = 0;
- FormatMessageW(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM,
- 0, errorCode, 0,
- data, 0, 0);
- result = QString::fromUtf16(reinterpret_cast<const ushort *> (data));
- if (data != 0)
- LocalFree(data);
- }, {
- char *data = 0;
- FormatMessageA(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM,
- 0, errorCode, 0,
- (char *)&data, 0, 0);
- result = QString::fromLocal8Bit(data);
- if (data != 0)
- LocalFree(data);
- })
+ wchar_t *data = 0;
+ FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM, 0, errorCode, 0, data, 0, 0);
+ QString result = QString::fromWCharArray(data);
+
+ if (data != 0)
+ LocalFree(data);
+
if (result.endsWith(QLatin1Char('\n')))
result.truncate(result.length() - 1);
@@ -158,15 +147,8 @@ static QString errorCodeToString(DWORD errorCode)
static HKEY openKey(HKEY parentHandle, REGSAM perms, const QString &rSubKey)
{
HKEY resultHandle = 0;
-
- LONG res;
- QT_WA( {
- res = RegOpenKeyExW(parentHandle, reinterpret_cast<const wchar_t *>(rSubKey.utf16()),
- 0, perms, &resultHandle);
- } , {
- res = RegOpenKeyExA(parentHandle, rSubKey.toLocal8Bit(),
+ LONG res = RegOpenKeyEx(parentHandle, reinterpret_cast<const wchar_t *>(rSubKey.utf16()),
0, perms, &resultHandle);
- } );
if (res == ERROR_SUCCESS)
return resultHandle;
@@ -183,14 +165,8 @@ static HKEY createOrOpenKey(HKEY parentHandle, REGSAM perms, const QString &rSub
return resultHandle;
// try to create it
- LONG res;
- QT_WA( {
- res = RegCreateKeyExW(parentHandle, reinterpret_cast<const wchar_t *>(rSubKey.utf16()), 0, 0,
- REG_OPTION_NON_VOLATILE, perms, 0, &resultHandle, 0);
- } , {
- res = RegCreateKeyExA(parentHandle, rSubKey.toLocal8Bit(), 0, 0,
+ LONG res = RegCreateKeyEx(parentHandle, reinterpret_cast<const wchar_t *>(rSubKey.utf16()), 0, 0,
REG_OPTION_NON_VOLATILE, perms, 0, &resultHandle, 0);
- } );
if (res == ERROR_SUCCESS)
return resultHandle;
@@ -225,20 +201,14 @@ static HKEY createOrOpenKey(HKEY parentHandle, const QString &rSubKey, bool *rea
static QStringList childKeysOrGroups(HKEY parentHandle, QSettingsPrivate::ChildSpec spec)
{
QStringList result;
- LONG res;
DWORD numKeys;
DWORD maxKeySize;
DWORD numSubgroups;
DWORD maxSubgroupSize;
// Find the number of keys and subgroups, as well as the max of their lengths.
- QT_WA( {
- res = RegQueryInfoKeyW(parentHandle, 0, 0, 0, &numSubgroups, &maxSubgroupSize, 0,
+ LONG res = RegQueryInfoKey(parentHandle, 0, 0, 0, &numSubgroups, &maxSubgroupSize, 0,
&numKeys, &maxKeySize, 0, 0, 0);
- }, {
- res = RegQueryInfoKeyA(parentHandle, 0, 0, 0, &numSubgroups, &maxSubgroupSize, 0,
- &numKeys, &maxKeySize, 0, 0, 0);
- } );
if (res != ERROR_SUCCESS) {
qWarning("QSettings: RegQueryInfoKey() failed: %s", errorCodeToString(res).toLatin1().data());
@@ -258,36 +228,21 @@ static QStringList childKeysOrGroups(HKEY parentHandle, QSettingsPrivate::ChildS
m = maxSubgroupSize;
}
- /* Windows NT/2000/XP: The size does not include the terminating null character.
- Windows Me/98/95: The size includes the terminating null character. */
+ /* The size does not include the terminating null character. */
++m;
// Get the list
- QByteArray buff(m*sizeof(ushort), 0);
+ QByteArray buff(m * sizeof(wchar_t), 0);
for (int i = 0; i < n; ++i) {
QString item;
- QT_WA( {
- DWORD l = buff.size() / sizeof(ushort);
- if (spec == QSettingsPrivate::ChildKeys) {
- res = RegEnumValueW(parentHandle, i,
- reinterpret_cast<wchar_t *>(buff.data()),
- &l, 0, 0, 0, 0);
- } else {
- res = RegEnumKeyExW(parentHandle, i,
- reinterpret_cast<wchar_t *>(buff.data()),
- &l, 0, 0, 0, 0);
- }
- if (res == ERROR_SUCCESS)
- item = QString::fromUtf16(reinterpret_cast<ushort*>(buff.data()), l);
- }, {
- DWORD l = buff.size();
- if (spec == QSettingsPrivate::ChildKeys)
- res = RegEnumValueA(parentHandle, i, buff.data(), &l, 0, 0, 0, 0);
- else
- res = RegEnumKeyExA(parentHandle, i, buff.data(), &l, 0, 0, 0, 0);
- if (res == ERROR_SUCCESS)
- item = QString::fromLocal8Bit(buff.data(), l);
- } );
+ DWORD l = buff.size() / sizeof(wchar_t);
+ if (spec == QSettingsPrivate::ChildKeys) {
+ res = RegEnumValue(parentHandle, i, reinterpret_cast<wchar_t *>(buff.data()), &l, 0, 0, 0, 0);
+ } else {
+ res = RegEnumKeyEx(parentHandle, i, reinterpret_cast<wchar_t *>(buff.data()), &l, 0, 0, 0, 0);
+ }
+ if (res == ERROR_SUCCESS)
+ item = QString::fromWCharArray((const wchar_t *)buff.constData(), l);
if (res != ERROR_SUCCESS) {
qWarning("QSettings: RegEnumValue failed: %s", errorCodeToString(res).toLatin1().data());
@@ -342,12 +297,7 @@ static void deleteChildGroups(HKEY parentHandle)
RegCloseKey(childGroupHandle);
// delete group itself
- LONG res;
- QT_WA( {
- res = RegDeleteKeyW(parentHandle, reinterpret_cast<const wchar_t *>(group.utf16()));
- }, {
- res = RegDeleteKeyA(parentHandle, group.toLocal8Bit());
- } );
+ LONG res = RegDeleteKey(parentHandle, reinterpret_cast<const wchar_t *>(group.utf16()));
if (res != ERROR_SUCCESS) {
qWarning("QSettings: RegDeleteKey failed on subkey \"%s\": %s",
group.toLatin1().data(), errorCodeToString(res).toLatin1().data());
@@ -519,12 +469,7 @@ bool QWinSettingsPrivate::readKey(HKEY parentHandle, const QString &rSubKey, QVa
// get the size and type of the value
DWORD dataType;
DWORD dataSize;
- LONG res;
- QT_WA( {
- res = RegQueryValueExW(handle, reinterpret_cast<const wchar_t *>(rSubkeyName.utf16()), 0, &dataType, 0, &dataSize);
- }, {
- res = RegQueryValueExA(handle, rSubkeyName.toLocal8Bit(), 0, &dataType, 0, &dataSize);
- } );
+ LONG res = RegQueryValueEx(handle, reinterpret_cast<const wchar_t *>(rSubkeyName.utf16()), 0, &dataType, 0, &dataSize);
if (res != ERROR_SUCCESS) {
RegCloseKey(handle);
return false;
@@ -532,13 +477,8 @@ bool QWinSettingsPrivate::readKey(HKEY parentHandle, const QString &rSubKey, QVa
// get the value
QByteArray data(dataSize, 0);
- QT_WA( {
- res = RegQueryValueExW(handle, reinterpret_cast<const wchar_t *>(rSubkeyName.utf16()), 0, 0,
- reinterpret_cast<unsigned char*>(data.data()), &dataSize);
- }, {
- res = RegQueryValueExA(handle, rSubkeyName.toLocal8Bit(), 0, 0,
- reinterpret_cast<unsigned char*>(data.data()), &dataSize);
- } );
+ res = RegQueryValueEx(handle, reinterpret_cast<const wchar_t *>(rSubkeyName.utf16()), 0, 0,
+ reinterpret_cast<unsigned char*>(data.data()), &dataSize);
if (res != ERROR_SUCCESS) {
RegCloseKey(handle);
return false;
@@ -549,11 +489,7 @@ bool QWinSettingsPrivate::readKey(HKEY parentHandle, const QString &rSubKey, QVa
case REG_SZ: {
QString s;
if (dataSize) {
- QT_WA( {
- s = QString::fromUtf16(((const ushort*)data.constData()));
- }, {
- s = QString::fromLocal8Bit(data.constData());
- } );
+ s = QString::fromWCharArray(((const wchar_t *)data.constData()));
}
if (value != 0)
*value = stringToVariant(s);
@@ -565,12 +501,7 @@ bool QWinSettingsPrivate::readKey(HKEY parentHandle, const QString &rSubKey, QVa
if (dataSize) {
int i = 0;
for (;;) {
- QString s;
- QT_WA( {
- s = QString::fromUtf16((const ushort*)data.constData() + i);
- }, {
- s = QString::fromLocal8Bit(data.constData() + i);
- } );
+ QString s = QString::fromWCharArray((const wchar_t *)data.constData() + i);
i += s.length() + 1;
if (s.isEmpty())
@@ -587,11 +518,7 @@ bool QWinSettingsPrivate::readKey(HKEY parentHandle, const QString &rSubKey, QVa
case REG_BINARY: {
QString s;
if (dataSize) {
- QT_WA( {
- s = QString::fromUtf16((const ushort*)data.constData(), data.size()/2);
- }, {
- s = QString::fromLocal8Bit(data.constData(), data.size());
- } );
+ s = QString::fromWCharArray((const wchar_t *)data.constData(), data.size() / 2);
}
if (value != 0)
*value = stringToVariant(s);
@@ -635,13 +562,8 @@ QWinSettingsPrivate::~QWinSettingsPrivate()
#if defined(Q_OS_WINCE)
remove(regList.at(0).key());
#else
- DWORD res;
QString emptyKey;
- QT_WA( {
- res = RegDeleteKeyW(writeHandle(), reinterpret_cast<const wchar_t *>(emptyKey.utf16()));
- }, {
- res = RegDeleteKeyA(writeHandle(), emptyKey.toLocal8Bit());
- } );
+ DWORD res = RegDeleteKey(writeHandle(), reinterpret_cast<const wchar_t *>(emptyKey.utf16()));
if (res != ERROR_SUCCESS) {
qWarning("QSettings: Failed to delete key \"%s\": %s",
regList.at(0).key().toLatin1().data(), errorCodeToString(res).toLatin1().data());
@@ -666,11 +588,7 @@ void QWinSettingsPrivate::remove(const QString &uKey)
LONG res;
HKEY handle = openKey(writeHandle(), registryPermissions, keyPath(rKey));
if (handle != 0) {
- QT_WA( {
- res = RegDeleteValueW(handle, reinterpret_cast<const wchar_t *>(keyName(rKey).utf16()));
- }, {
- res = RegDeleteValueA(handle, keyName(rKey).toLocal8Bit());
- } );
+ res = RegDeleteValue(handle, reinterpret_cast<const wchar_t *>(keyName(rKey).utf16()));
RegCloseKey(handle);
}
@@ -685,12 +603,7 @@ void QWinSettingsPrivate::remove(const QString &uKey)
for (int i = 0; i < childKeys.size(); ++i) {
QString group = childKeys.at(i);
- LONG res;
- QT_WA( {
- res = RegDeleteValueW(handle, reinterpret_cast<const wchar_t *>(group.utf16()));
- }, {
- res = RegDeleteValueA(handle, group.toLocal8Bit());
- } );
+ LONG res = RegDeleteValue(handle, reinterpret_cast<const wchar_t *>(group.utf16()));
if (res != ERROR_SUCCESS) {
qWarning("QSettings: RegDeleteValue failed on subkey \"%s\": %s",
group.toLatin1().data(), errorCodeToString(res).toLatin1().data());
@@ -701,11 +614,7 @@ void QWinSettingsPrivate::remove(const QString &uKey)
// For WinCE always Close the handle first.
RegCloseKey(handle);
#endif
- QT_WA( {
- res = RegDeleteKeyW(writeHandle(), reinterpret_cast<const wchar_t *>(rKey.utf16()));
- }, {
- res = RegDeleteKeyA(writeHandle(), rKey.toLocal8Bit());
- } );
+ res = RegDeleteKey(writeHandle(), reinterpret_cast<const wchar_t *>(rKey.utf16()));
if (res != ERROR_SUCCESS) {
qWarning("QSettings: RegDeleteKey failed on key \"%s\": %s",
@@ -761,27 +670,15 @@ void QWinSettingsPrivate::set(const QString &uKey, const QVariant &value)
if (type == REG_BINARY) {
QString s = variantToString(value);
- QT_WA( {
- regValueBuff = QByteArray((const char*)s.utf16(), s.length()*2);
- }, {
- regValueBuff = QByteArray((const char*)s.toLocal8Bit(), s.length());
- } );
+ regValueBuff = QByteArray((const char*)s.utf16(), s.length() * 2);
} else {
QStringList::const_iterator it = l.constBegin();
for (; it != l.constEnd(); ++it) {
const QString &s = *it;
- QT_WA( {
- regValueBuff += QByteArray((const char*)s.utf16(), (s.length() + 1)*2);
- }, {
- regValueBuff += QByteArray((const char*)s.toLocal8Bit(), s.length() + 1);
- } );
+ regValueBuff += QByteArray((const char*)s.utf16(), (s.length() + 1) * 2);
}
- QT_WA( {
- regValueBuff.append((char)0);
- regValueBuff.append((char)0);
- }, {
- regValueBuff.append((char)0);
- } );
+ regValueBuff.append((char)0);
+ regValueBuff.append((char)0);
}
break;
}
@@ -794,21 +691,6 @@ void QWinSettingsPrivate::set(const QString &uKey, const QVariant &value)
}
case QVariant::ByteArray:
- // On Win95/98/Me QString::toLocal8Bit() fails to handle chars > 0x7F. So we don't go through variantToString() at all.
- if (QSysInfo::WindowsVersion & QSysInfo::WV_DOS_based) {
- QByteArray ba = value.toByteArray();
- regValueBuff = "@ByteArray(";
- regValueBuff += ba;
- regValueBuff += ')';
- if (ba.contains('\0')) {
- type = REG_BINARY;
- } else {
- type = REG_SZ;
- regValueBuff += '\0';
- }
-
- break;
- }
// fallthrough intended
default: {
@@ -817,33 +699,18 @@ void QWinSettingsPrivate::set(const QString &uKey, const QVariant &value)
QString s = variantToString(value);
type = stringContainsNullChar(s) ? REG_BINARY : REG_SZ;
if (type == REG_BINARY) {
- QT_WA( {
- regValueBuff = QByteArray((const char*)s.utf16(), s.length()*2);
- }, {
- regValueBuff = QByteArray((const char*)s.toLocal8Bit(), s.length());
- } );
+ regValueBuff = QByteArray((const char*)s.utf16(), s.length() * 2);
} else {
- QT_WA( {
- regValueBuff = QByteArray((const char*)s.utf16(), (s.length() + 1)*2);
- }, {
- regValueBuff = QByteArray((const char*)s.toLocal8Bit(), s.length() + 1);
- } );
+ regValueBuff = QByteArray((const char*)s.utf16(), (s.length() + 1) * 2);
}
break;
}
}
// set the value
- LONG res;
- QT_WA( {
- res = RegSetValueExW(handle, reinterpret_cast<const wchar_t *>(keyName(rKey).utf16()), 0, type,
- reinterpret_cast<const unsigned char*>(regValueBuff.constData()),
- regValueBuff.size());
- }, {
- res = RegSetValueExA(handle, keyName(rKey).toLocal8Bit(), 0, type,
+ LONG res = RegSetValueEx(handle, reinterpret_cast<const wchar_t *>(keyName(rKey).utf16()), 0, type,
reinterpret_cast<const unsigned char*>(regValueBuff.constData()),
regValueBuff.size());
- } );
if (res == ERROR_SUCCESS) {
deleteWriteHandleOnExit = false;
diff --git a/src/corelib/io/qtemporaryfile.cpp b/src/corelib/io/qtemporaryfile.cpp
index cd8d36d..ccc753a 100644
--- a/src/corelib/io/qtemporaryfile.cpp
+++ b/src/corelib/io/qtemporaryfile.cpp
@@ -60,6 +60,10 @@
#include <time.h>
#include <ctype.h>
+#if defined(Q_OS_UNIX)
+# include "private/qcore_unix_p.h" // overrides QT_OPEN
+#endif
+
#if defined(Q_OS_WIN) && !defined(Q_OS_WINCE)
# include <process.h>
# if defined(_MSC_VER) && _MSC_VER >= 1400
@@ -69,9 +73,11 @@
#if defined(Q_OS_WINCE)
# include <types.h>
-# include "qfunctions_wince.h"
#endif
+#if defined(Q_OS_VXWORKS)
+# include <taskLib.h>
+#endif
QT_BEGIN_NAMESPACE
@@ -130,6 +136,8 @@ static int _gettemp(char *path, int *doopen, int domkdir, int slen)
}
#if defined(Q_OS_WIN) && defined(_MSC_VER) && _MSC_VER >= 1400
pid = _getpid();
+#elif defined(Q_OS_VXWORKS)
+ pid = (pid_t) taskIdCurrent;
#else
pid = getpid();
#endif
@@ -208,8 +216,9 @@ static int _gettemp(char *path, int *doopen, int domkdir, int slen)
if ((*doopen =
QT_OPEN(targetPath.toLocal8Bit(), O_CREAT|O_EXCL|O_RDWR
# else // CE
+ // this is Unix or older MSVC
if ((*doopen =
- open(path, QT_OPEN_CREAT|O_EXCL|QT_OPEN_RDWR
+ QT_OPEN(path, QT_OPEN_CREAT|O_EXCL|QT_OPEN_RDWR
# endif
# ifdef QT_LARGEFILE_SUPPORT
|QT_OPEN_LARGEFILE
@@ -219,18 +228,9 @@ static int _gettemp(char *path, int *doopen, int domkdir, int slen)
# elif defined(Q_OS_WIN)
|O_BINARY
# endif
-# ifdef O_CLOEXEC
- // supported on Linux >= 2.6.23; avoids one extra system call
- // and avoids a race condition: if another thread forks, we could
- // end up leaking a file descriptor...
- |O_CLOEXEC
-# endif
, 0600)) >= 0)
#endif // WIN && !CE
{
-#if defined(Q_OS_UNIX) && !defined(O_CLOEXEC)
- fcntl(*doopen, F_SETFD, FD_CLOEXEC);
-#endif
return 1;
}
if (errno != EEXIST)
@@ -239,7 +239,7 @@ static int _gettemp(char *path, int *doopen, int domkdir, int slen)
#ifdef Q_OS_WIN
if (QT_MKDIR(path) == 0)
#else
- if (mkdir(path, 0700) == 0)
+ if (QT_MKDIR(path, 0700) == 0)
#endif
return 1;
if (errno != EEXIST)
@@ -289,7 +289,7 @@ static int qt_mkstemps(char *path, int slen)
//************* QTemporaryFileEngine
class QTemporaryFileEngine : public QFSFileEngine
{
- Q_DECLARE_SCOPED_PRIVATE(QFSFileEngine)
+ Q_DECLARE_PRIVATE(QFSFileEngine)
public:
QTemporaryFileEngine(const QString &file, bool fileIsTemplate = true)
: QFSFileEngine(file), filePathIsTemplate(fileIsTemplate)
diff --git a/src/corelib/io/qtemporaryfile.h b/src/corelib/io/qtemporaryfile.h
index c0b41bb..a597a93 100644
--- a/src/corelib/io/qtemporaryfile.h
+++ b/src/corelib/io/qtemporaryfile.h
@@ -64,7 +64,7 @@ class Q_CORE_EXPORT QTemporaryFile : public QFile
#ifndef QT_NO_QOBJECT
Q_OBJECT
#endif
- Q_DECLARE_SCOPED_PRIVATE(QTemporaryFile)
+ Q_DECLARE_PRIVATE(QTemporaryFile)
public:
QTemporaryFile();
diff --git a/src/corelib/io/qtextstream.h b/src/corelib/io/qtextstream.h
index 9d4b3d0..fc4794e 100644
--- a/src/corelib/io/qtextstream.h
+++ b/src/corelib/io/qtextstream.h
@@ -72,7 +72,7 @@ class QTextDecoder;
class QTextStreamPrivate;
class Q_CORE_EXPORT QTextStream // text stream class
{
- Q_DECLARE_SCOPED_PRIVATE(QTextStream)
+ Q_DECLARE_PRIVATE(QTextStream)
public:
enum RealNumberNotation {
diff --git a/src/corelib/io/qurl.cpp b/src/corelib/io/qurl.cpp
index 180e9ec..79cd2f0 100644
--- a/src/corelib/io/qurl.cpp
+++ b/src/corelib/io/qurl.cpp
@@ -2336,12 +2336,12 @@ static const NameprepCaseFoldingEntry NameprepCaseFolding[] = {
{ 0x1D7BB, { 0x03C3, 0x0000, 0x0000, 0x0000 } }
};
-static void mapToLowerCase(QString *str)
+static void mapToLowerCase(QString *str, int from)
{
int N = sizeof(NameprepCaseFolding) / sizeof(NameprepCaseFolding[0]);
QChar *d = 0;
- for (int i = 0; i < str->size(); ++i) {
+ for (int i = from; i < str->size(); ++i) {
int uc = str->at(i).unicode();
if (uc < 0x80) {
if (uc <= 'Z' && uc >= 'A') {
@@ -2388,11 +2388,11 @@ static bool isMappedToNothing(const QChar &ch)
}
-static void stripProhibitedOutput(QString *str)
+static void stripProhibitedOutput(QString *str, int from)
{
- ushort *out = (ushort *)str->data();
+ ushort *out = (ushort *)str->data() + from;
const ushort *in = out;
- const ushort *end = out + str->size();
+ const ushort *end = (ushort *)str->data() + str->size();
while (in < end) {
ushort uc = *in;
if (uc < 0x80 ||
@@ -2901,66 +2901,99 @@ static bool isBidirectionalL(const QChar &ch)
return false;
}
+#ifdef QT_BUILD_INTERNAL
+// export for tst_qurl.cpp
+Q_AUTOTEST_EXPORT void qt_nameprep(QString *source, int from);
+Q_AUTOTEST_EXPORT bool qt_check_std3rules(const QChar *uc, int len);
+#else
+// non-test build, keep the symbols for ourselves
+static void qt_nameprep(QString *source, int from);
+static bool qt_check_std3rules(const QChar *uc, int len);
+#endif
-Q_AUTOTEST_EXPORT QString qt_nameprep(const QString &source)
+void qt_nameprep(QString *source, int from)
{
- QString mapped = source;
-
- bool simple = true;
- for (int i = 0; i < mapped.size(); ++i) {
- ushort uc = mapped.at(i).unicode();
+ QChar *src = source->data(); // causes a detach, so we're sure the only one using it
+ QChar *out = src + from;
+ const QChar *e = src + source->size();
+
+ for ( ; out < e; ++out) {
+ register ushort uc = out->unicode();
if (uc > 0x80) {
- simple = false;
break;
} else if (uc >= 'A' && uc <= 'Z') {
- mapped[i] = QChar(uc | 0x20);
+ *out = QChar(uc | 0x20);
}
}
- if (simple)
- return mapped;
-
+ if (out == e)
+ return; // everything was mapped easily (lowercased, actually)
+ int firstNonAscii = out - src;
+
// Characters commonly mapped to nothing are simply removed
// (Table B.1)
- QChar *out = mapped.data();
const QChar *in = out;
- const QChar *e = in + mapped.size();
while (in < e) {
if (!isMappedToNothing(*in))
*out++ = *in;
++in;
}
if (out != in)
- mapped.truncate(out - mapped.constData());
+ source->truncate(out - src);
// Map to lowercase (Table B.2)
- mapToLowerCase(&mapped);
+ mapToLowerCase(source, firstNonAscii);
// Normalize to Unicode 3.2 form KC
- mapped = mapped.normalized(QString::NormalizationForm_KC, QChar::Unicode_3_2);
+ extern void qt_string_normalize(QString *data, QString::NormalizationForm mode,
+ QChar::UnicodeVersion version, int from);
+ qt_string_normalize(source, QString::NormalizationForm_KC, QChar::Unicode_3_2, firstNonAscii);
// Strip prohibited output
- stripProhibitedOutput(&mapped);
+ stripProhibitedOutput(source, firstNonAscii);
// Check for valid bidirectional characters
bool containsLCat = false;
bool containsRandALCat = false;
- for (int j = 0; j < mapped.size() && (!containsLCat || !containsRandALCat); ++j) {
- if (isBidirectionalL(mapped.at(j)))
+ src = source->data();
+ e = src + source->size();
+ for (in = src + from; in < e && (!containsLCat || !containsRandALCat); ++in) {
+ if (isBidirectionalL(*in))
containsLCat = true;
- else if (isBidirectionalRorAL(mapped.at(j)))
+ else if (isBidirectionalRorAL(*in))
containsRandALCat = true;
}
if (containsRandALCat) {
- if (containsLCat || (!isBidirectionalRorAL(mapped.at(0))
- || !isBidirectionalRorAL(mapped.at(mapped.size() - 1))))
- mapped.clear();
+ if (containsLCat || (!isBidirectionalRorAL(src[from])
+ || !isBidirectionalRorAL(e[-1])))
+ source->resize(from); // not allowed, clear the label
}
+}
+
+bool qt_check_std3rules(const QChar *uc, int len)
+{
+ if (len > 63)
+ return false;
- return mapped;
+ for (int i = 0; i < len; ++i) {
+ register ushort c = uc[i].unicode();
+ if (c == '-' && (i == 0 || i == len - 1))
+ return false;
+
+ // verifying the absence of LDH is the same as verifying that
+ // only LDH is present
+ if (c == '-' || (c >= '0' && c <= '9')
+ || (c >= 'A' && c <= 'Z')
+ || (c >= 'a' && c <= 'z'))
+ continue;
+
+ return false;
+ }
+
+ return true;
}
-static inline char encodeDigit(uint digit)
+static inline uint encodeDigit(uint digit)
{
return digit + 22 + 75 * (digit < 26);
}
@@ -2977,7 +3010,7 @@ static inline uint adapt(uint delta, uint numpoints, bool firsttime)
return k + (((base - tmin + 1) * delta) / (delta + skew));
}
-static inline void appendEncode(QByteArray* output, uint& delta, uint& bias, uint& b, uint& h)
+static inline void appendEncode(QString* output, uint& delta, uint& bias, uint& b, uint& h)
{
uint qq;
uint k;
@@ -2991,17 +3024,17 @@ static inline void appendEncode(QByteArray* output, uint& delta, uint& bias, uin
t = (k <= bias) ? tmin : (k >= bias + tmax) ? tmax : k - bias;
if (qq < t) break;
- *output += encodeDigit(t + (qq - t) % (base - t));
+ *output += QChar(encodeDigit(t + (qq - t) % (base - t)));
qq = (qq - t) / (base - t);
}
- *output += encodeDigit(qq);
+ *output += QChar(encodeDigit(qq));
bias = adapt(delta, h + 1, h == b);
delta = 0;
++h;
}
-static void toPunycodeHelper(const QChar *s, int ucLength, QByteArray *output)
+static void toPunycodeHelper(const QChar *s, int ucLength, QString *output)
{
uint n = initial_n;
uint delta = 0;
@@ -3010,7 +3043,7 @@ static void toPunycodeHelper(const QChar *s, int ucLength, QByteArray *output)
int outLen = output->length();
output->resize(outLen + ucLength);
- char *d = output->data() + outLen;
+ QChar *d = output->data() + outLen;
bool skipped = false;
// copy all basic code points verbatim to output.
for (uint j = 0; j < (uint) ucLength; ++j) {
@@ -3035,7 +3068,7 @@ static void toPunycodeHelper(const QChar *s, int ucLength, QByteArray *output)
// if basic code points were copied, add the delimiter character.
if (h > 0)
- *output += 0x2d;
+ *output += QChar(0x2d);
// while there are still unprocessed non-basic code points left in
// the input string...
@@ -3083,7 +3116,7 @@ static void toPunycodeHelper(const QChar *s, int ucLength, QByteArray *output)
}
// prepend ACE prefix
- output->insert(outLen, "xn--");
+ output->insert(outLen, QLatin1String("xn--"));
return;
}
@@ -3144,11 +3177,15 @@ static bool qt_is_idn_enabled(const QString &domain)
int idx = domain.lastIndexOf(QLatin1Char('.'));
if (idx == -1)
return false;
- const QChar *tld = domain.constData() + idx + 1;
+
int len = domain.size() - idx - 1;
+ QString tldString(domain.constData() + idx + 1, len);
+ qt_nameprep(&tldString, 0);
+
+ const QChar *tld = tldString.constData();
if (user_idn_whitelist)
- return user_idn_whitelist->contains(QString(tld, len));
+ return user_idn_whitelist->contains(tldString);
int l = 0;
int r = sizeof(idn_whitelist)/sizeof(const char *) - 1;
@@ -3164,46 +3201,127 @@ static bool qt_is_idn_enabled(const QString &domain)
return equal(tld, len, idn_whitelist[i]);
}
-static QString qt_from_ACE(const QString &domainMC)
+static inline bool isDotDelimiter(ushort uc)
{
- QString domain = domainMC.toLower();
- int idx = domain.indexOf(QLatin1Char('.'));
- if (idx != -1) {
- if (!domain.contains(QLatin1String("xn--"))) {
- bool simple = true;
- for (int i = 0; i < domain.size(); ++i) {
- ushort ch = domain.at(i).unicode();
- if (ch > 'z' || ch < '-' || ch == '/' || (ch > '9' && ch < 'A') || (ch > 'Z' && ch < 'a')) {
+ // IDNA / rfc3490 describes these four delimiters used for
+ // separating labels in unicode international domain
+ // names.
+ return uc == 0x2e || uc == 0x3002 || uc == 0xff0e || uc == 0xff61;
+}
+
+static int nextDotDelimiter(const QString &domain, int from = 0)
+{
+ const QChar *b = domain.unicode();
+ const QChar *ch = b + from;
+ const QChar *e = b + domain.length();
+ while (ch < e) {
+ if (isDotDelimiter(ch->unicode()))
+ break;
+ else
+ ++ch;
+ }
+ return ch - b;
+}
+
+enum AceOperation { ToAceOnly, NormalizeAce };
+static QString qt_ACE_do(const QString &domain, AceOperation op)
+{
+ if (domain.isEmpty())
+ return domain;
+
+ QString result;
+ result.reserve(domain.length());
+
+ const bool isIdnEnabled = op == NormalizeAce ? qt_is_idn_enabled(domain) : false;
+ int lastIdx = 0;
+ QString aceForm; // this variable is here for caching
+
+ while (1) {
+ int idx = nextDotDelimiter(domain, lastIdx);
+ int labelLength = idx - lastIdx;
+ if (labelLength == 0)
+ return QString(); // two delimiters in a row -- empty label not allowed
+
+ // RFC 3490 says, about the ToASCII operation:
+ // 3. If the UseSTD3ASCIIRules flag is set, then perform these checks:
+ //
+ // (a) Verify the absence of non-LDH ASCII code points; that is, the
+ // absence of 0..2C, 2E..2F, 3A..40, 5B..60, and 7B..7F.
+ //
+ // (b) Verify the absence of leading and trailing hyphen-minus; that
+ // is, the absence of U+002D at the beginning and end of the
+ // sequence.
+ // and:
+ // 8. Verify that the number of code points is in the range 1 to 63
+ // inclusive.
+
+ // copy the label to the destination, which also serves as our scratch area, lowercasing it
+ int prevLen = result.size();
+ bool simple = true;
+ result.resize(prevLen + labelLength);
+ {
+ QChar *out = result.data() + prevLen;
+ const QChar *in = domain.constData() + lastIdx;
+ const QChar *e = in + labelLength;
+ for (; in < e; ++in, ++out) {
+ register ushort uc = in->unicode();
+ if (uc > 0x7f)
simple = false;
- break;
- }
+ if (uc >= 'A' && uc <= 'Z')
+ *out = QChar(uc | 0x20);
+ else
+ *out = *in;
}
- if (simple)
- return domain;
}
-
- const bool isIdnEnabled = qt_is_idn_enabled(domain);
- int lastIdx = 0;
- QString result;
- while (1) {
- // Nameprep the host. If the labels in the hostname are Punycode
- // encoded, we decode them immediately, then nameprep them.
- QByteArray label;
- toPunycodeHelper(domain.constData() + lastIdx, idx - lastIdx, &label);
- result += qt_nameprep(isIdnEnabled ? QUrl::fromPunycode(label) : QString::fromLatin1(label));
- lastIdx = idx + 1;
- if (lastIdx < domain.size() + 1)
- result += QLatin1Char('.');
- else
- break;
- idx = domain.indexOf(QLatin1Char('.'), lastIdx);
- if (idx == -1)
- idx = domain.size();
+
+ if (simple && labelLength > 6) {
+ // ACE form domains contain only ASCII characters, but we can't consider them simple
+ // is this an ACE form?
+ // the shortest valid ACE domain is 6 characters long (U+0080 would be 1, but it's not allowed)
+ static const ushort acePrefixUtf16[] = { 'x', 'n', '-', '-' };
+ if (memcmp(result.constData() + prevLen, acePrefixUtf16, sizeof acePrefixUtf16) == 0)
+ simple = false;
}
- return result;
- } else {
- return qt_nameprep(domain);
+
+ if (simple) {
+ // fastest case: this is the common case (non IDN-domains)
+ // so we're done
+ if (!qt_check_std3rules(result.constData() + prevLen, labelLength))
+ return QString();
+ } else {
+ // Punycode encoding and decoding cannot be done in-place
+ // That means we need one or two temporaries
+ qt_nameprep(&result, prevLen);
+ labelLength = result.length() - prevLen;
+ register int toReserve = labelLength + 4 + 6; // "xn--" plus some extra bytes
+ if (toReserve > aceForm.capacity())
+ aceForm.reserve(toReserve);
+ toPunycodeHelper(result.constData() + prevLen, result.size() - prevLen, &aceForm);
+
+ // We use resize()+memcpy() here because we're overwriting the data we've copied
+ if (isIdnEnabled) {
+ QString tmp = QUrl::fromPunycode(aceForm.toLatin1());
+ if (tmp.isEmpty())
+ return QString(); // shouldn't happen, since we've just punycode-encoded it
+ result.resize(prevLen + tmp.size());
+ memcpy(result.data() + prevLen, tmp.constData(), tmp.size() * sizeof(QChar));
+ } else {
+ result.resize(prevLen + aceForm.size());
+ memcpy(result.data() + prevLen, aceForm.constData(), aceForm.size() * sizeof(QChar));
+ }
+
+ if (!qt_check_std3rules(aceForm.constData(), aceForm.size()))
+ return QString();
+ }
+
+
+ lastIdx = idx + 1;
+ if (lastIdx < domain.size() + 1)
+ result += QLatin1Char('.');
+ else
+ break;
}
+ return result;
}
@@ -3246,12 +3364,27 @@ QUrlPrivate::QUrlPrivate(const QUrlPrivate &copy)
QString QUrlPrivate::canonicalHost() const
{
- if (QURL_HASFLAG(stateFlags, HostCanonicalized))
+ if (QURL_HASFLAG(stateFlags, HostCanonicalized) || host.isEmpty())
return host;
QUrlPrivate *that = const_cast<QUrlPrivate *>(this);
QURL_SETFLAG(that->stateFlags, HostCanonicalized);
- that->host = qt_from_ACE(host);
+ if (host.contains(QLatin1Char(':'))) {
+ // This is an IP Literal, use _IPLiteral to validate
+ QByteArray ba = host.toLatin1();
+ if (!ba.startsWith('[')) {
+ // surround the IP Literal with [ ] if it's not already done so
+ ba.reserve(ba.length() + 2);
+ ba.prepend('[');
+ ba.append(']');
+ }
+
+ const char *ptr = ba.constData();
+ if (!_IPLiteral(&ptr))
+ that->host.clear();
+ } else {
+ that->host = qt_ACE_do(host, NormalizeAce);
+ }
return that->host;
}
@@ -3737,7 +3870,10 @@ QByteArray QUrlPrivate::toEncoded(QUrl::FormattingOptions options) const
}
}
- url += QUrl::toAce(host);
+ if (host.startsWith(QLatin1Char('[')))
+ url += host.toLatin1();
+ else
+ url += QUrl::toAce(host);
if (!(options & QUrl::RemovePort) && port != -1) {
url += ':';
url += QString::number(port).toAscii();
@@ -4412,8 +4548,6 @@ void QUrl::setHost(const QString &host)
QURL_UNSETFLAG(d->stateFlags, QUrlPrivate::Validated | QUrlPrivate::Normalized | QUrlPrivate::HostCanonicalized);
d->host = host;
- if (d->host.contains(QLatin1Char(':')))
- d->host = QLatin1Char('[') + d->host + QLatin1Char(']');
}
/*!
@@ -5425,9 +5559,9 @@ QByteArray QUrl::toPercentEncoding(const QString &input, const QByteArray &exclu
*/
QByteArray QUrl::toPunycode(const QString &uc)
{
- QByteArray output;
+ QString output;
toPunycodeHelper(uc.constData(), uc.size(), &output);
- return output;
+ return output.toLatin1();
}
/*!
@@ -5528,7 +5662,7 @@ QString QUrl::fromPunycode(const QByteArray &pc)
*/
QString QUrl::fromAce(const QByteArray &domain)
{
- return qt_from_ACE(QString::fromLatin1(domain));
+ return qt_ACE_do(QString::fromLatin1(domain), NormalizeAce);
}
/*!
@@ -5545,26 +5679,8 @@ QString QUrl::fromAce(const QByteArray &domain)
*/
QByteArray QUrl::toAce(const QString &domain)
{
- // IDNA / rfc3490 describes these four delimiters used for
- // separating labels in unicode international domain
- // names.
- QString nameprepped = qt_nameprep(domain);
- int lastIdx = 0;
- QByteArray result;
- for (int i = 0; i < nameprepped.size(); ++i) {
- ushort uc = nameprepped.at(i).unicode();
- if (uc == 0x2e || uc == 0x3002 || uc == 0xff0e || uc == 0xff61) {
- if (lastIdx)
- result += '.';
- toPunycodeHelper(nameprepped.constData() + lastIdx, i - lastIdx, &result);
- lastIdx = i + 1;
- }
- }
- if (lastIdx)
- result += '.';
- toPunycodeHelper(nameprepped.constData() + lastIdx, nameprepped.size() - lastIdx, &result);
-
- return result;
+ QString result = qt_ACE_do(domain, ToAceOnly);
+ return result.toLatin1();
}
/*!
diff --git a/src/corelib/kernel/kernel.pri b/src/corelib/kernel/kernel.pri
index f7d4208..124b2b3 100644
--- a/src/corelib/kernel/kernel.pri
+++ b/src/corelib/kernel/kernel.pri
@@ -32,7 +32,8 @@ HEADERS += \
kernel/qsharedmemory_p.h \
kernel/qsystemsemaphore.h \
kernel/qsystemsemaphore_p.h \
- kernel/qfunctions_p.h
+ kernel/qfunctions_p.h \
+ kernel/qguard_p.h
SOURCES += \
kernel/qabstracteventdispatcher.cpp \
@@ -54,7 +55,7 @@ SOURCES += \
kernel/qcoreglobaldata.cpp \
kernel/qsharedmemory.cpp \
kernel/qsystemsemaphore.cpp \
- kernel/qpointer.cpp
+ kernel/qpointer.cpp
win32 {
SOURCES += \
@@ -86,10 +87,14 @@ mac {
kernel/qcore_mac.cpp
}
-unix {
+unix:!symbian {
SOURCES += \
- kernel/qcrashhandler.cpp
+ kernel/qcore_unix.cpp \
+ kernel/qcrashhandler.cpp \
+ kernel/qsharedmemory_unix.cpp \
+ kernel/qsystemsemaphore_unix.cpp
HEADERS += \
+ kernel/qcore_unix_p.h \
kernel/qcrashhandler_p.h
contains(QT_CONFIG, glib) {
@@ -100,25 +105,34 @@ unix {
QMAKE_CXXFLAGS += $$QT_CFLAGS_GLIB
LIBS +=$$QT_LIBS_GLIB
}
-
- symbian {
SOURCES += \
+ kernel/qeventdispatcher_unix.cpp
+ HEADERS += \
+ kernel/qeventdispatcher_unix_p.h
+
+ contains(QT_CONFIG, clock-gettime):include($$QT_SOURCE_TREE/config.tests/unix/clock-gettime/clock-gettime.pri)
+}
+
+symbian {
+ SOURCES += \
+ kernel/qcore_unix.cpp \
+ kernel/qcrashhandler.cpp \
kernel/qeventdispatcher_symbian.cpp \
kernel/qcore_symbian_p.cpp \
kernel/qsharedmemory_symbian.cpp \
kernel/qsystemsemaphore_symbian.cpp
- HEADERS += \
+
+ HEADERS += \
+ kernel/qcore_unix_p.h \
+ kernel/qcrashhandler_p.h \
kernel/qeventdispatcher_symbian_p.h \
kernel/qcore_symbian_p.h
- } else {
- SOURCES += \
- kernel/qeventdispatcher_unix.cpp \
- kernel/qsharedmemory_unix.cpp \
- kernel/qsystemsemaphore_unix.cpp
- HEADERS += \
- kernel/qeventdispatcher_unix_p.h
- }
+}
- contains(QT_CONFIG, clock-gettime):include($$QT_SOURCE_TREE/config.tests/unix/clock-gettime/clock-gettime.pri)
+vxworks {
+ SOURCES += \
+ kernel/qfunctions_vxworks.cpp
+ HEADERS += \
+ kernel/qfunctions_vxworks.h
}
diff --git a/src/corelib/kernel/qabstracteventdispatcher.cpp b/src/corelib/kernel/qabstracteventdispatcher.cpp
index a98d005..e2682f5 100644
--- a/src/corelib/kernel/qabstracteventdispatcher.cpp
+++ b/src/corelib/kernel/qabstracteventdispatcher.cpp
@@ -398,20 +398,23 @@ void QAbstractEventDispatcher::closingDown()
*/
/*!
- Sets the event filter \a filter. Returns a pointer to the filter
- function previously defined.
-
- The event filter is a function that receives all messages taken
- from the system event loop before the event is dispatched to the
- respective target. This includes messages that are not sent to Qt
+ Replaces the event filter function for this
+ QAbstractEventDispatcher with \a filter and returns the replaced
+ event filter function. Only the current event filter function is
+ called. If you want to use both filter functions, save the
+ replaced EventFilter in a place where yours can call it.
+
+ The event filter function set here is called for all messages
+ taken from the system event loop before the event is dispatched to
+ the respective target, including the messages not meant for Qt
objects.
- The function can return true to stop the event to be processed by
- Qt, or false to continue with the standard event processing.
+ The event filter function should return true if the message should
+ be filtered, (i.e. stopped). It should return false to allow
+ processing the message to continue.
- Only one filter can be defined, but the filter can use the return
- value to call the previously set event filter. By default, no
- filter is set (i.e. the function returns 0).
+ By default, no event filter function is set (i.e., this function
+ returns a null EventFilter the first time it is called).
*/
QAbstractEventDispatcher::EventFilter QAbstractEventDispatcher::setEventFilter(EventFilter filter)
{
diff --git a/src/corelib/kernel/qabstracteventdispatcher.h b/src/corelib/kernel/qabstracteventdispatcher.h
index 93815f6..0550dde 100644
--- a/src/corelib/kernel/qabstracteventdispatcher.h
+++ b/src/corelib/kernel/qabstracteventdispatcher.h
@@ -58,7 +58,7 @@ template <typename T1, typename T2> struct QPair;
class Q_CORE_EXPORT QAbstractEventDispatcher : public QObject
{
Q_OBJECT
- Q_DECLARE_SCOPED_PRIVATE(QAbstractEventDispatcher)
+ Q_DECLARE_PRIVATE(QAbstractEventDispatcher)
public:
typedef QPair<int, int> TimerInfo;
diff --git a/src/corelib/kernel/qabstractitemmodel.cpp b/src/corelib/kernel/qabstractitemmodel.cpp
index 914f44f..5d5d4cc 100644
--- a/src/corelib/kernel/qabstractitemmodel.cpp
+++ b/src/corelib/kernel/qabstractitemmodel.cpp
@@ -467,6 +467,27 @@ QAbstractItemModel *QAbstractItemModelPrivate::staticEmptyModel()
return qEmptyModel();
}
+namespace {
+ struct DefaultRoleNames : public QHash<int, QByteArray>
+ {
+ DefaultRoleNames() {
+ (*this)[Qt::DisplayRole] = "display";
+ (*this)[Qt::DecorationRole] = "decoration";
+ (*this)[Qt::EditRole] = "edit";
+ (*this)[Qt::ToolTipRole] = "toolTip";
+ (*this)[Qt::StatusTipRole] = "statusTip";
+ (*this)[Qt::WhatsThisRole] = "whatsThis";
+ }
+ };
+}
+
+Q_GLOBAL_STATIC(DefaultRoleNames, qDefaultRoleNames)
+
+const QHash<int,QByteArray> &QAbstractItemModelPrivate::defaultRoleNames()
+{
+ return *qDefaultRoleNames();
+}
+
/*!
\internal
return true if \a value contains a numerical type
@@ -1407,7 +1428,7 @@ QMap<int, QVariant> QAbstractItemModel::itemData(const QModelIndex &index) const
QMap<int, QVariant> roles;
for (int i = 0; i < Qt::UserRole; ++i) {
QVariant variantData = data(index, i);
- if (variantData.type() != QVariant::Invalid)
+ if (variantData.isValid())
roles.insert(i, variantData);
}
return roles;
@@ -1863,6 +1884,37 @@ QSize QAbstractItemModel::span(const QModelIndex &) const
}
/*!
+ \since 4.6
+
+ Sets the model's role names to \a roleNames.
+
+ This function is provided to allow mapping of role identifiers to
+ role property names in Declarative UI. This function must be called
+ before the model is used. Modifying the role names after the model
+ has been set may result in undefined behaviour.
+
+ \sa roleNames()
+*/
+void QAbstractItemModel::setRoleNames(const QHash<int,QByteArray> &roleNames)
+{
+ Q_D(QAbstractItemModel);
+ d->roleNames = roleNames;
+}
+
+/*!
+ \since 4.6
+
+ Returns the model's role names.
+
+ \sa setRoleNames()
+*/
+const QHash<int,QByteArray> &QAbstractItemModel::roleNames() const
+{
+ Q_D(const QAbstractItemModel);
+ return d->roleNames;
+}
+
+/*!
Called to let the model know that it should submit whatever it has cached
to the permanent storage. Typically used for row editing.
@@ -2278,7 +2330,8 @@ void QAbstractItemModel::endRemoveColumns()
\note The view to which the model is attached to will be reset as well.
When a model is reset it means that any previous data reported from the
- model is now invalid and has to be queried for again.
+ model is now invalid and has to be queried for again. This also means
+ that the current item and any selected items will become invalid.
When a model radically changes its data it can sometimes be easier to just
call this function rather than emit dataChanged() to inform other
diff --git a/src/corelib/kernel/qabstractitemmodel.h b/src/corelib/kernel/qabstractitemmodel.h
index 90d04cd..a6bbff4 100644
--- a/src/corelib/kernel/qabstractitemmodel.h
+++ b/src/corelib/kernel/qabstractitemmodel.h
@@ -220,6 +220,8 @@ public:
Qt::MatchFlags(Qt::MatchStartsWith|Qt::MatchWrap)) const;
virtual QSize span(const QModelIndex &index) const;
+ const QHash<int,QByteArray> &roleNames() const;
+
#ifdef Q_NO_USING_KEYWORD
inline QObject *parent() const { return QObject::parent(); }
#else
@@ -282,8 +284,10 @@ protected:
void changePersistentIndexList(const QModelIndexList &from, const QModelIndexList &to);
QModelIndexList persistentIndexList() const;
+ void setRoleNames(const QHash<int,QByteArray> &roleNames);
+
private:
- Q_DECLARE_SCOPED_PRIVATE(QAbstractItemModel)
+ Q_DECLARE_PRIVATE(QAbstractItemModel)
Q_DISABLE_COPY(QAbstractItemModel)
};
diff --git a/src/corelib/kernel/qabstractitemmodel_p.h b/src/corelib/kernel/qabstractitemmodel_p.h
index c047f95..6a29723 100644
--- a/src/corelib/kernel/qabstractitemmodel_p.h
+++ b/src/corelib/kernel/qabstractitemmodel_p.h
@@ -78,7 +78,7 @@ class Q_CORE_EXPORT QAbstractItemModelPrivate : public QObjectPrivate
Q_DECLARE_PUBLIC(QAbstractItemModel)
public:
- QAbstractItemModelPrivate() : QObjectPrivate(), supportedDragActions(-1) {}
+ QAbstractItemModelPrivate() : QObjectPrivate(), supportedDragActions(-1), roleNames(defaultRoleNames()) {}
void removePersistentIndexData(QPersistentModelIndexData *data);
void rowsAboutToBeInserted(const QModelIndex &parent, int first, int last);
void rowsInserted(const QModelIndex &parent, int first, int last);
@@ -144,6 +144,9 @@ public:
} persistent;
Qt::DropActions supportedDragActions;
+
+ QHash<int,QByteArray> roleNames;
+ static const QHash<int,QByteArray> &defaultRoleNames();
};
QT_END_NAMESPACE
diff --git a/src/corelib/kernel/qcore_symbian_p.cpp b/src/corelib/kernel/qcore_symbian_p.cpp
index c681b1f..c7264cf 100644
--- a/src/corelib/kernel/qcore_symbian_p.cpp
+++ b/src/corelib/kernel/qcore_symbian_p.cpp
@@ -1,9 +1,9 @@
/****************************************************************************
**
-** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
-** This file is part of the $MODULE$ of the Qt Toolkit.
+** This file is part of the QtCore of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/src/corelib/kernel/qcore_symbian_p.h b/src/corelib/kernel/qcore_symbian_p.h
index 453c3d3..391774f 100644
--- a/src/corelib/kernel/qcore_symbian_p.h
+++ b/src/corelib/kernel/qcore_symbian_p.h
@@ -1,9 +1,9 @@
/****************************************************************************
**
-** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
-** This file is part of the $MODULE$ of the Qt Toolkit.
+** This file is part of the QtCore of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/src/corelib/kernel/qcore_unix.cpp b/src/corelib/kernel/qcore_unix.cpp
new file mode 100644
index 0000000..9134622
--- /dev/null
+++ b/src/corelib/kernel/qcore_unix.cpp
@@ -0,0 +1,163 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtCore module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "qcore_unix_p.h"
+
+#ifndef Q_OS_VXWORKS
+# include <sys/select.h>
+# include <sys/time.h>
+#else
+# include <selectLib.h>
+#endif
+
+#include <stdlib.h>
+
+#ifdef Q_OS_MAC
+#include <mach/mach_time.h>
+#endif
+
+#if !defined(QT_NO_CLOCK_MONOTONIC)
+# if defined(QT_BOOTSTRAPPED)
+# define QT_NO_CLOCK_MONOTONIC
+# endif
+#endif
+
+QT_BEGIN_NAMESPACE
+
+bool qt_gettime_is_monotonic()
+{
+#if (_POSIX_MONOTONIC_CLOCK-0 > 0) || defined(Q_OS_MAC)
+ return true;
+#else
+ static int returnValue = 0;
+
+ if (returnValue == 0) {
+# if (_POSIX_MONOTONIC_CLOCK-0 < 0)
+ returnValue = -1;
+# elif (_POSIX_MONOTONIC_CLOCK == 0)
+ // detect if the system support monotonic timers
+ long x = sysconf(_SC_MONOTONIC_CLOCK);
+ returnValue = (x >= 200112L) ? 1 : -1;
+# endif
+ }
+
+ return returnValue != -1;
+#endif
+}
+
+timeval qt_gettime()
+{
+ timeval tv;
+#if defined(Q_OS_MAC)
+ static mach_timebase_info_data_t info = {0,0};
+ if (info.denom == 0)
+ mach_timebase_info(&info);
+
+ uint64_t cpu_time = mach_absolute_time();
+ uint64_t nsecs = cpu_time * (info.numer / info.denom);
+ tv.tv_sec = nsecs / 1000000000ull;
+ tv.tv_usec = (nsecs / 1000) - (tv.tv_sec * 1000000);
+ return tv;
+#elif (_POSIX_MONOTONIC_CLOCK-0 > 0)
+ timespec ts;
+ clock_gettime(CLOCK_MONOTONIC, &ts);
+ tv.tv_sec = ts.tv_sec;
+ tv.tv_usec = ts.tv_nsec / 1000;
+ return tv;
+#else
+# if !defined(QT_NO_CLOCK_MONOTONIC) && !defined(QT_BOOTSTRAPPED)
+ if (qt_gettime_is_monotonic()) {
+ timespec ts;
+ clock_gettime(CLOCK_MONOTONIC, &ts);
+ tv.tv_sec = ts.tv_sec;
+ tv.tv_usec = ts.tv_nsec / 1000;
+ return tv;
+ }
+# endif
+ // use gettimeofday
+ ::gettimeofday(&tv, 0);
+ return tv;
+#endif
+}
+
+static inline bool time_update(struct timeval *tv, const struct timeval &start,
+ const struct timeval &timeout)
+{
+ if (!qt_gettime_is_monotonic()) {
+ // we cannot recalculate the timeout without a monotonic clock as the time may have changed
+ return false;
+ }
+
+ // clock source is monotonic, so we can recalculate how much timeout is left
+ struct timeval now = qt_gettime();
+ *tv = timeout + start - now;
+ return true;
+}
+
+int qt_safe_select(int nfds, fd_set *fdread, fd_set *fdwrite, fd_set *fdexcept,
+ const struct timeval *orig_timeout)
+{
+ if (!orig_timeout) {
+ // no timeout -> block forever
+ register int ret;
+ EINTR_LOOP(ret, select(nfds, fdread, fdwrite, fdexcept, 0));
+ return ret;
+ }
+
+ timeval start = qt_gettime();
+ timeval timeout = *orig_timeout;
+
+ // loop and recalculate the timeout as needed
+ int ret;
+ forever {
+ ret = ::select(nfds, fdread, fdwrite, fdexcept, &timeout);
+ if (ret != -1 || errno != EINTR)
+ return ret;
+
+ // recalculate the timeout
+ if (!time_update(&timeout, start, *orig_timeout)) {
+ // clock reset, fake timeout error
+ return 0;
+ }
+ }
+}
+
+QT_END_NAMESPACE
diff --git a/src/corelib/kernel/qcore_unix_p.h b/src/corelib/kernel/qcore_unix_p.h
new file mode 100644
index 0000000..9a6069d
--- /dev/null
+++ b/src/corelib/kernel/qcore_unix_p.h
@@ -0,0 +1,323 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtCore module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QCORE_UNIX_P_H
+#define QCORE_UNIX_P_H
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists for the convenience
+// of Qt code on Unix. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
+#include "qplatformdefs.h"
+
+#ifndef Q_OS_UNIX
+# error "qcore_unix_p.h included on a non-Unix system"
+#endif
+
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <unistd.h>
+
+#include <sys/wait.h>
+#include <errno.h>
+#include <fcntl.h>
+
+#if defined(Q_OS_VXWORKS)
+# include <ioLib.h>
+#endif
+
+struct sockaddr;
+
+#if defined(Q_OS_LINUX) && defined(O_CLOEXEC)
+# define QT_UNIX_SUPPORTS_THREADSAFE_CLOEXEC 1
+QT_BEGIN_NAMESPACE
+namespace QtLibcSupplement {
+ inline int accept4(int, sockaddr *, QT_SOCKLEN_T *, int)
+ { errno = ENOSYS; return -1; }
+ inline int dup3(int, int, int)
+ { errno = ENOSYS; return -1; }
+ inline int pipe2(int [], int )
+ { errno = ENOSYS; return -1; }
+}
+QT_END_NAMESPACE
+using namespace QT_PREPEND_NAMESPACE(QtLibcSupplement);
+
+#else
+# define QT_UNIX_SUPPORTS_THREADSAFE_CLOEXEC 0
+#endif
+
+#define EINTR_LOOP(var, cmd) \
+ do { \
+ var = cmd; \
+ } while (var == -1 && errno == EINTR)
+
+QT_BEGIN_NAMESPACE
+
+// Internal operator functions for timevals
+inline timeval &normalizedTimeval(timeval &t)
+{
+ while (t.tv_usec > 1000000l) {
+ ++t.tv_sec;
+ t.tv_usec -= 1000000l;
+ }
+ while (t.tv_usec < 0l) {
+ --t.tv_sec;
+ t.tv_usec += 1000000l;
+ }
+ return t;
+}
+inline bool operator<(const timeval &t1, const timeval &t2)
+{ return t1.tv_sec < t2.tv_sec || (t1.tv_sec == t2.tv_sec && t1.tv_usec < t2.tv_usec); }
+inline bool operator==(const timeval &t1, const timeval &t2)
+{ return t1.tv_sec == t2.tv_sec && t1.tv_usec == t2.tv_usec; }
+inline timeval &operator+=(timeval &t1, const timeval &t2)
+{
+ t1.tv_sec += t2.tv_sec;
+ t1.tv_usec += t2.tv_usec;
+ return normalizedTimeval(t1);
+}
+inline timeval operator+(const timeval &t1, const timeval &t2)
+{
+ timeval tmp;
+ tmp.tv_sec = t1.tv_sec + t2.tv_sec;
+ tmp.tv_usec = t1.tv_usec + t2.tv_usec;
+ return normalizedTimeval(tmp);
+}
+inline timeval operator-(const timeval &t1, const timeval &t2)
+{
+ timeval tmp;
+ tmp.tv_sec = t1.tv_sec - (t2.tv_sec - 1);
+ tmp.tv_usec = t1.tv_usec - (t2.tv_usec + 1000000);
+ return normalizedTimeval(tmp);
+}
+inline timeval operator*(const timeval &t1, int mul)
+{
+ timeval tmp;
+ tmp.tv_sec = t1.tv_sec * mul;
+ tmp.tv_usec = t1.tv_usec * mul;
+ return normalizedTimeval(tmp);
+}
+
+// don't call QT_OPEN or ::open
+// call qt_safe_open
+static inline int qt_safe_open(const char *pathname, int flags, mode_t mode = 0777)
+{
+#ifdef O_CLOEXEC
+ flags |= O_CLOEXEC;
+#endif
+ register int fd;
+ EINTR_LOOP(fd, QT_OPEN(pathname, flags, mode));
+
+ // unknown flags are ignored, so we have no way of verifying if
+ // O_CLOEXEC was accepted
+ if (fd != -1)
+ ::fcntl(fd, F_SETFD, FD_CLOEXEC);
+ return fd;
+}
+#undef QT_OPEN
+#define QT_OPEN qt_safe_open
+
+#ifndef Q_OS_VXWORKS // no POSIX pipes in VxWorks
+// don't call ::pipe
+// call qt_safe_pipe
+static inline int qt_safe_pipe(int pipefd[2], int flags = 0)
+{
+#ifdef O_CLOEXEC
+ Q_ASSERT((flags & ~(O_CLOEXEC | O_NONBLOCK)) == 0);
+#else
+ Q_ASSERT((flags & ~O_NONBLOCK) == 0);
+#endif
+
+ register int ret;
+#if QT_UNIX_SUPPORTS_THREADSAFE_CLOEXEC && defined(O_CLOEXEC)
+ // use pipe2
+ flags |= O_CLOEXEC;
+ ret = ::pipe2(pipefd, flags); // pipe2 is Linux-specific and is documented not to return EINTR
+ if (ret == 0 || errno != ENOSYS)
+ return ret;
+#endif
+
+ ret = ::pipe(pipefd);
+ if (ret == -1)
+ return -1;
+
+ ::fcntl(pipefd[0], F_SETFD, FD_CLOEXEC);
+ ::fcntl(pipefd[1], F_SETFD, FD_CLOEXEC);
+
+ // set non-block too?
+ if (flags & O_NONBLOCK) {
+ ::fcntl(pipefd[0], F_SETFL, ::fcntl(pipefd[0], F_GETFL) | O_NONBLOCK);
+ ::fcntl(pipefd[1], F_SETFL, ::fcntl(pipefd[1], F_GETFL) | O_NONBLOCK);
+ }
+
+ return 0;
+}
+
+#endif // Q_OS_VXWORKS
+
+// don't call dup or fcntl(F_DUPFD)
+static inline int qt_safe_dup(int oldfd, int atleast = 0, int flags = FD_CLOEXEC)
+{
+ Q_ASSERT(flags == FD_CLOEXEC || flags == 0);
+
+ register int ret;
+#ifdef F_DUPFD_CLOEXEC
+ // use this fcntl
+ if (flags & FD_CLOEXEC) {
+ ret = ::fcntl(oldfd, F_DUPFD_CLOEXEC, atleast);
+ if (ret != -1 || errno != EINVAL)
+ return ret;
+ }
+#endif
+
+ // use F_DUPFD
+ ret = ::fcntl(oldfd, F_DUPFD, atleast);
+
+ if (flags && ret != -1)
+ ::fcntl(ret, F_SETFD, flags);
+ return ret;
+}
+
+// don't call dup2
+// call qt_safe_dup2
+static inline int qt_safe_dup2(int oldfd, int newfd, int flags = FD_CLOEXEC)
+{
+ Q_ASSERT(flags == FD_CLOEXEC || flags == 0);
+
+ register int ret;
+#if QT_UNIX_SUPPORTS_THREADSAFE_CLOEXEC && defined(O_CLOEXEC)
+ // use dup3
+ if (flags & FD_CLOEXEC) {
+ EINTR_LOOP(ret, ::dup3(oldfd, newfd, O_CLOEXEC));
+ if (ret == 0 || errno != ENOSYS)
+ return ret;
+ }
+#endif
+ EINTR_LOOP(ret, ::dup2(oldfd, newfd));
+ if (ret == -1)
+ return -1;
+
+ if (flags)
+ ::fcntl(newfd, F_SETFD, flags);
+ return 0;
+}
+
+static inline qint64 qt_safe_read(int fd, void *data, qint64 maxlen)
+{
+ qint64 ret = 0;
+ EINTR_LOOP(ret, QT_READ(fd, data, maxlen));
+ return ret;
+}
+#undef QT_READ
+#define QT_READ qt_safe_read
+
+static inline qint64 qt_safe_write(int fd, const void *data, qint64 len)
+{
+ qint64 ret = 0;
+ EINTR_LOOP(ret, QT_WRITE(fd, data, len));
+ return ret;
+}
+#undef QT_WRITE
+#define QT_WRITE qt_safe_write
+
+static inline int qt_safe_close(int fd)
+{
+ register int ret;
+ EINTR_LOOP(ret, QT_CLOSE(fd));
+ return ret;
+}
+#undef QT_CLOSE
+#define QT_CLOSE qt_safe_close
+
+// Open C does not (yet?) implement these on Symbian OS and VxWorks doesn't have processes
+#if !defined(Q_OS_SYMBIAN) && !defined(Q_OS_VXWORKS)
+static inline int qt_safe_execve(const char *filename, char *const argv[],
+ char *const envp[])
+{
+ register int ret;
+ EINTR_LOOP(ret, ::execve(filename, argv, envp));
+ return ret;
+}
+
+static inline int qt_safe_execv(const char *path, char *const argv[])
+{
+ register int ret;
+ EINTR_LOOP(ret, ::execv(path, argv));
+ return ret;
+}
+
+static inline int qt_safe_execvp(const char *file, char *const argv[])
+{
+ register int ret;
+ EINTR_LOOP(ret, ::execvp(file, argv));
+ return ret;
+}
+#endif
+
+#ifndef Q_OS_VXWORKS // no processes on VxWorks
+static inline pid_t qt_safe_waitpid(pid_t pid, int *status, int options)
+{
+ register int ret;
+ EINTR_LOOP(ret, ::waitpid(pid, status, options));
+ return ret;
+}
+
+#endif // Q_OS_VXWORKS
+
+#if !defined(_POSIX_MONOTONIC_CLOCK)
+# define _POSIX_MONOTONIC_CLOCK -1
+#endif
+
+bool qt_gettime_is_monotonic();
+timeval qt_gettime();
+Q_CORE_EXPORT int qt_safe_select(int nfds, fd_set *fdread, fd_set *fdwrite, fd_set *fdexcept,
+ const struct timeval *tv);
+
+QT_END_NAMESPACE
+
+#endif
diff --git a/src/corelib/kernel/qcoreapplication.cpp b/src/corelib/kernel/qcoreapplication.cpp
index 90d8f2f..4a1da35 100644
--- a/src/corelib/kernel/qcoreapplication.cpp
+++ b/src/corelib/kernel/qcoreapplication.cpp
@@ -61,6 +61,7 @@
#include <private/qthread_p.h>
#include <qlibraryinfo.h>
#include <private/qfactoryloader_p.h>
+#include <private/qfunctions_p.h>
#ifdef Q_OS_SYMBIAN
# include <exception>
@@ -88,6 +89,10 @@
# include <locale.h>
#endif
+#ifdef Q_OS_VXWORKS
+# include <taskLib.h>
+#endif
+
QT_BEGIN_NAMESPACE
class QLockedMutexUnlocker
@@ -1733,6 +1738,12 @@ QString QCoreApplication::translate(const char *context, const char *sourceText,
return result;
}
+// Declared in qglobal.h
+QString qtTrId(const char *id, int n)
+{
+ return QCoreApplication::translate(0, id, 0, QCoreApplication::UnicodeUTF8, n);
+}
+
bool QCoreApplicationPrivate::isTranslatorInstalled(QTranslator *translator)
{
return QCoreApplication::self
@@ -1828,21 +1839,8 @@ QString QCoreApplication::applicationFilePath()
if (!d->cachedApplicationFilePath.isNull())
return d->cachedApplicationFilePath;
-#if defined( Q_WS_WIN )
- QFileInfo filePath;
- QT_WA({
- wchar_t module_name[MAX_PATH+1];
- GetModuleFileNameW(0, module_name, MAX_PATH);
- module_name[MAX_PATH] = 0;
- filePath = QString::fromUtf16((ushort *)module_name);
- }, {
- char module_name[MAX_PATH+1];
- GetModuleFileNameA(0, module_name, MAX_PATH);
- module_name[MAX_PATH] = 0;
- filePath = QString::fromLocal8Bit(module_name);
- });
-
- d->cachedApplicationFilePath = filePath.filePath();
+#if defined(Q_WS_WIN)
+ d->cachedApplicationFilePath = QFileInfo(qAppFileName()).filePath();
return d->cachedApplicationFilePath;
#elif defined(Q_WS_MAC)
QString qAppFileName_str = qAppFileName();
@@ -1928,8 +1926,9 @@ qint64 QCoreApplication::applicationPid()
{
#if defined(Q_OS_WIN32) || defined(Q_OS_WINCE)
return GetCurrentProcessId();
+#elif defined(Q_OS_VXWORKS)
+ return (pid_t) taskIdCurrent;
#else
- // UNIX
return getpid();
#endif
}
@@ -2002,13 +2001,13 @@ QStringList QCoreApplication::arguments()
return list;
}
#ifdef Q_OS_WIN
- QString cmdline = QT_WA_INLINE(QString::fromUtf16((unsigned short *)GetCommandLineW()), QString::fromLocal8Bit(GetCommandLineA()));
+ QString cmdline = QString::fromWCharArray(GetCommandLine());
#if defined(Q_OS_WINCE)
wchar_t tempFilename[MAX_PATH+1];
- if (GetModuleFileNameW(0, tempFilename, MAX_PATH)) {
+ if (GetModuleFileName(0, tempFilename, MAX_PATH)) {
tempFilename[MAX_PATH] = 0;
- cmdline.prepend(QLatin1Char('\"') + QString::fromUtf16((unsigned short *)tempFilename) + QLatin1String("\" "));
+ cmdline.prepend(QLatin1Char('\"') + QString::fromWCharArray(tempFilename) + QLatin1String("\" "));
}
#endif // Q_OS_WINCE
@@ -2315,21 +2314,37 @@ void QCoreApplication::removeLibraryPath(const QString &path)
/*!
\fn EventFilter QCoreApplication::setEventFilter(EventFilter filter)
- Sets the event filter \a filter. Returns a pointer to the filter
- function previously defined.
-
- The event filter is a function that is called for every message
- received in all threads. This does \e not include messages to
+ Replaces the event filter function for the QCoreApplication with
+ \a filter and returns the pointer to the replaced event filter
+ function. Only the current event filter function is called. If you
+ want to use both filter functions, save the replaced EventFilter
+ in a place where yours can call it.
+
+ The event filter function set here is called for all messages
+ received by all threads meant for all Qt objects. It is \e not
+ called for messages that are not meant for Qt objects.
+
+ The event filter function should return true if the message should
+ be filtered, (i.e. stopped). It should return false to allow
+ processing the message to continue.
+
+ By default, no event filter function is set (i.e., this function
+ returns a null EventFilter the first time it is called).
+
+ \note The filter function set here receives native messages,
+ i.e. MSG or XEvent structs, that are going to Qt objects. It is
+ called by QCoreApplication::filterEvent(). If the filter function
+ returns false to indicate the message should be processed further,
+ the native message can then be translated into a QEvent and
+ handled by the standard Qt \l{QEvent} {event} filering, e.g.
+ QObject::installEventFilter().
+
+ \note The filter function set here is different form the filter
+ function set via QAbstractEventDispatcher::setEventFilter(), which
+ gets all messages received by its thread, even messages meant for
objects that are not handled by Qt.
- The function can return true to stop the event to be processed by
- Qt, or false to continue with the standard event processing.
-
- Only one filter can be defined, but the filter can use the return
- value to call the previously set event filter. By default, no
- filter is set (i.e., the function returns 0).
-
- \sa installEventFilter()
+ \sa QObject::installEventFilter(), QAbstractEventDispatcher::setEventFilter()
*/
QCoreApplication::EventFilter
QCoreApplication::setEventFilter(QCoreApplication::EventFilter filter)
diff --git a/src/corelib/kernel/qcoreapplication.h b/src/corelib/kernel/qcoreapplication.h
index 60b0882..48e65a7 100644
--- a/src/corelib/kernel/qcoreapplication.h
+++ b/src/corelib/kernel/qcoreapplication.h
@@ -76,7 +76,7 @@ class Q_CORE_EXPORT QCoreApplication : public QObject
Q_PROPERTY(QString organizationName READ organizationName WRITE setOrganizationName)
Q_PROPERTY(QString organizationDomain READ organizationDomain WRITE setOrganizationDomain)
- Q_DECLARE_SCOPED_PRIVATE(QCoreApplication)
+ Q_DECLARE_PRIVATE(QCoreApplication)
public:
QCoreApplication(int &argc, char **argv);
~QCoreApplication();
diff --git a/src/corelib/kernel/qcoreapplication_win.cpp b/src/corelib/kernel/qcoreapplication_win.cpp
index 7a35340..bf5716a 100644
--- a/src/corelib/kernel/qcoreapplication_win.cpp
+++ b/src/corelib/kernel/qcoreapplication_win.cpp
@@ -45,14 +45,15 @@
#include "qt_windows.h"
#include "qvector.h"
#include "qmutex.h"
+#include "qfileinfo.h"
#include "qcorecmdlineargs_p.h"
#include <private/qthread_p.h>
#include <ctype.h>
QT_BEGIN_NAMESPACE
-char appFileName[MAX_PATH+1]; // application file name
-char theAppName[MAX_PATH+1]; // application name
+char appFileName[MAX_PATH]; // application file name
+char theAppName[MAX_PATH]; // application name
HINSTANCE appInst = 0; // handle to app instance
HINSTANCE appPrevInst = 0; // handle to prev app instance
int appCmdShow = 0;
@@ -73,48 +74,69 @@ Q_CORE_EXPORT int qWinAppCmdShow() // get main window sho
return appCmdShow;
}
+Q_CORE_EXPORT QString qAppFileName() // get application file name
+{
+ // We do MAX_PATH + 2 here, and request with MAX_PATH + 1, so we can handle all paths
+ // up to, and including MAX_PATH size perfectly fine with string termination, as well
+ // as easily detect if the file path is indeed larger than MAX_PATH, in which case we
+ // need to use the heap instead. This is a work-around, since contrary to what the
+ // MSDN documentation states, GetModuleFileName sometimes doesn't set the
+ // ERROR_INSUFFICIENT_BUFFER error number, and we thus cannot rely on this value if
+ // GetModuleFileName(0, buffer, MAX_PATH) == MAX_PATH.
+ // GetModuleFileName(0, buffer, MAX_PATH + 1) == MAX_PATH just means we hit the normal
+ // file path limit, and we handle it normally, if the result is MAX_PATH + 1, we use
+ // heap (even if the result _might_ be exactly MAX_PATH + 1, but that's ok).
+ wchar_t buffer[MAX_PATH + 2];
+ DWORD v = GetModuleFileName(0, buffer, MAX_PATH + 1);
+ buffer[MAX_PATH + 1] = 0;
+
+ if (v == 0)
+ return QString();
+ else if (v <= MAX_PATH)
+ return QString::fromWCharArray(buffer);
+
+ // MAX_PATH sized buffer wasn't large enough to contain the full path, use heap
+ wchar_t *b = 0;
+ int i = 1;
+ size_t size;
+ do {
+ ++i;
+ size = MAX_PATH * i;
+ b = reinterpret_cast<wchar_t *>(realloc(b, (size + 1) * sizeof(wchar_t)));
+ if (b)
+ v = GetModuleFileName(NULL, b, size);
+ } while (b && v == size);
+
+ if (b)
+ *(b + size) = 0;
+ QString res = QString::fromWCharArray(b);
+ free(b);
+
+ return res;
+}
void set_winapp_name()
{
static bool already_set = false;
if (!already_set) {
already_set = true;
-#ifndef Q_OS_WINCE
- GetModuleFileNameA(0, appFileName, sizeof(appFileName));
- appFileName[sizeof(appFileName)-1] = 0;
-#else
- QString afm;
- afm.resize(sizeof(appFileName));
- afm.resize(GetModuleFileName(0, (wchar_t *) (afm.unicode()), sizeof(appFileName)));
- memcpy(appFileName, afm.toLatin1(), sizeof(appFileName));
-#endif
- const char *p = strrchr(appFileName, '\\'); // skip path
- if (p)
- memcpy(theAppName, p+1, qstrlen(p));
- int l = qstrlen(theAppName);
- if ((l > 4) && !qstricmp(theAppName + l - 4, ".exe"))
- theAppName[l-4] = '\0'; // drop .exe extension
-
- if (appInst == 0) {
- QT_WA({
- appInst = GetModuleHandle(0);
- }, {
- appInst = GetModuleHandleA(0);
- });
- }
- }
-}
-Q_CORE_EXPORT QString qAppFileName() // get application file name
-{
- return QString::fromLatin1(appFileName);
+ QString moduleName = qAppFileName();
+
+ QByteArray filePath = moduleName.toLocal8Bit();
+ QByteArray fileName = QFileInfo(moduleName).baseName().toLocal8Bit();
+
+ memcpy(appFileName, filePath.constData(), filePath.length());
+ memcpy(theAppName, fileName.constData(), fileName.length());
+
+ if (appInst == 0)
+ appInst = GetModuleHandle(0);
+ }
}
QString QCoreApplicationPrivate::appName() const
{
- if (!theAppName[0])
- set_winapp_name();
- return QString::fromLatin1(theAppName);
+ return QFileInfo(qAppFileName()).baseName();
}
class QWinMsgHandlerCriticalSection
@@ -145,15 +167,11 @@ Q_CORE_EXPORT void qWinMsgHandler(QtMsgType t, const char* str)
str = "(null)";
staticCriticalSection.lock();
- QT_WA({
- QString s(QString::fromLocal8Bit(str));
- s += QLatin1Char('\n');
- OutputDebugStringW((TCHAR*)s.utf16());
- }, {
- QByteArray s(str);
- s += '\n';
- OutputDebugStringA(s.data());
- })
+
+ QString s(QString::fromLocal8Bit(str));
+ s += QLatin1Char('\n');
+ OutputDebugString((wchar_t*)s.utf16());
+
staticCriticalSection.unlock();
}
@@ -262,7 +280,7 @@ QT_END_INCLUDE_NAMESPACE
// The values below should never change. Note that none of the usual
// WM_...FIRST & WM_...LAST values are in the list, as they normally have other
// WM_... representations
-struct {
+struct KnownWM {
uint WM;
const char* str;
} knownWM[] =
@@ -564,7 +582,7 @@ struct {
{ 0,0 }}; // End of known messages
// Looks up the WM_ message in the table above
-const char* findWMstr(uint msg)
+static const char* findWMstr(uint msg)
{
uint i = 0;
const char* result = 0;
diff --git a/src/corelib/kernel/qcorecmdlineargs_p.h b/src/corelib/kernel/qcorecmdlineargs_p.h
index c0dd813..a012b4e 100644
--- a/src/corelib/kernel/qcorecmdlineargs_p.h
+++ b/src/corelib/kernel/qcorecmdlineargs_p.h
@@ -135,9 +135,9 @@ static inline QStringList qWinCmdArgs(QString cmdLine) // not const-ref: this mi
QStringList args;
int argc = 0;
- QVector<ushort*> argv = qWinCmdLine<ushort>((ushort*)cmdLine.utf16(), cmdLine.length(), argc);
+ QVector<wchar_t*> argv = qWinCmdLine<wchar_t>((wchar_t *)cmdLine.utf16(), cmdLine.length(), argc);
for (int a = 0; a < argc; ++a) {
- args << QString::fromUtf16(argv[a]);
+ args << QString::fromWCharArray(argv[a]);
}
return args;
@@ -147,10 +147,7 @@ static inline QStringList qCmdLineArgs(int argc, char *argv[])
{
Q_UNUSED(argc)
Q_UNUSED(argv)
- QString cmdLine = QT_WA_INLINE(
- QString::fromUtf16((unsigned short*)GetCommandLineW()),
- QString::fromLocal8Bit(GetCommandLineA())
- );
+ QString cmdLine = QString::fromWCharArray(GetCommandLine());
return qWinCmdArgs(cmdLine);
}
diff --git a/src/corelib/kernel/qcoreevent.cpp b/src/corelib/kernel/qcoreevent.cpp
index 0ffd6f7..72bad5f 100644
--- a/src/corelib/kernel/qcoreevent.cpp
+++ b/src/corelib/kernel/qcoreevent.cpp
@@ -221,14 +221,13 @@ QT_BEGIN_NAMESPACE
\value WindowStateChange The \l{QWidget::windowState()}{window's state} (minimized, maximized or full-screen) has changed (QWindowStateChangeEvent).
\value WindowTitleChange The window title has changed.
\value WindowUnblocked The window is unblocked after a modal dialog exited.
+ \value Wrapped The event is a wrapper for, i.e., contains, another event (QWrappedEvent).
\value ZOrderChange The widget's z-order has changed. This event is never sent to top level windows.
\value KeyboardLayoutChange The keyboard layout has changed.
\value DynamicPropertyChange A dynamic property was added, changed or removed from the object.
\value TouchBegin Beginning of a sequence of touch-screen and/or track-pad events (QTouchEvent)
\value TouchUpdate Touch-screen event (QTouchEvent)
\value TouchEnd End of touch-event sequence (QTouchEvent)
- \value Gesture A gesture has occured.
- \value GraphicsSceneGesture A gesture has occured on a graphics scene.
User events should have values between \c User and \c{MaxUser}:
@@ -271,9 +270,9 @@ QT_BEGIN_NAMESPACE
\omitvalue NetworkReplyUpdated
\omitvalue FutureCallOut
\omitvalue CocoaRequestModal
- \omitvalue Wrapped
\omitvalue Signal
\omitvalue SymbianDeferredFocusChanged
+ \omitvalue NativeGesture
*/
/*!
diff --git a/src/corelib/kernel/qcoreevent.h b/src/corelib/kernel/qcoreevent.h
index efa9fd3..42e3d24 100644
--- a/src/corelib/kernel/qcoreevent.h
+++ b/src/corelib/kernel/qcoreevent.h
@@ -276,8 +276,7 @@ public:
TouchUpdate = 195,
TouchEnd = 196,
- Gesture = 197,
- GraphicsSceneGesture = 198,
+ NativeGesture = 197, // Internal for platform gesture support
RequestSoftwareInputPanel = 199,
CloseSoftwareInputPanel = 200,
diff --git a/src/corelib/kernel/qeventdispatcher_glib.cpp b/src/corelib/kernel/qeventdispatcher_glib.cpp
index 7610631..2bbe560 100644
--- a/src/corelib/kernel/qeventdispatcher_glib.cpp
+++ b/src/corelib/kernel/qeventdispatcher_glib.cpp
@@ -263,6 +263,7 @@ QEventDispatcherGlibPrivate::QEventDispatcherGlibPrivate(GMainContext *context)
(void) new (&timerSource->timerList) QTimerInfoList();
timerSource->processEventsFlags = QEventLoop::AllEvents;
g_source_set_can_recurse(&timerSource->source, true);
+ g_source_set_priority(&timerSource->source, G_PRIORITY_DEFAULT_IDLE);
g_source_attach(&timerSource->source, mainContext);
}
diff --git a/src/corelib/kernel/qeventdispatcher_glib_p.h b/src/corelib/kernel/qeventdispatcher_glib_p.h
index bcb655b..80ec9fa 100644
--- a/src/corelib/kernel/qeventdispatcher_glib_p.h
+++ b/src/corelib/kernel/qeventdispatcher_glib_p.h
@@ -67,7 +67,7 @@ class QEventDispatcherGlibPrivate;
class Q_CORE_EXPORT QEventDispatcherGlib : public QAbstractEventDispatcher
{
Q_OBJECT
- Q_DECLARE_SCOPED_PRIVATE(QEventDispatcherGlib)
+ Q_DECLARE_PRIVATE(QEventDispatcherGlib)
public:
explicit QEventDispatcherGlib(QObject *parent = 0);
diff --git a/src/corelib/kernel/qeventdispatcher_symbian.cpp b/src/corelib/kernel/qeventdispatcher_symbian.cpp
index e876843..02edfb0 100644
--- a/src/corelib/kernel/qeventdispatcher_symbian.cpp
+++ b/src/corelib/kernel/qeventdispatcher_symbian.cpp
@@ -1,9 +1,9 @@
/****************************************************************************
**
-** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
-** This file is part of the $MODULE$ of the Qt Toolkit.
+** This file is part of the QtCore of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/src/corelib/kernel/qeventdispatcher_symbian_p.h b/src/corelib/kernel/qeventdispatcher_symbian_p.h
index 310d74d..28fee9e 100644
--- a/src/corelib/kernel/qeventdispatcher_symbian_p.h
+++ b/src/corelib/kernel/qeventdispatcher_symbian_p.h
@@ -1,9 +1,9 @@
/****************************************************************************
**
-** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
-** This file is part of the $MODULE$ of the Qt Toolkit.
+** This file is part of the QtCore of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
@@ -184,7 +184,7 @@ private:
class QSelectThread : public QThread
{
- Q_DECLARE_SCOPED_PRIVATE(QThread)
+ Q_DECLARE_PRIVATE(QThread)
public:
QSelectThread();
@@ -218,7 +218,7 @@ public: // from CActiveScheduler
class Q_CORE_EXPORT QEventDispatcherSymbian : public QAbstractEventDispatcher
{
- Q_DECLARE_SCOPED_PRIVATE(QAbstractEventDispatcher)
+ Q_DECLARE_PRIVATE(QAbstractEventDispatcher)
public:
QEventDispatcherSymbian(QObject *parent = 0);
diff --git a/src/corelib/kernel/qeventdispatcher_unix.cpp b/src/corelib/kernel/qeventdispatcher_unix.cpp
index 67f2cd0..78a2b0b 100644
--- a/src/corelib/kernel/qeventdispatcher_unix.cpp
+++ b/src/corelib/kernel/qeventdispatcher_unix.cpp
@@ -49,11 +49,22 @@
#include "qeventdispatcher_unix_p.h"
#include <private/qthread_p.h>
#include <private/qcoreapplication_p.h>
+#include <private/qcore_unix_p.h>
#include <errno.h>
#include <stdio.h>
#include <stdlib.h>
+// VxWorks doesn't correctly set the _POSIX_... options
+#if defined(Q_OS_VXWORKS)
+# if defined(_POSIX_MONOTONIC_CLOCK) && (_POSIX_MONOTONIC_CLOCK <= 0)
+# undef _POSIX_MONOTONIC_CLOCK
+# define _POSIX_MONOTONIC_CLOCK 1
+# endif
+# include <pipeDrv.h>
+# include <selectLib.h>
+#endif
+
#if (_POSIX_MONOTONIC_CLOCK-0 <= 0) || defined(QT_BOOTSTRAPPED)
# include <sys/times.h>
#endif
@@ -76,6 +87,7 @@ static void signalHandler(int sig)
}
+#if defined(Q_OS_INTEGRITY) || defined(Q_OS_VXWORKS)
static void initThreadPipeFD(int fd)
{
int ret = fcntl(fd, F_SETFD, FD_CLOEXEC);
@@ -90,25 +102,52 @@ static void initThreadPipeFD(int fd)
if (ret == -1)
perror("QEventDispatcherUNIXPrivate: Unable to set flags on thread pipe");
}
-
+#endif
QEventDispatcherUNIXPrivate::QEventDispatcherUNIXPrivate()
{
extern Qt::HANDLE qt_application_thread_id;
mainThread = (QThread::currentThreadId() == qt_application_thread_id);
+ bool pipefail = false;
// initialize the common parts of the event loop
-#ifdef Q_OS_INTEGRITY
+#if defined(Q_OS_INTEGRITY)
// INTEGRITY doesn't like a "select" on pipes, so use socketpair instead
- if (socketpair(AF_INET, SOCK_STREAM, PF_INET, thread_pipe) == -1)
+ if (socketpair(AF_INET, SOCK_STREAM, PF_INET, thread_pipe) == -1) {
perror("QEventDispatcherUNIXPrivate(): Unable to create socket pair");
+ pipefail = true;
+ } else {
+ initThreadPipeFD(thread_pipe[0]);
+ initThreadPipeFD(thread_pipe[1]);
+ }
+#elif defined(Q_OS_VXWORKS)
+ char name[20];
+ qsnprintf(name, sizeof(name), "/pipe/qt_%08x", int(taskIdCurrent));
+
+ // make sure there is no pipe with this name
+ pipeDevDelete(name, true);
+ // create the pipe
+ if (pipeDevCreate(name, 128 /*maxMsg*/, 1 /*maxLength*/) != OK) {
+ perror("QEventDispatcherUNIXPrivate(): Unable to create thread pipe device");
+ pipefail = true;
+ } else {
+ if ((thread_pipe[0] = open(name, O_RDWR, 0)) < 0) {
+ perror("QEventDispatcherUNIXPrivate(): Unable to create thread pipe");
+ pipefail = true;
+ } else {
+ initThreadPipeFD(thread_pipe[0]);
+ thread_pipe[1] = thread_pipe[0];
+ }
+ }
#else
- if (pipe(thread_pipe) == -1)
+ if (qt_safe_pipe(thread_pipe, O_NONBLOCK) == -1) {
perror("QEventDispatcherUNIXPrivate(): Unable to create thread pipe");
+ pipefail = true;
+ }
#endif
- initThreadPipeFD(thread_pipe[0]);
- initThreadPipeFD(thread_pipe[1]);
+ if (pipefail)
+ qFatal("QEventDispatcherUNIXPrivate(): Can not continue without a thread pipe");
sn_highest = -1;
@@ -117,9 +156,18 @@ QEventDispatcherUNIXPrivate::QEventDispatcherUNIXPrivate()
QEventDispatcherUNIXPrivate::~QEventDispatcherUNIXPrivate()
{
+#if defined(Q_OS_VXWORKS)
+ close(thread_pipe[0]);
+
+ char name[20];
+ qsnprintf(name, sizeof(name), "/pipe/qt_%08x", int(taskIdCurrent));
+
+ pipeDevDelete(name, true);
+#else
// cleanup the common parts of the event loop
close(thread_pipe[0]);
close(thread_pipe[1]);
+#endif
// cleanup timers
qDeleteAll(timerList);
@@ -224,9 +272,15 @@ int QEventDispatcherUNIXPrivate::doSelect(QEventLoop::ProcessEventsFlags flags,
// select doesn't immediately return next time
int nevents = 0;
if (nsel > 0 && FD_ISSET(thread_pipe[0], &sn_vec[0].select_fds)) {
+#if defined(Q_OS_VXWORKS)
+ char c[16];
+ ::read(thread_pipe[0], c, sizeof(c));
+ ::ioctl(thread_pipe[0], FIOFLUSH, 0);
+#else
char c[16];
while (::read(thread_pipe[0], c, sizeof(c)) > 0)
;
+#endif
if (!wakeUps.testAndSetRelease(1, 0)) {
// hopefully, this is dead code
qWarning("QEventDispatcherUNIX: internal error, wakeUps.testAndSetRelease(1, 0) failed!");
@@ -257,18 +311,10 @@ int QEventDispatcherUNIXPrivate::doSelect(QEventLoop::ProcessEventsFlags flags,
QTimerInfoList::QTimerInfoList()
{
-#if (_POSIX_MONOTONIC_CLOCK-0 <= 0)
- useMonotonicTimers = false;
-
-# if (_POSIX_MONOTONIC_CLOCK == 0)
- // detect if the system support monotonic timers
- long x = sysconf(_SC_MONOTONIC_CLOCK);
- useMonotonicTimers = x != -1;
-# endif
+ currentTime = qt_gettime();
- getTime(currentTime);
-
- if (!useMonotonicTimers) {
+#if (_POSIX_MONOTONIC_CLOCK-0 <= 0) && !defined(Q_OS_MAC)
+ if (!qt_gettime_is_monotonic()) {
// not using monotonic timers, initialize the timeChanged() machinery
previousTime = currentTime;
@@ -284,9 +330,6 @@ QTimerInfoList::QTimerInfoList()
ticksPerSecond = 0;
msPerTick = 0;
}
-#else
- // using monotonic timers unconditionally
- getTime(currentTime);
#endif
firstTimerInfo = currentTimerInfo = 0;
@@ -294,11 +337,24 @@ QTimerInfoList::QTimerInfoList()
timeval QTimerInfoList::updateCurrentTime()
{
- getTime(currentTime);
- return currentTime;
+ return (currentTime = qt_gettime());
}
-#if (_POSIX_MONOTONIC_CLOCK-0 <= 0) || defined(QT_BOOTSTRAPPED)
+#if ((_POSIX_MONOTONIC_CLOCK-0 <= 0) && !defined(Q_OS_MAC)) || defined(QT_BOOTSTRAPPED)
+
+template <>
+timeval qAbs(const timeval &t)
+{
+ timeval tmp = t;
+ if (tmp.tv_sec < 0) {
+ tmp.tv_sec = -tmp.tv_sec - 1;
+ tmp.tv_usec -= 1000000;
+ }
+ if (tmp.tv_sec == 0 && tmp.tv_usec < 0) {
+ tmp.tv_usec = -tmp.tv_usec;
+ }
+ return normalizedTimeval(tmp);
+}
/*
Returns true if the real time clock has changed by more than 10%
@@ -309,60 +365,35 @@ timeval QTimerInfoList::updateCurrentTime()
*/
bool QTimerInfoList::timeChanged(timeval *delta)
{
- tms unused;
+ struct tms unused;
clock_t currentTicks = times(&unused);
- int elapsedTicks = currentTicks - previousTicks;
+ clock_t elapsedTicks = currentTicks - previousTicks;
timeval elapsedTime = currentTime - previousTime;
- int elapsedMsecTicks = (elapsedTicks * 1000) / ticksPerSecond;
- int deltaMsecs = (elapsedTime.tv_sec * 1000 + elapsedTime.tv_usec / 1000)
- - elapsedMsecTicks;
- if (delta) {
- delta->tv_sec = deltaMsecs / 1000;
- delta->tv_usec = (deltaMsecs % 1000) * 1000;
- }
+ timeval elapsedTimeTicks;
+ elapsedTimeTicks.tv_sec = elapsedTicks / ticksPerSecond;
+ elapsedTimeTicks.tv_usec = (((elapsedTicks * 1000) / ticksPerSecond) % 1000) * 1000;
+
+ timeval dummy;
+ if (!delta)
+ delta = &dummy;
+ *delta = elapsedTime - elapsedTimeTicks;
+
previousTicks = currentTicks;
previousTime = currentTime;
// If tick drift is more than 10% off compared to realtime, we assume that the clock has
// been set. Of course, we have to allow for the tick granularity as well.
-
- return (qAbs(deltaMsecs) - msPerTick) * 10 > elapsedMsecTicks;
-}
-
-void QTimerInfoList::getTime(timeval &t)
-{
-#if !defined(QT_NO_CLOCK_MONOTONIC) && !defined(QT_BOOTSTRAPPED)
- if (useMonotonicTimers) {
- timespec ts;
- clock_gettime(CLOCK_MONOTONIC, &ts);
- t.tv_sec = ts.tv_sec;
- t.tv_usec = ts.tv_nsec / 1000;
- return;
- }
-#endif
-
- gettimeofday(&t, 0);
- // NTP-related fix
- while (t.tv_usec >= 1000000l) {
- t.tv_usec -= 1000000l;
- ++t.tv_sec;
- }
- while (t.tv_usec < 0l) {
- if (t.tv_sec > 0l) {
- t.tv_usec += 1000000l;
- --t.tv_sec;
- } else {
- t.tv_usec = 0l;
- break;
- }
- }
+ timeval tickGranularity;
+ tickGranularity.tv_sec = 0;
+ tickGranularity.tv_usec = msPerTick * 1000;
+ return elapsedTimeTicks < ((qAbs(*delta) - tickGranularity) * 10);
}
void QTimerInfoList::repairTimersIfNeeded()
{
- if (useMonotonicTimers)
+ if (qt_gettime_is_monotonic())
return;
timeval delta;
if (timeChanged(&delta))
@@ -371,14 +402,6 @@ void QTimerInfoList::repairTimersIfNeeded()
#else // !(_POSIX_MONOTONIC_CLOCK-0 <= 0) && !defined(QT_BOOTSTRAPPED)
-void QTimerInfoList::getTime(timeval &t)
-{
- timespec ts;
- clock_gettime(CLOCK_MONOTONIC, &ts);
- t.tv_sec = ts.tv_sec;
- t.tv_usec = ts.tv_nsec / 1000;
-}
-
void QTimerInfoList::repairTimersIfNeeded()
{
}
@@ -407,7 +430,7 @@ void QTimerInfoList::timerRepair(const timeval &diff)
// repair all timers
for (int i = 0; i < size(); ++i) {
register QTimerInfo *t = at(i);
- t->timeout = t->timeout - diff;
+ t->timeout = t->timeout + diff;
}
}
@@ -607,25 +630,7 @@ QEventDispatcherUNIX::~QEventDispatcherUNIX()
int QEventDispatcherUNIX::select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds,
timeval *timeout)
{
- Q_D(QEventDispatcherUNIX);
- if (timeout) {
- // handle the case where select returns with a timeout, too
- // soon.
- timeval tvStart = d->timerList.currentTime;
- timeval tvCurrent = tvStart;
- timeval originalTimeout = *timeout;
-
- int nsel;
- do {
- timeval tvRest = originalTimeout + tvStart - tvCurrent;
- nsel = ::select(nfds, readfds, writefds, exceptfds, &tvRest);
- d->timerList.getTime(tvCurrent);
- } while (nsel == 0 && (tvCurrent - tvStart) < originalTimeout);
-
- return nsel;
- }
-
- return ::select(nfds, readfds, writefds, exceptfds, timeout);
+ return ::qt_safe_select(nfds, readfds, writefds, exceptfds, timeout);
}
/*!
diff --git a/src/corelib/kernel/qeventdispatcher_unix_p.h b/src/corelib/kernel/qeventdispatcher_unix_p.h
index c52965a..a52af00 100644
--- a/src/corelib/kernel/qeventdispatcher_unix_p.h
+++ b/src/corelib/kernel/qeventdispatcher_unix_p.h
@@ -56,55 +56,20 @@
#include "QtCore/qabstracteventdispatcher.h"
#include "QtCore/qlist.h"
#include "private/qabstracteventdispatcher_p.h"
+#include "private/qcore_unix_p.h"
#include "private/qpodlist_p.h"
#include "QtCore/qvarlengtharray.h"
-#include <sys/types.h>
-#include <sys/time.h>
-#if !defined(Q_OS_HPUX) || defined(__ia64)
-#include <sys/select.h>
+#if defined(Q_OS_VXWORKS)
+# include <sys/times.h>
+#else
+# include <sys/time.h>
+# if !defined(Q_OS_HPUX) || defined(__ia64)
+# include <sys/select.h>
+# endif
#endif
-#include <unistd.h>
QT_BEGIN_NAMESPACE
-#if !defined(_POSIX_MONOTONIC_CLOCK)
-# define _POSIX_MONOTONIC_CLOCK -1
-#endif
-
-// Internal operator functions for timevals
-inline bool operator<(const timeval &t1, const timeval &t2)
-{ return t1.tv_sec < t2.tv_sec || (t1.tv_sec == t2.tv_sec && t1.tv_usec < t2.tv_usec); }
-inline bool operator==(const timeval &t1, const timeval &t2)
-{ return t1.tv_sec == t2.tv_sec && t1.tv_usec == t2.tv_usec; }
-inline timeval &operator+=(timeval &t1, const timeval &t2)
-{
- t1.tv_sec += t2.tv_sec;
- if ((t1.tv_usec += t2.tv_usec) >= 1000000l) {
- ++t1.tv_sec;
- t1.tv_usec -= 1000000l;
- }
- return t1;
-}
-inline timeval operator+(const timeval &t1, const timeval &t2)
-{
- timeval tmp;
- tmp.tv_sec = t1.tv_sec + t2.tv_sec;
- if ((tmp.tv_usec = t1.tv_usec + t2.tv_usec) >= 1000000l) {
- ++tmp.tv_sec;
- tmp.tv_usec -= 1000000l;
- }
- return tmp;
-}
-inline timeval operator-(const timeval &t1, const timeval &t2)
-{
- timeval tmp;
- tmp.tv_sec = t1.tv_sec - t2.tv_sec;
- if ((tmp.tv_usec = t1.tv_usec - t2.tv_usec) < 0l) {
- --tmp.tv_sec;
- tmp.tv_usec += 1000000l;
- }
- return tmp;
-}
// internal timer info
struct QTimerInfo {
@@ -117,9 +82,7 @@ struct QTimerInfo {
class QTimerInfoList : public QList<QTimerInfo*>
{
-#if (_POSIX_MONOTONIC_CLOCK-0 <= 0) || defined(QT_BOOTSTRAPPED)
- bool useMonotonicTimers;
-
+#if ((_POSIX_MONOTONIC_CLOCK-0 <= 0) && !defined(Q_OS_MAC)) || defined(QT_BOOTSTRAPPED)
timeval previousTime;
clock_t previousTicks;
int ticksPerSecond;
@@ -134,8 +97,6 @@ class QTimerInfoList : public QList<QTimerInfo*>
public:
QTimerInfoList();
- void getTime(timeval &t);
-
timeval currentTime;
timeval updateCurrentTime();
@@ -181,7 +142,7 @@ class QEventDispatcherUNIXPrivate;
class Q_CORE_EXPORT QEventDispatcherUNIX : public QAbstractEventDispatcher
{
Q_OBJECT
- Q_DECLARE_SCOPED_PRIVATE(QEventDispatcherUNIX)
+ Q_DECLARE_PRIVATE(QEventDispatcherUNIX)
public:
explicit QEventDispatcherUNIX(QObject *parent = 0);
diff --git a/src/corelib/kernel/qeventdispatcher_win.cpp b/src/corelib/kernel/qeventdispatcher_win.cpp
index cb1549c..33b66f5 100644
--- a/src/corelib/kernel/qeventdispatcher_win.cpp
+++ b/src/corelib/kernel/qeventdispatcher_win.cpp
@@ -355,8 +355,7 @@ QEventDispatcherWin32Private::QEventDispatcherWin32Private()
{
resolveTimerAPI();
- wakeUpNotifier.setHandle(QT_WA_INLINE(CreateEventW(0, FALSE, FALSE, 0),
- CreateEventA(0, FALSE, FALSE, 0)));
+ wakeUpNotifier.setHandle(CreateEvent(0, FALSE, FALSE, 0));
if (!wakeUpNotifier.handle())
qWarning("QEventDispatcher: Creating QEventDispatcherWin32Private wakeup event failed");
}
@@ -367,13 +366,8 @@ QEventDispatcherWin32Private::~QEventDispatcherWin32Private()
CloseHandle(wakeUpNotifier.handle());
if (internalHwnd)
DestroyWindow(internalHwnd);
- QByteArray className = "QEventDispatcherWin32_Internal_Widget" + QByteArray::number(quintptr(qt_internal_proc));
-#if !defined(Q_OS_WINCE)
- UnregisterClassA(className.constData(), qWinAppInst());
-#else
- UnregisterClassW(reinterpret_cast<const wchar_t *> (QString::fromLatin1(className.constData()).utf16())
- , qWinAppInst());
-#endif
+ QString className = QLatin1String("QEventDispatcherWin32_Internal_Widget") + QString::number(quintptr(qt_internal_proc));
+ UnregisterClass((wchar_t*)className.utf16(), qWinAppInst());
}
void QEventDispatcherWin32Private::activateEventNotifier(QWinEventNotifier * wen)
@@ -382,18 +376,24 @@ void QEventDispatcherWin32Private::activateEventNotifier(QWinEventNotifier * wen
QCoreApplication::sendEvent(wen, &event);
}
-
+// ### Qt 5: remove
Q_CORE_EXPORT bool winPeekMessage(MSG* msg, HWND hWnd, UINT wMsgFilterMin,
UINT wMsgFilterMax, UINT wRemoveMsg)
{
- QT_WA({ return PeekMessage(msg, hWnd, wMsgFilterMin, wMsgFilterMax, wRemoveMsg); } ,
- { return PeekMessageA(msg, hWnd, wMsgFilterMin, wMsgFilterMax, wRemoveMsg); });
+ return PeekMessage(msg, hWnd, wMsgFilterMin, wMsgFilterMax, wRemoveMsg);
}
+// ### Qt 5: remove
Q_CORE_EXPORT bool winPostMessage(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
- QT_WA({ return PostMessage(hWnd, msg, wParam, lParam); } ,
- { return PostMessageA(hWnd, msg, wParam, lParam); });
+ return PostMessage(hWnd, msg, wParam, lParam);
+}
+
+// ### Qt 5: remove
+Q_CORE_EXPORT bool winGetMessage(MSG* msg, HWND hWnd, UINT wMsgFilterMin,
+ UINT wMsgFilterMax)
+{
+ return GetMessage(msg, hWnd, wMsgFilterMin, wMsgFilterMax);
}
// This function is called by a workerthread
@@ -443,10 +443,10 @@ LRESULT CALLBACK qt_internal_proc(HWND hwnd, UINT message, WPARAM wp, LPARAM lp)
#ifdef GWLP_USERDATA
QEventDispatcherWin32 *eventDispatcher =
- (QEventDispatcherWin32 *) GetWindowLongPtrA(hwnd, GWLP_USERDATA);
+ (QEventDispatcherWin32 *) GetWindowLongPtr(hwnd, GWLP_USERDATA);
#else
QEventDispatcherWin32 *eventDispatcher =
- (QEventDispatcherWin32 *) GetWindowLongA(hwnd, GWL_USERDATA);
+ (QEventDispatcherWin32 *) GetWindowLong(hwnd, GWL_USERDATA);
#endif
if (eventDispatcher) {
QEventDispatcherWin32Private *d = eventDispatcher->d_func();
@@ -494,54 +494,35 @@ LRESULT CALLBACK qt_internal_proc(HWND hwnd, UINT message, WPARAM wp, LPARAM lp)
static HWND qt_create_internal_window(const QEventDispatcherWin32 *eventDispatcher)
{
- HINSTANCE hi = qWinAppInst();
-#if defined(Q_OS_WINCE)
+ // make sure that multiple Qt's can coexist in the same process
+ QString className = QLatin1String("QEventDispatcherWin32_Internal_Widget") + QString::number(quintptr(qt_internal_proc));
+
WNDCLASS wc;
-#else
- WNDCLASSA wc;
-#endif
wc.style = 0;
wc.lpfnWndProc = qt_internal_proc;
wc.cbClsExtra = 0;
wc.cbWndExtra = 0;
- wc.hInstance = hi;
+ wc.hInstance = qWinAppInst();
wc.hIcon = 0;
wc.hCursor = 0;
wc.hbrBackground = 0;
wc.lpszMenuName = NULL;
+ wc.lpszClassName = reinterpret_cast<const wchar_t *> (className.utf16());
- // make sure that multiple Qt's can coexist in the same process
- QByteArray className = "QEventDispatcherWin32_Internal_Widget" + QByteArray::number(quintptr(qt_internal_proc));
-#if defined(Q_OS_WINCE)
- QString tmp = QString::fromLatin1(className.data());
- wc.lpszClassName = reinterpret_cast<const wchar_t *> (tmp.utf16());
RegisterClass(&wc);
HWND wnd = CreateWindow(wc.lpszClassName, // classname
- wc.lpszClassName, // window name
- 0, // style
- 0, 0, 0, 0, // geometry
- 0, // parent
- 0, // menu handle
- hi, // application
- 0); // windows creation data.
-#else
- wc.lpszClassName = className.constData();
- RegisterClassA(&wc);
- HWND wnd = CreateWindowA(wc.lpszClassName, // classname
- wc.lpszClassName, // window name
- 0, // style
- 0, 0, 0, 0, // geometry
- 0, // parent
- 0, // menu handle
- hi, // application
- 0); // windows creation data.
-#endif
-
+ wc.lpszClassName, // window name
+ 0, // style
+ 0, 0, 0, 0, // geometry
+ 0, // parent
+ 0, // menu handle
+ qWinAppInst(), // application
+ 0); // windows creation data.
#ifdef GWLP_USERDATA
- SetWindowLongPtrA(wnd, GWLP_USERDATA, (LONG_PTR)eventDispatcher);
+ SetWindowLongPtr(wnd, GWLP_USERDATA, (LONG_PTR)eventDispatcher);
#else
- SetWindowLongA(wnd, GWL_USERDATA, (LONG)eventDispatcher);
+ SetWindowLong(wnd, GWL_USERDATA, (LONG)eventDispatcher);
#endif
if (!wnd) {
@@ -690,7 +671,7 @@ bool QEventDispatcherWin32::processEvents(QEventLoop::ProcessEventsFlags flags)
haveMessage = true;
msg = d->queuedSocketEvents.takeFirst();
} else {
- haveMessage = winPeekMessage(&msg, 0, 0, 0, PM_REMOVE);
+ haveMessage = PeekMessage(&msg, 0, 0, 0, PM_REMOVE);
if (haveMessage && (flags & QEventLoop::ExcludeUserInputEvents)
&& ((msg.message >= WM_KEYFIRST
&& msg.message <= WM_KEYLAST)
@@ -738,11 +719,7 @@ bool QEventDispatcherWin32::processEvents(QEventLoop::ProcessEventsFlags flags)
if (!filterEvent(&msg)) {
TranslateMessage(&msg);
- QT_WA({
- DispatchMessage(&msg);
- } , {
- DispatchMessageA(&msg);
- });
+ DispatchMessage(&msg);
}
} else if (waitRet >= WAIT_OBJECT_0 && waitRet < WAIT_OBJECT_0 + nCount) {
d->activateEventNotifier(d->winEventNotifierList.at(waitRet - WAIT_OBJECT_0));
@@ -781,7 +758,7 @@ bool QEventDispatcherWin32::processEvents(QEventLoop::ProcessEventsFlags flags)
bool QEventDispatcherWin32::hasPendingEvents()
{
MSG msg;
- return qGlobalPostedEventsCount() || winPeekMessage(&msg, NULL, 0, 0, PM_NOREMOVE);
+ return qGlobalPostedEventsCount() || PeekMessage(&msg, NULL, 0, 0, PM_NOREMOVE);
}
void QEventDispatcherWin32::registerSocketNotifier(QSocketNotifier *notifier)
diff --git a/src/corelib/kernel/qeventdispatcher_win_p.h b/src/corelib/kernel/qeventdispatcher_win_p.h
index 37578a0..ca5dbf8 100644
--- a/src/corelib/kernel/qeventdispatcher_win_p.h
+++ b/src/corelib/kernel/qeventdispatcher_win_p.h
@@ -67,7 +67,7 @@ LRESULT CALLBACK qt_internal_proc(HWND hwnd, UINT message, WPARAM wp, LPARAM lp)
class Q_CORE_EXPORT QEventDispatcherWin32 : public QAbstractEventDispatcher
{
Q_OBJECT
- Q_DECLARE_SCOPED_PRIVATE(QEventDispatcherWin32)
+ Q_DECLARE_PRIVATE(QEventDispatcherWin32)
void createInternalHwnd();
friend class QGuiEventDispatcherWin32;
diff --git a/src/corelib/kernel/qeventloop.h b/src/corelib/kernel/qeventloop.h
index e14e352..60d00df 100644
--- a/src/corelib/kernel/qeventloop.h
+++ b/src/corelib/kernel/qeventloop.h
@@ -55,7 +55,7 @@ class QEventLoopPrivate;
class Q_CORE_EXPORT QEventLoop : public QObject
{
Q_OBJECT
- Q_DECLARE_SCOPED_PRIVATE(QEventLoop)
+ Q_DECLARE_PRIVATE(QEventLoop)
public:
explicit QEventLoop(QObject *parent = 0);
diff --git a/src/corelib/kernel/qfunctions_p.h b/src/corelib/kernel/qfunctions_p.h
index a7f2f9d..ad44a15 100644
--- a/src/corelib/kernel/qfunctions_p.h
+++ b/src/corelib/kernel/qfunctions_p.h
@@ -57,6 +57,8 @@
#if defined(Q_OS_WINCE)
# include "QtCore/qfunctions_wince.h"
+#elif defined(Q_OS_VXWORKS)
+# include "QtCore/qfunctions_vxworks.h"
#endif
#ifdef Q_CC_RVCT
diff --git a/src/corelib/kernel/qfunctions_vxworks.cpp b/src/corelib/kernel/qfunctions_vxworks.cpp
new file mode 100644
index 0000000..def8f4c
--- /dev/null
+++ b/src/corelib/kernel/qfunctions_vxworks.cpp
@@ -0,0 +1,202 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtCore module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "qglobal.h"
+
+#ifdef Q_OS_VXWORKS
+
+#include "qplatformdefs.h"
+#include "qfunctions_vxworks.h"
+
+#include <vmLib.h>
+#include <selectLib.h>
+#include <ioLib.h>
+
+QT_USE_NAMESPACE
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+// no lfind() - used by the TIF image format
+void *lfind(const void* key, const void* base, size_t* elements, size_t size,
+ int (*compare)(const void*, const void*))
+{
+ const char* current = (char*) base;
+ const char* const end = (char*) (current + (*elements) * size);
+ while (current != end) {
+ if (compare(current, key) == 0)
+ return (void*)current;
+ current += size;
+ }
+ return 0;
+}
+
+
+// no rand_r(), but rand()
+// NOTE: this implementation is wrong for multi threaded applications,
+// but there is no way to get it right on VxWorks (in kernel mode)
+int rand_r(unsigned int * /*seedp*/)
+{
+ return rand();
+}
+
+// no usleep() support
+int usleep(unsigned int usec)
+{
+ div_t dt = div(usec, 1000000);
+ struct timespec ts = { dt.quot, dt.rem * 1000 };
+
+ return nanosleep(&ts, 0);
+}
+
+
+// gettimeofday() is declared, but is missing from the library
+// It IS however defined in the Curtis-Wright X11 libraries, so
+// we have to make the symbol 'weak'
+#if defined(Q_CC_DIAB)
+# pragma weak gettimeofday
+#endif
+int gettimeofday(struct timeval *tv, void /*struct timezone*/ *)
+{
+ // the compiler will optimize this and will only use one code path
+ if (sizeof(struct timeval) == sizeof(struct timespec)) {
+ int res = clock_gettime(CLOCK_REALTIME, (struct timespec *) tv);
+ if (!res)
+ tv->tv_usec /= 1000;
+ return res;
+ } else {
+ struct timespec ts;
+
+ int res = clock_gettime(CLOCK_REALTIME, &ts);
+ if (!res) {
+ tv->tv_sec = ts.tv_sec;
+ tv->tv_usec = ts.tv_nsec / 1000;
+ }
+ return res;
+ }
+}
+
+// neither getpagesize() or sysconf(_SC_PAGESIZE) are available
+int getpagesize()
+{
+ return vmPageSizeGet();
+}
+
+// symlinks are not supported (lstat is now just a call to stat - see qplatformdefs.h)
+int symlink(const char *, const char *)
+{
+ errno = EIO;
+ return -1;
+}
+
+ssize_t readlink(const char *, char *, size_t)
+{
+ errno = EIO;
+ return -1;
+}
+
+// there's no truncate(), but ftruncate() support...
+int truncate(const char *path, off_t length)
+{
+ int fd = open(path, O_WRONLY, 00777);
+ if (fd >= 0) {
+ int res = ftruncate(fd, length);
+ int en = errno;
+ close(fd);
+ errno = en;
+ return res;
+ }
+ // errno is already set by open
+ return -1;
+}
+
+
+
+// VxWorks doesn't know about passwd & friends.
+// in order to avoid patching the unix fs path everywhere
+// we introduce some dummy functions that simulate a single
+// 'root' user on the system.
+
+uid_t getuid()
+{
+ return 0;
+}
+
+gid_t getgid()
+{
+ return 0;
+}
+
+uid_t geteuid()
+{
+ return 0;
+}
+
+struct passwd *getpwuid(uid_t uid)
+{
+ static struct passwd pwbuf = { "root", 0, 0, 0, 0, 0, 0 };
+
+ if (uid == 0) {
+ return &pwbuf;
+ } else {
+ errno = ENOENT;
+ return 0;
+ }
+}
+
+struct group *getgrgid(gid_t gid)
+{
+ static struct group grbuf = { "root", 0, 0, 0 };
+
+ if (gid == 0) {
+ return &grbuf;
+ } else {
+ errno = ENOENT;
+ return 0;
+ }
+}
+
+#ifdef __cplusplus
+} // extern "C"
+#endif
+
+#endif // Q_OS_VXWORKS
diff --git a/src/corelib/kernel/qfunctions_vxworks.h b/src/corelib/kernel/qfunctions_vxworks.h
new file mode 100644
index 0000000..e31d495
--- /dev/null
+++ b/src/corelib/kernel/qfunctions_vxworks.h
@@ -0,0 +1,153 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtCore module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QFUNCTIONS_VXWORKS_H
+#define QFUNCTIONS_VXWORKS_H
+#ifdef Q_OS_VXWORKS
+
+#include <unistd.h>
+#include <pthread.h>
+#include <dirent.h>
+#include <signal.h>
+#include <string.h>
+#include <strings.h>
+#include <errno.h>
+#include <sys/types.h>
+#include <sys/ioctl.h>
+#include <sys/times.h>
+#include <sys/socket.h>
+#include <sys/stat.h>
+#include <sys/wait.h>
+#include <netinet/in.h>
+#ifndef QT_NO_IPV6IFNAME
+#include <net/if.h>
+#endif
+
+QT_BEGIN_HEADER
+QT_BEGIN_NAMESPACE
+
+#ifdef QT_BUILD_CORE_LIB
+QT_MODULE(Core)
+#endif
+
+QT_END_NAMESPACE
+QT_END_HEADER
+
+
+#ifndef RTLD_LOCAL
+#define RTLD_LOCAL 0
+#endif
+
+#ifndef NSIG
+#define NSIG _NSIGS
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+// isascii is missing (sometimes!!)
+#ifndef isascii
+inline int isascii(int c) { return (c & 0x7f); }
+#endif
+
+// no lfind() - used by the TIF image format
+void *lfind(const void* key, const void* base, size_t* elements, size_t size,
+ int (*compare)(const void*, const void*));
+
+// no rand_r(), but rand()
+// NOTE: this implementation is wrong for multi threaded applications,
+// but there is no way to get it right on VxWorks (in kernel mode)
+int rand_r(unsigned int * /*seedp*/);
+
+// no usleep() support
+int usleep(unsigned int);
+
+// gettimeofday() is declared, but is missing from the library.
+// It IS however defined in the Curtis-Wright X11 libraries, so
+// we have to make the symbol 'weak'
+int gettimeofday(struct timeval *tv, void /*struct timezone*/ *) __attribute__((weak));
+
+// neither getpagesize() or sysconf(_SC_PAGESIZE) are available
+int getpagesize();
+
+// symlinks are not supported (lstat is now just a call to stat - see qplatformdefs.h)
+int symlink(const char *, const char *);
+ssize_t readlink(const char *, char *, size_t);
+
+// there's no truncate(), but ftruncate() support...
+int truncate(const char *path, off_t length);
+
+// VxWorks doesn't know about passwd & friends.
+// in order to avoid patching the unix fs path everywhere
+// we introduce some dummy functions that simulate a single
+// 'root' user on the system.
+
+uid_t getuid();
+gid_t getgid();
+uid_t geteuid();
+
+struct passwd {
+ char *pw_name; /* user name */
+ char *pw_passwd; /* user password */
+ uid_t pw_uid; /* user ID */
+ gid_t pw_gid; /* group ID */
+ char *pw_gecos; /* real name */
+ char *pw_dir; /* home directory */
+ char *pw_shell; /* shell program */
+};
+
+struct group {
+ char *gr_name; /* group name */
+ char *gr_passwd; /* group password */
+ gid_t gr_gid; /* group ID */
+ char **gr_mem; /* group members */
+};
+
+struct passwd *getpwuid(uid_t uid);
+struct group *getgrgid(gid_t gid);
+
+#ifdef __cplusplus
+} // extern "C"
+#endif
+
+#endif // Q_OS_VXWORKS
+#endif // QFUNCTIONS_VXWORKS_H
diff --git a/src/corelib/kernel/qfunctions_wince.cpp b/src/corelib/kernel/qfunctions_wince.cpp
index 2c47adb..5680ad5 100644
--- a/src/corelib/kernel/qfunctions_wince.cpp
+++ b/src/corelib/kernel/qfunctions_wince.cpp
@@ -108,7 +108,7 @@ int qt_wince__getdrive( void )
return 1;
}
-int qt_wince__waccess( const WCHAR *path, int pmode )
+int qt_wince__waccess( const wchar_t *path, int pmode )
{
DWORD res = GetFileAttributes( path );
if ( 0xFFFFFFFF == res )
@@ -118,7 +118,7 @@ int qt_wince__waccess( const WCHAR *path, int pmode )
return -1;
if ( (pmode & X_OK) && !(res & FILE_ATTRIBUTE_DIRECTORY) ) {
- QString file = QString::fromUtf16(reinterpret_cast<const ushort *> (path));
+ QString file = QString::fromWCharArray(path);
if ( !(file.endsWith(QString::fromLatin1(".exe")) ||
file.endsWith(QString::fromLatin1(".com"))) )
return -1;
@@ -130,12 +130,12 @@ int qt_wince__waccess( const WCHAR *path, int pmode )
int qt_wince_open( const char *filename, int oflag, int pmode )
{
QString fn( QString::fromLatin1(filename) );
- return _wopen( (WCHAR*)fn.utf16(), oflag, pmode );
+ return _wopen( (wchar_t*)fn.utf16(), oflag, pmode );
}
-int qt_wince__wopen( const WCHAR *filename, int oflag, int /*pmode*/ )
+int qt_wince__wopen( const wchar_t *filename, int oflag, int /*pmode*/ )
{
- WCHAR *flag;
+ wchar_t *flag;
if ( oflag & _O_APPEND ) {
if ( oflag & _O_WRONLY ) {
@@ -290,7 +290,7 @@ bool qt_wince__chmod(const char *file, int mode)
return _wchmod( reinterpret_cast<const wchar_t *> (QString::fromLatin1(file).utf16()), mode);
}
-bool qt_wince__wchmod(const WCHAR *file, int mode)
+bool qt_wince__wchmod(const wchar_t *file, int mode)
{
// ### Does not work properly, what about just adding one property?
if(mode&_S_IWRITE) {
diff --git a/src/corelib/kernel/qfunctions_wince.h b/src/corelib/kernel/qfunctions_wince.h
index 307e17b..41cb641 100644
--- a/src/corelib/kernel/qfunctions_wince.h
+++ b/src/corelib/kernel/qfunctions_wince.h
@@ -175,8 +175,8 @@ typedef int mode_t;
extern int errno;
int qt_wince__getdrive( void );
-int qt_wince__waccess( const WCHAR *path, int pmode );
-int qt_wince__wopen( const WCHAR *filename, int oflag, int pmode );
+int qt_wince__waccess( const wchar_t *path, int pmode );
+int qt_wince__wopen( const wchar_t *filename, int oflag, int pmode );
long qt_wince__lseek( int handle, long offset, int origin );
int qt_wince__read( int handle, void *buffer, unsigned int count );
int qt_wince__write( int handle, const void *buffer, unsigned int count );
@@ -204,7 +204,7 @@ int qt_wince_SetErrorMode(int);
#endif
bool qt_wince__chmod(const char *file, int mode);
-bool qt_wince__wchmod(const WCHAR *file, int mode);
+bool qt_wince__wchmod(const wchar_t *file, int mode);
#pragma warning(disable: 4273)
HANDLE qt_wince_CreateFileA(LPCSTR, DWORD, DWORD, LPSECURITY_ATTRIBUTES, DWORD, DWORD, HANDLE);
diff --git a/src/corelib/kernel/qguard_p.h b/src/corelib/kernel/qguard_p.h
new file mode 100644
index 0000000..6af01ac
--- /dev/null
+++ b/src/corelib/kernel/qguard_p.h
@@ -0,0 +1,157 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtCore module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QGUARD_P_H
+#define QGUARD_P_H
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists for the convenience
+// of qapplication_*.cpp, qwidget*.cpp and qfiledialog.cpp. This header
+// file may change from version to version without notice, or even be removed.
+//
+// We mean it.
+//
+
+#include "QtCore/qglobal.h"
+
+QT_BEGIN_NAMESPACE
+
+class QObject;
+template<class T>
+class QGuard
+{
+ QObject *o;
+ QGuard<QObject> *next;
+ QGuard<QObject> **prev;
+ friend void q_guard_addGuard(QGuard<QObject> *);
+ friend void q_guard_removeGuard(QGuard<QObject> *);
+ friend class QObjectPrivate;
+public:
+ inline QGuard();
+ inline QGuard(T *);
+ inline QGuard(const QGuard<T> &);
+ inline virtual ~QGuard();
+
+ inline QGuard<T> &operator=(const QGuard<T> &o);
+ inline QGuard<T> &operator=(T *);
+
+ inline bool isNull() const
+ { return !o; }
+
+ inline T* operator->() const
+ { return static_cast<T*>(const_cast<QObject*>(o)); }
+ inline T& operator*() const
+ { return *static_cast<T*>(const_cast<QObject*>(o)); }
+ inline operator T*() const
+ { return static_cast<T*>(const_cast<QObject*>(o)); }
+ inline T* data() const
+ { return static_cast<T*>(const_cast<QObject*>(o)); }
+
+protected:
+ virtual void objectDestroyed(T *) {}
+};
+
+QT_END_NAMESPACE
+
+#include "private/qobject_p.h"
+
+QT_BEGIN_NAMESPACE
+
+inline void q_guard_addGuard(QGuard<QObject> *);
+inline void q_guard_removeGuard(QGuard<QObject> *);
+
+template<class T>
+QGuard<T>::QGuard()
+: o(0), next(0), prev(0)
+{
+}
+
+template<class T>
+QGuard<T>::QGuard(T *g)
+: o(g), next(0), prev(0)
+{
+ if (o) q_guard_addGuard(reinterpret_cast<QGuard<QObject> *>(this));
+}
+
+template<class T>
+QGuard<T>::QGuard(const QGuard<T> &g)
+: o(g.o), next(0), prev(0)
+{
+ if (o) q_guard_addGuard(reinterpret_cast<QGuard<QObject> *>(this));
+}
+
+template<class T>
+QGuard<T>::~QGuard()
+{
+ if (prev) q_guard_removeGuard(reinterpret_cast<QGuard<QObject> *>(this));
+ o = 0;
+}
+
+template<class T>
+QGuard<T> &QGuard<T>::operator=(const QGuard<T> &g)
+{
+ if (g.o != o) {
+ if (prev)
+ q_guard_removeGuard(reinterpret_cast<QGuard<QObject> *>(this));
+ o = g.o;
+ if (o) q_guard_addGuard(reinterpret_cast<QGuard<QObject> *>(this));
+ }
+ return *this;
+}
+
+template<class T>
+inline QGuard<T> &QGuard<T>::operator=(T *g)
+{
+ if (g != o) {
+ if (prev)
+ q_guard_removeGuard(reinterpret_cast<QGuard<QObject> *>(this));
+ o = g;
+ if (o) q_guard_addGuard(reinterpret_cast<QGuard<QObject> *>(this));
+ }
+ return *this;
+}
+
+QT_END_NAMESPACE
+
+#endif // QGUARD_P_H
diff --git a/src/corelib/kernel/qmath.h b/src/corelib/kernel/qmath.h
index 348957f..7a77d56 100644
--- a/src/corelib/kernel/qmath.h
+++ b/src/corelib/kernel/qmath.h
@@ -132,6 +132,10 @@ inline qreal qPow(qreal x, qreal y)
return pow(x, y);
}
+#ifndef M_PI
+#define M_PI (3.14159265358979323846)
+#endif
+
QT_END_NAMESPACE
QT_END_HEADER
diff --git a/src/corelib/kernel/qmetaobject.cpp b/src/corelib/kernel/qmetaobject.cpp
index 0b9f841..1d0b2c8 100644
--- a/src/corelib/kernel/qmetaobject.cpp
+++ b/src/corelib/kernel/qmetaobject.cpp
@@ -148,7 +148,9 @@ enum PropertyFlags {
Resettable = 0x00000004,
EnumOrFlag = 0x00000008,
StdCppSet = 0x00000100,
-// Override = 0x00000200,
+// Override = 0x00000200,
+ Constant = 0x00000400,
+ Final = 0x00000800,
Designable = 0x00001000,
ResolveDesignable = 0x00002000,
Scriptable = 0x00004000,
@@ -179,6 +181,10 @@ enum MethodFlags {
MethodScriptable = 0x40
};
+enum MetaObjectFlags {
+ DynamicMetaObject = 0x01
+};
+
struct QMetaObjectPrivate
{
int revision;
@@ -188,6 +194,7 @@ struct QMetaObjectPrivate
int propertyCount, propertyData;
int enumeratorCount, enumeratorData;
int constructorCount, constructorData;
+ int flags;
};
static inline const QMetaObjectPrivate *priv(const uint* data)
@@ -277,6 +284,17 @@ int QMetaObject::static_metacall(Call cl, int idx, void **argv) const
}
/*!
+ \internal
+*/
+int QMetaObject::metacall(QObject *object, Call cl, int idx, void **argv)
+{
+ if (QMetaObject *mo = object->d_ptr->metaObject)
+ return static_cast<QAbstractDynamicMetaObject*>(mo)->metaCall(cl, idx, argv);
+ else
+ return object->qt_metacall(cl, idx, argv);
+}
+
+/*!
\fn const char *QMetaObject::className() const
Returns the class name.
@@ -696,6 +714,14 @@ int QMetaObject::indexOfProperty(const char *name) const
}
m = m->d.superdata;
}
+
+ if (i == -1 && priv(this->d.data)->revision >= 3 && (priv(this->d.data)->flags & DynamicMetaObject)){
+ QAbstractDynamicMetaObject *me =
+ const_cast<QAbstractDynamicMetaObject *>(static_cast<const QAbstractDynamicMetaObject *>(this));
+
+ i = me->createProperty(name, 0);
+ }
+
return i;
}
@@ -1326,6 +1352,18 @@ int QMetaMethod::attributes() const
}
/*!
+ \since 4.6
+
+ Returns this method's index.
+*/
+int QMetaMethod::methodIndex() const
+{
+ if (!mobj)
+ return -1;
+ return ((handle - priv(mobj->d.data)->methodData) / 5) + mobj->methodOffset();
+}
+
+/*!
Returns the access specification of this method (private,
protected, or public).
@@ -1525,7 +1563,7 @@ bool QMetaMethod::invoke(QObject *object,
// recompute the methodIndex by reversing the arithmetic in QMetaObject::property()
int methodIndex = ((handle - priv(mobj->d.data)->methodData) / 5) + mobj->methodOffset();
if (connectionType == Qt::DirectConnection) {
- return object->qt_metacall(QMetaObject::InvokeMetaMethod, methodIndex, param) < 0;
+ return QMetaObject::metacall(object, QMetaObject::InvokeMetaMethod, methodIndex, param) < 0;
} else {
if (returnValue.data()) {
qWarning("QMetaMethod::invoke: Unable to invoke methods with return values in "
@@ -2042,6 +2080,18 @@ int QMetaProperty::userType() const
}
/*!
+ \since 4.6
+
+ Returns this property's index.
+*/
+int QMetaProperty::propertyIndex() const
+{
+ if (!mobj)
+ return -1;
+ return idx + mobj->propertyOffset();
+}
+
+/*!
Returns true if the property's type is an enumeration value that
is used as a flag; otherwise returns false.
@@ -2138,19 +2188,25 @@ QVariant QMetaProperty::read(const QObject *object) const
return QVariant();
}
}
+
+ // the status variable is changed by qt_metacall to indicate what it did
+ // this feature is currently only used by QtDBus and should not be depended
+ // upon. Don't change it without looking into QDBusAbstractInterface first
+ // -1 (unchanged): normal qt_metacall, result stored in argv[0]
+ // changed: result stored directly in value
+ int status = -1;
QVariant value;
- void *argv[2] = { 0, &value };
+ void *argv[] = { 0, &value, &status };
if (t == QVariant::LastType) {
argv[0] = &value;
} else {
value = QVariant(t, (void*)0);
argv[0] = value.data();
}
- const_cast<QObject*>(object)->qt_metacall(QMetaObject::ReadProperty,
- idx + mobj->propertyOffset(),
- argv);
- if (argv[1] == 0)
- // "value" was changed
+ QMetaObject::metacall(const_cast<QObject*>(object), QMetaObject::ReadProperty,
+ idx + mobj->propertyOffset(), argv);
+
+ if (status != -1)
return value;
if (t != QVariant::LastType && argv[0] != value.data())
// pointer or reference
@@ -2208,13 +2264,19 @@ bool QMetaProperty::write(QObject *object, const QVariant &value) const
return false;
}
- void *argv[2] = { 0, &v };
+ // the status variable is changed by qt_metacall to indicate what it did
+ // this feature is currently only used by QtDBus and should not be depended
+ // upon. Don't change it without looking into QDBusAbstractInterface first
+ // -1 (unchanged): normal qt_metacall, result stored in argv[0]
+ // changed: result stored directly in value, return the value of status
+ int status = -1;
+ void *argv[] = { 0, &v, &status };
if (t == QVariant::LastType)
argv[0] = &v;
else
argv[0] = v.data();
- object->qt_metacall(QMetaObject::WriteProperty, idx + mobj->propertyOffset(), argv);
- return true;
+ QMetaObject::metacall(object, QMetaObject::WriteProperty, idx + mobj->propertyOffset(), argv);
+ return status;
}
/*!
@@ -2230,7 +2292,7 @@ bool QMetaProperty::reset(QObject *object) const
if (!object || !mobj || !isResettable())
return false;
void *argv[] = { 0 };
- object->qt_metacall(QMetaObject::ResetProperty, idx + mobj->propertyOffset(), argv);
+ QMetaObject::metacall(object, QMetaObject::ResetProperty, idx + mobj->propertyOffset(), argv);
return true;
}
@@ -2293,6 +2355,8 @@ QMetaMethod QMetaProperty::notifySignal() const
}
/*!
+ \since 4.6
+
Returns the index of the property change notifying signal if one was
specified, otherwise returns -1.
@@ -2342,8 +2406,8 @@ bool QMetaProperty::isDesignable(const QObject *object) const
bool b = flags & Designable;
if (object) {
void *argv[] = { &b };
- const_cast<QObject*>(object)->qt_metacall(QMetaObject::QueryPropertyDesignable,
- idx + mobj->propertyOffset(), argv);
+ QMetaObject::metacall(const_cast<QObject*>(object), QMetaObject::QueryPropertyDesignable,
+ idx + mobj->propertyOffset(), argv);
}
return b;
@@ -2368,8 +2432,8 @@ bool QMetaProperty::isScriptable(const QObject *object) const
bool b = flags & Scriptable;
if (object) {
void *argv[] = { &b };
- const_cast<QObject*>(object)->qt_metacall(QMetaObject::QueryPropertyScriptable,
- idx + mobj->propertyOffset(), argv);
+ QMetaObject::metacall(const_cast<QObject*>(object), QMetaObject::QueryPropertyScriptable,
+ idx + mobj->propertyOffset(), argv);
}
return b;
}
@@ -2392,8 +2456,8 @@ bool QMetaProperty::isStored(const QObject *object) const
bool b = flags & Stored;
if (object) {
void *argv[] = { &b };
- const_cast<QObject*>(object)->qt_metacall(QMetaObject::QueryPropertyStored,
- idx + mobj->propertyOffset(), argv);
+ QMetaObject::metacall(const_cast<QObject*>(object), QMetaObject::QueryPropertyStored,
+ idx + mobj->propertyOffset(), argv);
}
return b;
}
@@ -2419,13 +2483,41 @@ bool QMetaProperty::isUser(const QObject *object) const
bool b = flags & User;
if (object) {
void *argv[] = { &b };
- const_cast<QObject*>(object)->qt_metacall(QMetaObject::QueryPropertyUser,
- idx + mobj->propertyOffset(), argv);
+ QMetaObject::metacall(const_cast<QObject*>(object), QMetaObject::QueryPropertyUser,
+ idx + mobj->propertyOffset(), argv);
}
return b;
}
/*!
+ Returns true if the property is constant; otherwise returns false.
+
+ A property is constant if the \c{Q_PROPERTY()}'s \c CONSTANT attribute
+ is set.
+*/
+bool QMetaProperty::isConstant() const
+{
+ if (!mobj)
+ return false;
+ int flags = mobj->d.data[handle + 2];
+ return flags & Constant;
+}
+
+/*!
+ Returns true if the property is final; otherwise returns false.
+
+ A property is final if the \c{Q_PROPERTY()}'s \c FINAL attribute
+ is set.
+*/
+bool QMetaProperty::isFinal() const
+{
+ if (!mobj)
+ return false;
+ int flags = mobj->d.data[handle + 2];
+ return flags & Final;
+}
+
+/*!
\obsolete
Returns true if the property is editable for the given \a object;
@@ -2445,8 +2537,8 @@ bool QMetaProperty::isEditable(const QObject *object) const
bool b = flags & Editable;
if (object) {
void *argv[] = { &b };
- const_cast<QObject*>(object)->qt_metacall(QMetaObject::QueryPropertyEditable,
- idx + mobj->propertyOffset(), argv);
+ QMetaObject::metacall(const_cast<QObject*>(object), QMetaObject::QueryPropertyEditable,
+ idx + mobj->propertyOffset(), argv);
}
return b;
}
diff --git a/src/corelib/kernel/qmetaobject.h b/src/corelib/kernel/qmetaobject.h
index 000ba6e..419fe06 100644
--- a/src/corelib/kernel/qmetaobject.h
+++ b/src/corelib/kernel/qmetaobject.h
@@ -69,6 +69,7 @@ public:
MethodType methodType() const;
enum Attributes { Compatibility = 0x1, Cloned = 0x2, Scriptable = 0x4 };
int attributes() const;
+ int methodIndex() const;
inline const QMetaObject *enclosingMetaObject() const { return mobj; }
@@ -178,6 +179,7 @@ public:
const char *typeName() const;
QVariant::Type type() const;
int userType() const;
+ int propertyIndex() const;
bool isReadable() const;
bool isWritable() const;
@@ -187,6 +189,8 @@ public:
bool isStored(const QObject *obj = 0) const;
bool isEditable(const QObject *obj = 0) const;
bool isUser(const QObject *obj = 0) const;
+ bool isConstant() const;
+ bool isFinal() const;
bool isFlagType() const;
bool isEnumType() const;
diff --git a/src/corelib/kernel/qmetatype.cpp b/src/corelib/kernel/qmetatype.cpp
index 02338fe..bd27ec2 100644
--- a/src/corelib/kernel/qmetatype.cpp
+++ b/src/corelib/kernel/qmetatype.cpp
@@ -171,6 +171,11 @@ QT_BEGIN_NAMESPACE
\value QBitmap QBitmap
\value QMatrix QMatrix
\value QTransform QTransform
+ \value QMatrix4x4 QMatrix4x4
+ \value QVector2D QVector2D
+ \value QVector3D QVector3D
+ \value QVector4D QVector4D
+ \value QQuaternion QQuaternion
\value User Base value for user types
@@ -272,6 +277,11 @@ static const struct { const char * typeName; int type; } types[] = {
{"QTextFormat", QMetaType::QTextFormat},
{"QMatrix", QMetaType::QMatrix},
{"QTransform", QMetaType::QTransform},
+ {"QMatrix4x4", QMetaType::QMatrix4x4},
+ {"QVector2D", QMetaType::QVector2D},
+ {"QVector3D", QMetaType::QVector3D},
+ {"QVector4D", QMetaType::QVector4D},
+ {"QQuaternion", QMetaType::QQuaternion},
/* All Metatype builtins */
{"void*", QMetaType::VoidStar},
@@ -430,16 +440,15 @@ int QMetaType::registerType(const char *typeName, Destructor destructor,
#endif
QWriteLocker locker(customTypesLock());
- static int currentIdx = User;
int idx = qMetaTypeType_unlocked(normalizedTypeName);
if (!idx) {
- ct->resize(ct->count() + 1);
- idx = currentIdx++;
- QCustomTypeInfo &inf = (*ct)[idx - User];
+ QCustomTypeInfo inf;
inf.typeName = normalizedTypeName;
inf.constr = constructor;
inf.destr = destructor;
+ idx = ct->size() + User;
+ ct->append(inf);
}
return idx;
}
@@ -671,6 +680,11 @@ bool QMetaType::save(QDataStream &stream, int type, const void *data)
case QMetaType::QTextFormat:
case QMetaType::QMatrix:
case QMetaType::QTransform:
+ case QMetaType::QMatrix4x4:
+ case QMetaType::QVector2D:
+ case QMetaType::QVector3D:
+ case QMetaType::QVector4D:
+ case QMetaType::QQuaternion:
if (!qMetaTypeGuiHelper)
return false;
qMetaTypeGuiHelper[type - FirstGuiType].saveOp(stream, data);
@@ -863,6 +877,11 @@ bool QMetaType::load(QDataStream &stream, int type, void *data)
case QMetaType::QTextFormat:
case QMetaType::QMatrix:
case QMetaType::QTransform:
+ case QMetaType::QMatrix4x4:
+ case QMetaType::QVector2D:
+ case QMetaType::QVector3D:
+ case QMetaType::QVector4D:
+ case QMetaType::QQuaternion:
if (!qMetaTypeGuiHelper)
return false;
qMetaTypeGuiHelper[type - FirstGuiType].loadOp(stream, data);
diff --git a/src/corelib/kernel/qmetatype.h b/src/corelib/kernel/qmetatype.h
index 497c014..052312c 100644
--- a/src/corelib/kernel/qmetatype.h
+++ b/src/corelib/kernel/qmetatype.h
@@ -79,7 +79,9 @@ public:
QIcon = 69, QImage = 70, QPolygon = 71, QRegion = 72, QBitmap = 73,
QCursor = 74, QSizePolicy = 75, QKeySequence = 76, QPen = 77,
QTextLength = 78, QTextFormat = 79, QMatrix = 80, QTransform = 81,
- LastGuiType = 81 /* QTransform */,
+ QMatrix4x4 = 82, QVector2D = 83, QVector3D = 84, QVector4D = 85,
+ QQuaternion = 86,
+ LastGuiType = 86 /* QQuaternion */,
FirstCoreExtType = 128 /* VoidStar */,
VoidStar = 128, Long = 129, Short = 130, Char = 131, ULong = 132,
@@ -292,6 +294,11 @@ class QTextLength;
class QTextFormat;
class QMatrix;
class QTransform;
+class QMatrix4x4;
+class QVector2D;
+class QVector3D;
+class QVector4D;
+class QQuaternion;
QT_END_NAMESPACE
@@ -354,6 +361,11 @@ Q_DECLARE_BUILTIN_METATYPE(QTextLength, QTextLength)
Q_DECLARE_BUILTIN_METATYPE(QTextFormat, QTextFormat)
Q_DECLARE_BUILTIN_METATYPE(QMatrix, QMatrix)
Q_DECLARE_BUILTIN_METATYPE(QTransform, QTransform)
+Q_DECLARE_BUILTIN_METATYPE(QMatrix4x4, QMatrix4x4)
+Q_DECLARE_BUILTIN_METATYPE(QVector2D, QVector2D)
+Q_DECLARE_BUILTIN_METATYPE(QVector3D, QVector3D)
+Q_DECLARE_BUILTIN_METATYPE(QVector4D, QVector4D)
+Q_DECLARE_BUILTIN_METATYPE(QQuaternion, QQuaternion)
QT_END_HEADER
diff --git a/src/corelib/kernel/qmimedata.cpp b/src/corelib/kernel/qmimedata.cpp
index 3d2a7cb..4a1ba9f 100644
--- a/src/corelib/kernel/qmimedata.cpp
+++ b/src/corelib/kernel/qmimedata.cpp
@@ -105,7 +105,7 @@ QVariant QMimeDataPrivate::retrieveTypedData(const QString &format, QVariant::Ty
Q_Q(const QMimeData);
QVariant data = q->retrieveData(format, type);
- if (data.type() == type || data.type() == QVariant::Invalid)
+ if (data.type() == type || !data.isValid())
return data;
// provide more conversion possiblities than just what QVariant provides
diff --git a/src/corelib/kernel/qmimedata.h b/src/corelib/kernel/qmimedata.h
index 9366c5d..609528a 100644
--- a/src/corelib/kernel/qmimedata.h
+++ b/src/corelib/kernel/qmimedata.h
@@ -94,7 +94,7 @@ protected:
QVariant::Type preferredType) const;
private:
Q_DISABLE_COPY(QMimeData)
- Q_DECLARE_SCOPED_PRIVATE(QMimeData)
+ Q_DECLARE_PRIVATE(QMimeData)
};
QT_END_NAMESPACE
diff --git a/src/corelib/kernel/qobject.cpp b/src/corelib/kernel/qobject.cpp
index cc2df0c..e6947a0 100644
--- a/src/corelib/kernel/qobject.cpp
+++ b/src/corelib/kernel/qobject.cpp
@@ -123,8 +123,11 @@ extern "C" Q_CORE_EXPORT void qt_removeObject(QObject *)
}
}
+QObjectData::~QObjectData() {}
+QDeclarativeData::~QDeclarativeData() {}
+
QObjectPrivate::QObjectPrivate(int version)
- : threadData(0), currentSender(0), currentChildBeingDeleted(0), connectionLists(0), senders(0)
+ : threadData(0), connectionLists(0), senders(0), currentSender(0), currentChildBeingDeleted(0), declarativeData(0), objectGuards(0)
{
if (version != QObjectPrivateVersion)
qFatal("Cannot mix incompatible Qt libraries");
@@ -140,15 +143,18 @@ QObjectPrivate::QObjectPrivate(int version)
receiveChildEvents = true;
postedEvents = 0;
extraData = 0;
- connectedSignals = 0;
+ for (uint i = 0; i < (sizeof connectedSignals / sizeof connectedSignals[0]); ++i)
+ connectedSignals[i] = 0;
inEventHandler = false;
inThreadChangeEvent = false;
deleteWatch = 0;
+ metaObject = 0;
hasGuards = false;
}
QObjectPrivate::~QObjectPrivate()
{
+ delete static_cast<QAbstractDynamicMetaObject*>(metaObject);
if (deleteWatch)
*deleteWatch = 1;
#ifndef QT_NO_USERDATA
@@ -428,8 +434,24 @@ void QMetaObject::changeGuard(QObject **ptr, QObject *o)
*/
void QObjectPrivate::clearGuards(QObject *object)
{
- if (!QObjectPrivate::get(object)->hasGuards)
+ QObjectPrivate *priv = QObjectPrivate::get(object);
+ QGuard<QObject> *guard = priv->objectGuards;
+ while (guard) {
+ guard->o = 0;
+ guard = guard->next;
+ }
+ while (priv->objectGuards) {
+ guard = priv->objectGuards;
+ guard->prev = 0;
+ if (guard->next) guard->next->prev = &priv->objectGuards;
+ priv->objectGuards = guard->next;
+ guard->next = 0;
+ guard->objectDestroyed(object);
+ }
+
+ if (!priv->hasGuards)
return;
+
GuardHash *hash = 0;
QMutex *mutex = 0;
QT_TRY {
@@ -480,7 +502,7 @@ QMetaCallEvent::~QMetaCallEvent()
*/
int QMetaCallEvent::placeMetaCall(QObject *object)
{
- return object->qt_metacall(QMetaObject::InvokeMetaMethod, id_, args_);
+ return QMetaObject::metacall(object, QMetaObject::InvokeMetaMethod, id_, args_);
}
/*!
@@ -578,7 +600,7 @@ int QMetaCallEvent::placeMetaCall(QObject *object)
\l uic generates code that invokes this function to enable
auto-connection to be performed between widgets on forms created
with \QD. More information about using auto-connection with \QD is
- given in the \l{Using a Designer .ui File in Your Application} section of
+ given in the \l{Using a Designer UI File in Your Application} section of
the \QD manual.
\section2 Dynamic Properties
@@ -774,6 +796,8 @@ QObject::~QObject()
QT_TRY {
emit destroyed(this);
+ if (d->declarativeData)
+ d->declarativeData->destroyed(this); // ### TODO: Can this throw?
} QT_CATCH(...) {
// all the signal/slots connections are still in place - if we don't
// quit now, we will crash pretty soon.
@@ -898,7 +922,7 @@ QObject::~QObject()
QObjectPrivate::Connection::~Connection()
{
if (argumentTypes != &DIRECT_CONNECTION_ONLY)
- delete [] argumentTypes;
+ delete [] static_cast<int *>(argumentTypes);
}
@@ -2132,6 +2156,34 @@ void QObject::deleteLater()
\snippet doc/src/snippets/code/src_corelib_kernel_qobject.cpp 17
+ \section1 Meta Data
+
+ Additional data can be attached to each translatable message.
+ The syntax:
+
+ \tt{//= <id>}
+
+ can be used to give the message a unique identifier to support tools
+ which need it.
+ The syntax:
+
+ \tt{//~ <field name> <field contents>}
+
+ can be used to attach meta data to the message. The field name should consist
+ of a domain prefix (possibly the conventional file extension of the file format
+ the field is inspired by), a hyphen and the actual field name in
+ underscore-delimited notation. For storage in TS files, the field name together
+ with the prefix "extra-" will form an XML element name. The field contents will
+ be XML-escaped, but otherwise appear verbatim as the element's contents.
+ Any number of unique fields can be added to each message.
+
+ Example:
+
+ \snippet doc/src/snippets/code/src_corelib_kernel_qobject.cpp meta data
+
+ Meta data appearing right in front of a magic TRANSLATOR comment applies to the
+ whole TS file.
+
\section1 Character Encodings
You can set the encoding for \a sourceText by calling QTextCodec::setCodecForTr().
@@ -2886,10 +2938,16 @@ bool QMetaObject::connect(const QObject *sender, int signal_index,
if (c->next)
c->next->prev = &c->next;
- if (signal_index < 0)
- sender->d_func()->connectedSignals = ~0u;
- else if (signal_index < 32)
- sender->d_func()->connectedSignals |= (1 << signal_index);
+ if (signal_index < 0) {
+ for (uint i = 0; i < (sizeof sender->d_func()->connectedSignals
+ / sizeof sender->d_func()->connectedSignals[0] ); ++i)
+ sender->d_func()->connectedSignals[i] = ~0u;
+ } else if (signal_index < (int)sizeof sender->d_func()->connectedSignals * 8) {
+ uint n = (signal_index / (8 * sizeof sender->d_func()->connectedSignals[0]));
+ sender->d_func()->connectedSignals[n] |= (1 << (signal_index - n * 8
+ * sizeof sender->d_func()->connectedSignals[0]));
+ }
+
return true;
}
@@ -3179,10 +3237,10 @@ void QMetaObject::activate(QObject *sender, int from_signal_index, int to_signal
}
#if defined(QT_NO_EXCEPTIONS)
- receiver->qt_metacall(QMetaObject::InvokeMetaMethod, method, argv ? argv : empty_argv);
+ metacall(receiver, QMetaObject::InvokeMetaMethod, method, argv ? argv : empty_argv);
#else
QT_TRY {
- receiver->qt_metacall(QMetaObject::InvokeMetaMethod, method, argv ? argv : empty_argv);
+ metacall(receiver, QMetaObject::InvokeMetaMethod, method, argv ? argv : empty_argv);
} QT_CATCH(...) {
locker.relock();
@@ -3231,11 +3289,12 @@ void QMetaObject::activate(QObject *sender, int from_signal_index, int to_signal
*/
void QMetaObject::activate(QObject *sender, int signal_index, void **argv)
{
- if (signal_index < 32
+ if (signal_index < (int)sizeof(sender->d_func()->connectedSignals) * 8
&& !qt_signal_spy_callback_set.signal_begin_callback
&& !qt_signal_spy_callback_set.signal_end_callback) {
- uint signal_mask = 1 << signal_index;
- if ((sender->d_func()->connectedSignals & signal_mask) == 0)
+ uint n = (signal_index / (8 * sizeof sender->d_func()->connectedSignals[0]));
+ uint m = 1 << (signal_index - n * 8 * sizeof sender->d_func()->connectedSignals[0]);
+ if ((sender->d_func()->connectedSignals[n] & m) == 0)
// nothing connected to these signals, and no spy
return;
}
@@ -3248,11 +3307,12 @@ void QMetaObject::activate(QObject *sender, const QMetaObject *m, int local_sign
void **argv)
{
int signal_index = m->methodOffset() + local_signal_index;
- if (signal_index < 32
+ if (signal_index < (int)sizeof(sender->d_func()->connectedSignals) * 8
&& !qt_signal_spy_callback_set.signal_begin_callback
&& !qt_signal_spy_callback_set.signal_end_callback) {
- uint signal_mask = 1 << signal_index;
- if ((sender->d_func()->connectedSignals & signal_mask) == 0)
+ uint n = (signal_index / (8 * sizeof sender->d_func()->connectedSignals[0]));
+ uint m = 1 << (signal_index - n * 8 * sizeof sender->d_func()->connectedSignals[0]);
+ if ((sender->d_func()->connectedSignals[n] & m) == 0)
// nothing connected to these signals, and no spy
return;
}
@@ -3264,21 +3324,59 @@ void QMetaObject::activate(QObject *sender, const QMetaObject *m, int local_sign
void QMetaObject::activate(QObject *sender, const QMetaObject *m,
int from_local_signal_index, int to_local_signal_index, void **argv)
{
+ Q_ASSERT(from_local_signal_index <= to_local_signal_index);
int offset = m->methodOffset();
int from_signal_index = offset + from_local_signal_index;
int to_signal_index = offset + to_local_signal_index;
- if (to_signal_index < 32
+
+ if (to_signal_index < (int)sizeof(sender->d_func()->connectedSignals) * 8
&& !qt_signal_spy_callback_set.signal_begin_callback
&& !qt_signal_spy_callback_set.signal_end_callback) {
- uint signal_mask = (1 << (to_signal_index + 1)) - 1;
- signal_mask ^= (1 << from_signal_index) - 1;
- if ((sender->d_func()->connectedSignals & signal_mask) == 0)
+
+ uint n = (from_signal_index / (8 * sizeof sender->d_func()->connectedSignals[0]));
+ uint m = 1 << (from_signal_index - n * 8 * sizeof sender->d_func()->connectedSignals[0]);
+ uint nt = (to_signal_index / (8 * sizeof sender->d_func()->connectedSignals[0]));
+ uint mt = 1 << (to_signal_index - n * 8 * sizeof sender->d_func()->connectedSignals[0]);
+ bool connected = false;
+ quint32 *connectedSignals = sender->d_func()->connectedSignals;
+ for (uint i = 0; !connected && i < (sizeof sender->d_func()->connectedSignals
+ / sizeof sender->d_func()->connectedSignals[0]); ++i) {
+ uint mask = 0;
+ if (i > n)
+ mask = ~0u;
+ else if (i == n)
+ mask = ~(m -1);
+ if (i > nt)
+ mask = 0;
+ else if (i == nt)
+ mask &= (mt << 1) - 1;
+ connected = connectedSignals[i] & mask;
+ }
+ if (!connected)
// nothing connected to these signals, and no spy
return;
}
activate(sender, from_signal_index, to_signal_index, argv);
}
+/*! \internal
+
+ Returns true if the signal with index \a signal_index from object \a sender is connected.
+ Signals with indices above a certain range are always considered connected (see connectedSignals
+ in QObjectPrivate). If a signal spy is installed, all signals are considered connected.
+*/
+bool QMetaObject::isConnected(QObject *sender, int signal_index) {
+ if (signal_index < (int)sizeof(sender->d_func()->connectedSignals) * 8
+ && !qt_signal_spy_callback_set.signal_begin_callback
+ && !qt_signal_spy_callback_set.signal_end_callback) {
+ uint n = (signal_index / (8 * sizeof sender->d_func()->connectedSignals[0]));
+ uint m = 1 << (signal_index - n * 8 * sizeof sender->d_func()->connectedSignals[0]);
+ if ((sender->d_func()->connectedSignals[n] & m) == 0)
+ // nothing connected to these signals, and no spy
+ return false;
+ }
+ return true;
+}
/*****************************************************************************
Properties
@@ -3868,23 +3966,17 @@ QDebug operator<<(QDebug dbg, const QObject *o) {
Synonym for QList<QObject *>.
*/
-#ifdef QT_JAMBI_BUILD
-class QDPtrAccessor : public QObject {
-public:
- QObjectData *d() const { return d_ptr; }
-};
-#endif
-
void qDeleteInEventHandler(QObject *o)
{
#ifdef QT_JAMBI_BUILD
if (!o)
return;
- ((QDPtrAccessor *) o)->d()->inEventHandler = false;
+ QObjectPrivate::get(o)->inEventHandler = false;
#endif
delete o;
}
+
QT_END_NAMESPACE
#include "moc_qobject.cpp"
diff --git a/src/corelib/kernel/qobject.h b/src/corelib/kernel/qobject.h
index e725c82..a9f005b 100644
--- a/src/corelib/kernel/qobject.h
+++ b/src/corelib/kernel/qobject.h
@@ -110,6 +110,7 @@ public:
uint hasGuards : 1; //true iff there is one or more QPointer attached to this object
uint unused : 22;
int postedEvents;
+ QMetaObject *metaObject; // assert dynamic
};
@@ -117,7 +118,7 @@ class Q_CORE_EXPORT QObject
{
Q_OBJECT
Q_PROPERTY(QString objectName READ objectName WRITE setObjectName)
- Q_DECLARE_SCOPED_PRIVATE(QObject)
+ Q_DECLARE_PRIVATE(QObject)
public:
Q_INVOKABLE explicit QObject(QObject *parent=0);
@@ -380,6 +381,9 @@ inline QList<T> qFindChildren(const QObject *o, const QRegExp &re)
#endif // Q_MOC_RUN
+template <class T> inline const char * qobject_interface_iid()
+{ return 0; }
+
template <class T> inline T qobject_cast_helper(QObject *object, T)
{ return static_cast<T>(((T)0)->staticMetaObject.cast(object)); }
@@ -396,6 +400,8 @@ inline T qobject_cast(const QObject *object)
#ifndef Q_MOC_RUN
# define Q_DECLARE_INTERFACE(IFace, IId) \
+ template <> inline const char *qobject_interface_iid<IFace *>() \
+ { return IId; } \
template <> inline IFace *qobject_cast_helper<IFace *>(QObject *object, IFace *) \
{ return (IFace *)(object ? object->qt_metacast(IId) : 0); } \
template <> inline IFace *qobject_cast_helper<IFace *>(const QObject *object, IFace *) \
@@ -459,8 +465,13 @@ inline T qobject_cast(const QObject *object)
}
+template <class T> inline const char * qobject_interface_iid()
+{ return 0; }
+
#ifndef Q_MOC_RUN
# define Q_DECLARE_INTERFACE(IFace, IId) \
+ template <> inline const char *qobject_interface_iid<IFace *>() \
+ { return IId; } \
template <> inline IFace *qobject_cast<IFace *>(QObject *object) \
{ return reinterpret_cast<IFace *>((object ? object->qt_metacast(IId) : 0)); } \
template <> inline IFace *qobject_cast<IFace *>(const QObject *object) \
diff --git a/src/corelib/kernel/qobject_p.h b/src/corelib/kernel/qobject_p.h
index 07c397f..e58ee6c 100644
--- a/src/corelib/kernel/qobject_p.h
+++ b/src/corelib/kernel/qobject_p.h
@@ -60,6 +60,7 @@
#include "QtCore/qvector.h"
#include "QtCore/qreadwritelock.h"
#include "QtCore/qvariant.h"
+#include "private/qguard_p.h"
QT_BEGIN_NAMESPACE
@@ -81,56 +82,20 @@ void Q_CORE_EXPORT qt_register_signal_spy_callbacks(const QSignalSpyCallbackSet
extern QSignalSpyCallbackSet Q_CORE_EXPORT qt_signal_spy_callback_set;
-inline QObjectData::~QObjectData() {}
-
enum { QObjectPrivateVersion = QT_VERSION };
+class Q_CORE_EXPORT QDeclarativeData
+{
+public:
+ virtual ~QDeclarativeData();
+ virtual void destroyed(QObject *) = 0;
+};
+
class Q_CORE_EXPORT QObjectPrivate : public QObjectData
{
Q_DECLARE_PUBLIC(QObject)
public:
- QObjectPrivate(int version = QObjectPrivateVersion);
- virtual ~QObjectPrivate();
-
-#ifdef QT3_SUPPORT
- QList<QObject *> pendingChildInsertedEvents;
- void sendPendingChildInsertedEvents();
- void removePendingChildInsertedEvents(QObject *child);
-#else
- // preserve binary compatibility with code compiled without Qt 3 support
- QList<QObject *> unused;
-#endif
-
- // id of the thread that owns the object
- QThreadData *threadData;
- void moveToThread_helper();
- void setThreadData_helper(QThreadData *currentData, QThreadData *targetData);
- void _q_reregisterTimers(void *pointer);
-
- struct Sender
- {
- QObject *sender;
- int signal;
- int ref;
- };
- // object currently activating the object
- Sender *currentSender;
-
- QObject *currentChildBeingDeleted;
-
- bool isSender(const QObject *receiver, const char *signal) const;
- QObjectList receiverList(const char *signal) const;
- QObjectList senderList() const;
-
- QList<QPointer<QObject> > eventFilters;
-
- void setParent_helper(QObject *);
-
- void deleteChildren();
-
- static void clearGuards(QObject *);
-
struct ExtraData
{
#ifndef QT_NO_USERDATA
@@ -139,12 +104,7 @@ public:
QList<QByteArray> propertyNames;
QList<QVariant> propertyValues;
};
- ExtraData *extraData;
- mutable quint32 connectedSignals;
- QString objectName;
-
- // Note: you must hold the signalSlotLock() before accessing the lists below or calling the functions
struct Connection
{
QObject *sender;
@@ -159,11 +119,34 @@ public:
};
typedef QList<Connection *> ConnectionList;
- QObjectConnectionListVector *connectionLists;
+ struct Sender
+ {
+ QObject *sender;
+ int signal;
+ int ref;
+ };
+
+
+ QObjectPrivate(int version = QObjectPrivateVersion);
+ virtual ~QObjectPrivate();
+ void deleteChildren();
+
+ void setParent_helper(QObject *);
+ void moveToThread_helper();
+ void setThreadData_helper(QThreadData *currentData, QThreadData *targetData);
+ void _q_reregisterTimers(void *pointer);
+
+ bool isSender(const QObject *receiver, const char *signal) const;
+ QObjectList receiverList(const char *signal) const;
+ QObjectList senderList() const;
+
void addConnection(int signal, Connection *c);
void cleanConnectionLists();
- Connection *senders; //linked list;
+#ifdef QT3_SUPPORT
+ void sendPendingChildInsertedEvents();
+ void removePendingChildInsertedEvents(QObject *child);
+#endif
static Sender *setCurrentSender(QObject *receiver,
Sender *sender);
@@ -172,14 +155,65 @@ public:
Sender *previousSender);
static int *setDeleteWatch(QObjectPrivate *d, int *newWatch);
static void resetDeleteWatch(QObjectPrivate *d, int *oldWatch, int deleteWatch);
-
- int *deleteWatch;
+ static void clearGuards(QObject *);
static QObjectPrivate *get(QObject *o) {
return o->d_func();
}
+
+public:
+ QString objectName;
+ ExtraData *extraData; // extra data set by the user
+ QThreadData *threadData; // id of the thread that owns the object
+
+ QObjectConnectionListVector *connectionLists;
+
+ Connection *senders; // linked list of connections connected to this object
+ Sender *currentSender; // object currently activating the object
+ mutable quint32 connectedSignals[2]; // 64-bit, so doesn't cause padding on 64-bit platforms
+
+#ifdef QT3_SUPPORT
+ QList<QObject *> pendingChildInsertedEvents;
+#else
+ // preserve binary compatibility with code compiled without Qt 3 support
+ // ### why?
+ QList<QObject *> unused;
+#endif
+
+ QList<QPointer<QObject> > eventFilters;
+ QObject *currentChildBeingDeleted;
+
+ // these objects are all used to indicate that a QObject was deleted
+ // plus QPointer, which keeps a separate list
+ QDeclarativeData *declarativeData;
+ QGuard<QObject> *objectGuards;
+ int *deleteWatch;
};
+inline void q_guard_addGuard(QGuard<QObject> *g)
+{
+ QObjectPrivate *p = QObjectPrivate::get(g->o);
+ if (p->wasDeleted) {
+ qWarning("QGuard: cannot add guard to deleted object");
+ g->o = 0;
+ return;
+ }
+
+ g->next = p->objectGuards;
+ p->objectGuards = g;
+ g->prev = &p->objectGuards;
+ if (g->next)
+ g->next->prev = &g->next;
+}
+
+inline void q_guard_removeGuard(QGuard<QObject> *g)
+{
+ if (g->next) g->next->prev = g->prev;
+ *g->prev = g->next;
+ g->next = 0;
+ g->prev = 0;
+}
+
Q_DECLARE_TYPEINFO(QObjectPrivate::Connection, Q_MOVABLE_TYPE);
Q_DECLARE_TYPEINFO(QObjectPrivate::Sender, Q_MOVABLE_TYPE);
@@ -220,6 +254,14 @@ private:
void Q_CORE_EXPORT qDeleteInEventHandler(QObject *o);
+
+struct Q_CORE_EXPORT QAbstractDynamicMetaObject : public QMetaObject
+{
+ virtual ~QAbstractDynamicMetaObject() {}
+ virtual int metaCall(QMetaObject::Call, int _id, void **) { return _id; }
+ virtual int createProperty(const char *, const char *) { return -1; }
+};
+
QT_END_NAMESPACE
#endif // QOBJECT_P_H
diff --git a/src/corelib/kernel/qobjectdefs.h b/src/corelib/kernel/qobjectdefs.h
index 9187765..1ae46d5 100644
--- a/src/corelib/kernel/qobjectdefs.h
+++ b/src/corelib/kernel/qobjectdefs.h
@@ -334,6 +334,9 @@ struct Q_CORE_EXPORT QMetaObject
static void activate(QObject *sender, int from_signal_index, int to_signal_index, void **argv);
static void activate(QObject *sender, const QMetaObject *, int local_signal_index, void **argv);
static void activate(QObject *sender, const QMetaObject *, int from_local_signal_index, int to_local_signal_index, void **argv);
+
+ static bool isConnected(QObject *sender, int signal_index);
+
// internal guarded pointers
static void addGuard(QObject **ptr);
static void removeGuard(QObject **ptr);
@@ -428,6 +431,7 @@ struct Q_CORE_EXPORT QMetaObject
};
int static_metacall(Call, int, void **) const;
+ static int metacall(QObject *, Call, int, void **);
#ifdef QT3_SUPPORT
QT3_SUPPORT const char *superClassName() const;
@@ -439,6 +443,7 @@ struct Q_CORE_EXPORT QMetaObject
const uint *data;
const void *extradata;
} d;
+
};
struct QMetaObjectExtraData
diff --git a/src/corelib/kernel/qsharedmemory.h b/src/corelib/kernel/qsharedmemory.h
index 0e15ebe..4957c3e 100644
--- a/src/corelib/kernel/qsharedmemory.h
+++ b/src/corelib/kernel/qsharedmemory.h
@@ -57,7 +57,7 @@ class QSharedMemoryPrivate;
class Q_CORE_EXPORT QSharedMemory : public QObject
{
Q_OBJECT
- Q_DECLARE_SCOPED_PRIVATE(QSharedMemory)
+ Q_DECLARE_PRIVATE(QSharedMemory)
public:
enum AccessMode
diff --git a/src/corelib/kernel/qsharedmemory_symbian.cpp b/src/corelib/kernel/qsharedmemory_symbian.cpp
index ffa363f..d35c21f 100644
--- a/src/corelib/kernel/qsharedmemory_symbian.cpp
+++ b/src/corelib/kernel/qsharedmemory_symbian.cpp
@@ -1,9 +1,9 @@
/****************************************************************************
**
-** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
-** This file is part of the $MODULE$ of the Qt Toolkit.
+** This file is part of the QtCore of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/src/corelib/kernel/qsharedmemory_unix.cpp b/src/corelib/kernel/qsharedmemory_unix.cpp
index 7e8dc23..05369c4 100644
--- a/src/corelib/kernel/qsharedmemory_unix.cpp
+++ b/src/corelib/kernel/qsharedmemory_unix.cpp
@@ -48,6 +48,9 @@
#include <qdebug.h>
#include <errno.h>
+
+#ifndef QT_NO_SHAREDMEMORY
+
#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/shm.h>
@@ -56,7 +59,7 @@
#include <fcntl.h>
#include <unistd.h>
-#ifndef QT_NO_SHAREDMEMORY
+#include "private/qcore_unix_p.h"
QT_BEGIN_NAMESPACE
@@ -82,7 +85,7 @@ void QSharedMemoryPrivate::setErrorString(const QString &function)
error = QSharedMemory::AlreadyExists;
break;
case ENOENT:
- errorString = QSharedMemory::tr("%1: doesn't exists").arg(function);
+ errorString = QSharedMemory::tr("%1: doesn't exist").arg(function);
error = QSharedMemory::NotFound;
break;
case EMFILE:
@@ -121,7 +124,7 @@ key_t QSharedMemoryPrivate::handle()
// ftok requires that an actual file exists somewhere
QString fileName = makePlatformSafeKey(key);
if (!QFile::exists(fileName)) {
- errorString = QSharedMemory::tr("%1: unix key file doesn't exists").arg(QLatin1String("QSharedMemory::handle:"));
+ errorString = QSharedMemory::tr("%1: UNIX key file doesn't exist").arg(QLatin1String("QSharedMemory::handle:"));
error = QSharedMemory::NotFound;
return 0;
}
@@ -152,7 +155,7 @@ int QSharedMemoryPrivate::createUnixKeyFile(const QString &fileName)
if (QFile::exists(fileName))
return 0;
- int fd = open(QFile::encodeName(fileName).constData(),
+ int fd = qt_safe_open(QFile::encodeName(fileName).constData(),
O_EXCL | O_CREAT | O_RDWR, 0640);
if (-1 == fd) {
if (errno == EEXIST)
diff --git a/src/corelib/kernel/qsharedmemory_win.cpp b/src/corelib/kernel/qsharedmemory_win.cpp
index d963a6d..ae64806 100644
--- a/src/corelib/kernel/qsharedmemory_win.cpp
+++ b/src/corelib/kernel/qsharedmemory_win.cpp
@@ -71,7 +71,7 @@ void QSharedMemoryPrivate::setErrorString(const QString &function)
case ERROR_INVALID_PARAMETER:
#endif
error = QSharedMemory::NotFound;
- errorString = QSharedMemory::tr("%1: doesn't exists").arg(function);
+ errorString = QSharedMemory::tr("%1: doesn't exist").arg(function);
break;
case ERROR_COMMITMENT_LIMIT:
error = QSharedMemory::InvalidSize;
@@ -106,16 +106,11 @@ HANDLE QSharedMemoryPrivate::handle()
return false;
}
#ifndef Q_OS_WINCE
- QT_WA({
- hand = OpenFileMappingW(FILE_MAP_ALL_ACCESS, false, (TCHAR*)safeKey.utf16());
- }, {
- hand = OpenFileMappingA(FILE_MAP_ALL_ACCESS, false, safeKey.toLocal8Bit().constData());
- });
+ hand = OpenFileMapping(FILE_MAP_ALL_ACCESS, false, (wchar_t*)safeKey.utf16());
#else
// This works for opening a mapping too, but always opens it with read/write access in
// attach as it seems.
- hand = CreateFileMappingW(INVALID_HANDLE_VALUE,
- 0, PAGE_READWRITE, 0, 0, (TCHAR*)safeKey.utf16());
+ hand = CreateFileMapping(INVALID_HANDLE_VALUE, 0, PAGE_READWRITE, 0, 0, (wchar_t*)safeKey.utf16());
#endif
if (!hand) {
setErrorString(function);
@@ -148,13 +143,7 @@ bool QSharedMemoryPrivate::create(int size)
}
// Create the file mapping.
- QT_WA( {
- hand = CreateFileMappingW(INVALID_HANDLE_VALUE,
- 0, PAGE_READWRITE, 0, size, (TCHAR*)safeKey.utf16());
- }, {
- hand = CreateFileMappingA(INVALID_HANDLE_VALUE,
- 0, PAGE_READWRITE, 0, size, safeKey.toLocal8Bit().constData());
- } );
+ hand = CreateFileMapping(INVALID_HANDLE_VALUE, 0, PAGE_READWRITE, 0, size, (wchar_t*)safeKey.utf16());
setErrorString(function);
// hand is valid when it already exists unlike unix so explicitly check
diff --git a/src/corelib/kernel/qsignalmapper.h b/src/corelib/kernel/qsignalmapper.h
index 8c1f663..7bc5035 100644
--- a/src/corelib/kernel/qsignalmapper.h
+++ b/src/corelib/kernel/qsignalmapper.h
@@ -56,7 +56,7 @@ class QSignalMapperPrivate;
class Q_CORE_EXPORT QSignalMapper : public QObject
{
Q_OBJECT
- Q_DECLARE_SCOPED_PRIVATE(QSignalMapper)
+ Q_DECLARE_PRIVATE(QSignalMapper)
public:
explicit QSignalMapper(QObject *parent = 0);
~QSignalMapper();
diff --git a/src/corelib/kernel/qsocketnotifier.h b/src/corelib/kernel/qsocketnotifier.h
index bc5d97d..96dda35 100644
--- a/src/corelib/kernel/qsocketnotifier.h
+++ b/src/corelib/kernel/qsocketnotifier.h
@@ -53,7 +53,7 @@ QT_MODULE(Core)
class Q_CORE_EXPORT QSocketNotifier : public QObject
{
Q_OBJECT
- Q_DECLARE_SCOPED_PRIVATE(QObject)
+ Q_DECLARE_PRIVATE(QObject)
public:
enum Type { Read, Write, Exception };
diff --git a/src/corelib/kernel/qsystemsemaphore_symbian.cpp b/src/corelib/kernel/qsystemsemaphore_symbian.cpp
index 1516841..a14db7e 100644
--- a/src/corelib/kernel/qsystemsemaphore_symbian.cpp
+++ b/src/corelib/kernel/qsystemsemaphore_symbian.cpp
@@ -1,9 +1,9 @@
/****************************************************************************
**
-** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
-** This file is part of the $MODULE$ of the Qt Toolkit.
+** This file is part of the QtCore of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/src/corelib/kernel/qsystemsemaphore_win.cpp b/src/corelib/kernel/qsystemsemaphore_win.cpp
index 4e03ddf..1102258 100644
--- a/src/corelib/kernel/qsystemsemaphore_win.cpp
+++ b/src/corelib/kernel/qsystemsemaphore_win.cpp
@@ -87,11 +87,7 @@ HANDLE QSystemSemaphorePrivate::handle(QSystemSemaphore::AccessMode)
// Create it if it doesn't already exists.
if (semaphore == 0) {
QString safeName = makeKeyFileName();
- QT_WA({
- semaphore = CreateSemaphoreW(0, initialValue, MAXLONG, (TCHAR*)safeName.utf16());
- }, {
- semaphore = CreateSemaphoreA(0, initialValue, MAXLONG, safeName.toLocal8Bit().constData());
- });
+ semaphore = CreateSemaphore(0, initialValue, MAXLONG, (wchar_t*)safeName.utf16());
if (semaphore == NULL)
setErrorString(QLatin1String("QSystemSemaphore::handle"));
}
diff --git a/src/corelib/kernel/qtimer.cpp b/src/corelib/kernel/qtimer.cpp
index d2a0b3a..2ee9d26 100644
--- a/src/corelib/kernel/qtimer.cpp
+++ b/src/corelib/kernel/qtimer.cpp
@@ -103,9 +103,8 @@ QT_BEGIN_NAMESPACE
Note that QTimer's accuracy depends on the underlying operating
system and hardware. Most platforms support an accuracy of
- 1 millisecond, but Windows 98 supports only 55. If Qt is
- unable to deliver the requested number of timer clicks, it will
- silently discard some.
+ 1 millisecond. If Qt is unable to deliver the requested number of
+ timer clicks, it will silently discard some.
An alternative to using QTimer is to call QObject::startTimer()
for your object and reimplement the QObject::timerEvent() event
diff --git a/src/corelib/kernel/qtranslator.cpp b/src/corelib/kernel/qtranslator.cpp
index 64cf16e..dc1b530 100644
--- a/src/corelib/kernel/qtranslator.cpp
+++ b/src/corelib/kernel/qtranslator.cpp
@@ -58,6 +58,7 @@
#if defined(Q_OS_UNIX)
#define QT_USE_MMAP
+#include "private/qcore_unix_p.h"
#endif
// most of the headers below are already included in qplatformdefs.h
@@ -502,7 +503,7 @@ bool QTranslator::load(const QString & filename, const QString & directory,
\overload load()
\fn bool QTranslator::load(const uchar *data, int len)
- Loads the .qm file data \a data of length \a len into the
+ Loads the QM file data \a data of length \a len into the
translator.
The data is not copied. The caller must be able to guarantee that \a data
diff --git a/src/corelib/kernel/qtranslator.h b/src/corelib/kernel/qtranslator.h
index 1f94210..b4cea18 100644
--- a/src/corelib/kernel/qtranslator.h
+++ b/src/corelib/kernel/qtranslator.h
@@ -86,7 +86,7 @@ public:
private:
Q_DISABLE_COPY(QTranslator)
- Q_DECLARE_SCOPED_PRIVATE(QTranslator)
+ Q_DECLARE_PRIVATE(QTranslator)
};
#endif // QT_NO_TRANSLATION
diff --git a/src/corelib/kernel/qvariant.cpp b/src/corelib/kernel/qvariant.cpp
index dd3468d..5016d3b 100644
--- a/src/corelib/kernel/qvariant.cpp
+++ b/src/corelib/kernel/qvariant.cpp
@@ -1291,6 +1291,7 @@ const QVariant::Handler *QVariant::handler = &qt_kernel_variant_handler;
\value Map a QVariantMap
\value Matrix a QMatrix
\value Transform a QTransform
+ \value Matrix4x4 a QMatrix4x4
\value Palette a QPalette
\value Pen a QPen
\value Pixmap a QPixmap
@@ -1298,6 +1299,7 @@ const QVariant::Handler *QVariant::handler = &qt_kernel_variant_handler;
\value PointArray a QPointArray
\value PointF a QPointF
\value Polygon a QPolygon
+ \value Quaternion a QQuaternion
\value Rect a QRect
\value RectF a QRectF
\value RegExp a QRegExp
@@ -1313,6 +1315,9 @@ const QVariant::Handler *QVariant::handler = &qt_kernel_variant_handler;
\value UInt a \l uint
\value ULongLong a \l qulonglong
\value Url a QUrl
+ \value Vector2D a QVector2D
+ \value Vector3D a QVector3D
+ \value Vector4D a QVector4D
\value UserType Base value for user-defined types.
@@ -1704,7 +1709,7 @@ QVariant::QVariant(Qt::GlobalColor color) { create(62, &color); }
Note that return values in the ranges QVariant::Char through
QVariant::RegExp and QVariant::Font through QVariant::Transform
correspond to the values in the ranges QMetaType::QChar through
- QMetaType::QRegExp and QMetaType::QFont through QMetaType::QTransform.
+ QMetaType::QRegExp and QMetaType::QFont through QMetaType::QQuaternion.
Pay particular attention when working with char and QChar
variants. Note that there is no QVariant constructor specifically
@@ -1932,7 +1937,7 @@ void QVariant::load(QDataStream &s)
create(static_cast<int>(u), 0);
d.is_null = is_null;
- if (d.type == QVariant::Invalid) {
+ if (!isValid()) {
// Since we wrote something, we should read something
QString x;
s >> x;
@@ -1976,7 +1981,7 @@ void QVariant::save(QDataStream &s) const
s << QMetaType::typeName(userType());
}
- if (d.type == QVariant::Invalid) {
+ if (!isValid()) {
s << QString();
return;
}
diff --git a/src/corelib/kernel/qvariant.h b/src/corelib/kernel/qvariant.h
index e923844..a68939d 100644
--- a/src/corelib/kernel/qvariant.h
+++ b/src/corelib/kernel/qvariant.h
@@ -154,7 +154,12 @@ class Q_CORE_EXPORT QVariant
TextFormat = 79,
Matrix = 80,
Transform = 81,
- LastGuiType = Transform,
+ Matrix4x4 = 82,
+ Vector2D = 83,
+ Vector3D = 84,
+ Vector4D = 85,
+ Quaternion = 86,
+ LastGuiType = Quaternion,
UserType = 127,
#ifdef QT3_SUPPORT
diff --git a/src/corelib/kernel/qwineventnotifier_p.h b/src/corelib/kernel/qwineventnotifier_p.h
index 2c8934f..07aa0ae 100644
--- a/src/corelib/kernel/qwineventnotifier_p.h
+++ b/src/corelib/kernel/qwineventnotifier_p.h
@@ -61,7 +61,7 @@ QT_BEGIN_NAMESPACE
class Q_CORE_EXPORT QWinEventNotifier : public QObject
{
Q_OBJECT
- Q_DECLARE_SCOPED_PRIVATE(QObject)
+ Q_DECLARE_PRIVATE(QObject)
public:
explicit QWinEventNotifier(QObject *parent = 0);
diff --git a/src/corelib/plugin/qfactoryloader_p.h b/src/corelib/plugin/qfactoryloader_p.h
index b646b4d..1717ac0 100644
--- a/src/corelib/plugin/qfactoryloader_p.h
+++ b/src/corelib/plugin/qfactoryloader_p.h
@@ -66,7 +66,7 @@ class QFactoryLoaderPrivate;
class Q_CORE_EXPORT QFactoryLoader : public QObject
{
Q_OBJECT
- Q_DECLARE_SCOPED_PRIVATE(QFactoryLoader)
+ Q_DECLARE_PRIVATE(QFactoryLoader)
public:
QFactoryLoader(const char *iid,
diff --git a/src/corelib/plugin/qlibrary.cpp b/src/corelib/plugin/qlibrary.cpp
index 3f42311..265a5a2 100644
--- a/src/corelib/plugin/qlibrary.cpp
+++ b/src/corelib/plugin/qlibrary.cpp
@@ -637,11 +637,7 @@ bool QLibraryPrivate::isPlugin(QSettings *settings)
#endif
if (!pHnd) {
#ifdef Q_OS_WIN
- QT_WA({
- hTempModule = ::LoadLibraryExW((wchar_t*)QDir::toNativeSeparators(fileName).utf16(), 0, DONT_RESOLVE_DLL_REFERENCES);
- } , {
- temporary_load = load_sys();
- });
+ hTempModule = ::LoadLibraryEx((wchar_t*)QDir::toNativeSeparators(fileName).utf16(), 0, DONT_RESOLVE_DLL_REFERENCES);
#else
# if defined(Q_OS_SYMBIAN)
//Guard against accidentally trying to load non-plugin libraries by making sure the stub exists
@@ -659,7 +655,7 @@ bool QLibraryPrivate::isPlugin(QSettings *settings)
QtPluginQueryVerificationDataFunction qtPluginQueryVerificationDataFunction = hTempModule
? (QtPluginQueryVerificationDataFunction)
#ifdef Q_OS_WINCE
- ::GetProcAddressW(hTempModule, L"qt_plugin_query_verification_data")
+ ::GetProcAddress(hTempModule, L"qt_plugin_query_verification_data")
#else
::GetProcAddress(hTempModule, "qt_plugin_query_verification_data")
#endif
@@ -698,12 +694,15 @@ bool QLibraryPrivate::isPlugin(QSettings *settings)
#endif
}
+ // Qt 4.5 compatibility: stl doesn't affect binary compatibility
+ key.replace(" no-stl", "");
+
+#ifndef QT_NO_SETTINGS
QStringList queried;
queried << QString::number(qt_version,16)
<< QString::number((int)debug)
<< QLatin1String(key)
<< lastModified;
-#ifndef QT_NO_SETTINGS
settings->setValue(regkey, queried);
#endif
}
diff --git a/src/corelib/plugin/qlibrary_unix.cpp b/src/corelib/plugin/qlibrary_unix.cpp
index bdf6b78..462cfbf 100644
--- a/src/corelib/plugin/qlibrary_unix.cpp
+++ b/src/corelib/plugin/qlibrary_unix.cpp
@@ -58,7 +58,7 @@
QT_BEGIN_NAMESPACE
-#if !defined(QT_HPUX_LD)
+#if !defined(QT_HPUX_LD) && !defined(Q_OS_VXWORKS)
QT_BEGIN_INCLUDE_NAMESPACE
#include <dlfcn.h>
QT_END_INCLUDE_NAMESPACE
@@ -66,7 +66,9 @@ QT_END_INCLUDE_NAMESPACE
static QString qdlerror()
{
-#if !defined(QT_HPUX_LD)
+#if defined(Q_OS_VXWORKS)
+ const char *err = "VxWorks does not support dynamic libraries.";
+#elif !defined(QT_HPUX_LD)
const char *err = dlerror();
#else
const char *err = strerror(errno);
@@ -76,6 +78,8 @@ static QString qdlerror()
bool QLibraryPrivate::load_sys()
{
+ QString attempt;
+#if !defined(Q_OS_VXWORKS)
QFileInfo fi(fileName);
#if defined(Q_OS_SYMBIAN)
@@ -179,7 +183,6 @@ bool QLibraryPrivate::load_sys()
}
#endif
#endif // QT_HPUX_LD
- QString attempt;
bool retry = true;
for(int prefix = 0; retry && !pHnd && prefix < prefixes.size(); prefix++) {
for(int suffix = 0; retry && !pHnd && suffix < suffixes.size(); suffix++) {
@@ -227,7 +230,8 @@ bool QLibraryPrivate::load_sys()
attempt = str;
}
}
-# endif
+#endif
+#endif // Q_OS_VXWORKS
if (!pHnd) {
errorString = QLibrary::tr("Cannot load library %1: %2").arg(fileName).arg(qdlerror());
}
@@ -240,14 +244,16 @@ bool QLibraryPrivate::load_sys()
bool QLibraryPrivate::unload_sys()
{
-#if defined(QT_HPUX_LD)
+#if !defined(Q_OS_VXWORKS)
+# if defined(QT_HPUX_LD)
if (shl_unload((shl_t)pHnd)) {
-#else
+# else
if (dlclose(pHnd)) {
-#endif
+# endif
errorString = QLibrary::tr("Cannot unload library %1: %2").arg(fileName).arg(qdlerror());
return false;
}
+#endif
errorString.clear();
return true;
}
@@ -272,6 +278,8 @@ void* QLibraryPrivate::resolve_sys(const char* symbol)
void* address = 0;
if (shl_findsym((shl_t*)&pHnd, symbol, TYPE_UNDEFINED, &address) < 0)
address = 0;
+#elif defined(Q_OS_VXWORKS)
+ void *address = 0;
#else
void* address = dlsym(pHnd, symbol);
#endif
diff --git a/src/corelib/plugin/qlibrary_win.cpp b/src/corelib/plugin/qlibrary_win.cpp
index 43eeafa..847c0d2 100644
--- a/src/corelib/plugin/qlibrary_win.cpp
+++ b/src/corelib/plugin/qlibrary_win.cpp
@@ -67,30 +67,18 @@ bool QLibraryPrivate::load_sys()
//avoid 'Bad Image' message box
UINT oldmode = SetErrorMode(SEM_FAILCRITICALERRORS|SEM_NOOPENFILEERRORBOX);
- QT_WA({
- pHnd = LoadLibraryW((TCHAR*)QDir::toNativeSeparators(attempt).utf16());
- } , {
- pHnd = LoadLibraryA(QFile::encodeName(QDir::toNativeSeparators(attempt)).data());
- });
-
+ pHnd = LoadLibrary((wchar_t*)QDir::toNativeSeparators(attempt).utf16());
+
if (pluginState != IsAPlugin) {
#if defined(Q_OS_WINCE)
if (!pHnd && ::GetLastError() == ERROR_MOD_NOT_FOUND) {
QString secondAttempt = fileName;
- QT_WA({
- pHnd = LoadLibraryW((TCHAR*)QDir::toNativeSeparators(secondAttempt).utf16());
- } , {
- pHnd = LoadLibraryA(QFile::encodeName(QDir::toNativeSeparators(secondAttempt)).data());
- });
+ pHnd = LoadLibrary((wchar_t*)QDir::toNativeSeparators(secondAttempt).utf16());
}
#endif
if (!pHnd && ::GetLastError() == ERROR_MOD_NOT_FOUND) {
attempt += QLatin1String(".dll");
- QT_WA({
- pHnd = LoadLibraryW((TCHAR*)QDir::toNativeSeparators(attempt).utf16());
- } , {
- pHnd = LoadLibraryA(QFile::encodeName(QDir::toNativeSeparators(attempt)).data());
- });
+ pHnd = LoadLibrary((wchar_t*)QDir::toNativeSeparators(attempt).utf16());
}
}
@@ -100,15 +88,11 @@ bool QLibraryPrivate::load_sys()
}
if (pHnd) {
errorString.clear();
- QT_WA({
- TCHAR buffer[MAX_PATH + 1];
- ::GetModuleFileNameW(pHnd, buffer, MAX_PATH);
- attempt = QString::fromUtf16(reinterpret_cast<const ushort *>(&buffer));
- }, {
- char buffer[MAX_PATH + 1];
- ::GetModuleFileNameA(pHnd, buffer, MAX_PATH);
- attempt = QString::fromLocal8Bit(buffer);
- });
+
+ wchar_t buffer[MAX_PATH];
+ ::GetModuleFileName(pHnd, buffer, MAX_PATH);
+ attempt = QString::fromWCharArray(buffer);
+
const QDir dir = QFileInfo(fileName).dir();
const QString realfilename = attempt.mid(attempt.lastIndexOf(QLatin1Char('\\')) + 1);
if (dir.path() == QLatin1String("."))
diff --git a/src/corelib/plugin/qplugin.h b/src/corelib/plugin/qplugin.h
index ff2b412..233b4f9 100644
--- a/src/corelib/plugin/qplugin.h
+++ b/src/corelib/plugin/qplugin.h
@@ -63,21 +63,6 @@ typedef QObject *(*QtPluginInstanceFunction)();
void Q_CORE_EXPORT qRegisterStaticPluginInstanceFunction(QtPluginInstanceFunction function);
-struct qt_plugin_instance_deleter
-{
- qt_plugin_instance_deleter(QPointer<QObject> &instance)
- : instance_(instance)
- {
- }
-
- ~qt_plugin_instance_deleter()
- {
- delete instance_;
- }
-
- QPointer<QObject> &instance_;
-};
-
#define Q_IMPORT_PLUGIN(PLUGIN) \
extern QT_PREPEND_NAMESPACE(QObject) *qt_plugin_instance_##PLUGIN(); \
class Static##PLUGIN##PluginInstance{ \
@@ -91,10 +76,8 @@ struct qt_plugin_instance_deleter
#define Q_PLUGIN_INSTANCE(IMPLEMENTATION) \
{ \
static QT_PREPEND_NAMESPACE(QPointer)<QT_PREPEND_NAMESPACE(QObject)> _instance; \
- if (!_instance) { \
- static QT_PREPEND_NAMESPACE(qt_plugin_instance_deleter) deleter(_instance); \
+ if (!_instance) \
_instance = new IMPLEMENTATION; \
- } \
return _instance; \
}
diff --git a/src/corelib/statemachine/qabstractstate.h b/src/corelib/statemachine/qabstractstate.h
index 3229ab7..5355ac2 100644
--- a/src/corelib/statemachine/qabstractstate.h
+++ b/src/corelib/statemachine/qabstractstate.h
@@ -85,7 +85,7 @@ protected:
private:
Q_DISABLE_COPY(QAbstractState)
- Q_DECLARE_SCOPED_PRIVATE(QAbstractState)
+ Q_DECLARE_PRIVATE(QAbstractState)
};
#endif //QT_NO_STATEMACHINE
diff --git a/src/corelib/statemachine/qabstracttransition.cpp b/src/corelib/statemachine/qabstracttransition.cpp
index 670aa7d..3248dcf 100644
--- a/src/corelib/statemachine/qabstracttransition.cpp
+++ b/src/corelib/statemachine/qabstracttransition.cpp
@@ -115,13 +115,10 @@ QAbstractTransitionPrivate *QAbstractTransitionPrivate::get(QAbstractTransition
QStateMachine *QAbstractTransitionPrivate::machine() const
{
- QObject *par = parent;
- while (par != 0) {
- if (QStateMachine *mach = qobject_cast<QStateMachine*>(par))
- return mach;
- par = par->parent();
- }
- return 0;
+ QState *source = sourceState();
+ if (!source)
+ return 0;
+ return source->machine();
}
bool QAbstractTransitionPrivate::callEventTest(QEvent *e)
@@ -156,17 +153,6 @@ QAbstractTransition::QAbstractTransition(QState *sourceState)
}
/*!
- Constructs a new QAbstractTransition object with the given \a targets and \a
- sourceState.
-*/
-QAbstractTransition::QAbstractTransition(const QList<QAbstractState*> &targets,
- QState *sourceState)
- : QObject(*new QAbstractTransitionPrivate, sourceState)
-{
- setTargetStates(targets);
-}
-
-/*!
\internal
*/
QAbstractTransition::QAbstractTransition(QAbstractTransitionPrivate &dd,
@@ -176,17 +162,6 @@ QAbstractTransition::QAbstractTransition(QAbstractTransitionPrivate &dd,
}
/*!
- \internal
-*/
-QAbstractTransition::QAbstractTransition(QAbstractTransitionPrivate &dd,
- const QList<QAbstractState*> &targets,
- QState *parent)
- : QObject(dd, parent)
-{
- setTargetStates(targets);
-}
-
-/*!
Destroys this transition.
*/
QAbstractTransition::~QAbstractTransition()
@@ -256,10 +231,6 @@ void QAbstractTransition::setTargetStates(const QList<QAbstractState*> &targets)
qWarning("QAbstractTransition::setTargetStates: target state(s) cannot be null");
return;
}
- if (target->machine() != 0 && target->machine()->rootState() == target) {
- qWarning("QAbstractTransition::setTargetStates: root state cannot be target of transition");
- return;
- }
}
d->targetStates.clear();
diff --git a/src/corelib/statemachine/qabstracttransition.h b/src/corelib/statemachine/qabstracttransition.h
index a87af39..8ff3a6e 100644
--- a/src/corelib/statemachine/qabstracttransition.h
+++ b/src/corelib/statemachine/qabstracttransition.h
@@ -72,7 +72,6 @@ class Q_CORE_EXPORT QAbstractTransition : public QObject
Q_PROPERTY(QList<QAbstractState*> targetStates READ targetStates WRITE setTargetStates)
public:
QAbstractTransition(QState *sourceState = 0);
- QAbstractTransition(const QList<QAbstractState*> &targets, QState *sourceState = 0);
virtual ~QAbstractTransition();
QState *sourceState() const;
@@ -104,12 +103,10 @@ protected:
protected:
QAbstractTransition(QAbstractTransitionPrivate &dd, QState *parent);
- QAbstractTransition(QAbstractTransitionPrivate &dd,
- const QList<QAbstractState*> &targets, QState *parent);
private:
Q_DISABLE_COPY(QAbstractTransition)
- Q_DECLARE_SCOPED_PRIVATE(QAbstractTransition)
+ Q_DECLARE_PRIVATE(QAbstractTransition)
};
#endif //QT_NO_STATEMACHINE
diff --git a/src/corelib/statemachine/qeventtransition.cpp b/src/corelib/statemachine/qeventtransition.cpp
index 3933981..813c960 100644
--- a/src/corelib/statemachine/qeventtransition.cpp
+++ b/src/corelib/statemachine/qeventtransition.cpp
@@ -153,22 +153,6 @@ QEventTransition::QEventTransition(QObject *object, QEvent::Type type,
}
/*!
- Constructs a new QEventTransition object associated with events of the given
- \a type for the given \a object. The transition has the given \a targets and
- \a sourceState.
-*/
-QEventTransition::QEventTransition(QObject *object, QEvent::Type type,
- const QList<QAbstractState*> &targets,
- QState *sourceState)
- : QAbstractTransition(*new QEventTransitionPrivate, targets, sourceState)
-{
- Q_D(QEventTransition);
- d->registered = false;
- d->object = object;
- d->eventType = type;
-}
-
-/*!
\internal
*/
QEventTransition::QEventTransition(QEventTransitionPrivate &dd, QState *parent)
@@ -190,20 +174,6 @@ QEventTransition::QEventTransition(QEventTransitionPrivate &dd, QObject *object,
}
/*!
- \internal
-*/
-QEventTransition::QEventTransition(QEventTransitionPrivate &dd, QObject *object,
- QEvent::Type type, const QList<QAbstractState*> &targets,
- QState *parent)
- : QAbstractTransition(dd, targets, parent)
-{
- Q_D(QEventTransition);
- d->registered = false;
- d->object = object;
- d->eventType = type;
-}
-
-/*!
Destroys this QObject event transition.
*/
QEventTransition::~QEventTransition()
diff --git a/src/corelib/statemachine/qeventtransition.h b/src/corelib/statemachine/qeventtransition.h
index c227ab1..0ebca19 100644
--- a/src/corelib/statemachine/qeventtransition.h
+++ b/src/corelib/statemachine/qeventtransition.h
@@ -62,8 +62,6 @@ class Q_CORE_EXPORT QEventTransition : public QAbstractTransition
public:
QEventTransition(QState *sourceState = 0);
QEventTransition(QObject *object, QEvent::Type type, QState *sourceState = 0);
- QEventTransition(QObject *object, QEvent::Type type,
- const QList<QAbstractState*> &targets, QState *sourceState = 0);
~QEventTransition();
QObject *eventObject() const;
@@ -82,13 +80,10 @@ protected:
QEventTransition(QEventTransitionPrivate &dd, QState *parent);
QEventTransition(QEventTransitionPrivate &dd, QObject *object,
QEvent::Type type, QState *parent);
- QEventTransition(QEventTransitionPrivate &dd, QObject *object,
- QEvent::Type type, const QList<QAbstractState*> &targets,
- QState *parent);
private:
Q_DISABLE_COPY(QEventTransition)
- Q_DECLARE_SCOPED_PRIVATE(QEventTransition)
+ Q_DECLARE_PRIVATE(QEventTransition)
};
#endif //QT_NO_STATEMACHINE
diff --git a/src/corelib/statemachine/qfinalstate.h b/src/corelib/statemachine/qfinalstate.h
index 7b77b2b..e37ef36 100644
--- a/src/corelib/statemachine/qfinalstate.h
+++ b/src/corelib/statemachine/qfinalstate.h
@@ -68,7 +68,7 @@ protected:
private:
Q_DISABLE_COPY(QFinalState)
- Q_DECLARE_SCOPED_PRIVATE(QFinalState)
+ Q_DECLARE_PRIVATE(QFinalState)
};
#endif //QT_NO_STATEMACHINE
diff --git a/src/corelib/statemachine/qhistorystate.h b/src/corelib/statemachine/qhistorystate.h
index 889308d..395bb98 100644
--- a/src/corelib/statemachine/qhistorystate.h
+++ b/src/corelib/statemachine/qhistorystate.h
@@ -83,7 +83,7 @@ protected:
private:
Q_DISABLE_COPY(QHistoryState)
- Q_DECLARE_SCOPED_PRIVATE(QHistoryState)
+ Q_DECLARE_PRIVATE(QHistoryState)
};
#endif //QT_NO_STATEMACHINE
diff --git a/src/corelib/statemachine/qsignalevent.h b/src/corelib/statemachine/qsignalevent.h
index c09c5a3..b7ca61f 100644
--- a/src/corelib/statemachine/qsignalevent.h
+++ b/src/corelib/statemachine/qsignalevent.h
@@ -58,16 +58,16 @@ QT_MODULE(Core)
class Q_CORE_EXPORT QSignalEvent : public QEvent
{
public:
- QSignalEvent(const QObject *sender, int signalIndex,
+ QSignalEvent(QObject *sender, int signalIndex,
const QList<QVariant> &arguments);
~QSignalEvent();
- inline const QObject *sender() const { return m_sender; }
+ inline QObject *sender() const { return m_sender; }
inline int signalIndex() const { return m_signalIndex; }
inline QList<QVariant> arguments() const { return m_arguments; }
private:
- const QObject *m_sender;
+ QObject *m_sender;
int m_signalIndex;
QList<QVariant> m_arguments;
};
diff --git a/src/corelib/statemachine/qsignaltransition.cpp b/src/corelib/statemachine/qsignaltransition.cpp
index 389e513..7814699 100644
--- a/src/corelib/statemachine/qsignaltransition.cpp
+++ b/src/corelib/statemachine/qsignaltransition.cpp
@@ -159,21 +159,6 @@ QSignalTransition::QSignalTransition(QObject *sender, const char *signal,
}
/*!
- Constructs a new signal transition associated with the given \a signal of
- the given \a sender. The transition has the given \a targets and \a
- sourceState.
-*/
-QSignalTransition::QSignalTransition(QObject *sender, const char *signal,
- const QList<QAbstractState*> &targets,
- QState *sourceState)
- : QAbstractTransition(*new QSignalTransitionPrivate, targets, sourceState)
-{
- Q_D(QSignalTransition);
- d->sender = sender;
- d->signal = signal;
-}
-
-/*!
Destroys this signal transition.
*/
QSignalTransition::~QSignalTransition()
diff --git a/src/corelib/statemachine/qsignaltransition.h b/src/corelib/statemachine/qsignaltransition.h
index d6c2324..415751e 100644
--- a/src/corelib/statemachine/qsignaltransition.h
+++ b/src/corelib/statemachine/qsignaltransition.h
@@ -62,9 +62,6 @@ public:
QSignalTransition(QState *sourceState = 0);
QSignalTransition(QObject *sender, const char *signal,
QState *sourceState = 0);
- QSignalTransition(QObject *sender, const char *signal,
- const QList<QAbstractState*> &targets,
- QState *sourceState = 0);
~QSignalTransition();
QObject *senderObject() const;
@@ -81,7 +78,7 @@ protected:
private:
Q_DISABLE_COPY(QSignalTransition)
- Q_DECLARE_SCOPED_PRIVATE(QSignalTransition)
+ Q_DECLARE_PRIVATE(QSignalTransition)
};
#endif //QT_NO_STATEMACHINE
diff --git a/src/corelib/statemachine/qstate.cpp b/src/corelib/statemachine/qstate.cpp
index 83dd869..09d0be0 100644
--- a/src/corelib/statemachine/qstate.cpp
+++ b/src/corelib/statemachine/qstate.cpp
@@ -71,7 +71,7 @@ QT_BEGIN_NAMESPACE
The assignProperty() function is used for defining property assignments that
should be performed when a state is entered.
- Top-level states must be passed QStateMachine::rootState() as their parent
+ Top-level states must be passed a QStateMachine object as their parent
state, or added to a state machine using QStateMachine::addState().
\section1 States with Child States
@@ -215,6 +215,8 @@ QList<QAbstractTransition*> QStatePrivate::transitions() const
return result;
}
+#ifndef QT_NO_PROPERTIES
+
/*!
Instructs this state to set the property with the given \a name of the given
\a object to the given \a value when the state is entered.
@@ -239,10 +241,12 @@ void QState::assignProperty(QObject *object, const char *name,
d->propertyAssignments.append(QPropertyAssignment(object, name, value));
}
+#endif // QT_NO_PROPERTIES
+
/*!
Returns this state's error state.
- \sa QStateMachine::errorState(), QStateMachine::setErrorState()
+ \sa QStateMachine::error()
*/
QAbstractState *QState::errorState() const
{
@@ -256,19 +260,17 @@ QAbstractState *QState::errorState() const
state recursively. If no error state is set for the state itself or any of
its ancestors, an error will cause the machine to stop executing and an error
will be printed to the console.
-
- \sa QStateMachine::setErrorState(), QStateMachine::errorState()
*/
void QState::setErrorState(QAbstractState *state)
{
Q_D(QState);
- if (state != 0 && state->machine() != machine()) {
- qWarning("QState::setErrorState: error state cannot belong "
- "to a different state machine");
+ if (state != 0 && qobject_cast<QStateMachine*>(state)) {
+ qWarning("QStateMachine::setErrorState: root state cannot be error state");
return;
}
- if (state != 0 && state->machine() != 0 && state->machine()->rootState() == state) {
- qWarning("QStateMachine::setErrorState: root state cannot be error state");
+ if (state != 0 && (!state->machine() || ((state->machine() != machine()) && !qobject_cast<QStateMachine*>(this)))) {
+ qWarning("QState::setErrorState: error state cannot belong "
+ "to a different state machine");
return;
}
@@ -288,12 +290,7 @@ QAbstractTransition *QState::addTransition(QAbstractTransition *transition)
return 0;
}
- // machine() will always be non-null for root state
- if (machine() != 0 && machine()->rootState() == this) {
- qWarning("QState::addTransition: cannot add transition from root state");
- return 0;
- }
-
+ transition->setParent(this);
const QList<QPointer<QAbstractState> > &targets = QAbstractTransitionPrivate::get(transition)->targetStates;
for (int i = 0; i < targets.size(); ++i) {
QAbstractState *t = targets.at(i);
@@ -308,7 +305,6 @@ QAbstractTransition *QState::addTransition(QAbstractTransition *transition)
return 0;
}
}
- transition->setParent(this);
if (machine() != 0 && machine()->configuration().contains(this))
QStateMachinePrivate::get(machine())->registerTransitions(this);
return transition;
@@ -343,7 +339,8 @@ QSignalTransition *QState::addTransition(QObject *sender, const char *signal,
return 0;
}
}
- QSignalTransition *trans = new QSignalTransition(sender, signal, QList<QAbstractState*>() << target);
+ QSignalTransition *trans = new QSignalTransition(sender, signal);
+ trans->setTargetState(target);
addTransition(trans);
return trans;
}
@@ -355,7 +352,8 @@ class UnconditionalTransition : public QAbstractTransition
{
public:
UnconditionalTransition(QAbstractState *target)
- : QAbstractTransition(QList<QAbstractState*>() << target) {}
+ : QAbstractTransition()
+ { setTargetState(target); }
protected:
void onTransition(QEvent *) {}
bool eventTest(QEvent *) { return true; }
diff --git a/src/corelib/statemachine/qstate.h b/src/corelib/statemachine/qstate.h
index be37591..ce88b25 100644
--- a/src/corelib/statemachine/qstate.h
+++ b/src/corelib/statemachine/qstate.h
@@ -87,8 +87,10 @@ public:
ChildMode childMode() const;
void setChildMode(ChildMode mode);
+#ifndef QT_NO_PROPERTIES
void assignProperty(QObject *object, const char *name,
const QVariant &value);
+#endif
Q_SIGNALS:
void finished();
@@ -105,7 +107,7 @@ protected:
private:
Q_DISABLE_COPY(QState)
- Q_DECLARE_SCOPED_PRIVATE(QState)
+ Q_DECLARE_PRIVATE(QState)
};
#endif //QT_NO_STATEMACHINE
diff --git a/src/corelib/statemachine/qstatemachine.cpp b/src/corelib/statemachine/qstatemachine.cpp
index b519107..932a239 100644
--- a/src/corelib/statemachine/qstatemachine.cpp
+++ b/src/corelib/statemachine/qstatemachine.cpp
@@ -102,14 +102,9 @@ QT_BEGIN_NAMESPACE
Framework}{overview} gives several state graphs and the code to
build them.
- The rootState() is the parent of all top-level states in the
- machine; it is used, for instance, when the state graph is
- deleted. It is created by the machine.
-
- Use the addState() function to add a state to the state machine.
- All top-level states are added to the root state. States are
- removed with the removeState() function. Removing states while the
- machine is running is discouraged.
+ Use the addState() function to add a top-level state to the state machine.
+ States are removed with the removeState() function. Removing states while
+ the machine is running is discouraged.
Before the machine can be started, the \l{initialState}{initial
state} must be set. The initial state is the state that the
@@ -179,26 +174,6 @@ This is
*/
/*!
- \property QStateMachine::rootState
-
- \brief the root state of this state machine
-*/
-
-/*!
- \property QStateMachine::initialState
-
- \brief the initial state of this state machine
-
- The initial state must be one of the rootState()'s child states.
-*/
-
-/*!
- \property QStateMachine::errorState
-
- \brief the error state of this state machine
-*/
-
-/*!
\property QStateMachine::errorString
\brief the error string of this state machine
@@ -230,12 +205,12 @@ This is
QStateMachinePrivate::QStateMachinePrivate()
{
state = NotRunning;
+ _startState = 0;
processing = false;
processingScheduled = false;
stop = false;
error = QStateMachine::NoError;
globalRestorePolicy = QStateMachine::DoNotRestoreProperties;
- rootState = 0;
signalEventGenerator = 0;
#ifndef QT_NO_ANIMATION
animationsEnabled = true;
@@ -255,6 +230,11 @@ QStateMachinePrivate *QStateMachinePrivate::get(QStateMachine *q)
return 0;
}
+QState *QStateMachinePrivate::rootState() const
+{
+ return const_cast<QStateMachine*>(q_func());
+}
+
static QEvent *cloneEvent(QEvent *e)
{
switch (e->type()) {
@@ -302,7 +282,9 @@ bool QStateMachinePrivate::stateEntryLessThan(QAbstractState *s1, QAbstractState
} else if (isDescendantOf(s2, s1)) {
return true;
} else {
- QState *lca = findLCA(QList<QAbstractState*>() << s1 << s2);
+ Q_ASSERT(s1->machine() != 0);
+ QStateMachinePrivate *mach = QStateMachinePrivate::get(s1->machine());
+ QState *lca = mach->findLCA(QList<QAbstractState*>() << s1 << s2);
Q_ASSERT(lca != 0);
return (indexOfDescendant(lca, s1) < indexOfDescendant(lca, s2));
}
@@ -318,17 +300,19 @@ bool QStateMachinePrivate::stateExitLessThan(QAbstractState *s1, QAbstractState
} else if (isDescendantOf(s2, s1)) {
return false;
} else {
- QState *lca = findLCA(QList<QAbstractState*>() << s1 << s2);
+ Q_ASSERT(s1->machine() != 0);
+ QStateMachinePrivate *mach = QStateMachinePrivate::get(s1->machine());
+ QState *lca = mach->findLCA(QList<QAbstractState*>() << s1 << s2);
Q_ASSERT(lca != 0);
return (indexOfDescendant(lca, s1) < indexOfDescendant(lca, s2));
}
}
-QState *QStateMachinePrivate::findLCA(const QList<QAbstractState*> &states)
+QState *QStateMachinePrivate::findLCA(const QList<QAbstractState*> &states) const
{
if (states.isEmpty())
return 0;
- QList<QState*> ancestors = properAncestors(states.at(0), 0);
+ QList<QState*> ancestors = properAncestors(states.at(0), rootState()->parentState());
for (int i = 0; i < ancestors.size(); ++i) {
QState *anc = ancestors.at(i);
bool ok = true;
@@ -376,7 +360,7 @@ QSet<QAbstractTransition*> QStateMachinePrivate::selectTransitions(QEvent *event
continue;
if (isPreempted(state, enabledTransitions))
continue;
- QList<QState*> lst = properAncestors(state, 0);
+ QList<QState*> lst = properAncestors(state, rootState()->parentState());
if (QState *grp = qobject_cast<QState*>(state))
lst.prepend(grp);
bool found = false;
@@ -412,7 +396,9 @@ void QStateMachinePrivate::microstep(QEvent *event, const QList<QAbstractTransit
#endif
executeTransitionContent(event, enabledTransitions);
QList<QAbstractState*> enteredStates = enterStates(event, enabledTransitions);
+#ifndef QT_NO_PROPERTIES
applyProperties(enabledTransitions, exitedStates, enteredStates);
+#endif
#ifdef QSTATEMACHINE_DEBUG
qDebug() << q_func() << ": configuration after entering states:" << configuration;
qDebug() << q_func() << ": end microstep";
@@ -557,11 +543,13 @@ QList<QAbstractState*> QStateMachinePrivate::enterStates(QEvent *event, const QL
if (isFinal(s)) {
QState *parent = s->parentState();
if (parent) {
- QState *grandparent = parent->parentState();
+ if (parent != rootState()) {
#ifdef QSTATEMACHINE_DEBUG
- qDebug() << q << ": emitting finished signal for" << parent;
+ qDebug() << q << ": emitting finished signal for" << parent;
#endif
- QStatePrivate::get(parent)->emitFinished();
+ QStatePrivate::get(parent)->emitFinished();
+ }
+ QState *grandparent = parent->parentState();
if (grandparent && isParallel(grandparent)) {
bool allChildStatesFinal = true;
QList<QAbstractState*> childStates = QStatePrivate::get(grandparent)->childStates();
@@ -572,7 +560,7 @@ QList<QAbstractState*> QStateMachinePrivate::enterStates(QEvent *event, const QL
break;
}
}
- if (allChildStatesFinal) {
+ if (allChildStatesFinal && (grandparent != rootState())) {
#ifdef QSTATEMACHINE_DEBUG
qDebug() << q << ": emitting finished signal for" << grandparent;
#endif
@@ -585,7 +573,7 @@ QList<QAbstractState*> QStateMachinePrivate::enterStates(QEvent *event, const QL
{
QSet<QAbstractState*>::const_iterator it;
for (it = configuration.constBegin(); it != configuration.constEnd(); ++it) {
- if (isFinal(*it) && (*it)->parentState() == rootState) {
+ if (isFinal(*it) && (*it)->parentState() == rootState()) {
processing = false;
stopProcessingReason = Finished;
break;
@@ -630,6 +618,11 @@ void QStateMachinePrivate::addStatesToEnter(QAbstractState *s, QState *root,
}
}
} else {
+ if (s == rootState()) {
+ // Error has already been set by exitStates().
+ Q_ASSERT(error != QStateMachine::NoError);
+ return;
+ }
statesToEnter.insert(s);
if (isParallel(s)) {
QState *grp = qobject_cast<QState*>(s);
@@ -643,6 +636,7 @@ void QStateMachinePrivate::addStatesToEnter(QAbstractState *s, QState *root,
QState *grp = qobject_cast<QState*>(s);
QAbstractState *initial = grp->initialState();
if (initial != 0) {
+ Q_ASSERT(initial->machine() == q_func());
addStatesToEnter(initial, grp, statesToEnter, statesForDefaultEntry);
} else {
setError(QStateMachine::NoInitialStateError, grp);
@@ -675,6 +669,8 @@ void QStateMachinePrivate::addStatesToEnter(QAbstractState *s, QState *root,
}
}
+#ifndef QT_NO_PROPERTIES
+
void QStateMachinePrivate::applyProperties(const QList<QAbstractTransition*> &transitionList,
const QList<QAbstractState*> &exitedStates,
const QList<QAbstractState*> &enteredStates)
@@ -862,6 +858,8 @@ void QStateMachinePrivate::applyProperties(const QList<QAbstractTransition*> &tr
}
}
+#endif // QT_NO_PROPERTIES
+
bool QStateMachinePrivate::isFinal(const QAbstractState *s)
{
return qobject_cast<const QFinalState*>(s) != 0;
@@ -873,20 +871,26 @@ bool QStateMachinePrivate::isParallel(const QAbstractState *s)
return ss && (QStatePrivate::get(ss)->childMode == QState::ParallelStates);
}
-bool QStateMachinePrivate::isCompound(const QAbstractState *s)
+bool QStateMachinePrivate::isCompound(const QAbstractState *s) const
{
const QState *group = qobject_cast<const QState*>(s);
if (!group)
return false;
+ bool isMachine = (qobject_cast<const QStateMachine*>(group) != 0);
+ // Don't treat the machine as compound if it's a sub-state of this machine
+ if (isMachine && (group != rootState()))
+ return false;
return (!isParallel(group) && !QStatePrivate::get(group)->childStates().isEmpty())
- || (qobject_cast<QStateMachine*>(group->parent()) != 0);
+ || isMachine;
}
-bool QStateMachinePrivate::isAtomic(const QAbstractState *s)
+bool QStateMachinePrivate::isAtomic(const QAbstractState *s) const
{
const QState *ss = qobject_cast<const QState*>(s);
return (ss && QStatePrivate::get(ss)->childStates().isEmpty())
- || isFinal(s);
+ || isFinal(s)
+ // Treat the machine as atomic if it's a sub-state of this machine
+ || (ss && (qobject_cast<const QStateMachine*>(ss) != 0) && (ss != rootState()));
}
@@ -935,6 +939,8 @@ bool QStateMachinePrivate::isInFinalState(QAbstractState* s) const
return false;
}
+#ifndef QT_NO_PROPERTIES
+
void QStateMachinePrivate::registerRestorable(QObject *object, const QByteArray &propertyName)
{
RestorableId id(object, propertyName);
@@ -979,6 +985,8 @@ void QStateMachinePrivate::unregisterRestorable(QObject *object, const QByteArra
registeredRestorables.remove(id);
}
+#endif // QT_NO_PROPERTIES
+
QAbstractState *QStateMachinePrivate::findErrorState(QAbstractState *context)
{
// Find error state recursively in parent hierarchy if not set explicitly for context state
@@ -1034,7 +1042,7 @@ void QStateMachinePrivate::setError(QStateMachine::Error errorCode, QAbstractSta
if (currentContext == currentErrorState)
currentErrorState = 0;
- Q_ASSERT(currentErrorState != rootState);
+ Q_ASSERT(currentErrorState != rootState());
if (currentErrorState != 0) {
QState *lca = findLCA(QList<QAbstractState*>() << currentErrorState << currentContext);
@@ -1091,12 +1099,14 @@ void QStateMachinePrivate::_q_animationFinished()
resetAnimationEndValues.remove(anim);
}
+#ifndef QT_NO_PROPERTIES
// Set the final property value.
QPropertyAssignment assn = propertyForAnimation.take(anim);
Q_ASSERT(assn.object != 0);
assn.object->setProperty(assn.propertyName, assn.value);
if (!assn.explicitlySet)
unregisterRestorable(assn.object, assn.propertyName);
+#endif
QAbstractState *state = stateForAnimation.take(anim);
Q_ASSERT(state != 0);
@@ -1129,7 +1139,8 @@ class InitialTransition : public QAbstractTransition
{
public:
InitialTransition(QAbstractState *target)
- : QAbstractTransition(QList<QAbstractState*>() << target) {}
+ : QAbstractTransition()
+ { setTargetState(target); }
protected:
virtual bool eventTest(QEvent *) { return true; }
virtual void onTransition(QEvent *) {}
@@ -1137,15 +1148,26 @@ protected:
} // namespace
+QState *QStateMachinePrivate::startState()
+{
+ Q_Q(QStateMachine);
+ if (_startState == 0)
+ _startState = new StartState(q);
+ return _startState;
+}
+
+void QStateMachinePrivate::removeStartState()
+{
+ delete _startState;
+ _startState = 0;
+}
+
void QStateMachinePrivate::_q_start()
{
Q_Q(QStateMachine);
Q_ASSERT(state == Starting);
- if (!rootState) {
- state = NotRunning;
- return;
- }
- QAbstractState *initial = rootState->initialState();
+ Q_ASSERT(rootState() != 0);
+ QAbstractState *initial = rootState()->initialState();
configuration.clear();
qDeleteAll(internalEventQueue);
internalEventQueue.clear();
@@ -1159,17 +1181,27 @@ void QStateMachinePrivate::_q_start()
processingScheduled = true; // we call _q_process() below
emit q->started();
- StartState *start = new StartState(rootState);
- QAbstractTransition *initialTransition = new InitialTransition(initial);
- start->addTransition(initialTransition);
- QList<QAbstractTransition*> transitions;
- transitions.append(initialTransition);
+ QState *start = startState();
+ Q_ASSERT(start != 0);
+
+ QList<QAbstractTransition*> transitions = QStatePrivate::get(start)->transitions();
+
+ // If a transition has already been added, then we skip this step, as the
+ // initial transition in that case has been overridden.
+ if (transitions.isEmpty()) {
+ QAbstractTransition *initialTransition = new InitialTransition(initial);
+ start->addTransition(initialTransition);
+ transitions.append(initialTransition);
+ }
+
QEvent nullEvent(QEvent::None);
executeTransitionContent(&nullEvent, transitions);
QList<QAbstractState*> enteredStates = enterStates(&nullEvent, transitions);
+#ifndef QT_NO_PROPERTIES
applyProperties(transitions, QList<QAbstractState*>() << start,
enteredStates);
- delete start;
+#endif
+ removeStartState();
#ifdef QSTATEMACHINE_DEBUG
qDebug() << q << ": initial configuration:" << configuration;
@@ -1269,6 +1301,68 @@ void QStateMachinePrivate::scheduleProcess()
QMetaObject::invokeMethod(q_func(), "_q_process", Qt::QueuedConnection);
}
+namespace {
+
+class GoToStateTransition : public QAbstractTransition
+{
+public:
+ GoToStateTransition(QAbstractState *target)
+ : QAbstractTransition()
+ { setTargetState(target); }
+protected:
+ void onTransition(QEvent *) { deleteLater(); }
+ bool eventTest(QEvent *) { return true; }
+};
+
+} // namespace
+
+/*!
+ \internal
+
+ Causes this state machine to unconditionally transition to the given
+ \a targetState.
+
+ Provides a backdoor for using the state machine "imperatively"; i.e. rather
+ than defining explicit transitions, you drive the machine's execution by
+ calling this function. It breaks the whole integrity of the
+ transition-driven model, but is provided for pragmatic reasons.
+*/
+void QStateMachinePrivate::goToState(QAbstractState *targetState)
+{
+ if (!targetState) {
+ qWarning("QStateMachine::goToState(): cannot go to null state");
+ return;
+ }
+
+ if (configuration.contains(targetState))
+ return;
+
+ QState *sourceState = 0;
+ if (state == Running) {
+ QSet<QAbstractState*>::const_iterator it;
+ for (it = configuration.constBegin(); it != configuration.constEnd(); ++it) {
+ sourceState = qobject_cast<QState*>(*it);
+ if (sourceState != 0)
+ break;
+ }
+ } else {
+ sourceState = startState();
+ }
+
+ Q_ASSERT(sourceState != 0);
+ // Reuse previous GoToStateTransition in case of several calls to
+ // goToState() in a row.
+ GoToStateTransition *trans = qFindChild<GoToStateTransition*>(sourceState);
+ if (!trans) {
+ trans = new GoToStateTransition(targetState);
+ sourceState->addTransition(trans);
+ } else {
+ trans->setTargetState(targetState);
+ }
+
+ scheduleProcess();
+}
+
void QStateMachinePrivate::registerTransitions(QAbstractState *state)
{
QState *group = qobject_cast<QState*>(state);
@@ -1371,15 +1465,22 @@ void QStateMachinePrivate::unregisterSignalTransition(QSignalTransition *transit
void QStateMachinePrivate::unregisterAllTransitions()
{
+ Q_Q(QStateMachine);
{
- QList<QSignalTransition*> transitions = qFindChildren<QSignalTransition*>(rootState);
- for (int i = 0; i < transitions.size(); ++i)
- unregisterSignalTransition(transitions.at(i));
+ QList<QSignalTransition*> transitions = qFindChildren<QSignalTransition*>(rootState());
+ for (int i = 0; i < transitions.size(); ++i) {
+ QSignalTransition *t = transitions.at(i);
+ if (t->machine() == q)
+ unregisterSignalTransition(t);
+ }
}
{
- QList<QEventTransition*> transitions = qFindChildren<QEventTransition*>(rootState);
- for (int i = 0; i < transitions.size(); ++i)
- unregisterEventTransition(transitions.at(i));
+ QList<QEventTransition*> transitions = qFindChildren<QEventTransition*>(rootState());
+ for (int i = 0; i < transitions.size(); ++i) {
+ QEventTransition *t = transitions.at(i);
+ if (t->machine() == q)
+ unregisterEventTransition(t);
+ }
}
}
@@ -1431,7 +1532,7 @@ void QStateMachinePrivate::unregisterEventTransition(QEventTransition *transitio
}
#endif
-void QStateMachinePrivate::handleTransitionSignal(const QObject *sender, int signalIndex,
+void QStateMachinePrivate::handleTransitionSignal(QObject *sender, int signalIndex,
void **argv)
{
Q_ASSERT(connections[sender].at(signalIndex) != 0);
@@ -1457,16 +1558,20 @@ void QStateMachinePrivate::handleTransitionSignal(const QObject *sender, int sig
Constructs a new state machine with the given \a parent.
*/
QStateMachine::QStateMachine(QObject *parent)
- : QObject(*new QStateMachinePrivate, parent)
+ : QState(*new QStateMachinePrivate, /*parentState=*/0)
{
+ // Can't pass the parent to the QState constructor, as it expects a QState
+ // But this works as expected regardless of whether parent is a QState or not
+ setParent(parent);
}
/*!
\internal
*/
QStateMachine::QStateMachine(QStateMachinePrivate &dd, QObject *parent)
- : QObject(dd, parent)
+ : QState(dd, /*parentState=*/0)
{
+ setParent(parent);
}
/*!
@@ -1476,69 +1581,6 @@ QStateMachine::~QStateMachine()
{
}
-namespace {
-
-class RootState : public QState
-{
-public:
- RootState(QState *parent)
- : QState(parent)
- {
- }
-
- void onEntry(QEvent *) {}
- void onExit(QEvent *) {}
-};
-
-} // namespace
-
-/*!
- Returns this state machine's root state.
-*/
-QState *QStateMachine::rootState() const
-{
- Q_D(const QStateMachine);
- if (!d->rootState) {
- const_cast<QStateMachinePrivate*>(d)->rootState = new RootState(0);
- d->rootState->setParent(const_cast<QStateMachine*>(this));
- }
- return d->rootState;
-}
-
-/*!
- Returns the error state of the state machine's root state.
-
- \sa QState::errorState()
-*/
-QAbstractState *QStateMachine::errorState() const
-{
- return rootState()->errorState();
-}
-
-/*!
- Sets the error state of this state machine's root state to be \a state. When a running state
- machine encounters an error which puts it in an undefined state, it will enter an error state
- based on the context of the error that occurred. It will enter this state regardless of what
- is currently in the event queue.
-
- If the erroneous state has an error state set, this will be entered by the machine. If no error
- state has been set, the state machine will search the parent hierarchy recursively for an
- error state. The error state of the root state can thus be seen as a global error state that
- applies for all states for which a more specific error state has not been set.
-
- Before entering the error state, the state machine will set the error code returned by error() and
- error message returned by errorString().
-
- If there is no error state available for the erroneous state, the state machine will print a
- warning message on the console and stop executing.
-
- \sa QState::setErrorState(), rootState()
-*/
-void QStateMachine::setErrorState(QAbstractState *state)
-{
- rootState()->setErrorState(state);
-}
-
/*! \enum QStateMachine::Error
This enum type defines errors that can occur in the state machine at run time. When the state
@@ -1640,39 +1682,13 @@ void QStateMachine::setGlobalRestorePolicy(QStateMachine::RestorePolicy restoreP
}
/*!
- Returns this state machine's initial state, or 0 if no initial state has
- been set.
-*/
-QAbstractState *QStateMachine::initialState() const
-{
- Q_D(const QStateMachine);
- if (!d->rootState)
- return 0;
- return d->rootState->initialState();
-}
-
-/*!
- Sets this state machine's initial \a state.
-*/
-void QStateMachine::setInitialState(QAbstractState *state)
-{
- Q_D(QStateMachine);
- if (!d->rootState) {
- if (!state)
- return;
- rootState()->setInitialState(state);
- }
- d->rootState->setInitialState(state);
-}
-
-/*!
Adds the given \a state to this state machine. The state becomes a top-level
- state (i.e. a child of the rootState()).
+ state.
If the state is already in a different machine, it will first be removed
from its old machine, and then added to this machine.
- \sa removeState(), rootState(), setInitialState()
+ \sa removeState(), setInitialState()
*/
void QStateMachine::addState(QAbstractState *state)
{
@@ -1684,7 +1700,7 @@ void QStateMachine::addState(QAbstractState *state)
qWarning("QStateMachine::addState: state has already been added to this machine");
return;
}
- state->setParent(rootState());
+ state->setParent(this);
}
/*!
@@ -1730,7 +1746,7 @@ void QStateMachine::start()
{
Q_D(QStateMachine);
- if (rootState()->initialState() == 0) {
+ if (initialState() == 0) {
qWarning("QStateMachine::start: No initial state set for machine. Refusing to start.");
return;
}
@@ -1821,7 +1837,7 @@ void QStateMachine::postInternalEvent(QEvent *event)
Returns the maximal consistent set of states (including parallel and final
states) that this state machine is currently in. If a state \c s is in the
configuration, it is always the case that the parent of \c s is also in
- c. Note, however, that the rootState() is not an explicit member of the
+ c. Note, however, that the machine itself is not an explicit member of the
configuration.
*/
QSet<QAbstractState*> QStateMachine::configuration() const
@@ -1840,15 +1856,6 @@ QSet<QAbstractState*> QStateMachine::configuration() const
*/
/*!
- \fn QStateMachine::finished()
-
- This signal is emitted when the state machine has reached a top-level final
- state (QFinalState).
-
- \sa QStateMachine::started()
-*/
-
-/*!
\fn QStateMachine::stopped()
This signal is emitted when the state machine has stopped.
@@ -1872,14 +1879,6 @@ bool QStateMachine::event(QEvent *e)
d->scheduleProcess();
return true;
}
- } else if (e->type() == QEvent::ChildAdded) {
- QChildEvent *ce = static_cast<QChildEvent*>(e);
- if (QAbstractState *state = qobject_cast<QAbstractState*>(ce->child())) {
- if (state != rootState()) {
- state->setParent(rootState());
- return true;
- }
- }
}
return QObject::event(e);
}
@@ -1949,6 +1948,24 @@ void QStateMachine::endMicrostep(QEvent *event)
Q_UNUSED(event);
}
+/*!
+ \reimp
+*/
+void QStateMachine::onEntry(QEvent *event)
+{
+ start();
+ QState::onEntry(event);
+}
+
+/*!
+ \reimp
+*/
+void QStateMachine::onExit(QEvent *event)
+{
+ stop();
+ QState::onExit(event);
+}
+
#ifndef QT_NO_ANIMATION
/*!
@@ -2095,7 +2112,7 @@ QSignalEventGenerator::QSignalEventGenerator(QStateMachine *parent)
Constructs a new QSignalEvent object with the given \a sender, \a
signalIndex and \a arguments.
*/
-QSignalEvent::QSignalEvent(const QObject *sender, int signalIndex,
+QSignalEvent::QSignalEvent(QObject *sender, int signalIndex,
const QList<QVariant> &arguments)
: QEvent(QEvent::Signal), m_sender(sender),
m_signalIndex(signalIndex), m_arguments(arguments)
@@ -2155,6 +2172,8 @@ QSignalEvent::~QSignalEvent()
Constructs a new QWrappedEvent object with the given \a object
and \a event.
+
+ The QWrappedEvent object takes ownership of \a event.
*/
QWrappedEvent::QWrappedEvent(QObject *object, QEvent *event)
: QEvent(QEvent::Wrapped), m_object(object), m_event(event)
@@ -2166,6 +2185,7 @@ QWrappedEvent::QWrappedEvent(QObject *object, QEvent *event)
*/
QWrappedEvent::~QWrappedEvent()
{
+ delete m_event;
}
/*!
diff --git a/src/corelib/statemachine/qstatemachine.h b/src/corelib/statemachine/qstatemachine.h
index 1f0d5b0..230d852 100644
--- a/src/corelib/statemachine/qstatemachine.h
+++ b/src/corelib/statemachine/qstatemachine.h
@@ -42,7 +42,7 @@
#ifndef QSTATEMACHINE_H
#define QSTATEMACHINE_H
-#include <QtCore/qabstractstate.h>
+#include <QtCore/qstate.h>
#include <QtCore/qlist.h>
#include <QtCore/qobject.h>
@@ -57,18 +57,12 @@ QT_MODULE(Core)
#ifndef QT_NO_STATEMACHINE
class QEvent;
-class QAbstractState;
-class QState;
class QStateMachinePrivate;
class QAbstractAnimation;
-class QAbstractState;
-class Q_CORE_EXPORT QStateMachine : public QObject
+class Q_CORE_EXPORT QStateMachine : public QState
{
Q_OBJECT
- Q_PROPERTY(QState* rootState READ rootState)
- Q_PROPERTY(QAbstractState* initialState READ initialState WRITE setInitialState)
- Q_PROPERTY(QAbstractState* errorState READ errorState WRITE setErrorState)
Q_PROPERTY(QString errorString READ errorString)
Q_PROPERTY(RestorePolicy globalRestorePolicy READ globalRestorePolicy WRITE setGlobalRestorePolicy)
Q_ENUMS(RestorePolicy)
@@ -94,14 +88,6 @@ public:
void addState(QAbstractState *state);
void removeState(QAbstractState *state);
- QState *rootState() const;
-
- QAbstractState *initialState() const;
- void setInitialState(QAbstractState *state);
-
- QAbstractState *errorState() const;
- void setErrorState(QAbstractState *state);
-
Error error() const;
QString errorString() const;
void clearError();
@@ -135,9 +121,11 @@ public Q_SLOTS:
Q_SIGNALS:
void started();
void stopped();
- void finished();
protected:
+ void onEntry(QEvent *event);
+ void onExit(QEvent *event);
+
void postInternalEvent(QEvent *event);
virtual void beginSelectTransitions(QEvent *event);
@@ -153,7 +141,7 @@ protected:
private:
Q_DISABLE_COPY(QStateMachine)
- Q_DECLARE_SCOPED_PRIVATE(QStateMachine)
+ Q_DECLARE_PRIVATE(QStateMachine)
Q_PRIVATE_SLOT(d_func(), void _q_start())
Q_PRIVATE_SLOT(d_func(), void _q_process())
#ifndef QT_NO_ANIMATION
diff --git a/src/corelib/statemachine/qstatemachine_p.h b/src/corelib/statemachine/qstatemachine_p.h
index 1335b93..f0f74d6 100644
--- a/src/corelib/statemachine/qstatemachine_p.h
+++ b/src/corelib/statemachine/qstatemachine_p.h
@@ -53,7 +53,8 @@
// We mean it.
//
-#include <private/qobject_p.h>
+#include "private/qstate_p.h"
+
#include <QtCore/qcoreevent.h>
#include <QtCore/qhash.h>
#include <QtCore/qlist.h>
@@ -61,9 +62,6 @@
#include <QtCore/qset.h>
#include <QtCore/qvector.h>
-#include "qstate.h"
-#include "private/qstate_p.h"
-
QT_BEGIN_NAMESPACE
class QEvent;
@@ -81,7 +79,7 @@ class QAbstractAnimation;
#endif
class QStateMachine;
-class QStateMachinePrivate : public QObjectPrivate
+class Q_CORE_EXPORT QStateMachinePrivate : public QStatePrivate
{
Q_DECLARE_PUBLIC(QStateMachine)
public:
@@ -101,7 +99,7 @@ public:
static QStateMachinePrivate *get(QStateMachine *q);
- static QState *findLCA(const QList<QAbstractState*> &states);
+ QState *findLCA(const QList<QAbstractState*> &states) const;
static bool stateEntryLessThan(QAbstractState *s1, QAbstractState *s2);
static bool stateExitLessThan(QAbstractState *s1, QAbstractState *s2);
@@ -116,6 +114,11 @@ public:
void _q_animationFinished();
#endif
+ QState *rootState() const;
+
+ QState *startState();
+ void removeStartState();
+
void microstep(QEvent *event, const QList<QAbstractTransition*> &transitionList);
bool isPreempted(const QAbstractState *s, const QSet<QAbstractTransition*> &transitions) const;
QSet<QAbstractTransition*> selectTransitions(QEvent *event) const;
@@ -133,11 +136,13 @@ public:
bool isInFinalState(QAbstractState *s) const;
static bool isFinal(const QAbstractState *s);
static bool isParallel(const QAbstractState *s);
- static bool isCompound(const QAbstractState *s);
- static bool isAtomic(const QAbstractState *s);
+ bool isCompound(const QAbstractState *s) const;
+ bool isAtomic(const QAbstractState *s) const;
static bool isDescendantOf(const QAbstractState *s, const QAbstractState *other);
static QList<QState*> properAncestors(const QAbstractState *s, const QState *upperBound);
+ void goToState(QAbstractState *targetState);
+
void registerTransitions(QAbstractState *state);
void registerSignalTransition(QSignalTransition *transition);
void unregisterSignalTransition(QSignalTransition *transition);
@@ -147,10 +152,11 @@ public:
#endif
void unregisterTransition(QAbstractTransition *transition);
void unregisterAllTransitions();
- void handleTransitionSignal(const QObject *sender, int signalIndex,
+ void handleTransitionSignal(QObject *sender, int signalIndex,
void **args);
void scheduleProcess();
+#ifndef QT_NO_PROPERTIES
typedef QPair<QObject *, QByteArray> RestorableId;
QHash<RestorableId, QVariant> registeredRestorables;
void registerRestorable(QObject *object, const QByteArray &propertyName);
@@ -158,13 +164,14 @@ public:
bool hasRestorable(QObject *object, const QByteArray &propertyName) const;
QVariant restorableValue(QObject *object, const QByteArray &propertyName) const;
QList<QPropertyAssignment> restorablesToPropertyList(const QHash<RestorableId, QVariant> &restorables) const;
+#endif
State state;
+ QState *_startState;
bool processing;
bool processingScheduled;
bool stop;
StopProcessingReason stopProcessingReason;
- QState *rootState;
QSet<QAbstractState*> configuration;
QList<QEvent*> internalEventQueue;
QList<QEvent*> externalEventQueue;
@@ -207,7 +214,7 @@ public:
f_cloneEvent cloneEvent;
};
- static Q_CORE_EXPORT const Handler *handler;
+ static const Handler *handler;
};
QT_END_NAMESPACE
diff --git a/src/corelib/thread/qmutex_unix.cpp b/src/corelib/thread/qmutex_unix.cpp
index 43ba668..02c7c6f 100644
--- a/src/corelib/thread/qmutex_unix.cpp
+++ b/src/corelib/thread/qmutex_unix.cpp
@@ -49,6 +49,10 @@
#include <errno.h>
+#if defined(Q_OS_VXWORKS) && defined(wakeup)
+#undef wakeup
+#endif
+
QT_BEGIN_NAMESPACE
static void report_error(int code, const char *where, const char *what)
diff --git a/src/corelib/thread/qmutex_win.cpp b/src/corelib/thread/qmutex_win.cpp
index f2022a5..ae79735 100644
--- a/src/corelib/thread/qmutex_win.cpp
+++ b/src/corelib/thread/qmutex_win.cpp
@@ -39,7 +39,7 @@
**
****************************************************************************/
-#include <windows.h>
+#include <qt_windows.h>
#include "qmutex.h"
#include <qatomic.h>
@@ -50,19 +50,7 @@ QT_BEGIN_NAMESPACE
QMutexPrivate::QMutexPrivate(QMutex::RecursionMode mode)
: recursive(mode == QMutex::Recursive), contenders(0), lastSpinCount(0), owner(0), count(0)
{
- if (QSysInfo::WindowsVersion == 0) {
- // mutex was created before initializing WindowsVersion. this
- // can happen when creating the resource file engine handler,
- // for example. try again with just the A version
-#ifdef Q_OS_WINCE
- event = CreateEventW(0, FALSE, FALSE, 0);
-#else
- event = CreateEventA(0, FALSE, FALSE, 0);
-#endif
- } else {
- event = QT_WA_INLINE(CreateEventW(0, FALSE, FALSE, 0),
- CreateEventA(0, FALSE, FALSE, 0));
- }
+ event = CreateEvent(0, FALSE, FALSE, 0);
if (!event)
qWarning("QMutexPrivate::QMutexPrivate: Cannot create event");
}
diff --git a/src/corelib/thread/qreadwritelock.h b/src/corelib/thread/qreadwritelock.h
index 51d42b5..4742bea 100644
--- a/src/corelib/thread/qreadwritelock.h
+++ b/src/corelib/thread/qreadwritelock.h
@@ -190,7 +190,8 @@ inline QWriteLocker::QWriteLocker(QReadWriteLock *areadWriteLock)
class Q_CORE_EXPORT QReadWriteLock
{
public:
- inline explicit QReadWriteLock() { }
+ enum RecursionMode { NonRecursive, Recursive };
+ inline explicit QReadWriteLock(RecursionMode = NonRecursive) { }
inline ~QReadWriteLock() { }
static inline void lockForRead() { }
diff --git a/src/corelib/thread/qthread.cpp b/src/corelib/thread/qthread.cpp
index a4a57ce..6eaa55a 100644
--- a/src/corelib/thread/qthread.cpp
+++ b/src/corelib/thread/qthread.cpp
@@ -264,9 +264,14 @@ QThreadPrivate::~QThreadPrivate()
Returns the thread handle of the currently executing thread.
\warning The handle returned by this function is used for internal
- purposes and should not be used in any application code. On
- Windows, the returned value is a pseudo-handle for the current
- thread that cannot be used for numerical comparison.
+ purposes and should not be used in any application code.
+
+ \warning On Windows, the returned value is a pseudo-handle for the
+ current thread. It can't be used for numerical comparison. i.e.,
+ this function returns the DWORD (Windows-Thread ID) returned by
+ the Win32 function getCurrentThreadId(), not the HANDLE
+ (Windows-Thread HANDLE) returned by the Win32 function
+ getCurrentThread().
*/
/*!
diff --git a/src/corelib/thread/qthread.h b/src/corelib/thread/qthread.h
index 0d8aa8b..c784352 100644
--- a/src/corelib/thread/qthread.h
+++ b/src/corelib/thread/qthread.h
@@ -127,7 +127,7 @@ protected:
private:
Q_OBJECT
- Q_DECLARE_SCOPED_PRIVATE(QThread)
+ Q_DECLARE_PRIVATE(QThread)
static void initialize();
static void cleanup();
@@ -154,7 +154,7 @@ private:
friend class QCoreApplication;
friend class QThreadData;
friend class QAdoptedThread;
- Q_DECLARE_SCOPED_PRIVATE(QThread)
+ Q_DECLARE_PRIVATE(QThread)
};
#endif // QT_NO_THREAD
diff --git a/src/corelib/thread/qthread_p.h b/src/corelib/thread/qthread_p.h
index 752796b..a67ae33 100644
--- a/src/corelib/thread/qthread_p.h
+++ b/src/corelib/thread/qthread_p.h
@@ -214,7 +214,7 @@ public:
// thread wrapper for the main() thread
class QAdoptedThread : public QThread
{
- Q_DECLARE_SCOPED_PRIVATE(QThread)
+ Q_DECLARE_PRIVATE(QThread)
public:
QAdoptedThread(QThreadData *data = 0);
diff --git a/src/corelib/thread/qthread_unix.cpp b/src/corelib/thread/qthread_unix.cpp
index cabf823..de0575c 100644
--- a/src/corelib/thread/qthread_unix.cpp
+++ b/src/corelib/thread/qthread_unix.cpp
@@ -66,6 +66,13 @@
#ifdef Q_OS_BSD4
#include <sys/sysctl.h>
#endif
+#ifdef Q_OS_VXWORKS
+# if (_WRS_VXWORKS_MAJOR > 6) || ((_WRS_VXWORKS_MAJOR == 6) && (_WRS_VXWORKS_MINOR >= 6))
+# include <vxCpuLib.h>
+# include <cpuset.h>
+# define QT_VXWORKS_HAS_CPUSET
+# endif
+#endif
#if defined(Q_OS_MAC)
# ifdef qDebug
@@ -90,6 +97,13 @@ static pthread_key_t current_thread_data_key;
static void destroy_current_thread_data(void *p)
{
+#if defined(Q_OS_VXWORKS)
+ // Calling setspecific(..., 0) sets the value to 0 for ALL threads.
+ // The 'set to 1' workaround adds a bit of an overhead though,
+ // since this function is called twice now.
+ if (p == (void *)1)
+ return;
+#endif
// POSIX says the value in our key is set to zero before calling
// this destructor function, so we need to set it back to the
// right value...
@@ -98,7 +112,12 @@ static void destroy_current_thread_data(void *p)
// ... but we must reset it to zero before returning so we aren't
// called again (POSIX allows implementations to call destructor
// functions repeatedly until all values are zero)
- pthread_setspecific(current_thread_data_key, 0);
+ pthread_setspecific(current_thread_data_key,
+#if defined(Q_OS_VXWORKS)
+ (void *)1);
+#else
+ 0);
+#endif
}
static void create_current_thread_data_key()
@@ -323,10 +342,28 @@ int QThread::idealThreadCount()
// IRIX
cores = (int)sysconf(_SC_NPROC_ONLN);
#elif defined(Q_OS_INTEGRITY)
- // ### TODO - how to get the amound of CPUs on INTEGRITY?
+ // as of aug 2008 Integrity only supports one single core CPU
+ cores = 1;
#elif defined(Q_OS_SYMBIAN)
- // ### TODO - Get the number of cores from HAL? when multicore architectures (SMP) are supported
+ // ### TODO - Get the number of cores from HAL? when multicore architectures (SMP) are supported
+ cores = 1;
+#elif defined(Q_OS_VXWORKS)
+ // VxWorks
+# if defined(QT_VXWORKS_HAS_CPUSET)
+ cpuset_t cpus = vxCpuEnabledGet();
+ cores = 0;
+
+ // 128 cores should be enough for everyone ;)
+ for (int i = 0; i < 128 && !CPUSET_ISZERO(cpus); ++i) {
+ if (CPUSET_ISSET(cpus, i)) {
+ CPUSET_CLR(cpus, i);
+ cores++;
+ }
+ }
+# else
+ // as of aug 2008 VxWorks < 6.6 only supports one single core CPU
cores = 1;
+# endif
#else
// the rest: Linux, Solaris, AIX, Tru64
cores = (int)sysconf(_SC_NPROCESSORS_ONLN);
diff --git a/src/corelib/thread/qthread_win.cpp b/src/corelib/thread/qthread_win.cpp
index 8bf6269..d8a1876 100644
--- a/src/corelib/thread/qthread_win.cpp
+++ b/src/corelib/thread/qthread_win.cpp
@@ -54,7 +54,7 @@
#include <private/qcoreapplication_p.h>
#include <private/qeventdispatcher_win_p.h>
-#include <windows.h>
+#include <qt_windows.h>
#ifndef Q_OS_WINCE
@@ -170,8 +170,7 @@ void qt_watch_adopted_thread(const HANDLE adoptedThreadHandle, QThread *qthread)
// Start watcher thread if it is not already running.
if (qt_adopted_thread_watcher_handle == 0) {
if (qt_adopted_thread_wakeup == 0) {
- qt_adopted_thread_wakeup = QT_WA_INLINE(CreateEventW(0, false, false, 0),
- CreateEventA(0, false, false, 0));
+ qt_adopted_thread_wakeup = CreateEvent(0, false, false, 0);
qt_adopted_thread_handles.prepend(qt_adopted_thread_wakeup);
}
@@ -371,11 +370,10 @@ int QThread::idealThreadCount()
void QThread::yieldCurrentThread()
{
#ifndef Q_OS_WINCE
- if (QSysInfo::WindowsVersion & QSysInfo::WV_NT_based)
- SwitchToThread();
- else
+ SwitchToThread();
+#else
+ ::Sleep(0);
#endif
- ::Sleep(0);
}
void QThread::sleep(unsigned long secs)
@@ -426,17 +424,11 @@ void QThread::start(Priority priority)
return;
}
- // Since Win 9x will have problems if the priority is idle or time critical
- // we have to use the closest one instead
int prio;
d->priority = priority;
switch (d->priority) {
case IdlePriority:
- if (QSysInfo::WindowsVersion & QSysInfo::WV_DOS_based) {
- prio = THREAD_PRIORITY_LOWEST;
- } else {
- prio = THREAD_PRIORITY_IDLE;
- }
+ prio = THREAD_PRIORITY_IDLE;
break;
case LowestPriority:
@@ -460,11 +452,7 @@ void QThread::start(Priority priority)
break;
case TimeCriticalPriority:
- if (QSysInfo::WindowsVersion & QSysInfo::WV_DOS_based) {
- prio = THREAD_PRIORITY_HIGHEST;
- } else {
- prio = THREAD_PRIORITY_TIME_CRITICAL;
- }
+ prio = THREAD_PRIORITY_TIME_CRITICAL;
break;
case InheritPriority:
@@ -570,17 +558,11 @@ void QThread::setPriority(Priority priority)
// copied from start() with a few modifications:
- // Since Win 9x will have problems if the priority is idle or time critical
- // we have to use the closest one instead
int prio;
d->priority = priority;
switch (d->priority) {
case IdlePriority:
- if (QSysInfo::WindowsVersion & QSysInfo::WV_DOS_based) {
- prio = THREAD_PRIORITY_LOWEST;
- } else {
- prio = THREAD_PRIORITY_IDLE;
- }
+ prio = THREAD_PRIORITY_IDLE;
break;
case LowestPriority:
@@ -604,11 +586,7 @@ void QThread::setPriority(Priority priority)
break;
case TimeCriticalPriority:
- if (QSysInfo::WindowsVersion & QSysInfo::WV_DOS_based) {
- prio = THREAD_PRIORITY_HIGHEST;
- } else {
- prio = THREAD_PRIORITY_TIME_CRITICAL;
- }
+ prio = THREAD_PRIORITY_TIME_CRITICAL;
break;
case InheritPriority:
diff --git a/src/corelib/thread/qwaitcondition_win.cpp b/src/corelib/thread/qwaitcondition_win.cpp
index 9129fb6..b0146d2 100644
--- a/src/corelib/thread/qwaitcondition_win.cpp
+++ b/src/corelib/thread/qwaitcondition_win.cpp
@@ -64,11 +64,7 @@ class QWaitConditionEvent
public:
inline QWaitConditionEvent() : priority(0), wokenUp(false)
{
- QT_WA ({
- event = CreateEvent(NULL, TRUE, FALSE, NULL);
- }, {
- event = CreateEventA(NULL, TRUE, FALSE, NULL);
- });
+ event = CreateEvent(NULL, TRUE, FALSE, NULL);
}
inline ~QWaitConditionEvent() { CloseHandle(event); }
int priority;
diff --git a/src/corelib/tools/qbytearraymatcher.h b/src/corelib/tools/qbytearraymatcher.h
index 697b6ff..4bad24c 100644
--- a/src/corelib/tools/qbytearraymatcher.h
+++ b/src/corelib/tools/qbytearraymatcher.h
@@ -81,13 +81,14 @@ private:
// explicitely allow anonymous unions for RVCT to prevent compiler warnings
#pragma anon_unions
#endif
+ struct Data {
+ uchar q_skiptable[256];
+ const uchar *p;
+ int l;
+ };
union {
uint dummy[256];
- struct {
- uchar q_skiptable[256];
- const uchar *p;
- int l;
- } p;
+ Data p;
};
};
diff --git a/src/corelib/tools/qbytedata_p.h b/src/corelib/tools/qbytedata_p.h
new file mode 100644
index 0000000..f3724f6
--- /dev/null
+++ b/src/corelib/tools/qbytedata_p.h
@@ -0,0 +1,213 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtCore module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QBYTEDATA_H
+#define QBYTEDATA_H
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
+#include <qbytearray.h>
+
+QT_BEGIN_NAMESPACE
+
+// this class handles a list of QByteArrays. It is a variant of QRingBuffer
+// that avoid malloc/realloc/memcpy.
+class QByteDataBuffer
+{
+private:
+ QList<QByteArray> buffers;
+ qint64 bufferCompleteSize;
+public:
+ QByteDataBuffer() : bufferCompleteSize(0)
+ {
+ }
+
+ ~QByteDataBuffer()
+ {
+ clear();
+ }
+
+ inline void append(QByteDataBuffer& other)
+ {
+ if (other.isEmpty())
+ return;
+
+ buffers.append(other.buffers);
+ bufferCompleteSize += other.byteAmount();
+ }
+
+
+ inline void append(QByteArray& bd)
+ {
+ if (bd.isEmpty())
+ return;
+
+ buffers.append(bd);
+ bufferCompleteSize += bd.size();
+ }
+
+ inline void prepend(QByteArray& bd)
+ {
+ if (bd.isEmpty())
+ return;
+
+ buffers.prepend(bd);
+ bufferCompleteSize += bd.size();
+ }
+
+ // return the first QByteData. User of this function has to qFree() its .data!
+ // preferably use this function to read data.
+ inline QByteArray read()
+ {
+ bufferCompleteSize -= buffers.first().size();
+ return buffers.takeFirst();
+ }
+
+ // return everything. User of this function has to qFree() its .data!
+ // avoid to use this, it might malloc and memcpy.
+ inline QByteArray readAll()
+ {
+ return read(byteAmount());
+ }
+
+ // return amount. User of this function has to qFree() its .data!
+ // avoid to use this, it might malloc and memcpy.
+ inline QByteArray read(qint64 amount)
+ {
+ amount = qMin(byteAmount(), amount);
+ QByteArray byteData;
+ byteData.resize(amount);
+ read(byteData.data(), byteData.size());
+ return byteData;
+ }
+
+ // return amount bytes. User of this function has to qFree() its .data!
+ // avoid to use this, it will memcpy.
+ qint64 read(char* dst, qint64 amount)
+ {
+ amount = qMin(amount, byteAmount());
+ qint64 originalAmount = amount;
+ char *writeDst = dst;
+
+ while (amount > 0) {
+ QByteArray first = buffers.takeFirst();
+ if (amount >= first.size()) {
+ // take it completely
+ bufferCompleteSize -= first.size();
+ amount -= first.size();
+ memcpy(writeDst, first.constData(), first.size());
+ writeDst += first.size();
+ first.clear();
+ } else {
+ // take a part of it & it is the last one to take
+ bufferCompleteSize -= amount;
+ memcpy(writeDst, first.constData(), amount);
+
+ qint64 newFirstSize = first.size() - amount;
+ QByteArray newFirstData;
+ newFirstData.resize(newFirstSize);
+ memcpy(newFirstData.data(), first.constData() + amount, newFirstSize);
+ buffers.prepend(newFirstData);
+
+ amount = 0;
+ first.clear();
+ }
+ }
+
+ return originalAmount;
+ }
+
+ inline char getChar()
+ {
+ char c;
+ read(&c, 1);
+ return c;
+ }
+
+ inline void clear()
+ {
+ buffers.clear();
+ bufferCompleteSize = 0;
+ }
+
+ // The byte count of all QByteArrays
+ inline qint64 byteAmount() const
+ {
+ return bufferCompleteSize;
+ }
+
+ // the number of QByteArrays
+ inline qint64 bufferCount() const
+ {
+ return buffers.length();
+ }
+
+ inline bool isEmpty() const
+ {
+ return byteAmount() == 0;
+ }
+
+ inline qint64 sizeNextBlock() const
+ {
+ if(buffers.isEmpty())
+ return 0;
+ else
+ return buffers.first().size();
+ }
+
+ inline QByteArray& operator[](int i)
+ {
+ return buffers[i];
+ }
+};
+
+QT_END_NAMESPACE
+
+#endif // QBYTEDATA_H
diff --git a/src/corelib/tools/qchar.cpp b/src/corelib/tools/qchar.cpp
index 88053d6..458a383 100644
--- a/src/corelib/tools/qchar.cpp
+++ b/src/corelib/tools/qchar.cpp
@@ -1421,16 +1421,15 @@ QDataStream &operator>>(QDataStream &in, QChar &chr)
// ---------------------------------------------------------------------------
-static QString decomposeHelper
- (const QString &str, bool canonical, QChar::UnicodeVersion version)
+static void decomposeHelper(QString *str, bool canonical, QChar::UnicodeVersion version, int from)
{
unsigned short buffer[3];
- QString s = str;
+ QString &s = *str;
- const unsigned short *utf16 = s.utf16();
+ const unsigned short *utf16 = reinterpret_cast<unsigned short *>(s.data());
const unsigned short *uc = utf16 + s.length();
- while (uc != utf16) {
+ while (uc != utf16 + from) {
uint ucs4 = *(--uc);
if (QChar(ucs4).isLowSurrogate() && uc != utf16) {
ushort high = *(uc - 1);
@@ -1450,11 +1449,9 @@ static QString decomposeHelper
s.replace(uc - utf16, ucs4 > 0x10000 ? 2 : 1, (const QChar *)d, length);
// since the insert invalidates the pointers and we do decomposition recursive
int pos = uc - utf16;
- utf16 = s.utf16();
+ utf16 = reinterpret_cast<unsigned short *>(s.data());
uc = utf16 + pos + length;
}
-
- return s;
}
@@ -1489,21 +1486,21 @@ static ushort ligatureHelper(ushort u1, ushort u2)
return 0;
}
-static QString composeHelper(const QString &str)
+static void composeHelper(QString *str, int from)
{
- QString s = str;
+ QString &s = *str;
- if (s.length() < 2)
- return s;
+ if (s.length() - from < 2)
+ return;
// the loop can partly ignore high Unicode as all ligatures are in the BMP
int starter = 0;
int lastCombining = 0;
- int pos = 0;
+ int pos = from;
while (pos < s.length()) {
- uint uc = s.utf16()[pos];
+ uint uc = s.at(pos).unicode();
if (QChar(uc).isHighSurrogate() && pos < s.length()-1) {
- ushort low = s.utf16()[pos+1];
+ ushort low = s.at(pos+1).unicode();
if (QChar(low).isLowSurrogate()) {
uc = QChar::surrogateToUcs4(uc, low);
++pos;
@@ -1512,7 +1509,7 @@ static QString composeHelper(const QString &str)
int combining = QChar::combiningClass(uc);
if (starter == pos - 1 || combining > lastCombining) {
// allowed to form ligature with S
- QChar ligature = ligatureHelper(s.utf16()[starter], uc);
+ QChar ligature = ligatureHelper(s.at(starter).unicode(), uc);
if (ligature.unicode()) {
s[starter] = ligature;
s.remove(pos, 1);
@@ -1524,16 +1521,14 @@ static QString composeHelper(const QString &str)
lastCombining = combining;
++pos;
}
- return s;
}
-static QString canonicalOrderHelper
- (const QString &str, QChar::UnicodeVersion version)
+static void canonicalOrderHelper(QString *str, QChar::UnicodeVersion version, int from)
{
- QString s = str;
+ QString &s = *str;
const int l = s.length()-1;
- int pos = 0;
+ int pos = from;
while (pos < l) {
int p2 = pos+1;
uint u1 = s.at(pos).unicode();
@@ -1593,7 +1588,6 @@ static QString canonicalOrderHelper
++pos;
}
}
- return s;
}
int QT_FASTCALL QUnicodeTables::script(unsigned int uc)
diff --git a/src/corelib/tools/qcontiguouscache.cpp b/src/corelib/tools/qcontiguouscache.cpp
index e738ec8..f42b7a0 100644
--- a/src/corelib/tools/qcontiguouscache.cpp
+++ b/src/corelib/tools/qcontiguouscache.cpp
@@ -61,6 +61,7 @@ void QContiguousCacheData::dump() const
\ingroup tools
\ingroup shared
\reentrant
+ \since 4.6
The QContiguousCache class provides an efficient way of caching items for
display in a user interface view. Unlike QCache, it adds a restriction
@@ -95,7 +96,7 @@ MyRecord record(int row) const
in the case where the requested row is a long way from the currently cached
items. If there is a gap between where the new item is inserted and the currently
cached items then the existing cached items are first removed to retain
- the contiguous nature of the cache. Hence it is important to take some care then
+ the contiguous nature of the cache. Hence it is important to take some care then
when using insert() in order to avoid unwanted clearing of the cache.
The range of valid indexes for the QContiguousCache class are from
@@ -104,9 +105,9 @@ MyRecord record(int row) const
than INT_MAX can result in the indexes of the cache being invalid.
When the cache indexes are invalid it is important to call
normalizeIndexes() before calling any of containsIndex(), firstIndex(),
- lastIndex(), at() or the [] operator. Calling these
- functions when the cache has invalid indexes will result in undefined
- behavior. The indexes can be checked by using areIndexesValid()
+ lastIndex(), at() or \l{QContiguousCache::operator[]()}{operator[]()}.
+ Calling these functions when the cache has invalid indexes will result in
+ undefined behavior. The indexes can be checked by using areIndexesValid()
In most cases the indexes will not exceed 0 to INT_MAX, and
normalizeIndexes() will not need to be used.
@@ -190,8 +191,6 @@ MyRecord record(int row) const
/*! \fn int QContiguousCache::count() const
- \overload
-
Same as size().
*/
@@ -258,14 +257,15 @@ MyRecord record(int row) const
/*! \fn T &QContiguousCache::operator[](int i)
- Returns the item at index position \a i as a modifiable reference. If
+ Returns the item at index position \a i as a modifiable reference. If
the cache does not contain an item at the given index position \a i
then it will first insert an empty item at that position.
In most cases it is better to use either at() or insert().
- Note that using non-const operators can cause QContiguousCache to do a deep
- copy.
+ \note This non-const overload of operator[] requires QContiguousCache
+ to make a deep copy. Use at() for read-only access to a non-const
+ QContiguousCache.
\sa insert(), at()
*/
diff --git a/src/corelib/tools/qcontiguouscache.h b/src/corelib/tools/qcontiguouscache.h
index 7d52f1e..7221925 100644
--- a/src/corelib/tools/qcontiguouscache.h
+++ b/src/corelib/tools/qcontiguouscache.h
@@ -44,6 +44,7 @@
#include <QtCore/qatomic.h>
#include <limits.h>
+#include <new>
QT_BEGIN_HEADER
@@ -76,6 +77,12 @@ struct QContiguousCacheTypedData
int start;
int offset;
uint sharable : 1;
+ // uint unused : 31;
+
+ // total is 24 bytes (HP-UX aCC: 40 bytes)
+ // the next entry is already aligned to 8 bytes
+ // there will be an 8 byte gap here if T requires 16-byte alignment
+ // (such as long double on 64-bit platforms, __int128, __float128)
T array[1];
};
@@ -166,8 +173,8 @@ void QContiguousCache<T>::detach_helper()
T *dest = x.d->array + x.d->start;
T *src = d->array + d->start;
- int count = x.d->count;
- while (count--) {
+ int oldcount = x.d->count;
+ while (oldcount--) {
if (QTypeInfo<T>::isComplex) {
new (dest) T(*src);
} else {
@@ -200,8 +207,8 @@ void QContiguousCache<T>::setCapacity(int asize)
x.d->start = x.d->offset % x.d->alloc;
T *dest = x.d->array + (x.d->start + x.d->count-1) % x.d->alloc;
T *src = d->array + (d->start + d->count-1) % d->alloc;
- int count = x.d->count;
- while (count--) {
+ int oldcount = x.d->count;
+ while (oldcount--) {
if (QTypeInfo<T>::isComplex) {
new (dest) T(*src);
} else {
@@ -224,10 +231,10 @@ void QContiguousCache<T>::clear()
{
if (d->ref == 1) {
if (QTypeInfo<T>::isComplex) {
- int count = d->count;
+ int oldcount = d->count;
T * i = d->array + d->start;
T * e = d->array + d->alloc;
- while (count--) {
+ while (oldcount--) {
i->~T();
i++;
if (i == e)
@@ -254,11 +261,11 @@ inline QContiguousCacheData *QContiguousCache<T>::malloc(int aalloc)
}
template <typename T>
-QContiguousCache<T>::QContiguousCache(int capacity)
+QContiguousCache<T>::QContiguousCache(int cap)
{
- p = malloc(capacity);
+ p = malloc(cap);
d->ref = 1;
- d->alloc = capacity;
+ d->alloc = cap;
d->count = d->start = d->offset = 0;
d->sharable = true;
}
@@ -295,10 +302,10 @@ template <typename T>
void QContiguousCache<T>::free(Data *x)
{
if (QTypeInfo<T>::isComplex) {
- int count = d->count;
+ int oldcount = d->count;
T * i = d->array + d->start;
T * e = d->array + d->alloc;
- while (count--) {
+ while (oldcount--) {
i->~T();
i++;
if (i == e)
diff --git a/src/corelib/tools/qdatetime.cpp b/src/corelib/tools/qdatetime.cpp
index 6e4aaeb..d43b376 100644
--- a/src/corelib/tools/qdatetime.cpp
+++ b/src/corelib/tools/qdatetime.cpp
@@ -49,7 +49,7 @@
#include "qregexp.h"
#include "qdebug.h"
#if defined(Q_OS_WIN32) || defined(Q_OS_WINCE)
-#include <windows.h>
+#include <qt_windows.h>
#endif
#ifndef Q_WS_WIN
#include <locale.h>
@@ -2502,16 +2502,9 @@ QString QDateTime::toString(Qt::DateFormat f) const
buf += QLatin1Char(' ');
buf += QString::number(d->date.day());
#else
- QString winstr;
- QT_WA({
- TCHAR out[255];
- GetLocaleInfo(LOCALE_USER_DEFAULT, LOCALE_ILDATE, out, 255);
- winstr = QString::fromUtf16((ushort*)out);
- } , {
- char out[255];
- GetLocaleInfoA(LOCALE_USER_DEFAULT, LOCALE_ILDATE, (char*)&out, 255);
- winstr = QString::fromLocal8Bit(out);
- });
+ wchar_t out[255];
+ GetLocaleInfo(LOCALE_USER_DEFAULT, LOCALE_ILDATE, out, 255);
+ QString winstr = QString::fromWCharArray(out);
switch (winstr.toInt()) {
case 1:
buf = d->date.shortDayName(d->date.dayOfWeek());
diff --git a/src/corelib/tools/qeasingcurve.cpp b/src/corelib/tools/qeasingcurve.cpp
index 18a252a..0828c61 100644
--- a/src/corelib/tools/qeasingcurve.cpp
+++ b/src/corelib/tools/qeasingcurve.cpp
@@ -60,8 +60,10 @@
Easing curves describe a function that controls how the speed of the interpolation
between 0 and 1 should be. Easing curves allow transitions from
one value to another to appear more natural than a simple constant speed would allow.
- The QEasingCurve class is usually used in conjunction with the QAnimation class,
- but can be used on its own.
+ The QEasingCurve class is usually used in conjunction with the QVariantAnimation and
+ QPropertyAnimation classes but can be used on its own. It is usually used to accelerate
+ the interpolation from zero velocity (ease in) or decelerate to zero velocity (ease out).
+ Ease in and ease out can also be combined in the same easing curve.
To calculate the speed of the interpolation, the easing curve provides the function
valueForProgress(), where the \a progress argument specifies the progress of the
@@ -80,10 +82,10 @@
\endcode
will print the effective progress of the interpolation between 0 and 1.
- When using a QAnimation, the easing curve will be used to control the
+ When using a QPropertyAnimation, the associated easing curve will be used to control the
progress of the interpolation between startValue and endValue:
\code
- QAnimation animation;
+ QPropertyAnimation animation;
animation.setStartValue(0);
animation.setEndValue(1000);
animation.setDuration(1000);
@@ -98,189 +100,191 @@
\value Linear \inlineimage qeasingcurve-linear.png
\br
- Easing equation function for a simple linear tweening,
- with no easing.
+ Easing curve for a linear (t) function:
+ velocity is constant.
\value InQuad \inlineimage qeasingcurve-inquad.png
\br
- Easing equation function for a quadratic (t^2) easing
- in: accelerating from zero velocity.
+ Easing curve for a quadratic (t^2) function:
+ accelerating from zero velocity.
\value OutQuad \inlineimage qeasingcurve-outquad.png
\br
- Easing equation function for a quadratic (t^2) easing
- out: decelerating to zero velocity.
+ Easing curve for a quadratic (t^2) function:
+ decelerating to zero velocity.
\value InOutQuad \inlineimage qeasingcurve-inoutquad.png
\br
- Easing equation function for a quadratic (t^2) easing
- in/out: acceleration until halfway, then deceleration.
+ Easing curve for a quadratic (t^2) function:
+ acceleration until halfway, then deceleration.
\value OutInQuad \inlineimage qeasingcurve-outinquad.png
\br
- Easing equation function for a quadratic (t^2) easing
- out/in: deceleration until halfway, then acceleration.
+ Easing curve for a quadratic (t^2) function:
+ deceleration until halfway, then acceleration.
\value InCubic \inlineimage qeasingcurve-incubic.png
\br
- Easing equation function for a cubic (t^3) easing
- in: accelerating from zero velocity.
+ Easing curve for a cubic (t^3) function:
+ accelerating from zero velocity.
\value OutCubic \inlineimage qeasingcurve-outcubic.png
\br
- Easing equation function for a cubic (t^3) easing
- out: decelerating from zero velocity.
+ Easing curve for a cubic (t^3) function:
+ decelerating from zero velocity.
\value InOutCubic \inlineimage qeasingcurve-inoutcubic.png
\br
- Easing equation function for a cubic (t^3) easing
- in/out: acceleration until halfway, then deceleration.
+ Easing curve for a cubic (t^3) function:
+ acceleration until halfway, then deceleration.
\value OutInCubic \inlineimage qeasingcurve-outincubic.png
\br
- Easing equation function for a cubic (t^3) easing
- out/in: deceleration until halfway, then acceleration.
+ Easing curve for a cubic (t^3) function:
+ deceleration until halfway, then acceleration.
\value InQuart \inlineimage qeasingcurve-inquart.png
\br
- Easing equation function for a quartic (t^4) easing
- in: accelerating from zero velocity.
+ Easing curve for a quartic (t^4) function:
+ accelerating from zero velocity.
\value OutQuart \inlineimage qeasingcurve-outquart.png
\br
- Easing equation function for a quartic (t^4) easing
- out: decelerating from zero velocity.
+ Easing curve for a cubic (t^4) function:
+ decelerating from zero velocity.
\value InOutQuart \inlineimage qeasingcurve-inoutquart.png
\br
- Easing equation function for a quartic (t^4) easing
- in/out: acceleration until halfway, then deceleration.
+ Easing curve for a cubic (t^4) function:
+ acceleration until halfway, then deceleration.
\value OutInQuart \inlineimage qeasingcurve-outinquart.png
\br
- Easing equation function for a quartic (t^4) easing
- out/in: deceleration until halfway, then acceleration.
+ Easing curve for a cubic (t^4) function:
+ deceleration until halfway, then acceleration.
\value InQuint \inlineimage qeasingcurve-inquint.png
\br
- Easing equation function for a quintic (t^5) easing
+ Easing curve for a quintic (t^5) easing
in: accelerating from zero velocity.
\value OutQuint \inlineimage qeasingcurve-outquint.png
\br
- Easing equation function for a quintic (t^5) easing
- out: decelerating from zero velocity.
+ Easing curve for a cubic (t^5) function:
+ decelerating from zero velocity.
\value InOutQuint \inlineimage qeasingcurve-inoutquint.png
\br
- Easing equation function for a quintic (t^5) easing
- in/out: acceleration until halfway, then deceleration.
+ Easing curve for a cubic (t^5) function:
+ acceleration until halfway, then deceleration.
\value OutInQuint \inlineimage qeasingcurve-outinquint.png
\br
- Easing equation function for a quintic (t^5) easing
- out/in: deceleration until halfway, then acceleration.
+ Easing curve for a cubic (t^5) function:
+ deceleration until halfway, then acceleration.
\value InSine \inlineimage qeasingcurve-insine.png
\br
- Easing equation function for a sinusoidal (sin(t)) easing
- in: accelerating from zero velocity.
+ Easing curve for a sinusoidal (sin(t)) function:
+ accelerating from zero velocity.
\value OutSine \inlineimage qeasingcurve-outsine.png
\br
- Easing equation function for a sinusoidal (sin(t)) easing
- out: decelerating from zero velocity.
+ Easing curve for a sinusoidal (sin(t)) function:
+ decelerating from zero velocity.
\value InOutSine \inlineimage qeasingcurve-inoutsine.png
\br
- Easing equation function for a sinusoidal (sin(t)) easing
- in/out: acceleration until halfway, then deceleration.
+ Easing curve for a sinusoidal (sin(t)) function:
+ acceleration until halfway, then deceleration.
\value OutInSine \inlineimage qeasingcurve-outinsine.png
\br
- Easing equation function for a sinusoidal (sin(t)) easing
- out/in: deceleration until halfway, then acceleration.
+ Easing curve for a sinusoidal (sin(t)) function:
+ deceleration until halfway, then acceleration.
\value InExpo \inlineimage qeasingcurve-inexpo.png
\br
- Easing equation function for an exponential (2^t) easing
- in: accelerating from zero velocity.
+ Easing curve for an exponential (2^t) function:
+ accelerating from zero velocity.
\value OutExpo \inlineimage qeasingcurve-outexpo.png
\br
- Easing equation function for an exponential (2^t) easing
- out: decelerating from zero velocity.
+ Easing curve for an exponential (2^t) function:
+ decelerating from zero velocity.
\value InOutExpo \inlineimage qeasingcurve-inoutexpo.png
\br
- Easing equation function for an exponential (2^t) easing
- in/out: acceleration until halfway, then deceleration.
+ Easing curve for an exponential (2^t) function:
+ acceleration until halfway, then deceleration.
\value OutInExpo \inlineimage qeasingcurve-outinexpo.png
\br
- Easing equation function for an exponential (2^t) easing
- out/in: deceleration until halfway, then acceleration.
+ Easing curve for an exponential (2^t) function:
+ deceleration until halfway, then acceleration.
\value InCirc \inlineimage qeasingcurve-incirc.png
\br
- Easing equation function for a circular (sqrt(1-t^2)) easing
- in: accelerating from zero velocity.
+ Easing curve for a circular (sqrt(1-t^2)) function:
+ accelerating from zero velocity.
\value OutCirc \inlineimage qeasingcurve-outcirc.png
\br
- Easing equation function for a circular (sqrt(1-t^2)) easing
- out: decelerating from zero velocity.
+ Easing curve for a circular (sqrt(1-t^2)) function:
+ decelerating from zero velocity.
\value InOutCirc \inlineimage qeasingcurve-inoutcirc.png
\br
- Easing equation function for a circular (sqrt(1-t^2)) easing
- in/out: acceleration until halfway, then deceleration.
+ Easing curve for a circular (sqrt(1-t^2)) function:
+ acceleration until halfway, then deceleration.
\value OutInCirc \inlineimage qeasingcurve-outincirc.png
\br
- Easing equation function for a circular (sqrt(1-t^2)) easing
- out/in: deceleration until halfway, then acceleration.
+ Easing curve for a circular (sqrt(1-t^2)) function:
+ deceleration until halfway, then acceleration.
\value InElastic \inlineimage qeasingcurve-inelastic.png
\br
- Easing equation function for an elastic
- (exponentially decaying sine wave) easing in:
+ Easing curve for an elastic
+ (exponentially decaying sine wave) function:
accelerating from zero velocity. The peak amplitude
can be set with the \e amplitude parameter, and the
period of decay by the \e period parameter.
\value OutElastic \inlineimage qeasingcurve-outelastic.png
\br
- Easing equation function for an elastic
- (exponentially decaying sine wave) easing out:
+ Easing curve for an elastic
+ (exponentially decaying sine wave) function:
decelerating from zero velocity. The peak amplitude
can be set with the \e amplitude parameter, and the
period of decay by the \e period parameter.
\value InOutElastic \inlineimage qeasingcurve-inoutelastic.png
\br
- Easing equation function for an elastic
- (exponentially decaying sine wave) easing in/out:
+ Easing curve for an elastic
+ (exponentially decaying sine wave) function:
acceleration until halfway, then deceleration.
\value OutInElastic \inlineimage qeasingcurve-outinelastic.png
\br
- Easing equation function for an elastic
- (exponentially decaying sine wave) easing out/in:
+ Easing curve for an elastic
+ (exponentially decaying sine wave) function:
deceleration until halfway, then acceleration.
\value InBack \inlineimage qeasingcurve-inback.png
\br
- Easing equation function for a back (overshooting
- cubic easing: (s+1)*t^3 - s*t^2) easing in:
+ Easing curve for a back (overshooting
+ cubic function: (s+1)*t^3 - s*t^2) easing in:
accelerating from zero velocity.
\value OutBack \inlineimage qeasingcurve-outback.png
\br
- Easing equation function for a back (overshooting
- cubic easing: (s+1)*t^3 - s*t^2) easing out:
- decelerating from zero velocity.
+ Easing curve for a back (overshooting
+ cubic function: (s+1)*t^3 - s*t^2) easing out:
+ decelerating to zero velocity.
\value InOutBack \inlineimage qeasingcurve-inoutback.png
\br
- Easing equation function for a back (overshooting
- cubic easing: (s+1)*t^3 - s*t^2) easing in/out:
+ Easing curve for a back (overshooting
+ cubic function: (s+1)*t^3 - s*t^2) easing in/out:
acceleration until halfway, then deceleration.
\value OutInBack \inlineimage qeasingcurve-outinback.png
\br
- Easing equation function for a back (overshooting
+ Easing curve for a back (overshooting
cubic easing: (s+1)*t^3 - s*t^2) easing out/in:
deceleration until halfway, then acceleration.
\value InBounce \inlineimage qeasingcurve-inbounce.png
\br
- Easing equation function for a bounce (exponentially
- decaying parabolic bounce) easing in: accelerating
+ Easing curve for a bounce (exponentially
+ decaying parabolic bounce) function: accelerating
from zero velocity.
\value OutBounce \inlineimage qeasingcurve-outbounce.png
\br
- Easing equation function for a bounce (exponentially
- decaying parabolic bounce) easing out: decelerating
+ Easing curve for a bounce (exponentially
+ decaying parabolic bounce) function: decelerating
from zero velocity.
\value InOutBounce \inlineimage qeasingcurve-inoutbounce.png
\br
- Easing equation function for a bounce (exponentially
- decaying parabolic bounce) easing in/out:
+ Easing curve for a bounce (exponentially
+ decaying parabolic bounce) function easing in/out:
acceleration until halfway, then deceleration.
\value OutInBounce \inlineimage qeasingcurve-outinbounce.png
\br
- Easing equation function for a bounce (exponentially
- decaying parabolic bounce) easing out/in:
+ Easing curve for a bounce (exponentially
+ decaying parabolic bounce) function easing out/in:
deceleration until halfway, then acceleration.
\omitvalue InCurve
\omitvalue OutCurve
\omitvalue SineCurve
\omitvalue CosineCurve
- \value Custom This is returned if the user have specified a custom curve type with setCustomType(). Note that you cannot call setType() with this value, but type() can return it.
+ \value Custom This is returned if the user specified a custom curve type with
+ setCustomType(). Note that you cannot call setType() with this value,
+ but type() can return it.
\omitvalue NCurveTypes
*/
diff --git a/src/corelib/tools/qlocale.cpp b/src/corelib/tools/qlocale.cpp
index a8fac2d..18e608d 100644
--- a/src/corelib/tools/qlocale.cpp
+++ b/src/corelib/tools/qlocale.cpp
@@ -393,15 +393,8 @@ static QString winIso3116CtryName(LCID id = LOCALE_USER_DEFAULT);
static QString getWinLocaleInfo(LCTYPE type)
{
- int cnt = 0;
-
LCID id = GetUserDefaultLCID();
-
- QT_WA({
- cnt = GetLocaleInfoW(id, type, 0, 0)*2;
- } , {
- cnt = GetLocaleInfoA(id, type, 0, 0);
- });
+ int cnt = GetLocaleInfo(id, type, 0, 0) * 2;
if (cnt == 0) {
qWarning("QLocale: empty windows locale info (%d)", (int)type);
@@ -410,27 +403,14 @@ static QString getWinLocaleInfo(LCTYPE type)
QByteArray buff(cnt, 0);
- QT_WA({
- cnt = GetLocaleInfoW(id, type,
- reinterpret_cast<wchar_t*>(buff.data()),
- buff.size()/2);
- } , {
- cnt = GetLocaleInfoA(id, type,
- buff.data(), buff.size());
- });
+ cnt = GetLocaleInfo(id, type, reinterpret_cast<wchar_t*>(buff.data()), buff.size() / 2);
if (cnt == 0) {
qWarning("QLocale: empty windows locale info (%d)", (int)type);
return QString();
}
- QString result;
- QT_WA({
- result = QString::fromUtf16(reinterpret_cast<ushort*>(buff.data()));
- } , {
- result = QString::fromLocal8Bit(buff.data());
- });
- return result;
+ return QString::fromWCharArray(reinterpret_cast<const wchar_t *>(buff.data()));
}
QByteArray getWinLocaleName(LCID id = LOCALE_USER_DEFAULT)
@@ -440,8 +420,8 @@ QByteArray getWinLocaleName(LCID id = LOCALE_USER_DEFAULT)
result = envVarLocale();
QChar lang[3];
QChar cntry[2];
- if ( result == "C" || !result.isEmpty()
- && splitLocaleName(QString::fromLocal8Bit(result), lang, cntry) ) {
+ if ( result == "C" || (!result.isEmpty()
+ && splitLocaleName(QString::fromLocal8Bit(result), lang, cntry)) ) {
long id = 0;
bool ok = false;
id = qstrtoll(result.data(), 0, 0, &ok);
@@ -452,20 +432,19 @@ QByteArray getWinLocaleName(LCID id = LOCALE_USER_DEFAULT)
}
}
- if (QSysInfo::WindowsVersion == QSysInfo::WV_95
- || (QSysInfo::WindowsVersion & QSysInfo::WV_CE_based)) {
- result = winLangCodeToIsoName(id != LOCALE_USER_DEFAULT ? id : GetUserDefaultLCID());
- } else {
- if (id == LOCALE_USER_DEFAULT)
- id = GetUserDefaultLCID();
- QString resultuage = winIso639LangName(id);
- QString country = winIso3116CtryName(id);
- result = resultuage.toLatin1();
- if (!country.isEmpty()) {
- result += '_';
- result += country.toLatin1();
- }
+#if defined(Q_OS_WINCE)
+ result = winLangCodeToIsoName(id != LOCALE_USER_DEFAULT ? id : GetUserDefaultLCID());
+#else
+ if (id == LOCALE_USER_DEFAULT)
+ id = GetUserDefaultLCID();
+ QString resultuage = winIso639LangName(id);
+ QString country = winIso3116CtryName(id);
+ result = resultuage.toLatin1();
+ if (!country.isEmpty()) {
+ result += '_';
+ result += country.toLatin1();
}
+#endif
return result;
}
@@ -551,15 +530,9 @@ static QString winDateToString(const QDate &date, DWORD flags)
LCID id = GetUserDefaultLCID();
- QT_WA({
- TCHAR buf[255];
- if (GetDateFormatW(id, flags, &st, 0, buf, 255))
- return QString::fromUtf16((ushort*)buf);
- } , {
- char buf[255];
- if (GetDateFormatA(id, flags, &st, 0, (char*)&buf, 255))
- return QString::fromLocal8Bit(buf);
- });
+ wchar_t buf[255];
+ if (GetDateFormat(id, flags, &st, 0, buf, 255))
+ return QString::fromWCharArray(buf);
return QString();
}
@@ -576,15 +549,9 @@ static QString winTimeToString(const QTime &time)
DWORD flags = 0;
LCID id = GetUserDefaultLCID();
- QT_WA({
- TCHAR buf[255];
- if (GetTimeFormatW(id, flags, &st, 0, buf, 255))
- return QString::fromUtf16((ushort*)buf);
- } , {
- char buf[255];
- if (GetTimeFormatA(id, flags, &st, 0, (char*)&buf, 255))
- return QString::fromLocal8Bit(buf);
- });
+ wchar_t buf[255];
+ if (GetTimeFormat(id, flags, &st, 0, buf, 255))
+ return QString::fromWCharArray(buf);
return QString();
}
@@ -633,12 +600,10 @@ static QString winMonthName(int month, bool short_format)
static QLocale::MeasurementSystem winSystemMeasurementSystem()
{
LCID id = GetUserDefaultLCID();
- TCHAR output[2];
+ wchar_t output[2];
if (GetLocaleInfo(id, LOCALE_IMEASURE, output, 2)) {
- QString iMeasure = QT_WA_INLINE(
- QString::fromUtf16(reinterpret_cast<ushort*>(output)),
- QString::fromLocal8Bit(reinterpret_cast<char*>(output)));
+ QString iMeasure = QString::fromWCharArray(output);
if (iMeasure == QLatin1String("1")) {
return QLocale::ImperialSystem;
}
@@ -650,12 +615,10 @@ static QLocale::MeasurementSystem winSystemMeasurementSystem()
static QString winSystemAMText()
{
LCID id = GetUserDefaultLCID();
- TCHAR output[15]; // maximum length including terminating zero character for Win2003+
+ wchar_t output[15]; // maximum length including terminating zero character for Win2003+
if (GetLocaleInfo(id, LOCALE_S1159, output, 15)) {
- return QT_WA_INLINE(
- QString::fromUtf16(reinterpret_cast<ushort*>(output)),
- QString::fromLocal8Bit(reinterpret_cast<char*>(output)));
+ return QString::fromWCharArray(output);
}
return QString();
@@ -664,12 +627,10 @@ static QString winSystemAMText()
static QString winSystemPMText()
{
LCID id = GetUserDefaultLCID();
- TCHAR output[15]; // maximum length including terminating zero character for Win2003+
+ wchar_t output[15]; // maximum length including terminating zero character for Win2003+
if (GetLocaleInfo(id, LOCALE_S2359, output, 15)) {
- return QT_WA_INLINE(
- QString::fromUtf16(reinterpret_cast<ushort*>(output)),
- QString::fromLocal8Bit(reinterpret_cast<char*>(output)));
+ return QString::fromWCharArray(output);
}
return QString();
@@ -773,9 +734,6 @@ QVariant QSystemLocale::query(QueryType type, QVariant in = QVariant()) const
return QVariant();
}
-/* Win95 doesn't have a function to return the ISO lang/country name of the user's locale.
- Instead it can return a "Windows code". This maps windows codes to ISO country names. */
-
struct WindowsToISOListElt {
ushort windows_code;
char iso_name[6];
@@ -931,15 +889,9 @@ static QString winIso639LangName(LCID id)
// Windows returns the wrong ISO639 for some languages, we need to detect them here using
// the language code
QString lang_code;
- QT_WA({
- TCHAR out[256];
- if (GetLocaleInfoW(id, LOCALE_ILANGUAGE, out, 255))
- lang_code = QString::fromUtf16((ushort*)out);
- } , {
- char out[256];
- if (GetLocaleInfoA(id, LOCALE_ILANGUAGE, out, 255))
- lang_code = QString::fromLocal8Bit(out);
- });
+ wchar_t out[256];
+ if (GetLocaleInfo(id, LOCALE_ILANGUAGE, out, 255))
+ lang_code = QString::fromWCharArray(out);
if (!lang_code.isEmpty()) {
const char *endptr;
@@ -961,15 +913,8 @@ static QString winIso639LangName(LCID id)
return result;
// not one of the problematic languages - do the usual lookup
- QT_WA({
- TCHAR out[256];
- if (GetLocaleInfoW(id, LOCALE_SISO639LANGNAME , out, 255))
- result = QString::fromUtf16((ushort*)out);
- } , {
- char out[256];
- if (GetLocaleInfoA(id, LOCALE_SISO639LANGNAME, out, 255))
- result = QString::fromLocal8Bit(out);
- });
+ if (GetLocaleInfo(id, LOCALE_SISO639LANGNAME , out, 255))
+ result = QString::fromWCharArray(out);
return result;
}
@@ -978,15 +923,9 @@ static QString winIso3116CtryName(LCID id)
{
QString result;
- QT_WA({
- TCHAR out[256];
- if (GetLocaleInfoW(id, LOCALE_SISO3166CTRYNAME, out, 255))
- result = QString::fromUtf16((ushort*)out);
- } , {
- char out[256];
- if (GetLocaleInfoA(id, LOCALE_SISO3166CTRYNAME, out, 255))
- result = QString::fromLocal8Bit(out);
- });
+ wchar_t out[256];
+ if (GetLocaleInfo(id, LOCALE_SISO3166CTRYNAME, out, 255))
+ result = QString::fromWCharArray(out);
return result;
}
@@ -2696,7 +2635,7 @@ static QString timeZone()
DWORD res = GetTimeZoneInformation(&info);
if (res == TIME_ZONE_ID_UNKNOWN)
return QString();
- return QString::fromUtf16(reinterpret_cast<const ushort *> (info.StandardName));
+ return QString::fromWCharArray(info.StandardName);
#elif defined(Q_OS_WIN)
_tzset();
# if defined(_MSC_VER) && _MSC_VER >= 1400
@@ -2708,6 +2647,8 @@ static QString timeZone()
# else
return QString::fromLocal8Bit(_tzname[1]);
# endif
+#elif defined(Q_OS_VXWORKS)
+ return QString();
#else
tzset();
return QString::fromLocal8Bit(tzname[1]);
@@ -5012,6 +4953,9 @@ static inline void Storeinc(ULong *&a, const ULong &b, const ULong &c)
#define Bletch 0x10
#define Bndry_mask 0xfffff
#define Bndry_mask1 0xfffff
+#if defined(LSB) && defined(Q_OS_VXWORKS)
+#undef LSB
+#endif
#define LSB 1
#define Sign_bit 0x80000000
#define Log2P 1
@@ -5374,7 +5318,11 @@ struct p5s_deleter
{
~p5s_deleter()
{
- Bfree(p5s);
+ while (p5s) {
+ Bigint *next = p5s->next;
+ Bfree(p5s);
+ p5s = next;
+ }
}
};
diff --git a/src/corelib/tools/qlocale_symbian.cpp b/src/corelib/tools/qlocale_symbian.cpp
index 95d4edf..dc9692b 100644
--- a/src/corelib/tools/qlocale_symbian.cpp
+++ b/src/corelib/tools/qlocale_symbian.cpp
@@ -1,7 +1,7 @@
/****************************************************************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/src/corelib/tools/qpoint.cpp b/src/corelib/tools/qpoint.cpp
index 49afdca..af60f52 100644
--- a/src/corelib/tools/qpoint.cpp
+++ b/src/corelib/tools/qpoint.cpp
@@ -444,6 +444,8 @@ QDebug operator<<(QDebug d, const QPointF &p)
/*!
+ \since 4.6
+
Returns the sum of the absolute values of x() and y(),
traditionally known as the "Manhattan length" of the vector from
the origin to the point.
diff --git a/src/corelib/tools/qregexp.cpp b/src/corelib/tools/qregexp.cpp
index d980a9b..0ac4fa2 100644
--- a/src/corelib/tools/qregexp.cpp
+++ b/src/corelib/tools/qregexp.cpp
@@ -70,6 +70,8 @@ int qFindString(const QChar *haystack, int haystackLen, int from,
#define RXERR_LEFTDELIM QT_TRANSLATE_NOOP("QRegExp", "missing left delim")
#define RXERR_END QT_TRANSLATE_NOOP("QRegExp", "unexpected end")
#define RXERR_LIMIT QT_TRANSLATE_NOOP("QRegExp", "met internal limit")
+#define RXERR_INTERVAL QT_TRANSLATE_NOOP("QRegExp", "invalid interval")
+#define RXERR_CATEGORY QT_TRANSLATE_NOOP("QRegExp", "invalid category")
/*
WARNING! Be sure to read qregexp.tex before modifying this file.
@@ -686,6 +688,10 @@ int qFindString(const QChar *haystack, int haystackLen, int from,
{tools/regexp}{Regular Expression Example}
*/
+#if defined(Q_OS_VXWORKS) && defined(EOS)
+# undef EOS
+#endif
+
const int NumBadChars = 64;
#define BadChar(ch) ((ch).unicode() % NumBadChars)
@@ -1116,6 +1122,7 @@ private:
bool valid; // is the regular expression valid?
Qt::CaseSensitivity cs; // case sensitive?
bool greedyQuantifiers; // RegExp2?
+ bool xmlSchemaExtensions;
#ifndef QT_NO_REGEXP_BACKREF
int nbrefs; // number of back-references
#endif
@@ -1193,6 +1200,8 @@ private:
friend class Box;
+ void setupCategoriesRangeMap();
+
/*
This is the lexical analyzer for regular expressions.
*/
@@ -1232,6 +1241,7 @@ private:
int yyTok; // the last token read
bool yyMayCapture; // set this to false to disable capturing
+ QHash<QByteArray, QPair<int, int> > categoriesRangeMap; // fast lookup hash for xml schema extensions
friend struct QRegExpMatchState;
};
@@ -1253,7 +1263,8 @@ struct QRegExpLookahead
#endif
QRegExpEngine::QRegExpEngine(const QRegExpEngineKey &key)
- : cs(key.cs), greedyQuantifiers(key.patternSyntax == QRegExp::RegExp2)
+ : cs(key.cs), greedyQuantifiers(key.patternSyntax == QRegExp::RegExp2),
+ xmlSchemaExtensions(false)
{
setup();
@@ -1268,6 +1279,8 @@ QRegExpEngine::QRegExpEngine(const QRegExpEngineKey &key)
case QRegExp::FixedString:
rx = QRegExp::escape(key.pattern);
break;
+ case QRegExp::W3CXmlSchema11:
+ xmlSchemaExtensions = true;
default:
rx = key.pattern;
}
@@ -1484,9 +1497,8 @@ int QRegExpEngine::anchorAlternation(int a, int b)
return Anchor_Alternation | (n - 1);
#endif
- aa.resize(n + 1);
- aa[n].a = a;
- aa[n].b = b;
+ QRegExpAnchorAlternation element = {a, b};
+ aa.append(element);
return Anchor_Alternation | n;
}
@@ -2626,6 +2638,152 @@ void QRegExpEngine::Box::addAnchorsToEngine(const Box &to) const
}
}
+void QRegExpEngine::setupCategoriesRangeMap()
+{
+ categoriesRangeMap.insert("IsBasicLatin", qMakePair(0x0000, 0x007F));
+ categoriesRangeMap.insert("IsLatin-1Supplement", qMakePair(0x0080, 0x00FF));
+ categoriesRangeMap.insert("IsLatinExtended-A", qMakePair(0x0100, 0x017F));
+ categoriesRangeMap.insert("IsLatinExtended-B", qMakePair(0x0180, 0x024F));
+ categoriesRangeMap.insert("IsIPAExtensions", qMakePair(0x0250, 0x02AF));
+ categoriesRangeMap.insert("IsSpacingModifierLetters", qMakePair(0x02B0, 0x02FF));
+ categoriesRangeMap.insert("IsCombiningDiacriticalMarks", qMakePair(0x0300, 0x036F));
+ categoriesRangeMap.insert("IsGreek", qMakePair(0x0370, 0x03FF));
+ categoriesRangeMap.insert("IsCyrillic", qMakePair(0x0400, 0x04FF));
+ categoriesRangeMap.insert("IsCyrillicSupplement", qMakePair(0x0500, 0x052F));
+ categoriesRangeMap.insert("IsArmenian", qMakePair(0x0530, 0x058F));
+ categoriesRangeMap.insert("IsHebrew", qMakePair(0x0590, 0x05FF));
+ categoriesRangeMap.insert("IsArabic", qMakePair(0x0600, 0x06FF));
+ categoriesRangeMap.insert("IsSyriac", qMakePair(0x0700, 0x074F));
+ categoriesRangeMap.insert("IsArabicSupplement", qMakePair(0x0750, 0x077F));
+ categoriesRangeMap.insert("IsThaana", qMakePair(0x0780, 0x07BF));
+ categoriesRangeMap.insert("IsDevanagari", qMakePair(0x0900, 0x097F));
+ categoriesRangeMap.insert("IsBengali", qMakePair(0x0980, 0x09FF));
+ categoriesRangeMap.insert("IsGurmukhi", qMakePair(0x0A00, 0x0A7F));
+ categoriesRangeMap.insert("IsGujarati", qMakePair(0x0A80, 0x0AFF));
+ categoriesRangeMap.insert("IsOriya", qMakePair(0x0B00, 0x0B7F));
+ categoriesRangeMap.insert("IsTamil", qMakePair(0x0B80, 0x0BFF));
+ categoriesRangeMap.insert("IsTelugu", qMakePair(0x0C00, 0x0C7F));
+ categoriesRangeMap.insert("IsKannada", qMakePair(0x0C80, 0x0CFF));
+ categoriesRangeMap.insert("IsMalayalam", qMakePair(0x0D00, 0x0D7F));
+ categoriesRangeMap.insert("IsSinhala", qMakePair(0x0D80, 0x0DFF));
+ categoriesRangeMap.insert("IsThai", qMakePair(0x0E00, 0x0E7F));
+ categoriesRangeMap.insert("IsLao", qMakePair(0x0E80, 0x0EFF));
+ categoriesRangeMap.insert("IsTibetan", qMakePair(0x0F00, 0x0FFF));
+ categoriesRangeMap.insert("IsMyanmar", qMakePair(0x1000, 0x109F));
+ categoriesRangeMap.insert("IsGeorgian", qMakePair(0x10A0, 0x10FF));
+ categoriesRangeMap.insert("IsHangulJamo", qMakePair(0x1100, 0x11FF));
+ categoriesRangeMap.insert("IsEthiopic", qMakePair(0x1200, 0x137F));
+ categoriesRangeMap.insert("IsEthiopicSupplement", qMakePair(0x1380, 0x139F));
+ categoriesRangeMap.insert("IsCherokee", qMakePair(0x13A0, 0x13FF));
+ categoriesRangeMap.insert("IsUnifiedCanadianAboriginalSyllabics", qMakePair(0x1400, 0x167F));
+ categoriesRangeMap.insert("IsOgham", qMakePair(0x1680, 0x169F));
+ categoriesRangeMap.insert("IsRunic", qMakePair(0x16A0, 0x16FF));
+ categoriesRangeMap.insert("IsTagalog", qMakePair(0x1700, 0x171F));
+ categoriesRangeMap.insert("IsHanunoo", qMakePair(0x1720, 0x173F));
+ categoriesRangeMap.insert("IsBuhid", qMakePair(0x1740, 0x175F));
+ categoriesRangeMap.insert("IsTagbanwa", qMakePair(0x1760, 0x177F));
+ categoriesRangeMap.insert("IsKhmer", qMakePair(0x1780, 0x17FF));
+ categoriesRangeMap.insert("IsMongolian", qMakePair(0x1800, 0x18AF));
+ categoriesRangeMap.insert("IsLimbu", qMakePair(0x1900, 0x194F));
+ categoriesRangeMap.insert("IsTaiLe", qMakePair(0x1950, 0x197F));
+ categoriesRangeMap.insert("IsNewTaiLue", qMakePair(0x1980, 0x19DF));
+ categoriesRangeMap.insert("IsKhmerSymbols", qMakePair(0x19E0, 0x19FF));
+ categoriesRangeMap.insert("IsBuginese", qMakePair(0x1A00, 0x1A1F));
+ categoriesRangeMap.insert("IsPhoneticExtensions", qMakePair(0x1D00, 0x1D7F));
+ categoriesRangeMap.insert("IsPhoneticExtensionsSupplement", qMakePair(0x1D80, 0x1DBF));
+ categoriesRangeMap.insert("IsCombiningDiacriticalMarksSupplement", qMakePair(0x1DC0, 0x1DFF));
+ categoriesRangeMap.insert("IsLatinExtendedAdditional", qMakePair(0x1E00, 0x1EFF));
+ categoriesRangeMap.insert("IsGreekExtended", qMakePair(0x1F00, 0x1FFF));
+ categoriesRangeMap.insert("IsGeneralPunctuation", qMakePair(0x2000, 0x206F));
+ categoriesRangeMap.insert("IsSuperscriptsandSubscripts", qMakePair(0x2070, 0x209F));
+ categoriesRangeMap.insert("IsCurrencySymbols", qMakePair(0x20A0, 0x20CF));
+ categoriesRangeMap.insert("IsCombiningMarksforSymbols", qMakePair(0x20D0, 0x20FF));
+ categoriesRangeMap.insert("IsLetterlikeSymbols", qMakePair(0x2100, 0x214F));
+ categoriesRangeMap.insert("IsNumberForms", qMakePair(0x2150, 0x218F));
+ categoriesRangeMap.insert("IsArrows", qMakePair(0x2190, 0x21FF));
+ categoriesRangeMap.insert("IsMathematicalOperators", qMakePair(0x2200, 0x22FF));
+ categoriesRangeMap.insert("IsMiscellaneousTechnical", qMakePair(0x2300, 0x23FF));
+ categoriesRangeMap.insert("IsControlPictures", qMakePair(0x2400, 0x243F));
+ categoriesRangeMap.insert("IsOpticalCharacterRecognition", qMakePair(0x2440, 0x245F));
+ categoriesRangeMap.insert("IsEnclosedAlphanumerics", qMakePair(0x2460, 0x24FF));
+ categoriesRangeMap.insert("IsBoxDrawing", qMakePair(0x2500, 0x257F));
+ categoriesRangeMap.insert("IsBlockElements", qMakePair(0x2580, 0x259F));
+ categoriesRangeMap.insert("IsGeometricShapes", qMakePair(0x25A0, 0x25FF));
+ categoriesRangeMap.insert("IsMiscellaneousSymbols", qMakePair(0x2600, 0x26FF));
+ categoriesRangeMap.insert("IsDingbats", qMakePair(0x2700, 0x27BF));
+ categoriesRangeMap.insert("IsMiscellaneousMathematicalSymbols-A", qMakePair(0x27C0, 0x27EF));
+ categoriesRangeMap.insert("IsSupplementalArrows-A", qMakePair(0x27F0, 0x27FF));
+ categoriesRangeMap.insert("IsBraillePatterns", qMakePair(0x2800, 0x28FF));
+ categoriesRangeMap.insert("IsSupplementalArrows-B", qMakePair(0x2900, 0x297F));
+ categoriesRangeMap.insert("IsMiscellaneousMathematicalSymbols-B", qMakePair(0x2980, 0x29FF));
+ categoriesRangeMap.insert("IsSupplementalMathematicalOperators", qMakePair(0x2A00, 0x2AFF));
+ categoriesRangeMap.insert("IsMiscellaneousSymbolsandArrows", qMakePair(0x2B00, 0x2BFF));
+ categoriesRangeMap.insert("IsGlagolitic", qMakePair(0x2C00, 0x2C5F));
+ categoriesRangeMap.insert("IsCoptic", qMakePair(0x2C80, 0x2CFF));
+ categoriesRangeMap.insert("IsGeorgianSupplement", qMakePair(0x2D00, 0x2D2F));
+ categoriesRangeMap.insert("IsTifinagh", qMakePair(0x2D30, 0x2D7F));
+ categoriesRangeMap.insert("IsEthiopicExtended", qMakePair(0x2D80, 0x2DDF));
+ categoriesRangeMap.insert("IsSupplementalPunctuation", qMakePair(0x2E00, 0x2E7F));
+ categoriesRangeMap.insert("IsCJKRadicalsSupplement", qMakePair(0x2E80, 0x2EFF));
+ categoriesRangeMap.insert("IsKangxiRadicals", qMakePair(0x2F00, 0x2FDF));
+ categoriesRangeMap.insert("IsIdeographicDescriptionCharacters", qMakePair(0x2FF0, 0x2FFF));
+ categoriesRangeMap.insert("IsCJKSymbolsandPunctuation", qMakePair(0x3000, 0x303F));
+ categoriesRangeMap.insert("IsHiragana", qMakePair(0x3040, 0x309F));
+ categoriesRangeMap.insert("IsKatakana", qMakePair(0x30A0, 0x30FF));
+ categoriesRangeMap.insert("IsBopomofo", qMakePair(0x3100, 0x312F));
+ categoriesRangeMap.insert("IsHangulCompatibilityJamo", qMakePair(0x3130, 0x318F));
+ categoriesRangeMap.insert("IsKanbun", qMakePair(0x3190, 0x319F));
+ categoriesRangeMap.insert("IsBopomofoExtended", qMakePair(0x31A0, 0x31BF));
+ categoriesRangeMap.insert("IsCJKStrokes", qMakePair(0x31C0, 0x31EF));
+ categoriesRangeMap.insert("IsKatakanaPhoneticExtensions", qMakePair(0x31F0, 0x31FF));
+ categoriesRangeMap.insert("IsEnclosedCJKLettersandMonths", qMakePair(0x3200, 0x32FF));
+ categoriesRangeMap.insert("IsCJKCompatibility", qMakePair(0x3300, 0x33FF));
+ categoriesRangeMap.insert("IsCJKUnifiedIdeographsExtensionA", qMakePair(0x3400, 0x4DB5));
+ categoriesRangeMap.insert("IsYijingHexagramSymbols", qMakePair(0x4DC0, 0x4DFF));
+ categoriesRangeMap.insert("IsCJKUnifiedIdeographs", qMakePair(0x4E00, 0x9FFF));
+ categoriesRangeMap.insert("IsYiSyllables", qMakePair(0xA000, 0xA48F));
+ categoriesRangeMap.insert("IsYiRadicals", qMakePair(0xA490, 0xA4CF));
+ categoriesRangeMap.insert("IsModifierToneLetters", qMakePair(0xA700, 0xA71F));
+ categoriesRangeMap.insert("IsSylotiNagri", qMakePair(0xA800, 0xA82F));
+ categoriesRangeMap.insert("IsHangulSyllables", qMakePair(0xAC00, 0xD7A3));
+ categoriesRangeMap.insert("IsPrivateUse", qMakePair(0xE000, 0xF8FF));
+ categoriesRangeMap.insert("IsCJKCompatibilityIdeographs", qMakePair(0xF900, 0xFAFF));
+ categoriesRangeMap.insert("IsAlphabeticPresentationForms", qMakePair(0xFB00, 0xFB4F));
+ categoriesRangeMap.insert("IsArabicPresentationForms-A", qMakePair(0xFB50, 0xFDFF));
+ categoriesRangeMap.insert("IsVariationSelectors", qMakePair(0xFE00, 0xFE0F));
+ categoriesRangeMap.insert("IsVerticalForms", qMakePair(0xFE10, 0xFE1F));
+ categoriesRangeMap.insert("IsCombiningHalfMarks", qMakePair(0xFE20, 0xFE2F));
+ categoriesRangeMap.insert("IsCJKCompatibilityForms", qMakePair(0xFE30, 0xFE4F));
+ categoriesRangeMap.insert("IsSmallFormVariants", qMakePair(0xFE50, 0xFE6F));
+ categoriesRangeMap.insert("IsArabicPresentationForms-B", qMakePair(0xFE70, 0xFEFF));
+ categoriesRangeMap.insert("IsHalfwidthandFullwidthForms", qMakePair(0xFF00, 0xFFEF));
+ categoriesRangeMap.insert("IsSpecials", qMakePair(0xFFF0, 0xFFFF));
+ categoriesRangeMap.insert("IsLinearBSyllabary", qMakePair(0x10000, 0x1007F));
+ categoriesRangeMap.insert("IsLinearBIdeograms", qMakePair(0x10080, 0x100FF));
+ categoriesRangeMap.insert("IsAegeanNumbers", qMakePair(0x10100, 0x1013F));
+ categoriesRangeMap.insert("IsAncientGreekNumbers", qMakePair(0x10140, 0x1018F));
+ categoriesRangeMap.insert("IsOldItalic", qMakePair(0x10300, 0x1032F));
+ categoriesRangeMap.insert("IsGothic", qMakePair(0x10330, 0x1034F));
+ categoriesRangeMap.insert("IsUgaritic", qMakePair(0x10380, 0x1039F));
+ categoriesRangeMap.insert("IsOldPersian", qMakePair(0x103A0, 0x103DF));
+ categoriesRangeMap.insert("IsDeseret", qMakePair(0x10400, 0x1044F));
+ categoriesRangeMap.insert("IsShavian", qMakePair(0x10450, 0x1047F));
+ categoriesRangeMap.insert("IsOsmanya", qMakePair(0x10480, 0x104AF));
+ categoriesRangeMap.insert("IsCypriotSyllabary", qMakePair(0x10800, 0x1083F));
+ categoriesRangeMap.insert("IsKharoshthi", qMakePair(0x10A00, 0x10A5F));
+ categoriesRangeMap.insert("IsByzantineMusicalSymbols", qMakePair(0x1D000, 0x1D0FF));
+ categoriesRangeMap.insert("IsMusicalSymbols", qMakePair(0x1D100, 0x1D1FF));
+ categoriesRangeMap.insert("IsAncientGreekMusicalNotation", qMakePair(0x1D200, 0x1D24F));
+ categoriesRangeMap.insert("IsTaiXuanJingSymbols", qMakePair(0x1D300, 0x1D35F));
+ categoriesRangeMap.insert("IsMathematicalAlphanumericSymbols", qMakePair(0x1D400, 0x1D7FF));
+ categoriesRangeMap.insert("IsCJKUnifiedIdeographsExtensionB", qMakePair(0x20000, 0x2A6DF));
+ categoriesRangeMap.insert("IsCJKCompatibilityIdeographsSupplement", qMakePair(0x2F800, 0x2FA1F));
+ categoriesRangeMap.insert("IsTags", qMakePair(0xE0000, 0xE007F));
+ categoriesRangeMap.insert("IsVariationSelectorsSupplement", qMakePair(0xE0100, 0xE01EF));
+ categoriesRangeMap.insert("IsSupplementaryPrivateUseArea-A", qMakePair(0xF0000, 0xFFFFF));
+ categoriesRangeMap.insert("IsSupplementaryPrivateUseArea-B", qMakePair(0x100000, 0x10FFFF));
+}
+
int QRegExpEngine::getChar()
{
return (yyPos == yyLen) ? EOS : yyIn[yyPos++].unicode();
@@ -2718,6 +2876,177 @@ int QRegExpEngine::getEscape()
yyCharClass->addCategories(0x000f807e);
yyCharClass->addSingleton(0x005f); // '_'
return Tok_CharClass;
+ case 'I':
+ if (xmlSchemaExtensions) {
+ yyCharClass->setNegative(!yyCharClass->negative());
+ // fall through
+ }
+ case 'i':
+ if (xmlSchemaExtensions) {
+ yyCharClass->addCategories(0x000f807e);
+ yyCharClass->addSingleton(0x003a); // ':'
+ yyCharClass->addSingleton(0x005f); // '_'
+ yyCharClass->addRange(0x0041, 0x005a); // [A-Z]
+ yyCharClass->addRange(0x0061, 0x007a); // [a-z]
+ yyCharClass->addRange(0xc0, 0xd6);
+ yyCharClass->addRange(0xd8, 0xf6);
+ yyCharClass->addRange(0xf8, 0x2ff);
+ yyCharClass->addRange(0x370, 0x37d);
+ yyCharClass->addRange(0x37f, 0x1fff);
+ yyCharClass->addRange(0x200c, 0x200d);
+ yyCharClass->addRange(0x2070, 0x218f);
+ yyCharClass->addRange(0x2c00, 0x2fef);
+ yyCharClass->addRange(0x3001, 0xd7ff);
+ yyCharClass->addRange(0xf900, 0xfdcf);
+ yyCharClass->addRange(0xfdf0, 0xfffd);
+ yyCharClass->addRange((ushort)0x10000, (ushort)0xeffff);
+ }
+ return Tok_CharClass;
+ case 'C':
+ if (xmlSchemaExtensions) {
+ yyCharClass->setNegative(!yyCharClass->negative());
+ // fall through
+ }
+ case 'c':
+ if (xmlSchemaExtensions) {
+ yyCharClass->addCategories(0x000f807e);
+ yyCharClass->addSingleton(0x002d); // '-'
+ yyCharClass->addSingleton(0x002e); // '.'
+ yyCharClass->addSingleton(0x003a); // ':'
+ yyCharClass->addSingleton(0x005f); // '_'
+ yyCharClass->addSingleton(0xb7);
+ yyCharClass->addRange(0x0030, 0x0039); // [0-9]
+ yyCharClass->addRange(0x0041, 0x005a); // [A-Z]
+ yyCharClass->addRange(0x0061, 0x007a); // [a-z]
+ yyCharClass->addRange(0xc0, 0xd6);
+ yyCharClass->addRange(0xd8, 0xf6);
+ yyCharClass->addRange(0xf8, 0x2ff);
+ yyCharClass->addRange(0x370, 0x37d);
+ yyCharClass->addRange(0x37f, 0x1fff);
+ yyCharClass->addRange(0x200c, 0x200d);
+ yyCharClass->addRange(0x2070, 0x218f);
+ yyCharClass->addRange(0x2c00, 0x2fef);
+ yyCharClass->addRange(0x3001, 0xd7ff);
+ yyCharClass->addRange(0xf900, 0xfdcf);
+ yyCharClass->addRange(0xfdf0, 0xfffd);
+ yyCharClass->addRange((ushort)0x10000, (ushort)0xeffff);
+ yyCharClass->addRange(0x0300, 0x036f);
+ yyCharClass->addRange(0x203f, 0x2040);
+ }
+ return Tok_CharClass;
+ case 'P':
+ if (xmlSchemaExtensions) {
+ yyCharClass->setNegative(!yyCharClass->negative());
+ // fall through
+ }
+ case 'p':
+ if (xmlSchemaExtensions) {
+ if (yyCh != '{') {
+ error(RXERR_CHARCLASS);
+ return Tok_CharClass;
+ }
+
+ QByteArray category;
+ yyCh = getChar();
+ while (yyCh != '}') {
+ if (yyCh == EOS) {
+ error(RXERR_END);
+ return Tok_CharClass;
+ }
+ category.append(yyCh);
+ yyCh = getChar();
+ }
+ yyCh = getChar(); // skip closing '}'
+
+ if (category == "M") {
+ yyCharClass->addCategories(0x0000000e);
+ } else if (category == "Mn") {
+ yyCharClass->addCategories(0x00000002);
+ } else if (category == "Mc") {
+ yyCharClass->addCategories(0x00000004);
+ } else if (category == "Me") {
+ yyCharClass->addCategories(0x00000008);
+ } else if (category == "N") {
+ yyCharClass->addCategories(0x00000070);
+ } else if (category == "Nd") {
+ yyCharClass->addCategories(0x00000010);
+ } else if (category == "Nl") {
+ yyCharClass->addCategories(0x00000020);
+ } else if (category == "No") {
+ yyCharClass->addCategories(0x00000040);
+ } else if (category == "Z") {
+ yyCharClass->addCategories(0x00000380);
+ } else if (category == "Zs") {
+ yyCharClass->addCategories(0x00000080);
+ } else if (category == "Zl") {
+ yyCharClass->addCategories(0x00000100);
+ } else if (category == "Zp") {
+ yyCharClass->addCategories(0x00000200);
+ } else if (category == "C") {
+ yyCharClass->addCategories(0x00006c00);
+ } else if (category == "Cc") {
+ yyCharClass->addCategories(0x00000400);
+ } else if (category == "Cf") {
+ yyCharClass->addCategories(0x00000800);
+ } else if (category == "Cs") {
+ yyCharClass->addCategories(0x00001000);
+ } else if (category == "Co") {
+ yyCharClass->addCategories(0x00002000);
+ } else if (category == "Cn") {
+ yyCharClass->addCategories(0x00004000);
+ } else if (category == "L") {
+ yyCharClass->addCategories(0x000f8000);
+ } else if (category == "Lu") {
+ yyCharClass->addCategories(0x00008000);
+ } else if (category == "Ll") {
+ yyCharClass->addCategories(0x00010000);
+ } else if (category == "Lt") {
+ yyCharClass->addCategories(0x00020000);
+ } else if (category == "Lm") {
+ yyCharClass->addCategories(0x00040000);
+ } else if (category == "Lo") {
+ yyCharClass->addCategories(0x00080000);
+ } else if (category == "P") {
+ yyCharClass->addCategories(0x4f580780);
+ } else if (category == "Pc") {
+ yyCharClass->addCategories(0x00100000);
+ } else if (category == "Pd") {
+ yyCharClass->addCategories(0x00200000);
+ } else if (category == "Ps") {
+ yyCharClass->addCategories(0x00400000);
+ } else if (category == "Pe") {
+ yyCharClass->addCategories(0x00800000);
+ } else if (category == "Pi") {
+ yyCharClass->addCategories(0x01000000);
+ } else if (category == "Pf") {
+ yyCharClass->addCategories(0x02000000);
+ } else if (category == "Po") {
+ yyCharClass->addCategories(0x04000000);
+ } else if (category == "S") {
+ yyCharClass->addCategories(0x78000000);
+ } else if (category == "Sm") {
+ yyCharClass->addCategories(0x08000000);
+ } else if (category == "Sc") {
+ yyCharClass->addCategories(0x10000000);
+ } else if (category == "Sk") {
+ yyCharClass->addCategories(0x20000000);
+ } else if (category == "So") {
+ yyCharClass->addCategories(0x40000000);
+ } else if (category.startsWith("Is")) {
+ if (categoriesRangeMap.isEmpty())
+ setupCategoriesRangeMap();
+
+ if (categoriesRangeMap.contains(category)) {
+ const QPair<int, int> range = categoriesRangeMap.value(category);
+ yyCharClass->addRange(range.first, range.second);
+ } else {
+ error(RXERR_CATEGORY);
+ }
+ } else {
+ error(RXERR_CATEGORY);
+ }
+ }
+ return Tok_CharClass;
#endif
#ifndef QT_NO_REGEXP_ESCAPE
case 'x':
@@ -2939,7 +3268,7 @@ int QRegExpEngine::getToken()
yyMaxRep = getRep(InftyRep);
}
if (yyMaxRep < yyMinRep)
- qSwap(yyMinRep, yyMaxRep);
+ error(RXERR_INTERVAL);
if (yyCh != '}')
error(RXERR_REPETITION);
yyCh = getChar();
@@ -3305,7 +3634,7 @@ static void prepareEngine_helper(QRegExpPrivate *priv)
{
bool initMatchState = !priv->eng;
#if !defined(QT_NO_REGEXP_OPTIM)
- if (!priv->eng) {
+ if (!priv->eng && globalEngineCache()) {
QMutexLocker locker(mutex());
priv->eng = globalEngineCache()->take(priv->engineKey);
if (priv->eng != 0)
@@ -3383,6 +3712,9 @@ static void invalidateEngine(QRegExpPrivate *priv)
equivalent to using the RegExp pattern on a string in
which all metacharacters are escaped using escape().
+ \value W3CXmlSchema11 The pattern is a regular expression as
+ defined by the W3C XML Schema 1.1 specification.
+
\sa setPatternSyntax()
*/
diff --git a/src/corelib/tools/qregexp.h b/src/corelib/tools/qregexp.h
index 057eec2..16682a3 100644
--- a/src/corelib/tools/qregexp.h
+++ b/src/corelib/tools/qregexp.h
@@ -61,7 +61,7 @@ class QStringList;
class Q_CORE_EXPORT QRegExp
{
public:
- enum PatternSyntax { RegExp, Wildcard, FixedString, RegExp2 };
+ enum PatternSyntax { RegExp, Wildcard, FixedString, RegExp2, W3CXmlSchema11 };
enum CaretMode { CaretAtZero, CaretAtOffset, CaretWontMatch };
QRegExp();
diff --git a/src/corelib/tools/qringbuffer_p.h b/src/corelib/tools/qringbuffer_p.h
index 16368e9..a0d6943 100644
--- a/src/corelib/tools/qringbuffer_p.h
+++ b/src/corelib/tools/qringbuffer_p.h
@@ -299,6 +299,54 @@ public:
return read(size());
}
+ // read an unspecified amount (will read the first buffer)
+ inline QByteArray read() {
+ if (bufferSize == 0)
+ return QByteArray();
+
+ // multiple buffers, just take the first one
+ if (head == 0 && tailBuffer != 0) {
+ QByteArray qba = buffers.takeFirst();
+ --tailBuffer;
+ bufferSize -= qba.length();
+ return qba;
+ }
+
+ // one buffer with good value for head. Just take it.
+ if (head == 0 && tailBuffer == 0) {
+ QByteArray qba = buffers.takeFirst();
+ qba.resize(tail);
+ buffers << QByteArray();
+ bufferSize = 0;
+ tail = 0;
+ return qba;
+ }
+
+ // Bad case: We have to memcpy.
+ // We can avoid by initializing the QRingBuffer with basicBlockSize of 0
+ // and only using this read() function.
+ QByteArray qba(readPointer(), nextDataBlockSize());
+ buffers.removeFirst();
+ head = 0;
+ if (tailBuffer == 0) {
+ buffers << QByteArray();
+ tail = 0;
+ } else {
+ --tailBuffer;
+ }
+ bufferSize -= qba.length();
+ return qba;
+ }
+
+ // append a new buffer to the end
+ inline void append(const QByteArray &qba) {
+ buffers[tailBuffer].resize(tail);
+ buffers << qba;
+ ++tailBuffer;
+ tail = qba.length();
+ bufferSize += qba.length();
+ }
+
inline QByteArray peek(int maxLength) const {
int bytesToRead = qMin(size(), maxLength);
if(maxLength <= 0)
@@ -353,7 +401,7 @@ public:
private:
QList<QByteArray> buffers;
int head, tail;
- int tailBuffer;
+ int tailBuffer; // always buffers.size() - 1
int basicBlockSize;
int bufferSize;
};
diff --git a/src/corelib/tools/qscopedpointer.cpp b/src/corelib/tools/qscopedpointer.cpp
index cf24381..06f9e6f 100644
--- a/src/corelib/tools/qscopedpointer.cpp
+++ b/src/corelib/tools/qscopedpointer.cpp
@@ -1,7 +1,7 @@
/****************************************************************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/src/corelib/tools/qscopedpointer.h b/src/corelib/tools/qscopedpointer.h
index 62daacb..923ae1b 100644
--- a/src/corelib/tools/qscopedpointer.h
+++ b/src/corelib/tools/qscopedpointer.h
@@ -1,7 +1,7 @@
/****************************************************************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
@@ -161,6 +161,8 @@ public:
return oldD;
}
+ typedef T *pointer;
+
protected:
T *d;
diff --git a/src/corelib/tools/qshareddata.cpp b/src/corelib/tools/qshareddata.cpp
index 1599a13..d000c33 100644
--- a/src/corelib/tools/qshareddata.cpp
+++ b/src/corelib/tools/qshareddata.cpp
@@ -51,7 +51,7 @@ QT_BEGIN_NAMESPACE
QSharedData is designed to be used with QSharedDataPointer or
QExplicitlySharedDataPointer to implement custom \l{implicitly
- shared} or \l {explicitly shared} classes. QSharedData provides
+ shared} or explicitly shared classes. QSharedData provides
\l{thread-safe} reference counting.
See QSharedDataPointer and QExplicitlySharedDataPointer for details.
diff --git a/src/corelib/tools/qsharedpointer.cpp b/src/corelib/tools/qsharedpointer.cpp
index 083fea6..f7b014e 100644
--- a/src/corelib/tools/qsharedpointer.cpp
+++ b/src/corelib/tools/qsharedpointer.cpp
@@ -133,7 +133,7 @@
To access the pointer that QWeakPointer is tracking, you
must first create a QSharedPointer object and verify if the pointer
- is null or not.
+ is null or not. See QWeakPointer::toStrongRef() for more information.
\sa QSharedPointer, QScopedPointer
*/
@@ -215,6 +215,8 @@
If \tt T is a derived type of the template parameter of this
class, QSharedPointer will perform an automatic cast. Otherwise,
you will get a compiler error.
+
+ \sa QWeakPointer::toStrongRef()
*/
/*!
@@ -345,10 +347,30 @@
*/
/*!
+ \fn QSharedPointer<X> QSharedPointer::objectCast() const
+ \since 4.6
+
+ Performs a \l qobject_cast() from this pointer's type to \tt X and
+ returns a QSharedPointer that shares the reference. If this
+ function is used to up-cast, then QSharedPointer will perform a \tt
+ qobject_cast, which means that if the object being pointed by this
+ QSharedPointer is not of type \tt X, the returned object will be
+ null.
+
+ Note: the template type \c X must have the same const and volatile
+ qualifiers as the template of this object, or the cast will
+ fail. Use constCast() if you need to drop those qualifiers.
+
+ \sa qSharedPointerObjectCast()
+*/
+
+/*!
\fn QWeakPointer<T> QSharedPointer::toWeakRef() const
Returns a weak reference object that shares the pointer referenced
by this object.
+
+ \sa QWeakPointer::QWeakPointer(const QSharedPointer<T> &)
*/
/*!
@@ -465,10 +487,78 @@
*/
/*!
+ \fn T *QWeakPointer::data() const
+ \since 4.6
+
+ Returns the value of the pointer being tracked by this QWeakPointer,
+ \b without ensuring that it cannot get deleted. To have that guarantee,
+ use toStrongRef(), which returns a QSharedPointer object. If this
+ function can determine that the pointer has already been deleted, it
+ returns 0.
+
+ It is ok to obtain the value of the pointer and using that value itself,
+ like for example in debugging statements:
+
+ \code
+ qDebug("Tracking %p", weakref.data());
+ \endcode
+
+ However, dereferencing the pointer is only allowed if you can guarantee
+ by external means that the pointer does not get deleted. For example,
+ if you can be certain that no other thread can delete it, nor the
+ functions that you may call.
+
+ If that is the case, then the following code is valid:
+
+ \code
+ // this pointer cannot be used in another thread
+ // so other threads cannot delete it
+ QWeakPointer<int> weakref = obtainReference();
+
+ Object *obj = weakref.data();
+ if (obj) {
+ // if the pointer wasn't deleted yet, we know it can't get
+ // deleted by our own code here nor the functions we call
+ otherFunction(obj);
+ }
+ \endcode
+
+ Use this function with care.
+
+ \sa isNull(), toStrongRef()
+*/
+
+/*!
\fn QSharedPointer<T> QWeakPointer::toStrongRef() const
Promotes this weak reference to a strong one and returns a
- QSharedPointer object holding that reference.
+ QSharedPointer object holding that reference. When promoting to
+ QSharedPointer, this function verifies if the object has been deleted
+ already or not. If it hasn't, this function increases the reference
+ count to the shared object, thus ensuring that it will not get
+ deleted.
+
+ Since this function can fail to obtain a valid strong reference to the
+ shared object, you should always verify if the conversion succeeded,
+ by calling QSharedPointer::isNull() on the returned object.
+
+ For example, the following code promotes a QWeakPointer that was held
+ to a strong reference and, if it succeeded, it prints the value of the
+ integer that was held:
+
+ \code
+ QWeakPointer<int> weakref;
+
+ // ...
+
+ QSharedPointer<int> strong = weakref.toStrongRef();
+ if (strong)
+ qDebug() << "The value is:" << *strong;
+ else
+ qDebug() << "The value has already been deleted";
+ \endcode
+
+ \sa QSharedPointer::QSharedPointer(const QWeakPointer<T> &)
*/
/*!
@@ -723,6 +813,47 @@
*/
/*!
+ \fn QSharedPointer<X> qSharedPointerObjectCast(const QSharedPointer<T> &other)
+ \relates QSharedPointer
+ \since 4.6
+
+ Returns a shared pointer to the pointer held by \a other, using a
+ \l qobject_cast() to type \tt X to obtain an internal pointer of the
+ appropriate type. If the \tt qobject_cast fails, the object
+ returned will be null.
+
+ Note that \tt X must have the same cv-qualifiers (\tt const and
+ \tt volatile) that \tt T has, or the code will fail to
+ compile. Use qSharedPointerConstCast to cast away the constness.
+
+ \sa QSharedPointer::objectCast(), qSharedPointerCast(), qSharedPointerConstCast()
+*/
+
+/*!
+ \fn QSharedPointer<X> qSharedPointerObjectCast(const QWeakPointer<T> &other)
+ \relates QSharedPointer
+ \relates QWeakPointer
+ \since 4.6
+
+ Returns a shared pointer to the pointer held by \a other, using a
+ \l qobject_cast() to type \tt X to obtain an internal pointer of the
+ appropriate type. If the \tt qobject_cast fails, the object
+ returned will be null.
+
+ The \a other object is converted first to a strong reference. If
+ that conversion fails (because the object it's pointing to has
+ already been deleted), this function also returns a null
+ QSharedPointer.
+
+ Note that \tt X must have the same cv-qualifiers (\tt const and
+ \tt volatile) that \tt T has, or the code will fail to
+ compile. Use qSharedPointerConstCast to cast away the constness.
+
+ \sa QWeakPointer::toStrongRef(), qSharedPointerCast(), qSharedPointerConstCast()
+*/
+
+
+/*!
\fn QWeakPointer<X> qWeakPointerCast(const QWeakPointer<T> &other)
\relates QWeakPointer
@@ -749,29 +880,19 @@
# endif
# endif
-# if !defined(BACKTRACE_SUPPORTED)
-// Dummy implementation of the functions.
-// Using QHashDummyValue also means that the QHash below is actually a QSet
-typedef QT_PREPEND_NAMESPACE(QHashDummyValue) Backtrace;
-
-static inline Backtrace saveBacktrace() { return Backtrace(); }
-static inline void printBacktrace(Backtrace) { }
-
-# else
+# if defined(BACKTRACE_SUPPORTED)
# include <sys/types.h>
# include <execinfo.h>
# include <stdio.h>
# include <unistd.h>
# include <sys/wait.h>
-typedef QT_PREPEND_NAMESPACE(QByteArray) Backtrace;
-
-static inline Backtrace saveBacktrace() __attribute__((always_inline));
-static inline Backtrace saveBacktrace()
+static inline QByteArray saveBacktrace() __attribute__((always_inline));
+static inline QByteArray saveBacktrace()
{
static const int maxFrames = 32;
- Backtrace stacktrace;
+ QByteArray stacktrace;
stacktrace.resize(sizeof(void*) * maxFrames);
int stack_size = backtrace((void**)stacktrace.data(), maxFrames);
stacktrace.resize(sizeof(void*) * stack_size);
@@ -779,7 +900,7 @@ static inline Backtrace saveBacktrace()
return stacktrace;
}
-static void printBacktrace(Backtrace stacktrace)
+static void printBacktrace(QByteArray stacktrace)
{
void *const *stack = (void *const *)stacktrace.constData();
int stack_size = stacktrace.size() / sizeof(void*);
@@ -830,11 +951,19 @@ static void printBacktrace(Backtrace stacktrace)
namespace {
QT_USE_NAMESPACE
+ struct Data {
+ const volatile void *pointer;
+# ifdef BACKTRACE_SUPPORTED
+ QByteArray backtrace;
+# endif
+ };
+
class KnownPointers
{
public:
QMutex mutex;
- QHash<void *, Backtrace> values;
+ QHash<const void *, Data> dPointers;
+ QHash<const volatile void *, const void *> dataPointers;
};
}
@@ -842,38 +971,122 @@ Q_GLOBAL_STATIC(KnownPointers, knownPointers)
QT_BEGIN_NAMESPACE
+namespace QtSharedPointer {
+ Q_CORE_EXPORT void internalSafetyCheckAdd(const volatile void *);
+ Q_CORE_EXPORT void internalSafetyCheckRemove(const volatile void *);
+ Q_AUTOTEST_EXPORT void internalSafetyCheckCleanCheck();
+}
+
+/*!
+ \internal
+*/
+void QtSharedPointer::internalSafetyCheckAdd(const volatile void *)
+{
+ // Qt 4.5 compatibility
+ // this function is broken by design, so it was replaced with internalSafetyCheckAdd2
+ //
+ // it's broken because we tracked the pointers added and
+ // removed from QSharedPointer, converted to void*.
+ // That is, this is supposed to track the "top-of-object" pointer in
+ // case of multiple inheritance.
+ //
+ // However, it doesn't work well in some compilers:
+ // if you create an object with a class of type A and the last reference
+ // is dropped of type B, then the value passed to internalSafetyCheckRemove could
+ // be different than was added. That would leave dangling addresses.
+ //
+ // So instead, we track the pointer by the d-pointer instead.
+}
+
+/*!
+ \internal
+*/
+void QtSharedPointer::internalSafetyCheckRemove(const volatile void *)
+{
+ // Qt 4.5 compatibility
+ // see comments above
+}
+
/*!
\internal
*/
-void QtSharedPointer::internalSafetyCheckAdd(const volatile void *ptr)
+void QtSharedPointer::internalSafetyCheckAdd2(const void *d_ptr, const volatile void *ptr)
{
+ // see comments above for the rationale for this function
KnownPointers *const kp = knownPointers();
if (!kp)
return; // end-game: the application is being destroyed already
QMutexLocker lock(&kp->mutex);
- void *actual = const_cast<void*>(ptr);
- if (kp->values.contains(actual)) {
- printBacktrace(knownPointers()->values.value(actual));
- qFatal("QSharedPointerData: internal self-check failed: pointer %p was already tracked "
- "by another QSharedPointerData object", actual);
+ Q_ASSERT(!kp->dPointers.contains(d_ptr));
+
+ //qDebug("Adding d=%p value=%p", d_ptr, ptr);
+
+ const void *other_d_ptr = kp->dataPointers.value(ptr, 0);
+ if (other_d_ptr) {
+# ifdef BACKTRACE_SUPPORTED
+ printBacktrace(knownPointers()->dPointers.value(other_d_ptr).backtrace);
+# endif
+ qFatal("QSharedPointer: internal self-check failed: pointer %p was already tracked "
+ "by another QSharedPointer object %p", ptr, other_d_ptr);
}
- kp->values.insert(actual, saveBacktrace());
+ Data data;
+ data.pointer = ptr;
+# ifdef BACKTRACE_SUPPORTED
+ data.backtrace = saveBacktrace();
+# endif
+
+ kp->dPointers.insert(d_ptr, data);
+ kp->dataPointers.insert(ptr, d_ptr);
+ Q_ASSERT(kp->dPointers.size() == kp->dataPointers.size());
}
/*!
\internal
*/
-void QtSharedPointer::internalSafetyCheckRemove(const volatile void *ptr)
+void QtSharedPointer::internalSafetyCheckRemove2(const void *d_ptr)
{
KnownPointers *const kp = knownPointers();
if (!kp)
return; // end-game: the application is being destroyed already
QMutexLocker lock(&kp->mutex);
- void *actual = const_cast<void*>(ptr);
- kp->values.remove(actual);
+
+ QHash<const void *, Data>::iterator it = kp->dPointers.find(d_ptr);
+ if (it == kp->dPointers.end()) {
+ qFatal("QSharedPointer: internal self-check inconsistency: pointer %p was not tracked. "
+ "To use QT_SHAREDPOINTER_TRACK_POINTERS, you have to enable it throughout "
+ "in your code.", d_ptr);
+ }
+
+ QHash<const volatile void *, const void *>::iterator it2 = kp->dataPointers.find(it->pointer);
+ Q_ASSERT(it2 != kp->dataPointers.end());
+
+ //qDebug("Removing d=%p value=%p", d_ptr, it->pointer);
+
+ // remove entries
+ kp->dataPointers.erase(it2);
+ kp->dPointers.erase(it);
+ Q_ASSERT(kp->dPointers.size() == kp->dataPointers.size());
+}
+
+/*!
+ \internal
+ Called by the QSharedPointer autotest
+*/
+void QtSharedPointer::internalSafetyCheckCleanCheck()
+{
+# ifdef QT_BUILD_INTERNAL
+ KnownPointers *const kp = knownPointers();
+ Q_ASSERT_X(kp, "internalSafetyCheckSelfCheck()", "Called after global statics deletion!");
+
+ if (kp->dPointers.size() != kp->dataPointers.size())
+ qFatal("Internal consistency error: the number of pointers is not equal!");
+
+ if (!kp->dPointers.isEmpty())
+ qFatal("Pointer cleaning failed: %d entries remaining", kp->dPointers.size());
+# endif
}
QT_END_NAMESPACE
diff --git a/src/corelib/tools/qsharedpointer.h b/src/corelib/tools/qsharedpointer.h
index cd6bc62..abd83ad 100644
--- a/src/corelib/tools/qsharedpointer.h
+++ b/src/corelib/tools/qsharedpointer.h
@@ -93,6 +93,7 @@ public:
template <class X> QSharedPointer<X> staticCast() const;
template <class X> QSharedPointer<X> dynamicCast() const;
template <class X> QSharedPointer<X> constCast() const;
+ template <class X> QSharedPointer<X> objectCast() const;
};
template <class T>
@@ -136,6 +137,8 @@ template <class X, class T> QSharedPointer<X> qSharedPointerDynamicCast(const QS
template <class X, class T> QSharedPointer<X> qSharedPointerDynamicCast(const QWeakPointer<T> &src);
template <class X, class T> QSharedPointer<X> qSharedPointerConstCast(const QSharedPointer<T> &src);
template <class X, class T> QSharedPointer<X> qSharedPointerConstCast(const QWeakPointer<T> &src);
+template <class X, class T> QSharedPointer<X> qSharedPointerObjectCast(const QSharedPointer<T> &src);
+template <class X, class T> QSharedPointer<X> qSharedPointerObjectCast(const QWeakPointer<T> &src);
template <class X, class T> QWeakPointer<X> qWeakPointerCast(const QWeakPointer<T> &src);
diff --git a/src/corelib/tools/qsharedpointer_impl.h b/src/corelib/tools/qsharedpointer_impl.h
index b928795..25373b3 100644
--- a/src/corelib/tools/qsharedpointer_impl.h
+++ b/src/corelib/tools/qsharedpointer_impl.h
@@ -48,7 +48,9 @@
#pragma qt_sync_stop_processing
#endif
+#include <new>
#include <QtCore/qatomic.h>
+#include <QtCore/qobject.h> // for qobject_cast
QT_BEGIN_HEADER
@@ -83,6 +85,11 @@ QSharedPointer<X> qSharedPointerDynamicCast(const QSharedPointer<T> &ptr);
template <class X, class T>
QSharedPointer<X> qSharedPointerConstCast(const QSharedPointer<T> &ptr);
+#ifndef QT_NO_QOBJECT
+template <class X, class T>
+QSharedPointer<X> qSharedPointerObjectCast(const QSharedPointer<T> &ptr);
+#endif
+
namespace QtSharedPointer {
template <class T> class InternalRefCount;
template <class T> class ExternalRefCount;
@@ -91,8 +98,8 @@ namespace QtSharedPointer {
template <class X, class Y> QSharedPointer<X> copyAndSetPointer(X * ptr, const QSharedPointer<Y> &src);
// used in debug mode to verify the reuse of pointers
- Q_CORE_EXPORT void internalSafetyCheckAdd(const volatile void *);
- Q_CORE_EXPORT void internalSafetyCheckRemove(const volatile void *);
+ Q_CORE_EXPORT void internalSafetyCheckAdd2(const void *, const volatile void *);
+ Q_CORE_EXPORT void internalSafetyCheckRemove2(const void *);
template <class T, typename Klass, typename RetVal>
inline void executeDeleter(T *t, RetVal (Klass:: *memberDeleter)())
@@ -100,13 +107,15 @@ namespace QtSharedPointer {
template <class T, typename Deleter>
inline void executeDeleter(T *t, Deleter d)
{ d(t); }
+ template <class T> inline void normalDeleter(T *t) { delete t; }
+
+ // this uses partial template specialization
+ // the only compilers that didn't support this were MSVC 6.0 and 2002
+ template <class T> struct RemovePointer;
+ template <class T> struct RemovePointer<T *> { typedef T Type; };
+ template <class T> struct RemovePointer<QSharedPointer<T> > { typedef T Type; };
+ template <class T> struct RemovePointer<QWeakPointer<T> > { typedef T Type; };
- //
- // Depending on its template parameter, QSharedPointer derives from either
- // QtSharedPointer::InternalRefCount or from QtSharedPointer::ExternalRefCount.
- // Both of these classes derive from QtSharedPointer::Basic, which provides common
- // operations,
- //
template <class T>
class Basic
{
@@ -128,7 +137,7 @@ namespace QtSharedPointer {
inline T *operator->() const { return data(); }
protected:
- inline Basic() : value(0 * sizeof(T)) { }
+ inline Basic() : value(0) { }
// ~Basic();
inline void verifyReconstruction(const T *ptr)
@@ -145,17 +154,8 @@ namespace QtSharedPointer {
inline void internalConstruct(T *ptr)
{
-#ifdef QT_SHAREDPOINTER_TRACK_POINTERS
- if (ptr) internalSafetyCheckAdd(ptr);
-#endif
value = ptr;
}
- inline void internalDestroy()
- {
-#ifdef QT_SHAREDPOINTER_TRACK_POINTERS
- if (value) internalSafetyCheckRemove(value);
-#endif
- }
#if defined(Q_NO_TEMPLATE_FRIENDS)
public:
@@ -176,48 +176,168 @@ namespace QtSharedPointer {
virtual inline bool destroy() { return false; }
};
+ // sizeof(ExternalRefCount) = 12 (32-bit) / 16 (64-bit)
template <class T, typename Deleter>
- struct ExternalRefCountWithSpecializedDeleter: public ExternalRefCountData
+ struct CustomDeleter
{
- T *ptr;
Deleter deleter;
+ T *ptr;
- inline ExternalRefCountWithSpecializedDeleter(T *p, Deleter d)
- : ptr(p), deleter(d)
+ inline CustomDeleter(T *p, Deleter d) : deleter(d), ptr(p) {}
+ };
+ // sizeof(CustomDeleter) = sizeof(Deleter) + sizeof(void*)
+ // for Deleter = function pointer: 8 (32-bit) / 16 (64-bit)
+ // for Deleter = PMF: 12 (32-bit) / 24 (64-bit) (GCC)
+
+ struct ExternalRefCountWithDestroyFn: public ExternalRefCountData
+ {
+ typedef void (*DestroyerFn)(ExternalRefCountData *);
+ DestroyerFn destroyer;
+
+ inline ExternalRefCountWithDestroyFn(DestroyerFn d)
+ : destroyer(d)
{ }
- inline bool destroy() { executeDeleter(ptr, deleter); return true; }
+
+ inline bool destroy() { destroyer(this); return true; }
+ inline void operator delete(void *ptr) { ::operator delete(ptr); }
+ };
+ // sizeof(ExternalRefCountWithDestroyFn) = 16 (32-bit) / 24 (64-bit)
+
+ template <class T, typename Deleter>
+ struct ExternalRefCountWithCustomDeleter: public ExternalRefCountWithDestroyFn
+ {
+ typedef ExternalRefCountWithCustomDeleter Self;
+ typedef ExternalRefCountWithDestroyFn Parent;
+ typedef CustomDeleter<T, Deleter> Next;
+ Next extra;
+
+ static inline void deleter(ExternalRefCountData *self)
+ {
+ Self *realself = static_cast<Self *>(self);
+ executeDeleter(realself->extra.ptr, realself->extra.deleter);
+
+ // delete the deleter too
+ realself->extra.~Next();
+ }
+ static void safetyCheckDeleter(ExternalRefCountData *self)
+ {
+ internalSafetyCheckRemove2(self);
+ deleter(self);
+ }
+
+ static inline Self *create(T *ptr, Deleter userDeleter)
+ {
+# ifdef QT_SHAREDPOINTER_TRACK_POINTERS
+ DestroyerFn destroy = &safetyCheckDeleter;
+# else
+ DestroyerFn destroy = &deleter;
+# endif
+ Self *d = static_cast<Self *>(::operator new(sizeof(Self)));
+
+ // initialize the two sub-objects
+ new (&d->extra) Next(ptr, userDeleter);
+ new (d) Parent(destroy); // can't throw
+
+ return d;
+ }
+ private:
+ // prevent construction and the emission of virtual symbols
+ ExternalRefCountWithCustomDeleter();
+ ~ExternalRefCountWithCustomDeleter();
+ };
+
+ template <class T>
+ struct ExternalRefCountWithContiguousData: public ExternalRefCountWithDestroyFn
+ {
+ typedef ExternalRefCountWithDestroyFn Parent;
+ T data;
+
+ static void deleter(ExternalRefCountData *self)
+ {
+ ExternalRefCountWithContiguousData *that =
+ static_cast<ExternalRefCountWithContiguousData *>(self);
+ that->data.~T();
+ }
+ static void safetyCheckDeleter(ExternalRefCountData *self)
+ {
+ internalSafetyCheckRemove2(self);
+ deleter(self);
+ }
+
+ static inline ExternalRefCountData *create(T **ptr)
+ {
+# ifdef QT_SHAREDPOINTER_TRACK_POINTERS
+ DestroyerFn destroy = &safetyCheckDeleter;
+# else
+ DestroyerFn destroy = &deleter;
+# endif
+ ExternalRefCountWithContiguousData *d =
+ static_cast<ExternalRefCountWithContiguousData *>(::operator new(sizeof(ExternalRefCountWithContiguousData)));
+
+ // initialize the d-pointer sub-object
+ // leave d->data uninitialized
+ new (d) Parent(destroy); // can't throw
+
+ *ptr = &d->data;
+ return d;
+ }
+
+ private:
+ // prevent construction and the emission of virtual symbols
+ ExternalRefCountWithContiguousData();
+ ~ExternalRefCountWithContiguousData();
};
template <class T>
class ExternalRefCount: public Basic<T>
{
- typedef ExternalRefCountData Data;
- typedef void (*DeleterFunction)(T *);
protected:
+ typedef ExternalRefCountData Data;
+
inline void ref() const { d->weakref.ref(); d->strongref.ref(); }
inline bool deref()
{
- if (!d->strongref.deref())
- this->internalDestroy();
+ if (!d->strongref.deref()) {
+ internalDestroy();
+ }
return d->weakref.deref();
}
inline void internalConstruct(T *ptr)
{
- Basic<T>::internalConstruct(ptr);
+#ifdef QT_SHAREDPOINTER_TRACK_POINTERS
+ internalConstruct<void (*)(T *)>(ptr, normalDeleter);
+#else
Q_ASSERT(!d);
if (ptr)
d = new Data;
+ internalFinishConstruction(ptr);
+#endif
}
template <typename Deleter>
inline void internalConstruct(T *ptr, Deleter deleter)
{
- Basic<T>::internalConstruct(ptr);
Q_ASSERT(!d);
if (ptr)
- d = new ExternalRefCountWithSpecializedDeleter<T, Deleter>(ptr, deleter);
+ d = ExternalRefCountWithCustomDeleter<T, Deleter>::create(ptr, deleter);
+ internalFinishConstruction(ptr);
+ }
+
+ inline void internalCreate()
+ {
+ T *ptr;
+ d = ExternalRefCountWithContiguousData<T>::create(&ptr);
+ Basic<T>::internalConstruct(ptr);
+ }
+
+ inline void internalFinishConstruction(T *ptr)
+ {
+ Basic<T>::internalConstruct(ptr);
+#ifdef QT_SHAREDPOINTER_TRACK_POINTERS
+ if (ptr) internalSafetyCheckAdd2(d, ptr);
+#endif
}
inline ExternalRefCount() : d(0) { }
@@ -233,7 +353,6 @@ namespace QtSharedPointer {
inline void internalDestroy()
{
- Basic<T>::internalDestroy();
if (!d->destroy())
delete this->value;
}
@@ -251,12 +370,22 @@ namespace QtSharedPointer {
inline void internalSet(Data *o, T *actual)
{
if (d == o) return;
- if (o && !o->strongref)
- o = 0;
if (o) {
Basic<T>::verifyReconstruction(actual);
- o->weakref.ref();
- o->strongref.ref();
+
+ // increase the strongref, but never up from zero
+ register int tmp = o->strongref;
+ while (tmp > 0) {
+ // try to increment from "tmp" to "tmp + 1"
+ if (o->strongref.testAndSetRelaxed(tmp, tmp + 1))
+ break; // succeeded
+ tmp = o->strongref; // failed, try again
+ }
+
+ if (tmp)
+ o->weakref.ref();
+ else
+ o = 0;
}
if (d && !deref())
delete d;
@@ -264,9 +393,7 @@ namespace QtSharedPointer {
this->value = d && d->strongref ? actual : 0;
}
-#if defined(QT_BUILD_INTERNAL)
- public:
-#endif
+ protected:
Data *d;
private:
@@ -336,9 +463,29 @@ public:
return qSharedPointerConstCast<X, T>(*this);
}
+#ifndef QT_NO_QOBJECT
+ template <class X>
+ QSharedPointer<X> objectCast() const
+ {
+ return qSharedPointerObjectCast<X, T>(*this);
+ }
+#endif
+
inline void clear() { *this = QSharedPointer<T>(); }
QWeakPointer<T> toWeakRef() const;
+
+public:
+ static inline QSharedPointer<T> create()
+ {
+ QSharedPointer<T> result;
+ result.internalCreate();
+
+ // now initialize the data
+ new (result.data()) T();
+ result.internalFinishConstruction(result.data());
+ return result;
+ }
};
template <class T>
@@ -357,6 +504,7 @@ public:
inline operator bool() const { return isNull() ? 0 : &QWeakPointer::value; }
#endif
inline bool operator !() const { return isNull(); }
+ inline T *data() const { return d == 0 || d->strongref == 0 ? 0 : value; }
inline QWeakPointer() : d(0), value(0) { }
inline ~QWeakPointer() { if (d && !d->weakref.deref()) delete d; }
@@ -557,6 +705,34 @@ QWeakPointer<X> qWeakPointerCast(const QSharedPointer<T> &src)
return qSharedPointerCast<X, T>(src).toWeakRef();
}
+#ifndef QT_NO_QOBJECT
+template <class X, class T>
+Q_INLINE_TEMPLATE QSharedPointer<X> qSharedPointerObjectCast(const QSharedPointer<T> &src)
+{
+ register X *ptr = qobject_cast<X *>(src.data());
+ return QtSharedPointer::copyAndSetPointer(ptr, src);
+}
+template <class X, class T>
+Q_INLINE_TEMPLATE QSharedPointer<X> qSharedPointerObjectCast(const QWeakPointer<T> &src)
+{
+ return qSharedPointerObjectCast<X>(src.toStrongRef());
+}
+
+template <class X, class T>
+inline QSharedPointer<typename QtSharedPointer::RemovePointer<X>::Type>
+qobject_cast(const QSharedPointer<T> &src)
+{
+ return qSharedPointerObjectCast<typename QtSharedPointer::RemovePointer<X>::Type, T>(src);
+}
+template <class X, class T>
+inline QSharedPointer<typename QtSharedPointer::RemovePointer<X>::Type>
+qobject_cast(const QWeakPointer<T> &src)
+{
+ return qSharedPointerObjectCast<typename QtSharedPointer::RemovePointer<X>::Type, T>(src);
+}
+
+#endif
+
QT_END_NAMESPACE
QT_END_HEADER
diff --git a/src/corelib/tools/qstring.cpp b/src/corelib/tools/qstring.cpp
index ca2fd1a..87e812f 100644
--- a/src/corelib/tools/qstring.cpp
+++ b/src/corelib/tools/qstring.cpp
@@ -45,6 +45,7 @@
#ifndef QT_NO_TEXTCODEC
#include <qtextcodec.h>
#endif
+#include <private/qutfcodec_p.h>
#include <qdatastream.h>
#include <qlist.h>
#include "qlocale.h"
@@ -964,7 +965,8 @@ int QString::toWCharArray(wchar_t *array) const
Constructs a string initialized with the first \a size characters
of the QChar array \a unicode.
- QString makes a deep copy of the string data.
+ QString makes a deep copy of the string data. The unicode data is copied as
+ is and the Byte Order Mark is preserved if present.
*/
QString::QString(const QChar *unicode, int size)
{
@@ -3481,7 +3483,7 @@ QByteArray QString::toAscii() const
return toLatin1();
}
-#ifndef Q_WS_MAC
+#if !defined(Q_WS_MAC) && defined(Q_OS_UNIX)
static QByteArray toLocal8Bit_helper(const QChar *data, int length)
{
#ifndef QT_NO_TEXTCODEC
@@ -3716,13 +3718,13 @@ QByteArray qt_winQString2MB(const QChar *ch, int uclen)
BOOL used_def;
QByteArray mb(4096, 0);
int len;
- while (!(len=WideCharToMultiByte(CP_ACP, 0, (const WCHAR*)ch, uclen,
+ while (!(len=WideCharToMultiByte(CP_ACP, 0, (const wchar_t*)ch, uclen,
mb.data(), mb.size()-1, 0, &used_def)))
{
int r = GetLastError();
if (r == ERROR_INSUFFICIENT_BUFFER) {
mb.resize(1+WideCharToMultiByte(CP_ACP, 0,
- (const WCHAR*)ch, uclen,
+ (const wchar_t*)ch, uclen,
0, 0, 0, &used_def));
// and try again...
} else {
@@ -3743,9 +3745,9 @@ QString qt_winMB2QString(const char *mb, int mblen)
if (!mb || !mblen)
return QString();
const int wclen_auto = 4096;
- WCHAR wc_auto[wclen_auto];
+ wchar_t wc_auto[wclen_auto];
int wclen = wclen_auto;
- WCHAR *wc = wc_auto;
+ wchar_t *wc = wc_auto;
int len;
while (!(len=MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED,
mb, mblen, wc, wclen)))
@@ -3758,7 +3760,7 @@ QString qt_winMB2QString(const char *mb, int mblen)
} else {
wclen = MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED,
mb, mblen, 0, 0);
- wc = new WCHAR[wclen];
+ wc = new wchar_t[wclen];
// and try again...
}
} else {
@@ -3801,11 +3803,6 @@ QString QString::fromLocal8Bit(const char *str, int size)
return QString();
if (size == 0 || (!*str && size < 0))
return QLatin1String("");
-#if defined(Q_OS_WIN32)
- if(QSysInfo::WindowsVersion & QSysInfo::WV_DOS_based) {
- return qt_winMB2QString(str, size);
- }
-#endif
#if !defined(QT_NO_TEXTCODEC)
if (size < 0)
size = qstrlen(str);
@@ -3850,74 +3847,7 @@ QString QString::fromUtf8(const char *str, int size)
if (size < 0)
size = qstrlen(str);
- QString result(size, Qt::Uninitialized); // worst case
- ushort *qch = result.d->data;
- uint uc = 0;
- uint min_uc = 0;
- int need = 0;
- int error = -1;
- uchar ch;
- int i = 0;
-
- // skip utf8-encoded byte order mark
- if (size >= 3
- && (uchar)str[0] == 0xef && (uchar)str[1] == 0xbb && (uchar)str[2] == 0xbf)
- i += 3;
-
- for (; i < size; ++i) {
- ch = str[i];
- if (need) {
- if ((ch&0xc0) == 0x80) {
- uc = (uc << 6) | (ch & 0x3f);
- need--;
- if (!need) {
- if (uc > 0xffffU && uc < 0x110000U) {
- // surrogate pair
- *qch++ = QChar::highSurrogate(uc);
- uc = QChar::lowSurrogate(uc);
- } else if ((uc < min_uc) || (uc >= 0xd800 && uc <= 0xdfff) || (uc >= 0xfffe)) {
- // overlong seqence, UTF16 surrogate or BOM
- uc = QChar::ReplacementCharacter;
- }
- *qch++ = uc;
- }
- } else {
- i = error;
- need = 0;
- *qch++ = QChar::ReplacementCharacter;
- }
- } else {
- if (ch < 128) {
- *qch++ = ch;
- } else if ((ch & 0xe0) == 0xc0) {
- uc = ch & 0x1f;
- need = 1;
- error = i;
- min_uc = 0x80;
- } else if ((ch & 0xf0) == 0xe0) {
- uc = ch & 0x0f;
- need = 2;
- error = i;
- min_uc = 0x800;
- } else if ((ch&0xf8) == 0xf0) {
- uc = ch & 0x07;
- need = 3;
- error = i;
- min_uc = 0x10000;
- } else {
- // Error
- *qch++ = QChar::ReplacementCharacter;
- }
- }
- }
- if (need) {
- // we have some invalid characters remaining we need to add to the string
- for (int i = error; i < size; ++i)
- *qch++ = QChar::ReplacementCharacter;
- }
-
- result.truncate(qch - result.d->data);
- return result;
+ return QUtf8::convertToUnicode(str, size, 0);
}
/*!
@@ -3940,7 +3870,7 @@ QString QString::fromUtf16(const ushort *unicode, int size)
while (unicode[size] != 0)
++size;
}
- return QString((const QChar *)unicode, size);
+ return QUtf16::convertToUnicode((const char *)unicode, size*2, 0);
}
@@ -3964,20 +3894,7 @@ QString QString::fromUcs4(const uint *unicode, int size)
while (unicode[size] != 0)
++size;
}
-
- QString s(size * 2, Qt::Uninitialized); // worst case
- ushort *uc = s.d->data;
- for (int i = 0; i < size; ++i) {
- uint u = unicode[i];
- if (u > 0xffff) {
- // decompose into a surrogate pair
- *uc++ = QChar::highSurrogate(u);
- u = QChar::lowSurrogate(u);
- }
- *uc++ = u;
- }
- s.resize(uc - s.d->data);
- return s;
+ return QUtf32::convertToUnicode((const char *)unicode, size*4, 0);
}
/*!
@@ -4699,16 +4616,7 @@ int QString::localeAwareCompare_helper(const QChar *data1, int length1,
return ucstrcmp(data1, length1, data2, length2);
#if defined(Q_OS_WIN32) || defined(Q_OS_WINCE)
- int res;
- QT_WA({
- const TCHAR* s1 = (TCHAR*)data1;
- const TCHAR* s2 = (TCHAR*)data2;
- res = CompareStringW(GetUserDefaultLCID(), 0, s1, length1, s2, length2);
- } , {
- QByteArray s1 = toLocal8Bit_helper(data1, length1);
- QByteArray s2 = toLocal8Bit_helper(data2, length2);
- res = CompareStringA(GetUserDefaultLCID(), 0, s1.data(), s1.length(), s2.data(), s2.length());
- });
+ int res = CompareString(GetUserDefaultLCID(), 0, (wchar_t*)data1, length1, (wchar_t*)data2, length2);
switch (res) {
case CSTR_LESS_THAN:
@@ -6122,6 +6030,7 @@ QString QString::repeated(int times) const
return result;
}
+void qt_string_normalize(QString *data, QString::NormalizationForm mode, QChar::UnicodeVersion version, int from);
/*!
\overload
\fn QString QString::normalized(NormalizationForm mode, QChar::UnicodeVersion version) const
@@ -6131,42 +6040,48 @@ QString QString::repeated(int times) const
*/
QString QString::normalized(QString::NormalizationForm mode, QChar::UnicodeVersion version) const
{
+ QString copy = *this;
+ qt_string_normalize(&copy, mode, version, 0);
+ return copy;
+}
+
+void qt_string_normalize(QString *data, QString::NormalizationForm mode, QChar::UnicodeVersion version, int from)
+{
bool simple = true;
- for (int i = 0; i < d->size; ++i) {
- if (d->data[i] >= 0x80) {
+ const QChar *p = data->constData();
+ int len = data->length();
+ for (int i = from; i < len; ++i) {
+ if (p[i].unicode() >= 0x80) {
simple = false;
break;
}
}
if (simple)
- return *this;
+ return;
- QString s = *this;
+ QString &s = *data;
if (version != CURRENT_VERSION) {
for (int i = 0; i < NumNormalizationCorrections; ++i) {
const NormalizationCorrection &n = uc_normalization_corrections[i];
if (n.version > version) {
+ int pos = from;
if (n.ucs4 > 0xffff) {
ushort ucs4High = QChar::highSurrogate(n.ucs4);
ushort ucs4Low = QChar::lowSurrogate(n.ucs4);
ushort oldHigh = QChar::highSurrogate(n.old_mapping);
ushort oldLow = QChar::lowSurrogate(n.old_mapping);
- int pos = 0;
- while (pos < s.d->size - 1) {
- if (s.d->data[pos] == ucs4High && s.d->data[pos + 1] == ucs4Low) {
- s.detach();
- s.d->data[pos] = oldHigh;
- s.d->data[pos + 1] = oldLow;
+ while (pos < s.length() - 1) {
+ if (s.at(pos).unicode() == ucs4High && s.at(pos + 1).unicode() == ucs4Low) {
+ s[pos] = oldHigh;
+ s[pos + 1] = oldLow;
++pos;
}
++pos;
}
} else {
- int pos = 0;
- while (pos < s.d->size) {
- if (s.d->data[pos] == n.ucs4) {
- s.detach();
- s.d->data[pos] = n.old_mapping;
+ while (pos < s.length()) {
+ if (s.at(pos).unicode() == n.ucs4) {
+ s[pos] = n.old_mapping;
}
++pos;
}
@@ -6174,15 +6089,14 @@ QString QString::normalized(QString::NormalizationForm mode, QChar::UnicodeVersi
}
}
}
- s = decomposeHelper(s, mode < QString::NormalizationForm_KD, version);
+ decomposeHelper(data, mode < QString::NormalizationForm_KD, version, from);
- s = canonicalOrderHelper(s, version);
+ canonicalOrderHelper(data, version, from);
if (mode == QString::NormalizationForm_D || mode == QString::NormalizationForm_KD)
- return s;
-
- return composeHelper(s);
+ return;
+ composeHelper(data, from);
}
@@ -6567,7 +6481,7 @@ QString QString::arg(qlonglong a, int fieldWidth, int base, const QChar &fillCha
ArgEscapeData d = findArgEscapes(*this);
if (d.occurrences == 0) {
- qWarning("QString::arg: Argument missing: %s, %lld", toLocal8Bit().data(), a);
+ qWarning() << "QString::arg: Argument missing:" << *this << ',' << a;
return *this;
}
@@ -6610,7 +6524,7 @@ QString QString::arg(qulonglong a, int fieldWidth, int base, const QChar &fillCh
ArgEscapeData d = findArgEscapes(*this);
if (d.occurrences == 0) {
- qWarning("QString::arg: Argument missing: %s, %llu", toLocal8Bit().data(), a);
+ qWarning() << "QString::arg: Argument missing:" << *this << ',' << a;
return *this;
}
diff --git a/src/corelib/tools/qstring.h b/src/corelib/tools/qstring.h
index 6bb0d8e..235c603 100644
--- a/src/corelib/tools/qstring.h
+++ b/src/corelib/tools/qstring.h
@@ -1235,6 +1235,8 @@ inline int QStringRef::localeAwareCompare(const QStringRef &s1, const QStringRef
QT_END_NAMESPACE
+QT_END_HEADER
+
#ifdef QT_USE_FAST_CONCATENATION
#include <QtCore/qstringbuilder.h>
#endif
diff --git a/src/corelib/tools/qstringbuilder.h b/src/corelib/tools/qstringbuilder.h
index 852c072..463c32d 100644
--- a/src/corelib/tools/qstringbuilder.h
+++ b/src/corelib/tools/qstringbuilder.h
@@ -69,7 +69,7 @@ private:
};
-template <typename T> class QConcatenable {};
+template <typename T> struct QConcatenable {};
template <typename A, typename B>
class QStringBuilder
@@ -163,7 +163,7 @@ template <> struct QConcatenable<QString>
static inline void appendTo(const QString &a, QChar *&out)
{
const int n = a.size();
- memcpy(out, (char*)a.constData(), sizeof(QChar) * n);
+ memcpy(out, reinterpret_cast<const char*>(a.constData()), sizeof(QChar) * n);
out += n;
}
};
@@ -175,7 +175,7 @@ template <> struct QConcatenable<QStringRef>
static inline void appendTo(QStringRef a, QChar *&out)
{
const int n = a.size();
- memcpy(out, (char*)a.constData(), sizeof(QChar) * n);
+ memcpy(out, reinterpret_cast<const char*>(a.constData()), sizeof(QChar) * n);
out += n;
}
};
@@ -202,6 +202,18 @@ template <> struct QConcatenable<const char *>
*out++ = QLatin1Char(*a++);
}
};
+
+template <> struct QConcatenable<QByteArray>
+{
+ typedef QByteArray type;
+ static int size(const QByteArray &ba) { return qstrnlen(ba.constData(), ba.size()); }
+ static inline void appendTo(const QByteArray &ba, QChar *&out)
+ {
+ const char *data = ba.constData();
+ while (*data)
+ *out++ = QLatin1Char(*data++);
+ }
+};
#endif
template <typename A, typename B>
diff --git a/src/corelib/tools/qstringlist.cpp b/src/corelib/tools/qstringlist.cpp
index 5a2b37a..5c550af 100644
--- a/src/corelib/tools/qstringlist.cpp
+++ b/src/corelib/tools/qstringlist.cpp
@@ -41,6 +41,7 @@
#include <qstringlist.h>
#include <qset.h>
+#include <qstringmatcher.h>
QT_BEGIN_NAMESPACE
diff --git a/src/corelib/tools/qstringlist.h b/src/corelib/tools/qstringlist.h
index 665c0d0..f36567a 100644
--- a/src/corelib/tools/qstringlist.h
+++ b/src/corelib/tools/qstringlist.h
@@ -47,7 +47,6 @@
#include <QtCore/qlist.h>
#include <QtCore/qregexp.h>
#include <QtCore/qstring.h>
-#include <QtCore/qstringmatcher.h>
#ifdef QT_INCLUDE_COMPAT
#include <Qt3Support/q3valuelist.h>
#endif
diff --git a/src/corelib/tools/qstringmatcher.h b/src/corelib/tools/qstringmatcher.h
index 2b8edc9..61b7a95 100644
--- a/src/corelib/tools/qstringmatcher.h
+++ b/src/corelib/tools/qstringmatcher.h
@@ -81,13 +81,14 @@ private:
// explicitely allow anonymous unions for RVCT to prevent compiler warnings
#pragma anon_unions
#endif
+ struct Data {
+ uchar q_skiptable[256];
+ const QChar *uc;
+ int len;
+ };
union {
uint q_data[256];
- struct {
- uchar q_skiptable[256];
- const QChar *uc;
- int len;
- } p;
+ Data p;
};
};
diff --git a/src/corelib/tools/qtimeline.cpp b/src/corelib/tools/qtimeline.cpp
index 04aed39..e32fc03 100644
--- a/src/corelib/tools/qtimeline.cpp
+++ b/src/corelib/tools/qtimeline.cpp
@@ -555,6 +555,8 @@ void QTimeLine::setCurveShape(CurveShape shape)
/*!
\property QTimeLine::easingCurve
+ \since 4.6
+
Specifies the easing curve that the timeline will use.
If both easing curve and curveShape are set, the last set property will
override the previous one. (If valueForTime() is reimplemented it will
diff --git a/src/corelib/tools/qtimeline.h b/src/corelib/tools/qtimeline.h
index 2a1c2c2..2d1ad42 100644
--- a/src/corelib/tools/qtimeline.h
+++ b/src/corelib/tools/qtimeline.h
@@ -136,7 +136,7 @@ protected:
private:
Q_DISABLE_COPY(QTimeLine)
- Q_DECLARE_SCOPED_PRIVATE(QTimeLine)
+ Q_DECLARE_PRIVATE(QTimeLine)
};
QT_END_NAMESPACE
diff --git a/src/corelib/tools/qvector.h b/src/corelib/tools/qvector.h
index 9fc9c03..3a7b35c 100644
--- a/src/corelib/tools/qvector.h
+++ b/src/corelib/tools/qvector.h
@@ -253,11 +253,7 @@ public:
typedef const value_type* const_pointer;
typedef value_type& reference;
typedef const value_type& const_reference;
-#ifndef QT_NO_STL
typedef ptrdiff_t difference_type;
-#else
- typedef int difference_type;
-#endif
typedef iterator Iterator;
typedef const_iterator ConstIterator;
typedef int size_type;
@@ -418,7 +414,9 @@ void QVector<T>::free(Data *x)
{
if (QTypeInfo<T>::isComplex) {
T* b = x->array;
- T* i = b + reinterpret_cast<QVectorData *>(x)->size;
+ union { QVectorData *d; Data *p; } u;
+ u.p = x;
+ T* i = b + u.d->size;
while (i-- != b)
i->~T();
}
diff --git a/src/corelib/tools/tools.pri b/src/corelib/tools/tools.pri
index 1162238..e6c6169 100644
--- a/src/corelib/tools/tools.pri
+++ b/src/corelib/tools/tools.pri
@@ -5,6 +5,7 @@ HEADERS += \
tools/qbitarray.h \
tools/qbytearray.h \
tools/qbytearraymatcher.h \
+ tools/qbytedata_p.h \
tools/qcache.h \
tools/qchar.h \
tools/qcontainerfwd.h \
@@ -113,4 +114,4 @@ HEADERS += tools/qharfbuzz_p.h
INCLUDEPATH += ../3rdparty/md5 \
../3rdparty/md4
-!macx-icc:unix:!symbian:LIBS += -lm
+!macx-icc:unix:!symbian:!vxworks:LIBS += -lm
diff --git a/src/corelib/xml/qxmlstream.cpp b/src/corelib/xml/qxmlstream.cpp
index 79b9bf2..cbf367e 100644
--- a/src/corelib/xml/qxmlstream.cpp
+++ b/src/corelib/xml/qxmlstream.cpp
@@ -334,12 +334,17 @@ QXmlStreamEntityResolver *QXmlStreamReader::entityResolver() const
from the PrematureEndOfDocumentError error and continues parsing the
new data with the next call to readNext().
- For example, if you read data from the network using QHttp, you
- would connect its \l{QHttp::readyRead()}{readyRead()} signal to a
- custom slot. In this slot, you read all available data with
- \l{QHttp::readAll()}{readAll()} and pass it to the XML stream reader
- using addData(). Then you call your custom parsing function that
- reads the XML events from the reader.
+ For example, if your application reads data from the network using a
+ \l{QNetworkAccessManager} {network access manager}, you would issue
+ a \l{QNetworkRequest} {network request} to the manager and receive a
+ \l{QNetworkReply} {network reply} in return. Since a QNetworkReply
+ is a QIODevice, you connect its \l{QNetworkReply::readyRead()}
+ {readyRead()} signal to a custom slot, e.g. \c{slotReadyRead()} in
+ the code snippet shown in the discussion for QNetworkAccessManager.
+ In this slot, you read all available data with
+ \l{QNetworkReply::readAll()} {readAll()} and pass it to the XML
+ stream reader using addData(). Then you call your custom parsing
+ function that reads the XML events from the reader.
\section1 Performance and memory consumption
@@ -567,7 +572,7 @@ bool QXmlStreamReader::atEnd() const
returns true, hasError() returns true, and this function returns
QXmlStreamReader::Invalid.
- The exception is when error() return PrematureEndOfDocumentError.
+ The exception is when error() returns PrematureEndOfDocumentError.
This error is reported when the end of an otherwise well-formed
chunk of XML is reached, but the chunk doesn't represent a complete
XML document. In that case, parsing \e can be resumed by calling
diff --git a/src/corelib/xml/qxmlstream.h b/src/corelib/xml/qxmlstream.h
index 3215624..7be7138 100644
--- a/src/corelib/xml/qxmlstream.h
+++ b/src/corelib/xml/qxmlstream.h
@@ -392,7 +392,7 @@ public:
private:
Q_DISABLE_COPY(QXmlStreamReader)
- Q_DECLARE_SCOPED_PRIVATE(QXmlStreamReader)
+ Q_DECLARE_PRIVATE(QXmlStreamReader)
QScopedPointer<QXmlStreamReaderPrivate> d_ptr;
};
@@ -465,7 +465,7 @@ public:
private:
Q_DISABLE_COPY(QXmlStreamWriter)
- Q_DECLARE_SCOPED_PRIVATE(QXmlStreamWriter)
+ Q_DECLARE_PRIVATE(QXmlStreamWriter)
QScopedPointer<QXmlStreamWriterPrivate> d_ptr;
};
#endif // QT_NO_XMLSTREAMWRITER
diff --git a/src/corelib/xml/qxmlstream_p.h b/src/corelib/xml/qxmlstream_p.h
index e6c914f..68477af 100644
--- a/src/corelib/xml/qxmlstream_p.h
+++ b/src/corelib/xml/qxmlstream_p.h
@@ -54,6 +54,10 @@
#ifndef QXMLSTREAM_P_H
#define QXMLSTREAM_P_H
+#if defined(Q_OS_VXWORKS) && defined(ERROR)
+# undef ERROR
+#endif
+
class QXmlStreamReader_Table
{
public:
diff --git a/src/dbus/qdbusabstractadaptor.h b/src/dbus/qdbusabstractadaptor.h
index 2af1d14..06ba004 100644
--- a/src/dbus/qdbusabstractadaptor.h
+++ b/src/dbus/qdbusabstractadaptor.h
@@ -66,7 +66,7 @@ protected:
bool autoRelaySignals() const;
private:
- Q_DECLARE_SCOPED_PRIVATE(QDBusAbstractAdaptor)
+ Q_DECLARE_PRIVATE(QDBusAbstractAdaptor)
};
QT_END_NAMESPACE
diff --git a/src/dbus/qdbusabstractinterface.cpp b/src/dbus/qdbusabstractinterface.cpp
index 85c3274..7c520df 100644
--- a/src/dbus/qdbusabstractinterface.cpp
+++ b/src/dbus/qdbusabstractinterface.cpp
@@ -44,6 +44,7 @@
#include "qdbusargument.h"
#include "qdbuspendingcall.h"
+#include "qdbusmessage_p.h"
#include "qdbusmetaobject_p.h"
#include "qdbusmetatype_p.h"
#include "qdbusutil_p.h"
@@ -52,99 +53,83 @@
QT_BEGIN_NAMESPACE
+static QDBusError checkIfValid(const QString &service, const QString &path,
+ const QString &interface, bool isDynamic)
+{
+ // We should be throwing exceptions here... oh well
+ QDBusError error;
+
+ // dynamic interfaces (QDBusInterface) can have empty interfaces, but not service and object paths
+ // non-dynamic is the opposite: service and object paths can be empty, but not the interface
+ if (!isDynamic) {
+ // use assertion here because this should never happen, at all
+ Q_ASSERT_X(!interface.isEmpty(), "QDBusAbstractInterface", "Interface name cannot be empty");
+ }
+ if (!QDBusUtil::checkBusName(service, isDynamic ? QDBusUtil::EmptyNotAllowed : QDBusUtil::EmptyAllowed, &error))
+ return error;
+ if (!QDBusUtil::checkObjectPath(path, isDynamic ? QDBusUtil::EmptyNotAllowed : QDBusUtil::EmptyAllowed, &error))
+ return error;
+ if (!QDBusUtil::checkInterfaceName(interface, QDBusUtil::EmptyAllowed, &error))
+ return error;
+
+ // no error
+ return QDBusError();
+}
+
QDBusAbstractInterfacePrivate::QDBusAbstractInterfacePrivate(const QString &serv,
const QString &p,
const QString &iface,
const QDBusConnection& con,
bool isDynamic)
- : connection(con), service(serv), path(p), interface(iface), isValid(true)
+ : connection(con), service(serv), path(p), interface(iface),
+ lastError(checkIfValid(serv, p, iface, isDynamic)),
+ isValid(!lastError.isValid())
{
- if (isDynamic) {
- // QDBusInterface: service and object path can't be empty, but interface can
-#if 0
- Q_ASSERT_X(QDBusUtil::isValidBusName(service),
- "QDBusInterface::QDBusInterface", "Invalid service name");
- Q_ASSERT_X(QDBusUtil::isValidObjectPath(path),
- "QDBusInterface::QDBusInterface", "Invalid object path given");
- Q_ASSERT_X(interface.isEmpty() || QDBusUtil::isValidInterfaceName(interface),
- "QDBusInterface::QDBusInterface", "Invalid interface name");
-#else
- if (!QDBusUtil::isValidBusName(service)) {
- lastError = QDBusError(QDBusError::Disconnected,
- QLatin1String("Invalid service name"));
- isValid = false;
- } else if (!QDBusUtil::isValidObjectPath(path)) {
- lastError = QDBusError(QDBusError::Disconnected,
- QLatin1String("Invalid object name given"));
- isValid = false;
- } else if (!interface.isEmpty() && !QDBusUtil::isValidInterfaceName(interface)) {
- lastError = QDBusError(QDBusError::Disconnected,
- QLatin1String("Invalid interface name"));
- isValid = false;
- }
-#endif
- } else {
- // all others: service and path can be empty here, but interface can't
-#if 0
- Q_ASSERT_X(service.isEmpty() || QDBusUtil::isValidBusName(service),
- "QDBusAbstractInterface::QDBusAbstractInterface", "Invalid service name");
- Q_ASSERT_X(path.isEmpty() || QDBusUtil::isValidObjectPath(path),
- "QDBusAbstractInterface::QDBusAbstractInterface", "Invalid object path given");
- Q_ASSERT_X(QDBusUtil::isValidInterfaceName(interface),
- "QDBusAbstractInterface::QDBusAbstractInterface", "Invalid interface class!");
-#else
- if (!service.isEmpty() && !QDBusUtil::isValidBusName(service)) {
- lastError = QDBusError(QDBusError::Disconnected,
- QLatin1String("Invalid service name"));
- isValid = false;
- } else if (!path.isEmpty() && !QDBusUtil::isValidObjectPath(path)) {
- lastError = QDBusError(QDBusError::Disconnected,
- QLatin1String("Invalid object path given"));
- isValid = false;
- } else if (!QDBusUtil::isValidInterfaceName(interface)) {
- lastError = QDBusError(QDBusError::Disconnected,
- QLatin1String("Invalid interface class"));
- isValid = false;
- }
-#endif
- }
-
if (!isValid)
return;
if (!connection.isConnected()) {
lastError = QDBusError(QDBusError::Disconnected,
QLatin1String("Not connected to D-Bus server"));
- isValid = false;
} else if (!service.isEmpty()) {
currentOwner = connectionPrivate()->getNameOwner(service); // verify the name owner
if (currentOwner.isEmpty()) {
- isValid = false;
lastError = connectionPrivate()->lastError;
}
}
}
-QVariant QDBusAbstractInterfacePrivate::property(const QMetaProperty &mp) const
+bool QDBusAbstractInterfacePrivate::canMakeCalls() const
{
- if (!connection.isConnected()) // not connected
- return QVariant();
+ // recheck only if we have a wildcard (i.e. empty) service or path
+ // if any are empty, set the error message according to QDBusUtil
+ if (service.isEmpty())
+ return QDBusUtil::checkBusName(service, QDBusUtil::EmptyNotAllowed, &lastError);
+ if (path.isEmpty())
+ return QDBusUtil::checkObjectPath(path, QDBusUtil::EmptyNotAllowed, &lastError);
+ return true;
+}
+
+void QDBusAbstractInterfacePrivate::property(const QMetaProperty &mp, QVariant &where) const
+{
+ if (!isValid || !canMakeCalls()) { // can't make calls
+ where.clear();
+ return;
+ }
// is this metatype registered?
- int mid;
- const char *expectedSignature;
- if (mp.type() == QVariant::LastType) {
- // We're asking to read a QVariant
- mid = qMetaTypeId<QDBusVariant>();
- expectedSignature = "v";
- } else {
- mid = QMetaType::type(mp.typeName());
- expectedSignature = QDBusMetaType::typeToSignature(mid);
+ const char *expectedSignature = "";
+ if (mp.type() != 0xff) {
+ expectedSignature = QDBusMetaType::typeToSignature(where.userType());
if (expectedSignature == 0) {
qWarning("QDBusAbstractInterface: type %s must be registered with QtDBus before it can be "
"used to read property %s.%s",
mp.typeName(), qPrintable(interface), mp.name());
- return QVariant();
+ lastError = QDBusError(QDBusError::Failed,
+ QString::fromLatin1("Unregistered type %1 cannot be handled")
+ .arg(QLatin1String(mp.typeName())));
+ where.clear();
+ return;
}
}
@@ -152,26 +137,33 @@ QVariant QDBusAbstractInterfacePrivate::property(const QMetaProperty &mp) const
QDBusMessage msg = QDBusMessage::createMethodCall(service, path,
QLatin1String(DBUS_INTERFACE_PROPERTIES),
QLatin1String("Get"));
+ QDBusMessagePrivate::setParametersValidated(msg, true);
msg << interface << QString::fromUtf8(mp.name());
QDBusMessage reply = connection.call(msg, QDBus::Block);
if (reply.type() != QDBusMessage::ReplyMessage) {
lastError = reply;
- return QVariant();
+ where.clear();
+ return;
}
if (reply.signature() != QLatin1String("v")) {
QString errmsg = QLatin1String("Invalid signature `%1' in return from call to "
DBUS_INTERFACE_PROPERTIES);
lastError = QDBusError(QDBusError::InvalidSignature, errmsg.arg(reply.signature()));
- return QVariant();
+ where.clear();
+ return;
}
QByteArray foundSignature;
const char *foundType = 0;
QVariant value = qvariant_cast<QDBusVariant>(reply.arguments().at(0)).variant();
- if (value.userType() == mid)
- return value; // simple match
+ if (value.userType() == where.userType() || mp.type() == 0xff
+ || (expectedSignature[0] == 'v' && expectedSignature[1] == '\0')) {
+ // simple match
+ where = value;
+ return;
+ }
if (value.userType() == qMetaTypeId<QDBusArgument>()) {
QDBusArgument arg = qvariant_cast<QDBusArgument>(value);
@@ -179,14 +171,9 @@ QVariant QDBusAbstractInterfacePrivate::property(const QMetaProperty &mp) const
foundType = "user type";
foundSignature = arg.currentSignature().toLatin1();
if (foundSignature == expectedSignature) {
- void *null = 0;
- QVariant result(mid, null);
- QDBusMetaType::demarshall(arg, mid, result.data());
-
- if (mp.type() == QVariant::LastType)
- // special case: QVariant
- return qvariant_cast<QDBusVariant>(result).variant();
- return result;
+ // signatures match, we can demarshall
+ QDBusMetaType::demarshall(arg, where.userType(), where.data());
+ return;
}
} else {
foundType = value.typeName();
@@ -203,23 +190,28 @@ QVariant QDBusAbstractInterfacePrivate::property(const QMetaProperty &mp) const
QString::fromUtf8(mp.name()),
QString::fromLatin1(mp.typeName()),
QString::fromLatin1(expectedSignature)));
- return QVariant();
+ where.clear();
+ return;
}
-void QDBusAbstractInterfacePrivate::setProperty(const QMetaProperty &mp, const QVariant &value)
+bool QDBusAbstractInterfacePrivate::setProperty(const QMetaProperty &mp, const QVariant &value)
{
- if (!connection.isConnected()) // not connected
- return;
+ if (!isValid || !canMakeCalls()) // can't make calls
+ return false;
// send the value
QDBusMessage msg = QDBusMessage::createMethodCall(service, path,
QLatin1String(DBUS_INTERFACE_PROPERTIES),
QLatin1String("Set"));
+ QDBusMessagePrivate::setParametersValidated(msg, true);
msg << interface << QString::fromUtf8(mp.name()) << qVariantFromValue(QDBusVariant(value));
QDBusMessage reply = connection.call(msg, QDBus::Block);
- if (reply.type() != QDBusMessage::ReplyMessage)
+ if (reply.type() != QDBusMessage::ReplyMessage) {
lastError = reply;
+ return false;
+ }
+ return true;
}
void QDBusAbstractInterfacePrivate::_q_serviceOwnerChanged(const QString &name,
@@ -230,10 +222,36 @@ void QDBusAbstractInterfacePrivate::_q_serviceOwnerChanged(const QString &name,
//qDebug() << "QDBusAbstractInterfacePrivate serviceOwnerChanged" << name << oldOwner << newOwner;
if (name == service) {
currentOwner = newOwner;
- isValid = !newOwner.isEmpty();
}
}
+QDBusAbstractInterfaceBase::QDBusAbstractInterfaceBase(QDBusAbstractInterfacePrivate &d, QObject *parent)
+ : QObject(d, parent)
+{
+}
+
+int QDBusAbstractInterfaceBase::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
+{
+ int saved_id = _id;
+ _id = QObject::qt_metacall(_c, _id, _a);
+ if (_id < 0)
+ return _id;
+
+ if (_c == QMetaObject::ReadProperty || _c == QMetaObject::WriteProperty) {
+ QMetaProperty mp = metaObject()->property(saved_id);
+ int &status = *reinterpret_cast<int *>(_a[2]);
+ QVariant &variant = *reinterpret_cast<QVariant *>(_a[1]);
+
+ if (_c == QMetaObject::WriteProperty) {
+ status = d_func()->setProperty(mp, variant) ? 1 : 0;
+ } else {
+ d_func()->property(mp, variant);
+ status = variant.isValid() ? 1 : 0;
+ }
+ _id = -1;
+ }
+ return _id;
+}
/*!
\class QDBusAbstractInterface
@@ -258,10 +276,10 @@ void QDBusAbstractInterfacePrivate::_q_serviceOwnerChanged(const QString &name,
This is the constructor called from QDBusInterface::QDBusInterface.
*/
QDBusAbstractInterface::QDBusAbstractInterface(QDBusAbstractInterfacePrivate &d, QObject *parent)
- : QObject(d, parent)
+ : QDBusAbstractInterfaceBase(d, parent)
{
// keep track of the service owner
- if (d_func()->isValid)
+ if (!d_func()->currentOwner.isEmpty())
QObject::connect(d_func()->connectionPrivate(), SIGNAL(serviceOwnerChanged(QString,QString,QString)),
this, SLOT(_q_serviceOwnerChanged(QString,QString,QString)));
}
@@ -274,7 +292,7 @@ QDBusAbstractInterface::QDBusAbstractInterface(QDBusAbstractInterfacePrivate &d,
QDBusAbstractInterface::QDBusAbstractInterface(const QString &service, const QString &path,
const char *interface, const QDBusConnection &con,
QObject *parent)
- : QObject(*new QDBusAbstractInterfacePrivate(service, path, QString::fromLatin1(interface),
+ : QDBusAbstractInterfaceBase(*new QDBusAbstractInterfacePrivate(service, path, QString::fromLatin1(interface),
con, false), parent)
{
// keep track of the service owner
@@ -300,7 +318,7 @@ QDBusAbstractInterface::~QDBusAbstractInterface()
*/
bool QDBusAbstractInterface::isValid() const
{
- return d_func()->isValid;
+ return !d_func()->currentOwner.isEmpty();
}
/*!
@@ -367,6 +385,9 @@ QDBusMessage QDBusAbstractInterface::callWithArgumentList(QDBus::CallMode mode,
{
Q_D(QDBusAbstractInterface);
+ if (!d->isValid || !d->canMakeCalls())
+ return QDBusMessage::createError(d->lastError);
+
QString m = method;
// split out the signature from the method
int pos = method.indexOf(QLatin1Char('.'));
@@ -397,6 +418,7 @@ QDBusMessage QDBusAbstractInterface::callWithArgumentList(QDBus::CallMode mode,
// qDebug() << "QDBusAbstractInterface" << "Service" << service() << "Path:" << path();
QDBusMessage msg = QDBusMessage::createMethodCall(service(), path(), interface(), m);
+ QDBusMessagePrivate::setParametersValidated(msg, true);
msg.setArguments(args);
QDBusMessage reply = d->connection.call(msg, mode);
@@ -425,7 +447,11 @@ QDBusPendingCall QDBusAbstractInterface::asyncCallWithArgumentList(const QString
{
Q_D(QDBusAbstractInterface);
+ if (!d->isValid || !d->canMakeCalls())
+ return QDBusPendingCall::fromError(d->lastError);
+
QDBusMessage msg = QDBusMessage::createMethodCall(service(), path(), interface(), method);
+ QDBusMessagePrivate::setParametersValidated(msg, true);
msg.setArguments(args);
return d->connection.asyncCall(msg);
}
@@ -440,7 +466,8 @@ QDBusPendingCall QDBusAbstractInterface::asyncCallWithArgumentList(const QString
This function returns true if the queueing succeeds. It does
not indicate that the executed call succeeded. If it fails,
- the \a errorMethod is called.
+ the \a errorMethod is called. If the queueing failed, this
+ function returns false and no slot will be called.
The \a returnMethod must have as its parameters the types returned
by the function call. Optionally, it may have a QDBusMessage
@@ -453,22 +480,26 @@ QDBusPendingCall QDBusAbstractInterface::asyncCallWithArgumentList(const QString
bool QDBusAbstractInterface::callWithCallback(const QString &method,
const QList<QVariant> &args,
QObject *receiver,
- const char *returnMethod,
+ const char *returnMethod,
const char *errorMethod)
{
Q_D(QDBusAbstractInterface);
+ if (!d->isValid || !d->canMakeCalls())
+ return false;
+
QDBusMessage msg = QDBusMessage::createMethodCall(service(),
- path(),
- interface(),
- method);
+ path(),
+ interface(),
+ method);
+ QDBusMessagePrivate::setParametersValidated(msg, true);
msg.setArguments(args);
d->lastError = 0;
return d->connection.callWithCallback(msg,
- receiver,
- returnMethod,
- errorMethod);
+ receiver,
+ returnMethod,
+ errorMethod);
}
/*!
@@ -492,7 +523,7 @@ bool QDBusAbstractInterface::callWithCallback(const QString &method,
bool QDBusAbstractInterface::callWithCallback(const QString &method,
const QList<QVariant> &args,
QObject *receiver,
- const char *slot)
+ const char *slot)
{
return callWithCallback(method, args, receiver, slot, 0);
}
@@ -503,13 +534,15 @@ bool QDBusAbstractInterface::callWithCallback(const QString &method,
*/
void QDBusAbstractInterface::connectNotify(const char *signal)
{
+ // someone connecting to one of our signals
+ Q_D(QDBusAbstractInterface);
+ if (!d->isValid)
+ return;
+
// we end up recursing here, so optimise away
if (qstrcmp(signal + 1, "destroyed(QObject*)") == 0)
return;
- // someone connecting to one of our signals
- Q_D(QDBusAbstractInterface);
-
QDBusConnectionPrivate *conn = d->connectionPrivate();
if (conn)
conn->connectRelay(d->service, d->currentOwner, d->path, d->interface,
@@ -524,6 +557,8 @@ void QDBusAbstractInterface::disconnectNotify(const char *signal)
{
// someone disconnecting from one of our signals
Q_D(QDBusAbstractInterface);
+ if (!d->isValid)
+ return;
QDBusConnectionPrivate *conn = d->connectionPrivate();
if (conn)
@@ -540,11 +575,7 @@ QVariant QDBusAbstractInterface::internalPropGet(const char *propname) const
// assume this property exists and is readable
// we're only called from generated code anyways
- int idx = metaObject()->indexOfProperty(propname);
- if (idx != -1)
- return d_func()->property(metaObject()->property(idx));
- qWarning("QDBusAbstractInterface::internalPropGet called with unknown property '%s'", propname);
- return QVariant(); // error
+ return property(propname);
}
/*!
@@ -553,16 +584,7 @@ QVariant QDBusAbstractInterface::internalPropGet(const char *propname) const
*/
void QDBusAbstractInterface::internalPropSet(const char *propname, const QVariant &value)
{
- Q_D(QDBusAbstractInterface);
-
- // assume this property exists and is writeable
- // we're only called from generated code anyways
-
- int idx = metaObject()->indexOfProperty(propname);
- if (idx != -1)
- d->setProperty(metaObject()->property(idx), value);
- else
- qWarning("QDBusAbstractInterface::internalPropGet called with unknown property '%s'", propname);
+ setProperty(propname, value);
}
/*!
diff --git a/src/dbus/qdbusabstractinterface.h b/src/dbus/qdbusabstractinterface.h
index 331ce0e..e525f77 100644
--- a/src/dbus/qdbusabstractinterface.h
+++ b/src/dbus/qdbusabstractinterface.h
@@ -61,7 +61,23 @@ class QDBusError;
class QDBusPendingCall;
class QDBusAbstractInterfacePrivate;
-class QDBUS_EXPORT QDBusAbstractInterface: public QObject
+
+class QDBUS_EXPORT QDBusAbstractInterfaceBase: public QObject
+{
+public:
+ int qt_metacall(QMetaObject::Call, int, void**);
+protected:
+ QDBusAbstractInterfaceBase(QDBusAbstractInterfacePrivate &dd, QObject *parent);
+private:
+ Q_DECLARE_PRIVATE(QDBusAbstractInterface)
+};
+
+class QDBUS_EXPORT QDBusAbstractInterface:
+#ifdef Q_QDOC
+ public QObject
+#else
+ public QDBusAbstractInterfaceBase
+#endif
{
Q_OBJECT
@@ -135,7 +151,7 @@ protected:
const QList<QVariant> &args = QList<QVariant>()) const;
private:
- Q_DECLARE_SCOPED_PRIVATE(QDBusAbstractInterface)
+ Q_DECLARE_PRIVATE(QDBusAbstractInterface)
Q_PRIVATE_SLOT(d_func(), void _q_serviceOwnerChanged(QString,QString,QString))
};
diff --git a/src/dbus/qdbusabstractinterface_p.h b/src/dbus/qdbusabstractinterface_p.h
index e2ea058..65df902 100644
--- a/src/dbus/qdbusabstractinterface_p.h
+++ b/src/dbus/qdbusabstractinterface_p.h
@@ -75,15 +75,19 @@ public:
QString path;
QString interface;
mutable QDBusError lastError;
+
+ // this is set during creation and never changed
+ // it can't be const because QDBusInterfacePrivate has one more check
bool isValid;
QDBusAbstractInterfacePrivate(const QString &serv, const QString &p,
const QString &iface, const QDBusConnection& con, bool dynamic);
virtual ~QDBusAbstractInterfacePrivate() { }
+ bool canMakeCalls() const;
// these functions do not check if the property is valid
- QVariant property(const QMetaProperty &mp) const;
- void setProperty(const QMetaProperty &mp, const QVariant &value);
+ void property(const QMetaProperty &mp, QVariant &where) const;
+ bool setProperty(const QMetaProperty &mp, const QVariant &value);
// return conn's d pointer
inline QDBusConnectionPrivate *connectionPrivate() const
diff --git a/src/dbus/qdbusargument_p.h b/src/dbus/qdbusargument_p.h
index b49a517..78bc683 100644
--- a/src/dbus/qdbusargument_p.h
+++ b/src/dbus/qdbusargument_p.h
@@ -130,7 +130,7 @@ public:
QDBusMarshaller *endCommon();
void open(QDBusMarshaller &sub, int code, const char *signature);
void close();
- void error();
+ void error(const QString &message);
bool appendVariantInternal(const QVariant &arg);
bool appendRegisteredType(const QVariant &arg);
@@ -140,6 +140,7 @@ public:
DBusMessageIter iterator;
QDBusMarshaller *parent;
QByteArray *ba;
+ QString errorString;
char closeCode;
bool ok;
diff --git a/src/dbus/qdbusconnection_p.h b/src/dbus/qdbusconnection_p.h
index 5c37509..a156a71 100644
--- a/src/dbus/qdbusconnection_p.h
+++ b/src/dbus/qdbusconnection_p.h
@@ -300,6 +300,8 @@ public:
extern int qDBusParametersForMethod(const QMetaMethod &mm, QList<int>& metaTypes);
extern int qDBusNameToTypeId(const char *name);
extern bool qDBusCheckAsyncTag(const char *tag);
+extern bool qDBusInterfaceInObject(QObject *obj, const QString &interface_name);
+extern QString qDBusInterfaceFromMetaObject(const QMetaObject *mo);
// in qdbusinternalfilters.cpp
extern QString qDBusIntrospectObject(const QDBusConnectionPrivate::ObjectTreeNode &node);
@@ -310,9 +312,6 @@ extern QDBusMessage qDBusPropertySet(const QDBusConnectionPrivate::ObjectTreeNod
extern QDBusMessage qDBusPropertyGetAll(const QDBusConnectionPrivate::ObjectTreeNode &node,
const QDBusMessage &msg);
-// in qdbusxmlgenerator.cpp
-extern QString qDBusInterfaceFromMetaObject(const QMetaObject *mo);
-
QT_END_NAMESPACE
#endif
diff --git a/src/dbus/qdbuserror.cpp b/src/dbus/qdbuserror.cpp
index 4f50e4f..caa2437 100644
--- a/src/dbus/qdbuserror.cpp
+++ b/src/dbus/qdbuserror.cpp
@@ -91,6 +91,10 @@ org.freedesktop.DBus.Error.InvalidSignature
org.freedesktop.DBus.Error.UnknownInterface
com.trolltech.QtDBus.Error.InternalError
org.freedesktop.DBus.Error.UnknownObject
+com.trolltech.QtDBus.Error.InvalidService
+com.trolltech.QtDBus.Error.InvalidObjectPath
+com.trolltech.QtDBus.Error.InvalidInterface
+com.trolltech.QtDBus.Error.InvalidMember
*/
// in the same order as KnownErrors!
@@ -116,12 +120,17 @@ static const char errorMessages_string[] =
"org.freedesktop.DBus.Error.UnknownInterface\0"
"com.trolltech.QtDBus.Error.InternalError\0"
"org.freedesktop.DBus.Error.UnknownObject\0"
+ "com.trolltech.QtDBus.Error.InvalidService\0"
+ "com.trolltech.QtDBus.Error.InvalidObjectPath\0"
+ "com.trolltech.QtDBus.Error.InvalidInterface\0"
+ "com.trolltech.QtDBus.Error.InvalidMember\0"
"\0";
static const int errorMessages_indices[] = {
0, 6, 40, 76, 118, 153, 191, 231,
273, 313, 349, 384, 421, 461, 501, 540,
- 581, 617, 661, 705, 746, 0
+ 581, 617, 661, 705, 746, 787, 829, 874,
+ 918, 0
};
static const int errorMessages_count = sizeof errorMessages_indices /
@@ -216,8 +225,16 @@ static inline QDBusError::ErrorType get(const char *name)
\value UnknownInterface The interface is not known
\value InternalError An internal error occurred
(\c com.trolltech.QtDBus.Error.InternalError)
- \value UnknownObject The remote object could not be found.
+ \value InvalidObjectPath The object path provided is invalid.
+
+ \value InvalidService The service requested is invalid.
+
+ \value InvalidMember The member is invalid.
+
+ \value InvalidInterface The interface is invalid.
+
+ \value UnknownObject The remote object could not be found.
*/
/*!
diff --git a/src/dbus/qdbuserror.h b/src/dbus/qdbuserror.h
index 7b77fd5..4e348dd 100644
--- a/src/dbus/qdbuserror.h
+++ b/src/dbus/qdbuserror.h
@@ -81,10 +81,14 @@ public:
UnknownInterface,
InternalError,
UnknownObject,
+ InvalidService,
+ InvalidObjectPath,
+ InvalidInterface,
+ InvalidMember,
#ifndef Q_QDOC
// don't use this one!
- LastErrorType = UnknownObject
+ LastErrorType = InvalidMember
#endif
};
diff --git a/src/dbus/qdbusintegrator.cpp b/src/dbus/qdbusintegrator.cpp
index 97a4545..e6c69b6 100644
--- a/src/dbus/qdbusintegrator.cpp
+++ b/src/dbus/qdbusintegrator.cpp
@@ -1143,10 +1143,14 @@ void QDBusConnectionPrivate::relaySignal(QObject *obj, const QMetaObject *mo, in
QDBusReadLocker locker(RelaySignalAction, this);
QDBusMessage message = QDBusMessage::createSignal(QLatin1String("/"), interface,
QLatin1String(memberName));
+ QDBusMessagePrivate::setParametersValidated(message, true);
message.setArguments(args);
- DBusMessage *msg = QDBusMessagePrivate::toDBusMessage(message);
+ QDBusError error;
+ DBusMessage *msg = QDBusMessagePrivate::toDBusMessage(message, &error);
if (!msg) {
- qWarning("QDBusConnection: Could not emit signal %s.%s", qPrintable(interface), memberName.constData());
+ qWarning("QDBusConnection: Could not emit signal %s.%s: %s", qPrintable(interface), memberName.constData(),
+ qPrintable(error.message()));
+ lastError = error;
return;
}
@@ -1359,12 +1363,8 @@ void QDBusConnectionPrivate::activateObject(ObjectTreeNode &node, const QDBusMes
// try the object itself:
if (node.flags & (QDBusConnection::ExportScriptableSlots|QDBusConnection::ExportNonScriptableSlots)) {
bool interfaceFound = true;
- if (!msg.interface().isEmpty()) {
- // check if the interface name matches anything in the class hierarchy
- const QMetaObject *mo = node.obj->metaObject();
- for ( ; !interfaceFound && mo != &QObject::staticMetaObject; mo = mo->superClass())
- interfaceFound = msg.interface() == qDBusInterfaceFromMetaObject(mo);
- }
+ if (!msg.interface().isEmpty())
+ interfaceFound = qDBusInterfaceInObject(node.obj, msg.interface());
if (interfaceFound) {
if (!activateCall(node.obj, node.flags, msg))
@@ -1702,21 +1702,26 @@ int QDBusConnectionPrivate::send(const QDBusMessage& message)
return -1; // don't send; the reply will be retrieved by the caller
// through the d_ptr->localReply link
- DBusMessage *msg = QDBusMessagePrivate::toDBusMessage(message);
+ QDBusError error;
+ DBusMessage *msg = QDBusMessagePrivate::toDBusMessage(message, &error);
if (!msg) {
if (message.type() == QDBusMessage::MethodCallMessage)
- qWarning("QDBusConnection: error: could not send message to service \"%s\" path \"%s\" interface \"%s\" member \"%s\"",
+ qWarning("QDBusConnection: error: could not send message to service \"%s\" path \"%s\" interface \"%s\" member \"%s\": %s",
qPrintable(message.service()), qPrintable(message.path()),
- qPrintable(message.interface()), qPrintable(message.member()));
+ qPrintable(message.interface()), qPrintable(message.member()),
+ qPrintable(error.message()));
else if (message.type() == QDBusMessage::SignalMessage)
- qWarning("QDBusConnection: error: could not send signal path \"%s\" interface \"%s\" member \"%s\"",
+ qWarning("QDBusConnection: error: could not send signal path \"%s\" interface \"%s\" member \"%s\": %s",
qPrintable(message.path()), qPrintable(message.interface()),
- qPrintable(message.member()));
+ qPrintable(message.member()),
+ qPrintable(error.message()));
else
- qWarning("QDBusConnection: error: could not send %s message to service \"%s\"",
+ qWarning("QDBusConnection: error: could not send %s message to service \"%s\": %s",
message.type() == QDBusMessage::ReplyMessage ? "reply" :
message.type() == QDBusMessage::ErrorMessage ? "error" :
- "invalid", qPrintable(message.service()));
+ "invalid", qPrintable(message.service()),
+ qPrintable(error.message()));
+ lastError = error;
return 0;
}
@@ -1743,12 +1748,15 @@ QDBusMessage QDBusConnectionPrivate::sendWithReply(const QDBusMessage &message,
return sendWithReplyLocal(message);
if (!QCoreApplication::instance() || sendMode == QDBus::Block) {
- DBusMessage *msg = QDBusMessagePrivate::toDBusMessage(message);
+ QDBusError err;
+ DBusMessage *msg = QDBusMessagePrivate::toDBusMessage(message, &err);
if (!msg) {
- qWarning("QDBusConnection: error: could not send message to service \"%s\" path \"%s\" interface \"%s\" member \"%s\"",
+ qWarning("QDBusConnection: error: could not send message to service \"%s\" path \"%s\" interface \"%s\" member \"%s\": %s",
qPrintable(message.service()), qPrintable(message.path()),
- qPrintable(message.interface()), qPrintable(message.member()));
- return QDBusMessage();
+ qPrintable(message.interface()), qPrintable(message.member()),
+ qPrintable(err.message()));
+ lastError = err;
+ return QDBusMessage::createError(err);
}
qDBusDebug() << QThread::currentThread() << "sending message (blocking):" << message;
@@ -1758,9 +1766,8 @@ QDBusMessage QDBusConnectionPrivate::sendWithReply(const QDBusMessage &message,
q_dbus_message_unref(msg);
if (!!error) {
- QDBusError qe = error;
- lastError = qe;
- return QDBusMessage::createError(qe);
+ lastError = err = error;
+ return QDBusMessage::createError(err);
}
QDBusMessage amsg = QDBusMessagePrivate::fromDBusMessage(reply);
@@ -1770,16 +1777,17 @@ QDBusMessage QDBusConnectionPrivate::sendWithReply(const QDBusMessage &message,
return amsg;
} else { // use the event loop
QDBusPendingCallPrivate *pcall = sendWithReplyAsync(message, timeout);
- if (!pcall)
- return QDBusMessage();
+ Q_ASSERT(pcall);
- pcall->watcherHelper = new QDBusPendingCallWatcherHelper;
- QEventLoop loop;
- loop.connect(pcall->watcherHelper, SIGNAL(reply(QDBusMessage)), SLOT(quit()));
- loop.connect(pcall->watcherHelper, SIGNAL(error(QDBusError,QDBusMessage)), SLOT(quit()));
+ if (pcall->replyMessage.type() != QDBusMessage::InvalidMessage) {
+ pcall->watcherHelper = new QDBusPendingCallWatcherHelper;
+ QEventLoop loop;
+ loop.connect(pcall->watcherHelper, SIGNAL(reply(QDBusMessage)), SLOT(quit()));
+ loop.connect(pcall->watcherHelper, SIGNAL(error(QDBusError,QDBusMessage)), SLOT(quit()));
- // enter the event loop and wait for a reply
- loop.exec(QEventLoop::ExcludeUserInputEvents | QEventLoop::WaitForMoreEvents);
+ // enter the event loop and wait for a reply
+ loop.exec(QEventLoop::ExcludeUserInputEvents | QEventLoop::WaitForMoreEvents);
+ }
QDBusMessage reply = pcall->replyMessage;
lastError = reply; // set or clear error
@@ -1835,20 +1843,25 @@ QDBusPendingCallPrivate *QDBusConnectionPrivate::sendWithReplyAsync(const QDBusM
return pcall;
}
- DBusMessage *msg = QDBusMessagePrivate::toDBusMessage(message);
+ checkThread();
+ QDBusPendingCallPrivate *pcall = new QDBusPendingCallPrivate;
+ pcall->sentMessage = message;
+ pcall->ref = 0;
+
+ QDBusError error;
+ DBusMessage *msg = QDBusMessagePrivate::toDBusMessage(message, &error);
if (!msg) {
- qWarning("QDBusConnection: error: could not send message to service \"%s\" path \"%s\" interface \"%s\" member \"%s\"",
+ qWarning("QDBusConnection: error: could not send message to service \"%s\" path \"%s\" interface \"%s\" member \"%s\": %s",
qPrintable(message.service()), qPrintable(message.path()),
- qPrintable(message.interface()), qPrintable(message.member()));
- return 0;
+ qPrintable(message.interface()), qPrintable(message.member()),
+ qPrintable(error.message()));
+ pcall->replyMessage = QDBusMessage::createError(error);
+ lastError = error;
+ return pcall;
}
- checkThread();
qDBusDebug() << QThread::currentThread() << "sending message (async):" << message;
DBusPendingCall *pending = 0;
- QDBusPendingCallPrivate *pcall = new QDBusPendingCallPrivate;
- pcall->sentMessage = message;
- pcall->ref = 0;
QDBusDispatchLocker locker(SendWithReplyAsyncAction, this);
if (q_dbus_connection_send_with_reply(connection, msg, &pending, timeout)) {
@@ -1862,14 +1875,14 @@ QDBusPendingCallPrivate *QDBusConnectionPrivate::sendWithReplyAsync(const QDBusM
return pcall;
} else {
// we're probably disconnected at this point
- lastError = QDBusError(QDBusError::Disconnected, QLatin1String("Not connected to server"));
+ lastError = error = QDBusError(QDBusError::Disconnected, QLatin1String("Not connected to server"));
}
} else {
- lastError = QDBusError(QDBusError::NoMemory, QLatin1String("Out of memory"));
+ lastError = error = QDBusError(QDBusError::NoMemory, QLatin1String("Out of memory"));
}
q_dbus_message_unref(msg);
- pcall->replyMessage = QDBusMessage::createError(lastError);
+ pcall->replyMessage = QDBusMessage::createError(error);
return pcall;
}
@@ -1878,8 +1891,7 @@ int QDBusConnectionPrivate::sendWithReplyAsync(const QDBusMessage &message, QObj
int timeout)
{
QDBusPendingCallPrivate *pcall = sendWithReplyAsync(message, timeout);
- if (!pcall)
- return 0;
+ Q_ASSERT(pcall);
// has it already finished (dispatched locally)?
if (pcall->replyMessage.type() == QDBusMessage::ReplyMessage) {
@@ -2081,6 +2093,7 @@ QString QDBusConnectionPrivate::getNameOwner(const QString& serviceName)
QDBusMessage msg = QDBusMessage::createMethodCall(QLatin1String(DBUS_SERVICE_DBUS),
QLatin1String(DBUS_PATH_DBUS), QLatin1String(DBUS_INTERFACE_DBUS),
QLatin1String("GetNameOwner"));
+ QDBusMessagePrivate::setParametersValidated(msg, true);
msg << serviceName;
QDBusMessage reply = sendWithReply(msg, QDBus::Block);
if (reply.type() == QDBusMessage::ReplyMessage)
@@ -2104,6 +2117,7 @@ QDBusConnectionPrivate::findMetaObject(const QString &service, const QString &pa
QDBusMessage msg = QDBusMessage::createMethodCall(service, path,
QLatin1String(DBUS_INTERFACE_INTROSPECTABLE),
QLatin1String("Introspect"));
+ QDBusMessagePrivate::setParametersValidated(msg, true);
QDBusMessage reply = sendWithReply(msg, QDBus::Block);
diff --git a/src/dbus/qdbusinterface.cpp b/src/dbus/qdbusinterface.cpp
index 211b717..5f6df0a 100644
--- a/src/dbus/qdbusinterface.cpp
+++ b/src/dbus/qdbusinterface.cpp
@@ -51,6 +51,102 @@
QT_BEGIN_NAMESPACE
+static void copyArgument(void *to, int id, const QVariant &arg)
+{
+ if (id == arg.userType()) {
+ switch (id) {
+ case QVariant::Bool:
+ *reinterpret_cast<bool *>(to) = arg.toBool();
+ return;
+
+ case QMetaType::UChar:
+ *reinterpret_cast<uchar *>(to) = arg.value<uchar>();
+ return;
+
+ case QMetaType::Short:
+ *reinterpret_cast<short *>(to) = arg.value<short>();
+ return;
+
+ case QMetaType::UShort:
+ *reinterpret_cast<ushort *>(to) = arg.value<ushort>();
+ return;
+
+ case QVariant::Int:
+ *reinterpret_cast<int *>(to) = arg.toInt();
+ return;
+
+ case QVariant::UInt:
+ *reinterpret_cast<uint *>(to) = arg.toUInt();
+ return;
+
+ case QVariant::LongLong:
+ *reinterpret_cast<qlonglong *>(to) = arg.toLongLong();
+ return;
+
+ case QVariant::ULongLong:
+ *reinterpret_cast<qulonglong *>(to) = arg.toULongLong();
+ return;
+
+ case QVariant::Double:
+ *reinterpret_cast<double *>(to) = arg.toDouble();
+ return;
+
+ case QVariant::String:
+ *reinterpret_cast<QString *>(to) = arg.toString();
+ return;
+
+ case QVariant::ByteArray:
+ *reinterpret_cast<QByteArray *>(to) = arg.toByteArray();
+ return;
+
+ case QVariant::StringList:
+ *reinterpret_cast<QStringList *>(to) = arg.toStringList();
+ return;
+ }
+
+ if (id == QDBusMetaTypeId::variant) {
+ *reinterpret_cast<QDBusVariant *>(to) = arg.value<QDBusVariant>();
+ return;
+ } else if (id == QDBusMetaTypeId::objectpath) {
+ *reinterpret_cast<QDBusObjectPath *>(to) = arg.value<QDBusObjectPath>();
+ return;
+ } else if (id == QDBusMetaTypeId::signature) {
+ *reinterpret_cast<QDBusSignature *>(to) = arg.value<QDBusSignature>();
+ return;
+ }
+
+ // those above are the only types possible
+ // the demarshaller code doesn't demarshall anything else
+ qFatal("Found a decoded basic type in a D-Bus reply that shouldn't be there");
+ }
+
+ // if we got here, it's either an un-dermarshalled type or a mismatch
+ if (arg.userType() != QDBusMetaTypeId::argument) {
+ // it's a mismatch
+ //qWarning?
+ return;
+ }
+
+ // is this type registered?
+ const char *userSignature = QDBusMetaType::typeToSignature(id);
+ if (!userSignature || !*userSignature) {
+ // type not registered
+ //qWarning?
+ return;
+ }
+
+ // is it the same signature?
+ QDBusArgument dbarg = arg.value<QDBusArgument>();
+ if (dbarg.currentSignature() != QLatin1String(userSignature)) {
+ // not the same signature, another mismatch
+ //qWarning?
+ return;
+ }
+
+ // we can demarshall
+ QDBusMetaType::demarshall(dbarg, id, to);
+}
+
QDBusInterfacePrivate::QDBusInterfacePrivate(const QString &serv, const QString &p,
const QString &iface, const QDBusConnection &con)
: QDBusAbstractInterfacePrivate(serv, p, iface, con, true), metaObject(0)
@@ -186,45 +282,39 @@ int QDBusInterfacePrivate::metacall(QMetaObject::Call c, int id, void **argv)
// we will assume that the input arguments were passed correctly
QVariantList args;
- for (int i = 1; i <= inputTypesCount; ++i)
+ int i = 1;
+ for ( ; i <= inputTypesCount; ++i)
args << QVariant(inputTypes[i], argv[i]);
// make the call
- QPointer<QDBusInterface> qq = q;
QDBusMessage reply = q->callWithArgumentList(QDBus::Block, methodName, args);
- args.clear();
- // we ignore return values
+ if (reply.type() == QDBusMessage::ReplyMessage) {
+ // attempt to demarshall the return values
+ args = reply.arguments();
+ QVariantList::ConstIterator it = args.constBegin();
+ const int *outputTypes = metaObject->outputTypesForMethod(id);
+ int outputTypesCount = *outputTypes++;
+
+ if (*mm.typeName()) {
+ // this method has a return type
+ if (argv[0] && it != args.constEnd())
+ copyArgument(argv[0], *outputTypes++, *it);
- // access to "this" or to "q" below this point must check for "qq"
- // we may have been deleted!
+ // skip this argument even if we didn't copy it
+ --outputTypesCount;
+ ++it;
+ }
- if (!qq.isNull())
- lastError = reply;
+ for (int j = 0; j < outputTypesCount && it != args.constEnd(); ++i, ++j, ++it) {
+ copyArgument(argv[i], outputTypes[j], *it);
+ }
+ }
// done
+ lastError = reply;
return -1;
}
- } else if (c == QMetaObject::ReadProperty) {
- // Qt doesn't support non-readable properties
- // we have to re-check
- QMetaProperty mp = metaObject->property(id + metaObject->propertyOffset());
- if (!mp.isReadable())
- return -1; // don't read
-
- QVariant *value = reinterpret_cast<QVariant*>(argv[1]);
- argv[1] = 0;
- *value = property(mp);
-
- return -1; // handled, error or not
- } else if (c == QMetaObject::WriteProperty) {
- // QMetaProperty::write has already checked that we're writable
- // it has also checked that the type is right
- QVariant *value = reinterpret_cast<QVariant *>(argv[1]);
- QMetaProperty mp = metaObject->property(id + metaObject->propertyOffset());
-
- setProperty(mp, *value);
- return -1;
}
return id;
}
diff --git a/src/dbus/qdbusinterface.h b/src/dbus/qdbusinterface.h
index 9d0779b..9cf36f8 100644
--- a/src/dbus/qdbusinterface.h
+++ b/src/dbus/qdbusinterface.h
@@ -69,7 +69,7 @@ public:
virtual int qt_metacall(QMetaObject::Call, int, void **);
private:
- Q_DECLARE_SCOPED_PRIVATE(QDBusInterface)
+ Q_DECLARE_PRIVATE(QDBusInterface)
};
QT_END_NAMESPACE
diff --git a/src/dbus/qdbusinternalfilters.cpp b/src/dbus/qdbusinternalfilters.cpp
index 416144d..45cbbb0 100644
--- a/src/dbus/qdbusinternalfilters.cpp
+++ b/src/dbus/qdbusinternalfilters.cpp
@@ -53,6 +53,7 @@
#include "qdbusextratypes.h"
#include "qdbusmessage.h"
#include "qdbusmetatype.h"
+#include "qdbusmetatype_p.h"
#include "qdbusmessage_p.h"
#include "qdbusutil_p.h"
@@ -177,14 +178,25 @@ QString qDBusIntrospectObject(const QDBusConnectionPrivate::ObjectTreeNode &node
// implement the D-Bus interface org.freedesktop.DBus.Properties
-static QDBusMessage qDBusPropertyError(const QDBusMessage &msg, const QString &interface_name)
+static inline QDBusMessage interfaceNotFoundError(const QDBusMessage &msg, const QString &interface_name)
{
- return msg.createErrorReply(QLatin1String(DBUS_ERROR_INVALID_ARGS),
+ return msg.createErrorReply(QDBusError::UnknownInterface,
QString::fromLatin1("Interface %1 was not found in object %2")
.arg(interface_name)
.arg(msg.path()));
}
+static inline QDBusMessage
+propertyNotFoundError(const QDBusMessage &msg, const QString &interface_name, const QByteArray &property_name)
+{
+ return msg.createErrorReply(QDBusError::InvalidArgs,
+ QString::fromLatin1("Property %1%2%3 was not found in object %4")
+ .arg(interface_name,
+ QString::fromLatin1(interface_name.isEmpty() ? "" : "."),
+ QString::fromLatin1(property_name),
+ msg.path()));
+}
+
QDBusMessage qDBusPropertyGet(const QDBusConnectionPrivate::ObjectTreeNode &node,
const QDBusMessage &msg)
{
@@ -198,6 +210,7 @@ QDBusMessage qDBusPropertyGet(const QDBusConnectionPrivate::ObjectTreeNode &node
QDBusAdaptorConnector *connector;
QVariant value;
+ bool interfaceFound = false;
if (node.flags & QDBusConnection::ExportAdaptors &&
(connector = qDBusFindAdaptorConnector(node.obj))) {
@@ -217,31 +230,122 @@ QDBusMessage qDBusPropertyGet(const QDBusConnectionPrivate::ObjectTreeNode &node
QDBusAdaptorConnector::AdaptorMap::ConstIterator it;
it = qLowerBound(connector->adaptors.constBegin(), connector->adaptors.constEnd(),
interface_name);
- if (it != connector->adaptors.constEnd() && interface_name == QLatin1String(it->interface))
+ if (it != connector->adaptors.constEnd() && interface_name == QLatin1String(it->interface)) {
+ interfaceFound = true;
value = it->adaptor->property(property_name);
+ }
}
}
- if (!value.isValid() && node.flags & (QDBusConnection::ExportAllProperties |
- QDBusConnection::ExportNonScriptableProperties)) {
+ if (!interfaceFound && !value.isValid()
+ && node.flags & (QDBusConnection::ExportAllProperties |
+ QDBusConnection::ExportNonScriptableProperties)) {
// try the object itself
- int pidx = node.obj->metaObject()->indexOfProperty(property_name);
- if (pidx != -1) {
- QMetaProperty mp = node.obj->metaObject()->property(pidx);
- if ((mp.isScriptable() && (node.flags & QDBusConnection::ExportScriptableProperties)) ||
- (!mp.isScriptable() && (node.flags & QDBusConnection::ExportNonScriptableProperties)))
- value = mp.read(node.obj);
+ if (!interface_name.isEmpty())
+ interfaceFound = qDBusInterfaceInObject(node.obj, interface_name);
+
+ if (interfaceFound) {
+ int pidx = node.obj->metaObject()->indexOfProperty(property_name);
+ if (pidx != -1) {
+ QMetaProperty mp = node.obj->metaObject()->property(pidx);
+ if ((mp.isScriptable() && (node.flags & QDBusConnection::ExportScriptableProperties)) ||
+ (!mp.isScriptable() && (node.flags & QDBusConnection::ExportNonScriptableProperties)))
+ value = mp.read(node.obj);
+ }
}
}
if (!value.isValid()) {
// the property was not found
- return qDBusPropertyError(msg, interface_name);
+ if (!interfaceFound)
+ return interfaceNotFoundError(msg, interface_name);
+ return propertyNotFoundError(msg, interface_name, property_name);
}
return msg.createReply(qVariantFromValue(QDBusVariant(value)));
}
+enum PropertyWriteResult {
+ PropertyWriteSuccess = 0,
+ PropertyNotFound,
+ PropertyTypeMismatch,
+ PropertyWriteFailed
+};
+
+static QDBusMessage propertyWriteReply(const QDBusMessage &msg, const QString &interface_name,
+ const QByteArray &property_name, int status)
+{
+ switch (status) {
+ case PropertyNotFound:
+ return propertyNotFoundError(msg, interface_name, property_name);
+ case PropertyTypeMismatch:
+ return msg.createErrorReply(QDBusError::InvalidArgs,
+ QString::fromLatin1("Invalid arguments for writing to property %1%2%3")
+ .arg(interface_name,
+ QString::fromLatin1(interface_name.isEmpty() ? "" : "."),
+ QString::fromLatin1(property_name)));
+ case PropertyWriteFailed:
+ return msg.createErrorReply(QDBusError::InternalError,
+ QString::fromLatin1("Internal error"));
+
+ case PropertyWriteSuccess:
+ return msg.createReply();
+ }
+ Q_ASSERT_X(false, "", "Should not be reached");
+ return QDBusMessage();
+}
+
+static int writeProperty(QObject *obj, const QByteArray &property_name, QVariant value,
+ int propFlags = QDBusConnection::ExportAllProperties)
+{
+ const QMetaObject *mo = obj->metaObject();
+ int pidx = mo->indexOfProperty(property_name);
+ if (pidx == -1) {
+ // this object has no property by that name
+ return PropertyNotFound;
+ }
+
+ QMetaProperty mp = mo->property(pidx);
+
+ // check if this property is exported
+ bool isScriptable = mp.isScriptable();
+ if (!(propFlags & QDBusConnection::ExportScriptableProperties) && isScriptable)
+ return PropertyNotFound;
+ if (!(propFlags & QDBusConnection::ExportNonScriptableProperties) && !isScriptable)
+ return PropertyNotFound;
+
+ // we found our property
+ // do we have the right type?
+ int id = mp.type();
+ if (id == QVariant::UserType) {
+ // dynamic type
+ id = qDBusNameToTypeId(mp.typeName());
+ if (id == -1) {
+ // type not registered?
+ qWarning("QDBusConnection: Unable to handle unregistered datatype '%s' for property '%s::%s'",
+ mp.typeName(), mo->className(), property_name.constData());
+ return PropertyWriteFailed;
+ }
+ }
+
+ if (id != 0xff && value.userType() == QDBusMetaTypeId::argument) {
+ // we have to demarshall before writing
+ void *null = 0;
+ QVariant other(id, null);
+ if (!QDBusMetaType::demarshall(qVariantValue<QDBusArgument>(value), id, other.data())) {
+ qWarning("QDBusConnection: type `%s' (%d) is not registered with QtDBus. "
+ "Use qDBusRegisterMetaType to register it",
+ mp.typeName(), id);
+ return PropertyWriteFailed;
+ }
+
+ value = other;
+ }
+
+ // the property type here should match
+ return mp.write(obj, value) ? PropertyWriteSuccess : PropertyWriteFailed;
+}
+
QDBusMessage qDBusPropertySet(const QDBusConnectionPrivate::ObjectTreeNode &node,
const QDBusMessage &msg)
{
@@ -263,38 +367,39 @@ QDBusMessage qDBusPropertySet(const QDBusConnectionPrivate::ObjectTreeNode &node
if (interface_name.isEmpty()) {
for (QDBusAdaptorConnector::AdaptorMap::ConstIterator it = connector->adaptors.constBegin(),
end = connector->adaptors.constEnd(); it != end; ++it) {
- const QMetaObject *mo = it->adaptor->metaObject();
- int pidx = mo->indexOfProperty(property_name);
- if (pidx != -1) {
- mo->property(pidx).write(it->adaptor, value);
- return msg.createReply();
- }
+ int status = writeProperty(it->adaptor, property_name, value);
+ if (status == PropertyNotFound)
+ continue;
+ return propertyWriteReply(msg, interface_name, property_name, status);
}
} else {
QDBusAdaptorConnector::AdaptorMap::ConstIterator it;
it = qLowerBound(connector->adaptors.constBegin(), connector->adaptors.constEnd(),
interface_name);
- if (it != connector->adaptors.end() && interface_name == QLatin1String(it->interface))
- if (it->adaptor->setProperty(property_name, value))
- return msg.createReply();
+ if (it != connector->adaptors.end() && interface_name == QLatin1String(it->interface)) {
+ return propertyWriteReply(msg, interface_name, property_name,
+ writeProperty(it->adaptor, property_name, value));
+ }
}
}
if (node.flags & (QDBusConnection::ExportScriptableProperties |
QDBusConnection::ExportNonScriptableProperties)) {
// try the object itself
- int pidx = node.obj->metaObject()->indexOfProperty(property_name);
- if (pidx != -1) {
- QMetaProperty mp = node.obj->metaObject()->property(pidx);
- if ((mp.isScriptable() && (node.flags & QDBusConnection::ExportScriptableProperties)) ||
- (!mp.isScriptable() && (node.flags & QDBusConnection::ExportNonScriptableProperties)))
- if (mp.write(node.obj, value))
- return msg.createReply();
+ bool interfaceFound = true;
+ if (!interface_name.isEmpty())
+ interfaceFound = qDBusInterfaceInObject(node.obj, interface_name);
+
+ if (interfaceFound) {
+ return propertyWriteReply(msg, interface_name, property_name,
+ writeProperty(node.obj, property_name, value, node.flags));
}
}
- // the property was not found or not written to
- return qDBusPropertyError(msg, interface_name);
+ // the property was not found
+ if (!interface_name.isEmpty())
+ return interfaceNotFoundError(msg, interface_name);
+ return propertyWriteReply(msg, interface_name, property_name, PropertyNotFound);
}
// unite two QVariantMaps, but don't generate duplicate keys
@@ -385,7 +490,7 @@ QDBusMessage qDBusPropertyGetAll(const QDBusConnectionPrivate::ObjectTreeNode &n
if (!interfaceFound && !interface_name.isEmpty()) {
// the interface was not found
- return qDBusPropertyError(msg, interface_name);
+ return interfaceNotFoundError(msg, interface_name);
}
return msg.createReply(qVariantFromValue(result));
diff --git a/src/dbus/qdbusmarshaller.cpp b/src/dbus/qdbusmarshaller.cpp
index 7ada1ed..7207b4c 100644
--- a/src/dbus/qdbusmarshaller.cpp
+++ b/src/dbus/qdbusmarshaller.cpp
@@ -121,7 +121,7 @@ inline void QDBusMarshaller::append(const QDBusObjectPath &arg)
{
QByteArray data = arg.path().toUtf8();
if (!ba && data.isEmpty())
- error();
+ error(QLatin1String("Invalid object path passed in arguments"));
const char *cdata = data.constData();
qIterAppend(&iterator, ba, DBUS_TYPE_OBJECT_PATH, &cdata);
}
@@ -130,7 +130,7 @@ inline void QDBusMarshaller::append(const QDBusSignature &arg)
{
QByteArray data = arg.signature().toUtf8();
if (!ba && data.isEmpty())
- error();
+ error(QLatin1String("Invalid signature passed in arguments"));
const char *cdata = data.constData();
qIterAppend(&iterator, ba, DBUS_TYPE_SIGNATURE, &cdata);
}
@@ -161,7 +161,7 @@ inline bool QDBusMarshaller::append(const QDBusVariant &arg)
QVariant::Type id = QVariant::Type(value.userType());
if (id == QVariant::Invalid) {
qWarning("QDBusMarshaller: cannot add a null QDBusVariant");
- error();
+ error(QLatin1String("Variant containing QVariant::Invalid passed in arguments"));
return false;
}
@@ -180,7 +180,8 @@ inline bool QDBusMarshaller::append(const QDBusVariant &arg)
qWarning("QDBusMarshaller: type `%s' (%d) is not registered with D-BUS. "
"Use qDBusRegisterMetaType to register it",
QVariant::typeToName( id ), id);
- error();
+ error(QString::fromLatin1("Unregistered type %1 passed in arguments")
+ .arg(QLatin1String(QVariant::typeToName(id))));
return false;
}
@@ -220,7 +221,8 @@ inline QDBusMarshaller *QDBusMarshaller::beginArray(int id)
qWarning("QDBusMarshaller: type `%s' (%d) is not registered with D-BUS. "
"Use qDBusRegisterMetaType to register it",
QVariant::typeToName( QVariant::Type(id) ), id);
- error();
+ error(QString::fromLatin1("Unregistered type %1 passed in arguments")
+ .arg(QLatin1String(QVariant::typeToName(QVariant::Type(id)))));
return this;
}
@@ -234,22 +236,26 @@ inline QDBusMarshaller *QDBusMarshaller::beginMap(int kid, int vid)
qWarning("QDBusMarshaller: type `%s' (%d) is not registered with D-BUS. "
"Use qDBusRegisterMetaType to register it",
QVariant::typeToName( QVariant::Type(kid) ), kid);
- error();
+ error(QString::fromLatin1("Unregistered type %1 passed in arguments")
+ .arg(QLatin1String(QVariant::typeToName(QVariant::Type(kid)))));
return this;
}
if (ksignature[1] != 0 || !q_dbus_type_is_basic(*ksignature)) {
qWarning("QDBusMarshaller: type '%s' (%d) cannot be used as the key type in a D-BUS map.",
QVariant::typeToName( QVariant::Type(kid) ), kid);
- error();
+ error(QString::fromLatin1("Type %1 passed in arguments cannot be used as a key in a map")
+ .arg(QLatin1String(QVariant::typeToName(QVariant::Type(kid)))));
return this;
}
const char *vsignature = QDBusMetaType::typeToSignature( QVariant::Type(vid) );
if (!vsignature) {
+ const char *typeName = QVariant::typeToName(QVariant::Type(vid));
qWarning("QDBusMarshaller: type `%s' (%d) is not registered with D-BUS. "
"Use qDBusRegisterMetaType to register it",
- QVariant::typeToName( QVariant::Type(vid) ), vid);
- error();
+ typeName, vid);
+ error(QString::fromLatin1("Unregistered type %1 passed in arguments")
+ .arg(QLatin1String(typeName)));
return this;
}
@@ -328,11 +334,13 @@ void QDBusMarshaller::close()
}
}
-void QDBusMarshaller::error()
+void QDBusMarshaller::error(const QString &msg)
{
ok = false;
if (parent)
- parent->error();
+ parent->error(msg);
+ else
+ errorString = msg;
}
bool QDBusMarshaller::appendVariantInternal(const QVariant &arg)
@@ -340,7 +348,7 @@ bool QDBusMarshaller::appendVariantInternal(const QVariant &arg)
int id = arg.userType();
if (id == QVariant::Invalid) {
qWarning("QDBusMarshaller: cannot add an invalid QVariant");
- error();
+ error(QLatin1String("Variant containing QVariant::Invalid passed in arguments"));
return false;
}
@@ -371,7 +379,8 @@ bool QDBusMarshaller::appendVariantInternal(const QVariant &arg)
qWarning("QDBusMarshaller: type `%s' (%d) is not registered with D-BUS. "
"Use qDBusRegisterMetaType to register it",
QVariant::typeToName( QVariant::Type(id) ), id);
- error();
+ error(QString::fromLatin1("Unregistered type %1 passed in arguments")
+ .arg(QLatin1String(QVariant::typeToName(QVariant::Type(id)))));
return false;
}
@@ -388,16 +397,6 @@ bool QDBusMarshaller::appendVariantInternal(const QVariant &arg)
case DBUS_TYPE_DOUBLE:
qIterAppend(&iterator, ba, *signature, arg.constData());
return true;
-
- case DBUS_TYPE_STRING:
- case DBUS_TYPE_OBJECT_PATH:
- case DBUS_TYPE_SIGNATURE: {
- const QByteArray data =
- reinterpret_cast<const QString *>(arg.constData())->toUtf8();
- const char *rawData = data.constData();
- qIterAppend(&iterator, ba, *signature, &rawData);
- return true;
- }
#else
case DBUS_TYPE_BYTE:
append( qvariant_cast<uchar>(arg) );
@@ -426,6 +425,8 @@ bool QDBusMarshaller::appendVariantInternal(const QVariant &arg)
case DBUS_TYPE_DOUBLE:
append( arg.toDouble() );
return true;
+#endif
+
case DBUS_TYPE_STRING:
append( arg.toString() );
return true;
@@ -435,7 +436,6 @@ bool QDBusMarshaller::appendVariantInternal(const QVariant &arg)
case DBUS_TYPE_SIGNATURE:
append( qvariant_cast<QDBusSignature>(arg) );
return true;
-#endif
// compound types:
case DBUS_TYPE_VARIANT:
diff --git a/src/dbus/qdbusmessage.cpp b/src/dbus/qdbusmessage.cpp
index 9150295..78de6d9 100644
--- a/src/dbus/qdbusmessage.cpp
+++ b/src/dbus/qdbusmessage.cpp
@@ -62,7 +62,8 @@ static inline const char *data(const QByteArray &arr)
QDBusMessagePrivate::QDBusMessagePrivate()
: msg(0), reply(0), type(DBUS_MESSAGE_TYPE_INVALID),
- timeout(-1), localReply(0), ref(1), delayedReply(false), localMessage(false)
+ timeout(-1), localReply(0), ref(1), delayedReply(false), localMessage(false),
+ parametersValidated(false)
{
}
@@ -94,11 +95,17 @@ QString QDBusMessage::errorMessage() const
\internal
Constructs a DBusMessage object from this object. The returned value must be de-referenced
with q_dbus_message_unref.
+
+ The \a error object is set to indicate the error if anything went wrong with the
+ marshalling. Usually, this error message will be placed in the reply, as if the call failed.
+ The \a error pointer must not be null.
*/
-DBusMessage *QDBusMessagePrivate::toDBusMessage(const QDBusMessage &message)
+DBusMessage *QDBusMessagePrivate::toDBusMessage(const QDBusMessage &message, QDBusError *error)
{
- if (!qdbus_loadLibDBus())
+ if (!qdbus_loadLibDBus()) {
+ *error = QDBusError(QDBusError::Failed, QLatin1String("Could not open lidbus-1 library"));
return 0;
+ }
DBusMessage *msg = 0;
const QDBusMessagePrivate *d_ptr = message.d_ptr;
@@ -108,10 +115,19 @@ DBusMessage *QDBusMessagePrivate::toDBusMessage(const QDBusMessage &message)
//qDebug() << "QDBusMessagePrivate::toDBusMessage" << "message is invalid";
break;
case DBUS_MESSAGE_TYPE_METHOD_CALL:
- // only interface can be empty
- if (d_ptr->service.isEmpty() || d_ptr->path.isEmpty() || d_ptr->name.isEmpty())
- break;
- msg = q_dbus_message_new_method_call(d_ptr->service.toUtf8(), d_ptr->path.toUtf8(),
+ // only service and interface can be empty -> path and name must not be empty
+ if (!d_ptr->parametersValidated) {
+ if (!QDBusUtil::checkBusName(d_ptr->service, QDBusUtil::EmptyAllowed, error))
+ return 0;
+ if (!QDBusUtil::checkObjectPath(d_ptr->path, QDBusUtil::EmptyNotAllowed, error))
+ return 0;
+ if (!QDBusUtil::checkInterfaceName(d_ptr->interface, QDBusUtil::EmptyAllowed, error))
+ return 0;
+ if (!QDBusUtil::checkMemberName(d_ptr->name, QDBusUtil::EmptyNotAllowed, error, "method"))
+ return 0;
+ }
+
+ msg = q_dbus_message_new_method_call(data(d_ptr->service.toUtf8()), d_ptr->path.toUtf8(),
data(d_ptr->interface.toUtf8()), d_ptr->name.toUtf8());
break;
case DBUS_MESSAGE_TYPE_METHOD_RETURN:
@@ -123,8 +139,10 @@ DBusMessage *QDBusMessagePrivate::toDBusMessage(const QDBusMessage &message)
break;
case DBUS_MESSAGE_TYPE_ERROR:
// error name can't be empty
- if (d_ptr->name.isEmpty())
- break;
+ if (!d_ptr->parametersValidated
+ && !QDBusUtil::checkErrorName(d_ptr->name, QDBusUtil::EmptyNotAllowed, error))
+ return 0;
+
msg = q_dbus_message_new(DBUS_MESSAGE_TYPE_ERROR);
q_dbus_message_set_error_name(msg, d_ptr->name.toUtf8());
if (!d_ptr->localMessage) {
@@ -134,8 +152,15 @@ DBusMessage *QDBusMessagePrivate::toDBusMessage(const QDBusMessage &message)
break;
case DBUS_MESSAGE_TYPE_SIGNAL:
// nothing can be empty here
- if (d_ptr->path.isEmpty() || d_ptr->interface.isEmpty() || d_ptr->name.isEmpty())
- break;
+ if (!d_ptr->parametersValidated) {
+ if (!QDBusUtil::checkObjectPath(d_ptr->path, QDBusUtil::EmptyNotAllowed, error))
+ return 0;
+ if (!QDBusUtil::checkInterfaceName(d_ptr->interface, QDBusUtil::EmptyAllowed, error))
+ return 0;
+ if (!QDBusUtil::checkMemberName(d_ptr->name, QDBusUtil::EmptyNotAllowed, error, "method"))
+ return 0;
+ }
+
msg = q_dbus_message_new_signal(d_ptr->path.toUtf8(), d_ptr->interface.toUtf8(),
d_ptr->name.toUtf8());
break;
@@ -143,16 +168,11 @@ DBusMessage *QDBusMessagePrivate::toDBusMessage(const QDBusMessage &message)
Q_ASSERT(false);
break;
}
-#if 0
- DBusError err;
- q_dbus_error_init(&err);
- if (q_dbus_error_is_set(&err)) {
- QDBusError qe(&err);
- qDebug() << "QDBusMessagePrivate::toDBusMessage" << qe;
- }
-#endif
- if (!msg)
- return 0;
+
+ // if we got here, the parameters validated
+ // and since the message parameters cannot be changed once the message is created
+ // we can record this fact
+ d_ptr->parametersValidated = true;
QDBusMarshaller marshaller;
QVariantList::ConstIterator it = d_ptr->arguments.constBegin();
@@ -170,6 +190,7 @@ DBusMessage *QDBusMessagePrivate::toDBusMessage(const QDBusMessage &message)
// not ok;
q_dbus_message_unref(msg);
+ *error = QDBusError(QDBusError::Failed, QLatin1String("Marshalling failed: ") + marshaller.errorString);
return 0;
}
@@ -247,7 +268,13 @@ QDBusMessage QDBusMessagePrivate::makeLocal(const QDBusConnectionPrivate &conn,
// yes, we are
// we must marshall and demarshall again so as to create QDBusArgument
// entries for the complex types
- DBusMessage *message = toDBusMessage(asSent);
+ QDBusError error;
+ DBusMessage *message = toDBusMessage(asSent, &error);
+ if (!message) {
+ // failed to marshall, so it's a call error
+ return QDBusMessage::createError(error);
+ }
+
q_dbus_message_set_sender(message, conn.baseService.toUtf8());
QDBusMessage retval = fromDBusMessage(message);
@@ -466,6 +493,13 @@ QDBusMessage QDBusMessage::createErrorReply(const QString name, const QString &m
Constructs a new DBus reply message for the error type \a type using
the message \a msg. Returns the DBus message.
*/
+QDBusMessage QDBusMessage::createErrorReply(QDBusError::ErrorType atype, const QString &amsg) const
+{
+ QDBusMessage msg = createErrorReply(QDBusError::errorString(atype), amsg);
+ msg.d_ptr->parametersValidated = true;
+ return msg;
+}
+
/*!
Constructs an empty, invalid QDBusMessage object.
diff --git a/src/dbus/qdbusmessage.h b/src/dbus/qdbusmessage.h
index 55f388a..34b1635 100644
--- a/src/dbus/qdbusmessage.h
+++ b/src/dbus/qdbusmessage.h
@@ -87,8 +87,9 @@ public:
QDBusMessage createErrorReply(const QString name, const QString &msg) const;
inline QDBusMessage createErrorReply(const QDBusError &err) const
{ return createErrorReply(err.name(), err.message()); }
- inline QDBusMessage createErrorReply(QDBusError::ErrorType type, const QString &msg) const;
+ QDBusMessage createErrorReply(QDBusError::ErrorType type, const QString &msg) const;
+ // there are no setters; if this changes, see qdbusmessage_p.h
QString service() const;
QString path() const;
QString interface() const;
@@ -113,9 +114,6 @@ private:
QDBusMessagePrivate *d_ptr;
};
-inline QDBusMessage QDBusMessage::createErrorReply(QDBusError::ErrorType atype, const QString &amsg) const
-{ return createErrorReply(QDBusError::errorString(atype), amsg); }
-
#ifndef QT_NO_DEBUG_STREAM
QDBUS_EXPORT QDebug operator<<(QDebug, const QDBusMessage &);
#endif
diff --git a/src/dbus/qdbusmessage_p.h b/src/dbus/qdbusmessage_p.h
index 12a9500..b8f23dc 100644
--- a/src/dbus/qdbusmessage_p.h
+++ b/src/dbus/qdbusmessage_p.h
@@ -55,6 +55,7 @@
#include <qatomic.h>
#include <qstring.h>
+#include <qdbusmessage.h>
struct DBusMessage;
@@ -69,7 +70,11 @@ public:
~QDBusMessagePrivate();
QList<QVariant> arguments;
+
+ // the following parameters are "const": they are not changed after the constructors
+ // the parametersValidated member below controls whether they've been validated already
QString service, path, interface, name, message, signature;
+
DBusMessage *msg;
DBusMessage *reply;
int type;
@@ -79,8 +84,12 @@ public:
mutable uint delayedReply : 1;
uint localMessage : 1;
+ mutable uint parametersValidated : 1;
+
+ static void setParametersValidated(QDBusMessage &msg, bool enable)
+ { msg.d_ptr->parametersValidated = enable; }
- static DBusMessage *toDBusMessage(const QDBusMessage &message);
+ static DBusMessage *toDBusMessage(const QDBusMessage &message, QDBusError *error);
static QDBusMessage fromDBusMessage(DBusMessage *dmsg);
static bool isLocal(const QDBusMessage &msg);
diff --git a/src/dbus/qdbusmisc.cpp b/src/dbus/qdbusmisc.cpp
index e5c1da6..1b77a9b 100644
--- a/src/dbus/qdbusmisc.cpp
+++ b/src/dbus/qdbusmisc.cpp
@@ -41,12 +41,14 @@
#include <string.h>
+#include <QtCore/qcoreapplication.h>
#include <QtCore/qvariant.h>
#include <QtCore/qmetaobject.h>
#include "qdbusutil_p.h"
#include "qdbusconnection_p.h"
#include "qdbusmetatype_p.h"
+#include "qdbusabstractadaptor_p.h" // for QCLASSINFO_DBUS_*
QT_BEGIN_NAMESPACE
@@ -73,6 +75,51 @@ int qDBusNameToTypeId(const char *name)
return id;
}
+QString qDBusInterfaceFromMetaObject(const QMetaObject *mo)
+{
+ QString interface;
+
+ int idx = mo->indexOfClassInfo(QCLASSINFO_DBUS_INTERFACE);
+ if (idx >= mo->classInfoOffset()) {
+ interface = QLatin1String(mo->classInfo(idx).value());
+ } else {
+ interface = QLatin1String(mo->className());
+ interface.replace(QLatin1String("::"), QLatin1String("."));
+
+ if (interface.startsWith(QLatin1String("QDBus"))) {
+ interface.prepend(QLatin1String("com.trolltech.QtDBus."));
+ } else if (interface.startsWith(QLatin1Char('Q')) &&
+ interface.length() >= 2 && interface.at(1).isUpper()) {
+ // assume it's Qt
+ interface.prepend(QLatin1String("com.trolltech.Qt."));
+ } else if (!QCoreApplication::instance()||
+ QCoreApplication::instance()->applicationName().isEmpty()) {
+ interface.prepend(QLatin1String("local."));
+ } else {
+ interface.prepend(QLatin1Char('.')).prepend(QCoreApplication::instance()->applicationName());
+ QStringList domainName =
+ QCoreApplication::instance()->organizationDomain().split(QLatin1Char('.'),
+ QString::SkipEmptyParts);
+ if (domainName.isEmpty())
+ interface.prepend(QLatin1String("local."));
+ else
+ for (int i = 0; i < domainName.count(); ++i)
+ interface.prepend(QLatin1Char('.')).prepend(domainName.at(i));
+ }
+ }
+
+ return interface;
+}
+
+bool qDBusInterfaceInObject(QObject *obj, const QString &interface_name)
+{
+ const QMetaObject *mo = obj->metaObject();
+ for ( ; mo != &QObject::staticMetaObject; mo = mo->superClass())
+ if (interface_name == qDBusInterfaceFromMetaObject(mo))
+ return true;
+ return false;
+}
+
// calculates the metatypes for the method
// the slot must have the parameters in the following form:
// - zero or more value or const-ref parameters of any kind
diff --git a/src/dbus/qdbuspendingcall.cpp b/src/dbus/qdbuspendingcall.cpp
index 1797ed0..0ec1a26 100644
--- a/src/dbus/qdbuspendingcall.cpp
+++ b/src/dbus/qdbuspendingcall.cpp
@@ -409,6 +409,44 @@ bool QDBusPendingCall::setReplyCallback(QObject *target, const char *member)
}
#endif
+/*!
+ \since 4.6
+ Creates a QDBusPendingCall object based on the error condition
+ \a error. The resulting pending call object will be in the
+ "finished" state and QDBusPendingReply::isError() will return true.
+
+ \sa fromCompletedCall()
+*/
+QDBusPendingCall QDBusPendingCall::fromError(const QDBusError &error)
+{
+ return fromCompletedCall(QDBusMessage::createError(error));
+}
+
+/*!
+ \since 4.6
+ Creates a QDBusPendingCall object based on the message \a msg.
+ The message must be of type QDBusMessage::ErrorMessage or
+ QDBusMessage::ReplyMessage (that is, a message that is typical
+ of a completed call).
+
+ This function is useful for code that requires simulating a pending
+ call, but that has already finished.
+
+ \sa fromError()
+*/
+QDBusPendingCall QDBusPendingCall::fromCompletedCall(const QDBusMessage &msg)
+{
+ QDBusPendingCallPrivate *d = 0;
+ if (msg.type() == QDBusMessage::ErrorMessage ||
+ msg.type() == QDBusMessage::ReplyMessage) {
+ d = new QDBusPendingCallPrivate;
+ d->replyMessage = msg;
+ d->connection = 0;
+ }
+
+ return QDBusPendingCall(d);
+}
+
class QDBusPendingCallWatcherPrivate: public QObjectPrivate
{
diff --git a/src/dbus/qdbuspendingcall.h b/src/dbus/qdbuspendingcall.h
index 55a5bb2..8dbbb3c 100644
--- a/src/dbus/qdbuspendingcall.h
+++ b/src/dbus/qdbuspendingcall.h
@@ -78,6 +78,9 @@ public:
QDBusMessage reply() const;
#endif
+ static QDBusPendingCall fromError(const QDBusError &error);
+ static QDBusPendingCall fromCompletedCall(const QDBusMessage &message);
+
protected:
QExplicitlySharedDataPointer<QDBusPendingCallPrivate> d;
friend class QDBusPendingCallPrivate;
@@ -108,7 +111,7 @@ Q_SIGNALS:
void finished(QDBusPendingCallWatcher *self);
private:
- Q_DECLARE_SCOPED_PRIVATE(QDBusPendingCallWatcher)
+ Q_DECLARE_PRIVATE(QDBusPendingCallWatcher)
Q_PRIVATE_SLOT(d_func(), void _q_finished())
};
diff --git a/src/dbus/qdbuspendingcall_p.h b/src/dbus/qdbuspendingcall_p.h
index 7136f67..5577451 100644
--- a/src/dbus/qdbuspendingcall_p.h
+++ b/src/dbus/qdbuspendingcall_p.h
@@ -63,6 +63,7 @@
QT_BEGIN_NAMESPACE
+class QDBusPendingCall;
class QDBusPendingCallWatcher;
class QDBusPendingCallWatcherHelper;
class QDBusConnectionPrivate;
@@ -94,6 +95,8 @@ public:
void waitForFinished();
void setMetaTypes(int count, const int *types);
void checkReceivedSignature();
+
+ static QDBusPendingCall fromMessage(const QDBusMessage &msg);
};
class QDBusPendingCallWatcherHelper: public QObject
diff --git a/src/dbus/qdbusutil_p.h b/src/dbus/qdbusutil_p.h
index 13031fd..5c1e4cd 100644
--- a/src/dbus/qdbusutil_p.h
+++ b/src/dbus/qdbusutil_p.h
@@ -57,6 +57,7 @@
#include <QtCore/qvariant.h>
#include <QtDBus/qdbusmacros.h>
+#include <QtDBus/qdbuserror.h>
QT_BEGIN_HEADER
@@ -83,6 +84,73 @@ namespace QDBusUtil
QDBUS_EXPORT bool isValidSingleSignature(const QString &signature);
QDBUS_EXPORT QString argumentToString(const QVariant &variant);
+
+ enum AllowEmptyFlag {
+ EmptyAllowed,
+ EmptyNotAllowed
+ };
+
+ inline bool checkInterfaceName(const QString &name, AllowEmptyFlag empty, QDBusError *error)
+ {
+ if (name.isEmpty()) {
+ if (empty == EmptyAllowed) return true;
+ *error = QDBusError(QDBusError::InvalidInterface, QLatin1String("Interface name cannot be empty"));
+ return false;
+ }
+ if (isValidInterfaceName(name)) return true;
+ *error = QDBusError(QDBusError::InvalidInterface, QString::fromLatin1("Invalid interface class: %1").arg(name));
+ return false;
+ }
+
+ inline bool checkBusName(const QString &name, AllowEmptyFlag empty, QDBusError *error)
+ {
+ if (name.isEmpty()) {
+ if (empty == EmptyAllowed) return true;
+ *error = QDBusError(QDBusError::InvalidService, QLatin1String("Service name cannot be empty"));
+ return false;
+ }
+ if (isValidBusName(name)) return true;
+ *error = QDBusError(QDBusError::InvalidService, QString::fromLatin1("Invalid service name: %1").arg(name));
+ return false;
+ }
+
+ inline bool checkObjectPath(const QString &path, AllowEmptyFlag empty, QDBusError *error)
+ {
+ if (path.isEmpty()) {
+ if (empty == EmptyAllowed) return true;
+ *error = QDBusError(QDBusError::InvalidObjectPath, QLatin1String("Object path cannot be empty"));
+ return false;
+ }
+ if (isValidObjectPath(path)) return true;
+ *error = QDBusError(QDBusError::InvalidObjectPath, QString::fromLatin1("Invalid object path: %1").arg(path));
+ return false;
+ }
+
+ inline bool checkMemberName(const QString &name, AllowEmptyFlag empty, QDBusError *error, const char *nameType = 0)
+ {
+ if (!nameType) nameType = "member";
+ if (name.isEmpty()) {
+ if (empty == EmptyAllowed) return true;
+ *error = QDBusError(QDBusError::InvalidMember, QLatin1String(nameType) + QLatin1String(" name cannot be empty"));
+ return false;
+ }
+ if (isValidMemberName(name)) return true;
+ *error = QDBusError(QDBusError::InvalidMember, QString::fromLatin1("Invalid %1 name: %2")
+ .arg(QString::fromLatin1(nameType), name));
+ return false;
+ }
+
+ inline bool checkErrorName(const QString &name, AllowEmptyFlag empty, QDBusError *error)
+ {
+ if (name.isEmpty()) {
+ if (empty == EmptyAllowed) return true;
+ *error = QDBusError(QDBusError::InvalidInterface, QLatin1String("Error name cannot be empty"));
+ return false;
+ }
+ if (isValidErrorName(name)) return true;
+ *error = QDBusError(QDBusError::InvalidInterface, QString::fromLatin1("Invalid error name: %1").arg(name));
+ return false;
+ }
}
QT_END_NAMESPACE
diff --git a/src/dbus/qdbusxmlgenerator.cpp b/src/dbus/qdbusxmlgenerator.cpp
index 82bd762..b426abd 100644
--- a/src/dbus/qdbusxmlgenerator.cpp
+++ b/src/dbus/qdbusxmlgenerator.cpp
@@ -39,7 +39,6 @@
**
****************************************************************************/
-#include <QtCore/qcoreapplication.h>
#include <QtCore/qmetaobject.h>
#include <QtCore/qstringlist.h>
@@ -232,42 +231,6 @@ static QString generateInterfaceXml(const QMetaObject *mo, int flags, int method
return retval;
}
-QString qDBusInterfaceFromMetaObject(const QMetaObject *mo)
-{
- QString interface;
-
- int idx = mo->indexOfClassInfo(QCLASSINFO_DBUS_INTERFACE);
- if (idx >= mo->classInfoOffset()) {
- interface = QLatin1String(mo->classInfo(idx).value());
- } else {
- interface = QLatin1String(mo->className());
- interface.replace(QLatin1String("::"), QLatin1String("."));
-
- if (interface.startsWith(QLatin1String("QDBus"))) {
- interface.prepend(QLatin1String("com.trolltech.QtDBus."));
- } else if (interface.startsWith(QLatin1Char('Q')) &&
- interface.length() >= 2 && interface.at(1).isUpper()) {
- // assume it's Qt
- interface.prepend(QLatin1String("com.trolltech.Qt."));
- } else if (!QCoreApplication::instance()||
- QCoreApplication::instance()->applicationName().isEmpty()) {
- interface.prepend(QLatin1String("local."));
- } else {
- interface.prepend(QLatin1Char('.')).prepend(QCoreApplication::instance()->applicationName());
- QStringList domainName =
- QCoreApplication::instance()->organizationDomain().split(QLatin1Char('.'),
- QString::SkipEmptyParts);
- if (domainName.isEmpty())
- interface.prepend(QLatin1String("local."));
- else
- for (int i = 0; i < domainName.count(); ++i)
- interface.prepend(QLatin1Char('.')).prepend(domainName.at(i));
- }
- }
-
- return interface;
- }
-
QString qDBusGenerateMetaObjectXml(QString interface, const QMetaObject *mo,
const QMetaObject *base, int flags)
{
diff --git a/src/gui/accessible/accessible.pri b/src/gui/accessible/accessible.pri
index 76b6687..ad2fb4c 100644
--- a/src/gui/accessible/accessible.pri
+++ b/src/gui/accessible/accessible.pri
@@ -14,7 +14,8 @@ contains(QT_CONFIG, accessibility) {
mac:!embedded {
HEADERS += accessible/qaccessible_mac_p.h
- OBJECTIVE_SOURCES += accessible/qaccessible_mac.mm
+ OBJECTIVE_SOURCES += accessible/qaccessible_mac.mm \
+ accessible/qaccessible_mac_cocoa.mm
} else:win32 {
SOURCES += accessible/qaccessible_win.cpp
} else {
diff --git a/src/gui/accessible/qaccessible.h b/src/gui/accessible/qaccessible.h
index 19080de..8dc8159 100644
--- a/src/gui/accessible/qaccessible.h
+++ b/src/gui/accessible/qaccessible.h
@@ -210,6 +210,7 @@ public:
PageTabList = 0x0000003C,
Clock = 0x0000003D,
Splitter = 0x0000003E,
+ // Additional Qt roles where enum value does not map directly to MSAA:
LayeredPane = 0x0000003F,
UserRole = 0x0000ffff
};
diff --git a/src/gui/accessible/qaccessible_mac_cocoa.mm b/src/gui/accessible/qaccessible_mac_cocoa.mm
index e69de29..1cb2ffa 100644
--- a/src/gui/accessible/qaccessible_mac_cocoa.mm
+++ b/src/gui/accessible/qaccessible_mac_cocoa.mm
@@ -0,0 +1,234 @@
+
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtGui module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "qaccessible.h"
+#include "qaccessible_mac_p.h"
+#include "qdebug.h"
+#include "qtabwidget.h"
+
+#include <private/qt_mac_p.h>
+#include <private/qcocoaview_mac_p.h>
+#include <private/qwidget_p.h>
+
+
+#ifndef QT_NO_ACCESSIBILITY
+
+#ifdef QT_MAC_USE_COCOA
+
+QT_BEGIN_NAMESPACE
+
+//#define MAC_ACCESSIBILTY_DEVELOPER_MODE
+
+#ifdef MAC_ACCESSIBILTY_DEVELOPER_MODE
+#define MAC_ACCESSIBILTY_DEBUG qDebug
+#else
+#define MAC_ACCESSIBILTY_DEBUG if (0) qDebug
+#endif
+
+typedef QMap<QAccessible::Role, NSString *> QMacAccessibiltyRoleMap;
+Q_GLOBAL_STATIC(QMacAccessibiltyRoleMap, qMacAccessibiltyRoleMap);
+
+static QAInterface interfaceForView(QT_MANGLE_NAMESPACE(QCocoaView) *view)
+{
+ return QAInterface(QAccessible::queryAccessibleInterface([view qt_qwidget]));
+}
+
+/*
+ Set up mappings from Qt accessibilty roles to Mac accessibilty roles.
+*/
+static void populateRoleMap()
+{
+ QMacAccessibiltyRoleMap &roleMap = *qMacAccessibiltyRoleMap();
+ roleMap[QAccessible::MenuItem] = NSAccessibilityMenuItemRole;
+ roleMap[QAccessible::MenuBar] = NSAccessibilityMenuBarRole;
+ roleMap[QAccessible::ScrollBar] = NSAccessibilityScrollBarRole;
+ roleMap[QAccessible::Grip] = NSAccessibilityGrowAreaRole;
+ roleMap[QAccessible::Window] = NSAccessibilityWindowRole;
+ roleMap[QAccessible::Dialog] = NSAccessibilityWindowRole;
+ roleMap[QAccessible::AlertMessage] = NSAccessibilityWindowRole;
+ roleMap[QAccessible::ToolTip] = NSAccessibilityWindowRole;
+ roleMap[QAccessible::HelpBalloon] = NSAccessibilityWindowRole;
+ roleMap[QAccessible::PopupMenu] = NSAccessibilityMenuRole;
+ roleMap[QAccessible::Application] = NSAccessibilityApplicationRole;
+ roleMap[QAccessible::Pane] = NSAccessibilityGroupRole;
+ roleMap[QAccessible::Grouping] = NSAccessibilityGroupRole;
+ roleMap[QAccessible::Separator] = NSAccessibilitySplitterRole;
+ roleMap[QAccessible::ToolBar] = NSAccessibilityToolbarRole;
+ roleMap[QAccessible::PageTab] = NSAccessibilityRadioButtonRole;
+ roleMap[QAccessible::ButtonMenu] = NSAccessibilityMenuButtonRole;
+ roleMap[QAccessible::ButtonDropDown] = NSAccessibilityPopUpButtonRole;
+ roleMap[QAccessible::SpinBox] = NSAccessibilityIncrementorRole;
+ roleMap[QAccessible::Slider] = NSAccessibilitySliderRole;
+ roleMap[QAccessible::ProgressBar] = NSAccessibilityProgressIndicatorRole;
+ roleMap[QAccessible::ComboBox] = NSAccessibilityPopUpButtonRole;
+ roleMap[QAccessible::RadioButton] = NSAccessibilityRadioButtonRole;
+ roleMap[QAccessible::CheckBox] = NSAccessibilityCheckBoxRole;
+ roleMap[QAccessible::StaticText] = NSAccessibilityStaticTextRole;
+ roleMap[QAccessible::Table] = NSAccessibilityTableRole;
+ roleMap[QAccessible::StatusBar] = NSAccessibilityStaticTextRole;
+ roleMap[QAccessible::Column] = NSAccessibilityColumnRole;
+ roleMap[QAccessible::ColumnHeader] = NSAccessibilityColumnRole;
+ roleMap[QAccessible::Row] = NSAccessibilityRowRole;
+ roleMap[QAccessible::RowHeader] = NSAccessibilityRowRole;
+ roleMap[QAccessible::Cell] = NSAccessibilityTextFieldRole;
+ roleMap[QAccessible::PushButton] = NSAccessibilityButtonRole;
+ roleMap[QAccessible::EditableText] = NSAccessibilityTextFieldRole;
+ roleMap[QAccessible::Link] = NSAccessibilityTextFieldRole;
+ roleMap[QAccessible::Indicator] = NSAccessibilityValueIndicatorRole;
+ roleMap[QAccessible::Splitter] = NSAccessibilitySplitGroupRole;
+ roleMap[QAccessible::List] = NSAccessibilityListRole;
+ roleMap[QAccessible::ListItem] = NSAccessibilityStaticTextRole;
+ roleMap[QAccessible::Cell] = NSAccessibilityStaticTextRole;
+}
+
+/*
+ Returns a Mac accessibility role for the given interface, or
+ NSAccessibilityUnknownRole if no role mapping is found.
+*/
+static NSString *macRoleForInterface(QAInterface interface)
+{
+ const QAccessible::Role qtRole = interface.role();
+ QMacAccessibiltyRoleMap &roleMap = *qMacAccessibiltyRoleMap();
+
+ if (roleMap.isEmpty())
+ populateRoleMap();
+
+ MAC_ACCESSIBILTY_DEBUG() << "role for" << interface.object() << "interface role" << hex << qtRole;
+
+ if (roleMap.contains(qtRole)) {
+ MAC_ACCESSIBILTY_DEBUG() << "return" << roleMap[qtRole];
+ return roleMap[qtRole];
+ }
+
+ MAC_ACCESSIBILTY_DEBUG() << "return NSAccessibilityUnknownRole";
+ return NSAccessibilityUnknownRole;
+}
+
+/*
+ Is the interface a QTabBar embedded in a QTabWidget?
+ (as opposed to a stand-alone tab bar)
+*/
+static bool isEmbeddedTabBar(const QAInterface &interface)
+{
+ QObject *object = interface.object();
+ if (interface.role() == QAccessible::PageTabList && object)
+ return (qobject_cast<QTabWidget *>(object->parent()));
+
+ return false;
+}
+
+static bool isInterfaceIgnored(QAInterface interface)
+{
+ // Mac accessibility does not have an attribute that corresponds to the
+ // Invisible/Offscreen state. Use the ignore facility to disable them.
+ const QAccessible::State state = interface.state();
+ if (state & QAccessible::Invisible ||
+ state & QAccessible::Offscreen )
+ return false;
+
+ // Hide QTabBars that has a QTabWidget parent (the QTabWidget handles the accessibility)
+ if (isEmbeddedTabBar(interface))
+ return false;
+
+ if (QObject * const object = interface.object()) {
+ const QString className = QLatin1String(object->metaObject()->className());
+
+ // Prevent VoiceOver from focusing on tool tips by ignoring those
+ // interfaces. Shifting VoiceOver focus to the tool tip is confusing
+ // and the contents of the tool tip is avalible through the description
+ // attribute anyway.
+ if (className == QLatin1String("QTipLabel"))
+ return false;
+ }
+
+ // Hide interfaces with an unknown role. When developing it's often useful to disable
+ // this check to see all interfaces in the hierarchy.
+#ifndef MAC_ACCESSIBILTY_DEVELOPER_MODE
+ return [macRoleForInterface(interface) isEqualToString: NSAccessibilityUnknownRole];
+#else
+ return NO;
+#endif
+}
+
+QT_END_NAMESPACE
+
+@implementation QT_MANGLE_NAMESPACE(QCocoaView) (Accessibility)
+
+- (BOOL)accessibilityIsIgnored
+{
+ QAInterface interface = interfaceForView(self);
+ return isInterfaceIgnored(interface);
+}
+
+- (NSArray *)accessibilityAttributeNames
+{
+ QAInterface interface = interfaceForView(self);
+
+ static NSArray *attributes = nil;
+ if (attributes == nil) {
+ attributes = [super accessibilityAttributeNames];
+
+ }
+ return attributes;
+}
+
+- (id)accessibilityAttributeValue:(NSString *)attribute
+{
+ MAC_ACCESSIBILTY_DEBUG() << "accessibilityAttributeValue" << self << QCFString::toQString(reinterpret_cast<CFStringRef>(attribute));
+
+ QAInterface interface = interfaceForView(self);
+
+ // Switch on the attribute name and call the appropriate handler function.
+ // Pass the call on to the NSView class for attributes we don't handle.
+ if ([attribute isEqualToString:@"AXRole"]) {
+ return macRoleForInterface(interface);
+ } else {
+ return [super accessibilityAttributeValue:attribute];
+ }
+}
+
+@end
+
+#endif // QT_MAC_USE_COCOA
+
+#endif // QT_NO_ACCESSIBILITY
+
diff --git a/src/gui/accessible/qaccessible_win.cpp b/src/gui/accessible/qaccessible_win.cpp
index ccb2673..85f1a8d 100644
--- a/src/gui/accessible/qaccessible_win.cpp
+++ b/src/gui/accessible/qaccessible_win.cpp
@@ -177,14 +177,14 @@ void QAccessible::updateAccessibility(QObject *o, int who, Event reason)
return;
}
- QByteArray soundName;
+ QString soundName;
switch (reason) {
case PopupMenuStart:
- soundName = "MenuPopup";
+ soundName = QLatin1String("MenuPopup");
break;
case MenuCommand:
- soundName = "MenuCommand";
+ soundName = QLatin1String("MenuCommand");
break;
case Alert:
@@ -194,13 +194,13 @@ void QAccessible::updateAccessibility(QObject *o, int who, Event reason)
if (mb) {
switch (mb->icon()) {
case QMessageBox::Warning:
- soundName = "SystemExclamation";
+ soundName = QLatin1String("SystemExclamation");
break;
case QMessageBox::Critical:
- soundName = "SystemHand";
+ soundName = QLatin1String("SystemHand");
break;
case QMessageBox::Information:
- soundName = "SystemAsterisk";
+ soundName = QLatin1String("SystemAsterisk");
break;
default:
break;
@@ -208,7 +208,7 @@ void QAccessible::updateAccessibility(QObject *o, int who, Event reason)
} else
#endif // QT_NO_MESSAGEBOX
{
- soundName = "SystemAsterisk";
+ soundName = QLatin1String("SystemAsterisk");
}
}
@@ -219,20 +219,16 @@ void QAccessible::updateAccessibility(QObject *o, int who, Event reason)
if (soundName.size()) {
#ifndef QT_NO_SETTINGS
- QSettings settings(QLatin1String("HKEY_CURRENT_USER\\AppEvents\\Schemes\\Apps\\.Default\\") +
- QString::fromLatin1(soundName.constData()), QSettings::NativeFormat);
+ QSettings settings(QLatin1String("HKEY_CURRENT_USER\\AppEvents\\Schemes\\Apps\\.Default\\") + soundName,
+ QSettings::NativeFormat);
QString file = settings.value(QLatin1String(".Current/.")).toString();
#else
- QString file;
+ QString file;
#endif
- if (!file.isEmpty()) {
- QT_WA({
- PlaySoundW(reinterpret_cast<const wchar_t *> (QString::fromLatin1(soundName).utf16()), 0, SND_ALIAS | SND_ASYNC | SND_NODEFAULT | SND_NOWAIT );
- } , {
- PlaySoundA(soundName.constData(), 0, SND_ALIAS | SND_ASYNC | SND_NODEFAULT | SND_NOWAIT );
- });
- }
- }
+ if (!file.isEmpty()) {
+ PlaySound(reinterpret_cast<const wchar_t *>(soundName.utf16()), 0, SND_ALIAS | SND_ASYNC | SND_NODEFAULT | SND_NOWAIT);
+ }
+ }
if (!isActive())
return;
@@ -1055,6 +1051,8 @@ HRESULT STDMETHODCALLTYPE QWindowsAccessible::get_accRole(VARIANT varID, VARIANT
Role role = accessible->role(varID.lVal);
if (role != NoRole) {
+ if (role == LayeredPane)
+ role = QAccessible::Pane;
(*pvarRole).vt = VT_I4;
(*pvarRole).lVal = role;
} else {
diff --git a/src/gui/accessible/qaccessiblewidget.cpp b/src/gui/accessible/qaccessiblewidget.cpp
index 2d09c9c..447edc1 100644
--- a/src/gui/accessible/qaccessiblewidget.cpp
+++ b/src/gui/accessible/qaccessiblewidget.cpp
@@ -269,7 +269,7 @@ QT_END_INCLUDE_NAMESPACE
class QACConnectionObject : public QObject
{
- Q_DECLARE_SCOPED_PRIVATE(QObject)
+ Q_DECLARE_PRIVATE(QObject)
public:
inline bool isSender(const QObject *receiver, const char *signal) const
{ return d_func()->isSender(receiver, signal); }
diff --git a/src/gui/dialogs/qabstractpagesetupdialog.h b/src/gui/dialogs/qabstractpagesetupdialog.h
index ba6b452..7a3bb48 100644
--- a/src/gui/dialogs/qabstractpagesetupdialog.h
+++ b/src/gui/dialogs/qabstractpagesetupdialog.h
@@ -58,7 +58,7 @@ class QPrinter;
// ### Qt 5: Remove this class
class Q_GUI_EXPORT QAbstractPageSetupDialog : public QDialog
{
- Q_DECLARE_SCOPED_PRIVATE(QAbstractPageSetupDialog)
+ Q_DECLARE_PRIVATE(QAbstractPageSetupDialog)
Q_OBJECT
public:
diff --git a/src/gui/dialogs/qabstractprintdialog.cpp b/src/gui/dialogs/qabstractprintdialog.cpp
index 2ffc400..beb6918 100644
--- a/src/gui/dialogs/qabstractprintdialog.cpp
+++ b/src/gui/dialogs/qabstractprintdialog.cpp
@@ -395,10 +395,8 @@ void QAbstractPrintDialogPrivate::setPrinter(QPrinter *newPrinter)
On Windows and Mac OS X, the native print dialog is used, which means that
some QWidget and QDialog properties set on the dialog won't be respected.
- The native print dialog on
- Mac OS X does not support setting printer options, i.e.
- QAbstractPrintDialog::setEnabledOptions() and
- QAbstractPrintDialog::addEnabledOption() have no effect.
+ The native print dialog on Mac OS X does not support setting printer options,
+ i.e. setOptions() and setOption() have no effect.
In Qt 4.4, it was possible to use the static functions to show a sheet on
Mac OS X. This is no longer supported in Qt 4.5. If you want this
diff --git a/src/gui/dialogs/qabstractprintdialog.h b/src/gui/dialogs/qabstractprintdialog.h
index 0a94034..272d1b1 100644
--- a/src/gui/dialogs/qabstractprintdialog.h
+++ b/src/gui/dialogs/qabstractprintdialog.h
@@ -58,7 +58,7 @@ class QPrinter;
// ### Qt 5: remove this class
class Q_GUI_EXPORT QAbstractPrintDialog : public QDialog
{
- Q_DECLARE_SCOPED_PRIVATE(QAbstractPrintDialog)
+ Q_DECLARE_PRIVATE(QAbstractPrintDialog)
Q_OBJECT
public:
diff --git a/src/gui/dialogs/qcolordialog.cpp b/src/gui/dialogs/qcolordialog.cpp
index 42d3a9a..aee592c 100644
--- a/src/gui/dialogs/qcolordialog.cpp
+++ b/src/gui/dialogs/qcolordialog.cpp
@@ -1583,8 +1583,7 @@ void QColorDialog::setCurrentColor(const QColor &color)
#ifdef Q_WS_MAC
d->setCurrentQColor(color);
- if (d->delegate)
- QColorDialogPrivate::setColor(d->delegate, color);
+ d->setCocoaPanelColor(color);
#endif
}
@@ -1725,19 +1724,16 @@ void QColorDialog::setVisible(bool visible)
#if defined(Q_WS_MAC)
if (visible) {
- if (!d->delegate && QColorDialogPrivate::sharedColorPanelAvailable &&
- !(testAttribute(Qt::WA_DontShowOnScreen) || (d->opts & DontUseNativeDialog))){
- d->delegate = QColorDialogPrivate::openCocoaColorPanel(
- currentColor(), parentWidget(), windowTitle(), options(), d);
+ if (d->delegate || (QColorDialogPrivate::sharedColorPanelAvailable &&
+ !(testAttribute(Qt::WA_DontShowOnScreen) || (d->opts & DontUseNativeDialog)))){
+ d->openCocoaColorPanel(currentColor(), parentWidget(), windowTitle(), options());
QColorDialogPrivate::sharedColorPanelAvailable = false;
setAttribute(Qt::WA_DontShowOnScreen);
}
setWindowFlags(windowModality() == Qt::WindowModal ? Qt::Sheet : DefaultWindowFlags);
} else {
if (d->delegate) {
- QColorDialogPrivate::closeCocoaColorPanel(d->delegate);
- d->delegate = 0;
- QColorDialogPrivate::sharedColorPanelAvailable = true;
+ d->closeCocoaColorPanel();
setAttribute(Qt::WA_DontShowOnScreen, false);
}
}
@@ -1840,6 +1836,14 @@ QRgb QColorDialog::getRgba(QRgb initial, bool *ok, QWidget *parent)
QColorDialog::~QColorDialog()
{
+ Q_D(QColorDialog);
+#if defined(Q_WS_MAC)
+ if (d->delegate) {
+ d->releaseCocoaColorPanelDelegate();
+ QColorDialogPrivate::sharedColorPanelAvailable = true;
+ }
+#endif
+
#ifndef QT_NO_SETTINGS
if (!customSet) {
QSettings settings(QSettings::UserScope, QLatin1String("Trolltech"));
diff --git a/src/gui/dialogs/qcolordialog.h b/src/gui/dialogs/qcolordialog.h
index d0aeec7..2c107bd 100644
--- a/src/gui/dialogs/qcolordialog.h
+++ b/src/gui/dialogs/qcolordialog.h
@@ -57,7 +57,7 @@ class QColorDialogPrivate;
class Q_GUI_EXPORT QColorDialog : public QDialog
{
Q_OBJECT
- Q_DECLARE_SCOPED_PRIVATE(QColorDialog)
+ Q_DECLARE_PRIVATE(QColorDialog)
Q_ENUMS(ColorDialogOption)
Q_PROPERTY(QColor currentColor READ currentColor WRITE setCurrentColor
NOTIFY currentColorChanged)
diff --git a/src/gui/dialogs/qcolordialog_mac.mm b/src/gui/dialogs/qcolordialog_mac.mm
index 1936de5..6cdb7ee 100644
--- a/src/gui/dialogs/qcolordialog_mac.mm
+++ b/src/gui/dialogs/qcolordialog_mac.mm
@@ -76,6 +76,8 @@ QT_USE_NAMESPACE
CGFloat mMinWidth; // currently unused
CGFloat mExtraHeight; // currently unused
BOOL mHackedPanel;
+ NSInteger mResultCode;
+ BOOL mDialogIsExecuting;
}
- (id)initWithColorPanel:(NSColorPanel *)panel
stolenContentView:(NSView *)stolenContentView
@@ -90,7 +92,8 @@ QT_USE_NAMESPACE
- (NSColorPanel *)colorPanel;
- (QColor)qtColor;
- (void)finishOffWithCode:(NSInteger)result;
-- (void)cleanUpAfterMyself;
+- (void)showColorPanel;
+- (void)exec;
@end
@implementation QCocoaColorPanelDelegate
@@ -110,6 +113,8 @@ QT_USE_NAMESPACE
mMinWidth = 0.0;
mExtraHeight = 0.0;
mHackedPanel = (okButton != 0);
+ mResultCode = NSCancelButton;
+ mDialogIsExecuting = false;
if (mHackedPanel) {
[self relayout];
@@ -121,19 +126,31 @@ QT_USE_NAMESPACE
[cancelButton setTarget:self];
}
- if (mPriv)
- [[NSNotificationCenter defaultCenter] addObserver:self
- selector:@selector(colorChanged:)
- name:NSColorPanelColorDidChangeNotification
- object:mColorPanel];
+ [[NSNotificationCenter defaultCenter] addObserver:self
+ selector:@selector(colorChanged:)
+ name:NSColorPanelColorDidChangeNotification
+ object:mColorPanel];
+
mQtColor = new QColor();
return self;
}
- (void)dealloc
{
- if (mPriv)
- [[NSNotificationCenter defaultCenter] removeObserver:self];
+ QMacCocoaAutoReleasePool pool;
+ if (mHackedPanel) {
+ NSView *ourContentView = [mColorPanel contentView];
+
+ // return stolen stuff to its rightful owner
+ [mStolenContentView removeFromSuperview];
+ [mColorPanel setContentView:mStolenContentView];
+
+ [mOkButton release];
+ [mCancelButton release];
+ [ourContentView release];
+ }
+ [mColorPanel setDelegate:nil];
+ [[NSNotificationCenter defaultCenter] removeObserver:self];
delete mQtColor;
[super dealloc];
}
@@ -160,8 +177,7 @@ QT_USE_NAMESPACE
- (void)colorChanged:(NSNotification *)notification;
{
Q_UNUSED(notification);
- if (mPriv)
- [self updateQtColor];
+ [self updateQtColor];
}
- (void)relayout
@@ -258,8 +274,7 @@ QT_USE_NAMESPACE
}
}
- if (mPriv)
- mPriv->setCurrentQColor(*mQtColor);
+ mPriv->setCurrentQColor(*mQtColor);
}
- (NSColorPanel *)colorPanel
@@ -274,36 +289,42 @@ QT_USE_NAMESPACE
- (void)finishOffWithCode:(NSInteger)code
{
- if (mPriv) {
- // Finish the QColorDialog as well. But since a call to accept or reject will
- // close down the QEventLoop found in QDialog, we need to make sure that the
- // current thread has exited the native dialogs modal session/run loop first.
- // We ensure this by posting the call:
+ mResultCode = code;
+ if (mDialogIsExecuting) {
+ // We stop the current modal event loop. The control
+ // will then return inside -(void)exec below.
+ // It's important that the modal event loop is stopped before
+ // we accept/reject QColorDialog, since QColorDialog has its
+ // own event loop that needs to be stopped last.
[NSApp stopModalWithCode:code];
- if (code == NSOKButton)
- QMetaObject::invokeMethod(mPriv->colorDialog(), "accept", Qt::QueuedConnection);
- else
- QMetaObject::invokeMethod(mPriv->colorDialog(), "reject", Qt::QueuedConnection);
} else {
- [NSApp stopModalWithCode:code];
+ // Since we are not in a modal event loop, we can safely close
+ // down QColorDialog
+ if (mResultCode == NSCancelButton)
+ mPriv->colorDialog()->reject();
+ else
+ mPriv->colorDialog()->accept();
}
}
-- (void)cleanUpAfterMyself
+- (void)showColorPanel
{
- if (mHackedPanel) {
- NSView *ourContentView = [mColorPanel contentView];
-
- // return stolen stuff to its rightful owner
- [mStolenContentView removeFromSuperview];
- [mColorPanel setContentView:mStolenContentView];
+ mDialogIsExecuting = false;
+ [mColorPanel makeKeyAndOrderFront:mColorPanel];
+}
- [mOkButton release];
- [mCancelButton release];
- [ourContentView release];
- }
- [mColorPanel setDelegate:nil];
+- (void)exec
+{
+ QBoolBlocker nativeDialogOnTop(QApplicationPrivate::native_modal_dialog_active);
+ QMacCocoaAutoReleasePool pool;
+ mDialogIsExecuting = true;
+ [NSApp runModalForWindow:mColorPanel];
+ if (mResultCode == NSCancelButton)
+ mPriv->colorDialog()->reject();
+ else
+ mPriv->colorDialog()->accept();
}
+
@end
QT_BEGIN_NAMESPACE
@@ -312,91 +333,90 @@ extern void macStartInterceptNSPanelCtor();
extern void macStopInterceptNSPanelCtor();
extern NSButton *macCreateButton(const char *text, NSView *superview);
-void *QColorDialogPrivate::openCocoaColorPanel(const QColor &initial,
- QWidget *parent, const QString &title, QColorDialog::ColorDialogOptions options,
- QColorDialogPrivate *priv)
+void QColorDialogPrivate::openCocoaColorPanel(const QColor &initial,
+ QWidget *parent, const QString &title, QColorDialog::ColorDialogOptions options)
{
Q_UNUSED(parent); // we would use the parent if only NSColorPanel could be a sheet
QMacCocoaAutoReleasePool pool;
- /*
- The standard Cocoa color panel has no OK or Cancel button and
- is created as a utility window, whereas we want something like
- the Carbon color panel. We need to take the following steps:
+ if (!delegate) {
+ /*
+ The standard Cocoa color panel has no OK or Cancel button and
+ is created as a utility window, whereas we want something like
+ the Carbon color panel. We need to take the following steps:
+
+ 1. Intercept the color panel constructor to turn off the
+ NSUtilityWindowMask flag. This is done by temporarily
+ replacing initWithContentRect:styleMask:backing:defer:
+ in NSPanel by our own method.
- 1. Intercept the color panel constructor to turn off the
- NSUtilityWindowMask flag. This is done by temporarily
- replacing initWithContentRect:styleMask:backing:defer:
- in NSPanel by our own method.
+ 2. Modify the color panel so that its content view is part
+ of a new content view that contains it as well as two
+ buttons (OK and Cancel).
- 2. Modify the color panel so that its content view is part
- of a new content view that contains it as well as two
- buttons (OK and Cancel).
+ 3. Lay out the original content view and the buttons when
+ the color panel is shown and whenever it is resized.
- 3. Lay out the original content view and the buttons when
- the color panel is shown and whenever it is resized.
+ 4. Clean up after ourselves.
+ */
- 4. Clean up after ourselves.
- */
+ bool hackColorPanel = !(options & QColorDialog::NoButtons);
- bool hackColorPanel = !(options & QColorDialog::NoButtons);
+ if (hackColorPanel)
+ macStartInterceptNSPanelCtor();
+ NSColorPanel *colorPanel = [NSColorPanel sharedColorPanel];
+ if (hackColorPanel)
+ macStopInterceptNSPanelCtor();
- if (hackColorPanel)
- macStartInterceptNSPanelCtor();
- NSColorPanel *colorPanel = [NSColorPanel sharedColorPanel];
- if (hackColorPanel)
- macStopInterceptNSPanelCtor();
+ [colorPanel setHidesOnDeactivate:false];
- [colorPanel setHidesOnDeactivate:false];
+ // set up the Cocoa color panel
+ [colorPanel setShowsAlpha:options & QColorDialog::ShowAlphaChannel];
+ [colorPanel setTitle:(NSString*)(CFStringRef)QCFString(title)];
- // set up the Cocoa color panel
- [colorPanel setShowsAlpha:options & QColorDialog::ShowAlphaChannel];
- [colorPanel setTitle:(NSString*)(CFStringRef)QCFString(title)];
+ NSView *stolenContentView = 0;
+ NSButton *okButton = 0;
+ NSButton *cancelButton = 0;
- NSView *stolenContentView = 0;
- NSButton *okButton = 0;
- NSButton *cancelButton = 0;
+ if (hackColorPanel) {
+ // steal the color panel's contents view
+ stolenContentView = [colorPanel contentView];
+ [stolenContentView retain];
+ [colorPanel setContentView:0];
- if (hackColorPanel) {
- // steal the color panel's contents view
- stolenContentView = [colorPanel contentView];
- [stolenContentView retain];
- [colorPanel setContentView:0];
+ // create a new content view and add the stolen one as a subview
+ NSRect frameRect = { { 0.0, 0.0 }, { 0.0, 0.0 } };
+ NSView *ourContentView = [[NSView alloc] initWithFrame:frameRect];
+ [ourContentView addSubview:stolenContentView];
- // create a new content view and add the stolen one as a subview
- NSRect frameRect = { { 0.0, 0.0 }, { 0.0, 0.0 } };
- NSView *ourContentView = [[NSView alloc] initWithFrame:frameRect];
- [ourContentView addSubview:stolenContentView];
+ // create OK and Cancel buttons and add these as subviews
+ okButton = macCreateButton("&OK", ourContentView);
+ cancelButton = macCreateButton("Cancel", ourContentView);
- // create OK and Cancel buttons and add these as subviews
- okButton = macCreateButton("&OK", ourContentView);
- cancelButton = macCreateButton("Cancel", ourContentView);
+ [colorPanel setContentView:ourContentView];
+ [colorPanel setDefaultButtonCell:[okButton cell]];
+ }
- [colorPanel setContentView:ourContentView];
- [colorPanel setDefaultButtonCell:[okButton cell]];
+ delegate = [[QCocoaColorPanelDelegate alloc] initWithColorPanel:colorPanel
+ stolenContentView:stolenContentView
+ okButton:okButton
+ cancelButton:cancelButton
+ priv:this];
+ [colorPanel setDelegate:static_cast<QCocoaColorPanelDelegate *>(delegate)];
}
- // create a delegate and set it
- QCocoaColorPanelDelegate *delegate =
- [[QCocoaColorPanelDelegate alloc] initWithColorPanel:colorPanel
- stolenContentView:stolenContentView
- okButton:okButton
- cancelButton:cancelButton
- priv:priv];
- [colorPanel setDelegate:delegate];
- setColor(delegate, initial);
- [colorPanel makeKeyAndOrderFront:colorPanel];
-
- return delegate;
+ setCocoaPanelColor(initial);
+ [static_cast<QCocoaColorPanelDelegate *>(delegate) showColorPanel];
}
-void QColorDialogPrivate::closeCocoaColorPanel(void *delegate)
+void QColorDialogPrivate::closeCocoaColorPanel()
{
- QMacCocoaAutoReleasePool pool;
- QCocoaColorPanelDelegate *theDelegate = static_cast<QCocoaColorPanelDelegate *>(delegate);
- [[theDelegate colorPanel] close];
- [theDelegate cleanUpAfterMyself];
- [theDelegate autorelease];
+ [[static_cast<QCocoaColorPanelDelegate *>(delegate) colorPanel] close];
+}
+
+void QColorDialogPrivate::releaseCocoaColorPanelDelegate()
+{
+ [static_cast<QCocoaColorPanelDelegate *>(delegate) release];
}
void QColorDialogPrivate::mac_nativeDialogModalHelp()
@@ -416,13 +436,10 @@ void QColorDialogPrivate::mac_nativeDialogModalHelp()
void QColorDialogPrivate::_q_macRunNativeAppModalPanel()
{
- QBoolBlocker nativeDialogOnTop(QApplicationPrivate::native_modal_dialog_active);
- QMacCocoaAutoReleasePool pool;
- QCocoaColorPanelDelegate *delegateCasted = static_cast<QCocoaColorPanelDelegate *>(delegate);
- [NSApp runModalForWindow:[delegateCasted colorPanel]];
+ [static_cast<QCocoaColorPanelDelegate *>(delegate) exec];
}
-void QColorDialogPrivate::setColor(void *delegate, const QColor &color)
+void QColorDialogPrivate::setCocoaPanelColor(const QColor &color)
{
QMacCocoaAutoReleasePool pool;
QCocoaColorPanelDelegate *theDelegate = static_cast<QCocoaColorPanelDelegate *>(delegate);
diff --git a/src/gui/dialogs/qcolordialog_p.h b/src/gui/dialogs/qcolordialog_p.h
index ea66d4a..00d40b6 100644
--- a/src/gui/dialogs/qcolordialog_p.h
+++ b/src/gui/dialogs/qcolordialog_p.h
@@ -116,14 +116,11 @@ public:
QByteArray memberToDisconnectOnClose;
#ifdef Q_WS_MAC
- static void *openCocoaColorPanel(const QColor &initial,
- QWidget *parent, const QString &title,
- QColorDialog::ColorDialogOptions options,
- QColorDialogPrivate *priv = 0);
- static void closeCocoaColorPanel(void *delegate);
- static QColor execCocoaColorPanel(const QColor &initial, QWidget *parent,
- const QString &title, QColorDialog::ColorDialogOptions options);
- static void setColor(void *delegate, const QColor &color);
+ void openCocoaColorPanel(const QColor &initial,
+ QWidget *parent, const QString &title, QColorDialog::ColorDialogOptions options);
+ void closeCocoaColorPanel();
+ void releaseCocoaColorPanelDelegate();
+ void setCocoaPanelColor(const QColor &color);
inline void done(int result) { q_func()->done(result); }
inline QColorDialog *colorDialog() { return q_func(); }
diff --git a/src/gui/dialogs/qdialog.cpp b/src/gui/dialogs/qdialog.cpp
index 42755dc..3cb35bf 100644
--- a/src/gui/dialogs/qdialog.cpp
+++ b/src/gui/dialogs/qdialog.cpp
@@ -787,8 +787,7 @@ void QDialog::setVisible(bool visible)
#ifdef Q_WS_WIN
if (d->mainDef && isActiveWindow()) {
BOOL snapToDefault = false;
- if ( QT_WA_INLINE( SystemParametersInfo(SPI_GETSNAPTODEFBUTTON, 0, &snapToDefault, 0) ,
- SystemParametersInfoA(SPI_GETSNAPTODEFBUTTON, 0, &snapToDefault, 0) )) {
+ if (SystemParametersInfo(SPI_GETSNAPTODEFBUTTON, 0, &snapToDefault, 0)) {
if (snapToDefault)
QCursor::setPos(d->mainDef->mapToGlobal(d->mainDef->rect().center()));
}
diff --git a/src/gui/dialogs/qdialog.h b/src/gui/dialogs/qdialog.h
index 0b5b326..8479994 100644
--- a/src/gui/dialogs/qdialog.h
+++ b/src/gui/dialogs/qdialog.h
@@ -121,7 +121,7 @@ protected:
void adjustPosition(QWidget*);
private:
- Q_DECLARE_SCOPED_PRIVATE(QDialog)
+ Q_DECLARE_PRIVATE(QDialog)
Q_DISABLE_COPY(QDialog)
#ifdef Q_WS_WINCE_WM
diff --git a/src/gui/dialogs/qerrormessage.h b/src/gui/dialogs/qerrormessage.h
index 1d79f78..9721f46 100644
--- a/src/gui/dialogs/qerrormessage.h
+++ b/src/gui/dialogs/qerrormessage.h
@@ -57,7 +57,7 @@ class QErrorMessagePrivate;
class Q_GUI_EXPORT QErrorMessage: public QDialog
{
Q_OBJECT
- Q_DECLARE_SCOPED_PRIVATE(QErrorMessage)
+ Q_DECLARE_PRIVATE(QErrorMessage)
public:
explicit QErrorMessage(QWidget* parent = 0);
~QErrorMessage();
diff --git a/src/gui/dialogs/qfiledialog.cpp b/src/gui/dialogs/qfiledialog.cpp
index f1382fe..3f7da57 100644
--- a/src/gui/dialogs/qfiledialog.cpp
+++ b/src/gui/dialogs/qfiledialog.cpp
@@ -212,25 +212,30 @@ Q_GUI_EXPORT _qt_filedialog_save_filename_hook qt_filedialog_save_filename_hook
/*!
\enum QFileDialog::Option
- \value ShowDirsOnly Only show directories in the file dialog. By default both files and
- directories are shown. (Valid only in the \l Directory file mode.)
- \value DontResolveSymlinks Don't resolve symlinks in the file dialog. By default symlinks
- are resolved.
- \value DontConfirmOverwrite Don't ask for confirmation if an existing file is selected.
- By default confirmation is requested.
- \value DontUseNativeDialog Don't use the native file dialog. By default on Mac OS X,
- the native file dialog is used unless you use a subclass of QFileDialog that contains the
- Q_OBJECT macro.
+ \value ShowDirsOnly Only show directories in the file dialog. By
+ default both files and directories are shown. (Valid only in the
+ \l Directory file mode.)
+
+ \value DontResolveSymlinks Don't resolve symlinks in the file
+ dialog. By default symlinks are resolved.
+
+ \value DontConfirmOverwrite Don't ask for confirmation if an
+ existing file is selected. By default confirmation is requested.
+
+ \value DontUseNativeDialog Don't use the native file dialog. By
+ default, the native file dialog is used unless you use a subclass
+ of QFileDialog that contains the Q_OBJECT macro.
+
\value ReadOnly Indicates that the model is readonly.
- \value HideNameFilterDetails Indicates if the is hidden or not.
+ \value HideNameFilterDetails Indicates if the is hidden or not.
This value is obsolete and does nothing since Qt 4.5:
- \value DontUseSheet In previous versions of Qt, the static functions would
- create a sheet by default if the static function was given a parent. This
- is no longer supported in Qt 4.5, The static functions will always be an
- application modal dialog. If you want to use sheets, use
- QFileDialog::open() instead.
+ \value DontUseSheet In previous versions of Qt, the static
+ functions would create a sheet by default if the static function
+ was given a parent. This is no longer supported in Qt 4.5, The
+ static functions will always be an application modal dialog. If
+ you want to use sheets, use QFileDialog::open() instead.
*/
@@ -1633,12 +1638,7 @@ QString QFileDialog::getOpenFileName(QWidget *parent,
args.parent = parent;
args.caption = caption;
args.directory = QFileDialogPrivate::workingDirectory(dir);
- //If workingDirectory returned a different path than the initial one,
- //it means that the initial path was invalid. There is no point to try select a file
- if (args.directory != QFileInfo(dir).path())
- args.selection = QString();
- else
- args.selection = QFileDialogPrivate::initialSelection(dir);
+ args.selection = QFileDialogPrivate::initialSelection(dir);
args.filter = filter;
args.mode = ExistingFile;
args.options = options;
@@ -1716,18 +1716,13 @@ QStringList QFileDialog::getOpenFileNames(QWidget *parent,
QString *selectedFilter,
Options options)
{
- if (qt_filedialog_open_filenames_hook)
+ if (qt_filedialog_open_filenames_hook && !(options & DontUseNativeDialog))
return qt_filedialog_open_filenames_hook(parent, caption, dir, filter, selectedFilter, options);
QFileDialogArgs args;
args.parent = parent;
args.caption = caption;
args.directory = QFileDialogPrivate::workingDirectory(dir);
- //If workingDirectory returned a different path than the initial one,
- //it means that the initial path was invalid. There is no point to try select a file
- if (args.directory != QFileInfo(dir).path())
- args.selection = QString();
- else
- args.selection = QFileDialogPrivate::initialSelection(dir);
+ args.selection = QFileDialogPrivate::initialSelection(dir);
args.filter = filter;
args.mode = ExistingFiles;
args.options = options;
@@ -1807,18 +1802,13 @@ QString QFileDialog::getSaveFileName(QWidget *parent,
QString *selectedFilter,
Options options)
{
- if (qt_filedialog_save_filename_hook)
+ if (qt_filedialog_save_filename_hook && !(options & DontUseNativeDialog))
return qt_filedialog_save_filename_hook(parent, caption, dir, filter, selectedFilter, options);
QFileDialogArgs args;
args.parent = parent;
args.caption = caption;
args.directory = QFileDialogPrivate::workingDirectory(dir);
- //If workingDirectory returned a different path than the initial one,
- //it means that the initial path was invalid. There is no point to try select a file
- if (args.directory != QFileInfo(dir).path())
- args.selection = QString();
- else
- args.selection = QFileDialogPrivate::initialSelection(dir);
+ args.selection = QFileDialogPrivate::initialSelection(dir);
args.filter = filter;
args.mode = AnyFile;
args.options = options;
@@ -1887,7 +1877,7 @@ QString QFileDialog::getExistingDirectory(QWidget *parent,
const QString &dir,
Options options)
{
- if (qt_filedialog_existing_directory_hook)
+ if (qt_filedialog_existing_directory_hook && !(options & DontUseNativeDialog))
return qt_filedialog_existing_directory_hook(parent, caption, dir, options);
QFileDialogArgs args;
args.parent = parent;
@@ -2882,7 +2872,8 @@ void QFileDialogPrivate::_q_goToDirectory(const QString &path)
}
const char *qt_file_dialog_filter_reg_exp =
- "^([^()]*)\\(([a-zA-Z0-9_.*? +;#\\-\\[\\]@\\{\\}/!<>\\$%&=^~:\\|]*)\\)$";
+"(\\W|[a-zA-Z0-9 -]*)\\(([a-zA-Z0-9_.*? +;#\\-\\[\\]@\\{\\}/!<>\\$%&=^~:\\|]*)\\)$";
+
// Makes a list of filters from a normal filter string "Image Files (*.png *.jpg)"
QStringList qt_clean_filter_list(const QString &filter)
diff --git a/src/gui/dialogs/qfiledialog.h b/src/gui/dialogs/qfiledialog.h
index 987e436..70ee720 100644
--- a/src/gui/dialogs/qfiledialog.h
+++ b/src/gui/dialogs/qfiledialog.h
@@ -283,7 +283,7 @@ protected:
void changeEvent(QEvent *e);
private:
- Q_DECLARE_SCOPED_PRIVATE(QFileDialog)
+ Q_DECLARE_PRIVATE(QFileDialog)
Q_DISABLE_COPY(QFileDialog)
Q_PRIVATE_SLOT(d_func(), void _q_pathChanged(const QString &))
diff --git a/src/gui/dialogs/qfiledialog_p.h b/src/gui/dialogs/qfiledialog_p.h
index 21a52e5..2da2b92 100644
--- a/src/gui/dialogs/qfiledialog_p.h
+++ b/src/gui/dialogs/qfiledialog_p.h
@@ -73,7 +73,6 @@
#include <qabstractproxymodel.h>
#include <qcompleter.h>
#include <qpointer.h>
-#include <qtimeline.h>
#include <qdebug.h>
#include "qsidebar_p.h"
#include "qfscompleter_p.h"
@@ -145,8 +144,7 @@ public:
#ifndef Q_OS_WINCE
DWORD maxLength;
QString drive = path.left(3);
- if (QT_WA_INLINE(::GetVolumeInformationW(reinterpret_cast<const WCHAR *>(drive.utf16()), NULL, 0, NULL, &maxLength, NULL, NULL, 0),
- ::GetVolumeInformationA(drive.toLocal8Bit().constData(), NULL, 0, NULL, &maxLength, NULL, NULL, 0)) == FALSE)
+ if (::GetVolumeInformation(reinterpret_cast<const wchar_t *>(drive.utf16()), NULL, 0, NULL, &maxLength, NULL, NULL, 0) == FALSE)
return -1;
return maxLength;
#else
diff --git a/src/gui/dialogs/qfiledialog_win.cpp b/src/gui/dialogs/qfiledialog_win.cpp
index 4cb31f5..9bf82c3 100644
--- a/src/gui/dialogs/qfiledialog_win.cpp
+++ b/src/gui/dialogs/qfiledialog_win.cpp
@@ -60,6 +60,13 @@
#include <shlobj.h>
+#include <objbase.h>
+
+#if defined(__IFileDialog_INTERFACE_DEFINED__) \
+ && defined(__IFileOpenDialog_INTERFACE_DEFINED__)
+#define USE_COMMON_ITEM_DIALOG
+#endif
+
#ifdef Q_WS_WINCE
#include <commdlg.h>
# ifndef BFFM_SETSELECTION
@@ -70,8 +77,8 @@
typedef struct qt_priv_browseinfo {
HWND hwndOwner;
LPCITEMIDLIST pidlRoot;
- LPTSTR pszDisplayName;
- LPCTSTR lpszTitle;
+ LPWSTR pszDisplayName;
+ LPCWSTR lpszTitle;
UINT ulFlags;
BFFCALLBACK lpfn;
LPARAM lParam;
@@ -90,6 +97,9 @@ typedef LPITEMIDLIST (WINAPI *PtrSHBrowseForFolder)(BROWSEINFO*);
static PtrSHBrowseForFolder ptrSHBrowseForFolder = 0;
typedef BOOL (WINAPI *PtrSHGetPathFromIDList)(LPITEMIDLIST,LPWSTR);
static PtrSHGetPathFromIDList ptrSHGetPathFromIDList = 0;
+typedef HRESULT (WINAPI *PtrSHGetMalloc)(LPMALLOC *);
+static PtrSHGetMalloc ptrSHGetMalloc = 0;
+
QT_BEGIN_NAMESPACE
@@ -111,20 +121,20 @@ static void qt_win_resolve_libs()
#endif
triedResolve = true;
- if (!(QSysInfo::WindowsVersion & QSysInfo::WV_DOS_based)) {
#if !defined(Q_WS_WINCE)
- QLibrary lib(QLatin1String("shell32"));
- ptrSHBrowseForFolder = (PtrSHBrowseForFolder) lib.resolve("SHBrowseForFolderW");
- ptrSHGetPathFromIDList = (PtrSHGetPathFromIDList) lib.resolve("SHGetPathFromIDListW");
+ QLibrary lib(QLatin1String("shell32"));
+ ptrSHBrowseForFolder = (PtrSHBrowseForFolder) lib.resolve("SHBrowseForFolderW");
+ ptrSHGetPathFromIDList = (PtrSHGetPathFromIDList) lib.resolve("SHGetPathFromIDListW");
+ ptrSHGetMalloc = (PtrSHGetMalloc) lib.resolve("SHGetMalloc");
#else
- // CE stores them in a different lib and does not use unicode version
- HINSTANCE handle = LoadLibraryW(L"Ceshell");
- ptrSHBrowseForFolder = (PtrSHBrowseForFolder)GetProcAddress(handle, L"SHBrowseForFolder");
- ptrSHGetPathFromIDList = (PtrSHGetPathFromIDList)GetProcAddress(handle, L"SHGetPathFromIDList");
- if (ptrSHBrowseForFolder && ptrSHGetPathFromIDList)
- qt_priv_ptr_valid = true;
+ // CE stores them in a different lib and does not use unicode version
+ HINSTANCE handle = LoadLibraryW(L"Ceshell");
+ ptrSHBrowseForFolder = (PtrSHBrowseForFolder)GetProcAddress(handle, L"SHBrowseForFolder");
+ ptrSHGetPathFromIDList = (PtrSHGetPathFromIDList)GetProcAddress(handle, L"SHGetPathFromIDList");
+ ptrSHGetMalloc = (PtrSHGetMalloc)GetProcAddress(handle, L"SHGetMalloc");
+ if (ptrSHBrowseForFolder && ptrSHGetPathFromIDList && ptrSHGetMalloc)
+ qt_priv_ptr_valid = true;
#endif
- }
}
}
@@ -186,95 +196,15 @@ static QString qt_win_selected_filter(const QString &filter, DWORD idx)
return qt_win_make_filters_list(filter).at((int)idx - 1);
}
-#ifndef Q_WS_WINCE
-// Static vars for OFNA funcs:
-static QByteArray aInitDir;
-static QByteArray aInitSel;
-static QByteArray aTitle;
-static QByteArray aFilter;
-// Use ANSI strings and API
-
-// If you change this, then make sure you change qt_win_make_OFN (below) too
-static OPENFILENAMEA *qt_win_make_OFNA(QWidget *parent,
- const QString &initialSelection,
- const QString &initialDirectory,
- const QString &title,
- const QString &filters,
- QFileDialog::FileMode mode,
- QFileDialog::Options options)
-{
- if (parent)
- parent = parent->window();
- else
- parent = QApplication::activeWindow();
-
- aTitle = title.toLocal8Bit();
- aInitDir = QDir::toNativeSeparators(initialDirectory).toLocal8Bit();
- if (initialSelection.isEmpty()) {
- aInitSel = "";
- } else {
- aInitSel = QDir::toNativeSeparators(initialSelection).toLocal8Bit();
- aInitSel.replace('<', "");
- aInitSel.replace('>', "");
- aInitSel.replace('\"', "");
- aInitSel.replace('|', "");
- }
- int maxLen = mode == QFileDialog::ExistingFiles ? maxMultiLen : maxNameLen;
- aInitSel.resize(maxLen + 1); // make room for return value
- aFilter = filters.toLocal8Bit();
-
- OPENFILENAMEA* ofn = new OPENFILENAMEA;
- memset(ofn, 0, sizeof(OPENFILENAMEA));
-
-#if defined(Q_CC_BOR) && (WINVER >= 0x0500) && (_WIN32_WINNT >= 0x0500)
- // according to the MSDN, this should also be necessary for MSVC, but
- // OPENFILENAME_SIZE_VERSION_400A is in not Microsoft header, as it seems
- if (QApplication::winVersion()==Qt::WV_NT || QApplication::winVersion()&Qt::WV_DOS_based) {
- ofn->lStructSize = OPENFILENAME_SIZE_VERSION_400A;
- } else {
- ofn->lStructSize = sizeof(OPENFILENAMEA);
- }
-#else
- ofn->lStructSize = sizeof(OPENFILENAMEA);
-#endif
- Q_ASSERT(!parent ||parent->testAttribute(Qt::WA_WState_Created));
- ofn->hwndOwner = parent ? parent->winId() : 0;
- ofn->lpstrFilter = aFilter;
- ofn->lpstrFile = aInitSel.data();
- ofn->nMaxFile = maxLen;
- ofn->lpstrInitialDir = aInitDir.data();
- ofn->lpstrTitle = aTitle.data();
- ofn->Flags = (OFN_NOCHANGEDIR | OFN_HIDEREADONLY | OFN_EXPLORER);
-
- if (mode == QFileDialog::ExistingFile ||
- mode == QFileDialog::ExistingFiles)
- ofn->Flags |= (OFN_FILEMUSTEXIST | OFN_PATHMUSTEXIST);
- if (mode == QFileDialog::ExistingFiles)
- ofn->Flags |= (OFN_ALLOWMULTISELECT);
- if (!(options & QFileDialog::DontConfirmOverwrite))
- ofn->Flags |= OFN_OVERWRITEPROMPT;
-
- return ofn;
-}
-
-static void qt_win_clean_up_OFNA(OPENFILENAMEA **ofn)
-{
- delete *ofn;
- *ofn = 0;
-}
-#endif
-
static QString tFilters, tTitle, tInitDir;
-#ifdef UNICODE
-// If you change this, then make sure you change qt_win_make_OFNA (above) too
static OPENFILENAME* qt_win_make_OFN(QWidget *parent,
const QString& initialSelection,
const QString& initialDirectory,
const QString& title,
const QString& filters,
QFileDialog::FileMode mode,
- QFileDialog::Options options)
+ QFileDialog::Options options)
{
if (parent)
parent = parent->window();
@@ -286,14 +216,14 @@ static OPENFILENAME* qt_win_make_OFN(QWidget *parent,
tTitle = title;
QString initSel = QDir::toNativeSeparators(initialSelection);
if (!initSel.isEmpty()) {
- initSel.remove(QLatin1Char('<'));
- initSel.remove(QLatin1Char('>'));
- initSel.remove(QLatin1Char('\"'));
- initSel.remove(QLatin1Char('|'));
+ initSel.remove(QLatin1Char('<'));
+ initSel.remove(QLatin1Char('>'));
+ initSel.remove(QLatin1Char('\"'));
+ initSel.remove(QLatin1Char('|'));
}
int maxLen = mode == QFileDialog::ExistingFiles ? maxMultiLen : maxNameLen;
- TCHAR *tInitSel = new TCHAR[maxLen+1];
+ wchar_t *tInitSel = new wchar_t[maxLen + 1];
if (initSel.length() > 0 && initSel.length() <= maxLen)
memcpy(tInitSel, initSel.utf16(), (initSel.length()+1)*sizeof(QChar));
else
@@ -302,24 +232,14 @@ static OPENFILENAME* qt_win_make_OFN(QWidget *parent,
OPENFILENAME* ofn = new OPENFILENAME;
memset(ofn, 0, sizeof(OPENFILENAME));
-#if defined(Q_CC_BOR) && (WINVER >= 0x0500) && (_WIN32_WINNT >= 0x0500)
- // according to the MSDN, this should also be necessary for MSVC, but
- // OPENFILENAME_SIZE_VERSION_400 is in not Microsoft header, as it seems
- if (QApplication::winVersion()==Qt::WV_NT || QApplication::winVersion()&Qt::WV_DOS_based) {
- ofn->lStructSize= OPENFILENAME_SIZE_VERSION_400;
- } else {
- ofn->lStructSize = sizeof(OPENFILENAME);
- }
-#else
ofn->lStructSize = sizeof(OPENFILENAME);
-#endif
Q_ASSERT(!parent ||parent->testAttribute(Qt::WA_WState_Created));
ofn->hwndOwner = parent ? parent->winId() : 0;
- ofn->lpstrFilter = (TCHAR *)tFilters.utf16();
+ ofn->lpstrFilter = (wchar_t*)tFilters.utf16();
ofn->lpstrFile = tInitSel;
ofn->nMaxFile = maxLen;
- ofn->lpstrInitialDir = (TCHAR *)tInitDir.utf16();
- ofn->lpstrTitle = (TCHAR *)tTitle.utf16();
+ ofn->lpstrInitialDir = (wchar_t*)tInitDir.utf16();
+ ofn->lpstrTitle = (wchar_t*)tTitle.utf16();
ofn->Flags = (OFN_NOCHANGEDIR | OFN_HIDEREADONLY | OFN_EXPLORER);
if (mode == QFileDialog::ExistingFile ||
mode == QFileDialog::ExistingFiles)
@@ -332,7 +252,6 @@ static OPENFILENAME* qt_win_make_OFN(QWidget *parent,
return ofn;
}
-
static void qt_win_clean_up_OFN(OPENFILENAME **ofn)
{
delete [] (*ofn)->lpstrFile;
@@ -340,8 +259,6 @@ static void qt_win_clean_up_OFN(OPENFILENAME **ofn)
*ofn = 0;
}
-#endif // UNICODE
-
extern void qt_win_eatMouseMove();
QString qt_win_get_open_file_name(const QFileDialogArgs &args,
@@ -377,35 +294,20 @@ QString qt_win_get_open_file_name(const QFileDialogArgs &args,
modal_widget.setAttribute(Qt::WA_NoChildEventsForParent, true);
modal_widget.setParent(args.parent, Qt::Window);
QApplicationPrivate::enterModal(&modal_widget);
- QT_WA({
- // Use Unicode strings and API
- OPENFILENAME* ofn = qt_win_make_OFN(args.parent, args.selection,
- args.directory, args.caption,
- qt_win_filter(args.filter),
- QFileDialog::ExistingFile,
- args.options);
- if (idx)
- ofn->nFilterIndex = idx + 1;
- if (GetOpenFileName(ofn)) {
- result = QString::fromUtf16((ushort*)ofn->lpstrFile);
- selFilIdx = ofn->nFilterIndex;
- }
- qt_win_clean_up_OFN(&ofn);
- } , {
- // Use ANSI strings and API
- OPENFILENAMEA* ofn = qt_win_make_OFNA(args.parent, args.selection,
- args.directory, args.caption,
- qt_win_filter(args.filter),
- QFileDialog::ExistingFile,
- args.options);
- if (idx)
- ofn->nFilterIndex = idx + 1;
- if (GetOpenFileNameA(ofn)) {
- result = QString::fromLocal8Bit(ofn->lpstrFile);
- selFilIdx = ofn->nFilterIndex;
- }
- qt_win_clean_up_OFNA(&ofn);
- });
+
+ OPENFILENAME* ofn = qt_win_make_OFN(args.parent, args.selection,
+ args.directory, args.caption,
+ qt_win_filter(args.filter),
+ QFileDialog::ExistingFile,
+ args.options);
+ if (idx)
+ ofn->nFilterIndex = idx + 1;
+ if (GetOpenFileName(ofn)) {
+ result = QString::fromWCharArray(ofn->lpstrFile);
+ selFilIdx = ofn->nFilterIndex;
+ }
+ qt_win_clean_up_OFN(&ofn);
+
QApplicationPrivate::leaveModal(&modal_widget);
qt_win_eatMouseMove();
@@ -422,7 +324,7 @@ QString qt_win_get_open_file_name(const QFileDialogArgs &args,
QString qt_win_get_save_file_name(const QFileDialogArgs &args,
QString *initialDirectory,
- QString *selectedFilter)
+ QString *selectedFilter)
{
QString result;
@@ -470,41 +372,22 @@ QString qt_win_get_save_file_name(const QFileDialogArgs &args,
}
}
- QT_WA({
- // Use Unicode strings and API
- OPENFILENAME *ofn = qt_win_make_OFN(args.parent, args.selection,
- args.directory, args.caption,
- qt_win_filter(args.filter),
- QFileDialog::AnyFile,
- args.options);
-
- ofn->lpstrDefExt = (TCHAR *)defaultSaveExt.utf16();
-
- if (idx)
- ofn->nFilterIndex = idx + 1;
- if (GetSaveFileName(ofn)) {
- result = QString::fromUtf16((ushort*)ofn->lpstrFile);
- selFilIdx = ofn->nFilterIndex;
- }
- qt_win_clean_up_OFN(&ofn);
- } , {
- // Use ANSI strings and API
- OPENFILENAMEA *ofn = qt_win_make_OFNA(args.parent, args.selection,
- args.directory, args.caption,
- qt_win_filter(args.filter),
- QFileDialog::AnyFile,
- args.options);
- QByteArray asciiExt = defaultSaveExt.toAscii();
- ofn->lpstrDefExt = asciiExt.data();
-
- if (idx)
- ofn->nFilterIndex = idx + 1;
- if (GetSaveFileNameA(ofn)) {
- result = QString::fromLocal8Bit(ofn->lpstrFile);
- selFilIdx = ofn->nFilterIndex;
- }
- qt_win_clean_up_OFNA(&ofn);
- });
+ OPENFILENAME *ofn = qt_win_make_OFN(args.parent, args.selection,
+ args.directory, args.caption,
+ qt_win_filter(args.filter),
+ QFileDialog::AnyFile,
+ args.options);
+
+ ofn->lpstrDefExt = (wchar_t*)defaultSaveExt.utf16();
+
+ if (idx)
+ ofn->nFilterIndex = idx + 1;
+ if (GetSaveFileName(ofn)) {
+ result = QString::fromWCharArray(ofn->lpstrFile);
+ selFilIdx = ofn->nFilterIndex;
+ }
+ qt_win_clean_up_OFN(&ofn);
+
#if defined(Q_WS_WINCE)
int semIndex = result.indexOf(QLatin1Char(';'));
if (semIndex >= 0)
@@ -525,14 +408,202 @@ QString qt_win_get_save_file_name(const QFileDialogArgs &args,
return fi.absoluteFilePath();
}
+
+#if defined(USE_COMMON_ITEM_DIALOG)
+
+typedef HRESULT (WINAPI *PtrSHCreateItemFromParsingName)(PCWSTR pszPath, IBindCtx *pbc, REFIID riid, void **ppv);
+static PtrSHCreateItemFromParsingName pSHCreateItemFromParsingName = 0;
+
+static bool qt_win_set_IFileDialogOptions(IFileDialog *pfd,
+ const QString& initialSelection,
+ const QString& initialDirectory,
+ const QString& title,
+ const QStringList& filterLst,
+ QFileDialog::FileMode mode,
+ QFileDialog::Options options)
+{
+ if (!pSHCreateItemFromParsingName) {
+ // This function is available only in Vista & above.
+ QLibrary shellLib(QLatin1String("Shell32"));
+ pSHCreateItemFromParsingName = (PtrSHCreateItemFromParsingName)
+ shellLib.resolve("SHCreateItemFromParsingName");
+ if (!pSHCreateItemFromParsingName)
+ return false;
+ }
+ HRESULT hr;
+ QString winfilters;
+ int numFilters = 0;
+ quint32 currentOffset = 0;
+ QList<quint32> offsets;
+ QStringList::ConstIterator it = filterLst.begin();
+ // Create the native filter string and save offset to each entry.
+ for (; it != filterLst.end(); ++it) {
+ QString subfilter = *it;
+ if (!subfilter.isEmpty()) {
+ offsets<<currentOffset;
+ winfilters += subfilter; // The name of the filter.
+ winfilters += QChar();
+ currentOffset += subfilter.size()+1;
+ offsets<<currentOffset;
+ QString spec = qt_win_extract_filter(subfilter);
+ winfilters += spec; // The actual filter spec.
+ winfilters += QChar();
+ currentOffset += spec.size()+1;
+ numFilters++;
+ }
+ }
+ // Add the filters to the file dialog.
+ if (numFilters) {
+ wchar_t *szData = (wchar_t*)winfilters.utf16();
+ COMDLG_FILTERSPEC *filterSpec = new COMDLG_FILTERSPEC[numFilters];
+ for(int i = 0; i<numFilters; i++) {
+ filterSpec[i].pszName = szData+offsets[i*2];
+ filterSpec[i].pszSpec = szData+offsets[(i*2)+1];
+ }
+ hr = pfd->SetFileTypes(numFilters, filterSpec);
+ delete []filterSpec;
+ }
+ // Set the starting folder.
+ tInitDir = QDir::toNativeSeparators(initialDirectory);
+ if (!tInitDir.isEmpty()) {
+ IShellItem *psiDefaultFolder;
+ hr = pSHCreateItemFromParsingName((wchar_t*)tInitDir.utf16(),
+ NULL,
+ IID_PPV_ARGS(&psiDefaultFolder));
+
+ if (SUCCEEDED(hr)) {
+ hr = pfd->SetFolder(psiDefaultFolder);
+ psiDefaultFolder->Release();
+ }
+ }
+ // Set the currently selected file.
+ QString initSel = QDir::toNativeSeparators(initialSelection);
+ if (!initSel.isEmpty()) {
+ initSel.remove(QLatin1Char('<'));
+ initSel.remove(QLatin1Char('>'));
+ initSel.remove(QLatin1Char('\"'));
+ initSel.remove(QLatin1Char('|'));
+ }
+ if (!initSel.isEmpty()) {
+ hr = pfd->SetFileName((wchar_t*)initSel.utf16());
+ }
+ // Set the title for the file dialog.
+ if (!title.isEmpty()) {
+ hr = pfd->SetTitle((wchar_t*)title.utf16());
+ }
+ // Set other flags for the dialog.
+ DWORD newOptions;
+ hr = pfd->GetOptions(&newOptions);
+ if (SUCCEEDED(hr)) {
+ newOptions |= (FOS_NOCHANGEDIR | FOS_NOREADONLYRETURN);
+ if (mode == QFileDialog::ExistingFile ||
+ mode == QFileDialog::ExistingFiles)
+ newOptions |= (FOS_FILEMUSTEXIST | FOS_PATHMUSTEXIST);
+ if (mode == QFileDialog::ExistingFiles)
+ newOptions |= FOS_ALLOWMULTISELECT;
+ if (!(options & QFileDialog::DontConfirmOverwrite))
+ newOptions |= FOS_OVERWRITEPROMPT;
+ hr = pfd->SetOptions(newOptions);
+ }
+ return SUCCEEDED(hr);
+}
+
+QStringList qt_win_CID_get_open_file_names(const QFileDialogArgs &args,
+ QString *initialDirectory,
+ const QStringList &filterList,
+ QString *selectedFilter,
+ int selectedFilterIndex)
+{
+ QStringList result;
+ QDialog modal_widget;
+ modal_widget.setAttribute(Qt::WA_NoChildEventsForParent, true);
+ modal_widget.setParent(args.parent, Qt::Window);
+ QApplicationPrivate::enterModal(&modal_widget);
+ // Multiple selection is allowed only in IFileOpenDialog.
+ IFileOpenDialog *pfd;
+ HRESULT hr = CoCreateInstance(CLSID_FileOpenDialog,
+ NULL,
+ CLSCTX_INPROC_SERVER,
+ IID_PPV_ARGS(&pfd));
+
+ if (SUCCEEDED(hr)) {
+ qt_win_set_IFileDialogOptions(pfd, args.selection,
+ args.directory, args.caption,
+ filterList, QFileDialog::ExistingFiles,
+ args.options);
+ // Set the currently selected filter (one-based index).
+ hr = pfd->SetFileTypeIndex(selectedFilterIndex+1);
+ QWidget *parentWindow = args.parent;
+ if (parentWindow)
+ parentWindow = parentWindow->window();
+ else
+ parentWindow = QApplication::activeWindow();
+ // Show the file dialog.
+ hr = pfd->Show(parentWindow ? parentWindow->winId() : 0);
+ if (SUCCEEDED(hr)) {
+ // Retrieve the results.
+ IShellItemArray *psiaResults;
+ hr = pfd->GetResults(&psiaResults);
+ if (SUCCEEDED(hr)) {
+ DWORD numItems = 0;
+ psiaResults->GetCount(&numItems);
+ for (DWORD i = 0; i<numItems; i++) {
+ IShellItem *psi = 0;
+ hr = psiaResults->GetItemAt(i, &psi);
+ if (SUCCEEDED(hr)) {
+ // Retrieve the file name from shell item.
+ wchar_t *pszPath;
+ hr = psi->GetDisplayName(SIGDN_FILESYSPATH, &pszPath);
+ if (SUCCEEDED(hr)) {
+ QString fileName = QString::fromWCharArray(pszPath);
+ result.append(fileName);
+ CoTaskMemFree(pszPath);
+ }
+ psi->Release(); // Free the current item.
+ }
+ }
+ psiaResults->Release(); // Free the array of items.
+ }
+ }
+ }
+ QApplicationPrivate::leaveModal(&modal_widget);
+
+ qt_win_eatMouseMove();
+
+ if (!result.isEmpty()) {
+ // Retrieve the current folder name.
+ IShellItem *psi = 0;
+ hr = pfd->GetFolder(&psi);
+ if (SUCCEEDED(hr)) {
+ wchar_t *pszPath;
+ hr = psi->GetDisplayName(SIGDN_FILESYSPATH, &pszPath);
+ if (SUCCEEDED(hr)) {
+ *initialDirectory = QString::fromWCharArray(pszPath);
+ CoTaskMemFree(pszPath);
+ }
+ psi->Release();
+ }
+ // Retrieve the currently selected filter.
+ if (selectedFilter) {
+ quint32 filetype = 0;
+ hr = pfd->GetFileTypeIndex(&filetype);
+ if (SUCCEEDED(hr) && filetype && filetype <= (quint32)filterList.length()) {
+ // This is a one-based index, not zero-based.
+ *selectedFilter = filterList[filetype-1];
+ }
+ }
+ }
+ return result;
+}
+
+#endif
+
QStringList qt_win_get_open_file_names(const QFileDialogArgs &args,
QString *initialDirectory,
QString *selectedFilter)
{
- QStringList result;
QFileInfo fi;
QDir dir;
- QString isel;
if (initialDirectory && initialDirectory->left(5) == QLatin1String("file:"))
initialDirectory->remove(0, 5);
@@ -540,7 +611,6 @@ QStringList qt_win_get_open_file_names(const QFileDialogArgs &args,
if (initialDirectory && !fi.isDir()) {
*initialDirectory = fi.absolutePath();
- isel = fi.fileName();
}
if (!fi.exists())
@@ -548,83 +618,59 @@ QStringList qt_win_get_open_file_names(const QFileDialogArgs &args,
DWORD selFilIdx = 0;
+ QStringList filterLst = qt_win_make_filters_list(args.filter);
int idx = 0;
if (selectedFilter) {
- QStringList filterLst = qt_win_make_filters_list(args.filter);
idx = filterLst.indexOf(*selectedFilter);
}
+ // Windows Vista (& above) allows users to search from file dialogs. If user selects
+ // multiple files belonging to different folders from these search results, the
+ // GetOpenFileName() will return only one folder name for all the files. To retrieve
+ // the correct path for all selected files, we have to use Common Item Dialog interfaces.
+#if defined(USE_COMMON_ITEM_DIALOG)
+ if (QSysInfo::WindowsVersion >= QSysInfo::WV_VISTA && QSysInfo::WindowsVersion < QSysInfo::WV_NT_based)
+ return qt_win_CID_get_open_file_names(args, initialDirectory, filterLst, selectedFilter, idx);
+#endif
+ QStringList result;
QDialog modal_widget;
modal_widget.setAttribute(Qt::WA_NoChildEventsForParent, true);
modal_widget.setParent(args.parent, Qt::Window);
QApplicationPrivate::enterModal(&modal_widget);
- QT_WA({
- OPENFILENAME* ofn = qt_win_make_OFN(args.parent, args.selection,
- args.directory, args.caption,
- qt_win_filter(args.filter),
- QFileDialog::ExistingFiles,
- args.options);
- if (idx)
- ofn->nFilterIndex = idx + 1;
- if (GetOpenFileName(ofn)) {
- QString fileOrDir = QString::fromUtf16((ushort*)ofn->lpstrFile);
- selFilIdx = ofn->nFilterIndex;
- int offset = fileOrDir.length() + 1;
- if (ofn->lpstrFile[offset] == 0) {
- // Only one file selected; has full path
- fi.setFile(fileOrDir);
- QString res = fi.absoluteFilePath();
- if (!res.isEmpty())
- result.append(res);
- }
- else {
- // Several files selected; first string is path
- dir.setPath(fileOrDir);
- QString f;
- while(!(f = QString::fromUtf16((ushort*)ofn->lpstrFile+offset)).isEmpty()) {
- fi.setFile(dir, f);
- QString res = fi.absoluteFilePath();
- if (!res.isEmpty())
- result.append(res);
- offset += f.length() + 1;
- }
- }
+
+ OPENFILENAME* ofn = qt_win_make_OFN(args.parent, args.selection,
+ args.directory, args.caption,
+ qt_win_filter(args.filter),
+ QFileDialog::ExistingFiles,
+ args.options);
+ if (idx)
+ ofn->nFilterIndex = idx + 1;
+ if (GetOpenFileName(ofn)) {
+ QString fileOrDir = QString::fromWCharArray(ofn->lpstrFile);
+ selFilIdx = ofn->nFilterIndex;
+ int offset = fileOrDir.length() + 1;
+ if (ofn->lpstrFile[offset] == 0) {
+ // Only one file selected; has full path
+ fi.setFile(fileOrDir);
+ QString res = fi.absoluteFilePath();
+ if (!res.isEmpty())
+ result.append(res);
}
- qt_win_clean_up_OFN(&ofn);
- } , {
- OPENFILENAMEA* ofn = qt_win_make_OFNA(args.parent, args.selection,
- args.directory, args.caption,
- qt_win_filter(args.filter),
- QFileDialog::ExistingFiles,
- args.options);
- if (idx)
- ofn->nFilterIndex = idx + 1;
- if (GetOpenFileNameA(ofn)) {
- QByteArray fileOrDir(ofn->lpstrFile);
- selFilIdx = ofn->nFilterIndex;
- int offset = fileOrDir.length() + 1;
- if (ofn->lpstrFile[offset] == '\0') {
- // Only one file selected; has full path
- fi.setFile(QString::fromLocal8Bit(fileOrDir));
+ else {
+ // Several files selected; first string is path
+ dir.setPath(fileOrDir);
+ QString f;
+ while(!(f = QString::fromWCharArray(ofn->lpstrFile + offset)).isEmpty()) {
+ fi.setFile(dir, f);
QString res = fi.absoluteFilePath();
if (!res.isEmpty())
result.append(res);
+ offset += f.length() + 1;
}
- else {
- // Several files selected; first string is path
- dir.setPath(QString::fromLocal8Bit(fileOrDir));
- QByteArray f;
- while (!(f = QByteArray(ofn->lpstrFile + offset)).isEmpty()) {
- fi.setFile(dir, QString::fromLocal8Bit(f));
- QString res = fi.absoluteFilePath();
- if (!res.isEmpty())
- result.append(res);
- offset += f.length() + 1;
- }
- }
- qt_win_clean_up_OFNA(&ofn);
}
- });
+ }
+ qt_win_clean_up_OFN(&ofn);
+
QApplicationPrivate::leaveModal(&modal_widget);
qt_win_eatMouseMove();
@@ -647,34 +693,20 @@ static int __stdcall winGetExistDirCallbackProc(HWND hwnd,
if (uMsg == BFFM_INITIALIZED && lpData != 0) {
QString *initDir = (QString *)(lpData);
if (!initDir->isEmpty()) {
- // ### Lars asks: is this correct for the A version????
- QT_WA({
- SendMessage(hwnd, BFFM_SETSELECTION, TRUE, LPARAM(initDir->utf16()));
- } , {
- SendMessageA(hwnd, BFFM_SETSELECTION, TRUE, LPARAM(initDir->utf16()));
- });
+ SendMessage(hwnd, BFFM_SETSELECTION, TRUE, LPARAM(initDir->utf16()));
}
} else if (uMsg == BFFM_SELCHANGED) {
- QT_WA({
- qt_win_resolve_libs();
- TCHAR path[MAX_PATH];
+ qt_win_resolve_libs();
+ if (ptrSHGetPathFromIDList) {
+ wchar_t path[MAX_PATH];
ptrSHGetPathFromIDList(LPITEMIDLIST(lParam), path);
- QString tmpStr = QString::fromUtf16((ushort*)path);
+ QString tmpStr = QString::fromWCharArray(path);
if (!tmpStr.isEmpty())
SendMessage(hwnd, BFFM_ENABLEOK, 1, 1);
else
SendMessage(hwnd, BFFM_ENABLEOK, 0, 0);
SendMessage(hwnd, BFFM_SETSTATUSTEXT, 1, LPARAM(path));
- } , {
- char path[MAX_PATH];
- SHGetPathFromIDListA(LPITEMIDLIST(lParam), path);
- QString tmpStr = QString::fromLocal8Bit(path);
- if (!tmpStr.isEmpty())
- SendMessageA(hwnd, BFFM_ENABLEOK, 1, 1);
- else
- SendMessageA(hwnd, BFFM_ENABLEOK, 0, 0);
- SendMessageA(hwnd, BFFM_SETSTATUSTEXT, 1, LPARAM(path));
- });
+ }
}
return 0;
}
@@ -700,116 +732,49 @@ QString qt_win_get_existing_directory(const QFileDialogArgs &args)
modal_widget.setAttribute(Qt::WA_NoChildEventsForParent, true);
modal_widget.setParent(parent, Qt::Window);
QApplicationPrivate::enterModal(&modal_widget);
-#if !defined(Q_WS_WINCE)
- QT_WA({
- qt_win_resolve_libs();
- QString initDir = QDir::toNativeSeparators(args.directory);
- TCHAR path[MAX_PATH];
- TCHAR initPath[MAX_PATH];
- initPath[0] = 0;
- path[0] = 0;
- tTitle = args.caption;
- BROWSEINFO bi;
- Q_ASSERT(!parent ||parent->testAttribute(Qt::WA_WState_Created));
- bi.hwndOwner = (parent ? parent->winId() : 0);
- bi.pidlRoot = NULL;
- //### This does not seem to be respected? - the dialog always displays "Browse for folder"
- bi.lpszTitle = (TCHAR*)tTitle.utf16();
- bi.pszDisplayName = initPath;
- bi.ulFlags = BIF_RETURNONLYFSDIRS | BIF_STATUSTEXT | BIF_NEWDIALOGSTYLE;
- bi.lpfn = winGetExistDirCallbackProc;
- bi.lParam = LPARAM(&initDir);
- if (ptrSHBrowseForFolder) {
- LPITEMIDLIST pItemIDList = ptrSHBrowseForFolder(&bi);
- if (pItemIDList && ptrSHGetPathFromIDList) {
- ptrSHGetPathFromIDList(pItemIDList, path);
- IMalloc *pMalloc;
- if (SHGetMalloc(&pMalloc) != NOERROR)
- result = QString();
- else {
- pMalloc->Free(pItemIDList);
- pMalloc->Release();
- result = QString::fromUtf16((ushort*)path);
- }
- } else
- result = QString();
- }
- tTitle = QString();
- } , {
- QString initDir = QDir::toNativeSeparators(args.directory);
- char path[MAX_PATH];
- char initPath[MAX_PATH];
- QByteArray ctitle = args.caption.toLocal8Bit();
- initPath[0]=0;
- path[0]=0;
- BROWSEINFOA bi;
- Q_ASSERT(!parent ||parent->testAttribute(Qt::WA_WState_Created));
- bi.hwndOwner = (parent ? parent->winId() : 0);
- bi.pidlRoot = NULL;
- bi.lpszTitle = ctitle;
- bi.pszDisplayName = initPath;
- bi.ulFlags = BIF_RETURNONLYFSDIRS | BIF_STATUSTEXT | BIF_NEWDIALOGSTYLE;
- bi.lpfn = winGetExistDirCallbackProc;
- bi.lParam = LPARAM(&initDir);
- LPITEMIDLIST pItemIDList = SHBrowseForFolderA(&bi);
- if (pItemIDList) {
- SHGetPathFromIDListA(pItemIDList, path);
- IMalloc *pMalloc;
- if (SHGetMalloc(&pMalloc) != NOERROR)
- result = QString();
- else {
- pMalloc->Free(pItemIDList);
- pMalloc->Release();
- result = QString::fromLocal8Bit(path);
- }
- } else
- result = QString();
- });
-#else
- qt_win_resolve_libs();
+
QString initDir = QDir::toNativeSeparators(args.directory);
- TCHAR path[MAX_PATH];
- TCHAR initPath[MAX_PATH];
- memset(initPath, 0 , MAX_PATH*sizeof(TCHAR));
- memset(path, 0, MAX_PATH*sizeof(TCHAR));
+ wchar_t path[MAX_PATH];
+ wchar_t initPath[MAX_PATH];
+ initPath[0] = 0;
+ path[0] = 0;
tTitle = args.caption;
+
+#if !defined(Q_WS_WINCE)
+ BROWSEINFO bi;
+#else
qt_BROWSEINFO bi;
+#endif
+
Q_ASSERT(!parent ||parent->testAttribute(Qt::WA_WState_Created));
bi.hwndOwner = (parent ? parent->winId() : 0);
bi.pidlRoot = NULL;
- bi.lpszTitle = (TCHAR*)tTitle.utf16();
+ //### This does not seem to be respected? - the dialog always displays "Browse for folder"
+ bi.lpszTitle = (wchar_t*)tTitle.utf16();
bi.pszDisplayName = initPath;
bi.ulFlags = BIF_RETURNONLYFSDIRS | BIF_STATUSTEXT | BIF_NEWDIALOGSTYLE;
bi.lpfn = winGetExistDirCallbackProc;
bi.lParam = LPARAM(&initDir);
+
+ qt_win_resolve_libs();
if (ptrSHBrowseForFolder) {
LPITEMIDLIST pItemIDList = ptrSHBrowseForFolder((BROWSEINFO*)&bi);
- if (pItemIDList && ptrSHGetPathFromIDList) {
+ if (pItemIDList) {
ptrSHGetPathFromIDList(pItemIDList, path);
IMalloc *pMalloc;
- if (SHGetMalloc(&pMalloc) != NOERROR)
- result = QString();
- else {
+ if (ptrSHGetMalloc(&pMalloc) == NOERROR) {
pMalloc->Free(pItemIDList);
pMalloc->Release();
- result = QString::fromUtf16((ushort*)path);
+ result = QString::fromWCharArray(path);
}
- } else
- result = QString();
+ }
}
tTitle = QString();
-#endif
QApplicationPrivate::leaveModal(&modal_widget);
qt_win_eatMouseMove();
- // Due to a bug on Windows Me, we need to reset the current
- // directory
- if ((QSysInfo::WindowsVersion == QSysInfo::WV_98 || QSysInfo::WindowsVersion == QSysInfo::WV_Me)
- && QDir::currentPath() != currentDir)
- QDir::setCurrent(currentDir);
-
if (!result.isEmpty())
result.replace(QLatin1Char('\\'), QLatin1Char('/'));
return result;
diff --git a/src/gui/dialogs/qfileinfogatherer.cpp b/src/gui/dialogs/qfileinfogatherer.cpp
index 4d9a008..6e1b6af 100644
--- a/src/gui/dialogs/qfileinfogatherer.cpp
+++ b/src/gui/dialogs/qfileinfogatherer.cpp
@@ -44,8 +44,11 @@
#include <qfsfileengine.h>
#include <qdiriterator.h>
#ifndef Q_OS_WIN
-#include <unistd.h>
-#include <sys/types.h>
+# include <unistd.h>
+# include <sys/types.h>
+#endif
+#if defined(Q_OS_VXWORKS)
+# include "qplatformdefs.h"
#endif
QT_BEGIN_NAMESPACE
diff --git a/src/gui/dialogs/qfilesystemmodel.cpp b/src/gui/dialogs/qfilesystemmodel.cpp
index 1a7c6c7..7492039 100644
--- a/src/gui/dialogs/qfilesystemmodel.cpp
+++ b/src/gui/dialogs/qfilesystemmodel.cpp
@@ -49,7 +49,7 @@
#include <qapplication.h>
#ifdef Q_OS_WIN
-#include <windows.h>
+#include <qt_windows.h>
#endif
QT_BEGIN_NAMESPACE
@@ -296,22 +296,14 @@ static QString qt_GetLongPathName(const QString &strShortPath)
#else
QString longSection = QDir::toNativeSeparators(section);
#endif
- QT_WA({
- WIN32_FIND_DATAW findData;
- h = ::FindFirstFileW((wchar_t *)longSection.utf16(), &findData);
- if (h != INVALID_HANDLE_VALUE)
- longPath.append(QString::fromUtf16((ushort*)findData.cFileName));
- } , {
- WIN32_FIND_DATAA findData;
- h = ::FindFirstFileA(section.toLocal8Bit(), &findData);
- if (h != INVALID_HANDLE_VALUE)
- longPath.append(QString::fromLocal8Bit(findData.cFileName));
- });
- if (h == INVALID_HANDLE_VALUE) {
+ WIN32_FIND_DATA findData;
+ h = ::FindFirstFile((wchar_t*)longSection.utf16(), &findData);
+ if (h != INVALID_HANDLE_VALUE) {
+ longPath.append(QString::fromWCharArray(findData.cFileName));
+ ::FindClose(h);
+ } else {
longPath.append(section);
break;
- } else {
- ::FindClose(h);
}
}
if (it != constEnd)
@@ -892,6 +884,7 @@ QVariant QFileSystemModel::headerData(int section, Qt::Orientation orientation,
pixmap.setAlphaChannel(pixmap.createAlphaMask());
return pixmap;
}
+ break;
case Qt::TextAlignmentRole:
return Qt::AlignLeft;
}
diff --git a/src/gui/dialogs/qfilesystemmodel.h b/src/gui/dialogs/qfilesystemmodel.h
index 5ab49ff..769463c 100644
--- a/src/gui/dialogs/qfilesystemmodel.h
+++ b/src/gui/dialogs/qfilesystemmodel.h
@@ -151,7 +151,7 @@ protected:
bool event(QEvent *event);
private:
- Q_DECLARE_SCOPED_PRIVATE(QFileSystemModel)
+ Q_DECLARE_PRIVATE(QFileSystemModel)
Q_DISABLE_COPY(QFileSystemModel)
Q_PRIVATE_SLOT(d_func(), void _q_directoryChanged(const QString &directory, const QStringList &list))
diff --git a/src/gui/dialogs/qfontdialog.h b/src/gui/dialogs/qfontdialog.h
index 4c80194..6e0f1a0 100644
--- a/src/gui/dialogs/qfontdialog.h
+++ b/src/gui/dialogs/qfontdialog.h
@@ -59,7 +59,7 @@ class QFontDialogPrivate;
class Q_GUI_EXPORT QFontDialog : public QDialog
{
Q_OBJECT
- Q_DECLARE_SCOPED_PRIVATE(QFontDialog)
+ Q_DECLARE_PRIVATE(QFontDialog)
Q_ENUMS(FontDialogOption)
Q_PROPERTY(QFont currentFont READ currentFont WRITE setCurrentFont NOTIFY currentFontChanged)
Q_PROPERTY(FontDialogOptions options READ options WRITE setOptions)
diff --git a/src/gui/dialogs/qfscompleter_p.h b/src/gui/dialogs/qfscompleter_p.h
index c65eeea..f0fcdec 100644
--- a/src/gui/dialogs/qfscompleter_p.h
+++ b/src/gui/dialogs/qfscompleter_p.h
@@ -1,7 +1,7 @@
/****************************************************************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the QtGui module of the Qt Toolkit.
**
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/src/gui/dialogs/qinputdialog.h b/src/gui/dialogs/qinputdialog.h
index edeaadd..401b328 100644
--- a/src/gui/dialogs/qinputdialog.h
+++ b/src/gui/dialogs/qinputdialog.h
@@ -59,7 +59,7 @@ class QInputDialogPrivate;
class Q_GUI_EXPORT QInputDialog : public QDialog
{
Q_OBJECT
- Q_DECLARE_SCOPED_PRIVATE(QInputDialog)
+ Q_DECLARE_PRIVATE(QInputDialog)
// Q_ENUMS(InputMode InputDialogOption)
QDOC_PROPERTY(InputMode inputMode READ inputMode WRITE setInputMode)
QDOC_PROPERTY(QString labelText READ labelText WRITE setLabelText)
diff --git a/src/gui/dialogs/qmessagebox.cpp b/src/gui/dialogs/qmessagebox.cpp
index e56d7d4..8a79759 100644
--- a/src/gui/dialogs/qmessagebox.cpp
+++ b/src/gui/dialogs/qmessagebox.cpp
@@ -1362,8 +1362,10 @@ void QMessageBox::setVisible(bool visible)
/*!
\overload
- Opens the dialog and connects its accepted() signal to the slot specified
- by \a receiver and \a member.
+ Opens the dialog and connects its finished() or buttonClicked() signal to
+ the slot specified by \a receiver and \a member. If the slot in \a member
+ has a pointer for its first parameter the connection is to buttonClicked(),
+ otherwise the connection is to finished().
The signal will be disconnected from the slot when the dialog is closed.
*/
diff --git a/src/gui/dialogs/qmessagebox.h b/src/gui/dialogs/qmessagebox.h
index d24d466..048455e 100644
--- a/src/gui/dialogs/qmessagebox.h
+++ b/src/gui/dialogs/qmessagebox.h
@@ -336,7 +336,7 @@ private:
Q_PRIVATE_SLOT(d_func(), void _q_buttonClicked(QAbstractButton *))
Q_DISABLE_COPY(QMessageBox)
- Q_DECLARE_SCOPED_PRIVATE(QMessageBox)
+ Q_DECLARE_PRIVATE(QMessageBox)
};
Q_DECLARE_OPERATORS_FOR_FLAGS(QMessageBox::StandardButtons)
diff --git a/src/gui/dialogs/qpagesetupdialog.h b/src/gui/dialogs/qpagesetupdialog.h
index 1757c32..43e316d 100644
--- a/src/gui/dialogs/qpagesetupdialog.h
+++ b/src/gui/dialogs/qpagesetupdialog.h
@@ -57,7 +57,7 @@ class QPageSetupDialogPrivate;
class Q_GUI_EXPORT QPageSetupDialog : public QAbstractPageSetupDialog
{
Q_OBJECT
- Q_DECLARE_SCOPED_PRIVATE(QPageSetupDialog)
+ Q_DECLARE_PRIVATE(QPageSetupDialog)
Q_ENUMS(PageSetupDialogOption)
Q_PROPERTY(PageSetupDialogOptions options READ options WRITE setOptions)
diff --git a/src/gui/dialogs/qpagesetupdialog_win.cpp b/src/gui/dialogs/qpagesetupdialog_win.cpp
index 93e38fd..5f49aee 100644
--- a/src/gui/dialogs/qpagesetupdialog_win.cpp
+++ b/src/gui/dialogs/qpagesetupdialog_win.cpp
@@ -78,11 +78,10 @@ int QPageSetupDialog::exec()
psd.lStructSize = sizeof(PAGESETUPDLG);
// we need a temp DEVMODE struct if we don't have a global DEVMODE
- HGLOBAL hDevMode;
- int devModeSize;
+ HGLOBAL hDevMode = 0;
+ int devModeSize = 0;
if (!ep->globalDevMode) {
- QT_WA( { devModeSize = sizeof(DEVMODEW) + ((DEVMODEW *) ep->devMode)->dmDriverExtra; },
- { devModeSize = sizeof(DEVMODEA) + ((DEVMODEA *) ep->devMode)->dmDriverExtra; });
+ devModeSize = sizeof(DEVMODE) + ep->devMode->dmDriverExtra;
hDevMode = GlobalAlloc(GHND, devModeSize);
if (hDevMode) {
void *dest = GlobalLock(hDevMode);
diff --git a/src/gui/dialogs/qprintdialog.h b/src/gui/dialogs/qprintdialog.h
index 5af70b3..e5a90cc 100644
--- a/src/gui/dialogs/qprintdialog.h
+++ b/src/gui/dialogs/qprintdialog.h
@@ -81,7 +81,7 @@ private:
class Q_GUI_EXPORT QPrintDialog : public QAbstractPrintDialog
{
Q_OBJECT
- Q_DECLARE_SCOPED_PRIVATE(QPrintDialog)
+ Q_DECLARE_PRIVATE(QPrintDialog)
Q_ENUMS(PrintDialogOption)
Q_PROPERTY(PrintDialogOptions options READ options WRITE setOptions)
diff --git a/src/gui/dialogs/qprintdialog_win.cpp b/src/gui/dialogs/qprintdialog_win.cpp
index e89ce90..115cd8d 100644
--- a/src/gui/dialogs/qprintdialog_win.cpp
+++ b/src/gui/dialogs/qprintdialog_win.cpp
@@ -77,27 +77,18 @@ public:
QWin32PrintEnginePrivate *ep;
};
-#ifndef Q_OS_WINCE
-// If you change this function, make sure you also change the unicode equivalent
-template <class PrintDialog, class DeviceMode>
-static PrintDialog *qt_win_make_PRINTDLG(QWidget *parent,
- QPrintDialog *pdlg,
- QPrintDialogPrivate *d, HGLOBAL *tempDevNames)
+static void qt_win_setup_PRINTDLGEX(PRINTDLGEX *pd, QWidget *parent,
+ QPrintDialog *pdlg,
+ QPrintDialogPrivate *d, HGLOBAL *tempDevNames)
{
- PrintDialog *pd = new PrintDialog;
- memset(pd, 0, sizeof(PrintDialog));
- pd->lStructSize = sizeof(PrintDialog);
-
- void *devMode = sizeof(DeviceMode) == sizeof(DEVMODEA)
- ? (void *) d->ep->devModeA()
- : (void *) d->ep->devModeW();
+ DEVMODE *devMode = d->ep->devMode;
if (devMode) {
- int size = sizeof(DeviceMode) + ((DeviceMode *) devMode)->dmDriverExtra;
+ int size = sizeof(DEVMODE) + devMode->dmDriverExtra;
pd->hDevMode = GlobalAlloc(GHND, size);
{
void *dest = GlobalLock(pd->hDevMode);
- memcpy(dest, d->ep->devMode, size);
+ memcpy(dest, devMode, size);
GlobalUnlock(pd->hDevMode);
}
} else {
@@ -130,37 +121,31 @@ static PrintDialog *qt_win_make_PRINTDLG(QWidget *parent,
if (pd->nMinPage==0 && pd->nMaxPage==0)
pd->Flags |= PD_NOPAGENUMS;
+ // we don't have a 'current page' notion in the QPrinter API yet.
+ // Neither do we support more than one page range, so limit those
+ // options
+ pd->Flags |= PD_NOCURRENTPAGE;
+ pd->nStartPage = START_PAGE_GENERAL;
+ pd->nPageRanges = 1;
+ pd->nMaxPageRanges = 1;
+
if (d->ep->printToFile)
pd->Flags |= PD_PRINTTOFILE;
Q_ASSERT(!parent ||parent->testAttribute(Qt::WA_WState_Created));
pd->hwndOwner = parent ? parent->winId() : 0;
- pd->nFromPage = qMax(pdlg->fromPage(), pdlg->minPage());
- pd->nToPage = (pdlg->toPage() > 0) ? qMin(pdlg->toPage(), pdlg->maxPage()) : 1;
+ pd->lpPageRanges[0].nFromPage = qMax(pdlg->fromPage(), pdlg->minPage());
+ pd->lpPageRanges[0].nToPage = (pdlg->toPage() > 0) ? qMin(pdlg->toPage(), pdlg->maxPage()) : 1;
pd->nCopies = d->ep->num_copies;
-
- return pd;
-}
-#endif // Q_OS_WINCE
-
-// If you change this function, make sure you also change the ansi equivalent
-template <typename T>
-static void qt_win_clean_up_PRINTDLG(T **pd)
-{
- delete *pd;
- *pd = 0;
}
-
-// If you change this function, make sure you also change the ansi equivalent
-template <typename T>
-static void qt_win_read_back_PRINTDLG(T *pd, QPrintDialog *pdlg, QPrintDialogPrivate *d)
+static void qt_win_read_back_PRINTDLGEX(PRINTDLGEX *pd, QPrintDialog *pdlg, QPrintDialogPrivate *d)
{
if (pd->Flags & PD_SELECTION) {
pdlg->setPrintRange(QPrintDialog::Selection);
pdlg->setFromTo(0, 0);
} else if (pd->Flags & PD_PAGENUMS) {
pdlg->setPrintRange(QPrintDialog::PageRange);
- pdlg->setFromTo(pd->nFromPage, pd->nToPage);
+ pdlg->setFromTo(pd->lpPageRanges[0].nFromPage, pd->lpPageRanges[0].nToPage);
} else {
pdlg->setPrintRange(QPrintDialog::AllPages);
pdlg->setFromTo(0, 0);
@@ -234,34 +219,36 @@ int QPrintDialogPrivate::openWindowsPrintDialogModally()
HGLOBAL *tempDevNames = ep->createDevNames();
- bool result;
bool done;
- void *pd = QT_WA_INLINE(
- (void*)(qt_win_make_PRINTDLG<PRINTDLGW, DEVMODEW>(parent, q, this, tempDevNames)),
- (void*)(qt_win_make_PRINTDLG<PRINTDLGA, DEVMODEA>(parent, q, this, tempDevNames))
- );
+ bool result;
+ bool doPrinting;
+
+ PRINTPAGERANGE pageRange;
+ PRINTDLGEX pd;
+ memset(&pd, 0, sizeof(PRINTDLGEX));
+ pd.lStructSize = sizeof(PRINTDLGEX);
+ pd.lpPageRanges = &pageRange;
+ qt_win_setup_PRINTDLGEX(&pd, parent, q, this, tempDevNames);
do {
done = true;
- QT_WA({
- PRINTDLGW *pdw = reinterpret_cast<PRINTDLGW *>(pd);
- result = PrintDlgW(pdw);
- if ((pdw->Flags & PD_PAGENUMS) && (pdw->nFromPage > pdw->nToPage))
- done = false;
- if (result && pdw->hDC == 0)
- result = false;
- else if (!result)
- done = true;
- }, {
- PRINTDLGA *pda = reinterpret_cast<PRINTDLGA *>(pd);
- result = PrintDlgA(pda);
- if ((pda->Flags & PD_PAGENUMS) && (pda->nFromPage > pda->nToPage))
+ doPrinting = false;
+ result = (PrintDlgEx(&pd) == S_OK);
+ if (result && (pd.dwResultAction == PD_RESULT_PRINT
+ || pd.dwResultAction == PD_RESULT_APPLY))
+ {
+ doPrinting = (pd.dwResultAction == PD_RESULT_PRINT);
+ if ((pd.Flags & PD_PAGENUMS)
+ && (pd.lpPageRanges[0].nFromPage > pd.lpPageRanges[0].nToPage))
+ {
+ pd.lpPageRanges[0].nFromPage = 1;
+ pd.lpPageRanges[0].nToPage = 1;
done = false;
- if (result && pda->hDC == 0)
+ }
+ if (pd.hDC == 0)
result = false;
- else if (!result)
- done = true;
- });
+ }
+
if (!done) {
QMessageBox::warning(0, QPrintDialog::tr("Print"),
QPrintDialog::tr("The 'From' value cannot be greater than the 'To' value."),
@@ -274,16 +261,10 @@ int QPrintDialogPrivate::openWindowsPrintDialogModally()
qt_win_eatMouseMove();
// write values back...
- if (result) {
- QT_WA({
- PRINTDLGW *pdw = reinterpret_cast<PRINTDLGW *>(pd);
- qt_win_read_back_PRINTDLG(pdw, q, this);
- qt_win_clean_up_PRINTDLG(&pdw);
- }, {
- PRINTDLGA *pda = reinterpret_cast<PRINTDLGA *>(pd);
- qt_win_read_back_PRINTDLG(pda, q, this);
- qt_win_clean_up_PRINTDLG(&pda);
- });
+ if (result && (pd.dwResultAction == PD_RESULT_PRINT
+ || pd.dwResultAction == PD_RESULT_APPLY))
+ {
+ qt_win_read_back_PRINTDLGEX(&pd, q, this);
// update printer validity
printer->d_func()->validPrinter = !ep->name.isEmpty();
}
@@ -291,9 +272,9 @@ int QPrintDialogPrivate::openWindowsPrintDialogModally()
// Cleanup...
GlobalFree(tempDevNames);
- q->done(result);
+ q->done(result && doPrinting);
- return result;
+ return result && doPrinting;
}
void QPrintDialog::setVisible(bool visible)
diff --git a/src/gui/dialogs/qprintpreviewdialog.h b/src/gui/dialogs/qprintpreviewdialog.h
index 5836e5a..85ed517 100644
--- a/src/gui/dialogs/qprintpreviewdialog.h
+++ b/src/gui/dialogs/qprintpreviewdialog.h
@@ -58,7 +58,7 @@ class QPrintPreviewDialogPrivate;
class Q_GUI_EXPORT QPrintPreviewDialog : public QDialog
{
Q_OBJECT
- Q_DECLARE_SCOPED_PRIVATE(QPrintPreviewDialog)
+ Q_DECLARE_PRIVATE(QPrintPreviewDialog)
public:
explicit QPrintPreviewDialog(QWidget *parent = 0, Qt::WindowFlags flags = 0);
diff --git a/src/gui/dialogs/qprogressdialog.h b/src/gui/dialogs/qprogressdialog.h
index 41a825a..1118c45 100644
--- a/src/gui/dialogs/qprogressdialog.h
+++ b/src/gui/dialogs/qprogressdialog.h
@@ -61,7 +61,7 @@ class QProgressDialogPrivate;
class Q_GUI_EXPORT QProgressDialog : public QDialog
{
Q_OBJECT
- Q_DECLARE_SCOPED_PRIVATE(QProgressDialog)
+ Q_DECLARE_PRIVATE(QProgressDialog)
Q_PROPERTY(bool wasCanceled READ wasCanceled)
Q_PROPERTY(int minimum READ minimum WRITE setMinimum)
Q_PROPERTY(int maximum READ maximum WRITE setMaximum)
diff --git a/src/gui/dialogs/qsidebar.cpp b/src/gui/dialogs/qsidebar.cpp
index 1915e21..e4821ad 100644
--- a/src/gui/dialogs/qsidebar.cpp
+++ b/src/gui/dialogs/qsidebar.cpp
@@ -247,11 +247,16 @@ void QUrlModel::addUrls(const QList<QUrl> &list, int row, bool move)
QUrl url = list.at(i);
if (!url.isValid() || url.scheme() != QLatin1String("file"))
continue;
+ //this makes sure the url is clean
+ const QString cleanUrl = QDir::cleanPath(url.toLocalFile());
+ url = QUrl::fromLocalFile(cleanUrl);
+
for (int j = 0; move && j < rowCount(); ++j) {
+ QString local = index(j, 0).data(UrlRole).toUrl().toLocalFile();
#if defined(Q_OS_WIN)
- if (QDir::cleanPath(index(j, 0).data(UrlRole).toUrl().toLocalFile()).toLower() == QDir::cleanPath(url.toLocalFile()).toLower()) {
+ if (index(j, 0).data(UrlRole).toUrl().toLocalFile().toLower() == cleanUrl.toLower()) {
#else
- if (QDir::cleanPath(index(j, 0).data(UrlRole).toUrl().toLocalFile()) == QDir::cleanPath(url.toLocalFile())) {
+ if (index(j, 0).data(UrlRole).toUrl().toLocalFile() == cleanUrl) {
#endif
removeRow(j);
if (j <= row)
@@ -260,12 +265,12 @@ void QUrlModel::addUrls(const QList<QUrl> &list, int row, bool move)
}
}
row = qMax(row, 0);
- QModelIndex idx = fileSystemModel->index(url.toLocalFile());
+ QModelIndex idx = fileSystemModel->index(cleanUrl);
if (!fileSystemModel->isDir(idx))
continue;
insertRows(row, 1);
setUrl(index(row, 0), url, idx);
- watching.append(QPair<QModelIndex, QString>(idx, url.toLocalFile()));
+ watching.append(qMakePair(idx, cleanUrl));
}
}
diff --git a/src/gui/dialogs/qwizard.cpp b/src/gui/dialogs/qwizard.cpp
index 5365889..345c0f7 100644
--- a/src/gui/dialogs/qwizard.cpp
+++ b/src/gui/dialogs/qwizard.cpp
@@ -343,8 +343,8 @@ void QWizardHeader::setup(const QWizardLayoutInfo &info, const QString &title,
{
bool modern = ((info.wizStyle == QWizard::ModernStyle)
#if !defined(QT_NO_STYLE_WINDOWSVISTA)
- || ((info.wizStyle == QWizard::AeroStyle)
- && (QVistaHelper::vistaState() == QVistaHelper::Classic) || vistaDisabled())
+ || ((info.wizStyle == QWizard::AeroStyle
+ && QVistaHelper::vistaState() == QVistaHelper::Classic) || vistaDisabled())
#endif
);
@@ -1251,13 +1251,7 @@ void QWizardPrivate::updateMinMaxSizes(const QWizardLayoutInfo &info)
extraHeight = vistaHelper->titleBarSize() + vistaHelper->topOffset();
#endif
QSize minimumSize = mainLayout->totalMinimumSize() + QSize(0, extraHeight);
- QSize maximumSize;
- bool skipMaxSize = false;
-#if defined(Q_WS_WIN)
- if (QSysInfo::WindowsVersion <= QSysInfo::WV_Me) // ### See Tasks 164078 and 161660
- skipMaxSize = true;
-#endif
- maximumSize = mainLayout->totalMaximumSize();
+ QSize maximumSize = mainLayout->totalMaximumSize();
if (info.header && headerWidget->maximumWidth() != QWIDGETSIZE_MAX) {
minimumSize.setWidth(headerWidget->maximumWidth());
maximumSize.setWidth(headerWidget->maximumWidth());
@@ -1276,13 +1270,11 @@ void QWizardPrivate::updateMinMaxSizes(const QWizardLayoutInfo &info)
}
if (q->maximumWidth() == maximumWidth) {
maximumWidth = maximumSize.width();
- if (!skipMaxSize)
- q->setMaximumWidth(maximumWidth);
+ q->setMaximumWidth(maximumWidth);
}
if (q->maximumHeight() == maximumHeight) {
maximumHeight = maximumSize.height();
- if (!skipMaxSize)
- q->setMaximumHeight(maximumHeight);
+ q->setMaximumHeight(maximumHeight);
}
}
diff --git a/src/gui/dialogs/qwizard.h b/src/gui/dialogs/qwizard.h
index a8976c4..d1f9cf7 100644
--- a/src/gui/dialogs/qwizard.h
+++ b/src/gui/dialogs/qwizard.h
@@ -194,7 +194,7 @@ protected:
private:
Q_DISABLE_COPY(QWizard)
- Q_DECLARE_SCOPED_PRIVATE(QWizard)
+ Q_DECLARE_PRIVATE(QWizard)
Q_PRIVATE_SLOT(d_func(), void _q_emitCustomButtonClicked())
Q_PRIVATE_SLOT(d_func(), void _q_updateButtonStates())
Q_PRIVATE_SLOT(d_func(), void _q_handleFieldObjectDestroyed(QObject *))
@@ -246,7 +246,7 @@ protected:
private:
Q_DISABLE_COPY(QWizardPage)
- Q_DECLARE_SCOPED_PRIVATE(QWizardPage)
+ Q_DECLARE_PRIVATE(QWizardPage)
Q_PRIVATE_SLOT(d_func(), void _q_maybeEmitCompleteChanged())
Q_PRIVATE_SLOT(d_func(), void _q_updateCachedCompleteState())
diff --git a/src/gui/dialogs/qwizard_win.cpp b/src/gui/dialogs/qwizard_win.cpp
index bb51cbd..1def47f 100644
--- a/src/gui/dialogs/qwizard_win.cpp
+++ b/src/gui/dialogs/qwizard_win.cpp
@@ -429,7 +429,7 @@ void QVistaHelper::setWindowPosHack()
class QHackWidget : public QWidget
{
public:
- Q_DECLARE_SCOPED_PRIVATE(QWidget)
+ Q_DECLARE_PRIVATE(QWidget)
QTLWExtra* topData() { return d_func()->topData(); }
};
@@ -616,7 +616,7 @@ bool QVistaHelper::drawTitleText(QPainter *painter, const QString &text, const Q
// Set up a memory DC and bitmap that we'll draw into
HDC dcMem;
HBITMAP bmp;
- BITMAPINFO dib = {0};
+ BITMAPINFO dib = {{0}};
dcMem = CreateCompatibleDC(hdc);
dib.bmiHeader.biSize = sizeof(BITMAPINFOHEADER);
@@ -662,7 +662,7 @@ bool QVistaHelper::drawBlackRect(const QRect &rect, HDC hdc)
// Set up a memory DC and bitmap that we'll draw into
HDC dcMem;
HBITMAP bmp;
- BITMAPINFO dib = {0};
+ BITMAPINFO dib = {{0}};
dcMem = CreateCompatibleDC(hdc);
dib.bmiHeader.biSize = sizeof(BITMAPINFOHEADER);
diff --git a/src/gui/dialogs/qwizard_win_p.h b/src/gui/dialogs/qwizard_win_p.h
index d3410d0..18a7531 100644
--- a/src/gui/dialogs/qwizard_win_p.h
+++ b/src/gui/dialogs/qwizard_win_p.h
@@ -56,7 +56,7 @@
#ifndef QT_NO_WIZARD
#ifndef QT_NO_STYLE_WINDOWSVISTA
-#include <windows.h>
+#include <qt_windows.h>
#include <qobject.h>
#include <qwidget.h>
#include <qabstractbutton.h>
diff --git a/src/gui/egl/qegl.cpp b/src/gui/egl/qegl.cpp
index 89d9d1b..ebdac9a 100644
--- a/src/gui/egl/qegl.cpp
+++ b/src/gui/egl/qegl.cpp
@@ -400,4 +400,15 @@ void QEglContext::dumpAllConfigs()
delete [] configs;
}
+QString QEglContext::extensions()
+{
+ const char* exts = eglQueryString(dpy, EGL_EXTENSIONS);
+ return QString(QLatin1String(exts));
+}
+
+bool QEglContext::hasExtension(const char* extensionName)
+{
+ return extensions().contains(QLatin1String(extensionName));
+}
+
QT_END_NAMESPACE
diff --git a/src/gui/egl/qegl_p.h b/src/gui/egl/qegl_p.h
index b457552..d2be229 100644
--- a/src/gui/egl/qegl_p.h
+++ b/src/gui/egl/qegl_p.h
@@ -122,6 +122,9 @@ public:
void dumpAllConfigs();
+ QString extensions();
+ bool hasExtension(const char* extensionName);
+
private:
QEgl::API apiType;
EGLDisplay dpy;
diff --git a/src/gui/egl/qegl_x11.cpp b/src/gui/egl/qegl_x11.cpp
index be89efe..6772592 100644
--- a/src/gui/egl/qegl_x11.cpp
+++ b/src/gui/egl/qegl_x11.cpp
@@ -39,15 +39,18 @@
**
****************************************************************************/
+#include <QtCore/qdebug.h>
+
+#include <private/qt_x11_p.h>
+#include <QtGui/qx11info_x11.h>
+#include <private/qpixmapdata_p.h>
+#include <private/qpixmap_x11_p.h>
+
#include <QtGui/qpaintdevice.h>
#include <QtGui/qpixmap.h>
#include <QtGui/qwidget.h>
-#include <QtCore/qdebug.h>
#include "qegl_p.h"
-#include <QtGui/qx11info_x11.h>
-#include <X11/Xlib.h>
-#include <X11/Xutil.h>
QT_BEGIN_NAMESPACE
@@ -125,7 +128,17 @@ void QEglProperties::setVisualFormat(const QX11Info *xinfo)
setValue(EGL_RED_SIZE, countBits(visual->red_mask));
setValue(EGL_GREEN_SIZE, countBits(visual->green_mask));
setValue(EGL_BLUE_SIZE, countBits(visual->blue_mask));
- setValue(EGL_ALPHA_SIZE, 0); // XXX
+
+ EGLint alphaBits = 0;
+#if !defined(QT_NO_XRENDER)
+ XRenderPictFormat *format;
+ format = XRenderFindVisualFormat(xinfo->display(), visual);
+ if (format && (format->type == PictTypeDirect) && format->direct.alphaMask) {
+ alphaBits = countBits(format->direct.alphaMask);
+ qDebug("QEglProperties::setVisualFormat() - visual's alphaMask is %d", alphaBits);
+ }
+#endif
+ setValue(EGL_ALPHA_SIZE, alphaBits);
}
extern const QX11Info *qt_x11Info(const QPaintDevice *pd);
diff --git a/src/gui/egl/qeglproperties.cpp b/src/gui/egl/qeglproperties.cpp
index e0ae8a6..358ebcc 100644
--- a/src/gui/egl/qeglproperties.cpp
+++ b/src/gui/egl/qeglproperties.cpp
@@ -46,12 +46,26 @@ QT_BEGIN_NAMESPACE
#include <QtCore/qdebug.h>
#include <QtCore/qstringlist.h>
+#include "qegl_p.h"
+
+
// Initialize a property block.
QEglProperties::QEglProperties()
{
props.append(EGL_NONE);
}
+QEglProperties::QEglProperties(EGLConfig cfg)
+{
+ props.append(EGL_NONE);
+ for (int name = 0x3020; name <= 0x304F; ++name) {
+ EGLint value;
+ if (name != EGL_NONE && eglGetConfigAttrib(QEglContext::defaultDisplay(0), cfg, name, &value))
+ setValue(name, value);
+ }
+ eglGetError(); // Clear the error state.
+}
+
// Fetch the current value associated with a property.
int QEglProperties::value(int name) const
{
@@ -215,12 +229,21 @@ bool QEglProperties::reduceConfiguration()
removeValue(EGL_SAMPLES);
return true;
}
- if (removeValue(EGL_ALPHA_SIZE))
+ if (removeValue(EGL_ALPHA_SIZE)) {
+#if defined(EGL_BIND_TO_TEXTURE_RGBA) && defined(EGL_BIND_TO_TEXTURE_RGB)
+ if (removeValue(EGL_BIND_TO_TEXTURE_RGBA))
+ setValue(EGL_BIND_TO_TEXTURE_RGB, TRUE);
+#endif
return true;
+ }
if (removeValue(EGL_STENCIL_SIZE))
return true;
if (removeValue(EGL_DEPTH_SIZE))
return true;
+#if defined(EGL_BIND_TO_TEXTURE_RGB)
+ if (removeValue(EGL_BIND_TO_TEXTURE_RGB))
+ return true;
+#endif
return false;
}
diff --git a/src/gui/egl/qeglproperties_p.h b/src/gui/egl/qeglproperties_p.h
index 81af4cd..bcdc657 100644
--- a/src/gui/egl/qeglproperties_p.h
+++ b/src/gui/egl/qeglproperties_p.h
@@ -107,6 +107,7 @@ class Q_GUI_EXPORT QEglProperties
{
public:
QEglProperties();
+ QEglProperties(EGLConfig);
QEglProperties(const QEglProperties& other) : props(other.props) {}
~QEglProperties() {}
diff --git a/src/gui/embedded/embedded.pri b/src/gui/embedded/embedded.pri
index 4a9aa3f..e8eb959 100644
--- a/src/gui/embedded/embedded.pri
+++ b/src/gui/embedded/embedded.pri
@@ -114,11 +114,18 @@ embedded {
SOURCES += embedded/qscreenlinuxfb_qws.cpp
}
+ contains( gfx-drivers, qnx ) {
+ HEADERS += embedded/qscreenqnx_qws.h
+ SOURCES += embedded/qscreenqnx_qws.cpp
+ LIBS += -lgf
+ }
+
contains( gfx-drivers, qvfb ) {
HEADERS += embedded/qscreenvfb_qws.h
SOURCES += embedded/qscreenvfb_qws.cpp
}
+
contains( gfx-drivers, vnc ) {
VNCDIR = $$QT_SOURCE_TREE/src/plugins/gfxdrivers/vnc
INCLUDEPATH += $$VNCDIR
@@ -141,15 +148,7 @@ embedded {
!contains( kbd-drivers, qvfb ) {
kbd-drivers += qvfb
}
- }
-
- contains( kbd-drivers, sl5000 ) {
- HEADERS +=embedded/qkbdsl5000_qws.h
- SOURCES +=embedded/qkbdsl5000_qws.cpp
- !contains( kbd-drivers, tty ) {
- kbd-drivers += tty
- }
- }
+ }
contains( kbd-drivers, tty ) {
HEADERS +=embedded/qkbdtty_qws.h
@@ -166,15 +165,10 @@ embedded {
SOURCES +=embedded/qkbdum_qws.cpp
}
- contains( kbd-drivers, yopy ) {
- HEADERS +=embedded/qkbdyopy_qws.h
- SOURCES +=embedded/qkbdyopy_qws.cpp
- }
-
- contains( kbd-drivers, vr41xx ) {
- HEADERS +=embedded/qkbdvr41xx_qws.h
- SOURCES +=embedded/qkbdvr41xx_qws.cpp
- }
+ contains( kbd-drivers, qnx ) {
+ HEADERS += embedded/qkbdqnx_qws.h
+ SOURCES += embedded/qkbdqnx_qws.cpp
+ }
#
# Mouse drivers
@@ -189,29 +183,24 @@ embedded {
SOURCES +=embedded/qmousepc_qws.cpp
}
- contains( mouse-drivers, bus ) {
- HEADERS +=embedded/qmousebus_qws.h
- SOURCES +=embedded/qmousebus_qws.cpp
- }
-
contains( mouse-drivers, linuxtp ) {
HEADERS +=embedded/qmouselinuxtp_qws.h
SOURCES +=embedded/qmouselinuxtp_qws.cpp
}
- contains( mouse-drivers, vr41xx ) {
- HEADERS +=embedded/qmousevr41xx_qws.h
- SOURCES +=embedded/qmousevr41xx_qws.cpp
- }
-
- contains( mouse-drivers, yopy ) {
- HEADERS +=embedded/qmouseyopy_qws.h
- SOURCES +=embedded/qmouseyopy_qws.cpp
- }
-
contains( mouse-drivers, tslib ) {
LIBS += -lts
HEADERS +=embedded/qmousetslib_qws.h
SOURCES +=embedded/qmousetslib_qws.cpp
}
+
+ contains( mouse-drivers, linuxinput ) {
+ HEADERS +=embedded/qmouselinuxinput_qws.h
+ SOURCES +=embedded/qmouselinuxinput_qws.cpp
+ }
+
+ contains( mouse-drivers, qnx ) {
+ HEADERS += embedded/qmouseqnx_qws.h
+ SOURCES += embedded/qmouseqnx_qws.cpp
+ }
}
diff --git a/src/gui/embedded/qdirectpainter_qws.cpp b/src/gui/embedded/qdirectpainter_qws.cpp
index e97367c..b3dff06 100644
--- a/src/gui/embedded/qdirectpainter_qws.cpp
+++ b/src/gui/embedded/qdirectpainter_qws.cpp
@@ -150,14 +150,14 @@ QT_BEGIN_NAMESPACE
\value ReservedSynchronous The allocated region will never change and
each function that changes the allocated region will be blocking.
- \sa reservedRegion(), allocatedRegion()
+ \sa allocatedRegion()
*/
/*!
\fn QRegion QDirectPainter::region()
\obsolete
- Use QDirectPainter::reservedRegion() instead.
+ Use QDirectPainter::allocatedRegion() instead.
*/
static inline QScreen *getPrimaryScreen()
@@ -346,7 +346,7 @@ void QDirectPainter::setRegion(const QRegion &region)
returned by the allocatedRegion() function. Otherwise they might
differ (see \l {Dynamic Allocation} for details).
- \sa geometry(), setRegion()
+ \sa geometry(), setRegion(), allocatedRegion()
*/
QRegion QDirectPainter::requestedRegion() const
{
@@ -540,7 +540,7 @@ void QDirectPainter::lower()
any. If not released explicitly, the region will be released on
application exit.
- \sa reservedRegion(), {Static Allocation}
+ \sa allocatedRegion(), {Static Allocation}
\obsolete
diff --git a/src/gui/embedded/qdirectpainter_qws.h b/src/gui/embedded/qdirectpainter_qws.h
index a7f82f1..eddde10 100644
--- a/src/gui/embedded/qdirectpainter_qws.h
+++ b/src/gui/embedded/qdirectpainter_qws.h
@@ -57,7 +57,7 @@ class QWSEmbedEvent;
class Q_GUI_EXPORT QDirectPainter : public QObject {
Q_OBJECT
- Q_DECLARE_SCOPED_PRIVATE(QDirectPainter)
+ Q_DECLARE_PRIVATE(QDirectPainter)
public:
enum SurfaceFlag { NonReserved = 0,
diff --git a/src/gui/embedded/qkbd_qws.cpp b/src/gui/embedded/qkbd_qws.cpp
index 7799339..756a398 100644
--- a/src/gui/embedded/qkbd_qws.cpp
+++ b/src/gui/embedded/qkbd_qws.cpp
@@ -453,8 +453,9 @@ void QWSKeyboardHandler::endAutoRepeat()
Maps \a keycode according to a keymap and sends that key event to the
\l{Qt for Embedded Linux} server application.
- Please see the QWS_KEYBOARD documentation for a description on how to
- create and use keymap files.
+ Please see the \l{Qt for Embedded Linux Character Input} and the \l
+ {kmap2qmap} documentations for a description on how to create and use
+ keymap files.
The key event is identified by its \a keycode value and the \a isPress
and \a autoRepeat parameters.
@@ -475,9 +476,6 @@ void QWSKeyboardHandler::endAutoRepeat()
implementation needs to take care of a special action, like console
switching or LED handling.
- Standard Linux console keymaps can be found at the
- \l {http://lct.sourceforege.net}{LCT project}
-
If standard Linux console keymaps are used, \a keycode must be one of the
standardized values defined in \c /usr/include/linux/input.h
diff --git a/src/gui/embedded/qkbddriverfactory_qws.cpp b/src/gui/embedded/qkbddriverfactory_qws.cpp
index c599396..fb10030 100644
--- a/src/gui/embedded/qkbddriverfactory_qws.cpp
+++ b/src/gui/embedded/qkbddriverfactory_qws.cpp
@@ -47,10 +47,8 @@
#include "qkbdtty_qws.h"
#include "qkbdlinuxinput_qws.h"
#include "qkbdum_qws.h"
-#include "qkbdsl5000_qws.h"
#include "qkbdvfb_qws.h"
-#include "qkbdyopy_qws.h"
-#include "qkbdvr41xx_qws.h"
+#include "qkbdqnx_qws.h"
#include <stdlib.h>
#include "private/qfactoryloader_p.h"
#include "qkbddriverplugin_qws.h"
@@ -104,17 +102,9 @@ Q_GLOBAL_STATIC_WITH_ARGS(QFactoryLoader, loader,
QWSKeyboardHandler *QKbdDriverFactory::create(const QString& key, const QString& device)
{
QString driver = key.toLower();
-#ifndef QT_NO_QWS_KBD_SL5000
- if (driver == QLatin1String("sl5000") || driver.isEmpty())
- return new QWSSL5000KeyboardHandler(device);
-#endif
-#ifndef QT_NO_QWS_KBD_YOPY
- if (driver == QLatin1String("yopy") || driver.isEmpty())
- return new QWSYopyKeyboardHandler(device);
-#endif
-#ifndef QT_NO_QWS_KBD_VR41XX
- if (driver == QLatin1String("vr41xx") || driver.isEmpty())
- return new QWSVr41xxKeyboardHandler(device);
+#if defined(Q_OS_QNX) && !defined(QT_NO_QWS_KBD_QNX)
+ if (driver == QLatin1String("qnx") || driver.isEmpty())
+ return new QWSQnxKeyboardHandler(device);
#endif
#ifndef QT_NO_QWS_KEYBOARD
# ifndef QT_NO_QWS_KBD_TTY
@@ -158,14 +148,8 @@ QStringList QKbdDriverFactory::keys()
{
QStringList list;
-#ifndef QT_NO_QWS_KBD_SL5000
- list << QLatin1String("SL5000");
-#endif
-#ifndef QT_NO_QWS_KBD_YOPY
- list << QLatin1String("YOPY");
-#endif
-#ifndef QT_NO_QWS_KBD_VR41XX
- list << QLatin1String("VR41xx");
+#if defined(Q_OS_QNX) && !defined(QT_NO_QWS_KBD_QNX)
+ list << QLatin1String("QNX");
#endif
#ifndef QT_NO_QWS_KBD_TTY
list << QLatin1String("TTY");
diff --git a/src/gui/embedded/qkbdlinuxinput_qws.cpp b/src/gui/embedded/qkbdlinuxinput_qws.cpp
index d5720f7..6aa6633 100644
--- a/src/gui/embedded/qkbdlinuxinput_qws.cpp
+++ b/src/gui/embedded/qkbdlinuxinput_qws.cpp
@@ -47,6 +47,7 @@
#include <QStringList>
#include <qplatformdefs.h>
+#include <private/qcore_unix_p.h> // overrides QT_OPEN
#include <errno.h>
#include <termios.h>
@@ -75,6 +76,7 @@ private:
int m_fd;
int m_tty_fd;
struct termios m_tty_attr;
+ int m_orig_kbmode;
};
QWSLinuxInputKeyboardHandler::QWSLinuxInputKeyboardHandler(const QString &device)
@@ -94,8 +96,7 @@ bool QWSLinuxInputKeyboardHandler::filterInputEvent(quint16 &, qint32 &)
}
QWSLinuxInputKbPrivate::QWSLinuxInputKbPrivate(QWSLinuxInputKeyboardHandler *h, const QString &device)
- : m_handler(h), m_fd(-1), m_tty_fd(-1)
-
+ : m_handler(h), m_fd(-1), m_tty_fd(-1), m_orig_kbmode(K_XLATE)
{
setObjectName(QLatin1String("LinuxInputSubsystem Keyboard Handler"));
@@ -134,7 +135,10 @@ QWSLinuxInputKbPrivate::QWSLinuxInputKbPrivate(QWSLinuxInputKeyboardHandler *h,
struct ::termios termdata;
tcgetattr(m_tty_fd, &termdata);
- // setting this tranlation mode is also needed in INPUT mode to prevent
+ // record the original mode so we can restore it again in the destructor.
+ ::ioctl(m_tty_fd, KDGKBMODE, &m_orig_kbmode);
+
+ // setting this tranlation mode is even needed in INPUT mode to prevent
// the shell from also interpreting codes, if the process has a tty
// attached: e.g. Ctrl+C wouldn't copy, but kill the application.
::ioctl(m_tty_fd, KDSKBMODE, K_MEDIUMRAW);
@@ -151,7 +155,7 @@ QWSLinuxInputKbPrivate::QWSLinuxInputKbPrivate(QWSLinuxInputKeyboardHandler *h,
tcsetattr(m_tty_fd, TCSANOW, &termdata);
}
} else {
- qWarning("Cannot open input device '%s': %s", qPrintable(dev), strerror(errno));
+ qWarning("Cannot open keyboard input device '%s': %s", qPrintable(dev), strerror(errno));
return;
}
}
@@ -159,7 +163,7 @@ QWSLinuxInputKbPrivate::QWSLinuxInputKbPrivate(QWSLinuxInputKeyboardHandler *h,
QWSLinuxInputKbPrivate::~QWSLinuxInputKbPrivate()
{
if (m_tty_fd >= 0) {
- ::ioctl(m_tty_fd, KDSKBMODE, K_XLATE);
+ ::ioctl(m_tty_fd, KDSKBMODE, m_orig_kbmode);
tcsetattr(m_tty_fd, TCSANOW, &m_tty_attr);
}
if (m_fd >= 0)
diff --git a/src/gui/embedded/qkbdqnx_qws.cpp b/src/gui/embedded/qkbdqnx_qws.cpp
new file mode 100644
index 0000000..089b868
--- /dev/null
+++ b/src/gui/embedded/qkbdqnx_qws.cpp
@@ -0,0 +1,231 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtGui module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "qkbdqnx_qws.h"
+#include "QtCore/qsocketnotifier.h"
+#include "QtCore/qdebug.h"
+
+#include <sys/dcmd_input.h>
+#include <photon/keycodes.h>
+
+#include "qplatformdefs.h"
+#include <errno.h>
+
+/*!
+ \class QWSQnxKeyboardHandler
+ \preliminary
+ \ingroup qws
+ \since 4.6
+ \internal
+
+ \brief The QWSQnxKeyboardHandler class implements a keyboard driver
+ for the QNX \c{devi-hid} input manager.
+
+ To be able to compile this mouse handler, \l{Qt for Embedded Linux}
+ must be configured with the \c -qt-kbd-qnx option, see the
+ \l{Qt for Embedded Linux Character Input} documentation for details.
+
+ In order to use this keyboard handler, the \c{devi-hid} input manager
+ must be set up and run with the resource manager interface (option \c{-r}).
+ Also, Photon must not be running.
+
+ Example invocation from command line: \c{/usr/photon/bin/devi-hid -Pr kbd mouse}
+ Note that after running \c{devi-hid}, you will not be able to use the local
+ shell anymore. It is suggested to run the command in a shell scrip, that launches
+ a Qt application after invocation of \c{devi-hid}.
+
+ To make \l{Qt for Embedded Linux} explicitly choose the qnx keyboard
+ handler, set the QWS_KEYBOARD environment variable to \c{qnx}. By default,
+ the first keyboard device (\c{/dev/devi/keyboard0}) is used. To override, pass a device
+ name as the first and only parameter, for example
+ \c{QWS_KEYBOARD=qnx:/dev/devi/keyboard1; export QWS_KEYBOARD}.
+
+ \sa {Qt for Embedded Linux Character Input}, {Qt for Embedded Linux}
+*/
+
+/*!
+ Constructs a keyboard handler for the specified \a device, defaulting to
+ \c{/dev/devi/keyboard0}.
+
+ Note that you should never instanciate this class, instead let QKbdDriverFactory
+ handle the keyboard handlers.
+
+ \sa QKbdDriverFactory
+ */
+QWSQnxKeyboardHandler::QWSQnxKeyboardHandler(const QString &device)
+{
+ // open the keyboard device
+ keyboardFD = QT_OPEN(device.isEmpty() ? "/dev/devi/keyboard0" : device.toLatin1().constData(),
+ QT_OPEN_RDONLY);
+ if (keyboardFD == -1) {
+ qErrnoWarning(errno, "QWSQnxKeyboardHandler: Unable to open device");
+ return;
+ }
+
+ // create a socket notifier so we'll wake up whenever keyboard input is detected.
+ QSocketNotifier *notifier = new QSocketNotifier(keyboardFD, QSocketNotifier::Read, this);
+ connect(notifier, SIGNAL(activated(int)), SLOT(socketActivated()));
+
+ qDebug() << "QWSQnxKeyboardHandler: connected.";
+
+}
+
+/*!
+ Destroys this keyboard handler and closes the connection to the keyboard device.
+ */
+QWSQnxKeyboardHandler::~QWSQnxKeyboardHandler()
+{
+ QT_CLOSE(keyboardFD);
+}
+
+/*! \internal
+ Translates the QNX keyboard events to Qt keyboard events
+ */
+void QWSQnxKeyboardHandler::socketActivated()
+{
+ _keyboard_packet packet;
+
+ // read one keyboard event
+ int bytesRead = QT_READ(keyboardFD, &packet, sizeof(_keyboard_packet));
+ if (bytesRead == -1) {
+ qErrnoWarning(errno, "QWSQnxKeyboardHandler::socketActivated(): Unable to read data.");
+ return;
+ }
+
+ // the bytes read must be the size of a keyboard packet
+ Q_ASSERT(bytesRead == sizeof(_keyboard_packet));
+
+#if 0
+ qDebug() << "keyboard got scancode"
+ << hex << packet.data.modifiers
+ << packet.data.flags
+ << packet.data.key_cap
+ << packet.data.key_sym
+ << packet.data.key_scan;
+#endif
+
+ // QNX is nice enough to translate the raw keyboard data into a QNX data structure
+ // Now we just have to translate it into a format Qt understands.
+
+ // figure out whether it's a press
+ bool isPress = packet.data.key_cap & KEY_DOWN;
+ // figure out wheter the key is still pressed and the key event is repeated
+ bool isRepeat = packet.data.key_cap & KEY_REPEAT;
+
+ Qt::Key key = Qt::Key_unknown;
+ int unicode = 0xffff;
+
+ // TODO - this switch is not complete!
+ switch (packet.data.key_scan) {
+ case KEYCODE_SPACE: key = Qt::Key_Space; unicode = 0x20; break;
+ case KEYCODE_F1: key = Qt::Key_F1; break;
+ case KEYCODE_F2: key = Qt::Key_F2; break;
+ case KEYCODE_F3: key = Qt::Key_F3; break;
+ case KEYCODE_F4: key = Qt::Key_F4; break;
+ case KEYCODE_F5: key = Qt::Key_F5; break;
+ case KEYCODE_F6: key = Qt::Key_F6; break;
+ case KEYCODE_F7: key = Qt::Key_F7; break;
+ case KEYCODE_F8: key = Qt::Key_F8; break;
+ case KEYCODE_F9: key = Qt::Key_F9; break;
+ case KEYCODE_F10: key = Qt::Key_F10; break;
+ case KEYCODE_F11: key = Qt::Key_F11; break;
+ case KEYCODE_F12: key = Qt::Key_F12; break;
+ case KEYCODE_BACKSPACE: key = Qt::Key_Backspace; break;
+ case KEYCODE_TAB: key = Qt::Key_Tab; break;
+ case KEYCODE_RETURN: key = Qt::Key_Return; break;
+ case KEYCODE_KP_ENTER: key = Qt::Key_Enter; break;
+ case KEYCODE_UP:
+ case KEYCODE_KP_UP:
+ key = Qt::Key_Up; break;
+ case KEYCODE_DOWN:
+ case KEYCODE_KP_DOWN:
+ key = Qt::Key_Down; break;
+ case KEYCODE_LEFT:
+ case KEYCODE_KP_LEFT:
+ key = Qt::Key_Left; break;
+ case KEYCODE_RIGHT:
+ case KEYCODE_KP_RIGHT:
+ key = Qt::Key_Right; break;
+ case KEYCODE_HOME:
+ case KEYCODE_KP_HOME:
+ key = Qt::Key_Home; break;
+ case KEYCODE_END:
+ case KEYCODE_KP_END:
+ key = Qt::Key_End; break;
+ case KEYCODE_PG_UP:
+ case KEYCODE_KP_PG_UP:
+ key = Qt::Key_PageUp; break;
+ case KEYCODE_PG_DOWN:
+ case KEYCODE_KP_PG_DOWN:
+ key = Qt::Key_PageDown; break;
+ case KEYCODE_INSERT:
+ case KEYCODE_KP_INSERT:
+ key = Qt::Key_Insert; break;
+ case KEYCODE_DELETE:
+ case KEYCODE_KP_DELETE:
+ key = Qt::Key_Delete; break;
+ case KEYCODE_ESCAPE:
+ key = Qt::Key_Escape; break;
+ default: // none of the above, try the key_scan directly
+ unicode = packet.data.key_scan;
+ break;
+ }
+
+ // figure out the modifiers that are currently pressed
+ Qt::KeyboardModifiers modifiers = Qt::NoModifier;
+ if (packet.data.flags & KEYMOD_SHIFT)
+ modifiers |= Qt::ShiftModifier;
+ if (packet.data.flags & KEYMOD_CTRL)
+ modifiers |= Qt::ControlModifier;
+ if (packet.data.flags & KEYMOD_ALT)
+ modifiers |= Qt::AltModifier;
+
+ // if the unicode value is not ascii, we ignore it.
+ // TODO - do a complete mapping between all QNX scan codes and Qt codes
+ if (unicode != 0xffff && !isascii(unicode))
+ return; // unprintable character
+
+ // call processKeyEvent. This is where all the magic happens to insert a
+ // key event into Qt's event loop.
+ // Note that for repeated key events, isPress must be true
+ // (on QNX, isPress is not set when the key event is repeated).
+ processKeyEvent(unicode, key, modifiers, isPress || isRepeat, isRepeat);
+}
diff --git a/src/gui/embedded/qkbdqnx_qws.h b/src/gui/embedded/qkbdqnx_qws.h
new file mode 100644
index 0000000..fa3ae56
--- /dev/null
+++ b/src/gui/embedded/qkbdqnx_qws.h
@@ -0,0 +1,76 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtGui module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QKBDQNX_QWS_H
+#define QKBDQNX_QWS_H
+
+#include <QtGui/qapplication.h>
+#include <QtGui/qkbd_qws.h>
+
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+QT_MODULE(Gui)
+
+#if !defined(QT_NO_QWS_KEYBOARD) && !defined(QT_NO_QWS_KBD_QNX)
+
+class Q_GUI_EXPORT QWSQnxKeyboardHandler : public QObject, public QWSKeyboardHandler
+{
+ Q_OBJECT
+public:
+ QWSQnxKeyboardHandler(const QString &device);
+ ~QWSQnxKeyboardHandler();
+
+private Q_SLOTS:
+ void socketActivated();
+
+private:
+ int keyboardFD;
+};
+
+#endif // QT_NO_QWS_KEYBOARD
+
+QT_END_NAMESPACE
+
+QT_END_HEADER
+
+#endif // QKBDQNX_QWS_H
diff --git a/src/gui/embedded/qkbdsl5000_qws.cpp b/src/gui/embedded/qkbdsl5000_qws.cpp
deleted file mode 100644
index 36cb903..0000000
--- a/src/gui/embedded/qkbdsl5000_qws.cpp
+++ /dev/null
@@ -1,365 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtGui module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qkbdsl5000_qws.h"
-
-#ifndef QT_NO_QWS_KBD_SL5000
-
-#include "qwindowsystem_qws.h"
-#include "qwsutils_qws.h"
-#include "qscreen_qws.h"
-
-#include "qapplication.h"
-#include "qnamespace.h"
-#include "qtimer.h"
-
-#include <unistd.h>
-#include <sys/ioctl.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-#include <errno.h>
-#include <signal.h>
-
-#include <asm/sharp_char.h>
-
-#include <string.h>
-
-QT_BEGIN_NAMESPACE
-
-static const QWSKeyMap sl5000KeyMap[] = {
- { Qt::Key_unknown, 0xffff , 0xffff , 0xffff }, // 00
- { Qt::Key_A, 'a' , 'A' , 'A'-64 }, // 01
- { Qt::Key_B, 'b' , 'B' , 'B'-64 }, // 02
- { Qt::Key_C, 'c' , 'C' , 'C'-64 }, // 03
- { Qt::Key_D, 'd' , 'D' , 'D'-64 }, // 04
- { Qt::Key_E, 'e' , 'E' , 'E'-64 }, // 05
- { Qt::Key_F, 'f' , 'F' , 'F'-64 }, // 06
- { Qt::Key_G, 'g' , 'G' , 'G'-64 }, // 07
- { Qt::Key_H, 'h' , 'H' , 'H'-64 }, // 08
- { Qt::Key_I, 'i' , 'I' , 'I'-64 }, // 09
- { Qt::Key_J, 'j' , 'J' , 'J'-64 }, // 0a 10
- { Qt::Key_K, 'k' , 'K' , 'K'-64 }, // 0b
- { Qt::Key_L, 'l' , 'L' , 'L'-64 }, // 0c
- { Qt::Key_M, 'm' , 'M' , 'M'-64 }, // 0d
- { Qt::Key_N, 'n' , 'N' , 'N'-64 }, // 0e
- { Qt::Key_O, 'o' , 'O' , 'O'-64 }, // 0f
- { Qt::Key_P, 'p' , 'P' , 'P'-64 }, // 10
- { Qt::Key_Q, 'q' , 'Q' , 'Q'-64 }, // 11
- { Qt::Key_R, 'r' , 'R' , 'R'-64 }, // 12
- { Qt::Key_S, 's' , 'S' , 'S'-64 }, // 13
- { Qt::Key_T, 't' , 'T' , 'T'-64 }, // 14 20
- { Qt::Key_U, 'u' , 'U' , 'U'-64 }, // 15
- { Qt::Key_V, 'v' , 'V' , 'V'-64 }, // 16
- { Qt::Key_W, 'w' , 'W' , 'W'-64 }, // 17
- { Qt::Key_X, 'x' , 'X' , 'X'-64 }, // 18
- { Qt::Key_Y, 'y' , 'Y' , 'Y'-64 }, // 19
- { Qt::Key_Z, 'z' , 'Z' , 'Z'-64 }, // 1a
- { Qt::Key_Shift, 0xffff , 0xffff , 0xffff }, // 1b
- { Qt::Key_Return, 13 , 13 , 0xffff }, // 1c
- { Qt::Key_F11, 0xffff , 0xffff , 0xffff }, // 1d todo
- { Qt::Key_F22, 0xffff , 0xffff , 0xffff }, // 1e 30
- { Qt::Key_Backspace, 8 , 8 , 0xffff }, // 1f
- { Qt::Key_F31, 0xffff , 0xffff , 0xffff }, // 20
- { Qt::Key_F35, 0xffff , 0xffff , 0xffff }, // 21 light
- { Qt::Key_Escape, 0xffff , 0xffff , 0xffff }, // 22
-
- // Direction key code are for *UNROTATED* display.
- { Qt::Key_Up, 0xffff , 0xffff , 0xffff }, // 23
- { Qt::Key_Right, 0xffff , 0xffff , 0xffff }, // 24
- { Qt::Key_Left, 0xffff , 0xffff , 0xffff }, // 25
- { Qt::Key_Down, 0xffff , 0xffff , 0xffff }, // 26
-
- { Qt::Key_F33, 0xffff , 0xffff , 0xffff }, // 27 OK
- { Qt::Key_F12, 0xffff , 0xffff , 0xffff }, // 28 40 home
- { Qt::Key_1, '1' , 'q' , 'Q'-64 }, // 29
- { Qt::Key_2, '2' , 'w' , 'W'-64 }, // 2a
- { Qt::Key_3, '3' , 'e' , 'E'-64 }, // 2b
- { Qt::Key_4, '4' , 'r' , 'R'-64 }, // 2c
- { Qt::Key_5, '5' , 't' , 'T'-64 }, // 2d
- { Qt::Key_6, '6' , 'y' , 'Y'-64 }, // 2e
- { Qt::Key_7, '7' , 'u' , 'U'-64 }, // 2f
- { Qt::Key_8, '8' , 'i' , 'I'-64 }, // 30
- { Qt::Key_9, '9' , 'o' , 'O'-64 }, // 31
- { Qt::Key_0, '0' , 'p' , 'P'-64 }, // 32 50
- { Qt::Key_unknown, 0xffff , 0xffff , 0xffff }, // 33
- { Qt::Key_unknown, 0xffff , 0xffff , 0xffff }, // 34
- { Qt::Key_unknown, 0xffff , 0xffff , 0xffff }, // 35
- { Qt::Key_unknown, 0xffff , 0xffff , 0xffff }, // 36
- { Qt::Key_unknown, 0xffff , 0xffff , 0xffff }, // 37
- { Qt::Key_unknown, 0xffff , 0xffff , 0xffff }, // 38
- { Qt::Key_unknown, 0xffff , 0xffff , 0xffff }, // 39
- { Qt::Key_Minus, '-' , 'b' , 'B'-64 }, // 3a
- { Qt::Key_Plus, '+' , 'n' , 'N'-64 }, // 3b
- { Qt::Key_CapsLock, 0xffff , 0xffff , 0xffff }, // 3c 60
- { Qt::Key_At, '@' , 's' , 'S'-64 }, // 3d
- { Qt::Key_Question, '?' , '?' , 0xffff }, // 3e
- { Qt::Key_Comma, ',' , ',' , 0xffff }, // 3f
- { Qt::Key_Period, '.' , '.' , 0xffff }, // 40
- { Qt::Key_Tab, 9 , '\\' , 0xffff }, // 41
- { Qt::Key_X, 0xffff , 'x' , 'X'-64 }, // 42
- { Qt::Key_C, 0xffff , 'c' , 'C'-64 }, // 43
- { Qt::Key_V, 0xffff , 'v' , 'V'-64 }, // 44
- { Qt::Key_Slash, '/' , '/' , 0xffff }, // 45
- { Qt::Key_Apostrophe, '\'' , '\'' , 0xffff }, // 46 70
- { Qt::Key_Semicolon, ';' , ';' , 0xffff }, // 47
- { Qt::Key_QuoteDbl, '\"' , '\"' , 0xffff }, // 48
- { Qt::Key_Colon, ':' , ':' , 0xffff }, // 49
- { Qt::Key_NumberSign, '#' , 'd' , 'D'-64 }, // 4a
- { Qt::Key_Dollar, '$' , 'f' , 'F'-64 }, // 4b
- { Qt::Key_Percent, '%' , 'g' , 'G'-64 }, // 4c
- { Qt::Key_Underscore, '_' , 'h' , 'H'-64 }, // 4d
- { Qt::Key_Ampersand, '&' , 'j' , 'J'-64 }, // 4e
- { Qt::Key_Asterisk, '*' , 'k' , 'K'-64 }, // 4f
- { Qt::Key_ParenLeft, '(' , 'l' , 'L'-64 }, // 50 80
- { Qt::Key_Delete, '[' , '[' , '[' }, // 51
- { Qt::Key_Z, 0xffff , 'z' , 'Z'-64 }, // 52
- { Qt::Key_Equal, '=' , 'm' , 'M'-64 }, // 53
- { Qt::Key_ParenRight, ')' , ']' , ']' }, // 54
- { Qt::Key_AsciiTilde, '~' , '^' , '^' }, // 55
- { Qt::Key_Less, '<' , '{' , '{' }, // 56
- { Qt::Key_Greater, '>' , '}' , '}' }, // 57
- { Qt::Key_F9, 0xffff , 0xffff , 0xffff }, // 58 datebook
- { Qt::Key_F10, 0xffff , 0xffff , 0xffff }, // 59 address
- { Qt::Key_F13, 0xffff , 0xffff , 0xffff }, // 5a 90 email
- { Qt::Key_F30, ' ' , ' ' , 0xffff }, // 5b select
- { Qt::Key_Space, ' ' , '|' , '`' }, // 5c
- { Qt::Key_unknown, 0xffff , 0xffff , 0xffff }, // 5d
- { Qt::Key_Exclam, '!' , 'a' , 'A'-64 }, // 5e
- { Qt::Key_unknown, 0xffff , 0xffff , 0xffff }, // 5f
- { Qt::Key_unknown, 0xffff , 0xffff , 0xffff }, // 60
- { Qt::Key_unknown, 0xffff , 0xffff , 0xffff }, // 61
- { Qt::Key_unknown, 0xffff , 0xffff , 0xffff }, // 62
- { Qt::Key_unknown, 0xffff , 0xffff , 0xffff }, // 63
- { Qt::Key_unknown, 0xffff , 0xffff , 0xffff }, // 64
- { Qt::Key_unknown, 0xffff , 0xffff , 0xffff }, // 65
- { Qt::Key_unknown, 0xffff , 0xffff , 0xffff }, // 66
- { Qt::Key_Meta, 0xffff , 0xffff , 0xffff }, // 67
- { Qt::Key_unknown, 0xffff , 0xffff , 0xffff }, // 68
- { Qt::Key_unknown, 0xffff , 0xffff , 0xffff }, // 69
- { Qt::Key_unknown, 0xffff , 0xffff , 0xffff }, // 6a
- { Qt::Key_unknown, 0xffff , 0xffff , 0xffff }, // 6b
- { Qt::Key_unknown, 0xffff , 0xffff , 0xffff }, // 6c
- { Qt::Key_F34, 0xffff , 0xffff , 0xffff }, // 6d power
- { Qt::Key_F13, 0xffff , 0xffff , 0xffff }, // 6e mail long
- { Qt::Key_unknown, 0xffff , 0xffff , 0xffff }, // 6f
- { Qt::Key_NumLock, 0xffff , 0xffff , 0xffff }, // 70
- { Qt::Key_unknown, 0xffff , 0xffff , 0xffff }, // 71
- { Qt::Key_unknown, 0xffff , 0xffff , 0xffff }, // 72
- { 0x20ac, 0xffff , 0x20ac , 0x20ac }, // 73 Euro sign
- { Qt::Key_unknown, 0xffff , 0xffff , 0xffff }, // 74
- { Qt::Key_F32, 0xffff , 0xffff , 0xffff }, // 75 Sync
- { 0, 0xffff , 0xffff , 0xffff }
-};
-
-static const int keyMSize = sizeof(sl5000KeyMap)/sizeof(QWSKeyMap)-1;
-
-QWSSL5000KeyboardHandler::QWSSL5000KeyboardHandler(const QString &device)
- : QWSTtyKeyboardHandler(device)
-{
- shift = false;
- alt = false;
- ctrl = false;
- extended = 0;
- prevuni = 0;
- prevkey = 0;
- caps = false;
- meta = false;
- fn = false;
- numLock = false;
-
- sharp_kbdctl_modifstat st;
- int dev = ::open(device.isEmpty()?"/dev/sharp_kbdctl":device.toLocal8Bit().constData(), O_RDWR);
- if (dev >= 0) {
- memset(&st, 0, sizeof(st));
- st.which = 3;
- int ret = ioctl(dev, SHARP_KBDCTL_GETMODIFSTAT, (char*)&st);
- if(!ret)
- numLock = (bool)st.stat;
- ::close(dev);
- }
-}
-
-QWSSL5000KeyboardHandler::~QWSSL5000KeyboardHandler()
-{
-}
-
-const QWSKeyMap *QWSSL5000KeyboardHandler::keyMap() const
-{
- return sl5000KeyMap;
-}
-
-bool QWSSL5000KeyboardHandler::filterKeycode(char &code)
-{
- int keyCode = Qt::Key_unknown;
- bool release = false;
-
- if (code & 0x80) {
- release = true;
- code &= 0x7f;
- }
-
- if (fn && !meta && (code >= 0x42 && code <= 0x52)) {
- ushort unicode=0;
- int scan=0;
- if (code == 0x42) { unicode='X'-'@'; scan=Qt::Key_X; } // Cut
- else if (code == 0x43) { unicode='C'-'@'; scan=Qt::Key_C; } // Copy
- else if (code == 0x44) { unicode='V'-'@'; scan=Qt::Key_V; } // Paste
- else if (code == 0x52) { unicode='Z'-'@'; scan=Qt::Key_Z; } // Undo
- if (scan) {
- processKeyEvent(unicode, scan, Qt::ControlModifier, !release, false);
- return true;
- }
- }
-
- if (code < keyMSize) {
- keyCode = keyMap()[int(code)].key_code;
- }
-
- bool repeatable = true;
-
- if (release && (keyCode == Qt::Key_F34 || keyCode == Qt::Key_F35))
- return true; // no release for power and light keys
- if ((keyCode >= Qt::Key_F1 && keyCode <= Qt::Key_F35)
- || keyCode == Qt::Key_Escape || keyCode == Qt::Key_Home
- || keyCode == Qt::Key_Shift || keyCode == Qt::Key_Meta)
- repeatable = false;
-
- if (qt_screen->isTransformed()
- && keyCode >= Qt::Key_Left && keyCode <= Qt::Key_Down)
- {
- keyCode = transformDirKey(keyCode);
- }
-
- // Ctrl-Alt-Delete exits qws
- if (ctrl && alt && keyCode == Qt::Key_Delete) {
- qApp->quit();
- }
-
- if (keyCode == Qt::Key_F22) { /* Fn key */
- fn = !release;
- } else if (keyCode == Qt::Key_NumLock) {
- if (release)
- numLock = !numLock;
- } else if (keyCode == Qt::AltModifier) {
- alt = !release;
- } else if (keyCode == Qt::ControlModifier) {
- ctrl = !release;
- } else if (keyCode == Qt::ShiftModifier) {
- shift = !release;
- } else if (keyCode == Qt::MetaModifier) {
- meta = !release;
- } else if (keyCode == Qt::Key_CapsLock && release) {
- caps = !caps;
- }
- if (keyCode != Qt::Key_unknown) {
- bool bAlt = alt;
- bool bCtrl = ctrl;
- bool bShift = shift;
- int unicode = 0;
- if (code < keyMSize) {
- bool bCaps = caps ^ shift;
- if (fn) {
- if (shift) {
- bCaps = bShift = false;
- bCtrl = true;
- }
- if (meta) {
- bCaps = bShift = true;
- bAlt = true;
- }
- } else if (meta) {
- bCaps = bShift = true;
- }
- if (code > 40 && caps) {
- // fn-keys should only react to shift, not caps
- bCaps = bShift = shift;
- }
- if (numLock) {
- if (keyCode != Qt::Key_Space && keyCode != Qt::Key_Tab)
- bCaps = bShift = false;
- }
- if (keyCode == Qt::Key_Delete && (bAlt || bCtrl)) {
- keyCode = Qt::Key_BraceLeft;
- unicode = '[';
- bCaps = bShift = bAlt = bCtrl = false;
- } else if (keyCode == Qt::Key_F31 && bCtrl) {
- keyCode = Qt::Key_QuoteLeft;
- unicode = '`';
- } else if (bCtrl)
- unicode = keyMap()[int(code)].ctrl_unicode ? keyMap()[int(code)].ctrl_unicode : 0xffff;
- else if (bCaps)
- unicode = keyMap()[int(code)].shift_unicode ? keyMap()[int(code)].shift_unicode : 0xffff;
- else
- unicode = keyMap()[int(code)].unicode ? keyMap()[int(code)].unicode : 0xffff;
- }
-
- modifiers = 0;
- if (bAlt) modifiers |= Qt::AltModifier;
- if (bCtrl) modifiers |= Qt::ControlModifier;
- if (bShift) modifiers |= Qt::ShiftModifier;
-
- // looks wrong -- WWA
- bool repeat = false;
- if (prevuni == unicode && prevkey == keyCode && !release)
- repeat = true;
-
- processKeyEvent(unicode, keyCode, modifiers, !release, repeat);
-
- if (!release) {
- prevuni = unicode;
- prevkey = keyCode;
- } else {
- prevkey = prevuni = 0;
- }
- }
-
- if (repeatable && !release)
- beginAutoRepeat(prevuni, prevkey, modifiers);
- else
- endAutoRepeat();
-
- return true;
-}
-
-QT_END_NAMESPACE
-
-#endif // QT_NO_QWS_KBD_SL5000
diff --git a/src/gui/embedded/qkbdsl5000_qws.h b/src/gui/embedded/qkbdsl5000_qws.h
deleted file mode 100644
index 42afbe1..0000000
--- a/src/gui/embedded/qkbdsl5000_qws.h
+++ /dev/null
@@ -1,92 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtGui module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QKBDSL5000_QWS_H
-#define QKBDSL5000_QWS_H
-
-#include <QtGui/qkbdtty_qws.h>
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-QT_MODULE(Gui)
-
-#ifndef QT_NO_QWS_KBD_SL5000
-
-struct QWSKeyMap {
- uint key_code;
- ushort unicode;
- ushort shift_unicode;
- ushort ctrl_unicode;
-};
-
-
-class QWSSL5000KeyboardHandler : public QWSTtyKeyboardHandler
-{
-public:
- explicit QWSSL5000KeyboardHandler(const QString&);
- virtual ~QWSSL5000KeyboardHandler();
-
- bool filterKeycode(char &keycode);
- virtual const QWSKeyMap *keyMap() const;
-
-private:
- bool shift;
- bool alt;
- bool ctrl;
- bool caps;
- uint extended:2;
- Qt::KeyboardModifiers modifiers;
- int prevuni;
- int prevkey;
- bool meta;
- bool fn;
- bool numLock;
-};
-
-#endif // QT_NO_QWS_KBD_SL5000
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-#endif // QKBDSL5000_QWS_H
diff --git a/src/gui/embedded/qkbdtty_qws.cpp b/src/gui/embedded/qkbdtty_qws.cpp
index 33777eb..f107567 100644
--- a/src/gui/embedded/qkbdtty_qws.cpp
+++ b/src/gui/embedded/qkbdtty_qws.cpp
@@ -47,6 +47,7 @@
#include <QStringList>
#include <qplatformdefs.h>
+#include <private/qcore_unix_p.h> // overrides QT_OPEN
#include <errno.h>
#include <termios.h>
@@ -89,7 +90,7 @@ private:
struct termios m_tty_attr;
char m_last_keycode;
int m_vt_qws;
- int m_originalKbdMode;
+ int m_orig_kbmode;
};
@@ -110,7 +111,7 @@ bool QWSTtyKeyboardHandler::filterKeycode(char &)
}
QWSTtyKbPrivate::QWSTtyKbPrivate(QWSTtyKeyboardHandler *h, const QString &device)
- : m_handler(h), m_tty_fd(-1), m_last_keycode(0), m_vt_qws(0)
+ : m_handler(h), m_tty_fd(-1), m_last_keycode(0), m_vt_qws(0), m_orig_kbmode(K_XLATE)
{
setObjectName(QLatin1String("TTY Keyboard Handler"));
#ifndef QT_NO_QWS_SIGNALHANDLER
@@ -151,15 +152,15 @@ QWSTtyKbPrivate::QWSTtyKbPrivate(QWSTtyKeyboardHandler *h, const QString &device
tcgetattr(m_tty_fd, &termdata);
#if defined(Q_OS_LINUX)
- // record the original mode so we can restore it again in the constructor
- ::ioctl(m_tty_fd, KDGKBMODE, m_originalKbdMode);
+ // record the original mode so we can restore it again in the destructor.
+ ::ioctl(m_tty_fd, KDGKBMODE, &m_orig_kbmode);
// PLEASE NOTE:
- // The tty keycode interface can only report keycodes 0x01 .. 0x7f
+ // the tty keycode interface can only report keycodes 0x01 .. 0x7f
// KEY_MAX is however defined to 0x1ff. In practice this is sufficient
// for a PC style keyboard though.
- // we don't support K_RAW anymore - if you need, you habe to add a
- // scan- to keycode converter.
+ // we don't support K_RAW anymore - if you need that, you have to add
+ // a scan- to keycode converter yourself.
::ioctl(m_tty_fd, KDSKBMODE, K_MEDIUMRAW);
#endif
@@ -210,9 +211,10 @@ QWSTtyKbPrivate::~QWSTtyKbPrivate()
{
if (m_tty_fd >= 0) {
#if defined(Q_OS_LINUX)
- ::ioctl(m_tty_fd, KDSKBMODE, m_originalKbdMode);
+ ::ioctl(m_tty_fd, KDSKBMODE, m_orig_kbmode);
#endif
tcsetattr(m_tty_fd, TCSANOW, &m_tty_attr);
+ QT_CLOSE(m_tty_fd);
}
}
diff --git a/src/gui/embedded/qkbdvfb_qws.cpp b/src/gui/embedded/qkbdvfb_qws.cpp
index 082aac1..a44183b 100644
--- a/src/gui/embedded/qkbdvfb_qws.cpp
+++ b/src/gui/embedded/qkbdvfb_qws.cpp
@@ -55,6 +55,7 @@
#include <qwindowsystem_qws.h>
#include <qsocketnotifier.h>
#include <qapplication.h>
+#include <private/qcore_unix_p.h> // overrides QT_OPEN
QT_BEGIN_NAMESPACE
@@ -69,13 +70,13 @@ QVFbKeyboardHandler::QVFbKeyboardHandler(const QString &device)
kbdBufferLen = sizeof(QVFbKeyData) * 5;
kbdBuffer = new unsigned char [kbdBufferLen];
- if ((kbdFD = open(terminalName.toLatin1().constData(), O_RDONLY | O_NDELAY)) < 0) {
+ if ((kbdFD = QT_OPEN(terminalName.toLatin1().constData(), O_RDONLY | O_NDELAY)) < 0) {
qWarning("Cannot open %s (%s)", terminalName.toLatin1().constData(),
strerror(errno));
} else {
// Clear pending input
char buf[2];
- while (read(kbdFD, buf, 1) > 0) { }
+ while (QT_READ(kbdFD, buf, 1) > 0) { }
notifier = new QSocketNotifier(kbdFD, QSocketNotifier::Read, this);
connect(notifier, SIGNAL(activated(int)),this, SLOT(readKeyboardData()));
@@ -85,7 +86,7 @@ QVFbKeyboardHandler::QVFbKeyboardHandler(const QString &device)
QVFbKeyboardHandler::~QVFbKeyboardHandler()
{
if (kbdFD >= 0)
- close(kbdFD);
+ QT_CLOSE(kbdFD);
delete [] kbdBuffer;
}
@@ -94,7 +95,7 @@ void QVFbKeyboardHandler::readKeyboardData()
{
int n;
do {
- n = read(kbdFD, kbdBuffer+kbdIdx, kbdBufferLen - kbdIdx);
+ n = QT_READ(kbdFD, kbdBuffer+kbdIdx, kbdBufferLen - kbdIdx);
if (n > 0)
kbdIdx += n;
} while (n > 0);
diff --git a/src/gui/embedded/qkbdvr41xx_qws.cpp b/src/gui/embedded/qkbdvr41xx_qws.cpp
deleted file mode 100644
index 03c2a67..0000000
--- a/src/gui/embedded/qkbdvr41xx_qws.cpp
+++ /dev/null
@@ -1,185 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtGui module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qkbdvr41xx_qws.h"
-
-#if !defined(QT_NO_QWS_KEYBOARD) && !defined(QT_NO_QWS_KBD_VR41XX)
-
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <sys/ioctl.h>
-#include <fcntl.h>
-#include <termios.h>
-#include <unistd.h>
-#include <errno.h>
-
-#include <qsocketnotifier.h>
-
-QT_BEGIN_NAMESPACE
-
-class QWSVr41xxKbPrivate : public QObject
-{
- Q_OBJECT
-public:
- QWSVr41xxKbPrivate(QWSVr41xxKeyboardHandler *h, const QString&);
- virtual ~QWSVr41xxKbPrivate();
-
- bool isOpen() { return buttonFD > 0; }
-
-private slots:
- void readKeyboardData();
-
-private:
- QString terminalName;
- int buttonFD;
- int kbdIdx;
- int kbdBufferLen;
- unsigned char *kbdBuffer;
- QSocketNotifier *notifier;
- QWSVr41xxKeyboardHandler *handler;
-};
-
-QWSVr41xxKeyboardHandler::QWSVr41xxKeyboardHandler(const QString &device)
-{
- d = new QWSVr41xxKbPrivate(this, device);
-}
-
-QWSVr41xxKeyboardHandler::~QWSVr41xxKeyboardHandler()
-{
- delete d;
-}
-
-QWSVr41xxKbPrivate::QWSVr41xxKbPrivate(QWSVr41xxKeyboardHandler *h, const QString &device) : handler(h)
-{
- terminalName = device;
- if (terminalName.isEmpty())
- terminalName = QLatin1String("/dev/buttons");
- buttonFD = -1;
- notifier = 0;
-
- buttonFD = open(terminalName.toLatin1().constData(), O_RDWR | O_NDELAY, 0);;
- if (buttonFD < 0) {
- qWarning("Cannot open %s\n", qPrintable(terminalName));
- return;
- }
-
- if (buttonFD >= 0) {
- notifier = new QSocketNotifier(buttonFD, QSocketNotifier::Read, this);
- connect(notifier, SIGNAL(activated(int)),this,
- SLOT(readKeyboardData()));
- }
-
- kbdBufferLen = 80;
- kbdBuffer = new unsigned char [kbdBufferLen];
- kbdIdx = 0;
-}
-
-QWSVr41xxKbPrivate::~QWSVr41xxKbPrivate()
-{
- if (buttonFD > 0) {
- ::close(buttonFD);
- buttonFD = -1;
- }
- delete notifier;
- notifier = 0;
- delete [] kbdBuffer;
-}
-
-void QWSVr41xxKbPrivate::readKeyboardData()
-{
- int n = 0;
- do {
- n = read(buttonFD, kbdBuffer+kbdIdx, kbdBufferLen - kbdIdx);
- if (n > 0)
- kbdIdx += n;
- } while (n > 0);
-
- int idx = 0;
- while (kbdIdx - idx >= 2) {
- unsigned char *next = kbdBuffer + idx;
- unsigned short *code = (unsigned short *)next;
- int keycode = Qt::Key_unknown;
- switch ((*code) & 0x0fff) {
- case 0x7:
- keycode = Qt::Key_Up;
- break;
- case 0x9:
- keycode = Qt::Key_Right;
- break;
- case 0x8:
- keycode = Qt::Key_Down;
- break;
- case 0xa:
- keycode = Qt::Key_Left;
- break;
- case 0x3:
- keycode = Qt::Key_Up;
- break;
- case 0x4:
- keycode = Qt::Key_Down;
- break;
- case 0x1:
- keycode = Qt::Key_Return;
- break;
- case 0x2:
- keycode = Qt::Key_F4;
- break;
- default:
- qDebug("Unrecognised key sequence %d", *code);
- }
- if ((*code) & 0x8000)
- handler->processKeyEvent(0, keycode, 0, false, false);
- else
- handler->processKeyEvent(0, keycode, 0, true, false);
- idx += 2;
- }
-
- int surplus = kbdIdx - idx;
- for (int i = 0; i < surplus; i++)
- kbdBuffer[i] = kbdBuffer[idx+i];
- kbdIdx = surplus;
-}
-
-QT_END_NAMESPACE
-
-#include "qkbdvr41xx_qws.moc"
-
-#endif // QT_NO_QWS_KBD_VR41XX
diff --git a/src/gui/embedded/qkbdvr41xx_qws.h b/src/gui/embedded/qkbdvr41xx_qws.h
deleted file mode 100644
index 1a657b9..0000000
--- a/src/gui/embedded/qkbdvr41xx_qws.h
+++ /dev/null
@@ -1,73 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtGui module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QKBDVR41XX_QWS_H
-#define QKBDVR41XX_QWS_H
-
-#include <QtGui/qkbd_qws.h>
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-QT_MODULE(Gui)
-
-#if !defined(QT_NO_QWS_KEYBOARD) && !defined(QT_NO_QWS_KBD_VR41XX)
-
-class QWSVr41xxKbPrivate;
-
-class QWSVr41xxKeyboardHandler : public QWSKeyboardHandler
-{
-public:
- explicit QWSVr41xxKeyboardHandler(const QString&);
- virtual ~QWSVr41xxKeyboardHandler();
-
-private:
- QWSVr41xxKbPrivate *d;
-};
-
-#endif // QT_NO_QWS_KBD_VR41XX
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-#endif // QKBDVR41XX_QWS_H
diff --git a/src/gui/embedded/qkbdyopy_qws.cpp b/src/gui/embedded/qkbdyopy_qws.cpp
deleted file mode 100644
index 5c9d28d..0000000
--- a/src/gui/embedded/qkbdyopy_qws.cpp
+++ /dev/null
@@ -1,209 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtGui module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-/*
- * YOPY buttons driver
- * Contributed by Ron Victorelli (victorrj at icubed.com)
- */
-
-#include "qkbdyopy_qws.h"
-
-#ifndef QT_NO_QWS_KBD_YOPY
-
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <sys/ioctl.h>
-#include <fcntl.h>
-#include <termios.h>
-#include <unistd.h>
-#include <errno.h>
-
-#include <linux/kd.h>
-#include <linux/fb.h>
-#include <linux/yopy_button.h>
-
-extern "C" {
- int getpgid(int);
-}
-
-#include <qwidget.h>
-#include <qsocketnotifier.h>
-
-QT_BEGIN_NAMESPACE
-
-class QWSYopyKbPrivate : public QObject
-{
- Q_OBJECT
-public:
- QWSYopyKbPrivate(QWSYopyKeyboardHandler *h, const QString&);
- virtual ~QWSYopyKbPrivate();
-
- bool isOpen() { return buttonFD > 0; }
-
-private slots:
- void readKeyboardData();
-
-private:
- QString terminalName;
- int buttonFD;
- struct termios newT, oldT;
- QSocketNotifier *notifier;
- QWSYopyKeyboardHandler *handler;
-};
-
-QWSYopyKeyboardHandler::QWSYopyKeyboardHandler(const QString &device)
-{
- d = new QWSYopyKbPrivate(this, device);
-}
-
-QWSYopyKeyboardHandler::~QWSYopyKeyboardHandler()
-{
- delete d;
-}
-
-QWSYopyKbPrivate::QWSYopyKbPrivate(QWSYopyKeyboardHandler *h, const QString &device) : handler(h)
-{
- terminalName = device.isEmpty()?"/dev/tty1":device.toLatin1().constData();
- buttonFD = -1;
- notifier = 0;
-
- buttonFD = ::open(terminalName.toLatin1().constData(), O_RDWR | O_NDELAY, 0);
- if (buttonFD < 0) {
- qWarning("Cannot open %s\n", qPrintable(terminalName));
- return;
- } else {
-
- tcsetpgrp(buttonFD, getpgid(0));
-
- /* put tty into "straight through" mode.
- */
- if (tcgetattr(buttonFD, &oldT) < 0) {
- qFatal("Linux-kbd: tcgetattr failed");
- }
-
- newT = oldT;
- newT.c_lflag &= ~(ICANON | ECHO | ISIG);
- newT.c_iflag &= ~(ISTRIP | IGNCR | ICRNL | INLCR | IXOFF | IXON);
- newT.c_iflag |= IGNBRK;
- newT.c_cc[VMIN] = 0;
- newT.c_cc[VTIME] = 0;
-
-
- if (tcsetattr(buttonFD, TCSANOW, &newT) < 0) {
- qFatal("Linux-kbd: TCSANOW tcsetattr failed");
- }
-
- if (ioctl(buttonFD, KDSKBMODE, K_MEDIUMRAW) < 0) {
- qFatal("Linux-kbd: KDSKBMODE tcsetattr failed");
- }
-
- notifier = new QSocketNotifier(buttonFD, QSocketNotifier::Read, this);
- connect(notifier, SIGNAL(activated(int)),this,
- SLOT(readKeyboardData()));
- }
-}
-
-QWSYopyKbPrivate::~QWSYopyKbPrivate()
-{
- if (buttonFD > 0) {
- ::close(buttonFD);
- buttonFD = -1;
- }
-}
-
-void QWSYopyKbPrivate::readKeyboardData()
-{
- uchar buf[1];
- char c='1';
- int fd;
-
- int n=read(buttonFD,buf,1);
- if (n<0) {
- qDebug("Keyboard read error %s",strerror(errno));
- } else {
- uint code = buf[0]&YPBUTTON_CODE_MASK;
- bool press = !(buf[0]&0x80);
- // printf("Key=%d/%d/%d\n",buf[1],code,press);
- int k=(-1);
- switch(code) {
- case 39: k=Qt::Key_Up; break;
- case 44: k=Qt::Key_Down; break;
- case 41: k=Qt::Key_Left; break;
- case 42: k=Qt::Key_Right; break;
- case 56: k=Qt::Key_F1; break; //windows
- case 29: k=Qt::Key_F2; break; //cycle
- case 24: k=Qt::Key_F3; break; //record
- case 23: k=Qt::Key_F4; break; //mp3
- case 4: k=Qt::Key_F5; break; // PIMS
- case 1: k=Qt::Key_Escape; break; // Escape
- case 40: k=Qt::Key_Up; break; // prev
- case 45: k=Qt::Key_Down; break; // next
- case 35: if(!press) {
- fd = open("/proc/sys/pm/sleep",O_RDWR,0);
- if(fd >= 0) {
- write(fd,&c,sizeof(c));
- close(fd);
- //
- // Updates all widgets.
- //
- QWidgetList list = QApplication::allWidgets();
- for (int i = 0; i < list.size(); ++i) {
- QWidget *w = list.at(i);
- w->update();
- }
- }
- }
- break;
-
- default: k=(-1); break;
- }
-
- if (k >= 0) {
- handler->processKeyEvent(0, k, 0, press, false);
- }
- }
-}
-
-QT_END_NAMESPACE
-
-#include "qkbdyopy_qws.moc"
-
-#endif // QT_NO_QWS_KBD_YOPY
diff --git a/src/gui/embedded/qkbdyopy_qws.h b/src/gui/embedded/qkbdyopy_qws.h
deleted file mode 100644
index b4e45bd..0000000
--- a/src/gui/embedded/qkbdyopy_qws.h
+++ /dev/null
@@ -1,73 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtGui module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QKBDYOPY_QWS_H
-#define QKBDYOPY_QWS_H
-
-#include <QtGui/qkbd_qws.h>
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-QT_MODULE(Gui)
-
-#ifndef QT_NO_QWS_KBD_YOPY
-
-class QWSYopyKbPrivate;
-
-class QWSYopyKeyboardHandler : public QWSKeyboardHandler
-{
-public:
- explicit QWSYopyKeyboardHandler(const QString&);
- virtual ~QWSYopyKeyboardHandler();
-
-private:
- QWSYopyKbPrivate *d;
-};
-
-#endif // QT_NO_QWS_KBD_YOPY
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-#endif // QKBDYOPY_QWS_H
diff --git a/src/gui/embedded/qlock.cpp b/src/gui/embedded/qlock.cpp
index c23608f..9592a4d 100644
--- a/src/gui/embedded/qlock.cpp
+++ b/src/gui/embedded/qlock.cpp
@@ -41,9 +41,46 @@
#include "qlock_p.h"
-#ifndef QT_NO_QWS_MULTIPROCESS
+QT_BEGIN_NAMESPACE
+
+#ifdef QT_NO_QWS_MULTIPROCESS
+
+/* no multiprocess - use a dummy */
+
+QLock::QLock(const QString & /*filename*/, char /*id*/, bool /*create*/)
+ : type(Read), data(0)
+{
+}
+
+QLock::~QLock()
+{
+}
+
+bool QLock::isValid() const
+{
+ return true;
+}
+
+void QLock::lock(Type t)
+{
+ data = (QLockData *)-1;
+ type = t;
+}
+
+void QLock::unlock()
+{
+ data = 0;
+}
+
+bool QLock::locked() const
+{
+ return data;
+}
+
+#else // QT_NO_QWS_MULTIPROCESS
#include "qwssignalhandler_p.h"
+
#include <unistd.h>
#include <sys/types.h>
#if defined(Q_OS_DARWIN)
@@ -71,14 +108,10 @@ union semun {
#include <qdebug.h>
#include <signal.h>
-#endif // QT_NO_QWS_MULTIPROCESS
+#include <private/qcore_unix_p.h> // overrides QT_OPEN
#define MAX_LOCKS 200 // maximum simultaneous read locks
-QT_BEGIN_NAMESPACE
-
-
-#ifndef QT_NO_QWS_MULTIPROCESS
class QLockData
{
public:
@@ -89,7 +122,6 @@ public:
int count;
bool owned;
};
-#endif // QT_NO_QWS_MULTIPROCESS
/*!
\class QLock
@@ -124,17 +156,12 @@ public:
QLock::QLock(const QString &filename, char id, bool create)
{
-#ifdef QT_NO_QWS_MULTIPROCESS
- Q_UNUSED(filename);
- Q_UNUSED(id);
- Q_UNUSED(create);
-#else
data = new QLockData;
data->count = 0;
#ifdef Q_NO_SEMAPHORE
data->file = QString(filename+id).toLocal8Bit().constData();
for(int x = 0; x < 2; x++) {
- data->id = open(data->file, O_RDWR | (x ? O_CREAT : 0), S_IRWXU);
+ data->id = QT_OPEN(data->file, O_RDWR | (x ? O_CREAT : 0), S_IRWXU);
if(data->id != -1 || !create) {
data->owned = x;
break;
@@ -161,7 +188,6 @@ QLock::QLock(const QString &filename, char id, bool create)
qPrintable(filename), id);
qDebug() << "Error" << eno << strerror(eno);
}
-#endif
}
/*!
@@ -172,12 +198,11 @@ QLock::QLock(const QString &filename, char id, bool create)
QLock::~QLock()
{
-#ifndef QT_NO_QWS_MULTIPROCESS
if (locked())
unlock();
#ifdef Q_NO_SEMAPHORE
if(isValid()) {
- close(data->id);
+ QT_CLOSE(data->id);
if(data->owned)
unlink(data->file);
}
@@ -186,7 +211,6 @@ QLock::~QLock()
QWSSignalHandler::instance()->removeSemaphore(data->id);
#endif
delete data;
-#endif
}
/*!
@@ -198,11 +222,7 @@ QLock::~QLock()
bool QLock::isValid() const
{
-#ifndef QT_NO_QWS_MULTIPROCESS
return (data->id != -1);
-#else
- return true;
-#endif
}
/*!
@@ -219,9 +239,6 @@ bool QLock::isValid() const
void QLock::lock(Type t)
{
-#ifdef QT_NO_QWS_MULTIPROCESS
- Q_UNUSED(t);
-#else
if (!data->count) {
#ifdef Q_NO_SEMAPHORE
int op = LOCK_SH;
@@ -254,7 +271,6 @@ void QLock::lock(Type t)
#endif
}
data->count++;
-#endif
}
/*!
@@ -267,7 +283,6 @@ void QLock::lock(Type t)
void QLock::unlock()
{
-#ifndef QT_NO_QWS_MULTIPROCESS
if(data->count) {
data->count--;
if(!data->count) {
@@ -296,7 +311,6 @@ void QLock::unlock()
} else {
qDebug("Unlock without corresponding lock");
}
-#endif
}
/*!
@@ -308,11 +322,9 @@ void QLock::unlock()
bool QLock::locked() const
{
-#ifndef QT_NO_QWS_MULTIPROCESS
return (data->count > 0);
-#else
- return false;
-#endif
}
+#endif // QT_NO_QWS_MULTIPROCESS
+
QT_END_NAMESPACE
diff --git a/src/gui/embedded/qmousebus_qws.cpp b/src/gui/embedded/qmousebus_qws.cpp
deleted file mode 100644
index a88ca5b..0000000
--- a/src/gui/embedded/qmousebus_qws.cpp
+++ /dev/null
@@ -1,238 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtGui module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qmousebus_qws.h"
-
-#ifndef QT_NO_QWS_MOUSE_BUS
-
-#include "qwindowsystem_qws.h"
-#include "qsocketnotifier.h"
-
-#include "qapplication.h"
-
-#include <unistd.h>
-#include <stdlib.h>
-#include <stdio.h>
-#include <sys/ioctl.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-#include <errno.h>
-#include <termios.h>
-
-QT_BEGIN_NAMESPACE
-
-/*
- * bus mouse driver (a.k.a. Logitech busmouse)
- */
-
-class QWSBusMouseHandlerPrivate : public QObject
-{
- Q_OBJECT
-public:
- QWSBusMouseHandlerPrivate(QWSBusMouseHandler *h, const QString &driver, const QString &device);
- ~QWSBusMouseHandlerPrivate();
-
- void suspend();
- void resume();
-
-private slots:
- void readMouseData();
-
-protected:
- enum { mouseBufSize = 128 };
- QWSBusMouseHandler *handler;
- QSocketNotifier *mouseNotifier;
- int mouseFD;
- int mouseIdx;
- int obstate;
- uchar mouseBuf[mouseBufSize];
-};
-
-QWSBusMouseHandler::QWSBusMouseHandler(const QString &driver, const QString &device)
- : QWSMouseHandler(driver, device)
-{
- d = new QWSBusMouseHandlerPrivate(this, driver, device);
-}
-
-QWSBusMouseHandler::~QWSBusMouseHandler()
-{
- delete d;
-}
-
-void QWSBusMouseHandler::suspend()
-{
- d->suspend();
-}
-
-void QWSBusMouseHandler::resume()
-{
- d->resume();
-}
-
-
-QWSBusMouseHandlerPrivate::QWSBusMouseHandlerPrivate(QWSBusMouseHandler *h,
- const QString &, const QString &device)
- : handler(h)
-
-{
- QString mouseDev = device;
- if (mouseDev.isEmpty())
- mouseDev = QLatin1String("/dev/mouse");
- obstate = -1;
- mouseFD = -1;
- mouseFD = open(mouseDev.toLocal8Bit(), O_RDWR | O_NDELAY);
- if (mouseFD < 0)
- mouseFD = open(mouseDev.toLocal8Bit(), O_RDONLY | O_NDELAY);
- if (mouseFD < 0)
- qDebug("Cannot open %s (%s)", qPrintable(mouseDev), strerror(errno));
-
- // Clear pending input
- tcflush(mouseFD,TCIFLUSH);
- usleep(50000);
-
- char buf[100]; // busmouse driver will not read if bufsize < 3, YYD
- while (read(mouseFD, buf, 100) > 0) { } // eat unwanted replies
-
- mouseIdx = 0;
-
- mouseNotifier = new QSocketNotifier(mouseFD, QSocketNotifier::Read, this);
- connect(mouseNotifier, SIGNAL(activated(int)),this, SLOT(readMouseData()));
-}
-
-QWSBusMouseHandlerPrivate::~QWSBusMouseHandlerPrivate()
-{
- if (mouseFD >= 0) {
- tcflush(mouseFD,TCIFLUSH); // yyd.
- close(mouseFD);
- }
-}
-
-
-void QWSBusMouseHandlerPrivate::suspend()
-{
- mouseNotifier->setEnabled(false);
-}
-
-
-void QWSBusMouseHandlerPrivate::resume()
-{
- mouseIdx = 0;
- obstate = -1;
- mouseNotifier->setEnabled(true);
-}
-
-void QWSBusMouseHandlerPrivate::readMouseData()
-{
- int n;
- // It'll only read 3 bytes a time and return all other buffer zeroed, thus cause protocol errors
- for (;;) {
- if (mouseBufSize - mouseIdx < 3)
- break;
- n = read(mouseFD, mouseBuf+mouseIdx, 3);
- if (n != 3)
- break;
- mouseIdx += 3;
- }
-
- static const int accel_limit = 5;
- static const int accel = 2;
-
- int idx = 0;
- int bstate = 0;
- int dx = 0, dy = 0;
- bool sendEvent = false;
- int tdx = 0, tdy = 0;
-
- while (mouseIdx-idx >= 3) {
-#if 0 // debug
- qDebug("Got mouse data");
-#endif
- uchar *mb = mouseBuf+idx;
- bstate = 0;
- dx = 0;
- dy = 0;
- sendEvent = false;
- if (((mb[0] & 0x04)))
- bstate |= Qt::LeftButton;
- if (((mb[0] & 0x01)))
- bstate |= Qt::RightButton;
-
- dx=(signed char)mb[1];
- dy=(signed char)mb[2];
- sendEvent=true;
-
- if (sendEvent) {
- if (qAbs(dx) > accel_limit || qAbs(dy) > accel_limit) {
- dx *= accel;
- dy *= accel;
- }
- tdx += dx;
- tdy += dy;
- if (bstate != obstate) {
- QPoint pos = handler->pos() + QPoint(tdx,-tdy);
- handler->limitToScreen(pos);
- handler->mouseChanged(pos,bstate);
- sendEvent = false;
- tdx = 0;
- tdy = 0;
- obstate = bstate;
- }
- }
- idx += 3;
- }
- if (sendEvent) {
- QPoint pos = handler->pos() + QPoint(tdx,-tdy);
- handler->limitToScreen(pos);
- handler->mouseChanged(pos,bstate);
- }
-
- int surplus = mouseIdx - idx;
- for (int i = 0; i < surplus; i++)
- mouseBuf[i] = mouseBuf[idx+i];
- mouseIdx = surplus;
-}
-
-QT_END_NAMESPACE
-
-#include "qmousebus_qws.moc"
-
-#endif // QT_NO_QWS_MOUSE_BUS
diff --git a/src/gui/embedded/qmousebus_qws.h b/src/gui/embedded/qmousebus_qws.h
deleted file mode 100644
index 407da98..0000000
--- a/src/gui/embedded/qmousebus_qws.h
+++ /dev/null
@@ -1,76 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtGui module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QMOUSEBUS_QWS_H
-#define QMOUSEBUS_QWS_H
-
-#include <QtGui/qmouse_qws.h>
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-QT_MODULE(Gui)
-
-#ifndef QT_NO_QWS_MOUSE_BUS
-
-class QWSBusMouseHandlerPrivate;
-
-class QWSBusMouseHandler : public QWSMouseHandler
-{
-public:
- explicit QWSBusMouseHandler(const QString & = QString(),
- const QString & = QString());
- ~QWSBusMouseHandler();
-
- void suspend();
- void resume();
-protected:
- QWSBusMouseHandlerPrivate *d;
-};
-
-#endif // QT_NO_QWS_MOUSE_BUS
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-#endif // QMOUSEBUS_QWS_H
diff --git a/src/gui/embedded/qmousedriverfactory_qws.cpp b/src/gui/embedded/qmousedriverfactory_qws.cpp
index 7e51818..6d71750 100644
--- a/src/gui/embedded/qmousedriverfactory_qws.cpp
+++ b/src/gui/embedded/qmousedriverfactory_qws.cpp
@@ -43,12 +43,11 @@
#include "qapplication.h"
#include "qmousepc_qws.h"
-#include "qmousebus_qws.h"
-#include "qmousevr41xx_qws.h"
-#include "qmouseyopy_qws.h"
#include "qmouselinuxtp_qws.h"
+#include "qmouselinuxinput_qws.h"
#include "qmousevfb_qws.h"
#include "qmousetslib_qws.h"
+#include "qmouseqnx_qws.h"
#include <stdlib.h>
#include "private/qfactoryloader_p.h"
#include "qmousedriverplugin_qws.h"
@@ -104,18 +103,14 @@ Q_GLOBAL_STATIC_WITH_ARGS(QFactoryLoader, loader,
QWSMouseHandler *QMouseDriverFactory::create(const QString& key, const QString &device)
{
QString driver = key.toLower();
+#if defined(Q_OS_QNX) && !defined(QT_NO_QWS_MOUSE_QNX)
+ if (driver == QLatin1String("qnx") || driver.isEmpty())
+ return new QQnxMouseHandler(key, device);
+#endif
#ifndef QT_NO_QWS_MOUSE_LINUXTP
if (driver == QLatin1String("linuxtp") || driver.isEmpty())
return new QWSLinuxTPMouseHandler(key, device);
#endif
-#ifndef QT_NO_QWS_MOUSE_YOPY
- if (driver == QLatin1String("yopy") || driver.isEmpty())
- return new QWSYopyMouseHandler(key, device);
-#endif
-#ifndef QT_NO_QWS_MOUSE_VR41XX
- if (driver == QLatin1String("vr41xx") || driver.isEmpty())
- return new QWSVr41xxMouseHandler(key, device);
-#endif
#ifndef QT_NO_QWS_MOUSE_PC
if (driver == QLatin1String("auto")
|| driver == QLatin1String("intellimouse")
@@ -126,14 +121,16 @@ QWSMouseHandler *QMouseDriverFactory::create(const QString& key, const QString &
return new QWSPcMouseHandler(key, device);
}
#endif
-#ifndef QT_NO_QWS_MOUSE_BUS
- if (driver == QLatin1String("bus"))
- return new QWSBusMouseHandler(key, device);
-#endif
#ifndef QT_NO_QWS_MOUSE_TSLIB
if (driver == QLatin1String("tslib") || driver.isEmpty())
return new QWSTslibMouseHandler(key, device);
#endif
+# ifndef QT_NO_QWS_MOUSE_LINUXINPUT
+ if (driver == QLatin1String("linuxinput") || \
+ driver == QLatin1String("usb") || \
+ driver == QLatin1String("linuxis"))
+ return new QWSLinuxInputMouseHandler(device);
+# endif
#ifndef QT_NO_QWS_MOUSE_QVFB
if (driver == QLatin1String("qvfbmouse") || driver == QLatin1String("qvfb"))
return new QVFbMouseHandler(key, device);
@@ -157,15 +154,12 @@ QStringList QMouseDriverFactory::keys()
{
QStringList list;
+#if defined(Q_OS_QNX) && !defined(QT_NO_QWS_MOUSE_QNX)
+ list << QLatin1String("QNX");
+#endif
#ifndef QT_NO_QWS_MOUSE_LINUXTP
list << QLatin1String("LinuxTP");
#endif
-#ifndef QT_NO_QWS_MOUSE_YOPY
- list << QLatin1String("Yopy");
-#endif
-#ifndef QT_NO_QWS_MOUSE_VR41XX
- list << QLatin1String("VR41xx");
-#endif
#ifndef QT_NO_QWS_MOUSE_PC
list << QLatin1String("Auto")
<< QLatin1String("IntelliMouse")
@@ -173,12 +167,12 @@ QStringList QMouseDriverFactory::keys()
<< QLatin1String("MouseSystems")
<< QLatin1String("MouseMan");
#endif
-#ifndef QT_NO_QWS_MOUSE_BUS
- list << QLatin1String("Bus");
-#endif
#ifndef QT_NO_QWS_MOUSE_TSLIB
list << QLatin1String("Tslib");
#endif
+#ifndef QT_NO_QWS_MOUSE_LINUXINPUT
+ list << QLatin1String("LinuxInput");
+#endif
#if !defined(Q_OS_WIN32) || defined(QT_MAKEDLL)
#ifndef QT_NO_LIBRARY
diff --git a/src/gui/embedded/qmouselinuxinput_qws.cpp b/src/gui/embedded/qmouselinuxinput_qws.cpp
new file mode 100644
index 0000000..6ea8807
--- /dev/null
+++ b/src/gui/embedded/qmouselinuxinput_qws.cpp
@@ -0,0 +1,205 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the plugins of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "qmouselinuxinput_qws.h"
+
+#include <QScreen>
+#include <QSocketNotifier>
+
+#include <qplatformdefs.h>
+#include <private/qcore_unix_p.h> // overrides QT_OPEN
+
+#include <errno.h>
+
+#include <linux/input.h>
+
+QT_BEGIN_NAMESPACE
+
+
+class QWSLinuxInputMousePrivate : public QObject
+{
+ Q_OBJECT
+public:
+ QWSLinuxInputMousePrivate(QWSLinuxInputMouseHandler *, const QString &);
+ ~QWSLinuxInputMousePrivate();
+
+ void enable(bool on);
+
+private Q_SLOTS:
+ void readMouseData();
+
+private:
+ QWSLinuxInputMouseHandler *m_handler;
+ QSocketNotifier * m_notify;
+ int m_fd;
+ int m_x, m_y;
+ int m_buttons;
+};
+
+QWSLinuxInputMouseHandler::QWSLinuxInputMouseHandler(const QString &device)
+ : QWSCalibratedMouseHandler(device)
+{
+ d = new QWSLinuxInputMousePrivate(this, device);
+}
+
+QWSLinuxInputMouseHandler::~QWSLinuxInputMouseHandler()
+{
+ delete d;
+}
+
+void QWSLinuxInputMouseHandler::suspend()
+{
+ d->enable(false);
+}
+
+void QWSLinuxInputMouseHandler::resume()
+{
+ d->enable(true);
+}
+
+QWSLinuxInputMousePrivate::QWSLinuxInputMousePrivate(QWSLinuxInputMouseHandler *h, const QString &device)
+ : m_handler(h), m_notify(0), m_x(0), m_y(0), m_buttons(0)
+{
+ setObjectName(QLatin1String("LinuxInputSubsystem Mouse Handler"));
+
+ QString dev = QLatin1String("/dev/input/event0");
+ if (device.startsWith(QLatin1String("/dev/")))
+ dev = device;
+
+ m_fd = QT_OPEN(dev.toLocal8Bit().constData(), O_RDONLY | O_NDELAY, 0);
+ if (m_fd >= 0) {
+ m_notify = new QSocketNotifier(m_fd, QSocketNotifier::Read, this);
+ connect(m_notify, SIGNAL(activated(int)), this, SLOT(readMouseData()));
+ } else {
+ qWarning("Cannot open mouse input device '%s': %s", qPrintable(dev), strerror(errno));
+ return;
+ }
+}
+
+QWSLinuxInputMousePrivate::~QWSLinuxInputMousePrivate()
+{
+ if (m_fd >= 0)
+ QT_CLOSE(m_fd);
+}
+
+void QWSLinuxInputMousePrivate::enable(bool on)
+{
+ if (m_notify)
+ m_notify->setEnabled(on);
+}
+
+void QWSLinuxInputMousePrivate::readMouseData()
+{
+ if (!qt_screen)
+ return;
+
+ struct ::input_event buffer[32];
+ int n = 0;
+
+ forever {
+ n = QT_READ(m_fd, reinterpret_cast<char *>(buffer) + n, sizeof(buffer) - n);
+
+ if (n == 0) {
+ qWarning("Got EOF from the input device.");
+ return;
+ } else if (n < 0 && (errno != EINTR && errno != EAGAIN)) {
+ qWarning("Could not read from input device: %s", strerror(errno));
+ return;
+ } else if (n % sizeof(buffer[0]) == 0) {
+ break;
+ }
+ }
+
+ n /= sizeof(buffer[0]);
+
+ for (int i = 0; i < n; ++i) {
+ struct ::input_event *data = &buffer[i];
+
+ bool unknown = false;
+ if (data->type == EV_ABS) {
+ if (data->code == ABS_X) {
+ m_x = data->value;
+ } else if (data->code == ABS_Y) {
+ m_y = data->value;
+ } else {
+ unknown = true;
+ }
+ } else if (data->type == EV_REL) {
+ if (data->code == REL_X) {
+ m_x += data->value;
+ } else if (data->code == REL_Y) {
+ m_y += data->value;
+ } else {
+ unknown = true;
+ }
+ } else if (data->type == EV_KEY && data->code == BTN_TOUCH) {
+ m_buttons = data->value ? Qt::LeftButton : 0;
+ } else if (data->type == EV_KEY) {
+ int button = 0;
+ switch (data->code) {
+ case BTN_LEFT: button = Qt::LeftButton; break;
+ case BTN_MIDDLE: button = Qt::MidButton; break;
+ case BTN_RIGHT: button = Qt::RightButton; break;
+ }
+ if (data->value)
+ m_buttons |= button;
+ else
+ m_buttons &= ~button;
+ } else if (data->type == EV_SYN && data->code == SYN_REPORT) {
+ QPoint pos(m_x, m_y);
+ pos = m_handler->transform(pos);
+ m_handler->limitToScreen(pos);
+ m_handler->mouseChanged(pos, m_buttons);
+ } else if (data->type == EV_MSC && data->code == MSC_SCAN) {
+ // kernel encountered an unmapped key - just ignore it
+ continue;
+ } else {
+ unknown = true;
+ }
+ if (unknown) {
+ qWarning("unknown mouse event type=%x, code=%x, value=%x", data->type, data->code, data->value);
+ }
+ }
+}
+
+QT_END_NAMESPACE
+
+#include "qmouselinuxinput_qws.moc"
diff --git a/src/gui/embedded/qmouselinuxinput_qws.h b/src/gui/embedded/qmouselinuxinput_qws.h
new file mode 100644
index 0000000..25e351f
--- /dev/null
+++ b/src/gui/embedded/qmouselinuxinput_qws.h
@@ -0,0 +1,78 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the plugins of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QMOUSELINUXINPUT_QWS_H
+#define QMOUSELINUXINPUT_QWS_H
+
+#include <QtGui/QWSCalibratedMouseHandler>
+
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+QT_MODULE(Gui)
+
+#ifndef QT_NO_QWS_MOUSE_LINUXINPUT
+
+class QWSLinuxInputMousePrivate;
+
+class QWSLinuxInputMouseHandler : public QWSCalibratedMouseHandler
+{
+public:
+ QWSLinuxInputMouseHandler(const QString &);
+ ~QWSLinuxInputMouseHandler();
+
+ void suspend();
+ void resume();
+
+private:
+ QWSLinuxInputMousePrivate *d;
+
+ friend class QWSLinuxInputMousePrivate;
+};
+
+#endif // QT_NO_QWS_MOUSE_LINUXINPUT
+
+QT_END_NAMESPACE
+
+QT_END_HEADER
+
+#endif // QMOUSELINUXINPUT_QWS_H
diff --git a/src/gui/embedded/qmouselinuxtp_qws.cpp b/src/gui/embedded/qmouselinuxtp_qws.cpp
index 1b4d96e..e64407e 100644
--- a/src/gui/embedded/qmouselinuxtp_qws.cpp
+++ b/src/gui/embedded/qmouselinuxtp_qws.cpp
@@ -47,6 +47,7 @@
#include "qtimer.h"
#include "qapplication.h"
#include "qscreen_qws.h"
+#include <private/qcore_unix_p.h> // overrides QT_OPEN
#include <unistd.h>
#include <stdlib.h>
@@ -190,7 +191,7 @@ QWSLinuxTPMouseHandlerPrivate::QWSLinuxTPMouseHandlerPrivate(QWSLinuxTPMouseHand
} else {
mousedev = device;
}
- if ((mouseFD = open(mousedev.toLatin1().constData(), O_RDONLY | O_NDELAY)) < 0) {
+ if ((mouseFD = QT_OPEN(mousedev.toLatin1().constData(), O_RDONLY | O_NDELAY)) < 0) {
qWarning("Cannot open %s (%s)", qPrintable(mousedev), strerror(errno));
return;
}
@@ -205,7 +206,7 @@ QWSLinuxTPMouseHandlerPrivate::QWSLinuxTPMouseHandlerPrivate(QWSLinuxTPMouseHand
QWSLinuxTPMouseHandlerPrivate::~QWSLinuxTPMouseHandlerPrivate()
{
if (mouseFD >= 0)
- close(mouseFD);
+ QT_CLOSE(mouseFD);
}
void QWSLinuxTPMouseHandlerPrivate::suspend()
@@ -233,7 +234,7 @@ void QWSLinuxTPMouseHandlerPrivate::readMouseData()
int n;
do {
- n = read(mouseFD, mouseBuf+mouseIdx, mouseBufSize-mouseIdx);
+ n = QT_READ(mouseFD, mouseBuf+mouseIdx, mouseBufSize-mouseIdx);
if (n > 0)
mouseIdx += n;
} while (n > 0 && mouseIdx < mouseBufSize);
diff --git a/src/gui/embedded/qmousepc_qws.cpp b/src/gui/embedded/qmousepc_qws.cpp
index a9f2bc8..2d62772 100644
--- a/src/gui/embedded/qmousepc_qws.cpp
+++ b/src/gui/embedded/qmousepc_qws.cpp
@@ -55,6 +55,7 @@
#include "qfile.h"
#include "qtextstream.h"
#include "qstringlist.h"
+#include <private/qcore_unix_p.h> // overrides QT_OPEN
#include <unistd.h>
#include <stdlib.h>
@@ -107,7 +108,7 @@ public:
{
if (fd != f) {
f = fd;
- close(fd);
+ QT_CLOSE(fd);
}
}
@@ -170,7 +171,7 @@ public:
}
static const uchar initseq[] = { 243, 200, 243, 100, 243, 80 };
static const uchar query[] = { 0xf2 };
- if (write(fd, initseq, sizeof(initseq))!=sizeof(initseq)) {
+ if (QT_WRITE(fd, initseq, sizeof(initseq))!=sizeof(initseq)) {
badness = 100;
return;
}
@@ -180,12 +181,12 @@ public:
perror("QWSPcMouseSubHandler_intellimouse: post-init tcflush");
#endif
}
- if (write(fd, query, sizeof(query))!=sizeof(query)) {
+ if (QT_WRITE(fd, query, sizeof(query))!=sizeof(query)) {
badness = 100;
return;
}
usleep(10000);
- n = read(fd, reply, 20);
+ n = QT_READ(fd, reply, 20);
if (n > 0) {
goodness = 10;
switch (reply[n-1]) {
@@ -256,13 +257,13 @@ public:
perror("QWSPcMouseSubHandler_mouseman: initial tcflush");
#endif
}
- write(fd,"",1);
+ QT_WRITE(fd,"",1);
usleep(50000);
- write(fd,"@EeI!",5);
+ QT_WRITE(fd,"@EeI!",5);
usleep(10000);
static const char ibuf[] = { 246, 244 };
- write(fd,ibuf,1);
- write(fd,ibuf+1,1);
+ QT_WRITE(fd,ibuf,1);
+ QT_WRITE(fd,ibuf+1,1);
if (tcflush(fd,TCIOFLUSH) == -1) {
#ifdef QWS_MOUSE_DEBUG
perror("QWSPcMouseSubHandler_mouseman: tcflush");
@@ -271,7 +272,7 @@ public:
usleep(10000);
char buf[100];
- while (read(fd, buf, 100) > 0) { } // eat unwanted replies
+ while (QT_READ(fd, buf, 100) > 0) { } // eat unwanted replies
}
int tryData()
@@ -331,7 +332,7 @@ protected:
tty.c_oflag = 0;
tty.c_lflag = 0;
tty.c_cflag = f | CREAD | CLOCAL | HUPCL;
-#if !defined(Q_OS_DARWIN) && !defined(Q_OS_SOLARIS) && !defined(Q_OS_INTEGRITY)
+#ifdef Q_OS_LINUX
tty.c_line = 0;
#endif
tty.c_cc[VTIME] = 0;
@@ -350,7 +351,7 @@ private:
for (int n = 0; n < 4; n++) {
setflags(CSTOPB | speed[n]);
- write(fd, "*q", 2);
+ QT_WRITE(fd, "*q", 2);
usleep(10000);
}
}
@@ -369,7 +370,7 @@ public:
{
setflags(B1200|CS8|CSTOPB);
// 60Hz
- if (write(fd, "R", 1)!=1) {
+ if (QT_WRITE(fd, "R", 1)!=1) {
badness = 100;
return;
}
@@ -418,7 +419,7 @@ public:
{
setflags(B1200|CS7);
// 60Hz
- if (write(fd, "R", 1)!=1) {
+ if (QT_WRITE(fd, "R", 1)!=1) {
badness = 100;
return;
}
@@ -648,25 +649,25 @@ void QWSPcMouseHandlerPrivate::openDevices()
if (drv == QLatin1String("intellimouse")) {
if (dev.isEmpty())
dev = "/dev/psaux";
- fd = open(dev, O_RDWR | O_NDELAY);
+ fd = QT_OPEN(dev, O_RDWR | O_NDELAY);
if (fd >= 0)
sub[nsub++] = new QWSPcMouseSubHandler_intellimouse(fd);
} else if (drv == QLatin1String("microsoft")) {
if (dev.isEmpty())
dev = "/dev/ttyS0";
- fd = open(dev, O_RDWR | O_NDELAY);
+ fd = QT_OPEN(dev, O_RDWR | O_NDELAY);
if (fd >= 0)
sub[nsub++] = new QWSPcMouseSubHandler_ms(fd);
} else if (drv == QLatin1String("mousesystems")) {
if (dev.isEmpty())
dev = "/dev/ttyS0";
- fd = open(dev, O_RDWR | O_NDELAY);
+ fd = QT_OPEN(dev, O_RDWR | O_NDELAY);
if (fd >= 0)
sub[nsub++] = new QWSPcMouseSubHandler_mousesystems(fd);
} else if (drv == QLatin1String("mouseman")) {
if (dev.isEmpty())
dev = "/dev/psaux";
- fd = open(dev, O_RDWR | O_NDELAY);
+ fd = QT_OPEN(dev, O_RDWR | O_NDELAY);
if (fd >= 0)
sub[nsub++] = new QWSPcMouseSubHandler_mouseman(fd);
}
@@ -677,12 +678,12 @@ void QWSPcMouseHandlerPrivate::openDevices()
dev.constData(), strerror(errno));
} else {
// Try automatically
- fd = open("/dev/psaux", O_RDWR | O_NDELAY);
+ fd = QT_OPEN("/dev/psaux", O_RDWR | O_NDELAY);
if (fd >= 0) {
sub[nsub++] = new QWSPcMouseSubHandler_intellimouse(fd);
notify(fd);
}
- fd = open("/dev/input/mice", O_RDWR | O_NDELAY);
+ fd = QT_OPEN("/dev/input/mice", O_RDWR | O_NDELAY);
if (fd >= 0) {
sub[nsub++] = new QWSPcMouseSubHandler_intellimouse(fd);
notify(fd);
@@ -694,7 +695,7 @@ void QWSPcMouseHandlerPrivate::openDevices()
#if 0
const char fn[4][11] = { "/dev/ttyS0", "/dev/ttyS1", "/dev/ttyS2", "/dev/ttyS3" };
for (int ch = 0; ch < 4; ++ch) {
- fd = open(fn[ch], O_RDWR | O_NDELAY);
+ fd = QT_OPEN(fn[ch], O_RDWR | O_NDELAY);
if (fd >= 0) {
//sub[nsub++] = new QWSPcMouseSubHandler_intellimouse(fd);
sub[nsub++] = new QWSPcMouseSubHandler_mousesystems(fd);
diff --git a/src/gui/embedded/qmouseqnx_qws.cpp b/src/gui/embedded/qmouseqnx_qws.cpp
new file mode 100644
index 0000000..59cd5be
--- /dev/null
+++ b/src/gui/embedded/qmouseqnx_qws.cpp
@@ -0,0 +1,190 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtGui module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "qplatformdefs.h"
+#include "qmouseqnx_qws.h"
+
+#include "qsocketnotifier.h"
+#include "qdebug.h"
+
+#include <sys/dcmd_input.h>
+
+#include <errno.h>
+
+QT_BEGIN_NAMESPACE
+
+/*!
+ \class QQnxMouseHandler
+ \preliminary
+ \ingroup qws
+ \internal
+ \since 4.6
+
+ \brief The QQnxMouseHandler class implements a mouse driver
+ for the QNX \c{devi-hid} input manager.
+
+ To be able to compile this mouse handler, \l{Qt for Embedded Linux}
+ must be configured with the \c -qt-mouse-qnx option, see the
+ \l{Qt for Embedded Linux Pointer Handling}{Pointer Handling} documentation for details.
+
+ In order to use this mouse handler, the \c{devi-hid} input manager
+ must be set up and run with the resource manager interface (option \c{-r}).
+ Also, Photon must not be running.
+
+ Example invocation from command line: \c{/usr/photon/bin/devi-hid -Pr kbd mouse}
+ Note that after running \c{devi-hid}, you will not be able to use the local
+ shell anymore. It is suggested to run the command in a shell scrip, that launches
+ a Qt application after invocation of \c{devi-hid}.
+
+ To make \l{Qt for Embedded Linux} explicitly choose the qnx mouse
+ handler, set the QWS_MOUSE_PROTO environment variable to \c{qnx}. By default,
+ the first mouse device (\c{/dev/devi/mouse0}) is used. To override, pass a device
+ name as the first and only parameter, for example
+ \c{QWS_MOUSE_PROTO=qnx:/dev/devi/mouse1; export QWS_MOUSE_PROTO}.
+
+ \sa {Qt for Embedded Linux Pointer Handling}{Pointer Handling}, {Qt for Embedded Linux}
+*/
+
+/*!
+ Constructs a mouse handler for the specified \a device, defaulting to \c{/dev/devi/mouse0}.
+ The \a driver parameter must be \c{"qnx"}.
+
+ Note that you should never instanciate this class, instead let QMouseDriverFactory
+ handle the mouse handlers.
+
+ \sa QMouseDriverFactory
+ */
+QQnxMouseHandler::QQnxMouseHandler(const QString & /*driver*/, const QString &device)
+{
+ // open the mouse device with O_NONBLOCK so reading won't block when there's no data
+ mouseFD = QT_OPEN(device.isEmpty() ? "/dev/devi/mouse0" : device.toLatin1().constData(),
+ QT_OPEN_RDONLY | O_NONBLOCK);
+ if (mouseFD == -1) {
+ qErrnoWarning(errno, "QQnxMouseHandler: Unable to open mouse device");
+ return;
+ }
+
+ // register a socket notifier on the file descriptor so we'll wake up whenever
+ // there's a mouse move waiting for us.
+ mouseNotifier = new QSocketNotifier(mouseFD, QSocketNotifier::Read, this);
+ connect(mouseNotifier, SIGNAL(activated(int)), SLOT(socketActivated()));
+
+ qDebug() << "QQnxMouseHandler: connected.";
+}
+
+/*!
+ Destroys this mouse handler and closes the connection to the mouse device.
+ */
+QQnxMouseHandler::~QQnxMouseHandler()
+{
+ QT_CLOSE(mouseFD);
+}
+
+/*! \reimp */
+void QQnxMouseHandler::resume()
+{
+ if (mouseNotifier)
+ mouseNotifier->setEnabled(true);
+}
+
+/*! \reimp */
+void QQnxMouseHandler::suspend()
+{
+ if (mouseNotifier)
+ mouseNotifier->setEnabled(false);
+}
+
+/*! \internal
+
+ This function is called whenever there is activity on the mouse device.
+ By default, it reads up to 10 mouse move packets and calls mouseChanged()
+ for each of them.
+*/
+void QQnxMouseHandler::socketActivated()
+{
+ // _mouse_packet is a QNX structure. devi-hid is nice enough to translate
+ // the raw byte data from mouse devices into generic format for us.
+ _mouse_packet packet;
+
+ int iteration = 0;
+
+ // read mouse events in batches of 10. Since we're getting quite a lot
+ // of mouse events, it's better to do them in batches than to return to the
+ // event loop every time.
+ do {
+ int bytesRead = QT_READ(mouseFD, &packet, sizeof(packet));
+ if (bytesRead == -1) {
+ // EAGAIN means that there are no more mouse events to read
+ if (errno != EAGAIN)
+ qErrnoWarning(errno, "QQnxMouseHandler: Unable to read from socket");
+ return;
+ }
+
+ // bytes read should always be equal to the size of a packet.
+ Q_ASSERT(bytesRead == sizeof(packet));
+
+ // translate the coordinates from the QNX data structure to Qt coordinates
+ // note the swapped y axis
+ QPoint pos = mousePos;
+ pos += QPoint(packet.dx, -packet.dy);
+
+ // QNX only tells us relative mouse movements, not absolute ones, so limit the
+ // cursor position manually to the screen
+ limitToScreen(pos);
+
+ // translate the QNX mouse button bitmask to Qt buttons
+ int buttons = Qt::NoButton;
+
+ if (packet.hdr.buttons & _POINTER_BUTTON_LEFT)
+ buttons |= Qt::LeftButton;
+ if (packet.hdr.buttons & _POINTER_BUTTON_MIDDLE)
+ buttons |= Qt::MidButton;
+ if (packet.hdr.buttons & _POINTER_BUTTON_RIGHT)
+ buttons |= Qt::RightButton;
+
+ // call mouseChanged() - this does all the magic to actually move the on-screen
+ // mouse cursor.
+ mouseChanged(pos, buttons, 0);
+ } while (++iteration < 11);
+}
+
+QT_END_NAMESPACE
+
diff --git a/src/gui/embedded/qmouseqnx_qws.h b/src/gui/embedded/qmouseqnx_qws.h
new file mode 100644
index 0000000..f8cad4a
--- /dev/null
+++ b/src/gui/embedded/qmouseqnx_qws.h
@@ -0,0 +1,79 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtGui module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QMOUSE_QNX_H
+#define QMOUSE_QNX_H
+
+#include <QtCore/qobject.h>
+#include <QtGui/qmouse_qws.h>
+
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+QT_MODULE(Gui)
+
+class QSocketNotifier;
+
+class Q_GUI_EXPORT QQnxMouseHandler : public QObject, public QWSMouseHandler
+{
+ Q_OBJECT
+public:
+ explicit QQnxMouseHandler(const QString &driver = QString(),
+ const QString &device = QString());
+ ~QQnxMouseHandler();
+
+ void resume();
+ void suspend();
+
+private Q_SLOTS:
+ void socketActivated();
+
+private:
+ QSocketNotifier *mouseNotifier;
+ int mouseFD;
+};
+
+QT_END_NAMESPACE
+
+QT_END_HEADER
+
+#endif // QMOUSE_QWS_H
diff --git a/src/gui/embedded/qmousevfb_qws.cpp b/src/gui/embedded/qmousevfb_qws.cpp
index 17d051f..dd553bc 100644
--- a/src/gui/embedded/qmousevfb_qws.cpp
+++ b/src/gui/embedded/qmousevfb_qws.cpp
@@ -54,6 +54,7 @@
#include <qsocketnotifier.h>
#include <qapplication.h>
#include <qtimer.h>
+#include <private/qcore_unix_p.h> // overrides QT_OPEN
QT_BEGIN_NAMESPACE
@@ -64,7 +65,7 @@ QVFbMouseHandler::QVFbMouseHandler(const QString &driver, const QString &device)
if (device.isEmpty())
mouseDev = QLatin1String("/dev/vmouse");
- mouseFD = open(mouseDev.toLatin1().constData(), O_RDWR | O_NDELAY);
+ mouseFD = QT_OPEN(mouseDev.toLatin1().constData(), O_RDWR | O_NDELAY);
if (mouseFD == -1) {
perror("QVFbMouseHandler::QVFbMouseHandler");
qWarning("QVFbMouseHander: Unable to open device %s",
@@ -74,7 +75,7 @@ QVFbMouseHandler::QVFbMouseHandler(const QString &driver, const QString &device)
// Clear pending input
char buf[2];
- while (read(mouseFD, buf, 1) > 0) { }
+ while (QT_READ(mouseFD, buf, 1) > 0) { }
mouseIdx = 0;
@@ -85,7 +86,7 @@ QVFbMouseHandler::QVFbMouseHandler(const QString &driver, const QString &device)
QVFbMouseHandler::~QVFbMouseHandler()
{
if (mouseFD >= 0)
- close(mouseFD);
+ QT_CLOSE(mouseFD);
}
void QVFbMouseHandler::resume()
@@ -102,7 +103,7 @@ void QVFbMouseHandler::readMouseData()
{
int n;
do {
- n = read(mouseFD, mouseBuf+mouseIdx, mouseBufSize-mouseIdx);
+ n = QT_READ(mouseFD, mouseBuf+mouseIdx, mouseBufSize-mouseIdx);
if (n > 0)
mouseIdx += n;
} while (n > 0);
diff --git a/src/gui/embedded/qmousevr41xx_qws.cpp b/src/gui/embedded/qmousevr41xx_qws.cpp
deleted file mode 100644
index 8748055..0000000
--- a/src/gui/embedded/qmousevr41xx_qws.cpp
+++ /dev/null
@@ -1,250 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtGui module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qmousevr41xx_qws.h"
-
-#ifndef QT_NO_QWS_MOUSE_VR41XX
-#include "qwindowsystem_qws.h"
-#include "qsocketnotifier.h"
-#include "qtimer.h"
-#include "qapplication.h"
-#include "qscreen_qws.h"
-#include <qstringlist.h>
-#include <qvarlengtharray.h>
-
-#include <unistd.h>
-#include <stdlib.h>
-#include <stdio.h>
-#include <sys/ioctl.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-#include <errno.h>
-#include <termios.h>
-
-QT_BEGIN_NAMESPACE
-
-static const int defaultFilterSize = 3;
-
-class QWSVr41xxMouseHandlerPrivate : public QObject
-{
- Q_OBJECT
-public:
- QWSVr41xxMouseHandlerPrivate(QWSVr41xxMouseHandler *, const QString &, const QString &);
- ~QWSVr41xxMouseHandlerPrivate();
-
- void resume();
- void suspend();
-
-private slots:
- void sendRelease();
- void readMouseData();
-
-private:
- bool getSample();
- ushort currSample[6];
- uint currLength;
-
- int mouseFD;
- int mouseIdx;
- QTimer *rtimer;
- QSocketNotifier *mouseNotifier;
- QWSVr41xxMouseHandler *handler;
- QPoint lastPos;
- bool isPressed;
- int filterSize;
- int pressLimit;
-};
-
-QWSVr41xxMouseHandler::QWSVr41xxMouseHandler(const QString &drv, const QString &dev)
- : QWSCalibratedMouseHandler(drv, dev)
-{
- d = new QWSVr41xxMouseHandlerPrivate(this, drv, dev);
-}
-
-QWSVr41xxMouseHandler::~QWSVr41xxMouseHandler()
-{
- delete d;
-}
-
-void QWSVr41xxMouseHandler::resume()
-{
- d->resume();
-}
-
-void QWSVr41xxMouseHandler::suspend()
-{
- d->suspend();
-}
-
-QWSVr41xxMouseHandlerPrivate::QWSVr41xxMouseHandlerPrivate(QWSVr41xxMouseHandler *h, const QString &, const QString &device)
- : currLength(0), handler(h)
-{
- QStringList options = device.split(QLatin1String(":"));
- int index = -1;
-
- filterSize = defaultFilterSize;
- QRegExp filterRegExp(QLatin1String("filter=(\\d+)"));
- index = options.indexOf(filterRegExp);
- if (index != -1) {
- filterSize = qMax(1, filterRegExp.cap(1).toInt());
- options.removeAt(index);
- }
- handler->setFilterSize(filterSize);
-
- pressLimit = 750;
- QRegExp pressRegExp(QLatin1String("press=(\\d+)"));
- index = options.indexOf(pressRegExp);
- if (index != -1) {
- pressLimit = filterRegExp.cap(1).toInt();
- options.removeAt(index);
- }
-
- QString dev;
- if (options.isEmpty())
- dev = QLatin1String("/dev/vrtpanel");
- else
- dev = options.first();
-
- if ((mouseFD = open(dev.toLocal8Bit().constData(), O_RDONLY)) < 0) {
- qWarning("Cannot open %s (%s)", qPrintable(dev), strerror(errno));
- return;
- }
- sleep(1);
-
- if (fcntl(mouseFD, F_SETFL, O_NONBLOCK) < 0) {
- qWarning("Error initializing touch panel.");
- return;
- }
-
- mouseNotifier = new QSocketNotifier(mouseFD, QSocketNotifier::Read, this);
- connect(mouseNotifier, SIGNAL(activated(int)),this, SLOT(readMouseData()));
-
- rtimer = new QTimer(this);
- rtimer->setSingleShot(true);
- connect(rtimer, SIGNAL(timeout()), this, SLOT(sendRelease()));
- mouseIdx = 0;
-}
-
-QWSVr41xxMouseHandlerPrivate::~QWSVr41xxMouseHandlerPrivate()
-{
- if (mouseFD >= 0)
- close(mouseFD);
-}
-
-void QWSVr41xxMouseHandlerPrivate::suspend()
-{
- mouseNotifier->setEnabled(false);
-}
-
-
-void QWSVr41xxMouseHandlerPrivate::resume()
-{
- mouseIdx = 0;
- mouseNotifier->setEnabled(true);
-}
-
-void QWSVr41xxMouseHandlerPrivate::sendRelease()
-{
- handler->sendFiltered(lastPos, Qt::NoButton);
- isPressed = false;
-}
-
-bool QWSVr41xxMouseHandlerPrivate::getSample()
-{
- const int n = read(mouseFD,
- reinterpret_cast<uchar*>(currSample) + currLength,
- sizeof(currSample) - currLength);
-
- if (n > 0)
- currLength += n;
-
- if (currLength < sizeof(currSample))
- return false;
-
- currLength = 0;
- return true;
-}
-
-void QWSVr41xxMouseHandlerPrivate::readMouseData()
-{
- const int sampleLength = sizeof(currSample) / sizeof(ushort);
- QVarLengthArray<ushort, sampleLength * defaultFilterSize> samples(sampleLength * filterSize);
-
- // Only return last 'filterSize' samples
- int head = 0;
- int tail = 0;
- int nSamples = 0;
- while (getSample()) {
- if (!(currSample[0] & 0x8000) || (currSample[5] < pressLimit))
- continue;
-
- ushort *data = samples.data() + head * sampleLength;
- memcpy(data, currSample, sizeof(currSample));
- ++nSamples;
- head = (head + 1) % filterSize;
- if (nSamples >= filterSize)
- tail = (tail + 1) % filterSize;
- }
-
- if (nSamples == 0)
- return;
-
- // send mouse events
- while (tail != head || filterSize == 1) {
- const ushort *data = samples.data() + tail * sampleLength;
- lastPos = QPoint(data[3] - data[4], data[2] - data[1]);
- handler->sendFiltered(lastPos, Qt::LeftButton);
- isPressed = true;
- tail = (tail + 1) % filterSize;
- if (filterSize == 1)
- break;
- }
-
- if (isPressed)
- rtimer->start(50); // release unreliable
-}
-
-QT_END_NAMESPACE
-
-#include "qmousevr41xx_qws.moc"
-
-#endif //QT_NO_QWS_MOUSE_VR41
diff --git a/src/gui/embedded/qmousevr41xx_qws.h b/src/gui/embedded/qmousevr41xx_qws.h
deleted file mode 100644
index 46d07e0..0000000
--- a/src/gui/embedded/qmousevr41xx_qws.h
+++ /dev/null
@@ -1,80 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtGui module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QMOUSEVR41XX_QWS_H
-#define QMOUSEVR41XX_QWS_H
-
-#include <QtGui/qmouse_qws.h>
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-QT_MODULE(Gui)
-
-#ifndef QT_NO_QWS_MOUSE_VR41XX
-
-class QWSVr41xxMouseHandlerPrivate;
-
-class QWSVr41xxMouseHandler : public QWSCalibratedMouseHandler
-{
-public:
- explicit QWSVr41xxMouseHandler(const QString & = QString(),
- const QString & = QString());
- ~QWSVr41xxMouseHandler();
-
- void resume();
- void suspend();
-
-protected:
- QWSVr41xxMouseHandlerPrivate *d;
-
-private:
- friend class QWSVr41xxMouseHandlerPrivate;
-};
-
-#endif // QT_NO_QWS_MOUSE_VR41XX
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-#endif // QMOUSEVR41XX_QWS_H
diff --git a/src/gui/embedded/qmouseyopy_qws.cpp b/src/gui/embedded/qmouseyopy_qws.cpp
deleted file mode 100644
index 7b1141a..0000000
--- a/src/gui/embedded/qmouseyopy_qws.cpp
+++ /dev/null
@@ -1,184 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtGui module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qmouseyopy_qws.h"
-
-#ifndef QT_NO_QWS_MOUSE_YOPY
-#include "qwindowsystem_qws.h"
-#include "qsocketnotifier.h"
-#include "qapplication.h"
-#include "qscreen_qws.h"
-
-#include <unistd.h>
-#include <stdlib.h>
-#include <stdio.h>
-#include <sys/ioctl.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-#include <errno.h>
-#include <termios.h>
-
-QT_BEGIN_NAMESPACE
-
-class QWSYopyMouseHandlerPrivate : public QObject
-{
- Q_OBJECT
-public:
- QWSYopyMouseHandlerPrivate(QWSYopyMouseHandler *h);
- ~QWSYopyMouseHandlerPrivate();
-
- void suspend();
- void resume();
-
-private slots:
- void readMouseData();
-
-private:
- int mouseFD;
- int prevstate;
- QSocketNotifier *mouseNotifier;
- QWSYopyMouseHandler *handler;
-};
-
-QWSYopyMouseHandler::QWSYopyMouseHandler(const QString &driver, const QString &device)
- : QWSMouseHandler(driver, device)
-{
- d = new QWSYopyMouseHandlerPrivate(this);
-}
-
-QWSYopyMouseHandler::~QWSYopyMouseHandler()
-{
- delete d;
-}
-
-void QWSYopyMouseHandler::resume()
-{
- d->resume();
-}
-
-void QWSYopyMouseHandler::suspend()
-{
- d->suspend();
-}
-
-QWSYopyMouseHandlerPrivate::QWSYopyMouseHandlerPrivate(QWSYopyMouseHandler *h)
- : handler(h)
-{
- if ((mouseFD = open("/dev/ts", O_RDONLY)) < 0) {
- qWarning("Cannot open /dev/ts (%s)", strerror(errno));
- return;
- } else {
- sleep(1);
- }
- prevstate=0;
- mouseNotifier = new QSocketNotifier(mouseFD, QSocketNotifier::Read,
- this);
- connect(mouseNotifier, SIGNAL(activated(int)),this, SLOT(readMouseData()));
-}
-
-QWSYopyMouseHandlerPrivate::~QWSYopyMouseHandlerPrivate()
-{
- if (mouseFD >= 0)
- close(mouseFD);
-}
-
-#define YOPY_XPOS(d) (d[1]&0x3FF)
-#define YOPY_YPOS(d) (d[2]&0x3FF)
-#define YOPY_PRES(d) (d[0]&0xFF)
-#define YOPY_STAT(d) (d[3]&0x01)
-
-struct YopyTPdata {
-
- unsigned char status;
- unsigned short xpos;
- unsigned short ypos;
-
-};
-
-void QWSYopyMouseHandlerPrivate::suspend()
-{
- mouseNotifier->setEnabled(false);
-}
-
-
-void QWSYopyMouseHandlerPrivate::resume()
-{
- prevstate = 0;
- mouseNotifier->setEnabled(true);
-}
-
-void QWSYopyMouseHandlerPrivate::readMouseData()
-{
- if(!qt_screen)
- return;
- YopyTPdata data;
-
- unsigned int yopDat[4];
-
- int ret;
-
- ret=read(mouseFD,&yopDat,sizeof(yopDat));
-
- if(ret) {
- data.status= (YOPY_PRES(yopDat)) ? 1 : 0;
- data.xpos=YOPY_XPOS(yopDat);
- data.ypos=YOPY_YPOS(yopDat);
- QPoint q;
- q.setX(data.xpos);
- q.setY(data.ypos);
- if (data.status && !prevstate) {
- handler->mouseChanged(q,Qt::LeftButton);
- } else if(!data.status && prevstate) {
- handler->mouseChanged(q,0);
- }
- prevstate = data.status;
- }
- if(ret<0) {
- qDebug("Error %s",strerror(errno));
- }
-}
-
-QT_END_NAMESPACE
-
-#include "qmouseyopy_qws.moc"
-
-#endif //QT_NO_QWS_MOUSE_YOPY
diff --git a/src/gui/embedded/qmouseyopy_qws.h b/src/gui/embedded/qmouseyopy_qws.h
deleted file mode 100644
index 0d24a8f..0000000
--- a/src/gui/embedded/qmouseyopy_qws.h
+++ /dev/null
@@ -1,80 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtGui module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QMOUSEYOPY_QWS_H
-#define QMOUSEYOPY_QWS_H
-
-#include <QtGui/qmouse_qws.h>
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-QT_MODULE(Gui)
-
-#ifndef QT_NO_QWS_MOUSE_YOPY
-
-// YOPY touch panel support based on changes contributed by Ron Victorelli
-// (victorrj at icubed.com) to Custom TP driver.
-
-class QWSYopyMouseHandlerPrivate;
-
-class QWSYopyMouseHandler : public QWSMouseHandler
-{
-public:
- explicit QWSYopyMouseHandler(const QString & = QString(),
- const QString & = QString());
- ~QWSYopyMouseHandler();
-
- void resume();
- void suspend();
-
-protected:
- QWSYopyMouseHandlerPrivate *d;
-};
-
-#endif // QT_NO_QWS_MOUSE_YOPY
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-#endif // QMOUSEYOPY_QWS_H
diff --git a/src/gui/embedded/qscreendriverfactory_qws.cpp b/src/gui/embedded/qscreendriverfactory_qws.cpp
index 2290627..b531798 100644
--- a/src/gui/embedded/qscreendriverfactory_qws.cpp
+++ b/src/gui/embedded/qscreendriverfactory_qws.cpp
@@ -47,6 +47,7 @@
#include "qscreentransformed_qws.h"
#include "qscreenvfb_qws.h"
#include "qscreenmulti_qws_p.h"
+#include "qscreenqnx_qws.h"
#include <stdlib.h>
#include "private/qfactoryloader_p.h"
#include "qscreendriverplugin_qws.h"
@@ -105,6 +106,10 @@ Q_GLOBAL_STATIC_WITH_ARGS(QFactoryLoader, loader,
QScreen *QScreenDriverFactory::create(const QString& key, int displayId)
{
QString driver = key.toLower();
+#if defined(Q_OS_QNX) && !defined(QT_NO_QWS_QNX)
+ if (driver == QLatin1String("qnx") || driver.isEmpty())
+ return new QQnxScreen(displayId);
+#endif
#ifndef QT_NO_QWS_QVFB
if (driver == QLatin1String("qvfb") || driver.isEmpty())
return new QVFbScreen(displayId);
@@ -146,6 +151,9 @@ QStringList QScreenDriverFactory::keys()
{
QStringList list;
+#if defined(Q_OS_QNX) && !defined(QT_NO_QWS_QNX)
+ list << QLatin1String("QNX");
+#endif
#ifndef QT_NO_QWS_QVFB
list << QLatin1String("QVFb");
#endif
diff --git a/src/gui/embedded/qscreenlinuxfb_qws.cpp b/src/gui/embedded/qscreenlinuxfb_qws.cpp
index 42c4fcd..2845842 100644
--- a/src/gui/embedded/qscreenlinuxfb_qws.cpp
+++ b/src/gui/embedded/qscreenlinuxfb_qws.cpp
@@ -46,6 +46,7 @@
#include "qwsdisplay_qws.h"
#include "qpixmap.h"
#include <private/qwssignalhandler_p.h>
+#include <private/qcore_unix_p.h> // overrides QT_OPEN
#include <unistd.h>
#include <stdlib.h>
@@ -122,12 +123,12 @@ void QLinuxFbScreenPrivate::openTty()
if (ttyDevice.isEmpty()) {
for (const char * const *dev = devs; *dev; ++dev) {
- ttyfd = ::open(*dev, O_RDWR);
+ ttyfd = QT_OPEN(*dev, O_RDWR);
if (ttyfd != -1)
break;
}
} else {
- ttyfd = ::open(ttyDevice.toAscii().constData(), O_RDWR);
+ ttyfd = QT_OPEN(ttyDevice.toAscii().constData(), O_RDWR);
}
if (ttyfd == -1)
@@ -144,7 +145,7 @@ void QLinuxFbScreenPrivate::openTty()
// No blankin' screen, no blinkin' cursor!, no cursor!
const char termctl[] = "\033[9;0]\033[?33l\033[?25l\033[?1c";
- ::write(ttyfd, termctl, sizeof(termctl));
+ QT_WRITE(ttyfd, termctl, sizeof(termctl));
}
void QLinuxFbScreenPrivate::closeTty()
@@ -157,9 +158,9 @@ void QLinuxFbScreenPrivate::closeTty()
// Blankin' screen, blinkin' cursor!
const char termctl[] = "\033[9;15]\033[?33h\033[?25h\033[?0c";
- ::write(ttyfd, termctl, sizeof(termctl));
+ QT_WRITE(ttyfd, termctl, sizeof(termctl));
- ::close(ttyfd);
+ QT_CLOSE(ttyfd);
ttyfd = -1;
}
@@ -281,7 +282,7 @@ bool QLinuxFbScreen::connect(const QString &displaySpec)
dev = QLatin1String("/dev/fb0");
if (access(dev.toLatin1().constData(), R_OK|W_OK) == 0)
- d_ptr->fd = open(dev.toLatin1().constData(), O_RDWR);
+ d_ptr->fd = QT_OPEN(dev.toLatin1().constData(), O_RDWR);
if (d_ptr->fd == -1) {
if (QApplication::type() == QApplication::GuiServer) {
perror("QScreenLinuxFb::connect");
@@ -289,7 +290,7 @@ bool QLinuxFbScreen::connect(const QString &displaySpec)
return false;
}
if (access(dev.toLatin1().constData(), R_OK) == 0)
- d_ptr->fd = open(dev.toLatin1().constData(), O_RDONLY);
+ d_ptr->fd = QT_OPEN(dev.toLatin1().constData(), O_RDONLY);
}
fb_fix_screeninfo finfo;
@@ -681,7 +682,7 @@ bool QLinuxFbScreen::initDevice()
#ifdef __i386__
// Now init mtrr
if(!::getenv("QWS_NOMTRR")) {
- int mfd=open("/proc/mtrr",O_WRONLY,0);
+ int mfd=QT_OPEN("/proc/mtrr",O_WRONLY,0);
// MTRR entry goes away when file is closed - i.e.
// hopefully when QWS is killed
if(mfd != -1) {
@@ -702,6 +703,9 @@ bool QLinuxFbScreen::initDevice()
//sentry.base,sentry.size,strerror(errno));
}
}
+
+ // Should we close mfd here?
+ //QT_CLOSE(mfd);
}
#endif
if ((vinfo.bits_per_pixel==8) || (vinfo.bits_per_pixel==4) || (finfo.visual==FB_VISUAL_DIRECTCOLOR))
diff --git a/src/gui/embedded/qscreenproxy_qws.cpp b/src/gui/embedded/qscreenproxy_qws.cpp
index ade16ca..3d7451b 100644
--- a/src/gui/embedded/qscreenproxy_qws.cpp
+++ b/src/gui/embedded/qscreenproxy_qws.cpp
@@ -537,7 +537,7 @@ int QProxyScreen::transformOrientation() const
}
/*!
-\reimp
+\internal
*/
int QProxyScreen::memoryNeeded(const QString &str)
{
@@ -548,7 +548,7 @@ int QProxyScreen::memoryNeeded(const QString &str)
}
/*!
-\reimp
+\internal
*/
int QProxyScreen::sharedRamSize(void *ptr)
{
@@ -559,7 +559,7 @@ int QProxyScreen::sharedRamSize(void *ptr)
}
/*!
-\reimp
+\internal
*/
void QProxyScreen::haltUpdates()
{
@@ -568,7 +568,7 @@ void QProxyScreen::haltUpdates()
}
/*!
-\reimp
+\internal
*/
void QProxyScreen::resumeUpdates()
{
diff --git a/src/gui/embedded/qscreenqnx_qws.cpp b/src/gui/embedded/qscreenqnx_qws.cpp
new file mode 100644
index 0000000..c79ee59
--- /dev/null
+++ b/src/gui/embedded/qscreenqnx_qws.cpp
@@ -0,0 +1,447 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtGui module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "qscreenqnx_qws.h"
+#include "qdebug.h"
+
+#include <gf/gf.h>
+
+// This struct holds all the pointers to QNX's internals
+struct QQnxScreenContext
+{
+ inline QQnxScreenContext()
+ : device(0), display(0), layer(0), hwSurface(0), memSurface(0), context(0)
+ {}
+
+ gf_dev_t device;
+ gf_dev_info_t deviceInfo;
+ gf_display_t display;
+ gf_display_info_t displayInfo;
+ gf_layer_t layer;
+ gf_surface_t hwSurface;
+ gf_surface_t memSurface;
+ gf_surface_info_t memSurfaceInfo;
+ gf_context_t context;
+};
+
+/*!
+ \class QQnxScreen
+ \preliminary
+ \ingroup qws
+ \since 4.6
+ \internal
+
+ \brief The QQnxScreen class implements a screen driver
+ for QNX io-display based devices.
+
+ Note - you never have to instanciate this class, the QScreenDriverFactory
+ does that for us based on the \c{QWS_DISPLAY} environment variable.
+
+ To activate this driver, set \c{QWS_DISPLAY} to \c{qnx}.
+
+ Example:
+ \c{QWS_DISPLAY=qnx; export QWS_DISPLAY}
+
+ By default, the main layer of the first display of the first device is used.
+ If you have multiple graphic cards, multiple displays or multiple layers and
+ don't want to connect to the default, you can override that with setting
+ the corresponding options \c{device}, \c{display} or \c{layer} in the \c{QWS_DISPLAY} variable:
+
+ \c{QWS_DISPLAY=qnx:device=3:display=4:layer=5}
+
+ In addition, it is suggested to set the physical width and height of the display.
+ QQnxScreen will use that information to compute the dots per inch (DPI) in order to render
+ fonts correctly. If this informaiton is omitted, QQnxScreen defaults to 72 dpi.
+
+ \c{QWS_DISPLAY=qnx:mmWidth=120:mmHeight=80}
+
+ \c{mmWidth} and \c{mmHeight} are the physical width/height of the screen in millimeters.
+
+ \sa QScreen, QScreenDriverPlugin, {Running Qt for Embedded Linux Applications}{Running Applications}
+*/
+
+/*!
+ Constructs a QQnxScreen object. The \a display_id argument
+ identifies the Qt for Embedded Linux server to connect to.
+*/
+QQnxScreen::QQnxScreen(int display_id)
+ : QScreen(display_id), d(new QQnxScreenContext)
+{
+}
+
+/*!
+ Destroys this QQnxScreen object.
+*/
+QQnxScreen::~QQnxScreen()
+{
+ delete d;
+}
+
+/*! \reimp
+*/
+bool QQnxScreen::initDevice()
+{
+ // implement this if you have multiple processes that want to access the display
+ // (not required if QT_NO_QWS_MULTIPROCESS is set)
+ return true;
+}
+
+/*! \internal
+ Attaches to the named device \a name.
+*/
+static bool attachDevice(QQnxScreenContext * const d, const char *name)
+{
+ int ret = gf_dev_attach(&d->device, name, &d->deviceInfo);
+ if (ret != GF_ERR_OK) {
+ qWarning("QQnxScreen: gf_dev_attach(%s) failed with error code %d", name, ret);
+ return false;
+ }
+ return true;
+}
+
+/*! \internal
+ Attaches to the display at index \a displayIndex.
+ */
+static bool attachDisplay(QQnxScreenContext * const d, int displayIndex)
+{
+ int ret = gf_display_attach(&d->display, d->device, displayIndex, &d->displayInfo);
+ if (ret != GF_ERR_OK) {
+ qWarning("QQnxScreen: gf_display_attach(%d) failed with error code %d",
+ displayIndex, ret);
+ return false;
+ }
+ return true;
+}
+
+/*! \internal
+ Attaches to the layer \a layerIndex.
+ */
+static bool attachLayer(QQnxScreenContext * const d, int layerIndex)
+{
+ int ret = gf_layer_attach(&d->layer, d->display, layerIndex, 0);
+ if (ret != GF_ERR_OK) {
+ qWarning("QQnxScreen: gf_layer_attach(%d) failed with error code %d", layerIndex,
+ ret);
+ return false;
+ }
+ gf_layer_enable(d->layer);
+
+ return true;
+}
+
+/*! \internal
+ Creates a new hardware surface (usually on the Gfx card memory) with the dimensions \a w * \a h.
+ */
+static bool createHwSurface(QQnxScreenContext * const d, int w, int h)
+{
+ int ret = gf_surface_create_layer(&d->hwSurface, &d->layer, 1, 0,
+ w, h, GF_FORMAT_ARGB8888, 0, 0);
+ if (ret != GF_ERR_OK) {
+ qWarning("QQnxScreen: gf_surface_create_layer(%dx%d) failed with error code %d",
+ w, h, ret);
+ return false;
+ }
+
+ gf_layer_set_surfaces(d->layer, &d->hwSurface, 1);
+
+ ret = gf_layer_update(d->layer, 0);
+ if (ret != GF_ERR_OK) {
+ qWarning("QQnxScreen: gf_layer_update() failed with error code %d\n", ret);
+ return false;
+ }
+
+ return true;
+}
+
+/*! \internal
+ Creates an in-memory, linear accessible surface of dimensions \a w * \a h.
+ This is the main surface that QWS blits to.
+ */
+static bool createMemSurface(QQnxScreenContext * const d, int w, int h)
+{
+ // Note: gf_surface_attach() could also be used, so we'll create the buffer
+ // and let the surface point to it. Here, we use surface_create instead.
+
+ int ret = gf_surface_create(&d->memSurface, d->device, w, h,
+ GF_FORMAT_ARGB8888, 0,
+ GF_SURFACE_CREATE_CPU_FAST_ACCESS | GF_SURFACE_CREATE_CPU_LINEAR_ACCESSIBLE
+ | GF_SURFACE_PHYS_CONTIG);
+ if (ret != GF_ERR_OK) {
+ qWarning("QQnxScreen: gf_surface_create(%dx%d) failed with error code %d",
+ w, h, ret);
+ return false;
+ }
+
+ gf_surface_get_info(d->memSurface, &d->memSurfaceInfo);
+
+ if (d->memSurfaceInfo.sid == unsigned(GF_SID_INVALID)) {
+ qWarning("QQnxScreen: gf_surface_get_info() failed.");
+ return false;
+ }
+
+ return true;
+}
+
+/* \internal
+ Creates a QNX gf context and sets our memory surface on it.
+ */
+static bool createContext(QQnxScreenContext * const d)
+{
+ int ret = gf_context_create(&d->context);
+ if (ret != GF_ERR_OK) {
+ qWarning("QQnxScreen: gf_context_create() failed with error code %d", ret);
+ return false;
+ }
+
+ ret = gf_context_set_surface(d->context, d->memSurface);
+ if (ret != GF_ERR_OK) {
+ qWarning("QQnxScreen: gf_context_set_surface() failed with error code %d", ret);
+ return false;
+ }
+
+ return true;
+}
+
+/*! \reimp
+ Connects to QNX's io-display based device based on the \a displaySpec parameters
+ from the \c{QWS_DISPLAY} environment variable. See the QQnxScreen class documentation
+ for possible parameters.
+
+ \sa QQnxScreen
+ */
+bool QQnxScreen::connect(const QString &displaySpec)
+{
+ const QStringList params = displaySpec.split(QLatin1Char(':'), QString::SkipEmptyParts);
+
+ bool isOk = false;
+ QRegExp deviceRegExp(QLatin1String("^device=(.+)$"));
+ if (params.indexOf(deviceRegExp) != -1) {
+ isOk = attachDevice(d, deviceRegExp.cap(1).toLocal8Bit().constData());
+ } else {
+ // no device specified - attach to device 0 (the default)
+ isOk = attachDevice(d, GF_DEVICE_INDEX(0));
+ }
+
+ if (!isOk)
+ return false;
+
+ qDebug("QQnxScreen: Attached to Device, number of displays: %d", d->deviceInfo.ndisplays);
+
+ // default to display 0
+ int displayIndex = 0;
+ QRegExp displayRegexp(QLatin1String("^display=(\\d+)$"));
+ if (params.indexOf(displayRegexp) != -1) {
+ displayIndex = displayRegexp.cap(1).toInt();
+ }
+
+ if (!attachDisplay(d, displayIndex))
+ return false;
+
+ qDebug("QQnxScreen: Attached to Display %d, resolution %dx%d, refresh %d Hz",
+ displayIndex, d->displayInfo.xres, d->displayInfo.yres,
+ d->displayInfo.refresh);
+
+
+ // default to main_layer_index from the displayInfo struct
+ int layerIndex = 0;
+ QRegExp layerRegexp(QLatin1String("^layer=(\\d+)$"));
+ if (params.indexOf(layerRegexp) != -1) {
+ layerIndex = layerRegexp.cap(1).toInt();
+ } else {
+ layerIndex = d->displayInfo.main_layer_index;
+ }
+
+ if (!attachLayer(d, layerIndex))
+ return false;
+
+ // tell QWSDisplay the width and height of the display
+ w = dw = d->displayInfo.xres;
+ h = dh = d->displayInfo.yres;
+
+ // we only support 32 bit displays for now.
+ QScreen::d = 32;
+
+ // assume 72 dpi as default, to calculate the physical dimensions if not specified
+ const int defaultDpi = 72;
+
+ // Handle display physical size spec.
+ QRegExp mmWidthRegexp(QLatin1String("^mmWidth=(\\d+)$"));
+ if (params.indexOf(mmWidthRegexp) == -1) {
+ physWidth = qRound(dw * 25.4 / defaultDpi);
+ } else {
+ physWidth = mmWidthRegexp.cap(1).toInt();
+ }
+
+ QRegExp mmHeightRegexp(QLatin1String("^mmHeight=(\\d+)$"));
+ if (params.indexOf(mmHeightRegexp) == -1) {
+ physHeight = qRound(dh * 25.4 / defaultDpi);
+ } else {
+ physHeight = mmHeightRegexp.cap(1).toInt();
+ }
+
+ // create a hardware surface with our dimensions. In the old days, it was possible
+ // to get a pointer directly to the hw surface, so we could blit directly. Now, we
+ // have to use one indirection more, because it's not guaranteed that the hw surface
+ // is mappable into our process.
+ if (!createHwSurface(d, w, h))
+ return false;
+
+ // create an in-memory linear surface that is used by QWS. QWS will blit directly in here.
+ if (!createMemSurface(d, w, h))
+ return false;
+
+ // set the address of the in-memory buffer that QWS is blitting to
+ data = d->memSurfaceInfo.vaddr;
+ // set the line stepping
+ lstep = d->memSurfaceInfo.stride;
+
+ // the overall size of the in-memory buffer is linestep * height
+ size = mapsize = lstep * h;
+
+ // create a QNX drawing context
+ if (!createContext(d))
+ return false;
+
+ // we're always using a software cursor for now. Initialize it here.
+ QScreenCursor::initSoftwareCursor();
+
+ // done, the driver should be connected to the display now.
+ return true;
+}
+
+/*! \reimp
+ */
+void QQnxScreen::disconnect()
+{
+ if (d->context)
+ gf_context_free(d->context);
+
+ if (d->memSurface)
+ gf_surface_free(d->memSurface);
+
+ if (d->hwSurface)
+ gf_surface_free(d->hwSurface);
+
+ if (d->layer)
+ gf_layer_detach(d->layer);
+
+ if (d->display)
+ gf_display_detach(d->display);
+
+ if (d->device)
+ gf_dev_detach(d->device);
+
+ d->memSurface = 0;
+ d->hwSurface = 0;
+ d->context = 0;
+ d->layer = 0;
+ d->display = 0;
+ d->device = 0;
+}
+
+/*! \reimp
+ */
+void QQnxScreen::shutdownDevice()
+{
+}
+
+
+/*! \reimp
+ QQnxScreen doesn't support setting the mode, use io-display instead.
+ */
+void QQnxScreen::setMode(int,int,int)
+{
+ qWarning("QQnxScreen: Unable to change mode, use io-display instead.");
+}
+
+/*! \reimp
+ */
+bool QQnxScreen::supportsDepth(int depth) const
+{
+ // only 32-bit for the moment
+ return depth == 32;
+}
+
+/*! \reimp
+ */
+void QQnxScreen::exposeRegion(QRegion r, int changing)
+{
+ // here is where the actual magic happens. QWS will call exposeRegion whenever
+ // a region on the screen is dirty and needs to be updated on the actual screen.
+
+ // first, call the parent implementation. The parent implementation will update
+ // the region on our in-memory surface
+ QScreen::exposeRegion(r, changing);
+
+ // now our in-memory surface should be up to date with the latest changes.
+ // the code below copies the region from the in-memory surface to the hardware.
+
+ // just get the bounding rectangle of the region. Most screen updates are rectangular
+ // anyways. Code could be optimized to blit each and every member of the region
+ // individually, but in real life, the speed-up is neglectable
+ const QRect br = r.boundingRect();
+ if (br.isEmpty())
+ return; // ignore empty regions because gf_draw_blit2 doesn't like 0x0 dimensions
+
+ // start drawing.
+ int ret = gf_draw_begin(d->context);
+ if (ret != GF_ERR_OK) {
+ qWarning("QQnxScreen: gf_draw_begin() failed with error code %d", ret);
+ return;
+ }
+
+ // blit the changed region from the memory surface to the hardware surface
+ ret = gf_draw_blit2(d->context, d->memSurface, d->hwSurface,
+ br.x(), br.y(), br.right(), br.bottom(), br.x(), br.y());
+ if (ret != GF_ERR_OK) {
+ qWarning("QQnxScreen: gf_draw_blit2() failed with error code %d", ret);
+ }
+
+ // flush all drawing commands (in our case, a single blit)
+ ret = gf_draw_flush(d->context);
+ if (ret != GF_ERR_OK) {
+ qWarning("QQnxScreen: gf_draw_flush() failed with error code %d", ret);
+ }
+
+ // tell QNX that we're done drawing.
+ gf_draw_end(d->context);
+}
+
diff --git a/src/gui/embedded/qscreenqnx_qws.h b/src/gui/embedded/qscreenqnx_qws.h
new file mode 100644
index 0000000..30312fe
--- /dev/null
+++ b/src/gui/embedded/qscreenqnx_qws.h
@@ -0,0 +1,82 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtGui module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QSCREENQNX_QWS_H
+#define QSCREENQNX_QWS_H
+
+#include <QtGui/qscreen_qws.h>
+
+#ifndef QT_NO_QWS_QNX
+
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+QT_MODULE(Gui)
+
+struct QQnxScreenContext;
+
+class QQnxScreen : public QScreen
+{
+public:
+ explicit QQnxScreen(int display_id);
+ ~QQnxScreen();
+
+ bool initDevice();
+ bool connect(const QString &displaySpec);
+ void disconnect();
+ void shutdownDevice();
+ void setMode(int,int,int);
+ bool supportsDepth(int) const;
+
+ void exposeRegion(QRegion r, int changing);
+
+private:
+ QQnxScreenContext * const d;
+};
+
+QT_END_NAMESPACE
+
+QT_END_HEADER
+
+#endif // QT_NO_QWS_QNX
+
+#endif
diff --git a/src/gui/embedded/qsoundqss_qws.cpp b/src/gui/embedded/qsoundqss_qws.cpp
index 4355eff..e239e14 100644
--- a/src/gui/embedded/qsoundqss_qws.cpp
+++ b/src/gui/embedded/qsoundqss_qws.cpp
@@ -53,6 +53,7 @@
#include <qtimer.h>
#include <qpointer.h>
#include <qendian.h>
+#include <private/qcore_unix_p.h> // overrides QT_OPEN
#include <unistd.h>
#include <stdlib.h>
@@ -1141,7 +1142,7 @@ void QWSSoundServerPrivate::sendCompletedSignals()
int QWSSoundServerPrivate::openFile(int wid, int sid, const QString& filename)
{
stopFile(wid, sid); // close and re-open.
- int f = ::open(QFile::encodeName(filename), O_RDONLY|O_NONBLOCK);
+ int f = QT_OPEN(QFile::encodeName(filename), O_RDONLY|O_NONBLOCK);
if (f == -1) {
// XXX check ferror, check reason.
qDebug("Failed opening \"%s\"",filename.toLatin1().data());
@@ -1161,7 +1162,7 @@ bool QWSSoundServerPrivate::openDevice()
{
if (fd < 0) {
if( silent ) {
- fd = ::open( "/dev/null", O_WRONLY );
+ fd = QT_OPEN( "/dev/null", O_WRONLY );
// Emulate write to audio device
int delay = 1000*(sound_buffer_size>>(sound_stereo+sound_16bit))/sound_speed/2;
timerId = startTimer(delay);
@@ -1172,7 +1173,7 @@ bool QWSSoundServerPrivate::openDevice()
// Don't block open right away.
//
bool openOkay = false;
- if ((fd = ::open("/dev/dsp", O_WRONLY|O_NONBLOCK)) != -1) {
+ if ((fd = QT_OPEN("/dev/dsp", O_WRONLY|O_NONBLOCK)) != -1) {
int flags = fcntl(fd, F_GETFL);
flags &= ~O_NONBLOCK;
openOkay = (fcntl(fd, F_SETFL, flags) == 0);
@@ -1226,7 +1227,7 @@ bool QWSSoundServerPrivate::openDevice()
//
// Check system volume
//
- int mixerHandle = ::open( "/dev/mixer", O_RDWR|O_NONBLOCK );
+ int mixerHandle = QT_OPEN( "/dev/mixer", O_RDWR|O_NONBLOCK );
if ( mixerHandle >= 0 ) {
int volume;
ioctl( mixerHandle, MIXER_READ(0), &volume );
diff --git a/src/gui/embedded/qtransportauth_qws.cpp b/src/gui/embedded/qtransportauth_qws.cpp
index 05dce11..8523e27 100644
--- a/src/gui/embedded/qtransportauth_qws.cpp
+++ b/src/gui/embedded/qtransportauth_qws.cpp
@@ -56,6 +56,7 @@
#include "qlibraryinfo.h"
#include "qfile.h"
#include "qdebug.h"
+#include <private/qcore_unix_p.h> // overrides QT_OPEN
#include <syslog.h>
#include <unistd.h>
@@ -572,7 +573,7 @@ bool QTransportAuth::authorizeRequest( QTransportAuth::Data &d, const QString &r
//get cmdline from proc/pid/cmdline
snprintf( cmdlinePath, BUF_SIZE, "/proc/%d/cmdline", d.processId );
- int cmdlineFd = open( cmdlinePath, O_RDONLY );
+ int cmdlineFd = QT_OPEN( cmdlinePath, O_RDONLY );
if ( cmdlineFd == -1 )
{
qWarning( "SXE:- Error encountered in opening /proc/%u/cmdline: %s",
@@ -581,13 +582,13 @@ bool QTransportAuth::authorizeRequest( QTransportAuth::Data &d, const QString &r
}
else
{
- if ( -1 == ::read(cmdlineFd, cmdline, BUF_SIZE - 1 ) )
+ if ( -1 == QT_READ(cmdlineFd, cmdline, BUF_SIZE - 1 ) )
{
qWarning( "SXE:- Error encountered in reading /proc/%u/cmdline : %s",
d.processId, strerror(errno) );
snprintf( cmdline, BUF_SIZE, "%s", "Unknown" );
}
- close( cmdlineFd );
+ QT_CLOSE( cmdlineFd );
}
syslog( LOG_ERR | LOG_LOCAL6, "%s // PID:%u // ProgId:%u // Exe:%s // Request:%s // Cmdline:%s",
diff --git a/src/gui/embedded/qtransportauth_qws.h b/src/gui/embedded/qtransportauth_qws.h
index e633a90..d8753fe 100644
--- a/src/gui/embedded/qtransportauth_qws.h
+++ b/src/gui/embedded/qtransportauth_qws.h
@@ -169,7 +169,7 @@ private:
~QTransportAuth();
friend class QAuthDevice;
- Q_DECLARE_SCOPED_PRIVATE(QTransportAuth)
+ Q_DECLARE_PRIVATE(QTransportAuth)
};
class Q_GUI_EXPORT RequestAnalyzer
diff --git a/src/gui/embedded/qunixsocket.cpp b/src/gui/embedded/qunixsocket.cpp
index 070d3cf..57a4a11 100644
--- a/src/gui/embedded/qunixsocket.cpp
+++ b/src/gui/embedded/qunixsocket.cpp
@@ -46,6 +46,7 @@
#include <QtCore/qsocketnotifier.h>
#include <QtCore/qqueue.h>
#include <QtCore/qdatetime.h>
+#include "private/qcore_unix_p.h" // overrides QT_OPEN
#ifdef QUNIXSOCKET_DEBUG
#include <QtCore/qdebug.h>
@@ -131,7 +132,7 @@ struct QUnixSocketRightsPrivate : public QSharedData
#ifdef QUNIXSOCKET_DEBUG
int closerv =
#endif
- ::close(fd);
+ QT_CLOSE(fd);
#ifdef QUNIXSOCKET_DEBUG
if(0 != closerv) {
qDebug() << "QUnixSocketRightsPrivate: Unable to close managed"
@@ -162,7 +163,7 @@ QUnixSocketRights::QUnixSocketRights(int fd)
if(-1 == fd) {
d->fd = -1;
} else {
- d->fd = ::dup(fd);
+ d->fd = qt_safe_dup(fd);
#ifdef QUNIXSOCKET_DEBUG
if(-1 == d->fd) {
qDebug() << "QUnixSocketRights: Unable to duplicate fd "
@@ -232,7 +233,7 @@ int QUnixSocketRights::dupFd() const
{
if(-1 == d->fd) return -1;
- int rv = ::dup(d->fd);
+ int rv = qt_safe_dup(d->fd);
#ifdef QUNIXSOCKET_DEBUG
if(-1 == rv)
@@ -825,7 +826,7 @@ public:
int numFds = (h->cmsg_len - CMSG_LEN(0)) / sizeof(int);
for(int ii = 0; ii < numFds; ++ii)
- ::close(fds[ii]);
+ QT_CLOSE(fds[ii]);
}
h = (::cmsghdr *)CMSG_NXTHDR(&(message), h);
@@ -1017,7 +1018,7 @@ connect_error: // Cleanup failed connection
#ifdef QUNIXSOCKET_DEBUG
int closerv =
#endif
- ::close(d->fd);
+ QT_CLOSE(d->fd);
#ifdef QUNIXSOCKET_DEBUG
if(0 != closerv) {
qDebug() << "QUnixSocket: Unable to close file descriptor after "
@@ -1762,7 +1763,12 @@ void QUnixSocketPrivate::readActivated()
message.msg_controllen = ancillaryBufferCapacity();
message.msg_control = ancillaryBuffer;
- int recvrv = ::recvmsg(fd, &message, 0);
+ int flags = 0;
+#ifdef MSG_CMSG_CLOEXEC
+ flags = MSG_CMSG_CLOEXEC;
+#endif
+
+ int recvrv = ::recvmsg(fd, &message, flags);
#ifdef QUNIXSOCKET_DEBUG
qDebug() << "QUnixSocket: Received message (" << recvrv << ')';
#endif
diff --git a/src/gui/embedded/qwindowsystem_qws.cpp b/src/gui/embedded/qwindowsystem_qws.cpp
index dfc1e76..7384817 100644
--- a/src/gui/embedded/qwindowsystem_qws.cpp
+++ b/src/gui/embedded/qwindowsystem_qws.cpp
@@ -39,6 +39,8 @@
**
****************************************************************************/
+#include "qplatformdefs.h"
+
#include "qwindowsystem_qws.h"
#include "qwsevent_qws.h"
#include "qwscommand_qws_p.h"
@@ -71,24 +73,26 @@
#include <qdebug.h>
-#include <unistd.h>
+#include "qkbddriverfactory_qws.h"
+#include "qmousedriverfactory_qws.h"
+
+#include <qbuffer.h>
+#include <qdir.h>
+
+#include <private/qwindowsurface_qws_p.h>
+#include <private/qfontengine_qpf_p.h>
+
+#include "qwindowsystem_p.h"
+
+
#include <stdlib.h>
#include <stdio.h>
#include <errno.h>
#ifndef QT_NO_QWS_MULTIPROCESS
-#include <sys/types.h>
-#include <sys/socket.h>
-#include <sys/ipc.h>
-#include <sys/shm.h>
-#ifndef Q_OS_DARWIN
-# include <sys/sem.h>
-#endif
#include <sys/param.h>
#include <sys/mount.h>
#endif
-#include <signal.h>
-#include <fcntl.h>
#if !defined(QT_NO_SOUND) && !defined(Q_OS_DARWIN)
#ifdef QT_USE_OLD_QWS_SOUND
@@ -101,17 +105,6 @@
#endif
#endif
-#include "qkbddriverfactory_qws.h"
-#include "qmousedriverfactory_qws.h"
-
-#include <qbuffer.h>
-#include <qdir.h>
-
-#include <private/qwindowsurface_qws_p.h>
-#include <private/qfontengine_qpf_p.h>
-
-#include "qwindowsystem_p.h"
-
//#define QWS_DEBUG_FONTCLEANUP
QT_BEGIN_NAMESPACE
@@ -1406,7 +1399,7 @@ void QWSServerPrivate::initServer(int flags)
#ifndef QT_NO_QWS_MULTIPROCESS
if (!geteuid()) {
-#if !defined(Q_OS_FREEBSD) && !defined(Q_OS_SOLARIS) && !defined(Q_OS_DARWIN) && !defined(QT_LINUXBASE)
+#if defined(Q_OS_LINUX) && !defined(QT_LINUXBASE)
if(mount(0,"/var/shm", "shm", 0, 0)) {
/* This just confuses people with 2.2 kernels
if (errno != EBUSY)
diff --git a/src/gui/embedded/qwindowsystem_qws.h b/src/gui/embedded/qwindowsystem_qws.h
index 04cd756..3cda9f6 100644
--- a/src/gui/embedded/qwindowsystem_qws.h
+++ b/src/gui/embedded/qwindowsystem_qws.h
@@ -214,7 +214,7 @@ class Q_GUI_EXPORT QWSServer : public QObject
friend class QWSDisplay;
friend class QWSInputMethod;
Q_OBJECT
- Q_DECLARE_SCOPED_PRIVATE(QWSServer)
+ Q_DECLARE_PRIVATE(QWSServer)
public:
explicit QWSServer(int flags = 0, QObject *parent=0);
#ifdef QT3_SUPPORT
@@ -443,7 +443,7 @@ class QWSConvertSelectionCommand;
class Q_GUI_EXPORT QWSClient : public QObject
{
Q_OBJECT
- Q_DECLARE_SCOPED_PRIVATE(QWSClient)
+ Q_DECLARE_PRIVATE(QWSClient)
public:
QWSClient(QObject* parent, QWS_SOCK_BASE *, int id);
~QWSClient();
diff --git a/src/gui/embedded/qwsembedwidget.h b/src/gui/embedded/qwsembedwidget.h
index d880454..8313c38 100644
--- a/src/gui/embedded/qwsembedwidget.h
+++ b/src/gui/embedded/qwsembedwidget.h
@@ -71,7 +71,7 @@ protected:
void showEvent(QShowEvent *event);
private:
- Q_DECLARE_SCOPED_PRIVATE(QWSEmbedWidget)
+ Q_DECLARE_PRIVATE(QWSEmbedWidget)
};
QT_END_NAMESPACE
diff --git a/src/gui/embedded/qwsmanager_qws.h b/src/gui/embedded/qwsmanager_qws.h
index 86aadc9..5a4312c 100644
--- a/src/gui/embedded/qwsmanager_qws.h
+++ b/src/gui/embedded/qwsmanager_qws.h
@@ -66,7 +66,7 @@ class QWSManagerPrivate;
class Q_GUI_EXPORT QWSManager : public QObject
{
Q_OBJECT
- Q_DECLARE_SCOPED_PRIVATE(QWSManager)
+ Q_DECLARE_PRIVATE(QWSManager)
public:
explicit QWSManager(QWidget *);
~QWSManager();
diff --git a/src/gui/graphicsview/graphicsview.pri b/src/gui/graphicsview/graphicsview.pri
index 4cee6d6..9d232e4 100644
--- a/src/gui/graphicsview/graphicsview.pri
+++ b/src/gui/graphicsview/graphicsview.pri
@@ -1,37 +1,44 @@
# Qt graphicsview module
-HEADERS += graphicsview/qgraphicsitem.h \
+HEADERS += graphicsview/qgraphicsgridlayout.h \
+ graphicsview/qgraphicsitem.h \
graphicsview/qgraphicsitem_p.h \
graphicsview/qgraphicsitemanimation.h \
- graphicsview/qgraphicsscene.h \
- graphicsview/qgraphicsscene_p.h \
- graphicsview/qgraphicsscene_bsp_p.h \
- graphicsview/qgraphicssceneevent.h \
- graphicsview/qgraphicsview_p.h \
- graphicsview/qgraphicsview.h
-SOURCES += graphicsview/qgraphicsitem.cpp \
- graphicsview/qgraphicsitemanimation.cpp \
- graphicsview/qgraphicsscene.cpp \
- graphicsview/qgraphicsscene_bsp.cpp \
- graphicsview/qgraphicssceneevent.cpp \
- graphicsview/qgraphicsview.cpp
-
-# Widgets on the canvas
-HEADERS += graphicsview/qgraphicslayout.h \
+ graphicsview/qgraphicslayout.h \
graphicsview/qgraphicslayout_p.h \
graphicsview/qgraphicslayoutitem.h \
graphicsview/qgraphicslayoutitem_p.h \
graphicsview/qgraphicslinearlayout.h \
+ graphicsview/qgraphicsproxywidget.h \
+ graphicsview/qgraphicsscene.h \
+ graphicsview/qgraphicsscene_bsp_p.h \
+ graphicsview/qgraphicsscene_p.h \
+ graphicsview/qgraphicsscenebsptreeindex_p.h \
+ graphicsview/qgraphicssceneevent.h \
+ graphicsview/qgraphicssceneindex_p.h \
+ graphicsview/qgraphicsscenelinearindex_p.h \
+ graphicsview/qgraphicstransform.h \
+ graphicsview/qgraphicstransform_p.h \
+ graphicsview/qgraphicsview.h \
+ graphicsview/qgraphicsview_p.h \
graphicsview/qgraphicswidget.h \
graphicsview/qgraphicswidget_p.h \
- graphicsview/qgridlayoutengine_p.h \
- graphicsview/qgraphicsproxywidget.h \
- graphicsview/qgraphicsgridlayout.h
-SOURCES += graphicsview/qgraphicslayout.cpp \
+ graphicsview/qgridlayoutengine_p.h
+SOURCES += graphicsview/qgraphicsgridlayout.cpp \
+ graphicsview/qgraphicsitem.cpp \
+ graphicsview/qgraphicsitemanimation.cpp \
+ graphicsview/qgraphicslayout.cpp \
graphicsview/qgraphicslayout_p.cpp \
graphicsview/qgraphicslayoutitem.cpp \
graphicsview/qgraphicslinearlayout.cpp \
+ graphicsview/qgraphicsproxywidget.cpp \
+ graphicsview/qgraphicsscene.cpp \
+ graphicsview/qgraphicsscene_bsp.cpp \
+ graphicsview/qgraphicsscenebsptreeindex.cpp \
+ graphicsview/qgraphicssceneevent.cpp \
+ graphicsview/qgraphicssceneindex.cpp \
+ graphicsview/qgraphicsscenelinearindex.cpp \
+ graphicsview/qgraphicstransform.cpp \
+ graphicsview/qgraphicsview.cpp \
graphicsview/qgraphicswidget.cpp \
graphicsview/qgraphicswidget_p.cpp \
- graphicsview/qgridlayoutengine.cpp \
- graphicsview/qgraphicsproxywidget.cpp \
- graphicsview/qgraphicsgridlayout.cpp
+ graphicsview/qgridlayoutengine.cpp
diff --git a/src/gui/graphicsview/qgraphicsgridlayout.h b/src/gui/graphicsview/qgraphicsgridlayout.h
index faa91b3..b9db03e 100644
--- a/src/gui/graphicsview/qgraphicsgridlayout.h
+++ b/src/gui/graphicsview/qgraphicsgridlayout.h
@@ -127,7 +127,7 @@ public:
private:
Q_DISABLE_COPY(QGraphicsGridLayout)
- Q_DECLARE_SCOPED_PRIVATE(QGraphicsGridLayout)
+ Q_DECLARE_PRIVATE(QGraphicsGridLayout)
};
inline void QGraphicsGridLayout::addItem(QGraphicsLayoutItem *aitem, int arow, int acolumn, Qt::Alignment aalignment)
diff --git a/src/gui/graphicsview/qgraphicsitem.cpp b/src/gui/graphicsview/qgraphicsitem.cpp
index 3c7593d..d529976 100644
--- a/src/gui/graphicsview/qgraphicsitem.cpp
+++ b/src/gui/graphicsview/qgraphicsitem.cpp
@@ -135,38 +135,39 @@
\section1 Transformation
- QGraphicsItem supports affine transformations in addition to its base
- position, pos(). To change the item's transformation, you can pass
- a transformation matrix to setTransform()
-
- Item transformations accumulate from parent to child, so if both a
- parent and child item are rotated 90 degrees, the child's total
- transformation will be 180 degrees. Similarly, if the item's
- parent is scaled to 2x its original size, its children will also
- be twice as large. An item's transformation does not affect its
- own local geometry; all geometry functions (e.g., contains(),
- update(), and all the mapping functions) still operate in local
- coordinates. For convenience, QGraphicsItem provides the functions
- sceneTransform(), which returns the item's total transformation
+ QGraphicsItem supports projective transformations in addition to its base
+ position, pos(). There are several ways to change an item's transformation.
+ For simple transformations, you can call either of the convenience
+ functions setRotation() or setScale(), or you can pass any transformation
+ matrix to setTransform(). For advanced transformation control you also have
+ the option of setting several combined transformations by calling
+ setTransformations().
+
+ Item transformations accumulate from parent to child, so if both a parent
+ and child item are rotated 90 degrees, the child's total transformation
+ will be 180 degrees. Similarly, if the item's parent is scaled to 2x its
+ original size, its children will also be twice as large. An item's
+ transformation does not affect its own local geometry; all geometry
+ functions (e.g., contains(), update(), and all the mapping functions) still
+ operate in local coordinates. For convenience, QGraphicsItem provides the
+ functions sceneTransform(), which returns the item's total transformation
matrix (including its position and all parents' positions and
- transformations), and scenePos(), which returns its position in
- scene coordinates. To reset an item's matrix, call
- resetTransform().
+ transformations), and scenePos(), which returns its position in scene
+ coordinates. To reset an item's matrix, call resetTransform().
- Another way to apply transformation to an item is to use the , or
- set the different transformation properties (transformOrigin,
- x/y/zRotation, x/yScale, horizontal/verticalShear). Those
- properties come in addition to the base transformation
+ Certain transformation operations produce a different outcome depending on
+ the order in which they are applied. For example, if you scale an
+ transform, and then rotate it, you may get a different result than if the
+ transform was rotated first. However, the order you set the transformation
+ properties on QGraphicsItem does not affect the resulting transformation;
+ QGraphicsItem always applies the properties in a fixed, defined order:
- The order you set the transformation properties does not affect
- the resulting transformation The resulting transformation is
- always computed in the following order
-
- \code
- [Origin] [Base] [RotateX] [RotateY] [RotateZ] [Shear] [Scale] [-Origin]
- \endcode
-
- Where [Base] is the stransformation set by setTransform
+ \list
+ \o The item's base transform is applied (transform())
+ \o The item's transformations list is applied in order (transformations())
+ \o The item is rotated relative to its transform origin point (rotation(), transformOriginPoint())
+ \o The item is scaled relative to its transform origin point (scale(), transformOriginPoint())
+ \endlist
\section1 Painting
@@ -303,13 +304,12 @@
drop shadow effects and for decoration objects that follow the parent
item's geometry without drawing on top of it.
- \value ItemUsesExtendedStyleOption The item makes use of either
- QStyleOptionGraphicsItem::exposedRect or QStyleOptionGraphicsItem::matrix.
+ \value ItemUsesExtendedStyleOption The item makes use of either the
+ exposedRect or matrix member of the QStyleOptionGraphicsItem. Implementers
+ of QGraphicsItem subclasses should set that flag if this data is required.
By default, the exposedRect is initialized to the item's boundingRect and
the matrix is untransformed. Enable this flag for more fine-grained values.
- Note that QStyleOptionGraphicsItem::levelOfDetail is unaffected by this flag
- and is always initialized to 1.
- Use QStyleOptionGraphicsItem::levelOfDetailFromTransform for a more
+ Use QStyleOptionGraphicsItem::levelOfDetailFromTransform() for a more
fine-grained value.
\value ItemHasNoContents The item does not paint anything (i.e., calling
@@ -323,6 +323,14 @@
performance reasons, these notifications are disabled by default. You must
enable this flag to receive notifications for position and transform
changes. This flag was introduced in Qt 4.6.
+
+ \value ItemAcceptsInputMethod The item supports input methods typically
+ used for Asian languages.
+ This flag was introduced in Qt 4.6.
+
+ \value ItemAutoDetectsFocusProxy The item will assign any child that
+ gains input focus as its focus proxy. See also focusProxy().
+ This flag was introduced in Qt 4.6.
*/
/*!
@@ -554,6 +562,7 @@
#include "qgraphicsview.h"
#include "qgraphicswidget.h"
#include "qgraphicsproxywidget.h"
+#include "qgraphicsscenebsptreeindex_p.h"
#include <QtCore/qbitarray.h>
#include <QtCore/qdebug.h>
#include <QtCore/qpoint.h>
@@ -575,7 +584,6 @@
#include <private/qtextcontrol_p.h>
#include <private/qtextdocumentlayout_p.h>
#include <private/qtextengine_p.h>
-#include <private/qgesturemanager_p.h>
#ifdef Q_WS_X11
#include <private/qt_x11_p.h>
@@ -586,17 +594,6 @@
QT_BEGIN_NAMESPACE
-// QRectF::intersects() returns false always if either the source or target
-// rectangle's width or height are 0. This works around that problem.
-static inline void _q_adjustRect(QRectF *rect)
-{
- Q_ASSERT(rect);
- if (!rect->width())
- rect->adjust(-0.00001, 0, 0.00001, 0);
- if (!rect->height())
- rect->adjust(0, -0.00001, 0, 0.00001);
-}
-
static inline void _q_adjustRect(QRect *rect)
{
Q_ASSERT(rect);
@@ -616,8 +613,6 @@ public:
};
Q_GLOBAL_STATIC(QGraphicsItemCustomDataStore, qt_dataStore)
-QString qt_getStandardGestureTypeName(Qt::GestureType type);
-
/*!
\internal
@@ -660,6 +655,10 @@ void QGraphicsItemPrivate::updateAncestorFlag(QGraphicsItem::GraphicsItemFlag ch
// For root items only. This is the item that has either enabled or
// disabled \a childFlag, or has been reparented.
switch (int(childFlag)) {
+ case -2:
+ flag = AncestorFiltersChildEvents;
+ enabled = q->filtersChildEvents();
+ break;
case -1:
flag = AncestorHandlesChildEvents;
enabled = q->handlesChildEvents();
@@ -677,18 +676,22 @@ void QGraphicsItemPrivate::updateAncestorFlag(QGraphicsItem::GraphicsItemFlag ch
return;
}
- // Inherit the enabled-state from our parents.
- if ((parent && ((parent->d_ptr->ancestorFlags & flag)
- || (int(parent->d_ptr->flags & childFlag) == childFlag)
- || (childFlag == -1 && parent->d_ptr->handlesChildEvents)))) {
- enabled = true;
- ancestorFlags |= flag;
- }
-
- // Top-level root items don't have any ancestors, so there are no
- // ancestor flags either.
- if (!parent)
+ if (parent) {
+ // Inherit the enabled-state from our parents.
+ if ((parent->d_ptr->ancestorFlags & flag)
+ || (int(parent->d_ptr->flags & childFlag) == childFlag)
+ || (childFlag == -1 && parent->d_ptr->handlesChildEvents)
+ || (childFlag == -2 && parent->d_ptr->filtersDescendantEvents)) {
+ enabled = true;
+ ancestorFlags |= flag;
+ } else {
+ ancestorFlags &= ~flag;
+ }
+ } else {
+ // Top-level root items don't have any ancestors, so there are no
+ // ancestor flags either.
ancestorFlags = 0;
+ }
} else {
// Don't set or propagate the ancestor flag if it's already correct.
if (((ancestorFlags & flag) && enabled) || (!(ancestorFlags & flag) && !enabled))
@@ -701,7 +704,9 @@ void QGraphicsItemPrivate::updateAncestorFlag(QGraphicsItem::GraphicsItemFlag ch
ancestorFlags &= ~flag;
// Don't process children if the item has the main flag set on itself.
- if ((childFlag != -1 && int(flags & childFlag) == childFlag) || (int(childFlag) == -1 && handlesChildEvents))
+ if ((childFlag != -1 && int(flags & childFlag) == childFlag)
+ || (int(childFlag) == -1 && handlesChildEvents)
+ || (int(childFlag) == -2 && filtersDescendantEvents))
return;
}
@@ -832,6 +837,42 @@ void QGraphicsItemPrivate::combineTransformFromParent(QTransform *x, const QTran
}
}
+void QGraphicsItemPrivate::updateSceneTransformFromParent()
+{
+ if (parent) {
+ Q_ASSERT(!parent->d_ptr->dirtySceneTransform);
+ if (parent->d_ptr->sceneTransformTranslateOnly) {
+ sceneTransform = QTransform::fromTranslate(parent->d_ptr->sceneTransform.dx() + pos.x(),
+ parent->d_ptr->sceneTransform.dy() + pos.y());
+ } else {
+ sceneTransform = parent->d_ptr->sceneTransform;
+ sceneTransform.translate(pos.x(), pos.y());
+ }
+ if (transformData) {
+ sceneTransform = transformData->computedFullTransform(&sceneTransform);
+ sceneTransformTranslateOnly = (sceneTransform.type() <= QTransform::TxTranslate);
+ } else {
+ sceneTransformTranslateOnly = parent->d_ptr->sceneTransformTranslateOnly;
+ }
+ } else if (!transformData) {
+ sceneTransform = QTransform::fromTranslate(pos.x(), pos.y());
+ sceneTransformTranslateOnly = 1;
+ } else if (transformData->onlyTransform) {
+ sceneTransform = transformData->transform;
+ if (!pos.isNull())
+ sceneTransform *= QTransform::fromTranslate(pos.x(), pos.y());
+ sceneTransformTranslateOnly = (sceneTransform.type() <= QTransform::TxTranslate);
+ } else if (pos.isNull()) {
+ sceneTransform = transformData->computedFullTransform();
+ sceneTransformTranslateOnly = (sceneTransform.type() <= QTransform::TxTranslate);
+ } else {
+ sceneTransform = QTransform::fromTranslate(pos.x(), pos.y());
+ sceneTransform = transformData->computedFullTransform(&sceneTransform);
+ sceneTransformTranslateOnly = (sceneTransform.type() <= QTransform::TxTranslate);
+ }
+ dirtySceneTransform = 0;
+}
+
/*!
\internal
@@ -871,12 +912,17 @@ void QGraphicsItemPrivate::setParentItemHelper(QGraphicsItem *newParent)
if (newParent == parent)
return;
- if (QGraphicsWidget *w = isWidget ? static_cast<QGraphicsWidget *>(q) : q->parentWidget()) {
- // Update the child focus chain; when reparenting a widget that has a
+ if (scene) {
+ // Deliver the change to the index
+ scene->d_func()->index->itemChange(q, QGraphicsItem::ItemParentChange, newParentVariant);
+ }
+
+ QGraphicsItem *lastSubFocusItem = subFocusItem;
+ if (subFocusItem) {
+ // Update the child focus chain; when reparenting an item that has a
// focus child, ensure that that focus child clears its focus child
// chain from our parents before it's reparented.
- if (QGraphicsWidget *focusChild = w->focusWidget())
- focusChild->clearFocus();
+ subFocusItem->clearFocus();
}
// We anticipate geometry changes. If the item is deleted, it will be
@@ -922,6 +968,7 @@ void QGraphicsItemPrivate::setParentItemHelper(QGraphicsItem *newParent)
}
// Inherit ancestor flags from the new parent.
+ updateAncestorFlag(QGraphicsItem::GraphicsItemFlag(-2));
updateAncestorFlag(QGraphicsItem::GraphicsItemFlag(-1));
updateAncestorFlag(QGraphicsItem::ItemClipsChildrenToShape);
updateAncestorFlag(QGraphicsItem::ItemIgnoresTransformations);
@@ -938,6 +985,7 @@ void QGraphicsItemPrivate::setParentItemHelper(QGraphicsItem *newParent)
} else {
// Inherit ancestor flags from the new parent.
+ updateAncestorFlag(QGraphicsItem::GraphicsItemFlag(-2));
updateAncestorFlag(QGraphicsItem::GraphicsItemFlag(-1));
updateAncestorFlag(QGraphicsItem::ItemClipsChildrenToShape);
updateAncestorFlag(QGraphicsItem::ItemIgnoresTransformations);
@@ -958,16 +1006,25 @@ void QGraphicsItemPrivate::setParentItemHelper(QGraphicsItem *newParent)
}
}
- if (scene) {
- // Invalidate any sort caching; arrival of a new item means we need to
- // resort.
- scene->d_func()->invalidateSortCache();
- }
-
// Resolve depth.
resolveDepth(parent ? parent->d_ptr->depth : -1);
dirtySceneTransform = 1;
+ // Restore the sub focus chain.
+ if (lastSubFocusItem)
+ lastSubFocusItem->d_ptr->setSubFocus();
+
+ // Auto-update focus proxy. The closest parent that detects
+ // focus proxies is updated as the proxy gains or loses focus.
+ QGraphicsItem *p = newParent;
+ while (p) {
+ if (p->d_ptr->flags & QGraphicsItem::ItemAutoDetectsFocusProxy) {
+ p->setFocusProxy(q);
+ break;
+ }
+ p = p->d_ptr->parent;
+ }
+
// Deliver post-change notification
q->itemChange(QGraphicsItem::ItemParentHasChanged, newParentVariant);
@@ -1132,7 +1189,6 @@ QGraphicsItem::~QGraphicsItem()
{
d_ptr->inDestructor = 1;
d_ptr->removeExtraItemCache();
- d_ptr->removeExtraGestures();
clearFocus();
if (!d_ptr->children.isEmpty()) {
@@ -1146,6 +1202,13 @@ QGraphicsItem::~QGraphicsItem()
else
d_ptr->setParentItemHelper(0);
+ if (d_ptr->transformData) {
+ for(int i = 0; i < d_ptr->transformData->graphicsTransforms.size(); ++i) {
+ QGraphicsTransform *t = d_ptr->transformData->graphicsTransforms.at(i);
+ static_cast<QGraphicsTransformPrivate *>(t->d_ptr.data())->item = 0;
+ delete t;
+ }
+ }
delete d_ptr->transformData;
qt_dataStore()->data.remove(this);
@@ -1203,7 +1266,7 @@ void QGraphicsItem::setGroup(QGraphicsItemGroup *group)
Returns a pointer to this item's parent item. If this item does not have a
parent, 0 is returned.
- \sa setParentItem(), children()
+ \sa setParentItem(), childItems()
*/
QGraphicsItem *QGraphicsItem::parentItem() const
{
@@ -1226,7 +1289,7 @@ QGraphicsItem *QGraphicsItem::topLevelItem() const
}
/*!
- \since 4.4
+ \since 4.6
Returns a pointer to the item's parent, cast to a QGraphicsObject. returns 0 if the parent item
is not a QGraphicsObject.
@@ -1319,7 +1382,7 @@ const QGraphicsObject *QGraphicsItem::toGraphicsObject() const
the parent. You should not \l{QGraphicsScene::addItem()}{add} the
item to the scene yourself.
- \sa parentItem(), children()
+ \sa parentItem(), childItems()
*/
void QGraphicsItem::setParentItem(QGraphicsItem *parent)
{
@@ -1442,6 +1505,8 @@ void QGraphicsItem::setFlags(GraphicsItemFlags flags)
flags = GraphicsItemFlags(itemChange(ItemFlagsChange, quint32(flags)).toUInt());
if (quint32(d_ptr->flags) == quint32(flags))
return;
+ if (d_ptr->scene)
+ d_ptr->scene->d_func()->index->itemChange(this, ItemFlagsChange, quint32(flags));
// Flags that alter the geometry of the item (or its children).
const quint32 geomChangeFlagsMask = (ItemClipsChildrenToShape | ItemClipsToShape | ItemIgnoresTransformations);
@@ -1490,6 +1555,12 @@ void QGraphicsItem::setFlags(GraphicsItemFlags flags)
d_ptr->scene->d_func()->needSortTopLevelItems = 1;
}
+ if ((flags & ItemAcceptsInputMethod) != (oldFlags & ItemAcceptsInputMethod)) {
+ // Update input method sensitivity in any views.
+ if (d_ptr->scene)
+ d_ptr->scene->d_func()->updateInputMethodSensitivityInViews();
+ }
+
if (d_ptr->scene) {
d_ptr->scene->d_func()->markDirty(this, QRectF(),
/*invalidateChildren=*/true,
@@ -1794,6 +1865,8 @@ void QGraphicsItemPrivate::setVisibleHelper(bool newVisible, bool explicitly, bo
if (q_ptr->isSelected())
q_ptr->setSelected(false);
} else {
+ geometryChanged = 1;
+ paintedViewBoundingRectsNeedRepaint = 1;
if (isWidget && scene) {
QGraphicsWidget *widget = static_cast<QGraphicsWidget *>(q_ptr);
if (widget->windowType() == Qt::Popup)
@@ -2254,10 +2327,10 @@ bool QGraphicsItem::acceptsHoverEvents() const
stays "hovered" until the cursor leaves its area, including its
children's areas.
- If a parent item handles child events (setHandlesChildEvents()), it will
- receive hover move, drag move, and drop events as the cursor passes
- through its children, but it does not receive hover enter and hover leave,
- nor drag enter and drag leave events on behalf of its children.
+ If a parent item handles child events, it will receive hover move,
+ drag move, and drop events as the cursor passes through its
+ children, but it does not receive hover enter and hover leave, nor
+ drag enter and drag leave events on behalf of its children.
A QGraphicsWidget with window decorations will accept hover events
regardless of the value of acceptHoverEvents().
@@ -2288,8 +2361,8 @@ void QGraphicsItem::setAcceptsHoverEvents(bool enabled)
/*! \since 4.6
- Returns true if an item accepts touch events (QTouchEvent); otherwise, returns false. By
- default, items do not accept touch events.
+ Returns true if an item accepts \l{QTouchEvent}{touch events};
+ otherwise, returns false. By default, items do not accept touch events.
\sa setAcceptTouchEvents()
*/
@@ -2301,7 +2374,7 @@ bool QGraphicsItem::acceptTouchEvents() const
/*!
\since 4.6
- If \a enabled is true, this item will accept touch events;
+ If \a enabled is true, this item will accept \l{QTouchEvent}{touch events};
otherwise, it will ignore them. By default, items do not accept
touch events.
*/
@@ -2317,6 +2390,44 @@ void QGraphicsItem::setAcceptTouchEvents(bool enabled)
}
/*!
+ \since 4.6
+
+ Returns true if this item filters child events (i.e., all events
+ intended for any of its children are instead sent to this item);
+ otherwise, false is returned.
+
+ The default value is false; child events are not filtered.
+
+ \sa setFiltersChildEvents()
+*/
+bool QGraphicsItem::filtersChildEvents() const
+{
+ return d_ptr->filtersDescendantEvents;
+}
+
+/*!
+ \since 4.6
+
+ If \a enabled is true, this item is set to filter all events for
+ all its children (i.e., all events intented for any of its
+ children are instead sent to this item); otherwise, if \a enabled
+ is false, this item will only handle its own events. The default
+ value is false.
+
+ \sa filtersChildEvents()
+*/
+void QGraphicsItem::setFiltersChildEvents(bool enabled)
+{
+ if (d_ptr->filtersDescendantEvents == enabled)
+ return;
+
+ d_ptr->filtersDescendantEvents = enabled;
+ d_ptr->updateAncestorFlag(QGraphicsItem::GraphicsItemFlag(-2));
+}
+
+/*!
+ \obsolete
+
Returns true if this item handles child events (i.e., all events
intended for any of its children are instead sent to this item);
otherwise, false is returned.
@@ -2337,6 +2448,8 @@ bool QGraphicsItem::handlesChildEvents() const
}
/*!
+ \obsolete
+
If \a enabled is true, this item is set to handle all events for
all its children (i.e., all events intented for any of its
children are instead sent to this item); otherwise, if \a enabled
@@ -2364,73 +2477,166 @@ void QGraphicsItem::setHandlesChildEvents(bool enabled)
}
/*!
- Returns true if this item has keyboard input focus; otherwise, returns
- false.
+ Returns true if this item or its \l{focusProxy()}{focus proxy} has keyboard
+ input focus; otherwise, returns false.
- \sa QGraphicsScene::focusItem(), setFocus(), QGraphicsScene::setFocusItem()
+ \sa focusItem(), setFocus(), QGraphicsScene::setFocusItem()
*/
bool QGraphicsItem::hasFocus() const
{
+ if (d_ptr->focusProxy)
+ return d_ptr->focusProxy->hasFocus();
return (d_ptr->scene && d_ptr->scene->focusItem() == this);
}
/*!
Gives keyboard input focus to this item. The \a focusReason argument will
- be passed into any focus event generated by this function; it is used to
- give an explanation of what caused the item to get focus.
+ be passed into any \l{QFocusEvent}{focus event} generated by this function;
+ it is used to give an explanation of what caused the item to get focus.
- Only items that set the ItemIsFocusable flag can accept keyboard focus.
+ Only enabled items that set the ItemIsFocusable flag can accept keyboard
+ focus.
- If this item is not visible (i.e., isVisible() returns false), not
- enabled, not associated with a scene, or if it already has input focus,
- this function will do nothing.
+ If this item is not visible, or not associated with a scene, it will not
+ gain immediate input focus. However, it will be registered as the preferred
+ focus item for its subtree of items, should it later become visible.
- As a result of calling this function, this item will receive a focus in
- event with \a focusReason. If another item already has focus, that item
- will first receive a focus out event indicating that it has lost input
- focus.
+ As a result of calling this function, this item will receive a
+ \l{focusInEvent()}{focus in event} with \a focusReason. If another item
+ already has focus, that item will first receive a \l{focusOutEvent()}
+ {focus out event} indicating that it has lost input focus.
- \sa clearFocus(), hasFocus()
+ \sa clearFocus(), hasFocus(), focusItem(), focusProxy()
*/
void QGraphicsItem::setFocus(Qt::FocusReason focusReason)
{
- if (!d_ptr->scene || !isEnabled() || hasFocus() || !(d_ptr->flags & ItemIsFocusable))
+ // Disabled / unfocusable items cannot accept focus.
+ if (!isEnabled() || !(d_ptr->flags & QGraphicsItem::ItemIsFocusable))
return;
- if (isVisible()) {
- // Visible items immediately gain focus from scene.
- d_ptr->scene->setFocusItem(this, focusReason);
- } else if (d_ptr->isWidget) {
- // Just set up subfocus.
- static_cast<QGraphicsWidget *>(this)->d_func()->setFocusWidget();
+
+ // Find focus proxy.
+ QGraphicsItem *f = this;
+ while (f->d_ptr->focusProxy)
+ f = f->d_ptr->focusProxy;
+
+ // Return if it already has focus.
+ if (d_ptr->scene && d_ptr->scene->focusItem() == f)
+ return;
+
+ // Update the child focus chain.
+ d_ptr->setSubFocus();
+
+ // Update the scene's focus item.
+ if (d_ptr->scene) {
+ QGraphicsWidget *w = window();
+ if (!w || w->isActiveWindow()) {
+ // Visible items immediately gain focus from scene.
+ d_ptr->scene->d_func()->setFocusItemHelper(f, focusReason);
+ }
}
}
/*!
Takes keyboard input focus from the item.
- If it has focus, a focus out event is sent to this item to tell it that it
- is about to lose the focus.
+ If it has focus, a \l{focusOutEvent()}{focus out event} is sent to this item
+ to tell it that it is about to lose the focus.
Only items that set the ItemIsFocusable flag, or widgets that set an
appropriate focus policy, can accept keyboard focus.
- \sa setFocus(), QGraphicsWidget::focusPolicy
+ \sa setFocus(), hasFocus(), QGraphicsWidget::focusPolicy
*/
void QGraphicsItem::clearFocus()
{
if (!d_ptr->scene)
return;
- if (d_ptr->isWidget) {
- // Invisible widget items with focus must explicitly clear subfocus.
- static_cast<QGraphicsWidget *>(this)->d_func()->clearFocusWidget();
- }
- if (d_ptr->scene->focusItem() == this) {
+ // Invisible items with focus must explicitly clear subfocus.
+ d_ptr->clearSubFocus();
+ if (hasFocus()) {
// If this item has the scene's input focus, clear it.
d_ptr->scene->setFocusItem(0);
}
}
/*!
+ \since 4.6
+
+ Returns this item's focus proxy, or 0 if this item has no
+ focus proxy.
+
+ \sa setFocusProxy(), ItemAutoDetectsFocusProxy, setFocus(), hasFocus()
+*/
+QGraphicsItem *QGraphicsItem::focusProxy() const
+{
+ return d_ptr->focusProxy;
+}
+
+/*!
+ \since 4.6
+
+ Sets the item's focus proxy to \a item.
+
+ If an item has a focus proxy, the focus proxy will receive
+ input focus when the item gains input focus. The item itself
+ will still have focus (i.e., hasFocus() will return true),
+ but only the focus proxy will receive the keyboard input.
+
+ A focus proxy can itself have a focus proxy, and so on. In
+ such case, keyboard input will be handled by the outermost
+ focus proxy.
+
+ The focus proxy \a item must belong to the same scene as
+ this item.
+
+ \sa focusProxy(), ItemAutoDetectsFocusProxy, setFocus(), hasFocus()
+*/
+void QGraphicsItem::setFocusProxy(QGraphicsItem *item)
+{
+ if (item == d_ptr->focusProxy)
+ return;
+ if (item == this) {
+ qWarning("QGraphicsItem::setFocusProxy: cannot assign self as focus proxy");
+ return;
+ }
+ if (item) {
+ if (item->d_ptr->scene != d_ptr->scene) {
+ qWarning("QGraphicsItem::setFocusProxy: focus proxy must be in same scene");
+ return;
+ }
+ for (QGraphicsItem *f = item->focusProxy(); f != 0; f = f->focusProxy()) {
+ if (f == this) {
+ qWarning("QGraphicsItem::setFocusProxy: %p is already in the focus proxy chain", item);
+ return;
+ }
+ }
+ }
+
+ QGraphicsItem *lastFocusProxy = d_ptr->focusProxy;
+ d_ptr->focusProxy = item;
+ if (d_ptr->scene) {
+ if (lastFocusProxy)
+ d_ptr->scene->d_func()->focusProxyReverseMap.remove(lastFocusProxy, this);
+ if (item)
+ d_ptr->scene->d_func()->focusProxyReverseMap.insert(item, this);
+ }
+}
+
+/*!
+ \since 4.6
+
+ If this item, a child or descendant of this item currently has input
+ focus, this function will return a pointer to that item. If
+ no descendant has input focus, 0 is returned.
+
+ \sa hasFocus(), setFocus(), QWidget::focusWidget()
+*/
+QGraphicsItem *QGraphicsItem::focusItem() const
+{
+ return d_ptr->subFocusItem;
+}
+
+/*!
\since 4.4
Grabs the mouse input.
@@ -2565,7 +2771,7 @@ void QGraphicsItem::ungrabKeyboard()
For convenience, you can also call scenePos() to determine the
item's position in scene coordinates, regardless of its parent.
- \sa x(), y(), setPos(), matrix(), {The Graphics View Coordinate System}
+ \sa x(), y(), setPos(), transform(), {The Graphics View Coordinate System}
*/
QPointF QGraphicsItem::pos() const
{
@@ -2581,10 +2787,12 @@ QPointF QGraphicsItem::pos() const
*/
/*!
- Set's the \a x coordinate of the item's position. Equivalent to
- calling setPos(x, y()).
+ \since 4.6
+
+ Set's the \a x coordinate of the item's position. Equivalent to
+ calling setPos(x, y()).
- \sa x(), setPos()
+ \sa x(), setPos()
*/
void QGraphicsItem::setX(qreal x)
{
@@ -2600,10 +2808,12 @@ void QGraphicsItem::setX(qreal x)
*/
/*!
- Set's the \a y coordinate of the item's position. Equivalent to
- calling setPos(x(), y).
+ \since 4.6
+
+ Set's the \a y coordinate of the item's position. Equivalent to
+ calling setPos(x(), y).
- \sa x(), setPos()
+ \sa x(), setPos()
*/
void QGraphicsItem::setY(qreal y)
{
@@ -2763,11 +2973,10 @@ QMatrix QGraphicsItem::matrix() const
Returns this item's transformation matrix.
- Either the one set by setTransform, or the resulting transformation from
- all the transfmation properties
-
- If no matrix or transformation property has been set, the
- identity matrix is returned.
+ The transformation matrix is combined with the item's rotation(), scale()
+ and transformations() into a combined transformations for the item.
+
+ The default transformation matrix is an identity matrix.
\sa setTransform(), sceneTransform()
*/
@@ -2781,333 +2990,182 @@ QTransform QGraphicsItem::transform() const
/*!
\since 4.6
- Returns the rotation around the X axis.
-
- The default is 0
+ Returns the clockwise rotation, in degrees, around the Z axis. The default
+ value is 0 (i.e., the item is not rotated).
- \warning The value doesn't take in account any rotation set with
- the setTransform() method.
+ The rotation is combined with the item's scale(), transform() and
+ transformations() to map the item's coordinate system to the parent item.
- \sa setXRotation(), {Transformations}
+ \sa setRotation(), transformOriginPoint(), {Transformations}
*/
-qreal QGraphicsItem::xRotation() const
+qreal QGraphicsItem::rotation() const
{
if (!d_ptr->transformData)
return 0;
- return d_ptr->transformData->xRotation;
-}
-
-/*!
- \since 4.6
-
- Sets the rotation around the X axis to \a angle degrees.
-
- \warning The value doesn't take in account any rotation set with the setTransform() method.
-
- \sa xRotation(), setTransformOrigin(), {Transformations}
-*/
-void QGraphicsItem::setXRotation(qreal angle)
-{
- prepareGeometryChange();
- if (!d_ptr->transformData)
- d_ptr->transformData = new QGraphicsItemPrivate::TransformData;
- d_ptr->transformData->xRotation = angle;
- d_ptr->transformData->onlyTransform = false;
- d_ptr->dirtySceneTransform = 1;
+ return d_ptr->transformData->rotation;
}
/*!
\since 4.6
- Returns the rotation around the Y axis.
-
- The default is 0
-
- \warning The value doesn't take in account any rotation set with the setTransform() method.
-
- \sa setYRotation(), {Transformations}
-*/
-qreal QGraphicsItem::yRotation() const
-{
- if (!d_ptr->transformData)
- return 0;
- return d_ptr->transformData->yRotation;
-}
-
-/*!
- \since 4.6
+ Sets the clockwise rotation \a angle, in degrees, around the Z axis. The
+ default value is 0 (i.e., the item is not rotated). Assigning a negative
+ value will rotate the item counter-clockwise. Normally the rotation angle
+ is in the range (-360, 360), but it's also possible to assign values
+ outside of this range (e.g., a rotation of 370 degrees is the same as a
+ rotation of 10 degrees).
- Sets the rotation around the Y axis to \a angle degrees.
+ The item is rotated around its transform origin point, which by default
+ is (0, 0). You can select a different transformation origin by calling
+ setTransformOriginPoint().
- \warning The value doesn't take in account any rotation set with the setTransform() method.
+ The rotation is combined with the item's scale(), transform() and
+ transformations() to map the item's coordinate system to the parent item.
- \sa yRotation(), setTransformOrigin() {Transformations}
+ \sa rotation(), setTransformOriginPoint(), {Transformations}
*/
-void QGraphicsItem::setYRotation(qreal angle)
+void QGraphicsItem::setRotation(qreal angle)
{
prepareGeometryChange();
if (!d_ptr->transformData)
d_ptr->transformData = new QGraphicsItemPrivate::TransformData;
- d_ptr->transformData->yRotation = angle;
+ d_ptr->transformData->rotation = angle;
d_ptr->transformData->onlyTransform = false;
d_ptr->dirtySceneTransform = 1;
-}
-/*!
- \since 4.6
-
- Returns the rotation around the Z axis.
-
- The default is 0
-
- \warning The value doesn't take in account any rotation set with the setTransform() method.
-
- \sa setZRotation(), {Transformations}
-*/
-qreal QGraphicsItem::zRotation() const
-{
- if (!d_ptr->transformData)
- return 0;
- return d_ptr->transformData->zRotation;
+ if (d_ptr->isObject)
+ emit static_cast<QGraphicsObject *>(this)->rotationChanged();
}
/*!
\since 4.6
- Sets the rotation around the Z axis to \a angle degrees.
+ Returns the scale factor of the item. The default scale factor is 1.0
+ (i.e., the item is not scaled).
- \warning The value doesn't take in account any rotation set with the setTransform() method.
+ The scale is combined with the item's rotation(), transform() and
+ transformations() to map the item's coordinate system to the parent item.
- \sa zRotation(), setTransformOrigin(), {Transformations}
+ \sa setScale(), rotation(), {Transformations}
*/
-void QGraphicsItem::setZRotation(qreal angle)
+qreal QGraphicsItem::scale() const
{
- prepareGeometryChange();
if (!d_ptr->transformData)
- d_ptr->transformData = new QGraphicsItemPrivate::TransformData;
- d_ptr->transformData->zRotation = angle;
- d_ptr->transformData->onlyTransform = false;
- d_ptr->dirtySceneTransform = 1;
+ return 1.;
+ return d_ptr->transformData->scale;
}
/*!
\since 4.6
- This convenience function set the rotation angles around the 3 axes
- to \a x, \a y and \a z.
+ Sets the scale \a factor of the item. The default scale factor is 1.0
+ (i.e., the item is not scaled). A scale factor of 0.0 will collapse the
+ item to a single point. If you provide a negative scale factor, the
+ item will be flipped and mirrored (i.e., rotated 180 degrees).
- \sa setXRotation(), setYRotation(), setZRotation(), {Transformations}
-*/
-void QGraphicsItem::setRotation(qreal x, qreal y, qreal z)
-{
- prepareGeometryChange();
- if (!d_ptr->transformData)
- d_ptr->transformData = new QGraphicsItemPrivate::TransformData;
- d_ptr->transformData->xRotation = x;
- d_ptr->transformData->yRotation = y;
- d_ptr->transformData->zRotation = z;
- d_ptr->transformData->onlyTransform = false;
- d_ptr->dirtySceneTransform = 1;
-}
-
-/*!
- \since 4.6
-
- Returns the scale factor on the X axis.
-
- The default is 1
-
- \warning The value doesn't take in account any scaling set with the setTransform() method.
-
- \sa setXScale(), {Transformations}
-*/
-qreal QGraphicsItem::xScale() const
-{
- if (!d_ptr->transformData)
- return 1;
- return d_ptr->transformData->xScale;
-}
-
-/*!
- \since 4.6
+ The item is scaled around its transform origin point, which by default
+ is (0, 0). You can select a different transformation origin by calling
+ setTransformOriginPoint().
- Sets the scale factor on the X axis to \a factor.
+ The scale is combined with the item's rotation(), transform() and
+ transformations() to map the item's coordinate system to the parent item.
- \warning The value doesn't take in account any scaling set with the setTransform() method.
-
- \sa xScale(), setTransformOrigin(), {Transformations}
+ \sa scale(), setTransformOriginPoint(), {Transformations}
*/
-void QGraphicsItem::setXScale(qreal factor)
+void QGraphicsItem::setScale(qreal factor)
{
prepareGeometryChange();
if (!d_ptr->transformData)
d_ptr->transformData = new QGraphicsItemPrivate::TransformData;
- d_ptr->transformData->xScale = factor;
+ d_ptr->transformData->scale = factor;
d_ptr->transformData->onlyTransform = false;
d_ptr->dirtySceneTransform = 1;
-}
-
-/*!
- \since 4.6
-
- Returns the scale factor on the Y axis.
-
- The default is 1
-
- \warning The value doesn't take in account any scaling set with the setTransform() method.
-
- \sa setYScale(), {Transformations}
-*/
-qreal QGraphicsItem::yScale() const
-{
- if (!d_ptr->transformData)
- return 1;
- return d_ptr->transformData->yScale;
-}
-
-/*!
- \since 4.6
- Sets the scale factor on the Y axis to \a factor.
-
- \warning The value doesn't take in account any scaling set with the setTransform() method.
-
- \sa yScale(), setTransformOrigin(), {Transformations}
-*/
-void QGraphicsItem::setYScale(qreal factor)
-{
- prepareGeometryChange();
- if (!d_ptr->transformData)
- d_ptr->transformData = new QGraphicsItemPrivate::TransformData;
- d_ptr->transformData->yScale = factor;
- d_ptr->transformData->onlyTransform = false;
- d_ptr->dirtySceneTransform = 1;
+ if (d_ptr->isObject)
+ emit static_cast<QGraphicsObject *>(this)->scaleChanged();
}
-/*!
- \since 4.6
-
- This convenience function set the scaling factors on X and Y axis to \a sx and \a sy.
-
- \warning The value doesn't take in account any scaling set with the setTransform() method.
-
- \sa setXScale(), setYScale(), {Transformations}
-*/
-void QGraphicsItem::setScale(qreal sx, qreal sy)
-{
- prepareGeometryChange();
- if (!d_ptr->transformData)
- d_ptr->transformData = new QGraphicsItemPrivate::TransformData;
- d_ptr->transformData->xScale = sx;
- d_ptr->transformData->yScale = sy;
- d_ptr->transformData->onlyTransform = false;
- d_ptr->dirtySceneTransform = 1;
-}
/*!
\since 4.6
- Returns the horizontal shear.
+ Returns a list of graphics transforms that currently apply to this item.
- The default is 0
+ QGraphicsTransform is for applying and controlling a chain of individual
+ transformation operations on an item. It's particularily useful in
+ animations, where each transform operation needs to be interpolated
+ independently, or differently.
- \warning The value doesn't take in account any shearing set with the setTransform() method.
+ The transformations are combined with the item's rotation(), scale() and
+ transform() to map the item's coordinate system to the parent item.
- \sa setHorizontalShear(), {Transformations}
+ \sa scale(), rotation(), transformOriginPoint(), {Transformations}
*/
-qreal QGraphicsItem::horizontalShear() const
+QList<QGraphicsTransform *> QGraphicsItem::transformations() const
{
if (!d_ptr->transformData)
- return 0;
- return d_ptr->transformData->horizontalShear;
+ return QList<QGraphicsTransform *>();
+ return d_ptr->transformData->graphicsTransforms;
}
/*!
\since 4.6
- Sets the horizontal shear to \a shear.
+ Sets a list of graphics \a transformations (QGraphicsTransform) that
+ currently apply to this item.
- \warning The value doesn't take in account any shearing set with the setTransform() method.
+ If all you want is to rotate or scale an item, you should call setRotation()
+ or setScale() instead. If you want to set an arbitrary transformation on
+ an item, you can call setTransform().
- \sa horizontalShear(), {Transformations}
-*/
-void QGraphicsItem::setHorizontalShear(qreal shear)
-{
- prepareGeometryChange();
- if (!d_ptr->transformData)
- d_ptr->transformData = new QGraphicsItemPrivate::TransformData;
- d_ptr->transformData->horizontalShear = shear;
- d_ptr->transformData->onlyTransform = false;
- d_ptr->dirtySceneTransform = 1;
-}
+ QGraphicsTransform is for applying and controlling a chain of individual
+ transformation operations on an item. It's particularily useful in
+ animations, where each transform operation needs to be interpolated
+ independently, or differently.
-/*!
- \since 4.6
+ The transformations are combined with the item's rotation(), scale() and
+ transform() to map the item's coordinate system to the parent item.
- Returns the vertical shear.
-
- The default is 0
-
- \warning The value doesn't take in account any shearing set with the setTransform() method.
-
- \sa setHorizontalShear(), {Transformations}
+ \sa scale(), setTransformOriginPoint(), {Transformations}
*/
-qreal QGraphicsItem::verticalShear() const
-{
- if (!d_ptr->transformData)
- return 0;
- return d_ptr->transformData->verticalShear;
-}
-
-/*!
- \since 4.6
-
- Sets the vertical shear to \a shear.
-
- \warning The value doesn't take in account any shearing set with the setTransform() method.
-
- \sa verticalShear(), {Transformations}
-*/
-void QGraphicsItem::setVerticalShear(qreal shear)
+void QGraphicsItem::setTransformations(const QList<QGraphicsTransform *> &transformations)
{
prepareGeometryChange();
if (!d_ptr->transformData)
d_ptr->transformData = new QGraphicsItemPrivate::TransformData;
- d_ptr->transformData->verticalShear = shear;
+ d_ptr->transformData->graphicsTransforms = transformations;
+ for (int i = 0; i < transformations.size(); ++i)
+ transformations.at(i)->d_func()->setItem(this);
d_ptr->transformData->onlyTransform = false;
d_ptr->dirtySceneTransform = 1;
}
/*!
- \since 4.6
-
- This convenience function sets the horizontal shear to \a sh and the vertical shear to \a sv.
-
- \warning The value doesn't take in account any shearing set with the setTransform() method.
-
- \sa setHorizontalShear(), setVerticalShear()
+ \internal
*/
-void QGraphicsItem::setShear(qreal sh, qreal sv)
+void QGraphicsItemPrivate::appendGraphicsTransform(QGraphicsTransform *t)
{
- prepareGeometryChange();
- if (!d_ptr->transformData)
- d_ptr->transformData = new QGraphicsItemPrivate::TransformData;
- d_ptr->transformData->horizontalShear = sh;
- d_ptr->transformData->verticalShear = sv;
- d_ptr->transformData->onlyTransform = false;
- d_ptr->dirtySceneTransform = 1;
+ if (!transformData)
+ transformData = new QGraphicsItemPrivate::TransformData;
+ if (!transformData->graphicsTransforms.contains(t))
+ transformData->graphicsTransforms.append(t);
+
+ Q_Q(QGraphicsItem);
+ t->d_func()->setItem(q);
+ transformData->onlyTransform = false;
+ dirtySceneTransform = 1;
}
/*!
\since 4.6
- Returns the origin point used for transformation in item coordinate.
+ Returns the origin point for the transformation in item coordinates.
The default is QPointF(0,0).
- \sa setTransformOrigin(), {Transformations}
+ \sa setTransformOriginPoint(), {Transformations}
*/
-QPointF QGraphicsItem::transformOrigin() const
+QPointF QGraphicsItem::transformOriginPoint() const
{
if (!d_ptr->transformData)
return QPointF(0,0);
@@ -3117,11 +3175,11 @@ QPointF QGraphicsItem::transformOrigin() const
/*!
\since 4.6
- Sets the \a origin for transformation in item coordinate
+ Sets the \a origin point for the transformation in item coordinates.
- \sa transformOrigin(), {Transformations}
+ \sa transformOriginPoint(), {Transformations}
*/
-void QGraphicsItem::setTransformOrigin(const QPointF &origin)
+void QGraphicsItem::setTransformOriginPoint(const QPointF &origin)
{
prepareGeometryChange();
if (!d_ptr->transformData)
@@ -3133,15 +3191,15 @@ void QGraphicsItem::setTransformOrigin(const QPointF &origin)
}
/*!
- \fn void QGraphicsItem::setTransformOrigin(qreal x, qreal y)
+ \fn void QGraphicsItem::setTransformOriginPoint(qreal x, qreal y)
\since 4.6
\overload
- Sets the origin for the transformation to the point
- composed of \a x and \a y.
-
- \sa setTransformOrigin(), {Transformations}
+ Sets the origin point for the transformation in item coordinates.
+ This is equivalent to calling setTransformOriginPoint(QPointF(\a x, \a y)).
+
+ \sa setTransformOriginPoint(), {Transformations}
*/
@@ -3154,7 +3212,8 @@ void QGraphicsItem::setTransformOrigin(const QPointF &origin)
*/
QMatrix QGraphicsItem::sceneMatrix() const
{
- return sceneTransform().toAffine();
+ d_ptr->ensureSceneTransform();
+ return d_ptr->sceneTransform.toAffine();
}
@@ -3177,16 +3236,7 @@ QMatrix QGraphicsItem::sceneMatrix() const
*/
QTransform QGraphicsItem::sceneTransform() const
{
- if (d_ptr->dirtySceneTransform) {
- // This item and all its descendants have dirty scene transforms.
- // We're about to validate this item's scene transform, so we have to
- // invalidate all the children; otherwise there's no way for the descendants
- // to detect that the ancestor has changed.
- d_ptr->invalidateChildrenSceneTransform();
- }
-
- QGraphicsItem *that = const_cast<QGraphicsItem *>(this);
- d_ptr->ensureSceneTransformRecursive(&that);
+ d_ptr->ensureSceneTransform();
return d_ptr->sceneTransform;
}
@@ -3216,8 +3266,10 @@ QTransform QGraphicsItem::sceneTransform() const
QTransform QGraphicsItem::deviceTransform(const QTransform &viewportTransform) const
{
// Ensure we return the standard transform if we're not untransformable.
- if (!d_ptr->itemIsUntransformable())
- return sceneTransform() * viewportTransform;
+ if (!d_ptr->itemIsUntransformable()) {
+ d_ptr->ensureSceneTransform();
+ return d_ptr->sceneTransform * viewportTransform;
+ }
// Find the topmost item that ignores view transformations.
const QGraphicsItem *untransformedAncestor = this;
@@ -3236,7 +3288,8 @@ QTransform QGraphicsItem::deviceTransform(const QTransform &viewportTransform) c
}
// First translate the base untransformable item.
- QPointF mappedPoint = (untransformedAncestor->sceneTransform() * viewportTransform).map(QPointF(0, 0));
+ untransformedAncestor->d_ptr->ensureSceneTransform();
+ QPointF mappedPoint = (untransformedAncestor->d_ptr->sceneTransform * viewportTransform).map(QPointF(0, 0));
// COMBINE
QTransform matrix = QTransform::fromTranslate(mappedPoint.x(), mappedPoint.y());
@@ -3329,8 +3382,11 @@ QTransform QGraphicsItem::itemTransform(const QGraphicsItem *other, bool *ok) co
// Find the closest common ancestor. If the two items don't share an
// ancestor, then the only way is to combine their scene transforms.
const QGraphicsItem *commonAncestor = commonAncestorItem(other);
- if (!commonAncestor)
- return sceneTransform() * other->sceneTransform().inverted(ok);
+ if (!commonAncestor) {
+ d_ptr->ensureSceneTransform();
+ other->d_ptr->ensureSceneTransform();
+ return d_ptr->sceneTransform * other->d_ptr->sceneTransform.inverted(ok);
+ }
// If the two items are cousins (in sibling branches), map both to the
// common ancestor, and combine the two transforms.
@@ -3420,9 +3476,11 @@ void QGraphicsItem::setMatrix(const QMatrix &matrix, bool combine)
to map an item coordiate to a scene coordinate, or mapFromScene() to map
from scene coordinates to item coordinates.
- \warning using this function doesnt affect the value of the transformation properties
+ The transformation matrix is combined with the item's rotation(), scale()
+ and transformations() into a combined transformation that maps the item's
+ coordinate system to its parent.
- \sa transform(), setRotation(), setScale(), setShear(), setTransformOrigin(), {The Graphics View Coordinate System}, {Transformations}
+ \sa transform(), setRotation(), setScale(), setTransformOriginPoint(), {The Graphics View Coordinate System}, {Transformations}
*/
void QGraphicsItem::setTransform(const QTransform &matrix, bool combine)
{
@@ -3479,7 +3537,14 @@ void QGraphicsItem::resetTransform()
/*!
\obsolete
- Use setZRotation() instead
+
+ Use
+
+ \code
+ setRotation(rotation() + angle);
+ \endcode
+
+ instead.
Rotates the current item transformation \a angle degrees clockwise around
its origin. To translate around an arbitrary point (x, y), you need to
@@ -3489,8 +3554,6 @@ void QGraphicsItem::resetTransform()
\snippet doc/src/snippets/code/src_gui_graphicsview_qgraphicsitem.cpp 6
- \warning using this functionhas no effect on the zRotation value
-
\sa setTransform(), transform(), scale(), shear(), translate()
*/
void QGraphicsItem::rotate(qreal angle)
@@ -3500,7 +3563,14 @@ void QGraphicsItem::rotate(qreal angle)
/*!
\obsolete
- Use setScale() instead
+
+ Use
+
+ \code
+ setTransform(QTransform::fromScale(sx, sy), true);
+ \endcode
+
+ instead.
Scales the current item transformation by (\a sx, \a sy) around its
origin. To scale from an arbitrary point (x, y), you need to combine
@@ -3510,8 +3580,6 @@ void QGraphicsItem::rotate(qreal angle)
\snippet doc/src/snippets/code/src_gui_graphicsview_qgraphicsitem.cpp 7
- \warning using this function has no effect on the xScale or yScale value
-
\sa setTransform(), transform()
*/
void QGraphicsItem::scale(qreal sx, qreal sy)
@@ -3521,11 +3589,16 @@ void QGraphicsItem::scale(qreal sx, qreal sy)
/*!
\obsolete
- Use setShear instead.
- Shears the current item transformation by (\a sh, \a sv).
+ Use
- \warning using this function has no effect on the horizontalShear or verticalShear value
+ \code
+ setTransform(QTransform().shear(sh, sv), true);
+ \endcode
+
+ instead.
+
+ Shears the current item transformation by (\a sh, \a sv).
\sa setTransform(), transform()
*/
@@ -3536,7 +3609,13 @@ void QGraphicsItem::shear(qreal sh, qreal sv)
/*!
\obsolete
- Use setPos() or setTransformOrigin() instead.
+
+ Use setPos() or setTransformOriginPoint() instead. For identical
+ behavior, use
+
+ \code
+ setTransform(QTransform::fromTranslate(dx, dy), true);
+ \endcode
Translates the current item transformation by (\a dx, \a dy).
@@ -3621,18 +3700,20 @@ void QGraphicsItem::setZValue(qreal z)
qreal newZ = qreal(newZVariant.toDouble());
if (newZ == d_ptr->z)
return;
+
+ if (d_ptr->scene) {
+ // Z Value has changed, we have to notify the index.
+ d_ptr->scene->d_func()->index->itemChange(this, ItemZValueChange, newZVariant);
+ }
+
d_ptr->z = newZ;
if (d_ptr->parent)
d_ptr->parent->d_ptr->needSortChildren = 1;
else if (d_ptr->scene)
d_ptr->scene->d_func()->needSortTopLevelItems = 1;
- if (d_ptr->scene) {
+ if (d_ptr->scene)
d_ptr->scene->d_func()->markDirty(this, QRectF(), /*invalidateChildren=*/true);
- // Invalidate any sort caching; arrival of a new item means we need to
- // resort.
- d_ptr->scene->d_func()->invalidateSortCache();
- }
itemChange(ItemZValueHasChanged, newZVariant);
@@ -3723,7 +3804,13 @@ QRectF QGraphicsItem::sceneBoundingRect() const
QRectF br = boundingRect();
br.translate(offset);
- return !parentItem ? br : parentItem->sceneTransform().mapRect(br);
+ if (!parentItem)
+ return br;
+ if (parentItem->d_ptr->hasTranslateOnlySceneTransform()) {
+ br.translate(parentItem->d_ptr->sceneTransform.dx(), parentItem->d_ptr->sceneTransform.dy());
+ return br;
+ }
+ return parentItem->d_ptr->sceneTransform.mapRect(br);
}
/*!
@@ -4098,7 +4185,7 @@ bool QGraphicsItem::isObscuredBy(const QGraphicsItem *item) const
{
if (!item)
return false;
- return QGraphicsScenePrivate::closestItemFirst_withoutCache(item, this)
+ return QGraphicsSceneBspTreeIndexPrivate::closestItemFirst_withoutCache(item, this)
&& qt_QGraphicsItem_isObscured(this, item, boundingRect());
}
@@ -4291,12 +4378,11 @@ bool QGraphicsItemPrivate::discardUpdateRequest(bool ignoreClipping, bool ignore
{
// No scene, or if the scene is updating everything, means we have nothing
// to do. The only exception is if the scene tracks the growing scene rect.
- return (!visible && !ignoreVisibleBit)
+ return !scene
+ || (!visible && !ignoreVisibleBit && !this->ignoreVisible)
|| (!ignoreDirtyBit && fullUpdatePending)
- || !scene
- || (scene->d_func()->updateAll && scene->d_func()->hasSceneRect)
|| (!ignoreClipping && (childrenClippedToShape() && isClippedAway()))
- || (!ignoreOpacity && childrenCombineOpacity() && isFullyTransparent());
+ || (!ignoreOpacity && !this->ignoreOpacity && childrenCombineOpacity() && isFullyTransparent());
}
/*!
@@ -4317,6 +4403,7 @@ void QGraphicsItemPrivate::resolveDepth(int parentDepth)
void QGraphicsItemPrivate::addChild(QGraphicsItem *child)
{
needSortChildren = 1;
+ child->d_ptr->siblingIndex = children.size();
children.append(child);
}
@@ -4326,6 +4413,10 @@ void QGraphicsItemPrivate::addChild(QGraphicsItem *child)
void QGraphicsItemPrivate::removeChild(QGraphicsItem *child)
{
children.removeOne(child);
+ // NB! Do not use children.removeAt(child->d_ptr->siblingIndex) because
+ // the child is not guaranteed to be at the index after the list is sorted.
+ // (see ensureSortedChildren()).
+ child->d_ptr->siblingIndex = -1;
}
/*!
@@ -4486,9 +4577,50 @@ void QGraphicsItemPrivate::ensureSceneTransformRecursive(QGraphicsItem **topMost
}
// COMBINE my transform with the parent's scene transform.
- sceneTransform = parent ? parent->d_ptr->sceneTransform : QTransform();
- combineTransformFromParent(&sceneTransform);
- dirtySceneTransform = 0;
+ updateSceneTransformFromParent();
+ Q_ASSERT(!dirtySceneTransform);
+}
+
+void QGraphicsItemPrivate::ensureSceneTransform()
+{
+ if (dirtySceneTransform) {
+ // This item and all its descendants have dirty scene transforms.
+ // We're about to validate this item's scene transform, so we have to
+ // invalidate all the children; otherwise there's no way for the descendants
+ // to detect that the ancestor has changed.
+ invalidateChildrenSceneTransform();
+ }
+
+ QGraphicsItem *that = q_func();
+ ensureSceneTransformRecursive(&that);
+}
+
+/*!
+ \internal
+*/
+void QGraphicsItemPrivate::setSubFocus()
+{
+ // Update focus child chain.
+ QGraphicsItem *item = q_ptr;
+ QGraphicsItem *parent = item;
+ bool hidden = !visible;
+ do {
+ parent->d_func()->subFocusItem = item;
+ } while (!parent->isWindow() && (parent = parent->d_ptr->parent) && (!hidden || !parent->d_func()->visible));
+}
+
+/*!
+ \internal
+*/
+void QGraphicsItemPrivate::clearSubFocus()
+{
+ // Reset focus child chain.
+ QGraphicsItem *parent = q_ptr;
+ do {
+ if (parent->d_ptr->subFocusItem != q_ptr)
+ break;
+ parent->d_ptr->subFocusItem = 0;
+ } while (!parent->isWindow() && (parent = parent->d_ptr->parent));
}
/*!
@@ -4829,7 +4961,9 @@ QPointF QGraphicsItem::mapToParent(const QPointF &point) const
*/
QPointF QGraphicsItem::mapToScene(const QPointF &point) const
{
- return sceneTransform().map(point);
+ if (d_ptr->hasTranslateOnlySceneTransform())
+ return QPointF(point.x() + d_ptr->sceneTransform.dx(), point.y() + d_ptr->sceneTransform.dy());
+ return d_ptr->sceneTransform.map(point);
}
/*!
@@ -4896,7 +5030,9 @@ QPolygonF QGraphicsItem::mapToParent(const QRectF &rect) const
*/
QPolygonF QGraphicsItem::mapToScene(const QRectF &rect) const
{
- return sceneTransform().map(rect);
+ if (d_ptr->hasTranslateOnlySceneTransform())
+ return rect.translated(d_ptr->sceneTransform.dx(), d_ptr->sceneTransform.dy());
+ return d_ptr->sceneTransform.map(rect);
}
/*!
@@ -4969,7 +5105,9 @@ QRectF QGraphicsItem::mapRectToParent(const QRectF &rect) const
*/
QRectF QGraphicsItem::mapRectToScene(const QRectF &rect) const
{
- return sceneTransform().mapRect(rect);
+ if (d_ptr->hasTranslateOnlySceneTransform())
+ return rect.translated(d_ptr->sceneTransform.dx(), d_ptr->sceneTransform.dy());
+ return d_ptr->sceneTransform.mapRect(rect);
}
/*!
@@ -5043,7 +5181,9 @@ QRectF QGraphicsItem::mapRectFromParent(const QRectF &rect) const
*/
QRectF QGraphicsItem::mapRectFromScene(const QRectF &rect) const
{
- return sceneTransform().inverted().mapRect(rect);
+ if (d_ptr->hasTranslateOnlySceneTransform())
+ return rect.translated(-d_ptr->sceneTransform.dx(), -d_ptr->sceneTransform.dy());
+ return d_ptr->sceneTransform.inverted().mapRect(rect);
}
/*!
@@ -5095,7 +5235,9 @@ QPolygonF QGraphicsItem::mapToParent(const QPolygonF &polygon) const
*/
QPolygonF QGraphicsItem::mapToScene(const QPolygonF &polygon) const
{
- return sceneTransform().map(polygon);
+ if (d_ptr->hasTranslateOnlySceneTransform())
+ return polygon.translated(d_ptr->sceneTransform.dx(), d_ptr->sceneTransform.dy());
+ return d_ptr->sceneTransform.map(polygon);
}
/*!
@@ -5140,7 +5282,9 @@ QPainterPath QGraphicsItem::mapToParent(const QPainterPath &path) const
*/
QPainterPath QGraphicsItem::mapToScene(const QPainterPath &path) const
{
- return sceneTransform().map(path);
+ if (d_ptr->hasTranslateOnlySceneTransform())
+ return path.translated(d_ptr->sceneTransform.dx(), d_ptr->sceneTransform.dy());
+ return d_ptr->sceneTransform.map(path);
}
/*!
@@ -5201,7 +5345,9 @@ QPointF QGraphicsItem::mapFromParent(const QPointF &point) const
*/
QPointF QGraphicsItem::mapFromScene(const QPointF &point) const
{
- return sceneTransform().inverted().map(point);
+ if (d_ptr->hasTranslateOnlySceneTransform())
+ return QPointF(point.x() - d_ptr->sceneTransform.dx(), point.y() - d_ptr->sceneTransform.dy());
+ return d_ptr->sceneTransform.inverted().map(point);
}
/*!
@@ -5269,7 +5415,9 @@ QPolygonF QGraphicsItem::mapFromParent(const QRectF &rect) const
*/
QPolygonF QGraphicsItem::mapFromScene(const QRectF &rect) const
{
- return sceneTransform().inverted().map(rect);
+ if (d_ptr->hasTranslateOnlySceneTransform())
+ return rect.translated(-d_ptr->sceneTransform.dx(), -d_ptr->sceneTransform.dy());
+ return d_ptr->sceneTransform.inverted().map(rect);
}
/*!
@@ -5319,7 +5467,9 @@ QPolygonF QGraphicsItem::mapFromParent(const QPolygonF &polygon) const
*/
QPolygonF QGraphicsItem::mapFromScene(const QPolygonF &polygon) const
{
- return sceneTransform().inverted().map(polygon);
+ if (d_ptr->hasTranslateOnlySceneTransform())
+ return polygon.translated(-d_ptr->sceneTransform.dx(), -d_ptr->sceneTransform.dy());
+ return d_ptr->sceneTransform.inverted().map(polygon);
}
/*!
@@ -5362,7 +5512,9 @@ QPainterPath QGraphicsItem::mapFromParent(const QPainterPath &path) const
*/
QPainterPath QGraphicsItem::mapFromScene(const QPainterPath &path) const
{
- return sceneTransform().inverted().map(path);
+ if (d_ptr->hasTranslateOnlySceneTransform())
+ return path.translated(-d_ptr->sceneTransform.dx(), -d_ptr->sceneTransform.dy());
+ return d_ptr->sceneTransform.inverted().map(path);
}
/*!
@@ -5838,7 +5990,7 @@ void QGraphicsItem::dropEvent(QGraphicsSceneDragDropEvent *event)
focus in events for this item. The default implementation calls
ensureVisible().
- \sa focusOutEvent(), sceneEvent()
+ \sa focusOutEvent(), sceneEvent(), setFocus()
*/
void QGraphicsItem::focusInEvent(QFocusEvent *event)
{
@@ -5849,7 +6001,7 @@ void QGraphicsItem::focusInEvent(QFocusEvent *event)
This event handler, for event \a event, can be reimplemented to receive
focus out events for this item. The default implementation does nothing.
- \sa focusInEvent(), sceneEvent()
+ \sa focusInEvent(), sceneEvent(), setFocus()
*/
void QGraphicsItem::focusOutEvent(QFocusEvent *event)
{
@@ -6235,7 +6387,7 @@ void QGraphicsItem::inputMethodEvent(QInputMethodEvent *event)
surrounding text and reconversions. \a query specifies which
property is queried.
- \sa inputMethodEvent()
+ \sa inputMethodEvent(), QInputMethodEvent, QInputContext
*/
QVariant QGraphicsItem::inputMethodQuery(Qt::InputMethodQuery query) const
{
@@ -6251,99 +6403,36 @@ QVariant QGraphicsItem::inputMethodQuery(Qt::InputMethodQuery query) const
}
/*!
- \since 4.6
+ Returns the current input method hints of this item.
- Subscribes the graphics item to the specified \a gesture type.
+ Input method hints are only relevant for input items.
+ The hints are used by the input method to indicate how it should operate.
+ For example, if the Qt::ImhNumbersOnly flag is set, the input method may change
+ its visual components to reflect that only numbers can be entered.
- Returns the id of the gesture.
+ The effect may vary between input method implementations.
- \sa releaseGesture(), setGestureEnabled()
-*/
-int QGraphicsItem::grabGesture(Qt::GestureType gesture)
-{
- /// TODO: if we are QGraphicsProxyWidget we should subscribe the widget to gesture as well.
- return grabGesture(qt_getStandardGestureTypeName(gesture));
-}
-
-/*!
\since 4.6
- Subscribes the graphics item to the specified \a gesture type.
-
- Returns the id of the gesture.
-
- \sa releaseGesture(), setGestureEnabled()
+ \sa setInputMethodHints(), inputMethodQuery(), QInputContext
*/
-int QGraphicsItem::grabGesture(const QString &gesture)
+Qt::InputMethodHints QGraphicsItem::inputMethodHints() const
{
- int id = QGestureManager::instance()->makeGestureId(gesture);
- d_ptr->grabGesture(id);
- return id;
-}
-
-void QGraphicsItemPrivate::grabGesture(int id)
-{
- Q_Q(QGraphicsItem);
- extraGestures()->gestures << id;
- if (scene)
- scene->d_func()->grabGesture(q, id);
-}
-
-bool QGraphicsItemPrivate::releaseGesture(int id)
-{
- Q_Q(QGraphicsItem);
- QGestureExtraData *extra = maybeExtraGestures();
- if (extra && extra->gestures.contains(id)) {
- if (scene)
- scene->d_func()->releaseGesture(q, id);
- extra->gestures.remove(id);
- return true;
- }
- return false;
+ Q_D(const QGraphicsItem);
+ return d->imHints;
}
/*!
- \since 4.6
-
- Unsubscribes the graphics item from a gesture, which is specified
- by the \a gestureId.
+ Sets the current input method hints of this item to \a hints.
- \sa grabGesture(), setGestureEnabled()
-*/
-void QGraphicsItem::releaseGesture(int gestureId)
-{
- /// TODO: if we are QGraphicsProxyWidget we should unsubscribe the widget from gesture as well.
- if (d_ptr->releaseGesture(gestureId))
- QGestureManager::instance()->releaseGestureId(gestureId);
-}
-
-/*!
\since 4.6
- If \a enable is true, the gesture with the given \a gestureId is
- enabled; otherwise the gesture is disabled.
-
- The id of the gesture is returned by the grabGesture().
-
- \sa grabGesture(), releaseGesture()
+ \sa inputMethodHints(), inputMethodQuery(), QInputContext
*/
-void QGraphicsItem::setGestureEnabled(int gestureId, bool enable)
+void QGraphicsItem::setInputMethodHints(Qt::InputMethodHints hints)
{
- //###
-}
-
-bool QGraphicsItemPrivate::hasGesture(const QString &name) const
-{
- if (QGestureExtraData *extra = maybeExtraGestures()) {
- QGestureManager *gm = QGestureManager::instance();
- QSet<int>::const_iterator it = extra->gestures.begin(),
- e = extra->gestures.end();
- for (; it != e; ++it) {
- if (gm->gestureNameFromId(*it) == name)
- return true;
- }
- }
- return false;
+ Q_D(QGraphicsItem);
+ d->imHints = hints;
}
/*!
@@ -6370,23 +6459,6 @@ bool QGraphicsItemPrivate::hasGesture(const QString &name) const
QVariant QGraphicsItem::itemChange(GraphicsItemChange change, const QVariant &value)
{
Q_UNUSED(change);
- if (change == QGraphicsItem::ItemSceneChange) {
- QGestureExtraData *extra = d_ptr->maybeExtraGestures();
- if (!qVariantValue<QGraphicsScene*>(value) && extra) {
- // the item has been removed from a scene, unsubscribe gestures.
- Q_ASSERT(d_ptr->scene);
- foreach(int id, extra->gestures)
- d_ptr->scene->d_func()->releaseGesture(this, id);
- }
- } else if (change == QGraphicsItem::ItemSceneHasChanged) {
- QGraphicsScene *scene = qVariantValue<QGraphicsScene*>(value);
- QGestureExtraData *extra = d_ptr->maybeExtraGestures();
- if (scene && extra) {
- // item has been added to the scene
- foreach(int id, extra->gestures)
- scene->d_func()->grabGesture(this, id);
- }
- }
return value;
}
@@ -6440,7 +6512,7 @@ void QGraphicsItem::addToIndex()
return;
}
if (d_ptr->scene)
- d_ptr->scene->d_func()->addToIndex(this);
+ d_ptr->scene->d_func()->index->addItem(this);
}
/*!
@@ -6457,7 +6529,7 @@ void QGraphicsItem::removeFromIndex()
return;
}
if (d_ptr->scene)
- d_ptr->scene->d_func()->removeFromIndex(this);
+ d_ptr->scene->d_func()->index->removeItem(this);
}
/*!
@@ -6476,10 +6548,12 @@ void QGraphicsItem::removeFromIndex()
void QGraphicsItem::prepareGeometryChange()
{
if (d_ptr->scene) {
+ d_ptr->scene->d_func()->dirtyGrowingItemsBoundingRect = true;
d_ptr->geometryChanged = 1;
d_ptr->paintedViewBoundingRectsNeedRepaint = 1;
QGraphicsScenePrivate *scenePrivate = d_ptr->scene->d_func();
+ scenePrivate->index->prepareBoundingRectChange(this);
scenePrivate->markDirty(this, QRectF(),
/*invalidateChildren=*/true,
/*maybeDirtyClipPath=*/!d_ptr->inSetPosHelper);
@@ -6488,12 +6562,15 @@ void QGraphicsItem::prepareGeometryChange()
// if someone is connected to the changed signal or the scene has no views.
// Note that this has to be done *after* markDirty to ensure that
// _q_processDirtyItems is called before _q_emitUpdated.
- if ((scenePrivate->connectedSignals & scenePrivate->changedSignalMask)
+ if ((scenePrivate->connectedSignals[0] & scenePrivate->changedSignalMask)
|| scenePrivate->views.isEmpty()) {
- d_ptr->scene->update(sceneTransform().mapRect(boundingRect()));
+ if (d_ptr->hasTranslateOnlySceneTransform()) {
+ d_ptr->scene->update(boundingRect().translated(d_ptr->sceneTransform.dx(),
+ d_ptr->sceneTransform.dy()));
+ } else {
+ d_ptr->scene->update(d_ptr->sceneTransform.mapRect(boundingRect()));
+ }
}
-
- scenePrivate->removeFromIndex(this);
}
QGraphicsItem *parent = this;
@@ -6695,6 +6772,41 @@ QGraphicsObject::QGraphicsObject(QGraphicsItemPrivate &dd, QGraphicsItem *parent
\sa pos()
*/
+/*!
+ \property QGraphicsObject::rotation
+ This property holds the rotation of the item in degrees.
+
+ This specifies how many degrees to rotate the item around its transformOrigin.
+ The default rotation is 0 degrees (i.e. not rotated at all).
+*/
+
+/*!
+ \fn QGraphicsObject::rotationChanged()
+
+ This signal gets emitted whenever the roation of the item changes.
+*/
+
+/*!
+ \property QGraphicsObject::scale
+ This property holds the scale of the item.
+
+ A scale of less than 1 means the item will be displayed smaller than
+ normal, and a scale of greater than 1 means the item will be
+ displayed larger than normal. A negative scale means the item will
+ be mirrored.
+
+ By default, items are displayed at a scale of 1 (i.e. at their
+ normal size).
+
+ Scaling is from the item's transformOrigin.
+*/
+
+/*!
+ \fn void QGraphicsObject::scaleChanged()
+
+ This signal is emitted when the scale of the item changes.
+*/
+
/*!
\property QGraphicsObject::enabled
@@ -6734,6 +6846,25 @@ QGraphicsObject::QGraphicsObject(QGraphicsItemPrivate &dd, QGraphicsItem *parent
\sa visible
*/
+/*!
+ \fn const QObjectList &QGraphicsObject::children() const
+ \internal
+
+ This function returns the same value as QObject::children(). It's
+ provided to differentiate between the obsolete member
+ QGraphicsItem::children() and QObject::children(). QGraphicsItem now
+ provides childItems() instead.
+*/
+
+/*!
+ \property QGraphicsObject::transformOriginPoint
+ \brief the transformation origin
+
+ This property sets a specific point in the items coordiante system as the
+ origin for scale and rotation.
+
+ \sa scale, rotation, QGraphicsItem::transformOriginPoint()
+*/
/*!
@@ -9743,13 +9874,10 @@ QVariant QGraphicsSimpleTextItem::extension(const QVariant &variant) const
setParentItem().
The boundingRect() function of QGraphicsItemGroup returns the
- bounding rectangle of all items in the item group. In addition,
- item groups have handlesChildEvents() enabled by default, so all
- events sent to a member of the group go to the item group (i.e.,
- selecting one item in a group will select them all).
- QGraphicsItemGroup ignores the ItemIgnoresTransformations flag on its
- children (i.e., with respect to the geometry of the group item, the
- children are treated as if they were transformable).
+ bounding rectangle of all items in the item group.
+ QGraphicsItemGroup ignores the ItemIgnoresTransformations flag on
+ its children (i.e., with respect to the geometry of the group
+ item, the children are treated as if they were transformable).
There are two ways to construct an item group. The easiest and
most common approach is to pass a list of items (e.g., all
@@ -9939,17 +10067,11 @@ QDebug operator<<(QDebug debug, QGraphicsItem *item)
return debug;
}
- QStringList flags;
- if (item->isVisible()) flags << QLatin1String("isVisible");
- if (item->isEnabled()) flags << QLatin1String("isEnabled");
- if (item->isSelected()) flags << QLatin1String("isSelected");
- if (item->hasFocus()) flags << QLatin1String("HasFocus");
-
debug << "QGraphicsItem(this =" << ((void*)item)
<< ", parent =" << ((void*)item->parentItem())
<< ", pos =" << item->pos()
- << ", z =" << item->zValue() << ", flags = {"
- << flags.join(QLatin1String("|")) << " })";
+ << ", z =" << item->zValue() << ", flags = "
+ << item->flags() << ")";
return debug;
}
@@ -10083,6 +10205,12 @@ QDebug operator<<(QDebug debug, QGraphicsItem::GraphicsItemFlag flag)
case QGraphicsItem::ItemSendsGeometryChanges:
str = "ItemSendsGeometryChanges";
break;
+ case QGraphicsItem::ItemAcceptsInputMethod:
+ str = "ItemAcceptsInputMethod";
+ break;
+ case QGraphicsItem::ItemAutoDetectsFocusProxy:
+ str = "ItemAutoDetectsFocusProxy";
+ break;
}
debug << str;
return debug;
diff --git a/src/gui/graphicsview/qgraphicsitem.h b/src/gui/graphicsview/qgraphicsitem.h
index 0b93c27..465525f 100644
--- a/src/gui/graphicsview/qgraphicsitem.h
+++ b/src/gui/graphicsview/qgraphicsitem.h
@@ -72,6 +72,7 @@ class QGraphicsSceneHoverEvent;
class QGraphicsSceneMouseEvent;
class QGraphicsSceneWheelEvent;
class QGraphicsScene;
+class QGraphicsTransform;
class QGraphicsWidget;
class QInputMethodEvent;
class QKeyEvent;
@@ -99,7 +100,9 @@ public:
ItemStacksBehindParent = 0x100,
ItemUsesExtendedStyleOption = 0x200,
ItemHasNoContents = 0x400,
- ItemSendsGeometryChanges = 0x800
+ ItemSendsGeometryChanges = 0x800,
+ ItemAcceptsInputMethod = 0x1000,
+ ItemAutoDetectsFocusProxy = 0x2000
// NB! Don't forget to increase the d_ptr->flags bit field by 1 when adding a new flag.
};
Q_DECLARE_FLAGS(GraphicsItemFlags, GraphicsItemFlag)
@@ -142,7 +145,7 @@ public:
QGraphicsItem(QGraphicsItem *parent = 0
#ifndef Q_QDOC
- // obsolete argument
+ // ### obsolete argument
, QGraphicsScene *scene = 0
#endif
);
@@ -209,13 +212,16 @@ public:
Qt::MouseButtons acceptedMouseButtons() const;
void setAcceptedMouseButtons(Qt::MouseButtons buttons);
- bool acceptsHoverEvents() const; // obsolete
- void setAcceptsHoverEvents(bool enabled); // obsolete
+ bool acceptsHoverEvents() const; // ### obsolete
+ void setAcceptsHoverEvents(bool enabled); // ### obsolete
bool acceptHoverEvents() const;
void setAcceptHoverEvents(bool enabled);
bool acceptTouchEvents() const;
void setAcceptTouchEvents(bool enabled);
+ bool filtersChildEvents() const;
+ void setFiltersChildEvents(bool enabled);
+
bool handlesChildEvents() const;
void setHandlesChildEvents(bool enabled);
@@ -223,6 +229,11 @@ public:
void setFocus(Qt::FocusReason focusReason = Qt::OtherFocusReason);
void clearFocus();
+ QGraphicsItem *focusProxy() const;
+ void setFocusProxy(QGraphicsItem *item);
+
+ QGraphicsItem *focusItem() const;
+
void grabMouse();
void ungrabMouse();
void grabKeyboard();
@@ -259,34 +270,19 @@ public:
void shear(qreal sh, qreal sv); // ### obsolete
void translate(qreal dx, qreal dy); // ### obsolete
- qreal xRotation() const;
- void setXRotation(qreal angle);
-
- qreal yRotation() const;
- void setYRotation(qreal angle);
-
- qreal zRotation() const;
- void setZRotation(qreal angle);
- void setRotation(qreal x, qreal y, qreal z);
+ void setRotation(qreal angle);
+ qreal rotation() const;
- qreal xScale() const;
- void setXScale(qreal factor);
+ void setScale(qreal scale);
+ qreal scale() const;
- qreal yScale() const;
- void setYScale(qreal factor);
- void setScale(qreal sx, qreal sy);
+ QList<QGraphicsTransform *> transformations() const;
+ void setTransformations(const QList<QGraphicsTransform *> &transformations);
- qreal horizontalShear() const;
- void setHorizontalShear(qreal shear);
-
- qreal verticalShear() const;
- void setVerticalShear(qreal shear);
- void setShear(qreal sh, qreal sv);
-
- QPointF transformOrigin() const;
- void setTransformOrigin(const QPointF &origin);
- inline void setTransformOrigin(qreal x, qreal y)
- { setTransformOrigin(QPointF(x,y)); }
+ QPointF transformOriginPoint() const;
+ void setTransformOriginPoint(const QPointF &origin);
+ inline void setTransformOriginPoint(qreal x, qreal y)
+ { setTransformOriginPoint(QPointF(x,y)); }
virtual void advance(int phase);
@@ -380,10 +376,8 @@ public:
QVariant data(int key) const;
void setData(int key, const QVariant &value);
- int grabGesture(Qt::GestureType gesture);
- int grabGesture(const QString &gesture);
- void releaseGesture(int gestureId);
- void setGestureEnabled(int gestureId, bool enable = true);
+ Qt::InputMethodHints inputMethodHints() const;
+ void setInputMethodHints(Qt::InputMethodHints hints);
enum {
Type = 1,
@@ -437,16 +431,22 @@ protected:
private:
Q_DISABLE_COPY(QGraphicsItem)
- Q_DECLARE_SCOPED_PRIVATE(QGraphicsItem)
+ Q_DECLARE_PRIVATE(QGraphicsItem)
friend class QGraphicsItemGroup;
friend class QGraphicsScene;
friend class QGraphicsScenePrivate;
friend class QGraphicsSceneFindItemBspTreeVisitor;
+ friend class QGraphicsSceneBspTree;
friend class QGraphicsView;
friend class QGraphicsViewPrivate;
friend class QGraphicsWidget;
friend class QGraphicsWidgetPrivate;
friend class QGraphicsProxyWidgetPrivate;
+ friend class QGraphicsSceneIndex;
+ friend class QGraphicsSceneIndexPrivate;
+ friend class QGraphicsSceneBspTreeIndex;
+ friend class QGraphicsSceneBspTreeIndexPrivate;
+ friend class QGraphicsTransformPrivate;
friend class ::tst_QGraphicsItem;
friend bool qt_closestLeaf(const QGraphicsItem *, const QGraphicsItem *);
friend bool qt_closestItemFirst(const QGraphicsItem *, const QGraphicsItem *);
@@ -512,9 +512,19 @@ class Q_GUI_EXPORT QGraphicsObject : public QObject, public QGraphicsItem
Q_PROPERTY(qreal x READ x WRITE setX NOTIFY xChanged)
Q_PROPERTY(qreal y READ y WRITE setY NOTIFY yChanged)
Q_PROPERTY(qreal z READ zValue WRITE setZValue NOTIFY zChanged)
+ Q_PROPERTY(qreal rotation READ rotation WRITE setRotation NOTIFY rotationChanged)
+ Q_PROPERTY(qreal scale READ scale WRITE setScale NOTIFY scaleChanged)
+ Q_PROPERTY(QPointF transformOriginPoint READ transformOriginPoint WRITE setTransformOriginPoint)
public:
QGraphicsObject(QGraphicsItem *parent = 0);
+ // ### Qt 5: Disambiguate
+#ifdef Q_NO_USING_KEYWORD
+ const QObjectList &children() const { return QObject::children(); }
+#else
+ using QObject::children;
+#endif
+
Q_SIGNALS:
void parentChanged();
void opacityChanged();
@@ -523,6 +533,8 @@ Q_SIGNALS:
void xChanged();
void yChanged();
void zChanged();
+ void rotationChanged();
+ void scaleChanged();
protected:
QGraphicsObject(QGraphicsItemPrivate &dd, QGraphicsItem *parent, QGraphicsScene *scene);
@@ -538,7 +550,7 @@ class Q_GUI_EXPORT QAbstractGraphicsShapeItem : public QGraphicsItem
public:
QAbstractGraphicsShapeItem(QGraphicsItem *parent = 0
#ifndef Q_QDOC
- // obsolete argument
+ // ### obsolete argument
, QGraphicsScene *scene = 0
#endif
);
@@ -559,7 +571,7 @@ protected:
private:
Q_DISABLE_COPY(QAbstractGraphicsShapeItem)
- Q_DECLARE_SCOPED_PRIVATE(QAbstractGraphicsShapeItem)
+ Q_DECLARE_PRIVATE(QAbstractGraphicsShapeItem)
};
class QGraphicsPathItemPrivate;
@@ -568,13 +580,13 @@ class Q_GUI_EXPORT QGraphicsPathItem : public QAbstractGraphicsShapeItem
public:
QGraphicsPathItem(QGraphicsItem *parent = 0
#ifndef Q_QDOC
- // obsolete argument
+ // ### obsolete argument
, QGraphicsScene *scene = 0
#endif
);
QGraphicsPathItem(const QPainterPath &path, QGraphicsItem *parent = 0
#ifndef Q_QDOC
- // obsolete argument
+ // ### obsolete argument
, QGraphicsScene *scene = 0
#endif
);
@@ -602,7 +614,7 @@ protected:
private:
Q_DISABLE_COPY(QGraphicsPathItem)
- Q_DECLARE_SCOPED_PRIVATE(QGraphicsPathItem)
+ Q_DECLARE_PRIVATE(QGraphicsPathItem)
};
class QGraphicsRectItemPrivate;
@@ -611,19 +623,19 @@ class Q_GUI_EXPORT QGraphicsRectItem : public QAbstractGraphicsShapeItem
public:
QGraphicsRectItem(QGraphicsItem *parent = 0
#ifndef Q_QDOC
- // obsolete argument
+ // ### obsolete argument
, QGraphicsScene *scene = 0
#endif
);
QGraphicsRectItem(const QRectF &rect, QGraphicsItem *parent = 0
#ifndef Q_QDOC
- // obsolete argument
+ // ### obsolete argument
, QGraphicsScene *scene = 0
#endif
);
QGraphicsRectItem(qreal x, qreal y, qreal w, qreal h, QGraphicsItem *parent = 0
#ifndef Q_QDOC
- // obsolete argument
+ // ### obsolete argument
, QGraphicsScene *scene = 0
#endif
);
@@ -652,7 +664,7 @@ protected:
private:
Q_DISABLE_COPY(QGraphicsRectItem)
- Q_DECLARE_SCOPED_PRIVATE(QGraphicsRectItem)
+ Q_DECLARE_PRIVATE(QGraphicsRectItem)
};
inline void QGraphicsRectItem::setRect(qreal ax, qreal ay, qreal w, qreal h)
@@ -664,19 +676,19 @@ class Q_GUI_EXPORT QGraphicsEllipseItem : public QAbstractGraphicsShapeItem
public:
QGraphicsEllipseItem(QGraphicsItem *parent = 0
#ifndef Q_QDOC
- // obsolete argument
+ // ### obsolete argument
, QGraphicsScene *scene = 0
#endif
);
QGraphicsEllipseItem(const QRectF &rect, QGraphicsItem *parent = 0
#ifndef Q_QDOC
- // obsolete argument
+ // ### obsolete argument
, QGraphicsScene *scene = 0
#endif
);
QGraphicsEllipseItem(qreal x, qreal y, qreal w, qreal h, QGraphicsItem *parent = 0
#ifndef Q_QDOC
- // obsolete argument
+ // ### obsolete argument
, QGraphicsScene *scene = 0
#endif
);
@@ -711,7 +723,7 @@ protected:
private:
Q_DISABLE_COPY(QGraphicsEllipseItem)
- Q_DECLARE_SCOPED_PRIVATE(QGraphicsEllipseItem)
+ Q_DECLARE_PRIVATE(QGraphicsEllipseItem)
};
inline void QGraphicsEllipseItem::setRect(qreal ax, qreal ay, qreal w, qreal h)
@@ -723,14 +735,14 @@ class Q_GUI_EXPORT QGraphicsPolygonItem : public QAbstractGraphicsShapeItem
public:
QGraphicsPolygonItem(QGraphicsItem *parent = 0
#ifndef Q_QDOC
- // obsolete argument
+ // ### obsolete argument
, QGraphicsScene *scene = 0
#endif
);
QGraphicsPolygonItem(const QPolygonF &polygon,
QGraphicsItem *parent = 0
#ifndef Q_QDOC
- // obsolete argument
+ // ### obsolete argument
, QGraphicsScene *scene = 0
#endif
);
@@ -761,7 +773,7 @@ protected:
private:
Q_DISABLE_COPY(QGraphicsPolygonItem)
- Q_DECLARE_SCOPED_PRIVATE(QGraphicsPolygonItem)
+ Q_DECLARE_PRIVATE(QGraphicsPolygonItem)
};
class QGraphicsLineItemPrivate;
@@ -770,19 +782,19 @@ class Q_GUI_EXPORT QGraphicsLineItem : public QGraphicsItem
public:
QGraphicsLineItem(QGraphicsItem *parent = 0
#ifndef Q_QDOC
- // obsolete argument
+ // ### obsolete argument
, QGraphicsScene *scene = 0
#endif
);
QGraphicsLineItem(const QLineF &line, QGraphicsItem *parent = 0
#ifndef Q_QDOC
- // obsolete argument
+ // ### obsolete argument
, QGraphicsScene *scene = 0
#endif
);
QGraphicsLineItem(qreal x1, qreal y1, qreal x2, qreal y2, QGraphicsItem *parent = 0
#ifndef Q_QDOC
- // obsolete argument
+ // ### obsolete argument
, QGraphicsScene *scene = 0
#endif
);
@@ -815,7 +827,7 @@ protected:
private:
Q_DISABLE_COPY(QGraphicsLineItem)
- Q_DECLARE_SCOPED_PRIVATE(QGraphicsLineItem)
+ Q_DECLARE_PRIVATE(QGraphicsLineItem)
};
class QGraphicsPixmapItemPrivate;
@@ -830,13 +842,13 @@ public:
QGraphicsPixmapItem(QGraphicsItem *parent = 0
#ifndef Q_QDOC
- // obsolete argument
+ // ### obsolete argument
, QGraphicsScene *scene = 0
#endif
);
QGraphicsPixmapItem(const QPixmap &pixmap, QGraphicsItem *parent = 0
#ifndef Q_QDOC
- // obsolete argument
+ // ### obsolete argument
, QGraphicsScene *scene = 0
#endif
);
@@ -874,7 +886,7 @@ protected:
private:
Q_DISABLE_COPY(QGraphicsPixmapItem)
- Q_DECLARE_SCOPED_PRIVATE(QGraphicsPixmapItem)
+ Q_DECLARE_PRIVATE(QGraphicsPixmapItem)
};
inline void QGraphicsPixmapItem::setOffset(qreal ax, qreal ay)
@@ -892,13 +904,13 @@ class Q_GUI_EXPORT QGraphicsTextItem : public QGraphicsObject
public:
QGraphicsTextItem(QGraphicsItem *parent = 0
#ifndef Q_QDOC
- // obsolete argument
+ // ### obsolete argument
, QGraphicsScene *scene = 0
#endif
);
QGraphicsTextItem(const QString &text, QGraphicsItem *parent = 0
#ifndef Q_QDOC
- // obsolete argument
+ // ### obsolete argument
, QGraphicsScene *scene = 0
#endif
);
@@ -993,13 +1005,13 @@ class Q_GUI_EXPORT QGraphicsSimpleTextItem : public QAbstractGraphicsShapeItem
public:
QGraphicsSimpleTextItem(QGraphicsItem *parent = 0
#ifndef Q_QDOC
- // obsolete argument
+ // ### obsolete argument
, QGraphicsScene *scene = 0
#endif
);
QGraphicsSimpleTextItem(const QString &text, QGraphicsItem *parent = 0
#ifndef Q_QDOC
- // obsolete argument
+ // ### obsolete argument
, QGraphicsScene *scene = 0
#endif
);
@@ -1030,7 +1042,7 @@ protected:
private:
Q_DISABLE_COPY(QGraphicsSimpleTextItem)
- Q_DECLARE_SCOPED_PRIVATE(QGraphicsSimpleTextItem)
+ Q_DECLARE_PRIVATE(QGraphicsSimpleTextItem)
};
class QGraphicsItemGroupPrivate;
@@ -1039,7 +1051,7 @@ class Q_GUI_EXPORT QGraphicsItemGroup : public QGraphicsItem
public:
QGraphicsItemGroup(QGraphicsItem *parent = 0
#ifndef Q_QDOC
- // obsolete argument
+ // ### obsolete argument
, QGraphicsScene *scene = 0
#endif
);
@@ -1059,7 +1071,7 @@ public:
private:
Q_DISABLE_COPY(QGraphicsItemGroup)
- Q_DECLARE_SCOPED_PRIVATE(QGraphicsItemGroup)
+ Q_DECLARE_PRIVATE(QGraphicsItemGroup)
};
template <class T> inline T qgraphicsitem_cast(QGraphicsItem *item)
diff --git a/src/gui/graphicsview/qgraphicsitem_p.h b/src/gui/graphicsview/qgraphicsitem_p.h
index 15b9ab6..239c250 100644
--- a/src/gui/graphicsview/qgraphicsitem_p.h
+++ b/src/gui/graphicsview/qgraphicsitem_p.h
@@ -57,6 +57,8 @@
#include "qset.h"
#include "qpixmapcache.h"
#include <private/qgraphicsview_p.h>
+#include "qgraphicstransform.h"
+#include <private/qgraphicstransform_p.h>
#include <QtCore/qpoint.h>
@@ -93,12 +95,6 @@ public:
void purge();
};
-class QGestureExtraData
-{
-public:
- QSet<int> gestures;
-};
-
class Q_AUTOTEST_EXPORT QGraphicsItemPrivate
{
Q_DECLARE_PUBLIC(QGraphicsItem)
@@ -108,15 +104,15 @@ public:
ExtraCursor,
ExtraCacheData,
ExtraMaxDeviceCoordCacheSize,
- ExtraBoundingRegionGranularity,
- ExtraGestures
+ ExtraBoundingRegionGranularity
};
enum AncestorFlag {
NoFlag = 0,
AncestorHandlesChildEvents = 0x1,
AncestorClipsChildren = 0x2,
- AncestorIgnoresTransformations = 0x4
+ AncestorIgnoresTransformations = 0x4,
+ AncestorFiltersChildEvents = 0x8
};
inline QGraphicsItemPrivate()
@@ -126,7 +122,11 @@ public:
parent(0),
transformData(0),
index(-1),
+ siblingIndex(-1),
depth(0),
+ focusProxy(0),
+ subFocusItem(0),
+ imHints(Qt::ImhNone),
acceptedMouseButtons(0x1f),
visible(1),
explicitlyHidden(0),
@@ -156,13 +156,15 @@ public:
dirtyChildrenBoundingRect(1),
paintedViewBoundingRectsNeedRepaint(0),
dirtySceneTransform(1),
- geometryChanged(0),
+ geometryChanged(1),
inDestructor(0),
isObject(0),
ignoreVisible(0),
ignoreOpacity(0),
acceptTouchEvents(0),
acceptedTouchBeginEvent(0),
+ filtersDescendantEvents(0),
+ sceneTransformTranslateOnly(0),
globalStackingOrder(-1),
q_ptr(0)
{
@@ -171,6 +173,15 @@ public:
inline virtual ~QGraphicsItemPrivate()
{ }
+ static const QGraphicsItemPrivate *get(const QGraphicsItem *item)
+ {
+ return item->d_ptr.data();
+ }
+ static QGraphicsItemPrivate *get(QGraphicsItem *item)
+ {
+ return item->d_ptr.data();
+ }
+
void updateAncestorFlag(QGraphicsItem::GraphicsItemFlag childFlag,
AncestorFlag flag = NoFlag, bool enabled = false, bool root = true);
void setIsMemberOfGroup(bool enabled);
@@ -184,6 +195,7 @@ public:
void combineTransformToParent(QTransform *x, const QTransform *viewTransform = 0) const;
void combineTransformFromParent(QTransform *x, const QTransform *viewTransform = 0) const;
+ virtual void updateSceneTransformFromParent();
// ### Qt 5: Remove. Workaround for reimplementation added after Qt 4.4.
virtual QVariant inputMethodQueryHelper(Qt::InputMethodQuery query) const;
@@ -191,6 +203,7 @@ public:
void setPosHelper(const QPointF &pos);
void setTransformHelper(const QTransform &transform);
+ void appendGraphicsTransform(QGraphicsTransform *t);
void setVisibleHelper(bool newVisible, bool explicitly, bool update = true);
void setEnabledHelper(bool newEnabled, bool explicitly, bool update = true);
bool discardUpdateRequest(bool ignoreClipping = false, bool ignoreVisibleBit = false,
@@ -293,6 +306,13 @@ public:
void invalidateCachedClipPathRecursively(bool childrenOnly = false, const QRectF &emptyIfOutsideThisRect = QRectF());
void updateCachedClipPathFromSetPosHelper(const QPointF &newPos);
void ensureSceneTransformRecursive(QGraphicsItem **topMostDirtyItem);
+ void ensureSceneTransform();
+
+ inline bool hasTranslateOnlySceneTransform()
+ {
+ ensureSceneTransform();
+ return sceneTransformTranslateOnly;
+ }
inline void invalidateChildrenSceneTransform()
{
@@ -376,7 +396,11 @@ public:
|| (childrenCombineOpacity() && isFullyTransparent());
}
+ void setSubFocus();
+ void clearSubFocus();
+
inline QTransform transformToParent() const;
+ inline void ensureSortedChildren();
QPainterPath cachedClipPath;
QRectF childrenBoundingRect;
@@ -392,33 +416,13 @@ public:
TransformData *transformData;
QTransform sceneTransform;
int index;
+ int siblingIndex;
int depth;
+ QGraphicsItem *focusProxy;
+ QGraphicsItem *subFocusItem;
+ Qt::InputMethodHints imHints;
- inline QGestureExtraData* extraGestures() const
- {
- QGestureExtraData *c = (QGestureExtraData *)qVariantValue<void *>(extra(ExtraGestures));
- if (!c) {
- QGraphicsItemPrivate *that = const_cast<QGraphicsItemPrivate *>(this);
- c = new QGestureExtraData;
- that->setExtra(ExtraGestures, qVariantFromValue<void *>(c));
- }
- return c;
- }
- QGestureExtraData* maybeExtraGestures() const
- {
- return (QGestureExtraData *)qVariantValue<void *>(extra(ExtraGestures));
- }
- inline void removeExtraGestures()
- {
- QGestureExtraData *c = (QGestureExtraData *)qVariantValue<void *>(extra(ExtraGestures));
- delete c;
- unsetExtra(ExtraGestures);
- }
- bool hasGesture(const QString &gesture) const;
- void grabGesture(int id);
- bool releaseGesture(int id);
-
- // Packed 32 bytes
+ // Packed 32 bits
quint32 acceptedMouseButtons : 5;
quint32 visible : 1;
quint32 explicitlyHidden : 1;
@@ -431,7 +435,7 @@ public:
quint32 handlesChildEvents : 1;
quint32 itemDiscovered : 1;
quint32 hasCursor : 1;
- quint32 ancestorFlags : 3;
+ quint32 ancestorFlags : 4;
quint32 cacheMode : 2;
quint32 hasBoundingRegionGranularity : 1;
quint32 isWidget : 1;
@@ -443,13 +447,13 @@ public:
quint32 inSetPosHelper : 1;
quint32 needSortChildren : 1;
quint32 allChildrenDirty : 1;
- quint32 fullUpdatePending : 1;
// New 32 bits
- quint32 flags : 12;
+ quint32 fullUpdatePending : 1;
+ quint32 flags : 14;
quint32 dirtyChildrenBoundingRect : 1;
quint32 paintedViewBoundingRectsNeedRepaint : 1;
- quint32 dirtySceneTransform : 1;
+ quint32 dirtySceneTransform : 1;
quint32 geometryChanged : 1;
quint32 inDestructor : 1;
quint32 isObject : 1;
@@ -457,50 +461,47 @@ public:
quint32 ignoreOpacity : 1;
quint32 acceptTouchEvents : 1;
quint32 acceptedTouchBeginEvent : 1;
- quint32 unused : 10; // feel free to use
+ quint32 filtersDescendantEvents : 1;
+ quint32 sceneTransformTranslateOnly : 1;
+ quint32 unused : 5; // feel free to use
// Optional stacking order
int globalStackingOrder;
QGraphicsItem *q_ptr;
};
-struct QGraphicsItemPrivate::TransformData {
+struct QGraphicsItemPrivate::TransformData
+{
QTransform transform;
- qreal xScale;
- qreal yScale;
- qreal xRotation;
- qreal yRotation;
- qreal zRotation;
- qreal horizontalShear;
- qreal verticalShear;
+ qreal scale;
+ qreal rotation;
qreal xOrigin;
qreal yOrigin;
+ QList<QGraphicsTransform *> graphicsTransforms;
bool onlyTransform;
TransformData() :
- xScale(1.0), yScale(1.0), xRotation(0.0), yRotation(0.0), zRotation(0.0),
- horizontalShear(0.0), verticalShear(0.0), xOrigin(0.0), yOrigin(0.0),
+ scale(1.0), rotation(0.0),
+ xOrigin(0.0), yOrigin(0.0),
onlyTransform(true)
- {}
+ { }
QTransform computedFullTransform(QTransform *postmultiplyTransform = 0) const
{
if (onlyTransform) {
- if (!postmultiplyTransform)
+ if (!postmultiplyTransform || postmultiplyTransform->isIdentity())
return transform;
- QTransform x(transform);
- x *= *postmultiplyTransform;
- return x;
+ if (transform.isIdentity())
+ return *postmultiplyTransform;
+ return transform * *postmultiplyTransform;
}
QTransform x(transform);
- if (xOrigin != 0 || yOrigin != 0)
- x *= QTransform::fromTranslate(xOrigin, yOrigin);
- x.rotate(xRotation, Qt::XAxis);
- x.rotate(yRotation, Qt::YAxis);
- x.rotate(zRotation, Qt::ZAxis);
- x.shear(horizontalShear, verticalShear);
- x.scale(xScale, yScale);
+ for (int i = 0; i < graphicsTransforms.size(); ++i)
+ graphicsTransforms.at(i)->applyTo(&x);
+ x.translate(xOrigin, yOrigin);
+ x.rotate(rotation, Qt::ZAxis);
+ x.scale(scale, scale);
x.translate(-xOrigin, -yOrigin);
if (postmultiplyTransform)
x *= *postmultiplyTransform;
@@ -508,6 +509,29 @@ struct QGraphicsItemPrivate::TransformData {
}
};
+/*!
+ \internal
+*/
+inline bool qt_closestLeaf(const QGraphicsItem *item1, const QGraphicsItem *item2)
+{
+ // Return true if sibling item1 is on top of item2.
+ const QGraphicsItemPrivate *d1 = item1->d_ptr.data();
+ const QGraphicsItemPrivate *d2 = item2->d_ptr.data();
+ bool f1 = d1->flags & QGraphicsItem::ItemStacksBehindParent;
+ bool f2 = d2->flags & QGraphicsItem::ItemStacksBehindParent;
+ if (f1 != f2)
+ return f2;
+ if (d1->z != d2->z)
+ return d1->z > d2->z;
+ return d1->siblingIndex > d2->siblingIndex;
+}
+
+/*!
+ \internal
+*/
+static inline bool qt_notclosestLeaf(const QGraphicsItem *item1, const QGraphicsItem *item2)
+{ return qt_closestLeaf(item2, item1); }
+
/*
return the full transform of the item to the parent. This include the position and all the transform data
*/
@@ -518,6 +542,14 @@ inline QTransform QGraphicsItemPrivate::transformToParent() const
return matrix;
}
+inline void QGraphicsItemPrivate::ensureSortedChildren()
+{
+ if (needSortChildren) {
+ qSort(children.begin(), children.end(), qt_notclosestLeaf);
+ needSortChildren = 0;
+ }
+}
+
QT_END_NAMESPACE
#endif // QT_NO_GRAPHICSVIEW
diff --git a/src/gui/graphicsview/qgraphicslayout.h b/src/gui/graphicsview/qgraphicslayout.h
index d2c45ab..7c758bc 100644
--- a/src/gui/graphicsview/qgraphicslayout.h
+++ b/src/gui/graphicsview/qgraphicslayout.h
@@ -81,7 +81,7 @@ protected:
private:
Q_DISABLE_COPY(QGraphicsLayout)
- Q_DECLARE_SCOPED_PRIVATE(QGraphicsLayout)
+ Q_DECLARE_PRIVATE(QGraphicsLayout)
friend class QGraphicsWidget;
};
diff --git a/src/gui/graphicsview/qgraphicslayoutitem.cpp b/src/gui/graphicsview/qgraphicslayoutitem.cpp
index 0fe648e..acf591a 100644
--- a/src/gui/graphicsview/qgraphicslayoutitem.cpp
+++ b/src/gui/graphicsview/qgraphicslayoutitem.cpp
@@ -807,6 +807,8 @@ bool QGraphicsLayoutItem::isLayout() const
}
/*!
+ \since 4.6
+
Returns whether a layout should delete this item in its destructor.
If its true, then the layout will delete it. If its false, then it is
assumed that another object has the ownership of it, and the layout won't
@@ -833,6 +835,8 @@ bool QGraphicsLayoutItem::ownedByLayout() const
return d_func()->ownedByLayout;
}
/*!
+ \since 4.6
+
Sets whether a layout should delete this item in its destructor or not.
\a ownership must be true to in order for the layout to delete it.
\sa ownedByLayout()
diff --git a/src/gui/graphicsview/qgraphicslayoutitem.h b/src/gui/graphicsview/qgraphicslayoutitem.h
index 156c843..60f894f 100644
--- a/src/gui/graphicsview/qgraphicslayoutitem.h
+++ b/src/gui/graphicsview/qgraphicslayoutitem.h
@@ -117,7 +117,7 @@ protected:
private:
QSizeF *effectiveSizeHints(const QSizeF &constraint) const;
- Q_DECLARE_SCOPED_PRIVATE(QGraphicsLayoutItem)
+ Q_DECLARE_PRIVATE(QGraphicsLayoutItem)
friend class QGraphicsLayout;
};
diff --git a/src/gui/graphicsview/qgraphicslinearlayout.h b/src/gui/graphicsview/qgraphicslinearlayout.h
index 91335db..f469680 100644
--- a/src/gui/graphicsview/qgraphicslinearlayout.h
+++ b/src/gui/graphicsview/qgraphicslinearlayout.h
@@ -108,7 +108,7 @@ protected:
private:
Q_DISABLE_COPY(QGraphicsLinearLayout)
- Q_DECLARE_SCOPED_PRIVATE(QGraphicsLinearLayout)
+ Q_DECLARE_PRIVATE(QGraphicsLinearLayout)
};
#endif
diff --git a/src/gui/graphicsview/qgraphicsproxywidget.cpp b/src/gui/graphicsview/qgraphicsproxywidget.cpp
index ab94679..5fac6cf 100644
--- a/src/gui/graphicsview/qgraphicsproxywidget.cpp
+++ b/src/gui/graphicsview/qgraphicsproxywidget.cpp
@@ -48,7 +48,6 @@
#include "private/qgraphicsproxywidget_p.h"
#include "private/qwidget_p.h"
#include "private/qapplication_p.h"
-#include "private/qgesturemanager_p.h"
#include <QtCore/qdebug.h>
#include <QtGui/qevent.h>
@@ -452,6 +451,22 @@ void QGraphicsProxyWidgetPrivate::updateProxyGeometryFromWidget()
/*!
\internal
+*/
+void QGraphicsProxyWidgetPrivate::updateProxyInputMethodAcceptanceFromWidget()
+{
+ Q_Q(QGraphicsProxyWidget);
+ if (!widget)
+ return;
+
+ QWidget *focusWidget = widget->focusWidget();
+ if (!focusWidget)
+ focusWidget = widget;
+ q->setFlag(QGraphicsItem::ItemAcceptsInputMethod,
+ focusWidget->testAttribute(Qt::WA_InputMethodEnabled));
+}
+
+/*!
+ \internal
Embeds \a subWin as a subwindow of this proxy widget. \a subWin must be a top-level
widget and a descendant of the widget managed by this proxy. A separate subproxy
@@ -649,9 +664,6 @@ void QGraphicsProxyWidgetPrivate::setWidget_helper(QWidget *newWidget, bool auto
q->setAttribute(Qt::WA_OpaquePaintEvent);
widget = newWidget;
- foreach(int gestureId, widget->d_func()->gestures) {
- grabGesture(gestureId);
- }
// Changes only go from the widget to the proxy.
enabledChangeMode = QGraphicsProxyWidgetPrivate::WidgetToProxyMode;
@@ -694,6 +706,8 @@ void QGraphicsProxyWidgetPrivate::setWidget_helper(QWidget *newWidget, bool auto
updateProxyGeometryFromWidget();
+ updateProxyInputMethodAcceptanceFromWidget();
+
// Hook up the event filter to keep the state up to date.
newWidget->installEventFilter(q);
QObject::connect(newWidget, SIGNAL(destroyed()), q, SLOT(_q_removeWidgetSlot()));
@@ -875,16 +889,6 @@ bool QGraphicsProxyWidget::event(QEvent *event)
}
break;
}
- case QEvent::GraphicsSceneGesture: {
- qDebug() << "QGraphicsProxyWidget: graphicsscenegesture";
- if (d->widget && d->widget->isVisible()) {
- QGraphicsSceneGestureEvent *ge = static_cast<QGraphicsSceneGestureEvent*>(event);
- //### TODO: widget->childAt(): decompose gesture event and find widget under hotspots.
- //QGestureManager::instance()->sendGestureEvent(d->widget, ge->gestures().toSet(), ge->cancelledGestures());
- return true;
- }
- break;
- }
default:
break;
}
@@ -1317,8 +1321,8 @@ void QGraphicsProxyWidget::focusInEvent(QFocusEvent *event)
if (d->widget && d->widget->focusWidget()) {
d->widget->focusWidget()->setFocus(event->reason());
return;
- }
- break;
+ }
+ break;
}
}
diff --git a/src/gui/graphicsview/qgraphicsproxywidget_p.h b/src/gui/graphicsview/qgraphicsproxywidget_p.h
index ec5400a..fbc9f6c 100644
--- a/src/gui/graphicsview/qgraphicsproxywidget_p.h
+++ b/src/gui/graphicsview/qgraphicsproxywidget_p.h
@@ -102,6 +102,8 @@ public:
void updateWidgetGeometryFromProxy();
void updateProxyGeometryFromWidget();
+ void updateProxyInputMethodAcceptanceFromWidget();
+
QPointF mapToReceiver(const QPointF &pos, const QWidget *receiver) const;
enum ChangeMode {
diff --git a/src/gui/graphicsview/qgraphicsscene.cpp b/src/gui/graphicsview/qgraphicsscene.cpp
index 13d3bd6..9b9c9c2 100644
--- a/src/gui/graphicsview/qgraphicsscene.cpp
+++ b/src/gui/graphicsview/qgraphicsscene.cpp
@@ -39,7 +39,6 @@
**
****************************************************************************/
-
/*!
\class QGraphicsScene
\brief The QGraphicsScene class provides a surface for managing a large
@@ -218,6 +217,9 @@
#include "qgraphicsview_p.h"
#include "qgraphicswidget.h"
#include "qgraphicswidget_p.h"
+#include "qgraphicssceneindex_p.h"
+#include "qgraphicsscenebsptreeindex_p.h"
+#include "qgraphicsscenelinearindex_p.h"
#include <QtCore/qdebug.h>
#include <QtCore/qlist.h>
@@ -242,77 +244,15 @@
#include <QtGui/qtooltip.h>
#include <QtGui/qtransform.h>
#include <QtGui/qgesture.h>
+#include <QtGui/qinputcontext.h>
#include <private/qapplication_p.h>
#include <private/qobject_p.h>
#ifdef Q_WS_X11
#include <private/qt_x11_p.h>
#endif
-#include <private/qgesturemanager_p.h>
-#include <private/qgesture_p.h>
QT_BEGIN_NAMESPACE
-static inline bool qt_notclosestLeaf(const QGraphicsItem *item1, const QGraphicsItem *item2);
-
-static inline bool QRectF_intersects(const QRectF &s, const QRectF &r)
-{
- qreal xp = s.left();
- qreal yp = s.top();
- qreal w = s.width();
- qreal h = s.height();
- qreal l1 = xp;
- qreal r1 = xp;
- if (w < 0)
- l1 += w;
- else
- r1 += w;
-
- qreal l2 = r.left();
- qreal r2 = r.left();
- if (w < 0)
- l2 += r.width();
- else
- r2 += r.width();
-
- if (l1 >= r2 || l2 >= r1)
- return false;
-
- qreal t1 = yp;
- qreal b1 = yp;
- if (h < 0)
- t1 += h;
- else
- b1 += h;
-
- qreal t2 = r.top();
- qreal b2 = r.top();
- if (r.height() < 0)
- t2 += r.height();
- else
- b2 += r.height();
-
- return !(t1 >= b2 || t2 >= b1);
-}
-
-// QRectF::intersects() returns false always if either the source or target
-// rectangle's width or height are 0. This works around that problem.
-static inline void _q_adjustRect(QRectF *rect)
-{
- Q_ASSERT(rect);
- if (!rect->width())
- rect->adjust(-0.00001, 0, 0.00001, 0);
- if (!rect->height())
- rect->adjust(0, -0.00001, 0, 0.00001);
-}
-
-static inline QRectF adjustedItemBoundingRect(const QGraphicsItem *item)
-{
- Q_ASSERT(item);
- QRectF boundingRect(item->boundingRect());
- _q_adjustRect(&boundingRect);
- return boundingRect;
-}
-
static void _q_hoverFromMouseEvent(QGraphicsSceneHoverEvent *hover, const QGraphicsSceneMouseEvent *mouseEvent)
{
hover->setWidget(mouseEvent->widget());
@@ -332,18 +272,15 @@ static void _q_hoverFromMouseEvent(QGraphicsSceneHoverEvent *hover, const QGraph
QGraphicsScenePrivate::QGraphicsScenePrivate()
: changedSignalMask(0),
indexMethod(QGraphicsScene::BspTreeIndex),
- bspTreeDepth(0),
+ index(0),
lastItemCount(0),
hasSceneRect(false),
+ dirtyGrowingItemsBoundingRect(true),
updateAll(false),
calledEmitUpdated(false),
processDirtyItemsEmitted(false),
selectionChanging(0),
needSortTopLevelItems(true),
- regenerateIndex(true),
- purgePending(false),
- indexTimerId(0),
- restartIndexTimer(false),
stickyFocus(false),
hasFocus(false),
focusItem(0),
@@ -360,7 +297,6 @@ QGraphicsScenePrivate::QGraphicsScenePrivate()
allItemsUseDefaultCursor(true),
painterStateProtection(true),
sortCacheEnabled(false),
- updatingSortCache(false),
style(0),
allItemsIgnoreTouchEvents(true)
{
@@ -373,6 +309,8 @@ void QGraphicsScenePrivate::init()
{
Q_Q(QGraphicsScene);
+ index = new QGraphicsSceneBspTreeIndex(q);
+
// Keep this index so we can check for connected slots later on.
changedSignalMask = (1 << q->metaObject()->indexOfSignal("changed(QList<QRectF>)"));
qApp->d_func()->scene_list.append(q);
@@ -382,229 +320,31 @@ void QGraphicsScenePrivate::init()
/*!
\internal
*/
-QList<QGraphicsItem *> QGraphicsScenePrivate::estimateItemsInRect(const QRectF &rect) const
+QGraphicsScenePrivate *QGraphicsScenePrivate::get(QGraphicsScene *q)
{
- const_cast<QGraphicsScenePrivate *>(this)->purgeRemovedItems();
- const_cast<QGraphicsScenePrivate *>(this)->_q_updateSortCache();
-
- if (indexMethod == QGraphicsScene::BspTreeIndex) {
- // ### Only do this once in a while.
- QGraphicsScenePrivate *that = const_cast<QGraphicsScenePrivate *>(this);
-
- // Get items from BSP tree
- QList<QGraphicsItem *> items = that->bspTree.items(rect);
-
- // Fill in with any unindexed items
- for (int i = 0; i < unindexedItems.size(); ++i) {
- if (QGraphicsItem *item = unindexedItems.at(i)) {
- if (!item->d_ptr->itemDiscovered && item->d_ptr->visible && !(item->d_ptr->ancestorFlags & QGraphicsItemPrivate::AncestorClipsChildren)) {
- QRectF boundingRect = item->sceneBoundingRect();
- if (QRectF_intersects(boundingRect, rect)) {
- item->d_ptr->itemDiscovered = 1;
- items << item;
- }
- }
- }
- }
-
- // Reset the discovered state of all discovered items
- for (int i = 0; i < items.size(); ++i)
- items.at(i)->d_func()->itemDiscovered = 0;
- return items;
- }
-
- QList<QGraphicsItem *> itemsInRect;
- for (int i = 0; i < unindexedItems.size(); ++i) {
- if (QGraphicsItem *item = unindexedItems.at(i)) {
- if (item->d_ptr->ancestorFlags & QGraphicsItemPrivate::AncestorClipsChildren)
- continue;
- if (item->d_ptr->visible && !item->d_ptr->isFullyTransparent())
- itemsInRect << item;
- }
- }
- for (int i = 0; i < indexedItems.size(); ++i) {
- if (QGraphicsItem *item = indexedItems.at(i)) {
- if (item->d_ptr->ancestorFlags & QGraphicsItemPrivate::AncestorClipsChildren)
- continue;
- if (item->d_ptr->visible && !item->d_ptr->isFullyTransparent())
- itemsInRect << item;
- }
- }
-
- return itemsInRect;
+ return q->d_func();
}
-/*!
- \internal
-*/
-void QGraphicsScenePrivate::addToIndex(QGraphicsItem *item)
-{
- if (indexMethod == QGraphicsScene::BspTreeIndex) {
- if (item->d_func()->index != -1) {
- bspTree.insertItem(item, item->sceneBoundingRect());
- foreach (QGraphicsItem *child, item->children())
- child->addToIndex();
- } else {
- // The BSP tree is regenerated if the number of items grows to a
- // certain threshold, or if the bounding rect of the graph doubles in
- // size.
- startIndexTimer();
- }
- }
-}
-
-/*!
- \internal
-*/
-void QGraphicsScenePrivate::removeFromIndex(QGraphicsItem *item)
-{
- if (indexMethod == QGraphicsScene::BspTreeIndex) {
- int index = item->d_func()->index;
- if (index != -1) {
- bspTree.removeItem(item, item->sceneBoundingRect());
- freeItemIndexes << index;
- indexedItems[index] = 0;
- item->d_func()->index = -1;
- unindexedItems << item;
-
- foreach (QGraphicsItem *child, item->children())
- child->removeFromIndex();
- }
-
- startIndexTimer();
- }
-}
-
-/*!
- \internal
-*/
-void QGraphicsScenePrivate::resetIndex()
-{
- purgeRemovedItems();
- if (indexMethod == QGraphicsScene::BspTreeIndex) {
- for (int i = 0; i < indexedItems.size(); ++i) {
- if (QGraphicsItem *item = indexedItems.at(i)) {
- item->d_ptr->index = -1;
- unindexedItems << item;
- }
- }
- indexedItems.clear();
- freeItemIndexes.clear();
- regenerateIndex = true;
- startIndexTimer();
- }
-}
-
-static inline int intmaxlog(int n)
-{
- return (n > 0 ? qMax(qCeil(qLn(qreal(n)) / qLn(qreal(2))), 5) : 0);
-}
-
-/*!
- \internal
-*/
-void QGraphicsScenePrivate::_q_updateIndex()
+void QGraphicsScenePrivate::_q_emitUpdated()
{
- if (!indexTimerId)
- return;
-
Q_Q(QGraphicsScene);
- q->killTimer(indexTimerId);
- indexTimerId = 0;
-
- purgeRemovedItems();
-
- // Add unindexedItems to indexedItems
- QRectF unindexedItemsBoundingRect;
- for (int i = 0; i < unindexedItems.size(); ++i) {
- if (QGraphicsItem *item = unindexedItems.at(i)) {
- unindexedItemsBoundingRect |= item->sceneBoundingRect();
- if (!freeItemIndexes.isEmpty()) {
- int freeIndex = freeItemIndexes.takeFirst();
- item->d_func()->index = freeIndex;
- indexedItems[freeIndex] = item;
- } else {
- item->d_func()->index = indexedItems.size();
- indexedItems << item;
- }
- }
- }
-
- // Update growing scene rect.
- QRectF oldGrowingItemsBoundingRect = growingItemsBoundingRect;
- growingItemsBoundingRect |= unindexedItemsBoundingRect;
-
- // Determine whether we should regenerate the BSP tree.
- if (indexMethod == QGraphicsScene::BspTreeIndex) {
- int depth = bspTreeDepth;
- if (depth == 0) {
- int oldDepth = intmaxlog(lastItemCount);
- depth = intmaxlog(indexedItems.size());
- static const int slack = 100;
- if (bspTree.leafCount() == 0 || (oldDepth != depth && qAbs(lastItemCount - indexedItems.size()) > slack)) {
- // ### Crude algorithm.
- regenerateIndex = true;
- }
- }
+ calledEmitUpdated = false;
- // Regenerate the tree.
- if (regenerateIndex) {
- regenerateIndex = false;
- bspTree.initialize(q->sceneRect(), depth);
- unindexedItems = indexedItems;
- lastItemCount = indexedItems.size();
- q->update();
-
- // Take this opportunity to reset our largest-item counter for
- // untransformable items. When the items are inserted into the BSP
- // tree, we'll get an accurate calculation.
- largestUntransformableItem = QRectF();
+ if (dirtyGrowingItemsBoundingRect) {
+ if (!hasSceneRect) {
+ const QRectF oldGrowingItemsBoundingRect = growingItemsBoundingRect;
+ growingItemsBoundingRect |= q->itemsBoundingRect();
+ if (oldGrowingItemsBoundingRect != growingItemsBoundingRect)
+ emit q->sceneRectChanged(growingItemsBoundingRect);
}
+ dirtyGrowingItemsBoundingRect = false;
}
- // Insert all unindexed items into the tree.
- for (int i = 0; i < unindexedItems.size(); ++i) {
- if (QGraphicsItem *item = unindexedItems.at(i)) {
- QRectF rect = item->sceneBoundingRect();
- if (item->d_ptr->ancestorFlags & QGraphicsItemPrivate::AncestorClipsChildren)
- continue;
- if (indexMethod == QGraphicsScene::BspTreeIndex)
- bspTree.insertItem(item, rect);
-
- // If the item ignores view transformations, update our
- // largest-item-counter to ensure that the view can accurately
- // discover untransformable items when drawing.
- if (item->d_ptr->itemIsUntransformable()) {
- QGraphicsItem *topmostUntransformable = item;
- while (topmostUntransformable && (topmostUntransformable->d_ptr->ancestorFlags
- & QGraphicsItemPrivate::AncestorIgnoresTransformations)) {
- topmostUntransformable = topmostUntransformable->parentItem();
- }
- // ### Verify that this is the correct largest untransformable rectangle.
- largestUntransformableItem |= item->mapToItem(topmostUntransformable, item->boundingRect()).boundingRect();
- }
- }
- }
- unindexedItems.clear();
-
- // Notify scene rect changes.
- if (!hasSceneRect && growingItemsBoundingRect != oldGrowingItemsBoundingRect)
- emit q->sceneRectChanged(growingItemsBoundingRect);
-}
-
-/*!
- \internal
-*/
-void QGraphicsScenePrivate::_q_emitUpdated()
-{
- Q_Q(QGraphicsScene);
- calledEmitUpdated = false;
-
// Ensure all views are connected if anything is connected. This disables
// the optimization that items send updates directly to the views, but it
// needs to happen in order to keep compatibility with the behavior from
// Qt 4.4 and backward.
- if (connectedSignals & changedSignalMask) {
+ if (connectedSignals[0] & changedSignalMask) {
for (int i = 0; i < views.size(); ++i) {
QGraphicsView *view = views.at(i);
if (!view->d_func()->connectedToScene) {
@@ -617,6 +357,9 @@ void QGraphicsScenePrivate::_q_emitUpdated()
updateAll = false;
for (int i = 0; i < views.size(); ++i)
views.at(i)->d_func()->processPendingUpdates();
+ // It's important that we update all views before we dispatch, hence two for-loops.
+ for (int i = 0; i < views.size(); ++i)
+ views.at(i)->d_func()->dispatchPendingUpdateRequests();
return;
}
@@ -634,6 +377,7 @@ void QGraphicsScenePrivate::_q_emitUpdated()
void QGraphicsScenePrivate::registerTopLevelItem(QGraphicsItem *item)
{
needSortTopLevelItems = true;
+ item->d_ptr->siblingIndex = topLevelItems.size();
topLevelItems.append(item);
}
@@ -643,19 +387,10 @@ void QGraphicsScenePrivate::registerTopLevelItem(QGraphicsItem *item)
void QGraphicsScenePrivate::unregisterTopLevelItem(QGraphicsItem *item)
{
topLevelItems.removeOne(item);
-}
-
-/*!
- \internal
-
- Updates all items in the pending update list. At this point, the list is
- unlikely to contain partially constructed items.
-*/
-void QGraphicsScenePrivate::_q_updateLater()
-{
- foreach (QGraphicsItem *item, pendingUpdateItems)
- item->update();
- pendingUpdateItems.clear();
+ // NB! Do not use topLevelItems.removeAt(item->d_ptr->siblingIndex) because
+ // the item is not guaranteed to be at the index after the list is sorted
+ // (see ensureSortedTopLevelItems()).
+ item->d_ptr->siblingIndex = -1;
}
/*!
@@ -681,9 +416,23 @@ void QGraphicsScenePrivate::_q_processDirtyItems()
{
processDirtyItemsEmitted = false;
+ if (updateAll) {
+ Q_ASSERT(calledEmitUpdated);
+ // No need for further processing (except resetting the dirty states).
+ // The growingItemsBoundingRect is updated in _q_emitUpdated.
+ for (int i = 0; i < topLevelItems.size(); ++i)
+ resetDirtyItem(topLevelItems.at(i), /*recursive=*/true);
+ return;
+ }
+
const bool wasPendingSceneUpdate = calledEmitUpdated;
const QRectF oldGrowingItemsBoundingRect = growingItemsBoundingRect;
- processDirtyItemsRecursive(0);
+
+ // Process items recursively.
+ for (int i = 0; i < topLevelItems.size(); ++i)
+ processDirtyItemsRecursive(topLevelItems.at(i));
+
+ dirtyGrowingItemsBoundingRect = false;
if (!hasSceneRect && oldGrowingItemsBoundingRect != growingItemsBoundingRect)
emit q_func()->sceneRectChanged(growingItemsBoundingRect);
@@ -701,13 +450,8 @@ void QGraphicsScenePrivate::_q_processDirtyItems()
}
// Immediately dispatch all pending update requests on the views.
- for (int i = 0; i < views.size(); ++i) {
- QWidget *viewport = views.at(i)->d_func()->viewport;
- if (qt_widget_private(viewport)->paintOnScreen())
- QCoreApplication::sendPostedEvents(viewport, QEvent::UpdateRequest);
- else
- QCoreApplication::sendPostedEvents(viewport->window(), QEvent::UpdateRequest);
- }
+ for (int i = 0; i < views.size(); ++i)
+ views.at(i)->d_func()->dispatchPendingUpdateRequests();
}
/*!
@@ -728,24 +472,20 @@ void QGraphicsScenePrivate::removeItemHelper(QGraphicsItem *item)
// Clear focus on the item to remove any reference in the focusWidget chain.
item->clearFocus();
+
markDirty(item, QRectF(), false, false, false, false, /*removingItemFromScene=*/true);
- if (!item->d_ptr->inDestructor) {
+ if (item->d_ptr->inDestructor) {
+ // The item is actually in its destructor, we call the special method in the index.
+ index->deleteItem(item);
+ } else {
// Can potentially call item->boundingRect() (virtual function), that's why
// we only can call this function if the item is not in its destructor.
- removeFromIndex(item);
- } else if (item->d_ptr->index != -1) {
- // Important: The index is useless until purgeRemovedItems() is called.
- indexedItems[item->d_ptr->index] = (QGraphicsItem *)0;
- if (!purgePending)
- purgePending = true;
- removedItems << item;
- } else {
- // Recently added items are purged immediately. unindexedItems() never
- // contains stale items.
- unindexedItems.removeAll(item);
+ index->removeItem(item);
}
+ item->d_ptr->clearSubFocus();
+
if (!item->d_ptr->inDestructor && item == tabFocusFirst) {
QGraphicsWidget *widget = static_cast<QGraphicsWidget *>(item);
widget->d_func()->fixFocusChainBeforeReparenting(0, 0);
@@ -753,6 +493,13 @@ void QGraphicsScenePrivate::removeItemHelper(QGraphicsItem *item)
item->d_func()->scene = 0;
+ // Unregister focus proxy.
+ QMultiHash<QGraphicsItem *, QGraphicsItem *>::iterator it = focusProxyReverseMap.find(item);
+ while (it != focusProxyReverseMap.end() && it.key() == item) {
+ it.value()->d_ptr->focusProxy = 0;
+ it = focusProxyReverseMap.erase(it);
+ }
+
// Remove from parent, or unregister from toplevels.
if (QGraphicsItem *parentItem = item->parentItem()) {
if (parentItem->scene()) {
@@ -764,17 +511,6 @@ void QGraphicsScenePrivate::removeItemHelper(QGraphicsItem *item)
unregisterTopLevelItem(item);
}
- if (!item->d_ptr->inDestructor) {
- // Remove from our item lists.
- int index = item->d_func()->index;
- if (index != -1) {
- freeItemIndexes << index;
- indexedItems[index] = 0;
- } else {
- unindexedItems.removeAll(item);
- }
- }
-
// Reset the mouse grabber and focus item data.
if (item == focusItem)
focusItem = 0;
@@ -794,7 +530,6 @@ void QGraphicsScenePrivate::removeItemHelper(QGraphicsItem *item)
hoverItems.removeAll(item);
cachedItemsUnderMouse.removeAll(item);
unpolishedItems.removeAll(item);
- pendingUpdateItems.removeAll(item);
resetDirtyItem(item);
//We remove all references of item from the sceneEventFilter arrays
@@ -832,41 +567,66 @@ void QGraphicsScenePrivate::removeItemHelper(QGraphicsItem *item)
/*!
\internal
-
- Removes stale pointers from all data structures.
*/
-void QGraphicsScenePrivate::purgeRemovedItems()
+void QGraphicsScenePrivate::setFocusItemHelper(QGraphicsItem *item,
+ Qt::FocusReason focusReason)
{
- if (!purgePending && removedItems.isEmpty())
+ Q_Q(QGraphicsScene);
+ if (item == focusItem)
return;
- // Remove stale items from the BSP tree.
- if (indexMethod != QGraphicsScene::NoIndex)
- bspTree.removeItems(removedItems);
+ // Clear focus if asked to set focus on something that can't
+ // accept input focus.
+ if (item && (!(item->flags() & QGraphicsItem::ItemIsFocusable)
+ || !item->isVisible() || !item->isEnabled())) {
+ item = 0;
+ }
+
+ // Set focus on the scene if an item requests focus.
+ if (item) {
+ q->setFocus(focusReason);
+ if (item == focusItem)
+ return;
+ }
- // Purge this list.
- removedItems.clear();
- freeItemIndexes.clear();
- for (int i = 0; i < indexedItems.size(); ++i) {
- if (!indexedItems.at(i))
- freeItemIndexes << i;
+ // Auto-update focus proxy. The closest parent that detects
+ // focus proxies is updated as the proxy gains or loses focus.
+ if (item) {
+ QGraphicsItem *p = item->d_ptr->parent;
+ while (p) {
+ if (p->d_ptr->flags & QGraphicsItem::ItemAutoDetectsFocusProxy) {
+ p->setFocusProxy(item);
+ break;
+ }
+ p = p->d_ptr->parent;
+ }
}
- purgePending = false;
-}
-/*!
- \internal
+ if (focusItem) {
+ QFocusEvent event(QEvent::FocusOut, focusReason);
+ lastFocusItem = focusItem;
+ focusItem = 0;
+ sendEvent(lastFocusItem, &event);
- Starts or restarts the timer used for reindexing unindexed items.
-*/
-void QGraphicsScenePrivate::startIndexTimer(int interval)
-{
- Q_Q(QGraphicsScene);
- if (indexTimerId) {
- restartIndexTimer = true;
- } else {
- indexTimerId = q->startTimer(interval);
+ if (lastFocusItem
+ && (lastFocusItem->flags() & QGraphicsItem::ItemAcceptsInputMethod)) {
+ // Reset any visible preedit text
+ QInputMethodEvent imEvent;
+ sendEvent(lastFocusItem, &imEvent);
+
+ // Close any external input method panel
+ for (int i = 0; i < views.size(); ++i)
+ views.at(i)->inputContext()->reset();
+ }
}
+
+ if (item) {
+ focusItem = item;
+ QFocusEvent event(QEvent::FocusIn, focusReason);
+ sendEvent(item, &event);
+ }
+
+ updateInputMethodSensitivityInViews();
}
/*!
@@ -1105,41 +865,20 @@ QList<QGraphicsItem *> QGraphicsScenePrivate::itemsAtPosition(const QPoint &scre
{
Q_Q(const QGraphicsScene);
QGraphicsView *view = widget ? qobject_cast<QGraphicsView *>(widget->parentWidget()) : 0;
- QList<QGraphicsItem *> items;
- if (view)
- items = view->items(view->viewport()->mapFromGlobal(screenPos));
- else
- items = q->items(scenePos);
- return items;
-}
+ if (!view)
+ return q->items(scenePos, Qt::IntersectsItemShape, Qt::AscendingOrder, QTransform());
-/*!
- \internal
+ const QRectF pointRect(QPointF(widget->mapFromGlobal(screenPos)), QSizeF(1, 1));
+ if (!view->isTransformed())
+ return q->items(pointRect, Qt::IntersectsItemShape, Qt::AscendingOrder);
- Checks if item collides with the path and mode, but also checks that if it
- doesn't collide, maybe its frame rect will.
-*/
-bool QGraphicsScenePrivate::itemCollidesWithPath(QGraphicsItem *item,
- const QPainterPath &path,
- Qt::ItemSelectionMode mode)
-{
- if (item->collidesWithPath(path, mode))
- return true;
- if (item->isWidget()) {
- // Check if this is a window, and if its frame rect collides.
- QGraphicsWidget *widget = static_cast<QGraphicsWidget *>(item);
- if (widget->isWindow()) {
- QRectF frameRect = widget->windowFrameRect();
- QPainterPath framePath;
- framePath.addRect(frameRect);
- bool intersects = path.intersects(frameRect);
- if (mode == Qt::IntersectsItemShape || mode == Qt::IntersectsItemBoundingRect)
- return intersects || path.contains(frameRect.topLeft())
- || framePath.contains(path.elementAt(0));
- return !intersects && path.contains(frameRect.topLeft());
- }
+ const QTransform viewTransform = view->viewportTransform();
+ if (viewTransform.type() <= QTransform::TxScale) {
+ return q->items(viewTransform.inverted().mapRect(pointRect), Qt::IntersectsItemShape,
+ Qt::AscendingOrder, viewTransform);
}
- return false;
+ return q->items(viewTransform.inverted().map(pointRect), Qt::IntersectsItemShape,
+ Qt::AscendingOrder, viewTransform);
}
/*!
@@ -1151,7 +890,7 @@ void QGraphicsScenePrivate::storeMouseButtonsForMouseGrabber(QGraphicsSceneMouse
if (event->buttons() & i) {
mouseGrabberButtonDownPos.insert(Qt::MouseButton(i),
mouseGrabberItems.last()->d_ptr->genericMapFromScene(event->scenePos(),
- event->widget()));
+ event->widget()));
mouseGrabberButtonDownScenePos.insert(Qt::MouseButton(i), event->scenePos());
mouseGrabberButtonDownScreenPos.insert(Qt::MouseButton(i), event->screenPos());
}
@@ -1185,6 +924,24 @@ void QGraphicsScenePrivate::removeSceneEventFilter(QGraphicsItem *watched, QGrap
}
/*!
+ \internal
+*/
+bool QGraphicsScenePrivate::filterDescendantEvent(QGraphicsItem *item, QEvent *event)
+{
+ if (item && (item->d_ptr->ancestorFlags & QGraphicsItemPrivate::AncestorFiltersChildEvents)) {
+ QGraphicsItem *parent = item->parentItem();
+ while (parent) {
+ if (parent->d_ptr->filtersDescendantEvents && parent->sceneEventFilter(item, event))
+ return true;
+ if (!(parent->d_ptr->ancestorFlags & QGraphicsItemPrivate::AncestorFiltersChildEvents))
+ return false;
+ parent = parent->parentItem();
+ }
+ }
+ return false;
+}
+
+/*!
\internal
*/
bool QGraphicsScenePrivate::filterEvent(QGraphicsItem *item, QEvent *event)
@@ -1216,7 +973,9 @@ bool QGraphicsScenePrivate::sendEvent(QGraphicsItem *item, QEvent *event)
{
if (filterEvent(item, event))
return false;
- return (item && item->isEnabled()) ? item->sceneEvent(event) : false;
+ if (filterDescendantEvent(item, event))
+ return false;
+ return (item && item->isEnabled() ? item->sceneEvent(event) : false);
}
/*!
@@ -1429,779 +1188,6 @@ QGraphicsWidget *QGraphicsScenePrivate::windowForItem(const QGraphicsItem *item)
return 0;
}
-QList<QGraphicsItem *> QGraphicsScenePrivate::topLevelItemsInStackingOrder(const QTransform *const viewTransform,
- QRegion *exposedRegion)
-{
- if (indexMethod == QGraphicsScene::NoIndex || !exposedRegion) {
- if (needSortTopLevelItems) {
- needSortTopLevelItems = false;
- qStableSort(topLevelItems.begin(), topLevelItems.end(), qt_notclosestLeaf);
- }
- return topLevelItems;
- }
-
- const QRectF exposedRect = exposedRegion->boundingRect().adjusted(-1, -1, 1, 1);
- QRectF sceneRect;
- QTransform invertedViewTransform(Qt::Uninitialized);
- if (!viewTransform) {
- sceneRect = exposedRect;
- } else {
- invertedViewTransform = viewTransform->inverted();
- sceneRect = invertedViewTransform.mapRect(exposedRect);
- }
- if (!largestUntransformableItem.isEmpty()) {
- // ### Nuke this when we move the indexing code into a separate
- // class. All the largestUntransformableItem code should then go
- // away, and the estimate function should return untransformable
- // items as well.
- QRectF untr = largestUntransformableItem;
- QRectF ltri = !viewTransform ? untr : invertedViewTransform.mapRect(untr);
- ltri.adjust(-untr.width(), -untr.height(), untr.width(), untr.height());
- sceneRect.adjust(-ltri.width(), -ltri.height(), ltri.width(), ltri.height());
- }
-
- QList<QGraphicsItem *> tmp = estimateItemsInRect(sceneRect);
- for (int i = 0; i < tmp.size(); ++i)
- tmp.at(i)->topLevelItem()->d_ptr->itemDiscovered = 1;
-
- // Sort if the toplevel list is unsorted.
- if (needSortTopLevelItems) {
- needSortTopLevelItems = false;
- qStableSort(topLevelItems.begin(), topLevelItems.end(), qt_notclosestLeaf);
- }
-
- QList<QGraphicsItem *> tli;
- for (int i = 0; i < topLevelItems.size(); ++i) {
- // ### Investigate smarter ways. Looping through all top level
- // items is not optimal. If the BSP tree is to have maximum
- // effect, it should be possible to sort the subset of items
- // quickly. We must use this approach for now, as it's the only
- // current way to keep the stable sorting order (insertion order).
- QGraphicsItem *item = topLevelItems.at(i);
- if (item->d_ptr->itemDiscovered) {
- item->d_ptr->itemDiscovered = 0;
- tli << item;
- }
- }
- return tli;
-}
-
-void QGraphicsScenePrivate::recursive_items_helper(QGraphicsItem *item, QRectF rect,
- QList<QGraphicsItem *> *items,
- const QTransform &parentTransform,
- const QTransform &viewTransform,
- Qt::ItemSelectionMode mode, Qt::SortOrder order,
- qreal parentOpacity) const
-{
- // Calculate opacity.
- qreal opacity;
- if (item) {
- if (!item->d_ptr->visible)
- return;
- QGraphicsItem *p = item->d_ptr->parent;
- bool itemIgnoresParentOpacity = item->d_ptr->flags & QGraphicsItem::ItemIgnoresParentOpacity;
- bool parentDoesntPropagateOpacity = (p && (p->d_ptr->flags & QGraphicsItem::ItemDoesntPropagateOpacityToChildren));
- if (!itemIgnoresParentOpacity && !parentDoesntPropagateOpacity) {
- opacity = parentOpacity * item->opacity();
- } else {
- opacity = item->d_ptr->opacity;
- }
- if (opacity == 0.0 && !(item->d_ptr->flags & QGraphicsItem::ItemDoesntPropagateOpacityToChildren))
- return;
- } else {
- opacity = parentOpacity;
- }
-
- // Calculate the full transform for this item.
- QTransform transform = parentTransform;
- bool keep = false;
- if (item) {
- item->d_ptr->combineTransformFromParent(&transform, &viewTransform);
-
- // ### This does not take the clip into account.
- QRectF brect = item->boundingRect();
- _q_adjustRect(&brect);
-
- keep = true;
- if (mode == Qt::ContainsItemShape || mode == Qt::ContainsItemBoundingRect)
- keep = rect.contains(transform.mapRect(brect)) && rect != brect;
- else
- keep = rect.intersects(transform.mapRect(brect));
-
- if (keep && (mode == Qt::ContainsItemShape || mode == Qt::IntersectsItemShape)) {
- QPainterPath rectPath;
- rectPath.addRect(rect);
- keep = itemCollidesWithPath(item, transform.inverted().map(rectPath), mode);
- }
- }
-
- bool childClip = (item && (item->d_ptr->flags & QGraphicsItem::ItemClipsChildrenToShape));
- bool dontProcessItem = !item || !keep;
- bool dontProcessChildren = item && dontProcessItem && childClip;
-
- // Find and sort children.
- QList<QGraphicsItem *> &children = item ? item->d_ptr->children : const_cast<QGraphicsScenePrivate *>(this)->topLevelItems;
- if (!dontProcessChildren) {
- if (item && item->d_ptr->needSortChildren) {
- item->d_ptr->needSortChildren = 0;
- qStableSort(children.begin(), children.end(), qt_notclosestLeaf);
- } else if (!item && needSortTopLevelItems) {
- const_cast<QGraphicsScenePrivate *>(this)->needSortTopLevelItems = false;
- qStableSort(children.begin(), children.end(), qt_notclosestLeaf);
- }
- }
-
- childClip &= !dontProcessChildren & !children.isEmpty();
-
- // Clip.
- if (childClip)
- rect &= transform.map(item->shape()).controlPointRect();
-
- // Process children behind
- int i = 0;
- if (!dontProcessChildren) {
- for (i = 0; i < children.size(); ++i) {
- QGraphicsItem *child = children.at(i);
- if (!(child->d_ptr->flags & QGraphicsItem::ItemStacksBehindParent))
- break;
- recursive_items_helper(child, rect, items, transform, viewTransform,
- mode, order, opacity);
- }
- }
-
- // Process item
- if (!dontProcessItem)
- items->append(item);
-
- // Process children in front
- if (!dontProcessChildren) {
- for (; i < children.size(); ++i)
- recursive_items_helper(children.at(i), rect, items, transform, viewTransform,
- mode, order, opacity);
- }
-
- if (!item && order == Qt::AscendingOrder) {
- int n = items->size();
- for (int i = 0; i < n / 2; ++i) {
- QGraphicsItem *tmp = (*items)[n - i - 1];
- (*items)[n - i - 1] = (*items)[i];
- (*items)[i] = tmp;
- }
- }
-}
-
-QList<QGraphicsItem *> QGraphicsScenePrivate::items_helper(const QPointF &pos) const
-{
- QList<QGraphicsItem *> items;
-
- // The index returns a rough estimate of what items are inside the rect.
- // Refine it by iterating through all returned items.
- QRectF adjustedRect = QRectF(pos, QSize(1,1));
- foreach (QGraphicsItem *item, estimateItemsInRect(adjustedRect)) {
- // Find the item's scene transform in a clever way.
- QTransform x = item->sceneTransform();
- bool keep = false;
-
- // ### _q_adjustedRect is only needed because QRectF::intersects,
- // QRectF::contains and QTransform::map() and friends don't work with
- // flat rectangles.
- const QRectF br(adjustedItemBoundingRect(item));
- // Rect intersects/contains item's shape
- if (QRectF_intersects(adjustedRect, x.mapRect(br))) {
- bool ok;
- QTransform xinv = x.inverted(&ok);
- if (ok) {
- if (item->contains(xinv.map(pos))) {
- items << item;
- keep = true;
- }
- }
- }
-
- if (keep && (item->flags() & QGraphicsItem::ItemClipsChildrenToShape)) {
- // Recurse into children that clip children.
- bool ok;
- QTransform xinv = x.inverted(&ok);
- if (ok)
- childItems_helper(&items, item, xinv.map(pos));
- }
- }
-
- sortItems(&items, Qt::AscendingOrder, sortCacheEnabled);
- return items;
-}
-
-QList<QGraphicsItem *> QGraphicsScenePrivate::items_helper(const QRectF &rect,
- Qt::ItemSelectionMode mode,
- Qt::SortOrder order) const
-{
- QList<QGraphicsItem *> items;
-
- QPainterPath path;
-
- // The index returns a rough estimate of what items are inside the rect.
- // Refine it by iterating through all returned items.
- QRectF adjustedRect(rect);
- _q_adjustRect(&adjustedRect);
- foreach (QGraphicsItem *item, estimateItemsInRect(adjustedRect)) {
- // Find the item's scene transform in a clever way.
- QTransform x = item->sceneTransform();
- bool keep = false;
-
- // ### _q_adjustedRect is only needed because QRectF::intersects,
- // QRectF::contains and QTransform::map() and friends don't work with
- // flat rectangles.
- const QRectF br(adjustedItemBoundingRect(item));
- if (mode >= Qt::ContainsItemBoundingRect) {
- // Rect intersects/contains item's bounding rect
- QRectF mbr = x.mapRect(br);
- if ((mode == Qt::IntersectsItemBoundingRect && QRectF_intersects(rect, mbr))
- || (mode == Qt::ContainsItemBoundingRect && rect != mbr && rect.contains(mbr))) {
- items << item;
- keep = true;
- }
- } else {
- // Rect intersects/contains item's shape
- if (QRectF_intersects(adjustedRect, x.mapRect(br))) {
- bool ok;
- QTransform xinv = x.inverted(&ok);
- if (ok) {
- if (path.isEmpty())
- path.addRect(rect);
- if (itemCollidesWithPath(item, xinv.map(path), mode)) {
- items << item;
- keep = true;
- }
- }
- }
- }
-
- if (keep && (item->flags() & QGraphicsItem::ItemClipsChildrenToShape)) {
- // Recurse into children that clip children.
- bool ok;
- QTransform xinv = x.inverted(&ok);
- if (ok) {
- if (x.type() <= QTransform::TxScale) {
- // Rect
- childItems_helper(&items, item, xinv.mapRect(rect), mode);
- } else {
- // Polygon
- childItems_helper(&items, item, xinv.map(rect), mode);
- }
- }
- }
- }
-
- if (order != Qt::SortOrder(-1))
- sortItems(&items, order, sortCacheEnabled);
- return items;
-}
-
-QList<QGraphicsItem *> QGraphicsScenePrivate::items_helper(const QPolygonF &polygon,
- Qt::ItemSelectionMode mode,
- Qt::SortOrder order) const
-{
- QList<QGraphicsItem *> items;
-
- QRectF polyRect(polygon.boundingRect());
- _q_adjustRect(&polyRect);
- QPainterPath path;
-
- // The index returns a rough estimate of what items are inside the rect.
- // Refine it by iterating through all returned items.
- foreach (QGraphicsItem *item, estimateItemsInRect(polyRect)) {
- // Find the item's scene transform in a clever way.
- QTransform x = item->sceneTransform();
- bool keep = false;
-
- // ### _q_adjustedRect is only needed because QRectF::intersects,
- // QRectF::contains and QTransform::map() and friends don't work with
- // flat rectangles.
- const QRectF br(adjustedItemBoundingRect(item));
- if (mode >= Qt::ContainsItemBoundingRect) {
- // Polygon contains/intersects item's bounding rect
- if (path == QPainterPath())
- path.addPolygon(polygon);
- if ((mode == Qt::IntersectsItemBoundingRect && path.intersects(x.mapRect(br)))
- || (mode == Qt::ContainsItemBoundingRect && path.contains(x.mapRect(br)))) {
- items << item;
- keep = true;
- }
- } else {
- // Polygon contains/intersects item's shape
- if (QRectF_intersects(polyRect, x.mapRect(br))) {
- bool ok;
- QTransform xinv = x.inverted(&ok);
- if (ok) {
- if (path == QPainterPath())
- path.addPolygon(polygon);
- if (itemCollidesWithPath(item, xinv.map(path), mode)) {
- items << item;
- keep = true;
- }
- }
- }
- }
-
- if (keep && (item->flags() & QGraphicsItem::ItemClipsChildrenToShape)) {
- // Recurse into children that clip children.
- bool ok;
- QTransform xinv = x.inverted(&ok);
- if (ok)
- childItems_helper(&items, item, xinv.map(polygon), mode);
- }
- }
-
- if (order != Qt::SortOrder(-1))
- sortItems(&items, order, sortCacheEnabled);
- return items;
-}
-
-QList<QGraphicsItem *> QGraphicsScenePrivate::items_helper(const QPainterPath &path,
- Qt::ItemSelectionMode mode,
- Qt::SortOrder order) const
-{
- QList<QGraphicsItem *> items;
- QRectF pathRect(path.controlPointRect());
- _q_adjustRect(&pathRect);
-
- // The index returns a rough estimate of what items are inside the rect.
- // Refine it by iterating through all returned items.
- foreach (QGraphicsItem *item, estimateItemsInRect(pathRect)) {
- // Find the item's scene transform in a clever way.
- QTransform x = item->sceneTransform();
- bool keep = false;
-
- // ### _q_adjustedRect is only needed because QRectF::intersects,
- // QRectF::contains and QTransform::map() and friends don't work with
- // flat rectangles.
- const QRectF br(adjustedItemBoundingRect(item));
- if (mode >= Qt::ContainsItemBoundingRect) {
- // Path contains/intersects item's bounding rect
- if ((mode == Qt::IntersectsItemBoundingRect && path.intersects(x.mapRect(br)))
- || (mode == Qt::ContainsItemBoundingRect && path.contains(x.mapRect(br)))) {
- items << item;
- keep = true;
- }
- } else {
- // Path contains/intersects item's shape
- if (QRectF_intersects(pathRect, x.mapRect(br))) {
- bool ok;
- QTransform xinv = x.inverted(&ok);
- if (ok) {
- if (itemCollidesWithPath(item, xinv.map(path), mode)) {
- items << item;
- keep = true;
- }
- }
- }
- }
-
- if (keep && (item->flags() & QGraphicsItem::ItemClipsChildrenToShape)) {
- bool ok;
- QTransform xinv = x.inverted(&ok);
- if (ok)
- childItems_helper(&items, item, xinv.map(path), mode);
- }
- }
-
- if (order != Qt::SortOrder(-1))
- sortItems(&items, order, sortCacheEnabled);
- return items;
-}
-
-void QGraphicsScenePrivate::childItems_helper(QList<QGraphicsItem *> *items,
- const QGraphicsItem *parent,
- const QPointF &pos) const
-{
- bool parentClip = (parent->flags() & QGraphicsItem::ItemClipsChildrenToShape);
- if (parentClip && parent->d_ptr->isClippedAway())
- return;
- // ### is this needed?
- if (parentClip && !parent->boundingRect().contains(pos))
- return;
-
- QList<QGraphicsItem *> &children = parent->d_ptr->children;
- for (int i = 0; i < children.size(); ++i) {
- QGraphicsItem *item = children.at(i);
- if (item->d_ptr->transformData && !item->d_ptr->transformData->computedFullTransform().isInvertible())
- continue;
-
- // Skip invisible items and all their children.
- if (item->d_ptr->isInvisible())
- continue;
-
- bool keep = false;
- if (!item->d_ptr->isClippedAway()) {
- if (item->contains(item->mapFromParent(pos))) {
- items->append(item);
- keep = true;
- }
- }
-
- if ((keep || !(item->flags() & QGraphicsItem::ItemClipsChildrenToShape)) && !item->d_ptr->children.isEmpty())
- // Recurse into children.
- childItems_helper(items, item, item->mapFromParent(pos));
- }
-}
-
-
-void QGraphicsScenePrivate::childItems_helper(QList<QGraphicsItem *> *items,
- const QGraphicsItem *parent,
- const QRectF &rect,
- Qt::ItemSelectionMode mode) const
-{
- bool parentClip = (parent->flags() & QGraphicsItem::ItemClipsChildrenToShape);
- if (parentClip && parent->d_ptr->isClippedAway())
- return;
- QRectF adjustedRect(rect);
- _q_adjustRect(&adjustedRect);
- QRectF r = !parentClip ? adjustedRect : adjustedRect.intersected(adjustedItemBoundingRect(parent));
- if (r.isEmpty())
- return;
-
- QPainterPath path;
- QList<QGraphicsItem *> &children = parent->d_ptr->children;
- for (int i = 0; i < children.size(); ++i) {
- QGraphicsItem *item = children.at(i);
- if (item->d_ptr->transformData && !item->d_ptr->transformData->computedFullTransform().isInvertible())
- continue;
-
- // Skip invisible items and all their children.
- if (item->d_ptr->isInvisible())
- continue;
-
- bool keep = false;
- if (!item->d_ptr->isClippedAway()) {
- // ### _q_adjustedRect is only needed because QRectF::intersects,
- // QRectF::contains and QTransform::map() and friends don't work with
- // flat rectangles.
- const QRectF br(adjustedItemBoundingRect(item));
- QRectF mbr = item->mapRectToParent(br);
- if (mode >= Qt::ContainsItemBoundingRect) {
- // Rect intersects/contains item's bounding rect
- if ((mode == Qt::IntersectsItemBoundingRect && QRectF_intersects(rect, mbr))
- || (mode == Qt::ContainsItemBoundingRect && rect != mbr && rect.contains(br))) {
- items->append(item);
- keep = true;
- }
- } else {
- // Rect intersects/contains item's shape
- if (QRectF_intersects(rect, mbr)) {
- if (path == QPainterPath())
- path.addRect(rect);
- if (itemCollidesWithPath(item, item->mapFromParent(path), mode)) {
- items->append(item);
- keep = true;
- }
- }
- }
- }
-
- if ((keep || !(item->flags() & QGraphicsItem::ItemClipsChildrenToShape)) && !item->d_ptr->children.isEmpty()) {
- // Recurse into children.
- if (!item->d_ptr->transformData || item->d_ptr->transformData->computedFullTransform().type() <= QTransform::TxScale) {
- // Rect
- childItems_helper(items, item, item->mapRectFromParent(rect), mode);
- } else {
- // Polygon
- childItems_helper(items, item, item->mapFromParent(rect), mode);
- }
- }
- }
-}
-
-
-void QGraphicsScenePrivate::childItems_helper(QList<QGraphicsItem *> *items,
- const QGraphicsItem *parent,
- const QPolygonF &polygon,
- Qt::ItemSelectionMode mode) const
-{
- bool parentClip = (parent->flags() & QGraphicsItem::ItemClipsChildrenToShape);
- if (parentClip && parent->d_ptr->isClippedAway())
- return;
- QRectF polyRect(polygon.boundingRect());
- _q_adjustRect(&polyRect);
- QRectF r = !parentClip ? polyRect : polyRect.intersected(adjustedItemBoundingRect(parent));
- if (r.isEmpty())
- return;
-
- QPainterPath path;
- QList<QGraphicsItem *> &children = parent->d_ptr->children;
- for (int i = 0; i < children.size(); ++i) {
- QGraphicsItem *item = children.at(i);
- if (item->d_ptr->transformData && !item->d_ptr->transformData->computedFullTransform().isInvertible())
- continue;
-
- // Skip invisible items.
- if (item->d_ptr->isInvisible())
- continue;
-
- bool keep = false;
- if (!item->d_ptr->isClippedAway()) {
- // ### _q_adjustedRect is only needed because QRectF::intersects,
- // QRectF::contains and QTransform::map() and friends don't work with
- // flat rectangles.
- const QRectF br(adjustedItemBoundingRect(item));
- if (mode >= Qt::ContainsItemBoundingRect) {
- // Polygon contains/intersects item's bounding rect
- if (path == QPainterPath())
- path.addPolygon(polygon);
- if ((mode == Qt::IntersectsItemBoundingRect && path.intersects(item->mapRectToParent(br)))
- || (mode == Qt::ContainsItemBoundingRect && path.contains(item->mapRectToParent(br)))) {
- items->append(item);
- keep = true;
- }
- } else {
- // Polygon contains/intersects item's shape
- if (QRectF_intersects(polyRect, item->mapRectToParent(br))) {
- if (path == QPainterPath())
- path.addPolygon(polygon);
- if (itemCollidesWithPath(item, item->mapFromParent(path), mode)) {
- items->append(item);
- keep = true;
- }
- }
- }
- }
-
- if ((keep || !(item->flags() & QGraphicsItem::ItemClipsChildrenToShape)) && !item->d_ptr->children.isEmpty()) {
- // Recurse into children that clip children.
- childItems_helper(items, item, item->mapFromParent(polygon), mode);
- }
- }
-}
-
-void QGraphicsScenePrivate::childItems_helper(QList<QGraphicsItem *> *items,
- const QGraphicsItem *parent,
- const QPainterPath &path,
- Qt::ItemSelectionMode mode) const
-{
- bool parentClip = (parent->flags() & QGraphicsItem::ItemClipsChildrenToShape);
- if (parentClip && parent->d_ptr->isClippedAway())
- return;
- QRectF pathRect(path.boundingRect());
- _q_adjustRect(&pathRect);
- QRectF r = !parentClip ? pathRect : pathRect.intersected(adjustedItemBoundingRect(parent));
- if (r.isEmpty())
- return;
-
- QList<QGraphicsItem *> &children = parent->d_ptr->children;
- for (int i = 0; i < children.size(); ++i) {
- QGraphicsItem *item = children.at(i);
- if (item->d_ptr->transformData && !item->d_ptr->transformData->computedFullTransform().isInvertible())
- continue;
-
- // Skip invisible items.
- if (item->d_ptr->isInvisible())
- continue;
-
- bool keep = false;
- if (!item->d_ptr->isClippedAway()) {
- // ### _q_adjustedRect is only needed because QRectF::intersects,
- // QRectF::contains and QTransform::map() and friends don't work with
- // flat rectangles.
- const QRectF br(adjustedItemBoundingRect(item));
- if (mode >= Qt::ContainsItemBoundingRect) {
- // Polygon contains/intersects item's bounding rect
- if ((mode == Qt::IntersectsItemBoundingRect && path.intersects(item->mapRectToParent(br)))
- || (mode == Qt::ContainsItemBoundingRect && path.contains(item->mapRectToParent(br)))) {
- items->append(item);
- keep = true;
- }
- } else {
- // Path contains/intersects item's shape
- if (QRectF_intersects(pathRect, item->mapRectToParent(br))) {
- if (itemCollidesWithPath(item, item->mapFromParent(path), mode)) {
- items->append(item);
- keep = true;
- }
- }
- }
- }
-
- if ((keep || !(item->flags() & QGraphicsItem::ItemClipsChildrenToShape)) && !item->d_ptr->children.isEmpty()) {
- // Recurse into children that clip children.
- childItems_helper(items, item, item->mapFromParent(path), mode);
- }
- }
-}
-
-void QGraphicsScenePrivate::invalidateSortCache()
-{
- Q_Q(QGraphicsScene);
- if (!sortCacheEnabled || updatingSortCache)
- return;
-
- updatingSortCache = true;
- QMetaObject::invokeMethod(q, "_q_updateSortCache", Qt::QueuedConnection);
-}
-
-/*!
- \internal
-
- Should not be exported, but we can't change that now.
- ### Qt 5: Remove symbol / make static
-*/
-inline bool qt_closestLeaf(const QGraphicsItem *item1, const QGraphicsItem *item2)
-{
- // Return true if sibling item1 is on top of item2.
- const QGraphicsItemPrivate *d1 = item1->d_ptr.data();
- const QGraphicsItemPrivate *d2 = item2->d_ptr.data();
- bool f1 = d1->flags & QGraphicsItem::ItemStacksBehindParent;
- bool f2 = d2->flags & QGraphicsItem::ItemStacksBehindParent;
- if (f1 != f2) return f2;
- qreal z1 = d1->z;
- qreal z2 = d2->z;
- return z1 > z2;
-}
-
-static inline bool qt_notclosestLeaf(const QGraphicsItem *item1, const QGraphicsItem *item2)
-{
- return qt_closestLeaf(item2, item1);
-}
-
-/*!
- \internal
-
- Should not be exported, but we can't change that now.
-*/
-inline bool qt_closestItemFirst(const QGraphicsItem *item1, const QGraphicsItem *item2)
-{
- return QGraphicsScenePrivate::closestItemFirst_withoutCache(item1, item2);
-}
-
-/*!
- Returns true if \a item1 is on top of \a item2.
-
- \internal
-*/
-bool QGraphicsScenePrivate::closestItemFirst_withoutCache(const QGraphicsItem *item1, const QGraphicsItem *item2)
-{
- // Siblings? Just check their z-values.
- const QGraphicsItemPrivate *d1 = item1->d_ptr.data();
- const QGraphicsItemPrivate *d2 = item2->d_ptr.data();
- if (d1->parent == d2->parent)
- return qt_closestLeaf(item1, item2);
-
- // Find common ancestor, and each item's ancestor closest to the common
- // ancestor.
- int item1Depth = d1->depth;
- int item2Depth = d2->depth;
- const QGraphicsItem *p = item1;
- const QGraphicsItem *t1 = item1;
- while (item1Depth > item2Depth && (p = p->d_ptr->parent)) {
- if (p == item2) {
- // item2 is one of item1's ancestors; item1 is on top
- return !(t1->d_ptr->flags & QGraphicsItem::ItemStacksBehindParent);
- }
- t1 = p;
- --item1Depth;
- }
- p = item2;
- const QGraphicsItem *t2 = item2;
- while (item2Depth > item1Depth && (p = p->d_ptr->parent)) {
- if (p == item1) {
- // item1 is one of item2's ancestors; item1 is not on top
- return (t2->d_ptr->flags & QGraphicsItem::ItemStacksBehindParent);
- }
- t2 = p;
- --item2Depth;
- }
-
- // item1Ancestor is now at the same level as item2Ancestor, but not the same.
- const QGraphicsItem *a1 = t1;
- const QGraphicsItem *a2 = t2;
- while (a1) {
- const QGraphicsItem *p1 = a1;
- const QGraphicsItem *p2 = a2;
- a1 = a1->parentItem();
- a2 = a2->parentItem();
- if (a1 && a1 == a2)
- return qt_closestLeaf(p1, p2);
- }
-
- // No common ancestor? Then just compare the items' toplevels directly.
- return qt_closestLeaf(t1->topLevelItem(), t2->topLevelItem());
-}
-
-/*!
- Returns true if \a item2 is on top of \a item1.
-
- \internal
-*/
-bool QGraphicsScenePrivate::closestItemLast_withoutCache(const QGraphicsItem *item1, const QGraphicsItem *item2)
-{
- return closestItemFirst_withoutCache(item2, item1);
-}
-
-void QGraphicsScenePrivate::climbTree(QGraphicsItem *item, int *stackingOrder)
-{
- if (!item->d_ptr->children.isEmpty()) {
- QList<QGraphicsItem *> childList = item->d_ptr->children;
- qSort(childList.begin(), childList.end(), qt_closestLeaf);
- for (int i = 0; i < childList.size(); ++i) {
- QGraphicsItem *item = childList.at(i);
- if (!(item->flags() & QGraphicsItem::ItemStacksBehindParent))
- climbTree(childList.at(i), stackingOrder);
- }
- item->d_ptr->globalStackingOrder = (*stackingOrder)++;
- for (int i = 0; i < childList.size(); ++i) {
- QGraphicsItem *item = childList.at(i);
- if (item->flags() & QGraphicsItem::ItemStacksBehindParent)
- climbTree(childList.at(i), stackingOrder);
- }
- } else {
- item->d_ptr->globalStackingOrder = (*stackingOrder)++;
- }
-}
-
-void QGraphicsScenePrivate::_q_updateSortCache()
-{
- _q_updateIndex();
-
- if (!sortCacheEnabled || !updatingSortCache)
- return;
-
- updatingSortCache = false;
- int stackingOrder = 0;
-
- QList<QGraphicsItem *> topLevels;
-
- for (int i = 0; i < indexedItems.size(); ++i) {
- QGraphicsItem *item = indexedItems.at(i);
- if (item && item->parentItem() == 0)
- topLevels << item;
- }
- for (int i = 0; i < unindexedItems.size(); ++i) {
- QGraphicsItem *item = unindexedItems.at(i);
- if (item->parentItem() == 0)
- topLevels << item;
- }
-
- qSort(topLevels.begin(), topLevels.end(), qt_closestLeaf);
- for (int i = 0; i < topLevels.size(); ++i)
- climbTree(topLevels.at(i), &stackingOrder);
-}
-
-void QGraphicsScenePrivate::sortItems(QList<QGraphicsItem *> *itemList, Qt::SortOrder order,
- bool sortCacheEnabled)
-{
- if (sortCacheEnabled) {
- if (order == Qt::AscendingOrder) {
- qSort(itemList->begin(), itemList->end(), closestItemFirst_withCache);
- } else if (order == Qt::DescendingOrder) {
- qSort(itemList->begin(), itemList->end(), closestItemLast_withCache);
- }
- } else {
- if (order == Qt::AscendingOrder) {
- qSort(itemList->begin(), itemList->end(), closestItemFirst_withoutCache);
- } else if (order == Qt::DescendingOrder) {
- qSort(itemList->begin(), itemList->end(), closestItemLast_withoutCache);
- }
- }
-}
-
/*!
\internal
@@ -2334,8 +1320,8 @@ QGraphicsScene::QGraphicsScene(QObject *parent)
QGraphicsScene::QGraphicsScene(const QRectF &sceneRect, QObject *parent)
: QObject(*new QGraphicsScenePrivate, parent)
{
- setSceneRect(sceneRect);
d_func()->init();
+ setSceneRect(sceneRect);
}
/*!
@@ -2349,8 +1335,8 @@ QGraphicsScene::QGraphicsScene(const QRectF &sceneRect, QObject *parent)
QGraphicsScene::QGraphicsScene(qreal x, qreal y, qreal width, qreal height, QObject *parent)
: QObject(*new QGraphicsScenePrivate, parent)
{
- setSceneRect(x, y, width, height);
d_func()->init();
+ setSceneRect(x, y, width, height);
}
/*!
@@ -2387,8 +1373,19 @@ QGraphicsScene::~QGraphicsScene()
QRectF QGraphicsScene::sceneRect() const
{
Q_D(const QGraphicsScene);
- const_cast<QGraphicsScenePrivate *>(d)->_q_updateIndex();
- return d->hasSceneRect ? d->sceneRect : d->growingItemsBoundingRect;
+ if (d->hasSceneRect)
+ return d->sceneRect;
+
+ if (d->dirtyGrowingItemsBoundingRect) {
+ // Lazily update the growing items bounding rect
+ QGraphicsScenePrivate *thatd = const_cast<QGraphicsScenePrivate *>(d);
+ QRectF oldGrowingBoundingRect = thatd->growingItemsBoundingRect;
+ thatd->growingItemsBoundingRect |= itemsBoundingRect();
+ thatd->dirtyGrowingItemsBoundingRect = false;
+ if (oldGrowingBoundingRect != thatd->growingItemsBoundingRect)
+ emit const_cast<QGraphicsScene *>(this)->sceneRectChanged(thatd->growingItemsBoundingRect);
+ }
+ return d->growingItemsBoundingRect;
}
void QGraphicsScene::setSceneRect(const QRectF &rect)
{
@@ -2396,8 +1393,7 @@ void QGraphicsScene::setSceneRect(const QRectF &rect)
if (rect != d->sceneRect) {
d->hasSceneRect = !rect.isNull();
d->sceneRect = rect;
- d->resetIndex();
- emit sceneRectChanged(rect);
+ emit sceneRectChanged(d->hasSceneRect ? rect : d->growingItemsBoundingRect);
}
}
@@ -2438,6 +1434,8 @@ void QGraphicsScene::setSceneRect(const QRectF &rect)
void QGraphicsScene::render(QPainter *painter, const QRectF &target, const QRectF &source,
Qt::AspectRatioMode aspectRatioMode)
{
+ // ### Switch to using the recursive rendering algorithm instead.
+
// Default source rect = scene rect
QRectF sourceRect = source;
if (sourceRect.isNull())
@@ -2532,8 +1530,19 @@ QGraphicsScene::ItemIndexMethod QGraphicsScene::itemIndexMethod() const
void QGraphicsScene::setItemIndexMethod(ItemIndexMethod method)
{
Q_D(QGraphicsScene);
- d->resetIndex();
+ if (d->indexMethod == method)
+ return;
+
d->indexMethod = method;
+
+ QList<QGraphicsItem *> oldItems = d->index->items(Qt::AscendingOrder);
+ delete d->index;
+ if (method == BspTreeIndex)
+ d->index = new QGraphicsSceneBspTreeIndex(this);
+ else
+ d->index = new QGraphicsSceneLinearIndex(this);
+ for (int i = oldItems.size() - 1; i >= 0; --i)
+ d->index->addItem(oldItems.at(i));
}
/*!
@@ -2571,35 +1580,32 @@ void QGraphicsScene::setItemIndexMethod(ItemIndexMethod method)
int QGraphicsScene::bspTreeDepth() const
{
Q_D(const QGraphicsScene);
- return d->bspTreeDepth;
+ QGraphicsSceneBspTreeIndex *bspTree = qobject_cast<QGraphicsSceneBspTreeIndex *>(d->index);
+ return bspTree ? bspTree->bspTreeDepth() : 0;
}
void QGraphicsScene::setBspTreeDepth(int depth)
{
Q_D(QGraphicsScene);
- if (d->bspTreeDepth == depth)
- return;
-
if (depth < 0) {
qWarning("QGraphicsScene::setBspTreeDepth: invalid depth %d ignored; must be >= 0", depth);
return;
}
- d->bspTreeDepth = depth;
- d->resetIndex();
+ QGraphicsSceneBspTreeIndex *bspTree = qobject_cast<QGraphicsSceneBspTreeIndex *>(d->index);
+ if (!bspTree) {
+ qWarning("QGraphicsScene::setBspTreeDepth: can not apply if indexing method is not BSP");
+ return;
+ }
+ bspTree->setBspTreeDepth(depth);
}
/*!
\property QGraphicsScene::sortCacheEnabled
\brief whether sort caching is enabled
\since 4.5
+ \obsolete
- When enabled, this property adds a cache that speeds up sorting and
- transformations for scenes with deep hierarchies (i.e., items with many
- levels of descendents), at the cost of using more memory (approx. 100 more
- bytes of memory per item).
-
- Items that are not part of a deep hierarchy suffer no penalty from this
- cache.
+ Since Qt 4.6, this property has no effect.
*/
bool QGraphicsScene::isSortCacheEnabled() const
{
@@ -2609,10 +1615,9 @@ bool QGraphicsScene::isSortCacheEnabled() const
void QGraphicsScene::setSortCacheEnabled(bool enabled)
{
Q_D(QGraphicsScene);
- if (enabled == d->sortCacheEnabled)
+ if (d->sortCacheEnabled == enabled)
return;
- if ((d->sortCacheEnabled = enabled))
- d->invalidateSortCache();
+ d->sortCacheEnabled = enabled;
}
/*!
@@ -2624,6 +1629,7 @@ void QGraphicsScene::setSortCacheEnabled(bool enabled)
*/
QRectF QGraphicsScene::itemsBoundingRect() const
{
+ // Does not take untransformable items into account.
QRectF boundingRect;
foreach (QGraphicsItem *item, items())
boundingRect |= item->sceneBoundingRect();
@@ -2638,43 +1644,43 @@ QRectF QGraphicsScene::itemsBoundingRect() const
QList<QGraphicsItem *> QGraphicsScene::items() const
{
Q_D(const QGraphicsScene);
- const_cast<QGraphicsScenePrivate *>(d)->purgeRemovedItems();
+ return d->index->items(Qt::AscendingOrder);
+}
- // If freeItemIndexes is empty, we know there are no holes in indexedItems and
- // unindexedItems.
- if (d->freeItemIndexes.isEmpty()) {
- if (d->unindexedItems.isEmpty())
- return d->indexedItems;
- return d->indexedItems + d->unindexedItems;
- }
+/*!
+ Returns an ordered list of all items on the scene. \a order decides the
+ sorting.
- // Rebuild the list of items to avoid holes. ### We could also just
- // compress the item lists at this point.
- QList<QGraphicsItem *> itemList;
- foreach (QGraphicsItem *item, d->indexedItems + d->unindexedItems) {
- if (item)
- itemList << item;
- }
- return itemList;
+ \sa addItem(), removeItem()
+*/
+QList<QGraphicsItem *> QGraphicsScene::items(Qt::SortOrder order) const
+{
+ Q_D(const QGraphicsScene);
+ return d->index->items(order);
}
/*!
+ \obsolete
+
Returns all visible items at position \a pos in the scene. The items are
- listed in descending Z order (i.e., the first item in the list is the
+ listed in descending stacking order (i.e., the first item in the list is the
top-most item, and the last item is the bottom-most item).
+ This function is deprecated and returns incorrect results if the scene
+ contains items that ignore transformations. Use the overload that takes
+ a QTransform instead.
+
\sa itemAt()
*/
QList<QGraphicsItem *> QGraphicsScene::items(const QPointF &pos) const
{
Q_D(const QGraphicsScene);
- return d->items_helper(pos);
+ return d->index->items(pos, Qt::IntersectsItemShape, Qt::AscendingOrder);
}
/*!
- \fn QList<QGraphicsItem *> QGraphicsScene::items(const QRectF &rectangle, Qt::ItemSelectionMode mode) const
-
\overload
+ \obsolete
Returns all visible items that, depending on \a mode, are either inside or
intersect with the specified \a rectangle.
@@ -2682,25 +1688,47 @@ QList<QGraphicsItem *> QGraphicsScene::items(const QPointF &pos) const
The default value for \a mode is Qt::IntersectsItemShape; all items whose
exact shape intersects with or is contained by \a rectangle are returned.
+ This function is deprecated and returns incorrect results if the scene
+ contains items that ignore transformations. Use the overload that takes
+ a QTransform instead.
+
\sa itemAt()
*/
-QList<QGraphicsItem *> QGraphicsScene::items(const QRectF &rect, Qt::ItemSelectionMode mode) const
+QList<QGraphicsItem *> QGraphicsScene::items(const QRectF &rectangle, Qt::ItemSelectionMode mode) const
{
Q_D(const QGraphicsScene);
- QList<QGraphicsItem *> itemList;
- d->recursive_items_helper(0, rect, &itemList, QTransform(), QTransform(), mode, Qt::AscendingOrder);
- return itemList;
+ return d->index->items(rectangle, mode, Qt::AscendingOrder);
}
/*!
\fn QList<QGraphicsItem *> QGraphicsScene::items(qreal x, qreal y, qreal w, qreal h, Qt::ItemSelectionMode mode) const
+ \obsolete
\since 4.3
This convenience function is equivalent to calling items(QRectF(\a x, \a y, \a w, \a h), \a mode).
+
+ This function is deprecated and returns incorrect results if the scene
+ contains items that ignore transformations. Use the overload that takes
+ a QTransform instead.
*/
/*!
+ \fn QList<QGraphicsItem *> QGraphicsScene::items(qreal x, qreal y, qreal w, qreal h,
+ Qt::ItemSelectionMode mode, Qt::SortOrder order, const QTransform &deviceTransform) const
\overload
+ \since 4.6
+
+ Returns all visible items that, depending on \a mode, are either inside or
+ intersect with the rectangle defined by \a x, \a y, \a w and \a h, in a list
+ sorted using \a order.
+
+ \a deviceTransform is the transformation that applies to the view, and needs to
+ be provided if the scene contains items that ignore transformations.
+*/
+
+/*!
+ \overload
+ \obsolete
Returns all visible items that, depending on \a mode, are either inside or
intersect with the polygon \a polygon.
@@ -2708,16 +1736,21 @@ QList<QGraphicsItem *> QGraphicsScene::items(const QRectF &rect, Qt::ItemSelecti
The default value for \a mode is Qt::IntersectsItemShape; all items whose
exact shape intersects with or is contained by \a polygon are returned.
+ This function is deprecated and returns incorrect results if the scene
+ contains items that ignore transformations. Use the overload that takes
+ a QTransform instead.
+
\sa itemAt()
*/
QList<QGraphicsItem *> QGraphicsScene::items(const QPolygonF &polygon, Qt::ItemSelectionMode mode) const
{
Q_D(const QGraphicsScene);
- return d->items_helper(polygon, mode, Qt::AscendingOrder);
+ return d->index->items(polygon, mode, Qt::AscendingOrder);
}
/*!
\overload
+ \obsolete
Returns all visible items that, depending on \a path, are either inside or
intersect with the path \a path.
@@ -2725,12 +1758,103 @@ QList<QGraphicsItem *> QGraphicsScene::items(const QPolygonF &polygon, Qt::ItemS
The default value for \a mode is Qt::IntersectsItemShape; all items whose
exact shape intersects with or is contained by \a path are returned.
+ This function is deprecated and returns incorrect results if the scene
+ contains items that ignore transformations. Use the overload that takes
+ a QTransform instead.
+
\sa itemAt()
*/
QList<QGraphicsItem *> QGraphicsScene::items(const QPainterPath &path, Qt::ItemSelectionMode mode) const
{
Q_D(const QGraphicsScene);
- return d->items_helper(path, mode, Qt::AscendingOrder);
+ return d->index->items(path, mode, Qt::AscendingOrder);
+}
+
+/*!
+ \since 4.6
+
+ Returns all visible items that, depending on \a mode, are at the specified \a pos
+ in a list sorted using \a order.
+
+ The default value for \a mode is Qt::IntersectsItemShape; all items whose
+ exact shape intersects with \a pos are returned.
+
+ \a deviceTransform is the transformation that applies to the view, and needs to
+ be provided if the scene contains items that ignore transformations.
+
+ \sa itemAt()
+*/
+QList<QGraphicsItem *> QGraphicsScene::items(const QPointF &pos, Qt::ItemSelectionMode mode,
+ Qt::SortOrder order, const QTransform &deviceTransform) const
+{
+ Q_D(const QGraphicsScene);
+ return d->index->items(pos, mode, order, deviceTransform);
+}
+
+/*!
+ \overload
+ \since 4.6
+
+ Returns all visible items that, depending on \a mode, are either inside or
+ intersect with the specified \a rect and return a list sorted using \a order.
+
+ The default value for \a mode is Qt::IntersectsItemShape; all items whose
+ exact shape intersects with or is contained by \a rect are returned.
+
+ \a deviceTransform is the transformation that applies to the view, and needs to
+ be provided if the scene contains items that ignore transformations.
+
+ \sa itemAt()
+*/
+QList<QGraphicsItem *> QGraphicsScene::items(const QRectF &rect, Qt::ItemSelectionMode mode,
+ Qt::SortOrder order, const QTransform &deviceTransform) const
+{
+ Q_D(const QGraphicsScene);
+ return d->index->items(rect, mode, order, deviceTransform);
+}
+
+/*!
+ \overload
+ \since 4.6
+
+ Returns all visible items that, depending on \a mode, are either inside or
+ intersect with the specified \a polygon and return a list sorted using \a order.
+
+ The default value for \a mode is Qt::IntersectsItemShape; all items whose
+ exact shape intersects with or is contained by \a polygon are returned.
+
+ \a deviceTransform is the transformation that applies to the view, and needs to
+ be provided if the scene contains items that ignore transformations.
+
+ \sa itemAt()
+*/
+QList<QGraphicsItem *> QGraphicsScene::items(const QPolygonF &polygon, Qt::ItemSelectionMode mode,
+ Qt::SortOrder order, const QTransform &deviceTransform) const
+{
+ Q_D(const QGraphicsScene);
+ return d->index->items(polygon, mode, order, deviceTransform);
+}
+
+/*!
+ \overload
+ \since 4.6
+
+ Returns all visible items that, depending on \a mode, are either inside or
+ intersect with the specified \a path and return a list sorted using \a order.
+
+ The default value for \a mode is Qt::IntersectsItemShape; all items whose
+ exact shape intersects with or is contained by \a path are returned.
+
+ \a deviceTransform is the transformation that applies to the view, and needs to
+ be provided if the scene contains items that ignore transformations.
+
+ \sa itemAt()
+*/
+QList<QGraphicsItem *> QGraphicsScene::items(const QPainterPath &path, Qt::ItemSelectionMode mode,
+ Qt::SortOrder order, const QTransform &deviceTransform) const
+{
+ Q_D(const QGraphicsScene);
+ return d->index->items(path, mode, order, deviceTransform);
}
/*!
@@ -2753,34 +1877,77 @@ QList<QGraphicsItem *> QGraphicsScene::collidingItems(const QGraphicsItem *item,
return QList<QGraphicsItem *>();
}
+ // Does not support ItemIgnoresTransformations.
QList<QGraphicsItem *> tmp;
- foreach (QGraphicsItem *itemInVicinity, d->estimateItemsInRect(item->sceneBoundingRect())) {
+ foreach (QGraphicsItem *itemInVicinity, d->index->estimateItems(item->sceneBoundingRect(), Qt::AscendingOrder)) {
if (item != itemInVicinity && item->collidesWithItem(itemInVicinity, mode))
tmp << itemInVicinity;
}
- d->sortItems(&tmp, Qt::AscendingOrder, d->sortCacheEnabled);
return tmp;
}
/*!
- \fn QGraphicsItem *QGraphicsScene::itemAt(const QPointF &position) const
+ \overload
+ \obsolete
Returns the topmost visible item at the specified \a position, or 0 if
there are no items at this position.
\note The topmost item is the one with the highest Z-value.
+ This function is deprecated and returns incorrect results if the scene
+ contains items that ignore transformations. Use the overload that takes
+ a QTransform instead.
+
\sa items(), collidingItems(), QGraphicsItem::setZValue()
*/
-QGraphicsItem *QGraphicsScene::itemAt(const QPointF &pos) const
+QGraphicsItem *QGraphicsScene::itemAt(const QPointF &position) const
{
- QList<QGraphicsItem *> itemsAtPoint = items(pos);
+ QList<QGraphicsItem *> itemsAtPoint = items(position);
return itemsAtPoint.isEmpty() ? 0 : itemsAtPoint.first();
}
/*!
+ \since 4.6
+
+ Returns the topmost visible item at the specified \a position, or 0
+ if there are no items at this position.
+
+ \a deviceTransform is the transformation that applies to the view, and needs to
+ be provided if the scene contains items that ignore transformations.
+
+ \note The topmost item is the one with the highest Z-value.
+
+ \sa items(), collidingItems(), QGraphicsItem::setZValue()
+ */
+QGraphicsItem *QGraphicsScene::itemAt(const QPointF &position, const QTransform &deviceTransform) const
+{
+ QList<QGraphicsItem *> itemsAtPoint = items(position, Qt::IntersectsItemShape,
+ Qt::AscendingOrder, deviceTransform);
+ return itemsAtPoint.isEmpty() ? 0 : itemsAtPoint.first();
+}
+
+/*!
+ \fn QGraphicsScene::itemAt(qreal x, qreal y, const QTransform &deviceTransform) const
+ \overload
+ \since 4.6
+
+ Returns the topmost item at the position specified by (\a x, \a
+ y), or 0 if there are no items at this position.
+
+ \a deviceTransform is the transformation that applies to the view, and needs to
+ be provided if the scene contains items that ignore transformations.
+
+ This convenience function is equivalent to calling \c
+ {itemAt(QPointF(x, y), deviceTransform)}.
+
+ \note The topmost item is the one with the highest Z-value.
+*/
+
+/*!
\fn QGraphicsScene::itemAt(qreal x, qreal y) const
\overload
+ \obsolete
Returns the topmost item at the position specified by (\a x, \a
y), or 0 if there are no items at this position.
@@ -2788,6 +1955,10 @@ QGraphicsItem *QGraphicsScene::itemAt(const QPointF &pos) const
This convenience function is equivalent to calling \c
{itemAt(QPointF(x, y))}.
+ This function is deprecated and returns incorrect results if the scene
+ contains items that ignore transformations. Use the overload that takes
+ a QTransform instead.
+
\note The topmost item is the one with the highest Z-value.
*/
@@ -2828,21 +1999,42 @@ QPainterPath QGraphicsScene::selectionArea() const
}
/*!
+ \since 4.6
+
Sets the selection area to \a path. All items within this area are
immediately selected, and all items outside are unselected. You can get
the list of all selected items by calling selectedItems().
+ \a deviceTransform is the transformation that applies to the view, and needs to
+ be provided if the scene contains items that ignore transformations.
+
For an item to be selected, it must be marked as \e selectable
(QGraphicsItem::ItemIsSelectable).
\sa clearSelection(), selectionArea()
*/
+void QGraphicsScene::setSelectionArea(const QPainterPath &path, const QTransform &deviceTransform)
+{
+ setSelectionArea(path, Qt::IntersectsItemShape, deviceTransform);
+}
+
+/*!
+ \obsolete
+ \overload
+
+ Sets the selection area to \a path.
+
+ This function is deprecated and leads to incorrect results if the scene
+ contains items that ignore transformations. Use the overload that takes
+ a QTransform instead.
+*/
void QGraphicsScene::setSelectionArea(const QPainterPath &path)
{
- setSelectionArea(path, Qt::IntersectsItemShape);
+ setSelectionArea(path, Qt::IntersectsItemShape, QTransform());
}
/*!
+ \obsolete
\overload
\since 4.3
@@ -2853,6 +2045,24 @@ void QGraphicsScene::setSelectionArea(const QPainterPath &path)
*/
void QGraphicsScene::setSelectionArea(const QPainterPath &path, Qt::ItemSelectionMode mode)
{
+ setSelectionArea(path, mode, QTransform());
+}
+
+/*!
+ \overload
+ \since 4.6
+
+ Sets the selection area to \a path using \a mode to determine if items are
+ included in the selection area.
+
+ \a deviceTransform is the transformation that applies to the view, and needs to
+ be provided if the scene contains items that ignore transformations.
+
+ \sa clearSelection(), selectionArea()
+*/
+void QGraphicsScene::setSelectionArea(const QPainterPath &path, Qt::ItemSelectionMode mode,
+ const QTransform &deviceTransform)
+{
Q_D(QGraphicsScene);
// Note: with boolean path operations, we can improve performance here
@@ -2868,7 +2078,7 @@ void QGraphicsScene::setSelectionArea(const QPainterPath &path, Qt::ItemSelectio
bool changed = false;
// Set all items in path to selected.
- foreach (QGraphicsItem *item, items(path, mode)) {
+ foreach (QGraphicsItem *item, items(path, mode, Qt::AscendingOrder, deviceTransform)) {
if (item->flags() & QGraphicsItem::ItemIsSelectable) {
if (!item->isSelected())
changed = true;
@@ -2925,26 +2135,13 @@ void QGraphicsScene::clearSelection()
void QGraphicsScene::clear()
{
Q_D(QGraphicsScene);
- // Recursive descent delete
- for (int i = 0; i < d->indexedItems.size(); ++i) {
- if (QGraphicsItem *item = d->indexedItems.at(i)) {
- if (!item->parentItem())
- delete item;
- }
- }
- QList<QGraphicsItem *> unindexedParents;
- for (int i = 0; i < d->unindexedItems.size(); ++i) {
- QGraphicsItem *item = d->unindexedItems.at(i);
- if (!item->parentItem())
- unindexedParents << item;
- }
- d->unindexedItems.clear();
- qDeleteAll(unindexedParents);
- d->indexedItems.clear();
- d->freeItemIndexes.clear();
+ // NB! We have to clear the index before deleting items; otherwise the
+ // index might try to access dangling item pointers.
+ d->index->clear();
+ const QList<QGraphicsItem *> items = d->topLevelItems;
+ qDeleteAll(items);
+ Q_ASSERT(d->topLevelItems.isEmpty());
d->lastItemCount = 0;
- d->bspTree.clear();
- d->largestUntransformableItem = QRectF();
d->allItemsIgnoreHoverEvents = true;
d->allItemsUseDefaultCursor = true;
d->allItemsIgnoreTouchEvents = true;
@@ -3066,14 +2263,6 @@ void QGraphicsScene::addItem(QGraphicsItem *item)
return;
}
- // Prevent reusing a recently deleted pointer: purge all removed items
- // from our lists.
- d->purgeRemovedItems();
-
- // Invalidate any sort caching; arrival of a new item means we need to
- // resort.
- d->invalidateSortCache();
-
// Detach this item from its parent if the parent's scene is different
// from this scene.
if (QGraphicsItem *itemParent = item->parentItem()) {
@@ -3084,29 +2273,18 @@ void QGraphicsScene::addItem(QGraphicsItem *item)
// Add the item to this scene
item->d_func()->scene = targetScene;
- // Indexing requires sceneBoundingRect(), but because \a item might
- // not be completely constructed at this point, we need to store it in
- // a temporary list and schedule an indexing for later.
- d->unindexedItems << item;
- item->d_func()->index = -1;
- d->startIndexTimer(0);
+ // Add the item in the index
+ d->index->addItem(item);
// Add to list of toplevels if this item is a toplevel.
if (!item->d_ptr->parent)
d->registerTopLevelItem(item);
- // Update the scene's sort cache settings.
- item->d_ptr->globalStackingOrder = -1;
- d->invalidateSortCache();
-
// Add to list of items that require an update. We cannot assume that the
// item is fully constructed, so calling item->update() can lead to a pure
// virtual function call to boundingRect().
- if (!d->updateAll) {
- if (d->pendingUpdateItems.isEmpty())
- QMetaObject::invokeMethod(this, "_q_updateLater", Qt::QueuedConnection);
- d->pendingUpdateItems << item;
- }
+ d->markDirty(item);
+ d->dirtyGrowingItemsBoundingRect = true;
// Disable selectionChanged() for individual items
++d->selectionChanging;
@@ -3177,6 +2355,17 @@ void QGraphicsScene::addItem(QGraphicsItem *item)
// Deliver post-change notification
item->itemChange(QGraphicsItem::ItemSceneHasChanged, newSceneVariant);
+
+ // Auto-activate the first inactive window if the scene is active.
+ if (d->activationRefCount > 0 && !d->activeWindow && item->isWindow())
+ setActiveWindow(static_cast<QGraphicsWidget *>(item));
+
+ // Ensure that newly added items that have subfocus set, gain
+ // focus automatically if there isn't a focus item already.
+ if (!d->focusItem && item->focusItem())
+ item->focusItem()->setFocus();
+
+ d->updateInputMethodSensitivityInViews();
}
/*!
@@ -3452,6 +2641,8 @@ void QGraphicsScene::removeItem(QGraphicsItem *item)
// Deliver post-change notification
item->itemChange(QGraphicsItem::ItemSceneHasChanged, newSceneVariant);
+
+ d->updateInputMethodSensitivityInViews();
}
/*!
@@ -3488,36 +2679,10 @@ QGraphicsItem *QGraphicsScene::focusItem() const
void QGraphicsScene::setFocusItem(QGraphicsItem *item, Qt::FocusReason focusReason)
{
Q_D(QGraphicsScene);
- if (item == d->focusItem)
- return;
- if (item && (!(item->flags() & QGraphicsItem::ItemIsFocusable)
- || !item->isVisible() || !item->isEnabled())) {
- item = 0;
- }
-
- if (item) {
- setFocus(focusReason);
- if (item == d->focusItem)
- return;
- }
-
- if (d->focusItem) {
- QFocusEvent event(QEvent::FocusOut, focusReason);
- d->lastFocusItem = d->focusItem;
- d->focusItem = 0;
- d->sendEvent(d->lastFocusItem, &event);
- }
-
- if (item) {
- if (item->isWidget()) {
- // Update focus child chain.
- static_cast<QGraphicsWidget *>(item)->d_func()->setFocusWidget();
- }
-
- d->focusItem = item;
- QFocusEvent event(QEvent::FocusIn, focusReason);
- d->sendEvent(item, &event);
- }
+ if (item)
+ item->setFocus(focusReason);
+ else
+ d->setFocusItemHelper(item, focusReason);
}
/*!
@@ -3572,13 +2737,17 @@ void QGraphicsScene::clearFocus()
/*!
\property QGraphicsScene::stickyFocus
- \brief whether or not clicking the scene will clear focus
+ \brief whether clicking into the scene background will clear focus
+
+ \since 4.6
- If this property is false (the default), then clicking on the scene
- background or on an item that does not accept focus, will clear
- focus. Otherwise, focus will remain unchanged.
+ In a QGraphicsScene with stickyFocus set to true, focus will remain
+ unchanged when the user clicks into the scene background or on an item
+ that does not accept focus. Otherwise, focus will be cleared.
- The focus change happens in response to a mouse press. You can reimplement
+ By default, this property is false.
+
+ Focus changes in response to a mouse press. You can reimplement
mousePressEvent() in a subclass of QGraphicsScene to toggle this property
based on where the user has clicked.
@@ -3701,7 +2870,7 @@ void QGraphicsScene::setForegroundBrush(const QBrush &brush)
QVariant QGraphicsScene::inputMethodQuery(Qt::InputMethodQuery query) const
{
Q_D(const QGraphicsScene);
- if (!d->focusItem)
+ if (!d->focusItem || !(d->focusItem->flags() & QGraphicsItem::ItemAcceptsInputMethod))
return QVariant();
const QTransform matrix = d->focusItem->sceneTransform();
QVariant value = d->focusItem->inputMethodQuery(query);
@@ -3730,14 +2899,14 @@ void QGraphicsScene::update(const QRectF &rect)
// Check if anyone's connected; if not, we can send updates directly to
// the views. Otherwise or if there are no views, use old behavior.
- bool directUpdates = !(d->connectedSignals & d->changedSignalMask) && !d->views.isEmpty();
+ bool directUpdates = !(d->connectedSignals[0] & d->changedSignalMask) && !d->views.isEmpty();
if (rect.isNull()) {
d->updateAll = true;
d->updatedRects.clear();
if (directUpdates) {
// Update all views.
for (int i = 0; i < d->views.size(); ++i)
- d->views.at(i)->d_func()->updateAll();
+ d->views.at(i)->d_func()->fullUpdatePending = true;
}
} else {
if (directUpdates) {
@@ -4018,132 +3187,17 @@ bool QGraphicsScene::event(QEvent *event)
// geometries that do not have an explicit style set.
update();
break;
- case QEvent::GraphicsSceneGesture: {
- QGraphicsSceneGestureEvent *ev = static_cast<QGraphicsSceneGestureEvent*>(event);
- QGraphicsView *view = qobject_cast<QGraphicsView*>(ev->widget());
- if (!view) {
- qWarning("QGraphicsScene::event: gesture event was received without a view");
- break;
- }
-
- // get a list of gestures that just started.
- QSet<QGesture*> startedGestures;
- QList<QGesture*> gestures = ev->gestures();
- for(QList<QGesture*>::const_iterator it = gestures.begin(), e = gestures.end();
- it != e; ++it) {
- QGesture *g = *it;
- QGesturePrivate *gd = g->d_func();
- if (g->state() == Qt::GestureStarted || gd->singleshot) {
- startedGestures.insert(g);
- }
- }
- if (!startedGestures.isEmpty()) {
- // find a target for each started gesture.
- for(QSet<QGesture*>::const_iterator it = startedGestures.begin(), e = startedGestures.end();
- it != e; ++it) {
- QGesture *g = *it;
- QGesturePrivate *gd = g->d_func();
- gd->graphicsItem = 0;
- QList<QGraphicsItem*> itemsInGestureArea = items(g->hotSpot());
- const QString gestureName = g->type();
- foreach(QGraphicsItem *item, itemsInGestureArea) {
- if (item->d_func()->hasGesture(gestureName)) {
- Q_ASSERT(gd->graphicsItem == 0);
- gd->graphicsItem = item;
- d->itemsWithGestures[item].insert(g);
- break;
- }
- }
- }
- }
- d->sendGestureEvent(ev->gestures().toSet(), ev->cancelledGestures());
- }
- break;
case QEvent::TouchBegin:
case QEvent::TouchUpdate:
case QEvent::TouchEnd:
d->touchEventHandler(static_cast<QTouchEvent *>(event));
break;
- case QEvent::Timer:
- if (d->indexTimerId && static_cast<QTimerEvent *>(event)->timerId() == d->indexTimerId) {
- if (d->restartIndexTimer) {
- d->restartIndexTimer = false;
- } else {
- // this call will kill the timer
- d->_q_updateIndex();
- }
- }
- // Fallthrough intended - support timers in subclasses.
default:
return QObject::event(event);
}
return true;
}
-void QGraphicsScenePrivate::sendGestureEvent(const QSet<QGesture*> &gestures, const QSet<QString> &cancelled)
-{
- Q_Q(QGraphicsScene);
- typedef QMap<QGraphicsItem*, QSet<QGesture*> > ItemGesturesMap;
- ItemGesturesMap itemGestures;
- QSet<QGesture*> startedGestures;
- for(QSet<QGesture*>::const_iterator it = gestures.begin(), e = gestures.end();
- it != e; ++it) {
- QGesture *g = *it;
- Q_ASSERT(g != 0);
- QGesturePrivate *gd = g->d_func();
- if (gd->graphicsItem != 0) {
- itemGestures[gd->graphicsItem].insert(g);
- if (g->state() == Qt::GestureStarted || gd->singleshot)
- startedGestures.insert(g);
- }
- }
-
- QSet<QGesture*> ignoredGestures;
- for(ItemGesturesMap::const_iterator it = itemGestures.begin(), e = itemGestures.end();
- it != e; ++it) {
- QGraphicsItem *receiver = it.key();
- Q_ASSERT(receiver != 0);
- QGraphicsSceneGestureEvent event;
- event.setGestures(it.value());
- event.setCancelledGestures(cancelled);
- bool processed = sendEvent(receiver, &event);
- QSet<QGesture*> started = startedGestures.intersect(it.value());
- if (event.isAccepted())
- foreach(QGesture *g, started)
- g->accept();
- if (!started.isEmpty() && !(processed && event.isAccepted())) {
- // there are started gestures event that weren't
- // accepted, so propagating each gesture independently.
- QSet<QGesture*>::const_iterator it = started.begin(),
- e = started.end();
- for(; it != e; ++it) {
- QGesture *g = *it;
- if (processed && g->isAccepted()) {
- continue;
- }
- QGesturePrivate *gd = g->d_func();
- QGraphicsItem *item = gd->graphicsItem;
- gd->graphicsItem = 0;
-
- //### THIS IS BS, DONT FORGET TO REWRITE THIS CODE
- // need to make sure we try to deliver event just once to each widget
- const QString gestureType = g->type();
- QList<QGraphicsItem*> itemsUnderGesture = q->items(g->hotSpot());
- for (int i = 0; i < itemsUnderGesture.size(); ++i) {
- QGraphicsItem *item = itemsUnderGesture.at(i);
- if (item != receiver && item->d_func()->hasGesture(gestureType)) {
- ignoredGestures.insert(g);
- gd->graphicsItem = item;
- break;
- }
- }
- }
- }
- }
- if (!ignoredGestures.isEmpty())
- sendGestureEvent(ignoredGestures, cancelled);
-}
-
/*!
\reimp
@@ -4426,7 +3480,7 @@ void QGraphicsScene::helpEvent(QGraphicsSceneHelpEvent *helpEvent)
text = toolTipItem->toolTip();
point = helpEvent->screenPos();
}
- QToolTip::showText(point, text);
+ QToolTip::showText(point, text, helpEvent->widget());
helpEvent->setAccepted(!text.isEmpty());
#endif
}
@@ -4525,8 +3579,7 @@ void QGraphicsScenePrivate::leaveScene()
{
Q_Q(QGraphicsScene);
#ifndef QT_NO_TOOLTIP
- // Remove any tooltips
- QToolTip::showText(QPoint(), QString());
+ QToolTip::hideText();
#endif
// Send HoverLeave events to all existing hover items, topmost first.
QGraphicsView *senderWidget = qobject_cast<QGraphicsView *>(q->sender());
@@ -4629,6 +3682,13 @@ void QGraphicsScene::keyReleaseEvent(QKeyEvent *keyEvent)
void QGraphicsScene::mousePressEvent(QGraphicsSceneMouseEvent *mouseEvent)
{
Q_D(QGraphicsScene);
+ if (d->mouseGrabberItems.isEmpty()) {
+ // Dispatch hover events
+ QGraphicsSceneHoverEvent hover;
+ _q_hoverFromMouseEvent(&hover, mouseEvent);
+ d->dispatchHoverEvent(&hover);
+ }
+
d->mousePressEventHandler(mouseEvent);
}
@@ -4769,16 +3829,16 @@ void QGraphicsScene::wheelEvent(QGraphicsSceneWheelEvent *wheelEvent)
subclass to receive input method events for the scene.
The default implementation forwards the event to the focusItem().
- If no item currently has focus, this function does nothing.
+ If no item currently has focus or the current focus item does not
+ accept input methods, this function does nothing.
\sa QGraphicsItem::inputMethodEvent()
*/
void QGraphicsScene::inputMethodEvent(QInputMethodEvent *event)
{
Q_D(QGraphicsScene);
- if (!d->focusItem)
- return;
- d->sendEvent(d->focusItem, event);
+ if (d->focusItem && (d->focusItem->flags() & QGraphicsItem::ItemAcceptsInputMethod))
+ d->sendEvent(d->focusItem, event);
}
/*!
@@ -5226,6 +4286,20 @@ void QGraphicsScenePrivate::drawItemHelper(QGraphicsItem *item, QPainter *painte
}
}
+void QGraphicsScenePrivate::drawItems(QPainter *painter, const QTransform *const viewTransform,
+ QRegion *exposedRegion, QWidget *widget)
+{
+ QRectF exposedSceneRect;
+ if (exposedRegion && indexMethod != QGraphicsScene::NoIndex) {
+ exposedSceneRect = exposedRegion->boundingRect().adjusted(-1, -1, 1, 1);
+ if (viewTransform)
+ exposedSceneRect = viewTransform->inverted().mapRect(exposedSceneRect);
+ }
+ const QList<QGraphicsItem *> tli = index->estimateTopLevelItems(exposedSceneRect, Qt::DescendingOrder);
+ for (int i = 0; i < tli.size(); ++i)
+ drawSubtreeRecursive(tli.at(i), painter, viewTransform, exposedRegion, widget);
+}
+
void QGraphicsScenePrivate::drawSubtreeRecursive(QGraphicsItem *item, QPainter *painter,
const QTransform *const viewTransform,
QRegion *exposedRegion, QWidget *widget,
@@ -5248,6 +4322,7 @@ void QGraphicsScenePrivate::drawSubtreeRecursive(QGraphicsItem *item, QPainter *
QTransform transform(Qt::Uninitialized);
QTransform *transformPtr = 0;
+ bool translateOnlyTransform = false;
#define ENSURE_TRANSFORM_PTR \
if (!transformPtr) { \
Q_ASSERT(!itemIsUntransformable); \
@@ -5257,6 +4332,7 @@ void QGraphicsScenePrivate::drawSubtreeRecursive(QGraphicsItem *item, QPainter *
transformPtr = &transform; \
} else { \
transformPtr = &item->d_ptr->sceneTransform; \
+ translateOnlyTransform = item->d_ptr->sceneTransformTranslateOnly; \
} \
}
@@ -5268,10 +4344,8 @@ void QGraphicsScenePrivate::drawSubtreeRecursive(QGraphicsItem *item, QPainter *
transform = item->deviceTransform(viewTransform ? *viewTransform : QTransform());
transformPtr = &transform;
} else if (item->d_ptr->dirtySceneTransform) {
- item->d_ptr->sceneTransform = item->d_ptr->parent ? item->d_ptr->parent->d_ptr->sceneTransform
- : QTransform();
- item->d_ptr->combineTransformFromParent(&item->d_ptr->sceneTransform);
- item->d_ptr->dirtySceneTransform = 0;
+ item->d_ptr->updateSceneTransformFromParent();
+ Q_ASSERT(!item->d_ptr->dirtySceneTransform);
wasDirtyParentSceneTransform = true;
}
@@ -5280,7 +4354,8 @@ void QGraphicsScenePrivate::drawSubtreeRecursive(QGraphicsItem *item, QPainter *
if (drawItem) {
const QRectF brect = adjustedItemBoundingRect(item);
ENSURE_TRANSFORM_PTR
- QRect viewBoundingRect = transformPtr->mapRect(brect).toRect();
+ QRect viewBoundingRect = translateOnlyTransform ? brect.translated(transformPtr->dx(), transformPtr->dy()).toRect()
+ : transformPtr->mapRect(brect).toRect();
item->d_ptr->paintedViewBoundingRects.insert(widget, viewBoundingRect);
viewBoundingRect.adjust(-1, -1, 1, 1);
drawItem = exposedRegion ? exposedRegion->intersects(viewBoundingRect) : !viewBoundingRect.isEmpty();
@@ -5297,10 +4372,7 @@ void QGraphicsScenePrivate::drawSubtreeRecursive(QGraphicsItem *item, QPainter *
int i = 0;
if (itemHasChildren) {
- if (item->d_ptr->needSortChildren) {
- item->d_ptr->needSortChildren = 0;
- qStableSort(item->d_ptr->children.begin(), item->d_ptr->children.end(), qt_notclosestLeaf);
- }
+ item->d_ptr->ensureSortedChildren();
if (itemClipsChildrenToShape) {
painter->save();
@@ -5326,7 +4398,8 @@ void QGraphicsScenePrivate::drawSubtreeRecursive(QGraphicsItem *item, QPainter *
if (drawItem) {
Q_ASSERT(!itemIsFullyTransparent);
Q_ASSERT(itemHasContents);
- item->d_ptr->initStyleOption(&styleOptionTmp, transform, exposedRegion
+ ENSURE_TRANSFORM_PTR
+ item->d_ptr->initStyleOption(&styleOptionTmp, *transformPtr, exposedRegion
? *exposedRegion : QRegion(), exposedRegion == 0);
const bool itemClipsToShape = item->d_ptr->flags & QGraphicsItem::ItemClipsToShape;
@@ -5334,10 +4407,9 @@ void QGraphicsScenePrivate::drawSubtreeRecursive(QGraphicsItem *item, QPainter *
if (savePainter)
painter->save();
- if (!itemHasChildren || !itemClipsChildrenToShape) {
- ENSURE_TRANSFORM_PTR
+ if (!itemHasChildren || !itemClipsChildrenToShape)
painter->setWorldTransform(*transformPtr);
- }
+
if (itemClipsToShape)
painter->setClipPath(item->shape(), Qt::IntersectClip);
painter->setOpacity(opacity);
@@ -5380,6 +4452,16 @@ void QGraphicsScenePrivate::markDirty(QGraphicsItem *item, const QRectF &rect, b
/*ignoreVisibleBit=*/force,
/*ignoreDirtyBit=*/removingItemFromScene || invalidateChildren,
/*ignoreOpacity=*/ignoreOpacity)) {
+ if (item->d_ptr->dirty) {
+ // The item is already marked as dirty and will be processed later. However,
+ // we have to make sure ignoreVisible and ignoreOpacity are set properly;
+ // otherwise things like: item->update(); item->hide() (force is now true)
+ // won't work as expected.
+ if (force)
+ item->d_ptr->ignoreVisible = 1;
+ if (ignoreOpacity)
+ item->d_ptr->ignoreOpacity = 1;
+ }
return;
}
@@ -5395,7 +4477,7 @@ void QGraphicsScenePrivate::markDirty(QGraphicsItem *item, const QRectF &rect, b
if (removingItemFromScene) {
// Note that this function can be called from the item's destructor, so
// do NOT call any virtual functions on it within this block.
- if ((connectedSignals & changedSignalMask) || views.isEmpty()) {
+ if ((connectedSignals[0] & changedSignalMask) || views.isEmpty()) {
// This block of code is kept for compatibility. Since 4.5, by default
// QGraphicsView does not connect the signal and we use the below
// method of delivering updates.
@@ -5439,65 +4521,121 @@ void QGraphicsScenePrivate::markDirty(QGraphicsItem *item, const QRectF &rect, b
}
static inline bool updateHelper(QGraphicsViewPrivate *view, QGraphicsItemPrivate *item,
- const QRectF &rect, const QTransform &xform)
+ const QRectF &rect, bool itemIsUntransformable)
{
Q_ASSERT(view);
Q_ASSERT(item);
- if (item->hasBoundingRegionGranularity)
+
+ QGraphicsItem *itemq = static_cast<QGraphicsItem *>(item->q_ptr);
+ QGraphicsView *viewq = static_cast<QGraphicsView *>(view->q_ptr);
+
+ if (itemIsUntransformable) {
+ const QTransform xform = itemq->deviceTransform(viewq->viewportTransform());
+ if (!item->hasBoundingRegionGranularity)
+ return view->updateRect(xform.mapRect(rect).toRect());
return view->updateRegion(xform.map(QRegion(rect.toRect())));
- return view->updateRect(xform.mapRect(rect).toRect());
+ }
+
+ if (item->sceneTransformTranslateOnly && view->identityMatrix) {
+ const qreal dx = item->sceneTransform.dx();
+ const qreal dy = item->sceneTransform.dy();
+ if (!item->hasBoundingRegionGranularity) {
+ QRectF r(rect);
+ r.translate(dx - view->horizontalScroll(), dy - view->verticalScroll());
+ return view->updateRect(r.toRect());
+ }
+ QRegion r(rect.toRect());
+ r.translate(qRound(dx) - view->horizontalScroll(), qRound(dy) - view->verticalScroll());
+ return view->updateRegion(r);
+ }
+
+ if (!viewq->isTransformed()) {
+ if (!item->hasBoundingRegionGranularity)
+ return view->updateRect(item->sceneTransform.mapRect(rect).toRect());
+ return view->updateRegion(item->sceneTransform.map(QRegion(rect.toRect())));
+ }
+
+ QTransform xform = item->sceneTransform;
+ xform *= viewq->viewportTransform();
+ if (!item->hasBoundingRegionGranularity)
+ return view->updateRect(xform.mapRect(rect).toRect());
+ return view->updateRegion(xform.map(QRegion(rect.toRect())));
}
void QGraphicsScenePrivate::processDirtyItemsRecursive(QGraphicsItem *item, bool dirtyAncestorContainsChildren,
qreal parentOpacity)
{
Q_Q(QGraphicsScene);
+ Q_ASSERT(item);
+ Q_ASSERT(!updateAll);
- bool wasDirtyParentViewBoundingRects = false;
- bool wasDirtyParentSceneTransform = false;
- qreal opacity = parentOpacity;
+ if (!item->d_ptr->dirty && !item->d_ptr->dirtyChildren) {
+ resetDirtyItem(item);
+ return;
+ }
- if (item) {
- wasDirtyParentViewBoundingRects = item->d_ptr->paintedViewBoundingRectsNeedRepaint;
- opacity = item->d_ptr->combineOpacityFromParent(parentOpacity);
- const bool itemIsHidden = !item->d_ptr->ignoreVisible && !item->d_ptr->visible;
- const bool itemIsFullyTransparent = !item->d_ptr->ignoreOpacity && opacity == 0.0;
-
- if (item->d_ptr->dirtySceneTransform && !itemIsHidden && !item->d_ptr->itemIsUntransformable()
- && !(itemIsFullyTransparent && item->d_ptr->childrenCombineOpacity())) {
- // Calculate the full scene transform for this item.
- item->d_ptr->sceneTransform = item->d_ptr->parent ? item->d_ptr->parent->d_ptr->sceneTransform
- : QTransform();
- item->d_ptr->combineTransformFromParent(&item->d_ptr->sceneTransform);
- item->d_ptr->dirtySceneTransform = 0;
- wasDirtyParentSceneTransform = true;
- }
+ const bool itemIsHidden = !item->d_ptr->ignoreVisible && !item->d_ptr->visible;
+ if (itemIsHidden) {
+ resetDirtyItem(item, /*recursive=*/true);
+ return;
+ }
+
+ const bool itemHasContents = !(item->d_ptr->flags & QGraphicsItem::ItemHasNoContents);
+ const bool itemHasChildren = !item->d_ptr->children.isEmpty();
+ if (!itemHasContents && !itemHasChildren) {
+ resetDirtyItem(item);
+ return; // Item has neither contents nor children!(?)
+ }
- if (itemIsHidden || itemIsFullyTransparent || (item->d_ptr->flags & QGraphicsItem::ItemHasNoContents)) {
- // Make sure we don't process invisible items or items with no content.
- item->d_ptr->dirty = 0;
+ const qreal opacity = item->d_ptr->combineOpacityFromParent(parentOpacity);
+ const bool itemIsFullyTransparent = !item->d_ptr->ignoreOpacity && opacity < 0.0001;
+ if (itemIsFullyTransparent && (!itemHasChildren || item->d_ptr->childrenCombineOpacity())) {
+ resetDirtyItem(item, /*recursive=*/itemHasChildren);
+ return;
+ }
+
+ bool wasDirtyParentSceneTransform = item->d_ptr->dirtySceneTransform;
+ const bool itemIsUntransformable = item->d_ptr->itemIsUntransformable();
+ if (wasDirtyParentSceneTransform && !itemIsUntransformable) {
+ item->d_ptr->updateSceneTransformFromParent();
+ Q_ASSERT(!item->d_ptr->dirtySceneTransform);
+ }
+
+ const bool wasDirtyParentViewBoundingRects = item->d_ptr->paintedViewBoundingRectsNeedRepaint;
+ if (itemIsFullyTransparent || !itemHasContents || dirtyAncestorContainsChildren) {
+ // Make sure we don't process invisible items or items with no content.
+ item->d_ptr->dirty = 0;
+ item->d_ptr->fullUpdatePending = 0;
+ // Might have a dirty view bounding rect otherwise.
+ if (itemIsFullyTransparent || !itemHasContents)
item->d_ptr->paintedViewBoundingRectsNeedRepaint = 0;
+ }
+
+ if (!hasSceneRect && item->d_ptr->geometryChanged && item->d_ptr->visible) {
+ // Update growingItemsBoundingRect.
+ if (item->d_ptr->sceneTransformTranslateOnly) {
+ growingItemsBoundingRect |= item->boundingRect().translated(item->d_ptr->sceneTransform.dx(),
+ item->d_ptr->sceneTransform.dy());
+ } else {
+ growingItemsBoundingRect |= item->d_ptr->sceneTransform.mapRect(item->boundingRect());
}
}
// Process item.
- if (item && (item->d_ptr->dirty || item->d_ptr->paintedViewBoundingRectsNeedRepaint)) {
- const bool useCompatUpdate = views.isEmpty() || (connectedSignals & changedSignalMask);
- const bool untransformableItem = item->d_ptr->itemIsUntransformable();
+ if (item->d_ptr->dirty || item->d_ptr->paintedViewBoundingRectsNeedRepaint) {
+ const bool useCompatUpdate = views.isEmpty() || (connectedSignals[0] & changedSignalMask);
const QRectF itemBoundingRect = adjustedItemBoundingRect(item);
- if (item->d_ptr->geometryChanged) {
- // Update growingItemsBoundingRect.
- if (!hasSceneRect)
- growingItemsBoundingRect |= item->d_ptr->sceneTransform.mapRect(itemBoundingRect);
- item->d_ptr->geometryChanged = 0;
- }
-
- if (useCompatUpdate && !untransformableItem && qFuzzyIsNull(item->boundingRegionGranularity())) {
+ if (useCompatUpdate && !itemIsUntransformable && qFuzzyIsNull(item->boundingRegionGranularity())) {
// This block of code is kept for compatibility. Since 4.5, by default
// QGraphicsView does not connect the signal and we use the below
// method of delivering updates.
- q->update(item->d_ptr->sceneTransform.mapRect(itemBoundingRect));
+ if (item->d_ptr->sceneTransformTranslateOnly) {
+ q->update(itemBoundingRect.translated(item->d_ptr->sceneTransform.dx(),
+ item->d_ptr->sceneTransform.dy()));
+ } else {
+ q->update(item->d_ptr->sceneTransform.mapRect(itemBoundingRect));
+ }
} else {
QRectF dirtyRect;
bool uninitializedDirtyRect = true;
@@ -5505,30 +4643,31 @@ void QGraphicsScenePrivate::processDirtyItemsRecursive(QGraphicsItem *item, bool
for (int j = 0; j < views.size(); ++j) {
QGraphicsView *view = views.at(j);
QGraphicsViewPrivate *viewPrivate = view->d_func();
- if (viewPrivate->fullUpdatePending)
- continue;
- switch (viewPrivate->viewportUpdateMode) {
- case QGraphicsView::NoViewportUpdate:
- continue;
- case QGraphicsView::FullViewportUpdate:
- view->viewport()->update();
- viewPrivate->fullUpdatePending = 1;
+ QRect &paintedViewBoundingRect = item->d_ptr->paintedViewBoundingRects[viewPrivate->viewport];
+ if (viewPrivate->fullUpdatePending
+ || viewPrivate->viewportUpdateMode == QGraphicsView::NoViewportUpdate) {
+ // Okay, if we have a full update pending or no viewport update, this item's
+ // paintedViewBoundingRect will be updated correctly in the next paintEvent if
+ // it is inside the viewport, but for now we can pretend that it is outside.
+ paintedViewBoundingRect = QRect(-1, -1, -1, -1);
continue;
- default:
- break;
}
- QRect &paintedViewBoundingRect = item->d_ptr->paintedViewBoundingRects[viewPrivate->viewport];
- if (item->d_ptr->paintedViewBoundingRectsNeedRepaint) {
- wasDirtyParentViewBoundingRects = true;
+ if (item->d_ptr->paintedViewBoundingRectsNeedRepaint && !paintedViewBoundingRect.isEmpty()) {
paintedViewBoundingRect.translate(viewPrivate->dirtyScrollOffset);
if (!viewPrivate->updateRect(paintedViewBoundingRect))
- paintedViewBoundingRect = QRect();
+ paintedViewBoundingRect = QRect(-1, -1, -1, -1); // Outside viewport.
}
if (!item->d_ptr->dirty)
continue;
+ if (!item->d_ptr->paintedViewBoundingRectsNeedRepaint
+ && paintedViewBoundingRect.x() == -1 && paintedViewBoundingRect.y() == -1
+ && paintedViewBoundingRect.width() == -1 && paintedViewBoundingRect.height() == -1) {
+ continue; // Outside viewport.
+ }
+
if (uninitializedDirtyRect) {
dirtyRect = itemBoundingRect;
if (!item->d_ptr->fullUpdatePending) {
@@ -5541,35 +4680,25 @@ void QGraphicsScenePrivate::processDirtyItemsRecursive(QGraphicsItem *item, bool
if (dirtyRect.isEmpty())
continue; // Discard updates outside the bounding rect.
- bool valid = false;
- if (untransformableItem) {
- valid = updateHelper(viewPrivate, item->d_ptr.data(), dirtyRect,
- item->deviceTransform(view->viewportTransform()));
- } else if (!view->isTransformed()) {
- valid = updateHelper(viewPrivate, item->d_ptr.data(), dirtyRect, item->d_ptr->sceneTransform);
- } else {
- QTransform deviceTransform = item->d_ptr->sceneTransform;
- deviceTransform *= view->viewportTransform();
- valid = updateHelper(viewPrivate, item->d_ptr.data(), dirtyRect, deviceTransform);
+ if (!updateHelper(viewPrivate, item->d_ptr.data(), dirtyRect, itemIsUntransformable)
+ && item->d_ptr->paintedViewBoundingRectsNeedRepaint) {
+ paintedViewBoundingRect = QRect(-1, -1, -1, -1); // Outside viewport.
}
- if (!valid)
- paintedViewBoundingRect = QRect();
}
}
}
- // Process root items / children.
- if (!item || item->d_ptr->dirtyChildren) {
- QList<QGraphicsItem *> *children = item ? &item->d_ptr->children : &topLevelItems;
- const bool allChildrenDirty = item && item->d_ptr->allChildrenDirty;
+ // Process children.
+ if (itemHasChildren && item->d_ptr->dirtyChildren) {
if (!dirtyAncestorContainsChildren) {
- dirtyAncestorContainsChildren = item && item->d_ptr->fullUpdatePending
+ dirtyAncestorContainsChildren = item->d_ptr->fullUpdatePending
&& (item->d_ptr->flags & QGraphicsItem::ItemClipsChildrenToShape);
}
- const bool parentIgnoresVisible = item && item->d_ptr->ignoreVisible;
- const bool parentIgnoresOpacity = item && item->d_ptr->ignoreOpacity;
- for (int i = 0; i < children->size(); ++i) {
- QGraphicsItem *child = children->at(i);
+ const bool allChildrenDirty = item->d_ptr->allChildrenDirty;
+ const bool parentIgnoresVisible = item->d_ptr->ignoreVisible;
+ const bool parentIgnoresOpacity = item->d_ptr->ignoreOpacity;
+ for (int i = 0; i < item->d_ptr->children.size(); ++i) {
+ QGraphicsItem *child = item->d_ptr->children.at(i);
if (wasDirtyParentSceneTransform)
child->d_ptr->dirtySceneTransform = 1;
if (wasDirtyParentViewBoundingRects)
@@ -5578,36 +4707,19 @@ void QGraphicsScenePrivate::processDirtyItemsRecursive(QGraphicsItem *item, bool
child->d_ptr->ignoreVisible = 1;
if (parentIgnoresOpacity)
child->d_ptr->ignoreOpacity = 1;
-
if (allChildrenDirty) {
child->d_ptr->dirty = 1;
child->d_ptr->fullUpdatePending = 1;
child->d_ptr->dirtyChildren = 1;
child->d_ptr->allChildrenDirty = 1;
- } else if (!child->d_ptr->dirty && !child->d_ptr->dirtyChildren) {
- resetDirtyItem(child);
- continue;
}
-
- if (dirtyAncestorContainsChildren || updateAll) {
- // No need to process this child's dirty rect, hence reset the dirty state.
- // However, we have to continue the recursion because it might have a dirty
- // view bounding rect that needs repaint. We also have to reset the dirty
- // state of its descendants.
- child->d_ptr->dirty = 0;
- child->d_ptr->fullUpdatePending = 0;
- if (updateAll)
- child->d_ptr->paintedViewBoundingRectsNeedRepaint = 0;
- }
-
processDirtyItemsRecursive(child, dirtyAncestorContainsChildren, opacity);
}
} else if (wasDirtyParentSceneTransform) {
item->d_ptr->invalidateChildrenSceneTransform();
}
- if (item)
- resetDirtyItem(item);
+ resetDirtyItem(item);
}
/*!
@@ -5615,7 +4727,7 @@ void QGraphicsScenePrivate::processDirtyItemsRecursive(QGraphicsItem *item, bool
background has been drawn, and before the foreground has been
drawn. All painting is done in \e scene coordinates. Before
drawing each item, the painter must be transformed using
- QGraphicsItem::sceneMatrix().
+ QGraphicsItem::sceneTransform().
The \a options parameter is the list of style option objects for
each item in \a items. The \a numItems parameter is the number of
@@ -5988,34 +5100,42 @@ void QGraphicsScene::setActiveWindow(QGraphicsWidget *widget)
}
}
-void QGraphicsScenePrivate::addView(QGraphicsView *view)
-{
- views << view;
- foreach(int gestureId, grabbedGestures)
- view->d_func()->grabGesture(gestureId);
-}
+/*!
+ \since 4.6
-void QGraphicsScenePrivate::removeView(QGraphicsView *view)
+ Sends event \a event to item \a item through possible event filters.
+
+ The event is sent only if the item is enabled.
+
+ Returns \c false if the event was filtered or if the item is disabled.
+ Otherwise returns the value that was returned from the event handler.
+
+ \sa QGraphicsItem::sceneEvent(), QGraphicsItem::sceneEventFilter()
+*/
+bool QGraphicsScene::sendEvent(QGraphicsItem *item, QEvent *event)
{
- views.removeAll(view);
- foreach(int gestureId, grabbedGestures)
- view->releaseGesture(gestureId);
+ Q_D(QGraphicsScene);
+ if (!item) {
+ qWarning("QGraphicsScene::sendEvent: cannot send event to a null item");
+ return false;
+ }
+ if (item->scene() != this) {
+ qWarning("QGraphicsScene::sendEvent: item %p's scene (%p)"
+ " is different from this scene (%p)",
+ item, item->scene(), this);
+ return false;
+ }
+ return d->sendEvent(item, event);
}
-void QGraphicsScenePrivate::grabGesture(QGraphicsItem *item, int gestureId)
+void QGraphicsScenePrivate::addView(QGraphicsView *view)
{
- if (!grabbedGestures.contains(gestureId)) {
- foreach(QGraphicsView *view, views)
- view->d_func()->grabGesture(gestureId);
- }
- (void)itemsWithGestures[item];
- grabbedGestures << gestureId;
+ views << view;
}
-void QGraphicsScenePrivate::releaseGesture(QGraphicsItem *item, int gestureId)
+void QGraphicsScenePrivate::removeView(QGraphicsView *view)
{
- itemsWithGestures.remove(item);
- //###
+ views.removeAll(view);
}
void QGraphicsScenePrivate::updateTouchPointsForItem(QGraphicsItem *item, QTouchEvent *touchEvent)
@@ -6227,6 +5347,11 @@ void QGraphicsScenePrivate::enableTouchEventsOnViews()
view->viewport()->setAttribute(Qt::WA_AcceptTouchEvents, true);
}
+void QGraphicsScenePrivate::updateInputMethodSensitivityInViews()
+{
+ for (int i = 0; i < views.size(); ++i)
+ views.at(i)->d_func()->updateInputMethodSensitivity();
+}
QT_END_NAMESPACE
diff --git a/src/gui/graphicsview/qgraphicsscene.h b/src/gui/graphicsview/qgraphicsscene.h
index 7c1160c..c0c6e75 100644
--- a/src/gui/graphicsview/qgraphicsscene.h
+++ b/src/gui/graphicsview/qgraphicsscene.h
@@ -79,11 +79,11 @@ class QGraphicsSceneHelpEvent;
class QGraphicsSceneHoverEvent;
class QGraphicsSceneMouseEvent;
class QGraphicsSceneWheelEvent;
-class QGraphicsSceneGestureEvent;
class QGraphicsSimpleTextItem;
class QGraphicsTextItem;
class QGraphicsView;
class QGraphicsWidget;
+class QGraphicsSceneIndex;
class QHelpEvent;
class QInputMethodEvent;
class QKeyEvent;
@@ -153,22 +153,39 @@ public:
QRectF itemsBoundingRect() const;
QList<QGraphicsItem *> items() const;
- QList<QGraphicsItem *> items(const QPointF &pos) const;
- QList<QGraphicsItem *> items(const QRectF &rect, Qt::ItemSelectionMode mode = Qt::IntersectsItemShape) const;
- QList<QGraphicsItem *> items(const QPolygonF &polygon, Qt::ItemSelectionMode mode = Qt::IntersectsItemShape) const;
- QList<QGraphicsItem *> items(const QPainterPath &path, Qt::ItemSelectionMode mode = Qt::IntersectsItemShape) const;
+ QList<QGraphicsItem *> items(Qt::SortOrder order) const; // ### Qt 5: unify
+
+ QList<QGraphicsItem *> items(const QPointF &pos, Qt::ItemSelectionMode mode, Qt::SortOrder order, const QTransform &deviceTransform = QTransform()) const;
+ QList<QGraphicsItem *> items(const QRectF &rect, Qt::ItemSelectionMode mode, Qt::SortOrder order, const QTransform &deviceTransform = QTransform()) const;
+ QList<QGraphicsItem *> items(const QPolygonF &polygon, Qt::ItemSelectionMode mode, Qt::SortOrder order, const QTransform &deviceTransform = QTransform()) const;
+ QList<QGraphicsItem *> items(const QPainterPath &path, Qt::ItemSelectionMode mode, Qt::SortOrder order, const QTransform &deviceTransform = QTransform()) const;
+
+ QList<QGraphicsItem *> items(const QPointF &pos) const; // ### obsolete
+ QList<QGraphicsItem *> items(const QRectF &rect, Qt::ItemSelectionMode mode = Qt::IntersectsItemShape) const; // ### obsolete
+ QList<QGraphicsItem *> items(const QPolygonF &polygon, Qt::ItemSelectionMode mode = Qt::IntersectsItemShape) const; // ### obsolete
+ QList<QGraphicsItem *> items(const QPainterPath &path, Qt::ItemSelectionMode mode = Qt::IntersectsItemShape) const; // ### obsolete
+
QList<QGraphicsItem *> collidingItems(const QGraphicsItem *item, Qt::ItemSelectionMode mode = Qt::IntersectsItemShape) const;
- QGraphicsItem *itemAt(const QPointF &pos) const;
+
+ QGraphicsItem *itemAt(const QPointF &pos) const; // ### obsolete
+ QGraphicsItem *itemAt(const QPointF &pos, const QTransform &deviceTransform) const;
inline QList<QGraphicsItem *> items(qreal x, qreal y, qreal w, qreal h, Qt::ItemSelectionMode mode = Qt::IntersectsItemShape) const
- { return items(QRectF(x, y, w, h), mode); }
- inline QGraphicsItem *itemAt(qreal x, qreal y) const
+ { return items(QRectF(x, y, w, h), mode); } // ### obsolete
+ inline QList<QGraphicsItem *> items(qreal x, qreal y, qreal w, qreal h, Qt::ItemSelectionMode mode, Qt::SortOrder order,
+ const QTransform &deviceTransform = QTransform()) const
+ { return items(QRectF(x, y, w, h), mode, order, deviceTransform); }
+ inline QGraphicsItem *itemAt(qreal x, qreal y) const // ### obsolete
{ return itemAt(QPointF(x, y)); }
+ inline QGraphicsItem *itemAt(qreal x, qreal y, const QTransform &deviceTransform) const
+ { return itemAt(QPointF(x, y), deviceTransform); }
QList<QGraphicsItem *> selectedItems() const;
QPainterPath selectionArea() const;
- void setSelectionArea(const QPainterPath &path);
- void setSelectionArea(const QPainterPath &path, Qt::ItemSelectionMode);
+ void setSelectionArea(const QPainterPath &path); // ### obsolete
+ void setSelectionArea(const QPainterPath &path, const QTransform &deviceTransform);
+ void setSelectionArea(const QPainterPath &path, Qt::ItemSelectionMode mode); // ### obsolete
+ void setSelectionArea(const QPainterPath &path, Qt::ItemSelectionMode mode, const QTransform &deviceTransform);
QGraphicsItemGroup *createItemGroup(const QList<QGraphicsItem *> &items);
void destroyItemGroup(QGraphicsItemGroup *group);
@@ -229,6 +246,8 @@ public:
QGraphicsWidget *activeWindow() const;
void setActiveWindow(QGraphicsWidget *widget);
+ bool sendEvent(QGraphicsItem *item, QEvent *event);
+
public Q_SLOTS:
void update(const QRectF &rect = QRectF());
void invalidate(const QRectF &rect = QRectF(), SceneLayers layers = AllLayers);
@@ -272,13 +291,10 @@ Q_SIGNALS:
void selectionChanged();
private:
- Q_DECLARE_SCOPED_PRIVATE(QGraphicsScene)
+ Q_DECLARE_PRIVATE(QGraphicsScene)
Q_DISABLE_COPY(QGraphicsScene)
- Q_PRIVATE_SLOT(d_func(), void _q_updateIndex())
Q_PRIVATE_SLOT(d_func(), void _q_emitUpdated())
- Q_PRIVATE_SLOT(d_func(), void _q_updateLater())
Q_PRIVATE_SLOT(d_func(), void _q_polishItems())
- Q_PRIVATE_SLOT(d_func(), void _q_updateSortCache())
Q_PRIVATE_SLOT(d_func(), void _q_processDirtyItems())
friend class QGraphicsItem;
friend class QGraphicsItemPrivate;
@@ -286,6 +302,10 @@ private:
friend class QGraphicsViewPrivate;
friend class QGraphicsWidget;
friend class QGraphicsWidgetPrivate;
+ friend class QGraphicsSceneIndex;
+ friend class QGraphicsSceneIndexPrivate;
+ friend class QGraphicsSceneBspTreeIndex;
+ friend class QGraphicsSceneBspTreeIndexPrivate;
};
Q_DECLARE_OPERATORS_FOR_FLAGS(QGraphicsScene::SceneLayers)
diff --git a/src/gui/graphicsview/qgraphicsscene_bsp.cpp b/src/gui/graphicsview/qgraphicsscene_bsp.cpp
index 3f3e58b..fb4b9a4 100644
--- a/src/gui/graphicsview/qgraphicsscene_bsp.cpp
+++ b/src/gui/graphicsview/qgraphicsscene_bsp.cpp
@@ -70,12 +70,15 @@ class QGraphicsSceneFindItemBspTreeVisitor : public QGraphicsSceneBspTreeVisitor
{
public:
QList<QGraphicsItem *> *foundItems;
+ bool onlyTopLevelItems;
void visit(QList<QGraphicsItem *> *items)
{
for (int i = 0; i < items->size(); ++i) {
QGraphicsItem *item = items->at(i);
- if (!item->d_func()->itemDiscovered && item->isVisible()) {
+ if (onlyTopLevelItems && item->d_ptr->parent)
+ item = item->topLevelItem();
+ if (!item->d_func()->itemDiscovered && item->d_ptr->visible) {
item->d_func()->itemDiscovered = 1;
foundItems->prepend(item);
}
@@ -143,19 +146,15 @@ void QGraphicsSceneBspTree::removeItems(const QSet<QGraphicsItem *> &items)
}
}
-QList<QGraphicsItem *> QGraphicsSceneBspTree::items(const QRectF &rect)
+QList<QGraphicsItem *> QGraphicsSceneBspTree::items(const QRectF &rect, bool onlyTopLevelItems) const
{
QList<QGraphicsItem *> tmp;
findVisitor->foundItems = &tmp;
+ findVisitor->onlyTopLevelItems = onlyTopLevelItems;
climbTree(findVisitor, rect);
- return tmp;
-}
-
-QList<QGraphicsItem *> QGraphicsSceneBspTree::items(const QPointF &pos)
-{
- QList<QGraphicsItem *> tmp;
- findVisitor->foundItems = &tmp;
- climbTree(findVisitor, pos);
+ // Reset discovery bits.
+ for (int i = 0; i < tmp.size(); ++i)
+ tmp.at(i)->d_ptr->itemDiscovered = 0;
return tmp;
}
@@ -235,47 +234,17 @@ void QGraphicsSceneBspTree::initialize(const QRectF &rect, int depth, int index)
}
}
-void QGraphicsSceneBspTree::climbTree(QGraphicsSceneBspTreeVisitor *visitor, const QPointF &pos, int index)
-{
- if (nodes.isEmpty())
- return;
-
- const Node &node = nodes.at(index);
- int childIndex = firstChildIndex(index);
-
- switch (node.type) {
- case Node::Leaf: {
- visitor->visit(&leaves[node.leafIndex]);
- break;
- }
- case Node::Vertical:
- if (pos.x() < node.offset) {
- climbTree(visitor, pos, childIndex);
- } else {
- climbTree(visitor, pos, childIndex + 1);
- }
- break;
- case Node::Horizontal:
- if (pos.y() < node.offset) {
- climbTree(visitor, pos, childIndex);
- } else {
- climbTree(visitor, pos, childIndex + 1);
- }
- break;
- }
-}
-
-void QGraphicsSceneBspTree::climbTree(QGraphicsSceneBspTreeVisitor *visitor, const QRectF &rect, int index)
+void QGraphicsSceneBspTree::climbTree(QGraphicsSceneBspTreeVisitor *visitor, const QRectF &rect, int index) const
{
if (nodes.isEmpty())
return;
const Node &node = nodes.at(index);
- int childIndex = firstChildIndex(index);
+ const int childIndex = firstChildIndex(index);
switch (node.type) {
case Node::Leaf: {
- visitor->visit(&leaves[node.leafIndex]);
+ visitor->visit(const_cast<QList<QGraphicsItem*>*>(&leaves[node.leafIndex]));
break;
}
case Node::Vertical:
@@ -288,7 +257,6 @@ void QGraphicsSceneBspTree::climbTree(QGraphicsSceneBspTreeVisitor *visitor, con
}
break;
case Node::Horizontal:
- int childIndex = firstChildIndex(index);
if (rect.top() < node.offset) {
climbTree(visitor, rect, childIndex);
if (rect.bottom() >= node.offset)
diff --git a/src/gui/graphicsview/qgraphicsscene_bsp_p.h b/src/gui/graphicsview/qgraphicsscene_bsp_p.h
index 73a937f..4cac64a 100644
--- a/src/gui/graphicsview/qgraphicsscene_bsp_p.h
+++ b/src/gui/graphicsview/qgraphicsscene_bsp_p.h
@@ -92,8 +92,7 @@ public:
void removeItem(QGraphicsItem *item, const QRectF &rect);
void removeItems(const QSet<QGraphicsItem *> &items);
- QList<QGraphicsItem *> items(const QRectF &rect);
- QList<QGraphicsItem *> items(const QPointF &pos);
+ QList<QGraphicsItem *> items(const QRectF &rect, bool onlyTopLevelItems = false) const;
int leafCount() const;
inline int firstChildIndex(int index) const
@@ -106,11 +105,7 @@ public:
private:
void initialize(const QRectF &rect, int depth, int index);
- void climbTree(QGraphicsSceneBspTreeVisitor *visitor, const QPointF &pos, int index = 0);
- void climbTree(QGraphicsSceneBspTreeVisitor *visitor, const QRectF &rect, int index = 0);
-
- void findItems(QList<QGraphicsItem *> *foundItems, const QRectF &rect, int index);
- void findItems(QList<QGraphicsItem *> *foundItems, const QPointF &pos, int index);
+ void climbTree(QGraphicsSceneBspTreeVisitor *visitor, const QRectF &rect, int index = 0) const;
QRectF rectForIndex(int index) const;
QVector<Node> nodes;
diff --git a/src/gui/graphicsview/qgraphicsscene_p.h b/src/gui/graphicsview/qgraphicsscene_p.h
index 3c3a811..a4bbdd2 100644
--- a/src/gui/graphicsview/qgraphicsscene_p.h
+++ b/src/gui/graphicsview/qgraphicsscene_p.h
@@ -59,7 +59,6 @@
#include "qgraphicssceneevent.h"
#include "qgraphicsview.h"
-#include "qgraphicsscene_bsp_p.h"
#include "qgraphicsitem_p.h"
#include <private/qobject_p.h>
@@ -72,13 +71,11 @@
#include <QtGui/qstyle.h>
#include <QtGui/qstyleoption.h>
-static const int QGRAPHICSSCENE_INDEXTIMER_TIMEOUT = 2000;
-
QT_BEGIN_NAMESPACE
+class QGraphicsSceneIndex;
class QGraphicsView;
class QGraphicsWidget;
-class QGesture;
class QGraphicsScenePrivate : public QObjectPrivate
{
@@ -87,24 +84,19 @@ public:
QGraphicsScenePrivate();
void init();
+ static QGraphicsScenePrivate *get(QGraphicsScene *q);
+
quint32 changedSignalMask;
QGraphicsScene::ItemIndexMethod indexMethod;
- int bspTreeDepth;
-
- QList<QGraphicsItem *> estimateItemsInRect(const QRectF &rect) const;
- void addToIndex(QGraphicsItem *item);
- void removeFromIndex(QGraphicsItem *item);
- void resetIndex();
+ QGraphicsSceneIndex *index;
- QGraphicsSceneBspTree bspTree;
- void _q_updateIndex();
int lastItemCount;
QRectF sceneRect;
bool hasSceneRect;
+ bool dirtyGrowingItemsBoundingRect;
QRectF growingItemsBoundingRect;
- QRectF largestUntransformableItem;
void _q_emitUpdated();
QList<QRectF> updatedRects;
@@ -115,9 +107,6 @@ public:
QPainterPath selectionArea;
int selectionChanging;
QSet<QGraphicsItem *> selectedItems;
- QList<QGraphicsItem *> unindexedItems;
- QList<QGraphicsItem *> indexedItems;
- QList<QGraphicsItem *> pendingUpdateItems;
QList<QGraphicsItem *> unpolishedItems;
QList<QGraphicsItem *> topLevelItems;
bool needSortTopLevelItems;
@@ -129,21 +118,11 @@ public:
void _q_processDirtyItems();
- QList<int> freeItemIndexes;
- bool regenerateIndex;
-
- bool purgePending;
void removeItemHelper(QGraphicsItem *item);
- QSet<QGraphicsItem *> removedItems;
- void purgeRemovedItems();
QBrush backgroundBrush;
QBrush foregroundBrush;
- int indexTimerId;
- bool restartIndexTimer;
- void startIndexTimer(int interval = QGRAPHICSSCENE_INDEXTIMER_TIMEOUT);
-
bool stickyFocus;
bool hasFocus;
QGraphicsItem *focusItem;
@@ -151,6 +130,8 @@ public:
QGraphicsWidget *tabFocusFirst;
QGraphicsWidget *activeWindow;
int activationRefCount;
+ void setFocusItemHelper(QGraphicsItem *item, Qt::FocusReason focusReason);
+ QMultiHash<QGraphicsItem *, QGraphicsItem *> focusProxyReverseMap;
QList<QGraphicsWidget *> popupWidgets;
void addPopup(QGraphicsWidget *widget);
@@ -182,7 +163,6 @@ public:
QList<QGraphicsItem *> itemsAtPosition(const QPoint &screenPos,
const QPointF &scenePos,
QWidget *widget) const;
- static bool itemCollidesWithPath(QGraphicsItem *item, const QPainterPath &path, Qt::ItemSelectionMode mode);
void storeMouseButtonsForMouseGrabber(QGraphicsSceneMouseEvent *event);
QList<QGraphicsView *> views;
@@ -194,6 +174,7 @@ public:
QMultiMap<QGraphicsItem *, QGraphicsItem *> sceneEventFilters;
void installSceneEventFilter(QGraphicsItem *watched, QGraphicsItem *filter);
void removeSceneEventFilter(QGraphicsItem *watched, QGraphicsItem *filter);
+ bool filterDescendantEvent(QGraphicsItem *item, QEvent *event);
bool filterEvent(QGraphicsItem *item, QEvent *event);
bool sendEvent(QGraphicsItem *item, QEvent *event);
@@ -211,69 +192,14 @@ public:
void mousePressEventHandler(QGraphicsSceneMouseEvent *mouseEvent);
QGraphicsWidget *windowForItem(const QGraphicsItem *item) const;
- QList<QGraphicsItem *> topLevelItemsInStackingOrder(const QTransform *const, QRegion *);
- void recursive_items_helper(QGraphicsItem *item, QRectF rect, QList<QGraphicsItem *> *items,
- const QTransform &parentTransform, const QTransform &viewTransform,
- Qt::ItemSelectionMode mode, Qt::SortOrder order, qreal parentOpacity = 1.0) const;
-
- QList<QGraphicsItem *> items_helper(const QPointF &pos) const;
- QList<QGraphicsItem *> items_helper(const QRectF &rect,
- Qt::ItemSelectionMode mode,
- Qt::SortOrder order) const;
- QList<QGraphicsItem *> items_helper(const QPolygonF &rect,
- Qt::ItemSelectionMode mode,
- Qt::SortOrder order) const;
- QList<QGraphicsItem *> items_helper(const QPainterPath &rect,
- Qt::ItemSelectionMode mode,
- Qt::SortOrder order) const;
- void childItems_helper(QList<QGraphicsItem *> *items,
- const QGraphicsItem *parent,
- const QPointF &pos) const;
- void childItems_helper(QList<QGraphicsItem *> *items,
- const QGraphicsItem *parent,
- const QRectF &rect,
- Qt::ItemSelectionMode mode) const;
- void childItems_helper(QList<QGraphicsItem *> *items,
- const QGraphicsItem *parent,
- const QPolygonF &polygon,
- Qt::ItemSelectionMode mode) const;
- void childItems_helper(QList<QGraphicsItem *> *items,
- const QGraphicsItem *parent,
- const QPainterPath &path,
- Qt::ItemSelectionMode mode) const;
-
- bool sortCacheEnabled;
- bool updatingSortCache;
- void invalidateSortCache();
- static void climbTree(QGraphicsItem *item, int *stackingOrder);
- void _q_updateSortCache();
-
- static bool closestItemFirst_withoutCache(const QGraphicsItem *item1, const QGraphicsItem *item2);
- static bool closestItemLast_withoutCache(const QGraphicsItem *item1, const QGraphicsItem *item2);
-
- static inline bool closestItemFirst_withCache(const QGraphicsItem *item1, const QGraphicsItem *item2)
- {
- return item1->d_ptr->globalStackingOrder < item2->d_ptr->globalStackingOrder;
- }
- static inline bool closestItemLast_withCache(const QGraphicsItem *item1, const QGraphicsItem *item2)
- {
- return item1->d_ptr->globalStackingOrder >= item2->d_ptr->globalStackingOrder;
- }
-
- static void sortItems(QList<QGraphicsItem *> *itemList, Qt::SortOrder order, bool cached);
+ bool sortCacheEnabled; // for compatibility
void drawItemHelper(QGraphicsItem *item, QPainter *painter,
const QStyleOptionGraphicsItem *option, QWidget *widget,
bool painterStateProtection);
- inline void drawItems(QPainter *painter, const QTransform *const viewTransform,
- QRegion *exposedRegion, QWidget *widget)
- {
- const QList<QGraphicsItem *> tli = topLevelItemsInStackingOrder(viewTransform, exposedRegion);
- for (int i = 0; i < tli.size(); ++i)
- drawSubtreeRecursive(tli.at(i), painter, viewTransform, exposedRegion, widget);
- return;
- }
+ void drawItems(QPainter *painter, const QTransform *const viewTransform,
+ QRegion *exposedRegion, QWidget *widget);
void drawSubtreeRecursive(QGraphicsItem *item, QPainter *painter, const QTransform *const,
QRegion *exposedRegion, QWidget *widget, qreal parentOpacity = qreal(1.0));
@@ -283,18 +209,32 @@ public:
void processDirtyItemsRecursive(QGraphicsItem *item, bool dirtyAncestorContainsChildren = false,
qreal parentOpacity = qreal(1.0));
- inline void resetDirtyItem(QGraphicsItem *item)
+ inline void resetDirtyItem(QGraphicsItem *item, bool recursive = false)
{
Q_ASSERT(item);
item->d_ptr->dirty = 0;
item->d_ptr->paintedViewBoundingRectsNeedRepaint = 0;
item->d_ptr->geometryChanged = 0;
+ if (!item->d_ptr->dirtyChildren)
+ recursive = false;
item->d_ptr->dirtyChildren = 0;
item->d_ptr->needsRepaint = QRectF();
item->d_ptr->allChildrenDirty = 0;
item->d_ptr->fullUpdatePending = 0;
item->d_ptr->ignoreVisible = 0;
item->d_ptr->ignoreOpacity = 0;
+ if (recursive) {
+ for (int i = 0; i < item->d_ptr->children.size(); ++i)
+ resetDirtyItem(item->d_ptr->children.at(i), recursive);
+ }
+ }
+
+ inline void ensureSortedTopLevelItems()
+ {
+ if (needSortTopLevelItems) {
+ qSort(topLevelItems.begin(), topLevelItems.end(), qt_notclosestLeaf);
+ needSortTopLevelItems = false;
+ }
}
QStyle *style;
@@ -309,13 +249,6 @@ public:
QStyleOptionGraphicsItem styleOptionTmp;
- // items with gestures -> list of started gestures.
- QMap<QGraphicsItem*, QSet<QGesture*> > itemsWithGestures;
- QSet<int> grabbedGestures;
- void grabGesture(QGraphicsItem *item, int gestureId);
- void releaseGesture(QGraphicsItem *item, int gestureId);
- void sendGestureEvent(const QSet<QGesture*> &gestures, const QSet<QString> &cancelled);
-
QMap<int, QTouchEvent::TouchPoint> sceneCurrentTouchPoints;
QMap<int, QGraphicsItem *> itemForTouchPointId;
static void updateTouchPointsForItem(QGraphicsItem *item, QTouchEvent *touchEvent);
@@ -324,8 +257,29 @@ public:
bool sendTouchBeginEvent(QGraphicsItem *item, QTouchEvent *touchEvent);
bool allItemsIgnoreTouchEvents;
void enableTouchEventsOnViews();
+
+ void updateInputMethodSensitivityInViews();
};
+// QRectF::intersects() returns false always if either the source or target
+// rectangle's width or height are 0. This works around that problem.
+static inline void _q_adjustRect(QRectF *rect)
+{
+ Q_ASSERT(rect);
+ if (!rect->width())
+ rect->adjust(-0.00001, 0, 0.00001, 0);
+ if (!rect->height())
+ rect->adjust(0, -0.00001, 0, 0.00001);
+}
+
+static inline QRectF adjustedItemBoundingRect(const QGraphicsItem *item)
+{
+ Q_ASSERT(item);
+ QRectF boundingRect(item->boundingRect());
+ _q_adjustRect(&boundingRect);
+ return boundingRect;
+}
+
QT_END_NAMESPACE
#endif // QT_NO_GRAPHICSVIEW
diff --git a/src/gui/graphicsview/qgraphicsscenebsptreeindex.cpp b/src/gui/graphicsview/qgraphicsscenebsptreeindex.cpp
new file mode 100644
index 0000000..019a85e
--- /dev/null
+++ b/src/gui/graphicsview/qgraphicsscenebsptreeindex.cpp
@@ -0,0 +1,784 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtGui module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+ \class QGraphicsSceneBspTreeIndex
+ \brief The QGraphicsSceneBspTreeIndex class provides an implementation of
+ a BSP indexing algorithm for discovering items in QGraphicsScene.
+ \since 4.6
+ \ingroup multimedia
+ \ingroup graphicsview-api
+ \mainclass
+ \internal
+
+ QGraphicsSceneBspTreeIndex index use a BSP(Binary Space Partitioning)
+ implementation to discover items quickly. This implementation is
+ very efficient for static scene. It has a depth that you can set.
+ The depth directly affects performance and memory usage; the latter
+ growing exponentially with the depth of the tree. With an optimal tree
+ depth, the index can instantly determine the locality of items, even
+ for scenes with thousands or millions of items. This also greatly improves
+ rendering performance.
+
+ By default, the value is 0, in which case Qt will guess a reasonable
+ default depth based on the size, location and number of items in the
+ scene. If these parameters change frequently, however, you may experience
+ slowdowns as the index retunes the depth internally. You can avoid
+ potential slowdowns by fixating the tree depth through setting this
+ property.
+
+ The depth of the tree and the size of the scene rectangle decide the
+ granularity of the scene's partitioning. The size of each scene segment is
+ determined by the following algorithm:
+
+ The BSP tree has an optimal size when each segment contains between 0 and
+ 10 items.
+
+ \sa QGraphicsScene, QGraphicsView, QGraphicsSceneIndex
+*/
+
+#include <QtCore/qglobal.h>
+
+#ifndef QT_NO_GRAPHICSVIEW
+
+#include <private/qgraphicsscene_p.h>
+#include <private/qgraphicsscenebsptreeindex_p.h>
+#include <private/qgraphicssceneindex_p.h>
+
+#include <QtCore/qmath.h>
+#include <QtCore/qdebug.h>
+
+QT_BEGIN_NAMESPACE
+
+static inline int intmaxlog(int n)
+{
+ return (n > 0 ? qMax(qCeil(qLn(qreal(n)) / qLn(qreal(2))), 5) : 0);
+}
+
+/*!
+ Constructs a private scene bsp index.
+*/
+QGraphicsSceneBspTreeIndexPrivate::QGraphicsSceneBspTreeIndexPrivate(QGraphicsScene *scene)
+ : QGraphicsSceneIndexPrivate(scene),
+ bspTreeDepth(0),
+ indexTimerId(0),
+ restartIndexTimer(false),
+ regenerateIndex(true),
+ lastItemCount(0),
+ purgePending(false),
+ sortCacheEnabled(false),
+ updatingSortCache(false)
+{
+}
+
+
+/*!
+ This method will update the BSP index by removing the items from the temporary
+ unindexed list and add them in the indexedItems list. This will also
+ update the growingItemsBoundingRect if needed. This will update the BSP
+ implementation as well.
+
+ \internal
+*/
+void QGraphicsSceneBspTreeIndexPrivate::_q_updateIndex()
+{
+ Q_Q(QGraphicsSceneBspTreeIndex);
+ if (!indexTimerId)
+ return;
+
+ q->killTimer(indexTimerId);
+ indexTimerId = 0;
+
+ purgeRemovedItems();
+
+ // Add unindexedItems to indexedItems
+ for (int i = 0; i < unindexedItems.size(); ++i) {
+ if (QGraphicsItem *item = unindexedItems.at(i)) {
+ Q_ASSERT(!item->d_ptr->itemDiscovered);
+ if (!freeItemIndexes.isEmpty()) {
+ int freeIndex = freeItemIndexes.takeFirst();
+ item->d_func()->index = freeIndex;
+ indexedItems[freeIndex] = item;
+ } else {
+ item->d_func()->index = indexedItems.size();
+ indexedItems << item;
+ }
+ }
+ }
+
+ // Determine whether we should regenerate the BSP tree.
+ if (bspTreeDepth == 0) {
+ int oldDepth = intmaxlog(lastItemCount);
+ bspTreeDepth = intmaxlog(indexedItems.size());
+ static const int slack = 100;
+ if (bsp.leafCount() == 0 || (oldDepth != bspTreeDepth && qAbs(lastItemCount - indexedItems.size()) > slack)) {
+ // ### Crude algorithm.
+ regenerateIndex = true;
+ }
+ }
+
+ // Regenerate the tree.
+ if (regenerateIndex) {
+ regenerateIndex = false;
+ bsp.initialize(sceneRect, bspTreeDepth);
+ unindexedItems = indexedItems;
+ lastItemCount = indexedItems.size();
+ }
+
+ // Insert all unindexed items into the tree.
+ for (int i = 0; i < unindexedItems.size(); ++i) {
+ if (QGraphicsItem *item = unindexedItems.at(i)) {
+ if (item->d_ptr->itemIsUntransformable()) {
+ untransformableItems << item;
+ continue;
+ }
+ if (item->d_ptr->ancestorFlags & QGraphicsItemPrivate::AncestorClipsChildren)
+ continue;
+
+ bsp.insertItem(item, item->sceneBoundingRect());
+ }
+ }
+ unindexedItems.clear();
+}
+
+
+/*!
+ \internal
+
+ Removes stale pointers from all data structures.
+*/
+void QGraphicsSceneBspTreeIndexPrivate::purgeRemovedItems()
+{
+ if (!purgePending && removedItems.isEmpty())
+ return;
+
+ // Remove stale items from the BSP tree.
+ bsp.removeItems(removedItems);
+ // Purge this list.
+ removedItems.clear();
+ freeItemIndexes.clear();
+ for (int i = 0; i < indexedItems.size(); ++i) {
+ if (!indexedItems.at(i))
+ freeItemIndexes << i;
+ }
+ purgePending = false;
+}
+
+/*!
+ \internal
+
+ Starts or restarts the timer used for reindexing unindexed items.
+*/
+void QGraphicsSceneBspTreeIndexPrivate::startIndexTimer(int interval)
+{
+ Q_Q(QGraphicsSceneBspTreeIndex);
+ if (indexTimerId) {
+ restartIndexTimer = true;
+ } else {
+ indexTimerId = q->startTimer(interval);
+ }
+}
+
+/*!
+ \internal
+*/
+void QGraphicsSceneBspTreeIndexPrivate::resetIndex()
+{
+ purgeRemovedItems();
+ for (int i = 0; i < indexedItems.size(); ++i) {
+ if (QGraphicsItem *item = indexedItems.at(i)) {
+ item->d_ptr->index = -1;
+ Q_ASSERT(!item->d_ptr->itemDiscovered);
+ unindexedItems << item;
+ }
+ }
+ indexedItems.clear();
+ freeItemIndexes.clear();
+ untransformableItems.clear();
+ regenerateIndex = true;
+ startIndexTimer();
+}
+
+/*!
+ \internal
+*/
+void QGraphicsSceneBspTreeIndexPrivate::climbTree(QGraphicsItem *item, int *stackingOrder)
+{
+ if (!item->d_ptr->children.isEmpty()) {
+ QList<QGraphicsItem *> childList = item->d_ptr->children;
+ qSort(childList.begin(), childList.end(), qt_closestLeaf);
+ for (int i = 0; i < childList.size(); ++i) {
+ QGraphicsItem *item = childList.at(i);
+ if (!(item->flags() & QGraphicsItem::ItemStacksBehindParent))
+ climbTree(childList.at(i), stackingOrder);
+ }
+ item->d_ptr->globalStackingOrder = (*stackingOrder)++;
+ for (int i = 0; i < childList.size(); ++i) {
+ QGraphicsItem *item = childList.at(i);
+ if (item->flags() & QGraphicsItem::ItemStacksBehindParent)
+ climbTree(childList.at(i), stackingOrder);
+ }
+ } else {
+ item->d_ptr->globalStackingOrder = (*stackingOrder)++;
+ }
+}
+
+/*!
+ \internal
+*/
+void QGraphicsSceneBspTreeIndexPrivate::_q_updateSortCache()
+{
+ Q_Q(QGraphicsSceneBspTreeIndex);
+ _q_updateIndex();
+
+ if (!sortCacheEnabled || !updatingSortCache)
+ return;
+
+ updatingSortCache = false;
+ int stackingOrder = 0;
+
+ QList<QGraphicsItem *> topLevels;
+ const QList<QGraphicsItem *> items = q->items();
+ for (int i = 0; i < items.size(); ++i) {
+ QGraphicsItem *item = items.at(i);
+ if (item && !item->d_ptr->parent)
+ topLevels << item;
+ }
+
+ qSort(topLevels.begin(), topLevels.end(), qt_closestLeaf);
+ for (int i = 0; i < topLevels.size(); ++i)
+ climbTree(topLevels.at(i), &stackingOrder);
+}
+
+/*!
+ \internal
+*/
+void QGraphicsSceneBspTreeIndexPrivate::invalidateSortCache()
+{
+ Q_Q(QGraphicsSceneBspTreeIndex);
+ if (!sortCacheEnabled || updatingSortCache)
+ return;
+
+ updatingSortCache = true;
+ QMetaObject::invokeMethod(q, "_q_updateSortCache", Qt::QueuedConnection);
+}
+
+void QGraphicsSceneBspTreeIndexPrivate::addItem(QGraphicsItem *item, bool recursive)
+{
+ if (!item)
+ return;
+
+ // Prevent reusing a recently deleted pointer: purge all removed item from our lists.
+ purgeRemovedItems();
+
+ // Invalidate any sort caching; arrival of a new item means we need to resort.
+ // Update the scene's sort cache settings.
+ item->d_ptr->globalStackingOrder = -1;
+ invalidateSortCache();
+
+ // Indexing requires sceneBoundingRect(), but because \a item might
+ // not be completely constructed at this point, we need to store it in
+ // a temporary list and schedule an indexing for later.
+ if (item->d_ptr->index == -1) {
+ Q_ASSERT(!unindexedItems.contains(item));
+ unindexedItems << item;
+ startIndexTimer(0);
+ } else {
+ Q_ASSERT(indexedItems.contains(item));
+ qWarning("QGraphicsSceneBspTreeIndex::addItem: item has already been added to this BSP");
+ }
+
+ if (recursive) {
+ for (int i = 0; i < item->d_ptr->children.size(); ++i)
+ addItem(item->d_ptr->children.at(i), recursive);
+ }
+}
+
+void QGraphicsSceneBspTreeIndexPrivate::removeItem(QGraphicsItem *item, bool recursive,
+ bool moveToUnindexedItems)
+{
+ if (!item)
+ return;
+
+ if (item->d_ptr->index != -1) {
+ Q_ASSERT(item->d_ptr->index < indexedItems.size());
+ Q_ASSERT(indexedItems.at(item->d_ptr->index) == item);
+ Q_ASSERT(!item->d_ptr->itemDiscovered);
+ freeItemIndexes << item->d_ptr->index;
+ indexedItems[item->d_ptr->index] = 0;
+ item->d_ptr->index = -1;
+
+ if (item->d_ptr->itemIsUntransformable()) {
+ untransformableItems.removeOne(item);
+ } else if (item->d_ptr->inDestructor) {
+ // Avoid virtual function calls from the destructor.
+ purgePending = true;
+ removedItems << item;
+ } else if (!(item->d_ptr->ancestorFlags & QGraphicsItemPrivate::AncestorClipsChildren)) {
+ bsp.removeItem(item, item->sceneBoundingRect());
+ }
+ } else {
+ unindexedItems.removeOne(item);
+ }
+ invalidateSortCache(); // ### Only do this when removing from BSP?
+
+ Q_ASSERT(item->d_ptr->index == -1);
+ Q_ASSERT(!indexedItems.contains(item));
+ Q_ASSERT(!unindexedItems.contains(item));
+ Q_ASSERT(!untransformableItems.contains(item));
+
+ if (moveToUnindexedItems)
+ addItem(item);
+
+ if (recursive) {
+ for (int i = 0; i < item->d_ptr->children.size(); ++i)
+ removeItem(item->d_ptr->children.at(i), recursive, moveToUnindexedItems);
+ }
+}
+
+QList<QGraphicsItem *> QGraphicsSceneBspTreeIndexPrivate::estimateItems(const QRectF &rect, Qt::SortOrder order,
+ bool onlyTopLevelItems)
+{
+ Q_Q(QGraphicsSceneBspTreeIndex);
+ if (onlyTopLevelItems && rect.isNull())
+ return q->QGraphicsSceneIndex::estimateTopLevelItems(rect, order);
+
+ purgeRemovedItems();
+ _q_updateSortCache();
+ Q_ASSERT(unindexedItems.isEmpty());
+
+ QList<QGraphicsItem *> rectItems = bsp.items(rect, onlyTopLevelItems);
+ if (onlyTopLevelItems) {
+ for (int i = 0; i < untransformableItems.size(); ++i) {
+ QGraphicsItem *item = untransformableItems.at(i);
+ if (!item->d_ptr->parent) {
+ rectItems << item;
+ } else {
+ item = item->topLevelItem();
+ if (!rectItems.contains(item))
+ rectItems << item;
+ }
+ }
+ } else {
+ rectItems += untransformableItems;
+ }
+
+ sortItems(&rectItems, order, sortCacheEnabled, onlyTopLevelItems);
+ return rectItems;
+}
+
+/*!
+ Returns true if \a item1 is on top of \a item2.
+
+ \internal
+*/
+bool QGraphicsSceneBspTreeIndexPrivate::closestItemFirst_withoutCache(const QGraphicsItem *item1, const QGraphicsItem *item2)
+{
+ // Siblings? Just check their z-values.
+ const QGraphicsItemPrivate *d1 = item1->d_ptr.data();
+ const QGraphicsItemPrivate *d2 = item2->d_ptr.data();
+ if (d1->parent == d2->parent)
+ return qt_closestLeaf(item1, item2);
+
+ // Find common ancestor, and each item's ancestor closest to the common
+ // ancestor.
+ int item1Depth = d1->depth;
+ int item2Depth = d2->depth;
+ const QGraphicsItem *p = item1;
+ const QGraphicsItem *t1 = item1;
+ while (item1Depth > item2Depth && (p = p->d_ptr->parent)) {
+ if (p == item2) {
+ // item2 is one of item1's ancestors; item1 is on top
+ return !(t1->d_ptr->flags & QGraphicsItem::ItemStacksBehindParent);
+ }
+ t1 = p;
+ --item1Depth;
+ }
+ p = item2;
+ const QGraphicsItem *t2 = item2;
+ while (item2Depth > item1Depth && (p = p->d_ptr->parent)) {
+ if (p == item1) {
+ // item1 is one of item2's ancestors; item1 is not on top
+ return (t2->d_ptr->flags & QGraphicsItem::ItemStacksBehindParent);
+ }
+ t2 = p;
+ --item2Depth;
+ }
+
+ // item1Ancestor is now at the same level as item2Ancestor, but not the same.
+ const QGraphicsItem *a1 = t1;
+ const QGraphicsItem *a2 = t2;
+ while (a1) {
+ const QGraphicsItem *p1 = a1;
+ const QGraphicsItem *p2 = a2;
+ a1 = a1->parentItem();
+ a2 = a2->parentItem();
+ if (a1 && a1 == a2)
+ return qt_closestLeaf(p1, p2);
+ }
+
+ // No common ancestor? Then just compare the items' toplevels directly.
+ return qt_closestLeaf(t1->topLevelItem(), t2->topLevelItem());
+}
+
+/*!
+ Returns true if \a item2 is on top of \a item1.
+
+ \internal
+*/
+bool QGraphicsSceneBspTreeIndexPrivate::closestItemLast_withoutCache(const QGraphicsItem *item1, const QGraphicsItem *item2)
+{
+ return closestItemFirst_withoutCache(item2, item1);
+}
+
+/*!
+ Sort a list of \a itemList in a specific \a order and use the cache if requested.
+
+ \internal
+*/
+void QGraphicsSceneBspTreeIndexPrivate::sortItems(QList<QGraphicsItem *> *itemList, Qt::SortOrder order,
+ bool sortCacheEnabled, bool onlyTopLevelItems)
+{
+ if (order == Qt::SortOrder(-1))
+ return;
+
+ if (onlyTopLevelItems) {
+ if (order == Qt::AscendingOrder)
+ qSort(itemList->begin(), itemList->end(), qt_closestLeaf);
+ else if (order == Qt::DescendingOrder)
+ qSort(itemList->begin(), itemList->end(), qt_notclosestLeaf);
+ return;
+ }
+
+ if (sortCacheEnabled) {
+ if (order == Qt::AscendingOrder) {
+ qSort(itemList->begin(), itemList->end(), closestItemFirst_withCache);
+ } else if (order == Qt::DescendingOrder) {
+ qSort(itemList->begin(), itemList->end(), closestItemLast_withCache);
+ }
+ } else {
+ if (order == Qt::AscendingOrder) {
+ qSort(itemList->begin(), itemList->end(), closestItemFirst_withoutCache);
+ } else if (order == Qt::DescendingOrder) {
+ qSort(itemList->begin(), itemList->end(), closestItemLast_withoutCache);
+ }
+ }
+}
+
+/*!
+ Constructs a BSP scene index for the given \a scene.
+*/
+QGraphicsSceneBspTreeIndex::QGraphicsSceneBspTreeIndex(QGraphicsScene *scene)
+ : QGraphicsSceneIndex(*new QGraphicsSceneBspTreeIndexPrivate(scene), scene)
+{
+
+}
+
+QGraphicsSceneBspTreeIndex::~QGraphicsSceneBspTreeIndex()
+{
+ Q_D(QGraphicsSceneBspTreeIndex);
+ for (int i = 0; i < d->indexedItems.size(); ++i) {
+ // Ensure item bits are reset properly.
+ if (QGraphicsItem *item = d->indexedItems.at(i)) {
+ Q_ASSERT(!item->d_ptr->itemDiscovered);
+ item->d_ptr->index = -1;
+ }
+ }
+}
+
+/*!
+ \internal
+ Clear the all the BSP index.
+*/
+void QGraphicsSceneBspTreeIndex::clear()
+{
+ Q_D(QGraphicsSceneBspTreeIndex);
+ d->bsp.clear();
+ d->lastItemCount = 0;
+ d->freeItemIndexes.clear();
+ for (int i = 0; i < d->indexedItems.size(); ++i) {
+ // Ensure item bits are reset properly.
+ if (QGraphicsItem *item = d->indexedItems.at(i)) {
+ Q_ASSERT(!item->d_ptr->itemDiscovered);
+ item->d_ptr->index = -1;
+ }
+ }
+ d->indexedItems.clear();
+ d->unindexedItems.clear();
+ d->untransformableItems.clear();
+ d->regenerateIndex = true;
+}
+
+/*!
+ Add the \a item into the BSP index.
+*/
+void QGraphicsSceneBspTreeIndex::addItem(QGraphicsItem *item)
+{
+ Q_D(QGraphicsSceneBspTreeIndex);
+ d->addItem(item);
+}
+
+/*!
+ Remove the \a item from the BSP index.
+*/
+void QGraphicsSceneBspTreeIndex::removeItem(QGraphicsItem *item)
+{
+ Q_D(QGraphicsSceneBspTreeIndex);
+ d->removeItem(item);
+}
+
+/*!
+ \internal
+ Update the BSP when the \a item 's bounding rect has changed.
+*/
+void QGraphicsSceneBspTreeIndex::prepareBoundingRectChange(const QGraphicsItem *item)
+{
+ if (!item)
+ return;
+
+ if (item->d_ptr->index == -1 || item->d_ptr->itemIsUntransformable()
+ || (item->d_ptr->ancestorFlags & QGraphicsItemPrivate::AncestorClipsChildren)) {
+ return; // Item is not in BSP tree; nothing to do.
+ }
+
+ Q_D(QGraphicsSceneBspTreeIndex);
+ QGraphicsItem *thatItem = const_cast<QGraphicsItem *>(item);
+ d->removeItem(thatItem, /*recursive=*/false, /*moveToUnindexedItems=*/true);
+ for (int i = 0; i < item->d_ptr->children.size(); ++i) // ### Do we really need this?
+ prepareBoundingRectChange(item->d_ptr->children.at(i));
+}
+
+/*!
+ Returns an estimation visible items that are either inside or
+ intersect with the specified \a rect and return a list sorted using \a order.
+
+ \a deviceTransform is the transformation apply to the view.
+
+*/
+QList<QGraphicsItem *> QGraphicsSceneBspTreeIndex::estimateItems(const QRectF &rect, Qt::SortOrder order) const
+{
+ Q_D(const QGraphicsSceneBspTreeIndex);
+ return const_cast<QGraphicsSceneBspTreeIndexPrivate*>(d)->estimateItems(rect, order);
+}
+
+QList<QGraphicsItem *> QGraphicsSceneBspTreeIndex::estimateTopLevelItems(const QRectF &rect, Qt::SortOrder order) const
+{
+ Q_D(const QGraphicsSceneBspTreeIndex);
+ return const_cast<QGraphicsSceneBspTreeIndexPrivate*>(d)->estimateItems(rect, order, /*onlyTopLevels=*/true);
+}
+
+/*!
+ \fn QList<QGraphicsItem *> QGraphicsSceneBspTreeIndex::items(Qt::SortOrder order = Qt::AscendingOrder) const;
+
+ Return all items in the BSP index and sort them using \a order.
+*/
+QList<QGraphicsItem *> QGraphicsSceneBspTreeIndex::items(Qt::SortOrder order) const
+{
+ Q_D(const QGraphicsSceneBspTreeIndex);
+ const_cast<QGraphicsSceneBspTreeIndexPrivate*>(d)->purgeRemovedItems();
+ QList<QGraphicsItem *> itemList;
+
+ // If freeItemIndexes is empty, we know there are no holes in indexedItems and
+ // unindexedItems.
+ if (d->freeItemIndexes.isEmpty()) {
+ if (d->unindexedItems.isEmpty()) {
+ itemList = d->indexedItems;
+ } else {
+ itemList = d->indexedItems + d->unindexedItems;
+ }
+ } else {
+ // Rebuild the list of items to avoid holes. ### We could also just
+ // compress the item lists at this point.
+ foreach (QGraphicsItem *item, d->indexedItems + d->unindexedItems) {
+ if (item)
+ itemList << item;
+ }
+ }
+ if (order != -1) {
+ //We sort descending order
+ d->sortItems(&itemList, order, d->sortCacheEnabled);
+ }
+ return itemList;
+}
+
+/*!
+ \property QGraphicsSceneBspTreeIndex::bspTreeDepth
+ \brief the depth of the BSP index tree
+ \since 4.6
+
+ This value determines the depth of BSP tree. The depth
+ directly affects performance and memory usage; the latter
+ growing exponentially with the depth of the tree. With an optimal tree
+ depth, the index can instantly determine the locality of items, even
+ for scenes with thousands or millions of items. This also greatly improves
+ rendering performance.
+
+ By default, the value is 0, in which case Qt will guess a reasonable
+ default depth based on the size, location and number of items in the
+ scene. If these parameters change frequently, however, you may experience
+ slowdowns as the index retunes the depth internally. You can avoid
+ potential slowdowns by fixating the tree depth through setting this
+ property.
+
+ The depth of the tree and the size of the scene rectangle decide the
+ granularity of the scene's partitioning. The size of each scene segment is
+ determined by the following algorithm:
+
+ The BSP tree has an optimal size when each segment contains between 0 and
+ 10 items.
+
+*/
+int QGraphicsSceneBspTreeIndex::bspTreeDepth()
+{
+ Q_D(const QGraphicsSceneBspTreeIndex);
+ return d->bspTreeDepth;
+}
+
+void QGraphicsSceneBspTreeIndex::setBspTreeDepth(int depth)
+{
+ Q_D(QGraphicsSceneBspTreeIndex);
+ if (d->bspTreeDepth == depth)
+ return;
+ d->bspTreeDepth = depth;
+ d->resetIndex();
+}
+
+/*!
+ \internal
+
+ This method react to the \a rect change of the scene and
+ reset the BSP tree index.
+*/
+void QGraphicsSceneBspTreeIndex::updateSceneRect(const QRectF &rect)
+{
+ Q_D(QGraphicsSceneBspTreeIndex);
+ d->sceneRect = rect;
+ d->resetIndex();
+}
+
+/*!
+ \internal
+
+ This method react to the \a change of the \a item and use the \a value to
+ update the BSP tree if necessary.
+*/
+void QGraphicsSceneBspTreeIndex::itemChange(const QGraphicsItem *item, QGraphicsItem::GraphicsItemChange change, const QVariant &value)
+{
+ Q_D(QGraphicsSceneBspTreeIndex);
+ switch (change) {
+ case QGraphicsItem::ItemFlagsChange: {
+ // Handle ItemIgnoresTransformations
+ bool ignoredTransform = item->d_ptr->flags & QGraphicsItem::ItemIgnoresTransformations;
+ bool willIgnoreTransform = value.toUInt() & QGraphicsItem::ItemIgnoresTransformations;
+ bool clipsChildren = item->d_ptr->flags & QGraphicsItem::ItemClipsChildrenToShape;
+ bool willClipChildren = value.toUInt() & QGraphicsItem::ItemClipsChildrenToShape;
+ if ((ignoredTransform != willIgnoreTransform) || (clipsChildren != willClipChildren)) {
+ QGraphicsItem *thatItem = const_cast<QGraphicsItem *>(item);
+ // Remove item and its descendants from the index and append
+ // them to the list of unindexed items. Then, when the index
+ // is updated, they will be put into the bsp-tree or the list
+ // of untransformable items.
+ d->removeItem(thatItem, /*recursive=*/true, /*moveToUnidexedItems=*/true);
+ }
+ break;
+ }
+ case QGraphicsItem::ItemZValueChange:
+ d->invalidateSortCache();
+ break;
+ case QGraphicsItem::ItemParentChange: {
+ d->invalidateSortCache();
+ // Handle ItemIgnoresTransformations
+ QGraphicsItem *newParent = qVariantValue<QGraphicsItem *>(value);
+ bool ignoredTransform = item->d_ptr->itemIsUntransformable();
+ bool willIgnoreTransform = (item->d_ptr->flags & QGraphicsItem::ItemIgnoresTransformations)
+ || (newParent && newParent->d_ptr->itemIsUntransformable());
+ bool ancestorClippedChildren = item->d_ptr->ancestorFlags & QGraphicsItemPrivate::AncestorClipsChildren;
+ bool ancestorWillClipChildren = newParent
+ && ((newParent->d_ptr->flags & QGraphicsItem::ItemClipsChildrenToShape)
+ || (newParent->d_ptr->ancestorFlags & QGraphicsItemPrivate::AncestorClipsChildren));
+ if ((ignoredTransform != willIgnoreTransform) || (ancestorClippedChildren != ancestorWillClipChildren)) {
+ QGraphicsItem *thatItem = const_cast<QGraphicsItem *>(item);
+ // Remove item and its descendants from the index and append
+ // them to the list of unindexed items. Then, when the index
+ // is updated, they will be put into the bsp-tree or the list
+ // of untransformable items.
+ d->removeItem(thatItem, /*recursive=*/true, /*moveToUnidexedItems=*/true);
+ }
+ break;
+ }
+ default:
+ break;
+ }
+ return QGraphicsSceneIndex::itemChange(item, change, value);
+}
+/*!
+ \reimp
+
+ Used to catch the timer event.
+
+ \internal
+*/
+bool QGraphicsSceneBspTreeIndex::event(QEvent *event)
+{
+ Q_D(QGraphicsSceneBspTreeIndex);
+ switch (event->type()) {
+ case QEvent::Timer:
+ if (d->indexTimerId && static_cast<QTimerEvent *>(event)->timerId() == d->indexTimerId) {
+ if (d->restartIndexTimer) {
+ d->restartIndexTimer = false;
+ } else {
+ // this call will kill the timer
+ d->_q_updateIndex();
+ }
+ }
+ // Fallthrough intended - support timers in subclasses.
+ default:
+ return QObject::event(event);
+ }
+ return true;
+}
+
+QT_END_NAMESPACE
+
+#include "moc_qgraphicsscenebsptreeindex_p.cpp"
+
+#endif // QT_NO_GRAPHICSVIEW
+
diff --git a/src/gui/graphicsview/qgraphicsscenebsptreeindex_p.h b/src/gui/graphicsview/qgraphicsscenebsptreeindex_p.h
new file mode 100644
index 0000000..2293a8e
--- /dev/null
+++ b/src/gui/graphicsview/qgraphicsscenebsptreeindex_p.h
@@ -0,0 +1,208 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtCore module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists for the convenience
+// of qapplication_*.cpp, qwidget*.cpp and qfiledialog.cpp. This header
+// file may change from version to version without notice, or even be removed.
+//
+// We mean it.
+//
+
+#ifndef QGRAPHICSBSPTREEINDEX_H
+#define QGRAPHICSBSPTREEINDEX_H
+
+#include <QtCore/qglobal.h>
+
+#if !defined(QT_NO_GRAPHICSVIEW) || (QT_EDITION & QT_MODULE_GRAPHICSVIEW) != QT_MODULE_GRAPHICSVIEW
+
+#include "qgraphicssceneindex_p.h"
+#include "qgraphicsitem_p.h"
+#include "qgraphicsscene_bsp_p.h"
+
+#include <QtCore/qrect.h>
+#include <QtCore/qlist.h>
+
+QT_BEGIN_NAMESPACE
+
+static const int QGRAPHICSSCENE_INDEXTIMER_TIMEOUT = 2000;
+
+class QGraphicsScene;
+class QGraphicsSceneBspTreeIndexPrivate;
+
+class Q_AUTOTEST_EXPORT QGraphicsSceneBspTreeIndex : public QGraphicsSceneIndex
+{
+ Q_OBJECT
+ Q_PROPERTY(int bspTreeDepth READ bspTreeDepth WRITE setBspTreeDepth)
+public:
+ QGraphicsSceneBspTreeIndex(QGraphicsScene *scene = 0);
+ ~QGraphicsSceneBspTreeIndex();
+
+ QList<QGraphicsItem *> estimateItems(const QRectF &rect, Qt::SortOrder order) const;
+ QList<QGraphicsItem *> estimateTopLevelItems(const QRectF &rect, Qt::SortOrder order) const;
+ QList<QGraphicsItem *> items(Qt::SortOrder order = Qt::AscendingOrder) const;
+
+ int bspTreeDepth();
+ void setBspTreeDepth(int depth);
+
+protected Q_SLOTS:
+ void updateSceneRect(const QRectF &rect);
+
+protected:
+ bool event(QEvent *event);
+ void clear();
+
+ void addItem(QGraphicsItem *item);
+ void removeItem(QGraphicsItem *item);
+ void prepareBoundingRectChange(const QGraphicsItem *item);
+
+ void itemChange(const QGraphicsItem *item, QGraphicsItem::GraphicsItemChange change, const QVariant &value);
+
+private :
+ Q_DECLARE_PRIVATE(QGraphicsSceneBspTreeIndex)
+ Q_DISABLE_COPY(QGraphicsSceneBspTreeIndex)
+ Q_PRIVATE_SLOT(d_func(), void _q_updateSortCache())
+ Q_PRIVATE_SLOT(d_func(), void _q_updateIndex())
+
+ friend class QGraphicsScene;
+ friend class QGraphicsScenePrivate;
+};
+
+class QGraphicsSceneBspTreeIndexPrivate : public QGraphicsSceneIndexPrivate
+{
+ Q_DECLARE_PUBLIC(QGraphicsSceneBspTreeIndex)
+public:
+ QGraphicsSceneBspTreeIndexPrivate(QGraphicsScene *scene);
+
+ QGraphicsSceneBspTree bsp;
+ QRectF sceneRect;
+ int bspTreeDepth;
+ int indexTimerId;
+ bool restartIndexTimer;
+ bool regenerateIndex;
+ int lastItemCount;
+
+ QList<QGraphicsItem *> indexedItems;
+ QList<QGraphicsItem *> unindexedItems;
+ QList<QGraphicsItem *> untransformableItems;
+ QList<int> freeItemIndexes;
+
+ bool purgePending;
+ QSet<QGraphicsItem *> removedItems;
+ void purgeRemovedItems();
+
+ void _q_updateIndex();
+ void startIndexTimer(int interval = QGRAPHICSSCENE_INDEXTIMER_TIMEOUT);
+ void resetIndex();
+
+ void _q_updateSortCache();
+ bool sortCacheEnabled;
+ bool updatingSortCache;
+ void invalidateSortCache();
+ void addItem(QGraphicsItem *item, bool recursive = false);
+ void removeItem(QGraphicsItem *item, bool recursive = false, bool moveToUnindexedItems = false);
+ QList<QGraphicsItem *> estimateItems(const QRectF &, Qt::SortOrder, bool b = false);
+
+ static void climbTree(QGraphicsItem *item, int *stackingOrder);
+ static bool closestItemFirst_withoutCache(const QGraphicsItem *item1, const QGraphicsItem *item2);
+ static bool closestItemLast_withoutCache(const QGraphicsItem *item1, const QGraphicsItem *item2);
+
+ static inline bool closestItemFirst_withCache(const QGraphicsItem *item1, const QGraphicsItem *item2)
+ {
+ return item1->d_ptr->globalStackingOrder < item2->d_ptr->globalStackingOrder;
+ }
+ static inline bool closestItemLast_withCache(const QGraphicsItem *item1, const QGraphicsItem *item2)
+ {
+ return item1->d_ptr->globalStackingOrder >= item2->d_ptr->globalStackingOrder;
+ }
+
+ static void sortItems(QList<QGraphicsItem *> *itemList, Qt::SortOrder order,
+ bool cached, bool onlyTopLevelItems = false);
+};
+
+static inline bool QRectF_intersects(const QRectF &s, const QRectF &r)
+{
+ qreal xp = s.left();
+ qreal yp = s.top();
+ qreal w = s.width();
+ qreal h = s.height();
+ qreal l1 = xp;
+ qreal r1 = xp;
+ if (w < 0)
+ l1 += w;
+ else
+ r1 += w;
+
+ qreal l2 = r.left();
+ qreal r2 = r.left();
+ if (w < 0)
+ l2 += r.width();
+ else
+ r2 += r.width();
+
+ if (l1 >= r2 || l2 >= r1)
+ return false;
+
+ qreal t1 = yp;
+ qreal b1 = yp;
+ if (h < 0)
+ t1 += h;
+ else
+ b1 += h;
+
+ qreal t2 = r.top();
+ qreal b2 = r.top();
+ if (r.height() < 0)
+ t2 += r.height();
+ else
+ b2 += r.height();
+
+ return !(t1 >= b2 || t2 >= b1);
+}
+
+QT_END_NAMESPACE
+
+#endif // QT_NO_GRAPHICSVIEW
+
+#endif // QGRAPHICSBSPTREEINDEX_H
diff --git a/src/gui/graphicsview/qgraphicssceneevent.cpp b/src/gui/graphicsview/qgraphicssceneevent.cpp
index 987ae9a..73cc787 100644
--- a/src/gui/graphicsview/qgraphicssceneevent.cpp
+++ b/src/gui/graphicsview/qgraphicssceneevent.cpp
@@ -275,8 +275,6 @@
QT_BEGIN_NAMESPACE
-QString qt_getStandardGestureTypeName(Qt::GestureType type);
-
class QGraphicsSceneEventPrivate
{
public:
@@ -1477,7 +1475,7 @@ void QGraphicsSceneDragDropEvent::acceptProposedAction()
/*!
Returns the action that was performed in this drag and drop.
This should be set by the receiver of the drop and is
- returned by QDrag::start().
+ returned by QDrag::exec().
\sa setDropAction(), acceptProposedAction()
*/
@@ -1678,249 +1676,6 @@ void QGraphicsSceneMoveEvent::setNewPos(const QPointF &pos)
d->newPos = pos;
}
-/*!
- \class QGraphicsSceneGestureEvent
- \brief The QGraphicsSceneGestureEvent class provides gesture events for
- the graphics view framework.
- \since 4.6
- \ingroup multimedia
- \ingroup graphicsview-api
-
- QGraphicsSceneGestureEvent extends information provided by
- QGestureEvent by adding some convenience functions like
- \l{QGraphicsSceneEvent::}{widget()} to get a widget that received
- original gesture event, and convenience functions mapToScene(),
- mapToItem() for converting positions of the gesture into
- QGraphicsScene and QGraphicsItem coordinate system respectively.
-
- The scene sends the event to the first QGraphicsItem under the
- mouse cursor that accepts gestures; a graphics item is set to accept
- gestures with \l{QGraphicsItem::}{grabGesture()}.
-
- \sa QGestureEvent
-*/
-
-/*!
- Constructs a QGraphicsSceneGestureEvent.
-*/
-QGraphicsSceneGestureEvent::QGraphicsSceneGestureEvent()
- : QGraphicsSceneEvent(QEvent::GraphicsSceneGesture)
-{
- setAccepted(false);
-}
-
-/*!
- Destroys a QGraphicsSceneGestureEvent.
-*/
-QGraphicsSceneGestureEvent::~QGraphicsSceneGestureEvent()
-{
-}
-
-/*!
- Returns true if the gesture event contains gesture of specific \a
- type; returns false otherwise.
-*/
-bool QGraphicsSceneGestureEvent::contains(const QString &type) const
-{
- return gesture(type) != 0;
-}
-
-/*!
- Returns true if the gesture event contains gesture of specific \a
- type; returns false otherwise.
-*/
-bool QGraphicsSceneGestureEvent::contains(Qt::GestureType type) const
-{
- return contains(qt_getStandardGestureTypeName(type));
-}
-
-/*!
- Returns a list of gesture names that this event contains.
-*/
-QList<QString> QGraphicsSceneGestureEvent::gestureTypes() const
-{
- return m_gestures.keys();
-}
-
-/*!
- Returns extended information about a gesture of specific \a type.
-*/
-const QGesture* QGraphicsSceneGestureEvent::gesture(const QString &type) const
-{
- return m_gestures.value(type, 0);
-}
-
-/*!
- Returns extended information about a gesture of specific \a type.
-*/
-const QGesture* QGraphicsSceneGestureEvent::gesture(Qt::GestureType type) const
-{
- return gesture(qt_getStandardGestureTypeName(type));
-}
-
-/*!
- Returns extended information about all gestures in the event.
-*/
-QList<QGesture*> QGraphicsSceneGestureEvent::gestures() const
-{
- return m_gestures.values();
-}
-
-/*!
- Returns a set of gesture names that used to be executed, but were
- cancelled (i.e. they were not finished properly).
-*/
-QSet<QString> QGraphicsSceneGestureEvent::cancelledGestures() const
-{
- return m_cancelledGestures;
-}
-
-/*!
- Sets a list of gesture names \a cancelledGestures that used to be
- executed, but were cancelled (i.e. they were not finished
- properly).
-*/
-void QGraphicsSceneGestureEvent::setCancelledGestures(const QSet<QString> &cancelledGestures)
-{
- m_cancelledGestures = cancelledGestures;
-}
-
-/*!
- Maps the point \a point, which is in a view coordinate system, to
- scene coordinate system, and returns the mapped coordinate.
-
- A \a point is in coordinate system of the widget that received
- gesture event.
-
- \sa mapToItem(), {The Graphics View Coordinate System}
-*/
-QPointF QGraphicsSceneGestureEvent::mapToScene(const QPoint &point) const
-{
- if (QGraphicsView *view = qobject_cast<QGraphicsView*>(widget()))
- return view->mapToScene(point);
- return QPointF();
-}
-
-/*!
- Maps the rectangular \a rect, which is in a view coordinate system, to
- scene coordinate system, and returns the mapped coordinate.
-
- A \a rect is in coordinate system of the widget that received
- gesture event.
-
- \sa mapToItem(), {The Graphics View Coordinate System}
-*/
-QPolygonF QGraphicsSceneGestureEvent::mapToScene(const QRect &rect) const
-{
- if (QGraphicsView *view = qobject_cast<QGraphicsView*>(widget()))
- return view->mapToScene(rect);
- return QPolygonF();
-}
-
-/*!
- Maps the point \a point, which is in a view coordinate system, to
- item's \a item coordinate system, and returns the mapped coordinate.
-
- If \a item is 0, this function returns the same as mapToScene().
-
- \sa mapToScene(), {The Graphics View Coordinate System}
-*/
-QPointF QGraphicsSceneGestureEvent::mapToItem(const QPoint &point, QGraphicsItem *item) const
-{
- if (item) {
- if (QGraphicsView *view = qobject_cast<QGraphicsView*>(widget()))
- return item->mapFromScene(view->mapToScene(point));
- } else {
- return mapToScene(point);
- }
- return QPointF();
-}
-
-/*!
- Maps the rectangualar \a rect, which is in a view coordinate system, to
- item's \a item coordinate system, and returns the mapped coordinate.
-
- If \a item is 0, this function returns the same as mapToScene().
-
- \sa mapToScene(), {The Graphics View Coordinate System}
-*/
-QPolygonF QGraphicsSceneGestureEvent::mapToItem(const QRect &rect, QGraphicsItem *item) const
-{
- if (item) {
- if (QGraphicsView *view = qobject_cast<QGraphicsView*>(widget()))
- return item->mapFromScene(view->mapToScene(rect));
- } else {
- return mapToScene(rect);
- }
- return QPolygonF();
-}
-
-/*!
- Set a list of gesture objects containing extended information about \a gestures.
-*/
-void QGraphicsSceneGestureEvent::setGestures(const QList<QGesture*> &gestures)
-{
- foreach(QGesture *g, gestures)
- m_gestures.insert(g->type(), g);
-}
-
-/*!
- Set a list of gesture objects containing extended information about \a gestures.
-*/
-void QGraphicsSceneGestureEvent::setGestures(const QSet<QGesture*> &gestures)
-{
- foreach(QGesture *g, gestures)
- m_gestures.insert(g->type(), g);
-}
-
-/*!
- Sets the accept flag of the all gestures inside the event object,
- the equivalent of calling \l{QEvent::accept()}{accept()} or
- \l{QEvent::setAccepted()}{setAccepted(true)}.
-
- Setting the accept parameter indicates that the event receiver
- wants the gesture. Unwanted gestures might be propagated to the parent
- widget.
-*/
-void QGraphicsSceneGestureEvent::acceptAll()
-{
- QHash<QString, QGesture*>::iterator it = m_gestures.begin(),
- e = m_gestures.end();
- for(; it != e; ++it)
- it.value()->accept();
- setAccepted(true);
-}
-
-/*!
- Sets the accept flag of the specified gesture inside the event
- object, the equivalent of calling
- \l{QGestureEvent::gesture()}{gesture(type)}->\l{QGesture::accept()}{accept()}
-
- Setting the accept parameter indicates that the event receiver
- wants the gesture. Unwanted gestures might be propagated to the parent
- widget.
-*/
-void QGraphicsSceneGestureEvent::accept(Qt::GestureType type)
-{
- if (QGesture *g = m_gestures.value(qt_getStandardGestureTypeName(type), 0))
- g->accept();
-}
-
-/*!
- Sets the accept flag of the specified gesture inside the event
- object, the equivalent of calling
- \l{QGestureEvent::gesture()}{gesture(type)}->\l{QGesture::accept()}{accept()}
-
- Setting the accept parameter indicates that the event receiver
- wants the gesture. Unwanted gestures might be propagated to the parent
- widget.
-*/
-void QGraphicsSceneGestureEvent::accept(const QString &type)
-{
- if (QGesture *g = m_gestures.value(type, 0))
- g->accept();
-}
-
QT_END_NAMESPACE
#endif // QT_NO_GRAPHICSVIEW
diff --git a/src/gui/graphicsview/qgraphicssceneevent.h b/src/gui/graphicsview/qgraphicssceneevent.h
index 6850b3d..ea17f9d 100644
--- a/src/gui/graphicsview/qgraphicssceneevent.h
+++ b/src/gui/graphicsview/qgraphicssceneevent.h
@@ -76,7 +76,7 @@ public:
protected:
QGraphicsSceneEvent(QGraphicsSceneEventPrivate &dd, Type type = None);
QScopedPointer<QGraphicsSceneEventPrivate> d_ptr;
- Q_DECLARE_SCOPED_PRIVATE(QGraphicsSceneEvent)
+ Q_DECLARE_PRIVATE(QGraphicsSceneEvent)
};
class QGraphicsSceneMouseEventPrivate;
@@ -123,7 +123,7 @@ public:
void setModifiers(Qt::KeyboardModifiers modifiers);
private:
- Q_DECLARE_SCOPED_PRIVATE(QGraphicsSceneMouseEvent)
+ Q_DECLARE_PRIVATE(QGraphicsSceneMouseEvent)
};
class QGraphicsSceneWheelEventPrivate;
@@ -155,7 +155,7 @@ public:
void setOrientation(Qt::Orientation orientation);
private:
- Q_DECLARE_SCOPED_PRIVATE(QGraphicsSceneWheelEvent)
+ Q_DECLARE_PRIVATE(QGraphicsSceneWheelEvent)
};
class QGraphicsSceneContextMenuEventPrivate;
@@ -183,7 +183,7 @@ public:
void setReason(Reason reason);
private:
- Q_DECLARE_SCOPED_PRIVATE(QGraphicsSceneContextMenuEvent)
+ Q_DECLARE_PRIVATE(QGraphicsSceneContextMenuEvent)
};
class QGraphicsSceneHoverEventPrivate;
@@ -215,7 +215,7 @@ public:
void setModifiers(Qt::KeyboardModifiers modifiers);
private:
- Q_DECLARE_SCOPED_PRIVATE(QGraphicsSceneHoverEvent)
+ Q_DECLARE_PRIVATE(QGraphicsSceneHoverEvent)
};
class QGraphicsSceneHelpEventPrivate;
@@ -232,7 +232,7 @@ public:
void setScreenPos(const QPoint &pos);
private:
- Q_DECLARE_SCOPED_PRIVATE(QGraphicsSceneHelpEvent)
+ Q_DECLARE_PRIVATE(QGraphicsSceneHelpEvent)
};
class QGraphicsSceneDragDropEventPrivate;
@@ -274,13 +274,13 @@ public:
void setMimeData(const QMimeData *data);
private:
- Q_DECLARE_SCOPED_PRIVATE(QGraphicsSceneDragDropEvent)
+ Q_DECLARE_PRIVATE(QGraphicsSceneDragDropEvent)
};
class QGraphicsSceneResizeEventPrivate;
class Q_GUI_EXPORT QGraphicsSceneResizeEvent : public QGraphicsSceneEvent
{
- Q_DECLARE_SCOPED_PRIVATE(QGraphicsSceneResizeEvent)
+ Q_DECLARE_PRIVATE(QGraphicsSceneResizeEvent)
public:
QGraphicsSceneResizeEvent();
~QGraphicsSceneResizeEvent();
@@ -295,7 +295,7 @@ public:
class QGraphicsSceneMoveEventPrivate;
class Q_GUI_EXPORT QGraphicsSceneMoveEvent : public QGraphicsSceneEvent
{
- Q_DECLARE_SCOPED_PRIVATE(QGraphicsSceneMoveEvent)
+ Q_DECLARE_PRIVATE(QGraphicsSceneMoveEvent)
public:
QGraphicsSceneMoveEvent();
~QGraphicsSceneMoveEvent();
@@ -307,49 +307,6 @@ public:
void setNewPos(const QPointF &pos);
};
-class QGesture;
-class QGraphicsItem;
-class QGraphicsSceneGestureEventPrivate;
-class Q_GUI_EXPORT QGraphicsSceneGestureEvent : public QGraphicsSceneEvent
-{
- Q_DECLARE_SCOPED_PRIVATE(QGraphicsSceneGestureEvent)
-public:
- QGraphicsSceneGestureEvent();
- ~QGraphicsSceneGestureEvent();
-
- bool contains(const QString &type) const;
- bool contains(Qt::GestureType type) const;
-
- QList<QString> gestureTypes() const;
-
- const QGesture* gesture(Qt::GestureType type) const;
- const QGesture* gesture(const QString &type) const;
- QList<QGesture*> gestures() const;
- void setGestures(const QList<QGesture*> &gestures);
- void setGestures(const QSet<QGesture*> &gestures);
-
- QSet<QString> cancelledGestures() const;
- void setCancelledGestures(const QSet<QString> &cancelledGestures);
-
- void acceptAll();
-#ifndef Q_NO_USING_KEYWORD
- using QEvent::accept;
-#else
- inline void accept() { QEvent::accept(); }
-#endif
- void accept(Qt::GestureType type);
- void accept(const QString &type);
-
- QPointF mapToScene(const QPoint &point) const;
- QPolygonF mapToScene(const QRect &rect) const;
- QPointF mapToItem(const QPoint &point, QGraphicsItem *item) const;
- QPolygonF mapToItem(const QRect &rect, QGraphicsItem *item) const;
-
-protected:
- QHash<QString, QGesture*> m_gestures;
- QSet<QString> m_cancelledGestures;
-};
-
#endif // QT_NO_GRAPHICSVIEW
QT_END_NAMESPACE
diff --git a/src/gui/graphicsview/qgraphicssceneindex.cpp b/src/gui/graphicsview/qgraphicssceneindex.cpp
new file mode 100644
index 0000000..a5dc363
--- /dev/null
+++ b/src/gui/graphicsview/qgraphicssceneindex.cpp
@@ -0,0 +1,648 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtGui module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+/*!
+ \class QGraphicsSceneIndex
+ \brief The QGraphicsSceneIndex class provides a base class to implement
+ a custom indexing algorithm for discovering items in QGraphicsScene.
+ \since 4.6
+ \ingroup multimedia
+ \ingroup graphicsview-api
+ \mainclass
+ \internal
+
+ The QGraphicsSceneIndex class provides a base class to implement
+ a custom indexing algorithm for discovering items in QGraphicsScene. You
+ need to subclass it and reimplement addItem, removeItem, estimateItems
+ and items in order to have an functional indexing.
+
+ \sa QGraphicsScene, QGraphicsView
+*/
+
+#include "qdebug.h"
+#include "qgraphicsscene.h"
+#include "qgraphicsitem_p.h"
+#include "qgraphicsscene_p.h"
+#include "qgraphicswidget.h"
+#include "qgraphicssceneindex_p.h"
+#include "qgraphicsscenebsptreeindex_p.h"
+
+#ifndef QT_NO_GRAPHICSVIEW
+
+QT_BEGIN_NAMESPACE
+
+class QGraphicsSceneIndexRectIntersector : public QGraphicsSceneIndexIntersector
+{
+public:
+ bool intersect(const QGraphicsItem *item, const QRectF &exposeRect, Qt::ItemSelectionMode mode,
+ const QTransform &deviceTransform) const
+ {
+ QRectF brect = item->boundingRect();
+ _q_adjustRect(&brect);
+
+ // ### Add test for this (without making things slower?)
+ Q_UNUSED(exposeRect);
+
+ bool keep = true;
+ const QGraphicsItemPrivate *itemd = QGraphicsItemPrivate::get(item);
+ if (itemd->itemIsUntransformable()) {
+ // Untransformable items; map the scene rect to item coordinates.
+ const QTransform transform = item->deviceTransform(deviceTransform);
+ QRectF itemRect = (deviceTransform * transform.inverted()).mapRect(sceneRect);
+ if (mode == Qt::ContainsItemShape || mode == Qt::ContainsItemBoundingRect)
+ keep = itemRect.contains(brect) && itemRect != brect;
+ else
+ keep = itemRect.intersects(brect);
+ if (keep && (mode == Qt::ContainsItemShape || mode == Qt::IntersectsItemShape)) {
+ QPainterPath itemPath;
+ itemPath.addRect(itemRect);
+ keep = QGraphicsSceneIndexPrivate::itemCollidesWithPath(item, itemPath, mode);
+ }
+ } else {
+ Q_ASSERT(!itemd->dirtySceneTransform);
+ const QRectF itemSceneBoundingRect = itemd->sceneTransformTranslateOnly
+ ? brect.translated(itemd->sceneTransform.dx(),
+ itemd->sceneTransform.dy())
+ : itemd->sceneTransform.mapRect(brect);
+ if (mode == Qt::ContainsItemShape || mode == Qt::ContainsItemBoundingRect)
+ keep = sceneRect != brect && sceneRect.contains(itemSceneBoundingRect);
+ else
+ keep = sceneRect.intersects(itemSceneBoundingRect);
+ if (keep && (mode == Qt::ContainsItemShape || mode == Qt::IntersectsItemShape)) {
+ QPainterPath rectPath;
+ rectPath.addRect(sceneRect);
+ if (itemd->sceneTransformTranslateOnly)
+ rectPath.translate(-itemd->sceneTransform.dx(), -itemd->sceneTransform.dy());
+ else
+ rectPath = itemd->sceneTransform.inverted().map(rectPath);
+ keep = QGraphicsSceneIndexPrivate::itemCollidesWithPath(item, rectPath, mode);
+ }
+ }
+ return keep;
+ }
+
+ QRectF sceneRect;
+};
+
+class QGraphicsSceneIndexPointIntersector : public QGraphicsSceneIndexIntersector
+{
+public:
+ bool intersect(const QGraphicsItem *item, const QRectF &exposeRect, Qt::ItemSelectionMode mode,
+ const QTransform &deviceTransform) const
+ {
+ QRectF brect = item->boundingRect();
+ _q_adjustRect(&brect);
+
+ // ### Add test for this (without making things slower?)
+ Q_UNUSED(exposeRect);
+
+ bool keep = false;
+ const QGraphicsItemPrivate *itemd = QGraphicsItemPrivate::get(item);
+ if (itemd->itemIsUntransformable()) {
+ // Untransformable items; map the scene point to item coordinates.
+ const QTransform transform = item->deviceTransform(deviceTransform);
+ QPointF itemPoint = (deviceTransform * transform.inverted()).map(scenePoint);
+ keep = brect.contains(itemPoint);
+ if (keep && (mode == Qt::ContainsItemShape || mode == Qt::IntersectsItemShape)) {
+ QPainterPath pointPath;
+ pointPath.addRect(QRectF(itemPoint, QSizeF(1, 1)));
+ keep = QGraphicsSceneIndexPrivate::itemCollidesWithPath(item, pointPath, mode);
+ }
+ } else {
+ Q_ASSERT(!itemd->dirtySceneTransform);
+ QRectF sceneBoundingRect = itemd->sceneTransformTranslateOnly
+ ? brect.translated(itemd->sceneTransform.dx(),
+ itemd->sceneTransform.dy())
+ : itemd->sceneTransform.mapRect(brect);
+ keep = sceneBoundingRect.intersects(QRectF(scenePoint, QSizeF(1, 1)));
+ if (keep) {
+ QPointF p = itemd->sceneTransformTranslateOnly
+ ? QPointF(scenePoint.x() - itemd->sceneTransform.dx(),
+ scenePoint.y() - itemd->sceneTransform.dy())
+ : itemd->sceneTransform.inverted().map(scenePoint);
+ keep = item->contains(p);
+ }
+ }
+
+ return keep;
+ }
+
+ QPointF scenePoint;
+};
+
+class QGraphicsSceneIndexPathIntersector : public QGraphicsSceneIndexIntersector
+{
+public:
+ bool intersect(const QGraphicsItem *item, const QRectF &exposeRect, Qt::ItemSelectionMode mode,
+ const QTransform &deviceTransform) const
+ {
+ QRectF brect = item->boundingRect();
+ _q_adjustRect(&brect);
+
+ // ### Add test for this (without making things slower?)
+ Q_UNUSED(exposeRect);
+
+ bool keep = true;
+ const QGraphicsItemPrivate *itemd = QGraphicsItemPrivate::get(item);
+ if (itemd->itemIsUntransformable()) {
+ // Untransformable items; map the scene rect to item coordinates.
+ const QTransform transform = item->deviceTransform(deviceTransform);
+ QPainterPath itemPath = (deviceTransform * transform.inverted()).map(scenePath);
+ if (mode == Qt::ContainsItemShape || mode == Qt::ContainsItemBoundingRect)
+ keep = itemPath.contains(brect);
+ else
+ keep = itemPath.intersects(brect);
+ if (keep && (mode == Qt::ContainsItemShape || mode == Qt::IntersectsItemShape))
+ keep = QGraphicsSceneIndexPrivate::itemCollidesWithPath(item, itemPath, mode);
+ } else {
+ Q_ASSERT(!itemd->dirtySceneTransform);
+ const QRectF itemSceneBoundingRect = itemd->sceneTransformTranslateOnly
+ ? brect.translated(itemd->sceneTransform.dx(),
+ itemd->sceneTransform.dy())
+ : itemd->sceneTransform.mapRect(brect);
+ if (mode == Qt::ContainsItemShape || mode == Qt::ContainsItemBoundingRect)
+ keep = scenePath.contains(itemSceneBoundingRect);
+ else
+ keep = scenePath.intersects(itemSceneBoundingRect);
+ if (keep && (mode == Qt::ContainsItemShape || mode == Qt::IntersectsItemShape)) {
+ QPainterPath itemPath = itemd->sceneTransformTranslateOnly
+ ? scenePath.translated(-itemd->sceneTransform.dx(),
+ -itemd->sceneTransform.dy())
+ : itemd->sceneTransform.inverted().map(scenePath);
+ keep = QGraphicsSceneIndexPrivate::itemCollidesWithPath(item, itemPath, mode);
+ }
+ }
+ return keep;
+ }
+
+ QPainterPath scenePath;
+};
+
+/*!
+ Constructs a private scene index.
+*/
+QGraphicsSceneIndexPrivate::QGraphicsSceneIndexPrivate(QGraphicsScene *scene) : scene(scene)
+{
+ pointIntersector = new QGraphicsSceneIndexPointIntersector;
+ rectIntersector = new QGraphicsSceneIndexRectIntersector;
+ pathIntersector = new QGraphicsSceneIndexPathIntersector;
+}
+
+/*!
+ Destructor of private scene index.
+*/
+QGraphicsSceneIndexPrivate::~QGraphicsSceneIndexPrivate()
+{
+ delete pointIntersector;
+ delete rectIntersector;
+ delete pathIntersector;
+}
+
+/*!
+ \internal
+
+ Checks if item collides with the path and mode, but also checks that if it
+ doesn't collide, maybe its frame rect will.
+*/
+bool QGraphicsSceneIndexPrivate::itemCollidesWithPath(const QGraphicsItem *item,
+ const QPainterPath &path,
+ Qt::ItemSelectionMode mode)
+{
+ if (item->collidesWithPath(path, mode))
+ return true;
+ if (item->isWidget()) {
+ // Check if this is a window, and if its frame rect collides.
+ const QGraphicsWidget *widget = static_cast<const QGraphicsWidget *>(item);
+ if (widget->isWindow()) {
+ QRectF frameRect = widget->windowFrameRect();
+ QPainterPath framePath;
+ framePath.addRect(frameRect);
+ bool intersects = path.intersects(frameRect);
+ if (mode == Qt::IntersectsItemShape || mode == Qt::IntersectsItemBoundingRect)
+ return intersects || path.contains(frameRect.topLeft())
+ || framePath.contains(path.elementAt(0));
+ return !intersects && path.contains(frameRect.topLeft());
+ }
+ }
+ return false;
+}
+
+/*!
+ \internal
+*/
+void QGraphicsSceneIndexPrivate::recursive_items_helper(QGraphicsItem *item, QRectF exposeRect,
+ QGraphicsSceneIndexIntersector *intersector,
+ QList<QGraphicsItem *> *items,
+ const QTransform &viewTransform,
+ Qt::ItemSelectionMode mode, Qt::SortOrder order,
+ qreal parentOpacity) const
+{
+ Q_ASSERT(item);
+ if (!item->d_ptr->visible)
+ return;
+
+ const qreal opacity = item->d_ptr->combineOpacityFromParent(parentOpacity);
+ const bool itemIsFullyTransparent = (opacity < 0.0001);
+ const bool itemHasChildren = !item->d_ptr->children.isEmpty();
+ if (itemIsFullyTransparent && (!itemHasChildren || item->d_ptr->childrenCombineOpacity()))
+ return;
+
+ // Update the item's scene transform if dirty.
+ const bool itemIsUntransformable = item->d_ptr->itemIsUntransformable();
+ const bool wasDirtyParentSceneTransform = item->d_ptr->dirtySceneTransform && !itemIsUntransformable;
+ if (wasDirtyParentSceneTransform) {
+ item->d_ptr->updateSceneTransformFromParent();
+ Q_ASSERT(!item->d_ptr->dirtySceneTransform);
+ }
+
+ const bool itemClipsChildrenToShape = (item->d_ptr->flags & QGraphicsItem::ItemClipsChildrenToShape);
+ bool processItem = !itemIsFullyTransparent;
+ if (processItem) {
+ processItem = intersector->intersect(item, exposeRect, mode, viewTransform);
+ if (!processItem && (!itemHasChildren || itemClipsChildrenToShape)) {
+ if (wasDirtyParentSceneTransform)
+ item->d_ptr->invalidateChildrenSceneTransform();
+ return;
+ }
+ } // else we know for sure this item has children we must process.
+
+ int i = 0;
+ if (itemHasChildren) {
+ // Sort children.
+ item->d_ptr->ensureSortedChildren();
+
+ // Clip to shape.
+ if (itemClipsChildrenToShape && !itemIsUntransformable) {
+ QPainterPath mappedShape = item->d_ptr->sceneTransformTranslateOnly
+ ? item->shape().translated(item->d_ptr->sceneTransform.dx(),
+ item->d_ptr->sceneTransform.dy())
+ : item->d_ptr->sceneTransform.map(item->shape());
+ exposeRect &= mappedShape.controlPointRect();
+ }
+
+ // Process children behind
+ for (i = 0; i < item->d_ptr->children.size(); ++i) {
+ QGraphicsItem *child = item->d_ptr->children.at(i);
+ if (wasDirtyParentSceneTransform)
+ child->d_ptr->dirtySceneTransform = 1;
+ if (!(child->d_ptr->flags & QGraphicsItem::ItemStacksBehindParent))
+ break;
+ if (itemIsFullyTransparent && !(child->d_ptr->flags & QGraphicsItem::ItemIgnoresParentOpacity))
+ continue;
+ recursive_items_helper(child, exposeRect, intersector, items, viewTransform,
+ mode, order, opacity);
+ }
+ }
+
+ // Process item
+ if (processItem)
+ items->append(item);
+
+ // Process children in front
+ if (itemHasChildren) {
+ for (; i < item->d_ptr->children.size(); ++i) {
+ QGraphicsItem *child = item->d_ptr->children.at(i);
+ if (wasDirtyParentSceneTransform)
+ child->d_ptr->dirtySceneTransform = 1;
+ if (itemIsFullyTransparent && !(child->d_ptr->flags & QGraphicsItem::ItemIgnoresParentOpacity))
+ continue;
+ recursive_items_helper(child, exposeRect, intersector, items, viewTransform,
+ mode, order, opacity);
+ }
+ }
+}
+
+void QGraphicsSceneIndexPrivate::init()
+{
+ if (!scene)
+ return;
+
+ QObject::connect(scene, SIGNAL(sceneRectChanged(const QRectF&)),
+ q_func(), SLOT(updateSceneRect(const QRectF&)));
+}
+
+/*!
+ Constructs an abstract scene index for a given \a scene.
+*/
+QGraphicsSceneIndex::QGraphicsSceneIndex(QGraphicsScene *scene)
+: QObject(*new QGraphicsSceneIndexPrivate(scene), scene)
+{
+ d_func()->init();
+}
+
+/*!
+ \internal
+*/
+QGraphicsSceneIndex::QGraphicsSceneIndex(QGraphicsSceneIndexPrivate &dd, QGraphicsScene *scene)
+ : QObject(dd, scene)
+{
+ d_func()->init();
+}
+
+/*!
+ Destroys the scene index.
+*/
+QGraphicsSceneIndex::~QGraphicsSceneIndex()
+{
+
+}
+
+/*!
+ Returns the scene of this index.
+*/
+QGraphicsScene* QGraphicsSceneIndex::scene() const
+{
+ Q_D(const QGraphicsSceneIndex);
+ return d->scene;
+}
+
+/*!
+ \fn QList<QGraphicsItem *> QGraphicsSceneIndex::items(const QPointF &pos,
+ Qt::ItemSelectionMode mode, Qt::SortOrder order, const QTransform
+ &deviceTransform) const
+
+ Returns all visible items that, depending on \a mode, are at the specified
+ \a pos and return a list sorted using \a order.
+
+ The default value for \a mode is Qt::IntersectsItemShape; all items whose
+ exact shape intersects with \a pos are returned.
+
+ \a deviceTransform is the transformation apply to the view.
+
+ This method use the estimation of the index (estimateItems) and refine the
+ list to get an exact result. If you want to implement your own refinement
+ algorithm you can reimplement this method.
+
+ \sa estimateItems()
+
+*/
+QList<QGraphicsItem *> QGraphicsSceneIndex::items(const QPointF &pos, Qt::ItemSelectionMode mode,
+ Qt::SortOrder order, const QTransform &deviceTransform) const
+{
+
+ Q_D(const QGraphicsSceneIndex);
+ QList<QGraphicsItem *> itemList;
+ d->pointIntersector->scenePoint = pos;
+ d->items_helper(QRectF(pos, QSizeF(1, 1)), d->pointIntersector, &itemList, deviceTransform, mode, order);
+ return itemList;
+}
+
+/*!
+ \fn QList<QGraphicsItem *> QGraphicsSceneIndex::items(const QRectF &rect,
+ Qt::ItemSelectionMode mode, Qt::SortOrder order, const QTransform
+ &deviceTransform) const
+
+ \overload
+
+ Returns all visible items that, depending on \a mode, are either inside or
+ intersect with the specified \a rect and return a list sorted using \a order.
+
+ The default value for \a mode is Qt::IntersectsItemShape; all items whose
+ exact shape intersects with or is contained by \a rect are returned.
+
+ \a deviceTransform is the transformation apply to the view.
+
+ This method use the estimation of the index (estimateItems) and refine
+ the list to get an exact result. If you want to implement your own
+ refinement algorithm you can reimplement this method.
+
+ \sa estimateItems()
+
+*/
+QList<QGraphicsItem *> QGraphicsSceneIndex::items(const QRectF &rect, Qt::ItemSelectionMode mode,
+ Qt::SortOrder order, const QTransform &deviceTransform) const
+{
+ Q_D(const QGraphicsSceneIndex);
+ QRectF exposeRect = rect;
+ _q_adjustRect(&exposeRect);
+ QList<QGraphicsItem *> itemList;
+ d->rectIntersector->sceneRect = rect;
+ d->items_helper(exposeRect, d->rectIntersector, &itemList, deviceTransform, mode, order);
+ return itemList;
+}
+
+/*!
+ \fn QList<QGraphicsItem *> QGraphicsSceneIndex::items(const QPolygonF
+ &polygon, Qt::ItemSelectionMode mode, Qt::SortOrder order, const
+ QTransform &deviceTransform) const
+
+ \overload
+
+ Returns all visible items that, depending on \a mode, are either inside or
+ intersect with the specified \a polygon and return a list sorted using \a order.
+
+ The default value for \a mode is Qt::IntersectsItemShape; all items whose
+ exact shape intersects with or is contained by \a polygon are returned.
+
+ \a deviceTransform is the transformation apply to the view.
+
+ This method use the estimation of the index (estimateItems) and refine
+ the list to get an exact result. If you want to implement your own
+ refinement algorithm you can reimplement this method.
+
+ \sa estimateItems()
+
+*/
+QList<QGraphicsItem *> QGraphicsSceneIndex::items(const QPolygonF &polygon, Qt::ItemSelectionMode mode,
+ Qt::SortOrder order, const QTransform &deviceTransform) const
+{
+ Q_D(const QGraphicsSceneIndex);
+ QList<QGraphicsItem *> itemList;
+ QRectF exposeRect = polygon.boundingRect();
+ _q_adjustRect(&exposeRect);
+ QPainterPath path;
+ path.addPolygon(polygon);
+ d->pathIntersector->scenePath = path;
+ d->items_helper(exposeRect, d->pathIntersector, &itemList, deviceTransform, mode, order);
+ return itemList;
+}
+
+/*!
+ \fn QList<QGraphicsItem *> QGraphicsSceneIndex::items(const QPainterPath
+ &path, Qt::ItemSelectionMode mode, Qt::SortOrder order, const QTransform
+ &deviceTransform) const
+
+ \overload
+
+ Returns all visible items that, depending on \a mode, are either inside or
+ intersect with the specified \a path and return a list sorted using \a order.
+
+ The default value for \a mode is Qt::IntersectsItemShape; all items whose
+ exact shape intersects with or is contained by \a path are returned.
+
+ \a deviceTransform is the transformation apply to the view.
+
+ This method use the estimation of the index (estimateItems) and refine
+ the list to get an exact result. If you want to implement your own
+ refinement algorithm you can reimplement this method.
+
+ \sa estimateItems()
+
+*/
+QList<QGraphicsItem *> QGraphicsSceneIndex::items(const QPainterPath &path, Qt::ItemSelectionMode mode,
+ Qt::SortOrder order, const QTransform &deviceTransform) const
+{
+ Q_D(const QGraphicsSceneIndex);
+ QList<QGraphicsItem *> itemList;
+ QRectF exposeRect = path.controlPointRect();
+ _q_adjustRect(&exposeRect);
+ d->pathIntersector->scenePath = path;
+ d->items_helper(exposeRect, d->pathIntersector, &itemList, deviceTransform, mode, order);
+ return itemList;
+}
+
+/*!
+ This virtual function return an estimation of items at position \a point.
+ This method return a list sorted using \a order.
+*/
+QList<QGraphicsItem *> QGraphicsSceneIndex::estimateItems(const QPointF &point, Qt::SortOrder order) const
+{
+ return estimateItems(QRectF(point, QSize(1, 1)), order);
+}
+
+QList<QGraphicsItem *> QGraphicsSceneIndex::estimateTopLevelItems(const QRectF &rect, Qt::SortOrder order) const
+{
+ Q_D(const QGraphicsSceneIndex);
+ Q_UNUSED(rect);
+ QGraphicsScenePrivate *scened = d->scene->d_func();
+ scened->ensureSortedTopLevelItems();
+ if (order == Qt::AscendingOrder) {
+ QList<QGraphicsItem *> sorted;
+ for (int i = scened->topLevelItems.size() - 1; i >= 0; --i)
+ sorted << scened->topLevelItems.at(i);
+ return sorted;
+ }
+ return scened->topLevelItems;
+}
+
+/*!
+ \fn QList<QGraphicsItem *> QGraphicsSceneIndex::items(Qt::SortOrder order = Qt::AscendingOrder) const
+
+ This pure virtual function all items in the index and sort them using
+ \a order.
+*/
+
+
+/*!
+ Notifies the index that the scene's scene rect has changed. \a rect
+ is thew new scene rect.
+
+ \sa QGraphicsScene::sceneRect()
+*/
+void QGraphicsSceneIndex::updateSceneRect(const QRectF &rect)
+{
+ Q_UNUSED(rect);
+}
+
+/*!
+ This virtual function removes all items in the scene index.
+*/
+void QGraphicsSceneIndex::clear()
+{
+ const QList<QGraphicsItem *> allItems = items();
+ for (int i = 0 ; i < allItems.size(); ++i)
+ removeItem(allItems.at(i));
+}
+
+/*!
+ \fn virtual void QGraphicsSceneIndex::addItem(QGraphicsItem *item) = 0
+
+ This pure virtual function inserts an \a item to the scene index.
+
+ \sa removeItem(), deleteItem()
+*/
+
+/*!
+ \fn virtual void QGraphicsSceneIndex::removeItem(QGraphicsItem *item) = 0
+
+ This pure virtual function removes an \a item to the scene index.
+
+ \sa addItem(), deleteItem()
+*/
+
+/*!
+ This method is called when an \a item has been deleted.
+ The default implementation call removeItem. Be carefull,
+ if your implementation of removeItem use pure virtual method
+ of QGraphicsItem like boundingRect(), then you should reimplement
+ this method.
+
+ \sa addItem(), removeItem()
+*/
+void QGraphicsSceneIndex::deleteItem(QGraphicsItem *item)
+{
+ removeItem(item);
+}
+
+/*!
+ This virtual function is called by QGraphicsItem to notify the index
+ that some part of the \a item 's state changes. By reimplementing this
+ function, your can react to a change, and in some cases, (depending on \a
+ change,) adjustments in the index can be made.
+
+ \a change is the parameter of the item that is changing. \a value is the
+ value that changed; the type of the value depends on \a change.
+
+ The default implementation does nothing.
+
+ \sa QGraphicsItem::GraphicsItemChange
+*/
+void QGraphicsSceneIndex::itemChange(const QGraphicsItem *item, QGraphicsItem::GraphicsItemChange change, const QVariant &value)
+{
+ Q_UNUSED(item);
+ Q_UNUSED(change);
+ Q_UNUSED(value);
+}
+
+/*!
+ Notify the index for a geometry change of an \a item.
+
+ \sa QGraphicsItem::prepareGeometryChange()
+*/
+void QGraphicsSceneIndex::prepareBoundingRectChange(const QGraphicsItem *item)
+{
+ Q_UNUSED(item);
+}
+
+QT_END_NAMESPACE
+
+#include "moc_qgraphicssceneindex_p.cpp"
+
+#endif // QT_NO_GRAPHICSVIEW
diff --git a/src/gui/graphicsview/qgraphicssceneindex_p.h b/src/gui/graphicsview/qgraphicssceneindex_p.h
new file mode 100644
index 0000000..37dffb8
--- /dev/null
+++ b/src/gui/graphicsview/qgraphicssceneindex_p.h
@@ -0,0 +1,182 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtCore module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QGRAPHICSSCENEINDEX_H
+#define QGRAPHICSSCENEINDEX_H
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists for the convenience
+// of qapplication_*.cpp, qwidget*.cpp and qfiledialog.cpp. This header
+// file may change from version to version without notice, or even be removed.
+//
+// We mean it.
+//
+
+#include "qgraphicsscene_p.h"
+#include "qgraphicsscene.h"
+#include <private/qobject_p.h>
+
+#include <QtCore/qnamespace.h>
+#include <QtCore/qobject.h>
+#include <QtGui/qtransform.h>
+
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+QT_MODULE(Gui)
+
+#if !defined(QT_NO_GRAPHICSVIEW) || (QT_EDITION & QT_MODULE_GRAPHICSVIEW) != QT_MODULE_GRAPHICSVIEW
+
+class QGraphicsSceneIndexIntersector;
+class QGraphicsSceneIndexPointIntersector;
+class QGraphicsSceneIndexRectIntersector;
+class QGraphicsSceneIndexPathIntersector;
+class QGraphicsSceneIndexPrivate;
+class QPointF;
+class QRectF;
+template<typename T> class QList;
+
+class Q_AUTOTEST_EXPORT QGraphicsSceneIndex : public QObject
+{
+ Q_OBJECT
+
+public:
+ QGraphicsSceneIndex(QGraphicsScene *scene = 0);
+ virtual ~QGraphicsSceneIndex();
+
+ QGraphicsScene *scene() const;
+
+ virtual QList<QGraphicsItem *> items(Qt::SortOrder order = Qt::AscendingOrder) const = 0;
+ virtual QList<QGraphicsItem *> items(const QPointF &pos, Qt::ItemSelectionMode mode,
+ Qt::SortOrder order, const QTransform &deviceTransform = QTransform()) const;
+ virtual QList<QGraphicsItem *> items(const QRectF &rect, Qt::ItemSelectionMode mode,
+ Qt::SortOrder order, const QTransform &deviceTransform = QTransform()) const;
+ virtual QList<QGraphicsItem *> items(const QPolygonF &polygon, Qt::ItemSelectionMode mode,
+ Qt::SortOrder order, const QTransform &deviceTransform = QTransform()) const;
+ virtual QList<QGraphicsItem *> items(const QPainterPath &path, Qt::ItemSelectionMode mode,
+ Qt::SortOrder order, const QTransform &deviceTransform = QTransform()) const;
+ virtual QList<QGraphicsItem *> estimateItems(const QPointF &point, Qt::SortOrder order) const;
+ virtual QList<QGraphicsItem *> estimateItems(const QRectF &rect, Qt::SortOrder order) const = 0;
+ virtual QList<QGraphicsItem *> estimateTopLevelItems(const QRectF &, Qt::SortOrder order) const;
+
+protected Q_SLOTS:
+ virtual void updateSceneRect(const QRectF &rect);
+
+protected:
+ virtual void clear();
+ virtual void addItem(QGraphicsItem *item) = 0;
+ virtual void removeItem(QGraphicsItem *item) = 0;
+ virtual void deleteItem(QGraphicsItem *item);
+
+ virtual void itemChange(const QGraphicsItem *item, QGraphicsItem::GraphicsItemChange, const QVariant &value);
+ virtual void prepareBoundingRectChange(const QGraphicsItem *item);
+
+ QGraphicsSceneIndex(QGraphicsSceneIndexPrivate &dd, QGraphicsScene *scene);
+
+ friend class QGraphicsScene;
+ friend class QGraphicsScenePrivate;
+ friend class QGraphicsItem;
+ friend class QGraphicsItemPrivate;
+ friend class QGraphicsSceneBspTreeIndex;
+private:
+ Q_DISABLE_COPY(QGraphicsSceneIndex)
+ Q_DECLARE_PRIVATE(QGraphicsSceneIndex)
+};
+
+class QGraphicsSceneIndexPrivate : public QObjectPrivate
+{
+ Q_DECLARE_PUBLIC(QGraphicsSceneIndex)
+public:
+ QGraphicsSceneIndexPrivate(QGraphicsScene *scene);
+ ~QGraphicsSceneIndexPrivate();
+
+ void init();
+ static bool itemCollidesWithPath(const QGraphicsItem *item, const QPainterPath &path, Qt::ItemSelectionMode mode);
+
+ void recursive_items_helper(QGraphicsItem *item, QRectF exposeRect,
+ QGraphicsSceneIndexIntersector *intersector, QList<QGraphicsItem *> *items,
+ const QTransform &viewTransform,
+ Qt::ItemSelectionMode mode, Qt::SortOrder order, qreal parentOpacity = 1.0) const;
+ inline void items_helper(const QRectF &rect, QGraphicsSceneIndexIntersector *intersector,
+ QList<QGraphicsItem *> *items, const QTransform &viewTransform,
+ Qt::ItemSelectionMode mode, Qt::SortOrder order) const;
+
+ QGraphicsScene *scene;
+ QGraphicsSceneIndexPointIntersector *pointIntersector;
+ QGraphicsSceneIndexRectIntersector *rectIntersector;
+ QGraphicsSceneIndexPathIntersector *pathIntersector;
+};
+
+inline void QGraphicsSceneIndexPrivate::items_helper(const QRectF &rect, QGraphicsSceneIndexIntersector *intersector,
+ QList<QGraphicsItem *> *items, const QTransform &viewTransform,
+ Qt::ItemSelectionMode mode, Qt::SortOrder order) const
+{
+ Q_Q(const QGraphicsSceneIndex);
+ const QList<QGraphicsItem *> tli = q->estimateTopLevelItems(rect, Qt::DescendingOrder);
+ for (int i = 0; i < tli.size(); ++i)
+ recursive_items_helper(tli.at(i), rect, intersector, items, viewTransform, mode, order);
+ if (order == Qt::AscendingOrder) {
+ const int n = items->size();
+ for (int i = 0; i < n / 2; ++i)
+ items->swap(i, n - i - 1);
+ }
+}
+
+class QGraphicsSceneIndexIntersector
+{
+public:
+ QGraphicsSceneIndexIntersector() { }
+ virtual ~QGraphicsSceneIndexIntersector() { }
+ virtual bool intersect(const QGraphicsItem *item, const QRectF &exposeRect, Qt::ItemSelectionMode mode,
+ const QTransform &deviceTransform) const = 0;
+};
+
+#endif // QT_NO_GRAPHICSVIEW
+
+QT_END_NAMESPACE
+
+QT_END_HEADER
+
+#endif // QGRAPHICSSCENEINDEX_H
diff --git a/src/gui/graphicsview/qgraphicsscenelinearindex.cpp b/src/gui/graphicsview/qgraphicsscenelinearindex.cpp
new file mode 100644
index 0000000..52bbc79
--- /dev/null
+++ b/src/gui/graphicsview/qgraphicsscenelinearindex.cpp
@@ -0,0 +1,95 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtGui module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+ \class QGraphicsSceneLinearIndex
+ \brief The QGraphicsSceneLinearIndex class provides an implementation of
+ a linear indexing algorithm for discovering items in QGraphicsScene.
+ \since 4.6
+ \ingroup graphicsview-api
+ \internal
+
+ QGraphicsSceneLinearIndex index is default linear implementation to discover items.
+ It basically store all items in a list and return them to the scene.
+
+ \sa QGraphicsScene, QGraphicsView, QGraphicsSceneIndex, QGraphicsSceneBspTreeIndex
+*/
+
+#include <private/qgraphicsscenelinearindex_p.h>
+
+/*!
+ \fn QGraphicsSceneLinearIndex::QGraphicsSceneLinearIndex(QGraphicsScene *scene = 0):
+
+ Construct a linear index for the given \a scene.
+*/
+
+/*!
+ \fn QList<QGraphicsItem *> QGraphicsSceneLinearIndex::items(Qt::SortOrder order = Qt::AscendingOrder) const;
+
+ Return all items in the index and sort them using \a order.
+*/
+
+
+/*!
+ \fn virtual QList<QGraphicsItem *> QGraphicsSceneLinearIndex::estimateItems(const QRectF &rect, Qt::SortOrder order) const
+
+ Returns an estimation visible items that are either inside or
+ intersect with the specified \a rect and return a list sorted using \a order.
+*/
+
+/*!
+ \fn void QGraphicsSceneLinearIndex::clear()
+ \internal
+ Clear the all the BSP index.
+*/
+
+/*!
+ \fn virtual void QGraphicsSceneLinearIndex::addItem(QGraphicsItem *item)
+
+ Add the \a item into the index.
+*/
+
+/*!
+ \fn virtual void QGraphicsSceneLinearIndex::removeItem(QGraphicsItem *item)
+
+ Add the \a item from the index.
+*/
+
diff --git a/src/gui/graphicsview/qgraphicsscenelinearindex_p.h b/src/gui/graphicsview/qgraphicsscenelinearindex_p.h
new file mode 100644
index 0000000..1f3d58b
--- /dev/null
+++ b/src/gui/graphicsview/qgraphicsscenelinearindex_p.h
@@ -0,0 +1,109 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtCore module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QGRAPHICSSCENELINEARINDEX_H
+#define QGRAPHICSSCENELINEARINDEX_H
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists for the convenience
+// of other Qt classes. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
+#include <QtCore/qglobal.h>
+
+#if !defined(QT_NO_GRAPHICSVIEW) || (QT_EDITION & QT_MODULE_GRAPHICSVIEW) != QT_MODULE_GRAPHICSVIEW
+
+#include <QtCore/qrect.h>
+#include <QtCore/qlist.h>
+#include <QtGui/qgraphicsitem.h>
+#include <private/qgraphicssceneindex_p.h>
+
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+QT_MODULE(Gui)
+
+class Q_AUTOTEST_EXPORT QGraphicsSceneLinearIndex : public QGraphicsSceneIndex
+{
+ Q_OBJECT
+
+public:
+ QGraphicsSceneLinearIndex(QGraphicsScene *scene = 0) : QGraphicsSceneIndex(scene)
+ { }
+
+ QList<QGraphicsItem *> items(Qt::SortOrder order = Qt::AscendingOrder) const
+ { Q_UNUSED(order); return m_items; }
+
+ virtual QList<QGraphicsItem *> estimateItems(const QRectF &rect, Qt::SortOrder order) const
+ {
+ Q_UNUSED(rect);
+ Q_UNUSED(order);
+ return m_items;
+ }
+
+protected :
+ virtual void clear()
+ { m_items.clear(); }
+
+ virtual void addItem(QGraphicsItem *item)
+ { m_items << item; }
+
+ virtual void removeItem(QGraphicsItem *item)
+ { m_items.removeOne(item); }
+
+private:
+ QList<QGraphicsItem*> m_items;
+};
+
+#endif // QT_NO_GRAPHICSVIEW
+
+QT_END_NAMESPACE
+
+QT_END_HEADER
+
+#endif // QGRAPHICSSCENELINEARINDEX_H
diff --git a/src/gui/graphicsview/qgraphicstransform.cpp b/src/gui/graphicsview/qgraphicstransform.cpp
new file mode 100644
index 0000000..9e73176
--- /dev/null
+++ b/src/gui/graphicsview/qgraphicstransform.cpp
@@ -0,0 +1,573 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+ \class QGraphicsTransform
+ \brief The QGraphicsTransform class is an abstract base class for building
+ advanced transformations on QGraphicsItems.
+ \since 4.6
+
+ As an alternative to QGraphicsItem::transform, QGraphicsTransform lets you
+ create and control advanced transformations that can be configured
+ independently using specialized properties.
+
+ QGraphicsItem allows you to assign any number of QGraphicsTransform
+ instances to one QGraphicsItem. Each QGraphicsTransform is applied in
+ order, one at a time, to the QGraphicsItem it's assigned to.
+
+ QGraphicsTransform is particularily useful for animations. Whereas
+ QGraphicsItem::setTransform() lets you assign any transform directly to an
+ item, there is no direct way to interpolate between two different
+ transformations (e.g., when transitioning between two states, each for
+ which the item has a different arbitrary transform assigned). Using
+ QGraphicsTransform you can interpolate the property values of each
+ independent transformation. The resulting operation is then combined into a
+ single transform which is applied to QGraphicsItem.
+
+ If you want to create your own configurable transformation, you can create
+ a subclass of QGraphicsTransform (or any or the existing subclasses), and
+ reimplement the pure virtual applyTo() function, which takes a pointer to a
+ QTransform. Each operation you would like to apply should be exposed as
+ properties (e.g., customTransform->setVerticalShear(2.5)). Inside you
+ reimplementation of applyTo(), you can modify the provided transform
+ respectively.
+
+ QGraphicsTransform can be used together with QGraphicsItem::setTransform(),
+ QGraphicsItem::setRotation(), and QGraphicsItem::setScale().
+
+ \sa QGraphicsItem::transform(), QGraphicsScale, QGraphicsRotation, QGraphicsRotation3D
+*/
+
+#include "qgraphicstransform.h"
+#include "qgraphicsitem_p.h"
+#include "qgraphicstransform_p.h"
+#include <QDebug>
+
+#include <math.h>
+#ifndef M_PI
+#define M_PI 3.14159265358979323846
+#endif
+
+QT_BEGIN_NAMESPACE
+
+void QGraphicsTransformPrivate::setItem(QGraphicsItem *i)
+{
+ if (item == i)
+ return;
+
+ if (item) {
+ Q_Q(QGraphicsTransform);
+ QGraphicsItemPrivate *d_ptr = item->d_ptr.data();
+
+ item->prepareGeometryChange();
+ Q_ASSERT(d_ptr->transformData);
+ d_ptr->transformData->graphicsTransforms.removeAll(q);
+ d_ptr->dirtySceneTransform = 1;
+ item = 0;
+ }
+
+ item = i;
+}
+
+void QGraphicsTransformPrivate::updateItem(QGraphicsItem *item)
+{
+ item->prepareGeometryChange();
+ item->d_ptr->dirtySceneTransform = 1;
+}
+
+/*!
+ Constructs a new QGraphicsTransform with the given \a parent.
+*/
+QGraphicsTransform::QGraphicsTransform(QObject *parent)
+ : QObject(*new QGraphicsTransformPrivate, parent)
+{
+}
+
+/*!
+ Destroys the graphics transform.
+*/
+QGraphicsTransform::~QGraphicsTransform()
+{
+ Q_D(QGraphicsTransform);
+ d->setItem(0);
+}
+
+/*!
+ \internal
+*/
+QGraphicsTransform::QGraphicsTransform(QGraphicsTransformPrivate &p, QObject *parent)
+ : QObject(p, parent)
+{
+}
+
+/*!
+ Applies this transformation to an identity transform, and returns the
+ resulting transform.
+
+ This is equivalent to passing an identity transform to applyTo().
+
+ \sa applyTo()
+*/
+QTransform QGraphicsTransform::transform() const
+{
+ QTransform t;
+ applyTo(&t);
+ return t;
+}
+
+/*!
+ \fn void QGraphicsTransform::applyTo(QTransform *transform) const
+
+ This pure virtual method has to be reimplemented in derived classes.
+
+ It applies this transformation to \a transform.
+
+ \sa QGraphicsItem::transform()
+*/
+
+/*!
+ Notifies that this transform operation has changed its parameters in such a
+ way that applyTo() will return a different result than before.
+
+ When implementing you own custom graphics transform, you must call this
+ function every time you change a parameter, to let QGraphicsItem know that
+ its transformation needs to be updated.
+
+ \sa applyTo()
+*/
+void QGraphicsTransform::update()
+{
+ Q_D(QGraphicsTransform);
+ if (d->item)
+ d->updateItem(d->item);
+}
+
+/*!
+ \class QGraphicsScale
+ \brief The QGraphicsScale class provides a scale transformation.
+ \since 4.6
+
+ QGraphicsScene provides certain parameters to help control how the scale
+ should be applied.
+
+ The origin is the point that the item is scaled from (i.e., it stays fixed
+ relative to the parent as the rest of the item grows). By default the
+ origin is QPointF(0, 0).
+
+ The two parameters xScale and yScale describe the scale factors to apply in
+ horizontal and vertical direction. They can take on any value, including 0
+ (to collapse the item to a point) or negativate value. A negative xScale
+ value will mirror the item horizontally. A negative yScale value will flip
+ the item vertically.
+
+ \sa QGraphicsTransform, QGraphicsItem::setScale(), QTransform::scale()
+*/
+
+class QGraphicsScalePrivate : public QGraphicsTransformPrivate
+{
+public:
+ QGraphicsScalePrivate()
+ : xScale(1), yScale(1) {}
+ QPointF origin;
+ qreal xScale;
+ qreal yScale;
+};
+
+/*!
+ Constructs an empty QGraphicsScale object with the given \a parent.
+*/
+QGraphicsScale::QGraphicsScale(QObject *parent)
+ : QGraphicsTransform(*new QGraphicsScalePrivate, parent)
+{
+}
+
+/*!
+ Destroys the graphics scale.
+*/
+QGraphicsScale::~QGraphicsScale()
+{
+}
+
+/*!
+ \property QGraphicsScale::origin
+ \brief The QGraphicsScene class provides the origin of the scale.
+
+ All scaling will be done relative to this point (i.e., this point
+ will stay fixed, relative to the parent, when the item is scaled).
+
+ \sa xScale, yScale
+*/
+QPointF QGraphicsScale::origin() const
+{
+ Q_D(const QGraphicsScale);
+ return d->origin;
+}
+void QGraphicsScale::setOrigin(const QPointF &point)
+{
+ Q_D(QGraphicsScale);
+ d->origin = point;
+ update();
+ emit originChanged();
+}
+
+/*!
+ \property QGraphicsScale::xScale
+ \brief the horizontal scale factor.
+
+ The scale factor can be any real number; the default value is 1.0. If you
+ set the factor to 0.0, the item will be collapsed to a single point. If you
+ provide a negative value, the item will be mirrored horizontally around its
+ origin.
+
+ \sa yScale, origin
+*/
+qreal QGraphicsScale::xScale() const
+{
+ Q_D(const QGraphicsScale);
+ return d->xScale;
+}
+void QGraphicsScale::setXScale(qreal scale)
+{
+ Q_D(QGraphicsScale);
+ if (d->xScale == scale)
+ return;
+ d->xScale = scale;
+ update();
+ emit scaleChanged();
+}
+
+/*!
+ \property QGraphicsScale::yScale
+ \brief the vertical scale factor.
+
+ The scale factor can be any real number; the default value is 1.0. If you
+ set the factor to 0.0, the item will be collapsed to a single point. If you
+ provide a negative value, the item will be flipped vertically around its
+ origin.
+
+ \sa xScale, origin
+*/
+qreal QGraphicsScale::yScale() const
+{
+ Q_D(const QGraphicsScale);
+ return d->yScale;
+}
+void QGraphicsScale::setYScale(qreal scale)
+{
+ Q_D(QGraphicsScale);
+ if (d->yScale == scale)
+ return;
+ d->yScale = scale;
+ update();
+ emit scaleChanged();
+}
+
+/*!
+ \reimp
+*/
+void QGraphicsScale::applyTo(QTransform *transform) const
+{
+ Q_D(const QGraphicsScale);
+ transform->translate(d->origin.x(), d->origin.y());
+ transform->scale(d->xScale, d->yScale);
+ transform->translate(-d->origin.x(), -d->origin.y());
+}
+
+/*!
+ \fn QGraphicsScale::originChanged()
+
+ QGraphicsScale emits this signal when its origin changes.
+
+ \sa QGraphicsScale::origin
+*/
+
+/*!
+ \fn QGraphicsScale::scaleChanged()
+
+ This signal is emitted whenever the xScale or yScale of the object
+ changes.
+
+ \sa QGraphicsScale::xScale, QGraphicsScale::yScale
+*/
+
+/*!
+ \class QGraphicsRotation
+ \brief The QGraphicsRotation class provides a rotation transformation.
+ \since 4.6
+
+ QGraphicsRotation provides certain parameters to help control how the
+ rotation should be applied.
+
+ The origin is the point that the item is rotated around (i.e., it stays
+ fixed relative to the parent as the rest of the item is rotated). By
+ default the origin is QPointF(0, 0).
+
+ The angle property provides the number of degrees to rotate the item
+ clockwise around the origin. This value also be negative, indicating a
+ counter-clockwise rotation. For animation purposes it may also be useful to
+ provide rotation angles exceeding (-360, 360) degrees, for instance to
+ animate how an item rotates several times.
+
+ \sa QGraphicsTransform, QGraphicsItem::setRotation(), QTransform::rotate()
+*/
+
+class QGraphicsRotationPrivate : public QGraphicsTransformPrivate
+{
+public:
+ QGraphicsRotationPrivate()
+ : angle(0) {}
+ QPointF origin;
+ qreal originY;
+ qreal angle;
+};
+
+/*!
+ Constructs a new QGraphicsRotation with the given \a parent.
+*/
+QGraphicsRotation::QGraphicsRotation(QObject *parent)
+ : QGraphicsTransform(*new QGraphicsRotationPrivate, parent)
+{
+}
+
+/*!
+ \internal
+*/
+QGraphicsRotation::QGraphicsRotation(QGraphicsRotationPrivate &p, QObject *parent)
+ : QGraphicsTransform(p, parent)
+{
+}
+
+/*!
+ Destroys the graphics rotation.
+*/
+QGraphicsRotation::~QGraphicsRotation()
+{
+}
+
+/*!
+ \property QGraphicsRotation::origin
+ \brief the origin of the rotation.
+
+ All rotations will be done relative to this point (i.e., this point
+ will stay fixed, relative to the parent, when the item is rotated).
+
+ \sa angle
+*/
+QPointF QGraphicsRotation::origin() const
+{
+ Q_D(const QGraphicsRotation);
+ return d->origin;
+}
+void QGraphicsRotation::setOrigin(const QPointF &point)
+{
+ Q_D(QGraphicsRotation);
+ d->origin = point;
+ update();
+ emit originChanged();
+}
+
+/*!
+ \property QGraphicsRotation::angle
+ \brief the angle for clockwise rotation, in degrees.
+
+ The angle can be any real number; the default value is 0.0. A value of 180
+ will rotate 180 degrees, clockwise. If you provide a negative number, the
+ item will be rotated counter-clockwise. Normally the rotation angle will be
+ in the range (-360, 360), but you can also provide numbers outside of this
+ range (e.g., a angle of 370 degrees gives the same result as 10 degrees).
+
+ \sa origin
+*/
+qreal QGraphicsRotation::angle() const
+{
+ Q_D(const QGraphicsRotation);
+ return d->angle;
+}
+void QGraphicsRotation::setAngle(qreal angle)
+{
+ Q_D(QGraphicsRotation);
+ if (d->angle == angle)
+ return;
+ d->angle = angle;
+ update();
+ emit angleChanged();
+}
+
+/*!
+ \reimp
+*/
+void QGraphicsRotation::applyTo(QTransform *t) const
+{
+ Q_D(const QGraphicsRotation);
+ if (d->angle) {
+ t->translate(d->origin.x(), d->origin.y());
+ t->rotate(d->angle);
+ t->translate(-d->origin.x(), -d->origin.y());
+ }
+}
+
+/*!
+ \fn QGraphicsRotation::originChanged()
+
+ This signal is emitted whenever the origin has changed.
+
+ \sa QGraphicsRotation::origin
+*/
+
+/*!
+ \fn void QGraphicsRotation::angleChanged()
+
+ This signal is emitted whenever the angle has changed.
+
+ \sa QGraphicsRotation::angle
+*/
+
+/*!
+ \class QGraphicsRotation3D
+ \brief The QGraphicsRotation3D class provides rotation in 3 dimensions.
+ \since 4.6
+
+ QGraphicsRotation3D extends QGraphicsRotation with the ability to rotate
+ around a given axis.
+
+ You can provide the desired axis by assigning a QVector3D to the axis
+ property. The angle property, which is provided by QGraphicsRotation, now
+ describes the number of degrees to rotate around this axis.
+
+ By default the axis is (0, 0, 1), giving QGraphicsRotation3D the same
+ default behavior as QGraphicsRotation (i.e., rotation around the Z axis).
+
+ \sa QGraphicsTransform, QGraphicsItem::setRotation(), QTransform::rotate()
+*/
+
+class QGraphicsRotation3DPrivate : public QGraphicsRotationPrivate
+{
+public:
+ QGraphicsRotation3DPrivate() {}
+
+ QVector3D axis;
+};
+
+/*!
+ Constructs a new QGraphicsRotation3D with the given \a parent.
+*/
+QGraphicsRotation3D::QGraphicsRotation3D(QObject *parent)
+ : QGraphicsRotation(*new QGraphicsRotation3DPrivate, parent)
+{
+}
+
+/*!
+ Destroys the 3D graphics rotation.
+*/
+QGraphicsRotation3D::~QGraphicsRotation3D()
+{
+}
+
+/*!
+ \property QGraphicsRotation3D::axis
+ \brief a rotation axis, specified by a vector in 3D space.
+
+ This can be any axis in 3D space. By default the axis is (0, 0, 1),
+ which is aligned with the Z axis and provides the same behavior
+ for the rotation angle as QGraphicsRotation. If you provide another
+ axis, QGraphicsRotation3D will provide a transformation that rotates
+ around this axis. For example, if you would like to rotate an item
+ around its X axis, you could pass (1, 0, 0) as the axis.
+
+ \sa QTransform, QGraphicsRotation::angle
+*/
+QVector3D QGraphicsRotation3D::axis()
+{
+ Q_D(QGraphicsRotation3D);
+ return d->axis;
+}
+void QGraphicsRotation3D::setAxis(const QVector3D &axis)
+{
+ Q_D(QGraphicsRotation3D);
+ d->axis = axis;
+ update();
+}
+
+static const qreal inv_dist_to_plane = 1. / 1024.;
+
+/*!
+ \reimp
+*/
+void QGraphicsRotation3D::applyTo(QTransform *t) const
+{
+ Q_D(const QGraphicsRotation3D);
+
+ if (d->angle == 0. ||
+ (d->axis.z() == 0. && d->axis.y() == 0 && d->axis.x() == 0))
+ return;
+
+ qreal rad = d->angle * 2. * M_PI / 360.;
+ qreal c = ::cos(rad);
+ qreal s = ::sin(rad);
+
+ qreal x = d->axis.x();
+ qreal y = d->axis.y();
+ qreal z = d->axis.z();
+
+ qreal len = x * x + y * y + z * z;
+ if (len != 1.) {
+ len = 1./::sqrt(len);
+ x *= len;
+ y *= len;
+ z *= len;
+ }
+
+ t->translate(d->origin.x(), d->origin.y());
+ *t = QTransform(x*x*(1-c)+c, x*y*(1-c)-z*s, x*z*(1-c)+y*s*inv_dist_to_plane,
+ y*x*(1-c)+z*s, y*y*(1-c)+c, y*z*(1-c)-x*s*inv_dist_to_plane,
+ 0, 0, 1) * *t;
+ t->translate(-d->origin.x(), -d->origin.y());
+}
+
+/*!
+ \fn void QGraphicsRotation3D::axisChanged()
+
+ This signal is emitted whenever the axis of the object changes.
+*/
+
+#include "moc_qgraphicstransform.cpp"
+
+QT_END_NAMESPACE
diff --git a/src/gui/graphicsview/qgraphicstransform.h b/src/gui/graphicsview/qgraphicstransform.h
new file mode 100644
index 0000000..d7c07d0
--- /dev/null
+++ b/src/gui/graphicsview/qgraphicstransform.h
@@ -0,0 +1,169 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtGui module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QGRAPHICSTRANSFORM_H
+#define QGRAPHICSTRANSFORM_H
+
+#include <QtCore/QObject>
+#include <QtGui/QTransform>
+#include <QtGui/QVector3D>
+
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+QT_MODULE(Gui)
+
+class QGraphicsItem;
+class QGraphicsTransformPrivate;
+
+class Q_GUI_EXPORT QGraphicsTransform : public QObject
+{
+ Q_OBJECT
+public:
+ QGraphicsTransform(QObject *parent = 0);
+ ~QGraphicsTransform();
+
+ QTransform transform() const;
+ virtual void applyTo(QTransform *transform) const = 0;
+
+protected Q_SLOTS:
+ void update();
+
+protected:
+ QGraphicsTransform(QGraphicsTransformPrivate &p, QObject *parent);
+
+private:
+ friend class QGraphicsItem;
+ friend class QGraphicsItemPrivate;
+ Q_DECLARE_PRIVATE(QGraphicsTransform)
+};
+
+class QGraphicsScalePrivate;
+
+class Q_GUI_EXPORT QGraphicsScale : public QGraphicsTransform
+{
+ Q_OBJECT
+
+ Q_PROPERTY(QPointF origin READ origin WRITE setOrigin NOTIFY originChanged)
+ Q_PROPERTY(qreal xScale READ xScale WRITE setXScale NOTIFY scaleChanged)
+ Q_PROPERTY(qreal yScale READ yScale WRITE setYScale NOTIFY scaleChanged)
+public:
+ QGraphicsScale(QObject *parent = 0);
+ ~QGraphicsScale();
+
+ QPointF origin() const;
+ void setOrigin(const QPointF &point);
+
+ qreal xScale() const;
+ void setXScale(qreal);
+
+ qreal yScale() const;
+ void setYScale(qreal);
+
+ void applyTo(QTransform *transform) const;
+
+Q_SIGNALS:
+ void originChanged();
+ void scaleChanged();
+
+private:
+ Q_DECLARE_PRIVATE(QGraphicsScale)
+};
+
+class QGraphicsRotationPrivate;
+
+class Q_GUI_EXPORT QGraphicsRotation : public QGraphicsTransform
+{
+ Q_OBJECT
+
+ Q_PROPERTY(QPointF origin READ origin WRITE setOrigin NOTIFY originChanged)
+ Q_PROPERTY(qreal angle READ angle WRITE setAngle NOTIFY angleChanged)
+public:
+ QGraphicsRotation(QObject *parent = 0);
+ ~QGraphicsRotation();
+
+ QPointF origin() const;
+ void setOrigin(const QPointF &point);
+
+ qreal angle() const;
+ void setAngle(qreal);
+
+ void applyTo(QTransform *transform) const;
+
+Q_SIGNALS:
+ void originChanged();
+ void angleChanged();
+
+protected:
+ QGraphicsRotation(QGraphicsRotationPrivate &p, QObject *parent);
+private:
+ Q_DECLARE_PRIVATE(QGraphicsRotation)
+};
+
+class QGraphicsRotation3DPrivate;
+
+class Q_GUI_EXPORT QGraphicsRotation3D : public QGraphicsRotation
+{
+ Q_OBJECT
+
+ Q_PROPERTY(QVector3D axis READ axis WRITE setAxis NOTIFY axisChanged)
+public:
+ QGraphicsRotation3D(QObject *parent = 0);
+ ~QGraphicsRotation3D();
+
+ QVector3D axis();
+ void setAxis(const QVector3D &axis);
+
+ void applyTo(QTransform *transform) const;
+
+Q_SIGNALS:
+ void axisChanged();
+
+private:
+ Q_DECLARE_PRIVATE(QGraphicsRotation3D)
+};
+
+QT_END_NAMESPACE
+
+QT_END_HEADER
+
+#endif // QFXTRANSFORM_H
diff --git a/src/gui/graphicsview/qgraphicstransform_p.h b/src/gui/graphicsview/qgraphicstransform_p.h
new file mode 100644
index 0000000..2d36eda
--- /dev/null
+++ b/src/gui/graphicsview/qgraphicstransform_p.h
@@ -0,0 +1,73 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtGui module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QGRAPHICSTRANSFORM_P_H
+#define QGRAPHICSTRANSFORM_P_H
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists for the convenience
+// of qapplication_*.cpp, qwidget*.cpp and qfiledialog.cpp. This header
+// file may change from version to version without notice, or even be removed.
+//
+// We mean it.
+//
+
+#include "private/qobject_p.h"
+
+class QGraphicsItem;
+
+class QGraphicsTransformPrivate : public QObjectPrivate {
+public:
+ Q_DECLARE_PUBLIC(QGraphicsTransform)
+
+ QGraphicsTransformPrivate()
+ : QObjectPrivate(), item(0) {}
+
+ QGraphicsItem *item;
+
+ void setItem(QGraphicsItem *item);
+ static void updateItem(QGraphicsItem *item);
+};
+
+#endif // QGRAPHICSTRANSFORM_P_H
diff --git a/src/gui/graphicsview/qgraphicsview.cpp b/src/gui/graphicsview/qgraphicsview.cpp
index 58bbdda..e1f9f62 100644
--- a/src/gui/graphicsview/qgraphicsview.cpp
+++ b/src/gui/graphicsview/qgraphicsview.cpp
@@ -97,8 +97,8 @@ static const int QGRAPHICSVIEW_PREALLOC_STYLE_OPTIONS = 503; // largest prime <
setViewport(new QGLWidget). QGraphicsView takes ownership of the viewport
widget.
- QGraphicsView supports affine transformations, using QMatrix. You can
- either pass a matrix to setMatrix(), or you can call one of the
+ QGraphicsView supports affine transformations, using QTransform. You can
+ either pass a matrix to setTransform(), or you can call one of the
convenience functions rotate(), scale(), translate() or shear(). The most
two common transformations are scaling, which is used to implement
zooming, and rotation. QGraphicsView keeps the center of the view fixed
@@ -280,6 +280,7 @@ static const int QGRAPHICSVIEW_PREALLOC_STYLE_OPTIONS = 503; // largest prime <
#include <QtGui/qpainter.h>
#include <QtGui/qscrollbar.h>
#include <QtGui/qstyleoption.h>
+#include <QtGui/qinputcontext.h>
#ifdef Q_WS_X11
#include <private/qt_x11_p.h>
#endif
@@ -812,31 +813,17 @@ QRegion QGraphicsViewPrivate::mapToViewRegion(const QGraphicsItem *item, const Q
return item->boundingRegion(itv) & itv.mapRect(rect).toAlignedRect();
}
-// QRectF::intersects() returns false always if either the source or target
-// rectangle's width or height are 0. This works around that problem.
-static inline QRectF adjustedItemBoundingRect(const QGraphicsItem *item)
-{
- Q_ASSERT(item);
- QRectF boundingRect(item->boundingRect());
- if (!boundingRect.width())
- boundingRect.adjust(-0.00001, 0, 0.00001, 0);
- if (!boundingRect.height())
- boundingRect.adjust(0, -0.00001, 0, 0.00001);
- return boundingRect;
-}
-
+/*!
+ \internal
+*/
void QGraphicsViewPrivate::processPendingUpdates()
{
if (!scene)
return;
- if (fullUpdatePending) { // We have already called viewport->update()
- dirtyBoundingRect = QRect();
- dirtyRegion = QRegion();
- return;
- }
-
- if (viewportUpdateMode == QGraphicsView::BoundingRectViewportUpdate) {
+ if (fullUpdatePending) {
+ viewport->update();
+ } else if (viewportUpdateMode == QGraphicsView::BoundingRectViewportUpdate) {
if (optimizationFlags & QGraphicsView::DontAdjustForAntialiasing)
viewport->update(dirtyBoundingRect.adjusted(-1, -1, 1, 1));
else
@@ -849,13 +836,29 @@ void QGraphicsViewPrivate::processPendingUpdates()
dirtyRegion = QRegion();
}
+static inline bool intersectsViewport(const QRect &r, int width, int height)
+{ return !(r.left() > width) && !(r.right() < 0) && !(r.top() >= height) && !(r.bottom() < 0); }
+
+static inline bool containsViewport(const QRect &r, int width, int height)
+{ return r.left() <= 0 && r.top() <= 0 && r.right() >= width - 1 && r.bottom() >= height - 1; }
+
+static inline void QRect_unite(QRect *rect, const QRect &other)
+{
+ if (rect->isEmpty()) {
+ *rect = other;
+ } else {
+ rect->setCoords(qMin(rect->left(), other.left()), qMin(rect->top(), other.top()),
+ qMax(rect->right(), other.right()), qMax(rect->bottom(), other.bottom()));
+ }
+}
+
bool QGraphicsViewPrivate::updateRegion(const QRegion &r)
{
if (fullUpdatePending || viewportUpdateMode == QGraphicsView::NoViewportUpdate || r.isEmpty())
return false;
const QRect boundingRect = r.boundingRect();
- if (!boundingRect.intersects(viewport->rect()))
+ if (!intersectsViewport(boundingRect, viewport->width(), viewport->height()))
return false; // Update region outside viewport.
switch (viewportUpdateMode) {
@@ -864,8 +867,8 @@ bool QGraphicsViewPrivate::updateRegion(const QRegion &r)
viewport->update();
break;
case QGraphicsView::BoundingRectViewportUpdate:
- dirtyBoundingRect |= boundingRect;
- if (dirtyBoundingRect.contains(viewport->rect())) {
+ QRect_unite(&dirtyBoundingRect, boundingRect);
+ if (containsViewport(dirtyBoundingRect, viewport->width(), viewport->height())) {
fullUpdatePending = true;
viewport->update();
}
@@ -892,7 +895,7 @@ bool QGraphicsViewPrivate::updateRegion(const QRegion &r)
bool QGraphicsViewPrivate::updateRect(const QRect &r)
{
if (fullUpdatePending || viewportUpdateMode == QGraphicsView::NoViewportUpdate
- || !r.intersects(viewport->rect())) {
+ || !intersectsViewport(r, viewport->width(), viewport->height())) {
return false;
}
@@ -902,8 +905,8 @@ bool QGraphicsViewPrivate::updateRect(const QRect &r)
viewport->update();
break;
case QGraphicsView::BoundingRectViewportUpdate:
- dirtyBoundingRect |= r;
- if (dirtyBoundingRect.contains(viewport->rect())) {
+ QRect_unite(&dirtyBoundingRect, r);
+ if (containsViewport(dirtyBoundingRect, viewport->width(), viewport->height())) {
fullUpdatePending = true;
viewport->update();
}
@@ -954,47 +957,32 @@ extern QPainterPath qt_regionToPath(const QRegion &region);
is at risk of painting 1 pixel outside the bounding rect. Therefore we
must search for items with an adjustment of (-1, -1, 1, 1).
*/
-QList<QGraphicsItem *> QGraphicsViewPrivate::findItems(const QRegion &exposedRegion, bool *allItems) const
+QList<QGraphicsItem *> QGraphicsViewPrivate::findItems(const QRegion &exposedRegion, bool *allItems,
+ const QTransform &viewTransform) const
{
Q_Q(const QGraphicsView);
// Step 1) If all items are contained within the expose region, then
- // return a list of all visible items.
+ // return a list of all visible items. ### the scene's growing bounding
+ // rect does not take into account untransformable items.
const QRectF exposedRegionSceneBounds = q->mapToScene(exposedRegion.boundingRect().adjusted(-1, -1, 1, 1))
.boundingRect();
- if (exposedRegionSceneBounds.contains(scene->d_func()->growingItemsBoundingRect)) {
+ if (exposedRegionSceneBounds.contains(scene->sceneRect())) {
Q_ASSERT(allItems);
*allItems = true;
- // All items are guaranteed within the exposed region, don't bother using the index.
- QList<QGraphicsItem *> itemList(scene->items());
- int i = 0;
- while (i < itemList.size()) {
- const QGraphicsItem *item = itemList.at(i);
- // But we only want to include items that are visible
- // The following check is basically the same as item->d_ptr->isInvisible(), except
- // that we don't check whether the item clips children to shape or propagates its
- // opacity (we loop through all items, so those checks are wrong in this context).
- if (!item->isVisible() || item->d_ptr->isClippedAway() || item->d_ptr->isFullyTransparent())
- itemList.removeAt(i);
- else
- ++i;
- }
-
- // Sort the items.
- QGraphicsScenePrivate::sortItems(&itemList, Qt::DescendingOrder, scene->d_func()->sortCacheEnabled);
- return itemList;
+ // All items are guaranteed within the exposed region.
+ return scene->items(Qt::DescendingOrder);
}
// Step 2) If the expose region is a simple rect and the view is only
// translated or scaled, search for items using
// QGraphicsScene::items(QRectF).
- bool simpleRectLookup = (scene->d_func()->largestUntransformableItem.isNull()
- && exposedRegion.numRects() == 1 && matrix.type() <= QTransform::TxScale);
+ bool simpleRectLookup = exposedRegion.numRects() == 1 && matrix.type() <= QTransform::TxScale;
if (simpleRectLookup) {
- return scene->d_func()->items_helper(exposedRegionSceneBounds,
- Qt::IntersectsItemBoundingRect,
- Qt::DescendingOrder);
+ return scene->items(exposedRegionSceneBounds,
+ Qt::IntersectsItemBoundingRect,
+ Qt::DescendingOrder, viewTransform);
}
// If the region is complex or the view has a complex transform, adjust
@@ -1004,16 +992,25 @@ QList<QGraphicsItem *> QGraphicsViewPrivate::findItems(const QRegion &exposedReg
foreach (const QRect &r, exposedRegion.rects())
adjustedRegion += r.adjusted(-1, -1, 1, 1);
- const QPainterPath exposedPath(qt_regionToPath(adjustedRegion));
- if (scene->d_func()->largestUntransformableItem.isNull()) {
- const QPainterPath exposedScenePath(q->mapToScene(exposedPath));
- return scene->d_func()->items_helper(exposedScenePath,
- Qt::IntersectsItemBoundingRect,
- Qt::DescendingOrder);
- }
+ const QPainterPath exposedScenePath(q->mapToScene(qt_regionToPath(adjustedRegion)));
+ return scene->items(exposedScenePath, Qt::IntersectsItemBoundingRect,
+ Qt::DescendingOrder, viewTransform);
+}
- // NB! Path must be in viewport coordinates.
- return itemsInArea(exposedPath, Qt::IntersectsItemBoundingRect, Qt::DescendingOrder);
+/*!
+ \internal
+
+ Enables input methods for the view if and only if the current focus item of
+ the scene accepts input methods. Call function whenever that condition has
+ potentially changed.
+*/
+void QGraphicsViewPrivate::updateInputMethodSensitivity()
+{
+ Q_Q(QGraphicsView);
+ q->setAttribute(
+ Qt::WA_InputMethodEnabled,
+ scene && scene->focusItem()
+ && scene->focusItem()->flags() & QGraphicsItem::ItemAcceptsInputMethod);
}
/*!
@@ -1553,6 +1550,8 @@ void QGraphicsView::setScene(QGraphicsScene *scene)
} else {
d->recalculateContentSize();
}
+
+ d->updateInputMethodSensitivity();
}
/*!
@@ -1599,7 +1598,7 @@ void QGraphicsView::setSceneRect(const QRectF &rect)
Returns the current transformation matrix for the view. If no current
transformation is set, the identity matrix is returned.
- \sa setMatrix(), rotate(), scale(), shear(), translate()
+ \sa setMatrix(), transform(), rotate(), scale(), shear(), translate()
*/
QMatrix QGraphicsView::matrix() const
{
@@ -1631,7 +1630,7 @@ QMatrix QGraphicsView::matrix() const
a view coordinate to a floating point scene coordinate, or mapFromScene()
to map from floating point scene coordinates to view coordinates.
- \sa matrix(), rotate(), scale(), shear(), translate()
+ \sa matrix(), setTransform(), rotate(), scale(), shear(), translate()
*/
void QGraphicsView::setMatrix(const QMatrix &matrix, bool combine)
{
@@ -1640,6 +1639,8 @@ void QGraphicsView::setMatrix(const QMatrix &matrix, bool combine)
/*!
Resets the view transformation matrix to the identity matrix.
+
+ \sa resetTransform()
*/
void QGraphicsView::resetMatrix()
{
@@ -1649,7 +1650,7 @@ void QGraphicsView::resetMatrix()
/*!
Rotates the current view transformation \a angle degrees clockwise.
- \sa setMatrix(), matrix(), scale(), shear(), translate()
+ \sa setTransform(), transform(), scale(), shear(), translate()
*/
void QGraphicsView::rotate(qreal angle)
{
@@ -1662,7 +1663,7 @@ void QGraphicsView::rotate(qreal angle)
/*!
Scales the current view transformation by (\a sx, \a sy).
- \sa setMatrix(), matrix(), rotate(), shear(), translate()
+ \sa setTransform(), transform(), rotate(), shear(), translate()
*/
void QGraphicsView::scale(qreal sx, qreal sy)
{
@@ -1675,7 +1676,7 @@ void QGraphicsView::scale(qreal sx, qreal sy)
/*!
Shears the current view transformation by (\a sh, \a sv).
- \sa setMatrix(), matrix(), rotate(), scale(), translate()
+ \sa setTransform(), transform(), rotate(), scale(), translate()
*/
void QGraphicsView::shear(qreal sh, qreal sv)
{
@@ -1688,7 +1689,7 @@ void QGraphicsView::shear(qreal sh, qreal sv)
/*!
Translates the current view transformation by (\a dx, \a dy).
- \sa setMatrix(), matrix(), rotate(), shear()
+ \sa setTransform(), transform(), rotate(), shear()
*/
void QGraphicsView::translate(qreal dx, qreal dy)
{
@@ -1846,7 +1847,7 @@ void QGraphicsView::ensureVisible(const QGraphicsItem *item, int xmargin, int ym
If \a rect is empty, or if the viewport is too small, this
function will do nothing.
- \sa setMatrix(), ensureVisible(), centerOn()
+ \sa setTransform(), ensureVisible(), centerOn()
*/
void QGraphicsView::fitInView(const QRectF &rect, Qt::AspectRatioMode aspectRatioMode)
{
@@ -1911,7 +1912,12 @@ void QGraphicsView::fitInView(const QRectF &rect, Qt::AspectRatioMode aspectRati
void QGraphicsView::fitInView(const QGraphicsItem *item, Qt::AspectRatioMode aspectRatioMode)
{
QPainterPath path = item->isClipped() ? item->clipPath() : item->shape();
- fitInView(item->sceneTransform().map(path).boundingRect(), aspectRatioMode);
+ if (item->d_ptr->hasTranslateOnlySceneTransform()) {
+ path.translate(item->d_ptr->sceneTransform.dx(), item->d_ptr->sceneTransform.dy());
+ fitInView(path.boundingRect(), aspectRatioMode);
+ } else {
+ fitInView(item->d_ptr->sceneTransform.map(path).boundingRect(), aspectRatioMode);
+ }
}
/*!
@@ -1937,6 +1943,8 @@ void QGraphicsView::fitInView(const QGraphicsItem *item, Qt::AspectRatioMode asp
void QGraphicsView::render(QPainter *painter, const QRectF &target, const QRect &source,
Qt::AspectRatioMode aspectRatioMode)
{
+ // ### Switch to using the recursive rendering algorithm instead.
+
Q_D(QGraphicsView);
if (!d->scene || !(painter && painter->isActive()))
return;
@@ -2033,69 +2041,6 @@ QList<QGraphicsItem *> QGraphicsView::items() const
}
/*!
- Returns all items in the area \a path, which is in viewport coordinates,
- also taking untransformable items into consideration. This function is
- considerably slower than just checking the scene directly. There is
- certainly room for improvement.
-*/
-QList<QGraphicsItem *> QGraphicsViewPrivate::itemsInArea(const QPainterPath &path,
- Qt::ItemSelectionMode mode,
- Qt::SortOrder order) const
-{
- Q_Q(const QGraphicsView);
-
- // Determine the size of the largest untransformable subtree of children
- // mapped to scene coordinates.
- QRectF untr = scene->d_func()->largestUntransformableItem;
- QRectF ltri = matrix.inverted().mapRect(untr);
- ltri.adjust(-untr.width(), -untr.height(), untr.width(), untr.height());
-
- QRectF rect = path.controlPointRect();
-
- // Find all possible items in the relevant area.
- // ### Improve this algorithm; it might be searching a too large area.
- QRectF adjustedRect = q->mapToScene(rect.adjusted(-1, -1, 1, 1).toRect()).boundingRect();
- adjustedRect.adjust(-ltri.width(), -ltri.height(), ltri.width(), ltri.height());
-
- // First build a (potentially large) list of all items in the vicinity
- // that might be untransformable.
- QList<QGraphicsItem *> allCandidates = scene->d_func()->estimateItemsInRect(adjustedRect);
-
- // Then find the minimal list of items that are inside \a path, and
- // convert it to a set.
- QList<QGraphicsItem *> regularCandidates = scene->items(q->mapToScene(path), mode);
- QSet<QGraphicsItem *> candSet = QSet<QGraphicsItem *>::fromList(regularCandidates);
-
- QTransform viewMatrix = q->viewportTransform();
-
- QList<QGraphicsItem *> result;
-
- // Run through all candidates and keep all items that are in candSet, or
- // are untransformable and collide with \a path. ### We can improve this
- // algorithm.
- QList<QGraphicsItem *>::Iterator it = allCandidates.begin();
- while (it != allCandidates.end()) {
- QGraphicsItem *item = *it;
- if (item->d_ptr->itemIsUntransformable()) {
- // Check if this untransformable item collides with the
- // original selection rect.
- QTransform itemTransform = item->deviceTransform(viewMatrix);
- if (QGraphicsScenePrivate::itemCollidesWithPath(item, itemTransform.inverted().map(path), mode))
- result << item;
- } else {
- if (candSet.contains(item))
- result << item;
- }
- ++it;
- }
-
- // ### Insertion sort would be faster.
- if (order != Qt::SortOrder(-1))
- QGraphicsScenePrivate::sortItems(&result, order, scene->d_func()->sortCacheEnabled);
- return result;
-}
-
-/*!
Returns a list of all the items at the position \a pos in the view. The
items are listed in descending Z order (i.e., the first item in the list
is the top-most item, and the last item is the bottom-most item). \a pos
@@ -2114,17 +2059,22 @@ QList<QGraphicsItem *> QGraphicsView::items(const QPoint &pos) const
Q_D(const QGraphicsView);
if (!d->scene)
return QList<QGraphicsItem *>();
- if (d->scene->d_func()->largestUntransformableItem.isNull()) {
- if ((d->identityMatrix || d->matrix.type() <= QTransform::TxScale)) {
- QTransform xinv = viewportTransform().inverted();
- return d->scene->items(xinv.mapRect(QRectF(pos.x(), pos.y(), 1, 1)));
- }
- return d->scene->items(mapToScene(pos.x(), pos.y(), 1, 1));
+ // ### Unify these two, and use the items(QPointF) version in
+ // QGraphicsScene instead. The scene items function could use the viewport
+ // transform to map the point to a rect/polygon.
+ if ((d->identityMatrix || d->matrix.type() <= QTransform::TxScale)) {
+ // Use the rect version
+ QTransform xinv = viewportTransform().inverted();
+ return d->scene->items(xinv.mapRect(QRectF(pos.x(), pos.y(), 1, 1)),
+ Qt::IntersectsItemShape,
+ Qt::AscendingOrder,
+ viewportTransform());
}
-
- QPainterPath path;
- path.addRect(QRectF(pos.x(), pos.y(), 1, 1));
- return d->itemsInArea(path);
+ // Use the polygon version
+ return d->scene->items(mapToScene(pos.x(), pos.y(), 1, 1),
+ Qt::IntersectsItemShape,
+ Qt::AscendingOrder,
+ viewportTransform());
}
/*!
@@ -2151,12 +2101,7 @@ QList<QGraphicsItem *> QGraphicsView::items(const QRect &rect, Qt::ItemSelection
Q_D(const QGraphicsView);
if (!d->scene)
return QList<QGraphicsItem *>();
- if (d->scene->d_func()->largestUntransformableItem.isNull())
- return d->scene->items(mapToScene(rect), mode);
-
- QPainterPath path;
- path.addRect(rect);
- return d->itemsInArea(path);
+ return d->scene->items(mapToScene(rect), mode, Qt::AscendingOrder, viewportTransform());
}
/*!
@@ -2184,13 +2129,7 @@ QList<QGraphicsItem *> QGraphicsView::items(const QPolygon &polygon, Qt::ItemSel
Q_D(const QGraphicsView);
if (!d->scene)
return QList<QGraphicsItem *>();
- if (d->scene->d_func()->largestUntransformableItem.isNull())
- return d->scene->items(mapToScene(polygon), mode);
-
- QPainterPath path;
- path.addPolygon(polygon);
- path.closeSubpath();
- return d->itemsInArea(path);
+ return d->scene->items(mapToScene(polygon), mode, Qt::AscendingOrder, viewportTransform());
}
/*!
@@ -2210,9 +2149,7 @@ QList<QGraphicsItem *> QGraphicsView::items(const QPainterPath &path, Qt::ItemSe
Q_D(const QGraphicsView);
if (!d->scene)
return QList<QGraphicsItem *>();
- if (d->scene->d_func()->largestUntransformableItem.isNull())
- return d->scene->items(mapToScene(path), mode);
- return d->itemsInArea(path);
+ return d->scene->items(mapToScene(path), mode, Qt::AscendingOrder, viewportTransform());
}
/*!
@@ -2673,9 +2610,6 @@ bool QGraphicsView::event(QEvent *event)
}
}
break;
- case QEvent::Gesture:
- viewportEvent(event);
- return true;
default:
break;
}
@@ -2757,17 +2691,6 @@ bool QGraphicsView::viewportEvent(QEvent *event)
d->scene->d_func()->updateAll = false;
}
break;
- case QEvent::Gesture: {
- QGraphicsSceneGestureEvent gestureEvent;
- gestureEvent.setWidget(this);
- QGestureEvent *ev = static_cast<QGestureEvent*>(event);
- gestureEvent.setGestures(ev->gestures());
- gestureEvent.setCancelledGestures(ev->cancelledGestures());
- QApplication::sendEvent(d->scene, &gestureEvent);
- event->setAccepted(gestureEvent.isAccepted());
- return true;
- }
- break;
case QEvent::TouchBegin:
case QEvent::TouchUpdate:
case QEvent::TouchEnd:
@@ -2958,6 +2881,7 @@ void QGraphicsView::dragMoveEvent(QDragMoveEvent *event)
void QGraphicsView::focusInEvent(QFocusEvent *event)
{
Q_D(QGraphicsView);
+ d->updateInputMethodSensitivity();
QAbstractScrollArea::focusInEvent(event);
if (d->scene)
QApplication::sendEvent(d->scene, event);
@@ -3178,7 +3102,8 @@ void QGraphicsView::mouseMoveEvent(QMouseEvent *event)
selectionArea.addPolygon(mapToScene(d->rubberBandRect));
selectionArea.closeSubpath();
if (d->scene)
- d->scene->setSelectionArea(selectionArea, d->rubberBandSelectionMode);
+ d->scene->setSelectionArea(selectionArea, d->rubberBandSelectionMode,
+ viewportTransform());
return;
}
} else
@@ -3221,7 +3146,7 @@ void QGraphicsView::mouseReleaseEvent(QMouseEvent *event)
}
} else
#endif
- if (d->dragMode == QGraphicsView::ScrollHandDrag) {
+ if (d->dragMode == QGraphicsView::ScrollHandDrag && event->button() == Qt::LeftButton) {
#ifndef QT_NO_CURSOR
// Restore the open hand cursor. ### There might be items
// under the mouse that have a valid cursor at this time, so
@@ -3391,8 +3316,7 @@ void QGraphicsView::paintEvent(QPaintEvent *event)
} else {
// Find all exposed items
bool allItems = false;
- QList<QGraphicsItem *> itemList = d->findItems(d->exposedRegion, &allItems);
-
+ QList<QGraphicsItem *> itemList = d->findItems(d->exposedRegion, &allItems, viewTransform);
if (!itemList.isEmpty()) {
// Generate the style options.
const int numItems = itemList.size();
@@ -3645,6 +3569,8 @@ QTransform QGraphicsView::viewportTransform() const
}
/*!
+ \since 4.6
+
Returns true if the view is transformed (i.e., a non-identity transform
has been assigned, or the scrollbars are adjusted).
diff --git a/src/gui/graphicsview/qgraphicsview.h b/src/gui/graphicsview/qgraphicsview.h
index 425f174..1285e45 100644
--- a/src/gui/graphicsview/qgraphicsview.h
+++ b/src/gui/graphicsview/qgraphicsview.h
@@ -269,7 +269,7 @@ protected:
const QStyleOptionGraphicsItem options[]);
private:
- Q_DECLARE_SCOPED_PRIVATE(QGraphicsView)
+ Q_DECLARE_PRIVATE(QGraphicsView)
Q_DISABLE_COPY(QGraphicsView)
#ifndef QT_NO_CURSOR
Q_PRIVATE_SLOT(d_func(), void _q_setViewportCursor(const QCursor &))
diff --git a/src/gui/graphicsview/qgraphicsview_p.h b/src/gui/graphicsview/qgraphicsview_p.h
index 8c62f73..62a2b84 100644
--- a/src/gui/graphicsview/qgraphicsview_p.h
+++ b/src/gui/graphicsview/qgraphicsview_p.h
@@ -58,12 +58,14 @@
#if !defined(QT_NO_GRAPHICSVIEW) || (QT_EDITION & QT_MODULE_GRAPHICSVIEW) != QT_MODULE_GRAPHICSVIEW
#include <QtGui/qevent.h>
+#include <QtCore/qcoreapplication.h>
#include "qgraphicssceneevent.h"
+#include <QtGui/qstyleoption.h>
#include <private/qabstractscrollarea_p.h>
QT_BEGIN_NAMESPACE
-class QGraphicsViewPrivate : public QAbstractScrollAreaPrivate
+class Q_AUTOTEST_EXPORT QGraphicsViewPrivate : public QAbstractScrollAreaPrivate
{
Q_DECLARE_PUBLIC(QGraphicsView)
public:
@@ -84,10 +86,6 @@ public:
qint64 horizontalScroll() const;
qint64 verticalScroll() const;
- QList<QGraphicsItem *> itemsInArea(const QPainterPath &path,
- Qt::ItemSelectionMode mode = Qt::IntersectsItemShape,
- Qt::SortOrder = Qt::AscendingOrder) const;
-
QPointF mousePressItemPoint;
QPointF mousePressScenePoint;
QPoint mousePressViewPoint;
@@ -171,16 +169,27 @@ public:
dirtyBoundingRect = QRect();
dirtyRegion = QRegion();
}
+
+ inline void dispatchPendingUpdateRequests()
+ {
+ if (qt_widget_private(viewport)->paintOnScreen())
+ QCoreApplication::sendPostedEvents(viewport, QEvent::UpdateRequest);
+ else
+ QCoreApplication::sendPostedEvents(viewport->window(), QEvent::UpdateRequest);
+ }
+
bool updateRect(const QRect &rect);
bool updateRegion(const QRegion &region);
bool updateSceneSlotReimplementedChecked;
QRegion exposedRegion;
- QList<QGraphicsItem *> findItems(const QRegion &exposedRegion, bool *allItems) const;
+ QList<QGraphicsItem *> findItems(const QRegion &exposedRegion, bool *allItems,
+ const QTransform &viewTransform) const;
QPointF mapToScene(const QPointF &point) const;
QRectF mapToScene(const QRectF &rect) const;
static void translateTouchEvent(QGraphicsViewPrivate *d, QTouchEvent *touchEvent);
+ void updateInputMethodSensitivity();
};
QT_END_NAMESPACE
diff --git a/src/gui/graphicsview/qgraphicswidget.cpp b/src/gui/graphicsview/qgraphicswidget.cpp
index b042be4..bf0acc9 100644
--- a/src/gui/graphicsview/qgraphicswidget.cpp
+++ b/src/gui/graphicsview/qgraphicswidget.cpp
@@ -971,15 +971,18 @@ void QGraphicsWidget::updateGeometry()
deliver events related to state changes in the item. Because of this, it is
very important that subclasses call the base implementation.
- For example, QGraphicsWidget uses ItemVisibleChange to deliver \l Show and
- \l Hide events, ItemPositionHasChanged to deliver \l Move events, and
- ItemParentChange both to deliver \l ParentChange events, and for managing
- the focus chain.
+ \a change specifies the type of change, and \a value is the new value.
+
+ For example, QGraphicsWidget uses ItemVisibleChange to deliver
+ \l{QEvent::Show} {Show} and \l{QEvent::Hide}{Hide} events,
+ ItemPositionHasChanged to deliver \l{QEvent::Move}{Move} events,
+ and ItemParentChange both to deliver \l{QEvent::ParentChange}
+ {ParentChange} events, and for managing the focus chain.
QGraphicsWidget enables the ItemSendsGeometryChanges flag by default in
order to track position changes.
- \sa propertyChange()
+ \sa QGraphicsItem::itemChange()
*/
QVariant QGraphicsWidget::itemChange(GraphicsItemChange change, const QVariant &value)
{
@@ -1211,7 +1214,8 @@ Qt::WindowFrameSection QGraphicsWidget::windowFrameSectionAt(const QPointF &pos)
/*!
\reimp
- QGraphicsWidget handles the following events:
+ Handles the \a event. QGraphicsWidget handles the following
+ events:
\table \o Event \o Usage
\row \o Polish
@@ -1712,49 +1716,18 @@ void QGraphicsWidget::setFocusPolicy(Qt::FocusPolicy policy)
/*!
If this widget, a child or descendant of this widget currently has input
focus, this function will return a pointer to that widget. If
- no descendant has input focus, 0 is returned.
+ no descendant widget has input focus, 0 is returned.
- \sa QWidget::focusWidget()
+ \sa QGraphicsItem::focusItem(), QWidget::focusWidget()
*/
QGraphicsWidget *QGraphicsWidget::focusWidget() const
{
Q_D(const QGraphicsWidget);
- return d->focusChild;
+ if (d->subFocusItem && d->subFocusItem->d_ptr->isWidget)
+ return static_cast<QGraphicsWidget *>(d->subFocusItem);
+ return 0;
}
-/*! \property QGraphicsWidget::horizontalShear
- \brief This property holds the horizontal shear value for the item.
- */
-
-/*! \property QGraphicsWidget::transformOrigin
- \brief This property holds the origin point used for transformations
- in item coordinates.
- */
-
-/*! \property QGraphicsWidget::verticalShear
- \brief This property holds the vertical shear value for the item.
- */
-
-/*! \property QGraphicsWidget::xRotation
- \brief This property holds the value for rotation around the x axis.
- */
-
-/*! \property QGraphicsWidget::xScale
- \brief This property holds the scale factor for the x axis.
- */
-
-/*! \property QGraphicsWidget::yRotation
- \brief This property holds the value for rotation around the y axis.
- */
-
-/*! \property QGraphicsWidget::yScale
- \brief This property holds the scale factor for the y axis.
- */
-
-/*! \property QGraphicsWidget::zRotation
- \brief This property holds the value for rotation around the z axis.
- */
-
#ifndef QT_NO_SHORTCUT
/*!
\since 4.5
@@ -2280,6 +2253,7 @@ bool QGraphicsWidget::close()
#ifdef Q_NO_USING_KEYWORD
/*!
\fn const QObjectList &QGraphicsWidget::children() const
+ \internal
This function returns the same value as QObject::children(). It's
provided to differentiate between the obsolete member
diff --git a/src/gui/graphicsview/qgraphicswidget.h b/src/gui/graphicsview/qgraphicswidget.h
index 9047310..cb5490a 100644
--- a/src/gui/graphicsview/qgraphicswidget.h
+++ b/src/gui/graphicsview/qgraphicswidget.h
@@ -77,14 +77,6 @@ class Q_GUI_EXPORT QGraphicsWidget : public QGraphicsObject, public QGraphicsLay
Q_PROPERTY(Qt::WindowFlags windowFlags READ windowFlags WRITE setWindowFlags)
Q_PROPERTY(QString windowTitle READ windowTitle WRITE setWindowTitle)
Q_PROPERTY(QRectF geometry READ geometry WRITE setGeometry)
- Q_PROPERTY(QPointF transformOrigin READ transformOrigin WRITE setTransformOrigin)
- Q_PROPERTY(qreal xRotation READ xRotation WRITE setXRotation)
- Q_PROPERTY(qreal yRotation READ yRotation WRITE setYRotation)
- Q_PROPERTY(qreal zRotation READ zRotation WRITE setZRotation)
- Q_PROPERTY(qreal xScale READ xScale WRITE setXScale)
- Q_PROPERTY(qreal yScale READ yScale WRITE setYScale)
- Q_PROPERTY(qreal horizontalShear READ horizontalShear WRITE setHorizontalShear)
- Q_PROPERTY(qreal verticalShear READ verticalShear WRITE setVerticalShear)
public:
QGraphicsWidget(QGraphicsItem *parent = 0, Qt::WindowFlags wFlags = 0);
~QGraphicsWidget();
diff --git a/src/gui/graphicsview/qgraphicswidget_p.cpp b/src/gui/graphicsview/qgraphicswidget_p.cpp
index c9212f7..8eac063 100644
--- a/src/gui/graphicsview/qgraphicswidget_p.cpp
+++ b/src/gui/graphicsview/qgraphicswidget_p.cpp
@@ -626,34 +626,6 @@ bool QGraphicsWidgetPrivate::hasDecoration() const
return (windowFlags & Qt::Window) && (windowFlags & Qt::WindowTitleHint);
}
-/*!
- \internal
-*/
-void QGraphicsWidgetPrivate::setFocusWidget()
-{
- // Update focus child chain.
- QGraphicsWidget *widget = static_cast<QGraphicsWidget *>(q_ptr);
- QGraphicsWidget *parent = widget;
- bool hidden = !visible;
- do {
- parent->d_func()->focusChild = widget;
- } while (!parent->isWindow() && (parent = parent->parentWidget()) && (!hidden || !parent->d_func()->visible));
-}
-
-/*!
- \internal
-*/
-void QGraphicsWidgetPrivate::clearFocusWidget()
-{
- // Reset focus child chain.
- QGraphicsWidget *parent = static_cast<QGraphicsWidget *>(q_ptr);
- do {
- if (parent->d_func()->focusChild != q_ptr)
- break;
- parent->d_func()->focusChild = 0;
- } while (!parent->isWindow() && (parent = parent->parentWidget()));
-}
-
/**
* is called after a reparent has taken place to fix up the focus chain(s)
*/
@@ -670,12 +642,6 @@ void QGraphicsWidgetPrivate::fixFocusChainBeforeReparenting(QGraphicsWidget *new
QGraphicsWidget *firstOld = 0;
bool wasPreviousNew = true;
-
- if (focusChild) {
- // Ensure that the current focus child doesn't leave pointers around
- // before reparenting.
- focusChild->clearFocus();
- }
while (w != q) {
bool isCurrentNew = q->isAncestorOf(w);
diff --git a/src/gui/graphicsview/qgraphicswidget_p.h b/src/gui/graphicsview/qgraphicswidget_p.h
index 0c34baa..92e520a 100644
--- a/src/gui/graphicsview/qgraphicswidget_p.h
+++ b/src/gui/graphicsview/qgraphicswidget_p.h
@@ -83,7 +83,6 @@ public:
focusPolicy(Qt::NoFocus),
focusNext(0),
focusPrev(0),
- focusChild(0),
windowFlags(0),
windowData(0),
setWindowFrameMargins(false),
@@ -178,9 +177,6 @@ public:
Qt::FocusPolicy focusPolicy;
QGraphicsWidget *focusNext;
QGraphicsWidget *focusPrev;
- QGraphicsWidget *focusChild;
- void setFocusWidget();
- void clearFocusWidget();
// Windows
Qt::WindowFlags windowFlags;
diff --git a/src/gui/image/image.pri b/src/gui/image/image.pri
index c15e8b6..5e9bf8e 100644
--- a/src/gui/image/image.pri
+++ b/src/gui/image/image.pri
@@ -25,7 +25,9 @@ HEADERS += \
image/qpixmapcache_p.h \
image/qpixmapdata_p.h \
image/qpixmapdatafactory_p.h \
- image/qpixmapfilter_p.h
+ image/qpixmapfilter_p.h \
+ image/qimagepixmapcleanuphooks_p.h \
+
SOURCES += \
image/qbitmap.cpp \
@@ -47,6 +49,8 @@ SOURCES += \
image/qmovie.cpp \
image/qpixmap_raster.cpp \
image/qnativeimage.cpp \
+ image/qimagepixmapcleanuphooks.cpp \
+
win32 {
SOURCES += image/qpixmap_win.cpp
diff --git a/src/gui/image/qbitmap.cpp b/src/gui/image/qbitmap.cpp
index 6bca504..78c3396 100644
--- a/src/gui/image/qbitmap.cpp
+++ b/src/gui/image/qbitmap.cpp
@@ -78,7 +78,7 @@ QT_BEGIN_NAMESPACE
0 for black and 1 for white.
The QBitmap class provides the transformed() function returning a
- transformed copy of the bitmap; use the QMatrix argument to
+ transformed copy of the bitmap; use the QTransform argument to
translate, scale, shear, and rotate the bitmap. In addition,
QBitmap provides the static fromData() function which returns a
bitmap constructed from the given \c uchar data, and the static
@@ -318,6 +318,7 @@ QBitmap QBitmap::transformed(const QTransform &matrix) const
/*!
\overload
+ \obsolete
This convenience function converts the \a matrix to a QTransform
and calls the overloaded function.
diff --git a/src/gui/image/qimage.cpp b/src/gui/image/qimage.cpp
index d9decb0..476fe52 100644
--- a/src/gui/image/qimage.cpp
+++ b/src/gui/image/qimage.cpp
@@ -49,6 +49,7 @@
#include "qimagewriter.h"
#include "qstringlist.h"
#include "qvariant.h"
+#include "qimagepixmapcleanuphooks_p.h"
#include <ctype.h>
#include <stdlib.h>
#include <limits.h>
@@ -106,14 +107,6 @@ static inline bool checkPixelSize(const QImage::Format format)
}
-// ### Qt 5: remove
-typedef void (*_qt_image_cleanup_hook)(int);
-Q_GUI_EXPORT _qt_image_cleanup_hook qt_image_cleanup_hook = 0;
-
-// ### Qt 5: rename
-typedef void (*_qt_image_cleanup_hook_64)(qint64);
-Q_GUI_EXPORT _qt_image_cleanup_hook_64 qt_image_cleanup_hook_64 = 0;
-
static QImage rotated90(const QImage &src);
static QImage rotated180(const QImage &src);
static QImage rotated270(const QImage &src);
@@ -263,8 +256,8 @@ QImageData * QImageData::create(const QSize &size, QImage::Format format, int nu
QImageData::~QImageData()
{
- if (is_cached && qt_image_cleanup_hook_64)
- qt_image_cleanup_hook_64((((qint64) ser_no) << 32) | ((qint64) detach_no));
+ if (is_cached)
+ QImagePixmapCleanupHooks::executeImageHooks((((qint64) ser_no) << 32) | ((qint64) detach_no));
delete paintEngine;
if (data && own_data)
free(data);
@@ -596,9 +589,8 @@ bool QImageData::checkForAlphaPixels() const
The mirrored() function returns a mirror of the image in the
desired direction, the scaled() returns a copy of the image scaled
- to a rectangle of the desired measures, the rgbSwapped() function
- constructs a BGR image from a RGB image, and the alphaChannel()
- function constructs an image from this image's alpha channel.
+ to a rectangle of the desired measures, and the rgbSwapped() function
+ constructs a BGR image from a RGB image.
The scaledToWidth() and scaledToHeight() functions return scaled
copies of the image.
@@ -618,9 +610,6 @@ bool QImageData::checkForAlphaPixels() const
\table
\header \o Function \o Description
\row
- \o setAlphaChannel()
- \o Sets the alpha channel of the image.
- \row
\o setDotsPerMeterX()
\o Defines the aspect ratio by setting the number of pixels that fit
horizontally in a physical meter.
@@ -1352,8 +1341,8 @@ QImage::operator QVariant() const
void QImage::detach()
{
if (d) {
- if (d->is_cached && qt_image_cleanup_hook_64 && d->ref == 1)
- qt_image_cleanup_hook_64(cacheKey());
+ if (d->is_cached && d->ref == 1)
+ QImagePixmapCleanupHooks::executeImageHooks(cacheKey());
if (d->ref != 1 || d->ro_data)
*this = copy();
@@ -4643,12 +4632,19 @@ bool QImage::loadFromData(const uchar *data, int len, const char *format)
binary \a data. The loader attempts to read the image using the
specified \a format. If \a format is not specified (which is the default),
the loader probes the file for a header to guess the file format.
+ binary \a data. The loader attempts to read the image, either using the
+ optional image \a format specified or by determining the image format from
+ the data.
- If the loading of the image failed, this object is a null image.
+ If \a format is not specified (which is the default), the loader probes the
+ file for a header to determine the file format. If \a format is specified,
+ it must be one of the values returned by QImageReader::supportedImageFormats().
+
+ If the loading of the image fails, the image returned will be a null image.
+
+ \sa load(), save(), {QImage#Reading and Writing Image Files}{Reading and Writing Image Files}
+ */
- \sa load(), save(), {QImage#Reading and Writing Image
- Files}{Reading and Writing Image Files}
-*/
QImage QImage::fromData(const uchar *data, int size, const char *format)
{
QByteArray a = QByteArray::fromRawData(reinterpret_cast<const char *>(data), size);
@@ -5280,7 +5276,7 @@ QPaintEngine *QImage::paintEngine() const
/*!
- \reimp
+ \internal
Returns the size for the specified \a metric on the device.
*/
@@ -5598,7 +5594,7 @@ bool QImage::isDetached() const
Note that the image will be converted to the Format_ARGB32_Premultiplied
format if the function succeeds.
- Use one of the composition mods in QPainter::CompositionMode instead.
+ Use one of the composition modes in QPainter::CompositionMode instead.
\warning This function is expensive.
@@ -5676,6 +5672,8 @@ void QImage::setAlphaChannel(const QImage &alphaChannel)
/*!
+ \obsolete
+
Returns the alpha channel of the image as a new grayscale QImage in which
each pixel's red, green, and blue values are given the alpha value of the
original image. The color depth of the returned image is 8-bit.
@@ -5755,7 +5753,7 @@ QImage QImage::alphaChannel() const
Returns true if the image has a format that respects the alpha
channel, otherwise returns false.
- \sa alphaChannel(), {QImage#Image Information}{Image Information}
+ \sa {QImage#Image Information}{Image Information}
*/
bool QImage::hasAlphaChannel() const
{
diff --git a/src/gui/image/qimageiohandler.h b/src/gui/image/qimageiohandler.h
index 97b2ba2..50508c0 100644
--- a/src/gui/image/qimageiohandler.h
+++ b/src/gui/image/qimageiohandler.h
@@ -60,7 +60,7 @@ class QVariant;
class QImageIOHandlerPrivate;
class Q_GUI_EXPORT QImageIOHandler
{
- Q_DECLARE_SCOPED_PRIVATE(QImageIOHandler)
+ Q_DECLARE_PRIVATE(QImageIOHandler)
public:
QImageIOHandler();
virtual ~QImageIOHandler();
diff --git a/src/gui/image/qimagepixmapcleanuphooks.cpp b/src/gui/image/qimagepixmapcleanuphooks.cpp
new file mode 100644
index 0000000..7d1c5fb
--- /dev/null
+++ b/src/gui/image/qimagepixmapcleanuphooks.cpp
@@ -0,0 +1,110 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtGui module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "qimagepixmapcleanuphooks_p.h"
+#include "qpixmapdata_p.h"
+
+
+// Legacy, single instance hooks: ### Qt 5: remove
+typedef void (*_qt_pixmap_cleanup_hook)(int);
+typedef void (*_qt_pixmap_cleanup_hook_64)(qint64);
+typedef void (*_qt_image_cleanup_hook)(int);
+Q_GUI_EXPORT _qt_pixmap_cleanup_hook qt_pixmap_cleanup_hook = 0;
+Q_GUI_EXPORT _qt_pixmap_cleanup_hook_64 qt_pixmap_cleanup_hook_64 = 0;
+Q_GUI_EXPORT _qt_image_cleanup_hook qt_image_cleanup_hook = 0;
+Q_GUI_EXPORT _qt_image_cleanup_hook_64 qt_image_cleanup_hook_64 = 0;
+
+
+QImagePixmapCleanupHooks* qt_image_and_pixmap_cleanup_hooks = 0;
+
+
+QImagePixmapCleanupHooks::QImagePixmapCleanupHooks()
+{
+ qt_image_and_pixmap_cleanup_hooks = this;
+}
+
+QImagePixmapCleanupHooks *QImagePixmapCleanupHooks::instance()
+{
+ if (!qt_image_and_pixmap_cleanup_hooks)
+ qt_image_and_pixmap_cleanup_hooks = new QImagePixmapCleanupHooks;
+ return qt_image_and_pixmap_cleanup_hooks;
+}
+
+void QImagePixmapCleanupHooks::addPixmapHook(_qt_pixmap_cleanup_hook_pm hook)
+{
+ pixmapHooks.append(hook);
+}
+
+void QImagePixmapCleanupHooks::addImageHook(_qt_image_cleanup_hook_64 hook)
+{
+ imageHooks.append(hook);
+}
+
+void QImagePixmapCleanupHooks::removePixmapHook(_qt_pixmap_cleanup_hook_pm hook)
+{
+ pixmapHooks.removeAll(hook);
+}
+
+void QImagePixmapCleanupHooks::removeImageHook(_qt_image_cleanup_hook_64 hook)
+{
+ imageHooks.removeAll(hook);
+}
+
+
+void QImagePixmapCleanupHooks::executePixmapHooks(QPixmap* pm)
+{
+ for (int i = 0; i < qt_image_and_pixmap_cleanup_hooks->pixmapHooks.count(); ++i)
+ qt_image_and_pixmap_cleanup_hooks->pixmapHooks[i](pm);
+
+ if (qt_pixmap_cleanup_hook_64)
+ qt_pixmap_cleanup_hook_64(pm->cacheKey());
+}
+
+
+void QImagePixmapCleanupHooks::executeImageHooks(qint64 key)
+{
+ for (int i = 0; i < qt_image_and_pixmap_cleanup_hooks->imageHooks.count(); ++i)
+ qt_image_and_pixmap_cleanup_hooks->imageHooks[i](key);
+
+ if (qt_image_cleanup_hook_64)
+ qt_image_cleanup_hook_64(key);
+}
+
diff --git a/src/gui/image/qimagepixmapcleanuphooks_p.h b/src/gui/image/qimagepixmapcleanuphooks_p.h
new file mode 100644
index 0000000..e765e69
--- /dev/null
+++ b/src/gui/image/qimagepixmapcleanuphooks_p.h
@@ -0,0 +1,89 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtGui module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QIMAGEPIXMAP_CLEANUPHOOKS_P_H
+#define QIMAGEPIXMAP_CLEANUPHOOKS_P_H
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
+#include <QtGui/qpixmap.h>
+
+QT_BEGIN_NAMESPACE
+
+typedef void (*_qt_image_cleanup_hook_64)(qint64);
+typedef void (*_qt_pixmap_cleanup_hook_pm)(QPixmap*);
+
+class QImagePixmapCleanupHooks;
+extern QImagePixmapCleanupHooks* qt_image_and_pixmap_cleanup_hooks;
+
+class Q_GUI_EXPORT QImagePixmapCleanupHooks
+{
+public:
+ QImagePixmapCleanupHooks();
+
+ static QImagePixmapCleanupHooks *instance();
+
+ void addPixmapHook(_qt_pixmap_cleanup_hook_pm);
+ void addImageHook(_qt_image_cleanup_hook_64);
+
+ void removePixmapHook(_qt_pixmap_cleanup_hook_pm);
+ void removeImageHook(_qt_image_cleanup_hook_64);
+
+ static void executePixmapHooks(QPixmap*);
+ static void executeImageHooks(qint64 key);
+
+private:
+ QList<_qt_image_cleanup_hook_64> imageHooks;
+ QList<_qt_pixmap_cleanup_hook_pm> pixmapHooks;
+};
+
+QT_END_NAMESPACE
+
+#endif // QIMAGEPIXMAP_CLEANUPHOOKS_P_H
diff --git a/src/gui/image/qmovie.h b/src/gui/image/qmovie.h
index eda5aa1..afee789 100644
--- a/src/gui/image/qmovie.h
+++ b/src/gui/image/qmovie.h
@@ -74,7 +74,7 @@ class QMoviePrivate;
class Q_GUI_EXPORT QMovie : public QObject
{
Q_OBJECT
- Q_DECLARE_SCOPED_PRIVATE(QMovie)
+ Q_DECLARE_PRIVATE(QMovie)
Q_ENUMS(MovieState CacheMode)
Q_PROPERTY(int speed READ speed WRITE setSpeed)
Q_PROPERTY(CacheMode cacheMode READ cacheMode WRITE setCacheMode)
diff --git a/src/gui/image/qpaintengine_pic_p.h b/src/gui/image/qpaintengine_pic_p.h
index 2aaa5f0..1e6413e 100644
--- a/src/gui/image/qpaintengine_pic_p.h
+++ b/src/gui/image/qpaintengine_pic_p.h
@@ -65,7 +65,7 @@ class QBuffer;
class QPicturePaintEngine : public QPaintEngine
{
- Q_DECLARE_SCOPED_PRIVATE(QPicturePaintEngine)
+ Q_DECLARE_PRIVATE(QPicturePaintEngine)
public:
QPicturePaintEngine();
~QPicturePaintEngine();
diff --git a/src/gui/image/qpicture.cpp b/src/gui/image/qpicture.cpp
index 2d0ee99..ddb51d3 100644
--- a/src/gui/image/qpicture.cpp
+++ b/src/gui/image/qpicture.cpp
@@ -949,6 +949,8 @@ bool QPicture::exec(QPainter *painter, QDataStream &s, int nrecords)
}
/*!
+ \internal
+
Internal implementation of the virtual QPaintDevice::metric()
function.
diff --git a/src/gui/image/qpicture.h b/src/gui/image/qpicture.h
index 4d9af37..c323f0e 100644
--- a/src/gui/image/qpicture.h
+++ b/src/gui/image/qpicture.h
@@ -56,7 +56,7 @@ QT_MODULE(Gui)
class QPicturePrivate;
class Q_GUI_EXPORT QPicture : public QPaintDevice
{
- Q_DECLARE_SCOPED_PRIVATE(QPicture)
+ Q_DECLARE_PRIVATE(QPicture)
public:
explicit QPicture(int formatVersion = -1);
QPicture(const QPicture &);
diff --git a/src/gui/image/qpixmap.cpp b/src/gui/image/qpixmap.cpp
index a6c2883..1bcb846 100644
--- a/src/gui/image/qpixmap.cpp
+++ b/src/gui/image/qpixmap.cpp
@@ -43,6 +43,7 @@
#include "qpixmap.h"
#include "qpixmapdata_p.h"
+#include "qimagepixmapcleanuphooks_p.h"
#include "qbitmap.h"
#include "qcolormap.h"
@@ -85,14 +86,6 @@
QT_BEGIN_NAMESPACE
// ### Qt 5: remove
-typedef void (*_qt_pixmap_cleanup_hook)(int);
-Q_GUI_EXPORT _qt_pixmap_cleanup_hook qt_pixmap_cleanup_hook = 0;
-
-// ### Qt 5: rename
-typedef void (*_qt_pixmap_cleanup_hook_64)(qint64);
-Q_GUI_EXPORT _qt_pixmap_cleanup_hook_64 qt_pixmap_cleanup_hook_64 = 0;
-
-// ### Qt 5: remove
Q_GUI_EXPORT qint64 qt_pixmap_id(const QPixmap &pixmap)
{
return pixmap.cacheKey();
@@ -394,6 +387,7 @@ QPixmap QPixmap::copy(const QRect &rect) const
/*!
\fn QPixmap::scroll(int dx, int dy, int x, int y, int width, int height, QRegion *exposed)
+ \since 4.6
This convenience function is equivalent to calling QPixmap::scroll(\a dx,
\a dy, QRect(\a x, \a y, \a width, \a height), \a exposed).
@@ -402,6 +396,8 @@ QPixmap QPixmap::copy(const QRect &rect) const
*/
/*!
+ \since 4.6
+
Scrolls the area \a rect of this pixmap by (\a dx, \a dy). The exposed
region is left unchanged. You can optionally pass a pointer to an empty
QRegion to get the region that is \a exposed by the scroll operation.
@@ -667,7 +663,7 @@ void QPixmap::resize_helper(const QSize &s)
QX11PixmapData *x11Data = data->classId() == QPixmapData::X11Class ? static_cast<QX11PixmapData*>(data) : 0;
if (x11Data) {
pm.x11SetScreen(x11Data->xinfo.screen());
- uninit = x11Data->uninit;
+ uninit = x11Data->flags & QX11PixmapData::Uninitialized;
}
#elif defined(Q_WS_MAC)
QMacPixmapData *macData = data->classId() == QPixmapData::MacClass ? static_cast<QMacPixmapData*>(data) : 0;
@@ -682,12 +678,7 @@ void QPixmap::resize_helper(const QSize &s)
p.drawPixmap(0, 0, *this, 0, 0, qMin(width(), w), qMin(height(), h));
}
-#if defined(Q_WS_MAC)
-#ifndef QT_MAC_NO_QUICKDRAW
- if(macData && macData->qd_alpha)
- macData->macQDUpdateAlpha();
-#endif
-#elif defined(Q_WS_X11)
+#if defined(Q_WS_X11)
if (x11Data && x11Data->x11_mask) {
QX11PixmapData *pmData = static_cast<QX11PixmapData*>(pm.data);
pmData->x11_mask = (Qt::HANDLE)XCreatePixmap(X11->display,
@@ -1373,8 +1364,8 @@ bool QPixmap::isDetached() const
void QPixmap::deref()
{
if (data && !data->ref.deref()) { // Destroy image if last ref
- if (data->is_cached && qt_pixmap_cleanup_hook_64)
- qt_pixmap_cleanup_hook_64(cacheKey());
+ if (data->is_cached)
+ QImagePixmapCleanupHooks::executePixmapHooks(this);
delete data;
data = 0;
}
@@ -1583,24 +1574,24 @@ QPixmap QPixmap::transformed(const QMatrix &matrix, Qt::TransformationMode mode)
designed and optimized for showing images on screen. QBitmap is
only a convenience class that inherits QPixmap, ensuring a depth
of 1. The isQBitmap() function returns true if a QPixmap object is
- really a bitmap, otherwise returns false. Finally, the QPicture class is a
- paint device that records and replays QPainter commands.
+ really a bitmap, otherwise returns false. Finally, the QPicture class
+ is a paint device that records and replays QPainter commands.
A QPixmap can easily be displayed on the screen using QLabel or
one of QAbstractButton's subclasses (such as QPushButton and
QToolButton). QLabel has a pixmap property, whereas
- QAbstractButton has an icon property. And because QPixmap is a
- QPaintDevice subclass, QPainter can be used to draw directly onto
- pixmaps.
+ QAbstractButton has an icon property.
In addition to the ordinary constructors, a QPixmap can be
constructed using the static grabWidget() and grabWindow()
functions which creates a QPixmap and paints the given widget, or
- window, in it.
+ window, into it.
+
+ QPixmap objects can be passed around by value since the QPixmap
+ class uses implicit data sharing. For more information, see the \l
+ {Implicit Data Sharing} documentation. QPixmap objects can also be
+ streamed.
- Note that the pixel data in a pixmap is internal and is managed by
- the underlying window system. Pixels can only be accessed through
- QPainter functions or by converting the QPixmap to a QImage.
Depending on the system, QPixmap is stored using a RGB32 or a
premultiplied alpha format. If the image has an alpha channel, and
if the system allows, the preferred format is premultiplied alpha.
@@ -1611,6 +1602,13 @@ QPixmap QPixmap::transformed(const QMatrix &matrix, Qt::TransformationMode mode)
QPixmap are stored on the client side and don't use any GDI
resources).
+ Note that the pixel data in a pixmap is internal and is managed by
+ the underlying window system. Because QPixmap is a QPaintDevice
+ subclass, QPainter can be used to draw directly onto pixmaps.
+ Pixels can only be accessed through QPainter functions or by
+ converting the QPixmap to a QImage. However, the fill() function
+ is available for initializing the entire pixmap with a given color.
+
There are functions to convert between QImage and
QPixmap. Typically, the QImage class is used to load an image
file, optionally manipulating the image data, before the QImage
@@ -1625,11 +1623,6 @@ QPixmap QPixmap::transformed(const QMatrix &matrix, Qt::TransformationMode mode)
there are several functions that enables transformation of the
pixmap.
- QPixmap objects can be passed around by value since the QPixmap
- class uses implicit data sharing. For more information, see the \l
- {Implicit Data Sharing} documentation. QPixmap objects can also be
- streamed.
-
\tableofcontents
\section1 Reading and Writing Image Files
@@ -1686,12 +1679,15 @@ QPixmap QPixmap::transformed(const QMatrix &matrix, Qt::TransformationMode mode)
The hasAlphaChannel() returns true if the pixmap has a format that
respects the alpha channel, otherwise returns false, while the
hasAlpha() function returns true if the pixmap has an alpha
- channel \e or a mask (otherwise false).
+ channel \e or a mask (otherwise false). The mask() function returns
+ the mask as a QBitmap object, which can be set using setMask().
- The alphaChannel() function returns the alpha channel as a new
- QPixmap object, while the mask() function returns the mask as a
- QBitmap object. The alpha channel and mask can be set using the
- setAlphaChannel() and setMask() functions, respectively.
+ The createHeuristicMask() function creates and returns a 1-bpp
+ heuristic mask (i.e. a QBitmap) for this pixmap. It works by
+ selecting a color from one of the corners and then chipping away
+ pixels of that color, starting at all the edges. The
+ createMaskFromColor() function creates and returns a mask (i.e. a
+ QBitmap) for the pixmap based on a given color.
\row
\o Low-level information
@@ -1729,14 +1725,7 @@ QPixmap QPixmap::transformed(const QMatrix &matrix, Qt::TransformationMode mode)
\section1 Pixmap Transformations
QPixmap supports a number of functions for creating a new pixmap
- that is a transformed version of the original: The
- createHeuristicMask() function creates and returns a 1-bpp
- heuristic mask (i.e. a QBitmap) for this pixmap. It works by
- selecting a color from one of the corners and then chipping away
- pixels of that color, starting at all the edges. The
- createMaskFromColor() function creates and returns a mask (i.e. a
- QBitmap) for the pixmap based on a given color.
-
+ that is a transformed version of the original:
The scaled(), scaledToWidth() and scaledToHeight() functions
return scaled copies of the pixmap, while the copy() function
@@ -1751,11 +1740,6 @@ QPixmap QPixmap::transformed(const QMatrix &matrix, Qt::TransformationMode mode)
function returns the actual matrix used for transforming the
pixmap.
- There are also functions for changing attributes of a pixmap.
- in-place: The fill() function fills the entire image with the
- given color, the setMask() function sets a mask bitmap, and the
- setAlphaChannel() function sets the pixmap's alpha channel.
-
\sa QBitmap, QImage, QImageReader, QImageWriter
*/
@@ -1774,7 +1758,7 @@ QPixmap QPixmap::transformed(const QMatrix &matrix, Qt::TransformationMode mode)
Returns true if this pixmap has an alpha channel, \e or has a
mask, otherwise returns false.
- \sa hasAlphaChannel(), alphaChannel(), mask()
+ \sa hasAlphaChannel(), mask()
*/
bool QPixmap::hasAlpha() const
{
@@ -1785,7 +1769,7 @@ bool QPixmap::hasAlpha() const
Returns true if the pixmap has a format that respects the alpha
channel, otherwise returns false.
- \sa alphaChannel(), hasAlpha()
+ \sa hasAlpha()
*/
bool QPixmap::hasAlphaChannel() const
{
@@ -1793,7 +1777,7 @@ bool QPixmap::hasAlphaChannel() const
}
/*!
- \reimp
+ \internal
*/
int QPixmap::metric(PaintDeviceMetric metric) const
{
@@ -1802,6 +1786,7 @@ int QPixmap::metric(PaintDeviceMetric metric) const
/*!
\fn void QPixmap::setAlphaChannel(const QPixmap &alphaChannel)
+ \obsolete
Sets the alpha channel of this pixmap to the given \a alphaChannel
by converting the \a alphaChannel into 32 bit and using the
@@ -1839,6 +1824,8 @@ void QPixmap::setAlphaChannel(const QPixmap &alphaChannel)
}
/*!
+ \obsolete
+
Returns the alpha channel of the pixmap as a new grayscale QPixmap in which
each pixel's red, green, and blue values are given the alpha value of the
original pixmap. The color depth of the returned pixmap is the system depth
@@ -1857,7 +1844,9 @@ void QPixmap::setAlphaChannel(const QPixmap &alphaChannel)
\image alphachannelimage.png The pixmap and channelImage QPixmaps
\warning This is an expensive operation. The alpha channel of the
- pixmap is extracted dynamically from the pixeldata.
+ pixmap is extracted dynamically from the pixeldata. Most usecases of this
+ function are covered by QPainter and compositionModes which will normally
+ execute faster.
\sa setAlphaChannel(), {QPixmap#Pixmap Information}{Pixmap
Information}
@@ -1868,7 +1857,7 @@ QPixmap QPixmap::alphaChannel() const
}
/*!
- \reimp
+ \internal
*/
QPaintEngine *QPixmap::paintEngine() const
{
@@ -1878,7 +1867,7 @@ QPaintEngine *QPixmap::paintEngine() const
/*!
\fn QBitmap QPixmap::mask() const
- Extracts a bitmap mask from the pixmap's alphachannel.
+ Extracts a bitmap mask from the pixmap's alpha channel.
\warning This is potentially an expensive operation. The mask of
the pixmap is extracted dynamically from the pixeldata.
@@ -1917,9 +1906,6 @@ int QPixmap::defaultDepth()
#endif
}
-typedef void (*_qt_pixmap_cleanup_hook_64)(qint64);
-extern _qt_pixmap_cleanup_hook_64 qt_pixmap_cleanup_hook_64;
-
/*!
Detaches the pixmap from shared pixmap data.
@@ -1945,8 +1931,8 @@ void QPixmap::detach()
rasterData->image.detach();
}
- if (data->is_cached && qt_pixmap_cleanup_hook_64 && data->ref == 1)
- qt_pixmap_cleanup_hook_64(cacheKey());
+ if (data->is_cached && data->ref == 1)
+ QImagePixmapCleanupHooks::executePixmapHooks(this);
#if defined(Q_WS_MAC)
QMacPixmapData *macData = id == QPixmapData::MacClass ? static_cast<QMacPixmapData*>(data) : 0;
@@ -1960,18 +1946,13 @@ void QPixmap::detach()
if (data->ref != 1) {
*this = copy();
-#if defined(Q_WS_MAC) && !defined(QT_MAC_NO_QUICKDRAW)
- if (id == QPixmapData::MacClass) {
- macData->qd_alpha = 0;
- }
-#endif
}
++data->detach_no;
#if defined(Q_WS_X11)
if (data->classId() == QPixmapData::X11Class) {
QX11PixmapData *d = static_cast<QX11PixmapData*>(data);
- d->uninit = false;
+ d->flags &= ~QX11PixmapData::Uninitialized;
// reset the cache data
if (d->hd2) {
diff --git a/src/gui/image/qpixmap_mac.cpp b/src/gui/image/qpixmap_mac.cpp
index c281fe9..5568898 100644
--- a/src/gui/image/qpixmap_mac.cpp
+++ b/src/gui/image/qpixmap_mac.cpp
@@ -166,9 +166,6 @@ QMacPixmapData::QMacPixmapData(PixelType type)
: QPixmapData(type, MacClass), has_alpha(0), has_mask(0),
uninit(true), pixels(0), pixelsToFree(0), bytesPerRow(0),
cg_data(0), cg_dataBeingReleased(0), cg_mask(0),
-#ifndef QT_MAC_NO_QUICKDRAW
- qd_data(0), qd_alpha(0),
-#endif
pengine(0)
{
}
@@ -494,13 +491,6 @@ int QMacPixmapData::metric(QPaintDevice::PaintDeviceMetric theMetric) const
QMacPixmapData::~QMacPixmapData()
{
validDataPointers.remove(this);
-#ifndef QT_MAC_NO_QUICKDRAW
- macQDDisposeAlpha();
- if (qd_data) {
- DisposeGWorld(qd_data);
- qd_data = 0;
- }
-#endif
if (cg_mask) {
CGImageRelease(cg_mask);
cg_mask = 0;
@@ -589,48 +579,9 @@ void QMacPixmapData::macGetAlphaChannel(QMacPixmapData *pix, bool asMask) const
void QMacPixmapData::macSetHasAlpha(bool b)
{
has_alpha = b;
-#ifndef QT_MAC_NO_QUICKDRAW
- macQDDisposeAlpha(); //let it get created lazily
-#endif
macReleaseCGImageRef();
}
-#ifndef QT_MAC_NO_QUICKDRAW
-void QMacPixmapData::macQDDisposeAlpha()
-{
- if (qd_alpha) {
- DisposeGWorld(qd_alpha);
- qd_alpha = 0;
- }
-}
-
-void QMacPixmapData::macQDUpdateAlpha()
-{
- macQDDisposeAlpha(); // get rid of alpha pixmap
- if (!has_alpha && !has_mask)
- return;
-
- //setup
- Rect rect;
- SetRect(&rect, 0, 0, w, h);
- const int params = alignPix | stretchPix | newDepth;
- NewGWorld(&qd_alpha, 32, &rect, 0, 0, params);
- int *dptr = (int *)GetPixBaseAddr(GetGWorldPixMap(qd_alpha)), *drow;
- unsigned short dbpr = GetPixRowBytes(GetGWorldPixMap(qd_alpha));
- const int *sptr = (int*)pixels, *srow;
- const uint sbpr = bytesPerRow;
- uchar clr;
- for (int y = 0; y < h; ++y) {
- drow = (int*)((char *)dptr + (y * dbpr));
- srow = (int*)((char *)sptr + (y * sbpr));
- for (int x=0; x < w; x++) {
- clr = qAlpha(*(srow + x));
- *(drow + x) = qRgba(~clr, ~clr, ~clr, 0);
- }
- }
-}
-#endif
-
void QMacPixmapData::macCreateCGImageRef()
{
Q_ASSERT(cg_data == 0);
@@ -979,31 +930,12 @@ QPixmap QPixmap::grabWindow(WId window, int x, int y, int w, int h)
relocated.
\warning This function is only available on Mac OS X.
+ \warning As of Qt 4.6, this function \e{always} returns zero.
*/
Qt::HANDLE QPixmap::macQDHandle() const
{
-#ifndef QT_MAC_NO_QUICKDRAW
- QMacPixmapData *d = static_cast<QMacPixmapData*>(data);
- if (!d->qd_data) { //create the qd data
- Rect rect;
- SetRect(&rect, 0, 0, d->w, d->h);
- unsigned long qdformat = k32ARGBPixelFormat;
- GWorldFlags qdflags = 0;
- //we play such games so we can use the same buffer in CG as QD this
- //makes our merge much simpler, at some point the hacks will go away
- //because QD will be removed, but until that day this keeps them coexisting
- if (QSysInfo::ByteOrder == QSysInfo::LittleEndian)
- qdformat = k32BGRAPixelFormat;
-
- if(NewGWorldFromPtr(&d->qd_data, qdformat, &rect, 0, 0, qdflags,
- (char*)d->pixels, d->bytesPerRow) != noErr)
- qWarning("Qt: internal: QPixmap::init error (%d %d %d %d)", rect.left, rect.top, rect.right, rect.bottom);
- }
- return d->qd_data;
-#else
return 0;
-#endif
}
/*! \internal
@@ -1013,18 +945,11 @@ Qt::HANDLE QPixmap::macQDHandle() const
long as it can be relocated.
\warning This function is only available on Mac OS X.
+ \warning As of Qt 4.6, this function \e{always} returns zero.
*/
Qt::HANDLE QPixmap::macQDAlphaHandle() const
{
-#ifndef QT_MAC_NO_QUICKDRAW
- QMacPixmapData *d = static_cast<QMacPixmapData*>(data);
- if (d->has_alpha || d->has_mask) {
- if (!d->qd_alpha) //lazily created
- d->macQDUpdateAlpha();
- return d->qd_alpha;
- }
-#endif
return 0;
}
@@ -1094,7 +1019,6 @@ IconRef qt_mac_create_iconref(const QPixmap &px)
if (px.isNull())
return 0;
- QMacSavedPortInfo pi; //save the current state
//create icon
IconFamilyHandle iconFamily = reinterpret_cast<IconFamilyHandle>(NewHandle(0));
//create data
@@ -1169,25 +1093,6 @@ IconRef qt_mac_create_iconref(const QPixmap &px)
}
#endif
-QPixmap qt_mac_convert_iconref(const IconRef icon, int width, int height)
-{
- QPixmap ret(width, height);
- ret.fill(QColor(0, 0, 0, 0));
-
- CGRect rect = CGRectMake(0, 0, width, height);
-
- CGContextRef ctx = qt_mac_cg_context(&ret);
- CGAffineTransform old_xform = CGContextGetCTM(ctx);
- CGContextConcatCTM(ctx, CGAffineTransformInvert(old_xform));
- CGContextConcatCTM(ctx, CGAffineTransformIdentity);
-
- ::RGBColor b;
- b.blue = b.green = b.red = 255*255;
- PlotIconRefInContext(ctx, &rect, kAlignNone, kTransformNone, &b, kPlotIconRefNormalFlags, icon);
- CGContextRelease(ctx);
- return ret;
-}
-
/*! \internal */
QPaintEngine* QMacPixmapData::paintEngine() const
{
@@ -1273,6 +1178,7 @@ QPixmap QPixmap::fromMacCGImageRef(CGImageRef image)
const size_t w = CGImageGetWidth(image),
h = CGImageGetHeight(image);
QPixmap ret(w, h);
+ ret.fill(Qt::transparent);
CGRect rect = CGRectMake(0, 0, w, h);
CGContextRef ctx = qt_mac_cg_context(&ret);
qt_mac_drawCGImage(ctx, &rect, image);
diff --git a/src/gui/image/qpixmap_mac_p.h b/src/gui/image/qpixmap_mac_p.h
index a3ff0d3..ea6fe60 100644
--- a/src/gui/image/qpixmap_mac_p.h
+++ b/src/gui/image/qpixmap_mac_p.h
@@ -109,11 +109,6 @@ private:
uint bytesPerRow;
QRectF cg_mask_rect;
CGImageRef cg_data, cg_dataBeingReleased, cg_mask;
-#ifndef QT_MAC_NO_QUICKDRAW
- GWorldPtr qd_data, qd_alpha;
- void macQDDisposeAlpha();
- void macQDUpdateAlpha();
-#endif
static QSet<QMacPixmapData*> validDataPointers;
QPaintEngine *pengine;
diff --git a/src/gui/image/qpixmap_s60.cpp b/src/gui/image/qpixmap_s60.cpp
index 0460c30..58b3ee4 100644
--- a/src/gui/image/qpixmap_s60.cpp
+++ b/src/gui/image/qpixmap_s60.cpp
@@ -1,9 +1,9 @@
/****************************************************************************
**
-** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
-** This file is part of the $MODULE$ of the Qt Toolkit.
+** This file is part of the QtGui of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/src/gui/image/qpixmap_win.cpp b/src/gui/image/qpixmap_win.cpp
index 2c84ce7..56b53bd 100644
--- a/src/gui/image/qpixmap_win.cpp
+++ b/src/gui/image/qpixmap_win.cpp
@@ -179,13 +179,7 @@ QPixmap QPixmap::fromWinHBITMAP(HBITMAP bitmap, HBitmapFormat format)
BITMAP bitmap_info;
memset(&bitmap_info, 0, sizeof(BITMAP));
- int res;
- QT_WA({
- res = GetObjectW(bitmap, sizeof(BITMAP), &bitmap_info);
- } , {
- res = GetObjectA(bitmap, sizeof(BITMAP), &bitmap_info);
- });
-
+ int res = GetObject(bitmap, sizeof(BITMAP), &bitmap_info);
if (!res) {
qErrnoWarning("QPixmap::fromWinHBITMAP(), failed to get bitmap info");
return QPixmap();
@@ -417,9 +411,9 @@ QPixmap convertHIconToPixmap( const HICON icon, bool large)
QPixmap loadIconFromShell32( int resourceId, int size )
{
#ifdef Q_OS_WINCE
- HMODULE hmod = LoadLibrary((const wchar_t *) QString::fromLatin1("ceshell.dll").utf16());
+ HMODULE hmod = LoadLibrary(L"ceshell.dll");
#else
- HMODULE hmod = LoadLibraryA("shell32.dll");
+ HMODULE hmod = LoadLibrary(L"shell32.dll");
#endif
if( hmod ) {
HICON iconHandle = (HICON)LoadImage(hmod, MAKEINTRESOURCE(resourceId), IMAGE_ICON, size, size, 0);
diff --git a/src/gui/image/qpixmap_x11.cpp b/src/gui/image/qpixmap_x11.cpp
index 86cf515..be3d070 100644
--- a/src/gui/image/qpixmap_x11.cpp
+++ b/src/gui/image/qpixmap_x11.cpp
@@ -313,7 +313,7 @@ int Q_GUI_EXPORT qt_x11_preferred_pixmap_depth = 0;
QX11PixmapData::QX11PixmapData(PixelType type)
: QPixmapData(type, X11Class), hd(0),
- uninit(true), read_only(false), x11_mask(0), picture(0), mask_picture(0), hd2(0),
+ flags(Uninitialized), x11_mask(0), picture(0), mask_picture(0), hd2(0), gl_surface(0),
share_mode(QPixmap::ImplicitlyShared), pengine(0)
{
}
@@ -1217,7 +1217,7 @@ void QX11PixmapData::release()
XFreePixmap(xinfo.display(), hd2);
hd2 = 0;
}
- if (!read_only)
+ if (!(flags & Readonly))
XFreePixmap(xinfo.display(), hd);
hd = 0;
}
@@ -1876,7 +1876,7 @@ QPixmap QX11PixmapData::transformed(const QTransform &transform,
} else { // color pixmap
QPixmap pm;
QX11PixmapData *x11Data = static_cast<QX11PixmapData*>(pm.data);
- x11Data->uninit = false;
+ x11Data->flags &= ~QX11PixmapData::Uninitialized;
x11Data->xinfo = xinfo;
x11Data->d = d;
x11Data->w = w;
@@ -2018,7 +2018,7 @@ QPixmap QPixmap::grabWindow(WId window, int x, int y, int w, int h)
QPixmap pm(data);
- data->uninit = false;
+ data->flags &= ~QX11PixmapData::Uninitialized;
pm.x11SetScreen(scr);
GC gc = XCreateGC(dpy, pm.handle(), 0, 0);
@@ -2060,7 +2060,7 @@ QPaintEngine* QX11PixmapData::paintEngine() const
{
QX11PixmapData *that = const_cast<QX11PixmapData*>(this);
- if (read_only && share_mode == QPixmap::ImplicitlyShared) {
+ if ((flags & Readonly) && share_mode == QPixmap::ImplicitlyShared) {
// if someone wants to draw onto us, copy the shared contents
// and turn it into a fully fledged QPixmap
::Pixmap hd_copy = XCreatePixmap(X11->display, RootWindow(X11->display, xinfo.screen()),
@@ -2082,7 +2082,7 @@ QPaintEngine* QX11PixmapData::paintEngine() const
XFreeGC(X11->display, gc);
}
that->hd = hd_copy;
- that->read_only = false;
+ that->flags &= ~QX11PixmapData::Readonly;
}
if (!that->pengine)
@@ -2133,7 +2133,7 @@ void QX11PixmapData::copy(const QPixmapData *data, const QRect &rect)
setSerialNumber(++qt_pixmap_serial);
- uninit = false;
+ flags &= ~Uninitialized;
xinfo = x11Data->xinfo;
d = x11Data->d;
w = rect.width();
@@ -2201,7 +2201,7 @@ void QX11PixmapData::convertToARGB32(bool preserveContents)
return;
// Q_ASSERT(count == 1);
- if (read_only && share_mode == QPixmap::ExplicitlyShared)
+ if ((flags & Readonly) && share_mode == QPixmap::ExplicitlyShared)
return;
Pixmap pm = XCreatePixmap(X11->display, RootWindow(X11->display, xinfo.screen()),
@@ -2211,10 +2211,10 @@ void QX11PixmapData::convertToARGB32(bool preserveContents)
if (picture) {
if (preserveContents)
XRenderComposite(X11->display, PictOpSrc, picture, 0, p, 0, 0, 0, 0, 0, 0, w, h);
- if (!read_only)
+ if (!(flags & Readonly))
XRenderFreePicture(X11->display, picture);
}
- if (hd && !read_only)
+ if (hd && !(flags & Readonly))
XFreePixmap(X11->display, hd);
if (x11_mask) {
XFreePixmap(X11->display, x11_mask);
@@ -2252,9 +2252,8 @@ QPixmap QPixmap::fromX11Pixmap(Qt::HANDLE pixmap, QPixmap::ShareMode mode)
QX11PixmapData *data = new QX11PixmapData(depth == 1 ? QPixmapData::BitmapType : QPixmapData::PixmapType);
data->setSerialNumber(++qt_pixmap_serial);
- data->read_only = true;
+ data->flags = QX11PixmapData::Readonly;
data->share_mode = mode;
- data->uninit = false;
data->w = width;
data->h = height;
data->is_null = (width <= 0 || height <= 0);
diff --git a/src/gui/image/qpixmap_x11_p.h b/src/gui/image/qpixmap_x11_p.h
index 3de9a0f..835fea4 100644
--- a/src/gui/image/qpixmap_x11_p.h
+++ b/src/gui/image/qpixmap_x11_p.h
@@ -99,6 +99,7 @@ private:
friend class QX11PaintEngine;
friend class QX11WindowSurface;
friend class QRasterWindowSurface;
+ friend class QGLContextPrivate; // Needs to access xinfo, gl_surface & flags
void release();
@@ -108,14 +109,21 @@ private:
Qt::HANDLE hd;
- uint uninit : 1;
- uint read_only : 1;
+ enum Flag {
+ NoFlags = 0x0,
+ Uninitialized = 0x1,
+ Readonly = 0x2,
+ InvertedWhenBoundToTexture = 0x4,
+ GlSurfaceCreatedWithAlpha = 0x8
+ };
+ uint flags;
QX11Info xinfo;
Qt::HANDLE x11_mask;
Qt::HANDLE picture;
Qt::HANDLE mask_picture;
Qt::HANDLE hd2; // sorted in the default display depth
+ Qt::HANDLE gl_surface;
#ifndef QT_NO_XRENDER
void convertToARGB32(bool preserveContents = true);
#endif
diff --git a/src/gui/image/qpixmapcache.cpp b/src/gui/image/qpixmapcache.cpp
index af13375..aedc90c 100644
--- a/src/gui/image/qpixmapcache.cpp
+++ b/src/gui/image/qpixmapcache.cpp
@@ -64,25 +64,24 @@ QT_BEGIN_NAMESPACE
access the global pixmap cache. It creates an internal QCache
object for caching the pixmaps.
- The cache associates a pixmap with a string as a key or with a QPixmapCache::Key.
- The QPixmapCache::Key is faster than using strings as key. The string API is
- very convenient for complex keys but the QPixmapCache::Key API will be very efficient
- and convenient for a 1 object <-> 1 pixmap mapping (then you can store the key as
- a member).
- If two pixmaps are inserted into the cache using equal keys, then the
- last pixmap will hide the first pixmap. The QHash and QCache classes do
- exactly the same.
+ The cache associates a pixmap with a user-provided string as a key,
+ or with a QPixmapCache::Key that the cache generates.
+ Using QPixmapCache::Key for keys is faster than using strings. The string API is
+ very convenient for complex keys but the QPixmapCache::Key API will be very
+ efficient and convenient for a one-to-one object-to-pixmap mapping \mdash in
+ this case, you can store the keys as members of an object.
+
+ If two pixmaps are inserted into the cache using equal keys then the
+ last pixmap will replace the first pixmap in the cache. This follows the
+ behavior of the QHash and QCache classes.
The cache becomes full when the total size of all pixmaps in the
cache exceeds cacheLimit(). The initial cache limit is
- 2048 KB(2 MB) for Embedded, 10240 KB (10
- MB) for Desktops; it is changed with setCacheLimit().
- A pixmap takes roughly (\e{width} * \e{height} * \e{depth})/8 bytes of memory.
-
- The \e{Qt Quarterly} article
- \l{http://doc.trolltech.com/qq/qq12-qpixmapcache.html}{Optimizing
- with QPixmapCache} explains how to use QPixmapCache to speed up
- applications by caching the results of painting.
+ 2048 KB (2 MB) on embedded platforms, 10240 KB (10 MB) on desktop
+ platforms; you can change this by calling setCacheLimit() with the
+ required value.
+ A pixmap takes roughly (\e{width} * \e{height} * \e{depth})/8 bytes of
+ memory.
\sa QCache, QPixmap
*/
@@ -96,6 +95,17 @@ static int cache_limit = 10240; // 10 MB cache limit for desktop
#endif
/*!
+ \class QPixmapCache::Key
+ \brief The QPixmapCache::Key class can be used for efficient access
+ to the QPixmapCache.
+ \since 4.6
+
+ Use QPixmapCache::insert() to receive an instance of Key generated
+ by the pixmap cache. You can store the key in your own objects for
+ a very efficient one-to-one object-to-pixmap mapping.
+*/
+
+/*!
Constructs an empty Key object.
*/
QPixmapCache::Key::Key() : d(0)
@@ -114,7 +124,7 @@ QPixmapCache::Key::Key(const Key &other)
}
/*!
- Destructor; called immediately before the object is deleted.
+ Destroys the key.
*/
QPixmapCache::Key::~Key()
{
@@ -125,7 +135,8 @@ QPixmapCache::Key::~Key()
/*!
\internal
- Returns true if this key is the same as the given \a key.
+ Returns true if this key is the same as the given \a key; otherwise returns
+ false.
*/
bool QPixmapCache::Key::operator ==(const Key &key) const
{
@@ -410,7 +421,7 @@ QPixmapCache::KeyData* QPMCache::getKeyData(QPixmapCache::Key *key)
Q_GLOBAL_STATIC(QPMCache, pm_cache)
/*!
- \obsolete
+ \obsolete
\overload
Returns the pixmap associated with the \a key in the cache, or
@@ -443,7 +454,7 @@ bool QPixmapCache::find(const QString &key, QPixmap& pixmap)
}
/*!
- Looks for a cached pixmap associated with the \a key in the cache.
+ Looks for a cached pixmap associated with the given \a key in the cache.
If the pixmap is found, the function sets \a pixmap to that pixmap and
returns true; otherwise it leaves \a pixmap alone and returns false.
@@ -462,10 +473,10 @@ bool QPixmapCache::find(const QString &key, QPixmap* pixmap)
}
/*!
- Looks for a cached pixmap associated with the \a key in the cache.
+ Looks for a cached pixmap associated with the given \a key in the cache.
If the pixmap is found, the function sets \a pixmap to that pixmap and
returns true; otherwise it leaves \a pixmap alone and returns false. If
- the pixmap is not found, it means that the \a key is not valid anymore,
+ the pixmap is not found, it means that the \a key is no longer valid,
so it will be released for the next insertion.
\since 4.6
@@ -507,8 +518,8 @@ bool QPixmapCache::insert(const QString &key, const QPixmap &pixmap)
}
/*!
- Inserts a copy of the pixmap \a pixmap into
- the cache and return you the key.
+ Inserts a copy of the given \a pixmap into the cache and returns a key
+ that can be used to retrieve it.
When a pixmap is inserted and the cache is about to exceed its
limit, it removes pixmaps until there is enough room for the
@@ -527,9 +538,9 @@ QPixmapCache::Key QPixmapCache::insert(const QPixmap &pixmap)
}
/*!
- Replace the pixmap associated to the \a key into
- the cache. It return true if the pixmap \a pixmap has been correctly
- inserted into the cache false otherwise.
+ Replaces the pixmap associated with the given \a key with the \a pixmap
+ specified. Returns true if the \a pixmap has been correctly inserted into
+ the cache; otherwise returns false.
\sa setCacheLimit(), insert()
@@ -546,8 +557,8 @@ bool QPixmapCache::replace(const Key &key, const QPixmap &pixmap)
/*!
Returns the cache limit (in kilobytes).
- The default cache limit is 2048 KB for Embedded, 10240 KB for
- Desktops.
+ The default cache limit is 2048 KB on embedded platforms, 10240 KB on
+ desktop platforms.
\sa setCacheLimit()
*/
@@ -560,8 +571,8 @@ int QPixmapCache::cacheLimit()
/*!
Sets the cache limit to \a n kilobytes.
- The default setting is 2048 KB for Embedded, 10240 KB for
- Desktops.
+ The default setting is 2048 KB on embedded platforms, 10240 KB on
+ desktop platforms.
\sa cacheLimit()
*/
@@ -581,7 +592,7 @@ void QPixmapCache::remove(const QString &key)
}
/*!
- Removes the pixmap associated with \a key from the cache and release
+ Removes the pixmap associated with \a key from the cache and releases
the key for a future insertion.
\since 4.6
diff --git a/src/gui/image/qpixmapcache.h b/src/gui/image/qpixmapcache.h
index c86f3fa..de589fc 100644
--- a/src/gui/image/qpixmapcache.h
+++ b/src/gui/image/qpixmapcache.h
@@ -54,7 +54,7 @@ class Q_GUI_EXPORT QPixmapCache
{
public:
class KeyData;
- class Key
+ class Q_GUI_EXPORT Key
{
public:
Key();
diff --git a/src/gui/image/qpixmapdata_p.h b/src/gui/image/qpixmapdata_p.h
index 29dafaf..32b419e 100644
--- a/src/gui/image/qpixmapdata_p.h
+++ b/src/gui/image/qpixmapdata_p.h
@@ -116,6 +116,7 @@ private:
friend class QPixmap;
friend class QGLContextPrivate;
friend class QX11PixmapData;
+ friend class QGLTextureCache; //Needs to check the reference count
QAtomicInt ref;
int detach_no;
diff --git a/src/gui/image/qpixmapfilter.cpp b/src/gui/image/qpixmapfilter.cpp
index c5f3663..184bd65 100644
--- a/src/gui/image/qpixmapfilter.cpp
+++ b/src/gui/image/qpixmapfilter.cpp
@@ -293,8 +293,6 @@ int QPixmapConvolutionFilter::columns() const
/*!
- \reimp
-
\internal
*/
QRectF QPixmapConvolutionFilter::boundingRectFor(const QRectF &rect) const
@@ -405,8 +403,6 @@ static void convolute(
}
/*!
- \reimp
-
\internal
*/
void QPixmapConvolutionFilter::draw(QPainter *painter, const QPointF &p, const QPixmap &src, const QRectF& srcRect) const
@@ -581,8 +577,6 @@ void QPixmapColorizeFilter::setColor(const QColor &color)
}
/*!
- \reimp
-
\internal
*/
void QPixmapColorizeFilter::draw(QPainter *painter, const QPointF &dest, const QPixmap &src, const QRectF &srcRect) const
@@ -805,8 +799,6 @@ void QPixmapDropShadowFilter::setOffset(const QPointF &offset)
*/
/*!
- \reimp
-
\internal
*/
QRectF QPixmapDropShadowFilter::boundingRectFor(const QRectF &rect) const
@@ -822,8 +814,6 @@ QRectF QPixmapDropShadowFilter::boundingRectFor(const QRectF &rect) const
}
/*!
- \reimp
-
\internal
*/
void QPixmapDropShadowFilter::draw(QPainter *p,
diff --git a/src/gui/image/qpixmapfilter_p.h b/src/gui/image/qpixmapfilter_p.h
index 83fc1b9..51292b3 100644
--- a/src/gui/image/qpixmapfilter_p.h
+++ b/src/gui/image/qpixmapfilter_p.h
@@ -70,7 +70,7 @@ class QPixmapFilterPrivate;
class Q_GUI_EXPORT QPixmapFilter : public QObject
{
Q_OBJECT
- Q_DECLARE_SCOPED_PRIVATE(QPixmapFilter)
+ Q_DECLARE_PRIVATE(QPixmapFilter)
public:
virtual ~QPixmapFilter() = 0;
@@ -98,7 +98,7 @@ class QPixmapConvolutionFilterPrivate;
class Q_GUI_EXPORT QPixmapConvolutionFilter : public QPixmapFilter
{
Q_OBJECT
- Q_DECLARE_SCOPED_PRIVATE(QPixmapConvolutionFilter)
+ Q_DECLARE_PRIVATE(QPixmapConvolutionFilter)
public:
QPixmapConvolutionFilter(QObject *parent = 0);
@@ -122,7 +122,7 @@ class QPixmapColorizeFilterPrivate;
class Q_GUI_EXPORT QPixmapColorizeFilter : public QPixmapFilter
{
Q_OBJECT
- Q_DECLARE_SCOPED_PRIVATE(QPixmapColorizeFilter)
+ Q_DECLARE_PRIVATE(QPixmapColorizeFilter)
public:
QPixmapColorizeFilter(QObject *parent = 0);
@@ -138,7 +138,7 @@ class QPixmapDropShadowFilterPrivate;
class Q_GUI_EXPORT QPixmapDropShadowFilter : public QPixmapFilter
{
Q_OBJECT
- Q_DECLARE_SCOPED_PRIVATE(QPixmapDropShadowFilter)
+ Q_DECLARE_PRIVATE(QPixmapDropShadowFilter)
public:
QPixmapDropShadowFilter(QObject *parent = 0);
diff --git a/src/gui/inputmethod/qcoefepinputcontext_p.h b/src/gui/inputmethod/qcoefepinputcontext_p.h
index e63f045..5e6450c 100644
--- a/src/gui/inputmethod/qcoefepinputcontext_p.h
+++ b/src/gui/inputmethod/qcoefepinputcontext_p.h
@@ -1,9 +1,9 @@
/****************************************************************************
**
-** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
-** This file is part of the $MODULE$ of the Qt Toolkit.
+** This file is part of the QtGui of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/src/gui/inputmethod/qcoefepinputcontext_s60.cpp b/src/gui/inputmethod/qcoefepinputcontext_s60.cpp
index 2ef1175..d4f8341 100644
--- a/src/gui/inputmethod/qcoefepinputcontext_s60.cpp
+++ b/src/gui/inputmethod/qcoefepinputcontext_s60.cpp
@@ -1,9 +1,9 @@
/****************************************************************************
**
-** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
-** This file is part of the $MODULE$ of the Qt Toolkit.
+** This file is part of the QtGui of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/src/gui/inputmethod/qinputcontext.h b/src/gui/inputmethod/qinputcontext.h
index 87112b5..e4e5f9d 100644
--- a/src/gui/inputmethod/qinputcontext.h
+++ b/src/gui/inputmethod/qinputcontext.h
@@ -83,7 +83,7 @@ class QInputContextPrivate;
class Q_GUI_EXPORT QInputContext : public QObject
{
Q_OBJECT
- Q_DECLARE_SCOPED_PRIVATE(QInputContext)
+ Q_DECLARE_PRIVATE(QInputContext)
public:
explicit QInputContext(QObject* parent = 0);
virtual ~QInputContext();
diff --git a/src/gui/inputmethod/qinputcontextplugin.h b/src/gui/inputmethod/qinputcontextplugin.h
index 8ab8f84..c0c127b 100644
--- a/src/gui/inputmethod/qinputcontextplugin.h
+++ b/src/gui/inputmethod/qinputcontextplugin.h
@@ -66,7 +66,7 @@ QT_BEGIN_NAMESPACE
QT_MODULE(Gui)
-#if !defined(QT_NO_IM) && !defined(QT_NO_LIBRARY)
+#if !defined(QT_NO_IM)
class QInputContext;
class QInputContextPluginPrivate;
diff --git a/src/gui/inputmethod/qmacinputcontext_p.h b/src/gui/inputmethod/qmacinputcontext_p.h
index 69ac3e8..4fcba9a 100644
--- a/src/gui/inputmethod/qmacinputcontext_p.h
+++ b/src/gui/inputmethod/qmacinputcontext_p.h
@@ -61,7 +61,7 @@ QT_BEGIN_NAMESPACE
class Q_GUI_EXPORT QMacInputContext : public QInputContext
{
Q_OBJECT
- //Q_DECLARE_SCOPED_PRIVATE(QMacInputContext)
+ //Q_DECLARE_PRIVATE(QMacInputContext)
void createTextDocument();
public:
explicit QMacInputContext(QObject* parent = 0);
diff --git a/src/gui/inputmethod/qwininputcontext_win.cpp b/src/gui/inputmethod/qwininputcontext_win.cpp
index a8c5092..da7e84f 100644
--- a/src/gui/inputmethod/qwininputcontext_win.cpp
+++ b/src/gui/inputmethod/qwininputcontext_win.cpp
@@ -45,16 +45,11 @@
#include "qfont.h"
#include "qwidget.h"
#include "qapplication.h"
-#include "qlibrary.h"
#include "qevent.h"
#include "qtextformat.h"
//#define Q_IME_DEBUG
-/* Active Input method support on Win95/98/NT */
-#include <objbase.h>
-#include <initguid.h>
-
#ifdef Q_IME_DEBUG
#include "qdebug.h"
#endif
@@ -218,25 +213,6 @@ static DWORD WM_MSIME_MOUSE = 0;
QWinInputContext::QWinInputContext(QObject *parent)
: QInputContext(parent), recursionGuard(false)
{
- if (QSysInfo::WindowsVersion < QSysInfo::WV_2000) {
- // try to get the Active IMM COM object on Win95/98/NT, where english versions don't
- // support the regular Windows input methods.
- if (CoCreateInstance(CLSID_CActiveIMM, NULL, CLSCTX_INPROC_SERVER,
- IID_IActiveIMMApp, (LPVOID *)&aimm) != S_OK) {
- aimm = 0;
- }
- if (aimm && (aimm->QueryInterface(IID_IActiveIMMMessagePumpOwner, (LPVOID *)&aimmpump) != S_OK ||
- aimm->Activate(true) != S_OK)) {
- aimm->Release();
- aimm = 0;
- if (aimmpump)
- aimmpump->Release();
- aimmpump = 0;
- }
- if (aimmpump)
- aimmpump->Start();
- }
-
#ifndef Q_WS_WINCE
QSysInfo::WinVersion ver = QSysInfo::windowsVersion();
if (ver & QSysInfo::WV_NT_based && ver >= QSysInfo::WV_VISTA) {
@@ -262,25 +238,21 @@ QWinInputContext::QWinInputContext(QObject *parent)
delete []lpList;
}
} else {
- // figure out whether a RTL language is installed
- typedef BOOL(WINAPI *PtrIsValidLanguageGroup)(DWORD,DWORD);
- PtrIsValidLanguageGroup isValidLanguageGroup = (PtrIsValidLanguageGroup)QLibrary::resolve(QLatin1String("kernel32"), "IsValidLanguageGroup");
- if (isValidLanguageGroup) {
- qt_use_rtl_extensions = isValidLanguageGroup(LGRPID_ARABIC, LGRPID_INSTALLED)
- || isValidLanguageGroup(LGRPID_HEBREW, LGRPID_INSTALLED);
- }
- qt_use_rtl_extensions |= IsValidLocale(MAKELCID(MAKELANGID(LANG_ARABIC, SUBLANG_DEFAULT), SORT_DEFAULT), LCID_INSTALLED)
- || IsValidLocale(MAKELCID(MAKELANGID(LANG_HEBREW, SUBLANG_DEFAULT), SORT_DEFAULT), LCID_INSTALLED)
+ // figure out whether a RTL language is installed
+ qt_use_rtl_extensions = IsValidLanguageGroup(LGRPID_ARABIC, LGRPID_INSTALLED)
+ || IsValidLanguageGroup(LGRPID_HEBREW, LGRPID_INSTALLED)
+ || IsValidLocale(MAKELCID(MAKELANGID(LANG_ARABIC, SUBLANG_DEFAULT), SORT_DEFAULT), LCID_INSTALLED)
+ || IsValidLocale(MAKELCID(MAKELANGID(LANG_HEBREW, SUBLANG_DEFAULT), SORT_DEFAULT), LCID_INSTALLED)
#ifdef LANG_SYRIAC
- || IsValidLocale(MAKELCID(MAKELANGID(LANG_SYRIAC, SUBLANG_DEFAULT), SORT_DEFAULT), LCID_INSTALLED)
+ || IsValidLocale(MAKELCID(MAKELANGID(LANG_SYRIAC, SUBLANG_DEFAULT), SORT_DEFAULT), LCID_INSTALLED)
#endif
- || IsValidLocale(MAKELCID(MAKELANGID(LANG_FARSI, SUBLANG_DEFAULT), SORT_DEFAULT), LCID_INSTALLED);
+ || IsValidLocale(MAKELCID(MAKELANGID(LANG_FARSI, SUBLANG_DEFAULT), SORT_DEFAULT), LCID_INSTALLED);
}
#else
qt_use_rtl_extensions = false;
#endif
- WM_MSIME_MOUSE = QT_WA_INLINE(RegisterWindowMessage(L"MSIMEMouseOperation"), RegisterWindowMessageA("MSIMEMouseOperation"));
+ WM_MSIME_MOUSE = RegisterWindowMessage(L"MSIMEMouseOperation");
}
QWinInputContext::~QWinInputContext()
@@ -337,26 +309,13 @@ static void notifyIME(HIMC imc, DWORD dwAction, DWORD dwIndex, DWORD dwValue)
ImmNotifyIME(imc, dwAction, dwIndex, dwValue);
}
-static LONG getCompositionString(HIMC himc, DWORD dwIndex, LPVOID lpbuf, DWORD dBufLen, bool *unicode = 0)
+static LONG getCompositionString(HIMC himc, DWORD dwIndex, LPVOID lpbuf, DWORD dBufLen)
{
LONG len = 0;
- if (unicode)
- *unicode = true;
if (aimm)
aimm->GetCompositionStringW(himc, dwIndex, dBufLen, &len, lpbuf);
else
- {
- if(QSysInfo::WindowsVersion != QSysInfo::WV_95) {
- len = ImmGetCompositionStringW(himc, dwIndex, lpbuf, dBufLen);
- }
-#if !defined(Q_WS_WINCE)
- else {
- len = ImmGetCompositionStringA(himc, dwIndex, lpbuf, dBufLen);
- if (unicode)
- *unicode = false;
- }
-#endif
- }
+ len = ImmGetCompositionString(himc, dwIndex, lpbuf, dBufLen);
return len;
}
@@ -367,29 +326,28 @@ static int getCursorPosition(HIMC himc)
static QString getString(HIMC himc, DWORD dwindex, int *selStart = 0, int *selLength = 0)
{
- static char *buffer = 0;
+ static wchar_t *buffer = 0;
static int buflen = 0;
int len = getCompositionString(himc, dwindex, 0, 0) + 1;
if (!buffer || len > buflen) {
delete [] buffer;
buflen = qMin(len, 256);
- buffer = new char[buflen];
+ buffer = new wchar_t[buflen];
}
- bool unicode = true;
- len = getCompositionString(himc, dwindex, buffer, buflen, &unicode);
+ len = getCompositionString(himc, dwindex, buffer, buflen * sizeof(wchar_t));
if (selStart) {
- static char *attrbuffer = 0;
+ static wchar_t *attrbuffer = 0;
static int attrbuflen = 0;
int attrlen = getCompositionString(himc, dwindex, 0, 0) + 1;
if (!attrbuffer || attrlen> attrbuflen) {
delete [] attrbuffer;
attrbuflen = qMin(attrlen, 256);
- attrbuffer = new char[attrbuflen];
+ attrbuffer = new wchar_t[attrbuflen];
}
- attrlen = getCompositionString(himc, GCS_COMPATTR, attrbuffer, attrbuflen);
+ attrlen = getCompositionString(himc, GCS_COMPATTR, attrbuffer, attrbuflen * sizeof(wchar_t));
*selStart = attrlen+1;
*selLength = -1;
for (int i = 0; i < attrlen; i++) {
@@ -403,18 +361,8 @@ static QString getString(HIMC himc, DWORD dwindex, int *selStart = 0, int *selLe
if (len <= 0)
return QString();
- if (unicode) {
- return QString((QChar *)buffer, len/sizeof(QChar));
- }
- else {
- buffer[len] = 0;
- WCHAR *wc = new WCHAR[len+1];
- int l = MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED,
- buffer, len, wc, len+1);
- QString res = QString((QChar *)wc, l);
- delete [] wc;
- return res;
- }
+
+ return QString((QChar*)buffer, len / sizeof(QChar));
}
void QWinInputContext::TranslateMessage(const MSG *msg)
@@ -428,11 +376,7 @@ LRESULT QWinInputContext::DefWindowProc(HWND hwnd, UINT msg, WPARAM wParam, LPAR
LRESULT retval;
if (!aimm || aimm->OnDefWindowProc(hwnd, msg, wParam, lParam, &retval) != S_OK)
{
- QT_WA({
- retval = ::DefWindowProc(hwnd, msg, wParam, lParam);
- } , {
- retval = ::DefWindowProcA(hwnd,msg, wParam, lParam);
- });
+ retval = ::DefWindowProc(hwnd, msg, wParam, lParam);
}
return retval;
}
@@ -454,21 +398,13 @@ void QWinInputContext::update()
HFONT hf;
hf = f.handle();
- QT_WA({
- LOGFONT lf;
- if (GetObject(hf, sizeof(lf), &lf))
- if (aimm)
- aimm->SetCompositionFontW(imc, &lf);
- else
- ImmSetCompositionFont(imc, &lf);
- } , {
- LOGFONTA lf;
- if (GetObjectA(hf, sizeof(lf), &lf))
- if (aimm)
- aimm->SetCompositionFontA(imc, &lf);
- else
- ImmSetCompositionFontA(imc, &lf);
- });
+ LOGFONT lf;
+ if (GetObject(hf, sizeof(lf), &lf)) {
+ if (aimm)
+ aimm->SetCompositionFontW(imc, &lf);
+ else
+ ImmSetCompositionFont(imc, &lf);
+ }
QRect r = w->inputMethodQuery(Qt::ImMicroFocus).toRect();
diff --git a/src/gui/inputmethod/qximinputcontext_x11.cpp b/src/gui/inputmethod/qximinputcontext_x11.cpp
index edc6904..65b5a24 100644
--- a/src/gui/inputmethod/qximinputcontext_x11.cpp
+++ b/src/gui/inputmethod/qximinputcontext_x11.cpp
@@ -53,6 +53,7 @@
**
****************************************************************************/
+#include "qplatformdefs.h"
#include "qdebug.h"
#include "qximinputcontext_p.h"
diff --git a/src/gui/itemviews/qabstractitemview.cpp b/src/gui/itemviews/qabstractitemview.cpp
index a4f512b..9ad9da7 100644
--- a/src/gui/itemviews/qabstractitemview.cpp
+++ b/src/gui/itemviews/qabstractitemview.cpp
@@ -128,6 +128,37 @@ void QAbstractItemViewPrivate::init()
q->setAttribute(Qt::WA_InputMethodEnabled);
}
+void QAbstractItemViewPrivate::checkMouseMove(const QPersistentModelIndex &index)
+{
+ //we take a persistent model index because the model might change by emitting signals
+ Q_Q(QAbstractItemView);
+ if (viewportEnteredNeeded || enteredIndex != index) {
+ viewportEnteredNeeded = false;
+
+ if (index.isValid()) {
+ emit q->entered(index);
+#ifndef QT_NO_STATUSTIP
+ QString statustip = model->data(index, Qt::StatusTipRole).toString();
+ if (parent && !statustip.isEmpty()) {
+ QStatusTipEvent tip(statustip);
+ QApplication::sendEvent(parent, &tip);
+ }
+#endif
+ } else {
+#ifndef QT_NO_STATUSTIP
+ if (parent) {
+ QString emptyString;
+ QStatusTipEvent tip( emptyString );
+ QApplication::sendEvent(parent, &tip);
+ }
+#endif
+ emit q->viewportEntered();
+ }
+ enteredIndex = index;
+ }
+}
+
+
/*!
\class QAbstractItemView
@@ -821,8 +852,8 @@ QAbstractItemDelegate *QAbstractItemView::itemDelegateForColumn(int column) cons
}
/*!
- Returns the item delegate used by this view and model for
- the given \a index.
+ Returns the item delegate used by this view and model for
+ the given \a index.
*/
QAbstractItemDelegate *QAbstractItemView::itemDelegate(const QModelIndex &index) const
{
@@ -831,14 +862,14 @@ QAbstractItemDelegate *QAbstractItemView::itemDelegate(const QModelIndex &index)
}
/*!
- \property QAbstractItemView::selectionMode
- \brief which selection mode the view operates in
+ \property QAbstractItemView::selectionMode
+ \brief which selection mode the view operates in
- This property controls whether the user can select one or many items
- and, in many-item selections, whether the selection must be a
- continuous range of items.
+ This property controls whether the user can select one or many items
+ and, in many-item selections, whether the selection must be a
+ continuous range of items.
- \sa SelectionMode SelectionBehavior
+ \sa SelectionMode SelectionBehavior
*/
void QAbstractItemView::setSelectionMode(SelectionMode mode)
{
@@ -853,13 +884,13 @@ QAbstractItemView::SelectionMode QAbstractItemView::selectionMode() const
}
/*!
- \property QAbstractItemView::selectionBehavior
- \brief which selection behavior the view uses
+ \property QAbstractItemView::selectionBehavior
+ \brief which selection behavior the view uses
- This property holds whether selections are done
- in terms of single items, rows or columns.
+ This property holds whether selections are done
+ in terms of single items, rows or columns.
- \sa SelectionMode SelectionBehavior
+ \sa SelectionMode SelectionBehavior
*/
void QAbstractItemView::setSelectionBehavior(QAbstractItemView::SelectionBehavior behavior)
@@ -930,6 +961,7 @@ void QAbstractItemView::reset()
d->currentIndexSet = false;
setState(NoState);
setRootIndex(QModelIndex());
+ d->selectionModel->reset();
}
/*!
@@ -960,11 +992,11 @@ QModelIndex QAbstractItemView::rootIndex() const
}
/*!
- Selects all item in the view.
- This function wil use the selection selection behavior
- set on the view when selecting.
+ Selects all items in the view.
+ This function will use the selection behavior
+ set on the view when selecting.
- \sa setSelection(), selectedIndexes(), clearSelection()
+ \sa setSelection(), selectedIndexes(), clearSelection()
*/
void QAbstractItemView::selectAll()
{
@@ -1193,10 +1225,10 @@ bool QAbstractItemView::tabKeyNavigation() const
#ifndef QT_NO_DRAGANDDROP
/*!
- \property QAbstractItemView::showDropIndicator
- \brief whether the drop indicator is shown when dragging items and dropping.
+ \property QAbstractItemView::showDropIndicator
+ \brief whether the drop indicator is shown when dragging items and dropping.
- \sa dragEnabled DragDropMode dragDropOverwriteMode acceptDrops
+ \sa dragEnabled DragDropMode dragDropOverwriteMode acceptDrops
*/
void QAbstractItemView::setDropIndicatorShown(bool enable)
@@ -1212,10 +1244,10 @@ bool QAbstractItemView::showDropIndicator() const
}
/*!
- \property QAbstractItemView::dragEnabled
- \brief whether the view supports dragging of its own items
+ \property QAbstractItemView::dragEnabled
+ \brief whether the view supports dragging of its own items
- \sa showDropIndicator DragDropMode dragDropOverwriteMode acceptDrops
+ \sa showDropIndicator DragDropMode dragDropOverwriteMode acceptDrops
*/
void QAbstractItemView::setDragEnabled(bool enable)
@@ -1251,11 +1283,11 @@ bool QAbstractItemView::dragEnabled() const
*/
/*!
- \property QAbstractItemView::dragDropMode
- \brief the drag and drop event the view will act upon
+ \property QAbstractItemView::dragDropMode
+ \brief the drag and drop event the view will act upon
- \since 4.2
- \sa showDropIndicator dragDropOverwriteMode
+ \since 4.2
+ \sa showDropIndicator dragDropOverwriteMode
*/
void QAbstractItemView::setDragDropMode(DragDropMode behavior)
{
@@ -1291,14 +1323,14 @@ QAbstractItemView::DragDropMode QAbstractItemView::dragDropMode() const
#endif // QT_NO_DRAGANDDROP
/*!
- \property QAbstractItemView::alternatingRowColors
- \brief whether to draw the background using alternating colors
+ \property QAbstractItemView::alternatingRowColors
+ \brief whether to draw the background using alternating colors
- If this property is true, the item background will be drawn using
- QPalette::Base and QPalette::AlternateBase; otherwise the background
- will be drawn using the QPalette::Base color.
+ If this property is true, the item background will be drawn using
+ QPalette::Base and QPalette::AlternateBase; otherwise the background
+ will be drawn using the QPalette::Base color.
- By default, this property is false.
+ By default, this property is false.
*/
void QAbstractItemView::setAlternatingRowColors(bool enable)
{
@@ -1558,7 +1590,7 @@ void QAbstractItemView::mouseMoveEvent(QMouseEvent *event)
}
#endif // QT_NO_DRAGANDDROP
- QModelIndex index = indexAt(bottomRight);
+ QPersistentModelIndex index = indexAt(bottomRight);
QModelIndex buddy = d->model->buddy(d->pressedIndex);
if ((state() == EditingState && d->hasEditor(buddy))
|| edit(index, NoEditTriggers, event))
@@ -1569,36 +1601,10 @@ void QAbstractItemView::mouseMoveEvent(QMouseEvent *event)
else
topLeft = bottomRight;
- if (d->viewportEnteredNeeded || d->enteredIndex != index) {
- d->viewportEnteredNeeded = false;
-
- // signal handlers may change the model
- QPersistentModelIndex persistent = index;
- if (persistent.isValid()) {
- emit entered(persistent);
-#ifndef QT_NO_STATUSTIP
- QString statustip = d->model->data(persistent, Qt::StatusTipRole).toString();
- if (parent() && !statustip.isEmpty()) {
- QStatusTipEvent tip(statustip);
- QApplication::sendEvent(parent(), &tip);
- }
-#endif
- } else {
-#ifndef QT_NO_STATUSTIP
- if (parent()) {
- QString emptyString;
- QStatusTipEvent tip(emptyString);
- QApplication::sendEvent(parent(), &tip);
- }
-#endif
- emit viewportEntered();
- }
- d->enteredIndex = persistent;
- index = persistent;
- }
+ d->checkMouseMove(index);
#ifndef QT_NO_DRAGANDDROP
- if (index.isValid()
+ if (d->pressedIndex.isValid()
&& d->dragEnabled
&& (state() != DragSelectingState)
&& (event->buttons() != Qt::NoButton)
@@ -1614,14 +1620,13 @@ void QAbstractItemView::mouseMoveEvent(QMouseEvent *event)
// Do the normalize ourselves, since QRect::normalized() is flawed
QRect selectionRect = QRect(topLeft, bottomRight);
- QPersistentModelIndex persistent = index;
setSelection(selectionRect, command);
// set at the end because it might scroll the view
- if (persistent.isValid()
- && (persistent != d->selectionModel->currentIndex())
- && d->isIndexEnabled(persistent))
- d->selectionModel->setCurrentIndex(persistent, QItemSelectionModel::NoUpdate);
+ if (index.isValid()
+ && (index != d->selectionModel->currentIndex())
+ && d->isIndexEnabled(index))
+ d->selectionModel->setCurrentIndex(index, QItemSelectionModel::NoUpdate);
}
}
@@ -2200,6 +2205,8 @@ void QAbstractItemView::resizeEvent(QResizeEvent *event)
void QAbstractItemView::timerEvent(QTimerEvent *event)
{
Q_D(QAbstractItemView);
+ if (event->timerId() == d->fetchMoreTimer.timerId())
+ d->fetchMore();
if (event->timerId() == d->autoScrollTimer.timerId())
doAutoScroll();
else if (event->timerId() == d->updateTimer.timerId())
@@ -2255,8 +2262,8 @@ void QAbstractItemView::inputMethodEvent(QInputMethodEvent *event)
\value BelowItem The item will be dropped below the index.
\value OnViewport The item will be dropped onto a region of the viewport with
-no items. The way each view handles items dropped onto the viewport depends on
-the behavior of the underlying model in use.
+ no items. The way each view handles items dropped onto the viewport depends on
+ the behavior of the underlying model in use.
*/
@@ -2273,11 +2280,11 @@ QAbstractItemView::DropIndicatorPosition QAbstractItemView::dropIndicatorPositio
#endif
/*!
- This convenience function returns a list of all selected and
- non-hidden item indexes in the view. The list contains no
- duplicates, and is not sorted.
+ This convenience function returns a list of all selected and
+ non-hidden item indexes in the view. The list contains no
+ duplicates, and is not sorted.
- \sa QItemSelectionModel::selectedIndexes()
+ \sa QItemSelectionModel::selectedIndexes()
*/
QModelIndexList QAbstractItemView::selectedIndexes() const
{
@@ -2359,8 +2366,8 @@ bool QAbstractItemView::edit(const QModelIndex &index, EditTrigger trigger, QEve
}
/*!
- \internal
- Updates the data shown in the open editor widgets in the view.
+ \internal
+ Updates the data shown in the open editor widgets in the view.
*/
void QAbstractItemView::updateEditorData()
{
@@ -2369,8 +2376,8 @@ void QAbstractItemView::updateEditorData()
}
/*!
- \internal
- Updates the geometry of the open editor widgets in the view.
+ \internal
+ Updates the geometry of the open editor widgets in the view.
*/
void QAbstractItemView::updateEditorGeometries()
{
@@ -2415,27 +2422,29 @@ void QAbstractItemView::updateEditorGeometries()
void QAbstractItemView::updateGeometries()
{
updateEditorGeometries();
- QMetaObject::invokeMethod(this, "_q_fetchMore", Qt::QueuedConnection);
+ d_func()->fetchMoreTimer.start(0, this); //fetch more later
}
/*!
- \internal
+ \internal
*/
void QAbstractItemView::verticalScrollbarValueChanged(int value)
{
Q_D(QAbstractItemView);
if (verticalScrollBar()->maximum() == value && d->model->canFetchMore(d->root))
d->model->fetchMore(d->root);
+ d->checkMouseMove(viewport()->mapFromGlobal(QCursor::pos()));
}
/*!
- \internal
+ \internal
*/
void QAbstractItemView::horizontalScrollbarValueChanged(int value)
{
Q_D(QAbstractItemView);
if (horizontalScrollBar()->maximum() == value && d->model->canFetchMore(d->root))
d->model->fetchMore(d->root);
+ d->checkMouseMove(viewport()->mapFromGlobal(QCursor::pos()));
}
/*!
@@ -2530,9 +2539,9 @@ void QAbstractItemView::closeEditor(QWidget *editor, QAbstractItemDelegate::EndE
}
/*!
- Commit the data in the \a editor to the model.
+ Commit the data in the \a editor to the model.
- \sa closeEditor()
+ \sa closeEditor()
*/
void QAbstractItemView::commitData(QWidget *editor)
{
@@ -2551,9 +2560,9 @@ void QAbstractItemView::commitData(QWidget *editor)
}
/*!
- This function is called when the given \a editor has been destroyed.
+ This function is called when the given \a editor has been destroyed.
- \sa closeEditor()
+ \sa closeEditor()
*/
void QAbstractItemView::editorDestroyed(QObject *editor)
{
@@ -2624,12 +2633,12 @@ int QAbstractItemView::verticalStepsPerItem() const
}
/*!
- Moves to and selects the item best matching the string \a search.
- If no item is found nothing happens.
+ Moves to and selects the item best matching the string \a search.
+ If no item is found nothing happens.
- In the default implementation, the search is reset if \a search is empty, or
- the time interval since the last search has exceeded
- QApplication::keyboardInputInterval().
+ In the default implementation, the search is reset if \a search is empty, or
+ the time interval since the last search has exceeded
+ QApplication::keyboardInputInterval().
*/
void QAbstractItemView::keyboardSearch(const QString &search)
{
@@ -2683,9 +2692,9 @@ void QAbstractItemView::keyboardSearch(const QString &search)
setCurrentIndex(firstMatch);
break;
}
- int row = firstMatch.row() + 1;
- if (row >= d->model->rowCount(firstMatch.parent()))
- row = 0;
+ int row = firstMatch.row() + 1;
+ if (row >= d->model->rowCount(firstMatch.parent()))
+ row = 0;
current = firstMatch.sibling(row, firstMatch.column());
}
} while (current != start && firstMatch.isValid());
@@ -2792,9 +2801,9 @@ void QAbstractItemView::openPersistentEditor(const QModelIndex &index)
}
/*!
- Closes the persistent editor for the item at the given \a index.
+ Closes the persistent editor for the item at the given \a index.
- \sa openPersistentEditor()
+ \sa openPersistentEditor()
*/
void QAbstractItemView::closePersistentEditor(const QModelIndex &index)
{
@@ -2958,7 +2967,7 @@ void QAbstractItemView::dataChanged(const QModelIndex &topLeft, const QModelInde
void QAbstractItemView::rowsInserted(const QModelIndex &, int, int)
{
if (!isVisible())
- QMetaObject::invokeMethod(this, "_q_fetchMore", Qt::QueuedConnection);
+ d_func()->fetchMoreTimer.start(0, this); //fetch more later
else
updateEditorGeometries();
}
@@ -3181,7 +3190,7 @@ void QAbstractItemView::currentChanged(const QModelIndex &current, const QModelI
update(current);
edit(current, CurrentChanged, 0);
if (current.row() == (d->model->rowCount(d->root) - 1))
- d->_q_fetchMore();
+ d->fetchMore();
} else {
d->shouldScrollToCurrentOnShow = d->autoScroll;
}
@@ -3329,14 +3338,14 @@ void QAbstractItemView::setDirtyRegion(const QRegion &region)
}
/*!
- Prepares the view for scrolling by (\a{dx},\a{dy}) pixels by moving the dirty regions in the
- opposite direction. You only need to call this function if you are implementing a scrolling
- viewport in your view subclass.
+ Prepares the view for scrolling by (\a{dx},\a{dy}) pixels by moving the dirty regions in the
+ opposite direction. You only need to call this function if you are implementing a scrolling
+ viewport in your view subclass.
- If you implement scrollContentsBy() in a subclass of QAbstractItemView, call this function
- before you call QWidget::scroll() on the viewport. Alternatively, just call update().
+ If you implement scrollContentsBy() in a subclass of QAbstractItemView, call this function
+ before you call QWidget::scroll() on the viewport. Alternatively, just call update().
- \sa scrollContentsBy(), dirtyRegionOffset(), setDirtyRegion()
+ \sa scrollContentsBy(), dirtyRegionOffset(), setDirtyRegion()
*/
void QAbstractItemView::scrollDirtyRegion(int dx, int dy)
{
@@ -3345,13 +3354,13 @@ void QAbstractItemView::scrollDirtyRegion(int dx, int dy)
}
/*!
- Returns the offset of the dirty regions in the view.
+ Returns the offset of the dirty regions in the view.
- If you use scrollDirtyRegion() and implement a paintEvent() in a subclass of
- QAbstractItemView, you should translate the area given by the paint event with
- the offset returned from this function.
+ If you use scrollDirtyRegion() and implement a paintEvent() in a subclass of
+ QAbstractItemView, you should translate the area given by the paint event with
+ the offset returned from this function.
- \sa scrollDirtyRegion(), setDirtyRegion()
+ \sa scrollDirtyRegion(), setDirtyRegion()
*/
QPoint QAbstractItemView::dirtyRegionOffset() const
{
@@ -3523,7 +3532,7 @@ QItemSelectionModel::SelectionFlags QAbstractItemViewPrivate::extendedSelectionC
const bool shiftKeyPressed = modifiers & Qt::ShiftModifier;
const bool controlKeyPressed = modifiers & Qt::ControlModifier;
if (((index == pressedIndex && selectionModel->isSelected(index))
- || !index.isValid()) && state != QAbstractItemView::DragSelectingState
+ || !index.isValid()) && state != QAbstractItemView::DragSelectingState
&& !shiftKeyPressed && !controlKeyPressed && !rightButtonPressed)
return QItemSelectionModel::ClearAndSelect|selectionBehaviorFlags();
return QItemSelectionModel::NoUpdate;
@@ -3602,8 +3611,9 @@ QAbstractItemViewPrivate::contiguousSelectionCommand(const QModelIndex &index,
}
}
-void QAbstractItemViewPrivate::_q_fetchMore()
+void QAbstractItemViewPrivate::fetchMore()
{
+ fetchMoreTimer.stop();
if (!model->canFetchMore(root))
return;
int last = model->rowCount(root) - 1;
@@ -3754,7 +3764,7 @@ void QAbstractItemViewPrivate::updateEditorData(const QModelIndex &tl, const QMo
but the behavior is view dependant (table just clears the selected indexes for example).
Either remove the selected rows or clear them
- */
+*/
void QAbstractItemViewPrivate::clearOrRemove()
{
#ifndef QT_NO_DRAGANDDROP
@@ -3790,7 +3800,7 @@ void QAbstractItemViewPrivate::clearOrRemove()
When persistent aeditor gets/loses focus, we need to check
and setcorrectly the current index.
- */
+*/
void QAbstractItemViewPrivate::checkPersistentEditorFocus()
{
Q_Q(QAbstractItemView);
@@ -3876,30 +3886,48 @@ bool QAbstractItemViewPrivate::openEditor(const QModelIndex &index, QEvent *even
return true;
}
-QPixmap QAbstractItemViewPrivate::renderToPixmap(const QModelIndexList &indexes, QRect *r) const
+/*
+ \internal
+
+ returns the pair QRect/QModelIndex that should be painted on the viewports's rect
+*/
+
+QItemViewPaintPairs QAbstractItemViewPrivate::draggablePaintPairs(const QModelIndexList &indexes, QRect *r) const
{
+ Q_ASSERT(r);
Q_Q(const QAbstractItemView);
- QRect rect = q->visualRect(indexes.at(0));
- QList<QRect> rects;
+ QRect &rect = *r;
+ const QRect viewportRect = viewport->rect();
+ QItemViewPaintPairs ret;
for (int i = 0; i < indexes.count(); ++i) {
- rects.append(q->visualRect(indexes.at(i)));
- rect |= rects.at(i);
+ const QModelIndex &index = indexes.at(i);
+ const QRect current = q->visualRect(index);
+ if (current.intersects(viewportRect)) {
+ ret += qMakePair(current, index);
+ rect |= current;
+ }
}
- rect = rect.intersected(viewport->rect());
- if (rect.width() <= 0 || rect.height() <= 0)
+ rect &= viewportRect;
+ return ret;
+}
+
+QPixmap QAbstractItemViewPrivate::renderToPixmap(const QModelIndexList &indexes, QRect *r) const
+{
+ Q_ASSERT(r);
+ QItemViewPaintPairs paintPairs = draggablePaintPairs(indexes, r);
+ if (paintPairs.isEmpty())
return QPixmap();
- QImage image(rect.size(), QImage::Format_ARGB32_Premultiplied);
- image.fill(0);
- QPainter painter(&image);
+ QPixmap pixmap(r->size());
+ pixmap.fill(Qt::transparent);
+ QPainter painter(&pixmap);
QStyleOptionViewItemV4 option = viewOptionsV4();
option.state |= QStyle::State_Selected;
- for (int j = 0; j < indexes.count(); ++j) {
- option.rect = QRect(rects.at(j).topLeft() - rect.topLeft(), rects.at(j).size());
- delegateForIndex(indexes.at(j))->paint(&painter, option, indexes.at(j));
+ for (int j = 0; j < paintPairs.count(); ++j) {
+ option.rect = paintPairs.at(j).first.translated(-r->topLeft());
+ const QModelIndex &current = paintPairs.at(j).second;
+ delegateForIndex(current)->paint(&painter, option, current);
}
- painter.end();
- if (r) *r = rect;
- return QPixmap::fromImage(image);
+ return pixmap;
}
void QAbstractItemViewPrivate::selectAll(QItemSelectionModel::SelectionFlags command)
diff --git a/src/gui/itemviews/qabstractitemview.h b/src/gui/itemviews/qabstractitemview.h
index 19d6383..da6f0ea 100644
--- a/src/gui/itemviews/qabstractitemview.h
+++ b/src/gui/itemviews/qabstractitemview.h
@@ -345,7 +345,7 @@ protected:
#endif
private:
- Q_DECLARE_SCOPED_PRIVATE(QAbstractItemView)
+ Q_DECLARE_PRIVATE(QAbstractItemView)
Q_DISABLE_COPY(QAbstractItemView)
Q_PRIVATE_SLOT(d_func(), void _q_columnsAboutToBeRemoved(const QModelIndex&, int, int))
Q_PRIVATE_SLOT(d_func(), void _q_columnsRemoved(const QModelIndex&, int, int))
@@ -353,7 +353,6 @@ private:
Q_PRIVATE_SLOT(d_func(), void _q_rowsRemoved(const QModelIndex&, int, int))
Q_PRIVATE_SLOT(d_func(), void _q_modelDestroyed())
Q_PRIVATE_SLOT(d_func(), void _q_layoutChanged())
- Q_PRIVATE_SLOT(d_func(), void _q_fetchMore())
friend class QTreeViewPrivate; // needed to compile with MSVC
friend class QAccessibleItemRow;
diff --git a/src/gui/itemviews/qabstractitemview_p.h b/src/gui/itemviews/qabstractitemview_p.h
index d661c2a..f90e0fe 100644
--- a/src/gui/itemviews/qabstractitemview_p.h
+++ b/src/gui/itemviews/qabstractitemview_p.h
@@ -61,11 +61,10 @@
#include "QtGui/qmime.h"
#include "QtGui/qpainter.h"
#include "QtCore/qpair.h"
-#include "QtCore/qtimer.h"
-#include "QtCore/qtimeline.h"
#include "QtGui/qregion.h"
#include "QtCore/qdebug.h"
#include "QtGui/qpainter.h"
+#include "QtCore/qbasictimer.h"
#ifndef QT_NO_ITEMVIEWS
@@ -87,6 +86,9 @@ struct QEditorInfo
};
+typedef QPair<QRect, QModelIndex> QItemViewPaintPair;
+typedef QList<QItemViewPaintPair> QItemViewPaintPairs;
+
class QEmptyModel : public QAbstractItemModel
{
public:
@@ -109,13 +111,14 @@ public:
void init();
- void _q_rowsRemoved(const QModelIndex &parent, int start, int end);
- void _q_columnsAboutToBeRemoved(const QModelIndex &parent, int start, int end);
- void _q_columnsRemoved(const QModelIndex &parent, int start, int end);
- void _q_columnsInserted(const QModelIndex &parent, int start, int end);
- void _q_modelDestroyed();
- void _q_layoutChanged();
- void _q_fetchMore();
+ virtual void _q_rowsRemoved(const QModelIndex &parent, int start, int end);
+ virtual void _q_columnsAboutToBeRemoved(const QModelIndex &parent, int start, int end);
+ virtual void _q_columnsRemoved(const QModelIndex &parent, int start, int end);
+ virtual void _q_columnsInserted(const QModelIndex &parent, int start, int end);
+ virtual void _q_modelDestroyed();
+ virtual void _q_layoutChanged();
+
+ void fetchMore();
bool shouldEdit(QAbstractItemView::EditTrigger trigger, const QModelIndex &index) const;
bool shouldForwardEvent(QAbstractItemView::EditTrigger trigger, const QEvent *event) const;
@@ -139,6 +142,9 @@ public:
const QEvent *event) const;
virtual void selectAll(QItemSelectionModel::SelectionFlags command);
+ void checkMouseMove(const QPersistentModelIndex &index);
+ inline void checkMouseMove(const QPoint &pos) { checkMouseMove(q_func()->indexAt(pos)); }
+
inline QItemSelectionModel::SelectionFlags selectionBehaviorFlags() const
{
switch (selectionBehavior) {
@@ -173,7 +179,9 @@ public:
q_func()->style()->drawPrimitive(QStyle::PE_IndicatorItemViewItemDrop, &opt, painter, q_func());
}
}
+
#endif
+ virtual QItemViewPaintPairs draggablePaintPairs(const QModelIndexList &indexes, QRect *r) const;
inline void releaseEditor(QWidget *editor) const {
if (editor) {
@@ -218,7 +226,7 @@ public:
void clearOrRemove();
void checkPersistentEditorFocus();
- QPixmap renderToPixmap(const QModelIndexList &indexes, QRect *r = 0) const;
+ QPixmap renderToPixmap(const QModelIndexList &indexes, QRect *r) const;
inline QPoint offset() const {
const Q_Q(QAbstractItemView);
@@ -372,7 +380,6 @@ public:
QBasicTimer updateTimer;
QBasicTimer delayedEditing;
QBasicTimer delayedAutoScroll; //used when an item is clicked
- QTimeLine timeline;
QAbstractItemView::ScrollMode verticalScrollMode;
QAbstractItemView::ScrollMode horizontalScrollMode;
@@ -384,6 +391,7 @@ public:
private:
mutable QBasicTimer delayedLayout;
+ mutable QBasicTimer fetchMoreTimer;
};
QT_BEGIN_INCLUDE_NAMESPACE
diff --git a/src/gui/itemviews/qabstractproxymodel.h b/src/gui/itemviews/qabstractproxymodel.h
index 356d923..8a703da 100644
--- a/src/gui/itemviews/qabstractproxymodel.h
+++ b/src/gui/itemviews/qabstractproxymodel.h
@@ -87,7 +87,7 @@ protected:
QAbstractProxyModel(QAbstractProxyModelPrivate &, QObject *parent);
private:
- Q_DECLARE_SCOPED_PRIVATE(QAbstractProxyModel)
+ Q_DECLARE_PRIVATE(QAbstractProxyModel)
Q_DISABLE_COPY(QAbstractProxyModel)
Q_PRIVATE_SLOT(d_func(), void _q_sourceModelDestroyed())
};
diff --git a/src/gui/itemviews/qcolumnview.cpp b/src/gui/itemviews/qcolumnview.cpp
index 1662fa8..c544394 100644
--- a/src/gui/itemviews/qcolumnview.cpp
+++ b/src/gui/itemviews/qcolumnview.cpp
@@ -52,7 +52,6 @@
#include <qscrollbar.h>
#include <qpainter.h>
#include <qdebug.h>
-#include <qpainterpath.h>
QT_BEGIN_NAMESPACE
@@ -108,9 +107,13 @@ void QColumnViewPrivate::initialize()
{
Q_Q(QColumnView);
q->setTextElideMode(Qt::ElideMiddle);
- QObject::connect(&currentAnimation, SIGNAL(frameChanged(int)),
- hbar, SLOT(setValue(int)));
+#ifndef QT_NO_ANIMATION
QObject::connect(&currentAnimation, SIGNAL(finished()), q, SLOT(_q_changeCurrentColumn()));
+ currentAnimation.setDuration(ANIMATION_DURATION_MSEC);
+ currentAnimation.setTargetObject(hbar);
+ currentAnimation.setPropertyName("value");
+ currentAnimation.setEasingCurve(QEasingCurve::InOutQuad);
+#endif //QT_NO_ANIMATION
delete itemDelegate;
q->setItemDelegate(new QColumnViewDelegate(q));
}
@@ -260,10 +263,12 @@ void QColumnView::scrollTo(const QModelIndex &index, ScrollHint hint)
if (!index.isValid() || d->columns.isEmpty())
return;
- if (d->currentAnimation.state() == QTimeLine::Running)
+#ifndef QT_NO_ANIMATION
+ if (d->currentAnimation.state() == QPropertyAnimation::Running)
return;
d->currentAnimation.stop();
+#endif //QT_NO_ANIMATION
// Fill up what is needed to get to index
d->closeColumns(index, true);
@@ -326,22 +331,12 @@ void QColumnView::scrollTo(const QModelIndex &index, ScrollHint hint)
}
}
- //horizontalScrollBar()->setValue(newScrollbarValue);
- //d->_q_changeCurrentColumn();
- //return;
- // or do the following currentAnimation
-
- int oldValue = horizontalScrollBar()->value();
-
- if (oldValue < newScrollbarValue) {
- d->currentAnimation.setFrameRange(oldValue, newScrollbarValue);
- d->currentAnimation.setDirection(QTimeLine::Forward);
- d->currentAnimation.setCurrentTime(0);
- } else {
- d->currentAnimation.setFrameRange(newScrollbarValue, oldValue);
- d->currentAnimation.setDirection(QTimeLine::Backward);
- }
+#ifndef QT_NO_ANIMATION
+ d->currentAnimation.setEndValue(newScrollbarValue);
d->currentAnimation.start();
+#else
+ horizontalScrollBar()->setValue(newScrollbarValue);
+#endif //QT_NO_ANIMATION
}
/*!
@@ -410,8 +405,10 @@ void QColumnView::resizeEvent(QResizeEvent *event)
void QColumnViewPrivate::updateScrollbars()
{
Q_Q(QColumnView);
- if (currentAnimation.state() == QTimeLine::Running)
+#ifndef QT_NO_ANIMATION
+ if (currentAnimation.state() == QPropertyAnimation::Running)
return;
+#endif //QT_NO_ANIMATION
// find the total horizontal length of the laid out columns
int horizontalLength = 0;
@@ -896,6 +893,15 @@ QList<int> QColumnView::columnWidths() const
/*!
\reimp
*/
+void QColumnView::rowsInserted(const QModelIndex &parent, int start, int end)
+{
+ QAbstractItemView::rowsInserted(parent, start, end);
+ d_func()->checkColumnCreation(parent);
+}
+
+/*!
+ \reimp
+*/
void QColumnView::currentChanged(const QModelIndex &current, const QModelIndex &previous)
{
Q_D(QColumnView);
@@ -1036,7 +1042,6 @@ QColumnViewPrivate::QColumnViewPrivate()
: QAbstractItemViewPrivate()
,showResizeGrips(true)
,offset(0)
-,currentAnimation(ANIMATION_DURATION_MSEC)
,previewWidget(0)
,previewColumn(0)
{
@@ -1048,6 +1053,41 @@ QColumnViewPrivate::~QColumnViewPrivate()
/*!
\internal
+
+ */
+void QColumnViewPrivate::_q_columnsInserted(const QModelIndex &parent, int start, int end)
+{
+ QAbstractItemViewPrivate::_q_columnsInserted(parent, start, end);
+ checkColumnCreation(parent);
+}
+
+/*!
+ \internal
+
+ Makes sure we create a corresponding column as a result of changing the model.
+
+ */
+void QColumnViewPrivate::checkColumnCreation(const QModelIndex &parent)
+{
+ if (parent == q_func()->currentIndex() && model->hasChildren(parent)) {
+ //the parent has children and is the current
+ //let's try to find out if there is already a mapping that is good
+ for (int i = 0; i < columns.count(); ++i) {
+ QAbstractItemView *view = columns.at(i);
+ if (view->rootIndex() == parent) {
+ if (view == previewColumn) {
+ //let's recreate the parent
+ closeColumns(parent, false);
+ createColumn(parent, true /*show*/);
+ }
+ break;
+ }
+ }
+ }
+}
+
+/*!
+ \internal
Place all of the columns where they belong inside of the viewport, resize as necessary.
*/
void QColumnViewPrivate::doLayout()
diff --git a/src/gui/itemviews/qcolumnview.h b/src/gui/itemviews/qcolumnview.h
index 96da637..f8697e9 100644
--- a/src/gui/itemviews/qcolumnview.h
+++ b/src/gui/itemviews/qcolumnview.h
@@ -97,18 +97,16 @@ protected:
QRegion visualRegionForSelection(const QItemSelection &selection) const;
int horizontalOffset() const;
int verticalOffset() const;
- void scrollContentsBy(int dx, int dy);
+ void rowsInserted(const QModelIndex &parent, int start, int end);
+ void currentChanged(const QModelIndex &current, const QModelIndex &previous);
// QColumnView functions
+ void scrollContentsBy(int dx, int dy);
virtual QAbstractItemView* createColumn(const QModelIndex &rootIndex);
void initializeColumn(QAbstractItemView *column) const;
-protected Q_SLOTS:
- // QAbstractItemView overloads
- void currentChanged(const QModelIndex &current, const QModelIndex &previous);
-
private:
- Q_DECLARE_SCOPED_PRIVATE(QColumnView)
+ Q_DECLARE_PRIVATE(QColumnView)
Q_DISABLE_COPY(QColumnView)
Q_PRIVATE_SLOT(d_func(), void _q_gripMoved(int))
Q_PRIVATE_SLOT(d_func(), void _q_changeCurrentColumn())
diff --git a/src/gui/itemviews/qcolumnview_p.h b/src/gui/itemviews/qcolumnview_p.h
index 904cd1d..7b4f774 100644
--- a/src/gui/itemviews/qcolumnview_p.h
+++ b/src/gui/itemviews/qcolumnview_p.h
@@ -60,7 +60,7 @@
#include <private/qabstractitemview_p.h>
#include <QtCore/qabstractitemmodel.h>
-#include <QtCore/qtimeline.h>
+#include <QtCore/qpropertyanimation.h>
#include <QtGui/qabstractitemdelegate.h>
#include <QtGui/qabstractitemview.h>
#include <QtGui/qitemdelegate.h>
@@ -148,16 +148,21 @@ public:
void closeColumns(const QModelIndex &parent = QModelIndex(), bool build = false);
void doLayout();
void setPreviewWidget(QWidget *widget);
+ void checkColumnCreation(const QModelIndex &parent);
+
void _q_gripMoved(int offset);
void _q_changeCurrentColumn();
void _q_clicked(const QModelIndex &index);
+ void _q_columnsInserted(const QModelIndex &parent, int start, int end);
QList<QAbstractItemView*> columns;
QVector<int> columnSizes; // used during init and corner moving
bool showResizeGrips;
int offset;
- QTimeLine currentAnimation;
+#ifndef QT_NO_ANIMATION
+ QPropertyAnimation currentAnimation;
+#endif
QWidget *previewWidget;
QAbstractItemView *previewColumn;
};
diff --git a/src/gui/itemviews/qcolumnviewgrip_p.h b/src/gui/itemviews/qcolumnviewgrip_p.h
index 8e670e9..4dc35ec 100644
--- a/src/gui/itemviews/qcolumnviewgrip_p.h
+++ b/src/gui/itemviews/qcolumnviewgrip_p.h
@@ -82,7 +82,7 @@ protected:
void mousePressEvent(QMouseEvent *event);
private:
- Q_DECLARE_SCOPED_PRIVATE(QColumnViewGrip)
+ Q_DECLARE_PRIVATE(QColumnViewGrip)
Q_DISABLE_COPY(QColumnViewGrip)
};
diff --git a/src/gui/itemviews/qdatawidgetmapper.h b/src/gui/itemviews/qdatawidgetmapper.h
index 2773b59..2df7b69 100644
--- a/src/gui/itemviews/qdatawidgetmapper.h
+++ b/src/gui/itemviews/qdatawidgetmapper.h
@@ -111,7 +111,7 @@ Q_SIGNALS:
void currentIndexChanged(int index);
private:
- Q_DECLARE_SCOPED_PRIVATE(QDataWidgetMapper)
+ Q_DECLARE_PRIVATE(QDataWidgetMapper)
Q_DISABLE_COPY(QDataWidgetMapper)
Q_PRIVATE_SLOT(d_func(), void _q_dataChanged(const QModelIndex &, const QModelIndex &))
Q_PRIVATE_SLOT(d_func(), void _q_commitData(QWidget *))
diff --git a/src/gui/itemviews/qdirmodel.cpp b/src/gui/itemviews/qdirmodel.cpp
index 076e95d..5d7d1ff 100644
--- a/src/gui/itemviews/qdirmodel.cpp
+++ b/src/gui/itemviews/qdirmodel.cpp
@@ -228,7 +228,10 @@ void QDirModelPrivate::invalidate()
\note QDirModel requires an instance of a GUI application.
- \sa nameFilters(), setFilter(), filter(), QListView, QTreeView,
+ \note The usage of QDirModel is not recommended anymore. The
+ QFileSystemModel class is a more performant alternative.
+
+ \sa nameFilters(), setFilter(), filter(), QListView, QTreeView, QFileSystemModel
{Dir View Example}, {Model Classes}
*/
diff --git a/src/gui/itemviews/qdirmodel.h b/src/gui/itemviews/qdirmodel.h
index 1f28cc9..719d551 100644
--- a/src/gui/itemviews/qdirmodel.h
+++ b/src/gui/itemviews/qdirmodel.h
@@ -146,7 +146,7 @@ protected:
friend class QFileDialogPrivate;
private:
- Q_DECLARE_SCOPED_PRIVATE(QDirModel)
+ Q_DECLARE_PRIVATE(QDirModel)
Q_DISABLE_COPY(QDirModel)
Q_PRIVATE_SLOT(d_func(), void _q_refresh())
};
diff --git a/src/gui/itemviews/qfileiconprovider.cpp b/src/gui/itemviews/qfileiconprovider.cpp
index f9078b8..b9df4fc 100644
--- a/src/gui/itemviews/qfileiconprovider.cpp
+++ b/src/gui/itemviews/qfileiconprovider.cpp
@@ -45,18 +45,17 @@
#include <qstyle.h>
#include <qapplication.h>
#include <qdir.h>
+#include <qpixmapcache.h>
#if defined(Q_WS_WIN)
#define _WIN32_IE 0x0500
+#include <qt_windows.h>
+#include <commctrl.h>
#include <objbase.h>
#include <private/qpixmapdata_p.h>
-#include <qpixmapcache.h>
#elif defined(Q_WS_MAC)
-#include <private/qt_mac_p.h>
+#include <private/qt_cocoa_helpers_mac_p.h>
#endif
#include <private/qfunctions_p.h>
-#ifdef Q_OS_WINCE
-#include <Commctrl.h>
-#endif
#ifndef SHGFI_ADDOVERLAYS
#define SHGFI_ADDOVERLAYS 0x000000020
@@ -242,10 +241,10 @@ QIcon QFileIconProviderPrivate::getWinIcon(const QFileInfo &fileInfo) const
//Get the small icon
#ifndef Q_OS_WINCE
- val = SHGetFileInfo((const WCHAR *)QDir::toNativeSeparators(fileInfo.filePath()).utf16(), 0, &info,
+ val = SHGetFileInfo((const wchar_t *)QDir::toNativeSeparators(fileInfo.filePath()).utf16(), 0, &info,
sizeof(SHFILEINFO), SHGFI_ICON|SHGFI_SMALLICON|SHGFI_SYSICONINDEX|SHGFI_ADDOVERLAYS);
#else
- val = SHGetFileInfo((const WCHAR *)QDir::toNativeSeparators(fileInfo.filePath()).utf16(), 0, &info,
+ val = SHGetFileInfo((const wchar_t *)QDir::toNativeSeparators(fileInfo.filePath()).utf16(), 0, &info,
sizeof(SHFILEINFO), SHGFI_SMALLICON|SHGFI_SYSICONINDEX);
#endif
if (val) {
@@ -281,10 +280,10 @@ QIcon QFileIconProviderPrivate::getWinIcon(const QFileInfo &fileInfo) const
//Get the big icon
#ifndef Q_OS_WINCE
- val = SHGetFileInfo((const WCHAR *)QDir::toNativeSeparators(fileInfo.filePath()).utf16(), 0, &info,
+ val = SHGetFileInfo((const wchar_t *)QDir::toNativeSeparators(fileInfo.filePath()).utf16(), 0, &info,
sizeof(SHFILEINFO), SHGFI_ICON|SHGFI_LARGEICON|SHGFI_SYSICONINDEX|SHGFI_ADDOVERLAYS);
#else
- val = SHGetFileInfo((const WCHAR *)QDir::toNativeSeparators(fileInfo.filePath()).utf16(), 0, &info,
+ val = SHGetFileInfo((const wchar_t *)QDir::toNativeSeparators(fileInfo.filePath()).utf16(), 0, &info,
sizeof(SHFILEINFO), SHGFI_LARGEICON|SHGFI_SYSICONINDEX);
#endif
if (val) {
@@ -314,6 +313,31 @@ QIcon QFileIconProviderPrivate::getWinIcon(const QFileInfo &fileInfo) const
QIcon QFileIconProviderPrivate::getMacIcon(const QFileInfo &fi) const
{
QIcon retIcon;
+ QString fileExtension = fi.suffix().toUpper();
+ fileExtension.prepend(QLatin1String("."));
+
+ const QString keyBase = QLatin1String("qt_") + fileExtension;
+
+ QPixmap pixmap;
+ if (fi.isFile() && !fi.isExecutable() && !fi.isSymLink()) {
+ QPixmapCache::find(keyBase + QLatin1String("16"), pixmap);
+ }
+
+ if (!pixmap.isNull()) {
+ retIcon.addPixmap(pixmap);
+ if (QPixmapCache::find(keyBase + QLatin1String("32"), pixmap)) {
+ retIcon.addPixmap(pixmap);
+ if (QPixmapCache::find(keyBase + QLatin1String("64"), pixmap)) {
+ retIcon.addPixmap(pixmap);
+ if (QPixmapCache::find(keyBase + QLatin1String("128"), pixmap)) {
+ retIcon.addPixmap(pixmap);
+ return retIcon;
+ }
+ }
+ }
+ }
+
+
FSRef macRef;
OSStatus status = FSPathMakeRef(reinterpret_cast<const UInt8*>(fi.canonicalFilePath().toUtf8().constData()),
&macRef, 0);
@@ -326,12 +350,23 @@ QIcon QFileIconProviderPrivate::getMacIcon(const QFileInfo &fi) const
return retIcon;
IconRef iconRef;
SInt16 iconLabel;
- status = GetIconRefFromFileInfo(&macRef, macName.length, macName.unicode, kIconServicesCatalogInfoMask, &info, kIconServicesNormalUsageFlag, &iconRef, &iconLabel);
+ status = GetIconRefFromFileInfo(&macRef, macName.length, macName.unicode,
+ kIconServicesCatalogInfoMask, &info, kIconServicesNormalUsageFlag,
+ &iconRef, &iconLabel);
if (status != noErr)
return retIcon;
- extern void qt_mac_constructQIconFromIconRef(const IconRef, const IconRef, QIcon*, QStyle::StandardPixmap = QStyle::SP_CustomBase); // qmacstyle_mac.cpp
qt_mac_constructQIconFromIconRef(iconRef, 0, &retIcon);
ReleaseIconRef(iconRef);
+
+ pixmap = retIcon.pixmap(16);
+ QPixmapCache::insert(keyBase + QLatin1String("16"), pixmap);
+ pixmap = retIcon.pixmap(32);
+ QPixmapCache::insert(keyBase + QLatin1String("32"), pixmap);
+ pixmap = retIcon.pixmap(64);
+ QPixmapCache::insert(keyBase + QLatin1String("64"), pixmap);
+ pixmap = retIcon.pixmap(128);
+ QPixmapCache::insert(keyBase + QLatin1String("128"), pixmap);
+
return retIcon;
}
#endif
@@ -356,9 +391,7 @@ QIcon QFileIconProvider::icon(const QFileInfo &info) const
if (info.isRoot())
#if defined (Q_WS_WIN) && !defined(Q_WS_WINCE)
{
- uint type = DRIVE_UNKNOWN;
- QT_WA({ type = GetDriveTypeW((wchar_t *)info.absoluteFilePath().utf16()); },
- { type = GetDriveTypeA(info.absoluteFilePath().toLocal8Bit()); });
+ UINT type = GetDriveType((wchar_t *)info.absoluteFilePath().utf16());
switch (type) {
case DRIVE_REMOVABLE:
diff --git a/src/gui/itemviews/qfileiconprovider.h b/src/gui/itemviews/qfileiconprovider.h
index dd1bedd..165e30f 100644
--- a/src/gui/itemviews/qfileiconprovider.h
+++ b/src/gui/itemviews/qfileiconprovider.h
@@ -67,7 +67,7 @@ public:
virtual QString type(const QFileInfo &info) const;
private:
- Q_DECLARE_SCOPED_PRIVATE(QFileIconProvider)
+ Q_DECLARE_PRIVATE(QFileIconProvider)
QScopedPointer<QFileIconProviderPrivate> d_ptr;
Q_DISABLE_COPY(QFileIconProvider)
};
diff --git a/src/gui/itemviews/qheaderview.cpp b/src/gui/itemviews/qheaderview.cpp
index 233150c..750e20b 100644
--- a/src/gui/itemviews/qheaderview.cpp
+++ b/src/gui/itemviews/qheaderview.cpp
@@ -522,31 +522,29 @@ int QHeaderView::length() const
QSize QHeaderView::sizeHint() const
{
Q_D(const QHeaderView);
- if (count() < 1)
- return QSize(0, 0);
if (d->cachedSizeHint.isValid())
return d->cachedSizeHint;
- int width = 0;
- int height = 0;
+ d->cachedSizeHint = QSize(0, 0); //reinitialize the cached size hint
+ const int sectionCount = count();
+
// get size hint for the first n sections
- int c = qMin(count(), 100);
- for (int i = 0; i < c; ++i) {
+ int i = 0;
+ for (int checked = 0; checked < 100 && i < sectionCount; ++i) {
if (isSectionHidden(i))
continue;
+ checked++;
QSize hint = sectionSizeFromContents(i);
- width = qMax(hint.width(), width);
- height = qMax(hint.height(), height);
+ d->cachedSizeHint = d->cachedSizeHint.expandedTo(hint);
}
// get size hint for the last n sections
- c = qMax(count() - 100, c);
- for (int j = count() - 1; j >= c; --j) {
+ i = qMax(i, sectionCount - 100 );
+ for (int j = sectionCount - 1, checked = 0; j >= i && checked < 100; --j) {
if (isSectionHidden(j))
continue;
+ checked++;
QSize hint = sectionSizeFromContents(j);
- width = qMax(hint.width(), width);
- height = qMax(hint.height(), height);
+ d->cachedSizeHint = d->cachedSizeHint.expandedTo(hint);
}
- d->cachedSizeHint = QSize(width, height);
return d->cachedSizeHint;
}
@@ -2540,7 +2538,7 @@ QSize QHeaderView::sectionSizeFromContents(int logicalIndex) const
if (opt.icon.isNull())
opt.icon = qvariant_cast<QPixmap>(variant);
QSize size = style()->sizeFromContents(QStyle::CT_HeaderSection, &opt, QSize(), this);
- if (isSortIndicatorShown() && sortIndicatorSection() == logicalIndex) {
+ if (isSortIndicatorShown()) {
int margin = style()->pixelMetric(QStyle::PM_HeaderMargin, &opt, this);
if (d->orientation == Qt::Horizontal)
size.rwidth() += size.height() + margin;
diff --git a/src/gui/itemviews/qheaderview.h b/src/gui/itemviews/qheaderview.h
index cdbc1e6..3a66c9a 100644
--- a/src/gui/itemviews/qheaderview.h
+++ b/src/gui/itemviews/qheaderview.h
@@ -221,15 +221,14 @@ protected:
bool isIndexHidden(const QModelIndex &index) const;
QModelIndex moveCursor(CursorAction, Qt::KeyboardModifiers);
- void setSelection(const QRect&, QItemSelectionModel::SelectionFlags);
+ void setSelection(const QRect& rect, QItemSelectionModel::SelectionFlags flags);
QRegion visualRegionForSelection(const QItemSelection &selection) const;
void initStyleOption(QStyleOptionHeader *option) const;
private:
Q_PRIVATE_SLOT(d_func(), void _q_sectionsRemoved(const QModelIndex &parent, int logicalFirst, int logicalLast))
Q_PRIVATE_SLOT(d_func(), void _q_layoutAboutToBeChanged())
- Q_PRIVATE_SLOT(d_func(), void _q_layoutChanged())
- Q_DECLARE_SCOPED_PRIVATE(QHeaderView)
+ Q_DECLARE_PRIVATE(QHeaderView)
Q_DISABLE_COPY(QHeaderView)
};
diff --git a/src/gui/itemviews/qitemdelegate.cpp b/src/gui/itemviews/qitemdelegate.cpp
index 74f5da2..82d75ba 100644
--- a/src/gui/itemviews/qitemdelegate.cpp
+++ b/src/gui/itemviews/qitemdelegate.cpp
@@ -861,6 +861,8 @@ void QItemDelegate::drawBackground(QPainter *painter,
/*!
\internal
+
+ Code duplicated in QCommonStylePrivate::viewItemLayout
*/
void QItemDelegate::doLayout(const QStyleOptionViewItem &option,
@@ -882,8 +884,10 @@ void QItemDelegate::doLayout(const QStyleOptionViewItem &option,
int w, h;
textRect->adjust(-textMargin, 0, textMargin, 0); // add width padding
- if (textRect->height() == 0 && !hasPixmap)
+ if (textRect->height() == 0 && (!hasPixmap || !hint)) {
+ //if there is no text, we still want to have a decent height for the item sizeHint and the editor size
textRect->setHeight(option.fontMetrics.height());
+ }
QSize pm(0, 0);
if (hasPixmap) {
@@ -1219,7 +1223,7 @@ bool QItemDelegate::eventFilter(QObject *object, QEvent *event)
if (editor->parentWidget())
editor->parentWidget()->setFocus();
return true;
- } else if (event->type() == QEvent::FocusOut || event->type() == QEvent::Hide) {
+ } else if (event->type() == QEvent::FocusOut || (event->type() == QEvent::Hide && editor->isWindow())) {
//the Hide event will take care of he editors that are in fact complete dialogs
if (!editor->isActiveWindow() || (QApplication::focusWidget() != editor)) {
QWidget *w = QApplication::focusWidget();
@@ -1234,12 +1238,7 @@ bool QItemDelegate::eventFilter(QObject *object, QEvent *event)
if (QDragManager::self() && QDragManager::self()->object != 0)
return false;
#endif
- // Opening a modal dialog will start a new eventloop
- // that will process the deleteLater event.
- if (QApplication::activeModalWidget()
- && !QApplication::activeModalWidget()->isAncestorOf(editor)
- && qobject_cast<QDialog*>(QApplication::activeModalWidget()))
- return false;
+
emit commitData(editor);
emit closeEditor(editor, NoHint);
}
diff --git a/src/gui/itemviews/qitemdelegate.h b/src/gui/itemviews/qitemdelegate.h
index a6f0ba1..d46481c 100644
--- a/src/gui/itemviews/qitemdelegate.h
+++ b/src/gui/itemviews/qitemdelegate.h
@@ -126,7 +126,7 @@ protected:
const QFont &font, const QString &text) const;
private:
- Q_DECLARE_SCOPED_PRIVATE(QItemDelegate)
+ Q_DECLARE_PRIVATE(QItemDelegate)
Q_DISABLE_COPY(QItemDelegate)
Q_PRIVATE_SLOT(d_func(), void _q_commitDataAndCloseEditor(QWidget*))
diff --git a/src/gui/itemviews/qitemselectionmodel.cpp b/src/gui/itemviews/qitemselectionmodel.cpp
index e4cb0f0..9dad95f 100644
--- a/src/gui/itemviews/qitemselectionmodel.cpp
+++ b/src/gui/itemviews/qitemselectionmodel.cpp
@@ -270,67 +270,77 @@ QItemSelectionRange QItemSelectionRange::intersect(const QItemSelectionRange &ot
*/
-/*!
- Returns the list of model index items stored in the selection.
-*/
+/*
+ \internal
-QModelIndexList QItemSelectionRange::indexes() const
+ utility function for getting the indexes from a range
+ it avoid concatenating list and works on one
+ */
+
+static void indexesFromRange(const QItemSelectionRange &range, QModelIndexList &result)
{
- QModelIndex index;
- QModelIndexList result;
- if (isValid() && model()) {
- for (int column = left(); column <= right(); ++column) {
- for (int row = top(); row <= bottom(); ++row) {
- index = model()->index(row, column, parent());
- Qt::ItemFlags flags = model()->flags(index);
+ if (range.isValid() && range.model()) {
+ for (int column = range.left(); column <= range.right(); ++column) {
+ for (int row = range.top(); row <= range.bottom(); ++row) {
+ QModelIndex index = range.model()->index(row, column, range.parent());
+ Qt::ItemFlags flags = range.model()->flags(index);
if ((flags & Qt::ItemIsSelectable) && (flags & Qt::ItemIsEnabled))
result.append(index);
}
}
}
- return result;
}
/*!
- \class QItemSelection
+ Returns the list of model index items stored in the selection.
+*/
- \brief The QItemSelection class manages information about selected items in a model.
+QModelIndexList QItemSelectionRange::indexes() const
+{
+ QModelIndexList result;
+ indexesFromRange(*this, result);
+ return result;
+}
- \ingroup model-view
+/*!
+ \class QItemSelection
- A QItemSelection describes the items in a model that have been
- selected by the user. A QItemSelection is basically a list of
- selection ranges, see QItemSelectionRange. It provides functions for
- creating and manipulating selections, and selecting a range of items
- from a model.
+ \brief The QItemSelection class manages information about selected items in a model.
- The QItemSelection class is one of the \l{Model/View Classes}
- and is part of Qt's \l{Model/View Programming}{model/view framework}.
+ \ingroup model-view
- An item selection can be constructed and initialized to contain a
- range of items from an existing model. The following example constructs
- a selection that contains a range of items from the given \c model,
- beginning at the \c topLeft, and ending at the \c bottomRight.
+ A QItemSelection describes the items in a model that have been
+ selected by the user. A QItemSelection is basically a list of
+ selection ranges, see QItemSelectionRange. It provides functions for
+ creating and manipulating selections, and selecting a range of items
+ from a model.
- \snippet doc/src/snippets/code/src_gui_itemviews_qitemselectionmodel.cpp 0
+ The QItemSelection class is one of the \l{Model/View Classes}
+ and is part of Qt's \l{Model/View Programming}{model/view framework}.
+
+ An item selection can be constructed and initialized to contain a
+ range of items from an existing model. The following example constructs
+ a selection that contains a range of items from the given \c model,
+ beginning at the \c topLeft, and ending at the \c bottomRight.
- An empty item selection can be constructed, and later populated as
- required. So, if the model is going to be unavailable when we construct
- the item selection, we can rewrite the above code in the following way:
+ \snippet doc/src/snippets/code/src_gui_itemviews_qitemselectionmodel.cpp 0
- \snippet doc/src/snippets/code/src_gui_itemviews_qitemselectionmodel.cpp 1
+ An empty item selection can be constructed, and later populated as
+ required. So, if the model is going to be unavailable when we construct
+ the item selection, we can rewrite the above code in the following way:
- QItemSelection saves memory, and avoids unnecessary work, by working with
- selection ranges rather than recording the model item index for each
- item in the selection. Generally, an instance of this class will contain
- a list of non-overlapping selection ranges.
+ \snippet doc/src/snippets/code/src_gui_itemviews_qitemselectionmodel.cpp 1
- Use merge() to merge one item selection into another without making
- overlapping ranges. Use split() to split one selection range into
- smaller ranges based on a another selection range.
+ QItemSelection saves memory, and avoids unnecessary work, by working with
+ selection ranges rather than recording the model item index for each
+ item in the selection. Generally, an instance of this class will contain
+ a list of non-overlapping selection ranges.
- \sa {Model/View Programming}, QItemSelectionModel
+ Use merge() to merge one item selection into another without making
+ overlapping ranges. Use split() to split one selection range into
+ smaller ranges based on a another selection range.
+ \sa {Model/View Programming}, QItemSelectionModel
*/
/*!
@@ -404,19 +414,19 @@ QModelIndexList QItemSelection::indexes() const
QModelIndexList result;
QList<QItemSelectionRange>::const_iterator it = begin();
for (; it != end(); ++it)
- result += (*it).indexes();
+ indexesFromRange(*it, result);
return result;
}
/*!
- Merges the \a other selection with this QItemSelection using the
- \a command given. This method guarantees that no ranges are overlapping.
+ Merges the \a other selection with this QItemSelection using the
+ \a command given. This method guarantees that no ranges are overlapping.
- Note that only QItemSelectionModel::Select,
- QItemSelectionModel::Deselect, and QItemSelectionModel::Toggle are
- supported.
+ Note that only QItemSelectionModel::Select,
+ QItemSelectionModel::Deselect, and QItemSelectionModel::Toggle are
+ supported.
- \sa split()
+ \sa split()
*/
void QItemSelection::merge(const QItemSelection &other, QItemSelectionModel::SelectionFlags command)
{
@@ -468,10 +478,10 @@ void QItemSelection::merge(const QItemSelection &other, QItemSelectionModel::Sel
}
/*!
- Splits the selection \a range using the selection \a other range.
- Removes all items in \a other from \a range and puts the result in \a result.
- This can be compared with the semantics of the \e subtract operation of a set.
- \sa merge()
+ Splits the selection \a range using the selection \a other range.
+ Removes all items in \a other from \a range and puts the result in \a result.
+ This can be compared with the semantics of the \e subtract operation of a set.
+ \sa merge()
*/
void QItemSelection::split(const QItemSelectionRange &range,
@@ -518,11 +528,11 @@ void QItemSelection::split(const QItemSelectionRange &range,
}
/*!
- \internal
+ \internal
- returns a QItemSelection where all ranges have been expanded to:
- Rows: left: 0 and right: columnCount()-1
- Columns: top: 0 and bottom: rowCount()-1
+ returns a QItemSelection where all ranges have been expanded to:
+ Rows: left: 0 and right: columnCount()-1
+ Columns: top: 0 and bottom: rowCount()-1
*/
QItemSelection QItemSelectionModelPrivate::expandSelection(const QItemSelection &selection,
@@ -557,7 +567,7 @@ QItemSelection QItemSelectionModelPrivate::expandSelection(const QItemSelection
}
/*!
- \internal
+ \internal
*/
void QItemSelectionModelPrivate::_q_rowsAboutToBeRemoved(const QModelIndex &parent,
int start, int end)
@@ -588,7 +598,7 @@ void QItemSelectionModelPrivate::_q_rowsAboutToBeRemoved(const QModelIndex &pare
}
/*!
- \internal
+ \internal
*/
void QItemSelectionModelPrivate::_q_columnsAboutToBeRemoved(const QModelIndex &parent,
int start, int end)
@@ -619,9 +629,9 @@ void QItemSelectionModelPrivate::_q_columnsAboutToBeRemoved(const QModelIndex &p
}
/*!
- \internal
+ \internal
- Split selection ranges if columns are about to be inserted in the middle.
+ Split selection ranges if columns are about to be inserted in the middle.
*/
void QItemSelectionModelPrivate::_q_columnsAboutToBeInserted(const QModelIndex &parent,
int start, int end)
@@ -648,9 +658,9 @@ void QItemSelectionModelPrivate::_q_columnsAboutToBeInserted(const QModelIndex &
}
/*!
- \internal
+ \internal
- Split selection ranges if rows are about to be inserted in the middle.
+ Split selection ranges if rows are about to be inserted in the middle.
*/
void QItemSelectionModelPrivate::_q_rowsAboutToBeInserted(const QModelIndex &parent,
int start, int end)
@@ -677,11 +687,11 @@ void QItemSelectionModelPrivate::_q_rowsAboutToBeInserted(const QModelIndex &par
}
/*!
- \internal
+ \internal
- Split selection into individual (persistent) indexes. This is done in
- preparation for the layoutChanged() signal, where the indexes can be
- merged again.
+ Split selection into individual (persistent) indexes. This is done in
+ preparation for the layoutChanged() signal, where the indexes can be
+ merged again.
*/
void QItemSelectionModelPrivate::_q_layoutAboutToBeChanged()
{
@@ -715,10 +725,10 @@ void QItemSelectionModelPrivate::_q_layoutAboutToBeChanged()
}
/*!
- \internal
+ \internal
- Merges \a indexes into an item selection made up of ranges.
- Assumes that the indexes are sorted.
+ Merges \a indexes into an item selection made up of ranges.
+ Assumes that the indexes are sorted.
*/
static QItemSelection mergeIndexes(const QList<QPersistentModelIndex> &indexes)
{
@@ -763,9 +773,9 @@ static QItemSelection mergeIndexes(const QList<QPersistentModelIndex> &indexes)
}
/*!
- \internal
+ \internal
- Merge the selected indexes into selection ranges again.
+ Merge the selected indexes into selection ranges again.
*/
void QItemSelectionModelPrivate::_q_layoutChanged()
{
@@ -807,41 +817,41 @@ void QItemSelectionModelPrivate::_q_layoutChanged()
}
/*!
- \class QItemSelectionModel
+ \class QItemSelectionModel
- \brief The QItemSelectionModel class keeps track of a view's selected items.
+ \brief The QItemSelectionModel class keeps track of a view's selected items.
- \ingroup model-view
+ \ingroup model-view
- A QItemSelectionModel keeps track of the selected items in a view, or
- in several views onto the same model. It also keeps track of the
- currently selected item in a view.
+ A QItemSelectionModel keeps track of the selected items in a view, or
+ in several views onto the same model. It also keeps track of the
+ currently selected item in a view.
- The QItemSelectionModel class is one of the \l{Model/View Classes}
- and is part of Qt's \l{Model/View Programming}{model/view framework}.
+ The QItemSelectionModel class is one of the \l{Model/View Classes}
+ and is part of Qt's \l{Model/View Programming}{model/view framework}.
- The selected items are stored using ranges. Whenever you want to
- modify the selected items use select() and provide either a
- QItemSelection, or a QModelIndex and a QItemSelectionModel::SelectionFlag.
+ The selected items are stored using ranges. Whenever you want to
+ modify the selected items use select() and provide either a
+ QItemSelection, or a QModelIndex and a QItemSelectionModel::SelectionFlag.
- The QItemSelectionModel takes a two layer approach to selection
- management, dealing with both selected items that have been committed
- and items that are part of the current selection. The current
- selected items are part of the current interactive selection (for
- example with rubber-band selection or keyboard-shift selections).
+ The QItemSelectionModel takes a two layer approach to selection
+ management, dealing with both selected items that have been committed
+ and items that are part of the current selection. The current
+ selected items are part of the current interactive selection (for
+ example with rubber-band selection or keyboard-shift selections).
- To update the currently selected items, use the bitwise OR of
- QItemSelectionModel::Current and any of the other SelectionFlags.
- If you omit the QItemSelectionModel::Current command, a new current
- selection will be created, and the previous one added to the whole
- selection. All functions operate on both layers; for example,
- selectedItems() will return items from both layers.
+ To update the currently selected items, use the bitwise OR of
+ QItemSelectionModel::Current and any of the other SelectionFlags.
+ If you omit the QItemSelectionModel::Current command, a new current
+ selection will be created, and the previous one added to the whole
+ selection. All functions operate on both layers; for example,
+ selectedItems() will return items from both layers.
- \sa {Model/View Programming}, QAbstractItemModel, {Chart Example}
+ \sa {Model/View Programming}, QAbstractItemModel, {Chart Example}
*/
/*!
- Constructs a selection model that operates on the specified item \a model.
+ Constructs a selection model that operates on the specified item \a model.
*/
QItemSelectionModel::QItemSelectionModel(QAbstractItemModel *model)
: QObject(*new QItemSelectionModelPrivate, model)
@@ -864,7 +874,7 @@ QItemSelectionModel::QItemSelectionModel(QAbstractItemModel *model)
}
/*!
- Constructs a selection model that operates on the specified item \a model with \a parent.
+ Constructs a selection model that operates on the specified item \a model with \a parent.
*/
QItemSelectionModel::QItemSelectionModel(QAbstractItemModel *model, QObject *parent)
: QObject(*new QItemSelectionModelPrivate, parent)
@@ -887,7 +897,7 @@ QItemSelectionModel::QItemSelectionModel(QAbstractItemModel *model, QObject *par
}
/*!
- \internal
+ \internal
*/
QItemSelectionModel::QItemSelectionModel(QItemSelectionModelPrivate &dd, QAbstractItemModel *model)
: QObject(dd, model)
@@ -910,7 +920,7 @@ QItemSelectionModel::QItemSelectionModel(QItemSelectionModelPrivate &dd, QAbstra
}
/*!
- Destroys the selection model.
+ Destroys the selection model.
*/
QItemSelectionModel::~QItemSelectionModel()
{
@@ -932,10 +942,10 @@ QItemSelectionModel::~QItemSelectionModel()
}
/*!
- Selects the model item \a index using the specified \a command, and emits
- selectionChanged().
+ Selects the model item \a index using the specified \a command, and emits
+ selectionChanged().
- \sa QItemSelectionModel::SelectionFlags
+ \sa QItemSelectionModel::SelectionFlags
*/
void QItemSelectionModel::select(const QModelIndex &index, QItemSelectionModel::SelectionFlags command)
{
@@ -944,37 +954,37 @@ void QItemSelectionModel::select(const QModelIndex &index, QItemSelectionModel::
}
/*!
- \fn void QItemSelectionModel::currentChanged(const QModelIndex &current, const QModelIndex &previous)
+ \fn void QItemSelectionModel::currentChanged(const QModelIndex &current, const QModelIndex &previous)
- This signal is emitted whenever the current item changes. The \a previous
- model item index is replaced by the \a current index as the selection's
- current item.
+ This signal is emitted whenever the current item changes. The \a previous
+ model item index is replaced by the \a current index as the selection's
+ current item.
- Note that this signal will not be emitted when the item model is reset.
+ Note that this signal will not be emitted when the item model is reset.
- \sa currentIndex() setCurrentIndex() selectionChanged()
+ \sa currentIndex() setCurrentIndex() selectionChanged()
*/
/*!
- \fn void QItemSelectionModel::currentColumnChanged(const QModelIndex &current, const QModelIndex &previous)
+ \fn void QItemSelectionModel::currentColumnChanged(const QModelIndex &current, const QModelIndex &previous)
- This signal is emitted if the \a current item changes and its column is
- different to the column of the \a previous current item.
+ This signal is emitted if the \a current item changes and its column is
+ different to the column of the \a previous current item.
- Note that this signal will not be emitted when the item model is reset.
+ Note that this signal will not be emitted when the item model is reset.
- \sa currentChanged() currentRowChanged() currentIndex() setCurrentIndex()
+ \sa currentChanged() currentRowChanged() currentIndex() setCurrentIndex()
*/
/*!
- \fn void QItemSelectionModel::currentRowChanged(const QModelIndex &current, const QModelIndex &previous)
+ \fn void QItemSelectionModel::currentRowChanged(const QModelIndex &current, const QModelIndex &previous)
- This signal is emitted if the \a current item changes and its row is
- different to the row of the \a previous current item.
+ This signal is emitted if the \a current item changes and its row is
+ different to the row of the \a previous current item.
- Note that this signal will not be emitted when the item model is reset.
+ Note that this signal will not be emitted when the item model is reset.
- \sa currentChanged() currentColumnChanged() currentIndex() setCurrentIndex()
+ \sa currentChanged() currentColumnChanged() currentIndex() setCurrentIndex()
*/
/*!
@@ -991,32 +1001,32 @@ void QItemSelectionModel::select(const QModelIndex &index, QItemSelectionModel::
*/
/*!
- \enum QItemSelectionModel::SelectionFlag
+ \enum QItemSelectionModel::SelectionFlag
- This enum describes the way the selection model will be updated.
+ This enum describes the way the selection model will be updated.
- \value NoUpdate No selection will be made.
- \value Clear The complete selection will be cleared.
- \value Select All specified indexes will be selected.
- \value Deselect All specified indexes will be deselected.
- \value Toggle All specified indexes will be selected or
- deselected depending on their current state.
- \value Current The current selection will be updated.
- \value Rows All indexes will be expanded to span rows.
- \value Columns All indexes will be expanded to span columns.
- \value SelectCurrent A combination of Select and Current, provided for
- convenience.
- \value ToggleCurrent A combination of Toggle and Current, provided for
- convenience.
- \value ClearAndSelect A combination of Clear and Select, provided for
- convenience.
+ \value NoUpdate No selection will be made.
+ \value Clear The complete selection will be cleared.
+ \value Select All specified indexes will be selected.
+ \value Deselect All specified indexes will be deselected.
+ \value Toggle All specified indexes will be selected or
+ deselected depending on their current state.
+ \value Current The current selection will be updated.
+ \value Rows All indexes will be expanded to span rows.
+ \value Columns All indexes will be expanded to span columns.
+ \value SelectCurrent A combination of Select and Current, provided for
+ convenience.
+ \value ToggleCurrent A combination of Toggle and Current, provided for
+ convenience.
+ \value ClearAndSelect A combination of Clear and Select, provided for
+ convenience.
*/
/*!
- Selects the item \a selection using the specified \a command, and emits
- selectionChanged().
+ Selects the item \a selection using the specified \a command, and emits
+ selectionChanged().
- \sa QItemSelectionModel::SelectionFlag
+ \sa QItemSelectionModel::SelectionFlag
*/
void QItemSelectionModel::select(const QItemSelection &selection, QItemSelectionModel::SelectionFlags command)
{
@@ -1056,7 +1066,7 @@ void QItemSelectionModel::select(const QItemSelection &selection, QItemSelection
}
/*!
- Clears the selection model. Emits selectionChanged() and currentChanged().
+ Clears the selection model. Emits selectionChanged() and currentChanged().
*/
void QItemSelectionModel::clear()
{
@@ -1072,7 +1082,7 @@ void QItemSelectionModel::clear()
}
/*!
- Clears the selection model. Does not emit any signals.
+ Clears the selection model. Does not emit any signals.
*/
void QItemSelectionModel::reset()
{
@@ -1082,8 +1092,8 @@ void QItemSelectionModel::reset()
}
/*!
- \since 4.2
- Clears the selection in the selection model. Emits selectionChanged().
+ \since 4.2
+ Clears the selection in the selection model. Emits selectionChanged().
*/
void QItemSelectionModel::clearSelection()
{
@@ -1099,14 +1109,14 @@ void QItemSelectionModel::clearSelection()
/*!
- Sets the model item \a index to be the current item, and emits
- currentChanged(). The current item is used for keyboard navigation and
- focus indication; it is independent of any selected items, although a
- selected item can also be the current item.
+ Sets the model item \a index to be the current item, and emits
+ currentChanged(). The current item is used for keyboard navigation and
+ focus indication; it is independent of any selected items, although a
+ selected item can also be the current item.
- Depending on the specified \a command, the \a index can also become part
- of the current selection.
- \sa select()
+ Depending on the specified \a command, the \a index can also become part
+ of the current selection.
+ \sa select()
*/
void QItemSelectionModel::setCurrentIndex(const QModelIndex &index, QItemSelectionModel::SelectionFlags command)
{
@@ -1130,8 +1140,8 @@ void QItemSelectionModel::setCurrentIndex(const QModelIndex &index, QItemSelecti
}
/*!
- Returns the model item index for the current item, or an invalid index
- if there is no current item.
+ Returns the model item index for the current item, or an invalid index
+ if there is no current item.
*/
QModelIndex QItemSelectionModel::currentIndex() const
{
@@ -1139,7 +1149,7 @@ QModelIndex QItemSelectionModel::currentIndex() const
}
/*!
- Returns true if the given model item \a index is selected.
+ Returns true if the given model item \a index is selected.
*/
bool QItemSelectionModel::isSelected(const QModelIndex &index) const
{
@@ -1176,12 +1186,12 @@ bool QItemSelectionModel::isSelected(const QModelIndex &index) const
}
/*!
- Returns true if all items are selected in the \a row with the given
- \a parent.
+ Returns true if all items are selected in the \a row with the given
+ \a parent.
- Note that this function is usually faster than calling isSelected()
- on all items in the same row and that unselectable items are
- ignored.
+ Note that this function is usually faster than calling isSelected()
+ on all items in the same row and that unselectable items are
+ ignored.
*/
bool QItemSelectionModel::isRowSelected(int row, const QModelIndex &parent) const
{
@@ -1236,12 +1246,12 @@ bool QItemSelectionModel::isRowSelected(int row, const QModelIndex &parent) cons
}
/*!
- Returns true if all items are selected in the \a column with the given
- \a parent.
+ Returns true if all items are selected in the \a column with the given
+ \a parent.
- Note that this function is usually faster than calling isSelected()
- on all items in the same column and that unselectable items are
- ignored.
+ Note that this function is usually faster than calling isSelected()
+ on all items in the same column and that unselectable items are
+ ignored.
*/
bool QItemSelectionModel::isColumnSelected(int column, const QModelIndex &parent) const
{
@@ -1296,8 +1306,8 @@ bool QItemSelectionModel::isColumnSelected(int column, const QModelIndex &parent
}
/*!
- Returns true if there are any items selected in the \a row with the given
- \a parent.
+ Returns true if there are any items selected in the \a row with the given
+ \a parent.
*/
bool QItemSelectionModel::rowIntersectsSelection(int row, const QModelIndex &parent) const
{
@@ -1325,8 +1335,8 @@ bool QItemSelectionModel::rowIntersectsSelection(int row, const QModelIndex &par
}
/*!
- Returns true if there are any items selected in the \a column with the given
- \a parent.
+ Returns true if there are any items selected in the \a column with the given
+ \a parent.
*/
bool QItemSelectionModel::columnIntersectsSelection(int column, const QModelIndex &parent) const
{
@@ -1366,15 +1376,14 @@ bool QItemSelectionModel::hasSelection() const
QItemSelection sel = d->ranges;
sel.merge(d->currentSelection, d->currentCommand);
return !sel.isEmpty();
- }
- else {
+ } else {
return !(d->ranges.isEmpty() && d->currentSelection.isEmpty());
}
}
/*!
- Returns a list of all selected model item indexes. The list contains no
- duplicates, and is not sorted.
+ Returns a list of all selected model item indexes. The list contains no
+ duplicates, and is not sorted.
*/
QModelIndexList QItemSelectionModel::selectedIndexes() const
{
@@ -1385,10 +1394,10 @@ QModelIndexList QItemSelectionModel::selectedIndexes() const
}
/*!
- \since 4.2
- Returns the indexes in the given \a column for the rows where all columns are selected.
+ \since 4.2
+ Returns the indexes in the given \a column for the rows where all columns are selected.
- \sa selectedIndexes(), selectedColumns()
+ \sa selectedIndexes(), selectedColumns()
*/
QModelIndexList QItemSelectionModel::selectedRows(int column) const
@@ -1449,7 +1458,7 @@ QModelIndexList QItemSelectionModel::selectedColumns(int row) const
}
/*!
- Returns the selection ranges stored in the selection model.
+ Returns the selection ranges stored in the selection model.
*/
const QItemSelection QItemSelectionModel::selection() const
{
@@ -1469,7 +1478,7 @@ const QItemSelection QItemSelectionModel::selection() const
}
/*!
- Returns the item model operated on by the selection model.
+ Returns the item model operated on by the selection model.
*/
const QAbstractItemModel *QItemSelectionModel::model() const
{
@@ -1477,8 +1486,8 @@ const QAbstractItemModel *QItemSelectionModel::model() const
}
/*!
- Compares the two selections \a newSelection and \a oldSelection
- and emits selectionChanged() with the deselected and selected items.
+ Compares the two selections \a newSelection and \a oldSelection
+ and emits selectionChanged() with the deselected and selected items.
*/
void QItemSelectionModel::emitSelectionChanged(const QItemSelection &newSelection,
const QItemSelection &oldSelection)
diff --git a/src/gui/itemviews/qitemselectionmodel.h b/src/gui/itemviews/qitemselectionmodel.h
index bc9f61c..e6a99a6 100644
--- a/src/gui/itemviews/qitemselectionmodel.h
+++ b/src/gui/itemviews/qitemselectionmodel.h
@@ -125,7 +125,7 @@ class QItemSelectionModelPrivate;
class Q_GUI_EXPORT QItemSelectionModel : public QObject
{
Q_OBJECT
- Q_DECLARE_SCOPED_PRIVATE(QItemSelectionModel)
+ Q_DECLARE_PRIVATE(QItemSelectionModel)
Q_FLAGS(SelectionFlags)
public:
diff --git a/src/gui/itemviews/qlistview.cpp b/src/gui/itemviews/qlistview.cpp
index 4652b91..148d204 100644
--- a/src/gui/itemviews/qlistview.cpp
+++ b/src/gui/itemviews/qlistview.cpp
@@ -709,6 +709,31 @@ void QListViewPrivate::selectAll(QItemSelectionModel::SelectionFlags command)
selectionModel->select(selection, command);
}
+/*!
+ \reimp
+
+ We have a QListView way of knowing what elements are on the viewport
+ through the intersectingSet function
+*/
+QItemViewPaintPairs QListViewPrivate::draggablePaintPairs(const QModelIndexList &indexes, QRect *r) const
+{
+ Q_ASSERT(r);
+ Q_Q(const QListView);
+ QRect &rect = *r;
+ const QRect viewportRect = viewport->rect();
+ QItemViewPaintPairs ret;
+ const QSet<QModelIndex> visibleIndexes = intersectingSet(viewportRect).toList().toSet();
+ for (int i = 0; i < indexes.count(); ++i) {
+ const QModelIndex &index = indexes.at(i);
+ if (visibleIndexes.contains(index)) {
+ const QRect current = q->visualRect(index);
+ ret += qMakePair(current, index);
+ rect |= current;
+ }
+ }
+ rect &= viewportRect;
+ return ret;
+}
/*!
\internal
@@ -925,9 +950,9 @@ void QListView::dragMoveEvent(QDragMoveEvent *e)
QModelIndex index;
if (d->movement == Snap) {
QRect rect(d->dynamicListView->snapToGrid(e->pos() + d->offset()), d->gridSize());
- d->intersectingSet(rect);
- index = d->intersectVector.count() > 0
- ? d->intersectVector.last() : QModelIndex();
+ const QVector<QModelIndex> intersectVector = d->intersectingSet(rect);
+ index = intersectVector.count() > 0
+ ? intersectVector.last() : QModelIndex();
} else {
index = indexAt(e->pos());
}
@@ -1100,10 +1125,8 @@ void QListView::paintEvent(QPaintEvent *e)
return;
QStyleOptionViewItemV4 option = d->viewOptionsV4();
QPainter painter(d->viewport);
- QRect area = e->rect();
- d->intersectingSet(e->rect().translated(horizontalOffset(), verticalOffset()), false);
- const QVector<QModelIndex> toBeRendered = d->intersectVector;
+ const QVector<QModelIndex> toBeRendered = d->intersectingSet(e->rect().translated(horizontalOffset(), verticalOffset()), false);
const QModelIndex current = currentIndex();
const QModelIndex hover = d->hover;
@@ -1225,9 +1248,9 @@ QModelIndex QListView::indexAt(const QPoint &p) const
{
Q_D(const QListView);
QRect rect(p.x() + horizontalOffset(), p.y() + verticalOffset(), 1, 1);
- d->intersectingSet(rect);
- QModelIndex index = d->intersectVector.count() > 0
- ? d->intersectVector.last() : QModelIndex();
+ const QVector<QModelIndex> intersectVector = d->intersectingSet(rect);
+ QModelIndex index = intersectVector.count() > 0
+ ? intersectVector.last() : QModelIndex();
if (index.isValid() && visualRect(index).contains(p))
return index;
return QModelIndex();
@@ -1325,38 +1348,38 @@ QModelIndex QListView::moveCursor(CursorAction cursorAction, Qt::KeyboardModifie
if (d->gridSize().isValid()) rect.setSize(d->gridSize());
QSize contents = d->contentsSize();
- d->intersectVector.clear();
+ QVector<QModelIndex> intersectVector;
switch (cursorAction) {
case MoveLeft:
- while (d->intersectVector.isEmpty()) {
+ while (intersectVector.isEmpty()) {
rect.translate(-rect.width(), 0);
if (rect.right() <= 0)
return current;
if (rect.left() < 0)
rect.setLeft(0);
- d->intersectingSet(rect);
- d->removeCurrentAndDisabled(&d->intersectVector, current);
+ intersectVector = d->intersectingSet(rect);
+ d->removeCurrentAndDisabled(&intersectVector, current);
}
- return d->closestIndex(initialRect, d->intersectVector);
+ return d->closestIndex(initialRect, intersectVector);
case MoveRight:
- while (d->intersectVector.isEmpty()) {
+ while (intersectVector.isEmpty()) {
rect.translate(rect.width(), 0);
if (rect.left() >= contents.width())
return current;
if (rect.right() > contents.width())
rect.setRight(contents.width());
- d->intersectingSet(rect);
- d->removeCurrentAndDisabled(&d->intersectVector, current);
+ intersectVector = d->intersectingSet(rect);
+ d->removeCurrentAndDisabled(&intersectVector, current);
}
- return d->closestIndex(initialRect, d->intersectVector);
+ return d->closestIndex(initialRect, intersectVector);
case MovePageUp:
rect.moveTop(rect.top() - d->viewport->height());
if (rect.top() < rect.height())
rect.moveTop(rect.height());
case MovePrevious:
case MoveUp:
- while (d->intersectVector.isEmpty()) {
+ while (intersectVector.isEmpty()) {
rect.translate(0, -rect.height());
if (rect.bottom() <= 0) {
#ifdef QT_KEYPAD_NAVIGATION
@@ -1372,17 +1395,17 @@ QModelIndex QListView::moveCursor(CursorAction cursorAction, Qt::KeyboardModifie
}
if (rect.top() < 0)
rect.setTop(0);
- d->intersectingSet(rect);
- d->removeCurrentAndDisabled(&d->intersectVector, current);
+ intersectVector = d->intersectingSet(rect);
+ d->removeCurrentAndDisabled(&intersectVector, current);
}
- return d->closestIndex(initialRect, d->intersectVector);
+ return d->closestIndex(initialRect, intersectVector);
case MovePageDown:
rect.moveTop(rect.top() + d->viewport->height());
if (rect.bottom() > contents.height() - rect.height())
rect.moveBottom(contents.height() - rect.height());
case MoveNext:
case MoveDown:
- while (d->intersectVector.isEmpty()) {
+ while (intersectVector.isEmpty()) {
rect.translate(0, rect.height());
if (rect.top() >= contents.height()) {
#ifdef QT_KEYPAD_NAVIGATION
@@ -1399,10 +1422,10 @@ QModelIndex QListView::moveCursor(CursorAction cursorAction, Qt::KeyboardModifie
}
if (rect.bottom() > contents.height())
rect.setBottom(contents.height());
- d->intersectingSet(rect);
- d->removeCurrentAndDisabled(&d->intersectVector, current);
+ intersectVector = d->intersectingSet(rect);
+ d->removeCurrentAndDisabled(&intersectVector, current);
}
- return d->closestIndex(initialRect, d->intersectVector);
+ return d->closestIndex(initialRect, intersectVector);
case MoveHome:
return d->model->index(0, d->column, d->root);
case MoveEnd:
@@ -1477,10 +1500,10 @@ void QListView::setSelection(const QRect &rect, QItemSelectionModel::SelectionFl
QItemSelection selection;
if (rect.width() == 1 && rect.height() == 1) {
- d->intersectingSet(rect.translated(horizontalOffset(), verticalOffset()));
+ const QVector<QModelIndex> intersectVector = d->intersectingSet(rect.translated(horizontalOffset(), verticalOffset()));
QModelIndex tl;
- if (!d->intersectVector.isEmpty())
- tl = d->intersectVector.last(); // special case for mouse press; only select the top item
+ if (!intersectVector.isEmpty())
+ tl = intersectVector.last(); // special case for mouse press; only select the top item
if (tl.isValid() && d->isIndexEnabled(tl))
selection.select(tl, tl);
} else {
@@ -1490,14 +1513,14 @@ void QListView::setSelection(const QRect &rect, QItemSelectionModel::SelectionFl
QModelIndex tl, br;
// get the first item
const QRect topLeft(rect.left() + horizontalOffset(), rect.top() + verticalOffset(), 1, 1);
- d->intersectingSet(topLeft);
- if (!d->intersectVector.isEmpty())
- tl = d->intersectVector.last();
+ QVector<QModelIndex> intersectVector = d->intersectingSet(topLeft);
+ if (!intersectVector.isEmpty())
+ tl = intersectVector.last();
// get the last item
const QRect bottomRight(rect.right() + horizontalOffset(), rect.bottom() + verticalOffset(), 1, 1);
- d->intersectingSet(bottomRight);
- if (!d->intersectVector.isEmpty())
- br = d->intersectVector.last();
+ intersectVector = d->intersectingSet(bottomRight);
+ if (!intersectVector.isEmpty())
+ br = intersectVector.last();
// get the ranges
if (tl.isValid() && br.isValid()
@@ -1540,7 +1563,10 @@ void QListView::setSelection(const QRect &rect, QItemSelectionModel::SelectionFl
}
// middle rectangle
if (top.bottom() < bottom.top()) {
- middle.setTop(top.bottom() + 1);
+ if (gridSize().isValid() && !gridSize().isNull())
+ middle.setTop(top.top() + gridSize().height());
+ else
+ middle.setTop(top.bottom() + 1);
middle.setLeft(qMin(top.left(), bottom.left()));
middle.setBottom(bottom.top() - 1);
middle.setRight(qMax(top.right(), bottom.right()));
@@ -1567,7 +1593,10 @@ void QListView::setSelection(const QRect &rect, QItemSelectionModel::SelectionFl
// only set middle if the
middle.setTop(0);
middle.setBottom(ch);
- middle.setLeft(left.right() + 1);
+ if (gridSize().isValid() && !gridSize().isNull())
+ middle.setLeft(left.left() + gridSize().width());
+ else
+ middle.setLeft(left.right() + 1);
middle.setRight(right.left() - 1);
} else if (left.bottom() < right.top()) {
left.setBottom(right.top() - 1);
@@ -1633,14 +1662,16 @@ QRegion QListView::visualRegionForSelection(const QItemSelection &selection) con
QModelIndexList QListView::selectedIndexes() const
{
Q_D(const QListView);
- QModelIndexList viewSelected;
- QModelIndexList modelSelected;
- if (d->selectionModel)
- modelSelected = d->selectionModel->selectedIndexes();
- for (int i = 0; i < modelSelected.count(); ++i) {
- QModelIndex index = modelSelected.at(i);
+ if (!d->selectionModel)
+ return QModelIndexList();
+
+ QModelIndexList viewSelected = d->selectionModel->selectedIndexes();
+ for (int i = 0; i < viewSelected.count(); ++i) {
+ const QModelIndex &index = viewSelected.at(i);
if (!isIndexHidden(index) && index.parent() == d->root && index.column() == d->column)
- viewSelected.append(index);
+ ++i;
+ else
+ viewSelected.removeAt(i);
}
return viewSelected;
}
@@ -2116,8 +2147,8 @@ QItemSelection QListViewPrivate::selection(const QRect &rect) const
{
QItemSelection selection;
QModelIndex tl, br;
- intersectingSet(rect);
- QVector<QModelIndex>::iterator it = intersectVector.begin();
+ const QVector<QModelIndex> intersectVector = intersectingSet(rect);
+ QVector<QModelIndex>::const_iterator it = intersectVector.begin();
for (; it != intersectVector.end(); ++it) {
if (!tl.isValid() && !br.isValid()) {
tl = br = *it;
@@ -2408,9 +2439,9 @@ void QStaticListViewBase::doStaticLayout(const QListViewLayoutInfo &info)
Finds the set of items intersecting with \a area.
In this function, itemsize is counted from topleft to the start of the next item.
*/
-void QStaticListViewBase::intersectingStaticSet(const QRect &area) const
+QVector<QModelIndex> QStaticListViewBase::intersectingStaticSet(const QRect &area) const
{
- clearIntersections();
+ QVector<QModelIndex> ret;
int segStartPosition;
int segEndPosition;
int flowStartPosition;
@@ -2427,7 +2458,7 @@ void QStaticListViewBase::intersectingStaticSet(const QRect &area) const
flowEndPosition = area.bottom();
}
if (segmentPositions.count() < 2 || flowPositions.isEmpty())
- return;
+ return ret;
// the last segment position is actually the edge of the last segment
const int segLast = segmentPositions.count() - 2;
int seg = qBinarySearch<int>(segmentPositions, segStartPosition, 0, segLast + 1);
@@ -2442,13 +2473,14 @@ void QStaticListViewBase::intersectingStaticSet(const QRect &area) const
continue;
QModelIndex index = modelIndex(row);
if (index.isValid())
- appendToIntersections(index);
+ ret += index;
#if 0 // for debugging
else
qWarning("intersectingStaticSet: row %d was invalid", row);
#endif
}
}
+ return ret;
}
int QStaticListViewBase::itemIndex(const QListViewItem &item) const
@@ -2769,12 +2801,15 @@ void QDynamicListViewBase::doDynamicLayout(const QListViewLayoutInfo &info)
viewport()->update();
}
-void QDynamicListViewBase::intersectingDynamicSet(const QRect &area) const
+QVector<QModelIndex> QDynamicListViewBase::intersectingDynamicSet(const QRect &area) const
{
- clearIntersections();
- QListViewPrivate *that = const_cast<QListViewPrivate*>(dd);
+ QDynamicListViewBase *that = const_cast<QDynamicListViewBase*>(this);
QBspTree::Data data(static_cast<void*>(that));
- that->dynamicListView->tree.climbTree(area, &QDynamicListViewBase::addLeaf, data);
+ QVector<QModelIndex> res;
+ that->interSectingVector = &res;
+ that->tree.climbTree(area, &QDynamicListViewBase::addLeaf, data);
+ that->interSectingVector = 0;
+ return res;
}
void QDynamicListViewBase::createItems(int to)
@@ -2851,20 +2886,20 @@ int QDynamicListViewBase::itemIndex(const QListViewItem &item) const
}
void QDynamicListViewBase::addLeaf(QVector<int> &leaf, const QRect &area,
- uint visited, QBspTree::Data data)
+ uint visited, QBspTree::Data data)
{
QListViewItem *vi;
- QListViewPrivate *_this = static_cast<QListViewPrivate *>(data.ptr);
+ QDynamicListViewBase *_this = static_cast<QDynamicListViewBase *>(data.ptr);
for (int i = 0; i < leaf.count(); ++i) {
int idx = leaf.at(i);
- if (idx < 0 || idx >= _this->dynamicListView->items.count())
+ if (idx < 0 || idx >= _this->items.count())
continue;
- vi = &_this->dynamicListView->items[idx];
+ vi = &_this->items[idx];
Q_ASSERT(vi);
if (vi->isValid() && vi->rect().intersects(area) && vi->visited != visited) {
- QModelIndex index = _this->listViewItemToIndex(*vi);
+ QModelIndex index = _this->dd->listViewItemToIndex(*vi);
Q_ASSERT(index.isValid());
- _this->intersectVector.append(index);
+ _this->interSectingVector->append(index);
vi->visited = visited;
}
}
diff --git a/src/gui/itemviews/qlistview.h b/src/gui/itemviews/qlistview.h
index a098427..75dff40 100644
--- a/src/gui/itemviews/qlistview.h
+++ b/src/gui/itemviews/qlistview.h
@@ -190,7 +190,7 @@ private:
friend class QAccessibleItemView;
int visualIndex(const QModelIndex &index) const;
- Q_DECLARE_SCOPED_PRIVATE(QListView)
+ Q_DECLARE_PRIVATE(QListView)
Q_DISABLE_COPY(QListView)
};
diff --git a/src/gui/itemviews/qlistview_p.h b/src/gui/itemviews/qlistview_p.h
index a7a7000..1727ba4 100644
--- a/src/gui/itemviews/qlistview_p.h
+++ b/src/gui/itemviews/qlistview_p.h
@@ -153,9 +153,6 @@ public:
inline bool isHidden(int row) const;
inline int hiddenCount() const;
- inline void clearIntersections() const;
- inline void appendToIntersections(const QModelIndex &idx) const;
-
inline bool isRightToLeft() const;
QListViewPrivate *dd;
@@ -186,7 +183,7 @@ public:
QPoint initStaticLayout(const QListViewLayoutInfo &info);
void doStaticLayout(const QListViewLayoutInfo &info);
- void intersectingStaticSet(const QRect &area) const;
+ QVector<QModelIndex> intersectingStaticSet(const QRect &area) const;
int itemIndex(const QListViewItem &item) const;
@@ -216,7 +213,7 @@ class QDynamicListViewBase : public QCommonListViewBase
friend class QListViewPrivate;
public:
QDynamicListViewBase(QListView *q, QListViewPrivate *d) : QCommonListViewBase(q, d),
- batchStartRow(0), batchSavedDeltaSeg(0) {}
+ batchStartRow(0), batchSavedDeltaSeg(0), interSectingVector(0) {}
QBspTree tree;
QVector<QListViewItem> items;
@@ -230,6 +227,7 @@ public:
// used when laying out in batches
int batchStartRow;
int batchSavedDeltaSeg;
+ QVector<QModelIndex> *interSectingVector; //used from within intersectingDynamicSet
void dataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight);
bool doBatchedItemLayout(const QListViewLayoutInfo &info, int max);
@@ -237,7 +235,7 @@ public:
void initBspTree(const QSize &contents);
QPoint initDynamicLayout(const QListViewLayoutInfo &info);
void doDynamicLayout(const QListViewLayoutInfo &info);
- void intersectingDynamicSet(const QRect &area) const;
+ QVector<QModelIndex> intersectingDynamicSet(const QRect &area) const;
static void addLeaf(QVector<int> &leaf, const QRect &area,
uint visited, QBspTree::Data data);
@@ -277,11 +275,11 @@ public:
bool doItemsLayout(int num);
- inline void intersectingSet(const QRect &area, bool doLayout = true) const {
+ inline QVector<QModelIndex> intersectingSet(const QRect &area, bool doLayout = true) const {
if (doLayout) executePostedLayout();
QRect a = (q_func()->isRightToLeft() ? flipX(area.normalized()) : area.normalized());
- if (viewMode == QListView::ListMode) staticListView->intersectingStaticSet(a);
- else dynamicListView->intersectingDynamicSet(a);
+ return (viewMode == QListView::ListMode) ? staticListView->intersectingStaticSet(a)
+ : dynamicListView->intersectingDynamicSet(a);
}
// ### FIXME:
@@ -351,6 +349,8 @@ public:
void scrollElasticBandBy(int dx, int dy);
+ QItemViewPaintPairs draggablePaintPairs(const QModelIndexList &indexes, QRect *r) const;
+
// ### FIXME: we only need one at a time
QDynamicListViewBase *dynamicListView;
QStaticListViewBase *staticListView;
@@ -383,9 +383,6 @@ public:
QRect layoutBounds;
- // used for intersecting set
- mutable QVector<QModelIndex> intersectVector;
-
// timers
QBasicTimer batchLayoutTimer;
@@ -438,9 +435,6 @@ inline QAbstractItemDelegate *QCommonListViewBase::delegate(const QModelIndex &i
inline bool QCommonListViewBase::isHidden(int row) const { return dd->isHidden(row); }
inline int QCommonListViewBase::hiddenCount() const { return dd->hiddenRows.count(); }
-inline void QCommonListViewBase::clearIntersections() const { dd->intersectVector.clear(); }
-inline void QCommonListViewBase::appendToIntersections(const QModelIndex &idx) const { dd->intersectVector.append(idx); }
-
inline bool QCommonListViewBase::isRightToLeft() const { return qq->isRightToLeft(); }
QT_END_NAMESPACE
diff --git a/src/gui/itemviews/qlistwidget.cpp b/src/gui/itemviews/qlistwidget.cpp
index 7113217..2565657 100644
--- a/src/gui/itemviews/qlistwidget.cpp
+++ b/src/gui/itemviews/qlistwidget.cpp
@@ -561,6 +561,13 @@ Qt::DropActions QListModel::supportedDropActions() const
given \a parent.
If the parent is not specified, the item will need to be inserted into a
list widget with QListWidget::insertItem().
+
+ \note that this constructor inserts this same object into the model of
+ the parent that is passed to the constructor. If the model is sorted then
+ the behavior of the insert is undetermined since the model will call
+ the '<' operator method on this object which has still not yet been
+ constructed. In this case it would be better not to specify the parent
+ and use the QListWidget::insertItem method to insert the item instead.
\sa type()
*/
@@ -582,6 +589,13 @@ QListWidgetItem::QListWidgetItem(QListWidget *view, int type)
given \a text and \a parent.
If the parent is not specified, the item will need to be inserted into a
list widget with QListWidget::insertItem().
+
+ \note that this constructor inserts this same object into the model of
+ the parent that is passed to the constructor. If the model is sorted then
+ the behavior of the insert is undetermined since the model will call
+ the '<' operator method on this object which has still not yet been
+ constructed. In this case it would be better not to specify the parent
+ and use the QListWidget::insertItem method to insert the item instead.
\sa type()
*/
@@ -605,7 +619,14 @@ QListWidgetItem::QListWidgetItem(const QString &text, QListWidget *view, int typ
given \a icon, \a text and \a parent.
If the parent is not specified, the item will need to be inserted into a
list widget with QListWidget::insertItem().
-
+
+ \note that this constructor inserts this same object into the model of
+ the parent that is passed to the constructor. If the model is sorted then
+ the behavior of the insert is undetermined since the model will call
+ the '<' operator method on this object which has still not yet been
+ constructed. In this case it would be better not to specify the parent
+ and use the QListWidget::insertItem method to insert the item instead.
+
\sa type()
*/
QListWidgetItem::QListWidgetItem(const QIcon &icon,const QString &text,
@@ -1268,7 +1289,7 @@ void QListWidgetPrivate::_q_dataChanged(const QModelIndex &topLeft,
This signal is emitted whenever the selection changes.
- \sa selectedItems() isItemSelected() currentItemChanged()
+ \sa selectedItems() QListWidgetItem::isSelected() currentItemChanged()
*/
/*!
diff --git a/src/gui/itemviews/qlistwidget.h b/src/gui/itemviews/qlistwidget.h
index d2f2f06..afcc331 100644
--- a/src/gui/itemviews/qlistwidget.h
+++ b/src/gui/itemviews/qlistwidget.h
@@ -291,7 +291,7 @@ private:
void setModel(QAbstractItemModel *model);
Qt::SortOrder sortOrder() const;
- Q_DECLARE_SCOPED_PRIVATE(QListWidget)
+ Q_DECLARE_PRIVATE(QListWidget)
Q_DISABLE_COPY(QListWidget)
Q_PRIVATE_SLOT(d_func(), void _q_emitItemPressed(const QModelIndex &index))
diff --git a/src/gui/itemviews/qproxymodel.h b/src/gui/itemviews/qproxymodel.h
index 420753c..62cf33e 100644
--- a/src/gui/itemviews/qproxymodel.h
+++ b/src/gui/itemviews/qproxymodel.h
@@ -119,7 +119,7 @@ protected:
void disconnectFromModel(const QAbstractItemModel *model) const;
private:
- Q_DECLARE_SCOPED_PRIVATE(QProxyModel)
+ Q_DECLARE_PRIVATE(QProxyModel)
Q_DISABLE_COPY(QProxyModel)
Q_PRIVATE_SLOT(d_func(), void _q_sourceDataChanged(const QModelIndex&,const QModelIndex&))
diff --git a/src/gui/itemviews/qsortfilterproxymodel.cpp b/src/gui/itemviews/qsortfilterproxymodel.cpp
index 30a8c96..fdc09ca 100644
--- a/src/gui/itemviews/qsortfilterproxymodel.cpp
+++ b/src/gui/itemviews/qsortfilterproxymodel.cpp
@@ -146,6 +146,7 @@ public:
const QModelIndex &source_parent) const;
QModelIndex proxy_to_source(const QModelIndex &proxyIndex) const;
QModelIndex source_to_proxy(const QModelIndex &sourceIndex) const;
+ bool can_create_mapping(const QModelIndex &source_parent) const;
void remove_from_mapping(const QModelIndex &source_parent);
@@ -354,6 +355,25 @@ QModelIndex QSortFilterProxyModelPrivate::source_to_proxy(const QModelIndex &sou
return create_index(proxy_row, proxy_column, it);
}
+bool QSortFilterProxyModelPrivate::can_create_mapping(const QModelIndex &source_parent) const
+{
+ if (source_parent.isValid()) {
+ QModelIndex source_grand_parent = source_parent.parent();
+ IndexMap::const_iterator it = source_index_mapping.constFind(source_grand_parent);
+ if (it == source_index_mapping.constEnd()) {
+ // Don't care, since we don't have mapping for the grand parent
+ return false;
+ }
+ Mapping *gm = it.value();
+ if (gm->proxy_rows.at(source_parent.row()) == -1 ||
+ gm->proxy_columns.at(source_parent.column()) == -1) {
+ // Don't care, since parent is filtered
+ return false;
+ }
+ }
+ return true;
+}
+
/*!
\internal
@@ -659,20 +679,8 @@ void QSortFilterProxyModelPrivate::source_items_inserted(
return;
IndexMap::const_iterator it = source_index_mapping.constFind(source_parent);
if (it == source_index_mapping.constEnd()) {
- if (source_parent.isValid()) {
- QModelIndex source_grand_parent = source_parent.parent();
- it = source_index_mapping.constFind(source_grand_parent);
- if (it == source_index_mapping.constEnd()) {
- // Don't care, since we don't have mapping for the grand parent
- return;
- }
- Mapping *gm = it.value();
- if (gm->proxy_rows.at(source_parent.row()) == -1 ||
- gm->proxy_columns.at(source_parent.column()) == -1) {
- // Don't care, since parent is filtered
- return;
- }
- }
+ if (!can_create_mapping(source_parent))
+ return;
it = create_mapping(source_parent);
Mapping *m = it.value();
QModelIndex proxy_parent = q->mapFromSource(source_parent);
@@ -1186,7 +1194,8 @@ void QSortFilterProxyModelPrivate::_q_sourceRowsAboutToBeInserted(
Q_UNUSED(end);
//Force the creation of a mapping now, even if its empty.
//We need it because the proxy can be acessed at the moment it emits rowsAboutToBeInserted in insert_source_items
- create_mapping(source_parent);
+ if (can_create_mapping(source_parent))
+ create_mapping(source_parent);
}
void QSortFilterProxyModelPrivate::_q_sourceRowsInserted(
@@ -1217,7 +1226,8 @@ void QSortFilterProxyModelPrivate::_q_sourceColumnsAboutToBeInserted(
Q_UNUSED(end);
//Force the creation of a mapping now, even if its empty.
//We need it because the proxy can be acessed at the moment it emits columnsAboutToBeInserted in insert_source_items
- create_mapping(source_parent);
+ if (can_create_mapping(source_parent))
+ create_mapping(source_parent);
}
void QSortFilterProxyModelPrivate::_q_sourceColumnsInserted(
diff --git a/src/gui/itemviews/qsortfilterproxymodel.h b/src/gui/itemviews/qsortfilterproxymodel.h
index b179559..0bd084e 100644
--- a/src/gui/itemviews/qsortfilterproxymodel.h
+++ b/src/gui/itemviews/qsortfilterproxymodel.h
@@ -172,7 +172,7 @@ public:
QStringList mimeTypes() const;
Qt::DropActions supportedDropActions() const;
private:
- Q_DECLARE_SCOPED_PRIVATE(QSortFilterProxyModel)
+ Q_DECLARE_PRIVATE(QSortFilterProxyModel)
Q_DISABLE_COPY(QSortFilterProxyModel)
Q_PRIVATE_SLOT(d_func(), void _q_sourceDataChanged(const QModelIndex &source_top_left, const QModelIndex &source_bottom_right))
diff --git a/src/gui/itemviews/qstandarditemmodel.h b/src/gui/itemviews/qstandarditemmodel.h
index 7e76a4a..c470b80 100644
--- a/src/gui/itemviews/qstandarditemmodel.h
+++ b/src/gui/itemviews/qstandarditemmodel.h
@@ -245,7 +245,7 @@ protected:
void emitDataChanged();
private:
- Q_DECLARE_SCOPED_PRIVATE(QStandardItem)
+ Q_DECLARE_PRIVATE(QStandardItem)
friend class QStandardItemModelPrivate;
friend class QStandardItemModel;
};
@@ -422,7 +422,7 @@ private:
friend class QStandardItemPrivate;
friend class QStandardItem;
Q_DISABLE_COPY(QStandardItemModel)
- Q_DECLARE_SCOPED_PRIVATE(QStandardItemModel)
+ Q_DECLARE_PRIVATE(QStandardItemModel)
Q_PRIVATE_SLOT(d_func(), void _q_emitItemChanged(const QModelIndex &topLeft,
const QModelIndex &bottomRight))
diff --git a/src/gui/itemviews/qstyleditemdelegate.cpp b/src/gui/itemviews/qstyleditemdelegate.cpp
index e79dafe..f64a8ea 100644
--- a/src/gui/itemviews/qstyleditemdelegate.cpp
+++ b/src/gui/itemviews/qstyleditemdelegate.cpp
@@ -671,7 +671,7 @@ bool QStyledItemDelegate::eventFilter(QObject *object, QEvent *event)
if (editor->parentWidget())
editor->parentWidget()->setFocus();
return true;
- } else if (event->type() == QEvent::FocusOut || event->type() == QEvent::Hide) {
+ } else if (event->type() == QEvent::FocusOut || (event->type() == QEvent::Hide && editor->isWindow())) {
//the Hide event will take care of he editors that are in fact complete dialogs
if (!editor->isActiveWindow() || (QApplication::focusWidget() != editor)) {
QWidget *w = QApplication::focusWidget();
@@ -686,13 +686,7 @@ bool QStyledItemDelegate::eventFilter(QObject *object, QEvent *event)
if (QDragManager::self() && QDragManager::self()->object != 0)
return false;
#endif
- // Opening a modal dialog will start a new eventloop
- // that will process the deleteLater event.
- QWidget *activeModalWidget = QApplication::activeModalWidget();
- if (activeModalWidget
- && !activeModalWidget->isAncestorOf(editor)
- && qobject_cast<QDialog*>(activeModalWidget))
- return false;
+
emit commitData(editor);
emit closeEditor(editor, NoHint);
}
diff --git a/src/gui/itemviews/qstyleditemdelegate.h b/src/gui/itemviews/qstyleditemdelegate.h
index 2f31387..ccb1024 100644
--- a/src/gui/itemviews/qstyleditemdelegate.h
+++ b/src/gui/itemviews/qstyleditemdelegate.h
@@ -101,7 +101,7 @@ protected:
const QStyleOptionViewItem &option, const QModelIndex &index);
private:
- Q_DECLARE_SCOPED_PRIVATE(QStyledItemDelegate)
+ Q_DECLARE_PRIVATE(QStyledItemDelegate)
Q_DISABLE_COPY(QStyledItemDelegate)
Q_PRIVATE_SLOT(d_func(), void _q_commitDataAndCloseEditor(QWidget*))
diff --git a/src/gui/itemviews/qtableview.cpp b/src/gui/itemviews/qtableview.cpp
index c676237..2009499 100644
--- a/src/gui/itemviews/qtableview.cpp
+++ b/src/gui/itemviews/qtableview.cpp
@@ -1528,6 +1528,8 @@ void QTableView::updateGeometries()
++columnsInViewport;
}
}
+ columnsInViewport = qMax(columnsInViewport, 1); //there must be always at least 1 column
+
if (horizontalScrollMode() == QAbstractItemView::ScrollPerItem) {
const int visibleColumns = columnCount - d->horizontalHeader->hiddenSectionCount();
horizontalScrollBar()->setRange(0, visibleColumns - columnsInViewport);
@@ -1554,6 +1556,8 @@ void QTableView::updateGeometries()
++rowsInViewport;
}
}
+ rowsInViewport = qMax(rowsInViewport, 1); //there must be always at least 1 row
+
if (verticalScrollMode() == QAbstractItemView::ScrollPerItem) {
const int visibleRows = rowCount - d->verticalHeader->hiddenSectionCount();
verticalScrollBar()->setRange(0, visibleRows - rowsInViewport);
@@ -2036,7 +2040,7 @@ void QTableView::scrollTo(const QModelIndex &index, ScrollHint hint)
if (positionAtRight || hint == PositionAtCenter || positionAtLeft) {
int hiddenSections = 0;
if (d->horizontalHeader->sectionsHidden()) {
- for (int s = horizontalIndex; s >= 0; --s) {
+ for (int s = horizontalIndex - 1; s >= 0; --s) {
int column = d->horizontalHeader->logicalIndex(s);
if (d->horizontalHeader->isSectionHidden(column))
++hiddenSections;
@@ -2091,7 +2095,7 @@ void QTableView::scrollTo(const QModelIndex &index, ScrollHint hint)
if (hint == PositionAtBottom || hint == PositionAtCenter || hint == PositionAtTop) {
int hiddenSections = 0;
if (d->verticalHeader->sectionsHidden()) {
- for (int s = verticalIndex; s >= 0; --s) {
+ for (int s = verticalIndex - 1; s >= 0; --s) {
int row = d->verticalHeader->logicalIndex(s);
if (d->verticalHeader->isSectionHidden(row))
++hiddenSections;
diff --git a/src/gui/itemviews/qtableview.h b/src/gui/itemviews/qtableview.h
index 7e4ba54..c09186c 100644
--- a/src/gui/itemviews/qtableview.h
+++ b/src/gui/itemviews/qtableview.h
@@ -178,7 +178,7 @@ private:
friend class QAccessibleItemView;
int visualIndex(const QModelIndex &index) const;
- Q_DECLARE_SCOPED_PRIVATE(QTableView)
+ Q_DECLARE_PRIVATE(QTableView)
Q_DISABLE_COPY(QTableView)
Q_PRIVATE_SLOT(d_func(), void _q_selectRow(int))
Q_PRIVATE_SLOT(d_func(), void _q_selectColumn(int))
diff --git a/src/gui/itemviews/qtablewidget.cpp b/src/gui/itemviews/qtablewidget.cpp
index d975d58..5756f35 100644
--- a/src/gui/itemviews/qtablewidget.cpp
+++ b/src/gui/itemviews/qtablewidget.cpp
@@ -1719,7 +1719,7 @@ void QTableWidgetPrivate::_q_dataChanged(const QModelIndex &topLeft,
This signal is emitted whenever the selection changes.
- \sa selectedItems() isItemSelected()
+ \sa selectedItems() QTableWidgetItem::isSelected()
*/
diff --git a/src/gui/itemviews/qtablewidget.h b/src/gui/itemviews/qtablewidget.h
index 1963df8..6c25ba0 100644
--- a/src/gui/itemviews/qtablewidget.h
+++ b/src/gui/itemviews/qtablewidget.h
@@ -336,7 +336,7 @@ protected:
private:
void setModel(QAbstractItemModel *model);
- Q_DECLARE_SCOPED_PRIVATE(QTableWidget)
+ Q_DECLARE_PRIVATE(QTableWidget)
Q_DISABLE_COPY(QTableWidget)
Q_PRIVATE_SLOT(d_func(), void _q_emitItemPressed(const QModelIndex &index))
diff --git a/src/gui/itemviews/qtreeview.cpp b/src/gui/itemviews/qtreeview.cpp
index 7c319dc..7536d72 100644
--- a/src/gui/itemviews/qtreeview.cpp
+++ b/src/gui/itemviews/qtreeview.cpp
@@ -262,10 +262,6 @@ void QTreeView::setSelectionModel(QItemSelectionModel *selectionModel)
Q_D(QTreeView);
Q_ASSERT(selectionModel);
if (d->selectionModel) {
- if (d->allColumnsShowFocus) {
- QObject::disconnect(d->selectionModel, SIGNAL(currentChanged(QModelIndex,QModelIndex)),
- this, SLOT(_q_currentChanged(QModelIndex,QModelIndex)));
- }
// support row editing
disconnect(d->selectionModel, SIGNAL(currentRowChanged(QModelIndex,QModelIndex)),
d->model, SLOT(submit()));
@@ -275,10 +271,6 @@ void QTreeView::setSelectionModel(QItemSelectionModel *selectionModel)
QAbstractItemView::setSelectionModel(selectionModel);
if (d->selectionModel) {
- if (d->allColumnsShowFocus) {
- QObject::connect(d->selectionModel, SIGNAL(currentChanged(QModelIndex,QModelIndex)),
- this, SLOT(_q_currentChanged(QModelIndex,QModelIndex)));
- }
// support row editing
connect(d->selectionModel, SIGNAL(currentRowChanged(QModelIndex,QModelIndex)),
d->model, SLOT(submit()));
@@ -901,15 +893,6 @@ void QTreeView::setAllColumnsShowFocus(bool enable)
Q_D(QTreeView);
if (d->allColumnsShowFocus == enable)
return;
- if (d->selectionModel) {
- if (enable) {
- QObject::connect(d->selectionModel, SIGNAL(currentChanged(QModelIndex,QModelIndex)),
- this, SLOT(_q_currentChanged(QModelIndex,QModelIndex)));
- } else {
- QObject::disconnect(d->selectionModel, SIGNAL(currentChanged(QModelIndex,QModelIndex)),
- this, SLOT(_q_currentChanged(QModelIndex,QModelIndex)));
- }
- }
d->allColumnsShowFocus = enable;
d->viewport->update();
}
@@ -1112,18 +1095,22 @@ void QTreeView::scrollTo(const QModelIndex &index, ScrollHint hint)
} else if (hint == PositionAtTop || (hint == EnsureVisible && item < top)) {
verticalScrollBar()->setValue(item);
} else { // PositionAtBottom or PositionAtCenter
- int itemLocation = item;
+ const int currentItemHeight = d->itemHeight(item);
int y = (hint == PositionAtCenter
- ? area.height() / 2
+ //we center on the current item with a preference to the top item (ie. -1)
+ ? area.height() / 2 + currentItemHeight - 1
+ //otherwise we simply take the whole space
: area.height());
- while (y > 0 && item > 0)
- y -= d->itemHeight(item--);
- // end up half over the top of the area
- if (y < 0 && item < itemLocation)
- ++item;
- // end up half over the bottom of the area
- if (item >= 0 && item < itemLocation)
- ++item;
+ if (y > currentItemHeight) {
+ while (item >= 0) {
+ y -= d->itemHeight(item);
+ if (y < 0) { //there is no more space left
+ item++;
+ break;
+ }
+ item--;
+ }
+ }
verticalScrollBar()->setValue(item);
}
} else { // ScrollPerPixel
@@ -1267,10 +1254,13 @@ void QTreeView::paintEvent(QPaintEvent *event)
Q_D(QTreeView);
d->executePostedLayout();
QPainter painter(viewport());
+#ifndef QT_NO_ANIMATION
if (d->isAnimating()) {
- drawTree(&painter, event->region() - d->animationRect());
+ drawTree(&painter, event->region() - d->animatedOperation.rect());
d->drawAnimatedOperation(&painter);
- } else {
+ } else
+#endif //QT_NO_ANIMATION
+ {
drawTree(&painter, event->region());
#ifndef QT_NO_DRAGANDDROP
d->paintDropIndicator(&painter);
@@ -1306,13 +1296,13 @@ bool QTreeViewPrivate::expandOrCollapseItemAtPos(const QPoint &pos)
{
Q_Q(QTreeView);
// we want to handle mousePress in EditingState (persistent editors)
- if ((q->state() != QAbstractItemView::NoState
- && q->state() != QAbstractItemView::EditingState)
+ if ((state != QAbstractItemView::NoState
+ && state != QAbstractItemView::EditingState)
|| !viewport->rect().contains(pos))
return true;
int i = itemDecorationAt(pos);
- if ((i != -1) && q->itemsExpandable() && hasVisibleChildren(viewItems.at(i).index)) {
+ if ((i != -1) && itemsExpandable && hasVisibleChildren(viewItems.at(i).index)) {
if (viewItems.at(i).expanded)
collapse(i, true);
else
@@ -1335,6 +1325,50 @@ void QTreeViewPrivate::_q_modelDestroyed()
}
/*!
+ \reimp
+
+ We have a QTreeView way of knowing what elements are on the viewport
+*/
+QItemViewPaintPairs QTreeViewPrivate::draggablePaintPairs(const QModelIndexList &indexes, QRect *r) const
+{
+ Q_ASSERT(r);
+ return QAbstractItemViewPrivate::draggablePaintPairs(indexes, r);
+ Q_Q(const QTreeView);
+ QRect &rect = *r;
+ const QRect viewportRect = viewport->rect();
+ int itemOffset = 0;
+ int row = firstVisibleItem(&itemOffset);
+ QPair<int, int> startEnd = startAndEndColumns(viewportRect);
+ QVector<int> columns;
+ for (int i = startEnd.first; i <= startEnd.second; ++i) {
+ int logical = header->logicalIndex(i);
+ if (!header->isSectionHidden(logical))
+ columns += logical;
+ }
+ QSet<QModelIndex> visibleIndexes;
+ for (; itemOffset < viewportRect.bottom() && row < viewItems.count(); ++row) {
+ const QModelIndex &index = viewItems.at(row).index;
+ for (int colIndex = 0; colIndex < columns.count(); ++colIndex)
+ visibleIndexes += index.sibling(index.row(), columns.at(colIndex));
+ itemOffset += itemHeight(row);
+ }
+
+ //now that we have the visible indexes, we can try to find those which are selected
+ QItemViewPaintPairs ret;
+ for (int i = 0; i < indexes.count(); ++i) {
+ const QModelIndex &index = indexes.at(i);
+ if (visibleIndexes.contains(index)) {
+ const QRect current = q->visualRect(index);
+ ret += qMakePair(current, index);
+ rect |= current;
+ }
+ }
+ rect &= viewportRect;
+ return ret;
+}
+
+
+/*!
\since 4.2
Draws the part of the tree intersecting the given \a region using the specified
\a painter.
@@ -2819,7 +2853,7 @@ int QTreeView::rowHeight(const QModelIndex &index) const
}
/*!
- \reimp
+ \internal
*/
void QTreeView::horizontalScrollbarAction(int action)
{
@@ -2851,10 +2885,9 @@ void QTreeViewPrivate::initialize()
header->setStretchLastSection(true);
header->setDefaultAlignment(Qt::AlignLeft|Qt::AlignVCenter);
q->setHeader(header);
-
- // animation
- QObject::connect(&timeline, SIGNAL(frameChanged(int)), q, SLOT(_q_animate()));
- QObject::connect(&timeline, SIGNAL(finished()), q, SLOT(_q_endAnimatedOperation()), Qt::QueuedConnection);
+#ifndef QT_NO_ANIMATION
+ QObject::connect(&animatedOperation, SIGNAL(finished()), q, SLOT(_q_endAnimatedOperation()));
+#endif //QT_NO_ANIMATION
}
void QTreeViewPrivate::expand(int item, bool emitSignal)
@@ -2864,10 +2897,11 @@ void QTreeViewPrivate::expand(int item, bool emitSignal)
if (item == -1 || viewItems.at(item).expanded)
return;
+#ifndef QT_NO_ANIMATION
if (emitSignal && animationsEnabled)
- prepareAnimatedOperation(item, AnimatedOperation::Expand);
-
- QAbstractItemView::State oldState = q->state();
+ prepareAnimatedOperation(item, QVariantAnimation::Forward);
+#endif //QT_NO_ANIMATION
+ QAbstractItemView::State oldState = state;
q->setState(QAbstractItemView::ExpandingState);
const QModelIndex index = viewItems.at(item).index;
storeExpanded(index);
@@ -2877,8 +2911,10 @@ void QTreeViewPrivate::expand(int item, bool emitSignal)
if (emitSignal) {
emit q->expanded(index);
+#ifndef QT_NO_ANIMATION
if (animationsEnabled)
beginAnimatedOperation();
+#endif //QT_NO_ANIMATION
}
if (model->canFetchMore(index))
model->fetchMore(index);
@@ -2902,10 +2938,12 @@ void QTreeViewPrivate::collapse(int item, bool emitSignal)
if (it == expandedIndexes.end() || viewItems.at(item).expanded == false)
return; // nothing to do
+#ifndef QT_NO_ANIMATION
if (emitSignal && animationsEnabled)
- prepareAnimatedOperation(item, AnimatedOperation::Collapse);
+ prepareAnimatedOperation(item, QVariantAnimation::Backward);
+#endif //QT_NO_ANIMATION
- QAbstractItemView::State oldState = q->state();
+ QAbstractItemView::State oldState = state;
q->setState(QAbstractItemView::CollapsingState);
expandedIndexes.erase(it);
viewItems[item].expanded = false;
@@ -2922,29 +2960,33 @@ void QTreeViewPrivate::collapse(int item, bool emitSignal)
if (emitSignal) {
emit q->collapsed(modelIndex);
+#ifndef QT_NO_ANIMATION
if (animationsEnabled)
beginAnimatedOperation();
+#endif //QT_NO_ANIMATION
}
}
-void QTreeViewPrivate::prepareAnimatedOperation(int item, AnimatedOperation::Type type)
+#ifndef QT_NO_ANIMATION
+void QTreeViewPrivate::prepareAnimatedOperation(int item, QVariantAnimation::Direction direction)
{
animatedOperation.item = item;
- animatedOperation.type = type;
+ animatedOperation.viewport = viewport;
+ animatedOperation.setDirection(direction);
int top = coordinateForItem(item) + itemHeight(item);
QRect rect = viewport->rect();
rect.setTop(top);
- if (type == AnimatedOperation::Collapse) {
+ if (direction == QVariantAnimation::Backward) {
const int limit = rect.height() * 2;
int h = 0;
int c = item + viewItems.at(item).total + 1;
for (int i = item + 1; i < c && h < limit; ++i)
h += itemHeight(i);
rect.setHeight(h);
- animatedOperation.duration = h;
+ animatedOperation.setEndValue(top + h);
}
- animatedOperation.top = top;
+ animatedOperation.setStartValue(top);
animatedOperation.before = renderTreeToPixmapForAnimation(rect);
}
@@ -2953,50 +2995,29 @@ void QTreeViewPrivate::beginAnimatedOperation()
Q_Q(QTreeView);
QRect rect = viewport->rect();
- rect.setTop(animatedOperation.top);
- if (animatedOperation.type == AnimatedOperation::Expand) {
+ rect.setTop(animatedOperation.top());
+ if (animatedOperation.direction() == QVariantAnimation::Forward) {
const int limit = rect.height() * 2;
int h = 0;
int c = animatedOperation.item + viewItems.at(animatedOperation.item).total + 1;
for (int i = animatedOperation.item + 1; i < c && h < limit; ++i)
h += itemHeight(i);
rect.setHeight(h);
- animatedOperation.duration = h;
+ animatedOperation.setEndValue(animatedOperation.top() + h);
}
animatedOperation.after = renderTreeToPixmapForAnimation(rect);
q->setState(QAbstractItemView::AnimatingState);
-
- timeline.stop();
- timeline.setDuration(250);
- timeline.setFrameRange(animatedOperation.top, animatedOperation.top + animatedOperation.duration);
- timeline.start();
-}
-
-void QTreeViewPrivate::_q_endAnimatedOperation()
-{
- Q_Q(QTreeView);
- animatedOperation.before = QPixmap();
- animatedOperation.after = QPixmap();
- q->setState(QAbstractItemView::NoState);
- q->updateGeometries();
- viewport->update();
-}
-
-void QTreeViewPrivate::_q_animate()
-{
- QRect rect = viewport->rect();
- rect.moveTop(animatedOperation.top);
- viewport->repaint(rect);
+ animatedOperation.start(); //let's start the animation
}
void QTreeViewPrivate::drawAnimatedOperation(QPainter *painter) const
{
- int start = timeline.startFrame();
- int end = timeline.endFrame();
- bool collapsing = animatedOperation.type == AnimatedOperation::Collapse;
- int current = collapsing ? end - timeline.currentFrame() + start : timeline.currentFrame();
+ const int start = animatedOperation.startValue().toInt(),
+ end = animatedOperation.endValue().toInt(),
+ current = animatedOperation.currentValue().toInt();
+ bool collapsing = animatedOperation.direction() == QVariantAnimation::Backward;
const QPixmap top = collapsing ? animatedOperation.before : animatedOperation.after;
painter->drawPixmap(0, start, top, 0, end - current - 1, top.width(), top.height());
const QPixmap bottom = collapsing ? animatedOperation.after : animatedOperation.before;
@@ -3039,26 +3060,14 @@ QPixmap QTreeViewPrivate::renderTreeToPixmapForAnimation(const QRect &rect) cons
return pixmap;
}
-void QTreeViewPrivate::_q_currentChanged(const QModelIndex &current, const QModelIndex &previous)
+void QTreeViewPrivate::_q_endAnimatedOperation()
{
Q_Q(QTreeView);
- if (previous.isValid()) {
- QRect previousRect = q->visualRect(previous);
- if (allColumnsShowFocus) {
- previousRect.setX(0);
- previousRect.setWidth(viewport->width());
- }
- viewport->update(previousRect);
- }
- if (current.isValid()) {
- QRect currentRect = q->visualRect(current);
- if (allColumnsShowFocus) {
- currentRect.setX(0);
- currentRect.setWidth(viewport->width());
- }
- viewport->update(currentRect);
- }
+ q->setState(QAbstractItemView::NoState);
+ q->updateGeometries();
+ viewport->update();
}
+#endif //QT_NO_ANIMATION
void QTreeViewPrivate::_q_modelAboutToBeReset()
{
@@ -3787,6 +3796,21 @@ void QTreeView::currentChanged(const QModelIndex &current, const QModelIndex &pr
}
#endif
QAbstractItemView::currentChanged(current, previous);
+
+ if (allColumnsShowFocus()) {
+ if (previous.isValid()) {
+ QRect previousRect = visualRect(previous);
+ previousRect.setX(0);
+ previousRect.setWidth(viewport()->width());
+ viewport()->update(previousRect);
+ }
+ if (current.isValid()) {
+ QRect currentRect = visualRect(current);
+ currentRect.setX(0);
+ currentRect.setWidth(viewport()->width());
+ viewport()->update(currentRect);
+ }
+ }
}
/*!
diff --git a/src/gui/itemviews/qtreeview.h b/src/gui/itemviews/qtreeview.h
index f9748c6..4411781 100644
--- a/src/gui/itemviews/qtreeview.h
+++ b/src/gui/itemviews/qtreeview.h
@@ -144,19 +144,20 @@ public:
void sortByColumn(int column, Qt::SortOrder order);
+ void dataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight);
+ void selectAll();
+
Q_SIGNALS:
void expanded(const QModelIndex &index);
void collapsed(const QModelIndex &index);
public Q_SLOTS:
- void dataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight);
void hideColumn(int column);
void showColumn(int column);
void expand(const QModelIndex &index);
void collapse(const QModelIndex &index);
void resizeColumnToContents(int column);
void sortByColumn(int column);
- void selectAll();
void expandAll();
void collapseAll();
void expandToDepth(int depth);
@@ -220,16 +221,13 @@ private:
friend class QAccessibleItemView;
int visualIndex(const QModelIndex &index) const;
- Q_DECLARE_SCOPED_PRIVATE(QTreeView)
+ Q_DECLARE_PRIVATE(QTreeView)
Q_DISABLE_COPY(QTreeView)
+#ifndef QT_NO_ANIMATION
Q_PRIVATE_SLOT(d_func(), void _q_endAnimatedOperation())
- Q_PRIVATE_SLOT(d_func(), void _q_animate())
- Q_PRIVATE_SLOT(d_func(), void _q_currentChanged(const QModelIndex&, const QModelIndex &))
- Q_PRIVATE_SLOT(d_func(), void _q_columnsAboutToBeRemoved(const QModelIndex &, int, int))
- Q_PRIVATE_SLOT(d_func(), void _q_columnsRemoved(const QModelIndex &, int, int))
+#endif //QT_NO_ANIMATION
Q_PRIVATE_SLOT(d_func(), void _q_modelAboutToBeReset())
Q_PRIVATE_SLOT(d_func(), void _q_sortIndicatorChanged(int column, Qt::SortOrder order))
- Q_PRIVATE_SLOT(d_func(), void _q_modelDestroyed())
};
#endif // QT_NO_TREEVIEW
diff --git a/src/gui/itemviews/qtreeview_p.h b/src/gui/itemviews/qtreeview_p.h
index 6a1dfe5..546dc75 100644
--- a/src/gui/itemviews/qtreeview_p.h
+++ b/src/gui/itemviews/qtreeview_p.h
@@ -54,6 +54,7 @@
//
#include "private/qabstractitemview_p.h"
+#include <QtCore/qvariantanimation.h>
#ifndef QT_NO_TREEVIEW
@@ -81,42 +82,41 @@ public:
uniformRowHeights(false), rootDecoration(true),
itemsExpandable(true), sortingEnabled(false),
expandsOnDoubleClick(true),
- allColumnsShowFocus(false),
+ allColumnsShowFocus(false), current(0),
animationsEnabled(false), columnResizeTimerID(0),
autoExpandDelay(-1), hoverBranch(-1), geometryRecursionBlock(false) {}
~QTreeViewPrivate() {}
void initialize();
- struct AnimatedOperation
+ QItemViewPaintPairs draggablePaintPairs(const QModelIndexList &indexes, QRect *r) const;
+
+#ifndef QT_NO_ANIMATION
+ struct AnimatedOperation : public QVariantAnimation
{
- enum Type { Expand, Collapse };
int item;
- int top;
- int duration;
- Type type;
QPixmap before;
QPixmap after;
- };
-
- void expand(int item, bool emitSignal);
- void collapse(int item, bool emitSignal);
-
- void prepareAnimatedOperation(int item, AnimatedOperation::Type type);
+ QWidget *viewport;
+ AnimatedOperation() : item(0) { setEasingCurve(QEasingCurve::InOutQuad); }
+ int top() const { return startValue().toInt(); }
+ QRect rect() const { QRect rect = viewport->rect(); rect.moveTop(top()); return rect; }
+ void updateCurrentValue(const QVariant &) { viewport->update(rect()); }
+ void updateState(State, State state) { if (state == Stopped) before = after = QPixmap(); }
+ } animatedOperation;
+ void prepareAnimatedOperation(int item, QVariantAnimation::Direction d);
void beginAnimatedOperation();
- void _q_endAnimatedOperation();
void drawAnimatedOperation(QPainter *painter) const;
QPixmap renderTreeToPixmapForAnimation(const QRect &rect) const;
+ void _q_endAnimatedOperation();
+#endif //QT_NO_ANIMATION
- inline QRect animationRect() const
- { return QRect(0, animatedOperation.top, viewport->width(),
- viewport->height() - animatedOperation.top); }
+ void expand(int item, bool emitSignal);
+ void collapse(int item, bool emitSignal);
- void _q_currentChanged(const QModelIndex&, const QModelIndex&);
void _q_columnsAboutToBeRemoved(const QModelIndex &, int, int);
void _q_columnsRemoved(const QModelIndex &, int, int);
void _q_modelAboutToBeReset();
- void _q_animate();
void _q_sortIndicatorChanged(int column, Qt::SortOrder order);
void _q_modelDestroyed();
@@ -177,8 +177,6 @@ public:
// used when expanding and collapsing items
QSet<QPersistentModelIndex> expandedIndexes;
- QStack<bool> expandParent;
- AnimatedOperation animatedOperation;
bool animationsEnabled;
inline bool storeExpanded(const QPersistentModelIndex &idx) {
diff --git a/src/gui/itemviews/qtreewidget.cpp b/src/gui/itemviews/qtreewidget.cpp
index 7dded8d..7cded49 100644
--- a/src/gui/itemviews/qtreewidget.cpp
+++ b/src/gui/itemviews/qtreewidget.cpp
@@ -2437,7 +2437,7 @@ void QTreeWidgetPrivate::_q_dataChanged(const QModelIndex &topLeft,
\note This signal will not be emitted if an item changes its state when
expandAll() is invoked.
- \sa isItemExpanded(), itemCollapsed(), expandItem()
+ \sa QTreeWidgetItem::isExpanded(), itemCollapsed(), expandItem()
*/
/*!
@@ -2449,7 +2449,7 @@ void QTreeWidgetPrivate::_q_dataChanged(const QModelIndex &topLeft,
\note This signal will not be emitted if an item changes its state when
collapseAll() is invoked.
- \sa isItemExpanded(), itemExpanded(), collapseItem()
+ \sa QTreeWidgetItem::isExpanded(), itemExpanded(), collapseItem()
*/
/*!
@@ -3109,9 +3109,9 @@ bool QTreeWidget::isItemExpanded(const QTreeWidgetItem *item) const
\sa expandItem(), collapseItem(), itemExpanded()
- \obsolete
+ \obsolete
- This function is deprecated. Use \l{QTreeWidgetItem::setExpanded()} instead.
+ This function is deprecated. Use \l{QTreeWidgetItem::setExpanded()} instead.
*/
void QTreeWidget::setItemExpanded(const QTreeWidgetItem *item, bool expand)
{
diff --git a/src/gui/itemviews/qtreewidget.h b/src/gui/itemviews/qtreewidget.h
index b640a7a..3266725 100644
--- a/src/gui/itemviews/qtreewidget.h
+++ b/src/gui/itemviews/qtreewidget.h
@@ -367,7 +367,7 @@ protected:
private:
void setModel(QAbstractItemModel *model);
- Q_DECLARE_SCOPED_PRIVATE(QTreeWidget)
+ Q_DECLARE_PRIVATE(QTreeWidget)
Q_DISABLE_COPY(QTreeWidget)
Q_PRIVATE_SLOT(d_func(), void _q_emitItemPressed(const QModelIndex &index))
diff --git a/src/gui/itemviews/qtreewidget_p.h b/src/gui/itemviews/qtreewidget_p.h
index 6d62062..145916a 100644
--- a/src/gui/itemviews/qtreewidget_p.h
+++ b/src/gui/itemviews/qtreewidget_p.h
@@ -162,7 +162,7 @@ private:
bool isChanging() const;
private:
- Q_DECLARE_SCOPED_PRIVATE(QTreeModel)
+ Q_DECLARE_PRIVATE(QTreeModel)
public:
struct SkipSorting
{
diff --git a/src/gui/itemviews/qtreewidgetitemiterator.h b/src/gui/itemviews/qtreewidgetitemiterator.h
index ce0b610..eff9fdb 100644
--- a/src/gui/itemviews/qtreewidgetitemiterator.h
+++ b/src/gui/itemviews/qtreewidgetitemiterator.h
@@ -109,7 +109,7 @@ private:
QScopedPointer<QTreeWidgetItemIteratorPrivate> d_ptr;
QTreeWidgetItem *current;
IteratorFlags flags;
- Q_DECLARE_SCOPED_PRIVATE(QTreeWidgetItemIterator)
+ Q_DECLARE_PRIVATE(QTreeWidgetItemIterator)
};
inline const QTreeWidgetItemIterator QTreeWidgetItemIterator::operator++(int)
diff --git a/src/gui/kernel/kernel.pri b/src/gui/kernel/kernel.pri
index 8b46dc6..1766ecd 100644
--- a/src/gui/kernel/kernel.pri
+++ b/src/gui/kernel/kernel.pri
@@ -44,12 +44,8 @@ HEADERS += \
kernel/qkeymapper_p.h \
kernel/qgesture.h \
kernel/qgesture_p.h \
- kernel/qgesturemanager_p.h \
- kernel/qgesturerecognizer_p.h \
- kernel/qgesturerecognizer.h \
- kernel/qgesturestandardrecognizers_p.h \
- kernel/qdirectionrecognizer_p.h \
- kernel/qdirectionsimplificator_p.h
+ kernel/qstandardgestures.h \
+ kernel/qstandardgestures_p.h
SOURCES += \
kernel/qaction.cpp \
@@ -80,10 +76,7 @@ SOURCES += \
kernel/qwidgetaction.cpp \
kernel/qkeymapper.cpp \
kernel/qgesture.cpp \
- kernel/qgesturemanager.cpp \
- kernel/qgesturerecognizer.cpp \
- kernel/qgesturestandardrecognizers.cpp \
- kernel/qdirectionrecognizer.cpp
+ kernel/qstandardgestures.cpp
win32 {
DEFINES += QT_NO_DIRECTDRAW
diff --git a/src/gui/kernel/qaction.cpp b/src/gui/kernel/qaction.cpp
index 07c40c7..53cbc64 100644
--- a/src/gui/kernel/qaction.cpp
+++ b/src/gui/kernel/qaction.cpp
@@ -82,7 +82,7 @@ static QString qt_strippedText(QString s)
QActionPrivate::QActionPrivate() : group(0), enabled(1), forceDisabled(0),
visible(1), forceInvisible(0), checkable(0), checked(0), separator(0), fontSet(false),
menuRole(QAction::TextHeuristicRole), softKeyRole(QAction::OptionsSoftKey),
- iconVisibleInMenu(-1)
+ priority(QAction::NormalPriority), iconVisibleInMenu(-1)
{
#ifdef QT3_SUPPORT
static int qt_static_action_id = -1;
@@ -910,6 +910,52 @@ QString QAction::whatsThis() const
return d->whatsthis;
}
+/*!
+ \enum QAction::Priority
+ \since 4.6
+
+ This enum defines priorities for actions in user interface.
+
+ \value LowPriority The action should not be prioritized in
+ the user interface.
+
+ \value NormalPriority
+
+ \value HighPriority The action should be prioritized in
+ the user interface.
+
+ \sa priority
+*/
+
+
+/*!
+ \property QAction::priority
+ \since 4.6
+
+ \brief the actions's priority in the user interface.
+
+ This property can be set to indicate how the action should be prioritized
+ in the user interface.
+
+ For instance, when toolbars have the Qt::ToolButtonTextBesideIcon
+ mode set, then actions with LowPriority will not show the text
+ labels.
+*/
+void QAction::setPriority(Priority priority)
+{
+ Q_D(QAction);
+ if (d->priority == priority)
+ return;
+
+ d->priority = priority;
+ d->sendDataChanged();
+}
+
+QAction::Priority QAction::priority() const
+{
+ Q_D(const QAction);
+ return d->priority;
+}
/*!
\property QAction::checkable
diff --git a/src/gui/kernel/qaction.h b/src/gui/kernel/qaction.h
index f884a9a..68f88c5 100644
--- a/src/gui/kernel/qaction.h
+++ b/src/gui/kernel/qaction.h
@@ -64,29 +64,31 @@ class QGraphicsWidget;
class Q_GUI_EXPORT QAction : public QObject
{
Q_OBJECT
- Q_DECLARE_SCOPED_PRIVATE(QAction)
+ Q_DECLARE_PRIVATE(QAction)
Q_ENUMS(MenuRole)
Q_ENUMS(SoftKeyRole)
- Q_PROPERTY(bool checkable READ isCheckable WRITE setCheckable)
+ Q_ENUMS(Priority)
+ Q_PROPERTY(bool checkable READ isCheckable WRITE setCheckable NOTIFY changed)
Q_PROPERTY(bool checked READ isChecked WRITE setChecked DESIGNABLE isCheckable NOTIFY toggled)
- Q_PROPERTY(bool enabled READ isEnabled WRITE setEnabled)
- Q_PROPERTY(QIcon icon READ icon WRITE setIcon)
- Q_PROPERTY(QString text READ text WRITE setText)
- Q_PROPERTY(QString iconText READ iconText WRITE setIconText)
- Q_PROPERTY(QString toolTip READ toolTip WRITE setToolTip)
- Q_PROPERTY(QString statusTip READ statusTip WRITE setStatusTip)
- Q_PROPERTY(QString whatsThis READ whatsThis WRITE setWhatsThis)
- Q_PROPERTY(QFont font READ font WRITE setFont)
+ Q_PROPERTY(bool enabled READ isEnabled WRITE setEnabled NOTIFY changed)
+ Q_PROPERTY(QIcon icon READ icon WRITE setIcon NOTIFY changed)
+ Q_PROPERTY(QString text READ text WRITE setText NOTIFY changed)
+ Q_PROPERTY(QString iconText READ iconText WRITE setIconText NOTIFY changed)
+ Q_PROPERTY(QString toolTip READ toolTip WRITE setToolTip NOTIFY changed)
+ Q_PROPERTY(QString statusTip READ statusTip WRITE setStatusTip NOTIFY changed)
+ Q_PROPERTY(QString whatsThis READ whatsThis WRITE setWhatsThis NOTIFY changed)
+ Q_PROPERTY(QFont font READ font WRITE setFont NOTIFY changed)
#ifndef QT_NO_SHORTCUT
- Q_PROPERTY(QKeySequence shortcut READ shortcut WRITE setShortcut)
- Q_PROPERTY(Qt::ShortcutContext shortcutContext READ shortcutContext WRITE setShortcutContext)
- Q_PROPERTY(bool autoRepeat READ autoRepeat WRITE setAutoRepeat)
+ Q_PROPERTY(QKeySequence shortcut READ shortcut WRITE setShortcut NOTIFY changed)
+ Q_PROPERTY(Qt::ShortcutContext shortcutContext READ shortcutContext WRITE setShortcutContext NOTIFY changed)
+ Q_PROPERTY(bool autoRepeat READ autoRepeat WRITE setAutoRepeat NOTIFY changed)
#endif
- Q_PROPERTY(bool visible READ isVisible WRITE setVisible)
- Q_PROPERTY(MenuRole menuRole READ menuRole WRITE setMenuRole)
- Q_PROPERTY(SoftKeyRole softKeyRole READ softKeyRole WRITE setSoftKeyRole)
- Q_PROPERTY(bool iconVisibleInMenu READ isIconVisibleInMenu WRITE setIconVisibleInMenu)
+ Q_PROPERTY(bool visible READ isVisible WRITE setVisible NOTIFY changed)
+ Q_PROPERTY(MenuRole menuRole READ menuRole WRITE setMenuRole NOTIFY changed)
+ Q_PROPERTY(SoftKeyRole softKeyRole READ softKeyRole WRITE setSoftKeyRole NOTIFY changed)
+ Q_PROPERTY(bool iconVisibleInMenu READ isIconVisibleInMenu WRITE setIconVisibleInMenu NOTIFY changed)
+ Q_PROPERTY(Priority priority READ priority WRITE setPriority)
public:
enum MenuRole { NoRole, TextHeuristicRole, ApplicationSpecificRole, AboutQtRole,
@@ -95,6 +97,9 @@ public:
OkSoftKey, CancelSoftKey, EditSoftKey, ViewSoftKey, BackSpaceSoftKey,
EndEditSoftKey, RevertEditSoftKey, DeselectSoftKey, FinishSoftKey,
MenuSoftKey, ContextMenuSoftKey, ExitSoftKey };
+ enum Priority { LowPriority = 0,
+ NormalPriority = 128,
+ HighPriority = 256};
explicit QAction(QObject* parent);
QAction(const QString &text, QObject* parent);
QAction(const QIcon &icon, const QString &text, QObject* parent);
@@ -129,6 +134,9 @@ public:
void setWhatsThis(const QString &what);
QString whatsThis() const;
+ void setPriority(Priority priority);
+ Priority priority() const;
+
#ifndef QT_NO_MENU
QMenu *menu() const;
void setMenu(QMenu *menu);
diff --git a/src/gui/kernel/qaction_p.h b/src/gui/kernel/qaction_p.h
index 516b89c..4e3651e 100644
--- a/src/gui/kernel/qaction_p.h
+++ b/src/gui/kernel/qaction_p.h
@@ -103,6 +103,7 @@ public:
uint fontSet : 1;
QAction::MenuRole menuRole;
QAction::SoftKeyRole softKeyRole;
+ QAction::Priority priority;
int iconVisibleInMenu : 3; // Only has values -1, 0, and 1
QList<QWidget *> widgets;
#ifndef QT_NO_GRAPHICSVIEW
diff --git a/src/gui/kernel/qactiongroup.h b/src/gui/kernel/qactiongroup.h
index 07bdbda..e42c2e5 100644
--- a/src/gui/kernel/qactiongroup.h
+++ b/src/gui/kernel/qactiongroup.h
@@ -57,7 +57,7 @@ class QActionGroupPrivate;
class Q_GUI_EXPORT QActionGroup : public QObject
{
Q_OBJECT
- Q_DECLARE_SCOPED_PRIVATE(QActionGroup)
+ Q_DECLARE_PRIVATE(QActionGroup)
Q_PROPERTY(bool exclusive READ isExclusive WRITE setExclusive)
Q_PROPERTY(bool enabled READ isEnabled WRITE setEnabled)
diff --git a/src/gui/kernel/qapplication.cpp b/src/gui/kernel/qapplication.cpp
index ab2672b..5d1ef8c 100644
--- a/src/gui/kernel/qapplication.cpp
+++ b/src/gui/kernel/qapplication.cpp
@@ -39,6 +39,7 @@
**
****************************************************************************/
+#include "qplatformdefs.h"
#include "qabstracteventdispatcher.h"
#include "qaccessible.h"
#include "qapplication.h"
@@ -93,8 +94,6 @@
#include "qapplication.h"
-#include <private/qgesturemanager_p.h>
-
#ifdef Q_WS_WINCE
#include "qdatetime.h"
#include "qguifunctions_wince.h"
@@ -131,7 +130,7 @@ int QApplicationPrivate::app_compile_version = 0x040000; //we don't know exactly
QApplication::Type qt_appType=QApplication::Tty;
QApplicationPrivate *QApplicationPrivate::self = 0;
-QInputContext *QApplicationPrivate::inputContext;
+QInputContext *QApplicationPrivate::inputContext = 0;
bool QApplicationPrivate::quitOnLastWindowClosed = true;
@@ -142,14 +141,6 @@ bool QApplicationPrivate::autoSipEnabled = false;
bool QApplicationPrivate::autoSipEnabled = true;
#endif
-QGestureManager* QGestureManager::instance()
-{
- QApplicationPrivate *d = qApp->d_func();
- if (!d->gestureManager)
- d->gestureManager = new QGestureManager(qApp);
- return d->gestureManager;
-}
-
QApplicationPrivate::QApplicationPrivate(int &argc, char **argv, QApplication::Type type)
: QCoreApplicationPrivate(argc, argv)
{
@@ -173,8 +164,6 @@ QApplicationPrivate::QApplicationPrivate(int &argc, char **argv, QApplication::T
directPainters = 0;
#endif
- gestureManager = 0;
-
if (!self)
self = this;
}
@@ -195,11 +184,11 @@ QApplicationPrivate::~QApplicationPrivate()
QApplication contains the main event loop, where all events from the window
system and other sources are processed and dispatched. It also handles the
- application's initialization and finalization, and provides session
- management. In addition, it handles most system-wide and application-wide
- settings.
+ application's initialization, finalization, and provides session
+ management. In addition, QApplication handles most of the system-wide and
+ application-wide settings.
- For any GUI application using Qt, there is precisely one QApplication
+ For any GUI application using Qt, there is precisely \bold one QApplication
object, no matter whether the application has 0, 1, 2 or more windows at
any given time. For non-GUI Qt applications, use QCoreApplication instead,
as it does not depend on the \l QtGui library.
@@ -255,9 +244,9 @@ QApplicationPrivate::~QApplicationPrivate()
saveState() for details.
\endlist
- The QApplication object does so much initialization. Hence, it \e{must} be
+ Since the QApplication object does so much initialization, it \e{must} be
created before any other objects related to the user interface are created.
- Since QApplication also deals with common command line arguments, it is
+ QApplication also deals with common command line arguments. Hence, it is
usually a good idea to create it \e before any interpretation or
modification of \c argv is done in the application itself.
@@ -699,9 +688,9 @@ QApplication::QApplication(int &argc, char **argv, int _internal)
On X11, the window system is initialized if \a GUIenabled is true. If
\a GUIenabled is false, the application does not connect to the X server.
- On Windows and Macintosh, currently the window system is always
- initialized, regardless of the value of GUIenabled. This may change in
- future versions of Qt.
+ On Windows and Mac OS, currently the window system is always initialized,
+ regardless of the value of GUIenabled. This may change in future versions
+ of Qt.
The following example shows how to create an application that uses a
graphical interface when available.
@@ -846,6 +835,12 @@ QApplication::QApplication(Display *dpy, int &argc, char **argv,
#endif // Q_WS_X11
extern void qInitDrawhelperAsm();
+extern int qRegisterGuiVariant();
+extern int qUnregisterGuiVariant();
+#ifndef QT_NO_STATEMACHINE
+extern int qRegisterGuiStateMachine();
+extern int qUnregisterGuiStateMachine();
+#endif
/*!
\fn void QApplicationPrivate::initialize()
@@ -859,11 +854,9 @@ void QApplicationPrivate::initialize()
if (qt_appType != QApplication::Tty)
(void) QApplication::style(); // trigger creation of application style
// trigger registering of QVariant's GUI types
- extern int qRegisterGuiVariant();
qRegisterGuiVariant();
#ifndef QT_NO_STATEMACHINE
// trigger registering of QStateMachine's GUI types
- extern int qRegisterGuiStateMachine();
qRegisterGuiStateMachine();
#endif
@@ -878,12 +871,6 @@ void QApplicationPrivate::initialize()
if (qgetenv("QT_USE_NATIVE_WINDOWS").toInt() > 0)
q->setAttribute(Qt::AA_NativeWindows);
-#if defined(Q_WS_WIN)
- // Alien is not currently working on Windows 98
- if (QSysInfo::WindowsVersion & QSysInfo::WV_DOS_based)
- q->setAttribute(Qt::AA_NativeWindows);
-#endif
-
#ifdef Q_WS_WINCE
#ifdef QT_AUTO_MAXIMIZE_THRESHOLD
autoMaximizeThreshold = QT_AUTO_MAXIMIZE_THRESHOLD;
@@ -1085,11 +1072,9 @@ QApplication::~QApplication()
#ifndef QT_NO_STATEMACHINE
// trigger unregistering of QStateMachine's GUI types
- extern int qUnregisterGuiStateMachine();
qUnregisterGuiStateMachine();
#endif
// trigger unregistering of QVariant's GUI types
- extern int qUnregisterGuiVariant();
qUnregisterGuiVariant();
}
@@ -1216,21 +1201,22 @@ bool QApplication::compressEvent(QEvent *event, QObject *receiver, QPostEventLis
\since 4.4
\brief defines a threshold for auto maximizing widgets
- The auto maximize threshold is only available as part of Qt for Windows CE.
+ \bold{The auto maximize threshold is only available as part of Qt for
+ Windows CE.}
This property defines a threshold for the size of a window as a percentage
of the screen size. If the minimum size hint of a window exceeds the
- threshold, calling show() will then cause the window to be maximized
+ threshold, calling show() will cause the window to be maximized
automatically.
- Setting the threshold to be 100 or greater means that it will cause it to
- always be maximized. Setting it to be 50 means that the widget is maximized
- if the vertical minimum size hint is at least 50% of the vertical screen
- size.
+ Setting the threshold to 100 or greater means that the widget will always
+ be maximized. Alternatively, setting the threshold to 50 means that the
+ widget will be maximized only if the vertical minimum size hint is at least
+ 50% of the vertical screen size.
- If -1 is specified then this will disable the feature.
+ Setting the threshold to -1 disables the feature.
- On Windows CE the default is -1 (i.e. it is disabled).
+ On Windows CE the default is -1 (i.e., it is disabled).
On Windows Mobile the default is 40.
*/
@@ -1239,13 +1225,13 @@ bool QApplication::compressEvent(QEvent *event, QObject *receiver, QPostEventLis
\since 4.5
\brief toggles automatic SIP (software input panel) visibility
- Set this property to true to automatically display the SIP when entering
+ Set this property to \c true to automatically display the SIP when entering
widgets that accept keyboard input. This property only affects widgets with
the WA_InputMethodEnabled attribute set, and is typically used to launch
a virtual keyboard on devices which have very few or no keys.
- The property only has an effect on platforms which use software input
- panels, such as Windows CE and Symbian.
+ \bold{ The property only has an effect on platforms which use software input
+ panels, such as Windows CE and Symbian.}
The default is platform dependent.
*/
@@ -1543,7 +1529,7 @@ int QApplication::colorSpec()
strategy. Use this option if your application uses buttons, menus,
texts and pixmaps with few colors. With this option, the
application uses system global colors. This works fine for most
- applications under X11, but on Windows machines it may cause
+ applications under X11, but on the Windows platform, it may cause
dithering of non-standard colors.
\o QApplication::CustomColor. Use this option if your application
needs a small number of custom colors. On X11, this option is the
@@ -3583,12 +3569,12 @@ void QApplication::changeOverrideCursor(const QCursor &cursor)
We recommend that you connect clean-up code to the
\l{QCoreApplication::}{aboutToQuit()} signal, instead of putting it in your
- application's \c{main()} function because on some platforms the
- QApplication::exec() call may not return. For example, on Windows when the
- user logs off, the system terminates the process after Qt closes all
- top-level windows. Hence, there is no guarantee that the application will
- have time to exit its event loop and execute code at the end of the
- \c{main()} function after the QApplication::exec() call.
+ application's \c{main()} function. This is because, on some platforms the
+ QApplication::exec() call may not return. For example, on the Windows
+ platform, when the user logs off, the system terminates the process after Qt
+ closes all top-level windows. Hence, there is \e{no guarantee} that the
+ application will have time to exit its event loop and execute code at the
+ end of the \c{main()} function, after the QApplication::exec() call.
\sa quitOnLastWindowClosed, quit(), exit(), processEvents(),
QCoreApplication::exec()
@@ -3656,14 +3642,6 @@ bool QApplication::notify(QObject *receiver, QEvent *e)
#endif // !QT_NO_WHEELEVENT || !QT_NO_TABLETEVENT
}
- if (!d->grabbedGestures.isEmpty() && e->spontaneous() && receiver->isWidgetType()) {
- const QEvent::Type t = e->type();
- if (t != QEvent::Gesture && t != QEvent::GraphicsSceneGesture) {
- if (QGestureManager::instance()->filterEvent(static_cast<QWidget*>(receiver), e))
- return true;
- }
- }
-
// User input and window activation makes tooltips sleep
switch (e->type()) {
case QEvent::Wheel:
@@ -4151,6 +4129,19 @@ bool QApplication::notify(QObject *receiver, QEvent *e)
res = d->notify_helper(receiver, e);
break;
+ case QEvent::NativeGesture:
+ {
+ // only propagate the first gesture event (after the GID_BEGIN)
+ QWidget *w = static_cast<QWidget *>(receiver);
+ while (w) {
+ e->ignore();
+ res = d->notify_helper(w, e);
+ if ((res && e->isAccepted()) || w->isWindow())
+ break;
+ w = w->parentWidget();
+ }
+ break;
+ }
default:
res = d->notify_helper(receiver, e);
break;
@@ -4498,13 +4489,13 @@ HRESULT qt_CoCreateGuid(GUID* guid)
{
// We will use the following information to create the GUID
// 1. absolute path to application
- wchar_t tempFilename[512];
- if (!GetModuleFileNameW(0, tempFilename, 512))
+ wchar_t tempFilename[MAX_PATH];
+ if (!GetModuleFileName(0, tempFilename, MAX_PATH))
return S_FALSE;
- unsigned int hash = qHash(QString::fromUtf16((const unsigned short *) tempFilename));
+ unsigned int hash = qHash(QString::fromWCharArray(tempFilename));
guid->Data1 = hash;
// 2. creation time of file
- QFileInfo info(QString::fromUtf16((const unsigned short *) tempFilename));
+ QFileInfo info(QString::fromWCharArray(tempFilename));
guid->Data2 = qHash(info.created().toTime_t());
// 3. current system time
guid->Data3 = qHash(QDateTime::currentDateTime().toTime_t());
@@ -4538,10 +4529,10 @@ QSessionManager::QSessionManager(QApplication * app, QString &id, QString &key)
GUID guid;
CoCreateGuid(&guid);
StringFromGUID2(guid, guidstr, 40);
- id = QString::fromUtf16((ushort*)guidstr);
+ id = QString::fromWCharArray(guidstr);
CoCreateGuid(&guid);
StringFromGUID2(guid, guidstr, 40);
- key = QString::fromUtf16((ushort*)guidstr);
+ key = QString::fromWCharArray(guidstr);
#endif
d->sessionId = id;
d->sessionKey = key;
@@ -4849,7 +4840,7 @@ bool QApplication::keypadNavigationEnabled()
On Mac OS X, this works more at the application level and will cause the
application icon to bounce in the dock.
- On Windows this causes the window's taskbar entry to flash for a time. If
+ On Windows, this causes the window's taskbar entry to flash for a time. If
\a msec is zero, the flashing will stop and the taskbar entry will turn a
different color (currently orange).
@@ -4866,24 +4857,22 @@ bool QApplication::keypadNavigationEnabled()
caret display. Usually the text cursor is displayed for half the cursor
flash time, then hidden for the same amount of time, but this may vary.
- The default value on X11 is 1000 milliseconds. On Windows, the control
- panel value is used. Widgets should not cache this value since it may be
- changed at any time by the user changing the global desktop settings.
+ The default value on X11 is 1000 milliseconds. On Windows, the
+ \gui{Control Panel} value is used and setting this property sets the cursor
+ flash time for all applications.
- \note On Microsoft Windows, setting this property sets the cursor flash
- time for all applications.
+ We recommend that widgets do not cache this value as it may change at any
+ time if the user changes the global desktop settings.
*/
/*!
\property QApplication::doubleClickInterval
- \brief the time limit in milliseconds that distinguishes a double click from two
- consecutive mouse clicks
+ \brief the time limit in milliseconds that distinguishes a double click
+ from two consecutive mouse clicks
- The default value on X11 is 400 milliseconds. On Windows and Mac OS X, the
- operating system's value is used.
-
- On Microsoft Windows and Symbian, calling this function sets the
- double click interval for all applications.
+ The default value on X11 is 400 milliseconds. On Windows and Mac OS, the
+ operating system's value is used. However, on Windows and Symbian OS,
+ calling this function sets the double click interval for all applications.
*/
/*!
@@ -4892,7 +4881,7 @@ bool QApplication::keypadNavigationEnabled()
from two consecutive key presses
\since 4.2
- The default value on X11 is 400 milliseconds. On Windows and Mac OS X, the
+ The default value on X11 is 400 milliseconds. On Windows and Mac OS, the
operating system's value is used.
*/
@@ -4957,7 +4946,7 @@ bool QApplication::keypadNavigationEnabled()
You need not have a main widget; connecting lastWindowClosed() to quit()
is an alternative.
- For X11, this function also resizes and moves the main widget according
+ On X11, this function also resizes and moves the main widget according
to the \e -geometry command-line option, so you should set the default
geometry (using \l QWidget::setGeometry()) before calling setMainWidget().
@@ -4986,9 +4975,10 @@ bool QApplication::keypadNavigationEnabled()
Application cursors are stored on an internal stack. setOverrideCursor()
pushes the cursor onto the stack, and restoreOverrideCursor() pops the
active cursor off the stack. changeOverrideCursor() changes the curently
- active application override cursor. Every setOverrideCursor() must
- eventually be followed by a corresponding restoreOverrideCursor(),
- otherwise the stack will never be emptied.
+ active application override cursor.
+
+ Every setOverrideCursor() must eventually be followed by a corresponding
+ restoreOverrideCursor(), otherwise the stack will never be emptied.
Example:
\snippet doc/src/snippets/code/src_gui_kernel_qapplication_x11.cpp 0
@@ -5153,57 +5143,6 @@ bool QApplicationPrivate::shouldSetFocus(QWidget *w, Qt::FocusPolicy policy)
return true;
}
-/*!
- \since 4.6
-
- Adds custom gesture \a recognizer object.
-
- Qt takes ownership of the provided \a recognizer.
-
- \sa Qt::AA_EnableGestures, QGestureEvent
-*/
-void QApplication::addGestureRecognizer(QGestureRecognizer *recognizer)
-{
- QGestureManager::instance()->addRecognizer(recognizer);
-}
-
-/*!
- \since 4.6
-
- Removes custom gesture \a recognizer object.
-
- \sa Qt::AA_EnableGestures, QGestureEvent
-*/
-void QApplication::removeGestureRecognizer(QGestureRecognizer *recognizer)
-{
- Q_D(QApplication);
- if (!d->gestureManager)
- return;
- d->gestureManager->removeRecognizer(recognizer);
-}
-
-/*!
- \property QApplication::eventDeliveryDelayForGestures
- \since 4.6
-
- Specifies the \a delay before input events are delivered to the
- gesture enabled widgets.
-
- The delay allows to postpone widget's input event handling until
- gestures framework can successfully recognize a gesture.
-
- \sa QWidget::grabGesture
-*/
-void QApplication::setEventDeliveryDelayForGestures(int delay)
-{
- QGestureManager::instance()->setEventDeliveryDelay(delay);
-}
-
-int QApplication::eventDeliveryDelayForGestures()
-{
- return QGestureManager::instance()->eventDeliveryDelay();
-}
-
/*! \fn QDecoration &QApplication::qwsDecoration()
Return the QWSDecoration used for decorating windows.
@@ -5226,19 +5165,19 @@ int QApplication::eventDeliveryDelayForGestures()
*/
/*! \fn QDecoration* QApplication::qwsSetDecoration(const QString &decoration)
- \overload
+ \overload
- Requests a QDecoration object for \a decoration from the QDecorationFactory.
+ Requests a QDecoration object for \a decoration from the
+ QDecorationFactory.
- The string must be one of the QDecorationFactory::keys(). Keys are
- case insensitive.
+ The string must be one of the QDecorationFactory::keys(). Keys are case
+ insensitive.
- A later call to the QApplication constructor will override the
- requested style when a "-style" option is passed in as a commandline
- parameter.
+ A later call to the QApplication constructor will override the requested
+ style when a "-style" option is passed in as a commandline parameter.
- Returns 0 if an unknown \a decoration is passed, otherwise the QStyle object
- returned is set as the application's GUI style.
+ Returns 0 if an unknown \a decoration is passed, otherwise the QStyle object
+ returned is set as the application's GUI style.
*/
/*!
@@ -5387,8 +5326,6 @@ void QApplicationPrivate::translateRawTouchEvent(QWidget *window,
const QList<QTouchEvent::TouchPoint> &touchPoints)
{
QApplicationPrivate *d = self;
- QApplication *q = self->q_func();
-
typedef QPair<Qt::TouchPointStates, QList<QTouchEvent::TouchPoint> > StatesAndTouchPoints;
QHash<QWidget *, StatesAndTouchPoints> widgetsNeedingEvents;
@@ -5410,7 +5347,7 @@ void QApplicationPrivate::translateRawTouchEvent(QWidget *window,
if (!widget) {
// determine which widget this event will go to
if (!window)
- window = q->topLevelAt(touchPoint.screenPos().toPoint());
+ window = QApplication::topLevelAt(touchPoint.screenPos().toPoint());
if (!window)
continue;
widget = window->childAt(window->mapFromGlobal(touchPoint.screenPos().toPoint()));
@@ -5510,7 +5447,7 @@ void QApplicationPrivate::translateRawTouchEvent(QWidget *window,
QTouchEvent touchEvent(eventType,
deviceType,
- q->keyboardModifiers(),
+ QApplication::keyboardModifiers(),
it.value().first,
it.value().second);
updateTouchPointsForWidget(widget, &touchEvent);
diff --git a/src/gui/kernel/qapplication.h b/src/gui/kernel/qapplication.h
index 6305951..fcb3a7c 100644
--- a/src/gui/kernel/qapplication.h
+++ b/src/gui/kernel/qapplication.h
@@ -75,7 +75,6 @@ class QStyle;
class QEventLoop;
class QIcon;
class QInputContext;
-class QGestureRecognizer;
template <typename T> class QList;
class QLocale;
#if defined(Q_WS_QWS)
@@ -114,7 +113,6 @@ class Q_GUI_EXPORT QApplication : public QCoreApplication
Q_PROPERTY(int autoMaximizeThreshold READ autoMaximizeThreshold WRITE setAutoMaximizeThreshold)
#endif
Q_PROPERTY(bool autoSipEnabled READ autoSipEnabled WRITE setAutoSipEnabled)
- Q_PROPERTY(int eventDeliveryDelayForGestures READ eventDeliveryDelayForGestures WRITE setEventDeliveryDelayForGestures)
public:
enum Type { Tty, GuiClient, GuiServer };
@@ -280,12 +278,6 @@ public:
static bool keypadNavigationEnabled();
#endif
- void addGestureRecognizer(QGestureRecognizer *recognizer);
- void removeGestureRecognizer(QGestureRecognizer *recognizer);
-
- void setEventDeliveryDelayForGestures(int delay);
- int eventDeliveryDelayForGestures();
-
Q_SIGNALS:
void lastWindowClosed();
void focusChanged(QWidget *old, QWidget *now);
@@ -371,7 +363,7 @@ public:
private:
Q_DISABLE_COPY(QApplication)
- Q_DECLARE_SCOPED_PRIVATE(QApplication)
+ Q_DECLARE_PRIVATE(QApplication)
friend class QGraphicsWidget;
friend class QGraphicsScene;
@@ -396,7 +388,6 @@ private:
friend class QDirectPainter;
friend class QDirectPainterPrivate;
#endif
- friend class QGestureManager;
#if defined(Q_WS_WIN)
friend QApplicationPrivate* getQApplicationPrivateInternal();
diff --git a/src/gui/kernel/qapplication_mac.mm b/src/gui/kernel/qapplication_mac.mm
index b1aa75f..ac132aa 100644
--- a/src/gui/kernel/qapplication_mac.mm
+++ b/src/gui/kernel/qapplication_mac.mm
@@ -1069,7 +1069,7 @@ void qt_init(QApplicationPrivate *priv, int)
if (GetCurrentProcess(&psn) == noErr) {
// Jambi needs to transform itself since most people aren't "used"
// to putting things in bundles, but other people may actually not
- // want to tranform the process (running as a helper or somethng)
+ // want to tranform the process (running as a helper or something)
// so don't do that for them. This means checking both LSUIElement
// and LSBackgroundOnly. If you set them both... well, you
// shouldn't do that.
@@ -1377,29 +1377,6 @@ QWidget *QApplication::topLevelAt(const QPoint &p)
#endif
}
-static QWidget *qt_mac_recursive_widgetAt(QWidget *widget, int x, int y)
-{
- if (!widget)
- return 0;
- const QObjectList kids = widget->children();
- for(int i = kids.size()-1; i >= 0; --i) {
- if ( QWidget *kid = qobject_cast<QWidget*>(kids.at(i)) ) {
- if (kid->isVisible() && !kid->isTopLevel() &&
- !kid->testAttribute(Qt::WA_TransparentForMouseEvents)) {
- const int wx=kid->x(), wy=kid->y(),
- wx2=wx+kid->width(), wy2=wy+kid->height();
- if (x >= wx && y >= wy && x < wx2 && y < wy2) {
- const QRegion mask = kid->mask();
- if (!mask.isEmpty() && !mask.contains(QPoint(x-wx, y-wy)))
- continue;
- return qt_mac_recursive_widgetAt(kid, x-wx, y-wy);
- }
- }
- }
- }
- return widget;
-}
-
/*****************************************************************************
Main event loop
*****************************************************************************/
@@ -1503,6 +1480,7 @@ QWidget *QApplicationPrivate::tryModalHelper_sys(QWidget *top)
return top;
}
+#ifndef QT_MAC_USE_COCOA
static bool qt_try_modal(QWidget *widget, EventRef event)
{
QWidget * top = 0;
@@ -1536,6 +1514,7 @@ static bool qt_try_modal(QWidget *widget, EventRef event)
#endif
return !block_event;
}
+#endif
OSStatus QApplicationPrivate::tabletProximityCallback(EventHandlerCallRef, EventRef carbonEvent,
void *)
@@ -1770,7 +1749,7 @@ QApplicationPrivate::globalEventProcessor(EventHandlerCallRef er, EventRef event
if(window) {
HIViewRef hiview;
if(HIViewGetViewForMouseEvent(HIViewGetRoot(window), event, &hiview) == noErr) {
- widget = QWidget::find((WId)hiview);;
+ widget = QWidget::find((WId)hiview);
if (widget) {
// Make sure we didn't pass over a widget with a "fake hole" in it.
QWidget *otherWidget = QApplication::widgetAt(where.h, where.v);
@@ -1887,9 +1866,10 @@ QApplicationPrivate::globalEventProcessor(EventHandlerCallRef er, EventRef event
tablet_button_state = new_tablet_button_state;
QMacTabletHash *tabletHash = qt_mac_tablet_hash();
- if (!tabletHash->contains(tabletPointRec.deviceID)) {
- qWarning("QCocoaView handleTabletEvent: This tablet device is unknown"
- " (received no proximity event for it). Discarding event.");
+ if (!tabletHash->contains(tabletPointRec.deviceID) && t != QEvent::TabletRelease) {
+ // Never discard TabletRelease events as they may be delivered *after* TabletLeaveProximity events
+ qWarning("handleTabletEvent: This tablet device is unknown"
+ " (received no proximity event for it). Discarding event.");
return false;
}
QTabletDeviceData &deviceData = tabletHash->operator[](tabletPointRec.deviceID);
@@ -1931,8 +1911,13 @@ QApplicationPrivate::globalEventProcessor(EventHandlerCallRef er, EventRef event
tp, rotation, z, modifiers, deviceData.tabletUniqueID);
QApplication::sendSpontaneousEvent(widget, &e);
if (e.isAccepted()) {
+ if (t == QEvent::TabletPress) {
+ qt_button_down = widget;
+ } else if (t == QEvent::TabletRelease) {
+ qt_button_down = 0;
+ }
#if defined(DEBUG_MOUSE_MAPS)
- qDebug("Bail out early due to table acceptance");
+ qDebug("Bail out early due to tablet acceptance");
#endif
break;
}
@@ -2907,52 +2892,25 @@ bool QApplicationPrivate::canQuit()
#endif
}
-void onApplicationWindowChangedActivation( QWidget*widget, bool activated )
+void onApplicationWindowChangedActivation(QWidget *widget, bool activated)
{
#if QT_MAC_USE_COCOA
- QApplication *app = qApp;
+ if (!widget)
+ return;
- if ( activated )
- {
- if (QApplicationPrivate::app_style)
- {
+ if (activated) {
+ if (QApplicationPrivate::app_style) {
QEvent ev(QEvent::Style);
qt_sendSpontaneousEvent(QApplicationPrivate::app_style, &ev);
}
-
- if (widget && app_do_modal && !qt_try_modal(widget, NULL))
- return;
-
- if (widget && widget->window()->isVisible())
- {
- QWidget *tlw = widget->window();
-
- if (tlw->isWindow() && !(tlw->windowType() == Qt::Popup)
- && !qt_mac_is_macdrawer(tlw)
- && (!tlw->parentWidget() || tlw->isModal() || !(tlw->windowType() == Qt::Tool))) {
- bool just_send_event = false;
-#if 0
- WindowActivationScope scope;
- if ( GetWindowActivationScope((OSWindowRef)wid, &scope) == noErr &&
- scope == kWindowActivationScopeIndependent)
- {
- if ( GetFrontWindowOfClass(kAllWindowClasses, true) != wid )
- just_send_event = true;
- }
-#endif
- if (just_send_event) {
- QEvent e(QEvent::WindowActivate);
- qt_sendSpontaneousEvent(widget, &e);
- } else {
- app->setActiveWindow(tlw);
- }
- }
- }
+ qApp->setActiveWindow(widget);
} else { // deactivated
- if (widget && QApplicationPrivate::active_window == widget)
- app->setActiveWindow(0);
+ if (QApplicationPrivate::active_window == widget)
+ qApp->setActiveWindow(0);
}
+
QMenuBar::macUpdateMenuBar();
+
#else
Q_UNUSED(widget);
Q_UNUSED(activated);
diff --git a/src/gui/kernel/qapplication_p.h b/src/gui/kernel/qapplication_p.h
index e9e8d45..0cd93b9 100644
--- a/src/gui/kernel/qapplication_p.h
+++ b/src/gui/kernel/qapplication_p.h
@@ -159,17 +159,19 @@ inline QPointF QTabletDeviceData::scaleCoord(int coordX, int coordY,
int outOriginY, int outExtentY) const
{
QPointF ret;
+
if (sign(outExtentX) == sign(maxX))
- ret.setX(((coordX - minX) * qAbs(outExtentX) / qAbs(qreal(maxX))) + outOriginX);
+ ret.setX(((coordX - minX) * qAbs(outExtentX) / qAbs(qreal(maxX - minX))) + outOriginX);
else
- ret.setX(((qAbs(maxX) - (coordX - minX)) * qAbs(outExtentX) / qAbs(qreal(maxX)))
+ ret.setX(((qAbs(maxX) - (coordX - minX)) * qAbs(outExtentX) / qAbs(qreal(maxX - minX)))
+ outOriginX);
if (sign(outExtentY) == sign(maxY))
- ret.setY(((coordY - minY) * qAbs(outExtentY) / qAbs(qreal(maxY))) + outOriginY);
+ ret.setY(((coordY - minY) * qAbs(outExtentY) / qAbs(qreal(maxY - minY))) + outOriginY);
else
- ret.setY(((qAbs(maxY) - (coordY - minY)) * qAbs(outExtentY) / qAbs(qreal(maxY)))
+ ret.setY(((qAbs(maxY) - (coordY - minY)) * qAbs(outExtentY) / qAbs(qreal(maxY - minY)))
+ outOriginY);
+
return ret;
}
#endif
@@ -191,10 +193,68 @@ extern "C" {
#endif
#if defined(Q_WS_WIN)
-typedef BOOL (WINAPI *qt_RegisterTouchWindowPtr)(HWND, ULONG);
-typedef BOOL (WINAPI *qt_GetTouchInputInfoPtr)(HANDLE, UINT, PVOID, int);
-typedef BOOL (WINAPI *qt_CloseTouchInputHandlePtr)(HANDLE);
-#endif
+typedef BOOL (WINAPI *PtrRegisterTouchWindow)(HWND, ULONG);
+typedef BOOL (WINAPI *PtrGetTouchInputInfo)(HANDLE, UINT, PVOID, int);
+typedef BOOL (WINAPI *PtrCloseTouchInputHandle)(HANDLE);
+
+typedef BOOL (WINAPI *PtrGetGestureInfo)(HANDLE, PVOID);
+typedef BOOL (WINAPI *PtrGetGestureExtraArgs)(HANDLE, UINT, PBYTE);
+typedef BOOL (WINAPI *PtrCloseGestureInfoHandle)(HANDLE);
+typedef BOOL (WINAPI *PtrSetGestureConfig)(HWND, DWORD, UINT, PVOID, UINT);
+typedef BOOL (WINAPI *PtrGetGestureConfig)(HWND, DWORD, DWORD, PUINT, PVOID, UINT);
+
+typedef BOOL (WINAPI *PtrBeginPanningFeedback)(HWND);
+typedef BOOL (WINAPI *PtrUpdatePanningFeedback)(HWND, LONG, LONG, BOOL);
+typedef BOOL (WINAPI *PtrEndPanningFeedback)(HWND, BOOL);
+
+#ifndef WM_GESTURE
+# define WM_GESTURE 0x0119
+
+# define GID_BEGIN 1
+# define GID_END 2
+# define GID_ZOOM 3
+# define GID_PAN 4
+# define GID_ROTATE 5
+# define GID_TWOFINGERTAP 6
+# define GID_ROLLOVER 7
+
+typedef struct tagGESTUREINFO
+{
+ UINT cbSize;
+ DWORD dwFlags;
+ DWORD dwID;
+ HWND hwndTarget;
+ POINTS ptsLocation;
+ DWORD dwInstanceID;
+ DWORD dwSequenceID;
+ ULONGLONG ullArguments;
+ UINT cbExtraArgs;
+} GESTUREINFO;
+
+# define GC_PAN 0x00000001
+# define GC_PAN_WITH_SINGLE_FINGER_VERTICALLY 0x00000002
+# define GC_PAN_WITH_SINGLE_FINGER_HORIZONTALLY 0x00000004
+
+typedef struct tagGESTURECONFIG
+{
+ DWORD dwID;
+ DWORD dwWant;
+ DWORD dwBlock;
+} GESTURECONFIG;
+
+#endif // WM_GESTURE
+
+#endif // Q_WS_WIN
+
+class QPanGesture;
+class QPinchGesture;
+struct StandardGestures
+{
+ QPanGesture *pan;
+ QPinchGesture *pinch;
+ StandardGestures() : pan(0), pinch(0) { }
+};
+
class QScopedLoopLevelCounter
{
@@ -445,10 +505,6 @@ public:
void sendSyntheticEnterLeave(QWidget *widget);
#endif
- QGestureManager *gestureManager;
- // map<gesture name -> number of widget subscribed to it>
- QMap<QString, int> grabbedGestures;
-
QMap<int, QWidget *> widgetForTouchPointId;
QMap<int, QTouchEvent::TouchPoint> appCurrentTouchPoints;
static void updateTouchPointsForWidget(QWidget *widget, QTouchEvent *touchEvent);
@@ -464,13 +520,26 @@ public:
const QList<QTouchEvent::TouchPoint> &touchPoints);
#if defined(Q_WS_WIN)
- static qt_RegisterTouchWindowPtr RegisterTouchWindow;
- static qt_GetTouchInputInfoPtr GetTouchInputInfo;
- static qt_CloseTouchInputHandlePtr CloseTouchInputHandle;
+ static PtrRegisterTouchWindow RegisterTouchWindow;
+ static PtrGetTouchInputInfo GetTouchInputInfo;
+ static PtrCloseTouchInputHandle CloseTouchInputHandle;
QHash<DWORD, int> touchInputIDToTouchPointID;
QList<QTouchEvent::TouchPoint> appAllTouchPoints;
bool translateTouchEvent(const MSG &msg);
+
+ typedef QMap<QWidget*, StandardGestures> WidgetStandardGesturesMap;
+ WidgetStandardGesturesMap widgetGestures;
+ ulong lastGestureId;
+
+ PtrGetGestureInfo GetGestureInfo;
+ PtrGetGestureExtraArgs GetGestureExtraArgs;
+ PtrCloseGestureInfoHandle CloseGestureInfoHandle;
+ PtrSetGestureConfig SetGestureConfig;
+ PtrGetGestureConfig GetGestureConfig;
+ PtrBeginPanningFeedback BeginPanningFeedback;
+ PtrUpdatePanningFeedback UpdatePanningFeedback;
+ PtrEndPanningFeedback EndPanningFeedback;
#endif
#ifdef QT_RX71_MULTITOUCH
diff --git a/src/gui/kernel/qapplication_qws.cpp b/src/gui/kernel/qapplication_qws.cpp
index b7d1288..e4e7951 100644
--- a/src/gui/kernel/qapplication_qws.cpp
+++ b/src/gui/kernel/qapplication_qws.cpp
@@ -101,7 +101,11 @@
#include <locale.h>
#include <errno.h>
#include <fcntl.h>
-#include <sys/time.h>
+#ifdef Q_OS_VXWORKS
+# include <sys/times.h>
+#else
+# include <sys/time.h>
+#endif
#include <sys/stat.h>
#include <sys/types.h>
@@ -196,7 +200,14 @@ QString qws_dataDir()
static QString result;
if (!result.isEmpty())
return result;
- QByteArray dataDir = QString::fromLatin1("/tmp/qtembedded-%1").arg(qws_display_id).toLocal8Bit();
+ QByteArray dataDir;
+#ifdef QT_QWS_TEMP_DIR
+ dataDir = QT_QWS_TEMP_DIR;
+#else
+ dataDir = "/tmp";
+#endif
+ dataDir += "/qtembedded-";
+ dataDir += QByteArray::number(qws_display_id);
if (QT_MKDIR(dataDir, 0700)) {
if (errno != EEXIST) {
qFatal("Cannot create Qt for Embedded Linux data directory: %s", dataDir.constData());
@@ -210,7 +221,7 @@ QString qws_dataDir()
if (!S_ISDIR(buf.st_mode))
qFatal("%s is not a directory", dataDir.constData());
-#ifndef Q_OS_INTEGRITY
+#if !defined(Q_OS_INTEGRITY) && !defined(Q_OS_VXWORKS)
if (buf.st_uid != getuid())
qFatal("Qt for Embedded Linux data directory is not owned by user %d", getuid());
@@ -668,10 +679,14 @@ void QWSDisplay::Data::sendSynchronousCommand(QWSCommand & cmd)
int QWSDisplay::Data::takeId()
{
- if (unused_identifiers.count() <= 10)
+ int unusedIdCount = unused_identifiers.count();
+ if (unusedIdCount <= 10)
create(15);
- if (unused_identifiers.count() == 0)
+ if (unusedIdCount == 0) {
+ create(1); // Make sure we have an incoming id to wait for, just in case we're recursive
waitForCreation();
+ }
+
return unused_identifiers.takeFirst();
}
diff --git a/src/gui/kernel/qapplication_s60.cpp b/src/gui/kernel/qapplication_s60.cpp
index 15f5c95..d2183d2 100644
--- a/src/gui/kernel/qapplication_s60.cpp
+++ b/src/gui/kernel/qapplication_s60.cpp
@@ -1,9 +1,9 @@
/****************************************************************************
**
-** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
-** This file is part of the $MODULE$ of the Qt Toolkit.
+** This file is part of the QtGui of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/src/gui/kernel/qapplication_win.cpp b/src/gui/kernel/qapplication_win.cpp
index 4f35583..2bded5c 100644
--- a/src/gui/kernel/qapplication_win.cpp
+++ b/src/gui/kernel/qapplication_win.cpp
@@ -89,6 +89,8 @@ extern void qt_wince_hide_taskbar(HWND hwnd); //defined in qguifunctions_wince.c
#include <private/qkeymapper_p.h>
#include <private/qlocale_p.h>
#include "qevent_p.h"
+#include "qstandardgestures.h"
+#include "qstandardgestures_p.h"
//#define ALIEN_DEBUG
@@ -105,7 +107,6 @@ extern void qt_wince_hide_taskbar(HWND hwnd); //defined in qguifunctions_wince.c
#endif
#endif // QT_NO_ACCESSIBILITY
-#include <winuser.h>
#if !defined(WINABLEAPI)
# if defined(Q_WS_WINCE)
# include <bldver.h>
@@ -145,24 +146,6 @@ typedef struct tagTOUCHINPUT
#endif
-#ifndef FLASHW_STOP
-typedef struct {
- UINT cbSize;
- HWND hwnd;
- DWORD dwFlags;
- UINT uCount;
- DWORD dwTimeout;
-} FLASHWINFO, *PFLASHWINFO;
-#define FLASHW_STOP 0
-#define FLASHW_CAPTION 0x00000001
-#define FLASHW_TRAY 0x00000002
-#define FLASHW_ALL (FLASHW_CAPTION | FLASHW_TRAY)
-#define FLASHW_TIMER 0x00000004
-#define FLASHW_TIMERNOFG 0x0000000C
-#endif /* FLASHW_STOP */
-typedef BOOL (WINAPI *PtrFlashWindowEx)(PFLASHWINFO pfwi);
-static PtrFlashWindowEx pFlashWindowEx = 0;
-
#include <windowsx.h>
#include <limits.h>
#include <string.h>
@@ -272,10 +255,6 @@ QTabletDeviceData currentTabletPointer;
// from qregion_win.cpp
extern HRGN qt_tryCreateRegion(QRegion::RegionType type, int left, int top, int right, int bottom);
-Q_CORE_EXPORT bool winPeekMessage(MSG* msg, HWND hWnd, UINT wMsgFilterMin,
- UINT wMsgFilterMax, UINT wRemoveMsg);
-Q_CORE_EXPORT bool winPostMessage(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam);
-
// support for on-the-fly changes of the XP theme engine
#ifndef WM_THEMECHANGED
#define WM_THEMECHANGED 0x031A
@@ -290,22 +269,24 @@ Q_CORE_EXPORT bool winPostMessage(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lPa
#define WM_XBUTTONDOWN 0x020B
#define WM_XBUTTONUP 0x020C
#define WM_XBUTTONDBLCLK 0x020D
+#endif
+#ifndef GET_KEYSTATE_WPARAM
#define GET_KEYSTATE_WPARAM(wParam) (LOWORD(wParam))
#define GET_XBUTTON_WPARAM(wParam) (HIWORD(wParam))
#define XBUTTON1 0x0001
#define XBUTTON2 0x0002
+#endif
+#ifndef MK_XBUTTON1
#define MK_XBUTTON1 0x0020
#define MK_XBUTTON2 0x0040
#endif
-#ifdef Q_WS_WINCE
-#define GET_KEYSTATE_WPARAM(wParam) (LOWORD(wParam))
-#endif
-
-// support for multi-media-keys on ME/2000/XP
+// support for multi-media-keys
#ifndef WM_APPCOMMAND
#define WM_APPCOMMAND 0x0319
+#endif
+#ifndef FAPPCOMMAND_MOUSE
#define FAPPCOMMAND_MOUSE 0x8000
#define FAPPCOMMAND_KEY 0
#define FAPPCOMMAND_OEM 0x1000
@@ -373,9 +354,7 @@ Q_CORE_EXPORT bool winPostMessage(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lPa
#define APPCOMMAND_MEDIA_CHANNEL_DOWN 52
#endif // APPCOMMAND_MICROPHONE_VOLUME_MUTE
-#endif // WM_APPCOMMAND
-
-static UINT WM95_MOUSEWHEEL = 0;
+#endif // FAPPCOMMAND_MOUSE
#if (_WIN32_WINNT < 0x0400)
// This struct is defined in winuser.h if the _WIN32_WINNT >= 0x0400 -- in the
@@ -475,6 +454,7 @@ public:
bool translateConfigEvent(const MSG &msg);
bool translateCloseEvent(const MSG &msg);
bool translateTabletEvent(const MSG &msg, PACKET *localPacketBuf, int numPackets);
+ bool translateGestureEvent(const MSG &msg);
void repolishStyle(QStyle &style);
inline void showChildren(bool spontaneous) { d_func()->showChildren(spontaneous); }
inline void hideChildren(bool spontaneous) { d_func()->hideChildren(spontaneous); }
@@ -543,14 +523,13 @@ static void qt_set_windows_color_resources()
pal.setColor(QPalette::Inactive, QPalette::Light, pal.light().color());
pal.setColor(QPalette::Inactive, QPalette::Dark, pal.dark().color());
- if (QSysInfo::WindowsVersion != QSysInfo::WV_NT && QSysInfo::WindowsVersion != QSysInfo::WV_95) {
- if (pal.midlight() == pal.button())
- pal.setColor(QPalette::Midlight, pal.button().color().lighter(110));
- if (pal.background() != pal.base()) {
- pal.setColor(QPalette::Inactive, QPalette::Highlight, pal.color(QPalette::Inactive, QPalette::Window));
- pal.setColor(QPalette::Inactive, QPalette::HighlightedText, pal.color(QPalette::Inactive, QPalette::Text));
- }
+ if (pal.midlight() == pal.button())
+ pal.setColor(QPalette::Midlight, pal.button().color().lighter(110));
+ if (pal.background() != pal.base()) {
+ pal.setColor(QPalette::Inactive, QPalette::Highlight, pal.color(QPalette::Inactive, QPalette::Window));
+ pal.setColor(QPalette::Inactive, QPalette::HighlightedText, pal.color(QPalette::Inactive, QPalette::Text));
}
+
const QColor bg = pal.background().color();
const QColor fg = pal.foreground().color(), btn = pal.button().color();
QColor disabled((fg.red()+btn.red())/2,(fg.green()+btn.green())/2,
@@ -601,35 +580,18 @@ static void qt_set_windows_color_resources()
static void qt_set_windows_font_resources()
{
#ifndef Q_WS_WINCE
- QFont menuFont;
- QFont messageFont;
- QFont statusFont;
- QFont titleFont;
- QFont iconTitleFont;
- QT_WA({
- NONCLIENTMETRICS ncm;
- ncm.cbSize = FIELD_OFFSET(NONCLIENTMETRICS, lfMessageFont) + sizeof(LOGFONTW);
- SystemParametersInfo(SPI_GETNONCLIENTMETRICS, ncm.cbSize , &ncm, 0);
- menuFont = qt_LOGFONTtoQFont(ncm.lfMenuFont,true);
- messageFont = qt_LOGFONTtoQFont(ncm.lfMessageFont,true);
- statusFont = qt_LOGFONTtoQFont(ncm.lfStatusFont,true);
- titleFont = qt_LOGFONTtoQFont(ncm.lfCaptionFont,true);
- LOGFONTW lfIconTitleFont;
- SystemParametersInfoW(SPI_GETICONTITLELOGFONT, sizeof(lfIconTitleFont), &lfIconTitleFont, 0);
- iconTitleFont = qt_LOGFONTtoQFont(lfIconTitleFont,true);
- } , {
- // A version
- NONCLIENTMETRICSA ncm;
- ncm.cbSize = FIELD_OFFSET(NONCLIENTMETRICSA, lfMessageFont) + sizeof(LOGFONTA);
- SystemParametersInfoA(SPI_GETNONCLIENTMETRICS, ncm.cbSize, &ncm, 0);
- menuFont = qt_LOGFONTtoQFont((LOGFONT&)ncm.lfMenuFont,true);
- messageFont = qt_LOGFONTtoQFont((LOGFONT&)ncm.lfMessageFont,true);
- statusFont = qt_LOGFONTtoQFont((LOGFONT&)ncm.lfStatusFont,true);
- titleFont = qt_LOGFONTtoQFont((LOGFONT&)ncm.lfCaptionFont,true);
- LOGFONTA lfIconTitleFont;
- SystemParametersInfoA(SPI_GETICONTITLELOGFONT, sizeof(lfIconTitleFont), &lfIconTitleFont, 0);
- iconTitleFont = qt_LOGFONTtoQFont((LOGFONT&)lfIconTitleFont,true);
- });
+ NONCLIENTMETRICS ncm;
+ ncm.cbSize = FIELD_OFFSET(NONCLIENTMETRICS, lfMessageFont) + sizeof(LOGFONT);
+ SystemParametersInfo(SPI_GETNONCLIENTMETRICS, ncm.cbSize , &ncm, 0);
+
+ QFont menuFont = qt_LOGFONTtoQFont(ncm.lfMenuFont, true);
+ QFont messageFont = qt_LOGFONTtoQFont(ncm.lfMessageFont, true);
+ QFont statusFont = qt_LOGFONTtoQFont(ncm.lfStatusFont, true);
+ QFont titleFont = qt_LOGFONTtoQFont(ncm.lfCaptionFont, true);
+
+ LOGFONT lfIconTitleFont;
+ SystemParametersInfo(SPI_GETICONTITLELOGFONT, sizeof(lfIconTitleFont), &lfIconTitleFont, 0);
+ QFont iconTitleFont = qt_LOGFONTtoQFont(lfIconTitleFont, true);
QApplication::setFont(menuFont, "QMenu");
QApplication::setFont(menuFont, "QMenuBar");
@@ -657,26 +619,13 @@ static void qt_set_windows_font_resources()
static void qt_win_read_cleartype_settings()
{
+ UINT result = 0;
#ifdef Q_OS_WINCE
- UINT result;
- BOOL ok;
- ok = SystemParametersInfo(SPI_GETFONTSMOOTHING, 0, &result, 0);
- if (ok)
- qt_cleartype_enabled = result;
+ if (SystemParametersInfo(SPI_GETFONTSMOOTHING, 0, &result, 0))
+ qt_cleartype_enabled = result;
#else
- QT_WA({
- UINT result;
- BOOL ok;
- ok = SystemParametersInfoW(SPI_GETFONTSMOOTHINGTYPE, 0, &result, 0);
- if (ok)
- qt_cleartype_enabled = (result == FE_FONTSMOOTHINGCLEARTYPE);
- }, {
- UINT result;
- BOOL ok;
- ok = SystemParametersInfoA(SPI_GETFONTSMOOTHINGTYPE, 0, &result, 0);
- if (ok)
- qt_cleartype_enabled = (result == FE_FONTSMOOTHINGCLEARTYPE);
- });
+ if (SystemParametersInfo(SPI_GETFONTSMOOTHINGTYPE, 0, &result, 0))
+ qt_cleartype_enabled = (result == FE_FONTSMOOTHINGCLEARTYPE);
#endif
}
@@ -694,10 +643,10 @@ void QApplicationPrivate::initializeWidgetPaletteHash()
QPalette pal = *QApplicationPrivate::sys_pal;
QColor menuCol(qt_colorref2qrgb(GetSysColor(COLOR_MENU)));
QColor menuText(qt_colorref2qrgb(GetSysColor(COLOR_MENUTEXT)));
- BOOL isFlat = 0;
+ BOOL isFlat = false;
if ((QSysInfo::WindowsVersion >= QSysInfo::WV_XP
&& QSysInfo::WindowsVersion < QSysInfo::WV_NT_based))
- SystemParametersInfo(0x1022 /*SPI_GETFLATMENU*/, 0, &isFlat, 0);
+ SystemParametersInfo(SPI_GETFLATMENU, 0, &isFlat, 0);
QPalette menu(pal);
// we might need a special color group for the menu.
menu.setColor(QPalette::Active, QPalette::Button, menuCol);
@@ -712,8 +661,7 @@ void QApplicationPrivate::initializeWidgetPaletteHash()
QColor(qt_colorref2qrgb(GetSysColor(
(QSysInfo::WindowsVersion >= QSysInfo::WV_XP
&& QSysInfo::WindowsVersion < QSysInfo::WV_NT_based)
- && isFlat ? COLOR_MENUHILIGHT
- : COLOR_HIGHLIGHT))));
+ && isFlat ? COLOR_MENUHILIGHT : COLOR_HIGHLIGHT))));
menu.setColor(QPalette::Disabled, QPalette::HighlightedText, disabled);
menu.setColor(QPalette::Disabled, QPalette::Button,
menu.color(QPalette::Active, QPalette::Button));
@@ -729,10 +677,8 @@ void QApplicationPrivate::initializeWidgetPaletteHash()
menu.color(QPalette::Active, QPalette::Highlight));
menu.setColor(QPalette::Inactive, QPalette::HighlightedText,
menu.color(QPalette::Active, QPalette::HighlightedText));
-
- if (QSysInfo::WindowsVersion != QSysInfo::WV_NT && QSysInfo::WindowsVersion != QSysInfo::WV_95)
- menu.setColor(QPalette::Inactive, QPalette::ButtonText,
- pal.color(QPalette::Inactive, QPalette::Dark));
+ menu.setColor(QPalette::Inactive, QPalette::ButtonText,
+ pal.color(QPalette::Inactive, QPalette::Dark));
QApplication::setPalette(menu, "QMenu");
if ((QSysInfo::WindowsVersion >= QSysInfo::WV_XP
@@ -749,15 +695,10 @@ void QApplicationPrivate::initializeWidgetPaletteHash()
qt_init() - initializes Qt for Windows
*****************************************************************************/
-typedef BOOL (WINAPI *PtrUpdateLayeredWindow)(HWND hwnd, HDC hdcDst, const POINT *pptDst,
- const SIZE *psize, HDC hdcSrc, const POINT *pptSrc, COLORREF crKey,
- const Q_BLENDFUNCTION *pblend, DWORD dwflags);
-
typedef BOOL (WINAPI *PtrSetProcessDPIAware) (VOID);
-
-static PtrUpdateLayeredWindow ptrUpdateLayeredWindow = 0;
static PtrSetProcessDPIAware ptrSetProcessDPIAware = 0;
-
+PtrUpdateLayeredWindow ptrUpdateLayeredWindow = 0;
+PtrUpdateLayeredWindowIndirect ptrUpdateLayeredWindowIndirect = 0;
static BOOL WINAPI qt_updateLayeredWindowIndirect(HWND hwnd, const Q_UPDATELAYEREDWINDOWINFO *info)
{
return (*ptrUpdateLayeredWindow)(hwnd, info->hdcDst, info->pptDst, info->psize, info->hdcSrc,
@@ -822,46 +763,30 @@ void qt_init(QApplicationPrivate *priv, int)
#endif
qApp->setObjectName(priv->appName());
-#if !defined(Q_WS_WINCE)
// default font
- HFONT hfont = (HFONT)GetStockObject(DEFAULT_GUI_FONT);
- QFont f(QLatin1String("MS Sans Serif"),8);
- int result = 0;
- QT_WA({
- LOGFONT lf;
- if (result = GetObject(hfont, sizeof(lf), &lf))
- f = qt_LOGFONTtoQFont((LOGFONT&)lf,true);
- } , {
- LOGFONTA lf;
- if (result = GetObjectA(hfont, sizeof(lf), &lf))
- f = qt_LOGFONTtoQFont((LOGFONT&)lf,true);
- });
- if (result
- && QSysInfo::WindowsVersion >= QSysInfo::WV_2000
- && QSysInfo::WindowsVersion <= QSysInfo::WV_NT_based
- && f.family() == QLatin1String("MS Shell Dlg"))
- f.setFamily(QLatin1String("MS Shell Dlg 2"));
- QApplicationPrivate::setSystemFont(f);
-#else //Q_WS_WINCE
- LOGFONT lf;
- HGDIOBJ stockFont = GetStockObject(SYSTEM_FONT);
- int result = 0;
- result = GetObject(stockFont, sizeof(lf), &lf);
- QFont font = qt_LOGFONTtoQFont(lf, true);
- if (result)
- QApplicationPrivate::setSystemFont(font);
-#endif //Q_WS_WINCE
+#ifndef Q_WS_WINCE
+ HGDIOBJ stockFont = GetStockObject(DEFAULT_GUI_FONT);
+#else
+ HGDIOBJ stockFont = GetStockObject(SYSTEM_FONT);
+#endif
+
+ LOGFONT lf;
+ GetObject(stockFont, sizeof(lf), &lf);
+ QFont systemFont = qt_LOGFONTtoQFont(lf, true);
+
+#ifndef Q_WS_WINCE
+ if (systemFont.family() == QLatin1String("MS Shell Dlg")) {
+ systemFont.setFamily(QLatin1String("MS Shell Dlg 2"));
+ }
+#endif
+
+ QApplicationPrivate::setSystemFont(systemFont);
// QFont::locale_init(); ### Uncomment when it does something on Windows
if (QApplication::desktopSettingsAware())
qt_set_windows_resources();
- QT_WA({
- WM95_MOUSEWHEEL = RegisterWindowMessage(L"MSWHEEL_ROLLMSG");
- } , {
- WM95_MOUSEWHEEL = RegisterWindowMessageA("MSWHEEL_ROLLMSG");
- });
initWinTabFunctions();
QApplicationPrivate::inputContext = new QWinInputContext(0);
@@ -884,10 +809,38 @@ void qt_init(QApplicationPrivate *priv, int)
ptrUpdateLayeredWindowIndirect = qt_updateLayeredWindowIndirect;
// Notify Vista and Windows 7 that we support highter DPI settings
- if (ptrSetProcessDPIAware = (PtrSetProcessDPIAware)
- QLibrary::resolve(QLatin1String("user32"), "SetProcessDPIAware"))
- ptrSetProcessDPIAware();
-#endif
+ ptrSetProcessDPIAware = (PtrSetProcessDPIAware)
+ QLibrary::resolve(QLatin1String("user32"), "SetProcessDPIAware");
+ if (ptrSetProcessDPIAware)
+ ptrSetProcessDPIAware();
+#endif
+
+ priv->lastGestureId = 0;
+
+ priv->GetGestureInfo =
+ (PtrGetGestureInfo)QLibrary::resolve(QLatin1String("user32"),
+ "GetGestureInfo");
+ priv->GetGestureExtraArgs =
+ (PtrGetGestureExtraArgs)QLibrary::resolve(QLatin1String("user32"),
+ "GetGestureExtraArgs");
+ priv->CloseGestureInfoHandle =
+ (PtrCloseGestureInfoHandle)QLibrary::resolve(QLatin1String("user32"),
+ "CloseGestureInfoHandle");
+ priv->SetGestureConfig =
+ (PtrSetGestureConfig)QLibrary::resolve(QLatin1String("user32"),
+ "SetGestureConfig");
+ priv->GetGestureConfig =
+ (PtrGetGestureConfig)QLibrary::resolve(QLatin1String("user32"),
+ "GetGestureConfig");
+ priv->BeginPanningFeedback =
+ (PtrBeginPanningFeedback)QLibrary::resolve(QLatin1String("uxtheme"),
+ "BeginPanningFeedback");
+ priv->UpdatePanningFeedback =
+ (PtrUpdatePanningFeedback)QLibrary::resolve(QLatin1String("uxtheme"),
+ "UpdatePanningFeedback");
+ priv->EndPanningFeedback =
+ (PtrEndPanningFeedback)QLibrary::resolve(QLatin1String("uxtheme"),
+ "EndPanningFeedback");
}
/*****************************************************************************
@@ -963,7 +916,7 @@ const QString qt_reg_winclass(QWidget *w) // register window class
if (w->inherits("QTipLabel") || w->inherits("QAlphaWidget")) {
if ((QSysInfo::WindowsVersion >= QSysInfo::WV_XP
&& QSysInfo::WindowsVersion < QSysInfo::WV_NT_based)) {
- style |= 0x00020000; // CS_DROPSHADOW
+ style |= CS_DROPSHADOW;
}
cname = QLatin1String("QToolTip");
} else {
@@ -981,7 +934,7 @@ const QString qt_reg_winclass(QWidget *w) // register window class
#endif
if ((QSysInfo::WindowsVersion >= QSysInfo::WV_XP
&& QSysInfo::WindowsVersion < QSysInfo::WV_NT_based))
- style |= 0x00020000; // CS_DROPSHADOW
+ style |= CS_DROPSHADOW;
icon = false;
} else {
cname = QLatin1String("QWidget");
@@ -1001,10 +954,10 @@ const QString qt_reg_winclass(QWidget *w) // register window class
// unique ID on WinCE to make sure we can
// move the windows to the front when starting
// a second instance.
- wchar_t uniqueAppID[256];
- GetModuleFileNameW(0, uniqueAppID, 255);
- cname = QString::number(RegisterWindowMessageW(
- (const wchar_t *) QString::fromUtf16((const ushort *)uniqueAppID).toLower().replace(QLatin1Char('\\'),
+ wchar_t uniqueAppID[MAX_PATH];
+ GetModuleFileName(0, uniqueAppID, MAX_PATH);
+ cname = QString::number(RegisterWindowMessage(
+ (const wchar_t *) QString::fromWCharArray(uniqueAppID).toLower().replace(QLatin1Char('\\'),
QLatin1Char('_')).utf16()));
#endif
@@ -1016,15 +969,9 @@ const QString qt_reg_winclass(QWidget *w) // register window class
static int classExists = -1;
if (classExists == -1) {
- QT_WA({
- WNDCLASS wcinfo;
- classExists = GetClassInfo(qWinAppInst(), (TCHAR*)cname.utf16(), &wcinfo);
- classExists = classExists && wcinfo.lpfnWndProc != QtWndProc;
- }, {
- WNDCLASSA wcinfo;
- classExists = GetClassInfoA(qWinAppInst(), cname.toLatin1(), &wcinfo);
- classExists = classExists && wcinfo.lpfnWndProc != QtWndProc;
- });
+ WNDCLASS wcinfo;
+ classExists = GetClassInfo((HINSTANCE)qWinAppInst(), (wchar_t*)cname.utf16(), &wcinfo);
+ classExists = classExists && wcinfo.lpfnWndProc != QtWndProc;
}
if (classExists)
@@ -1033,73 +980,37 @@ const QString qt_reg_winclass(QWidget *w) // register window class
if (winclassNames()->contains(cname)) // already registered in our list
return cname;
- ATOM atom;
+ WNDCLASS wc;
+ wc.style = style;
+ wc.lpfnWndProc = (WNDPROC)QtWndProc;
+ wc.cbClsExtra = 0;
+ wc.cbWndExtra = 0;
+ wc.hInstance = qWinAppInst();
+ if (icon) {
+ wc.hIcon = (HICON)LoadImage(qWinAppInst(), L"IDI_ICON1", IMAGE_ICON, 0, 0, LR_DEFAULTSIZE);
#ifndef Q_WS_WINCE
- HBRUSH bgBrush = (HBRUSH)GetSysColorBrush(COLOR_WINDOW);
- QT_WA({
- WNDCLASS wc;
- wc.style = style;
- wc.lpfnWndProc = (WNDPROC)QtWndProc;
- wc.cbClsExtra = 0;
- wc.cbWndExtra = 0;
- wc.hInstance = qWinAppInst();
- if (icon) {
- wc.hIcon = LoadIcon(qWinAppInst(), L"IDI_ICON1");
- if (!wc.hIcon)
- wc.hIcon = LoadIcon(0, IDI_APPLICATION);
- } else {
- wc.hIcon = 0;
- }
- wc.hCursor = 0;
- wc.hbrBackground= bgBrush;
- wc.lpszMenuName = 0;
- wc.lpszClassName= (TCHAR*)cname.utf16();
- atom = RegisterClass(&wc);
- } , {
- WNDCLASSA wc;
- wc.style = style;
- wc.lpfnWndProc = (WNDPROC)QtWndProc;
- wc.cbClsExtra = 0;
- wc.cbWndExtra = 0;
- wc.hInstance = qWinAppInst();
- if (icon) {
- wc.hIcon = LoadIconA(qWinAppInst(), (char*)"IDI_ICON1");
- if (!wc.hIcon)
- wc.hIcon = LoadIconA(0, (char*)IDI_APPLICATION);
- } else {
- wc.hIcon = 0;
- }
- wc.hCursor = 0;
- wc.hbrBackground= bgBrush;
- wc.lpszMenuName = 0;
- QByteArray tempArray = cname.toLatin1();
- wc.lpszClassName= tempArray;
- atom = RegisterClassA(&wc);
- });
+ if (!wc.hIcon)
+ wc.hIcon = (HICON)LoadImage(0, IDI_APPLICATION, IMAGE_ICON, 0, 0, LR_DEFAULTSIZE | LR_SHARED);
+#endif
+ } else {
+ wc.hIcon = 0;
+ }
+ wc.hCursor = 0;
+#ifndef Q_WS_WINCE
+ wc.hbrBackground = (HBRUSH)GetSysColorBrush(COLOR_WINDOW);
#else
- WNDCLASS wc;
- wc.style = style;
- wc.lpfnWndProc = (WNDPROC)QtWndProc;
- wc.cbClsExtra = 0;
- wc.cbWndExtra = 0;
- wc.hInstance = qWinAppInst();
- if (icon) {
- wc.hIcon = LoadIcon(qWinAppInst(), L"IDI_ICON1");
-// if (!wc.hIcon)
-// wc.hIcon = LoadIcon(0, IDI_APPLICATION);
- } else {
- wc.hIcon = 0;
- }
- wc.hCursor = 0;
- wc.hbrBackground= 0;
- wc.lpszMenuName = 0;
- wc.lpszClassName= (TCHAR*)cname.utf16();
- atom = RegisterClass(&wc);
+ wc.hbrBackground = 0;
#endif
+ wc.lpszMenuName = 0;
+ wc.lpszClassName = (wchar_t*)cname.utf16();
+
+ ATOM atom = RegisterClass(&wc);
#ifndef QT_NO_DEBUG
if (!atom)
qErrnoWarning("QApplication::regClass: Registering window class failed.");
+#else
+ Q_UNUSED(atom);
#endif
winclassNames()->insert(cname, 1);
@@ -1117,11 +1028,7 @@ static void unregWinClasses()
WinClassNameHash *hash = winclassNames();
QHash<QString, int>::ConstIterator it = hash->constBegin();
while (it != hash->constEnd()) {
- QT_WA({
- UnregisterClass((TCHAR*)it.key().utf16(), qWinAppInst());
- } , {
- UnregisterClassA(it.key().toLatin1(), qWinAppInst());
- });
+ UnregisterClass((wchar_t*)it.key().utf16(), qWinAppInst());
++it;
}
hash->clear();
@@ -1191,7 +1098,7 @@ static void qWinProcessConfigRequests() // perform requests in qu
class QGuiEventDispatcherWin32 : public QEventDispatcherWin32
{
- Q_DECLARE_SCOPED_PRIVATE(QEventDispatcherWin32)
+ Q_DECLARE_PRIVATE(QEventDispatcherWin32)
public:
QGuiEventDispatcherWin32(QObject *parent = 0);
bool processEvents(QEventLoop::ProcessEventsFlags flags);
@@ -1338,16 +1245,10 @@ void QApplication::beep()
static void alert_widget(QWidget *widget, int duration)
{
- bool stopFlash = duration < 0;
-
- if (!pFlashWindowEx) {
#ifndef Q_OS_WINCE
- QLibrary themeLib(QLatin1String("user32"));
- pFlashWindowEx = (PtrFlashWindowEx)themeLib.resolve("FlashWindowEx");
-#endif
- }
+ bool stopFlash = duration < 0;
- if (pFlashWindowEx && widget && (!widget->isActiveWindow() || stopFlash)) {
+ if (widget && (!widget->isActiveWindow() || stopFlash)) {
DWORD timeOut = GetCaretBlinkTime();
if (timeOut <= 0)
timeOut = 250;
@@ -1365,8 +1266,9 @@ static void alert_widget(QWidget *widget, int duration)
info.dwTimeout = stopFlash ? 0 : timeOut;
info.uCount = stopFlash ? 0 : flashCount;
- pFlashWindowEx(&info);
+ FlashWindowEx(&info);
}
+#endif
}
void QApplication::alert(QWidget *widget, int duration)
@@ -1454,13 +1356,13 @@ static int inputcharset = CP_ACP;
static bool qt_is_translatable_mouse_event(UINT message)
{
- return (message >= WM_MOUSEFIRST && message <= WM_MOUSELAST ||
- message >= WM_XBUTTONDOWN && message <= WM_XBUTTONDBLCLK)
+ return (((message >= WM_MOUSEFIRST && message <= WM_MOUSELAST) ||
+ (message >= WM_XBUTTONDOWN && message <= WM_XBUTTONDBLCLK))
&& message != WM_MOUSEWHEEL
- && message != WM_MOUSEHWHEEL
+ && message != WM_MOUSEHWHEEL)
#ifndef Q_WS_WINCE
- || message >= WM_NCMOUSEMOVE && message <= WM_NCMBUTTONDBLCLK
+ || (message >= WM_NCMOUSEMOVE && message <= WM_NCMBUTTONDBLCLK)
#endif
;
}
@@ -1727,7 +1629,7 @@ LRESULT CALLBACK QtWndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam
// Sometimes we only get a WM_MOUSEMOVE message
// and sometimes we get both a WM_MOUSEMOVE and
// a WM_LBUTTONDOWN/UP, this creates a spurious mouse
- // press/release event, using the winPeekMessage
+ // press/release event, using the PeekMessage
// will help us fix this. This leaves us with a
// question:
// This effectively kills using the mouse AND the
@@ -1737,16 +1639,14 @@ LRESULT CALLBACK QtWndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam
bool is_mouse_move = (message == WM_MOUSEMOVE);
if (is_mouse_move) {
MSG msg1;
- if (winPeekMessage(&msg1, msg.hwnd, WM_MOUSEFIRST,
- WM_MOUSELAST, PM_NOREMOVE))
+ if (PeekMessage(&msg1, msg.hwnd, WM_MOUSEFIRST,
+ WM_MOUSELAST, PM_NOREMOVE))
next_is_button = (msg1.message == WM_LBUTTONUP
|| msg1.message == WM_LBUTTONDOWN);
}
if (!is_mouse_move || (is_mouse_move && !next_is_button))
qt_tabletChokeMouse = false;
}
- } else if (message == WM95_MOUSEWHEEL) {
- result = widget->translateWheelEvent(msg);
} else {
switch (message) {
case WM_TOUCH:
@@ -1777,7 +1677,7 @@ LRESULT CALLBACK QtWndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam
case WM_IME_KEYDOWN:
case WM_CHAR: {
MSG msg1;
- bool anyMsg = winPeekMessage(&msg1, msg.hwnd, 0, 0, PM_NOREMOVE);
+ bool anyMsg = PeekMessage(&msg1, msg.hwnd, 0, 0, PM_NOREMOVE);
if (anyMsg && msg1.message == WM_DEADCHAR) {
result = true; // consume event since there is a dead char next
break;
@@ -1977,11 +1877,7 @@ LRESULT CALLBACK QtWndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam
#ifndef QT_NO_WHATSTHIS
QWhatsThis::enterWhatsThisMode();
#endif
- QT_WA({
- DefWindowProc(hwnd, WM_NCPAINT, 1, 0);
- } , {
- DefWindowProcA(hwnd, WM_NCPAINT, 1, 0);
- });
+ DefWindowProc(hwnd, WM_NCPAINT, 1, 0);
break;
#if defined(QT_NON_COMMERCIAL)
QT_NC_SYSCOMMAND
@@ -2043,8 +1939,7 @@ LRESULT CALLBACK QtWndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam
break;
if (!msg.wParam) {
- QString area = QT_WA_INLINE(QString::fromUtf16((unsigned short *)msg.lParam),
- QString::fromLocal8Bit((char*)msg.lParam));
+ QString area = QString::fromWCharArray((wchar_t*)msg.lParam);
if (area == QLatin1String("intl")) {
QLocalePrivate::updateSystemPrivate();
if (!widget->testAttribute(Qt::WA_SetLocale))
@@ -2422,11 +2317,7 @@ LRESULT CALLBACK QtWndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam
text = widget->objectName();
ret = qMin<int>(wParam - 1, text.size());
text.resize(ret);
- QT_WA({
- memcpy((void *)lParam, text.utf16(), (text.size() + 1) * 2);
- }, {
- memcpy((void *)lParam, text.toLocal8Bit().data(), text.size() + 1);
- });
+ memcpy((void *)lParam, text.utf16(), (text.size() + 1) * sizeof(ushort));
delete acc;
}
if (!ret) {
@@ -2514,11 +2405,11 @@ LRESULT CALLBACK QtWndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam
#ifndef Q_WS_WINCE
case WM_INPUTLANGCHANGE: {
- char info[7];
- if (!GetLocaleInfoA(MAKELCID(lParam, SORT_DEFAULT), LOCALE_IDEFAULTANSICODEPAGE, info, 6)) {
+ wchar_t info[7];
+ if (!GetLocaleInfo(MAKELCID(lParam, SORT_DEFAULT), LOCALE_IDEFAULTANSICODEPAGE, info, 6)) {
inputcharset = CP_ACP;
} else {
- inputcharset = QString::fromLatin1(info).toInt();
+ inputcharset = QString::fromWCharArray(info).toInt();
}
QKeyMapper::changeKeyboard();
break;
@@ -2612,6 +2503,10 @@ LRESULT CALLBACK QtWndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam
}
result = false;
break;
+ case WM_GESTURE:
+ widget->translateGestureEvent(msg);
+ result = true;
+ break;
default:
result = false; // event was not processed
break;
@@ -2711,11 +2606,10 @@ bool qt_try_modal(QWidget *widget, MSG *msg, int& ret)
bool block_event = false;
#ifndef Q_WS_WINCE
- if (type != WM_NCHITTEST)
+ if (type != WM_NCHITTEST) {
#endif
if ((type >= WM_MOUSEFIRST && type <= WM_MOUSELAST) ||
- type == WM_MOUSEWHEEL || type == (int)WM95_MOUSEWHEEL ||
- type == WM_MOUSEHWHEEL ||
+ type == WM_MOUSEWHEEL || type == WM_MOUSEHWHEEL ||
type == WM_MOUSELEAVE ||
(type >= WM_KEYFIRST && type <= WM_KEYLAST)
#ifndef Q_WS_WINCE
@@ -2742,17 +2636,18 @@ bool qt_try_modal(QWidget *widget, MSG *msg, int& ret)
block_event = true;
}
#ifndef Q_WS_WINCE
- else if (type == WM_MOUSEACTIVATE || type == WM_NCLBUTTONDOWN){
- if (!top->isActiveWindow()) {
- top->activateWindow();
- } else {
- QApplication::beep();
- }
- block_event = true;
- ret = MA_NOACTIVATEANDEAT;
- } else if (type == WM_SYSCOMMAND) {
- if (!(msg->wParam == SC_RESTORE && widget->isMinimized()))
+ else if (type == WM_MOUSEACTIVATE || type == WM_NCLBUTTONDOWN){
+ if (!top->isActiveWindow()) {
+ top->activateWindow();
+ } else {
+ QApplication::beep();
+ }
block_event = true;
+ ret = MA_NOACTIVATEANDEAT;
+ } else if (type == WM_SYSCOMMAND) {
+ if (!(msg->wParam == SC_RESTORE && widget->isMinimized()))
+ block_event = true;
+ }
}
#endif
@@ -2954,20 +2849,11 @@ void qt_win_eatMouseMove()
// remove all those messages (usually 1) and post the last one with a
// reset button state
- MSG msg = {0, 0, 0, 0, 0, 0, 0};
- QT_WA( {
- while (PeekMessage(&msg, 0, WM_MOUSEMOVE, WM_MOUSEMOVE, PM_REMOVE))
- ;
- if (msg.message == WM_MOUSEMOVE)
- PostMessage(msg.hwnd, msg.message, 0, msg.lParam);
- }, {
- MSG msg;
- msg.message = 0;
- while (PeekMessageA(&msg, 0, WM_MOUSEMOVE, WM_MOUSEMOVE, PM_REMOVE))
- ;
- if (msg.message == WM_MOUSEMOVE)
- PostMessageA(msg.hwnd, msg.message, 0, msg.lParam);
- } );
+ MSG msg = {0, 0, 0, 0, 0, {0, 0} };
+ while (PeekMessage(&msg, 0, WM_MOUSEMOVE, WM_MOUSEMOVE, PM_REMOVE))
+ ;
+ if (msg.message == WM_MOUSEMOVE)
+ PostMessage(msg.hwnd, msg.message, 0, msg.lParam);
}
// In DnD, the mouse release event never appears, so the
@@ -3002,8 +2888,8 @@ bool QETWidget::translateMouseEvent(const MSG &msg)
// Compress mouse move events
if (msg.message == WM_MOUSEMOVE) {
MSG mouseMsg;
- while (winPeekMessage(&mouseMsg, msg.hwnd, WM_MOUSEFIRST,
- WM_MOUSELAST, PM_NOREMOVE)) {
+ while (PeekMessage(&mouseMsg, msg.hwnd, WM_MOUSEFIRST,
+ WM_MOUSELAST, PM_NOREMOVE)) {
if (mouseMsg.message == WM_MOUSEMOVE) {
#define PEEKMESSAGE_IS_BROKEN 1
#ifdef PEEKMESSAGE_IS_BROKEN
@@ -3014,12 +2900,12 @@ bool QETWidget::translateMouseEvent(const MSG &msg)
// key release events (kls 2003-05-13):
MSG keyMsg;
bool done = false;
- while (winPeekMessage(&keyMsg, 0, WM_KEYFIRST, WM_KEYLAST,
- PM_NOREMOVE)) {
+ while (PeekMessage(&keyMsg, 0, WM_KEYFIRST, WM_KEYLAST,
+ PM_NOREMOVE)) {
if (keyMsg.time < mouseMsg.time) {
if ((keyMsg.lParam & 0xC0000000) == 0x40000000) {
- winPeekMessage(&keyMsg, 0, keyMsg.message,
- keyMsg.message, PM_REMOVE);
+ PeekMessage(&keyMsg, 0, keyMsg.message,
+ keyMsg.message, PM_REMOVE);
} else {
done = true;
break;
@@ -3045,8 +2931,8 @@ bool QETWidget::translateMouseEvent(const MSG &msg)
msgPtr->wParam = mouseMsg.wParam;
msgPtr->pt = mouseMsg.pt;
// Remove the mouse move message
- winPeekMessage(&mouseMsg, msg.hwnd, WM_MOUSEMOVE,
- WM_MOUSEMOVE, PM_REMOVE);
+ PeekMessage(&mouseMsg, msg.hwnd, WM_MOUSEMOVE,
+ WM_MOUSEMOVE, PM_REMOVE);
} else {
break; // there was no more WM_MOUSEMOVE event
}
@@ -3075,7 +2961,9 @@ bool QETWidget::translateMouseEvent(const MSG &msg)
if (alienWidget && alienWidget->internalWinId())
alienWidget = 0;
- if (type == QEvent::MouseMove || type == QEvent::NonClientAreaMouseMove) {
+ if (type == QEvent::MouseMove || type == QEvent::NonClientAreaMouseMove
+ || type == QEvent::TabletMove) {
+
if (!(state & Qt::MouseButtonMask))
qt_button_down = 0;
#ifndef QT_NO_CURSOR
@@ -3206,6 +3094,8 @@ bool QETWidget::translateMouseEvent(const MSG &msg)
popupButtonFocus = popupChild;
break;
case QEvent::MouseButtonRelease:
+ case QEvent::TabletRelease:
+
releaseAfter = true;
break;
default:
@@ -3260,7 +3150,7 @@ bool QETWidget::translateMouseEvent(const MSG &msg)
POINT widgetpt = gpos;
ScreenToClient(hwndTarget, &widgetpt);
LPARAM lParam = MAKELPARAM(widgetpt.x, widgetpt.y);
- winPostMessage(hwndTarget, msg.message, msg.wParam, lParam);
+ PostMessage(hwndTarget, msg.message, msg.wParam, lParam);
}
} else if (type == QEvent::MouseButtonRelease && button == Qt::RightButton
&& QApplication::activePopupWidget() == activePopupWidget) {
@@ -3443,17 +3333,19 @@ static void tabletInit(UINT wActiveCsr, HCTX hTab)
tdd.minTanPressure = int(np.axMin);
tdd.maxTanPressure = int(np.axMax);
- ptrWTInfo(WTI_DEVICES + lc.lcDevice, DVC_X, &np);
- tdd.minX = int(np.axMin);
- tdd.maxX = int(np.axMax);
+ LOGCONTEXT lcMine;
+
+ /* get default region */
+ ptrWTInfo(WTI_DEFCONTEXT, 0, &lcMine);
+
+ tdd.minX = 0;
+ tdd.maxX = int(lcMine.lcInExtX) - int(lcMine.lcInOrgX);
- ptrWTInfo(WTI_DEVICES + lc.lcDevice, DVC_Y, &np);
- tdd.minY = int(np.axMin);
- tdd.maxY = int(np.axMax);
+ tdd.minY = 0;
+ tdd.maxY = int(lcMine.lcInExtY) - int(lcMine.lcInOrgY);
- ptrWTInfo(WTI_DEVICES + lc.lcDevice, DVC_Z, &np);
- tdd.minZ = int(np.axMin);
- tdd.maxZ = int(np.axMax);
+ tdd.minZ = 0;
+ tdd.maxZ = int(lcMine.lcInExtZ) - int(lcMine.lcInOrgZ);
int csr_type,
csr_physid;
@@ -3563,13 +3455,34 @@ bool QETWidget::translateTabletEvent(const MSG &msg, PACKET *localPacketBuf,
}
QPoint globalPos(qRound(hiResGlobal.x()), qRound(hiResGlobal.y()));
+ if (t == QEvent::TabletPress)
+ {
+ qt_button_down = QApplication::widgetAt(globalPos);
+ }
+
// make sure the tablet event get's sent to the proper widget...
- QWidget *w = QApplication::widgetAt(globalPos);
+ QWidget *w = 0;
+
if (qt_button_down)
w = qt_button_down; // Pass it to the thing that's grabbed it.
+ else
+ w = QApplication::widgetAt(globalPos);
if (!w)
w = this;
+
+ if (t == QEvent::TabletRelease)
+ {
+ if (qt_win_ignoreNextMouseReleaseEvent) {
+ qt_win_ignoreNextMouseReleaseEvent = false;
+ if (qt_button_down && qt_button_down->internalWinId() == autoCaptureWnd) {
+ releaseAutoCapture();
+ qt_button_down = 0;
+ }
+ }
+
+ }
+
QPoint localPos = w->mapFromGlobal(globalPos);
#ifndef QT_NO_TABLETEVENT
if (currentTabletPointer.currentDevice == QTabletEvent::Airbrush) {
@@ -3627,14 +3540,8 @@ static void initWinTabFunctions()
QLibrary library(QLatin1String("wintab32"));
if (library.load()) {
- QT_WA({
- ptrWTInfo = (PtrWTInfo)library.resolve("WTInfoW");
- ptrWTGet = (PtrWTGet)library.resolve("WTGetW");
- } , {
- ptrWTInfo = (PtrWTInfo)library.resolve("WTInfoA");
- ptrWTGet = (PtrWTGet)library.resolve("WTGetA");
- });
-
+ ptrWTInfo = (PtrWTInfo)library.resolve("WTInfoW");
+ ptrWTGet = (PtrWTGet)library.resolve("WTGetW");
ptrWTEnable = (PtrWTEnable)library.resolve("WTEnable");
ptrWTOverlap = (PtrWTEnable)library.resolve("WTOverlap");
ptrWTPacketsGet = (PtrWTPacketsGet)library.resolve("WTPacketsGet");
@@ -3808,6 +3715,60 @@ bool QETWidget::translateCloseEvent(const MSG &)
return d_func()->close_helper(QWidgetPrivate::CloseWithSpontaneousEvent);
}
+bool QETWidget::translateGestureEvent(const MSG &msg)
+{
+ GESTUREINFO gi;
+ gi.cbSize = sizeof(GESTUREINFO);
+ gi.dwFlags = 0;
+ gi.ptsLocation.x = 0;
+ gi.ptsLocation.y = 0;
+ gi.dwID = 0;
+ gi.dwInstanceID = 0;
+ gi.dwSequenceID = 0;
+
+ QApplicationPrivate *qAppPriv = getQApplicationPrivateInternal();
+ BOOL bResult = qAppPriv->GetGestureInfo((HANDLE)msg.lParam, &gi);
+
+ const QPoint widgetPos = QPoint(gi.ptsLocation.x, gi.ptsLocation.y);
+ QWidget *alienWidget = !internalWinId() ? this : childAt(widgetPos);
+ if (alienWidget && alienWidget->internalWinId())
+ alienWidget = 0;
+ QWidget *widget = alienWidget ? alienWidget : this;
+
+ QNativeGestureEvent event;
+ event.sequenceId = gi.dwSequenceID;
+ event.position = QPoint(gi.ptsLocation.x, gi.ptsLocation.y);
+ if (bResult) {
+ switch (gi.dwID) {
+ case GID_BEGIN:
+ event.gestureType = QNativeGestureEvent::GestureBegin;
+ break;
+ case GID_END:
+ event.gestureType = QNativeGestureEvent::GestureEnd;
+ break;
+ case GID_ZOOM:
+ event.gestureType = QNativeGestureEvent::Pinch;
+ break;
+ case GID_PAN:
+ event.gestureType = QNativeGestureEvent::Pan;
+ break;
+ case GID_ROTATE:
+ case GID_TWOFINGERTAP:
+ case GID_ROLLOVER:
+ default:
+ break;
+ }
+ if (event.gestureType != QNativeGestureEvent::None)
+ qt_sendSpontaneousEvent(widget, &event);
+ } else {
+ DWORD dwErr = GetLastError();
+ if (dwErr > 0)
+ qWarning() << "translateGestureEvent: error = " << dwErr;
+ }
+ qAppPriv->CloseGestureInfoHandle((HANDLE)msg.lParam);
+ return true;
+}
+
void QApplication::setCursorFlashTime(int msecs)
{
@@ -3861,11 +3822,7 @@ void QApplication::setWheelScrollLines(int n)
#ifdef SPI_SETWHEELSCROLLLINES
if (n < 0)
n = 0;
- QT_WA({
- SystemParametersInfo(SPI_SETWHEELSCROLLLINES, (uint)n, 0, 0);
- } , {
- SystemParametersInfoA(SPI_SETWHEELSCROLLLINES, (uint)n, 0, 0);
- });
+ SystemParametersInfo(SPI_SETWHEELSCROLLLINES, (uint)n, 0, 0);
#else
QApplicationPrivate::wheel_scroll_lines = n;
#endif
@@ -3875,11 +3832,7 @@ int QApplication::wheelScrollLines()
{
#ifdef SPI_GETWHEELSCROLLLINES
uint i = 3;
- QT_WA({
- SystemParametersInfo(SPI_GETWHEELSCROLLLINES, sizeof(uint), &i, 0);
- } , {
- SystemParametersInfoA(SPI_GETWHEELSCROLLLINES, sizeof(uint), &i, 0);
- });
+ SystemParametersInfo(SPI_GETWHEELSCROLLLINES, sizeof(uint), &i, 0);
if (i > INT_MAX)
i = INT_MAX;
return i;
@@ -3924,8 +3877,7 @@ bool QApplication::isEffectEnabled(Qt::UIEffect effect)
if (QColormap::instance().depth() < 16)
return false;
- if (!effect_override && desktopSettingsAware()
- && !(QSysInfo::WindowsVersion == QSysInfo::WV_95 || QSysInfo::WindowsVersion == QSysInfo::WV_NT)) {
+ if (!effect_override && desktopSettingsAware()) {
// we know that they can be used when we are here
BOOL enabled = false;
UINT api;
@@ -3934,33 +3886,22 @@ bool QApplication::isEffectEnabled(Qt::UIEffect effect)
api = SPI_GETMENUANIMATION;
break;
case Qt::UI_FadeMenu:
- if (QSysInfo::WindowsVersion & QSysInfo::WV_DOS_based)
- return false;
api = SPI_GETMENUFADE;
break;
case Qt::UI_AnimateCombo:
api = SPI_GETCOMBOBOXANIMATION;
break;
case Qt::UI_AnimateTooltip:
- if (QSysInfo::WindowsVersion & QSysInfo::WV_DOS_based)
- api = SPI_GETMENUANIMATION;
- else
- api = SPI_GETTOOLTIPANIMATION;
+ api = SPI_GETTOOLTIPANIMATION;
break;
case Qt::UI_FadeTooltip:
- if (QSysInfo::WindowsVersion & QSysInfo::WV_DOS_based)
- return false;
api = SPI_GETTOOLTIPFADE;
break;
default:
api = SPI_GETUIEFFECTS;
break;
}
- QT_WA({
- SystemParametersInfo(api, 0, &enabled, 0);
- } , {
- SystemParametersInfoA(api, 0, &enabled, 0);
- });
+ SystemParametersInfo(api, 0, &enabled, 0);
return enabled;
}
@@ -4009,16 +3950,18 @@ void QSessionManager::cancel()
#endif //QT_NO_SESSIONMANAGER
-qt_RegisterTouchWindowPtr QApplicationPrivate::RegisterTouchWindow = 0;
-qt_GetTouchInputInfoPtr QApplicationPrivate::GetTouchInputInfo = 0;
-qt_CloseTouchInputHandlePtr QApplicationPrivate::CloseTouchInputHandle = 0;
+
+PtrRegisterTouchWindow QApplicationPrivate::RegisterTouchWindow = 0;
+PtrGetTouchInputInfo QApplicationPrivate::GetTouchInputInfo = 0;
+PtrCloseTouchInputHandle QApplicationPrivate::CloseTouchInputHandle = 0;
void QApplicationPrivate::initializeMultitouch_sys()
{
QLibrary library(QLatin1String("user32"));
- RegisterTouchWindow = static_cast<qt_RegisterTouchWindowPtr>(library.resolve("RegisterTouchWindow"));
- GetTouchInputInfo = static_cast<qt_GetTouchInputInfoPtr>(library.resolve("GetTouchInputInfo"));
- CloseTouchInputHandle = static_cast<qt_CloseTouchInputHandlePtr>(library.resolve("CloseTouchInputHandle"));
+ // MinGW (g++ 3.4.5) accepts only C casts.
+ RegisterTouchWindow = (PtrRegisterTouchWindow)(library.resolve("RegisterTouchWindow"));
+ GetTouchInputInfo = (PtrGetTouchInputInfo)(library.resolve("GetTouchInputInfo"));
+ CloseTouchInputHandle = (PtrCloseTouchInputHandle)(library.resolve("CloseTouchInputHandle"));
touchInputIDToTouchPointID.clear();
}
@@ -4030,13 +3973,11 @@ void QApplicationPrivate::cleanupMultitouch_sys()
bool QApplicationPrivate::translateTouchEvent(const MSG &msg)
{
- Q_Q(QApplication);
-
QWidget *widgetForHwnd = QWidget::find(msg.hwnd);
if (!widgetForHwnd)
return false;
- QRect screenGeometry = q->desktop()->screenGeometry(widgetForHwnd);
+ QRect screenGeometry = QApplication::desktop()->screenGeometry(widgetForHwnd);
QList<QTouchEvent::TouchPoint> touchPoints;
diff --git a/src/gui/kernel/qapplication_x11.cpp b/src/gui/kernel/qapplication_x11.cpp
index 5ef6b2e..4016563 100644
--- a/src/gui/kernel/qapplication_x11.cpp
+++ b/src/gui/kernel/qapplication_x11.cpp
@@ -117,7 +117,9 @@ extern "C" {
#define XK_MISCELLANY
#include <X11/keysymdef.h>
+#if !defined(QT_NO_XINPUT)
#include <X11/extensions/XI.h>
+#endif
#include <stdlib.h>
#include <string.h>
@@ -655,11 +657,13 @@ static int qt_x_errhandler(Display *dpy, XErrorEvent *err)
break;
default:
+#if !defined(QT_NO_XINPUT)
if (err->request_code == X11->xinput_major
&& err->error_code == (X11->xinput_errorbase + XI_BadDevice)
&& err->minor_code == 3 /* X_OpenDevice */) {
return 0;
}
+#endif
break;
}
@@ -1392,6 +1396,18 @@ static void qt_set_x11_resources(const char* font = 0, const char* fg = 0,
color = kdeColor(QLatin1String("Colors:Button/ForegroundNormal"), theKdeSettings);
if (color.isValid())
pal.setColor(QPalette::ButtonText, color);
+
+ color = kdeColor(QLatin1String("linkColor"), theKdeSettings);
+ if (!color.isValid())
+ color = kdeColor(QLatin1String("Colors:View/ForegroundLink"), theKdeSettings);
+ if (color.isValid())
+ pal.setColor(QPalette::Link, color);
+
+ color = kdeColor(QLatin1String("visitedLinkColor"), theKdeSettings);
+ if (!color.isValid())
+ color = kdeColor(QLatin1String("Colors:View/ForegroundVisited"), theKdeSettings);
+ if (color.isValid())
+ pal.setColor(QPalette::LinkVisited, color);
}
if (highlight.isValid() && highlightText.isValid()) {
@@ -3230,48 +3246,43 @@ int QApplication::x11ProcessEvent(XEvent* event)
#ifdef ALIEN_DEBUG
//qDebug() << "QApplication::x11ProcessEvent:" << event->type;
#endif
- Time time = 0, userTime = 0;
switch (event->type) {
case ButtonPress:
pressed_window = event->xbutton.window;
- userTime = event->xbutton.time;
+ X11->userTime = event->xbutton.time;
// fallthrough intended
case ButtonRelease:
- time = event->xbutton.time;
+ X11->time = event->xbutton.time;
break;
case MotionNotify:
- time = event->xmotion.time;
+ X11->time = event->xmotion.time;
break;
case XKeyPress:
- userTime = event->xkey.time;
+ X11->userTime = event->xkey.time;
// fallthrough intended
case XKeyRelease:
- time = event->xkey.time;
+ X11->time = event->xkey.time;
break;
case PropertyNotify:
- time = event->xproperty.time;
+ X11->time = event->xproperty.time;
break;
case EnterNotify:
case LeaveNotify:
- time = event->xcrossing.time;
+ X11->time = event->xcrossing.time;
break;
case SelectionClear:
- time = event->xselectionclear.time;
+ X11->time = event->xselectionclear.time;
break;
default:
-#ifndef QT_NO_XFIXES
- if (X11->use_xfixes && event->type == (X11->xfixes_eventbase + XFixesSelectionNotify)) {
- XFixesSelectionNotifyEvent *req =
- reinterpret_cast<XFixesSelectionNotifyEvent *>(event);
- time = req->selection_timestamp;
- }
-#endif
break;
}
- if (time > X11->time)
- X11->time = time;
- if (userTime > X11->userTime)
- X11->userTime = userTime;
+#ifndef QT_NO_XFIXES
+ if (X11->use_xfixes && event->type == (X11->xfixes_eventbase + XFixesSelectionNotify)) {
+ XFixesSelectionNotifyEvent *req =
+ reinterpret_cast<XFixesSelectionNotifyEvent *>(event);
+ X11->time = req->selection_timestamp;
+ }
+#endif
QETWidget *widget = (QETWidget*)QWidget::find((WId)event->xany.window);
@@ -3437,19 +3448,10 @@ int QApplication::x11ProcessEvent(XEvent* event)
QSize oldSize(w->size());
w->data->crect.setWidth(DisplayWidth(X11->display, scr));
w->data->crect.setHeight(DisplayHeight(X11->display, scr));
- QVarLengthArray<QRect> oldSizes(desktop->numScreens());
- for (int i = 0; i < desktop->numScreens(); ++i)
- oldSizes[i] = desktop->screenGeometry(i);
QResizeEvent e(w->size(), oldSize);
QApplication::sendEvent(w, &e);
- for (int i = 0; i < qMin(oldSizes.count(), desktop->numScreens()); ++i) {
- if (oldSizes[i] != desktop->screenGeometry(i))
- emit desktop->resized(i);
- }
- for (int i = oldSizes.count(); i < desktop->numScreens(); ++i)
- emit desktop->resized(i); // added
- for (int i = desktop->numScreens(); i < oldSizes.count(); ++i)
- emit desktop->resized(i); // removed
+ if (w != desktop)
+ QApplication::sendEvent(desktop, &e);
}
#endif // QT_NO_XRANDR
diff --git a/src/gui/kernel/qboxlayout.cpp b/src/gui/kernel/qboxlayout.cpp
index b51d77f..a7802af 100644
--- a/src/gui/kernel/qboxlayout.cpp
+++ b/src/gui/kernel/qboxlayout.cpp
@@ -527,7 +527,7 @@ void QBoxLayoutPrivate::calcHfw(int w)
You will almost always want to use QVBoxLayout and QHBoxLayout
rather than QBoxLayout because of their convenient constructors.
- \sa QGridLayout, QStackedLayout, {Layout Classes}
+ \sa QGridLayout, QStackedLayout, {Layout Management}
*/
/*!
@@ -1314,7 +1314,7 @@ QBoxLayout::Direction QBoxLayout::direction() const
\image qhboxlayout-with-5-children.png Horizontal box layout with five child widgets
- \sa QVBoxLayout, QGridLayout, QStackedLayout, {Layout Classes}, {Basic Layouts Example}
+ \sa QVBoxLayout, QGridLayout, QStackedLayout, {Layout Management}, {Basic Layouts Example}
*/
@@ -1432,7 +1432,7 @@ QHBoxLayout::~QHBoxLayout()
\image qvboxlayout-with-5-children.png Horizontal box layout with five child widgets
- \sa QHBoxLayout, QGridLayout, QStackedLayout, {Layout Classes}, {Basic Layouts Example}
+ \sa QHBoxLayout, QGridLayout, QStackedLayout, {Layout Management}, {Basic Layouts Example}
*/
/*!
diff --git a/src/gui/kernel/qboxlayout.h b/src/gui/kernel/qboxlayout.h
index c399b8d..f463c31 100644
--- a/src/gui/kernel/qboxlayout.h
+++ b/src/gui/kernel/qboxlayout.h
@@ -60,7 +60,7 @@ class QBoxLayoutPrivate;
class Q_GUI_EXPORT QBoxLayout : public QLayout
{
Q_OBJECT
- Q_DECLARE_SCOPED_PRIVATE(QBoxLayout)
+ Q_DECLARE_PRIVATE(QBoxLayout)
public:
enum Direction { LeftToRight, RightToLeft, TopToBottom, BottomToTop,
Down = TopToBottom, Up = BottomToTop };
diff --git a/src/gui/kernel/qclipboard.h b/src/gui/kernel/qclipboard.h
index 68fbf33..8241812 100644
--- a/src/gui/kernel/qclipboard.h
+++ b/src/gui/kernel/qclipboard.h
@@ -62,7 +62,7 @@ class QClipboardPrivate;
class Q_GUI_EXPORT QClipboard : public QObject
{
Q_OBJECT
- Q_DECLARE_SCOPED_PRIVATE(QClipboard)
+ Q_DECLARE_PRIVATE(QClipboard)
private:
QClipboard(QObject *parent);
~QClipboard();
diff --git a/src/gui/kernel/qclipboard_mac.cpp b/src/gui/kernel/qclipboard_mac.cpp
index b7b57b8..45050b2 100644
--- a/src/gui/kernel/qclipboard_mac.cpp
+++ b/src/gui/kernel/qclipboard_mac.cpp
@@ -50,6 +50,7 @@
#include "qurl.h"
#include <stdlib.h>
#include <string.h>
+#include "qt_cocoa_helpers_mac_p.h"
QT_BEGIN_NAMESPACE
@@ -525,8 +526,17 @@ QMacPasteboard::retrieveData(const QString &format, QVariant::Type) const
QString c_flavor = c->flavorFor(format);
if(!c_flavor.isEmpty()) {
// Handle text/plain a little differently. Try handling Unicode first.
- if((c_flavor == QLatin1String("com.apple.traditional-mac-plain-text") || c_flavor == QLatin1String("public.utf8-plain-text")) &&
- hasFlavor(QLatin1String("public.utf16-plain-text")))
+ bool checkForUtf16 = (c_flavor == QLatin1String("com.apple.traditional-mac-plain-text")
+ || c_flavor == QLatin1String("public.utf8-plain-text"));
+ if (checkForUtf16 || c_flavor == QLatin1String("public.utf16-plain-text")) {
+ // Try to get the NSStringPboardType from NSPasteboard, newlines are mapped
+ // correctly (as '\n') in this data. The 'public.utf16-plain-text' type
+ // usually maps newlines to '\r' instead.
+ QString str = qt_mac_get_pasteboardString();
+ if (!str.isEmpty())
+ return str;
+ }
+ if (checkForUtf16 && hasFlavor(QLatin1String("public.utf16-plain-text")))
c_flavor = QLatin1String("public.utf16-plain-text");
QVariant ret;
diff --git a/src/gui/kernel/qclipboard_s60.cpp b/src/gui/kernel/qclipboard_s60.cpp
index 5536438..fe3f579 100644
--- a/src/gui/kernel/qclipboard_s60.cpp
+++ b/src/gui/kernel/qclipboard_s60.cpp
@@ -1,9 +1,9 @@
/****************************************************************************
**
-** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
-** This file is part of the $MODULE$ of the Qt Toolkit.
+** This file is part of the QtGui of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/src/gui/kernel/qclipboard_win.cpp b/src/gui/kernel/qclipboard_win.cpp
index 09b5448..f5aa088 100644
--- a/src/gui/kernel/qclipboard_win.cpp
+++ b/src/gui/kernel/qclipboard_win.cpp
@@ -200,7 +200,7 @@ HRESULT QtCeGetClipboard(IDataObject** obj)
if (clipData == 0) {
clipData = GetClipboardData(CF_UNICODETEXT);
if (clipData != 0)
- clipText = QString::fromUtf16((unsigned short *)clipData);
+ clipText = QString::fromWCharArray((wchar_t *)clipData);
} else {
clipText = QString::fromLatin1((const char*)clipData);
}
@@ -325,13 +325,7 @@ bool QClipboard::event(QEvent *e)
}
if (propagate && d->nextClipboardViewer) {
- QT_WA({
- SendMessage(d->nextClipboardViewer, m->message,
- m->wParam, m->lParam);
- } , {
- SendMessageA(d->nextClipboardViewer, m->message,
- m->wParam, m->lParam);
- });
+ SendMessage(d->nextClipboardViewer, m->message, m->wParam, m->lParam);
}
return true;
diff --git a/src/gui/kernel/qcocoapanel_mac.mm b/src/gui/kernel/qcocoapanel_mac.mm
index bdc7ecb..1e0bbdf 100644
--- a/src/gui/kernel/qcocoapanel_mac.mm
+++ b/src/gui/kernel/qcocoapanel_mac.mm
@@ -85,6 +85,12 @@ QT_USE_NAMESPACE
last resort (i.e., this is code that can potentially be removed).
*/
+- (void)toggleToolbarShown:(id)sender
+{
+ macSendToolbarChangeEvent([self QT_MANGLE_NAMESPACE(qt_qwidget)]);
+ [super toggleToolbarShown:sender];
+}
+
- (void)keyDown:(NSEvent *)theEvent
{
bool keyOK = qt_dispatchKeyEvent(theEvent, [self QT_MANGLE_NAMESPACE(qt_qwidget)]);
diff --git a/src/gui/kernel/qcocoaview_mac.mm b/src/gui/kernel/qcocoaview_mac.mm
index 52685ca..1d352cb 100644
--- a/src/gui/kernel/qcocoaview_mac.mm
+++ b/src/gui/kernel/qcocoaview_mac.mm
@@ -200,6 +200,7 @@ extern "C" {
composingText = new QString();
composing = false;
sendKeyEvents = true;
+ inKeyDown = false;
currentCustomTypes = 0;
[self setHidden:YES];
return self;
@@ -326,7 +327,7 @@ extern "C" {
return NSDragOperationNone;
} else {
// save the mouse position, used by draggingExited handler.
- DnDParams *dndParams = [QCocoaView currentMouseEvent];
+ DnDParams *dndParams = [QT_MANGLE_NAMESPACE(QCocoaView) currentMouseEvent];
dndParams->activeDragEnterPos = windowPoint;
// send a drag move event immediately after a drag enter event (as per documentation).
QDragMoveEvent qDMEvent(posDrag, qtAllowed, mimeData, QApplication::mouseButtons(), modifiers);
@@ -405,7 +406,7 @@ extern "C" {
dragEnterSequence = -1;
if (qwidget->testAttribute(Qt::WA_TransparentForMouseEvents)) {
// try sending the leave event to the last view which accepted drag enter.
- DnDParams *dndParams = [QCocoaView currentMouseEvent];
+ DnDParams *dndParams = [QT_MANGLE_NAMESPACE(QCocoaView) currentMouseEvent];
NSView *candidateView = [[[self window] contentView] hitTest:dndParams->activeDragEnterPos];
if (candidateView && candidateView != self)
return [candidateView draggingExited:sender];
@@ -550,15 +551,7 @@ extern "C" {
qwidget->objectName().local8Bit().data());
#endif
QPainter p(qwidget);
- QAbstractScrollArea *scrollArea = qobject_cast<QAbstractScrollArea *>(qwidget->parent());
- QPoint scrollAreaOffset;
- if (scrollArea && scrollArea->viewport() == qwidget) {
- QAbstractScrollAreaPrivate *priv
- = static_cast<QAbstractScrollAreaPrivate *>(qt_widget_private(scrollArea));
- scrollAreaOffset = priv->contentsOffset();
- p.translate(-scrollAreaOffset);
- }
- qwidgetprivate->paintBackground(&p, qrgn, scrollAreaOffset,
+ qwidgetprivate->paintBackground(&p, qrgn,
qwidget->isWindow() ? QWidgetPrivate::DrawAsRoot : 0);
p.end();
}
@@ -991,6 +984,7 @@ extern "C" {
- (void)keyDown:(NSEvent *)theEvent
{
+ inKeyDown = true;
sendKeyEvents = true;
QWidget *widgetToGetKey = qwidget;
@@ -1010,6 +1004,7 @@ extern "C" {
if (!keyOK && !sendToPopup)
[super keyDown:theEvent];
}
+ inKeyDown = false;
}
@@ -1047,20 +1042,36 @@ extern "C" {
- (void) insertText:(id)aString
{
+ QString commitText;
if ([aString length]) {
- // Send the commit string to the widget.
- QString commitText;
if ([aString isKindOfClass:[NSAttributedString class]]) {
- commitText = QCFString::toQString(reinterpret_cast<CFStringRef>([aString string]));
+ commitText = QCFString::toQString(reinterpret_cast<CFStringRef>([aString string]));
} else {
commitText = QCFString::toQString(reinterpret_cast<CFStringRef>(aString));
};
+ }
+
+ if ([aString length] && !inKeyDown) {
+ // Handle the case where insertText is called from somewhere else than the keyDown
+ // implementation, for example when inserting text from the character palette.
+ QInputMethodEvent e;
+ e.setCommitString(commitText);
+ qt_sendSpontaneousEvent(qwidget, &e);
+ } else if ([aString length] && composing) {
+ // Send the commit string to the widget.
composing = false;
sendKeyEvents = false;
QInputMethodEvent e;
e.setCommitString(commitText);
qt_sendSpontaneousEvent(qwidget, &e);
+ } else {
+ // The key sequence "`q" on a French Keyboard will generate two calls to insertText before
+ // it returns from interpretKeyEvents. The first call will turn off 'composing' and accept
+ // the "`" key. The last keyDown event needs to be processed by the widget to get the
+ // character "q". The string parameter is ignored for the second call.
+ sendKeyEvents = true;
}
+
composingText->clear();
}
diff --git a/src/gui/kernel/qcocoaview_mac_p.h b/src/gui/kernel/qcocoaview_mac_p.h
index 4762b17..932c6ca 100644
--- a/src/gui/kernel/qcocoaview_mac_p.h
+++ b/src/gui/kernel/qcocoaview_mac_p.h
@@ -85,6 +85,7 @@ Q_GUI_EXPORT
bool composing;
int composingLength;
bool sendKeyEvents;
+ bool inKeyDown;
QString *composingText;
QStringList *currentCustomTypes;
NSInteger dragEnterSequence;
diff --git a/src/gui/kernel/qcocoawindow_mac.mm b/src/gui/kernel/qcocoawindow_mac.mm
index 7084416..eb08982 100644
--- a/src/gui/kernel/qcocoawindow_mac.mm
+++ b/src/gui/kernel/qcocoawindow_mac.mm
@@ -104,6 +104,12 @@ QT_USE_NAMESPACE
last resort (i.e., this is code that can potentially be removed).
*/
+- (void)toggleToolbarShown:(id)sender
+{
+ macSendToolbarChangeEvent([self QT_MANGLE_NAMESPACE(qt_qwidget)]);
+ [super toggleToolbarShown:sender];
+}
+
- (void)keyDown:(NSEvent *)theEvent
{
bool keyOK = qt_dispatchKeyEvent(theEvent, [self QT_MANGLE_NAMESPACE(qt_qwidget)]);
diff --git a/src/gui/kernel/qcursor.cpp b/src/gui/kernel/qcursor.cpp
index d665cc2..e5ca196 100644
--- a/src/gui/kernel/qcursor.cpp
+++ b/src/gui/kernel/qcursor.cpp
@@ -127,11 +127,11 @@ QT_BEGIN_NAMESPACE
\o Qt::SizeAllCursor \o \c size_all
\row \o \inlineimage cursor-busy.png
\o Qt::BusyCursor \o \c left_ptr_watch
- \o \inlineimage cursor-hsplit.png
+ \o \inlineimage cursor-vsplit.png
\o Qt::SplitVCursor \o \c split_v
\row \o \inlineimage cursor-forbidden.png
\o Qt::ForbiddenCursor \o \c forbidden
- \o \inlineimage cursor-vsplit.png
+ \o \inlineimage cursor-hsplit.png
\o Qt::SplitHCursor \o \c split_h
\row \o \inlineimage cursor-hand.png
\o Qt::PointingHandCursor \o \c pointing_hand
diff --git a/src/gui/kernel/qcursor_s60.cpp b/src/gui/kernel/qcursor_s60.cpp
index a281130..bc4fdd1 100644
--- a/src/gui/kernel/qcursor_s60.cpp
+++ b/src/gui/kernel/qcursor_s60.cpp
@@ -1,9 +1,9 @@
/****************************************************************************
**
-** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
-** This file is part of the $MODULE$ of the Qt Toolkit.
+** This file is part of the QtGui of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/src/gui/kernel/qcursor_win.cpp b/src/gui/kernel/qcursor_win.cpp
index f0dc108..26e395c 100644
--- a/src/gui/kernel/qcursor_win.cpp
+++ b/src/gui/kernel/qcursor_win.cpp
@@ -317,54 +317,50 @@ void QCursorData::update()
phand_bits, phandm_bits
};
- unsigned short *sh;
+ wchar_t *sh = 0;
switch (cshape) { // map to windows cursor
case Qt::ArrowCursor:
- sh = (unsigned short*)IDC_ARROW;
+ sh = IDC_ARROW;
break;
case Qt::UpArrowCursor:
- sh = (unsigned short*)IDC_UPARROW;
+ sh = IDC_UPARROW;
break;
case Qt::CrossCursor:
- sh = (unsigned short*)IDC_CROSS;
+ sh = IDC_CROSS;
break;
case Qt::WaitCursor:
- sh = (unsigned short*)IDC_WAIT;
+ sh = IDC_WAIT;
break;
case Qt::IBeamCursor:
- sh = (unsigned short*)IDC_IBEAM;
+ sh = IDC_IBEAM;
break;
case Qt::SizeVerCursor:
- sh = (unsigned short*)IDC_SIZENS;
+ sh = IDC_SIZENS;
break;
case Qt::SizeHorCursor:
- sh = (unsigned short*)IDC_SIZEWE;
+ sh = IDC_SIZEWE;
break;
case Qt::SizeBDiagCursor:
- sh = (unsigned short*)IDC_SIZENESW;
+ sh = IDC_SIZENESW;
break;
case Qt::SizeFDiagCursor:
- sh = (unsigned short*)IDC_SIZENWSE;
+ sh = IDC_SIZENWSE;
break;
case Qt::SizeAllCursor:
- sh = (unsigned short*)IDC_SIZEALL;
+ sh = IDC_SIZEALL;
break;
case Qt::ForbiddenCursor:
- sh = (unsigned short*)IDC_NO;
+ sh = IDC_NO;
break;
case Qt::WhatsThisCursor:
- sh = (unsigned short*)IDC_HELP;
+ sh = IDC_HELP;
break;
case Qt::BusyCursor:
- sh = (unsigned short*)IDC_APPSTARTING;
+ sh = IDC_APPSTARTING;
break;
case Qt::PointingHandCursor:
- if ((QSysInfo::WindowsVersion & QSysInfo::WV_DOS_based) > QSysInfo::WV_95 ||
- (QSysInfo::WindowsVersion & QSysInfo::WV_NT_based) > QSysInfo::WV_NT) {
- sh = (unsigned short*)IDC_HAND;
- break;
- }
- // fall through
+ sh = IDC_HAND;
+ break;
case Qt::BlankCursor:
case Qt::SplitVCursor:
case Qt::SplitHCursor:
@@ -480,13 +476,11 @@ void QCursorData::update()
qWarning("QCursor::update: Invalid cursor shape %d", cshape);
return;
}
- // ### From MSDN:
- // ### LoadCursor has been superseded by the LoadImage function.
- QT_WA({
- hcurs = LoadCursorW(0, reinterpret_cast<const TCHAR *>(sh));
- } , {
- hcurs = LoadCursorA(0, reinterpret_cast<const char*>(sh));
- });
+#ifdef Q_WS_WINCE
+ hcurs = LoadCursor(0, sh);
+#else
+ hcurs = (HCURSOR)LoadImage(0, sh, IMAGE_CURSOR, 0, 0, LR_DEFAULTSIZE | LR_SHARED);
+#endif
}
QT_END_NAMESPACE
diff --git a/src/gui/kernel/qdesktopwidget.h b/src/gui/kernel/qdesktopwidget.h
index d61e00c..a21ae9d 100644
--- a/src/gui/kernel/qdesktopwidget.h
+++ b/src/gui/kernel/qdesktopwidget.h
@@ -56,6 +56,9 @@ class QDesktopWidgetPrivate;
class Q_GUI_EXPORT QDesktopWidget : public QWidget
{
Q_OBJECT
+ Q_PROPERTY(bool virtualDesktop READ isVirtualDesktop)
+ Q_PROPERTY(int screenCount READ screenCount NOTIFY screenCountChanged)
+ Q_PROPERTY(int primaryScreen READ primaryScreen)
public:
QDesktopWidget();
~QDesktopWidget();
@@ -63,6 +66,7 @@ public:
bool isVirtualDesktop() const;
int numScreens() const;
+ int screenCount() const;
int primaryScreen() const;
int screenNumber(const QWidget *widget = 0) const;
@@ -85,18 +89,22 @@ public:
Q_SIGNALS:
void resized(int);
void workAreaResized(int);
+ void screenCountChanged(int);
protected:
void resizeEvent(QResizeEvent *e);
private:
Q_DISABLE_COPY(QDesktopWidget)
- Q_DECLARE_SCOPED_PRIVATE(QDesktopWidget)
+ Q_DECLARE_PRIVATE(QDesktopWidget)
friend class QApplication;
friend class QApplicationPrivate;
};
+inline int QDesktopWidget::screenCount() const
+{ return numScreens(); }
+
QT_END_NAMESPACE
QT_END_HEADER
diff --git a/src/gui/kernel/qdesktopwidget_mac.mm b/src/gui/kernel/qdesktopwidget_mac.mm
index 2489fe4..705387d 100644
--- a/src/gui/kernel/qdesktopwidget_mac.mm
+++ b/src/gui/kernel/qdesktopwidget_mac.mm
@@ -97,15 +97,13 @@ QT_USE_NAMESPACE
Q_GLOBAL_STATIC(QDesktopWidgetImplementation, qdesktopWidgetImplementation)
QDesktopWidgetImplementation::QDesktopWidgetImplementation()
- : appScreen(0), displays(0)
+ : appScreen(0)
{
onResize();
}
QDesktopWidgetImplementation::~QDesktopWidgetImplementation()
{
- if (displays)
- [displays release];
}
QDesktopWidgetImplementation *QDesktopWidgetImplementation::instance()
@@ -118,13 +116,7 @@ QRect QDesktopWidgetImplementation::availableRect(int screenIndex) const
if (screenIndex < 0 || screenIndex >= screenCount)
screenIndex = appScreen;
- NSRect r = [[displays objectAtIndex:screenIndex] visibleFrame];
- NSRect primaryRect = [[displays objectAtIndex:0] frame];
-
- const int flippedY = - r.origin.y + // account for position offset and
- primaryRect.size.height - r.size.height; // height difference.
- return QRectF(r.origin.x, flippedY,
- r.size.width, r.size.height).toRect();
+ return availableRects[screenIndex].toRect();
}
QRect QDesktopWidgetImplementation::screenRect(int screenIndex) const
@@ -132,22 +124,28 @@ QRect QDesktopWidgetImplementation::screenRect(int screenIndex) const
if (screenIndex < 0 || screenIndex >= screenCount)
screenIndex = appScreen;
- NSRect r = [[displays objectAtIndex:screenIndex] frame];
- NSRect primaryRect = [[displays objectAtIndex:0] frame];
-
- const int flippedY = - r.origin.y + // account for position offset and
- primaryRect.size.height - r.size.height; // height difference.
- return QRectF(r.origin.x, flippedY,
- r.size.width, r.size.height).toRect();
+ return screenRects[screenIndex].toRect();
}
void QDesktopWidgetImplementation::onResize()
{
- if (displays)
- [displays release];
-
- displays = [[NSScreen screens] retain];
- screenCount = [displays count];
+ QMacCocoaAutoReleasePool pool;
+ NSArray *displays = [NSScreen screens];
+ screenCount = [displays count];
+
+ screenRects.clear();
+ availableRects.clear();
+ NSRect primaryRect = [[displays objectAtIndex:0] frame];
+ for (int i = 0; i<screenCount; i++) {
+ NSRect r = [[displays objectAtIndex:i] frame];
+ const int flippedY = - r.origin.y + // account for position offset and
+ primaryRect.size.height - r.size.height; // height difference.
+ screenRects.append(QRectF(r.origin.x, flippedY,
+ r.size.width, r.size.height));
+ r = [[displays objectAtIndex:i] visibleFrame];
+ availableRects.append(QRectF(r.origin.x, flippedY,
+ r.size.width, r.size.height));
+ }
}
@@ -195,7 +193,7 @@ const QRect QDesktopWidget::screenGeometry(int screen) const
int QDesktopWidget::screenNumber(const QWidget *widget) const
{
- QDesktopWidgetImplementation *d = qdesktopWidgetImplementation();
+ QDesktopWidgetImplementation *d = qdesktopWidgetImplementation();
if (!widget)
return d->appScreen;
QRect frame = widget->frameGeometry();
@@ -216,7 +214,7 @@ int QDesktopWidget::screenNumber(const QWidget *widget) const
int QDesktopWidget::screenNumber(const QPoint &point) const
{
- QDesktopWidgetImplementation *d = qdesktopWidgetImplementation();
+ QDesktopWidgetImplementation *d = qdesktopWidgetImplementation();
int closestScreen = -1;
int shortestDistance = INT_MAX;
for (int i = 0; i < d->screenCount; ++i) {
@@ -232,13 +230,25 @@ int QDesktopWidget::screenNumber(const QPoint &point) const
void QDesktopWidget::resizeEvent(QResizeEvent *)
{
- QDesktopWidgetImplementation *d = qdesktopWidgetImplementation();
+ QDesktopWidgetImplementation *d = qdesktopWidgetImplementation();
+
+ const int oldScreenCount = d->screenCount;
+ const QVector<QRectF> oldRects(d->screenRects);
+ const QVector<QRectF> oldWorks(d->availableRects);
d->onResize();
- for (int i = 0; i < d->screenCount; ++i) {
- emit resized(i);
+ for (int i = 0; i < qMin(oldScreenCount, d->screenCount); ++i) {
+ if (oldRects.at(i) != d->screenRects.at(i))
+ emit resized(i);
+ }
+ for (int i = 0; i < qMin(oldScreenCount, d->screenCount); ++i) {
+ if (oldWorks.at(i) != d->availableRects.at(i))
+ emit workAreaResized(i);
}
+
+ if (oldScreenCount != d->screenCount)
+ emit screenCountChanged(d->screenCount);
}
QT_END_NAMESPACE
diff --git a/src/gui/kernel/qdesktopwidget_mac_p.h b/src/gui/kernel/qdesktopwidget_mac_p.h
index 0fdc455..e9d5d9f 100644
--- a/src/gui/kernel/qdesktopwidget_mac_p.h
+++ b/src/gui/kernel/qdesktopwidget_mac_p.h
@@ -64,7 +64,8 @@ public:
int appScreen;
int screenCount;
- NSArray *displays;
+ QVector<QRectF> availableRects;
+ QVector<QRectF> screenRects;
QRect availableRect(int screenIndex) const;
QRect screenRect(int screenIndex) const;
diff --git a/src/gui/kernel/qdesktopwidget_s60.cpp b/src/gui/kernel/qdesktopwidget_s60.cpp
index a333d62..226a759 100644
--- a/src/gui/kernel/qdesktopwidget_s60.cpp
+++ b/src/gui/kernel/qdesktopwidget_s60.cpp
@@ -1,9 +1,9 @@
/****************************************************************************
**
-** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
-** This file is part of the $MODULE$ of the Qt Toolkit.
+** This file is part of the QtGui of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/src/gui/kernel/qdesktopwidget_win.cpp b/src/gui/kernel/qdesktopwidget_win.cpp
index aa290c4..a89e08f 100644
--- a/src/gui/kernel/qdesktopwidget_win.cpp
+++ b/src/gui/kernel/qdesktopwidget_win.cpp
@@ -152,41 +152,27 @@ void QDesktopWidgetPrivate::init(QDesktopWidget *that)
rects = new QVector<QRect>();
workrects = new QVector<QRect>();
+ screenCount = 0;
#ifndef Q_OS_WINCE
- if (QSysInfo::WindowsVersion != QSysInfo::WV_95 && QSysInfo::WindowsVersion != QSysInfo::WV_NT) {
- screenCount = 0;
- // Trying to get the function pointers to Win98/2000 only functions
- QLibrary user32Lib(QLatin1String("user32"));
- if (!user32Lib.load())
- return;
+ QLibrary user32Lib(QLatin1String("user32"));
+ if (user32Lib.load()) {
enumDisplayMonitors = (EnumFunc)user32Lib.resolve("EnumDisplayMonitors");
- QT_WA({
- getMonitorInfo = (InfoFunc)user32Lib.resolve("GetMonitorInfoW");
- } , {
- getMonitorInfo = (InfoFunc)user32Lib.resolve("GetMonitorInfoA");
- });
-
- if (!enumDisplayMonitors || !getMonitorInfo) {
- screenCount = GetSystemMetrics(80); // SM_CMONITORS
- rects->resize(screenCount);
- for (int i = 0; i < screenCount; ++i)
- rects->replace(i, that->rect());
- return;
- }
- // Calls enumCallback
- enumDisplayMonitors(0, 0, enumCallback, 0);
- enumDisplayMonitors = 0;
- getMonitorInfo = 0;
- } else {
- rects->resize(1);
- rects->replace(0, that->rect());
- workrects->resize(1);
- workrects->replace(0, that->rect());
+ getMonitorInfo = (InfoFunc)user32Lib.resolve("GetMonitorInfoW");
}
-#else
- screenCount = 0;
+ if (!enumDisplayMonitors || !getMonitorInfo) {
+ screenCount = GetSystemMetrics(80); // SM_CMONITORS
+ rects->resize(screenCount);
+ for (int i = 0; i < screenCount; ++i)
+ rects->replace(i, that->rect());
+ return;
+ }
+ // Calls enumCallback
+ enumDisplayMonitors(0, 0, enumCallback, 0);
+ enumDisplayMonitors = 0;
+ getMonitorInfo = 0;
+#else
QLibrary coreLib(QLatin1String("coredll"));
if (coreLib.load()) {
// CE >= 4.0 case
@@ -307,80 +293,69 @@ const QRect QDesktopWidget::availableGeometry(int screen) const
for(int i=0; i < d->workrects->size(); ++i)
qt_get_sip_info((*d->workrects)[i]);
#endif
- if (QSysInfo::WindowsVersion != QSysInfo::WV_95 && QSysInfo::WindowsVersion != QSysInfo::WV_NT) {
- if (screen < 0 || screen >= d->screenCount)
- screen = d->primaryScreen;
+ if (screen < 0 || screen >= d->screenCount)
+ screen = d->primaryScreen;
- return d->workrects->at(screen);
- } else {
- return d->workrects->at(d->primaryScreen);
- }
+ return d->workrects->at(screen);
}
const QRect QDesktopWidget::screenGeometry(int screen) const
{
const QDesktopWidgetPrivate *d = d_func();
- if (QSysInfo::WindowsVersion != QSysInfo::WV_95 && QSysInfo::WindowsVersion != QSysInfo::WV_NT) {
- if (screen < 0 || screen >= d->screenCount)
- screen = d->primaryScreen;
+ if (screen < 0 || screen >= d->screenCount)
+ screen = d->primaryScreen;
- return d->rects->at(screen);
- } else {
- return d->rects->at(d->primaryScreen);
- }
+ return d->rects->at(screen);
}
int QDesktopWidget::screenNumber(const QWidget *widget) const
{
Q_D(const QDesktopWidget);
- if (QSysInfo::WindowsVersion != QSysInfo::WV_95 && QSysInfo::WindowsVersion != QSysInfo::WV_NT) {
- if (!widget)
- return d->primaryScreen;
- QRect frame = widget->frameGeometry();
- if (!widget->isWindow())
- frame.moveTopLeft(widget->mapToGlobal(QPoint(0,0)));
-
- int maxSize = -1;
- int maxScreen = -1;
-
- for (int i = 0; i < d->screenCount; ++i) {
- QRect sect = d->rects->at(i).intersected(frame);
- int size = sect.width() * sect.height();
- if (size > maxSize && sect.width() > 0 && sect.height() > 0) {
- maxSize = size;
- maxScreen = i;
- }
- }
- return maxScreen;
- } else {
+ if (!widget)
return d->primaryScreen;
+
+ QRect frame = widget->frameGeometry();
+ if (!widget->isWindow())
+ frame.moveTopLeft(widget->mapToGlobal(QPoint(0,0)));
+
+ int maxSize = -1;
+ int maxScreen = -1;
+
+ for (int i = 0; i < d->screenCount; ++i) {
+ QRect sect = d->rects->at(i).intersected(frame);
+ int size = sect.width() * sect.height();
+ if (size > maxSize && sect.width() > 0 && sect.height() > 0) {
+ maxSize = size;
+ maxScreen = i;
+ }
}
+
+ return maxScreen;
}
int QDesktopWidget::screenNumber(const QPoint &point) const
{
Q_D(const QDesktopWidget);
+
int closestScreen = -1;
- if (QSysInfo::WindowsVersion != QSysInfo::WV_95 && QSysInfo::WindowsVersion != QSysInfo::WV_NT) {
- int shortestDistance = INT_MAX;
- for (int i = 0; i < d->screenCount; ++i) {
- int thisDistance = d->pointToRect(point, d->rects->at(i));
- if (thisDistance < shortestDistance) {
- shortestDistance = thisDistance;
- closestScreen = i;
- }
+ int shortestDistance = INT_MAX;
+
+ for (int i = 0; i < d->screenCount; ++i) {
+ int thisDistance = d->pointToRect(point, d->rects->at(i));
+ if (thisDistance < shortestDistance) {
+ shortestDistance = thisDistance;
+ closestScreen = i;
}
}
+
return closestScreen;
}
void QDesktopWidget::resizeEvent(QResizeEvent *)
{
Q_D(QDesktopWidget);
- QVector<QRect> oldrects;
- oldrects = *d->rects;
- QVector<QRect> oldworkrects;
- oldworkrects = *d->workrects;
+ const QVector<QRect> oldrects(*d->rects);
+ const QVector<QRect> oldworkrects(*d->workrects);
int oldscreencount = d->screenCount;
QDesktopWidgetPrivate::cleanup();
@@ -391,18 +366,22 @@ void QDesktopWidget::resizeEvent(QResizeEvent *)
#endif
for (int i = 0; i < qMin(oldscreencount, d->screenCount); ++i) {
- QRect oldrect = oldrects[i];
- QRect newrect = d->rects->at(i);
+ const QRect oldrect = oldrects[i];
+ const QRect newrect = d->rects->at(i);
if (oldrect != newrect)
emit resized(i);
}
for (int j = 0; j < qMin(oldscreencount, d->screenCount); ++j) {
- QRect oldrect = oldworkrects[j];
- QRect newrect = d->workrects->at(j);
+ const QRect oldrect = oldworkrects[j];
+ const QRect newrect = d->workrects->at(j);
if (oldrect != newrect)
emit workAreaResized(j);
}
+
+ if (oldscreencount != d->screenCount) {
+ emit screenCountChanged(d->screenCount);
+ }
}
#ifdef Q_CC_MSVC
diff --git a/src/gui/kernel/qdesktopwidget_x11.cpp b/src/gui/kernel/qdesktopwidget_x11.cpp
index 94032e3..5bc4c0c 100644
--- a/src/gui/kernel/qdesktopwidget_x11.cpp
+++ b/src/gui/kernel/qdesktopwidget_x11.cpp
@@ -372,7 +372,32 @@ int QDesktopWidget::screenNumber(const QPoint &point) const
void QDesktopWidget::resizeEvent(QResizeEvent *event)
{
Q_D(QDesktopWidget);
+ int oldScreenCount = d->screenCount;
+ QVector<QRect> oldRects(oldScreenCount);
+ QVector<QRect> oldWorks(oldScreenCount);
+ for (int i = 0; i < oldScreenCount; ++i) {
+ oldRects[i] = d->rects[i];
+ oldWorks[i] = d->workareas[i];
+ }
+
d->init();
+
+ for (int i = 0; i < qMin(oldScreenCount, d->screenCount); ++i) {
+ if (oldRects.at(i) != d->rects[i])
+ emit resized(i);
+ }
+
+ // ### workareas are just reset by init, not filled with new values
+ // ### so this will not work correctly
+ for (int j = 0; j < qMin(oldScreenCount, d->screenCount); ++j) {
+ if (oldWorks.at(j) != d->workareas[j])
+ emit workAreaResized(j);
+ }
+
+ if (oldScreenCount != d->screenCount) {
+ emit screenCountChanged(d->screenCount);
+ }
+
qt_desktopwidget_workarea_dirty = true;
QWidget::resizeEvent(event);
}
diff --git a/src/gui/kernel/qdirectionrecognizer.cpp b/src/gui/kernel/qdirectionrecognizer.cpp
deleted file mode 100644
index a1bc5b1..0000000
--- a/src/gui/kernel/qdirectionrecognizer.cpp
+++ /dev/null
@@ -1,182 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtGui module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qdirectionrecognizer_p.h"
-
-#include <math.h>
-
-#ifndef M_PI
-#define M_PI 3.141592653589793238462643
-#endif
-
-QT_BEGIN_NAMESPACE
-
-enum {
- DistanceDelta = 20
-};
-
-QDirectionSimpleRecognizer::QDirectionSimpleRecognizer()
-{
-}
-
-Direction QDirectionSimpleRecognizer::addPosition(const QPoint &pos)
-{
- if (!directions.isEmpty()) {
- const QPoint tmp = pos - directions.back().point;
- if (tmp.manhattanLength() < 5)
- return Direction();
- }
- if (lastPoint.isNull()) {
- lastPoint = pos;
- return Direction();
- }
- int dx = pos.x() - lastPoint.x();
- int dy = pos.y() - lastPoint.y();
- Qt::DirectionType direction = Qt::NoDirection;
- if (dx < 0) {
- if (-1*dx >= DistanceDelta/2)
- direction = Qt::LeftDirection;
- } else {
- if (dx >= DistanceDelta/2)
- direction = Qt::RightDirection;
- }
- if (dy < 0) {
- if (-1*dy >= DistanceDelta/2)
- direction = Qt::UpDirection;
- } else {
- if (dy >= DistanceDelta/2)
- direction = Qt::DownDirection;
- }
- if (direction == Qt::NoDirection)
- return Direction();
-
- lastPoint = pos;
- directions.push_back(Direction(direction, pos));
- return Direction(direction, pos);
-}
-
-
-DirectionList QDirectionSimpleRecognizer::getDirections() const
-{
- return directions;
-}
-
-void QDirectionSimpleRecognizer::reset()
-{
- directions.clear();
- lastPoint = QPoint();
-}
-
-
-/// QDirectionDiagonalRecognizer
-
-QDirectionDiagonalRecognizer::QDirectionDiagonalRecognizer()
-{
-}
-
-Direction QDirectionDiagonalRecognizer::addPosition(const QPoint &pos)
-{
- if (!directions.isEmpty()) {
- const QPoint tmp = pos - directions.back().point;
- if (tmp.manhattanLength() < 5)
- return Direction();
- }
- if (lastPoint.isNull()) {
- lastPoint = pos;
- return Direction();
- }
- int dx = pos.x() - lastPoint.x();
- int dy = pos.y() - lastPoint.y();
- int distance = sqrt(static_cast<double>(dx*dx + dy*dy));
- if (distance < DistanceDelta/2)
- return Direction();
-
- Qt::DirectionType direction = Qt::NoDirection;
- double angle = atan(1.0*qAbs(lastPoint.y() - pos.y())/qAbs(pos.x() - lastPoint.x())) * 180. / M_PI;
- if (dx < 0 && dy <= 0) {
- angle = 180 - angle;
- } else if (dx <= 0 && dy > 0) {
- angle += 180;
- } else if (dx > 0 && dy > 0) {
- angle = 360-angle;
- }
- if (angle < 0)
- angle += 360;
- if (angle <= 20)
- direction = Qt::RightDirection;
- else if (angle <= 65)
- direction = Qt::RightUpDirection;
- else if (angle <= 110)
- direction = Qt::UpDirection;
- else if (angle <= 155)
- direction = Qt::LeftUpDirection;
- else if (angle <= 200)
- direction = Qt::LeftDirection;
- else if (angle <= 245)
- direction = Qt::LeftDownDirection;
- else if (angle <= 290)
- direction = Qt::DownDirection;
- else if (angle <= 335)
- direction = Qt::RightDownDirection;
- else
- direction = Qt::RightDirection;
-
- if (direction == Qt::NoDirection)
- return Direction();
-
- lastPoint = pos;
- directions.push_back(Direction(direction, pos));
- return Direction(direction, pos);
-}
-
-
-DirectionList QDirectionDiagonalRecognizer::getDirections() const
-{
- return directions;
-}
-
-void QDirectionDiagonalRecognizer::reset()
-{
- directions.clear();
- lastPoint = QPoint();
-}
-
-QT_END_NAMESPACE
diff --git a/src/gui/kernel/qdirectionrecognizer_p.h b/src/gui/kernel/qdirectionrecognizer_p.h
deleted file mode 100644
index 12307c6..0000000
--- a/src/gui/kernel/qdirectionrecognizer_p.h
+++ /dev/null
@@ -1,105 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtGui module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QDIRECTIONRECOGNIZER_P_H
-#define QDIRECTIONRECOGNIZER_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include "qpoint.h"
-#include "qlist.h"
-
-QT_BEGIN_NAMESPACE
-
-struct Direction
-{
- Qt::DirectionType direction;
- QPoint point;
-
- Direction(Qt::DirectionType dir, const QPoint &pt)
- : direction(dir), point(pt) { }
- Direction()
- : direction(Qt::NoDirection) { }
-
- inline bool isEmpty() const { return direction == Qt::NoDirection; }
- inline bool isNull() const { return direction == Qt::NoDirection; }
-};
-
-typedef QList<Direction> DirectionList;
-
-class QDirectionSimpleRecognizer
-{
-public:
- QDirectionSimpleRecognizer();
- Direction addPosition(const QPoint &pos);
- DirectionList getDirections() const;
- void reset();
-
-private:
- QPoint lastPoint;
- DirectionList directions;
-};
-
-class QDirectionDiagonalRecognizer
-{
-public:
- QDirectionDiagonalRecognizer();
- Direction addPosition(const QPoint &pos);
- DirectionList getDirections() const;
- void reset();
-
-private:
- QPoint lastPoint;
- DirectionList directions;
-};
-
-QT_END_NAMESPACE
-
-#endif // QDIRECTIONRECOGNIZER_P_H
diff --git a/src/gui/kernel/qdirectionsimplificator_p.h b/src/gui/kernel/qdirectionsimplificator_p.h
deleted file mode 100644
index d7491dc..0000000
--- a/src/gui/kernel/qdirectionsimplificator_p.h
+++ /dev/null
@@ -1,172 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtGui module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QDIRECTIONSIMPLIFICATOR_P_H
-#define QDIRECTIONSIMPLIFICATOR_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include "private/qdirectionrecognizer_p.h"
-
-QT_BEGIN_NAMESPACE
-
-class QDirectionSimplificator
-{
-public:
- QDirectionSimplificator(const DirectionList &dir);
-
- bool simplify(DirectionList *result);
-
-private:
- DirectionList directions;
- DirectionList lastResult;
- enum State {
- None,
- Trim, // remove first and last element
- AccidentalMoves, // 66866 => 6666
- ComplexAccidentalMoves, // 778788 => 777888 (swapping elements without changing direction)
- ShortMoves, // (moves of length 1)
- } state;
-
- struct SimplifyTrim
- {
- SimplifyTrim() : state(0) { }
- bool operator()(DirectionList &directions)
- {
- if (state == 0) {
- directions.removeFirst();
- state = 1;
- } else if (state == 1) {
- directions.removeLast();
- state = 2;
- } else if (state == 2 && directions.size() >= 2) {
- directions.removeFirst();
- directions.removeLast();
- state = 3;
- } else {
- return false;
- }
- return true;
- }
- int state;
- };
- struct SimplifyAccidentalMoves
- {
- SimplifyAccidentalMoves() : state(0) { }
- bool operator()(DirectionList &directions)
- {
- return false;
- }
- int state;
- };
- struct SimplifyComplexAccidentalMoves
- {
- SimplifyComplexAccidentalMoves() : state(0) { }
- bool operator()(DirectionList &directions)
- {
- return false;
- }
- int state;
- };
-
- SimplifyTrim trim;
- SimplifyAccidentalMoves accidentalMoves;
- SimplifyComplexAccidentalMoves complexAccidentalMoves;
- //SimplifyShortMoves shortMoves;
-};
-
-QDirectionSimplificator::QDirectionSimplificator(const DirectionList &dir)
- : directions(dir), state(None)
-{
-}
-
-bool QDirectionSimplificator::simplify(DirectionList *result)
-{
- if (directions.isEmpty() || !result)
- return false;
- *result = directions;
- switch(state) {
- case None:
- state = Trim;
- trim = SimplifyTrim();
- case Trim:
- if (trim(*result))
- break;
- *result = lastResult;
- state = AccidentalMoves;
- accidentalMoves = SimplifyAccidentalMoves();
- case AccidentalMoves:
- if (accidentalMoves(*result))
- break;
- *result = lastResult;
- state = ComplexAccidentalMoves;
- complexAccidentalMoves = SimplifyComplexAccidentalMoves();
- case ComplexAccidentalMoves:
- if (complexAccidentalMoves(*result))
- break;
- *result = lastResult;
- // state = ShortMoves;
- // shortMoves = SimplifyShortMoves();
- // case ShortMoves:
- // if (shortMoves(*result))
- // break;
- // state = None;
- default:
- return false;
- }
- lastResult = *result;
- if (lastResult.isEmpty())
- return false;
- return true;
-}
-
-QT_END_NAMESPACE
-
-#endif // QDIRECTIONSIMPLIFICATOR_P_H
diff --git a/src/gui/kernel/qdnd_mac.mm b/src/gui/kernel/qdnd_mac.mm
index b244d84..99399da 100644
--- a/src/gui/kernel/qdnd_mac.mm
+++ b/src/gui/kernel/qdnd_mac.mm
@@ -405,12 +405,12 @@ bool QWidgetPrivate::qt_mac_dnd_event(uint kind, DragRef dragRef)
SetDragDropAction(dragRef, qt_mac_dnd_map_qt_actions(qDEEvent.dropAction()));
if (!qDEEvent.isAccepted())
- // The widget is simply not interrested in this
+ // The widget is simply not interested in this
// drag. So tell carbon this by returning 'false'. We will then
// not receive any further move, drop or leave events for this widget.
return false;
else {
- // Documentation states that a drag move event is sendt immidiatly after
+ // Documentation states that a drag move event is sent immediately after
// a drag enter event. So we do that. This will honor widgets overriding
// 'dragMoveEvent' only, and not 'dragEnterEvent'
QDragMoveEvent qDMEvent(q->mapFromGlobal(QPoint(mouse.h, mouse.v)), qtAllowed, dropdata,
diff --git a/src/gui/kernel/qdnd_p.h b/src/gui/kernel/qdnd_p.h
index deb52a7..852c86c 100644
--- a/src/gui/kernel/qdnd_p.h
+++ b/src/gui/kernel/qdnd_p.h
@@ -65,7 +65,7 @@
#endif
#if defined(Q_WS_WIN)
-# include <windows.h>
+# include <qt_windows.h>
# include <objidl.h>
#endif
diff --git a/src/gui/kernel/qdnd_s60.cpp b/src/gui/kernel/qdnd_s60.cpp
index c7656b0..8db2e93 100644
--- a/src/gui/kernel/qdnd_s60.cpp
+++ b/src/gui/kernel/qdnd_s60.cpp
@@ -1,9 +1,9 @@
/****************************************************************************
**
-** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
-** This file is part of the $MODULE$ of the Qt Toolkit.
+** This file is part of the QtGui of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/src/gui/kernel/qdnd_win.cpp b/src/gui/kernel/qdnd_win.cpp
index 99c960c..70f89d2 100644
--- a/src/gui/kernel/qdnd_win.cpp
+++ b/src/gui/kernel/qdnd_win.cpp
@@ -154,9 +154,9 @@ QOleDataObject::GetData(LPFORMATETC pformatetc, LPSTGMEDIUM pmedium)
#ifdef QDND_DEBUG
qDebug("QOleDataObject::GetData(LPFORMATETC pformatetc, LPSTGMEDIUM pmedium)");
#ifndef Q_OS_WINCE
- char buf[256] = {0};
- GetClipboardFormatNameA(pformatetc->cfFormat, buf, 255);
- qDebug("CF = %d : %s", pformatetc->cfFormat, buf);
+ wchar_t buf[256] = {0};
+ GetClipboardFormatName(pformatetc->cfFormat, buf, 255);
+ qDebug("CF = %d : %s", pformatetc->cfFormat, QString::fromWCharArray(buf));
#endif
#endif
@@ -398,52 +398,47 @@ void QOleDropSource::createCursors()
int h = cpm.height();
if (!pm.isNull()) {
- int x1 = qMin(-hotSpot.x(),0);
- int x2 = qMax(pm.width()-hotSpot.x(),cpm.width());
- int y1 = qMin(-hotSpot.y(),0);
- int y2 = qMax(pm.height()-hotSpot.y(),cpm.height());
+ int x1 = qMin(-hotSpot.x(), 0);
+ int x2 = qMax(pm.width() - hotSpot.x(), cpm.width());
+ int y1 = qMin(-hotSpot.y(), 0);
+ int y2 = qMax(pm.height() - hotSpot.y(), cpm.height());
- w = x2-x1+1;
- h = y2-y1+1;
+ w = x2 - x1 + 1;
+ h = y2 - y1 + 1;
}
QRect srcRect = pm.rect();
QPoint pmDest = QPoint(qMax(0, -hotSpot.x()), qMax(0, -hotSpot.y()));
QPoint newHotSpot = hotSpot;
-#if !defined(Q_OS_WINCE) || defined(GWES_ICONCURS)
- bool limitedCursorSize = (QSysInfo::WindowsVersion & QSysInfo::WV_DOS_based)
- || (QSysInfo::WindowsVersion == QSysInfo::WV_NT)
- || (QSysInfo::WindowsVersion == QSysInfo::WV_CE);
-
- if (limitedCursorSize) {
- // Limited cursor size
- int reqw = GetSystemMetrics(SM_CXCURSOR);
- int reqh = GetSystemMetrics(SM_CYCURSOR);
-
- QPoint hotspotInPM = newHotSpot - pmDest;
- if (reqw < w) {
- // Not wide enough - move objectpm right
- qreal r = qreal(newHotSpot.x()) / w;
- newHotSpot = QPoint(int(r * reqw), newHotSpot.y());
- if (newHotSpot.x() + cpm.width() > reqw)
- newHotSpot.setX(reqw - cpm.width());
-
- srcRect = QRect(QPoint(hotspotInPM.x() - newHotSpot.x(), srcRect.top()), QSize(reqw, srcRect.height()));
- }
- if (reqh < h) {
- qreal r = qreal(newHotSpot.y()) / h;
- newHotSpot = QPoint(newHotSpot.x(), int(r * reqh));
- if (newHotSpot.y() + cpm.height() > reqh)
- newHotSpot.setY(reqh - cpm.height());
-
- srcRect = QRect(QPoint(srcRect.left(), hotspotInPM.y() - newHotSpot.y()), QSize(srcRect.width(), reqh));
- }
- // Always use system cursor size
- w = reqw;
- h = reqh;
+#if defined(Q_OS_WINCE)
+ // Limited cursor size
+ int reqw = GetSystemMetrics(SM_CXCURSOR);
+ int reqh = GetSystemMetrics(SM_CYCURSOR);
+
+ QPoint hotspotInPM = newHotSpot - pmDest;
+ if (reqw < w) {
+ // Not wide enough - move objectpm right
+ qreal r = qreal(newHotSpot.x()) / w;
+ newHotSpot = QPoint(int(r * reqw), newHotSpot.y());
+ if (newHotSpot.x() + cpm.width() > reqw)
+ newHotSpot.setX(reqw - cpm.width());
+
+ srcRect = QRect(QPoint(hotspotInPM.x() - newHotSpot.x(), srcRect.top()), QSize(reqw, srcRect.height()));
}
+ if (reqh < h) {
+ qreal r = qreal(newHotSpot.y()) / h;
+ newHotSpot = QPoint(newHotSpot.x(), int(r * reqh));
+ if (newHotSpot.y() + cpm.height() > reqh)
+ newHotSpot.setY(reqh - cpm.height());
+
+ srcRect = QRect(QPoint(srcRect.left(), hotspotInPM.y() - newHotSpot.y()), QSize(srcRect.width(), reqh));
+ }
+ // Always use system cursor size
+ w = reqw;
+ h = reqh;
#endif
+
QPixmap newCursor(w, h);
if (!pm.isNull()) {
newCursor.fill(QColor(0, 0, 0, 0));
diff --git a/src/gui/kernel/qdnd_x11.cpp b/src/gui/kernel/qdnd_x11.cpp
index 410d1a9..7b445ea 100644
--- a/src/gui/kernel/qdnd_x11.cpp
+++ b/src/gui/kernel/qdnd_x11.cpp
@@ -316,7 +316,7 @@ static XdndData xdnd_data = { 0, 0 };
class QExtraWidget : public QWidget
{
- Q_DECLARE_SCOPED_PRIVATE(QWidget)
+ Q_DECLARE_PRIVATE(QWidget)
public:
inline QWExtra* extraData();
inline QTLWExtra* topData();
diff --git a/src/gui/kernel/qdrag.h b/src/gui/kernel/qdrag.h
index 7e54b51..b49d82a 100644
--- a/src/gui/kernel/qdrag.h
+++ b/src/gui/kernel/qdrag.h
@@ -61,7 +61,7 @@ class QDragManager;
class Q_GUI_EXPORT QDrag : public QObject
{
Q_OBJECT
- Q_DECLARE_SCOPED_PRIVATE(QDrag)
+ Q_DECLARE_PRIVATE(QDrag)
public:
explicit QDrag(QWidget *dragSource);
~QDrag();
diff --git a/src/gui/kernel/qevent.cpp b/src/gui/kernel/qevent.cpp
index 8e92243..0e5d5b9 100644
--- a/src/gui/kernel/qevent.cpp
+++ b/src/gui/kernel/qevent.cpp
@@ -49,12 +49,9 @@
#include "qmime.h"
#include "qdnd_p.h"
#include "qevent_p.h"
-#include "qgesture.h"
QT_BEGIN_NAMESPACE
-QString qt_getStandardGestureTypeName(Qt::GestureType type);
-
/*!
\class QInputEvent
\ingroup events
@@ -116,8 +113,12 @@ QInputEvent::~QInputEvent()
propagated up the parent widget chain until a widget accepts it
with accept(), or an event filter consumes it.
+ \note If a mouse event is propagated to a \l{QWidget}{widget} for
+ which Qt::WA_NoMousePropagation has been set, that mouse event
+ will not be propagated further up the parent widget chain.
+
The state of the keyboard modifier keys can be found by calling the
- \l{QInputEvent::modifiers()}{modifiers()} function, inhertied from
+ \l{QInputEvent::modifiers()}{modifiers()} function, inherited from
QInputEvent.
The functions pos(), x(), and y() give the cursor position
@@ -673,8 +674,9 @@ QWheelEvent::QWheelEvent(const QPoint &pos, const QPoint& globalPos, int delta,
The QWidget::setEnable() function can be used to enable or disable
mouse and keyboard events for a widget.
- The event handlers QWidget::keyPressEvent() and
- QWidget::keyReleaseEvent() receive key events.
+ The event handlers QWidget::keyPressEvent(), QWidget::keyReleaseEvent(),
+ QGraphicsItem::keyPressEvent() and QGraphicsItem::keyReleaseEvent()
+ receive key events.
\sa QFocusEvent, QWidget::grabKeyboard()
*/
@@ -990,8 +992,9 @@ bool QKeyEvent::matches(QKeySequence::StandardKey matchKey) const
The reason for a particular focus event is returned by reason()
in the appropriate event handler.
- The event handlers QWidget::focusInEvent() and
- QWidget::focusOutEvent() receive focus events.
+ The event handlers QWidget::focusInEvent(),
+ QWidget::focusOutEvent(), QGraphicsItem::focusInEvent and
+ QGraphicsItem::focusOutEvent() receive focus events.
\sa QWidget::setFocus(), QWidget::setFocusPolicy(), {Keyboard Focus}
*/
@@ -1609,12 +1612,14 @@ Qt::ButtonState QContextMenuEvent::state() const
string is controlled by the widget only). The AttributeType enum
describes the different attributes that can be set.
- A class implementing QWidget::inputMethodEvent() should at least
- understand and honor the \l TextFormat and \l Cursor attributes.
+ A class implementing QWidget::inputMethodEvent() or
+ QGraphicsItem::inputMethodEvent() should at least understand and
+ honor the \l TextFormat and \l Cursor attributes.
Since input methods need to be able to query certain properties
- from the widget, the widget must also implement
- QWidget::inputMethodQuery().
+ from the widget or graphics item, subclasses must also implement
+ QWidget::inputMethodQuery() and QGraphicsItem::inputMethodQuery(),
+ respectively.
When receiving an input method event, the text widget has to performs the
following steps:
@@ -3343,9 +3348,6 @@ QDebug operator<<(QDebug dbg, const QEvent *e) {
case QEvent::ChildRemoved: n = n ? n : "ChildRemoved";
dbg.nospace() << "QChildEvent(" << n << ", " << (static_cast<const QChildEvent*>(e))->child();
return dbg.space();
- case QEvent::Gesture:
- n = "Gesture";
- break;
default:
dbg.nospace() << "QEvent(" << (const void *)e << ", type = " << e->type() << ')';
return dbg.space();
@@ -3542,167 +3544,24 @@ QMenubarUpdatedEvent::QMenubarUpdatedEvent(QMenuBar * const menuBar)
#endif
-/*!
- \class QGestureEvent
- \since 4.6
- \ingroup events
-
- \brief The QGestureEvent class provides the parameters used for
- gesture recognition.
-
- The QGestureEvent class contains a list of gestures that are being
- executed right now (\l{QGestureEvent::}{gestureTypes()}) and a
- list of gestures that are cancelled (the gesture might be
- cancelled because the window lost focus, or because of timeout,
- etc).
-
- \sa QGesture
-*/
-
-/*!
- Creates new QGestureEvent containing a list of \a gestures that
- are being executed and a list of gesture that were cancelled (\a
- cancelledGestures).
-*/
-QGestureEvent::QGestureEvent(const QSet<QGesture*> &gestures,
- const QSet<QString> &cancelledGestures)
- : QEvent(QEvent::Gesture), m_cancelledGestures(cancelledGestures)
-{
- setAccepted(false);
- foreach(QGesture *r, gestures)
- m_gestures.insert(r->type(), r);
-}
-
-/*!
- Destroys the QGestureEvent object.
-*/
-QGestureEvent::~QGestureEvent()
-{
-}
-
-/*!
- Returns true if the gesture event contains gesture of specific \a
- type; returns false otherwise.
-*/
-bool QGestureEvent::contains(Qt::GestureType type) const
-{
- return contains(qt_getStandardGestureTypeName(type));
-}
-
-/*!
- Returns true if the gesture event contains gesture of specific \a
- type; returns false otherwise.
-*/
-bool QGestureEvent::contains(const QString &type) const
-{
- return gesture(type) != 0;
-}
-
-/*!
- Returns a list of gesture names that this event contains.
-*/
-QList<QString> QGestureEvent::gestureTypes() const
-{
- return m_gestures.keys();
-}
-
-/*!
- Returns extended information about a gesture of specific \a type.
-*/
-const QGesture* QGestureEvent::gesture(Qt::GestureType type) const
-{
- return gesture(qt_getStandardGestureTypeName(type));
-}
-
-/*!
- Returns extended information about a gesture of specific \a type.
-*/
-const QGesture* QGestureEvent::gesture(const QString &type) const
-{
- return m_gestures.value(type, 0);
-}
-
-/*!
- Returns extended information about all gestures in the event.
-*/
-QList<QGesture*> QGestureEvent::gestures() const
-{
- return m_gestures.values();
-}
-
-/*!
- Returns a set of gesture names that used to be executed, but were
- cancelled (i.e. they were not finished properly).
-*/
-QSet<QString> QGestureEvent::cancelledGestures() const
-{
- return m_cancelledGestures;
-}
-
-/*!
- Sets the accept flag of the all gestures inside the event object,
- the equivalent of calling \l{QEvent::accept()}{accept()} or
- \l{QEvent::setAccepted()}{setAccepted(true)}.
-
- Setting the accept parameter indicates that the event receiver
- wants the gesture. Unwanted gestures might be propagated to the parent
- widget.
-*/
-void QGestureEvent::acceptAll()
-{
- QHash<QString, QGesture*>::iterator it = m_gestures.begin(),
- e = m_gestures.end();
- for(; it != e; ++it)
- it.value()->accept();
- setAccepted(true);
-}
-
-/*!
- Sets the accept flag of the specified gesture inside the event
- object, the equivalent of calling
- \l{QGestureEvent::gesture()}{gesture(type)}->\l{QGesture::accept()}{accept()}
-
- Setting the accept parameter indicates that the event receiver
- wants the gesture. Unwanted gestures might be propagated to the parent
- widget.
-*/
-void QGestureEvent::accept(Qt::GestureType type)
-{
- if (QGesture *g = m_gestures.value(qt_getStandardGestureTypeName(type), 0))
- g->accept();
-}
-
-/*!
- Sets the accept flag of the specified gesture inside the event
- object, the equivalent of calling
- \l{QGestureEvent::gesture()}{gesture(type)}->\l{QGesture::accept()}{accept()}
-
- Setting the accept parameter indicates that the event receiver
- wants the gesture. Unwanted gestures might be propagated to the parent
- widget.
-*/
-void QGestureEvent::accept(const QString &type)
-{
- if (QGesture *g = m_gestures.value(type, 0))
- g->accept();
-}
-
/*! \class QTouchEvent
- \brief The QTouchEvent class contains parameters that describe a touch event
-.
+ \brief The QTouchEvent class contains parameters that describe a touch event.
\since 4.6
\ingroup events
Touch events occur when pressing, releasing, or moving one or more
touch points on a touch device (such as a touch-screen or
- track-pad), and if the widget has the Qt::WA_AcceptTouchEvents
- attribute.
+ track-pad). To receive touch events, widgets have to have the
+ Qt::WA_AcceptTouchEvents attribute set and graphics items need to have
+ the \l{QGraphicsItem::setAcceptTouchEvents()}{acceptTouchEvents}
+ attribute set to true.
All touch events are of type QEvent::TouchBegin,
QEvent::TouchUpdate, or QEvent::TouchEnd. The touchPoints()
function returns a list of all touch points contained in the event.
- Information about each touch point can be retreived using the
- QTouchEvent::TouchPoint class.
+ Information about each touch point can be retrieved using the
+ QTouchEvent::TouchPoint class. The Qt::TouchPointState enum
+ describes the different states that a touch point may have.
Similar to QMouseEvent, Qt automatically grabs each touch point on
the first press inside a widget; the widget will receive all
@@ -3720,10 +3579,11 @@ void QGestureEvent::accept(const QString &type)
then mouse events are simulated from the state of the first touch
point.
- The Qt::TouchPointState enum describes the different states that a
- touch point may have.
+ Reimplement QWidget::event() for widgets and QGraphicsItem::sceneEvent()
+ for items in a graphics view to receive touch events.
- QTouchEvent::TouchPoint Qt::TouchPointState Qt::WA_AcceptTouchEvents
+ \sa QTouchEvent::TouchPoint, Qt::TouchPointState, Qt::WA_AcceptTouchEvents,
+ QGraphicsItem::acceptTouchEvents()
*/
/*! \enum Qt::TouchPointState
@@ -3741,13 +3601,7 @@ void QGestureEvent::accept(const QString &type)
\omitvalue TouchPointPrimary
*/
-/*! \class QTouchEvent::TouchPoint
- \brief The QTouchEvent::TouchPoint class provide information about a touch point in a QTouchEvent.
- \since 4.6
-*/
-
/*! \enum QTouchEvent::DeviceType
- \since 4.6
This enum represents the type of device that generated a QTouchEvent.
@@ -3826,6 +3680,11 @@ QTouchEvent::~QTouchEvent()
Sets the list of touch points for this event.
*/
+/*! \class QTouchEvent::TouchPoint
+ \brief The QTouchEvent::TouchPoint class provides information about a touch point in a QTouchEvent.
+ \since 4.6
+*/
+
/*! \internal
Constructs a QTouchEvent::TouchPoint for use in a QTouchEvent.
@@ -3885,7 +3744,9 @@ bool QTouchEvent::TouchPoint::isPrimary() const
/*!
Returns the position of this touch point, relative to the widget
- or item that received the event.
+ or QGraphicsItem that received the event.
+
+ \sa startPos(), lastPos(), screenPos(), scenePos(), normalizedPos()
*/
QPointF QTouchEvent::TouchPoint::pos() const
{
@@ -3894,6 +3755,13 @@ QPointF QTouchEvent::TouchPoint::pos() const
/*!
Returns the scene position of this touch point.
+
+ The scene position is the position in QGraphicsScene coordinates
+ if the QTouchEvent is handled by a QGraphicsItem::touchEvent()
+ reimplementation, and identical to the screen position for
+ widgets.
+
+ \sa startScenePos(), lastScenePos(), pos()
*/
QPointF QTouchEvent::TouchPoint::scenePos() const
{
@@ -3902,6 +3770,8 @@ QPointF QTouchEvent::TouchPoint::scenePos() const
/*!
Returns the screen position of this touch point.
+
+ \sa startScreenPos(), lastScreenPos(), pos()
*/
QPointF QTouchEvent::TouchPoint::screenPos() const
{
@@ -3909,8 +3779,12 @@ QPointF QTouchEvent::TouchPoint::screenPos() const
}
/*!
- Returns the position of this touch point. The coordinates are normalized to size of the touch
- device, i.e. (0,0) is the top-left corner and (1,1) is the bottom-right corner.
+ Returns the normalized position of this touch point.
+
+ The coordinates are normalized to the size of the touch device,
+ i.e. (0,0) is the top-left corner and (1,1) is the bottom-right corner.
+
+ \sa startNormalizedPos(), lastNormalizedPos(), pos()
*/
QPointF QTouchEvent::TouchPoint::normalizedPos() const
{
@@ -3919,7 +3793,9 @@ QPointF QTouchEvent::TouchPoint::normalizedPos() const
/*!
Returns the starting position of this touch point, relative to the
- widget that received the event.
+ widget or QGraphicsItem that received the event.
+
+ \sa pos(), lastPos()
*/
QPointF QTouchEvent::TouchPoint::startPos() const
{
@@ -3928,6 +3804,13 @@ QPointF QTouchEvent::TouchPoint::startPos() const
/*!
Returns the starting scene position of this touch point.
+
+ The scene position is the position in QGraphicsScene coordinates
+ if the QTouchEvent is handled by a QGraphicsItem::touchEvent()
+ reimplementation, and identical to the screen position for
+ widgets.
+
+ \sa scenePos(), lastScenePos()
*/
QPointF QTouchEvent::TouchPoint::startScenePos() const
{
@@ -3936,6 +3819,8 @@ QPointF QTouchEvent::TouchPoint::startScenePos() const
/*!
Returns the starting screen position of this touch point.
+
+ \sa screenPos(), lastScreenPos()
*/
QPointF QTouchEvent::TouchPoint::startScreenPos() const
{
@@ -3943,8 +3828,12 @@ QPointF QTouchEvent::TouchPoint::startScreenPos() const
}
/*!
- Returns the starting position of this touch point. The coordinates are normalized to size of
- the touch device, i.e. (0,0) is the top-left corner and (1,1) is the bottom-right corner.
+ Returns the normalized starting position of this touch point.
+
+ The coordinates are normalized to the size of the touch device,
+ i.e. (0,0) is the top-left corner and (1,1) is the bottom-right corner.
+
+ \sa normalizedPos(), lastNormalizedPos()
*/
QPointF QTouchEvent::TouchPoint::startNormalizedPos() const
{
@@ -3953,7 +3842,9 @@ QPointF QTouchEvent::TouchPoint::startNormalizedPos() const
/*!
Returns the position of this touch point from the previous touch
- event, relative to the widget that received the event.
+ event, relative to the widget or QGraphicsItem that received the event.
+
+ \sa pos(), startPos()
*/
QPointF QTouchEvent::TouchPoint::lastPos() const
{
@@ -3963,6 +3854,13 @@ QPointF QTouchEvent::TouchPoint::lastPos() const
/*!
Returns the scene position of this touch point from the previous
touch event.
+
+ The scene position is the position in QGraphicsScene coordinates
+ if the QTouchEvent is handled by a QGraphicsItem::touchEvent()
+ reimplementation, and identical to the screen position for
+ widgets.
+
+ \sa scenePos(), startScenePos()
*/
QPointF QTouchEvent::TouchPoint::lastScenePos() const
{
@@ -3972,6 +3870,8 @@ QPointF QTouchEvent::TouchPoint::lastScenePos() const
/*!
Returns the screen position of this touch point from the previous
touch event.
+
+ \sa screenPos(), startScreenPos()
*/
QPointF QTouchEvent::TouchPoint::lastScreenPos() const
{
@@ -3979,9 +3879,13 @@ QPointF QTouchEvent::TouchPoint::lastScreenPos() const
}
/*!
- Returns the position of this touch point from the previous touch event. The coordinates are
- normalized to size of the touch device, i.e. (0,0) is the top-left corner and (1,1) is the
- bottom-right corner.
+ Returns the normalized position of this touch point from the
+ previous touch event.
+
+ The coordinates are normalized to the size of the touch device,
+ i.e. (0,0) is the top-left corner and (1,1) is the bottom-right corner.
+
+ \sa normalizedPos(), startNormalizedPos()
*/
QPointF QTouchEvent::TouchPoint::lastNormalizedPos() const
{
@@ -3989,8 +3893,11 @@ QPointF QTouchEvent::TouchPoint::lastNormalizedPos() const
}
/*!
- Returns the rect for this touch point. The rect is centered around the point returned by pos().
- Note this function returns an empty rect if the device does not report touch point sizes.
+ Returns the rect for this touch point, relative to the widget
+ or QGraphicsItem that received the event. The rect is centered
+ around the point returned by pos().
+
+ \note This function returns an empty rect if the device does not report touch point sizes.
*/
QRectF QTouchEvent::TouchPoint::rect() const
{
@@ -3999,6 +3906,10 @@ QRectF QTouchEvent::TouchPoint::rect() const
/*!
Returns the rect for this touch point in scene coordinates.
+
+ \note This function returns an empty rect if the device does not report touch point sizes.
+
+ \sa scenePos(), rect()
*/
QRectF QTouchEvent::TouchPoint::sceneRect() const
{
@@ -4007,6 +3918,10 @@ QRectF QTouchEvent::TouchPoint::sceneRect() const
/*!
Returns the rect for this touch point in screen coordinates.
+
+ \note This function returns an empty rect if the device does not report touch point sizes.
+
+ \sa screenPos(), rect()
*/
QRectF QTouchEvent::TouchPoint::screenRect() const
{
@@ -4176,4 +4091,15 @@ QTouchEvent::TouchPoint &QTouchEvent::TouchPoint::operator=(const QTouchEvent::T
return *this;
}
+/*! \fn QTouchEvent::DeviceType QTouchEvent::deviceType() const
+ Returns the touch device Type, which is of type
+ \l {QTouchEvent::DeviceType} {DeviceType}.
+ */
+
+/*! \fn void QTouchEvent::setDeviceType(DeviceType deviceType)
+ Sets the device type to \a deviceType, which is of type
+ \l {QTouchEvent::DeviceType} {DeviceType}.
+ */
+
+
QT_END_NAMESPACE
diff --git a/src/gui/kernel/qevent.h b/src/gui/kernel/qevent.h
index 3c5fc90..a1cfbe5 100644
--- a/src/gui/kernel/qevent.h
+++ b/src/gui/kernel/qevent.h
@@ -715,41 +715,6 @@ private:
};
#endif
-class Q_GUI_EXPORT QGestureEvent : public QEvent
-{
-public:
- QGestureEvent(const QSet<QGesture*> &gestures,
- const QSet<QString> &cancelledGestures = QSet<QString>());
- ~QGestureEvent();
-
- bool contains(Qt::GestureType type) const;
- bool contains(const QString &type) const;
-
- QList<QString> gestureTypes() const;
-
- const QGesture* gesture(Qt::GestureType type) const;
- const QGesture* gesture(const QString &type) const;
- QList<QGesture*> gestures() const;
-
- QSet<QString> cancelledGestures() const;
-
- void acceptAll();
-#ifndef Q_NO_USING_KEYWORD
- using QEvent::accept;
-#else
- inline void accept() { QEvent::accept(); }
-#endif
- void accept(Qt::GestureType type);
- void accept(const QString &type);
-
-protected:
- QHash<QString, QGesture*> m_gestures;
- QSet<QString> m_cancelledGestures;
-
- friend class QApplication;
- friend class QGestureManager;
-};
-
#ifndef QT_NO_DEBUG_STREAM
Q_GUI_EXPORT QDebug operator<<(QDebug, const QEvent *);
#endif
diff --git a/src/gui/kernel/qevent_p.h b/src/gui/kernel/qevent_p.h
index 8a2bb05..92c4fc1 100644
--- a/src/gui/kernel/qevent_p.h
+++ b/src/gui/kernel/qevent_p.h
@@ -119,6 +119,32 @@ public:
qreal pressure;
};
+class QNativeGestureEvent : public QEvent
+{
+public:
+ enum Type {
+ None,
+ GestureBegin,
+ GestureEnd,
+ Pan,
+ Pinch
+ };
+
+ QNativeGestureEvent()
+ : QEvent(QEvent::NativeGesture), gestureType(None)
+#ifdef Q_WS_WIN
+ , sequenceId(0)
+#endif
+ {
+ }
+
+ Type gestureType;
+#ifdef Q_WS_WIN
+ QPoint position;
+ ulong sequenceId;
+#endif
+};
+
QT_END_NAMESPACE
#endif // QEVENT_P_H
diff --git a/src/gui/kernel/qeventdispatcher_glib_qws_p.h b/src/gui/kernel/qeventdispatcher_glib_qws_p.h
index f0751be..826661e 100644
--- a/src/gui/kernel/qeventdispatcher_glib_qws_p.h
+++ b/src/gui/kernel/qeventdispatcher_glib_qws_p.h
@@ -62,7 +62,7 @@ class QWSEventDispatcherGlibPrivate;
class QWSEventDispatcherGlib : public QEventDispatcherGlib
{
Q_OBJECT
- Q_DECLARE_SCOPED_PRIVATE(QWSEventDispatcherGlib)
+ Q_DECLARE_PRIVATE(QWSEventDispatcherGlib)
public:
explicit QWSEventDispatcherGlib(QObject *parent = 0);
diff --git a/src/gui/kernel/qeventdispatcher_mac.mm b/src/gui/kernel/qeventdispatcher_mac.mm
index 99a1fc1..af36d9f 100644
--- a/src/gui/kernel/qeventdispatcher_mac.mm
+++ b/src/gui/kernel/qeventdispatcher_mac.mm
@@ -264,12 +264,16 @@ void qt_mac_socket_callback(CFSocketRef s, CFSocketCallBackType callbackType, CF
int nativeSocket = CFSocketGetNative(s);
MacSocketInfo *socketInfo = eventDispatcher->macSockets.value(nativeSocket);
QEvent notifierEvent(QEvent::SockAct);
+
+ // There is a race condition that happen where we disable the notifier and
+ // the kernel still has a notification to pass on. We then get this
+ // notification after we've successfully disabled the CFSocket, but our Qt
+ // notifier is now gone. The upshot is we have to check the notifier
+ // everytime.
if (callbackType == kCFSocketReadCallBack) {
- Q_ASSERT(socketInfo->readNotifier);
- QApplication::sendEvent(socketInfo->readNotifier, &notifierEvent);
+ if (socketInfo->readNotifier)
+ QApplication::sendEvent(socketInfo->readNotifier, &notifierEvent);
} else if (callbackType == kCFSocketWriteCallBack) {
- // ### Bug in Apple socket notifiers seems to send write even
- // ### after the notifier has been disabled, need to investigate further.
if (socketInfo->writeNotifier)
QApplication::sendEvent(socketInfo->writeNotifier, &notifierEvent);
}
@@ -502,16 +506,6 @@ bool QEventDispatcherMac::processEvents(QEventLoop::ProcessEventsFlags flags)
wakeUp();
emit awake();
-#ifndef QT_MAC_NO_QUICKDRAW
- if(!qt_mac_safe_pdev) { //create an empty widget and this can be used for a port anytime
- QWidget *tlw = new QWidget;
- tlw->setAttribute(Qt::WA_DeleteOnClose);
- tlw->setObjectName(QLatin1String("empty_widget"));
- tlw->hide();
- qt_mac_safe_pdev = tlw;
- }
-#endif
-
bool retVal = false;
forever {
if (d->interrupt)
diff --git a/src/gui/kernel/qeventdispatcher_mac_p.h b/src/gui/kernel/qeventdispatcher_mac_p.h
index 1986c4c..88663c6 100644
--- a/src/gui/kernel/qeventdispatcher_mac_p.h
+++ b/src/gui/kernel/qeventdispatcher_mac_p.h
@@ -108,7 +108,7 @@ class QEventDispatcherMacPrivate;
class QEventDispatcherMac : public QAbstractEventDispatcher
{
Q_OBJECT
- Q_DECLARE_SCOPED_PRIVATE(QEventDispatcherMac)
+ Q_DECLARE_PRIVATE(QEventDispatcherMac)
public:
explicit QEventDispatcherMac(QObject *parent = 0);
diff --git a/src/gui/kernel/qeventdispatcher_qws_p.h b/src/gui/kernel/qeventdispatcher_qws_p.h
index 982ed58..b83fa10 100644
--- a/src/gui/kernel/qeventdispatcher_qws_p.h
+++ b/src/gui/kernel/qeventdispatcher_qws_p.h
@@ -62,7 +62,7 @@ class QEventDispatcherQWSPrivate;
class QEventDispatcherQWS : public QEventDispatcherUNIX
{
Q_OBJECT
- Q_DECLARE_SCOPED_PRIVATE(QEventDispatcherQWS)
+ Q_DECLARE_PRIVATE(QEventDispatcherQWS)
public:
explicit QEventDispatcherQWS(QObject *parent = 0);
diff --git a/src/gui/kernel/qeventdispatcher_s60.cpp b/src/gui/kernel/qeventdispatcher_s60.cpp
index 2fea8a4..3b8ee82 100644
--- a/src/gui/kernel/qeventdispatcher_s60.cpp
+++ b/src/gui/kernel/qeventdispatcher_s60.cpp
@@ -1,9 +1,9 @@
/****************************************************************************
**
-** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
-** This file is part of the $MODULE$ of the Qt Toolkit.
+** This file is part of the QtGui of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/src/gui/kernel/qeventdispatcher_s60_p.h b/src/gui/kernel/qeventdispatcher_s60_p.h
index e42af95..6a63875 100644
--- a/src/gui/kernel/qeventdispatcher_s60_p.h
+++ b/src/gui/kernel/qeventdispatcher_s60_p.h
@@ -1,9 +1,9 @@
/****************************************************************************
**
-** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
-** This file is part of the $MODULE$ of the Qt Toolkit.
+** This file is part of the QtGui of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/src/gui/kernel/qeventdispatcher_x11_p.h b/src/gui/kernel/qeventdispatcher_x11_p.h
index b4c553d..9a54c36 100644
--- a/src/gui/kernel/qeventdispatcher_x11_p.h
+++ b/src/gui/kernel/qeventdispatcher_x11_p.h
@@ -62,7 +62,7 @@ class QEventDispatcherX11Private;
class QEventDispatcherX11 : public QEventDispatcherUNIX
{
Q_OBJECT
- Q_DECLARE_SCOPED_PRIVATE(QEventDispatcherX11)
+ Q_DECLARE_PRIVATE(QEventDispatcherX11)
public:
explicit QEventDispatcherX11(QObject *parent = 0);
diff --git a/src/gui/kernel/qformlayout.cpp b/src/gui/kernel/qformlayout.cpp
index 0b7656f..de33f93 100644
--- a/src/gui/kernel/qformlayout.cpp
+++ b/src/gui/kernel/qformlayout.cpp
@@ -689,16 +689,12 @@ void QFormLayoutPrivate::setupVerticalLayoutData(int width)
// are split.
maxLabelWidth = 0;
if (!wrapAllRows) {
- int maxFieldMinWidth = 0; //the maximum minimum size of the field
for (int i = 0; i < rr; ++i) {
const QFormLayoutItem *label = m_matrix(i, 0);
const QFormLayoutItem *field = m_matrix(i, 1);
- if (label && field && label->sideBySide)
+ if (label && (label->sizeHint.width() + (field ? field->minSize.width() : 0) <= width))
maxLabelWidth = qMax(maxLabelWidth, label->sizeHint.width());
- if (field)
- maxFieldMinWidth = qMax(maxFieldMinWidth, field->minSize.width() + field->sbsHSpace);
}
- maxLabelWidth = qMin(maxLabelWidth, width - maxFieldMinWidth);
} else {
maxLabelWidth = width;
}
diff --git a/src/gui/kernel/qformlayout.h b/src/gui/kernel/qformlayout.h
index 0143711..b560e85 100644
--- a/src/gui/kernel/qformlayout.h
+++ b/src/gui/kernel/qformlayout.h
@@ -56,7 +56,7 @@ class Q_GUI_EXPORT QFormLayout : public QLayout
{
Q_OBJECT
Q_ENUMS(FormStyle FieldGrowthPolicy RowWrapPolicy ItemRole)
- Q_DECLARE_SCOPED_PRIVATE(QFormLayout)
+ Q_DECLARE_PRIVATE(QFormLayout)
Q_PROPERTY(FieldGrowthPolicy fieldGrowthPolicy READ fieldGrowthPolicy WRITE setFieldGrowthPolicy RESET resetFieldGrowthPolicy)
Q_PROPERTY(RowWrapPolicy rowWrapPolicy READ rowWrapPolicy WRITE setRowWrapPolicy RESET resetRowWrapPolicy)
Q_PROPERTY(Qt::Alignment labelAlignment READ labelAlignment WRITE setLabelAlignment RESET resetLabelAlignment)
diff --git a/src/gui/kernel/qgesture.cpp b/src/gui/kernel/qgesture.cpp
index d7b2d1b..32ac4f8 100644
--- a/src/gui/kernel/qgesture.cpp
+++ b/src/gui/kernel/qgesture.cpp
@@ -41,275 +41,211 @@
#include "qgesture.h"
#include <private/qgesture_p.h>
+#include "qgraphicsitem.h"
QT_BEGIN_NAMESPACE
-QString qt_getStandardGestureTypeName(Qt::GestureType type);
+
+class QEventFilterProxyGraphicsItem : public QGraphicsItem
+{
+public:
+ QEventFilterProxyGraphicsItem(QGesture *g)
+ : gesture(g)
+ {
+ }
+ bool sceneEventFilter(QGraphicsItem *, QEvent *event)
+ {
+ return gesture ? gesture->filterEvent(event) : false;
+ }
+ QRectF boundingRect() const { return QRectF(); }
+ void paint(QPainter*, const QStyleOptionGraphicsItem*, QWidget*) { }
+
+private:
+ QGesture *gesture;
+};
/*!
\class QGesture
\since 4.6
- \brief The QGesture class represents a gesture, containing all
- properties that describe a gesture.
-
- The widget receives a QGestureEvent with a list of QGesture
- objects that represent gestures that are occuring on it. The class
- has a list of properties that can be queried by the user to get
- some gesture-specific arguments (i.e. position of the tap in the
- DoubleTap gesture).
-
- When creating custom gesture recognizers, they might add new
- properties to the gesture object, or custom gesture developers
- might subclass the QGesture objects to provide some extended
- information. However, if the gesture developer wants to add a new
- property to the gesture object that describe coordinate (like a
- QPoint or QRect), it is required to subclass the QGesture and
- re-implement the \l{QGesture::}{translate()} function to make sure
- the coordinates are translated properly when the gesture event is
- propagated to parent widgets.
-
- \sa QGestureEvent, QGestureRecognizer
-*/
+ \brief The QGesture class is the base class for implementing custom
+ gestures.
-/*!
- Creates a new gesture object of type \a type in a \a state and
- marks it as a child of \a parent.
+ This class represents both an object that recognizes a gesture out of a set
+ of input events (a gesture recognizer), and a gesture object itself that
+ can be used to get extended information about the triggered gesture.
- Usually QGesture objects should only be contructed by the
- QGestureRecognizer classes.
-*/
-QGesture::QGesture(QObject *parent, const QString &type, Qt::GestureState state)
- : QObject(*new QGesturePrivate, parent), m_accept(0)
-{
- Q_D(QGesture);
- d->type = type;
- d->state = state;
-}
+ The class has a list of properties that can be queried by the user to get
+ some gesture-specific parameters (for example, an offset of a Pan gesture).
-/*!
- Creates a new gesture object of type \a type in a \a state and
- marks it as a child of \a parent.
-
- This constructor also fills some basic information about the
- gesture like a \a startPos which describes the start point of the
- gesture, \a lastPos - last point where the gesture happened, \a
- pos - a current point, \a rect - a bounding rect of the gesture,
- \a hotSpot - a center point of the gesture, \a startTime - a time
- when the gesture has started, \a duration - how long the gesture
- is going on.
-
- Usually QGesture objects should only be contructed by the
- QGestureRecognizer classes.
-*/
-QGesture::QGesture(QObject *parent, const QString &type, const QPoint &startPos,
- const QPoint &lastPos, const QPoint &pos, const QRect &rect,
- const QPoint &hotSpot, const QDateTime &startTime,
- uint duration, Qt::GestureState state)
- : QObject(*new QGesturePrivate, parent)
-{
- Q_D(QGesture);
- d->type = type;
- d->state = state;
- d->init(startPos, lastPos, pos, rect, hotSpot, startTime, duration);
-}
+ Usually gesture recognizer implements a state machine, storing its state
+ internally in the recognizer object. The recognizer receives input events
+ through the \l{QGesture::}{filterEvent()} virtual function and decides
+ whether the event should change the state of the recognizer by emitting an
+ appropriate signal.
-/*! \internal
-*/
-QGesture::QGesture(QGesturePrivate &dd, QObject *parent, const QString &type,
- Qt::GestureState state)
- : QObject(dd, parent)
-{
- Q_D(QGesture);
- d->type = type;
- d->state = state;
-}
+ Input events should be either fed to the recognizer one by one with a
+ filterEvent() function, or the gesture recognizer should be attached to an
+ object it filters events for by specifying it as a parent object. The
+ QGesture object installs itself as an event filter to the parent object
+ automatically, the unsetObject() function should be used to remove an event
+ filter from the parent object. To make a
+ gesture that operates on a QGraphicsItem, both the appropriate QGraphicsView
+ should be passed as a parent object and setGraphicsItem() functions should
+ be used to attach a gesture to a graphics item.
-/*!
- Destroys the gesture object.
+ This is a base class, to create a custom gesture type, you should subclass
+ it and implement its pure virtual functions.
+
+ \sa QPanGesture, QTapAndHoldGesture
*/
-QGesture::~QGesture()
-{
-}
-/*!
- \property QGesture::type
+/*! \fn bool QGesture::filterEvent(QEvent *event)
+
+ Parses input \a event and emits a signal when detects a gesture.
- \brief The type of the gesture.
+ In your reimplementation of this function, if you want to filter the \a
+ event out, i.e. stop it being handled further, return true; otherwise
+ return false;
+
+ This is a pure virtual function that needs to be implemented in subclasses.
*/
-QString QGesture::type() const
-{
- return d_func()->type;
-}
+/*! \fn void QGesture::started()
-/*!
- \property QGesture::state
+ The signal is emitted when the gesture is started. Extended information
+ about the gesture is contained in the signal sender object.
- \brief The current state of the gesture.
+ In addition to started(), a triggered() signal should also be emitted.
*/
-Qt::GestureState QGesture::state() const
-{
- return d_func()->state;
-}
-/*!
- Translates the internal gesture properties that represent
- coordinates by \a offset.
+/*! \fn void QGesture::triggered()
- Custom gesture recognizer developer have to re-implement this
- function if they want to store custom properties that represent
- coordinates.
+ The signal is emitted when the gesture is detected. Extended information
+ about the gesture is contained in the signal sender object.
*/
-void QGesture::translate(const QPoint &offset)
-{
- Q_D(QGesture);
- d->rect.translate(offset);
- d->hotSpot += offset;
- d->startPos += offset;
- d->lastPos += offset;
- d->pos += offset;
-}
-/*!
- \property QGesture::rect
+/*! \fn void QGesture::finished()
- \brief The bounding rect of a gesture.
+ The signal is emitted when the gesture is finished. Extended information
+ about the gesture is contained in the signal sender object.
*/
-QRect QGesture::rect() const
-{
- return d_func()->rect;
-}
-
-void QGesture::setRect(const QRect &rect)
-{
- d_func()->rect = rect;
-}
-/*!
- \property QGesture::hotSpot
+/*! \fn void QGesture::cancelled()
- \brief The center point of a gesture.
+ The signal is emitted when the gesture is cancelled, for example the reset()
+ function is called while the gesture was in the process of emitting a
+ triggered() signal. Extended information about the gesture is contained in
+ the sender object.
*/
-QPoint QGesture::hotSpot() const
-{
- return d_func()->hotSpot;
-}
-void QGesture::setHotSpot(const QPoint &point)
-{
- d_func()->hotSpot = point;
-}
/*!
- \property QGesture::startTime
+ Creates a new gesture handler object and marks it as a child of \a parent.
- \brief The time when the gesture has started.
+ The \a parent object is also the default event source for the gesture,
+ meaning that the gesture installs itself as an event filter for the \a
+ parent.
+
+ \sa setGraphicsItem()
*/
-QDateTime QGesture::startTime() const
+QGesture::QGesture(QObject *parent)
+ : QObject(*new QGesturePrivate, parent)
{
- return d_func()->startTime;
+ if (parent)
+ parent->installEventFilter(this);
}
-/*!
- \property QGesture::duration
-
- \brief The duration time of a gesture.
-*/
-uint QGesture::duration() const
+/*! \internal
+ */
+QGesture::QGesture(QGesturePrivate &dd, QObject *parent)
+ : QObject(dd, parent)
{
- return d_func()->duration;
+ if (parent)
+ parent->installEventFilter(this);
}
/*!
- \property QGesture::startPos
-
- \brief The start position of the pointer.
+ Destroys the gesture object.
*/
-QPoint QGesture::startPos() const
+QGesture::~QGesture()
{
- return d_func()->startPos;
}
-void QGesture::setStartPos(const QPoint &point)
+/*! \internal
+ */
+bool QGesture::eventFilter(QObject *receiver, QEvent *event)
{
- d_func()->startPos = point;
+ Q_D(QGesture);
+ if (d->graphicsItem && receiver == parent())
+ return false;
+ return filterEvent(event);
}
/*!
- \property QGesture::lastPos
+ \property QGesture::state
- \brief The last recorded position of the pointer.
+ \brief The current state of the gesture.
*/
-QPoint QGesture::lastPos() const
-{
- return d_func()->lastPos;
-}
-
-void QGesture::setLastPos(const QPoint &point)
-{
- d_func()->lastPos = point;
-}
/*!
- \property QGesture::pos
-
- \brief The current position of the pointer.
-*/
-QPoint QGesture::pos() const
+ Returns the gesture recognition state.
+ */
+Qt::GestureState QGesture::state() const
{
- return d_func()->pos;
+ return d_func()->state;
}
-void QGesture::setPos(const QPoint &point)
+/*!
+ Sets this gesture's recognition state to \a state.
+ */
+void QGesture::setState(Qt::GestureState state)
{
- d_func()->pos = point;
+ d_func()->state = state;
}
/*!
- \class QPanningGesture
- \since 4.6
-
- \brief The QPanningGesture class represents a Pan gesture,
- providing additional information related to panning.
+ Sets the \a graphicsItem the gesture is filtering events for.
- This class is provided for convenience, panning direction
- information is also contained in the QGesture object in it's
- properties.
-*/
+ The gesture will install an event filter to the \a graphicsItem and
+ redirect them to the filterEvent() function.
-/*! \internal
+ \sa graphicsItem()
*/
-QPanningGesture::QPanningGesture(QObject *parent)
- : QGesture(*new QPanningGesturePrivate, parent,
- qt_getStandardGestureTypeName(Qt::PanGesture))
-{
-}
-
-/*! \internal
-*/
-QPanningGesture::~QPanningGesture()
+void QGesture::setGraphicsItem(QGraphicsItem *graphicsItem)
{
+ Q_D(QGesture);
+ if (d->graphicsItem && d->eventFilterProxyGraphicsItem)
+ d->graphicsItem->removeSceneEventFilter(d->eventFilterProxyGraphicsItem);
+ d->graphicsItem = graphicsItem;
+ if (!d->eventFilterProxyGraphicsItem)
+ d->eventFilterProxyGraphicsItem = new QEventFilterProxyGraphicsItem(this);
+ if (graphicsItem)
+ graphicsItem->installSceneEventFilter(d->eventFilterProxyGraphicsItem);
}
/*!
- \property QPanningGesture::lastDirection
+ Returns the graphics item the gesture is filtering events for.
- \brief The last recorded direction of panning.
+ \sa setGraphicsItem()
*/
-Qt::DirectionType QPanningGesture::lastDirection() const
+QGraphicsItem* QGesture::graphicsItem() const
{
- return d_func()->lastDirection;
+ return d_func()->graphicsItem;
}
-/*!
- \property QPanningGesture::direction
+/*! \fn void QGesture::reset()
- \brief The current direction of panning.
+ Resets the internal state of the gesture. This function might be called by
+ the filterEvent() implementation in a derived class, or by the user to
+ cancel a gesture. The base class implementation emits the cancelled()
+ signal if the state() of the gesture wasn't empty.
*/
-Qt::DirectionType QPanningGesture::direction() const
+void QGesture::reset()
{
- return d_func()->direction;
+ if (state() != Qt::NoGesture)
+ emit cancelled();
+ setState(Qt::NoGesture);
}
QT_END_NAMESPACE
diff --git a/src/gui/kernel/qgesture.h b/src/gui/kernel/qgesture.h
index a7aba22..0735160 100644
--- a/src/gui/kernel/qgesture.h
+++ b/src/gui/kernel/qgesture.h
@@ -42,12 +42,12 @@
#ifndef QGESTURE_H
#define QGESTURE_H
-#include "qobject.h"
-#include "qlist.h"
-#include "qdatetime.h"
-#include "qpoint.h"
-#include "qrect.h"
-#include "qmetatype.h"
+#include <QtCore/qobject.h>
+#include <QtCore/qlist.h>
+#include <QtCore/qdatetime.h>
+#include <QtCore/qpoint.h>
+#include <QtCore/qrect.h>
+#include <QtCore/qmetatype.h>
QT_BEGIN_HEADER
@@ -55,98 +55,44 @@ QT_BEGIN_NAMESPACE
QT_MODULE(Gui)
+class QGraphicsItem;
class QGesturePrivate;
class Q_GUI_EXPORT QGesture : public QObject
{
Q_OBJECT
- Q_DECLARE_SCOPED_PRIVATE(QGesture)
+ Q_DECLARE_PRIVATE(QGesture)
- Q_PROPERTY(QString type READ type)
Q_PROPERTY(Qt::GestureState state READ state)
- Q_PROPERTY(QDateTime startTime READ startTime)
- Q_PROPERTY(uint duration READ duration)
-
- Q_PROPERTY(QRect rect READ rect WRITE setRect)
- Q_PROPERTY(QPoint hotSpot READ hotSpot WRITE setHotSpot)
- Q_PROPERTY(QPoint startPos READ startPos WRITE setStartPos)
- Q_PROPERTY(QPoint lastPos READ lastPos WRITE setLastPos)
- Q_PROPERTY(QPoint pos READ pos WRITE setPos)
-
public:
- QGesture(QObject *parent, const QString &type,
- Qt::GestureState state = Qt::GestureStarted);
- QGesture(QObject *parent,
- const QString &type, const QPoint &startPos,
- const QPoint &lastPos, const QPoint &pos, const QRect &rect,
- const QPoint &hotSpot, const QDateTime &startTime,
- uint duration, Qt::GestureState state);
- virtual ~QGesture();
-
- inline void setAccepted(bool accepted) { m_accept = accepted; }
- inline bool isAccepted() const { return m_accept; }
-
- inline void accept() { m_accept = true; }
- inline void ignore() { m_accept = false; }
-
- QString type() const;
- Qt::GestureState state() const;
+ explicit QGesture(QObject *parent = 0);
+ ~QGesture();
- QDateTime startTime() const;
- uint duration() const;
+ virtual bool filterEvent(QEvent *event) = 0;
- QRect rect() const;
- void setRect(const QRect &rect);
- QPoint hotSpot() const;
- void setHotSpot(const QPoint &point);
+ void setGraphicsItem(QGraphicsItem *);
+ QGraphicsItem *graphicsItem() const;
- QPoint startPos() const;
- void setStartPos(const QPoint &point);
- QPoint lastPos() const;
- void setLastPos(const QPoint &point);
- QPoint pos() const;
- void setPos(const QPoint &point);
+ virtual void reset();
-protected:
- QGesture(QGesturePrivate &dd, QObject *parent, const QString &type,
- Qt::GestureState state = Qt::GestureStarted);
- virtual void translate(const QPoint &offset);
-
-private:
- ushort m_accept : 1;
-
- friend class QGestureManager;
- friend class QApplication;
- friend class QGraphicsScene;
- friend class QGraphicsScenePrivate;
- friend class QGestureRecognizerPan;
- friend class QDoubleTapGestureRecognizer;
- friend class QTapAndHoldGestureRecognizer;
-};
+ Qt::GestureState state() const;
-class QPanningGesturePrivate;
-class Q_GUI_EXPORT QPanningGesture : public QGesture
-{
- Q_OBJECT
- Q_DECLARE_SCOPED_PRIVATE(QPanningGesture)
+protected:
+ QGesture(QGesturePrivate &dd, QObject *parent);
+ bool eventFilter(QObject*, QEvent*);
- Q_PROPERTY(Qt::DirectionType lastDirection READ lastDirection)
- Q_PROPERTY(Qt::DirectionType direction READ direction)
+ void setState(Qt::GestureState state);
-public:
- Qt::DirectionType lastDirection() const;
- Qt::DirectionType direction() const;
+Q_SIGNALS:
+ void started();
+ void triggered();
+ void finished();
+ void cancelled();
private:
- QPanningGesture(QObject *parent = 0);
- ~QPanningGesture();
-
- friend class QGestureRecognizerPan;
+ friend class QWidget;
};
-Q_DECLARE_METATYPE(Qt::DirectionType)
-Q_DECLARE_METATYPE(Qt::GestureState)
-
QT_END_NAMESPACE
QT_END_HEADER
diff --git a/src/gui/kernel/qgesture_p.h b/src/gui/kernel/qgesture_p.h
index caf851e..56eaee7 100644
--- a/src/gui/kernel/qgesture_p.h
+++ b/src/gui/kernel/qgesture_p.h
@@ -56,10 +56,12 @@
#include "qrect.h"
#include "qpoint.h"
#include "qdatetime.h"
+#include "qgesture.h"
#include "private/qobject_p.h"
QT_BEGIN_NAMESPACE
+class QObject;
class QGraphicsItem;
class QGesturePrivate : public QObjectPrivate
{
@@ -67,45 +69,15 @@ class QGesturePrivate : public QObjectPrivate
public:
QGesturePrivate()
- : state(Qt::NoGesture), graphicsItem(0), singleshot(0), duration(0) { }
-
- void init(const QPoint &startPos, const QPoint &lastPos,
- const QPoint &pos, const QRect &rect,
- const QPoint &hotSpot, const QDateTime &startTime,
- uint duration)
+ : graphicsItem(0), eventFilterProxyGraphicsItem(0), state(Qt::NoGesture)
{
- this->rect = rect;
- this->hotSpot = hotSpot;
- this->startTime = startTime;
- this->duration = duration;
- this->startPos = startPos;
- this->lastPos = lastPos;
- this->pos = pos;
}
- QString type;
- Qt::GestureState state;
- QPointer<QWidget> widget;
QGraphicsItem *graphicsItem;
- uint singleshot:1;
-
- QRect rect;
- QPoint hotSpot;
- QDateTime startTime;
- uint duration;
- QPoint startPos;
- QPoint lastPos;
- QPoint pos;
-};
+ QGraphicsItem *eventFilterProxyGraphicsItem;
-class QPanningGesturePrivate : public QGesturePrivate
-{
- Q_DECLARE_PUBLIC(QPanningGesture)
-
-public:
- Qt::DirectionType lastDirection;
- Qt::DirectionType direction;
+ Qt::GestureState state;
};
QT_END_NAMESPACE
diff --git a/src/gui/kernel/qgesturemanager.cpp b/src/gui/kernel/qgesturemanager.cpp
deleted file mode 100644
index 20abda9..0000000
--- a/src/gui/kernel/qgesturemanager.cpp
+++ /dev/null
@@ -1,644 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtGui module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qgesturemanager_p.h"
-#include "qgesture.h"
-#include "qgesture_p.h"
-#include "qevent.h"
-
-#include "qapplication.h"
-#include "qapplication_p.h"
-#include "qwidget.h"
-#include "qwidget_p.h"
-
-#include "qgesturestandardrecognizers_p.h"
-
-#include "qdebug.h"
-
-// #define GESTURE_DEBUG
-#ifndef GESTURE_DEBUG
-# define DEBUG if (0) qDebug
-#else
-# define DEBUG qDebug
-#endif
-
-QT_BEGIN_NAMESPACE
-
-bool qt_sendSpontaneousEvent(QObject *receiver, QEvent *event);
-
-static const unsigned int MaximumGestureRecognitionTimeout = 2000;
-
-QGestureManager::QGestureManager(QObject *parent)
- : QObject(parent), eventDeliveryDelayTimeout(300),
- delayedPressTimer(0), lastMousePressReceiver(0), lastMousePressEvent(QEvent::None, QPoint(), Qt::NoButton, 0, 0),
- lastGestureId(0), state(NotGesture)
-{
- qRegisterMetaType<Qt::DirectionType>();
- qRegisterMetaType<Qt::GestureState>();
-
- recognizers << new QDoubleTapGestureRecognizer(this);
- recognizers << new QTapAndHoldGestureRecognizer(this);
- recognizers << new QGestureRecognizerPan(this);
-
- foreach(QGestureRecognizer *r, recognizers)
- connect(r, SIGNAL(stateChanged(QGestureRecognizer::Result)),
- this, SLOT(recognizerStateChanged(QGestureRecognizer::Result)));
-}
-
-void QGestureManager::addRecognizer(QGestureRecognizer *recognizer)
-{
- recognizer->setParent(this);
- recognizers << recognizer;
-}
-
-void QGestureManager::removeRecognizer(QGestureRecognizer *recognizer)
-{
- recognizers.remove(recognizer);
-}
-
-bool QGestureManager::filterEvent(QWidget *receiver, QEvent *event)
-{
- QPoint currentPos;
- switch (event->type()) {
- case QEvent::MouseButtonPress:
- case QEvent::MouseButtonRelease:
- case QEvent::MouseButtonDblClick:
- case QEvent::MouseMove:
- currentPos = static_cast<QMouseEvent*>(event)->pos(); break;
- default: break;
- }
-
- const QMap<QString, int> &grabbedGestures = qApp->d_func()->grabbedGestures;
-
- bool ret = false;
- QSet<QGestureRecognizer*> startedGestures;
- QSet<QGestureRecognizer*> finishedGestures;
- QSet<QGestureRecognizer*> newMaybeGestures;
- QSet<QGestureRecognizer*> cancelledGestures;
- QSet<QGestureRecognizer*> notGestures;
- if (state == NotGesture || state == MaybeGesture) {
- DEBUG() << "QGestureManager: current event processing state: "
- << (state == NotGesture ? "NotGesture" : "MaybeGesture");
-
- QSet<QGestureRecognizer*> stillMaybeGestures;
- // try other recognizers.
- foreach(QGestureRecognizer *r, recognizers) {
- if (grabbedGestures.value(r->gestureType(), 0) <= 0)
- continue;
- QGestureRecognizer::Result result = r->filterEvent(event);
- if (result == QGestureRecognizer::GestureStarted) {
- DEBUG() << "QGestureManager: gesture started: " << r;
- startedGestures << r;
- } else if (result == QGestureRecognizer::GestureFinished) {
- DEBUG() << "QGestureManager: gesture finished: " << r;
- finishedGestures << r;
- } else if (result == QGestureRecognizer::MaybeGesture) {
- DEBUG() << "QGestureManager: maybe gesture: " << r;
- newMaybeGestures << r;
- } else if (result == QGestureRecognizer::NotGesture) {
- // if it was maybe gesture, but isn't a gesture anymore.
- DEBUG() << "QGestureManager: not gesture: " << r;
- notGestures << r;
- }
- }
- Q_ASSERT(activeGestures.isEmpty());
- activeGestures += startedGestures;
- for(QMap<QGestureRecognizer*, int>::iterator it = maybeGestures.begin();
- it != maybeGestures.end();) {
- QGestureRecognizer *r = it.key();
- if (startedGestures.contains(r) || finishedGestures.contains(r) ||
- notGestures.contains(r)) {
- killTimer(it.value());
- it = maybeGestures.erase(it);
- } else {
- ++it;
- }
- }
- foreach(QGestureRecognizer *r, newMaybeGestures) {
- if (!maybeGestures.contains(r)) {
- int timerId = startTimer(MaximumGestureRecognitionTimeout);
- if (!timerId)
- qWarning("QGestureManager: couldn't start timer!");
- maybeGestures.insert(r, timerId);
- }
- }
- if (!finishedGestures.isEmpty() || !startedGestures.isEmpty()) {
- // gesture found!
- ret = true;
- QSet<QGesture*> started;
- foreach(QGestureRecognizer *r, finishedGestures) {
- if (QGesture *gesture = r->getGesture()) {
- started << gesture;
- gesture->d_func()->singleshot = true;
- }
- }
- foreach(QGestureRecognizer *r, startedGestures) {
- if (QGesture *gesture = r->getGesture()) {
- started << gesture;
- gesture->d_func()->singleshot = false;
- }
- }
-
- if (!activeGestures.isEmpty()) {
- DEBUG() << "QGestureManager: new state = Gesture";
- state = Gesture;
- } else if (!maybeGestures.isEmpty()) {
- DEBUG() << "QGestureManager: new state = Maybe";
- state = MaybeGesture;
- } else {
- DEBUG() << "QGestureManager: new state = NotGesture";
- state = NotGesture;
- }
-
- Q_ASSERT(!started.isEmpty());
- ret = sendGestureEvent(receiver, started, QSet<QGesture*>());
- } else if (!maybeGestures.isEmpty()) {
- if (state != MaybeGesture) {
- // We got a new set of events that look like a start
- // of some gesture, so we switch to state MaybeGesture
- // and wait for more events.
- DEBUG() << "QGestureManager: new state = Maybe. Waiting for events";
- state = MaybeGesture;
- // start gesture timer
- } else {
- // we still not sure if it is a gesture or not.
- }
- } else if (state == MaybeGesture) {
- // last time we thought it looks like gesture, but now we
- // know for sure that it isn't.
- DEBUG() << "QGestureManager: new state = NotGesture";
- state = NotGesture;
- }
- foreach(QGestureRecognizer *r, finishedGestures)
- r->reset();
- foreach(QGestureRecognizer *r, cancelledGestures)
- r->reset();
- foreach(QGestureRecognizer *r, notGestures)
- r->reset();
- } else if (state == Gesture) {
- DEBUG() << "QGestureManager: current event processing state: Gesture";
- Q_ASSERT(!activeGestures.isEmpty());
-
- foreach(QGestureRecognizer *r, recognizers) {
- if (grabbedGestures.value(r->gestureType(), 0) <= 0)
- continue;
- QGestureRecognizer::Result result = r->filterEvent(event);
- if (result == QGestureRecognizer::GestureStarted) {
- DEBUG() << "QGestureManager: gesture started: " << r;
- startedGestures << r;
- } else if (result == QGestureRecognizer::GestureFinished) {
- DEBUG() << "QGestureManager: gesture finished: " << r;
- finishedGestures << r;
- } else if (result == QGestureRecognizer::MaybeGesture) {
- DEBUG() << "QGestureManager: maybe gesture: " << r;
- newMaybeGestures << r;
- } else if (result == QGestureRecognizer::NotGesture) {
- // if it was an active gesture, but isn't a gesture anymore.
- if (activeGestures.contains(r)) {
- DEBUG() << "QGestureManager: cancelled gesture: " << r;
- cancelledGestures << r;
- } else {
- DEBUG() << "QGestureManager: not gesture: " << r;
- notGestures << r;
- }
- }
- }
-
- for(QMap<QGestureRecognizer*, int>::iterator it = maybeGestures.begin();
- it != maybeGestures.end();) {
- QGestureRecognizer *r = it.key();
- if (startedGestures.contains(r) || finishedGestures.contains(r) ||
- notGestures.contains(r)) {
- killTimer(it.value());
- it = maybeGestures.erase(it);
- } else {
- ++it;
- }
- }
- foreach(QGestureRecognizer *r, newMaybeGestures) {
- if (!maybeGestures.contains(r)) {
- int timerId = startTimer(MaximumGestureRecognitionTimeout);
- if (!timerId)
- qWarning("QGestureManager: couldn't start timer!");
- maybeGestures.insert(r, timerId);
- }
- }
- QSet<QGesture*> started, updated;
- if (!finishedGestures.isEmpty() || !startedGestures.isEmpty()) {
- // another gesture found!
- ret = true;
- foreach(QGestureRecognizer *r, finishedGestures) {
- if (QGesture *gesture = r->getGesture()) {
- gesture->d_func()->singleshot = !activeGestures.contains(r);
- if (gesture->d_func()->singleshot)
- started << gesture;
- else
- updated << gesture;
- }
- }
- foreach(QGestureRecognizer *r, startedGestures) {
- if (QGesture *gesture = r->getGesture()) {
- gesture->d_func()->singleshot = !activeGestures.contains(r);
- if (gesture->d_func()->singleshot)
- started << gesture;
- else
- updated << gesture;
- }
- }
- }
- activeGestures -= newMaybeGestures;
- activeGestures -= cancelledGestures;
- activeGestures += startedGestures;
- activeGestures -= finishedGestures;
- QSet<QString> cancelledGestureNames;
- foreach(QGestureRecognizer *r, cancelledGestures)
- cancelledGestureNames << r->gestureType();
- ret = sendGestureEvent(receiver, started, updated, cancelledGestureNames);
-
- foreach(QGestureRecognizer *r, finishedGestures)
- r->reset();
- foreach(QGestureRecognizer *r, cancelledGestures)
- r->reset();
- foreach(QGestureRecognizer *r, notGestures)
- r->reset();
- if (!activeGestures.isEmpty()) {
- // nothing changed, we are still handling a gesture
- } else if (!maybeGestures.isEmpty()) {
- DEBUG() << "QGestureManager: new state = Maybe. Waiting for events: " << maybeGestures;
- state = MaybeGesture;
- } else {
- DEBUG() << "QGestureManager: new state = NotGesture";
- state = NotGesture;
- }
- }
-
- if (delayedPressTimer && state == Gesture) {
- DEBUG() << "QGestureManager: gesture started. Forgetting about postponed mouse press event";
- killTimer(delayedPressTimer);
- delayedPressTimer = 0;
- lastMousePressReceiver = 0;
- } else if (delayedPressTimer && (state == NotGesture ||
- event->type() == QEvent::MouseButtonRelease)) {
- // not a gesture or released button too fast, so replay press
- // event back.
- DEBUG() << "QGestureManager: replaying mouse press event";
- QMap<QGestureRecognizer*, int>::const_iterator it = maybeGestures.begin(),
- e = maybeGestures.end();;
- for (; it != e; ++it) {
- it.key()->reset();
- killTimer(it.value());
- }
- maybeGestures.clear();
- state = NotGesture;
-
- if (lastMousePressReceiver) {
- QApplication::sendEvent(lastMousePressReceiver, &lastMousePressEvent);
- if (event->type() == QEvent::MouseButtonRelease) {
- QMouseEvent *me = static_cast<QMouseEvent*>(event);
- QMouseEvent move(QEvent::MouseMove, me->pos(), me->globalPos(), me->button(),
- me->buttons(), me->modifiers());
- QApplication::sendEvent(lastMousePressReceiver, &move);
- ret = false;
- }
- lastMousePressReceiver = 0;
- }
- lastMousePressReceiver = 0;
- killTimer(delayedPressTimer);
- delayedPressTimer = 0;
- } else if (state == MaybeGesture && event->type() == QEvent::MouseButtonPress
- && eventDeliveryDelayTimeout) {
- // postpone the press event delivery until we know for
- // sure whether it is a gesture.
- DEBUG() << "QGestureManager: postponing mouse press event";
- QMouseEvent *me = static_cast<QMouseEvent*>(event);
- lastMousePressReceiver = receiver;
- lastMousePressEvent = QMouseEvent(QEvent::MouseButtonPress, me->pos(),
- me->globalPos(), me->button(),
- me->buttons(), me->modifiers());
- Q_ASSERT(delayedPressTimer == 0);
- delayedPressTimer = startTimer(eventDeliveryDelayTimeout);
- if (!delayedPressTimer)
- qWarning("QGestureManager: couldn't start delayed press timer!");
- ret = true;
- }
- if (delayedPressTimer && event->type() == QEvent::MouseMove) {
- // if we have postponed a mouse press event, postpone all
- // subsequent mouse move events as well.
- ret = true;
- }
-
- lastPos = currentPos;
- return ret;
-}
-
-void QGestureManager::timerEvent(QTimerEvent *event)
-{
- if (event->timerId() == delayedPressTimer) {
- DEBUG() << "QGestureManager: replaying mouse press event due to timeout";
- // sanity checks
- Q_ASSERT(state != Gesture);
-
- QMap<QGestureRecognizer*, int>::const_iterator it = maybeGestures.begin(),
- e = maybeGestures.end();;
- for (; it != e; ++it) {
- it.key()->reset();
- killTimer(it.value());
- }
- maybeGestures.clear();
- state = NotGesture;
-
- if (lastMousePressReceiver) {
- // we neither received a mouse release event nor gesture
- // started, so we replay stored mouse press event.
- QApplication::sendEvent(lastMousePressReceiver, &lastMousePressEvent);
- lastMousePressReceiver = 0;
- }
-
- lastMousePressReceiver = 0;
- killTimer(delayedPressTimer);
- delayedPressTimer = 0;
- } else {
- // sanity checks, remove later
- Q_ASSERT((state == Gesture && !activeGestures.isEmpty()) || (state != Gesture && activeGestures.isEmpty()));
-
- typedef QMap<QGestureRecognizer*, int> MaybeGestureMap;
- for (MaybeGestureMap::iterator it = maybeGestures.begin(), e = maybeGestures.end();
- it != e; ++it) {
- if (it.value() == event->timerId()) {
- DEBUG() << "QGestureManager: gesture timeout.";
- QGestureRecognizer *r = it.key();
- r->reset();
- maybeGestures.erase(it);
- killTimer(event->timerId());
- break;
- }
- }
-
- if (state == MaybeGesture && maybeGestures.isEmpty()) {
- DEBUG() << "QGestureManager: new state = NotGesture because of timeout";
- state = NotGesture;
- }
- }
-}
-
-bool QGestureManager::inGestureMode()
-{
- return state == Gesture;
-}
-
-void QGestureManager::recognizerStateChanged(QGestureRecognizer::Result result)
-{
- QGestureRecognizer *recognizer = qobject_cast<QGestureRecognizer*>(sender());
- if (!recognizer)
- return;
- if (qApp->d_func()->grabbedGestures.value(recognizer->gestureType(), 0) <= 0) {
- recognizer->reset();
- return;
- }
-
- switch (result) {
- case QGestureRecognizer::GestureStarted:
- case QGestureRecognizer::GestureFinished: {
- if (result == QGestureRecognizer::GestureStarted) {
- DEBUG() << "QGestureManager: gesture started: " << recognizer;
- activeGestures << recognizer;
- DEBUG() << "QGestureManager: new state = Gesture";
- state = Gesture;
- } else {
- DEBUG() << "QGestureManager: gesture finished: " << recognizer;
- }
- if (maybeGestures.contains(recognizer)) {
- killTimer(maybeGestures.value(recognizer));
- maybeGestures.remove(recognizer);
- }
- QSet<QGesture*> gestures;
- if (QGesture *gesture = recognizer->getGesture())
- gestures << gesture;
- if(!gestures.isEmpty()) {
- //FIXME: sendGestureEvent(targetWidget, gestures);
- }
- if (result == QGestureRecognizer::GestureFinished)
- recognizer->reset();
- }
- break;
- case QGestureRecognizer::MaybeGesture: {
- DEBUG() << "QGestureManager: maybe gesture: " << recognizer;
- if (activeGestures.contains(recognizer)) {
- //FIXME: sendGestureEvent(targetWidget, QSet<QGesture*>(), QSet<QString>() << recognizer->gestureType());
- }
- if (!maybeGestures.contains(recognizer)) {
- int timerId = startTimer(MaximumGestureRecognitionTimeout);
- if (!timerId)
- qWarning("QGestureManager: couldn't start timer!");
- maybeGestures.insert(recognizer, timerId);
- }
- }
- break;
- case QGestureRecognizer::NotGesture:
- DEBUG() << "QGestureManager: not gesture: " << recognizer;
- if (maybeGestures.contains(recognizer)) {
- killTimer(maybeGestures.value(recognizer));
- maybeGestures.remove(recognizer);
- }
- recognizer->reset();
- break;
- default:
- Q_ASSERT(false);
- }
-
- if (delayedPressTimer && state == Gesture) {
- killTimer(delayedPressTimer);
- delayedPressTimer = 0;
- }
-}
-
-bool QGestureManager::sendGestureEvent(QWidget *receiver,
- const QSet<QGesture*> &startedGestures,
- const QSet<QGesture*> &updatedGestures,
- const QSet<QString> &cancelled)
-{
- DEBUG() << "QGestureManager::sendGestureEvent: sending to" << receiver
- << "gestures:" << startedGestures << "," << updatedGestures
- << "cancelled:" << cancelled;
- // grouping gesture objects by receiver widgets.
- typedef QMap<QWidget*, QSet<QGesture*> > WidgetGesturesMap;
- WidgetGesturesMap widgetGestures;
- for(QSet<QGesture*>::const_iterator it = startedGestures.begin(), e = startedGestures.end();
- it != e; ++it) {
- QGesture *g = *it;
- QGesturePrivate *gd = g->d_func();
- if (receiver) {
- // find the target widget
- gd->widget = 0;
- gd->graphicsItem = 0;
- QWidget *w = receiver;
- QPoint offset;
- const QString gestureType = g->type();
- while (w) {
- if (w->d_func()->hasGesture(gestureType))
- break;
- if (w->isWindow()) {
- w = 0;
- break;
- }
- offset += w->pos();
- w = w->parentWidget();
- }
- if (w && w != gd->widget) {
- DEBUG() << "QGestureManager::sendGestureEvent:" << g << "propagating to widget" << w << "offset" << offset;
- g->translate(offset);
- }
- gd->widget = w;
- }
- if (!gd->widget) {
- DEBUG() << "QGestureManager: didn't find a widget to send gesture event ("
- << g->type() << ") for tree:" << receiver;
- // TODO: maybe we should reset gesture recognizers when nobody interested in its gestures.
- continue;
- }
- widgetGestures[gd->widget].insert(g);
- }
-
- QSet<QGesture*> ignoredGestures;
- bool ret = false;
- for(WidgetGesturesMap::const_iterator it = widgetGestures.begin(), e = widgetGestures.end();
- it != e; ++it) {
- QWidget *receiver = it.key();
- Q_ASSERT(receiver != 0 /*should be taken care above*/);
- QSet<QGesture*> gestures = it.value();
- // mark all gestures as ignored by default
- for(QSet<QGesture*>::iterator it = gestures.begin(), e = gestures.end(); it != e; ++it)
- (*it)->ignore();
- // TODO: send cancelled gesture event to the widget that received the original gesture!
- QGestureEvent event(gestures, cancelled);
- DEBUG() << "QGestureManager::sendGestureEvent: sending now to" << receiver
- << "gestures" << gestures;
- bool processed = qt_sendSpontaneousEvent(receiver, &event);
- QSet<QGesture*> started = startedGestures & gestures;
- DEBUG() << "QGestureManager::sendGestureEvent:" <<
- (event.isAccepted() ? "" : "not") << "all gestures were accepted";
- if (!started.isEmpty() && !(processed && event.isAccepted())) {
- // there are started gestures events that weren't
- // accepted, so propagating each gesture independently.
- if (event.isAccepted()) {
- foreach(QGesture *g, started)
- g->accept();
- }
- QSet<QGesture*>::const_iterator it = started.begin(),
- e = started.end();
- for(; it != e; ++it) {
- QGesture *g = *it;
- if (processed && g->isAccepted()) {
- ret = true;
- continue;
- }
- // if it wasn't accepted, find the first parent widget
- // that is subscribed to the gesture.
- QGesturePrivate *gd = g->d_func();
- QWidget *w = gd->widget;
- gd->widget = 0;
-
- if (w && !w->isWindow()) {
- g->translate(w->pos());
- w = w->parentWidget();
- QPoint offset;
- const QString gestureType = g->type();
- while (w) {
- if (w->d_func()->hasGesture(gestureType)) {
- DEBUG() << "QGestureManager::sendGestureEvent:" << receiver
- << "didn't accept gesture" << g << "propagating to" << w;
- ignoredGestures.insert(g);
- gd->widget = w;
- break;
- }
- if (w->isWindow()) {
- w = 0;
- break;
- }
- offset += w->pos();
- w = w->parentWidget();
- }
- if (w) {
- g->translate(offset);
- } else {
- DEBUG() << "QGestureManager::sendGestureEvent:" << receiver
- << "didn't accept gesture" << g << "and nobody wants it";
- }
- }
- }
- }
- }
- if (ignoredGestures.isEmpty())
- return ret;
- // try to send all gestures that were ignored to the next parent
- return sendGestureEvent(0, ignoredGestures, QSet<QGesture*>(), cancelled) || ret;
-}
-
-int QGestureManager::eventDeliveryDelay() const
-{
- return eventDeliveryDelayTimeout;
-}
-
-void QGestureManager::setEventDeliveryDelay(int ms)
-{
- eventDeliveryDelayTimeout = ms;
-}
-
-int QGestureManager::makeGestureId(const QString &name)
-{
- gestureIdMap[++lastGestureId] = name;
- return lastGestureId;
-}
-
-void QGestureManager::releaseGestureId(int gestureId)
-{
- gestureIdMap.remove(gestureId);
-}
-
-QString QGestureManager::gestureNameFromId(int gestureId) const
-{
- return gestureIdMap.value(gestureId);
-}
-
-QT_END_NAMESPACE
-
-#include "moc_qgesturemanager_p.cpp"
-
diff --git a/src/gui/kernel/qgesturemanager_p.h b/src/gui/kernel/qgesturemanager_p.h
deleted file mode 100644
index 8656590..0000000
--- a/src/gui/kernel/qgesturemanager_p.h
+++ /dev/null
@@ -1,126 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtGui module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QGESTUREMANAGER_P_H
-#define QGESTUREMANAGER_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists for the convenience
-// of other Qt classes. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include "qlist.h"
-#include "qset.h"
-#include "qevent.h"
-#include "qbasictimer.h"
-#include "qpointer.h"
-
-#include "qgesturerecognizer.h"
-
-QT_BEGIN_NAMESPACE
-
-class QWidget;
-class Q_AUTOTEST_EXPORT QGestureManager : public QObject
-{
- Q_OBJECT
-public:
- QGestureManager(QObject *parent);
-
- int eventDeliveryDelay() const;
- void setEventDeliveryDelay(int ms);
-
- void addRecognizer(QGestureRecognizer *recognizer);
- void removeRecognizer(QGestureRecognizer *recognizer);
-
- bool filterEvent(QWidget *receiver, QEvent *event);
- bool inGestureMode();
-
- int makeGestureId(const QString &name);
- void releaseGestureId(int gestureId);
- QString gestureNameFromId(int gestureId) const;
-
- // declared in qapplication.cpp
- static QGestureManager* instance();
-
- bool sendGestureEvent(QWidget *receiver,
- const QSet<QGesture*> &startedGestures,
- const QSet<QGesture*> &updatedGestures,
- const QSet<QString> &cancelled = QSet<QString>());
-
-protected:
- void timerEvent(QTimerEvent *event);
-
-private slots:
- void recognizerStateChanged(QGestureRecognizer::Result);
-
-private:
- QSet<QGestureRecognizer*> activeGestures;
- QMap<QGestureRecognizer*, int> maybeGestures;
- QSet<QGestureRecognizer*> recognizers;
-
- QPoint lastPos;
-
- int eventDeliveryDelayTimeout;
- int delayedPressTimer;
- QPointer<QWidget> lastMousePressReceiver;
- QMouseEvent lastMousePressEvent;
-
- QMap<int, QString> gestureIdMap;
- int lastGestureId;
-
- enum State {
- Gesture,
- NotGesture,
- MaybeGesture // that mean timers are up and waiting for some
- // more events, and input events are handled by
- // gesture recognizer explicitely
- } state;
-};
-
-QT_END_NAMESPACE
-
-#endif // QGESTUREMANAGER_P_H
diff --git a/src/gui/kernel/qgesturerecognizer.cpp b/src/gui/kernel/qgesturerecognizer.cpp
deleted file mode 100644
index c330663..0000000
--- a/src/gui/kernel/qgesturerecognizer.cpp
+++ /dev/null
@@ -1,159 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtGui module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qgesturerecognizer.h"
-#include "qgesture.h"
-
-#include <private/qobject_p.h>
-#include <private/qgesturerecognizer_p.h>
-
-QT_BEGIN_NAMESPACE
-
-QString qt_getStandardGestureTypeName(Qt::GestureType gestureType);
-
-/*!
- \class QGestureRecognizer
- \since 4.6
-
- \brief The QGestureRecognizer class is the base class for
- implementing custom gestures.
-
- This is a base class, to create a custom gesture type, you should
- subclass it and implement its pure virtual functions.
-
- Usually gesture recognizer implements state machine, storing its
- state internally in the recognizer object. The recognizer receives
- input events through the \l{QGestureRecognizer::}{filterEvent()}
- virtual function and decides whether the parsed event should
- change the state of the recognizer - i.e. if the event starts or
- ends a gesture or if it isn't related to gesture at all.
-*/
-
-/*!
- \enum QGestureRecognizer::Result
- \since 4.6
-
- This enum type defines the state of the gesture recognizer.
-
- \value Ignore Gesture recognizer ignores the event.
-
- \value NotGesture Not a gesture.
-
- \value GestureStarted The continuous gesture has started. When the
- recognizer is in this state, a \l{QGestureEvent}{gesture event}
- containing QGesture objects returned by the
- \l{QGestureRecognizer::}{getGesture()} will be sent to a widget.
-
- \value GestureFinished The gesture has ended. A
- \l{QGestureEvent}{gesture event} will be sent to a widget.
-
- \value MaybeGesture Gesture recognizer hasn't decided yet if a
- gesture has started, but it might start soon after the following
- events are received by the recognizer. This means that gesture
- manager shouldn't reset() the internal state of the gesture
- recognizer.
-*/
-
-/*! \fn QGestureRecognizer::Result QGestureRecognizer::filterEvent(const QEvent *event)
-
- This is a pure virtual function that needs to be implemented in
- subclasses.
-
- Parses input \a event and returns the result, which specifies if
- the event sequence is a gesture or not.
-*/
-
-/*! \fn QGesture* QGestureRecognizer::getGesture()
-
- Returns a gesture object that will be send to the widget. This
- function is called when the gesture recognizer changed its state
- to QGestureRecognizer::GestureStarted or
- QGestureRecognizer::GestureFinished.
-
- The returned QGesture object must point to the same object in a
- single gesture sequence.
-
- The gesture object is owned by the recognizer itself.
-*/
-
-/*! \fn void QGestureRecognizer::reset()
-
- Resets the internal state of the gesture recognizer.
-*/
-
-/*! \fn void QGestureRecognizer::stateChanged(QGestureRecognizer::Result result)
-
- The gesture recognizer might emit the stateChanged() signal when
- the gesture state changes asynchronously, i.e. without any event
- being filtered through filterEvent().
-*/
-
-QGestureRecognizerPrivate::QGestureRecognizerPrivate()
- : gestureType(Qt::UnknownGesture)
-{
-}
-
-/*!
- Creates a new gesture recognizer object that handles gestures of
- the specific \a gestureType as a child of \a parent.
-
- \sa QApplication::addGestureRecognizer(),
- QApplication::removeGestureRecognizer(),
-*/
-QGestureRecognizer::QGestureRecognizer(const QString &gestureType, QObject *parent)
- : QObject(*new QGestureRecognizerPrivate, parent)
-{
- Q_D(QGestureRecognizer);
- d->customGestureType = gestureType;
-}
-
-/*!
- Returns the name of the gesture that is handled by the recognizer.
-*/
-QString QGestureRecognizer::gestureType() const
-{
- Q_D(const QGestureRecognizer);
- if (d->gestureType == Qt::UnknownGesture)
- return d->customGestureType;
- return qt_getStandardGestureTypeName(d->gestureType);
-}
-
-QT_END_NAMESPACE
diff --git a/src/gui/kernel/qgesturerecognizer.h b/src/gui/kernel/qgesturerecognizer.h
deleted file mode 100644
index 65c4ca0..0000000
--- a/src/gui/kernel/qgesturerecognizer.h
+++ /dev/null
@@ -1,87 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtGui module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QGESTURERECOGNIZER_H
-#define QGESTURERECOGNIZER_H
-
-#include "qevent.h"
-#include "qlist.h"
-#include "qset.h"
-
-QT_BEGIN_NAMESPACE
-
-class QGesture;
-class QGestureRecognizerPrivate;
-class Q_GUI_EXPORT QGestureRecognizer : public QObject
-{
- Q_OBJECT
- Q_DECLARE_SCOPED_PRIVATE(QGestureRecognizer)
-
-public:
- enum Result
- {
- Ignore,
- NotGesture,
- GestureStarted, //TODO: rename to just Gesture?
- GestureFinished,
- MaybeGesture
- };
-
- explicit QGestureRecognizer(const QString &gestureType, QObject *parent = 0);
-
- QString gestureType() const;
-
- virtual QGestureRecognizer::Result filterEvent(const QEvent* event) = 0;
- virtual QGesture* getGesture() = 0;
- virtual void reset() = 0;
-
-signals:
- void stateChanged(QGestureRecognizer::Result result);
-
-private:
- friend class QDoubleTapGestureRecognizer;
- friend class QTapAndHoldGestureRecognizer;
- friend class QGestureRecognizerPan;
-};
-
-QT_END_NAMESPACE
-
-#endif // QGESTURERECOGNIZER_P_H
diff --git a/src/gui/kernel/qgesturerecognizer_p.h b/src/gui/kernel/qgesturerecognizer_p.h
deleted file mode 100644
index e250201..0000000
--- a/src/gui/kernel/qgesturerecognizer_p.h
+++ /dev/null
@@ -1,72 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtGui module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QGESTURERECOGNIZER_P_H
-#define QGESTURERECOGNIZER_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists for the convenience
-// of other Qt classes. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <private/qobject_p.h>
-
-QT_BEGIN_NAMESPACE
-
-class QGestureRecognizerPrivate : public QObjectPrivate
-{
-public:
- QGestureRecognizerPrivate();
-
-public:
- Qt::GestureType gestureType;
- QString customGestureType;
-};
-
-QT_END_NAMESPACE
-
-#endif // QGESTURERECOGNIZER_P_H
diff --git a/src/gui/kernel/qgesturestandardrecognizers.cpp b/src/gui/kernel/qgesturestandardrecognizers.cpp
deleted file mode 100644
index b108994..0000000
--- a/src/gui/kernel/qgesturestandardrecognizers.cpp
+++ /dev/null
@@ -1,306 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtGui module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qgesturestandardrecognizers_p.h"
-#include "qgesture_p.h"
-#include "qgesturerecognizer_p.h"
-
-// #define GESTURE_RECOGNIZER_DEBUG
-#ifndef GESTURE_RECOGNIZER_DEBUG
-# define DEBUG if (0) qDebug
-#else
-# define DEBUG qDebug
-#endif
-
-QT_BEGIN_NAMESPACE
-
-QString qt_getStandardGestureTypeName(Qt::GestureType gestureType)
-{
- switch (gestureType) {
- case Qt::TapGesture:
- return QLatin1String("__QTapGesture");
- case Qt::DoubleTapGesture:
- return QLatin1String("__QDoubleTapGesture");
- case Qt::TrippleTapGesture:
- return QLatin1String("__QTrippleTapGesture");
- case Qt::TapAndHoldGesture:
- return QLatin1String("__QTapAndHoldGesture");
- case Qt::PanGesture:
- return QLatin1String("__QPanGesture");
- case Qt::PinchGesture:
- return QLatin1String("__QPinchGesture");
- case Qt::UnknownGesture:
- break;
- }
- qFatal("QGestureRecognizer::gestureType: got an unhandled gesture type.");
- return QLatin1String("__unknown_gesture");
-}
-
-//
-// QGestureRecognizerPan
-//
-
-QGestureRecognizerPan::QGestureRecognizerPan(QObject *parent)
- : QGestureRecognizer(QString(), parent),
- mousePressed(false), gestureState(Qt::NoGesture),
- lastDirection(Qt::NoDirection), currentDirection(Qt::NoDirection)
-{
- Q_D(QGestureRecognizer);
- d->gestureType = Qt::PanGesture;
-}
-
-QGestureRecognizer::Result QGestureRecognizerPan::filterEvent(const QEvent *event)
-{
- if (event->type() == QEvent::MouseButtonPress) {
- const QMouseEvent *ev = static_cast<const QMouseEvent*>(event);
- if (currentDirection != Qt::NoDirection) {
- DEBUG() << "Pan: MouseButtonPress: fail. another press during pan";
- reset();
- return QGestureRecognizer::NotGesture;
- }
- if (ev->button() != Qt::LeftButton) {
- return QGestureRecognizer::NotGesture;
- }
- DEBUG() << "Pan: MouseButtonPress: maybe gesture started";
- mousePressed = true;
- pressedPos = lastPos = currentPos = ev->pos();
- return QGestureRecognizer::MaybeGesture;
- } else if (event->type() == QEvent::MouseButtonRelease) {
- const QMouseEvent *ev = static_cast<const QMouseEvent*>(event);
- if (mousePressed && currentDirection != Qt::NoDirection
- && ev->button() == Qt::LeftButton) {
- DEBUG() << "Pan: MouseButtonRelease: pan detected";
- gestureState = Qt::GestureFinished;
- currentPos = ev->pos();
- internalReset();
- return QGestureRecognizer::GestureFinished;
- }
- DEBUG() << "Pan: MouseButtonRelease: some weird release detected, ignoring";
- reset();
- return QGestureRecognizer::NotGesture;
- } else if (event->type() == QEvent::MouseMove) {
- if (!mousePressed)
- return QGestureRecognizer::NotGesture;
- const QMouseEvent *ev = static_cast<const QMouseEvent*>(event);
- lastPos = currentPos;
- currentPos = ev->pos();
- Qt::DirectionType newDirection =
- simpleRecognizer.addPosition(ev->pos()).direction;
- DEBUG() << "Pan: MouseMove: simplerecognizer result = " << newDirection;
- QGestureRecognizer::Result result = QGestureRecognizer::NotGesture;
- if (currentDirection == Qt::NoDirection) {
- if (newDirection == Qt::NoDirection) {
- result = QGestureRecognizer::MaybeGesture;
- } else {
- result = QGestureRecognizer::GestureStarted;
- gestureState = Qt::GestureStarted;
- }
- } else {
- result = QGestureRecognizer::GestureStarted;
- gestureState = Qt::GestureUpdated;
- }
- if (newDirection != Qt::NoDirection) {
- if (currentDirection != newDirection)
- lastDirection = currentDirection;
- currentDirection = newDirection;
- }
- return result;
- }
- return QGestureRecognizer::Ignore;
-}
-
-QGesture* QGestureRecognizerPan::getGesture()
-{
- if (currentDirection == Qt::NoDirection)
- return 0;
- QPanningGesturePrivate *d = gesture.d_func();
- d->startPos = pressedPos;
- d->lastPos = lastPos;
- d->pos = currentPos;
- d->hotSpot = pressedPos;
- d->state = gestureState;
- d->lastDirection = lastDirection;
- d->direction = currentDirection;
-
- return &gesture;
-}
-
-void QGestureRecognizerPan::reset()
-{
- mousePressed = false;
- lastDirection = Qt::NoDirection;
- currentDirection = Qt::NoDirection;
- gestureState = Qt::NoGesture;
- diagonalRecognizer.reset();
- simpleRecognizer.reset();
-}
-
-void QGestureRecognizerPan::internalReset()
-{
- mousePressed = false;
- diagonalRecognizer.reset();
- simpleRecognizer.reset();
-}
-
-
-//
-// QDoubleTapGestureRecognizer
-//
-QDoubleTapGestureRecognizer::QDoubleTapGestureRecognizer(QObject *parent)
- : QGestureRecognizer(QString(), parent),
- gesture(0, qt_getStandardGestureTypeName(Qt::DoubleTapGesture))
-{
- Q_D(QGestureRecognizer);
- d->gestureType = Qt::DoubleTapGesture;
-}
-
-QGestureRecognizer::Result QDoubleTapGestureRecognizer::filterEvent(const QEvent *event)
-{
- if (event->type() == QEvent::MouseButtonPress) {
- const QMouseEvent *ev = static_cast<const QMouseEvent*>(event);
- if (pressedPosition.isNull()) {
- pressedPosition = ev->pos();
- return QGestureRecognizer::MaybeGesture;
- } else if ((pressedPosition - ev->pos()).manhattanLength() < 10) {
- return QGestureRecognizer::GestureFinished;
- }
- return QGestureRecognizer::NotGesture;
- } else if (event->type() == QEvent::MouseButtonRelease) {
- const QMouseEvent *ev = static_cast<const QMouseEvent*>(event);
- if (!pressedPosition.isNull() && (pressedPosition - ev->pos()).manhattanLength() < 10)
- return QGestureRecognizer::MaybeGesture;
- return QGestureRecognizer::NotGesture;
- } else if (event->type() == QEvent::MouseButtonDblClick) {
- const QMouseEvent *ev = static_cast<const QMouseEvent*>(event);
- pressedPosition = ev->pos();
- return QGestureRecognizer::GestureFinished;
- }
- return QGestureRecognizer::NotGesture;
-}
-
-QGesture* QDoubleTapGestureRecognizer::getGesture()
-{
- QGesturePrivate *d = gesture.d_func();
- d->startPos = pressedPosition;
- d->lastPos = pressedPosition;
- d->pos = pressedPosition;
- d->hotSpot = pressedPosition;
- d->state = Qt::GestureFinished;
- return &gesture;
-}
-
-void QDoubleTapGestureRecognizer::reset()
-{
- pressedPosition = QPoint();
-}
-
-//
-// QTapAndHoldGestureRecognizer
-//
-const int QTapAndHoldGestureRecognizer::iterationCount = 40;
-const int QTapAndHoldGestureRecognizer::iterationTimeout = 50;
-
-QTapAndHoldGestureRecognizer::QTapAndHoldGestureRecognizer(QObject *parent)
- : QGestureRecognizer(QString(), parent),
- gesture(0, qt_getStandardGestureTypeName(Qt::TapAndHoldGesture)),
- iteration(0)
-{
- Q_D(QGestureRecognizer);
- d->gestureType = Qt::TapAndHoldGesture;
-}
-
-QGestureRecognizer::Result QTapAndHoldGestureRecognizer::filterEvent(const QEvent *event)
-{
- if (event->type() == QEvent::MouseButtonPress) {
- const QMouseEvent *ev = static_cast<const QMouseEvent*>(event);
- if (timer.isActive())
- timer.stop();
- timer.start(QTapAndHoldGestureRecognizer::iterationTimeout, this);
- pressedPosition = ev->pos();
- return QGestureRecognizer::MaybeGesture;
- } else if (event->type() == QEvent::MouseMove) {
- const QMouseEvent *ev = static_cast<const QMouseEvent*>(event);
- if ((pressedPosition - ev->pos()).manhattanLength() < 15)
- return QGestureRecognizer::GestureStarted;
- else
- return QGestureRecognizer::NotGesture;
- } else if (event->type() == QEvent::MouseButtonRelease) {
- timer.stop();
- return QGestureRecognizer::NotGesture;
- }
- return QGestureRecognizer::Ignore;
-}
-
-void QTapAndHoldGestureRecognizer::timerEvent(QTimerEvent *event)
-{
- if (event->timerId() != timer.timerId())
- return;
- if (iteration == QTapAndHoldGestureRecognizer::iterationCount) {
- timer.stop();
- emit stateChanged(QGestureRecognizer::GestureFinished);
- } else {
- emit stateChanged(QGestureRecognizer::GestureStarted);
- }
- ++iteration;
-}
-
-QGesture* QTapAndHoldGestureRecognizer::getGesture()
-{
- QGesturePrivate *d = gesture.d_func();
- d->startPos = pressedPosition;
- d->lastPos = pressedPosition;
- d->pos = pressedPosition;
- d->hotSpot = pressedPosition;
- if (iteration >= QTapAndHoldGestureRecognizer::iterationCount)
- d->state = Qt::GestureFinished;
- else
- d->state = iteration == 0 ? Qt::GestureStarted : Qt::GestureUpdated;
- return &gesture;
-}
-
-void QTapAndHoldGestureRecognizer::reset()
-{
- pressedPosition = QPoint();
- timer.stop();
- iteration = 0;
-}
-
-QT_END_NAMESPACE
diff --git a/src/gui/kernel/qgesturestandardrecognizers_p.h b/src/gui/kernel/qgesturestandardrecognizers_p.h
deleted file mode 100644
index 8abc1fb..0000000
--- a/src/gui/kernel/qgesturestandardrecognizers_p.h
+++ /dev/null
@@ -1,131 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtGui module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QGESTURESTANDARDRECOGNIZERS_P_H
-#define QGESTURESTANDARDRECOGNIZERS_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists for the convenience
-// of other Qt classes. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include "qevent.h"
-#include "qbasictimer.h"
-#include "qdebug.h"
-
-#include "qgesture.h"
-#include "qgesturerecognizer.h"
-#include "private/qdirectionrecognizer_p.h"
-
-QT_BEGIN_NAMESPACE
-
-class QGestureRecognizerPan : public QGestureRecognizer
-{
- Q_OBJECT
-public:
- QGestureRecognizerPan(QObject *parent);
-
- QGestureRecognizer::Result filterEvent(const QEvent *event);
- QGesture* getGesture();
- void reset();
-
-private:
- void internalReset();
-
- QPanningGesture gesture;
-
- QPoint pressedPos;
- QPoint lastPos;
- QPoint currentPos;
- bool mousePressed;
- Qt::GestureState gestureState;
- Qt::DirectionType lastDirection;
- Qt::DirectionType currentDirection;
- QDirectionDiagonalRecognizer diagonalRecognizer;
- QDirectionSimpleRecognizer simpleRecognizer;
-};
-
-class QDoubleTapGestureRecognizer : public QGestureRecognizer
-{
- Q_OBJECT
-public:
- QDoubleTapGestureRecognizer(QObject *parent);
-
- QGestureRecognizer::Result filterEvent(const QEvent *event);
- QGesture* getGesture();
- void reset();
-
-private:
- QGesture gesture;
- QPoint pressedPosition;
-};
-
-class QTapAndHoldGestureRecognizer : public QGestureRecognizer
-{
- Q_OBJECT
-public:
- QTapAndHoldGestureRecognizer(QObject *parent);
-
- QGestureRecognizer::Result filterEvent(const QEvent *event);
- QGesture* getGesture();
- void reset();
-
-protected:
- void timerEvent(QTimerEvent *event);
-
-private:
- QGesture gesture;
- QPoint pressedPosition;
- QBasicTimer timer;
- int iteration;
- static const int iterationCount;
- static const int iterationTimeout;
-};
-
-QT_END_NAMESPACE
-
-#endif // QGESTURESTANDARDRECOGNIZERS_P_H
diff --git a/src/gui/kernel/qgridlayout.cpp b/src/gui/kernel/qgridlayout.cpp
index 8dbc3cb..558f570 100644
--- a/src/gui/kernel/qgridlayout.cpp
+++ b/src/gui/kernel/qgridlayout.cpp
@@ -1034,18 +1034,19 @@ QRect QGridLayoutPrivate::cellRect(int row, int col) const
other layouts into the cells of your grid layout using
addWidget(), addItem(), and addLayout().
- QGridLayout also includes two margin widths: the margin() and the
- spacing(). The margin is the width of the reserved space along
- each of the QGridLayout's four sides. The spacing is the width of
- the automatically allocated spacing between neighboring boxes.
-
- The default margin() and spacing() values are provided by the
- style. The default margin Qt styles specify is 9 for child
- widgets and 11 for windows. The spacing defaults to the same as
+ QGridLayout also includes two margin widths:
+ the \l{getContentsMargins()}{contents margin} and the spacing().
+ The contents margin is the width of the reserved space along each
+ of the QGridLayout's four sides. The spacing() is the width of the
+ automatically allocated spacing between neighboring boxes.
+
+ The default contents margin values are provided by the
+ \l{QStyle::pixelMetric()}{style}. The default value Qt styles specify
+ is 9 for child widgets and 11 for windows. The spacing defaults to the same as
the margin width for a top-level layout, or to the same as the
parent layout.
- \sa QBoxLayout, QStackedLayout, {Layout Classes}, {Basic Layouts Example}
+ \sa QBoxLayout, QStackedLayout, {Layout Management}, {Basic Layouts Example}
*/
@@ -1078,7 +1079,7 @@ QGridLayout::QGridLayout()
#ifdef QT3_SUPPORT
/*!
- \obsolete
+ \obsolete
Constructs a new QGridLayout with \a nRows rows, \a nCols columns
and parent widget, \a parent. \a parent may not be 0. The grid
layout is called \a name.
diff --git a/src/gui/kernel/qgridlayout.h b/src/gui/kernel/qgridlayout.h
index 2b5299e..89a04a4 100644
--- a/src/gui/kernel/qgridlayout.h
+++ b/src/gui/kernel/qgridlayout.h
@@ -60,7 +60,7 @@ class QGridLayoutPrivate;
class Q_GUI_EXPORT QGridLayout : public QLayout
{
Q_OBJECT
- Q_DECLARE_SCOPED_PRIVATE(QGridLayout)
+ Q_DECLARE_PRIVATE(QGridLayout)
QDOC_PROPERTY(int horizontalSpacing READ horizontalSpacing WRITE setHorizontalSpacing)
QDOC_PROPERTY(int verticalSpacing READ verticalSpacing WRITE setVerticalSpacing)
diff --git a/src/gui/kernel/qguieventdispatcher_glib_p.h b/src/gui/kernel/qguieventdispatcher_glib_p.h
index 8543836..65d233e 100644
--- a/src/gui/kernel/qguieventdispatcher_glib_p.h
+++ b/src/gui/kernel/qguieventdispatcher_glib_p.h
@@ -62,7 +62,7 @@ class QGuiEventDispatcherGlibPrivate;
class QGuiEventDispatcherGlib : public QEventDispatcherGlib
{
Q_OBJECT
- Q_DECLARE_SCOPED_PRIVATE(QGuiEventDispatcherGlib)
+ Q_DECLARE_PRIVATE(QGuiEventDispatcherGlib)
public:
explicit QGuiEventDispatcherGlib(QObject *parent = 0);
diff --git a/src/gui/kernel/qguifunctions_wince.cpp b/src/gui/kernel/qguifunctions_wince.cpp
index c986117..011c726 100644
--- a/src/gui/kernel/qguifunctions_wince.cpp
+++ b/src/gui/kernel/qguifunctions_wince.cpp
@@ -215,13 +215,7 @@ int qt_wince_GetDIBits(HDC /*hdc*/ , HBITMAP hSourceBitmap, uint, uint, LPVOID l
return ret;
}
-bool qt_wince_TextOutW(HDC hdc, int x, int y, LPWSTR lpString, UINT c)
-{
- return ExtTextOutW(hdc, x, y, 0, NULL, lpString, c, NULL);
-}
-
-
-HINSTANCE qt_wince_ShellExecute(HWND hwnd, LPCTSTR, LPCTSTR file, LPCTSTR params, LPCTSTR dir, int showCmd)
+HINSTANCE qt_wince_ShellExecute(HWND hwnd, LPCWSTR, LPCWSTR file, LPCWSTR params, LPCWSTR dir, int showCmd)
{
SHELLEXECUTEINFO info;
info.hwnd = hwnd;
@@ -253,17 +247,11 @@ COLORREF qt_wince_PALETTEINDEX( WORD /*wPaletteIndex*/)
return 0;
}
-BOOL qt_wince_TextOut( HDC hdc, int nXStart, int nYStart, LPCTSTR lpString, int cbString )
-{
- return ExtTextOut( hdc, nXStart, nYStart - 16, 0, NULL, lpString, cbString, NULL );
-}
-
// Internal Qt -----------------------------------------------------
bool qt_wince_is_platform(const QString &platformString) {
- TCHAR tszPlatform[64];
- if (SystemParametersInfo(SPI_GETPLATFORMTYPE,
- sizeof(tszPlatform)/sizeof(*tszPlatform),tszPlatform,0))
- if (0 == _tcsicmp(reinterpret_cast<const wchar_t *> (platformString.utf16()), tszPlatform))
+ wchar_t tszPlatform[64];
+ if (SystemParametersInfo(SPI_GETPLATFORMTYPE, sizeof(tszPlatform) / sizeof(wchar_t), tszPlatform, 0))
+ if (0 == _tcsicmp(reinterpret_cast<const wchar_t *> (platformString.utf16()), tszPlatform))
return true;
return false;
}
@@ -316,8 +304,8 @@ void qt_wince_maximize(QWidget *widget)
void qt_wince_minimize(HWND hwnd) {
- uint exstyle = GetWindowLongW(hwnd, GWL_EXSTYLE);
- uint style = GetWindowLongW(hwnd, GWL_STYLE);
+ uint exstyle = GetWindowLong(hwnd, GWL_EXSTYLE);
+ uint style = GetWindowLong(hwnd, GWL_STYLE);
RECT rect;
RECT crect = {0,0,0,0};
GetWindowRect(hwnd, &rect);
diff --git a/src/gui/kernel/qguifunctions_wince.h b/src/gui/kernel/qguifunctions_wince.h
index bcf2004..234c8c6 100644
--- a/src/gui/kernel/qguifunctions_wince.h
+++ b/src/gui/kernel/qguifunctions_wince.h
@@ -73,10 +73,6 @@ int qt_wince_GetDIBits(HDC, HBITMAP, uint, uint, void*, LPBITMAPINFO, uint);
// QWidget
#define SW_SHOWMINIMIZED SW_MINIMIZE
-// QPaintEngine
-bool qt_wince_TextOutW(HDC, int, int, LPWSTR, UINT);
-#define TextOutW(a,b,c,d,e) qt_wince_TextOutW(a,b,c,d,e)
-
// QRegion
#define ALTERNATE 0
#define WINDING 1
@@ -128,7 +124,7 @@ typedef struct tagTTPOLYCURVE
#define TT_PRIM_CSPLINE 3
#define ANSI_VAR_FONT 12
-HINSTANCE qt_wince_ShellExecute(HWND hwnd, LPCTSTR operation, LPCTSTR file, LPCTSTR params, LPCTSTR dir, int showCmd);
+HINSTANCE qt_wince_ShellExecute(HWND hwnd, LPCWSTR operation, LPCWSTR file, LPCWSTR params, LPCWSTR dir, int showCmd);
#define ShellExecute(a,b,c,d,e,f) qt_wince_ShellExecute(a,b,c,d,e,f)
@@ -150,8 +146,6 @@ HWND qt_wince_SetClipboardViewer(
// Graphics ---------------------------------------------------------
COLORREF qt_wince_PALETTEINDEX( WORD wPaletteIndex );
#define PALETTEINDEX(a) qt_wince_PALETTEINDEX(a)
-BOOL qt_wince_TextOut( HDC hdc, int nXStart, int nYStart, LPCTSTR lpString, int cbString );
-#define TextOut(a,b,c,d,e) qt_wince_TextOut(a,b,c,d,e)
#endif // Q_OS_WINCE
#endif // QGUIFUNCTIONS_WCE_H
diff --git a/src/gui/kernel/qguivariant.cpp b/src/gui/kernel/qguivariant.cpp
index 01df47d..ab69cdf 100644
--- a/src/gui/kernel/qguivariant.cpp
+++ b/src/gui/kernel/qguivariant.cpp
@@ -60,6 +60,11 @@
#include "qregion.h"
#include "qsizepolicy.h"
#include "qtextformat.h"
+#include "qmatrix4x4.h"
+#include "qvector2d.h"
+#include "qvector3d.h"
+#include "qvector4d.h"
+#include "qquaternion.h"
#include "private/qvariant_p.h"
@@ -148,6 +153,31 @@ static void construct(QVariant::Private *x, const void *copy)
v_construct<QColor>(x, &color);
break;
}
+#ifndef QT_NO_MATRIX4X4
+ case QVariant::Matrix4x4:
+ v_construct<QMatrix4x4>(x, copy);
+ break;
+#endif
+#ifndef QT_NO_VECTOR2D
+ case QVariant::Vector2D:
+ v_construct<QVector2D>(x, copy);
+ break;
+#endif
+#ifndef QT_NO_VECTOR3D
+ case QVariant::Vector3D:
+ v_construct<QVector3D>(x, copy);
+ break;
+#endif
+#ifndef QT_NO_VECTOR4D
+ case QVariant::Vector4D:
+ v_construct<QVector4D>(x, copy);
+ break;
+#endif
+#ifndef QT_NO_QUATERNION
+ case QVariant::Quaternion:
+ v_construct<QQuaternion>(x, copy);
+ break;
+#endif
default:
qcoreVariantHandler()->construct(x, copy);
return;
@@ -221,6 +251,31 @@ static void clear(QVariant::Private *d)
case QVariant::Pen:
v_clear<QPen>(d);
break;
+#ifndef QT_NO_MATRIX4X4
+ case QVariant::Matrix4x4:
+ v_clear<QMatrix4x4>(d);
+ break;
+#endif
+#ifndef QT_NO_VECTOR2D
+ case QVariant::Vector2D:
+ v_clear<QVector2D>(d);
+ break;
+#endif
+#ifndef QT_NO_VECTOR3D
+ case QVariant::Vector3D:
+ v_clear<QVector3D>(d);
+ break;
+#endif
+#ifndef QT_NO_VECTOR4D
+ case QVariant::Vector4D:
+ v_clear<QVector4D>(d);
+ break;
+#endif
+#ifndef QT_NO_QUATERNION
+ case QVariant::Quaternion:
+ v_clear<QVector4D>(d);
+ break;
+#endif
default:
qcoreVariantHandler()->clear(d);
return;
@@ -266,7 +321,26 @@ static bool isNull(const QVariant::Private *d)
case QVariant::KeySequence:
#endif
case QVariant::Pen:
+#ifndef QT_NO_MATRIX4X4
+ case QVariant::Matrix4x4:
+#endif
break;
+#ifndef QT_NO_VECTOR2D
+ case QVariant::Vector2D:
+ return v_cast<QVector2D>(d)->isNull();
+#endif
+#ifndef QT_NO_VECTOR3D
+ case QVariant::Vector3D:
+ return v_cast<QVector3D>(d)->isNull();
+#endif
+#ifndef QT_NO_VECTOR4D
+ case QVariant::Vector4D:
+ return v_cast<QVector4D>(d)->isNull();
+#endif
+#ifndef QT_NO_QUATERNION
+ case QVariant::Quaternion:
+ return v_cast<QQuaternion>(d)->isNull();
+#endif
default:
return qcoreVariantHandler()->isNull(d);
}
@@ -326,6 +400,26 @@ static bool compare(const QVariant::Private *a, const QVariant::Private *b)
#endif
case QVariant::Pen:
return *v_cast<QPen>(a) == *v_cast<QPen>(b);
+#ifndef QT_NO_MATRIX4X4
+ case QVariant::Matrix4x4:
+ return *v_cast<QMatrix4x4>(a) == *v_cast<QMatrix4x4>(b);
+#endif
+#ifndef QT_NO_VECTOR2D
+ case QVariant::Vector2D:
+ return *v_cast<QVector2D>(a) == *v_cast<QVector2D>(b);
+#endif
+#ifndef QT_NO_VECTOR3D
+ case QVariant::Vector3D:
+ return *v_cast<QVector3D>(a) == *v_cast<QVector3D>(b);
+#endif
+#ifndef QT_NO_VECTOR4D
+ case QVariant::Vector4D:
+ return *v_cast<QVector4D>(a) == *v_cast<QVector4D>(b);
+#endif
+#ifndef QT_NO_QUATERNION
+ case QVariant::Quaternion:
+ return *v_cast<QQuaternion>(a) == *v_cast<QQuaternion>(b);
+#endif
default:
break;
}
@@ -513,6 +607,31 @@ static void streamDebug(QDebug dbg, const QVariant &v)
case QVariant::Pen:
dbg.nospace() << qvariant_cast<QPen>(v);
break;
+#ifndef QT_NO_MATRIX4X4
+ case QVariant::Matrix4x4:
+ dbg.nospace() << qvariant_cast<QMatrix4x4>(v);
+ break;
+#endif
+#ifndef QT_NO_VECTOR2D
+ case QVariant::Vector2D:
+ dbg.nospace() << qvariant_cast<QVector2D>(v);
+ break;
+#endif
+#ifndef QT_NO_VECTOR3D
+ case QVariant::Vector3D:
+ dbg.nospace() << qvariant_cast<QVector3D>(v);
+ break;
+#endif
+#ifndef QT_NO_VECTOR4D
+ case QVariant::Vector4D:
+ dbg.nospace() << qvariant_cast<QVector4D>(v);
+ break;
+#endif
+#ifndef QT_NO_QUATERNION
+ case QVariant::Quaternion:
+ dbg.nospace() << qvariant_cast<QQuaternion>(v);
+ break;
+#endif
default:
qcoreVariantHandler()->debugStream(dbg, v);
break;
@@ -596,6 +715,21 @@ Q_DECL_METATYPE_HELPER(QTextLength)
Q_DECL_METATYPE_HELPER(QTextFormat)
Q_DECL_METATYPE_HELPER(QMatrix)
Q_DECL_METATYPE_HELPER(QTransform)
+#ifndef QT_NO_MATRIX4X4
+Q_DECL_METATYPE_HELPER(QMatrix4x4)
+#endif
+#ifndef QT_NO_VECTOR2D
+Q_DECL_METATYPE_HELPER(QVector2D)
+#endif
+#ifndef QT_NO_VECTOR3D
+Q_DECL_METATYPE_HELPER(QVector3D)
+#endif
+#ifndef QT_NO_VECTOR4D
+Q_DECL_METATYPE_HELPER(QVector4D)
+#endif
+#ifndef QT_NO_QUATERNION
+Q_DECL_METATYPE_HELPER(QQuaternion)
+#endif
#ifdef QT_NO_DATASTREAM
# define Q_IMPL_METATYPE_HELPER(TYPE) \
@@ -645,7 +779,32 @@ static const QMetaTypeGuiHelper qVariantGuiHelper[] = {
Q_IMPL_METATYPE_HELPER(QTextLength),
Q_IMPL_METATYPE_HELPER(QTextFormat),
Q_IMPL_METATYPE_HELPER(QMatrix),
- Q_IMPL_METATYPE_HELPER(QTransform)
+ Q_IMPL_METATYPE_HELPER(QTransform),
+#ifndef QT_NO_MATRIX4X4
+ Q_IMPL_METATYPE_HELPER(QMatrix4x4),
+#else
+ {0, 0, 0, 0},
+#endif
+#ifndef QT_NO_VECTOR2D
+ Q_IMPL_METATYPE_HELPER(QVector2D),
+#else
+ {0, 0, 0, 0},
+#endif
+#ifndef QT_NO_VECTOR3D
+ Q_IMPL_METATYPE_HELPER(QVector3D),
+#else
+ {0, 0, 0, 0},
+#endif
+#ifndef QT_NO_VECTOR4D
+ Q_IMPL_METATYPE_HELPER(QVector4D),
+#else
+ {0, 0, 0, 0},
+#endif
+#ifndef QT_NO_QUATERNION
+ Q_IMPL_METATYPE_HELPER(QQuaternion)
+#else
+ {0, 0, 0, 0}
+#endif
};
static const QVariant::Handler *qt_guivariant_last_handler = 0;
diff --git a/src/gui/kernel/qkeymapper_mac.cpp b/src/gui/kernel/qkeymapper_mac.cpp
index 87dad1e..ad293bd 100644
--- a/src/gui/kernel/qkeymapper_mac.cpp
+++ b/src/gui/kernel/qkeymapper_mac.cpp
@@ -735,8 +735,10 @@ bool QKeyMapperPrivate::translateKeyEvent(QWidget *widget, EventHandlerCallRef e
QString text(ourChar);
/* This is actually wrong - but unfortunatly it is the best that can be
done for now because of the Control/Meta mapping problems */
- if (modifiers & (Qt::ControlModifier | Qt::MetaModifier))
+ if (modifiers & (Qt::ControlModifier | Qt::MetaModifier)
+ && !qApp->testAttribute(Qt::AA_MacDontSwapCtrlAndMeta)) {
text = QString();
+ }
if (widget) {
diff --git a/src/gui/kernel/qkeymapper_p.h b/src/gui/kernel/qkeymapper_p.h
index 6c12b0f..5f3d22f 100644
--- a/src/gui/kernel/qkeymapper_p.h
+++ b/src/gui/kernel/qkeymapper_p.h
@@ -85,7 +85,7 @@ public:
private:
friend QKeyMapperPrivate *qt_keymapper_private();
- Q_DECLARE_SCOPED_PRIVATE(QKeyMapper)
+ Q_DECLARE_PRIVATE(QKeyMapper)
Q_DISABLE_COPY(QKeyMapper)
};
diff --git a/src/gui/kernel/qkeymapper_s60.cpp b/src/gui/kernel/qkeymapper_s60.cpp
index c13dd51..b68c244 100644
--- a/src/gui/kernel/qkeymapper_s60.cpp
+++ b/src/gui/kernel/qkeymapper_s60.cpp
@@ -1,9 +1,9 @@
/****************************************************************************
**
-** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
-** This file is part of the $MODULE$ of the Qt Toolkit.
+** This file is part of the QtGui of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/src/gui/kernel/qkeymapper_win.cpp b/src/gui/kernel/qkeymapper_win.cpp
index d1b3456..bd55411 100644
--- a/src/gui/kernel/qkeymapper_win.cpp
+++ b/src/gui/kernel/qkeymapper_win.cpp
@@ -41,7 +41,7 @@
#include "qkeymapper_p.h"
-#include <windows.h>
+#include <qt_windows.h>
#include <qdebug.h>
#include <private/qevent_p.h>
#include <private/qlocale_p.h>
@@ -57,9 +57,7 @@ QT_BEGIN_NAMESPACE
// Implemented elsewhere
extern "C" LRESULT CALLBACK QtWndProc(HWND, UINT, WPARAM, LPARAM);
-Q_CORE_EXPORT bool winPostMessage(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam);
-Q_CORE_EXPORT bool winPeekMessage(MSG* msg, HWND hWnd, UINT wMsgFilterMin, UINT wMsgFilterMax,
- UINT wRemoveMsg);
+
extern Q_CORE_EXPORT QLocale qt_localeFromLCID(LCID id);
#ifndef LANG_PASHTO
#define LANG_PASHTO 0x63
@@ -467,12 +465,7 @@ static inline int toKeyOrUnicode(int vk, int scancode, unsigned char *kbdBuffer,
Q_ASSERT(vk > 0 && vk < 256);
int code = 0;
QChar unicodeBuffer[5];
- int res = 0;
- if (QSysInfo::WindowsVersion < QSysInfo::WV_NT)
- res = ToAscii(vk, scancode, kbdBuffer, reinterpret_cast<LPWORD>(unicodeBuffer), 0);
- else
- res = ToUnicode(vk, scancode, kbdBuffer, reinterpret_cast<LPWSTR>(unicodeBuffer), 5, 0);
-
+ int res = ToUnicode(vk, scancode, kbdBuffer, reinterpret_cast<LPWSTR>(unicodeBuffer), 5, 0);
if (res)
code = unicodeBuffer[0].toUpper().unicode();
@@ -504,38 +497,6 @@ static inline int asciiToKeycode(char a, int state)
return a & 0xff;
}
-static int inputcharset = CP_ACP;
-static inline QChar wmchar_to_unicode(DWORD c)
-{
- // qt_winMB2QString is the generalization of this function.
- QT_WA({
- return QChar((ushort)c);
- } , {
- char mb[2];
- mb[0] = c & 0xff;
- mb[1] = 0;
- WCHAR wc[1];
- MultiByteToWideChar(inputcharset, MB_PRECOMPOSED, mb, -1, wc, 1);
- return QChar(wc[0]);
- });
-}
-
-static inline QChar imechar_to_unicode(DWORD c)
-{
- // qt_winMB2QString is the generalization of this function.
- QT_WA({
- return QChar((ushort)c);
- } , {
- char mb[3];
- mb[0] = (c >> 8) & 0xff;
- mb[1] = c & 0xff;
- mb[2] = 0;
- WCHAR wc[1];
- MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED, mb, -1, wc, 1);
- return QChar(wc[0]);
- });
-}
-
static inline bool isModifierKey(int code)
{
return (code >= Qt::Key_Shift) && (code <= Qt::Key_ScrollLock);
@@ -640,43 +601,15 @@ void QKeyMapperPrivate::clearMappings()
/* MAKELCID()'s first argument is a WORD, and GetKeyboardLayout()
* returns a DWORD. */
-// LCID newLCID = MAKELCID(DWORD(GetKeyboardLayout(0)), SORT_DEFAULT);
+
+ LCID newLCID = MAKELCID((DWORD)GetKeyboardLayout(0), SORT_DEFAULT);
// keyboardInputLocale = qt_localeFromLCID(newLCID);
- LCID newLCID = MAKELCID(
- reinterpret_cast<long>(GetKeyboardLayout(0)),
- SORT_DEFAULT
- );
- keyboardInputLocale = qt_localeFromLCID(newLCID);
+
bool bidi = false;
-#ifdef UNICODE
- if (QSysInfo::WindowsVersion >= QSysInfo::WV_2000) {
- WCHAR wchLCIDFontSig[16];
- if (GetLocaleInfoW(newLCID,
- LOCALE_FONTSIGNATURE,
- &wchLCIDFontSig[0],
- (sizeof(wchLCIDFontSig)/sizeof(WCHAR)))
- && (wchLCIDFontSig[7] & (WCHAR)0x0800))
+ wchar_t LCIDFontSig[16];
+ if (GetLocaleInfo(newLCID, LOCALE_FONTSIGNATURE, LCIDFontSig, sizeof(LCIDFontSig) / sizeof(wchar_t))
+ && (LCIDFontSig[7] & (wchar_t)0x0800))
bidi = true;
- } else
-#endif //UNICODE
- {
- if (newLCID == 0x0859 || //Sindhi (Arabic script)
- newLCID == 0x0460) //Kashmiri (Arabic script)
- bidi = true;;
-
- switch (PRIMARYLANGID(newLCID))
- {
- case LANG_ARABIC:
- case LANG_HEBREW:
- case LANG_URDU:
- case LANG_FARSI:
- case LANG_PASHTO:
- //case LANG_UIGHUR:
- case LANG_SYRIAC:
- case LANG_DIVEHI:
- bidi = true;
- }
- }
keyboardInputDirection = bidi ? Qt::RightToLeft : Qt::LeftToRight;
}
@@ -765,7 +698,7 @@ void QKeyMapperPrivate::updatePossibleKeyCodes(unsigned char *kbdBuffer, quint32
keyLayout[vk_key]->qtKey[8] = fallbackKey;
// If this vk_key a Dead Key
- if (MapVirtualKey(vk_key, 2) & 0x80008000) { // (High-order dead key on Win 95 is 0x8000)
+ if (MapVirtualKey(vk_key, 2) & 0x80000000) {
// Push a Space, then the original key through the low-level ToAscii functions.
// We do this because these functions (ToAscii / ToUnicode) will alter the internal state of
// the keyboard driver By doing the following, we set the keyboard driver state back to what
@@ -842,13 +775,13 @@ bool QKeyMapperPrivate::translateKeyEvent(QWidget *widget, const MSG &msg, bool
bool isNumpad = (msg.wParam >= VK_NUMPAD0 && msg.wParam <= VK_NUMPAD9);
quint32 nModifiers = 0;
- if (QSysInfo::WindowsVersion < QSysInfo::WV_NT || QSysInfo::WindowsVersion & QSysInfo::WV_CE_based) {
+#if defined(QT_OS_WINCE)
nModifiers |= (GetKeyState(VK_SHIFT ) < 0 ? ShiftAny : 0);
nModifiers |= (GetKeyState(VK_CONTROL) < 0 ? ControlAny : 0);
nModifiers |= (GetKeyState(VK_MENU ) < 0 ? AltAny : 0);
nModifiers |= (GetKeyState(VK_LWIN ) < 0 ? MetaLeft : 0);
nModifiers |= (GetKeyState(VK_RWIN ) < 0 ? MetaRight : 0);
- } else {
+#else
// Map native modifiers to some bit representation
nModifiers |= (GetKeyState(VK_LSHIFT ) & 0x80 ? ShiftLeft : 0);
nModifiers |= (GetKeyState(VK_RSHIFT ) & 0x80 ? ShiftRight : 0);
@@ -862,7 +795,8 @@ bool QKeyMapperPrivate::translateKeyEvent(QWidget *widget, const MSG &msg, bool
nModifiers |= (GetKeyState(VK_CAPITAL ) & 0x01 ? CapsLock : 0);
nModifiers |= (GetKeyState(VK_NUMLOCK ) & 0x01 ? NumLock : 0);
nModifiers |= (GetKeyState(VK_SCROLL ) & 0x01 ? ScrollLock : 0);
- }
+#endif // QT_OS_WINCE
+
if (msg.lParam & ExtendedKey)
nModifiers |= msg.lParam & ExtendedKey;
@@ -875,12 +809,12 @@ bool QKeyMapperPrivate::translateKeyEvent(QWidget *widget, const MSG &msg, bool
// Now we know enough to either have MapVirtualKey or our own keymap tell us if it's a deadkey
bool isDeadKey = isADeadKey(msg.wParam, state)
- || MapVirtualKey(msg.wParam, 2) & 0x80008000; // High-order on 95 is 0x8000
+ || MapVirtualKey(msg.wParam, 2) & 0x80000000;
// A multi-character key not found by our look-ahead
if (msgType == WM_CHAR) {
QString s;
- QChar ch = wmchar_to_unicode(msg.wParam);
+ QChar ch = QChar((ushort)msg.wParam);
if (!ch.isNull())
s += ch;
@@ -891,7 +825,7 @@ bool QKeyMapperPrivate::translateKeyEvent(QWidget *widget, const MSG &msg, bool
// Input method characters not found by our look-ahead
else if (msgType == WM_IME_CHAR) {
QString s;
- QChar ch = imechar_to_unicode(msg.wParam);
+ QChar ch = QChar((ushort)msg.wParam);
if (!ch.isNull())
s += ch;
@@ -922,8 +856,8 @@ bool QKeyMapperPrivate::translateKeyEvent(QWidget *widget, const MSG &msg, bool
}
} else if (msgType == WM_KEYUP) {
if (dirStatus == VK_LSHIFT
- && (msg.wParam == VK_SHIFT && GetKeyState(VK_LCONTROL)
- || msg.wParam == VK_CONTROL && GetKeyState(VK_LSHIFT))) {
+ && ((msg.wParam == VK_SHIFT && GetKeyState(VK_LCONTROL))
+ || (msg.wParam == VK_CONTROL && GetKeyState(VK_LSHIFT)))) {
k0 = q->sendKeyEvent(widget, grab, QEvent::KeyPress, Qt::Key_Direction_L, 0,
QString(), false, 0,
scancode, msg.wParam, nModifiers);
@@ -932,8 +866,8 @@ bool QKeyMapperPrivate::translateKeyEvent(QWidget *widget, const MSG &msg, bool
scancode, msg.wParam, nModifiers);
dirStatus = 0;
} else if (dirStatus == VK_RSHIFT
- && (msg.wParam == VK_SHIFT && GetKeyState(VK_RCONTROL)
- || msg.wParam == VK_CONTROL && GetKeyState(VK_RSHIFT))) {
+ && ( (msg.wParam == VK_SHIFT && GetKeyState(VK_RCONTROL))
+ || (msg.wParam == VK_CONTROL && GetKeyState(VK_RSHIFT)))) {
k0 = q->sendKeyEvent(widget, grab, QEvent::KeyPress, Qt::Key_Direction_R,
0, QString(), false, 0,
scancode, msg.wParam, nModifiers);
@@ -1055,11 +989,9 @@ bool QKeyMapperPrivate::translateKeyEvent(QWidget *widget, const MSG &msg, bool
: msgType == WM_IME_KEYDOWN ? WM_IME_CHAR : WM_SYSCHAR);
QChar uch;
- if (winPeekMessage(&wm_char, 0, charType, charType, PM_REMOVE)) {
+ if (PeekMessage(&wm_char, 0, charType, charType, PM_REMOVE)) {
// Found a ?_CHAR
- uch = charType == WM_IME_CHAR
- ? imechar_to_unicode(wm_char.wParam)
- : wmchar_to_unicode(wm_char.wParam);
+ uch = QChar((ushort)wm_char.wParam);
if (msgType == WM_SYSKEYDOWN && uch.isLetter() && (msg.lParam & KF_ALTDOWN))
uch = uch.toLower(); // (See doc of WM_SYSCHAR) Alt-letter
if (!code && !uch.row())
@@ -1072,7 +1004,7 @@ bool QKeyMapperPrivate::translateKeyEvent(QWidget *widget, const MSG &msg, bool
// to find the correct key using the current message parameters & keyboard state.
if (uch.isNull() && msgType == WM_IME_KEYDOWN) {
BYTE keyState[256];
- WCHAR newKey[3] = {0};
+ wchar_t newKey[3] = {0};
GetKeyboardState(keyState);
int val = ToUnicode(vk_key, scancode, keyState, newKey, 2, 0);
if (val == 1) {
@@ -1090,18 +1022,10 @@ bool QKeyMapperPrivate::translateKeyEvent(QWidget *widget, const MSG &msg, bool
uch = QChar(QLatin1Char(0x7f)); // Windows doesn't know this one.
} else {
if (msgType != WM_SYSKEYDOWN || !code) {
- UINT map;
- QT_WA({
- map = MapVirtualKey(msg.wParam, 2);
- } , {
- map = MapVirtualKeyA(msg.wParam, 2);
- // High-order bit is 0x8000 on '95
- if (map & 0x8000)
- map = (map^0x8000)|0x80000000;
- });
+ UINT map = MapVirtualKey(msg.wParam, 2);
// If the high bit of the return value is set, it's a deadkey
if (!(map & 0x80000000))
- uch = wmchar_to_unicode((DWORD)map);
+ uch = QChar((ushort)map);
}
}
if (!code && !uch.row())
@@ -1242,6 +1166,8 @@ bool QKeyMapper::sendKeyEvent(QWidget *widget, bool grab,
if (QApplicationPrivate::instance()->qt_tryAccelEvent(widget, &a))
return true;
}
+#else
+ Q_UNUSED(grab);
#endif
if (!widget->isEnabled())
return false;
diff --git a/src/gui/kernel/qlayout.cpp b/src/gui/kernel/qlayout.cpp
index 9430f1b..f41de11 100644
--- a/src/gui/kernel/qlayout.cpp
+++ b/src/gui/kernel/qlayout.cpp
@@ -61,7 +61,10 @@ static int menuBarHeightForWidth(QWidget *menubar, int w)
int result = menubar->heightForWidth(qMax(w, menubar->minimumWidth()));
if (result != -1)
return result;
- result = menubar->sizeHint().height();
+ result = menubar->sizeHint()
+ .expandedTo(menubar->minimumSize())
+ .expandedTo(menubar->minimumSizeHint())
+ .boundedTo(menubar->maximumSize()).height();
if (result != -1)
return result;
}
@@ -80,7 +83,7 @@ static int menuBarHeightForWidth(QWidget *menubar, int w)
For users of QLayout subclasses or of QMainWindow there is seldom
any need to use the basic functions provided by QLayout, such as
- setSizeConstraint() or setMenuBar(). See \l{Layout Classes}
+ setSizeConstraint() or setMenuBar(). See \l{Layout Management}
for more information.
To make your own layout manager, implement the functions
@@ -95,7 +98,7 @@ static int menuBarHeightForWidth(QWidget *menubar, int w)
Geometry management stops when the layout manager is deleted.
- \sa QLayoutItem, {Layout Classes}, {Basic Layouts Example},
+ \sa QLayoutItem, {Layout Management}, {Basic Layouts Example},
{Border Layout Example}, {Flow Layout Example}
*/
diff --git a/src/gui/kernel/qlayout.h b/src/gui/kernel/qlayout.h
index ec95ca8..4f46c1d 100644
--- a/src/gui/kernel/qlayout.h
+++ b/src/gui/kernel/qlayout.h
@@ -89,7 +89,7 @@ class QLayoutPrivate;
class Q_GUI_EXPORT QLayout : public QObject, public QLayoutItem
{
Q_OBJECT
- Q_DECLARE_SCOPED_PRIVATE(QLayout)
+ Q_DECLARE_PRIVATE(QLayout)
Q_ENUMS(SizeConstraint)
Q_PROPERTY(int margin READ margin WRITE setMargin)
diff --git a/src/gui/kernel/qmime_win.cpp b/src/gui/kernel/qmime_win.cpp
index bc15638..acd7cfc 100644
--- a/src/gui/kernel/qmime_win.cpp
+++ b/src/gui/kernel/qmime_win.cpp
@@ -170,7 +170,7 @@ static QByteArray getData(int cf, IDataObject *pDataObj)
if (pDataObj->GetData(&formatetc, &s) == S_OK) {
char szBuffer[4096];
ULONG actualRead = 0;
- LARGE_INTEGER pos = {0, 0};
+ LARGE_INTEGER pos = {{0, 0}};
//Move to front (can fail depending on the data model implemented)
HRESULT hr = s.pstm->Seek(pos, STREAM_SEEK_SET, NULL);
while(SUCCEEDED(hr)){
@@ -281,11 +281,7 @@ QWindowsMime::~QWindowsMime()
*/
int QWindowsMime::registerMimeType(const QString &mime)
{
-#ifdef Q_OS_WINCE
int f = RegisterClipboardFormat(reinterpret_cast<const wchar_t *> (mime.utf16()));
-#else
- int f = RegisterClipboardFormatA(mime.toLocal8Bit());
-#endif
if (!f)
qErrnoWarning("QWindowsMime::registerMimeType: Failed to register clipboard format");
@@ -401,9 +397,9 @@ QStringList QWindowsMime::allMimesForFormats(IDataObject *pDataObj)
while (S_OK == fmtenum->Next(1, &fmtetc, 0)) {
#if defined(QMIME_DEBUG) && !defined(Q_OS_WINCE)
qDebug("QWindowsMime::allMimesForFormats()");
- char buf[256] = {0};
- GetClipboardFormatNameA(fmtetc.cfFormat, buf, 255);
- qDebug("CF = %d : %s", fmtetc.cfFormat, buf);
+ wchar_t buf[256] = {0};
+ GetClipboardFormatName(fmtetc.cfFormat, buf, 255);
+ qDebug("CF = %d : %s", fmtetc.cfFormat, QString::fromWCharArray(buf));
#endif
for (int i=mimes.size()-1; i>=0; --i) {
QString format = mimes.at(i)->mimeForFormat(fmtetc);
@@ -504,7 +500,7 @@ bool QWindowsMimeText::convertFromMime(const FORMATETC &formatetc, const QMimeDa
++u;
}
res.truncate(ri);
- const int byteLength = res.length()*2;
+ const int byteLength = res.length() * sizeof(ushort);
QByteArray r(byteLength + 2, '\0');
memcpy(r.data(), res.unicode(), byteLength);
r[byteLength] = 0;
@@ -549,7 +545,7 @@ QVariant QWindowsMimeText::convertToMime(const QString &mime, LPDATAOBJECT pData
QString str;
QByteArray data = getData(CF_UNICODETEXT, pDataObj);
if (!data.isEmpty()) {
- str = QString::fromUtf16((const unsigned short *)data.data());
+ str = QString::fromWCharArray((const wchar_t *)data.data());
str.replace(QLatin1String("\r\n"), QLatin1String("\n"));
} else {
data = getData(CF_TEXT, pDataObj);
@@ -620,11 +616,7 @@ bool QWindowsMimeURI::convertFromMime(const FORMATETC &formatetc, const QMimeDat
for (int i=0; i<urls.size(); i++) {
QString fn = QDir::toNativeSeparators(urls.at(i).toLocalFile());
if (!fn.isEmpty()) {
- QT_WA({
- size += sizeof(TCHAR)*(fn.length()+1);
- } , {
- size += fn.toLocal8Bit().length()+1;
- });
+ size += sizeof(ushort) * (fn.length() + 1);
fileNames.append(fn);
}
}
@@ -636,36 +628,22 @@ bool QWindowsMimeURI::convertFromMime(const FORMATETC &formatetc, const QMimeDat
d->fNC = true;
char* files = ((char*)d) + d->pFiles;
- QT_WA({
- d->fWide = true;
- TCHAR* f = (TCHAR*)files;
- for (int i=0; i<fileNames.size(); i++) {
- int l = fileNames.at(i).length();
- memcpy(f, fileNames.at(i).utf16(), l*sizeof(TCHAR));
- f += l;
- *f++ = 0;
- }
- *f = 0;
- } , {
- d->fWide = false;
- char* f = files;
- for (int i=0; i<fileNames.size(); i++) {
- QByteArray c = fileNames.at(i).toLocal8Bit();
- if (!c.isEmpty()) {
- int l = c.length();
- memcpy(f, c.constData(), l);
- f += l;
- *f++ = 0;
- }
- }
- *f = 0;
- });
+ d->fWide = true;
+ wchar_t* f = (wchar_t*)files;
+ for (int i=0; i<fileNames.size(); i++) {
+ int l = fileNames.at(i).length();
+ memcpy(f, fileNames.at(i).utf16(), l * sizeof(ushort));
+ f += l;
+ *f++ = 0;
+ }
+ *f = 0;
+
return setData(result, pmedium);
} else if (getCf(formatetc) == CF_INETURL_W) {
QList<QUrl> urls = mimeData->urls();
QByteArray result;
QString url = urls.at(0).toString();
- result = QByteArray((const char *)url.utf16(), url.length() * 2);
+ result = QByteArray((const char *)url.utf16(), url.length() * sizeof(ushort));
result.append('\0');
result.append('\0');
return setData(result, pmedium);
@@ -720,15 +698,15 @@ QVariant QWindowsMimeURI::convertToMime(const QString &mimeType, LPDATAOBJECT pD
LPDROPFILES hdrop = (LPDROPFILES)data.data();
if (hdrop->fWide) {
- const ushort* filesw = (const ushort*)(data.data() + hdrop->pFiles);
- int i=0;
+ const wchar_t* filesw = (const wchar_t *)(data.data() + hdrop->pFiles);
+ int i = 0;
while (filesw[i]) {
- QString fileurl = QString::fromUtf16(filesw+i);
+ QString fileurl = QString::fromWCharArray(filesw + i);
urls += QUrl::fromLocalFile(fileurl);
i += fileurl.length()+1;
}
} else {
- const char* files = (const char*)data.data() + hdrop->pFiles;
+ const char* files = (const char *)data.data() + hdrop->pFiles;
int i=0;
while (files[i]) {
urls += QUrl::fromLocalFile(QString::fromLocal8Bit(files+i));
@@ -744,7 +722,7 @@ QVariant QWindowsMimeURI::convertToMime(const QString &mimeType, LPDATAOBJECT pD
QByteArray data = getData(CF_INETURL_W, pDataObj);
if (data.isEmpty())
return QVariant();
- return QUrl(QString::fromUtf16((const unsigned short *)data.constData()));
+ return QUrl(QString::fromWCharArray((const wchar_t *)data.constData()));
} else if (canGetData(CF_INETURL, pDataObj)) {
QByteArray data = getData(CF_INETURL, pDataObj);
if (data.isEmpty())
@@ -913,11 +891,7 @@ private:
QWindowsMimeImage::QWindowsMimeImage()
{
-#ifdef Q_OS_WINCE
- CF_PNG = RegisterClipboardFormat(reinterpret_cast<const wchar_t *> (QString::fromLatin1("PNG").utf16()));
-#else
- CF_PNG = RegisterClipboardFormatA("PNG");
-#endif
+ CF_PNG = RegisterClipboardFormat(L"PNG");
}
QVector<FORMATETC> QWindowsMimeImage::formatsForMime(const QString &mimeType, const QMimeData *mimeData) const
@@ -1114,7 +1088,7 @@ bool QBuiltInMimes::convertFromMime(const FORMATETC &formatetc, const QMimeData
++u;
}
res.truncate(ri);
- const int byteLength = res.length()*2;
+ const int byteLength = res.length() * sizeof(ushort);
QByteArray r(byteLength + 2, '\0');
memcpy(r.data(), res.unicode(), byteLength);
r[byteLength] = 0;
@@ -1154,8 +1128,8 @@ QVariant QBuiltInMimes::convertToMime(const QString &mimeType, IDataObject *pDat
qDebug("QBuiltInMimes::convertToMime()");
#endif
if (mimeType == QLatin1String("text/html") && preferredType == QVariant::String) {
- // text/html is in wide chars on windows (compatible with mozillia)
- val = QString::fromUtf16((const unsigned short *)data.data());
+ // text/html is in wide chars on windows (compatible with Mozilla)
+ val = QString::fromWCharArray((const wchar_t *)data.data());
} else {
val = data; // it should be enough to return the data and let QMimeData do the rest.
}
@@ -1280,11 +1254,7 @@ bool QLastResortMimes::canConvertToMime(const QString &mimeType, IDataObject *pD
{
if (isCustomMimeType(mimeType)) {
QString clipFormat = customMimeType(mimeType);
-#ifdef Q_OS_WINCE
int cf = RegisterClipboardFormat(reinterpret_cast<const wchar_t *> (clipFormat.utf16()));
-#else
- int cf = RegisterClipboardFormatA(clipFormat.toLocal8Bit());
-#endif
return canGetData(cf, pDataObj);
} else if (formats.keys(mimeType).isEmpty()) {
// if it is not in there then register it an see if we can get it
@@ -1304,11 +1274,7 @@ QVariant QLastResortMimes::convertToMime(const QString &mimeType, IDataObject *p
QByteArray data;
if (isCustomMimeType(mimeType)) {
QString clipFormat = customMimeType(mimeType);
-#ifdef Q_OS_WINCE
int cf = RegisterClipboardFormat(reinterpret_cast<const wchar_t *> (clipFormat.utf16()));
-#else
- int cf = RegisterClipboardFormatA(clipFormat.toLocal8Bit());
-#endif
data = getData(cf, pDataObj);
} else if (formats.keys(mimeType).isEmpty()) {
int cf = QWindowsMime::registerMimeType(mimeType);
@@ -1325,46 +1291,38 @@ QVariant QLastResortMimes::convertToMime(const QString &mimeType, IDataObject *p
QString QLastResortMimes::mimeForFormat(const FORMATETC &formatetc) const
{
QString format = formats.value(getCf(formatetc));
- if (format.isEmpty()) {
- QByteArray ba;
- QString clipFormat;
- int len;
- QT_WA({
- ba.resize(256*2);
- len = GetClipboardFormatNameW(getCf(formatetc), (TCHAR*)ba.data(), 255);
- if (len)
- clipFormat = QString::fromUtf16((ushort *)ba.data(), len);
- } , {
- ba.resize(256);
- len = GetClipboardFormatNameA(getCf(formatetc), ba.data(), 255);
- if (len)
- clipFormat = QString::fromLocal8Bit(ba.data(), len);
- });
- if (len) {
+ if (!format.isEmpty())
+ return format;
+
+ wchar_t buffer[256];
+ int len = GetClipboardFormatName(getCf(formatetc), buffer, 256);
+
+ if (len) {
+ QString clipFormat = QString::fromWCharArray(buffer, len);
#ifndef QT_NO_DRAGANDDROP
- if (QInternalMimeData::canReadData(clipFormat))
- format = clipFormat;
- else if((formatetc.cfFormat >= 0xC000)){
- //create the mime as custom. not registered.
- if (!excludeList.contains(clipFormat, Qt::CaseInsensitive)) {
- //check if this is a mime type
- bool ianaType = false;
- int sz = ianaTypes.size();
- for (int i = 0; i < sz; i++) {
- if (clipFormat.startsWith(ianaTypes[i], Qt::CaseInsensitive)) {
- ianaType = true;
- break;
- }
+ if (QInternalMimeData::canReadData(clipFormat))
+ format = clipFormat;
+ else if((formatetc.cfFormat >= 0xC000)){
+ //create the mime as custom. not registered.
+ if (!excludeList.contains(clipFormat, Qt::CaseInsensitive)) {
+ //check if this is a mime type
+ bool ianaType = false;
+ int sz = ianaTypes.size();
+ for (int i = 0; i < sz; i++) {
+ if (clipFormat.startsWith(ianaTypes[i], Qt::CaseInsensitive)) {
+ ianaType = true;
+ break;
}
- if (!ianaType)
- format = QLatin1String(x_qt_windows_mime) + clipFormat + QLatin1Char('\"');
- else
- format = clipFormat;
}
+ if (!ianaType)
+ format = QLatin1String(x_qt_windows_mime) + clipFormat + QLatin1Char('\"');
+ else
+ format = clipFormat;
}
-#endif //QT_NO_DRAGANDDROP
}
+#endif //QT_NO_DRAGANDDROP
}
+
return format;
}
diff --git a/src/gui/kernel/qmultitouch_mac.mm b/src/gui/kernel/qmultitouch_mac.mm
index 3fe85a9..3d2eae6 100644
--- a/src/gui/kernel/qmultitouch_mac.mm
+++ b/src/gui/kernel/qmultitouch_mac.mm
@@ -48,7 +48,7 @@ QT_BEGIN_NAMESPACE
#ifdef QT_MAC_USE_COCOA
-QHash<int, QCocoaTouch*> QCocoaTouch::_currentTouches;
+QHash<qint64, QCocoaTouch*> QCocoaTouch::_currentTouches;
QPointF QCocoaTouch::_screenReferencePos;
QPointF QCocoaTouch::_trackpadReferencePos;
int QCocoaTouch::_idAssignmentCount = 0;
@@ -62,7 +62,7 @@ QCocoaTouch::QCocoaTouch(NSTouch *nstouch)
_touchPoint.setId(_idAssignmentCount++);
_touchPoint.setPressure(1.0);
- _identity = int([nstouch identity]);
+ _identity = qint64([nstouch identity]);
_currentTouches.insert(_identity, this);
updateTouchData(nstouch, NSTouchPhaseBegan);
}
@@ -100,7 +100,7 @@ void QCocoaTouch::updateTouchData(NSTouch *nstouch, NSTouchPhase phase)
QCocoaTouch *QCocoaTouch::findQCocoaTouch(NSTouch *nstouch)
{
- int identity = int([nstouch identity]);
+ qint64 identity = qint64([nstouch identity]);
if (_currentTouches.contains(identity))
return _currentTouches.value(identity);
return 0;
diff --git a/src/gui/kernel/qmultitouch_mac_p.h b/src/gui/kernel/qmultitouch_mac_p.h
index 3fa8f6c..618e9ca 100644
--- a/src/gui/kernel/qmultitouch_mac_p.h
+++ b/src/gui/kernel/qmultitouch_mac_p.h
@@ -74,7 +74,7 @@ class QCocoaTouch
static void setMouseInDraggingState(bool inDraggingState);
private:
- static QHash<int, QCocoaTouch*> _currentTouches;
+ static QHash<qint64, QCocoaTouch*> _currentTouches;
static QPointF _screenReferencePos;
static QPointF _trackpadReferencePos;
static int _idAssignmentCount;
@@ -82,7 +82,7 @@ class QCocoaTouch
static bool _updateInternalStateOnly;
QTouchEvent::TouchPoint _touchPoint;
- int _identity;
+ qint64 _identity;
QCocoaTouch(NSTouch *nstouch);
~QCocoaTouch();
diff --git a/src/gui/kernel/qsessionmanager.h b/src/gui/kernel/qsessionmanager.h
index 0a55d0c..f27dbaa 100644
--- a/src/gui/kernel/qsessionmanager.h
+++ b/src/gui/kernel/qsessionmanager.h
@@ -60,7 +60,7 @@ class QSessionManagerPrivate;
class Q_GUI_EXPORT QSessionManager : public QObject
{
Q_OBJECT
- Q_DECLARE_SCOPED_PRIVATE(QSessionManager)
+ Q_DECLARE_PRIVATE(QSessionManager)
QSessionManager(QApplication *app, QString &id, QString &key);
~QSessionManager();
public:
diff --git a/src/gui/kernel/qshortcut.h b/src/gui/kernel/qshortcut.h
index 7b79faa..c81ce7c 100644
--- a/src/gui/kernel/qshortcut.h
+++ b/src/gui/kernel/qshortcut.h
@@ -57,7 +57,7 @@ class QShortcutPrivate;
class Q_GUI_EXPORT QShortcut : public QObject
{
Q_OBJECT
- Q_DECLARE_SCOPED_PRIVATE(QShortcut)
+ Q_DECLARE_PRIVATE(QShortcut)
Q_PROPERTY(QKeySequence key READ key WRITE setKey)
Q_PROPERTY(QString whatsThis READ whatsThis WRITE setWhatsThis)
Q_PROPERTY(bool enabled READ isEnabled WRITE setEnabled)
diff --git a/src/gui/kernel/qshortcutmap_p.h b/src/gui/kernel/qshortcutmap_p.h
index 53a39ec..8962ac7 100644
--- a/src/gui/kernel/qshortcutmap_p.h
+++ b/src/gui/kernel/qshortcutmap_p.h
@@ -74,7 +74,7 @@ class QObject;
class QShortcutMap
{
- Q_DECLARE_SCOPED_PRIVATE(QShortcutMap)
+ Q_DECLARE_PRIVATE(QShortcutMap)
public:
QShortcutMap();
~QShortcutMap();
diff --git a/src/gui/kernel/qsound.h b/src/gui/kernel/qsound.h
index eeef047..22cfdde 100644
--- a/src/gui/kernel/qsound.h
+++ b/src/gui/kernel/qsound.h
@@ -82,7 +82,7 @@ public:
static inline QT3_SUPPORT bool available() { return isAvailable(); }
#endif
private:
- Q_DECLARE_SCOPED_PRIVATE(QSound)
+ Q_DECLARE_PRIVATE(QSound)
friend class QAuServer;
};
diff --git a/src/gui/kernel/qsound_s60.cpp b/src/gui/kernel/qsound_s60.cpp
index 75458ec..5eae4de 100644
--- a/src/gui/kernel/qsound_s60.cpp
+++ b/src/gui/kernel/qsound_s60.cpp
@@ -1,9 +1,9 @@
/****************************************************************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
-** This file is part of the $MODULE$ of the Qt Toolkit.
+** This file is part of the QtGui of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/src/gui/kernel/qsound_win.cpp b/src/gui/kernel/qsound_win.cpp
index 7330d4b..82854ae 100644
--- a/src/gui/kernel/qsound_win.cpp
+++ b/src/gui/kernel/qsound_win.cpp
@@ -77,13 +77,8 @@ public:
QAuServerWindows::QAuServerWindows(QObject* parent) :
QAuServer(parent), current(0)
{
- QT_WA({
- mutex = CreateMutexW(0, 0, 0);
- event = CreateEventW(0, FALSE, FALSE, 0);
- } , {
- mutex = CreateMutexA(0, 0, 0);
- event = CreateEventA(0, FALSE, FALSE, 0);
- });
+ mutex = CreateMutex(0, 0, 0);
+ event = CreateEvent(0, FALSE, FALSE, 0);
}
QAuServerWindows::~QAuServerWindows()
@@ -133,13 +128,9 @@ DWORD WINAPI SoundPlayProc(LPVOID param)
if (loops == -1)
flags |= SND_LOOP;
- QT_WA({
- PlaySoundW((TCHAR*)filename.utf16(), 0, flags);
- } , {
- PlaySoundA(QFile::encodeName(filename).data(), 0, flags);
- });
- if (sound && loops == 1)
- server->decLoop(sound);
+ PlaySound((wchar_t*)filename.utf16(), 0, flags);
+ if (sound && loops == 1)
+ server->decLoop(sound);
// GUI thread continues, but we are done as well.
SetEvent(event);
@@ -148,18 +139,13 @@ DWORD WINAPI SoundPlayProc(LPVOID param)
QPointer<QSound> guarded_sound = sound;
SetEvent(event);
- for (int l = 0; l < loops && server->current; ++l) {
- QT_WA( {
- PlaySoundW( (TCHAR*)filename.utf16(), 0, SND_FILENAME|SND_SYNC );
- } , {
- PlaySoundA( QFile::encodeName(filename).data(), 0,
- SND_FILENAME|SND_SYNC );
- } );
-
- if (guarded_sound)
- server->decLoop(guarded_sound);
- }
- server->current = 0;
+ for (int l = 0; l < loops && server->current; ++l) {
+ PlaySound((wchar_t*)filename.utf16(), 0, SND_FILENAME | SND_SYNC);
+
+ if (guarded_sound)
+ server->decLoop(guarded_sound);
+ }
+ server->current = 0;
}
ReleaseMutex(mutex);
@@ -169,7 +155,7 @@ DWORD WINAPI SoundPlayProc(LPVOID param)
void QAuServerWindows::playHelper(const QString &filename, int loop, QSound *snd)
{
if (loop == 0)
- return;
+ return;
// busy?
if (WaitForSingleObject(mutex, 0) == WAIT_TIMEOUT)
return;
diff --git a/src/gui/kernel/qstackedlayout.h b/src/gui/kernel/qstackedlayout.h
index ab215fa..d14b2ab 100644
--- a/src/gui/kernel/qstackedlayout.h
+++ b/src/gui/kernel/qstackedlayout.h
@@ -55,7 +55,7 @@ class QStackedLayoutPrivate;
class Q_GUI_EXPORT QStackedLayout : public QLayout
{
Q_OBJECT
- Q_DECLARE_SCOPED_PRIVATE(QStackedLayout)
+ Q_DECLARE_PRIVATE(QStackedLayout)
Q_ENUMS(StackingMode)
Q_PROPERTY(int currentIndex READ currentIndex WRITE setCurrentIndex NOTIFY currentChanged)
Q_PROPERTY(StackingMode stackingMode READ stackingMode WRITE setStackingMode)
diff --git a/src/gui/kernel/qstandardgestures.cpp b/src/gui/kernel/qstandardgestures.cpp
new file mode 100644
index 0000000..4753416
--- /dev/null
+++ b/src/gui/kernel/qstandardgestures.cpp
@@ -0,0 +1,291 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtGui module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "qstandardgestures.h"
+#include "qstandardgestures_p.h"
+
+#include <qabstractscrollarea.h>
+#include <qscrollbar.h>
+#include <private/qapplication_p.h>
+#include <private/qevent_p.h>
+
+QT_BEGIN_NAMESPACE
+
+#ifdef Q_WS_WIN
+QApplicationPrivate* getQApplicationPrivateInternal();
+#endif
+
+/*!
+ \class QPanGesture
+ \since 4.6
+
+ \brief The QPanGesture class represents a Pan gesture,
+ providing additional information related to panning.
+*/
+
+/*!
+ Creates a new Pan gesture handler object and marks it as a child of \a
+ parent.
+
+ On some platform like Windows it's necessary to provide a non-null widget
+ as \a parent to get native gesture support.
+*/
+QPanGesture::QPanGesture(QWidget *parent)
+ : QGesture(*new QPanGesturePrivate, parent)
+{
+#ifdef Q_WS_WIN
+ if (parent) {
+ QApplicationPrivate *qAppPriv = getQApplicationPrivateInternal();
+ qAppPriv->widgetGestures[parent].pan = this;
+ }
+#endif
+}
+
+/*! \internal */
+bool QPanGesture::event(QEvent *event)
+{
+#ifdef Q_WS_WIN
+ QApplicationPrivate* getQApplicationPrivateInternal();
+ switch (event->type()) {
+ case QEvent::ParentAboutToChange:
+ if (QWidget *w = qobject_cast<QWidget*>(parent()))
+ getQApplicationPrivateInternal()->widgetGestures[w].pan = 0;
+ break;
+ case QEvent::ParentChange:
+ if (QWidget *w = qobject_cast<QWidget*>(parent()))
+ getQApplicationPrivateInternal()->widgetGestures[w].pan = this;
+ break;
+ default:
+ break;
+ }
+#endif
+
+#if defined(Q_OS_MAC) && !defined(QT_MAC_USE_COCOA)
+ Q_D(QPanGesture);
+ if (event->type() == QEvent::Timer) {
+ const QTimerEvent *te = static_cast<QTimerEvent *>(event);
+ if (te->timerId() == d->panFinishedTimer) {
+ killTimer(d->panFinishedTimer);
+ d->panFinishedTimer = 0;
+ d->lastOffset = QSize(0, 0);
+ setState(Qt::GestureFinished);
+ emit triggered();
+ setState(Qt::NoGesture);
+ }
+ }
+#endif
+
+ return QObject::event(event);
+}
+
+bool QPanGesture::eventFilter(QObject *receiver, QEvent *event)
+{
+#ifdef Q_WS_WIN
+ if (receiver->isWidgetType() && event->type() == QEvent::NativeGesture) {
+ QNativeGestureEvent *ev = static_cast<QNativeGestureEvent*>(event);
+ QApplicationPrivate *qAppPriv = getQApplicationPrivateInternal();
+ QApplicationPrivate::WidgetStandardGesturesMap::iterator it;
+ it = qAppPriv->widgetGestures.find(static_cast<QWidget*>(receiver));
+ if (it == qAppPriv->widgetGestures.end())
+ return false;
+ QPanGesture *gesture = it.value().pan;
+ if (!gesture)
+ return false;
+ Qt::GestureState nextState = state();
+ switch(ev->gestureType) {
+ case QNativeGestureEvent::GestureBegin:
+ // next we might receive the first gesture update event, so we
+ // prepare for it.
+ setState(Qt::GestureStarted);
+ return false;
+ case QNativeGestureEvent::Pan:
+ nextState = Qt::GestureUpdated;
+ break;
+ case QNativeGestureEvent::GestureEnd:
+ if (state() != QNativeGestureEvent::Pan)
+ return false; // some other gesture has ended
+ setState(Qt::GestureFinished);
+ nextState = Qt::GestureFinished;
+ break;
+ default:
+ return false;
+ }
+ QPanGesturePrivate *d = gesture->d_func();
+ if (state() == Qt::GestureStarted) {
+ d->lastPosition = ev->position;
+ d->lastOffset = d->totalOffset = QSize();
+ } else {
+ d->lastOffset = QSize(ev->position.x() - d->lastPosition.x(),
+ ev->position.y() - d->lastPosition.y());
+ d->totalOffset += d->lastOffset;
+ }
+ d->lastPosition = ev->position;
+
+ if (state() == Qt::GestureStarted)
+ emit gesture->started();
+ emit gesture->triggered();
+ if (state() == Qt::GestureFinished)
+ emit gesture->finished();
+ event->accept();
+ gesture->setState(nextState);
+ return true;
+ }
+#endif
+ return QGesture::eventFilter(receiver, event);
+}
+
+/*! \internal */
+bool QPanGesture::filterEvent(QEvent *event)
+{
+ Q_D(QPanGesture);
+ if (!event->spontaneous())
+ return false;
+ const QTouchEvent *ev = static_cast<const QTouchEvent*>(event);
+ if (event->type() == QEvent::TouchBegin) {
+ QTouchEvent::TouchPoint p = ev->touchPoints().at(0);
+ d->lastPosition = p.pos().toPoint();
+ d->lastOffset = d->totalOffset = QSize();
+ } else if (event->type() == QEvent::TouchEnd) {
+ if (state() != Qt::NoGesture) {
+ setState(Qt::GestureFinished);
+ if (!ev->touchPoints().isEmpty()) {
+ QTouchEvent::TouchPoint p = ev->touchPoints().at(0);
+ const QPoint pos = p.pos().toPoint();
+ const QPoint lastPos = p.lastPos().toPoint();
+ const QPoint startPos = p.startPos().toPoint();
+ d->lastOffset = QSize(pos.x() - lastPos.x(), pos.y() - lastPos.y());
+ d->totalOffset = QSize(pos.x() - startPos.x(), pos.y() - startPos.y());
+ }
+ emit triggered();
+ emit finished();
+ }
+ setState(Qt::NoGesture);
+ reset();
+ } else if (event->type() == QEvent::TouchUpdate) {
+ QTouchEvent::TouchPoint p = ev->touchPoints().at(0);
+ const QPoint pos = p.pos().toPoint();
+ const QPoint lastPos = p.lastPos().toPoint();
+ const QPoint startPos = p.startPos().toPoint();
+ d->lastOffset = QSize(pos.x() - lastPos.x(), pos.y() - lastPos.y());
+ d->totalOffset = QSize(pos.x() - startPos.x(), pos.y() - startPos.y());
+ if (d->totalOffset.width() > 10 || d->totalOffset.height() > 10 ||
+ d->totalOffset.width() < -10 || d->totalOffset.height() < -10) {
+ if (state() == Qt::NoGesture)
+ setState(Qt::GestureStarted);
+ else
+ setState(Qt::GestureUpdated);
+ emit triggered();
+ }
+ }
+#ifdef Q_OS_MAC
+ else if (event->type() == QEvent::Wheel) {
+ // On Mac, there is really no native panning gesture. Instead, a two
+ // finger pan is delivered as mouse wheel events. Otoh, on Windows, you
+ // either get mouse wheel events or pan events. We have decided to make this
+ // the Qt behaviour as well, meaning that on Mac, wheel
+ // events will be masked away when listening for pan events.
+#ifndef QT_MAC_USE_COCOA
+ // In Carbon we receive neither touch-, nor pan gesture events.
+ // So we create pan gestures by converting wheel events. After all, this
+ // is how things are supposed to work on mac in the first place.
+ const QWheelEvent *wev = static_cast<const QWheelEvent*>(event);
+ int offset = wev->delta() / -120;
+ d->lastOffset = wev->orientation() == Qt::Horizontal ? QSize(offset, 0) : QSize(0, offset);
+
+ if (state() == Qt::NoGesture) {
+ setState(Qt::GestureStarted);
+ d->totalOffset = d->lastOffset;
+ } else {
+ setState(Qt::GestureUpdated);
+ d->totalOffset += d->lastOffset;
+ }
+
+ killTimer(d->panFinishedTimer);
+ d->panFinishedTimer = startTimer(200);
+ emit triggered();
+#endif
+ return true;
+ }
+#endif
+ return false;
+}
+
+/*! \internal */
+void QPanGesture::reset()
+{
+ Q_D(QPanGesture);
+ d->lastOffset = d->totalOffset = QSize();
+ d->lastPosition = QPoint();
+#if defined(Q_OS_MAC) && !defined(QT_MAC_USE_COCOA)
+ if (d->panFinishedTimer) {
+ killTimer(d->panFinishedTimer);
+ d->panFinishedTimer = 0;
+ }
+#endif
+}
+
+/*!
+ \property QPanGesture::totalOffset
+
+ Specifies a total pan offset since the start of the gesture.
+*/
+QSize QPanGesture::totalOffset() const
+{
+ Q_D(const QPanGesture);
+ return d->totalOffset;
+}
+
+/*!
+ \property QPanGesture::lastOffset
+
+ Specifies a pan offset since the last time the gesture was
+ triggered.
+*/
+QSize QPanGesture::lastOffset() const
+{
+ Q_D(const QPanGesture);
+ return d->lastOffset;
+}
+
+QT_END_NAMESPACE
+
+#include "moc_qstandardgestures.cpp"
+
diff --git a/src/gui/kernel/qstandardgestures.h b/src/gui/kernel/qstandardgestures.h
new file mode 100644
index 0000000..c734fba
--- /dev/null
+++ b/src/gui/kernel/qstandardgestures.h
@@ -0,0 +1,85 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtGui module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QSTANDARDGESTURES_H
+#define QSTANDARDGESTURES_H
+
+#include <QtGui/qevent.h>
+#include <QtCore/qbasictimer.h>
+
+#include <QtGui/qgesture.h>
+
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+QT_MODULE(Gui)
+
+class QPanGesturePrivate;
+class Q_GUI_EXPORT QPanGesture : public QGesture
+{
+ Q_OBJECT
+ Q_DECLARE_PRIVATE(QPanGesture)
+
+ Q_PROPERTY(QSize totalOffset READ totalOffset)
+ Q_PROPERTY(QSize lastOffset READ lastOffset)
+
+public:
+ QPanGesture(QWidget *parent);
+
+ bool filterEvent(QEvent *event);
+ void reset();
+
+ QSize totalOffset() const;
+ QSize lastOffset() const;
+
+private:
+ bool event(QEvent *event);
+ bool eventFilter(QObject *receiver, QEvent *event);
+
+ friend class QWidget;
+};
+
+QT_END_NAMESPACE
+
+QT_END_HEADER
+
+#endif // QSTANDARDGESTURES_H
diff --git a/src/gui/kernel/qstandardgestures_p.h b/src/gui/kernel/qstandardgestures_p.h
new file mode 100644
index 0000000..0fe24ee
--- /dev/null
+++ b/src/gui/kernel/qstandardgestures_p.h
@@ -0,0 +1,90 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtGui module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QSTANDARDGESTURES_P_H
+#define QSTANDARDGESTURES_P_H
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists for the convenience
+// of other Qt classes. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
+#include "qevent.h"
+#include "qbasictimer.h"
+#include "qdebug.h"
+
+#include "qgesture.h"
+#include "qgesture_p.h"
+
+#include "qstandardgestures.h"
+
+QT_BEGIN_NAMESPACE
+
+class QPanGesturePrivate : public QGesturePrivate
+{
+ Q_DECLARE_PUBLIC(QPanGesture)
+
+public:
+ QPanGesturePrivate()
+ {
+#if defined(Q_OS_MAC) && !defined(QT_MAC_USE_COCOA)
+ panFinishedTimer = 0;
+#endif
+ }
+
+ QSize totalOffset;
+ QSize lastOffset;
+ QPoint lastPosition;
+
+#if defined(Q_OS_MAC) && !defined(QT_MAC_USE_COCOA)
+ int panFinishedTimer;
+#endif
+};
+
+QT_END_NAMESPACE
+
+#endif // QSTANDARDGESTURES_P_H
diff --git a/src/gui/kernel/qt_cocoa_helpers_mac.mm b/src/gui/kernel/qt_cocoa_helpers_mac.mm
index 073a00e..3104083 100644
--- a/src/gui/kernel/qt_cocoa_helpers_mac.mm
+++ b/src/gui/kernel/qt_cocoa_helpers_mac.mm
@@ -74,9 +74,11 @@
****************************************************************************/
#include <private/qcore_mac_p.h>
+#include <qaction.h>
#include <qwidget.h>
#include <qdesktopwidget.h>
#include <qevent.h>
+#include <qpixmapcache.h>
#include <private/qevent_p.h>
#include <private/qt_cocoa_helpers_mac_p.h>
#include <private/qt_mac_p.h>
@@ -177,11 +179,10 @@ void macWindowToolbarShow(const QWidget *widget, bool show )
{
OSWindowRef wnd = qt_mac_window_for(widget);
#if QT_MAC_USE_COCOA
- NSToolbar *toolbar = [wnd toolbar];
- if (toolbar) {
+ if (NSToolbar *toolbar = [wnd toolbar]) {
QMacCocoaAutoReleasePool pool;
if (show != [toolbar isVisible]) {
- [wnd toggleToolbarShown:wnd];
+ [toolbar setVisible:show];
} else {
// The toolbar may be in sync, but we are not, update our framestrut.
qt_widget_private(const_cast<QWidget *>(widget))->updateFrameStrut();
@@ -197,22 +198,21 @@ void macWindowToolbarSet( void * /*OSWindowRef*/ window, void *toolbarRef )
{
OSWindowRef wnd = static_cast<OSWindowRef>(window);
#if QT_MAC_USE_COCOA
- [wnd setToolbar:static_cast<NSToolbar *>(toolbarRef)];
+ [wnd setToolbar:static_cast<NSToolbar *>(toolbarRef)];
#else
SetWindowToolbar(wnd, static_cast<HIToolbarRef>(toolbarRef));
#endif
}
-bool macWindowToolbarVisible( void * /*OSWindowRef*/ window )
+bool macWindowToolbarIsVisible( void * /*OSWindowRef*/ window )
{
OSWindowRef wnd = static_cast<OSWindowRef>(window);
#if QT_MAC_USE_COCOA
- NSToolbar *toolbar = [wnd toolbar];
- if (toolbar)
+ if (NSToolbar *toolbar = [wnd toolbar])
return [toolbar isVisible];
return false;
#else
- return IsWindowToolbarVisible(wnd);
+ return IsWindowToolbarVisible(wnd);
#endif
}
@@ -220,12 +220,12 @@ void macWindowSetHasShadow( void * /*OSWindowRef*/ window, bool hasShadow )
{
OSWindowRef wnd = static_cast<OSWindowRef>(window);
#if QT_MAC_USE_COCOA
- [wnd setHasShadow:BOOL(hasShadow)];
+ [wnd setHasShadow:BOOL(hasShadow)];
#else
- if (hasShadow)
- ChangeWindowAttributes(wnd, 0, kWindowNoShadowAttribute);
- else
- ChangeWindowAttributes(wnd, kWindowNoShadowAttribute, 0);
+ if (hasShadow)
+ ChangeWindowAttributes(wnd, 0, kWindowNoShadowAttribute);
+ else
+ ChangeWindowAttributes(wnd, kWindowNoShadowAttribute, 0);
#endif
}
@@ -233,9 +233,9 @@ void macWindowFlush(void * /*OSWindowRef*/ window)
{
OSWindowRef wnd = static_cast<OSWindowRef>(window);
#if QT_MAC_USE_COCOA
- [wnd flushWindowIfNeeded];
+ [wnd flushWindowIfNeeded];
#else
- HIWindowFlush(wnd);
+ HIWindowFlush(wnd);
#endif
}
@@ -352,6 +352,12 @@ Qt::MouseButton qt_mac_get_button(EventMouseButton button)
return Qt::NoButton;
}
+void macSendToolbarChangeEvent(QWidget *widget)
+{
+ QToolBarChangeEvent ev(!(GetCurrentKeyModifiers() & cmdKey));
+ qt_sendSpontaneousEvent(widget, &ev);
+}
+
Q_GLOBAL_STATIC(QMacTabletHash, tablet_hash)
QMacTabletHash *qt_mac_tablet_hash()
{
@@ -1063,6 +1069,17 @@ void qt_mac_updateContentBorderMetricts(void * /*OSWindowRef */window, const ::H
#endif
}
+void qt_mac_showBaseLineSeparator(void * /*OSWindowRef */window, bool show)
+{
+#if QT_MAC_USE_COCOA
+ QMacCocoaAutoReleasePool pool;
+ OSWindowRef theWindow = static_cast<OSWindowRef>(window);
+ NSToolbar *macToolbar = [theWindow toolbar];
+ if (macToolbar)
+ [macToolbar setShowsBaselineSeparator: show];
+#endif
+}
+
QStringList qt_mac_NSArrayToQStringList(void *nsarray)
{
QStringList result;
@@ -1131,4 +1148,94 @@ CGFloat qt_mac_get_scalefactor()
#endif
}
+QString qt_mac_get_pasteboardString()
+{
+ QMacCocoaAutoReleasePool pool;
+ NSPasteboard *pb = [NSPasteboard generalPasteboard];
+ NSString *text = [pb stringForType:NSStringPboardType];
+ if (text) {
+ return qt_mac_NSStringToQString(text);
+ } else {
+ return QString();
+ }
+}
+
+QPixmap qt_mac_convert_iconref(const IconRef icon, int width, int height)
+{
+ QPixmap ret(width, height);
+ ret.fill(QColor(0, 0, 0, 0));
+
+ CGRect rect = CGRectMake(0, 0, width, height);
+
+ CGContextRef ctx = qt_mac_cg_context(&ret);
+ CGAffineTransform old_xform = CGContextGetCTM(ctx);
+ CGContextConcatCTM(ctx, CGAffineTransformInvert(old_xform));
+ CGContextConcatCTM(ctx, CGAffineTransformIdentity);
+
+ ::RGBColor b;
+ b.blue = b.green = b.red = 255*255;
+ PlotIconRefInContext(ctx, &rect, kAlignNone, kTransformNone, &b, kPlotIconRefNormalFlags, icon);
+ CGContextRelease(ctx);
+ return ret;
+}
+
+void qt_mac_constructQIconFromIconRef(const IconRef icon, const IconRef overlayIcon, QIcon *retIcon, QStyle::StandardPixmap standardIcon)
+{
+ int size = 16;
+ while (size <= 128) {
+
+ const QString cacheKey = QLatin1String("qt_mac_constructQIconFromIconRef") + QString::number(standardIcon) + QString::number(size);
+ QPixmap mainIcon;
+ if (standardIcon >= QStyle::SP_CustomBase) {
+ mainIcon = qt_mac_convert_iconref(icon, size, size);
+ } else if (QPixmapCache::find(cacheKey, mainIcon) == false) {
+ mainIcon = qt_mac_convert_iconref(icon, size, size);
+ QPixmapCache::insert(cacheKey, mainIcon);
+ }
+
+ if (overlayIcon) {
+ int littleSize = size / 2;
+ QPixmap overlayPix = qt_mac_convert_iconref(overlayIcon, littleSize, littleSize);
+ QPainter painter(&mainIcon);
+ painter.drawPixmap(size - littleSize, size - littleSize, overlayPix);
+ }
+
+ retIcon->addPixmap(mainIcon);
+ size += size; // 16 -> 32 -> 64 -> 128
+ }
+}
+
+void qt_mac_menu_collapseSeparators(void */*NSMenu **/ theMenu, bool collapse)
+{
+ OSMenuRef menu = static_cast<OSMenuRef>(theMenu);
+ if (collapse) {
+ bool previousIsSeparator = true; // setting to true kills all the separators placed at the top.
+ NSMenuItem *previousItem = nil;
+
+ NSArray *itemArray = [menu itemArray];
+ for (unsigned int i = 0; i < [itemArray count]; ++i) {
+ NSMenuItem *item = reinterpret_cast<NSMenuItem *>([itemArray objectAtIndex:i]);
+ if ([item isSeparatorItem]) {
+ [item setHidden:previousIsSeparator];
+ }
+
+ if (![item isHidden]) {
+ previousItem = item;
+ previousIsSeparator = ([previousItem isSeparatorItem]);
+ }
+ }
+
+ // We now need to check the final item since we don't want any separators at the end of the list.
+ if (previousItem && previousIsSeparator)
+ [previousItem setHidden:YES];
+ } else {
+ NSArray *itemArray = [menu itemArray];
+ for (unsigned int i = 0; i < [itemArray count]; ++i) {
+ NSMenuItem *item = reinterpret_cast<NSMenuItem *>([itemArray objectAtIndex:i]);
+ if (QAction *action = reinterpret_cast<QAction *>([item tag]))
+ [item setHidden:!action->isVisible()];
+ }
+ }
+}
+
QT_END_NAMESPACE
diff --git a/src/gui/kernel/qt_cocoa_helpers_mac_p.h b/src/gui/kernel/qt_cocoa_helpers_mac_p.h
index 7b975f5..741edd6 100644
--- a/src/gui/kernel/qt_cocoa_helpers_mac_p.h
+++ b/src/gui/kernel/qt_cocoa_helpers_mac_p.h
@@ -105,6 +105,8 @@
#include <qpoint.h>
#include "private/qt_mac_p.h"
+struct HIContentBorderMetrics;
+
#ifdef Q_WS_MAC32
typedef struct _NSPoint NSPoint; // Just redefine here so I don't have to pull in all of Cocoa.
#else
@@ -118,11 +120,12 @@ void macWindowFade(void * /*OSWindowRef*/ window, float durationSeconds = 0);
bool macWindowIsTextured(void * /*OSWindowRef*/ window);
void macWindowToolbarShow(const QWidget *widget, bool show );
void macWindowToolbarSet( void * /*OSWindowRef*/ window, void* toolbarRef );
-bool macWindowToolbarVisible( void * /*OSWindowRef*/ window );
+bool macWindowToolbarIsVisible( void * /*OSWindowRef*/ window );
void macWindowSetHasShadow( void * /*OSWindowRef*/ window, bool hasShadow );
void macWindowFlush(void * /*OSWindowRef*/ window);
-struct HIContentBorderMetrics;
+void macSendToolbarChangeEvent(QWidget *widget);
void qt_mac_updateContentBorderMetricts(void * /*OSWindowRef */window, const ::HIContentBorderMetrics &metrics);
+void qt_mac_showBaseLineSeparator(void * /*OSWindowRef */window, bool show);
void * /*NSImage */qt_mac_create_nsimage(const QPixmap &pm);
void qt_mac_update_mouseTracking(QWidget *widget);
OSStatus qt_mac_drawCGImage(CGContextRef cg, const CGRect *inbounds, CGImageRef);
@@ -131,6 +134,7 @@ void qt_dispatchTabletProximityEvent(void * /*NSEvent * */ tabletEvent);
#ifdef QT_MAC_USE_COCOA
bool qt_dispatchKeyEventWithCocoa(void * /*NSEvent * */ keyEvent, QWidget *widgetToGetEvent);
#endif
+void qt_mac_menu_collapseSeparators(void * /*NSMenu */ menu, bool collapse);
bool qt_dispatchKeyEvent(void * /*NSEvent * */ keyEvent, QWidget *widgetToGetEvent);
void qt_dispatchModifiersChanged(void * /*NSEvent * */flagsChangedEvent, QWidget *widgetToGetEvent);
void qt_mac_dispatchNCMouseMessage(void */* NSWindow* */eventWindow, void */* NSEvent* */mouseEvent,
@@ -142,6 +146,9 @@ struct ::TabletProximityRec;
void qt_dispatchTabletProximityEvent(const ::TabletProximityRec &proxRec);
Qt::KeyboardModifiers qt_cocoaModifiers2QtModifiers(ulong modifierFlags);
Qt::KeyboardModifiers qt_cocoaDragOperation2QtModifiers(uint dragOperations);
+QPixmap qt_mac_convert_iconref(const IconRef icon, int width, int height);
+void qt_mac_constructQIconFromIconRef(const IconRef icon, const IconRef overlayIcon, QIcon *retIcon,
+ QStyle::StandardPixmap standardIcon = QStyle::SP_CustomBase);
inline int flipYCoordinate(int y)
{
return QApplication::desktop()->screenGeometry(0).height() - y;
@@ -162,6 +169,7 @@ void *qt_mac_QStringListToNSMutableArrayVoid(const QStringList &list);
void qt_syncCocoaTitleBarButtons(OSWindowRef window, QWidget *widgetForWindow);
CGFloat qt_mac_get_scalefactor();
+QString qt_mac_get_pasteboardString();
#ifdef __OBJC__
inline NSMutableArray *qt_mac_QStringListToNSMutableArray(const QStringList &qstrlist)
diff --git a/src/gui/kernel/qt_s60_p.h b/src/gui/kernel/qt_s60_p.h
index 7fb401c..1ac6a8e 100644
--- a/src/gui/kernel/qt_s60_p.h
+++ b/src/gui/kernel/qt_s60_p.h
@@ -1,9 +1,9 @@
/****************************************************************************
**
-** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
-** This file is part of the $MODULE$ of the Qt Toolkit.
+** This file is part of the QtGui of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/src/gui/kernel/qt_x11_p.h b/src/gui/kernel/qt_x11_p.h
index 1c8394b..1ac51e0 100644
--- a/src/gui/kernel/qt_x11_p.h
+++ b/src/gui/kernel/qt_x11_p.h
@@ -74,11 +74,19 @@
#include <X11/Xutil.h>
#include <X11/Xos.h>
#ifdef index
-# undef index
+# undef index
#endif
#ifdef rindex
-# undef rindex
+# undef rindex
#endif
+#ifdef Q_OS_VXWORS
+# ifdef open
+# undef open
+# endif
+# ifdef getpid
+# undef getpid
+# endif
+#endif // Q_OS_VXWORKS
#include <X11/Xatom.h>
//#define QT_NO_SHAPE
diff --git a/src/gui/kernel/qwhatsthis.cpp b/src/gui/kernel/qwhatsthis.cpp
index 067c783..62b5863 100644
--- a/src/gui/kernel/qwhatsthis.cpp
+++ b/src/gui/kernel/qwhatsthis.cpp
@@ -226,7 +226,9 @@ QWhatsThat::QWhatsThat(const QString& txt, QWidget* parent, QWidget *showTextFor
text);
}
#if defined(Q_WS_WIN)
- if ((QSysInfo::WindowsVersion&QSysInfo::WV_NT_based) > QSysInfo::WV_2000) {
+ if ((QSysInfo::WindowsVersion >= QSysInfo::WV_XP
+ && QSysInfo::WindowsVersion < QSysInfo::WV_NT_based))
+ {
BOOL shadow;
SystemParametersInfo(SPI_GETDROPSHADOW, 0, &shadow, 0);
shadowWidth = shadow ? 0 : 6;
@@ -302,7 +304,9 @@ void QWhatsThat::paintEvent(QPaintEvent*)
{
bool drawShadow = true;
#if defined(Q_WS_WIN)
- if ((QSysInfo::WindowsVersion&QSysInfo::WV_NT_based) > QSysInfo::WV_2000) {
+ if ((QSysInfo::WindowsVersion >= QSysInfo::WV_XP
+ && QSysInfo::WindowsVersion < QSysInfo::WV_NT_based))
+ {
BOOL shadow;
SystemParametersInfo(SPI_GETDROPSHADOW, 0, &shadow, 0);
drawShadow = !shadow;
@@ -347,6 +351,7 @@ void QWhatsThat::paintEvent(QPaintEvent*)
rect.translate(-r.x(), -r.y());
p.setClipRect(rect);
QAbstractTextDocumentLayout::PaintContext context;
+ context.palette.setBrush(QPalette::Text, context.palette.toolTipText());
doc->documentLayout()->draw(&p, context);
}
else
diff --git a/src/gui/kernel/qwidget.cpp b/src/gui/kernel/qwidget.cpp
index bca0e9d..a8157d5 100644
--- a/src/gui/kernel/qwidget.cpp
+++ b/src/gui/kernel/qwidget.cpp
@@ -82,6 +82,8 @@
#include "private/qstyle_p.h"
#include "private/qinputcontext_p.h"
#include "qfileinfo.h"
+#include "qstandardgestures.h"
+#include "qstandardgestures_p.h"
#if defined (Q_WS_WIN)
# include <private/qwininputcontext_p.h>
@@ -111,9 +113,9 @@
#include "private/qgraphicsproxywidget_p.h"
#include "QtGui/qabstractscrollarea.h"
#include "private/qabstractscrollarea_p.h"
+#include "private/qevent_p.h"
#include "private/qgraphicssystem_p.h"
-#include "private/qgesturemanager_p.h"
// widget/widget data creation count
//#define QWIDGET_EXTRA_DEBUG
@@ -132,8 +134,6 @@ Q_GUI_EXPORT void qt_x11_set_global_double_buffer(bool enable)
}
#endif
-QString qt_getStandardGestureTypeName(Qt::GestureType);
-
static inline bool qRectIntersects(const QRect &r1, const QRect &r2)
{
return (qMax(r1.left(), r2.left()) <= qMin(r1.right(), r2.right()) &&
@@ -511,7 +511,7 @@ void QWidget::setAutoFillBackground(bool enabled)
been outlined to indicate their full sizes.
If you want to use a QWidget to hold child widgets you will usually want to
- add a layout to the parent QWidget. See \l{Layout Classes} for more
+ add a layout to the parent QWidget. See \l{Layout Management} for more
information.
@@ -869,8 +869,8 @@ void QWidget::setAutoFillBackground(bool enabled)
\list
\o X11: This feature relies on the use of an X server that supports ARGB visuals
and a compositing window manager.
- \o Windows: This feature requires Windows 2000 or later. The widget needs to have
- the Qt::FramelessWindowHint window flag set for the translucency to work.
+ \o Windows: The widget needs to have the Qt::FramelessWindowHint window flag set
+ for the translucency to work.
\endlist
@@ -1454,6 +1454,11 @@ QWidget::~QWidget()
// set all QPointers for this object to zero
QObjectPrivate::clearGuards(this);
+ if (d->declarativeData) {
+ d->declarativeData->destroyed(this);
+ d->declarativeData = 0; // don't activate again in ~QObject
+ }
+
if (!d->children.isEmpty())
d->deleteChildren();
@@ -2052,10 +2057,9 @@ void QPixmap::fill( const QWidget *widget, const QPoint &off )
QPainter p(this);
p.translate(-off);
widget->d_func()->paintBackground(&p, QRect(off, size()));
-
}
-static inline void fillRegion(QPainter *painter, const QRegion &rgn, const QPoint &offset, const QBrush &brush)
+static inline void fillRegion(QPainter *painter, const QRegion &rgn, const QBrush &brush)
{
Q_ASSERT(painter);
@@ -2064,34 +2068,46 @@ static inline void fillRegion(QPainter *painter, const QRegion &rgn, const QPoin
// Optimize pattern filling on mac by using HITheme directly
// when filling with the standard widget background.
// Defined in qmacstyle_mac.cpp
- extern void qt_mac_fill_background(QPainter *painter, const QRegion &rgn, const QPoint &offset, const QBrush &brush);
- qt_mac_fill_background(painter, rgn, offset, brush);
+ extern void qt_mac_fill_background(QPainter *painter, const QRegion &rgn, const QBrush &brush);
+ qt_mac_fill_background(painter, rgn, brush);
#else
#if !defined(QT_NO_STYLE_S60)
// Defined in qs60style.cpp
- extern bool qt_s60_fill_background(QPainter *painter, const QRegion &rgn,
- const QPoint &offset, const QBrush &brush);
- if (!qt_s60_fill_background(painter, rgn, offset, brush))
+ extern bool qt_s60_fill_background(QPainter *painter, const QRegion &rgn, const QBrush &brush);
+ if (!qt_s60_fill_background(painter, rgn, brush))
#endif // !defined(QT_NO_STYLE_S60)
{
- const QRegion translated = rgn.translated(offset);
- const QRect rect(translated.boundingRect());
- painter->setClipRegion(translated);
+ const QRect rect(rgn.boundingRect());
+ painter->setClipRegion(rgn);
painter->drawTiledPixmap(rect, brush.texture(), rect.topLeft());
}
#endif // Q_WS_MAC
} else {
const QVector<QRect> &rects = rgn.rects();
for (int i = 0; i < rects.size(); ++i)
- painter->fillRect(rects.at(i).translated(offset), brush);
+ painter->fillRect(rects.at(i), brush);
}
}
-
-void QWidgetPrivate::paintBackground(QPainter *painter, const QRegion &rgn, const QPoint &offset, int flags) const
+void QWidgetPrivate::paintBackground(QPainter *painter, const QRegion &rgn, int flags) const
{
Q_Q(const QWidget);
+#ifndef QT_NO_SCROLLAREA
+ bool resetBrushOrigin = false;
+ QPointF oldBrushOrigin;
+ //If we are painting the viewport of a scrollarea, we must apply an offset to the brush in case we are drawing a texture
+ QAbstractScrollArea *scrollArea = qobject_cast<QAbstractScrollArea *>(parent);
+ if (scrollArea && scrollArea->viewport() == q) {
+ QObjectData *scrollPrivate = static_cast<QWidget *>(scrollArea)->d_ptr.data();
+ QAbstractScrollAreaPrivate *priv = static_cast<QAbstractScrollAreaPrivate *>(scrollPrivate);
+ oldBrushOrigin = painter->brushOrigin();
+ resetBrushOrigin = true;
+ painter->setBrushOrigin(-priv->contentsOffset());
+
+ }
+#endif // QT_NO_SCROLLAREA
+
const QBrush autoFillBrush = q->palette().brush(q->backgroundRole());
if ((flags & DrawAsRoot) && !(q->autoFillBackground() && autoFillBrush.isOpaque())) {
@@ -2100,19 +2116,24 @@ void QWidgetPrivate::paintBackground(QPainter *painter, const QRegion &rgn, cons
if (!(flags & DontSetCompositionMode) && painter->paintEngine()->hasFeature(QPaintEngine::PorterDuff))
painter->setCompositionMode(QPainter::CompositionMode_Source); //copy alpha straight in
#endif
- fillRegion(painter, rgn, offset, bg);
-
+ fillRegion(painter, rgn, bg);
}
if (q->autoFillBackground())
- fillRegion(painter, rgn, offset, autoFillBrush);
+ fillRegion(painter, rgn, autoFillBrush);
+
if (q->testAttribute(Qt::WA_StyledBackground)) {
- painter->setClipRegion(rgn.translated(offset));
+ painter->setClipRegion(rgn);
QStyleOption opt;
opt.initFrom(q);
q->style()->drawPrimitive(QStyle::PE_Widget, &opt, painter, q);
}
+
+#ifndef QT_NO_SCROLLAREA
+ if (resetBrushOrigin)
+ painter->setBrushOrigin(oldBrushOrigin);
+#endif // QT_NO_SCROLLAREA
}
/*
@@ -3568,11 +3589,16 @@ bool QWidgetPrivate::setMinimumSize_helper(int &minw, int &minh)
minh = qMax(minh, 0);
}
createExtra();
- if (extra->minw == minw && extra->minh == minh)
+ int mw = minw, mh = minh;
+ if (mw == QWIDGETSIZE_MAX)
+ mw = 0;
+ if (mh == QWIDGETSIZE_MAX)
+ mh = 0;
+ if (extra->minw == mw && extra->minh == mh)
return false;
- extra->minw = minw;
- extra->minh = minh;
- extra->explicitMinSize = (minw ? Qt::Horizontal : 0) | (minh ? Qt::Vertical : 0);
+ extra->minw = mw;
+ extra->minh = mh;
+ extra->explicitMinSize = (mw ? Qt::Horizontal : 0) | (mh ? Qt::Vertical : 0);
return true;
}
@@ -3632,7 +3658,8 @@ bool QWidgetPrivate::setMaximumSize_helper(int &maxw, int &maxh)
return false;
extra->maxw = maxw;
extra->maxh = maxh;
- extra->explicitMaxSize = (maxw != QWIDGETSIZE_MAX ? Qt::Horizontal : 0) | (maxh != QWIDGETSIZE_MAX ? Qt::Vertical : 0);
+ extra->explicitMaxSize = (maxw != QWIDGETSIZE_MAX ? Qt::Horizontal : 0) |
+ (maxh != QWIDGETSIZE_MAX ? Qt::Vertical : 0);
return true;
}
@@ -3711,6 +3738,8 @@ void QWidget::setBaseSize(int basew, int baseh)
This will override the default size constraints set by QLayout.
+ To remove constraints, set the size to QWIDGETSIZE_MAX.
+
Alternatively, if you want the widget to have a
fixed size based on its contents, you can call
QLayout::setSizeConstraint(QLayout::SetFixedSize);
@@ -3752,7 +3781,8 @@ void QWidget::setFixedSize(int w, int h)
else
d->updateGeometry_helper(true);
- resize(w, h);
+ if (w != QWIDGETSIZE_MAX || h != QWIDGETSIZE_MAX)
+ resize(w, h);
}
void QWidget::setMinimumWidth(int w)
@@ -4636,6 +4666,11 @@ void QWidget::unsetLayoutDirection()
By default, this property contains a cursor with the Qt::ArrowCursor
shape.
+ Some underlying window implementations will reset the cursor if it
+ leaves a widget even if the mouse is grabbed. If you want to have
+ a cursor set for all widgets, even when outside the window, consider
+ QApplication::setOverrideCursor().
+
\sa QApplication::setOverrideCursor()
*/
@@ -5096,19 +5131,7 @@ void QWidgetPrivate::drawWidget(QPaintDevice *pdev, const QRegion &rgn, const QP
&& !q->testAttribute(Qt::WA_OpaquePaintEvent) && !q->testAttribute(Qt::WA_NoSystemBackground)) {
QPainter p(q);
- QPoint scrollAreaOffset;
-
-#ifndef QT_NO_SCROLLAREA
- QAbstractScrollArea *scrollArea = qobject_cast<QAbstractScrollArea *>(parent);
- if (scrollArea && scrollArea->viewport() == q) {
- QObjectData *scrollPrivate = static_cast<QWidget *>(scrollArea)->d_ptr.data();
- QAbstractScrollAreaPrivate *priv = static_cast<QAbstractScrollAreaPrivate *>(scrollPrivate);
- scrollAreaOffset = priv->contentsOffset();
- p.translate(-scrollAreaOffset);
- }
-#endif // QT_NO_SCROLLAREA
-
- paintBackground(&p, toBePainted, scrollAreaOffset, (asRoot || onScreen) ? flags | DrawAsRoot : 0);
+ paintBackground(&p, toBePainted, (asRoot || onScreen) ? flags | DrawAsRoot : 0);
}
if (!sharedPainter)
@@ -5557,8 +5580,6 @@ QString QWidget::windowIconText() const
\list
\o The file name of the specified path, obtained using QFileInfo::fileName().
- \o An optional \c{*} character, if the \l windowModified property is set,
- as per the Apple Human Interface Guidelines.
\endlist
On Windows and X11:
@@ -5607,7 +5628,7 @@ void QWidgetPrivate::setWindowFilePath_helper(const QString &filePath)
{
if (extra->topextra && extra->topextra->caption.isEmpty()) {
#ifdef Q_WS_MAC
- setWindowTitle_helper(filePath);
+ setWindowTitle_helper(QFileInfo(filePath).fileName());
#else
Q_Q(QWidget);
Q_UNUSED(filePath);
@@ -7605,7 +7626,6 @@ bool QWidget::event(QEvent *event)
#ifndef QT_NO_WHEELEVENT
case QEvent::Wheel:
#endif
- case QEvent::Gesture:
return false;
default:
break;
@@ -8006,9 +8026,6 @@ bool QWidget::event(QEvent *event)
d->needWindowChange = false;
break;
#endif
- case QEvent::Gesture:
- event->ignore();
- break;
case QEvent::TouchBegin:
case QEvent::TouchUpdate:
case QEvent::TouchEnd:
@@ -8971,7 +8988,7 @@ QRegion QWidget::mask() const
The layout manager sets the geometry of the widget's children
that have been added to the layout.
- \sa setLayout(), sizePolicy(), {Layout Classes}
+ \sa setLayout(), sizePolicy(), {Layout Management}
*/
QLayout *QWidget::layout() const
{
@@ -9001,7 +9018,7 @@ QLayout *QWidget::layout() const
The QWidget will take ownership of \a layout.
- \sa layout(), {Layout Classes}
+ \sa layout(), {Layout Management}
*/
void QWidget::setLayout(QLayout *l)
@@ -9967,6 +9984,10 @@ void QWidget::setAttribute(Qt::WidgetAttribute attribute, bool on)
data->window_modality = (w && w->testAttribute(Qt::WA_GroupLeader))
? Qt::WindowModal
: Qt::ApplicationModal;
+ // Some window managers does not allow us to enter modal after the
+ // window is showing. Therefore, to be consistent, we cannot call
+ // QApplicationPrivate::enterModal(this) here. The window must be
+ // hidden before changing modality.
}
if (testAttribute(Qt::WA_WState_Created)) {
// don't call setModal_sys() before create_sys()
@@ -10020,11 +10041,8 @@ void QWidget::setAttribute(Qt::WidgetAttribute attribute, bool on)
break;
case Qt::WA_InputMethodEnabled: {
QInputContext *ic = d->ic;
- if (!ic) {
- // implicitly create input context only if we have a focus
- if (hasFocus())
- ic = d->inputContext();
- }
+ if (!ic && (!on || hasFocus()))
+ ic = d->inputContext();
if (ic) {
if (on && hasFocus() && ic->focusWidget() != this && isEnabled()) {
ic->setFocusWidget(this);
@@ -10139,8 +10157,8 @@ bool QWidget::testAttribute_helper(Qt::WidgetAttribute attribute) const
By default the value of this property is 1.0.
- This feature is available on Embedded Linux, Mac OS X, X11 platforms that
- support the Composite extension, and Windows 2000 and later.
+ This feature is available on Embedded Linux, Mac OS X, Windows,
+ and X11 platforms that support the Composite extension.
This feature is not available on Windows CE.
@@ -11191,103 +11209,6 @@ QWindowSurface *QWidget::windowSurface() const
return bs ? bs->windowSurface : 0;
}
-/*!
- \since 4.6
-
- Subscribes the widget to the specified \a gesture type.
-
- Returns the id of the gesture.
-
- \sa releaseGesture(), setGestureEnabled()
-*/
-int QWidget::grabGesture(const QString &gesture)
-{
- Q_D(QWidget);
- int id = d->grabGesture(QGestureManager::instance()->makeGestureId(gesture));
- if (d->extra && d->extra->proxyWidget)
- d->extra->proxyWidget->QGraphicsItem::d_ptr->grabGesture(id);
- return id;
-}
-
-int QWidgetPrivate::grabGesture(int gestureId)
-{
- gestures << gestureId;
- ++qApp->d_func()->grabbedGestures[QGestureManager::instance()->gestureNameFromId(gestureId)];
- return gestureId;
-}
-
-bool QWidgetPrivate::releaseGesture(int gestureId)
-{
- QApplicationPrivate *qAppPriv = qApp->d_func();
- if (gestures.contains(gestureId)) {
- QString name = QGestureManager::instance()->gestureNameFromId(gestureId);
- Q_ASSERT(qAppPriv->grabbedGestures[name] > 0);
- --qAppPriv->grabbedGestures[name];
- gestures.remove(gestureId);
- return true;
- }
- return false;
-}
-
-bool QWidgetPrivate::hasGesture(const QString &name) const
-{
- QGestureManager *gm = QGestureManager::instance();
- QSet<int>::const_iterator it = gestures.begin(),
- e = gestures.end();
- for (; it != e; ++it) {
- if (gm->gestureNameFromId(*it) == name)
- return true;
- }
- return false;
-}
-
-/*!
- \since 4.6
-
- Subscribes the widget to the specified \a gesture type.
-
- Returns the id of the gesture.
-
- \sa releaseGesture(), setGestureEnabled()
-*/
-int QWidget::grabGesture(Qt::GestureType gesture)
-{
- return grabGesture(qt_getStandardGestureTypeName(gesture));
-}
-
-/*!
- \since 4.6
-
- Unsubscribes the widget from a gesture, which is specified by the
- \a gestureId.
-
- \sa grabGesture(), setGestureEnabled()
-*/
-void QWidget::releaseGesture(int gestureId)
-{
- Q_D(QWidget);
- if (d->releaseGesture(gestureId)) {
- if (d->extra && d->extra->proxyWidget)
- d->extra->proxyWidget->QGraphicsItem::d_ptr->releaseGesture(gestureId);
- QGestureManager::instance()->releaseGestureId(gestureId);
- }
-}
-
-/*!
- \since 4.6
-
- If \a enable is true, the gesture with the given \a gestureId is
- enabled; otherwise the gesture is disabled.
-
- The id of the gesture is returned by the grabGesture().
-
- \sa grabGesture(), releaseGesture()
-*/
-void QWidget::setGestureEnabled(int gestureId, bool enable)
-{
- //###
-}
-
void QWidgetPrivate::getLayoutItemMargins(int *left, int *top, int *right, int *bottom) const
{
if (left)
diff --git a/src/gui/kernel/qwidget.h b/src/gui/kernel/qwidget.h
index 51605ba..c73f633 100644
--- a/src/gui/kernel/qwidget.h
+++ b/src/gui/kernel/qwidget.h
@@ -90,7 +90,6 @@ class QDragLeaveEvent;
class QDropEvent;
class QShowEvent;
class QHideEvent;
-class QGestureEvent;
class QInputContext;
class QIcon;
class QWindowSurface;
@@ -143,7 +142,7 @@ class QWidgetPrivate;
class Q_GUI_EXPORT QWidget : public QObject, public QPaintDevice
{
Q_OBJECT
- Q_DECLARE_SCOPED_PRIVATE(QWidget)
+ Q_DECLARE_PRIVATE(QWidget)
Q_PROPERTY(bool modal READ isModal)
Q_PROPERTY(Qt::WindowModality windowModality READ windowModality WRITE setWindowModality)
@@ -616,11 +615,6 @@ public:
void setWindowSurface(QWindowSurface *surface);
QWindowSurface *windowSurface() const;
- int grabGesture(const QString &gesture);
- int grabGesture(Qt::GestureType gesture);
- void releaseGesture(int gestureId);
- void setGestureEnabled(int gestureId, bool enable = true);
-
Q_SIGNALS:
void customContextMenuRequested(const QPoint &pos);
@@ -765,7 +759,6 @@ private:
friend class QSymbianControl;
friend class QS60WindowSurface;
#endif
- friend class QGestureManager;
#ifdef Q_WS_X11
friend void qt_net_update_user_time(QWidget *tlw, unsigned long timestamp);
friend void qt_net_remove_user_time(QWidget *tlw);
diff --git a/src/gui/kernel/qwidget_mac.mm b/src/gui/kernel/qwidget_mac.mm
index 4797ddf..070110d 100644
--- a/src/gui/kernel/qwidget_mac.mm
+++ b/src/gui/kernel/qwidget_mac.mm
@@ -83,6 +83,7 @@
#include "qcursor.h"
#include "qdesktopwidget.h"
#include "qevent.h"
+#include "qfileinfo.h"
#include "qimage.h"
#include "qlayout.h"
#include "qmenubar.h"
@@ -843,8 +844,7 @@ OSStatus QWidgetPrivate::qt_window_event(EventHandlerCallRef er, EventRef event,
extern QPointer<QWidget> qt_button_down; //qapplication_mac.cpp
qt_button_down = 0;
} else if(ekind == kEventWindowToolbarSwitchMode) {
- QToolBarChangeEvent ev(!(GetCurrentKeyModifiers() & cmdKey));
- QApplication::sendSpontaneousEvent(widget, &ev);
+ macSendToolbarChangeEvent(widget);
HIToolbarRef toolbar;
if (GetWindowToolbar(wid, &toolbar) == noErr) {
if (toolbar) {
@@ -1116,23 +1116,9 @@ OSStatus QWidgetPrivate::qt_widget_event(EventHandlerCallRef er, EventRef event,
//update handles
GrafPtr qd = 0;
CGContextRef cg = 0;
-#ifndef QT_MAC_NO_QUICKDRAW
- {
- if(GetEventParameter(event, kEventParamGrafPort, typeGrafPtr, 0, sizeof(qd), 0, &qd) != noErr) {
- GDHandle dev = 0;
- GetGWorld(&qd, &dev); //just use the global port..
- }
- }
- bool end_cg_context = false;
- if(GetEventParameter(event, kEventParamCGContextRef, typeCGContextRef, 0, sizeof(cg), 0, &cg) != noErr && qd) {
- end_cg_context = true;
- QDBeginCGContext(qd, &cg);
- }
-#else
if(GetEventParameter(event, kEventParamCGContextRef, typeCGContextRef, 0, sizeof(cg), 0, &cg) != noErr) {
Q_ASSERT(false);
}
-#endif
widget->d_func()->hd = cg;
widget->d_func()->qd_hd = qd;
CGContextSaveGState(cg);
@@ -1198,22 +1184,13 @@ OSStatus QWidgetPrivate::qt_widget_event(EventHandlerCallRef er, EventRef event,
p.setClipping(false);
if(was_unclipped)
widget->setAttribute(Qt::WA_PaintUnclipped);
-
- QAbstractScrollArea *scrollArea = qobject_cast<QAbstractScrollArea *>(widget->parent());
- QPoint scrollAreaOffset;
- if (scrollArea && scrollArea->viewport() == widget) {
- QAbstractScrollAreaPrivate *priv = static_cast<QAbstractScrollAreaPrivate *>(static_cast<QWidget *>(scrollArea)->d_ptr.data());
- scrollAreaOffset = priv->contentsOffset();
- p.translate(-scrollAreaOffset);
- }
-
- widget->d_func()->paintBackground(&p, qrgn, scrollAreaOffset, widget->isWindow() ? DrawAsRoot : 0);
+ widget->d_func()->paintBackground(&p, qrgn, widget->isWindow() ? DrawAsRoot : 0);
if (widget->testAttribute(Qt::WA_TintedBackground)) {
QColor tint = widget->palette().window().color();
tint.setAlphaF(.6);
const QVector<QRect> &rects = qrgn.rects();
for (int i = 0; i < rects.size(); ++i)
- p.fillRect(rects.at(i).translated(scrollAreaOffset), tint);
+ p.fillRect(rects.at(i), tint);
}
p.end();
if (!redirectionOffset.isNull())
@@ -1261,10 +1238,6 @@ OSStatus QWidgetPrivate::qt_widget_event(EventHandlerCallRef er, EventRef event,
widget->d_func()->hd = 0;
widget->d_func()->qd_hd = 0;
CGContextRestoreGState(cg);
-#ifndef QT_MAC_NO_QUICKDRAW
- if(end_cg_context)
- QDEndCGContext(qd, &cg);
-#endif
} else if(!HIObjectIsOfClass((HIObjectRef)hiview, kObjectQWidget)) {
CallNextEventHandler(er, event);
}
@@ -1369,6 +1342,14 @@ OSStatus QWidgetPrivate::qt_widget_event(EventHandlerCallRef er, EventRef event,
// Set dropWidget to zero, so qt_mac_dnd_event
// doesn't get called a second time below:
dropWidget = 0;
+ } else if (ekind == kEventControlDragLeave) {
+ dropWidget = QDragManager::self()->currentTarget();
+ if (dropWidget) {
+ dropWidget->d_func()->qt_mac_dnd_event(kEventControlDragLeave, drag);
+ }
+ // Set dropWidget to zero, so qt_mac_dnd_event
+ // doesn't get called a second time below:
+ dropWidget = 0;
}
}
}
@@ -2861,8 +2842,7 @@ void QWidgetPrivate::setWindowTitle_sys(const QString &caption)
SetWindowTitleWithCFString(qt_mac_window_for(q), QCFString(caption));
#else
QMacCocoaAutoReleasePool pool;
- [qt_mac_window_for(q)
- setTitle:reinterpret_cast<const NSString *>(static_cast<CFStringRef>(QCFString(caption)))];
+ [qt_mac_window_for(q) setTitle:qt_mac_QStringToNSString(caption)];
#endif
}
}
@@ -2884,7 +2864,8 @@ void QWidgetPrivate::setWindowFilePath_sys(const QString &filePath)
Q_Q(QWidget);
#ifdef QT_MAC_USE_COCOA
QMacCocoaAutoReleasePool pool;
- [qt_mac_window_for(q) setRepresentedFilename:reinterpret_cast<const NSString *>(static_cast<CFStringRef>(QCFString(filePath)))];
+ QFileInfo fi(filePath);
+ [qt_mac_window_for(q) setRepresentedFilename:fi.exists() ? qt_mac_QStringToNSString(filePath) : @""];
#else
bool validRef = false;
FSRef ref;
@@ -2974,8 +2955,7 @@ void QWidgetPrivate::setWindowIconText_sys(const QString &iconText)
SetWindowAlternateTitle(qt_mac_window_for(q), QCFString(iconText));
#else
QMacCocoaAutoReleasePool pool;
- [qt_mac_window_for(q)
- setMiniwindowTitle:reinterpret_cast<const NSString *>(static_cast<CFStringRef>(QCFString(iconText)))];
+ [qt_mac_window_for(q) setMiniwindowTitle:qt_mac_QStringToNSString(iconText)];
#endif
}
}
@@ -3124,7 +3104,12 @@ void QWidgetPrivate::update_sys(const QRegion &rgn)
return;
dirtyOnWidget += rgn;
#ifndef QT_MAC_USE_COCOA
- HIViewSetNeedsDisplayInRegion(qt_mac_nativeview_for(q), QMacSmartQuickDrawRegion(rgn.toQDRgn()), true);
+ RgnHandle rgnHandle = rgn.toQDRgnForUpdate_sys();
+ if (rgnHandle)
+ HIViewSetNeedsDisplayInRegion(qt_mac_nativeview_for(q), QMacSmartQuickDrawRegion(rgnHandle), true);
+ else {
+ HIViewSetNeedsDisplay(qt_mac_nativeview_for(q), true); // do a complete repaint on overflow.
+ }
#else
// Cocoa doesn't do regions, it seems more efficient to just update the bounding rect instead of a potential number of message passes for each rect.
const QRect &boundingRect = rgn.boundingRect();
@@ -3822,8 +3807,6 @@ void QWidgetPrivate::setWSGeometry(bool dontShow, const QRect &oldRect)
Qt coordinate system for parent
X coordinate system for parent (relative to parent's wrect).
*/
- QRect validRange(-XCOORD_MAX,-XCOORD_MAX, 2*XCOORD_MAX, 2*XCOORD_MAX);
- QRect wrectRange(-WRECT_MAX,-WRECT_MAX, 2*WRECT_MAX, 2*WRECT_MAX);
QRect wrect;
//xrect is the X geometry of my X widget. (starts out in parent's Qt coord sys, and ends up in parent's X coord sys)
QRect xrect = data.crect;
@@ -3845,6 +3828,7 @@ void QWidgetPrivate::setWSGeometry(bool dontShow, const QRect &oldRect)
parentWRect = QRect(tmpRect.origin.x, tmpRect.origin.y,
tmpRect.size.width, tmpRect.size.height);
} else {
+ const QRect wrectRange(-WRECT_MAX,-WRECT_MAX, 2*WRECT_MAX, 2*WRECT_MAX);
parentWRect = wrectRange;
}
} else {
@@ -3900,15 +3884,24 @@ void QWidgetPrivate::setWSGeometry(bool dontShow, const QRect &oldRect)
}
}
+ const QRect validRange(-XCOORD_MAX,-XCOORD_MAX, 2*XCOORD_MAX, 2*XCOORD_MAX);
if (!validRange.contains(xrect)) {
// we are too big, and must clip
- xrect &=wrectRange;
+ QPoint screenOffset(0, 0); // offset of the part being on screen
+ const QWidget *parentWidget = q->parentWidget();
+ while (parentWidget && !parentWidget->isWindow()) {
+ screenOffset -= parentWidget->data->crect.topLeft();
+ parentWidget = parentWidget->parentWidget();
+ }
+ QRect cropRect(screenOffset.x() - WRECT_MAX,
+ screenOffset.y() - WRECT_MAX,
+ 2*WRECT_MAX,
+ 2*WRECT_MAX);
+
+ xrect &=cropRect;
wrect = xrect;
- wrect.translate(-data.crect.topLeft());
- //parent's X coord system is equal to parent's Qt coord
- //sys, so we don't need to map xrect.
+ wrect.translate(-data.crect.topLeft()); // translate wrect in my Qt coordinates
}
-
}
// unmap if we are outside the valid window system coord system
@@ -3948,10 +3941,9 @@ void QWidgetPrivate::setWSGeometry(bool dontShow, const QRect &oldRect)
qt_mac_update_widget_posisiton(q, oldRect, xrect);
- if (jump) {
- updateSystemBackground();
+ if (jump)
q->update();
- }
+
if (mapWindow && !dontShow) {
q->setAttribute(Qt::WA_Mapped);
#ifndef QT_MAC_USE_COCOA
@@ -4601,6 +4593,7 @@ void QWidgetPrivate::setModal_sys()
OSWindowRef windowRef = qt_mac_window_for(q);
#ifdef QT_MAC_USE_COCOA
+ QMacCocoaAutoReleasePool pool;
bool alreadySheet = [windowRef styleMask] & NSDocModalWindowMask;
if (windowParent && q->windowModality() == Qt::WindowModal){
@@ -4677,31 +4670,40 @@ void QWidgetPrivate::setModal_sys()
|| (primaryWindow && primaryWindow->windowModality() == Qt::WindowModal)){
// Window should be window-modal (which implies a sheet).
if (old_wclass != kSheetWindowClass){
- // We cannot convert a created window to a sheet. So we recreate the window:
+ // We cannot convert a created window to a sheet.
+ // So we recreate the window:
recreateMacWindow();
return;
}
- } else if (!(q->data->window_flags & Qt::CustomizeWindowHint)) {
- if (old_wclass == kDocumentWindowClass || old_wclass == kFloatingWindowClass || old_wclass == kUtilityWindowClass){
- // Only change the class to kMovableModalWindowClass if the no explicit jewels
- // are set (kMovableModalWindowClass can't contain them), and the current window class
- // can be converted to modal (according to carbon doc). Mind the order of
- // HIWindowChangeClass and ChangeWindowAttributes.
- WindowGroupRef group = GetWindowGroup(windowRef);
- HIWindowChangeClass(windowRef, kMovableModalWindowClass);
- quint32 tmpWattr = kWindowCloseBoxAttribute | kWindowHorizontalZoomAttribute;
- ChangeWindowAttributes(windowRef, tmpWattr, kWindowNoAttributes);
- ChangeWindowAttributes(windowRef, kWindowNoAttributes, tmpWattr);
- // If the window belongs to a qt-created group, set that group once more:
- if (data.window_flags & Qt::WindowStaysOnTopHint
- || q->windowType() == Qt::Popup
- || q->windowType() == Qt::ToolTip)
- SetWindowGroup(windowRef, group);
+ } else {
+ // Window should be application-modal (which implies NOT using a sheet).
+ if (old_wclass == kSheetWindowClass){
+ // We cannot convert a sheet to a window.
+ // So we recreate the window:
+ recreateMacWindow();
+ return;
+ } else if (!(q->data->window_flags & Qt::CustomizeWindowHint)) {
+ if (old_wclass == kDocumentWindowClass || old_wclass == kFloatingWindowClass || old_wclass == kUtilityWindowClass){
+ // Only change the class to kMovableModalWindowClass if the no explicit jewels
+ // are set (kMovableModalWindowClass can't contain them), and the current window class
+ // can be converted to modal (according to carbon doc). Mind the order of
+ // HIWindowChangeClass and ChangeWindowAttributes.
+ WindowGroupRef group = GetWindowGroup(windowRef);
+ HIWindowChangeClass(windowRef, kMovableModalWindowClass);
+ quint32 tmpWattr = kWindowCloseBoxAttribute | kWindowHorizontalZoomAttribute;
+ ChangeWindowAttributes(windowRef, tmpWattr, kWindowNoAttributes);
+ ChangeWindowAttributes(windowRef, kWindowNoAttributes, tmpWattr);
+ // If the window belongs to a qt-created group, set that group once more:
+ if (data.window_flags & Qt::WindowStaysOnTopHint
+ || q->windowType() == Qt::Popup
+ || q->windowType() == Qt::ToolTip)
+ SetWindowGroup(windowRef, group);
+ }
+ // Popups are usually handled "special" and are never modal.
+ Qt::WindowType winType = q->windowType();
+ if (winType != Qt::Popup && winType != Qt::ToolTip)
+ SetWindowModality(windowRef, kWindowModalityAppModal, 0);
}
- // Popups are usually handled "special" and are never modal.
- Qt::WindowType winType = q->windowType();
- if (winType != Qt::Popup && winType != Qt::ToolTip)
- SetWindowModality(windowRef, kWindowModalityAppModal, 0);
}
} else if (windowRef) {
if (old_wclass == kSheetWindowClass){
diff --git a/src/gui/kernel/qwidget_p.h b/src/gui/kernel/qwidget_p.h
index b425450..1122154 100644
--- a/src/gui/kernel/qwidget_p.h
+++ b/src/gui/kernel/qwidget_p.h
@@ -311,7 +311,7 @@ public:
void setUpdatesEnabled_helper(bool );
- void paintBackground(QPainter *, const QRegion &, const QPoint & = QPoint(), int flags = DrawAsRoot) const;
+ void paintBackground(QPainter *, const QRegion &, int flags = DrawAsRoot) const;
bool isAboutToShow() const;
QRegion prepareToRender(const QRegion &region, QWidget::RenderFlags renderFlags);
void render_helper(QPainter *painter, const QPoint &targetOffset, const QRegion &sourceRegion,
@@ -542,11 +542,6 @@ public:
QList<QAction*> actions;
#endif
- QSet<int> gestures;
- int grabGesture(int gestureId);
- bool releaseGesture(int gestureId);
- bool hasGesture(const QString &type) const;
-
// Bit fields.
uint high_attributes[3]; // the low ones are in QWidget::widget_attributes
QPalette::ColorRole fg_role : 8;
diff --git a/src/gui/kernel/qwidget_s60.cpp b/src/gui/kernel/qwidget_s60.cpp
index ca1500f..a21c0e7 100644
--- a/src/gui/kernel/qwidget_s60.cpp
+++ b/src/gui/kernel/qwidget_s60.cpp
@@ -1,9 +1,9 @@
/****************************************************************************
**
-** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
-** This file is part of the $MODULE$ of the Qt Toolkit.
+** This file is part of the QtGui of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/src/gui/kernel/qwidget_win.cpp b/src/gui/kernel/qwidget_win.cpp
index 9d31f57..d5ce40b 100644
--- a/src/gui/kernel/qwidget_win.cpp
+++ b/src/gui/kernel/qwidget_win.cpp
@@ -140,14 +140,8 @@ static void init_wintab_functions()
if (!qt_is_gui_used)
return;
QLibrary library(QLatin1String("wintab32"));
- QT_WA({
- ptrWTOpen = (PtrWTOpen)library.resolve("WTOpenW");
- ptrWTInfo = (PtrWTInfo)library.resolve("WTInfoW");
- } , {
- ptrWTOpen = (PtrWTOpen)library.resolve("WTOpenA");
- ptrWTInfo = (PtrWTInfo)library.resolve("WTInfoA");
- });
-
+ ptrWTOpen = (PtrWTOpen)library.resolve("WTOpenW");
+ ptrWTInfo = (PtrWTInfo)library.resolve("WTInfoW");
ptrWTClose = (PtrWTClose)library.resolve("WTClose");
ptrWTQueueSizeGet = (PtrWTQueueSizeGet)library.resolve("WTQueueSizeGet");
ptrWTQueueSizeSet = (PtrWTQueueSizeSet)library.resolve("WTQueueSizeSet");
@@ -270,7 +264,7 @@ void QWidgetPrivate::create_sys(WId window, bool initializeWindow, bool destroyO
HINSTANCE appinst = qWinAppInst();
HWND parentw, destroyw = 0;
- WId id;
+ WId id = 0;
QString windowClassName = qt_reg_winclass(q);
@@ -287,25 +281,18 @@ void QWidgetPrivate::create_sys(WId window, bool initializeWindow, bool destroyO
if (desktop && !q->testAttribute(Qt::WA_DontShowOnScreen)) { // desktop widget
popup = false; // force this flags off
- if (QSysInfo::WindowsVersion != QSysInfo::WV_NT && QSysInfo::WindowsVersion != QSysInfo::WV_95)
- data.crect.setRect(GetSystemMetrics(76 /* SM_XVIRTUALSCREEN */), GetSystemMetrics(77 /* SM_YVIRTUALSCREEN */),
+ data.crect.setRect(GetSystemMetrics(76 /* SM_XVIRTUALSCREEN */), GetSystemMetrics(77 /* SM_YVIRTUALSCREEN */),
GetSystemMetrics(78 /* SM_CXVIRTUALSCREEN */), GetSystemMetrics(79 /* SM_CYVIRTUALSCREEN */));
- else
- data.crect.setRect(0, 0, GetSystemMetrics(SM_CXSCREEN), GetSystemMetrics(SM_CYSCREEN));
}
parentw = q->parentWidget() ? q->parentWidget()->effectiveWinId() : 0;
-#ifdef UNICODE
QString title;
- const TCHAR *ttitle = 0;
-#endif
- QByteArray title95;
int style = WS_CHILD;
int exsty = 0;
if (window) {
- style = GetWindowLongA(window, GWL_STYLE);
+ style = GetWindowLong(window, GWL_STYLE);
if (!style)
qErrnoWarning("QWidget::create: GetWindowLong failed");
topLevel = false; // #### needed for some IE plugins??
@@ -361,12 +348,7 @@ void QWidgetPrivate::create_sys(WId window, bool initializeWindow, bool destroyO
}
if (flags & Qt::WindowTitleHint) {
- QT_WA({
- title = q->isWindow() ? qAppName() : q->objectName();
- ttitle = (TCHAR*)title.utf16();
- } , {
- title95 = q->isWindow() ? qAppName().toLocal8Bit() : q->objectName().toLatin1();
- });
+ title = q->isWindow() ? qAppName() : q->objectName();
}
// The Qt::WA_WState_Created flag is checked by translateConfigEvent() in
@@ -379,13 +361,13 @@ void QWidgetPrivate::create_sys(WId window, bool initializeWindow, bool destroyO
destroyw = data.winid;
id = window;
setWinId(window);
- LONG res = SetWindowLongA(window, GWL_STYLE, style);
+ LONG res = SetWindowLong(window, GWL_STYLE, style);
if (!res)
qErrnoWarning("QWidget::create: Failed to set window style");
#ifdef _WIN64
- res = SetWindowLongPtrA( window, GWLP_WNDPROC, (LONG_PTR)QtWndProc );
+ res = SetWindowLongPtr( window, GWLP_WNDPROC, (LONG_PTR)QtWndProc );
#else
- res = SetWindowLongA( window, GWL_WNDPROC, (LONG)QtWndProc );
+ res = SetWindowLong( window, GWL_WNDPROC, (LONG)QtWndProc );
#endif
if (!res)
qErrnoWarning("QWidget::create: Failed to set window procedure");
@@ -436,16 +418,10 @@ void QWidgetPrivate::create_sys(WId window, bool initializeWindow, bool destroyO
}
}
- QT_WA({
- const TCHAR *cname = (TCHAR*)windowClassName.utf16();
- id = CreateWindowEx(exsty, cname, ttitle, style,
- x, y, w, h,
- parentw, 0, appinst, 0);
- } , {
- id = CreateWindowExA(exsty, windowClassName.toLatin1(), title95, style,
- x, y, w, h,
- parentw, 0, appinst, 0);
- });
+ id = CreateWindowEx(exsty, reinterpret_cast<const wchar_t *>(windowClassName.utf16()),
+ reinterpret_cast<const wchar_t *>(title.utf16()), style,
+ x, y, w, h,
+ parentw, NULL, appinst, NULL);
if (!id)
qErrnoWarning("QWidget::create: Failed to create window");
setWinId(id);
@@ -457,16 +433,10 @@ void QWidgetPrivate::create_sys(WId window, bool initializeWindow, bool destroyO
SetWindowPos(id, HWND_BOTTOM, 0, 0, 0, 0, SWP_NOACTIVATE | SWP_NOMOVE | SWP_NOSIZE);
winUpdateIsOpaque();
} else if (q->testAttribute(Qt::WA_NativeWindow) || paintOnScreen()) { // create child widget
- QT_WA({
- const TCHAR *cname = (TCHAR*)windowClassName.utf16();
- id = CreateWindowEx(exsty, cname, ttitle, style,
- data.crect.left(), data.crect.top(), data.crect.width(), data.crect.height(),
+ id = CreateWindowEx(exsty, reinterpret_cast<const wchar_t *>(windowClassName.utf16()),
+ reinterpret_cast<const wchar_t *>(title.utf16()), style,
+ data.crect.left(), data.crect.top(), data.crect.width(), data.crect.height(),
parentw, NULL, appinst, NULL);
- } , {
- id = CreateWindowExA(exsty, windowClassName.toLatin1(), title95, style,
- data.crect.left(), data.crect.top(), data.crect.width(), data.crect.height(),
- parentw, NULL, appinst, NULL);
- });
if (!id)
qErrnoWarning("QWidget::create: Failed to create window");
SetWindowPos(id, HWND_TOP, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE);
@@ -497,6 +467,17 @@ void QWidgetPrivate::create_sys(WId window, bool initializeWindow, bool destroyO
}
}
+ if (topLevel) {
+ if (data.window_flags & Qt::CustomizeWindowHint
+ && data.window_flags & Qt::WindowTitleHint) {
+ HMENU systemMenu = GetSystemMenu((HWND)q->internalWinId(), FALSE);
+ if (data.window_flags & Qt::WindowCloseButtonHint)
+ EnableMenuItem(systemMenu, SC_CLOSE, MF_BYCOMMAND|MF_ENABLED);
+ else
+ EnableMenuItem(systemMenu, SC_CLOSE, MF_BYCOMMAND|MF_GRAYED);
+ }
+ }
+
q->setAttribute(Qt::WA_WState_Created); // accept move/resize events
hd = 0; // no display context
@@ -672,21 +653,11 @@ void QWidgetPrivate::setParent_sys(QWidget *parent, Qt::WindowFlags f)
|| (!q->isWindow() && q->parentWidget() && q->parentWidget()->testAttribute(Qt::WA_DropSiteRegistered)))
q->setAttribute(Qt::WA_DropSiteRegistered, true);
-
- if (data.window_flags & Qt::CustomizeWindowHint
- && data.window_flags & Qt::WindowTitleHint) {
- HMENU systemMenu = GetSystemMenu((HWND)q->internalWinId(), FALSE);
- if (data.window_flags & Qt::WindowCloseButtonHint)
- EnableMenuItem(systemMenu, SC_CLOSE, MF_BYCOMMAND|MF_ENABLED);
- else
- EnableMenuItem(systemMenu, SC_CLOSE, MF_BYCOMMAND|MF_GRAYED);
- }
-
#ifdef Q_WS_WINCE
// Show borderless toplevel windows in tasklist & NavBar
if (!parent) {
QString txt = q->windowTitle().isEmpty()?qAppName():q->windowTitle();
- SetWindowText(q->internalWinId(), (TCHAR*)txt.utf16());
+ SetWindowText(q->internalWinId(), (wchar_t*)txt.utf16());
}
#endif
invalidateBuffer(q->rect());
@@ -771,11 +742,7 @@ void QWidgetPrivate::setWindowTitle_sys(const QString &caption)
return;
Q_ASSERT(q->testAttribute(Qt::WA_WState_Created));
- QT_WA({
- SetWindowText(q->internalWinId(), (TCHAR*)caption.utf16());
- } , {
- SetWindowTextA(q->internalWinId(), caption.toLocal8Bit());
- });
+ SetWindowText(q->internalWinId(), (wchar_t*)caption.utf16());
}
/*
@@ -857,11 +824,11 @@ void QWidgetPrivate::setWindowIcon_sys(bool forceReset)
GetSystemMetrics(SM_CXICON), GetSystemMetrics(SM_CYICON),
&(x->iconPixmap));
if (x->winIconBig) {
- SendMessageA(q->internalWinId(), WM_SETICON, 0 /* ICON_SMALL */, (LPARAM)x->winIconSmall);
- SendMessageA(q->internalWinId(), WM_SETICON, 1 /* ICON_BIG */, (LPARAM)x->winIconBig);
+ SendMessage(q->internalWinId(), WM_SETICON, 0 /* ICON_SMALL */, (LPARAM)x->winIconSmall);
+ SendMessage(q->internalWinId(), WM_SETICON, 1 /* ICON_BIG */, (LPARAM)x->winIconBig);
} else {
- SendMessageA(q->internalWinId(), WM_SETICON, 0 /* ICON_SMALL */, (LPARAM)x->winIconSmall);
- SendMessageA(q->internalWinId(), WM_SETICON, 1 /* ICON_BIG */, (LPARAM)x->winIconSmall);
+ SendMessage(q->internalWinId(), WM_SETICON, 0 /* ICON_SMALL */, (LPARAM)x->winIconSmall);
+ SendMessage(q->internalWinId(), WM_SETICON, 1 /* ICON_BIG */, (LPARAM)x->winIconSmall);
}
}
@@ -888,7 +855,7 @@ LRESULT CALLBACK qJournalRecordProc(int nCode, WPARAM wParam, LPARAM lParam)
/* Works only as long as pointer is inside the application's window,
which is good enough for QDockWidget.
- Doesn't call SetWindowsHookExA() - this function causes a system-wide
+ Doesn't call SetWindowsHookEx() - this function causes a system-wide
freeze if any other app on the system installs a hook and fails to
process events. */
void QWidgetPrivate::grabMouseWhileInWindow()
@@ -912,7 +879,7 @@ void QWidget::grabMouse()
if (!qt_nograb()) {
if (mouseGrb)
mouseGrb->releaseMouse();
- journalRec = SetWindowsHookExA(WH_JOURNALRECORD, (HOOKPROC)qJournalRecordProc, GetModuleHandleA(0), 0);
+ journalRec = SetWindowsHookEx(WH_JOURNALRECORD, (HOOKPROC)qJournalRecordProc, GetModuleHandle(0), 0);
Q_ASSERT(testAttribute(Qt::WA_WState_Created));
SetCapture(effectiveWinId());
mouseGrb = this;
@@ -925,7 +892,7 @@ void QWidget::grabMouse(const QCursor &cursor)
if (!qt_nograb()) {
if (mouseGrb)
mouseGrb->releaseMouse();
- journalRec = SetWindowsHookExA(WH_JOURNALRECORD, (HOOKPROC)qJournalRecordProc, GetModuleHandleA(0), 0);
+ journalRec = SetWindowsHookEx(WH_JOURNALRECORD, (HOOKPROC)qJournalRecordProc, GetModuleHandle(0), 0);
Q_ASSERT(testAttribute(Qt::WA_WState_Created));
SetCapture(effectiveWinId());
mouseGrbCur = new QCursor(cursor);
@@ -1032,7 +999,7 @@ void QWidget::setWindowState(Qt::WindowStates newstate)
if (newstate & Qt::WindowFullScreen) {
if (d->topData()->normalGeometry.width() < 0 && !(oldstate & Qt::WindowMaximized))
d->topData()->normalGeometry = geometry();
- d->topData()->savedFlags = Qt::WindowFlags(GetWindowLongA(internalWinId(), GWL_STYLE));
+ d->topData()->savedFlags = Qt::WindowFlags(GetWindowLong(internalWinId(), GWL_STYLE));
#ifndef Q_FLATTEN_EXPOSE
UINT style = WS_CLIPCHILDREN | WS_CLIPSIBLINGS | WS_POPUP;
#else
@@ -1042,7 +1009,7 @@ void QWidget::setWindowState(Qt::WindowStates newstate)
style |= WS_SYSMENU;
if (isVisible())
style |= WS_VISIBLE;
- SetWindowLongA(internalWinId(), GWL_STYLE, style);
+ SetWindowLong(internalWinId(), GWL_STYLE, style);
QRect r = QApplication::desktop()->screenGeometry(this);
UINT swpf = SWP_FRAMECHANGED;
if (newstate & Qt::WindowActive)
@@ -1054,7 +1021,7 @@ void QWidget::setWindowState(Qt::WindowStates newstate)
UINT style = d->topData()->savedFlags;
if (isVisible())
style |= WS_VISIBLE;
- SetWindowLongA(internalWinId(), GWL_STYLE, style);
+ SetWindowLong(internalWinId(), GWL_STYLE, style);
UINT swpf = SWP_FRAMECHANGED | SWP_NOZORDER | SWP_NOSIZE | SWP_NOMOVE;
if (newstate & Qt::WindowActive)
@@ -1399,7 +1366,7 @@ void QWidgetPrivate::setGeometry_sys(int x, int y, int w, int h, bool isMove)
UINT style = top->savedFlags;
if (q->isVisible())
style |= WS_VISIBLE;
- SetWindowLongA(q->internalWinId(), GWL_STYLE, style);
+ SetWindowLong(q->internalWinId(), GWL_STYLE, style);
UINT swpf = SWP_FRAMECHANGED | SWP_NOZORDER | SWP_NOSIZE | SWP_NOMOVE;
if (data.window_state & Qt::WindowActive)
@@ -1414,7 +1381,7 @@ void QWidgetPrivate::setGeometry_sys(int x, int y, int w, int h, bool isMove)
QTLWExtra *tlwExtra = q->window()->d_func()->maybeTopData();
const bool inTopLevelResize = tlwExtra ? tlwExtra->inTopLevelResize : false;
const bool isTranslucentWindow = !isOpaque && ptrUpdateLayeredWindowIndirect && (data.window_flags & Qt::FramelessWindowHint)
- && GetWindowLongA(q->internalWinId(), GWL_EXSTYLE) & Q_WS_EX_LAYERED;
+ && GetWindowLong(q->internalWinId(), GWL_EXSTYLE) & Q_WS_EX_LAYERED;
if (q->testAttribute(Qt::WA_WState_ConfigPending)) { // processing config event
if (q->internalWinId())
@@ -1469,10 +1436,7 @@ void QWidgetPrivate::setGeometry_sys(int x, int y, int w, int h, bool isMove)
qt_wince_maximize(q);
} else {
#endif
- if (!isTranslucentWindow)
- MoveWindow(q->internalWinId(), fs.x(), fs.y(), fs.width(), fs.height(), true);
- else if (isMove && !isResize)
- SetWindowPos(q->internalWinId(), 0, fs.x(), fs.y(), 0, 0, SWP_NOACTIVATE | SWP_NOSIZE | SWP_NOZORDER);
+ MoveWindow(q->internalWinId(), fs.x(), fs.y(), fs.width(), fs.height(), true);
}
if (!q->isVisible())
InvalidateRect(q->internalWinId(), 0, FALSE);
@@ -1562,6 +1526,11 @@ bool QWidgetPrivate::shouldShowMaximizeButton()
{
if (data.window_flags & Qt::MSWindowsFixedSizeDialogHint)
return false;
+ // if the user explicitely asked for the maximize button, we try to add
+ // it even if the window has fixed size.
+ if (data.window_flags & Qt::CustomizeWindowHint &&
+ data.window_flags & Qt::WindowMaximizeButtonHint)
+ return true;
if (extra) {
if ((extra->maxw && extra->maxw != QWIDGETSIZE_MAX && extra->maxw != QLAYOUTSIZE_MAX)
|| (extra->maxh && extra->maxh != QWIDGETSIZE_MAX && extra->maxh != QLAYOUTSIZE_MAX))
@@ -1582,11 +1551,11 @@ void QWidgetPrivate::winUpdateIsOpaque()
return;
if (!isOpaque && ptrUpdateLayeredWindowIndirect) {
- SetWindowLongA(q->internalWinId(), GWL_EXSTYLE,
- GetWindowLongA(q->internalWinId(), GWL_EXSTYLE) | Q_WS_EX_LAYERED);
+ SetWindowLong(q->internalWinId(), GWL_EXSTYLE,
+ GetWindowLong(q->internalWinId(), GWL_EXSTYLE) | Q_WS_EX_LAYERED);
} else {
- SetWindowLongA(q->internalWinId(), GWL_EXSTYLE,
- GetWindowLongA(q->internalWinId(), GWL_EXSTYLE) & ~Q_WS_EX_LAYERED);
+ SetWindowLong(q->internalWinId(), GWL_EXSTYLE,
+ GetWindowLong(q->internalWinId(), GWL_EXSTYLE) & ~Q_WS_EX_LAYERED);
}
#endif
}
@@ -1596,12 +1565,12 @@ void QWidgetPrivate::setConstraints_sys()
#ifndef Q_WS_WINCE_WM
Q_Q(QWidget);
if (q->isWindow() && q->testAttribute(Qt::WA_WState_Created)) {
- int style = GetWindowLongA(q->internalWinId(), GWL_STYLE);
+ int style = GetWindowLong(q->internalWinId(), GWL_STYLE);
if (shouldShowMaximizeButton())
style |= WS_MAXIMIZEBOX;
else
style &= ~WS_MAXIMIZEBOX;
- SetWindowLongA(q->internalWinId(), GWL_STYLE, style);
+ SetWindowLong(q->internalWinId(), GWL_STYLE, style);
}
#endif
}
@@ -1871,10 +1840,8 @@ void QWidgetPrivate::updateFrameStrut()
RECT rect = {0,0,0,0};
QTLWExtra *top = topData();
- uint exstyle = QT_WA_INLINE(GetWindowLongW(q->internalWinId(), GWL_EXSTYLE),
- GetWindowLongA(q->internalWinId(), GWL_EXSTYLE));
- uint style = QT_WA_INLINE(GetWindowLongW(q->internalWinId(), GWL_STYLE),
- GetWindowLongA(q->internalWinId(), GWL_STYLE));
+ uint exstyle = GetWindowLong(q->internalWinId(), GWL_EXSTYLE);
+ uint style = GetWindowLong(q->internalWinId(), GWL_STYLE);
#ifndef Q_WS_WINCE
if (AdjustWindowRectEx(&rect, style & ~(WS_OVERLAPPED), FALSE, exstyle)) {
#else
@@ -1890,11 +1857,10 @@ void QWidgetPrivate::setWindowOpacity_sys(qreal level)
{
Q_Q(QWidget);
- if (!isOpaque && ptrUpdateLayeredWindowIndirect && (data.window_flags & Qt::FramelessWindowHint)) {
- if (GetWindowLongA(q->internalWinId(), GWL_EXSTYLE) & Q_WS_EX_LAYERED) {
- Q_BLENDFUNCTION blend = {AC_SRC_OVER, 0, (int)(255.0 * level), Q_AC_SRC_ALPHA};
- Q_UPDATELAYEREDWINDOWINFO info = {sizeof(info), NULL, NULL, NULL, NULL, NULL, 0, &blend, Q_ULW_ALPHA, NULL};
- (*ptrUpdateLayeredWindowIndirect)(q->internalWinId(), &info);
+ if (!isOpaque && ptrUpdateLayeredWindow && (data.window_flags & Qt::FramelessWindowHint)) {
+ if (GetWindowLong(q->internalWinId(), GWL_EXSTYLE) & Q_WS_EX_LAYERED) {
+ BLENDFUNCTION blend = {AC_SRC_OVER, 0, (int)(255.0 * level), AC_SRC_ALPHA};
+ ptrUpdateLayeredWindow(q->internalWinId(), NULL, NULL, NULL, NULL, NULL, 0, &blend, Q_ULW_ALPHA);
}
return;
}
@@ -1910,15 +1876,15 @@ void QWidgetPrivate::setWindowOpacity_sys(qreal level)
if (!ptrSetLayeredWindowAttributes)
return;
- int wl = GetWindowLongA(q->internalWinId(), GWL_EXSTYLE);
+ int wl = GetWindowLong(q->internalWinId(), GWL_EXSTYLE);
if (level != 1.0) {
if ((wl&Q_WS_EX_LAYERED) == 0)
- SetWindowLongA(q->internalWinId(), GWL_EXSTYLE, wl|Q_WS_EX_LAYERED);
+ SetWindowLong(q->internalWinId(), GWL_EXSTYLE, wl | Q_WS_EX_LAYERED);
} else if (wl&Q_WS_EX_LAYERED) {
- SetWindowLongA(q->internalWinId(), GWL_EXSTYLE, wl & ~Q_WS_EX_LAYERED);
+ SetWindowLong(q->internalWinId(), GWL_EXSTYLE, wl & ~Q_WS_EX_LAYERED);
}
- (*ptrSetLayeredWindowAttributes)(q->internalWinId(), 0, (int)(level * 255), Q_LWA_ALPHA);
+ ptrSetLayeredWindowAttributes(q->internalWinId(), 0, (int)(level * 255), Q_LWA_ALPHA);
}
#endif //Q_WS_WINCE
diff --git a/src/gui/kernel/qwidget_wince.cpp b/src/gui/kernel/qwidget_wince.cpp
index 24d8156..b0eaa12 100644
--- a/src/gui/kernel/qwidget_wince.cpp
+++ b/src/gui/kernel/qwidget_wince.cpp
@@ -188,11 +188,7 @@ void QWidgetPrivate::create_sys(WId window, bool initializeWindow, bool destroyO
parentw = q->parentWidget() ? q->parentWidget()->effectiveWinId() : 0;
-#ifdef UNICODE
QString title;
- const TCHAR *ttitle = 0;
-#endif
- QByteArray title95;
int style = WS_CHILD;
int exsty = WS_EX_NOPARENTNOTIFY;
@@ -236,12 +232,7 @@ void QWidgetPrivate::create_sys(WId window, bool initializeWindow, bool destroyO
}
if (flags & Qt::WindowTitleHint) {
- QT_WA({
- title = q->isWindow() ? qAppName() : q->objectName();
- ttitle = (TCHAR*)title.utf16();
- } , {
- title95 = q->isWindow() ? qAppName().toLocal8Bit() : q->objectName().toLatin1();
- });
+ title = q->isWindow() ? qAppName() : q->objectName();
}
// The Qt::WA_WState_Created flag is checked by translateConfigEvent() in
@@ -254,11 +245,11 @@ void QWidgetPrivate::create_sys(WId window, bool initializeWindow, bool destroyO
destroyw = data.winid;
id = window;
setWinId(window);
- LONG res = SetWindowLongA(window, GWL_STYLE, style);
+ LONG res = SetWindowLong(window, GWL_STYLE, style);
if (!res)
qErrnoWarning("QWidget::create: Failed to set window style");
- res = SetWindowLongA( window, GWL_WNDPROC, (LONG)QtWndProc );
+ res = SetWindowLong( window, GWL_WNDPROC, (LONG)QtWndProc );
if (!res)
qErrnoWarning("QWidget::create: Failed to set window procedure");
@@ -267,10 +258,10 @@ void QWidgetPrivate::create_sys(WId window, bool initializeWindow, bool destroyO
if (!id) { //Create a dummy desktop
RECT r;
SystemParametersInfo(SPI_GETWORKAREA, 0, &r, 0);
- const TCHAR *cname = reinterpret_cast<const TCHAR *> (windowClassName.utf16());
- id = CreateWindow(cname, ttitle, style,
- r.left, r.top, r.right - r.left, r.bottom - r.top,
- 0, 0, appinst, 0);
+ id = CreateWindow(reinterpret_cast<const wchar_t *>(windowClassName.utf16()),
+ reinterpret_cast<const wchar_t *>(title.utf16()), style,
+ r.left, r.top, r.right - r.left, r.bottom - r.top,
+ 0, 0, appinst, 0);
}
setWinId(id);
} else if (topLevel) { // create top-level widget
@@ -303,8 +294,8 @@ void QWidgetPrivate::create_sys(WId window, bool initializeWindow, bool destroyO
}
}
- const TCHAR *cname = reinterpret_cast<const TCHAR *> (windowClassName.utf16());
- id = CreateWindowEx(exsty, cname, ttitle, style,
+ id = CreateWindowEx(exsty, reinterpret_cast<const wchar_t *>(windowClassName.utf16()),
+ reinterpret_cast<const wchar_t *>(title.utf16()), style,
x, y, w, h,
0, 0, appinst, 0);
@@ -314,16 +305,9 @@ void QWidgetPrivate::create_sys(WId window, bool initializeWindow, bool destroyO
if ((flags & Qt::WindowStaysOnTopHint) || (type == Qt::ToolTip))
SetWindowPos(id, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOACTIVATE | SWP_NOMOVE | SWP_NOSIZE);
} else if (q->testAttribute(Qt::WA_NativeWindow) || paintOnScreen()) { // create child widget
- QT_WA({
- const TCHAR *cname = (TCHAR*)windowClassName.utf16();
- id = CreateWindowEx(exsty, cname, ttitle, style,
- data.crect.left(), data.crect.top(), data.crect.width(), data.crect.height(),
- parentw, NULL, appinst, NULL);
- } , {
- id = CreateWindowExA(exsty, windowClassName.toLatin1(), title95, style,
- data.crect.left(), data.crect.top(), data.crect.width(), data.crect.height(),
+ id = CreateWindowEx(exsty, (wchar_t*)windowClassName.utf16(), (wchar_t*)title.utf16(), style,
+ data.crect.left(), data.crect.top(), data.crect.width(), data.crect.height(),
parentw, NULL, appinst, NULL);
- });
if (!id)
qErrnoWarning("QWidget::create: Failed to create window");
SetWindowPos(id, HWND_TOP, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE);
@@ -510,7 +494,7 @@ void QWidget::setWindowState(Qt::WindowStates newstate)
}
if ((oldstate & Qt::WindowMaximized) != (newstate & Qt::WindowMaximized)) {
if (!(newstate & Qt::WindowMaximized)) {
- int style = GetWindowLongW(internalWinId(), GWL_STYLE) | WS_BORDER | WS_POPUP | WS_CAPTION;
+ int style = GetWindowLong(internalWinId(), GWL_STYLE) | WS_BORDER | WS_POPUP | WS_CAPTION;
SetWindowLong(internalWinId(), GWL_STYLE, style);
SetWindowLong(internalWinId(), GWL_EXSTYLE, GetWindowLong (internalWinId(), GWL_EXSTYLE) & ~ WS_EX_NODRAG);
}
@@ -535,11 +519,11 @@ void QWidget::setWindowState(Qt::WindowStates newstate)
if (newstate & Qt::WindowFullScreen) {
if (d->topData()->normalGeometry.width() < 0 && !(oldstate & Qt::WindowMaximized))
d->topData()->normalGeometry = geometry();
- d->topData()->savedFlags = (Qt::WindowFlags) GetWindowLongA(internalWinId(), GWL_STYLE);
+ d->topData()->savedFlags = (Qt::WindowFlags)GetWindowLong(internalWinId(), GWL_STYLE);
UINT style = WS_CLIPCHILDREN | WS_CLIPSIBLINGS | WS_POPUP;
if (isVisible())
style |= WS_VISIBLE;
- SetWindowLongA(internalWinId(), GWL_STYLE, style);
+ SetWindowLong(internalWinId(), GWL_STYLE, style);
QRect r = qApp->desktop()->screenGeometry(this);
UINT swpf = SWP_FRAMECHANGED;
if (newstate & Qt::WindowActive)
@@ -550,7 +534,7 @@ void QWidget::setWindowState(Qt::WindowStates newstate)
UINT style = d->topData()->savedFlags;
if (isVisible())
style |= WS_VISIBLE;
- SetWindowLongA(internalWinId(), GWL_STYLE, style);
+ SetWindowLong(internalWinId(), GWL_STYLE, style);
UINT swpf = SWP_FRAMECHANGED | SWP_NOZORDER | SWP_NOSIZE | SWP_NOMOVE;
if (newstate & Qt::WindowActive)
swpf |= SWP_NOACTIVATE;
diff --git a/src/gui/kernel/qwidgetaction.h b/src/gui/kernel/qwidgetaction.h
index a39b281..4ec489e 100644
--- a/src/gui/kernel/qwidgetaction.h
+++ b/src/gui/kernel/qwidgetaction.h
@@ -57,7 +57,7 @@ class QWidgetActionPrivate;
class Q_GUI_EXPORT QWidgetAction : public QAction
{
Q_OBJECT
- Q_DECLARE_SCOPED_PRIVATE(QWidgetAction)
+ Q_DECLARE_PRIVATE(QWidgetAction)
public:
explicit QWidgetAction(QObject *parent);
diff --git a/src/gui/kernel/qx11embed_x11.cpp b/src/gui/kernel/qx11embed_x11.cpp
index 84d7d0a..359434e 100644
--- a/src/gui/kernel/qx11embed_x11.cpp
+++ b/src/gui/kernel/qx11embed_x11.cpp
@@ -39,6 +39,7 @@
**
****************************************************************************/
+#include "qplatformdefs.h"
#include "qx11embed_x11.h"
#include <qapplication.h>
#include <qevent.h>
@@ -269,7 +270,7 @@ const int XButtonRelease = ButtonRelease;
// need to to inspect window()'s embedded state.
class QHackWidget : public QWidget
{
- Q_DECLARE_SCOPED_PRIVATE(QWidget)
+ Q_DECLARE_PRIVATE(QWidget)
public:
QTLWExtra* topData() { return d_func()->topData(); }
};
@@ -826,7 +827,7 @@ bool QX11EmbedWidget::x11Event(XEvent *event)
&actual_format_return, &nitems_return,
&bytes_after_return, &prop_return) == Success) {
if (nitems_return > 1) {
- if (((int * )prop_return)[1] & XEMBED_MAPPED) {
+ if (((long * )prop_return)[1] & XEMBED_MAPPED) {
XMapWindow(x11Info().display(), internalWinId());
} else {
XUnmapWindow(x11Info().display(), internalWinId());
@@ -1670,9 +1671,9 @@ void QX11EmbedContainerPrivate::acceptClient(WId window)
// Clients with the _XEMBED_INFO property are XEMBED clients.
clientIsXEmbed = true;
- unsigned int *p = (unsigned int *)prop_return;
+ long *p = (long *)prop_return;
if (nitems_return >= 2)
- clientversion = p[0];
+ clientversion = (unsigned int)p[0];
}
XFree(prop_return);
diff --git a/src/gui/kernel/qx11embed_x11.h b/src/gui/kernel/qx11embed_x11.h
index 0d67c23..8659ed6 100644
--- a/src/gui/kernel/qx11embed_x11.h
+++ b/src/gui/kernel/qx11embed_x11.h
@@ -80,7 +80,7 @@ protected:
void resizeEvent(QResizeEvent *);
private:
- Q_DECLARE_SCOPED_PRIVATE(QX11EmbedWidget)
+ Q_DECLARE_PRIVATE(QX11EmbedWidget)
Q_DISABLE_COPY(QX11EmbedWidget)
};
@@ -121,7 +121,7 @@ protected:
bool event(QEvent *);
private:
- Q_DECLARE_SCOPED_PRIVATE(QX11EmbedContainer)
+ Q_DECLARE_PRIVATE(QX11EmbedContainer)
Q_DISABLE_COPY(QX11EmbedContainer)
};
diff --git a/src/gui/math3d/qgenericmatrix.h b/src/gui/math3d/qgenericmatrix.h
index 1131f9b..7bdf70a 100644
--- a/src/gui/math3d/qgenericmatrix.h
+++ b/src/gui/math3d/qgenericmatrix.h
@@ -119,7 +119,9 @@ Q_INLINE_TEMPLATE QGenericMatrix<N, M, T, InnerT>::QGenericMatrix()
template <int N, int M, typename T, typename InnerT>
Q_INLINE_TEMPLATE QGenericMatrix<N, M, T, InnerT>::QGenericMatrix(const QGenericMatrix<N, M, T, InnerT>& other)
{
- qMemCopy(m, other.m, sizeof(m));
+ for (int col = 0; col < N; ++col)
+ for (int row = 0; row < M; ++row)
+ m[col][row] = other.m[col][row];
}
template <int N, int M, typename T, typename InnerT>
diff --git a/src/gui/math3d/qmatrix4x4.cpp b/src/gui/math3d/qmatrix4x4.cpp
index 9fe487b..b4c54a0 100644
--- a/src/gui/math3d/qmatrix4x4.cpp
+++ b/src/gui/math3d/qmatrix4x4.cpp
@@ -53,10 +53,6 @@ QT_BEGIN_NAMESPACE
\brief The QMatrix4x4 class represents a 4x4 transformation matrix in 3D space.
\since 4.6
- The matrix elements are stored internally using the most efficient
- numeric representation for the underlying hardware: floating-point
- or fixed-point.
-
\sa QVector3D, QGenericMatrix
*/
@@ -308,8 +304,7 @@ QMatrix4x4::QMatrix4x4(const QTransform& transform)
// The 4x4 matrix inverse algorithm is based on that described at:
// http://www.j3d.org/matrix_faq/matrfaq_latest.html#Q24
// Some optimization has been done to avoid making copies of 3x3
-// sub-matrices, to do calculations in fixed-point where required,
-// and to unroll the loops.
+// sub-matrices and to unroll the loops.
// Calculate the determinant of a 3x3 sub-matrix.
// | A B C |
@@ -1004,10 +999,6 @@ QMatrix4x4& QMatrix4x4::rotate(qreal angle, const QVector3D& vector)
#endif
-#ifndef M_PI
-#define M_PI 3.14159265358979323846
-#endif
-
/*!
\overload
@@ -1803,6 +1794,51 @@ QDebug operator<<(QDebug dbg, const QMatrix4x4 &m)
#endif
-#endif
+#ifndef QT_NO_DATASTREAM
+
+/*!
+ \fn QDataStream &operator<<(QDataStream &stream, const QMatrix4x4 &matrix)
+ \relates QMatrix4x4
+
+ Writes the given \a matrix to the given \a stream and returns a
+ reference to the stream.
+
+ \sa {Format of the QDataStream Operators}
+*/
+
+QDataStream &operator<<(QDataStream &stream, const QMatrix4x4 &matrix)
+{
+ for (int row = 0; row < 4; ++row)
+ for (int col = 0; col < 4; ++col)
+ stream << double(matrix(row, col));
+ return stream;
+}
+
+/*!
+ \fn QDataStream &operator>>(QDataStream &stream, QMatrix4x4 &matrix)
+ \relates QMatrix4x4
+
+ Reads a 4x4 matrix from the given \a stream into the given \a matrix
+ and returns a reference to the stream.
+
+ \sa {Format of the QDataStream Operators}
+*/
+
+QDataStream &operator>>(QDataStream &stream, QMatrix4x4 &matrix)
+{
+ double x;
+ for (int row = 0; row < 4; ++row) {
+ for (int col = 0; col < 4; ++col) {
+ stream >> x;
+ matrix(row, col) = float(x);
+ }
+ }
+ matrix.inferSpecialType();
+ return stream;
+}
+
+#endif // QT_NO_DATASTREAM
+
+#endif // QT_NO_MATRIX4X4
QT_END_NAMESPACE
diff --git a/src/gui/math3d/qmatrix4x4.h b/src/gui/math3d/qmatrix4x4.h
index d63de70..f7246bb 100644
--- a/src/gui/math3d/qmatrix4x4.h
+++ b/src/gui/math3d/qmatrix4x4.h
@@ -960,6 +960,11 @@ inline float *QMatrix4x4::data()
Q_GUI_EXPORT QDebug operator<<(QDebug dbg, const QMatrix4x4 &m);
#endif
+#ifndef QT_NO_DATASTREAM
+Q_GUI_EXPORT QDataStream &operator<<(QDataStream &, const QMatrix4x4 &);
+Q_GUI_EXPORT QDataStream &operator>>(QDataStream &, QMatrix4x4 &);
+#endif
+
template <int N, int M>
QMatrix4x4 qGenericMatrixToMatrix4x4(const QGenericMatrix<N, M, qreal, float>& matrix)
{
@@ -989,10 +994,6 @@ QGenericMatrix<N, M, qreal, float> qGenericMatrixFromMatrix4x4(const QMatrix4x4&
QT_END_NAMESPACE
-#ifndef QT_NO_MATRIX4X4
-Q_DECLARE_METATYPE(QMatrix4x4)
-#endif
-
QT_END_HEADER
#endif
diff --git a/src/gui/math3d/qquaternion.cpp b/src/gui/math3d/qquaternion.cpp
index 17c4373..841a4c0 100644
--- a/src/gui/math3d/qquaternion.cpp
+++ b/src/gui/math3d/qquaternion.cpp
@@ -55,10 +55,6 @@ QT_BEGIN_NAMESPACE
Quaternions are used to represent rotations in 3D space, and
consist of a 3D rotation axis specified by the x, y, and z
coordinates, and a scalar representing the rotation angle.
-
- The components of a quaternion are stored internally using the most
- efficient representation for the GL rendering engine, which will be
- either floating-point or fixed-point.
*/
/*!
@@ -339,10 +335,6 @@ QVector3D QQuaternion::rotateVector(const QVector3D& vector) const
\sa operator*=()
*/
-#ifndef M_PI
-#define M_PI 3.14159265358979323846
-#endif
-
#ifndef QT_NO_VECTOR3D
/*!
@@ -579,6 +571,51 @@ QDebug operator<<(QDebug dbg, const QQuaternion &q)
#endif
+#ifndef QT_NO_DATASTREAM
+
+/*!
+ \fn QDataStream &operator<<(QDataStream &stream, const QQuaternion &quaternion)
+ \relates QQuaternion
+
+ Writes the given \a quaternion to the given \a stream and returns a
+ reference to the stream.
+
+ \sa {Format of the QDataStream Operators}
+*/
+
+QDataStream &operator<<(QDataStream &stream, const QQuaternion &quaternion)
+{
+ stream << double(quaternion.scalar()) << double(quaternion.x())
+ << double(quaternion.y()) << double(quaternion.z());
+ return stream;
+}
+
+/*!
+ \fn QDataStream &operator>>(QDataStream &stream, QQuaternion &quaternion)
+ \relates QQuaternion
+
+ Reads a quaternion from the given \a stream into the given \a quaternion
+ and returns a reference to the stream.
+
+ \sa {Format of the QDataStream Operators}
+*/
+
+QDataStream &operator>>(QDataStream &stream, QQuaternion &quaternion)
+{
+ double scalar, x, y, z;
+ stream >> scalar;
+ stream >> x;
+ stream >> y;
+ stream >> z;
+ quaternion.setScalar(qreal(scalar));
+ quaternion.setX(qreal(x));
+ quaternion.setY(qreal(y));
+ quaternion.setZ(qreal(z));
+ return stream;
+}
+
+#endif // QT_NO_DATASTREAM
+
#endif
QT_END_NAMESPACE
diff --git a/src/gui/math3d/qquaternion.h b/src/gui/math3d/qquaternion.h
index 6b24a04..55c871d 100644
--- a/src/gui/math3d/qquaternion.h
+++ b/src/gui/math3d/qquaternion.h
@@ -324,14 +324,15 @@ inline QVector4D QQuaternion::toVector4D() const
Q_GUI_EXPORT QDebug operator<<(QDebug dbg, const QQuaternion &q);
#endif
+#ifndef QT_NO_DATASTREAM
+Q_GUI_EXPORT QDataStream &operator<<(QDataStream &, const QQuaternion &);
+Q_GUI_EXPORT QDataStream &operator>>(QDataStream &, QQuaternion &);
#endif
-QT_END_NAMESPACE
-
-#ifndef QT_NO_QUATERNION
-Q_DECLARE_METATYPE(QQuaternion)
#endif
+QT_END_NAMESPACE
+
QT_END_HEADER
#endif
diff --git a/src/gui/math3d/qvector2d.cpp b/src/gui/math3d/qvector2d.cpp
index 9b5d123..28f6b7a 100644
--- a/src/gui/math3d/qvector2d.cpp
+++ b/src/gui/math3d/qvector2d.cpp
@@ -57,9 +57,7 @@ QT_BEGIN_NAMESPACE
The QVector2D class can also be used to represent vertices in 2D space.
We therefore do not need to provide a separate vertex class.
- The coordinates are stored internally using the most efficient
- representation for the GL rendering engine, which will be either
- floating-point or fixed-point.
+ \sa QVector3D, QVector4D, QQuaternion
*/
/*!
@@ -412,6 +410,46 @@ QDebug operator<<(QDebug dbg, const QVector2D &vector)
#endif
-#endif
+#ifndef QT_NO_DATASTREAM
+
+/*!
+ \fn QDataStream &operator<<(QDataStream &stream, const QVector2D &vector)
+ \relates QVector2D
+
+ Writes the given \a vector to the given \a stream and returns a
+ reference to the stream.
+
+ \sa {Format of the QDataStream Operators}
+*/
+
+QDataStream &operator<<(QDataStream &stream, const QVector2D &vector)
+{
+ stream << double(vector.x()) << double(vector.y());
+ return stream;
+}
+
+/*!
+ \fn QDataStream &operator>>(QDataStream &stream, QVector2D &vector)
+ \relates QVector2D
+
+ Reads a 2D vector from the given \a stream into the given \a vector
+ and returns a reference to the stream.
+
+ \sa {Format of the QDataStream Operators}
+*/
+
+QDataStream &operator>>(QDataStream &stream, QVector2D &vector)
+{
+ double x, y;
+ stream >> x;
+ stream >> y;
+ vector.setX(qreal(x));
+ vector.setY(qreal(y));
+ return stream;
+}
+
+#endif // QT_NO_DATASTREAM
+
+#endif // QT_NO_VECTOR2D
QT_END_NAMESPACE
diff --git a/src/gui/math3d/qvector2d.h b/src/gui/math3d/qvector2d.h
index bb62afe..d473c2f 100644
--- a/src/gui/math3d/qvector2d.h
+++ b/src/gui/math3d/qvector2d.h
@@ -243,14 +243,15 @@ inline QPointF QVector2D::toPointF() const
Q_GUI_EXPORT QDebug operator<<(QDebug dbg, const QVector2D &vector);
#endif
+#ifndef QT_NO_DATASTREAM
+Q_GUI_EXPORT QDataStream &operator<<(QDataStream &, const QVector2D &);
+Q_GUI_EXPORT QDataStream &operator>>(QDataStream &, QVector2D &);
#endif
-QT_END_NAMESPACE
-
-#ifndef QT_NO_VECTOR2D
-Q_DECLARE_METATYPE(QVector2D)
#endif
+QT_END_NAMESPACE
+
QT_END_HEADER
#endif
diff --git a/src/gui/math3d/qvector3d.cpp b/src/gui/math3d/qvector3d.cpp
index 977152a..c1f5a3e 100644
--- a/src/gui/math3d/qvector3d.cpp
+++ b/src/gui/math3d/qvector3d.cpp
@@ -61,9 +61,7 @@ QT_BEGIN_NAMESPACE
The QVector3D class can also be used to represent vertices in 3D space.
We therefore do not need to provide a separate vertex class.
- The coordinates are stored internally using the most efficient
- representation for the GL rendering engine, which will be either
- floating-point or fixed-point.
+ \sa QVector2D, QVector4D, QQuaternion
*/
/*!
@@ -515,7 +513,8 @@ QVector4D QVector3D::toVector4D() const
/*!
\fn QPoint QVector3D::toPoint() const
- Returns the QPoint form of this 3D vector.
+ Returns the QPoint form of this 3D vector. The z coordinate
+ is dropped.
\sa toPointF(), toVector2D()
*/
@@ -523,7 +522,8 @@ QVector4D QVector3D::toVector4D() const
/*!
\fn QPointF QVector3D::toPointF() const
- Returns the QPointF form of this 3D vector.
+ Returns the QPointF form of this 3D vector. The z coordinate
+ is dropped.
\sa toPoint(), toVector2D()
*/
@@ -560,6 +560,49 @@ QDebug operator<<(QDebug dbg, const QVector3D &vector)
#endif
-#endif
+#ifndef QT_NO_DATASTREAM
+
+/*!
+ \fn QDataStream &operator<<(QDataStream &stream, const QVector3D &vector)
+ \relates QVector3D
+
+ Writes the given \a vector to the given \a stream and returns a
+ reference to the stream.
+
+ \sa {Format of the QDataStream Operators}
+*/
+
+QDataStream &operator<<(QDataStream &stream, const QVector3D &vector)
+{
+ stream << double(vector.x()) << double(vector.y())
+ << double(vector.z());
+ return stream;
+}
+
+/*!
+ \fn QDataStream &operator>>(QDataStream &stream, QVector3D &vector)
+ \relates QVector3D
+
+ Reads a 3D vector from the given \a stream into the given \a vector
+ and returns a reference to the stream.
+
+ \sa {Format of the QDataStream Operators}
+*/
+
+QDataStream &operator>>(QDataStream &stream, QVector3D &vector)
+{
+ double x, y, z;
+ stream >> x;
+ stream >> y;
+ stream >> z;
+ vector.setX(qreal(x));
+ vector.setY(qreal(y));
+ vector.setZ(qreal(z));
+ return stream;
+}
+
+#endif // QT_NO_DATASTREAM
+
+#endif // QT_NO_VECTOR3D
QT_END_NAMESPACE
diff --git a/src/gui/math3d/qvector3d.h b/src/gui/math3d/qvector3d.h
index 873b388..7494dcf 100644
--- a/src/gui/math3d/qvector3d.h
+++ b/src/gui/math3d/qvector3d.h
@@ -271,14 +271,15 @@ inline QPointF QVector3D::toPointF() const
Q_GUI_EXPORT QDebug operator<<(QDebug dbg, const QVector3D &vector);
#endif
+#ifndef QT_NO_DATASTREAM
+Q_GUI_EXPORT QDataStream &operator<<(QDataStream &, const QVector3D &);
+Q_GUI_EXPORT QDataStream &operator>>(QDataStream &, QVector3D &);
#endif
-QT_END_NAMESPACE
-
-#ifndef QT_NO_VECTOR3D
-Q_DECLARE_METATYPE(QVector3D)
#endif
+QT_END_NAMESPACE
+
QT_END_HEADER
#endif
diff --git a/src/gui/math3d/qvector4d.cpp b/src/gui/math3d/qvector4d.cpp
index a28d2a1..ae03bc7 100644
--- a/src/gui/math3d/qvector4d.cpp
+++ b/src/gui/math3d/qvector4d.cpp
@@ -57,10 +57,6 @@ QT_BEGIN_NAMESPACE
The QVector4D class can also be used to represent vertices in 4D space.
We therefore do not need to provide a separate vertex class.
- The coordinates are stored internally using the most efficient
- representation for the GL rendering engine, which will be either
- floating-point or fixed-point.
-
\sa QQuaternion, QVector2D, QVector3D
*/
@@ -488,7 +484,8 @@ QVector3D QVector4D::toVector3DAffine() const
/*!
\fn QPoint QVector4D::toPoint() const
- Returns the QPoint form of this 4D vector.
+ Returns the QPoint form of this 4D vector. The z and w coordinates
+ are dropped.
\sa toPointF(), toVector2D()
*/
@@ -496,7 +493,8 @@ QVector3D QVector4D::toVector3DAffine() const
/*!
\fn QPointF QVector4D::toPointF() const
- Returns the QPointF form of this 4D vector.
+ Returns the QPointF form of this 4D vector. The z and w coordinates
+ are dropped.
\sa toPoint(), toVector2D()
*/
@@ -513,6 +511,51 @@ QDebug operator<<(QDebug dbg, const QVector4D &vector)
#endif
-#endif
+#ifndef QT_NO_DATASTREAM
+
+/*!
+ \fn QDataStream &operator<<(QDataStream &stream, const QVector4D &vector)
+ \relates QVector4D
+
+ Writes the given \a vector to the given \a stream and returns a
+ reference to the stream.
+
+ \sa {Format of the QDataStream Operators}
+*/
+
+QDataStream &operator<<(QDataStream &stream, const QVector4D &vector)
+{
+ stream << double(vector.x()) << double(vector.y())
+ << double(vector.z()) << double(vector.w());
+ return stream;
+}
+
+/*!
+ \fn QDataStream &operator>>(QDataStream &stream, QVector4D &vector)
+ \relates QVector4D
+
+ Reads a 4D vector from the given \a stream into the given \a vector
+ and returns a reference to the stream.
+
+ \sa {Format of the QDataStream Operators}
+*/
+
+QDataStream &operator>>(QDataStream &stream, QVector4D &vector)
+{
+ double x, y, z, w;
+ stream >> x;
+ stream >> y;
+ stream >> z;
+ stream >> w;
+ vector.setX(qreal(x));
+ vector.setY(qreal(y));
+ vector.setZ(qreal(z));
+ vector.setW(qreal(w));
+ return stream;
+}
+
+#endif // QT_NO_DATASTREAM
+
+#endif // QT_NO_VECTOR4D
QT_END_NAMESPACE
diff --git a/src/gui/math3d/qvector4d.h b/src/gui/math3d/qvector4d.h
index dcfd87a..cd61496 100644
--- a/src/gui/math3d/qvector4d.h
+++ b/src/gui/math3d/qvector4d.h
@@ -276,14 +276,15 @@ inline QPointF QVector4D::toPointF() const
Q_GUI_EXPORT QDebug operator<<(QDebug dbg, const QVector4D &vector);
#endif
+#ifndef QT_NO_DATASTREAM
+Q_GUI_EXPORT QDataStream &operator<<(QDataStream &, const QVector4D &);
+Q_GUI_EXPORT QDataStream &operator>>(QDataStream &, QVector4D &);
#endif
-QT_END_NAMESPACE
-
-#ifndef QT_NO_VECTOR4D
-Q_DECLARE_METATYPE(QVector4D)
#endif
+QT_END_NAMESPACE
+
QT_END_HEADER
#endif
diff --git a/src/gui/painting/painting.pri b/src/gui/painting/painting.pri
index 1f52422..2f5b2d6 100644
--- a/src/gui/painting/painting.pri
+++ b/src/gui/painting/painting.pri
@@ -101,8 +101,8 @@ win32 {
painting/qcolormap_win.cpp \
painting/qpaintdevice_win.cpp \
painting/qprintengine_win.cpp \
- painting/qprinterinfo_win.cpp \
- painting/qregion_win.cpp
+ painting/qprinterinfo_win.cpp
+
!win32-borland:!wince*:LIBS += -lmsimg32
}
@@ -127,10 +127,6 @@ embedded {
painting/qwindowsurface_raster.cpp \
}
-wince* {
- SOURCES -= painting/qregion_win.cpp
-}
-
unix:x11 {
HEADERS += \
painting/qpaintengine_x11_p.h
diff --git a/src/gui/painting/qbackingstore.cpp b/src/gui/painting/qbackingstore.cpp
index 405acb7..40c9bf2 100644
--- a/src/gui/painting/qbackingstore.cpp
+++ b/src/gui/painting/qbackingstore.cpp
@@ -39,6 +39,9 @@
**
****************************************************************************/
+
+#include "qplatformdefs.h"
+
#include "qbackingstore_p.h"
#include <QtCore/qglobal.h>
diff --git a/src/gui/painting/qblendfunctions.cpp b/src/gui/painting/qblendfunctions.cpp
index 831d389..fc2eb60 100644
--- a/src/gui/painting/qblendfunctions.cpp
+++ b/src/gui/painting/qblendfunctions.cpp
@@ -223,8 +223,8 @@ void qt_scale_image_16bit(uchar *destPixels, int dbpl,
int h = ty2 - ty1;
int w = tx2 - tx1;
- const int dstx = int((tx1 + 0.5 - qMin(targetRect.left(), targetRect.right())) * ix);
- const int dsty = int((ty1 + 0.5 - qMin(targetRect.top(), targetRect.bottom())) * iy);
+ const int dstx = qCeil((tx1 + 0.5 - qMin(targetRect.left(), targetRect.right())) * ix) - 1;
+ const int dsty = qCeil((ty1 + 0.5 - qMin(targetRect.top(), targetRect.bottom())) * iy) - 1;
quint32 basex = quint32((sx < 0 ? srcRect.right() : srcRect.left()) * 65536) + dstx;
quint32 srcy = quint32((sy < 0 ? srcRect.bottom() : srcRect.top()) * 65536) + dsty;
@@ -723,8 +723,8 @@ template <typename T> void qt_scale_image_32bit(uchar *destPixels, int dbpl,
int h = ty2 - ty1;
int w = tx2 - tx1;
- const int dstx = int((tx1 + 0.5 - qMin(targetRect.left(), targetRect.right())) * ix);
- const int dsty = int((ty1 + 0.5 - qMin(targetRect.top(), targetRect.bottom())) * iy);
+ const int dstx = qCeil((tx1 + 0.5 - qMin(targetRect.left(), targetRect.right())) * ix) - 1;
+ const int dsty = qCeil((ty1 + 0.5 - qMin(targetRect.top(), targetRect.bottom())) * iy) - 1;
quint32 basex = quint32((sx < 0 ? srcRect.right() : srcRect.left()) * 65536) + dstx;
quint32 srcy = quint32((sy < 0 ? srcRect.bottom() : srcRect.top()) * 65536) + dsty;
diff --git a/src/gui/painting/qblendfunctions_armv6_rvct.s b/src/gui/painting/qblendfunctions_armv6_rvct.s
index 64d5aa5..1027548 100644
--- a/src/gui/painting/qblendfunctions_armv6_rvct.s
+++ b/src/gui/painting/qblendfunctions_armv6_rvct.s
@@ -1,7 +1,7 @@
;/****************************************************************************
;**
;** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-;** Contact: Qt Software Information (qt-info@nokia.com)
+;** Contact: Nokia Corporation (qt-info@nokia.com)
;**
;** This file is part of the QtGui module of the Qt Toolkit.
;**
@@ -34,7 +34,7 @@
;** met: http://www.gnu.org/copyleft/gpl.html.
;**
;** If you are unsure which license is appropriate for your use, please
-;** contact the sales department at qt-sales@nokia.com.
+;** contact the sales department at http://www.qtsoftware.com/contact.
;** $QT_END_LICENSE$
;**
;****************************************************************************/
diff --git a/src/gui/painting/qbrush.h b/src/gui/painting/qbrush.h
index 69adee2..a9fbc75 100644
--- a/src/gui/painting/qbrush.h
+++ b/src/gui/painting/qbrush.h
@@ -52,6 +52,15 @@
#include <QtGui/qimage.h>
#include <QtGui/qpixmap.h>
+#if defined(Q_OS_VXWORKS)
+# if defined(m_data)
+# undef m_data
+# endif
+# if defined(m_type)
+# undef m_type
+# endif
+#endif
+
QT_BEGIN_HEADER
QT_BEGIN_NAMESPACE
diff --git a/src/gui/painting/qcolormap_s60.cpp b/src/gui/painting/qcolormap_s60.cpp
index 29d340f..01d12d1 100644
--- a/src/gui/painting/qcolormap_s60.cpp
+++ b/src/gui/painting/qcolormap_s60.cpp
@@ -1,7 +1,7 @@
/****************************************************************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the QtGui module of the Qt Toolkit.
**
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/src/gui/painting/qdrawhelper.cpp b/src/gui/painting/qdrawhelper.cpp
index a70923d..d77ed57 100644
--- a/src/gui/painting/qdrawhelper.cpp
+++ b/src/gui/painting/qdrawhelper.cpp
@@ -4954,30 +4954,60 @@ Q_STATIC_TEMPLATE_FUNCTION void blendTiled(int count, const QSpan *spans, void *
if (sy < 0)
sy += image_height;
- while (length) {
- int l = qMin(image_width - sx, length);
- if (buffer_size < l)
- l = buffer_size;
-
- DST *dest = ((DST*)data->rasterBuffer->scanLine(spans->y)) + x;
- const SRC *src = (SRC*)data->texture.scanLine(sy) + sx;
- if (modeSource && coverage == 255) {
+ if (modeSource && coverage == 255) {
+ // Copy the first texture block
+ length = image_width;
+ while (length) {
+ int l = qMin(image_width - sx, length);
+ if (buffer_size < l)
+ l = buffer_size;
+ DST *dest = ((DST*)data->rasterBuffer->scanLine(spans->y)) + x;
+ const SRC *src = (SRC*)data->texture.scanLine(sy) + sx;
qt_memconvert<DST, SRC>(dest, src, l);
- } else if (sizeof(DST) == 3 && sizeof(SRC) == 3 && l >= 4 &&
- (quintptr(dest) & 3) == (quintptr(src) & 3))
- {
- blendUntransformed_dest24(dest, src, coverage, l);
- } else if (sizeof(DST) == 2 && sizeof(SRC) == 2 && l >= 2 &&
- (quintptr(dest) & 3) == (quintptr(src) & 3))
- {
- blendUntransformed_dest16(dest, src, coverage, l);
- } else {
- blendUntransformed_unaligned(dest, src, coverage, l);
+ length -= l;
+ sx = 0;
}
- x += l;
- length -= l;
- sx = 0;
+ // Now use the rasterBuffer as the source of the texture,
+ // We can now progressively copy larger blocks
+ // - Less cpu time in code figuring out what to copy
+ // We are dealing with one block of data
+ // - More likely to fit in the cache
+ // - can use memcpy
+ int copy_image_width = image_width;
+ length = spans->len - image_width;
+ DST *src = ((DST*)data->rasterBuffer->scanLine(spans->y)) + x;
+ DST *dest = src + copy_image_width;
+ while (copy_image_width < length) {
+ qt_memconvert(dest, src, copy_image_width);
+ dest += copy_image_width;
+ length -= copy_image_width;
+ copy_image_width *= 2;
+ }
+ qt_memconvert(dest, src, length);
+ } else {
+ while (length) {
+ int l = qMin(image_width - sx, length);
+ if (buffer_size < l)
+ l = buffer_size;
+ DST *dest = ((DST*)data->rasterBuffer->scanLine(spans->y)) + x;
+ const SRC *src = (SRC*)data->texture.scanLine(sy) + sx;
+ if (sizeof(DST) == 3 && sizeof(SRC) == 3 && l >= 4 &&
+ (quintptr(dest) & 3) == (quintptr(src) & 3))
+ {
+ blendUntransformed_dest24(dest, src, coverage, l);
+ } else if (sizeof(DST) == 2 && sizeof(SRC) == 2 && l >= 2 &&
+ (quintptr(dest) & 3) == (quintptr(src) & 3))
+ {
+ blendUntransformed_dest16(dest, src, coverage, l);
+ } else {
+ blendUntransformed_unaligned(dest, src, coverage, l);
+ }
+
+ x += l;
+ length -= l;
+ sx = 0;
+ }
}
++spans;
}
diff --git a/src/gui/painting/qdrawhelper_armv6_p.h b/src/gui/painting/qdrawhelper_armv6_p.h
index a4c1df2..2ab63eb 100644
--- a/src/gui/painting/qdrawhelper_armv6_p.h
+++ b/src/gui/painting/qdrawhelper_armv6_p.h
@@ -1,7 +1,7 @@
/****************************************************************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the QtGui module of the Qt Toolkit.
**
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/src/gui/painting/qdrawhelper_armv6_rvct.inc b/src/gui/painting/qdrawhelper_armv6_rvct.inc
index 1cb316a..f6c23d0 100644
--- a/src/gui/painting/qdrawhelper_armv6_rvct.inc
+++ b/src/gui/painting/qdrawhelper_armv6_rvct.inc
@@ -1,7 +1,7 @@
;/****************************************************************************
;**
;** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-;** Contact: Qt Software Information (qt-info@nokia.com)
+;** Contact: Nokia Corporation (qt-info@nokia.com)
;**
;** This file is part of the QtGui module of the Qt Toolkit.
;**
@@ -34,7 +34,7 @@
;** met: http://www.gnu.org/copyleft/gpl.html.
;**
;** If you are unsure which license is appropriate for your use, please
-;** contact the sales department at qt-sales@nokia.com.
+;** contact the sales department at http://www.qtsoftware.com/contact.
;** $QT_END_LICENSE$
;**
;****************************************************************************/
diff --git a/src/gui/painting/qdrawhelper_armv6_rvct.s b/src/gui/painting/qdrawhelper_armv6_rvct.s
index dd29f80..215bdaf 100644
--- a/src/gui/painting/qdrawhelper_armv6_rvct.s
+++ b/src/gui/painting/qdrawhelper_armv6_rvct.s
@@ -1,7 +1,7 @@
;/****************************************************************************
;**
;** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-;** Contact: Qt Software Information (qt-info@nokia.com)
+;** Contact: Nokia Corporation (qt-info@nokia.com)
;**
;** This file is part of the QtGui module of the Qt Toolkit.
;**
@@ -34,7 +34,7 @@
;** met: http://www.gnu.org/copyleft/gpl.html.
;**
;** If you are unsure which license is appropriate for your use, please
-;** contact the sales department at qt-sales@nokia.com.
+;** contact the sales department at http://www.qtsoftware.com/contact.
;** $QT_END_LICENSE$
;**
;****************************************************************************/
diff --git a/src/gui/painting/qdrawutil.cpp b/src/gui/painting/qdrawutil.cpp
index a3ae102..602b991 100644
--- a/src/gui/painting/qdrawutil.cpp
+++ b/src/gui/painting/qdrawutil.cpp
@@ -1008,8 +1008,7 @@ void qDrawItem(QPainter *p, Qt::GUIStyle gs,
;
#ifndef QT_NO_IMAGE_HEURISTIC_MASK
} else { // color pixmap, no mask
- QString k;
- k.sprintf("$qt-drawitem-%llx", pm.cacheKey());
+ QString k = QString::fromLatin1("$qt-drawitem-%1").arg(pm.cacheKey());
if (!QPixmapCache::find(k, pm)) {
pm = pm.createHeuristicMask();
pm.setMask((QBitmap&)pm);
diff --git a/src/gui/painting/qdrawutil.h b/src/gui/painting/qdrawutil.h
index 8f6797c..ce07c1f 100644
--- a/src/gui/painting/qdrawutil.h
+++ b/src/gui/painting/qdrawutil.h
@@ -133,7 +133,7 @@ Q_GUI_EXPORT QT3_SUPPORT void qDrawArrow(QPainter *p, Qt::ArrowType type, Qt::GU
const QPalette &pal, bool enabled);
#endif
-struct Q_GUI_EXPORT QMargins
+struct QMargins
{
inline QMargins(int margin = 0)
: top(margin),
@@ -151,7 +151,7 @@ struct Q_GUI_EXPORT QMargins
int right;
};
-struct Q_GUI_EXPORT QTileRules
+struct QTileRules
{
inline QTileRules(Qt::TileRule horizontalRule, Qt::TileRule verticalRule = Qt::Stretch)
: horizontal(horizontalRule), vertical(verticalRule) {}
@@ -168,8 +168,7 @@ Q_GUI_EXPORT void qDrawBorderPixmap(QPainter *painter,
const QRect &sourceRect,
const QMargins &sourceMargins,
const QTileRules &rules = QTileRules());
-
-Q_GUI_EXPORT inline void qDrawBorderPixmap(QPainter *painter,
+inline void qDrawBorderPixmap(QPainter *painter,
const QRect &target,
const QMargins &margins,
const QPixmap &pixmap)
diff --git a/src/gui/painting/qgrayraster.c b/src/gui/painting/qgrayraster.c
index f908d48..7a7adcf 100644
--- a/src/gui/painting/qgrayraster.c
+++ b/src/gui/painting/qgrayraster.c
@@ -134,7 +134,9 @@
#define ErrRaster_MemoryOverflow -4
-
+#if defined(VXWORKS)
+# include <vxWorksCommon.h> /* needed for setjmp.h */
+#endif
#include <string.h> /* for qt_ft_memcpy() */
#include <setjmp.h>
#include <limits.h>
diff --git a/src/gui/painting/qmatrix.cpp b/src/gui/painting/qmatrix.cpp
index 221267f..39f4d95 100644
--- a/src/gui/painting/qmatrix.cpp
+++ b/src/gui/painting/qmatrix.cpp
@@ -55,11 +55,15 @@ QT_BEGIN_NAMESPACE
\class QMatrix
\brief The QMatrix class specifies 2D transformations of a
coordinate system.
+ \obsolete
\ingroup multimedia
A matrix specifies how to translate, scale, shear or rotate the
coordinate system, and is typically used when rendering graphics.
+ QMatrix, in contrast to QTransform, does not allow perspective
+ transformations. QTransform is the recommended transformation
+ class in Qt.
A QMatrix object can be built using the setMatrix(), scale(),
rotate(), translate() and shear() functions. Alternatively, it
@@ -172,8 +176,8 @@ QT_BEGIN_NAMESPACE
\snippet doc/src/snippets/matrix/matrix.cpp 2
\endtable
- \sa QPainter, {The Coordinate System}, {demos/affine}{Affine
- Transformations Demo}, {Transformations Example}
+ \sa QPainter, QTransform, {The Coordinate System},
+ {demos/affine}{Affine Transformations Demo}, {Transformations Example}
*/
diff --git a/src/gui/painting/qoutlinemapper.cpp b/src/gui/painting/qoutlinemapper.cpp
index 401fad9..1287672 100644
--- a/src/gui/painting/qoutlinemapper.cpp
+++ b/src/gui/painting/qoutlinemapper.cpp
@@ -198,33 +198,11 @@ void QOutlineMapper::endOutline()
m_m22 * e.y() + m_m12 * e.x() + m_dy);
}
} else {
- // ## TODO: this case needs to be plain code polygonal paths
- QPainterPath path;
- if (m_element_types.isEmpty()) {
- if (!m_elements.isEmpty())
- path.moveTo(m_elements.at(0));
- for (int i=1; i<m_elements.size(); ++i)
- path.lineTo(m_elements.at(i));
- } else {
- for (int i=0; i<m_elements.size(); ++i) {
- switch (m_element_types.at(i)) {
- case QPainterPath::MoveToElement:
- path.moveTo(m_elements.at(i));
- break;
- case QPainterPath::LineToElement:
- path.lineTo(m_elements.at(i));
- break;
- case QPainterPath::CurveToElement:
- path.cubicTo(m_elements.at(i), m_elements.at(i+1), m_elements.at(i+2));
- i += 2;
- break;
- default:
- Q_ASSERT(false);
- break;
- }
- }
- }
+ const QVectorPath vp((qreal *)m_elements.data(), m_elements.size(), m_element_types.data());
+ QPainterPath path = vp.convertToPainterPath();
path = QTransform(m_m11, m_m12, m_m13, m_m21, m_m22, m_m23, m_dx, m_dy, m_m33).map(path);
+ if (!(m_outline.flags & QT_FT_OUTLINE_EVEN_ODD_FILL))
+ path.setFillRule(Qt::WindingFill);
uint old_txop = m_txop;
m_txop = QTransform::TxNone;
if (path.isEmpty())
diff --git a/src/gui/painting/qpaintdevice_s60.cpp b/src/gui/painting/qpaintdevice_s60.cpp
index a2c4499..26ff37a 100644
--- a/src/gui/painting/qpaintdevice_s60.cpp
+++ b/src/gui/painting/qpaintdevice_s60.cpp
@@ -1,9 +1,9 @@
/****************************************************************************
**
-** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
-** This file is part of the $MODULE$ of the Qt Toolkit.
+** This file is part of the QtGui of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/src/gui/painting/qpaintengine.h b/src/gui/painting/qpaintengine.h
index 6460afa..92aa506 100644
--- a/src/gui/painting/qpaintengine.h
+++ b/src/gui/painting/qpaintengine.h
@@ -89,7 +89,7 @@ Q_DECLARE_TYPEINFO(QTextItem, Q_PRIMITIVE_TYPE);
class Q_GUI_EXPORT QPaintEngine
{
- Q_DECLARE_SCOPED_PRIVATE(QPaintEngine)
+ Q_DECLARE_PRIVATE(QPaintEngine)
public:
enum PaintEngineFeature {
PrimitiveTransform = 0x00000001, // Can transform primitives brushes
diff --git a/src/gui/painting/qpaintengine_alpha_p.h b/src/gui/painting/qpaintengine_alpha_p.h
index 1a0b1ac..7f45ad6 100644
--- a/src/gui/painting/qpaintengine_alpha_p.h
+++ b/src/gui/painting/qpaintengine_alpha_p.h
@@ -62,7 +62,7 @@ class QAlphaPaintEnginePrivate;
class QAlphaPaintEngine : public QPaintEngine
{
- Q_DECLARE_SCOPED_PRIVATE(QAlphaPaintEngine)
+ Q_DECLARE_PRIVATE(QAlphaPaintEngine)
public:
~QAlphaPaintEngine();
diff --git a/src/gui/painting/qpaintengine_mac_p.h b/src/gui/painting/qpaintengine_mac_p.h
index 58150d0..20a4a08 100644
--- a/src/gui/painting/qpaintengine_mac_p.h
+++ b/src/gui/painting/qpaintengine_mac_p.h
@@ -58,9 +58,6 @@
#include "private/qpaintengine_p.h"
#include "private/qpolygonclipper_p.h"
#include "QtCore/qhash.h"
-#ifndef QT_MAC_NO_QUICKDRAW
-#include <private/qwidget_p.h>
-#endif
typedef struct CGColorSpace *CGColorSpaceRef;
QT_BEGIN_NAMESPACE
@@ -69,112 +66,10 @@ extern int qt_defaultDpi();
extern int qt_defaultDpiX();
extern int qt_defaultDpiY();
-#ifndef QT_MAC_NO_QUICKDRAW
-class QMacSavedPortInfo
-{
- RgnHandle clip;
- GWorldPtr world;
- GDHandle handle;
- PenState pen; //go pennstate
- RGBColor back, fore;
- bool valid_gworld;
- void init();
-
-public:
- inline QMacSavedPortInfo() { init(); }
- inline QMacSavedPortInfo(QPaintDevice *pd) { init(); setPaintDevice(pd); }
- inline QMacSavedPortInfo(QPaintDevice *pd, const QRect &r)
- { init(); setPaintDevice(pd); setClipRegion(r); }
- inline QMacSavedPortInfo(QPaintDevice *pd, const QRegion &r)
- { init(); setPaintDevice(pd); setClipRegion(r); }
- ~QMacSavedPortInfo();
- static inline bool setClipRegion(const QRect &r);
- static inline bool setClipRegion(const QRegion &r);
- static inline bool setPaintDevice(QPaintDevice *);
-};
-
-inline bool
-QMacSavedPortInfo::setClipRegion(const QRect &rect)
-{
- Rect r;
- SetRect(&r, rect.x(), rect.y(), rect.right()+1, rect.bottom()+1);
- ClipRect(&r);
- return true;
-}
-
-inline bool
-QMacSavedPortInfo::setClipRegion(const QRegion &r)
-{
- if(r.isEmpty())
- return setClipRegion(QRect());
- QMacSmartQuickDrawRegion rgn(r.toQDRgn());
- SetClip(rgn);
- return true;
-}
-
-inline bool
-QMacSavedPortInfo::setPaintDevice(QPaintDevice *pd)
-{
- if(!pd)
- return false;
- bool ret = true;
- extern GrafPtr qt_mac_qd_context(const QPaintDevice *); // qpaintdevice_mac.cpp
- if(pd->devType() == QInternal::Widget)
- SetPortWindowPort(qt_mac_window_for(static_cast<QWidget*>(pd)));
- else if(pd->devType() == QInternal::Pixmap || pd->devType() == QInternal::Printer)
- SetGWorld((GrafPtr)qt_mac_qd_context(pd), 0); //set the gworld
- return ret;
-}
-
-inline void
-QMacSavedPortInfo::init()
-{
- GetBackColor(&back);
- GetForeColor(&fore);
- GetGWorld(&world, &handle);
- valid_gworld = true;
- clip = NewRgn();
- GetClip(clip);
- GetPenState(&pen);
-}
-
-inline QMacSavedPortInfo::~QMacSavedPortInfo()
-{
- bool set_state = false;
- if(valid_gworld) {
- set_state = IsValidPort(world);
- if(set_state)
- SetGWorld(world,handle); //always do this one first
- } else {
- setPaintDevice(qt_mac_safe_pdev);
- }
- if(set_state) {
- SetClip(clip);
- SetPenState(&pen);
- RGBForeColor(&fore);
- RGBBackColor(&back);
- }
- DisposeRgn(clip);
-}
-#else
-class QMacSavedPortInfo
-{
-public:
- inline QMacSavedPortInfo() { }
- inline QMacSavedPortInfo(QPaintDevice *) { }
- inline QMacSavedPortInfo(QPaintDevice *, const QRect &) { }
- inline QMacSavedPortInfo(QPaintDevice *, const QRegion &) { }
- ~QMacSavedPortInfo() { }
- static inline bool setClipRegion(const QRect &) { return false; }
- static inline bool setClipRegion(const QRegion &) { return false; }
- static inline bool setPaintDevice(QPaintDevice *) { return false; }
-};
-#endif
-
class QCoreGraphicsPaintEnginePrivate;
class QCoreGraphicsPaintEngine : public QPaintEngine
{
- Q_DECLARE_SCOPED_PRIVATE(QCoreGraphicsPaintEngine)
+ Q_DECLARE_PRIVATE(QCoreGraphicsPaintEngine)
public:
QCoreGraphicsPaintEngine();
diff --git a/src/gui/painting/qpaintengine_preview_p.h b/src/gui/painting/qpaintengine_preview_p.h
index d8e2b08..9f96d40 100644
--- a/src/gui/painting/qpaintengine_preview_p.h
+++ b/src/gui/painting/qpaintengine_preview_p.h
@@ -65,7 +65,7 @@ class QPreviewPaintEnginePrivate;
class QPreviewPaintEngine : public QPaintEngine, public QPrintEngine
{
- Q_DECLARE_SCOPED_PRIVATE(QPreviewPaintEngine)
+ Q_DECLARE_PRIVATE(QPreviewPaintEngine)
public:
QPreviewPaintEngine();
~QPreviewPaintEngine();
diff --git a/src/gui/painting/qpaintengine_raster.cpp b/src/gui/painting/qpaintengine_raster.cpp
index ead3355..4aaa799 100644
--- a/src/gui/painting/qpaintengine_raster.cpp
+++ b/src/gui/painting/qpaintengine_raster.cpp
@@ -112,10 +112,6 @@ extern bool qt_scaleForTransform(const QTransform &transform, qreal *scale); //
#define qt_swap_int(x, y) { int tmp = (x); (x) = (y); (y) = tmp; }
#define qt_swap_qreal(x, y) { qreal tmp = (x); (x) = (y); (y) = tmp; }
-#ifdef Q_WS_WIN
-static bool qt_enable_16bit_colors = false;
-#endif
-
// #define QT_DEBUG_DRAW
#ifdef QT_DEBUG_DRAW
void dumpClip(int width, int height, QClipData *clip);
@@ -1102,6 +1098,9 @@ void QRasterPaintEnginePrivate::systemStateChanged()
#ifdef QT_DEBUG_DRAW
qDebug() << "systemStateChanged" << this << "deviceRect" << deviceRect << clipRect << systemClip;
#endif
+
+ exDeviceRect = deviceRect;
+
Q_Q(QRasterPaintEngine);
q->state()->strokeFlags |= QPaintEngine::DirtyClipRegion;
q->state()->fillFlags |= QPaintEngine::DirtyClipRegion;
@@ -1670,34 +1669,6 @@ void QRasterPaintEngine::drawRects(const QRectF *rects, int rectCount)
QPaintEngineEx::drawRects(rects, rectCount);
}
-void QRasterPaintEnginePrivate::strokeProjective(const QPainterPath &path)
-{
- Q_Q(QRasterPaintEngine);
- QRasterPaintEngineState *s = q->state();
-
- const QPen &pen = s->lastPen;
- QPainterPathStroker pathStroker;
- pathStroker.setWidth(pen.width() == 0 ? qreal(1) : pen.width());
- pathStroker.setCapStyle(pen.capStyle());
- pathStroker.setJoinStyle(pen.joinStyle());
- pathStroker.setMiterLimit(pen.miterLimit());
- pathStroker.setDashOffset(pen.dashOffset());
-
- if (qpen_style(pen) == Qt::CustomDashLine)
- pathStroker.setDashPattern(pen.dashPattern());
- else
- pathStroker.setDashPattern(qpen_style(pen));
-
- outlineMapper->setMatrix(QTransform());
- const QPainterPath stroke = pen.isCosmetic()
- ? pathStroker.createStroke(s->matrix.map(path))
- : s->matrix.map(pathStroker.createStroke(path));
-
- rasterize(outlineMapper->convertPath(stroke), s->penData.blend, &s->penData, rasterBuffer.data());
- outlinemapper_xform_dirty = true;
-}
-
-
/*!
\internal
@@ -1709,11 +1680,30 @@ void QRasterPaintEngine::stroke(const QVectorPath &path, const QPen &pen)
if (!s->penData.blend)
return;
- if (s->flags.fast_pen && path.shape() <= QVectorPath::NonCurvedShapeHint && s->lastPen.brush().isOpaque()) {
- strokePolygonCosmetic((QPointF *) path.points(), path.elementCount(),
- path.hasImplicitClose()
- ? WindingMode
- : PolylineMode);
+ if (s->flags.fast_pen && path.shape() <= QVectorPath::NonCurvedShapeHint
+ && s->lastPen.brush().isOpaque()) {
+ int count = path.elementCount();
+ QPointF *points = (QPointF *) path.points();
+ const QPainterPath::ElementType *types = path.elements();
+ if (types) {
+ int first = 0;
+ int last;
+ while (first < count) {
+ while (first < count && types[first] != QPainterPath::MoveToElement) ++first;
+ last = first + 1;
+ while (last < count && types[last] == QPainterPath::LineToElement) ++last;
+ strokePolygonCosmetic(points + first, last - first,
+ path.hasImplicitClose() && last == count // only close last one..
+ ? WindingMode
+ : PolylineMode);
+ first = last;
+ }
+ } else {
+ strokePolygonCosmetic(points, count,
+ path.hasImplicitClose()
+ ? WindingMode
+ : PolylineMode);
+ }
} else if (s->flags.non_complex_pen && path.shape() == QVectorPath::LinesHint) {
qreal width = s->lastPen.isCosmetic()
@@ -1743,6 +1733,8 @@ void QRasterPaintEngine::stroke(const QVectorPath &path, const QPen &pen)
const QLineF *lines = reinterpret_cast<const QLineF *>(path.points());
for (int i = 0; i < lineCount; ++i) {
+ if (path.shape() == QVectorPath::LinesHint)
+ dashOffset = s->lastPen.dashOffset();
if (lines[i].p1() == lines[i].p2()) {
if (s->lastPen.capStyle() != Qt::FlatCap) {
QPointF p = lines[i].p1();
@@ -1948,67 +1940,6 @@ void QRasterPaintEngine::fillRect(const QRectF &r, const QColor &color)
fillRect(r, &d->solid_color_filler);
}
-/*!
- \reimp
-*/
-void QRasterPaintEngine::drawPath(const QPainterPath &path)
-{
-#ifdef QT_DEBUG_DRAW
- QRectF bounds = path.boundingRect();
- qDebug(" - QRasterPaintEngine::drawPath(), [%.2f, %.2f, %.2f, %.2f]",
- bounds.x(), bounds.y(), bounds.width(), bounds.height());
-#endif
-
- if (path.isEmpty())
- return;
-
- // Filling..,
- Q_D(QRasterPaintEngine);
- QRasterPaintEngineState *s = state();
-
- ensureBrush();
- if (s->brushData.blend) {
- ensureOutlineMapper();
- fillPath(path, &s->brushData);
- }
-
- // Stroking...
- ensurePen();
- if (!s->penData.blend)
- return;
- {
- if (s->matrix.type() >= QTransform::TxProject) {
- d->strokeProjective(path);
- } else {
- Q_ASSERT(s->stroker);
- d->outlineMapper->beginOutline(Qt::WindingFill);
- qreal txscale = 1;
- if (s->pen.isCosmetic() || (qt_scaleForTransform(s->matrix, &txscale) && txscale != 1)) {
- const qreal strokeWidth = d->basicStroker.strokeWidth();
- const QRectF clipRect = d->dashStroker ? d->dashStroker->clipRect() : QRectF();
- if (d->dashStroker)
- d->dashStroker->setClipRect(d->deviceRect);
- d->basicStroker.setStrokeWidth(strokeWidth * txscale);
- d->outlineMapper->setMatrix(QTransform());
- s->stroker->strokePath(path, d->outlineMapper.data(), s->matrix);
- d->outlinemapper_xform_dirty = true;
- d->basicStroker.setStrokeWidth(strokeWidth);
- if (d->dashStroker.data())
- d->dashStroker->setClipRect(clipRect);
- } else {
- ensureOutlineMapper();
- s->stroker->strokePath(path, d->outlineMapper.data(), QTransform());
- }
- d->outlineMapper->endOutline();
-
- ProcessSpans blend = d->getPenFunc(d->outlineMapper->controlPointRect,
- &s->penData);
- d->rasterize(d->outlineMapper->outline(), blend, &s->penData, d->rasterBuffer.data());
- }
- }
-
-}
-
static inline bool isAbove(const QPointF *a, const QPointF *b)
{
return a->y() < b->y();
@@ -3522,8 +3453,8 @@ void QRasterPaintEngine::drawLines(const QLine *lines, int lineCount)
int m22 = int(s->matrix.m22());
int dx = qFloor(s->matrix.dx() + aliasedCoordinateDelta);
int dy = qFloor(s->matrix.dy() + aliasedCoordinateDelta);
- int dashOffset = int(s->lastPen.dashOffset());
for (int i=0; i<lineCount; ++i) {
+ int dashOffset = int(s->lastPen.dashOffset());
if (s->flags.int_xform) {
const QLine &l = lines[i];
int x1 = l.x1() * m11 + dx;
@@ -3622,8 +3553,8 @@ void QRasterPaintEngine::drawLines(const QLineF *lines, int lineCount)
? LineDrawNormal
: LineDrawIncludeLastPixel;
- int dashOffset = int(s->lastPen.dashOffset());
for (int i=0; i<lineCount; ++i) {
+ int dashOffset = int(s->lastPen.dashOffset());
QLineF line = (lines[i] * s->matrix).translated(aliasedCoordinateDelta, aliasedCoordinateDelta);
const QRectF brect(QPointF(line.x1(), line.y1()),
QPointF(line.x2(), line.y2()));
@@ -4681,104 +4612,6 @@ static int qt_intersect_spans(QT_FT_Span *spans, int numSpans,
return n;
}
-/*
- \internal
- Clip spans to \a{clip}-region.
- Returns number of unclipped spans
-*/
-static int qt_intersect_spans(QT_FT_Span *spans, int numSpans,
- int *currSpan,
- QT_FT_Span *outSpans, int maxOut,
- const QRegion &clip)
-{
- const QVector<QRect> rects = clip.rects();
- const int numRects = rects.size();
-
- int r = 0;
- short miny, minx, maxx, maxy;
- {
- const QRect &rect = rects[0];
- miny = rect.top();
- minx = rect.left();
- maxx = rect.right();
- maxy = rect.bottom();
- }
-
- // TODO: better mapping of currY and startRect
-
- int n = 0;
- int i = *currSpan;
- int currY = spans[i].y;
- while (i < numSpans) {
-
- if (spans[i].y != currY && r != 0) {
- currY = spans[i].y;
- r = 0;
- const QRect &rect = rects[r];
- miny = rect.top();
- minx = rect.left();
- maxx = rect.right();
- maxy = rect.bottom();
- }
-
- if (spans[i].y < miny) {
- ++i;
- continue;
- }
-
- if (spans[i].y > maxy || spans[i].x > maxx) {
- if (++r >= numRects) {
- ++i;
- continue;
- }
-
- const QRect &rect = rects[r];
- miny = rect.top();
- minx = rect.left();
- maxx = rect.right();
- maxy = rect.bottom();
- continue;
- }
-
- if (spans[i].x + spans[i].len <= minx) {
- ++i;
- continue;
- }
-
- outSpans[n].y = spans[i].y;
- outSpans[n].coverage = spans[i].coverage;
-
- if (spans[i].x < minx) {
- const ushort cutaway = minx - spans[i].x;
- outSpans[n].len = qMin(spans[i].len - cutaway, maxx - minx + 1);
- outSpans[n].x = minx;
- if (outSpans[n].len == spans[i].len - cutaway) {
- ++i;
- } else {
- // span wider than current rect
- spans[i].len -= outSpans[n].len + cutaway;
- spans[i].x = maxx + 1;
- }
- } else { // span starts inside current rect
- outSpans[n].x = spans[i].x;
- outSpans[n].len = qMin(spans[i].len,
- ushort(maxx - spans[i].x + 1));
- if (outSpans[n].len == spans[i].len) {
- ++i;
- } else {
- // span wider than current rect
- spans[i].len -= outSpans[n].len;
- spans[i].x = maxx + 1;
- }
- }
-
- if (++n >= maxOut)
- break;
- }
-
- *currSpan = i;
- return n;
-}
static void qt_span_fill_clipRect(int count, const QSpan *spans,
void *userData)
diff --git a/src/gui/painting/qpaintengine_raster_p.h b/src/gui/painting/qpaintengine_raster_p.h
index e0f4f6d..53f09cc 100644
--- a/src/gui/painting/qpaintengine_raster_p.h
+++ b/src/gui/painting/qpaintengine_raster_p.h
@@ -134,7 +134,7 @@ Q_GUI_EXPORT
#endif
QRasterPaintEngine : public QPaintEngineEx
{
- Q_DECLARE_SCOPED_PRIVATE(QRasterPaintEngine)
+ Q_DECLARE_PRIVATE(QRasterPaintEngine)
public:
QRasterPaintEngine(QPaintDevice *device);
@@ -165,7 +165,6 @@ public:
void updateMatrix(const QTransform &matrix);
- void drawPath(const QPainterPath &path);
void drawPolygon(const QPointF *points, int pointCount, PolygonDrawMode mode);
void drawPolygon(const QPoint *points, int pointCount, PolygonDrawMode mode);
void fillPath(const QPainterPath &path, QSpanData *fillData);
@@ -327,7 +326,6 @@ public:
inline const QClipData *clip() const;
- void strokeProjective(const QPainterPath &path);
void initializeRasterizer(QSpanData *data);
void recalculateFastImages();
diff --git a/src/gui/painting/qpaintengine_x11_p.h b/src/gui/painting/qpaintengine_x11_p.h
index 2a7894d..738a155 100644
--- a/src/gui/painting/qpaintengine_x11_p.h
+++ b/src/gui/painting/qpaintengine_x11_p.h
@@ -76,7 +76,7 @@ struct qt_float_point
class QX11PaintEngine : public QPaintEngine
{
- Q_DECLARE_SCOPED_PRIVATE(QX11PaintEngine)
+ Q_DECLARE_PRIVATE(QX11PaintEngine)
public:
QX11PaintEngine();
~QX11PaintEngine();
diff --git a/src/gui/painting/qpaintengineex.cpp b/src/gui/painting/qpaintengineex.cpp
index 2fc23f9..81dce4f 100644
--- a/src/gui/painting/qpaintengineex.cpp
+++ b/src/gui/painting/qpaintengineex.cpp
@@ -42,6 +42,7 @@
#include "qpaintengineex_p.h"
#include "qpainter_p.h"
#include "qstroker_p.h"
+#include "qbezier_p.h"
#include <private/qpainterpath_p.h>
#include <qvarlengtharray.h>
@@ -91,6 +92,40 @@ QRectF QVectorPath::controlPointRect() const
return QRectF(QPointF(m_cp_rect.x1, m_cp_rect.y1), QPointF(m_cp_rect.x2, m_cp_rect.y2));
}
+QPainterPath QVectorPath::convertToPainterPath() const
+{
+ QPainterPath path;
+
+ if (m_count == 0)
+ return path;
+
+ const QPointF *points = (const QPointF *) m_points;
+
+ if (m_elements) {
+ for (int i=0; i<m_count; ++i) {
+ switch (m_elements[i]) {
+ case QPainterPath::MoveToElement:
+ path.moveTo(points[i]);
+ break;
+ case QPainterPath::LineToElement:
+ path.lineTo(points[i]);
+ break;
+ case QPainterPath::CurveToElement:
+ path.cubicTo(points[i], points[i+1], points[i+2]);
+ break;
+ default:
+ break;
+ }
+ }
+ } else {
+ path.moveTo(points[0]);
+ for (int i=1; i<m_count; ++i)
+ path.lineTo(points[i]);
+ }
+
+ return path;
+}
+
const QVectorPath &qtVectorPathForPath(const QPainterPath &path)
{
Q_ASSERT(path.d_func());
@@ -362,12 +397,12 @@ void QPaintEngineEx::stroke(const QVectorPath &path, const QPen &pen)
d->activeStroker = 0;
} else {
// ### re-enable...
-// if (pen.isCosmetic()) {
-// d->dashStroker->setClipRect(d->deviceRect);
-// } else {
-// QRectF clipRect = s->matrix.inverted().mapRect(QRectF(d->deviceRect));
-// d->dashStroker->setClipRect(clipRect);
-// }
+ if (pen.isCosmetic()) {
+ d->dasher.setClipRect(d->exDeviceRect);
+ } else {
+ QRectF clipRect = state()->matrix.inverted().mapRect(QRectF(d->exDeviceRect));
+ d->dasher.setClipRect(clipRect);
+ }
d->dasher.setDashPattern(pen.dashPattern());
d->dasher.setDashOffset(pen.dashOffset());
d->activeStroker = &d->dasher;
@@ -384,7 +419,6 @@ void QPaintEngineEx::stroke(const QVectorPath &path, const QPen &pen)
const qreal *lastPoint = points + (pointCount<<1);
- d->activeStroker->begin(d->strokeHandler);
d->strokeHandler->types.reset();
d->strokeHandler->pts.reset();
@@ -393,13 +427,13 @@ void QPaintEngineEx::stroke(const QVectorPath &path, const QPen &pen)
if (d->stroker.capStyle() == Qt::RoundCap || d->stroker.joinStyle() == Qt::RoundJoin)
flags |= QVectorPath::CurvedShapeHint;
- // ### Perspective Xforms are currently not supported...
qreal txscale = 1;
if (!(pen.isCosmetic() || (qt_scaleForTransform(state()->matrix, &txscale) && txscale != 1))) {
// We include cosmetic pens in this case to avoid having to
// change the current transform. Normal transformed,
// non-cosmetic pens will be transformed as part of fill
// later, so they are also covered here..
+ d->activeStroker->begin(d->strokeHandler);
if (types) {
while (points < lastPoint) {
switch (*types) {
@@ -448,69 +482,75 @@ void QPaintEngineEx::stroke(const QVectorPath &path, const QPen &pen)
QVectorPath strokePath(d->strokeHandler->pts.data(),
d->strokeHandler->types.size(),
d->strokeHandler->types.data(),
- QVectorPath::WindingFill);
+ flags);
fill(strokePath, pen.brush());
} else {
const qreal strokeWidth = d->stroker.strokeWidth();
d->stroker.setStrokeWidth(strokeWidth * txscale);
// For cosmetic pens we need a bit of trickery... We to process xform the input points
- if (types) {
- while (points < lastPoint) {
- switch (*types) {
- case QPainterPath::MoveToElement: {
- QPointF pt = (*(QPointF *) points) * state()->matrix;
- d->activeStroker->moveTo(pt.x(), pt.y());
- points += 2;
- ++types;
- break;
+ if (state()->matrix.type() >= QTransform::TxProject) {
+ QPainterPath painterPath = state()->matrix.map(path.convertToPainterPath());
+ d->activeStroker->strokePath(painterPath, d->strokeHandler, QTransform());
+ } else {
+ d->activeStroker->begin(d->strokeHandler);
+ if (types) {
+ while (points < lastPoint) {
+ switch (*types) {
+ case QPainterPath::MoveToElement: {
+ QPointF pt = (*(QPointF *) points) * state()->matrix;
+ d->activeStroker->moveTo(pt.x(), pt.y());
+ points += 2;
+ ++types;
+ break;
+ }
+ case QPainterPath::LineToElement: {
+ QPointF pt = (*(QPointF *) points) * state()->matrix;
+ d->activeStroker->lineTo(pt.x(), pt.y());
+ points += 2;
+ ++types;
+ break;
+ }
+ case QPainterPath::CurveToElement: {
+ QPointF c1 = ((QPointF *) points)[0] * state()->matrix;
+ QPointF c2 = ((QPointF *) points)[1] * state()->matrix;
+ QPointF e = ((QPointF *) points)[2] * state()->matrix;
+ d->activeStroker->cubicTo(c1.x(), c1.y(), c2.x(), c2.y(), e.x(), e.y());
+ points += 6;
+ types += 3;
+ flags |= QVectorPath::CurvedShapeHint;
+ break;
+ }
+ default:
+ break;
+ }
}
- case QPainterPath::LineToElement: {
- QPointF pt = (*(QPointF *) points) * state()->matrix;
+ if (path.hasImplicitClose()) {
+ QPointF pt = * ((QPointF *) path.points()) * state()->matrix;
d->activeStroker->lineTo(pt.x(), pt.y());
- points += 2;
- ++types;
- break;
- }
- case QPainterPath::CurveToElement: {
- QPointF c1 = ((QPointF *) points)[0] * state()->matrix;
- QPointF c2 = ((QPointF *) points)[1] * state()->matrix;
- QPointF e = ((QPointF *) points)[2] * state()->matrix;
- d->activeStroker->cubicTo(c1.x(), c1.y(), c2.x(), c2.y(), e.x(), e.y());
- points += 6;
- types += 3;
- flags |= QVectorPath::CurvedShapeHint;
- break;
}
- default:
- break;
- }
- }
- if (path.hasImplicitClose()) {
- QPointF pt = * ((QPointF *) path.points()) * state()->matrix;
- d->activeStroker->lineTo(pt.x(), pt.y());
- }
- } else {
- QPointF p = ((QPointF *)points)[0] * state()->matrix;
- d->activeStroker->moveTo(p.x(), p.y());
- points += 2;
- ++types;
- while (points < lastPoint) {
+ } else {
QPointF p = ((QPointF *)points)[0] * state()->matrix;
- d->activeStroker->lineTo(p.x(), p.y());
+ d->activeStroker->moveTo(p.x(), p.y());
points += 2;
++types;
+ while (points < lastPoint) {
+ QPointF p = ((QPointF *)points)[0] * state()->matrix;
+ d->activeStroker->lineTo(p.x(), p.y());
+ points += 2;
+ ++types;
+ }
+ if (path.hasImplicitClose())
+ d->activeStroker->lineTo(p.x(), p.y());
}
- if (path.hasImplicitClose())
- d->activeStroker->lineTo(p.x(), p.y());
+ d->activeStroker->end();
}
- d->activeStroker->end();
d->stroker.setStrokeWidth(strokeWidth);
QVectorPath strokePath(d->strokeHandler->pts.data(),
d->strokeHandler->types.size(),
d->strokeHandler->types.data(),
- QVectorPath::WindingFill);
+ flags);
QTransform xform = state()->matrix;
state()->matrix = QTransform();
diff --git a/src/gui/painting/qpaintengineex_p.h b/src/gui/painting/qpaintengineex_p.h
index c38716f..22354bc 100644
--- a/src/gui/painting/qpaintengineex_p.h
+++ b/src/gui/painting/qpaintengineex_p.h
@@ -143,7 +143,7 @@ class QPixmapFilter;
class Q_GUI_EXPORT QPaintEngineEx : public QPaintEngine
{
- Q_DECLARE_SCOPED_PRIVATE(QPaintEngineEx)
+ Q_DECLARE_PRIVATE(QPaintEngineEx)
public:
QPaintEngineEx();
@@ -225,6 +225,8 @@ public:
StrokeHandler *strokeHandler;
QStrokerOps *activeStroker;
QPen strokerPen;
+
+ QRect exDeviceRect;
};
inline uint QVectorPath::polygonFlags(QPaintEngine::PolygonDrawMode mode) {
diff --git a/src/gui/painting/qpainter.cpp b/src/gui/painting/qpainter.cpp
index 5e106fb..fa71af3 100644
--- a/src/gui/painting/qpainter.cpp
+++ b/src/gui/painting/qpainter.cpp
@@ -181,7 +181,7 @@ void QPainterPrivate::checkEmulation()
extended = emulationEngine;
extended->setState(state);
}
- } else if (emulationEngine && emulationEngine != extended) {
+ } else if (emulationEngine == extended) {
extended = emulationEngine->real_engine;
}
}
@@ -1003,7 +1003,7 @@ void QPainterPrivate::updateState(QPainterState *newState)
\o brushOrigin() defines the origin of the tiled brushes, normally
the origin of widget's background.
- \o viewport(), window(), worldMatrix() make up the painter's coordinate
+ \o viewport(), window(), worldTransform() make up the painter's coordinate
transformation system. For more information, see the \l
{Coordinate Transformations} section and the \l {The Coordinate
System} documentation.
@@ -1014,7 +1014,7 @@ void QPainterPrivate::updateState(QPainterState *newState)
\o layoutDirection() defines the layout direction used by the
painter when drawing text.
- \o matrixEnabled() tells whether world transformation is enabled.
+ \o worldMatrixEnabled() tells whether world transformation is enabled.
\o viewTransformEnabled() tells whether view transformation is
enabled.
@@ -1210,15 +1210,15 @@ void QPainterPrivate::updateState(QPainterState *newState)
\endtable
All the tranformation operations operate on the transformation
- worldMatrix(). A matrix transforms a point in the plane to another
+ worldTransform(). A matrix transforms a point in the plane to another
point. For more information about the transformation matrix, see
- the \l {The Coordinate System} and QMatrix documentation.
+ the \l {The Coordinate System} and QTransform documentation.
- The setWorldMatrix() function can replace or add to the currently
- set worldMatrix(). The resetMatrix() function resets any
+ The setWorldTransform() function can replace or add to the currently
+ set worldTransform(). The resetTransform() function resets any
transformations that were made using translate(), scale(),
- shear(), rotate(), setWorldMatrix(), setViewport() and setWindow()
- functions. The deviceMatrix() returns the matrix that transforms
+ shear(), rotate(), setWorldTransform(), setViewport() and setWindow()
+ functions. The deviceTransform() returns the matrix that transforms
from logical coordinates to device coordinates of the platform
dependent paint device. The latter function is only needed when
using platform painting commands on the platform dependent handle,
@@ -1227,11 +1227,11 @@ void QPainterPrivate::updateState(QPainterState *newState)
When drawing with QPainter, we specify points using logical
coordinates which then are converted into the physical coordinates
of the paint device. The mapping of the logical coordinates to the
- physical coordinates are handled by QPainter's combinedMatrix(), a
- combination of viewport() and window() and worldMatrix(). The
+ physical coordinates are handled by QPainter's combinedTransform(), a
+ combination of viewport() and window() and worldTransform(). The
viewport() represents the physical coordinates specifying an
arbitrary rectangle, the window() describes the same rectangle in
- logical coordinates, and the worldMatrix() is identical with the
+ logical coordinates, and the worldTransform() is identical with the
transformation matrix.
See also \l {The Coordinate System} documentation.
@@ -1672,7 +1672,7 @@ bool QPainter::begin(QPaintDevice *pd)
if (!d->engine) {
qWarning("QPainter::begin: Paint device returned engine == 0, type: %d", pd->devType());
- return true;
+ return false;
}
// Slip a painter state into the engine before we do any other operations
@@ -2677,6 +2677,7 @@ void QPainter::setClipRegion(const QRegion &r, Qt::ClipOperation op)
/*!
\since 4.2
+ \obsolete
Sets the transformation matrix to \a matrix and enables transformations.
@@ -2715,7 +2716,7 @@ void QPainter::setClipRegion(const QRegion &r, Qt::ClipOperation op)
and window-viewport conversion, see \l {The Coordinate System}
documentation.
- \sa worldMatrixEnabled(), QMatrix
+ \sa setWorldTransform(), QTransform
*/
void QPainter::setWorldMatrix(const QMatrix &matrix, bool combine)
@@ -2725,6 +2726,7 @@ void QPainter::setWorldMatrix(const QMatrix &matrix, bool combine)
/*!
\since 4.2
+ \obsolete
Returns the world transformation matrix.
@@ -2774,6 +2776,7 @@ const QMatrix &QPainter::matrix() const
/*!
\since 4.2
+ \obsolete
Returns the transformation matrix combining the current
window/viewport and world transformation.
@@ -2781,7 +2784,7 @@ const QMatrix &QPainter::matrix() const
It is advisable to use combinedTransform() instead of this
function to preserve the properties of perspective transformations.
- \sa setWorldMatrix(), setWindow(), setViewport()
+ \sa setWorldTransform(), setWindow(), setViewport()
*/
QMatrix QPainter::combinedMatrix() const
{
@@ -2790,6 +2793,8 @@ QMatrix QPainter::combinedMatrix() const
/*!
+ \obsolete
+
Returns the matrix that transforms from logical coordinates to
device coordinates of the platform dependent paint device.
@@ -2817,6 +2822,8 @@ const QMatrix &QPainter::deviceMatrix() const
}
/*!
+ \obsolete
+
Resets any transformations that were made using translate(), scale(),
shear(), rotate(), setWorldMatrix(), setViewport() and
setWindow().
@@ -2841,7 +2848,7 @@ void QPainter::resetMatrix()
transformations if \a enable is false. The world transformation
matrix is not changed.
- \sa worldMatrixEnabled(), worldMatrix(), {QPainter#Coordinate
+ \sa worldMatrixEnabled(), worldTransform(), {QPainter#Coordinate
Transformations}{Coordinate Transformations}
*/
@@ -2870,7 +2877,7 @@ void QPainter::setWorldMatrixEnabled(bool enable)
Returns true if world transformation is enabled; otherwise returns
false.
- \sa setWorldMatrixEnabled(), worldMatrix(), {The Coordinate System}
+ \sa setWorldMatrixEnabled(), worldTransform(), {The Coordinate System}
*/
bool QPainter::worldMatrixEnabled() const
@@ -2912,7 +2919,7 @@ bool QPainter::matrixEnabled() const
/*!
Scales the coordinate system by (\a{sx}, \a{sy}).
- \sa setWorldMatrix() {QPainter#Coordinate Transformations}{Coordinate
+ \sa setWorldTransform() {QPainter#Coordinate Transformations}{Coordinate
Transformations}
*/
@@ -2936,7 +2943,7 @@ void QPainter::scale(qreal sx, qreal sy)
/*!
Shears the coordinate system by (\a{sh}, \a{sv}).
- \sa setWorldMatrix(), {QPainter#Coordinate Transformations}{Coordinate
+ \sa setWorldTransform(), {QPainter#Coordinate Transformations}{Coordinate
Transformations}
*/
@@ -2962,7 +2969,7 @@ void QPainter::shear(qreal sh, qreal sv)
Rotates the coordinate system the given \a angle clockwise.
- \sa setWorldMatrix(), {QPainter#Coordinate Transformations}{Coordinate
+ \sa setWorldTransform(), {QPainter#Coordinate Transformations}{Coordinate
Transformations}
*/
@@ -2987,7 +2994,7 @@ void QPainter::rotate(qreal a)
Translates the coordinate system by the given \a offset; i.e. the
given \a offset is added to points.
- \sa setWorldMatrix(), {QPainter#Coordinate Transformations}{Coordinate
+ \sa setWorldTransform(), {QPainter#Coordinate Transformations}{Coordinate
Transformations}
*/
void QPainter::translate(const QPointF &offset)
@@ -6768,7 +6775,7 @@ QPainter::RenderHints QPainter::renderHints() const
Returns true if view transformation is enabled; otherwise returns
false.
- \sa setViewTransformEnabled(), worldMatrix()
+ \sa setViewTransformEnabled(), worldTransform()
*/
bool QPainter::viewTransformEnabled() const
@@ -6924,7 +6931,7 @@ QRect QPainter::viewport() const
/*! \fn void QPainter::resetXForm()
\compat
- Use resetMatrix() instead.
+ Use resetTransform() instead.
*/
/*! \fn void QPainter::setViewXForm(bool enabled)
@@ -6970,14 +6977,16 @@ void QPainter::setViewTransformEnabled(bool enable)
#ifdef QT3_SUPPORT
/*!
- Use the worldMatrix() combined with QMatrix::dx() instead.
+ \obsolete
+
+ Use the worldTransform() combined with QTransform::dx() instead.
\oldcode
QPainter painter(this);
qreal x = painter.translationX();
\newcode
QPainter painter(this);
- qreal x = painter.worldMatrix().dx();
+ qreal x = painter.worldTransform().dx();
\endcode
*/
qreal QPainter::translationX() const
@@ -6991,14 +7000,16 @@ qreal QPainter::translationX() const
}
/*!
- Use the worldMatrix() combined with QMatrix::dy() instead.
+ \obsolete
+
+ Use the worldTransform() combined with QTransform::dy() instead.
\oldcode
QPainter painter(this);
qreal y = painter.translationY();
\newcode
QPainter painter(this);
- qreal y = painter.worldMatrix().dy();
+ qreal y = painter.worldTransform().dy();
\endcode
*/
qreal QPainter::translationY() const
@@ -7096,7 +7107,7 @@ QPolygon QPainter::xForm(const QPolygon &a) const
QPolygon transformed = painter.xForm(polygon, index, count)
\newcode
QPainter painter(this);
- QPolygon transformed = polygon.mid(index, count) * painter.combinedMatrix();
+ QPolygon transformed = polygon.mid(index, count) * painter.combinedTransform();
\endcode
*/
@@ -7111,15 +7122,16 @@ QPolygon QPainter::xForm(const QPolygon &av, int index, int npoints) const
/*!
\fn QPoint QPainter::xFormDev(const QPoint &point) const
\overload
+ \obsolete
- Use combinedTransform() combined with QMatrix::inverted() instead.
+ Use combinedTransform() combined with QTransform::inverted() instead.
\oldcode
QPainter painter(this);
QPoint transformed = painter.xFormDev(point);
\newcode
QPainter painter(this);
- QPoint transformed = point * painter.combinedMatrix().inverted();
+ QPoint transformed = point * painter.combinedTransform().inverted();
\endcode
*/
@@ -7138,15 +7150,16 @@ QPoint QPainter::xFormDev(const QPoint &p) const
/*!
\fn QRect QPainter::xFormDev(const QRect &rectangle) const
\overload
+ \obsolete
- Use mapRect() combined with QMatrix::inverted() instead.
+ Use combinedTransform() combined with QTransform::inverted() instead.
\oldcode
QPainter painter(this);
QRect transformed = painter.xFormDev(rectangle);
\newcode
QPainter painter(this);
- QRect transformed = painter.combinedMatrix().inverted(rectangle);
+ QRect transformed = painter.combinedTransform().inverted(rectangle);
\endcode
*/
@@ -7166,16 +7179,16 @@ QRect QPainter::xFormDev(const QRect &r) const
\overload
\fn QPoint QPainter::xFormDev(const QPolygon &polygon) const
- \overload
+ \obsolete
- Use combinedMatrix() combined with QMatrix::inverted() instead.
+ Use combinedTransform() combined with QTransform::inverted() instead.
\oldcode
QPainter painter(this);
QPolygon transformed = painter.xFormDev(rectangle);
\newcode
QPainter painter(this);
- QPolygon transformed = polygon * painter.combinedMatrix().inverted();
+ QPolygon transformed = polygon * painter.combinedTransform().inverted();
\endcode
*/
@@ -7194,15 +7207,16 @@ QPolygon QPainter::xFormDev(const QPolygon &a) const
/*!
\fn QPolygon QPainter::xFormDev(const QPolygon &polygon, int index, int count) const
\overload
+ \obsolete
- Use combinedMatrix() combined with QPolygon::mid() and QMatrix::inverted() instead.
+ Use combinedTransform() combined with QPolygon::mid() and QTransform::inverted() instead.
\oldcode
QPainter painter(this);
QPolygon transformed = painter.xFormDev(polygon, index, count);
\newcode
QPainter painter(this);
- QPolygon transformed = polygon.mid(index, count) * painter.combinedMatrix().inverted();
+ QPolygon transformed = polygon.mid(index, count) * painter.combinedTransform().inverted();
\endcode
*/
@@ -8119,7 +8133,7 @@ void bitBlt(QPaintDevice *dst, int dx, int dy,
\row \o QPaintEngine::DirtyClipRegion \o clipRegion()
\row \o QPaintEngine::DirtyCompositionMode \o compositionMode()
\row \o QPaintEngine::DirtyFont \o font()
- \row \o QPaintEngine::DirtyTransform \o matrix()
+ \row \o QPaintEngine::DirtyTransform \o transform()
\row \o QPaintEngine::DirtyClipEnabled \o isClipEnabled()
\row \o QPaintEngine::DirtyPen \o pen()
\row \o QPaintEngine::DirtyHints \o renderHints()
@@ -8238,10 +8252,14 @@ QFont QPaintEngineState::font() const
/*!
\since 4.2
+ \obsolete
Returns the matrix in the current paint engine
state.
+ \note It is advisable to use transform() instead of this function to
+ preserve the properties of perspective transformations.
+
This variable should only be used when the state() returns a
combination which includes the QPaintEngine::DirtyTransform flag.
@@ -8422,11 +8440,7 @@ qreal QPaintEngineState::opacity() const
If \a combine is true, the specified \a transform is combined with
the current matrix; otherwise it replaces the current matrix.
- This function has been added for compatibility with setMatrix(),
- but as with setMatrix() the preferred method of setting a
- transformation on the painter is through setWorldTransform().
-
- \sa transform()
+ \sa transform() setWorldTransform()
*/
void QPainter::setTransform(const QTransform &transform, bool combine )
@@ -8436,6 +8450,8 @@ void QPainter::setTransform(const QTransform &transform, bool combine )
/*!
Returns the world transformation matrix.
+
+ \sa worldTransform()
*/
const QTransform & QPainter::transform() const
@@ -8546,7 +8562,7 @@ const QTransform & QPainter::worldTransform() const
Returns the transformation matrix combining the current
window/viewport and world transformation.
- \sa setWorldMatrix(), setWindow(), setViewport()
+ \sa setWorldTransform(), setWindow(), setViewport()
*/
QTransform QPainter::combinedTransform() const
diff --git a/src/gui/painting/qpainter.h b/src/gui/painting/qpainter.h
index 227c6f5..00ebd76 100644
--- a/src/gui/painting/qpainter.h
+++ b/src/gui/painting/qpainter.h
@@ -83,7 +83,7 @@ class QPainterPrivateDeleter;
class Q_GUI_EXPORT QPainter
{
- Q_DECLARE_SCOPED_PRIVATE(QPainter)
+ Q_DECLARE_PRIVATE(QPainter)
Q_GADGET
Q_FLAGS(RenderHint RenderHints)
diff --git a/src/gui/painting/qpainterpath.cpp b/src/gui/painting/qpainterpath.cpp
index 713cb14..20d7985 100644
--- a/src/gui/painting/qpainterpath.cpp
+++ b/src/gui/painting/qpainterpath.cpp
@@ -3158,7 +3158,7 @@ void QPainterPath::addRoundRect(const QRectF &r, int xRnd, int yRnd)
Set operations on paths will treat the paths as areas. Non-closed
paths will be treated as implicitly closed.
- \sa intersected(), subtracted(), subtractedInverted()
+ \sa intersected(), subtracted()
*/
QPainterPath QPainterPath::united(const QPainterPath &p) const
{
@@ -3273,6 +3273,8 @@ void QPainterPath::setDirty(bool dirty)
{
d_func()->dirtyBounds = dirty;
d_func()->dirtyControlBounds = dirty;
+ delete d_func()->pathConverter;
+ d_func()->pathConverter = 0;
}
void QPainterPath::computeBoundingRect() const
diff --git a/src/gui/painting/qpainterpath.h b/src/gui/painting/qpainterpath.h
index ef92397..74a854e 100644
--- a/src/gui/painting/qpainterpath.h
+++ b/src/gui/painting/qpainterpath.h
@@ -256,7 +256,7 @@ Q_GUI_EXPORT QDataStream &operator>>(QDataStream &, QPainterPath &);
class Q_GUI_EXPORT QPainterPathStroker
{
- Q_DECLARE_SCOPED_PRIVATE(QPainterPathStroker)
+ Q_DECLARE_PRIVATE(QPainterPathStroker)
public:
QPainterPathStroker();
~QPainterPathStroker();
diff --git a/src/gui/painting/qpdf.cpp b/src/gui/painting/qpdf.cpp
index 664751a..6735ee6 100644
--- a/src/gui/painting/qpdf.cpp
+++ b/src/gui/painting/qpdf.cpp
@@ -48,6 +48,10 @@
#include "qprinterinfo.h"
#include <qnumeric.h>
+#ifdef Q_OS_UNIX
+#include "private/qcore_unix_p.h" // overrides QT_OPEN
+#endif
+
QT_BEGIN_NAMESPACE
extern int qt_defaultDpi();
@@ -964,8 +968,7 @@ QPdfBaseEngine::QPdfBaseEngine(QPdfBaseEnginePrivate &dd, PaintEngineFeatures f)
void QPdfBaseEngine::drawPoints (const QPointF *points, int pointCount)
{
- Q_D(QPdfBaseEngine);
- if (!points || !d->hasPen)
+ if (!points)
return;
QPainterPath p;
@@ -995,6 +998,12 @@ void QPdfBaseEngine::drawRects (const QRectF *rects, int rectCount)
return;
Q_D(QPdfBaseEngine);
+ if (d->useAlphaEngine) {
+ QAlphaPaintEngine::drawRects(rects, rectCount);
+ if (!continueCall())
+ return;
+ }
+
if (d->clipEnabled && d->allClipped)
return;
if (!d->hasPen && !d->hasBrush)
@@ -1647,7 +1656,7 @@ static void closeAllOpenFds()
#endif
// leave stdin/out/err untouched
while(--i > 2)
- ::close(i);
+ QT_CLOSE(i);
}
#endif
@@ -1681,7 +1690,7 @@ bool QPdfBaseEnginePrivate::openPrintDevice()
if (!printerName.isEmpty())
pr = printerName;
int fds[2];
- if (pipe(fds) != 0) {
+ if (qt_safe_pipe(fds) != 0) {
qWarning("QPdfPrinter: Could not open pipe to print");
return false;
}
@@ -1700,9 +1709,9 @@ bool QPdfBaseEnginePrivate::openPrintDevice()
(void)execlp("true", "true", (char *)0);
(void)execl("/bin/true", "true", (char *)0);
(void)execl("/usr/bin/true", "true", (char *)0);
- ::exit(0);
+ ::_exit(0);
}
- dup2(fds[0], 0);
+ qt_safe_dup2(fds[0], 0, 0);
closeAllOpenFds();
@@ -1769,14 +1778,14 @@ bool QPdfBaseEnginePrivate::openPrintDevice()
// wait for a second so the parent process (the
// child of the GUI process) has exited. then
// exit.
- ::close(0);
+ QT_CLOSE(0);
(void)::sleep(1);
- ::exit(0);
+ ::_exit(0);
}
// parent process
- ::close(fds[0]);
+ QT_CLOSE(fds[0]);
fd = fds[1];
- (void)::waitpid(pid, 0, 0);
+ (void)qt_safe_waitpid(pid, 0, 0);
if (fd < 0)
return false;
@@ -1923,7 +1932,7 @@ void QPdfBaseEnginePrivate::drawTextItem(const QPointF &p, const QTextItemInt &t
#ifdef Q_WS_WIN
if (ti.fontEngine->type() == QFontEngine::Win) {
QFontEngineWin *fe = static_cast<QFontEngineWin *>(ti.fontEngine);
- size = fe->tm.w.tmHeight;
+ size = fe->tm.tmHeight;
}
#endif
diff --git a/src/gui/painting/qpdf_p.h b/src/gui/painting/qpdf_p.h
index 26f5bd7..0e023d6 100644
--- a/src/gui/painting/qpdf_p.h
+++ b/src/gui/painting/qpdf_p.h
@@ -183,7 +183,7 @@ class QPdfBaseEnginePrivate;
class QPdfBaseEngine : public QAlphaPaintEngine, public QPrintEngine
{
- Q_DECLARE_SCOPED_PRIVATE(QPdfBaseEngine)
+ Q_DECLARE_PRIVATE(QPdfBaseEngine)
public:
QPdfBaseEngine(QPdfBaseEnginePrivate &d, PaintEngineFeatures f);
~QPdfBaseEngine() {}
diff --git a/src/gui/painting/qprintengine_mac_p.h b/src/gui/painting/qprintengine_mac_p.h
index 1fdb172..23e99cd 100644
--- a/src/gui/painting/qprintengine_mac_p.h
+++ b/src/gui/painting/qprintengine_mac_p.h
@@ -72,7 +72,7 @@ class QPrinterPrivate;
class QMacPrintEnginePrivate;
class QMacPrintEngine : public QPaintEngine, public QPrintEngine
{
- Q_DECLARE_SCOPED_PRIVATE(QMacPrintEngine)
+ Q_DECLARE_PRIVATE(QMacPrintEngine)
public:
QMacPrintEngine(QPrinter::PrinterMode mode);
diff --git a/src/gui/painting/qprintengine_pdf.cpp b/src/gui/painting/qprintengine_pdf.cpp
index c1edcb3..b267860 100644
--- a/src/gui/painting/qprintengine_pdf.cpp
+++ b/src/gui/painting/qprintengine_pdf.cpp
@@ -655,7 +655,7 @@ void QPdfEnginePrivate::drawTextItem(const QPointF &p, const QTextItemInt &ti)
#ifdef Q_WS_WIN
if (ti.fontEngine->type() == QFontEngine::Win) {
QFontEngineWin *fe = static_cast<QFontEngineWin *>(ti.fontEngine);
- size = fe->tm.w.tmHeight;
+ size = fe->tm.tmHeight;
}
#endif
int synthesized = ti.fontEngine->synthesized();
diff --git a/src/gui/painting/qprintengine_pdf_p.h b/src/gui/painting/qprintengine_pdf_p.h
index e130ada..6f884a9 100644
--- a/src/gui/painting/qprintengine_pdf_p.h
+++ b/src/gui/painting/qprintengine_pdf_p.h
@@ -84,7 +84,7 @@ class QPdfEnginePrivate;
class QPdfEngine : public QPdfBaseEngine
{
- Q_DECLARE_SCOPED_PRIVATE(QPdfEngine)
+ Q_DECLARE_PRIVATE(QPdfEngine)
public:
QPdfEngine(QPrinter::PrinterMode m);
virtual ~QPdfEngine();
diff --git a/src/gui/painting/qprintengine_ps_p.h b/src/gui/painting/qprintengine_ps_p.h
index 4b8034e..986be38a 100644
--- a/src/gui/painting/qprintengine_ps_p.h
+++ b/src/gui/painting/qprintengine_ps_p.h
@@ -70,7 +70,7 @@ class QPSPrintEnginePrivate;
class QPSPrintEngine : public QPdfBaseEngine
{
- Q_DECLARE_SCOPED_PRIVATE(QPSPrintEngine)
+ Q_DECLARE_PRIVATE(QPSPrintEngine)
public:
// QPrinter uses these
explicit QPSPrintEngine(QPrinter::PrinterMode m);
diff --git a/src/gui/painting/qprintengine_qws_p.h b/src/gui/painting/qprintengine_qws_p.h
index 5e552fe..41cf935 100644
--- a/src/gui/painting/qprintengine_qws_p.h
+++ b/src/gui/painting/qprintengine_qws_p.h
@@ -70,7 +70,7 @@ class QImage;
class QtopiaPrintEngine : public QPaintEngine, public QPrintEngine
{
- Q_DECLARE_SCOPED_PRIVATE(QtopiaPrintEngine)
+ Q_DECLARE_PRIVATE(QtopiaPrintEngine)
public:
QtopiaPrintEngine(QPrinter::PrinterMode mode);
diff --git a/src/gui/painting/qprintengine_win.cpp b/src/gui/painting/qprintengine_win.cpp
index f36028f..7b99e2f 100644
--- a/src/gui/painting/qprintengine_win.cpp
+++ b/src/gui/painting/qprintengine_win.cpp
@@ -199,33 +199,18 @@ bool QWin32PrintEngine::begin(QPaintDevice *pdev)
if (d->printToFile && d->fileName.isEmpty())
d->fileName = d->port;
- QT_WA({
- d->devModeW()->dmCopies = d->num_copies;
- DOCINFO di;
- memset(&di, 0, sizeof(DOCINFO));
- di.cbSize = sizeof(DOCINFO);
- di.lpszDocName = reinterpret_cast<const wchar_t *>(d->docName.utf16());
- if (d->printToFile && !d->fileName.isEmpty())
- di.lpszOutput = reinterpret_cast<const wchar_t *>(d->fileName.utf16());
- if (ok && StartDoc(d->hdc, &di) == SP_ERROR) {
- qErrnoWarning("QWin32PrintEngine::begin: StartDoc failed");
- ok = false;
- }
- } , {
- d->devModeA()->dmCopies = d->num_copies;
- DOCINFOA di;
- memset(&di, 0, sizeof(DOCINFOA));
- di.cbSize = sizeof(DOCINFOA);
- QByteArray docNameA = d->docName.toLocal8Bit();
- di.lpszDocName = docNameA.data();
- QByteArray outfileA = d->fileName.toLocal8Bit();
- if (d->printToFile && !d->fileName.isEmpty())
- di.lpszOutput = outfileA;
- if (ok && StartDocA(d->hdc, &di) == SP_ERROR) {
- qErrnoWarning("QWin32PrintEngine::begin: StartDoc failed");
- ok = false;
- }
- });
+ d->devMode->dmCopies = d->num_copies;
+
+ DOCINFO di;
+ memset(&di, 0, sizeof(DOCINFO));
+ di.cbSize = sizeof(DOCINFO);
+ di.lpszDocName = reinterpret_cast<const wchar_t *>(d->docName.utf16());
+ if (d->printToFile && !d->fileName.isEmpty())
+ di.lpszOutput = reinterpret_cast<const wchar_t *>(d->fileName.utf16());
+ if (ok && StartDoc(d->hdc, &di) == SP_ERROR) {
+ qErrnoWarning("QWin32PrintEngine::begin: StartDoc failed");
+ ok = false;
+ }
if (StartPage(d->hdc) <= 0) {
qErrnoWarning("QWin32PrintEngine::begin: StartPage failed");
@@ -317,11 +302,6 @@ bool QWin32PrintEngine::newPage()
bool success = false;
if (d->hdc && d->state == QPrinter::Active) {
-// bool restorePainter = false;
-// if ((qWinVersion()& Qt::WV_DOS_based) && painter && painter->isActive()) {
-// painter->save(); // EndPage/StartPage ruins the DC
-// restorePainter = true;
-// }
if (EndPage(d->hdc) != SP_ERROR) {
// reinitialize the DC before StartPage if needed,
// because resetdc is disabled between calls to the StartPage and EndPage functions
@@ -337,16 +317,10 @@ bool QWin32PrintEngine::newPage()
}
success = (StartPage(d->hdc) != SP_ERROR);
}
- if (!success)
+ if (!success) {
d->state = QPrinter::Aborted;
-
-// if (qWinVersion() & Qt::WV_DOS_based)
-// if (restorePainter) {
-// painter->restore();
-// }
-
- if (!success)
return false;
+ }
}
return true;
}
@@ -369,7 +343,7 @@ void QWin32PrintEngine::drawTextItem(const QPointF &p, const QTextItem &textItem
QRgb brushColor = state->pen().brush().color().rgb();
bool fallBack = state->pen().brush().style() != Qt::SolidPattern
|| qAlpha(brushColor) != 0xff
- || QT_WA_INLINE(d->txop >= QTransform::TxProject, d->txop >= QTransform::TxScale)
+ || d->txop >= QTransform::TxProject
|| ti.fontEngine->type() != QFontEngine::Win;
@@ -380,17 +354,10 @@ void QWin32PrintEngine::drawTextItem(const QPointF &p, const QTextItem &textItem
SelectObject(d->hdc, fe->hfont);
if (GetDeviceCaps(d->hdc, TECHNOLOGY) != DT_CHARSTREAM) {
- QT_WA({
- TCHAR n[64];
- GetTextFaceW(d->hdc, 64, n);
- fallBack = QString::fromUtf16((ushort *)n)
- != QString::fromUtf16((ushort *)fe->logfont.lfFaceName);
- } , {
- char an[64];
- GetTextFaceA(d->hdc, 64, an);
- fallBack = QString::fromLocal8Bit(an)
- != QString::fromLocal8Bit(((LOGFONTA*)(&fe->logfont))->lfFaceName);
- });
+ wchar_t n[64];
+ GetTextFace(d->hdc, 64, n);
+ fallBack = QString::fromWCharArray(n)
+ != QString::fromWCharArray(fe->logfont.lfFaceName);
}
}
@@ -983,22 +950,14 @@ void QWin32PrintEnginePrivate::queryDefault()
* Strings "windows" and "device" are specified in the MSDN under EnumPrinters()
*/
QString noPrinters(QLatin1String("qt_no_printers"));
- QString output;
- QT_WA({
- ushort buffer[256];
- GetProfileStringW(L"windows", L"device",
- reinterpret_cast<const wchar_t *>(noPrinters.utf16()),
- reinterpret_cast<wchar_t *>(buffer), 256);
- output = QString::fromUtf16(buffer);
- if (output.isEmpty() || output == noPrinters) // no printers
- return;
- }, {
- char buffer[256];
- GetProfileStringA("windows", "device", noPrinters.toLatin1(), buffer, 256);
- output = QString::fromLocal8Bit(buffer);
- if (output.isEmpty() || output == noPrinters) // no printers
- return;
- });
+ wchar_t buffer[256];
+ GetProfileString(L"windows", L"device",
+ reinterpret_cast<const wchar_t *>(noPrinters.utf16()),
+ buffer, 256);
+ QString output = QString::fromWCharArray(buffer);
+ if (output.isEmpty() || output == noPrinters) // no printers
+ return;
+
QStringList info = output.split(QLatin1Char(','));
if (info.size() > 0) {
if (name.isEmpty())
@@ -1030,13 +989,7 @@ void QWin32PrintEnginePrivate::initialize()
txop = QTransform::TxNone;
- bool ok;
- QT_WA( {
- ok = OpenPrinterW((LPWSTR)name.utf16(), (LPHANDLE)&hPrinter, 0);
- }, {
- ok = OpenPrinterA((LPSTR)name.toLatin1().data(), (LPHANDLE)&hPrinter, 0);
- } );
-
+ bool ok = OpenPrinter((LPWSTR)name.utf16(), (LPHANDLE)&hPrinter, 0);
if (!ok) {
qErrnoWarning("QWin32PrintEngine::initialize: OpenPrinter failed");
return;
@@ -1045,22 +998,10 @@ void QWin32PrintEnginePrivate::initialize()
// Fetch the PRINTER_INFO_2 with DEVMODE data containing the
// printer settings.
DWORD infoSize, numBytes;
- ok = true;
- QT_WA( {
- GetPrinterW(hPrinter, 2, NULL, 0, &infoSize);
- hMem = GlobalAlloc(GHND, infoSize);
- pInfo = GlobalLock(hMem);
- if (!GetPrinterW(hPrinter, 2, (LPBYTE)pInfo, infoSize, &numBytes)) {
- ok = false;
- }
- }, {
- GetPrinterA(hPrinter, 2, NULL, 0, &infoSize);
- hMem = GlobalAlloc(GHND, infoSize);
- pInfo = GlobalLock(hMem);
- if (!GetPrinterA(hPrinter, 2, (LPBYTE)pInfo, infoSize, &numBytes)) {
- ok = false;
- }
- });
+ GetPrinter(hPrinter, 2, NULL, 0, &infoSize);
+ hMem = GlobalAlloc(GHND, infoSize);
+ pInfo = (PRINTER_INFO_2*) GlobalLock(hMem);
+ ok = GetPrinter(hPrinter, 2, (LPBYTE)pInfo, infoSize, &numBytes);
if (!ok) {
qErrnoWarning("QWin32PrintEngine::initialize: GetPrinter failed");
@@ -1073,28 +1014,15 @@ void QWin32PrintEnginePrivate::initialize()
return;
}
- QT_WA( {
- devMode = pInfoW()->pDevMode;
- }, {
- devMode = pInfoA()->pDevMode;
- } );
-
- QT_WA( {
- hdc = CreateDC(reinterpret_cast<const wchar_t *>(program.utf16()),
- reinterpret_cast<const wchar_t *>(name.utf16()), 0, devModeW());
- }, {
- hdc = CreateDCA(program.toLatin1(), name.toLatin1(), 0, devModeA());
- } );
+ devMode = pInfo->pDevMode;
+ hdc = CreateDC(reinterpret_cast<const wchar_t *>(program.utf16()),
+ reinterpret_cast<const wchar_t *>(name.utf16()), 0, devMode);
Q_ASSERT(hPrinter);
Q_ASSERT(pInfo);
if (devMode) {
- QT_WA( {
- num_copies = devModeW()->dmCopies;
- }, {
- num_copies = devModeA()->dmCopies;
- } );
+ num_copies = devMode->dmCopies;
}
initHDC();
@@ -1212,28 +1140,18 @@ void QWin32PrintEnginePrivate::release()
QList<QVariant> QWin32PrintEnginePrivate::queryResolutions() const
{
// Read the supported resolutions of the printer.
- DWORD numRes;
- LONG *enumRes;
- DWORD errRes;
QList<QVariant> list;
- QT_WA({
- numRes = DeviceCapabilities(reinterpret_cast<const wchar_t *>(name.utf16()),
- reinterpret_cast<const wchar_t *>(port.utf16()),
- DC_ENUMRESOLUTIONS, 0, 0);
- if (numRes == (DWORD)-1)
- return list;
- enumRes = (LONG*)malloc(numRes * 2 * sizeof(LONG));
- errRes = DeviceCapabilities(reinterpret_cast<const wchar_t *>(name.utf16()),
- reinterpret_cast<const wchar_t *>(port.utf16()),
- DC_ENUMRESOLUTIONS, (LPWSTR)enumRes, 0);
- }, {
- numRes = DeviceCapabilitiesA(name.toLocal8Bit(), port.toLocal8Bit(), DC_ENUMRESOLUTIONS, 0, 0);
- if (numRes == (DWORD)-1)
- return list;
- enumRes = (LONG*)malloc(numRes * 2 * sizeof(LONG));
- errRes = DeviceCapabilitiesA(name.toLocal8Bit(), port.toLocal8Bit(), DC_ENUMRESOLUTIONS, (LPSTR)enumRes, 0);
- });
+ DWORD numRes = DeviceCapabilities(reinterpret_cast<const wchar_t *>(name.utf16()),
+ reinterpret_cast<const wchar_t *>(port.utf16()),
+ DC_ENUMRESOLUTIONS, 0, 0);
+ if (numRes == (DWORD)-1)
+ return list;
+
+ LONG *enumRes = (LONG*)malloc(numRes * 2 * sizeof(LONG));
+ DWORD errRes = DeviceCapabilities(reinterpret_cast<const wchar_t *>(name.utf16()),
+ reinterpret_cast<const wchar_t *>(port.utf16()),
+ DC_ENUMRESOLUTIONS, (LPWSTR)enumRes, 0);
if (errRes == (DWORD)-1) {
qErrnoWarning("QWin32PrintEngine::queryResolutions: DeviceCapabilities failed");
@@ -1241,7 +1159,8 @@ QList<QVariant> QWin32PrintEnginePrivate::queryResolutions() const
}
for (uint i=0; i<numRes; ++i)
- list.append(int(enumRes[i*2]));
+ list.append(int(enumRes[i * 2]));
+
return list;
}
@@ -1285,9 +1204,7 @@ void QWin32PrintEngine::setProperty(PrintEnginePropertyKey key, const QVariant &
{
if (!d->devMode)
break;
- short collate = value.toBool() ? DMCOLLATE_TRUE : DMCOLLATE_FALSE;
- QT_WA( { d->devModeW()->dmCollate = collate; },
- { d->devModeA()->dmCollate = collate; } );
+ d->devMode->dmCollate = value.toBool() ? DMCOLLATE_TRUE : DMCOLLATE_FALSE;
d->doReinit();
}
break;
@@ -1296,8 +1213,7 @@ void QWin32PrintEngine::setProperty(PrintEnginePropertyKey key, const QVariant &
{
if (!d->devMode)
break;
- int cm = value.toInt() == QPrinter::Color ? DMCOLOR_COLOR : DMCOLOR_MONOCHROME;
- QT_WA( { d->devModeW()->dmColor = cm; }, { d->devModeA()->dmColor = cm; } );
+ d->devMode->dmColor = (value.toInt() == QPrinter::Color) ? DMCOLOR_COLOR : DMCOLOR_MONOCHROME;
d->doReinit();
}
break;
@@ -1323,8 +1239,7 @@ void QWin32PrintEngine::setProperty(PrintEnginePropertyKey key, const QVariant &
if (!d->devMode)
break;
d->num_copies = value.toInt();
- QT_WA( { d->devModeW()->dmCopies = d->num_copies; },
- { d->devModeA()->dmCopies = d->num_copies; });
+ d->devMode->dmCopies = d->num_copies;
d->doReinit();
break;
@@ -1333,14 +1248,8 @@ void QWin32PrintEngine::setProperty(PrintEnginePropertyKey key, const QVariant &
if (!d->devMode)
break;
int orientation = value.toInt() == QPrinter::Landscape ? DMORIENT_LANDSCAPE : DMORIENT_PORTRAIT;
- int old_orientation;
- QT_WA( {
- old_orientation = d->devModeW()->dmOrientation;
- d->devModeW()->dmOrientation = orientation;
- }, {
- old_orientation = d->devModeA()->dmOrientation;
- d->devModeA()->dmOrientation = orientation;
- } );
+ int old_orientation = d->devMode->dmOrientation;
+ d->devMode->dmOrientation = orientation;
if (d->has_custom_paper_size && old_orientation != orientation)
d->paper_size = QSizeF(d->paper_size.height(), d->paper_size.width());
d->doReinit();
@@ -1359,11 +1268,7 @@ void QWin32PrintEngine::setProperty(PrintEnginePropertyKey key, const QVariant &
case PPK_PaperSize:
if (!d->devMode)
break;
- QT_WA( {
- d->devModeW()->dmPaperSize = mapPaperSizeDevmode(QPrinter::PaperSize(value.toInt()));
- }, {
- d->devModeA()->dmPaperSize = mapPaperSizeDevmode(QPrinter::PaperSize(value.toInt()));
- } );
+ d->devMode->dmPaperSize = mapPaperSizeDevmode(QPrinter::PaperSize(value.toInt()));
d->has_custom_paper_size = (QPrinter::PaperSize(value.toInt()) == QPrinter::Custom);
d->doReinit();
break;
@@ -1378,11 +1283,7 @@ void QWin32PrintEngine::setProperty(PrintEnginePropertyKey key, const QVariant &
if (v.contains(value))
dmMapped = mapPaperSourceDevmode(QPrinter::PaperSource(value.toInt()));
- QT_WA( {
- d->devModeW()->dmDefaultSource = dmMapped;
- }, {
- d->devModeA()->dmDefaultSource = dmMapped;
- } );
+ d->devMode->dmDefaultSource = dmMapped;
d->doReinit();
}
break;
@@ -1416,11 +1317,7 @@ void QWin32PrintEngine::setProperty(PrintEnginePropertyKey key, const QVariant &
if (!d->devMode)
break;
d->has_custom_paper_size = false;
- QT_WA( {
- d->devModeW()->dmPaperSize = value.toInt();
- }, {
- d->devModeA()->dmPaperSize = value.toInt();
- } );
+ d->devMode->dmPaperSize = value.toInt();
d->doReinit();
break;
@@ -1430,33 +1327,28 @@ void QWin32PrintEngine::setProperty(PrintEnginePropertyKey key, const QVariant &
d->paper_size = value.toSizeF();
if (!d->devMode)
break;
- int orientation;
- QT_WA( {
- orientation = d->devModeW()->dmOrientation;
- DWORD needed = 0;
- DWORD returned = 0;
- if (!EnumForms(d->hPrinter, 1, 0, 0, &needed, &returned)) {
- BYTE *forms = (BYTE *) malloc(needed);
- if (EnumForms(d->hPrinter, 1, forms, needed, &needed, &returned)) {
- for (DWORD i=0; i< returned; ++i) {
- FORM_INFO_1 *formArray = reinterpret_cast<FORM_INFO_1 *>(forms);
- // the form sizes are specified in 1000th of a mm,
- // convert the size to Points
- QSizeF size((formArray[i].Size.cx * 72/25.4)/1000.0,
- (formArray[i].Size.cy * 72/25.4)/1000.0);
- if (qAbs(d->paper_size.width() - size.width()) <= 2
- && qAbs(d->paper_size.height() - size.height()) <= 2)
- {
- d->devModeW()->dmPaperSize = i+1;
- break;
- }
+ int orientation = d->devMode->dmOrientation;
+ DWORD needed = 0;
+ DWORD returned = 0;
+ if (!EnumForms(d->hPrinter, 1, 0, 0, &needed, &returned)) {
+ BYTE *forms = (BYTE *) malloc(needed);
+ if (EnumForms(d->hPrinter, 1, forms, needed, &needed, &returned)) {
+ for (DWORD i=0; i< returned; ++i) {
+ FORM_INFO_1 *formArray = reinterpret_cast<FORM_INFO_1 *>(forms);
+ // the form sizes are specified in 1000th of a mm,
+ // convert the size to Points
+ QSizeF size((formArray[i].Size.cx * 72/25.4)/1000.0,
+ (formArray[i].Size.cy * 72/25.4)/1000.0);
+ if (qAbs(d->paper_size.width() - size.width()) <= 2
+ && qAbs(d->paper_size.height() - size.height()) <= 2)
+ {
+ d->devMode->dmPaperSize = i + 1;
+ break;
}
}
- free(forms);
}
- }, {
- orientation = d->devModeA()->dmOrientation;
- } );
+ free(forms);
+ }
if (orientation != DMORIENT_PORTRAIT)
d->paper_size = QSizeF(d->paper_size.height(), d->paper_size.width());
break;
@@ -1496,13 +1388,7 @@ QVariant QWin32PrintEngine::property(PrintEnginePropertyKey key) const
if (!d->devMode) {
value = QPrinter::Color;
} else {
- int mode;
- QT_WA( {
- mode = d->devModeW()->dmColor;
- }, {
- mode = d->devModeA()->dmColor;
- } );
- value = mode == DMCOLOR_COLOR ? QPrinter::Color : QPrinter::GrayScale;
+ value = (d->devMode->dmColor == DMCOLOR_COLOR) ? QPrinter::Color : QPrinter::GrayScale;
}
}
break;
@@ -1524,9 +1410,7 @@ QVariant QWin32PrintEngine::property(PrintEnginePropertyKey key) const
if (!d->devMode) {
value = QPrinter::Portrait;
} else {
- int o;
- QT_WA( { o = d->devModeW()->dmOrientation; }, { o = d->devModeA()->dmOrientation; } );
- value = o == DMORIENT_LANDSCAPE ? QPrinter::Landscape : QPrinter::Portrait;
+ value = (d->devMode->dmOrientation == DMORIENT_LANDSCAPE) ? QPrinter::Landscape : QPrinter::Portrait;
}
}
break;
@@ -1560,11 +1444,7 @@ QVariant QWin32PrintEngine::property(PrintEnginePropertyKey key) const
if (!d->devMode) {
value = QPrinter::A4;
} else {
- QT_WA( {
- value = mapDevmodePaperSize(d->devModeW()->dmPaperSize);
- }, {
- value = mapDevmodePaperSize(d->devModeA()->dmPaperSize);
- } );
+ value = mapDevmodePaperSize(d->devMode->dmPaperSize);
}
}
break;
@@ -1583,11 +1463,7 @@ QVariant QWin32PrintEngine::property(PrintEnginePropertyKey key) const
if (!d->devMode) {
value = QPrinter::Auto;
} else {
- QT_WA( {
- value = mapDevmodePaperSource(d->devModeW()->dmDefaultSource);
- }, {
- value = mapDevmodePaperSource(d->devModeA()->dmDefaultSource);
- } );
+ value = mapDevmodePaperSource(d->devMode->dmDefaultSource);
}
break;
@@ -1608,38 +1484,21 @@ QVariant QWin32PrintEngine::property(PrintEnginePropertyKey key) const
if (!d->devMode) {
value = -1;
} else {
- QT_WA( {
- value = d->devModeW()->dmPaperSize;
- }, {
- value = d->devModeA()->dmPaperSize;
- } );
+ value = d->devMode->dmPaperSize;
}
break;
case PPK_PaperSources:
{
- int available, count;
- WORD *data;
-
- QT_WA({
- available = DeviceCapabilitiesW((const WCHAR *)d->name.utf16(), (const WCHAR *)d->port.utf16(), DC_BINS, 0,
- d->devModeW());
- }, {
- available = DeviceCapabilitiesA(d->name.toLatin1(), d->port.toLatin1(), DC_BINS, 0,
- d->devModeA());
- });
+ int available = DeviceCapabilities((const wchar_t *)d->name.utf16(),
+ (const wchar_t *)d->port.utf16(), DC_BINS, 0, d->devMode);
if (available <= 0)
break;
- data = (WORD *) malloc(available * sizeof(WORD));
- QT_WA({
- count = DeviceCapabilitiesW((const WCHAR *)d->name.utf16(), (const WCHAR *)d->port.utf16(), DC_BINS, (WCHAR *)data,
- d->devModeW());
- }, {
- count = DeviceCapabilitiesA(d->name.toLatin1(), d->port.toLatin1(), DC_BINS,
- (char *) data, d->devModeA());
- });
+ wchar_t *data = new wchar_t[available];
+ int count = DeviceCapabilities((const wchar_t *)d->name.utf16(),
+ (const wchar_t *)d->port.utf16(), DC_BINS, data, d->devMode);
QList<QVariant> out;
for (int i=0; i<count; ++i) {
@@ -1648,7 +1507,8 @@ QVariant QWin32PrintEngine::property(PrintEnginePropertyKey key) const
out << (int) src;
}
value = out;
- free(data);
+
+ delete [] data;
}
break;
@@ -1693,24 +1553,23 @@ void QWin32PrintEngine::releaseDC(HDC) const
HGLOBAL *QWin32PrintEnginePrivate::createDevNames()
{
- QT_WA( {
- int size = sizeof(DEVNAMES)
- + program.length() * 2 + 2
- + name.length() * 2 + 2
- + port.length() * 2 + 2;
- HGLOBAL *hGlobal = (HGLOBAL *) GlobalAlloc(GMEM_MOVEABLE, size);
- DEVNAMES *dn = (DEVNAMES*) GlobalLock(hGlobal);
+ int size = sizeof(DEVNAMES)
+ + program.length() * 2 + 2
+ + name.length() * 2 + 2
+ + port.length() * 2 + 2;
+ HGLOBAL *hGlobal = (HGLOBAL *) GlobalAlloc(GMEM_MOVEABLE, size);
+ DEVNAMES *dn = (DEVNAMES*) GlobalLock(hGlobal);
- dn->wDriverOffset = sizeof(DEVNAMES) / sizeof(TCHAR);
- dn->wDeviceOffset = dn->wDriverOffset + program.length() + 1;
- dn->wOutputOffset = dn->wDeviceOffset + name.length() + 1;
+ dn->wDriverOffset = sizeof(DEVNAMES) / sizeof(wchar_t);
+ dn->wDeviceOffset = dn->wDriverOffset + program.length() + 1;
+ dn->wOutputOffset = dn->wDeviceOffset + name.length() + 1;
- memcpy((ushort*)dn + dn->wDriverOffset, program.utf16(), program.length() * 2 + 2);
- memcpy((ushort*)dn + dn->wDeviceOffset, name.utf16(), name.length() * 2 + 2);
- memcpy((ushort*)dn + dn->wOutputOffset, port.utf16(), port.length() * 2 + 2);
- dn->wDefault = 0;
+ memcpy((ushort*)dn + dn->wDriverOffset, program.utf16(), program.length() * 2 + 2);
+ memcpy((ushort*)dn + dn->wDeviceOffset, name.utf16(), name.length() * 2 + 2);
+ memcpy((ushort*)dn + dn->wOutputOffset, port.utf16(), port.length() * 2 + 2);
+ dn->wDefault = 0;
- GlobalUnlock(hGlobal);
+ GlobalUnlock(hGlobal);
// printf("QPrintDialogWinPrivate::createDevNames()\n"
// " -> wDriverOffset: %d\n"
@@ -1721,89 +1580,46 @@ HGLOBAL *QWin32PrintEnginePrivate::createDevNames()
// dn->wOutputOffset);
// printf("QPrintDialogWinPrivate::createDevNames(): %s, %s, %s\n",
-// QString::fromUtf16((ushort*)(dn) + dn->wDriverOffset).latin1(),
-// QString::fromUtf16((ushort*)(dn) + dn->wDeviceOffset).latin1(),
-// QString::fromUtf16((ushort*)(dn) + dn->wOutputOffset).latin1());
-
- return hGlobal;
- }, {
- int size = sizeof(DEVNAMES)
- + program.length() + 2
- + name.length() + 2
- + port.length() + 2;
- HGLOBAL *hGlobal = (HGLOBAL *) GlobalAlloc(GMEM_MOVEABLE, size);
- DEVNAMES *dn = (DEVNAMES*) GlobalLock(hGlobal);
-
- dn->wDriverOffset = sizeof(DEVNAMES);
- dn->wDeviceOffset = dn->wDriverOffset + program.length() + 1;
- dn->wOutputOffset = dn->wDeviceOffset + name.length() + 1;
-
- memcpy((char*)dn + dn->wDriverOffset, program.toLatin1(), program.length() + 2);
- memcpy((char*)dn + dn->wDeviceOffset, name.toLatin1(), name.length() + 2);
- memcpy((char*)dn + dn->wOutputOffset, port.toLatin1(), port.length() + 2);
- dn->wDefault = 0;
-
- GlobalUnlock(hGlobal);
- return hGlobal;
- } );
+// QString::fromWCharArray((wchar_t*)(dn) + dn->wDriverOffset).latin1(),
+// QString::fromWCharArray((wchar_t*)(dn) + dn->wDeviceOffset).latin1(),
+// QString::fromWCharArray((wchar_t*)(dn) + dn->wOutputOffset).latin1());
+
+ return hGlobal;
}
void QWin32PrintEnginePrivate::readDevnames(HGLOBAL globalDevnames)
{
if (globalDevnames) {
- QT_WA( {
- DEVNAMES *dn = (DEVNAMES*) GlobalLock(globalDevnames);
- name = QString::fromUtf16((ushort*)(dn) + dn->wDeviceOffset);
- port = QString::fromUtf16((ushort*)(dn) + dn->wOutputOffset);
- program = QString::fromUtf16((ushort*)(dn) + dn->wDriverOffset);
- GlobalUnlock(globalDevnames);
- }, {
- DEVNAMES *dn = (DEVNAMES*) GlobalLock(globalDevnames);
- name = QString::fromLatin1((char*)(dn) + dn->wDeviceOffset);
- port = QString::fromLatin1((char*)(dn) + dn->wOutputOffset);
- program = QString::fromLatin1((char*)(dn) + dn->wDriverOffset);
- GlobalUnlock(globalDevnames);
- } );
+ DEVNAMES *dn = (DEVNAMES*) GlobalLock(globalDevnames);
+ name = QString::fromWCharArray((wchar_t*)(dn) + dn->wDeviceOffset);
+ port = QString::fromWCharArray((wchar_t*)(dn) + dn->wOutputOffset);
+ program = QString::fromWCharArray((wchar_t*)(dn) + dn->wDriverOffset);
+ GlobalUnlock(globalDevnames);
}
}
void QWin32PrintEnginePrivate::readDevmode(HGLOBAL globalDevmode)
{
if (globalDevmode) {
- QT_WA( {
- DEVMODE *dm = (DEVMODE*) GlobalLock(globalDevmode);
- release();
- globalDevMode = globalDevmode;
- devMode = dm;
- hdc = CreateDC(reinterpret_cast<const wchar_t *>(program.utf16()),
- reinterpret_cast<const wchar_t *>(name.utf16()), 0, dm);
-
- num_copies = devModeW()->dmCopies;
- if (!OpenPrinterW((LPWSTR)name.utf16(), (LPHANDLE)&hPrinter, 0))
- qWarning("QPrinter: OpenPrinter() failed after reading DEVMODE.");
- }, {
- DEVMODEA *dm = (DEVMODEA*) GlobalLock(globalDevmode);
- release();
- globalDevMode = globalDevmode;
- devMode = dm;
- hdc = CreateDCA(program.toLatin1(), name.toLatin1(), 0, dm);
-
- num_copies = devModeA()->dmCopies;
- if (!OpenPrinterA((LPSTR)name.toLatin1().data(), (LPHANDLE)&hPrinter, 0))
- qWarning("QPrinter: OpenPrinter() failed after reading DEVMODE.");
- } );
+ DEVMODE *dm = (DEVMODE*) GlobalLock(globalDevmode);
+ release();
+ globalDevMode = globalDevmode;
+ devMode = dm;
+ hdc = CreateDC(reinterpret_cast<const wchar_t *>(program.utf16()),
+ reinterpret_cast<const wchar_t *>(name.utf16()), 0, dm);
+
+ num_copies = devMode->dmCopies;
+ if (!OpenPrinter((wchar_t*)name.utf16(), &hPrinter, 0))
+ qWarning("QPrinter: OpenPrinter() failed after reading DEVMODE.");
}
if (hdc)
initHDC();
}
-static void draw_text_item_win(const QPointF &_pos, const QTextItemInt &ti, HDC hdc,
+static void draw_text_item_win(const QPointF &pos, const QTextItemInt &ti, HDC hdc,
bool convertToText, const QTransform &xform, const QPointF &topLeft)
{
-
- // Make sure we translate for systems that can't handle world transforms
- QPointF pos(QT_WA_INLINE(_pos, _pos + QPointF(xform.dx(), xform.dy())));
QFontEngine *fe = ti.fontEngine;
QPointF baseline_pos = xform.inverted().map(xform.map(pos) - topLeft);
@@ -1815,12 +1631,10 @@ static void draw_text_item_win(const QPointF &_pos, const QTextItemInt &ti, HDC
HFONT hfont;
bool ttf = false;
- bool useTextOutA = false;
if (winfe) {
hfont = winfe->hfont;
ttf = winfe->ttf;
- useTextOutA = winfe->useTextOutA;
} else {
hfont = (HFONT)GetStockObject(ANSI_VAR_FONT);
}
@@ -1830,153 +1644,115 @@ static void draw_text_item_win(const QPointF &_pos, const QTextItemInt &ti, HDC
wchar_t *convertedGlyphs = (wchar_t *)ti.chars;
QGlyphLayout glyphs = ti.glyphs;
- if (!(ti.flags & QTextItem::RightToLeft) && useTextOutA) {
- qreal x = pos.x();
- qreal y = pos.y();
-
- // hack to get symbol fonts working on Win95. See also QFontEngine constructor
- // can only happen if !ttf
- for(int i = 0; i < glyphs.numGlyphs; i++) {
- QString str(QChar(glyphs.glyphs[i]));
- QT_WA({
- TextOutW(hdc, qRound(x + glyphs.offsets[i].x.toReal()),
- qRound(y + glyphs.offsets[i].y.toReal()),
- (LPWSTR)str.utf16(), str.length());
- } , {
- QByteArray cstr = str.toLocal8Bit();
- TextOutA(hdc, qRound(x + glyphs.offsets[i].x.toReal()),
- qRound(y + glyphs.offsets[i].y.toReal()),
- cstr.data(), cstr.length());
- });
- x += glyphs.effectiveAdvance(i).toReal();
- }
- } else {
- bool fast = !has_kerning && !(ti.flags & QTextItem::RightToLeft);
- for(int i = 0; fast && i < glyphs.numGlyphs; i++) {
- if (glyphs.offsets[i].x != 0 || glyphs.offsets[i].y != 0 || glyphs.justifications[i].space_18d6 != 0
- || glyphs.attributes[i].dontPrint) {
- fast = false;
- break;
- }
+ bool fast = !has_kerning && !(ti.flags & QTextItem::RightToLeft);
+ for (int i = 0; fast && i < glyphs.numGlyphs; i++) {
+ if (glyphs.offsets[i].x != 0 || glyphs.offsets[i].y != 0 || glyphs.justifications[i].space_18d6 != 0
+ || glyphs.attributes[i].dontPrint) {
+ fast = false;
+ break;
}
+ }
#if !defined(Q_OS_WINCE)
- // Scale, rotate and translate here. This is only valid for systems > Windows Me.
- // We should never get here on Windows Me or lower if the transformation specifies
- // scaling or rotation.
- QT_WA({
- XFORM win_xform;
- win_xform.eM11 = xform.m11();
- win_xform.eM12 = xform.m12();
- win_xform.eM21 = xform.m21();
- win_xform.eM22 = xform.m22();
- win_xform.eDx = xform.dx();
- win_xform.eDy = xform.dy();
- SetGraphicsMode(hdc, GM_ADVANCED);
- SetWorldTransform(hdc, &win_xform);
- }, {
- // nothing
- });
+ // Scale, rotate and translate here.
+ XFORM win_xform;
+ win_xform.eM11 = xform.m11();
+ win_xform.eM12 = xform.m12();
+ win_xform.eM21 = xform.m21();
+ win_xform.eM22 = xform.m22();
+ win_xform.eDx = xform.dx();
+ win_xform.eDy = xform.dy();
+
+ SetGraphicsMode(hdc, GM_ADVANCED);
+ SetWorldTransform(hdc, &win_xform);
#endif
- if (fast) {
- // fast path
- QVarLengthArray<wchar_t> g(glyphs.numGlyphs);
- for (int i = 0; i < glyphs.numGlyphs; ++i)
- g[i] = glyphs.glyphs[i];
- ExtTextOutW(hdc,
- qRound(baseline_pos.x() + glyphs.offsets[0].x.toReal()),
- qRound(baseline_pos.y() + glyphs.offsets[0].y.toReal()),
- options, 0, convertToText ? convertedGlyphs : g.data(), glyphs.numGlyphs, 0);
- } else {
- QVarLengthArray<QFixedPoint> positions;
- QVarLengthArray<glyph_t> _glyphs;
-
- QTransform matrix = QTransform::fromTranslate(baseline_pos.x(), baseline_pos.y());
- ti.fontEngine->getGlyphPositions(ti.glyphs, matrix, ti.flags,
- _glyphs, positions);
- if (_glyphs.size() == 0) {
- SelectObject(hdc, old_font);
- return;
- }
-
- convertToText = convertToText && glyphs.numGlyphs == _glyphs.size();
-
- bool outputEntireItem = (QSysInfo::WindowsVersion & QSysInfo::WV_NT_based)
- && QSysInfo::WindowsVersion != QSysInfo::WV_NT
- && _glyphs.size() > 0;
+ if (fast) {
+ // fast path
+ QVarLengthArray<wchar_t> g(glyphs.numGlyphs);
+ for (int i = 0; i < glyphs.numGlyphs; ++i)
+ g[i] = glyphs.glyphs[i];
+ ExtTextOut(hdc,
+ qRound(baseline_pos.x() + glyphs.offsets[0].x.toReal()),
+ qRound(baseline_pos.y() + glyphs.offsets[0].y.toReal()),
+ options, 0, convertToText ? convertedGlyphs : g.data(), glyphs.numGlyphs, 0);
+ } else {
+ QVarLengthArray<QFixedPoint> positions;
+ QVarLengthArray<glyph_t> _glyphs;
+
+ QTransform matrix = QTransform::fromTranslate(baseline_pos.x(), baseline_pos.y());
+ ti.fontEngine->getGlyphPositions(ti.glyphs, matrix, ti.flags,
+ _glyphs, positions);
+ if (_glyphs.size() == 0) {
+ SelectObject(hdc, old_font);
+ return;
+ }
- if (outputEntireItem) {
- options |= ETO_PDY;
- QVarLengthArray<INT> glyphDistances(_glyphs.size() * 2);
- QVarLengthArray<wchar_t> g(_glyphs.size());
- for (int i=0; i<_glyphs.size() - 1; ++i) {
- glyphDistances[i * 2] = qRound(positions[i + 1].x) - qRound(positions[i].x);
- glyphDistances[i * 2 + 1] = qRound(positions[i + 1].y) - qRound(positions[i].y);
- g[i] = _glyphs[i];
- }
- glyphDistances[(_glyphs.size() - 1) * 2] = 0;
- glyphDistances[(_glyphs.size() - 1) * 2 + 1] = 0;
- g[_glyphs.size() - 1] = _glyphs[_glyphs.size() - 1];
- ExtTextOutW(hdc, qRound(positions[0].x), qRound(positions[0].y), options, 0,
- convertToText ? convertedGlyphs : g.data(), _glyphs.size(),
- glyphDistances.data());
- } else {
- int i = 0;
- while(i < _glyphs.size()) {
- wchar_t g = _glyphs[i];
-
- ExtTextOutW(hdc, qRound(positions[i].x),
- qRound(positions[i].y), options, 0,
- convertToText ? convertedGlyphs + i : &g, 1, 0);
- ++i;
- }
+ convertToText = convertToText && glyphs.numGlyphs == _glyphs.size();
+ bool outputEntireItem = _glyphs.size() > 0;
+
+ if (outputEntireItem) {
+ options |= ETO_PDY;
+ QVarLengthArray<INT> glyphDistances(_glyphs.size() * 2);
+ QVarLengthArray<wchar_t> g(_glyphs.size());
+ for (int i=0; i<_glyphs.size() - 1; ++i) {
+ glyphDistances[i * 2] = qRound(positions[i + 1].x) - qRound(positions[i].x);
+ glyphDistances[i * 2 + 1] = qRound(positions[i + 1].y) - qRound(positions[i].y);
+ g[i] = _glyphs[i];
+ }
+ glyphDistances[(_glyphs.size() - 1) * 2] = 0;
+ glyphDistances[(_glyphs.size() - 1) * 2 + 1] = 0;
+ g[_glyphs.size() - 1] = _glyphs[_glyphs.size() - 1];
+ ExtTextOut(hdc, qRound(positions[0].x), qRound(positions[0].y), options, 0,
+ convertToText ? convertedGlyphs : g.data(), _glyphs.size(),
+ glyphDistances.data());
+ } else {
+ int i = 0;
+ while(i < _glyphs.size()) {
+ wchar_t g = _glyphs[i];
+
+ ExtTextOut(hdc, qRound(positions[i].x),
+ qRound(positions[i].y), options, 0,
+ convertToText ? convertedGlyphs + i : &g, 1, 0);
+ ++i;
}
}
+ }
#if !defined(Q_OS_WINCE)
- QT_WA({
- XFORM win_xform;
- win_xform.eM11 = win_xform.eM22 = 1.0;
- win_xform.eM12 = win_xform.eM21 = win_xform.eDx = win_xform.eDy = 0.0;
- SetWorldTransform(hdc, &win_xform);
- }, {
- // nothing
- });
+ win_xform.eM11 = win_xform.eM22 = 1.0;
+ win_xform.eM12 = win_xform.eM21 = win_xform.eDx = win_xform.eDy = 0.0;
+ SetWorldTransform(hdc, &win_xform);
#endif
- }
+
SelectObject(hdc, old_font);
}
void QWin32PrintEnginePrivate::updateCustomPaperSize()
{
- QT_WA( {
- uint paperSize = devModeW()->dmPaperSize;
- if (paperSize > 0 && mapDevmodePaperSize(paperSize) == QPrinter::Custom) {
- has_custom_paper_size = true;
- DWORD needed = 0;
- DWORD returned = 0;
- if (!EnumForms(hPrinter, 1, 0, 0, &needed, &returned)) {
- BYTE *forms = (BYTE *) malloc(needed);
- if (EnumForms(hPrinter, 1, forms, needed, &needed, &returned)) {
- if (paperSize <= returned) {
- FORM_INFO_1 *formArray = (FORM_INFO_1 *) forms;
- int width = formArray[paperSize-1].Size.cx; // 1/1000 of a mm
- int height = formArray[paperSize-1].Size.cy; // 1/1000 of a mm
- paper_size = QSizeF((width*72/25.4)/1000.0, (height*72/25.4)/1000.0);
- } else {
- has_custom_paper_size = false;
- }
+ uint paperSize = devMode->dmPaperSize;
+ if (paperSize > 0 && mapDevmodePaperSize(paperSize) == QPrinter::Custom) {
+ has_custom_paper_size = true;
+ DWORD needed = 0;
+ DWORD returned = 0;
+ if (!EnumForms(hPrinter, 1, 0, 0, &needed, &returned)) {
+ BYTE *forms = (BYTE *) malloc(needed);
+ if (EnumForms(hPrinter, 1, forms, needed, &needed, &returned)) {
+ if (paperSize <= returned) {
+ FORM_INFO_1 *formArray = (FORM_INFO_1 *) forms;
+ int width = formArray[paperSize - 1].Size.cx; // 1/1000 of a mm
+ int height = formArray[paperSize - 1].Size.cy; // 1/1000 of a mm
+ paper_size = QSizeF((width * 72 /25.4) / 1000.0, (height * 72 / 25.4) / 1000.0);
+ } else {
+ has_custom_paper_size = false;
}
- free(forms);
}
- } else {
- has_custom_paper_size = false;
+ free(forms);
}
- }, {
- // Not supported under Win98
- } );
+ } else {
+ has_custom_paper_size = false;
+ }
}
QT_END_NAMESPACE
diff --git a/src/gui/painting/qprintengine_win_p.h b/src/gui/painting/qprintengine_win_p.h
index 4438ce7..36a32e8 100644
--- a/src/gui/painting/qprintengine_win_p.h
+++ b/src/gui/painting/qprintengine_win_p.h
@@ -69,7 +69,7 @@ class QPainterState;
class QWin32PrintEngine : public QAlphaPaintEngine, public QPrintEngine
{
- Q_DECLARE_SCOPED_PRIVATE(QWin32PrintEngine)
+ Q_DECLARE_PRIVATE(QWin32PrintEngine)
public:
QWin32PrintEngine(QPrinter::PrinterMode mode);
@@ -169,18 +169,8 @@ public:
void readDevmode(HGLOBAL globalDevmode);
void readDevnames(HGLOBAL globalDevnames);
- inline DEVMODEW *devModeW() const { return (DEVMODEW*) devMode; }
- inline DEVMODEA *devModeA() const { return (DEVMODEA*) devMode; }
-
- inline PRINTER_INFO_2W *pInfoW() { return (PRINTER_INFO_2W*) pInfo; };
- inline PRINTER_INFO_2A *pInfoA() { return (PRINTER_INFO_2A*) pInfo; };
-
inline bool resetDC() {
- QT_WA( {
- hdc = ResetDCW(hdc, devModeW());
- }, {
- hdc = ResetDCA(hdc, devModeA());
- } );
+ hdc = ResetDC(hdc, devMode);
return hdc != 0;
}
@@ -202,8 +192,8 @@ public:
HANDLE hPrinter;
HGLOBAL globalDevMode;
- void *devMode;
- void *pInfo;
+ DEVMODE *devMode;
+ PRINTER_INFO_2 *pInfo;
HGLOBAL hMem;
HDC hdc;
diff --git a/src/gui/painting/qprinter.cpp b/src/gui/painting/qprinter.cpp
index 2a7553e..bc54b5c 100644
--- a/src/gui/painting/qprinter.cpp
+++ b/src/gui/painting/qprinter.cpp
@@ -792,7 +792,8 @@ QPrinter::OutputFormat QPrinter::outputFormat() const
-/*! \reimp */
+/*! \internal
+*/
int QPrinter::devType() const
{
return QInternal::Printer;
@@ -2160,8 +2161,8 @@ bool QPrinter::collateCopiesEnabled() const
}
/*!
- Use QPrintDialog::addEnabledOption(QPrintDialog::PrintCollateCopies)
- or QPrintDialog::setEnabledOptions(QPrintDialog::enabledOptions()
+ Use QPrintDialog::setOption(QPrintDialog::PrintCollateCopies)
+ or QPrintDialog::setOptions(QPrintDialog::options()
& ~QPrintDialog::PrintCollateCopies) instead, depending on \a
enable.
*/
diff --git a/src/gui/painting/qprinter.h b/src/gui/painting/qprinter.h
index 842845b..25c2f0c 100644
--- a/src/gui/painting/qprinter.h
+++ b/src/gui/painting/qprinter.h
@@ -65,7 +65,7 @@ class QPrinterInfo;
class Q_GUI_EXPORT QPrinter : public QPaintDevice
{
- Q_DECLARE_SCOPED_PRIVATE(QPrinter)
+ Q_DECLARE_PRIVATE(QPrinter)
public:
enum PrinterMode { ScreenResolution, PrinterResolution, HighResolution };
diff --git a/src/gui/painting/qprinterinfo.h b/src/gui/painting/qprinterinfo.h
index 5c0a25f..526b3b2 100644
--- a/src/gui/painting/qprinterinfo.h
+++ b/src/gui/painting/qprinterinfo.h
@@ -56,7 +56,7 @@ class QPrinterInfoPrivate;
class QPrinterInfoPrivateDeleter;
class Q_GUI_EXPORT QPrinterInfo
{
-Q_DECLARE_SCOPED_PRIVATE(QPrinterInfo)
+Q_DECLARE_PRIVATE(QPrinterInfo)
public:
QPrinterInfo();
diff --git a/src/gui/painting/qprinterinfo_win.cpp b/src/gui/painting/qprinterinfo_win.cpp
index 3f2c510..89449b0 100644
--- a/src/gui/painting/qprinterinfo_win.cpp
+++ b/src/gui/painting/qprinterinfo_win.cpp
@@ -43,7 +43,7 @@
#include <qstringlist.h>
-#include <windows.h>
+#include <qt_windows.h>
QT_BEGIN_NAMESPACE
@@ -89,45 +89,24 @@ QList<QPrinterInfo> QPrinterInfo::availablePrinters()
DWORD needed = 0;
DWORD returned = 0;
- QT_WA({
- if (!EnumPrintersW(PRINTER_ENUM_LOCAL | PRINTER_ENUM_CONNECTIONS, NULL,
- 4, 0, 0, &needed, &returned))
- {
- buffer = new BYTE[needed];
- if (!EnumPrintersW(PRINTER_ENUM_LOCAL | PRINTER_ENUM_CONNECTIONS , NULL,
- 4, buffer, needed, &needed, &returned))
- {
- delete [] buffer;
- return printers;
- }
- PPRINTER_INFO_4 infoList = reinterpret_cast<PPRINTER_INFO_4>(buffer);
- QPrinterInfo defPrn = defaultPrinter();
- for (uint i = 0; i < returned; ++i) {
- printers.append(QPrinterInfo(QString::fromUtf16(reinterpret_cast<const ushort*>(infoList[i].pPrinterName))));
- if (printers.at(i).printerName() == defPrn.printerName())
- printers[i].d_ptr->m_default = true;
- }
- delete [] buffer;
- }
- }, {
- // In Windows 98 networked printers are served through the local connection
- if (!EnumPrintersA(PRINTER_ENUM_LOCAL, NULL, 5, 0, 0, &needed, &returned)) {
- buffer = new BYTE[needed];
- if (!EnumPrintersA(PRINTER_ENUM_LOCAL, NULL, 5, buffer, needed, &needed, &returned)) {
- delete [] buffer;
- return printers;
- }
-
- PPRINTER_INFO_5 infoList = reinterpret_cast<PPRINTER_INFO_5>(buffer);
- QPrinterInfo defPrn = defaultPrinter();
- for (uint i = 0; i < returned; ++i) {
- printers.append(QPrinterInfo(QString::fromLocal8Bit(reinterpret_cast<const char*>(infoList[i].pPrinterName))));
- if (printers.at(i).printerName() == defPrn.printerName())
- printers[i].d_ptr->m_default = true;
- }
- delete [] buffer;
- }
- });
+ if ( !EnumPrinters(PRINTER_ENUM_LOCAL | PRINTER_ENUM_CONNECTIONS, NULL, 4, 0, 0, &needed, &returned))
+ {
+ buffer = new BYTE[needed];
+ if (!EnumPrinters(PRINTER_ENUM_LOCAL | PRINTER_ENUM_CONNECTIONS , NULL,
+ 4, buffer, needed, &needed, &returned))
+ {
+ delete [] buffer;
+ return printers;
+ }
+ PPRINTER_INFO_4 infoList = reinterpret_cast<PPRINTER_INFO_4>(buffer);
+ QPrinterInfo defPrn = defaultPrinter();
+ for (uint i = 0; i < returned; ++i) {
+ printers.append(QPrinterInfo(QString::fromWCharArray(infoList[i].pPrinterName)));
+ if (printers.at(i).printerName() == defPrn.printerName())
+ printers[i].d_ptr->m_default = true;
+ }
+ delete [] buffer;
+ }
return printers;
}
@@ -135,18 +114,9 @@ QList<QPrinterInfo> QPrinterInfo::availablePrinters()
QPrinterInfo QPrinterInfo::defaultPrinter()
{
QString noPrinters(QLatin1String("qt_no_printers"));
- QString output;
- QT_WA({
- ushort buffer[256];
- GetProfileStringW(L"windows", L"device",
- reinterpret_cast<const wchar_t *>(noPrinters.utf16()),
- reinterpret_cast<wchar_t *>(buffer), 256);
- output = QString::fromUtf16(buffer);
- }, {
- char buffer[256];
- GetProfileStringA("windows", "device", noPrinters.toLatin1(), buffer, 256);
- output = QString::fromLocal8Bit(buffer);
- });
+ wchar_t buffer[256];
+ GetProfileString(L"windows", L"device", (wchar_t*)noPrinters.utf16(), buffer, 256);
+ QString output = QString::fromWCharArray(buffer);
// Filter out the name of the printer, which should be everything
// before a comma.
@@ -228,26 +198,16 @@ bool QPrinterInfo::isDefault() const
QList<QPrinter::PaperSize> QPrinterInfo::supportedPaperSizes() const
{
const Q_D(QPrinterInfo);
- DWORD size;
- WORD* papers;
QList<QPrinter::PaperSize> paperList;
- QT_WA({
- size = DeviceCapabilitiesW(reinterpret_cast<const WCHAR*>(d->m_name.utf16()),
- NULL, DC_PAPERS, NULL, NULL);
- if ((int)size == -1)
- return paperList;
- papers = new WORD[size];
- size = DeviceCapabilitiesW(reinterpret_cast<const WCHAR*>(d->m_name.utf16()),
- NULL, DC_PAPERS, reinterpret_cast<WCHAR*>(papers), NULL);
- }, {
- size = DeviceCapabilitiesA(d->m_name.toLatin1().data(), NULL, DC_PAPERS, NULL, NULL);
- if ((int)size == -1)
- return paperList;
- papers = new WORD[size];
- size = DeviceCapabilitiesA(d->m_name.toLatin1().data(), NULL, DC_PAPERS,
- reinterpret_cast<char*>(papers), NULL);
- });
+ DWORD size = DeviceCapabilities(reinterpret_cast<const wchar_t*>(d->m_name.utf16()),
+ NULL, DC_PAPERS, NULL, NULL);
+ if ((int)size == -1)
+ return paperList;
+
+ wchar_t *papers = new wchar_t[size];
+ size = DeviceCapabilities(reinterpret_cast<const wchar_t*>(d->m_name.utf16()),
+ NULL, DC_PAPERS, papers, NULL);
for (int c = 0; c < (int)size; ++c) {
paperList.append(mapDevmodePaperSize(papers[c]));
diff --git a/src/gui/painting/qregion.cpp b/src/gui/painting/qregion.cpp
index 44de29e..47d24b3 100644
--- a/src/gui/painting/qregion.cpp
+++ b/src/gui/painting/qregion.cpp
@@ -49,7 +49,7 @@
#include <qdebug.h>
-#if defined(Q_OS_UNIX) || defined(Q_OS_WINCE)
+#if defined(Q_OS_UNIX) || defined(Q_WS_WIN)
#include "qimage.h"
#include "qbitmap.h"
#include <stdlib.h>
@@ -92,10 +92,6 @@ QT_BEGIN_NAMESPACE
Example of using complex regions:
\snippet doc/src/snippets/code/src_gui_painting_qregion.cpp 0
- \warning Due to window system limitations, the whole coordinate space for a
- region is limited to the points between -32767 and 32767 on Windows
- 95/98/ME. You can circumvent this limitation by using a QPainterPath.
-
\section1 Additional License Information
On Embedded Linux, Windows CE and X11 platforms, parts of this class rely on
@@ -549,7 +545,7 @@ QRegion& QRegion::operator|=(const QRegion &r)
\sa intersected()
*/
-#if !defined (Q_OS_UNIX) && !defined (Q_OS_WINCE)
+#if !defined (Q_OS_UNIX) && !defined (Q_WS_WIN)
QRegion& QRegion::operator+=(const QRect &r)
{
return operator+=(QRegion(r));
@@ -565,16 +561,14 @@ QRegion& QRegion::operator+=(const QRect &r)
\sa intersected()
*/
-#if !defined(Q_WS_WIN) || defined(Q_OS_WINCE)
QRegion& QRegion::operator&=(const QRegion &r)
{ return *this = *this & r; }
-#endif
/*!
\overload
\since 4.4
*/
-#if defined (Q_OS_UNIX) || defined (Q_OS_WINCE)
+#if defined (Q_OS_UNIX) || defined (Q_WS_WIN)
QRegion& QRegion::operator&=(const QRect &r)
{
return *this = *this & r;
@@ -595,10 +589,8 @@ QRegion& QRegion::operator&=(const QRect &r)
\sa subtracted()
*/
-#if !defined(Q_WS_WIN) || defined(Q_OS_WINCE)
QRegion& QRegion::operator-=(const QRegion &r)
{ return *this = *this - r; }
-#endif
/*!
Applies the xored() function to this region and \a r and
@@ -735,7 +727,7 @@ bool QRegion::intersects(const QRect &rect) const
return false;
}
-#if !defined (Q_OS_UNIX) && !defined (Q_OS_WINCE)
+#if !defined (Q_OS_UNIX) && !defined (Q_WS_WIN)
/*!
\overload
\since 4.4
@@ -1090,7 +1082,7 @@ Q_AUTOTEST_EXPORT QPainterPath qt_regionToPath(const QRegion &region)
return result;
}
-#if defined(Q_OS_UNIX) || defined(Q_OS_WINCE)
+#if defined(Q_OS_UNIX) || defined(Q_WS_WIN)
//#define QT_REGION_DEBUG
/*
@@ -1631,9 +1623,9 @@ QT_END_INCLUDE_NAMESPACE
QT_BEGIN_INCLUDE_NAMESPACE
# include "qregion_mac.cpp"
QT_END_INCLUDE_NAMESPACE
-#elif defined(Q_OS_WINCE)
+#elif defined(Q_WS_WIN)
QT_BEGIN_INCLUDE_NAMESPACE
-# include "qregion_wince.cpp"
+# include "qregion_win.cpp"
QT_END_INCLUDE_NAMESPACE
#elif defined(Q_WS_QWS)
static QRegionPrivate qrp;
@@ -3850,7 +3842,7 @@ QRegion::QRegion(const QRect &r, RegionType t)
#if defined(Q_WS_X11)
d->rgn = 0;
d->xrectangles = 0;
-#elif defined(Q_OS_WINCE)
+#elif defined(Q_WS_WIN)
d->rgn = 0;
#endif
if (t == Rectangle) {
@@ -3872,7 +3864,7 @@ QRegion::QRegion(const QPolygon &a, Qt::FillRule fillRule)
#if defined(Q_WS_X11)
d->rgn = 0;
d->xrectangles = 0;
-#elif defined(Q_OS_WINCE)
+#elif defined(Q_WS_WIN)
d->rgn = 0;
#endif
d->qt_rgn = PolygonRegion(a.constData(), a.size(),
@@ -3902,7 +3894,7 @@ QRegion::QRegion(const QBitmap &bm)
#if defined(Q_WS_X11)
d->rgn = 0;
d->xrectangles = 0;
-#elif defined(Q_OS_WINCE)
+#elif defined(Q_WS_WIN)
d->rgn = 0;
#endif
d->qt_rgn = qt_bitmapToRegion(bm);
@@ -3917,7 +3909,7 @@ void QRegion::cleanUp(QRegion::QRegionData *x)
XDestroyRegion(x->rgn);
if (x->xrectangles)
free(x->xrectangles);
-#elif defined(Q_OS_WINCE)
+#elif defined(Q_WS_WIN)
if (x->rgn)
qt_win_dispose_rgn(x->rgn);
#endif
@@ -3952,7 +3944,7 @@ QRegion QRegion::copy() const
#if defined(Q_WS_X11)
x->rgn = 0;
x->xrectangles = 0;
-#elif defined(Q_OS_WINCE)
+#elif defined(Q_WS_WIN)
x->rgn = 0;
#endif
if (d->qt_rgn)
diff --git a/src/gui/painting/qregion.h b/src/gui/painting/qregion.h
index 61a0623..8a56d54 100644
--- a/src/gui/painting/qregion.h
+++ b/src/gui/painting/qregion.h
@@ -59,7 +59,7 @@ QT_MODULE(Gui)
template <class T> class QVector;
class QVariant;
-#if defined(Q_WS_QWS) || defined(Q_WS_X11) || defined(Q_WS_MAC) || defined(Q_OS_WINCE) || defined(Q_OS_SYMBIAN)
+#if defined(Q_WS_QWS) || defined(Q_WS_X11) || defined(Q_WS_MAC) || defined(Q_WS_WIN) || defined(Q_OS_SYMBIAN)
struct QRegionPrivate;
#endif
@@ -148,6 +148,7 @@ public:
#elif defined(Q_WS_MAC)
#if defined Q_WS_MAC32
RgnHandle toQDRgn() const;
+ RgnHandle toQDRgnForUpdate_sys() const;
static QRegion fromQDRgn(RgnHandle shape);
#endif
#ifdef QT_MAC_USE_COCOA
@@ -199,7 +200,7 @@ private:
#elif defined(Q_WS_MAC) && !defined(QT_MAC_USE_COCOA)
mutable RgnHandle unused; // Here for binary compatability reasons. ### Qt 5 remove.
#endif
-#if defined(Q_WS_QWS) || defined(Q_WS_X11) || defined(Q_WS_MAC) || defined(Q_OS_WINCE) || defined(Q_OS_SYMBIAN)
+#if defined(Q_WS_QWS) || defined(Q_WS_X11) || defined(Q_WS_MAC) || defined(Q_WS_WIN) || defined(Q_OS_SYMBIAN)
QRegionPrivate *qt_rgn;
#endif
};
diff --git a/src/gui/painting/qregion_mac.cpp b/src/gui/painting/qregion_mac.cpp
index b57f234..6fe7805 100644
--- a/src/gui/painting/qregion_mac.cpp
+++ b/src/gui/painting/qregion_mac.cpp
@@ -155,6 +155,43 @@ RgnHandle QRegion::toQDRgn() const
}
return rgnHandle;
}
+
+/*!
+ \internal
+ Create's a RegionHandle, it's the caller's responsibility to release.
+ Returns 0 if the QRegion overflows.
+*/
+RgnHandle QRegion::toQDRgnForUpdate_sys() const
+{
+ RgnHandle rgnHandle = qt_mac_get_rgn();
+ if(d->qt_rgn && d->qt_rgn->numRects) {
+ RgnHandle tmp_rgn = qt_mac_get_rgn();
+ int n = d->qt_rgn->numRects;
+ const QRect *qt_r = (n == 1) ? &d->qt_rgn->extents : d->qt_rgn->rects.constData();
+ while (n--) {
+
+ // detect overflow. Tested for use with HIViewSetNeedsDisplayInRegion
+ // in QWidgetPrivate::update_sys().
+ enum { HIViewSetNeedsDisplayInRegionOverflow = 10000 }; // empirically determined conservative value
+ if (qt_r->right() > HIViewSetNeedsDisplayInRegionOverflow || qt_r->bottom() > HIViewSetNeedsDisplayInRegionOverflow) {
+ qt_mac_dispose_rgn(tmp_rgn);
+ qt_mac_dispose_rgn(rgnHandle);
+ return 0;
+ }
+
+ SetRectRgn(tmp_rgn,
+ qMax(SHRT_MIN, qt_r->x()),
+ qMax(SHRT_MIN, qt_r->y()),
+ qMin(SHRT_MAX, qt_r->right() + 1),
+ qMin(SHRT_MAX, qt_r->bottom() + 1));
+ UnionRgn(rgnHandle, tmp_rgn, rgnHandle);
+ ++qt_r;
+ }
+ qt_mac_dispose_rgn(tmp_rgn);
+ }
+ return rgnHandle;
+}
+
#endif
#if (MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5)
diff --git a/src/gui/painting/qregion_s60.cpp b/src/gui/painting/qregion_s60.cpp
index 4d96910..2d85f10 100644
--- a/src/gui/painting/qregion_s60.cpp
+++ b/src/gui/painting/qregion_s60.cpp
@@ -1,9 +1,9 @@
/****************************************************************************
**
-** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
-** This file is part of the $MODULE$ of the Qt Toolkit.
+** This file is part of the QtGui of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/src/gui/painting/qregion_win.cpp b/src/gui/painting/qregion_win.cpp
index 873439e..8708461 100644
--- a/src/gui/painting/qregion_win.cpp
+++ b/src/gui/painting/qregion_win.cpp
@@ -39,27 +39,25 @@
**
****************************************************************************/
+#include "qatomic.h"
#include "qbitmap.h"
#include "qbuffer.h"
#include "qimage.h"
#include "qpolygon.h"
#include "qregion.h"
#include "qt_windows.h"
+#include "qpainterpath.h"
+#include "qguifunctions_wince.h"
QT_BEGIN_NAMESPACE
+QRegion::QRegionData QRegion::shared_empty = { Q_BASIC_ATOMIC_INITIALIZER(1), 0, 0 };
-/*
- In Windows versions before Windows Vista CreateRectRgn - when called in a multi-threaded
- environment - might return an invalid handle. This function works around this limitation
- by verifying the handle with a quick GetRegionData() call and re-creates the region
- if necessary.
-*/
HRGN qt_tryCreateRegion(QRegion::RegionType type, int left, int top, int right, int bottom)
{
const int tries = 10;
for (int i = 0; i < tries; ++i) {
- HRGN region;
+ HRGN region = 0;
switch (type) {
case QRegion::Rectangle:
region = CreateRectRgn(left, top, right, bottom);
@@ -80,497 +78,73 @@ HRGN qt_tryCreateRegion(QRegion::RegionType type, int left, int top, int right,
return 0;
}
-#ifndef Q_OS_WINCE
-HRGN qt_tryCreatePolygonRegion(const QPolygon &a, Qt::FillRule fillRule)
-{
- const int tries = 10;
- for (int i = 0; i < tries; ++i) {
- HRGN region = CreatePolygonRgn(reinterpret_cast<const POINT*>(a.data()), a.size(),
- fillRule == Qt::OddEvenFill ? ALTERNATE : WINDING);
- if (region) {
- if (GetRegionData(region, 0, 0))
- return region;
- else
- DeleteObject(region);
- }
- }
- return 0;
-}
-#endif
-
-QRegion::QRegionData QRegion::shared_empty = { Q_BASIC_ATOMIC_INITIALIZER(1), 0 };
-
-QRegion::QRegion()
- : d(&shared_empty)
-{
- d->ref.ref();
-}
-
-#ifndef Q_OS_WINCE //implementation for WindowsCE in qregion_wce.cpp
-QRegion::QRegion(const QRect &r, RegionType t)
-{
- if (r.isEmpty()) {
- d = &shared_empty;
- d->ref.ref();
- } else {
- d = new QRegionData;
- d->ref = 1;
- if (t == Rectangle)
- d->rgn = qt_tryCreateRegion(t, r.left(), r.top(), r.x() + r.width(), r.y() + r.height());
- else if (t == Ellipse) {
- // need to add 1 to width/height for the ellipse to have correct boundingrect.
- d->rgn = qt_tryCreateRegion(t, r.x(), r.y(), r.x() + r.width() + 1, r.y() + r.height() + 1);
- }
- }
-}
-#endif
-
-#ifndef Q_OS_WINCE //implementation for WindowsCE in qregion_wce.cpp
-QRegion::QRegion(const QPolygon &a, Qt::FillRule fillRule)
-{
- if (a.size() < 3) {
- d = &shared_empty;
- d->ref.ref();
- } else {
- d = new QRegionData;
- d->ref = 1;
- d->rgn = qt_tryCreatePolygonRegion(a, fillRule);
- }
-}
-#endif
-
-QRegion::QRegion(const QRegion &r)
-{
- d = r.d;
- d->ref.ref();
-}
-
-HRGN qt_win_bitmapToRegion(const QBitmap& bitmap)
-{
- HRGN region=0;
- QImage image = bitmap.toImage();
- const int MAXRECT = 256;
- struct RData {
- RGNDATAHEADER header;
- RECT rect[MAXRECT];
- };
- RData data;
-
-#define FlushSpans \
- { \
- data.header.dwSize = sizeof(RGNDATAHEADER); \
- data.header.iType = RDH_RECTANGLES; \
- data.header.nCount = n; \
- data.header.nRgnSize = 0; \
- data.header.rcBound.bottom = y; \
- HRGN r = ExtCreateRegion(0, \
- sizeof(RGNDATAHEADER)+n*sizeof(RECT),(RGNDATA*)&data); \
- if (region) { \
- CombineRgn(region, region, r, RGN_OR); \
- DeleteObject(r); \
- } else { \
- region = r; \
- } \
- data.header.rcBound.top = y; \
- }
-
-#define AddSpan \
- { \
- data.rect[n].left=prev1; \
- data.rect[n].top=y; \
- data.rect[n].right=x-1+1; \
- data.rect[n].bottom=y+1; \
- n++; \
- if (n == MAXRECT) { \
- FlushSpans \
- n=0; \
- } \
- }
-
- data.header.rcBound.top = 0;
- data.header.rcBound.left = 0;
- data.header.rcBound.right = image.width()-1;
- int n = 0;
-
- int zero = 0x00;
-
- int x, y;
- for (y = 0; y < image.height(); ++y) {
- uchar *line = image.scanLine(y);
- int w = image.width();
- uchar all=zero;
- int prev1 = -1;
- for (x = 0; x < w;) {
- uchar byte = line[x/8];
- if (x > w - 8 || byte != all) {
- for (int b = 8; b > 0 && x < w; --b) {
- if (!(byte & 0x01) == !all) {
- // More of the same
- } else {
- // A change.
- if (all != zero) {
- AddSpan;
- all = zero;
- } else {
- prev1 = x;
- all = ~zero;
- }
- }
- byte >>= 1;
- ++x;
- }
- } else {
- x += 8;
- }
- }
- if (all != zero) {
- AddSpan;
- }
- }
- if (n) {
- FlushSpans;
- }
-
- if (!region) {
- // Surely there is some better way.
- region = qt_tryCreateRegion(QRegion::Rectangle, 0,0,1,1);
- CombineRgn(region, region, region, RGN_XOR);
- }
- return region;
-}
-
-#ifndef Q_OS_WINCE //implementation for WindowsCE in qregion_wce.cpp
-QRegion::QRegion(const QBitmap &bm)
-{
- if (bm.isNull()) {
- d = &shared_empty;
- d->ref.ref();
- } else {
- d = new QRegionData;
- d->ref = 1;
- d->rgn = qt_win_bitmapToRegion(bm);
- }
-}
-#endif
-
-void QRegion::cleanUp(QRegion::QRegionData *x)
-{
- if (x->rgn)
- DeleteObject(x->rgn);
- delete x;
-}
-
-QRegion::~QRegion()
-{
- if (!d->ref.deref())
- cleanUp(d);
-}
-
-QRegion &QRegion::operator=(const QRegion &r)
-{
- r.d->ref.ref();
- if (!d->ref.deref())
- cleanUp(d);
- d = r.d;
- return *this;
-}
-
-
-QRegion QRegion::copy() const
-{
- QRegion r;
- QRegionData *x = new QRegionData;
- x->ref = 1;
- if (d->rgn) {
- x->rgn = qt_tryCreateRegion(QRegion::Rectangle, 0, 0, 2, 2);
- CombineRgn(x->rgn, d->rgn, 0, RGN_COPY);
- } else {
- x->rgn = 0;
- }
- if (!r.d->ref.deref())
- cleanUp(r.d);
- r.d = x;
- return r;
-}
-
-bool QRegion::isEmpty() const
-{
- return (d == &shared_empty || boundingRect().isEmpty());
-}
-
-
-bool QRegion::contains(const QPoint &p) const
-{
- return d->rgn ? PtInRegion(d->rgn, p.x(), p.y()) : false;
-}
-
-bool QRegion::contains(const QRect &r) const
-{
- if (!d->rgn)
- return false;
- RECT rect;
- SetRect(&rect, r.left(), r.top(), r.right(), r.bottom());
- return RectInRegion(d->rgn, &rect);
-}
-
-
-void QRegion::translate(int dx, int dy)
-{
- if (!d->rgn || (dx == 0 && dy == 0))
- return;
- detach();
- OffsetRgn(d->rgn, dx, dy);
-}
-
-
-#define RGN_NOP -1
-
-// Duplicates of those in qregion.cpp
-#define QRGN_OR 6
-#define QRGN_AND 7
-#define QRGN_SUB 8
-#define QRGN_XOR 9
-
-/*
- Performs the actual OR, AND, SUB and XOR operation between regions.
- Sets the resulting region handle to 0 to indicate an empty region.
-*/
-
-QRegion QRegion::winCombine(const QRegion &r, int op) const
+QRegion qt_region_from_HRGN(HRGN rgn)
{
- int both=RGN_NOP,
- left=RGN_NOP,
- right=RGN_NOP;
- switch (op) {
- case QRGN_OR:
- both = RGN_OR;
- left = right = RGN_COPY;
- break;
- case QRGN_AND:
- both = RGN_AND;
- break;
- case QRGN_SUB:
- both = RGN_DIFF;
- left = RGN_COPY;
- break;
- case QRGN_XOR:
- both = RGN_XOR;
- left = right = RGN_COPY;
- break;
- default:
- qWarning("QRegion: Internal error in winCombine");
- }
-
- int allCombineRgnResults = NULLREGION;
- QRegion result;
- result.detach();
- result.d->rgn = qt_tryCreateRegion(QRegion::Rectangle, 0, 0, 0, 0);
- if (d->rgn && r.d->rgn)
- allCombineRgnResults = CombineRgn(result.d->rgn, d->rgn, r.d->rgn, both);
- else if (d->rgn && left != RGN_NOP)
- allCombineRgnResults = CombineRgn(result.d->rgn, d->rgn, d->rgn, left);
- else if (r.d->rgn && right != RGN_NOP)
- allCombineRgnResults = CombineRgn(result.d->rgn, r.d->rgn, r.d->rgn, right);
-
- if (allCombineRgnResults == NULLREGION || allCombineRgnResults == ERROR)
- result = QRegion();
-
- //##### do not delete this. A null pointer is different from an empty region in SelectClipRgn in qpainter_win! (M)
-// if (allCombineRgnResults == NULLREGION) {
-// if (result.data->rgn)
-// DeleteObject(result.data->rgn);
-// result.data->rgn = 0; // empty region
-// }
- return result;
-}
-
-QRegion QRegion::unite(const QRegion &r) const
-{
- if (!d->rgn)
- return r;
- if (!r.d->rgn)
- return *this;
- return winCombine(r, QRGN_OR);
-}
-
-QRegion QRegion::unite(const QRect &r) const
-{
- return unite(QRegion(r));
-}
-
-QRegion QRegion::intersect(const QRegion &r) const
-{
- if (!r.d->rgn || !d->rgn)
- return QRegion();
- return winCombine(r, QRGN_AND);
-}
-
-QRegion QRegion::subtract(const QRegion &r) const
-{
- if (!r.d->rgn || !d->rgn)
- return *this;
- return winCombine(r, QRGN_SUB);
-}
-
-QRegion QRegion::eor(const QRegion &r) const
-{
- if (!d->rgn)
- return r;
- if (!r.d->rgn)
- return *this;
- return winCombine(r, QRGN_XOR);
-}
-
-
-QRect QRegion::boundingRect() const
-{
- if (!d->rgn)
- return QRect();
- RECT r;
- if (GetRgnBox(d->rgn, &r) == NULLREGION)
- return QRect();
- else
- return QRect(r.left, r.top, r.right - r.left, r.bottom - r.top);
-}
-
-QVector<QRect> QRegion::rects() const
-{
- if (d->rgn == 0)
- return QVector<QRect>();
-
- int numBytes = GetRegionData(d->rgn, 0, 0);
+ int numBytes = GetRegionData(rgn, 0, 0);
if (numBytes == 0)
- return QVector<QRect>();
+ return QRegion();
char *buf = new char[numBytes];
if (buf == 0)
- return QVector<QRect>();
+ return QRegion();
RGNDATA *rd = reinterpret_cast<RGNDATA*>(buf);
- if (GetRegionData(d->rgn, numBytes, rd) == 0) {
+ if (GetRegionData(rgn, numBytes, rd) == 0) {
delete [] buf;
- return QVector<QRect>();
+ return QRegion();
}
- QVector<QRect> a(rd->rdh.nCount);
+ QRegion region;
RECT *r = reinterpret_cast<RECT*>(rd->Buffer);
- for (int i = 0; i < a.size(); ++i) {
- a[i].setCoords(r->left, r->top, r->right - 1, r->bottom - 1);
+ for (uint i = 0; i < rd->rdh.nCount; ++i) {
+ QRect rect;
+ rect.setCoords(r->left, r->top, r->right - 1, r->bottom - 1);
++r;
+ region |= rect;
}
delete [] buf;
- return a;
-}
-
-void QRegion::setRects(const QRect *rects, int num)
-{
- *this = QRegion();
- if (!rects || num == 0 || (num == 1 && rects->isEmpty()))
- return;
- for (int i = 0; i < num; ++i)
- *this |= rects[i];
-}
-
-int QRegion::numRects() const
-{
- if (d->rgn == 0)
- return 0;
-
- const int numBytes = GetRegionData(d->rgn, 0, 0);
- if (numBytes == 0)
- return 0;
-
- char *buf = new char[numBytes];
- if (buf == 0)
- return 0;
-
- RGNDATA *rd = reinterpret_cast<RGNDATA*>(buf);
- if (GetRegionData(d->rgn, numBytes, rd) == 0) {
- delete[] buf;
- return 0;
- }
-
- const int n = rd->rdh.nCount;
- delete[] buf;
- return n;
+ return region;
}
-bool QRegion::operator==(const QRegion &r) const
+void qt_win_dispose_rgn(HRGN r)
{
- if (d == r.d)
- return true;
- if ((d->rgn == 0) ^ (r.d->rgn == 0)) // one is empty, not both
- return false;
- return d->rgn == 0 ? true // both empty
- : EqualRgn(d->rgn, r.d->rgn); // both non-empty
+ if (r)
+ DeleteObject(r);
}
-QRegion& QRegion::operator+=(const QRegion &r)
+static void qt_add_rect(HRGN &winRegion, QRect r)
{
- if (!r.d->rgn)
- return *this;
-
- if (!d->rgn) {
- *this = r;
- return *this;
+ HRGN rgn = CreateRectRgn(r.left(), r.top(), r.x() + r.width(), r.y() + r.height());
+ if (rgn) {
+ HRGN dest = CreateRectRgn(0,0,0,0);
+ int result = CombineRgn(dest, winRegion, rgn, RGN_OR);
+ if (result) {
+ DeleteObject(winRegion);
+ winRegion = dest;
+ }
+ DeleteObject(rgn);
}
-
- detach();
-
- int result;
- result = CombineRgn(d->rgn, d->rgn, r.d->rgn, RGN_OR);
- if (result == NULLREGION || result == ERROR)
- *this = QRegion();
-
- return *this;
-}
-
-QRegion& QRegion::operator-=(const QRegion &r)
-{
- if (!r.d->rgn || !d->rgn)
- return *this;
-
- detach();
-
- int result;
- result = CombineRgn(d->rgn, d->rgn, r.d->rgn, RGN_DIFF);
- if (result == NULLREGION || result == ERROR)
- *this = QRegion();
-
- return *this;
}
-QRegion& QRegion::operator&=(const QRegion &r)
+void QRegion::ensureHandle() const
{
- if (!d->rgn)
- return *this;
-
- if (!r.d->rgn) {
- *this = QRegion();
- return *this;
+ if (d->rgn)
+ DeleteObject(d->rgn);
+ d->rgn = CreateRectRgn(0,0,0,0);
+ if (d->qt_rgn) {
+ if (d->qt_rgn->numRects == 1) {
+ QRect r = d->qt_rgn->extents;
+ qt_add_rect(d->rgn, r);
+ return;
+ }
+ for (int i = 0;i < d->qt_rgn->numRects;i++) {
+ QRect r = d->qt_rgn->rects.at(i);
+ qt_add_rect(d->rgn, r);
+ }
}
-
- detach();
-
- int result;
- result = CombineRgn(d->rgn, d->rgn, r.d->rgn, RGN_AND);
- if (result == NULLREGION || result == ERROR)
- *this = QRegion();
-
- return *this;
-}
-
-bool qt_region_strictContains(const QRegion &region, const QRect &rect)
-{
- Q_UNUSED(region);
- Q_UNUSED(rect);
- return false;
}
-void QRegion::ensureHandle() const
-{
-}
QT_END_NAMESPACE
diff --git a/src/gui/painting/qregion_wince.cpp b/src/gui/painting/qregion_wince.cpp
deleted file mode 100644
index 9c33123..0000000
--- a/src/gui/painting/qregion_wince.cpp
+++ /dev/null
@@ -1,119 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtGui module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qatomic.h"
-#include "qbitmap.h"
-#include "qbuffer.h"
-#include "qimage.h"
-#include "qpolygon.h"
-#include "qregion.h"
-#include "qt_windows.h"
-#include "qpainterpath.h"
-#include "qguifunctions_wince.h"
-
-QT_BEGIN_NAMESPACE
-
-QRegion::QRegionData QRegion::shared_empty = { Q_BASIC_ATOMIC_INITIALIZER(1), 0, 0 };
-
-HRGN qt_tryCreateRegion(QRegion::RegionType type, int left, int top, int right, int bottom)
-{
- const int tries = 10;
- for (int i = 0; i < tries; ++i) {
- HRGN region;
- switch (type) {
- case QRegion::Rectangle:
- region = CreateRectRgn(left, top, right, bottom);
- break;
- case QRegion::Ellipse:
-#ifndef Q_OS_WINCE
- region = CreateEllipticRgn(left, top, right, bottom);
-#endif
- break;
- }
- if (region) {
- if (GetRegionData(region, 0, 0))
- return region;
- else
- DeleteObject(region);
- }
- }
- return 0;
-}
-
-void qt_win_dispose_rgn(HRGN r)
-{
- if (r)
- DeleteObject(r);
-}
-
-static void qt_add_rect(HRGN &winRegion, QRect r)
-{
- HRGN rgn = CreateRectRgn(r.left(), r.top(), r.x() + r.width(), r.y() + r.height());
- if (rgn) {
- HRGN dest = CreateRectRgn(0,0,0,0);
- int result = CombineRgn(dest, winRegion, rgn, RGN_OR);
- if (result) {
- DeleteObject(winRegion);
- winRegion = dest;
- }
- }
-}
-
-void QRegion::ensureHandle() const
-{
- if (d->rgn)
- DeleteObject(d->rgn);
- d->rgn = CreateRectRgn(0,0,0,0);
- if (d->qt_rgn) {
- if (d->qt_rgn->numRects == 1) {
- QRect r = d->qt_rgn->extents;
- qt_add_rect(d->rgn, r);
- return;
- }
- for (int i = 0;i < d->qt_rgn->numRects;i++) {
- QRect r = d->qt_rgn->rects.at(i);
- qt_add_rect(d->rgn, r);
- }
- }
-}
-
-
-QT_END_NAMESPACE
diff --git a/src/gui/painting/qstroker.cpp b/src/gui/painting/qstroker.cpp
index 0649589..b24bf86 100644
--- a/src/gui/painting/qstroker.cpp
+++ b/src/gui/painting/qstroker.cpp
@@ -1012,10 +1012,13 @@ void QDashStroker::processCurrentSubpath()
int dashCount = qMin(m_dashPattern.size(), 32);
qfixed dashes[32];
+ qreal longestLength = 0;
qreal sumLength = 0;
for (int i=0; i<dashCount; ++i) {
dashes[i] = qMax(m_dashPattern.at(i), qreal(0)) * m_stroker->strokeWidth();
sumLength += dashes[i];
+ if (dashes[i] > longestLength)
+ longestLength = dashes[i];
}
if (qFuzzyIsNull(sumLength))
@@ -1053,7 +1056,7 @@ void QDashStroker::processCurrentSubpath()
qfixed2d line_to_pos;
// Pad to avoid clipping the borders of thick pens.
- qfixed padding = qMax(m_stroker->strokeWidth(), m_stroker->miterLimit());
+ qfixed padding = qt_real_to_fixed(qMax(m_stroker->strokeWidth(), m_stroker->miterLimit()) * longestLength);
qfixed2d clip_tl = { qt_real_to_fixed(m_clip_rect.left()) - padding,
qt_real_to_fixed(m_clip_rect.top()) - padding };
qfixed2d clip_br = { qt_real_to_fixed(m_clip_rect.right()) + padding ,
diff --git a/src/gui/painting/qtextureglyphcache_p.h b/src/gui/painting/qtextureglyphcache_p.h
index 6968f4e..a34c354 100644
--- a/src/gui/painting/qtextureglyphcache_p.h
+++ b/src/gui/painting/qtextureglyphcache_p.h
@@ -60,6 +60,10 @@
#include <private/qfontengineglyphcache_p.h>
+#if defined(Q_OS_VXWORKS) && defined(m_type)
+# undef m_type
+#endif
+
struct glyph_metrics_t;
typedef unsigned int glyph_t;
diff --git a/src/gui/painting/qtransform.cpp b/src/gui/painting/qtransform.cpp
index f0b2351..a13b494 100644
--- a/src/gui/painting/qtransform.cpp
+++ b/src/gui/painting/qtransform.cpp
@@ -48,11 +48,15 @@
#include "qvariant.h"
#include <qmath.h>
+#include <private/qbezier_p.h>
+
QT_BEGIN_NAMESPACE
#define Q_NEAR_CLIP 0.000001
-
+#ifdef MAP
+# undef MAP
+#endif
#define MAP(x, y, nx, ny) \
do { \
qreal FX_ = x; \
@@ -99,7 +103,7 @@ QT_BEGIN_NAMESPACE
allowing perspective transformations. QTransform's toAffine()
method allows casting QTransform to QMatrix. If a perspective
transformation has been specified on the matrix, then the
- conversion to an affine QMatrix will cause loss of data.
+ conversion will cause loss of data.
QTransform is the recommended transformation class in Qt.
@@ -123,11 +127,13 @@ QT_BEGIN_NAMESPACE
which returns true if the matrix is non-singular (i.e. AB = BA =
I). The inverted() function returns an inverted copy of \e this
matrix if it is invertible (otherwise it returns the identity
- matrix). In addition, QTransform provides the det() function
- returning the matrix's determinant.
+ matrix), and adjoint() returns the matrix's classical adjoint.
+ In addition, QTransform provides the determinant() function which
+ returns the matrix's determinant.
- Finally, the QTransform class supports matrix multiplication, and
- objects of the class can be streamed as well as compared.
+ Finally, the QTransform class supports matrix multiplication, addition
+ and subtraction, and objects of the class can be streamed as well
+ as compared.
\tableofcontents
@@ -189,7 +195,7 @@ QT_BEGIN_NAMESPACE
The various matrix elements can be set when constructing the
matrix, or by using the setMatrix() function later on. They can also
be manipulated using the translate(), rotate(), scale() and
- shear() convenience functions, The currently set values can be
+ shear() convenience functions. The currently set values can be
retrieved using the m11(), m12(), m13(), m21(), m22(), m23(),
m31(), m32(), m33(), dx() and dy() functions.
@@ -202,9 +208,9 @@ QT_BEGIN_NAMESPACE
to 0) mapping a point to itself. Shearing is controlled by \c m12
and \c m21. Setting these elements to values different from zero
will twist the coordinate system. Rotation is achieved by
- carefully setting both the shearing factors and the scaling
- factors. Perspective transformation is achieved by carefully setting
- both the projection factors and the scaling factors.
+ setting both the shearing factors and the scaling factors. Perspective
+ transformation is achieved by setting both the projection factors and
+ the scaling factors.
Here's the combined transformations example using basic matrix
operations:
@@ -956,8 +962,8 @@ QTransform & QTransform::operator=(const QTransform &matrix)
/*!
Resets the matrix to an identity matrix, i.e. all elements are set
- to zero, except \c m11 and \c m22 (specifying the scale) which are
- set to 1.
+ to zero, except \c m11 and \c m22 (specifying the scale) and \c m33
+ which are set to 1.
\sa QTransform(), isIdentity(), {QTransform#Basic Matrix
Operations}{Basic Matrix Operations}
@@ -1488,27 +1494,12 @@ static inline bool lineTo_clipped(QPainterPath &path, const QTransform &transfor
static inline bool cubicTo_clipped(QPainterPath &path, const QTransform &transform, const QPointF &a, const QPointF &b, const QPointF &c, const QPointF &d, bool needsMoveTo)
{
- const QHomogeneousCoordinate ha = mapHomogeneous(transform, a);
- const QHomogeneousCoordinate hb = mapHomogeneous(transform, b);
- const QHomogeneousCoordinate hc = mapHomogeneous(transform, c);
- const QHomogeneousCoordinate hd = mapHomogeneous(transform, d);
-
- if (ha.w < Q_NEAR_CLIP && hb.w < Q_NEAR_CLIP && hc.w < Q_NEAR_CLIP && hd.w < Q_NEAR_CLIP)
- return false;
-
- if (ha.w >= Q_NEAR_CLIP && hb.w >= Q_NEAR_CLIP && hc.w >= Q_NEAR_CLIP && hd.w >= Q_NEAR_CLIP) {
- if (needsMoveTo)
- path.moveTo(ha.toPoint());
+ // Convert projective xformed curves to line
+ // segments so they can be transformed more accurately
+ QPolygonF segment = QBezier::fromPoints(a, b, c, d).toPolygon();
- path.cubicTo(hb.toPoint(), hc.toPoint(), hd.toPoint());
- return true;
- }
-
- if (lineTo_clipped(path, transform, a, b, needsMoveTo))
- needsMoveTo = false;
- if (lineTo_clipped(path, transform, b, c, needsMoveTo))
- needsMoveTo = false;
- if (lineTo_clipped(path, transform, c, d, needsMoveTo))
+ for (int i = 0; i < segment.size() - 1; ++i)
+ if (lineTo_clipped(path, transform, segment.at(i), segment.at(i+1), needsMoveTo))
needsMoveTo = false;
return !needsMoveTo;
@@ -1550,6 +1541,7 @@ static QPainterPath mapProjective(const QTransform &transform, const QPainterPat
if (path.elementCount() > 0 && lastMoveTo != last)
lineTo_clipped(result, transform, last, lastMoveTo, needsMoveTo, false);
+ result.setFillRule(path.fillRule());
return result;
}
@@ -1771,7 +1763,7 @@ bool QTransform::quadToQuad(const QPolygonF &one,
Sets the matrix elements to the specified values, \a m11,
\a m12, \a m13 \a m21, \a m22, \a m23 \a m31, \a m32 and
\a m33. Note that this function replaces the previous values.
- QMatrix provides the translate(), rotate(), scale() and shear()
+ QTransform provides the translate(), rotate(), scale() and shear()
convenience functions to manipulate the various matrix elements
based on the currently defined coordinate system.
@@ -1789,6 +1781,14 @@ void QTransform::setMatrix(qreal m11, qreal m12, qreal m13,
m_dirty = TxProject;
}
+static inline bool needsPerspectiveClipping(const QRectF &rect, const QTransform &transform)
+{
+ const qreal wx = qMin(transform.m13() * rect.left(), transform.m13() * rect.right());
+ const qreal wy = qMin(transform.m23() * rect.top(), transform.m23() * rect.bottom());
+
+ return wx + wy + transform.m33() < Q_NEAR_CLIP;
+}
+
QRect QTransform::mapRect(const QRect &rect) const
{
TransformationType t = inline_type();
@@ -1809,7 +1809,7 @@ QRect QTransform::mapRect(const QRect &rect) const
y -= h;
}
return QRect(x, y, w, h);
- } else {
+ } else if (t < TxProject || !needsPerspectiveClipping(rect, *this)) {
// see mapToPolygon for explanations of the algorithm.
qreal x = 0, y = 0;
MAP(rect.left(), rect.top(), x, y);
@@ -1833,6 +1833,10 @@ QRect QTransform::mapRect(const QRect &rect) const
xmax = qMax(xmax, x);
ymax = qMax(ymax, y);
return QRect(qRound(xmin), qRound(ymin), qRound(xmax)-qRound(xmin), qRound(ymax)-qRound(ymin));
+ } else {
+ QPainterPath path;
+ path.addRect(rect);
+ return map(path).boundingRect().toRect();
}
}
@@ -1875,7 +1879,7 @@ QRectF QTransform::mapRect(const QRectF &rect) const
y -= h;
}
return QRectF(x, y, w, h);
- } else {
+ } else if (t < TxProject || !needsPerspectiveClipping(rect, *this)) {
qreal x = 0, y = 0;
MAP(rect.x(), rect.y(), x, y);
qreal xmin = x;
@@ -1898,6 +1902,10 @@ QRectF QTransform::mapRect(const QRectF &rect) const
xmax = qMax(xmax, x);
ymax = qMax(ymax, y);
return QRectF(xmin, ymin, xmax-xmin, ymax - ymin);
+ } else {
+ QPainterPath path;
+ path.addRect(rect);
+ return map(path).boundingRect();
}
}
@@ -1949,8 +1957,11 @@ void QTransform::map(int x, int y, int *tx, int *ty) const
}
/*!
- Returns the QTransform cast to a QMatrix.
- */
+ Returns the QTransform as an affine matrix.
+
+ \warning If a perspective transformation has been specified,
+ then the conversion will cause loss of data.
+*/
const QMatrix &QTransform::toAffine() const
{
return affine;
@@ -2028,8 +2039,9 @@ QTransform::operator QVariant() const
/*!
\fn qreal QTransform::det() const
+ \obsolete
- Returns the matrix's determinant.
+ Returns the matrix's determinant. Use determinant() instead.
*/
diff --git a/src/gui/painting/qtransform.h b/src/gui/painting/qtransform.h
index 291d35c..69d4de2 100644
--- a/src/gui/painting/qtransform.h
+++ b/src/gui/painting/qtransform.h
@@ -50,6 +50,10 @@
#include <QtCore/qpoint.h>
#include <QtCore/qrect.h>
+#if defined(Q_OS_VXWORKS) && defined(m_type)
+# undef m_type
+#endif
+
QT_BEGIN_HEADER
QT_BEGIN_NAMESPACE
diff --git a/src/gui/painting/qvectorpath_p.h b/src/gui/painting/qvectorpath_p.h
index e3cb333..df49500 100644
--- a/src/gui/painting/qvectorpath_p.h
+++ b/src/gui/painting/qvectorpath_p.h
@@ -130,6 +130,8 @@ public:
static inline uint polygonFlags(QPaintEngine::PolygonDrawMode mode);
+ QPainterPath convertToPainterPath() const;
+
private:
Q_DISABLE_COPY(QVectorPath)
diff --git a/src/gui/painting/qwindowsurface_qws.cpp b/src/gui/painting/qwindowsurface_qws.cpp
index 639bc92..d5a5c20 100644
--- a/src/gui/painting/qwindowsurface_qws.cpp
+++ b/src/gui/painting/qwindowsurface_qws.cpp
@@ -421,7 +421,8 @@ QWSWindowSurface::QWSWindowSurface(QWidget *widget)
QWSWindowSurface::~QWSWindowSurface()
{
#ifdef Q_BACKINGSTORE_SUBSURFACES
- winIdToSurfaceMap()->remove(winId());
+ if (d_ptr->winId)
+ winIdToSurfaceMap()->remove(d_ptr->winId);
#endif
delete d_ptr;
diff --git a/src/gui/painting/qwindowsurface_raster.cpp b/src/gui/painting/qwindowsurface_raster.cpp
index fadf6a6..863237b 100644
--- a/src/gui/painting/qwindowsurface_raster.cpp
+++ b/src/gui/painting/qwindowsurface_raster.cpp
@@ -43,6 +43,7 @@
#include <qglobal.h> // for Q_WS_WIN define (non-PCH)
#ifdef Q_WS_WIN
+#include <qlibrary.h>
#include <qt_windows.h>
#endif
@@ -67,10 +68,6 @@
QT_BEGIN_NAMESPACE
-#ifdef Q_WS_WIN
-PtrUpdateLayeredWindowIndirect ptrUpdateLayeredWindowIndirect;
-#endif
-
class QRasterWindowSurfacePrivate
{
public:
@@ -82,9 +79,6 @@ public:
uint translucentBackground : 1;
#endif
#endif
-#if defined(Q_WS_WIN) && !defined(Q_WS_WINCE)
- uint canUseLayeredWindow : 1;
-#endif
uint inSetGeometry : 1;
};
@@ -98,10 +92,6 @@ QRasterWindowSurface::QRasterWindowSurface(QWidget *window)
&& window->x11Info().depth() == 32;
#endif
#endif
-#if defined(Q_WS_WIN) && !defined(Q_WS_WINCE)
- d_ptr->canUseLayeredWindow = ptrUpdateLayeredWindowIndirect
- && (qt_widget_private(window)->data.window_flags & Qt::FramelessWindowHint);
-#endif
d_ptr->image = 0;
d_ptr->inSetGeometry = false;
setStaticContentsSupport(true);
@@ -126,10 +116,9 @@ QPaintDevice *QRasterWindowSurface::paintDevice()
void QRasterWindowSurface::beginPaint(const QRegion &rgn)
{
#if (defined(Q_WS_X11) && !defined(QT_NO_XRENDER)) || (defined(Q_WS_WIN) && !defined(Q_WS_WINCE))
- if (!qt_widget_private(window())->isOpaque) {
+ if (!qt_widget_private(window())->isOpaque && window()->testAttribute(Qt::WA_TranslucentBackground)) {
#if defined(Q_WS_WIN) && !defined(Q_WS_WINCE)
- if (d_ptr->image->image.format() != QImage::Format_ARGB32_Premultiplied
- && d_ptr->canUseLayeredWindow)
+ if (d_ptr->image->image.format() != QImage::Format_ARGB32_Premultiplied)
prepareBuffer(QImage::Format_ARGB32_Premultiplied, window());
#endif
QPainter p(&d_ptr->image->image);
@@ -158,7 +147,7 @@ void QRasterWindowSurface::flush(QWidget *widget, const QRegion &rgn, const QPoi
QRect br = rgn.boundingRect();
#ifndef Q_WS_WINCE
- if (!qt_widget_private(window())->isOpaque && d->canUseLayeredWindow) {
+ if (!qt_widget_private(window())->isOpaque && window()->testAttribute(Qt::WA_TranslucentBackground)) {
QRect r = window()->frameGeometry();
QPoint frameOffset = qt_widget_private(window())->frameStrut().topLeft();
QRect dirtyRect = br.translated(offset + frameOffset);
@@ -166,12 +155,11 @@ void QRasterWindowSurface::flush(QWidget *widget, const QRegion &rgn, const QPoi
SIZE size = {r.width(), r.height()};
POINT ptDst = {r.x(), r.y()};
POINT ptSrc = {0, 0};
- Q_BLENDFUNCTION blend = {AC_SRC_OVER, 0, (int)(255.0 * window()->windowOpacity()), Q_AC_SRC_ALPHA};
+ BLENDFUNCTION blend = {AC_SRC_OVER, 0, (int)(255.0 * window()->windowOpacity()), Q_AC_SRC_ALPHA};
RECT dirty = {dirtyRect.x(), dirtyRect.y(),
dirtyRect.x() + dirtyRect.width(), dirtyRect.y() + dirtyRect.height()};
Q_UPDATELAYEREDWINDOWINFO info = {sizeof(info), NULL, &ptDst, &size, d->image->hdc, &ptSrc, 0, &blend, Q_ULW_ALPHA, &dirty};
-
- (*ptrUpdateLayeredWindowIndirect)(window()->internalWinId(), &info);
+ ptrUpdateLayeredWindowIndirect(window()->internalWinId(), &info);
} else
#endif
{
@@ -312,7 +300,7 @@ void QRasterWindowSurface::setGeometry(const QRect &rect)
#ifndef Q_WS_WIN
if (d_ptr->translucentBackground)
#else
- if (!qt_widget_private(window())->isOpaque && d->canUseLayeredWindow)
+ if (!qt_widget_private(window())->isOpaque)
#endif
prepareBuffer(QImage::Format_ARGB32_Premultiplied, window());
else
diff --git a/src/gui/painting/qwindowsurface_raster_p.h b/src/gui/painting/qwindowsurface_raster_p.h
index 1b09914..b3256b3 100644
--- a/src/gui/painting/qwindowsurface_raster_p.h
+++ b/src/gui/painting/qwindowsurface_raster_p.h
@@ -64,13 +64,6 @@ QT_BEGIN_NAMESPACE
#define Q_ULW_ALPHA 0x00000002 // copied from ULW_ALPHA in winuser.h
#define Q_AC_SRC_ALPHA 0x00000001 // copied from AC_SRC_ALPHA in winuser.h
-struct Q_BLENDFUNCTION {
- BYTE BlendOp;
- BYTE BlendFlags;
- BYTE SourceConstantAlpha;
- BYTE AlphaFormat;
-};
-
struct Q_UPDATELAYEREDWINDOWINFO {
DWORD cbSize;
HDC hdcDst;
@@ -79,12 +72,16 @@ struct Q_UPDATELAYEREDWINDOWINFO {
HDC hdcSrc;
const POINT *pptSrc;
COLORREF crKey;
- const Q_BLENDFUNCTION *pblend;
+ const BLENDFUNCTION *pblend;
DWORD dwFlags;
const RECT *prcDirty;
};
+typedef BOOL (WINAPI *PtrUpdateLayeredWindow)(HWND hwnd, HDC hdcDst, const POINT *pptDst,
+ const SIZE *psize, HDC hdcSrc, const POINT *pptSrc, COLORREF crKey,
+ const BLENDFUNCTION *pblend, DWORD dwflags);
typedef BOOL (WINAPI *PtrUpdateLayeredWindowIndirect)(HWND hwnd, const Q_UPDATELAYEREDWINDOWINFO *pULWInfo);
+extern PtrUpdateLayeredWindow ptrUpdateLayeredWindow;
extern PtrUpdateLayeredWindowIndirect ptrUpdateLayeredWindowIndirect;
#endif
@@ -111,7 +108,7 @@ public:
private:
void prepareBuffer(QImage::Format format, QWidget *widget);
- Q_DECLARE_SCOPED_PRIVATE(QRasterWindowSurface)
+ Q_DECLARE_PRIVATE(QRasterWindowSurface)
QScopedPointer<QRasterWindowSurfacePrivate> d_ptr;
};
diff --git a/src/gui/painting/qwindowsurface_s60.cpp b/src/gui/painting/qwindowsurface_s60.cpp
index fd2c4c4..d13dc87 100644
--- a/src/gui/painting/qwindowsurface_s60.cpp
+++ b/src/gui/painting/qwindowsurface_s60.cpp
@@ -1,9 +1,9 @@
/****************************************************************************
**
-** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
-** This file is part of the $MODULE$ of the Qt Toolkit.
+** This file is part of the QtGui of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/src/gui/painting/qwindowsurface_s60_p.h b/src/gui/painting/qwindowsurface_s60_p.h
index 6a31ced..54b2035 100644
--- a/src/gui/painting/qwindowsurface_s60_p.h
+++ b/src/gui/painting/qwindowsurface_s60_p.h
@@ -1,9 +1,9 @@
/****************************************************************************
**
-** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
-** This file is part of the $MODULE$ of the Qt Toolkit.
+** This file is part of the QtGui of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/src/gui/painting/qwindowsurface_x11.cpp b/src/gui/painting/qwindowsurface_x11.cpp
index d8b0d9e..95f6ce3 100644
--- a/src/gui/painting/qwindowsurface_x11.cpp
+++ b/src/gui/painting/qwindowsurface_x11.cpp
@@ -154,7 +154,7 @@ void QX11WindowSurface::setGeometry(const QRect &rect)
QX11PixmapData *oldData = static_cast<QX11PixmapData *>(d_ptr->device.pixmapData());
Q_ASSERT(oldData);
- if (!oldData->uninit && hasStaticContents()) {
+ if (!(oldData->flags & QX11PixmapData::Uninitialized) && hasStaticContents()) {
// Copy the content of the old pixmap into the new one.
QX11PixmapData *newData = new QX11PixmapData(QPixmapData::PixmapType);
newData->resize(size.width(), size.height());
@@ -175,7 +175,7 @@ void QX11WindowSurface::setGeometry(const QRect &rect)
dx, dy, qMin(boundingRect.width(), size.width()),
qMin(boundingRect.height(), size.height()), dx, dy);
XFreeGC(X11->display, tmpGc);
- newData->uninit = false;
+ newData->flags &= ~QX11PixmapData::Uninitialized;
d_ptr->device = QPixmap(newData);
} else {
diff --git a/src/gui/statemachine/qbasickeyeventtransition_p.h b/src/gui/statemachine/qbasickeyeventtransition_p.h
index 038c7d1..1d507b3 100644
--- a/src/gui/statemachine/qbasickeyeventtransition_p.h
+++ b/src/gui/statemachine/qbasickeyeventtransition_p.h
@@ -88,7 +88,7 @@ protected:
private:
Q_DISABLE_COPY(QBasicKeyEventTransition)
- Q_DECLARE_SCOPED_PRIVATE(QBasicKeyEventTransition)
+ Q_DECLARE_PRIVATE(QBasicKeyEventTransition)
};
QT_END_NAMESPACE
diff --git a/src/gui/statemachine/qbasicmouseeventtransition_p.h b/src/gui/statemachine/qbasicmouseeventtransition_p.h
index eb0dc0f..8ca6118 100644
--- a/src/gui/statemachine/qbasicmouseeventtransition_p.h
+++ b/src/gui/statemachine/qbasicmouseeventtransition_p.h
@@ -91,7 +91,7 @@ protected:
private:
Q_DISABLE_COPY(QBasicMouseEventTransition)
- Q_DECLARE_SCOPED_PRIVATE(QBasicMouseEventTransition)
+ Q_DECLARE_PRIVATE(QBasicMouseEventTransition)
};
QT_END_NAMESPACE
diff --git a/src/gui/statemachine/qkeyeventtransition.cpp b/src/gui/statemachine/qkeyeventtransition.cpp
index 51b3ccc..21a0736 100644
--- a/src/gui/statemachine/qkeyeventtransition.cpp
+++ b/src/gui/statemachine/qkeyeventtransition.cpp
@@ -106,19 +106,6 @@ QKeyEventTransition::QKeyEventTransition(QObject *object, QEvent::Type type,
}
/*!
- Constructs a new key event transition for events of the given \a type for
- the given \a object, with the given \a key, \a targets and \a sourceState.
-*/
-QKeyEventTransition::QKeyEventTransition(QObject *object, QEvent::Type type,
- int key, const QList<QAbstractState*> &targets,
- QState *sourceState)
- : QEventTransition(*new QKeyEventTransitionPrivate, object, type, targets, sourceState)
-{
- Q_D(QKeyEventTransition);
- d->transition = new QBasicKeyEventTransition(type, key);
-}
-
-/*!
Destroys this key event transition.
*/
QKeyEventTransition::~QKeyEventTransition()
diff --git a/src/gui/statemachine/qkeyeventtransition.h b/src/gui/statemachine/qkeyeventtransition.h
index aeae620..45ae684 100644
--- a/src/gui/statemachine/qkeyeventtransition.h
+++ b/src/gui/statemachine/qkeyeventtransition.h
@@ -62,9 +62,6 @@ public:
QKeyEventTransition(QState *sourceState = 0);
QKeyEventTransition(QObject *object, QEvent::Type type, int key,
QState *sourceState = 0);
- QKeyEventTransition(QObject *object, QEvent::Type type, int key,
- const QList<QAbstractState*> &targets,
- QState *sourceState = 0);
~QKeyEventTransition();
int key() const;
@@ -79,7 +76,7 @@ protected:
private:
Q_DISABLE_COPY(QKeyEventTransition)
- Q_DECLARE_SCOPED_PRIVATE(QKeyEventTransition)
+ Q_DECLARE_PRIVATE(QKeyEventTransition)
};
#endif //QT_NO_STATEMACHINE
diff --git a/src/gui/statemachine/qmouseeventtransition.cpp b/src/gui/statemachine/qmouseeventtransition.cpp
index 0cd096a..dbe50b3 100644
--- a/src/gui/statemachine/qmouseeventtransition.cpp
+++ b/src/gui/statemachine/qmouseeventtransition.cpp
@@ -112,21 +112,6 @@ QMouseEventTransition::QMouseEventTransition(QObject *object, QEvent::Type type,
}
/*!
- Constructs a new mouse event transition for events of the given \a type for
- the given \a object, with the given \a button, \a targets and \a
- sourceState.
-*/
-QMouseEventTransition::QMouseEventTransition(QObject *object, QEvent::Type type,
- Qt::MouseButton button,
- const QList<QAbstractState*> &targets,
- QState *sourceState)
- : QEventTransition(*new QMouseEventTransitionPrivate, object, type, targets, sourceState)
-{
- Q_D(QMouseEventTransition);
- d->transition = new QBasicMouseEventTransition(type, button);
-}
-
-/*!
Destroys this mouse event transition.
*/
QMouseEventTransition::~QMouseEventTransition()
diff --git a/src/gui/statemachine/qmouseeventtransition.h b/src/gui/statemachine/qmouseeventtransition.h
index 5f2d57b..a56a554 100644
--- a/src/gui/statemachine/qmouseeventtransition.h
+++ b/src/gui/statemachine/qmouseeventtransition.h
@@ -63,10 +63,6 @@ public:
QMouseEventTransition(QState *sourceState = 0);
QMouseEventTransition(QObject *object, QEvent::Type type,
Qt::MouseButton button, QState *sourceState = 0);
- QMouseEventTransition(QObject *object, QEvent::Type type,
- Qt::MouseButton button,
- const QList<QAbstractState*> &targets,
- QState *sourceState = 0);
~QMouseEventTransition();
Qt::MouseButton button() const;
@@ -84,7 +80,7 @@ protected:
private:
Q_DISABLE_COPY(QMouseEventTransition)
- Q_DECLARE_SCOPED_PRIVATE(QMouseEventTransition)
+ Q_DECLARE_PRIVATE(QMouseEventTransition)
};
#endif //QT_NO_STATEMACHINE
diff --git a/src/gui/styles/gtksymbols.cpp b/src/gui/styles/gtksymbols.cpp
index f553d27..f947ac1 100644
--- a/src/gui/styles/gtksymbols.cpp
+++ b/src/gui/styles/gtksymbols.cpp
@@ -68,6 +68,7 @@
#include <QtGui/QStatusBar>
#include <QtGui/QMenuBar>
#include <QtGui/QToolBar>
+#include <QtGui/QToolButton>
#include <QtGui/QX11Info>
#include <X11/Xlib.h>
@@ -166,6 +167,7 @@ Ptr_gtk_file_filter_set_name QGtk::gtk_file_filter_set_name = 0;
Ptr_gtk_file_filter_add_pattern QGtk::gtk_file_filter_add_pattern = 0;
Ptr_gtk_file_chooser_add_filter QGtk::gtk_file_chooser_add_filter = 0;
Ptr_gtk_file_chooser_set_filter QGtk::gtk_file_chooser_set_filter = 0;
+Ptr_gtk_file_chooser_get_filter QGtk::gtk_file_chooser_get_filter = 0;
Ptr_gtk_file_chooser_dialog_new QGtk::gtk_file_chooser_dialog_new = 0;
Ptr_gtk_file_chooser_set_current_folder QGtk::gtk_file_chooser_set_current_folder = 0;
Ptr_gtk_file_chooser_get_filename QGtk::gtk_file_chooser_get_filename = 0;
@@ -220,6 +222,7 @@ static void resolveGtk()
QGtk::gtk_file_filter_add_pattern = (Ptr_gtk_file_filter_add_pattern)libgtk.resolve("gtk_file_filter_add_pattern");
QGtk::gtk_file_chooser_add_filter = (Ptr_gtk_file_chooser_add_filter)libgtk.resolve("gtk_file_chooser_add_filter");
QGtk::gtk_file_chooser_set_filter = (Ptr_gtk_file_chooser_set_filter)libgtk.resolve("gtk_file_chooser_set_filter");
+ QGtk::gtk_file_chooser_get_filter = (Ptr_gtk_file_chooser_get_filter)libgtk.resolve("gtk_file_chooser_get_filter");
QGtk::gtk_file_chooser_dialog_new = (Ptr_gtk_file_chooser_dialog_new)libgtk.resolve("gtk_file_chooser_dialog_new");
QGtk::gtk_file_chooser_set_current_folder = (Ptr_gtk_file_chooser_set_current_folder)libgtk.resolve("gtk_file_chooser_set_current_folder");
QGtk::gtk_file_chooser_get_filename = (Ptr_gtk_file_chooser_get_filename)libgtk.resolve("gtk_file_chooser_get_filename");
@@ -633,6 +636,20 @@ GtkStyle* QGtk::gtkStyle(const QString &path)
return 0;
}
+static void update_toolbar_style(GtkWidget *gtkToolBar, GParamSpec *pspec, gpointer user_data)
+{
+ GtkToolbarStyle toolbar_style = GTK_TOOLBAR_ICONS;
+ g_object_get(gtkToolBar, "toolbar-style", &toolbar_style, NULL);
+ QWidgetList widgets = QApplication::allWidgets();
+ for (int i = 0; i < widgets.size(); ++i) {
+ QWidget *widget = widgets.at(i);
+ if (qobject_cast<QToolButton*>(widget)) {
+ QEvent event(QEvent::StyleChange);
+ QApplication::sendEvent(widget, &event);
+ }
+ }
+}
+
void QGtk::initGtkWidgets()
{
// From gtkmain.c
@@ -679,6 +696,7 @@ void QGtk::initGtkWidgets()
add_widget(QGtk::gtk_spin_button_new((GtkAdjustment*)
(QGtk::gtk_adjustment_new(1, 0, 1, 0, 0, 0)), 0.1, 3));
GtkWidget *toolbar = QGtk::gtk_toolbar_new();
+ g_signal_connect (toolbar, "notify::toolbar-style", G_CALLBACK (update_toolbar_style), toolbar);
QGtk::gtk_toolbar_insert((GtkToolbar*)toolbar, QGtk::gtk_separator_tool_item_new(), -1);
add_widget(toolbar);
init_gtk_treeview();
@@ -720,7 +738,8 @@ extern QStringList qt_make_filter_list(const QString &filter);
static void setupGtkFileChooser(GtkWidget* gtkFileChooser, QWidget *parent,
const QString &dir, const QString &filter, QString *selectedFilter,
- QFileDialog::Options options, bool isSaveDialog = false)
+ QFileDialog::Options options, bool isSaveDialog = false,
+ QMap<GtkFileFilter *, QString> *filterMap = 0)
{
g_object_set(gtkFileChooser, "do-overwrite-confirmation", gboolean(!(options & QFileDialog::DontConfirmOverwrite)), NULL);
g_object_set(gtkFileChooser, "local_only", gboolean(true), NULL);
@@ -733,8 +752,27 @@ static void setupGtkFileChooser(GtkWidget* gtkFileChooser, QWidget *parent,
QGtk::gtk_file_filter_set_name(gtkFilter, qPrintable(name.isEmpty() ? extensions.join(QLS(", ")) : name));
foreach (const QString &fileExtension, extensions) {
- QGtk::gtk_file_filter_add_pattern (gtkFilter, qPrintable(fileExtension));
+ // Note Gtk file dialogs are by default case sensitive
+ // and only supports basic glob syntax so we
+ // rewrite .xyz to .[xX][yY][zZ]
+ QString caseInsensitive;
+ for (int i = 0 ; i < fileExtension.length() ; ++i) {
+ QChar ch = fileExtension.at(i);
+ if (ch.isLetter()) {
+ caseInsensitive.append(
+ QLatin1Char('[') +
+ ch.toLower() +
+ ch.toUpper() +
+ QLatin1Char(']'));
+ } else {
+ caseInsensitive.append(ch);
+ }
+ }
+ QGtk::gtk_file_filter_add_pattern (gtkFilter, qPrintable(caseInsensitive));
+
}
+ if (filterMap)
+ filterMap->insert(gtkFilter, rawfilter);
QGtk::gtk_file_chooser_add_filter((GtkFileChooser*)gtkFileChooser, gtkFilter);
if (selectedFilter && (rawfilter == *selectedFilter))
QGtk::gtk_file_chooser_set_filter((GtkFileChooser*)gtkFileChooser, gtkFilter);
@@ -771,7 +809,7 @@ static void setupGtkFileChooser(GtkWidget* gtkFileChooser, QWidget *parent,
QString QGtk::openFilename(QWidget *parent, const QString &caption, const QString &dir, const QString &filter,
QString *selectedFilter, QFileDialog::Options options)
{
-
+ QMap<GtkFileFilter *, QString> filterMap;
GtkWidget *gtkFileChooser = QGtk::gtk_file_chooser_dialog_new (qPrintable(caption),
NULL,
GTK_FILE_CHOOSER_ACTION_OPEN,
@@ -779,7 +817,7 @@ QString QGtk::openFilename(QWidget *parent, const QString &caption, const QStrin
GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT,
NULL);
- setupGtkFileChooser(gtkFileChooser, parent, dir, filter, selectedFilter, options);
+ setupGtkFileChooser(gtkFileChooser, parent, dir, filter, selectedFilter, options, false, &filterMap);
QWidget modal_widget;
modal_widget.setAttribute(Qt::WA_NoChildEventsForParent, true);
@@ -791,6 +829,10 @@ QString QGtk::openFilename(QWidget *parent, const QString &caption, const QStrin
char *gtk_filename = QGtk::gtk_file_chooser_get_filename ((GtkFileChooser*)gtkFileChooser);
filename = QString::fromUtf8(gtk_filename);
g_free (gtk_filename);
+ if (selectedFilter) {
+ GtkFileFilter *gtkFilter = QGtk::gtk_file_chooser_get_filter ((GtkFileChooser*)gtkFileChooser);
+ *selectedFilter = filterMap.value(gtkFilter);
+ }
}
QApplicationPrivate::leaveModal(&modal_widget);
@@ -801,6 +843,7 @@ QString QGtk::openFilename(QWidget *parent, const QString &caption, const QStrin
QString QGtk::openDirectory(QWidget *parent, const QString &caption, const QString &dir, QFileDialog::Options options)
{
+ QMap<GtkFileFilter *, QString> filterMap;
GtkWidget *gtkFileChooser = QGtk::gtk_file_chooser_dialog_new (qPrintable(caption),
NULL,
GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER,
@@ -830,6 +873,7 @@ QStringList QGtk::openFilenames(QWidget *parent, const QString &caption, const Q
QString *selectedFilter, QFileDialog::Options options)
{
QStringList filenames;
+ QMap<GtkFileFilter *, QString> filterMap;
GtkWidget *gtkFileChooser = QGtk::gtk_file_chooser_dialog_new (qPrintable(caption),
NULL,
GTK_FILE_CHOOSER_ACTION_OPEN,
@@ -837,7 +881,7 @@ QStringList QGtk::openFilenames(QWidget *parent, const QString &caption, const Q
GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT,
NULL);
- setupGtkFileChooser(gtkFileChooser, parent, dir, filter, selectedFilter, options);
+ setupGtkFileChooser(gtkFileChooser, parent, dir, filter, selectedFilter, options, false, &filterMap);
g_object_set(gtkFileChooser, "select-multiple", gboolean(true), NULL);
QWidget modal_widget;
@@ -850,6 +894,10 @@ QStringList QGtk::openFilenames(QWidget *parent, const QString &caption, const Q
for (GSList *iterator = gtk_file_names ; iterator; iterator = iterator->next)
filenames << QString::fromUtf8((const char*)iterator->data);
g_slist_free(gtk_file_names);
+ if (selectedFilter) {
+ GtkFileFilter *gtkFilter = QGtk::gtk_file_chooser_get_filter ((GtkFileChooser*)gtkFileChooser);
+ *selectedFilter = filterMap.value(gtkFilter);
+ }
}
QApplicationPrivate::leaveModal(&modal_widget);
@@ -860,13 +908,14 @@ QStringList QGtk::openFilenames(QWidget *parent, const QString &caption, const Q
QString QGtk::saveFilename(QWidget *parent, const QString &caption, const QString &dir, const QString &filter,
QString *selectedFilter, QFileDialog::Options options)
{
+ QMap<GtkFileFilter *, QString> filterMap;
GtkWidget *gtkFileChooser = QGtk::gtk_file_chooser_dialog_new (qPrintable(caption),
NULL,
GTK_FILE_CHOOSER_ACTION_SAVE,
GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
GTK_STOCK_SAVE, GTK_RESPONSE_ACCEPT,
NULL);
- setupGtkFileChooser(gtkFileChooser, parent, dir, filter, selectedFilter, options, true);
+ setupGtkFileChooser(gtkFileChooser, parent, dir, filter, selectedFilter, options, true, &filterMap);
QWidget modal_widget;
modal_widget.setAttribute(Qt::WA_NoChildEventsForParent, true);
@@ -878,6 +927,10 @@ QString QGtk::saveFilename(QWidget *parent, const QString &caption, const QStrin
char *gtk_filename = QGtk::gtk_file_chooser_get_filename ((GtkFileChooser*)gtkFileChooser);
filename = QString::fromUtf8(gtk_filename);
g_free (gtk_filename);
+ if (selectedFilter) {
+ GtkFileFilter *gtkFilter = QGtk::gtk_file_chooser_get_filter ((GtkFileChooser*)gtkFileChooser);
+ *selectedFilter = filterMap.value(gtkFilter);
+ }
}
QApplicationPrivate::leaveModal(&modal_widget);
diff --git a/src/gui/styles/gtksymbols_p.h b/src/gui/styles/gtksymbols_p.h
index b0195d2..18c6dc5 100644
--- a/src/gui/styles/gtksymbols_p.h
+++ b/src/gui/styles/gtksymbols_p.h
@@ -162,6 +162,7 @@ typedef void (*Ptr_gtk_file_filter_set_name)(GtkFileFilter *, const gchar *);
typedef void (*Ptr_gtk_file_filter_add_pattern)(GtkFileFilter *filter, const gchar *pattern);
typedef void (*Ptr_gtk_file_chooser_add_filter)(GtkFileChooser *chooser, GtkFileFilter *filter);
typedef void (*Ptr_gtk_file_chooser_set_filter)(GtkFileChooser *chooser, GtkFileFilter *filter);
+typedef GtkFileFilter* (*Ptr_gtk_file_chooser_get_filter)(GtkFileChooser *chooser);
typedef gchar* (*Ptr_gtk_file_chooser_get_filename)(GtkFileChooser *chooser);
typedef GSList* (*Ptr_gtk_file_chooser_get_filenames)(GtkFileChooser *chooser);
typedef GtkWidget* (*Ptr_gtk_file_chooser_dialog_new)(const gchar *title,
@@ -302,6 +303,7 @@ public:
static Ptr_gtk_file_filter_add_pattern gtk_file_filter_add_pattern;
static Ptr_gtk_file_chooser_add_filter gtk_file_chooser_add_filter;
static Ptr_gtk_file_chooser_set_filter gtk_file_chooser_set_filter;
+ static Ptr_gtk_file_chooser_get_filter gtk_file_chooser_get_filter;
static Ptr_gtk_file_chooser_dialog_new gtk_file_chooser_dialog_new;
static Ptr_gtk_file_chooser_set_current_folder gtk_file_chooser_set_current_folder;
static Ptr_gtk_file_chooser_get_filename gtk_file_chooser_get_filename;
diff --git a/src/gui/styles/qcleanlooksstyle.cpp b/src/gui/styles/qcleanlooksstyle.cpp
index 3855ba7..8f88781 100644
--- a/src/gui/styles/qcleanlooksstyle.cpp
+++ b/src/gui/styles/qcleanlooksstyle.cpp
@@ -1745,10 +1745,9 @@ void QCleanlooksStyle::drawControl(ControlElement element, const QStyleOption *o
int maxWidth = rect.width() - 4;
int minWidth = 4;
- qint64 progress = (qint64)qMax(bar->progress, bar->minimum); // workaround for bug in QProgressBar
- double vc6_workaround = ((progress - qint64(bar->minimum)) / qMax(double(1.0), double(qint64(bar->maximum) - qint64(bar->minimum))) * maxWidth);
- int progressBarWidth = (int(vc6_workaround) > minWidth ) ? int(vc6_workaround) : minWidth;
- int width = indeterminate ? maxWidth : progressBarWidth;
+ qreal progress = qMax(bar->progress, bar->minimum); // workaround for bug in QProgressBar
+ int progressBarWidth = (progress - bar->minimum) * qreal(maxWidth) / qMax(qreal(1.0), qreal(bar->maximum) - bar->minimum);
+ int width = indeterminate ? maxWidth : qMax(minWidth, progressBarWidth);
bool reverse = (!vertical && (bar->direction == Qt::RightToLeft)) || vertical;
if (inverted)
@@ -2042,6 +2041,12 @@ void QCleanlooksStyle::drawControl(ControlElement element, const QStyleOption *o
s = s.left(t);
}
QFont font = menuitem->font;
+ // font may not have any "hard" flags set. We override
+ // the point size so that when it is resolved against the device, this font will win.
+ // This is mainly to handle cases where someone sets the font on the window
+ // and then the combo inherits it and passes it onward. At that point the resolve mask
+ // is very, very weak. This makes it stonger.
+ font.setPointSizeF(menuItem->font.pointSizeF());
if (menuitem->menuItemType == QStyleOptionMenuItem::DefaultItem)
font.setBold(true);
diff --git a/src/gui/styles/qcleanlooksstyle.h b/src/gui/styles/qcleanlooksstyle.h
index 834f238..ebfb707 100644
--- a/src/gui/styles/qcleanlooksstyle.h
+++ b/src/gui/styles/qcleanlooksstyle.h
@@ -56,7 +56,7 @@ class QCleanlooksStylePrivate;
class Q_GUI_EXPORT QCleanlooksStyle : public QWindowsStyle
{
Q_OBJECT
- Q_DECLARE_SCOPED_PRIVATE(QCleanlooksStyle)
+ Q_DECLARE_PRIVATE(QCleanlooksStyle)
public:
QCleanlooksStyle();
diff --git a/src/gui/styles/qcommonstyle.cpp b/src/gui/styles/qcommonstyle.cpp
index ba23499..bfcb7c9 100644
--- a/src/gui/styles/qcommonstyle.cpp
+++ b/src/gui/styles/qcommonstyle.cpp
@@ -84,6 +84,8 @@
#ifdef Q_WS_X11
# include <private/qt_x11_p.h>
+#elif defined(Q_WS_MAC)
+# include <private/qt_cocoa_helpers_mac_p.h>
#endif
QT_BEGIN_NAMESPACE
@@ -840,6 +842,11 @@ static void drawArrow(const QStyle *style, const QStyleOptionToolButton *toolbut
#ifdef Q_WS_X11 // These functions are used to parse the X11 freedesktop icon spec
+static int kdeVersion()
+{
+ static int kdeVersion = qgetenv("KDE_SESSION_VERSION").toInt();
+ return kdeVersion;
+}
void QCommonStylePrivate::lookupIconTheme() const
{
@@ -858,8 +865,7 @@ void QCommonStylePrivate::lookupIconTheme() const
QFileInfo fileInfo(QLatin1String("/usr/share/icons/default.kde"));
QDir dir(fileInfo.canonicalFilePath());
- int kdeVersion = qgetenv("KDE_SESSION_VERSION").toInt();
- QString kdeDefault = kdeVersion >= 4 ? QString::fromLatin1("oxygen") : QString::fromLatin1("crystalsvg");
+ QString kdeDefault = kdeVersion() >= 4 ? QString::fromLatin1("oxygen") : QString::fromLatin1("crystalsvg");
QString defaultTheme = fileInfo.exists() ? dir.dirName() : kdeDefault;
QSettings settings(QApplicationPrivate::kdeHome() +
QLatin1String("/share/config/kdeglobals"), QSettings::IniFormat);
@@ -997,6 +1003,29 @@ QIcon QCommonStylePrivate::createIcon(const QString &name) const
icon.addPixmap(findIcon(32, name));
return icon;
}
+/*!internal
+
+Checks if you are running KDE and looks up the toolbar
+from the KDE configuration file
+
+*/
+int QCommonStylePrivate::lookupToolButtonStyle() const
+{
+ int result = Qt::ToolButtonIconOnly;
+ if (kdeVersion() >= 4) {
+ QSettings settings(QApplicationPrivate::kdeHome() +
+ QLatin1String("/share/config/kdeglobals"), QSettings::IniFormat);
+ settings.beginGroup(QLatin1String("Toolbar style"));
+ QString toolbarStyle = settings.value(QLatin1String("ToolButtonStyle"), QLatin1String("TextBesideIcon")).toString();
+ if (toolbarStyle == QLatin1String("TextBesideIcon"))
+ result = Qt::ToolButtonTextBesideIcon;
+ else if (toolbarStyle == QLatin1String("TextOnly"))
+ result = Qt::ToolButtonTextOnly;
+ else if (toolbarStyle == QLatin1String("TextUnderIcon"))
+ result = Qt::ToolButtonTextUnderIcon;
+ }
+ return result;
+}
#endif //Q_WS_X11
@@ -1155,8 +1184,14 @@ void QCommonStylePrivate::viewItemDrawText(QPainter *p, const QStyleOptionViewIt
}
}
-/* Set sizehint to false to layout the elements inside opt->rect. Set sizehint to true to ignore
- opt->rect and return rectangles in infinite space */
+/*! \internal
+ compute the position for the different component of an item (pixmap, text, checkbox)
+
+ Set sizehint to false to layout the elements inside opt->rect. Set sizehint to true to ignore
+ opt->rect and return rectangles in infinite space
+
+ Code duplicated in QItemDelegate::doLayout
+*/
void QCommonStylePrivate::viewItemLayout(const QStyleOptionViewItemV4 *opt, QRect *checkRect,
QRect *pixmapRect, QRect *textRect, bool sizehint) const
{
@@ -1177,8 +1212,10 @@ void QCommonStylePrivate::viewItemLayout(const QStyleOptionViewItemV4 *opt, QRe
int y = opt->rect.top();
int w, h;
- if (textRect->height() == 0 && !hasPixmap)
+ if (textRect->height() == 0 && (!hasPixmap || !sizehint)) {
+ //if there is no text, we still want to have a decent height for the item sizeHint and the editor size
textRect->setHeight(opt->fontMetrics.height());
+ }
QSize pm(0, 0);
if (hasPixmap) {
@@ -2923,6 +2960,9 @@ QRect QCommonStyle::subElementRect(SubElement sr, const QStyleOption *opt,
horizontalShift *= -1;
verticalShift *= -1;
}
+ if (tab->shape == QTabBar::RoundedWest || tab->shape == QTabBar::TriangularWest)
+ horizontalShift = -horizontalShift;
+
tr.adjust(0, 0, horizontalShift, verticalShift);
if (selected)
{
@@ -4843,7 +4883,14 @@ int QCommonStyle::pixelMetric(PixelMetric m, const QStyleOption *opt, const QWid
ret = int(QStyleHelper::dpiScaled(13.));
break;
case PM_MessageBoxIconSize:
- ret = int(QStyleHelper::dpiScaled(32.));
+#ifdef Q_WS_MAC
+ if (QApplication::desktopSettingsAware()) {
+ ret = 64; // No DPI scaling, it's handled elsewhere.
+ } else
+#endif
+ {
+ ret = int(QStyleHelper::dpiScaled(32.));
+ }
break;
case PM_TextCursorWidth:
ret = 1;
@@ -5292,6 +5339,16 @@ int QCommonStyle::styleHint(StyleHint sh, const QStyleOption *opt, const QWidget
case SH_DockWidget_ButtonsHaveFrame:
ret = true;
break;
+ case SH_ToolButtonStyle:
+ ret = Qt::ToolButtonIconOnly;
+#ifdef Q_WS_X11
+ {
+ Q_D(const QCommonStyle);
+ static int buttonStyle = d->lookupToolButtonStyle();
+ return buttonStyle;
+ }
+#endif
+ break;
default:
ret = 0;
break;
@@ -5731,9 +5788,9 @@ QIcon QCommonStyle::standardIconImplementation(StandardPixmap standardIcon, cons
const QWidget *widget) const
{
QIcon icon;
-#ifdef Q_WS_X11
- Q_D(const QCommonStyle);
if (QApplication::desktopSettingsAware()) {
+#ifdef Q_WS_X11
+ Q_D(const QCommonStyle);
d->lookupIconTheme();
QPixmap pixmap;
switch (standardIcon) {
@@ -5752,6 +5809,7 @@ QIcon QCommonStyle::standardIconImplementation(StandardPixmap standardIcon, cons
case SP_MessageBoxWarning:
{
icon = d->createIcon(QLatin1String("dialog-warning.png"));
+ icon = d->createIcon(QLatin1String("dialog-warning.png"));
if (icon.isNull())
icon = d->createIcon(QLatin1String("messagebox_warning.png"));
break;
@@ -5977,8 +6035,101 @@ QIcon QCommonStyle::standardIconImplementation(StandardPixmap standardIcon, cons
}
if (!icon.isNull())
return icon;
+#elif defined(Q_WS_MAC)
+ OSType iconType = 0;
+ switch (standardIcon) {
+ case QStyle::SP_MessageBoxQuestion:
+ case QStyle::SP_MessageBoxInformation:
+ case QStyle::SP_MessageBoxWarning:
+ case QStyle::SP_MessageBoxCritical:
+ iconType = kGenericApplicationIcon;
+ break;
+ case SP_DesktopIcon:
+ iconType = kDesktopIcon;
+ break;
+ case SP_TrashIcon:
+ iconType = kTrashIcon;
+ break;
+ case SP_ComputerIcon:
+ iconType = kComputerIcon;
+ break;
+ case SP_DriveFDIcon:
+ iconType = kGenericFloppyIcon;
+ break;
+ case SP_DriveHDIcon:
+ iconType = kGenericHardDiskIcon;
+ break;
+ case SP_DriveCDIcon:
+ case SP_DriveDVDIcon:
+ iconType = kGenericCDROMIcon;
+ break;
+ case SP_DriveNetIcon:
+ iconType = kGenericNetworkIcon;
+ break;
+ case SP_DirOpenIcon:
+ iconType = kOpenFolderIcon;
+ break;
+ case SP_DirClosedIcon:
+ case SP_DirLinkIcon:
+ iconType = kGenericFolderIcon;
+ break;
+ case SP_FileLinkIcon:
+ case SP_FileIcon:
+ iconType = kGenericDocumentIcon;
+ break;
+ case SP_DirIcon: {
+ // A rather special case
+ QIcon closeIcon = QStyle::standardIcon(SP_DirClosedIcon, option, widget);
+ QIcon openIcon = QStyle::standardIcon(SP_DirOpenIcon, option, widget);
+ closeIcon.addPixmap(openIcon.pixmap(16, 16), QIcon::Normal, QIcon::On);
+ closeIcon.addPixmap(openIcon.pixmap(32, 32), QIcon::Normal, QIcon::On);
+ closeIcon.addPixmap(openIcon.pixmap(64, 64), QIcon::Normal, QIcon::On);
+ closeIcon.addPixmap(openIcon.pixmap(128, 128), QIcon::Normal, QIcon::On);
+ return closeIcon;
}
-#endif//Q_WS_X11
+ case SP_TitleBarNormalButton:
+ case SP_TitleBarCloseButton: {
+ QIcon titleBarIcon;
+ if (standardIcon == SP_TitleBarCloseButton) {
+ titleBarIcon.addFile(QLatin1String(":/trolltech/styles/macstyle/images/closedock-16.png"));
+ titleBarIcon.addFile(QLatin1String(":/trolltech/styles/macstyle/images/closedock-down-16.png"), QSize(16, 16), QIcon::Normal, QIcon::On);
+ } else {
+ titleBarIcon.addFile(QLatin1String(":/trolltech/styles/macstyle/images/dockdock-16.png"));
+ titleBarIcon.addFile(QLatin1String(":/trolltech/styles/macstyle/images/dockdock-down-16.png"), QSize(16, 16), QIcon::Normal, QIcon::On);
+ }
+ return titleBarIcon;
+ }
+ default:
+ break;
+ }
+ if (iconType != 0) {
+ QIcon retIcon;
+ IconRef icon;
+ IconRef overlayIcon = 0;
+ if (iconType != kGenericApplicationIcon) {
+ GetIconRef(kOnSystemDisk, kSystemIconsCreator, iconType, &icon);
+ } else {
+ FSRef fsRef;
+ ProcessSerialNumber psn = { 0, kCurrentProcess };
+ GetProcessBundleLocation(&psn, &fsRef);
+ GetIconRefFromFileInfo(&fsRef, 0, 0, 0, 0, kIconServicesNormalUsageFlag, &icon, 0);
+ if (standardIcon == SP_MessageBoxCritical) {
+ overlayIcon = icon;
+ GetIconRef(kOnSystemDisk, kSystemIconsCreator, kAlertCautionIcon, &icon);
+ }
+ }
+ if (icon) {
+ qt_mac_constructQIconFromIconRef(icon, overlayIcon, &retIcon, standardIcon);
+ ReleaseIconRef(icon);
+ }
+ if (overlayIcon)
+ ReleaseIconRef(overlayIcon);
+ return retIcon;
+ }
+
+#endif //Q_WS_X11 || Q_WS_MAC
+ }
+
switch (standardIcon) {
#ifndef QT_NO_IMAGEFORMAT_PNG
diff --git a/src/gui/styles/qcommonstyle.h b/src/gui/styles/qcommonstyle.h
index 1f64fb3..ce54a96 100644
--- a/src/gui/styles/qcommonstyle.h
+++ b/src/gui/styles/qcommonstyle.h
@@ -98,7 +98,7 @@ protected:
QCommonStyle(QCommonStylePrivate &dd);
private:
- Q_DECLARE_SCOPED_PRIVATE(QCommonStyle)
+ Q_DECLARE_PRIVATE(QCommonStyle)
Q_DISABLE_COPY(QCommonStyle)
};
diff --git a/src/gui/styles/qcommonstyle_p.h b/src/gui/styles/qcommonstyle_p.h
index 27ebc05..f2af5b2 100644
--- a/src/gui/styles/qcommonstyle_p.h
+++ b/src/gui/styles/qcommonstyle_p.h
@@ -126,6 +126,7 @@ public:
//icon detection on X11
#ifdef Q_WS_X11
void lookupIconTheme() const;
+ int lookupToolButtonStyle() const;
QIcon createIcon(const QString &) const;
QPixmap findIcon(int size, const QString &) const;
QPixmap findIconHelper(int size, const QString &, const QString &, QStringList &visited) const;
diff --git a/src/gui/styles/qgtkstyle.cpp b/src/gui/styles/qgtkstyle.cpp
index 67586ac..660b4c3 100644
--- a/src/gui/styles/qgtkstyle.cpp
+++ b/src/gui/styles/qgtkstyle.cpp
@@ -70,6 +70,7 @@
#include <qpixmapcache.h>
#undef signals // Collides with GTK stymbols
#include "qgtkpainter_p.h"
+#include "qstylehelper_p.h"
#include <private/qcleanlooksstyle_p.h>
@@ -208,17 +209,6 @@ static GdkColor fromQColor(const QColor &color)
return retval;
}
-// Note this is different from uniqueName as used in QGtkPainter
-static QString uniqueName(const QString &key, const QStyleOption *option, const QSize &size)
-{
- QString tmp;
- const QStyleOptionComplex *complexOption = qstyleoption_cast<const QStyleOptionComplex *>(option);
- tmp.sprintf("%s-%d-%d-%d-%lld-%dx%d", key.toLatin1().constData(), uint(option->state),
- option->direction, complexOption ? uint(complexOption->activeSubControls) : uint(0),
- option->palette.cacheKey(), size.width(), size.height());
- return tmp;
-}
-
/*!
\class QGtkStyle
\brief The QGtkStyle class provides a widget style rendered by GTK+
@@ -609,6 +599,26 @@ int QGtkStyle::styleHint(StyleHint hint, const QStyleOption *option, const QWidg
break;
+ case SH_ToolButtonStyle:
+ {
+ if (QGtk::isKDE4Session())
+ return QCleanlooksStyle::styleHint(hint, option, widget, returnData);
+ GtkWidget *gtkToolbar = QGtk::gtkWidget(QLS("GtkToolbar"));
+ GtkToolbarStyle toolbar_style = GTK_TOOLBAR_ICONS;
+ g_object_get(gtkToolbar, "toolbar-style", &toolbar_style, NULL);
+ switch (toolbar_style) {
+ case GTK_TOOLBAR_TEXT:
+ return Qt::ToolButtonTextOnly;
+ case GTK_TOOLBAR_BOTH:
+ return Qt::ToolButtonTextUnderIcon;
+ case GTK_TOOLBAR_BOTH_HORIZ:
+ return Qt::ToolButtonTextBesideIcon;
+ case GTK_TOOLBAR_ICONS:
+ default:
+ return Qt::ToolButtonIconOnly;
+ }
+ }
+ break;
case SH_SpinControls_DisableOnBounds:
return int(true);
@@ -2065,8 +2075,8 @@ void QGtkStyle::drawControl(ControlElement element,
}
if (vertical)
rect = QRect(rect.left(), rect.top(), rect.height(), rect.width()); // flip width and height
- const int progressIndicatorPos = static_cast<int>((bar->progress - qint64(bar->minimum)) /
- qMax(double(1.0), double(qint64(bar->maximum) - qint64(bar->minimum))) * rect.width());
+ const int progressIndicatorPos = (bar->progress - qreal(bar->minimum)) * rect.width() /
+ qMax(qreal(1.0), qreal(bar->maximum) - bar->minimum);
if (progressIndicatorPos >= 0 && progressIndicatorPos <= rect.width())
leftRect = QRect(rect.left(), rect.top(), progressIndicatorPos, rect.height());
if (vertical)
diff --git a/src/gui/styles/qgtkstyle.h b/src/gui/styles/qgtkstyle.h
index 3feeafa..e12f175 100644
--- a/src/gui/styles/qgtkstyle.h
+++ b/src/gui/styles/qgtkstyle.h
@@ -60,7 +60,7 @@ class QGtkStylePrivate;
class Q_GUI_EXPORT QGtkStyle : public QCleanlooksStyle
{
Q_OBJECT
- Q_DECLARE_SCOPED_PRIVATE(QGtkStyle)
+ Q_DECLARE_PRIVATE(QGtkStyle)
public:
QGtkStyle();
diff --git a/src/gui/styles/qmacstyle_mac.mm b/src/gui/styles/qmacstyle_mac.mm
index b20db5b..2f93034 100644
--- a/src/gui/styles/qmacstyle_mac.mm
+++ b/src/gui/styles/qmacstyle_mac.mm
@@ -558,7 +558,6 @@ QT_END_INCLUDE_NAMESPACE
External functions
*****************************************************************************/
extern CGContextRef qt_mac_cg_context(const QPaintDevice *); //qpaintdevice_mac.cpp
-extern QPixmap qt_mac_convert_iconref(const IconRef, int, int); //qpixmap_mac.cpp
extern QRegion qt_mac_convert_mac_region(HIShapeRef); //qregion_mac.cpp
void qt_mac_dispose_rgn(RgnHandle r); //qregion_mac.cpp
extern QPaintDevice *qt_mac_safe_pdev; //qapplication_mac.cpp
@@ -1871,24 +1870,23 @@ QPixmap QMacStylePrivate::generateBackgroundPattern() const
Fills the given \a rect with the pattern stored in \a brush. As an optimization,
HIThemeSetFill us used directly if we are filling with the standard background.
*/
-void qt_mac_fill_background(QPainter *painter, const QRegion &rgn, const QPoint &offset, const QBrush &brush)
+void qt_mac_fill_background(QPainter *painter, const QRegion &rgn, const QBrush &brush)
{
QPoint dummy;
const QPaintDevice *target = painter->device();
const QPaintDevice *redirected = QPainter::redirected(target, &dummy);
const bool usePainter = redirected && redirected != target;
- const QRegion translated = rgn.translated(offset);
if (!usePainter && qt_mac_backgroundPattern
&& qt_mac_backgroundPattern->cacheKey() == brush.texture().cacheKey()) {
- painter->setClipRegion(translated);
+ painter->setClipRegion(rgn);
CGContextRef cg = qt_mac_cg_context(target);
CGContextSaveGState(cg);
HIThemeSetFill(kThemeBrushDialogBackgroundActive, 0, cg, kHIThemeOrientationInverted);
- const QVector<QRect> &rects = translated.rects();
+ const QVector<QRect> &rects = rgn.rects();
for (int i = 0; i < rects.size(); ++i) {
const QRect rect(rects.at(i));
// Anchor the pattern to the top so it stays put when the window is resized.
@@ -1899,8 +1897,8 @@ void qt_mac_fill_background(QPainter *painter, const QRegion &rgn, const QPoint
CGContextRestoreGState(cg);
} else {
- const QRect rect(translated.boundingRect());
- painter->setClipRegion(translated);
+ const QRect rect(rgn.boundingRect());
+ painter->setClipRegion(rgn);
painter->drawTiledPixmap(rect, brush.texture(), rect.topLeft());
}
}
@@ -2304,9 +2302,6 @@ int QMacStyle::pixelMetric(PixelMetric metric, const QStyleOption *opt, const QW
case PM_ToolBarItemSpacing:
ret = 4;
break;
- case PM_MessageBoxIconSize:
- ret = 64;
- break;
case PM_SplitterWidth:
ret = qMax(7, QApplication::globalStrut().width());
break;
@@ -3362,6 +3357,9 @@ void QMacStyle::drawControl(ControlElement ce, const QStyleOption *opt, QPainter
}
proxy()->drawItemPixmap(p, pr, Qt::AlignCenter, pixmap);
break; }
+ default:
+ Q_ASSERT(false);
+ break;
}
if (needText) {
@@ -3991,8 +3989,12 @@ void QMacStyle::drawControl(ControlElement ce, const QStyleOption *opt, QPainter
const int xm = macItemFrame + maxpmw + macItemHMargin;
QFont myFont = mi->font;
- if (mi->state & QStyle::State_Mini)
- myFont.setPointSize(mi->font.pointSize());
+ // myFont may not have any "hard" flags set. We override
+ // the point size so that when it is resolved against the device, this font will win.
+ // This is mainly to handle cases where someone sets the font on the window
+ // and then the combo inherits it and passes it onward. At that point the resolve mask
+ // is very, very weak. This makes it stonger.
+ myFont.setPointSizeF(mi->font.pointSizeF());
p->setFont(myFont);
p->drawText(xpos, yPos, contentRect.width() - xm - tabwidth + 1,
contentRect.height(), text_flags ^ Qt::AlignRight, s);
@@ -5852,76 +5854,12 @@ bool QMacStyle::event(QEvent *e)
return false;
}
-void qt_mac_constructQIconFromIconRef(const IconRef icon, const IconRef overlayIcon, QIcon *retIcon, QStyle::StandardPixmap standardIcon = QStyle::SP_CustomBase)
-{
- int size = 16;
- while (size <= 128) {
-
- const QString cacheKey = QLatin1String("qt_mac_constructQIconFromIconRef") + QString::number(standardIcon) + QString::number(size);
- QPixmap mainIcon;
- if (standardIcon >= QStyle::SP_CustomBase) {
- mainIcon = qt_mac_convert_iconref(icon, size, size);
- } else if (QPixmapCache::find(cacheKey, mainIcon) == false) {
- mainIcon = qt_mac_convert_iconref(icon, size, size);
- QPixmapCache::insert(cacheKey, mainIcon);
- }
-
- if (overlayIcon) {
- int littleSize = size / 2;
- QPixmap overlayPix = qt_mac_convert_iconref(overlayIcon, littleSize, littleSize);
- QPainter painter(&mainIcon);
- painter.drawPixmap(size - littleSize, size - littleSize, overlayPix);
- }
-
- retIcon->addPixmap(mainIcon);
- size += size; // 16 -> 32 -> 64 -> 128
- }
-}
-
QIcon QMacStyle::standardIconImplementation(StandardPixmap standardIcon, const QStyleOption *opt,
const QWidget *widget) const
{
- OSType iconType = 0;
switch (standardIcon) {
- case QStyle::SP_MessageBoxQuestion:
- case QStyle::SP_MessageBoxInformation:
- case QStyle::SP_MessageBoxWarning:
- case QStyle::SP_MessageBoxCritical:
- iconType = kGenericApplicationIcon;
- break;
- case SP_DesktopIcon:
- iconType = kDesktopIcon;
- break;
- case SP_TrashIcon:
- iconType = kTrashIcon;
- break;
- case SP_ComputerIcon:
- iconType = kComputerIcon;
- break;
- case SP_DriveFDIcon:
- iconType = kGenericFloppyIcon;
- break;
- case SP_DriveHDIcon:
- iconType = kGenericHardDiskIcon;
- break;
- case SP_DriveCDIcon:
- case SP_DriveDVDIcon:
- iconType = kGenericCDROMIcon;
- break;
- case SP_DriveNetIcon:
- iconType = kGenericNetworkIcon;
- break;
- case SP_DirOpenIcon:
- iconType = kOpenFolderIcon;
- break;
- case SP_DirClosedIcon:
- case SP_DirLinkIcon:
- iconType = kGenericFolderIcon;
- break;
- case SP_FileLinkIcon:
- case SP_FileIcon:
- iconType = kGenericDocumentIcon;
- break;
+ default:
+ return QWindowsStyle::standardIconImplementation(standardIcon, opt, widget);
case SP_ToolBarHorizontalExtensionButton:
case SP_ToolBarVerticalExtensionButton: {
QPixmap pixmap(qt_mac_toolbar_ext);
@@ -5935,58 +5873,8 @@ QIcon QMacStyle::standardIconImplementation(StandardPixmap standardIcon, const Q
return pix2;
}
return pixmap;
- }
- break;
- case SP_DirIcon: {
- // A rather special case
- QIcon closeIcon = QStyle::standardIcon(SP_DirClosedIcon, opt, widget);
- QIcon openIcon = QStyle::standardIcon(SP_DirOpenIcon, opt, widget);
- closeIcon.addPixmap(openIcon.pixmap(16, 16), QIcon::Normal, QIcon::On);
- closeIcon.addPixmap(openIcon.pixmap(32, 32), QIcon::Normal, QIcon::On);
- closeIcon.addPixmap(openIcon.pixmap(64, 64), QIcon::Normal, QIcon::On);
- closeIcon.addPixmap(openIcon.pixmap(128, 128), QIcon::Normal, QIcon::On);
- return closeIcon;
- }
- case SP_TitleBarNormalButton:
- case SP_TitleBarCloseButton: {
- QIcon titleBarIcon;
- if (standardIcon == SP_TitleBarCloseButton) {
- titleBarIcon.addFile(QLatin1String(":/trolltech/styles/macstyle/images/closedock-16.png"));
- titleBarIcon.addFile(QLatin1String(":/trolltech/styles/macstyle/images/closedock-down-16.png"), QSize(16, 16), QIcon::Normal, QIcon::On);
- } else {
- titleBarIcon.addFile(QLatin1String(":/trolltech/styles/macstyle/images/dockdock-16.png"));
- titleBarIcon.addFile(QLatin1String(":/trolltech/styles/macstyle/images/dockdock-down-16.png"), QSize(16, 16), QIcon::Normal, QIcon::On);
- }
- return titleBarIcon;
- }
- default:
- break;
}
- if (iconType != 0) {
- QIcon retIcon;
- IconRef icon;
- IconRef overlayIcon = 0;
- if (iconType != kGenericApplicationIcon) {
- GetIconRef(kOnSystemDisk, kSystemIconsCreator, iconType, &icon);
- } else {
- FSRef fsRef;
- ProcessSerialNumber psn = { 0, kCurrentProcess };
- GetProcessBundleLocation(&psn, &fsRef);
- GetIconRefFromFileInfo(&fsRef, 0, 0, 0, 0, kIconServicesNormalUsageFlag, &icon, 0);
- if (standardIcon == SP_MessageBoxCritical) {
- overlayIcon = icon;
- GetIconRef(kOnSystemDisk, kSystemIconsCreator, kAlertCautionIcon, &icon);
- }
- }
- if (icon) {
- qt_mac_constructQIconFromIconRef(icon, overlayIcon, &retIcon, standardIcon);
- ReleaseIconRef(icon);
- }
- if (overlayIcon)
- ReleaseIconRef(overlayIcon);
- return retIcon;
}
- return QWindowsStyle::standardIconImplementation(standardIcon, opt, widget);
}
int QMacStyle::layoutSpacingImplementation(QSizePolicy::ControlType control1,
diff --git a/src/gui/styles/qmotifstyle.h b/src/gui/styles/qmotifstyle.h
index 356f420..e848eb4 100644
--- a/src/gui/styles/qmotifstyle.h
+++ b/src/gui/styles/qmotifstyle.h
@@ -113,7 +113,7 @@ protected:
bool eventFilter(QObject *o, QEvent *e);
private:
- Q_DECLARE_SCOPED_PRIVATE(QMotifStyle)
+ Q_DECLARE_PRIVATE(QMotifStyle)
Q_DISABLE_COPY(QMotifStyle)
bool highlightCols;
diff --git a/src/gui/styles/qplastiquestyle.cpp b/src/gui/styles/qplastiquestyle.cpp
index 12aa679..80c9881 100644
--- a/src/gui/styles/qplastiquestyle.cpp
+++ b/src/gui/styles/qplastiquestyle.cpp
@@ -730,16 +730,6 @@ static QColor mergedColors(const QColor &colorA, const QColor &colorB, int facto
return tmp;
}
-static QString uniqueName(const QString &key, const QStyleOption *option, const QSize &size)
-{
- QString tmp;
- const QStyleOptionComplex *complexOption = qstyleoption_cast<const QStyleOptionComplex *>(option);
- tmp.sprintf("%s-%d-%d-%d-%lld-%dx%d", key.toLatin1().constData(), uint(option->state),
- option->direction, complexOption ? uint(complexOption->activeSubControls) : uint(0),
- option->palette.cacheKey(), size.width(), size.height());
- return tmp;
-}
-
static void qt_plastique_draw_gradient(QPainter *painter, const QRect &rect, const QColor &gradientStart,
const QColor &gradientStop)
{
@@ -1512,7 +1502,7 @@ void QPlastiqueStyle::drawPrimitive(PrimitiveElement element, const QStyleOption
rect.adjust(2, 0, -2, 0);
}
#endif
- QString pixmapName = uniqueName(QLatin1String("toolbarhandle"), option, rect.size());
+ QString pixmapName = QStyleHelper::uniqueName(QLatin1String("toolbarhandle"), option, rect.size());
if (!QPixmapCache::find(pixmapName, cache)) {
cache = QPixmap(rect.size());
cache.fill(Qt::transparent);
@@ -2581,8 +2571,7 @@ void QPlastiqueStyle::drawControl(ControlElement element, const QStyleOption *op
painter->setTransform(m, true);
}
- double vc6_workaround = ((bar->progress - qint64(bar->minimum)) / qMax(double(1.0), double(qint64(bar->maximum) - qint64(bar->minimum))) * rect.width());
- int progressIndicatorPos = int(vc6_workaround);
+ int progressIndicatorPos = (bar->progress - qreal(bar->minimum)) / qMax(qreal(1.0), qreal(bar->maximum) - bar->minimum) * rect.width();
bool flip = (!vertical && (((bar->direction == Qt::RightToLeft) && !inverted)
|| ((bar->direction == Qt::LeftToRight) && inverted))) || (vertical && ((!inverted && !bottomToTop) || (inverted && bottomToTop)));
@@ -2777,7 +2766,7 @@ void QPlastiqueStyle::drawControl(ControlElement element, const QStyleOption *op
// contents
painter->setPen(QPen());
- QString progressBarName = uniqueName(QLatin1String("progressBarContents"),
+ QString progressBarName = QStyleHelper::uniqueName(QLatin1String("progressBarContents"),
option, rect.size());
QPixmap cache;
if (!QPixmapCache::find(progressBarName, cache) && rect.height() > 7) {
@@ -2837,7 +2826,7 @@ void QPlastiqueStyle::drawControl(ControlElement element, const QStyleOption *op
// Draws the header in tables.
if (const QStyleOptionHeader *header = qstyleoption_cast<const QStyleOptionHeader *>(option)) {
QPixmap cache;
- QString pixmapName = uniqueName(QLatin1String("headersection"), option, option->rect.size());
+ QString pixmapName = QStyleHelper::uniqueName(QLatin1String("headersection"), option, option->rect.size());
pixmapName += QString::number(- int(header->position));
pixmapName += QString::number(- int(header->orientation));
@@ -3084,7 +3073,7 @@ void QPlastiqueStyle::drawControl(ControlElement element, const QStyleOption *op
// Draws a menu bar item; File, Edit, Help etc..
if ((option->state & State_Selected)) {
QPixmap cache;
- QString pixmapName = uniqueName(QLatin1String("menubaritem"), option, option->rect.size());
+ QString pixmapName = QStyleHelper::uniqueName(QLatin1String("menubaritem"), option, option->rect.size());
if (!QPixmapCache::find(pixmapName, cache)) {
cache = QPixmap(option->rect.size());
cache.fill(Qt::white);
@@ -3447,7 +3436,7 @@ void QPlastiqueStyle::drawControl(ControlElement element, const QStyleOption *op
bool reverse = scrollBar->direction == Qt::RightToLeft;
bool sunken = scrollBar->state & State_Sunken;
- QString addLinePixmapName = uniqueName(QLatin1String("scrollbar_addline"), option, option->rect.size());
+ QString addLinePixmapName = QStyleHelper::uniqueName(QLatin1String("scrollbar_addline"), option, option->rect.size());
QPixmap cache;
if (!QPixmapCache::find(addLinePixmapName, cache)) {
cache = QPixmap(option->rect.size());
@@ -3519,7 +3508,7 @@ void QPlastiqueStyle::drawControl(ControlElement element, const QStyleOption *op
bool sunken = scrollBar->state & State_Sunken;
bool horizontal = scrollBar->orientation == Qt::Horizontal;
- QString groovePixmapName = uniqueName(QLatin1String("scrollbar_groove"), option, option->rect.size());
+ QString groovePixmapName = QStyleHelper::uniqueName(QLatin1String("scrollbar_groove"), option, option->rect.size());
if (sunken)
groovePixmapName += QLatin1String("-sunken");
if (element == CE_ScrollBarAddPage)
@@ -3578,7 +3567,7 @@ void QPlastiqueStyle::drawControl(ControlElement element, const QStyleOption *op
button2.setRect(scrollBarSubLine.left(), scrollBarSubLine.bottom() - (scrollBarExtent - 1), scrollBarSubLine.width(), scrollBarExtent);
}
- QString subLinePixmapName = uniqueName(QLatin1String("scrollbar_subline"), option, button1.size());
+ QString subLinePixmapName = QStyleHelper::uniqueName(QLatin1String("scrollbar_subline"), option, button1.size());
QPixmap cache;
if (!QPixmapCache::find(subLinePixmapName, cache)) {
cache = QPixmap(button1.size());
@@ -3653,7 +3642,7 @@ void QPlastiqueStyle::drawControl(ControlElement element, const QStyleOption *op
// The slider
if (option->rect.isValid()) {
- QString sliderPixmapName = uniqueName(QLatin1String("scrollbar_slider"), option, option->rect.size());
+ QString sliderPixmapName = QStyleHelper::uniqueName(QLatin1String("scrollbar_slider"), option, option->rect.size());
if (horizontal)
sliderPixmapName += QLatin1String("-horizontal");
@@ -3873,7 +3862,7 @@ void QPlastiqueStyle::drawComplexControl(ComplexControl control, const QStyleOpt
}
if ((option->subControls & SC_SliderHandle) && handle.isValid()) {
- QString handlePixmapName = uniqueName(QLatin1String("slider_handle"), option, handle.size());
+ QString handlePixmapName = QStyleHelper::uniqueName(QLatin1String("slider_handle"), option, handle.size());
if (ticksAbove && !ticksBelow)
handlePixmapName += QLatin1String("-flipped");
if ((option->activeSubControls & SC_SliderHandle) && (option->state & State_Sunken))
diff --git a/src/gui/styles/qplastiquestyle.h b/src/gui/styles/qplastiquestyle.h
index 74560fc..ac3da41 100644
--- a/src/gui/styles/qplastiquestyle.h
+++ b/src/gui/styles/qplastiquestyle.h
@@ -56,7 +56,7 @@ class QPlastiqueStylePrivate;
class Q_GUI_EXPORT QPlastiqueStyle : public QWindowsStyle
{
Q_OBJECT
- Q_DECLARE_SCOPED_PRIVATE(QPlastiqueStyle)
+ Q_DECLARE_PRIVATE(QPlastiqueStyle)
public:
QPlastiqueStyle();
~QPlastiqueStyle();
diff --git a/src/gui/styles/qproxystyle.h b/src/gui/styles/qproxystyle.h
index 33f252a..c9edaff 100644
--- a/src/gui/styles/qproxystyle.h
+++ b/src/gui/styles/qproxystyle.h
@@ -102,7 +102,7 @@ protected Q_SLOTS:
Qt::Orientation orientation, const QStyleOption *option = 0, const QWidget *widget = 0) const;
private:
Q_DISABLE_COPY(QProxyStyle)
- Q_DECLARE_SCOPED_PRIVATE(QProxyStyle)
+ Q_DECLARE_PRIVATE(QProxyStyle)
};
#endif // QT_NO_STYLE_PROXY
diff --git a/src/gui/styles/qs60style.cpp b/src/gui/styles/qs60style.cpp
index 0277d2f..8128482 100644
--- a/src/gui/styles/qs60style.cpp
+++ b/src/gui/styles/qs60style.cpp
@@ -1,9 +1,9 @@
/****************************************************************************
**
-** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
-** This file is part of the $MODULE$ of the Qt Toolkit.
+** This file is part of the QtGui of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
@@ -2854,8 +2854,7 @@ QIcon QS60Style::standardIconImplementation(StandardPixmap standardIcon,
extern QPoint qt_s60_fill_background_offset(const QWidget *targetWidget);
-bool qt_s60_fill_background(QPainter *painter, const QRegion &rgn, const QPoint &offset,
- const QBrush &brush)
+bool qt_s60_fill_background(QPainter *painter, const QRegion &rgn, const QBrush &brush)
{
const QPixmap backgroundTexture(QS60StylePrivate::backgroundTexture());
if (backgroundTexture.cacheKey() != brush.texture().cacheKey())
@@ -2864,8 +2863,7 @@ bool qt_s60_fill_background(QPainter *painter, const QRegion &rgn, const QPoint
const QPaintDevice *target = painter->device();
if (target->devType() == QInternal::Widget) {
const QWidget *widget = static_cast<const QWidget *>(target);
- const QRegion translated = rgn.translated(offset);
- const QVector<QRect> &rects = translated.rects();
+ const QVector<QRect> &rects = rgn.rects();
for (int i = 0; i < rects.size(); ++i) {
const QRect rect(rects.at(i));
painter->drawPixmap(rect.topLeft(), backgroundTexture,
diff --git a/src/gui/styles/qs60style.h b/src/gui/styles/qs60style.h
index 38d8e48..bdd8c8a 100644
--- a/src/gui/styles/qs60style.h
+++ b/src/gui/styles/qs60style.h
@@ -1,9 +1,9 @@
/****************************************************************************
**
-** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
-** This file is part of the $MODULE$ of the Qt Toolkit.
+** This file is part of the QtGui of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
@@ -57,7 +57,7 @@ class QS60StylePrivate;
class Q_GUI_EXPORT QS60Style : public QCommonStyle
{
Q_OBJECT
- Q_DECLARE_SCOPED_PRIVATE(QS60Style)
+ Q_DECLARE_PRIVATE(QS60Style)
public:
QS60Style();
diff --git a/src/gui/styles/qs60style_p.h b/src/gui/styles/qs60style_p.h
index 4bf8143..0cd2310 100644
--- a/src/gui/styles/qs60style_p.h
+++ b/src/gui/styles/qs60style_p.h
@@ -1,9 +1,9 @@
/****************************************************************************
**
-** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
-** This file is part of the $MODULE$ of the Qt Toolkit.
+** This file is part of the QtGui of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/src/gui/styles/qs60style_s60.cpp b/src/gui/styles/qs60style_s60.cpp
index f304d14..635442b 100644
--- a/src/gui/styles/qs60style_s60.cpp
+++ b/src/gui/styles/qs60style_s60.cpp
@@ -1,9 +1,9 @@
/****************************************************************************
**
-** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
-** This file is part of the $MODULE$ of the Qt Toolkit.
+** This file is part of the QtGui of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/src/gui/styles/qs60style_simulated.cpp b/src/gui/styles/qs60style_simulated.cpp
index 684f232..5ceb875 100644
--- a/src/gui/styles/qs60style_simulated.cpp
+++ b/src/gui/styles/qs60style_simulated.cpp
@@ -1,9 +1,9 @@
/****************************************************************************
**
-** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
-** This file is part of the $MODULE$ of the Qt Toolkit.
+** This file is part of the QtGui of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/src/gui/styles/qstyle.cpp b/src/gui/styles/qstyle.cpp
index 797886c..598fe6b 100644
--- a/src/gui/styles/qstyle.cpp
+++ b/src/gui/styles/qstyle.cpp
@@ -526,8 +526,9 @@ void QStyle::drawItemText(QPainter *painter, const QRect &rect, int alignment, c
}
if (!enabled) {
if (styleHint(SH_DitherDisabledText)) {
- painter->drawText(rect, alignment, text);
- painter->fillRect(painter->boundingRect(rect, alignment, text), QBrush(painter->background().color(), Qt::Dense5Pattern));
+ QRect br;
+ painter->drawText(rect, alignment, text, &br);
+ painter->fillRect(br, QBrush(painter->background().color(), Qt::Dense5Pattern));
return;
} else if (styleHint(SH_EtchDisabledText)) {
QPen pen = painter->pen();
@@ -563,7 +564,7 @@ void QStyle::drawItemPixmap(QPainter *painter, const QRect &rect, int alignment,
/*!
\enum QStyle::PrimitiveElement
- This enum describes that various primitive elements. A
+ This enum describes the various primitive elements. A
primitive element is a common GUI element, such as a checkbox
indicator or button bevel.
@@ -1107,7 +1108,7 @@ void QStyle::drawItemPixmap(QPainter *painter, const QRect &rect, int alignment,
\value CC_ScrollBar A scroll bar, like QScrollBar.
\value CC_Slider A slider, like QSlider.
\value CC_ToolButton A tool button, like QToolButton.
- \value CC_TitleBar A Title bar, like those used in QWorkspace.
+ \value CC_TitleBar A Title bar, like those used in QMdiSubWindow.
\value CC_Q3ListView Used for drawing the Q3ListView class.
\value CC_GroupBox A group box, like QGroupBox.
\value CC_Dial A dial, like QDial.
@@ -1865,6 +1866,8 @@ void QStyle::drawItemPixmap(QPainter *painter, const QRect &rect, int alignment,
\value SH_DockWidget_ButtonsHaveFrame Determines if dockwidget buttons should have frames. Default is true.
+ \value SH_ToolButtonStyle Determines the default system style for tool buttons that uses Qt::ToolButtonFollowStyle.
+
\omitvalue SH_UnderlineAccelerator
\sa styleHint()
@@ -1891,7 +1894,7 @@ void QStyle::drawItemPixmap(QPainter *painter, const QRect &rect, int alignment,
can follow some existing GUI style or guideline.
\value SP_TitleBarMinButton Minimize button on title bars (e.g.,
- in QWorkspace).
+ in QMdiSubWindow).
\value SP_TitleBarMenuButton Menu button on a title bar.
\value SP_TitleBarMaxButton Maximize button on title bars.
\value SP_TitleBarCloseButton Close button on title bars.
@@ -1963,22 +1966,7 @@ void QStyle::drawItemPixmap(QPainter *painter, const QRect &rect, int alignment,
\value SP_CustomBase Base value for custom standard pixmaps;
custom values must be greater than this value.
- \sa standardPixmap() standardIcon()
-*/
-
-/*###
- \enum QStyle::IconMode
-
- This enum represents the effects performed on a pixmap to achieve a
- GUI style's perferred way of representing the image in different
- states.
-
- \value IM_Disabled A disabled pixmap (drawn on disabled widgets)
- \value IM_Active An active pixmap (drawn on active tool buttons and menu items)
- \value IM_CustomBase Base value for custom PixmapTypes; custom
- values must be greater than this value
-
- \sa generatedIconPixmap()
+ \sa standardIcon()
*/
/*!
@@ -2261,7 +2249,7 @@ QPalette QStyle::standardPalette() const
slot in your subclass instead. The standardIcon() function will
dynamically detect the slot and call it.
- \sa standardIconImplementation(), standardPixmap()
+ \sa standardIconImplementation()
*/
QIcon QStyle::standardIcon(StandardPixmap standardIcon, const QStyleOption *option,
const QWidget *widget) const
@@ -2286,8 +2274,7 @@ QIcon QStyle::standardIcon(StandardPixmap standardIcon, const QStyleOption *opti
subclass; because of binary compatibility constraints, the
standardIcon() function (introduced in Qt 4.1) is not
virtual. Instead, standardIcon() will dynamically detect and call
- \e this slot. The default implementation simply calls the
- standardPixmap() function with the given parameters.
+ \e this slot.
The \a standardIcon is a standard pixmap which can follow some
existing GUI style or guideline. The \a option argument can be
diff --git a/src/gui/styles/qstyle.h b/src/gui/styles/qstyle.h
index 61a4ed5..f22bf55 100644
--- a/src/gui/styles/qstyle.h
+++ b/src/gui/styles/qstyle.h
@@ -68,7 +68,7 @@ class QStylePrivate;
class Q_GUI_EXPORT QStyle : public QObject
{
Q_OBJECT
- Q_DECLARE_SCOPED_PRIVATE(QStyle)
+ Q_DECLARE_PRIVATE(QStyle)
protected:
QStyle(QStylePrivate &dd);
@@ -730,7 +730,7 @@ public:
SH_ItemView_DrawDelegateFrame,
SH_TabBar_CloseButtonPosition,
SH_DockWidget_ButtonsHaveFrame,
-
+ SH_ToolButtonStyle,
// Add new style hint values here
#ifdef QT3_SUPPORT
diff --git a/src/gui/styles/qstyle_p.h b/src/gui/styles/qstyle_p.h
index da1debd..11be2f8 100644
--- a/src/gui/styles/qstyle_p.h
+++ b/src/gui/styles/qstyle_p.h
@@ -43,6 +43,7 @@
#define QSTYLE_P_H
#include "private/qobject_p.h"
+#include "private/qstylehelper_p.h"
#include <QtGui/qstyle.h>
QT_BEGIN_NAMESPACE
@@ -78,7 +79,7 @@ public:
QPixmap internalPixmapCache; \
QImage imageCache; \
QPainter *p = painter; \
- QString unique = uniqueName((a), option, option->rect.size()); \
+ QString unique = QStyleHelper::uniqueName((a), option, option->rect.size()); \
int txType = painter->deviceTransform().type() | painter->worldTransform().type(); \
bool doPixmapCache = txType <= QTransform::TxTranslate; \
if (doPixmapCache && QPixmapCache::find(unique, internalPixmapCache)) { \
diff --git a/src/gui/styles/qstylehelper.cpp b/src/gui/styles/qstylehelper.cpp
index f9010e8..4877ec4 100644
--- a/src/gui/styles/qstylehelper.cpp
+++ b/src/gui/styles/qstylehelper.cpp
@@ -60,11 +60,10 @@ namespace QStyleHelper {
QString uniqueName(const QString &key, const QStyleOption *option, const QSize &size)
{
- QString tmp;
const QStyleOptionComplex *complexOption = qstyleoption_cast<const QStyleOptionComplex *>(option);
- tmp.sprintf("%s-%d-%d-%lld-%dx%d-%d", key.toLatin1().constData(), uint(option->state),
- complexOption ? uint(complexOption->activeSubControls) : uint(0),
- option->palette.cacheKey(), size.width(), size.height(), option->direction);
+ QString tmp = QString::fromLatin1("%1-%2-%3-%4-%5-%6x%7").arg(key).arg(uint(option->state)).arg(option->direction)
+ .arg(complexOption ? uint(complexOption->activeSubControls) : uint(0))
+ .arg(option->palette.cacheKey()).arg(size.width()).arg(size.height());
#ifndef QT_NO_SPINBOX
if (const QStyleOptionSpinBox *spinBox = qstyleoption_cast<const QStyleOptionSpinBox *>(option)) {
tmp.append(QLatin1Char('-'));
diff --git a/src/gui/styles/qstyleoption.cpp b/src/gui/styles/qstyleoption.cpp
index e174370..0ff7995 100644
--- a/src/gui/styles/qstyleoption.cpp
+++ b/src/gui/styles/qstyleoption.cpp
@@ -657,7 +657,7 @@ QStyleOptionFrameV2 &QStyleOptionFrameV2::operator=(const QStyleOptionFrame &oth
/*!
\enum QStyleOptionFrameV2::FrameFeature
- This enum describles the different types of features a frame can have.
+ This enum describes the different types of features a frame can have.
\value None Indicates a normal frame.
\value Flat Indicates a flat frame.
@@ -899,7 +899,7 @@ QStyleOptionViewItemV2 &QStyleOptionViewItemV2::operator=(const QStyleOptionView
/*!
\enum QStyleOptionViewItemV2::ViewItemFeature
- This enum describles the different types of features an item can have.
+ This enum describes the different types of features an item can have.
\value None Indicates a normal item.
\value WrapText Indicates an item with wrapped text.
@@ -4258,8 +4258,7 @@ QStyleOptionRubberBand::QStyleOptionRubberBand(int version)
parameters for drawing a title bar.
QStyleOptionTitleBar contains all the information that QStyle
- functions need to draw the title bars of QWorkspace's MDI
- children.
+ functions need to draw the title bar of a QMdiSubWindow.
For performance reasons, the access to the member variables is
direct (i.e., using the \c . or \c -> operator). This low-level feel
@@ -4269,7 +4268,7 @@ QStyleOptionRubberBand::QStyleOptionRubberBand(int version)
For an example demonstrating how style options can be used, see
the \l {widgets/styles}{Styles} example.
- \sa QStyleOption, QStyleOptionComplex, QWorkspace
+ \sa QStyleOption, QStyleOptionComplex, QMdiSubWindow
*/
/*!
@@ -4983,8 +4982,7 @@ QStyleOptionSizeGrip::QStyleOptionSizeGrip(int version)
*/
/*!
- Constructs a QStyleOptionGraphicsItem. The levelOfDetail parameter is
- initialized to 1.
+ Constructs a QStyleOptionGraphicsItem.
*/
QStyleOptionGraphicsItem::QStyleOptionGraphicsItem()
: QStyleOption(Version, Type), levelOfDetail(1)
@@ -5009,11 +5007,6 @@ QStyleOptionGraphicsItem::QStyleOptionGraphicsItem(int version)
of the painter used to draw the item. By default, if no
transformations are applied, its value is 1. If zoomed out 1:2, the level
of detail will be 0.5, and if zoomed in 2:1, its value is 2.
-
- For more advanced level-of-detail metrics, use
- QStyleOptionGraphicsItem::matrix directly.
-
- \sa QStyleOptionGraphicsItem::matrix
*/
qreal QStyleOptionGraphicsItem::levelOfDetailFromTransform(const QTransform &worldTransform)
{
@@ -5040,28 +5033,40 @@ qreal QStyleOptionGraphicsItem::levelOfDetailFromTransform(const QTransform &wor
Make use of this rectangle to speed up item drawing when only parts of the
item are exposed. If the whole item is exposed, this rectangle will be the
same as QGraphicsItem::boundingRect().
+
+ This member is only initialized for items that have the
+ QGraphicsItem::ItemUsesExtendedStyleOption flag set.
*/
/*!
\variable QStyleOptionGraphicsItem::matrix
\brief the complete transformation matrix for the item
+ \obsolete
- This matrix is the sum of the item's scene matrix and the matrix of the
- painter used for drawing the item. It is provided for convenience,
+ The QMatrix provided through this member does include information about
+ any perspective transformations applied to the view or item. To get the
+ correct transformation matrix, use QPainter::transform() on the painter
+ passed into the QGraphicsItem::paint() implementation.
+
+ This matrix is the combination of the item's scene matrix and the matrix
+ of the painter used for drawing the item. It is provided for convenience,
allowing anvanced level-of-detail metrics that can be used to speed up
item drawing.
- To find the dimentions of an item in screen coordinates (i.e., pixels),
+ To find the dimensions of an item in screen coordinates (i.e., pixels),
you can use the mapping functions of QMatrix, such as QMatrix::map().
- \sa QStyleOptionGraphicsItem::levelOfDetail
+ This member is only initialized for items that have the
+ QGraphicsItem::ItemUsesExtendedStyleOption flag set.
+
+ \sa QStyleOptionGraphicsItem::levelOfDetailFromTransform()
*/
/*!
\variable QStyleOptionGraphicsItem::levelOfDetail
\obsolete
- Use QStyleOptionGraphicsItem::levelOfDetailFromTransform
+ Use QStyleOptionGraphicsItem::levelOfDetailFromTransform()
together with QPainter::worldTransform() instead.
*/
diff --git a/src/gui/styles/qstylesheetstyle.cpp b/src/gui/styles/qstylesheetstyle.cpp
index 01d8aad..2efa4a7 100644
--- a/src/gui/styles/qstylesheetstyle.cpp
+++ b/src/gui/styles/qstylesheetstyle.cpp
@@ -4171,7 +4171,7 @@ void QStyleSheetStyle::drawPrimitive(PrimitiveElement pe, const QStyleOption *op
if (!rule.hasDrawable()) {
QWidget *container = containerWidget(w);
if (autoFillDisabledWidgets->contains(container)
- && (container == w || !renderRule(container, opt).hasDrawable())) {
+ && (container == w || !renderRule(container, opt).hasBackground())) {
//we do not have a background, but we disabled the autofillbackground anyway. so fill the background now.
// (this may happen if we have rules like :focus)
p->fillRect(opt->rect, opt->palette.brush(w->backgroundRole()));
diff --git a/src/gui/styles/qstylesheetstyle_p.h b/src/gui/styles/qstylesheetstyle_p.h
index 399e449..9b7b79d 100644
--- a/src/gui/styles/qstylesheetstyle_p.h
+++ b/src/gui/styles/qstylesheetstyle_p.h
@@ -182,7 +182,7 @@ public:
private:
Q_DISABLE_COPY(QStyleSheetStyle)
- Q_DECLARE_SCOPED_PRIVATE(QStyleSheetStyle)
+ Q_DECLARE_PRIVATE(QStyleSheetStyle)
};
diff --git a/src/gui/styles/qwindowsmobilestyle.h b/src/gui/styles/qwindowsmobilestyle.h
index 9892dec..ab32e8e 100644
--- a/src/gui/styles/qwindowsmobilestyle.h
+++ b/src/gui/styles/qwindowsmobilestyle.h
@@ -104,7 +104,7 @@ protected:
QWindowsMobileStyle(QWindowsMobileStylePrivate &dd);
private:
- Q_DECLARE_SCOPED_PRIVATE(QWindowsMobileStyle)
+ Q_DECLARE_PRIVATE(QWindowsMobileStyle)
};
#endif // QT_NO_STYLE_WINDOWSMOBILE
diff --git a/src/gui/styles/qwindowsstyle.cpp b/src/gui/styles/qwindowsstyle.cpp
index ea8ee87..bc1df9d 100644
--- a/src/gui/styles/qwindowsstyle.cpp
+++ b/src/gui/styles/qwindowsstyle.cpp
@@ -127,8 +127,6 @@ static const int windowsTabSpacing = 12; // space between text and tab
static const int windowsRightBorder = 15; // right border on windows
static const int windowsCheckMarkWidth = 12; // checkmarks width on windows
-static bool use2000style = true;
-
enum QSliderDirection { SlUp, SlDown, SlLeft, SlRight };
/*
@@ -270,9 +268,6 @@ bool QWindowsStyle::eventFilter(QObject *o, QEvent *e)
*/
QWindowsStyle::QWindowsStyle() : QCommonStyle(*new QWindowsStylePrivate)
{
-#if defined(Q_OS_WIN32)
- use2000style = QSysInfo::WindowsVersion != QSysInfo::WV_NT && QSysInfo::WindowsVersion != QSysInfo::WV_95;
-#endif
}
/*!
@@ -282,9 +277,6 @@ QWindowsStyle::QWindowsStyle() : QCommonStyle(*new QWindowsStylePrivate)
*/
QWindowsStyle::QWindowsStyle(QWindowsStylePrivate &dd) : QCommonStyle(dd)
{
-#if defined(Q_OS_WIN32)
- use2000style = QSysInfo::WindowsVersion != QSysInfo::WV_NT && QSysInfo::WindowsVersion != QSysInfo::WV_95;
-#endif
}
@@ -1070,6 +1062,8 @@ QPixmap QWindowsStyle::standardPixmap(StandardPixmap standardPixmap, const QStyl
}
}
break;
+ default:
+ break;
}
if (!desktopIcon.isNull()) {
return desktopIcon;
@@ -1138,12 +1132,7 @@ int QWindowsStyle::styleHint(StyleHint hint, const QStyleOption *opt, const QWid
#endif
break;
case SH_ItemView_ChangeHighlightOnFocus:
-#if defined(Q_WS_WIN)
- if (QSysInfo::WindowsVersion != QSysInfo::WV_95 && QSysInfo::WindowsVersion != QSysInfo::WV_NT)
- ret = 1;
- else
-#endif
- ret = 0;
+ ret = 1;
break;
case SH_ToolBox_SelectedPageTitleBold:
ret = 0;
@@ -1151,36 +1140,34 @@ int QWindowsStyle::styleHint(StyleHint hint, const QStyleOption *opt, const QWid
#if defined(Q_WS_WIN)
case SH_UnderlineShortcut:
+ {
ret = 1;
- if (QSysInfo::WindowsVersion != QSysInfo::WV_95
- && QSysInfo::WindowsVersion != QSysInfo::WV_98
- && QSysInfo::WindowsVersion != QSysInfo::WV_NT) {
- BOOL cues;
- SystemParametersInfo(SPI_GETKEYBOARDCUES, 0, &cues, 0);
- ret = int(cues);
- // Do nothing if we always paint underlines
- Q_D(const QWindowsStyle);
- if (!ret && widget && d) {
+ BOOL cues = false;
+ SystemParametersInfo(SPI_GETKEYBOARDCUES, 0, &cues, 0);
+ ret = int(cues);
+ // Do nothing if we always paint underlines
+ Q_D(const QWindowsStyle);
+ if (!ret && widget && d) {
#ifndef QT_NO_MENUBAR
- const QMenuBar *menuBar = qobject_cast<const QMenuBar *>(widget);
- if (!menuBar && qobject_cast<const QMenu *>(widget)) {
- QWidget *w = QApplication::activeWindow();
- if (w && w != widget)
- menuBar = qFindChild<QMenuBar *>(w);
- }
- // If we paint a menu bar draw underlines if is in the keyboardState
- if (menuBar) {
- if (menuBar->d_func()->keyboardState || d->altDown())
- ret = 1;
- // Otherwise draw underlines if the toplevel widget has seen an alt-press
- } else
-#endif // QT_NO_MENUBAR
- if (d->hasSeenAlt(widget)) {
+ const QMenuBar *menuBar = qobject_cast<const QMenuBar *>(widget);
+ if (!menuBar && qobject_cast<const QMenu *>(widget)) {
+ QWidget *w = QApplication::activeWindow();
+ if (w && w != widget)
+ menuBar = qFindChild<QMenuBar *>(w);
+ }
+ // If we paint a menu bar draw underlines if is in the keyboardState
+ if (menuBar) {
+ if (menuBar->d_func()->keyboardState || d->altDown())
ret = 1;
- }
+ // Otherwise draw underlines if the toplevel widget has seen an alt-press
+ } else
+#endif // QT_NO_MENUBAR
+ if (d->hasSeenAlt(widget)) {
+ ret = 1;
}
}
break;
+ }
#endif
#ifndef QT_NO_RUBBERBAND
case SH_RubberBand_Mask:
@@ -1318,7 +1305,7 @@ void QWindowsStyle::drawPrimitive(PrimitiveElement pe, const QStyleOption *opt,
if ((!(opt->state & State_Sunken ))
&& (!(opt->state & State_Enabled)
|| !(opt->state & State_MouseOver && opt->state & State_AutoRaise))
- && (opt->state & State_On) && use2000style) {
+ && (opt->state & State_On)) {
fill = QBrush(opt->palette.light().color(), Qt::Dense4Pattern);
stippled = true;
} else {
@@ -1391,11 +1378,8 @@ void QWindowsStyle::drawPrimitive(PrimitiveElement pe, const QStyleOption *opt,
QRect r = opt->rect;
int size = qMin(r.height(), r.width());
QPixmap pixmap;
- QString pixmapName;
- pixmapName.sprintf("%s-%s-%d-%d-%d-%lld",
- "$qt_ia", metaObject()->className(),
- uint(opt->state), pe,
- size, opt->palette.cacheKey());
+ QString pixmapName = QStyleHelper::uniqueName(QLatin1String("$qt_ia-") + QLatin1String(metaObject()->className()), opt, QSize(size, size))
+ + QLatin1Char('-') + QString::number(pe);
if (!QPixmapCache::find(pixmapName, pixmap)) {
int border = size/5;
int sqsize = 2*(size/2);
@@ -1632,9 +1616,9 @@ void QWindowsStyle::drawPrimitive(PrimitiveElement pe, const QStyleOption *opt,
popupPal.setColor(QPalette::Light, frame->palette.background().color());
popupPal.setColor(QPalette::Midlight, frame->palette.light().color());
}
- if (use2000style && pe == PE_Frame && (frame->state & State_Raised))
+ if (pe == PE_Frame && (frame->state & State_Raised))
qDrawWinButton(p, frame->rect, popupPal, frame->state & State_Sunken);
- else if (use2000style && pe == PE_Frame && (frame->state & State_Sunken))
+ else if (pe == PE_Frame && (frame->state & State_Sunken))
{
popupPal.setColor(QPalette::Midlight, frame->palette.background().color());
qDrawWinPanel(p, frame->rect, popupPal, frame->state & State_Sunken);
@@ -1785,11 +1769,12 @@ case PE_FrameDockWidget:
break;
#endif // QT_NO_PROGRESSBAR
- case PE_FrameTabWidget:
- if (use2000style) {
- qDrawWinButton(p, opt->rect, opt->palette, false, 0);
- break;
- }
+ case PE_FrameTabWidget: {
+ QRect rect = opt->rect;
+ QPalette pal = opt->palette;
+ qDrawWinButton(p, opt->rect, opt->palette, false, 0);
+ break;
+ }
default:
QCommonStyle::drawPrimitive(pe, opt, p, w);
}
@@ -2065,10 +2050,6 @@ void QWindowsStyle::drawControl(ControlElement ce, const QStyleOption *opt, QPai
p->setPen(light);
p->drawLine(x1, y1 + 2, x1, y2 - ((onlyOne || firstTab) && selected && leftAligned ? 0 : borderThinkness));
p->drawPoint(x1 + 1, y1 + 1);
- if (!use2000style) {
- p->setPen(midlight);
- p->drawLine(x1 + 1, y1 + 2, x1 + 1, y2 - ((onlyOne || firstTab) && selected && leftAligned ? 0 : borderThinkness));
- }
}
// Top
{
@@ -2076,10 +2057,6 @@ void QWindowsStyle::drawControl(ControlElement ce, const QStyleOption *opt, QPai
int end = x2 - (nextSelected ? 0 : 2);
p->setPen(light);
p->drawLine(beg, y1, end, y1);
- if (!use2000style) {
- p->setPen(midlight);
- p->drawLine(beg, y1 + 1, end, y1 + 1);
- }
}
// Right
if (lastTab || selected || onlyOne || !nextSelected) {
@@ -2109,10 +2086,6 @@ void QWindowsStyle::drawControl(ControlElement ce, const QStyleOption *opt, QPai
p->setPen(light);
p->drawLine(x1, y2 - 2, x1, y1 + ((onlyOne || firstTab) && selected && leftAligned ? 0 : borderThinkness));
p->drawPoint(x1 + 1, y2 - 1);
- if (!use2000style) {
- p->setPen(midlight);
- p->drawLine(x1 + 1, y2 - 2, x1 + 1, y1 + ((onlyOne || firstTab) && selected && leftAligned ? 0 : borderThinkness));
- }
}
// Bottom
{
@@ -2151,10 +2124,6 @@ void QWindowsStyle::drawControl(ControlElement ce, const QStyleOption *opt, QPai
p->setPen(light);
p->drawLine(x1 + 2, y1, x2 - ((onlyOne || firstTab) && selected && leftAligned ? 0 : borderThinkness), y1);
p->drawPoint(x1 + 1, y1 + 1);
- if (!use2000style) {
- p->setPen(midlight);
- p->drawLine(x1 + 2, y1 + 1, x2 - ((onlyOne || firstTab) && selected && leftAligned ? 0 : borderThinkness), y1 + 1);
- }
}
// Left
{
@@ -2162,10 +2131,6 @@ void QWindowsStyle::drawControl(ControlElement ce, const QStyleOption *opt, QPai
int end = y2 - (nextSelected ? 0 : 2);
p->setPen(light);
p->drawLine(x1, beg, x1, end);
- if (!use2000style) {
- p->setPen(midlight);
- p->drawLine(x1 + 1, beg, x1 + 1, end);
- }
}
// Bottom
if (lastTab || selected || onlyOne || !nextSelected) {
@@ -2197,11 +2162,6 @@ void QWindowsStyle::drawControl(ControlElement ce, const QStyleOption *opt, QPai
p->setPen(light);
p->drawLine(x2 - 2, y1, x1 + ((onlyOne || firstTab) && selected && leftAligned ? 0 : borderThinkness), y1);
p->drawPoint(x2 - 1, y1 + 1);
- if (!use2000style) {
- p->setPen(midlight);
- p->drawLine(x2 - 3, y1 + 1, x1 + ((onlyOne || firstTab) && selected && leftAligned ? 0 : borderThinkness), y1 + 1);
- p->drawPoint(x2 - 1, y1);
- }
}
// Right
{
@@ -2238,7 +2198,7 @@ void QWindowsStyle::drawControl(ControlElement ce, const QStyleOption *opt, QPai
#ifndef QT_NO_SCROLLBAR
case CE_ScrollBarSubLine:
case CE_ScrollBarAddLine: {
- if (use2000style && (opt->state & State_Sunken)) {
+ if ((opt->state & State_Sunken)) {
p->setPen(opt->palette.dark().color());
p->setBrush(opt->palette.brush(QPalette::Button));
p->drawRect(opt->rect.adjusted(0, 0, -1, -1));
@@ -3024,8 +2984,7 @@ void QWindowsStyle::drawComplexControl(ComplexControl cc, const QStyleOptionComp
if ((cmb->subControls & SC_ComboBoxFrame)) {
if (cmb->frame) {
QPalette shadePal = opt->palette;
- if (use2000style)
- shadePal.setColor(QPalette::Midlight, shadePal.button().color());
+ shadePal.setColor(QPalette::Midlight, shadePal.button().color());
qDrawWinPanel(p, opt->rect, shadePal, true, &editBrush);
}
else {
@@ -3101,8 +3060,7 @@ void QWindowsStyle::drawComplexControl(ComplexControl cc, const QStyleOptionComp
QBrush editBrush = sb->palette.brush(QPalette::Base);
QRect r = proxy()->subControlRect(CC_SpinBox, sb, SC_SpinBoxFrame, widget);
QPalette shadePal = sb->palette;
- if (use2000style)
- shadePal.setColor(QPalette::Midlight, shadePal.button().color());
+ shadePal.setColor(QPalette::Midlight, shadePal.button().color());
qDrawWinPanel(p, r, shadePal, true, &editBrush);
}
@@ -3231,7 +3189,7 @@ QSize QWindowsStyle::sizeFromContents(ContentsType ct, const QStyleOption *opt,
+ 2 * windowsItemFrame));
}
int maxpmw = mi->maxIconWidth;
- int tabSpacing = use2000style ? 20 :windowsTabSpacing;
+ int tabSpacing = 20;
if (mi->text.contains(QLatin1Char('\t')))
w += tabSpacing;
else if (mi->menuItemType == QStyleOptionMenuItem::SubMenu)
diff --git a/src/gui/styles/qwindowsstyle.h b/src/gui/styles/qwindowsstyle.h
index 45260e8..c169a84 100644
--- a/src/gui/styles/qwindowsstyle.h
+++ b/src/gui/styles/qwindowsstyle.h
@@ -98,7 +98,7 @@ protected:
private:
Q_DISABLE_COPY(QWindowsStyle)
- Q_DECLARE_SCOPED_PRIVATE(QWindowsStyle)
+ Q_DECLARE_PRIVATE(QWindowsStyle)
void *reserved;
};
diff --git a/src/gui/styles/qwindowsvistastyle.cpp b/src/gui/styles/qwindowsvistastyle.cpp
index 5f0f053..6f3017a 100644
--- a/src/gui/styles/qwindowsvistastyle.cpp
+++ b/src/gui/styles/qwindowsvistastyle.cpp
@@ -196,17 +196,15 @@ void Animation::paint(QPainter *painter, const QStyleOption *option)
Q_UNUSED(painter);
}
-/*
-* ! \internal
-*
-* Helperfunction to paint the current transition state
-* between two animation frames.
-*
-* The result is a blended image consisting of
-* ((alpha)*_primaryImage) + ((1-alpha)*_secondaryImage)
-*
-*/
+/*! \internal
+ Helperfunction to paint the current transition state between two
+ animation frames.
+
+ The result is a blended image consisting of ((alpha)*_primaryImage)
+ + ((1-alpha)*_secondaryImage)
+
+*/
void Animation::drawBlendedImage(QPainter *painter, QRect rect, float alpha) {
if (_secondaryImage.isNull() || _primaryImage.isNull())
return;
@@ -248,14 +246,11 @@ void Animation::drawBlendedImage(QPainter *painter, QRect rect, float alpha) {
painter->drawImage(rect, _tempImage);
}
-/*
-* ! \internal
-*
-* Paints a transition state. The result will be a mix between the
-* initial and final state of the transition, depending on the
-* time difference between _startTime and current time.
+/*! \internal
+ Paints a transition state. The result will be a mix between the
+ initial and final state of the transition, depending on the time
+ difference between _startTime and current time.
*/
-
void Transition::paint(QPainter *painter, const QStyleOption *option)
{
float alpha = 1.0;
@@ -278,15 +273,11 @@ void Transition::paint(QPainter *painter, const QStyleOption *option)
drawBlendedImage(painter, option->rect, alpha);
}
-/*
-* ! \internal
-*
-* Paints a pulse. The result will be a mix between the
-* primary and secondary pulse images depending on the
-* time difference between _startTime and current time.
+/*! \internal
+ Paints a pulse. The result will be a mix between the primary and
+ secondary pulse images depending on the time difference between
+ _startTime and current time.
*/
-
-
void Pulse::paint(QPainter *painter, const QStyleOption *option)
{
float alpha = 1.0;
@@ -308,31 +299,37 @@ void Pulse::paint(QPainter *painter, const QStyleOption *option)
/*!
- \reimp
- *
- * Animations are used for some state transitions on specific widgets.
- *
- * Only one running animation can exist for a widget at any specific time.
- * Animations can be added through QWindowsVistaStylePrivate::startAnimation(Animation *)
- * and any existing animation on a widget can be retrieved with
- * QWindowsVistaStylePrivate::widgetAnimation(Widget *).
- *
- * Once an animation has been started, QWindowsVistaStylePrivate::timerEvent(QTimerEvent *)
- * will continuously call update() on the widget until it is stopped, meaning that drawPrimitive
- * will be called many times until the transition has completed. During this time, the result
- * will be retrieved by the Animation::paint(...) function and not by the style itself.
- *
- * To determine if a transition should occur, the style needs to know the previous state of the
- * widget as well as the current one. This is solved by updating dynamic properties on the widget
- * every time the function is called.
- *
- * Transitions interrupting existing transitions should always be smooth, so whenever a hover-transition
- * is started on a pulsating button, it uses the current frame of the pulse-animation as the
- * starting image for the hover transition.
- *
+ \internal
+
+ Animations are used for some state transitions on specific widgets.
+
+ Only one running animation can exist for a widget at any specific
+ time. Animations can be added through
+ QWindowsVistaStylePrivate::startAnimation(Animation *) and any
+ existing animation on a widget can be retrieved with
+ QWindowsVistaStylePrivate::widgetAnimation(Widget *).
+
+ Once an animation has been started,
+ QWindowsVistaStylePrivate::timerEvent(QTimerEvent *) will
+ continuously call update() on the widget until it is stopped,
+ meaning that drawPrimitive will be called many times until the
+ transition has completed. During this time, the result will be
+ retrieved by the Animation::paint(...) function and not by the style
+ itself.
+
+ To determine if a transition should occur, the style needs to know
+ the previous state of the widget as well as the current one. This is
+ solved by updating dynamic properties on the widget every time the
+ function is called.
+
+ Transitions interrupting existing transitions should always be
+ smooth, so whenever a hover-transition is started on a pulsating
+ button, it uses the current frame of the pulse-animation as the
+ starting image for the hover transition.
+
*/
void QWindowsVistaStyle::drawPrimitive(PrimitiveElement element, const QStyleOption *option,
- QPainter *painter, const QWidget *widget) const
+ QPainter *painter, const QWidget *widget) const
{
QWindowsVistaStylePrivate *d = const_cast<QWindowsVistaStylePrivate*>(d_func());
@@ -367,7 +364,8 @@ void QWindowsVistaStyle::drawPrimitive(PrimitiveElement element, const QStyleOpt
w->setProperty("_q_stylestate", (int)option->state);
w->setProperty("_q_stylerect", w->rect());
- bool doTransition = ((state & State_Sunken) != (oldState & State_Sunken) ||
+ bool doTransition = oldState &&
+ ((state & State_Sunken) != (oldState & State_Sunken) ||
(state & State_On) != (oldState & State_On) ||
(state & State_MouseOver) != (oldState & State_MouseOver));
@@ -738,7 +736,7 @@ void QWindowsVistaStyle::drawPrimitive(PrimitiveElement element, const QStyleOpt
if (const QListView *listview = qobject_cast<const QListView *>(widget)) {
if (listview->viewMode() == QListView::IconMode)
newStyle = true;
- } else if (const QTreeView* treeview = qobject_cast<const QTreeView *>(widget)) {
+ } else if (qobject_cast<const QTreeView *>(widget)) {
newStyle = true;
}
if (newStyle && view && (vopt = qstyleoption_cast<const QStyleOptionViewItemV4 *>(option))) {
@@ -877,11 +875,9 @@ void QWindowsVistaStyle::drawPrimitive(PrimitiveElement element, const QStyleOpt
/*!
-
- \reimp
+ \internal
see drawPrimitive for comments on the animation support
-
*/
void QWindowsVistaStyle::drawControl(ControlElement element, const QStyleOption *option,
QPainter *painter, const QWidget *widget) const
@@ -1098,7 +1094,7 @@ void QWindowsVistaStyle::drawControl(ControlElement element, const QStyleOption
XPThemeData theme(widget, painter, QLatin1String("PROGRESS"), vertical ? PP_FILLVERT : PP_FILL);
theme.rect = option->rect;
- bool reverse = bar->direction == Qt::LeftToRight && inverted || bar->direction == Qt::RightToLeft && !inverted;
+ bool reverse = bar->direction == (Qt::LeftToRight && inverted) || (bar->direction == Qt::RightToLeft && !inverted);
QTime current = QTime::currentTime();
if (isIndeterminate) {
@@ -1276,7 +1272,7 @@ void QWindowsVistaStyle::drawControl(ControlElement element, const QStyleOption
int yoff = y-2 + h / 2;
QPoint p1 = QPoint(x + checkcol, yoff);
QPoint p2 = QPoint(x + w + 6 , yoff);
- int stateId = stateId = MBI_HOT;
+ stateId = MBI_HOT;
QRect subRect(p1.x(), p1.y(), p2.x() - p1.x(), 6);
subRect = QStyle::visualRect(option->direction, option->rect, subRect );
XPThemeData theme2(widget, painter, QLatin1String("MENU"), MENU_POPUPSEPARATOR, stateId, subRect);
@@ -1288,7 +1284,7 @@ void QWindowsVistaStyle::drawControl(ControlElement element, const QStyleOption
menuitem->rect.y(), checkcol - 6, menuitem->rect.height()));
if (act) {
- int stateId = stateId = MBI_HOT;
+ stateId = MBI_HOT;
XPThemeData theme2(widget, painter, QLatin1String("MENU"), MENU_POPUPITEM, stateId, option->rect);
d->drawBackground(theme2);
}
@@ -1408,7 +1404,7 @@ void QWindowsVistaStyle::drawControl(ControlElement element, const QStyleOption
break;
case CE_MenuBarEmptyArea:
{
- int stateId = MBI_NORMAL;
+ stateId = MBI_NORMAL;
if (!(state & State_Enabled))
stateId = MBI_DISABLED;
XPThemeData theme(widget, painter, QLatin1String("MENU"), MENU_BARBACKGROUND, stateId, option->rect);
@@ -1505,7 +1501,7 @@ void QWindowsVistaStyle::drawControl(ControlElement element, const QStyleOption
if (const QListView *listview = qobject_cast<const QListView *>(widget)) {
if (listview->viewMode() == QListView::IconMode)
newStyle = true;
- } else if (const QTreeView* treeview = qobject_cast<const QTreeView *>(widget)) {
+ } else if (qobject_cast<const QTreeView *>(widget)) {
newStyle = true;
}
if (newStyle && view && (vopt = qstyleoption_cast<const QStyleOptionViewItemV4 *>(option))) {
@@ -1541,7 +1537,7 @@ void QWindowsVistaStyle::drawControl(ControlElement element, const QStyleOption
}
/*!
- \reimp
+ \internal
see drawPrimitive for comments on the animation support
@@ -1927,7 +1923,7 @@ void QWindowsVistaStyle::drawComplexControl(ComplexControl control, const QStyle
}
/*!
- \reimp
+ \internal
*/
QSize QWindowsVistaStyle::sizeFromContents(ContentsType type, const QStyleOption *option,
const QSize &size, const QWidget *widget) const
@@ -2004,7 +2000,7 @@ QSize QWindowsVistaStyle::sizeFromContents(ContentsType type, const QStyleOption
}
/*!
- \reimp
+ \internal
*/
QRect QWindowsVistaStyle::subElementRect(SubElement element, const QStyleOption *option, const QWidget *widget) const
{
@@ -2019,7 +2015,7 @@ QRect QWindowsVistaStyle::subElementRect(SubElement element, const QStyleOption
MARGINS borderSize;
HTHEME theme = pOpenThemeData(widget ? QWindowsVistaStylePrivate::winId(widget) : 0, L"Button");
if (theme) {
- int stateId;
+ int stateId = PBS_NORMAL;
if (!(option->state & State_Enabled))
stateId = PBS_DISABLED;
else if (option->state & State_Sunken)
@@ -2028,8 +2024,6 @@ QRect QWindowsVistaStyle::subElementRect(SubElement element, const QStyleOption
stateId = PBS_HOT;
else if (btn->features & QStyleOptionButton::DefaultButton)
stateId = PBS_DEFAULTED;
- else
- stateId = PBS_NORMAL;
int border = proxy()->pixelMetric(PM_DefaultFrameWidth, btn, widget);
rect = option->rect.adjusted(border, border, -border, -border);
@@ -2102,7 +2096,7 @@ QRect QWindowsVistaStyle::subElementRect(SubElement element, const QStyleOption
rect = QCommonStyle::subElementRect(SE_ProgressBarGroove, option, widget);
break;
case SE_ItemViewItemDecoration:
- if (const QStyleOptionViewItemV4 *vopt = qstyleoption_cast<const QStyleOptionViewItemV4 *>(option))
+ if (qstyleoption_cast<const QStyleOptionViewItemV4 *>(option))
rect.adjust(-2, 0, 2, 0);
break;
case SE_ItemViewItemFocusRect:
@@ -2175,7 +2169,7 @@ static bool buttonVisible(const QStyle::SubControl sc, const QStyleOptionTitleBa
}
-/*! \reimp */
+/*! \internal */
int QWindowsVistaStyle::styleHint(StyleHint hint, const QStyleOption *option, const QWidget *widget,
QStyleHintReturn *returnData) const
{
@@ -2209,7 +2203,7 @@ int QWindowsVistaStyle::styleHint(StyleHint hint, const QStyleOption *option, co
/*!
- \reimp
+ \internal
*/
QRect QWindowsVistaStyle::subControlRect(ComplexControl control, const QStyleOptionComplex *option,
SubControl subControl, const QWidget *widget) const
@@ -2236,7 +2230,7 @@ QRect QWindowsVistaStyle::subControlRect(ComplexControl control, const QStyleOpt
rect = cb->rect;
break;
case SC_ComboBoxArrow:
- rect.setRect(cb->editable ? xpos : 0, y , wi - xpos, he);
+ rect.setRect(xpos, y , wi - xpos, he);
break;
case SC_ComboBoxEditField:
rect.setRect(x + margin, y + margin, wi - 2 * margin - 16, he - 2 * margin);
@@ -2308,6 +2302,8 @@ QRect QWindowsVistaStyle::subControlRect(ComplexControl control, const QStyleOpt
rect = visualRect(option->direction, option->rect, rect);
}
break;
+ default:
+ break;
}
}
break;
@@ -2318,7 +2314,7 @@ QRect QWindowsVistaStyle::subControlRect(ComplexControl control, const QStyleOpt
}
/*!
- \reimp
+ \internal
*/
bool QWindowsVistaStyle::event(QEvent *e)
{
@@ -2341,7 +2337,7 @@ bool QWindowsVistaStyle::event(QEvent *e)
}
/*!
- \reimp
+ \internal
*/
QStyle::SubControl QWindowsVistaStyle::hitTestComplexControl(ComplexControl control, const QStyleOptionComplex *option,
const QPoint &pos, const QWidget *widget) const
@@ -2353,7 +2349,7 @@ QStyle::SubControl QWindowsVistaStyle::hitTestComplexControl(ComplexControl cont
}
/*!
- \reimp
+ \internal
*/
int QWindowsVistaStyle::pixelMetric(PixelMetric metric, const QStyleOption *option, const QWidget *widget) const
{
@@ -2378,7 +2374,7 @@ int QWindowsVistaStyle::pixelMetric(PixelMetric metric, const QStyleOption *opti
}
/*!
- \reimp
+ \internal
*/
QPalette QWindowsVistaStyle::standardPalette() const
{
@@ -2386,7 +2382,7 @@ QPalette QWindowsVistaStyle::standardPalette() const
}
/*!
- \reimp
+ \internal
*/
void QWindowsVistaStyle::polish(QApplication *app)
{
@@ -2394,7 +2390,7 @@ void QWindowsVistaStyle::polish(QApplication *app)
}
/*!
- \reimp
+ \internal
*/
void QWindowsVistaStyle::polish(QWidget *widget)
{
@@ -2448,7 +2444,7 @@ void QWindowsVistaStyle::polish(QWidget *widget)
}
/*!
- \reimp
+ \internal
*/
void QWindowsVistaStyle::unpolish(QWidget *widget)
{
@@ -2490,7 +2486,7 @@ void QWindowsVistaStyle::unpolish(QWidget *widget)
/*!
- \reimp
+ \internal
*/
void QWindowsVistaStyle::unpolish(QApplication *app)
{
@@ -2498,7 +2494,7 @@ void QWindowsVistaStyle::unpolish(QApplication *app)
}
/*!
- \reimp
+ \internal
*/
void QWindowsVistaStyle::polish(QPalette &pal)
{
@@ -2507,7 +2503,7 @@ void QWindowsVistaStyle::polish(QPalette &pal)
}
/*!
- \reimp
+ \internal
*/
QPixmap QWindowsVistaStyle::standardPixmap(StandardPixmap standardPixmap, const QStyleOption *option,
const QWidget *widget) const
@@ -2576,9 +2572,7 @@ void QWindowsVistaStylePrivate::startAnimation(Animation *t)
bool QWindowsVistaStylePrivate::transitionsEnabled() const
{
BOOL animEnabled = false;
- if (QT_WA_INLINE(SystemParametersInfo(SPI_GETCLIENTAREAANIMATION, 0, &animEnabled, 0),
- SystemParametersInfoA(SPI_GETCLIENTAREAANIMATION, 0, &animEnabled, 0)
- ))
+ if (SystemParametersInfo(SPI_GETCLIENTAREAANIMATION, 0, &animEnabled, 0))
{
if (animEnabled)
return true;
diff --git a/src/gui/styles/qwindowsvistastyle.h b/src/gui/styles/qwindowsvistastyle.h
index 60cd7a5..97b1e74 100644
--- a/src/gui/styles/qwindowsvistastyle.h
+++ b/src/gui/styles/qwindowsvistastyle.h
@@ -96,7 +96,7 @@ protected Q_SLOTS:
private:
Q_DISABLE_COPY(QWindowsVistaStyle)
- Q_DECLARE_SCOPED_PRIVATE(QWindowsVistaStyle)
+ Q_DECLARE_PRIVATE(QWindowsVistaStyle)
friend class QStyleFactory;
};
#endif //QT_NO_STYLE_WINDOWSVISTA
diff --git a/src/gui/styles/qwindowsxpstyle.cpp b/src/gui/styles/qwindowsxpstyle.cpp
index 322bfac..ad87354 100644
--- a/src/gui/styles/qwindowsxpstyle.cpp
+++ b/src/gui/styles/qwindowsxpstyle.cpp
@@ -134,6 +134,7 @@ static const int windowsRightBorder = 12; // right border on windows
// External function calls
extern Q_GUI_EXPORT HDC qt_win_display_dc();
+extern QRegion qt_region_from_HRGN(HRGN rgn);
@@ -161,8 +162,7 @@ HTHEME XPThemeData::handle()
htheme = QWindowsXPStylePrivate::handleMap->operator[](name);
if (!htheme) {
- htheme = pOpenThemeData(QWindowsXPStylePrivate::winId(widget),
- (TCHAR*)name.utf16());
+ htheme = pOpenThemeData(QWindowsXPStylePrivate::winId(widget), (wchar_t*)name.utf16());
if (htheme) {
if (!QWindowsXPStylePrivate::handleMap)
QWindowsXPStylePrivate::handleMap = new QMap<QString, HTHEME>;
@@ -446,6 +446,7 @@ bool QWindowsXPStylePrivate::isTransparent(XPThemeData &themeData)
themeData.stateId);
}
+
/*! \internal
Returns a QRegion of the region of the part
*/
@@ -457,12 +458,18 @@ QRegion QWindowsXPStylePrivate::region(XPThemeData &themeData)
themeData.stateId, &rect, &hRgn)))
return QRegion();
- QRegion rgn = QRegion(0,0,1,1);
- const bool success = CombineRgn(rgn.handle(), hRgn, 0, RGN_COPY) != ERROR;
- DeleteObject(hRgn);
+ HRGN dest = CreateRectRgn(0, 0, 0, 0);
+ const bool success = CombineRgn(dest, hRgn, 0, RGN_COPY) != ERROR;
+
+ QRegion region;
+
if (success)
- return rgn;
- return QRegion();
+ region = qt_region_from_HRGN(dest);
+
+ DeleteObject(hRgn);
+ DeleteObject(dest);
+
+ return region;
}
/*! \internal
@@ -1203,7 +1210,8 @@ QRect QWindowsXPStyle::subElementRect(SubElement sr, const QStyleOption *option,
if (const QStyleOptionButton *btn = qstyleoption_cast<const QStyleOptionButton *>(option)) {
MARGINS borderSize;
if (widget) {
- HTHEME theme = pOpenThemeData(QWindowsXPStylePrivate::winId(widget), L"Button");
+ XPThemeData buttontheme(widget, 0, QLatin1String("Button"));
+ HTHEME theme = buttontheme.handle();
if (theme) {
int stateId;
if (!(option->state & State_Enabled))
@@ -1547,11 +1555,11 @@ case PE_Frame:
if (widget) {
bool useGradient = true;
const int maxlength = 256;
- WCHAR themeFileName[maxlength];
- WCHAR themeColor[maxlength];
+ wchar_t themeFileName[maxlength];
+ wchar_t themeColor[maxlength];
// Due to a a scaling issue with the XP Silver theme, tab gradients are not used with it
if (pGetCurrentThemeName(themeFileName, maxlength, themeColor, maxlength, NULL, 0) == S_OK) {
- WCHAR* offset;
+ wchar_t *offset = 0;
if ((offset = wcsrchr(themeFileName, QChar(QLatin1Char('\\')).unicode())) != NULL) {
offset++;
if (!lstrcmp(offset, L"Luna.msstyles") && !lstrcmp(offset, L"Metallic")) {
@@ -1919,8 +1927,8 @@ void QWindowsXPStyle::drawControl(ControlElement element, const QStyleOption *op
{
name = QLatin1String("BUTTON");
partId = BP_PUSHBUTTON;
- bool justFlat = (btn->features & QStyleOptionButton::Flat) && !(flags & (State_On|State_Sunken))
- || (btn->features & QStyleOptionButton::CommandLinkButton
+ bool justFlat = ((btn->features & QStyleOptionButton::Flat) && !(flags & (State_On|State_Sunken)))
+ || ((btn->features & QStyleOptionButton::CommandLinkButton)
&& !(flags & State_MouseOver)
&& !(btn->features & QStyleOptionButton::DefaultButton));
if (!(flags & State_Enabled) && !(btn->features & QStyleOptionButton::Flat))
@@ -3245,7 +3253,7 @@ int QWindowsXPStyle::pixelMetric(PixelMetric pm, const QStyleOption *option, con
if (theme.isValid()) {
SIZE size;
pGetThemePartSize(theme.handle(), 0, theme.partId, theme.stateId, 0, TS_TRUE, &size);
- res = (pm == PM_IndicatorWidth ? size.cx : res = size.cy);
+ res = (pm == PM_IndicatorWidth) ? size.cx : size.cy;
}
}
break;
@@ -3257,7 +3265,7 @@ int QWindowsXPStyle::pixelMetric(PixelMetric pm, const QStyleOption *option, con
if (theme.isValid()) {
SIZE size;
pGetThemePartSize(theme.handle(), 0, theme.partId, theme.stateId, 0, TS_TRUE, &size);
- res = (pm == PM_ExclusiveIndicatorWidth ? size.cx : res = size.cy);
+ res = (pm == PM_ExclusiveIndicatorWidth) ? size.cx : size.cy;
}
}
break;
@@ -3537,6 +3545,8 @@ QRect QWindowsXPStyle::subControlRect(ComplexControl cc, const QStyleOptionCompl
rect = QRect(frameWidth + hPad, controlTop + vPad, iconSize.width(), iconSize.height());
}
break;
+ default:
+ break;
}
}
break;
@@ -3563,6 +3573,9 @@ QRect QWindowsXPStyle::subControlRect(ComplexControl cc, const QStyleOptionCompl
case SC_ComboBoxListBoxPopup:
rect = cmb->rect;
break;
+
+ default:
+ break;
}
}
break;
@@ -3627,7 +3640,8 @@ QSize QWindowsXPStyle::sizeFromContents(ContentsType ct, const QStyleOption *opt
case CT_LineEdit:
case CT_ComboBox:
{
- HTHEME theme = pOpenThemeData(QWindowsXPStylePrivate::winId(widget), L"Button");
+ XPThemeData buttontheme(widget, 0, QLatin1String("Button"));
+ HTHEME theme = buttontheme.handle();
MARGINS borderSize;
if (theme) {
int result = pGetThemeMargins(theme,
@@ -3803,6 +3817,8 @@ QPixmap QWindowsXPStyle::standardPixmap(StandardPixmap standardPixmap, const QSt
}
}
break;
+ default:
+ break;
}
return QWindowsStyle::standardPixmap(standardPixmap, option, widget);
}
@@ -3924,6 +3940,8 @@ QIcon QWindowsXPStyle::standardIconImplementation(StandardPixmap standardIcon,
}
break;
+ default:
+ break;
}
return QWindowsStyle::standardIconImplementation(standardIcon, option, widget);
diff --git a/src/gui/styles/qwindowsxpstyle.h b/src/gui/styles/qwindowsxpstyle.h
index 21e24ff..ab26f56 100644
--- a/src/gui/styles/qwindowsxpstyle.h
+++ b/src/gui/styles/qwindowsxpstyle.h
@@ -93,7 +93,7 @@ protected Q_SLOTS:
private:
Q_DISABLE_COPY(QWindowsXPStyle)
- Q_DECLARE_SCOPED_PRIVATE(QWindowsXPStyle)
+ Q_DECLARE_PRIVATE(QWindowsXPStyle)
friend class QStyleFactory;
void *reserved;
};
diff --git a/src/gui/text/qabstractfontengine_qws.h b/src/gui/text/qabstractfontengine_qws.h
index 8403f87..e6be611 100644
--- a/src/gui/text/qabstractfontengine_qws.h
+++ b/src/gui/text/qabstractfontengine_qws.h
@@ -118,7 +118,7 @@ public:
virtual QList<QFontEngineInfo> availableFontEngines() const = 0;
private:
- Q_DECLARE_SCOPED_PRIVATE(QFontEnginePlugin)
+ Q_DECLARE_PRIVATE(QFontEnginePlugin)
Q_DISABLE_COPY(QFontEnginePlugin)
};
@@ -207,7 +207,7 @@ public:
*/
private:
- Q_DECLARE_SCOPED_PRIVATE(QAbstractFontEngine)
+ Q_DECLARE_PRIVATE(QAbstractFontEngine)
Q_DISABLE_COPY(QAbstractFontEngine)
};
diff --git a/src/gui/text/qabstracttextdocumentlayout.cpp b/src/gui/text/qabstracttextdocumentlayout.cpp
index 8d7540c..04df2aa 100644
--- a/src/gui/text/qabstracttextdocumentlayout.cpp
+++ b/src/gui/text/qabstracttextdocumentlayout.cpp
@@ -79,6 +79,7 @@ QT_BEGIN_NAMESPACE
\class QTextObjectInterface
\brief The QTextObjectInterface class allows drawing of
custom text objects in \l{QTextDocument}s.
+ \since 4.5
A text object describes the structure of one or more elements in a
text document; for instance, images imported from HTML are
diff --git a/src/gui/text/qabstracttextdocumentlayout.h b/src/gui/text/qabstracttextdocumentlayout.h
index 3681eec..070c301 100644
--- a/src/gui/text/qabstracttextdocumentlayout.h
+++ b/src/gui/text/qabstracttextdocumentlayout.h
@@ -62,7 +62,7 @@ class QTextFrame;
class Q_GUI_EXPORT QAbstractTextDocumentLayout : public QObject
{
Q_OBJECT
- Q_DECLARE_SCOPED_PRIVATE(QAbstractTextDocumentLayout)
+ Q_DECLARE_PRIVATE(QAbstractTextDocumentLayout)
public:
explicit QAbstractTextDocumentLayout(QTextDocument *doc);
diff --git a/src/gui/text/qcssparser.cpp b/src/gui/text/qcssparser.cpp
index e6bdcc6..99374b5 100644
--- a/src/gui/text/qcssparser.cpp
+++ b/src/gui/text/qcssparser.cpp
@@ -200,6 +200,7 @@ static const QCssKnownValue values[NumKnownValues - 1] = {
{ "link", Value_Link },
{ "link-visited", Value_LinkVisited },
{ "lower-alpha", Value_LowerAlpha },
+ { "lower-roman", Value_LowerRoman },
{ "lowercase", Value_Lowercase },
{ "medium", Value_Medium },
{ "mid", Value_Mid },
@@ -231,6 +232,7 @@ static const QCssKnownValue values[NumKnownValues - 1] = {
{ "transparent", Value_Transparent },
{ "underline", Value_Underline },
{ "upper-alpha", Value_UpperAlpha },
+ { "upper-roman", Value_UpperRoman },
{ "uppercase", Value_Uppercase },
{ "wave", Value_Wave },
{ "window", Value_Window },
@@ -240,10 +242,10 @@ static const QCssKnownValue values[NumKnownValues - 1] = {
};
//Map id to strings as they appears in the 'values' array above
-static const short indexOfId[NumKnownValues] = { 0, 40, 47, 41, 48, 53, 34, 26, 68, 69, 25, 42, 5, 62, 46,
- 29, 57, 58, 27, 50, 60, 6, 10, 38, 55, 19, 13, 17, 18, 20, 21, 49, 24, 45, 65, 36, 3, 2, 39, 61, 16,
- 11, 56, 14, 32, 63, 54, 64, 33, 67, 8, 28, 37, 12, 35, 59, 7, 9, 4, 66, 52, 22, 23, 30, 31, 1, 15, 0,
- 51, 44, 43 };
+static const short indexOfId[NumKnownValues] = { 0, 41, 48, 42, 49, 54, 35, 26, 70, 71, 25, 43, 5, 63, 47,
+ 29, 58, 59, 27, 51, 61, 6, 10, 39, 56, 19, 13, 17, 18, 20, 21, 50, 24, 46, 67, 37, 3, 2, 40, 62, 16,
+ 11, 57, 14, 32, 64, 33, 65, 55, 66, 34, 69, 8, 28, 38, 12, 36, 60, 7, 9, 4, 68, 53, 22, 23, 30, 31,
+ 1, 15, 0, 52, 45, 44 };
QString Value::toString() const
{
diff --git a/src/gui/text/qcssparser_p.h b/src/gui/text/qcssparser_p.h
index 8056f4d..9f046ff 100644
--- a/src/gui/text/qcssparser_p.h
+++ b/src/gui/text/qcssparser_p.h
@@ -67,6 +67,11 @@
#ifndef QT_NO_CSSPARSER
+// VxWorks defines NONE as (-1) "for times when NULL won't do"
+#if defined(Q_OS_VXWORKS) && defined(NONE)
+# undef NONE
+#endif
+
QT_BEGIN_NAMESPACE
namespace QCss
@@ -223,6 +228,8 @@ enum KnownValue {
Value_Decimal,
Value_LowerAlpha,
Value_UpperAlpha,
+ Value_LowerRoman,
+ Value_UpperRoman,
Value_SmallCaps,
Value_Uppercase,
Value_Lowercase,
diff --git a/src/gui/text/qfont_s60.cpp b/src/gui/text/qfont_s60.cpp
index 533e51f..4bc81f8 100644
--- a/src/gui/text/qfont_s60.cpp
+++ b/src/gui/text/qfont_s60.cpp
@@ -1,9 +1,9 @@
/****************************************************************************
**
-** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
-** This file is part of the $MODULE$ of the Qt Toolkit.
+** This file is part of the QtGui of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/src/gui/text/qfont_win.cpp b/src/gui/text/qfont_win.cpp
index 2c27c9b..2293973 100644
--- a/src/gui/text/qfont_win.cpp
+++ b/src/gui/text/qfont_win.cpp
@@ -39,11 +39,6 @@
**
****************************************************************************/
-// the miscrosoft platform SDK says that the Unicode versions of
-// TextOut and GetTextExtentsPoint32 are supported on all platforms, so we use them
-// exclusively to simplify code, save a lot of conversions into the local encoding
-// and have generally better unicode support :)
-
#include "qfont.h"
#include "qfont_p.h"
#include "qfontengine_p.h"
@@ -67,8 +62,7 @@ extern HDC shared_dc(); // common dc for all fonts
// ### maybe move to qapplication_win
QFont qt_LOGFONTtoQFont(LOGFONT& lf, bool /*scale*/)
{
- QString family = QT_WA_INLINE(QString::fromUtf16((ushort*)lf.lfFaceName),
- QString::fromLocal8Bit((char*)lf.lfFaceName));
+ QString family = QString::fromWCharArray(lf.lfFaceName);
QFont qf(family);
qf.setItalic(lf.lfItalic);
if (lf.lfWeight != FW_DONTCARE) {
diff --git a/src/gui/text/qfontdatabase_qws.cpp b/src/gui/text/qfontdatabase_qws.cpp
index f4e37b7..d731d21 100644
--- a/src/gui/text/qfontdatabase_qws.cpp
+++ b/src/gui/text/qfontdatabase_qws.cpp
@@ -54,6 +54,7 @@
#endif
#include "qfontengine_qpf_p.h"
#include "private/qfactoryloader_p.h"
+#include "private/qcore_unix_p.h" // overrides QT_OPEN
#include "qabstractfontengine_qws.h"
#include "qabstractfontengine_p.h"
#include <qdatetime.h>
@@ -90,7 +91,7 @@ void QFontDatabasePrivate::addQPF2File(const QByteArray &file)
struct stat st;
if (stat(file.constData(), &st))
return;
- int f = ::open(file, O_RDONLY, 0);
+ int f = QT_OPEN(file, O_RDONLY, 0);
if (f < 0)
return;
const uchar *data = (const uchar *)mmap(0, st.st_size, PROT_READ, MAP_SHARED, f, 0);
@@ -138,7 +139,7 @@ void QFontDatabasePrivate::addQPF2File(const QByteArray &file)
#endif
}
#ifndef QT_FONTS_ARE_RESOURCES
- ::close(f);
+ QT_CLOSE(f);
#endif
}
#endif // QT_NO_QWS_QPF2
@@ -256,7 +257,7 @@ static QString qwsFontPath()
return fontpath;
}
-#ifdef QFONTDATABASE_DEBUG
+#if defined(QFONTDATABASE_DEBUG) && defined(QT_FONTS_ARE_RESOURCES)
class FriendlyResource : public QResource
{
public:
@@ -590,8 +591,12 @@ QFontEngine *loadSingleEngine(int script, const QFontPrivate *fp,
QFontDef def = request;
def.pixelSize = pixelSize;
+#ifdef QT_NO_QWS_SHARE_FONTS
+ bool shareFonts = false;
+#else
static bool dontShareFonts = !qgetenv("QWS_NO_SHARE_FONTS").isEmpty();
bool shareFonts = !dontShareFonts;
+#endif
QScopedPointer<QFontEngine> engine;
diff --git a/src/gui/text/qfontdatabase_s60.cpp b/src/gui/text/qfontdatabase_s60.cpp
index 8176009..39fc5e1 100644
--- a/src/gui/text/qfontdatabase_s60.cpp
+++ b/src/gui/text/qfontdatabase_s60.cpp
@@ -1,9 +1,9 @@
/****************************************************************************
**
-** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
-** This file is part of the $MODULE$ of the Qt Toolkit.
+** This file is part of the QtGui of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
@@ -287,6 +287,12 @@ static void registerFont(QFontDatabasePrivate::ApplicationFont *fnt)
Q_UNUSED(fnt);
}
+bool QFontDatabase::removeApplicationFont(int handle)
+{
+ Q_UNUSED(handle);
+ return false;
+}
+
bool QFontDatabase::supportsThreadedFontRendering()
{
return false;
diff --git a/src/gui/text/qfontdatabase_win.cpp b/src/gui/text/qfontdatabase_win.cpp
index 2c0223b..974b955 100644
--- a/src/gui/text/qfontdatabase_win.cpp
+++ b/src/gui/text/qfontdatabase_win.cpp
@@ -195,21 +195,12 @@ static QString getEnglishName(const QString &familyName)
QString i18n_name;
HDC hdc = GetDC( 0 );
- HFONT hfont;
- QT_WA( {
- LOGFONTW lf;
- memset( &lf, 0, sizeof( LOGFONTW ) );
- memcpy( lf.lfFaceName, familyName.utf16(), qMin(LF_FACESIZE, familyName.length())*sizeof(QChar) );
- lf.lfCharSet = DEFAULT_CHARSET;
- hfont = CreateFontIndirectW( &lf );
- }, {
- LOGFONTA lf;
- memset( &lf, 0, sizeof( LOGFONTA ) );
- QByteArray lfam = familyName.toLocal8Bit();
- memcpy( lf.lfFaceName, lfam, qMin(LF_FACESIZE, lfam.size()) );
- lf.lfCharSet = DEFAULT_CHARSET;
- hfont = CreateFontIndirectA( &lf );
- } );
+ LOGFONT lf;
+ memset(&lf, 0, sizeof(LOGFONT));
+ memcpy(lf.lfFaceName, familyName.utf16(), qMin(LF_FACESIZE, familyName.length()) * sizeof(wchar_t));
+ lf.lfCharSet = DEFAULT_CHARSET;
+ HFONT hfont = CreateFontIndirect(&lf);
+
if(!hfont) {
ReleaseDC(0, hdc);
return QString();
@@ -245,32 +236,6 @@ error:
return i18n_name;
}
-static void getFontSignature(const QString &familyName,
- NEWTEXTMETRICEX *textmetric,
- FONTSIGNATURE *signature)
-{
- QT_WA({
- Q_UNUSED(familyName);
- *signature = textmetric->ntmFontSig;
- }, {
- // the textmetric structure we get from EnumFontFamiliesEx on Win9x has
- // a FONTSIGNATURE, but that one is uninitialized and doesn't work. Have to go
- // the hard way and load the font to find out.
- HDC hdc = GetDC(0);
- LOGFONTA lf;
- memset(&lf, 0, sizeof(LOGFONTA));
- QByteArray lfam = familyName.toLocal8Bit();
- memcpy(lf.lfFaceName, lfam.data(), qMin(LF_FACESIZE, lfam.length()));
- lf.lfCharSet = DEFAULT_CHARSET;
- HFONT hfont = CreateFontIndirectA(&lf);
- HGDIOBJ oldobj = SelectObject(hdc, hfont);
- GetTextCharsetInfo(hdc, signature, 0);
- SelectObject(hdc, oldobj);
- DeleteObject(hfont);
- ReleaseDC(0, hdc);
- });
-}
-
static
void addFontToDatabase(QString familyName, const QString &scriptName,
TEXTMETRIC *textmetric,
@@ -288,26 +253,17 @@ void addFontToDatabase(QString familyName, const QString &scriptName,
bool scalable;
int size;
-// QString escript = QString::fromUtf16((ushort *)f->elfScript);
+// QString escript = QString::fromWCharArray(f->elfScript);
// qDebug("script=%s", escript.latin1());
- QT_WA({
- NEWTEXTMETRIC *tm = (NEWTEXTMETRIC *)textmetric;
- fixed = !(tm->tmPitchAndFamily & TMPF_FIXED_PITCH);
- ttf = (tm->tmPitchAndFamily & TMPF_TRUETYPE);
- scalable = tm->tmPitchAndFamily & (TMPF_VECTOR|TMPF_TRUETYPE);
- size = scalable ? SMOOTH_SCALABLE : tm->tmHeight;
- italic = tm->tmItalic;
- weight = tm->tmWeight;
- } , {
- NEWTEXTMETRICA *tm = (NEWTEXTMETRICA *)textmetric;
- fixed = !(tm->tmPitchAndFamily & TMPF_FIXED_PITCH);
- ttf = (tm->tmPitchAndFamily & TMPF_TRUETYPE);
- scalable = tm->tmPitchAndFamily & (TMPF_VECTOR|TMPF_TRUETYPE);
- size = scalable ? SMOOTH_SCALABLE : tm->tmHeight;
- italic = tm->tmItalic;
- weight = tm->tmWeight;
- });
+ NEWTEXTMETRIC *tm = (NEWTEXTMETRIC *)textmetric;
+ fixed = !(tm->tmPitchAndFamily & TMPF_FIXED_PITCH);
+ ttf = (tm->tmPitchAndFamily & TMPF_TRUETYPE);
+ scalable = tm->tmPitchAndFamily & (TMPF_VECTOR|TMPF_TRUETYPE);
+ size = scalable ? SMOOTH_SCALABLE : tm->tmHeight;
+ italic = tm->tmItalic;
+ weight = tm->tmWeight;
+
// the "@family" fonts are just the same as "family". Ignore them.
if (familyName[0] != QLatin1Char('@') && !familyName.startsWith(QLatin1String("WST_"))) {
QtFontStyle::Key styleKey;
@@ -420,18 +376,10 @@ static
int CALLBACK
storeFont(ENUMLOGFONTEX* f, NEWTEXTMETRICEX *textmetric, int type, LPARAM /*p*/)
{
- QString familyName;
- QT_WA({
- familyName = QString::fromUtf16((ushort*)f->elfLogFont.lfFaceName);
- },{
- ENUMLOGFONTEXA *fa = (ENUMLOGFONTEXA *)f;
- familyName = QString::fromLocal8Bit(fa->elfLogFont.lfFaceName);
- });
- QString script = QT_WA_INLINE(QString::fromUtf16((const ushort *)f->elfScript),
- QString::fromLocal8Bit((const char *)((ENUMLOGFONTEXA *)f)->elfScript));
-
- FONTSIGNATURE signature;
- getFontSignature(familyName, textmetric, &signature);
+ QString familyName = QString::fromWCharArray(f->elfLogFont.lfFaceName);
+ QString script = QString::fromWCharArray(f->elfScript);
+
+ FONTSIGNATURE signature = textmetric->ntmFontSig;
// NEWTEXTMETRICEX is a NEWTEXTMETRIC, which according to the documentation is
// identical to a TEXTMETRIC except for the last four members, which we don't use
@@ -459,33 +407,17 @@ void populate_database(const QString& fam)
HDC dummy = GetDC(0);
- QT_WA({
- LOGFONT lf;
- lf.lfCharSet = DEFAULT_CHARSET;
- if (fam.isNull()) {
- lf.lfFaceName[0] = 0;
- } else {
- memcpy(lf.lfFaceName, fam.utf16(), sizeof(TCHAR)*qMin(fam.length()+1,32)); // 32 = Windows hard-coded
- }
- lf.lfPitchAndFamily = 0;
-
- EnumFontFamiliesEx(dummy, &lf,
- (FONTENUMPROC)storeFont, (LPARAM)privateDb(), 0);
- } , {
- LOGFONTA lf;
- lf.lfCharSet = DEFAULT_CHARSET;
- if (fam.isNull()) {
- lf.lfFaceName[0] = 0;
- } else {
- QByteArray lname = fam.toLocal8Bit();
- memcpy(lf.lfFaceName,lname.data(),
- qMin(lname.length()+1,32)); // 32 = Windows hard-coded
- }
- lf.lfPitchAndFamily = 0;
+ LOGFONT lf;
+ lf.lfCharSet = DEFAULT_CHARSET;
+ if (fam.isNull()) {
+ lf.lfFaceName[0] = 0;
+ } else {
+ memcpy(lf.lfFaceName, fam.utf16(), sizeof(wchar_t) * qMin(fam.length() + 1, 32)); // 32 = Windows hard-coded
+ }
+ lf.lfPitchAndFamily = 0;
- EnumFontFamiliesExA(dummy, &lf,
- (FONTENUMPROCA)storeFont, (LPARAM)privateDb(), 0);
- });
+ EnumFontFamiliesEx(dummy, &lf,
+ (FONTENUMPROC)storeFont, (LPARAM)privateDb(), 0);
ReleaseDC(0, dummy);
@@ -496,21 +428,11 @@ void populate_database(const QString& fam)
for (int j = 0; j < fnt.families.count(); ++j) {
const QString familyName = fnt.families.at(j);
HDC hdc = GetDC(0);
- HFONT hfont;
- QT_WA({
- LOGFONTW lf;
- memset(&lf, 0, sizeof(LOGFONTW));
- memcpy(lf.lfFaceName, familyName.utf16(), qMin(LF_FACESIZE, familyName.size()));
- lf.lfCharSet = DEFAULT_CHARSET;
- hfont = CreateFontIndirectW(&lf);
- } , {
- LOGFONTA lf;
- memset(&lf, 0, sizeof(LOGFONTA));
- QByteArray lfam = familyName.toLocal8Bit();
- memcpy(lf.lfFaceName, lfam.data(), qMin(LF_FACESIZE, lfam.length()));
- lf.lfCharSet = DEFAULT_CHARSET;
- hfont = CreateFontIndirectA(&lf);
- });
+ LOGFONT lf;
+ memset(&lf, 0, sizeof(LOGFONT));
+ memcpy(lf.lfFaceName, familyName.utf16(), sizeof(wchar_t) * qMin(LF_FACESIZE, familyName.size()));
+ lf.lfCharSet = DEFAULT_CHARSET;
+ HFONT hfont = CreateFontIndirect(&lf);
HGDIOBJ oldobj = SelectObject(hdc, hfont);
TEXTMETRIC textMetrics;
@@ -598,17 +520,10 @@ static void initFontInfo(QFontEngineWin *fe, const QFontDef &request, const QFon
HDC dc = ((request.styleStrategy & QFont::PreferDevice) && fp->hdc) ? fp->hdc : shared_dc();
SelectObject(dc, fe->hfont);
- QT_WA({
- TCHAR n[64];
- GetTextFaceW(dc, 64, n);
- fe->fontDef.family = QString::fromUtf16((ushort*)n);
- fe->fontDef.fixedPitch = !(fe->tm.w.tmPitchAndFamily & TMPF_FIXED_PITCH);
- } , {
- char an[64];
- GetTextFaceA(dc, 64, an);
- fe->fontDef.family = QString::fromLocal8Bit(an);
- fe->fontDef.fixedPitch = !(fe->tm.a.tmPitchAndFamily & TMPF_FIXED_PITCH);
- });
+ wchar_t n[64];
+ GetTextFace(dc, 64, n);
+ fe->fontDef.family = QString::fromWCharArray(n);
+ fe->fontDef.fixedPitch = !(fe->tm.tmPitchAndFamily & TMPF_FIXED_PITCH);
if (fe->fontDef.pointSize < 0) {
fe->fontDef.pointSize = fe->fontDef.pixelSize * 72. / fp->dpi;
} else if (fe->fontDef.pixelSize == -1) {
@@ -704,12 +619,7 @@ QFontEngine *loadEngine(int script, const QFontPrivate *fp, const QFontDef &requ
HFONT hfont = 0;
if (fp->rawMode) { // will choose a stock font
- int f, deffnt;
- // ### why different?
- if ((QSysInfo::WindowsVersion & QSysInfo::WV_NT_based) || QSysInfo::WindowsVersion == QSysInfo::WV_32s)
- deffnt = SYSTEM_FONT;
- else
- deffnt = DEFAULT_GUI_FONT;
+ int f, deffnt = SYSTEM_FONT;
QString fam = desc->family->name.toLower();
if (fam == QLatin1String("default"))
f = deffnt;
@@ -778,11 +688,7 @@ QFontEngine *loadEngine(int script, const QFontPrivate *fp, const QFontDef &requ
} else if (request.styleStrategy & QFont::PreferDevice) {
strat = OUT_DEVICE_PRECIS;
} else if (request.styleStrategy & QFont::PreferOutline) {
- QT_WA({
- strat = OUT_OUTLINE_PRECIS;
- } , {
- strat = OUT_TT_PRECIS;
- });
+ strat = OUT_OUTLINE_PRECIS;
} else if (request.styleStrategy & QFont::ForceOutline) {
strat = OUT_TT_ONLY_PRECIS;
#endif
@@ -801,7 +707,7 @@ QFontEngine *loadEngine(int script, const QFontPrivate *fp, const QFontDef &requ
if (request.styleStrategy & QFont::PreferAntialias) {
if (QSysInfo::WindowsVersion >= QSysInfo::WV_XP) {
- qual = 5; // == CLEARTYPE_QUALITY;
+ qual = CLEARTYPE_QUALITY;
preferClearTypeAA = true;
} else {
qual = ANTIALIASED_QUALITY;
@@ -827,16 +733,8 @@ QFontEngine *loadEngine(int script, const QFontPrivate *fp, const QFontDef &requ
if (fam == QLatin1String("Courier") && !(request.styleStrategy & QFont::PreferBitmap))
fam = QLatin1String("Courier New");
- QT_WA({
- memcpy(lf.lfFaceName, fam.utf16(), sizeof(TCHAR)*qMin(fam.length()+1,32)); // 32 = Windows hard-coded
- hfont = CreateFontIndirect(&lf);
- } , {
- // LOGFONTA and LOGFONTW are binary compatible
- QByteArray lname = fam.toLocal8Bit();
- memcpy(lf.lfFaceName,lname.data(),
- qMin(lname.length()+1,32)); // 32 = Windows hard-coded
- hfont = CreateFontIndirectA((LOGFONTA*)&lf);
- });
+ memcpy(lf.lfFaceName, fam.utf16(), sizeof(wchar_t) * qMin(fam.length() + 1, 32)); // 32 = Windows hard-coded
+ hfont = CreateFontIndirect(&lf);
if (!hfont)
qErrnoWarning("QFontEngine::loadEngine: CreateFontIndirect failed");
@@ -845,17 +743,12 @@ QFontEngine *loadEngine(int script, const QFontPrivate *fp, const QFontDef &requ
int avWidth = 0;
BOOL res;
HGDIOBJ oldObj = SelectObject(hdc, hfont);
- QT_WA({
- TEXTMETRICW tm;
- res = GetTextMetricsW(hdc, &tm);
- avWidth = tm.tmAveCharWidth;
- ttf = tm.tmPitchAndFamily & TMPF_TRUETYPE;
- } , {
- TEXTMETRICA tm;
- res = GetTextMetricsA(hdc, &tm);
- avWidth = tm.tmAveCharWidth;
- ttf = tm.tmPitchAndFamily & TMPF_TRUETYPE;
- });
+
+ TEXTMETRIC tm;
+ res = GetTextMetrics(hdc, &tm);
+ avWidth = tm.tmAveCharWidth;
+ ttf = tm.tmPitchAndFamily & TMPF_TRUETYPE;
+
SelectObject(hdc, oldObj);
if (hfont && (!ttf || request.stretch != 100)) {
@@ -863,11 +756,7 @@ QFontEngine *loadEngine(int script, const QFontPrivate *fp, const QFontDef &requ
if (!res)
qErrnoWarning("QFontEngine::loadEngine: GetTextMetrics failed");
lf.lfWidth = avWidth * request.stretch/100;
- QT_WA({
- hfont = CreateFontIndirect(&lf);
- } , {
- hfont = CreateFontIndirectA((LOGFONTA*)&lf);
- });
+ hfont = CreateFontIndirect(&lf);
if (!hfont)
qErrnoWarning("QFontEngine::loadEngine: CreateFontIndirect with stretch failed");
}
@@ -969,12 +858,6 @@ static QFontEngine *loadWin(const QFontPrivate *d, int script, const QFontDef &r
// list of families to try
QStringList family_list = familyList(req);
- if(QSysInfo::WindowsVersion & QSysInfo::WV_DOS_based && req.family.toLower() == QLatin1String("ms sans serif")) {
- // small hack for Dos based machines to get the right font for non
- // latin text when using the default font.
- family_list << QLatin1String("Arial");
- }
-
const char *stylehint = styleHint(d->request);
if (stylehint)
family_list << QLatin1String(stylehint);
@@ -1143,6 +1026,8 @@ static void getFamiliesAndSignatures(const QByteArray &fontData, QFontDatabasePr
signature.fsCsb[0] = qFromBigEndian<quint32>(table + 78);
signature.fsCsb[1] = qFromBigEndian<quint32>(table + 82);
+ } else {
+ memset(&signature, 0, sizeof(signature));
}
appFont->signatures << signature;
}
@@ -1165,21 +1050,21 @@ static void registerFont(QFontDatabasePrivate::ApplicationFont *fnt)
HANDLE handle = 0;
{
-#ifdef QT_NO_TEMPORARYFILE
- TCHAR lpBuffer[MAX_PATH];
+#ifdef QT_NO_TEMPORARYFILE
+ wchar_t lpBuffer[MAX_PATH];
GetTempPath(MAX_PATH, lpBuffer);
- QString s = QString::fromUtf16((const ushort *) lpBuffer);
+ QString s = QString::fromWCharArray(lpBuffer);
QFile tempfile(s + QLatin1String("/font") + QString::number(GetTickCount()) + QLatin1String(".ttf"));
if (!tempfile.open(QIODevice::ReadWrite))
#else
QTemporaryFile tempfile(QLatin1String("XXXXXXXX.ttf"));
if (!tempfile.open())
-#endif
+#endif // QT_NO_TEMPORARYFILE
return;
if (tempfile.write(fnt->data) == -1)
return;
-#ifndef QT_NO_TEMPORARYFILE
+#ifndef QT_NO_TEMPORARYFILE
tempfile.setAutoRemove(false);
#endif
fnt->fileName = QFileInfo(tempfile.fileName()).absoluteFilePath();
@@ -1191,13 +1076,11 @@ static void registerFont(QFontDatabasePrivate::ApplicationFont *fnt)
}
#else
DWORD dummy = 0;
- HANDLE handle = ptrAddFontMemResourceEx((void *)fnt->data.constData(),
- fnt->data.size(),
- 0,
- &dummy);
+ HANDLE handle = ptrAddFontMemResourceEx((void *)fnt->data.constData(), fnt->data.size(), 0,
+ &dummy);
if (handle == 0)
return;
-#endif
+#endif // Q_OS_WINCE
fnt->handle = handle;
fnt->data = QByteArray();
@@ -1219,12 +1102,10 @@ static void registerFont(QFontDatabasePrivate::ApplicationFont *fnt)
// supported from 2000 on, so no need to deal with the *A variant
PtrAddFontResourceExW ptrAddFontResourceExW = (PtrAddFontResourceExW)QLibrary::resolve(QLatin1String("gdi32"),
"AddFontResourceExW");
- if (!ptrAddFontResourceExW)
+ if (!ptrAddFontResourceExW
+ || ptrAddFontResourceExW((wchar_t*)fnt->fileName.utf16(), FR_PRIVATE, 0) == 0)
return;
-
- if (ptrAddFontResourceExW((LPCWSTR)fnt->fileName.utf16(), FR_PRIVATE, 0) == 0)
- return;
-#endif
+#endif // Q_OS_WINCE
fnt->memoryFont = false;
}
@@ -1250,12 +1131,10 @@ bool QFontDatabase::removeApplicationFont(int handle)
#else
PtrRemoveFontMemResourceEx ptrRemoveFontMemResourceEx = (PtrRemoveFontMemResourceEx)QLibrary::resolve(QLatin1String("gdi32"),
"RemoveFontMemResourceEx");
- if (!ptrRemoveFontMemResourceEx)
- return false;
-
- if (!ptrRemoveFontMemResourceEx(font.handle))
+ if (!ptrRemoveFontMemResourceEx
+ || !ptrRemoveFontMemResourceEx(font.handle))
return false;
-#endif
+#endif // Q_OS_WINCE
} else {
#ifdef Q_OS_WINCE
if (!RemoveFontResource((LPCWSTR)font.fileName.utf16()))
@@ -1263,12 +1142,10 @@ bool QFontDatabase::removeApplicationFont(int handle)
#else
PtrRemoveFontResourceExW ptrRemoveFontResourceExW = (PtrRemoveFontResourceExW)QLibrary::resolve(QLatin1String("gdi32"),
"RemoveFontResourceExW");
- if (!ptrRemoveFontResourceExW)
- return false;
-
- if (!ptrRemoveFontResourceExW((LPCWSTR)font.fileName.utf16(), FR_PRIVATE, 0))
+ if (!ptrRemoveFontResourceExW
+ || !ptrRemoveFontResourceExW((LPCWSTR)font.fileName.utf16(), FR_PRIVATE, 0))
return false;
-#endif
+#endif // Q_OS_WINCE
}
db->invalidate();
diff --git a/src/gui/text/qfontengine_ft.cpp b/src/gui/text/qfontengine_ft.cpp
index ecc4b4f..4c4438a 100644
--- a/src/gui/text/qfontengine_ft.cpp
+++ b/src/gui/text/qfontengine_ft.cpp
@@ -1389,8 +1389,8 @@ bool QFontEngineFT::loadGlyphs(QGlyphSet *gs, glyph_t *glyphs, int num_glyphs, G
FT_Face face = 0;
for (int i = 0; i < num_glyphs; ++i) {
- if (!gs->glyph_data.contains(glyphs[i])
- || gs->glyph_data.value(glyphs[i])->format != format) {
+ Glyph *glyph = gs->glyph_data.value(glyphs[i]);
+ if (glyph == 0 || glyph->format != format) {
if (!face) {
face = lockFace();
FT_Matrix m = matrix;
diff --git a/src/gui/text/qfontengine_mac.mm b/src/gui/text/qfontengine_mac.mm
index 76132df..dbf3015 100644
--- a/src/gui/text/qfontengine_mac.mm
+++ b/src/gui/text/qfontengine_mac.mm
@@ -156,7 +156,7 @@ QCoreTextFontEngineMulti::QCoreTextFontEngineMulti(const ATSFontFamilyRef &, con
if (!kerning) {
float zero = 0.0;
QCFType<CFNumberRef> noKern = CFNumberCreate(kCFAllocatorDefault, kCFNumberFloatType, &zero);
- CFDictionaryAddValue(attributeDict, kCTKernAttributeName, &noKern);
+ CFDictionaryAddValue(attributeDict, kCTKernAttributeName, noKern);
}
QCoreTextFontEngine *fe = new QCoreTextFontEngine(ctfont, fontDef, this);
@@ -1588,6 +1588,7 @@ QFontEngine::FaceId QFontEngineMac::faceId() const
{
FaceId ret;
#if (MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5)
+if (QSysInfo::MacintoshVersion >= QSysInfo::MV_10_5) {
// CTFontGetPlatformFont
FSRef ref;
if (ATSFontGetFileReference(FMGetATSFontRefFromFont(fontID), &ref) != noErr)
@@ -1595,7 +1596,9 @@ QFontEngine::FaceId QFontEngineMac::faceId() const
ret.filename = QByteArray(128, 0);
ret.index = fontID;
FSRefMakePath(&ref, (UInt8 *)ret.filename.data(), ret.filename.size());
-#else
+}else
+#endif
+{
FSSpec spec;
if (ATSFontGetFileSpecification(FMGetATSFontRefFromFont(fontID), &spec) != noErr)
return ret;
@@ -1605,7 +1608,7 @@ QFontEngine::FaceId QFontEngineMac::faceId() const
ret.filename = QByteArray(128, 0);
ret.index = fontID;
FSRefMakePath(&ref, (UInt8 *)ret.filename.data(), ret.filename.size());
-#endif
+}
return ret;
}
diff --git a/src/gui/text/qfontengine_qpf.cpp b/src/gui/text/qfontengine_qpf.cpp
index 9aaa1ac..76ba041 100644
--- a/src/gui/text/qfontengine_qpf.cpp
+++ b/src/gui/text/qfontengine_qpf.cpp
@@ -51,6 +51,7 @@
#if !defined(QT_NO_FREETYPE)
#include "private/qfontengine_ft_p.h"
#endif
+#include "private/qcore_unix_p.h" // overrides QT_OPEN
// for mmap
#include <stdlib.h>
@@ -252,7 +253,7 @@ QList<QByteArray> QFontEngineQPF::cleanUpAfterClientCrash(const QList<int> &cras
for (int i = 0; i < int(dir.count()); ++i) {
const QByteArray fileName = QFile::encodeName(dir.absoluteFilePath(dir[i]));
- int fd = ::open(fileName.constData(), O_RDONLY, 0);
+ int fd = QT_OPEN(fileName.constData(), O_RDONLY, 0);
if (fd >= 0) {
void *header = ::mmap(0, sizeof(QFontEngineQPF::Header), PROT_READ, MAP_SHARED, fd, 0);
if (header && header != MAP_FAILED) {
@@ -265,7 +266,7 @@ QList<QByteArray> QFontEngineQPF::cleanUpAfterClientCrash(const QList<int> &cras
::munmap(header, sizeof(QFontEngineQPF::Header));
}
- ::close(fd);
+ QT_CLOSE(fd);
}
}
if (!removedFonts.isEmpty())
@@ -330,16 +331,37 @@ QFontEngineQPF::QFontEngineQPF(const QFontDef &def, int fileDescriptor, QFontEng
#if defined(DEBUG_FONTENGINE)
qDebug() << "found existing qpf:" << fileName;
#endif
- if (::access(encodedFileName, W_OK | R_OK) == 0)
- fd = ::open(encodedFileName, O_RDWR, 0);
- else if (::access(encodedFileName, R_OK) == 0)
- fd = ::open(encodedFileName, O_RDONLY, 0);
+ if (::access(encodedFileName, W_OK | R_OK) == 0) {
+ fd = QT_OPEN(encodedFileName, O_RDWR);
+ }
+ // read-write access failed - try read-only access
+ if (fd == -1 && ::access(encodedFileName, R_OK) == 0) {
+ fd = QT_OPEN(encodedFileName, O_RDONLY);
+ if (fd == -1) {
+#if defined(DEBUG_FONTENGINE)
+ qErrnoWarning("QFontEngineQPF: unable to open %s", encodedName.constData());
+#endif
+ return;
+ }
+ }
+ if (fd == -1) {
+#if defined(DEBUG_FONTENGINE)
+ qWarning("QFontEngineQPF: insufficient access rights to %s", encodedName.constData());
+#endif
+ return;
+ }
} else {
#if defined(DEBUG_FONTENGINE)
qDebug() << "creating qpf on the fly:" << fileName;
#endif
if (::access(QFile::encodeName(qws_fontCacheDir()), W_OK) == 0) {
- fd = ::open(encodedFileName, O_RDWR | O_EXCL | O_CREAT, 0644);
+ fd = QT_OPEN(encodedFileName, O_RDWR | O_EXCL | O_CREAT, 0644);
+ if (fd == -1) {
+#if defined(DEBUG_FONTENGINE)
+ qErrnoWarning(errno, "QFontEngineQPF: open() failed for %s", encodedName.constData());
+#endif
+ return;
+ }
QBuffer buffer;
buffer.open(QIODevice::ReadWrite);
@@ -347,7 +369,17 @@ QFontEngineQPF::QFontEngineQPF(const QFontDef &def, int fileDescriptor, QFontEng
generator.generate();
buffer.close();
const QByteArray &data = buffer.data();
- QT_WRITE(fd, data.constData(), data.size());
+ if (QT_WRITE(fd, data.constData(), data.size()) == -1) {
+#if defined(DEBUG_FONTENGINE)
+ qErrnoWarning(errno, "QFontEngineQPF: write() failed for %s", encodedName.constData());
+#endif
+ return;
+ }
+ } else {
+#if defined(DEBUG_FONTENGINE)
+ qErrnoWarning(errno, "QFontEngineQPF: access() failed for %s", qPrintable(qws_fontCacheDir()));
+#endif
+ return;
}
}
}
@@ -355,7 +387,7 @@ QFontEngineQPF::QFontEngineQPF(const QFontDef &def, int fileDescriptor, QFontEng
QT_STATBUF st;
if (QT_FSTAT(fd, &st)) {
#if defined(DEBUG_FONTENGINE)
- qDebug() << "stat failed!";
+ qErrnoWarning(errno, "QFontEngineQPF: fstat failed!");
#endif
return;
}
@@ -491,8 +523,13 @@ QFontEngineQPF::~QFontEngineQPF()
}
#endif
delete renderingFontEngine;
- if (fontData)
- munmap((void *)fontData, dataSize);
+ if (fontData) {
+ if (munmap((void *)fontData, dataSize) == -1) {
+#if defined(DEBUG_FONTENGINE)
+ qErrnoWarning(errno, "~QFontEngineQPF: Unable to munmap");
+#endif
+ }
+ }
if (fd != -1)
::close(fd);
#if !defined(QT_NO_FREETYPE)
diff --git a/src/gui/text/qfontengine_qws.cpp b/src/gui/text/qfontengine_qws.cpp
index 6fb4f15..10bee2c 100644
--- a/src/gui/text/qfontengine_qws.cpp
+++ b/src/gui/text/qfontengine_qws.cpp
@@ -47,6 +47,7 @@
#include <private/qpaintengine_raster_p.h>
#include <private/qpdf_p.h>
#include "qtextengine_p.h"
+#include "private/qcore_unix_p.h" // overrides QT_OPEN
#include <qdebug.h>
@@ -387,7 +388,7 @@ QFontEngineQPF1::QFontEngineQPF1(const QFontDef&, const QString &fn)
{
cache_cost = 1;
- int f = ::open( QFile::encodeName(fn), O_RDONLY, 0);
+ int f = QT_OPEN( QFile::encodeName(fn), O_RDONLY, 0);
Q_ASSERT(f>=0);
QT_STATBUF st;
if ( QT_FSTAT( f, &st ) )
@@ -395,7 +396,7 @@ QFontEngineQPF1::QFontEngineQPF1(const QFontDef&, const QString &fn)
uchar* data = (uchar*)mmap( 0, // any address
st.st_size, // whole file
PROT_READ, // read-only memory
-#if !defined(Q_OS_SOLARIS) && !defined(Q_OS_QNX4) && !defined(Q_OS_INTEGRITY)
+#if !defined(Q_OS_SOLARIS) && !defined(Q_OS_QNX4) && !defined(Q_OS_INTEGRITY) && !defined(Q_OS_VXWORKS)
MAP_FILE | MAP_PRIVATE, // swap-backed map from file
#else
MAP_PRIVATE,
@@ -406,7 +407,7 @@ QFontEngineQPF1::QFontEngineQPF1(const QFontDef&, const QString &fn)
#endif
if ( !data || data == (uchar*)MAP_FAILED )
qFatal("Failed to mmap %s",QFile::encodeName(fn).data());
- ::close(f);
+ QT_CLOSE(f);
d = new QFontEngineQPF1Data;
memcpy(reinterpret_cast<char*>(&d->fm),data,sizeof(d->fm));
diff --git a/src/gui/text/qfontengine_s60.cpp b/src/gui/text/qfontengine_s60.cpp
index d1e591e..d3de8e2 100644
--- a/src/gui/text/qfontengine_s60.cpp
+++ b/src/gui/text/qfontengine_s60.cpp
@@ -1,9 +1,9 @@
/****************************************************************************
**
-** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
-** This file is part of the $MODULE$ of the Qt Toolkit.
+** This file is part of the QtGui of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/src/gui/text/qfontengine_s60_p.h b/src/gui/text/qfontengine_s60_p.h
index 2998de8..a5bd0c8 100644
--- a/src/gui/text/qfontengine_s60_p.h
+++ b/src/gui/text/qfontengine_s60_p.h
@@ -1,9 +1,9 @@
/****************************************************************************
**
-** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
-** This file is part of the $MODULE$ of the Qt Toolkit.
+** This file is part of the QtGui of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/src/gui/text/qfontengine_win.cpp b/src/gui/text/qfontengine_win.cpp
index 8e4bb55..c42326f 100644
--- a/src/gui/text/qfontengine_win.cpp
+++ b/src/gui/text/qfontengine_win.cpp
@@ -48,7 +48,6 @@
#include <qlibrary.h>
#include <qpaintdevice.h>
#include <qpainter.h>
-#include <qlibrary.h>
#include <limits.h>
#include <qendian.h>
@@ -85,8 +84,6 @@
((quint32)(ch1)) \
)
-typedef BOOL (WINAPI *PtrGetCharWidthI)(HDC, UINT, UINT, LPWORD, LPINT);
-
// common DC for all fonts
QT_BEGIN_NAMESPACE
@@ -128,8 +125,7 @@ HDC shared_dc()
}
#endif
-static HFONT stock_sysfont = 0;
-
+typedef BOOL (WINAPI *PtrGetCharWidthI)(HDC, UINT, UINT, LPWORD, LPINT);
static PtrGetCharWidthI ptrGetCharWidthI = 0;
static bool resolvedGetCharWidthI = false;
@@ -141,27 +137,6 @@ static void resolveGetCharWidthI()
ptrGetCharWidthI = (PtrGetCharWidthI)QLibrary::resolve(QLatin1String("gdi32"), "GetCharWidthI");
}
-// Copy a LOGFONTW struct into a LOGFONTA by converting the face name to an 8 bit value.
-// This is needed when calling CreateFontIndirect on non-unicode windowses.
-inline static void wa_copy_logfont(LOGFONTW *lfw, LOGFONTA *lfa)
-{
- lfa->lfHeight = lfw->lfHeight;
- lfa->lfWidth = lfw->lfWidth;
- lfa->lfEscapement = lfw->lfEscapement;
- lfa->lfOrientation = lfw->lfOrientation;
- lfa->lfWeight = lfw->lfWeight;
- lfa->lfItalic = lfw->lfItalic;
- lfa->lfUnderline = lfw->lfUnderline;
- lfa->lfCharSet = lfw->lfCharSet;
- lfa->lfOutPrecision = lfw->lfOutPrecision;
- lfa->lfClipPrecision = lfw->lfClipPrecision;
- lfa->lfQuality = lfw->lfQuality;
- lfa->lfPitchAndFamily = lfw->lfPitchAndFamily;
-
- QString fam = QString::fromUtf16((const ushort*)lfw->lfFaceName);
- memcpy(lfa->lfFaceName, fam.toLocal8Bit().constData(), fam.length() + 1);
-}
-
// defined in qtextengine_win.cpp
typedef void *SCRIPT_CACHE;
typedef HRESULT (WINAPI *fScriptFreeCache)(SCRIPT_CACHE *);
@@ -187,14 +162,6 @@ static inline quint16 getUShort(unsigned char *p)
return val;
}
-static inline HFONT systemFont()
-{
- if (stock_sysfont == 0)
- stock_sysfont = (HFONT)GetStockObject(SYSTEM_FONT);
- return stock_sysfont;
-}
-
-
// general font engine
QFixed QFontEngineWin::lineThickness() const
@@ -205,33 +172,18 @@ QFixed QFontEngineWin::lineThickness() const
return QFontEngine::lineThickness();
}
-#if defined(Q_WS_WINCE)
-static OUTLINETEXTMETRICW *getOutlineTextMetric(HDC hdc)
-{
- int size;
- size = GetOutlineTextMetricsW(hdc, 0, 0);
- OUTLINETEXTMETRICW *otm = (OUTLINETEXTMETRICW *)malloc(size);
- GetOutlineTextMetricsW(hdc, size, otm);
- return otm;
-}
-#else
-static OUTLINETEXTMETRICA *getOutlineTextMetric(HDC hdc)
+static OUTLINETEXTMETRIC *getOutlineTextMetric(HDC hdc)
{
int size;
- size = GetOutlineTextMetricsA(hdc, 0, 0);
- OUTLINETEXTMETRICA *otm = (OUTLINETEXTMETRICA *)malloc(size);
- GetOutlineTextMetricsA(hdc, size, otm);
+ size = GetOutlineTextMetrics(hdc, 0, 0);
+ OUTLINETEXTMETRIC *otm = (OUTLINETEXTMETRIC *)malloc(size);
+ GetOutlineTextMetrics(hdc, size, otm);
return otm;
}
-#endif
void QFontEngineWin::getCMap()
{
- QT_WA({
- ttf = (bool)(tm.w.tmPitchAndFamily & TMPF_TRUETYPE);
- } , {
- ttf = (bool)(tm.a.tmPitchAndFamily & TMPF_TRUETYPE);
- });
+ ttf = (bool)(tm.tmPitchAndFamily & TMPF_TRUETYPE);
HDC hdc = shared_dc();
SelectObject(hdc, hfont);
bool symb = false;
@@ -249,11 +201,7 @@ void QFontEngineWin::getCMap()
designToDevice = 1;
_faceId.index = 0;
if(cmap) {
-#if defined(Q_WS_WINCE)
- OUTLINETEXTMETRICW *otm = getOutlineTextMetric(hdc);
-#else
- OUTLINETEXTMETRICA *otm = getOutlineTextMetric(hdc);
-#endif
+ OUTLINETEXTMETRIC *otm = getOutlineTextMetric(hdc);
designToDevice = QFixed((int)otm->otmEMSquare)/int(otm->otmTextMetrics.tmHeight);
unitsPerEm = otm->otmEMSquare;
x_height = (int)otm->otmsXHeight;
@@ -263,7 +211,7 @@ void QFontEngineWin::getCMap()
fsType = otm->otmfsType;
free(otm);
} else {
- unitsPerEm = tm.w.tmHeight;
+ unitsPerEm = tm.tmHeight;
}
}
@@ -303,19 +251,14 @@ int QFontEngineWin::getGlyphIndexes(const QChar *str, int numChars, QGlyphLayout
}
} else {
#endif
- ushort first, last;
- QT_WA({
- first = tm.w.tmFirstChar;
- last = tm.w.tmLastChar;
- }, {
- first = tm.a.tmFirstChar;
- last = tm.a.tmLastChar;
- });
+ wchar_t first = tm.tmFirstChar;
+ wchar_t last = tm.tmLastChar;
+
for (; i < numChars; ++i, ++glyph_pos) {
uint ucs = QChar::mirroredChar(getChar(str, i, numChars));
if (
#ifdef Q_WS_WINCE
- tm.w.tmFirstChar > 60000 || // see line 375
+ tm.tmFirstChar > 60000 || // see line 375
#endif
ucs >= first && ucs <= last)
glyphs->glyphs[glyph_pos] = ucs;
@@ -341,19 +284,14 @@ int QFontEngineWin::getGlyphIndexes(const QChar *str, int numChars, QGlyphLayout
}
} else {
#endif
- ushort first, last;
- QT_WA({
- first = tm.w.tmFirstChar;
- last = tm.w.tmLastChar;
- }, {
- first = tm.a.tmFirstChar;
- last = tm.a.tmLastChar;
- });
+ wchar_t first = tm.tmFirstChar;
+ wchar_t last = tm.tmLastChar;
+
for (; i < numChars; ++i, ++glyph_pos) {
uint uc = getChar(str, i, numChars);
if (
#ifdef Q_WS_WINCE
- tm.w.tmFirstChar > 60000 || // see comment in QFontEngineWin
+ tm.tmFirstChar > 60000 || // see comment in QFontEngineWin
#endif
uc >= first && uc <= last)
glyphs->glyphs[glyph_pos] = uc;
@@ -387,28 +325,14 @@ QFontEngineWin::QFontEngineWin(const QString &name, HFONT _hfont, bool stockFont
lineWidth = -1;
x_height = -1;
- BOOL res;
- QT_WA({
- res = GetTextMetricsW(hdc, &tm.w);
- } , {
- res = GetTextMetricsA(hdc, &tm.a);
- });
- fontDef.fixedPitch = !(tm.w.tmPitchAndFamily & TMPF_FIXED_PITCH);
+ BOOL res = GetTextMetrics(hdc, &tm);
+ fontDef.fixedPitch = !(tm.tmPitchAndFamily & TMPF_FIXED_PITCH);
if (!res)
qErrnoWarning("QFontEngineWin: GetTextMetrics failed");
- cache_cost = tm.w.tmHeight * tm.w.tmAveCharWidth * 2000;
+ cache_cost = tm.tmHeight * tm.tmAveCharWidth * 2000;
getCMap();
- useTextOutA = false;
-#ifndef Q_OS_WINCE
- // TextOutW doesn't work for symbol fonts on Windows 95!
- // since we're using glyph indices we don't care for ttfs about this!
- if (QSysInfo::WindowsVersion == QSysInfo::WV_95 && !ttf &&
- (_name == QLatin1String("Marlett") || _name == QLatin1String("Symbol") ||
- _name == QLatin1String("Webdings") || _name == QLatin1String("Wingdings")))
- useTextOutA = true;
-#endif
widthCache = 0;
widthCacheSize = 0;
designAdvances = 0;
@@ -427,7 +351,7 @@ QFontEngineWin::~QFontEngineWin()
free(widthCache);
// make sure we aren't by accident still selected
- SelectObject(shared_dc(), systemFont());
+ SelectObject(shared_dc(), (HFONT)GetStockObject(SYSTEM_FONT));
if (!stockFont) {
if (!DeleteObject(hfont))
@@ -435,39 +359,12 @@ QFontEngineWin::~QFontEngineWin()
}
}
-HGDIOBJ QFontEngineWin::selectDesignFont(QFixed *overhang) const
+HGDIOBJ QFontEngineWin::selectDesignFont() const
{
LOGFONT f = logfont;
f.lfHeight = unitsPerEm;
- HFONT designFont;
- QT_WA({
- designFont = CreateFontIndirectW(&f);
- }, {
- LOGFONTA fa;
- wa_copy_logfont(&f, &fa);
- designFont = CreateFontIndirectA(&fa);
- });
- HGDIOBJ oldFont = SelectObject(shared_dc(), designFont);
-
- if (QSysInfo::WindowsVersion & QSysInfo::WV_DOS_based) {
- BOOL res;
- QT_WA({
- TEXTMETRICW tm;
- res = GetTextMetricsW(shared_dc(), &tm);
- if (!res)
- qErrnoWarning("QFontEngineWin: GetTextMetrics failed");
- *overhang = QFixed((int)tm.tmOverhang) / designToDevice;
- } , {
- TEXTMETRICA tm;
- res = GetTextMetricsA(shared_dc(), &tm);
- if (!res)
- qErrnoWarning("QFontEngineWin: GetTextMetrics failed");
- *overhang = QFixed((int)tm.tmOverhang) / designToDevice;
- });
- } else {
- *overhang = 0;
- }
- return oldFont;
+ HFONT designFont = CreateFontIndirect(&f);
+ return SelectObject(shared_dc(), designFont);
}
bool QFontEngineWin::stringToCMap(const QChar *str, int len, QGlyphLayout *glyphs, int *nglyphs, QTextEngine::ShaperFlags flags) const
@@ -486,8 +383,6 @@ bool QFontEngineWin::stringToCMap(const QChar *str, int len, QGlyphLayout *glyph
HDC hdc = shared_dc();
if (flags & QTextEngine::DesignMetrics) {
HGDIOBJ oldFont = 0;
- QFixed overhang = 0;
-
int glyph_pos = 0;
for(register int i = 0; i < len; i++) {
bool surrogate = (str[i].unicode() >= 0xd800 && str[i].unicode() < 0xdc00 && i < len-1
@@ -502,9 +397,9 @@ bool QFontEngineWin::stringToCMap(const QChar *str, int len, QGlyphLayout *glyph
}
if(designAdvances[glyph] < -999999) {
if(!oldFont)
- oldFont = selectDesignFont(&overhang);
+ oldFont = selectDesignFont();
SIZE size = {0, 0};
- GetTextExtentPoint32W(hdc, (wchar_t *)(str+i), surrogate ? 2 : 1, &size);
+ GetTextExtentPoint32(hdc, (wchar_t *)(str+i), surrogate ? 2 : 1, &size);
designAdvances[glyph] = QFixed((int)size.cx)/designToDevice;
}
glyphs->advances_x[glyph_pos] = designAdvances[glyph];
@@ -539,7 +434,7 @@ bool QFontEngineWin::stringToCMap(const QChar *str, int len, QGlyphLayout *glyph
SIZE size = {0, 0};
if (!oldFont)
oldFont = SelectObject(hdc, hfont);
- GetTextExtentPoint32W(hdc, (wchar_t *)str + i, surrogate ? 2 : 1, &size);
+ GetTextExtentPoint32(hdc, (wchar_t *)str + i, surrogate ? 2 : 1, &size);
glyphs->advances_x[glyph_pos] = size.cx;
// if glyph's within cache range, store it for later
if (size.cx > 0 && size.cx < 0x100)
@@ -565,8 +460,6 @@ void QFontEngineWin::recalcAdvances(QGlyphLayout *glyphs, QTextEngine::ShaperFla
HGDIOBJ oldFont = 0;
HDC hdc = shared_dc();
if (ttf && (flags & QTextEngine::DesignMetrics)) {
- QFixed overhang = 0;
-
for(int i = 0; i < glyphs->numGlyphs; i++) {
unsigned int glyph = glyphs->glyphs[i];
if(int(glyph) >= designAdvancesSize) {
@@ -577,35 +470,14 @@ void QFontEngineWin::recalcAdvances(QGlyphLayout *glyphs, QTextEngine::ShaperFla
designAdvances[i] = -1000000;
designAdvancesSize = newSize;
}
- if(designAdvances[glyph] < -999999) {
- if(!oldFont)
- oldFont = selectDesignFont(&overhang);
+ if (designAdvances[glyph] < -999999) {
+ if (!oldFont)
+ oldFont = selectDesignFont();
- if (ptrGetCharWidthI) {
- int width = 0;
+ int width = 0;
+ if (ptrGetCharWidthI)
ptrGetCharWidthI(hdc, glyph, 1, 0, &width);
-
- designAdvances[glyph] = QFixed(width) / designToDevice;
- } else {
-#ifndef Q_WS_WINCE
- GLYPHMETRICS gm;
- DWORD res = GDI_ERROR;
- MAT2 mat;
- mat.eM11.value = mat.eM22.value = 1;
- mat.eM11.fract = mat.eM22.fract = 0;
- mat.eM21.value = mat.eM12.value = 0;
- mat.eM21.fract = mat.eM12.fract = 0;
- QT_WA({
- res = GetGlyphOutlineW(hdc, glyph, GGO_METRICS|GGO_GLYPH_INDEX|GGO_NATIVE, &gm, 0, 0, &mat);
- } , {
- res = GetGlyphOutlineA(hdc, glyph, GGO_METRICS|GGO_GLYPH_INDEX|GGO_NATIVE, &gm, 0, 0, &mat);
- });
-
- if (res != GDI_ERROR) {
- designAdvances[glyph] = QFixed(gm.gmCellIncX) / designToDevice;
- }
-#endif
- }
+ designAdvances[glyph] = QFixed(width) / designToDevice;
}
glyphs->advances_x[i] = designAdvances[glyph];
glyphs->advances_y[i] = 0;
@@ -613,8 +485,6 @@ void QFontEngineWin::recalcAdvances(QGlyphLayout *glyphs, QTextEngine::ShaperFla
if(oldFont)
DeleteObject(SelectObject(hdc, oldFont));
} else {
- int overhang = (QSysInfo::WindowsVersion & QSysInfo::WV_DOS_based) ? tm.a.tmOverhang : 0;
-
for(int i = 0; i < glyphs->numGlyphs; i++) {
unsigned int glyph = glyphs->glyphs[i];
@@ -643,31 +513,10 @@ void QFontEngineWin::recalcAdvances(QGlyphLayout *glyphs, QTextEngine::ShaperFla
++chrLen;
}
SIZE size = {0, 0};
- GetTextExtentPoint32W(hdc, (wchar_t *)ch, chrLen, &size);
+ GetTextExtentPoint32(hdc, (wchar_t *)ch, chrLen, &size);
width = size.cx;
} else if (ptrGetCharWidthI) {
ptrGetCharWidthI(hdc, glyph, 1, 0, &width);
-
- width -= overhang;
- } else {
-#ifndef Q_WS_WINCE
- GLYPHMETRICS gm;
- DWORD res = GDI_ERROR;
- MAT2 mat;
- mat.eM11.value = mat.eM22.value = 1;
- mat.eM11.fract = mat.eM22.fract = 0;
- mat.eM21.value = mat.eM12.value = 0;
- mat.eM21.fract = mat.eM12.fract = 0;
- QT_WA({
- res = GetGlyphOutlineW(hdc, glyph, GGO_METRICS|GGO_GLYPH_INDEX, &gm, 0, 0, &mat);
- } , {
- res = GetGlyphOutlineA(hdc, glyph, GGO_METRICS|GGO_GLYPH_INDEX, &gm, 0, 0, &mat);
- });
-
- if (res != GDI_ERROR) {
- width = gm.gmCellIncX;
- }
-#endif
}
glyphs->advances_x[i] = width;
// if glyph's within cache range, store it for later
@@ -690,17 +539,10 @@ glyph_metrics_t QFontEngineWin::boundingBox(const QGlyphLayout &glyphs)
for (int i = 0; i < glyphs.numGlyphs; ++i)
w += glyphs.effectiveAdvance(i);
- return glyph_metrics_t(0, -tm.w.tmAscent, w, tm.w.tmHeight, w, 0);
+ return glyph_metrics_t(0, -tm.tmAscent, w, tm.tmHeight, w, 0);
}
-
-
-#ifndef Q_WS_WINCE
-typedef HRESULT (WINAPI *pGetCharABCWidthsFloat)(HDC, UINT, UINT, LPABCFLOAT);
-static pGetCharABCWidthsFloat qt_GetCharABCWidthsFloat = 0;
-#endif
-
glyph_metrics_t QFontEngineWin::boundingBox(glyph_t glyph, const QTransform &t)
{
#ifndef Q_WS_WINCE
@@ -708,30 +550,13 @@ glyph_metrics_t QFontEngineWin::boundingBox(glyph_t glyph, const QTransform &t)
HDC hdc = shared_dc();
SelectObject(hdc, hfont);
- if(!ttf) {
- SIZE s = {0, 0};
- WCHAR ch = glyph;
- int width;
- int overhang = 0;
- static bool resolved = false;
- if (!resolved) {
- QLibrary lib(QLatin1String("gdi32"));
- qt_GetCharABCWidthsFloat = (pGetCharABCWidthsFloat) lib.resolve("GetCharABCWidthsFloatW");
- resolved = true;
- }
- if (QT_WA_INLINE(true, false) && qt_GetCharABCWidthsFloat) {
- ABCFLOAT abc;
- qt_GetCharABCWidthsFloat(hdc, ch, ch, &abc);
- width = qRound(abc.abcfB);
- } else {
- GetTextExtentPoint32W(hdc, &ch, 1, &s);
- overhang = (QSysInfo::WindowsVersion & QSysInfo::WV_DOS_based) ? tm.a.tmOverhang : 0;
- width = s.cx;
- }
+ if (!ttf) {
+ wchar_t ch = glyph;
+ ABCFLOAT abc;
+ GetCharABCWidthsFloat(hdc, ch, ch, &abc);
+ int width = qRound(abc.abcfB);
- return glyph_metrics_t(0, -tm.a.tmAscent,
- width, tm.a.tmHeight,
- width-overhang, 0).transformed(t);
+ return glyph_metrics_t(0, -tm.tmAscent, width, tm.tmHeight, width, 0).transformed(t);
} else {
DWORD res = 0;
MAT2 mat;
@@ -756,11 +581,8 @@ glyph_metrics_t QFontEngineWin::boundingBox(glyph_t glyph, const QTransform &t)
SetWorldTransform(hdc, &xform);
}
- QT_WA({
- res = GetGlyphOutlineW(hdc, glyph, GGO_METRICS|GGO_GLYPH_INDEX, &gm, 0, 0, &mat);
- } , {
- res = GetGlyphOutlineA(hdc, glyph, GGO_METRICS|GGO_GLYPH_INDEX, &gm, 0, 0, &mat);
- });
+ res = GetGlyphOutline(hdc, glyph, GGO_METRICS | GGO_GLYPH_INDEX, &gm, 0, 0, &mat);
+
if (t.type() > QTransform::TxTranslate) {
XFORM xform;
xform.eM11 = xform.eM22 = 1;
@@ -796,28 +618,28 @@ glyph_metrics_t QFontEngineWin::boundingBox(glyph_t glyph, const QTransform &t)
else
#endif
{ // fallback
- width = tm.w.tmMaxCharWidth;
+ width = tm.tmMaxCharWidth;
advance = width;
}
SelectObject(hdc, oldFont);
- return glyph_metrics_t(0, -tm.w.tmAscent, width, tm.w.tmHeight, advance, 0).transformed(t);
+ return glyph_metrics_t(0, -tm.tmAscent, width, tm.tmHeight, advance, 0).transformed(t);
#endif
}
QFixed QFontEngineWin::ascent() const
{
- return tm.w.tmAscent;
+ return tm.tmAscent;
}
QFixed QFontEngineWin::descent() const
{
- return tm.w.tmDescent;
+ return tm.tmDescent;
}
QFixed QFontEngineWin::leading() const
{
- return tm.w.tmExternalLeading;
+ return tm.tmExternalLeading;
}
@@ -830,12 +652,12 @@ QFixed QFontEngineWin::xHeight() const
QFixed QFontEngineWin::averageCharWidth() const
{
- return tm.w.tmAveCharWidth;
+ return tm.tmAveCharWidth;
}
qreal QFontEngineWin::maxCharWidth() const
{
- return tm.w.tmMaxCharWidth;
+ return tm.tmMaxCharWidth;
}
enum { max_font_count = 256 };
@@ -882,10 +704,10 @@ qreal QFontEngineWin::minRightBearing() const
SelectObject(hdc, hfont);
if (ttf) {
ABC *abc = 0;
- int n = QT_WA_INLINE(tm.w.tmLastChar - tm.w.tmFirstChar, tm.a.tmLastChar - tm.a.tmFirstChar);
+ int n = tm.tmLastChar - tm.tmFirstChar;
if (n <= max_font_count) {
abc = new ABC[n+1];
- GetCharABCWidths(hdc, tm.w.tmFirstChar, tm.w.tmLastChar, abc);
+ GetCharABCWidths(hdc, tm.tmFirstChar, tm.tmLastChar, abc);
} else {
abc = new ABC[char_table_entries+1];
for(int i = 0; i < char_table_entries; i++)
@@ -901,9 +723,6 @@ qreal QFontEngineWin::minRightBearing() const
}
}
delete [] abc;
- } else {
- ml = 0;
- mr = -tm.a.tmOverhang;
}
lbearing = ml;
rbearing = mr;
@@ -918,28 +737,14 @@ qreal QFontEngineWin::minRightBearing() const
SelectObject(hdc, hfont);
if (ttf) {
ABC *abc = 0;
- int n = QT_WA_INLINE(tm.w.tmLastChar - tm.w.tmFirstChar, tm.a.tmLastChar - tm.a.tmFirstChar);
+ int n = tm.tmLastChar - tm.tmFirstChar;
if (n <= max_font_count) {
abc = new ABC[n+1];
- QT_WA({
- GetCharABCWidths(hdc, tm.w.tmFirstChar, tm.w.tmLastChar, abc);
- }, {
- GetCharABCWidthsA(hdc,tm.a.tmFirstChar,tm.a.tmLastChar,abc);
- });
+ GetCharABCWidths(hdc, tm.tmFirstChar, tm.tmLastChar, abc);
} else {
abc = new ABC[char_table_entries+1];
- QT_WA({
- for(int i = 0; i < char_table_entries; i++)
- GetCharABCWidths(hdc, char_table[i], char_table[i], abc+i);
- }, {
- for(int i = 0; i < char_table_entries; i++) {
- QByteArray w = QString(QChar(char_table[i])).toLocal8Bit();
- if (w.length() == 1) {
- uint ch8 = (uchar)w[0];
- GetCharABCWidthsA(hdc, ch8, ch8, abc+i);
- }
- }
- });
+ for(int i = 0; i < char_table_entries; i++)
+ GetCharABCWidths(hdc, char_table[i], char_table[i], abc + i);
n = char_table_entries;
}
ml = abc[0].abcA;
@@ -952,33 +757,28 @@ qreal QFontEngineWin::minRightBearing() const
}
delete [] abc;
} else {
- QT_WA({
- ABCFLOAT *abc = 0;
- int n = tm.w.tmLastChar - tm.w.tmFirstChar+1;
- if (n <= max_font_count) {
- abc = new ABCFLOAT[n];
- GetCharABCWidthsFloat(hdc, tm.w.tmFirstChar, tm.w.tmLastChar, abc);
- } else {
- abc = new ABCFLOAT[char_table_entries];
- for(int i = 0; i < char_table_entries; i++)
- GetCharABCWidthsFloat(hdc, char_table[i], char_table[i], abc+i);
- n = char_table_entries;
- }
- float fml = abc[0].abcfA;
- float fmr = abc[0].abcfC;
- for (int i=1; i<n; i++) {
- if (abc[i].abcfA + abc[i].abcfB + abc[i].abcfC != 0) {
- fml = qMin(fml,abc[i].abcfA);
- fmr = qMin(fmr,abc[i].abcfC);
- }
+ ABCFLOAT *abc = 0;
+ int n = tm.tmLastChar - tm.tmFirstChar+1;
+ if (n <= max_font_count) {
+ abc = new ABCFLOAT[n];
+ GetCharABCWidthsFloat(hdc, tm.tmFirstChar, tm.tmLastChar, abc);
+ } else {
+ abc = new ABCFLOAT[char_table_entries];
+ for(int i = 0; i < char_table_entries; i++)
+ GetCharABCWidthsFloat(hdc, char_table[i], char_table[i], abc+i);
+ n = char_table_entries;
+ }
+ float fml = abc[0].abcfA;
+ float fmr = abc[0].abcfC;
+ for (int i=1; i<n; i++) {
+ if (abc[i].abcfA + abc[i].abcfB + abc[i].abcfC != 0) {
+ fml = qMin(fml,abc[i].abcfA);
+ fmr = qMin(fmr,abc[i].abcfC);
}
- ml = int(fml-0.9999);
- mr = int(fmr-0.9999);
- delete [] abc;
- } , {
- ml = 0;
- mr = -tm.a.tmOverhang;
- });
+ }
+ ml = int(fml - 0.9999);
+ mr = int(fmr - 0.9999);
+ delete [] abc;
}
lbearing = ml;
rbearing = mr;
@@ -1015,17 +815,10 @@ bool QFontEngineWin::canRender(const QChar *string, int len)
return false;
}
} else {
- QT_WA({
- while(len--) {
- if (tm.w.tmFirstChar > string->unicode() || tm.w.tmLastChar < string->unicode())
- return false;
- }
- }, {
- while(len--) {
- if (tm.a.tmFirstChar > string->unicode() || tm.a.tmLastChar < string->unicode())
- return false;
- }
- });
+ while(len--) {
+ if (tm.tmFirstChar > string->unicode() || tm.tmLastChar < string->unicode())
+ return false;
+ }
}
return true;
}
@@ -1068,11 +861,7 @@ static bool addGlyphToPath(glyph_t glyph, const QFixedPoint &position, HDC hdc,
memset(&gMetric, 0, sizeof(GLYPHMETRICS));
int bufferSize = GDI_ERROR;
#if !defined(Q_WS_WINCE)
- QT_WA( {
- bufferSize = GetGlyphOutlineW(hdc, glyph, glyphFormat, &gMetric, 0, 0, &mat);
- }, {
- bufferSize = GetGlyphOutlineA(hdc, glyph, glyphFormat, &gMetric, 0, 0, &mat);
- });
+ bufferSize = GetGlyphOutline(hdc, glyph, glyphFormat, &gMetric, 0, 0, &mat);
#endif
if ((DWORD)bufferSize == GDI_ERROR) {
return false;
@@ -1081,13 +870,7 @@ static bool addGlyphToPath(glyph_t glyph, const QFixedPoint &position, HDC hdc,
void *dataBuffer = new char[bufferSize];
DWORD ret = GDI_ERROR;
#if !defined(Q_WS_WINCE)
- QT_WA( {
- ret = GetGlyphOutlineW(hdc, glyph, glyphFormat, &gMetric, bufferSize,
- dataBuffer, &mat);
- }, {
- ret = GetGlyphOutlineA(hdc, glyph, glyphFormat, &gMetric, bufferSize,
- dataBuffer, &mat);
- } );
+ ret = GetGlyphOutline(hdc, glyph, glyphFormat, &gMetric, bufferSize, dataBuffer, &mat);
#endif
if (ret == GDI_ERROR) {
delete [](char *)dataBuffer;
@@ -1174,14 +957,7 @@ void QFontEngineWin::addGlyphsToPath(glyph_t *glyphs, QFixedPoint *positions, in
// font at the correct pixel size.
lf.lfHeight = -unitsPerEm;
lf.lfWidth = 0;
- HFONT hf;
- QT_WA({
- hf = CreateFontIndirectW(&lf);
- }, {
- LOGFONTA lfa;
- wa_copy_logfont(&lf, &lfa);
- hf = CreateFontIndirectA(&lfa);
- });
+ HFONT hf = CreateFontIndirect(&lf);
HDC hdc = shared_dc();
HGDIOBJ oldfont = SelectObject(hdc, hf);
@@ -1203,7 +979,7 @@ void QFontEngineWin::addOutlineToPath(qreal x, qreal y, const QGlyphLayout &glyp
QPainterPath *path, QTextItem::RenderFlags flags)
{
#if !defined(Q_WS_WINCE)
- if(tm.w.tmPitchAndFamily & (TMPF_TRUETYPE | TMPF_VECTOR)) {
+ if(tm.tmPitchAndFamily & (TMPF_TRUETYPE | TMPF_VECTOR)) {
hasOutline = true;
QFontEngine::addOutlineToPath(x, y, glyphs, path, flags);
if (hasOutline) {
@@ -1237,11 +1013,11 @@ int QFontEngineWin::synthesized() const
uchar data[4];
GetFontData(hdc, HEAD, 44, &data, 4);
USHORT macStyle = getUShort(data);
- if (tm.w.tmItalic && !(macStyle & 2))
+ if (tm.tmItalic && !(macStyle & 2))
synthesized_flags = SynthesizedItalic;
if (fontDef.stretch != 100 && ttf)
synthesized_flags |= SynthesizedStretch;
- if (tm.w.tmWeight >= 500 && !(macStyle & 1))
+ if (tm.tmWeight >= 500 && !(macStyle & 1))
synthesized_flags |= SynthesizedBold;
//qDebug() << "font is" << _name <<
// "it=" << (macStyle & 2) << fontDef.style << "flags=" << synthesized_flags;
@@ -1257,24 +1033,12 @@ QFixed QFontEngineWin::emSquareSize() const
QFontEngine::Properties QFontEngineWin::properties() const
{
-
LOGFONT lf = logfont;
lf.lfHeight = unitsPerEm;
- HFONT hf;
- QT_WA({
- hf = CreateFontIndirectW(&lf);
- }, {
- LOGFONTA lfa;
- wa_copy_logfont(&lf, &lfa);
- hf = CreateFontIndirectA(&lfa);
- });
+ HFONT hf = CreateFontIndirect(&lf);
HDC hdc = shared_dc();
HGDIOBJ oldfont = SelectObject(hdc, hf);
-#if defined(Q_WS_WINCE)
- OUTLINETEXTMETRICW *otm = getOutlineTextMetric(hdc);
-#else
- OUTLINETEXTMETRICA *otm = getOutlineTextMetric(hdc);
-#endif
+ OUTLINETEXTMETRIC *otm = getOutlineTextMetric(hdc);
Properties p;
p.emSquare = unitsPerEm;
p.italicAngle = otm->otmItalicAngle;
@@ -1304,14 +1068,7 @@ void QFontEngineWin::getUnscaledGlyph(glyph_t glyph, QPainterPath *path, glyph_m
if(flags & SynthesizedItalic)
lf.lfItalic = false;
lf.lfWidth = 0;
- HFONT hf;
- QT_WA({
- hf = CreateFontIndirectW(&lf);
- }, {
- LOGFONTA lfa;
- wa_copy_logfont(&lf, &lfa);
- hf = CreateFontIndirectA(&lfa);
- });
+ HFONT hf = CreateFontIndirect(&lf);
HDC hdc = shared_dc();
HGDIOBJ oldfont = SelectObject(hdc, hf);
QFixedPoint p;
@@ -1380,14 +1137,7 @@ QNativeImage *QFontEngineWin::drawGDIGlyph(HFONT font, glyph_t glyph, int margin
memset(&mat, 0, sizeof(mat));
mat.eM11.value = mat.eM22.value = 1;
- int error = 0;
- QT_WA( {
- error = GetGlyphOutlineW(hdc, glyph, ggo_options, &tgm, 0, 0, &mat);
- }, {
- error = GetGlyphOutlineA(hdc, glyph, ggo_options, &tgm, 0, 0, &mat);
- } );
-
- if (error == GDI_ERROR) {
+ if (GetGlyphOutline(hdc, glyph, ggo_options, &tgm, 0, 0, &mat) == GDI_ERROR) {
qWarning("QWinFontEngine: unable to query transformed glyph metrics...");
return 0;
}
@@ -1433,11 +1183,11 @@ QNativeImage *QFontEngineWin::drawGDIGlyph(HFONT font, glyph_t glyph, int margin
if (has_transformation) {
SetGraphicsMode(hdc, GM_ADVANCED);
SetWorldTransform(hdc, &xform);
- ExtTextOutW(hdc, 0, 0, options, 0, (LPCWSTR) &glyph, 1, 0);
+ ExtTextOut(hdc, 0, 0, options, 0, (LPCWSTR) &glyph, 1, 0);
} else
#endif
{
- ExtTextOutW(hdc, -gx + margin, -gy + margin, options, 0, (LPCWSTR) &glyph, 1, 0);
+ ExtTextOut(hdc, -gx + margin, -gy + margin, options, 0, (LPCWSTR) &glyph, 1, 0);
}
SelectObject(hdc, old_font);
@@ -1453,7 +1203,7 @@ QImage QFontEngineWin::alphaMapForGlyph(glyph_t glyph, const QTransform &xform)
if (qt_cleartype_enabled) {
LOGFONT lf = logfont;
lf.lfQuality = ANTIALIASED_QUALITY;
- font = CreateFontIndirectW(&lf);
+ font = CreateFontIndirect(&lf);
}
QImage::Format mask_format = QNativeImage::systemFormat();
#ifndef Q_OS_WINCE
@@ -1560,17 +1310,9 @@ void QFontEngineMultiWin::loadEngine(int at)
QString fam = fallbacks.at(at-1);
LOGFONT lf = static_cast<QFontEngineWin *>(engines.at(0))->logfont;
- HFONT hfont;
- QT_WA({
- memcpy(lf.lfFaceName, fam.utf16(), sizeof(TCHAR)*qMin(fam.length()+1,32)); // 32 = Windows hard-coded
- hfont = CreateFontIndirectW(&lf);
- } , {
- // LOGFONTA and LOGFONTW are binary compatible
- QByteArray lname = fam.toLocal8Bit();
- memcpy(lf.lfFaceName,lname.data(),
- qMin(lname.length()+1,32)); // 32 = Windows hard-coded
- hfont = CreateFontIndirectA((LOGFONTA*)&lf);
- });
+ memcpy(lf.lfFaceName, fam.utf16(), sizeof(wchar_t) * qMin(fam.length() + 1, 32)); // 32 = Windows hard-coded
+ HFONT hfont = CreateFontIndirect(&lf);
+
bool stockFont = false;
if (hfont == 0) {
hfont = (HFONT)GetStockObject(ANSI_VAR_FONT);
diff --git a/src/gui/text/qfontengine_win_p.h b/src/gui/text/qfontengine_win_p.h
index a8da78a..b86bd00 100644
--- a/src/gui/text/qfontengine_win_p.h
+++ b/src/gui/text/qfontengine_win_p.h
@@ -80,7 +80,7 @@ public:
virtual void addGlyphsToPath(glyph_t *glyphs, QFixedPoint *positions, int nglyphs,
QPainterPath *path, QTextItem::RenderFlags flags);
- HGDIOBJ selectDesignFont(QFixed *) const;
+ HGDIOBJ selectDesignFont() const;
virtual glyph_metrics_t boundingBox(const QGlyphLayout &glyphs);
virtual glyph_metrics_t boundingBox(glyph_t g) { return boundingBox(g, QTransform()); }
@@ -109,18 +109,14 @@ public:
int getGlyphIndexes(const QChar *ch, int numChars, QGlyphLayout *glyphs, bool mirrored) const;
void getCMap();
- QString _name;
- HFONT hfont;
+ QString _name;
+ HFONT hfont;
LOGFONT logfont;
- uint stockFont : 1;
- uint useTextOutA : 1;
- uint ttf : 1;
+ uint stockFont : 1;
+ uint ttf : 1;
uint hasOutline : 1;
- union {
- TEXTMETRICW w;
- TEXTMETRICA a;
- } tm;
- int lw;
+ TEXTMETRIC tm;
+ int lw;
const unsigned char *cmap;
QByteArray cmapTable;
mutable qreal lbearing;
diff --git a/src/gui/text/qfontmetrics.cpp b/src/gui/text/qfontmetrics.cpp
index 9f19fd9..2f3a791 100644
--- a/src/gui/text/qfontmetrics.cpp
+++ b/src/gui/text/qfontmetrics.cpp
@@ -557,11 +557,10 @@ int QFontMetrics::width(const QString &text, int len) const
\warning This function will produce incorrect results for Arabic
characters or non-spacing marks in the middle of a string, as the
glyph shaping and positioning of marks that happens when
- processing strings cannot be taken into account. Use charWidth()
- instead if you aren't looking for the width of isolated
- characters.
+ processing strings cannot be taken into account. When implementing
+ an interactive text control, use QTextLayout instead.
- \sa boundingRect(), charWidth()
+ \sa boundingRect()
*/
int QFontMetrics::width(QChar ch) const
{
@@ -1386,9 +1385,8 @@ qreal QFontMetricsF::width(const QString &text) const
\warning This function will produce incorrect results for Arabic
characters or non-spacing marks in the middle of a string, as the
glyph shaping and positioning of marks that happens when
- processing strings cannot be taken into account. Use charWidth()
- instead if you aren't looking for the width of isolated
- characters.
+ processing strings cannot be taken into account. When implementing
+ an interactive text control, use QTextLayout instead.
\sa boundingRect()
*/
diff --git a/src/gui/text/qsyntaxhighlighter.cpp b/src/gui/text/qsyntaxhighlighter.cpp
index db1a38e..56c7ca1 100644
--- a/src/gui/text/qsyntaxhighlighter.cpp
+++ b/src/gui/text/qsyntaxhighlighter.cpp
@@ -65,6 +65,18 @@ public:
void _q_reformatBlocks(int from, int charsRemoved, int charsAdded);
void reformatBlock(QTextBlock block);
+
+ inline void rehighlight(QTextCursor &cursor, QTextCursor::MoveOperation operation) {
+ QObject::disconnect(doc, SIGNAL(contentsChange(int,int,int)),
+ q_func(), SLOT(_q_reformatBlocks(int,int,int)));
+ cursor.beginEditBlock();
+ int from = cursor.position();
+ cursor.movePosition(operation);
+ _q_reformatBlocks(from, 0, cursor.position() - from);
+ cursor.endEditBlock();
+ QObject::connect(doc, SIGNAL(contentsChange(int,int,int)),
+ q_func(), SLOT(_q_reformatBlocks(int,int,int)));
+ }
inline void _q_delayedRehighlight() {
if (!rehighlightPending)
@@ -355,7 +367,9 @@ QTextDocument *QSyntaxHighlighter::document() const
/*!
\since 4.2
- Redoes the highlighting of the whole document.
+ Reapplies the highlighting to the whole document.
+
+ \sa rehighlightBlock()
*/
void QSyntaxHighlighter::rehighlight()
{
@@ -363,15 +377,25 @@ void QSyntaxHighlighter::rehighlight()
if (!d->doc)
return;
- disconnect(d->doc, SIGNAL(contentsChange(int,int,int)),
- this, SLOT(_q_reformatBlocks(int,int,int)));
QTextCursor cursor(d->doc);
- cursor.beginEditBlock();
- cursor.movePosition(QTextCursor::End);
- d->_q_reformatBlocks(0, 0, cursor.position());
- cursor.endEditBlock();
- connect(d->doc, SIGNAL(contentsChange(int,int,int)),
- this, SLOT(_q_reformatBlocks(int,int,int)));
+ d->rehighlight(cursor, QTextCursor::End);
+}
+
+/*!
+ \since 4.6
+
+ Reapplies the highlighting to the given QTextBlock \a block.
+
+ \sa rehighlight()
+*/
+void QSyntaxHighlighter::rehighlightBlock(const QTextBlock &block)
+{
+ Q_D(QSyntaxHighlighter);
+ if (!d->doc)
+ return;
+
+ QTextCursor cursor(block);
+ d->rehighlight(cursor, QTextCursor::EndOfBlock);
}
/*!
diff --git a/src/gui/text/qsyntaxhighlighter.h b/src/gui/text/qsyntaxhighlighter.h
index b2fee15..ee249b8 100644
--- a/src/gui/text/qsyntaxhighlighter.h
+++ b/src/gui/text/qsyntaxhighlighter.h
@@ -66,7 +66,7 @@ class QTextEdit;
class Q_GUI_EXPORT QSyntaxHighlighter : public QObject
{
Q_OBJECT
- Q_DECLARE_SCOPED_PRIVATE(QSyntaxHighlighter)
+ Q_DECLARE_PRIVATE(QSyntaxHighlighter)
public:
QSyntaxHighlighter(QObject *parent);
QSyntaxHighlighter(QTextDocument *parent);
@@ -78,6 +78,7 @@ public:
public Q_SLOTS:
void rehighlight();
+ void rehighlightBlock(const QTextBlock &block);
protected:
virtual void highlightBlock(const QString &text) = 0;
diff --git a/src/gui/text/qtextcontrol_p.h b/src/gui/text/qtextcontrol_p.h
index 8ba6a06..eb0d749 100644
--- a/src/gui/text/qtextcontrol_p.h
+++ b/src/gui/text/qtextcontrol_p.h
@@ -83,10 +83,10 @@ class QAbstractScrollArea;
class QEvent;
class QTimerEvent;
-class Q_AUTOTEST_EXPORT QTextControl : public QObject
+class Q_GUI_EXPORT QTextControl : public QObject
{
Q_OBJECT
- Q_DECLARE_SCOPED_PRIVATE(QTextControl)
+ Q_DECLARE_PRIVATE(QTextControl)
#ifndef QT_NO_TEXTHTMLPARSER
Q_PROPERTY(QString html READ toHtml WRITE setHtml NOTIFY textChanged USER true)
#endif
diff --git a/src/gui/text/qtextcursor.cpp b/src/gui/text/qtextcursor.cpp
index 0e3cb56..19d4cc4 100644
--- a/src/gui/text/qtextcursor.cpp
+++ b/src/gui/text/qtextcursor.cpp
@@ -1856,6 +1856,8 @@ bool QTextCursor::atStart() const
}
/*!
+ \since 4.6
+
Returns true if the cursor is at the end of the document;
otherwise returns false.
diff --git a/src/gui/text/qtextdocument.cpp b/src/gui/text/qtextdocument.cpp
index 3287f31..3531699 100644
--- a/src/gui/text/qtextdocument.cpp
+++ b/src/gui/text/qtextdocument.cpp
@@ -2416,7 +2416,10 @@ void QTextHtmlExporter::emitFragment(const QTextFragment &fragment)
static bool isOrderedList(int style)
{
return style == QTextListFormat::ListDecimal || style == QTextListFormat::ListLowerAlpha
- || style == QTextListFormat::ListUpperAlpha;
+ || style == QTextListFormat::ListUpperAlpha
+ || style == QTextListFormat::ListUpperRoman
+ || style == QTextListFormat::ListLowerRoman
+ ;
}
void QTextHtmlExporter::emitBlockAttributes(const QTextBlock &block)
@@ -2513,6 +2516,8 @@ void QTextHtmlExporter::emitBlock(const QTextBlock &block)
case QTextListFormat::ListSquare: html += QLatin1String("<ul type=\"square\""); break;
case QTextListFormat::ListLowerAlpha: html += QLatin1String("<ol type=\"a\""); break;
case QTextListFormat::ListUpperAlpha: html += QLatin1String("<ol type=\"A\""); break;
+ case QTextListFormat::ListLowerRoman: html += QLatin1String("<ol type=\"i\""); break;
+ case QTextListFormat::ListUpperRoman: html += QLatin1String("<ol type=\"I\""); break;
default: html += QLatin1String("<ul"); // ### should not happen
}
diff --git a/src/gui/text/qtextdocument.h b/src/gui/text/qtextdocument.h
index cfbb558..40b6621 100644
--- a/src/gui/text/qtextdocument.h
+++ b/src/gui/text/qtextdocument.h
@@ -286,7 +286,7 @@ public:
QTextDocumentPrivate *docHandle() const;
private:
Q_DISABLE_COPY(QTextDocument)
- Q_DECLARE_SCOPED_PRIVATE(QTextDocument)
+ Q_DECLARE_PRIVATE(QTextDocument)
friend class QTextObjectPrivate;
};
diff --git a/src/gui/text/qtextdocument_p.cpp b/src/gui/text/qtextdocument_p.cpp
index 71baa88..88afe4a 100644
--- a/src/gui/text/qtextdocument_p.cpp
+++ b/src/gui/text/qtextdocument_p.cpp
@@ -60,6 +60,15 @@ QT_BEGIN_NAMESPACE
#define PMDEBUG if(0) qDebug
+// The VxWorks DIAB compiler crashes when initializing the anonymouse union with { a7 }
+#if !defined(Q_CC_DIAB)
+# define QT_INIT_TEXTUNDOCOMMAND(c, a1, a2, a3, a4, a5, a6, a7, a8) \
+ QTextUndoCommand c = { a1, a2, a3, a4, a5, a6, { a7 }, a8 }
+#else
+# define QT_INIT_TEXTUNDOCOMMAND(c, a1, a2, a3, a4, a5, a6, a7, a8) \
+ QTextUndoCommand c = { a1, a2, a3, a4, a5, a6 }; c.blockFormat = a7; c.revision = a8
+#endif
+
/*
Structure of a document:
@@ -412,9 +421,9 @@ int QTextDocumentPrivate::insertBlock(const QChar &blockSeparator,
int b = blocks.findNode(pos);
QTextBlockData *B = blocks.fragment(b);
- QTextUndoCommand c = { QTextUndoCommand::BlockInserted, editBlock != 0,
- op, charFormat, strPos, pos, { blockFormat },
- B->revision };
+ QT_INIT_TEXTUNDOCOMMAND(c, QTextUndoCommand::BlockInserted, editBlock != 0,
+ op, charFormat, strPos, pos, blockFormat,
+ B->revision);
appendUndoItem(c);
Q_ASSERT(undoState == undoStack.size());
@@ -453,9 +462,9 @@ void QTextDocumentPrivate::insert(int pos, int strPos, int strLength, int format
int b = blocks.findNode(pos);
QTextBlockData *B = blocks.fragment(b);
- QTextUndoCommand c = { QTextUndoCommand::Inserted, editBlock != 0,
- QTextUndoCommand::MoveCursor, format, strPos, pos, { strLength },
- B->revision };
+ QT_INIT_TEXTUNDOCOMMAND(c, QTextUndoCommand::Inserted, editBlock != 0,
+ QTextUndoCommand::MoveCursor, format, strPos, pos, strLength,
+ B->revision);
appendUndoItem(c);
B->revision = undoState;
Q_ASSERT(undoState == undoStack.size());
@@ -612,12 +621,12 @@ void QTextDocumentPrivate::move(int pos, int to, int length, QTextUndoCommand::O
int blockRevision = B->revision;
QTextFragmentData *X = fragments.fragment(x);
- QTextUndoCommand c = { QTextUndoCommand::Removed, editBlock != 0,
- op, X->format, X->stringPosition, key, { X->size_array[0] },
- blockRevision };
- QTextUndoCommand cInsert = { QTextUndoCommand::Inserted, editBlock != 0,
- op, X->format, X->stringPosition, dstKey, { X->size_array[0] },
- blockRevision };
+ QT_INIT_TEXTUNDOCOMMAND(c, QTextUndoCommand::Removed, editBlock != 0,
+ op, X->format, X->stringPosition, key, X->size_array[0],
+ blockRevision);
+ QT_INIT_TEXTUNDOCOMMAND(cInsert, QTextUndoCommand::Inserted, editBlock != 0,
+ op, X->format, X->stringPosition, dstKey, X->size_array[0],
+ blockRevision);
if (key+1 != blocks.position(b)) {
// qDebug("remove_string from %d length %d", key, X->size_array[0]);
@@ -729,8 +738,8 @@ void QTextDocumentPrivate::setCharFormat(int pos, int length, const QTextCharFor
fragment->format = newFormatIdx;
}
- QTextUndoCommand c = { QTextUndoCommand::CharFormatChanged, true, QTextUndoCommand::MoveCursor, oldFormat,
- 0, pos, { length }, 0 };
+ QT_INIT_TEXTUNDOCOMMAND(c, QTextUndoCommand::CharFormatChanged, true, QTextUndoCommand::MoveCursor, oldFormat,
+ 0, pos, length, 0);
appendUndoItem(c);
pos += length;
@@ -789,8 +798,8 @@ void QTextDocumentPrivate::setBlockFormat(const QTextBlock &from, const QTextBlo
block(it)->invalidate();
- QTextUndoCommand c = { QTextUndoCommand::BlockFormatChanged, true, QTextUndoCommand::MoveCursor, oldFormat,
- 0, it.position(), { 1 }, 0 };
+ QT_INIT_TEXTUNDOCOMMAND(c, QTextUndoCommand::BlockFormatChanged, true, QTextUndoCommand::MoveCursor, oldFormat,
+ 0, it.position(), 1, 0);
appendUndoItem(c);
if (group != oldGroup) {
@@ -1304,8 +1313,8 @@ void QTextDocumentPrivate::changeObjectFormat(QTextObject *obj, int format)
if (f)
documentChange(f->firstPosition(), f->lastPosition() - f->firstPosition());
- QTextUndoCommand c = { QTextUndoCommand::GroupFormatChange, editBlock != 0, QTextUndoCommand::MoveCursor, oldFormatIndex,
- 0, 0, { obj->d_func()->objectIndex }, 0 };
+ QT_INIT_TEXTUNDOCOMMAND(c, QTextUndoCommand::GroupFormatChange, editBlock != 0, QTextUndoCommand::MoveCursor, oldFormatIndex,
+ 0, 0, obj->d_func()->objectIndex, 0);
appendUndoItem(c);
endEditBlock();
diff --git a/src/gui/text/qtextdocumentfragment.cpp b/src/gui/text/qtextdocumentfragment.cpp
index a940aa4..cb09452 100644
--- a/src/gui/text/qtextdocumentfragment.cpp
+++ b/src/gui/text/qtextdocumentfragment.cpp
@@ -54,7 +54,11 @@
QT_BEGIN_NAMESPACE
QTextCopyHelper::QTextCopyHelper(const QTextCursor &_source, const QTextCursor &_destination, bool forceCharFormat, const QTextCharFormat &fmt)
+#if defined(Q_CC_DIAB) // compiler bug
+ : formatCollection(*_destination.d->priv->formatCollection()), originalText((const QString)_source.d->priv->buffer())
+#else
: formatCollection(*_destination.d->priv->formatCollection()), originalText(_source.d->priv->buffer())
+#endif
{
src = _source.d->priv;
dst = _destination.d->priv;
diff --git a/src/gui/text/qtextdocumentlayout.cpp b/src/gui/text/qtextdocumentlayout.cpp
index 125d74c..f1d9091 100644
--- a/src/gui/text/qtextdocumentlayout.cpp
+++ b/src/gui/text/qtextdocumentlayout.cpp
@@ -1383,6 +1383,8 @@ void QTextDocumentLayoutPrivate::drawListItem(const QPointF &offset, QPainter *p
case QTextListFormat::ListDecimal:
case QTextListFormat::ListLowerAlpha:
case QTextListFormat::ListUpperAlpha:
+ case QTextListFormat::ListLowerRoman:
+ case QTextListFormat::ListUpperRoman:
itemText = static_cast<QTextList *>(object)->itemText(bl);
size.setWidth(fontMetrics.width(itemText));
size.setHeight(fontMetrics.height());
@@ -1426,7 +1428,9 @@ void QTextDocumentLayoutPrivate::drawListItem(const QPointF &offset, QPainter *p
switch (style) {
case QTextListFormat::ListDecimal:
case QTextListFormat::ListLowerAlpha:
- case QTextListFormat::ListUpperAlpha: {
+ case QTextListFormat::ListUpperAlpha:
+ case QTextListFormat::ListLowerRoman:
+ case QTextListFormat::ListUpperRoman: {
QTextLayout layout(itemText, font, q->paintDevice());
layout.setCacheEnabled(true);
QTextOption option(Qt::AlignLeft | Qt::AlignAbsolute);
diff --git a/src/gui/text/qtextdocumentlayout_p.h b/src/gui/text/qtextdocumentlayout_p.h
index 4dc18d0..41507b0 100644
--- a/src/gui/text/qtextdocumentlayout_p.h
+++ b/src/gui/text/qtextdocumentlayout_p.h
@@ -65,7 +65,7 @@ class QTextDocumentLayoutPrivate;
class Q_AUTOTEST_EXPORT QTextDocumentLayout : public QAbstractTextDocumentLayout
{
- Q_DECLARE_SCOPED_PRIVATE(QTextDocumentLayout)
+ Q_DECLARE_PRIVATE(QTextDocumentLayout)
Q_OBJECT
Q_PROPERTY(int cursorWidth READ cursorWidth WRITE setCursorWidth)
Q_PROPERTY(qreal idealWidth READ idealWidth)
diff --git a/src/gui/text/qtextformat.cpp b/src/gui/text/qtextformat.cpp
index 9b91f7e..7f82365 100644
--- a/src/gui/text/qtextformat.cpp
+++ b/src/gui/text/qtextformat.cpp
@@ -89,7 +89,7 @@ QT_BEGIN_NAMESPACE
/*!
\fn Type QTextLength::type() const
- Returns the type of length.
+ Returns the type of this length object.
\sa QTextLength::Type
*/
@@ -129,9 +129,15 @@ QT_BEGIN_NAMESPACE
/*!
\enum QTextLength::Type
- \value VariableLength
- \value FixedLength
- \value PercentageLength
+ This enum describes the different types a length object can
+ have.
+
+ \value VariableLength The width of the object is variable
+ \value FixedLength The width of the object is fixed
+ \value PercentageLength The width of the object is in
+ percentage of the maximum width
+
+ \sa type()
*/
/*!
@@ -417,7 +423,7 @@ Q_GUI_EXPORT QDataStream &operator>>(QDataStream &stream, QTextFormat &fmt)
more useful, and describe the formatting that is applied to
specific parts of the document.
- A format has a \c FormatType which specifies the kinds of thing it
+ A format has a \c FormatType which specifies the kinds of text item it
can format; e.g. a block of text, a list, a table, etc. A format
also has various properties (some specific to particular format
types), as described by the Property enum. Every property has a
@@ -447,24 +453,32 @@ Q_GUI_EXPORT QDataStream &operator>>(QDataStream &stream, QTextFormat &fmt)
/*!
\enum QTextFormat::FormatType
- \value InvalidFormat
- \value BlockFormat
- \value CharFormat
- \value ListFormat
- \value TableFormat
- \value FrameFormat
+ This enum describes the text item a QTextFormat object is formatting.
+
+ \value InvalidFormat An invalid format as created by the default
+ constructor
+ \value BlockFormat The object formats a text block
+ \value CharFormat The object formats a single character
+ \value ListFormat The object formats a list
+ \value TableFormat The object formats a table
+ \value FrameFormat The object formats a frame
\value UserFormat
+
+ \sa QTextCharFormat, QTextBlockFormat, QTextListFormat,
+ QTextTableFormat, type()
*/
/*!
\enum QTextFormat::Property
- \value ObjectIndex
+ This enum describes the different properties a format can have.
+
+ \value ObjectIndex The index of the formatted object. See objectIndex().
Paragraph and character properties
- \value CssFloat
+ \value CssFloat How a frame is located relative to the surrounding text
\value LayoutDirection The layout direction of the text in the document
(Qt::LayoutDirection).
@@ -482,25 +496,25 @@ Q_GUI_EXPORT QDataStream &operator>>(QDataStream &stream, QTextFormat &fmt)
\value BlockRightMargin
\value TextIndent
\value TabPositions Specifies the tab positions. The tab positions are structs of QTextOption::Tab which are stored in
- a QList (internally, in a QList<QVariant>).
+ a QList (internally, in a QList<QVariant>).
\value BlockIndent
\value BlockNonBreakableLines
- \value BlockTrailingHorizontalRulerWidth
+ \value BlockTrailingHorizontalRulerWidth The width of a horizontal ruler element.
Character properties
\value FontFamily
\value FontPointSize
+ \value FontPixelSize
\value FontSizeAdjustment Specifies the change in size given to the fontsize already set using
FontPointSize or FontPixelSize.
+ \value FontFixedPitch
\omitvalue FontSizeIncrement
\value FontWeight
\value FontItalic
\value FontUnderline \e{This property has been deprecated.} Use QTextFormat::TextUnderlineStyle instead.
\value FontOverline
\value FontStrikeOut
- \value FontFixedPitch
- \value FontPixelSize
\value FontCapitalization Specifies the capitalization type that is to be applied to the text.
\value FontLetterSpacing Changes the default spacing between individual letters in the font. The value is
specified in percentage, with 100 as the default value.
@@ -512,7 +526,7 @@ Q_GUI_EXPORT QDataStream &operator>>(QDataStream &stream, QTextFormat &fmt)
\omitvalue FirstFontProperty
\omitvalue LastFontProperty
-
+
\value TextUnderlineColor
\value TextVerticalAlignment
\value TextOutline
@@ -533,7 +547,7 @@ Q_GUI_EXPORT QDataStream &operator>>(QDataStream &stream, QTextFormat &fmt)
\value FrameBorder
\value FrameBorderBrush
- \value FrameBorderStyle
+ \value FrameBorderStyle See the \l{QTextFrameFormat::BorderStyle}{BorderStyle} enum.
\value FrameBottomMargin
\value FrameHeight
\value FrameLeftMargin
@@ -565,33 +579,46 @@ Q_GUI_EXPORT QDataStream &operator>>(QDataStream &stream, QTextFormat &fmt)
Selection properties
- \value FullWidthSelection When set on the characterFormat of a selection, the whole width of the text will be shown selected
+ \value FullWidthSelection When set on the characterFormat of a selection,
+ the whole width of the text will be shown selected.
Page break properties
- \value PageBreakPolicy
+ \value PageBreakPolicy Specifies how pages are broken. See the PageBreakFlag enum.
\value UserProperty
+
+ \sa property(), setProperty()
*/
/*!
\enum QTextFormat::ObjectTypes
+ This enum describes what kind of QTextObject this format is associated with.
+
\value NoObject
\value ImageObject
\value TableObject
\value TableCellObject
\value UserObject The first object that can be used for application-specific purposes.
+
+ \sa QTextObject, QTextTable, QTextObject::format()
*/
/*!
\enum QTextFormat::PageBreakFlag
\since 4.2
+ This enum describes how page breaking is performed when printing. It maps to the
+ corresponding css properties.
+
\value PageBreak_Auto The page break is determined automatically depending on the
available space on the current page
\value PageBreak_AlwaysBefore The page is always broken before the paragraph/table
\value PageBreak_AlwaysAfter A new page is always started after the paragraph/table
+
+ \sa QTextBlockFormat::pageBreakPolicy(), QTextFrameFormat::pageBreakPolicy(),
+ PageBreakPolicy
*/
/*!
@@ -971,6 +998,8 @@ QVector<QTextLength> QTextFormat::lengthVectorProperty(int propertyId) const
/*!
Returns the property specified by the given \a propertyId.
+
+ \sa Property
*/
QVariant QTextFormat::property(int propertyId) const
{
@@ -979,6 +1008,8 @@ QVariant QTextFormat::property(int propertyId) const
/*!
Sets the property specified by the \a propertyId to the given \a value.
+
+ \sa Property
*/
void QTextFormat::setProperty(int propertyId, const QVariant &value)
{
@@ -1006,8 +1037,10 @@ void QTextFormat::setProperty(int propertyId, const QVector<QTextLength> &value)
}
/*!
- Clears the value of the property given by \a propertyId
- */
+ Clears the value of the property given by \a propertyId
+
+ \sa Property
+*/
void QTextFormat::clearProperty(int propertyId)
{
if (!d)
@@ -1019,14 +1052,18 @@ void QTextFormat::clearProperty(int propertyId)
/*!
\fn void QTextFormat::setObjectType(int type)
- Sets the text format's object \a type. See \c{ObjectTypes}.
+ Sets the text format's object type to \a type.
+
+ \sa ObjectTypes, objectType()
*/
/*!
\fn int QTextFormat::objectType() const
- Returns the text format's object type. See \c{ObjectTypes}.
+ Returns the text format's object type.
+
+ \sa ObjectTypes, setObjectType()
*/
@@ -2078,6 +2115,8 @@ QList<QTextOption::Tab> QTextBlockFormat::tabPositions() const
\value ListDecimal decimal values in ascending order
\value ListLowerAlpha lower case Latin characters in alphabetical order
\value ListUpperAlpha upper case Latin characters in alphabetical order
+ \value ListLowerRoman lower case roman numerals (supports up to 4999 items only)
+ \value ListUpperRoman upper case roman numerals (supports up to 4999 items only)
\omitvalue ListStyleUndefined
*/
@@ -2114,17 +2153,17 @@ QTextListFormat::QTextListFormat(const QTextFormat &fmt)
/*!
\fn void QTextListFormat::setStyle(Style style)
- Sets the list format's \a style. See \c{Style} for the available styles.
+ Sets the list format's \a style.
- \sa style()
+ \sa style() Style
*/
/*!
\fn Style QTextListFormat::style() const
- Returns the list format's style. See \c{Style}.
+ Returns the list format's style.
- \sa setStyle()
+ \sa setStyle() Style
*/
@@ -2186,16 +2225,21 @@ QTextListFormat::QTextListFormat(const QTextFormat &fmt)
/*!
\enum QTextFrameFormat::Position
+ This enum describes how a frame is located relative to the surrounding text.
+
\value InFlow
\value FloatLeft
\value FloatRight
+ \sa position() CssFloat
*/
/*!
\enum QTextFrameFormat::BorderStyle
\since 4.3
+ This enum describes different border styles for the text frame.
+
\value BorderStyle_None
\value BorderStyle_Dotted
\value BorderStyle_Dashed
@@ -2208,6 +2252,7 @@ QTextListFormat::QTextListFormat(const QTextFormat &fmt)
\value BorderStyle_Inset
\value BorderStyle_Outset
+ \sa borderStyle() FrameBorderStyle
*/
/*!
diff --git a/src/gui/text/qtextformat.h b/src/gui/text/qtextformat.h
index d269687..9697105 100644
--- a/src/gui/text/qtextformat.h
+++ b/src/gui/text/qtextformat.h
@@ -604,6 +604,8 @@ public:
ListDecimal = -4,
ListLowerAlpha = -5,
ListUpperAlpha = -6,
+ ListLowerRoman = -7,
+ ListUpperRoman = -8,
ListStyleUndefined = 0
};
diff --git a/src/gui/text/qtexthtmlparser.cpp b/src/gui/text/qtexthtmlparser.cpp
index 1bff162..a88cd17 100644
--- a/src/gui/text/qtexthtmlparser.cpp
+++ b/src/gui/text/qtexthtmlparser.cpp
@@ -1206,6 +1206,8 @@ void QTextHtmlParserNode::setListStyle(const QVector<QCss::Value> &cssValues)
case QCss::Value_Decimal: hasOwnListStyle = true; listStyle = QTextListFormat::ListDecimal; break;
case QCss::Value_LowerAlpha: hasOwnListStyle = true; listStyle = QTextListFormat::ListLowerAlpha; break;
case QCss::Value_UpperAlpha: hasOwnListStyle = true; listStyle = QTextListFormat::ListUpperAlpha; break;
+ case QCss::Value_LowerRoman: hasOwnListStyle = true; listStyle = QTextListFormat::ListLowerRoman; break;
+ case QCss::Value_UpperRoman: hasOwnListStyle = true; listStyle = QTextListFormat::ListUpperRoman; break;
default: break;
}
}
@@ -1540,6 +1542,10 @@ void QTextHtmlParser::applyAttributes(const QStringList &attributes)
node->listStyle = QTextListFormat::ListLowerAlpha;
} else if (value == QLatin1String("A")) {
node->listStyle = QTextListFormat::ListUpperAlpha;
+ } else if (value == QLatin1String("i")) {
+ node->listStyle = QTextListFormat::ListLowerRoman;
+ } else if (value == QLatin1String("I")) {
+ node->listStyle = QTextListFormat::ListUpperRoman;
} else {
value = value.toLower();
if (value == QLatin1String("square"))
diff --git a/src/gui/text/qtextlist.cpp b/src/gui/text/qtextlist.cpp
index addd7a5..5e9898a 100644
--- a/src/gui/text/qtextlist.cpp
+++ b/src/gui/text/qtextlist.cpp
@@ -129,8 +129,6 @@ QTextList::~QTextList()
/*!
Returns the number of items in the list.
-
- \sa isEmpty()
*/
int QTextList::count() const
{
@@ -212,6 +210,55 @@ QString QTextList::itemText(const QTextBlock &blockIt) const
}
}
break;
+ case QTextListFormat::ListLowerRoman:
+ case QTextListFormat::ListUpperRoman:
+ {
+ if (item < 5000) {
+ QByteArray romanNumeral;
+
+ // works for up to 4999 items
+ static const char romanSymbolsLower[] = "iiivixxxlxcccdcmmmm";
+ static const char romanSymbolsUpper[] = "IIIVIXXXLXCCCDCMMMM";
+ QByteArray romanSymbols; // wrap to have "mid"
+ if (style == QTextListFormat::ListLowerRoman)
+ romanSymbols = QByteArray::fromRawData(romanSymbolsLower, sizeof(romanSymbolsLower));
+ else
+ romanSymbols = QByteArray::fromRawData(romanSymbolsUpper, sizeof(romanSymbolsUpper));
+
+ int c[] = { 1, 4, 5, 9, 10, 40, 50, 90, 100, 400, 500, 900, 1000 };
+ int n = item;
+ for (int i = 12; i >= 0; n %= c[i], i--) {
+ int q = n / c[i];
+ if (q > 0) {
+ int startDigit = i + (i+3)/4;
+ int numDigits;
+ if (i % 4) {
+ // c[i] == 4|5|9|40|50|90|400|500|900
+ if ((i-2) % 4) {
+ // c[i] == 4|9|40|90|400|900 => with substraction (IV, IX, XL, XC, ...)
+ numDigits = 2;
+ }
+ else {
+ // c[i] == 5|50|500 (V, L, D)
+ numDigits = 1;
+ }
+ }
+ else {
+ // c[i] == 1|10|100|1000 (I, II, III, X, XX, ...)
+ numDigits = q;
+ }
+
+ romanNumeral.append(romanSymbols.mid(startDigit, numDigits));
+ }
+ }
+ result = QString::fromLatin1(romanNumeral);
+ }
+ else {
+ result = QLatin1String("?");
+ }
+
+ }
+ break;
default:
Q_ASSERT(false);
}
diff --git a/src/gui/text/qtextlist.h b/src/gui/text/qtextlist.h
index 3d07be8..04f1838 100644
--- a/src/gui/text/qtextlist.h
+++ b/src/gui/text/qtextlist.h
@@ -81,7 +81,7 @@ public:
private:
Q_DISABLE_COPY(QTextList)
- Q_DECLARE_SCOPED_PRIVATE(QTextList)
+ Q_DECLARE_PRIVATE(QTextList)
};
inline void QTextList::setFormat(const QTextListFormat &aformat)
diff --git a/src/gui/text/qtextobject.h b/src/gui/text/qtextobject.h
index f22f77c..4f239b2 100644
--- a/src/gui/text/qtextobject.h
+++ b/src/gui/text/qtextobject.h
@@ -84,7 +84,7 @@ protected:
QTextObject(QTextObjectPrivate &p, QTextDocument *doc);
private:
- Q_DECLARE_SCOPED_PRIVATE(QTextObject)
+ Q_DECLARE_PRIVATE(QTextObject)
Q_DISABLE_COPY(QTextObject)
friend class QTextDocumentPrivate;
};
@@ -107,7 +107,7 @@ protected:
protected:
QTextBlockGroup(QTextBlockGroupPrivate &p, QTextDocument *doc);
private:
- Q_DECLARE_SCOPED_PRIVATE(QTextBlockGroup)
+ Q_DECLARE_PRIVATE(QTextBlockGroup)
Q_DISABLE_COPY(QTextBlockGroup)
friend class QTextDocumentPrivate;
};
@@ -182,7 +182,7 @@ protected:
QTextFrame(QTextFramePrivate &p, QTextDocument *doc);
private:
friend class QTextDocumentPrivate;
- Q_DECLARE_SCOPED_PRIVATE(QTextFrame)
+ Q_DECLARE_PRIVATE(QTextFrame)
Q_DISABLE_COPY(QTextFrame)
};
Q_DECLARE_TYPEINFO(QTextFrame::iterator, Q_MOVABLE_TYPE);
diff --git a/src/gui/text/qtextodfwriter.cpp b/src/gui/text/qtextodfwriter.cpp
index b0c16ee..883cf80 100644
--- a/src/gui/text/qtextodfwriter.cpp
+++ b/src/gui/text/qtextodfwriter.cpp
@@ -174,6 +174,10 @@ static QString bulletChar(QTextListFormat::Style style)
return QString::fromLatin1("a");
case QTextListFormat::ListUpperAlpha:
return QString::fromLatin1("A");
+ case QTextListFormat::ListLowerRoman:
+ return QString::fromLatin1("i");
+ case QTextListFormat::ListUpperRoman:
+ return QString::fromLatin1("I");
default:
case QTextListFormat::ListStyleUndefined:
return QString();
@@ -619,7 +623,9 @@ void QTextOdfWriter::writeListFormat(QXmlStreamWriter &writer, QTextListFormat f
QTextListFormat::Style style = format.style();
if (style == QTextListFormat::ListDecimal || style == QTextListFormat::ListLowerAlpha
- || style == QTextListFormat::ListUpperAlpha) {
+ || style == QTextListFormat::ListUpperAlpha
+ || style == QTextListFormat::ListLowerRoman
+ || style == QTextListFormat::ListUpperRoman) {
writer.writeStartElement(textNS, QString::fromLatin1("list-level-style-number"));
writer.writeAttribute(styleNS, QString::fromLatin1("num-format"), bulletChar(style));
writer.writeAttribute(styleNS, QString::fromLatin1("num-suffix"), QString::fromLatin1("."));
diff --git a/src/gui/text/qtexttable.h b/src/gui/text/qtexttable.h
index 2deb3fa..612c71c 100644
--- a/src/gui/text/qtexttable.h
+++ b/src/gui/text/qtexttable.h
@@ -134,7 +134,7 @@ public:
private:
Q_DISABLE_COPY(QTextTable)
- Q_DECLARE_SCOPED_PRIVATE(QTextTable)
+ Q_DECLARE_PRIVATE(QTextTable)
friend class QTextTableCell;
};
diff --git a/src/gui/text/qzip.cpp b/src/gui/text/qzip.cpp
index 75ce713..e4e54cf 100644
--- a/src/gui/text/qzip.cpp
+++ b/src/gui/text/qzip.cpp
@@ -56,13 +56,23 @@
#if defined(Q_OS_WIN)
#undef S_IFREG
#define S_IFREG 0100000
-# define S_ISDIR(x) ((x) & 0040000) > 0
-# define S_ISREG(x) ((x) & 0170000) == S_IFREG
+# ifndef S_ISDIR
+# define S_ISDIR(x) ((x) & 0040000) > 0
+# endif
+# ifndef S_ISREG
+# define S_ISREG(x) ((x) & 0170000) == S_IFREG
+# endif
# define S_IFLNK 020000
# define S_ISLNK(x) ((x) & S_IFLNK) > 0
-# define S_IRUSR 0400
-# define S_IWUSR 0200
-# define S_IXUSR 0100
+# ifndef S_IRUSR
+# define S_IRUSR 0400
+# endif
+# ifndef S_IWUSR
+# define S_IWUSR 0200
+# endif
+# ifndef S_IXUSR
+# define S_IXUSR 0100
+# endif
# define S_IRGRP 0040
# define S_IWGRP 0020
# define S_IXGRP 0010
diff --git a/src/gui/util/qcompleter.cpp b/src/gui/util/qcompleter.cpp
index 89cb283..29763e2 100644
--- a/src/gui/util/qcompleter.cpp
+++ b/src/gui/util/qcompleter.cpp
@@ -134,7 +134,7 @@
To provide completions, QCompleter needs to know the path from an index.
This is provided by pathFromIndex(). The default implementation of
- pathFromIndex(), returns the data for the \l{Qt::EditRole}{edit role}
+ pathFromIndex(), returns the data for the \l{Qt::EditRole}{edit role}
for list models and the absolute file path if the mode is a QDirModel.
\sa QAbstractItemModel, QLineEdit, QComboBox, {Completer Example}
@@ -771,7 +771,7 @@ QMatchData QUnsortedModelEngine::filter(const QString& part, const QModelIndex&
///////////////////////////////////////////////////////////////////////////////
QCompleterPrivate::QCompleterPrivate()
: widget(0), proxy(0), popup(0), cs(Qt::CaseSensitive), role(Qt::EditRole), column(0),
- sorting(QCompleter::UnsortedModel), wrap(true), eatFocusOut(true)
+ maxVisibleItems(7), sorting(QCompleter::UnsortedModel), wrap(true), eatFocusOut(true)
{
}
@@ -823,6 +823,9 @@ void QCompleterPrivate::_q_complete(QModelIndex index, bool highlighted)
Q_Q(QCompleter);
QString completion;
+ if (!(index.flags() & Qt::ItemIsEnabled))
+ return;
+
if (!index.isValid() || (!proxy->showAll && (index.row() >= proxy->engine->matchCount()))) {
completion = prefix;
} else {
@@ -860,7 +863,7 @@ void QCompleterPrivate::showPopup(const QRect& rect)
Qt::LayoutDirection dir = widget->layoutDirection();
QPoint pos;
int rw, rh, w;
- int h = (popup->sizeHintForRow(0) * qMin(7, popup->model()->rowCount()) + 3) + 3;
+ int h = (popup->sizeHintForRow(0) * qMin(maxVisibleItems, popup->model()->rowCount()) + 3) + 3;
QScrollBar *hsb = popup->horizontalScrollBar();
if (hsb && hsb->isVisible())
h += popup->horizontalScrollBar()->sizeHint().height();
@@ -1101,7 +1104,8 @@ void QCompleter::setPopup(QAbstractItemView *popup)
QObject::connect(popup, SIGNAL(clicked(QModelIndex)),
this, SLOT(_q_complete(QModelIndex)));
- QObject::connect(popup, SIGNAL(clicked(QModelIndex)), popup, SLOT(hide()));
+ QObject::connect(this, SIGNAL(activated(QModelIndex)),
+ popup, SLOT(hide()));
QObject::connect(popup->selectionModel(), SIGNAL(selectionChanged(QItemSelection,QItemSelection)),
this, SLOT(_q_completionSelected(QItemSelection)));
@@ -1181,7 +1185,7 @@ bool QCompleter::eventFilter(QObject *o, QEvent *e)
case Qt::Key_Up:
if (!curIndex.isValid()) {
int rowCount = d->proxy->rowCount();
- QModelIndex lastIndex = d->proxy->index(rowCount - 1, 0);
+ QModelIndex lastIndex = d->proxy->index(rowCount - 1, d->column);
d->setCurrentIndex(lastIndex);
return true;
} else if (curIndex.row() == 0) {
@@ -1193,7 +1197,7 @@ bool QCompleter::eventFilter(QObject *o, QEvent *e)
case Qt::Key_Down:
if (!curIndex.isValid()) {
- QModelIndex firstIndex = d->proxy->index(0, 0);
+ QModelIndex firstIndex = d->proxy->index(0, d->column);
d->setCurrentIndex(firstIndex);
return true;
} else if (curIndex.row() == d->proxy->rowCount() - 1) {
@@ -1509,6 +1513,30 @@ bool QCompleter::wrapAround() const
}
/*!
+ \property QCompleter::maxVisibleItems
+ \brief the maximum allowed size on screen of the completer, measured in items
+ \since 4.6
+
+ By default, this property has a value of 7.
+*/
+int QCompleter::maxVisibleItems() const
+{
+ Q_D(const QCompleter);
+ return d->maxVisibleItems;
+}
+
+void QCompleter::setMaxVisibleItems(int maxItems)
+{
+ Q_D(QCompleter);
+ if (maxItems < 0) {
+ qWarning("QCompleter::setMaxVisibleItems: "
+ "Invalid max visible items (%d) must be >= 0", maxItems);
+ return;
+ }
+ d->maxVisibleItems = maxItems;
+}
+
+/*!
\property QCompleter::caseSensitivity
\brief the case sensitivity of the matching
@@ -1581,6 +1609,10 @@ QString QCompleter::currentCompletion() const
that contains all the possible matches for the current completion prefix.
The completion model is auto-updated to reflect the current completions.
+ \note The return value of this function is defined to be an QAbstractItemModel
+ purely for generality. This actual kind of model returned is an instance of an
+ QAbstractProxyModel subclass.
+
\sa completionPrefix, model()
*/
QAbstractItemModel *QCompleter::completionModel() const
diff --git a/src/gui/util/qcompleter.h b/src/gui/util/qcompleter.h
index 35ecc56..a419154 100644
--- a/src/gui/util/qcompleter.h
+++ b/src/gui/util/qcompleter.h
@@ -69,6 +69,7 @@ class Q_GUI_EXPORT QCompleter : public QObject
Q_PROPERTY(CompletionMode completionMode READ completionMode WRITE setCompletionMode)
Q_PROPERTY(int completionColumn READ completionColumn WRITE setCompletionColumn)
Q_PROPERTY(int completionRole READ completionRole WRITE setCompletionRole)
+ Q_PROPERTY(int maxVisibleItems READ maxVisibleItems WRITE setMaxVisibleItems)
Q_PROPERTY(Qt::CaseSensitivity caseSensitivity READ caseSensitivity WRITE setCaseSensitivity)
Q_PROPERTY(bool wrapAround READ wrapAround WRITE setWrapAround)
@@ -118,6 +119,9 @@ public:
bool wrapAround() const;
+ int maxVisibleItems() const;
+ void setMaxVisibleItems(int maxItems);
+
int completionCount() const;
bool setCurrentRow(int row);
int currentRow() const;
@@ -150,7 +154,7 @@ Q_SIGNALS:
private:
Q_DISABLE_COPY(QCompleter)
- Q_DECLARE_SCOPED_PRIVATE(QCompleter)
+ Q_DECLARE_PRIVATE(QCompleter)
Q_PRIVATE_SLOT(d_func(), void _q_complete(QModelIndex))
Q_PRIVATE_SLOT(d_func(), void _q_completionSelected(const QItemSelection&))
diff --git a/src/gui/util/qcompleter_p.h b/src/gui/util/qcompleter_p.h
index def0235..3911b0d 100644
--- a/src/gui/util/qcompleter_p.h
+++ b/src/gui/util/qcompleter_p.h
@@ -87,6 +87,7 @@ public:
Qt::CaseSensitivity cs;
int role;
int column;
+ int maxVisibleItems;
QCompleter::ModelSorting sorting;
bool wrap;
@@ -238,7 +239,7 @@ public:
QScopedPointer<QCompletionEngine> engine;
bool showAll;
- Q_DECLARE_SCOPED_PRIVATE(QCompletionModel)
+ Q_DECLARE_PRIVATE(QCompletionModel)
signals:
void rowsAdded();
diff --git a/src/gui/util/qdesktopservices.cpp b/src/gui/util/qdesktopservices.cpp
index 18a0a73..26e10ca 100644
--- a/src/gui/util/qdesktopservices.cpp
+++ b/src/gui/util/qdesktopservices.cpp
@@ -288,8 +288,9 @@ void QDesktopServices::unsetUrlHandler(const QString &scheme)
\note The storage location returned can be a directory that does not exist; i.e., it
may need to be created by the system or the user.
- \note On Symbian OS, DataLocation and ApplicationsLocation always point to appropriate
- folder on same drive with executable. FontsLocation always points to folder on ROM drive.
+ \note On Symbian OS, ApplicationsLocation always point /sys/bin folder on the same drive
+ with executable. FontsLocation always points to folder on ROM drive. Symbian OS does not
+ have desktop concept, DesktopLocation returns same path as DocumentsLocation.
Rest of the standard locations point to folder on same drive with executable, except
that if executable is in ROM the folder from C drive is returned.
diff --git a/src/gui/util/qdesktopservices_s60.cpp b/src/gui/util/qdesktopservices_s60.cpp
index 565dd6e..09411e1 100644
--- a/src/gui/util/qdesktopservices_s60.cpp
+++ b/src/gui/util/qdesktopservices_s60.cpp
@@ -1,9 +1,9 @@
/****************************************************************************
**
-** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
-** This file is part of the $MODULE$ of the Qt Toolkit.
+** This file is part of the QtGui of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
@@ -68,6 +68,7 @@
QT_BEGIN_NAMESPACE
+_LIT(KCacheSubDir, "Cache\\");
_LIT(KSysBin, "\\Sys\\Bin\\");
_LIT(KTempDir, "\\System\\Temp\\");
_LIT(KBrowserPrefix, "4 " );
@@ -125,7 +126,7 @@ static void handleMailtoSchemeLX(const QUrl &url)
CleanupStack::PopAndDestroy(accounts);
if(!count) {
- // TODO: we should try to create account if count == 0
+ // TODO: Task 259192: We should try to create account if count == 0
// CSendUi would provide account creation service for us, but it requires ridicilous
// capabilities: LocalServices NetworkServices ReadDeviceData ReadUserData WriteDeviceData WriteUserData
User::Leave(KErrNotSupported);
@@ -143,18 +144,18 @@ static void handleMailtoSchemeLX(const QUrl &url)
// To
foreach(QString item, recipients)
- sendAsMessage.AddRecipientL(qt_QString2TPtrC(item), RSendAsMessage::ESendAsRecipientTo );
+ sendAsMessage.AddRecipientL(qt_QString2TPtrC(item), RSendAsMessage::ESendAsRecipientTo);
foreach(QString item, tos)
- sendAsMessage.AddRecipientL(qt_QString2TPtrC(item), RSendAsMessage::ESendAsRecipientTo );
+ sendAsMessage.AddRecipientL(qt_QString2TPtrC(item), RSendAsMessage::ESendAsRecipientTo);
// Cc
foreach(QString item, ccs)
- sendAsMessage.AddRecipientL(qt_QString2TPtrC(item), RSendAsMessage::ESendAsRecipientCc );
+ sendAsMessage.AddRecipientL(qt_QString2TPtrC(item), RSendAsMessage::ESendAsRecipientCc);
// Bcc
foreach(QString item, bccs)
- sendAsMessage.AddRecipientL(qt_QString2TPtrC(item), RSendAsMessage::ESendAsRecipientBcc );
+ sendAsMessage.AddRecipientL(qt_QString2TPtrC(item), RSendAsMessage::ESendAsRecipientBcc);
// send the message
sendAsMessage.LaunchEditorAndCloseL();
@@ -172,32 +173,29 @@ static bool handleMailtoScheme(const QUrl &url)
static void handleOtherSchemesL(const TDesC& aUrl)
{
// Other schemes are at the moment passed to WEB browser
- HBufC* buf16 = HBufC::NewLC( aUrl.Length() + KBrowserPrefix.iTypeLength );
- buf16->Des().Copy( KBrowserPrefix ); // Prefix used to launch correct browser view
- buf16->Des().Append( aUrl );
-
- TApaTaskList taskList( CEikonEnv::Static()->WsSession() );
- TApaTask task = taskList.FindApp( KUidBrowser );
- if ( task.Exists() )
- {
+ HBufC* buf16 = HBufC::NewLC(aUrl.Length() + KBrowserPrefix.iTypeLength);
+ buf16->Des().Copy(KBrowserPrefix); // Prefix used to launch correct browser view
+ buf16->Des().Append(aUrl);
+
+ TApaTaskList taskList(CEikonEnv::Static()->WsSession());
+ TApaTask task = taskList.FindApp(KUidBrowser);
+ if (task.Exists()){
// Switch to existing browser instance
- HBufC8* param8 = HBufC8::NewLC( buf16->Length() );
- param8->Des().Append( buf16->Des() );
- task.SendMessage( TUid::Uid( 0 ), *param8 ); // Uid is not used
- CleanupStack::PopAndDestroy( param8 );
- }
- else
- {
+ HBufC8* param8 = HBufC8::NewLC(buf16->Length());
+ param8->Des().Append(buf16->Des());
+ task.SendMessage(TUid::Uid( 0 ), *param8); // Uid is not used
+ CleanupStack::PopAndDestroy(param8);
+ } else {
// Start a new browser instance
RApaLsSession appArcSession;
- User::LeaveIfError( appArcSession.Connect() );
- CleanupClosePushL<RApaLsSession>( appArcSession );
+ User::LeaveIfError(appArcSession.Connect());
+ CleanupClosePushL<RApaLsSession>(appArcSession);
TThreadId id;
- appArcSession.StartDocument( *buf16, KUidBrowser , id );
+ appArcSession.StartDocument(*buf16, KUidBrowser, id);
CleanupStack::PopAndDestroy(); // appArcSession
- }
+ }
- CleanupStack::PopAndDestroy( buf16 );
+ CleanupStack::PopAndDestroy(buf16);
}
static bool handleOtherSchemes(const QUrl &url)
@@ -219,8 +217,8 @@ static TDriveUnit exeDrive()
static TDriveUnit writableExeDrive()
{
TDriveUnit drive = exeDrive();
- if( drive.operator TInt() == EDriveZ )
- return TDriveUnit( EDriveC );
+ if(drive.operator TInt() == EDriveZ)
+ return TDriveUnit(EDriveC);
return drive;
}
@@ -228,7 +226,7 @@ static TPtrC writableDataRoot()
{
TDriveUnit drive = exeDrive();
#ifdef Q_WS_S60
- switch( drive.operator TInt() ){
+ switch(drive.operator TInt()){
case EDriveC:
return PathInfo::PhoneMemoryRootPath();
break;
@@ -241,7 +239,6 @@ static TPtrC writableDataRoot()
return PathInfo::PhoneMemoryRootPath();
break;
default:
- // TODO: Should we return drive root similar to MemoryCardRootPath
return PathInfo::PhoneMemoryRootPath();
break;
}
@@ -258,13 +255,13 @@ static void openDocumentL(const TDesC& aUrl)
// Apparc base method cannot be used to open app in embedded mode,
// but seems to be most stable way at the moment
RApaLsSession appArcSession;
- User::LeaveIfError( appArcSession.Connect() );
- CleanupClosePushL<RApaLsSession>( appArcSession );
+ User::LeaveIfError(appArcSession.Connect());
+ CleanupClosePushL<RApaLsSession>(appArcSession);
TThreadId id;
// ESwitchFiles means do not start another instance
// Leaves if file does not exist, leave is trapped in openDocument and false returned to user.
- User::LeaveIfError( appArcSession.StartDocument( aUrl, id,
- RApaLsSession::ESwitchFiles ) ); // ELaunchNewApp
+ User::LeaveIfError(appArcSession.StartDocument(aUrl, id,
+ RApaLsSession::ESwitchFiles)); // ELaunchNewApp
CleanupStack::PopAndDestroy(); // appArcSession
#else
// This is an alternative way to launch app associated to MIME type
@@ -306,8 +303,8 @@ static bool handleUrl(const QUrl &url)
static void handleUrlL(const TDesC& aUrl)
{
- CSchemeHandler* schemeHandler = CSchemeHandler::NewL( aUrl );
- CleanupStack::PushL( schemeHandler );
+ CSchemeHandler* schemeHandler = CSchemeHandler::NewL(aUrl);
+ CleanupStack::PushL(schemeHandler);
schemeHandler->HandleUrlStandaloneL(); // Process the Url in standalone mode
CleanupStack::PopAndDestroy();
}
@@ -351,7 +348,9 @@ QString QDesktopServices::storageLocation(StandardLocation type)
switch (type) {
case DesktopLocation:
- qWarning("QDesktopServices::storageLocation %d not implemented", type);
+ qWarning("No desktop concept in Symbian OS");
+ // But lets still use some feasible default
+ path.Append(writableDataRoot());
break;
case DocumentsLocation:
path.Append(writableDataRoot());
@@ -391,11 +390,17 @@ QString QDesktopServices::storageLocation(StandardLocation type)
//return QDir::homePath(); break;
break;
case DataLocation:
- CEikonEnv::Static()->FsSession().PrivatePath( path );
- // TODO: Should we actually return phone mem if data is on ROM?
- path.Insert( 0, exeDrive().Name() );
+ CEikonEnv::Static()->FsSession().PrivatePath(path);
+ path.Insert(0, writableExeDrive().Name());
break;
+ case CacheLocation:
+ CEikonEnv::Static()->FsSession().PrivatePath(path);
+ path.Insert(0, writableExeDrive().Name());
+ path.Append(KCacheSubDir);
+ break;
default:
+ // Lets use feasible default
+ path.Append(writableDataRoot());
break;
}
diff --git a/src/gui/util/qdesktopservices_win.cpp b/src/gui/util/qdesktopservices_win.cpp
index 2cc478d..62ab2f7 100644
--- a/src/gui/util/qdesktopservices_win.cpp
+++ b/src/gui/util/qdesktopservices_win.cpp
@@ -47,7 +47,7 @@
#include <qtemporaryfile.h>
#include <qcoreapplication.h>
-#include <windows.h>
+#include <qt_windows.h>
#include <shlobj.h>
#if !defined(Q_OS_WINCE)
# include <intshcut.h>
@@ -62,33 +62,25 @@
QT_BEGIN_NAMESPACE
-//#undef UNICODE
-
static bool openDocument(const QUrl &file)
{
if (!file.isValid())
return false;
-
- quintptr returnValue;
- QT_WA({
- returnValue = (quintptr)ShellExecute(0, 0, (TCHAR *)file.toString().utf16(), 0, 0, SW_SHOWNORMAL);
- } , {
- returnValue = (quintptr)ShellExecuteA(0, 0, file.toString().toLocal8Bit().constData(), 0, 0, SW_SHOWNORMAL);
- });
+ QString filePath = file.toLocalFile();
+ if (filePath.isEmpty())
+ filePath = file.toString();
+ quintptr returnValue = (quintptr)ShellExecute(0, 0, (wchar_t*)filePath.utf16(), 0, 0, SW_SHOWNORMAL);
return (returnValue > 32); //ShellExecute returns a value greater than 32 if successful
}
static QString expandEnvStrings(const QString &command)
{
-
#if defined(Q_OS_WINCE)
return command;
#else
- QByteArray path = command.toLocal8Bit();
- char commandValue[2 * MAX_PATH] = {0};
- DWORD returnValue = ExpandEnvironmentStringsA(path.data(), commandValue, MAX_PATH);
- if (returnValue)
- return QString::fromLocal8Bit(commandValue);
+ wchar_t buffer[MAX_PATH];
+ if (ExpandEnvironmentStrings((wchar_t*)command.utf16(), buffer, MAX_PATH))
+ return QString::fromWCharArray(buffer);
else
return command;
#endif
@@ -129,8 +121,9 @@ static bool launchWebBrowser(const QUrl &url)
command = QString::fromRawData((QChar*)keyValue, bufferSize);
RegCloseKey(handle);
- if(returnValue)
+ if (returnValue)
return false;
+
command = expandEnvStrings(command);
command = command.trimmed();
//Make sure the path for the process is in quotes
@@ -152,7 +145,7 @@ static bool launchWebBrowser(const QUrl &url)
ZeroMemory(&si, sizeof(si));
si.cb = sizeof(si);
- returnValue = CreateProcess(NULL, (TCHAR*)command.utf16(), NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi);
+ returnValue = CreateProcess(NULL, (wchar_t*)command.utf16(), NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi);
if (!returnValue)
return false;
@@ -168,9 +161,8 @@ static bool launchWebBrowser(const QUrl &url)
if (url.scheme().isEmpty())
return openDocument(url);
- quintptr returnValue;
- returnValue = (quintptr)ShellExecute(0, 0, (TCHAR *) QString::fromUtf8(url.toEncoded().constData()).utf16(),
- 0, 0, SW_SHOWNORMAL);
+ quintptr returnValue = (quintptr)ShellExecute(0, 0, (wchar_t *)QString::fromUtf8(url.toEncoded().constData()).utf16(),
+ 0, 0, SW_SHOWNORMAL);
return (returnValue > 32);
}
diff --git a/src/gui/util/qdesktopservices_x11.cpp b/src/gui/util/qdesktopservices_x11.cpp
index f0202d4..0a3c2d0 100644
--- a/src/gui/util/qdesktopservices_x11.cpp
+++ b/src/gui/util/qdesktopservices_x11.cpp
@@ -56,7 +56,11 @@ QT_BEGIN_NAMESPACE
inline static bool launch(const QUrl &url, const QString &client)
{
+#if !defined(QT_NO_PROCESS)
return (QProcess::startDetached(client + QLatin1Char(' ') + QString::fromLatin1(url.toEncoded().constData())));
+#else
+ return (::system((client + QLatin1Char(' ') + QString::fromLatin1(url.toEncoded().constData())).toLocal8Bit().constData()) != -1);
+#endif
}
static bool openDocument(const QUrl &url)
diff --git a/src/gui/util/qsystemtrayicon.h b/src/gui/util/qsystemtrayicon.h
index ac90487..0f1e2d2 100644
--- a/src/gui/util/qsystemtrayicon.h
+++ b/src/gui/util/qsystemtrayicon.h
@@ -117,7 +117,7 @@ protected:
private:
Q_DISABLE_COPY(QSystemTrayIcon)
- Q_DECLARE_SCOPED_PRIVATE(QSystemTrayIcon)
+ Q_DECLARE_PRIVATE(QSystemTrayIcon)
friend class QSystemTrayIconSys;
friend class QBalloonTip;
diff --git a/src/gui/util/qsystemtrayicon_win.cpp b/src/gui/util/qsystemtrayicon_win.cpp
index d2ce1be..a0648a1 100644
--- a/src/gui/util/qsystemtrayicon_win.cpp
+++ b/src/gui/util/qsystemtrayicon_win.cpp
@@ -41,8 +41,7 @@
#include "qsystemtrayicon_p.h"
#ifndef QT_NO_SYSTEMTRAYICON
-//#define _WIN32_IE 0x0500
-#define _WIN32_IE 0x0600 //required for NOTIFYICONDATAW_V2_SIZE
+#define _WIN32_IE 0x0600 //required for NOTIFYICONDATA_V2_SIZE
//missing defines for MINGW :
#ifndef NIN_BALLOONTIMEOUT
@@ -77,25 +76,14 @@ static const UINT q_uNOTIFYICONID = 0;
static uint MYWM_TASKBARCREATED = 0;
#define MYWM_NOTIFYICON (WM_APP+101)
-typedef BOOL (WINAPI *PtrShell_NotifyIcon)(DWORD,PNOTIFYICONDATA);
-static PtrShell_NotifyIcon ptrShell_NotifyIcon = 0;
+struct Q_NOTIFYICONIDENTIFIER {
+ DWORD cbSize;
+ HWND hWnd;
+ UINT uID;
+ GUID guidItem;
+};
-static void resolveLibs()
-{
- static bool triedResolve = false;
-#if defined Q_OS_WINCE
- QString libName(QLatin1String("coredll"));
- const char* funcName = "Shell_NotifyIcon";
-#else
- QString libName(QLatin1String("shell32"));
- const char* funcName = "Shell_NotifyIconW";
-#endif
- if (!triedResolve) {
- QLibrary lib(libName);
- triedResolve = true;
- ptrShell_NotifyIcon = (PtrShell_NotifyIcon) lib.resolve(funcName);
- }
-}
+typedef HRESULT (WINAPI *PtrShell_NotifyIconGetRect)(const Q_NOTIFYICONIDENTIFIER* identifier, RECT* iconLocation);
class QSystemTrayIconSys : QWidget
{
@@ -103,37 +91,27 @@ public:
QSystemTrayIconSys(QSystemTrayIcon *object);
~QSystemTrayIconSys();
bool winEvent( MSG *m, long *result );
- bool trayMessageA(DWORD msg);
- bool trayMessageW(DWORD msg);
bool trayMessage(DWORD msg);
bool iconDrawItem(LPDRAWITEMSTRUCT lpdi);
- void setIconContentsW(NOTIFYICONDATAW &data);
- void setIconContentsA(NOTIFYICONDATAA &data);
- bool showMessageW(const QString &title, const QString &message, QSystemTrayIcon::MessageIcon type, uint uSecs);
- bool showMessageA(const QString &title, const QString &message, QSystemTrayIcon::MessageIcon type, uint uSecs);
+ void setIconContents(NOTIFYICONDATA &data);
+ bool showMessage(const QString &title, const QString &message, QSystemTrayIcon::MessageIcon type, uint uSecs);
bool allowsMessages();
bool supportsMessages();
QRect findIconGeometry(const int a_iButtonID);
- QRect findTrayGeometry();
HBITMAP createIconMask(const QBitmap &bitmap);
void createIcon();
- int detectShellVersion() const;
HICON hIcon;
QPoint globalPos;
QSystemTrayIcon *q;
private:
- uint notifyIconSizeW;
- uint notifyIconSizeA;
- int currentShellVersion;
+ uint notifyIconSize;
int maxTipLength;
+ bool ignoreNextMouseRelease;
};
-// Checks for the shell32 dll version number, since only version
-// 5 or later of supports ballon messages
bool QSystemTrayIconSys::allowsMessages()
{
#ifndef QT_NO_SETTINGS
-
QSettings settings(QLatin1String("HKEY_CURRENT_USER\\Software\\Microsoft"
"\\Windows\\CurrentVersion\\Explorer\\Advanced"), QSettings::NativeFormat);
return settings.value(QLatin1String("EnableBalloonTips"), true).toBool();
@@ -142,63 +120,29 @@ bool QSystemTrayIconSys::allowsMessages()
#endif
}
-// Checks for the shell32 dll version number, since only version
-// 5 or later of supports ballon messages
bool QSystemTrayIconSys::supportsMessages()
{
-#if NOTIFYICON_VERSION >= 3
- if (currentShellVersion >= 5)
- return allowsMessages();
- else
-#endif
- return false;
-}
-
-//Returns the runtime major version of the shell32 dll
-int QSystemTrayIconSys::detectShellVersion() const
-{
#ifndef Q_OS_WINCE
- int shellVersion = 4; //NT 4.0 and W95
- DLLGETVERSIONPROC pDllGetVersion = (DLLGETVERSIONPROC)QLibrary::resolve(
- QLatin1String("shell32"), "DllGetVersion");
- if (pDllGetVersion)
- {
- DLLVERSIONINFO dvi;
- HRESULT hr;
- ZeroMemory(&dvi, sizeof(dvi));
- dvi.cbSize = sizeof(dvi);
- hr = (*pDllGetVersion)(&dvi);
- if (SUCCEEDED(hr)) {
- if (dvi.dwMajorVersion >= 5)
- {
- shellVersion = dvi.dwMajorVersion;
- }
- }
- }
- return shellVersion;
+ return allowsMessages();
#endif
- return 4; //No ballonMessages and MaxTipLength = 64 for WindowsCE
+ return false;
}
QSystemTrayIconSys::QSystemTrayIconSys(QSystemTrayIcon *object)
- : hIcon(0), q(object)
+ : hIcon(0), q(object), ignoreNextMouseRelease(false)
+
{
- currentShellVersion = detectShellVersion();
- notifyIconSizeA = FIELD_OFFSET(NOTIFYICONDATAA, szTip[64]); // NOTIFYICONDATAA_V1_SIZE
- notifyIconSizeW = FIELD_OFFSET(NOTIFYICONDATAW, szTip[64]); // NOTIFYICONDATAW_V1_SIZE;
+#ifndef Q_OS_WINCE
+ notifyIconSize = FIELD_OFFSET(NOTIFYICONDATA, guidItem); // NOTIFYICONDATAW_V2_SIZE;
+ maxTipLength = 128;
+#else
+ notifyIconSize = FIELD_OFFSET(NOTIFYICONDATA, szTip[64]); // NOTIFYICONDATAW_V1_SIZE;
maxTipLength = 64;
-
-#if NOTIFYICON_VERSION >= 3
- if (currentShellVersion >=5) {
- notifyIconSizeA = FIELD_OFFSET(NOTIFYICONDATAA, guidItem); // NOTIFYICONDATAA_V2_SIZE
- notifyIconSizeW = FIELD_OFFSET(NOTIFYICONDATAW, guidItem); // NOTIFYICONDATAW_V2_SIZE;
- maxTipLength = 128;
- }
#endif
// For restoring the tray icon after explorer crashes
if (!MYWM_TASKBARCREATED) {
- MYWM_TASKBARCREATED = QT_WA_INLINE(RegisterWindowMessageW(L"TaskbarCreated"),RegisterWindowMessageA("TaskbarCreated"));
+ MYWM_TASKBARCREATED = RegisterWindowMessage(L"TaskbarCreated");
}
}
@@ -208,118 +152,60 @@ QSystemTrayIconSys::~QSystemTrayIconSys()
DestroyIcon(hIcon);
}
-void QSystemTrayIconSys::setIconContentsW(NOTIFYICONDATAW &tnd)
+void QSystemTrayIconSys::setIconContents(NOTIFYICONDATA &tnd)
{
- tnd.uFlags = NIF_MESSAGE|NIF_ICON|NIF_TIP;
+ tnd.uFlags = NIF_MESSAGE | NIF_ICON | NIF_TIP;
tnd.uCallbackMessage = MYWM_NOTIFYICON;
tnd.hIcon = hIcon;
QString tip = q->toolTip();
if (!tip.isNull()) {
- // Tip is limited to maxTipLength - NULL; lstrcpyn appends a NULL terminator.
tip = tip.left(maxTipLength - 1) + QChar();
-#if defined(Q_OS_WINCE)
- wcsncpy(tnd.szTip, reinterpret_cast<const wchar_t *> (tip.utf16()), qMin(tip.length()+1, maxTipLength));
-#else
- lstrcpynW(tnd.szTip, (TCHAR*)tip.utf16(), qMin(tip.length()+1, maxTipLength));
-#endif
+ memcpy(tnd.szTip, tip.utf16(), qMin(tip.length() + 1, maxTipLength) * sizeof(wchar_t));
}
}
-void QSystemTrayIconSys::setIconContentsA(NOTIFYICONDATAA &tnd)
+static int iconFlag( QSystemTrayIcon::MessageIcon icon )
{
- tnd.uFlags = NIF_MESSAGE|NIF_ICON|NIF_TIP;
- tnd.uCallbackMessage = MYWM_NOTIFYICON;
- tnd.hIcon = hIcon;
- QString tip = q->toolTip();
-
- if (!tip.isNull()) {
- // Tip is limited to maxTipLength - NULL; lstrcpyn appends a NULL terminator.
- tip = tip.left(maxTipLength - 1) + QChar();
-#if defined(Q_OS_WINCE)
- strncpy(tnd.szTip, tip.toLocal8Bit().constData(), qMin(tip.length()+1, maxTipLength));
-#else
- lstrcpynA(tnd.szTip, tip.toLocal8Bit().constData(), qMin(tip.length()+1, maxTipLength));
-#endif
- }
-}
-
-int iconFlag( QSystemTrayIcon::MessageIcon icon )
-{
- int flag = 0;
#if NOTIFYICON_VERSION >= 3
switch (icon) {
- case QSystemTrayIcon::NoIcon:
- break;
- case QSystemTrayIcon::Critical:
- flag = NIIF_ERROR;
- break;
- case QSystemTrayIcon::Warning:
- flag = NIIF_WARNING;
- break;
case QSystemTrayIcon::Information:
- default : // fall through
- flag = NIIF_INFO;
+ return NIIF_INFO;
+ case QSystemTrayIcon::Warning:
+ return NIIF_WARNING;
+ case QSystemTrayIcon::Critical:
+ return NIIF_ERROR;
+ case QSystemTrayIcon::NoIcon:
+ return NIIF_NONE;
+ default:
+ Q_ASSERT_X(false, "QSystemTrayIconSys::showMessage", "Invalid QSystemTrayIcon::MessageIcon value");
+ return NIIF_NONE;
}
#else
Q_UNUSED(icon);
+ return 0;
#endif
- return flag;
}
-bool QSystemTrayIconSys::showMessageW(const QString &title, const QString &message, QSystemTrayIcon::MessageIcon type, uint uSecs)
+bool QSystemTrayIconSys::showMessage(const QString &title, const QString &message, QSystemTrayIcon::MessageIcon type, uint uSecs)
{
-#if NOTIFYICON_VERSION>=3
+#if NOTIFYICON_VERSION >= 3
NOTIFYICONDATA tnd;
- memset(&tnd, 0, notifyIconSizeW);
+ memset(&tnd, 0, notifyIconSize);
Q_ASSERT(testAttribute(Qt::WA_WState_Created));
- setIconContentsW(tnd);
-#if defined(Q_OS_WINCE)
- wcsncpy(tnd.szInfo, message.utf16(), qMin(message.length() + 1, 256));
- wcsncpy(tnd.szInfoTitle, title.utf16(), qMin(title.length()+1, 64));
-#else
- lstrcpynW(tnd.szInfo, (TCHAR*)message.utf16(), qMin(message.length() + 1, 256));
- lstrcpynW(tnd.szInfoTitle, (TCHAR*)title.utf16(), qMin(title.length() + 1, 64));
-#endif
- tnd.uID = q_uNOTIFYICONID;
- tnd.dwInfoFlags = iconFlag(type);
- tnd.cbSize = notifyIconSizeW;
- tnd.hWnd = winId();
- tnd.uTimeout = uSecs;
- tnd.uFlags = NIF_INFO;
- return ptrShell_NotifyIcon(NIM_MODIFY, &tnd);
-#else
- Q_UNUSED(title);
- Q_UNUSED(message);
- Q_UNUSED(type);
- Q_UNUSED(uSecs);
- return false;
-#endif
-}
-
-bool QSystemTrayIconSys::showMessageA(const QString &title, const QString &message, QSystemTrayIcon::MessageIcon type, uint uSecs)
-{
-#if NOTIFYICON_VERSION>=3
- NOTIFYICONDATAA tnd;
- memset(&tnd, 0, notifyIconSizeA);
- Q_ASSERT(testAttribute(Qt::WA_WState_Created));
+ setIconContents(tnd);
+ memcpy(tnd.szInfo, message.utf16(), qMin(message.length() + 1, 256) * sizeof(wchar_t));
+ memcpy(tnd.szInfoTitle, title.utf16(), qMin(title.length() + 1, 64) * sizeof(wchar_t));
- setIconContentsA(tnd);
-#if defined(Q_OS_WINCE)
- strncpy(tnd.szInfo, message.toLocal8Bit().constData(), qMin(message.length() + 1, 256));
- strncpy(tnd.szInfoTitle, title.toLocal8Bit().constData(), qMin(title.length()+1, 64));
-#else
- lstrcpynA(tnd.szInfo, message.toLocal8Bit().constData(), qMin(message.length() + 1, 256));
- lstrcpynA(tnd.szInfoTitle, title.toLocal8Bit().constData(), qMin(title.length() + 1, 64));
-#endif
tnd.uID = q_uNOTIFYICONID;
tnd.dwInfoFlags = iconFlag(type);
- tnd.cbSize = notifyIconSizeA;
+ tnd.cbSize = notifyIconSize;
tnd.hWnd = winId();
tnd.uTimeout = uSecs;
tnd.uFlags = NIF_INFO;
- return Shell_NotifyIconA(NIM_MODIFY, &tnd);
+
+ return Shell_NotifyIcon(NIM_MODIFY, &tnd);
#else
Q_UNUSED(title);
Q_UNUSED(message);
@@ -329,53 +215,21 @@ bool QSystemTrayIconSys::showMessageA(const QString &title, const QString &messa
#endif
}
-bool QSystemTrayIconSys::trayMessageA(DWORD msg)
+bool QSystemTrayIconSys::trayMessage(DWORD msg)
{
-#if !defined(Q_WS_WINCE)
- NOTIFYICONDATAA tnd;
- memset(&tnd, 0, notifyIconSizeA);
+ NOTIFYICONDATA tnd;
+ memset(&tnd, 0, notifyIconSize);
tnd.uID = q_uNOTIFYICONID;
- tnd.cbSize = notifyIconSizeA;
+ tnd.cbSize = notifyIconSize;
tnd.hWnd = winId();
- Q_ASSERT(testAttribute(Qt::WA_WState_Created));
- if (msg != NIM_DELETE) {
- setIconContentsA(tnd);
- }
- return Shell_NotifyIconA(msg, &tnd);
-#else
- Q_UNUSED(msg);
- return false;
-#endif
-}
-
-bool QSystemTrayIconSys::trayMessageW(DWORD msg)
-{
- NOTIFYICONDATAW tnd;
- memset(&tnd, 0, notifyIconSizeW);
- tnd.uID = q_uNOTIFYICONID;
- tnd.cbSize = notifyIconSizeW;
- tnd.hWnd = winId();
Q_ASSERT(testAttribute(Qt::WA_WState_Created));
if (msg != NIM_DELETE) {
- setIconContentsW(tnd);
+ setIconContents(tnd);
}
- return ptrShell_NotifyIcon(msg, &tnd);
-}
-
-bool QSystemTrayIconSys::trayMessage(DWORD msg)
-{
- resolveLibs();
- if (!(ptrShell_NotifyIcon))
- return false;
- QT_WA({
- return trayMessageW(msg);
- },
- {
- return trayMessageA(msg);
- });
+ return Shell_NotifyIcon(msg, &tnd);
}
bool QSystemTrayIconSys::iconDrawItem(LPDRAWITEMSTRUCT lpdi)
@@ -459,31 +313,45 @@ bool QSystemTrayIconSys::winEvent( MSG *m, long *result )
switch (m->lParam) {
case WM_LBUTTONUP:
- emit q->activated(QSystemTrayIcon::Trigger);
+ if (ignoreNextMouseRelease)
+ ignoreNextMouseRelease = false;
+ else
+ emit q->activated(QSystemTrayIcon::Trigger);
break;
-#if !defined(Q_WS_WINCE)
case WM_LBUTTONDBLCLK:
+ ignoreNextMouseRelease = true; // Since DBLCLICK Generates a second mouse
+ // release we must ignore it
emit q->activated(QSystemTrayIcon::DoubleClick);
break;
case WM_RBUTTONUP:
if (q->contextMenu()) {
q->contextMenu()->popup(gpos);
+#if defined(Q_WS_WINCE)
+ // We must ensure that the popup menu doesn't show up behind the task bar.
+ QRect desktopRect = qApp->desktop()->availableGeometry();
+ int maxY = desktopRect.y() + desktopRect.height() - q->contextMenu()->height();
+ if (gpos.y() > maxY) {
+ gpos.ry() = maxY;
+ q->contextMenu()->move(gpos);
+ }
+#endif
q->contextMenu()->activateWindow();
//Must be activated for proper keyboardfocus and menu closing on windows:
}
emit q->activated(QSystemTrayIcon::Context);
break;
+#if !defined(Q_WS_WINCE)
case NIN_BALLOONUSERCLICK:
emit q->messageClicked();
break;
+#endif
case WM_MBUTTONUP:
emit q->activated(QSystemTrayIcon::MiddleClick);
break;
-#endif
default:
break;
}
@@ -514,33 +382,6 @@ void QSystemTrayIconPrivate::install_sys()
}
}
-//fallback on win 95/98
-QRect QSystemTrayIconSys::findTrayGeometry()
-{
- //Use lower right corner as fallback
- QPoint brCorner = QApplication::desktop()->screenGeometry().bottomRight();
- QRect ret(brCorner.x() - 10, brCorner.y() - 10, 10, 10);
-#if defined(Q_OS_WINCE)
- HWND trayHandle = FindWindowW(L"Shell_TrayWnd", NULL);
-#else
- HWND trayHandle = FindWindowA("Shell_TrayWnd", NULL);
-#endif
- if (trayHandle) {
-#if defined(Q_OS_WINCE)
- trayHandle = FindWindowW(L"TrayNotifyWnd", NULL);
-#else
- trayHandle = FindWindowExA(trayHandle, NULL, "TrayNotifyWnd", NULL);
-#endif
- if (trayHandle) {
- RECT r;
- if (GetWindowRect(trayHandle, &r)) {
- ret = QRect(r.left, r.top, r.right- r.left, r.bottom - r.top);
- }
- }
- }
- return ret;
-}
-
/*
* This function tries to determine the icon geometry from the tray
*
@@ -548,26 +389,39 @@ QRect QSystemTrayIconSys::findTrayGeometry()
*/
QRect QSystemTrayIconSys::findIconGeometry(const int iconId)
{
+ static PtrShell_NotifyIconGetRect Shell_NotifyIconGetRect =
+ (PtrShell_NotifyIconGetRect)QLibrary::resolve(QLatin1String("shell32"), "Shell_NotifyIconGetRect");
+
+ if (Shell_NotifyIconGetRect) {
+ Q_NOTIFYICONIDENTIFIER nid;
+ memset(&nid, 0, sizeof(nid));
+ nid.cbSize = sizeof(nid);
+ nid.hWnd = winId();
+ nid.uID = iconId;
+
+ RECT rect;
+ HRESULT hr = Shell_NotifyIconGetRect(&nid, &rect);
+ if (SUCCEEDED(hr)) {
+ return QRect(rect.left, rect.top, rect.right - rect.left, rect.bottom - rect.top);
+ }
+ }
+
QRect ret;
TBBUTTON buttonData;
DWORD processID = 0;
-#if defined(Q_OS_WINCE)
- HWND trayHandle = FindWindowW(L"Shell_TrayWnd", NULL);
-#else
- HWND trayHandle = FindWindowA("Shell_TrayWnd", NULL);
-#endif
+ HWND trayHandle = FindWindow(L"Shell_TrayWnd", NULL);
//find the toolbar used in the notification area
if (trayHandle) {
#if defined(Q_OS_WINCE)
- trayHandle = FindWindowW(L"TrayNotifyWnd", NULL);
+ trayHandle = FindWindow(L"TrayNotifyWnd", NULL);
#else
- trayHandle = FindWindowExA(trayHandle, NULL, "TrayNotifyWnd", NULL);
+ trayHandle = FindWindowEx(trayHandle, NULL, L"TrayNotifyWnd", NULL);
#endif
if (trayHandle) {
#if defined(Q_OS_WINCE)
- HWND hwnd = FindWindowW(L"SysPager", NULL);
+ HWND hwnd = FindWindow(L"SysPager", NULL);
#else
HWND hwnd = FindWindowEx(trayHandle, NULL, L"SysPager", NULL);
#endif
@@ -612,10 +466,10 @@ QRect QSystemTrayIconSys::findIconGeometry(const int iconId)
DWORD appData[2] = { 0, 0 };
SendMessage(trayHandle, TB_GETBUTTON, toolbarButton , (LPARAM)data);
- if(!ReadProcessMemory(trayProcess, data, &buttonData, sizeof(TBBUTTON), &numBytes))
+ if (!ReadProcessMemory(trayProcess, data, &buttonData, sizeof(TBBUTTON), &numBytes))
continue;
- if(!ReadProcessMemory(trayProcess, (LPVOID) buttonData.dwData, appData, sizeof(appData), &numBytes))
+ if (!ReadProcessMemory(trayProcess, (LPVOID) buttonData.dwData, appData, sizeof(appData), &numBytes))
continue;
int currentIconId = appData[1];
@@ -646,7 +500,6 @@ QRect QSystemTrayIconSys::findIconGeometry(const int iconId)
return ret;
}
-
void QSystemTrayIconPrivate::showMessage_sys(const QString &title, const QString &message, QSystemTrayIcon::MessageIcon type, int timeOut)
{
if (!sys || !sys->allowsMessages())
@@ -657,8 +510,6 @@ void QSystemTrayIconPrivate::showMessage_sys(const QString &title, const QString
uSecs = 10000; //10 sec default
else uSecs = (int)timeOut;
- resolveLibs();
-
//message is limited to 255 chars + NULL
QString messageString;
if (message.isEmpty() && !title.isEmpty())
@@ -670,20 +521,12 @@ void QSystemTrayIconPrivate::showMessage_sys(const QString &title, const QString
QString titleString = title.left(63) + QChar();
if (sys->supportsMessages()) {
- QT_WA({
- sys->showMessageW(titleString, messageString, type, (unsigned int)uSecs);
- }, {
- sys->showMessageA(titleString, messageString, type, (unsigned int)uSecs);
- });
+ sys->showMessage(titleString, messageString, type, (unsigned int)uSecs);
} else {
- //use fallbacks
- QRect iconPos = sys->findIconGeometry(0);
+ //use fallback
+ QRect iconPos = sys->findIconGeometry(q_uNOTIFYICONID);
if (iconPos.isValid()) {
QBalloonTip::showBalloon(type, title, message, sys->q, iconPos.center(), uSecs, true);
- } else {
- QRect trayRect = sys->findTrayGeometry();
- QBalloonTip::showBalloon(type, title, message, sys->q, QPoint(trayRect.left(),
- trayRect.center().y()), uSecs, false);
}
}
}
@@ -692,7 +535,7 @@ QRect QSystemTrayIconPrivate::geometry_sys() const
{
if (!sys)
return QRect();
- return sys->findIconGeometry(0);
+ return sys->findIconGeometry(q_uNOTIFYICONID);
}
void QSystemTrayIconPrivate::remove_sys()
diff --git a/src/gui/util/qundogroup.h b/src/gui/util/qundogroup.h
index 24d4e12..ddab6e0 100644
--- a/src/gui/util/qundogroup.h
+++ b/src/gui/util/qundogroup.h
@@ -60,7 +60,7 @@ QT_MODULE(Gui)
class Q_GUI_EXPORT QUndoGroup : public QObject
{
Q_OBJECT
- Q_DECLARE_SCOPED_PRIVATE(QUndoGroup)
+ Q_DECLARE_PRIVATE(QUndoGroup)
public:
explicit QUndoGroup(QObject *parent = 0);
diff --git a/src/gui/util/qundostack.h b/src/gui/util/qundostack.h
index 8ad4b198..8efad0e 100644
--- a/src/gui/util/qundostack.h
+++ b/src/gui/util/qundostack.h
@@ -90,7 +90,7 @@ private:
class Q_GUI_EXPORT QUndoStack : public QObject
{
Q_OBJECT
- Q_DECLARE_SCOPED_PRIVATE(QUndoStack)
+ Q_DECLARE_PRIVATE(QUndoStack)
Q_PROPERTY(bool active READ isActive WRITE setActive)
Q_PROPERTY(int undoLimit READ undoLimit WRITE setUndoLimit)
diff --git a/src/gui/util/qundoview.h b/src/gui/util/qundoview.h
index 293c0c2..fa0c163 100644
--- a/src/gui/util/qundoview.h
+++ b/src/gui/util/qundoview.h
@@ -61,7 +61,7 @@ QT_MODULE(Gui)
class Q_GUI_EXPORT QUndoView : public QListView
{
Q_OBJECT
- Q_DECLARE_SCOPED_PRIVATE(QUndoView)
+ Q_DECLARE_PRIVATE(QUndoView)
Q_PROPERTY(QString emptyLabel READ emptyLabel WRITE setEmptyLabel)
Q_PROPERTY(QIcon cleanIcon READ cleanIcon WRITE setCleanIcon)
diff --git a/src/gui/widgets/qabstractbutton.h b/src/gui/widgets/qabstractbutton.h
index 9e33479..29e9bf9 100644
--- a/src/gui/widgets/qabstractbutton.h
+++ b/src/gui/widgets/qabstractbutton.h
@@ -168,7 +168,7 @@ protected:
QAbstractButton(QAbstractButtonPrivate &dd, QWidget* parent = 0);
private:
- Q_DECLARE_SCOPED_PRIVATE(QAbstractButton)
+ Q_DECLARE_PRIVATE(QAbstractButton)
Q_DISABLE_COPY(QAbstractButton)
friend class QButtonGroup;
};
diff --git a/src/gui/widgets/qabstractscrollarea.cpp b/src/gui/widgets/qabstractscrollarea.cpp
index a00f77a..391e095 100644
--- a/src/gui/widgets/qabstractscrollarea.cpp
+++ b/src/gui/widgets/qabstractscrollarea.cpp
@@ -51,10 +51,13 @@
#include "qdebug.h"
#include "qboxlayout.h"
#include "qpainter.h"
+#include "qstandardgestures.h"
#include "qabstractscrollarea_p.h"
#include <qwidget.h>
+#include <private/qapplication_p.h>
+
#ifdef Q_WS_MAC
#include <private/qt_mac_p.h>
#include <private/qt_cocoa_helpers_mac_p.h>
@@ -157,6 +160,9 @@ QAbstractScrollAreaPrivate::QAbstractScrollAreaPrivate()
:hbar(0), vbar(0), vbarpolicy(Qt::ScrollBarAsNeeded), hbarpolicy(Qt::ScrollBarAsNeeded),
viewport(0), cornerWidget(0), left(0), top(0), right(0), bottom(0),
xoffset(0), yoffset(0), viewportFilter(0)
+#ifdef Q_WS_WIN
+ , singleFingerPanEnabled(false)
+#endif
{
}
@@ -290,6 +296,32 @@ void QAbstractScrollAreaPrivate::init()
layoutChildren();
}
+void QAbstractScrollAreaPrivate::setupGestures()
+{
+#ifdef Q_OS_WIN
+ if (!viewport)
+ return;
+ QApplicationPrivate* getQApplicationPrivateInternal();
+ QApplicationPrivate *qAppPriv = getQApplicationPrivateInternal();
+ bool needh = (hbarpolicy == Qt::ScrollBarAlwaysOn
+ || (hbarpolicy == Qt::ScrollBarAsNeeded && hbar->minimum() < hbar->maximum()));
+
+ bool needv = (vbarpolicy == Qt::ScrollBarAlwaysOn
+ || (vbarpolicy == Qt::ScrollBarAsNeeded && vbar->minimum() < vbar->maximum()));
+ if (qAppPriv->SetGestureConfig && (needh || needv)) {
+ GESTURECONFIG gc[1];
+ gc[0].dwID = GID_PAN;
+ gc[0].dwWant = GC_PAN;
+ gc[0].dwBlock = 0;
+ if (needv && singleFingerPanEnabled)
+ gc[0].dwWant |= GC_PAN_WITH_SINGLE_FINGER_VERTICALLY;
+ if (needh && singleFingerPanEnabled)
+ gc[0].dwWant |= GC_PAN_WITH_SINGLE_FINGER_HORIZONTALLY;
+ qAppPriv->SetGestureConfig(viewport->winId(), 0, 1, gc, sizeof(gc));
+ }
+#endif // Q_OS_WIN
+}
+
void QAbstractScrollAreaPrivate::layoutChildren()
{
Q_Q(QAbstractScrollArea);
@@ -459,9 +491,6 @@ void QAbstractScrollAreaPrivate::layoutChildren()
viewport->setGeometry(QStyle::visualRect(opt.direction, opt.rect, viewportRect)); // resize the viewport last
}
-// ### Fix for 4.4, talk to Bjoern E or Girish.
-void QAbstractScrollAreaPrivate::scrollBarPolicyChanged(Qt::Orientation, Qt::ScrollBarPolicy) {}
-
/*!
\internal
@@ -920,7 +949,6 @@ bool QAbstractScrollArea::event(QEvent *e)
case QEvent::DragMove:
case QEvent::DragLeave:
#endif
- case QEvent::Gesture:
return false;
case QEvent::StyleChange:
case QEvent::LayoutDirectionChange:
@@ -1250,6 +1278,7 @@ void QAbstractScrollAreaPrivate::_q_vslide(int y)
void QAbstractScrollAreaPrivate::_q_showOrHideScrollBars()
{
layoutChildren();
+ setupGestures();
}
QPoint QAbstractScrollAreaPrivate::contentsOffset() const
diff --git a/src/gui/widgets/qabstractscrollarea.h b/src/gui/widgets/qabstractscrollarea.h
index 9a7e844..3ec41d1 100644
--- a/src/gui/widgets/qabstractscrollarea.h
+++ b/src/gui/widgets/qabstractscrollarea.h
@@ -123,7 +123,7 @@ protected:
virtual void scrollContentsBy(int dx, int dy);
private:
- Q_DECLARE_SCOPED_PRIVATE(QAbstractScrollArea)
+ Q_DECLARE_PRIVATE(QAbstractScrollArea)
Q_DISABLE_COPY(QAbstractScrollArea)
Q_PRIVATE_SLOT(d_func(), void _q_hslide(int))
Q_PRIVATE_SLOT(d_func(), void _q_vslide(int))
diff --git a/src/gui/widgets/qabstractscrollarea_p.h b/src/gui/widgets/qabstractscrollarea_p.h
index 3a5ee4e..f8ea843 100644
--- a/src/gui/widgets/qabstractscrollarea_p.h
+++ b/src/gui/widgets/qabstractscrollarea_p.h
@@ -62,7 +62,7 @@ QT_BEGIN_NAMESPACE
class QScrollBar;
class QAbstractScrollAreaScrollBarContainer;
-class QAbstractScrollAreaPrivate: public QFramePrivate
+class Q_AUTOTEST_EXPORT QAbstractScrollAreaPrivate: public QFramePrivate
{
Q_DECLARE_PUBLIC(QAbstractScrollArea)
@@ -88,7 +88,7 @@ public:
void init();
void layoutChildren();
// ### Fix for 4.4, talk to Bjoern E or Girish.
- virtual void scrollBarPolicyChanged(Qt::Orientation, Qt::ScrollBarPolicy);
+ virtual void scrollBarPolicyChanged(Qt::Orientation, Qt::ScrollBarPolicy) {}
void _q_hslide(int);
void _q_vslide(int);
@@ -99,6 +99,11 @@ public:
inline bool viewportEvent(QEvent *event)
{ return q_func()->viewportEvent(event); }
QScopedPointer<QObject> viewportFilter;
+
+#ifdef Q_WS_WIN
+ bool singleFingerPanEnabled;
+#endif
+ void setupGestures();
};
class QAbstractScrollAreaFilter : public QObject
diff --git a/src/gui/widgets/qabstractslider.h b/src/gui/widgets/qabstractslider.h
index 6517944..7e03b6e 100644
--- a/src/gui/widgets/qabstractslider.h
+++ b/src/gui/widgets/qabstractslider.h
@@ -174,7 +174,7 @@ protected:
private:
Q_DISABLE_COPY(QAbstractSlider)
- Q_DECLARE_SCOPED_PRIVATE(QAbstractSlider)
+ Q_DECLARE_PRIVATE(QAbstractSlider)
};
QT_END_NAMESPACE
diff --git a/src/gui/widgets/qabstractspinbox.cpp b/src/gui/widgets/qabstractspinbox.cpp
index 155fe3e..bcc5c92 100644
--- a/src/gui/widgets/qabstractspinbox.cpp
+++ b/src/gui/widgets/qabstractspinbox.cpp
@@ -57,6 +57,9 @@
#include <qpalette.h>
#include <qstylepainter.h>
#include <qdebug.h>
+#ifndef QT_NO_ACCESSIBILITY
+# include <qaccessible.h>
+#endif
#if defined(Q_WS_X11)
#include <limits.h>
@@ -962,6 +965,9 @@ void QAbstractSpinBox::keyPressEvent(QKeyEvent *event)
d->buttonState = (Keyboard | (up ? Up : Down));
}
stepBy(steps);
+#ifndef QT_NO_ACCESSIBILITY
+ QAccessible::updateAccessibility(this, 0, QAccessible::ValueChanged);
+#endif
return;
}
#ifdef QT_KEYPAD_NAVIGATION
@@ -981,7 +987,7 @@ void QAbstractSpinBox::keyPressEvent(QKeyEvent *event)
#endif
case Qt::Key_Enter:
case Qt::Key_Return:
- d->edit->d_func()->modifiedState = d->edit->d_func()->undoState = 0;
+ d->edit->d_func()->control->clearUndo();
d->interpret(d->keyboardTracking ? AlwaysEmit : EmitIfChanged);
selectAll();
event->ignore();
@@ -1559,6 +1565,9 @@ void QAbstractSpinBoxPrivate::updateState(bool up)
spinClickThresholdTimerId = q->startTimer(spinClickThresholdTimerInterval);
buttonState = (up ? (Mouse | Up) : (Mouse | Down));
q->stepBy(up ? 1 : -1);
+#ifndef QT_NO_ACCESSIBILITY
+ QAccessible::updateAccessibility(q, 0, QAccessible::ValueChanged);
+#endif
}
}
@@ -1579,7 +1588,7 @@ void QAbstractSpinBox::initStyleOption(QStyleOptionSpinBox *option) const
option->initFrom(this);
option->activeSubControls = QStyle::SC_None;
option->buttonSymbols = d->buttonSymbols;
- option->subControls = QStyle::SC_SpinBoxFrame;
+ option->subControls = QStyle::SC_SpinBoxFrame | QStyle::SC_SpinBoxEditField;
if (d->buttonSymbols != QAbstractSpinBox::NoButtons) {
option->subControls |= QStyle::SC_SpinBoxUp | QStyle::SC_SpinBoxDown;
if (d->buttonState & Up) {
diff --git a/src/gui/widgets/qabstractspinbox.h b/src/gui/widgets/qabstractspinbox.h
index 2e8f7f9..e65f27b 100644
--- a/src/gui/widgets/qabstractspinbox.h
+++ b/src/gui/widgets/qabstractspinbox.h
@@ -165,7 +165,7 @@ private:
Q_PRIVATE_SLOT(d_func(), void _q_editorTextChanged(const QString &))
Q_PRIVATE_SLOT(d_func(), void _q_editorCursorPositionChanged(int, int))
- Q_DECLARE_SCOPED_PRIVATE(QAbstractSpinBox)
+ Q_DECLARE_PRIVATE(QAbstractSpinBox)
Q_DISABLE_COPY(QAbstractSpinBox)
};
Q_DECLARE_OPERATORS_FOR_FLAGS(QAbstractSpinBox::StepEnabled)
diff --git a/src/gui/widgets/qactiontokeyeventmapper.cpp b/src/gui/widgets/qactiontokeyeventmapper.cpp
index 280b1c6..0e1e1bb 100644
--- a/src/gui/widgets/qactiontokeyeventmapper.cpp
+++ b/src/gui/widgets/qactiontokeyeventmapper.cpp
@@ -1,7 +1,7 @@
/****************************************************************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the QtGui module of the Qt Toolkit.
**
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/src/gui/widgets/qactiontokeyeventmapper_p.h b/src/gui/widgets/qactiontokeyeventmapper_p.h
index c54e612..57b81af 100644
--- a/src/gui/widgets/qactiontokeyeventmapper_p.h
+++ b/src/gui/widgets/qactiontokeyeventmapper_p.h
@@ -1,7 +1,7 @@
/****************************************************************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the QtGui module of the Qt Toolkit.
**
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/src/gui/widgets/qbuttongroup.h b/src/gui/widgets/qbuttongroup.h
index fca1524..708c91c 100644
--- a/src/gui/widgets/qbuttongroup.h
+++ b/src/gui/widgets/qbuttongroup.h
@@ -98,7 +98,7 @@ public:
private:
Q_DISABLE_COPY(QButtonGroup)
- Q_DECLARE_SCOPED_PRIVATE(QButtonGroup)
+ Q_DECLARE_PRIVATE(QButtonGroup)
friend class QAbstractButton;
friend class QAbstractButtonPrivate;
};
diff --git a/src/gui/widgets/qcalendarwidget.h b/src/gui/widgets/qcalendarwidget.h
index edd1511..f567180 100644
--- a/src/gui/widgets/qcalendarwidget.h
+++ b/src/gui/widgets/qcalendarwidget.h
@@ -179,7 +179,7 @@ Q_SIGNALS:
void currentPageChanged(int year, int month);
private:
- Q_DECLARE_SCOPED_PRIVATE(QCalendarWidget)
+ Q_DECLARE_PRIVATE(QCalendarWidget)
Q_DISABLE_COPY(QCalendarWidget)
Q_PRIVATE_SLOT(d_func(), void _q_slotShowDate(const QDate &date))
diff --git a/src/gui/widgets/qcheckbox.h b/src/gui/widgets/qcheckbox.h
index cd41626..1d61783 100644
--- a/src/gui/widgets/qcheckbox.h
+++ b/src/gui/widgets/qcheckbox.h
@@ -102,7 +102,7 @@ public:
#endif
private:
- Q_DECLARE_SCOPED_PRIVATE(QCheckBox)
+ Q_DECLARE_PRIVATE(QCheckBox)
Q_DISABLE_COPY(QCheckBox)
};
diff --git a/src/gui/widgets/qcocoamenu_mac.mm b/src/gui/widgets/qcocoamenu_mac.mm
index 3338fd8..f3bb73e 100644
--- a/src/gui/widgets/qcocoamenu_mac.mm
+++ b/src/gui/widgets/qcocoamenu_mac.mm
@@ -98,7 +98,9 @@ QT_USE_NAMESPACE
while (QWidget *popup
= QApplication::activePopupWidget())
popup->close();
- qt_mac_emit_menuSignals(((QT_MANGLE_NAMESPACE(QCocoaMenu) *)menu)->qmenu, true);
+ QMenu *qtmenu = static_cast<QT_MANGLE_NAMESPACE(QCocoaMenu) *>(menu)->qmenu;
+ qt_mac_emit_menuSignals(qtmenu, true);
+ qt_mac_menu_collapseSeparators(menu, qtmenu->separatorsCollapsible());
}
- (void)menuWillClose:(NSMenu*)menu;
diff --git a/src/gui/widgets/qcocoatoolbardelegate_mac.mm b/src/gui/widgets/qcocoatoolbardelegate_mac.mm
index 894028e..10fe9b0 100644
--- a/src/gui/widgets/qcocoatoolbardelegate_mac.mm
+++ b/src/gui/widgets/qcocoatoolbardelegate_mac.mm
@@ -43,6 +43,7 @@
#ifdef QT_MAC_USE_COCOA
#include <private/qmainwindowlayout_p.h>
#include <private/qt_mac_p.h>
+#include <private/qt_cocoa_helpers_mac_p.h>
#include <private/qcocoaview_mac_p.h>
#include <private/qwidget_p.h>
#include <qtoolbar.h>
@@ -99,7 +100,7 @@ QT_FORWARD_DECLARE_CLASS(QCFString);
{
Q_UNUSED(flag);
Q_UNUSED(nstoolbar);
- QToolBar *tb = mainWindowLayout->cocoaItemIDToToolbarHash.value(QCFString::toQString(CFStringRef(itemIdentifier)));
+ QToolBar *tb = mainWindowLayout->cocoaItemIDToToolbarHash.value(qt_mac_NSStringToQString(itemIdentifier));
NSToolbarItem *item = nil;
if (tb) {
item = [[NSToolbarItem alloc] initWithItemIdentifier:itemIdentifier];
@@ -111,7 +112,7 @@ QT_FORWARD_DECLARE_CLASS(QCFString);
- (void)toolbarWillAddItem:(NSNotification *)notification
{
NSToolbarItem *item = [[notification userInfo] valueForKey:@"item"];
- QToolBar *tb = mainWindowLayout->cocoaItemIDToToolbarHash.value(QCFString::toQString(CFStringRef([item itemIdentifier])));
+ QToolBar *tb = mainWindowLayout->cocoaItemIDToToolbarHash.value(qt_mac_NSStringToQString([item itemIdentifier]));
if (!tb)
return; // I can't really do anything about this.
[item retain];
@@ -119,12 +120,9 @@ QT_FORWARD_DECLARE_CLASS(QCFString);
NSArray *items = [[qt_mac_window_for(mainWindowLayout->layoutState.mainWindow->window()) toolbar] items];
int someIndex = 0;
- bool foundItem = false;
for (NSToolbarItem *i in items) {
- if (i == item) {
- foundItem = true;
+ if (i == item)
break;
- }
++someIndex;
}
mainWindowLayout->toolbarItemsCopy.insert(someIndex, item);
diff --git a/src/gui/widgets/qcombobox.cpp b/src/gui/widgets/qcombobox.cpp
index 65a4279..c4f81d4 100644
--- a/src/gui/widgets/qcombobox.cpp
+++ b/src/gui/widgets/qcombobox.cpp
@@ -148,8 +148,10 @@ QStyleOptionMenuItem QComboMenuDelegate::getStyleOption(const QStyleOptionViewIt
menuOption.rect = option.rect;
// Make sure fonts set on the combo box also overrides the font for the popup menu.
- if (mCombo->testAttribute(Qt::WA_SetFont) || mCombo->testAttribute(Qt::WA_MacSmallSize)
- || mCombo->testAttribute(Qt::WA_MacMiniSize))
+ if (mCombo->testAttribute(Qt::WA_SetFont)
+ || mCombo->testAttribute(Qt::WA_MacSmallSize)
+ || mCombo->testAttribute(Qt::WA_MacMiniSize)
+ || mCombo->font() != qt_app_fonts_hash()->value("QComboBox", QFont()))
menuOption.font = mCombo->font();
else
menuOption.font = qt_app_fonts_hash()->value("QComboMenuItem", mCombo->font());
diff --git a/src/gui/widgets/qcombobox.h b/src/gui/widgets/qcombobox.h
index 2807a4f..22f6928 100644
--- a/src/gui/widgets/qcombobox.h
+++ b/src/gui/widgets/qcombobox.h
@@ -300,7 +300,7 @@ protected:
QComboBox(QComboBoxPrivate &, QWidget *);
private:
- Q_DECLARE_SCOPED_PRIVATE(QComboBox)
+ Q_DECLARE_PRIVATE(QComboBox)
Q_DISABLE_COPY(QComboBox)
Q_PRIVATE_SLOT(d_func(), void _q_itemSelected(const QModelIndex &item))
Q_PRIVATE_SLOT(d_func(), void _q_emitHighlighted(const QModelIndex &))
diff --git a/src/gui/widgets/qcommandlinkbutton.h b/src/gui/widgets/qcommandlinkbutton.h
index 5191252..bf30242 100644
--- a/src/gui/widgets/qcommandlinkbutton.h
+++ b/src/gui/widgets/qcommandlinkbutton.h
@@ -75,7 +75,7 @@ protected:
private:
Q_DISABLE_COPY(QCommandLinkButton)
- Q_DECLARE_SCOPED_PRIVATE(QCommandLinkButton)
+ Q_DECLARE_PRIVATE(QCommandLinkButton)
};
QT_END_NAMESPACE
diff --git a/src/gui/widgets/qdatetimeedit.cpp b/src/gui/widgets/qdatetimeedit.cpp
index 648847a..1533edb 100644
--- a/src/gui/widgets/qdatetimeedit.cpp
+++ b/src/gui/widgets/qdatetimeedit.cpp
@@ -1086,10 +1086,7 @@ void QDateTimeEdit::keyPressEvent(QKeyEvent *event)
//hide cursor
d->edit->d_func()->setCursorVisible(false);
- if (d->edit->d_func()->cursorTimer > 0)
- killTimer(d->edit->d_func()->cursorTimer);
- d->edit->d_func()->cursorTimer = 0;
-
+ d->edit->d_func()->control->setCursorBlinkPeriod(0);
d->setSelected(0);
}
}
@@ -1110,10 +1107,7 @@ void QDateTimeEdit::keyPressEvent(QKeyEvent *event)
//hide cursor
d->edit->d_func()->setCursorVisible(false);
- if (d->edit->d_func()->cursorTimer > 0)
- killTimer(d->edit->d_func()->cursorTimer);
- d->edit->d_func()->cursorTimer = 0;
-
+ d->edit->d_func()->control->setCursorBlinkPeriod(0);
d->setSelected(0);
oldCurrent = 0;
}
@@ -1936,7 +1930,6 @@ QDateTime QDateTimeEditPrivate::validateAndInterpret(QString &input, int &positi
/*!
\internal
- \reimp
*/
QString QDateTimeEditPrivate::textFromValue(const QVariant &f) const
@@ -1947,7 +1940,6 @@ QString QDateTimeEditPrivate::textFromValue(const QVariant &f) const
/*!
\internal
- \reimp
This function's name is slightly confusing; it is not to be confused
with QAbstractSpinBox::valueFromText().
@@ -2105,7 +2097,6 @@ QDateTime QDateTimeEditPrivate::stepBy(int sectionIndex, int steps, bool test) c
/*!
\internal
- \reimp
*/
void QDateTimeEditPrivate::emitSignals(EmitPolicy ep, const QVariant &old)
@@ -2135,7 +2126,6 @@ void QDateTimeEditPrivate::emitSignals(EmitPolicy ep, const QVariant &old)
/*!
\internal
- \reimp
*/
void QDateTimeEditPrivate::_q_editorCursorPositionChanged(int oldpos, int newpos)
diff --git a/src/gui/widgets/qdatetimeedit.h b/src/gui/widgets/qdatetimeedit.h
index 1e4c621..e43a3fa 100644
--- a/src/gui/widgets/qdatetimeedit.h
+++ b/src/gui/widgets/qdatetimeedit.h
@@ -197,7 +197,7 @@ protected:
QDateTimeEdit(const QVariant &val, QVariant::Type parserType, QWidget *parent = 0);
private:
- Q_DECLARE_SCOPED_PRIVATE(QDateTimeEdit)
+ Q_DECLARE_PRIVATE(QDateTimeEdit)
Q_DISABLE_COPY(QDateTimeEdit)
Q_PRIVATE_SLOT(d_func(), void _q_resetButton())
diff --git a/src/gui/widgets/qdial.h b/src/gui/widgets/qdial.h
index f07999b..91b8c5e 100644
--- a/src/gui/widgets/qdial.h
+++ b/src/gui/widgets/qdial.h
@@ -109,7 +109,7 @@ Q_SIGNALS:
#endif
private:
- Q_DECLARE_SCOPED_PRIVATE(QDial)
+ Q_DECLARE_PRIVATE(QDial)
Q_DISABLE_COPY(QDial)
};
diff --git a/src/gui/widgets/qdialogbuttonbox.h b/src/gui/widgets/qdialogbuttonbox.h
index 97a6a59..df40a66 100644
--- a/src/gui/widgets/qdialogbuttonbox.h
+++ b/src/gui/widgets/qdialogbuttonbox.h
@@ -154,7 +154,7 @@ protected:
private:
Q_DISABLE_COPY(QDialogButtonBox)
- Q_DECLARE_SCOPED_PRIVATE(QDialogButtonBox)
+ Q_DECLARE_PRIVATE(QDialogButtonBox)
Q_PRIVATE_SLOT(d_func(), void _q_handleButtonClicked())
Q_PRIVATE_SLOT(d_func(), void _q_handleButtonDestroyed())
};
diff --git a/src/gui/widgets/qdockarealayout.cpp b/src/gui/widgets/qdockarealayout.cpp
index 9828413..ee29b55 100644
--- a/src/gui/widgets/qdockarealayout.cpp
+++ b/src/gui/widgets/qdockarealayout.cpp
@@ -1488,7 +1488,7 @@ bool QDockAreaLayoutInfo::hasFixedSize() const
void QDockAreaLayoutInfo::apply(bool animate)
{
- QWidgetAnimator *widgetAnimator = mainWindowLayout()->widgetAnimator;
+ QWidgetAnimator &widgetAnimator = mainWindowLayout()->widgetAnimator;
#ifndef QT_NO_TABBAR
if (tabbed) {
@@ -1521,7 +1521,7 @@ void QDockAreaLayoutInfo::apply(bool animate)
}
}
- widgetAnimator->animate(tabBar, tab_rect, animate);
+ widgetAnimator.animate(tabBar, tab_rect, animate);
}
#endif // QT_NO_TABBAR
@@ -1544,7 +1544,7 @@ void QDockAreaLayoutInfo::apply(bool animate)
QWidget *w = item.widgetItem->widget();
QRect geo = w->geometry();
- widgetAnimator->animate(w, r, animate);
+ widgetAnimator.animate(w, r, animate);
if (!w->isHidden()) {
QDockWidget *dw = qobject_cast<QDockWidget*>(w);
if (!r.isValid() && geo.right() >= 0 && geo.bottom() >= 0) {
@@ -1707,7 +1707,7 @@ QDockAreaLayoutItem &QDockAreaLayoutInfo::item(const QList<int> &path)
Q_ASSERT(!path.isEmpty());
const int index = path.first();
if (path.count() > 1) {
- const QDockAreaLayoutItem &item = item_list.at(index);
+ const QDockAreaLayoutItem &item = item_list[index];
Q_ASSERT(item.subinfo != 0);
return item.subinfo->item(path.mid(1));
}
@@ -2074,7 +2074,7 @@ void QDockAreaLayoutInfo::updateTabBar() const
QDockAreaLayoutInfo *that = const_cast<QDockAreaLayoutInfo*>(this);
- if (tabBar == 0) {
+ if (that->tabBar == 0) {
that->tabBar = mainWindowLayout()->getTabBar();
that->tabBar->setShape(static_cast<QTabBar::Shape>(tabBarShape));
that->tabBar->setDrawBase(true);
@@ -3064,13 +3064,13 @@ void QDockAreaLayout::splitDockWidget(QDockWidget *after,
void QDockAreaLayout::apply(bool animate)
{
- QWidgetAnimator *widgetAnimator
+ QWidgetAnimator &widgetAnimator
= qobject_cast<QMainWindowLayout*>(mainWindow->layout())->widgetAnimator;
for (int i = 0; i < QInternal::DockCount; ++i)
docks[i].apply(animate);
if (centralWidgetItem != 0 && !centralWidgetItem->isEmpty()) {
- widgetAnimator->animate(centralWidgetItem->widget(), centralWidgetRect,
+ widgetAnimator.animate(centralWidgetItem->widget(), centralWidgetRect,
animate);
}
diff --git a/src/gui/widgets/qdockwidget.h b/src/gui/widgets/qdockwidget.h
index b1abbdd..f0c0b46 100644
--- a/src/gui/widgets/qdockwidget.h
+++ b/src/gui/widgets/qdockwidget.h
@@ -124,7 +124,7 @@ protected:
void initStyleOption(QStyleOptionDockWidget *option) const;
private:
- Q_DECLARE_SCOPED_PRIVATE(QDockWidget)
+ Q_DECLARE_PRIVATE(QDockWidget)
Q_DISABLE_COPY(QDockWidget)
Q_PRIVATE_SLOT(d_func(), void _q_toggleView(bool))
Q_PRIVATE_SLOT(d_func(), void _q_toggleTopLevel())
diff --git a/src/gui/widgets/qeffects.cpp b/src/gui/widgets/qeffects.cpp
index 065a2e0..f3b1b76 100644
--- a/src/gui/widgets/qeffects.cpp
+++ b/src/gui/widgets/qeffects.cpp
@@ -126,9 +126,9 @@ QAlphaWidget::QAlphaWidget(QWidget* w, Qt::WindowFlags f)
QAlphaWidget::~QAlphaWidget()
{
-#ifdef Q_WS_WIN
+#if defined(Q_WS_WIN) && !defined(Q_WS_WINCE)
// Restore user-defined opacity value
- if (widget && QSysInfo::WindowsVersion >= QSysInfo::WV_2000 && QSysInfo::WindowsVersion < QSysInfo::WV_NT_based)
+ if (widget)
widget->setWindowOpacity(windowOpacity);
#endif
}
@@ -160,43 +160,40 @@ void QAlphaWidget::run(int time)
checkTime.start();
showWidget = true;
-#if defined(Q_OS_WIN)
- if (QSysInfo::WindowsVersion >= QSysInfo::WV_2000 && QSysInfo::WindowsVersion < QSysInfo::WV_NT_based) {
- qApp->installEventFilter(this);
- widget->setWindowOpacity(0.0);
- widget->show();
+#if defined(Q_OS_WIN) && !defined(Q_OS_WINCE)
+ qApp->installEventFilter(this);
+ widget->setWindowOpacity(0.0);
+ widget->show();
+ connect(&anim, SIGNAL(timeout()), this, SLOT(render()));
+ anim.start(1);
+#else
+ //This is roughly equivalent to calling setVisible(true) without actually showing the widget
+ widget->setAttribute(Qt::WA_WState_ExplicitShowHide, true);
+ widget->setAttribute(Qt::WA_WState_Hidden, false);
+
+ qApp->installEventFilter(this);
+
+ move(widget->geometry().x(),widget->geometry().y());
+ resize(widget->size().width(), widget->size().height());
+
+ frontImage = QPixmap::grabWidget(widget).toImage();
+ backImage = QPixmap::grabWindow(QApplication::desktop()->winId(),
+ widget->geometry().x(), widget->geometry().y(),
+ widget->geometry().width(), widget->geometry().height()).toImage();
+
+ if (!backImage.isNull() && checkTime.elapsed() < duration / 2) {
+ mixedImage = backImage.copy();
+ pm = QPixmap::fromImage(mixedImage);
+ show();
+ setEnabled(false);
+
connect(&anim, SIGNAL(timeout()), this, SLOT(render()));
anim.start(1);
- } else
-#endif
- {
- //This is roughly equivalent to calling setVisible(true) without actually showing the widget
- widget->setAttribute(Qt::WA_WState_ExplicitShowHide, true);
- widget->setAttribute(Qt::WA_WState_Hidden, false);
-
- qApp->installEventFilter(this);
-
- move(widget->geometry().x(),widget->geometry().y());
- resize(widget->size().width(), widget->size().height());
-
- frontImage = QPixmap::grabWidget(widget).toImage();
- backImage = QPixmap::grabWindow(QApplication::desktop()->winId(),
- widget->geometry().x(), widget->geometry().y(),
- widget->geometry().width(), widget->geometry().height()).toImage();
-
- if (!backImage.isNull() && checkTime.elapsed() < duration / 2) {
- mixedImage = backImage.copy();
- pm = QPixmap::fromImage(mixedImage);
- show();
- setEnabled(false);
-
- connect(&anim, SIGNAL(timeout()), this, SLOT(render()));
- anim.start(1);
- } else {
- duration = 0;
- render();
- }
+ } else {
+ duration = 0;
+ render();
}
+#endif
}
/*
@@ -270,19 +267,17 @@ void QAlphaWidget::render()
else
alpha = 1;
-#if defined(Q_OS_WIN)
- if (QSysInfo::WindowsVersion >= QSysInfo::WV_2000 && QSysInfo::WindowsVersion < QSysInfo::WV_NT_based) {
- if (alpha >= windowOpacity || !showWidget) {
- anim.stop();
- qApp->removeEventFilter(this);
- widget->setWindowOpacity(windowOpacity);
- q_blend = 0;
- deleteLater();
- } else {
- widget->setWindowOpacity(alpha);
- }
- } else
-#endif
+#if defined(Q_OS_WIN) && !defined(Q_OS_WINCE)
+ if (alpha >= windowOpacity || !showWidget) {
+ anim.stop();
+ qApp->removeEventFilter(this);
+ widget->setWindowOpacity(windowOpacity);
+ q_blend = 0;
+ deleteLater();
+ } else {
+ widget->setWindowOpacity(alpha);
+ }
+#else
if (alpha >= 1 || !showWidget) {
anim.stop();
qApp->removeEventFilter(this);
@@ -292,7 +287,7 @@ void QAlphaWidget::render()
#ifdef Q_WS_WIN
setEnabled(true);
setFocus();
-#endif
+#endif // Q_WS_WIN
widget->hide();
} else {
//Since we are faking the visibility of the widget
@@ -309,6 +304,7 @@ void QAlphaWidget::render()
pm = QPixmap::fromImage(mixedImage);
repaint();
}
+#endif // defined(Q_OS_WIN) && !defined(Q_OS_WINCE)
}
/*
diff --git a/src/gui/widgets/qfocusframe.h b/src/gui/widgets/qfocusframe.h
index e496343..139374c 100644
--- a/src/gui/widgets/qfocusframe.h
+++ b/src/gui/widgets/qfocusframe.h
@@ -71,7 +71,7 @@ protected:
void initStyleOption(QStyleOption *option) const;
private:
- Q_DECLARE_SCOPED_PRIVATE(QFocusFrame)
+ Q_DECLARE_PRIVATE(QFocusFrame)
Q_DISABLE_COPY(QFocusFrame)
};
diff --git a/src/gui/widgets/qfontcombobox.cpp b/src/gui/widgets/qfontcombobox.cpp
index 9660399..f87ccd3 100644
--- a/src/gui/widgets/qfontcombobox.cpp
+++ b/src/gui/widgets/qfontcombobox.cpp
@@ -263,7 +263,7 @@ void QFontComboBoxPrivate::_q_currentChanged(const QString &text)
{
Q_Q(QFontComboBox);
QFont newFont(text);
- if (currentFont != newFont) {
+ if (currentFont.family() != newFont.family()) {
currentFont = newFont;
emit q->currentFontChanged(currentFont);
}
diff --git a/src/gui/widgets/qfontcombobox.h b/src/gui/widgets/qfontcombobox.h
index 41f9d72..6034881 100644
--- a/src/gui/widgets/qfontcombobox.h
+++ b/src/gui/widgets/qfontcombobox.h
@@ -97,7 +97,7 @@ protected:
private:
Q_DISABLE_COPY(QFontComboBox)
- Q_DECLARE_SCOPED_PRIVATE(QFontComboBox)
+ Q_DECLARE_PRIVATE(QFontComboBox)
Q_PRIVATE_SLOT(d_func(), void _q_currentChanged(const QString &))
Q_PRIVATE_SLOT(d_func(), void _q_updateModel())
};
diff --git a/src/gui/widgets/qframe.cpp b/src/gui/widgets/qframe.cpp
index b9e769d..a87ec85 100644
--- a/src/gui/widgets/qframe.cpp
+++ b/src/gui/widgets/qframe.cpp
@@ -135,7 +135,7 @@ inline void QFramePrivate::init()
\value VLine QFrame draws a vertical line that frames nothing
(useful as separator)
\value WinPanel draws a rectangular panel that can be raised or
- sunken like those in Windows 95. Specifying this shape sets
+ sunken like those in Windows 2000. Specifying this shape sets
the line width to 2 pixels. WinPanel is provided for compatibility.
For GUI style independence we recommend using StyledPanel instead.
diff --git a/src/gui/widgets/qframe.h b/src/gui/widgets/qframe.h
index f8776c6..7b6073b 100644
--- a/src/gui/widgets/qframe.h
+++ b/src/gui/widgets/qframe.h
@@ -138,7 +138,7 @@ protected:
private:
Q_DISABLE_COPY(QFrame)
- Q_DECLARE_SCOPED_PRIVATE(QFrame)
+ Q_DECLARE_PRIVATE(QFrame)
};
QT_END_NAMESPACE
diff --git a/src/gui/widgets/qgroupbox.cpp b/src/gui/widgets/qgroupbox.cpp
index 0bfa8c0..5758b6a 100644
--- a/src/gui/widgets/qgroupbox.cpp
+++ b/src/gui/widgets/qgroupbox.cpp
@@ -431,7 +431,7 @@ void QGroupBoxPrivate::_q_fixFocus(Qt::FocusReason reason)
{
Q_Q(QGroupBox);
QWidget *fw = q->focusWidget();
- if (!fw) {
+ if (!fw || fw == q) {
QWidget * best = 0;
QWidget * candidate = 0;
QWidget * w = q;
@@ -449,8 +449,7 @@ void QGroupBoxPrivate::_q_fixFocus(Qt::FocusReason reason)
}
if (best)
fw = best;
- else
- if (candidate)
+ else if (candidate)
fw = candidate;
}
if (fw)
@@ -479,11 +478,7 @@ void QGroupBox::focusInEvent(QFocusEvent *fe)
if (focusPolicy() == Qt::NoFocus) {
d->_q_fixFocus(fe->reason());
} else {
- QStyleOptionGroupBox box;
- initStyleOption(&box);
- QRect rect = style()->subControlRect(QStyle::CC_GroupBox, &box, QStyle::SC_GroupBoxCheckBox, this)
- | style()->subControlRect(QStyle::CC_GroupBox, &box, QStyle::SC_GroupBoxLabel, this);
- update(rect);
+ QWidget::focusInEvent(fe);
}
}
diff --git a/src/gui/widgets/qgroupbox.h b/src/gui/widgets/qgroupbox.h
index c4bef6e..d3f76e1 100644
--- a/src/gui/widgets/qgroupbox.h
+++ b/src/gui/widgets/qgroupbox.h
@@ -109,7 +109,7 @@ public:
private:
Q_DISABLE_COPY(QGroupBox)
- Q_DECLARE_SCOPED_PRIVATE(QGroupBox)
+ Q_DECLARE_PRIVATE(QGroupBox)
Q_PRIVATE_SLOT(d_func(), void _q_setChildrenEnabled(bool b))
};
diff --git a/src/gui/widgets/qlabel.h b/src/gui/widgets/qlabel.h
index 520d661..b7a7c11 100644
--- a/src/gui/widgets/qlabel.h
+++ b/src/gui/widgets/qlabel.h
@@ -156,7 +156,7 @@ public:
private:
Q_DISABLE_COPY(QLabel)
- Q_DECLARE_SCOPED_PRIVATE(QLabel)
+ Q_DECLARE_PRIVATE(QLabel)
#ifndef QT_NO_MOVIE
Q_PRIVATE_SLOT(d_func(), void _q_movieUpdated(const QRect&))
Q_PRIVATE_SLOT(d_func(), void _q_movieResized(const QSize&))
diff --git a/src/gui/widgets/qlcdnumber.h b/src/gui/widgets/qlcdnumber.h
index 3d7cf43..1437427 100644
--- a/src/gui/widgets/qlcdnumber.h
+++ b/src/gui/widgets/qlcdnumber.h
@@ -128,7 +128,7 @@ public:
private:
Q_DISABLE_COPY(QLCDNumber)
- Q_DECLARE_SCOPED_PRIVATE(QLCDNumber)
+ Q_DECLARE_PRIVATE(QLCDNumber)
};
#endif // QT_NO_LCDNUMBER
diff --git a/src/gui/widgets/qlinecontrol.cpp b/src/gui/widgets/qlinecontrol.cpp
new file mode 100644
index 0000000..64832c8
--- /dev/null
+++ b/src/gui/widgets/qlinecontrol.cpp
@@ -0,0 +1,1750 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtGui module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "qlinecontrol_p.h"
+
+#ifndef QT_NO_LINEEDIT
+
+#include "qabstractitemview.h"
+#include "qclipboard.h"
+#ifndef QT_NO_ACCESSIBILITY
+#include "qaccessible.h"
+#endif
+#ifndef QT_NO_IM
+#include "qinputcontext.h"
+#include "qlist.h"
+#endif
+#include "qapplication.h"
+#ifndef QT_NO_GRAPHICSVIEW
+#include "qgraphicssceneevent.h"
+#endif
+
+QT_BEGIN_NAMESPACE
+
+/*!
+ \internal
+
+ Updates the display text based of the current edit text
+ If the text has changed will emit displayTextChanged()
+*/
+void QLineControl::updateDisplayText()
+{
+ QString orig = m_textLayout.text();
+ QString str;
+ if (m_echoMode == QLineEdit::NoEcho)
+ str = QString::fromLatin1("");
+ else
+ str = m_text;
+
+ if (m_echoMode == QLineEdit::Password || (m_echoMode == QLineEdit::PasswordEchoOnEdit
+ && !m_passwordEchoEditing))
+ str.fill(m_passwordCharacter);
+
+ // replace certain non-printable characters with spaces (to avoid
+ // drawing boxes when using fonts that don't have glyphs for such
+ // characters)
+ QChar* uc = str.data();
+ for (int i = 0; i < (int)str.length(); ++i) {
+ if ((uc[i] < 0x20 && uc[i] != 0x09)
+ || uc[i] == QChar::LineSeparator
+ || uc[i] == QChar::ParagraphSeparator
+ || uc[i] == QChar::ObjectReplacementCharacter)
+ uc[i] = QChar(0x0020);
+ }
+
+ m_textLayout.setText(str);
+
+ QTextOption option;
+ option.setTextDirection(m_layoutDirection);
+ option.setFlags(QTextOption::IncludeTrailingSpaces);
+ m_textLayout.setTextOption(option);
+
+ m_textLayout.beginLayout();
+ QTextLine l = m_textLayout.createLine();
+ m_textLayout.endLayout();
+ m_ascent = qRound(l.ascent());
+
+ if (str != orig)
+ emit displayTextChanged(str);
+}
+
+#ifndef QT_NO_CLIPBOARD
+/*!
+ \internal
+
+ Copies the currently selected text into the clipboard using the given
+ \a mode.
+
+ \note If the echo mode is set to a mode other than Normal then copy
+ will not work. This is to prevent using copy as a method of bypassing
+ password features of the line control.
+*/
+void QLineControl::copy(QClipboard::Mode mode) const
+{
+ QString t = selectedText();
+ if (!t.isEmpty() && m_echoMode == QLineEdit::Normal) {
+ disconnect(QApplication::clipboard(), SIGNAL(selectionChanged()), this, 0);
+ QApplication::clipboard()->setText(t, mode);
+ connect(QApplication::clipboard(), SIGNAL(selectionChanged()),
+ this, SLOT(_q_clipboardChanged()));
+ }
+}
+
+/*!
+ \internal
+
+ Inserts the text stored in the application clipboard into the line
+ control.
+
+ \sa insert()
+*/
+void QLineControl::paste()
+{
+ insert(QApplication::clipboard()->text(QClipboard::Clipboard));
+}
+
+#endif // !QT_NO_CLIPBOARD
+
+/*!
+ \internal
+
+ Handles the behavior for the backspace key or function.
+ Removes the current selection if there is a selection, otherwise
+ removes the character prior to the cursor position.
+
+ \sa del()
+*/
+void QLineControl::backspace()
+{
+ int priorState = m_undoState;
+ if (hasSelectedText()) {
+ removeSelectedText();
+ } else if (m_cursor) {
+ --m_cursor;
+ if (m_maskData)
+ m_cursor = prevMaskBlank(m_cursor);
+ QChar uc = m_text.at(m_cursor);
+ if (m_cursor > 0 && uc.unicode() >= 0xdc00 && uc.unicode() < 0xe000) {
+ // second half of a surrogate, check if we have the first half as well,
+ // if yes delete both at once
+ uc = m_text.at(m_cursor - 1);
+ if (uc.unicode() >= 0xd800 && uc.unicode() < 0xdc00) {
+ internalDelete(true);
+ --m_cursor;
+ }
+ }
+ internalDelete(true);
+ }
+ finishChange(priorState);
+}
+
+/*!
+ \internal
+
+ Handles the behavior for the delete key or function.
+ Removes the current selection if there is a selection, otherwise
+ removes the character after the cursor position.
+
+ \sa del()
+*/
+void QLineControl::del()
+{
+ int priorState = m_undoState;
+ if (hasSelectedText()) {
+ removeSelectedText();
+ } else {
+ int n = m_textLayout.nextCursorPosition(m_cursor) - m_cursor;
+ while (n--)
+ internalDelete();
+ }
+ finishChange(priorState);
+}
+
+/*!
+ \internal
+
+ Inserts the given \a newText at the current cursor position.
+ If there is any selected text it is removed prior to insertion of
+ the new text.
+*/
+void QLineControl::insert(const QString &newText)
+{
+ int priorState = m_undoState;
+ removeSelectedText();
+ internalInsert(newText);
+ finishChange(priorState);
+}
+
+/*!
+ \internal
+
+ Clears the line control text.
+*/
+void QLineControl::clear()
+{
+ int priorState = m_undoState;
+ m_selstart = 0;
+ m_selend = m_text.length();
+ removeSelectedText();
+ separate();
+ finishChange(priorState, /*update*/false, /*edited*/false);
+}
+
+/*!
+ \internal
+
+ Sets \a length characters from the given \a start position as selected.
+ The given \a start position must be within the current text for
+ the line control. If \a length characters cannot be selected, then
+ the selection will extend to the end of the current text.
+*/
+void QLineControl::setSelection(int start, int length)
+{
+ if(start < 0 || start > (int)m_text.length()){
+ qWarning("QLineControl::setSelection: Invalid start position");
+ return;
+ }
+
+ if (length > 0) {
+ if (start == m_selstart && start + length == m_selend)
+ return;
+ m_selstart = start;
+ m_selend = qMin(start + length, (int)m_text.length());
+ m_cursor = m_selend;
+ } else {
+ if (start == m_selend && start + length == m_selstart)
+ return;
+ m_selstart = qMax(start + length, 0);
+ m_selend = start;
+ m_cursor = m_selstart;
+ }
+ emit selectionChanged();
+}
+
+void QLineControl::_q_clipboardChanged()
+{
+}
+
+void QLineControl::_q_deleteSelected()
+{
+ if (!hasSelectedText())
+ return;
+
+ int priorState = m_undoState;
+ emit resetInputContext();
+ removeSelectedText();
+ separate();
+ finishChange(priorState);
+}
+
+/*!
+ \internal
+
+ Initializes the line control with a starting text value of \a txt.
+*/
+void QLineControl::init(const QString &txt)
+{
+ m_text = txt;
+ updateDisplayText();
+ m_cursor = m_text.length();
+}
+
+/*!
+ \internal
+
+ Sets the password echo editing to \a editing. If password echo editing
+ is true, then the text of the password is displayed even if the echo
+ mode is set to QLineEdit::PasswordEchoOnEdit. Password echoing editing
+ does not affect other echo modes.
+*/
+void QLineControl::updatePasswordEchoEditing(bool editing)
+{
+ m_passwordEchoEditing = editing;
+ updateDisplayText();
+}
+
+/*!
+ \internal
+
+ Returns the cursor position of the given \a x pixel value in relation
+ to the displayed text. The given \a betweenOrOn specified what kind
+ of cursor position is requested.
+*/
+int QLineControl::xToPos(int x, QTextLine::CursorPosition betweenOrOn) const
+{
+ return m_textLayout.lineAt(0).xToCursor(x, betweenOrOn);
+}
+
+/*!
+ \internal
+
+ Returns the bounds of the current cursor, as defined as a
+ between characters cursor.
+*/
+QRect QLineControl::cursorRect() const
+{
+ QTextLine l = m_textLayout.lineAt(0);
+ int c = m_cursor;
+ if (m_preeditCursor != -1)
+ c += m_preeditCursor;
+ int cix = qRound(l.cursorToX(c));
+ int w = m_cursorWidth;
+ int ch = l.height() + 1;
+
+ return QRect(cix-5, 0, w+9, ch);
+}
+
+/*!
+ \internal
+
+ Fixes the current text so that it is valid given any set validators.
+
+ Returns true if the text was changed. Otherwise returns false.
+*/
+bool QLineControl::fixup() // this function assumes that validate currently returns != Acceptable
+{
+#ifndef QT_NO_VALIDATOR
+ if (m_validator) {
+ QString textCopy = m_text;
+ int cursorCopy = m_cursor;
+ m_validator->fixup(textCopy);
+ if (m_validator->validate(textCopy, cursorCopy) == QValidator::Acceptable) {
+ if (textCopy != m_text || cursorCopy != m_cursor)
+ internalSetText(textCopy, cursorCopy);
+ return true;
+ }
+ }
+#endif
+ return false;
+}
+
+/*!
+ \internal
+
+ Moves the cursor to the given position \a pos. If \a mark is true will
+ adjust the currently selected text.
+*/
+void QLineControl::moveCursor(int pos, bool mark)
+{
+ if (pos != m_cursor) {
+ separate();
+ if (m_maskData)
+ pos = pos > m_cursor ? nextMaskBlank(pos) : prevMaskBlank(pos);
+ }
+ if (mark) {
+ int anchor;
+ if (m_selend > m_selstart && m_cursor == m_selstart)
+ anchor = m_selend;
+ else if (m_selend > m_selstart && m_cursor == m_selend)
+ anchor = m_selstart;
+ else
+ anchor = m_cursor;
+ m_selstart = qMin(anchor, pos);
+ m_selend = qMax(anchor, pos);
+ updateDisplayText();
+ } else {
+ internalDeselect();
+ }
+ m_cursor = pos;
+ if (mark || m_selDirty) {
+ m_selDirty = false;
+ emit selectionChanged();
+ }
+ emitCursorPositionChanged();
+}
+
+/*!
+ \internal
+
+ Applies the given input method event \a event to the text of the line
+ control
+*/
+void QLineControl::processInputMethodEvent(QInputMethodEvent *event)
+{
+ int priorState = m_undoState;
+ removeSelectedText();
+
+ int c = m_cursor; // cursor position after insertion of commit string
+ if (event->replacementStart() <= 0)
+ c += event->commitString().length() + qMin(-event->replacementStart(), event->replacementLength());
+
+ m_cursor += event->replacementStart();
+
+ // insert commit string
+ if (event->replacementLength()) {
+ m_selstart = m_cursor;
+ m_selend = m_selstart + event->replacementLength();
+ removeSelectedText();
+ }
+ if (!event->commitString().isEmpty())
+ insert(event->commitString());
+
+ m_cursor = qMin(c, m_text.length());
+
+ setPreeditArea(m_cursor, event->preeditString());
+ m_preeditCursor = event->preeditString().length();
+ m_hideCursor = false;
+ QList<QTextLayout::FormatRange> formats;
+ for (int i = 0; i < event->attributes().size(); ++i) {
+ const QInputMethodEvent::Attribute &a = event->attributes().at(i);
+ if (a.type == QInputMethodEvent::Cursor) {
+ m_preeditCursor = a.start;
+ m_hideCursor = !a.length;
+ } else if (a.type == QInputMethodEvent::TextFormat) {
+ QTextCharFormat f = qvariant_cast<QTextFormat>(a.value).toCharFormat();
+ if (f.isValid()) {
+ QTextLayout::FormatRange o;
+ o.start = a.start + m_cursor;
+ o.length = a.length;
+ o.format = f;
+ formats.append(o);
+ }
+ }
+ }
+ m_textLayout.setAdditionalFormats(formats);
+ updateDisplayText();
+ if (!event->commitString().isEmpty())
+ emitCursorPositionChanged();
+ finishChange(priorState);
+}
+
+/*!
+ \internal
+
+ Draws the display text for the line control using the given
+ \a painter, \a clip, and \a offset. Which aspects of the display text
+ are drawn is specified by the given \a flags.
+
+ If the flags contain DrawSelections, then the selection or input mask
+ backgrounds and foregrounds will be applied before drawing the text.
+
+ If the flags contain DrawCursor a cursor of the current cursorWidth()
+ will be drawn after drawing the text.
+
+ The display text will only be drawn if the flags contain DrawText
+*/
+void QLineControl::draw(QPainter *painter, const QPoint &offset, const QRect &clip, int flags)
+{
+ QVector<QTextLayout::FormatRange> selections;
+ if (flags & DrawSelections) {
+ QTextLayout::FormatRange o;
+ if (m_selstart < m_selend) {
+ o.start = m_selstart;
+ o.length = m_selend - m_selstart;
+ o.format.setBackground(m_palette.brush(QPalette::Highlight));
+ o.format.setForeground(m_palette.brush(QPalette::HighlightedText));
+ } else {
+ // mask selection
+ o.start = m_cursor;
+ o.length = 1;
+ o.format.setBackground(m_palette.brush(QPalette::Text));
+ o.format.setForeground(m_palette.brush(QPalette::Window));
+ }
+ selections.append(o);
+ }
+
+ if (flags & DrawText)
+ m_textLayout.draw(painter, offset, selections, clip);
+
+ if (flags & DrawCursor){
+ if(!m_blinkPeriod || m_blinkStatus)
+ m_textLayout.drawCursor(painter, offset, m_cursor, m_cursorWidth);
+ }
+}
+
+/*!
+ \internal
+
+ Sets the selection to cover the word at the given cursor position.
+ The word boundries is defined by the behavior of QTextLayout::SkipWords
+ cursor mode.
+*/
+void QLineControl::selectWordAtPos(int cursor)
+{
+ int c = m_textLayout.previousCursorPosition(cursor, QTextLayout::SkipWords);
+ moveCursor(c, false);
+ // ## text layout should support end of words.
+ int end = m_textLayout.nextCursorPosition(cursor, QTextLayout::SkipWords);
+ while (end > cursor && m_text[end-1].isSpace())
+ --end;
+ moveCursor(end, true);
+}
+
+/*!
+ \internal
+
+ Completes a change to the line control text. If the change is not valid
+ will undo the line control state back to the given \a validateFromState.
+
+ If \a edited is true and the change is valid, will emit textEdited() in
+ addition to textChanged(). Otherwise only emits textChanged() on a valid
+ change.
+
+ The \a update value is currently unused.
+*/
+bool QLineControl::finishChange(int validateFromState, bool update, bool edited)
+{
+ Q_UNUSED(update)
+ bool lineDirty = m_selDirty;
+ if (m_textDirty) {
+ // do validation
+ bool wasValidInput = m_validInput;
+ m_validInput = true;
+#ifndef QT_NO_VALIDATOR
+ if (m_validator) {
+ m_validInput = false;
+ QString textCopy = m_text;
+ int cursorCopy = m_cursor;
+ m_validInput = (m_validator->validate(textCopy, cursorCopy) != QValidator::Invalid);
+ if (m_validInput) {
+ if (m_text != textCopy) {
+ internalSetText(textCopy, cursorCopy);
+ return true;
+ }
+ m_cursor = cursorCopy;
+ }
+ }
+#endif
+ if (validateFromState >= 0 && wasValidInput && !m_validInput) {
+ if (m_transactions.count())
+ return false;
+ internalUndo(validateFromState);
+ m_history.resize(m_undoState);
+ if (m_modifiedState > m_undoState)
+ m_modifiedState = -1;
+ m_validInput = true;
+ m_textDirty = false;
+ }
+ updateDisplayText();
+ lineDirty |= m_textDirty;
+ if (m_textDirty) {
+ m_textDirty = false;
+ QString actualText = text();
+ if (edited)
+ emit textEdited(actualText);
+ emit textChanged(actualText);
+ }
+ }
+ if (m_selDirty) {
+ m_selDirty = false;
+ emit selectionChanged();
+ }
+ emitCursorPositionChanged();
+ return true;
+}
+
+/*!
+ \internal
+
+ An internal function for setting the text of the line control.
+*/
+void QLineControl::internalSetText(const QString &txt, int pos, bool edited)
+{
+ internalDeselect();
+ emit resetInputContext();
+ QString oldText = m_text;
+ if (m_maskData) {
+ m_text = maskString(0, txt, true);
+ m_text += clearString(m_text.length(), m_maxLength - m_text.length());
+ } else {
+ m_text = txt.isEmpty() ? txt : txt.left(m_maxLength);
+ }
+ m_history.clear();
+ m_modifiedState = m_undoState = 0;
+ m_cursor = (pos < 0 || pos > m_text.length()) ? m_text.length() : pos;
+ m_textDirty = (oldText != m_text);
+ finishChange(-1, true, edited);
+}
+
+
+/*!
+ \internal
+
+ Adds the given \a command to the undo history
+ of the line control. Does not apply the command.
+*/
+void QLineControl::addCommand(const Command &cmd)
+{
+ if (m_separator && m_undoState && m_history[m_undoState - 1].type != Separator) {
+ m_history.resize(m_undoState + 2);
+ m_history[m_undoState++] = Command(Separator, m_cursor, 0, m_selstart, m_selend);
+ } else {
+ m_history.resize(m_undoState + 1);
+ }
+ m_separator = false;
+ m_history[m_undoState++] = cmd;
+}
+
+/*!
+ \internal
+
+ Inserts the given string \a s into the line
+ control.
+
+ Also adds the appropriate commands into the undo history.
+ This function does not call finishChange(), and may leave the text
+ in an invalid state.
+*/
+void QLineControl::internalInsert(const QString &s)
+{
+ if (hasSelectedText())
+ addCommand(Command(SetSelection, m_cursor, 0, m_selstart, m_selend));
+ if (m_maskData) {
+ QString ms = maskString(m_cursor, s);
+ for (int i = 0; i < (int) ms.length(); ++i) {
+ addCommand (Command(DeleteSelection, m_cursor + i, m_text.at(m_cursor + i), -1, -1));
+ addCommand(Command(Insert, m_cursor + i, ms.at(i), -1, -1));
+ }
+ m_text.replace(m_cursor, ms.length(), ms);
+ m_cursor += ms.length();
+ m_cursor = nextMaskBlank(m_cursor);
+ m_textDirty = true;
+ } else {
+ int remaining = m_maxLength - m_text.length();
+ if (remaining != 0) {
+ m_text.insert(m_cursor, s.left(remaining));
+ for (int i = 0; i < (int) s.left(remaining).length(); ++i)
+ addCommand(Command(Insert, m_cursor++, s.at(i), -1, -1));
+ m_textDirty = true;
+ }
+ }
+}
+
+/*!
+ \internal
+
+ deletes a single character from the current text. If \a wasBackspace,
+ the character prior to the cursor is removed. Otherwise the character
+ after the cursor is removed.
+
+ Also adds the appropriate commands into the undo history.
+ This function does not call finishChange(), and may leave the text
+ in an invalid state.
+*/
+void QLineControl::internalDelete(bool wasBackspace)
+{
+ if (m_cursor < (int) m_text.length()) {
+ if (hasSelectedText())
+ addCommand(Command(SetSelection, m_cursor, 0, m_selstart, m_selend));
+ addCommand(Command((CommandType)((m_maskData ? 2 : 0) + (wasBackspace ? Remove : Delete)),
+ m_cursor, m_text.at(m_cursor), -1, -1));
+ if (m_maskData) {
+ m_text.replace(m_cursor, 1, clearString(m_cursor, 1));
+ addCommand(Command(Insert, m_cursor, m_text.at(m_cursor), -1, -1));
+ } else {
+ m_text.remove(m_cursor, 1);
+ }
+ m_textDirty = true;
+ }
+}
+
+/*!
+ \internal
+
+ removes the currently selected text from the line control.
+
+ Also adds the appropriate commands into the undo history.
+ This function does not call finishChange(), and may leave the text
+ in an invalid state.
+*/
+void QLineControl::removeSelectedText()
+{
+ if (m_selstart < m_selend && m_selend <= (int) m_text.length()) {
+ separate();
+ int i ;
+ addCommand(Command(SetSelection, m_cursor, 0, m_selstart, m_selend));
+ if (m_selstart <= m_cursor && m_cursor < m_selend) {
+ // cursor is within the selection. Split up the commands
+ // to be able to restore the correct cursor position
+ for (i = m_cursor; i >= m_selstart; --i)
+ addCommand (Command(DeleteSelection, i, m_text.at(i), -1, 1));
+ for (i = m_selend - 1; i > m_cursor; --i)
+ addCommand (Command(DeleteSelection, i - m_cursor + m_selstart - 1, m_text.at(i), -1, -1));
+ } else {
+ for (i = m_selend-1; i >= m_selstart; --i)
+ addCommand (Command(RemoveSelection, i, m_text.at(i), -1, -1));
+ }
+ if (m_maskData) {
+ m_text.replace(m_selstart, m_selend - m_selstart, clearString(m_selstart, m_selend - m_selstart));
+ for (int i = 0; i < m_selend - m_selstart; ++i)
+ addCommand(Command(Insert, m_selstart + i, m_text.at(m_selstart + i), -1, -1));
+ } else {
+ m_text.remove(m_selstart, m_selend - m_selstart);
+ }
+ if (m_cursor > m_selstart)
+ m_cursor -= qMin(m_cursor, m_selend) - m_selstart;
+ internalDeselect();
+ m_textDirty = true;
+ }
+}
+
+/*!
+ \internal
+
+ Parses the input mask specified by \a maskFields to generate
+ the mask data used to handle input masks.
+*/
+void QLineControl::parseInputMask(const QString &maskFields)
+{
+ int delimiter = maskFields.indexOf(QLatin1Char(';'));
+ if (maskFields.isEmpty() || delimiter == 0) {
+ if (m_maskData) {
+ delete [] m_maskData;
+ m_maskData = 0;
+ m_maxLength = 32767;
+ internalSetText(QString());
+ }
+ return;
+ }
+
+ if (delimiter == -1) {
+ m_blank = QLatin1Char(' ');
+ m_inputMask = maskFields;
+ } else {
+ m_inputMask = maskFields.left(delimiter);
+ m_blank = (delimiter + 1 < maskFields.length()) ? maskFields[delimiter + 1] : QLatin1Char(' ');
+ }
+
+ // calculate m_maxLength / m_maskData length
+ m_maxLength = 0;
+ QChar c = 0;
+ for (int i=0; i<m_inputMask.length(); i++) {
+ c = m_inputMask.at(i);
+ if (i > 0 && m_inputMask.at(i-1) == QLatin1Char('\\')) {
+ m_maxLength++;
+ continue;
+ }
+ if (c != QLatin1Char('\\') && c != QLatin1Char('!') &&
+ c != QLatin1Char('<') && c != QLatin1Char('>') &&
+ c != QLatin1Char('{') && c != QLatin1Char('}') &&
+ c != QLatin1Char('[') && c != QLatin1Char(']'))
+ m_maxLength++;
+ }
+
+ delete [] m_maskData;
+ m_maskData = new MaskInputData[m_maxLength];
+
+ MaskInputData::Casemode m = MaskInputData::NoCaseMode;
+ c = 0;
+ bool s;
+ bool escape = false;
+ int index = 0;
+ for (int i = 0; i < m_inputMask.length(); i++) {
+ c = m_inputMask.at(i);
+ if (escape) {
+ s = true;
+ m_maskData[index].maskChar = c;
+ m_maskData[index].separator = s;
+ m_maskData[index].caseMode = m;
+ index++;
+ escape = false;
+ } else if (c == QLatin1Char('<')) {
+ m = MaskInputData::Lower;
+ } else if (c == QLatin1Char('>')) {
+ m = MaskInputData::Upper;
+ } else if (c == QLatin1Char('!')) {
+ m = MaskInputData::NoCaseMode;
+ } else if (c != QLatin1Char('{') && c != QLatin1Char('}') && c != QLatin1Char('[') && c != QLatin1Char(']')) {
+ switch (c.unicode()) {
+ case 'A':
+ case 'a':
+ case 'N':
+ case 'n':
+ case 'X':
+ case 'x':
+ case '9':
+ case '0':
+ case 'D':
+ case 'd':
+ case '#':
+ case 'H':
+ case 'h':
+ case 'B':
+ case 'b':
+ s = false;
+ break;
+ case '\\':
+ escape = true;
+ default:
+ s = true;
+ break;
+ }
+
+ if (!escape) {
+ m_maskData[index].maskChar = c;
+ m_maskData[index].separator = s;
+ m_maskData[index].caseMode = m;
+ index++;
+ }
+ }
+ }
+ internalSetText(m_text);
+}
+
+
+/*!
+ \internal
+
+ checks if the key is valid compared to the inputMask
+*/
+bool QLineControl::isValidInput(QChar key, QChar mask) const
+{
+ switch (mask.unicode()) {
+ case 'A':
+ if (key.isLetter())
+ return true;
+ break;
+ case 'a':
+ if (key.isLetter() || key == m_blank)
+ return true;
+ break;
+ case 'N':
+ if (key.isLetterOrNumber())
+ return true;
+ break;
+ case 'n':
+ if (key.isLetterOrNumber() || key == m_blank)
+ return true;
+ break;
+ case 'X':
+ if (key.isPrint())
+ return true;
+ break;
+ case 'x':
+ if (key.isPrint() || key == m_blank)
+ return true;
+ break;
+ case '9':
+ if (key.isNumber())
+ return true;
+ break;
+ case '0':
+ if (key.isNumber() || key == m_blank)
+ return true;
+ break;
+ case 'D':
+ if (key.isNumber() && key.digitValue() > 0)
+ return true;
+ break;
+ case 'd':
+ if ((key.isNumber() && key.digitValue() > 0) || key == m_blank)
+ return true;
+ break;
+ case '#':
+ if (key.isNumber() || key == QLatin1Char('+') || key == QLatin1Char('-') || key == m_blank)
+ return true;
+ break;
+ case 'B':
+ if (key == QLatin1Char('0') || key == QLatin1Char('1'))
+ return true;
+ break;
+ case 'b':
+ if (key == QLatin1Char('0') || key == QLatin1Char('1') || key == m_blank)
+ return true;
+ break;
+ case 'H':
+ if (key.isNumber() || (key >= QLatin1Char('a') && key <= QLatin1Char('f')) || (key >= QLatin1Char('A') && key <= QLatin1Char('F')))
+ return true;
+ break;
+ case 'h':
+ if (key.isNumber() || (key >= QLatin1Char('a') && key <= QLatin1Char('f')) || (key >= QLatin1Char('A') && key <= QLatin1Char('F')) || key == m_blank)
+ return true;
+ break;
+ default:
+ break;
+ }
+ return false;
+}
+
+/*!
+ \internal
+
+ Returns true if the given text \a str is valid for any
+ validator or input mask set for the line control.
+
+ Otherwise returns false
+*/
+bool QLineControl::hasAcceptableInput(const QString &str) const
+{
+#ifndef QT_NO_VALIDATOR
+ QString textCopy = str;
+ int cursorCopy = m_cursor;
+ if (m_validator && m_validator->validate(textCopy, cursorCopy)
+ != QValidator::Acceptable)
+ return false;
+#endif
+
+ if (!m_maskData)
+ return true;
+
+ if (str.length() != m_maxLength)
+ return false;
+
+ for (int i=0; i < m_maxLength; ++i) {
+ if (m_maskData[i].separator) {
+ if (str.at(i) != m_maskData[i].maskChar)
+ return false;
+ } else {
+ if (!isValidInput(str.at(i), m_maskData[i].maskChar))
+ return false;
+ }
+ }
+ return true;
+}
+
+/*!
+ \internal
+
+ Applies the inputMask on \a str starting from position \a pos in the mask. \a clear
+ specifies from where characters should be gotten when a separator is met in \a str - true means
+ that blanks will be used, false that previous input is used.
+ Calling this when no inputMask is set is undefined.
+*/
+QString QLineControl::maskString(uint pos, const QString &str, bool clear) const
+{
+ if (pos >= (uint)m_maxLength)
+ return QString::fromLatin1("");
+
+ QString fill;
+ fill = clear ? clearString(0, m_maxLength) : m_text;
+
+ int strIndex = 0;
+ QString s = QString::fromLatin1("");
+ int i = pos;
+ while (i < m_maxLength) {
+ if (strIndex < str.length()) {
+ if (m_maskData[i].separator) {
+ s += m_maskData[i].maskChar;
+ if (str[(int)strIndex] == m_maskData[i].maskChar)
+ strIndex++;
+ ++i;
+ } else {
+ if (isValidInput(str[(int)strIndex], m_maskData[i].maskChar)) {
+ switch (m_maskData[i].caseMode) {
+ case MaskInputData::Upper:
+ s += str[(int)strIndex].toUpper();
+ break;
+ case MaskInputData::Lower:
+ s += str[(int)strIndex].toLower();
+ break;
+ default:
+ s += str[(int)strIndex];
+ }
+ ++i;
+ } else {
+ // search for separator first
+ int n = findInMask(i, true, true, str[(int)strIndex]);
+ if (n != -1) {
+ if (str.length() != 1 || i == 0 || (i > 0 && (!m_maskData[i-1].separator || m_maskData[i-1].maskChar != str[(int)strIndex]))) {
+ s += fill.mid(i, n-i+1);
+ i = n + 1; // update i to find + 1
+ }
+ } else {
+ // search for valid m_blank if not
+ n = findInMask(i, true, false, str[(int)strIndex]);
+ if (n != -1) {
+ s += fill.mid(i, n-i);
+ switch (m_maskData[n].caseMode) {
+ case MaskInputData::Upper:
+ s += str[(int)strIndex].toUpper();
+ break;
+ case MaskInputData::Lower:
+ s += str[(int)strIndex].toLower();
+ break;
+ default:
+ s += str[(int)strIndex];
+ }
+ i = n + 1; // updates i to find + 1
+ }
+ }
+ }
+ ++strIndex;
+ }
+ } else
+ break;
+ }
+
+ return s;
+}
+
+
+
+/*!
+ \internal
+
+ Returns a "cleared" string with only separators and blank chars.
+ Calling this when no inputMask is set is undefined.
+*/
+QString QLineControl::clearString(uint pos, uint len) const
+{
+ if (pos >= (uint)m_maxLength)
+ return QString();
+
+ QString s;
+ int end = qMin((uint)m_maxLength, pos + len);
+ for (int i = pos; i < end; ++i)
+ if (m_maskData[i].separator)
+ s += m_maskData[i].maskChar;
+ else
+ s += m_blank;
+
+ return s;
+}
+
+/*!
+ \internal
+
+ Strips blank parts of the input in a QLineControl when an inputMask is set,
+ separators are still included. Typically "127.0__.0__.1__" becomes "127.0.0.1".
+*/
+QString QLineControl::stripString(const QString &str) const
+{
+ if (!m_maskData)
+ return str;
+
+ QString s;
+ int end = qMin(m_maxLength, (int)str.length());
+ for (int i = 0; i < end; ++i)
+ if (m_maskData[i].separator)
+ s += m_maskData[i].maskChar;
+ else
+ if (str[i] != m_blank)
+ s += str[i];
+
+ return s;
+}
+
+/*!
+ \internal
+ searches forward/backward in m_maskData for either a separator or a m_blank
+*/
+int QLineControl::findInMask(int pos, bool forward, bool findSeparator, QChar searchChar) const
+{
+ if (pos >= m_maxLength || pos < 0)
+ return -1;
+
+ int end = forward ? m_maxLength : -1;
+ int step = forward ? 1 : -1;
+ int i = pos;
+
+ while (i != end) {
+ if (findSeparator) {
+ if (m_maskData[i].separator && m_maskData[i].maskChar == searchChar)
+ return i;
+ } else {
+ if (!m_maskData[i].separator) {
+ if (searchChar.isNull())
+ return i;
+ else if (isValidInput(searchChar, m_maskData[i].maskChar))
+ return i;
+ }
+ }
+ i += step;
+ }
+ return -1;
+}
+
+void QLineControl::internalUndo(int until)
+{
+ if (!isUndoAvailable())
+ return;
+ internalDeselect();
+ while (m_undoState && m_undoState > until) {
+ Command& cmd = m_history[--m_undoState];
+ switch (cmd.type) {
+ case Insert:
+ m_text.remove(cmd.pos, 1);
+ m_cursor = cmd.pos;
+ break;
+ case SetSelection:
+ m_selstart = cmd.selStart;
+ m_selend = cmd.selEnd;
+ m_cursor = cmd.pos;
+ break;
+ case Remove:
+ case RemoveSelection:
+ m_text.insert(cmd.pos, cmd.uc);
+ m_cursor = cmd.pos + 1;
+ break;
+ case Delete:
+ case DeleteSelection:
+ m_text.insert(cmd.pos, cmd.uc);
+ m_cursor = cmd.pos;
+ break;
+ case Separator:
+ continue;
+ }
+ if (until < 0 && m_undoState) {
+ Command& next = m_history[m_undoState-1];
+ if (next.type != cmd.type && next.type < RemoveSelection
+ && (cmd.type < RemoveSelection || next.type == Separator))
+ break;
+ }
+ }
+ m_textDirty = true;
+ emitCursorPositionChanged();
+}
+
+void QLineControl::internalRedo()
+{
+ if (!isRedoAvailable())
+ return;
+ internalDeselect();
+ while (m_undoState < (int)m_history.size()) {
+ Command& cmd = m_history[m_undoState++];
+ switch (cmd.type) {
+ case Insert:
+ m_text.insert(cmd.pos, cmd.uc);
+ m_cursor = cmd.pos + 1;
+ break;
+ case SetSelection:
+ m_selstart = cmd.selStart;
+ m_selend = cmd.selEnd;
+ m_cursor = cmd.pos;
+ break;
+ case Remove:
+ case Delete:
+ case RemoveSelection:
+ case DeleteSelection:
+ m_text.remove(cmd.pos, 1);
+ m_selstart = cmd.selStart;
+ m_selend = cmd.selEnd;
+ m_cursor = cmd.pos;
+ break;
+ case Separator:
+ m_selstart = cmd.selStart;
+ m_selend = cmd.selEnd;
+ m_cursor = cmd.pos;
+ break;
+ }
+ if (m_undoState < (int)m_history.size()) {
+ Command& next = m_history[m_undoState];
+ if (next.type != cmd.type && cmd.type < RemoveSelection && next.type != Separator
+ && (next.type < RemoveSelection || cmd.type == Separator))
+ break;
+ }
+ }
+ m_textDirty = true;
+ emitCursorPositionChanged();
+}
+
+/*!
+ \internal
+
+ If the current cursor position differs from the last emited cursor
+ position, emits cursorPositionChanged().
+*/
+void QLineControl::emitCursorPositionChanged()
+{
+ if (m_cursor != m_lastCursorPos) {
+ const int oldLast = m_lastCursorPos;
+ m_lastCursorPos = m_cursor;
+ cursorPositionChanged(oldLast, m_cursor);
+ }
+}
+
+#ifndef QT_NO_COMPLETER
+// iterating forward(dir=1)/backward(dir=-1) from the
+// current row based. dir=0 indicates a new completion prefix was set.
+bool QLineControl::advanceToEnabledItem(int dir)
+{
+ int start = m_completer->currentRow();
+ if (start == -1)
+ return false;
+ int i = start + dir;
+ if (dir == 0) dir = 1;
+ do {
+ if (!m_completer->setCurrentRow(i)) {
+ if (!m_completer->wrapAround())
+ break;
+ i = i > 0 ? 0 : m_completer->completionCount() - 1;
+ } else {
+ QModelIndex currentIndex = m_completer->currentIndex();
+ if (m_completer->completionModel()->flags(currentIndex) & Qt::ItemIsEnabled)
+ return true;
+ i += dir;
+ }
+ } while (i != start);
+
+ m_completer->setCurrentRow(start); // restore
+ return false;
+}
+
+void QLineControl::complete(int key)
+{
+ if (!m_completer || isReadOnly() || echoMode() != QLineEdit::Normal)
+ return;
+
+ QString text = this->text();
+ if (m_completer->completionMode() == QCompleter::InlineCompletion) {
+ if (key == Qt::Key_Backspace)
+ return;
+ int n = 0;
+ if (key == Qt::Key_Up || key == Qt::Key_Down) {
+ if (textAfterSelection().length())
+ return;
+ QString prefix = hasSelectedText() ? textBeforeSelection()
+ : text;
+ if (text.compare(m_completer->currentCompletion(), m_completer->caseSensitivity()) != 0
+ || prefix.compare(m_completer->completionPrefix(), m_completer->caseSensitivity()) != 0) {
+ m_completer->setCompletionPrefix(prefix);
+ } else {
+ n = (key == Qt::Key_Up) ? -1 : +1;
+ }
+ } else {
+ m_completer->setCompletionPrefix(text);
+ }
+ if (!advanceToEnabledItem(n))
+ return;
+ } else {
+#ifndef QT_KEYPAD_NAVIGATION
+ if (text.isEmpty()) {
+ m_completer->popup()->hide();
+ return;
+ }
+#endif
+ m_completer->setCompletionPrefix(text);
+ }
+
+ m_completer->complete();
+}
+#endif
+
+void QLineControl::setCursorBlinkPeriod(int msec)
+{
+ if (msec == m_blinkPeriod)
+ return;
+ if (m_blinkTimer) {
+ killTimer(m_blinkTimer);
+ }
+ if (msec) {
+ m_blinkTimer = startTimer(msec / 2);
+ m_blinkStatus = 1;
+ } else {
+ m_blinkTimer = 0;
+ if (m_blinkStatus == 0)
+ emit updateNeeded(inputMask().isEmpty() ? cursorRect() : QRect());
+ }
+ m_blinkPeriod = msec;
+}
+
+void QLineControl::timerEvent(QTimerEvent *event)
+{
+ if (event->timerId() == m_blinkTimer) {
+ m_blinkStatus = !m_blinkStatus;
+ emit updateNeeded(inputMask().isEmpty() ? cursorRect() : QRect());
+ } else if (event->timerId() == m_deleteAllTimer) {
+ killTimer(m_deleteAllTimer);
+ m_deleteAllTimer = 0;
+ clear();
+ } else if (event->timerId() == m_tripleClickTimer) {
+ killTimer(m_tripleClickTimer);
+ m_tripleClickTimer = 0;
+ }
+}
+
+bool QLineControl::processEvent(QEvent* ev)
+{
+#ifdef QT_KEYPAD_NAVIGATION
+ if (QApplication::keypadNavigationEnabled()) {
+ if ((ev->type() == QEvent::KeyPress) || (ev->type() == QEvent::KeyRelease)) {
+ QKeyEvent *ke = (QKeyEvent *)ev;
+ if (ke->key() == Qt::Key_Back) {
+ if (ke->isAutoRepeat()) {
+ // Swallow it. We don't want back keys running amok.
+ ke->accept();
+ return true;
+ }
+ if ((ev->type() == QEvent::KeyRelease)
+ && !isReadOnly()
+ && m_deleteAllTimer) {
+ killTimer(m_deleteAllTimer);
+ m_deleteAllTimer = 0;
+ backspace();
+ ke->accept();
+ return true;
+ }
+ }
+ }
+ }
+#endif
+ switch(ev->type()){
+#ifndef QT_NO_GRAPHICSVIEW
+ case QEvent::GraphicsSceneMouseMove:
+ case QEvent::GraphicsSceneMouseRelease:
+ case QEvent::GraphicsSceneMousePress:{
+ QGraphicsSceneMouseEvent *gvEv = static_cast<QGraphicsSceneMouseEvent*>(ev);
+ QMouseEvent* mouse = new QMouseEvent(ev->type(),
+ gvEv->pos().toPoint(), gvEv->button(), gvEv->buttons(), gvEv->modifiers());
+ processMouseEvent(mouse); break;
+ }
+#endif
+ case QEvent::MouseButtonPress:
+ case QEvent::MouseButtonRelease:
+ case QEvent::MouseButtonDblClick:
+ case QEvent::MouseMove:
+ processMouseEvent(static_cast<QMouseEvent*>(ev)); break;
+ case QEvent::KeyPress:
+ case QEvent::KeyRelease:
+ processKeyEvent(static_cast<QKeyEvent*>(ev)); break;
+ case QEvent::InputMethod:
+ processInputMethodEvent(static_cast<QInputMethodEvent*>(ev)); break;
+#ifndef QT_NO_SHORTCUT
+ case QEvent::ShortcutOverride:{
+ QKeyEvent* ke = static_cast<QKeyEvent*>(ev);
+ if (ke == QKeySequence::Copy
+ || ke == QKeySequence::Paste
+ || ke == QKeySequence::Cut
+ || ke == QKeySequence::Redo
+ || ke == QKeySequence::Undo
+ || ke == QKeySequence::MoveToNextWord
+ || ke == QKeySequence::MoveToPreviousWord
+ || ke == QKeySequence::MoveToStartOfDocument
+ || ke == QKeySequence::MoveToEndOfDocument
+ || ke == QKeySequence::SelectNextWord
+ || ke == QKeySequence::SelectPreviousWord
+ || ke == QKeySequence::SelectStartOfLine
+ || ke == QKeySequence::SelectEndOfLine
+ || ke == QKeySequence::SelectStartOfBlock
+ || ke == QKeySequence::SelectEndOfBlock
+ || ke == QKeySequence::SelectStartOfDocument
+ || ke == QKeySequence::SelectAll
+ || ke == QKeySequence::SelectEndOfDocument) {
+ ke->accept();
+ } else if (ke->modifiers() == Qt::NoModifier || ke->modifiers() == Qt::ShiftModifier
+ || ke->modifiers() == Qt::KeypadModifier) {
+ if (ke->key() < Qt::Key_Escape) {
+ ke->accept();
+ } else {
+ switch (ke->key()) {
+ case Qt::Key_Delete:
+ case Qt::Key_Home:
+ case Qt::Key_End:
+ case Qt::Key_Backspace:
+ case Qt::Key_Left:
+ case Qt::Key_Right:
+ ke->accept();
+ default:
+ break;
+ }
+ }
+ }
+ }
+#endif
+ default:
+ return false;
+ }
+ return true;
+}
+
+void QLineControl::processMouseEvent(QMouseEvent* ev)
+{
+
+ switch (ev->type()) {
+ case QEvent::GraphicsSceneMousePress:
+ case QEvent::MouseButtonPress:{
+ if (m_tripleClickTimer
+ && (ev->pos() - m_tripleClick).manhattanLength()
+ < QApplication::startDragDistance()) {
+ selectAll();
+ return;
+ }
+ if (ev->button() == Qt::RightButton)
+ return;
+
+ bool mark = ev->modifiers() & Qt::ShiftModifier;
+ int cursor = xToPos(ev->pos().x());
+ moveCursor(cursor, mark);
+ break;
+ }
+ case QEvent::MouseButtonDblClick:
+ if (ev->button() == Qt::LeftButton) {
+ selectWordAtPos(xToPos(ev->pos().x()));
+ if (m_tripleClickTimer)
+ killTimer(m_tripleClickTimer);
+ m_tripleClickTimer = startTimer(QApplication::doubleClickInterval());
+ m_tripleClick = ev->pos();
+ }
+ break;
+ case QEvent::GraphicsSceneMouseRelease:
+ case QEvent::MouseButtonRelease:
+#ifndef QT_NO_CLIPBOARD
+ if (QApplication::clipboard()->supportsSelection()) {
+ if (ev->button() == Qt::LeftButton) {
+ copy(QClipboard::Selection);
+ } else if (!isReadOnly() && ev->button() == Qt::MidButton) {
+ deselect();
+ insert(QApplication::clipboard()->text(QClipboard::Selection));
+ }
+ }
+#endif
+ break;
+ case QEvent::GraphicsSceneMouseMove:
+ case QEvent::MouseMove:
+ if (ev->buttons() & Qt::LeftButton) {
+ moveCursor(xToPos(ev->pos().x()), true);
+ }
+ break;
+ default:
+ break;
+ }
+}
+
+void QLineControl::processKeyEvent(QKeyEvent* event)
+{
+ bool inlineCompletionAccepted = false;
+
+#ifndef QT_NO_COMPLETER
+ if (m_completer) {
+ QCompleter::CompletionMode completionMode = m_completer->completionMode();
+ if ((completionMode == QCompleter::PopupCompletion
+ || completionMode == QCompleter::UnfilteredPopupCompletion)
+ && m_completer->popup()
+ && m_completer->popup()->isVisible()) {
+ // The following keys are forwarded by the completer to the widget
+ // Ignoring the events lets the completer provide suitable default behavior
+ switch (event->key()) {
+ case Qt::Key_Escape:
+ event->ignore();
+ return;
+ case Qt::Key_Enter:
+ case Qt::Key_Return:
+ case Qt::Key_F4:
+#ifdef QT_KEYPAD_NAVIGATION
+ case Qt::Key_Select:
+ if (!QApplication::keypadNavigationEnabled())
+ break;
+#endif
+ m_completer->popup()->hide(); // just hide. will end up propagating to parent
+ default:
+ break; // normal key processing
+ }
+ } else if (completionMode == QCompleter::InlineCompletion) {
+ switch (event->key()) {
+ case Qt::Key_Enter:
+ case Qt::Key_Return:
+ case Qt::Key_F4:
+#ifdef QT_KEYPAD_NAVIGATION
+ case Qt::Key_Select:
+ if (!QApplication::keypadNavigationEnabled())
+ break;
+#endif
+ if (!m_completer->currentCompletion().isEmpty() && hasSelectedText()
+ && textAfterSelection().isEmpty()) {
+ setText(m_completer->currentCompletion());
+ inlineCompletionAccepted = true;
+ }
+ default:
+ break; // normal key processing
+ }
+ }
+ }
+#endif // QT_NO_COMPLETER
+
+ if (echoMode() == QLineEdit::PasswordEchoOnEdit
+ && !passwordEchoEditing()
+ && !isReadOnly()
+ && !event->text().isEmpty()
+#ifdef QT_KEYPAD_NAVIGATION
+ && event->key() != Qt::Key_Select
+ && event->key() != Qt::Key_Up
+ && event->key() != Qt::Key_Down
+ && event->key() != Qt::Key_Back
+#endif
+ && !(event->modifiers() & Qt::ControlModifier)) {
+ // Clear the edit and reset to normal echo mode while editing; the
+ // echo mode switches back when the edit loses focus
+ // ### resets current content. dubious code; you can
+ // navigate with keys up, down, back, and select(?), but if you press
+ // "left" or "right" it clears?
+ updatePasswordEchoEditing(true);
+ clear();
+ }
+
+ if (event->key() == Qt::Key_Enter || event->key() == Qt::Key_Return) {
+ if (hasAcceptableInput() || fixup()) {
+ emit accepted();
+ emit editingFinished();
+ }
+ if (inlineCompletionAccepted)
+ event->accept();
+ else
+ event->ignore();
+ return;
+ }
+ bool unknown = false;
+
+ if (false) {
+ }
+#ifndef QT_NO_SHORTCUT
+ else if (event == QKeySequence::Undo) {
+ if (!isReadOnly())
+ undo();
+ }
+ else if (event == QKeySequence::Redo) {
+ if (!isReadOnly())
+ redo();
+ }
+ else if (event == QKeySequence::SelectAll) {
+ selectAll();
+ }
+#ifndef QT_NO_CLIPBOARD
+ else if (event == QKeySequence::Copy) {
+ copy();
+ }
+ else if (event == QKeySequence::Paste) {
+ if (!isReadOnly())
+ paste();
+ }
+ else if (event == QKeySequence::Cut) {
+ if (!isReadOnly()) {
+ copy();
+ del();
+ }
+ }
+ else if (event == QKeySequence::DeleteEndOfLine) {
+ if (!isReadOnly()) {
+ setSelection(cursor(), end());
+ copy();
+ del();
+ }
+ }
+#endif //QT_NO_CLIPBOARD
+ else if (event == QKeySequence::MoveToStartOfLine) {
+ home(0);
+ }
+ else if (event == QKeySequence::MoveToEndOfLine) {
+ end(0);
+ }
+ else if (event == QKeySequence::SelectStartOfLine) {
+ home(1);
+ }
+ else if (event == QKeySequence::SelectEndOfLine) {
+ end(1);
+ }
+ else if (event == QKeySequence::MoveToNextChar) {
+#if !defined(Q_WS_WIN) || defined(QT_NO_COMPLETER)
+ if (hasSelectedText()) {
+#else
+ if (hasSelectedText() && m_completer
+ && m_completer->completionMode() == QCompleter::InlineCompletion) {
+#endif
+ moveCursor(selectionEnd(), false);
+ } else {
+ cursorForward(0, layoutDirection() == Qt::LeftToRight ? 1 : -1);
+ }
+ }
+ else if (event == QKeySequence::SelectNextChar) {
+ cursorForward(1, layoutDirection() == Qt::LeftToRight ? 1 : -1);
+ }
+ else if (event == QKeySequence::MoveToPreviousChar) {
+#if !defined(Q_WS_WIN) || defined(QT_NO_COMPLETER)
+ if (hasSelectedText()) {
+#else
+ if (hasSelectedText() && m_completer
+ && m_completer->completionMode() == QCompleter::InlineCompletion) {
+#endif
+ moveCursor(selectionStart(), false);
+ } else {
+ cursorForward(0, layoutDirection() == Qt::LeftToRight ? -1 : 1);
+ }
+ }
+ else if (event == QKeySequence::SelectPreviousChar) {
+ cursorForward(1, layoutDirection() == Qt::LeftToRight ? -1 : 1);
+ }
+ else if (event == QKeySequence::MoveToNextWord) {
+ if (echoMode() == QLineEdit::Normal)
+ layoutDirection() == Qt::LeftToRight ? cursorWordForward(0) : cursorWordBackward(0);
+ else
+ layoutDirection() == Qt::LeftToRight ? end(0) : home(0);
+ }
+ else if (event == QKeySequence::MoveToPreviousWord) {
+ if (echoMode() == QLineEdit::Normal)
+ layoutDirection() == Qt::LeftToRight ? cursorWordBackward(0) : cursorWordForward(0);
+ else if (!isReadOnly()) {
+ layoutDirection() == Qt::LeftToRight ? home(0) : end(0);
+ }
+ }
+ else if (event == QKeySequence::SelectNextWord) {
+ if (echoMode() == QLineEdit::Normal)
+ layoutDirection() == Qt::LeftToRight ? cursorWordForward(1) : cursorWordBackward(1);
+ else
+ layoutDirection() == Qt::LeftToRight ? end(1) : home(1);
+ }
+ else if (event == QKeySequence::SelectPreviousWord) {
+ if (echoMode() == QLineEdit::Normal)
+ layoutDirection() == Qt::LeftToRight ? cursorWordBackward(1) : cursorWordForward(1);
+ else
+ layoutDirection() == Qt::LeftToRight ? home(1) : end(1);
+ }
+ else if (event == QKeySequence::Delete) {
+ if (!isReadOnly())
+ del();
+ }
+ else if (event == QKeySequence::DeleteEndOfWord) {
+ if (!isReadOnly()) {
+ cursorWordForward(true);
+ del();
+ }
+ }
+ else if (event == QKeySequence::DeleteStartOfWord) {
+ if (!isReadOnly()) {
+ cursorWordBackward(true);
+ del();
+ }
+ }
+#endif // QT_NO_SHORTCUT
+ else {
+#ifdef Q_WS_MAC
+ if (event->key() == Qt::Key_Up || event->key() == Qt::Key_Down) {
+ Qt::KeyboardModifiers myModifiers = (event->modifiers() & ~Qt::KeypadModifier);
+ if (myModifiers & Qt::ShiftModifier) {
+ if (myModifiers == (Qt::ControlModifier|Qt::ShiftModifier)
+ || myModifiers == (Qt::AltModifier|Qt::ShiftModifier)
+ || myModifiers == Qt::ShiftModifier) {
+
+ event->key() == Qt::Key_Up ? home(1) : end(1);
+ }
+ } else {
+ if ((myModifiers == Qt::ControlModifier
+ || myModifiers == Qt::AltModifier
+ || myModifiers == Qt::NoModifier)) {
+ event->key() == Qt::Key_Up ? home(0) : end(0);
+ }
+ }
+ }
+#endif
+ if (event->modifiers() & Qt::ControlModifier) {
+ switch (event->key()) {
+ case Qt::Key_Backspace:
+ if (!isReadOnly()) {
+ cursorWordBackward(true);
+ del();
+ }
+ break;
+#ifndef QT_NO_COMPLETER
+ case Qt::Key_Up:
+ case Qt::Key_Down:
+ complete(event->key());
+ break;
+#endif
+#if defined(Q_WS_X11)
+ case Qt::Key_E:
+ end(0);
+ break;
+
+ case Qt::Key_U:
+ if (!isReadOnly()) {
+ setSelection(0, text().size());
+#ifndef QT_NO_CLIPBOARD
+ copy();
+#endif
+ del();
+ }
+ break;
+#endif
+ default:
+ unknown = true;
+ }
+ } else { // ### check for *no* modifier
+ switch (event->key()) {
+ case Qt::Key_Backspace:
+ if (!isReadOnly()) {
+ backspace();
+#ifndef QT_NO_COMPLETER
+ complete(Qt::Key_Backspace);
+#endif
+ }
+ break;
+#ifdef QT_KEYPAD_NAVIGATION
+ case Qt::Key_Back:
+ if (QApplication::keypadNavigationEnabled() && !event->isAutoRepeat()
+ && !isReadOnly()) {
+ if (text().length() == 0) {
+ setText(m_cancelText);
+
+ if (passwordEchoEditing())
+ updatePasswordEchoEditing(false);
+
+ // ### TODO this needs to be fixed.
+ // setEditFocus(false);
+ } else if (!m_deleteAllTimer) {
+ m_deleteAllTimer = startTimer(750);
+ }
+ } else {
+ unknown = true;
+ }
+ break;
+#endif
+
+ default:
+ unknown = true;
+ }
+ }
+ }
+
+ if (event->key() == Qt::Key_Direction_L || event->key() == Qt::Key_Direction_R) {
+ setLayoutDirection((event->key() == Qt::Key_Direction_L) ? Qt::LeftToRight : Qt::RightToLeft);
+ unknown = false;
+ }
+
+ if (unknown && !isReadOnly()) {
+ QString t = event->text();
+ if (!t.isEmpty() && t.at(0).isPrint()) {
+ insert(t);
+#ifndef QT_NO_COMPLETER
+ complete(event->key());
+#endif
+ event->accept();
+ return;
+ }
+ }
+
+ if (unknown)
+ event->ignore();
+ else
+ event->accept();
+}
+
+
+QT_END_NAMESPACE
+
+#endif
diff --git a/src/gui/widgets/qlinecontrol_p.h b/src/gui/widgets/qlinecontrol_p.h
new file mode 100644
index 0000000..9cad857
--- /dev/null
+++ b/src/gui/widgets/qlinecontrol_p.h
@@ -0,0 +1,741 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtGui module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QLINECONTROL_P_H
+#define QLINECONTROL_P_H
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
+#include "QtCore/qglobal.h"
+
+#ifndef QT_NO_LINEEDIT
+#include "private/qwidget_p.h"
+#include "QtGui/qlineedit.h"
+#include "QtGui/qtextlayout.h"
+#include "QtGui/qstyleoption.h"
+#include "QtCore/qpointer.h"
+#include "QtGui/qlineedit.h"
+#include "QtGui/qclipboard.h"
+#include "QtCore/qpoint.h"
+#include "QtGui/qcompleter.h"
+
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+QT_MODULE(Gui)
+
+class Q_GUI_EXPORT QLineControl : public QObject
+{
+ Q_OBJECT
+
+public:
+ QLineControl(const QString &txt = QString())
+ : m_cursor(0), m_preeditCursor(0), m_layoutDirection(Qt::LeftToRight),
+ m_hideCursor(false), m_separator(0), m_readOnly(0),
+ m_dragEnabled(0), m_echoMode(0), m_textDirty(0), m_selDirty(0),
+ m_validInput(1), m_blinkPeriod(0), m_blinkTimer(0), m_deleteAllTimer(0),
+ m_ascent(0), m_maxLength(32767), m_lastCursorPos(-1),
+ m_tripleClickTimer(0), m_maskData(0), m_modifiedState(0), m_undoState(0),
+ m_selstart(0), m_selend(0), m_passwordEchoEditing(false)
+ {
+ init(txt);
+ }
+
+ ~QLineControl()
+ {
+ delete [] m_maskData;
+ }
+
+ int nextMaskBlank(int pos);
+ int prevMaskBlank(int pos);
+
+ bool isUndoAvailable() const;
+ bool isRedoAvailable() const;
+ void clearUndo();
+ bool isModified() const;
+ void setModified(bool modified);
+
+ bool allSelected() const;
+ bool hasSelectedText() const;
+
+ int width() const;
+ int height() const;
+ int ascent() const;
+
+ void setSelection(int start, int length);
+
+ QString selectedText() const;
+ QString textBeforeSelection() const;
+ QString textAfterSelection() const;
+
+ int selectionStart() const;
+ int selectionEnd() const;
+ bool inSelection(int x) const;
+
+ void removeSelection();
+
+ int start() const;
+ int end() const;
+
+#ifndef QT_NO_CLIPBOARD
+ void copy(QClipboard::Mode mode = QClipboard::Clipboard) const;
+ void paste();
+#endif
+
+ int cursor() const;
+ int preeditCursor() const;
+
+ int cursorWidth() const;
+ void setCursorWidth(int value);
+
+ void moveCursor(int pos, bool mark = false);
+ void cursorForward(bool mark, int steps);
+ void cursorWordForward(bool mark);
+ void cursorWordBackward(bool mark);
+ void home(bool mark);
+ void end(bool mark);
+
+ int xToPos(int x, QTextLine::CursorPosition = QTextLine::CursorBetweenCharacters) const;
+ QRect cursorRect() const;
+
+ qreal cursorToX(int cursor) const;
+ qreal cursorToX() const;
+
+ bool isReadOnly() const;
+ void setReadOnly(bool enable);
+
+ QString text() const;
+ void setText(const QString &txt);
+
+ QString displayText() const;
+
+ void backspace();
+ void del();
+ void deselect();
+ void selectAll();
+ void insert(const QString &);
+ void clear();
+ void undo();
+ void redo();
+ void selectWordAtPos(int);
+
+ uint echoMode() const;
+ void setEchoMode(uint mode);
+
+ void setMaxLength(int maxLength);
+ int maxLength() const;
+
+ const QValidator *validator() const;
+ void setValidator(const QValidator *);
+
+#ifndef QT_NO_COMPLETER
+ QCompleter *completer() const;
+ void setCompleter(const QCompleter*);
+ void complete(int key);
+#endif
+
+ void setCursorPosition(int pos);
+ int cursorPosition() const;
+
+ bool hasAcceptableInput() const;
+ bool fixup();
+
+ QString inputMask() const;
+ void setInputMask(const QString &mask);
+
+ // input methods
+#ifndef QT_NO_IM
+ bool composeMode() const;
+ void setPreeditArea(int cursor, const QString &text);
+#endif
+
+ QString preeditAreaText() const;
+
+ void updatePasswordEchoEditing(bool editing);
+ bool passwordEchoEditing() const;
+
+ QChar passwordCharacter() const;
+ void setPasswordCharacter(const QChar &character);
+
+ Qt::LayoutDirection layoutDirection() const;
+ void setLayoutDirection(Qt::LayoutDirection direction);
+ void setFont(const QFont &font);
+
+ void processInputMethodEvent(QInputMethodEvent *event);
+ void processMouseEvent(QMouseEvent* ev);
+ void processKeyEvent(QKeyEvent* ev);
+
+ int cursorBlinkPeriod() const;
+ void setCursorBlinkPeriod(int msec);
+
+ QString cancelText() const;
+ void setCancelText(const QString &text);
+
+ enum DrawFlags {
+ DrawText = 0x01,
+ DrawSelections = 0x02,
+ DrawCursor = 0x04,
+ DrawAll = DrawText | DrawSelections | DrawCursor
+ };
+ void draw(QPainter *, const QPoint &, const QRect &, int flags = DrawAll);
+
+ bool processEvent(QEvent *ev);
+
+private:
+ void init(const QString &txt);
+ void removeSelectedText();
+ void internalSetText(const QString &txt, int pos = -1, bool edited = true);
+ void updateDisplayText();
+
+ void internalInsert(const QString &s);
+ void internalDelete(bool wasBackspace = false);
+ void internalRemove(int pos);
+
+ inline void internalDeselect()
+ {
+ m_selDirty |= (m_selend > m_selstart);
+ m_selstart = m_selend = 0;
+ }
+
+ void internalUndo(int until = -1);
+ void internalRedo();
+
+ QString m_text;
+ QPalette m_palette;
+ int m_cursor;
+ int m_preeditCursor;
+ int m_cursorWidth;
+ Qt::LayoutDirection m_layoutDirection;
+ uint m_hideCursor : 1; // used to hide the m_cursor inside preedit areas
+ uint m_separator : 1;
+ uint m_readOnly : 1;
+ uint m_dragEnabled : 1;
+ uint m_echoMode : 2;
+ uint m_textDirty : 1;
+ uint m_selDirty : 1;
+ uint m_validInput : 1;
+ int m_blinkPeriod; // 0 for non-blinking cursor
+ int m_blinkTimer;
+ int m_deleteAllTimer;
+ int m_blinkStatus;
+ int m_ascent;
+ int m_maxLength;
+ int m_lastCursorPos;
+ QList<int> m_transactions;
+ QPoint m_tripleClick;
+ int m_tripleClickTimer;
+ QString m_cancelText;
+
+ void emitCursorPositionChanged();
+
+ bool finishChange(int validateFromState = -1, bool update = false, bool edited = true);
+
+ QPointer<QValidator> m_validator;
+ QPointer<QCompleter> m_completer;
+#ifndef QT_NO_COMPLETER
+ bool advanceToEnabledItem(int dir);
+#endif
+
+ struct MaskInputData {
+ enum Casemode { NoCaseMode, Upper, Lower };
+ QChar maskChar; // either the separator char or the inputmask
+ bool separator;
+ Casemode caseMode;
+ };
+ QString m_inputMask;
+ QChar m_blank;
+ MaskInputData *m_maskData;
+
+ // undo/redo handling
+ enum CommandType { Separator, Insert, Remove, Delete, RemoveSelection, DeleteSelection, SetSelection };
+ struct Command {
+ inline Command() {}
+ inline Command(CommandType t, int p, QChar c, int ss, int se) : type(t),uc(c),pos(p),selStart(ss),selEnd(se) {}
+ uint type : 4;
+ QChar uc;
+ int pos, selStart, selEnd;
+ };
+ int m_modifiedState;
+ int m_undoState;
+ QVector<Command> m_history;
+ void addCommand(const Command& cmd);
+
+ inline void separate() { m_separator = true; }
+
+ // selection
+ int m_selstart;
+ int m_selend;
+
+ // masking
+ void parseInputMask(const QString &maskFields);
+ bool isValidInput(QChar key, QChar mask) const;
+ bool hasAcceptableInput(const QString &text) const;
+ QString maskString(uint pos, const QString &str, bool clear = false) const;
+ QString clearString(uint pos, uint len) const;
+ QString stripString(const QString &str) const;
+ int findInMask(int pos, bool forward, bool findSeparator, QChar searchChar = QChar()) const;
+
+ // complex text layout
+ QTextLayout m_textLayout;
+
+ bool m_passwordEchoEditing;
+ QChar m_passwordCharacter;
+
+Q_SIGNALS:
+ void cursorPositionChanged(int, int);
+ void selectionChanged();
+
+ void displayTextChanged(const QString &);
+ void textChanged(const QString &);
+ void textEdited(const QString &);
+
+ void resetInputContext();
+
+ void accepted();
+ void editingFinished();
+ void updateNeeded(const QRect &);
+
+protected:
+ virtual void timerEvent(QTimerEvent *event);
+
+private slots:
+ void _q_clipboardChanged();
+ void _q_deleteSelected();
+
+};
+
+inline int QLineControl::nextMaskBlank(int pos)
+{
+ int c = findInMask(pos, true, false);
+ m_separator |= (c != pos);
+ return (c != -1 ? c : m_maxLength);
+}
+
+inline int QLineControl::prevMaskBlank(int pos)
+{
+ int c = findInMask(pos, false, false);
+ m_separator |= (c != pos);
+ return (c != -1 ? c : 0);
+}
+
+inline bool QLineControl::isUndoAvailable() const
+{
+ return !m_readOnly && m_undoState;
+}
+
+inline bool QLineControl::isRedoAvailable() const
+{
+ return !m_readOnly && m_undoState < (int)m_history.size();
+}
+
+inline void QLineControl::clearUndo()
+{
+ m_history.clear();
+ m_modifiedState = m_undoState = 0;
+}
+
+inline bool QLineControl::isModified() const
+{
+ return m_modifiedState != m_undoState;
+}
+
+inline void QLineControl::setModified(bool modified)
+{
+ m_modifiedState = modified ? -1 : m_undoState;
+}
+
+inline bool QLineControl::allSelected() const
+{
+ return !m_text.isEmpty() && m_selstart == 0 && m_selend == (int)m_text.length();
+}
+
+inline bool QLineControl::hasSelectedText() const
+{
+ return !m_text.isEmpty() && m_selend > m_selstart;
+}
+
+inline int QLineControl::width() const
+{
+ return qRound(m_textLayout.lineAt(0).width()) + 1;
+}
+
+inline int QLineControl::height() const
+{
+ return qRound(m_textLayout.lineAt(0).height()) + 1;
+}
+
+inline int QLineControl::ascent() const
+{
+ return m_ascent;
+}
+
+inline QString QLineControl::selectedText() const
+{
+ if (hasSelectedText())
+ return m_text.mid(m_selstart, m_selend - m_selstart);
+ return QString();
+}
+
+inline QString QLineControl::textBeforeSelection() const
+{
+ if (hasSelectedText())
+ return m_text.left(m_selstart);
+ return QString();
+}
+
+inline QString QLineControl::textAfterSelection() const
+{
+ if (hasSelectedText())
+ return m_text.mid(m_selend);
+ return QString();
+}
+
+inline int QLineControl::selectionStart() const
+{
+ return hasSelectedText() ? m_selstart : -1;
+}
+
+inline int QLineControl::selectionEnd() const
+{
+ return hasSelectedText() ? m_selend : -1;
+}
+
+inline int QLineControl::start() const
+{
+ return 0;
+}
+
+inline int QLineControl::end() const
+{
+ return m_text.length();
+}
+
+inline void QLineControl::removeSelection()
+{
+ int priorState = m_undoState;
+ removeSelectedText();
+ finishChange(priorState);
+}
+
+inline bool QLineControl::inSelection(int x) const
+{
+ if (m_selstart >= m_selend)
+ return false;
+ int pos = xToPos(x, QTextLine::CursorOnCharacter);
+ return pos >= m_selstart && pos < m_selend;
+}
+
+inline int QLineControl::cursor() const
+{
+ return m_cursor;
+}
+
+inline int QLineControl::preeditCursor() const
+{
+ return m_preeditCursor;
+}
+
+inline int QLineControl::cursorWidth() const
+{
+ return m_cursorWidth;
+}
+
+inline void QLineControl::setCursorWidth(int value)
+{
+ m_cursorWidth = value;
+}
+
+inline void QLineControl::cursorForward(bool mark, int steps)
+{
+ int c = m_cursor;
+ if (steps > 0) {
+ while (steps--)
+ c = m_textLayout.nextCursorPosition(c);
+ } else if (steps < 0) {
+ while (steps++)
+ c = m_textLayout.previousCursorPosition(c);
+ }
+ moveCursor(c, mark);
+}
+
+inline void QLineControl::cursorWordForward(bool mark)
+{
+ moveCursor(m_textLayout.nextCursorPosition(m_cursor, QTextLayout::SkipWords), mark);
+}
+
+inline void QLineControl::home(bool mark)
+{
+ moveCursor(0, mark);
+}
+
+inline void QLineControl::end(bool mark)
+{
+ moveCursor(text().length(), mark);
+}
+
+inline void QLineControl::cursorWordBackward(bool mark)
+{
+ moveCursor(m_textLayout.previousCursorPosition(m_cursor, QTextLayout::SkipWords), mark);
+}
+
+inline qreal QLineControl::cursorToX(int cursor) const
+{
+ return m_textLayout.lineAt(0).cursorToX(cursor);
+}
+
+inline qreal QLineControl::cursorToX() const
+{
+ return cursorToX(m_cursor);
+}
+
+inline bool QLineControl::isReadOnly() const
+{
+ return m_readOnly;
+}
+
+inline void QLineControl::setReadOnly(bool enable)
+{
+ m_readOnly = enable;
+}
+
+inline QString QLineControl::text() const
+{
+ QString res = m_maskData ? stripString(m_text) : m_text;
+ return (res.isNull() ? QString::fromLatin1("") : res);
+}
+
+inline void QLineControl::setText(const QString &txt)
+{
+ internalSetText(txt, -1, false);
+}
+
+inline QString QLineControl::displayText() const
+{
+ return m_textLayout.text();
+}
+
+inline void QLineControl::deselect()
+{
+ internalDeselect();
+ finishChange();
+}
+
+inline void QLineControl::selectAll()
+{
+ m_selstart = m_selend = m_cursor = 0;
+ moveCursor(m_text.length(), true);
+}
+
+inline void QLineControl::undo()
+{
+ internalUndo();
+ finishChange(-1, true);
+}
+
+inline void QLineControl::redo()
+{
+ internalRedo();
+ finishChange();
+}
+
+inline uint QLineControl::echoMode() const
+{
+ return m_echoMode;
+}
+
+inline void QLineControl::setEchoMode(uint mode)
+{
+ m_echoMode = mode;
+ m_passwordEchoEditing = false;
+ updateDisplayText();
+}
+
+inline void QLineControl::setMaxLength(int maxLength)
+{
+ if (m_maskData)
+ return;
+ m_maxLength = maxLength;
+ setText(m_text);
+}
+
+inline int QLineControl::maxLength() const
+{
+ return m_maxLength;
+}
+
+inline const QValidator *QLineControl::validator() const
+{
+ return m_validator;
+}
+
+inline void QLineControl::setValidator(const QValidator *v)
+{
+ m_validator = const_cast<QValidator*>(v);
+}
+
+#ifndef QT_NO_COMPLETER
+inline QCompleter *QLineControl::completer() const
+{
+ return m_completer;
+}
+
+/* Note that you must set the widget for the completer seperately */
+inline void QLineControl::setCompleter(const QCompleter* c)
+{
+ m_completer = const_cast<QCompleter*>(c);
+}
+#endif
+
+inline void QLineControl::setCursorPosition(int pos)
+{
+ if (pos < 0)
+ pos = 0;
+ if (pos < m_text.length())
+ moveCursor(pos);
+}
+
+inline int QLineControl::cursorPosition() const
+{
+ return m_cursor;
+}
+
+inline bool QLineControl::hasAcceptableInput() const
+{
+ return hasAcceptableInput(m_text);
+}
+
+inline QString QLineControl::inputMask() const
+{
+ return m_maskData ? m_inputMask + QLatin1Char(';') + m_blank : QString();
+}
+
+inline void QLineControl::setInputMask(const QString &mask)
+{
+ parseInputMask(mask);
+ if (m_maskData)
+ moveCursor(nextMaskBlank(0));
+}
+
+// input methods
+#ifndef QT_NO_IM
+inline bool QLineControl::composeMode() const
+{
+ return !m_textLayout.preeditAreaText().isEmpty();
+}
+
+inline void QLineControl::setPreeditArea(int cursor, const QString &text)
+{
+ m_textLayout.setPreeditArea(cursor, text);
+}
+#endif
+
+inline QString QLineControl::preeditAreaText() const
+{
+ return m_textLayout.preeditAreaText();
+}
+
+inline bool QLineControl::passwordEchoEditing() const
+{
+ return m_passwordEchoEditing;
+}
+
+inline QChar QLineControl::passwordCharacter() const
+{
+ return m_passwordCharacter;
+}
+
+inline void QLineControl::setPasswordCharacter(const QChar &character)
+{
+ m_passwordCharacter = character;
+ updateDisplayText();
+}
+
+inline Qt::LayoutDirection QLineControl::layoutDirection() const
+{
+ return m_layoutDirection;
+}
+
+inline void QLineControl::setLayoutDirection(Qt::LayoutDirection direction)
+{
+ if (direction != m_layoutDirection) {
+ m_layoutDirection = direction;
+ updateDisplayText();
+ }
+}
+
+inline void QLineControl::setFont(const QFont &font)
+{
+ m_textLayout.setFont(font);
+ updateDisplayText();
+}
+
+inline int QLineControl::cursorBlinkPeriod() const
+{
+ return m_blinkPeriod;
+}
+
+inline QString QLineControl::cancelText() const
+{
+ return m_cancelText;
+}
+
+inline void QLineControl::setCancelText(const QString &text)
+{
+ m_cancelText = text;
+}
+
+QT_END_NAMESPACE
+
+QT_END_HEADER
+
+#endif // QT_NO_LINEEDIT
+
+#endif // QLINECONTROL_P_H
diff --git a/src/gui/widgets/qlineedit.cpp b/src/gui/widgets/qlineedit.cpp
index 4d69a9f..8ab30fa 100644
--- a/src/gui/widgets/qlineedit.cpp
+++ b/src/gui/widgets/qlineedit.cpp
@@ -86,20 +86,12 @@
#include <limits.h>
-#define verticalMargin 1
-#define horizontalMargin 2
-
QT_BEGIN_NAMESPACE
#ifdef Q_WS_MAC
extern void qt_mac_secure_keyboard(bool); //qapplication_mac.cpp
#endif
-static inline bool shouldEnableInputMethod(QLineEdit *lineedit)
-{
- return !lineedit->isReadOnly();
-}
-
/*!
Initialize \a option with the values from this QLineEdit. This method
is useful for subclasses when they need a QStyleOptionFrame or QStyleOptionFrameV2, but don't want
@@ -121,7 +113,7 @@ void QLineEdit::initStyleOption(QStyleOptionFrame *option) const
: 0;
option->midLineWidth = 0;
option->state |= QStyle::State_Sunken;
- if (d->readOnly)
+ if (d->control->isReadOnly())
option->state |= QStyle::State_ReadOnly;
#ifdef QT_KEYPAD_NAVIGATION
if (hasEditFocus())
@@ -349,14 +341,9 @@ QLineEdit::QLineEdit(const QString& contents, const QString &inputMask, QWidget*
{
Q_D(QLineEdit);
setObjectName(QString::fromAscii(name));
- d->parseInputMask(inputMask);
- if (d->maskData) {
- QString ms = d->maskString(0, contents);
- d->init(ms + d->clearString(ms.length(), d->maxLength - ms.length()));
- d->cursor = d->nextMaskBlank(ms.length());
- } else {
- d->init(contents);
- }
+ d->init(contents);
+ d->control->setInputMask(inputMask);
+ d->control->moveCursor(d->control->nextMaskBlank(contents.length()));
}
#endif
@@ -387,19 +374,13 @@ QLineEdit::~QLineEdit()
QString QLineEdit::text() const
{
Q_D(const QLineEdit);
- QString res = d->text;
- if (d->maskData)
- res = d->stripString(d->text);
- return (res.isNull() ? QString::fromLatin1("") : res);
+ return d->control->text();
}
void QLineEdit::setText(const QString& text)
{
Q_D(QLineEdit);
- d->setText(text, -1, false);
-#ifdef QT_KEYPAD_NAVIGATION
- d->origText = d->text;
-#endif
+ d->control->setText(text);
}
@@ -420,17 +401,7 @@ void QLineEdit::setText(const QString& text)
QString QLineEdit::displayText() const
{
Q_D(const QLineEdit);
- if (d->echoMode == NoEcho)
- return QString::fromLatin1("");
- QString res = d->text;
-
- if (d->echoMode == Password || (d->echoMode == PasswordEchoOnEdit
- && !d->passwordEchoEditing)) {
- QStyleOptionFrameV2 opt;
- initStyleOption(&opt);
- res.fill(style()->styleHint(QStyle::SH_LineEdit_PasswordCharacter, &opt, this));
- }
- return (res.isNull() ? QString::fromLatin1("") : res);
+ return d->control->displayText();
}
@@ -455,20 +426,15 @@ QString QLineEdit::displayText() const
int QLineEdit::maxLength() const
{
Q_D(const QLineEdit);
- return d->maxLength;
+ return d->control->maxLength();
}
void QLineEdit::setMaxLength(int maxLength)
{
Q_D(QLineEdit);
- if (d->maskData)
- return;
- d->maxLength = maxLength;
- setText(d->text);
+ d->control->setMaxLength(maxLength);
}
-
-
/*!
\property QLineEdit::frame
\brief whether the line edit draws itself with a frame
@@ -535,13 +501,13 @@ void QLineEdit::setFrame(bool enable)
QLineEdit::EchoMode QLineEdit::echoMode() const
{
Q_D(const QLineEdit);
- return (EchoMode) d->echoMode;
+ return (EchoMode) d->control->echoMode();
}
void QLineEdit::setEchoMode(EchoMode mode)
{
Q_D(QLineEdit);
- if (mode == (EchoMode)d->echoMode)
+ if (mode == (EchoMode)d->control->echoMode())
return;
Qt::InputMethodHints imHints = inputMethodHints();
if (mode == Password) {
@@ -550,13 +516,11 @@ void QLineEdit::setEchoMode(EchoMode mode)
imHints &= ~Qt::ImhHiddenText;
}
setInputMethodHints(imHints);
- d->echoMode = mode;
- d->passwordEchoEditing = false;
- d->updateTextLayout();
+ d->control->setEchoMode(mode);
update();
#ifdef Q_WS_MAC
if (hasFocus())
- qt_mac_secure_keyboard(d->echoMode == Password || d->echoMode == NoEcho);
+ qt_mac_secure_keyboard(mode == Password || mode == NoEcho);
#endif
}
@@ -572,7 +536,7 @@ void QLineEdit::setEchoMode(EchoMode mode)
const QValidator * QLineEdit::validator() const
{
Q_D(const QLineEdit);
- return d->validator;
+ return d->control->validator();
}
/*!
@@ -590,7 +554,7 @@ const QValidator * QLineEdit::validator() const
void QLineEdit::setValidator(const QValidator *v)
{
Q_D(QLineEdit);
- d->validator = const_cast<QValidator*>(v);
+ d->control->setValidator(v);
}
#endif // QT_NO_VALIDATOR
@@ -614,23 +578,23 @@ void QLineEdit::setValidator(const QValidator *v)
void QLineEdit::setCompleter(QCompleter *c)
{
Q_D(QLineEdit);
- if (c == d->completer)
+ if (c == d->control->completer())
return;
- if (d->completer) {
- disconnect(d->completer, 0, this, 0);
- d->completer->setWidget(0);
- if (d->completer->parent() == this)
- delete d->completer;
+ if (d->control->completer()) {
+ disconnect(d->control->completer(), 0, this, 0);
+ d->control->completer()->setWidget(0);
+ if (d->control->completer()->parent() == this)
+ delete d->control->completer();
}
- d->completer = c;
+ d->control->setCompleter(c);
if (!c)
return;
if (c->widget() == 0)
c->setWidget(this);
if (hasFocus()) {
- QObject::connect(d->completer, SIGNAL(activated(QString)),
+ QObject::connect(d->control->completer(), SIGNAL(activated(QString)),
this, SLOT(setText(QString)));
- QObject::connect(d->completer, SIGNAL(highlighted(QString)),
+ QObject::connect(d->control->completer(), SIGNAL(highlighted(QString)),
this, SLOT(_q_completionHighlighted(QString)));
}
}
@@ -643,83 +607,9 @@ void QLineEdit::setCompleter(QCompleter *c)
QCompleter *QLineEdit::completer() const
{
Q_D(const QLineEdit);
- return d->completer;
-}
-
-// looks for an enabled item iterating forward(dir=1)/backward(dir=-1) from the
-// current row based. dir=0 indicates a new completion prefix was set.
-bool QLineEditPrivate::advanceToEnabledItem(int dir)
-{
- int start = completer->currentRow();
- if (start == -1)
- return false;
- int i = start + dir;
- if (dir == 0) dir = 1;
- do {
- if (!completer->setCurrentRow(i)) {
- if (!completer->wrapAround())
- break;
- i = i > 0 ? 0 : completer->completionCount() - 1;
- } else {
- QModelIndex currentIndex = completer->currentIndex();
- if (completer->completionModel()->flags(currentIndex) & Qt::ItemIsEnabled)
- return true;
- i += dir;
- }
- } while (i != start);
-
- completer->setCurrentRow(start); // restore
- return false;
-}
-
-void QLineEditPrivate::complete(int key)
-{
- if (!completer || readOnly || echoMode != QLineEdit::Normal)
- return;
-
- if (completer->completionMode() == QCompleter::InlineCompletion) {
- if (key == Qt::Key_Backspace)
- return;
- int n = 0;
- if (key == Qt::Key_Up || key == Qt::Key_Down) {
- if (selend != 0 && selend != text.length())
- return;
- QString prefix = hasSelectedText() ? text.left(selstart) : text;
- if (text.compare(completer->currentCompletion(), completer->caseSensitivity()) != 0
- || prefix.compare(completer->completionPrefix(), completer->caseSensitivity()) != 0) {
- completer->setCompletionPrefix(prefix);
- } else {
- n = (key == Qt::Key_Up) ? -1 : +1;
- }
- } else {
- completer->setCompletionPrefix(text);
- }
- if (!advanceToEnabledItem(n))
- return;
- } else {
-#ifndef QT_KEYPAD_NAVIGATION
- if (text.isEmpty()) {
- completer->popup()->hide();
- return;
- }
-#endif
- completer->setCompletionPrefix(text);
- }
-
- completer->complete();
+ return d->control->completer();
}
-void QLineEditPrivate::_q_completionHighlighted(QString newText)
-{
- Q_Q(QLineEdit);
- if (completer->completionMode() != QCompleter::InlineCompletion)
- q->setText(newText);
- else {
- int c = cursor;
- q->setText(text.left(c) + newText.mid(c));
- q->setSelection(text.length(), c - newText.length());
- }
-}
#endif // QT_NO_COMPLETER
/*!
@@ -734,10 +624,10 @@ QSize QLineEdit::sizeHint() const
Q_D(const QLineEdit);
ensurePolished();
QFontMetrics fm(font());
- int h = qMax(fm.lineSpacing(), 14) + 2*verticalMargin
+ int h = qMax(fm.lineSpacing(), 14) + 2*d->verticalMargin
+ d->topTextMargin + d->bottomTextMargin
+ d->topmargin + d->bottommargin;
- int w = fm.width(QLatin1Char('x')) * 17 + 2*horizontalMargin
+ int w = fm.width(QLatin1Char('x')) * 17 + 2*d->horizontalMargin
+ d->leftTextMargin + d->rightTextMargin
+ d->leftmargin + d->rightmargin; // "some"
QStyleOptionFrameV2 opt;
@@ -758,7 +648,7 @@ QSize QLineEdit::minimumSizeHint() const
Q_D(const QLineEdit);
ensurePolished();
QFontMetrics fm = fontMetrics();
- int h = fm.height() + qMax(2*verticalMargin, fm.leading())
+ int h = fm.height() + qMax(2*d->verticalMargin, fm.leading())
+ d->topmargin + d->bottommargin;
int w = fm.maxWidth() + d->leftmargin + d->rightmargin;
QStyleOptionFrameV2 opt;
@@ -780,17 +670,13 @@ QSize QLineEdit::minimumSizeHint() const
int QLineEdit::cursorPosition() const
{
Q_D(const QLineEdit);
- return d->cursor;
+ return d->control->cursorPosition();
}
void QLineEdit::setCursorPosition(int pos)
{
Q_D(QLineEdit);
- if (pos < 0)
- pos = 0;
-
- if (pos <= d->text.length())
- d->moveCursor(pos);
+ d->control->setCursorPosition(pos);
}
/*!
@@ -812,22 +698,17 @@ int QLineEdit::cursorPositionAt(const QPoint &pos)
bool QLineEdit::validateAndSet(const QString &newText, int newPos,
int newMarkAnchor, int newMarkDrag)
{
- Q_D(QLineEdit);
- int priorState = d->undoState;
- d->selstart = 0;
- d->selend = d->text.length();
- d->removeSelectedText();
- d->insert(newText);
- d->finishChange(priorState);
- if (d->undoState > priorState) {
- d->cursor = newPos;
- d->selstart = qMin(newMarkAnchor, newMarkDrag);
- d->selend = qMax(newMarkAnchor, newMarkDrag);
- update();
- d->emitCursorPositionChanged();
- return true;
+ // The suggested functions above in the docs don't seem to validate,
+ // below code tries to mimic previous behaviour.
+ QString oldText = text();
+ setText(newText);
+ if(!hasAcceptableInput()){
+ setText(oldText);
+ return false;
}
- return false;
+ setCursorPosition(newPos);
+ setSelection(qMin(newMarkAnchor, newMarkDrag), qAbs(newMarkAnchor - newMarkDrag));
+ return true;
}
#endif //QT3_SUPPORT
@@ -868,15 +749,7 @@ void QLineEdit::setAlignment(Qt::Alignment alignment)
void QLineEdit::cursorForward(bool mark, int steps)
{
Q_D(QLineEdit);
- int cursor = d->cursor;
- if (steps > 0) {
- while(steps--)
- cursor = d->textLayout.nextCursorPosition(cursor);
- } else if (steps < 0) {
- while (steps++)
- cursor = d->textLayout.previousCursorPosition(cursor);
- }
- d->moveCursor(cursor, mark);
+ d->control->cursorForward(mark, steps);
}
@@ -901,7 +774,7 @@ void QLineEdit::cursorBackward(bool mark, int steps)
void QLineEdit::cursorWordForward(bool mark)
{
Q_D(QLineEdit);
- d->moveCursor(d->textLayout.nextCursorPosition(d->cursor, QTextLayout::SkipWords), mark);
+ d->control->cursorWordForward(mark);
}
/*!
@@ -914,7 +787,7 @@ void QLineEdit::cursorWordForward(bool mark)
void QLineEdit::cursorWordBackward(bool mark)
{
Q_D(QLineEdit);
- d->moveCursor(d->textLayout.previousCursorPosition(d->cursor, QTextLayout::SkipWords), mark);
+ d->control->cursorWordBackward(mark);
}
@@ -929,26 +802,7 @@ void QLineEdit::cursorWordBackward(bool mark)
void QLineEdit::backspace()
{
Q_D(QLineEdit);
- int priorState = d->undoState;
- if (d->hasSelectedText()) {
- d->removeSelectedText();
- } else if (d->cursor) {
- --d->cursor;
- if (d->maskData)
- d->cursor = d->prevMaskBlank(d->cursor);
- QChar uc = d->text.at(d->cursor);
- if (d->cursor > 0 && uc.unicode() >= 0xdc00 && uc.unicode() < 0xe000) {
- // second half of a surrogate, check if we have the first half as well,
- // if yes delete both at once
- uc = d->text.at(d->cursor - 1);
- if (uc.unicode() >= 0xd800 && uc.unicode() < 0xdc00) {
- d->del(true);
- --d->cursor;
- }
- }
- d->del(true);
- }
- d->finishChange(priorState);
+ d->control->backspace();
}
/*!
@@ -962,15 +816,7 @@ void QLineEdit::backspace()
void QLineEdit::del()
{
Q_D(QLineEdit);
- int priorState = d->undoState;
- if (d->hasSelectedText()) {
- d->removeSelectedText();
- } else {
- int n = d->textLayout.nextCursorPosition(d->cursor) - d->cursor;
- while (n--)
- d->del();
- }
- d->finishChange(priorState);
+ d->control->del();
}
/*!
@@ -985,7 +831,7 @@ void QLineEdit::del()
void QLineEdit::home(bool mark)
{
Q_D(QLineEdit);
- d->moveCursor(0, mark);
+ d->control->home(mark);
}
/*!
@@ -1000,7 +846,7 @@ void QLineEdit::home(bool mark)
void QLineEdit::end(bool mark)
{
Q_D(QLineEdit);
- d->moveCursor(d->text.length(), mark);
+ d->control->end(mark);
}
@@ -1025,16 +871,13 @@ void QLineEdit::end(bool mark)
bool QLineEdit::isModified() const
{
Q_D(const QLineEdit);
- return d->modifiedState != d->undoState;
+ return d->control->isModified();
}
void QLineEdit::setModified(bool modified)
{
Q_D(QLineEdit);
- if (modified)
- d->modifiedState = -1;
- else
- d->modifiedState = d->undoState;
+ d->control->setModified(modified);
}
@@ -1062,7 +905,7 @@ Use setModified(false) instead.
bool QLineEdit::hasSelectedText() const
{
Q_D(const QLineEdit);
- return d->hasSelectedText();
+ return d->control->hasSelectedText();
}
/*!
@@ -1080,9 +923,7 @@ bool QLineEdit::hasSelectedText() const
QString QLineEdit::selectedText() const
{
Q_D(const QLineEdit);
- if (d->hasSelectedText())
- return d->text.mid(d->selstart, d->selend - d->selstart);
- return QString();
+ return d->control->selectedText();
}
/*!
@@ -1095,7 +936,7 @@ QString QLineEdit::selectedText() const
int QLineEdit::selectionStart() const
{
Q_D(const QLineEdit);
- return d->hasSelectedText() ? d->selstart : -1;
+ return d->control->selectionStart();
}
@@ -1125,9 +966,10 @@ void QLineEdit::setEdited(bool on) { setModified(on); }
int QLineEdit::characterAt(int xpos, QChar *chr) const
{
Q_D(const QLineEdit);
- int pos = d->xToPos(xpos + contentsRect().x() - d->hscroll + horizontalMargin);
- if (chr && pos < (int) d->text.length())
- *chr = d->text.at(pos);
+ int pos = d->xToPos(xpos + contentsRect().x() - d->hscroll + d->horizontalMargin);
+ QString txt = d->control->text();
+ if (chr && pos < (int) txt.length())
+ *chr = txt.at(pos);
return pos;
}
@@ -1138,9 +980,9 @@ int QLineEdit::characterAt(int xpos, QChar *chr) const
bool QLineEdit::getSelection(int *start, int *end)
{
Q_D(QLineEdit);
- if (d->hasSelectedText() && start && end) {
- *start = d->selstart;
- *end = d->selend;
+ if (d->control->hasSelectedText() && start && end) {
+ *start = selectionStart();
+ *end = *start + selectedText().length();
return true;
}
return false;
@@ -1158,30 +1000,19 @@ bool QLineEdit::getSelection(int *start, int *end)
void QLineEdit::setSelection(int start, int length)
{
Q_D(QLineEdit);
- if (start < 0 || start > (int)d->text.length()) {
+ if (start < 0 || start > (int)d->control->text().length()) {
qWarning("QLineEdit::setSelection: Invalid start position (%d)", start);
return;
- } else {
- if (length > 0) {
- d->selstart = start;
- d->selend = qMin(start + length, (int)d->text.length());
- d->cursor = d->selend;
- } else {
- d->selstart = qMax(start + length, 0);
- d->selend = start;
- d->cursor = d->selstart;
- }
}
- if (d->hasSelectedText()){
+ d->control->setSelection(start, length);
+
+ if (d->control->hasSelectedText()){
QStyleOptionFrameV2 opt;
initStyleOption(&opt);
if (!style()->styleHint(QStyle::SH_BlinkCursorWhenTextSelected, &opt, this))
d->setCursorVisible(false);
}
-
- update();
- d->emitCursorPositionChanged();
}
@@ -1197,7 +1028,7 @@ void QLineEdit::setSelection(int start, int length)
bool QLineEdit::isUndoAvailable() const
{
Q_D(const QLineEdit);
- return d->isUndoAvailable();
+ return d->control->isUndoAvailable();
}
/*!
@@ -1213,7 +1044,7 @@ bool QLineEdit::isUndoAvailable() const
bool QLineEdit::isRedoAvailable() const
{
Q_D(const QLineEdit);
- return d->isRedoAvailable();
+ return d->control->isRedoAvailable();
}
/*!
@@ -1249,7 +1080,7 @@ void QLineEdit::setDragEnabled(bool b)
bool QLineEdit::hasAcceptableInput() const
{
Q_D(const QLineEdit);
- return d->hasAcceptableInput(d->text);
+ return d->control->hasAcceptableInput();
}
/*!
@@ -1355,15 +1186,13 @@ void QLineEdit::getTextMargins(int *left, int *top, int *right, int *bottom) con
QString QLineEdit::inputMask() const
{
Q_D(const QLineEdit);
- return (d->maskData ? d->inputMask + QLatin1Char(';') + d->blank : QString());
+ return d->control->inputMask();
}
void QLineEdit::setInputMask(const QString &inputMask)
{
Q_D(QLineEdit);
- d->parseInputMask(inputMask);
- if (d->maskData)
- d->moveCursor(d->nextMaskBlank(0));
+ d->control->setInputMask(inputMask);
}
/*!
@@ -1378,8 +1207,7 @@ void QLineEdit::setInputMask(const QString &inputMask)
void QLineEdit::selectAll()
{
Q_D(QLineEdit);
- d->selstart = d->selend = d->cursor = 0;
- d->moveCursor(d->text.length(), true);
+ d->control->selectAll();
}
/*!
@@ -1391,8 +1219,7 @@ void QLineEdit::selectAll()
void QLineEdit::deselect()
{
Q_D(QLineEdit);
- d->deselect();
- d->finishChange();
+ d->control->deselect();
}
@@ -1407,10 +1234,7 @@ void QLineEdit::insert(const QString &newText)
{
// q->resetInputContext(); //#### FIX ME IN QT
Q_D(QLineEdit);
- int priorState = d->undoState;
- d->removeSelectedText();
- d->insert(newText);
- d->finishChange(priorState);
+ d->control->insert(newText);
}
/*!
@@ -1421,13 +1245,8 @@ void QLineEdit::insert(const QString &newText)
void QLineEdit::clear()
{
Q_D(QLineEdit);
- int priorState = d->undoState;
resetInputContext();
- d->selstart = 0;
- d->selend = d->text.length();
- d->removeSelectedText();
- d->separate();
- d->finishChange(priorState, /*update*/false, /*edited*/false);
+ d->control->clear();
}
/*!
@@ -1440,8 +1259,7 @@ void QLineEdit::undo()
{
Q_D(QLineEdit);
resetInputContext();
- d->undo();
- d->finishChange(-1, true);
+ d->control->undo();
}
/*!
@@ -1452,8 +1270,7 @@ void QLineEdit::redo()
{
Q_D(QLineEdit);
resetInputContext();
- d->redo();
- d->finishChange();
+ d->control->redo();
}
@@ -1475,16 +1292,16 @@ void QLineEdit::redo()
bool QLineEdit::isReadOnly() const
{
Q_D(const QLineEdit);
- return d->readOnly;
+ return d->control->isReadOnly();
}
void QLineEdit::setReadOnly(bool enable)
{
Q_D(QLineEdit);
- if (d->readOnly != enable) {
- d->readOnly = enable;
- setAttribute(Qt::WA_MacShowFocusRect, !d->readOnly);
- setAttribute(Qt::WA_InputMethodEnabled, shouldEnableInputMethod(this));
+ if (d->control->isReadOnly() != enable) {
+ d->control->setReadOnly(enable);
+ setAttribute(Qt::WA_MacShowFocusRect, !enable);
+ setAttribute(Qt::WA_InputMethodEnabled, d->shouldEnableInputMethod());
#ifndef QT_NO_CURSOR
setCursor(enable ? Qt::ArrowCursor : Qt::IBeamCursor);
#endif
@@ -1523,7 +1340,7 @@ void QLineEdit::cut()
void QLineEdit::copy() const
{
Q_D(const QLineEdit);
- d->copy();
+ d->control->copy();
}
/*!
@@ -1540,23 +1357,7 @@ void QLineEdit::copy() const
void QLineEdit::paste()
{
Q_D(QLineEdit);
- if (echoMode() == PasswordEchoOnEdit && !d->passwordEchoEditing) {
- // Clear the edit and reset to normal echo mode when pasting; the echo
- // mode switches back when the edit loses focus. ### changes a public
- // property, resets current content
- d->updatePasswordEchoEditing(true);
- clear();
- }
- insert(QApplication::clipboard()->text(QClipboard::Clipboard));
-}
-
-void QLineEditPrivate::copy(bool clipboard) const
-{
- Q_Q(const QLineEdit);
- QString t = q->selectedText();
- if (!t.isEmpty() && echoMode == QLineEdit::Normal) {
- QApplication::clipboard()->setText(t, clipboard ? QClipboard::Clipboard : QClipboard::Selection);
- }
+ d->control->paste();
}
#endif // !QT_NO_CLIPBOARD
@@ -1566,57 +1367,10 @@ void QLineEditPrivate::copy(bool clipboard) const
bool QLineEdit::event(QEvent * e)
{
Q_D(QLineEdit);
-#ifndef QT_NO_SHORTCUT
- if (e->type() == QEvent::ShortcutOverride && !d->readOnly) {
- QKeyEvent* ke = (QKeyEvent*) e;
- if (ke == QKeySequence::Copy
- || ke == QKeySequence::Paste
- || ke == QKeySequence::Cut
- || ke == QKeySequence::Redo
- || ke == QKeySequence::Undo
- || ke == QKeySequence::MoveToNextWord
- || ke == QKeySequence::MoveToPreviousWord
- || ke == QKeySequence::MoveToStartOfDocument
- || ke == QKeySequence::MoveToEndOfDocument
- || ke == QKeySequence::SelectNextWord
- || ke == QKeySequence::SelectPreviousWord
- || ke == QKeySequence::SelectStartOfLine
- || ke == QKeySequence::SelectEndOfLine
- || ke == QKeySequence::SelectStartOfBlock
- || ke == QKeySequence::SelectEndOfBlock
- || ke == QKeySequence::SelectStartOfDocument
- || ke == QKeySequence::SelectAll
- || ke == QKeySequence::SelectEndOfDocument) {
- ke->accept();
- } else if (ke->modifiers() == Qt::NoModifier || ke->modifiers() == Qt::ShiftModifier
- || ke->modifiers() == Qt::KeypadModifier) {
- if (ke->key() < Qt::Key_Escape) {
- ke->accept();
- } else {
- switch (ke->key()) {
- case Qt::Key_Delete:
- case Qt::Key_Home:
- case Qt::Key_End:
- case Qt::Key_Backspace:
- case Qt::Key_Left:
- case Qt::Key_Right:
- ke->accept();
- default:
- break;
- }
- }
- }
- } else
-#endif
- if (e->type() == QEvent::Timer) {
+ if (e->type() == QEvent::Timer) {
// should be timerEvent, is here for binary compatibility
int timerId = ((QTimerEvent*)e)->timerId();
- if (timerId == d->cursorTimer) {
- QStyleOptionFrameV2 opt;
- initStyleOption(&opt);
- if(!hasSelectedText()
- || style()->styleHint(QStyle::SH_BlinkCursorWhenTextSelected, &opt, this))
- d->setCursorVisible(!d->cursorVisible);
+ if (false) {
#ifndef QT_NO_DRAGANDDROP
} else if (timerId == d->dndTimer.timerId()) {
d->drag();
@@ -1624,60 +1378,31 @@ bool QLineEdit::event(QEvent * e)
}
else if (timerId == d->tripleClickTimer.timerId())
d->tripleClickTimer.stop();
-#ifdef QT_KEYPAD_NAVIGATION
- else if (timerId == d->deleteAllTimer.timerId()) {
- d->deleteAllTimer.stop();
- clear();
- }
-#endif
} else if (e->type() == QEvent::ContextMenu) {
#ifndef QT_NO_IM
- if (d->composeMode())
+ if (d->control->composeMode())
return true;
#endif
- d->separate();
+ //d->separate();
} else if (e->type() == QEvent::WindowActivate) {
QTimer::singleShot(0, this, SLOT(_q_handleWindowActivate()));
+ }else if(e->type() == QEvent::ShortcutOverride){
+ d->control->processEvent(e);
}
+
#ifdef QT_KEYPAD_NAVIGATION
if (QApplication::keypadNavigationEnabled()) {
- if ((e->type() == QEvent::KeyPress) || (e->type() == QEvent::KeyRelease)) {
- QKeyEvent *ke = (QKeyEvent *)e;
- if (ke->key() == Qt::Key_Back) {
- if (ke->isAutoRepeat()) {
- // Swallow it. We don't want back keys running amok.
- ke->accept();
- return true;
- }
- if ((e->type() == QEvent::KeyRelease)
- && !isReadOnly()
- && d->deleteAllTimer.isActive()) {
- d->deleteAllTimer.stop();
- backspace();
- ke->accept();
- return true;
- }
- }
- } else if (e->type() == QEvent::EnterEditFocus) {
+ if (e->type() == QEvent::EnterEditFocus) {
end(false);
- if (!d->cursorTimer) {
- int cft = QApplication::cursorFlashTime();
- d->cursorTimer = cft ? startTimer(cft/2) : -1;
- }
+ int cft = QApplication::cursorFlashTime();
+ d->control->setCursorBlinkPeriod(cft/2);
} else if (e->type() == QEvent::LeaveEditFocus) {
d->setCursorVisible(false);
- if (d->cursorTimer > 0)
- killTimer(d->cursorTimer);
- d->cursorTimer = 0;
-
- if (!d->emitingEditingFinished) {
- if (hasAcceptableInput() || d->fixup()) {
- d->emitingEditingFinished = true;
- emit editingFinished();
- d->emitingEditingFinished = false;
- }
- }
+ d->control->setCursorBlinkPeriod(0);
+ if (d->control->hasAcceptableInput() || d->control->fixup())
+ emit editingFinished();
}
+ return true;
}
#endif
return QWidget::event(e);
@@ -1689,15 +1414,15 @@ void QLineEdit::mousePressEvent(QMouseEvent* e)
{
Q_D(QLineEdit);
if (d->sendMouseEventToInputContext(e))
- return;
+ return;
if (e->button() == Qt::RightButton)
return;
#ifdef QT_KEYPAD_NAVIGATION
if (QApplication::keypadNavigationEnabled() && !hasEditFocus()) {
setEditFocus(true);
// Get the completion list to pop up.
- if (d->completer)
- d->completer->complete();
+ if (d->control->completer())
+ d->control->completer()->complete();
}
#endif
if (d->tripleClickTimer.isActive() && (e->pos() - d->tripleClick).manhattanLength() <
@@ -1708,18 +1433,16 @@ void QLineEdit::mousePressEvent(QMouseEvent* e)
bool mark = e->modifiers() & Qt::ShiftModifier;
int cursor = d->xToPos(e->pos().x());
#ifndef QT_NO_DRAGANDDROP
- if (!mark && d->dragEnabled && d->echoMode == Normal &&
- e->button() == Qt::LeftButton && d->inSelection(e->pos().x())) {
- d->cursor = cursor;
- update();
+ if (!mark && d->dragEnabled && d->control->echoMode() == Normal &&
+ e->button() == Qt::LeftButton && d->control->inSelection(e->pos().x())) {
+ d->control->moveCursor(cursor);
d->dndPos = e->pos();
if (!d->dndTimer.isActive())
d->dndTimer.start(QApplication::startDragTime(), this);
- d->emitCursorPositionChanged();
} else
#endif
{
- d->moveCursor(cursor, mark);
+ d->control->moveCursor(cursor, mark);
}
}
@@ -1729,7 +1452,7 @@ void QLineEdit::mouseMoveEvent(QMouseEvent * e)
{
Q_D(QLineEdit);
if (d->sendMouseEventToInputContext(e))
- return;
+ return;
if (e->buttons() & Qt::LeftButton) {
#ifndef QT_NO_DRAGANDDROP
@@ -1739,7 +1462,7 @@ void QLineEdit::mouseMoveEvent(QMouseEvent * e)
} else
#endif
{
- d->moveCursor(d->xToPos(e->pos().x()), true);
+ d->control->moveCursor(d->xToPos(e->pos().x()), true);
}
}
}
@@ -1750,7 +1473,7 @@ void QLineEdit::mouseReleaseEvent(QMouseEvent* e)
{
Q_D(QLineEdit);
if (d->sendMouseEventToInputContext(e))
- return;
+ return;
#ifndef QT_NO_DRAGANDDROP
if (e->button() == Qt::LeftButton) {
if (d->dndTimer.isActive()) {
@@ -1763,9 +1486,9 @@ void QLineEdit::mouseReleaseEvent(QMouseEvent* e)
#ifndef QT_NO_CLIPBOARD
if (QApplication::clipboard()->supportsSelection()) {
if (e->button() == Qt::LeftButton) {
- d->copy(false);
- } else if (!d->readOnly && e->button() == Qt::MidButton) {
- d->deselect();
+ d->control->copy(QClipboard::Selection);
+ } else if (!d->control->isReadOnly() && e->button() == Qt::MidButton) {
+ deselect();
insert(QApplication::clipboard()->text(QClipboard::Selection));
}
}
@@ -1785,16 +1508,9 @@ void QLineEdit::mouseDoubleClickEvent(QMouseEvent* e)
{
Q_D(QLineEdit);
if (d->sendMouseEventToInputContext(e))
- return;
+ return;
if (e->button() == Qt::LeftButton) {
- deselect();
- d->cursor = d->xToPos(e->pos().x());
- d->cursor = d->textLayout.previousCursorPosition(d->cursor, QTextLayout::SkipWords);
- // ## text layout should support end of words.
- int end = d->textLayout.nextCursorPosition(d->cursor, QTextLayout::SkipWords);
- while (end > d->cursor && d->text[end-1].isSpace())
- --end;
- d->moveCursor(end, true);
+ d->control->selectWordAtPos(d->xToPos(e->pos().x()));
d->tripleClickTimer.start(QApplication::doubleClickInterval(), this);
d->tripleClick = e->pos();
}
@@ -1834,65 +1550,15 @@ void QLineEdit::mouseDoubleClickEvent(QMouseEvent* e)
void QLineEdit::keyPressEvent(QKeyEvent *event)
{
Q_D(QLineEdit);
-
- bool inlineCompletionAccepted = false;
-
-#ifndef QT_NO_COMPLETER
- if (d->completer) {
- QCompleter::CompletionMode completionMode = d->completer->completionMode();
- if ((completionMode == QCompleter::PopupCompletion
- || completionMode == QCompleter::UnfilteredPopupCompletion)
- &&d->completer->popup()
- && d->completer->popup()->isVisible()) {
- // The following keys are forwarded by the completer to the widget
- // Ignoring the events lets the completer provide suitable default behavior
- switch (event->key()) {
- case Qt::Key_Escape:
- event->ignore();
- return;
- case Qt::Key_Enter:
- case Qt::Key_Return:
- case Qt::Key_F4:
-#ifdef QT_KEYPAD_NAVIGATION
- case Qt::Key_Select:
- if (!QApplication::keypadNavigationEnabled())
- break;
-#endif
- d->completer->popup()->hide(); // just hide. will end up propagating to parent
- default:
- break; // normal key processing
- }
- } else if (completionMode == QCompleter::InlineCompletion) {
- switch (event->key()) {
- case Qt::Key_Enter:
- case Qt::Key_Return:
- case Qt::Key_F4:
-#ifdef QT_KEYPAD_NAVIGATION
- case Qt::Key_Select:
- if (!QApplication::keypadNavigationEnabled())
- break;
-#endif
- if (!d->completer->currentCompletion().isEmpty() && d->selend > d->selstart
- && d->selend == d->text.length()) {
- setText(d->completer->currentCompletion());
- inlineCompletionAccepted = true;
- }
- default:
- break; // normal key processing
- }
- }
- }
-#endif // QT_NO_COMPLETER
-
-#ifdef QT_KEYPAD_NAVIGATION
+ #ifdef QT_KEYPAD_NAVIGATION
bool select = false;
switch (event->key()) {
case Qt::Key_Select:
if (QApplication::keypadNavigationEnabled()) {
if (hasEditFocus()) {
setEditFocus(false);
- if (d->completer && d->completer->popup()->isVisible())
- d->completer->popup()->hide();
+ if (d->control->completer() && d->control->completer()->popup()->isVisible())
+ d->control->completer()->popup()->hide();
select = true;
}
}
@@ -1928,273 +1594,7 @@ void QLineEdit::keyPressEvent(QKeyEvent *event)
return; // Just start. No action.
}
#endif
-
- if (echoMode() == PasswordEchoOnEdit
- && !d->passwordEchoEditing
- && !isReadOnly()
- && !event->text().isEmpty()
-#ifdef QT_KEYPAD_NAVIGATION
- && event->key() != Qt::Key_Select
- && event->key() != Qt::Key_Up
- && event->key() != Qt::Key_Down
- && event->key() != Qt::Key_Back
-#endif
- && !(event->modifiers() & Qt::ControlModifier)) {
- // Clear the edit and reset to normal echo mode while editing; the
- // echo mode switches back when the edit loses focus. ### changes a
- // public property, resets current content. dubious code; you can
- // navigate with keys up, down, back, and select(?), but if you press
- // "left" or "right" it clears?
- d->updatePasswordEchoEditing(true);
- clear();
- }
-
- d->setCursorVisible(true);
- if (event->key() == Qt::Key_Enter || event->key() == Qt::Key_Return) {
- if (hasAcceptableInput() || d->fixup()) {
- emit returnPressed();
- d->emitingEditingFinished = true;
- emit editingFinished();
- d->emitingEditingFinished = false;
- }
- if (inlineCompletionAccepted)
- event->accept();
- else
- event->ignore();
- return;
- }
- bool unknown = false;
-
- if (false) {
- }
-#ifndef QT_NO_SHORTCUT
- else if (event == QKeySequence::Undo) {
- if (!d->readOnly)
- undo();
- }
- else if (event == QKeySequence::Redo) {
- if (!d->readOnly)
- redo();
- }
- else if (event == QKeySequence::SelectAll) {
- selectAll();
- }
-#ifndef QT_NO_CLIPBOARD
- else if (event == QKeySequence::Copy) {
- copy();
- }
- else if (event == QKeySequence::Paste) {
- if (!d->readOnly)
- paste();
- }
- else if (event == QKeySequence::Cut) {
- if (!d->readOnly) {
- cut();
- }
- }
- else if (event == QKeySequence::DeleteEndOfLine) {
- if (!d->readOnly) {
- setSelection(d->cursor, d->text.size());
- copy();
- del();
- }
- }
-#endif //QT_NO_CLIPBOARD
- else if (event == QKeySequence::MoveToStartOfLine) {
- home(0);
- }
- else if (event == QKeySequence::MoveToEndOfLine) {
- end(0);
- }
- else if (event == QKeySequence::SelectStartOfLine) {
- home(1);
- }
- else if (event == QKeySequence::SelectEndOfLine) {
- end(1);
- }
- else if (event == QKeySequence::MoveToNextChar) {
-#if !defined(Q_WS_WIN) || defined(QT_NO_COMPLETER)
- if (d->hasSelectedText()) {
-#else
- if (d->hasSelectedText() && d->completer
- && d->completer->completionMode() == QCompleter::InlineCompletion) {
-#endif
- d->moveCursor(d->selend, false);
- } else {
- cursorForward(0, layoutDirection() == Qt::LeftToRight ? 1 : -1);
- }
- }
- else if (event == QKeySequence::SelectNextChar) {
- cursorForward(1, layoutDirection() == Qt::LeftToRight ? 1 : -1);
- }
- else if (event == QKeySequence::MoveToPreviousChar) {
-#if !defined(Q_WS_WIN) || defined(QT_NO_COMPLETER)
- if (d->hasSelectedText()) {
-#else
- if (d->hasSelectedText() && d->completer
- && d->completer->completionMode() == QCompleter::InlineCompletion) {
-#endif
- d->moveCursor(d->selstart, false);
- } else {
- cursorBackward(0, layoutDirection() == Qt::LeftToRight ? 1 : -1);
- }
- }
- else if (event == QKeySequence::SelectPreviousChar) {
- cursorBackward(1, layoutDirection() == Qt::LeftToRight ? 1 : -1);
- }
- else if (event == QKeySequence::MoveToNextWord) {
- if (echoMode() == Normal)
- layoutDirection() == Qt::LeftToRight ? cursorWordForward(0) : cursorWordBackward(0);
- else
- layoutDirection() == Qt::LeftToRight ? end(0) : home(0);
- }
- else if (event == QKeySequence::MoveToPreviousWord) {
- if (echoMode() == Normal)
- layoutDirection() == Qt::LeftToRight ? cursorWordBackward(0) : cursorWordForward(0);
- else if (!d->readOnly) {
- layoutDirection() == Qt::LeftToRight ? home(0) : end(0);
- }
- }
- else if (event == QKeySequence::SelectNextWord) {
- if (echoMode() == Normal)
- layoutDirection() == Qt::LeftToRight ? cursorWordForward(1) : cursorWordBackward(1);
- else
- layoutDirection() == Qt::LeftToRight ? end(1) : home(1);
- }
- else if (event == QKeySequence::SelectPreviousWord) {
- if (echoMode() == Normal)
- layoutDirection() == Qt::LeftToRight ? cursorWordBackward(1) : cursorWordForward(1);
- else
- layoutDirection() == Qt::LeftToRight ? home(1) : end(1);
- }
- else if (event == QKeySequence::Delete) {
- if (!d->readOnly)
- del();
- }
- else if (event == QKeySequence::DeleteEndOfWord) {
- if (!d->readOnly) {
- cursorWordForward(true);
- del();
- }
- }
- else if (event == QKeySequence::DeleteStartOfWord) {
- if (!d->readOnly) {
- cursorWordBackward(true);
- del();
- }
- }
-#endif // QT_NO_SHORTCUT
- else {
-#ifdef Q_WS_MAC
- if (event->key() == Qt::Key_Up || event->key() == Qt::Key_Down) {
- Qt::KeyboardModifiers myModifiers = (event->modifiers() & ~Qt::KeypadModifier);
- if (myModifiers & Qt::ShiftModifier) {
- if (myModifiers == (Qt::ControlModifier|Qt::ShiftModifier)
- || myModifiers == (Qt::AltModifier|Qt::ShiftModifier)
- || myModifiers == Qt::ShiftModifier) {
-
- event->key() == Qt::Key_Up ? home(1) : end(1);
- }
- } else {
- if ((myModifiers == Qt::ControlModifier
- || myModifiers == Qt::AltModifier
- || myModifiers == Qt::NoModifier)) {
- event->key() == Qt::Key_Up ? home(0) : end(0);
- }
- }
- }
-#endif
- if (event->modifiers() & Qt::ControlModifier) {
- switch (event->key()) {
- case Qt::Key_Backspace:
- if (!d->readOnly) {
- cursorWordBackward(true);
- del();
- }
- break;
-#ifndef QT_NO_COMPLETER
- case Qt::Key_Up:
- case Qt::Key_Down:
- d->complete(event->key());
- break;
-#endif
-#if defined(Q_WS_X11)
- case Qt::Key_E:
- end(0);
- break;
-
- case Qt::Key_U:
- if (!d->readOnly) {
- setSelection(0, d->text.size());
-#ifndef QT_NO_CLIPBOARD
- copy();
-#endif
- del();
- }
- break;
-#endif
- default:
- unknown = true;
- }
- } else { // ### check for *no* modifier
- switch (event->key()) {
- case Qt::Key_Backspace:
- if (!d->readOnly) {
- backspace();
-#ifndef QT_NO_COMPLETER
- d->complete(Qt::Key_Backspace);
-#endif
- }
- break;
-#ifdef QT_KEYPAD_NAVIGATION
- case Qt::Key_Back:
- if (QApplication::keypadNavigationEnabled() && !event->isAutoRepeat()
- && !isReadOnly()) {
- if (text().length() == 0) {
- setText(d->origText);
-
- if (d->passwordEchoEditing)
- d->updatePasswordEchoEditing(false);
-
- setEditFocus(false);
- } else if (!d->deleteAllTimer.isActive()) {
- d->deleteAllTimer.start(750, this);
- }
- } else {
- unknown = true;
- }
- break;
-#endif
-
- default:
- unknown = true;
- }
- }
- }
-
- if (event->key() == Qt::Key_Direction_L || event->key() == Qt::Key_Direction_R) {
- setLayoutDirection((event->key() == Qt::Key_Direction_L) ? Qt::LeftToRight : Qt::RightToLeft);
- d->updateTextLayout();
- update();
- unknown = false;
- }
-
- if (unknown && !d->readOnly) {
- QString t = event->text();
- if (!t.isEmpty() && t.at(0).isPrint()) {
- insert(t);
-#ifndef QT_NO_COMPLETER
- d->complete(event->key());
-#endif
- event->accept();
- return;
- }
- }
-
- if (unknown)
- event->ignore();
- else
- event->accept();
+ d->control->processKeyEvent(event);
}
/*!
@@ -2208,50 +1608,17 @@ QRect QLineEdit::cursorRect() const
return d->cursorRect();
}
-/*!
- This function is not intended as polymorphic usage. Just a shared code
- fragment that calls QInputContext::mouseHandler for this
- class.
-*/
-bool QLineEditPrivate::sendMouseEventToInputContext( QMouseEvent *e )
-{
-#if !defined QT_NO_IM
- Q_Q(QLineEdit);
- if ( composeMode() ) {
- int tmp_cursor = xToPos(e->pos().x());
- int mousePos = tmp_cursor - cursor;
- if ( mousePos < 0 || mousePos > textLayout.preeditAreaText().length() ) {
- mousePos = -1;
- // don't send move events outside the preedit area
- if ( e->type() == QEvent::MouseMove )
- return true;
- }
-
- QInputContext *qic = q->inputContext();
- if ( qic )
- // may be causing reset() in some input methods
- qic->mouseHandler(mousePos, e);
- if (!textLayout.preeditAreaText().isEmpty())
- return true;
- }
-#else
- Q_UNUSED(e);
-#endif
-
- return false;
-}
-
/*! \reimp
*/
void QLineEdit::inputMethodEvent(QInputMethodEvent *e)
{
Q_D(QLineEdit);
- if (d->readOnly) {
+ if (d->control->isReadOnly()) {
e->ignore();
return;
}
- if (echoMode() == PasswordEchoOnEdit && !d->passwordEchoEditing) {
+ if (echoMode() == PasswordEchoOnEdit && !d->control->passwordEchoEditing()) {
// Clear the edit and reset to normal echo mode while entering input
// method data; the echo mode switches back when the edit loses focus.
// ### changes a public property, resets current content.
@@ -2271,85 +1638,11 @@ void QLineEdit::inputMethodEvent(QInputMethodEvent *e)
}
#endif
- int priorState = 0;
- bool isGettingInput = !e->commitString().isEmpty() || !e->preeditString().isEmpty()
- || e->replacementLength() > 0;
- bool cursorPositionChanged = false;
-
- if (isGettingInput) {
- // If any text is being input, remove selected text.
- priorState = d->undoState;
- d->removeSelectedText();
- }
-
- int c = d->cursor; // cursor position after insertion of commit string
- if (e->replacementStart() <= 0)
- c += e->commitString().length() + qMin(-e->replacementStart(), e->replacementLength());
-
- d->cursor += e->replacementStart();
-
- // insert commit string
- if (e->replacementLength()) {
- d->selstart = d->cursor;
- d->selend = d->selstart + e->replacementLength();
- d->removeSelectedText();
- }
- if (!e->commitString().isEmpty()) {
- d->insert(e->commitString());
- cursorPositionChanged = true;
- }
-
- d->cursor = qMin(c, d->text.length());
-
- for (int i = 0; i < e->attributes().size(); ++i) {
- const QInputMethodEvent::Attribute &a = e->attributes().at(i);
- if (a.type == QInputMethodEvent::Selection) {
- d->cursor = qBound(0, a.start + a.length, d->text.length());
- if (a.length) {
- d->selstart = qMax(0, qMin(a.start, d->text.length()));
- d->selend = d->cursor;
- if (d->selend < d->selstart) {
- qSwap(d->selstart, d->selend);
- }
- } else {
- d->selstart = d->selend = 0;
- }
- cursorPositionChanged = true;
- }
- }
-
- d->textLayout.setPreeditArea(d->cursor, e->preeditString());
- d->preeditCursor = e->preeditString().length();
- d->hideCursor = false;
- QList<QTextLayout::FormatRange> formats;
- for (int i = 0; i < e->attributes().size(); ++i) {
- const QInputMethodEvent::Attribute &a = e->attributes().at(i);
- if (a.type == QInputMethodEvent::Cursor) {
- d->preeditCursor = a.start;
- d->hideCursor = !a.length;
- } else if (a.type == QInputMethodEvent::TextFormat) {
- QTextCharFormat f = qvariant_cast<QTextFormat>(a.value).toCharFormat();
- if (f.isValid()) {
- QTextLayout::FormatRange o;
- o.start = a.start + d->cursor;
- o.length = a.length;
- o.format = f;
- formats.append(o);
- }
- }
- }
- d->textLayout.setAdditionalFormats(formats);
- d->updateTextLayout();
- update();
- if (cursorPositionChanged)
- d->emitCursorPositionChanged();
-
- if (isGettingInput)
- d->finishChange(priorState);
+ d->control->processInputMethodEvent(e);
#ifndef QT_NO_COMPLETER
if (!e->commitString().isEmpty())
- d->complete(Qt::Key_unknown);
+ d->control->complete(Qt::Key_unknown);
#endif
}
@@ -2364,20 +1657,20 @@ QVariant QLineEdit::inputMethodQuery(Qt::InputMethodQuery property) const
case Qt::ImFont:
return font();
case Qt::ImCursorPosition:
- return QVariant(d->cursor);
+ return QVariant(d->control->hasSelectedText() ? d->control->selectionEnd() : d->control->cursor());
case Qt::ImSurroundingText:
- return QVariant(d->text);
+ return QVariant(text());
case Qt::ImCurrentSelection:
return QVariant(selectedText());
case Qt::ImMaximumTextLength:
return QVariant(maxLength());
case Qt::ImAnchorPosition:
- if (d->selstart == d->selend)
- return QVariant(d->cursor);
- else if (d->selstart == d->cursor)
- return QVariant(d->selend);
+ if (d->control->selectionStart() == d->control->selectionEnd())
+ return QVariant(d->control->cursor());
+ else if (d->control->selectionStart() == d->control->cursor())
+ return QVariant(d->control->selectionEnd());
else
- return QVariant(d->selstart);
+ return QVariant(d->control->selectionStart());
default:
return QVariant();
}
@@ -2392,9 +1685,9 @@ void QLineEdit::focusInEvent(QFocusEvent *e)
if (e->reason() == Qt::TabFocusReason ||
e->reason() == Qt::BacktabFocusReason ||
e->reason() == Qt::ShortcutFocusReason) {
- if (d->maskData)
- d->moveCursor(d->nextMaskBlank(0));
- else if (!d->hasSelectedText())
+ if (!d->control->inputMask().isEmpty())
+ d->control->moveCursor(d->control->nextMaskBlank(0));
+ else if (!d->control->hasSelectedText())
selectAll();
} else if (e->reason() == Qt::MouseFocusReason) {
d->clickCausedFocus = 1;
@@ -2402,28 +1695,28 @@ void QLineEdit::focusInEvent(QFocusEvent *e)
#ifdef QT_KEYPAD_NAVIGATION
if (!QApplication::keypadNavigationEnabled() || (hasEditFocus() && e->reason() == Qt::PopupFocusReason))
#endif
- if (!d->cursorTimer) {
+ {
int cft = QApplication::cursorFlashTime();
- d->cursorTimer = cft ? startTimer(cft/2) : -1;
+ d->control->setCursorBlinkPeriod(cft/2);
}
QStyleOptionFrameV2 opt;
initStyleOption(&opt);
- if((!hasSelectedText() && d->textLayout.preeditAreaText().isEmpty())
+ if((!hasSelectedText() && d->control->preeditAreaText().isEmpty())
|| style()->styleHint(QStyle::SH_BlinkCursorWhenTextSelected, &opt, this))
d->setCursorVisible(true);
#ifdef Q_WS_MAC
- if (d->echoMode == Password || d->echoMode == NoEcho)
+ if (d->control->echoMode() == Password || d->control->echoMode() == NoEcho)
qt_mac_secure_keyboard(true);
#endif
#ifdef QT_KEYPAD_NAVIGATION
- d->origText = d->text;
+ d->control->setCancelText(d->control->text());
#endif
#ifndef QT_NO_COMPLETER
- if (d->completer) {
- d->completer->setWidget(this);
- QObject::connect(d->completer, SIGNAL(activated(QString)),
+ if (d->control->completer()) {
+ d->control->completer()->setWidget(this);
+ QObject::connect(d->control->completer(), SIGNAL(activated(QString)),
this, SLOT(setText(QString)));
- QObject::connect(d->completer, SIGNAL(highlighted(QString)),
+ QObject::connect(d->control->completer(), SIGNAL(highlighted(QString)),
this, SLOT(_q_completionHighlighted(QString)));
}
#endif
@@ -2436,7 +1729,7 @@ void QLineEdit::focusInEvent(QFocusEvent *e)
void QLineEdit::focusOutEvent(QFocusEvent *e)
{
Q_D(QLineEdit);
- if (d->passwordEchoEditing) {
+ if (d->control->passwordEchoEditing()) {
// Reset the echomode back to PasswordEchoOnEdit when the widget loses
// focus.
d->updatePasswordEchoEditing(false);
@@ -2448,37 +1741,29 @@ void QLineEdit::focusOutEvent(QFocusEvent *e)
deselect();
d->setCursorVisible(false);
- if (d->cursorTimer > 0)
- killTimer(d->cursorTimer);
- d->cursorTimer = 0;
-
+ d->control->setCursorBlinkPeriod(0);
#ifdef QT_KEYPAD_NAVIGATION
// editingFinished() is already emitted on LeaveEditFocus
if (!QApplication::keypadNavigationEnabled())
#endif
if (reason != Qt::PopupFocusReason
|| !(QApplication::activePopupWidget() && QApplication::activePopupWidget()->parentWidget() == this)) {
- if (!d->emitingEditingFinished) {
- if (hasAcceptableInput() || d->fixup()) {
- d->emitingEditingFinished = true;
+ if (hasAcceptableInput() || d->control->fixup())
emit editingFinished();
- d->emitingEditingFinished = false;
- }
- }
#ifdef QT3_SUPPORT
emit lostFocus();
#endif
}
#ifdef Q_WS_MAC
- if (d->echoMode == Password || d->echoMode == NoEcho)
+ if (d->control->echoMode() == Password || d->control->echoMode() == NoEcho)
qt_mac_secure_keyboard(false);
#endif
#ifdef QT_KEYPAD_NAVIGATION
- d->origText = QString();
+ d->control->setCancelText(QString());
#endif
#ifndef QT_NO_COMPLETER
- if (d->completer) {
- QObject::disconnect(d->completer, 0, this, 0);
+ if (d->control->completer()) {
+ QObject::disconnect(d->control->completer(), 0, this, 0);
}
#endif
update();
@@ -2508,24 +1793,19 @@ void QLineEdit::paintEvent(QPaintEvent *)
Qt::Alignment va = QStyle::visualAlignment(layoutDirection(), QFlag(d->alignment));
switch (va & Qt::AlignVertical_Mask) {
case Qt::AlignBottom:
- d->vscroll = r.y() + r.height() - fm.height() - verticalMargin;
+ d->vscroll = r.y() + r.height() - fm.height() - d->verticalMargin;
break;
case Qt::AlignTop:
- d->vscroll = r.y() + verticalMargin;
+ d->vscroll = r.y() + d->verticalMargin;
break;
default:
//center
d->vscroll = r.y() + (r.height() - fm.height() + 1) / 2;
break;
}
- QRect lineRect(r.x() + horizontalMargin, d->vscroll, r.width() - 2*horizontalMargin, fm.height());
- QTextLine line = d->textLayout.lineAt(0);
+ QRect lineRect(r.x() + d->horizontalMargin, d->vscroll, r.width() - 2*d->horizontalMargin, fm.height());
- int cursor = d->cursor;
- if (d->preeditCursor != -1)
- cursor += d->preeditCursor;
- // locate cursor position
- int cix = qRound(line.cursorToX(cursor));
+ int cix = qRound(d->control->cursorToX());
// horizontal scrolling. d->hscroll is the left indent from the beginning
// of the text line to the left edge of lineRect. we update this value
@@ -2535,7 +1815,7 @@ void QLineEdit::paintEvent(QPaintEvent *)
// (cix).
int minLB = qMax(0, -fm.minLeftBearing());
int minRB = qMax(0, -fm.minRightBearing());
- int widthUsed = qRound(line.naturalTextWidth()) + 1 + minRB;
+ int widthUsed = d->control->width() + minRB;
if ((minLB + widthUsed) <= lineRect.width()) {
// text fits in lineRect; use hscroll for alignment
switch (va & ~(Qt::AlignAbsolute|Qt::AlignVertical_Mask)) {
@@ -2563,7 +1843,7 @@ void QLineEdit::paintEvent(QPaintEvent *)
d->hscroll = widthUsed - lineRect.width() + 1;
}
// the y offset is there to keep the baseline constant in case we have script changes in the text.
- QPoint topLeft = lineRect.topLeft() - QPoint(d->hscroll, d->ascent - fm.ascent());
+ QPoint topLeft = lineRect.topLeft() - QPoint(d->hscroll, d->control->ascent() - fm.ascent());
// draw text, selections and cursors
#ifndef QT_NO_STYLE_STYLESHEET
@@ -2573,33 +1853,23 @@ void QLineEdit::paintEvent(QPaintEvent *)
#endif
p.setPen(pal.text().color());
- QVector<QTextLayout::FormatRange> selections;
+ int flags = QLineControl::DrawText;
+
#ifdef QT_KEYPAD_NAVIGATION
if (!QApplication::keypadNavigationEnabled() || hasEditFocus())
#endif
- if (d->selstart < d->selend || (d->cursorVisible && d->maskData && !d->readOnly)) {
- QTextLayout::FormatRange o;
- if (d->selstart < d->selend) {
- o.start = d->selstart;
- o.length = d->selend - d->selstart;
- o.format.setBackground(pal.brush(QPalette::Highlight));
- o.format.setForeground(pal.brush(QPalette::HighlightedText));
- } else {
- // mask selection
- o.start = d->cursor;
- o.length = 1;
- o.format.setBackground(pal.brush(QPalette::Text));
- o.format.setForeground(pal.brush(QPalette::Window));
- }
- selections.append(o);
- }
+ if (d->control->hasSelectedText() || (d->cursorVisible && !d->control->inputMask().isEmpty() && !d->control->isReadOnly()))
+ flags |= QLineControl::DrawSelections;
// Asian users see an IM selection text as cursor on candidate
// selection phase of input method, so the ordinary cursor should be
// invisible if we have a preedit string.
- d->textLayout.draw(&p, topLeft, selections, r);
- if (d->cursorVisible && !d->readOnly && !d->hideCursor)
- d->textLayout.drawCursor(&p, topLeft, cursor, style()->pixelMetric(QStyle::PM_TextCursorWidth));
+ if (d->cursorVisible && !d->control->isReadOnly())
+ flags |= QLineControl::DrawCursor;
+
+ d->control->setCursorWidth(style()->pixelMetric(QStyle::PM_TextCursorWidth));
+ d->control->draw(&p, topLeft, r, flags);
+
}
@@ -2609,12 +1879,11 @@ void QLineEdit::paintEvent(QPaintEvent *)
void QLineEdit::dragMoveEvent(QDragMoveEvent *e)
{
Q_D(QLineEdit);
- if (!d->readOnly && e->mimeData()->hasFormat(QLatin1String("text/plain"))) {
+ if (!d->control->isReadOnly() && e->mimeData()->hasFormat(QLatin1String("text/plain"))) {
e->acceptProposedAction();
- d->cursor = d->xToPos(e->pos().x());
+ d->control->moveCursor(d->xToPos(e->pos().x()), false);
d->cursorVisible = true;
update();
- d->emitCursorPositionChanged();
}
}
@@ -2640,13 +1909,14 @@ void QLineEdit::dropEvent(QDropEvent* e)
Q_D(QLineEdit);
QString str = e->mimeData()->text();
- if (!str.isNull() && !d->readOnly) {
+ if (!str.isNull() && !d->control->isReadOnly()) {
if (e->source() == this && e->dropAction() == Qt::CopyAction)
deselect();
- d->cursor =d->xToPos(e->pos().x());
- int selStart = d->cursor;
- int oldSelStart = d->selstart;
- int oldSelEnd = d->selend;
+ int cursorPos = d->xToPos(e->pos().x());
+ int selStart = cursorPos;
+ int oldSelStart = d->control->selectionStart();
+ int oldSelEnd = d->control->selectionEnd();
+ d->control->moveCursor(cursorPos, false);
d->cursorVisible = false;
e->acceptProposedAction();
insert(str);
@@ -2668,22 +1938,6 @@ void QLineEdit::dropEvent(QDropEvent* e)
}
}
-void QLineEditPrivate::drag()
-{
- Q_Q(QLineEdit);
- dndTimer.stop();
- QMimeData *data = new QMimeData;
- data->setText(q->selectedText());
- QDrag *drag = new QDrag(q);
- drag->setMimeData(data);
- Qt::DropAction action = drag->start();
- if (action == Qt::MoveAction && !readOnly && drag->target() != q) {
- int priorState = undoState;
- removeSelectedText();
- finishChange(priorState);
- }
-}
-
#endif // QT_NO_DRAGANDDROP
#ifndef QT_NO_CONTEXTMENU
@@ -2728,37 +1982,39 @@ QMenu *QLineEdit::createStandardContextMenu()
popup->setObjectName(QLatin1String("qt_edit_menu"));
QAction *action = popup->addAction(QLineEdit::tr("&Undo") + ACCEL_KEY(QKeySequence::Undo));
- action->setEnabled(d->isUndoAvailable());
+ action->setEnabled(d->control->isUndoAvailable());
connect(action, SIGNAL(triggered()), SLOT(undo()));
action = popup->addAction(QLineEdit::tr("&Redo") + ACCEL_KEY(QKeySequence::Redo));
- action->setEnabled(d->isRedoAvailable());
+ action->setEnabled(d->control->isRedoAvailable());
connect(action, SIGNAL(triggered()), SLOT(redo()));
popup->addSeparator();
#ifndef QT_NO_CLIPBOARD
action = popup->addAction(QLineEdit::tr("Cu&t") + ACCEL_KEY(QKeySequence::Cut));
- action->setEnabled(!d->readOnly && d->hasSelectedText() && d->echoMode == QLineEdit::Normal);
+ action->setEnabled(!d->control->isReadOnly() && d->control->hasSelectedText()
+ && d->control->echoMode() == QLineEdit::Normal);
connect(action, SIGNAL(triggered()), SLOT(cut()));
action = popup->addAction(QLineEdit::tr("&Copy") + ACCEL_KEY(QKeySequence::Copy));
- action->setEnabled(d->hasSelectedText() && d->echoMode == QLineEdit::Normal);
+ action->setEnabled(d->control->hasSelectedText()
+ && d->control->echoMode() == QLineEdit::Normal);
connect(action, SIGNAL(triggered()), SLOT(copy()));
action = popup->addAction(QLineEdit::tr("&Paste") + ACCEL_KEY(QKeySequence::Paste));
- action->setEnabled(!d->readOnly && !QApplication::clipboard()->text().isEmpty());
+ action->setEnabled(!d->control->isReadOnly() && !QApplication::clipboard()->text().isEmpty());
connect(action, SIGNAL(triggered()), SLOT(paste()));
#endif
action = popup->addAction(QLineEdit::tr("Delete"));
- action->setEnabled(!d->readOnly && !d->text.isEmpty() && d->hasSelectedText());
+ action->setEnabled(!d->control->isReadOnly() && !d->control->text().isEmpty() && d->control->hasSelectedText());
connect(action, SIGNAL(triggered()), SLOT(_q_deleteSelected()));
popup->addSeparator();
action = popup->addAction(QLineEdit::tr("Select All") + ACCEL_KEY(QKeySequence::SelectAll));
- action->setEnabled(!d->text.isEmpty() && !d->allSelected());
+ action->setEnabled(!d->control->text().isEmpty() && !d->control->allSelected());
d->selectAllAction = action;
connect(action, SIGNAL(triggered()), SLOT(selectAll()));
@@ -2772,9 +2028,9 @@ QMenu *QLineEdit::createStandardContextMenu()
#endif
#if defined(Q_WS_WIN)
- if (!d->readOnly && qt_use_rtl_extensions) {
+ if (!d->control->isReadOnly() && qt_use_rtl_extensions) {
#else
- if (!d->readOnly) {
+ if (!d->control->isReadOnly()) {
#endif
popup->addSeparator();
QUnicodeControlCharacterMenu *ctrlCharacterMenu = new QUnicodeControlCharacterMenu(this, popup);
@@ -2788,807 +2044,26 @@ QMenu *QLineEdit::createStandardContextMenu()
void QLineEdit::changeEvent(QEvent *ev)
{
Q_D(QLineEdit);
- if(ev->type() == QEvent::ActivationChange) {
+ switch(ev->type())
+ {
+ case QEvent::ActivationChange:
if (!palette().isEqual(QPalette::Active, QPalette::Inactive))
update();
- } else if (ev->type() == QEvent::FontChange
- || ev->type() == QEvent::StyleChange
- || ev->type() == QEvent::LayoutDirectionChange) {
- d->updateTextLayout();
- }
- QWidget::changeEvent(ev);
-}
-
-void QLineEditPrivate::_q_handleWindowActivate()
-{
- Q_Q(QLineEdit);
- if (!q->hasFocus() && q->hasSelectedText())
- q->deselect();
-}
-
-void QLineEditPrivate::_q_deleteSelected()
-{
- Q_Q(QLineEdit);
- if (!hasSelectedText())
- return;
-
- int priorState = undoState;
- q->resetInputContext();
- removeSelectedText();
- separate();
- finishChange(priorState);
-}
-
-void QLineEditPrivate::init(const QString& txt)
-{
- Q_Q(QLineEdit);
-#ifndef QT_NO_CURSOR
- q->setCursor(Qt::IBeamCursor);
-#endif
- q->setFocusPolicy(Qt::StrongFocus);
- q->setAttribute(Qt::WA_InputMethodEnabled);
- // Specifies that this widget can use more, but is able to survive on
- // less, horizontal space; and is fixed vertically.
- q->setSizePolicy(QSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed, QSizePolicy::LineEdit));
- q->setBackgroundRole(QPalette::Base);
- q->setAttribute(Qt::WA_KeyCompression);
- q->setMouseTracking(true);
- q->setAcceptDrops(true);
- text = txt;
- updateTextLayout();
- cursor = text.length();
-
- q->setAttribute(Qt::WA_MacShowFocusRect);
-}
-
-void QLineEditPrivate::updatePasswordEchoEditing(bool editing)
-{
- Q_Q(QLineEdit);
- passwordEchoEditing = editing;
- q->setAttribute(Qt::WA_InputMethodEnabled, shouldEnableInputMethod(q));
- updateTextLayout();
- q->update();
-}
-
-void QLineEditPrivate::updateTextLayout()
-{
- // replace certain non-printable characters with spaces (to avoid
- // drawing boxes when using fonts that don't have glyphs for such
- // characters)
- Q_Q(QLineEdit);
- QString str = q->displayText();
- QChar* uc = str.data();
- for (int i = 0; i < (int)str.length(); ++i) {
- if ((uc[i] < 0x20 && uc[i] != 0x09)
- || uc[i] == QChar::LineSeparator
- || uc[i] == QChar::ParagraphSeparator
- || uc[i] == QChar::ObjectReplacementCharacter)
- uc[i] = QChar(0x0020);
- }
- textLayout.setFont(q->font());
- textLayout.setText(str);
- QTextOption option;
- option.setTextDirection(q->layoutDirection());
- option.setFlags(QTextOption::IncludeTrailingSpaces);
- textLayout.setTextOption(option);
-
- textLayout.beginLayout();
- QTextLine l = textLayout.createLine();
- textLayout.endLayout();
- ascent = qRound(l.ascent());
-}
-
-int QLineEditPrivate::xToPos(int x, QTextLine::CursorPosition betweenOrOn) const
-{
- QRect cr = adjustedContentsRect();
- x-= cr.x() - hscroll + horizontalMargin;
- QTextLine l = textLayout.lineAt(0);
- return l.xToCursor(x, betweenOrOn);
-}
-
-QRect QLineEditPrivate::cursorRect() const
-{
- Q_Q(const QLineEdit);
- QRect cr = adjustedContentsRect();
- int cix = cr.x() - hscroll + horizontalMargin;
- QTextLine l = textLayout.lineAt(0);
- int c = cursor;
- if (preeditCursor != -1)
- c += preeditCursor;
- cix += qRound(l.cursorToX(c));
- int ch = qMin(cr.height(), q->fontMetrics().height() + 1);
- int w = q->style()->pixelMetric(QStyle::PM_TextCursorWidth);
- return QRect(cix-5, vscroll, w + 9, ch);
-}
-
-QRect QLineEditPrivate::adjustedContentsRect() const
-{
- Q_Q(const QLineEdit);
- QStyleOptionFrameV2 opt;
- q->initStyleOption(&opt);
- QRect r = q->style()->subElementRect(QStyle::SE_LineEditContents, &opt, q);
- r.setX(r.x() + leftTextMargin);
- r.setY(r.y() + topTextMargin);
- r.setRight(r.right() - rightTextMargin);
- r.setBottom(r.bottom() - bottomTextMargin);
- return r;
-}
-
-bool QLineEditPrivate::fixup() // this function assumes that validate currently returns != Acceptable
-{
-#ifndef QT_NO_VALIDATOR
- if (validator) {
- QString textCopy = text;
- int cursorCopy = cursor;
- validator->fixup(textCopy);
- if (validator->validate(textCopy, cursorCopy) == QValidator::Acceptable) {
- if (textCopy != text || cursorCopy != cursor)
- setText(textCopy, cursorCopy);
- return true;
- }
- }
-#endif
- return false;
-}
-
-void QLineEditPrivate::moveCursor(int pos, bool mark)
-{
- Q_Q(QLineEdit);
- if (pos != cursor) {
- separate();
- if (maskData)
- pos = pos > cursor ? nextMaskBlank(pos) : prevMaskBlank(pos);
- }
- bool fullUpdate = mark || hasSelectedText();
- if (mark) {
- int anchor;
- if (selend > selstart && cursor == selstart)
- anchor = selend;
- else if (selend > selstart && cursor == selend)
- anchor = selstart;
- else
- anchor = cursor;
- selstart = qMin(anchor, pos);
- selend = qMax(anchor, pos);
- updateTextLayout();
- } else {
- deselect();
- }
- if (fullUpdate) {
- cursor = pos;
- q->update();
- } else {
- setCursorVisible(false);
- cursor = pos;
- setCursorVisible(true);
- if (!adjustedContentsRect().contains(cursorRect()))
- q->update();
- }
- QStyleOptionFrameV2 opt;
- q->initStyleOption(&opt);
- if (mark && !q->style()->styleHint(QStyle::SH_BlinkCursorWhenTextSelected, &opt, q))
- setCursorVisible(false);
- if (mark || selDirty) {
- selDirty = false;
- emit q->selectionChanged();
- }
- q->updateMicroFocus();
- emitCursorPositionChanged();
-}
-
-void QLineEditPrivate::finishChange(int validateFromState, bool update, bool edited)
-{
- Q_Q(QLineEdit);
- bool lineDirty = selDirty;
- if (textDirty) {
- // do validation
- bool wasValidInput = validInput;
- validInput = true;
-#ifndef QT_NO_VALIDATOR
- if (validator) {
- validInput = false;
- QString textCopy = text;
- int cursorCopy = cursor;
- validInput = (validator->validate(textCopy, cursorCopy) != QValidator::Invalid);
- if (validInput) {
- if (text != textCopy) {
- setText(textCopy, cursorCopy);
- return;
- }
- cursor = cursorCopy;
- }
- }
-#endif
- if (validateFromState >= 0 && wasValidInput && !validInput) {
- undo(validateFromState);
- history.resize(undoState);
- if (modifiedState > undoState)
- modifiedState = -1;
- validInput = true;
- textDirty = false;
- }
- updateTextLayout();
- lineDirty |= textDirty;
- if (textDirty) {
- textDirty = false;
- QString actualText = maskData ? stripString(text) : text;
- if (edited)
- emit q->textEdited(actualText);
- q->updateMicroFocus();
-#ifndef QT_NO_COMPLETER
- if (edited && completer && completer->completionMode() != QCompleter::InlineCompletion)
- complete(-1); // update the popup on cut/paste/del
-#endif
- emit q->textChanged(actualText);
- }
-#ifndef QT_NO_ACCESSIBILITY
- QAccessible::updateAccessibility(q, 0, QAccessible::ValueChanged);
-#endif
- }
- if (selDirty) {
- selDirty = false;
- emit q->selectionChanged();
- }
- if (lineDirty || update)
- q->update();
- emitCursorPositionChanged();
-}
-
-void QLineEditPrivate::emitCursorPositionChanged()
-{
- Q_Q(QLineEdit);
- if (cursor != lastCursorPos) {
- const int oldLast = lastCursorPos;
- lastCursorPos = cursor;
- emit q->cursorPositionChanged(oldLast, cursor);
- }
-}
-
-void QLineEditPrivate::setText(const QString& txt, int pos, bool edited)
-{
- Q_Q(QLineEdit);
- q->resetInputContext();
- deselect();
- QString oldText = text;
- if (maskData) {
- text = maskString(0, txt, true);
- text += clearString(text.length(), maxLength - text.length());
- } else {
- text = txt.isEmpty() ? txt : txt.left(maxLength);
- }
- history.clear();
- modifiedState = undoState = 0;
- cursor = (pos < 0 || pos > text.length()) ? text.length() : pos;
- textDirty = (oldText != text);
- finishChange(-1, true, edited);
-}
-
-
-void QLineEditPrivate::setCursorVisible(bool visible)
-{
- Q_Q(QLineEdit);
- if ((bool)cursorVisible == visible)
- return;
- if (cursorTimer)
- cursorVisible = visible;
- QRect r = cursorRect();
- if (maskData)
- q->update();
- else
- q->update(r);
-}
-
-void QLineEditPrivate::addCommand(const Command& cmd)
-{
- if (separator && undoState && history[undoState-1].type != Separator) {
- history.resize(undoState + 2);
- history[undoState++] = Command(Separator, cursor, 0, selstart, selend);
- } else {
- history.resize(undoState + 1);
- }
- separator = false;
- history[undoState++] = cmd;
-}
-
-void QLineEditPrivate::insert(const QString& s)
-{
- if (hasSelectedText())
- addCommand(Command(SetSelection, cursor, 0, selstart, selend));
- if (maskData) {
- QString ms = maskString(cursor, s);
- for (int i = 0; i < (int) ms.length(); ++i) {
- addCommand (Command(DeleteSelection, cursor+i, text.at(cursor+i), -1, -1));
- addCommand(Command(Insert, cursor+i, ms.at(i), -1, -1));
- }
- text.replace(cursor, ms.length(), ms);
- cursor += ms.length();
- cursor = nextMaskBlank(cursor);
- textDirty = true;
- } else {
- int remaining = maxLength - text.length();
- if (remaining != 0) {
- text.insert(cursor, s.left(remaining));
- for (int i = 0; i < (int) s.left(remaining).length(); ++i)
- addCommand(Command(Insert, cursor++, s.at(i), -1, -1));
- textDirty = true;
- }
- }
-}
-
-void QLineEditPrivate::del(bool wasBackspace)
-{
- if (cursor < (int) text.length()) {
- if (hasSelectedText())
- addCommand(Command(SetSelection, cursor, 0, selstart, selend));
- addCommand (Command((CommandType)((maskData?2:0)+(wasBackspace?Remove:Delete)), cursor, text.at(cursor), -1, -1));
- if (maskData) {
- text.replace(cursor, 1, clearString(cursor, 1));
- addCommand(Command(Insert, cursor, text.at(cursor), -1, -1));
- } else {
- text.remove(cursor, 1);
- }
- textDirty = true;
- }
-}
-
-void QLineEditPrivate::removeSelectedText()
-{
- if (selstart < selend && selend <= (int) text.length()) {
- separate();
- int i ;
- addCommand(Command(SetSelection, cursor, 0, selstart, selend));
- if (selstart <= cursor && cursor < selend) {
- // cursor is within the selection. Split up the commands
- // to be able to restore the correct cursor position
- for (i = cursor; i >= selstart; --i)
- addCommand (Command(DeleteSelection, i, text.at(i), -1, 1));
- for (i = selend - 1; i > cursor; --i)
- addCommand (Command(DeleteSelection, i - cursor + selstart - 1, text.at(i), -1, -1));
- } else {
- for (i = selend-1; i >= selstart; --i)
- addCommand (Command(RemoveSelection, i, text.at(i), -1, -1));
- }
- if (maskData) {
- text.replace(selstart, selend - selstart, clearString(selstart, selend - selstart));
- for (int i = 0; i < selend - selstart; ++i)
- addCommand(Command(Insert, selstart + i, text.at(selstart + i), -1, -1));
- } else {
- text.remove(selstart, selend - selstart);
- }
- if (cursor > selstart)
- cursor -= qMin(cursor, selend) - selstart;
- deselect();
- textDirty = true;
-
- // adjust hscroll to avoid gap
- const int minRB = qMax(0, -q_func()->fontMetrics().minRightBearing());
- updateTextLayout();
- const QTextLine line = textLayout.lineAt(0);
- const int widthUsed = qRound(line.naturalTextWidth()) + 1 + minRB;
- hscroll = qMin(hscroll, widthUsed);
- }
-}
-
-void QLineEditPrivate::parseInputMask(const QString &maskFields)
-{
- int delimiter = maskFields.indexOf(QLatin1Char(';'));
- if (maskFields.isEmpty() || delimiter == 0) {
- if (maskData) {
- delete [] maskData;
- maskData = 0;
- maxLength = 32767;
- setText(QString());
- }
- return;
- }
-
- if (delimiter == -1) {
- blank = QLatin1Char(' ');
- inputMask = maskFields;
- } else {
- inputMask = maskFields.left(delimiter);
- blank = (delimiter + 1 < maskFields.length()) ? maskFields[delimiter + 1] : QLatin1Char(' ');
- }
-
- // calculate maxLength / maskData length
- maxLength = 0;
- QChar c = 0;
- for (int i=0; i<inputMask.length(); i++) {
- c = inputMask.at(i);
- if (i > 0 && inputMask.at(i-1) == QLatin1Char('\\')) {
- maxLength++;
- continue;
- }
- if (c != QLatin1Char('\\') && c != QLatin1Char('!') &&
- c != QLatin1Char('<') && c != QLatin1Char('>') &&
- c != QLatin1Char('{') && c != QLatin1Char('}') &&
- c != QLatin1Char('[') && c != QLatin1Char(']'))
- maxLength++;
- }
-
- delete [] maskData;
- maskData = new MaskInputData[maxLength];
-
- MaskInputData::Casemode m = MaskInputData::NoCaseMode;
- c = 0;
- bool s;
- bool escape = false;
- int index = 0;
- for (int i = 0; i < inputMask.length(); i++) {
- c = inputMask.at(i);
- if (escape) {
- s = true;
- maskData[index].maskChar = c;
- maskData[index].separator = s;
- maskData[index].caseMode = m;
- index++;
- escape = false;
- } else if (c == QLatin1Char('<')) {
- m = MaskInputData::Lower;
- } else if (c == QLatin1Char('>')) {
- m = MaskInputData::Upper;
- } else if (c == QLatin1Char('!')) {
- m = MaskInputData::NoCaseMode;
- } else if (c != QLatin1Char('{') && c != QLatin1Char('}') && c != QLatin1Char('[') && c != QLatin1Char(']')) {
- switch (c.unicode()) {
- case 'A':
- case 'a':
- case 'N':
- case 'n':
- case 'X':
- case 'x':
- case '9':
- case '0':
- case 'D':
- case 'd':
- case '#':
- case 'H':
- case 'h':
- case 'B':
- case 'b':
- s = false;
- break;
- case '\\':
- escape = true;
- default:
- s = true;
- break;
- }
-
- if (!escape) {
- maskData[index].maskChar = c;
- maskData[index].separator = s;
- maskData[index].caseMode = m;
- index++;
- }
- }
- }
- setText(text);
-}
-
-
-/* checks if the key is valid compared to the inputMask */
-bool QLineEditPrivate::isValidInput(QChar key, QChar mask) const
-{
- switch (mask.unicode()) {
- case 'A':
- if (key.isLetter())
- return true;
break;
- case 'a':
- if (key.isLetter() || key == blank)
- return true;
- break;
- case 'N':
- if (key.isLetterOrNumber())
- return true;
- break;
- case 'n':
- if (key.isLetterOrNumber() || key == blank)
- return true;
- break;
- case 'X':
- if (key.isPrint())
- return true;
- break;
- case 'x':
- if (key.isPrint() || key == blank)
- return true;
- break;
- case '9':
- if (key.isNumber())
- return true;
- break;
- case '0':
- if (key.isNumber() || key == blank)
- return true;
- break;
- case 'D':
- if (key.isNumber() && key.digitValue() > 0)
- return true;
+ case QEvent::FontChange:
+ d->control->setFont(font());
break;
- case 'd':
- if ((key.isNumber() && key.digitValue() > 0) || key == blank)
- return true;
- break;
- case '#':
- if (key.isNumber() || key == QLatin1Char('+') || key == QLatin1Char('-') || key == blank)
- return true;
- break;
- case 'B':
- if (key == QLatin1Char('0') || key == QLatin1Char('1'))
- return true;
- break;
- case 'b':
- if (key == QLatin1Char('0') || key == QLatin1Char('1') || key == blank)
- return true;
- break;
- case 'H':
- if (key.isNumber() || (key >= QLatin1Char('a') && key <= QLatin1Char('f')) || (key >= QLatin1Char('A') && key <= QLatin1Char('F')))
- return true;
+ case QEvent::StyleChange:
+ d->control->setPasswordCharacter(style()->styleHint(QStyle::SH_LineEdit_PasswordCharacter));
+ update();
break;
- case 'h':
- if (key.isNumber() || (key >= QLatin1Char('a') && key <= QLatin1Char('f')) || (key >= QLatin1Char('A') && key <= QLatin1Char('F')) || key == blank)
- return true;
+ case QEvent::LayoutDirectionChange:
+ d->control->setLayoutDirection(layoutDirection());
break;
default:
break;
}
- return false;
-}
-
-bool QLineEditPrivate::hasAcceptableInput(const QString &str) const
-{
-#ifndef QT_NO_VALIDATOR
- QString textCopy = str;
- int cursorCopy = cursor;
- if (validator && validator->validate(textCopy, cursorCopy)
- != QValidator::Acceptable)
- return false;
-#endif
-
- if (!maskData)
- return true;
-
- if (str.length() != maxLength)
- return false;
-
- for (int i=0; i < maxLength; ++i) {
- if (maskData[i].separator) {
- if (str.at(i) != maskData[i].maskChar)
- return false;
- } else {
- if (!isValidInput(str.at(i), maskData[i].maskChar))
- return false;
- }
- }
- return true;
-}
-
-/*
- Applies the inputMask on \a str starting from position \a pos in the mask. \a clear
- specifies from where characters should be gotten when a separator is met in \a str - true means
- that blanks will be used, false that previous input is used.
- Calling this when no inputMask is set is undefined.
-*/
-QString QLineEditPrivate::maskString(uint pos, const QString &str, bool clear) const
-{
- if (pos >= (uint)maxLength)
- return QString::fromLatin1("");
-
- QString fill;
- fill = clear ? clearString(0, maxLength) : text;
-
- int strIndex = 0;
- QString s = QString::fromLatin1("");
- int i = pos;
- while (i < maxLength) {
- if (strIndex < str.length()) {
- if (maskData[i].separator) {
- s += maskData[i].maskChar;
- if (str[(int)strIndex] == maskData[i].maskChar)
- strIndex++;
- ++i;
- } else {
- if (isValidInput(str[(int)strIndex], maskData[i].maskChar)) {
- switch (maskData[i].caseMode) {
- case MaskInputData::Upper:
- s += str[(int)strIndex].toUpper();
- break;
- case MaskInputData::Lower:
- s += str[(int)strIndex].toLower();
- break;
- default:
- s += str[(int)strIndex];
- }
- ++i;
- } else {
- // search for separator first
- int n = findInMask(i, true, true, str[(int)strIndex]);
- if (n != -1) {
- if (str.length() != 1 || i == 0 || (i > 0 && (!maskData[i-1].separator || maskData[i-1].maskChar != str[(int)strIndex]))) {
- s += fill.mid(i, n-i+1);
- i = n + 1; // update i to find + 1
- }
- } else {
- // search for valid blank if not
- n = findInMask(i, true, false, str[(int)strIndex]);
- if (n != -1) {
- s += fill.mid(i, n-i);
- switch (maskData[n].caseMode) {
- case MaskInputData::Upper:
- s += str[(int)strIndex].toUpper();
- break;
- case MaskInputData::Lower:
- s += str[(int)strIndex].toLower();
- break;
- default:
- s += str[(int)strIndex];
- }
- i = n + 1; // updates i to find + 1
- }
- }
- }
- strIndex++;
- }
- } else
- break;
- }
-
- return s;
-}
-
-
-
-/*
- Returns a "cleared" string with only separators and blank chars.
- Calling this when no inputMask is set is undefined.
-*/
-QString QLineEditPrivate::clearString(uint pos, uint len) const
-{
- if (pos >= (uint)maxLength)
- return QString();
-
- QString s;
- int end = qMin((uint)maxLength, pos + len);
- for (int i=pos; i<end; i++)
- if (maskData[i].separator)
- s += maskData[i].maskChar;
- else
- s += blank;
-
- return s;
-}
-
-/*
- Strips blank parts of the input in a QLineEdit when an inputMask is set,
- separators are still included. Typically "127.0__.0__.1__" becomes "127.0.0.1".
-*/
-QString QLineEditPrivate::stripString(const QString &str) const
-{
- if (!maskData)
- return str;
-
- QString s;
- int end = qMin(maxLength, (int)str.length());
- for (int i=0; i < end; i++)
- if (maskData[i].separator)
- s += maskData[i].maskChar;
- else
- if (str[i] != blank)
- s += str[i];
-
- return s;
-}
-
-/* searches forward/backward in maskData for either a separator or a blank */
-int QLineEditPrivate::findInMask(int pos, bool forward, bool findSeparator, QChar searchChar) const
-{
- if (pos >= maxLength || pos < 0)
- return -1;
-
- int end = forward ? maxLength : -1;
- int step = forward ? 1 : -1;
- int i = pos;
-
- while (i != end) {
- if (findSeparator) {
- if (maskData[i].separator && maskData[i].maskChar == searchChar)
- return i;
- } else {
- if (!maskData[i].separator) {
- if (searchChar.isNull())
- return i;
- else if (isValidInput(searchChar, maskData[i].maskChar))
- return i;
- }
- }
- i += step;
- }
- return -1;
-}
-
-void QLineEditPrivate::undo(int until)
-{
- if (!isUndoAvailable())
- return;
- deselect();
- while (undoState && undoState > until) {
- Command& cmd = history[--undoState];
- switch (cmd.type) {
- case Insert:
- text.remove(cmd.pos, 1);
- cursor = cmd.pos;
- break;
- case SetSelection:
- selstart = cmd.selStart;
- selend = cmd.selEnd;
- cursor = cmd.pos;
- break;
- case Remove:
- case RemoveSelection:
- text.insert(cmd.pos, cmd.uc);
- cursor = cmd.pos + 1;
- break;
- case Delete:
- case DeleteSelection:
- text.insert(cmd.pos, cmd.uc);
- cursor = cmd.pos;
- break;
- case Separator:
- continue;
- }
- if (until < 0 && undoState) {
- Command& next = history[undoState-1];
- if (next.type != cmd.type && next.type < RemoveSelection
- && (cmd.type < RemoveSelection || next.type == Separator))
- break;
- }
- }
- textDirty = true;
- emitCursorPositionChanged();
-}
-
-void QLineEditPrivate::redo() {
- if (!isRedoAvailable())
- return;
- deselect();
- while (undoState < (int)history.size()) {
- Command& cmd = history[undoState++];
- switch (cmd.type) {
- case Insert:
- text.insert(cmd.pos, cmd.uc);
- cursor = cmd.pos + 1;
- break;
- case SetSelection:
- selstart = cmd.selStart;
- selend = cmd.selEnd;
- cursor = cmd.pos;
- break;
- case Remove:
- case Delete:
- case RemoveSelection:
- case DeleteSelection:
- text.remove(cmd.pos, 1);
- selstart = cmd.selStart;
- selend = cmd.selEnd;
- cursor = cmd.pos;
- break;
- case Separator:
- selstart = cmd.selStart;
- selend = cmd.selEnd;
- cursor = cmd.pos;
- break;
- }
- if (undoState < (int)history.size()) {
- Command& next = history[undoState];
- if (next.type != cmd.type && cmd.type < RemoveSelection && next.type != Separator
- && (next.type < RemoveSelection || cmd.type == Separator))
- break;
- }
- }
- textDirty = true;
- emitCursorPositionChanged();
+ QWidget::changeEvent(ev);
}
/*!
diff --git a/src/gui/widgets/qlineedit.h b/src/gui/widgets/qlineedit.h
index 0d01253..daac6a7 100644
--- a/src/gui/widgets/qlineedit.h
+++ b/src/gui/widgets/qlineedit.h
@@ -265,9 +265,11 @@ private:
friend class QDateTimeEdit;
#endif
Q_DISABLE_COPY(QLineEdit)
- Q_DECLARE_SCOPED_PRIVATE(QLineEdit)
+ Q_DECLARE_PRIVATE(QLineEdit)
Q_PRIVATE_SLOT(d_func(), void _q_handleWindowActivate())
Q_PRIVATE_SLOT(d_func(), void _q_deleteSelected())
+ Q_PRIVATE_SLOT(d_func(), void _q_textEdited(const QString &))
+ Q_PRIVATE_SLOT(d_func(), void _q_cursorPositionChanged(int, int))
#ifndef QT_NO_COMPLETER
Q_PRIVATE_SLOT(d_func(), void _q_completionHighlighted(QString))
#endif
diff --git a/src/gui/widgets/qlineedit_p.cpp b/src/gui/widgets/qlineedit_p.cpp
new file mode 100644
index 0000000..f0ec8ad
--- /dev/null
+++ b/src/gui/widgets/qlineedit_p.cpp
@@ -0,0 +1,253 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtGui module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "qlineedit.h"
+#include "qlineedit_p.h"
+
+#ifndef QT_NO_LINEEDIT
+
+#include "qabstractitemview.h"
+#include "qclipboard.h"
+#ifndef QT_NO_ACCESSIBILITY
+#include "qaccessible.h"
+#endif
+#ifndef QT_NO_IM
+#include "qinputcontext.h"
+#include "qlist.h"
+#endif
+
+QT_BEGIN_NAMESPACE
+
+const int QLineEditPrivate::verticalMargin(1);
+const int QLineEditPrivate::horizontalMargin(2);
+
+int QLineEditPrivate::xToPos(int x, QTextLine::CursorPosition betweenOrOn) const
+{
+ QRect cr = adjustedContentsRect();
+ x-= cr.x() - hscroll + horizontalMargin;
+ return control->xToPos(x, betweenOrOn);
+}
+
+QRect QLineEditPrivate::cursorRect() const
+{
+ QRect cr = adjustedContentsRect();
+ int cix = cr.x() - hscroll + horizontalMargin;
+ QRect crect = control->cursorRect();
+ crect.moveTo(crect.topLeft() + QPoint(cix, vscroll));
+ return crect;
+}
+
+#ifndef QT_NO_COMPLETER
+
+void QLineEditPrivate::_q_completionHighlighted(QString newText)
+{
+ Q_Q(QLineEdit);
+ if (control->completer()->completionMode() != QCompleter::InlineCompletion) {
+ q->setText(newText);
+ } else {
+ int c = control->cursor();
+ QString text = control->text();
+ q->setText(text.left(c) + newText.mid(c));
+ control->moveCursor(control->end(), false);
+ control->moveCursor(c, true);
+ }
+}
+
+#endif // QT_NO_COMPLETER
+
+void QLineEditPrivate::_q_clipboardChanged()
+{
+}
+
+void QLineEditPrivate::_q_handleWindowActivate()
+{
+ Q_Q(QLineEdit);
+ if (!q->hasFocus() && control->hasSelectedText())
+ control->deselect();
+}
+
+void QLineEditPrivate::_q_deleteSelected()
+{
+}
+
+void QLineEditPrivate::_q_textEdited(const QString &text)
+{
+ Q_Q(QLineEdit);
+#ifndef QT_NO_COMPLETER
+ if (control->completer() &&
+ control->completer()->completionMode() != QCompleter::InlineCompletion)
+ control->complete(-1); // update the popup on cut/paste/del
+#endif
+ emit q->textEdited(text);
+}
+
+void QLineEditPrivate::_q_cursorPositionChanged(int from, int to)
+{
+ Q_Q(QLineEdit);
+ q->update();
+ emit q->cursorPositionChanged(from, to);
+}
+
+void QLineEditPrivate::init(const QString& txt)
+{
+ Q_Q(QLineEdit);
+ control = new QLineControl(txt);
+ QObject::connect(control, SIGNAL(textChanged(const QString &)),
+ q, SIGNAL(textChanged(const QString &)));
+ QObject::connect(control, SIGNAL(textEdited(const QString &)),
+ q, SLOT(_q_textEdited(const QString &)));
+ QObject::connect(control, SIGNAL(cursorPositionChanged(int, int)),
+ q, SLOT(_q_cursorPositionChanged(int, int)));
+ QObject::connect(control, SIGNAL(selectionChanged()),
+ q, SIGNAL(selectionChanged()));
+ QObject::connect(control, SIGNAL(accepted()),
+ q, SIGNAL(returnPressed()));
+ QObject::connect(control, SIGNAL(editingFinished()),
+ q, SIGNAL(editingFinished()));
+
+ // for now, going completely overboard with updates.
+ QObject::connect(control, SIGNAL(selectionChanged()),
+ q, SLOT(update()));
+
+ QObject::connect(control, SIGNAL(displayTextChanged(const QString &)),
+ q, SLOT(update()));
+ control->setPasswordCharacter(q->style()->styleHint(QStyle::SH_LineEdit_PasswordCharacter));
+#ifndef QT_NO_CURSOR
+ q->setCursor(Qt::IBeamCursor);
+#endif
+ q->setFocusPolicy(Qt::StrongFocus);
+ q->setAttribute(Qt::WA_InputMethodEnabled);
+ // Specifies that this widget can use more, but is able to survive on
+ // less, horizontal space; and is fixed vertically.
+ q->setSizePolicy(QSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed, QSizePolicy::LineEdit));
+ q->setBackgroundRole(QPalette::Base);
+ q->setAttribute(Qt::WA_KeyCompression);
+ q->setMouseTracking(true);
+ q->setAcceptDrops(true);
+
+ q->setAttribute(Qt::WA_MacShowFocusRect);
+}
+
+QRect QLineEditPrivate::adjustedContentsRect() const
+{
+ Q_Q(const QLineEdit);
+ QStyleOptionFrameV2 opt;
+ q->initStyleOption(&opt);
+ QRect r = q->style()->subElementRect(QStyle::SE_LineEditContents, &opt, q);
+ r.setX(r.x() + leftTextMargin);
+ r.setY(r.y() + topTextMargin);
+ r.setRight(r.right() - rightTextMargin);
+ r.setBottom(r.bottom() - bottomTextMargin);
+ return r;
+}
+
+void QLineEditPrivate::setCursorVisible(bool visible)
+{
+ Q_Q(QLineEdit);
+ if ((bool)cursorVisible == visible)
+ return;
+ cursorVisible = visible;
+ QRect r = cursorRect();
+ if (control->inputMask().isEmpty())
+ q->update(r);
+ else
+ q->update();
+}
+
+void QLineEditPrivate::updatePasswordEchoEditing(bool editing)
+{
+ Q_Q(QLineEdit);
+ control->updatePasswordEchoEditing(editing);
+ q->setAttribute(Qt::WA_InputMethodEnabled, shouldEnableInputMethod());
+}
+
+/*!
+ This function is not intended as polymorphic usage. Just a shared code
+ fragment that calls QInputContext::mouseHandler for this
+ class.
+*/
+bool QLineEditPrivate::sendMouseEventToInputContext( QMouseEvent *e )
+{
+#if !defined QT_NO_IM
+ Q_Q(QLineEdit);
+ if ( control->composeMode() ) {
+ int tmp_cursor = xToPos(e->pos().x());
+ int mousePos = tmp_cursor - control->cursor();
+ if ( mousePos < 0 || mousePos > control->preeditAreaText().length() ) {
+ mousePos = -1;
+ // don't send move events outside the preedit area
+ if ( e->type() == QEvent::MouseMove )
+ return true;
+ }
+
+ QInputContext *qic = q->inputContext();
+ if ( qic )
+ // may be causing reset() in some input methods
+ qic->mouseHandler(mousePos, e);
+ if (!control->preeditAreaText().isEmpty())
+ return true;
+ }
+#else
+ Q_UNUSED(e);
+#endif
+
+ return false;
+}
+
+#ifndef QT_NO_DRAGANDDROP
+void QLineEditPrivate::drag()
+{
+ Q_Q(QLineEdit);
+ dndTimer.stop();
+ QMimeData *data = new QMimeData;
+ data->setText(control->selectedText());
+ QDrag *drag = new QDrag(q);
+ drag->setMimeData(data);
+ Qt::DropAction action = drag->start();
+ if (action == Qt::MoveAction && !control->isReadOnly() && drag->target() != q)
+ control->removeSelection();
+}
+
+#endif // QT_NO_DRAGANDDROP
+
+QT_END_NAMESPACE
+
+#endif
diff --git a/src/gui/widgets/qlineedit_p.h b/src/gui/widgets/qlineedit_p.h
index 03029f9..b09c3f0 100644
--- a/src/gui/widgets/qlineedit_p.h
+++ b/src/gui/widgets/qlineedit_p.h
@@ -65,6 +65,8 @@
#include "QtCore/qpointer.h"
#include "QtGui/qlineedit.h"
+#include "private/qlinecontrol_p.h"
+
QT_BEGIN_NAMESPACE
class QLineEditPrivate : public QWidgetPrivate
@@ -73,169 +75,65 @@ class QLineEditPrivate : public QWidgetPrivate
public:
QLineEditPrivate()
- : cursor(0), preeditCursor(0), cursorTimer(0), frame(1),
- cursorVisible(0), hideCursor(false), separator(0), readOnly(0),
- dragEnabled(0), contextMenuEnabled(1), echoMode(0), textDirty(0),
- selDirty(0), validInput(1), clickCausedFocus(0),
- alignment(Qt::AlignLeading | Qt::AlignVCenter), ascent(0),
- maxLength(32767), hscroll(0), vscroll(0), lastCursorPos(-1), maskData(0),
- modifiedState(0), undoState(0), selstart(0), selend(0), userInput(false),
- emitingEditingFinished(false), passwordEchoEditing(false)
-#ifndef QT_NO_COMPLETER
- , completer(0)
-#endif
- , leftTextMargin(0), topTextMargin(0), rightTextMargin(0), bottomTextMargin(0)
- {
- }
+ : control(0), frame(1), contextMenuEnabled(1), cursorVisible(0),
+ dragEnabled(0), hscroll(0), vscroll(0), clickCausedFocus(0),
+ alignment(Qt::AlignLeading | Qt::AlignVCenter),
+ leftTextMargin(0), topTextMargin(0), rightTextMargin(0), bottomTextMargin(0)
+ {
+ }
~QLineEditPrivate()
{
- delete [] maskData;
}
+
+ QLineControl *control;
+
+#ifndef QT_NO_CONTEXTMENU
+ QPointer<QAction> selectAllAction;
+#endif
void init(const QString&);
- QString text;
- int cursor;
- int preeditCursor;
- int cursorTimer; // -1 for non blinking cursor.
+ int xToPos(int x, QTextLine::CursorPosition = QTextLine::CursorBetweenCharacters) const;
+ QRect cursorRect() const;
+ void setCursorVisible(bool visible);
+
+ void updatePasswordEchoEditing(bool);
+
+ inline bool shouldEnableInputMethod() const
+ {
+ return !control->isReadOnly() && (control->echoMode() == QLineEdit::Normal || control->echoMode() == QLineEdit::PasswordEchoOnEdit);
+ }
+
QPoint tripleClick;
QBasicTimer tripleClickTimer;
uint frame : 1;
+ uint contextMenuEnabled : 1;
uint cursorVisible : 1;
- uint hideCursor : 1; // used to hide the cursor inside preedit areas
- uint separator : 1;
- uint readOnly : 1;
uint dragEnabled : 1;
- uint contextMenuEnabled : 1;
- uint echoMode : 2;
- uint textDirty : 1;
- uint selDirty : 1;
- uint validInput : 1;
uint clickCausedFocus : 1;
- uint alignment;
- int ascent;
- int maxLength;
int hscroll;
int vscroll;
- int lastCursorPos;
-
-#ifndef QT_NO_CONTEXTMENU
- QPointer<QAction> selectAllAction;
-#endif
+ uint alignment;
+ static const int verticalMargin;
+ static const int horizontalMargin;
- inline void emitCursorPositionChanged();
bool sendMouseEventToInputContext(QMouseEvent *e);
- void finishChange(int validateFromState = -1, bool update = false, bool edited = true);
-
- QPointer<QValidator> validator;
- struct MaskInputData {
- enum Casemode { NoCaseMode, Upper, Lower };
- QChar maskChar; // either the separator char or the inputmask
- bool separator;
- Casemode caseMode;
- };
- QString inputMask;
- QChar blank;
- MaskInputData *maskData;
- inline int nextMaskBlank(int pos) {
- int c = findInMask(pos, true, false);
- separator |= (c != pos);
- return (c != -1 ? c : maxLength);
- }
- inline int prevMaskBlank(int pos) {
- int c = findInMask(pos, false, false);
- separator |= (c != pos);
- return (c != -1 ? c : 0);
- }
-
- void setCursorVisible(bool visible);
-
-
- // undo/redo handling
- enum CommandType { Separator, Insert, Remove, Delete, RemoveSelection, DeleteSelection, SetSelection };
- struct Command {
- inline Command() {}
- inline Command(CommandType t, int p, QChar c, int ss, int se) : type(t),uc(c),pos(p),selStart(ss),selEnd(se) {}
- uint type : 4;
- QChar uc;
- int pos, selStart, selEnd;
- };
- int modifiedState;
- int undoState;
- QVector<Command> history;
- void addCommand(const Command& cmd);
- void insert(const QString& s);
- void del(bool wasBackspace = false);
- void remove(int pos);
-
- inline void separate() { separator = true; }
- void undo(int until = -1);
- void redo();
- inline bool isUndoAvailable() const { return !readOnly && undoState; }
- inline bool isRedoAvailable() const { return !readOnly && undoState < (int)history.size(); }
-
- // selection
- int selstart, selend;
- inline bool allSelected() const { return !text.isEmpty() && selstart == 0 && selend == (int)text.length(); }
- inline bool hasSelectedText() const { return !text.isEmpty() && selend > selstart; }
- inline void deselect() { selDirty |= (selend > selstart); selstart = selend = 0; }
- void removeSelectedText();
-#ifndef QT_NO_CLIPBOARD
- void copy(bool clipboard = true) const;
-#endif
- inline bool inSelection(int x) const
- { if (selstart >= selend) return false;
- int pos = xToPos(x, QTextLine::CursorOnCharacter); return pos >= selstart && pos < selend; }
-
- // masking
- void parseInputMask(const QString &maskFields);
- bool isValidInput(QChar key, QChar mask) const;
- bool hasAcceptableInput(const QString &text) const;
- QString maskString(uint pos, const QString &str, bool clear = false) const;
- QString clearString(uint pos, uint len) const;
- QString stripString(const QString &str) const;
- int findInMask(int pos, bool forward, bool findSeparator, QChar searchChar = QChar()) const;
-
- // input methods
- bool composeMode() const { return !textLayout.preeditAreaText().isEmpty(); }
-
- // complex text layout
- QTextLayout textLayout;
- void updateTextLayout();
- void moveCursor(int pos, bool mark = false);
- void setText(const QString& txt, int pos = -1, bool edited = true);
- int xToPos(int x, QTextLine::CursorPosition = QTextLine::CursorBetweenCharacters) const;
- QRect cursorRect() const;
- bool fixup();
-
QRect adjustedContentsRect() const;
-#ifndef QT_NO_DRAGANDDROP
- // drag and drop
- QPoint dndPos;
- QBasicTimer dndTimer;
- void drag();
-#endif
-
+ void _q_clipboardChanged();
void _q_handleWindowActivate();
void _q_deleteSelected();
- bool userInput;
- bool emitingEditingFinished;
-
-#ifdef QT_KEYPAD_NAVIGATION
- QBasicTimer deleteAllTimer; // keypad navigation
- QString origText;
-#endif
-
- bool passwordEchoEditing;
- void updatePasswordEchoEditing(bool editing);
+ void _q_textEdited(const QString &);
+ void _q_cursorPositionChanged(int, int);
#ifndef QT_NO_COMPLETER
- QPointer<QCompleter> completer;
- void complete(int key = -1);
void _q_completionHighlighted(QString);
- bool advanceToEnabledItem(int n);
+#endif
+#ifndef QT_NO_DRAGANDDROP
+ QPoint dndPos;
+ QBasicTimer dndTimer;
+ void drag();
#endif
int leftTextMargin;
diff --git a/src/gui/widgets/qmaccocoaviewcontainer_mac.h b/src/gui/widgets/qmaccocoaviewcontainer_mac.h
index 0fdaac5..8ca1073 100644
--- a/src/gui/widgets/qmaccocoaviewcontainer_mac.h
+++ b/src/gui/widgets/qmaccocoaviewcontainer_mac.h
@@ -63,7 +63,7 @@ public:
void *cocoaView() const;
private:
- Q_DECLARE_SCOPED_PRIVATE(QMacCocoaViewContainer)
+ Q_DECLARE_PRIVATE(QMacCocoaViewContainer)
};
QT_END_NAMESPACE
diff --git a/src/gui/widgets/qmacnativewidget_mac.h b/src/gui/widgets/qmacnativewidget_mac.h
index 904108e..5c654b5 100644
--- a/src/gui/widgets/qmacnativewidget_mac.h
+++ b/src/gui/widgets/qmacnativewidget_mac.h
@@ -64,7 +64,7 @@ protected:
bool event(QEvent *ev);
private:
- Q_DECLARE_SCOPED_PRIVATE(QMacNativeWidget)
+ Q_DECLARE_PRIVATE(QMacNativeWidget)
};
QT_END_NAMESPACE
diff --git a/src/gui/widgets/qmainwindow.cpp b/src/gui/widgets/qmainwindow.cpp
index c9706cf..b75b5ea 100644
--- a/src/gui/widgets/qmainwindow.cpp
+++ b/src/gui/widgets/qmainwindow.cpp
@@ -1374,20 +1374,25 @@ bool QMainWindow::event(QEvent *event)
#ifdef Q_WS_MAC
case QEvent::Show:
if (unifiedTitleAndToolBarOnMac())
- macWindowToolbarShow(this, true);
+ d->layout->syncUnifiedToolbarVisibility();
+ d->layout->blockVisiblityCheck = false;
break;
-# ifdef QT_MAC_USE_COCOA
case QEvent::WindowStateChange:
{
+ if (isHidden()) {
+ // We are coming out of a minimize, leave things as is.
+ d->layout->blockVisiblityCheck = true;
+ }
+# ifdef QT_MAC_USE_COCOA
// We need to update the HIToolbar status when we go out of or into fullscreen.
QWindowStateChangeEvent *wce = static_cast<QWindowStateChangeEvent *>(event);
if ((windowState() & Qt::WindowFullScreen) || (wce->oldState() & Qt::WindowFullScreen)) {
d->layout->updateHIToolBarStatus();
}
+# endif // Cocoa
}
break;
-# endif // Cocoa
-#endif
+#endif // Q_WS_MAC
#if !defined(QT_NO_DOCKWIDGET) && !defined(QT_NO_CURSOR)
case QEvent::CursorChange:
if (d->cursorAdjusted) {
diff --git a/src/gui/widgets/qmainwindow.h b/src/gui/widgets/qmainwindow.h
index a221131..9c2fb88 100644
--- a/src/gui/widgets/qmainwindow.h
+++ b/src/gui/widgets/qmainwindow.h
@@ -202,7 +202,7 @@ protected:
bool event(QEvent *event);
private:
- Q_DECLARE_SCOPED_PRIVATE(QMainWindow)
+ Q_DECLARE_PRIVATE(QMainWindow)
Q_DISABLE_COPY(QMainWindow)
};
diff --git a/src/gui/widgets/qmainwindowlayout.cpp b/src/gui/widgets/qmainwindowlayout.cpp
index 526e7a5..3936a67 100644
--- a/src/gui/widgets/qmainwindowlayout.cpp
+++ b/src/gui/widgets/qmainwindowlayout.cpp
@@ -237,7 +237,7 @@ void QMainWindowLayoutState::apply(bool animated)
if (centralWidgetItem != 0) {
QMainWindowLayout *layout = qobject_cast<QMainWindowLayout*>(mainWindow->layout());
Q_ASSERT(layout != 0);
- layout->widgetAnimator->animate(centralWidgetItem->widget(), centralWidgetRect, animated);
+ layout->widgetAnimator.animate(centralWidgetItem->widget(), centralWidgetRect, animated);
}
#endif
}
@@ -426,42 +426,42 @@ QList<int> QMainWindowLayoutState::gapIndex(QWidget *widget,
return result;
}
-bool QMainWindowLayoutState::insertGap(QList<int> path, QLayoutItem *item)
+bool QMainWindowLayoutState::insertGap(const QList<int> &path, QLayoutItem *item)
{
if (path.isEmpty())
return false;
- int i = path.takeFirst();
+ int i = path.first();
#ifndef QT_NO_TOOLBAR
if (i == 0) {
Q_ASSERT(qobject_cast<QToolBar*>(item->widget()) != 0);
- return toolBarAreaLayout.insertGap(path, item);
+ return toolBarAreaLayout.insertGap(path.mid(1), item);
}
#endif
#ifndef QT_NO_DOCKWIDGET
if (i == 1) {
Q_ASSERT(qobject_cast<QDockWidget*>(item->widget()) != 0);
- return dockAreaLayout.insertGap(path, item);
+ return dockAreaLayout.insertGap(path.mid(1), item);
}
#endif //QT_NO_DOCKWIDGET
return false;
}
-void QMainWindowLayoutState::remove(QList<int> path)
+void QMainWindowLayoutState::remove(const QList<int> &path)
{
- int i = path.takeFirst();
+ int i = path.first();
#ifndef QT_NO_TOOLBAR
if (i == 0)
- toolBarAreaLayout.remove(path);
+ toolBarAreaLayout.remove(path.mid(1));
#endif
#ifndef QT_NO_DOCKWIDGET
if (i == 1)
- dockAreaLayout.remove(path);
+ dockAreaLayout.remove(path.mid(1));
#endif //QT_NO_DOCKWIDGET
}
@@ -501,88 +501,88 @@ bool QMainWindowLayoutState::isValid() const
return rect.isValid();
}
-QLayoutItem *QMainWindowLayoutState::item(QList<int> path)
+QLayoutItem *QMainWindowLayoutState::item(const QList<int> &path)
{
- int i = path.takeFirst();
+ int i = path.first();
#ifndef QT_NO_TOOLBAR
if (i == 0)
- return toolBarAreaLayout.item(path).widgetItem;
+ return toolBarAreaLayout.item(path.mid(1)).widgetItem;
#endif
#ifndef QT_NO_DOCKWIDGET
if (i == 1)
- return dockAreaLayout.item(path).widgetItem;
+ return dockAreaLayout.item(path.mid(1)).widgetItem;
#endif //QT_NO_DOCKWIDGET
return 0;
}
-QRect QMainWindowLayoutState::itemRect(QList<int> path) const
+QRect QMainWindowLayoutState::itemRect(const QList<int> &path) const
{
- int i = path.takeFirst();
+ int i = path.first();
#ifndef QT_NO_TOOLBAR
if (i == 0)
- return toolBarAreaLayout.itemRect(path);
+ return toolBarAreaLayout.itemRect(path.mid(1));
#endif
#ifndef QT_NO_DOCKWIDGET
if (i == 1)
- return dockAreaLayout.itemRect(path);
+ return dockAreaLayout.itemRect(path.mid(1));
#endif //QT_NO_DOCKWIDGET
return QRect();
}
-QRect QMainWindowLayoutState::gapRect(QList<int> path) const
+QRect QMainWindowLayoutState::gapRect(const QList<int> &path) const
{
- int i = path.takeFirst();
+ int i = path.first();
#ifndef QT_NO_TOOLBAR
if (i == 0)
- return toolBarAreaLayout.itemRect(path);
+ return toolBarAreaLayout.itemRect(path.mid(1));
#endif
#ifndef QT_NO_DOCKWIDGET
if (i == 1)
- return dockAreaLayout.gapRect(path);
+ return dockAreaLayout.gapRect(path.mid(1));
#endif //QT_NO_DOCKWIDGET
return QRect();
}
-QLayoutItem *QMainWindowLayoutState::plug(QList<int> path)
+QLayoutItem *QMainWindowLayoutState::plug(const QList<int> &path)
{
- int i = path.takeFirst();
+ int i = path.first();
#ifndef QT_NO_TOOLBAR
if (i == 0)
- return toolBarAreaLayout.plug(path);
+ return toolBarAreaLayout.plug(path.mid(1));
#endif
#ifndef QT_NO_DOCKWIDGET
if (i == 1)
- return dockAreaLayout.plug(path);
+ return dockAreaLayout.plug(path.mid(1));
#endif //QT_NO_DOCKWIDGET
return 0;
}
-QLayoutItem *QMainWindowLayoutState::unplug(QList<int> path, QMainWindowLayoutState *other)
+QLayoutItem *QMainWindowLayoutState::unplug(const QList<int> &path, QMainWindowLayoutState *other)
{
- int i = path.takeFirst();
+ int i = path.first();
#ifdef QT_NO_TOOLBAR
Q_UNUSED(other);
#else
if (i == 0)
- return toolBarAreaLayout.unplug(path, other ? &other->toolBarAreaLayout : 0);
+ return toolBarAreaLayout.unplug(path.mid(1), other ? &other->toolBarAreaLayout : 0);
#endif
#ifndef QT_NO_DOCKWIDGET
if (i == 1)
- return dockAreaLayout.unplug(path);
+ return dockAreaLayout.unplug(path.mid(1));
#endif //QT_NO_DOCKWIDGET
return 0;
@@ -939,16 +939,70 @@ void QMainWindowLayout::getStyleOptionInfo(QStyleOptionToolBar *option, QToolBar
void QMainWindowLayout::toggleToolBarsVisible()
{
- layoutState.toolBarAreaLayout.visible = !layoutState.toolBarAreaLayout.visible;
- if (!layoutState.mainWindow->isMaximized()){
- QPoint topLeft = parentWidget()->geometry().topLeft();
- QRect r = parentWidget()->geometry();
- r = layoutState.toolBarAreaLayout.rectHint(r);
- r.moveTo(topLeft);
- parentWidget()->setGeometry(r);
-// widgetAnimator->animate(parentWidget(), r, true);
- } else{
- update();
+ bool updateNonUnifiedParts = true;
+#ifdef Q_WS_MAC
+ if (layoutState.mainWindow->unifiedTitleAndToolBarOnMac()) {
+ // If we hit this case, someone has pressed the "toolbar button" which will
+ // toggle the unified toolbar visiblity, because that's what the user wants.
+ // We might be in a situation where someone has hidden all the toolbars
+ // beforehand (maybe in construction), but now they've hit this button and
+ // and are expecting the items to show. What do we do?
+ // 1) Check the visibility of all the toolbars, if one is visible, do nothing, this
+ // preserves what people would expect (these toolbars were visible when I clicked last time).
+ // 2) If NONE are visible, then show them all. Again, this preserves the user expectation
+ // of, "I want to see the toolbars." The user may get more toolbars than expected, but this
+ // is better seeing nothing.
+ // Don't worry about any of this if we are going invisible. This does mean we may get
+ // into issues when switching into and out of fullscreen mode, but this is probably minor.
+ // If we ever need to do hiding, that would have to be taken care of after the unified toolbar
+ // has finished hiding.
+ // People can of course handle the QEvent::ToolBarChange event themselves and do
+ // WHATEVER they want if they don't like what we are doing (though the unified toolbar
+ // will fire regardless).
+
+ // Check if we REALLY need to update the geometry below. If we only have items in the
+ // unified toolbar, all the docks will be empty, so there's very little point
+ // in doing the geometry as Apple will do it (we also avoid flicker in Cocoa as well).
+ // FWIW, layoutState.toolBarAreaLayout.visible and the state of the unified toolbar
+ // visibility can get out of sync. I really don't think it's a big issue. It is kept
+ // to a minimum because we only change the visibility if we absolutely must.
+ // update the "non unified parts."
+ updateNonUnifiedParts = !layoutState.toolBarAreaLayout.isEmpty();
+
+ // We get this function before the unified toolbar does its thing.
+ // So, the value will be opposite of what we expect.
+ bool goingVisible = !macWindowToolbarIsVisible(qt_mac_window_for(layoutState.mainWindow));
+ if (goingVisible) {
+ const int ToolBarCount = qtoolbarsInUnifiedToolbarList.size();
+ bool needAllVisible = true;
+ for (int i = 0; i < ToolBarCount; ++i) {
+ if (!qtoolbarsInUnifiedToolbarList.at(i)->isHidden()) {
+ needAllVisible = false;
+ break;
+ }
+ }
+ if (needAllVisible) {
+ QBoolBlocker blocker(blockVisiblityCheck); // Disable the visibilty check because
+ // the toggle has already happened.
+ for (int i = 0; i < ToolBarCount; ++i)
+ qtoolbarsInUnifiedToolbarList.at(i)->setVisible(true);
+ }
+ }
+ if (!updateNonUnifiedParts)
+ layoutState.toolBarAreaLayout.visible = goingVisible;
+ }
+#endif
+ if (updateNonUnifiedParts) {
+ layoutState.toolBarAreaLayout.visible = !layoutState.toolBarAreaLayout.visible;
+ if (!layoutState.mainWindow->isMaximized()) {
+ QPoint topLeft = parentWidget()->geometry().topLeft();
+ QRect r = parentWidget()->geometry();
+ r = layoutState.toolBarAreaLayout.rectHint(r);
+ r.moveTo(topLeft);
+ parentWidget()->setGeometry(r);
+ } else {
+ update();
+ }
}
}
@@ -1361,7 +1415,7 @@ QLayoutItem *QMainWindowLayout::takeAt(int index)
if (QLayoutItem *ret = layoutState.takeAt(index, &x)) {
// the widget might in fact have been destroyed by now
if (QWidget *w = ret->widget()) {
- widgetAnimator->abort(w);
+ widgetAnimator.abort(w);
if (w == pluggingWidget)
pluggingWidget = 0;
}
@@ -1528,75 +1582,28 @@ bool QMainWindowLayout::plug(QLayoutItem *widgetItem)
layoutState.remove(previousPath);
pluggingWidget = widget;
- if (dockOptions & QMainWindow::AnimatedDocks) {
- QRect globalRect = currentGapRect;
- globalRect.moveTopLeft(parentWidget()->mapToGlobal(globalRect.topLeft()));
+ QRect globalRect = currentGapRect;
+ globalRect.moveTopLeft(parentWidget()->mapToGlobal(globalRect.topLeft()));
#ifndef QT_NO_DOCKWIDGET
- if (qobject_cast<QDockWidget*>(widget) != 0) {
- QDockWidgetLayout *layout = qobject_cast<QDockWidgetLayout*>(widget->layout());
- if (layout->nativeWindowDeco()) {
- globalRect.adjust(0, layout->titleHeight(), 0, 0);
- } else {
- int fw = widget->style()->pixelMetric(QStyle::PM_DockWidgetFrameWidth, 0, widget);
- globalRect.adjust(-fw, -fw, fw, fw);
- }
+ if (qobject_cast<QDockWidget*>(widget) != 0) {
+ QDockWidgetLayout *layout = qobject_cast<QDockWidgetLayout*>(widget->layout());
+ if (layout->nativeWindowDeco()) {
+ globalRect.adjust(0, layout->titleHeight(), 0, 0);
+ } else {
+ int fw = widget->style()->pixelMetric(QStyle::PM_DockWidgetFrameWidth, 0, widget);
+ globalRect.adjust(-fw, -fw, fw, fw);
}
-#endif
- widgetAnimator->animate(widget, globalRect,
- dockOptions & QMainWindow::AnimatedDocks);
- } else {
-#ifndef QT_NO_DOCKWIDGET
- if (QDockWidget *dw = qobject_cast<QDockWidget*>(widget))
- dw->d_func()->plug(currentGapRect);
-#endif
-#ifndef QT_NO_TOOLBAR
- if (QToolBar *tb = qobject_cast<QToolBar*>(widget))
- tb->d_func()->plug(currentGapRect);
-#endif
- applyState(layoutState);
- savedState.clear();
-#ifndef QT_NO_DOCKWIDGET
- parentWidget()->update(layoutState.dockAreaLayout.separatorRegion());
-#endif
- currentGapPos.clear();
- updateGapIndicator();
- pluggingWidget = 0;
}
+#endif
+ widgetAnimator.animate(widget, globalRect, dockOptions & QMainWindow::AnimatedDocks);
return true;
}
-void QMainWindowLayout::allAnimationsFinished()
-{
-#ifndef QT_NO_DOCKWIDGET
- parentWidget()->update(layoutState.dockAreaLayout.separatorRegion());
-
-#ifndef QT_NO_TABBAR
- foreach (QTabBar *tab_bar, usedTabBars)
- tab_bar->show();
-#endif // QT_NO_TABBAR
-#endif // QT_NO_DOCKWIDGET
-
- updateGapIndicator();
-}
-
void QMainWindowLayout::animationFinished(QWidget *widget)
{
-
- /* This signal is delivered from QWidgetAnimator over a qeued connection. The problem is that
- the widget can be deleted. This is handled as follows:
-
- The animator only ever animates widgets that have been added to this layout. If a widget
- is deleted during animation, the widget's destructor removes the widget form this layout.
- This in turn aborts the animation (see takeAt()) and this signal will never be delivered.
-
- If the widget is deleted after the animation is finished but before this qeued signal
- is delivered, the widget is no longer in the layout and we catch it here. The key is that
- QMainWindowLayoutState::contains() never dereferences the pointer. */
-
- if (!layoutState.contains(widget))
- return;
-
+ //this function is called from within the Widget Animator whenever an animation is finished
+ //on a certain widget
#ifndef QT_NO_TOOLBAR
if (QToolBar *tb = qobject_cast<QToolBar*>(widget)) {
QToolBarLayout *tbl = qobject_cast<QToolBarLayout*>(tb->layout());
@@ -1609,32 +1616,44 @@ void QMainWindowLayout::animationFinished(QWidget *widget)
}
#endif
- if (widget != pluggingWidget)
- return;
+ if (widget == pluggingWidget) {
#ifndef QT_NO_DOCKWIDGET
- if (QDockWidget *dw = qobject_cast<QDockWidget*>(widget))
- dw->d_func()->plug(currentGapRect);
+ if (QDockWidget *dw = qobject_cast<QDockWidget*>(widget))
+ dw->d_func()->plug(currentGapRect);
#endif
#ifndef QT_NO_TOOLBAR
- if (QToolBar *tb = qobject_cast<QToolBar*>(widget))
- tb->d_func()->plug(currentGapRect);
+ if (QToolBar *tb = qobject_cast<QToolBar*>(widget))
+ tb->d_func()->plug(currentGapRect);
#endif
- applyState(layoutState, false);
#ifndef QT_NO_DOCKWIDGET
#ifndef QT_NO_TABBAR
- if (qobject_cast<QDockWidget*>(widget) != 0) {
- // info() might return null if the widget is destroyed while
- // animating but before the animationFinished signal is received.
- if (QDockAreaLayoutInfo *info = layoutState.dockAreaLayout.info(widget))
- info->setCurrentTab(widget);
- }
+ if (qobject_cast<QDockWidget*>(widget) != 0) {
+ // info() might return null if the widget is destroyed while
+ // animating but before the animationFinished signal is received.
+ if (QDockAreaLayoutInfo *info = layoutState.dockAreaLayout.info(widget))
+ info->setCurrentTab(widget);
+ }
#endif
#endif
- savedState.clear();
- currentGapPos.clear();
- pluggingWidget = 0;
+
+ savedState.clear();
+ currentGapPos.clear();
+ pluggingWidget = 0;
+ }
+
+ if (!widgetAnimator.animating()) {
+ //all animations are finished
+#ifndef QT_NO_DOCKWIDGET
+ parentWidget()->update(layoutState.dockAreaLayout.separatorRegion());
+#ifndef QT_NO_TABBAR
+ foreach (QTabBar *tab_bar, usedTabBars)
+ tab_bar->show();
+#endif // QT_NO_TABBAR
+#endif // QT_NO_DOCKWIDGET
+ }
+
updateGapIndicator();
}
@@ -1667,6 +1686,14 @@ QMainWindowLayout::QMainWindowLayout(QMainWindow *mainwindow)
#endif
#endif
#endif // QT_NO_DOCKWIDGET
+ , widgetAnimator(this)
+ , pluggingWidget(0)
+#ifndef QT_NO_RUBBERBAND
+ , gapIndicator(new QRubberBand(QRubberBand::Rectangle, mainwindow))
+#endif //QT_NO_RUBBERBAND
+#ifdef Q_WS_MAC
+ , blockVisiblityCheck(false)
+#endif
{
#ifndef QT_NO_DOCKWIDGET
#ifndef QT_NO_TABBAR
@@ -1680,20 +1707,13 @@ QMainWindowLayout::QMainWindowLayout(QMainWindow *mainwindow)
#endif // QT_NO_DOCKWIDGET
#ifndef QT_NO_RUBBERBAND
- gapIndicator = new QRubberBand(QRubberBand::Rectangle, mainwindow);
// For accessibility to identify this special widget.
gapIndicator->setObjectName(QLatin1String("qt_rubberband"));
-
gapIndicator->hide();
#endif
pluggingWidget = 0;
setObjectName(mainwindow->objectName() + QLatin1String("_layout"));
- widgetAnimator = new QWidgetAnimator(this);
- connect(widgetAnimator, SIGNAL(finished(QWidget*)),
- this, SLOT(animationFinished(QWidget*)), Qt::QueuedConnection);
- connect(widgetAnimator, SIGNAL(finishedAll()),
- this, SLOT(allAnimationsFinished()));
}
QMainWindowLayout::~QMainWindowLayout()
@@ -1795,14 +1815,8 @@ QLayoutItem *QMainWindowLayout::unplug(QWidget *widget)
void QMainWindowLayout::updateGapIndicator()
{
#ifndef QT_NO_RUBBERBAND
- if (widgetAnimator->animating() || currentGapPos.isEmpty()) {
- gapIndicator->hide();
- } else {
- if (gapIndicator->geometry() != currentGapRect)
- gapIndicator->setGeometry(currentGapRect);
- if (!gapIndicator->isVisible())
- gapIndicator->show();
- }
+ gapIndicator->setVisible(!widgetAnimator.animating() && !currentGapPos.isEmpty());
+ gapIndicator->setGeometry(currentGapRect);
#endif
}
diff --git a/src/gui/widgets/qmainwindowlayout_mac.mm b/src/gui/widgets/qmainwindowlayout_mac.mm
index 6632be7..61719c2 100644
--- a/src/gui/widgets/qmainwindowlayout_mac.mm
+++ b/src/gui/widgets/qmainwindowlayout_mac.mm
@@ -338,18 +338,16 @@ void QMainWindowLayout::updateHIToolBarStatus()
0, kWindowUnifiedTitleAndToolbarAttribute);
}
#endif
- macWindowToolbarShow(layoutState.mainWindow, useMacToolbar);
layoutState.mainWindow->setUpdatesEnabled(false); // reduces a little bit of flicker, not all though
if (!useMacToolbar) {
- OSWindowRef windowRef = qt_mac_window_for(parentWidget());
- macWindowToolbarShow(parentWidget(), false);
+ macWindowToolbarShow(layoutState.mainWindow, false);
// Move everything out of the HIToolbar into the main toolbar.
while (!qtoolbarsInUnifiedToolbarList.isEmpty()) {
// Should shrink the list by one every time.
layoutState.mainWindow->addToolBar(Qt::TopToolBarArea, qtoolbarsInUnifiedToolbarList.first());
}
- macWindowToolbarSet(windowRef, NULL);
+ macWindowToolbarSet(qt_mac_window_for(layoutState.mainWindow), 0);
} else {
QList<QToolBar *> toolbars = layoutState.mainWindow->findChildren<QToolBar *>();
for (int i = 0; i < toolbars.size(); ++i) {
@@ -359,6 +357,7 @@ void QMainWindowLayout::updateHIToolBarStatus()
layoutState.mainWindow->addToolBar(Qt::TopToolBarArea, toolbar);
}
}
+ syncUnifiedToolbarVisibility();
}
layoutState.mainWindow->setUpdatesEnabled(true);
}
@@ -439,7 +438,7 @@ void QMainWindowLayout::insertIntoMacToolbar(QToolBar *before, QToolBar *toolbar
#else
NSString *toolbarID = kQToolBarNSToolbarIdentifier;
toolbarID = [toolbarID stringByAppendingFormat:@"%p", toolbar];
- cocoaItemIDToToolbarHash.insert(QCFString::toQString(CFStringRef(toolbarID)), toolbar);
+ cocoaItemIDToToolbarHash.insert(qt_mac_NSStringToQString(toolbarID), toolbar);
[macToolbar insertItemWithItemIdentifier:toolbarID atIndex:beforeIndex];
#endif
}
@@ -487,6 +486,7 @@ void QMainWindowLayout::cleanUpMacToolbarItems()
void QMainWindowLayout::fixSizeInUnifiedToolbar(QToolBar *tb) const
{
+#ifdef QT_MAC_USE_COCOA
QHash<void *, QToolBar *>::const_iterator it = unifiedToolbarHash.constBegin();
NSToolbarItem *item = nil;
while (it != unifiedToolbarHash.constEnd()) {
@@ -507,5 +507,26 @@ void QMainWindowLayout::fixSizeInUnifiedToolbar(QToolBar *tb) const
nssize.height = size.height() - 2;
[item setMinSize:nssize];
}
+#else
+ Q_UNUSED(tb);
+#endif
}
+
+void QMainWindowLayout::syncUnifiedToolbarVisibility()
+{
+ if (blockVisiblityCheck)
+ return;
+
+ Q_ASSERT(layoutState.mainWindow->unifiedTitleAndToolBarOnMac());
+ bool show = false;
+ const int ToolBarCount = qtoolbarsInUnifiedToolbarList.count();
+ for (int i = 0; i < ToolBarCount; ++i) {
+ if (qtoolbarsInUnifiedToolbarList.at(i)->isVisible()) {
+ show = true;
+ break;
+ }
+ }
+ macWindowToolbarShow(layoutState.mainWindow, show);
+}
+
QT_END_NAMESPACE
diff --git a/src/gui/widgets/qmainwindowlayout_p.h b/src/gui/widgets/qmainwindowlayout_p.h
index 26f8633..524fdbf 100644
--- a/src/gui/widgets/qmainwindowlayout_p.h
+++ b/src/gui/widgets/qmainwindowlayout_p.h
@@ -63,6 +63,7 @@
#include "QtCore/qset.h"
#include "QtCore/qbasictimer.h"
#include "private/qlayoutengine_p.h"
+#include "private/qwidgetanimator_p.h"
#include "qdockarealayout_p.h"
#include "qtoolbararealayout_p.h"
@@ -89,7 +90,6 @@ typedef const struct __CFString * CFStringRef;
QT_BEGIN_NAMESPACE
class QToolBar;
-class QWidgetAnimator;
class QRubberBand;
/* This data structure represents the state of all the tool-bars and dock-widgets. It's value based
@@ -128,9 +128,9 @@ public:
QLayoutItem *itemAt(int index, int *x) const;
QLayoutItem *takeAt(int index, int *x);
QList<int> indexOf(QWidget *widget) const;
- QLayoutItem *item(QList<int> path);
- QRect itemRect(QList<int> path) const;
- QRect gapRect(QList<int> path) const; // ### get rid of this, use itemRect() instead
+ QLayoutItem *item(const QList<int> &path);
+ QRect itemRect(const QList<int> &path) const;
+ QRect gapRect(const QList<int> &path) const; // ### get rid of this, use itemRect() instead
bool contains(QWidget *widget) const;
@@ -138,14 +138,14 @@ public:
QWidget *centralWidget() const;
QList<int> gapIndex(QWidget *widget, const QPoint &pos) const;
- bool insertGap(QList<int> path, QLayoutItem *item);
- void remove(QList<int> path);
+ bool insertGap(const QList<int> &path, QLayoutItem *item);
+ void remove(const QList<int> &path);
void remove(QLayoutItem *item);
void clear();
bool isValid() const;
- QLayoutItem *plug(QList<int> path);
- QLayoutItem *unplug(QList<int> path, QMainWindowLayoutState *savedState = 0);
+ QLayoutItem *plug(const QList<int> &path);
+ QLayoutItem *unplug(const QList<int> &path, QMainWindowLayoutState *savedState = 0);
void saveState(QDataStream &stream) const;
bool checkFormat(QDataStream &stream, bool pre43);
@@ -278,7 +278,7 @@ public:
// animations
- QWidgetAnimator *widgetAnimator;
+ QWidgetAnimator widgetAnimator;
QList<int> currentGapPos;
QRect currentGapRect;
QWidget *pluggingWidget;
@@ -295,10 +295,9 @@ public:
void applyState(QMainWindowLayoutState &newState, bool animate = true);
void restore(bool keepSavedState = false);
void updateHIToolBarStatus();
-
-private slots:
void animationFinished(QWidget *widget);
- void allAnimationsFinished();
+
+private Q_SLOTS:
#ifndef QT_NO_DOCKWIDGET
#ifndef QT_NO_TABBAR
void tabChanged();
@@ -336,6 +335,8 @@ public:
void cleanUpMacToolbarItems();
void fixSizeInUnifiedToolbar(QToolBar *tb) const;
bool useHIToolBar;
+ void syncUnifiedToolbarVisibility();
+ bool blockVisiblityCheck;
#endif
};
QT_END_NAMESPACE
diff --git a/src/gui/widgets/qmdiarea.h b/src/gui/widgets/qmdiarea.h
index f64397b..9f1014e 100644
--- a/src/gui/widgets/qmdiarea.h
+++ b/src/gui/widgets/qmdiarea.h
@@ -153,7 +153,7 @@ protected:
private:
Q_DISABLE_COPY(QMdiArea)
- Q_DECLARE_SCOPED_PRIVATE(QMdiArea)
+ Q_DECLARE_PRIVATE(QMdiArea)
Q_PRIVATE_SLOT(d_func(), void _q_deactivateAllWindows())
Q_PRIVATE_SLOT(d_func(), void _q_processWindowStateChanged(Qt::WindowStates, Qt::WindowStates))
Q_PRIVATE_SLOT(d_func(), void _q_currentTabChanged(int index))
diff --git a/src/gui/widgets/qmdisubwindow.cpp b/src/gui/widgets/qmdisubwindow.cpp
index 25bc724..e8de957 100644
--- a/src/gui/widgets/qmdisubwindow.cpp
+++ b/src/gui/widgets/qmdisubwindow.cpp
@@ -1066,7 +1066,7 @@ void QMdiSubWindowPrivate::createSystemMenu()
addToSystemMenu(CloseAction, QMdiSubWindow::tr("&Close"), SLOT(close()));
actions[CloseAction]->setIcon(style->standardIcon(QStyle::SP_TitleBarCloseButton, 0, q));
#if !defined(QT_NO_SHORTCUT)
- actions[CloseAction]->setShortcut(QKeySequence::Close);
+ actions[CloseAction]->setShortcuts(QKeySequence::Close);
#endif
updateActions();
}
@@ -1946,26 +1946,21 @@ QPalette QMdiSubWindowPrivate::desktopPalette() const
colorref2qrgb(GetSysColor(COLOR_CAPTIONTEXT)));
newPalette.setColor(QPalette::Inactive, QPalette::HighlightedText,
colorref2qrgb(GetSysColor(COLOR_INACTIVECAPTIONTEXT)));
- if (QSysInfo::WindowsVersion != QSysInfo::WV_95
- && QSysInfo::WindowsVersion != QSysInfo::WV_NT) {
- colorsInitialized = true;
- BOOL hasGradient;
- QT_WA({
- SystemParametersInfo(SPI_GETGRADIENTCAPTIONS, 0, &hasGradient, 0);
- } , {
- SystemParametersInfoA(SPI_GETGRADIENTCAPTIONS, 0, &hasGradient, 0);
- });
- if (hasGradient) {
- newPalette.setColor(QPalette::Active, QPalette::Base,
- colorref2qrgb(GetSysColor(COLOR_GRADIENTACTIVECAPTION)));
- newPalette.setColor(QPalette::Inactive, QPalette::Base,
- colorref2qrgb(GetSysColor(COLOR_GRADIENTINACTIVECAPTION)));
- } else {
- newPalette.setColor(QPalette::Active, QPalette::Base,
- newPalette.color(QPalette::Active, QPalette::Highlight));
- newPalette.setColor(QPalette::Inactive, QPalette::Base,
- newPalette.color(QPalette::Inactive, QPalette::Highlight));
- }
+
+ colorsInitialized = true;
+ BOOL hasGradient = false;
+ SystemParametersInfo(SPI_GETGRADIENTCAPTIONS, 0, &hasGradient, 0);
+
+ if (hasGradient) {
+ newPalette.setColor(QPalette::Active, QPalette::Base,
+ colorref2qrgb(GetSysColor(COLOR_GRADIENTACTIVECAPTION)));
+ newPalette.setColor(QPalette::Inactive, QPalette::Base,
+ colorref2qrgb(GetSysColor(COLOR_GRADIENTINACTIVECAPTION)));
+ } else {
+ newPalette.setColor(QPalette::Active, QPalette::Base,
+ newPalette.color(QPalette::Active, QPalette::Highlight));
+ newPalette.setColor(QPalette::Inactive, QPalette::Base,
+ newPalette.color(QPalette::Inactive, QPalette::Highlight));
}
}
#endif // Q_WS_WIN
diff --git a/src/gui/widgets/qmdisubwindow.h b/src/gui/widgets/qmdisubwindow.h
index bfb523d..924cc9a 100644
--- a/src/gui/widgets/qmdisubwindow.h
+++ b/src/gui/widgets/qmdisubwindow.h
@@ -137,7 +137,7 @@ protected:
private:
Q_DISABLE_COPY(QMdiSubWindow)
- Q_DECLARE_SCOPED_PRIVATE(QMdiSubWindow)
+ Q_DECLARE_PRIVATE(QMdiSubWindow)
Q_PRIVATE_SLOT(d_func(), void _q_updateStaysOnTopHint())
Q_PRIVATE_SLOT(d_func(), void _q_enterInteractiveMode())
Q_PRIVATE_SLOT(d_func(), void _q_processFocusChanged(QWidget *, QWidget *))
diff --git a/src/gui/widgets/qmenu.cpp b/src/gui/widgets/qmenu.cpp
index f1cbd65..6465975 100644
--- a/src/gui/widgets/qmenu.cpp
+++ b/src/gui/widgets/qmenu.cpp
@@ -144,7 +144,7 @@ public slots:
void onTrigger(QAction *action) { d_func()->activateAction(action, QAction::Trigger, false); }
void onHovered(QAction *action) { d_func()->activateAction(action, QAction::Hover, false); }
private:
- Q_DECLARE_SCOPED_PRIVATE(QTornOffMenu)
+ Q_DECLARE_PRIVATE(QTornOffMenu)
friend class QMenuPrivate;
};
@@ -164,6 +164,12 @@ void QMenuPrivate::init()
}
}
+int QMenuPrivate::scrollerHeight() const
+{
+ Q_Q(const QMenu);
+ return qMax(QApplication::globalStrut().height(), q->style()->pixelMetric(QStyle::PM_MenuScrollerHeight, 0, q));
+}
+
//Windows and KDE allows menus to cover the taskbar, while GNOME and Mac don't
QRect QMenuPrivate::popupGeometry(int screen) const
{
@@ -223,6 +229,10 @@ void QMenuPrivate::updateActionRects() const
const int hmargin = style->pixelMetric(QStyle::PM_MenuHMargin, 0, q),
vmargin = style->pixelMetric(QStyle::PM_MenuVMargin, 0, q),
icone = style->pixelMetric(QStyle::PM_SmallIconSize, 0, q);
+ const int fw = style->pixelMetric(QStyle::PM_MenuPanelWidth, 0, q);
+
+ const int sfcMargin = style->sizeFromContents(QStyle::CT_Menu, 0, QApplication::globalStrut(), q).width() - QApplication::globalStrut().width();
+ const int min_column_width = q->minimumWidth() - (sfcMargin + leftmargin + rightmargin + 2 * (fw + hmargin));
//for compatability now - will have to refactor this away..
tabWidth = 0;
@@ -258,7 +268,6 @@ void QMenuPrivate::updateActionRects() const
//let the style modify the above size..
QStyleOptionMenuItem opt;
q->initStyleOption(&opt, action);
- opt.rect = q->rect();
const QFontMetrics &fm = opt.fontMetrics;
QSize sz;
@@ -281,10 +290,7 @@ void QMenuPrivate::updateActionRects() const
tabWidth = qMax(int(tabWidth), qfm.width(seq));
#endif
}
- int w = fm.boundingRect(QRect(), Qt::TextSingleLine, s).width();
- w -= s.count(QLatin1Char('&')) * fm.width(QLatin1Char('&'));
- w += s.count(QLatin1String("&&")) * fm.width(QLatin1Char('&'));
- sz.setWidth(w);
+ sz.setWidth(fm.boundingRect(QRect(), Qt::TextSingleLine | Qt::TextShowMnemonic, s).width());
sz.setHeight(qMax(fm.height(), qfm.height()));
QIcon is = action->icon();
@@ -299,7 +305,7 @@ void QMenuPrivate::updateActionRects() const
if (!sz.isEmpty()) {
- max_column_width = qMax(max_column_width, sz.width());
+ max_column_width = qMax(min_column_width, qMax(max_column_width, sz.width()));
//wrapping
if (!scroll &&
y+sz.height()+vmargin > dh - (style->pixelMetric(QStyle::PM_MenuDesktopFrameWidth, 0, q) * 2)) {
@@ -315,7 +321,6 @@ void QMenuPrivate::updateActionRects() const
max_column_width += tabWidth; //finally add in the tab width
//calculate position
- const int fw = style->pixelMetric(QStyle::PM_MenuPanelWidth, 0, q);
const int base_y = vmargin + fw + topmargin +
(scroll ? scroll->scrollOffset : 0) +
(tearoff ? style->pixelMetric(QStyle::PM_MenuTearoffHeight, 0, q) : 0);
@@ -484,17 +489,17 @@ void QMenuPrivate::setSyncAction()
void QMenuPrivate::setFirstActionActive()
{
Q_Q(QMenu);
- const int scrollerHeight = q->style()->pixelMetric(QStyle::PM_MenuScrollerHeight, 0, q);
+ updateActionRects();
for(int i = 0, saccum = 0; i < actions.count(); i++) {
- QAction *act = actions.at(i);
const QRect &rect = actionRects.at(i);
if (rect.isNull())
continue;
if (scroll && scroll->scrollFlags & QMenuScroller::ScrollUp) {
saccum -= rect.height();
- if (saccum > scroll->scrollOffset-scrollerHeight)
+ if (saccum > scroll->scrollOffset - scrollerHeight())
continue;
}
+ QAction *act = actions.at(i);
if (!act->isSeparator() &&
(q->style()->styleHint(QStyle::SH_Menu_AllowActiveAndDisabled, 0, q)
|| act->isEnabled())) {
@@ -673,17 +678,16 @@ void QMenuPrivate::scrollMenu(QAction *action, QMenuScroller::ScrollLocation loc
Q_Q(QMenu);
if (!scroll || !scroll->scrollFlags)
return;
+ updateActionRects();
int newOffset = 0;
- const int scrollHeight = q->style()->pixelMetric(QStyle::PM_MenuScrollerHeight, 0, q);
- const int topScroll = (scroll->scrollFlags & QMenuScroller::ScrollUp) ? scrollHeight : 0;
- const int botScroll = (scroll->scrollFlags & QMenuScroller::ScrollDown) ? scrollHeight : 0;
+ const int topScroll = (scroll->scrollFlags & QMenuScroller::ScrollUp) ? scrollerHeight() : 0;
+ const int botScroll = (scroll->scrollFlags & QMenuScroller::ScrollDown) ? scrollerHeight() : 0;
const int vmargin = q->style()->pixelMetric(QStyle::PM_MenuVMargin, 0, q);
const int fw = q->style()->pixelMetric(QStyle::PM_MenuPanelWidth, 0, q);
if (location == QMenuScroller::ScrollTop) {
for(int i = 0, saccum = 0; i < actions.count(); i++) {
- QAction *act = actions.at(i);
- if (act == action) {
+ if (actions.at(i) == action) {
newOffset = topScroll - saccum;
break;
}
@@ -691,9 +695,8 @@ void QMenuPrivate::scrollMenu(QAction *action, QMenuScroller::ScrollLocation loc
}
} else {
for(int i = 0, saccum = 0; i < actions.count(); i++) {
- QAction *act = actions.at(i);
saccum += actionRects.at(i).height();
- if (act == action) {
+ if (actions.at(i) == action) {
if (location == QMenuScroller::ScrollCenter)
newOffset = ((q->height() / 2) - botScroll) - (saccum - topScroll);
else
@@ -762,9 +765,19 @@ void QMenuPrivate::scrollMenu(QAction *action, QMenuScroller::ScrollLocation loc
}
//actually update flags
- scroll->scrollOffset = newOffset;
- if (scroll->scrollOffset > 0)
- scroll->scrollOffset = 0;
+ const int delta = qMin(0, newOffset) - scroll->scrollOffset; //make sure the new offset is always negative
+ if (!itemsDirty && delta) {
+ //we've scrolled so we need to update the action rects
+ for (int i = 0; i < actionRects.count(); ++i) {
+ QRect &current = actionRects[i];
+ current.moveTop(current.top() + delta);
+
+ //we need to update the widgets geometry
+ if (QWidget *w = widgetItems.at(i))
+ w->setGeometry(current);
+ }
+ }
+ scroll->scrollOffset += delta;
scroll->scrollFlags = newScrollFlags;
if (active)
setCurrentAction(action);
@@ -775,6 +788,7 @@ void QMenuPrivate::scrollMenu(QAction *action, QMenuScroller::ScrollLocation loc
void QMenuPrivate::scrollMenu(QMenuScroller::ScrollLocation location, bool active)
{
Q_Q(QMenu);
+ updateActionRects();
if(location == QMenuScroller::ScrollBottom) {
for(int i = actions.size()-1; i >= 0; --i) {
QAction *act = actions.at(i);
@@ -814,9 +828,9 @@ void QMenuPrivate::scrollMenu(QMenuScroller::ScrollDirection direction, bool pag
Q_Q(QMenu);
if (!scroll || !(scroll->scrollFlags & direction)) //not really possible...
return;
- const int scrollHeight = q->style()->pixelMetric(QStyle::PM_MenuScrollerHeight, 0, q);
- const int topScroll = (scroll->scrollFlags & QMenuScroller::ScrollUp) ? scrollHeight : 0;
- const int botScroll = (scroll->scrollFlags & QMenuScroller::ScrollDown) ? scrollHeight : 0;
+ updateActionRects();
+ const int topScroll = (scroll->scrollFlags & QMenuScroller::ScrollUp) ? scrollerHeight() : 0;
+ const int botScroll = (scroll->scrollFlags & QMenuScroller::ScrollDown) ? scrollerHeight() : 0;
const int vmargin = q->style()->pixelMetric(QStyle::PM_MenuVMargin, 0, q);
const int fw = q->style()->pixelMetric(QStyle::PM_MenuPanelWidth, 0, q);
const int offset = topScroll ? topScroll-vmargin : 0;
@@ -863,13 +877,12 @@ bool QMenuPrivate::mouseEventTaken(QMouseEvent *e)
if (scroll && !activeMenu) { //let the scroller "steal" the event
bool isScroll = false;
if (pos.x() >= 0 && pos.x() < q->width()) {
- const int scrollerHeight = q->style()->pixelMetric(QStyle::PM_MenuScrollerHeight, 0, q);
for(int dir = QMenuScroller::ScrollUp; dir <= QMenuScroller::ScrollDown; dir = dir << 1) {
if (scroll->scrollFlags & dir) {
if (dir == QMenuScroller::ScrollUp)
- isScroll = (pos.y() <= scrollerHeight);
+ isScroll = (pos.y() <= scrollerHeight());
else if (dir == QMenuScroller::ScrollDown)
- isScroll = (pos.y() >= q->height()-scrollerHeight);
+ isScroll = (pos.y() >= q->height() - scrollerHeight());
if (isScroll) {
scroll->scrollDirection = dir;
break;
@@ -878,19 +891,17 @@ bool QMenuPrivate::mouseEventTaken(QMouseEvent *e)
}
}
if (isScroll) {
- if (!scroll->scrollTimer)
- scroll->scrollTimer = new QBasicTimer;
- scroll->scrollTimer->start(50, q);
+ scroll->scrollTimer.start(50, q);
return true;
- } else if (scroll->scrollTimer && scroll->scrollTimer->isActive()) {
- scroll->scrollTimer->stop();
+ } else {
+ scroll->scrollTimer.stop();
}
}
if (tearoff) { //let the tear off thingie "steal" the event..
QRect tearRect(0, 0, q->width(), q->style()->pixelMetric(QStyle::PM_MenuTearoffHeight, 0, q));
if (scroll && scroll->scrollFlags & QMenuPrivate::QMenuScroller::ScrollUp)
- tearRect.translate(0, q->style()->pixelMetric(QStyle::PM_MenuScrollerHeight, 0, q));
+ tearRect.translate(0, scrollerHeight());
q->update(tearRect);
if (tearRect.contains(pos) && hasMouseMoved(e->globalPos())) {
setCurrentAction(0);
@@ -1351,8 +1362,7 @@ QMenu::~QMenu()
if (d->eventLoop)
d->eventLoop->exit();
- if (d->tornPopup)
- d->tornPopup->close();
+ hideTearOffMenu();
}
/*!
@@ -1563,8 +1573,8 @@ void QMenu::setTearOffEnabled(bool b)
Q_D(QMenu);
if (d->tearoff == b)
return;
- if (!b && d->tornPopup)
- d->tornPopup->close();
+ if (!b)
+ hideTearOffMenu();
d->tearoff = b;
d->itemsDirty = true;
@@ -1599,8 +1609,8 @@ bool QMenu::isTearOffMenuVisible() const
*/
void QMenu::hideTearOffMenu()
{
- if (d_func()->tornPopup)
- d_func()->tornPopup->close();
+ if (QWidget *w = d_func()->tornPopup)
+ w->close();
}
@@ -1703,9 +1713,7 @@ QSize QMenu::sizeHint() const
QSize s;
QStyleOption opt(0);
- opt.rect = rect();
- opt.palette = palette();
- opt.state = QStyle::State_None;
+ opt.init(this);
for (int i = 0; i < d->actionRects.count(); ++i) {
const QRect &rect = d->actionRects.at(i);
if (rect.isNull())
@@ -1715,8 +1723,6 @@ QSize QMenu::sizeHint() const
if (rect.right() >= s.width())
s.setWidth(rect.x() + rect.width());
}
- if (d->tearoff)
- s.rheight() += style()->pixelMetric(QStyle::PM_MenuTearoffHeight, &opt, this);
// Note that the action rects calculated above already include
// the top and left margins, so we only need to add margins for
// the bottom and right.
@@ -2076,6 +2082,8 @@ void QMenu::hideEvent(QHideEvent *)
d->hasHadMouse = false;
d->causedPopup.widget = 0;
d->causedPopup.action = 0;
+ if (d->scroll)
+ d->scroll->scrollTimer.stop(); //make sure the timer stops
}
/*!
@@ -2084,6 +2092,7 @@ void QMenu::hideEvent(QHideEvent *)
void QMenu::paintEvent(QPaintEvent *e)
{
Q_D(QMenu);
+ d->updateActionRects();
QPainter p(this);
QRegion emptyArea = QRegion(rect());
@@ -2116,18 +2125,17 @@ void QMenu::paintEvent(QPaintEvent *e)
const int fw = style()->pixelMetric(QStyle::PM_MenuPanelWidth, 0, this);
//draw the scroller regions..
if (d->scroll) {
- const int scrollerHeight = style()->pixelMetric(QStyle::PM_MenuScrollerHeight, 0, this);
menuOpt.menuItemType = QStyleOptionMenuItem::Scroller;
menuOpt.state |= QStyle::State_Enabled;
if (d->scroll->scrollFlags & QMenuPrivate::QMenuScroller::ScrollUp) {
- menuOpt.rect.setRect(fw, fw, width() - (fw * 2), scrollerHeight);
+ menuOpt.rect.setRect(fw, fw, width() - (fw * 2), d->scrollerHeight());
emptyArea -= QRegion(menuOpt.rect);
p.setClipRect(menuOpt.rect);
style()->drawControl(QStyle::CE_MenuScroller, &menuOpt, &p, this);
}
if (d->scroll->scrollFlags & QMenuPrivate::QMenuScroller::ScrollDown) {
- menuOpt.rect.setRect(fw, height() - scrollerHeight - fw, width() - (fw * 2),
- scrollerHeight);
+ menuOpt.rect.setRect(fw, height() - d->scrollerHeight() - fw, width() - (fw * 2),
+ d->scrollerHeight());
emptyArea -= QRegion(menuOpt.rect);
menuOpt.state |= QStyle::State_DownArrow;
p.setClipRect(menuOpt.rect);
@@ -2140,7 +2148,7 @@ void QMenu::paintEvent(QPaintEvent *e)
menuOpt.rect.setRect(fw, fw, width() - (fw * 2),
style()->pixelMetric(QStyle::PM_MenuTearoffHeight, 0, this));
if (d->scroll && d->scroll->scrollFlags & QMenuPrivate::QMenuScroller::ScrollUp)
- menuOpt.rect.translate(0, style()->pixelMetric(QStyle::PM_MenuScrollerHeight, 0, this));
+ menuOpt.rect.translate(0, d->scrollerHeight());
emptyArea -= QRegion(menuOpt.rect);
p.setClipRect(menuOpt.rect);
menuOpt.state = QStyle::State_None;
@@ -2370,6 +2378,7 @@ bool QMenu::focusNextPrevChild(bool next)
void QMenu::keyPressEvent(QKeyEvent *e)
{
Q_D(QMenu);
+ d->updateActionRects();
int key = e->key();
if (isRightToLeft()) { // in reverse mode open/close key for submenues are reversed
if (key == Qt::Key_Left)
@@ -2469,7 +2478,7 @@ void QMenu::keyPressEvent(QKeyEvent *e)
continue;
nextAction = next;
if (d->scroll && (d->scroll->scrollFlags & QMenuPrivate::QMenuScroller::ScrollUp)) {
- int topVisible = style()->pixelMetric(QStyle::PM_MenuScrollerHeight, 0, this);
+ int topVisible = d->scrollerHeight();
if (d->tearoff)
topVisible += style()->pixelMetric(QStyle::PM_MenuTearoffHeight, 0, this);
if (((y + d->scroll->scrollOffset) - topVisible) <= d->actionRects.at(next_i).height())
@@ -2500,10 +2509,9 @@ void QMenu::keyPressEvent(QKeyEvent *e)
continue;
nextAction = next;
if (d->scroll && (d->scroll->scrollFlags & QMenuPrivate::QMenuScroller::ScrollDown)) {
- const int scrollerHeight = style()->pixelMetric(QStyle::PM_MenuScrollerHeight, 0, this);
- int bottomVisible = height()-scrollerHeight;
+ int bottomVisible = height() - d->scrollerHeight();
if (d->scroll->scrollFlags & QMenuPrivate::QMenuScroller::ScrollUp)
- bottomVisible -= scrollerHeight;
+ bottomVisible -= d->scrollerHeight();
if (d->tearoff)
bottomVisible -= style()->pixelMetric(QStyle::PM_MenuTearoffHeight, 0, this);
if ((y + d->scroll->scrollOffset + d->actionRects.at(next_i).height()) > bottomVisible)
@@ -2519,8 +2527,7 @@ void QMenu::keyPressEvent(QKeyEvent *e)
}
if (nextAction) {
if (d->scroll && scroll_loc != QMenuPrivate::QMenuScroller::ScrollStay) {
- if (d->scroll->scrollTimer)
- d->scroll->scrollTimer->stop();
+ d->scroll->scrollTimer.stop();
d->scrollMenu(nextAction, scroll_loc);
}
d->setCurrentAction(nextAction, /*popup*/-1, QMenuPrivate::SelectedFromKeyboard);
@@ -2742,7 +2749,7 @@ void QMenu::mouseMoveEvent(QMouseEvent *e)
QAction *action = d->actionAt(e->pos());
if (!action) {
- if (d->hasHadMouse && !rect().contains(e->pos()))
+ if (d->hasHadMouse)
d->setCurrentAction(0);
return;
} else if(e->buttons()) {
@@ -2782,10 +2789,10 @@ void
QMenu::timerEvent(QTimerEvent *e)
{
Q_D(QMenu);
- if (d->scroll && d->scroll->scrollTimer && d->scroll->scrollTimer->timerId() == e->timerId()) {
+ if (d->scroll && d->scroll->scrollTimer.timerId() == e->timerId()) {
d->scrollMenu((QMenuPrivate::QMenuScroller::ScrollDirection)d->scroll->scrollDirection);
if (d->scroll->scrollFlags == QMenuPrivate::QMenuScroller::ScrollNone)
- d->scroll->scrollTimer->stop();
+ d->scroll->scrollTimer.stop();
} else if(QMenuPrivate::menuDelayTimer.timerId() == e->timerId()) {
QMenuPrivate::menuDelayTimer.stop();
internalDelayedPopup();
@@ -3044,12 +3051,19 @@ bool QMenu::separatorsCollapsible() const
void QMenu::setSeparatorsCollapsible(bool collapse)
{
Q_D(QMenu);
+ if (d->collapsibleSeparators == collapse)
+ return;
+
d->collapsibleSeparators = collapse;
d->itemsDirty = 1;
if (isVisible()) {
d->updateActionRects();
update();
}
+#ifdef Q_WS_MAC
+ if (d->mac_menu)
+ d->syncSeparatorsCollapsible(collapse);
+#endif
}
#ifdef QT3_SUPPORT
diff --git a/src/gui/widgets/qmenu.h b/src/gui/widgets/qmenu.h
index 9f9cdf5..41890c4 100644
--- a/src/gui/widgets/qmenu.h
+++ b/src/gui/widgets/qmenu.h
@@ -77,7 +77,7 @@ class Q_GUI_EXPORT QMenu : public QWidget
{
private:
Q_OBJECT
- Q_DECLARE_SCOPED_PRIVATE(QMenu)
+ Q_DECLARE_PRIVATE(QMenu)
Q_PROPERTY(bool tearOffEnabled READ isTearOffEnabled WRITE setTearOffEnabled)
Q_PROPERTY(QString title READ title WRITE setTitle)
diff --git a/src/gui/widgets/qmenu_mac.mm b/src/gui/widgets/qmenu_mac.mm
index 77e98c4..e6239f4 100644
--- a/src/gui/widgets/qmenu_mac.mm
+++ b/src/gui/widgets/qmenu_mac.mm
@@ -458,7 +458,8 @@ OSStatus qt_mac_menu_event(EventHandlerCallRef er, EventRef event, void *)
int merged = 0;
const QMenuPrivate::QMacMenuPrivate *mac_menu = qmenu->d_func()->mac_menu;
- for(int i = 0; i < mac_menu->actionItems.size(); ++i) {
+ const int ActionItemsCount = mac_menu->actionItems.size();
+ for(int i = 0; i < ActionItemsCount; ++i) {
QMacMenuAction *action = mac_menu->actionItems.at(i);
if (action->action->isSeparator()) {
bool hide = false;
@@ -972,7 +973,7 @@ void Q_GUI_EXPORT qt_mac_set_menubar_merge(bool b) { qt_mac_no_menubar_merge = !
/*****************************************************************************
QMenu bindings
*****************************************************************************/
-QMenuPrivate::QMacMenuPrivate::QMacMenuPrivate(QMenuPrivate *menu) : menu(0), qmenu(menu)
+QMenuPrivate::QMacMenuPrivate::QMacMenuPrivate() : menu(0)
{
}
@@ -1300,61 +1301,22 @@ QMenuPrivate::QMacMenuPrivate::syncAction(QMacMenuAction *action)
#else
int itemIndex = [menu indexOfItem:item];
Q_ASSERT(itemIndex != -1);
-
- // Separator handling: Menu items and separators can be added to a QMenu in
- // any order (for example, add all the separators first and then "fill inn"
- // the menu items). Create NSMenuItem seperatorItems for the Qt separators,
- // and make sure that there are no double separators and no seprators
- // at the top or bottom of the menu.
- bool itemIsSeparator = action->action->isSeparator();
- bool previousItemIsSeparator = false;
- if (itemIndex > 0) {
- if ([[menu itemAtIndex : itemIndex - 1] isSeparatorItem])
- previousItemIsSeparator = true;
- }
- bool nexItemIsSeparator = false;
- if (itemIndex > 0 && itemIndex < [menu numberOfItems] -1) {
- if ([[menu itemAtIndex : itemIndex + 1] isSeparatorItem])
- nexItemIsSeparator = true;
- }
- bool itemIsAtBottomOfMenu = (itemIndex == [menu numberOfItems] - 1);
- bool itemIsAtTopOfMenu = (itemIndex == 0);
-
-
- if (itemIsSeparator) {
- // Create separators items for actions that are now separators
+ if (action->action->isSeparator()) {
action->menuItem = [NSMenuItem separatorItem];
[action->menuItem retain];
-
- // Hide duplicate/top/bottom separators.
- if (qmenu->collapsibleSeparators && (previousItemIsSeparator || itemIsAtBottomOfMenu || itemIsAtTopOfMenu)) {
- [action->menuItem setHidden : true];
- }
-
[menu insertItem: action->menuItem atIndex:itemIndex];
[menu removeItem:item];
[item release];
item = action->menuItem;
return;
- } else {
- // Create standard menu items for actions that are no longer separators
- if ([item isSeparatorItem]) {
- action->menuItem = createNSMenuItem(action->action->text());
- [menu insertItem:action->menuItem atIndex:itemIndex];
- [menu removeItem:item];
- [item release];
- item = action->menuItem;
- }
-
- // Show separators that should now be visible since a non-separator
- // item (the current item) was added.
- if (previousItemIsSeparator) {
- [[menu itemAtIndex : itemIndex - 1] setHidden : false];
- } else if (itemIsAtTopOfMenu && nexItemIsSeparator) {
- [[menu itemAtIndex : itemIndex + 1] setHidden : false];
- }
+ } else if ([item isSeparatorItem]) {
+ // I'm no longer a separator...
+ action->menuItem = createNSMenuItem(action->action->text());
+ [menu insertItem:action->menuItem atIndex:itemIndex];
+ [menu removeItem:item];
+ [item release];
+ item = action->menuItem;
}
-
#endif
//find text (and accel)
@@ -1376,8 +1338,9 @@ QMenuPrivate::QMacMenuPrivate::syncAction(QMacMenuAction *action)
accel = qt_mac_menu_merge_accel(action);
}
}
+ // Show multiple key sequences as part of the menu text.
if (accel.count() > 1)
- text += QLatin1String(" (****)"); //just to denote a multi stroke shortcut
+ text += QLatin1String(" (") + accel.toString(QKeySequence::NativeText) + QLatin1String(")");
QString finalString = qt_mac_removeMnemonics(text);
@@ -1459,14 +1422,15 @@ QMenuPrivate::QMacMenuPrivate::syncAction(QMacMenuAction *action)
data.whichData |= kMenuItemDataCmdKey;
data.whichData |= kMenuItemDataCmdKeyModifiers;
data.whichData |= kMenuItemDataCmdKeyGlyph;
- if (!accel.isEmpty()) {
+ if (accel.count() == 1) {
qt_mac_get_accel(accel[0], (quint32*)&data.cmdKeyModifiers, (quint32*)&data.cmdKeyGlyph);
if (data.cmdKeyGlyph == 0)
data.cmdKey = (UniChar)accel[0];
}
#else
[item setSubmenu:0];
- if (!accel.isEmpty()) {
+ // No key equivalent set for multiple key QKeySequence.
+ if (accel.count() == 1) {
[item setKeyEquivalent:keySequenceToKeyEqivalent(accel)];
[item setKeyEquivalentModifierMask:keySequenceModifierMask(accel)];
} else {
@@ -1538,7 +1502,7 @@ QMenuPrivate::macMenu(OSMenuRef merge)
if (mac_menu && mac_menu->menu)
return mac_menu->menu;
if (!mac_menu)
- mac_menu = new QMacMenuPrivate(this);
+ mac_menu = new QMacMenuPrivate;
mac_menu->menu = qt_mac_create_menu(q);
if (merge) {
#ifndef QT_MAC_USE_COCOA
@@ -1550,12 +1514,31 @@ QMenuPrivate::macMenu(OSMenuRef merge)
QList<QAction*> items = q->actions();
for(int i = 0; i < items.count(); i++)
mac_menu->addAction(items[i], 0, this);
+ syncSeparatorsCollapsible(collapsibleSeparators);
return mac_menu->menu;
}
/*!
\internal
*/
+void
+QMenuPrivate::syncSeparatorsCollapsible(bool collapse)
+{
+#ifndef QT_MAC_USE_COCOA
+ if (collapse)
+ ChangeMenuAttributes(mac_menu->menu, kMenuAttrCondenseSeparators, 0);
+ else
+ ChangeMenuAttributes(mac_menu->menu, 0, kMenuAttrCondenseSeparators);
+#else
+ qt_mac_menu_collapseSeparators(mac_menu->menu, collapse);
+#endif
+}
+
+
+
+/*!
+ \internal
+*/
void QMenuPrivate::setMacMenuEnabled(bool enable)
{
if (!macMenu(0))
diff --git a/src/gui/widgets/qmenu_p.h b/src/gui/widgets/qmenu_p.h
index d9ad422..0218dc7 100644
--- a/src/gui/widgets/qmenu_p.h
+++ b/src/gui/widgets/qmenu_p.h
@@ -170,6 +170,8 @@ public:
}
void init();
+ int scrollerHeight() const;
+
//item calculations
mutable uint itemsDirty : 1;
mutable uint maxIconWidth, tabWidth;
@@ -208,10 +210,10 @@ public:
enum ScrollDirection { ScrollNone=0, ScrollUp=0x01, ScrollDown=0x02 };
uint scrollFlags : 2, scrollDirection : 2;
int scrollOffset;
- QBasicTimer *scrollTimer;
+ QBasicTimer scrollTimer;
- QMenuScroller() : scrollFlags(ScrollNone), scrollDirection(ScrollNone), scrollOffset(0), scrollTimer(0) { }
- ~QMenuScroller() { delete scrollTimer; }
+ QMenuScroller() : scrollFlags(ScrollNone), scrollDirection(ScrollNone), scrollOffset(0) { }
+ ~QMenuScroller() { }
} *scroll;
void scrollMenu(QMenuScroller::ScrollLocation location, bool active=false);
void scrollMenu(QMenuScroller::ScrollDirection direction, bool page=false, bool active=false);
@@ -280,9 +282,8 @@ public:
struct QMacMenuPrivate {
QList<QMacMenuAction*> actionItems;
OSMenuRef menu;
- QMenuPrivate *qmenu;
- QMacMenuPrivate(QMenuPrivate *menu);
- ~QMacMenuPrivate();
+ QMacMenuPrivate();
+ ~QMacMenuPrivate();
bool merged(const QAction *action) const;
void addAction(QAction *, QMacMenuAction* =0, QMenuPrivate *qmenu = 0);
@@ -302,6 +303,7 @@ public:
} *mac_menu;
OSMenuRef macMenu(OSMenuRef merge);
void setMacMenuEnabled(bool enable = true);
+ void syncSeparatorsCollapsible(bool collapsible);
static QHash<OSMenuRef, OSMenuRef> mergeMenuHash;
static QHash<OSMenuRef, QMenuMergeList*> mergeMenuItemsHash;
#endif
diff --git a/src/gui/widgets/qmenu_symbian.cpp b/src/gui/widgets/qmenu_symbian.cpp
index 1b21b71..b0cd7c8 100644
--- a/src/gui/widgets/qmenu_symbian.cpp
+++ b/src/gui/widgets/qmenu_symbian.cpp
@@ -1,7 +1,7 @@
/****************************************************************************
**
-** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
**
** $QT_BEGIN_LICENSE:LGPL$
@@ -33,7 +33,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/src/gui/widgets/qmenubar.cpp b/src/gui/widgets/qmenubar.cpp
index 4607fc3..eaf03b3 100644
--- a/src/gui/widgets/qmenubar.cpp
+++ b/src/gui/widgets/qmenubar.cpp
@@ -218,7 +218,7 @@ void QMenuBarPrivate::updateGeometries()
bool hasHiddenActions = false;
for (int i = 0; i < actions.count(); ++i) {
const QRect &rect = actionRects.at(i);
- if (!menuRect.contains(rect)) {
+ if (rect.isValid() && !menuRect.contains(rect)) {
hasHiddenActions = true;
break;
}
@@ -229,7 +229,7 @@ void QMenuBarPrivate::updateGeometries()
menuRect = this->menuRect(true);
for (int i = 0; i < actions.count(); ++i) {
const QRect &rect = actionRects.at(i);
- if (!menuRect.contains(rect)) {
+ if (rect.isValid() && !menuRect.contains(rect)) {
hiddenActions.append(actions.at(i));
}
}
@@ -279,6 +279,7 @@ QRect QMenuBarPrivate::actionRect(QAction *act) const
void QMenuBarPrivate::focusFirstAction()
{
if(!currentAction) {
+ updateGeometries();
int index = 0;
while (index < actions.count() && actionRects.at(index).isNull()) ++index;
if (index < actions.count())
@@ -445,16 +446,12 @@ void QMenuBarPrivate::calcActionRects(int max_width, int start) const
continue; //we don't really position these!
} else {
const QString s = action->text();
- if(!s.isEmpty()) {
- const int w = fm.width(s)
- - s.count(QLatin1Char('&')) * fm.width(QLatin1Char('&'))
- + s.count(QLatin1String("&&")) * fm.width(QLatin1Char('&'));
- sz = QSize(w, fm.height());
- }
-
QIcon is = action->icon();
+ // If an icon is set, only the icon is visible
if (!is.isNull())
sz = sz.expandedTo(QSize(icone, icone));
+ else if (!s.isEmpty())
+ sz = fm.size(Qt::TextShowMnemonic, s);
}
//let the style modify the above size..
@@ -719,7 +716,7 @@ void QMenuBar::initStyleOption(QStyleOptionMenuItem *option, const QAction *acti
application examples} also provide menus using these classes.
\sa QMenu, QShortcut, QAction,
- {http://developer.apple.com/documentation/UserExperience/Conceptual/OSXHIGuidelines/index.html}{Introduction to Apple Human Interface Guidelines},
+ {http://developer.apple.com/documentation/UserExperience/Conceptual/AppleHIGuidelines/XHIGIntro/XHIGIntro.html}{Introduction to Apple Human Interface Guidelines},
{fowler}{GUI Design Handbook: Menu Bar}, {Menus Example}
*/
@@ -764,6 +761,7 @@ void QMenuBarPrivate::init()
QAction *QMenuBarPrivate::getNextAction(const int _start, const int increment) const
{
Q_Q(const QMenuBar);
+ const_cast<QMenuBarPrivate*>(this)->updateGeometries();
bool allowActiveAndDisabled = q->style()->styleHint(QStyle::SH_Menu_AllowActiveAndDisabled, 0, q);
const int start = (_start == -1 && increment == -1) ? actions.count() : _start;
const int end = increment == -1 ? 0 : actions.count() - 1;
@@ -964,6 +962,13 @@ void QMenuBar::setActiveAction(QAction *act)
/*!
Removes all the actions from the menu bar.
+ \note On Mac OS X, menu items that have been merged to the system
+ menu bar are not removed by this function. One way to handle this
+ would be to remove the extra actions yourself. You can set the
+ \l{QAction::MenuRole}{menu role} on the different menus, so that
+ you know ahead of time which menu items get merged and which do
+ not. Then decide what to recreate or remove yourself.
+
\sa removeAction()
*/
void QMenuBar::clear()
@@ -1140,6 +1145,7 @@ void QMenuBar::mouseReleaseEvent(QMouseEvent *e)
void QMenuBar::keyPressEvent(QKeyEvent *e)
{
Q_D(QMenuBar);
+ d->updateGeometries();
int key = e->key();
if(isRightToLeft()) { // in reverse mode open/close key for submenues are reversed
if(key == Qt::Key_Left)
@@ -1630,6 +1636,7 @@ QSize QMenuBar::minimumSizeHint() const
ensurePolished();
QSize ret(0, 0);
+ const_cast<QMenuBarPrivate*>(d)->updateGeometries();
const int hmargin = style()->pixelMetric(QStyle::PM_MenuBarHMargin, 0, this);
const int vmargin = style()->pixelMetric(QStyle::PM_MenuBarVMargin, 0, this);
int fw = style()->pixelMetric(QStyle::PM_MenuBarPanelWidth, 0, this);
@@ -1782,6 +1789,9 @@ void QMenuBarPrivate::_q_internalShortcutActivated(int id)
activateAction(act, QAction::Trigger);
//100 is the same as the default value in QPushButton::animateClick
autoReleaseTimer.start(100, q);
+ } else if (act && q->style()->styleHint(QStyle::SH_MenuBar_AltKeyNavigation, 0, q)) {
+ // When we open a menu using a shortcut, we should end up in keyboard state
+ setKeyboardMode(true);
}
}
diff --git a/src/gui/widgets/qmenubar.h b/src/gui/widgets/qmenubar.h
index ddd2d67..1fda1c1 100644
--- a/src/gui/widgets/qmenubar.h
+++ b/src/gui/widgets/qmenubar.h
@@ -336,7 +336,7 @@ private:
#endif
private:
- Q_DECLARE_SCOPED_PRIVATE(QMenuBar)
+ Q_DECLARE_PRIVATE(QMenuBar)
Q_DISABLE_COPY(QMenuBar)
Q_PRIVATE_SLOT(d_func(), void _q_actionTriggered())
Q_PRIVATE_SLOT(d_func(), void _q_actionHovered())
diff --git a/src/gui/widgets/qplaintextedit.cpp b/src/gui/widgets/qplaintextedit.cpp
index c2ef5e4..7d9d2b5 100644
--- a/src/gui/widgets/qplaintextedit.cpp
+++ b/src/gui/widgets/qplaintextedit.cpp
@@ -66,6 +66,8 @@
#include <qtexttable.h>
#include <qvariant.h>
+#include <qstandardgestures.h>
+
#include <qinputcontext.h>
#ifndef QT_NO_TEXTEDIT
@@ -255,7 +257,7 @@ QPlainTextDocumentLayoutPrivate *QPlainTextDocumentLayout::priv() const
*/
void QPlainTextDocumentLayout::requestUpdate()
{
- emit update(QRectF(0., -4., 1000000000., 1000000000.));
+ emit update(QRectF(0., -document()->documentMargin(), 1000000000., 1000000000.));
}
@@ -350,8 +352,7 @@ void QPlainTextDocumentLayout::documentChanged(int from, int /*charsRemoved*/, i
}
if (!d->blockUpdate)
- emit update(); // optimization potential
-
+ emit update(QRectF(0., -doc->documentMargin(), 1000000000., 1000000000.)); // optimization potential
}
@@ -732,6 +733,9 @@ QPlainTextEditPrivate::QPlainTextEditPrivate()
backgroundVisible = false;
centerOnScroll = false;
inDrag = false;
+#ifdef Q_WS_WIN
+ singleFingerPanEnabled = true;
+#endif
}
@@ -787,6 +791,9 @@ void QPlainTextEditPrivate::init(const QString &txt)
#ifndef QT_NO_CURSOR
viewport->setCursor(Qt::IBeamCursor);
#endif
+ originalOffsetY = 0;
+ panGesture = new QPanGesture(q);
+ QObject::connect(panGesture, SIGNAL(triggered()), q, SLOT(_q_gestureTriggered()));
}
void QPlainTextEditPrivate::_q_repaintContents(const QRectF &contentsRect)
@@ -2915,6 +2922,30 @@ QAbstractTextDocumentLayout::PaintContext QPlainTextEdit::getPaintContext() cons
(\a available is true) or unavailable (\a available is false).
*/
+void QPlainTextEditPrivate::_q_gestureTriggered()
+{
+ Q_Q(QPlainTextEdit);
+ QPanGesture *g = qobject_cast<QPanGesture*>(q->sender());
+ if (!g)
+ return;
+ QScrollBar *hBar = q->horizontalScrollBar();
+ QScrollBar *vBar = q->verticalScrollBar();
+ if (g->state() == Qt::GestureStarted)
+ originalOffsetY = vBar->value();
+ QSize totalOffset = g->totalOffset();
+ if (!totalOffset.isNull()) {
+ if (QApplication::isRightToLeft())
+ totalOffset.rwidth() *= -1;
+ // QPlainTextEdit scrolls by lines only in vertical direction
+ QFontMetrics fm(q->document()->defaultFont());
+ int lineHeight = fm.height();
+ int newX = hBar->value() - g->lastOffset().width();
+ int newY = originalOffsetY - totalOffset.height()/lineHeight;
+ hbar->setValue(newX);
+ vbar->setValue(newY);
+ }
+}
+
QT_END_NAMESPACE
#include "moc_qplaintextedit.cpp"
diff --git a/src/gui/widgets/qplaintextedit.h b/src/gui/widgets/qplaintextedit.h
index 2366a29..35bbc37 100644
--- a/src/gui/widgets/qplaintextedit.h
+++ b/src/gui/widgets/qplaintextedit.h
@@ -69,7 +69,7 @@ class QMimeData;
class Q_GUI_EXPORT QPlainTextEdit : public QAbstractScrollArea
{
Q_OBJECT
- Q_DECLARE_SCOPED_PRIVATE(QPlainTextEdit)
+ Q_DECLARE_PRIVATE(QPlainTextEdit)
Q_ENUMS(LineWrapMode)
Q_PROPERTY(bool tabChangesFocus READ tabChangesFocus WRITE setTabChangesFocus)
Q_PROPERTY(QString documentTitle READ documentTitle WRITE setDocumentTitle)
@@ -269,6 +269,7 @@ private:
Q_PRIVATE_SLOT(d_func(), void _q_adjustScrollbars())
Q_PRIVATE_SLOT(d_func(), void _q_verticalScrollbarActionTriggered(int))
Q_PRIVATE_SLOT(d_func(), void _q_cursorPositionChanged())
+ Q_PRIVATE_SLOT(d_func(), void _q_gestureTriggered())
friend class QPlainTextEditControl;
};
@@ -277,7 +278,7 @@ class QPlainTextDocumentLayoutPrivate;
class Q_GUI_EXPORT QPlainTextDocumentLayout : public QAbstractTextDocumentLayout
{
Q_OBJECT
- Q_DECLARE_SCOPED_PRIVATE(QPlainTextDocumentLayout)
+ Q_DECLARE_PRIVATE(QPlainTextDocumentLayout)
Q_PROPERTY(int cursorWidth READ cursorWidth WRITE setCursorWidth)
public:
diff --git a/src/gui/widgets/qplaintextedit_p.h b/src/gui/widgets/qplaintextedit_p.h
index 851702d..739fd89 100644
--- a/src/gui/widgets/qplaintextedit_p.h
+++ b/src/gui/widgets/qplaintextedit_p.h
@@ -72,6 +72,7 @@ class QMimeData;
class QPlainTextEdit;
class ExtraArea;
+class QPanGesture;
class QPlainTextEditControl : public QTextControl
{
@@ -177,6 +178,10 @@ public:
void _q_cursorPositionChanged();
void _q_modificationChanged(bool);
+
+ void _q_gestureTriggered();
+ int originalOffsetY;
+ QPanGesture *panGesture;
};
QT_END_NAMESPACE
diff --git a/src/gui/widgets/qprintpreviewwidget.h b/src/gui/widgets/qprintpreviewwidget.h
index 240306f..d74bf93 100644
--- a/src/gui/widgets/qprintpreviewwidget.h
+++ b/src/gui/widgets/qprintpreviewwidget.h
@@ -58,7 +58,7 @@ class QPrintPreviewWidgetPrivate;
class Q_GUI_EXPORT QPrintPreviewWidget : public QWidget
{
Q_OBJECT
- Q_DECLARE_SCOPED_PRIVATE(QPrintPreviewWidget)
+ Q_DECLARE_PRIVATE(QPrintPreviewWidget)
public:
enum ViewMode {
diff --git a/src/gui/widgets/qprogressbar.cpp b/src/gui/widgets/qprogressbar.cpp
index ac3338b..7e40c0d 100644
--- a/src/gui/widgets/qprogressbar.cpp
+++ b/src/gui/widgets/qprogressbar.cpp
@@ -190,10 +190,11 @@ bool QProgressBarPrivate::repaintRequired() const
with setValue(). The progress bar can be rewound to the
beginning with reset().
- If minimum and maximum both are set to 0, the bar shows a busy indicator
- instead of a percentage of steps. This is useful, for example, when using
- QFtp or QHttp to download items when they are unable to determine the
- size of the item being downloaded.
+ If minimum and maximum both are set to 0, the bar shows a busy
+ indicator instead of a percentage of steps. This is useful, for
+ example, when using QFtp or QNetworkAccessManager to download
+ items when they are unable to determine the size of the item being
+ downloaded.
\table
\row \o \inlineimage macintosh-progressbar.png Screenshot of a Macintosh style progress bar
@@ -204,7 +205,7 @@ bool QProgressBarPrivate::repaintRequired() const
\o A progress bar shown in the Plastique widget style.
\endtable
- \sa QTimeLine, QProgressDialog, {fowler}{GUI Design Handbook: Progress Indicator}
+ \sa QProgressDialog, {fowler}{GUI Design Handbook: Progress Indicator}
*/
/*!
@@ -443,11 +444,11 @@ QSize QProgressBar::minimumSizeHint() const
QString QProgressBar::text() const
{
Q_D(const QProgressBar);
- if (d->maximum == 0 || d->value < d->minimum
+ if ((d->maximum == 0 && d->minimum == 0) || d->value < d->minimum
|| (d->value == INT_MIN && d->minimum == INT_MIN))
return QString();
- qint64 totalSteps = qint64(d->maximum) - qint64(d->minimum);
+ qint64 totalSteps = qint64(d->maximum) - d->minimum;
QString result = d->format;
result.replace(QLatin1String("%m"), QString::number(totalSteps));
@@ -461,7 +462,7 @@ QString QProgressBar::text() const
return result;
}
- int progress = int(((qreal(d->value) - qreal(d->minimum)) * 100.0) / totalSteps);
+ int progress = (qreal(d->value) - d->minimum) * 100.0 / totalSteps;
result.replace(QLatin1String("%p"), QString::number(progress));
return result;
}
diff --git a/src/gui/widgets/qprogressbar.h b/src/gui/widgets/qprogressbar.h
index de995b6..5ac6b85 100644
--- a/src/gui/widgets/qprogressbar.h
+++ b/src/gui/widgets/qprogressbar.h
@@ -117,7 +117,7 @@ protected:
void initStyleOption(QStyleOptionProgressBar *option) const;
private:
- Q_DECLARE_SCOPED_PRIVATE(QProgressBar)
+ Q_DECLARE_PRIVATE(QProgressBar)
Q_DISABLE_COPY(QProgressBar)
};
diff --git a/src/gui/widgets/qpushbutton.h b/src/gui/widgets/qpushbutton.h
index 1b4cb95..2264cc3 100644
--- a/src/gui/widgets/qpushbutton.h
+++ b/src/gui/widgets/qpushbutton.h
@@ -111,7 +111,7 @@ public:
private:
Q_DISABLE_COPY(QPushButton)
- Q_DECLARE_SCOPED_PRIVATE(QPushButton)
+ Q_DECLARE_PRIVATE(QPushButton)
#ifndef QT_NO_MENU
Q_PRIVATE_SLOT(d_func(), void _q_popupPressed())
#endif
diff --git a/src/gui/widgets/qradiobutton.h b/src/gui/widgets/qradiobutton.h
index d2eaa4d..e631bab 100644
--- a/src/gui/widgets/qradiobutton.h
+++ b/src/gui/widgets/qradiobutton.h
@@ -77,7 +77,7 @@ public:
#endif
private:
- Q_DECLARE_SCOPED_PRIVATE(QRadioButton)
+ Q_DECLARE_PRIVATE(QRadioButton)
Q_DISABLE_COPY(QRadioButton)
};
diff --git a/src/gui/widgets/qrubberband.h b/src/gui/widgets/qrubberband.h
index 629bc29..1e638fd 100644
--- a/src/gui/widgets/qrubberband.h
+++ b/src/gui/widgets/qrubberband.h
@@ -87,7 +87,7 @@ protected:
void initStyleOption(QStyleOptionRubberBand *option) const;
private:
- Q_DECLARE_SCOPED_PRIVATE(QRubberBand)
+ Q_DECLARE_PRIVATE(QRubberBand)
};
inline void QRubberBand::setGeometry(int ax, int ay, int aw, int ah)
diff --git a/src/gui/widgets/qscrollarea.h b/src/gui/widgets/qscrollarea.h
index d2179b8..d713e15 100644
--- a/src/gui/widgets/qscrollarea.h
+++ b/src/gui/widgets/qscrollarea.h
@@ -88,7 +88,7 @@ protected:
void scrollContentsBy(int dx, int dy);
private:
- Q_DECLARE_SCOPED_PRIVATE(QScrollArea)
+ Q_DECLARE_PRIVATE(QScrollArea)
Q_DISABLE_COPY(QScrollArea)
};
diff --git a/src/gui/widgets/qscrollbar.h b/src/gui/widgets/qscrollbar.h
index b9302b3..9d25359 100644
--- a/src/gui/widgets/qscrollbar.h
+++ b/src/gui/widgets/qscrollbar.h
@@ -92,7 +92,7 @@ private:
friend Q_GUI_EXPORT QStyleOptionSlider qt_qscrollbarStyleOption(QScrollBar *scrollBar);
Q_DISABLE_COPY(QScrollBar)
- Q_DECLARE_SCOPED_PRIVATE(QScrollBar)
+ Q_DECLARE_PRIVATE(QScrollBar)
};
#endif // QT_NO_SCROLLBAR
diff --git a/src/gui/widgets/qsizegrip.cpp b/src/gui/widgets/qsizegrip.cpp
index d263b9c..c6aae68 100644
--- a/src/gui/widgets/qsizegrip.cpp
+++ b/src/gui/widgets/qsizegrip.cpp
@@ -335,8 +335,7 @@ void QSizeGrip::mousePressEvent(QMouseEvent * e)
orientation = d->atLeft() ? SZ_SIZETOPLEFT : SZ_SIZETOPRIGHT;
ReleaseCapture();
- QT_WA_INLINE(PostMessageW(tlw->winId(), WM_SYSCOMMAND, orientation, 0),
- PostMessageA(tlw->winId(), WM_SYSCOMMAND, orientation, 0));
+ PostMessage(tlw->winId(), WM_SYSCOMMAND, orientation, 0);
return;
}
#endif // Q_WS_WIN
diff --git a/src/gui/widgets/qsizegrip.h b/src/gui/widgets/qsizegrip.h
index 7e9e6ac..5a0fb3b 100644
--- a/src/gui/widgets/qsizegrip.h
+++ b/src/gui/widgets/qsizegrip.h
@@ -82,7 +82,7 @@ public:
#endif
private:
- Q_DECLARE_SCOPED_PRIVATE(QSizeGrip)
+ Q_DECLARE_PRIVATE(QSizeGrip)
Q_DISABLE_COPY(QSizeGrip)
Q_PRIVATE_SLOT(d_func(), void _q_showIfNotHidden())
};
diff --git a/src/gui/widgets/qslider.h b/src/gui/widgets/qslider.h
index 3ff3889..18c2603 100644
--- a/src/gui/widgets/qslider.h
+++ b/src/gui/widgets/qslider.h
@@ -122,7 +122,7 @@ private:
friend Q_GUI_EXPORT QStyleOptionSlider qt_qsliderStyleOption(QSlider *slider);
Q_DISABLE_COPY(QSlider)
- Q_DECLARE_SCOPED_PRIVATE(QSlider)
+ Q_DECLARE_PRIVATE(QSlider)
};
#endif // QT_NO_SLIDER
diff --git a/src/gui/widgets/qspinbox.cpp b/src/gui/widgets/qspinbox.cpp
index 9ec21d6..193b15c 100644
--- a/src/gui/widgets/qspinbox.cpp
+++ b/src/gui/widgets/qspinbox.cpp
@@ -50,6 +50,7 @@
#include <qdebug.h>
#include <math.h>
+#include <float.h>
QT_BEGIN_NAMESPACE
@@ -832,8 +833,8 @@ void QDoubleSpinBox::setRange(double minimum, double maximum)
Sets how many decimals the spinbox will use for displaying and
interpreting doubles.
- \warning The results might not be reliable with very high values
- for \a decimals.
+ \warning The maximum value for \a decimals is DBL_MAX_10_EXP +
+ DBL_DIG (ie. 323) because of the limitations of the double type.
Note: The maximum, minimum and value might change as a result of
changing this property.
@@ -849,7 +850,7 @@ int QDoubleSpinBox::decimals() const
void QDoubleSpinBox::setDecimals(int decimals)
{
Q_D(QDoubleSpinBox);
- d->decimals = qMax(0, decimals);
+ d->decimals = qBound(0, decimals, DBL_MAX_10_EXP + DBL_DIG);
setRange(minimum(), maximum()); // make sure values are rounded
setValue(value());
@@ -1214,7 +1215,7 @@ bool QDoubleSpinBoxPrivate::isIntermediateValue(const QString &str) const
return false;
}
if (doright) {
- QSBDEBUG("match %lld min_left %lld max_left %lld", match, min_left, max_left);
+ QSBDEBUG() << "match" << match << "min_left" << min_left << "max_left" << max_left;
if (!doleft) {
if (min_left == max_left) {
const bool ret = isIntermediateValueHelper(qAbs(left),
@@ -1481,7 +1482,7 @@ QString QDoubleSpinBoxPrivate::textFromValue(const QVariant &f) const
static bool isIntermediateValueHelper(qint64 num, qint64 min, qint64 max, qint64 *match)
{
- QSBDEBUG("%lld %lld %lld", num, min, max);
+ QSBDEBUG() << num << min << max;
if (num >= min && num <= max) {
if (match)
diff --git a/src/gui/widgets/qspinbox.h b/src/gui/widgets/qspinbox.h
index 96d7b96..a168528 100644
--- a/src/gui/widgets/qspinbox.h
+++ b/src/gui/widgets/qspinbox.h
@@ -119,7 +119,7 @@ Q_SIGNALS:
private:
Q_DISABLE_COPY(QSpinBox)
- Q_DECLARE_SCOPED_PRIVATE(QSpinBox)
+ Q_DECLARE_PRIVATE(QSpinBox)
};
class QDoubleSpinBoxPrivate;
@@ -176,7 +176,7 @@ Q_SIGNALS:
private:
Q_DISABLE_COPY(QDoubleSpinBox)
- Q_DECLARE_SCOPED_PRIVATE(QDoubleSpinBox)
+ Q_DECLARE_PRIVATE(QDoubleSpinBox)
};
#endif // QT_NO_SPINBOX
diff --git a/src/gui/widgets/qsplashscreen.h b/src/gui/widgets/qsplashscreen.h
index 23d4d34..d7c521c 100644
--- a/src/gui/widgets/qsplashscreen.h
+++ b/src/gui/widgets/qsplashscreen.h
@@ -87,7 +87,7 @@ protected:
private:
Q_DISABLE_COPY(QSplashScreen)
- Q_DECLARE_SCOPED_PRIVATE(QSplashScreen)
+ Q_DECLARE_PRIVATE(QSplashScreen)
};
#endif // QT_NO_SPLASHSCREEN
diff --git a/src/gui/widgets/qsplitter.h b/src/gui/widgets/qsplitter.h
index 5f16db2..ad5620e 100644
--- a/src/gui/widgets/qsplitter.h
+++ b/src/gui/widgets/qsplitter.h
@@ -142,7 +142,7 @@ public:
private:
Q_DISABLE_COPY(QSplitter)
- Q_DECLARE_SCOPED_PRIVATE(QSplitter)
+ Q_DECLARE_PRIVATE(QSplitter)
private:
friend class QSplitterHandle;
};
@@ -179,7 +179,7 @@ protected:
private:
Q_DISABLE_COPY(QSplitterHandle)
- Q_DECLARE_SCOPED_PRIVATE(QSplitterHandle)
+ Q_DECLARE_PRIVATE(QSplitterHandle)
};
#endif // QT_NO_SPLITTER
diff --git a/src/gui/widgets/qstackedwidget.h b/src/gui/widgets/qstackedwidget.h
index 6dd21bb..95d6d9f 100644
--- a/src/gui/widgets/qstackedwidget.h
+++ b/src/gui/widgets/qstackedwidget.h
@@ -88,7 +88,7 @@ protected:
private:
Q_DISABLE_COPY(QStackedWidget)
- Q_DECLARE_SCOPED_PRIVATE(QStackedWidget)
+ Q_DECLARE_PRIVATE(QStackedWidget)
};
#endif // QT_NO_STACKEDWIDGET
diff --git a/src/gui/widgets/qstatusbar.h b/src/gui/widgets/qstatusbar.h
index 28cb2a9..86d1cda 100644
--- a/src/gui/widgets/qstatusbar.h
+++ b/src/gui/widgets/qstatusbar.h
@@ -104,7 +104,7 @@ protected:
private:
Q_DISABLE_COPY(QStatusBar)
- Q_DECLARE_SCOPED_PRIVATE(QStatusBar)
+ Q_DECLARE_PRIVATE(QStatusBar)
};
#endif // QT_NO_STATUSBAR
diff --git a/src/gui/widgets/qtabbar.cpp b/src/gui/widgets/qtabbar.cpp
index 11cb6a1..6b027b1 100644
--- a/src/gui/widgets/qtabbar.cpp
+++ b/src/gui/widgets/qtabbar.cpp
@@ -87,13 +87,17 @@ void QTabBarPrivate::updateMacBorderMetrics()
// TODO: get metrics to preserve the bottom value
// TODO: test tab bar position
- // push the black line at the bottom of the menu bar down to the client are so we can paint over it
+ OSWindowRef window = qt_mac_window_for(q);
+
+ // push base line separator down to the client are so we can paint over it (Carbon)
metrics.top = (documentMode && q->isVisible()) ? 1 : 0;
metrics.bottom = 0;
metrics.left = 0;
metrics.right = 0;
-
- qt_mac_updateContentBorderMetricts(qt_mac_window_for(q), metrics);
+ qt_mac_updateContentBorderMetricts(window, metrics);
+
+ // hide the base line separator if the tabs have docuemnt mode enabled (Cocoa)
+ qt_mac_showBaseLineSeparator(window, !documentMode);
}
#endif
}
@@ -663,7 +667,7 @@ void QTabBarPrivate::refresh()
if (pressedIndex != -1
&& movable
&& QApplication::mouseButtons() == Qt::NoButton) {
- _q_moveTabFinished(pressedIndex);
+ moveTabFinished(pressedIndex);
if (!validIndex(pressedIndex))
pressedIndex = -1;
}
@@ -1662,26 +1666,17 @@ void QTabBarPrivate::slide(int from, int to)
q->setUpdatesEnabled(true);
int postLocation = vertical ? q->tabRect(to).y() : q->tabRect(to).x();
int length = postLocation - preLocation;
- tabList[to].makeTimeLine(q);
- tabList[to].dragOffset += -1 * length;
- tabList[to].timeLine->setFrameRange(tabList[to].dragOffset, 0);
- animations[tabList[to].timeLine] = to;
- tabList[to].timeLine->setDuration(ANIMATION_DURATION);
- if (tabList[to].timeLine->state() != QTimeLine::Running)
- tabList[to].timeLine->start();
+ tabList[to].dragOffset -= length;
+ tabList[to].startAnimation(this, ANIMATION_DURATION);
}
-void QTabBarPrivate::_q_moveTab(int offset)
+void QTabBarPrivate::moveTab(int index, int offset)
{
- Q_Q(QTabBar);
- if (QTimeLine *timeLine = qobject_cast<QTimeLine *>(q->sender())) {
- int index = animations[timeLine];
- if (!validIndex(index))
- return;
- tabList[index].dragOffset = offset;
- layoutTab(index); // Make buttons follow tab
- q->update();
- }
+ if (!validIndex(index))
+ return;
+ tabList[index].dragOffset = offset;
+ layoutTab(index); // Make buttons follow tab
+ q_func()->update();
}
/*!\reimp
@@ -1695,7 +1690,7 @@ void QTabBar::mousePressEvent(QMouseEvent *event)
}
// Be safe!
if (d->pressedIndex != -1 && d->movable)
- d->_q_moveTabFinished(d->pressedIndex);
+ d->moveTabFinished(d->pressedIndex);
d->pressedIndex = d->indexAtPos(event->pos());
if (d->validIndex(d->pressedIndex)) {
@@ -1721,7 +1716,7 @@ void QTabBar::mouseMoveEvent(QMouseEvent *event)
// Be safe!
if (d->pressedIndex != -1
&& event->buttons() == Qt::NoButton)
- d->_q_moveTabFinished(d->pressedIndex);
+ d->moveTabFinished(d->pressedIndex);
// Start drag
if (!d->dragInProgress && d->pressedIndex != -1) {
@@ -1789,16 +1784,6 @@ void QTabBar::mouseMoveEvent(QMouseEvent *event)
optTabBase.documentMode = d->documentMode;
}
-void QTabBarPrivate::_q_moveTabFinished()
-{
- Q_Q(QTabBar);
- if (QTimeLine *timeLine = qobject_cast<QTimeLine *>(q->sender())) {
- int index = animations[timeLine];
- animations.remove(timeLine);
- _q_moveTabFinished(index);
- }
-}
-
void QTabBarPrivate::setupMovableTab()
{
Q_Q(QTabBar);
@@ -1838,11 +1823,19 @@ void QTabBarPrivate::setupMovableTab()
movingTab->setVisible(true);
}
-void QTabBarPrivate::_q_moveTabFinished(int index)
+void QTabBarPrivate::moveTabFinished(int index)
{
Q_Q(QTabBar);
bool cleanup = (pressedIndex == index) || (pressedIndex == -1) || !validIndex(index);
- if (animations.isEmpty() && cleanup) {
+ bool allAnimationsFinished = true;
+#ifndef QT_NO_ANIMATION
+ for(int i = 0; allAnimationsFinished && i < tabList.count(); ++i) {
+ const Tab &t = tabList.at(i);
+ if (t.animation && t.animation->state() == QAbstractAnimation::Running)
+ allAnimationsFinished = false;
+ }
+#endif //QT_NO_ANIMATION
+ if (allAnimationsFinished && cleanup) {
movingTab->setVisible(false); // We might not get a mouse release
for (int i = 0; i < tabList.count(); ++i) {
tabList[i].dragOffset = 0;
@@ -1877,17 +1870,8 @@ void QTabBar::mouseReleaseEvent(QMouseEvent *event)
? tabRect(d->pressedIndex).height()
: tabRect(d->pressedIndex).width();
int duration = qMin(ANIMATION_DURATION,
- ((length < 0 ? (-1 * length) : length) * ANIMATION_DURATION) / width);
- if (duration > 0) {
- d->tabList[d->pressedIndex].makeTimeLine(this);
- d->tabList[d->pressedIndex].timeLine->setFrameRange(length, 0);
- d->animations[d->tabList[d->pressedIndex].timeLine] = d->pressedIndex;
- d->tabList[d->pressedIndex].timeLine->setDuration(duration);
- if (d->tabList[d->pressedIndex].timeLine->state() != QTimeLine::Running)
- d->tabList[d->pressedIndex].timeLine->start();
- } else {
- d->_q_moveTabFinished(d->pressedIndex);
- }
+ (qAbs(length) * ANIMATION_DURATION) / width);
+ d->tabList[d->pressedIndex].startAnimation(d, duration);
d->dragInProgress = false;
d->movingTab->setVisible(false);
d->dragStartPosition = QPoint();
diff --git a/src/gui/widgets/qtabbar.h b/src/gui/widgets/qtabbar.h
index 23d914e..402f54b 100644
--- a/src/gui/widgets/qtabbar.h
+++ b/src/gui/widgets/qtabbar.h
@@ -212,11 +212,9 @@ Q_SIGNALS:
friend class QAccessibleTabBar;
private:
Q_DISABLE_COPY(QTabBar)
- Q_DECLARE_SCOPED_PRIVATE(QTabBar)
+ Q_DECLARE_PRIVATE(QTabBar)
Q_PRIVATE_SLOT(d_func(), void _q_scrollTabs())
Q_PRIVATE_SLOT(d_func(), void _q_closeTab())
- Q_PRIVATE_SLOT(d_func(), void _q_moveTab(int))
- Q_PRIVATE_SLOT(d_func(), void _q_moveTabFinished())
};
#endif // QT_NO_TABBAR
diff --git a/src/gui/widgets/qtabbar_p.h b/src/gui/widgets/qtabbar_p.h
index dbae055..b9b9fba 100644
--- a/src/gui/widgets/qtabbar_p.h
+++ b/src/gui/widgets/qtabbar_p.h
@@ -58,9 +58,8 @@
#include <qicon.h>
#include <qtoolbutton.h>
-#include <qtimeline.h>
-#include <qhash.h>
#include <qdebug.h>
+#include <qvariantanimation.h>
#ifndef QT_NO_TABBAR
@@ -75,9 +74,10 @@ class QTabBarPrivate : public QWidgetPrivate
Q_DECLARE_PUBLIC(QTabBar)
public:
QTabBarPrivate()
- :currentIndex(-1), pressedIndex(-1),
- shape(QTabBar::RoundedNorth),
- layoutDirty(false), drawBase(true), scrollOffset(0), expanding(true), closeButtonOnTabs(false), selectionBehaviorOnRemove(QTabBar::SelectRightTab), paintWithOffsets(true), movable(false), dragInProgress(false), documentMode(false), movingTab(0) {}
+ :currentIndex(-1), pressedIndex(-1), shape(QTabBar::RoundedNorth), layoutDirty(false),
+ drawBase(true), scrollOffset(0), expanding(true), closeButtonOnTabs(false),
+ selectionBehaviorOnRemove(QTabBar::SelectRightTab), paintWithOffsets(true), movable(false),
+ dragInProgress(false), documentMode(false), movingTab(0) {}
int currentIndex;
int pressedIndex;
@@ -88,16 +88,13 @@ public:
struct Tab {
inline Tab(const QIcon &ico, const QString &txt)
- : enabled(true)
- , shortcutId(0)
- , text(txt)
- , icon(ico)
- , leftWidget(0)
- , rightWidget(0)
- , lastTab(-1)
- , timeLine(0)
- , dragOffset(0)
+ : enabled(true) , shortcutId(0), text(txt), icon(ico),
+ leftWidget(0), rightWidget(0), lastTab(-1), dragOffset(0)
+#ifndef QT_NO_ANIMATION
+ , animation(0)
+#endif //QT_NO_ANIMATION
{}
+ bool operator==(const Tab &other) const { return &other == this; }
bool enabled;
int shortcutId;
QString text;
@@ -117,21 +114,39 @@ public:
QWidget *leftWidget;
QWidget *rightWidget;
int lastTab;
-
- QTimeLine *timeLine;
int dragOffset;
- void makeTimeLine(QWidget *q) {
- if (timeLine)
- return;
- timeLine = new QTimeLine(ANIMATION_DURATION, q);
- q->connect(timeLine, SIGNAL(frameChanged(int)), q, SLOT(_q_moveTab(int)));
- q->connect(timeLine, SIGNAL(finished()), q, SLOT(_q_moveTabFinished()));
+#ifndef QT_NO_ANIMATION
+ ~Tab() { delete animation; }
+ struct TabBarAnimation : public QVariantAnimation {
+ TabBarAnimation(Tab *t, QTabBarPrivate *_priv) : tab(t), priv(_priv)
+ { setEasingCurve(QEasingCurve::InOutQuad); }
+
+ void updateCurrentValue(const QVariant &current)
+ { priv->moveTab(priv->tabList.indexOf(*tab), current.toInt()); }
+
+ void updateState(State, State newState)
+ { if (newState == Stopped) priv->moveTabFinished(priv->tabList.indexOf(*tab)); }
+ private:
+ //these are needed for the callbacks
+ Tab *tab;
+ QTabBarPrivate *priv;
+ } *animation;
+
+ void startAnimation(QTabBarPrivate *priv, int duration) {
+ if (!animation)
+ animation = new TabBarAnimation(this, priv);
+ animation->setStartValue(dragOffset);
+ animation->setEndValue(0);
+ animation->setDuration(duration);
+ animation->start();
}
-
+#else
+ void startAnimation(QTabBarPrivate *priv, int duration)
+ { Q_UNUSED(duration); priv->moveTabFinished(priv->tabList.indexOf(*this)); }
+#endif //QT_NO_ANIMATION
};
QList<Tab> tabList;
- QHash<QTimeLine*, int> animations;
int calculateNewPosition(int from, int to, int index) const;
void slide(int from, int to);
@@ -152,9 +167,8 @@ public:
void _q_scrollTabs();
void _q_closeTab();
- void _q_moveTab(int);
- void _q_moveTabFinished();
- void _q_moveTabFinished(int offset);
+ void moveTab(int index, int offset);
+ void moveTabFinished(int index);
QRect hoverRect;
void refresh();
diff --git a/src/gui/widgets/qtabwidget.h b/src/gui/widgets/qtabwidget.h
index 138a612..10150af 100644
--- a/src/gui/widgets/qtabwidget.h
+++ b/src/gui/widgets/qtabwidget.h
@@ -234,7 +234,7 @@ Q_SIGNALS:
#endif // QT3_SUPPORT
private:
- Q_DECLARE_SCOPED_PRIVATE(QTabWidget)
+ Q_DECLARE_PRIVATE(QTabWidget)
Q_DISABLE_COPY(QTabWidget)
Q_PRIVATE_SLOT(d_func(), void _q_showTab(int))
Q_PRIVATE_SLOT(d_func(), void _q_removeTab(int))
diff --git a/src/gui/widgets/qtextbrowser.h b/src/gui/widgets/qtextbrowser.h
index b9a501f..d5bd956 100644
--- a/src/gui/widgets/qtextbrowser.h
+++ b/src/gui/widgets/qtextbrowser.h
@@ -125,7 +125,7 @@ public:
private:
Q_DISABLE_COPY(QTextBrowser)
- Q_DECLARE_SCOPED_PRIVATE(QTextBrowser)
+ Q_DECLARE_PRIVATE(QTextBrowser)
Q_PRIVATE_SLOT(d_func(), void _q_documentModified())
Q_PRIVATE_SLOT(d_func(), void _q_activateAnchor(const QString &))
Q_PRIVATE_SLOT(d_func(), void _q_highlightLink(const QString &))
diff --git a/src/gui/widgets/qtextedit.cpp b/src/gui/widgets/qtextedit.cpp
index 3bac94b..e5c4d4f 100644
--- a/src/gui/widgets/qtextedit.cpp
+++ b/src/gui/widgets/qtextedit.cpp
@@ -67,6 +67,8 @@
#include <qtexttable.h>
#include <qvariant.h>
+#include <qstandardgestures.h>
+
#include <qinputcontext.h>
#endif
@@ -116,6 +118,9 @@ QTextEditPrivate::QTextEditPrivate()
preferRichText = false;
showCursorOnInitialShow = true;
inDrag = false;
+#ifdef Q_WS_WIN
+ singleFingerPanEnabled = true;
+#endif
}
void QTextEditPrivate::createAutoBulletList()
@@ -183,6 +188,8 @@ void QTextEditPrivate::init(const QString &html)
#ifndef QT_NO_CURSOR
viewport->setCursor(Qt::IBeamCursor);
#endif
+ panGesture = new QPanGesture(q);
+ QObject::connect(panGesture, SIGNAL(triggered()), q, SLOT(_q_gestureTriggered()));
}
void QTextEditPrivate::_q_repaintContents(const QRectF &contentsRect)
@@ -2624,6 +2631,25 @@ void QTextEdit::ensureCursorVisible()
d->control->ensureCursorVisible();
}
+void QTextEditPrivate::_q_gestureTriggered()
+{
+ Q_Q(QTextEdit);
+ QPanGesture *g = qobject_cast<QPanGesture*>(q->sender());
+ if (!g)
+ return;
+ QScrollBar *hBar = q->horizontalScrollBar();
+ QScrollBar *vBar = q->verticalScrollBar();
+ QSize delta = g->lastOffset();
+ if (!delta.isNull()) {
+ if (QApplication::isRightToLeft())
+ delta.rwidth() *= -1;
+ int newX = hBar->value() - delta.width();
+ int newY = vBar->value() - delta.height();
+ hbar->setValue(newX);
+ vbar->setValue(newY);
+ }
+}
+
/*!
\enum QTextEdit::KeyboardAction
diff --git a/src/gui/widgets/qtextedit.h b/src/gui/widgets/qtextedit.h
index c1c6360..9e10e07 100644
--- a/src/gui/widgets/qtextedit.h
+++ b/src/gui/widgets/qtextedit.h
@@ -70,7 +70,7 @@ class QMimeData;
class Q_GUI_EXPORT QTextEdit : public QAbstractScrollArea
{
Q_OBJECT
- Q_DECLARE_SCOPED_PRIVATE(QTextEdit)
+ Q_DECLARE_PRIVATE(QTextEdit)
Q_FLAGS(AutoFormatting)
Q_ENUMS(LineWrapMode)
Q_PROPERTY(AutoFormatting autoFormatting READ autoFormatting WRITE setAutoFormatting)
@@ -414,6 +414,7 @@ private:
Q_PRIVATE_SLOT(d_func(), void _q_currentCharFormatChanged(const QTextCharFormat &))
Q_PRIVATE_SLOT(d_func(), void _q_adjustScrollbars())
Q_PRIVATE_SLOT(d_func(), void _q_ensureVisible(const QRectF &))
+ Q_PRIVATE_SLOT(d_func(), void _q_gestureTriggered())
friend class QTextEditControl;
friend class QTextDocument;
friend class QTextControl;
diff --git a/src/gui/widgets/qtextedit_p.h b/src/gui/widgets/qtextedit_p.h
index 75e7a35..cf87a86 100644
--- a/src/gui/widgets/qtextedit_p.h
+++ b/src/gui/widgets/qtextedit_p.h
@@ -70,7 +70,7 @@ QT_BEGIN_NAMESPACE
#ifndef QT_NO_TEXTEDIT
class QMimeData;
-
+class QPanGesture;
class QTextEditPrivate : public QAbstractScrollAreaPrivate
{
Q_DECLARE_PUBLIC(QTextEdit)
@@ -130,6 +130,9 @@ public:
QString anchorToScrollToWhenVisible;
+ void _q_gestureTriggered();
+ QPanGesture *panGesture;
+
#ifdef QT_KEYPAD_NAVIGATION
QBasicTimer deleteAllTimer;
#endif
diff --git a/src/gui/widgets/qtoolbar.cpp b/src/gui/widgets/qtoolbar.cpp
index b635628..426c3e1 100644
--- a/src/gui/widgets/qtoolbar.cpp
+++ b/src/gui/widgets/qtoolbar.cpp
@@ -70,6 +70,8 @@
#include "qdebug.h"
+#define POPUP_TIMER_INTERVAL 500
+
QT_BEGIN_NAMESPACE
#ifdef Q_WS_MAC
@@ -87,14 +89,6 @@ static void qt_mac_updateToolBarButtonHint(QWidget *parentWidget)
void QToolBarPrivate::init()
{
Q_Q(QToolBar);
-
- waitForPopupTimer = new QTimer(q);
- waitForPopupTimer->setSingleShot(false);
- waitForPopupTimer->setInterval(500);
- QObject::connect(waitForPopupTimer, SIGNAL(timeout()), q, SLOT(_q_waitForPopup()));
-
- floatable = true;
- movable = true;
q->setSizePolicy(QSizePolicy(QSizePolicy::Preferred, QSizePolicy::Fixed));
q->setBackgroundRole(QPalette::Button);
q->setAttribute(Qt::WA_Hover);
@@ -880,7 +874,7 @@ QAction *QToolBar::insertSeparator(QAction *before)
If you add a QToolButton with this method, the tools bar's
Qt::ToolButtonStyle will not be respected.
- Note: You should use QAction::setVisible() to change the
+ \note You should use QAction::setVisible() to change the
visibility of the widget. Using QWidget::setVisible(),
QWidget::show() and QWidget::hide() does not work.
@@ -1080,19 +1074,46 @@ static bool waitForPopup(QToolBar *tb, QWidget *popup)
return false;
}
+#if defined(Q_WS_MAC)
+static bool toolbarInUnifiedToolBar(QToolBar *toolbar)
+{
+ const QMainWindow *mainWindow = qobject_cast<const QMainWindow *>(toolbar->parentWidget());
+ return mainWindow && mainWindow->unifiedTitleAndToolBarOnMac()
+ && mainWindow->toolBarArea(toolbar) == Qt::TopToolBarArea;
+}
+#endif
+
/*! \reimp */
bool QToolBar::event(QEvent *event)
{
Q_D(QToolBar);
switch (event->type()) {
+ case QEvent::Timer:
+ if (d->waitForPopupTimer.timerId() == static_cast<QTimerEvent*>(event)->timerId()) {
+ QWidget *w = QApplication::activePopupWidget();
+ if (!waitForPopup(this, w)) {
+ d->waitForPopupTimer.stop();
+ if (!this->underMouse())
+ d->layout->setExpanded(false);
+ }
+ }
+ break;
case QEvent::Hide:
if (!isHidden())
break;
// fallthrough intended
case QEvent::Show:
d->toggleViewAction->setChecked(event->type() == QEvent::Show);
-#if defined(Q_WS_MAC) && !defined(QT_MAC_USE_COCOA)
+#if defined(Q_WS_MAC)
+ if (toolbarInUnifiedToolBar(this)) {
+ // I can static_cast because I did the qobject_cast in the if above, therefore
+ // we must have a QMainWindowLayout here.
+ QMainWindowLayout *mwLayout = static_cast<QMainWindowLayout *>(parentWidget()->layout());
+ mwLayout->fixSizeInUnifiedToolbar(this);
+ mwLayout->syncUnifiedToolbarVisibility();
+ }
+# if !defined(QT_MAC_USE_COCOA)
// Fall through
case QEvent::LayoutRequest: {
// There's currently no way to invalidate the size and let
@@ -1107,10 +1128,9 @@ bool QToolBar::event(QEvent *event)
}
if (needUpdate) {
- OSWindowRef windowRef = qt_mac_window_for(this);
- if (mainWindow->unifiedTitleAndToolBarOnMac()
- && mainWindow->toolBarArea(this) == Qt::TopToolBarArea
- && macWindowToolbarVisible(windowRef)) {
+ OSWindowRef windowRef = qt_mac_window_for(mainWindow);
+ if (toolbarInUnifiedToolBar(this)
+ && macWindowToolbarIsVisible(windowRef)) {
DisableScreenUpdates();
macWindowToolbarShow(this, false);
macWindowToolbarShow(this, true);
@@ -1122,7 +1142,8 @@ bool QToolBar::event(QEvent *event)
return earlyResult;
}
}
-#endif
+# endif // !QT_MAC_USE_COCOA
+#endif // Q_WS_MAC
break;
case QEvent::ParentChange:
d->layout->checkUsePopupMenu();
@@ -1141,6 +1162,10 @@ bool QToolBar::event(QEvent *event)
if (d->mouseReleaseEvent(static_cast<QMouseEvent*>(event)))
return true;
break;
+ case QEvent::HoverEnter:
+ case QEvent::HoverLeave:
+ // there's nothing special to do here and we don't want to update the whole widget
+ return true;
case QEvent::HoverMove: {
#ifndef QT_NO_CURSOR
QHoverEvent *e = static_cast<QHoverEvent*>(event);
@@ -1183,11 +1208,11 @@ bool QToolBar::event(QEvent *event)
QWidget *w = QApplication::activePopupWidget();
if (waitForPopup(this, w)) {
- d->waitForPopupTimer->start();
+ d->waitForPopupTimer.start(POPUP_TIMER_INTERVAL, this);
break;
}
- d->waitForPopupTimer->stop();
+ d->waitForPopupTimer.stop();
d->layout->setExpanded(false);
break;
}
@@ -1197,18 +1222,6 @@ bool QToolBar::event(QEvent *event)
return QWidget::event(event);
}
-void QToolBarPrivate::_q_waitForPopup()
-{
- Q_Q(QToolBar);
-
- QWidget *w = QApplication::activePopupWidget();
- if (!waitForPopup(q, w)) {
- waitForPopupTimer->stop();
- if (!q->underMouse())
- layout->setExpanded(false);
- }
-}
-
/*!
Returns a checkable action that can be used to show or hide this
toolbar.
diff --git a/src/gui/widgets/qtoolbar.h b/src/gui/widgets/qtoolbar.h
index 590a345..07502b3 100644
--- a/src/gui/widgets/qtoolbar.h
+++ b/src/gui/widgets/qtoolbar.h
@@ -162,12 +162,11 @@ public:
#endif
private:
- Q_DECLARE_SCOPED_PRIVATE(QToolBar)
+ Q_DECLARE_PRIVATE(QToolBar)
Q_DISABLE_COPY(QToolBar)
Q_PRIVATE_SLOT(d_func(), void _q_toggleView(bool))
Q_PRIVATE_SLOT(d_func(), void _q_updateIconSize(const QSize &))
Q_PRIVATE_SLOT(d_func(), void _q_updateToolButtonStyle(Qt::ToolButtonStyle))
- Q_PRIVATE_SLOT(d_func(), void _q_waitForPopup())
friend class QMainWindow;
friend class QMainWindowLayout;
diff --git a/src/gui/widgets/qtoolbar_p.h b/src/gui/widgets/qtoolbar_p.h
index b03c460..42ea97f 100644
--- a/src/gui/widgets/qtoolbar_p.h
+++ b/src/gui/widgets/qtoolbar_p.h
@@ -56,6 +56,7 @@
#include "qtoolbar.h"
#include "QtGui/qaction.h"
#include "private/qwidget_p.h"
+#include <QtCore/qbasictimer.h>
QT_BEGIN_NAMESPACE
@@ -70,7 +71,7 @@ class QToolBarPrivate : public QWidgetPrivate
public:
inline QToolBarPrivate()
- : explicitIconSize(false), explicitToolButtonStyle(false), movable(false),
+ : explicitIconSize(false), explicitToolButtonStyle(false), movable(true), floatable(true),
allowedAreas(Qt::AllToolBarAreas), orientation(Qt::Horizontal),
toolButtonStyle(Qt::ToolButtonIconOnly),
layout(0), state(0)
@@ -84,16 +85,15 @@ public:
void _q_toggleView(bool b);
void _q_updateIconSize(const QSize &sz);
void _q_updateToolButtonStyle(Qt::ToolButtonStyle style);
- void _q_waitForPopup();
bool explicitIconSize;
bool explicitToolButtonStyle;
bool movable;
+ bool floatable;
Qt::ToolBarAreas allowedAreas;
Qt::Orientation orientation;
Qt::ToolButtonStyle toolButtonStyle;
QSize iconSize;
- bool floatable;
QAction *toggleViewAction;
@@ -125,7 +125,7 @@ public:
void unplug(const QRect &r);
void plug(const QRect &r);
- QTimer *waitForPopupTimer;
+ QBasicTimer waitForPopupTimer;
};
#endif // QT_NO_TOOLBAR
diff --git a/src/gui/widgets/qtoolbararealayout.cpp b/src/gui/widgets/qtoolbararealayout.cpp
index db2afd6..b4a0ef0 100644
--- a/src/gui/widgets/qtoolbararealayout.cpp
+++ b/src/gui/widgets/qtoolbararealayout.cpp
@@ -156,21 +156,15 @@ void QToolBarAreaLayoutLine::fitLayout()
if (item.skip())
continue;
- QToolBarLayout *tblayout = qobject_cast<QToolBarLayout*>(item.widgetItem->widget()->layout());
- if (tblayout)
+ if (QToolBarLayout *tblayout = qobject_cast<QToolBarLayout*>(item.widgetItem->widget()->layout()))
tblayout->checkUsePopupMenu();
- int itemMin = pick(o, item.minimumSize());
- int itemHint = pick(o, item.sizeHint());
- //we ensure the extraspace is not too low
- item.size = qMax(item.size, itemHint);
- if (item.preferredSize > 0) {
- //preferredSize would be the default size
- item.size = item.preferredSize;
- }
+ const int itemMin = pick(o, item.minimumSize());
+ //preferredSize is the default if it is set, otherwise, we take the sizehint
+ item.size = item.preferredSize > 0 ? item.preferredSize : pick(o, item.sizeHint());
//the extraspace is the space above the item minimum sizehint
- int extraSpace = qMin(item.size - itemMin, extra);
+ const int extraSpace = qMin(item.size - itemMin, extra);
item.size = itemMin + extraSpace; //that is the real size
extra -= extraSpace;
@@ -932,7 +926,7 @@ void QToolBarAreaLayout::apply(bool animate)
if (visible && dock.o == Qt::Horizontal)
geo = QStyle::visualRect(dir, line.rect, geo);
- layout->widgetAnimator->animate(widget, geo, animate);
+ layout->widgetAnimator.animate(widget, geo, animate);
}
}
}
diff --git a/src/gui/widgets/qtoolbox.h b/src/gui/widgets/qtoolbox.h
index 242efa6..2c38967 100644
--- a/src/gui/widgets/qtoolbox.h
+++ b/src/gui/widgets/qtoolbox.h
@@ -124,7 +124,7 @@ public:
#endif
private:
- Q_DECLARE_SCOPED_PRIVATE(QToolBox)
+ Q_DECLARE_PRIVATE(QToolBox)
Q_DISABLE_COPY(QToolBox)
Q_PRIVATE_SLOT(d_func(), void _q_buttonClicked())
Q_PRIVATE_SLOT(d_func(), void _q_widgetDestroyed(QObject*))
diff --git a/src/gui/widgets/qtoolbutton.cpp b/src/gui/widgets/qtoolbutton.cpp
index 6dcbfec..2c85dc5 100644
--- a/src/gui/widgets/qtoolbutton.cpp
+++ b/src/gui/widgets/qtoolbutton.cpp
@@ -378,7 +378,17 @@ void QToolButton::initStyleOption(QStyleOptionToolButton *option) const
if (d->hasMenu())
option->features |= QStyleOptionToolButton::HasMenu;
#endif
- option->toolButtonStyle = d->toolButtonStyle;
+ if (d->toolButtonStyle == Qt::ToolButtonFollowStyle) {
+ option->toolButtonStyle = Qt::ToolButtonStyle(style()->styleHint(QStyle::SH_ToolButtonStyle, option, this));
+ } else
+ option->toolButtonStyle = d->toolButtonStyle;
+
+ if (option->toolButtonStyle == Qt::ToolButtonTextBesideIcon) {
+ // If the action is not prioritized, remove the text label to save space
+ if (d->defaultAction && d->defaultAction->priority() < QAction::NormalPriority)
+ option->toolButtonStyle = Qt::ToolButtonIconOnly;
+ }
+
if (d->icon.isNull() && d->arrowType == Qt::NoArrow && !forceNoText) {
if (!d->text.isEmpty())
option->toolButtonStyle = Qt::ToolButtonTextOnly;
@@ -476,6 +486,9 @@ QSize QToolButton::minimumSizeHint() const
The default is Qt::ToolButtonIconOnly.
+ To have the style of toolbuttons follow the system settings (as available
+ in GNOME and KDE desktop environments), set this property to Qt::ToolButtonFollowStyle.
+
QToolButton automatically connects this slot to the relevant
signal in the QMainWindow in which is resides.
*/
diff --git a/src/gui/widgets/qtoolbutton.h b/src/gui/widgets/qtoolbutton.h
index 7286096..1e7d678 100644
--- a/src/gui/widgets/qtoolbutton.h
+++ b/src/gui/widgets/qtoolbutton.h
@@ -127,7 +127,7 @@ protected:
private:
Q_DISABLE_COPY(QToolButton)
- Q_DECLARE_SCOPED_PRIVATE(QToolButton)
+ Q_DECLARE_PRIVATE(QToolButton)
#ifndef QT_NO_MENU
Q_PRIVATE_SLOT(d_func(), void _q_buttonPressed())
Q_PRIVATE_SLOT(d_func(), void _q_updateButtonDown())
diff --git a/src/gui/widgets/qvalidator.h b/src/gui/widgets/qvalidator.h
index a38b98f..5c27d1d 100644
--- a/src/gui/widgets/qvalidator.h
+++ b/src/gui/widgets/qvalidator.h
@@ -61,7 +61,7 @@ class Q_GUI_EXPORT QValidator : public QObject
{
Q_OBJECT
public:
- explicit QValidator(QObject * parent);
+ explicit QValidator(QObject * parent=0);
~QValidator();
enum State {
@@ -90,7 +90,7 @@ protected:
private:
Q_DISABLE_COPY(QValidator)
- Q_DECLARE_SCOPED_PRIVATE(QValidator)
+ Q_DECLARE_PRIVATE(QValidator)
};
class Q_GUI_EXPORT QIntValidator : public QValidator
@@ -100,7 +100,7 @@ class Q_GUI_EXPORT QIntValidator : public QValidator
Q_PROPERTY(int top READ top WRITE setTop)
public:
- explicit QIntValidator(QObject * parent);
+ explicit QIntValidator(QObject * parent=0);
QIntValidator(int bottom, int top, QObject * parent);
~QIntValidator();
@@ -168,7 +168,7 @@ public:
QObject * parent, const char *name);
#endif
private:
- Q_DECLARE_SCOPED_PRIVATE(QDoubleValidator)
+ Q_DECLARE_PRIVATE(QDoubleValidator)
Q_DISABLE_COPY(QDoubleValidator)
double b;
diff --git a/src/gui/widgets/qwidgetanimator.cpp b/src/gui/widgets/qwidgetanimator.cpp
index c67be4a..1a93b51 100644
--- a/src/gui/widgets/qwidgetanimator.cpp
+++ b/src/gui/widgets/qwidgetanimator.cpp
@@ -39,158 +39,80 @@
**
****************************************************************************/
-#include <QtCore/qtimer.h>
-#include <QtCore/qdatetime.h>
+#include <QtCore/qpropertyanimation.h>
#include <QtGui/qwidget.h>
-#include <QtGui/qtextedit.h>
-#include <QtGui/private/qwidget_p.h>
-#include <qdebug.h>
+#include <QtGui/private/qmainwindowlayout_p.h>
#include "qwidgetanimator_p.h"
QT_BEGIN_NAMESPACE
-static const int g_animation_steps = 12;
-static const int g_animation_interval = 16;
-
-// 1000 * (x/(1 + x*x) + 0.5) on interval [-1, 1]
-static const int g_animate_function[] =
-{
- 0, 1, 5, 12, 23, 38, 58, 84, 116, 155, 199, 251, 307, 368,
- 433, 500, 566, 631, 692, 748, 799, 844, 883, 915, 941, 961,
- 976, 987, 994, 998, 1000
-};
-static const int g_animate_function_points = sizeof(g_animate_function)/sizeof(int);
-
-static inline int animateHelper(int start, int stop, int step, int steps)
-{
- if (start == stop)
- return start;
- if (step == 0)
- return start;
- if (step == steps)
- return stop;
-
- int x = g_animate_function_points*step/(steps + 1);
- return start + g_animate_function[x]*(stop - start)/1000;
-}
-
-QWidgetAnimator::QWidgetAnimator(QObject *parent)
- : QObject(parent)
+QWidgetAnimator::QWidgetAnimator(QMainWindowLayout *layout) : m_mainWindowLayout(layout)
{
- m_time = new QTime();
- m_timer = new QTimer(this);
- m_timer->setInterval(g_animation_interval);
- connect(m_timer, SIGNAL(timeout()), this, SLOT(animationStep()));
}
-QWidgetAnimator::~QWidgetAnimator()
+void QWidgetAnimator::abort(QWidget *w)
{
- delete m_time;
+#ifndef QT_NO_ANIMATION
+ AnimationMap::iterator it = m_animation_map.find(w);
+ if (it == m_animation_map.end())
+ return;
+ QPropertyAnimation *anim = *it;
+ m_animation_map.erase(it);
+ anim->stop();
+ m_mainWindowLayout->animationFinished(w);
+#else
+ Q_UNUSED(w); //there is no animation to abort
+#endif //QT_NO_ANIMATION
}
-void QWidgetAnimator::abort(QWidget *w)
+#ifndef QT_NO_ANIMATION
+void QWidgetAnimator::animationFinished()
{
- if (m_animation_map.remove(w) == 0)
- return;
- if (m_animation_map.isEmpty()) {
- m_timer->stop();
- emit finishedAll();
- }
+ QPropertyAnimation *anim = qobject_cast<QPropertyAnimation*>(sender());
+ abort(static_cast<QWidget*>(anim->targetObject()));
}
+#endif //QT_NO_ANIMATION
void QWidgetAnimator::animate(QWidget *widget, const QRect &_final_geometry, bool animate)
{
- QRect final_geometry = _final_geometry;
-
QRect r = widget->geometry();
if (r.right() < 0 || r.bottom() < 0)
r = QRect();
- if (r.isNull() || final_geometry.isNull())
- animate = false;
+ animate = animate && !r.isNull() && !_final_geometry.isNull();
- AnimationMap::const_iterator it = m_animation_map.constFind(widget);
- if (it == m_animation_map.constEnd()) {
- if (r == final_geometry) {
- emit finished(widget);
- return;
- }
- } else {
- if ((*it).r2 == final_geometry)
- return;
- }
-
- if (animate) {
- AnimationItem item(widget, r, final_geometry);
- m_animation_map[widget] = item;
- if (!m_timer->isActive()) {
- m_timer->start();
- m_time->start();
- }
- } else {
- m_animation_map.remove(widget);
- if (m_animation_map.isEmpty())
- m_timer->stop();
-
- if (!final_geometry.isValid() && !widget->isWindow()) {
- // Make the wigdet go away by sending it to negative space
- QSize s = widget->size();
- final_geometry = QRect(-500 - s.width(), -500 - s.height(), s.width(), s.height());
- }
- widget->setGeometry(final_geometry);
-
- emit finished(widget);
-
- if (m_animation_map.isEmpty())
- emit finishedAll();
+ // might make the wigdet go away by sending it to negative space
+ const QRect final_geometry = _final_geometry.isValid() || widget->isWindow() ? _final_geometry :
+ QRect(QPoint(-500 - widget->width(), -500 - widget->height()), widget->size());
+ if (r == final_geometry)
+ return; //the widget is already where it should be
+#ifndef QT_NO_ANIMATION
+ AnimationMap::const_iterator it = m_animation_map.constFind(widget);
+ if (it != m_animation_map.constEnd() && (*it)->endValue().toRect() == final_geometry)
return;
- }
-}
-
-void QWidgetAnimator::animationStep()
-{
- int steps = (1 + m_time->restart())/g_animation_interval;
- AnimationMap::iterator it = m_animation_map.begin();
- while (it != m_animation_map.end()) {
- AnimationItem &item = *it;
-
- item.step = qMin(item.step + steps, g_animation_steps);
-
- int x = animateHelper(item.r1.left(), item.r2.left(),
- item.step, g_animation_steps);
- int y = animateHelper(item.r1.top(), item.r2.top(),
- item.step, g_animation_steps);
- int w = animateHelper(item.r1.width(), item.r2.width(),
- item.step, g_animation_steps);
- int h = animateHelper(item.r1.height(), item.r2.height(),
- item.step, g_animation_steps);
-
- item.widget->setGeometry(x, y, w, h);
-
- if (item.step == g_animation_steps) {
- emit finished(item.widget);
- AnimationMap::iterator tmp = it;
- ++it;
- m_animation_map.erase(tmp);
- } else {
- ++it;
- }
- }
- if (m_animation_map.isEmpty()) {
- m_timer->stop();
- emit finishedAll();
- }
+ QPropertyAnimation *anim = new QPropertyAnimation(widget, "geometry");
+ anim->setDuration(animate ? 200 : 0);
+ anim->setEasingCurve(QEasingCurve::InOutQuad);
+ anim->setEndValue(final_geometry);
+ m_animation_map[widget] = anim;
+ connect(anim, SIGNAL(finished()), SLOT(animationFinished()));
+ anim->start(QPropertyAnimation::DeleteWhenStopped);
+#else
+ //we do it in one shot
+ widget->setGeometry(final_geometry);
+ m_mainWindowLayout->animationFinished(widget);
+#endif //QT_NO_ANIMATION
}
bool QWidgetAnimator::animating() const
{
- return m_timer->isActive();
+ return !m_animation_map.isEmpty();
}
-bool QWidgetAnimator::animating(QWidget *widget)
+bool QWidgetAnimator::animating(QWidget *widget) const
{
return m_animation_map.contains(widget);
}
diff --git a/src/gui/widgets/qwidgetanimator_p.h b/src/gui/widgets/qwidgetanimator_p.h
index 6ee150b..5a3e39d 100644
--- a/src/gui/widgets/qwidgetanimator_p.h
+++ b/src/gui/widgets/qwidgetanimator_p.h
@@ -54,47 +54,35 @@
//
#include <qobject.h>
-#include <qrect.h>
#include <qmap.h>
QT_BEGIN_NAMESPACE
class QWidget;
-class QTimer;
-class QTime;
+class QMainWindowLayout;
+class QPropertyAnimation;
+class QRect;
class QWidgetAnimator : public QObject
{
Q_OBJECT
public:
- QWidgetAnimator(QObject *parent = 0);
- ~QWidgetAnimator();
+ QWidgetAnimator(QMainWindowLayout *layout);
void animate(QWidget *widget, const QRect &final_geometry, bool animate);
bool animating() const;
- bool animating(QWidget *widget);
+ bool animating(QWidget *widget) const;
void abort(QWidget *widget);
-signals:
- void finished(QWidget *widget);
- void finishedAll();
-
-private slots:
- void animationStep();
+#ifndef QT_NO_ANIMATION
+private Q_SLOTS:
+ void animationFinished();
+#endif
private:
- struct AnimationItem {
- AnimationItem(QWidget *_widget = 0, const QRect &_r1 = QRect(),
- const QRect &_r2 = QRect())
- : widget(_widget), r1(_r1), r2(_r2), step(0) {}
- QWidget *widget;
- QRect r1, r2;
- int step;
- };
- typedef QMap<QWidget*, AnimationItem> AnimationMap;
+ typedef QMap<QWidget*, QPropertyAnimation*> AnimationMap;
AnimationMap m_animation_map;
- QTimer *m_timer;
- QTime *m_time;
+ QMainWindowLayout *m_mainWindowLayout;
};
QT_END_NAMESPACE
diff --git a/src/gui/widgets/qworkspace.cpp b/src/gui/widgets/qworkspace.cpp
index 47b654e..3184140 100644
--- a/src/gui/widgets/qworkspace.cpp
+++ b/src/gui/widgets/qworkspace.cpp
@@ -110,11 +110,11 @@ bool QMDIControl::event(QEvent *event)
QStyle::SubControl ctrl = style()->hitTestComplexControl(QStyle::CC_MdiControls, &opt,
helpEvent->pos(), this);
if (ctrl == QStyle::SC_MdiCloseButton)
- QToolTip::showText(helpEvent->globalPos(), QWorkspace::tr("Close"));
+ QToolTip::showText(helpEvent->globalPos(), QWorkspace::tr("Close"), this);
else if (ctrl == QStyle::SC_MdiMinButton)
- QToolTip::showText(helpEvent->globalPos(), QWorkspace::tr("Minimize"));
+ QToolTip::showText(helpEvent->globalPos(), QWorkspace::tr("Minimize"), this);
else if (ctrl == QStyle::SC_MdiNormalButton)
- QToolTip::showText(helpEvent->globalPos(), QWorkspace::tr("Restore Down"));
+ QToolTip::showText(helpEvent->globalPos(), QWorkspace::tr("Restore Down"), this);
else
QToolTip::hideText();
#endif // QT_NO_TOOLTIP
@@ -228,7 +228,7 @@ void QMDIControl::paintEvent(QPaintEvent *)
class QWorkspaceTitleBar : public QWidget
{
Q_OBJECT
- Q_DECLARE_SCOPED_PRIVATE(QWorkspaceTitleBar)
+ Q_DECLARE_PRIVATE(QWorkspaceTitleBar)
Q_PROPERTY(bool autoRaise READ autoRaise WRITE setAutoRaise)
Q_PROPERTY(bool movable READ isMovable WRITE setMovable)
@@ -397,21 +397,17 @@ void QWorkspaceTitleBarPrivate::readColors()
pal.setColor(QPalette::Inactive, QPalette::Highlight, colorref2qrgb(GetSysColor(COLOR_INACTIVECAPTION)));
pal.setColor(QPalette::Active, QPalette::HighlightedText, colorref2qrgb(GetSysColor(COLOR_CAPTIONTEXT)));
pal.setColor(QPalette::Inactive, QPalette::HighlightedText, colorref2qrgb(GetSysColor(COLOR_INACTIVECAPTIONTEXT)));
- if (QSysInfo::WindowsVersion != QSysInfo::WV_95 && QSysInfo::WindowsVersion != QSysInfo::WV_NT) {
- colorsInitialized = true;
- BOOL gradient;
- QT_WA({
- SystemParametersInfo(SPI_GETGRADIENTCAPTIONS, 0, &gradient, 0);
- } , {
- SystemParametersInfoA(SPI_GETGRADIENTCAPTIONS, 0, &gradient, 0);
- });
- if (gradient) {
- pal.setColor(QPalette::Active, QPalette::Base, colorref2qrgb(GetSysColor(COLOR_GRADIENTACTIVECAPTION)));
- pal.setColor(QPalette::Inactive, QPalette::Base, colorref2qrgb(GetSysColor(COLOR_GRADIENTINACTIVECAPTION)));
- } else {
- pal.setColor(QPalette::Active, QPalette::Base, pal.color(QPalette::Active, QPalette::Highlight));
- pal.setColor(QPalette::Inactive, QPalette::Base, pal.color(QPalette::Inactive, QPalette::Highlight));
- }
+
+ colorsInitialized = true;
+ BOOL gradient = false;
+ SystemParametersInfo(SPI_GETGRADIENTCAPTIONS, 0, &gradient, 0);
+
+ if (gradient) {
+ pal.setColor(QPalette::Active, QPalette::Base, colorref2qrgb(GetSysColor(COLOR_GRADIENTACTIVECAPTION)));
+ pal.setColor(QPalette::Inactive, QPalette::Base, colorref2qrgb(GetSysColor(COLOR_GRADIENTINACTIVECAPTION)));
+ } else {
+ pal.setColor(QPalette::Active, QPalette::Base, pal.color(QPalette::Active, QPalette::Highlight));
+ pal.setColor(QPalette::Inactive, QPalette::Base, pal.color(QPalette::Inactive, QPalette::Highlight));
}
}
#endif // Q_WS_WIN
diff --git a/src/gui/widgets/qworkspace.h b/src/gui/widgets/qworkspace.h
index 1a20d6c..8a64315 100644
--- a/src/gui/widgets/qworkspace.h
+++ b/src/gui/widgets/qworkspace.h
@@ -115,7 +115,7 @@ protected:
#endif
private:
- Q_DECLARE_SCOPED_PRIVATE(QWorkspace)
+ Q_DECLARE_PRIVATE(QWorkspace)
Q_DISABLE_COPY(QWorkspace)
Q_PRIVATE_SLOT(d_func(), void _q_normalizeActiveWindow())
Q_PRIVATE_SLOT(d_func(), void _q_minimizeActiveWindow())
diff --git a/src/gui/widgets/widgets.pri b/src/gui/widgets/widgets.pri
index cc03513..4567902 100644
--- a/src/gui/widgets/widgets.pri
+++ b/src/gui/widgets/widgets.pri
@@ -30,6 +30,7 @@ HEADERS += \
widgets/qlcdnumber.h \
widgets/qlineedit.h \
widgets/qlineedit_p.h \
+ widgets/qlinecontrol_p.h \
widgets/qmainwindow.h \
widgets/qmainwindowlayout_p.h \
widgets/qmdiarea.h \
@@ -101,7 +102,9 @@ SOURCES += \
widgets/qgroupbox.cpp \
widgets/qlabel.cpp \
widgets/qlcdnumber.cpp \
+ widgets/qlineedit_p.cpp \
widgets/qlineedit.cpp \
+ widgets/qlinecontrol.cpp \
widgets/qmainwindow.cpp \
widgets/qmainwindowlayout.cpp \
widgets/qmdiarea.cpp \
diff --git a/src/multimedia/audio/audio.pri b/src/multimedia/audio/audio.pri
new file mode 100644
index 0000000..3ddb23b
--- /dev/null
+++ b/src/multimedia/audio/audio.pri
@@ -0,0 +1,56 @@
+HEADERS += $$PWD/qaudio.h \
+ $$PWD/qaudioformat.h \
+ $$PWD/qaudioinput.h \
+ $$PWD/qaudiooutput.h \
+ $$PWD/qaudiodeviceinfo.h \
+ $$PWD/qaudioengineplugin.h \
+ $$PWD/qaudioengine.h \
+ $$PWD/qaudiodevicefactory_p.h \
+ $$PWD/qaudiodeviceid.h \
+ $$PWD/qaudiodeviceid_p.h
+
+
+SOURCES += $$PWD/qaudio.cpp \
+ $$PWD/qaudioformat.cpp \
+ $$PWD/qaudiodeviceinfo.cpp \
+ $$PWD/qaudiooutput.cpp \
+ $$PWD/qaudioinput.cpp \
+ $$PWD/qaudioengineplugin.cpp \
+ $$PWD/qaudioengine.cpp \
+ $$PWD/qaudiodevicefactory.cpp \
+ $$PWD/qaudiodeviceid.cpp
+
+mac {
+ HEADERS += $$PWD/qaudioinput_mac_p.h \
+ $$PWD/qaudiooutput_mac_p.h \
+ $$PWD/qaudiodeviceinfo_mac_p.h \
+ $$PWD/qaudio_mac_p.h
+
+ SOURCES += $$PWD/qaudiodeviceinfo_mac_p.cpp \
+ $$PWD/qaudiooutput_mac_p.cpp \
+ $$PWD/qaudioinput_mac_p.cpp \
+ $$PWD/qaudio_mac.cpp
+
+ LIBS += -framework CoreAudio -framework AudioUnit -framework AudioToolbox
+
+} else:win32 {
+
+ HEADERS += $$PWD/qaudioinput_win32_p.h $$PWD/qaudiooutput_win32_p.h $$PWD/qaudiodeviceinfo_win32_p.h
+ SOURCES += $$PWD/qaudiodeviceinfo_win32_p.cpp \
+ $$PWD/qaudiooutput_win32_p.cpp \
+ $$PWD/qaudioinput_win32_p.cpp
+ !wince*:LIBS += -lwinmm
+ wince*:LIBS += -lcoredll
+
+} else:unix {
+ unix:contains(QT_CONFIG, alsa) {
+ linux-*|freebsd-*|openbsd-*:{
+ DEFINES += HAS_ALSA
+ HEADERS += $$PWD/qaudiooutput_alsa_p.h $$PWD/qaudioinput_alsa_p.h $$PWD/qaudiodeviceinfo_alsa_p.h
+ SOURCES += $$PWD/qaudiodeviceinfo_alsa_p.cpp \
+ $$PWD/qaudiooutput_alsa_p.cpp \
+ $$PWD/qaudioinput_alsa_p.cpp
+ LIBS += -lasound
+ }
+ }
+}
diff --git a/src/multimedia/audio/qaudio.cpp b/src/multimedia/audio/qaudio.cpp
new file mode 100644
index 0000000..5ba6493
--- /dev/null
+++ b/src/multimedia/audio/qaudio.cpp
@@ -0,0 +1,102 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtMultimedia module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+
+#include <QtMultimedia/qaudio.h>
+
+
+QT_BEGIN_NAMESPACE
+
+namespace QAudio
+{
+
+class RegisterMetaTypes
+{
+public:
+ RegisterMetaTypes()
+ {
+ qRegisterMetaType<QAudio::Error>();
+ qRegisterMetaType<QAudio::State>();
+ qRegisterMetaType<QAudio::Mode>();
+ }
+
+} _register;
+
+}
+
+/*!
+ \namespace QAudio
+ \brief The QAudio namespace contains enums used by the audio classes.
+ \since 4.6
+*/
+
+/*!
+ \enum QAudio::Error
+
+ \value NoError No errors have occurred
+ \value OpenError An error opening the audio device
+ \value IOError An error occurred during read/write of audio device
+ \value UnderrunError Audio data is not being fed to the audio device at a fast enough rate
+ \value FatalError A non-recoverable error has occurred, the audio device is not usable at this time.
+*/
+
+/*!
+ \enum QAudio::State
+
+ \value ActiveState Audio data is being processed, this state is set after start() is called
+ and while audio data is available to be processed.
+ \value SuspendState The audio device is in a suspended state, this state will only be entered
+ after suspend() is called.
+ \value StopState The audio device is closed, not processing any audio data
+ \value IdleState The QIODevice passed in has no data and audio system's buffer is empty, this state
+ is set after start() is called and while no audio data is available to be processed.
+*/
+
+/*!
+ \enum QAudio::Mode
+
+ \value AudioOutput audio output device
+ \value AudioInput audio input device
+*/
+
+
+QT_END_NAMESPACE
+
diff --git a/src/multimedia/audio/qaudio.h b/src/multimedia/audio/qaudio.h
new file mode 100644
index 0000000..b996cc6
--- /dev/null
+++ b/src/multimedia/audio/qaudio.h
@@ -0,0 +1,71 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtMultimedia module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+
+#ifndef QAUDIO_H
+#define QAUDIO_H
+
+
+#include <QtCore/qglobal.h>
+#include <QtCore/qmetatype.h>
+
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+QT_MODULE(Multimedia)
+
+namespace QAudio
+{
+ enum Error { NoError, OpenError, IOError, UnderrunError, FatalError };
+ enum State { ActiveState, SuspendState, StopState, IdleState };
+ enum Mode { AudioInput, AudioOutput };
+}
+
+QT_END_NAMESPACE
+
+QT_END_HEADER
+
+Q_DECLARE_METATYPE(QAudio::Error);
+Q_DECLARE_METATYPE(QAudio::State);
+Q_DECLARE_METATYPE(QAudio::Mode);
+
+#endif // QAUDIO_H
diff --git a/src/multimedia/audio/qaudio_mac.cpp b/src/multimedia/audio/qaudio_mac.cpp
new file mode 100644
index 0000000..cfa7ca3
--- /dev/null
+++ b/src/multimedia/audio/qaudio_mac.cpp
@@ -0,0 +1,142 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtMultimedia module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+
+#include "qaudio_mac_p.h"
+
+QT_BEGIN_NAMESPACE
+
+// Debugging
+QDebug operator<<(QDebug dbg, const QAudioFormat& audioFormat)
+{
+ dbg.nospace() << "QAudioFormat(" <<
+ audioFormat.frequency() << "," <<
+ audioFormat.channels() << "," <<
+ audioFormat.sampleSize()<< "," <<
+ audioFormat.codec() << "," <<
+ audioFormat.byteOrder() << "," <<
+ audioFormat.sampleType() << ")";
+
+ return dbg.space();
+}
+
+
+// Conversion
+QAudioFormat toQAudioFormat(AudioStreamBasicDescription const& sf)
+{
+ QAudioFormat audioFormat;
+
+ audioFormat.setFrequency(sf.mSampleRate);
+ audioFormat.setChannels(sf.mChannelsPerFrame);
+ audioFormat.setSampleSize(sf.mBitsPerChannel);
+ audioFormat.setCodec(QString::fromLatin1("audio/pcm"));
+ audioFormat.setByteOrder(sf.mFormatFlags & kLinearPCMFormatFlagIsBigEndian != 0 ? QAudioFormat::BigEndian : QAudioFormat::LittleEndian);
+ QAudioFormat::SampleType type = QAudioFormat::UnSignedInt;
+ if ((sf.mFormatFlags & kLinearPCMFormatFlagIsSignedInteger) != 0)
+ type = QAudioFormat::SignedInt;
+ else if ((sf.mFormatFlags & kLinearPCMFormatFlagIsFloat) != 0)
+ type = QAudioFormat::Float;
+ audioFormat.setSampleType(type);
+
+ return audioFormat;
+}
+
+AudioStreamBasicDescription toAudioStreamBasicDescription(QAudioFormat const& audioFormat)
+{
+ AudioStreamBasicDescription sf;
+
+ sf.mFormatFlags = kAudioFormatFlagIsPacked;
+ sf.mSampleRate = audioFormat.frequency();
+ sf.mFramesPerPacket = 1;
+ sf.mChannelsPerFrame = audioFormat.channels();
+ sf.mBitsPerChannel = audioFormat.sampleSize();
+ sf.mBytesPerFrame = sf.mChannelsPerFrame * (sf.mBitsPerChannel / 8);
+ sf.mBytesPerPacket = sf.mFramesPerPacket * sf.mBytesPerFrame;
+ sf.mFormatID = kAudioFormatLinearPCM;
+
+ switch (audioFormat.sampleType()) {
+ case QAudioFormat::SignedInt: sf.mFormatFlags |= kAudioFormatFlagIsSignedInteger; break;
+ case QAudioFormat::UnSignedInt: /* default */ break;
+ case QAudioFormat::Float: sf.mFormatFlags |= kAudioFormatFlagIsFloat; break;
+ case QAudioFormat::Unknown: default: break;
+ }
+
+ return sf;
+}
+
+// QAudioRingBuffer
+QAudioRingBuffer::QAudioRingBuffer(int bufferSize):
+ m_bufferSize(bufferSize)
+{
+ m_buffer = new char[m_bufferSize];
+ reset();
+}
+
+QAudioRingBuffer::~QAudioRingBuffer()
+{
+ delete m_buffer;
+}
+
+int QAudioRingBuffer::used() const
+{
+ return m_bufferUsed;
+}
+
+int QAudioRingBuffer::free() const
+{
+ return m_bufferSize - m_bufferUsed;
+}
+
+int QAudioRingBuffer::size() const
+{
+ return m_bufferSize;
+}
+
+void QAudioRingBuffer::reset()
+{
+ m_readPos = 0;
+ m_writePos = 0;
+ m_bufferUsed = 0;
+}
+
+QT_END_NAMESPACE
+
+
diff --git a/src/multimedia/audio/qaudio_mac_p.h b/src/multimedia/audio/qaudio_mac_p.h
new file mode 100644
index 0000000..8e2d522
--- /dev/null
+++ b/src/multimedia/audio/qaudio_mac_p.h
@@ -0,0 +1,144 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtMultimedia module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists for the convenience
+// of other Qt classes. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
+
+#ifndef QAUDIO_MAC_P_H
+#define QAUDIO_MAC_P_H
+
+#include <CoreAudio/CoreAudio.h>
+
+#include <QtCore/qdebug.h>
+#include <QtCore/qatomic.h>
+
+#include <QtMultimedia/qaudioformat.h>
+
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+QT_MODULE(Multimedia)
+
+
+extern QDebug operator<<(QDebug dbg, const QAudioFormat& audioFormat);
+
+extern QAudioFormat toQAudioFormat(const AudioStreamBasicDescription& streamFormat);
+extern AudioStreamBasicDescription toAudioStreamBasicDescription(QAudioFormat const& audioFormat);
+
+class QAudioRingBuffer
+{
+public:
+ typedef QPair<char*, int> Region;
+
+ QAudioRingBuffer(int bufferSize);
+ ~QAudioRingBuffer();
+
+ Region acquireReadRegion(int size)
+ {
+ const int used = m_bufferUsed.fetchAndAddAcquire(0);
+
+ if (used > 0) {
+ const int readSize = qMin(size, qMin(m_bufferSize - m_readPos, used));
+
+ return readSize > 0 ? Region(m_buffer + m_readPos, readSize) : Region(0, 0);
+ }
+
+ return Region(0, 0);
+ }
+
+ void releaseReadRegion(Region const& region)
+ {
+ m_readPos = (m_readPos + region.second) % m_bufferSize;
+
+ m_bufferUsed.fetchAndAddRelease(-region.second);
+ }
+
+ Region acquireWriteRegion(int size)
+ {
+ const int free = m_bufferSize - m_bufferUsed.fetchAndAddAcquire(0);
+
+ if (free > 0) {
+ const int writeSize = qMin(size, qMin(m_bufferSize - m_writePos, free));
+
+ return writeSize > 0 ? Region(m_buffer + m_writePos, writeSize) : Region(0, 0);
+ }
+
+ return Region(0, 0);
+ }
+
+ void releaseWriteRegion(Region const& region)
+ {
+ m_writePos = (m_writePos + region.second) % m_bufferSize;
+
+ m_bufferUsed.fetchAndAddRelease(region.second);
+ }
+
+ int used() const;
+ int free() const;
+ int size() const;
+
+ void reset();
+
+private:
+ int m_bufferSize;
+ int m_readPos;
+ int m_writePos;
+ char* m_buffer;
+ QAtomicInt m_bufferUsed;
+};
+
+QT_END_NAMESPACE
+
+QT_END_HEADER
+
+#endif // QAUDIO_MAC_P_H
+
+
diff --git a/src/multimedia/audio/qaudiodevicefactory.cpp b/src/multimedia/audio/qaudiodevicefactory.cpp
new file mode 100644
index 0000000..35e9c91
--- /dev/null
+++ b/src/multimedia/audio/qaudiodevicefactory.cpp
@@ -0,0 +1,250 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtMultimedia module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QtCore/qdebug.h>
+#include <QtMultimedia/qaudioengine.h>
+#include <QtMultimedia/qaudioengineplugin.h>
+#include <private/qfactoryloader_p.h>
+#include "qaudiodevicefactory_p.h"
+#include "qaudiodeviceid_p.h"
+
+#if defined(Q_OS_WIN)
+#include "qaudiodeviceinfo_win32_p.h"
+#include "qaudiooutput_win32_p.h"
+#include "qaudioinput_win32_p.h"
+#elif defined(Q_OS_MAC)
+#include "qaudiodeviceinfo_mac_p.h"
+#include "qaudiooutput_mac_p.h"
+#include "qaudioinput_mac_p.h"
+#elif defined(HAS_ALSA)
+#include "qaudiodeviceinfo_alsa_p.h"
+#include "qaudiooutput_alsa_p.h"
+#include "qaudioinput_alsa_p.h"
+#endif
+
+QT_BEGIN_NAMESPACE
+
+Q_GLOBAL_STATIC_WITH_ARGS(QFactoryLoader, loader,
+ (QAudioEngineFactoryInterface_iid, QLatin1String("/audio"), Qt::CaseInsensitive))
+
+
+class QNullDeviceInfo : public QAbstractAudioDeviceInfo
+{
+public:
+ QAudioFormat preferredFormat() const { qWarning()<<"using null deviceinfo, none available"; return QAudioFormat(); }
+ bool isFormatSupported(const QAudioFormat& ) const { return false; }
+ QAudioFormat nearestFormat(const QAudioFormat& ) const { return QAudioFormat(); }
+ QString deviceName() const { return QString(); }
+ QStringList codecList() { return QStringList(); }
+ QList<int> frequencyList() { return QList<int>(); }
+ QList<int> channelsList() { return QList<int>(); }
+ QList<int> sampleSizeList() { return QList<int>(); }
+ QList<QAudioFormat::Endian> byteOrderList() { return QList<QAudioFormat::Endian>(); }
+ QList<QAudioFormat::SampleType> sampleTypeList() { return QList<QAudioFormat::SampleType>(); }
+};
+
+class QNullInputDevice : public QAbstractAudioInput
+{
+public:
+ QIODevice* start(QIODevice* ) { qWarning()<<"using null input device, none available"; return 0; }
+ void stop() {}
+ void reset() {}
+ void suspend() {}
+ void resume() {}
+ int bytesReady() const { return 0; }
+ int periodSize() const { return 0; }
+ void setBufferSize(int ) {}
+ int bufferSize() const { return 0; }
+ void setNotifyInterval(int ) {}
+ int notifyInterval() const { return 0; }
+ qint64 totalTime() const { return 0; }
+ qint64 clock() const { return 0; }
+ QAudio::Error error() const { return QAudio::OpenError; }
+ QAudio::State state() const { return QAudio::StopState; }
+ QAudioFormat format() const { return QAudioFormat(); }
+};
+
+class QNullOutputDevice : public QAbstractAudioOutput
+{
+public:
+ QIODevice* start(QIODevice* ) { qWarning()<<"using null output device, none available"; return 0; }
+ void stop() {}
+ void reset() {}
+ void suspend() {}
+ void resume() {}
+ int bytesFree() const { return 0; }
+ int periodSize() const { return 0; }
+ void setBufferSize(int ) {}
+ int bufferSize() const { return 0; }
+ void setNotifyInterval(int ) {}
+ int notifyInterval() const { return 0; }
+ qint64 totalTime() const { return 0; }
+ qint64 clock() const { return 0; }
+ QAudio::Error error() const { return QAudio::OpenError; }
+ QAudio::State state() const { return QAudio::StopState; }
+ QAudioFormat format() const { return QAudioFormat(); }
+};
+
+QList<QAudioDeviceId> QAudioDeviceFactory::deviceList(QAudio::Mode mode)
+{
+ QList<QAudioDeviceId> devices;
+#if (defined(Q_OS_WIN) || defined(Q_OS_MAC) || defined(HAS_ALSA))
+ foreach (const QByteArray &handle, QAudioDeviceInfoPrivate::deviceList(mode))
+ devices += createDeviceId(QLatin1String("builtin"), mode, handle);
+#endif
+ QFactoryLoader* l = loader();
+
+ foreach (QString const& key, l->keys()) {
+ QAudioEngineFactoryInterface* plugin = qobject_cast<QAudioEngineFactoryInterface*>(l->instance(key));
+ if (plugin) {
+ foreach (QByteArray const& handle, plugin->deviceList(mode))
+ devices += createDeviceId(key, mode, handle);
+ }
+
+ delete plugin;
+ }
+
+ return devices;
+}
+
+QAudioDeviceId QAudioDeviceFactory::defaultInputDevice()
+{
+ QAudioEngineFactoryInterface* plugin = qobject_cast<QAudioEngineFactoryInterface*>(loader()->instance(QLatin1String("default")));
+
+ if (plugin) {
+ QList<QByteArray> list = plugin->deviceList(QAudio::AudioInput);
+ if (list.size() > 0)
+ return createDeviceId(QLatin1String("default"), QAudio::AudioInput, list.at(0));
+ }
+#if (defined(Q_OS_WIN) || defined(Q_OS_MAC) || defined(HAS_ALSA))
+ return createDeviceId(QLatin1String("builtin"), QAudio::AudioInput, QAudioDeviceInfoPrivate::defaultInputDevice());
+#endif
+ return QAudioDeviceId();
+}
+
+QAudioDeviceId QAudioDeviceFactory::defaultOutputDevice()
+{
+ QAudioEngineFactoryInterface* plugin = qobject_cast<QAudioEngineFactoryInterface*>(loader()->instance(QLatin1String("default")));
+
+ if (plugin) {
+ QList<QByteArray> list = plugin->deviceList(QAudio::AudioOutput);
+ if (list.size() > 0)
+ return createDeviceId(QLatin1String("default"), QAudio::AudioOutput, list.at(0));
+ }
+#if (defined(Q_OS_WIN) || defined(Q_OS_MAC) || defined(HAS_ALSA))
+ return createDeviceId(QLatin1String("builtin"), QAudio::AudioOutput, QAudioDeviceInfoPrivate::defaultOutputDevice());
+#endif
+ return QAudioDeviceId();
+}
+
+QAbstractAudioDeviceInfo* QAudioDeviceFactory::audioDeviceInfo(QAudioDeviceId const& id)
+{
+ if (id.isNull())
+ return new QNullDeviceInfo();
+#if (defined(Q_OS_WIN) || defined(Q_OS_MAC) || defined(HAS_ALSA))
+ if (id.d->key == QLatin1String("builtin"))
+ return new QAudioDeviceInfoPrivate(id.d->handle, QAudio::Mode(id.d->mode));
+#endif
+ QAudioEngineFactoryInterface* plugin = qobject_cast<QAudioEngineFactoryInterface*>(loader()->instance(id.d->key));
+
+ if (plugin)
+ return plugin->createDeviceInfo(id.d->handle, QAudio::Mode(id.d->mode));
+
+ return new QNullDeviceInfo();
+}
+
+QAbstractAudioInput* QAudioDeviceFactory::createDefaultInputDevice(QAudioFormat const &format)
+{
+ return createInputDevice(defaultInputDevice(), format);
+}
+
+QAbstractAudioOutput* QAudioDeviceFactory::createDefaultOutputDevice(QAudioFormat const &format)
+{
+ return createOutputDevice(defaultOutputDevice(), format);
+}
+
+QAbstractAudioInput* QAudioDeviceFactory::createInputDevice(QAudioDeviceId const& id, QAudioFormat const &format)
+{
+ if (id.isNull())
+ return new QNullInputDevice();
+#if (defined(Q_OS_WIN) || defined(Q_OS_MAC) || defined(HAS_ALSA))
+ if (id.d->key == QLatin1String("builtin")) {
+ if(!defaultInputDevice().isNull())
+ return new QAudioInputPrivate(id.d->handle, format);
+ else
+ return new QNullInputDevice();
+ }
+#endif
+ QAudioEngineFactoryInterface* plugin = qobject_cast<QAudioEngineFactoryInterface*>(loader()->instance((id.d->key)));
+
+ if (plugin)
+ return plugin->createInput(id.d->handle, format);
+
+ return new QNullInputDevice();
+}
+
+QAbstractAudioOutput* QAudioDeviceFactory::createOutputDevice(QAudioDeviceId const& id, QAudioFormat const &format)
+{
+ if (id.isNull())
+ return new QNullOutputDevice();
+#if (defined(Q_OS_WIN) || defined(Q_OS_MAC) || defined(HAS_ALSA))
+ if (id.d->key == QLatin1String("builtin")) {
+ if(!defaultOutputDevice().isNull())
+ return new QAudioOutputPrivate(id.d->handle, format);
+ else
+ return new QNullOutputDevice();
+ }
+#endif
+ QAudioEngineFactoryInterface* plugin = qobject_cast<QAudioEngineFactoryInterface*>(loader()->instance(id.d->key));
+
+ if (plugin)
+ return plugin->createOutput(id.d->handle, format);
+
+ return new QNullOutputDevice();
+}
+
+QAudioDeviceId QAudioDeviceFactory::createDeviceId(QString const& key, int mode, QByteArray const& handle)
+{
+ return QAudioDeviceId(new QAudioDeviceIdPrivate(key, mode, handle));
+}
+
+QT_END_NAMESPACE
+
diff --git a/src/multimedia/audio/qaudiodevicefactory_p.h b/src/multimedia/audio/qaudiodevicefactory_p.h
new file mode 100644
index 0000000..a8e2b28
--- /dev/null
+++ b/src/multimedia/audio/qaudiodevicefactory_p.h
@@ -0,0 +1,100 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtMultimedia module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists for the convenience
+// of other Qt classes. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
+#ifndef QAUDIODEVICEFACTORY_P_H
+#define QAUDIODEVICEFACTORY_P_H
+
+#include <QtCore/qglobal.h>
+#include <QtCore/qbytearray.h>
+#include <QtCore/qlist.h>
+
+#include <QtMultimedia/qaudiodeviceid.h>
+#include <QtMultimedia/qaudiodeviceinfo.h>
+
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+QT_MODULE(Multimedia)
+
+class QAbstractAudioInput;
+class QAbstractAudioOutput;
+
+
+class QAudioDeviceFactory
+{
+public:
+ static QList<QAudioDeviceId> deviceList(QAudio::Mode mode);
+
+ static QAudioDeviceId defaultInputDevice();
+ static QAudioDeviceId defaultOutputDevice();
+
+ static QAbstractAudioDeviceInfo* audioDeviceInfo(QAudioDeviceId const &device);
+
+ static QAbstractAudioInput* createDefaultInputDevice(QAudioFormat const &format);
+ static QAbstractAudioOutput* createDefaultOutputDevice(QAudioFormat const &format);
+
+ static QAbstractAudioInput* createInputDevice(QAudioDeviceId const &device, QAudioFormat const &format);
+ static QAbstractAudioOutput* createOutputDevice(QAudioDeviceId const &device, QAudioFormat const &format);
+
+ static QAbstractAudioInput* createNullInput();
+ static QAbstractAudioOutput* createNullOutput();
+
+ static QAudioDeviceId createDeviceId(QString const& key, int mode, QByteArray const& handle);
+};
+
+QT_END_NAMESPACE
+
+QT_END_HEADER
+
+#endif // QAUDIODEVICEFACTORY_P_H
+
diff --git a/src/multimedia/audio/qaudiodeviceid.cpp b/src/multimedia/audio/qaudiodeviceid.cpp
new file mode 100644
index 0000000..21a9cd8
--- /dev/null
+++ b/src/multimedia/audio/qaudiodeviceid.cpp
@@ -0,0 +1,168 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtMultimedia module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QtCore/qstring.h>
+#include <QtCore/qbytearray.h>
+#include <QtCore/qdatastream.h>
+
+#include <QtMultimedia/qaudiodeviceid.h>
+#include "qaudiodeviceid_p.h"
+
+
+QT_BEGIN_NAMESPACE
+
+/*!
+ \class QAudioDeviceId
+ \brief The QAudioDeviceId class provides means for identifying a unique input or output device on a system.
+
+ \inmodule QtMultimedia
+ \ingroup multimedia
+ \since 4.6
+
+ \sa QAudioDeviceInfo, QAudioOutput, QAudioInput
+*/
+
+/*!
+ Construct a new null QAudioDeviceId.
+*/
+
+QAudioDeviceId::QAudioDeviceId()
+{
+}
+
+/*!
+ Copy the QAudDeviceId referenced by \a other.
+*/
+
+QAudioDeviceId::QAudioDeviceId(const QAudioDeviceId &other):
+ d(other.d)
+{
+}
+
+/*!
+ Destroy the QAudioDeviceId.
+*/
+
+QAudioDeviceId::~QAudioDeviceId()
+{
+}
+
+/*!
+ Make a copy of the \a other QAudioDeviceId.
+*/
+
+QAudioDeviceId& QAudioDeviceId::operator=(const QAudioDeviceId &other)
+{
+ d = other.d;
+ return *this;
+}
+
+/*!
+ Compare with the \a other QAudioDeviceId, return true if they are the same;
+ otherwise false.
+*/
+
+bool QAudioDeviceId::operator==(const QAudioDeviceId &other) const
+{
+ return (d.constData() == 0 && other.d.constData() == 0) ||
+ (d.constData() != 0 && other.d.constData() != 0 &&
+ d->key == other.d->key && d->mode == other.d->mode && d->handle == other.d->handle);
+}
+
+/*!
+ Compare with the \a other QAudioDeviceId, return false if they are the same;
+ otherwise true.
+*/
+
+bool QAudioDeviceId::operator!=(const QAudioDeviceId &other) const
+{
+ return !(*this == other);
+}
+
+/*!
+ Returns true if this is not a valid QAudioDeviceId; otherwise false.
+*/
+
+bool QAudioDeviceId::isNull() const
+{
+ return d.constData() == 0;
+}
+
+/*!
+ \internal
+*/
+
+QAudioDeviceId::QAudioDeviceId(QAudioDeviceIdPrivate* data):
+ d(data)
+{
+}
+
+/*!
+ \internal
+*/
+
+QAudioDeviceIdPrivate::QAudioDeviceIdPrivate(QString const& k, int m, QByteArray const& h):
+ key(k), mode(m), handle(h)
+{
+}
+
+#ifndef QT_NO_DATASTREAM
+Q_MULTIMEDIA_EXPORT QDataStream &operator<<(QDataStream &s, const QAudioDeviceId &id)
+{
+ s << id.d->key << id.d->mode << id.d->handle;
+ return s;
+}
+
+Q_MULTIMEDIA_EXPORT QDataStream &operator>>(QDataStream &s, QAudioDeviceId &id)
+{
+ QString key;
+ int mode;
+ QByteArray handle;
+
+ s >> key >> mode >> handle;
+ id = QAudioDeviceId(new QAudioDeviceIdPrivate(key, mode, handle));
+
+ return s;
+}
+#endif
+
+
+QT_END_NAMESPACE
diff --git a/src/multimedia/audio/qaudiodeviceid.h b/src/multimedia/audio/qaudiodeviceid.h
new file mode 100644
index 0000000..f9188d3
--- /dev/null
+++ b/src/multimedia/audio/qaudiodeviceid.h
@@ -0,0 +1,94 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtMultimedia module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QAUDIODEVICEID_H
+#define QAUDIODEVICEID_H
+
+#include <QtCore/qshareddata.h>
+#include <QtCore/qmetatype.h>
+
+
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+QT_MODULE(Multimedia)
+
+
+class QAudioDeviceFactory;
+class QAudioDeviceIdPrivate;
+
+class Q_MULTIMEDIA_EXPORT QAudioDeviceId
+{
+ friend class QAudioDeviceFactory;
+ friend Q_MULTIMEDIA_EXPORT QDataStream &operator<<(QDataStream&, const QAudioDeviceId&);
+ friend Q_MULTIMEDIA_EXPORT QDataStream &operator>>(QDataStream&, QAudioDeviceId&);
+
+public:
+ QAudioDeviceId();
+ QAudioDeviceId(const QAudioDeviceId &other);
+ ~QAudioDeviceId();
+
+ QAudioDeviceId& operator=(const QAudioDeviceId &other);
+ bool operator==(const QAudioDeviceId &id) const;
+ bool operator!=(const QAudioDeviceId &id) const;
+
+ bool isNull() const;
+
+private:
+ QAudioDeviceId(QAudioDeviceIdPrivate *data);
+
+ QSharedDataPointer<QAudioDeviceIdPrivate> d;
+};
+
+#ifndef QT_NO_DATASTREAM
+Q_MULTIMEDIA_EXPORT QDataStream &operator<<(QDataStream&, const QAudioDeviceId&);
+Q_MULTIMEDIA_EXPORT QDataStream &operator>>(QDataStream&, QAudioDeviceId&);
+#endif
+
+QT_END_NAMESPACE
+
+QT_END_HEADER
+
+Q_DECLARE_METATYPE(QAudioDeviceId);
+
+
+#endif // QAUDIODEVICEID_H
diff --git a/src/multimedia/audio/qaudiodeviceid_p.h b/src/multimedia/audio/qaudiodeviceid_p.h
new file mode 100644
index 0000000..3034574
--- /dev/null
+++ b/src/multimedia/audio/qaudiodeviceid_p.h
@@ -0,0 +1,82 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtMultimedia module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists for the convenience
+// of other Qt classes. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
+#ifndef QAUDIODEVICEIDPRIVATE_H
+#define QAUDIODEVICEIDPRIVATE_H
+
+#include <QtCore/qstring.h>
+#include <QtCore/qbytearray.h>
+#include <QtCore/qshareddata.h>
+
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+QT_MODULE(Multimedia)
+
+
+class QAudioDeviceIdPrivate : public QSharedData
+{
+public:
+ QAudioDeviceIdPrivate(QString const& k, int m, QByteArray const& h);
+
+ QString key;
+ int mode;
+ QByteArray handle;
+};
+
+
+QT_END_NAMESPACE
+
+QT_END_HEADER
+
+#endif // QAUDIODEVICEIDPRIVATE_H
diff --git a/src/multimedia/audio/qaudiodeviceinfo.cpp b/src/multimedia/audio/qaudiodeviceinfo.cpp
new file mode 100644
index 0000000..c1895d7
--- /dev/null
+++ b/src/multimedia/audio/qaudiodeviceinfo.cpp
@@ -0,0 +1,270 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtMultimedia module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "qaudiodevicefactory_p.h"
+#include <QtMultimedia/qaudioengine.h>
+#include <QtMultimedia/qaudiodeviceinfo.h>
+
+
+QT_BEGIN_NAMESPACE
+
+/*!
+ \class QAudioDeviceInfo
+ \brief The QAudioDeviceInfo class provides an interface to query audio devices and their functionality.
+
+ \inmodule QtMultimedia
+ \ingroup multimedia
+ \since 4.6
+
+ QAudioDeviceInfo lets you query for audio devices--such as sound
+ cards and USB headsets--that are currently available on the system.
+ The audio devices available are dependent on the platform or audio plugins installed.
+
+ You can also query each device for the formats it supports. A
+ format in this context is a set consisting of a specific byte
+ order, channel, codec, frequency, sample rate, and sample type. A
+ format is represented by the QAudioFormat class.
+
+ The values supported by the the device for each of these
+ parameters can be fetched with
+ supportedByteOrders(), supportedChannels(), supportedCodecs(),
+ supportedFrequencies(), supportedSampleSizes(), and
+ supportedSampleTypes(). The combinations supported are dependent on the platform,
+ audio plugins installed and the audio device capabilities. If you need a specific format, you can check if
+ the device supports it with isFormatSupported(), or fetch a
+ supported format that is as close as possible to the format with
+ nearestFormat().
+
+ A QAudioDeviceInfo is constructed with a QAudioDeviceId, which is
+ an identifier for a physical device. It is used by Qt to construct
+ classes that communicate with the device--such as
+ QAudioDeviceInfo, QAudioInput, and QAudioOutput. The static
+ functions defaultInputDevice(), defaultOutputDevice(), and
+ deviceList() let you get a hold of the ids for all available
+ devices. You fetch ids based on whether you will use the device
+ for input or output; this is specified by the QAudio::Mode enum.
+ The QAudioDeviceId returned are only valid for the QAudio::Mode.
+
+ For instance:
+
+ \code
+ foreach(QAudioDeviceId audioId, QAudioDeviceInfo::deviceList(QAudio::AudioOutput)) {
+ QAudioDeviceInfo info(audioId);
+ qDebug() << "Device name: " << info.deviceName();
+ }
+ \endcode
+
+ In this code sample, we loop through all devices that are able to output
+ sound, i.e., play an audio stream in a supported format. For each device we
+ find, we simply print the deviceName().
+
+ \sa QAudioOutput, QAudioInput, QAudioDeviceId
+*/
+
+/*!
+ Construct a new audio device info and attach it to \a parent.
+ Using the audio device with the specified \a id.
+*/
+
+QAudioDeviceInfo::QAudioDeviceInfo(const QAudioDeviceId &id, QObject *parent):
+ QObject(parent)
+{
+ d = QAudioDeviceFactory::audioDeviceInfo(id);
+}
+
+/*!
+ Destroy this audio device info.
+*/
+
+QAudioDeviceInfo::~QAudioDeviceInfo()
+{
+ delete d;
+}
+
+/*!
+ Returns human readable name of audio device.
+
+ Device names vary depending on platform/audio plugin being used.
+
+ They are a unique string identifiers for the audio device.
+
+ eg. default, Intel, U0x46d0x9a4
+*/
+
+QString QAudioDeviceInfo::deviceName() const
+{
+ return d->deviceName();
+}
+
+/*!
+ Returns true if \a settings are supported by the audio device of this QAudioDeviceInfo.
+*/
+
+bool QAudioDeviceInfo::isFormatSupported(const QAudioFormat &settings) const
+{
+ return d->isFormatSupported(settings);
+}
+
+/*!
+ Returns QAudioFormat of default settings.
+
+ These settings are provided by the platform/audio plugin being used.
+
+ They also are dependent on the QAudio::Mode being used.
+
+ A typical audio system would provide something like:
+ \list
+ \o Input settings: 8000Hz mono 8 bit.
+ \o Output settings: 44100Hz stereo 16 bit little endian.
+ \endlist
+*/
+
+QAudioFormat QAudioDeviceInfo::preferredFormat() const
+{
+ return d->preferredFormat();
+}
+
+/*!
+ Returns closest QAudioFormat to \a settings that system audio supports.
+
+ These settings are provided by the platform/audio plugin being used.
+
+ They also are dependent on the QAudio::Mode being used.
+*/
+
+QAudioFormat QAudioDeviceInfo::nearestFormat(const QAudioFormat &settings) const
+{
+ return d->nearestFormat(settings);
+}
+
+/*!
+ Returns a list of supported codecs.
+
+ All platform and plugin implementations should provide support for:
+
+ "audio/pcm" - Linear PCM
+
+ For writing plugins to support additional codecs refer to:
+
+ http://www.iana.org/assignments/media-types/audio/
+*/
+
+QStringList QAudioDeviceInfo::supportedCodecs() const
+{
+ return d->codecList();
+}
+
+/*!
+ Returns a list of supported frequencies.
+*/
+
+QList<int> QAudioDeviceInfo::supportedFrequencies() const
+{
+ return d->frequencyList();
+}
+
+/*!
+ Returns a list of supported channels.
+*/
+
+QList<int> QAudioDeviceInfo::supportedChannels() const
+{
+ return d->channelsList();
+}
+
+/*!
+ Returns a list of supported sample sizes.
+*/
+
+QList<int> QAudioDeviceInfo::supportedSampleSizes() const
+{
+ return d->sampleSizeList();
+}
+
+/*!
+ Returns a list of supported byte orders.
+*/
+
+QList<QAudioFormat::Endian> QAudioDeviceInfo::supportedByteOrders() const
+{
+ return d->byteOrderList();
+}
+
+/*!
+ Returns a list of supported sample types.
+*/
+
+QList<QAudioFormat::SampleType> QAudioDeviceInfo::supportedSampleTypes() const
+{
+ return d->sampleTypeList();
+}
+
+/*!
+ Returns the name of the default input audio device.
+ All platform and audio plugin implementations provide a default audio device to use.
+*/
+
+QAudioDeviceId QAudioDeviceInfo::defaultInputDevice()
+{
+ return QAudioDeviceFactory::defaultInputDevice();
+}
+
+/*!
+ Returns the name of the default output audio device.
+ All platform and audio plugin implementations provide a default audio device to use.
+*/
+
+QAudioDeviceId QAudioDeviceInfo::defaultOutputDevice()
+{
+ return QAudioDeviceFactory::defaultOutputDevice();
+}
+
+/*!
+ Returns a list of audio devices that support \a mode.
+*/
+
+QList<QAudioDeviceId> QAudioDeviceInfo::deviceList(QAudio::Mode mode)
+{
+ return QAudioDeviceFactory::deviceList(mode);
+}
+
+QT_END_NAMESPACE
+
diff --git a/src/multimedia/audio/qaudiodeviceinfo.h b/src/multimedia/audio/qaudiodeviceinfo.h
new file mode 100644
index 0000000..444a00a
--- /dev/null
+++ b/src/multimedia/audio/qaudiodeviceinfo.h
@@ -0,0 +1,102 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtMultimedia module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+
+#ifndef QAUDIODEVICEINFO_H
+#define QAUDIODEVICEINFO_H
+
+#include <QtCore/qobject.h>
+#include <QtCore/qglobal.h>
+#include <QtCore/qbytearray.h>
+#include <QtCore/qstring.h>
+#include <QtCore/qstringlist.h>
+#include <QtCore/qlist.h>
+
+#include <QtMultimedia/qaudio.h>
+#include <QtMultimedia/qaudioformat.h>
+#include <QtMultimedia/qaudiodeviceid.h>
+
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+QT_MODULE(Multimedia)
+
+
+class QAbstractAudioDeviceInfo;
+
+class Q_MULTIMEDIA_EXPORT QAudioDeviceInfo : public QObject
+{
+ Q_OBJECT
+
+public:
+ explicit QAudioDeviceInfo(const QAudioDeviceId &id, QObject *parent = 0);
+ ~QAudioDeviceInfo();
+
+ QString deviceName() const;
+
+ bool isFormatSupported(const QAudioFormat &format) const;
+ QAudioFormat preferredFormat() const;
+ QAudioFormat nearestFormat(const QAudioFormat &format) const;
+
+ QStringList supportedCodecs() const;
+ QList<int> supportedFrequencies() const;
+ QList<int> supportedChannels() const;
+ QList<int> supportedSampleSizes() const;
+ QList<QAudioFormat::Endian> supportedByteOrders() const;
+ QList<QAudioFormat::SampleType> supportedSampleTypes() const;
+
+ static QAudioDeviceId defaultInputDevice();
+ static QAudioDeviceId defaultOutputDevice();
+
+ static QList<QAudioDeviceId> deviceList(QAudio::Mode mode);
+
+private:
+ Q_DISABLE_COPY(QAudioDeviceInfo)
+
+ QAbstractAudioDeviceInfo* d;
+};
+
+QT_END_NAMESPACE
+
+QT_END_HEADER
+
+#endif // QAUDIODEVICEINFO_H
diff --git a/src/multimedia/audio/qaudiodeviceinfo_alsa_p.cpp b/src/multimedia/audio/qaudiodeviceinfo_alsa_p.cpp
new file mode 100644
index 0000000..fe45f82
--- /dev/null
+++ b/src/multimedia/audio/qaudiodeviceinfo_alsa_p.cpp
@@ -0,0 +1,394 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtMultimedia module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists for the convenience
+// of other Qt classes. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
+#include "qaudiodeviceinfo_alsa_p.h"
+
+QAudioDeviceInfoPrivate::QAudioDeviceInfoPrivate(QByteArray dev, QAudio::Mode mode)
+{
+ handle = 0;
+
+ device = QLatin1String(dev);
+ this->mode = mode;
+}
+
+QAudioDeviceInfoPrivate::~QAudioDeviceInfoPrivate()
+{
+ close();
+}
+
+bool QAudioDeviceInfoPrivate::isFormatSupported(const QAudioFormat& format) const
+{
+ return testSettings(format);
+}
+
+QAudioFormat QAudioDeviceInfoPrivate::preferredFormat() const
+{
+ QAudioFormat nearest;
+ if(mode == QAudio::AudioOutput) {
+ nearest.setFrequency(44100);
+ nearest.setChannels(2);
+ nearest.setByteOrder(QAudioFormat::LittleEndian);
+ nearest.setSampleType(QAudioFormat::SignedInt);
+ nearest.setSampleSize(16);
+ nearest.setCodec(tr("audio/pcm"));
+ } else {
+ nearest.setFrequency(8000);
+ nearest.setChannels(1);
+ nearest.setSampleType(QAudioFormat::SignedInt);
+ nearest.setSampleSize(8);
+ nearest.setCodec(tr("audio/pcm"));
+ }
+ return nearest;
+}
+
+QAudioFormat QAudioDeviceInfoPrivate::nearestFormat(const QAudioFormat& format) const
+{
+ if(testSettings(format))
+ return format;
+ else
+ return preferredFormat();
+}
+
+QString QAudioDeviceInfoPrivate::deviceName() const
+{
+ return device;
+}
+
+QStringList QAudioDeviceInfoPrivate::codecList()
+{
+ updateLists();
+ return codecz;
+}
+
+QList<int> QAudioDeviceInfoPrivate::frequencyList()
+{
+ updateLists();
+ return freqz;
+}
+
+QList<int> QAudioDeviceInfoPrivate::channelsList()
+{
+ updateLists();
+ return channelz;
+}
+
+QList<int> QAudioDeviceInfoPrivate::sampleSizeList()
+{
+ updateLists();
+ return sizez;
+}
+
+QList<QAudioFormat::Endian> QAudioDeviceInfoPrivate::byteOrderList()
+{
+ updateLists();
+ return byteOrderz;
+}
+
+QList<QAudioFormat::SampleType> QAudioDeviceInfoPrivate::sampleTypeList()
+{
+ updateLists();
+ return typez;
+}
+
+bool QAudioDeviceInfoPrivate::open()
+{
+ int err = 0;
+ QString dev = device;
+ if(!dev.contains(tr("default"))) {
+ int idx = snd_card_get_index(dev.toLocal8Bit().constData());
+ dev = QString(tr("hw:%1,0")).arg(idx);
+ }
+ if(mode == QAudio::AudioOutput) {
+ err=snd_pcm_open( &handle,dev.toLocal8Bit().constData(),SND_PCM_STREAM_PLAYBACK,0);
+ } else {
+ err=snd_pcm_open( &handle,dev.toLocal8Bit().constData(),SND_PCM_STREAM_CAPTURE,0);
+ }
+ if(err < 0) {
+ handle = 0;
+ return false;
+ }
+ return true;
+}
+
+void QAudioDeviceInfoPrivate::close()
+{
+ if(handle)
+ snd_pcm_close(handle);
+ handle = 0;
+}
+
+bool QAudioDeviceInfoPrivate::testSettings(const QAudioFormat& format) const
+{
+ // Set nearest to closest settings that do work.
+ // See if what is in settings will work (return value).
+
+ int err = 0;
+ snd_pcm_t* handle;
+ snd_pcm_hw_params_t *params;
+ QString dev = device;
+
+ // open()
+ if(!dev.contains(tr("default"))) {
+ int idx = snd_card_get_index(dev.toLocal8Bit().constData());
+ dev = QString(tr("hw:%1,0")).arg(idx);
+ }
+ if(mode == QAudio::AudioOutput) {
+ err=snd_pcm_open( &handle,dev.toLocal8Bit().constData(),SND_PCM_STREAM_PLAYBACK,0);
+ } else {
+ err=snd_pcm_open( &handle,dev.toLocal8Bit().constData(),SND_PCM_STREAM_CAPTURE,0);
+ }
+ if(err < 0) {
+ handle = 0;
+ return false;
+ }
+
+ bool testChannel = false;
+ bool testCodec = false;
+ bool testFreq = false;
+ bool testType = false;
+ bool testSize = false;
+
+ int dir = 0;
+
+ snd_pcm_nonblock( handle, 0 );
+ snd_pcm_hw_params_alloca( &params );
+ snd_pcm_hw_params_any( handle, params );
+
+ // For now, just accept only audio/pcm codec
+ if(!format.codec().startsWith(tr("audio/pcm"))) {
+ err=-1;
+ } else
+ testCodec = true;
+
+ if(err>=0 && format.channels() != -1) {
+ err = snd_pcm_hw_params_test_channels(handle,params,format.channels());
+ if(err>=0)
+ err = snd_pcm_hw_params_set_channels(handle,params,format.channels());
+ if(err>=0)
+ testChannel = true;
+ }
+
+ if(err>=0 && format.frequency() != -1) {
+ err = snd_pcm_hw_params_test_rate(handle,params,format.frequency(),0);
+ if(err>=0)
+ err = snd_pcm_hw_params_set_rate(handle,params,format.frequency(),dir);
+ if(err>=0)
+ testFreq = true;
+ }
+
+ if((err>=0 && format.sampleSize() != -1) &&
+ (format.sampleType() != QAudioFormat::Unknown)) {
+ switch(format.sampleSize()) {
+ case 8:
+ if(format.sampleType() == QAudioFormat::SignedInt)
+ err = snd_pcm_hw_params_set_format(handle,params,SND_PCM_FORMAT_S8);
+ else if(format.sampleType() == QAudioFormat::UnSignedInt)
+ err = snd_pcm_hw_params_set_format(handle,params,SND_PCM_FORMAT_U8);
+ break;
+ case 16:
+ if(format.sampleType() == QAudioFormat::SignedInt) {
+ if(format.byteOrder() == QAudioFormat::LittleEndian)
+ err = snd_pcm_hw_params_set_format(handle,params,SND_PCM_FORMAT_S16_LE);
+ else if(format.byteOrder() == QAudioFormat::BigEndian)
+ err = snd_pcm_hw_params_set_format(handle,params,SND_PCM_FORMAT_S16_BE);
+ } else if(format.sampleType() == QAudioFormat::UnSignedInt) {
+ if(format.byteOrder() == QAudioFormat::LittleEndian)
+ err = snd_pcm_hw_params_set_format(handle,params,SND_PCM_FORMAT_U16_LE);
+ else if(format.byteOrder() == QAudioFormat::BigEndian)
+ err = snd_pcm_hw_params_set_format(handle,params,SND_PCM_FORMAT_U16_BE);
+ }
+ break;
+ case 32:
+ if(format.sampleType() == QAudioFormat::SignedInt) {
+ if(format.byteOrder() == QAudioFormat::LittleEndian)
+ err = snd_pcm_hw_params_set_format(handle,params,SND_PCM_FORMAT_S32_LE);
+ else if(format.byteOrder() == QAudioFormat::BigEndian)
+ err = snd_pcm_hw_params_set_format(handle,params,SND_PCM_FORMAT_S32_BE);
+ } else if(format.sampleType() == QAudioFormat::UnSignedInt) {
+ if(format.byteOrder() == QAudioFormat::LittleEndian)
+ err = snd_pcm_hw_params_set_format(handle,params,SND_PCM_FORMAT_U32_LE);
+ else if(format.byteOrder() == QAudioFormat::BigEndian)
+ err = snd_pcm_hw_params_set_format(handle,params,SND_PCM_FORMAT_U32_BE);
+ }
+ }
+ if(err>=0) {
+ testSize = true;
+ testType = true;
+ }
+ }
+ if(err>=0)
+ err = snd_pcm_hw_params(handle, params);
+
+ if(err == 0) {
+ // settings work
+ // close()
+ if(handle)
+ snd_pcm_close(handle);
+ return true;
+ }
+ if(handle)
+ snd_pcm_close(handle);
+
+ return false;
+}
+
+void QAudioDeviceInfoPrivate::updateLists()
+{
+ // redo all lists based on current settings
+ freqz.clear();
+ channelz.clear();
+ sizez.clear();
+ byteOrderz.clear();
+ typez.clear();
+ codecz.clear();
+
+ if(!handle)
+ open();
+
+ if(!handle)
+ return;
+
+ for(int i=0; i<(int)MAX_SAMPLE_RATES; i++) {
+ //if(snd_pcm_hw_params_test_rate(handle, params, SAMPLE_RATES[i], dir) == 0)
+ freqz.append(SAMPLE_RATES[i]);
+ }
+ channelz.append(1);
+ channelz.append(2);
+ sizez.append(8);
+ sizez.append(16);
+ sizez.append(32);
+ byteOrderz.append(QAudioFormat::LittleEndian);
+ byteOrderz.append(QAudioFormat::BigEndian);
+ typez.append(QAudioFormat::SignedInt);
+ typez.append(QAudioFormat::UnSignedInt);
+ typez.append(QAudioFormat::Float);
+ codecz.append(tr("audio/pcm"));
+ close();
+}
+
+QList<QByteArray> QAudioDeviceInfoPrivate::deviceList(QAudio::Mode mode)
+{
+ QAudio::Mode _m;
+ QList<QByteArray> devices;
+ QByteArray filter;
+ QString dir;
+
+ // Create a list of all current audio devices that support mode
+ void **hints, **n;
+ char *name, *descr, *io;
+
+ if(snd_device_name_hint(-1, "pcm", &hints) < 0) {
+ qWarning()<<"no alsa devices available";
+ return devices;
+ }
+ n = hints;
+
+ while (*n != NULL) {
+ _m = QAudio::AudioOutput;
+ name = snd_device_name_get_hint(*n, "NAME");
+ descr = snd_device_name_get_hint(*n, "DESC");
+ io = snd_device_name_get_hint(*n, "IOID");
+ dir = QString::fromUtf8(io);
+ if((name != NULL) && (descr != NULL) && ((io == NULL) || (dir.length() ==filter.length()))) {
+ if(dir.length() == 5)
+ _m = QAudio::AudioInput;
+ if(io == NULL)
+ _m = mode;
+
+ QString str = tr(name);
+
+ if(str.contains(tr("default"))) {
+ int pos = str.indexOf(tr("="),0);
+ devices.append(str.mid(pos+1).toLocal8Bit().constData());
+ }
+ }
+ if(name != NULL)
+ free(name);
+ if(descr != NULL)
+ free(descr);
+ if(io != NULL)
+ free(io);
+ n++;
+ }
+ snd_device_name_free_hint(hints);
+
+ if(devices.size() > 0) {
+ devices.append("default");
+ if(mode == QAudio::AudioInput) {
+ filter.append("Input");
+ } else {
+ filter.append("Output");
+ }
+ }
+
+ return devices;
+}
+
+QByteArray QAudioDeviceInfoPrivate::defaultInputDevice()
+{
+ QList<QByteArray> devices = deviceList(QAudio::AudioInput);
+ if(devices.size() == 0)
+ return QByteArray();
+
+ return QByteArray("default");
+}
+
+QByteArray QAudioDeviceInfoPrivate::defaultOutputDevice()
+{
+ QList<QByteArray> devices = deviceList(QAudio::AudioOutput);
+ if(devices.size() == 0)
+ return QByteArray();
+
+ return QByteArray("default");
+}
+
+
diff --git a/src/multimedia/audio/qaudiodeviceinfo_alsa_p.h b/src/multimedia/audio/qaudiodeviceinfo_alsa_p.h
new file mode 100644
index 0000000..3ac9239
--- /dev/null
+++ b/src/multimedia/audio/qaudiodeviceinfo_alsa_p.h
@@ -0,0 +1,113 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtMultimedia module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists for the convenience
+// of other Qt classes. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
+
+#ifndef QAUDIODEVICEINFOALSA_H
+#define QAUDIODEVICEINFOALSA_H
+
+#include <alsa/asoundlib.h>
+
+#include <QtCore/qbytearray.h>
+#include <QtCore/qstringlist.h>
+#include <QtCore/qlist.h>
+#include <QtCore/qdebug.h>
+
+#include <QtMultimedia/qaudio.h>
+#include <QtMultimedia/qaudiodeviceinfo.h>
+#include <QtMultimedia/qaudioengine.h>
+
+const unsigned int MAX_SAMPLE_RATES = 5;
+const unsigned int SAMPLE_RATES[] =
+ { 8000, 11025, 22050, 44100, 48000 };
+
+class QAudioDeviceInfoPrivate : public QAbstractAudioDeviceInfo
+{
+ Q_OBJECT
+public:
+ QAudioDeviceInfoPrivate(QByteArray dev,QAudio::Mode mode);
+ ~QAudioDeviceInfoPrivate();
+
+ bool testSettings(const QAudioFormat& format) const;
+ void updateLists();
+ QAudioFormat preferredFormat() const;
+ bool isFormatSupported(const QAudioFormat& format) const;
+ QAudioFormat nearestFormat(const QAudioFormat& format) const;
+ QString deviceName() const;
+ QStringList codecList();
+ QList<int> frequencyList();
+ QList<int> channelsList();
+ QList<int> sampleSizeList();
+ QList<QAudioFormat::Endian> byteOrderList();
+ QList<QAudioFormat::SampleType> sampleTypeList();
+ static QByteArray defaultInputDevice();
+ static QByteArray defaultOutputDevice();
+ static QList<QByteArray> deviceList(QAudio::Mode);
+
+private:
+ bool open();
+ void close();
+
+ QString device;
+ QAudio::Mode mode;
+ QAudioFormat nearest;
+ QList<int> freqz;
+ QList<int> channelz;
+ QList<int> sizez;
+ QList<QAudioFormat::Endian> byteOrderz;
+ QStringList codecz;
+ QList<QAudioFormat::SampleType> typez;
+ snd_pcm_t* handle;
+ snd_pcm_hw_params_t *params;
+};
+
+#endif
+
diff --git a/src/multimedia/audio/qaudiodeviceinfo_mac_p.cpp b/src/multimedia/audio/qaudiodeviceinfo_mac_p.cpp
new file mode 100644
index 0000000..c94e0c4
--- /dev/null
+++ b/src/multimedia/audio/qaudiodeviceinfo_mac_p.cpp
@@ -0,0 +1,357 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtMultimedia module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists for the convenience
+// of other Qt classes. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
+#include <QtCore/qstringlist.h>
+#include <QtCore/qlist.h>
+#include <QtCore/qbytearray.h>
+#include <QtCore/qdatastream.h>
+#include <QtCore/qdebug.h>
+#include <private/qcore_mac_p.h>
+
+#include <QtMultimedia/qaudiodeviceinfo.h>
+#include "qaudio_mac_p.h"
+#include "qaudiodeviceinfo_mac_p.h"
+
+
+
+QT_BEGIN_NAMESPACE
+
+
+QAudioDeviceInfoPrivate::QAudioDeviceInfoPrivate(QByteArray const& handle, QAudio::Mode)
+{
+ QDataStream ds(handle);
+ quint32 did, tm;
+
+ ds >> did >> tm >> name;
+ deviceId = AudioDeviceID(did);
+ mode = QAudio::Mode(tm);
+}
+
+bool QAudioDeviceInfoPrivate::isFormatSupported(const QAudioFormat& format) const
+{
+ return format.codec() == QString::fromLatin1("audio/pcm");
+}
+
+QAudioFormat QAudioDeviceInfoPrivate::preferredFormat() const
+{
+ QAudioFormat rc;
+
+ UInt32 propSize = 0;
+
+ if (AudioDeviceGetPropertyInfo(deviceId,
+ 0,
+ mode == QAudio::AudioInput,
+ kAudioDevicePropertyStreams,
+ &propSize,
+ 0) == noErr) {
+
+ const int sc = propSize / sizeof(AudioStreamID);
+
+ if (sc > 0) {
+ AudioStreamID* streams = new AudioStreamID[sc];
+
+ if (AudioDeviceGetProperty(deviceId,
+ 0,
+ mode == QAudio::AudioInput,
+ kAudioDevicePropertyStreams,
+ &propSize,
+ streams) == noErr) {
+
+ for (int i = 0; i < sc; ++i) {
+ if (AudioStreamGetPropertyInfo(streams[i],
+ 0,
+ kAudioStreamPropertyPhysicalFormat,
+ &propSize,
+ 0) == noErr) {
+
+ AudioStreamBasicDescription sf;
+
+ if (AudioStreamGetProperty(streams[i],
+ 0,
+ kAudioStreamPropertyPhysicalFormat,
+ &propSize,
+ &sf) == noErr) {
+ rc = toQAudioFormat(sf);
+ break;
+ }
+ }
+ }
+ }
+
+ delete streams;
+ }
+ }
+
+ return rc;
+}
+
+QAudioFormat QAudioDeviceInfoPrivate::nearestFormat(const QAudioFormat& format) const
+{
+ QAudioFormat rc(format);
+ QAudioFormat target = preferredFormat();
+
+ if (!format.codec().isEmpty() && format.codec() != QString::fromLatin1("audio/pcm"))
+ return QAudioFormat();
+
+ rc.setCodec(QString::fromLatin1("audio/pcm"));
+
+ if (rc.frequency() != target.frequency())
+ rc.setFrequency(target.frequency());
+ if (rc.channels() != target.channels())
+ rc.setChannels(target.channels());
+ if (rc.sampleSize() != target.sampleSize())
+ rc.setSampleSize(target.sampleSize());
+ if (rc.byteOrder() != target.byteOrder())
+ rc.setByteOrder(target.byteOrder());
+ if (rc.sampleType() != target.sampleType())
+ rc.setSampleType(target.sampleType());
+
+ return rc;
+}
+
+QString QAudioDeviceInfoPrivate::deviceName() const
+{
+ return name;
+}
+
+QStringList QAudioDeviceInfoPrivate::codecList()
+{
+ return QStringList() << QString::fromLatin1("audio/pcm");
+}
+
+QList<int> QAudioDeviceInfoPrivate::frequencyList()
+{
+ QSet<int> rc;
+
+ // Add some common frequencies
+ rc << 8000 << 11025 << 22050 << 44100;
+
+ //
+ UInt32 propSize = 0;
+
+ if (AudioDeviceGetPropertyInfo(deviceId,
+ 0,
+ mode == QAudio::AudioInput,
+ kAudioDevicePropertyAvailableNominalSampleRates,
+ &propSize,
+ 0) == noErr) {
+
+ const int pc = propSize / sizeof(AudioValueRange);
+
+ if (pc > 0) {
+ AudioValueRange* vr = new AudioValueRange[pc];
+
+ if (AudioDeviceGetProperty(deviceId,
+ 0,
+ mode == QAudio::AudioInput,
+ kAudioDevicePropertyAvailableNominalSampleRates,
+ &propSize,
+ vr) == noErr) {
+
+ for (int i = 0; i < pc; ++i)
+ rc << vr[i].mMaximum;
+ }
+
+ delete vr;
+ }
+ }
+
+ return rc.toList();
+}
+
+QList<int> QAudioDeviceInfoPrivate::channelsList()
+{
+ QList<int> rc;
+
+ // Can mix down to 1 channel
+ rc << 1;
+
+ UInt32 propSize = 0;
+ int channels = 0;
+
+ if (AudioDeviceGetPropertyInfo(deviceId,
+ 0,
+ mode == QAudio::AudioInput,
+ kAudioDevicePropertyStreamConfiguration,
+ &propSize,
+ 0) == noErr) {
+
+ AudioBufferList* audioBufferList = static_cast<AudioBufferList*>(qMalloc(propSize));
+
+ if (audioBufferList != 0) {
+ if (AudioDeviceGetProperty(deviceId,
+ 0,
+ mode == QAudio::AudioInput,
+ kAudioDevicePropertyStreamConfiguration,
+ &propSize,
+ audioBufferList) == noErr) {
+
+ for (int i = 0; i < int(audioBufferList->mNumberBuffers); ++i) {
+ channels += audioBufferList->mBuffers[i].mNumberChannels;
+ rc << channels;
+ }
+ }
+
+ qFree(audioBufferList);
+ }
+ }
+
+ return rc;
+}
+
+QList<int> QAudioDeviceInfoPrivate::sampleSizeList()
+{
+ return QList<int>() << 8 << 16 << 24 << 32 << 64;
+}
+
+QList<QAudioFormat::Endian> QAudioDeviceInfoPrivate::byteOrderList()
+{
+ return QList<QAudioFormat::Endian>() << QAudioFormat::LittleEndian << QAudioFormat::BigEndian;
+}
+
+QList<QAudioFormat::SampleType> QAudioDeviceInfoPrivate::sampleTypeList()
+{
+ return QList<QAudioFormat::SampleType>() << QAudioFormat::SignedInt << QAudioFormat::UnSignedInt << QAudioFormat::Float;
+}
+
+static QByteArray get_device_info(AudioDeviceID audioDevice, QAudio::Mode mode)
+{
+ UInt32 size;
+ QByteArray device;
+ QDataStream ds(&device, QIODevice::WriteOnly);
+ AudioStreamBasicDescription sf;
+ CFStringRef name;
+ Boolean isInput = mode == QAudio::AudioInput;
+
+ // Id
+ ds << quint32(audioDevice);
+
+ // Mode
+ size = sizeof(AudioStreamBasicDescription);
+ if (AudioDeviceGetProperty(audioDevice, 0, isInput, kAudioDevicePropertyStreamFormat,
+ &size, &sf) != noErr) {
+ return QByteArray();
+ }
+ ds << quint32(mode);
+
+ // Name
+ size = sizeof(CFStringRef);
+ if (AudioDeviceGetProperty(audioDevice, 0, isInput, kAudioObjectPropertyName,
+ &size, &name) != noErr) {
+ qWarning() << "QAudioDeviceInfo: Unable to find device name";
+ }
+ ds << QCFString::toQString(name);
+
+ CFRelease(name);
+
+ return device;
+}
+
+QByteArray QAudioDeviceInfoPrivate::defaultInputDevice()
+{
+ AudioDeviceID audioDevice;
+ UInt32 size = sizeof(audioDevice);
+
+ if (AudioHardwareGetProperty(kAudioHardwarePropertyDefaultInputDevice, &size,
+ &audioDevice) != noErr) {
+ qWarning() << "QAudioDeviceInfo: Unable to find default input device";
+ return QByteArray();
+ }
+
+ return get_device_info(audioDevice, QAudio::AudioInput);
+}
+
+QByteArray QAudioDeviceInfoPrivate::defaultOutputDevice()
+{
+ AudioDeviceID audioDevice;
+ UInt32 size = sizeof(audioDevice);
+
+ if (AudioHardwareGetProperty(kAudioHardwarePropertyDefaultOutputDevice, &size,
+ &audioDevice) != noErr) {
+ qWarning() << "QAudioDeviceInfo: Unable to find default output device";
+ return QByteArray();
+ }
+
+ return get_device_info(audioDevice, QAudio::AudioOutput);
+}
+
+QList<QByteArray> QAudioDeviceInfoPrivate::deviceList(QAudio::Mode mode)
+{
+ QList<QByteArray> devices;
+
+ UInt32 propSize = 0;
+
+ if (AudioHardwareGetPropertyInfo(kAudioHardwarePropertyDevices, &propSize, 0) == noErr) {
+
+ const int dc = propSize / sizeof(AudioDeviceID);
+
+ if (dc > 0) {
+ AudioDeviceID* audioDevices = new AudioDeviceID[dc];
+
+ if (AudioHardwareGetProperty(kAudioHardwarePropertyDevices, &propSize, audioDevices) == noErr) {
+ for (int i = 0; i < dc; ++i) {
+ QByteArray info = get_device_info(audioDevices[i], mode);
+ if (!info.isNull())
+ devices << info;
+ }
+ }
+
+ delete audioDevices;
+ }
+ }
+
+ return devices;
+}
+
+
+QT_END_NAMESPACE
+
diff --git a/src/multimedia/audio/qaudiodeviceinfo_mac_p.h b/src/multimedia/audio/qaudiodeviceinfo_mac_p.h
new file mode 100644
index 0000000..ee593de
--- /dev/null
+++ b/src/multimedia/audio/qaudiodeviceinfo_mac_p.h
@@ -0,0 +1,97 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtMultimedia module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists for the convenience
+// of other Qt classes. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
+
+#ifndef QDEVICEINFO_MAC_P_H
+#define QDEVICEINFO_MAC_P_H
+
+#include <CoreAudio/CoreAudio.h>
+
+#include <QtMultimedia/qaudioengine.h>
+
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+class QAudioDeviceInfoPrivate : public QAbstractAudioDeviceInfo
+{
+public:
+ AudioDeviceID deviceId;
+ QString name;
+ QAudio::Mode mode;
+
+ QAudioDeviceInfoPrivate(QByteArray const& handle, QAudio::Mode mode);
+
+ bool isFormatSupported(const QAudioFormat& format) const;
+ QAudioFormat preferredFormat() const;
+ QAudioFormat nearestFormat(const QAudioFormat& format) const;
+
+ QString deviceName() const;
+
+ QStringList codecList();
+ QList<int> frequencyList();
+ QList<int> channelsList();
+ QList<int> sampleSizeList();
+ QList<QAudioFormat::Endian> byteOrderList();
+ QList<QAudioFormat::SampleType> sampleTypeList();
+
+ static QByteArray defaultInputDevice();
+ static QByteArray defaultOutputDevice();
+
+ static QList<QByteArray> deviceList(QAudio::Mode mode);
+};
+
+QT_END_NAMESPACE
+
+QT_END_HEADER
+
+#endif // QDEVICEINFO_MAC_P_H
diff --git a/src/multimedia/audio/qaudiodeviceinfo_win32_p.cpp b/src/multimedia/audio/qaudiodeviceinfo_win32_p.cpp
new file mode 100644
index 0000000..1a1995a
--- /dev/null
+++ b/src/multimedia/audio/qaudiodeviceinfo_win32_p.cpp
@@ -0,0 +1,378 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtMultimedia module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists for the convenience
+// of other Qt classes. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
+
+#include <windows.h>
+#include <mmsystem.h>
+#include "qaudiodeviceinfo_win32_p.h"
+
+// For mingw toolchain mmsystem.h only defines half the defines, so add if needed.
+#ifndef WAVE_FORMAT_44M08
+#define WAVE_FORMAT_44M08 0x00000100
+#define WAVE_FORMAT_44S08 0x00000200
+#define WAVE_FORMAT_44M16 0x00000400
+#define WAVE_FORMAT_44S16 0x00000800
+#define WAVE_FORMAT_48M08 0x00001000
+#define WAVE_FORMAT_48S08 0x00002000
+#define WAVE_FORMAT_48M16 0x00004000
+#define WAVE_FORMAT_48S16 0x00008000
+#define WAVE_FORMAT_96M08 0x00010000
+#define WAVE_FORMAT_96S08 0x00020000
+#define WAVE_FORMAT_96M16 0x00040000
+#define WAVE_FORMAT_96S16 0x00080000
+#endif
+
+
+QAudioDeviceInfoPrivate::QAudioDeviceInfoPrivate(QByteArray dev, QAudio::Mode mode)
+{
+ device = QLatin1String(dev);
+ this->mode = mode;
+}
+
+QAudioDeviceInfoPrivate::~QAudioDeviceInfoPrivate()
+{
+ close();
+}
+
+bool QAudioDeviceInfoPrivate::isFormatSupported(const QAudioFormat& format) const
+{
+ return testSettings(format);
+}
+
+QAudioFormat QAudioDeviceInfoPrivate::preferredFormat() const
+{
+ QAudioFormat nearest;
+ if(mode == QAudio::AudioOutput) {
+ nearest.setFrequency(44100);
+ nearest.setChannels(2);
+ nearest.setByteOrder(QAudioFormat::LittleEndian);
+ nearest.setSampleType(QAudioFormat::SignedInt);
+ nearest.setSampleSize(16);
+ nearest.setCodec(tr("audio/pcm"));
+ } else {
+ nearest.setFrequency(11025);
+ nearest.setChannels(1);
+ nearest.setSampleType(QAudioFormat::SignedInt);
+ nearest.setSampleSize(8);
+ nearest.setCodec(tr("audio/pcm"));
+ }
+ return nearest;
+}
+
+QAudioFormat QAudioDeviceInfoPrivate::nearestFormat(const QAudioFormat& format) const
+{
+ if(testSettings(format))
+ return format;
+ else
+ return preferredFormat();
+}
+
+QString QAudioDeviceInfoPrivate::deviceName() const
+{
+ return device;
+}
+
+QStringList QAudioDeviceInfoPrivate::codecList()
+{
+ updateLists();
+ return codecz;
+}
+
+QList<int> QAudioDeviceInfoPrivate::frequencyList()
+{
+ updateLists();
+ return freqz;
+}
+
+QList<int> QAudioDeviceInfoPrivate::channelsList()
+{
+ updateLists();
+ return channelz;
+}
+
+QList<int> QAudioDeviceInfoPrivate::sampleSizeList()
+{
+ updateLists();
+ return sizez;
+}
+
+QList<QAudioFormat::Endian> QAudioDeviceInfoPrivate::byteOrderList()
+{
+ updateLists();
+ return byteOrderz;
+}
+
+QList<QAudioFormat::SampleType> QAudioDeviceInfoPrivate::sampleTypeList()
+{
+ updateLists();
+ return typez;
+}
+
+
+bool QAudioDeviceInfoPrivate::open()
+{
+ return true;
+}
+
+void QAudioDeviceInfoPrivate::close()
+{
+}
+
+bool QAudioDeviceInfoPrivate::testSettings(const QAudioFormat& format) const
+{
+ // Set nearest to closest settings that do work.
+ // See if what is in settings will work (return value).
+
+ bool testChannel = false;
+ bool testCodec = false;
+ bool testFreq = false;
+
+ int err = 0;
+
+ // For now, just accept only audio/pcm codec
+ if(!format.codec().startsWith(tr("audio/pcm"))) {
+ err=-1;
+ } else
+ testCodec = true;
+
+ if(err>=0 && format.channels() != -1) {
+ testChannel = true;
+ }
+
+ if(err>=0 && format.frequency() != -1) {
+ testFreq = true;
+ }
+
+ if(err == 0) {
+ // settings work
+ return true;
+ }
+ return false;
+}
+
+void QAudioDeviceInfoPrivate::updateLists()
+{
+ // redo all lists based on current settings
+ bool base = false;
+ bool match = false;
+ DWORD fmt = NULL;
+ QString tmp;
+
+ if(device.compare(tr("default")) == 0)
+ base = true;
+
+ if(mode == QAudio::AudioOutput) {
+ WAVEOUTCAPS woc;
+ unsigned long iNumDevs,i;
+ iNumDevs = waveOutGetNumDevs();
+ for(i=0;i<iNumDevs;i++) {
+ if(waveOutGetDevCaps(i, &woc, sizeof(WAVEOUTCAPS))
+ == MMSYSERR_NOERROR) {
+ tmp = QString::fromUtf16((const unsigned short*)woc.szPname);
+ if(tmp.compare(device) == 0) {
+ match = true;
+ fmt = woc.dwFormats;
+ break;
+ }
+ if(base) {
+ match = true;
+ fmt = woc.dwFormats;
+ break;
+ }
+ }
+ }
+ } else {
+ WAVEINCAPS woc;
+ unsigned long iNumDevs,i;
+ iNumDevs = waveInGetNumDevs();
+ for(i=0;i<iNumDevs;i++) {
+ if(waveInGetDevCaps(i, &woc, sizeof(WAVEINCAPS))
+ == MMSYSERR_NOERROR) {
+ tmp = QString::fromUtf16((const unsigned short*)woc.szPname);
+ if(tmp.compare(device) == 0) {
+ match = true;
+ fmt = woc.dwFormats;
+ break;
+ }
+ if(base) {
+ match = true;
+ fmt = woc.dwFormats;
+ break;
+ }
+ }
+ }
+ }
+ sizez.clear();
+ freqz.clear();
+ channelz.clear();
+ byteOrderz.clear();
+ typez.clear();
+ codecz.clear();
+
+ if(match) {
+ if((fmt && WAVE_FORMAT_1M08)
+ || (fmt && WAVE_FORMAT_1S08)
+ || (fmt && WAVE_FORMAT_2M08)
+ || (fmt && WAVE_FORMAT_2S08)
+ || (fmt && WAVE_FORMAT_4M08)
+ || (fmt && WAVE_FORMAT_4S08)
+#ifndef Q_OS_WINCE
+ || (fmt && WAVE_FORMAT_48M08)
+ || (fmt && WAVE_FORMAT_48S08)
+ || (fmt && WAVE_FORMAT_96M08)
+ || (fmt && WAVE_FORMAT_96S08)
+#endif
+ ) {
+ sizez.append(8);
+ }
+ if((fmt && WAVE_FORMAT_1M16)
+ || (fmt && WAVE_FORMAT_1S16)
+ || (fmt && WAVE_FORMAT_2M16)
+ || (fmt && WAVE_FORMAT_2S16)
+ || (fmt && WAVE_FORMAT_4M16)
+ || (fmt && WAVE_FORMAT_4S16)
+#ifndef Q_OS_WINCE
+ || (fmt && WAVE_FORMAT_48M16)
+ || (fmt && WAVE_FORMAT_48S16)
+ || (fmt && WAVE_FORMAT_96M16)
+ || (fmt && WAVE_FORMAT_96S16)
+#endif
+ ) {
+ sizez.append(16);
+ }
+ if((fmt && WAVE_FORMAT_1M08)
+ || (fmt && WAVE_FORMAT_1S08)
+ || (fmt && WAVE_FORMAT_1M16)
+ || (fmt && WAVE_FORMAT_1S16)) {
+ freqz.append(11025);
+ }
+ if((fmt && WAVE_FORMAT_2M08)
+ || (fmt && WAVE_FORMAT_2S08)
+ || (fmt && WAVE_FORMAT_2M16)
+ || (fmt && WAVE_FORMAT_2S16)) {
+ freqz.append(22050);
+ }
+ if((fmt && WAVE_FORMAT_4M08)
+ || (fmt && WAVE_FORMAT_4S08)
+ || (fmt && WAVE_FORMAT_4M16)
+ || (fmt && WAVE_FORMAT_4S16)) {
+ freqz.append(44100);
+ }
+#ifndef Q_OS_WINCE
+ if((fmt && WAVE_FORMAT_48M08)
+ || (fmt && WAVE_FORMAT_48S08)
+ || (fmt && WAVE_FORMAT_48M16)
+ || (fmt && WAVE_FORMAT_48S16)) {
+ freqz.append(48000);
+ }
+ if((fmt && WAVE_FORMAT_96M08)
+ || (fmt && WAVE_FORMAT_96S08)
+ || (fmt && WAVE_FORMAT_96M16)
+ || (fmt && WAVE_FORMAT_96S16)) {
+ freqz.append(96000);
+ }
+#endif
+ channelz.append(1);
+ channelz.append(2);
+
+ byteOrderz.append(QAudioFormat::LittleEndian);
+
+ typez.append(QAudioFormat::SignedInt);
+ typez.append(QAudioFormat::UnSignedInt);
+
+ codecz.append(tr("audio/pcm"));
+ }
+}
+
+QList<QByteArray> QAudioDeviceInfoPrivate::deviceList(QAudio::Mode mode)
+{
+ Q_UNUSED(mode)
+
+ QList<QByteArray> devices;
+
+ devices.append("default");
+
+ if(mode == QAudio::AudioOutput) {
+ WAVEOUTCAPS woc;
+ unsigned long iNumDevs,i;
+ iNumDevs = waveOutGetNumDevs();
+ for(i=0;i<iNumDevs;i++) {
+ if(waveOutGetDevCaps(i, &woc, sizeof(WAVEOUTCAPS))
+ == MMSYSERR_NOERROR) {
+ devices.append(QString::fromUtf16((const unsigned short*)woc.szPname).toLocal8Bit().constData());
+ }
+ }
+ } else {
+ WAVEINCAPS woc;
+ unsigned long iNumDevs,i;
+ iNumDevs = waveInGetNumDevs();
+ for(i=0;i<iNumDevs;i++) {
+ if(waveInGetDevCaps(i, &woc, sizeof(WAVEINCAPS))
+ == MMSYSERR_NOERROR) {
+ devices.append(QString::fromUtf16((const unsigned short*)woc.szPname).toLocal8Bit().constData());
+ }
+ }
+
+ }
+ return devices;
+}
+
+QByteArray QAudioDeviceInfoPrivate::defaultOutputDevice()
+{
+ return QByteArray("default");
+}
+
+QByteArray QAudioDeviceInfoPrivate::defaultInputDevice()
+{
+ return QByteArray("default");
+}
+
diff --git a/src/multimedia/audio/qaudiodeviceinfo_win32_p.h b/src/multimedia/audio/qaudiodeviceinfo_win32_p.h
new file mode 100644
index 0000000..140a741
--- /dev/null
+++ b/src/multimedia/audio/qaudiodeviceinfo_win32_p.h
@@ -0,0 +1,108 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtMultimedia module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists for the convenience
+// of other Qt classes. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
+
+#ifndef QAUDIODEVICEINFOWIN_H
+#define QAUDIODEVICEINFOWIN_H
+
+#include <QtCore/qbytearray.h>
+#include <QtCore/qstringlist.h>
+#include <QtCore/qlist.h>
+#include <QtCore/qdebug.h>
+
+#include <QtMultimedia/qaudiodeviceinfo.h>
+#include <QtMultimedia/qaudioengine.h>
+
+
+const unsigned int MAX_SAMPLE_RATES = 5;
+const unsigned int SAMPLE_RATES[] = { 8000, 11025, 22050, 44100, 48000 };
+
+class QAudioDeviceInfoPrivate : public QAbstractAudioDeviceInfo
+{
+ Q_OBJECT
+
+public:
+ QAudioDeviceInfoPrivate(QByteArray dev,QAudio::Mode mode);
+ ~QAudioDeviceInfoPrivate();
+
+ bool open();
+ void close();
+
+ bool testSettings(const QAudioFormat& format) const;
+ void updateLists();
+ QAudioFormat preferredFormat() const;
+ bool isFormatSupported(const QAudioFormat& format) const;
+ QAudioFormat nearestFormat(const QAudioFormat& format) const;
+ QString deviceName() const;
+ QStringList codecList();
+ QList<int> frequencyList();
+ QList<int> channelsList();
+ QList<int> sampleSizeList();
+ QList<QAudioFormat::Endian> byteOrderList();
+ QList<QAudioFormat::SampleType> sampleTypeList();
+ static QByteArray defaultInputDevice();
+ static QByteArray defaultOutputDevice();
+ static QList<QByteArray> deviceList(QAudio::Mode);
+
+private:
+ QAudio::Mode mode;
+ QString device;
+ QAudioFormat nearest;
+ QList<int> freqz;
+ QList<int> channelz;
+ QList<int> sizez;
+ QList<QAudioFormat::Endian> byteOrderz;
+ QStringList codecz;
+ QList<QAudioFormat::SampleType> typez;
+};
+
+#endif
diff --git a/src/multimedia/audio/qaudioengine.cpp b/src/multimedia/audio/qaudioengine.cpp
new file mode 100644
index 0000000..930977e
--- /dev/null
+++ b/src/multimedia/audio/qaudioengine.cpp
@@ -0,0 +1,343 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtMultimedia module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QtMultimedia/qaudioengine.h>
+
+QT_BEGIN_NAMESPACE
+
+/*!
+ \class QAbstractAudioDeviceInfo
+ \brief The QAbstractAudioDeviceInfo class provides access for QAudioDeviceInfo to access the audio
+ device provided by the plugin.
+ \internal
+
+ \ingroup multimedia
+
+ This class implements the audio functionality for
+ QAudioDeviceInfo, i.e., QAudioDeviceInfo keeps a
+ QAbstractAudioDeviceInfo and routes function calls to it. For a
+ description of the functionality that QAbstractAudioDeviceInfo
+ implements, you can read the class and functions documentation of
+ QAudioDeviceInfo.
+
+ \sa QAudioDeviceInfo
+*/
+
+/*!
+ \fn virtual QAudioFormat QAbstractAudioDeviceInfo::preferredFormat() const
+ Returns the nearest settings.
+*/
+
+/*!
+ \fn virtual bool QAbstractAudioDeviceInfo::isFormatSupported(const QAudioFormat& format) const
+ Returns true if \a format is available from audio device.
+*/
+
+/*!
+ \fn virtual QAudioFormat QAbstractAudioDeviceInfo::nearestFormat(const QAudioFormat& format) const
+ Returns the nearest settings \a format.
+*/
+
+/*!
+ \fn virtual QString QAbstractAudioDeviceInfo::deviceName() const
+ Returns the audio device name.
+*/
+
+/*!
+ \fn virtual QStringList QAbstractAudioDeviceInfo::codecList()
+ Returns the list of currently available codecs.
+*/
+
+/*!
+ \fn virtual QList<int> QAbstractAudioDeviceInfo::frequencyList()
+ Returns the list of currently available frequencies.
+*/
+
+/*!
+ \fn virtual QList<int> QAbstractAudioDeviceInfo::channelsList()
+ Returns the list of currently available channels.
+*/
+
+/*!
+ \fn virtual QList<int> QAbstractAudioDeviceInfo::sampleSizeList()
+ Returns the list of currently available sample sizes.
+*/
+
+/*!
+ \fn virtual QList<QAudioFormat::Endian> QAbstractAudioDeviceInfo::byteOrderList()
+ Returns the list of currently available byte orders.
+*/
+
+/*!
+ \fn virtual QList<QAudioFormat::SampleType> QAbstractAudioDeviceInfo::sampleTypeList()
+ Returns the list of currently available sample types.
+*/
+
+/*!
+ \class QAbstractAudioOutput
+ \brief The QAbstractAudioOutput class provides access for QAudioOutput to access the audio
+ device provided by the plugin.
+ \internal
+
+ \ingroup multimedia
+
+ QAbstractAudioOutput implements audio functionality for
+ QAudioOutput, i.e., QAudioOutput routes function calls to
+ QAbstractAudioOutput. For a description of the functionality that
+ is implemented, see the QAudioOutput class and function
+ descriptions.
+
+ \sa QAudioOutput
+*/
+
+/*!
+ \fn virtual QIODevice* QAbstractAudioOutput::start(QIODevice* device)
+ Uses the \a device as the QIODevice to transfer data. If \a device is null then the class
+ creates an internal QIODevice. Returns a pointer to the QIODevice being used to handle
+ the data transfer. This QIODevice can be used to write() audio data directly. Passing a
+ QIODevice allows the data to be transfered without any extra code.
+*/
+
+/*!
+ \fn virtual void QAbstractAudioOutput::stop()
+ Stops the audio output.
+*/
+
+/*!
+ \fn virtual void QAbstractAudioOutput::reset()
+ Drops all audio data in the buffers, resets buffers to zero.
+*/
+
+/*!
+ \fn virtual void QAbstractAudioOutput::suspend()
+ Stops processing audio data, preserving buffered audio data.
+*/
+
+/*!
+ \fn virtual void QAbstractAudioOutput::resume()
+ Resumes processing audio data after a suspend()
+*/
+
+/*!
+ \fn virtual int QAbstractAudioOutput::bytesFree() const
+ Returns the free space available in bytes in the audio buffer.
+*/
+
+/*!
+ \fn virtual int QAbstractAudioOutput::periodSize() const
+ Returns the period size in bytes.
+*/
+
+/*!
+ \fn virtual void QAbstractAudioOutput::setBufferSize(int value)
+ Sets the audio buffer size to \a value in bytes.
+*/
+
+/*!
+ \fn virtual int QAbstractAudioOutput::bufferSize() const
+ Returns the audio buffer size in bytes.
+*/
+
+/*!
+ \fn virtual void QAbstractAudioOutput::setNotifyInterval(int ms)
+ Sets the interval for notify() signal to be emitted. This is based on the \a ms
+ of audio data processed not on actual real-time. The resolution of the timer
+ is platform specific.
+*/
+
+/*!
+ \fn virtual int QAbstractAudioOutput::notifyInterval() const
+ Returns the notify interval in milliseconds.
+*/
+
+/*!
+ \fn virtual qint64 QAbstractAudioOutput::totalTime() const
+ Returns the amount of audio data processed since start() was called in milliseconds.
+*/
+
+/*!
+ \fn virtual qint64 QAbstractAudioOutput::clock() const
+ Returns the milliseconds since start() was called, including time in Idle and suspend states.
+*/
+
+/*!
+ \fn virtual QAudio::Error QAbstractAudioOutput::error() const
+ Returns the error state.
+*/
+
+/*!
+ \fn virtual QAudio::State QAbstractAudioOutput::state() const
+ Returns the state of audio processing.
+*/
+
+/*!
+ \fn virtual QAudioFormat QAbstractAudioOutput::format() const
+ Returns the QAudioFormat being used.
+*/
+
+/*!
+ \fn QAbstractAudioOutput::stateChanged(QAudio::State state)
+ This signal is emitted when the device \a state has changed.
+*/
+
+/*!
+ \fn QAbstractAudioOutput::notify()
+ This signal is emitted when x ms of audio data has been processed
+ the interval set by setNotifyInterval(x).
+*/
+
+
+/*!
+ \class QAbstractAudioInput
+ \brief The QAbstractAudioInput class provides access for QAudioInput to access the audio
+ device provided by the plugin.
+ \internal
+
+ \ingroup multimedia
+
+ QAudioDeviceInput keeps an instance of QAbstractAudioInput and
+ routes calls to functions of the same name to QAbstractAudioInput.
+ This means that it is QAbstractAudioInput that implements the
+ audio functionality. For a description of the functionality, see
+ the QAudioInput class description.
+
+ \sa QAudioInput
+*/
+
+/*!
+ \fn virtual QIODevice* QAbstractAudioInput::start(QIODevice* device)
+ Uses the \a device as the QIODevice to transfer data. If \a device is null
+ then the class creates an internal QIODevice. Returns a pointer to the
+ QIODevice being used to handle the data transfer. This QIODevice can be used to
+ read() audio data directly. Passing a QIODevice allows the data to be transfered
+ without any extra code.
+*/
+
+/*!
+ \fn virtual void QAbstractAudioInput::stop()
+ Stops the audio input.
+*/
+
+/*!
+ \fn virtual void QAbstractAudioInput::reset()
+ Drops all audio data in the buffers, resets buffers to zero.
+*/
+
+/*!
+ \fn virtual void QAbstractAudioInput::suspend()
+ Stops processing audio data, preserving buffered audio data.
+*/
+
+/*!
+ \fn virtual void QAbstractAudioInput::resume()
+ Resumes processing audio data after a suspend().
+*/
+
+/*!
+ \fn virtual int QAbstractAudioInput::bytesReady() const
+ Returns the amount of audio data available to read in bytes.
+*/
+
+/*!
+ \fn virtual int QAbstractAudioInput::periodSize() const
+ Returns the period size in bytes.
+*/
+
+/*!
+ \fn virtual void QAbstractAudioInput::setBufferSize(int value)
+ Sets the audio buffer size to \a value in milliseconds.
+*/
+
+/*!
+ \fn virtual int QAbstractAudioInput::bufferSize() const
+ Returns the audio buffer size in milliseconds.
+*/
+
+/*!
+ \fn virtual void QAbstractAudioInput::setNotifyInterval(int ms)
+ Sets the interval for notify() signal to be emitted. This is based
+ on the \a ms of audio data processed not on actual real-time.
+ The resolution of the timer is platform specific.
+*/
+
+/*!
+ \fn virtual int QAbstractAudioInput::notifyInterval() const
+ Returns the notify interval in milliseconds.
+*/
+
+/*!
+ \fn virtual qint64 QAbstractAudioInput::totalTime() const
+ Returns the amount of audio data processed since start() was called in milliseconds.
+*/
+
+/*!
+ \fn virtual qint64 QAbstractAudioInput::clock() const
+ Returns the milliseconds since start() was called, including time in Idle and suspend states.
+*/
+
+/*!
+ \fn virtual QAudio::Error QAbstractAudioInput::error() const
+ Returns the error state.
+*/
+
+/*!
+ \fn virtual QAudio::State QAbstractAudioInput::state() const
+ Returns the state of audio processing.
+*/
+
+/*!
+ \fn virtual QAudioFormat QAbstractAudioInput::format() const
+ Returns the QAudioFormat being used
+*/
+
+/*!
+ \fn QAbstractAudioInput::stateChanged(QAudio::State state)
+ This signal is emitted when the device \a state has changed.
+*/
+
+/*!
+ \fn QAbstractAudioInput::notify()
+ This signal is emitted when x ms of audio data has been processed
+ the interval set by setNotifyInterval(x).
+*/
+
+
+QT_END_NAMESPACE
diff --git a/src/multimedia/audio/qaudioengine.h b/src/multimedia/audio/qaudioengine.h
new file mode 100644
index 0000000..b0aa762
--- /dev/null
+++ b/src/multimedia/audio/qaudioengine.h
@@ -0,0 +1,131 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtMultimedia module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QAUDIOENGINE_H
+#define QAUDIOENGINE_H
+
+#include <QtCore/qglobal.h>
+#include <QtMultimedia/qaudio.h>
+#include <QtMultimedia/qaudioformat.h>
+#include <QtMultimedia/qaudiodeviceinfo.h>
+
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+QT_MODULE(Multimedia)
+
+class Q_MULTIMEDIA_EXPORT QAbstractAudioDeviceInfo : public QObject
+{
+ Q_OBJECT
+
+public:
+ virtual QAudioFormat preferredFormat() const = 0;
+ virtual bool isFormatSupported(const QAudioFormat &format) const = 0;
+ virtual QAudioFormat nearestFormat(const QAudioFormat &format) const = 0;
+ virtual QString deviceName() const = 0;
+ virtual QStringList codecList() = 0;
+ virtual QList<int> frequencyList() = 0;
+ virtual QList<int> channelsList() = 0;
+ virtual QList<int> sampleSizeList() = 0;
+ virtual QList<QAudioFormat::Endian> byteOrderList() = 0;
+ virtual QList<QAudioFormat::SampleType> sampleTypeList() = 0;
+};
+
+class Q_MULTIMEDIA_EXPORT QAbstractAudioOutput : public QObject
+{
+ Q_OBJECT
+
+public:
+ virtual QIODevice* start(QIODevice* device) = 0;
+ virtual void stop() = 0;
+ virtual void reset() = 0;
+ virtual void suspend() = 0;
+ virtual void resume() = 0;
+ virtual int bytesFree() const = 0;
+ virtual int periodSize() const = 0;
+ virtual void setBufferSize(int value) = 0;
+ virtual int bufferSize() const = 0;
+ virtual void setNotifyInterval(int milliSeconds) = 0;
+ virtual int notifyInterval() const = 0;
+ virtual qint64 totalTime() const = 0;
+ virtual qint64 clock() const = 0;
+ virtual QAudio::Error error() const = 0;
+ virtual QAudio::State state() const = 0;
+ virtual QAudioFormat format() const = 0;
+
+Q_SIGNALS:
+ void stateChanged(QAudio::State);
+ void notify();
+};
+
+class Q_MULTIMEDIA_EXPORT QAbstractAudioInput : public QObject
+{
+ Q_OBJECT
+
+public:
+ virtual QIODevice* start(QIODevice* device) = 0;
+ virtual void stop() = 0;
+ virtual void reset() = 0;
+ virtual void suspend() = 0;
+ virtual void resume() = 0;
+ virtual int bytesReady() const = 0;
+ virtual int periodSize() const = 0;
+ virtual void setBufferSize(int value) = 0;
+ virtual int bufferSize() const = 0;
+ virtual void setNotifyInterval(int milliSeconds) = 0;
+ virtual int notifyInterval() const = 0;
+ virtual qint64 totalTime() const = 0;
+ virtual qint64 clock() const = 0;
+ virtual QAudio::Error error() const = 0;
+ virtual QAudio::State state() const = 0;
+ virtual QAudioFormat format() const = 0;
+
+Q_SIGNALS:
+ void stateChanged(QAudio::State);
+ void notify();
+};
+
+QT_END_NAMESPACE
+
+QT_END_HEADER
+
+#endif // QAUDIOENGINE_H
diff --git a/src/multimedia/audio/qaudioengineplugin.cpp b/src/multimedia/audio/qaudioengineplugin.cpp
new file mode 100644
index 0000000..6e39004
--- /dev/null
+++ b/src/multimedia/audio/qaudioengineplugin.cpp
@@ -0,0 +1,54 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtMultimedia module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+
+#include <QtMultimedia/qaudioengineplugin.h>
+
+QT_BEGIN_NAMESPACE
+
+QAudioEnginePlugin::QAudioEnginePlugin(QObject* parent) :
+ QObject(parent)
+{}
+
+QAudioEnginePlugin::~QAudioEnginePlugin()
+{}
+
+QT_END_NAMESPACE
diff --git a/src/multimedia/audio/qaudioengineplugin.h b/src/multimedia/audio/qaudioengineplugin.h
new file mode 100644
index 0000000..8eab2d7
--- /dev/null
+++ b/src/multimedia/audio/qaudioengineplugin.h
@@ -0,0 +1,93 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtMultimedia module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+
+#ifndef QAUDIOENGINEPLUGIN_H
+#define QAUDIOENGINEPLUGIN_H
+
+#include <QtCore/qstring.h>
+#include <QtCore/qplugin.h>
+#include <QtCore/qfactoryinterface.h>
+
+#include <QtMultimedia/qaudioformat.h>
+#include <QtMultimedia/qaudiodeviceinfo.h>
+#include <QtMultimedia/qaudioengine.h>
+
+
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+QT_MODULE(Multimedia)
+
+struct Q_MULTIMEDIA_EXPORT QAudioEngineFactoryInterface : public QFactoryInterface
+{
+ virtual QList<QByteArray> deviceList(QAudio::Mode) const = 0;
+ virtual QAbstractAudioInput* createInput(const QByteArray& device, const QAudioFormat& format = QAudioFormat()) = 0;
+ virtual QAbstractAudioOutput* createOutput(const QByteArray& device, const QAudioFormat& format = QAudioFormat()) = 0;
+ virtual QAbstractAudioDeviceInfo* createDeviceInfo(const QByteArray& device, QAudio::Mode mode) = 0;
+};
+
+#define QAudioEngineFactoryInterface_iid \
+ "com.nokia.qt.QAudioEngineFactoryInterface"
+Q_DECLARE_INTERFACE(QAudioEngineFactoryInterface, QAudioEngineFactoryInterface_iid)
+
+class Q_MULTIMEDIA_EXPORT QAudioEnginePlugin : public QObject, public QAudioEngineFactoryInterface
+{
+ Q_OBJECT
+ Q_INTERFACES(QAudioEngineFactoryInterface:QFactoryInterface)
+
+public:
+ QAudioEnginePlugin(QObject *parent = 0);
+ ~QAudioEnginePlugin();
+
+ virtual QStringList keys() const = 0;
+ virtual QList<QByteArray> deviceList(QAudio::Mode) const = 0;
+ virtual QAbstractAudioInput* createInput(const QByteArray& device, const QAudioFormat& format = QAudioFormat()) = 0;
+ virtual QAbstractAudioOutput* createOutput(const QByteArray& device, const QAudioFormat& format = QAudioFormat()) = 0;
+ virtual QAbstractAudioDeviceInfo* createDeviceInfo(const QByteArray& device, QAudio::Mode mode) = 0;
+};
+
+QT_END_NAMESPACE
+
+QT_END_HEADER
+
+#endif // QAUDIOENGINEPLUGIN_H
diff --git a/src/multimedia/audio/qaudioformat.cpp b/src/multimedia/audio/qaudioformat.cpp
new file mode 100644
index 0000000..6632c63
--- /dev/null
+++ b/src/multimedia/audio/qaudioformat.cpp
@@ -0,0 +1,335 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtMultimedia module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QtMultimedia/qaudioformat.h>
+
+
+QT_BEGIN_NAMESPACE
+
+
+class QAudioFormatPrivate : public QSharedData
+{
+public:
+ QAudioFormatPrivate()
+ {
+ frequency = -1;
+ channels = -1;
+ sampleSize = -1;
+ byteOrder = QAudioFormat::Endian(QSysInfo::ByteOrder);
+ sampleType = QAudioFormat::Unknown;
+ }
+
+ QString codec;
+ QAudioFormat::Endian byteOrder;
+ QAudioFormat::SampleType sampleType;
+
+ int frequency;
+ int channels;
+ int sampleSize;
+};
+
+/*!
+ \class QAudioFormat
+ \brief The QAudioFormat class stores audio parameter information.
+
+ \inmodule QtMultimedia
+ \ingroup multimedia
+ \since 4.6
+
+ An audio format specifies how data in an audio stream is arranged,
+ i.e, how the stream is to be interpreted. The encoding itself is
+ specified by the codec() used for the stream.
+
+ In addition to the encoding, QAudioFormat contains other
+ parameters that further specify how the audio data is arranged.
+ These are the frequency, the number of channels, the sample size,
+ the sample type, and the byte order. The following table describes
+ these in more detail.
+
+ \table
+ \header
+ \o Parameter
+ \o Description
+ \row
+ \o Frequency
+ \o Samples per second of audio data in Hertz.
+ \row
+ \o Number of channels
+ \o The number of audio channels (typically one for mono
+ or two for stereo)
+ \row
+ \o Sample size
+ \o How much data is stored in each sample (typically 8
+ or 16)
+ \row
+ \o Sample type
+ \o Numerical representation of sample (typically signed integer,
+ unsigned integer or float)
+ \row
+ \o Byte order
+ \o Byte ordering of sample (typically little endian, big endian)
+ \endtable
+
+ You can obtain audio formats compatible with the audio device used
+ through functions in QAudioDeviceInfo. This class also lets you
+ query available parameter values for a device, so that you can set
+ the parameters yourself. See the QAudioDeviceInfo class
+ description for details.
+*/
+
+/*!
+ Construct a new audio format.
+
+ Values are initialized as follows:
+ \list
+ \o frequency() = -1
+ \o channels() = -1
+ \o sampleSize() = -1
+ \o byteOrder() = QAudioFormat::Endian(QSysInfo::ByteOrder)
+ \o sampleType() = QAudioFormat::Unknown
+ \c codec() = ""
+ \endlist
+*/
+
+QAudioFormat::QAudioFormat():
+ d(new QAudioFormatPrivate)
+{
+}
+
+/*!
+ Construct a new audio format using \a other.
+*/
+
+QAudioFormat::QAudioFormat(const QAudioFormat &other):
+ d(other.d)
+{
+}
+
+/*!
+ Destroy this audio format.
+*/
+
+QAudioFormat::~QAudioFormat()
+{
+}
+
+/*!
+ Assigns \a other to this QAudioFormat implementation.
+*/
+
+QAudioFormat& QAudioFormat::operator=(const QAudioFormat &other)
+{
+ d = other.d;
+ return *this;
+}
+
+/*!
+ Returns true if this QAudioFormat is equal to the \a other
+ QAudioFormat; otherwise returns false.
+
+ All elements of QAudioFormat are used for the comparison.
+*/
+
+bool QAudioFormat::operator==(const QAudioFormat &other) const
+{
+ return d->frequency == other.d->frequency &&
+ d->channels == other.d->channels &&
+ d->sampleSize == other.d->sampleSize &&
+ d->byteOrder == other.d->byteOrder &&
+ d->codec == other.d->codec &&
+ d->sampleType == other.d->sampleType;
+}
+
+/*!
+ Returns true if this QAudioFormat is not equal to the \a other
+ QAudioFormat; otherwise returns false.
+
+ All elements of QAudioFormat are used for the comparison.
+*/
+
+bool QAudioFormat::operator!=(const QAudioFormat& other) const
+{
+ return !(*this == other);
+}
+
+/*!
+ Returns true if any of the parameters are invalid.
+*/
+
+bool QAudioFormat::isNull() const
+{
+ return d->frequency == -1 && d->channels == -1 &&
+ d->sampleSize == -1 &&
+ d->byteOrder == QAudioFormat::Endian(QSysInfo::ByteOrder) &&
+ d->sampleType == QAudioFormat::Unknown &&
+ d->codec.isNull();
+}
+
+/*!
+ Sets the frequency to \a frequency.
+*/
+
+void QAudioFormat::setFrequency(int frequency)
+{
+ d->frequency = frequency;
+}
+
+/*!
+ Returns the current frequency value.
+*/
+
+int QAudioFormat::frequency() const
+{
+ return d->frequency;
+}
+
+/*!
+ Sets the channels to \a channels.
+*/
+
+void QAudioFormat::setChannels(int channels)
+{
+ d->channels = channels;
+}
+
+/*!
+ Returns the current channel value.
+*/
+
+int QAudioFormat::channels() const
+{
+ return d->channels;
+}
+
+/*!
+ Sets the sampleSize to \a sampleSize.
+*/
+
+void QAudioFormat::setSampleSize(int sampleSize)
+{
+ d->sampleSize = sampleSize;
+}
+
+/*!
+ Returns the current sampleSize value.
+*/
+
+int QAudioFormat::sampleSize() const
+{
+ return d->sampleSize;
+}
+
+/*!
+ Sets the codec to \a codec.
+
+ \sa QAudioDeviceInfo::supportedCodecs()
+*/
+
+void QAudioFormat::setCodec(QString codec)
+{
+ d->codec = codec;
+}
+
+/*!
+ Returns the current codec value.
+
+ \sa QAudioDeviceInfo::supportedCodecs()
+*/
+
+QString QAudioFormat::codec() const
+{
+ return d->codec;
+}
+
+/*!
+ Sets the byteOrder to \a byteOrder.
+*/
+
+void QAudioFormat::setByteOrder(QAudioFormat::Endian byteOrder)
+{
+ d->byteOrder = byteOrder;
+}
+
+/*!
+ Returns the current byteOrder value.
+*/
+
+QAudioFormat::Endian QAudioFormat::byteOrder() const
+{
+ return d->byteOrder;
+}
+
+/*!
+ Sets the sampleType to \a sampleType.
+*/
+
+void QAudioFormat::setSampleType(QAudioFormat::SampleType sampleType)
+{
+ d->sampleType = sampleType;
+}
+
+/*!
+ Returns the current SampleType value.
+*/
+
+QAudioFormat::SampleType QAudioFormat::sampleType() const
+{
+ return d->sampleType;
+}
+
+/*!
+ \enum QAudioFormat::SampleType
+
+ \value Unknown Not Set
+ \value SignedInt samples are signed integers
+ \value UnSignedInt samples are unsigned intergers
+ \value Float samples are floats
+*/
+
+/*!
+ \enum QAudioFormat::Endian
+
+ \value BigEndian samples are big endian byte order
+ \value LittleEndian samples are little endian byte order
+*/
+
+QT_END_NAMESPACE
+
diff --git a/src/multimedia/audio/qaudioformat.h b/src/multimedia/audio/qaudioformat.h
new file mode 100644
index 0000000..c740969
--- /dev/null
+++ b/src/multimedia/audio/qaudioformat.h
@@ -0,0 +1,103 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtMultimedia module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+
+#ifndef QAUDIOFORMAT_H
+#define QAUDIOFORMAT_H
+
+#include <QtCore/qobject.h>
+#include <QtCore/qglobal.h>
+#include <QtCore/qshareddata.h>
+
+
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+QT_MODULE(Multimedia)
+
+
+class QAudioFormatPrivate;
+
+class Q_MULTIMEDIA_EXPORT QAudioFormat
+{
+public:
+ enum SampleType { Unknown, SignedInt, UnSignedInt, Float };
+ enum Endian { BigEndian = QSysInfo::BigEndian, LittleEndian = QSysInfo::LittleEndian };
+
+ QAudioFormat();
+ QAudioFormat(const QAudioFormat &other);
+ ~QAudioFormat();
+
+ QAudioFormat& operator=(const QAudioFormat &other);
+ bool operator==(const QAudioFormat &other) const;
+ bool operator!=(const QAudioFormat &other) const;
+
+ bool isNull() const;
+
+ void setFrequency(int frequency);
+ int frequency() const;
+
+ void setChannels(int channels);
+ int channels() const;
+
+ void setSampleSize(int sampleSize);
+ int sampleSize() const;
+
+ void setCodec(QString codec);
+ QString codec() const;
+
+ void setByteOrder(QAudioFormat::Endian byteOrder);
+ QAudioFormat::Endian byteOrder() const;
+
+ void setSampleType(QAudioFormat::SampleType sampleType);
+ QAudioFormat::SampleType sampleType() const;
+
+private:
+ QSharedDataPointer<QAudioFormatPrivate> d;
+};
+
+
+QT_END_NAMESPACE
+
+QT_END_HEADER
+
+#endif // QAUDIOFORMAT_H
diff --git a/src/multimedia/audio/qaudioinput.cpp b/src/multimedia/audio/qaudioinput.cpp
new file mode 100644
index 0000000..17cacc6
--- /dev/null
+++ b/src/multimedia/audio/qaudioinput.cpp
@@ -0,0 +1,400 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtMultimedia module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+
+#include <QtMultimedia/qaudio.h>
+#include <QtMultimedia/qaudiodeviceinfo.h>
+#include <QtMultimedia/qaudioengine.h>
+#include <QtMultimedia/qaudioinput.h>
+
+#include "qaudiodevicefactory_p.h"
+
+
+QT_BEGIN_NAMESPACE
+
+/*!
+ \class QAudioInput
+ \brief The QAudioInput class provides an interface for receiving audio data from an audio input device.
+
+ \inmodule QtMultimedia
+ \ingroup multimedia
+ \since 4.6
+
+ You can construct an audio input with the system's
+ \l{QAudioDeviceInfo::defaultInputDevice()}{default audio input
+ device}. It is also possible to create QAudioInput with a
+ specific QAudioDeviceId. When you create the audio input, you
+ should also send in the QAudioFormat to be used for the recording
+ (see the QAudioFormat class description for details).
+
+ To record to a file:
+
+ QAudioInput lets you record audio with an audio input device. The
+ default constructor of this class will use the systems default
+ audio device, but you can also specify a QAudioDeviceId for a
+ specific device. You also need to pass in the QAudioFormat in
+ which you wish to record.
+
+ Starting up the QAudioInput is simply a matter of calling start()
+ with a QIODevice opened for writing. For instance, to record to a
+ file, you can:
+
+ \code
+ {
+ QFile outputFile;
+ outputFile.setFileName("/tmp/test.raw");
+ outputFile.open( QIODevice::WriteOnly | QIODevice::Truncate );
+
+ QAudioFormat format;
+ // set up the format you want, eg.
+ format.setFrequency(8000);
+ format.setChannels(1);
+ format.setSampleSize(8);
+ format.setCodec("audio/pcm");
+ format.setByteOrder(QAudioFormat::LittleEndian);
+ format.setSampleType(QAudioFormat::UnSignedInt);
+
+ QAudioInput *audio = new QAudioInput(format, this);
+ QTimer::singleShot(3000, this, SLOT(stopRecording()));
+ audio->start(outputFile);
+ // Records audio for 3000ms
+ }
+ \endcode
+
+ This will start recording if the format specified is supported by
+ the input device (you can check this with
+ QAudioDeviceInfo::isFormatSupported(). In case there are any
+ snags, use the error() function to check what went wrong. We stop
+ recording in the \c stopRecording() slot.
+
+ \code
+ void stopRecording()
+ {
+ audio->stop();
+ outputFile->close();
+ }
+ \endcode
+
+ At any point in time, QAudioInput will be in one of four states:
+ active, suspended, stopped, or idle. These states are specified by
+ the QAudio::State enum. You can request a state change directly through
+ suspend(), resume(), stop(), reset(), and start(). The current
+ state is reported by state(). QAudioOutput will also signal you
+ when the state changes (stateChanged()).
+
+ QAudioInput provides several ways of measuring the time that has
+ passed since the start() of the recording. The \c totalTime()
+ function returns the length of the stream in microseconds written,
+ i.e., it leaves out the times the audio input was suspended or idle.
+ The clock() function returns the time elapsed since start() was called regardless of
+ which states the QAudioInput has been in.
+
+ If an error should occur, you can fetch its reason with error().
+ The possible error reasons are described by the QAudio::Error enum.
+
+ \sa QAudioOutput, QAudioDeviceInfo
+*/
+
+/*!
+ Construct a new audio input and attach it to \a parent.
+ The default audio input device is used with the output
+ \a format parameters.
+*/
+
+QAudioInput::QAudioInput(const QAudioFormat &format, QObject *parent):
+ QObject(parent)
+{
+ d = QAudioDeviceFactory::createDefaultInputDevice(format);
+ connect(d, SIGNAL(notify()), SIGNAL(notify()));
+ connect(d, SIGNAL(stateChanged(QAudio::State)), SIGNAL(stateChanged(QAudio::State)));
+}
+
+/*!
+ Construct a new audio input and attach it to \a parent.
+ The \a id of the audio input device is used with the input
+ \a format parameters.
+*/
+
+QAudioInput::QAudioInput(const QAudioDeviceId &id, const QAudioFormat &format, QObject *parent):
+ QObject(parent)
+{
+ d = QAudioDeviceFactory::createInputDevice(id, format);
+ connect(d, SIGNAL(notify()), SIGNAL(notify()));
+ connect(d, SIGNAL(stateChanged(QAudio::State)), SIGNAL(stateChanged(QAudio::State)));
+}
+
+/*!
+ Destroy this audio input.
+*/
+
+QAudioInput::~QAudioInput()
+{
+ delete d;
+}
+
+/*!
+ Uses the \a device as the QIODevice to transfer data.
+ If \a device is null then the class creates an internal QIODevice.
+ Returns a pointer to the QIODevice being used to handle the data
+ transfer. This QIODevice can be used to read() audio data
+ directly.
+ Passing a QIODevice allows the data to be transfered without any extra code.
+ All that is required is to open the QIODevice.
+
+ /sa QIODevice
+*/
+
+QIODevice* QAudioInput::start(QIODevice* device)
+{
+ /*
+ PULL MODE (valid QIODevice)
+ -If currently not StopState, stop
+ -If previous start was push mode, delete internal QIODevice.
+ -open audio input.
+ If ok, NoError and ActiveState, else OpenError and StopState.
+ -emit stateChanged()
+ -return device
+
+ PUSH MODE (device = 0)
+ -If currently not StopState, stop
+ -If no internal QIODevice, create one.
+ -open audio input.
+ -If ok, NoError and IdleState, else OpenError and StopState
+ -emit stateChanged()
+ -return internal QIODevice
+ */
+ return d->start(device);
+}
+
+/*!
+ Returns the QAudioFormat being used.
+*/
+
+QAudioFormat QAudioInput::format() const
+{
+ return d->format();
+}
+
+/*!
+ Stops the audio input.
+*/
+
+void QAudioInput::stop()
+{
+ /*
+ -If StopState, return
+ -set to StopState
+ -detach from audio device
+ -emit stateChanged()
+ */
+ d->stop();
+}
+
+/*!
+ Drops all audio data in the buffers, resets buffers to zero.
+*/
+
+void QAudioInput::reset()
+{
+ /*
+ -drop all buffered audio, set buffers to zero.
+ -call stop()
+ */
+ d->reset();
+}
+
+/*!
+ Stops processing audio data, preserving buffered audio data.
+*/
+
+void QAudioInput::suspend()
+{
+ /*
+ -If not ActiveState|IdleState, return
+ -stop processing audio, saving all buffered audio data
+ -set NoError and SuspendState
+ -emit stateChanged()
+ */
+ d->suspend();
+}
+
+/*!
+ Resumes processing audio data after a suspend().
+*/
+
+void QAudioInput::resume()
+{
+ /*
+ -If SuspendState, return
+ -resume audio
+ -(PULL MODE): set ActiveState, NoError
+ -(PUSH MODE): set IdleState, NoError
+ -kick start audio if needed
+ -emit stateChanged()
+ */
+ d->resume();
+}
+
+/*!
+ Sets the audio buffer size to \a value milliseconds.
+
+ Note: This function can be called anytime before start(), calls to this
+ are ignored after start(). It should not be assumed that the buffer size
+ set is the actual buffer size used, calling bufferSize() anytime after start()
+ will return the actual buffer size being used.
+
+*/
+
+void QAudioInput::setBufferSize(int value)
+{
+ d->setBufferSize(value);
+}
+
+/*!
+ Returns the audio buffer size in milliseconds.
+
+ If called before start(), returns platform default value.
+ If called before start() but setBufferSize() was called prior, returns value set by setBufferSize().
+ If called after start(), returns the actual buffer size being used. This may not be what was set previously
+ by setBufferSize().
+
+*/
+
+int QAudioInput::bufferSize() const
+{
+ return d->bufferSize();
+}
+
+/*!
+ Returns the amount of audio data available to read in bytes.
+*/
+
+int QAudioInput::bytesReady() const
+{
+ /*
+ -If not ActiveState|IdleState, return 0
+ -return amount of audio data available to read
+ */
+ return d->bytesReady();
+}
+
+/*!
+ Returns the period size in bytes.
+
+ Note: This is the recommended read size in bytes.
+*/
+
+int QAudioInput::periodSize() const
+{
+ return d->periodSize();
+}
+
+/*!
+ Sets the interval for notify() signal to be emitted.
+ This is based on the \a ms of audio data processed
+ not on actual real-time. The resolution of the timer is platform specific.
+*/
+
+void QAudioInput::setNotifyInterval(int ms)
+{
+ d->setNotifyInterval(ms);
+}
+
+/*!
+ Returns the notify interval in milliseconds.
+*/
+
+int QAudioInput::notifyInterval() const
+{
+ return d->notifyInterval();
+}
+
+/*!
+ Returns the amount of audio data processed since start()
+ was called in microseconds.
+*/
+
+qint64 QAudioInput::totalTime() const
+{
+ return d->totalTime();
+}
+
+/*!
+ Returns the microseconds since start() was called, including time in Idle and
+ Suspend states.
+*/
+
+qint64 QAudioInput::clock() const
+{
+ return d->clock();
+}
+
+/*!
+ Returns the error state.
+*/
+
+QAudio::Error QAudioInput::error() const
+{
+ return d->error();
+}
+
+/*!
+ Returns the state of audio processing.
+*/
+
+QAudio::State QAudioInput::state() const
+{
+ return d->state();
+}
+
+/*!
+ \fn QAudioInput::stateChanged(QAudio::State state)
+ This signal is emitted when the device \a state has changed.
+*/
+
+/*!
+ \fn QAudioInput::notify()
+ This signal is emitted when x ms of audio data has been processed
+ the interval set by setNotifyInterval(x).
+*/
+
+QT_END_NAMESPACE
+
diff --git a/src/multimedia/audio/qaudioinput.h b/src/multimedia/audio/qaudioinput.h
new file mode 100644
index 0000000..b0f1aed
--- /dev/null
+++ b/src/multimedia/audio/qaudioinput.h
@@ -0,0 +1,108 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtMultimedia module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+
+#ifndef QAUDIOINPUT_H
+#define QAUDIOINPUT_H
+
+#include <QtCore/qiodevice.h>
+#include <QtCore/qglobal.h>
+
+#include <QtMultimedia/qaudio.h>
+#include <QtMultimedia/qaudioformat.h>
+#include <QtMultimedia/qaudiodeviceid.h>
+
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+QT_MODULE(Multimedia)
+
+
+class QAbstractAudioInput;
+
+class Q_MULTIMEDIA_EXPORT QAudioInput : public QObject
+{
+ Q_OBJECT
+
+public:
+ explicit QAudioInput(const QAudioFormat &format = QAudioFormat(), QObject *parent = 0);
+ explicit QAudioInput(const QAudioDeviceId &id, const QAudioFormat &format = QAudioFormat(), QObject *parent = 0);
+ ~QAudioInput();
+
+ QAudioFormat format() const;
+
+ QIODevice* start(QIODevice *device = 0);
+ void stop();
+ void reset();
+ void suspend();
+ void resume();
+
+ void setBufferSize(int bytes);
+ int bufferSize() const;
+
+ int bytesReady() const;
+ int periodSize() const;
+
+ void setNotifyInterval(int milliSeconds);
+ int notifyInterval() const;
+
+ qint64 totalTime() const;
+ qint64 clock() const;
+
+ QAudio::Error error() const;
+ QAudio::State state() const;
+
+Q_SIGNALS:
+ void stateChanged(QAudio::State);
+ void notify();
+
+private:
+ Q_DISABLE_COPY(QAudioInput);
+
+ QAbstractAudioInput* d;
+};
+
+QT_END_NAMESPACE
+
+QT_END_HEADER
+
+#endif // QAUDIOINPUT_H
diff --git a/src/multimedia/audio/qaudioinput_alsa_p.cpp b/src/multimedia/audio/qaudioinput_alsa_p.cpp
new file mode 100644
index 0000000..6f00469
--- /dev/null
+++ b/src/multimedia/audio/qaudioinput_alsa_p.cpp
@@ -0,0 +1,688 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtMultimedia module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists for the convenience
+// of other Qt classes. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
+#include <QtCore/qcoreapplication.h>
+#include "qaudioinput_alsa_p.h"
+
+//#define DEBUG_AUDIO 1
+
+QAudioInputPrivate::QAudioInputPrivate(const QByteArray &device, const QAudioFormat& audioFormat):
+ settings(audioFormat)
+{
+ bytesAvailable = 0;
+ handle = 0;
+ ahandler = 0;
+ access = SND_PCM_ACCESS_RW_INTERLEAVED;
+ pcmformat = SND_PCM_FORMAT_S16;
+ buffer_size = 0;
+ period_size = 0;
+ buffer_time = 100000;
+ period_time = 20000;
+ totalTimeValue = 0;
+ intervalTime = 1000;
+ audioBuffer = 0;
+ errorState = QAudio::NoError;
+ deviceState = QAudio::StopState;
+ audioSource = 0;
+ pullMode = true;
+ resuming = false;
+
+ QStringList list1 = QString(tr(device)).split(tr(":"));
+ m_device = QByteArray(list1.at(0).toLocal8Bit().constData());
+
+ timer = new QTimer(this);
+ connect(timer,SIGNAL(timeout()),SLOT(userFeed()));
+}
+
+QAudioInputPrivate::~QAudioInputPrivate()
+{
+ close();
+ disconnect(timer, SIGNAL(timeout()));
+ QCoreApplication::processEvents();
+ delete timer;
+}
+
+QAudio::Error QAudioInputPrivate::error() const
+{
+ return errorState;
+}
+
+QAudio::State QAudioInputPrivate::state() const
+{
+ return deviceState;
+}
+
+
+QAudioFormat QAudioInputPrivate::format() const
+{
+ return settings;
+}
+
+int QAudioInputPrivate::xrun_recovery(int err)
+{
+ int count = 0;
+ bool reset = false;
+
+ if(err == -EPIPE) {
+ errorState = QAudio::UnderrunError;
+ err = snd_pcm_prepare(handle);
+ if(err < 0)
+ reset = true;
+
+ } else if((err == -ESTRPIPE)||(err == -EIO)) {
+ errorState = QAudio::IOError;
+ while((err = snd_pcm_resume(handle)) == -EAGAIN){
+ usleep(100);
+ count++;
+ if(count > 5) {
+ reset = true;
+ break;
+ }
+ }
+ if(err < 0) {
+ err = snd_pcm_prepare(handle);
+ if(err < 0)
+ reset = true;
+ }
+ }
+ if(reset) {
+ close();
+ open();
+ snd_pcm_prepare(handle);
+ return 0;
+ }
+ return err;
+}
+
+int QAudioInputPrivate::setFormat()
+{
+ snd_pcm_format_t format = SND_PCM_FORMAT_S16;
+
+ if(settings.sampleSize() == 8) {
+ format = SND_PCM_FORMAT_U8;
+ } else if(settings.sampleSize() == 16) {
+ if(settings.sampleType() == QAudioFormat::SignedInt) {
+ if(settings.byteOrder() == QAudioFormat::LittleEndian)
+ format = SND_PCM_FORMAT_S16_LE;
+ else
+ format = SND_PCM_FORMAT_S16_BE;
+ } else if(settings.sampleType() == QAudioFormat::UnSignedInt) {
+ if(settings.byteOrder() == QAudioFormat::LittleEndian)
+ format = SND_PCM_FORMAT_U16_LE;
+ else
+ format = SND_PCM_FORMAT_U16_BE;
+ }
+ } else if(settings.sampleSize() == 24) {
+ if(settings.sampleType() == QAudioFormat::SignedInt) {
+ if(settings.byteOrder() == QAudioFormat::LittleEndian)
+ format = SND_PCM_FORMAT_S24_LE;
+ else
+ format = SND_PCM_FORMAT_S24_BE;
+ } else if(settings.sampleType() == QAudioFormat::UnSignedInt) {
+ if(settings.byteOrder() == QAudioFormat::LittleEndian)
+ format = SND_PCM_FORMAT_U24_LE;
+ else
+ format = SND_PCM_FORMAT_U24_BE;
+ }
+ } else if(settings.sampleSize() == 32) {
+ if(settings.sampleType() == QAudioFormat::SignedInt) {
+ if(settings.byteOrder() == QAudioFormat::LittleEndian)
+ format = SND_PCM_FORMAT_S32_LE;
+ else
+ format = SND_PCM_FORMAT_S32_BE;
+ } else if(settings.sampleType() == QAudioFormat::UnSignedInt) {
+ if(settings.byteOrder() == QAudioFormat::LittleEndian)
+ format = SND_PCM_FORMAT_U32_LE;
+ else
+ format = SND_PCM_FORMAT_U32_BE;
+ } else if(settings.sampleType() == QAudioFormat::Float) {
+ if(settings.byteOrder() == QAudioFormat::LittleEndian)
+ format = SND_PCM_FORMAT_FLOAT_LE;
+ else
+ format = SND_PCM_FORMAT_FLOAT_BE;
+ }
+ } else if(settings.sampleSize() == 64) {
+ if(settings.byteOrder() == QAudioFormat::LittleEndian)
+ format = SND_PCM_FORMAT_FLOAT64_LE;
+ else
+ format = SND_PCM_FORMAT_FLOAT64_BE;
+ }
+
+ return snd_pcm_hw_params_set_format( handle, hwparams, format);
+}
+
+QIODevice* QAudioInputPrivate::start(QIODevice* device)
+{
+ if(deviceState != QAudio::StopState)
+ close();
+
+ if(!pullMode && audioSource) {
+ delete audioSource;
+ }
+
+ if(device) {
+ //set to pull mode
+ pullMode = true;
+ audioSource = device;
+ } else {
+ //set to push mode
+ pullMode = false;
+ audioSource = new InputPrivate(this);
+ audioSource->open(QIODevice::ReadOnly | QIODevice::Unbuffered);
+ }
+
+ if( !open() )
+ return 0;
+
+ emit stateChanged(deviceState);
+
+ return audioSource;
+}
+
+void QAudioInputPrivate::stop()
+{
+ if(deviceState == QAudio::StopState)
+ return;
+
+ deviceState = QAudio::StopState;
+
+ close();
+ emit stateChanged(deviceState);
+}
+
+bool QAudioInputPrivate::open()
+{
+#ifdef DEBUG_AUDIO
+ QTime now(QTime::currentTime());
+ qDebug()<<now.second()<<"s "<<now.msec()<<"ms :open()";
+#endif
+ timeStamp.restart();
+
+ int dir;
+ int err=-1;
+ int count=0;
+ unsigned int freakuency=settings.frequency();
+
+ QString dev = QString(tr(m_device.constData()));
+ if(!dev.contains(tr("default"))) {
+ dev = QString(tr("default:CARD=%1")).arg(tr(m_device.constData()));
+ }
+
+ // Step 1: try and open the device
+ while((count < 5) && (err < 0)) {
+ err=snd_pcm_open(&handle,dev.toLocal8Bit().constData(),SND_PCM_STREAM_CAPTURE,0);
+ if(err < 0)
+ count++;
+ }
+ if (( err < 0)||(handle == 0)) {
+ errorState = QAudio::OpenError;
+ deviceState = QAudio::StopState;
+ emit stateChanged(deviceState);
+ return false;
+ }
+ snd_pcm_nonblock( handle, 0 );
+
+ // Step 2: Set the desired HW parameters.
+ snd_pcm_hw_params_alloca( &hwparams );
+
+ bool fatal = false;
+ QString errMessage;
+ unsigned int chunks = 8;
+
+ err = snd_pcm_hw_params_any( handle, hwparams );
+ if ( err < 0 ) {
+ fatal = true;
+ errMessage = QString(tr("QAudioInput: snd_pcm_hw_params_any: err = %1")).arg(err);
+ }
+ if ( !fatal ) {
+ err = snd_pcm_hw_params_set_rate_resample( handle, hwparams, 1 );
+ if ( err < 0 ) {
+ fatal = true;
+ errMessage = QString(tr("QAudioInput: snd_pcm_hw_params_set_rate_resample: err = %1")).arg(err);
+ }
+ }
+ if ( !fatal ) {
+ err = snd_pcm_hw_params_set_access( handle, hwparams, access );
+ if ( err < 0 ) {
+ fatal = true;
+ errMessage = QString(tr("QAudioInput: snd_pcm_hw_params_set_access: err = %1")).arg(err);
+ }
+ }
+ if ( !fatal ) {
+ err = setFormat();
+ if ( err < 0 ) {
+ fatal = true;
+ errMessage = QString(tr("QAudioInput: snd_pcm_hw_params_set_format: err = %1")).arg(err);
+ }
+ }
+ if ( !fatal ) {
+ err = snd_pcm_hw_params_set_channels( handle, hwparams, (unsigned int)settings.channels() );
+ if ( err < 0 ) {
+ fatal = true;
+ errMessage = QString(tr("QAudioInput: snd_pcm_hw_params_set_channels: err = %1")).arg(err);
+ }
+ }
+ if ( !fatal ) {
+ err = snd_pcm_hw_params_set_rate_near( handle, hwparams, &freakuency, 0 );
+ if ( err < 0 ) {
+ fatal = true;
+ errMessage = QString(tr("QAudioInput: snd_pcm_hw_params_set_rate_near: err = %1")).arg(err);
+ }
+ }
+ if ( !fatal ) {
+ err = snd_pcm_hw_params_set_buffer_time_near(handle, hwparams, &buffer_time, &dir);
+ if ( err < 0 ) {
+ fatal = true;
+ errMessage = QString(tr("QAudioInput: snd_pcm_hw_params_set_buffer_time_near: err = %1")).arg(err);
+ }
+ }
+ if ( !fatal ) {
+ err = snd_pcm_hw_params_set_period_time_near(handle, hwparams, &period_time, &dir);
+ if ( err < 0 ) {
+ fatal = true;
+ errMessage = QString(tr("QAudioInput: snd_pcm_hw_params_set_period_time_near: err = %1")).arg(err);
+ }
+ }
+ if ( !fatal ) {
+ err = snd_pcm_hw_params_set_periods_near(handle, hwparams, &chunks, &dir);
+ if ( err < 0 ) {
+ fatal = true;
+ errMessage = QString(tr("QAudioInput: snd_pcm_hw_params_set_periods_near: err = %1")).arg(err);
+ }
+ }
+ if ( !fatal ) {
+ err = snd_pcm_hw_params(handle, hwparams);
+ if ( err < 0 ) {
+ fatal = true;
+ errMessage = QString(tr("QAudioInput: snd_pcm_hw_params: err = %1")).arg(err);
+ }
+ }
+ if( err < 0) {
+ qWarning()<<errMessage;
+ errorState = QAudio::OpenError;
+ deviceState = QAudio::StopState;
+ emit stateChanged(deviceState);
+ return false;
+ }
+ snd_pcm_hw_params_get_buffer_size(hwparams,&buffer_frames);
+ buffer_size = snd_pcm_frames_to_bytes(handle,buffer_frames);
+ snd_pcm_hw_params_get_period_size(hwparams,&period_frames, &dir);
+ period_size = snd_pcm_frames_to_bytes(handle,period_frames);
+ snd_pcm_hw_params_get_buffer_time(hwparams,&buffer_time, &dir);
+ snd_pcm_hw_params_get_period_time(hwparams,&period_time, &dir);
+
+ // Step 3: Set the desired SW parameters.
+ snd_pcm_sw_params_t *swparams;
+ snd_pcm_sw_params_alloca(&swparams);
+ snd_pcm_sw_params_current(handle, swparams);
+ snd_pcm_sw_params_set_start_threshold(handle,swparams,period_frames);
+ snd_pcm_sw_params_set_stop_threshold(handle,swparams,buffer_frames);
+ snd_pcm_sw_params_set_avail_min(handle, swparams,period_frames);
+ snd_pcm_sw_params(handle, swparams);
+
+ // Step 4: Prepare audio
+ if(audioBuffer == 0)
+ audioBuffer = new char[buffer_size];
+ snd_pcm_prepare( handle );
+ snd_pcm_start(handle);
+
+ // Step 5: Setup timer
+ bytesAvailable = bytesReady();
+
+ if(pullMode)
+ connect(audioSource,SIGNAL(readyRead()),this,SLOT(userFeed()));
+
+ // Step 6: Start audio processing
+ chunks = buffer_size/period_size;
+ timer->start(period_time*chunks/2000);
+
+ errorState = QAudio::NoError;
+ deviceState = QAudio::ActiveState;
+
+ totalTimeValue = 0;
+
+ return true;
+}
+
+void QAudioInputPrivate::close()
+{
+ deviceState = QAudio::StopState;
+ timer->stop();
+
+ if ( handle ) {
+ snd_pcm_drop( handle );
+ snd_pcm_close( handle );
+ handle = 0;
+ delete [] audioBuffer;
+ audioBuffer=0;
+ }
+}
+
+int QAudioInputPrivate::bytesReady() const
+{
+ if(resuming)
+ return period_size;
+
+ if(deviceState != QAudio::ActiveState)
+ return 0;
+ int frames = snd_pcm_avail_update(handle);
+ if((int)frames > (int)buffer_frames)
+ frames = buffer_frames;
+
+ return snd_pcm_frames_to_bytes(handle, frames);
+}
+
+qint64 QAudioInputPrivate::read(char* data, qint64 len)
+{
+ Q_UNUSED(data)
+ Q_UNUSED(len)
+ // Read in some audio data and write it to QIODevice, pull mode
+ if ( !handle )
+ return 0;
+
+ bytesAvailable = bytesReady();
+
+ int count=0, err = 0;
+ while(count < 5) {
+ int chunks = bytesAvailable/period_size;
+ int frames = chunks*period_frames;
+ if(frames > (int)buffer_frames)
+ frames = buffer_frames;
+ int readFrames = snd_pcm_readi(handle, audioBuffer, frames);
+ if (readFrames >= 0) {
+ err = snd_pcm_frames_to_bytes(handle, readFrames);
+#ifdef DEBUG_AUDIO
+ qDebug()<<QString(tr("PULL: read in bytes = %1 (frames=%2)")).arg(err).arg(readFrames).toLatin1().constData();
+#endif
+ break;
+ } else if((readFrames == -EAGAIN) || (readFrames == -EINTR)) {
+ errorState = QAudio::IOError;
+ err = 0;
+ break;
+ } else {
+ if(readFrames == -EPIPE) {
+ errorState = QAudio::UnderrunError;
+ err = snd_pcm_prepare(handle);
+ } else if(readFrames == -ESTRPIPE) {
+ err = snd_pcm_prepare(handle);
+ }
+ if(err != 0) break;
+ }
+ count++;
+ }
+ if(err > 0) {
+ // got some send it onward
+#ifdef DEBUG_AUDIO
+ qDebug()<<"PULL: frames to write to QIODevice = "<<
+ snd_pcm_bytes_to_frames( handle, (int)err )<<" ("<<err<<") bytes";
+#endif
+ if(deviceState != QAudio::ActiveState)
+ return 0;
+
+ qint64 l = audioSource->write(audioBuffer,err);
+ if(l < 0) {
+ close();
+ errorState = QAudio::IOError;
+ deviceState = QAudio::StopState;
+ emit stateChanged(deviceState);
+ } else if(l == 0) {
+ errorState = QAudio::NoError;
+ deviceState = QAudio::IdleState;
+ } else {
+ totalTimeValue += snd_pcm_bytes_to_frames(handle, err)*1000000/settings.frequency();
+ resuming = false;
+ errorState = QAudio::NoError;
+ deviceState = QAudio::ActiveState;
+ }
+ return l;
+ }
+ return 0;
+}
+
+void QAudioInputPrivate::resume()
+{
+ if(deviceState == QAudio::SuspendState) {
+ int err = 0;
+
+ if(handle) {
+ err = snd_pcm_prepare( handle );
+ if(err < 0)
+ xrun_recovery(err);
+
+ err = snd_pcm_start(handle);
+ if(err < 0)
+ xrun_recovery(err);
+
+ bytesAvailable = buffer_size;
+ }
+ resuming = true;
+ deviceState = QAudio::ActiveState;
+ int chunks = buffer_size/period_size;
+ timer->start(buffer_time*chunks/2000);
+ emit stateChanged(deviceState);
+ }
+}
+
+void QAudioInputPrivate::setBufferSize(int value)
+{
+ buffer_size = value;
+}
+
+int QAudioInputPrivate::bufferSize() const
+{
+ return buffer_size;
+}
+
+int QAudioInputPrivate::periodSize() const
+{
+ return period_size;
+}
+
+void QAudioInputPrivate::setNotifyInterval(int ms)
+{
+ intervalTime = ms;
+}
+
+int QAudioInputPrivate::notifyInterval() const
+{
+ return intervalTime;
+}
+
+qint64 QAudioInputPrivate::totalTime() const
+{
+ return totalTimeValue;
+}
+
+void QAudioInputPrivate::suspend()
+{
+ if(deviceState == QAudio::ActiveState||resuming) {
+ timer->stop();
+ deviceState = QAudio::SuspendState;
+ emit stateChanged(deviceState);
+ }
+}
+
+void QAudioInputPrivate::userFeed()
+{
+ if(deviceState == QAudio::StopState || deviceState == QAudio::SuspendState)
+ return;
+#ifdef DEBUG_AUDIO
+ QTime now(QTime::currentTime());
+ qDebug()<<now.second()<<"s "<<now.msec()<<"ms :userFeed() IN";
+#endif
+ deviceReady();
+}
+
+bool QAudioInputPrivate::deviceReady()
+{
+ if(pullMode) {
+ // reads some audio data and writes it to QIODevice
+ read(0,0);
+ } else {
+ // emits readyRead() so user will call read() on QIODevice to get some audio data
+ InputPrivate* a = qobject_cast<InputPrivate*>(audioSource);
+ a->trigger();
+ }
+ bytesAvailable = bytesReady();
+
+ if(deviceState != QAudio::ActiveState)
+ return true;
+
+ if(timeStamp.elapsed() > intervalTime && intervalTime > 50) {
+ emit notify();
+ timeStamp.restart();
+ }
+ return true;
+}
+
+qint64 QAudioInputPrivate::clock() const
+{
+ if(!handle)
+ return 0;
+
+ if(deviceState != QAudio::ActiveState)
+ return 0;
+
+ snd_pcm_status_t* status;
+ snd_pcm_status_alloca(&status);
+
+ snd_timestamp_t t1,t2;
+ if( snd_pcm_status(handle, status) >= 0) {
+ snd_pcm_status_get_tstamp(status,&t1);
+ snd_pcm_status_get_trigger_tstamp(status,&t2);
+ t1.tv_sec-=t2.tv_sec;
+
+ signed long l = (signed long)t1.tv_usec - (signed long)t2.tv_usec;
+ if(l < 0) {
+ t1.tv_sec--;
+ l = -l;
+ l %= 1000000;
+ }
+ return ((t1.tv_sec * 1000)+l/1000);
+ } else
+ return 0;
+}
+
+void QAudioInputPrivate::reset()
+{
+ if(handle)
+ snd_pcm_reset(handle);
+}
+
+void QAudioInputPrivate::drain()
+{
+ if(handle)
+ snd_pcm_drain(handle);
+}
+
+InputPrivate::InputPrivate(QAudioInputPrivate* audio)
+{
+ audioDevice = qobject_cast<QAudioInputPrivate*>(audio);
+}
+
+InputPrivate::~InputPrivate()
+{
+}
+
+qint64 InputPrivate::readData( char* data, qint64 len)
+{
+ // push mode, user read() called
+ if((audioDevice->state() != QAudio::ActiveState) && !audioDevice->resuming)
+ return 0;
+
+ int readFrames;
+ int count=0, err = 0;
+
+ while(count < 5) {
+ int frames = snd_pcm_bytes_to_frames(audioDevice->handle, len);
+ readFrames = snd_pcm_readi(audioDevice->handle, data, frames);
+ if (readFrames >= 0) {
+ err = snd_pcm_frames_to_bytes(audioDevice->handle, readFrames);
+#ifdef DEBUG_AUDIO
+ qDebug()<<QString(tr("PUSH: read in bytes = %1 (frames=%2)")).arg(err).arg(readFrames).toLatin1().constData();
+#endif
+ break;
+ } else if((readFrames == -EAGAIN) || (readFrames == -EINTR)) {
+ audioDevice->errorState = QAudio::IOError;
+ err = 0;
+ break;
+ } else {
+ if(readFrames == -EPIPE) {
+ audioDevice->errorState = QAudio::UnderrunError;
+ err = snd_pcm_prepare(audioDevice->handle);
+ } else if(readFrames == -ESTRPIPE) {
+ err = snd_pcm_prepare(audioDevice->handle);
+ }
+ if(err != 0) break;
+ }
+ count++;
+ }
+ if(err > 0 && readFrames > 0) {
+ audioDevice->totalTimeValue += readFrames*1000/audioDevice->settings.frequency()*1000;
+ audioDevice->deviceState = QAudio::ActiveState;
+ return err;
+ }
+ return 0;
+}
+
+qint64 InputPrivate::writeData(const char* data, qint64 len)
+{
+ Q_UNUSED(data)
+ Q_UNUSED(len)
+ return 0;
+}
+
+void InputPrivate::trigger()
+{
+ emit readyRead();
+}
+
diff --git a/src/multimedia/audio/qaudioinput_alsa_p.h b/src/multimedia/audio/qaudioinput_alsa_p.h
new file mode 100644
index 0000000..21c8064
--- /dev/null
+++ b/src/multimedia/audio/qaudioinput_alsa_p.h
@@ -0,0 +1,151 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtMultimedia module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists for the convenience
+// of other Qt classes. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
+
+#ifndef QAUDIOINPUTALSA_H
+#define QAUDIOINPUTALSA_H
+
+#include <alsa/asoundlib.h>
+
+#include <QtCore/qfile.h>
+#include <QtCore/qdebug.h>
+#include <QtCore/qtimer.h>
+#include <QtCore/qstring.h>
+#include <QtCore/qstringlist.h>
+#include <QtCore/qdatetime.h>
+
+#include <QtMultimedia/qaudio.h>
+#include <QtMultimedia/qaudiodeviceinfo.h>
+#include <QtMultimedia/qaudioengine.h>
+
+class InputPrivate;
+
+class QAudioInputPrivate : public QAbstractAudioInput
+{
+ Q_OBJECT
+public:
+ QAudioInputPrivate(const QByteArray &device, const QAudioFormat& audioFormat);
+ ~QAudioInputPrivate();
+
+ qint64 read(char* data, qint64 len);
+
+ QIODevice* start(QIODevice* device = 0);
+ void stop();
+ void reset();
+ void suspend();
+ void resume();
+ int bytesReady() const;
+ int periodSize() const;
+ void setBufferSize(int value);
+ int bufferSize() const;
+ void setNotifyInterval(int milliSeconds);
+ int notifyInterval() const;
+ qint64 totalTime() const;
+ qint64 clock() const;
+ QAudio::Error error() const;
+ QAudio::State state() const;
+ QAudioFormat format() const;
+ bool resuming;
+ snd_pcm_t* handle;
+ qint64 totalTimeValue;
+ QIODevice* audioSource;
+ QAudioFormat settings;
+ QAudio::Error errorState;
+ QAudio::State deviceState;
+
+private slots:
+ void userFeed();
+ bool deviceReady();
+
+private:
+ int xrun_recovery(int err);
+ int setFormat();
+ bool open();
+ void close();
+ void drain();
+
+ QTimer* timer;
+ QTime timeStamp;
+ int intervalTime;
+ char* audioBuffer;
+ int bytesAvailable;
+ QByteArray m_device;
+ bool pullMode;
+ int buffer_size;
+ int period_size;
+ unsigned int buffer_time;
+ unsigned int period_time;
+ snd_pcm_uframes_t buffer_frames;
+ snd_pcm_uframes_t period_frames;
+ snd_async_handler_t* ahandler;
+ snd_pcm_access_t access;
+ snd_pcm_format_t pcmformat;
+ snd_timestamp_t* timestamp;
+ snd_pcm_hw_params_t *hwparams;
+};
+
+class InputPrivate : public QIODevice
+{
+ Q_OBJECT
+public:
+ InputPrivate(QAudioInputPrivate* audio);
+ ~InputPrivate();
+
+ qint64 readData( char* data, qint64 len);
+ qint64 writeData(const char* data, qint64 len);
+
+ void trigger();
+private:
+ QAudioInputPrivate *audioDevice;
+};
+
+#endif
diff --git a/src/multimedia/audio/qaudioinput_mac_p.cpp b/src/multimedia/audio/qaudioinput_mac_p.cpp
new file mode 100644
index 0000000..5400c85
--- /dev/null
+++ b/src/multimedia/audio/qaudioinput_mac_p.cpp
@@ -0,0 +1,930 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtMultimedia module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists for the convenience
+// of other Qt classes. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
+#include <QtCore/qendian.h>
+#include <QtCore/qtimer.h>
+#include <QtCore/qdebug.h>
+
+#include <QtMultimedia/qaudiodeviceinfo.h>
+#include <QtMultimedia/qaudioinput.h>
+
+#include "qaudio_mac_p.h"
+#include "qaudioinput_mac_p.h"
+
+
+QT_BEGIN_NAMESPACE
+
+
+namespace
+{
+
+static const int default_buffer_size = 4 * 1024;
+
+class QAudioBufferList
+{
+public:
+ QAudioBufferList(AudioStreamBasicDescription const& streamFormat):
+ owner(false),
+ sf(streamFormat)
+ {
+ const bool isInterleaved = (sf.mFormatFlags & kAudioFormatFlagIsNonInterleaved) == 0;
+ const int numberOfBuffers = isInterleaved ? 1 : sf.mChannelsPerFrame;
+
+ dataSize = 0;
+
+ bfs = reinterpret_cast<AudioBufferList*>(qMalloc(sizeof(AudioBufferList) +
+ (sizeof(AudioBuffer) * numberOfBuffers)));
+
+ bfs->mNumberBuffers = numberOfBuffers;
+ for (int i = 0; i < numberOfBuffers; ++i) {
+ bfs->mBuffers[i].mNumberChannels = isInterleaved ? numberOfBuffers : 1;
+ bfs->mBuffers[i].mDataByteSize = 0;
+ bfs->mBuffers[i].mData = 0;
+ }
+ }
+
+ QAudioBufferList(AudioStreamBasicDescription const& streamFormat, char* buffer, int bufferSize):
+ owner(false),
+ sf(streamFormat),
+ bfs(0)
+ {
+ dataSize = bufferSize;
+
+ bfs = reinterpret_cast<AudioBufferList*>(qMalloc(sizeof(AudioBufferList) + sizeof(AudioBuffer)));
+
+ bfs->mNumberBuffers = 1;
+ bfs->mBuffers[0].mNumberChannels = 1;
+ bfs->mBuffers[0].mDataByteSize = dataSize;
+ bfs->mBuffers[0].mData = buffer;
+ }
+
+ QAudioBufferList(AudioStreamBasicDescription const& streamFormat, int framesToBuffer):
+ owner(true),
+ sf(streamFormat),
+ bfs(0)
+ {
+ const bool isInterleaved = (sf.mFormatFlags & kAudioFormatFlagIsNonInterleaved) == 0;
+ const int numberOfBuffers = isInterleaved ? 1 : sf.mChannelsPerFrame;
+
+ dataSize = framesToBuffer * sf.mBytesPerFrame;
+
+ bfs = reinterpret_cast<AudioBufferList*>(qMalloc(sizeof(AudioBufferList) +
+ (sizeof(AudioBuffer) * numberOfBuffers)));
+ bfs->mNumberBuffers = numberOfBuffers;
+ for (int i = 0; i < numberOfBuffers; ++i) {
+ bfs->mBuffers[i].mNumberChannels = isInterleaved ? numberOfBuffers : 1;
+ bfs->mBuffers[i].mDataByteSize = dataSize;
+ bfs->mBuffers[i].mData = qMalloc(dataSize);
+ }
+ }
+
+ ~QAudioBufferList()
+ {
+ if (owner) {
+ for (UInt32 i = 0; i < bfs->mNumberBuffers; ++i)
+ qFree(bfs->mBuffers[i].mData);
+ }
+
+ qFree(bfs);
+ }
+
+ AudioBufferList* audioBufferList() const
+ {
+ return bfs;
+ }
+
+ char* data(int buffer = 0) const
+ {
+ return static_cast<char*>(bfs->mBuffers[buffer].mData);
+ }
+
+ qint64 bufferSize(int buffer = 0) const
+ {
+ return bfs->mBuffers[buffer].mDataByteSize;
+ }
+
+ int frameCount(int buffer = 0) const
+ {
+ return bfs->mBuffers[buffer].mDataByteSize / sf.mBytesPerFrame;
+ }
+
+ int packetCount(int buffer = 0) const
+ {
+ return bfs->mBuffers[buffer].mDataByteSize / sf.mBytesPerPacket;
+ }
+
+ int packetSize() const
+ {
+ return sf.mBytesPerPacket;
+ }
+
+ void reset()
+ {
+ for (UInt32 i = 0; i < bfs->mNumberBuffers; ++i)
+ bfs->mBuffers[i].mDataByteSize = dataSize;
+ }
+
+private:
+ bool owner;
+ int dataSize;
+ AudioStreamBasicDescription sf;
+ AudioBufferList* bfs;
+};
+
+class QAudioPacketFeeder
+{
+public:
+ QAudioPacketFeeder(QAudioBufferList* abl):
+ audioBufferList(abl)
+ {
+ totalPackets = audioBufferList->packetCount();
+ position = 0;
+ }
+
+ bool feed(AudioBufferList& dst, UInt32& packetCount)
+ {
+ if (position == totalPackets) {
+ dst.mBuffers[0].mDataByteSize = 0;
+ packetCount = 0;
+ return false;
+ }
+
+ if (totalPackets - position < packetCount)
+ packetCount = totalPackets - position;
+
+ dst.mBuffers[0].mDataByteSize = packetCount * audioBufferList->packetSize();
+ dst.mBuffers[0].mData = audioBufferList->data() + (position * audioBufferList->packetSize());
+
+ position += packetCount;
+
+ return true;
+ }
+
+private:
+ UInt32 totalPackets;
+ UInt32 position;
+ QAudioBufferList* audioBufferList;
+};
+
+class QAudioInputBuffer : public QObject
+{
+ Q_OBJECT
+
+public:
+ QAudioInputBuffer(int bufferSize,
+ int maxPeriodSize,
+ AudioStreamBasicDescription const& inputFormat,
+ AudioStreamBasicDescription const& outputFormat,
+ QObject* parent):
+ QObject(parent),
+ m_deviceError(false),
+ m_inputFormat(inputFormat),
+ m_outputFormat(outputFormat)
+ {
+ m_maxPeriodSize = maxPeriodSize;
+ m_periodTime = m_maxPeriodSize / m_outputFormat.mBytesPerFrame * 1000 / m_outputFormat.mSampleRate;
+ m_buffer = new QAudioRingBuffer(bufferSize + (bufferSize % maxPeriodSize == 0 ? 0 : maxPeriodSize - (bufferSize % maxPeriodSize)));
+ m_inputBufferList = new QAudioBufferList(m_inputFormat);
+
+ m_flushTimer = new QTimer(this);
+ connect(m_flushTimer, SIGNAL(timeout()), SLOT(flushBuffer()));
+
+ if (inputFormat.mSampleRate != outputFormat.mSampleRate) {
+ if (AudioConverterNew(&m_inputFormat, &m_outputFormat, &m_audioConverter) != noErr) {
+ qWarning() << "QAudioInput: Unable to create an Audio Converter";
+ m_audioConverter = 0;
+ }
+ }
+ }
+
+ ~QAudioInputBuffer()
+ {
+ delete m_buffer;
+ }
+
+ qint64 renderFromDevice(AudioUnit audioUnit,
+ AudioUnitRenderActionFlags* ioActionFlags,
+ const AudioTimeStamp* inTimeStamp,
+ UInt32 inBusNumber,
+ UInt32 inNumberFrames)
+ {
+ const bool wasEmpty = m_buffer->used() == 0;
+
+ OSStatus err;
+ qint64 framesRendered = 0;
+
+ m_inputBufferList->reset();
+ err = AudioUnitRender(audioUnit,
+ ioActionFlags,
+ inTimeStamp,
+ inBusNumber,
+ inNumberFrames,
+ m_inputBufferList->audioBufferList());
+
+ if (m_audioConverter != 0) {
+ QAudioPacketFeeder feeder(m_inputBufferList);
+
+ bool wecan = true;
+ int copied = 0;
+
+ const int available = m_buffer->free();
+
+ while (err == noErr && wecan) {
+ QAudioRingBuffer::Region region = m_buffer->acquireWriteRegion(available);
+
+ if (region.second > 0) {
+ AudioBufferList output;
+ output.mNumberBuffers = 1;
+ output.mBuffers[0].mNumberChannels = 1;
+ output.mBuffers[0].mDataByteSize = region.second;
+ output.mBuffers[0].mData = region.first;
+
+ UInt32 packetSize = region.second / m_outputFormat.mBytesPerPacket;
+ err = AudioConverterFillComplexBuffer(m_audioConverter,
+ converterCallback,
+ &feeder,
+ &packetSize,
+ &output,
+ 0);
+
+ region.second = output.mBuffers[0].mDataByteSize;
+ copied += region.second;
+
+ m_buffer->releaseWriteRegion(region);
+ }
+ else
+ wecan = false;
+ }
+
+ framesRendered += copied / m_outputFormat.mBytesPerFrame;
+ }
+ else {
+ const int available = m_inputBufferList->bufferSize();
+ bool wecan = true;
+ int copied = 0;
+
+ while (wecan && copied < available) {
+ QAudioRingBuffer::Region region = m_buffer->acquireWriteRegion(available - copied);
+
+ if (region.second > 0) {
+ memcpy(region.first, m_inputBufferList->data() + copied, region.second);
+ copied += region.second;
+ }
+ else
+ wecan = false;
+
+ m_buffer->releaseWriteRegion(region);
+ }
+
+ framesRendered = copied / m_outputFormat.mBytesPerFrame;
+ }
+
+ if (wasEmpty && framesRendered > 0)
+ emit readyRead();
+
+ return framesRendered;
+ }
+
+ qint64 readBytes(char* data, qint64 len)
+ {
+ bool wecan = true;
+ qint64 bytesCopied = 0;
+
+ len -= len % m_maxPeriodSize;
+ while (wecan && bytesCopied < len) {
+ QAudioRingBuffer::Region region = m_buffer->acquireReadRegion(len - bytesCopied);
+
+ if (region.second > 0) {
+ memcpy(data + bytesCopied, region.first, region.second);
+ bytesCopied += region.second;
+ }
+ else
+ wecan = false;
+
+ m_buffer->releaseReadRegion(region);
+ }
+
+ return bytesCopied;
+ }
+
+ void setFlushDevice(QIODevice* device)
+ {
+ if (m_device != device)
+ m_device = device;
+ }
+
+ void startFlushTimer()
+ {
+ if (m_device != 0) {
+ m_flushTimer->start((m_buffer->size() - (m_maxPeriodSize * 2)) / m_maxPeriodSize * m_periodTime);
+ }
+ }
+
+ void stopFlushTimer()
+ {
+ m_flushTimer->stop();
+ }
+
+ void flush(bool all = false)
+ {
+ const int used = m_buffer->used();
+ const int readSize = all ? used : used - (used % m_maxPeriodSize);
+
+ if (readSize > 0) {
+ bool wecan = true;
+ int flushed = 0;
+
+ while (!m_deviceError && wecan && flushed < readSize) {
+ QAudioRingBuffer::Region region = m_buffer->acquireReadRegion(readSize - flushed);
+
+ if (region.second > 0) {
+ int bytesWritten = m_device->write(region.first, region.second);
+ if (bytesWritten < 0) {
+ stopFlushTimer();
+ m_deviceError = true;
+ }
+ else {
+ region.second = bytesWritten;
+ flushed += bytesWritten;
+ wecan = bytesWritten != 0;
+ }
+ }
+ else
+ wecan = false;
+
+ m_buffer->releaseReadRegion(region);
+ }
+ }
+ }
+
+ void reset()
+ {
+ m_buffer->reset();
+ m_deviceError = false;
+ }
+
+ int available() const
+ {
+ return m_buffer->free();
+ }
+
+ int used() const
+ {
+ return m_buffer->used();
+ }
+
+signals:
+ void readyRead();
+
+private slots:
+ void flushBuffer()
+ {
+ flush();
+ }
+
+private:
+ bool m_deviceError;
+ int m_maxPeriodSize;
+ int m_periodTime;
+ QIODevice* m_device;
+ QTimer* m_flushTimer;
+ QAudioRingBuffer* m_buffer;
+ QAudioBufferList* m_inputBufferList;
+ AudioConverterRef m_audioConverter;
+ AudioStreamBasicDescription m_inputFormat;
+ AudioStreamBasicDescription m_outputFormat;
+
+ const static OSStatus as_empty = 'qtem';
+
+ // Converter callback
+ static OSStatus converterCallback(AudioConverterRef inAudioConverter,
+ UInt32* ioNumberDataPackets,
+ AudioBufferList* ioData,
+ AudioStreamPacketDescription** outDataPacketDescription,
+ void* inUserData)
+ {
+ Q_UNUSED(inAudioConverter);
+ Q_UNUSED(outDataPacketDescription);
+
+ QAudioPacketFeeder* feeder = static_cast<QAudioPacketFeeder*>(inUserData);
+
+ if (!feeder->feed(*ioData, *ioNumberDataPackets))
+ return as_empty;
+
+ return noErr;
+ }
+};
+
+
+class MacInputDevice : public QIODevice
+{
+ Q_OBJECT
+
+public:
+ MacInputDevice(QAudioInputBuffer* audioBuffer, QObject* parent):
+ QIODevice(parent),
+ m_audioBuffer(audioBuffer)
+ {
+ open(QIODevice::ReadOnly | QIODevice::Unbuffered);
+ connect(m_audioBuffer, SIGNAL(readyRead()), SIGNAL(readyRead()));
+ }
+
+ qint64 readData(char* data, qint64 len)
+ {
+ return m_audioBuffer->readBytes(data, len);
+ }
+
+ qint64 writeData(const char* data, qint64 len)
+ {
+ Q_UNUSED(data);
+ Q_UNUSED(len);
+
+ return 0;
+ }
+
+ bool isSequential() const
+ {
+ return true;
+ }
+
+private:
+ QAudioInputBuffer* m_audioBuffer;
+};
+
+}
+
+
+QAudioInputPrivate::QAudioInputPrivate(const QByteArray& device, QAudioFormat const& format):
+ audioFormat(format)
+{
+ QDataStream ds(device);
+ quint32 did, mode;
+
+ ds >> did >> mode;
+
+ if (QAudio::Mode(mode) == QAudio::AudioOutput)
+ errorCode = QAudio::OpenError;
+ else {
+ isOpen = false;
+ audioDeviceId = AudioDeviceID(did);
+ audioUnit = 0;
+ startTime = 0;
+ totalFrames = 0;
+ audioBuffer = 0;
+ internalBufferSize = default_buffer_size;
+ clockFrequency = AudioGetHostClockFrequency() / 1000;
+ errorCode = QAudio::NoError;
+ stateCode = QAudio::StopState;
+
+ intervalTimer = new QTimer(this);
+ intervalTimer->setInterval(1000);
+ connect(intervalTimer, SIGNAL(timeout()), SIGNAL(notify()));
+ }
+}
+
+QAudioInputPrivate::~QAudioInputPrivate()
+{
+ close();
+}
+
+bool QAudioInputPrivate::open()
+{
+ UInt32 size = 0;
+
+ if (isOpen)
+ return true;
+
+ ComponentDescription cd;
+ cd.componentType = kAudioUnitType_Output;
+ cd.componentSubType = kAudioUnitSubType_HALOutput;
+ cd.componentManufacturer = kAudioUnitManufacturer_Apple;
+ cd.componentFlags = 0;
+ cd.componentFlagsMask = 0;
+
+ // Open
+ Component cp = FindNextComponent(NULL, &cd);
+ if (cp == 0) {
+ qWarning() << "QAudioInput: Failed to find HAL Output component";
+ return false;
+ }
+
+ if (OpenAComponent(cp, &audioUnit) != noErr) {
+ qWarning() << "QAudioInput: Unable to Open Output Component";
+ return false;
+ }
+
+ // Set mode
+ // switch to input mode
+ UInt32 enable = 1;
+ if (AudioUnitSetProperty(audioUnit,
+ kAudioOutputUnitProperty_EnableIO,
+ kAudioUnitScope_Input,
+ 1,
+ &enable,
+ sizeof(enable)) != noErr) {
+ qWarning() << "QAudioInput: Unabled to switch to input mode (Enable Input)";
+ return false;
+ }
+
+ enable = 0;
+ if (AudioUnitSetProperty(audioUnit,
+ kAudioOutputUnitProperty_EnableIO,
+ kAudioUnitScope_Output,
+ 0,
+ &enable,
+ sizeof(enable)) != noErr) {
+ qWarning() << "QAudioInput: Unabled to switch to input mode (Disable output)";
+ return false;
+ }
+
+ // register callback
+ AURenderCallbackStruct cb;
+ cb.inputProc = inputCallback;
+ cb.inputProcRefCon = this;
+
+ if (AudioUnitSetProperty(audioUnit,
+ kAudioOutputUnitProperty_SetInputCallback,
+ kAudioUnitScope_Global,
+ 0,
+ &cb,
+ sizeof(cb)) != noErr) {
+ qWarning() << "QAudioInput: Failed to set AudioUnit callback";
+ return false;
+ }
+
+ // Set Audio Device
+ if (AudioUnitSetProperty(audioUnit,
+ kAudioOutputUnitProperty_CurrentDevice,
+ kAudioUnitScope_Global,
+ 0,
+ &audioDeviceId,
+ sizeof(audioDeviceId)) != noErr) {
+ qWarning() << "QAudioInput: Unable to use configured device";
+ return false;
+ }
+
+ // Set format
+ streamFormat = toAudioStreamBasicDescription(audioFormat);
+
+ size = sizeof(deviceFormat);
+ if (AudioUnitGetProperty(audioUnit,
+ kAudioUnitProperty_StreamFormat,
+ kAudioUnitScope_Input,
+ 1,
+ &deviceFormat,
+ &size) != noErr) {
+ qWarning() << "QAudioInput: Unable to retrieve device format";
+ return false;
+ }
+
+ // If the device frequency is different to the requested use a converter
+ if (deviceFormat.mSampleRate != streamFormat.mSampleRate) {
+ AudioUnitSetProperty(audioUnit,
+ kAudioUnitProperty_StreamFormat,
+ kAudioUnitScope_Output,
+ 1,
+ &deviceFormat,
+ sizeof(streamFormat));
+ }
+ else {
+ AudioUnitSetProperty(audioUnit,
+ kAudioUnitProperty_StreamFormat,
+ kAudioUnitScope_Output,
+ 1,
+ &streamFormat,
+ sizeof(streamFormat));
+ }
+
+ // Setup buffers
+ UInt32 numberOfFrames;
+ size = sizeof(UInt32);
+ if (AudioUnitGetProperty(audioUnit,
+ kAudioDevicePropertyBufferFrameSize,
+ kAudioUnitScope_Global,
+ 0,
+ &numberOfFrames,
+ &size) != noErr) {
+ qWarning() << "QAudioInput: Failed to get audio period size";
+ return false;
+ }
+
+ // Allocate buffer
+ periodSizeBytes = (numberOfFrames * streamFormat.mSampleRate / deviceFormat.mSampleRate) *
+ streamFormat.mBytesPerFrame;
+ if (internalBufferSize < periodSizeBytes * 2)
+ internalBufferSize = periodSizeBytes * 2;
+ else
+ internalBufferSize -= internalBufferSize % streamFormat.mBytesPerFrame;
+
+ audioBuffer = new QAudioInputBuffer(internalBufferSize,
+ periodSizeBytes,
+ deviceFormat,
+ streamFormat,
+ this);
+
+ audioIO = new MacInputDevice(audioBuffer, this);
+
+ // Init
+ if (AudioUnitInitialize(audioUnit) != noErr) {
+ qWarning() << "QAudioInput: Failed to initialize AudioUnit";
+ return false;
+ }
+
+ isOpen = true;
+
+ return isOpen;
+}
+
+void QAudioInputPrivate::close()
+{
+ if (audioUnit != 0) {
+ AudioOutputUnitStop(audioUnit);
+ AudioUnitUninitialize(audioUnit);
+ CloseComponent(audioUnit);
+ }
+
+ delete audioBuffer;
+}
+
+QAudioFormat QAudioInputPrivate::format() const
+{
+ return audioFormat;
+}
+
+QIODevice* QAudioInputPrivate::start(QIODevice* device)
+{
+ QIODevice* op = device;
+
+ if (!open()) {
+ stateCode = QAudio::StopState;
+ errorCode = QAudio::OpenError;
+ return audioIO;
+ }
+
+ reset();
+ audioBuffer->reset();
+ audioBuffer->setFlushDevice(op);
+
+ if (op == 0)
+ op = audioIO;
+
+ // Start
+ startTime = AudioGetCurrentHostTime();
+ totalFrames = 0;
+
+ audioThreadStart();
+
+ return op;
+}
+
+void QAudioInputPrivate::stop()
+{
+ QMutexLocker lock(&mutex);
+ if (stateCode != QAudio::StopState) {
+ audioThreadStop();
+ audioBuffer->flush(true);
+
+ errorCode = QAudio::NoError;
+ stateCode = QAudio::StopState;
+ QMetaObject::invokeMethod(this, "stateChanged", Qt::QueuedConnection, Q_ARG(QAudio::State, stateCode));
+ }
+}
+
+void QAudioInputPrivate::reset()
+{
+ QMutexLocker lock(&mutex);
+ if (stateCode != QAudio::StopState) {
+ audioThreadStop();
+
+ errorCode = QAudio::NoError;
+ stateCode = QAudio::StopState;
+ QMetaObject::invokeMethod(this, "stateChanged", Qt::QueuedConnection, Q_ARG(QAudio::State, stateCode));
+ }
+}
+
+void QAudioInputPrivate::suspend()
+{
+ QMutexLocker lock(&mutex);
+ if (stateCode == QAudio::ActiveState || stateCode == QAudio::IdleState) {
+ audioThreadStop();
+
+ errorCode = QAudio::NoError;
+ stateCode = QAudio::SuspendState;
+ QMetaObject::invokeMethod(this, "stateChanged", Qt::QueuedConnection, Q_ARG(QAudio::State, stateCode));
+ }
+}
+
+void QAudioInputPrivate::resume()
+{
+ QMutexLocker lock(&mutex);
+ if (stateCode == QAudio::SuspendState) {
+ audioThreadStart();
+
+ errorCode = QAudio::NoError;
+ stateCode = QAudio::ActiveState;
+ QMetaObject::invokeMethod(this, "stateChanged", Qt::QueuedConnection, Q_ARG(QAudio::State, stateCode));
+ }
+}
+
+int QAudioInputPrivate::bytesReady() const
+{
+ return audioBuffer->used();
+}
+
+int QAudioInputPrivate::periodSize() const
+{
+ return periodSizeBytes;
+}
+
+void QAudioInputPrivate::setBufferSize(int bs)
+{
+ internalBufferSize = bs;
+}
+
+int QAudioInputPrivate::bufferSize() const
+{
+ return internalBufferSize;
+}
+
+void QAudioInputPrivate::setNotifyInterval(int milliSeconds)
+{
+ intervalTimer->setInterval(milliSeconds);
+}
+
+int QAudioInputPrivate::notifyInterval() const
+{
+ return intervalTimer->interval();
+}
+
+qint64 QAudioInputPrivate::totalTime() const
+{
+ return totalFrames * 1000000 / audioFormat.frequency();
+}
+
+qint64 QAudioInputPrivate::clock() const
+{
+ return (AudioGetCurrentHostTime() - startTime) / (clockFrequency / 1000);
+}
+
+QAudio::Error QAudioInputPrivate::error() const
+{
+ return errorCode;
+}
+
+QAudio::State QAudioInputPrivate::state() const
+{
+ return stateCode;
+}
+
+void QAudioInputPrivate::audioThreadStop()
+{
+ stopTimers();
+ if (audioThreadState.testAndSetAcquire(Running, Stopped))
+ threadFinished.wait(&mutex);
+}
+
+void QAudioInputPrivate::audioThreadStart()
+{
+ startTimers();
+ audioThreadState = Running;
+ AudioOutputUnitStart(audioUnit);
+}
+
+void QAudioInputPrivate::audioDeviceStop()
+{
+ AudioOutputUnitStop(audioUnit);
+ audioThreadState = Stopped;
+ threadFinished.wakeOne();
+}
+
+void QAudioInputPrivate::audioDeviceFull()
+{
+ QMutexLocker lock(&mutex);
+ if (stateCode == QAudio::ActiveState) {
+ audioDeviceStop();
+
+ errorCode = QAudio::UnderrunError;
+ stateCode = QAudio::IdleState;
+ QMetaObject::invokeMethod(this, "deviceStopped", Qt::QueuedConnection);
+ }
+}
+
+void QAudioInputPrivate::audioDeviceError()
+{
+ QMutexLocker lock(&mutex);
+ if (stateCode == QAudio::ActiveState) {
+ audioDeviceStop();
+
+ errorCode = QAudio::IOError;
+ stateCode = QAudio::StopState;
+ QMetaObject::invokeMethod(this, "deviceStopped", Qt::QueuedConnection);
+ }
+}
+
+void QAudioInputPrivate::startTimers()
+{
+ audioBuffer->startFlushTimer();
+ intervalTimer->start();
+}
+
+void QAudioInputPrivate::stopTimers()
+{
+ audioBuffer->stopFlushTimer();
+ intervalTimer->stop();
+}
+
+void QAudioInputPrivate::deviceStopped()
+{
+ stopTimers();
+ emit stateChanged(stateCode);
+}
+
+// Input callback
+OSStatus QAudioInputPrivate::inputCallback(void* inRefCon,
+ AudioUnitRenderActionFlags* ioActionFlags,
+ const AudioTimeStamp* inTimeStamp,
+ UInt32 inBusNumber,
+ UInt32 inNumberFrames,
+ AudioBufferList* ioData)
+{
+ Q_UNUSED(ioData);
+
+ QAudioInputPrivate* d = static_cast<QAudioInputPrivate*>(inRefCon);
+
+ const int threadState = d->audioThreadState.fetchAndAddAcquire(0);
+ if (threadState == Stopped)
+ d->audioDeviceStop();
+ else {
+ qint64 framesWritten;
+
+ framesWritten = d->audioBuffer->renderFromDevice(d->audioUnit,
+ ioActionFlags,
+ inTimeStamp,
+ inBusNumber,
+ inNumberFrames);
+
+ if (framesWritten > 0)
+ d->totalFrames += framesWritten;
+ else if (framesWritten == 0)
+ d->audioDeviceFull();
+ else if (framesWritten < 0)
+ d->audioDeviceError();
+ }
+
+ return noErr;
+}
+
+
+QT_END_NAMESPACE
+
+#include "qaudioinput_mac_p.moc"
+
diff --git a/src/multimedia/audio/qaudioinput_mac_p.h b/src/multimedia/audio/qaudioinput_mac_p.h
new file mode 100644
index 0000000..98ef9ce
--- /dev/null
+++ b/src/multimedia/audio/qaudioinput_mac_p.h
@@ -0,0 +1,171 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtMultimedia module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists for the convenience
+// of other Qt classes. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
+
+#ifndef QAUDIOINPUT_MAC_P_H
+#define QAUDIOINPUT_MAC_P_H
+
+#include <CoreServices/CoreServices.h>
+#include <CoreAudio/CoreAudio.h>
+#include <AudioUnit/AudioUnit.h>
+#include <AudioToolbox/AudioToolbox.h>
+
+#include <QtCore/qobject.h>
+#include <QtCore/qmutex.h>
+#include <QtCore/qwaitcondition.h>
+#include <QtCore/qatomic.h>
+
+#include <QtMultimedia/qaudio.h>
+#include <QtMultimedia/qaudioformat.h>
+#include <QtMultimedia/qaudioengine.h>
+
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+class QTimer;
+class QIODevice;
+
+namespace
+{
+class QAudioInputBuffer;
+}
+
+class QAudioInputPrivate : public QAbstractAudioInput
+{
+ Q_OBJECT
+
+public:
+ bool isOpen;
+ int periodSizeBytes;
+ int internalBufferSize;
+ qint64 totalFrames;
+ QAudioFormat audioFormat;
+ QIODevice* audioIO;
+ AudioUnit audioUnit;
+ AudioDeviceID audioDeviceId;
+ Float64 clockFrequency;
+ UInt64 startTime;
+ QAudio::Error errorCode;
+ QAudio::State stateCode;
+ QAudioInputBuffer* audioBuffer;
+ QMutex mutex;
+ QWaitCondition threadFinished;
+ QAtomicInt audioThreadState;
+ QTimer* intervalTimer;
+ AudioStreamBasicDescription streamFormat;
+ AudioStreamBasicDescription deviceFormat;
+
+ QAudioInputPrivate(const QByteArray& device, QAudioFormat const& format);
+ ~QAudioInputPrivate();
+
+ bool open();
+ void close();
+
+ QAudioFormat format() const;
+
+ QIODevice* start(QIODevice* device);
+ void stop();
+ void reset();
+ void suspend();
+ void resume();
+ void idle();
+
+ int bytesReady() const;
+ int periodSize() const;
+
+ void setBufferSize(int value);
+ int bufferSize() const;
+
+ void setNotifyInterval(int milliSeconds);
+ int notifyInterval() const;
+
+ qint64 totalTime() const;
+ qint64 clock() const;
+
+ QAudio::Error error() const;
+ QAudio::State state() const;
+
+ void audioThreadStart();
+ void audioThreadStop();
+
+ void audioDeviceStop();
+ void audioDeviceFull();
+ void audioDeviceError();
+
+ void startTimers();
+ void stopTimers();
+
+signals:
+ void stateChanged(QAudio::State);
+ void notify();
+
+private slots:
+ void deviceStopped();
+
+private:
+ enum { Running, Stopped };
+
+ // Input callback
+ static OSStatus inputCallback(void* inRefCon,
+ AudioUnitRenderActionFlags* ioActionFlags,
+ const AudioTimeStamp* inTimeStamp,
+ UInt32 inBusNumber,
+ UInt32 inNumberFrames,
+ AudioBufferList* ioData);
+};
+
+QT_END_NAMESPACE
+
+QT_END_HEADER
+
+#endif // QAUDIOINPUT_MAC_P_H
diff --git a/src/multimedia/audio/qaudioinput_win32_p.cpp b/src/multimedia/audio/qaudioinput_win32_p.cpp
new file mode 100644
index 0000000..e5b6e0d
--- /dev/null
+++ b/src/multimedia/audio/qaudioinput_win32_p.cpp
@@ -0,0 +1,540 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtMultimedia module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists for the convenience
+// of other Qt classes. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
+
+#include "qaudioinput_win32_p.h"
+
+//#define DEBUG_AUDIO 1
+
+
+QAudioInputPrivate::QAudioInputPrivate(const QByteArray &device, const QAudioFormat& audioFormat):
+ settings(audioFormat)
+{
+ bytesAvailable = 0;
+ buffer_size = 0;
+ period_size = 0;
+ m_device = device;
+ totalTimeValue = 0;
+ intervalTime = 1000;
+ errorState = QAudio::NoError;
+ deviceState = QAudio::StopState;
+ audioSource = 0;
+ pullMode = true;
+ resuming = false;
+
+ connect(this,SIGNAL(processMore()),SLOT(deviceReady()));
+
+ InitializeCriticalSection(&waveInCriticalSection);
+}
+
+QAudioInputPrivate::~QAudioInputPrivate()
+{
+ close();
+ DeleteCriticalSection(&waveInCriticalSection);
+}
+
+void CALLBACK QAudioInputPrivate::waveInProc( HWAVEIN hWaveIn, UINT uMsg,
+ DWORD dwInstance, DWORD dwParam1, DWORD dwParam2 )
+{
+ Q_UNUSED(dwParam1)
+ Q_UNUSED(dwParam2)
+ Q_UNUSED(hWaveIn)
+
+ QAudioInputPrivate* qAudio;
+ qAudio = (QAudioInputPrivate*)(dwInstance);
+ if(!qAudio)
+ return;
+
+ switch(uMsg) {
+ case WIM_OPEN:
+ break;
+ case WIM_DATA:
+ EnterCriticalSection(&waveInCriticalSection);
+ if(qAudio->waveFreeBlockCount > 0)
+ qAudio->waveFreeBlockCount--;
+ LeaveCriticalSection(&waveInCriticalSection);
+ qAudio->feedback();
+ break;
+ case WIM_CLOSE:
+ break;
+ default:
+ return;
+ }
+}
+
+WAVEHDR* QAudioInputPrivate::allocateBlocks(int size, int count)
+{
+ int i;
+ unsigned char* buffer;
+ WAVEHDR* blocks;
+ DWORD totalBufferSize = (size + sizeof(WAVEHDR))*count;
+
+ if((buffer=(unsigned char*)HeapAlloc(GetProcessHeap(),HEAP_ZERO_MEMORY,
+ totalBufferSize)) == 0) {
+ qWarning("QAudioInput: Memory allocation error");
+ return 0;
+ }
+ blocks = (WAVEHDR*)buffer;
+ buffer += sizeof(WAVEHDR)*count;
+ for(i = 0; i < count; i++) {
+ blocks[i].dwBufferLength = size;
+ blocks[i].lpData = (LPSTR)buffer;
+ blocks[i].dwBytesRecorded=0;
+ blocks[i].dwUser = 0L;
+ blocks[i].dwFlags = 0L;
+ blocks[i].dwLoops = 0L;
+ result = waveInPrepareHeader(hWaveIn,&blocks[i], sizeof(WAVEHDR));
+ if(result != MMSYSERR_NOERROR) {
+ qWarning("QAudioInput: Can't prepare block %d",i);
+ return 0;
+ }
+ buffer += size;
+ }
+ return blocks;
+}
+
+void QAudioInputPrivate::freeBlocks(WAVEHDR* blockArray)
+{
+ HeapFree(GetProcessHeap(), 0, blockArray);
+}
+
+QAudio::Error QAudioInputPrivate::error() const
+{
+ return errorState;
+}
+
+QAudio::State QAudioInputPrivate::state() const
+{
+ return deviceState;
+}
+
+QAudioFormat QAudioInputPrivate::format() const
+{
+ return settings;
+}
+
+QIODevice* QAudioInputPrivate::start(QIODevice* device)
+{
+ if(deviceState != QAudio::StopState)
+ close();
+
+ if(!pullMode && audioSource) {
+ delete audioSource;
+ }
+
+ if(device) {
+ //set to pull mode
+ pullMode = true;
+ audioSource = device;
+ } else {
+ //set to push mode
+ pullMode = false;
+ audioSource = new InputPrivate(this);
+ audioSource->open(QIODevice::ReadOnly | QIODevice::Unbuffered);
+ }
+
+ if( !open() )
+ return 0;
+
+ emit stateChanged(deviceState);
+
+ return audioSource;
+}
+
+void QAudioInputPrivate::stop()
+{
+ if(deviceState == QAudio::StopState)
+ return;
+
+ deviceState = QAudio::StopState;
+
+ close();
+ emit stateChanged(deviceState);
+}
+
+bool QAudioInputPrivate::open()
+{
+#ifdef DEBUG_AUDIO
+ QTime now(QTime::currentTime());
+ qDebug()<<now.second()<<"s "<<now.msec()<<"ms :open()";
+#endif
+ header = 0;
+ if(buffer_size == 0) {
+ // Default buffer size, 100ms, default period size is 20ms
+ buffer_size = settings.frequency()*settings.channels()*(settings.sampleSize()/8)*0.1;
+ period_size = buffer_size/5;
+ } else {
+ period_size = buffer_size/5;
+ }
+ timeStamp.restart();
+ wfx.nSamplesPerSec = settings.frequency();
+ wfx.wBitsPerSample = settings.sampleSize();
+ wfx.nChannels = settings.channels();
+ wfx.cbSize = 0;
+
+ wfx.wFormatTag = WAVE_FORMAT_PCM;
+ wfx.nBlockAlign = (wfx.wBitsPerSample >> 3) * wfx.nChannels;
+ wfx.nAvgBytesPerSec = wfx.nBlockAlign * wfx.nSamplesPerSec;
+
+ UINT_PTR devId = WAVE_MAPPER;
+
+ WAVEINCAPS wic;
+ unsigned long iNumDevs,ii;
+ iNumDevs = waveInGetNumDevs();
+ for(ii=0;ii<iNumDevs;ii++) {
+ if(waveInGetDevCaps(ii, &wic, sizeof(WAVEINCAPS))
+ == MMSYSERR_NOERROR) {
+ QString tmp;
+ tmp = QString::fromUtf16((const unsigned short*)wic.szPname);
+ if(tmp.compare(tr(m_device)) == 0) {
+ devId = ii;
+ break;
+ }
+ }
+ }
+
+ if(waveInOpen(&hWaveIn, devId, &wfx,
+ (DWORD_PTR)&waveInProc,
+ (DWORD_PTR) this,
+ CALLBACK_FUNCTION) != MMSYSERR_NOERROR) {
+ errorState = QAudio::OpenError;
+ deviceState = QAudio::StopState;
+ emit stateChanged(deviceState);
+ qWarning("QAudioInput: failed to open audio device");
+ return false;
+ }
+ waveBlocks = allocateBlocks(period_size, buffer_size/period_size);
+ waveFreeBlockCount = buffer_size/period_size;
+ waveCurrentBlock = 0;
+
+ for(int i=0; i<buffer_size/period_size; i++) {
+ result = waveInAddBuffer(hWaveIn, &waveBlocks[i], sizeof(WAVEHDR));
+ if(result != MMSYSERR_NOERROR) {
+ qWarning("QAudioInput: failed to setup block %d,err=%d",i,result);
+ errorState = QAudio::OpenError;
+ deviceState = QAudio::StopState;
+ emit stateChanged(deviceState);
+ return false;
+ }
+ }
+ result = waveInStart(hWaveIn);
+ if(result) {
+ qWarning("QAudioInput: failed to start audio input");
+ errorState = QAudio::OpenError;
+ deviceState = QAudio::StopState;
+ emit stateChanged(deviceState);
+ return false;
+ }
+ timeStampOpened.restart();
+ totalTimeValue = 0;
+ errorState = QAudio::NoError;
+ deviceState = QAudio::ActiveState;
+ return true;
+}
+
+void QAudioInputPrivate::close()
+{
+ deviceState = QAudio::StopState;
+ int delay = (buffer_size-bytesReady())*1000/(settings.frequency()
+ *settings.channels()*(settings.sampleSize()/8));
+ waveInReset(hWaveIn);
+ Sleep(delay+10);
+
+ for(int i=0; i<waveFreeBlockCount; i++) {
+ if(waveBlocks[i].dwFlags & WHDR_PREPARED)
+ waveInUnprepareHeader(hWaveIn,&waveBlocks[i],sizeof(WAVEHDR));
+ }
+ freeBlocks(waveBlocks);
+ waveInClose(hWaveIn);
+}
+
+int QAudioInputPrivate::bytesReady() const
+{
+ int buf = ((buffer_size/period_size)-waveFreeBlockCount)*period_size;
+ if(buf < 0)
+ buf = 0;
+ return buf;
+}
+
+qint64 QAudioInputPrivate::read(char* data, qint64 len)
+{
+ bool done = false;
+
+ char* p = data;
+ qint64 l = 0;
+ qint64 written = 0;
+ while(!done) {
+ // Read in some audio data
+ if(waveBlocks[header].dwBytesRecorded > 0) {
+ if(pullMode) {
+ l = audioSource->write(waveBlocks[header].lpData,
+ waveBlocks[header].dwBytesRecorded);
+#ifdef DEBUG_AUDIO
+ qDebug()<<"IN: "<<waveBlocks[header].dwBytesRecorded<<", OUT: "<<l;
+#endif
+ if(l < 0) {
+ // error
+ qWarning("QAudioInput: IOError");
+ errorState = QAudio::IOError;
+
+ } else if(l == 0) {
+ // cant write to IODevice
+ qWarning("QAudioInput: IOError, can't write to QIODevice");
+ errorState = QAudio::IOError;
+
+ } else {
+ totalTimeValue += waveBlocks[header].dwBytesRecorded
+ /((settings.channels()*settings.sampleSize()/8))
+ *10000/settings.frequency()*100;
+ errorState = QAudio::NoError;
+ deviceState = QAudio::ActiveState;
+ resuming = false;
+ }
+ } else {
+ // push mode
+ memcpy(p,waveBlocks[header].lpData,waveBlocks[header].dwBytesRecorded);
+ l = waveBlocks[header].dwBytesRecorded;
+#ifdef DEBUG_AUDIO
+ qDebug()<<"IN: "<<waveBlocks[header].dwBytesRecorded<<", OUT: "<<l;
+#endif
+ totalTimeValue += waveBlocks[header].dwBytesRecorded
+ /((settings.channels()*settings.sampleSize()/8))
+ *10000/settings.frequency()*100;
+ errorState = QAudio::NoError;
+ deviceState = QAudio::ActiveState;
+ resuming = false;
+ }
+ } else {
+ //no data, not ready yet, next time
+ return 0;
+ }
+ EnterCriticalSection(&waveInCriticalSection);
+ waveFreeBlockCount++;
+ LeaveCriticalSection(&waveInCriticalSection);
+ waveBlocks[header].dwBytesRecorded=0;
+ waveBlocks[header].dwFlags = 0L;
+ result = waveInPrepareHeader(hWaveIn,&waveBlocks[header], sizeof(WAVEHDR));
+ if(result != MMSYSERR_NOERROR) {
+ qWarning("QAudioInput: failed to prepare block %d,err=%d",header,result);
+ errorState = QAudio::OpenError;
+ deviceState = QAudio::StopState;
+ emit stateChanged(deviceState);
+ }
+ result = waveInAddBuffer(hWaveIn, &waveBlocks[header], sizeof(WAVEHDR));
+ if(result != MMSYSERR_NOERROR) {
+ qWarning("QAudioInput: failed to setup block %d,err=%d",header,result);
+ errorState = QAudio::OpenError;
+ deviceState = QAudio::StopState;
+ emit stateChanged(deviceState);
+ }
+ header++;
+ if(header >= buffer_size/period_size)
+ header = 0;
+ p+=l;
+
+ if(!pullMode) {
+ if(l+period_size > len && waveFreeBlockCount == buffer_size/period_size)
+ done = true;
+ } else {
+ if(waveFreeBlockCount == buffer_size/period_size)
+ done = true;
+ }
+ written+=l;
+ }
+#ifdef DEBUG_AUDIO
+ qDebug()<<"read in len="<<written;
+#endif
+ return written;
+}
+
+void QAudioInputPrivate::resume()
+{
+ if(deviceState == QAudio::SuspendState) {
+ deviceState = QAudio::ActiveState;
+ for(int i=0; i<buffer_size/period_size; i++) {
+ result = waveInAddBuffer(hWaveIn, &waveBlocks[i], sizeof(WAVEHDR));
+ if(result != MMSYSERR_NOERROR) {
+ qWarning("QAudioInput: failed to setup block %d,err=%d",i,result);
+ errorState = QAudio::OpenError;
+ deviceState = QAudio::StopState;
+ emit stateChanged(deviceState);
+ return;
+ }
+ }
+ waveFreeBlockCount = buffer_size/period_size;
+ waveCurrentBlock = 0;
+ header = 0;
+ resuming = true;
+ waveInStart(hWaveIn);
+ QTimer::singleShot(20,this,SLOT(feedback()));
+ emit stateChanged(deviceState);
+ }
+}
+
+void QAudioInputPrivate::setBufferSize(int value)
+{
+ buffer_size = value;
+}
+
+int QAudioInputPrivate::bufferSize() const
+{
+ return buffer_size;
+}
+
+int QAudioInputPrivate::periodSize() const
+{
+ return period_size;
+}
+
+void QAudioInputPrivate::setNotifyInterval(int ms)
+{
+ intervalTime = ms;
+}
+
+int QAudioInputPrivate::notifyInterval() const
+{
+ return intervalTime;
+}
+
+qint64 QAudioInputPrivate::totalTime() const
+{
+ return totalTimeValue;
+}
+
+void QAudioInputPrivate::suspend()
+{
+ if(deviceState == QAudio::ActiveState) {
+ waveInReset(hWaveIn);
+ deviceState = QAudio::SuspendState;
+ emit stateChanged(deviceState);
+ }
+}
+
+void QAudioInputPrivate::feedback()
+{
+#ifdef DEBUG_AUDIO
+ QTime now(QTime::currentTime());
+ qDebug()<<now.second()<<"s "<<now.msec()<<"ms :feedback() INPUT";
+#endif
+ bytesAvailable = bytesReady();
+
+ if(!(deviceState==QAudio::StopState||deviceState==QAudio::SuspendState))
+ emit processMore();
+}
+
+bool QAudioInputPrivate::deviceReady()
+{
+#ifdef DEBUG_AUDIO
+ QTime now(QTime::currentTime());
+ qDebug()<<now.second()<<"s "<<now.msec()<<"ms :deviceReady() INPUT";
+#endif
+ if(pullMode) {
+ // reads some audio data and writes it to QIODevice
+ read(0,0);
+ } else {
+ // emits readyRead() so user will call read() on QIODevice to get some audio data
+ InputPrivate* a = qobject_cast<InputPrivate*>(audioSource);
+ a->trigger();
+ }
+ if(deviceState != QAudio::ActiveState)
+ return true;
+
+ if(timeStamp.elapsed() > intervalTime && intervalTime > 50) {
+ emit notify();
+ timeStamp.restart();
+ }
+ return true;
+}
+
+qint64 QAudioInputPrivate::clock() const
+{
+ if(deviceState != QAudio::ActiveState)
+ return 0;
+
+ return timeStampOpened.elapsed();
+}
+
+void QAudioInputPrivate::reset()
+{
+ close();
+}
+
+InputPrivate::InputPrivate(QAudioInputPrivate* audio)
+{
+ audioDevice = qobject_cast<QAudioInputPrivate*>(audio);
+}
+
+InputPrivate::~InputPrivate() {}
+
+qint64 InputPrivate::readData( char* data, qint64 len)
+{
+ // push mode, user read() called
+ if(audioDevice->deviceState != QAudio::ActiveState)
+ return 0;
+ // Read in some audio data
+ return audioDevice->read(data,len);
+}
+
+qint64 InputPrivate::writeData(const char* data, qint64 len)
+{
+ Q_UNUSED(data)
+ Q_UNUSED(len)
+
+ emit readyRead();
+ return 0;
+}
+
+void InputPrivate::trigger()
+{
+ emit readyRead();
+}
+
diff --git a/src/multimedia/audio/qaudioinput_win32_p.h b/src/multimedia/audio/qaudioinput_win32_p.h
new file mode 100644
index 0000000..32464f0
--- /dev/null
+++ b/src/multimedia/audio/qaudioinput_win32_p.h
@@ -0,0 +1,154 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtMultimedia module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists for the convenience
+// of other Qt classes. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
+#ifndef QAUDIOINPUTWIN_H
+#define QAUDIOINPUTWIN_H
+
+#include <windows.h>
+#include <mmsystem.h>
+
+#include <QtCore/qfile.h>
+#include <QtCore/qdebug.h>
+#include <QtCore/qtimer.h>
+#include <QtCore/qstring.h>
+#include <QtCore/qstringlist.h>
+#include <QtCore/qdatetime.h>
+
+#include <QtMultimedia/qaudio.h>
+#include <QtMultimedia/qaudiodeviceinfo.h>
+#include <QtMultimedia/qaudioengine.h>
+
+
+static CRITICAL_SECTION waveInCriticalSection;
+
+class QAudioInputPrivate : public QAbstractAudioInput
+{
+ Q_OBJECT
+public:
+ QAudioInputPrivate(const QByteArray &device, const QAudioFormat& audioFormat);
+ ~QAudioInputPrivate();
+
+ qint64 read(char* data, qint64 len);
+
+ QAudioFormat format() const;
+ QIODevice* start(QIODevice* device = 0);
+ void stop();
+ void reset();
+ void suspend();
+ void resume();
+ int bytesReady() const;
+ int periodSize() const;
+ void setBufferSize(int value);
+ int bufferSize() const;
+ void setNotifyInterval(int milliSeconds);
+ int notifyInterval() const;
+ qint64 totalTime() const;
+ qint64 clock() const;
+ QAudio::Error error() const;
+ QAudio::State state() const;
+
+ QIODevice* audioSource;
+ QAudioFormat settings;
+ QAudio::Error errorState;
+ QAudio::State deviceState;
+
+private:
+ qint32 buffer_size;
+ qint32 period_size;
+ qint32 header;
+ QByteArray m_device;
+ int bytesAvailable;
+ int intervalTime;
+ QTime timeStamp;
+ QTime timeStampOpened;
+ qint64 totalTimeValue;
+ bool pullMode;
+ bool resuming;
+ WAVEFORMATEX wfx;
+ HWAVEIN hWaveIn;
+ MMRESULT result;
+ WAVEHDR* waveBlocks;
+ volatile int waveFreeBlockCount;
+ int waveCurrentBlock;
+
+ static void CALLBACK waveInProc( HWAVEIN hWaveIn, UINT uMsg,
+ DWORD dwInstance, DWORD dwParam1, DWORD dwParam2 );
+
+ WAVEHDR* allocateBlocks(int size, int count);
+ void freeBlocks(WAVEHDR* blockArray);
+ bool open();
+ void close();
+
+private slots:
+ void feedback();
+ bool deviceReady();
+
+signals:
+ void processMore();
+};
+
+class InputPrivate : public QIODevice
+{
+ Q_OBJECT
+public:
+ InputPrivate(QAudioInputPrivate* audio);
+ ~InputPrivate();
+
+ qint64 readData( char* data, qint64 len);
+ qint64 writeData(const char* data, qint64 len);
+
+ void trigger();
+private:
+ QAudioInputPrivate *audioDevice;
+};
+
+#endif
diff --git a/src/multimedia/audio/qaudiooutput.cpp b/src/multimedia/audio/qaudiooutput.cpp
new file mode 100644
index 0000000..785da61
--- /dev/null
+++ b/src/multimedia/audio/qaudiooutput.cpp
@@ -0,0 +1,403 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtMultimedia module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+
+#include <QtMultimedia/qaudio.h>
+#include <QtMultimedia/qaudiodeviceinfo.h>
+#include <QtMultimedia/qaudioengine.h>
+#include <QtMultimedia/qaudiooutput.h>
+
+#include "qaudiodevicefactory_p.h"
+
+
+QT_BEGIN_NAMESPACE
+
+/*!
+ \class QAudioOutput
+ \brief The QAudioOutput class provides an interface for sending audio data to an audio output device.
+
+ \inmodule QtMultimedia
+ \ingroup multimedia
+ \since 4.6
+
+ You can construct an audio output with the system's
+ \l{QAudioDeviceInfo::defaultOutputDevice()}{default audio output
+ device}. It is also possible to create QAudioOutput with a
+ specific QAudioDeviceId. When you create the audio output, you
+ should also send in the QAudioFormat to be used for the playback
+ (see the QAudioFormat class description for details).
+
+ To play a file:
+
+ Starting to play an audio stream is simply a matter of calling
+ start() with a QIODevice. QAudioOutput will then fetch the data it
+ needs from the io device. So playing back an audio file is as
+ simple as:
+
+ \code
+ QFile inputFile;
+ inputFile.setFileName("/tmp/test.raw");
+ inputFile.open(QIODevice::ReadOnly);
+
+ QAudioFormat format;
+ // Set up the format, eg.
+ format.setFrequency(8000);
+ format.setChannels(1);
+ format.setSampleSize(8);
+ format.setCodec("audio/pcm");
+ format.setByteOrder(QAudioFormat::LittleEndian);
+ format.setSampleType(QAudioFormat::UnSignedInt);
+
+ QAudioOutput *audio = new QAudioOutput(format, this);
+ connect(audio,SIGNAL(stateChanged(QAudio::State)),SLOT(finishedPlaying(QAudio::State)));
+ audio->start(inputFile);
+
+ \endcode
+
+ The file will start playing assuming that the audio system and
+ output device support it. If you run out of luck, check what's
+ up with the error() function.
+
+ After the file has finished playing, we need to stop the device:
+
+ \code
+ void finishedPlaying(QAudio::State state)
+ {
+ if(state == QAudio::IdleState) {
+ audio->stop();
+ inputFile.close();
+ }
+ }
+ \endcode
+
+ At any given time, the QAudioOutput will be in one of four states:
+ active, suspended, stopped, or idle. These states are described
+ by the QAudio::State enum.
+ State changes are reported through the stateChanged() signal. You
+ can use this signal to, for instance, update the GUI of the
+ application; the mundane example here being changing the state of
+ a \c { play/pause } button. You request a state change directly
+ with suspend(), stop(), reset(), resume(), and start().
+
+ While the stream is playing, you can set a notify interval in
+ milliseconds with setNotifyInterval(). This interval specifies the
+ time between two emissions of the notify() signal. This is
+ relative to the position in the stream, i.e., if the QAudioOutput
+ is in the SuspendedState or the IdleState, the notify() signal is
+ not emitted. A typical use-case would be to update a
+ \l{QSlider}{slider} that allows seeking in the stream.
+ If you want the time since playback started regardless of which
+ states the audio output has been in, clock() is the function for you.
+
+ If an error occurs, you can fetch the \l{QAudio::Error}{error
+ type} with the error() function. Please see the QAudio::Error enum
+ for a description of the possible errors that are reported.
+
+ If an error is encountered state changes to QAudio::StopState.
+
+ \sa QAudioInput, QAudioDeviceInfo
+*/
+
+/*!
+ Construct a new audio output and attach it to \a parent.
+ The default audio output device is used with the output
+ \a format parameters.
+*/
+
+QAudioOutput::QAudioOutput(const QAudioFormat &format, QObject *parent):
+ QObject(parent)
+{
+ d = QAudioDeviceFactory::createDefaultOutputDevice(format);
+ connect(d, SIGNAL(notify()), SIGNAL(notify()));
+ connect(d, SIGNAL(stateChanged(QAudio::State)), SIGNAL(stateChanged(QAudio::State)));
+}
+
+/*!
+ Construct a new audio output and attach it to \a parent.
+ The \a id of the audio output device is used with the output
+ \a format parameters.
+*/
+
+QAudioOutput::QAudioOutput(const QAudioDeviceId &id, const QAudioFormat &format, QObject *parent):
+ QObject(parent)
+{
+ d = QAudioDeviceFactory::createOutputDevice(id, format);
+ connect(d, SIGNAL(notify()), SIGNAL(notify()));
+ connect(d, SIGNAL(stateChanged(QAudio::State)), SIGNAL(stateChanged(QAudio::State)));
+}
+
+/*!
+ Destroys this audio output.
+*/
+
+QAudioOutput::~QAudioOutput()
+{
+ delete d;
+}
+
+/*!
+ Returns the QAudioFormat being used.
+
+*/
+
+QAudioFormat QAudioOutput::format() const
+{
+ return d->format();
+}
+
+/*!
+ Uses the \a device as the QIODevice to transfer data.
+ If \a device is null then the class creates an internal QIODevice.
+ Returns a pointer to the QIODevice being used to handle the data
+ transfer. This QIODevice can be used to write() audio data
+ directly.
+ Passing a QIODevice allows the data to be transfered without any extra code.
+ All that is required is to open the QIODevice.
+
+ /sa QIODevice
+*/
+
+QIODevice* QAudioOutput::start(QIODevice* device)
+{
+ /*
+ PULL MODE (valid QIODevice)
+ -If currently not StopState, stop.
+ -If previous start was push mode, delete internal QIODevice.
+ -open audio output.
+ -If ok, NoError and ActiveState, else OpenError and StopState
+ -emit stateChanged()
+ -return device
+
+ PUSH MODE (device = 0)
+ -If currently not StopState, stop.
+ -If no internal QIODevice, create one.
+ -open audio output.
+ -If ok, NoError and IdleState, else OpenError and StopState
+ -emit stateChanged()
+ -return internal QIODevice
+ */
+ return d->start(device);
+}
+
+/*!
+ Stops the audio output.
+*/
+
+void QAudioOutput::stop()
+{
+ /*
+ -If StopState, return
+ -set to StopState
+ -detach from audio device
+ -emit stateChanged()
+ */
+ d->stop();
+}
+
+/*!
+ Drops all audio data in the buffers, resets buffers to zero.
+*/
+
+void QAudioOutput::reset()
+{
+ /*
+ -drop all buffered audio, set buffers to zero.
+ -call stop()
+ */
+ d->reset();
+}
+
+/*!
+ Stops processing audio data, preserving buffered audio data.
+*/
+
+void QAudioOutput::suspend()
+{
+ /*
+ -If not ActiveState|IdleState, return
+ -stop processing audio, saving all buffered audio data
+ -set NoError and SuspendState
+ -emit stateChanged()
+ */
+ d->suspend();
+}
+
+/*!
+ Resumes processing audio data after a suspend().
+*/
+
+void QAudioOutput::resume()
+{
+ /*
+ -If SuspendState, return
+ -resume audio
+ -(PULL MODE): set ActiveState, NoError
+ -(PUSH MODE): set IdleState, NoError
+ -kick start audio if needed
+ -emit stateChanged()
+ */
+ d->resume();
+}
+
+/*!
+ Returns the free space available in bytes in the audio buffer.
+*/
+
+int QAudioOutput::bytesFree() const
+{
+ /*
+ -If not ActiveState|IdleState, return 0
+ -return space available in audio buffer in bytes
+ */
+ return d->bytesFree();
+}
+
+/*!
+ Returns the period size in bytes.
+
+ Note: This is the recommended write size in bytes.
+*/
+
+int QAudioOutput::periodSize() const
+{
+ return d->periodSize();
+}
+
+/*!
+ Sets the audio buffer size to \a value in bytes.
+
+ Note: This function can be called anytime before start(), calls to this
+ are ignored after start(). It should not be assumed that the buffer size
+ set is the actual buffer size used, calling bufferSize() anytime after start()
+ will return the actual buffer size being used.
+*/
+
+void QAudioOutput::setBufferSize(int value)
+{
+ d->setBufferSize(value);
+}
+
+/*!
+ Returns the audio buffer size in bytes.
+
+ If called before start(), returns platform default value.
+ If called before start() but setBufferSize() was called prior, returns value set by setBufferSize().
+ If called after start(), returns the actual buffer size being used. This may not be what was set previously
+ by setBufferSize().
+
+*/
+
+int QAudioOutput::bufferSize() const
+{
+ return d->bufferSize();
+}
+
+/*!
+ Sets the interval for notify() signal to be emitted.
+ This is based on the \a ms of audio data processed
+ not on actual real-time. The resolution of the timer is platform specific.
+*/
+
+void QAudioOutput::setNotifyInterval(int ms)
+{
+ d->setNotifyInterval(ms);
+}
+
+/*!
+ Returns the notify interval in milliseconds.
+*/
+
+int QAudioOutput::notifyInterval() const
+{
+ return d->notifyInterval();
+}
+
+/*!
+ Returns the amount of audio data processed since start()
+ was called in microseconds.
+*/
+
+qint64 QAudioOutput::totalTime() const
+{
+ return d->totalTime();
+}
+
+/*!
+ Returns the microseconds since start() was called, including time in Idle and
+ Suspend states.
+*/
+
+qint64 QAudioOutput::clock() const
+{
+ return d->clock();
+}
+
+/*!
+ Returns the error state.
+*/
+
+QAudio::Error QAudioOutput::error() const
+{
+ return d->error();
+}
+
+/*!
+ Returns the state of audio processing.
+*/
+
+QAudio::State QAudioOutput::state() const
+{
+ return d->state();
+}
+
+/*!
+ \fn QAudioOutput::stateChanged(QAudio::State state)
+ This signal is emitted when the device \a state has changed.
+ This is the current state of the audio output.
+*/
+
+/*!
+ \fn QAudioOutput::notify()
+ This signal is emitted when x ms of audio data has been processed
+ the interval set by setNotifyInterval(x).
+*/
+
+QT_END_NAMESPACE
diff --git a/src/multimedia/audio/qaudiooutput.h b/src/multimedia/audio/qaudiooutput.h
new file mode 100644
index 0000000..95e28ea
--- /dev/null
+++ b/src/multimedia/audio/qaudiooutput.h
@@ -0,0 +1,109 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtMultimedia module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+
+#ifndef QAUDIOOUTPUT_H
+#define QAUDIOOUTPUT_H
+
+#include <QtCore/qiodevice.h>
+#include <QtCore/qglobal.h>
+
+#include <QtMultimedia/qaudio.h>
+#include <QtMultimedia/qaudioformat.h>
+#include <QtMultimedia/qaudiodeviceid.h>
+
+
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+QT_MODULE(Multimedia)
+
+
+class QAbstractAudioOutput;
+
+class Q_MULTIMEDIA_EXPORT QAudioOutput : public QObject
+{
+ Q_OBJECT
+
+public:
+ explicit QAudioOutput(const QAudioFormat &format = QAudioFormat(), QObject *parent = 0);
+ explicit QAudioOutput(const QAudioDeviceId &id, const QAudioFormat &format = QAudioFormat(), QObject *parent = 0);
+ ~QAudioOutput();
+
+ QAudioFormat format() const;
+
+ QIODevice* start(QIODevice *device = 0);
+ void stop();
+ void reset();
+ void suspend();
+ void resume();
+
+ void setBufferSize(int bytes);
+ int bufferSize() const;
+
+ int bytesFree() const;
+ int periodSize() const;
+
+ void setNotifyInterval(int milliSeconds);
+ int notifyInterval() const;
+
+ qint64 totalTime() const;
+ qint64 clock() const;
+
+ QAudio::Error error() const;
+ QAudio::State state() const;
+
+Q_SIGNALS:
+ void stateChanged(QAudio::State);
+ void notify();
+
+private:
+ Q_DISABLE_COPY(QAudioOutput)
+
+ QAbstractAudioOutput* d;
+};
+
+QT_END_NAMESPACE
+
+QT_END_HEADER
+
+#endif // QAUDIOOUTPUT_H
diff --git a/src/multimedia/audio/qaudiooutput_alsa_p.cpp b/src/multimedia/audio/qaudiooutput_alsa_p.cpp
new file mode 100644
index 0000000..d41c449
--- /dev/null
+++ b/src/multimedia/audio/qaudiooutput_alsa_p.cpp
@@ -0,0 +1,706 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtMultimedia module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists for the convenience
+// of other Qt classes. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
+#include <QtCore/qcoreapplication.h>
+#include "qaudiooutput_alsa_p.h"
+
+//#define DEBUG_AUDIO 1
+
+QAudioOutputPrivate::QAudioOutputPrivate(const QByteArray &device, const QAudioFormat& audioFormat):
+ settings(audioFormat)
+{
+ bytesAvailable = 0;
+ handle = 0;
+ ahandler = 0;
+ access = SND_PCM_ACCESS_RW_INTERLEAVED;
+ pcmformat = SND_PCM_FORMAT_S16;
+ buffer_frames = 0;
+ period_frames = 0;
+ buffer_size = 0;
+ period_size = 0;
+ buffer_time = 100000;
+ period_time = 20000;
+ totalTimeValue = 0;
+ intervalTime = 1000;
+ audioBuffer = 0;
+ errorState = QAudio::NoError;
+ deviceState = QAudio::StopState;
+ audioSource = 0;
+ pullMode = true;
+ resuming = false;
+ opened = false;
+
+ QStringList list1 = QString(tr(device)).split(tr(":"));
+ m_device = QByteArray(list1.at(0).toLocal8Bit().constData());
+
+ timer = new QTimer(this);
+ connect(timer,SIGNAL(timeout()),SLOT(userFeed()));
+}
+
+QAudioOutputPrivate::~QAudioOutputPrivate()
+{
+ close();
+ disconnect(timer, SIGNAL(timeout()));
+ QCoreApplication::processEvents();
+ delete timer;
+}
+
+QAudio::Error QAudioOutputPrivate::error() const
+{
+ return errorState;
+}
+
+QAudio::State QAudioOutputPrivate::state() const
+{
+ return deviceState;
+}
+
+void QAudioOutputPrivate::async_callback(snd_async_handler_t *ahandler)
+{
+ QAudioOutputPrivate* audioOut;
+
+ audioOut = static_cast<QAudioOutputPrivate*>
+ (snd_async_handler_get_callback_private(ahandler));
+
+ if((audioOut->deviceState==QAudio::ActiveState)||(audioOut->resuming))
+ audioOut->feedback();
+}
+
+int QAudioOutputPrivate::xrun_recovery(int err)
+{
+ int count = 0;
+ bool reset = false;
+
+ if(err == -EPIPE) {
+ errorState = QAudio::UnderrunError;
+ err = snd_pcm_prepare(handle);
+ if(err < 0)
+ reset = true;
+
+ } else if((err == -ESTRPIPE)||(err == -EIO)) {
+ errorState = QAudio::IOError;
+ while((err = snd_pcm_resume(handle)) == -EAGAIN){
+ usleep(100);
+ count++;
+ if(count > 5) {
+ reset = true;
+ break;
+ }
+ }
+ if(err < 0) {
+ err = snd_pcm_prepare(handle);
+ if(err < 0)
+ reset = true;
+ }
+ }
+ if(reset) {
+ close();
+ open();
+ snd_pcm_prepare(handle);
+ return 0;
+ }
+ return err;
+}
+
+int QAudioOutputPrivate::setFormat()
+{
+ snd_pcm_format_t pcmformat = SND_PCM_FORMAT_S16;
+
+ if(settings.sampleSize() == 8) {
+ pcmformat = SND_PCM_FORMAT_U8;
+
+ } else if(settings.sampleSize() == 16) {
+ if(settings.sampleType() == QAudioFormat::SignedInt) {
+ if(settings.byteOrder() == QAudioFormat::LittleEndian)
+ pcmformat = SND_PCM_FORMAT_S16_LE;
+ else
+ pcmformat = SND_PCM_FORMAT_S16_BE;
+ } else if(settings.sampleType() == QAudioFormat::UnSignedInt) {
+ if(settings.byteOrder() == QAudioFormat::LittleEndian)
+ pcmformat = SND_PCM_FORMAT_U16_LE;
+ else
+ pcmformat = SND_PCM_FORMAT_U16_BE;
+ }
+ } else if(settings.sampleSize() == 24) {
+ if(settings.sampleType() == QAudioFormat::SignedInt) {
+ if(settings.byteOrder() == QAudioFormat::LittleEndian)
+ pcmformat = SND_PCM_FORMAT_S24_LE;
+ else
+ pcmformat = SND_PCM_FORMAT_S24_BE;
+ } else if(settings.sampleType() == QAudioFormat::UnSignedInt) {
+ if(settings.byteOrder() == QAudioFormat::LittleEndian)
+ pcmformat = SND_PCM_FORMAT_U24_LE;
+ else
+ pcmformat = SND_PCM_FORMAT_U24_BE;
+ }
+ } else if(settings.sampleSize() == 32) {
+ if(settings.sampleType() == QAudioFormat::SignedInt) {
+ if(settings.byteOrder() == QAudioFormat::LittleEndian)
+ pcmformat = SND_PCM_FORMAT_S32_LE;
+ else
+ pcmformat = SND_PCM_FORMAT_S32_BE;
+ } else if(settings.sampleType() == QAudioFormat::UnSignedInt) {
+ if(settings.byteOrder() == QAudioFormat::LittleEndian)
+ pcmformat = SND_PCM_FORMAT_U32_LE;
+ else
+ pcmformat = SND_PCM_FORMAT_U32_BE;
+ } else if(settings.sampleType() == QAudioFormat::Float) {
+ if(settings.byteOrder() == QAudioFormat::LittleEndian)
+ pcmformat = SND_PCM_FORMAT_FLOAT_LE;
+ else
+ pcmformat = SND_PCM_FORMAT_FLOAT_BE;
+ }
+ } else if(settings.sampleSize() == 64) {
+ if(settings.byteOrder() == QAudioFormat::LittleEndian)
+ pcmformat = SND_PCM_FORMAT_FLOAT64_LE;
+ else
+ pcmformat = SND_PCM_FORMAT_FLOAT64_BE;
+ }
+
+ return snd_pcm_hw_params_set_format( handle, hwparams, pcmformat);
+}
+
+QIODevice* QAudioOutputPrivate::start(QIODevice* device)
+{
+ if(deviceState != QAudio::StopState)
+ deviceState = QAudio::StopState;
+
+ errorState = QAudio::NoError;
+
+ // Handle change of mode
+ if(audioSource && pullMode && !device) {
+ // pull -> push
+ close();
+ audioSource = 0;
+ } else if(audioSource && !pullMode && device) {
+ // push -> pull
+ close();
+ delete audioSource;
+ audioSource = 0;
+ }
+
+ if(device) {
+ //set to pull mode
+ pullMode = true;
+ audioSource = device;
+ deviceState = QAudio::ActiveState;
+ } else {
+ //set to push mode
+ if(!audioSource) {
+ audioSource = new OutputPrivate(this);
+ audioSource->open(QIODevice::WriteOnly|QIODevice::Unbuffered);
+ }
+ pullMode = false;
+ deviceState = QAudio::IdleState;
+ }
+
+ open();
+
+ emit stateChanged(deviceState);
+
+ return audioSource;
+}
+
+void QAudioOutputPrivate::stop()
+{
+ if(deviceState == QAudio::StopState)
+ return;
+ deviceState = QAudio::StopState;
+ close();
+ emit stateChanged(deviceState);
+}
+
+bool QAudioOutputPrivate::open()
+{
+ if(opened)
+ return true;
+
+#ifdef DEBUG_AUDIO
+ QTime now(QTime::currentTime());
+ qDebug()<<now.second()<<"s "<<now.msec()<<"ms :open()";
+#endif
+ timeStamp.restart();
+
+ int dir;
+ int err=-1;
+ int count=0;
+ unsigned int freakuency=settings.frequency();
+
+ QString dev = tr(m_device.constData());
+ if(!dev.contains(tr("default"))) {
+ dev = QString(tr("default:CARD=%1")).arg(tr(m_device.constData()));
+ }
+ // Step 1: try and open the device
+ while((count < 5) && (err < 0)) {
+ err=snd_pcm_open(&handle,dev.toLocal8Bit().constData(),SND_PCM_STREAM_PLAYBACK,0);
+ if(err < 0)
+ count++;
+ }
+ if (( err < 0)||(handle == 0)) {
+ errorState = QAudio::OpenError;
+ deviceState = QAudio::StopState;
+ return false;
+ }
+ snd_pcm_nonblock( handle, 0 );
+
+ // Step 2: Set the desired HW parameters.
+ snd_pcm_hw_params_alloca( &hwparams );
+
+ bool fatal = false;
+ QString errMessage;
+ unsigned int chunks = 8;
+
+ err = snd_pcm_hw_params_any( handle, hwparams );
+ if ( err < 0 ) {
+ fatal = true;
+ errMessage = QString(tr("QAudioOutput: snd_pcm_hw_params_any: err = %1")).arg(err);
+ }
+ if ( !fatal ) {
+ err = snd_pcm_hw_params_set_rate_resample( handle, hwparams, 1 );
+ if ( err < 0 ) {
+ fatal = true;
+ errMessage = QString(tr("QAudioOutput: snd_pcm_hw_params_set_rate_resample: err = %1")).arg(err);
+ }
+ }
+ if ( !fatal ) {
+ err = snd_pcm_hw_params_set_access( handle, hwparams, access );
+ if ( err < 0 ) {
+ fatal = true;
+ errMessage = QString(tr("QAudioOutput: snd_pcm_hw_params_set_access: err = %1")).arg(err);
+ }
+ }
+ if ( !fatal ) {
+ err = setFormat();
+ if ( err < 0 ) {
+ fatal = true;
+ errMessage = QString(tr("QAudioOutput: snd_pcm_hw_params_set_format: err = %1")).arg(err);
+ }
+ }
+ if ( !fatal ) {
+ err = snd_pcm_hw_params_set_channels( handle, hwparams, (unsigned int)settings.channels() );
+ if ( err < 0 ) {
+ fatal = true;
+ errMessage = QString(tr("QAudioOutput: snd_pcm_hw_params_set_channels: err = %1")).arg(err);
+ }
+ }
+ if ( !fatal ) {
+ err = snd_pcm_hw_params_set_rate_near( handle, hwparams, &freakuency, 0 );
+ if ( err < 0 ) {
+ fatal = true;
+ errMessage = QString(tr("QAudioOutput: snd_pcm_hw_params_set_rate_near: err = %1")).arg(err);
+ }
+ }
+ if ( !fatal ) {
+ err = snd_pcm_hw_params_set_buffer_time_near(handle, hwparams, &buffer_time, &dir);
+ if ( err < 0 ) {
+ fatal = true;
+ errMessage = QString(tr("QAudioOutput: snd_pcm_hw_params_set_buffer_time_near: err = %1")).arg(err);
+ }
+ }
+ if ( !fatal ) {
+ err = snd_pcm_hw_params_set_period_time_near(handle, hwparams, &period_time, &dir);
+ if ( err < 0 ) {
+ fatal = true;
+ errMessage = QString(tr("QAudioOutput: snd_pcm_hw_params_set_period_time_near: err = %1")).arg(err);
+ }
+ }
+ if ( !fatal ) {
+ err = snd_pcm_hw_params_set_periods_near(handle, hwparams, &chunks, &dir);
+ if ( err < 0 ) {
+ fatal = true;
+ errMessage = QString(tr("QAudioOutput: snd_pcm_hw_params_set_periods_near: err = %1")).arg(err);
+ }
+ }
+ if ( !fatal ) {
+ err = snd_pcm_hw_params(handle, hwparams);
+ if ( err < 0 ) {
+ fatal = true;
+ errMessage = QString(tr("QAudioOutput: snd_pcm_hw_params: err = %1")).arg(err);
+ }
+ }
+ if( err < 0) {
+ qWarning()<<errMessage;
+ errorState = QAudio::OpenError;
+ deviceState = QAudio::StopState;
+ return false;
+ }
+ snd_pcm_hw_params_get_buffer_size(hwparams,&buffer_frames);
+ buffer_size = snd_pcm_frames_to_bytes(handle,buffer_frames);
+ snd_pcm_hw_params_get_period_size(hwparams,&period_frames, &dir);
+ period_size = snd_pcm_frames_to_bytes(handle,period_frames);
+ snd_pcm_hw_params_get_buffer_time(hwparams,&buffer_time, &dir);
+ snd_pcm_hw_params_get_period_time(hwparams,&period_time, &dir);
+
+ // Step 3: Set the desired SW parameters.
+ snd_pcm_sw_params_t *swparams;
+ snd_pcm_sw_params_alloca(&swparams);
+ snd_pcm_sw_params_current(handle, swparams);
+ snd_pcm_sw_params_set_start_threshold(handle,swparams,period_frames);
+ snd_pcm_sw_params_set_stop_threshold(handle,swparams,buffer_frames);
+ snd_pcm_sw_params_set_avail_min(handle, swparams,period_frames);
+ snd_pcm_sw_params(handle, swparams);
+
+ // Step 4: Prepare audio
+ if(audioBuffer == 0)
+ audioBuffer = new char[snd_pcm_frames_to_bytes(handle,buffer_frames)];
+ snd_pcm_prepare( handle );
+ snd_pcm_start(handle);
+
+ // Step 5: Setup callback and timer fallback
+ snd_async_add_pcm_handler(&ahandler, handle, async_callback, this);
+ bytesAvailable = bytesFree();
+
+ // Step 6: Start audio processing
+ timer->start(period_time/1000);
+
+ errorState = QAudio::NoError;
+ totalTimeValue = 0;
+ opened = true;
+
+ return true;
+}
+
+void QAudioOutputPrivate::close()
+{
+ deviceState = QAudio::StopState;
+ timer->stop();
+
+ if ( handle ) {
+ snd_pcm_drain( handle );
+ snd_pcm_close( handle );
+ handle = 0;
+ delete [] audioBuffer;
+ audioBuffer=0;
+ }
+ if(!pullMode && audioSource) {
+ delete audioSource;
+ audioSource = 0;
+ }
+ opened = false;
+}
+
+int QAudioOutputPrivate::bytesFree() const
+{
+ if(resuming)
+ return period_size;
+
+ if(deviceState != QAudio::ActiveState && deviceState != QAudio::IdleState)
+ return 0;
+ int frames = snd_pcm_avail_update(handle);
+ if((int)frames > (int)buffer_frames)
+ frames = buffer_frames;
+
+ return snd_pcm_frames_to_bytes(handle, frames);
+}
+
+qint64 QAudioOutputPrivate::write( const char *data, qint64 len )
+{
+ // Write out some audio data
+ if ( !handle )
+ return 0;
+#ifdef DEBUG_AUDIO
+ qDebug()<<"frames to write out = "<<
+ snd_pcm_bytes_to_frames( handle, (int)len )<<" ("<<len<<") bytes";
+#endif
+ int frames, err;
+ int space = bytesFree();
+ if(len < space) {
+ // Just write it
+ frames = snd_pcm_bytes_to_frames( handle, (int)len );
+ err = snd_pcm_writei( handle, data, frames );
+ } else {
+ // Only write space worth
+ frames = snd_pcm_bytes_to_frames( handle, (int)space );
+ err = snd_pcm_writei( handle, data, frames );
+ }
+ if(err > 0) {
+ totalTimeValue += err*1000000/settings.frequency();
+ resuming = false;
+ errorState = QAudio::NoError;
+ deviceState = QAudio::ActiveState;
+ return snd_pcm_frames_to_bytes( handle, err );
+ } else
+ err = xrun_recovery(err);
+
+ if(err < 0) {
+ close();
+ errorState = QAudio::FatalError;
+ deviceState = QAudio::StopState;
+ emit stateChanged(deviceState);
+ }
+ return 0;
+}
+
+int QAudioOutputPrivate::periodSize() const
+{
+ return period_size;
+}
+
+void QAudioOutputPrivate::setBufferSize(int value)
+{
+ if(deviceState == QAudio::StopState)
+ buffer_size = value;
+}
+
+int QAudioOutputPrivate::bufferSize() const
+{
+ return buffer_size;
+}
+
+void QAudioOutputPrivate::setNotifyInterval(int ms)
+{
+ intervalTime = ms;
+}
+
+int QAudioOutputPrivate::notifyInterval() const
+{
+ return intervalTime;
+}
+
+qint64 QAudioOutputPrivate::totalTime() const
+{
+ return totalTimeValue;
+}
+
+void QAudioOutputPrivate::resume()
+{
+ if(deviceState == QAudio::SuspendState) {
+ int err = 0;
+
+ if(handle) {
+ err = snd_pcm_prepare( handle );
+ if(err < 0)
+ xrun_recovery(err);
+
+ err = snd_pcm_start(handle);
+ if(err < 0)
+ xrun_recovery(err);
+
+ bytesAvailable = (int)snd_pcm_frames_to_bytes(handle, buffer_frames);
+ }
+ resuming = true;
+ if(pullMode)
+ deviceState = QAudio::ActiveState;
+ else
+ deviceState = QAudio::IdleState;
+
+ errorState = QAudio::NoError;
+ timer->start(period_time/1000);
+ emit stateChanged(deviceState);
+ }
+}
+
+QAudioFormat QAudioOutputPrivate::format() const
+{
+ return settings;
+}
+
+void QAudioOutputPrivate::suspend()
+{
+ if(deviceState == QAudio::ActiveState || deviceState == QAudio::IdleState || resuming) {
+ timer->stop();
+ deviceState = QAudio::SuspendState;
+ errorState = QAudio::NoError;
+ emit stateChanged(deviceState);
+ }
+}
+
+void QAudioOutputPrivate::userFeed()
+{
+ if(deviceState == QAudio::StopState || deviceState == QAudio::SuspendState)
+ return;
+#ifdef DEBUG_AUDIO
+ QTime now(QTime::currentTime());
+ qDebug()<<now.second()<<"s "<<now.msec()<<"ms :userFeed() OUT";
+#endif
+ if(deviceState == QAudio::IdleState)
+ bytesAvailable = bytesFree();
+
+ deviceReady();
+}
+
+void QAudioOutputPrivate::feedback()
+{
+ QMetaObject::invokeMethod(this, SLOT(updateAvailable()), Qt::QueuedConnection);
+}
+
+void QAudioOutputPrivate::updateAvailable()
+{
+#ifdef DEBUG_AUDIO
+ QTime now(QTime::currentTime());
+ qDebug()<<now.second()<<"s "<<now.msec()<<"ms :updateAvailable()";
+#endif
+ bytesAvailable = bytesFree();
+}
+
+bool QAudioOutputPrivate::deviceReady()
+{
+ if(pullMode) {
+ int l = 0;
+ int chunks = bytesAvailable/period_size;
+ if(chunks==0) {
+ bytesAvailable = bytesFree();
+ return false;
+ }
+#ifdef DEBUG_AUDIO
+ qDebug()<<"deviceReady() avail="<<bytesAvailable<<" bytes, period size="<<period_size<<" bytes";
+ qDebug()<<"deviceReady() no. of chunks that can fit ="<<chunks<<", chunks in bytes ="<<period_size*chunks;
+#endif
+ int input = period_frames*chunks;
+ if(input > (int)buffer_frames)
+ input = buffer_frames;
+ l = audioSource->read(audioBuffer,snd_pcm_frames_to_bytes(handle, input));
+ if(l > 0) {
+ // Got some data to output
+ if(deviceState != QAudio::ActiveState)
+ return true;
+ write(audioBuffer,l);
+ bytesAvailable = bytesFree();
+
+ } else if(l == 0) {
+ // Did not get any data to output
+ bytesAvailable = bytesFree();
+ if(bytesAvailable > snd_pcm_frames_to_bytes(handle, buffer_frames-period_frames)) {
+ // Underrun
+ errorState = QAudio::UnderrunError;
+ deviceState = QAudio::IdleState;
+ emit stateChanged(deviceState);
+ }
+
+ } else if(l < 0) {
+ close();
+ errorState = QAudio::IOError;
+ emit stateChanged(deviceState);
+ }
+ } else
+ bytesAvailable = bytesFree();
+
+ if(deviceState != QAudio::ActiveState)
+ return true;
+
+ if(timeStamp.elapsed() > intervalTime && intervalTime > 50) {
+ emit notify();
+ timeStamp.restart();
+ }
+ return true;
+}
+
+qint64 QAudioOutputPrivate::clock() const
+{
+ if(!handle)
+ return 0;
+
+ if(deviceState != QAudio::ActiveState)
+ return 0;
+
+ snd_pcm_status_t* status;
+ snd_pcm_status_alloca(&status);
+
+ snd_timestamp_t t1,t2;
+ if( snd_pcm_status(handle, status) >= 0) {
+ snd_pcm_status_get_tstamp(status,&t1);
+ snd_pcm_status_get_trigger_tstamp(status,&t2);
+ t1.tv_sec-=t2.tv_sec;
+
+ signed long l = (signed long)t1.tv_usec - (signed long)t2.tv_usec;
+ if(l < 0) {
+ t1.tv_sec--;
+ l = -l;
+ l %= 1000000;
+ }
+ return ((t1.tv_sec * 1000)+l/1000);
+ } else
+ return 0;
+ return 0;
+}
+
+void QAudioOutputPrivate::reset()
+{
+ if(handle)
+ snd_pcm_reset(handle);
+
+ stop();
+}
+
+OutputPrivate::OutputPrivate(QAudioOutputPrivate* audio)
+{
+ audioDevice = qobject_cast<QAudioOutputPrivate*>(audio);
+}
+
+OutputPrivate::~OutputPrivate() {}
+
+qint64 OutputPrivate::readData( char* data, qint64 len)
+{
+ Q_UNUSED(data)
+ Q_UNUSED(len)
+
+ return 0;
+}
+
+qint64 OutputPrivate::writeData(const char* data, qint64 len)
+{
+ int retry = 0;
+ qint64 written = 0;
+ if((audioDevice->deviceState == QAudio::ActiveState)
+ ||(audioDevice->deviceState == QAudio::IdleState)) {
+ while(written < len) {
+ int chunk = audioDevice->write(data+written,(len-written));
+ if(chunk <= 0)
+ retry++;
+ written+=chunk;
+ if(retry > 10)
+ return written;
+ }
+ }
+ return written;
+
+}
diff --git a/src/multimedia/audio/qaudiooutput_alsa_p.h b/src/multimedia/audio/qaudiooutput_alsa_p.h
new file mode 100644
index 0000000..f243bad
--- /dev/null
+++ b/src/multimedia/audio/qaudiooutput_alsa_p.h
@@ -0,0 +1,159 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtMultimedia module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists for the convenience
+// of other Qt classes. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
+#ifndef QAUDIOOUTPUTALSA_H
+#define QAUDIOOUTPUTALSA_H
+
+#include <alsa/asoundlib.h>
+
+#include <QtCore/qfile.h>
+#include <QtCore/qdebug.h>
+#include <QtCore/qtimer.h>
+#include <QtCore/qstring.h>
+#include <QtCore/qstringlist.h>
+#include <QtCore/qdatetime.h>
+
+#include <QtMultimedia/qaudio.h>
+#include <QtMultimedia/qaudiodeviceinfo.h>
+#include <QtMultimedia/qaudioengine.h>
+
+class OutputPrivate;
+
+class QAudioOutputPrivate : public QAbstractAudioOutput
+{
+ friend class OutputPrivate;
+ Q_OBJECT
+public:
+ QAudioOutputPrivate(const QByteArray &device, const QAudioFormat& audioFormat);
+ ~QAudioOutputPrivate();
+
+ qint64 write( const char *data, qint64 len );
+
+ QIODevice* start(QIODevice* device = 0);
+ void stop();
+ void reset();
+ void suspend();
+ void resume();
+ int bytesFree() const;
+ int periodSize() const;
+ void setBufferSize(int value);
+ int bufferSize() const;
+ void setNotifyInterval(int milliSeconds);
+ int notifyInterval() const;
+ qint64 totalTime() const;
+ qint64 clock() const;
+ QAudio::Error error() const;
+ QAudio::State state() const;
+ QAudioFormat format() const;
+
+ QIODevice* audioSource;
+ QAudioFormat settings;
+ QAudio::Error errorState;
+ QAudio::State deviceState;
+
+private slots:
+ void userFeed();
+ void feedback();
+ void updateAvailable();
+ bool deviceReady();
+
+signals:
+ void processMore();
+
+private:
+ bool opened;
+ bool pullMode;
+ bool resuming;
+ int buffer_size;
+ int period_size;
+ int intervalTime;
+ qint64 totalTimeValue;
+ unsigned int buffer_time;
+ unsigned int period_time;
+ snd_pcm_uframes_t buffer_frames;
+ snd_pcm_uframes_t period_frames;
+ static void async_callback(snd_async_handler_t *ahandler);
+ int xrun_recovery(int err);
+
+ int setFormat();
+ bool open();
+ void close();
+
+ QTimer* timer;
+ QByteArray m_device;
+ int bytesAvailable;
+ QTime timeStamp;
+ char* audioBuffer;
+ snd_pcm_t* handle;
+ snd_async_handler_t* ahandler;
+ snd_pcm_access_t access;
+ snd_pcm_format_t pcmformat;
+ snd_timestamp_t* timestamp;
+ snd_pcm_hw_params_t *hwparams;
+};
+
+class OutputPrivate : public QIODevice
+{
+ friend class QAudioOutputPrivate;
+ Q_OBJECT
+public:
+ OutputPrivate(QAudioOutputPrivate* audio);
+ ~OutputPrivate();
+
+ qint64 readData( char* data, qint64 len);
+ qint64 writeData(const char* data, qint64 len);
+
+private:
+ QAudioOutputPrivate *audioDevice;
+};
+
+#endif
diff --git a/src/multimedia/audio/qaudiooutput_mac_p.cpp b/src/multimedia/audio/qaudiooutput_mac_p.cpp
new file mode 100644
index 0000000..0d6e615
--- /dev/null
+++ b/src/multimedia/audio/qaudiooutput_mac_p.cpp
@@ -0,0 +1,700 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtMultimedia module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists for the convenience
+// of other Qt classes. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
+#include <CoreServices/CoreServices.h>
+#include <CoreAudio/CoreAudio.h>
+#include <AudioUnit/AudioUnit.h>
+#include <AudioToolbox/AudioToolbox.h>
+
+#include <QtCore/qendian.h>
+#include <QtCore/qbuffer.h>
+#include <QtCore/qtimer.h>
+#include <QtCore/qdebug.h>
+
+#include <QtMultimedia/qaudiodeviceinfo.h>
+#include <QtMultimedia/qaudiooutput.h>
+
+#include "qaudio_mac_p.h"
+#include "qaudiooutput_mac_p.h"
+
+
+QT_BEGIN_NAMESPACE
+
+
+namespace
+{
+
+static const int default_buffer_size = 8 * 1024;
+
+
+class QAudioOutputBuffer : public QObject
+{
+ Q_OBJECT
+
+public:
+ QAudioOutputBuffer(int bufferSize, int maxPeriodSize, QAudioFormat const& audioFormat):
+ m_deviceError(false),
+ m_maxPeriodSize(maxPeriodSize),
+ m_device(0)
+ {
+ m_buffer = new QAudioRingBuffer(bufferSize + (bufferSize % maxPeriodSize == 0 ? 0 : maxPeriodSize - (bufferSize % maxPeriodSize)));
+ m_bytesPerFrame = (audioFormat.sampleSize() / 8) * audioFormat.channels();
+ m_periodTime = m_maxPeriodSize / m_bytesPerFrame * 1000 / audioFormat.frequency();
+
+ m_fillTimer = new QTimer(this);
+ connect(m_fillTimer, SIGNAL(timeout()), SLOT(fillBuffer()));
+ }
+
+ ~QAudioOutputBuffer()
+ {
+ delete m_buffer;
+ }
+
+ qint64 readFrames(char* data, qint64 maxFrames)
+ {
+ bool wecan = true;
+ qint64 framesRead = 0;
+
+ while (wecan && framesRead < maxFrames) {
+ QAudioRingBuffer::Region region = m_buffer->acquireReadRegion((maxFrames - framesRead) * m_bytesPerFrame);
+
+ if (region.second > 0) {
+ region.second -= region.second % m_bytesPerFrame;
+ memcpy(data + (framesRead * m_bytesPerFrame), region.first, region.second);
+ framesRead += region.second / m_bytesPerFrame;
+ }
+ else
+ wecan = false;
+
+ m_buffer->releaseReadRegion(region);
+ }
+
+ if (framesRead == 0 && m_deviceError)
+ framesRead = -1;
+
+ return framesRead;
+ }
+
+ qint64 writeBytes(const char* data, qint64 maxSize)
+ {
+ bool wecan = true;
+ qint64 bytesWritten = 0;
+
+ maxSize -= maxSize % m_bytesPerFrame;
+ while (wecan && bytesWritten < maxSize) {
+ QAudioRingBuffer::Region region = m_buffer->acquireWriteRegion(maxSize - bytesWritten);
+
+ if (region.second > 0) {
+ memcpy(region.first, data + bytesWritten, region.second);
+ bytesWritten += region.second;
+ }
+ else
+ wecan = false;
+
+ m_buffer->releaseWriteRegion(region);
+ }
+
+ if (bytesWritten > 0)
+ emit readyRead();
+
+ return bytesWritten;
+ }
+
+ int available() const
+ {
+ return m_buffer->free();
+ }
+
+ void reset()
+ {
+ m_buffer->reset();
+ m_deviceError = false;
+ }
+
+ void setPrefetchDevice(QIODevice* device)
+ {
+ if (m_device != device) {
+ m_device = device;
+ if (m_device != 0)
+ fillBuffer();
+ }
+ }
+
+ void startFillTimer()
+ {
+ if (m_device != 0)
+ m_fillTimer->start(m_buffer->size() / 2 / m_maxPeriodSize * m_periodTime);
+ }
+
+ void stopFillTimer()
+ {
+ m_fillTimer->stop();
+ }
+
+signals:
+ void readyRead();
+
+private slots:
+ void fillBuffer()
+ {
+ const int free = m_buffer->free();
+ const int writeSize = free - (free % m_maxPeriodSize);
+
+ if (writeSize > 0) {
+ bool wecan = true;
+ int filled = 0;
+
+ while (!m_deviceError && wecan && filled < writeSize) {
+ QAudioRingBuffer::Region region = m_buffer->acquireWriteRegion(writeSize - filled);
+
+ if (region.second > 0) {
+ region.second = m_device->read(region.first, region.second);
+ if (region.second > 0)
+ filled += region.second;
+ else if (region.second == 0)
+ wecan = false;
+ else if (region.second < 0) {
+ m_fillTimer->stop();
+ region.second = 0;
+ m_deviceError = true;
+ }
+ }
+ else
+ wecan = false;
+
+ m_buffer->releaseWriteRegion(region);
+ }
+
+ if (filled > 0)
+ emit readyRead();
+ }
+ }
+
+private:
+ bool m_deviceError;
+ int m_maxPeriodSize;
+ int m_bytesPerFrame;
+ int m_periodTime;
+ QIODevice* m_device;
+ QTimer* m_fillTimer;
+ QAudioRingBuffer* m_buffer;
+};
+
+
+}
+
+class MacOutputDevice : public QIODevice
+{
+ Q_OBJECT
+
+public:
+ MacOutputDevice(QAudioOutputBuffer* audioBuffer, QObject* parent):
+ QIODevice(parent),
+ m_audioBuffer(audioBuffer)
+ {
+ open(QIODevice::WriteOnly | QIODevice::Unbuffered);
+ }
+
+ qint64 readData(char* data, qint64 len)
+ {
+ Q_UNUSED(data);
+ Q_UNUSED(len);
+
+ return 0;
+ }
+
+ qint64 writeData(const char* data, qint64 len)
+ {
+ return m_audioBuffer->writeBytes(data, len);
+ }
+
+ bool isSequential() const
+ {
+ return true;
+ }
+
+private:
+ QAudioOutputBuffer* m_audioBuffer;
+};
+
+
+QAudioOutputPrivate::QAudioOutputPrivate(const QByteArray& device, const QAudioFormat& format):
+ audioFormat(format)
+{
+ QDataStream ds(device);
+ quint32 did, mode;
+
+ ds >> did >> mode;
+
+ if (QAudio::Mode(mode) == QAudio::AudioInput)
+ errorCode = QAudio::OpenError;
+ else {
+ isOpen = false;
+ audioDeviceId = AudioDeviceID(did);
+ audioUnit = 0;
+ audioIO = 0;
+ startTime = 0;
+ totalFrames = 0;
+ audioBuffer = 0;
+ internalBufferSize = default_buffer_size;
+ clockFrequency = AudioGetHostClockFrequency() / 1000;
+ errorCode = QAudio::NoError;
+ stateCode = QAudio::StopState;
+ audioThreadState = Stopped;
+
+ intervalTimer = new QTimer(this);
+ intervalTimer->setInterval(1000);
+ connect(intervalTimer, SIGNAL(timeout()), SIGNAL(notify()));
+ }
+}
+
+QAudioOutputPrivate::~QAudioOutputPrivate()
+{
+ close();
+}
+
+bool QAudioOutputPrivate::open()
+{
+ if (errorCode != QAudio::NoError)
+ return false;
+
+ if (isOpen)
+ return true;
+
+ ComponentDescription cd;
+ cd.componentType = kAudioUnitType_Output;
+ cd.componentSubType = kAudioUnitSubType_HALOutput;
+ cd.componentManufacturer = kAudioUnitManufacturer_Apple;
+ cd.componentFlags = 0;
+ cd.componentFlagsMask = 0;
+
+ // Open
+ Component cp = FindNextComponent(NULL, &cd);
+ if (cp == 0) {
+ qWarning() << "QAudioOutput: Failed to find HAL Output component";
+ return false;
+ }
+
+ if (OpenAComponent(cp, &audioUnit) != noErr) {
+ qWarning() << "QAudioOutput: Unable to Open Output Component";
+ return false;
+ }
+
+ // register callback
+ AURenderCallbackStruct cb;
+ cb.inputProc = renderCallback;
+ cb.inputProcRefCon = this;
+
+ if (AudioUnitSetProperty(audioUnit,
+ kAudioUnitProperty_SetRenderCallback,
+ kAudioUnitScope_Global,
+ 0,
+ &cb,
+ sizeof(cb)) != noErr) {
+ qWarning() << "QAudioOutput: Failed to set AudioUnit callback";
+ return false;
+ }
+
+ // Set Audio Device
+ if (AudioUnitSetProperty(audioUnit,
+ kAudioOutputUnitProperty_CurrentDevice,
+ kAudioUnitScope_Global,
+ 0,
+ &audioDeviceId,
+ sizeof(audioDeviceId)) != noErr) {
+ qWarning() << "QAudioOutput: Unable to use configured device";
+ return false;
+ }
+
+ // Set stream format
+ streamFormat = toAudioStreamBasicDescription(audioFormat);
+
+ UInt32 size = sizeof(deviceFormat);
+ if (AudioUnitGetProperty(audioUnit,
+ kAudioUnitProperty_StreamFormat,
+ kAudioUnitScope_Input,
+ 0,
+ &deviceFormat,
+ &size) != noErr) {
+ qWarning() << "QAudioOutput: Unable to retrieve device format";
+ return false;
+ }
+
+ if (AudioUnitSetProperty(audioUnit,
+ kAudioUnitProperty_StreamFormat,
+ kAudioUnitScope_Input,
+ 0,
+ &streamFormat,
+ sizeof(streamFormat)) != noErr) {
+ qWarning() << "QAudioOutput: Unable to Set Stream information";
+ return false;
+ }
+
+ // Allocate buffer
+ UInt32 numberOfFrames = 0;
+ size = sizeof(UInt32);
+ if (AudioUnitGetProperty(audioUnit,
+ kAudioDevicePropertyBufferFrameSize,
+ kAudioUnitScope_Global,
+ 0,
+ &numberOfFrames,
+ &size) != noErr) {
+ qWarning() << "QAudioInput: Failed to get audio period size";
+ return false;
+ }
+
+ periodSizeBytes = (numberOfFrames * streamFormat.mSampleRate / deviceFormat.mSampleRate) *
+ streamFormat.mBytesPerFrame;
+ if (internalBufferSize < periodSizeBytes * 2)
+ internalBufferSize = periodSizeBytes * 2;
+ else
+ internalBufferSize -= internalBufferSize % streamFormat.mBytesPerFrame;
+
+ audioBuffer = new QAudioOutputBuffer(internalBufferSize, periodSizeBytes, audioFormat);
+ connect(audioBuffer, SIGNAL(readyRead()), SLOT(inputReady())); // Pull
+
+ audioIO = new MacOutputDevice(audioBuffer, this);
+
+ // Init
+ if (AudioUnitInitialize(audioUnit)) {
+ qWarning() << "QAudioOutput: Failed to initialize AudioUnit";
+ return false;
+ }
+
+ isOpen = true;
+
+ return true;
+}
+
+void QAudioOutputPrivate::close()
+{
+ if (audioUnit != 0) {
+ AudioOutputUnitStop(audioUnit);
+ AudioUnitUninitialize(audioUnit);
+ CloseComponent(audioUnit);
+ }
+
+ delete audioBuffer;
+}
+
+QAudioFormat QAudioOutputPrivate::format() const
+{
+ return audioFormat;
+}
+
+QIODevice* QAudioOutputPrivate::start(QIODevice* device)
+{
+ QIODevice* op = device;
+
+ if (!open()) {
+ stateCode = QAudio::StopState;
+ errorCode = QAudio::OpenError;
+ return audioIO;
+ }
+
+ reset();
+ audioBuffer->reset();
+ audioBuffer->setPrefetchDevice(op);
+
+ if (op == 0) {
+ op = audioIO;
+ stateCode = QAudio::IdleState;
+ }
+ else
+ stateCode = QAudio::ActiveState;
+
+ // Start
+ errorCode = QAudio::NoError;
+ totalFrames = 0;
+ startTime = AudioGetCurrentHostTime();
+
+ if (stateCode == QAudio::ActiveState)
+ audioThreadStart();
+
+ return op;
+}
+
+void QAudioOutputPrivate::stop()
+{
+ QMutexLocker lock(&mutex);
+ if (stateCode != QAudio::StopState) {
+ audioThreadDrain();
+
+ stateCode = QAudio::StopState;
+ errorCode = QAudio::NoError;
+ QMetaObject::invokeMethod(this, "stateChanged", Qt::QueuedConnection, Q_ARG(QAudio::State, stateCode));
+ }
+}
+
+void QAudioOutputPrivate::reset()
+{
+ QMutexLocker lock(&mutex);
+ if (stateCode != QAudio::StopState) {
+ audioThreadStop();
+
+ stateCode = QAudio::StopState;
+ errorCode = QAudio::NoError;
+ QMetaObject::invokeMethod(this, "stateChanged", Qt::QueuedConnection, Q_ARG(QAudio::State, stateCode));
+ }
+}
+
+void QAudioOutputPrivate::suspend()
+{
+ QMutexLocker lock(&mutex);
+ if (stateCode == QAudio::ActiveState || stateCode == QAudio::IdleState) {
+ audioThreadStop();
+
+ stateCode = QAudio::SuspendState;
+ errorCode = QAudio::NoError;
+ QMetaObject::invokeMethod(this, "stateChanged", Qt::QueuedConnection, Q_ARG(QAudio::State, stateCode));
+ }
+}
+
+void QAudioOutputPrivate::resume()
+{
+ QMutexLocker lock(&mutex);
+ if (stateCode == QAudio::SuspendState) {
+ audioThreadStart();
+
+ stateCode = QAudio::ActiveState;
+ errorCode = QAudio::NoError;
+ QMetaObject::invokeMethod(this, "stateChanged", Qt::QueuedConnection, Q_ARG(QAudio::State, stateCode));
+ }
+}
+
+int QAudioOutputPrivate::bytesFree() const
+{
+ return audioBuffer->available();
+}
+
+int QAudioOutputPrivate::periodSize() const
+{
+ return periodSizeBytes;
+}
+
+void QAudioOutputPrivate::setBufferSize(int bs)
+{
+ if (stateCode == QAudio::StopState)
+ internalBufferSize = bs;
+}
+
+int QAudioOutputPrivate::bufferSize() const
+{
+ return internalBufferSize;
+}
+
+void QAudioOutputPrivate::setNotifyInterval(int milliSeconds)
+{
+ intervalTimer->setInterval(milliSeconds);
+}
+
+int QAudioOutputPrivate::notifyInterval() const
+{
+ return intervalTimer->interval();
+}
+
+qint64 QAudioOutputPrivate::totalTime() const
+{
+ return totalFrames * 1000000 / audioFormat.frequency();
+}
+
+qint64 QAudioOutputPrivate::clock() const
+{
+ return (AudioGetCurrentHostTime() - startTime) / (clockFrequency / 1000);
+}
+
+QAudio::Error QAudioOutputPrivate::error() const
+{
+ return errorCode;
+}
+
+QAudio::State QAudioOutputPrivate::state() const
+{
+ return stateCode;
+}
+
+void QAudioOutputPrivate::audioThreadStart()
+{
+ startTimers();
+ audioThreadState = Running;
+ AudioOutputUnitStart(audioUnit);
+}
+
+void QAudioOutputPrivate::audioThreadStop()
+{
+ stopTimers();
+ if (audioThreadState.testAndSetAcquire(Running, Stopped))
+ threadFinished.wait(&mutex);
+}
+
+void QAudioOutputPrivate::audioThreadDrain()
+{
+ stopTimers();
+ if (audioThreadState.testAndSetAcquire(Running, Draining))
+ threadFinished.wait(&mutex);
+}
+
+void QAudioOutputPrivate::audioDeviceStop()
+{
+ AudioOutputUnitStop(audioUnit);
+ audioThreadState = Stopped;
+ threadFinished.wakeOne();
+}
+
+void QAudioOutputPrivate::audioDeviceIdle()
+{
+ QMutexLocker lock(&mutex);
+ if (stateCode == QAudio::ActiveState) {
+ audioDeviceStop();
+
+ errorCode = QAudio::UnderrunError;
+ stateCode = QAudio::IdleState;
+ QMetaObject::invokeMethod(this, "deviceStopped", Qt::QueuedConnection);
+ }
+}
+
+void QAudioOutputPrivate::audioDeviceError()
+{
+ QMutexLocker lock(&mutex);
+ if (stateCode == QAudio::ActiveState) {
+ audioDeviceStop();
+
+ errorCode = QAudio::IOError;
+ stateCode = QAudio::StopState;
+ QMetaObject::invokeMethod(this, "deviceStopped", Qt::QueuedConnection);
+ }
+}
+
+void QAudioOutputPrivate::startTimers()
+{
+ audioBuffer->startFillTimer();
+ intervalTimer->start();
+}
+
+void QAudioOutputPrivate::stopTimers()
+{
+ audioBuffer->stopFillTimer();
+ intervalTimer->stop();
+}
+
+
+void QAudioOutputPrivate::deviceStopped()
+{
+ intervalTimer->stop();
+ emit stateChanged(stateCode);
+}
+
+void QAudioOutputPrivate::inputReady()
+{
+ QMutexLocker lock(&mutex);
+ if (stateCode == QAudio::IdleState) {
+ audioThreadStart();
+
+ stateCode = QAudio::ActiveState;
+ errorCode = QAudio::NoError;
+
+ QMetaObject::invokeMethod(this, "stateChanged", Qt::QueuedConnection, Q_ARG(QAudio::State, stateCode));
+ }
+}
+
+
+OSStatus QAudioOutputPrivate::renderCallback(void* inRefCon,
+ AudioUnitRenderActionFlags* ioActionFlags,
+ const AudioTimeStamp* inTimeStamp,
+ UInt32 inBusNumber,
+ UInt32 inNumberFrames,
+ AudioBufferList* ioData)
+{
+ Q_UNUSED(ioActionFlags)
+ Q_UNUSED(inTimeStamp)
+ Q_UNUSED(inBusNumber)
+ Q_UNUSED(inNumberFrames)
+
+ QAudioOutputPrivate* d = static_cast<QAudioOutputPrivate*>(inRefCon);
+
+ const int threadState = d->audioThreadState.fetchAndAddAcquire(0);
+ if (threadState == Stopped) {
+ ioData->mBuffers[0].mDataByteSize = 0;
+ d->audioDeviceStop();
+ }
+ else {
+ const UInt32 bytesPerFrame = d->streamFormat.mBytesPerFrame;
+ qint64 framesRead;
+
+ framesRead = d->audioBuffer->readFrames((char*)ioData->mBuffers[0].mData,
+ ioData->mBuffers[0].mDataByteSize / bytesPerFrame);
+
+ if (framesRead > 0) {
+ ioData->mBuffers[0].mDataByteSize = framesRead * bytesPerFrame;
+ d->totalFrames += framesRead;
+ }
+ else {
+ ioData->mBuffers[0].mDataByteSize = 0;
+ if (framesRead == 0) {
+ if (threadState == Draining)
+ d->audioDeviceStop();
+ else
+ d->audioDeviceIdle();
+ }
+ else
+ d->audioDeviceError();
+ }
+ }
+
+ return noErr;
+}
+
+
+QT_END_NAMESPACE
+
+#include "qaudiooutput_mac_p.moc"
+
diff --git a/src/multimedia/audio/qaudiooutput_mac_p.h b/src/multimedia/audio/qaudiooutput_mac_p.h
new file mode 100644
index 0000000..c85cab4
--- /dev/null
+++ b/src/multimedia/audio/qaudiooutput_mac_p.h
@@ -0,0 +1,171 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtMultimedia module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists for the convenience
+// of other Qt classes. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
+#ifndef QAUDIOOUTPUT_MAC_P_H
+#define QAUDIOOUTPUT_MAC_P_H
+
+#include <CoreServices/CoreServices.h>
+#include <CoreAudio/CoreAudio.h>
+#include <AudioUnit/AudioUnit.h>
+#include <AudioToolbox/AudioToolbox.h>
+
+#include <QtCore/qobject.h>
+#include <QtCore/qmutex.h>
+#include <QtCore/qwaitcondition.h>
+#include <QtCore/qtimer.h>
+#include <QtCore/qatomic.h>
+
+#include <QtMultimedia/qaudio.h>
+#include <QtMultimedia/qaudioformat.h>
+#include <QtMultimedia/qaudioengine.h>
+
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+class QIODevice;
+
+namespace
+{
+class QAudioOutputBuffer;
+}
+
+class QAudioOutputPrivate : public QAbstractAudioOutput
+{
+ Q_OBJECT
+
+public:
+ bool isOpen;
+ int internalBufferSize;
+ int periodSizeBytes;
+ qint64 totalFrames;
+ QAudioFormat audioFormat;
+ QIODevice* audioIO;
+ AudioDeviceID audioDeviceId;
+ AudioUnit audioUnit;
+ Float64 clockFrequency;
+ UInt64 startTime;
+ AudioStreamBasicDescription deviceFormat;
+ AudioStreamBasicDescription streamFormat;
+ QAudioOutputBuffer* audioBuffer;
+ QAtomicInt audioThreadState;
+ QWaitCondition threadFinished;
+ QMutex mutex;
+ QTimer* intervalTimer;
+
+ QAudio::Error errorCode;
+ QAudio::State stateCode;
+
+ QAudioOutputPrivate(const QByteArray& device, const QAudioFormat& format);
+ ~QAudioOutputPrivate();
+
+ bool open();
+ void close();
+
+ QAudioFormat format() const;
+
+ QIODevice* start(QIODevice* device);
+ void stop();
+ void reset();
+ void suspend();
+ void resume();
+
+ int bytesFree() const;
+ int periodSize() const;
+
+ void setBufferSize(int value);
+ int bufferSize() const;
+
+ void setNotifyInterval(int milliSeconds);
+ int notifyInterval() const;
+
+ qint64 totalTime() const;
+ qint64 clock() const;
+
+ QAudio::Error error() const;
+ QAudio::State state() const;
+
+ void audioThreadStart();
+ void audioThreadStop();
+ void audioThreadDrain();
+
+ void audioDeviceStop();
+ void audioDeviceIdle();
+ void audioDeviceError();
+
+ void startTimers();
+ void stopTimers();
+
+signals:
+ void stateChanged(QAudio::State);
+ void notify();
+
+private slots:
+ void deviceStopped();
+ void inputReady();
+
+private:
+ enum { Running, Draining, Stopped };
+
+ static OSStatus renderCallback(void* inRefCon,
+ AudioUnitRenderActionFlags* ioActionFlags,
+ const AudioTimeStamp* inTimeStamp,
+ UInt32 inBusNumber,
+ UInt32 inNumberFrames,
+ AudioBufferList* ioData);
+};
+
+QT_END_NAMESPACE
+
+QT_END_HEADER
+
+#endif
diff --git a/src/multimedia/audio/qaudiooutput_win32_p.cpp b/src/multimedia/audio/qaudiooutput_win32_p.cpp
new file mode 100644
index 0000000..f681936
--- /dev/null
+++ b/src/multimedia/audio/qaudiooutput_win32_p.cpp
@@ -0,0 +1,502 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtMultimedia module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists for the convenience
+// of other Qt classes. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
+#include "qaudiooutput_win32_p.h"
+
+//#define DEBUG_AUDIO 1
+
+QAudioOutputPrivate::QAudioOutputPrivate(const QByteArray &device, const QAudioFormat& audioFormat):
+ settings(audioFormat)
+{
+ bytesAvailable = 0;
+ buffer_size = 0;
+ period_size = 0;
+ m_device = device;
+ totalTimeValue = 0;
+ intervalTime = 1000;
+ audioBuffer = 0;
+ errorState = QAudio::NoError;
+ deviceState = QAudio::StopState;
+ audioSource = 0;
+ pullMode = true;
+ InitializeCriticalSection(&waveOutCriticalSection);
+}
+
+QAudioOutputPrivate::~QAudioOutputPrivate()
+{
+ close();
+ DeleteCriticalSection(&waveOutCriticalSection);
+}
+
+void CALLBACK QAudioOutputPrivate::waveOutProc( HWAVEOUT hWaveOut, UINT uMsg,
+ DWORD dwInstance, DWORD dwParam1, DWORD dwParam2 )
+{
+ Q_UNUSED(dwParam1)
+ Q_UNUSED(dwParam2)
+ Q_UNUSED(hWaveOut)
+
+ QAudioOutputPrivate* qAudio;
+ qAudio = (QAudioOutputPrivate*)(dwInstance);
+ if(!qAudio)
+ return;
+
+ switch(uMsg) {
+ case WOM_OPEN:
+ qAudio->feedback();
+ break;
+ case WOM_CLOSE:
+ return;
+ case WOM_DONE:
+ EnterCriticalSection(&waveOutCriticalSection);
+ qAudio->waveFreeBlockCount++;
+ if(qAudio->waveFreeBlockCount >= qAudio->buffer_size/qAudio->period_size)
+ qAudio->waveFreeBlockCount = qAudio->buffer_size/qAudio->period_size;
+ LeaveCriticalSection(&waveOutCriticalSection);
+ qAudio->feedback();
+ break;
+ default:
+ return;
+ }
+}
+
+WAVEHDR* QAudioOutputPrivate::allocateBlocks(int size, int count)
+{
+ int i;
+ unsigned char* buffer;
+ WAVEHDR* blocks;
+ DWORD totalBufferSize = (size + sizeof(WAVEHDR))*count;
+
+ if((buffer=(unsigned char*)HeapAlloc(GetProcessHeap(),HEAP_ZERO_MEMORY,
+ totalBufferSize)) == 0) {
+ qWarning("QAudioOutput: Memory allocation error");
+ return 0;
+ }
+ blocks = (WAVEHDR*)buffer;
+ buffer += sizeof(WAVEHDR)*count;
+ for(i = 0; i < count; i++) {
+ blocks[i].dwBufferLength = size;
+ blocks[i].lpData = (LPSTR)buffer;
+ buffer += size;
+ }
+ return blocks;
+}
+
+void QAudioOutputPrivate::freeBlocks(WAVEHDR* blockArray)
+{
+ HeapFree(GetProcessHeap(), 0, blockArray);
+}
+
+QAudioFormat QAudioOutputPrivate::format() const
+{
+ return settings;
+}
+
+QIODevice* QAudioOutputPrivate::start(QIODevice* device)
+{
+ if(deviceState != QAudio::StopState)
+ close();
+
+ if(!pullMode && audioSource) {
+ delete audioSource;
+ }
+
+ if(device) {
+ //set to pull mode
+ pullMode = true;
+ audioSource = device;
+ deviceState = QAudio::ActiveState;
+ } else {
+ //set to push mode
+ pullMode = false;
+ audioSource = new OutputPrivate(this);
+ audioSource->open(QIODevice::WriteOnly|QIODevice::Unbuffered);
+ deviceState = QAudio::IdleState;
+ }
+
+ if( !open() )
+ return 0;
+
+ emit stateChanged(deviceState);
+
+ return audioSource;
+}
+
+void QAudioOutputPrivate::stop()
+{
+ if(deviceState == QAudio::StopState)
+ return;
+ deviceState = QAudio::StopState;
+ close();
+ if(!pullMode && audioSource) {
+ delete audioSource;
+ audioSource = 0;
+ }
+ emit stateChanged(deviceState);
+}
+
+bool QAudioOutputPrivate::open()
+{
+#ifdef DEBUG_AUDIO
+ QTime now(QTime::currentTime());
+ qDebug()<<now.second()<<"s "<<now.msec()<<"ms :open()";
+#endif
+ if(buffer_size == 0) {
+ // Default buffer size, 200ms, default period size is 40ms
+ buffer_size = settings.frequency()*settings.channels()*(settings.sampleSize()/8)*0.2;
+ period_size = buffer_size/5;
+ } else {
+ period_size = buffer_size/5;
+ }
+ waveBlocks = allocateBlocks(period_size, buffer_size/period_size);
+ waveFreeBlockCount = buffer_size/period_size;
+ waveCurrentBlock = 0;
+
+ if(audioBuffer == 0)
+ audioBuffer = new char[buffer_size];
+
+ timeStamp.restart();
+
+ wfx.nSamplesPerSec = settings.frequency();
+ wfx.wBitsPerSample = settings.sampleSize();
+ wfx.nChannels = settings.channels();
+ wfx.cbSize = 0;
+
+ wfx.wFormatTag = WAVE_FORMAT_PCM;
+ wfx.nBlockAlign = (wfx.wBitsPerSample >> 3) * wfx.nChannels;
+ wfx.nAvgBytesPerSec = wfx.nBlockAlign * wfx.nSamplesPerSec;
+
+ UINT_PTR devId = WAVE_MAPPER;
+
+ WAVEOUTCAPS woc;
+ unsigned long iNumDevs,ii;
+ iNumDevs = waveOutGetNumDevs();
+ for(ii=0;ii<iNumDevs;ii++) {
+ if(waveOutGetDevCaps(ii, &woc, sizeof(WAVEOUTCAPS))
+ == MMSYSERR_NOERROR) {
+ QString tmp;
+ tmp = QString::fromUtf16((const unsigned short*)woc.szPname);
+ if(tmp.compare(tr(m_device)) == 0) {
+ devId = ii;
+ break;
+ }
+ }
+ }
+
+ if(waveOutOpen(&hWaveOut, devId, &wfx,
+ (DWORD_PTR)&waveOutProc,
+ (DWORD_PTR) this,
+ CALLBACK_FUNCTION) != MMSYSERR_NOERROR) {
+ errorState = QAudio::OpenError;
+ deviceState = QAudio::StopState;
+ emit stateChanged(deviceState);
+ qWarning("QAudioOutput: open error");
+ return false;
+ }
+
+ totalTimeValue = 0;
+ timeStampOpened.restart();
+
+ errorState = QAudio::NoError;
+ if(pullMode) {
+ deviceState = QAudio::ActiveState;
+ QTimer::singleShot(10, this, SLOT(feedback()));
+ } else
+ deviceState = QAudio::IdleState;
+
+ return true;
+}
+
+void QAudioOutputPrivate::close()
+{
+ if(deviceState == QAudio::StopState)
+ return;
+
+ deviceState = QAudio::StopState;
+ int delay = (buffer_size-bytesFree())*1000/(settings.frequency()
+ *settings.channels()*(settings.sampleSize()/8));
+ waveOutReset(hWaveOut);
+ Sleep(delay+10);
+
+ freeBlocks(waveBlocks);
+ waveOutClose(hWaveOut);
+ delete [] audioBuffer;
+ audioBuffer = 0;
+ buffer_size = 0;
+}
+
+int QAudioOutputPrivate::bytesFree() const
+{
+ int buf;
+ buf = waveFreeBlockCount*period_size;
+ return buf;
+}
+
+int QAudioOutputPrivate::periodSize() const
+{
+ return period_size;
+}
+
+void QAudioOutputPrivate::setBufferSize(int value)
+{
+ if(deviceState == QAudio::StopState)
+ buffer_size = value;
+}
+
+int QAudioOutputPrivate::bufferSize() const
+{
+ return buffer_size;
+}
+
+void QAudioOutputPrivate::setNotifyInterval(int ms)
+{
+ intervalTime = ms;
+}
+
+int QAudioOutputPrivate::notifyInterval() const
+{
+ return intervalTime;
+}
+
+qint64 QAudioOutputPrivate::totalTime() const
+{
+ return totalTimeValue;
+}
+
+qint64 QAudioOutputPrivate::write( const char *data, qint64 len )
+{
+ // Write out some audio data
+
+ char* p = (char*)data;
+ int l = (int)len;
+
+ WAVEHDR* current;
+ int remain;
+ current = &waveBlocks[waveCurrentBlock];
+ while(l > 0) {
+ if(waveFreeBlockCount==0)
+ break;
+
+ if(current->dwFlags & WHDR_PREPARED)
+ waveOutUnprepareHeader(hWaveOut, current, sizeof(WAVEHDR));
+
+ if(l < period_size)
+ remain = l;
+ else
+ remain = period_size;
+ memcpy(current->lpData, p, remain);
+
+ l -= remain;
+ p += remain;
+ current->dwBufferLength = remain;
+ waveOutPrepareHeader(hWaveOut, current, sizeof(WAVEHDR));
+ waveOutWrite(hWaveOut, current, sizeof(WAVEHDR));
+
+ EnterCriticalSection(&waveOutCriticalSection);
+ waveFreeBlockCount--;
+ LeaveCriticalSection(&waveOutCriticalSection);
+#ifdef DEBUG_AUDIO
+ qDebug("write out l=%d, waveFreeBlockCount=%d",
+ current->dwBufferLength,waveFreeBlockCount);
+#endif
+ totalTimeValue += current->dwBufferLength
+ /(settings.channels()*(settings.sampleSize()/8))
+ *1000000/settings.frequency();;
+ waveCurrentBlock++;
+ waveCurrentBlock %= buffer_size/period_size;
+ current = &waveBlocks[waveCurrentBlock];
+ current->dwUser = 0;
+ }
+ return (len-l);
+}
+
+void QAudioOutputPrivate::resume()
+{
+ if(deviceState == QAudio::SuspendState) {
+ deviceState = QAudio::ActiveState;
+ errorState = QAudio::NoError;
+ waveOutRestart(hWaveOut);
+ QTimer::singleShot(10, this, SLOT(feedback()));
+ emit stateChanged(deviceState);
+ }
+}
+
+void QAudioOutputPrivate::suspend()
+{
+ if(deviceState == QAudio::ActiveState) {
+ waveOutPause(hWaveOut);
+ deviceState = QAudio::SuspendState;
+ errorState = QAudio::NoError;
+ emit stateChanged(deviceState);
+ }
+}
+
+void QAudioOutputPrivate::feedback()
+{
+#ifdef DEBUG_AUDIO
+ QTime now(QTime::currentTime());
+ qDebug()<<now.second()<<"s "<<now.msec()<<"ms :feedback()";
+#endif
+ bytesAvailable = bytesFree();
+
+ if(!(deviceState==QAudio::StopState||deviceState==QAudio::SuspendState)) {
+ if(bytesAvailable >= period_size)
+ QMetaObject::invokeMethod(this, "deviceReady", Qt::QueuedConnection);
+ }
+}
+
+bool QAudioOutputPrivate::deviceReady()
+{
+ if(pullMode) {
+ int i = 0;
+ int chunks = bytesAvailable/period_size;
+#ifdef DEBUG_AUDIO
+ qDebug()<<"deviceReady() avail="<<bytesAvailable<<" bytes, period size="<<period_size<<" bytes";
+ qDebug()<<"deviceReady() no. of chunks that can fit ="<<chunks<<", chunks in bytes ="<<chunks*period_size;
+#endif
+ bool startup = false;
+ if(totalTimeValue == 0)
+ startup = true;
+
+ if(startup)
+ waveOutPause(hWaveOut);
+ int input = period_size*chunks;
+ int l = audioSource->read(audioBuffer,input);
+ if(l > 0) {
+ int out= write(audioBuffer,l);
+ if(out > 0)
+ deviceState = QAudio::ActiveState;
+ if(startup)
+ waveOutRestart(hWaveOut);
+ } else if(l == 0) {
+ bytesAvailable = bytesFree();
+ if(waveFreeBlockCount == buffer_size/period_size) {
+ errorState = QAudio::UnderrunError;
+ deviceState = QAudio::IdleState;
+ emit stateChanged(deviceState);
+ }
+
+ } else if(i < 0) {
+ bytesAvailable = bytesFree();
+ errorState = QAudio::IOError;
+ }
+ }
+ if(deviceState != QAudio::ActiveState)
+ return true;
+
+ if(timeStamp.elapsed() > intervalTime && intervalTime > 50) {
+ emit notify();
+ timeStamp.restart();
+ }
+
+ return true;
+}
+
+qint64 QAudioOutputPrivate::clock() const
+{
+ if(deviceState != QAudio::ActiveState)
+ return 0;
+
+ return timeStampOpened.elapsed();
+}
+
+QAudio::Error QAudioOutputPrivate::error() const
+{
+ return errorState;
+}
+
+QAudio::State QAudioOutputPrivate::state() const
+{
+ return deviceState;
+}
+
+void QAudioOutputPrivate::reset()
+{
+ close();
+}
+
+OutputPrivate::OutputPrivate(QAudioOutputPrivate* audio)
+{
+ audioDevice = qobject_cast<QAudioOutputPrivate*>(audio);
+}
+
+OutputPrivate::~OutputPrivate() {}
+
+qint64 OutputPrivate::readData( char* data, qint64 len)
+{
+ Q_UNUSED(data)
+ Q_UNUSED(len)
+
+ return 0;
+}
+
+qint64 OutputPrivate::writeData(const char* data, qint64 len)
+{
+ int retry = 0;
+ qint64 written = 0;
+
+ if((audioDevice->deviceState == QAudio::ActiveState)
+ ||(audioDevice->deviceState == QAudio::IdleState)) {
+ qint64 l = len;
+ while(written < l) {
+ int chunk = audioDevice->write(data+written,(l-written));
+ if(chunk <= 0)
+ retry++;
+ else
+ written+=chunk;
+
+ if(retry > 10)
+ return written;
+ }
+ audioDevice->deviceState = QAudio::ActiveState;
+ }
+ return written;
+}
diff --git a/src/multimedia/audio/qaudiooutput_win32_p.h b/src/multimedia/audio/qaudiooutput_win32_p.h
new file mode 100644
index 0000000..91f14f5
--- /dev/null
+++ b/src/multimedia/audio/qaudiooutput_win32_p.h
@@ -0,0 +1,154 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtMultimedia module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists for the convenience
+// of other Qt classes. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
+#ifndef QAUDIOOUTPUTWIN_H
+#define QAUDIOOUTPUTWIN_H
+
+#include <windows.h>
+#include <mmsystem.h>
+
+#include <QtCore/qdebug.h>
+#include <QtCore/qtimer.h>
+#include <QtCore/qstring.h>
+#include <QtCore/qstringlist.h>
+#include <QtCore/qdatetime.h>
+
+#include <QtMultimedia/qaudio.h>
+#include <QtMultimedia/qaudiodeviceinfo.h>
+#include <QtMultimedia/qaudioengine.h>
+
+
+static CRITICAL_SECTION waveOutCriticalSection;
+
+class QAudioOutputPrivate : public QAbstractAudioOutput
+{
+ Q_OBJECT
+public:
+ QAudioOutputPrivate(const QByteArray &device, const QAudioFormat& audioFormat);
+ ~QAudioOutputPrivate();
+
+ qint64 write( const char *data, qint64 len );
+
+ QAudioFormat format() const;
+ QIODevice* start(QIODevice* device = 0);
+ void stop();
+ void reset();
+ void suspend();
+ void resume();
+ int bytesFree() const;
+ int periodSize() const;
+ void setBufferSize(int value);
+ int bufferSize() const;
+ void setNotifyInterval(int milliSeconds);
+ int notifyInterval() const;
+ qint64 totalTime() const;
+ qint64 clock() const;
+ QAudio::Error error() const;
+ QAudio::State state() const;
+
+ QIODevice* audioSource;
+ QAudioFormat settings;
+ QAudio::Error errorState;
+ QAudio::State deviceState;
+
+private slots:
+ void feedback();
+ bool deviceReady();
+
+signals:
+ void stateChanged(QAudio::State);
+ void notify();
+
+private:
+ QByteArray m_device;
+ bool resuming;
+ int bytesAvailable;
+ QTime timeStamp;
+ QTime timeStampOpened;
+ qint32 buffer_size;
+ qint32 period_size;
+ qint64 totalTimeValue;
+ bool pullMode;
+ int intervalTime;
+ static void CALLBACK waveOutProc( HWAVEOUT hWaveOut, UINT uMsg,
+ DWORD dwInstance, DWORD dwParam1, DWORD dwParam2 );
+
+ WAVEHDR* allocateBlocks(int size, int count);
+ void freeBlocks(WAVEHDR* blockArray);
+ bool open();
+ void close();
+
+ WAVEFORMATEX wfx;
+ HWAVEOUT hWaveOut;
+ MMRESULT result;
+ WAVEHDR header;
+ WAVEHDR* waveBlocks;
+ volatile int waveFreeBlockCount;
+ int waveCurrentBlock;
+ char* audioBuffer;
+};
+
+class OutputPrivate : public QIODevice
+{
+ Q_OBJECT
+public:
+ OutputPrivate(QAudioOutputPrivate* audio);
+ ~OutputPrivate();
+
+ qint64 readData( char* data, qint64 len);
+ qint64 writeData(const char* data, qint64 len);
+
+private:
+ QAudioOutputPrivate *audioDevice;
+};
+
+#endif
diff --git a/src/multimedia/multimedia.pro b/src/multimedia/multimedia.pro
new file mode 100644
index 0000000..7d38afa
--- /dev/null
+++ b/src/multimedia/multimedia.pro
@@ -0,0 +1,11 @@
+TARGET = QtMultimedia
+QPRO_PWD = $$PWD
+QT = core
+DEFINES += QT_BUILD_MULTIMEDIA_LIB
+
+win32-msvc*:QMAKE_LIBS += $$QMAKE_LIBS_CORE
+
+unix:QMAKE_PKGCONFIG_REQUIRES = QtCore
+
+include(../qbase.pri)
+include(audio/audio.pri)
diff --git a/src/network/access/access.pri b/src/network/access/access.pri
index 3269b2e..ab7b3a7 100644
--- a/src/network/access/access.pri
+++ b/src/network/access/access.pri
@@ -6,6 +6,7 @@ HEADERS += access/qftp.h \
access/qhttpnetworkrequest_p.h \
access/qhttpnetworkreply_p.h \
access/qhttpnetworkconnection_p.h \
+ access/qhttpnetworkconnectionchannel_p.h \
access/qnetworkaccessmanager.h \
access/qnetworkaccessmanager_p.h \
access/qnetworkaccesscache_p.h \
@@ -18,6 +19,8 @@ HEADERS += access/qftp.h \
access/qnetworkaccessftpbackend_p.h \
access/qnetworkcookie.h \
access/qnetworkcookie_p.h \
+ access/qnetworkcookiejar.h \
+ access/qnetworkcookiejar_p.h \
access/qnetworkrequest.h \
access/qnetworkrequest_p.h \
access/qnetworkreply.h \
@@ -34,6 +37,7 @@ SOURCES += access/qftp.cpp \
access/qhttpnetworkrequest.cpp \
access/qhttpnetworkreply.cpp \
access/qhttpnetworkconnection.cpp \
+ access/qhttpnetworkconnectionchannel.cpp \
access/qnetworkaccessmanager.cpp \
access/qnetworkaccesscache.cpp \
access/qnetworkaccessbackend.cpp \
@@ -44,6 +48,7 @@ SOURCES += access/qftp.cpp \
access/qnetworkaccessftpbackend.cpp \
access/qnetworkaccesshttpbackend.cpp \
access/qnetworkcookie.cpp \
+ access/qnetworkcookiejar.cpp \
access/qnetworkrequest.cpp \
access/qnetworkreply.cpp \
access/qnetworkreplyimpl.cpp \
diff --git a/src/network/access/qabstractnetworkcache.cpp b/src/network/access/qabstractnetworkcache.cpp
index cfc9fe7..3f44059 100644
--- a/src/network/access/qabstractnetworkcache.cpp
+++ b/src/network/access/qabstractnetworkcache.cpp
@@ -283,6 +283,8 @@ void QNetworkCacheMetaData::setExpirationDate(const QDateTime &dateTime)
}
/*!
+ \since 4.6
+
Returns all the attributes stored with this cache item.
\sa setAttributes(), QNetworkRequest::Attribute
@@ -293,6 +295,8 @@ QNetworkCacheMetaData::AttributesMap QNetworkCacheMetaData::attributes() const
}
/*!
+ \since 4.6
+
Sets all attributes of this cache item to be the map \a attributes.
\sa attributes(), QNetworkRequest::setAttribute()
diff --git a/src/network/access/qabstractnetworkcache.h b/src/network/access/qabstractnetworkcache.h
index 38ebb69..40f2313 100644
--- a/src/network/access/qabstractnetworkcache.h
+++ b/src/network/access/qabstractnetworkcache.h
@@ -130,7 +130,7 @@ protected:
QAbstractNetworkCache(QAbstractNetworkCachePrivate &dd, QObject *parent);
private:
- Q_DECLARE_SCOPED_PRIVATE(QAbstractNetworkCache)
+ Q_DECLARE_PRIVATE(QAbstractNetworkCache)
Q_DISABLE_COPY(QAbstractNetworkCache)
};
diff --git a/src/network/access/qftp.cpp b/src/network/access/qftp.cpp
index 6fc0626..8e72323 100644
--- a/src/network/access/qftp.cpp
+++ b/src/network/access/qftp.cpp
@@ -871,6 +871,9 @@ void QFtpPI::connected()
#if defined(QFTPPI_DEBUG)
// qDebug("QFtpPI state: %d [connected()]", state);
#endif
+ // try to improve performance by setting TCP_NODELAY
+ commandSocket.setSocketOption(QAbstractSocket::LowDelayOption, 1);
+
emit connectState(QFtp::Connected);
}
@@ -1387,7 +1390,7 @@ int QFtpPrivate::addCommand(QFtpCommand *cmd)
\warning The current version of QFtp doesn't fully support
non-Unix FTP servers.
- \sa QHttp, QNetworkAccessManager, QNetworkRequest, QNetworkReply,
+ \sa QNetworkAccessManager, QNetworkRequest, QNetworkReply,
{FTP Example}
*/
@@ -1734,8 +1737,8 @@ int QFtp::setTransferMode(TransferMode mode)
Enables use of the FTP proxy on host \a host and port \a
port. Calling this function with \a host empty disables proxying.
- QFtp does not support FTP-over-HTTP proxy servers. Use QHttp for
- this.
+ QFtp does not support FTP-over-HTTP proxy servers. Use
+ QNetworkAccessManager for this.
*/
int QFtp::setProxy(const QString &host, quint16 port)
{
diff --git a/src/network/access/qftp.h b/src/network/access/qftp.h
index 8e4af9f..c6aaea4 100644
--- a/src/network/access/qftp.h
+++ b/src/network/access/qftp.h
@@ -162,7 +162,7 @@ public:
private:
Q_DISABLE_COPY(QFtp)
- Q_DECLARE_SCOPED_PRIVATE(QFtp)
+ Q_DECLARE_PRIVATE(QFtp)
Q_PRIVATE_SLOT(d_func(), void _q_startNextCommand())
Q_PRIVATE_SLOT(d_func(), void _q_piFinished(const QString&))
diff --git a/src/network/access/qhttp.cpp b/src/network/access/qhttp.cpp
index 91f9f4e..bb72f89 100644
--- a/src/network/access/qhttp.cpp
+++ b/src/network/access/qhttp.cpp
@@ -513,6 +513,7 @@ public:
/*!
\class QHttpHeader
+ \obsolete
\brief The QHttpHeader class contains header information for HTTP.
\ingroup io
@@ -1006,6 +1007,7 @@ public:
/*!
\class QHttpResponseHeader
+ \obsolete
\brief The QHttpResponseHeader class contains response header information for HTTP.
\ingroup io
@@ -1151,7 +1153,7 @@ int QHttpResponseHeader::minorVersion() const
return d->minVer;
}
-/*! \reimp
+/*! \internal
*/
bool QHttpResponseHeader::parseLine(const QString &line, int number)
{
@@ -1210,6 +1212,7 @@ public:
/*!
\class QHttpRequestHeader
+ \obsolete
\brief The QHttpRequestHeader class contains request header information for HTTP.
\ingroup io
@@ -1365,7 +1368,7 @@ int QHttpRequestHeader::minorVersion() const
return d->minVer;
}
-/*! \reimp
+/*! \internal
*/
bool QHttpRequestHeader::parseLine(const QString &line, int number)
{
diff --git a/src/network/access/qhttp.h b/src/network/access/qhttp.h
index c1fda0e..e524350 100644
--- a/src/network/access/qhttp.h
+++ b/src/network/access/qhttp.h
@@ -112,7 +112,7 @@ protected:
QScopedPointer<QHttpHeaderPrivate> d_ptr;
private:
- Q_DECLARE_SCOPED_PRIVATE(QHttpHeader)
+ Q_DECLARE_PRIVATE(QHttpHeader)
};
class QHttpResponseHeaderPrivate;
@@ -139,7 +139,7 @@ protected:
bool parseLine(const QString &line, int number);
private:
- Q_DECLARE_SCOPED_PRIVATE(QHttpResponseHeader)
+ Q_DECLARE_PRIVATE(QHttpResponseHeader)
friend class QHttpPrivate;
};
@@ -167,7 +167,7 @@ protected:
bool parseLine(const QString &line, int number);
private:
- Q_DECLARE_SCOPED_PRIVATE(QHttpRequestHeader)
+ Q_DECLARE_PRIVATE(QHttpRequestHeader)
};
class Q_NETWORK_EXPORT QHttp : public QObject
@@ -282,7 +282,7 @@ Q_SIGNALS:
private:
Q_DISABLE_COPY(QHttp)
- Q_DECLARE_SCOPED_PRIVATE(QHttp)
+ Q_DECLARE_PRIVATE(QHttp)
Q_PRIVATE_SLOT(d_func(), void _q_startNextRequest())
Q_PRIVATE_SLOT(d_func(), void _q_slotReadyRead())
diff --git a/src/network/access/qhttpnetworkconnection.cpp b/src/network/access/qhttpnetworkconnection.cpp
index 827681f..93d738c 100644
--- a/src/network/access/qhttpnetworkconnection.cpp
+++ b/src/network/access/qhttpnetworkconnection.cpp
@@ -40,6 +40,7 @@
****************************************************************************/
#include "qhttpnetworkconnection_p.h"
+#include "qhttpnetworkconnectionchannel_p.h"
#include "private/qnoncontiguousbytedevice_p.h"
#include <private/qnetworkrequest_p.h>
#include <private/qobject_p.h>
@@ -74,7 +75,7 @@ QHttpNetworkConnectionPrivate::QHttpNetworkConnectionPrivate(const QString &host
#endif
{
- channels = new Channel[channelCount];
+ channels = new QHttpNetworkConnectionChannel[channelCount];
}
QHttpNetworkConnectionPrivate::~QHttpNetworkConnectionPrivate()
@@ -88,58 +89,11 @@ QHttpNetworkConnectionPrivate::~QHttpNetworkConnectionPrivate()
delete []channels;
}
-void QHttpNetworkConnectionPrivate::connectSignals(QAbstractSocket *socket)
-{
- Q_Q(QHttpNetworkConnection);
-
- QObject::connect(socket, SIGNAL(bytesWritten(qint64)),
- q, SLOT(_q_bytesWritten(qint64)),
- Qt::DirectConnection);
- QObject::connect(socket, SIGNAL(connected()),
- q, SLOT(_q_connected()),
- Qt::DirectConnection);
- QObject::connect(socket, SIGNAL(readyRead()),
- q, SLOT(_q_readyRead()),
- Qt::DirectConnection);
- QObject::connect(socket, SIGNAL(disconnected()),
- q, SLOT(_q_disconnected()),
- Qt::DirectConnection);
- QObject::connect(socket, SIGNAL(error(QAbstractSocket::SocketError)),
- q, SLOT(_q_error(QAbstractSocket::SocketError)),
- Qt::DirectConnection);
-#ifndef QT_NO_NETWORKPROXY
- QObject::connect(socket, SIGNAL(proxyAuthenticationRequired(const QNetworkProxy&, QAuthenticator*)),
- q, SLOT(_q_proxyAuthenticationRequired(const QNetworkProxy&, QAuthenticator*)),
- Qt::DirectConnection);
-#endif
-
-#ifndef QT_NO_OPENSSL
- QSslSocket *sslSocket = qobject_cast<QSslSocket*>(socket);
- if (sslSocket) {
- // won't be a sslSocket if encrypt is false
- QObject::connect(sslSocket, SIGNAL(encrypted()),
- q, SLOT(_q_encrypted()),
- Qt::DirectConnection);
- QObject::connect(sslSocket, SIGNAL(sslErrors(const QList<QSslError>&)),
- q, SLOT(_q_sslErrors(const QList<QSslError>&)),
- Qt::DirectConnection);
- }
-#endif
-}
-
void QHttpNetworkConnectionPrivate::init()
{
- for (int i = 0; i < channelCount; ++i) {
-#ifndef QT_NO_OPENSSL
- if (encrypt)
- channels[i].socket = new QSslSocket;
- else
- channels[i].socket = new QTcpSocket;
-#else
- channels[i].socket = new QTcpSocket;
-#endif
-
- connectSignals(channels[i].socket);
+ for (int i = 0; i < channelCount; i++) {
+ channels[i].setConnection(this->q_func());
+ channels[i].init();
}
}
@@ -156,47 +110,35 @@ int QHttpNetworkConnectionPrivate::indexOf(QAbstractSocket *socket) const
bool QHttpNetworkConnectionPrivate::isSocketBusy(QAbstractSocket *socket) const
{
int i = indexOf(socket);
- return (channels[i].state & BusyState);
+ return (channels[i].state & QHttpNetworkConnectionChannel::BusyState);
}
bool QHttpNetworkConnectionPrivate::isSocketWriting(QAbstractSocket *socket) const
{
int i = indexOf(socket);
- return (i != -1 && (channels[i].state & WritingState));
+ return (i != -1 && (channels[i].state & QHttpNetworkConnectionChannel::WritingState));
}
bool QHttpNetworkConnectionPrivate::isSocketWaiting(QAbstractSocket *socket) const
{
int i = indexOf(socket);
- return (i != -1 && (channels[i].state & WaitingState));
+ return (i != -1 && (channels[i].state & QHttpNetworkConnectionChannel::WaitingState));
}
bool QHttpNetworkConnectionPrivate::isSocketReading(QAbstractSocket *socket) const
{
int i = indexOf(socket);
- return (i != -1 && (channels[i].state & ReadingState));
-}
-
-
-void QHttpNetworkConnectionPrivate::appendUncompressedData(QHttpNetworkReply &reply, const QByteArray &fragment)
-{
- char *dst = reply.d_func()->responseData.reserve(fragment.size());
- qMemCopy(dst, fragment.constData(), fragment.size());
-}
-
-void QHttpNetworkConnectionPrivate::appendCompressedData(QHttpNetworkReply &reply, const QByteArray &fragment)
-{
- reply.d_func()->compressedData.append(fragment);
+ return (i != -1 && (channels[i].state & QHttpNetworkConnectionChannel::ReadingState));
}
qint64 QHttpNetworkConnectionPrivate::uncompressedBytesAvailable(const QHttpNetworkReply &reply) const
{
- return reply.d_func()->responseData.size();
+ return reply.d_func()->responseData.byteAmount();
}
qint64 QHttpNetworkConnectionPrivate::uncompressedBytesAvailableNextBlock(const QHttpNetworkReply &reply) const
{
- return reply.d_func()->responseData.nextDataBlockSize();
+ return reply.d_func()->responseData.sizeNextBlock();
}
qint64 QHttpNetworkConnectionPrivate::compressedBytesAvailable(const QHttpNetworkReply &reply) const
@@ -204,21 +146,6 @@ qint64 QHttpNetworkConnectionPrivate::compressedBytesAvailable(const QHttpNetwor
return reply.d_func()->compressedData.size();
}
-qint64 QHttpNetworkConnectionPrivate::read(QHttpNetworkReply &reply, QByteArray &data, qint64 maxSize)
-{
- QRingBuffer *rb = &reply.d_func()->responseData;
- if (maxSize == -1 || maxSize >= rb->size()) {
- // read the whole data
- data = rb->readAll();
- rb->clear();
- } else {
- // read only the requested length
- data.resize(maxSize);
- rb->read(data.data(), maxSize);
- }
- return data.size();
-}
-
void QHttpNetworkConnectionPrivate::eraseData(QHttpNetworkReply *reply)
{
reply->d_func()->compressedData.clear();
@@ -261,7 +188,12 @@ void QHttpNetworkConnectionPrivate::prepareRequest(HttpMessagePair &messagePair)
#ifndef QT_NO_NETWORKPROXY
}
#endif
- // set the gzip header
+
+ // If the request had a accept-encoding set, we better not mess
+ // with it. If it was not set, we announce that we understand gzip
+ // and remember this fact in request.d->autoDecompress so that
+ // we can later decompress the HTTP reply if it has such an
+ // encoding.
value = request.headerField("accept-encoding");
if (value.isEmpty()) {
#ifndef QT_NO_COMPRESS
@@ -305,7 +237,7 @@ bool QHttpNetworkConnectionPrivate::ensureConnection(QAbstractSocket *socket)
channels[index].resendCurrent = true;
return false;
}
- channels[index].state = ConnectingState;
+ channels[index].state = QHttpNetworkConnectionChannel::ConnectingState;
channels[index].pendingEncrypt = encrypt;
// This workaround is needed since we use QAuthenticator for NTLM authentication. The "phase == Done"
@@ -335,8 +267,9 @@ bool QHttpNetworkConnectionPrivate::ensureConnection(QAbstractSocket *socket)
#ifndef QT_NO_OPENSSL
QSslSocket *sslSocket = qobject_cast<QSslSocket*>(socket);
sslSocket->connectToHostEncrypted(connectHost, connectPort);
- if (channels[index].ignoreSSLErrors)
+ if (channels[index].ignoreAllSslErrors)
sslSocket->ignoreSslErrors();
+ sslSocket->ignoreSslErrors(channels[index].ignoreSslErrorsList);
#else
emitReplyError(socket, channels[index].reply, QNetworkReply::ProtocolUnknownError);
#endif
@@ -355,7 +288,7 @@ bool QHttpNetworkConnectionPrivate::sendRequest(QAbstractSocket *socket)
int i = indexOf(socket);
switch (channels[i].state) {
- case IdleState: { // write the header
+ case QHttpNetworkConnectionChannel::IdleState: { // write the header
if (!ensureConnection(socket)) {
// wait for the connection (and encryption) to be done
// sendRequest will be called again from either
@@ -369,7 +302,7 @@ bool QHttpNetworkConnectionPrivate::sendRequest(QAbstractSocket *socket)
channels[i].reply->d_func()->connection = q;
channels[i].reply->d_func()->autoDecompress = channels[i].request.d->autoDecompress;
}
- channels[i].state = WritingState;
+ channels[i].state = QHttpNetworkConnectionChannel::WritingState;
channels[i].pendingEncrypt = false;
// if the url contains authentication parameters, use the new ones
// both channels will use the new authentication parameters
@@ -399,24 +332,25 @@ bool QHttpNetworkConnectionPrivate::sendRequest(QAbstractSocket *socket)
QNonContiguousByteDevice* uploadByteDevice = channels[i].request.uploadByteDevice();
if (uploadByteDevice) {
// connect the signals so this function gets called again
- QObject::connect(uploadByteDevice, SIGNAL(readyRead()), q, SLOT(_q_uploadDataReadyRead()));
+ QObject::connect(uploadByteDevice, SIGNAL(readyRead()), &channels[i], SLOT(_q_uploadDataReadyRead()));
channels[i].bytesTotal = channels[i].request.contentLength();
} else {
- channels[i].state = WaitingState;
+ socket->flush(); // ### Remove this when pipelining is implemented. We want less TCP packets!
+ channels[i].state = QHttpNetworkConnectionChannel::WaitingState;
break;
}
// write the initial chunk together with the headers
// fall through
}
- case WritingState:
+ case QHttpNetworkConnectionChannel::WritingState:
{
// write the data
QNonContiguousByteDevice* uploadByteDevice = channels[i].request.uploadByteDevice();
if (!uploadByteDevice || channels[i].bytesTotal == channels[i].written) {
if (uploadByteDevice)
emit channels[i].reply->dataSendProgress(channels[i].written, channels[i].bytesTotal);
- channels[i].state = WaitingState; // now wait for response
+ channels[i].state = QHttpNetworkConnectionChannel::WaitingState; // now wait for response
sendRequest(socket);
break;
}
@@ -463,7 +397,7 @@ bool QHttpNetworkConnectionPrivate::sendRequest(QAbstractSocket *socket)
if (channels[i].written == channels[i].bytesTotal) {
// make sure this function is called once again
- channels[i].state = WaitingState;
+ channels[i].state = QHttpNetworkConnectionChannel::WaitingState;
sendRequest(socket);
break;
}
@@ -473,11 +407,11 @@ bool QHttpNetworkConnectionPrivate::sendRequest(QAbstractSocket *socket)
break;
}
- case WaitingState:
+ case QHttpNetworkConnectionChannel::WaitingState:
{
QNonContiguousByteDevice* uploadByteDevice = channels[i].request.uploadByteDevice();
if (uploadByteDevice) {
- QObject::disconnect(uploadByteDevice, SIGNAL(readyRead()), q, SLOT(_q_uploadDataReadyRead()));
+ QObject::disconnect(uploadByteDevice, SIGNAL(readyRead()), &channels[i], SLOT(_q_uploadDataReadyRead()));
}
// ensure we try to receive a reply in all cases, even if _q_readyRead_ hat not been called
// this is needed if the sends an reply before we have finished sending the request. In that
@@ -485,8 +419,8 @@ bool QHttpNetworkConnectionPrivate::sendRequest(QAbstractSocket *socket)
receiveReply(socket, channels[i].reply);
break;
}
- case ReadingState:
- case Wait4AuthState:
+ case QHttpNetworkConnectionChannel::ReadingState:
+ case QHttpNetworkConnectionChannel::Wait4AuthState:
// ignore _q_bytesWritten in these states
// fall through
default:
@@ -556,15 +490,14 @@ bool QHttpNetworkConnectionPrivate::expand(QAbstractSocket *socket, QHttpNetwork
if (ret >= retCheck) {
if (inflated.size()) {
reply->d_func()->totalProgress += inflated.size();
- appendUncompressedData(*reply, inflated);
+ reply->d_func()->appendUncompressedReplyData(inflated);
if (shouldEmitSignals(reply)) {
+ // important: At the point of this readyRead(), inflated must be cleared,
+ // else implicit sharing will trigger memcpy when the user is reading data!
emit reply->readyRead();
// make sure that the reply is valid
if (channels[i].reply != reply)
return true;
- // emit dataReadProgress signal (signal is currently not connected
- // to the rest of QNAM) since readProgress of the
- // QNonContiguousByteDevice is used
emit reply->dataReadProgress(reply->d_func()->totalProgress, 0);
// make sure that the reply is valid
if (channels[i].reply != reply)
@@ -595,7 +528,7 @@ void QHttpNetworkConnectionPrivate::receiveReply(QAbstractSocket *socket, QHttpN
if (!socket->bytesAvailable()) {
if (reply && reply->d_func()->state == QHttpNetworkReplyPrivate::ReadingDataState) {
reply->d_func()->state = QHttpNetworkReplyPrivate::AllDoneState;
- channels[i].state = IdleState;
+ channels[i].state = QHttpNetworkConnectionChannel::IdleState;
allDone(socket, reply);
} else {
// try to reconnect/resend before sending an error.
@@ -646,7 +579,7 @@ void QHttpNetworkConnectionPrivate::receiveReply(QAbstractSocket *socket, QHttpN
emit reply->headerChanged();
if (!expectContent(reply)) {
reply->d_func()->state = QHttpNetworkReplyPrivate::AllDoneState;
- channels[i].state = IdleState;
+ channels[i].state = QHttpNetworkConnectionChannel::IdleState;
allDone(socket, reply);
return;
}
@@ -674,25 +607,23 @@ void QHttpNetworkConnectionPrivate::receiveReply(QAbstractSocket *socket, QHttpN
{
// use the traditional slower reading (for compressed encoding, chunked encoding,
// no content-length etc)
- QBuffer fragment;
- fragment.open(QIODevice::WriteOnly);
- bytes = reply->d_func()->readBody(socket, &fragment);
+ QByteDataBuffer byteDatas;
+ bytes = reply->d_func()->readBody(socket, &byteDatas);
if (bytes) {
if (reply->d_func()->autoDecompress)
- appendCompressedData(*reply, fragment.data());
+ reply->d_func()->appendCompressedReplyData(byteDatas);
else
- appendUncompressedData(*reply, fragment.data());
+ reply->d_func()->appendUncompressedReplyData(byteDatas);
if (!reply->d_func()->autoDecompress) {
- reply->d_func()->totalProgress += fragment.size();
+ reply->d_func()->totalProgress += bytes;
if (shouldEmitSignals(reply)) {
+ // important: At the point of this readyRead(), the byteDatas list must be empty,
+ // else implicit sharing will trigger memcpy when the user is reading data!
emit reply->readyRead();
// make sure that the reply is valid
if (channels[i].reply != reply)
return;
- // emit dataReadProgress signal (signal is currently not connected
- // to the rest of QNAM) since readProgress of the
- // QNonContiguousByteDevice is used
emit reply->dataReadProgress(reply->d_func()->totalProgress, reply->d_func()->bodyLength);
// make sure that the reply is valid
if (channels[i].reply != reply)
@@ -711,7 +642,7 @@ void QHttpNetworkConnectionPrivate::receiveReply(QAbstractSocket *socket, QHttpN
// everything done, fall through
}
case QHttpNetworkReplyPrivate::AllDoneState:
- channels[i].state = IdleState;
+ channels[i].state = QHttpNetworkConnectionChannel::IdleState;
allDone(socket, reply);
break;
default:
@@ -860,11 +791,11 @@ bool QHttpNetworkConnectionPrivate::handleAuthenticateChallenge(QAbstractSocket
eraseData(channels[i].reply);
closeChannel(i);
channels[i].lastStatus = 0;
- channels[i].state = Wait4AuthState;
+ channels[i].state = QHttpNetworkConnectionChannel::Wait4AuthState;
return false;
}
// cannot use this socket until the slot returns
- channels[i].state = WaitingState;
+ channels[i].state = QHttpNetworkConnectionChannel::WaitingState;
socket->blockSignals(true);
if (!isProxy) {
pendingAuthSignal = true;
@@ -879,7 +810,7 @@ bool QHttpNetworkConnectionPrivate::handleAuthenticateChallenge(QAbstractSocket
}
socket->blockSignals(false);
// socket free to use
- channels[i].state = IdleState;
+ channels[i].state = QHttpNetworkConnectionChannel::IdleState;
if (priv->phase != QAuthenticatorPrivate::Done) {
// send any pending requests
copyCredentials(i, auth, isProxy);
@@ -902,8 +833,8 @@ bool QHttpNetworkConnectionPrivate::handleAuthenticateChallenge(QAbstractSocket
socket->close();
// remove pending request on the other channels
for (int j = 0; j < channelCount; ++j) {
- if (j != i && channels[j].state == Wait4AuthState)
- channels[j].state = IdleState;
+ if (j != i && channels[j].state == QHttpNetworkConnectionChannel::Wait4AuthState)
+ channels[j].state = QHttpNetworkConnectionChannel::IdleState;
}
return true;
}
@@ -999,11 +930,7 @@ void QHttpNetworkConnectionPrivate::unqueueAndSendRequest(QAbstractSocket *socke
void QHttpNetworkConnectionPrivate::closeChannel(int channel)
{
- QAbstractSocket *socket = channels[channel].socket;
- socket->blockSignals(true);
- socket->close();
- socket->blockSignals(false);
- channels[channel].state = IdleState;
+ channels[channel].close();
}
void QHttpNetworkConnectionPrivate::resendCurrentRequest(QAbstractSocket *socket)
@@ -1097,53 +1024,6 @@ void QHttpNetworkConnectionPrivate::removeReply(QHttpNetworkReply *reply)
}
-//private slots
-void QHttpNetworkConnectionPrivate::_q_readyRead()
-{
- Q_Q(QHttpNetworkConnection);
- QAbstractSocket *socket = qobject_cast<QAbstractSocket*>(q->sender());
- if (!socket)
- return; // ### error
- if (isSocketWaiting(socket) || isSocketReading(socket)) {
- int i = indexOf(socket);
- channels[i].state = ReadingState;
- if (channels[i].reply)
- receiveReply(socket, channels[i].reply);
- }
- // ### error
-}
-
-void QHttpNetworkConnectionPrivate::_q_bytesWritten(qint64 bytes)
-{
- Q_UNUSED(bytes);
- Q_Q(QHttpNetworkConnection);
- QAbstractSocket *socket = qobject_cast<QAbstractSocket*>(q->sender());
- if (!socket)
- return; // ### error
- // bytes have been written to the socket. write even more of them :)
- if (isSocketWriting(socket))
- sendRequest(socket);
- // otherwise we do nothing
-}
-
-void QHttpNetworkConnectionPrivate::_q_disconnected()
-{
- Q_Q(QHttpNetworkConnection);
- QAbstractSocket *socket = qobject_cast<QAbstractSocket*>(q->sender());
- if (!socket)
- return; // ### error
- // read the available data before closing
- int i = indexOf(socket);
- if (isSocketWaiting(socket) || isSocketReading(socket)) {
- channels[i].state = ReadingState;
- if (channels[i].reply)
- receiveReply(socket, channels[i].reply);
- } else if (channels[i].state == IdleState && channels[i].resendCurrent) {
- // re-sending request because the socket was in ClosingState
- QMetaObject::invokeMethod(q, "_q_startNextRequest", Qt::QueuedConnection);
- }
- channels[i].state = IdleState;
-}
void QHttpNetworkConnectionPrivate::_q_startNextRequest()
{
@@ -1151,7 +1031,7 @@ void QHttpNetworkConnectionPrivate::_q_startNextRequest()
for (int i = 0; i < channelCount; ++i) {
if (channels[i].resendCurrent) {
channels[i].resendCurrent = false;
- channels[i].state = IdleState;
+ channels[i].state = QHttpNetworkConnectionChannel::IdleState;
if (channels[i].reply)
sendRequest(channels[i].socket);
}
@@ -1175,125 +1055,14 @@ void QHttpNetworkConnectionPrivate::_q_restartAuthPendingRequests()
// send the request using the idle socket
for (int i = 0 ; i < channelCount; ++i) {
QAbstractSocket *socket = channels[i].socket;
- if (channels[i].state == Wait4AuthState) {
- channels[i].state = IdleState;
+ if (channels[i].state == QHttpNetworkConnectionChannel::Wait4AuthState) {
+ channels[i].state = QHttpNetworkConnectionChannel::IdleState;
if (channels[i].reply)
sendRequest(socket);
}
}
}
-void QHttpNetworkConnectionPrivate::_q_connected()
-{
- Q_Q(QHttpNetworkConnection);
- QAbstractSocket *socket = qobject_cast<QAbstractSocket*>(q->sender());
- if (!socket)
- return; // ### error
- int i = indexOf(socket);
- // ### FIXME: if the server closes the connection unexpectedly, we shouldn't send the same broken request again!
- //channels[i].reconnectAttempts = 2;
- if (!channels[i].pendingEncrypt) {
- channels[i].state = IdleState;
- if (channels[i].reply)
- sendRequest(socket);
- else
- closeChannel(i);
- }
-}
-
-
-void QHttpNetworkConnectionPrivate::_q_error(QAbstractSocket::SocketError socketError)
-{
- Q_Q(QHttpNetworkConnection);
- QAbstractSocket *socket = qobject_cast<QAbstractSocket*>(q->sender());
- if (!socket)
- return;
- bool send2Reply = false;
- int i = indexOf(socket);
- QNetworkReply::NetworkError errorCode = QNetworkReply::UnknownNetworkError;
-
- switch (socketError) {
- case QAbstractSocket::HostNotFoundError:
- errorCode = QNetworkReply::HostNotFoundError;
- break;
- case QAbstractSocket::ConnectionRefusedError:
- errorCode = QNetworkReply::ConnectionRefusedError;
- break;
- case QAbstractSocket::RemoteHostClosedError:
- // try to reconnect/resend before sending an error.
- // while "Reading" the _q_disconnected() will handle this.
- if (channels[i].state != IdleState && channels[i].state != ReadingState) {
- if (channels[i].reconnectAttempts-- > 0) {
- resendCurrentRequest(socket);
- return;
- } else {
- send2Reply = true;
- errorCode = QNetworkReply::RemoteHostClosedError;
- }
- } else {
- return;
- }
- break;
- case QAbstractSocket::SocketTimeoutError:
- // try to reconnect/resend before sending an error.
- if (channels[i].state == WritingState && (channels[i].reconnectAttempts-- > 0)) {
- resendCurrentRequest(socket);
- return;
- }
- send2Reply = true;
- errorCode = QNetworkReply::TimeoutError;
- break;
- case QAbstractSocket::ProxyAuthenticationRequiredError:
- errorCode = QNetworkReply::ProxyAuthenticationRequiredError;
- break;
- case QAbstractSocket::SslHandshakeFailedError:
- errorCode = QNetworkReply::SslHandshakeFailedError;
- break;
- default:
- // all other errors are treated as NetworkError
- errorCode = QNetworkReply::UnknownNetworkError;
- break;
- }
- QPointer<QObject> that = q;
- QString errorString = errorDetail(errorCode, socket);
- if (send2Reply) {
- if (channels[i].reply) {
- channels[i].reply->d_func()->errorString = errorString;
- // this error matters only to this reply
- emit channels[i].reply->finishedWithError(errorCode, errorString);
- }
- // send the next request
- QMetaObject::invokeMethod(that, "_q_startNextRequest", Qt::QueuedConnection);
- } else {
- // the failure affects all requests.
- emit q->error(errorCode, errorString);
- }
- if (that) //signals make enter the event loop
- closeChannel(i);
-}
-
-#ifndef QT_NO_NETWORKPROXY
-void QHttpNetworkConnectionPrivate::_q_proxyAuthenticationRequired(const QNetworkProxy &proxy, QAuthenticator* auth)
-{
- Q_Q(QHttpNetworkConnection);
- emit q->proxyAuthenticationRequired(proxy, auth, q);
-}
-#endif
-
-void QHttpNetworkConnectionPrivate::_q_uploadDataReadyRead()
-{
- Q_Q(QHttpNetworkConnection);
- // upload data emitted readyRead()
- // find out which channel it is for
- QObject *sender = q->sender();
-
- for (int i = 0; i < channelCount; ++i) {
- if (sender == channels[i].request.uploadByteDevice()) {
- sendRequest(channels[i].socket);
- break;
- }
- }
-}
QHttpNetworkConnection::QHttpNetworkConnection(const QString &hostName, quint16 port, bool encrypt, QObject *parent)
: QObject(*(new QHttpNetworkConnectionPrivate(hostName, port, encrypt)), parent)
@@ -1388,27 +1157,6 @@ QNetworkProxy QHttpNetworkConnection::transparentProxy() const
// SSL support below
#ifndef QT_NO_OPENSSL
-void QHttpNetworkConnectionPrivate::_q_encrypted()
-{
- Q_Q(QHttpNetworkConnection);
- QAbstractSocket *socket = qobject_cast<QAbstractSocket*>(q->sender());
- if (!socket)
- return; // ### error
- int i = indexOf(socket);
- channels[i].state = IdleState;
- sendRequest(socket);
-}
-
-void QHttpNetworkConnectionPrivate::_q_sslErrors(const QList<QSslError> &errors)
-{
- Q_Q(QHttpNetworkConnection);
- QAbstractSocket *socket = qobject_cast<QAbstractSocket*>(q->sender());
- if (!socket)
- return;
- //QNetworkReply::NetworkError errorCode = QNetworkReply::ProtocolFailure;
- emit q->sslErrors(errors);
-}
-
QSslConfiguration QHttpNetworkConnectionPrivate::sslConfiguration(const QHttpNetworkReply &reply) const
{
if (!encrypt)
@@ -1440,15 +1188,32 @@ void QHttpNetworkConnection::ignoreSslErrors(int channel)
if (channel == -1) { // ignore for all channels
for (int i = 0; i < d->channelCount; ++i) {
static_cast<QSslSocket *>(d->channels[i].socket)->ignoreSslErrors();
- d->channels[i].ignoreSSLErrors = true;
+ d->channels[i].ignoreAllSslErrors = true;
}
} else {
static_cast<QSslSocket *>(d->channels[channel].socket)->ignoreSslErrors();
- d->channels[channel].ignoreSSLErrors = true;
+ d->channels[channel].ignoreAllSslErrors = true;
}
}
+void QHttpNetworkConnection::ignoreSslErrors(const QList<QSslError> &errors, int channel)
+{
+ Q_D(QHttpNetworkConnection);
+ if (!d->encrypt)
+ return;
+
+ if (channel == -1) { // ignore for all channels
+ for (int i = 0; i < d->channelCount; ++i) {
+ static_cast<QSslSocket *>(d->channels[i].socket)->ignoreSslErrors(errors);
+ d->channels[i].ignoreSslErrorsList = errors;
+ }
+
+ } else {
+ static_cast<QSslSocket *>(d->channels[channel].socket)->ignoreSslErrors(errors);
+ d->channels[channel].ignoreSslErrorsList = errors;
+ }
+}
#endif //QT_NO_OPENSSL
diff --git a/src/network/access/qhttpnetworkconnection_p.h b/src/network/access/qhttpnetworkconnection_p.h
index 3b23870..d6b0325 100644
--- a/src/network/access/qhttpnetworkconnection_p.h
+++ b/src/network/access/qhttpnetworkconnection_p.h
@@ -65,6 +65,7 @@
#include <private/qhttpnetworkrequest_p.h>
#include <private/qhttpnetworkreply_p.h>
+#include "qhttpnetworkconnectionchannel_p.h"
#ifndef QT_NO_HTTP
@@ -79,6 +80,7 @@ QT_BEGIN_NAMESPACE
class QHttpNetworkRequest;
class QHttpNetworkReply;
+class QByteArray;
class QHttpNetworkConnectionPrivate;
class Q_AUTOTEST_EXPORT QHttpNetworkConnection : public QObject
@@ -116,6 +118,7 @@ public:
#ifndef QT_NO_OPENSSL
void setSslConfiguration(const QSslConfiguration &config);
void ignoreSslErrors(int channel = -1);
+ void ignoreSslErrors(const QList<QSslError> &errors, int channel = -1);
Q_SIGNALS:
void sslErrors(const QList<QSslError> &errors);
@@ -132,31 +135,16 @@ Q_SIGNALS:
void error(QNetworkReply::NetworkError errorCode, const QString &detail = QString());
private:
- Q_DECLARE_SCOPED_PRIVATE(QHttpNetworkConnection)
+ Q_DECLARE_PRIVATE(QHttpNetworkConnection)
Q_DISABLE_COPY(QHttpNetworkConnection)
friend class QHttpNetworkReply;
+ friend class QHttpNetworkConnectionChannel;
- Q_PRIVATE_SLOT(d_func(), void _q_bytesWritten(qint64))
- Q_PRIVATE_SLOT(d_func(), void _q_readyRead())
- Q_PRIVATE_SLOT(d_func(), void _q_disconnected())
Q_PRIVATE_SLOT(d_func(), void _q_startNextRequest())
Q_PRIVATE_SLOT(d_func(), void _q_restartAuthPendingRequests())
- Q_PRIVATE_SLOT(d_func(), void _q_connected())
- Q_PRIVATE_SLOT(d_func(), void _q_error(QAbstractSocket::SocketError))
-#ifndef QT_NO_NETWORKPROXY
- Q_PRIVATE_SLOT(d_func(), void _q_proxyAuthenticationRequired(const QNetworkProxy&, QAuthenticator*))
-#endif
- Q_PRIVATE_SLOT(d_func(), void _q_uploadDataReadyRead())
-
-#ifndef QT_NO_OPENSSL
- Q_PRIVATE_SLOT(d_func(), void _q_encrypted())
- Q_PRIVATE_SLOT(d_func(), void _q_sslErrors(const QList<QSslError>&))
-#endif
};
-
-
// private classes
typedef QPair<QHttpNetworkRequest, QHttpNetworkReply*> HttpMessagePair;
@@ -168,17 +156,6 @@ public:
QHttpNetworkConnectionPrivate(const QString &hostName, quint16 port, bool encrypt);
~QHttpNetworkConnectionPrivate();
void init();
- void connectSignals(QAbstractSocket *socket);
-
- enum SocketState {
- IdleState = 0, // ready to send request
- ConnectingState = 1, // connecting to host
- WritingState = 2, // writing the data
- WaitingState = 4, // waiting for reply
- ReadingState = 8, // reading the reply
- Wait4AuthState = 0x10, // blocked for send till the current authentication slot is done
- BusyState = (ConnectingState|WritingState|WaitingState|ReadingState|Wait4AuthState)
- };
enum { ChunkSize = 4096 };
@@ -198,18 +175,8 @@ public:
void copyCredentials(int fromChannel, QAuthenticator *auth, bool isProxy);
// private slots
- void _q_bytesWritten(qint64 bytes); // proceed sending
- void _q_readyRead(); // pending data to read
- void _q_disconnected(); // disconnected from host
void _q_startNextRequest(); // send the next request from the queue
void _q_restartAuthPendingRequests(); // send the currently blocked request
- void _q_connected(); // start sending request
- void _q_error(QAbstractSocket::SocketError); // error from socket
-#ifndef QT_NO_NETWORKPROXY
- void _q_proxyAuthenticationRequired(const QNetworkProxy &proxy, QAuthenticator *auth); // from transparent proxy
-#endif
-
- void _q_uploadDataReadyRead();
void createAuthorization(QAbstractSocket *socket, QHttpNetworkRequest &request);
bool ensureConnection(QAbstractSocket *socket);
@@ -224,46 +191,16 @@ public:
quint16 port;
bool encrypt;
- struct Channel {
- QAbstractSocket *socket;
- SocketState state;
- QHttpNetworkRequest request; // current request
- QHttpNetworkReply *reply; // current reply for this request
- qint64 written;
- qint64 bytesTotal;
- bool resendCurrent;
- int lastStatus; // last status received on this channel
- bool pendingEncrypt; // for https (send after encrypted)
- int reconnectAttempts; // maximum 2 reconnection attempts
- QAuthenticatorPrivate::Method authMehtod;
- QAuthenticatorPrivate::Method proxyAuthMehtod;
- QAuthenticator authenticator;
- QAuthenticator proxyAuthenticator;
-#ifndef QT_NO_OPENSSL
- bool ignoreSSLErrors;
-#endif
- Channel() : socket(0), state(IdleState), reply(0), written(0), bytesTotal(0), resendCurrent(false),
- lastStatus(0), pendingEncrypt(false), reconnectAttempts(2),
- authMehtod(QAuthenticatorPrivate::None), proxyAuthMehtod(QAuthenticatorPrivate::None)
-#ifndef QT_NO_OPENSSL
- , ignoreSSLErrors(false)
-#endif
- {}
- };
static const int channelCount;
- Channel *channels; // parallel connections to the server
+ QHttpNetworkConnectionChannel *channels; // parallel connections to the server
+
bool pendingAuthSignal; // there is an incomplete authentication signal
bool pendingProxyAuthSignal; // there is an incomplete proxy authentication signal
- void appendUncompressedData(QHttpNetworkReply &reply, const QByteArray &fragment);
- void appendCompressedData(QHttpNetworkReply &reply, const QByteArray &fragment);
-
qint64 uncompressedBytesAvailable(const QHttpNetworkReply &reply) const;
qint64 uncompressedBytesAvailableNextBlock(const QHttpNetworkReply &reply) const;
qint64 compressedBytesAvailable(const QHttpNetworkReply &reply) const;
- qint64 read(QHttpNetworkReply &reply, QByteArray &data, qint64 maxSize);
-
void emitReplyError(QAbstractSocket *socket, QHttpNetworkReply *reply, QNetworkReply::NetworkError errorCode);
bool handleAuthenticateChallenge(QAbstractSocket *socket, QHttpNetworkReply *reply, bool isProxy, bool &resend);
void allDone(QAbstractSocket *socket, QHttpNetworkReply *reply);
@@ -272,8 +209,6 @@ public:
inline bool expectContent(QHttpNetworkReply *reply);
#ifndef QT_NO_OPENSSL
- void _q_encrypted(); // start sending request (https)
- void _q_sslErrors(const QList<QSslError> &errors); // ssl errors from the socket
QSslConfiguration sslConfiguration(const QHttpNetworkReply &reply) const;
#endif
@@ -284,6 +219,8 @@ public:
//The request queues
QList<HttpMessagePair> highPriorityQueue;
QList<HttpMessagePair> lowPriorityQueue;
+
+ friend class QHttpNetworkConnectionChannel;
};
diff --git a/src/network/access/qhttpnetworkconnectionchannel.cpp b/src/network/access/qhttpnetworkconnectionchannel.cpp
new file mode 100644
index 0000000..6cd46fd
--- /dev/null
+++ b/src/network/access/qhttpnetworkconnectionchannel.cpp
@@ -0,0 +1,278 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtNetwork module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "qhttpnetworkconnection_p.h"
+#include "qhttpnetworkconnectionchannel_p.h"
+
+#include <qpair.h>
+#include <qdebug.h>
+
+#ifndef QT_NO_HTTP
+
+#ifndef QT_NO_OPENSSL
+# include <QtNetwork/qsslkey.h>
+# include <QtNetwork/qsslcipher.h>
+# include <QtNetwork/qsslconfiguration.h>
+#endif
+
+QT_BEGIN_NAMESPACE
+
+// TODO: Put channel specific stuff here so it does not polute qhttpnetworkconnection.cpp
+
+void QHttpNetworkConnectionChannel::init()
+{
+#ifndef QT_NO_OPENSSL
+ if (connection->d_func()->encrypt)
+ socket = new QSslSocket;
+ else
+ socket = new QTcpSocket;
+#else
+ socket = new QTcpSocket;
+#endif
+
+ QObject::connect(socket, SIGNAL(bytesWritten(qint64)),
+ this, SLOT(_q_bytesWritten(qint64)),
+ Qt::DirectConnection);
+ QObject::connect(socket, SIGNAL(connected()),
+ this, SLOT(_q_connected()),
+ Qt::DirectConnection);
+ QObject::connect(socket, SIGNAL(readyRead()),
+ this, SLOT(_q_readyRead()),
+ Qt::DirectConnection);
+ QObject::connect(socket, SIGNAL(disconnected()),
+ this, SLOT(_q_disconnected()),
+ Qt::DirectConnection);
+ QObject::connect(socket, SIGNAL(error(QAbstractSocket::SocketError)),
+ this, SLOT(_q_error(QAbstractSocket::SocketError)),
+ Qt::DirectConnection);
+#ifndef QT_NO_NETWORKPROXY
+ QObject::connect(socket, SIGNAL(proxyAuthenticationRequired(const QNetworkProxy&, QAuthenticator*)),
+ this, SLOT(_q_proxyAuthenticationRequired(const QNetworkProxy&, QAuthenticator*)),
+ Qt::DirectConnection);
+#endif
+
+#ifndef QT_NO_OPENSSL
+ QSslSocket *sslSocket = qobject_cast<QSslSocket*>(socket);
+ if (sslSocket) {
+ // won't be a sslSocket if encrypt is false
+ QObject::connect(sslSocket, SIGNAL(encrypted()),
+ this, SLOT(_q_encrypted()),
+ Qt::DirectConnection);
+ QObject::connect(sslSocket, SIGNAL(sslErrors(const QList<QSslError>&)),
+ this, SLOT(_q_sslErrors(const QList<QSslError>&)),
+ Qt::DirectConnection);
+ }
+#endif
+}
+
+
+void QHttpNetworkConnectionChannel::close()
+{
+ socket->blockSignals(true);
+ socket->close();
+ socket->blockSignals(false);
+ state = QHttpNetworkConnectionChannel::IdleState;
+}
+
+
+//private slots
+void QHttpNetworkConnectionChannel::_q_readyRead()
+{
+ if (!socket)
+ return; // ### error
+ if (connection->d_func()->isSocketWaiting(socket) || connection->d_func()->isSocketReading(socket)) {
+ state = QHttpNetworkConnectionChannel::ReadingState;
+ if (reply)
+ connection->d_func()->receiveReply(socket, reply);
+ }
+ // ### error
+}
+
+void QHttpNetworkConnectionChannel::_q_bytesWritten(qint64 bytes)
+{
+ Q_UNUSED(bytes);
+ if (!socket)
+ return; // ### error
+ // bytes have been written to the socket. write even more of them :)
+ if (connection->d_func()->isSocketWriting(socket))
+ connection->d_func()->sendRequest(socket);
+ // otherwise we do nothing
+}
+
+void QHttpNetworkConnectionChannel::_q_disconnected()
+{
+ if (!socket)
+ return; // ### error
+ // read the available data before closing
+ if (connection->d_func()->isSocketWaiting(socket) || connection->d_func()->isSocketReading(socket)) {
+ state = QHttpNetworkConnectionChannel::ReadingState;
+ if (reply)
+ connection->d_func()->receiveReply(socket, reply);
+ } else if (state == QHttpNetworkConnectionChannel::IdleState && resendCurrent) {
+ // re-sending request because the socket was in ClosingState
+ QMetaObject::invokeMethod(connection, "_q_startNextRequest", Qt::QueuedConnection);
+ }
+ state = QHttpNetworkConnectionChannel::IdleState;
+}
+
+
+void QHttpNetworkConnectionChannel::_q_connected()
+{
+ if (!socket)
+ return; // ### error
+
+ // improve performance since we get the request sent by the kernel ASAP
+ socket->setSocketOption(QAbstractSocket::LowDelayOption, 1);
+
+ // ### FIXME: if the server closes the connection unexpectedly, we shouldn't send the same broken request again!
+ //channels[i].reconnectAttempts = 2;
+ if (!pendingEncrypt) {
+ state = QHttpNetworkConnectionChannel::IdleState;
+ if (reply)
+ connection->d_func()->sendRequest(socket);
+ else
+ close();
+ }
+}
+
+
+void QHttpNetworkConnectionChannel::_q_error(QAbstractSocket::SocketError socketError)
+{
+ if (!socket)
+ return;
+ bool send2Reply = false;
+ QNetworkReply::NetworkError errorCode = QNetworkReply::UnknownNetworkError;
+
+ switch (socketError) {
+ case QAbstractSocket::HostNotFoundError:
+ errorCode = QNetworkReply::HostNotFoundError;
+ break;
+ case QAbstractSocket::ConnectionRefusedError:
+ errorCode = QNetworkReply::ConnectionRefusedError;
+ break;
+ case QAbstractSocket::RemoteHostClosedError:
+ // try to reconnect/resend before sending an error.
+ // while "Reading" the _q_disconnected() will handle this.
+ if (state != QHttpNetworkConnectionChannel::IdleState && state != QHttpNetworkConnectionChannel::ReadingState) {
+ if (reconnectAttempts-- > 0) {
+ connection->d_func()->resendCurrentRequest(socket);
+ return;
+ } else {
+ send2Reply = true;
+ errorCode = QNetworkReply::RemoteHostClosedError;
+ }
+ } else {
+ return;
+ }
+ break;
+ case QAbstractSocket::SocketTimeoutError:
+ // try to reconnect/resend before sending an error.
+ if (state == QHttpNetworkConnectionChannel::WritingState && (reconnectAttempts-- > 0)) {
+ connection->d_func()->resendCurrentRequest(socket);
+ return;
+ }
+ send2Reply = true;
+ errorCode = QNetworkReply::TimeoutError;
+ break;
+ case QAbstractSocket::ProxyAuthenticationRequiredError:
+ errorCode = QNetworkReply::ProxyAuthenticationRequiredError;
+ break;
+ case QAbstractSocket::SslHandshakeFailedError:
+ errorCode = QNetworkReply::SslHandshakeFailedError;
+ break;
+ default:
+ // all other errors are treated as NetworkError
+ errorCode = QNetworkReply::UnknownNetworkError;
+ break;
+ }
+ QPointer<QObject> that = connection;
+ QString errorString = connection->d_func()->errorDetail(errorCode, socket);
+ if (send2Reply) {
+ if (reply) {
+ reply->d_func()->errorString = errorString;
+ // this error matters only to this reply
+ emit reply->finishedWithError(errorCode, errorString);
+ }
+ // send the next request
+ QMetaObject::invokeMethod(that, "_q_startNextRequest", Qt::QueuedConnection);
+ } else {
+ // the failure affects all requests.
+ emit connection->error(errorCode, errorString);
+ }
+ if (that) //signal emission triggered event loop
+ close();
+}
+
+#ifndef QT_NO_NETWORKPROXY
+void QHttpNetworkConnectionChannel::_q_proxyAuthenticationRequired(const QNetworkProxy &proxy, QAuthenticator* auth)
+{
+ emit connection->proxyAuthenticationRequired(proxy, auth, connection);
+}
+#endif
+
+void QHttpNetworkConnectionChannel::_q_uploadDataReadyRead()
+{
+ connection->d_func()->sendRequest(socket);
+}
+
+#ifndef QT_NO_OPENSSL
+void QHttpNetworkConnectionChannel::_q_encrypted()
+{
+ if (!socket)
+ return; // ### error
+ state = QHttpNetworkConnectionChannel::IdleState;
+ connection->d_func()->sendRequest(socket);
+}
+
+void QHttpNetworkConnectionChannel::_q_sslErrors(const QList<QSslError> &errors)
+{
+ if (!socket)
+ return;
+ //QNetworkReply::NetworkError errorCode = QNetworkReply::ProtocolFailure;
+ emit connection->sslErrors(errors);
+}
+#endif
+
+QT_END_NAMESPACE
+
+#include "moc_qhttpnetworkconnectionchannel_p.cpp"
+
+#endif // QT_NO_HTTP
diff --git a/src/network/access/qhttpnetworkconnectionchannel_p.h b/src/network/access/qhttpnetworkconnectionchannel_p.h
new file mode 100644
index 0000000..013e7a5
--- /dev/null
+++ b/src/network/access/qhttpnetworkconnectionchannel_p.h
@@ -0,0 +1,154 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtNetwork module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QHTTPNETWORKCONNECTIONCHANNEL_H
+#define QHTTPNETWORKCONNECTIONCHANNEL_H
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists for the convenience
+// of the Network Access API. This header file may change from
+// version to version without notice, or even be removed.
+//
+// We mean it.
+//
+#include <QtNetwork/qnetworkrequest.h>
+#include <QtNetwork/qnetworkreply.h>
+#include <QtNetwork/qabstractsocket.h>
+
+#include <private/qobject_p.h>
+#include <qauthenticator.h>
+#include <qnetworkproxy.h>
+#include <qbuffer.h>
+
+#include <private/qhttpnetworkheader_p.h>
+#include <private/qhttpnetworkrequest_p.h>
+#include <private/qhttpnetworkreply_p.h>
+
+
+#ifndef QT_NO_HTTP
+
+#ifndef QT_NO_OPENSSL
+# include <QtNetwork/qsslsocket.h>
+# include <QtNetwork/qsslerror.h>
+#else
+# include <QtNetwork/qtcpsocket.h>
+#endif
+
+QT_BEGIN_NAMESPACE
+
+class QHttpNetworkRequest;
+class QHttpNetworkReply;
+class QByteArray;
+class QHttpNetworkConnection;
+
+class QHttpNetworkConnectionChannel : public QObject {
+ Q_OBJECT
+public:
+ enum ChannelState {
+ IdleState = 0, // ready to send request
+ ConnectingState = 1, // connecting to host
+ WritingState = 2, // writing the data
+ WaitingState = 4, // waiting for reply
+ ReadingState = 8, // reading the reply
+ Wait4AuthState = 0x10, // blocked for send till the current authentication slot is done
+ BusyState = (ConnectingState|WritingState|WaitingState|ReadingState|Wait4AuthState)
+ };
+ QAbstractSocket *socket;
+ ChannelState state;
+ QHttpNetworkRequest request; // current request
+ QHttpNetworkReply *reply; // current reply for this request
+ qint64 written;
+ qint64 bytesTotal;
+ bool resendCurrent;
+ int lastStatus; // last status received on this channel
+ bool pendingEncrypt; // for https (send after encrypted)
+ int reconnectAttempts; // maximum 2 reconnection attempts
+ QAuthenticatorPrivate::Method authMehtod;
+ QAuthenticatorPrivate::Method proxyAuthMehtod;
+ QAuthenticator authenticator;
+ QAuthenticator proxyAuthenticator;
+#ifndef QT_NO_OPENSSL
+ bool ignoreAllSslErrors;
+ QList<QSslError> ignoreSslErrorsList;
+#endif
+ QHttpNetworkConnectionChannel() : socket(0), state(IdleState), reply(0), written(0), bytesTotal(0), resendCurrent(false),
+ lastStatus(0), pendingEncrypt(false), reconnectAttempts(2),
+ authMehtod(QAuthenticatorPrivate::None), proxyAuthMehtod(QAuthenticatorPrivate::None)
+#ifndef QT_NO_OPENSSL
+ , ignoreAllSslErrors(false)
+#endif
+ , connection(0)
+ {}
+
+ void setConnection(QHttpNetworkConnection *c) {connection = c;}
+ QHttpNetworkConnection *connection;
+
+ void init();
+ void close();
+
+ protected slots:
+ void _q_bytesWritten(qint64 bytes); // proceed sending
+ void _q_readyRead(); // pending data to read
+ void _q_disconnected(); // disconnected from host
+ void _q_connected(); // start sending request
+ void _q_error(QAbstractSocket::SocketError); // error from socket
+#ifndef QT_NO_NETWORKPROXY
+ void _q_proxyAuthenticationRequired(const QNetworkProxy &proxy, QAuthenticator *auth); // from transparent proxy
+#endif
+
+ void _q_uploadDataReadyRead();
+
+#ifndef QT_NO_OPENSSL
+ void _q_encrypted(); // start sending request (https)
+ void _q_sslErrors(const QList<QSslError> &errors); // ssl errors from the socket
+#endif
+};
+
+
+
+QT_END_NAMESPACE
+
+#endif // QT_NO_HTTP
+
+#endif
diff --git a/src/network/access/qhttpnetworkreply.cpp b/src/network/access/qhttpnetworkreply.cpp
index 5319252..52672d5 100644
--- a/src/network/access/qhttpnetworkreply.cpp
+++ b/src/network/access/qhttpnetworkreply.cpp
@@ -176,13 +176,10 @@ qint64 QHttpNetworkReply::bytesAvailableNextBlock() const
return -1;
}
-QByteArray QHttpNetworkReply::read(qint64 maxSize)
+QByteArray QHttpNetworkReply::readAny()
{
Q_D(QHttpNetworkReply);
- QByteArray data;
- if (d->connection)
- d->connection->d_func()->read(*this, data, maxSize);
- return data;
+ return d->responseData.read();
}
bool QHttpNetworkReply::isFinished() const
@@ -195,8 +192,9 @@ bool QHttpNetworkReply::isFinished() const
QHttpNetworkReplyPrivate::QHttpNetworkReplyPrivate(const QUrl &newUrl)
: QHttpNetworkHeaderPrivate(newUrl), state(NothingDoneState), statusCode(100),
majorVersion(0), minorVersion(0), bodyLength(0), contentRead(0), totalProgress(0),
+ chunkedTransferEncoding(0),
currentChunkSize(0), currentChunkRead(0), connection(0), initInflate(false),
- autoDecompress(false), requestIsPrepared(false)
+ autoDecompress(false), responseData(), requestIsPrepared(false)
{
}
@@ -498,6 +496,9 @@ qint64 QHttpNetworkReplyPrivate::readHeader(QAbstractSocket *socket)
state = ReadingDataState;
fragment.clear(); // next fragment
bodyLength = contentLength(); // cache the length
+
+ // cache isChunked() since it is called often
+ chunkedTransferEncoding = headerField("transfer-encoding").toLower().contains("chunked");
}
return bytes;
}
@@ -538,7 +539,7 @@ void QHttpNetworkReplyPrivate::parseHeader(const QByteArray &header)
bool QHttpNetworkReplyPrivate::isChunked()
{
- return headerField("transfer-encoding").toLower().contains("chunked");
+ return chunkedTransferEncoding;
}
bool QHttpNetworkReplyPrivate::connectionCloseEnabled()
@@ -549,17 +550,19 @@ bool QHttpNetworkReplyPrivate::connectionCloseEnabled()
// note this function can only be used for non-chunked, non-compressed with
// known content length
-qint64 QHttpNetworkReplyPrivate::readBodyFast(QAbstractSocket *socket, QRingBuffer *rb)
+qint64 QHttpNetworkReplyPrivate::readBodyFast(QAbstractSocket *socket, QByteDataBuffer *rb)
{
- quint64 toBeRead = qMin(socket->bytesAvailable(), bodyLength - contentRead);
- char* dst = rb->reserve(toBeRead);
- qint64 haveRead = socket->read(dst, toBeRead);
+ qint64 toBeRead = qMin(socket->bytesAvailable(), bodyLength - contentRead);
+ QByteArray bd;
+ bd.resize(toBeRead);
+ qint64 haveRead = socket->read(bd.data(), bd.size());
if (haveRead == -1) {
- rb->chop(toBeRead);
+ bd.clear();
return 0; // ### error checking here;
}
+ bd.resize(haveRead);
- rb->chop(toBeRead - haveRead);
+ rb->append(bd);
if (contentRead + haveRead == bodyLength) {
state = AllDoneState;
@@ -571,7 +574,7 @@ qint64 QHttpNetworkReplyPrivate::readBodyFast(QAbstractSocket *socket, QRingBuff
}
-qint64 QHttpNetworkReplyPrivate::readBody(QAbstractSocket *socket, QIODevice *out)
+qint64 QHttpNetworkReplyPrivate::readBody(QAbstractSocket *socket, QByteDataBuffer *out)
{
qint64 bytes = 0;
if (isChunked()) {
@@ -589,33 +592,35 @@ qint64 QHttpNetworkReplyPrivate::readBody(QAbstractSocket *socket, QIODevice *ou
return bytes;
}
-qint64 QHttpNetworkReplyPrivate::readReplyBodyRaw(QIODevice *in, QIODevice *out, qint64 size)
+qint64 QHttpNetworkReplyPrivate::readReplyBodyRaw(QIODevice *in, QByteDataBuffer *out, qint64 size)
{
qint64 bytes = 0;
Q_ASSERT(in);
Q_ASSERT(out);
int toBeRead = qMin<qint64>(128*1024, qMin<qint64>(size, in->bytesAvailable()));
- QByteArray raw(toBeRead, 0);
- while (size > 0) {
- qint64 read = in->read(raw.data(), raw.size());
- if (read == 0)
- return bytes;
- // ### error checking here
- qint64 written = out->write(raw.data(), read);
- if (written == 0)
+ while (toBeRead > 0) {
+ QByteArray byteData;
+ byteData.resize(toBeRead);
+ qint64 haveRead = in->read(byteData.data(), byteData.size());
+ if (haveRead <= 0) {
+ // ### error checking here
+ byteData.clear();
return bytes;
- if (read != written)
- qDebug() << "### read" << read << "written" << written;
- bytes += read;
- size -= read;
- out->waitForBytesWritten(-1); // throttle
+ }
+
+ byteData.resize(haveRead);
+ out->append(byteData);
+ bytes += haveRead;
+ size -= haveRead;
+
+ toBeRead = qMin<qint64>(128*1024, qMin<qint64>(size, in->bytesAvailable()));
}
return bytes;
}
-qint64 QHttpNetworkReplyPrivate::readReplyBodyChunked(QIODevice *in, QIODevice *out)
+qint64 QHttpNetworkReplyPrivate::readReplyBodyChunked(QIODevice *in, QByteDataBuffer *out)
{
qint64 bytes = 0;
while (in->bytesAvailable()) { // while we can read from input
@@ -636,17 +641,14 @@ qint64 QHttpNetworkReplyPrivate::readReplyBodyChunked(QIODevice *in, QIODevice *
state = AllDoneState;
break;
}
- // otherwise, read data
- qint64 readSize = qMin(in->bytesAvailable(), currentChunkSize - currentChunkRead);
- QByteArray buffer(readSize, 0);
- qint64 read = in->read(buffer.data(), readSize);
- bytes += read;
- currentChunkRead += read;
- qint64 written = out->write(buffer);
- Q_UNUSED(written); // Avoid compile warning when building release
- Q_ASSERT(read == written);
+
+ // otherwise, try to read what is missing for this chunk
+ qint64 haveRead = readReplyBodyRaw (in, out, currentChunkSize - currentChunkRead);
+ currentChunkRead += haveRead;
+ bytes += haveRead;
+
// ### error checking here
- out->waitForBytesWritten(-1);
+
}
return bytes;
}
@@ -683,6 +685,36 @@ qint64 QHttpNetworkReplyPrivate::getChunkSize(QIODevice *in, qint64 *chunkSize)
return bytes;
}
+void QHttpNetworkReplyPrivate::appendUncompressedReplyData(QByteArray &qba)
+{
+ responseData.append(qba);
+
+ // clear the original! helps with implicit sharing and
+ // avoiding memcpy when the user is reading the data
+ qba.clear();
+}
+
+void QHttpNetworkReplyPrivate::appendUncompressedReplyData(QByteDataBuffer &data)
+{
+ responseData.append(data);
+
+ // clear the original! helps with implicit sharing and
+ // avoiding memcpy when the user is reading the data
+ data.clear();
+}
+
+void QHttpNetworkReplyPrivate::appendCompressedReplyData(QByteDataBuffer &data)
+{
+ // Work in progress: Later we will directly use a list of QByteArray or a QRingBuffer
+ // instead of one QByteArray.
+ for(int i = 0; i < data.bufferCount(); i++) {
+ QByteArray &byteData = data[i];
+ compressedData.append(byteData.constData(), byteData.size());
+ }
+ data.clear();
+}
+
+
// SSL support below
#ifndef QT_NO_OPENSSL
@@ -708,6 +740,13 @@ void QHttpNetworkReply::ignoreSslErrors()
d->connection->ignoreSslErrors();
}
+void QHttpNetworkReply::ignoreSslErrors(const QList<QSslError> &errors)
+{
+ Q_D(QHttpNetworkReply);
+ if (d->connection)
+ d->connection->ignoreSslErrors(errors);
+}
+
#endif //QT_NO_OPENSSL
diff --git a/src/network/access/qhttpnetworkreply_p.h b/src/network/access/qhttpnetworkreply_p.h
index c729df9..fe49799 100644
--- a/src/network/access/qhttpnetworkreply_p.h
+++ b/src/network/access/qhttpnetworkreply_p.h
@@ -80,6 +80,7 @@ static const unsigned char gz_magic[2] = {0x1f, 0x8b}; // gzip magic header
#include <private/qhttpnetworkrequest_p.h>
#include <private/qauthenticator_p.h>
#include <private/qringbuffer_p.h>
+#include <private/qbytedata_p.h>
QT_BEGIN_NAMESPACE
@@ -122,7 +123,7 @@ public:
qint64 bytesAvailable() const;
qint64 bytesAvailableNextBlock() const;
- QByteArray read(qint64 maxSize = -1);
+ QByteArray readAny();
bool isFinished() const;
@@ -130,6 +131,7 @@ public:
QSslConfiguration sslConfiguration() const;
void setSslConfiguration(const QSslConfiguration &config);
void ignoreSslErrors();
+ void ignoreSslErrors(const QList<QSslError> &errors);
Q_SIGNALS:
void sslErrors(const QList<QSslError> &errors);
@@ -144,9 +146,10 @@ Q_SIGNALS:
void dataSendProgress(qint64 done, qint64 total);
private:
- Q_DECLARE_SCOPED_PRIVATE(QHttpNetworkReply)
+ Q_DECLARE_PRIVATE(QHttpNetworkReply)
friend class QHttpNetworkConnection;
friend class QHttpNetworkConnectionPrivate;
+ friend class QHttpNetworkConnectionChannel;
};
@@ -159,16 +162,20 @@ public:
bool parseStatus(const QByteArray &status);
qint64 readHeader(QAbstractSocket *socket);
void parseHeader(const QByteArray &header);
- qint64 readBody(QAbstractSocket *socket, QIODevice *out);
- qint64 readBodyFast(QAbstractSocket *socket, QRingBuffer *rb);
+ qint64 readBody(QAbstractSocket *socket, QByteDataBuffer *out);
+ qint64 readBodyFast(QAbstractSocket *socket, QByteDataBuffer *rb);
bool findChallenge(bool forProxy, QByteArray &challenge) const;
QAuthenticatorPrivate::Method authenticationMethod(bool isProxy) const;
void clear();
- qint64 readReplyBodyRaw(QIODevice *in, QIODevice *out, qint64 size);
- qint64 readReplyBodyChunked(QIODevice *in, QIODevice *out);
+ qint64 readReplyBodyRaw(QIODevice *in, QByteDataBuffer *out, qint64 size);
+ qint64 readReplyBodyChunked(QIODevice *in, QByteDataBuffer *out);
qint64 getChunkSize(QIODevice *in, qint64 *chunkSize);
+ void appendUncompressedReplyData(QByteArray &qba);
+ void appendUncompressedReplyData(QByteDataBuffer &data);
+ void appendCompressedReplyData(QByteDataBuffer &data);
+
qint64 bytesAvailable() const;
bool isChunked();
bool connectionCloseEnabled();
@@ -197,6 +204,7 @@ public:
qint64 contentRead;
qint64 totalProgress;
QByteArray fragment; // used for header, status, chunk header etc, not for reply data
+ bool chunkedTransferEncoding;
qint64 currentChunkSize;
qint64 currentChunkRead;
QPointer<QHttpNetworkConnection> connection;
@@ -207,7 +215,7 @@ public:
#endif
bool autoDecompress;
- QRingBuffer responseData; // uncompressed body
+ QByteDataBuffer responseData; // uncompressed body
QByteArray compressedData; // compressed body (temporary)
bool requestIsPrepared;
};
diff --git a/src/network/access/qnetworkaccessbackend.cpp b/src/network/access/qnetworkaccessbackend.cpp
index 88ae894..caaa38e 100644
--- a/src/network/access/qnetworkaccessbackend.cpp
+++ b/src/network/access/qnetworkaccessbackend.cpp
@@ -165,6 +165,12 @@ void QNetworkAccessBackend::ignoreSslErrors()
// do nothing
}
+void QNetworkAccessBackend::ignoreSslErrors(const QList<QSslError> &errors)
+{
+ Q_UNUSED(errors);
+ // do nothing
+}
+
void QNetworkAccessBackend::fetchSslConfiguration(QSslConfiguration &) const
{
// do nothing
@@ -217,9 +223,9 @@ qint64 QNetworkAccessBackend::nextDownstreamBlockSize() const
return reply->nextDownstreamBlockSize();
}
-void QNetworkAccessBackend::writeDownstreamData(const QByteArray &data)
+void QNetworkAccessBackend::writeDownstreamData(QByteDataBuffer &list)
{
- reply->appendDownstreamData(data);
+ reply->appendDownstreamData(list);
}
void QNetworkAccessBackend::writeDownstreamData(QIODevice *data)
diff --git a/src/network/access/qnetworkaccessbackend_p.h b/src/network/access/qnetworkaccessbackend_p.h
index 21cb4a6..27da5bc 100644
--- a/src/network/access/qnetworkaccessbackend_p.h
+++ b/src/network/access/qnetworkaccessbackend_p.h
@@ -118,6 +118,7 @@ public:
virtual void downstreamReadyWrite();
virtual void copyFinished(QIODevice *);
virtual void ignoreSslErrors();
+ virtual void ignoreSslErrors(const QList<QSslError> &errors);
virtual void fetchSslConfiguration(QSslConfiguration &configuration) const;
virtual void setSslConfiguration(const QSslConfiguration &configuration);
@@ -166,7 +167,7 @@ protected:
// these functions control the downstream mechanism
// that is, data that has come via the connection and is going out the backend
qint64 nextDownstreamBlockSize() const;
- void writeDownstreamData(const QByteArray &data);
+ void writeDownstreamData(QByteDataBuffer &list);
public slots:
// for task 251801, needs to be a slot to be called asynchronously
diff --git a/src/network/access/qnetworkaccesscachebackend.cpp b/src/network/access/qnetworkaccesscachebackend.cpp
index f46a50a..8571ba3 100644
--- a/src/network/access/qnetworkaccesscachebackend.cpp
+++ b/src/network/access/qnetworkaccesscachebackend.cpp
@@ -86,6 +86,20 @@ bool QNetworkAccessCacheBackend::sendCacheContents()
setAttribute(QNetworkRequest::HttpReasonPhraseAttribute, attributes.value(QNetworkRequest::HttpReasonPhraseAttribute));
setAttribute(QNetworkRequest::SourceIsFromCacheAttribute, true);
+ // set the raw headers
+ QNetworkCacheMetaData::RawHeaderList rawHeaders = item.rawHeaders();
+ QNetworkCacheMetaData::RawHeaderList::ConstIterator it = rawHeaders.constBegin(),
+ end = rawHeaders.constEnd();
+ for ( ; it != end; ++it)
+ setRawHeader(it->first, it->second);
+
+ // handle a possible redirect
+ QVariant redirectionTarget = attributes.value(QNetworkRequest::RedirectionTargetAttribute);
+ if (redirectionTarget.isValid()) {
+ setAttribute(QNetworkRequest::RedirectionTargetAttribute, redirectionTarget);
+ redirectionRequested(redirectionTarget.toUrl());
+ }
+
// signal we're open
metaDataChanged();
diff --git a/src/network/access/qnetworkaccessdatabackend.cpp b/src/network/access/qnetworkaccessdatabackend.cpp
index 609f0c5..4436cf4 100644
--- a/src/network/access/qnetworkaccessdatabackend.cpp
+++ b/src/network/access/qnetworkaccessdatabackend.cpp
@@ -117,7 +117,11 @@ void QNetworkAccessDataBackend::open()
setHeader(QNetworkRequest::ContentLengthHeader, payload.size());
emit metaDataChanged();
- writeDownstreamData(payload);
+ QByteDataBuffer list;
+ list.append(payload);
+ payload.clear(); // important because of implicit sharing!
+ writeDownstreamData(list);
+
finished();
return;
}
diff --git a/src/network/access/qnetworkaccessdebugpipebackend.cpp b/src/network/access/qnetworkaccessdebugpipebackend.cpp
index ce768f5..394e196 100644
--- a/src/network/access/qnetworkaccessdebugpipebackend.cpp
+++ b/src/network/access/qnetworkaccessdebugpipebackend.cpp
@@ -155,7 +155,11 @@ void QNetworkAccessDebugPipeBackend::pushFromSocketToDownstream()
// have read something
buffer.resize(haveRead);
bytesDownloaded += haveRead;
- writeDownstreamData(buffer);
+
+ QByteDataBuffer list;
+ list.append(buffer);
+ buffer.clear(); // important because of implicit sharing!
+ writeDownstreamData(list);
}
}
}
@@ -276,7 +280,7 @@ void QNetworkAccessDebugPipeBackend::socketConnected()
bool QNetworkAccessDebugPipeBackend::waitForDownstreamReadyRead(int ms)
{
- Q_UNUSED(ms);
+ Q_UNUSED(ms);
qCritical("QNetworkAccess: Debug pipe backend does not support waitForReadyRead()");
return false;
}
diff --git a/src/network/access/qnetworkaccessfilebackend.cpp b/src/network/access/qnetworkaccessfilebackend.cpp
index e3fc8bf..533fc75 100644
--- a/src/network/access/qnetworkaccessfilebackend.cpp
+++ b/src/network/access/qnetworkaccessfilebackend.cpp
@@ -263,7 +263,11 @@ bool QNetworkAccessFileBackend::readMoreFromFile()
data.resize(actuallyRead);
totalBytes += actuallyRead;
- writeDownstreamData(data);
+
+ QByteDataBuffer list;
+ list.append(data);
+ data.clear(); // important because of implicit sharing!
+ writeDownstreamData(list);
}
return true;
}
diff --git a/src/network/access/qnetworkaccessftpbackend.cpp b/src/network/access/qnetworkaccessftpbackend.cpp
index d6276a3..911b31a 100644
--- a/src/network/access/qnetworkaccessftpbackend.cpp
+++ b/src/network/access/qnetworkaccessftpbackend.cpp
@@ -355,7 +355,11 @@ void QNetworkAccessFtpBackend::ftpDone()
void QNetworkAccessFtpBackend::ftpReadyRead()
{
- writeDownstreamData(ftp->readAll());
+ QByteArray data = ftp->readAll();
+ QByteDataBuffer list;
+ list.append(data);
+ data.clear(); // important because of implicit sharing!
+ writeDownstreamData(list);
}
void QNetworkAccessFtpBackend::ftpRawCommandReply(int code, const QString &text)
diff --git a/src/network/access/qnetworkaccesshttpbackend.cpp b/src/network/access/qnetworkaccesshttpbackend.cpp
index 4bc36db..293f857 100644
--- a/src/network/access/qnetworkaccesshttpbackend.cpp
+++ b/src/network/access/qnetworkaccesshttpbackend.cpp
@@ -294,7 +294,7 @@ public:
QNetworkAccessHttpBackend::QNetworkAccessHttpBackend()
: QNetworkAccessBackend(), httpReply(0), http(0), uploadDevice(0)
#ifndef QT_NO_OPENSSL
- , pendingSslConfiguration(0), pendingIgnoreSslErrors(false)
+ , pendingSslConfiguration(0), pendingIgnoreAllSslErrors(false)
#endif
{
}
@@ -521,8 +521,9 @@ void QNetworkAccessHttpBackend::postRequest()
#ifndef QT_NO_OPENSSL
if (pendingSslConfiguration)
httpReply->setSslConfiguration(*pendingSslConfiguration);
- if (pendingIgnoreSslErrors)
+ if (pendingIgnoreAllSslErrors)
httpReply->ignoreSslErrors();
+ httpReply->ignoreSslErrors(pendingIgnoreSslErrorsList);
#endif
connect(httpReply, SIGNAL(readyRead()), SLOT(replyReadyRead()));
@@ -649,16 +650,19 @@ void QNetworkAccessHttpBackend::readFromHttp()
if (!httpReply)
return;
- // We implement the download rate control
- // Don't read from QHttpNetworkAccess more than QNetworkAccessBackend wants
- // One of the two functions above will be called when we can read again
+ // We read possibly more than nextDownstreamBlockSize(), but
+ // this is not a critical thing since it is already in the
+ // memory anyway
- qint64 bytesToRead = qBound<qint64>(0, httpReply->bytesAvailable(), nextDownstreamBlockSize());
- if (!bytesToRead)
- return;
+ QByteDataBuffer list;
+
+ while (httpReply->bytesAvailable() != 0 && nextDownstreamBlockSize() != 0 && nextDownstreamBlockSize() > list.byteAmount()) {
+ QByteArray data = httpReply->readAny();
+ list.append(data);
+ }
- QByteArray data = httpReply->read(bytesToRead);
- writeDownstreamData(data);
+ if (!list.isEmpty())
+ writeDownstreamData(list);
}
void QNetworkAccessHttpBackend::replyFinished()
@@ -885,7 +889,18 @@ void QNetworkAccessHttpBackend::ignoreSslErrors()
if (httpReply)
httpReply->ignoreSslErrors();
else
- pendingIgnoreSslErrors = true;
+ pendingIgnoreAllSslErrors = true;
+}
+
+void QNetworkAccessHttpBackend::ignoreSslErrors(const QList<QSslError> &errors)
+{
+ if (httpReply) {
+ httpReply->ignoreSslErrors(errors);
+ } else {
+ // the pending list is set if QNetworkReply::ignoreSslErrors(const QList<QSslError> &errors)
+ // is called before QNetworkAccessManager::get() (or post(), etc.)
+ pendingIgnoreSslErrorsList = errors;
+ }
}
void QNetworkAccessHttpBackend::fetchSslConfiguration(QSslConfiguration &config) const
diff --git a/src/network/access/qnetworkaccesshttpbackend_p.h b/src/network/access/qnetworkaccesshttpbackend_p.h
index dec69d0..968f4a5 100644
--- a/src/network/access/qnetworkaccesshttpbackend_p.h
+++ b/src/network/access/qnetworkaccesshttpbackend_p.h
@@ -85,6 +85,7 @@ public:
virtual void copyFinished(QIODevice *);
#ifndef QT_NO_OPENSSL
virtual void ignoreSslErrors();
+ virtual void ignoreSslErrors(const QList<QSslError> &errors);
virtual void fetchSslConfiguration(QSslConfiguration &configuration) const;
virtual void setSslConfiguration(const QSslConfiguration &configuration);
@@ -112,7 +113,8 @@ private:
#ifndef QT_NO_OPENSSL
QSslConfiguration *pendingSslConfiguration;
- bool pendingIgnoreSslErrors;
+ bool pendingIgnoreAllSslErrors;
+ QList<QSslError> pendingIgnoreSslErrorsList;
#endif
void disconnectFromHttp();
diff --git a/src/network/access/qnetworkaccessmanager.cpp b/src/network/access/qnetworkaccessmanager.cpp
index cd736c8..8569ecd 100644
--- a/src/network/access/qnetworkaccessmanager.cpp
+++ b/src/network/access/qnetworkaccessmanager.cpp
@@ -121,7 +121,9 @@ static void ensureInitialized()
as well as meta-data (headers, etc.).
\note After the request has finished, it is the responsibility of the user
- to delete the QNetworkReply object at an appropriate time.
+ to delete the QNetworkReply object at an appropriate time. Do not directly
+ delete it inside the slot connected to finished(). You can use the
+ deleteLater() function.
A more involved example, assuming the manager is already existent,
can be:
@@ -202,6 +204,9 @@ static void ensureInitialized()
See QNetworkReply::finished() for information on the status that
the object will be in.
+ \note Do not delete the \a reply object in the slot connected to this
+ signal. Use deleteLater().
+
\sa QNetworkReply::finished(), QNetworkReply::error()
*/
@@ -540,10 +545,10 @@ void QNetworkAccessManager::setCookieJar(QNetworkCookieJar *cookieJar)
}
/*!
- This function is used to post a request to obtain the network
- headers for \a request. It takes its name after the HTTP request
- associated (HEAD). It returns a new QNetworkReply object which
- will contain such headers.
+ Posts a request to obtain the network headers for \a request
+ and returns a new QNetworkReply object which will contain such headers
+
+ The function is named after the HTTP request associated (HEAD).
*/
QNetworkReply *QNetworkAccessManager::head(const QNetworkRequest &request)
{
@@ -551,11 +556,12 @@ QNetworkReply *QNetworkAccessManager::head(const QNetworkRequest &request)
}
/*!
- This function is used to post a request to obtain the contents of
- the target \a request. It will cause the contents to be
- downloaded, along with the headers associated with it. It returns
- a new QNetworkReply object opened for reading which emits its
- QIODevice::readyRead() signal whenever new data arrives.
+ Posts a request to obtain the contents of the target \a request
+ and returns a new QNetworkReply object opened for reading which emits the
+ \l{QIODevice::readyRead()}{readyRead()} signal whenever new data
+ arrives.
+
+ The contents as well as associated headers will be downloaded.
\sa post(), put(), deleteResource()
*/
@@ -565,18 +571,15 @@ QNetworkReply *QNetworkAccessManager::get(const QNetworkRequest &request)
}
/*!
- This function is used to send an HTTP POST request to the
- destination specified by \a request. The contents of the \a data
+ Sends an HTTP POST request to the destination specified by \a request
+ and returns a new QNetworkReply object opened for reading that will
+ contain the reply sent by the server. The contents of the \a data
device will be uploaded to the server.
- \a data must be opened for reading when this function is called
- and must remain valid until the finished() signal is emitted for
- this reply.
-
- The returned QNetworkReply object will be open for reading and
- will contain the reply sent by the server to the POST request.
+ \a data must be open for reading and must remain valid until the
+ finished() signal is emitted for this reply.
- Note: sending a POST request on protocols other than HTTP and
+ \note Sending a POST request on protocols other than HTTP and
HTTPS is undefined and will probably fail.
\sa get(), put(), deleteResource()
@@ -588,8 +591,9 @@ QNetworkReply *QNetworkAccessManager::post(const QNetworkRequest &request, QIODe
/*!
\overload
- This function sends the contents of the \a data byte array to the
- destination specified by \a request.
+
+ Sends the contents of the \a data byte array to the destination
+ specified by \a request.
*/
QNetworkReply *QNetworkAccessManager::post(const QNetworkRequest &request, const QByteArray &data)
{
@@ -603,20 +607,19 @@ QNetworkReply *QNetworkAccessManager::post(const QNetworkRequest &request, const
}
/*!
- This function is used to upload the contents of \a data to the
- destination \a request.
+ Uploads the contents of \a data to the destination \a request and
+ returnes a new QNetworkReply object that will be open for reply.
\a data must be opened for reading when this function is called
and must remain valid until the finished() signal is emitted for
this reply.
- The returned QNetworkReply object will be open for reply, but
- whether anything will be available for reading is protocol
- dependent. For HTTP, the server may send a small HTML page
- indicating the upload was successful (or not). Other protocols
- will probably have content in their replies.
+ Whether anything will be available for reading from the returned
+ object is protocol dependent. For HTTP, the server may send a
+ small HTML page indicating the upload was successful (or not).
+ Other protocols will probably have content in their replies.
- For HTTP, this request will send a PUT request, which most servers
+ \note For HTTP, this request will send a PUT request, which most servers
do not allow. Form upload mechanisms, including that of uploading
files through HTML forms, use the POST mechanism.
@@ -629,8 +632,8 @@ QNetworkReply *QNetworkAccessManager::put(const QNetworkRequest &request, QIODev
/*!
\overload
- This function sends the contents of the \a data byte array to the
- destination specified by \a request.
+ Sends the contents of the \a data byte array to the destination
+ specified by \a request.
*/
QNetworkReply *QNetworkAccessManager::put(const QNetworkRequest &request, const QByteArray &data)
{
@@ -646,9 +649,10 @@ QNetworkReply *QNetworkAccessManager::put(const QNetworkRequest &request, const
/*!
\since 4.6
- This function is used to send a request to delete the resource
- identified by the URL of \a request.
- This feature is currently available for HTTP only, performing an HTTP DELETE request.
+ Sends a request to delete the resource identified by the URL of \a request.
+
+ \note This feature is currently available for HTTP only, performing an
+ HTTP DELETE request.
\sa get(), post(), put()
*/
diff --git a/src/network/access/qnetworkaccessmanager.h b/src/network/access/qnetworkaccessmanager.h
index 01f09cf..f7967f6 100644
--- a/src/network/access/qnetworkaccessmanager.h
+++ b/src/network/access/qnetworkaccessmanager.h
@@ -119,7 +119,7 @@ protected:
private:
friend class QNetworkReplyImplPrivate;
- Q_DECLARE_SCOPED_PRIVATE(QNetworkAccessManager)
+ Q_DECLARE_PRIVATE(QNetworkAccessManager)
Q_PRIVATE_SLOT(d_func(), void _q_replyFinished())
Q_PRIVATE_SLOT(d_func(), void _q_replySslErrors(QList<QSslError>))
};
diff --git a/src/network/access/qnetworkcookie.cpp b/src/network/access/qnetworkcookie.cpp
index c039703..dd5edb0 100644
--- a/src/network/access/qnetworkcookie.cpp
+++ b/src/network/access/qnetworkcookie.cpp
@@ -1068,259 +1068,4 @@ QDebug operator<<(QDebug s, const QNetworkCookie &cookie)
}
#endif
-
-
-class QNetworkCookieJarPrivate: public QObjectPrivate
-{
-public:
- QList<QNetworkCookie> allCookies;
-
- Q_DECLARE_PUBLIC(QNetworkCookieJar)
-};
-
-/*!
- \class QNetworkCookieJar
- \brief The QNetworkCookieJar class implements a simple jar of QNetworkCookie objects
- \since 4.4
-
- Cookies are small bits of information that stateless protocols
- like HTTP use to maintain some persistent information across
- requests.
-
- A cookie is set by a remote server when it replies to a request
- and it expects the same cookie to be sent back when further
- requests are sent.
-
- The cookie jar is the object that holds all cookies set in
- previous requests. Web browsers save their cookie jars to disk in
- order to conserve permanent cookies across invocations of the
- application.
-
- QNetworkCookieJar does not implement permanent storage: it only
- keeps the cookies in memory. Once the QNetworkCookieJar object is
- deleted, all cookies it held will be discarded as well. If you
- want to save the cookies, you should derive from this class and
- implement the saving to disk to your own storage format.
-
- This class implements only the basic security recommended by the
- cookie specifications and does not implement any cookie acceptance
- policy (it accepts all cookies set by any requests). In order to
- override those rules, you should reimplement the
- cookiesForUrl() and setCookiesFromUrl() virtual
- functions. They are called by QNetworkReply and
- QNetworkAccessManager when they detect new cookies and when they
- require cookies.
-
- \sa QNetworkCookie, QNetworkAccessManager, QNetworkReply,
- QNetworkRequest, QNetworkAccessManager::setCookieJar()
-*/
-
-/*!
- Creates a QNetworkCookieJar object and sets the parent object to
- be \a parent.
-
- The cookie jar is initialized to empty.
-*/
-QNetworkCookieJar::QNetworkCookieJar(QObject *parent)
- : QObject(*new QNetworkCookieJarPrivate, parent)
-{
-}
-
-/*!
- Destroys this cookie jar object and discards all cookies stored in
- it. Cookies are not saved to disk in the QNetworkCookieJar default
- implementation.
-
- If you need to save the cookies to disk, you have to derive from
- QNetworkCookieJar and save the cookies to disk yourself.
-*/
-QNetworkCookieJar::~QNetworkCookieJar()
-{
-}
-
-/*!
- Returns all cookies stored in this cookie jar. This function is
- suitable for derived classes to save cookies to disk, as well as
- to implement cookie expiration and other policies.
-
- \sa setAllCookies(), cookiesForUrl()
-*/
-QList<QNetworkCookie> QNetworkCookieJar::allCookies() const
-{
- return d_func()->allCookies;
-}
-
-/*!
- Sets the internal list of cookies held by this cookie jar to be \a
- cookieList. This function is suitable for derived classes to
- implement loading cookies from permanent storage, or their own
- cookie acceptance policies by reimplementing
- setCookiesFromUrl().
-
- \sa allCookies(), setCookiesFromUrl()
-*/
-void QNetworkCookieJar::setAllCookies(const QList<QNetworkCookie> &cookieList)
-{
- Q_D(QNetworkCookieJar);
- d->allCookies = cookieList;
-}
-
-static inline bool isParentPath(QString path, QString reference)
-{
- if (!path.endsWith(QLatin1Char('/')))
- path += QLatin1Char('/');
- if (!reference.endsWith(QLatin1Char('/')))
- reference += QLatin1Char('/');
- return path.startsWith(reference);
-}
-
-static inline bool isParentDomain(QString domain, QString reference)
-{
- if (!reference.startsWith(QLatin1Char('.')))
- return domain == reference;
-
- return domain.endsWith(reference) || domain == reference.mid(1);
-}
-
-/*!
- Adds the cookies in the list \a cookieList to this cookie
- jar. Default values for path and domain are taken from the \a
- url object.
-
- Returns true if one or more cookes are set for url otherwise false.
-
- If a cookie already exists in the cookie jar, it will be
- overridden by those in \a cookieList.
-
- The default QNetworkCookieJar class implements only a very basic
- security policy (it makes sure that the cookies' domain and path
- match the reply's). To enhance the security policy with your own
- algorithms, override setCookiesFromUrl().
-
- Also, QNetworkCookieJar does not have a maximum cookie jar
- size. Reimplement this function to discard older cookies to create
- room for new ones.
-
- \sa cookiesForUrl(), QNetworkAccessManager::setCookieJar()
-*/
-bool QNetworkCookieJar::setCookiesFromUrl(const QList<QNetworkCookie> &cookieList,
- const QUrl &url)
-{
- Q_D(QNetworkCookieJar);
- QString defaultDomain = url.host();
- QString pathAndFileName = url.path();
- QString defaultPath = pathAndFileName.left(pathAndFileName.lastIndexOf(QLatin1Char('/'))+1);
- if (defaultPath.isEmpty())
- defaultPath = QLatin1Char('/');
-
- int added = 0;
- QDateTime now = QDateTime::currentDateTime();
- foreach (QNetworkCookie cookie, cookieList) {
- bool isDeletion = !cookie.isSessionCookie() &&
- cookie.expirationDate() < now;
-
- // validate the cookie & set the defaults if unset
- if (cookie.path().isEmpty())
- cookie.setPath(defaultPath);
- else if (!isParentPath(pathAndFileName, cookie.path()))
- continue; // not accepted
-
- if (cookie.domain().isEmpty()) {
- cookie.setDomain(defaultDomain);
- } else {
- QString domain = cookie.domain();
- if (!(isParentDomain(domain, defaultDomain)
- || isParentDomain(defaultDomain, domain))) {
- continue; // not accepted
- }
-
- // reject if domain is like ".com"
- // (i.e., reject if domain does not contain embedded dots, see RFC 2109 section 4.3.2)
- // this is just a rudimentary check and does not cover all cases
- if (domain.lastIndexOf(QLatin1Char('.')) == 0)
- continue; // not accepted
-
- }
-
- QList<QNetworkCookie>::Iterator it = d->allCookies.begin(),
- end = d->allCookies.end();
- for ( ; it != end; ++it)
- // does this cookie already exist?
- if (cookie.name() == it->name() &&
- cookie.domain() == it->domain() &&
- cookie.path() == it->path()) {
- // found a match
- d->allCookies.erase(it);
- break;
- }
-
- // did not find a match
- if (!isDeletion) {
- d->allCookies += cookie;
- ++added;
- }
- }
- return (added > 0);
-}
-
-/*!
- Returns the cookies to be added to when a request is sent to
- \a url. This function is called by the default
- QNetworkAccessManager::createRequest(), which adds the
- cookies returned by this function to the request being sent.
-
- If more than one cookie with the same name is found, but with
- differing paths, the one with longer path is returned before the
- one with shorter path. In other words, this function returns
- cookies sorted by path length.
-
- The default QNetworkCookieJar class implements only a very basic
- security policy (it makes sure that the cookies' domain and path
- match the reply's). To enhance the security policy with your own
- algorithms, override cookiesForUrl().
-
- \sa setCookiesFromUrl(), QNetworkAccessManager::setCookieJar()
-*/
-QList<QNetworkCookie> QNetworkCookieJar::cookiesForUrl(const QUrl &url) const
-{
-// \b Warning! This is only a dumb implementation!
-// It does NOT follow all of the recommendations from
-// http://wp.netscape.com/newsref/std/cookie_spec.html
-// It does not implement a very good cross-domain verification yet.
-
- Q_D(const QNetworkCookieJar);
- QDateTime now = QDateTime::currentDateTime();
- QList<QNetworkCookie> result;
-
- // scan our cookies for something that matches
- QList<QNetworkCookie>::ConstIterator it = d->allCookies.constBegin(),
- end = d->allCookies.constEnd();
- for ( ; it != end; ++it) {
- if (!isParentDomain(url.host(), it->domain()))
- continue;
- if (!isParentPath(url.path(), it->path()))
- continue;
- if (!(*it).isSessionCookie() && (*it).expirationDate() < now)
- continue;
-
- // insert this cookie into result, sorted by path
- QList<QNetworkCookie>::Iterator insertIt = result.begin();
- while (insertIt != result.end()) {
- if (insertIt->path().length() < it->path().length()) {
- // insert here
- insertIt = result.insert(insertIt, *it);
- break;
- } else {
- ++insertIt;
- }
- }
-
- // this is the shortest path yet, just append
- if (insertIt == result.end())
- result += *it;
- }
-
- return result;
-}
-
QT_END_NAMESPACE
diff --git a/src/network/access/qnetworkcookie.h b/src/network/access/qnetworkcookie.h
index 0653806..35c7095 100644
--- a/src/network/access/qnetworkcookie.h
+++ b/src/network/access/qnetworkcookie.h
@@ -108,25 +108,8 @@ private:
};
Q_DECLARE_TYPEINFO(QNetworkCookie, Q_MOVABLE_TYPE);
-class QNetworkCookieJarPrivate;
-class Q_NETWORK_EXPORT QNetworkCookieJar: public QObject
-{
- Q_OBJECT
-public:
- QNetworkCookieJar(QObject *parent = 0);
- virtual ~QNetworkCookieJar();
-
- virtual QList<QNetworkCookie> cookiesForUrl(const QUrl &url) const;
- virtual bool setCookiesFromUrl(const QList<QNetworkCookie> &cookieList, const QUrl &url);
-
-protected:
- QList<QNetworkCookie> allCookies() const;
- void setAllCookies(const QList<QNetworkCookie> &cookieList);
-
-private:
- Q_DECLARE_SCOPED_PRIVATE(QNetworkCookieJar)
- Q_DISABLE_COPY(QNetworkCookieJar)
-};
+// ### Qt5 remove this include
+#include "qnetworkcookiejar.h"
#ifndef QT_NO_DEBUG_STREAM
class QDebug;
diff --git a/src/network/access/qnetworkcookiejar.cpp b/src/network/access/qnetworkcookiejar.cpp
new file mode 100644
index 0000000..03f7427
--- /dev/null
+++ b/src/network/access/qnetworkcookiejar.cpp
@@ -0,0 +1,296 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtNetwork module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "qnetworkcookiejar.h"
+#include "qnetworkcookiejar_p.h"
+
+#include "QtNetwork/qnetworkcookie.h"
+#include "QtCore/qurl.h"
+#include "QtCore/qdatetime.h"
+
+QT_BEGIN_NAMESPACE
+
+/*!
+ \class QNetworkCookieJar
+ \brief The QNetworkCookieJar class implements a simple jar of QNetworkCookie objects
+ \since 4.4
+
+ Cookies are small bits of information that stateless protocols
+ like HTTP use to maintain some persistent information across
+ requests.
+
+ A cookie is set by a remote server when it replies to a request
+ and it expects the same cookie to be sent back when further
+ requests are sent.
+
+ The cookie jar is the object that holds all cookies set in
+ previous requests. Web browsers save their cookie jars to disk in
+ order to conserve permanent cookies across invocations of the
+ application.
+
+ QNetworkCookieJar does not implement permanent storage: it only
+ keeps the cookies in memory. Once the QNetworkCookieJar object is
+ deleted, all cookies it held will be discarded as well. If you
+ want to save the cookies, you should derive from this class and
+ implement the saving to disk to your own storage format.
+
+ This class implements only the basic security recommended by the
+ cookie specifications and does not implement any cookie acceptance
+ policy (it accepts all cookies set by any requests). In order to
+ override those rules, you should reimplement the
+ cookiesForUrl() and setCookiesFromUrl() virtual
+ functions. They are called by QNetworkReply and
+ QNetworkAccessManager when they detect new cookies and when they
+ require cookies.
+
+ \sa QNetworkCookie, QNetworkAccessManager, QNetworkReply,
+ QNetworkRequest, QNetworkAccessManager::setCookieJar()
+*/
+
+/*!
+ Creates a QNetworkCookieJar object and sets the parent object to
+ be \a parent.
+
+ The cookie jar is initialized to empty.
+*/
+QNetworkCookieJar::QNetworkCookieJar(QObject *parent)
+ : QObject(*new QNetworkCookieJarPrivate, parent)
+{
+}
+
+/*!
+ Destroys this cookie jar object and discards all cookies stored in
+ it. Cookies are not saved to disk in the QNetworkCookieJar default
+ implementation.
+
+ If you need to save the cookies to disk, you have to derive from
+ QNetworkCookieJar and save the cookies to disk yourself.
+*/
+QNetworkCookieJar::~QNetworkCookieJar()
+{
+}
+
+/*!
+ Returns all cookies stored in this cookie jar. This function is
+ suitable for derived classes to save cookies to disk, as well as
+ to implement cookie expiration and other policies.
+
+ \sa setAllCookies(), cookiesForUrl()
+*/
+QList<QNetworkCookie> QNetworkCookieJar::allCookies() const
+{
+ return d_func()->allCookies;
+}
+
+/*!
+ Sets the internal list of cookies held by this cookie jar to be \a
+ cookieList. This function is suitable for derived classes to
+ implement loading cookies from permanent storage, or their own
+ cookie acceptance policies by reimplementing
+ setCookiesFromUrl().
+
+ \sa allCookies(), setCookiesFromUrl()
+*/
+void QNetworkCookieJar::setAllCookies(const QList<QNetworkCookie> &cookieList)
+{
+ Q_D(QNetworkCookieJar);
+ d->allCookies = cookieList;
+}
+
+static inline bool isParentPath(QString path, QString reference)
+{
+ if (!path.endsWith(QLatin1Char('/')))
+ path += QLatin1Char('/');
+ if (!reference.endsWith(QLatin1Char('/')))
+ reference += QLatin1Char('/');
+ return path.startsWith(reference);
+}
+
+static inline bool isParentDomain(QString domain, QString reference)
+{
+ if (!reference.startsWith(QLatin1Char('.')))
+ return domain == reference;
+
+ return domain.endsWith(reference) || domain == reference.mid(1);
+}
+
+/*!
+ Adds the cookies in the list \a cookieList to this cookie
+ jar. Default values for path and domain are taken from the \a
+ url object.
+
+ Returns true if one or more cookes are set for url otherwise false.
+
+ If a cookie already exists in the cookie jar, it will be
+ overridden by those in \a cookieList.
+
+ The default QNetworkCookieJar class implements only a very basic
+ security policy (it makes sure that the cookies' domain and path
+ match the reply's). To enhance the security policy with your own
+ algorithms, override setCookiesFromUrl().
+
+ Also, QNetworkCookieJar does not have a maximum cookie jar
+ size. Reimplement this function to discard older cookies to create
+ room for new ones.
+
+ \sa cookiesForUrl(), QNetworkAccessManager::setCookieJar()
+*/
+bool QNetworkCookieJar::setCookiesFromUrl(const QList<QNetworkCookie> &cookieList,
+ const QUrl &url)
+{
+ Q_D(QNetworkCookieJar);
+ QString defaultDomain = url.host();
+ QString pathAndFileName = url.path();
+ QString defaultPath = pathAndFileName.left(pathAndFileName.lastIndexOf(QLatin1Char('/'))+1);
+ if (defaultPath.isEmpty())
+ defaultPath = QLatin1Char('/');
+
+ int added = 0;
+ QDateTime now = QDateTime::currentDateTime();
+ foreach (QNetworkCookie cookie, cookieList) {
+ bool isDeletion = !cookie.isSessionCookie() &&
+ cookie.expirationDate() < now;
+
+ // validate the cookie & set the defaults if unset
+ if (cookie.path().isEmpty())
+ cookie.setPath(defaultPath);
+ else if (!isParentPath(pathAndFileName, cookie.path()))
+ continue; // not accepted
+
+ if (cookie.domain().isEmpty()) {
+ cookie.setDomain(defaultDomain);
+ } else {
+ QString domain = cookie.domain();
+ if (!(isParentDomain(domain, defaultDomain)
+ || isParentDomain(defaultDomain, domain))) {
+ continue; // not accepted
+ }
+
+ // reject if domain is like ".com"
+ // (i.e., reject if domain does not contain embedded dots, see RFC 2109 section 4.3.2)
+ // this is just a rudimentary check and does not cover all cases
+ if (domain.lastIndexOf(QLatin1Char('.')) == 0)
+ continue; // not accepted
+
+ }
+
+ QList<QNetworkCookie>::Iterator it = d->allCookies.begin(),
+ end = d->allCookies.end();
+ for ( ; it != end; ++it)
+ // does this cookie already exist?
+ if (cookie.name() == it->name() &&
+ cookie.domain() == it->domain() &&
+ cookie.path() == it->path()) {
+ // found a match
+ d->allCookies.erase(it);
+ break;
+ }
+
+ // did not find a match
+ if (!isDeletion) {
+ d->allCookies += cookie;
+ ++added;
+ }
+ }
+ return (added > 0);
+}
+
+/*!
+ Returns the cookies to be added to when a request is sent to
+ \a url. This function is called by the default
+ QNetworkAccessManager::createRequest(), which adds the
+ cookies returned by this function to the request being sent.
+
+ If more than one cookie with the same name is found, but with
+ differing paths, the one with longer path is returned before the
+ one with shorter path. In other words, this function returns
+ cookies sorted by path length.
+
+ The default QNetworkCookieJar class implements only a very basic
+ security policy (it makes sure that the cookies' domain and path
+ match the reply's). To enhance the security policy with your own
+ algorithms, override cookiesForUrl().
+
+ \sa setCookiesFromUrl(), QNetworkAccessManager::setCookieJar()
+*/
+QList<QNetworkCookie> QNetworkCookieJar::cookiesForUrl(const QUrl &url) const
+{
+// \b Warning! This is only a dumb implementation!
+// It does NOT follow all of the recommendations from
+// http://wp.netscape.com/newsref/std/cookie_spec.html
+// It does not implement a very good cross-domain verification yet.
+
+ Q_D(const QNetworkCookieJar);
+ QDateTime now = QDateTime::currentDateTime();
+ QList<QNetworkCookie> result;
+
+ // scan our cookies for something that matches
+ QList<QNetworkCookie>::ConstIterator it = d->allCookies.constBegin(),
+ end = d->allCookies.constEnd();
+ for ( ; it != end; ++it) {
+ if (!isParentDomain(url.host(), it->domain()))
+ continue;
+ if (!isParentPath(url.path(), it->path()))
+ continue;
+ if (!(*it).isSessionCookie() && (*it).expirationDate() < now)
+ continue;
+
+ // insert this cookie into result, sorted by path
+ QList<QNetworkCookie>::Iterator insertIt = result.begin();
+ while (insertIt != result.end()) {
+ if (insertIt->path().length() < it->path().length()) {
+ // insert here
+ insertIt = result.insert(insertIt, *it);
+ break;
+ } else {
+ ++insertIt;
+ }
+ }
+
+ // this is the shortest path yet, just append
+ if (insertIt == result.end())
+ result += *it;
+ }
+
+ return result;
+}
+
+QT_END_NAMESPACE
diff --git a/src/network/access/qnetworkcookiejar.h b/src/network/access/qnetworkcookiejar.h
new file mode 100644
index 0000000..fae0857
--- /dev/null
+++ b/src/network/access/qnetworkcookiejar.h
@@ -0,0 +1,81 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtNetwork module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QNETWORKCOOKIEJAR_H
+#define QNETWORKCOOKIEJAR_H
+
+#include <QtCore/QObject>
+#include <QtCore/QUrl>
+
+// ### Qt5 remove this include
+#include "qnetworkcookie.h"
+
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+QT_MODULE(Network)
+
+class QNetworkCookieJarPrivate;
+class Q_NETWORK_EXPORT QNetworkCookieJar: public QObject
+{
+ Q_OBJECT
+public:
+ QNetworkCookieJar(QObject *parent = 0);
+ virtual ~QNetworkCookieJar();
+
+ virtual QList<QNetworkCookie> cookiesForUrl(const QUrl &url) const;
+ virtual bool setCookiesFromUrl(const QList<QNetworkCookie> &cookieList, const QUrl &url);
+
+protected:
+ QList<QNetworkCookie> allCookies() const;
+ void setAllCookies(const QList<QNetworkCookie> &cookieList);
+
+private:
+ Q_DECLARE_PRIVATE(QNetworkCookieJar)
+ Q_DISABLE_COPY(QNetworkCookieJar)
+};
+
+QT_END_NAMESPACE
+
+QT_END_HEADER
+
+#endif
diff --git a/src/network/access/qnetworkcookiejar_p.h b/src/network/access/qnetworkcookiejar_p.h
new file mode 100644
index 0000000..eea7eee
--- /dev/null
+++ b/src/network/access/qnetworkcookiejar_p.h
@@ -0,0 +1,71 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtNetwork module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QNETWORKCOOKIEJAR_P_H
+#define QNETWORKCOOKIEJAR_P_H
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists for the convenience
+// of the Network Access framework. This header file may change from
+// version to version without notice, or even be removed.
+//
+// We mean it.
+//
+
+#include "private/qobject_p.h"
+#include "qnetworkcookie.h"
+
+QT_BEGIN_NAMESPACE
+
+class QNetworkCookieJarPrivate: public QObjectPrivate
+{
+public:
+ QList<QNetworkCookie> allCookies;
+
+ Q_DECLARE_PUBLIC(QNetworkCookieJar)
+};
+
+QT_END_NAMESPACE
+
+#endif
diff --git a/src/network/access/qnetworkdiskcache.h b/src/network/access/qnetworkdiskcache.h
index 8827bfb..2d04564 100644
--- a/src/network/access/qnetworkdiskcache.h
+++ b/src/network/access/qnetworkdiskcache.h
@@ -84,7 +84,7 @@ protected:
virtual qint64 expire();
private:
- Q_DECLARE_SCOPED_PRIVATE(QNetworkDiskCache)
+ Q_DECLARE_PRIVATE(QNetworkDiskCache)
Q_DISABLE_COPY(QNetworkDiskCache)
};
diff --git a/src/network/access/qnetworkreply.cpp b/src/network/access/qnetworkreply.cpp
index 1b0d9f5..f6649b6 100644
--- a/src/network/access/qnetworkreply.cpp
+++ b/src/network/access/qnetworkreply.cpp
@@ -87,6 +87,9 @@ QNetworkReplyPrivate::QNetworkReplyPrivate()
indicates the progress of the upload for operations that have such
content.
+ \note Do not delete the object in the slot connected to the
+ error() or finished() signal. Use deleteLater().
+
\sa QNetworkRequest, QNetworkAccessManager
*/
@@ -232,6 +235,9 @@ QNetworkReplyPrivate::QNetworkReplyPrivate()
QNetworkAccessManager::finished() where that signal's reply
parameter is this object.
+ \note Do not delete the object in the slot connected to this
+ signal. Use deleteLater().
+
\sa QNetworkAccessManager::finished()
*/
@@ -246,6 +252,9 @@ QNetworkReplyPrivate::QNetworkReplyPrivate()
detected. Call errorString() to obtain a textual representation of
the error condition.
+ \note Do not delete the object in the slot connected to this
+ signal. Use deleteLater().
+
\sa error(), errorString()
*/
@@ -442,6 +451,31 @@ QNetworkReply::NetworkError QNetworkReply::error() const
}
/*!
+ \since 4.6
+
+ Returns true when the reply has finished or was aborted.
+
+ \sa isRunning()
+*/
+bool QNetworkReply::isFinished() const
+{
+ return d_func()->isFinished();
+}
+
+/*!
+ \since 4.6
+
+ Returns true when the request is still processing and the
+ reply has not finished or was aborted yet.
+
+ \sa isFinished()
+*/
+bool QNetworkReply::isRunning() const
+{
+ return !isFinished();
+}
+
+/*!
Returns the URL of the content downloaded or uploaded. Note that
the URL may be different from that of the original request.
@@ -559,6 +593,38 @@ void QNetworkReply::setSslConfiguration(const QSslConfiguration &config)
qt_metacall(QMetaObject::InvokeMetaMethod, id, arr);
}
}
+
+/*!
+ \overload
+ \since 4.6
+
+ If this function is called, the SSL errors given in \a errors
+ will be ignored.
+
+ Note that you can set the expected certificate in the SSL error:
+ If, for instance, you want to issue a request to a server that uses
+ a self-signed certificate, consider the following snippet:
+
+ \snippet doc/src/snippets/code/src_network_access_qnetworkreply.cpp 0
+
+ Multiple calls to this function will replace the list of errors that
+ were passed in previous calls.
+ You can clear the list of errors you want to ignore by calling this
+ function with an empty list.
+
+ \sa sslConfiguration(), sslErrors(), QSslSocket::ignoreSslErrors()
+*/
+void QNetworkReply::ignoreSslErrors(const QList<QSslError> &errors)
+{
+ // do this cryptic trick, because we could not add a virtual method to this class later on
+ // since that breaks binary compatibility
+ int id = metaObject()->indexOfMethod("ignoreSslErrorsImplementation(QList<QSslError>)");
+ if (id != -1) {
+ QList<QSslError> copy(errors);
+ void *arr[] = { 0, &copy };
+ qt_metacall(QMetaObject::InvokeMetaMethod, id, arr);
+ }
+}
#endif
/*!
@@ -573,7 +639,7 @@ void QNetworkReply::setSslConfiguration(const QSslConfiguration &config)
sslErrors() signal, which indicates which errors were
found.
- \sa sslConfiguration(), sslErrors()
+ \sa sslConfiguration(), sslErrors(), QSslSocket::ignoreSslErrors()
*/
void QNetworkReply::ignoreSslErrors()
{
diff --git a/src/network/access/qnetworkreply.h b/src/network/access/qnetworkreply.h
index 3fc2dbc..679ab71 100644
--- a/src/network/access/qnetworkreply.h
+++ b/src/network/access/qnetworkreply.h
@@ -116,6 +116,8 @@ public:
QNetworkAccessManager::Operation operation() const;
QNetworkRequest request() const;
NetworkError error() const;
+ bool isFinished() const;
+ bool isRunning() const;
QUrl url() const;
// "cooked" headers
@@ -132,6 +134,7 @@ public:
#ifndef QT_NO_OPENSSL
QSslConfiguration sslConfiguration() const;
void setSslConfiguration(const QSslConfiguration &configuration);
+ void ignoreSslErrors(const QList<QSslError> &errors);
#endif
public Q_SLOTS:
@@ -162,7 +165,7 @@ protected:
void setAttribute(QNetworkRequest::Attribute code, const QVariant &value);
private:
- Q_DECLARE_SCOPED_PRIVATE(QNetworkReply)
+ Q_DECLARE_PRIVATE(QNetworkReply)
};
QT_END_NAMESPACE
diff --git a/src/network/access/qnetworkreply_p.h b/src/network/access/qnetworkreply_p.h
index c8543f0..b51e3fb 100644
--- a/src/network/access/qnetworkreply_p.h
+++ b/src/network/access/qnetworkreply_p.h
@@ -75,6 +75,8 @@ public:
static inline void setManager(QNetworkReply *reply, QNetworkAccessManager *manager)
{ reply->d_func()->manager = manager; }
+ virtual bool isFinished() const { return false; }
+
Q_DECLARE_PUBLIC(QNetworkReply)
};
diff --git a/src/network/access/qnetworkreplyimpl.cpp b/src/network/access/qnetworkreplyimpl.cpp
index 6eacdf1..de7f8b4 100644
--- a/src/network/access/qnetworkreplyimpl.cpp
+++ b/src/network/access/qnetworkreplyimpl.cpp
@@ -91,6 +91,8 @@ void QNetworkReplyImplPrivate::_q_startOperation()
void QNetworkReplyImplPrivate::_q_copyReadyRead()
{
Q_Q(QNetworkReplyImpl);
+ if (state != Working)
+ return;
if (!copyDevice || !q->isOpen())
return;
@@ -101,16 +103,17 @@ void QNetworkReplyImplPrivate::_q_copyReadyRead()
break;
bytesToRead = qBound<qint64>(1, bytesToRead, copyDevice->bytesAvailable());
- char *ptr = readBuffer.reserve(bytesToRead);
- qint64 bytesActuallyRead = copyDevice->read(ptr, bytesToRead);
+ QByteArray byteData;
+ byteData.resize(bytesToRead);
+ qint64 bytesActuallyRead = copyDevice->read(byteData.data(), byteData.size());
if (bytesActuallyRead == -1) {
- readBuffer.chop(bytesToRead);
+ byteData.clear();
backendNotify(NotifyCopyFinished);
break;
}
- if (bytesActuallyRead != bytesToRead)
- readBuffer.chop(bytesToRead - bytesActuallyRead);
+ byteData.resize(bytesActuallyRead);
+ readBuffer.append(byteData);
if (!copyDevice->isSequential() && copyDevice->atEnd()) {
backendNotify(NotifyCopyFinished);
@@ -382,26 +385,33 @@ qint64 QNetworkReplyImplPrivate::nextDownstreamBlockSize() const
if (readBufferMaxSize == 0)
return DesiredBufferSize;
- return qMax<qint64>(0, readBufferMaxSize - readBuffer.size());
+ return qMax<qint64>(0, readBufferMaxSize - readBuffer.byteAmount());
}
// we received downstream data and send this to the cache
// and to our readBuffer (which in turn gets read by the user of QNetworkReply)
-void QNetworkReplyImplPrivate::appendDownstreamData(const QByteArray &data)
+void QNetworkReplyImplPrivate::appendDownstreamData(QByteDataBuffer &data)
{
Q_Q(QNetworkReplyImpl);
if (!q->isOpen())
return;
- char *ptr = readBuffer.reserve(data.size());
- memcpy(ptr, data.constData(), data.size());
-
if (cacheEnabled && !cacheSaveDevice) {
// save the meta data
QNetworkCacheMetaData metaData;
metaData.setUrl(url);
metaData = backend->fetchCacheMetaData(metaData);
+
+ // save the redirect request also in the cache
+ QVariant redirectionTarget = q->attribute(QNetworkRequest::RedirectionTargetAttribute);
+ if (redirectionTarget.isValid()) {
+ QNetworkCacheMetaData::AttributesMap attributes = metaData.attributes();
+ attributes.insert(QNetworkRequest::RedirectionTargetAttribute, redirectionTarget);
+ metaData.setAttributes(attributes);
+ }
+
cacheSaveDevice = networkCache->prepare(metaData);
+
if (!cacheSaveDevice || (cacheSaveDevice && !cacheSaveDevice->isOpen())) {
if (cacheSaveDevice && !cacheSaveDevice->isOpen())
qCritical("QNetworkReplyImpl: network cache returned a device that is not open -- "
@@ -414,10 +424,19 @@ void QNetworkReplyImplPrivate::appendDownstreamData(const QByteArray &data)
}
}
- if (cacheSaveDevice)
- cacheSaveDevice->write(data);
+ qint64 bytesWritten = 0;
+ for (int i = 0; i < data.bufferCount(); i++) {
+ QByteArray item = data[i];
+
+ if (cacheSaveDevice)
+ cacheSaveDevice->write(item.constData(), item.size());
+ readBuffer.append(item);
+
+ bytesWritten += item.size();
+ }
+ data.clear();
- bytesDownloaded += data.size();
+ bytesDownloaded += bytesWritten;
lastBytesDownloaded = bytesDownloaded;
QPointer<QNetworkReplyImpl> qq = q;
@@ -426,6 +445,8 @@ void QNetworkReplyImplPrivate::appendDownstreamData(const QByteArray &data)
pauseNotificationHandling();
emit q->downloadProgress(bytesDownloaded,
totalSize.isNull() ? Q_INT64_C(-1) : totalSize.toLongLong());
+ // important: At the point of this readyRead(), the data parameter list must be empty,
+ // else implicit sharing will trigger memcpy when the user is reading data!
emit q->readyRead();
// hopefully we haven't been deleted here
@@ -462,8 +483,8 @@ void QNetworkReplyImplPrivate::appendDownstreamData(QIODevice *data)
void QNetworkReplyImplPrivate::finished()
{
Q_Q(QNetworkReplyImpl);
- Q_ASSERT_X(state != Finished, "QNetworkReplyImpl",
- "Backend called finished/finishedWithError more than once");
+ if (state == Finished || state == Aborted)
+ return;
state = Finished;
pendingNotifications.clear();
@@ -531,6 +552,11 @@ void QNetworkReplyImplPrivate::sslErrors(const QList<QSslError> &errors)
#endif
}
+bool QNetworkReplyImplPrivate::isFinished() const
+{
+ return (state == Finished || state == Aborted);
+}
+
QNetworkReplyImpl::QNetworkReplyImpl(QObject *parent)
: QNetworkReply(*new QNetworkReplyImplPrivate, parent)
{
@@ -596,14 +622,14 @@ void QNetworkReplyImpl::close()
*/
qint64 QNetworkReplyImpl::bytesAvailable() const
{
- return QNetworkReply::bytesAvailable() + d_func()->readBuffer.size();
+ return QNetworkReply::bytesAvailable() + d_func()->readBuffer.byteAmount();
}
void QNetworkReplyImpl::setReadBufferSize(qint64 size)
{
Q_D(QNetworkReplyImpl);
if (size > d->readBufferMaxSize &&
- size == d->readBuffer.size())
+ size > d->readBuffer.byteAmount())
d->backendNotify(QNetworkReplyImplPrivate::NotifyDownstreamReadyWrite);
QNetworkReply::setReadBufferSize(size);
@@ -633,6 +659,12 @@ void QNetworkReplyImpl::ignoreSslErrors()
d->backend->ignoreSslErrors();
}
+void QNetworkReplyImpl::ignoreSslErrorsImplementation(const QList<QSslError> &errors)
+{
+ Q_D(QNetworkReplyImpl);
+ if (d->backend)
+ d->backend->ignoreSslErrors(errors);
+}
#endif // QT_NO_OPENSSL
/*!
@@ -651,7 +683,7 @@ qint64 QNetworkReplyImpl::readData(char *data, qint64 maxlen)
return 1;
}
- maxlen = qMin<qint64>(maxlen, d->readBuffer.size());
+ maxlen = qMin<qint64>(maxlen, d->readBuffer.byteAmount());
return d->readBuffer.read(data, maxlen);
}
diff --git a/src/network/access/qnetworkreplyimpl_p.h b/src/network/access/qnetworkreplyimpl_p.h
index ae5038e..fba8d34 100644
--- a/src/network/access/qnetworkreplyimpl_p.h
+++ b/src/network/access/qnetworkreplyimpl_p.h
@@ -61,6 +61,7 @@
#include "QtCore/qqueue.h"
#include "QtCore/qbuffer.h"
#include "private/qringbuffer_p.h"
+#include "private/qbytedata_p.h"
QT_BEGIN_NAMESPACE
@@ -88,9 +89,10 @@ public:
Q_INVOKABLE QSslConfiguration sslConfigurationImplementation() const;
Q_INVOKABLE void setSslConfigurationImplementation(const QSslConfiguration &configuration);
virtual void ignoreSslErrors();
+ Q_INVOKABLE virtual void ignoreSslErrorsImplementation(const QList<QSslError> &errors);
#endif
- Q_DECLARE_SCOPED_PRIVATE(QNetworkReplyImpl)
+ Q_DECLARE_PRIVATE(QNetworkReplyImpl)
Q_PRIVATE_SLOT(d_func(), void _q_startOperation())
Q_PRIVATE_SLOT(d_func(), void _q_copyReadyRead())
Q_PRIVATE_SLOT(d_func(), void _q_copyReadChannelFinished())
@@ -144,7 +146,7 @@ public:
void consume(qint64 count);
void emitUploadProgress(qint64 bytesSent, qint64 bytesTotal);
qint64 nextDownstreamBlockSize() const;
- void appendDownstreamData(const QByteArray &data);
+ void appendDownstreamData(QByteDataBuffer &data);
void appendDownstreamData(QIODevice *data);
void finished();
void error(QNetworkReply::NetworkError code, const QString &errorString);
@@ -152,6 +154,8 @@ public:
void redirectionRequested(const QUrl &target);
void sslErrors(const QList<QSslError> &errors);
+ bool isFinished() const;
+
QNetworkAccessBackend *backend;
QIODevice *outgoingData;
QRingBuffer *outgoingDataBuffer;
@@ -170,7 +174,7 @@ public:
QList<QNetworkProxy> proxyList;
#endif
- QRingBuffer readBuffer;
+ QByteDataBuffer readBuffer;
qint64 bytesDownloaded;
qint64 lastBytesDownloaded;
qint64 bytesUploaded;
diff --git a/src/network/access/qnetworkrequest.cpp b/src/network/access/qnetworkrequest.cpp
index 557143f..caa8669 100644
--- a/src/network/access/qnetworkrequest.cpp
+++ b/src/network/access/qnetworkrequest.cpp
@@ -153,9 +153,7 @@ QT_BEGIN_NAMESPACE
future uses. If the value is false, the data obtained will not
be automatically cached. If true, data may be cached, provided
it is cacheable (what is cacheable depends on the protocol
- being used). Note that the default QNetworkAccessManager
- implementation does not support caching, so it will ignore
- this attribute.
+ being used).
\value SourceIsFromCacheAttribute
Replies only, type: QVariant::Bool (default: false)
diff --git a/src/network/kernel/qauthenticator.cpp b/src/network/kernel/qauthenticator.cpp
index a26a1fc..8bad6d3 100644
--- a/src/network/kernel/qauthenticator.cpp
+++ b/src/network/kernel/qauthenticator.cpp
@@ -68,8 +68,8 @@ static QByteArray qNtlmPhase3(QAuthenticatorPrivate *ctx, const QByteArray& phas
\inmodule QtNetwork
The QAuthenticator class is usually used in the
- \l{QHttp::}{authenticationRequired()} and
- \l{QHttp::}{proxyAuthenticationRequired()} signals of QHttp and
+ \l{QNetworkAccessManager::}{authenticationRequired()} and
+ \l{QNetworkAccessManager::}{proxyAuthenticationRequired()} signals of QNetworkAccessManager and
QAbstractSocket. The class provides a way to pass back the required
authentication information to the socket when accessing services that
require authentication.
diff --git a/src/network/kernel/qhostinfo_unix.cpp b/src/network/kernel/qhostinfo_unix.cpp
index 876d167..a63659e 100644
--- a/src/network/kernel/qhostinfo_unix.cpp
+++ b/src/network/kernel/qhostinfo_unix.cpp
@@ -50,13 +50,16 @@
#include <qurl.h>
#include <qfile.h>
#include <private/qmutexpool_p.h>
+#include <private/qnet_unix_p.h>
-extern "C" {
#include <sys/types.h>
#include <netdb.h>
#include <arpa/inet.h>
-#include <resolv.h>
-}
+#if defined(Q_OS_VXWORKS)
+# include <hostLib.h>
+#else
+# include <resolv.h>
+#endif
#if defined (QT_NO_GETADDRINFO)
#include <qmutex.h>
@@ -178,7 +181,7 @@ QHostInfo QHostInfoAgent::fromName(const QString &hostName)
}
results.setHostName(QString::fromLatin1(hbuf));
#else
- in_addr_t inetaddr = inet_addr(hostName.toLatin1().constData());
+ in_addr_t inetaddr = qt_safe_inet_addr(hostName.toLatin1().constData());
struct hostent *ent = gethostbyaddr((const char *)&inetaddr, sizeof(inetaddr), AF_INET);
if (!ent) {
results.setError(QHostInfo::HostNotFound);
@@ -274,10 +277,12 @@ QHostInfo QHostInfoAgent::fromName(const QString &hostName)
results.setError(QHostInfo::UnknownError);
results.setErrorString(tr("Unknown address type"));
}
+#if !defined(Q_OS_VXWORKS)
} else if (h_errno == HOST_NOT_FOUND || h_errno == NO_DATA
|| h_errno == NO_ADDRESS) {
results.setError(QHostInfo::HostNotFound);
results.setErrorString(tr("Host not found"));
+#endif
} else {
results.setError(QHostInfo::UnknownError);
results.setErrorString(tr("Unknown error"));
@@ -314,6 +319,7 @@ QString QHostInfo::localHostName()
QString QHostInfo::localDomainName()
{
+#if !defined(Q_OS_VXWORKS)
resolveLibrary();
if (local_res_ninit) {
// using thread-safe version
@@ -344,7 +350,7 @@ QString QHostInfo::localDomainName()
domainName = QUrl::fromAce(local_res->dnsrch[0]);
return domainName;
}
-
+#endif
// nothing worked, try doing it by ourselves:
QFile resolvconf;
#if defined(_PATH_RESCONF)
diff --git a/src/network/kernel/qnetworkinterface_symbian.cpp b/src/network/kernel/qnetworkinterface_symbian.cpp
index f2ded36..717d80d 100644
--- a/src/network/kernel/qnetworkinterface_symbian.cpp
+++ b/src/network/kernel/qnetworkinterface_symbian.cpp
@@ -1,9 +1,9 @@
/****************************************************************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
-** This file is part of the $MODULE$ of the Qt Toolkit.
+** This file is part of the QtNetwork of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/src/network/kernel/qnetworkinterface_unix.cpp b/src/network/kernel/qnetworkinterface_unix.cpp
index aa27726..4efbe45 100644
--- a/src/network/kernel/qnetworkinterface_unix.cpp
+++ b/src/network/kernel/qnetworkinterface_unix.cpp
@@ -43,6 +43,7 @@
#include "qnetworkinterface.h"
#include "qnetworkinterface_p.h"
#include "qalgorithms.h"
+#include "private/qnet_unix_p.h"
#ifndef QT_NO_NETWORKINTERFACE
@@ -123,7 +124,7 @@ static QSet<QByteArray> interfaceNames(int socket)
interfaceList.ifc_len = storageBuffer.size();
// get the interface list
- if (::ioctl(socket, SIOCGIFCONF, &interfaceList) >= 0) {
+ if (qt_safe_ioctl(socket, SIOCGIFCONF, &interfaceList) >= 0) {
if (int(interfaceList.ifc_len + sizeof(ifreq) + 64) < storageBuffer.size()) {
// if the buffer was big enough, break
storageBuffer.resize(interfaceList.ifc_len);
@@ -198,7 +199,7 @@ static QNetworkInterfacePrivate *findInterface(int socket, QList<QNetworkInterfa
#ifdef SIOCGIFNAME
// Get the canonical name
QByteArray oldName = req.ifr_name;
- if (::ioctl(socket, SIOCGIFNAME, &req) >= 0) {
+ if (qt_safe_ioctl(socket, SIOCGIFNAME, &req) >= 0) {
iface->name = QString::fromLatin1(req.ifr_name);
// reset the name:
@@ -211,13 +212,13 @@ static QNetworkInterfacePrivate *findInterface(int socket, QList<QNetworkInterfa
}
// Get interface flags
- if (::ioctl(socket, SIOCGIFFLAGS, &req) >= 0) {
+ if (qt_safe_ioctl(socket, SIOCGIFFLAGS, &req) >= 0) {
iface->flags = convertFlags(req.ifr_flags);
}
#ifdef SIOCGIFHWADDR
// Get the HW address
- if (::ioctl(socket, SIOCGIFHWADDR, &req) >= 0) {
+ if (qt_safe_ioctl(socket, SIOCGIFHWADDR, &req) >= 0) {
uchar *addr = (uchar *)&req.ifr_addr;
iface->hardwareAddress = iface->makeHwAddress(6, addr);
}
@@ -232,7 +233,7 @@ static QList<QNetworkInterfacePrivate *> interfaceListing()
QList<QNetworkInterfacePrivate *> interfaces;
int socket;
- if ((socket = ::socket(AF_INET, SOCK_STREAM, IPPROTO_IP)) == -1)
+ if ((socket = qt_safe_socket(AF_INET, SOCK_STREAM, IPPROTO_IP)) == -1)
return interfaces; // error
QSet<QByteArray> names = interfaceNames(socket);
@@ -247,7 +248,7 @@ static QList<QNetworkInterfacePrivate *> interfaceListing()
// Get the interface broadcast address
QNetworkAddressEntry entry;
if (iface->flags & QNetworkInterface::CanBroadcast) {
- if (::ioctl(socket, SIOCGIFBRDADDR, &req) >= 0) {
+ if (qt_safe_ioctl(socket, SIOCGIFBRDADDR, &req) >= 0) {
sockaddr *sa = &req.ifr_addr;
if (sa->sa_family == AF_INET)
entry.setBroadcast(addressFromSockaddr(sa));
@@ -255,13 +256,13 @@ static QList<QNetworkInterfacePrivate *> interfaceListing()
}
// Get the interface netmask
- if (::ioctl(socket, SIOCGIFNETMASK, &req) >= 0) {
+ if (qt_safe_ioctl(socket, SIOCGIFNETMASK, &req) >= 0) {
sockaddr *sa = &req.ifr_addr;
entry.setNetmask(addressFromSockaddr(sa));
}
// Get the address of the interface
- if (::ioctl(socket, SIOCGIFADDR, &req) >= 0) {
+ if (qt_safe_ioctl(socket, SIOCGIFADDR, &req) >= 0) {
sockaddr *sa = &req.ifr_addr;
entry.setIp(addressFromSockaddr(sa));
}
@@ -392,7 +393,7 @@ static QList<QNetworkInterfacePrivate *> interfaceListing()
QList<QNetworkInterfacePrivate *> interfaces;
int socket;
- if ((socket = ::socket(AF_INET, SOCK_STREAM, IPPROTO_IP)) == -1)
+ if ((socket = qt_safe_socket(AF_INET, SOCK_STREAM, IPPROTO_IP)) == -1)
return interfaces; // error
ifaddrs *interfaceListing;
diff --git a/src/network/kernel/qnetworkinterface_win.cpp b/src/network/kernel/qnetworkinterface_win.cpp
index a8f5213..1d700c3 100644
--- a/src/network/kernel/qnetworkinterface_win.cpp
+++ b/src/network/kernel/qnetworkinterface_win.cpp
@@ -66,19 +66,14 @@ static void resolveLibs()
if (!done) {
done = true;
- HINSTANCE iphlpapiHnd;
- QT_WA({
- iphlpapiHnd = LoadLibraryW(L"iphlpapi");
- }, {
- iphlpapiHnd = LoadLibraryA("iphlpapi");
- });
+ HINSTANCE iphlpapiHnd = LoadLibrary(L"iphlpapi");
if (iphlpapiHnd == NULL)
- return; // failed to load, probably Windows 95
+ return;
#if defined(Q_OS_WINCE)
- ptrGetAdaptersInfo = (PtrGetAdaptersInfo)GetProcAddressW(iphlpapiHnd, L"GetAdaptersInfo");
- ptrGetAdaptersAddresses = (PtrGetAdaptersAddresses)GetProcAddressW(iphlpapiHnd, L"GetAdaptersAddresses");
- ptrGetNetworkParams = (PtrGetNetworkParams)GetProcAddressW(iphlpapiHnd, L"GetNetworkParams");
+ ptrGetAdaptersInfo = (PtrGetAdaptersInfo)GetProcAddress(iphlpapiHnd, L"GetAdaptersInfo");
+ ptrGetAdaptersAddresses = (PtrGetAdaptersAddresses)GetProcAddress(iphlpapiHnd, L"GetAdaptersAddresses");
+ ptrGetNetworkParams = (PtrGetNetworkParams)GetProcAddress(iphlpapiHnd, L"GetNetworkParams");
#else
ptrGetAdaptersInfo = (PtrGetAdaptersInfo)GetProcAddress(iphlpapiHnd, "GetAdaptersInfo");
ptrGetAdaptersAddresses = (PtrGetAdaptersAddresses)GetProcAddress(iphlpapiHnd, "GetAdaptersAddresses");
diff --git a/src/network/kernel/qnetworkinterface_win_p.h b/src/network/kernel/qnetworkinterface_win_p.h
index c4dff76..15b4859 100644
--- a/src/network/kernel/qnetworkinterface_win_p.h
+++ b/src/network/kernel/qnetworkinterface_win_p.h
@@ -54,7 +54,7 @@
//
#include <winsock2.h>
-#include <windows.h>
+#include <qt_windows.h>
#include <time.h>
QT_BEGIN_NAMESPACE
diff --git a/src/network/kernel/qnetworkproxy.cpp b/src/network/kernel/qnetworkproxy.cpp
index 608db65..df478fd 100644
--- a/src/network/kernel/qnetworkproxy.cpp
+++ b/src/network/kernel/qnetworkproxy.cpp
@@ -54,10 +54,10 @@
QNetworkProxy provides the method for configuring network layer
proxy support to the Qt network classes. The currently supported
classes are QAbstractSocket, QTcpSocket, QUdpSocket, QTcpServer,
- QHttp and QFtp. The proxy support is designed to be as transparent
- as possible. This means that existing network-enabled applications
- that you have written should automatically support network proxy
- using the following code.
+ QNetworkAccessManager and QFtp. The proxy support is designed to
+ be as transparent as possible. This means that existing
+ network-enabled applications that you have written should
+ automatically support network proxy using the following code.
\snippet doc/src/snippets/code/src_network_kernel_qnetworkproxy.cpp 0
@@ -160,8 +160,7 @@
\row
\o Caching-only HTTP
\o Implemented using normal HTTP commands, it is useful only
- in the context of HTTP requests (see QHttp,
- QNetworkAccessManager)
+ in the context of HTTP requests (see QNetworkAccessManager)
\o CachingCapability, HostNameLookupCapability
\row
diff --git a/src/network/kernel/qnetworkproxy_win.cpp b/src/network/kernel/qnetworkproxy_win.cpp
index 5fda228..9fab545 100644
--- a/src/network/kernel/qnetworkproxy_win.cpp
+++ b/src/network/kernel/qnetworkproxy_win.cpp
@@ -43,15 +43,13 @@
#ifndef QT_NO_NETWORKPROXY
-#if defined(UNICODE)
-
#include <qmutex.h>
#include <qstringlist.h>
#include <qregexp.h>
#include <qurl.h>
#include <string.h>
-#include <windows.h>
+#include <qt_windows.h>
#include <wininet.h>
/*
@@ -269,15 +267,13 @@ void QWindowsSystemProxy::init()
if (initialized)
return;
initialized = true;
- if (QSysInfo::windowsVersion() & QSysInfo::WV_DOS_based)
- return; // no point, this library is only available on 2k, XP and up
#ifdef Q_OS_WINCE
// Windows CE does not have any of the following API
return;
#else
// load the winhttp.dll library
- HINSTANCE winhttpHnd = LoadLibraryW(L"winhttp");
+ HINSTANCE winhttpHnd = LoadLibrary(L"winhttp");
if (!winhttpHnd)
return; // failed to load
@@ -401,15 +397,6 @@ QList<QNetworkProxy> QNetworkProxyFactory::systemProxyForQuery(const QNetworkPro
return parseServerList(query, sp->proxyServerList);
}
-#else // !UNICODE
-
-QList<QNetworkProxy> QNetworkProxyFactory::systemProxyForQuery(const QNetworkProxyQuery &)
-{
- return QList<QNetworkProxy>() << QNetworkProxy::NoProxy;
-}
-
-#endif
-
QT_END_NAMESPACE
#endif
diff --git a/src/network/socket/qabstractsocket.cpp b/src/network/socket/qabstractsocket.cpp
index f45b77d..035d5b6 100644
--- a/src/network/socket/qabstractsocket.cpp
+++ b/src/network/socket/qabstractsocket.cpp
@@ -160,7 +160,7 @@
issue to be aware of, though: You must make sure that enough data
is available before attempting to read it using operator>>().
- \sa QFtp, QHttp, QTcpServer
+ \sa QFtp, QNetworkAccessManager, QTcpServer
*/
/*!
@@ -332,6 +332,22 @@
\sa QAbstractSocket::state()
*/
+/*!
+ \enum QAbstractSocket::SocketOption
+ \since 4.6
+
+ This enum represents the options that can be set on a socket.
+ If desired, they can be set after having received the connected() signal from
+ the socket or after having received a new socket from a QTcpServer.
+
+ \value LowDelayOption Try to optimize the socket for low latency. For a QTcpSocket
+ this would set the TCP_NODELAY option and disable Nagle's algorithm. Set this to 1
+ to enable.
+ \value KeepAliveOption Set this to 1 to enable the SO_KEEPALIVE socket option
+
+ \sa QAbstractSocket::setSocketOption(), QAbstractSocket::socketOption()
+*/
+
#include "qabstractsocket.h"
#include "qabstractsocket_p.h"
@@ -1549,6 +1565,56 @@ bool QAbstractSocket::setSocketDescriptor(int socketDescriptor, SocketState sock
return true;
}
+/*!
+ Sets the option \a option to the value described by \a value.
+
+ \sa socketOption()
+ \since 4.6
+*/
+void QAbstractSocket::setSocketOption(QAbstractSocket::SocketOption option, QVariant value)
+{
+ if (!d_func()->socketEngine)
+ return;
+
+ switch (option) {
+ case LowDelayOption:
+ d_func()->socketEngine->setOption(QAbstractSocketEngine::LowDelayOption, value.toInt());
+ break;
+
+ case KeepAliveOption:
+ d_func()->socketEngine->setOption(QAbstractSocketEngine::KeepAliveOption, value.toInt());
+ break;
+ }
+}
+
+/*!
+ Returns the value of the \a option option.
+
+ \sa setSocketOption()
+ \since 4.6
+*/
+QVariant QAbstractSocket::socketOption(QAbstractSocket::SocketOption option)
+{
+ if (!d_func()->socketEngine)
+ return QVariant();
+
+ int ret = -1;
+ switch (option) {
+ case LowDelayOption:
+ ret = d_func()->socketEngine->option(QAbstractSocketEngine::LowDelayOption);
+ break;
+
+ case KeepAliveOption:
+ ret = d_func()->socketEngine->option(QAbstractSocketEngine::KeepAliveOption);
+ break;
+ }
+ if (ret == -1)
+ return QVariant();
+ else
+ return QVariant(ret);
+}
+
+
/*
Returns the difference between msecs and elapsed. If msecs is -1,
however, -1 is returned.
diff --git a/src/network/socket/qabstractsocket.h b/src/network/socket/qabstractsocket.h
index bc0b603..50a38bb 100644
--- a/src/network/socket/qabstractsocket.h
+++ b/src/network/socket/qabstractsocket.h
@@ -116,6 +116,10 @@ public:
Connection = ConnectedState
#endif
};
+ enum SocketOption {
+ LowDelayOption, // TCP_NODELAY
+ KeepAliveOption // SO_KEEPALIVE
+ };
QAbstractSocket(SocketType socketType, QObject *parent);
virtual ~QAbstractSocket();
@@ -149,6 +153,10 @@ public:
bool setSocketDescriptor(int socketDescriptor, SocketState state = ConnectedState,
OpenMode openMode = ReadWrite);
+ // ### Qt 5: Make virtual?
+ void setSocketOption(QAbstractSocket::SocketOption o, QVariant v);
+ QVariant socketOption(QAbstractSocket::SocketOption o);
+
SocketType socketType() const;
SocketState state() const;
SocketError error() const;
@@ -201,7 +209,7 @@ protected:
QAbstractSocket(SocketType socketType, QAbstractSocketPrivate &dd, QObject *parent = 0);
private:
- Q_DECLARE_SCOPED_PRIVATE(QAbstractSocket)
+ Q_DECLARE_PRIVATE(QAbstractSocket)
Q_DISABLE_COPY(QAbstractSocket)
Q_PRIVATE_SLOT(d_func(), void _q_connectToNextAddress())
diff --git a/src/network/socket/qabstractsocketengine_p.h b/src/network/socket/qabstractsocketengine_p.h
index 7305144..39c00cc 100644
--- a/src/network/socket/qabstractsocketengine_p.h
+++ b/src/network/socket/qabstractsocketengine_p.h
@@ -92,7 +92,9 @@ public:
SendBufferSocketOption,
AddressReusable,
BindExclusively,
- ReceiveOutOfBandData
+ ReceiveOutOfBandData,
+ LowDelayOption,
+ KeepAliveOption
};
virtual bool initialize(QAbstractSocket::SocketType type, QAbstractSocket::NetworkLayerProtocol protocol = QAbstractSocket::IPv4Protocol) = 0;
@@ -175,7 +177,7 @@ protected:
void setPeerPort(quint16 port);
private:
- Q_DECLARE_SCOPED_PRIVATE(QAbstractSocketEngine)
+ Q_DECLARE_PRIVATE(QAbstractSocketEngine)
Q_DISABLE_COPY(QAbstractSocketEngine)
};
diff --git a/src/network/socket/qhttpsocketengine.cpp b/src/network/socket/qhttpsocketengine.cpp
index 7bac1f2..84b7c14 100644
--- a/src/network/socket/qhttpsocketengine.cpp
+++ b/src/network/socket/qhttpsocketengine.cpp
@@ -276,13 +276,30 @@ qint64 QHttpSocketEngine::pendingDatagramSize() const
}
#endif // QT_NO_UDPSOCKET
-int QHttpSocketEngine::option(SocketOption) const
+int QHttpSocketEngine::option(SocketOption option) const
{
+ Q_D(const QHttpSocketEngine);
+ if (d->socket) {
+ // convert the enum and call the real socket
+ if (option == QAbstractSocketEngine::LowDelayOption)
+ return d->socket->socketOption(QAbstractSocket::LowDelayOption).toInt();
+ if (option == QAbstractSocketEngine::KeepAliveOption)
+ return d->socket->socketOption(QAbstractSocket::KeepAliveOption).toInt();
+ }
return -1;
}
-bool QHttpSocketEngine::setOption(SocketOption, int)
+bool QHttpSocketEngine::setOption(SocketOption option, int value)
{
+ Q_D(QHttpSocketEngine);
+ if (d->socket) {
+ // convert the enum and call the real socket
+ if (option == QAbstractSocketEngine::LowDelayOption)
+ d->socket->setSocketOption(QAbstractSocket::LowDelayOption, value);
+ if (option == QAbstractSocketEngine::KeepAliveOption)
+ d->socket->setSocketOption(QAbstractSocket::KeepAliveOption, value);
+ return true;
+ }
return false;
}
@@ -454,6 +471,7 @@ void QHttpSocketEngine::slotSocketConnected()
data += path;
data += " HTTP/1.1\r\n";
data += "Proxy-Connection: keep-alive\r\n"
+ "User-Agent: Mozilla/5.0\r\n"
"Host: " + peerAddress + "\r\n";
QAuthenticatorPrivate *priv = QAuthenticatorPrivate::getPrivate(d->authenticator);
//qDebug() << "slotSocketConnected: priv=" << priv << (priv ? (int)priv->method : -1);
diff --git a/src/network/socket/qhttpsocketengine_p.h b/src/network/socket/qhttpsocketengine_p.h
index f4d29cf..bc7e47a 100644
--- a/src/network/socket/qhttpsocketengine_p.h
+++ b/src/network/socket/qhttpsocketengine_p.h
@@ -144,7 +144,7 @@ private:
void emitWriteNotification();
void emitConnectionNotification();
- Q_DECLARE_SCOPED_PRIVATE(QHttpSocketEngine)
+ Q_DECLARE_PRIVATE(QHttpSocketEngine)
Q_DISABLE_COPY(QHttpSocketEngine)
};
diff --git a/src/network/socket/qlocalserver.cpp b/src/network/socket/qlocalserver.cpp
index aa32763..7bb0b01 100644
--- a/src/network/socket/qlocalserver.cpp
+++ b/src/network/socket/qlocalserver.cpp
@@ -78,8 +78,6 @@ QT_BEGIN_NAMESPACE
to use it without one. In that case, you must use waitForNewConnection(),
which blocks until either a connection is available or a timeout expires.
- Note that this feature is not supported on Windows 9x.
-
\sa QLocalSocket, QTcpServer
*/
diff --git a/src/network/socket/qlocalserver.h b/src/network/socket/qlocalserver.h
index 10dd62f..24b69a8 100644
--- a/src/network/socket/qlocalserver.h
+++ b/src/network/socket/qlocalserver.h
@@ -58,7 +58,7 @@ class QLocalServerPrivate;
class Q_NETWORK_EXPORT QLocalServer : public QObject
{
Q_OBJECT
- Q_DECLARE_SCOPED_PRIVATE(QLocalServer)
+ Q_DECLARE_PRIVATE(QLocalServer)
Q_SIGNALS:
void newConnection();
diff --git a/src/network/socket/qlocalserver_unix.cpp b/src/network/socket/qlocalserver_unix.cpp
index b05a2cc..aa1f7da 100644
--- a/src/network/socket/qlocalserver_unix.cpp
+++ b/src/network/socket/qlocalserver_unix.cpp
@@ -43,6 +43,7 @@
#include "qlocalserver_p.h"
#include "qlocalsocket.h"
#include "qlocalsocket_p.h"
+#include "qnet_unix_p.h"
#ifndef QT_NO_LOCALSERVER
@@ -53,6 +54,10 @@
#include <qdir.h>
#include <qdatetime.h>
+#ifdef Q_OS_VXWORKS
+# include <selectLib.h>
+#endif
+
QT_BEGIN_NAMESPACE
void QLocalServerPrivate::init()
@@ -88,7 +93,7 @@ bool QLocalServerPrivate::listen(const QString &requestedServerName)
serverName = requestedServerName;
// create the unix socket
- listenSocket = qSocket(PF_UNIX, SOCK_STREAM, 0);
+ listenSocket = qt_safe_socket(PF_UNIX, SOCK_STREAM, 0);
if (-1 == listenSocket) {
setError(QLatin1String("QLocalServer::listen"));
closeServer();
@@ -125,7 +130,7 @@ bool QLocalServerPrivate::listen(const QString &requestedServerName)
#endif
// bind
- if(-1 == qBind(listenSocket, (sockaddr *)&addr, sizeof(sockaddr_un))) {
+ if(-1 == QT_SOCKET_BIND(listenSocket, (sockaddr *)&addr, sizeof(sockaddr_un))) {
setError(QLatin1String("QLocalServer::listen"));
// if address is in use already, just close the socket, but do not delete the file
if(errno == EADDRINUSE)
@@ -138,7 +143,7 @@ bool QLocalServerPrivate::listen(const QString &requestedServerName)
}
// listen for connections
- if (-1 == qListen(listenSocket, 50)) {
+ if (-1 == qt_safe_listen(listenSocket, 50)) {
setError(QLatin1String("QLocalServer::listen"));
closeServer();
listenSocket = -1;
@@ -190,7 +195,7 @@ void QLocalServerPrivate::_q_onNewConnection()
::sockaddr_un addr;
QT_SOCKLEN_T length = sizeof(sockaddr_un);
- int connectedSocket = qAccept(listenSocket, (sockaddr *)&addr, &length);
+ int connectedSocket = qt_safe_accept(listenSocket, (sockaddr *)&addr, &length);
if(-1 == connectedSocket) {
setError(QLatin1String("QLocalSocket::activated"));
closeServer();
diff --git a/src/network/socket/qlocalserver_win.cpp b/src/network/socket/qlocalserver_win.cpp
index 6af5ca5..c4f8f3c 100644
--- a/src/network/socket/qlocalserver_win.cpp
+++ b/src/network/socket/qlocalserver_win.cpp
@@ -62,9 +62,8 @@ bool QLocalServerPrivate::addListener()
listeners << Listener();
Listener &listener = listeners.last();
- QT_WA({
- listener.handle = CreateNamedPipeW(
- (TCHAR*)fullServerName.utf16(), // pipe name
+ listener.handle = CreateNamedPipe(
+ (const wchar_t *)fullServerName.utf16(), // pipe name
PIPE_ACCESS_DUPLEX | FILE_FLAG_OVERLAPPED, // read/write access
PIPE_TYPE_MESSAGE | // message type pipe
PIPE_READMODE_MESSAGE | // message-read mode
@@ -74,19 +73,7 @@ bool QLocalServerPrivate::addListener()
BUFSIZE, // input buffer size
3000, // client time-out
NULL);
- }, {
- listener.handle = CreateNamedPipeA(
- fullServerName.toLocal8Bit().constData(), // pipe name
- PIPE_ACCESS_DUPLEX | FILE_FLAG_OVERLAPPED, // read/write access
- PIPE_TYPE_MESSAGE | // message type pipe
- PIPE_READMODE_MESSAGE | // message-read mode
- PIPE_WAIT, // blocking mode
- PIPE_UNLIMITED_INSTANCES, // max. instances
- BUFSIZE, // output buffer size
- BUFSIZE, // input buffer size
- 3000, // client time-out
- NULL);
- });
+
if (listener.handle == INVALID_HANDLE_VALUE) {
setError(QLatin1String("QLocalServerPrivate::addListener"));
listeners.removeLast();
diff --git a/src/network/socket/qlocalsocket.cpp b/src/network/socket/qlocalsocket.cpp
index acacdf2..7809226 100644
--- a/src/network/socket/qlocalsocket.cpp
+++ b/src/network/socket/qlocalsocket.cpp
@@ -63,7 +63,8 @@ QT_BEGIN_NAMESPACE
waitForReadyRead(), waitForBytesWritten(), and waitForDisconnected()
which blocks until the operation is complete or the timeout expires.
- Note that this feature is not supported on Window 9x.
+ Note that this feature is not supported on versions of Windows earlier than
+ Windows XP.
\sa QLocalServer
*/
@@ -102,7 +103,7 @@ QT_BEGIN_NAMESPACE
opened in the mode specified by \a openMode, and enters the socket state
specified by \a socketState.
- Note: It is not possible to initialize two local sockets with the same
+ \note It is not possible to initialize two local sockets with the same
native socket descriptor.
\sa socketDescriptor(), state(), openMode()
@@ -207,10 +208,10 @@ QT_BEGIN_NAMESPACE
Returns true if the socket is valid and ready for use; otherwise
returns false.
- Note: The socket's state must be ConnectedState before reading
+ \note The socket's state must be ConnectedState before reading
and writing can occur.
- \sa state()
+ \sa state(), connectToServer()
*/
/*!
@@ -243,9 +244,9 @@ QT_BEGIN_NAMESPACE
*/
/*!
- \fn bool QLocalSocket::waitForConnected(int msec)
+ \fn bool QLocalSocket::waitForConnected(int msecs)
- Waits until the socket is connected, up to \a msec milliseconds. If the
+ Waits until the socket is connected, up to \a msecs milliseconds. If the
connection has been established, this function returns true; otherwise
it returns false. In the case where it returns false, you can call
error() to determine the cause of the error.
@@ -255,7 +256,7 @@ QT_BEGIN_NAMESPACE
\snippet doc/src/snippets/code/src_network_socket_qlocalsocket_unix.cpp 0
- If msecs is -1, this function will not time out.
+ If \a msecs is -1, this function will not time out.
\sa connectToServer(), connected()
*/
@@ -274,7 +275,7 @@ QT_BEGIN_NAMESPACE
\snippet doc/src/snippets/code/src_network_socket_qlocalsocket_unix.cpp 1
- If msecs is -1, this function will not time out.
+ If \a msecs is -1, this function will not time out.
\sa disconnectFromServer(), close()
*/
@@ -309,9 +310,10 @@ QT_BEGIN_NAMESPACE
parameter describes the type of error that occurred.
QLocalSocket::LocalSocketError is not a registered metatype, so for queued
- connections, you will have to register it with Q_DECLARE_METATYPE.
+ connections, you will have to register it with Q_DECLARE_METATYPE() and
+ qRegisterMetaType().
- \sa error(), errorString()
+ \sa error(), errorString(), {Creating Custom Qt Types}
*/
/*!
@@ -321,9 +323,10 @@ QT_BEGIN_NAMESPACE
The \a socketState parameter is the new state.
QLocalSocket::SocketState is not a registered metatype, so for queued
- connections, you will have to register it with Q_DECLARE_METATYPE.
+ connections, you will have to register it with Q_DECLARE_METATYPE() and
+ qRegisterMetaType().
- \sa state()
+ \sa state(), {Creating Custom Qt Types}
*/
/*!
@@ -365,7 +368,7 @@ QString QLocalSocket::serverName() const
/*!
Returns the server path that the socket is connected to.
- Note: This is platform specific
+ \note The return value of this function is platform specific.
\sa connectToServer(), serverName()
*/
diff --git a/src/network/socket/qlocalsocket.h b/src/network/socket/qlocalsocket.h
index 683d63e..4bff62e 100644
--- a/src/network/socket/qlocalsocket.h
+++ b/src/network/socket/qlocalsocket.h
@@ -58,7 +58,7 @@ class QLocalSocketPrivate;
class Q_NETWORK_EXPORT QLocalSocket : public QIODevice
{
Q_OBJECT
- Q_DECLARE_SCOPED_PRIVATE(QLocalSocket)
+ Q_DECLARE_PRIVATE(QLocalSocket)
public:
enum LocalSocketError
@@ -134,6 +134,7 @@ private:
Q_PRIVATE_SLOT(d_func(), void _q_notified())
Q_PRIVATE_SLOT(d_func(), void _q_canWrite())
Q_PRIVATE_SLOT(d_func(), void _q_pipeClosed())
+ Q_PRIVATE_SLOT(d_func(), void _q_emitReadyRead())
#else
Q_PRIVATE_SLOT(d_func(), void _q_stateChanged(QAbstractSocket::SocketState))
Q_PRIVATE_SLOT(d_func(), void _q_error(QAbstractSocket::SocketError))
diff --git a/src/network/socket/qlocalsocket_p.h b/src/network/socket/qlocalsocket_p.h
index 24b5dd6..2dae7d9 100644
--- a/src/network/socket/qlocalsocket_p.h
+++ b/src/network/socket/qlocalsocket_p.h
@@ -65,6 +65,7 @@
#elif defined(Q_OS_WIN)
# include "private/qwindowspipewriter_p.h"
# include "private/qringbuffer_p.h"
+# include <private/qwineventnotifier_p.h>
#else
# include "private/qnativesocketengine_p.h"
# include <qtcpsocket.h>
@@ -74,43 +75,6 @@
QT_BEGIN_NAMESPACE
-#if !defined(Q_OS_WIN) && !defined(QT_LOCALSOCKET_TCP)
-static inline int qSocket(int af, int socketype, int proto)
-{
- int ret;
- while((ret = qt_socket_socket(af, socketype, proto)) == -1 && errno == EINTR){}
- return ret;
-}
-
-static inline int qBind(int fd, const sockaddr *sa, int len)
-{
- int ret;
- while((ret = QT_SOCKET_BIND(fd, (sockaddr*)sa, len)) == -1 && errno == EINTR){}
- return ret;
-}
-
-static inline int qConnect(int fd, const sockaddr *sa, int len)
-{
- int ret;
- while((ret = QT_SOCKET_CONNECT(fd, (sockaddr*)sa, len)) == -1 && errno == EINTR){}
- return ret;
-}
-
-static inline int qListen(int fd, int backlog)
-{
- int ret;
- while((ret = qt_socket_listen(fd, backlog)) == -1 && errno == EINTR){}
- return ret;
-}
-
-static inline int qAccept(int fd, struct sockaddr *addr, QT_SOCKLEN_T *addrlen)
-{
- int ret;
- while((ret = qt_socket_accept(fd, addr, addrlen)) == -1 && errno == EINTR){}
- return ret;
-}
-#endif //#if !defined(Q_OS_WIN) && !defined(QT_LOCALSOCKET_TCP)
-
#if !defined(Q_OS_WIN) || defined(QT_LOCALSOCKET_TCP)
class QLocalUnixSocket : public QTcpSocket
{
@@ -172,18 +136,23 @@ public:
void _q_notified();
void _q_canWrite();
void _q_pipeClosed();
- qint64 readData(char *data, qint64 maxSize);
- qint64 bytesAvailable();
- bool readFromSocket();
+ void _q_emitReadyRead();
+ DWORD bytesAvailable();
+ void startAsyncRead();
+ void completeAsyncRead();
+ void checkReadyRead();
HANDLE handle;
OVERLAPPED overlapped;
QWindowsPipeWriter *pipeWriter;
qint64 readBufferMaxSize;
QRingBuffer readBuffer;
- QTimer dataNotifier;
+ int actualReadBufferSize;
+ QWinEventNotifier *dataReadNotifier;
QLocalSocket::LocalSocketError error;
- bool readyReadEmitted;
+ bool readSequenceStarted;
+ bool pendingReadyRead;
bool pipeClosed;
+ static const qint64 initialReadBufferSize = 4096;
#else
QLocalUnixSocket unixSocket;
QString generateErrorString(QLocalSocket::LocalSocketError, const QString &function) const;
diff --git a/src/network/socket/qlocalsocket_unix.cpp b/src/network/socket/qlocalsocket_unix.cpp
index b2eb15f..22873d6 100644
--- a/src/network/socket/qlocalsocket_unix.cpp
+++ b/src/network/socket/qlocalsocket_unix.cpp
@@ -41,6 +41,7 @@
#include "qlocalsocket.h"
#include "qlocalsocket_p.h"
+#include "qnet_unix_p.h"
#ifndef QT_NO_LOCALSOCKET
@@ -55,6 +56,10 @@
#include <qdir.h>
#include <qdebug.h>
+#ifdef Q_OS_VXWORKS
+# include <selectLib.h>
+#endif
+
#define QT_CONNECT_TIMEOUT 30000
QT_BEGIN_NAMESPACE
@@ -232,7 +237,7 @@ void QLocalSocket::connectToServer(const QString &name, OpenMode openMode)
}
// create the socket
- if (-1 == (d->connectingSocket = qSocket(PF_UNIX, SOCK_STREAM, 0))) {
+ if (-1 == (d->connectingSocket = qt_safe_socket(PF_UNIX, SOCK_STREAM, 0))) {
d->errorOccurred(UnsupportedSocketOperationError,
QLatin1String("QLocalSocket::connectToServer"));
return;
@@ -283,7 +288,7 @@ void QLocalSocketPrivate::_q_connectToSocket()
}
::memcpy(name.sun_path, connectingPathName.toLatin1().data(),
connectingPathName.toLatin1().size() + 1);
- if (-1 == qConnect(connectingSocket, (struct sockaddr *)&name, sizeof(name)) && errno != EISCONN) {
+ if (-1 == qt_safe_connect(connectingSocket, (struct sockaddr *)&name, sizeof(name))) {
QString function = QLatin1String("QLocalSocket::connectToServer");
switch (errno)
{
diff --git a/src/network/socket/qlocalsocket_win.cpp b/src/network/socket/qlocalsocket_win.cpp
index 2b8d7e5..3a36ac0 100644
--- a/src/network/socket/qlocalsocket_win.cpp
+++ b/src/network/socket/qlocalsocket_win.cpp
@@ -48,13 +48,13 @@
QT_BEGIN_NAMESPACE
-#define NOTIFYTIMEOUT 100
-
void QLocalSocketPrivate::init()
{
Q_Q(QLocalSocket);
- QObject::connect(&dataNotifier, SIGNAL(timeout()), q, SLOT(_q_notified()));
+ memset(&overlapped, 0, sizeof(overlapped));
overlapped.hEvent = CreateEvent(NULL, TRUE, FALSE, NULL);
+ dataReadNotifier = new QWinEventNotifier(overlapped.hEvent, q);
+ q->connect(dataReadNotifier, SIGNAL(activated(HANDLE)), q, SLOT(_q_notified()));
}
void QLocalSocketPrivate::setErrorString(const QString &function)
@@ -101,8 +101,10 @@ QLocalSocketPrivate::QLocalSocketPrivate() : QIODevicePrivate(),
handle(INVALID_HANDLE_VALUE),
pipeWriter(0),
readBufferMaxSize(0),
+ actualReadBufferSize(0),
error(QLocalSocket::UnknownSocketError),
- readyReadEmitted(false),
+ readSequenceStarted(false),
+ pendingReadyRead(false),
pipeClosed(false),
state(QLocalSocket::UnconnectedState)
{
@@ -137,25 +139,14 @@ void QLocalSocket::connectToServer(const QString &name, OpenMode openMode)
forever {
DWORD permissions = (openMode & QIODevice::ReadOnly) ? GENERIC_READ : 0;
permissions |= (openMode & QIODevice::WriteOnly) ? GENERIC_WRITE : 0;
- QT_WA({
- localSocket = CreateFileW(
- (TCHAR*)d->fullServerName.utf16(), // pipe name
- permissions,
- 0, // no sharing
- NULL, // default security attributes
- OPEN_EXISTING, // opens existing pipe
- FILE_FLAG_OVERLAPPED,
- NULL); // no template file
- }, {
- localSocket = CreateFileA(
- d->fullServerName.toLocal8Bit().constData(), // pipe name
- permissions,
- 0, // no sharing
- NULL, // default security attributes
- OPEN_EXISTING, // opens existing pipe
- FILE_FLAG_OVERLAPPED,
- NULL); // no template file
- });
+ localSocket = CreateFile((const wchar_t *)d->fullServerName.utf16(), // pipe name
+ permissions,
+ 0, // no sharing
+ NULL, // default security attributes
+ OPEN_EXISTING, // opens existing pipe
+ FILE_FLAG_OVERLAPPED,
+ NULL); // no template file
+
if (localSocket != INVALID_HANDLE_VALUE)
break;
DWORD error = GetLastError();
@@ -165,13 +156,8 @@ void QLocalSocket::connectToServer(const QString &name, OpenMode openMode)
}
// All pipe instances are busy, so wait until connected or up to 5 seconds.
- QT_WA({
- if (!WaitNamedPipeW((TCHAR*)d->fullServerName.utf16(), 5000))
- break;
- }, {
- if (!WaitNamedPipeA(d->fullServerName.toLocal8Bit().constData(), 5000))
- break;
- });
+ if (!WaitNamedPipe((const wchar_t *)d->fullServerName.utf16(), 5000))
+ break;
}
if (localSocket == INVALID_HANDLE_VALUE) {
@@ -182,7 +168,7 @@ void QLocalSocket::connectToServer(const QString &name, OpenMode openMode)
// we have a valid handle
d->serverName = name;
- if (setSocketDescriptor((quintptr)localSocket), openMode) {
+ if (setSocketDescriptor((quintptr)localSocket, ConnectedState, openMode)) {
d->handle = localSocket;
emit connected();
}
@@ -192,82 +178,103 @@ void QLocalSocket::connectToServer(const QString &name, OpenMode openMode)
qint64 QLocalSocket::readData(char *data, qint64 maxSize)
{
Q_D(QLocalSocket);
- if (d->readBuffer.isEmpty()) {
- if (!d->readFromSocket()) {
- if (d->pipeClosed)
- return -1;
- return 0;
- }
- }
- if (!d->dataNotifier.isActive() && d->threadData->eventDispatcher)
- d->dataNotifier.start(NOTIFYTIMEOUT);
-
- if (d->readBuffer.isEmpty())
- return qint64(0);
-
- // If readFromSocket() read data, copy it to its destination.
- if (maxSize == 1) {
+ qint64 readSoFar;
+ // If startAsyncRead() read data, copy it to its destination.
+ if (maxSize == 1 && d->actualReadBufferSize > 0) {
*data = d->readBuffer.getChar();
- return 1;
+ d->actualReadBufferSize--;
+ readSoFar = 1;
+ } else {
+ qint64 bytesToRead = qMin(qint64(d->actualReadBufferSize), maxSize);
+ readSoFar = 0;
+ while (readSoFar < bytesToRead) {
+ const char *ptr = d->readBuffer.readPointer();
+ int bytesToReadFromThisBlock = qMin(bytesToRead - readSoFar,
+ qint64(d->readBuffer.nextDataBlockSize()));
+ memcpy(data + readSoFar, ptr, bytesToReadFromThisBlock);
+ readSoFar += bytesToReadFromThisBlock;
+ d->readBuffer.free(bytesToReadFromThisBlock);
+ d->actualReadBufferSize -= bytesToReadFromThisBlock;
+ }
}
- qint64 bytesToRead = qMin(qint64(d->readBuffer.size()), maxSize);
- qint64 readSoFar = 0;
- while (readSoFar < bytesToRead) {
- const char *ptr = d->readBuffer.readPointer();
- int bytesToReadFromThisBlock = qMin(int(bytesToRead - readSoFar),
- d->readBuffer.nextDataBlockSize());
- memcpy(data + readSoFar, ptr, bytesToReadFromThisBlock);
- readSoFar += bytesToReadFromThisBlock;
- d->readBuffer.free(bytesToReadFromThisBlock);
- }
+ if (!d->readSequenceStarted)
+ d->startAsyncRead();
+ d->checkReadyRead();
+
return readSoFar;
}
/*!
\internal
- read from the socket
+ Schedules or cancels a readyRead() emission depending on actual data availability
*/
-qint64 QLocalSocketPrivate::readData(char *data, qint64 maxSize)
+void QLocalSocketPrivate::checkReadyRead()
{
- DWORD bytesRead = 0;
- overlapped.Offset = 0;
- overlapped.OffsetHigh = 0;
- bool success = ReadFile(handle, data, maxSize, &bytesRead, &overlapped);
- if (!success && GetLastError() == ERROR_IO_PENDING)
- if (GetOverlappedResult(handle, &overlapped, &bytesRead, TRUE))
- success = true;
- if (!success) {
- setErrorString(QLatin1String("QLocalSocket::readData"));
- return 0;
+ if (actualReadBufferSize > 0) {
+ if (!pendingReadyRead) {
+ Q_Q(QLocalSocket);
+ QTimer::singleShot(0, q, SLOT(_q_emitReadyRead()));
+ pendingReadyRead = true;
+ }
+ } else {
+ pendingReadyRead = false;
}
- return bytesRead;
}
/*!
\internal
Reads data from the socket into the readbuffer
*/
-bool QLocalSocketPrivate::readFromSocket()
+void QLocalSocketPrivate::startAsyncRead()
{
- qint64 bytesToRead = bytesAvailable();
- if (bytesToRead == 0)
- return false;
+ do {
+ DWORD bytesToRead = bytesAvailable();
+ if (bytesToRead == 0) {
+ // There are no bytes in the pipe but we need to
+ // start the overlapped read with some buffer size.
+ bytesToRead = initialReadBufferSize;
+ }
- if (readBufferMaxSize && bytesToRead
- > (readBufferMaxSize - readBuffer.size()))
- bytesToRead = readBufferMaxSize - readBuffer.size();
+ if (readBufferMaxSize && bytesToRead > (readBufferMaxSize - readBuffer.size())) {
+ bytesToRead = readBufferMaxSize - readBuffer.size();
+ if (bytesToRead == 0) {
+ // Buffer is full. User must read data from the buffer
+ // before we can read more from the pipe.
+ return;
+ }
+ }
- char *ptr = readBuffer.reserve(bytesToRead);
- qint64 readBytes = readData(ptr, bytesToRead);
- if (readBytes == 0) {
- readBuffer.chop(bytesToRead);
- return false;
+ char *ptr = readBuffer.reserve(bytesToRead);
+
+ readSequenceStarted = true;
+ if (ReadFile(handle, ptr, bytesToRead, NULL, &overlapped)) {
+ completeAsyncRead();
+ } else if (GetLastError() != ERROR_IO_PENDING) {
+ setErrorString(QLatin1String("QLocalSocketPrivate::startAsyncRead"));
+ return;
+ }
+ } while (!readSequenceStarted);
+}
+
+/*!
+ \internal
+ Sets the correct size of the read buffer after a read operation.
+ */
+void QLocalSocketPrivate::completeAsyncRead()
+{
+ ResetEvent(overlapped.hEvent);
+ readSequenceStarted = false;
+
+ DWORD bytesRead;
+ if (!GetOverlappedResult(handle, &overlapped, &bytesRead, TRUE)) {
+ setErrorString(QLatin1String("QLocalSocketPrivate::completeAsyncRead"));
+ return;
}
- readyReadEmitted = false;
- readBuffer.chop(int(bytesToRead - (readBytes < 0 ? qint64(0) : readBytes)));
- return true;
+
+ actualReadBufferSize += bytesRead;
+ readBuffer.truncate(actualReadBufferSize);
}
qint64 QLocalSocket::writeData(const char *data, qint64 maxSize)
@@ -289,11 +296,9 @@ void QLocalSocket::abort()
/*!
The number of bytes available from the pipe
*/
-qint64 QLocalSocketPrivate::bytesAvailable()
+DWORD QLocalSocketPrivate::bytesAvailable()
{
Q_Q(QLocalSocket);
- if (q->state() != QLocalSocket::ConnectedState)
- return 0;
DWORD bytes;
if (PeekNamedPipe(handle, NULL, 0, NULL, &bytes, NULL)) {
return bytes;
@@ -316,7 +321,7 @@ qint64 QLocalSocket::bytesAvailable() const
{
Q_D(const QLocalSocket);
qint64 available = QIODevice::bytesAvailable();
- available += (qint64) d->readBuffer.size();
+ available += (qint64) d->actualReadBufferSize;
return available;
}
@@ -343,7 +348,6 @@ void QLocalSocket::close()
QIODevice::close();
d->state = ClosingState;
emit stateChanged(d->state);
- d->readyReadEmitted = false;
emit readChannelFinished();
d->serverName = QString();
d->fullServerName = QString();
@@ -352,10 +356,13 @@ void QLocalSocket::close()
disconnectFromServer();
return;
}
+ d->readSequenceStarted = false;
+ d->pendingReadyRead = false;
d->pipeClosed = false;
DisconnectNamedPipe(d->handle);
CloseHandle(d->handle);
d->handle = INVALID_HANDLE_VALUE;
+ ResetEvent(d->overlapped.hEvent);
d->state = UnconnectedState;
emit stateChanged(d->state);
emit disconnected();
@@ -363,7 +370,6 @@ void QLocalSocket::close()
delete d->pipeWriter;
d->pipeWriter = 0;
}
- d->dataNotifier.stop();
}
bool QLocalSocket::flush()
@@ -397,12 +403,15 @@ bool QLocalSocket::setSocketDescriptor(quintptr socketDescriptor,
{
Q_D(QLocalSocket);
d->readBuffer.clear();
+ d->actualReadBufferSize = 0;
QIODevice::open(openMode);
d->handle = (int*)socketDescriptor;
d->state = socketState;
emit stateChanged(d->state);
- if (d->threadData->eventDispatcher)
- d->dataNotifier.start(NOTIFYTIMEOUT);
+ if (d->state == ConnectedState && openMode.testFlag(QIODevice::ReadOnly)) {
+ d->startAsyncRead();
+ d->checkReadyRead();
+ }
return true;
}
@@ -416,20 +425,18 @@ void QLocalSocketPrivate::_q_canWrite()
void QLocalSocketPrivate::_q_notified()
{
Q_Q(QLocalSocket);
- if (0 != bytesAvailable()) {
- if (readBufferMaxSize == 0 || readBuffer.size() < readBufferMaxSize) {
- if (!readFromSocket()) {
- return;
- }
- // wait until buffer is cleared before starting again
- if (readBufferMaxSize && readBuffer.size() == readBufferMaxSize) {
- dataNotifier.stop();
- }
- }
- if (!readyReadEmitted) {
- readyReadEmitted = true;
- q->emit readyRead();
- }
+ completeAsyncRead();
+ startAsyncRead();
+ pendingReadyRead = false;
+ emit q->readyRead();
+}
+
+void QLocalSocketPrivate::_q_emitReadyRead()
+{
+ if (pendingReadyRead) {
+ Q_Q(QLocalSocket);
+ pendingReadyRead = false;
+ emit q->readyRead();
}
}
@@ -462,11 +469,15 @@ bool QLocalSocket::waitForDisconnected(int msecs)
Q_D(QLocalSocket);
if (state() == UnconnectedState)
return false;
+ if (!openMode().testFlag(QIODevice::ReadOnly)) {
+ qWarning("QLocalSocket::waitForDisconnected isn't supported for write only pipes.");
+ return false;
+ }
QIncrementalSleepTimer timer(msecs);
forever {
- d->_q_notified();
- if (d->pipeClosed)
- close();
+ d->bytesAvailable(); // to check if PeekNamedPipe fails
+ if (d->pipeClosed)
+ close();
if (state() == UnconnectedState)
return true;
Sleep(timer.nextSleepTime());
@@ -486,22 +497,24 @@ bool QLocalSocket::isValid() const
bool QLocalSocket::waitForReadyRead(int msecs)
{
Q_D(QLocalSocket);
- QIncrementalSleepTimer timer(msecs);
- forever {
- d->_q_notified();
- if (bytesAvailable() > 0) {
- if (!d->readyReadEmitted) {
- d->readyReadEmitted = true;
- emit readyRead();
- }
- return true;
- }
- Sleep(timer.nextSleepTime());
- if (timer.hasTimedOut())
- break;
+ if (bytesAvailable() > 0)
+ return true;
+
+ if (d->state != QLocalSocket::ConnectedState)
+ return false;
+
+ Q_ASSERT(d->readSequenceStarted);
+ DWORD result = WaitForSingleObject(d->overlapped.hEvent, msecs == -1 ? INFINITE : msecs);
+ switch (result) {
+ case WAIT_OBJECT_0:
+ d->_q_notified();
+ return true;
+ case WAIT_TIMEOUT:
+ return false;
}
+ qWarning("QLocalSocket::waitForReadyRead WaitForSingleObject failed with error code %d.", int(GetLastError()));
return false;
}
@@ -511,27 +524,11 @@ bool QLocalSocket::waitForBytesWritten(int msecs)
if (!d->pipeWriter)
return false;
- QIncrementalSleepTimer timer(msecs);
- forever {
- if (d->pipeWriter->hadWritten())
- return true;
-
- if (d->pipeWriter->bytesToWrite() == 0)
- return false;
-
- // Wait for the pipe writer to acknowledge that it has
- // written. This will succeed if either the pipe writer has
- // already written the data, or if it manages to write data
- // within the given timeout.
- if (d->pipeWriter->waitForWrite(0))
- return true;
-
- Sleep(timer.nextSleepTime());
- if (timer.hasTimedOut())
- break;
- }
-
- return false;
+ // Wait for the pipe writer to acknowledge that it has
+ // written. This will succeed if either the pipe writer has
+ // already written the data, or if it manages to write data
+ // within the given timeout.
+ return d->pipeWriter->waitForWrite(msecs);
}
QT_END_NAMESPACE
diff --git a/src/network/socket/qnativesocketengine_p.h b/src/network/socket/qnativesocketengine_p.h
index d4d4d7b..e9e6986 100644
--- a/src/network/socket/qnativesocketengine_p.h
+++ b/src/network/socket/qnativesocketengine_p.h
@@ -55,9 +55,9 @@
#include "QtNetwork/qhostaddress.h"
#include "private/qabstractsocketengine_p.h"
#ifndef Q_OS_WIN
-# include "qplatformdefs.h"
+# include "qplatformdefs.h"
#else
-# include <winsock2.h>
+# include <winsock2.h>
#endif
#ifdef Q_OS_SYMBIAN
@@ -67,166 +67,6 @@
QT_BEGIN_NAMESPACE
-
-#ifndef Q_OS_WIN
-// Almost always the same. If not, specify in qplatformdefs.h.
-#if !defined(QT_SOCKOPTLEN_T)
-# define QT_SOCKOPTLEN_T QT_SOCKLEN_T
-#endif
-
-// Tru64 redefines accept -> _accept with _XOPEN_SOURCE_EXTENDED
-static inline int qt_socket_accept(int s, struct sockaddr *addr, QT_SOCKLEN_T *addrlen)
-{ return ::accept(s, addr, static_cast<QT_SOCKLEN_T *>(addrlen)); }
-#if defined(accept)
-# undef accept
-#endif
-
-// UnixWare 7 redefines listen -> _listen
-static inline int qt_socket_listen(int s, int backlog)
-{
- return ::listen(s, backlog);
-}
-#if defined(listen)
-# undef listen
-#endif
-
-static inline int qt_socket_connect(int s, const struct sockaddr * addrptr, socklen_t namelen)
-{
- return ::connect(s, addrptr, namelen);
-}
-#if defined(connect)
-# undef connect
-#endif
-
-static inline int qt_socket_bind(int s, const struct sockaddr * addrptr, socklen_t namelen)
-{
- return ::bind(s, addrptr, namelen);
-}
-#if defined(bind)
-# undef bind
-#endif
-
-static inline int qt_socket_write(int socket, const char *data, qint64 len)
-{
- return ::write(socket, data, len);
-}
-#if defined(write)
-# undef write
-#endif
-
-static inline int qt_socket_read(int socket, char *data, qint64 len)
-{
- return ::read(socket, data, len);
-}
-#if defined(read)
-# undef read
-#endif
-
-static inline int qt_socket_recv(int socket, void *data, size_t length, int flags)
-{
- return ::recv(socket, data, length, flags);
-}
-#if defined(recv)
-# undef recv
-#endif
-
-static inline int qt_socket_recvfrom(int socket, void *data, size_t length,
- int flags, struct sockaddr *address,
- socklen_t *address_length)
-{
- return ::recvfrom(socket, data, length, flags, address, address_length);
-}
-#if defined(recvfrom)
-# undef recvfrom
-#endif
-
-static inline int qt_socket_sendto(int socket, const void *data, size_t length,
- int flags, const struct sockaddr *dest_addr,
- socklen_t dest_length)
-{
- return ::sendto(socket, data, length, flags, dest_addr, dest_length);
-}
-#if defined(sendto)
-# undef sendto
-#endif
-static inline int qt_socket_close(int socket)
-{
- return ::close(socket);
-}
-#if defined(close)
-# undef close
-#endif
-
-static inline int qt_socket_fcntl(int socket, int command, int option)
-{
- return ::fcntl(socket, command, option);
-}
-#if defined(fcntl)
-# undef fcntl
-#endif
-
-static inline int qt_socket_ioctl(int socket, int command, char *option)
-{
- return ::ioctl(socket, command, option);
-}
-#if defined(ioctl)
-# undef ioctl
-#endif
-
-static inline int qt_socket_getsockname(int socket, struct sockaddr *address, socklen_t *address_len)
-{
- return ::getsockname(socket, address, address_len);
-}
-#if defined(getsockname)
-# undef getsockname
-#endif
-
-static inline int qt_socket_getpeername(int socket, struct sockaddr *address, socklen_t *address_len)
-{
- return ::getpeername(socket, address, address_len);
-}
-#if defined(getpeername)
-# undef getpeername
-#endif
-
-static inline int qt_socket_select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout)
-{
- return ::select(nfds, readfds, writefds, exceptfds, timeout);
-}
-
-#if defined(select)
-# undef select
-#endif
-
-static inline int qt_socket_getsockopt(int socket, int level, int optname, void *optval, socklen_t *optlen)
-{
- return ::getsockopt(socket, level, optname, optval, optlen);
-}
-
-#if defined(getsockopt)
-# undef getsockopt
-#endif
-
-static inline int qt_socket_setsockopt(int socket, int level, int optname, void *optval, socklen_t optlen)
-{
- return ::setsockopt(socket, level, optname, optval, optlen);
-}
-
-#if defined(setsockopt)
-# undef setsockopt
-#endif
-
-// UnixWare 7 redefines socket -> _socket
-static inline int qt_socket_socket(int domain, int type, int protocol)
-{
- return ::socket(domain, type, protocol);
-}
-#if defined(socket)
-# undef socket
-#endif
-
-#endif
-
// Use our own defines and structs which we know are correct
# define QT_SS_MAXSIZE 128
# define QT_SS_ALIGNSIZE (sizeof(qint64))
@@ -322,7 +162,7 @@ public Q_SLOTS:
void connectionNotification();
private:
- Q_DECLARE_SCOPED_PRIVATE(QNativeSocketEngine)
+ Q_DECLARE_PRIVATE(QNativeSocketEngine)
Q_DISABLE_COPY(QNativeSocketEngine)
};
diff --git a/src/network/socket/qnativesocketengine_unix.cpp b/src/network/socket/qnativesocketengine_unix.cpp
index 0027c8e..547ffae 100644
--- a/src/network/socket/qnativesocketengine_unix.cpp
+++ b/src/network/socket/qnativesocketengine_unix.cpp
@@ -41,6 +41,7 @@
//#define QNATIVESOCKETENGINE_DEBUG
#include "qnativesocketengine_p.h"
+#include "private/qnet_unix_p.h"
#include "qiodevice.h"
#include "qhostaddress.h"
#include "qvarlengtharray.h"
@@ -67,8 +68,141 @@
#include <ctype.h>
#endif
+#ifdef Q_OS_SYMBIAN // ### TODO: Are these headers right?
+#include <sys/socket.h>
+#include <netinet/in.h>
+#else
+#include <netinet/tcp.h>
+#endif
+
QT_BEGIN_NAMESPACE
+static inline int qt_socket_connect(int s, const struct sockaddr * addrptr, socklen_t namelen)
+{
+ return ::connect(s, addrptr, namelen);
+}
+#if defined(connect)
+# undef connect
+#endif
+
+static inline int qt_socket_bind(int s, const struct sockaddr * addrptr, socklen_t namelen)
+{
+ return ::bind(s, addrptr, namelen);
+}
+#if defined(bind)
+# undef bind
+#endif
+
+static inline int qt_socket_write(int socket, const char *data, qint64 len)
+{
+ return ::write(socket, data, len);
+}
+#if defined(write)
+# undef write
+#endif
+
+static inline int qt_socket_read(int socket, char *data, qint64 len)
+{
+ return ::read(socket, data, len);
+}
+#if defined(read)
+# undef read
+#endif
+
+static inline int qt_socket_recv(int socket, void *data, size_t length, int flags)
+{
+ return ::recv(socket, data, length, flags);
+}
+#if defined(recv)
+# undef recv
+#endif
+
+static inline int qt_socket_recvfrom(int socket, void *data, size_t length,
+ int flags, struct sockaddr *address,
+ socklen_t *address_length)
+{
+ return ::recvfrom(socket, data, length, flags, address, address_length);
+}
+#if defined(recvfrom)
+# undef recvfrom
+#endif
+
+static inline int qt_socket_sendto(int socket, const void *data, size_t length,
+ int flags, const struct sockaddr *dest_addr,
+ socklen_t dest_length)
+{
+ return ::sendto(socket, data, length, flags, dest_addr, dest_length);
+}
+#if defined(sendto)
+# undef sendto
+#endif
+static inline int qt_socket_close(int socket)
+{
+ return ::close(socket);
+}
+#if defined(close)
+# undef close
+#endif
+
+static inline int qt_socket_fcntl(int socket, int command, int option)
+{
+ return ::fcntl(socket, command, option);
+}
+#if defined(fcntl)
+# undef fcntl
+#endif
+
+static inline int qt_socket_ioctl(int socket, int command, char *option)
+{
+ return ::ioctl(socket, command, option);
+}
+#if defined(ioctl)
+# undef ioctl
+#endif
+
+static inline int qt_socket_getsockname(int socket, struct sockaddr *address, socklen_t *address_len)
+{
+ return ::getsockname(socket, address, address_len);
+}
+#if defined(getsockname)
+# undef getsockname
+#endif
+
+static inline int qt_socket_getpeername(int socket, struct sockaddr *address, socklen_t *address_len)
+{
+ return ::getpeername(socket, address, address_len);
+}
+#if defined(getpeername)
+# undef getpeername
+#endif
+
+static inline int qt_socket_select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout)
+{
+ return ::select(nfds, readfds, writefds, exceptfds, timeout);
+}
+
+#if defined(select)
+# undef select
+#endif
+
+static inline int qt_socket_getsockopt(int socket, int level, int optname, void *optval, socklen_t *optlen)
+{
+ return ::getsockopt(socket, level, optname, optval, optlen);
+}
+
+#if defined(getsockopt)
+# undef getsockopt
+#endif
+
+static inline int qt_socket_setsockopt(int socket, int level, int optname, void *optval, socklen_t optlen)
+{
+ return ::setsockopt(socket, level, optname, optval, optlen);
+}
+
+#if defined(setsockopt)
+# undef setsockopt
+#endif
+
#if defined QNATIVESOCKETENGINE_DEBUG
/*
@@ -169,7 +303,7 @@ bool QNativeSocketEnginePrivate::createNewSocket(QAbstractSocket::SocketType soc
int protocol = AF_INET;
#endif
int type = (socketType == QAbstractSocket::UdpSocket) ? SOCK_DGRAM : SOCK_STREAM;
- int socket = qt_socket_socket(protocol, type, 0);
+ int socket = qt_safe_socket(protocol, type, 0);
if (socket <= 0) {
switch (errno) {
@@ -211,6 +345,8 @@ int QNativeSocketEnginePrivate::option(QNativeSocketEngine::SocketOption opt) co
return -1;
int n = -1;
+ int level = SOL_SOCKET; // default
+
switch (opt) {
case QNativeSocketEngine::ReceiveBufferSocketOption:
n = SO_RCVBUF;
@@ -230,11 +366,18 @@ int QNativeSocketEnginePrivate::option(QNativeSocketEngine::SocketOption opt) co
case QNativeSocketEngine::ReceiveOutOfBandData:
n = SO_OOBINLINE;
break;
+ case QNativeSocketEngine::LowDelayOption:
+ level = IPPROTO_TCP;
+ n = TCP_NODELAY;
+ break;
+ case QNativeSocketEngine::KeepAliveOption:
+ n = SO_KEEPALIVE;
+ break;
}
int v = -1;
QT_SOCKOPTLEN_T len = sizeof(v);
- if (qt_socket_getsockopt(socketDescriptor, SOL_SOCKET, n, (char *) &v, &len) != -1)
+ if (qt_socket_getsockopt(socketDescriptor, level, n, (char *) &v, &len) != -1)
return v;
return -1;
@@ -251,6 +394,8 @@ bool QNativeSocketEnginePrivate::setOption(QNativeSocketEngine::SocketOption opt
return false;
int n = 0;
+ int level = SOL_SOCKET; // default
+
switch (opt) {
case QNativeSocketEngine::ReceiveBufferSocketOption:
n = SO_RCVBUF;
@@ -263,6 +408,7 @@ bool QNativeSocketEnginePrivate::setOption(QNativeSocketEngine::SocketOption opt
break;
case QNativeSocketEngine::NonBlockingSocketOption: {
// Make the socket nonblocking.
+#if !defined(Q_OS_VXWORKS)
int flags = qt_socket_fcntl(socketDescriptor, F_GETFL, 0);
if (flags == -1) {
#ifdef QNATIVESOCKETENGINE_DEBUG
@@ -276,7 +422,15 @@ bool QNativeSocketEnginePrivate::setOption(QNativeSocketEngine::SocketOption opt
#endif
return false;
}
-
+#else // Q_OS_VXWORKS
+ int onoff = 1;
+ if (qt_safe_ioctl(socketDescriptor, FIONBIO, &onoff) < 0) {
+#ifdef QNATIVESOCKETENGINE_DEBUG
+ perror("QNativeSocketEnginePrivate::setOption(): ioctl(FIONBIO, 1) failed");
+#endif
+ return false;
+ }
+#endif // Q_OS_VXWORKS
return true;
}
case QNativeSocketEngine::AddressReusable:
@@ -293,10 +447,16 @@ bool QNativeSocketEnginePrivate::setOption(QNativeSocketEngine::SocketOption opt
case QNativeSocketEngine::ReceiveOutOfBandData:
n = SO_OOBINLINE;
break;
+ case QNativeSocketEngine::LowDelayOption:
+ level = IPPROTO_TCP;
+ n = TCP_NODELAY;
+ break;
+ case QNativeSocketEngine::KeepAliveOption:
+ n = SO_KEEPALIVE;
+ break;
}
- return qt_socket_setsockopt(socketDescriptor, SOL_SOCKET, n, (char *) &v, sizeof(v)) == 0;
-
+ return qt_socket_setsockopt(socketDescriptor, level, n, (char *) &v, sizeof(v)) == 0;
}
bool QNativeSocketEnginePrivate::nativeConnect(const QHostAddress &addr, quint16 port)
@@ -485,7 +645,7 @@ bool QNativeSocketEnginePrivate::nativeBind(const QHostAddress &address, quint16
bool QNativeSocketEnginePrivate::nativeListen(int backlog)
{
- if (qt_socket_listen(socketDescriptor, backlog) < 0) {
+ if (qt_safe_listen(socketDescriptor, backlog) < 0) {
switch (errno) {
case EADDRINUSE:
setError(QAbstractSocket::AddressInUseError,
@@ -512,7 +672,7 @@ bool QNativeSocketEnginePrivate::nativeListen(int backlog)
int QNativeSocketEnginePrivate::nativeAccept()
{
- int acceptedDescriptor = qt_socket_accept(socketDescriptor, 0, 0);
+ int acceptedDescriptor = qt_safe_accept(socketDescriptor, 0, 0);
#if defined (QNATIVESOCKETENGINE_DEBUG)
qDebug("QNativeSocketEnginePrivate::nativeAccept() == %i", acceptedDescriptor);
#endif
@@ -533,7 +693,7 @@ qint64 QNativeSocketEnginePrivate::nativeBytesAvailable() const
int nbytes = 0;
// gives shorter than true amounts on Unix domain sockets.
qint64 available = 0;
- if (::ioctl(socketDescriptor, FIONREAD, (char *) &nbytes) >= 0)
+ if (qt_safe_ioctl(socketDescriptor, FIONREAD, (char *) &nbytes) >= 0)
available = (qint64) nbytes;
#if defined (QNATIVESOCKETENGINE_DEBUG)
@@ -665,11 +825,8 @@ qint64 QNativeSocketEnginePrivate::nativeSendDatagram(const char *data, qint64 l
// ignore the SIGPIPE signal
qt_ignore_sigpipe();
- ssize_t sentBytes;
- do {
- sentBytes = qt_socket_sendto(socketDescriptor, data, len,
- 0, sockAddrPtr, sockAddrSize);
- } while (sentBytes == -1 && errno == EINTR);
+ ssize_t sentBytes = qt_safe_sendto(socketDescriptor, data, len,
+ 0, sockAddrPtr, sockAddrSize);
if (sentBytes < 0) {
switch (errno) {
@@ -781,6 +938,7 @@ qint64 QNativeSocketEnginePrivate::nativeWrite(const char *data, qint64 len)
ssize_t writtenBytes;
do {
writtenBytes = qt_socket_write(socketDescriptor, data, len);
+ // writtenBytes = QT_WRITE(socketDescriptor, data, len); ### TODO S60: Should this line be removed or the one above it?
} while (writtenBytes < 0 && errno == EINTR);
if (writtenBytes < 0) {
@@ -844,6 +1002,9 @@ qint64 QNativeSocketEnginePrivate::nativeRead(char *data, qint64 maxSize)
case EPIPE:
#endif
case ECONNRESET:
+#if defined(Q_OS_VXWORKS)
+ case ESHUTDOWN:
+#endif
r = 0;
break;
default:
@@ -876,22 +1037,18 @@ int QNativeSocketEnginePrivate::nativeSelect(int timeout, bool selectForRead) co
FD_SET(socketDescriptor, &fdexec);
#endif
- QTime timer;
- timer.start();
-
int retval;
- do {
- if (selectForRead)
+ if (selectForRead)
#ifndef Q_OS_SYMBIAN
- retval = qt_socket_select(socketDescriptor + 1, &fds, 0, 0, timeout < 0 ? 0 : &tv);
+ retval = qt_safe_select(socketDescriptor + 1, &fds, 0, 0, timeout < 0 ? 0 : &tv);
#else
- retval = qt_socket_select(socketDescriptor + 1, &fds, 0, &fdexec, timeout < 0 ? 0 : &tv);
+ retval = qt_socket_select(socketDescriptor + 1, &fds, 0, &fdexec, timeout < 0 ? 0 : &tv);
#endif
- else
+ else
#ifndef Q_OS_SYMBIAN
- retval = qt_socket_select(socketDescriptor + 1, 0, &fds, 0, timeout < 0 ? 0 : &tv);
+ retval = qt_safe_select(socketDescriptor + 1, 0, &fds, 0, timeout < 0 ? 0 : &tv);
#else
- retval = qt_socket_select(socketDescriptor + 1, 0, &fds, &fdexec, timeout < 0 ? 0 : &tv);
+ retval = qt_socket_select(socketDescriptor + 1, 0, &fds, &fdexec, timeout < 0 ? 0 : &tv);
#endif
@@ -909,24 +1066,6 @@ int QNativeSocketEnginePrivate::nativeSelect(int timeout, bool selectForRead) co
}
#endif
- if (retval != -1 || errno != EINTR) {
- break;
- }
-
- if (timeout > 0) {
- // recalculate the timeout
- int t = timeout - timer.elapsed();
- if (t < 0) {
- // oops, timeout turned negative?
- retval = -1;
- break;
- }
-
- tv.tv_sec = t / 1000;
- tv.tv_usec = (t % 1000) * 1000;
- }
- } while (true);
-
return retval;
}
@@ -953,14 +1092,14 @@ int QNativeSocketEnginePrivate::nativeSelect(int timeout, bool checkRead, bool c
tv.tv_sec = timeout / 1000;
tv.tv_usec = (timeout % 1000) * 1000;
+ int ret;
+#ifndef Q_OS_SYMBIAN
+ ret = qt_safe_select(socketDescriptor + 1, &fdread, &fdwrite, 0, timeout < 0 ? 0 : &tv);
+#else
QTime timer;
timer.start();
- int ret;
do {
-#ifndef Q_OS_SYMBIAN
- ret = qt_socket_select(socketDescriptor + 1, &fdread, &fdwrite, 0, timeout < 0 ? 0 : &tv);
-#else
ret = qt_socket_select(socketDescriptor + 1, &fdread, &fdwrite, &fdexec, timeout < 0 ? 0 : &tv);
bool selectForExec = false;
if(ret != 0) {
@@ -981,7 +1120,7 @@ int QNativeSocketEnginePrivate::nativeSelect(int timeout, bool checkRead, bool c
ret = 1;
}
-#endif
+
if (ret != -1 || errno != EINTR) {
break;
}
@@ -999,6 +1138,8 @@ int QNativeSocketEnginePrivate::nativeSelect(int timeout, bool checkRead, bool c
tv.tv_usec = (t % 1000) * 1000;
}
} while (true);
+#endif
+
if (ret <= 0)
return ret;
*selectForRead = FD_ISSET(socketDescriptor, &fdread);
diff --git a/src/network/socket/qnativesocketengine_win.cpp b/src/network/socket/qnativesocketengine_win.cpp
index 59a3b60..f0b9f0b 100644
--- a/src/network/socket/qnativesocketengine_win.cpp
+++ b/src/network/socket/qnativesocketengine_win.cpp
@@ -166,11 +166,11 @@ static QByteArray qt_prettyDebug(const char *data, int len, int maxLength)
Extracts the port and address from a sockaddr, and stores them in
\a port and \a addr if they are non-null.
*/
-static inline void qt_socket_getPortAndAddress(SOCKET socketDescriptor, struct sockaddr *sa, quint16 *port, QHostAddress *address)
+static inline void qt_socket_getPortAndAddress(SOCKET socketDescriptor, const qt_sockaddr *sa, quint16 *port, QHostAddress *address)
{
#if !defined (QT_NO_IPV6)
- if (sa->sa_family == AF_INET6) {
- qt_sockaddr_in6 *sa6 = (qt_sockaddr_in6 *)sa;
+ if (sa->a.sa_family == AF_INET6) {
+ const qt_sockaddr_in6 *sa6 = &sa->a6;
Q_IPV6ADDR tmp;
for (int i = 0; i < 16; ++i)
tmp.c[i] = sa6->sin6_addr.qt_s6_addr[i];
@@ -182,8 +182,8 @@ static inline void qt_socket_getPortAndAddress(SOCKET socketDescriptor, struct s
WSANtohs(socketDescriptor, sa6->sin6_port, port);
} else
#endif
- if (sa->sa_family == AF_INET) {
- struct sockaddr_in *sa4 = (struct sockaddr_in *)sa;
+ if (sa->a.sa_family == AF_INET) {
+ const sockaddr_in *sa4 = &sa->a4;
unsigned long addr;
WSANtohl(socketDescriptor, sa4->sin_addr.s_addr, &addr);
QHostAddress a;
@@ -362,6 +362,8 @@ int QNativeSocketEnginePrivate::option(QNativeSocketEngine::SocketOption opt) co
return -1;
int n = -1;
+ int level = SOL_SOCKET; // default
+
switch (opt) {
case QNativeSocketEngine::ReceiveBufferSocketOption:
n = SO_RCVBUF;
@@ -389,11 +391,18 @@ int QNativeSocketEnginePrivate::option(QNativeSocketEngine::SocketOption opt) co
case QNativeSocketEngine::ReceiveOutOfBandData:
n = SO_OOBINLINE;
break;
+ case QNativeSocketEngine::LowDelayOption:
+ level = IPPROTO_TCP;
+ n = TCP_NODELAY;
+ break;
+ case QNativeSocketEngine::KeepAliveOption:
+ n = SO_KEEPALIVE;
+ break;
}
int v = -1;
QT_SOCKOPTLEN_T len = sizeof(v);
- if (getsockopt(socketDescriptor, SOL_SOCKET, n, (char *) &v, &len) != -1)
+ if (getsockopt(socketDescriptor, level, n, (char *) &v, &len) != -1)
return v;
return -1;
}
@@ -409,6 +418,8 @@ bool QNativeSocketEnginePrivate::setOption(QNativeSocketEngine::SocketOption opt
return false;
int n = 0;
+ int level = SOL_SOCKET; // default
+
switch (opt) {
case QNativeSocketEngine::ReceiveBufferSocketOption:
n = SO_RCVBUF;
@@ -440,9 +451,16 @@ bool QNativeSocketEnginePrivate::setOption(QNativeSocketEngine::SocketOption opt
case QNativeSocketEngine::ReceiveOutOfBandData:
n = SO_OOBINLINE;
break;
+ case QNativeSocketEngine::LowDelayOption:
+ level = IPPROTO_TCP;
+ n = TCP_NODELAY;
+ break;
+ case QNativeSocketEngine::KeepAliveOption:
+ n = SO_KEEPALIVE;
+ break;
}
- if (::setsockopt(socketDescriptor, SOL_SOCKET, n, (char*)&v, sizeof(v)) != 0) {
+ if (::setsockopt(socketDescriptor, level, n, (char*)&v, sizeof(v)) != 0) {
WS_ERROR_DEBUG(WSAGetLastError());
return false;
}
@@ -463,20 +481,15 @@ bool QNativeSocketEnginePrivate::fetchConnectionParameters()
if (socketDescriptor == -1)
return false;
-#if !defined (QT_NO_IPV6)
- struct qt_sockaddr_storage sa;
-#else
- struct sockaddr_in sa;
-#endif
- struct sockaddr *pSa = (struct sockaddr *) &sa;
-
- QT_SOCKLEN_T sz = sizeof(sa);
+ qt_sockaddr sa;
+ QT_SOCKLEN_T sockAddrSize = sizeof(sa);
+ // Determine local address
memset(&sa, 0, sizeof(sa));
- if (::getsockname(socketDescriptor, pSa, &sz) == 0) {
- qt_socket_getPortAndAddress(socketDescriptor, pSa, &localPort, &localAddress);
+ if (::getsockname(socketDescriptor, &sa.a, &sockAddrSize) == 0) {
+ qt_socket_getPortAndAddress(socketDescriptor, &sa, &localPort, &localAddress);
// Determine protocol family
- switch (pSa->sa_family) {
+ switch (sa.a.sa_family) {
case AF_INET:
socketProtocol = QAbstractSocket::IPv4Protocol;
break;
@@ -500,8 +513,8 @@ bool QNativeSocketEnginePrivate::fetchConnectionParameters()
}
memset(&sa, 0, sizeof(sa));
- if (::getpeername(socketDescriptor, pSa, &sz) == 0) {
- qt_socket_getPortAndAddress(socketDescriptor, pSa, &peerPort, &peerAddress);
+ if (::getpeername(socketDescriptor, &sa.a, &sockAddrSize) == 0) {
+ qt_socket_getPortAndAddress(socketDescriptor, &sa, &peerPort, &peerAddress);
} else {
WS_ERROR_DEBUG(WSAGetLastError());
}
@@ -533,8 +546,8 @@ bool QNativeSocketEnginePrivate::nativeConnect(const QHostAddress &address, quin
struct sockaddr_in sockAddrIPv4;
qt_sockaddr_in6 sockAddrIPv6;
- struct sockaddr *sockAddrPtr;
- QT_SOCKLEN_T sockAddrSize;
+ struct sockaddr *sockAddrPtr = 0;
+ QT_SOCKLEN_T sockAddrSize = 0;
qt_socket_setPortAndAddress(socketDescriptor, &sockAddrIPv4, &sockAddrIPv6, port, address, &sockAddrPtr, &sockAddrSize);
@@ -638,8 +651,8 @@ bool QNativeSocketEnginePrivate::nativeBind(const QHostAddress &address, quint16
{
struct sockaddr_in sockAddrIPv4;
qt_sockaddr_in6 sockAddrIPv6;
- struct sockaddr *sockAddrPtr;
- QT_SOCKLEN_T sockAddrSize;
+ struct sockaddr *sockAddrPtr = 0;
+ QT_SOCKLEN_T sockAddrSize = 0;
qt_socket_setPortAndAddress(socketDescriptor, &sockAddrIPv4, &sockAddrIPv6, port, address, &sockAddrPtr, &sockAddrSize);
@@ -766,20 +779,9 @@ bool QNativeSocketEnginePrivate::nativeHasPendingDatagrams() const
{
#if !defined(Q_OS_WINCE)
// Create a sockaddr struct and reset its port number.
-#if !defined(QT_NO_IPV6)
- qt_sockaddr_in6 storage;
- qt_sockaddr_in6 *storagePtrIPv6 = reinterpret_cast<qt_sockaddr_in6 *>(&storage);
- storagePtrIPv6->sin6_port = 0;
-#else
- struct sockaddr storage;
-#endif
- sockaddr *storagePtr = reinterpret_cast<sockaddr *>(&storage);
- storagePtr->sa_family = 0;
-
- sockaddr_in *storagePtrIPv4 = reinterpret_cast<sockaddr_in *>(&storage);
- storagePtrIPv4->sin_port = 0;
+ qt_sockaddr storage;
QT_SOCKLEN_T storageSize = sizeof(storage);
-
+ memset(&storage, 0, storageSize);
bool result = false;
@@ -791,7 +793,7 @@ bool QNativeSocketEnginePrivate::nativeHasPendingDatagrams() const
buf.len = sizeof(c);
DWORD available = 0;
DWORD flags = MSG_PEEK;
- int ret = ::WSARecvFrom(socketDescriptor, &buf, 1, &available, &flags, storagePtr, &storageSize,0,0);
+ int ret = ::WSARecvFrom(socketDescriptor, &buf, 1, &available, &flags, &storage.a, &storageSize,0,0);
int err = WSAGetLastError();
if (ret == SOCKET_ERROR && err != WSAEMSGSIZE) {
WS_ERROR_DEBUG(err);
@@ -801,7 +803,7 @@ bool QNativeSocketEnginePrivate::nativeHasPendingDatagrams() const
// notifiers.
flags = 0;
::WSARecvFrom(socketDescriptor, &buf, 1, &available, &flags,
- storagePtr, &storageSize, 0, 0);
+ &storage.a, &storageSize, 0, 0);
}
} else {
// If there's no error, or if our buffer was too small, there must be
@@ -893,14 +895,11 @@ qint64 QNativeSocketEnginePrivate::nativeReceiveDatagram(char *data, qint64 maxL
{
qint64 ret = 0;
-#if !defined(QT_NO_IPV6)
- qt_sockaddr_storage aa;
-#else
- struct sockaddr_in aa;
-#endif
+ qt_sockaddr aa;
memset(&aa, 0, sizeof(aa));
QT_SOCKLEN_T sz;
sz = sizeof(aa);
+
WSABUF buf;
buf.buf = data;
buf.len = maxLength;
@@ -915,23 +914,17 @@ qint64 QNativeSocketEnginePrivate::nativeReceiveDatagram(char *data, qint64 maxL
DWORD flags = 0;
DWORD bytesRead = 0;
- int wsaRet = ::WSARecvFrom(socketDescriptor, &buf, 1, &bytesRead, &flags, (struct sockaddr *) &aa, &sz,0,0);
+ int wsaRet = ::WSARecvFrom(socketDescriptor, &buf, 1, &bytesRead, &flags, &aa.a, &sz,0,0);
if (wsaRet == SOCKET_ERROR) {
int err = WSAGetLastError();
- if (err == WSAEMSGSIZE) {
- // it is ok the buffer was to small if bytesRead is larger than
- // maxLength (win 9x) then assume bytes read is really maxLenth
- ret = qint64(bytesRead) > maxLength ? maxLength : qint64(bytesRead);
- } else {
- WS_ERROR_DEBUG(err);
- setError(QAbstractSocket::NetworkError, ReceiveDatagramErrorString);
- ret = -1;
- }
+ WS_ERROR_DEBUG(err);
+ setError(QAbstractSocket::NetworkError, ReceiveDatagramErrorString);
+ ret = -1;
} else {
ret = qint64(bytesRead);
}
- qt_socket_getPortAndAddress(socketDescriptor, (struct sockaddr *) &aa, port, address);
+ qt_socket_getPortAndAddress(socketDescriptor, &aa, port, address);
#if defined (QNATIVESOCKETENGINE_DEBUG)
qDebug("QNativeSocketEnginePrivate::nativeReceiveDatagram(%p \"%s\", %li, %s, %i) == %li",
@@ -950,41 +943,37 @@ qint64 QNativeSocketEnginePrivate::nativeSendDatagram(const char *data, qint64 l
qint64 ret = -1;
struct sockaddr_in sockAddrIPv4;
qt_sockaddr_in6 sockAddrIPv6;
- struct sockaddr *sockAddrPtr;
- QT_SOCKLEN_T sockAddrSize;
+ struct sockaddr *sockAddrPtr = 0;
+ QT_SOCKLEN_T sockAddrSize = 0;
qt_socket_setPortAndAddress(socketDescriptor, &sockAddrIPv4, &sockAddrIPv6, port, address, &sockAddrPtr, &sockAddrSize);
- if (QSysInfo::WindowsVersion & QSysInfo::WV_DOS_based && len > qint64(qt_socket_getMaxMsgSize(socketDescriptor))) {
- // WSAEMSGSIZE is not reliable enough (win 9x) so we check max size our self.
- setError(QAbstractSocket::DatagramTooLargeError, DatagramTooLargeErrorString);
- } else {
- WSABUF buf;
+ WSABUF buf;
#if !defined(Q_OS_WINCE)
- buf.buf = len ? (char*)data : 0;
+ buf.buf = len ? (char*)data : 0;
#else
- char tmp;
- buf.buf = len ? (char*)data : &tmp;
+ char tmp;
+ buf.buf = len ? (char*)data : &tmp;
#endif
- buf.len = len;
- DWORD flags = 0;
- DWORD bytesSent = 0;
- if (::WSASendTo(socketDescriptor, &buf, 1, &bytesSent, flags, sockAddrPtr, sockAddrSize, 0,0) == SOCKET_ERROR) {
- int err = WSAGetLastError();
- WS_ERROR_DEBUG(err);
- switch (err) {
- case WSAEMSGSIZE:
- setError(QAbstractSocket::DatagramTooLargeError, DatagramTooLargeErrorString);
- break;
- default:
- setError(QAbstractSocket::NetworkError, SendDatagramErrorString);
- break;
- }
- ret = -1;
- } else {
- ret = qint64(bytesSent);
+ buf.len = len;
+ DWORD flags = 0;
+ DWORD bytesSent = 0;
+ if (::WSASendTo(socketDescriptor, &buf, 1, &bytesSent, flags, sockAddrPtr, sockAddrSize, 0,0) == SOCKET_ERROR) {
+ int err = WSAGetLastError();
+ WS_ERROR_DEBUG(err);
+ switch (err) {
+ case WSAEMSGSIZE:
+ setError(QAbstractSocket::DatagramTooLargeError, DatagramTooLargeErrorString);
+ break;
+ default:
+ setError(QAbstractSocket::NetworkError, SendDatagramErrorString);
+ break;
}
+ ret = -1;
+ } else {
+ ret = qint64(bytesSent);
}
+
#if defined (QNATIVESOCKETENGINE_DEBUG)
qDebug("QNativeSocketEnginePrivate::nativeSendDatagram(%p \"%s\", %li, \"%s\", %i) == %li", data,
qt_prettyDebug(data, qMin<qint64>(len, 16), len).data(), 0, address.toString().toLatin1().constData(),
diff --git a/src/network/socket/qnet_unix_p.h b/src/network/socket/qnet_unix_p.h
new file mode 100644
index 0000000..040b3ec
--- /dev/null
+++ b/src/network/socket/qnet_unix_p.h
@@ -0,0 +1,204 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtNetwork module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QNET_UNIX_P_H
+#define QNET_UNIX_P_H
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists for the convenience
+// of Qt code on Unix. This header file may change from version to
+// version to version without notice, or even be removed.
+//
+// We mean it.
+//
+
+#include "private/qcore_unix_p.h"
+
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <netinet/in.h>
+
+#if defined(Q_OS_VXWORKS)
+# include <sockLib.h>
+#endif
+
+// for inet_addr
+#include <netdb.h>
+#include <arpa/inet.h>
+#if defined(Q_OS_VXWORKS)
+# include <hostLib.h>
+#else
+# include <resolv.h>
+#endif
+
+QT_BEGIN_NAMESPACE
+
+// Almost always the same. If not, specify in qplatformdefs.h.
+#if !defined(QT_SOCKOPTLEN_T)
+# define QT_SOCKOPTLEN_T QT_SOCKLEN_T
+#endif
+
+// UnixWare 7 redefines socket -> _socket
+static inline int qt_safe_socket(int domain, int type, int protocol, int flags = 0)
+{
+ Q_ASSERT((flags & ~O_NONBLOCK) == 0);
+
+ register int fd;
+#if defined(SOCK_CLOEXEC) && defined(SOCK_NONBLOCK)
+ int newtype = type | SOCK_CLOEXEC;
+ if (flags & O_NONBLOCK)
+ newtype |= SOCK_NONBLOCK;
+ fd = ::socket(domain, newtype, protocol);
+ if (fd != -1 || errno != EINVAL)
+ return fd;
+#endif
+
+ fd = ::socket(domain, type, protocol);
+ if (fd == -1)
+ return -1;
+
+ ::fcntl(fd, F_SETFD, FD_CLOEXEC);
+
+ // set non-block too?
+ if (flags & O_NONBLOCK)
+ ::fcntl(fd, F_SETFL, ::fcntl(fd, F_GETFL) | O_NONBLOCK);
+
+ return fd;
+}
+
+// Tru64 redefines accept -> _accept with _XOPEN_SOURCE_EXTENDED
+static inline int qt_safe_accept(int s, struct sockaddr *addr, QT_SOCKLEN_T *addrlen, int flags = 0)
+{
+ Q_ASSERT((flags & ~O_NONBLOCK) == 0);
+
+ register int fd;
+#if QT_UNIX_SUPPORTS_THREADSAFE_CLOEXEC && defined(SOCK_CLOEXEC) && defined(SOCK_NONBLOCK)
+ // use accept4
+ int sockflags = SOCK_CLOEXEC;
+ if (flags & O_NONBLOCK)
+ sockflags |= SOCK_NONBLOCK;
+ fd = ::accept4(s, addr, static_cast<QT_SOCKLEN_T *>(addrlen), sockflags);
+ if (fd != -1 || !(errno == ENOSYS || errno == EINVAL))
+ return fd;
+#endif
+
+ fd = ::accept(s, addr, static_cast<QT_SOCKLEN_T *>(addrlen));
+ if (fd == -1)
+ return -1;
+
+ ::fcntl(fd, F_SETFD, FD_CLOEXEC);
+
+ // set non-block too?
+ if (flags & O_NONBLOCK)
+ ::fcntl(fd, F_SETFL, ::fcntl(fd, F_GETFL) | O_NONBLOCK);
+
+ return fd;
+}
+
+// UnixWare 7 redefines listen -> _listen
+static inline int qt_safe_listen(int s, int backlog)
+{
+ return ::listen(s, backlog);
+}
+
+static inline int qt_safe_connect(int sockfd, const struct sockaddr *addr, QT_SOCKLEN_T addrlen)
+{
+ register int ret;
+ // Solaris e.g. expects a non-const 2nd parameter
+ EINTR_LOOP(ret, QT_SOCKET_CONNECT(sockfd, const_cast<struct sockaddr *>(addr), addrlen));
+ return ret;
+}
+#undef QT_SOCKET_CONNECT
+#define QT_SOCKET_CONNECT qt_safe_connect
+
+#if defined(socket)
+# undef socket
+#endif
+#if defined(accept)
+# undef accept
+#endif
+#if defined(listen)
+# undef listen
+#endif
+
+// VxWorks' headers specify 'int' instead of '...' for the 3rd ioctl() parameter.
+template <typename T>
+static inline int qt_safe_ioctl(int sockfd, int request, T arg)
+{
+#ifdef Q_OS_VXWORKS
+ return ::ioctl(sockfd, request, (int) arg);
+#else
+ return ::ioctl(sockfd, request, arg);
+#endif
+}
+
+// VxWorks' headers do not specify any const modifiers
+static inline in_addr_t qt_safe_inet_addr(const char *cp)
+{
+#ifdef Q_OS_VXWORKS
+ return ::inet_addr((char *) cp);
+#else
+ return ::inet_addr(cp);
+#endif
+}
+
+// VxWorks' headers do not specify any const modifiers
+static inline int qt_safe_sendto(int sockfd, const void *buf, size_t len, int flags, const struct sockaddr *to, QT_SOCKLEN_T tolen)
+{
+#ifdef MSG_NOSIGNAL
+ flags |= MSG_NOSIGNAL;
+#endif
+
+ register int ret;
+#ifdef Q_OS_VXWORKS
+ EINTR_LOOP(ret, ::sendto(sockfd, (char *) buf, len, flags, (struct sockaddr *) to, tolen));
+#else
+ EINTR_LOOP(ret, ::sendto(sockfd, buf, len, flags, to, tolen));
+#endif
+ return ret;
+}
+
+QT_END_NAMESPACE
+
+#endif // QNET_UNIX_P_H
diff --git a/src/network/socket/qsocks5socketengine.cpp b/src/network/socket/qsocks5socketengine.cpp
index 46a45c6..25873c6 100644
--- a/src/network/socket/qsocks5socketengine.cpp
+++ b/src/network/socket/qsocks5socketengine.cpp
@@ -1625,14 +1625,28 @@ qint64 QSocks5SocketEngine::pendingDatagramSize() const
int QSocks5SocketEngine::option(SocketOption option) const
{
- Q_UNUSED(option);
+ Q_D(const QSocks5SocketEngine);
+ if (d->data && d->data->controlSocket) {
+ // convert the enum and call the real socket
+ if (option == QAbstractSocketEngine::LowDelayOption)
+ return d->data->controlSocket->socketOption(QAbstractSocket::LowDelayOption).toInt();
+ if (option == QAbstractSocketEngine::KeepAliveOption)
+ return d->data->controlSocket->socketOption(QAbstractSocket::KeepAliveOption).toInt();
+ }
return -1;
}
bool QSocks5SocketEngine::setOption(SocketOption option, int value)
{
- Q_UNUSED(option);
- Q_UNUSED(value);
+ Q_D(QSocks5SocketEngine);
+ if (d->data && d->data->controlSocket) {
+ // convert the enum and call the real socket
+ if (option == QAbstractSocketEngine::LowDelayOption)
+ d->data->controlSocket->setSocketOption(QAbstractSocket::LowDelayOption, value);
+ if (option == QAbstractSocketEngine::KeepAliveOption)
+ d->data->controlSocket->setSocketOption(QAbstractSocket::KeepAliveOption, value);
+ return true;
+ }
return false;
}
diff --git a/src/network/socket/qsocks5socketengine_p.h b/src/network/socket/qsocks5socketengine_p.h
index 04c6280..19560f0 100644
--- a/src/network/socket/qsocks5socketengine_p.h
+++ b/src/network/socket/qsocks5socketengine_p.h
@@ -117,7 +117,7 @@ public:
void setExceptionNotificationEnabled(bool enable);
private:
- Q_DECLARE_SCOPED_PRIVATE(QSocks5SocketEngine)
+ Q_DECLARE_PRIVATE(QSocks5SocketEngine)
Q_DISABLE_COPY(QSocks5SocketEngine)
Q_PRIVATE_SLOT(d_func(), void _q_controlSocketConnected())
Q_PRIVATE_SLOT(d_func(), void _q_controlSocketReadNotification())
diff --git a/src/network/socket/qtcpserver.h b/src/network/socket/qtcpserver.h
index 697f998..19f2a45 100644
--- a/src/network/socket/qtcpserver.h
+++ b/src/network/socket/qtcpserver.h
@@ -99,7 +99,7 @@ Q_SIGNALS:
private:
Q_DISABLE_COPY(QTcpServer)
- Q_DECLARE_SCOPED_PRIVATE(QTcpServer)
+ Q_DECLARE_PRIVATE(QTcpServer)
};
QT_END_NAMESPACE
diff --git a/src/network/socket/qtcpsocket.cpp b/src/network/socket/qtcpsocket.cpp
index dc0439d..60722cc 100644
--- a/src/network/socket/qtcpsocket.cpp
+++ b/src/network/socket/qtcpsocket.cpp
@@ -60,10 +60,10 @@
\bold{Note:} TCP sockets cannot be opened in QIODevice::Unbuffered mode.
- \sa QTcpServer, QUdpSocket, QFtp, QHttp, {Fortune Server Example},
- {Fortune Client Example}, {Threaded Fortune Server Example},
- {Blocking Fortune Client Example}, {Loopback Example},
- {Torrent Example}
+ \sa QTcpServer, QUdpSocket, QFtp, QNetworkAccessManager,
+ {Fortune Server Example}, {Fortune Client Example},
+ {Threaded Fortune Server Example}, {Blocking Fortune Client Example},
+ {Loopback Example}, {Torrent Example}
*/
#include "qlist.h"
diff --git a/src/network/socket/qtcpsocket.h b/src/network/socket/qtcpsocket.h
index f60d131..4e1003a 100644
--- a/src/network/socket/qtcpsocket.h
+++ b/src/network/socket/qtcpsocket.h
@@ -43,6 +43,7 @@
#define QTCPSOCKET_H
#include <QtNetwork/qabstractsocket.h>
+#include <QtCore/qvariant.h>
QT_BEGIN_HEADER
@@ -64,7 +65,7 @@ protected:
private:
Q_DISABLE_COPY(QTcpSocket)
- Q_DECLARE_SCOPED_PRIVATE(QTcpSocket)
+ Q_DECLARE_PRIVATE(QTcpSocket)
};
QT_END_NAMESPACE
diff --git a/src/network/socket/qudpsocket.cpp b/src/network/socket/qudpsocket.cpp
index 8e641d9..71a71cb 100644
--- a/src/network/socket/qudpsocket.cpp
+++ b/src/network/socket/qudpsocket.cpp
@@ -70,6 +70,9 @@
pendingDatagramSize() to obtain the size of the first pending
datagram, and readDatagram() to read it.
+ \note An incoming datagram should be read when you receive the readyRead()
+ signal, otherwise this signal will not be emitted for the next datagram.
+
Example:
\snippet doc/src/snippets/code/src_network_socket_qudpsocket.cpp 0
diff --git a/src/network/socket/qudpsocket.h b/src/network/socket/qudpsocket.h
index ea0c42c..078b8ad 100644
--- a/src/network/socket/qudpsocket.h
+++ b/src/network/socket/qudpsocket.h
@@ -85,7 +85,7 @@ public:
private:
Q_DISABLE_COPY(QUdpSocket)
- Q_DECLARE_SCOPED_PRIVATE(QUdpSocket)
+ Q_DECLARE_PRIVATE(QUdpSocket)
};
Q_DECLARE_OPERATORS_FOR_FLAGS(QUdpSocket::BindMode)
diff --git a/src/network/socket/socket.pri b/src/network/socket/socket.pri
index dad43d2..2bafe13 100644
--- a/src/network/socket/socket.pri
+++ b/src/network/socket/socket.pri
@@ -28,7 +28,8 @@ SOURCES += socket/qabstractsocketengine.cpp \
unix:SOURCES += socket/qnativesocketengine_unix.cpp \
socket/qlocalsocket_unix.cpp \
socket/qlocalserver_unix.cpp
-
+unix:HEADERS += \
+ socket/qnet_unix_p.h
win32:SOURCES += socket/qnativesocketengine_win.cpp \
socket/qlocalsocket_win.cpp \
diff --git a/src/network/ssl/qsslsocket.cpp b/src/network/ssl/qsslsocket.cpp
index fc297e4..df0afe3 100644
--- a/src/network/ssl/qsslsocket.cpp
+++ b/src/network/ssl/qsslsocket.cpp
@@ -356,7 +356,7 @@ QSslSocket::~QSslSocket()
want to ignore the errors and continue connecting, you must call
ignoreSslErrors(), either from inside a slot function connected to
the sslErrors() signal, or prior to entering encrypted mode. If
- ignoreSslErrors is not called, the connection is dropped, signal
+ ignoreSslErrors() is not called, the connection is dropped, signal
disconnected() is emitted, and QSslSocket returns to the
UnconnectedState.
@@ -1592,7 +1592,33 @@ void QSslSocket::startServerEncryption()
void QSslSocket::ignoreSslErrors()
{
Q_D(QSslSocket);
- d->ignoreSslErrors = true;
+ d->ignoreAllSslErrors = true;
+}
+
+/*!
+ \overload
+ \since 4.6
+
+ This method tells QSslSocket to ignore only the errors given in \a
+ errors.
+
+ Note that you can set the expected certificate in the SSL error:
+ If, for instance, you want to connect to a server that uses
+ a self-signed certificate, consider the following snippet:
+
+ \snippet doc/src/snippets/code/src_network_ssl_qsslsocket.cpp 6
+
+ Multiple calls to this function will replace the list of errors that
+ were passed in previous calls.
+ You can clear the list of errors you want to ignore by calling this
+ function with an empty list.
+
+ \sa sslErrors()
+*/
+void QSslSocket::ignoreSslErrors(const QList<QSslError> &errors)
+{
+ Q_D(QSslSocket);
+ d->ignoreErrorsList = errors;
}
/*!
@@ -1732,7 +1758,11 @@ void QSslSocketPrivate::init()
mode = QSslSocket::UnencryptedMode;
autoStartHandshake = false;
connectionEncrypted = false;
- ignoreSslErrors = false;
+ ignoreAllSslErrors = false;
+
+ // we don't want to clear the ignoreErrorsList, so
+ // that it is possible setting it before connecting
+// ignoreErrorsList.clear();
readBuffer.clear();
writeBuffer.clear();
diff --git a/src/network/ssl/qsslsocket.h b/src/network/ssl/qsslsocket.h
index d52f5c1..cab0667 100644
--- a/src/network/ssl/qsslsocket.h
+++ b/src/network/ssl/qsslsocket.h
@@ -169,6 +169,7 @@ public:
QList<QSslError> sslErrors() const;
static bool supportsSsl();
+ void ignoreSslErrors(const QList<QSslError> &errors);
public Q_SLOTS:
void startClientEncryption();
@@ -192,7 +193,7 @@ protected:
qint64 writeData(const char *data, qint64 len);
private:
- Q_DECLARE_SCOPED_PRIVATE(QSslSocket)
+ Q_DECLARE_PRIVATE(QSslSocket)
Q_DISABLE_COPY(QSslSocket)
Q_PRIVATE_SLOT(d_func(), void _q_connectedSlot())
Q_PRIVATE_SLOT(d_func(), void _q_hostFoundSlot())
diff --git a/src/network/ssl/qsslsocket_openssl.cpp b/src/network/ssl/qsslsocket_openssl.cpp
index ea62a4d..130494e 100644
--- a/src/network/ssl/qsslsocket_openssl.cpp
+++ b/src/network/ssl/qsslsocket_openssl.cpp
@@ -839,7 +839,27 @@ bool QSslSocketBackendPrivate::startHandshake()
if (!errors.isEmpty()) {
sslErrors = errors;
emit q->sslErrors(errors);
- if (doVerifyPeer && !ignoreSslErrors) {
+
+ bool doEmitSslError;
+ if (!ignoreErrorsList.empty()) {
+ // check whether the errors we got are all in the list of expected errors
+ // (applies only if the method QSslSocket::ignoreSslErrors(const QList<QSslError> &errors)
+ // was called)
+ doEmitSslError = false;
+ for (int a = 0; a < errors.count(); a++) {
+ if (!ignoreErrorsList.contains(errors.at(a))) {
+ doEmitSslError = true;
+ break;
+ }
+ }
+ } else {
+ // if QSslSocket::ignoreSslErrors(const QList<QSslError> &errors) was not called and
+ // we get an SSL error, emit a signal unless we ignored all errors (by calling
+ // QSslSocket::ignoreSslErrors() )
+ doEmitSslError = !ignoreAllSslErrors;
+ }
+ // check whether we need to emit an SSL handshake error
+ if (doVerifyPeer && doEmitSslError) {
q->setErrorString(sslErrors.first().errorString());
q->setSocketError(QAbstractSocket::SslHandshakeFailedError);
emit q->error(QAbstractSocket::SslHandshakeFailedError);
diff --git a/src/network/ssl/qsslsocket_openssl_p.h b/src/network/ssl/qsslsocket_openssl_p.h
index 4579890..f923924 100644
--- a/src/network/ssl/qsslsocket_openssl_p.h
+++ b/src/network/ssl/qsslsocket_openssl_p.h
@@ -57,7 +57,7 @@
#include "qsslsocket_p.h"
#ifdef Q_OS_WIN
-#include <windows.h>
+#include <qt_windows.h>
#if defined(OCSP_RESPONSE)
#undef OCSP_RESPONSE
#endif
diff --git a/src/network/ssl/qsslsocket_p.h b/src/network/ssl/qsslsocket_p.h
index dc8e4f5..8fd2154 100644
--- a/src/network/ssl/qsslsocket_p.h
+++ b/src/network/ssl/qsslsocket_p.h
@@ -79,7 +79,8 @@ public:
QSslSocket::SslMode mode;
bool autoStartHandshake;
bool connectionEncrypted;
- bool ignoreSslErrors;
+ bool ignoreAllSslErrors;
+ QList<QSslError> ignoreErrorsList;
bool* readyReadEmittedPointer;
QRingBuffer readBuffer;
diff --git a/src/opengl/gl2paintengineex/qglengineshadermanager.cpp b/src/opengl/gl2paintengineex/qglengineshadermanager.cpp
index 4b73ca9..d7c91b8 100644
--- a/src/opengl/gl2paintengineex/qglengineshadermanager.cpp
+++ b/src/opengl/gl2paintengineex/qglengineshadermanager.cpp
@@ -49,6 +49,28 @@
QT_BEGIN_NAMESPACE
+static void QGLEngineShaderManager_free(void *ptr)
+{
+ delete reinterpret_cast<QGLEngineShaderManager *>(ptr);
+}
+
+Q_GLOBAL_STATIC_WITH_ARGS(QGLContextResource, qt_shader_managers, (QGLEngineShaderManager_free))
+
+QGLEngineShaderManager *QGLEngineShaderManager::managerForContext(const QGLContext *context)
+{
+ QGLEngineShaderManager *p = reinterpret_cast<QGLEngineShaderManager *>(qt_shader_managers()->value(context));
+ if (!p) {
+ QGLContext *oldContext = const_cast<QGLContext *>(QGLContext::currentContext());
+ if (oldContext != context)
+ const_cast<QGLContext *>(context)->makeCurrent();
+ p = new QGLEngineShaderManager(const_cast<QGLContext *>(context));
+ qt_shader_managers()->insert(context, p);
+ if (oldContext && oldContext != context)
+ oldContext->makeCurrent();
+ }
+ return p;
+}
+
const char* QGLEngineShaderManager::qglEngineShaderSourceCode[] = {
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
@@ -190,27 +212,33 @@ QGLEngineShaderManager::~QGLEngineShaderManager()
//###
}
-
-uint QGLEngineShaderManager::getUniformIdentifier(const char *uniformName)
-{
- uniformIdentifiers << uniformName;
- return uniformIdentifiers.size() - 1;
-}
-
-uint QGLEngineShaderManager::getUniformLocation(uint id)
+uint QGLEngineShaderManager::getUniformLocation(Uniform id)
{
QVector<uint> &uniformLocations = currentShaderProg->uniformLocations;
- uint oldSize = uniformLocations.size();
- if (oldSize <= id) {
- uint newSize = id + 1;
- uniformLocations.resize(newSize);
-
- for (uint i = oldSize; i < newSize; ++i)
- uniformLocations[i] = GLuint(-1);
- }
+ if (uniformLocations.isEmpty())
+ uniformLocations.fill(GLuint(-1), NumUniforms);
+
+ static const char *uniformNames[] = {
+ "imageTexture",
+ "patternColor",
+ "globalOpacity",
+ "depth",
+ "pmvMatrix",
+ "maskTexture",
+ "fragmentColor",
+ "linearData",
+ "angle",
+ "halfViewportSize",
+ "fmp",
+ "fmp2_m_radius2",
+ "inverse_2_fmp2_m_radius2",
+ "invertedTextureSize",
+ "brushTransform",
+ "brushTexture"
+ };
if (uniformLocations.at(id) == GLuint(-1))
- uniformLocations[id] = currentShaderProg->program->uniformLocation(uniformIdentifiers.at(id));
+ uniformLocations[id] = currentShaderProg->program->uniformLocation(uniformNames[id]);
return uniformLocations.at(id);
}
diff --git a/src/opengl/gl2paintengineex/qglengineshadermanager_p.h b/src/opengl/gl2paintengineex/qglengineshadermanager_p.h
index 34f0768..99711bd40 100644
--- a/src/opengl/gl2paintengineex/qglengineshadermanager_p.h
+++ b/src/opengl/gl2paintengineex/qglengineshadermanager_p.h
@@ -220,6 +220,7 @@
#include <QGLShader>
#include <QGLShaderProgram>
#include <QPainter>
+#include <private/qgl_p.h>
QT_BEGIN_HEADER
@@ -274,6 +275,26 @@ public:
TextureSrcWithPattern = Qt::TexturePattern+4
};
+ enum Uniform {
+ ImageTexture,
+ PatternColor,
+ GlobalOpacity,
+ Depth,
+ PmvMatrix,
+ MaskTexture,
+ FragmentColor,
+ LinearData,
+ Angle,
+ HalfViewportSize,
+ Fmp,
+ Fmp2MRadius2,
+ Inverse2Fmp2MRadius2,
+ InvertedTextureSize,
+ BrushTransform,
+ BrushTexture,
+ NumUniforms
+ };
+
// There are optimisations we can do, depending on the brush transform:
// 1) May not have to apply perspective-correction
// 2) Can use lower precision for matrix
@@ -285,8 +306,7 @@ public:
void setMaskType(MaskType);
void setCompositionMode(QPainter::CompositionMode);
- uint getUniformIdentifier(const char *uniformName);
- uint getUniformLocation(uint id);
+ uint getUniformLocation(Uniform id);
void setDirty(); // someone has manually changed the current shader program
bool useCorrectShaderProg(); // returns true if the shader program needed to be changed
@@ -295,6 +315,8 @@ public:
QGLShaderProgram* simpleProgram(); // Used to draw into e.g. stencil buffers
QGLShaderProgram* blitProgram(); // Used to blit a texture into the framebuffer
+ static QGLEngineShaderManager *managerForContext(const QGLContext *context);
+
enum ShaderName {
MainVertexShader,
MainWithTexCoordsVertexShader,
@@ -352,6 +374,7 @@ public:
TotalShaderCount, InvalidShaderName
};
+
/*
// These allow the ShaderName enum to be used as a cache key
const int mainVertexOffset = 0;
@@ -391,8 +414,6 @@ private:
void compileNamedShader(QGLEngineShaderManager::ShaderName name, QGLShader::ShaderType type);
static const char* qglEngineShaderSourceCode[TotalShaderCount];
-
- QVector<const char *> uniformIdentifiers;
};
QT_END_NAMESPACE
diff --git a/src/opengl/gl2paintengineex/qglgradientcache.cpp b/src/opengl/gl2paintengineex/qglgradientcache.cpp
index 8c6b4f0..7c54bb9 100644
--- a/src/opengl/gl2paintengineex/qglgradientcache.cpp
+++ b/src/opengl/gl2paintengineex/qglgradientcache.cpp
@@ -46,6 +46,28 @@
QT_BEGIN_NAMESPACE
+static void QGL2GradientCache_free(void *ptr)
+{
+ delete reinterpret_cast<QGL2GradientCache *>(ptr);
+}
+
+Q_GLOBAL_STATIC_WITH_ARGS(QGLContextResource, qt_gradient_caches, (QGL2GradientCache_free))
+
+QGL2GradientCache *QGL2GradientCache::cacheForContext(const QGLContext *context)
+{
+ QGL2GradientCache *p = reinterpret_cast<QGL2GradientCache *>(qt_gradient_caches()->value(context));
+ if (!p) {
+ QGLContext *oldContext = const_cast<QGLContext *>(QGLContext::currentContext());
+ if (oldContext != context)
+ const_cast<QGLContext *>(context)->makeCurrent();
+ p = new QGL2GradientCache;
+ qt_gradient_caches()->insert(context, p);
+ if (oldContext && oldContext != context)
+ oldContext->makeCurrent();
+ }
+ return p;
+}
+
void QGL2GradientCache::cleanCache() {
QGLGradientColorTableHash::const_iterator it = cache.constBegin();
for (; it != cache.constEnd(); ++it) {
@@ -55,13 +77,8 @@ void QGL2GradientCache::cleanCache() {
cache.clear();
}
-GLuint QGL2GradientCache::getBuffer(const QGradient &gradient, qreal opacity, const QGLContext *ctx)
+GLuint QGL2GradientCache::getBuffer(const QGradient &gradient, qreal opacity)
{
- if (buffer_ctx && !qgl_share_reg()->checkSharing(buffer_ctx, ctx))
- cleanCache();
-
- buffer_ctx = ctx;
-
quint64 hash_val = 0;
QGradientStops stops = gradient.stops();
diff --git a/src/opengl/gl2paintengineex/qglgradientcache_p.h b/src/opengl/gl2paintengineex/qglgradientcache_p.h
index 55c7b65..ba698bc 100644
--- a/src/opengl/gl2paintengineex/qglgradientcache_p.h
+++ b/src/opengl/gl2paintengineex/qglgradientcache_p.h
@@ -53,12 +53,12 @@
#include <QMultiHash>
#include <QObject>
#include <QtOpenGL/QtOpenGL>
+#include <private/qgl_p.h>
QT_BEGIN_NAMESPACE
-class QGL2GradientCache : public QObject
+class QGL2GradientCache
{
- Q_OBJECT
struct CacheInfo
{
inline CacheInfo(QGradientStops s, qreal op, QGradient::InterpolationMode mode) :
@@ -73,16 +73,12 @@ class QGL2GradientCache : public QObject
typedef QMultiHash<quint64, CacheInfo> QGLGradientColorTableHash;
public:
- QGL2GradientCache() : QObject(), buffer_ctx(0)
- {
-/*
- connect(QGLSignalProxy::instance(),
- SIGNAL(aboutToDestroyContext(const QGLContext *)),
- SLOT(cleanupGLContextRefs(const QGLContext *)));
-*/
- }
+ static QGL2GradientCache *cacheForContext(const QGLContext *context);
+
+ QGL2GradientCache() { }
+ ~QGL2GradientCache() {cleanCache();}
- GLuint getBuffer(const QGradient &gradient, qreal opacity, const QGLContext *ctx);
+ GLuint getBuffer(const QGradient &gradient, qreal opacity);
inline int paletteSize() const { return 1024; }
protected:
@@ -95,15 +91,6 @@ protected:
void cleanCache();
QGLGradientColorTableHash cache;
- const QGLContext *buffer_ctx;
-
-public slots:
- void cleanupGLContextRefs(const QGLContext *context) {
- if (context == buffer_ctx) {
- cleanCache();
- buffer_ctx = 0;
- }
- }
};
QT_END_NAMESPACE
diff --git a/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp b/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp
index c4f5891..62090a5 100644
--- a/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp
+++ b/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp
@@ -74,6 +74,7 @@
#include <private/qpainter_p.h>
#include <private/qfontengine_p.h>
#include <private/qtextureglyphcache_p.h>
+#include <private/qpixmapdata_gl_p.h>
#include "qglgradientcache_p.h"
#include "qglengineshadermanager_p.h"
@@ -88,8 +89,9 @@ static const GLuint QT_IMAGE_TEXTURE_UNIT = 0; //Can be the same as brush
static const GLuint QT_MASK_TEXTURE_UNIT = 1;
static const GLuint QT_BACKGROUND_TEXTURE_UNIT = 2;
-class QGLTextureGlyphCache : public QTextureGlyphCache
+class QGLTextureGlyphCache : public QObject, public QTextureGlyphCache
{
+ Q_OBJECT
public:
QGLTextureGlyphCache(QGLContext *context, QFontEngineGlyphCache::Type type, const QTransform &matrix);
~QGLTextureGlyphCache();
@@ -105,6 +107,25 @@ public:
inline void setPaintEnginePrivate(QGL2PaintEngineExPrivate *p) { pex = p; }
+
+public Q_SLOTS:
+ void contextDestroyed(const QGLContext *context) {
+ if (context == ctx) {
+ QList<const QGLContext *> shares = qgl_share_reg()->shares(ctx);
+ if (shares.isEmpty()) {
+ glDeleteFramebuffers(1, &m_fbo);
+ if (m_width || m_height)
+ glDeleteTextures(1, &m_texture);
+ ctx = 0;
+ } else {
+ // since the context holding the texture is shared, and
+ // about to be destroyed, we have to transfer ownership
+ // of the texture to one of the share contexts
+ ctx = const_cast<QGLContext *>(shares.at(0));
+ }
+ }
+ }
+
private:
QGLContext *ctx;
@@ -126,14 +147,23 @@ QGLTextureGlyphCache::QGLTextureGlyphCache(QGLContext *context, QFontEngineGlyph
, m_height(0)
{
glGenFramebuffers(1, &m_fbo);
+ connect(QGLSignalProxy::instance(), SIGNAL(aboutToDestroyContext(const QGLContext *)),
+ SLOT(contextDestroyed(const QGLContext *)));
}
QGLTextureGlyphCache::~QGLTextureGlyphCache()
{
- glDeleteFramebuffers(1, &m_fbo);
-
- if (m_width || m_height)
- glDeleteTextures(1, &m_texture);
+ if (ctx) {
+ QGLContext *oldContext = const_cast<QGLContext *>(QGLContext::currentContext());
+ if (oldContext != ctx)
+ ctx->makeCurrent();
+ glDeleteFramebuffers(1, &m_fbo);
+
+ if (m_width || m_height)
+ glDeleteTextures(1, &m_texture);
+ if (oldContext && oldContext != ctx)
+ oldContext->makeCurrent();
+ }
}
void QGLTextureGlyphCache::createTextureData(int width, int height)
@@ -231,8 +261,11 @@ void QGLTextureGlyphCache::fillTexture(const Coord &c, glyph_t glyph)
if (mask.format() == QImage::Format_RGB32) {
glTexSubImage2D(GL_TEXTURE_2D, 0, c.x, m_height - c.y, maskWidth, maskHeight, GL_BGRA, GL_UNSIGNED_BYTE, mask.bits());
} else {
- mask = mask.convertToFormat(QImage::Format_Indexed8);
- glTexSubImage2D(GL_TEXTURE_2D, 0, c.x, c.y, maskWidth, maskHeight, GL_ALPHA, GL_UNSIGNED_BYTE, mask.bits());
+ // If the width of the uploaded data is not a multiple of four bytes, we get some garbage
+ // in the glyph cache, probably because of a driver bug.
+ // Convert to ARGB32 to get a multiple of 4 bytes per line.
+ mask = mask.convertToFormat(QImage::Format_ARGB32);
+ glTexSubImage2D(GL_TEXTURE_2D, 0, c.x, c.y, maskWidth, maskHeight, GL_BGRA, GL_UNSIGNED_BYTE, mask.bits());
}
}
@@ -242,16 +275,12 @@ extern QImage qt_imageForBrush(int brushStyle, bool invert);
QGL2PaintEngineExPrivate::~QGL2PaintEngineExPrivate()
{
- if (shaderManager) {
- delete shaderManager;
- shaderManager = 0;
- }
}
void QGL2PaintEngineExPrivate::updateTextureFilter(GLenum target, GLenum wrapMode, bool smoothPixmapTransform, GLuint id)
{
// glActiveTexture(GL_TEXTURE0 + QT_BRUSH_TEXTURE_UNIT); //### Is it always this texture unit?
- if (id != -1 && id == lastTexture)
+ if (id != GLuint(-1) && id == lastTexture)
return;
lastTexture = id;
@@ -271,6 +300,7 @@ void QGL2PaintEngineExPrivate::updateTextureFilter(GLenum target, GLenum wrapMod
QColor QGL2PaintEngineExPrivate::premultiplyColor(QColor c, GLfloat opacity)
{
qreal alpha = c.alphaF() * opacity;
+ c.setAlphaF(alpha);
c.setRedF(c.redF() * alpha);
c.setGreenF(c.greenF() * alpha);
c.setBlueF(c.blueF() * alpha);
@@ -314,9 +344,6 @@ void QGL2PaintEngineExPrivate::useSimpleShader()
}
}
-
-Q_GLOBAL_STATIC(QGL2GradientCache, qt_opengl_gradient_cache)
-
void QGL2PaintEngineExPrivate::updateBrushTexture()
{
// qDebug("QGL2PaintEngineExPrivate::updateBrushTexture()");
@@ -337,7 +364,10 @@ void QGL2PaintEngineExPrivate::updateBrushTexture()
// We apply global opacity in the fragment shaders, so we always pass 1.0
// for opacity to the cache.
- GLuint texId = qt_opengl_gradient_cache()->getBuffer(*g, 1.0, ctx);
+ GLuint texId = QGL2GradientCache::cacheForContext(ctx)->getBuffer(*g, 1.0);
+
+ glActiveTexture(GL_TEXTURE0 + QT_BRUSH_TEXTURE_UNIT);
+ glBindTexture(GL_TEXTURE_2D, texId);
if (g->spread() == QGradient::RepeatSpread || g->type() == QGradient::ConicalGradient)
updateTextureFilter(GL_TEXTURE_2D, GL_REPEAT, true);
@@ -345,9 +375,6 @@ void QGL2PaintEngineExPrivate::updateBrushTexture()
updateTextureFilter(GL_TEXTURE_2D, GL_MIRRORED_REPEAT_IBM, true);
else
updateTextureFilter(GL_TEXTURE_2D, GL_CLAMP_TO_EDGE, true);
-
- glActiveTexture(GL_TEXTURE0 + QT_BRUSH_TEXTURE_UNIT);
- glBindTexture(GL_TEXTURE_2D, texId);
}
else if (style == Qt::TexturePattern) {
const QPixmap& texPixmap = currentBrush->texture();
@@ -372,7 +399,7 @@ void QGL2PaintEngineExPrivate::updateBrushUniforms()
if (style == Qt::SolidPattern) {
QColor col = premultiplyColor(currentBrush->color(), (GLfloat)q->state()->opacity);
- shaderManager->currentProgram()->setUniformValue(location(FragmentColor), col);
+ shaderManager->currentProgram()->setUniformValue(location(QGLEngineShaderManager::FragmentColor), col);
}
else {
// All other brushes have a transform and thus need the translation point:
@@ -383,10 +410,10 @@ void QGL2PaintEngineExPrivate::updateBrushUniforms()
QColor col = premultiplyColor(currentBrush->color(), (GLfloat)q->state()->opacity);
- shaderManager->currentProgram()->setUniformValue(location(PatternColor), col);
+ shaderManager->currentProgram()->setUniformValue(location(QGLEngineShaderManager::PatternColor), col);
QVector2D halfViewportSize(width*0.5, height*0.5);
- shaderManager->currentProgram()->setUniformValue(location(HalfViewportSize), halfViewportSize);
+ shaderManager->currentProgram()->setUniformValue(location(QGLEngineShaderManager::HalfViewportSize), halfViewportSize);
}
else if (style == Qt::LinearGradientPattern) {
const QLinearGradient *g = static_cast<const QLinearGradient *>(currentBrush->gradient());
@@ -403,10 +430,10 @@ void QGL2PaintEngineExPrivate::updateBrushUniforms()
1.0f / (l.x() * l.x() + l.y() * l.y())
);
- shaderManager->currentProgram()->setUniformValue(location(LinearData), linearData);
+ shaderManager->currentProgram()->setUniformValue(location(QGLEngineShaderManager::LinearData), linearData);
QVector2D halfViewportSize(width*0.5, height*0.5);
- shaderManager->currentProgram()->setUniformValue(location(HalfViewportSize), halfViewportSize);
+ shaderManager->currentProgram()->setUniformValue(location(QGLEngineShaderManager::HalfViewportSize), halfViewportSize);
}
else if (style == Qt::ConicalGradientPattern) {
const QConicalGradient *g = static_cast<const QConicalGradient *>(currentBrush->gradient());
@@ -414,10 +441,10 @@ void QGL2PaintEngineExPrivate::updateBrushUniforms()
GLfloat angle = -(g->angle() * 2 * Q_PI) / 360.0;
- shaderManager->currentProgram()->setUniformValue(location(Angle), angle);
+ shaderManager->currentProgram()->setUniformValue(location(QGLEngineShaderManager::Angle), angle);
QVector2D halfViewportSize(width*0.5, height*0.5);
- shaderManager->currentProgram()->setUniformValue(location(HalfViewportSize), halfViewportSize);
+ shaderManager->currentProgram()->setUniformValue(location(QGLEngineShaderManager::HalfViewportSize), halfViewportSize);
}
else if (style == Qt::RadialGradientPattern) {
const QRadialGradient *g = static_cast<const QRadialGradient *>(currentBrush->gradient());
@@ -427,15 +454,15 @@ void QGL2PaintEngineExPrivate::updateBrushUniforms()
translationPoint = realFocal;
QPointF fmp = realCenter - realFocal;
- shaderManager->currentProgram()->setUniformValue(location(Fmp), fmp);
+ shaderManager->currentProgram()->setUniformValue(location(QGLEngineShaderManager::Fmp), fmp);
GLfloat fmp2_m_radius2 = -fmp.x() * fmp.x() - fmp.y() * fmp.y() + realRadius*realRadius;
- shaderManager->currentProgram()->setUniformValue(location(Fmp2MRadius2), fmp2_m_radius2);
- shaderManager->currentProgram()->setUniformValue(location(Inverse2Fmp2MRadius2),
+ shaderManager->currentProgram()->setUniformValue(location(QGLEngineShaderManager::Fmp2MRadius2), fmp2_m_radius2);
+ shaderManager->currentProgram()->setUniformValue(location(QGLEngineShaderManager::Inverse2Fmp2MRadius2),
GLfloat(1.0 / (2.0*fmp2_m_radius2)));
QVector2D halfViewportSize(width*0.5, height*0.5);
- shaderManager->currentProgram()->setUniformValue(location(HalfViewportSize), halfViewportSize);
+ shaderManager->currentProgram()->setUniformValue(location(QGLEngineShaderManager::HalfViewportSize), halfViewportSize);
}
else if (style == Qt::TexturePattern) {
translationPoint = q->state()->brushOrigin;
@@ -444,14 +471,14 @@ void QGL2PaintEngineExPrivate::updateBrushUniforms()
if (qHasPixmapTexture(*currentBrush) && currentBrush->texture().isQBitmap()) {
QColor col = premultiplyColor(currentBrush->color(), (GLfloat)q->state()->opacity);
- shaderManager->currentProgram()->setUniformValue(location(PatternColor), col);
+ shaderManager->currentProgram()->setUniformValue(location(QGLEngineShaderManager::PatternColor), col);
}
QSizeF invertedTextureSize( 1.0 / texPixmap.width(), 1.0 / texPixmap.height() );
- shaderManager->currentProgram()->setUniformValue(location(InvertedTextureSize), invertedTextureSize);
+ shaderManager->currentProgram()->setUniformValue(location(QGLEngineShaderManager::InvertedTextureSize), invertedTextureSize);
QVector2D halfViewportSize(width*0.5, height*0.5);
- shaderManager->currentProgram()->setUniformValue(location(HalfViewportSize), halfViewportSize);
+ shaderManager->currentProgram()->setUniformValue(location(QGLEngineShaderManager::HalfViewportSize), halfViewportSize);
}
else
qWarning("QGL2PaintEngineEx: Unimplemented fill style");
@@ -460,8 +487,8 @@ void QGL2PaintEngineExPrivate::updateBrushUniforms()
QTransform gl_to_qt(1, 0, 0, -1, 0, height);
QTransform inv_matrix = gl_to_qt * (brushQTransform * q->state()->matrix).inverted() * translate;
- shaderManager->currentProgram()->setUniformValue(location(BrushTransform), inv_matrix);
- shaderManager->currentProgram()->setUniformValue(location(BrushTexture), QT_BRUSH_TEXTURE_UNIT);
+ shaderManager->currentProgram()->setUniformValue(location(QGLEngineShaderManager::BrushTransform), inv_matrix);
+ shaderManager->currentProgram()->setUniformValue(location(QGLEngineShaderManager::BrushTexture), QT_BRUSH_TEXTURE_UNIT);
}
brushUniformsDirty = false;
}
@@ -599,11 +626,11 @@ void QGL2PaintEngineExPrivate::drawTexture(const QGLRect& dest, const QGLRect& s
shaderManager->setSrcPixelType(pattern ? QGLEngineShaderManager::PatternSrc : QGLEngineShaderManager::ImageSrc);
shaderManager->setTextureCoordsEnabled(true);
if (prepareForDraw(opaque))
- shaderManager->currentProgram()->setUniformValue(location(ImageTexture), QT_IMAGE_TEXTURE_UNIT);
+ shaderManager->currentProgram()->setUniformValue(location(QGLEngineShaderManager::ImageTexture), QT_IMAGE_TEXTURE_UNIT);
if (pattern) {
QColor col = premultiplyColor(q->state()->pen.color(), (GLfloat)q->state()->opacity);
- shaderManager->currentProgram()->setUniformValue(location(PatternColor), col);
+ shaderManager->currentProgram()->setUniformValue(location(QGLEngineShaderManager::PatternColor), col);
}
GLfloat dx = 1.0 / textureSize.width();
@@ -655,6 +682,11 @@ void QGL2PaintEngineEx::sync()
glDisable(GL_BLEND);
glActiveTexture(GL_TEXTURE0);
+ glDisable(GL_DEPTH_TEST);
+ glDepthFunc(GL_LESS);
+ glDepthMask(true);
+ glClearDepth(1);
+
d->needsSync = true;
}
@@ -847,17 +879,17 @@ bool QGL2PaintEngineExPrivate::prepareForDraw(bool srcPixelsAreOpaque)
updateBrushUniforms();
if (shaderMatrixUniformDirty) {
- shaderManager->currentProgram()->setUniformValue(location(PmvMatrix), pmvMatrix);
+ shaderManager->currentProgram()->setUniformValue(location(QGLEngineShaderManager::PmvMatrix), pmvMatrix);
shaderMatrixUniformDirty = false;
}
if (depthUniformDirty) {
- shaderManager->currentProgram()->setUniformValue(location(Depth), (GLfloat)q->state()->currentDepth);
+ shaderManager->currentProgram()->setUniformValue(location(QGLEngineShaderManager::Depth), (GLfloat)q->state()->currentDepth);
depthUniformDirty = false;
}
if (useGlobalOpacityUniform && opacityUniformDirty) {
- shaderManager->currentProgram()->setUniformValue(location(GlobalOpacity), (GLfloat)q->state()->opacity);
+ shaderManager->currentProgram()->setUniformValue(location(QGLEngineShaderManager::GlobalOpacity), (GLfloat)q->state()->opacity);
opacityUniformDirty = false;
}
@@ -1023,14 +1055,18 @@ void QGL2PaintEngineEx::drawPixmap(const QRectF& dest, const QPixmap & pixmap, c
QGLContext *ctx = d->ctx;
glActiveTexture(GL_TEXTURE0 + QT_IMAGE_TEXTURE_UNIT);
- GLuint id = ctx->d_func()->bindTexture(pixmap, GL_TEXTURE_2D, GL_RGBA, true);
+ QGLTexture *texture = ctx->d_func()->bindTexture(pixmap, GL_TEXTURE_2D, GL_RGBA, true, true);
+
+ GLfloat top = texture->yInverted ? (pixmap.height() - src.top()) : src.top();
+ GLfloat bottom = texture->yInverted ? (pixmap.height() - src.bottom()) : src.bottom();
+ QGLRect srcRect(src.left(), top, src.right(), bottom);
bool isBitmap = pixmap.isQBitmap();
bool isOpaque = !isBitmap && !pixmap.hasAlphaChannel();
d->updateTextureFilter(GL_TEXTURE_2D, GL_REPEAT,
- state()->renderHints & QPainter::SmoothPixmapTransform, id);
- d->drawTexture(dest, src, pixmap.size(), isOpaque, isBitmap);
+ state()->renderHints & QPainter::SmoothPixmapTransform, texture->id);
+ d->drawTexture(dest, srcRect, pixmap.size(), isOpaque, isBitmap);
}
void QGL2PaintEngineEx::drawImage(const QRectF& dest, const QImage& image, const QRectF& src,
@@ -1042,7 +1078,8 @@ void QGL2PaintEngineEx::drawImage(const QRectF& dest, const QImage& image, const
QGLContext *ctx = d->ctx;
glActiveTexture(GL_TEXTURE0 + QT_IMAGE_TEXTURE_UNIT);
- GLuint id = ctx->d_func()->bindTexture(image, GL_TEXTURE_2D, GL_RGBA, true);
+ QGLTexture *texture = ctx->d_func()->bindTexture(image, GL_TEXTURE_2D, GL_RGBA, true);
+ GLuint id = texture->id;
d->updateTextureFilter(GL_TEXTURE_2D, GL_REPEAT,
state()->renderHints & QPainter::SmoothPixmapTransform, id);
@@ -1140,7 +1177,7 @@ void QGL2PaintEngineExPrivate::drawCachedGlyphs(const QPointF &p, const QTextIte
prepareForDraw(false); // Text always causes src pixels to be transparent
- shaderManager->currentProgram()->setUniformValue(location(MaskTexture), QT_MASK_TEXTURE_UNIT);
+ shaderManager->currentProgram()->setUniformValue(location(QGLEngineShaderManager::MaskTexture), QT_MASK_TEXTURE_UNIT);
if (vertexCoordinateArray.data() != oldVertexCoordinateDataPtr)
glVertexAttribPointer(QT_VERTEX_COORDS_ATTR, 2, GL_FLOAT, GL_FALSE, 0, vertexCoordinateArray.data());
@@ -1180,28 +1217,8 @@ bool QGL2PaintEngineEx::begin(QPaintDevice *pdev)
qt_resolve_version_2_0_functions(d->ctx);
#endif
- if (d->shaderManager) {
- d->shaderManager->setDirty();
- } else {
- d->shaderManager = new QGLEngineShaderManager(d->ctx);
-
- d->uniformIdentifiers[QGL2PaintEngineExPrivate::ImageTexture] = d->shaderManager->getUniformIdentifier("imageTexture");
- d->uniformIdentifiers[QGL2PaintEngineExPrivate::PatternColor] = d->shaderManager->getUniformIdentifier("patternColor");
- d->uniformIdentifiers[QGL2PaintEngineExPrivate::GlobalOpacity] = d->shaderManager->getUniformIdentifier("globalOpacity");
- d->uniformIdentifiers[QGL2PaintEngineExPrivate::Depth] = d->shaderManager->getUniformIdentifier("depth");
- d->uniformIdentifiers[QGL2PaintEngineExPrivate::PmvMatrix] = d->shaderManager->getUniformIdentifier("pmvMatrix");
- d->uniformIdentifiers[QGL2PaintEngineExPrivate::MaskTexture] = d->shaderManager->getUniformIdentifier("maskTexture");
- d->uniformIdentifiers[QGL2PaintEngineExPrivate::FragmentColor] = d->shaderManager->getUniformIdentifier("fragmentColor");
- d->uniformIdentifiers[QGL2PaintEngineExPrivate::LinearData] = d->shaderManager->getUniformIdentifier("linearData");
- d->uniformIdentifiers[QGL2PaintEngineExPrivate::Angle] = d->shaderManager->getUniformIdentifier("angle");
- d->uniformIdentifiers[QGL2PaintEngineExPrivate::HalfViewportSize] = d->shaderManager->getUniformIdentifier("halfViewportSize");
- d->uniformIdentifiers[QGL2PaintEngineExPrivate::Fmp] = d->shaderManager->getUniformIdentifier("fmp");
- d->uniformIdentifiers[QGL2PaintEngineExPrivate::Fmp2MRadius2] = d->shaderManager->getUniformIdentifier("fmp2_m_radius2");
- d->uniformIdentifiers[QGL2PaintEngineExPrivate::Inverse2Fmp2MRadius2] = d->shaderManager->getUniformIdentifier("inverse_2_fmp2_m_radius2");
- d->uniformIdentifiers[QGL2PaintEngineExPrivate::InvertedTextureSize] = d->shaderManager->getUniformIdentifier("invertedTextureSize");
- d->uniformIdentifiers[QGL2PaintEngineExPrivate::BrushTransform] = d->shaderManager->getUniformIdentifier("brushTransform");
- d->uniformIdentifiers[QGL2PaintEngineExPrivate::BrushTexture] = d->shaderManager->getUniformIdentifier("brushTexture");
- }
+ d->shaderManager = QGLEngineShaderManager::managerForContext(d->ctx);
+ d->shaderManager->setDirty();
glViewport(0, 0, d->width, d->height);
@@ -1276,6 +1293,14 @@ bool QGL2PaintEngineEx::end()
glUseProgram(0);
d->transferMode(BrushDrawingMode);
d->drawable.swapBuffers();
+#if defined(Q_WS_X11)
+ // On some (probably all) drivers, deleting an X pixmap which has been bound to a texture
+ // before calling glFinish/swapBuffers renders garbage. Presumably this is because X deletes
+ // the pixmap behind the driver's back before it's had a chance to use it. To fix this, we
+ // reference all QPixmaps which have been bound to stop them being deleted and only deref
+ // them here, after swapBuffers, where they can be safely deleted.
+ ctx->d_func()->boundPixmaps.clear();
+#endif
d->drawable.doneCurrent();
d->ctx->d_ptr->active_engine = 0;
@@ -1318,10 +1343,30 @@ void QGL2PaintEngineExPrivate::updateDepthScissorTest()
else
glDisable(GL_DEPTH_TEST);
- if (q->state()->scissorTestEnabled)
+ if (q->state()->scissorTestEnabled) {
+ QRect bounds = q->state()->rectangleClip;
+ if (bounds.isNull() || !q->painter()->hasClipping()) {
+ if (use_system_clip)
+ bounds = systemClip.boundingRect();
+ else
+ bounds = QRect(0, 0, width, height);
+ }
+
glEnable(GL_SCISSOR_TEST);
- else
+ setScissor(bounds);
+ } else {
glDisable(GL_SCISSOR_TEST);
+ }
+}
+
+void QGL2PaintEngineExPrivate::setScissor(const QRect &rect)
+{
+ const int left = rect.left();
+ const int width = rect.width();
+ const int bottom = height - (rect.top() + rect.height());
+ const int height = rect.height();
+
+ glScissor(left, bottom, width, height);
}
void QGL2PaintEngineEx::clipEnabledChanged()
@@ -1337,9 +1382,10 @@ void QGL2PaintEngineEx::clipEnabledChanged()
if (d->use_system_clip) {
state()->currentDepth = -0.5f;
} else {
- glDisable(GL_DEPTH_TEST);
state()->depthTestEnabled = false;
}
+
+ d->updateDepthScissorTest();
}
}
@@ -1408,12 +1454,45 @@ void QGL2PaintEngineEx::clip(const QVectorPath &path, Qt::ClipOperation op)
if (state()->matrix.type() <= QTransform::TxScale) {
rect = state()->matrix.mapRect(rect);
- if (d->use_system_clip && rect.contains(d->systemClip.boundingRect())
+ if ((d->use_system_clip && rect.contains(d->systemClip.boundingRect()))
|| rect.contains(QRect(0, 0, d->width, d->height)))
return;
+
+ if (state()->rectangleClip.isValid()) {
+ state()->rectangleClip = state()->rectangleClip.intersected(rect.toRect());
+
+ state()->hasRectangleClip = true;
+ state()->scissorTestEnabled = true;
+
+ glEnable(GL_SCISSOR_TEST);
+ d->setScissor(state()->rectangleClip);
+
+ return;
+ }
}
}
+ if (!state()->hasRectangleClip)
+ state()->rectangleClip = QRect();
+
+ if (state()->rectangleClip.isValid() && op != Qt::NoClip && op != Qt::ReplaceClip) {
+ QPainterPath path;
+ path.addRect(state()->rectangleClip);
+
+ state()->rectangleClip = QRect();
+ d->updateDepthScissorTest();
+
+ glDepthFunc(GL_ALWAYS);
+
+ state()->maxDepth = 0.5f;
+ d->writeClip(qtVectorPathForPath(path), state()->maxDepth);
+ state()->currentDepth = 0.25f;
+ state()->depthTestEnabled = true;
+
+ glDepthFunc(GL_LEQUAL);
+ glEnable(GL_DEPTH_TEST);
+ }
+
switch (op) {
case Qt::NoClip:
if (d->use_system_clip) {
@@ -1434,6 +1513,7 @@ void QGL2PaintEngineEx::clip(const QVectorPath &path, Qt::ClipOperation op)
break;
case Qt::ReplaceClip:
d->systemStateChanged();
+ state()->rectangleClip = QRect();
state()->maxDepth = 0.5f;
glDepthFunc(GL_ALWAYS);
d->writeClip(path, state()->maxDepth);
@@ -1472,27 +1552,30 @@ void QGL2PaintEngineExPrivate::systemStateChanged()
q->state()->depthTestEnabled = false;
q->state()->scissorTestEnabled = false;
q->state()->needsDepthBufferClear = true;
+ q->state()->hasRectangleClip = false;
glDisable(GL_SCISSOR_TEST);
q->state()->currentDepth = -0.5f;
q->state()->maxDepth = 0.5f;
- if (use_system_clip) {
- QRect bounds = systemClip.boundingRect();
- if (systemClip.numRects() == 1
- && bounds == QRect(0, 0, width, height))
- {
- q->state()->needsDepthBufferClear = true;
- } else {
- glEnable(GL_SCISSOR_TEST);
+ q->state()->rectangleClip = QRect(0, 0, width, height);
- const int left = bounds.left();
- const int width = bounds.width();
- const int bottom = height - (bounds.top() + bounds.height());
- const int height = bounds.height();
+ if (use_system_clip) {
+ if (systemClip.numRects() == 1) {
+ QRect bounds = systemClip.boundingRect();
+ if (bounds == QRect(0, 0, width, height)) {
+ use_system_clip = false;
+ return;
+ }
- glScissor(left, bottom, width, height);
+ q->state()->rectangleClip = bounds;
+ q->state()->scissorTestEnabled = true;
+ updateDepthScissorTest();
+ } else {
+ q->state()->rectangleClip = QRect();
+ q->state()->scissorTestEnabled = true;
+ updateDepthScissorTest();
QTransform transform = q->state()->matrix;
q->state()->matrix = QTransform();
@@ -1514,7 +1597,6 @@ void QGL2PaintEngineExPrivate::systemStateChanged()
glEnable(GL_DEPTH_TEST);
q->state()->depthTestEnabled = true;
- q->state()->scissorTestEnabled = true;
q->state()->matrix = transform;
q->transformChanged();
@@ -1589,6 +1671,8 @@ QOpenGL2PaintEngineState::QOpenGL2PaintEngineState(QOpenGL2PaintEngineState &oth
currentDepth = other.currentDepth;
maxDepth = other.maxDepth;
canRestoreClip = other.canRestoreClip;
+ rectangleClip = other.rectangleClip;
+ hasRectangleClip = other.hasRectangleClip;
}
QOpenGL2PaintEngineState::QOpenGL2PaintEngineState()
@@ -1599,6 +1683,7 @@ QOpenGL2PaintEngineState::QOpenGL2PaintEngineState()
currentDepth = -0.5f;
maxDepth = 0.5f;
canRestoreClip = true;
+ hasRectangleClip = false;
}
QOpenGL2PaintEngineState::~QOpenGL2PaintEngineState()
@@ -1606,3 +1691,5 @@ QOpenGL2PaintEngineState::~QOpenGL2PaintEngineState()
}
QT_END_NAMESPACE
+
+#include "qpaintengineex_opengl2.moc"
diff --git a/src/opengl/gl2paintengineex/qpaintengineex_opengl2_p.h b/src/opengl/gl2paintengineex/qpaintengineex_opengl2_p.h
index 4d6b982..906817b 100644
--- a/src/opengl/gl2paintengineex/qpaintengineex_opengl2_p.h
+++ b/src/opengl/gl2paintengineex/qpaintengineex_opengl2_p.h
@@ -86,12 +86,14 @@ public:
qreal maxDepth;
bool canRestoreClip;
+ QRect rectangleClip;
+ bool hasRectangleClip;
};
class QGL2PaintEngineEx : public QPaintEngineEx
{
- Q_DECLARE_SCOPED_PRIVATE(QGL2PaintEngineEx)
+ Q_DECLARE_PRIVATE(QGL2PaintEngineEx)
public:
QGL2PaintEngineEx();
~QGL2PaintEngineEx();
@@ -217,36 +219,16 @@ public:
void writeClip(const QVectorPath &path, float depth);
void updateDepthScissorTest();
+ void setScissor(const QRect &rect);
void regenerateDepthClip();
void systemStateChanged();
uint use_system_clip : 1;
- enum Uniform {
- ImageTexture,
- PatternColor,
- GlobalOpacity,
- Depth,
- PmvMatrix,
- MaskTexture,
- FragmentColor,
- LinearData,
- Angle,
- HalfViewportSize,
- Fmp,
- Fmp2MRadius2,
- Inverse2Fmp2MRadius2,
- InvertedTextureSize,
- BrushTransform,
- BrushTexture,
- NumUniforms
- };
-
- uint location(Uniform uniform)
+ uint location(QGLEngineShaderManager::Uniform uniform)
{
- return shaderManager->getUniformLocation(uniformIdentifiers[uniform]);
+ return shaderManager->getUniformLocation(uniform);
}
- uint uniformIdentifiers[NumUniforms];
GLuint lastTexture;
bool needsSync;
diff --git a/src/opengl/opengl.pro b/src/opengl/opengl.pro
index c92b8cf..868484e 100644
--- a/src/opengl/opengl.pro
+++ b/src/opengl/opengl.pro
@@ -20,6 +20,7 @@ HEADERS += qgl.h \
qgl_p.h \
qglcolormap.h \
qglpixelbuffer.h \
+ qglpixelbuffer_p.h \
qglframebufferobject.h \
qglextensions_p.h
diff --git a/src/opengl/qgl.cpp b/src/opengl/qgl.cpp
index 2e99fc7..bd7daf2 100644
--- a/src/opengl/qgl.cpp
+++ b/src/opengl/qgl.cpp
@@ -86,8 +86,8 @@
#include <private/qpixmapdata_gl_p.h>
#include <private/qglpixelbuffer_p.h>
#include <private/qwindowsurface_gl_p.h>
+#include <private/qimagepixmapcleanuphooks_p.h>
#include "qcolormap.h"
-#include "qcache.h"
#include "qfile.h"
#include "qlibrary.h"
@@ -142,6 +142,7 @@ QGLSignalProxy *QGLSignalProxy::instance()
/*!
\namespace QGL
+ \inmodule QtOpenGL
\brief The QGL namespace specifies miscellaneous identifiers used
in the Qt OpenGL module.
@@ -526,7 +527,7 @@ void QGLFormat::setAccum(bool enable)
\fn bool QGLFormat::stencil() const
Returns true if the stencil buffer is enabled; otherwise returns
- false. The stencil buffer is disabled by default.
+ false. The stencil buffer is enabled by default.
\sa setStencil(), setStencilBufferSize()
*/
@@ -535,7 +536,7 @@ void QGLFormat::setAccum(bool enable)
If \a enable is true enables the stencil buffer; otherwise
disables the stencil buffer.
- The stencil buffer is disabled by default.
+ The stencil buffer is enabled by default.
The stencil buffer masks certain parts of the drawing area so that
masked parts are not drawn on.
@@ -1394,39 +1395,119 @@ int qt_next_power_of_two(int v)
return v;
}
-class QGLTexture {
-public:
- QGLTexture(const QGLContext *ctx, GLuint tx_id, GLenum tx_target, bool _clean = false)
- : context(ctx), id(tx_id), target(tx_target), clean(_clean) {}
- ~QGLTexture() {
- if (clean) {
- QGLContext *current = const_cast<QGLContext *>(QGLContext::currentContext());
- QGLContext *ctx = const_cast<QGLContext *>(context);
- bool switch_context = current && current != ctx && !qgl_share_reg()->checkSharing(current, ctx);
- if (switch_context)
- ctx->makeCurrent();
- glDeleteTextures(1, &id);
- if (switch_context)
- current->makeCurrent();
- }
- }
-
- const QGLContext *context;
- GLuint id;
- GLenum target;
- bool clean;
-};
-
-typedef QCache<qint64, QGLTexture> QGLTextureCache;
-static int qt_tex_cache_limit = 64*1024; // cache ~64 MB worth of textures - this is not accurate though
-static QGLTextureCache *qt_tex_cache = 0;
-
typedef void (*_qt_pixmap_cleanup_hook_64)(qint64);
typedef void (*_qt_image_cleanup_hook_64)(qint64);
extern Q_GUI_EXPORT _qt_pixmap_cleanup_hook_64 qt_pixmap_cleanup_hook_64;
extern Q_GUI_EXPORT _qt_image_cleanup_hook_64 qt_image_cleanup_hook_64;
+static QGLTextureCache *qt_gl_texture_cache = 0;
+
+QGLTextureCache::QGLTextureCache()
+ : m_cache(64*1024) // cache ~64 MB worth of textures - this is not accurate though
+{
+ Q_ASSERT(qt_gl_texture_cache == 0);
+ qt_gl_texture_cache = this;
+
+ QImagePixmapCleanupHooks::instance()->addPixmapHook(pixmapCleanupHook);
+ QImagePixmapCleanupHooks::instance()->addImageHook(imageCleanupHook);
+}
+
+QGLTextureCache::~QGLTextureCache()
+{
+ qt_gl_texture_cache = 0;
+
+ QImagePixmapCleanupHooks::instance()->removePixmapHook(pixmapCleanupHook);
+ QImagePixmapCleanupHooks::instance()->removeImageHook(imageCleanupHook);
+}
+
+void QGLTextureCache::insert(QGLContext* ctx, qint64 key, QGLTexture* texture, int cost)
+{
+ if (m_cache.totalCost() + cost > m_cache.maxCost()) {
+ // the cache is full - make an attempt to remove something
+ const QList<qint64> keys = m_cache.keys();
+ int i = 0;
+ while (i < m_cache.count()
+ && (m_cache.totalCost() + cost > m_cache.maxCost())) {
+ QGLTexture *tex = m_cache.object(keys.at(i));
+ if (tex->context == ctx)
+ m_cache.remove(keys.at(i));
+ ++i;
+ }
+ }
+ m_cache.insert(key, texture, cost);
+}
+
+bool QGLTextureCache::remove(QGLContext* ctx, GLuint textureId)
+{
+ QList<qint64> keys = m_cache.keys();
+ for (int i = 0; i < keys.size(); ++i) {
+ QGLTexture *tex = m_cache.object(keys.at(i));
+ if (tex->id == textureId && tex->context == ctx) {
+ tex->clean = true; // forces a glDeleteTextures() call
+ m_cache.remove(keys.at(i));
+ return true;
+ }
+ }
+ return false;
+}
+
+void QGLTextureCache::removeContextTextures(QGLContext* ctx)
+{
+ QList<qint64> keys = m_cache.keys();
+ for (int i = 0; i < keys.size(); ++i) {
+ const qint64 &key = keys.at(i);
+ if (m_cache.object(key)->context == ctx)
+ m_cache.remove(key);
+ }
+}
+
+QGLTextureCache* QGLTextureCache::instance()
+{
+ if (!qt_gl_texture_cache)
+ qt_gl_texture_cache = new QGLTextureCache;
+
+ return qt_gl_texture_cache;
+}
+
+/*
+ a hook that removes textures from the cache when a pixmap/image
+ is deref'ed
+*/
+void QGLTextureCache::imageCleanupHook(qint64 cacheKey)
+{
+ // ### remove when the GL texture cache becomes thread-safe
+ if (qApp->thread() != QThread::currentThread())
+ return;
+ QGLTexture *texture = instance()->getTexture(cacheKey);
+ if (texture && texture->clean)
+ instance()->remove(cacheKey);
+}
+
+
+void QGLTextureCache::pixmapCleanupHook(QPixmap* pixmap)
+{
+ // ### remove when the GL texture cache becomes thread-safe
+ if (qApp->thread() == QThread::currentThread()) {
+ const qint64 cacheKey = pixmap->cacheKey();
+ QGLTexture *texture = instance()->getTexture(cacheKey);
+ if (texture && texture->clean)
+ instance()->remove(cacheKey);
+ }
+#if defined(Q_WS_X11)
+ QPixmapData *pd = pixmap->data_ptr();
+ // Only need to delete the gl surface if the pixmap is about to be deleted
+ if (pd->ref == 0)
+ QGLContextPrivate::destroyGlSurfaceForPixmap(pd);
+#endif
+}
+
+void QGLTextureCache::deleteIfEmpty()
+{
+ if (instance()->size() == 0)
+ delete instance();
+}
+
// DDS format structure
struct DDSFormat {
quint32 dwSize;
@@ -1555,21 +1636,8 @@ QGLContext::~QGLContext()
{
Q_D(QGLContext);
// remove any textures cached in this context
- if (qt_tex_cache) {
- QList<qint64> keys = qt_tex_cache->keys();
- for (int i = 0; i < keys.size(); ++i) {
- const qint64 &key = keys.at(i);
- if (qt_tex_cache->object(key)->context == this)
- qt_tex_cache->remove(key);
- }
- // ### thread safety
- if (qt_tex_cache->size() == 0) {
- qt_pixmap_cleanup_hook_64 = 0;
- qt_image_cleanup_hook_64 = 0;
- delete qt_tex_cache;
- qt_tex_cache = 0;
- }
- }
+ QGLTextureCache::instance()->removeContextTextures(this);
+ QGLTextureCache::deleteIfEmpty(); // ### thread safety
QGLSignalProxy::instance()->emitAboutToDestroyContext(this);
reset();
@@ -1699,21 +1767,6 @@ GLuint QGLContext::bindTexture(const QString &fileName)
return tx_id;
}
-/*
- a hook that removes textures from the cache when a pixmap/image
- is deref'ed
-*/
-static void qt_gl_clean_cache(qint64 cacheKey)
-{
- // ### remove when the GL texture cache becomes thread-safe
- if (qApp->thread() != QThread::currentThread())
- return;
- if (qt_tex_cache) {
- QGLTexture *texture = qt_tex_cache->object(cacheKey);
- if (texture && texture->clean)
- qt_tex_cache->remove(cacheKey);
- }
-}
static void convertToGLFormatHelper(QImage &dst, const QImage &img, GLenum texture_format)
{
@@ -1833,7 +1886,28 @@ QImage QGLContextPrivate::convertToGLFormat(const QImage &image, bool force_prem
return result;
}
-GLuint QGLContextPrivate::bindTexture(const QImage &image, GLenum target, GLint format,
+/*! \internal */
+QGLTexture *QGLContextPrivate::bindTexture(const QImage &image, GLenum target, GLint format, bool clean)
+{
+ const qint64 key = image.cacheKey();
+ QGLTexture *texture = textureCacheLookup(key, target);
+ if (texture) {
+ glBindTexture(target, texture->id);
+ return texture;
+ }
+
+ if (!texture)
+ texture = bindTexture(image, target, format, key, clean);
+ // NOTE: bindTexture(const QImage&, GLenum, GLint, const qint64, bool) should never return null
+ Q_ASSERT(texture);
+
+ if (texture->id > 0)
+ const_cast<QImage &>(image).data_ptr()->is_cached = true;
+
+ return texture;
+}
+
+QGLTexture* QGLContextPrivate::bindTexture(const QImage &image, GLenum target, GLint format,
const qint64 key, bool clean)
{
Q_Q(QGLContext);
@@ -1851,11 +1925,6 @@ GLuint QGLContextPrivate::bindTexture(const QImage &image, GLenum target, GLint
// the GL_BGRA format is only present in GL version >= 1.2
GLenum texture_format = (QGLFormat::openGLVersionFlags() & QGLFormat::OpenGL_Version_1_2)
? GL_BGRA : GL_RGBA;
- if (!qt_tex_cache) {
- qt_tex_cache = new QGLTextureCache(qt_tex_cache_limit);
- qt_pixmap_cleanup_hook_64 = qt_gl_clean_cache;
- qt_image_cleanup_hook_64 = qt_gl_clean_cache;
- }
// Scale the pixmap if needed. GL textures needs to have the
// dimensions 2^n+2(border) x 2^m+2(border), unless we're using GL
@@ -1928,53 +1997,26 @@ GLuint QGLContextPrivate::bindTexture(const QImage &image, GLenum target, GLint
// this assumes the size of a texture is always smaller than the max cache size
int cost = img.width()*img.height()*4/1024;
- if (qt_tex_cache->totalCost() + cost > qt_tex_cache->maxCost()) {
- // the cache is full - make an attempt to remove something
- const QList<qint64> keys = qt_tex_cache->keys();
- int i = 0;
- while (i < qt_tex_cache->count()
- && (qt_tex_cache->totalCost() + cost > qt_tex_cache->maxCost())) {
- QGLTexture *tex = qt_tex_cache->object(keys.at(i));
- if (tex->context == q)
- qt_tex_cache->remove(keys.at(i));
- ++i;
- }
- }
- qt_tex_cache->insert(key, new QGLTexture(q, tx_id, target, clean), cost);
- return tx_id;
+ QGLTexture *texture = new QGLTexture(q, tx_id, target, clean, false);
+ QGLTextureCache::instance()->insert(q, key, texture, cost);
+ return texture;
}
-bool QGLContextPrivate::textureCacheLookup(const qint64 key, GLenum target, GLuint *id)
+QGLTexture *QGLContextPrivate::textureCacheLookup(const qint64 key, GLenum target)
{
Q_Q(QGLContext);
- if (qt_tex_cache) {
- QGLTexture *texture = qt_tex_cache->object(key);
- if (texture && texture->target == target
- && (texture->context == q || qgl_share_reg()->checkSharing(q, texture->context)))
- {
- *id = texture->id;
- return true;
- }
+ QGLTexture *texture = QGLTextureCache::instance()->getTexture(key);
+ if (texture && texture->target == target
+ && (texture->context == q || qgl_share_reg()->checkSharing(q, texture->context)))
+ {
+ return texture;
}
- return false;
+ return 0;
}
-/*! \internal */
-GLuint QGLContextPrivate::bindTexture(const QImage &image, GLenum target, GLint format, bool clean)
-{
- const qint64 key = image.cacheKey();
- GLuint id;
- if (textureCacheLookup(key, target, &id)) {
- glBindTexture(target, id);
- return id;
- }
- GLuint cached = bindTexture(image, target, format, key, clean);
- const_cast<QImage &>(image).data_ptr()->is_cached = (cached > 0);
- return cached;
-}
/*! \internal */
-GLuint QGLContextPrivate::bindTexture(const QPixmap &pixmap, GLenum target, GLint format, bool clean)
+QGLTexture *QGLContextPrivate::bindTexture(const QPixmap &pixmap, GLenum target, GLint format, bool clean, bool canInvert)
{
Q_Q(QGLContext);
QPixmapData *pd = pixmap.pixmapData();
@@ -1982,20 +2024,41 @@ GLuint QGLContextPrivate::bindTexture(const QPixmap &pixmap, GLenum target, GLin
if (target == GL_TEXTURE_2D && pd->classId() == QPixmapData::OpenGLClass) {
const QGLPixmapData *data = static_cast<const QGLPixmapData *>(pd);
- if (data->isValidContext(q))
- return data->bind();
+ if (data->isValidContext(q)) {
+ data->bind();
+ return data->texture();
+ }
}
#endif
const qint64 key = pixmap.cacheKey();
- GLuint id;
- if (textureCacheLookup(key, target, &id)) {
- glBindTexture(target, id);
- return id;
+ QGLTexture *texture = textureCacheLookup(key, target);
+ if (texture) {
+ glBindTexture(target, texture->id);
+ return texture;
}
- GLuint cached = bindTexture(pixmap.toImage(), target, format, key, clean);
- const_cast<QPixmap &>(pixmap).data_ptr()->is_cached = (cached > 0);
- return cached;
+
+#if defined(Q_WS_X11)
+ // Try to use texture_from_pixmap
+ if (pd->classId() == QPixmapData::X11Class) {
+ texture = bindTextureFromNativePixmap(pd, key, canInvert);
+ if (texture) {
+ texture->clean = clean;
+ texture->boundPixmap = pd;
+ boundPixmaps.insert(pd, QPixmap(pixmap));
+ }
+ }
+#endif
+
+ if (!texture)
+ texture = bindTexture(pixmap.toImage(), target, format, key, clean);
+ // NOTE: bindTexture(const QImage&, GLenum, GLint, const qint64, bool) should never return null
+ Q_ASSERT(texture);
+
+ if (texture->id > 0)
+ const_cast<QPixmap &>(pixmap).data_ptr()->is_cached = true;
+
+ return texture;
}
/*! \internal */
@@ -2061,7 +2124,8 @@ int QGLContextPrivate::maxTextureSize()
GLuint QGLContext::bindTexture(const QImage &image, GLenum target, GLint format)
{
Q_D(QGLContext);
- return d->bindTexture(image, target, format, false);
+ QGLTexture *texture = d->bindTexture(image, target, format, false);
+ return texture->id;
}
#ifdef Q_MAC_COMPAT_GL_FUNCTIONS
@@ -2069,7 +2133,8 @@ GLuint QGLContext::bindTexture(const QImage &image, GLenum target, GLint format)
GLuint QGLContext::bindTexture(const QImage &image, QMacCompatGLenum target, QMacCompatGLint format)
{
Q_D(QGLContext);
- return d->bindTexture(image, GLenum(target), GLint(format), false);
+ QGLTexture *texture = d->bindTexture(image, GLenum(target), GLint(format), false);
+ return texture->id;
}
#endif
@@ -2080,7 +2145,8 @@ GLuint QGLContext::bindTexture(const QImage &image, QMacCompatGLenum target, QMa
GLuint QGLContext::bindTexture(const QPixmap &pixmap, GLenum target, GLint format)
{
Q_D(QGLContext);
- return d->bindTexture(pixmap, target, format, false);
+ QGLTexture *texture = d->bindTexture(pixmap, target, format, false, false);
+ return texture->id;
}
#ifdef Q_MAC_COMPAT_GL_FUNCTIONS
@@ -2088,7 +2154,8 @@ GLuint QGLContext::bindTexture(const QPixmap &pixmap, GLenum target, GLint forma
GLuint QGLContext::bindTexture(const QPixmap &pixmap, QMacCompatGLenum target, QMacCompatGLint format)
{
Q_D(QGLContext);
- return d->bindTexture(pixmap, GLenum(target), GLint(format), false);
+ QGLTexture *texture = d->bindTexture(pixmap, GLenum(target), GLint(format), false, false);
+ return texture->id;
}
#endif
@@ -2101,17 +2168,8 @@ GLuint QGLContext::bindTexture(const QPixmap &pixmap, QMacCompatGLenum target, Q
*/
void QGLContext::deleteTexture(GLuint id)
{
- if (qt_tex_cache) {
- QList<qint64> keys = qt_tex_cache->keys();
- for (int i = 0; i < keys.size(); ++i) {
- QGLTexture *tex = qt_tex_cache->object(keys.at(i));
- if (tex->id == id && tex->context == this) {
- tex->clean = true; // forces a glDeleteTextures() call
- qt_tex_cache->remove(keys.at(i));
- return;
- }
- }
- }
+ if (QGLTextureCache::instance()->remove(this, id))
+ return;
// check the DDS cache if the texture wasn't found in the pixmap/image
// cache
@@ -2305,9 +2363,7 @@ void QGLContext::drawTexture(const QPointF &point, QMacCompatGLuint textureId, Q
*/
void QGLContext::setTextureCacheLimit(int size)
{
- qt_tex_cache_limit = size;
- if (qt_tex_cache)
- qt_tex_cache->setMaxCost(qt_tex_cache_limit);
+ QGLTextureCache::instance()->setMaxCost(size);
}
/*!
@@ -2317,7 +2373,7 @@ void QGLContext::setTextureCacheLimit(int size)
*/
int QGLContext::textureCacheLimit()
{
- return qt_tex_cache_limit;
+ return QGLTextureCache::instance()->maxCost();
}
@@ -3361,8 +3417,13 @@ bool QGLWidget::event(QEvent *e)
#elif defined(Q_WS_WIN)
if (e->type() == QEvent::ParentChange) {
QGLContext *newContext = new QGLContext(d->glcx->requestedFormat(), this);
- qgl_share_reg()->replaceShare(d->glcx, newContext);
+ QList<const QGLContext *> shares = qgl_share_reg()->shares(d->glcx);
setContext(newContext);
+ for (int i = 0; i < shares.size(); ++i) {
+ if (newContext != shares.at(i))
+ qgl_share_reg()->addShare(newContext, shares.at(i));
+ }
+
// the overlay needs to be recreated as well
delete d->olcx;
if (isValid() && context()->format().hasOverlay()) {
@@ -4332,6 +4393,9 @@ void QGLExtensions::init_extensions()
if (extensions.contains(QLatin1String("EXT_framebuffer_blit")))
glExtensions |= FramebufferBlit;
+ if (extensions.contains(QLatin1String("GL_ARB_texture_non_power_of_two")))
+ glExtensions |= NPOTTextures;
+
QGLContext cx(QGLFormat::defaultFormat());
if (glExtensions & TextureCompression) {
qt_glCompressedTexImage2DARB = (pfn_glCompressedTexImage2DARB) cx.getProcAddress(QLatin1String("glCompressedTexImage2DARB"));
@@ -4539,32 +4603,34 @@ QGLFormat QGLDrawable::format() const
GLuint QGLDrawable::bindTexture(const QImage &image, GLenum target, GLint format)
{
+ QGLTexture *texture = 0;
if (widget)
- return widget->d_func()->glcx->d_func()->bindTexture(image, target, format, true);
+ texture = widget->d_func()->glcx->d_func()->bindTexture(image, target, format, true);
else if (buffer)
- return buffer->d_func()->qctx->d_func()->bindTexture(image, target, format, true);
+ texture = buffer->d_func()->qctx->d_func()->bindTexture(image, target, format, true);
else if (fbo && QGLContext::currentContext())
- return const_cast<QGLContext *>(QGLContext::currentContext())->d_func()->bindTexture(image, target, format, true);
+ texture = const_cast<QGLContext *>(QGLContext::currentContext())->d_func()->bindTexture(image, target, format, true);
#if defined(Q_WS_QWS) || (!defined(QT_OPENGL_ES_1) && !defined(QT_OPENGL_ES_1_CL))
else if (wsurf)
- return wsurf->context()->d_func()->bindTexture(image, target, format, true);
+ texture = wsurf->context()->d_func()->bindTexture(image, target, format, true);
#endif
- return 0;
+ return texture->id;
}
GLuint QGLDrawable::bindTexture(const QPixmap &pixmap, GLenum target, GLint format)
{
+ QGLTexture *texture = 0;
if (widget)
- return widget->d_func()->glcx->d_func()->bindTexture(pixmap, target, format, true);
+ texture = widget->d_func()->glcx->d_func()->bindTexture(pixmap, target, format, true, true);
else if (buffer)
- return buffer->d_func()->qctx->d_func()->bindTexture(pixmap, target, format, true);
+ texture = buffer->d_func()->qctx->d_func()->bindTexture(pixmap, target, format, true, true);
else if (fbo && QGLContext::currentContext())
- return const_cast<QGLContext *>(QGLContext::currentContext())->d_func()->bindTexture(pixmap, target, format, true);
+ texture = const_cast<QGLContext *>(QGLContext::currentContext())->d_func()->bindTexture(pixmap, target, format, true, true);
#if defined(Q_WS_QWS) || (!defined(QT_OPENGL_ES_1) && !defined(QT_OPENGL_ES_1_CL))
else if (wsurf)
- return wsurf->context()->d_func()->bindTexture(pixmap, target, format, true);
+ texture = wsurf->context()->d_func()->bindTexture(pixmap, target, format, true, true);
#endif
- return 0;
+ return texture->id;
}
QColor QGLDrawable::backgroundColor() const
@@ -4610,4 +4676,157 @@ bool QGLDrawable::autoFillBackground() const
return false;
}
+
+bool QGLShareRegister::checkSharing(const QGLContext *context1, const QGLContext *context2) {
+ bool sharing = (context1 && context2 && context1->d_ptr->groupResources == context2->d_ptr->groupResources);
+ return sharing;
+}
+
+void QGLShareRegister::addShare(const QGLContext *context, const QGLContext *share) {
+ Q_ASSERT(context && share);
+ if (context->d_ptr->groupResources == share->d_ptr->groupResources)
+ return;
+
+ // Make sure 'context' is not already shared with another group of contexts.
+ Q_ASSERT(reg.find(context->d_ptr->groupResources) == reg.end());
+ Q_ASSERT(context->d_ptr->groupResources->refs == 1);
+
+ // Free 'context' group resources and make it use the same resources as 'share'.
+ delete context->d_ptr->groupResources;
+ context->d_ptr->groupResources = share->d_ptr->groupResources;
+ context->d_ptr->groupResources->refs.ref();
+
+ // Maintain a list of all the contexts in each group of sharing contexts.
+ SharingHash::iterator it = reg.find(share->d_ptr->groupResources);
+ if (it == reg.end())
+ it = reg.insert(share->d_ptr->groupResources, ContextList() << share);
+ it.value() << context;
+}
+
+QList<const QGLContext *> QGLShareRegister::shares(const QGLContext *context) {
+ SharingHash::const_iterator it = reg.find(context->d_ptr->groupResources);
+ if (it == reg.end())
+ return ContextList();
+ return it.value();
+}
+
+void QGLShareRegister::removeShare(const QGLContext *context) {
+ SharingHash::iterator it = reg.find(context->d_ptr->groupResources);
+ if (it == reg.end())
+ return;
+
+ int count = it.value().removeAll(context);
+ Q_ASSERT(count == 1);
+ Q_UNUSED(count);
+
+ Q_ASSERT(it.value().size() != 0);
+ if (it.value().size() == 1)
+ reg.erase(it);
+}
+
+QGLContextResource::QGLContextResource(FreeFunc f, QObject *parent)
+ : QObject(parent), free(f)
+{
+ connect(QGLSignalProxy::instance(), SIGNAL(aboutToDestroyContext(const QGLContext *)), this, SLOT(aboutToDestroyContext(const QGLContext *)));
+}
+
+QGLContextResource::~QGLContextResource()
+{
+ while (!m_resources.empty())
+ remove(m_resources.begin().key());
+}
+
+void QGLContextResource::insert(const QGLContext *key, void *value)
+{
+ QList<const QGLContext *> shares = qgl_share_reg()->shares(key);
+ if (shares.size() == 0)
+ shares.append(key);
+ void *oldValue = 0;
+ for (int i = 0; i < shares.size(); ++i) {
+ ResourceHash::iterator it = m_resources.find(shares.at(i));
+ if (it != m_resources.end()) {
+ Q_ASSERT(oldValue == 0 || oldValue == it.value());
+ oldValue = it.value();
+ it.value() = value;
+ } else {
+ m_resources.insert(shares.at(i), value);
+ }
+ }
+ if (oldValue != 0 && oldValue != value) {
+ QGLContext *oldContext = const_cast<QGLContext *>(QGLContext::currentContext());
+ if (oldContext != key)
+ const_cast<QGLContext *>(key)->makeCurrent();
+ free(oldValue);
+ if (oldContext && oldContext != key)
+ oldContext->makeCurrent();
+ }
+}
+
+void *QGLContextResource::value(const QGLContext *key)
+{
+ ResourceHash::const_iterator it = m_resources.find(key);
+ // Check if there is a value associated with 'key'.
+ if (it != m_resources.end())
+ return it.value();
+ // Check if there is a value associated with sharing contexts.
+ QList<const QGLContext *> shares = qgl_share_reg()->shares(key);
+ for (int i = 0; i < shares.size() && it == m_resources.end(); ++i)
+ it = m_resources.find(shares.at(i));
+ if (it == m_resources.end())
+ return 0; // Didn't find anything.
+
+ // Found something! Share this info with all the buddies.
+ for (int i = 0; i < shares.size(); ++i)
+ m_resources.insert(shares.at(i), it.value());
+ return it.value();
+}
+
+void QGLContextResource::remove(const QGLContext *key)
+{
+ QList<const QGLContext *> shares = qgl_share_reg()->shares(key);
+ if (shares.size() == 0)
+ shares.append(key);
+ void *oldValue = 0;
+ for (int i = 0; i < shares.size(); ++i) {
+ ResourceHash::iterator it = m_resources.find(shares.at(i));
+ if (it != m_resources.end()) {
+ Q_ASSERT(oldValue == 0 || oldValue == it.value());
+ oldValue = it.value();
+ m_resources.erase(it);
+ }
+ }
+ if (oldValue != 0) {
+ QGLContext *oldContext = const_cast<QGLContext *>(QGLContext::currentContext());
+ if (oldContext != key)
+ const_cast<QGLContext *>(key)->makeCurrent();
+ free(oldValue);
+ if (oldContext && oldContext != key)
+ oldContext->makeCurrent();
+ }
+}
+
+void QGLContextResource::aboutToDestroyContext(const QGLContext *key)
+{
+ ResourceHash::iterator it = m_resources.find(key);
+ if (it == m_resources.end())
+ return;
+
+ QList<const QGLContext *> shares = qgl_share_reg()->shares(key);
+ if (shares.size() > 1) {
+ Q_ASSERT(key->isSharing());
+ // At least one of the shared contexts must stay in the cache.
+ // Otherwise, the value pointer is lost.
+ for (int i = 0; i < 2/*shares.size()*/; ++i)
+ m_resources.insert(shares.at(i), it.value());
+ } else {
+ QGLContext *oldContext = const_cast<QGLContext *>(QGLContext::currentContext());
+ if (oldContext != key)
+ const_cast<QGLContext *>(key)->makeCurrent();
+ free(it.value());
+ if (oldContext && oldContext != key)
+ oldContext->makeCurrent();
+ }
+ m_resources.erase(it);
+}
+
QT_END_NAMESPACE
diff --git a/src/opengl/qgl.h b/src/opengl/qgl.h
index b8943f1..9ee200b 100644
--- a/src/opengl/qgl.h
+++ b/src/opengl/qgl.h
@@ -266,7 +266,7 @@ Q_OPENGL_EXPORT bool operator!=(const QGLFormat&, const QGLFormat&);
class Q_OPENGL_EXPORT QGLContext
{
- Q_DECLARE_SCOPED_PRIVATE(QGLContext)
+ Q_DECLARE_PRIVATE(QGLContext)
public:
QGLContext(const QGLFormat& format, QPaintDevice* device);
QGLContext(const QGLFormat& format);
@@ -365,6 +365,7 @@ private:
friend class QGLPixmapData;
friend class QGLPixmapFilterBase;
friend class QGLTextureGlyphCache;
+ friend class QGLShareRegister;
friend QGLFormat::OpenGLVersionFlags QGLFormat::openGLVersionFlags();
#ifdef Q_WS_MAC
public:
@@ -387,7 +388,7 @@ private:
class Q_OPENGL_EXPORT QGLWidget : public QWidget
{
Q_OBJECT
- Q_DECLARE_SCOPED_PRIVATE(QGLWidget)
+ Q_DECLARE_PRIVATE(QGLWidget)
public:
explicit QGLWidget(QWidget* parent=0,
const QGLWidget* shareWidget = 0, Qt::WindowFlags f=0);
diff --git a/src/opengl/qgl_p.h b/src/opengl/qgl_p.h
index 85e9bd7..f21ab93 100644
--- a/src/opengl/qgl_p.h
+++ b/src/opengl/qgl_p.h
@@ -60,10 +60,7 @@
#include "QtCore/qthreadstorage.h"
#include "QtCore/qhash.h"
#include "private/qwidget_p.h"
-
-#if !defined(QT_OPENGL_ES_1) && !defined(QT_OPENGL_ES_1_CL)
-#include "private/qpixmapdata_gl_p.h"
-#endif
+#include "qcache.h"
#ifndef QT_OPENGL_ES_1_CL
#define q_vertexType float
@@ -196,17 +193,26 @@ public:
#endif
};
+struct QGLContextGroupResources
+{
+ QGLContextGroupResources() : refs(1) { }
+ QGLExtensionFuncs extensionFuncs;
+ QAtomicInt refs;
+};
+
+class QGLTexture;
+
class QGLContextPrivate
{
Q_DECLARE_PUBLIC(QGLContext)
public:
- explicit QGLContextPrivate(QGLContext *context) : internal_context(false), q_ptr(context) {}
- ~QGLContextPrivate() {}
- GLuint bindTexture(const QImage &image, GLenum target, GLint format, const qint64 key,
+ explicit QGLContextPrivate(QGLContext *context) : internal_context(false), q_ptr(context) {groupResources = new QGLContextGroupResources;}
+ ~QGLContextPrivate() {if (!groupResources->refs.deref()) delete groupResources;}
+ QGLTexture *bindTexture(const QImage &image, GLenum target, GLint format, bool clean);
+ QGLTexture *bindTexture(const QImage &image, GLenum target, GLint format, const qint64 key,
bool clean = false);
- GLuint bindTexture(const QPixmap &pixmap, GLenum target, GLint format, bool clean);
- GLuint bindTexture(const QImage &image, GLenum target, GLint format, bool clean);
- bool textureCacheLookup(const qint64 key, GLenum target, GLuint *id);
+ QGLTexture *bindTexture(const QPixmap &pixmap, GLenum target, GLint format, bool clean, bool canInvert = false);
+ QGLTexture *textureCacheLookup(const qint64 key, GLenum target);
void init(QPaintDevice *dev, const QGLFormat &format);
QImage convertToGLFormat(const QImage &image, bool force_premul, GLenum texture_format);
int maxTextureSize();
@@ -234,6 +240,10 @@ public:
void* pbuf;
quint32 gpm;
int screen;
+ QHash<QPixmapData*, QPixmap> boundPixmaps;
+ QGLTexture *bindTextureFromNativePixmap(QPixmapData*, const qint64 key, bool canInvert);
+ static void destroyGlSurfaceForPixmap(QPixmapData*);
+ static void unbindPixmapFromTexture(QPixmapData*);
#endif
#if defined(Q_WS_MAC)
bool update;
@@ -257,14 +267,14 @@ public:
QGLContext *q_ptr;
QGLFormat::OpenGLVersionFlags version_flags;
- QGLExtensionFuncs extensionFuncs;
+ QGLContextGroupResources *groupResources;
GLint max_texture_size;
GLuint current_fbo;
QPaintEngine *active_engine;
#ifdef Q_WS_WIN
- static inline QGLExtensionFuncs& qt_get_extension_funcs(const QGLContext *ctx) { return ctx->d_ptr->extensionFuncs; }
+ static inline QGLExtensionFuncs& qt_get_extension_funcs(const QGLContext *ctx) { return ctx->d_ptr->groupResources->extensionFuncs; }
#endif
#if defined(Q_WS_X11) || defined(Q_WS_MAC) || defined(Q_WS_QWS)
@@ -293,6 +303,7 @@ class QGLPixelBuffer;
class QGLFramebufferObject;
class QWSGLWindowSurface;
class QGLWindowSurface;
+class QGLPixmapData;
class QGLDrawable {
public:
QGLDrawable() : widget(0), buffer(0), fbo(0)
@@ -353,7 +364,8 @@ public:
PackedDepthStencil = 0x00000200,
NVFloatBuffer = 0x00000400,
PixelBufferObject = 0x00000800,
- FramebufferBlit = 0x00001000
+ FramebufferBlit = 0x00001000,
+ NPOTTextures = 0x00002000
};
Q_DECLARE_FLAGS(Extensions, Extension)
@@ -371,61 +383,91 @@ struct QGLThreadContext {
};
extern QThreadStorage<QGLThreadContext *> qgl_context_storage;
-typedef QMultiHash<const QGLContext *, const QGLContext *> QGLSharingHash;
class QGLShareRegister
{
public:
QGLShareRegister() {}
~QGLShareRegister() { reg.clear(); }
- bool checkSharing(const QGLContext *context1, const QGLContext *context2, const QGLContext * skip=0) {
- if (context1 == context2)
- return true;
- QList<const QGLContext *> shares = reg.values(context1);
- for (int k=0; k<shares.size(); ++k) {
- const QGLContext *ctx = shares.at(k);
- if (ctx == skip) // avoid an indirect circular loop (infinite recursion)
- continue;
- if (ctx == context2)
- return true;
- if (checkSharing(ctx, context2, context1))
- return true;
- }
- return false;
- }
+ bool checkSharing(const QGLContext *context1, const QGLContext *context2);
+ void addShare(const QGLContext *context, const QGLContext *share);
+ QList<const QGLContext *> shares(const QGLContext *context);
+ void removeShare(const QGLContext *context);
+private:
+ // Use a context's 'groupResources' pointer to uniquely identify a group.
+ typedef QList<const QGLContext *> ContextList;
+ typedef QHash<const QGLContextGroupResources *, ContextList> SharingHash;
+ SharingHash reg;
+};
- void addShare(const QGLContext *context, const QGLContext *share) {
- reg.insert(context, share); // context sharing works both ways
- reg.insert(share, context);
- }
+extern Q_OPENGL_EXPORT QGLShareRegister* qgl_share_reg();
- void removeShare(const QGLContext *context) {
- QGLSharingHash::iterator it = reg.begin();
- while (it != reg.end()) {
- if (it.key() == context || it.value() == context)
- it = reg.erase(it);
- else
- ++it;
+class QGLTexture {
+public:
+ QGLTexture(QGLContext *ctx = 0, GLuint tx_id = 0, GLenum tx_target = GL_TEXTURE_2D,
+ bool _clean = false, bool _yInverted = false)
+ : context(ctx), id(tx_id), target(tx_target), clean(_clean), yInverted(_yInverted)
+#if defined(Q_WS_X11)
+ , boundPixmap(0)
+#endif
+ {}
+
+ ~QGLTexture() {
+ if (clean) {
+ QGLContext *current = const_cast<QGLContext *>(QGLContext::currentContext());
+ QGLContext *ctx = const_cast<QGLContext *>(context);
+ Q_ASSERT(ctx);
+ bool switch_context = current != ctx && !qgl_share_reg()->checkSharing(current, ctx);
+ if (switch_context)
+ ctx->makeCurrent();
+#if defined(Q_WS_X11)
+ // Although glXReleaseTexImage is a glX call, it must be called while there
+ // is a current context - the context the pixmap was bound to a texture in.
+ // Otherwise the release doesn't do anything and you get BadDrawable errors
+ // when you come to delete the context.
+ if (boundPixmap)
+ QGLContextPrivate::unbindPixmapFromTexture(boundPixmap);
+#endif
+ glDeleteTextures(1, &id);
+ if (switch_context && current)
+ current->makeCurrent();
}
- }
+ }
- void replaceShare(const QGLContext *oldContext, const QGLContext *newContext) {
- QGLSharingHash::iterator it = reg.begin();
- while (it != reg.end()) {
- if (it.key() == oldContext)
- reg.insert(newContext, it.value());
- else if (it.value() == oldContext)
- reg.insert(it.key(), newContext);
- ++it;
- }
- removeShare(oldContext);
- }
+ QGLContext *context;
+ GLuint id;
+ GLenum target;
+ bool clean;
+ bool yInverted; // NOTE: Y-Inverted textures are for internal use only!
+#if defined(Q_WS_X11)
+ QPixmapData* boundPixmap;
+#endif
+
+};
+
+class QGLTextureCache {
+public:
+ QGLTextureCache();
+ ~QGLTextureCache();
+
+ void insert(QGLContext *ctx, qint64 key, QGLTexture *texture, int cost);
+ void remove(quint64 key) { m_cache.remove(key); }
+ bool remove(QGLContext *ctx, GLuint textureId);
+ void removeContextTextures(QGLContext *ctx);
+ int size() { return m_cache.size(); }
+ void setMaxCost(int newMax) { m_cache.setMaxCost(newMax); }
+ int maxCost() {return m_cache.maxCost(); }
+ QGLTexture* getTexture(quint64 key) { return m_cache.object(key); }
+
+ static QGLTextureCache *instance();
+ static void deleteIfEmpty();
+ static void imageCleanupHook(qint64 cacheKey);
+ static void pixmapCleanupHook(QPixmap* pixmap);
private:
- QGLSharingHash reg;
+ QCache<qint64, QGLTexture> m_cache;
};
-extern Q_OPENGL_EXPORT QGLShareRegister* qgl_share_reg();
#ifdef Q_WS_QWS
extern QPaintEngine* qt_qgl_paint_engine();
@@ -460,6 +502,29 @@ inline GLenum qt_gl_preferredTextureTarget()
#endif
}
+// One resource per group of shared contexts.
+class QGLContextResource : public QObject
+{
+ Q_OBJECT
+public:
+ typedef void (*FreeFunc)(void *);
+ QGLContextResource(FreeFunc f, QObject *parent = 0);
+ ~QGLContextResource();
+ // Set resource 'value' for 'key' and all its shared contexts.
+ void insert(const QGLContext *key, void *value);
+ // Return resource for 'key' or a shared context.
+ void *value(const QGLContext *key);
+ // Free resource for 'key' and all its shared contexts.
+ void remove(const QGLContext *key);
+private slots:
+ // Remove entry 'key' from cache and delete resource if there are no shared contexts.
+ void aboutToDestroyContext(const QGLContext *key);
+private:
+ typedef QHash<const QGLContext *, void *> ResourceHash;
+ ResourceHash m_resources;
+ FreeFunc free;
+};
+
QT_END_NAMESPACE
#endif // QGL_P_H
diff --git a/src/opengl/qgl_win.cpp b/src/opengl/qgl_win.cpp
index 40b0ce7..232d47b 100644
--- a/src/opengl/qgl_win.cpp
+++ b/src/opengl/qgl_win.cpp
@@ -51,7 +51,7 @@
#include <qdebug.h>
#include <qcolor.h>
-#include <windows.h>
+#include <qt_windows.h>
typedef bool (APIENTRY *PFNWGLGETPIXELFORMATATTRIBIVARB)(HDC hdc,
int iPixelFormat,
@@ -642,14 +642,10 @@ public:
QString windowClassName = qt_getRegisteredWndClass();
if (parent && !parent->internalWinId())
parent = parent->nativeParentWidget();
- QT_WA({
- const TCHAR *cname = (TCHAR*)windowClassName.utf16();
- dmy_id = CreateWindow(cname, 0, 0, 0, 0, 1, 1,
- parent ? parent->winId() : 0, 0, qWinAppInst(), 0);
- } , {
- dmy_id = CreateWindowA(windowClassName.toLatin1(), 0, 0, 0, 0, 1, 1,
- parent ? parent->winId() : 0, 0, qWinAppInst(), 0);
- });
+
+ dmy_id = CreateWindow((const wchar_t *)windowClassName.utf16(),
+ 0, 0, 0, 0, 1, 1,
+ parent ? parent->winId() : 0, 0, qWinAppInst(), 0);
dmy_pdc = GetDC(dmy_id);
PIXELFORMATDESCRIPTOR dmy_pfd;
@@ -1417,7 +1413,7 @@ void QGLWidget::setContext(QGLContext *context,
}
if (!d->glcx->isValid()) {
- bool wasSharing = shareContext || oldcx && oldcx->isSharing();
+ bool wasSharing = shareContext || (oldcx && oldcx->isSharing());
d->glcx->create(shareContext ? shareContext : oldcx);
// the above is a trick to keep disp lists etc when a
// QGLWidget has been reparented, so remove the sharing
diff --git a/src/opengl/qgl_x11.cpp b/src/opengl/qgl_x11.cpp
index 631625b..4509a64 100644
--- a/src/opengl/qgl_x11.cpp
+++ b/src/opengl/qgl_x11.cpp
@@ -52,19 +52,33 @@
#include "qdebug.h"
#include <private/qfontengine_ft_p.h>
#include <private/qt_x11_p.h>
+#include <private/qpixmap_x11_p.h>
#ifdef Q_OS_HPUX
// for GLXPBuffer
#include <private/qglpixelbuffer_p.h>
#endif
+// We always define GLX_EXT_texture_from_pixmap ourselves because
+// we can't trust system headers to do it properly
+#define GLX_EXT_texture_from_pixmap 1
+
#define INT8 dummy_INT8
#define INT32 dummy_INT32
#include <GL/glx.h>
#undef INT8
#undef INT32
+
#include <X11/Xlib.h>
#include <X11/Xutil.h>
#include <X11/Xos.h>
+#ifdef Q_OS_VXWORS
+# ifdef open
+# undef open
+# endif
+# ifdef getpid
+# undef getpid
+# endif
+#endif // Q_OS_VXWORKS
#include <X11/Xatom.h>
#if defined(Q_OS_LINUX) || defined(Q_OS_BSD4)
@@ -81,6 +95,25 @@ extern const QX11Info *qt_x11Info(const QPaintDevice *pd);
#define GLX_SAMPLES_ARB 100001
#endif
+#ifndef GLX_TEXTURE_2D_BIT_EXT
+#define GLX_TEXTURE_2D_BIT_EXT 0x00000002
+#define GLX_TEXTURE_RECTANGLE_BIT_EXT 0x00000004
+#define GLX_BIND_TO_TEXTURE_RGB_EXT 0x20D0
+#define GLX_BIND_TO_TEXTURE_RGBA_EXT 0x20D1
+#define GLX_BIND_TO_MIPMAP_TEXTURE_EXT 0x20D2
+#define GLX_BIND_TO_TEXTURE_TARGETS_EXT 0x20D3
+#define GLX_Y_INVERTED_EXT 0x20D4
+#define GLX_TEXTURE_FORMAT_EXT 0x20D5
+#define GLX_TEXTURE_TARGET_EXT 0x20D6
+#define GLX_MIPMAP_TEXTURE_EXT 0x20D7
+#define GLX_TEXTURE_FORMAT_NONE_EXT 0x20D8
+#define GLX_TEXTURE_FORMAT_RGB_EXT 0x20D9
+#define GLX_TEXTURE_FORMAT_RGBA_EXT 0x20DA
+#define GLX_TEXTURE_2D_EXT 0x20DC
+#define GLX_TEXTURE_RECTANGLE_EXT 0x20DD
+#define GLX_FRONT_LEFT_EXT 0x20DE
+#endif
+
/*
The qt_gl_choose_cmap function is internal and used by QGLWidget::setContext()
and GLX (not Windows). If the application can't find any sharable
@@ -803,10 +836,12 @@ void QGLContext::swapBuffers() const
if (!glXGetVideoSyncSGI)
#endif
{
+#if !defined(QT_NO_LIBRARY)
extern const QString qt_gl_library_name();
QLibrary lib(qt_gl_library_name());
glXGetVideoSyncSGI = (qt_glXGetVideoSyncSGI) lib.resolve("glXGetVideoSyncSGI");
glXWaitVideoSyncSGI = (qt_glXWaitVideoSyncSGI) lib.resolve("glXWaitVideoSyncSGI");
+#endif
}
}
resolved = true;
@@ -1047,9 +1082,11 @@ void *QGLContext::getProcAddress(const QString &proc) const
if (!glXGetProcAddressARB)
#endif
{
+#if !defined(QT_NO_LIBRARY)
extern const QString qt_gl_library_name();
QLibrary lib(qt_gl_library_name());
glXGetProcAddressARB = (qt_glXGetProcAddressARB) lib.resolve("glXGetProcAddressARB");
+#endif
}
}
resolved = true;
@@ -1516,4 +1553,180 @@ void QGLExtensions::init()
}
}
+// Solaris defines glXBindTexImageEXT as part of the GL library
+#if defined(GLX_VERSION_1_3) && !defined(Q_OS_HPUX)
+typedef void (*qt_glXBindTexImageEXT)(Display*, GLXDrawable, int, const int*);
+typedef void (*qt_glXReleaseTexImageEXT)(Display*, GLXDrawable, int);
+static qt_glXBindTexImageEXT glXBindTexImageEXT = 0;
+static qt_glXReleaseTexImageEXT glXReleaseTexImageEXT = 0;
+
+bool qt_resolveTextureFromPixmap()
+{
+ static bool resolvedTextureFromPixmap = false;
+
+ if (!resolvedTextureFromPixmap) {
+ resolvedTextureFromPixmap = true;
+
+ // Check to see if we have NPOT texture support
+ if ( !(QGLExtensions::glExtensions & QGLExtensions::NPOTTextures) &&
+ !(QGLFormat::openGLVersionFlags() & QGLFormat::OpenGL_Version_2_0))
+ {
+ return false; // Can't use TFP without NPOT
+ }
+
+ QString glxExt = QLatin1String(glXGetClientString(QX11Info::display(), GLX_EXTENSIONS));
+ if (glxExt.contains(QLatin1String("GLX_EXT_texture_from_pixmap"))) {
+#if defined(Q_OS_LINUX) || defined(Q_OS_BSD4)
+ void *handle = dlopen(NULL, RTLD_LAZY);
+ if (handle) {
+ glXBindTexImageEXT = (qt_glXBindTexImageEXT) dlsym(handle, "glXBindTexImageEXT");
+ glXReleaseTexImageEXT = (qt_glXReleaseTexImageEXT) dlsym(handle, "glXReleaseTexImageEXT");
+ dlclose(handle);
+ }
+ if (!glXBindTexImageEXT)
+#endif
+ {
+ extern const QString qt_gl_library_name();
+ QLibrary lib(qt_gl_library_name());
+ glXBindTexImageEXT = (qt_glXBindTexImageEXT) lib.resolve("glXBindTexImageEXT");
+ glXReleaseTexImageEXT = (qt_glXReleaseTexImageEXT) lib.resolve("glXReleaseTexImageEXT");
+ }
+ }
+ }
+
+ return glXBindTexImageEXT && glXReleaseTexImageEXT;
+}
+#endif //defined(GLX_VERSION_1_3) && !defined(Q_OS_HPUX)
+
+
+QGLTexture *QGLContextPrivate::bindTextureFromNativePixmap(QPixmapData *pmd, const qint64 key, bool canInvert)
+{
+#if !defined(GLX_VERSION_1_3) || defined(Q_OS_HPUX)
+ return 0;
+#else
+ Q_Q(QGLContext);
+
+ Q_ASSERT(pmd->classId() == QPixmapData::X11Class);
+
+ if (!qt_resolveTextureFromPixmap())
+ return 0;
+
+ QX11PixmapData *pixmapData = static_cast<QX11PixmapData*>(pmd);
+ const QX11Info &x11Info = pixmapData->xinfo;
+
+ // Store the configs (Can be static because configs aren't dependent on current context)
+ static GLXFBConfig glxRGBPixmapConfig = 0;
+ static bool RGBConfigInverted = false;
+ static GLXFBConfig glxRGBAPixmapConfig = 0;
+ static bool RGBAConfigInverted = false;
+
+ bool hasAlpha = pixmapData->hasAlphaChannel();
+
+ // Check to see if we need a config
+ if ( (hasAlpha && !glxRGBAPixmapConfig) || (!hasAlpha && !glxRGBPixmapConfig) ) {
+ GLXFBConfig *configList = 0;
+ int configCount = 0;
+
+ int configAttribs[] = {
+ hasAlpha ? GLX_BIND_TO_TEXTURE_RGBA_EXT : GLX_BIND_TO_TEXTURE_RGB_EXT, True,
+ GLX_DRAWABLE_TYPE, GLX_PIXMAP_BIT,
+ GLX_BIND_TO_TEXTURE_TARGETS_EXT, GLX_TEXTURE_2D_BIT_EXT,
+ // QGLContext::bindTexture() can't return an inverted texture, but QPainter::drawPixmap() can:
+ GLX_Y_INVERTED_EXT, canInvert ? GLX_DONT_CARE : False,
+ XNone
+ };
+ configList = glXChooseFBConfig(x11Info.display(), x11Info.screen(), configAttribs, &configCount);
+ if (!configList)
+ return 0;
+
+ int yInv;
+ glXGetFBConfigAttrib(x11Info.display(), configList[0], GLX_Y_INVERTED_EXT, &yInv);
+
+ if (hasAlpha) {
+ glxRGBAPixmapConfig = configList[0];
+ RGBAConfigInverted = yInv;
+ }
+ else {
+ glxRGBPixmapConfig = configList[0];
+ RGBConfigInverted = yInv;
+ }
+
+ XFree(configList);
+ }
+
+ // Check to see if the surface is still valid
+ if (pixmapData->gl_surface &&
+ hasAlpha != (pixmapData->flags & QX11PixmapData::GlSurfaceCreatedWithAlpha))
+ {
+ // Surface is invalid!
+ destroyGlSurfaceForPixmap(pixmapData);
+ }
+
+ // Check to see if we need a surface
+ if (!pixmapData->gl_surface) {
+ GLXPixmap glxPixmap;
+ int pixmapAttribs[] = {
+ GLX_TEXTURE_FORMAT_EXT, hasAlpha ? GLX_TEXTURE_FORMAT_RGBA_EXT : GLX_TEXTURE_FORMAT_RGB_EXT,
+ GLX_TEXTURE_TARGET_EXT, GLX_TEXTURE_2D_EXT,
+ GLX_MIPMAP_TEXTURE_EXT, False, // Maybe needs to be don't care
+ XNone
+ };
+
+ // Wrap the X Pixmap into a GLXPixmap:
+ glxPixmap = glXCreatePixmap(x11Info.display(),
+ hasAlpha ? glxRGBAPixmapConfig : glxRGBPixmapConfig,
+ pixmapData->handle(), pixmapAttribs);
+
+ if (!glxPixmap)
+ return 0;
+
+ pixmapData->gl_surface = (Qt::HANDLE)glxPixmap;
+
+ // Make sure the cleanup hook gets called so we can delete the glx pixmap
+ pixmapData->is_cached = true;
+ }
+
+ GLuint textureId;
+ glGenTextures(1, &textureId);
+ glBindTexture(GL_TEXTURE_2D, textureId);
+ glXBindTexImageEXT(x11Info.display(), (GLXPixmap)pixmapData->gl_surface, GLX_FRONT_LEFT_EXT, 0);
+
+ glBindTexture(GL_TEXTURE_2D, textureId);
+
+ QGLTexture *texture = new QGLTexture(q, textureId, GL_TEXTURE_2D, canInvert, false);
+ texture->yInverted = (hasAlpha && RGBAConfigInverted) || (!hasAlpha && RGBConfigInverted);
+ if (texture->yInverted)
+ pixmapData->flags |= QX11PixmapData::InvertedWhenBoundToTexture;
+
+ // We assume the cost of bound pixmaps is zero
+ QGLTextureCache::instance()->insert(q, key, texture, 0);
+
+ return texture;
+#endif //!defined(GLX_VERSION_1_3) || defined(Q_OS_HPUX)
+}
+
+
+void QGLContextPrivate::destroyGlSurfaceForPixmap(QPixmapData* pmd)
+{
+#if defined(GLX_VERSION_1_3) && !defined(Q_OS_HPUX)
+ Q_ASSERT(pmd->classId() == QPixmapData::X11Class);
+ QX11PixmapData *pixmapData = static_cast<QX11PixmapData*>(pmd);
+ if (pixmapData->gl_surface) {
+ glXDestroyPixmap(QX11Info::display(), (GLXPixmap)pixmapData->gl_surface);
+ pixmapData->gl_surface = 0;
+ }
+#endif
+}
+
+void QGLContextPrivate::unbindPixmapFromTexture(QPixmapData* pmd)
+{
+#if defined(GLX_VERSION_1_3) && !defined(Q_OS_HPUX)
+ Q_ASSERT(pmd->classId() == QPixmapData::X11Class);
+ Q_ASSERT(QGLContext::currentContext());
+ QX11PixmapData *pixmapData = static_cast<QX11PixmapData*>(pmd);
+ if (pixmapData->gl_surface)
+ glXReleaseTexImageEXT(QX11Info::display(), (GLXPixmap)pixmapData->gl_surface, GLX_FRONT_LEFT_EXT);
+#endif
+}
+
QT_END_NAMESPACE
diff --git a/src/opengl/qgl_x11egl.cpp b/src/opengl/qgl_x11egl.cpp
index 9db3a30..ed9930f 100644
--- a/src/opengl/qgl_x11egl.cpp
+++ b/src/opengl/qgl_x11egl.cpp
@@ -41,15 +41,16 @@
#include "qgl.h"
#include <private/qt_x11_p.h>
+#include <private/qpixmap_x11_p.h>
#include <private/qgl_p.h>
#include <private/qpaintengine_opengl_p.h>
#include "qgl_egl_p.h"
#include "qcolormap.h"
+#include <QDebug>
QT_BEGIN_NAMESPACE
-
bool QGLFormat::hasOpenGL()
{
return true;
@@ -258,7 +259,8 @@ void QGLWidget::setContext(QGLContext *context, const QGLContext* shareContext,
// If the application has set WA_TranslucentBackground and not explicitly set
// the alpha buffer size to zero, modify the format so it have an alpha channel
QGLFormat& fmt = d->glcx->d_func()->glFormat;
- if (testAttribute(Qt::WA_TranslucentBackground) && fmt.alphaBufferSize() == -1)
+ const bool useArgbVisual = testAttribute(Qt::WA_TranslucentBackground);
+ if (useArgbVisual && fmt.alphaBufferSize() == -1)
fmt.setAlphaBufferSize(1);
bool createFailed = false;
@@ -297,8 +299,26 @@ void QGLWidget::setContext(QGLContext *context, const QGLContext* shareContext,
int matchingCount = 0;
chosenVisualInfo = XGetVisualInfo(x11Info().display(), VisualIDMask, &vi, &matchingCount);
if (chosenVisualInfo) {
- qDebug("Using X Visual ID (%d) provided by EGL", (int)vi.visualid);
- vi = *chosenVisualInfo;
+#if !defined(QT_NO_XRENDER)
+ if (useArgbVisual) {
+ // Check to make sure the visual provided by EGL is ARGB
+ XRenderPictFormat *format;
+ format = XRenderFindVisualFormat(x11Info().display(), chosenVisualInfo->visual);
+ if (format->type == PictTypeDirect && format->direct.alphaMask) {
+ qDebug("Using opaque X Visual ID (%d) provided by EGL", (int)vi.visualid);
+ vi = *chosenVisualInfo;
+ }
+ else {
+ qWarning("Warning: EGL suggested using X visual ID %d for config %d, but this is not ARGB",
+ nativeVisualId, (int)qeglCtx->config());
+ vi.visualid = 0;
+ }
+ } else
+#endif
+ {
+ qDebug("Using opaque X Visual ID (%d) provided by EGL", (int)vi.visualid);
+ vi = *chosenVisualInfo;
+ }
XFree(chosenVisualInfo);
}
else {
@@ -469,4 +489,175 @@ void QGLWidgetPrivate::recreateEglSurface(bool force)
}
}
+
+QGLTexture *QGLContextPrivate::bindTextureFromNativePixmap(QPixmapData* pd, const qint64 key, bool canInvert)
+{
+ Q_Q(QGLContext);
+
+ Q_ASSERT(pd->classId() == QPixmapData::X11Class);
+
+ static bool checkedForTFP = false;
+ static bool haveTFP = false;
+
+ if (!checkedForTFP) {
+ // Check for texture_from_pixmap egl extension
+ checkedForTFP = true;
+ if (eglContext->hasExtension("EGL_NOKIA_texture_from_pixmap") ||
+ eglContext->hasExtension("EGL_EXT_texture_from_pixmap"))
+ {
+ qDebug("Found texture_from_pixmap EGL extension!");
+ haveTFP = true;
+ }
+ }
+
+ if (!haveTFP)
+ return 0;
+
+ QX11PixmapData *pixmapData = static_cast<QX11PixmapData*>(pd);
+
+ bool hasAlpha = pixmapData->hasAlphaChannel();
+
+ // Check to see if the surface is still valid
+ if (pixmapData->gl_surface &&
+ hasAlpha != (pixmapData->flags & QX11PixmapData::GlSurfaceCreatedWithAlpha))
+ {
+ // Surface is invalid!
+ destroyGlSurfaceForPixmap(pixmapData);
+ }
+
+ EGLint pixmapAttribs[] = {
+ EGL_TEXTURE_TARGET, EGL_TEXTURE_2D,
+ EGL_TEXTURE_FORMAT, hasAlpha ? EGL_TEXTURE_RGBA : EGL_TEXTURE_RGB,
+ EGL_NONE
+ };
+ Q_ASSERT(sizeof(Qt::HANDLE) >= sizeof(EGLSurface)); // Just to make totally sure!
+ if (pixmapData->gl_surface == 0)
+ pixmapData->gl_surface = (Qt::HANDLE)EGL_NO_SURFACE;
+ EGLSurface pixmapSurface = (EGLSurface)pixmapData->gl_surface;
+ static EGLConfig pixmapRGBConfig = 0;
+ static EGLConfig pixmapRGBAConfig = 0;
+
+ // Check to see if we need to find a config
+ if ((hasAlpha && !pixmapRGBAConfig) || (!hasAlpha && !pixmapRGBConfig) ) {
+ const EGLint configAttribs[] = {
+ EGL_SURFACE_TYPE, EGL_PIXMAP_BIT,
+ EGL_RENDERABLE_TYPE, EGL_OPENGL_ES2_BIT,
+ EGL_DEPTH_SIZE, 0,
+ hasAlpha ? EGL_BIND_TO_TEXTURE_RGBA : EGL_BIND_TO_TEXTURE_RGB, EGL_TRUE,
+ EGL_NONE
+ };
+
+ EGLint configCount = 0;
+ eglChooseConfig(eglContext->display(), configAttribs, 0, 256, &configCount);
+ if (configCount == 0) {
+ haveTFP = false;
+ qWarning("bindTextureFromNativePixmap() - Couldn't find a suitable config");
+ return 0;
+ }
+
+ EGLConfig *configList = new EGLConfig[configCount];
+ eglChooseConfig(eglContext->display(), configAttribs, configList, configCount, &configCount);
+ Q_ASSERT(configCount);
+
+ // Try to create a pixmap surface for each config until one works
+ for (int i = 0; i < configCount; ++i) {
+ pixmapSurface = eglCreatePixmapSurface(eglContext->display(), configList[i],
+ (EGLNativePixmapType) pixmapData->handle(),
+ pixmapAttribs);
+ if (pixmapSurface != EGL_NO_SURFACE) {
+ // Got one!
+ qDebug() << "Found an" << (hasAlpha ? "ARGB" : "RGB")
+ << "config (" << int(configList[i]) << ") to create a pixmap surface";
+ if (hasAlpha)
+ pixmapRGBAConfig = configList[i];
+ else
+ pixmapRGBConfig = configList[i];
+ pixmapData->gl_surface = (Qt::HANDLE)pixmapSurface;
+ break;
+ }
+ }
+ delete configList;
+
+ if ((hasAlpha && !pixmapRGBAConfig) || (!hasAlpha && !pixmapRGBConfig) ) {
+ qDebug("Couldn't create a pixmap surface with any of the provided configs");
+ haveTFP = false;
+ return 0;
+ }
+ }
+
+ if (pixmapSurface == EGL_NO_SURFACE) {
+ pixmapSurface = eglCreatePixmapSurface(eglContext->display(),
+ hasAlpha? pixmapRGBAConfig : pixmapRGBConfig,
+ (EGLNativePixmapType) pixmapData->handle(),
+ pixmapAttribs);
+ if (pixmapSurface == EGL_NO_SURFACE) {
+ qWarning("Failed to create a pixmap surface using config %d",
+ (int)(hasAlpha? pixmapRGBAConfig : pixmapRGBConfig));
+ haveTFP = false;
+ return 0;
+ }
+ pixmapData->gl_surface = (Qt::HANDLE)pixmapSurface;
+ }
+
+ // Make sure the cleanup hook gets called so we can delete the glx pixmap
+ pixmapData->is_cached = true;
+ Q_ASSERT(pixmapData->gl_surface);
+
+ GLuint textureId;
+ glGenTextures(1, &textureId);
+ glEnable(GL_TEXTURE_2D);
+ glBindTexture(GL_TEXTURE_2D, textureId);
+
+ // bind the egl pixmap surface to a texture
+ EGLBoolean success;
+ success = eglBindTexImage(eglContext->display(), pixmapSurface, EGL_BACK_BUFFER);
+ if (success == EGL_FALSE) {
+ qWarning() << "eglBindTexImage() failed:" << eglContext->errorString(eglGetError());
+ eglDestroySurface(eglContext->display(), pixmapSurface);
+ pixmapData->gl_surface = (Qt::HANDLE)EGL_NO_SURFACE;
+ haveTFP = false;
+ return 0;
+ }
+
+ QGLTexture *texture = new QGLTexture(q, textureId, GL_TEXTURE_2D, canInvert, true);
+ pixmapData->flags |= QX11PixmapData::InvertedWhenBoundToTexture;
+
+ // We assume the cost of bound pixmaps is zero
+ QGLTextureCache::instance()->insert(q, key, texture, 0);
+
+ glBindTexture(GL_TEXTURE_2D, textureId);
+ return texture;
+}
+
+void QGLContextPrivate::destroyGlSurfaceForPixmap(QPixmapData* pmd)
+{
+ Q_ASSERT(pmd->classId() == QPixmapData::X11Class);
+ QX11PixmapData *pixmapData = static_cast<QX11PixmapData*>(pmd);
+ if (pixmapData->gl_surface) {
+ EGLBoolean success;
+ success = eglDestroySurface(QEglContext::defaultDisplay(0), (EGLSurface)pixmapData->gl_surface);
+ if (success == EGL_FALSE) {
+ qWarning() << "destroyGlSurfaceForPixmap() - Error deleting surface: "
+ << QEglContext::errorString(eglGetError());
+ }
+ pixmapData->gl_surface = 0;
+ }
+}
+
+void QGLContextPrivate::unbindPixmapFromTexture(QPixmapData* pmd)
+{
+ Q_ASSERT(pmd->classId() == QPixmapData::X11Class);
+ QX11PixmapData *pixmapData = static_cast<QX11PixmapData*>(pmd);
+ if (pixmapData->gl_surface) {
+ EGLBoolean success;
+ success = eglReleaseTexImage(QEglContext::defaultDisplay(0),
+ (EGLSurface)pixmapData->gl_surface,
+ EGL_BACK_BUFFER);
+ if (success == EGL_FALSE) {
+ qWarning() << "unbindPixmapFromTexture() - Unable to release bound texture: "
+ << QEglContext::errorString(eglGetError());
+ }
+ }
+}
+
QT_END_NAMESPACE
diff --git a/src/opengl/qglcolormap.cpp b/src/opengl/qglcolormap.cpp
index 426e090..481089a 100644
--- a/src/opengl/qglcolormap.cpp
+++ b/src/opengl/qglcolormap.cpp
@@ -174,13 +174,14 @@ void QGLColormap::setEntry(int idx, QRgb color)
detach();
if (!d->cells)
d->cells = new QVector<QRgb>(256);
- d->cells->insert(idx, color);
+ d->cells->replace(idx, color);
}
/*!
Set an array of cells in this colormap. \a count is the number of
colors that should be set, \a colors is the array of colors, and
- \a base is the starting index.
+ \a base is the starting index. The first element in \a colors
+ is set at \a base in the colormap.
*/
void QGLColormap::setEntries(int count, const QRgb *colors, int base)
{
@@ -188,10 +189,10 @@ void QGLColormap::setEntries(int count, const QRgb *colors, int base)
if (!d->cells)
d->cells = new QVector<QRgb>(256);
- Q_ASSERT_X(!colors || base >= 0 || base + count < d->cells->size(), "QGLColormap::setEntries",
+ Q_ASSERT_X(colors && base >= 0 && (base + count) <= d->cells->size(), "QGLColormap::setEntries",
"preconditions not met");
- for (int i = base; i < base + count; ++i)
- setEntry(i, colors[i]);
+ for (int i = 0; i < count; ++i)
+ setEntry(base + i, colors[i]);
}
/*!
@@ -227,8 +228,17 @@ QColor QGLColormap::entryColor(int idx) const
}
/*!
- Returns true if the colormap is empty; otherwise returns false. A
- colormap with no color values set is considered to be empty.
+ Returns true if the colormap is empty or it is not in use
+ by a QGLWidget; otherwise returns false.
+
+ A colormap with no color values set is considered to be empty.
+ For historical reasons, a colormap that has color values set
+ but which is not in use by a QGLWidget is also considered empty.
+
+ Compare size() with zero to determine if the colormap is empty
+ regardless of whether it is in use by a QGLWidget or not.
+
+ \sa size()
*/
bool QGLColormap::isEmpty() const
{
diff --git a/src/opengl/qglextensions_p.h b/src/opengl/qglextensions_p.h
index 3bb42c8..4f15197 100644
--- a/src/opengl/qglextensions_p.h
+++ b/src/opengl/qglextensions_p.h
@@ -535,7 +535,7 @@ struct QGLExtensionFuncs
#endif
#ifndef GL_MAX_SAMPLES_EXT
-#define GL_MAX_SAMPLES_EXT 0x8D5
+#define GL_MAX_SAMPLES_EXT 0x8D57
#endif
#ifndef GL_DRAW_FRAMEBUFFER_EXT
diff --git a/src/opengl/qglframebufferobject.cpp b/src/opengl/qglframebufferobject.cpp
index e033076..0577f9a 100644
--- a/src/opengl/qglframebufferobject.cpp
+++ b/src/opengl/qglframebufferobject.cpp
@@ -109,8 +109,6 @@ public:
*/
/*!
- \since 4.6
-
Creates a QGLFramebufferObjectFormat object with properties specifying
the format of an OpenGL framebuffer object.
@@ -146,8 +144,6 @@ QGLFramebufferObjectFormat::QGLFramebufferObjectFormat(int samples,
}
/*!
- \since 4.6
-
Constructs a copy of \a other.
*/
@@ -158,8 +154,6 @@ QGLFramebufferObjectFormat::QGLFramebufferObjectFormat(const QGLFramebufferObjec
}
/*!
- \since 4.6
-
Assigns \a other to this object.
*/
@@ -170,8 +164,6 @@ QGLFramebufferObjectFormat &QGLFramebufferObjectFormat::operator=(const QGLFrame
}
/*!
- \since 4.6
-
Destroys the QGLFramebufferObjectFormat.
*/
QGLFramebufferObjectFormat::~QGLFramebufferObjectFormat()
@@ -180,8 +172,6 @@ QGLFramebufferObjectFormat::~QGLFramebufferObjectFormat()
}
/*!
- \since 4.6
-
Sets the number of samples per pixel for a multisample framebuffer object
to \a samples.
A sample count of 0 represents a regular non-multisample framebuffer object.
@@ -194,8 +184,6 @@ void QGLFramebufferObjectFormat::setSamples(int samples)
}
/*!
- \since 4.6
-
Returns the number of samples per pixel if a framebuffer object
is a multisample framebuffer object. Otherwise, returns 0.
@@ -207,8 +195,6 @@ int QGLFramebufferObjectFormat::samples() const
}
/*!
- \since 4.6
-
Sets the attachments a framebuffer object should have to \a attachment.
\sa attachment()
@@ -219,8 +205,6 @@ void QGLFramebufferObjectFormat::setAttachment(QGLFramebufferObject::Attachment
}
/*!
- \since 4.6
-
Returns the status of the depth and stencil buffers attached to
a framebuffer object.
@@ -232,8 +216,6 @@ QGLFramebufferObject::Attachment QGLFramebufferObjectFormat::attachment() const
}
/*!
- \since 4.6
-
Sets the texture target of the texture attached to a framebuffer object to
\a target. Ignored for multisample framebuffer objects.
@@ -245,8 +227,6 @@ void QGLFramebufferObjectFormat::setTextureTarget(GLenum target)
}
/*!
- \since 4.6
-
Returns the texture target of the texture attached to a framebuffer object.
Ignored for multisample framebuffer objects.
@@ -258,8 +238,6 @@ GLenum QGLFramebufferObjectFormat::textureTarget() const
}
/*!
- \since 4.6
-
Sets the internal format of a framebuffer object's texture or multisample
framebuffer object's color buffer to \a internalFormat.
@@ -271,8 +249,6 @@ void QGLFramebufferObjectFormat::setInternalFormat(GLenum internalFormat)
}
/*!
- \since 4.6
-
Returns the internal format of a framebuffer object's texture or
multisample framebuffer object's color buffer.
@@ -769,8 +745,11 @@ QGLFramebufferObject::~QGLFramebufferObject()
The framebuffer can become invalid if the initialization process
fails, the user attaches an invalid buffer to the framebuffer
- object, or a non-power of 2 width/height is specified as the
+ object, or a non-power of two width/height is specified as the
texture size if the texture target is \c{GL_TEXTURE_2D}.
+ The non-power of two limitation does not apply if the OpenGL version
+ is 2.0 or higher, or if the GL_ARB_texture_non_power_of_two extension
+ is present.
*/
bool QGLFramebufferObject::isValid() const
{
@@ -1055,8 +1034,7 @@ GLuint QGLFramebufferObject::handle() const
}
/*! \fn int QGLFramebufferObject::devType() const
-
- \reimp
+ \internal
*/
diff --git a/src/opengl/qglframebufferobject.h b/src/opengl/qglframebufferobject.h
index 7130dec..108bbb4 100644
--- a/src/opengl/qglframebufferobject.h
+++ b/src/opengl/qglframebufferobject.h
@@ -56,7 +56,7 @@ class QGLFramebufferObjectFormat;
class Q_OPENGL_EXPORT QGLFramebufferObject : public QPaintDevice
{
- Q_DECLARE_SCOPED_PRIVATE(QGLFramebufferObject)
+ Q_DECLARE_PRIVATE(QGLFramebufferObject)
public:
enum Attachment {
NoAttachment,
diff --git a/src/opengl/qglpaintdevice_qws_p.h b/src/opengl/qglpaintdevice_qws_p.h
index 08ad304..ec7d6c8 100644
--- a/src/opengl/qglpaintdevice_qws_p.h
+++ b/src/opengl/qglpaintdevice_qws_p.h
@@ -64,7 +64,7 @@ class QWSGLPaintDevicePrivate;
class Q_OPENGL_EXPORT QWSGLPaintDevice : public QPaintDevice
{
- Q_DECLARE_SCOPED_PRIVATE(QWSGLPaintDevice)
+ Q_DECLARE_PRIVATE(QWSGLPaintDevice)
public:
QWSGLPaintDevice(QWidget *widget);
~QWSGLPaintDevice();
diff --git a/src/opengl/qglpixelbuffer.cpp b/src/opengl/qglpixelbuffer.cpp
index 2669cb3..e40a037 100644
--- a/src/opengl/qglpixelbuffer.cpp
+++ b/src/opengl/qglpixelbuffer.cpp
@@ -590,7 +590,7 @@ QGLFormat QGLPixelBuffer::format() const
}
/*! \fn int QGLPixelBuffer::devType() const
- \reimp
+ \internal
*/
QT_END_NAMESPACE
diff --git a/src/opengl/qglpixelbuffer.h b/src/opengl/qglpixelbuffer.h
index f8b5707..06894c0 100644
--- a/src/opengl/qglpixelbuffer.h
+++ b/src/opengl/qglpixelbuffer.h
@@ -55,7 +55,7 @@ class QGLPixelBufferPrivate;
class Q_OPENGL_EXPORT QGLPixelBuffer : public QPaintDevice
{
- Q_DECLARE_SCOPED_PRIVATE(QGLPixelBuffer)
+ Q_DECLARE_PRIVATE(QGLPixelBuffer)
public:
QGLPixelBuffer(const QSize &size, const QGLFormat &format = QGLFormat::defaultFormat(),
QGLWidget *shareWidget = 0);
diff --git a/src/opengl/qglpixelbuffer_x11.cpp b/src/opengl/qglpixelbuffer_x11.cpp
index 9e1f85d..ac2e705 100644
--- a/src/opengl/qglpixelbuffer_x11.cpp
+++ b/src/opengl/qglpixelbuffer_x11.cpp
@@ -115,6 +115,7 @@ static bool qt_resolve_pbuffer_extensions()
if (!qt_glXChooseFBConfig)
#endif
{
+#if !defined(QT_NO_LIBRARY)
extern const QString qt_gl_library_name();
QLibrary gl(qt_gl_library_name());
qt_glXChooseFBConfig = (_glXChooseFBConfig) gl.resolve("glXChooseFBConfig");
@@ -123,6 +124,7 @@ static bool qt_resolve_pbuffer_extensions()
qt_glXDestroyPbuffer = (_glXDestroyPbuffer) gl.resolve("glXDestroyPbuffer");
qt_glXGetFBConfigAttrib = (_glXGetFBConfigAttrib) gl.resolve("glXGetFBConfigAttrib");
qt_glXMakeContextCurrent = (_glXMakeContextCurrent) gl.resolve("glXMakeContextCurrent");
+#endif
}
resolved = qt_glXMakeContextCurrent ? true : false;
diff --git a/src/opengl/qglpixmapfilter.cpp b/src/opengl/qglpixmapfilter.cpp
index 7514743..5a06763 100644
--- a/src/opengl/qglpixmapfilter.cpp
+++ b/src/opengl/qglpixmapfilter.cpp
@@ -56,7 +56,7 @@ QT_BEGIN_NAMESPACE
void QGLPixmapFilterBase::bindTexture(const QPixmap &src) const
{
- const_cast<QGLContext *>(QGLContext::currentContext())->d_func()->bindTexture(src, GL_TEXTURE_2D, GL_RGBA, true);
+ const_cast<QGLContext *>(QGLContext::currentContext())->d_func()->bindTexture(src, GL_TEXTURE_2D, GL_RGBA, true, false);
}
void QGLPixmapFilterBase::drawImpl(QPainter *painter, const QPointF &pos, const QPixmap &src, const QRectF& source) const
diff --git a/src/opengl/qglscreen_qws.h b/src/opengl/qglscreen_qws.h
index 4caa134..8f2ccb7 100644
--- a/src/opengl/qglscreen_qws.h
+++ b/src/opengl/qglscreen_qws.h
@@ -88,7 +88,7 @@ public:
class Q_OPENGL_EXPORT QGLScreen : public QScreen
{
- Q_DECLARE_SCOPED_PRIVATE(QGLScreen)
+ Q_DECLARE_PRIVATE(QGLScreen)
public:
QGLScreen(int displayId);
virtual ~QGLScreen();
diff --git a/src/opengl/qglwindowsurface_qws_p.h b/src/opengl/qglwindowsurface_qws_p.h
index f6d6713..1def568 100644
--- a/src/opengl/qglwindowsurface_qws_p.h
+++ b/src/opengl/qglwindowsurface_qws_p.h
@@ -70,7 +70,7 @@ class QWSGLWindowSurfacePrivate;
class Q_OPENGL_EXPORT QWSGLWindowSurface : public QWSWindowSurface
{
- Q_DECLARE_SCOPED_PRIVATE(QWSGLWindowSurface)
+ Q_DECLARE_PRIVATE(QWSGLWindowSurface)
public:
QWSGLWindowSurface(QWidget *widget);
diff --git a/src/opengl/qpaintengine_opengl.cpp b/src/opengl/qpaintengine_opengl.cpp
index cd04379..63ce73a 100644
--- a/src/opengl/qpaintengine_opengl.cpp
+++ b/src/opengl/qpaintengine_opengl.cpp
@@ -3963,7 +3963,7 @@ void QOpenGLPaintEnginePrivate::strokePath(const QPainterPath &path, bool use_ca
QPen pen = cpen;
if (txscale != 1)
- pen.setWidthF(pen.width() * txscale);
+ pen.setWidthF(pen.widthF() * txscale);
if (use_cache)
fillPath(qt_opengl_stroke_cache()->getStrokedPath(temp.map(path), pen));
else
diff --git a/src/opengl/qpaintengine_opengl_p.h b/src/opengl/qpaintengine_opengl_p.h
index e1cd897..439782b 100644
--- a/src/opengl/qpaintengine_opengl_p.h
+++ b/src/opengl/qpaintengine_opengl_p.h
@@ -74,7 +74,7 @@ public:
class QOpenGLPaintEngine : public QPaintEngineEx
{
- Q_DECLARE_SCOPED_PRIVATE(QOpenGLPaintEngine)
+ Q_DECLARE_PRIVATE(QOpenGLPaintEngine)
public:
QOpenGLPaintEngine();
~QOpenGLPaintEngine();
diff --git a/src/opengl/qpixmapdata_gl.cpp b/src/opengl/qpixmapdata_gl.cpp
index f0c7e20..e3ee2b2 100644
--- a/src/opengl/qpixmapdata_gl.cpp
+++ b/src/opengl/qpixmapdata_gl.cpp
@@ -97,7 +97,6 @@ static int qt_gl_pixmap_serial = 0;
QGLPixmapData::QGLPixmapData(PixelType type)
: QPixmapData(type, OpenGLClass)
, m_renderFbo(0)
- , m_textureId(0)
, m_engine(0)
, m_ctx(0)
, m_dirty(false)
@@ -113,9 +112,9 @@ QGLPixmapData::~QGLPixmapData()
if (!shareWidget)
return;
- if (m_textureId) {
+ if (m_texture.id) {
QGLShareContextScope ctx(shareWidget->context());
- glDeleteTextures(1, &m_textureId);
+ glDeleteTextures(1, &m_texture.id);
}
}
@@ -148,10 +147,10 @@ void QGLPixmapData::resize(int width, int height)
is_null = (w <= 0 || h <= 0);
d = pixelType() == QPixmapData::PixmapType ? 32 : 1;
- if (m_textureId) {
+ if (m_texture.id) {
QGLShareContextScope ctx(qt_gl_share_widget()->context());
- glDeleteTextures(1, &m_textureId);
- m_textureId = 0;
+ glDeleteTextures(1, &m_texture.id);
+ m_texture.id = 0;
}
m_source = QImage();
@@ -172,9 +171,9 @@ void QGLPixmapData::ensureCreated() const
const GLenum format = qt_gl_preferredTextureFormat();
const GLenum target = GL_TEXTURE_2D;
- if (!m_textureId) {
- glGenTextures(1, &m_textureId);
- glBindTexture(target, m_textureId);
+ if (!m_texture.id) {
+ glGenTextures(1, &m_texture.id);
+ glBindTexture(target, m_texture.id);
GLenum format = m_hasAlpha ? GL_RGBA : GL_RGB;
glTexImage2D(target, 0, format, w, h, 0,
GL_RGBA, GL_UNSIGNED_BYTE, 0);
@@ -185,13 +184,15 @@ void QGLPixmapData::ensureCreated() const
if (!m_source.isNull()) {
const QImage tx = ctx->d_func()->convertToGLFormat(m_source, true, format);
- glBindTexture(target, m_textureId);
+ glBindTexture(target, m_texture.id);
glTexSubImage2D(target, 0, 0, 0, w, h, format,
GL_UNSIGNED_BYTE, tx.bits());
if (useFramebufferObjects())
m_source = QImage();
}
+
+ m_texture.clean = false;
}
QGLFramebufferObject *QGLPixmapData::fbo() const
@@ -223,10 +224,10 @@ void QGLPixmapData::fromImage(const QImage &image,
is_null = (w <= 0 || h <= 0);
d = pixelType() == QPixmapData::PixmapType ? 32 : 1;
- if (m_textureId) {
+ if (m_texture.id) {
QGLShareContextScope ctx(qt_gl_share_widget()->context());
- glDeleteTextures(1, &m_textureId);
- m_textureId = 0;
+ glDeleteTextures(1, &m_texture.id);
+ m_texture.id = 0;
}
}
@@ -256,9 +257,9 @@ void QGLPixmapData::fill(const QColor &color)
bool hasAlpha = color.alpha() != 255;
if (hasAlpha && !m_hasAlpha) {
- if (m_textureId) {
- glDeleteTextures(1, &m_textureId);
- m_textureId = 0;
+ if (m_texture.id) {
+ glDeleteTextures(1, &m_texture.id);
+ m_texture.id = 0;
m_dirty = true;
}
m_hasAlpha = color.alpha() != 255;
@@ -303,6 +304,8 @@ QImage QGLPixmapData::fillImage(const QColor &color) const
return img;
}
+extern QImage qt_gl_read_texture(const QSize &size, bool alpha_format, bool include_alpha);
+
QImage QGLPixmapData::toImage() const
{
if (!isValid())
@@ -319,8 +322,7 @@ QImage QGLPixmapData::toImage() const
}
QGLShareContextScope ctx(qt_gl_share_widget()->context());
- extern QImage qt_gl_read_texture(const QSize &size, bool alpha_format, bool include_alpha);
- glBindTexture(GL_TEXTURE_2D, m_textureId);
+ glBindTexture(GL_TEXTURE_2D, m_texture.id);
return qt_gl_read_texture(QSize(w, h), true, true);
}
@@ -350,7 +352,7 @@ void QGLPixmapData::copyBackFromRenderFbo(bool keepCurrentFboBound) const
glBindFramebuffer(GL_FRAMEBUFFER_EXT, ctx->d_ptr->fbo);
glFramebufferTexture2D(GL_FRAMEBUFFER_EXT, GL_COLOR_ATTACHMENT0_EXT,
- GL_TEXTURE_2D, m_textureId, 0);
+ GL_TEXTURE_2D, m_texture.id, 0);
const int x0 = 0;
const int x1 = w;
@@ -488,7 +490,7 @@ GLuint QGLPixmapData::bind(bool copyBack) const
ensureCreated();
}
- GLuint id = m_textureId;
+ GLuint id = m_texture.id;
glBindTexture(GL_TEXTURE_2D, id);
return id;
}
@@ -496,7 +498,12 @@ GLuint QGLPixmapData::bind(bool copyBack) const
GLuint QGLPixmapData::textureId() const
{
ensureCreated();
- return m_textureId;
+ return m_texture.id;
+}
+
+QGLTexture* QGLPixmapData::texture() const
+{
+ return &m_texture;
}
extern int qt_defaultDpiX();
diff --git a/src/opengl/qpixmapdata_gl_p.h b/src/opengl/qpixmapdata_gl_p.h
index a6aa22d..671f9a7 100644
--- a/src/opengl/qpixmapdata_gl_p.h
+++ b/src/opengl/qpixmapdata_gl_p.h
@@ -53,6 +53,7 @@
// We mean it.
//
+#include "qgl_p.h"
#include "qgl.h"
#include "private/qpixmapdata_p.h"
@@ -80,10 +81,11 @@ public:
void fill(const QColor &color);
bool hasAlphaChannel() const;
QImage toImage() const;
- QPaintEngine* paintEngine() const;
+ QPaintEngine *paintEngine() const;
GLuint bind(bool copyBack = true) const;
GLuint textureId() const;
+ QGLTexture *texture() const;
bool isValidContext(const QGLContext *ctx) const;
@@ -116,10 +118,10 @@ private:
QImage fillImage(const QColor &color) const;
mutable QGLFramebufferObject *m_renderFbo;
- mutable GLuint m_textureId;
mutable QPaintEngine *m_engine;
mutable QGLContext *m_ctx;
mutable QImage m_source;
+ mutable QGLTexture m_texture;
// the texture is not in sync with the source image
mutable bool m_dirty;
diff --git a/src/opengl/qwindowsurface_gl.cpp b/src/opengl/qwindowsurface_gl.cpp
index 3a7a07e..eec725e 100644
--- a/src/opengl/qwindowsurface_gl.cpp
+++ b/src/opengl/qwindowsurface_gl.cpp
@@ -171,7 +171,7 @@ QGLGraphicsSystem::QGLGraphicsSystem()
}
}
#elif defined(Q_WS_WIN)
- QGLWindowSurface::surfaceFormat.setDoubleBuffer(false);
+ QGLWindowSurface::surfaceFormat.setDoubleBuffer(true);
qt_win_owndc_required = true;
#endif
diff --git a/src/openvg/qpaintengine_vg.cpp b/src/openvg/qpaintengine_vg.cpp
index 1aed769..a9ecffc 100644
--- a/src/openvg/qpaintengine_vg.cpp
+++ b/src/openvg/qpaintengine_vg.cpp
@@ -142,6 +142,8 @@ public:
void ensureMask(QVGPaintEngine *engine, int width, int height);
void modifyMask
(QVGPaintEngine *engine, VGMaskOperation op, const QRegion& region);
+ void modifyMask
+ (QVGPaintEngine *engine, VGMaskOperation op, const QRect& rect);
#endif
VGint maxScissorRects; // Maximum scissor rectangles for clipping.
@@ -1320,11 +1322,11 @@ QPainterState *QVGPaintEngine::createState(QPainterState *orig) const
if (!orig) {
return new QVGPainterState();
} else {
- QVGPaintEnginePrivate *d =
- static_cast<QVGPaintEnginePrivate *>(d_ptr.data());
+ Q_D(const QVGPaintEngine);
+ QVGPaintEnginePrivate *d2 = const_cast<QVGPaintEnginePrivate*>(d.data());
QVGPainterState *origState = static_cast<QVGPainterState *>(orig);
- origState->savedDirty = d->dirty;
- d->dirty = 0;
+ origState->savedDirty = d2->dirty;
+ d2->dirty = 0;
return new QVGPainterState(*origState);
}
}
@@ -1611,13 +1613,106 @@ void QVGPaintEngine::clip(const QVectorPath &path, Qt::ClipOperation op)
void QVGPaintEngine::clip(const QRect &rect, Qt::ClipOperation op)
{
- clip(QRegion(rect), op);
+ Q_D(QVGPaintEngine);
+
+ d->dirty |= QPaintEngine::DirtyClipRegion;
+
+ // If we have a non-simple transform, then use path-based clipping.
+ if (op != Qt::NoClip && !clipTransformIsSimple(d->transform)) {
+ QPaintEngineEx::clip(rect, op);
+ return;
+ }
+
+ switch (op) {
+ case Qt::NoClip:
+ {
+ d->maskValid = false;
+ d->maskIsSet = true;
+ d->maskRect = QRect();
+ vgSeti(VG_MASKING, VG_FALSE);
+ }
+ break;
+
+ case Qt::ReplaceClip:
+ {
+ QRect r = d->transform.mapRect(rect);
+ if (isDefaultClipRect(r)) {
+ // Replacing the clip with a full-window region is the
+ // same as turning off clipping.
+ if (d->maskValid)
+ vgSeti(VG_MASKING, VG_FALSE);
+ d->maskValid = false;
+ d->maskIsSet = true;
+ d->maskRect = QRect();
+ } else {
+ // Special case: if the intersection of the system
+ // clip and "r" is a single rectangle, then use the
+ // scissor for clipping. We try to avoid allocating a
+ // QRegion copy on the heap for the test if we can.
+ QRegion clip = d->systemClip; // Reference-counted, no alloc.
+ QRect clipRect;
+ if (clip.numRects() == 1) {
+ clipRect = clip.boundingRect().intersected(r);
+ } else if (clip.isEmpty()) {
+ clipRect = r;
+ } else {
+ clip = clip.intersect(r);
+ if (clip.numRects() != 1) {
+ d->maskValid = false;
+ d->maskIsSet = false;
+ d->maskRect = QRect();
+ d->modifyMask(this, VG_FILL_MASK, r);
+ break;
+ }
+ clipRect = clip.boundingRect();
+ }
+ d->maskValid = false;
+ d->maskIsSet = false;
+ d->maskRect = clipRect;
+ vgSeti(VG_MASKING, VG_FALSE);
+ updateScissor();
+ }
+ }
+ break;
+
+ case Qt::IntersectClip:
+ {
+ QRect r = d->transform.mapRect(rect);
+ if (d->maskIsSet && isDefaultClipRect(r)) {
+ // Intersecting a full-window clip with a full-window
+ // region is the same as turning off clipping.
+ if (d->maskValid)
+ vgSeti(VG_MASKING, VG_FALSE);
+ d->maskValid = false;
+ d->maskIsSet = true;
+ d->maskRect = QRect();
+ } else {
+ d->modifyMask(this, VG_INTERSECT_MASK, r);
+ }
+ }
+ break;
+
+ case Qt::UniteClip:
+ {
+ // If we already have a full-window clip, then uniting a
+ // region with it will do nothing. Otherwise union.
+ if (!(d->maskIsSet))
+ d->modifyMask(this, VG_UNION_MASK, d->transform.mapRect(rect));
+ }
+ break;
+ }
}
void QVGPaintEngine::clip(const QRegion &region, Qt::ClipOperation op)
{
Q_D(QVGPaintEngine);
+ // Use the QRect case if the region consists of a single rectangle.
+ if (region.numRects() == 1) {
+ clip(region.boundingRect(), op);
+ return;
+ }
+
d->dirty |= QPaintEngine::DirtyClipRegion;
// If we have a non-simple transform, then use path-based clipping.
@@ -1656,10 +1751,10 @@ void QVGPaintEngine::clip(const QRegion &region, Qt::ClipOperation op)
clip = r;
else
clip = clip.intersect(r);
- if (r.numRects() == 1) {
+ if (clip.numRects() == 1) {
d->maskValid = false;
d->maskIsSet = false;
- d->maskRect = r.boundingRect();
+ d->maskRect = clip.boundingRect();
vgSeti(VG_MASKING, VG_FALSE);
updateScissor();
} else {
@@ -1707,11 +1802,61 @@ void QVGPaintEngine::clip(const QRegion &region, Qt::ClipOperation op)
}
}
+#if !defined(QVG_NO_RENDER_TO_MASK)
+
+// Copied from qpathclipper.cpp.
+static bool qt_vg_pathToRect(const QPainterPath &path, QRectF *rect)
+{
+ if (path.elementCount() != 5)
+ return false;
+
+ const bool mightBeRect = path.elementAt(0).isMoveTo()
+ && path.elementAt(1).isLineTo()
+ && path.elementAt(2).isLineTo()
+ && path.elementAt(3).isLineTo()
+ && path.elementAt(4).isLineTo();
+
+ if (!mightBeRect)
+ return false;
+
+ const qreal x1 = path.elementAt(0).x;
+ const qreal y1 = path.elementAt(0).y;
+
+ const qreal x2 = path.elementAt(1).x;
+ const qreal y2 = path.elementAt(2).y;
+
+ if (path.elementAt(1).y != y1)
+ return false;
+
+ if (path.elementAt(2).x != x2)
+ return false;
+
+ if (path.elementAt(3).x != x1 || path.elementAt(3).y != y2)
+ return false;
+
+ if (path.elementAt(4).x != x1 || path.elementAt(4).y != y1)
+ return false;
+
+ if (rect)
+ *rect = QRectF(QPointF(x1, y1), QPointF(x2, y2));
+
+ return true;
+}
+
+#endif
+
void QVGPaintEngine::clip(const QPainterPath &path, Qt::ClipOperation op)
{
#if !defined(QVG_NO_RENDER_TO_MASK)
Q_D(QVGPaintEngine);
+ // If the path is a simple rectangle, then use clip(QRect) instead.
+ QRectF simpleRect;
+ if (qt_vg_pathToRect(path, &simpleRect)) {
+ clip(simpleRect.toRect(), op);
+ return;
+ }
+
d->dirty |= QPaintEngine::DirtyClipRegion;
if (op == Qt::NoClip) {
@@ -1765,7 +1910,7 @@ void QVGPaintEnginePrivate::ensureMask
maskRect = QRect();
} else {
vgMask(VG_INVALID_HANDLE, VG_CLEAR_MASK, 0, 0, width, height);
- if (!maskRect.isNull()) {
+ if (maskRect.isValid()) {
vgMask(VG_INVALID_HANDLE, VG_FILL_MASK,
maskRect.x(), height - maskRect.y() - maskRect.height(),
maskRect.width(), maskRect.height());
@@ -1797,6 +1942,27 @@ void QVGPaintEnginePrivate::modifyMask
maskIsSet = false;
}
+void QVGPaintEnginePrivate::modifyMask
+ (QVGPaintEngine *engine, VGMaskOperation op, const QRect& rect)
+{
+ QPaintDevice *pdev = engine->paintDevice();
+ int width = pdev->width();
+ int height = pdev->height();
+
+ if (!maskValid)
+ ensureMask(engine, width, height);
+
+ if (rect.isValid()) {
+ vgMask(VG_INVALID_HANDLE, op,
+ rect.x(), height - rect.y() - rect.height(),
+ rect.width(), rect.height());
+ }
+
+ vgSeti(VG_MASKING, VG_TRUE);
+ maskValid = true;
+ maskIsSet = false;
+}
+
#endif // !QVG_SCISSOR_CLIP
void QVGPaintEngine::updateScissor()
@@ -1892,6 +2058,16 @@ bool QVGPaintEngine::isDefaultClipRegion(const QRegion& region)
rect.width() == width && rect.height() == height);
}
+bool QVGPaintEngine::isDefaultClipRect(const QRect& rect)
+{
+ QPaintDevice *pdev = paintDevice();
+ int width = pdev->width();
+ int height = pdev->height();
+
+ return (rect.x() == 0 && rect.y() == 0 &&
+ rect.width() == width && rect.height() == height);
+}
+
void QVGPaintEngine::clipEnabledChanged()
{
#if defined(QVG_SCISSOR_CLIP)
diff --git a/src/openvg/qpaintengine_vg_p.h b/src/openvg/qpaintengine_vg_p.h
index a390c80..bde06e5 100644
--- a/src/openvg/qpaintengine_vg_p.h
+++ b/src/openvg/qpaintengine_vg_p.h
@@ -154,6 +154,7 @@ private:
void updateScissor();
QRegion defaultClipRegion();
bool isDefaultClipRegion(const QRegion& region);
+ bool isDefaultClipRect(const QRect& rect);
bool clearRect(const QRectF &rect, const QColor &color);
};
diff --git a/src/plugins/accessible/compat/q3complexwidgets.cpp b/src/plugins/accessible/compat/q3complexwidgets.cpp
index 696bc99..b911d5e 100644
--- a/src/plugins/accessible/compat/q3complexwidgets.cpp
+++ b/src/plugins/accessible/compat/q3complexwidgets.cpp
@@ -274,7 +274,7 @@ QString Q3AccessibleTitleBar::text(Text t, int child) const
return Q3TitleBar::tr("Contains commands to manipulate the window");
case 3:
if (window && window->isMinimized())
- return Q3TitleBar::tr("Puts a minimized back to normal");
+ return Q3TitleBar::tr("Puts a minimized window back to normal");
return Q3TitleBar::tr("Moves the window out of the way");
case 4:
if (window && window->isMaximized())
diff --git a/src/plugins/audio/audio.pro b/src/plugins/audio/audio.pro
new file mode 100644
index 0000000..e93b369
--- /dev/null
+++ b/src/plugins/audio/audio.pro
@@ -0,0 +1,3 @@
+TEMPLATE = subdirs
+
+#SUBDIRS += ossaudio
diff --git a/src/plugins/gfxdrivers/directfb/qdirectfbkeyboard.cpp b/src/plugins/gfxdrivers/directfb/qdirectfbkeyboard.cpp
index ed59db8..13c4053 100644
--- a/src/plugins/gfxdrivers/directfb/qdirectfbkeyboard.cpp
+++ b/src/plugins/gfxdrivers/directfb/qdirectfbkeyboard.cpp
@@ -77,13 +77,15 @@ private:
QSocketNotifier *keyboardNotifier;
DFBEvent event;
int bytesRead;
-
-private slots:
+ int lastUnicode, lastKeycode;
+ Qt::KeyboardModifiers lastModifiers;
+private Q_SLOTS:
void readKeyboardData();
};
QDirectFBKeyboardHandlerPrivate::QDirectFBKeyboardHandlerPrivate(QDirectFBKeyboardHandler *h)
- : handler(h), eventBuffer(0)
+ : handler(h), eventBuffer(0), keyboardNotifier(0), bytesRead(0),
+ lastUnicode(0), lastKeycode(0), lastModifiers(0)
{
Q_ASSERT(qt_screen);
@@ -114,8 +116,6 @@ QDirectFBKeyboardHandlerPrivate::QDirectFBKeyboardHandlerPrivate(QDirectFBKeyboa
::fcntl(fd, F_SETFL, flags | O_NONBLOCK);
memset(&event, 0, sizeof(event));
- bytesRead = 0;
-
keyboardNotifier = new QSocketNotifier(fd, QSocketNotifier::Read, this);
connect(keyboardNotifier, SIGNAL(activated(int)),
@@ -213,8 +213,27 @@ void QDirectFBKeyboardHandlerPrivate::readKeyboardData()
unicode = symbol;
if (unicode != -1 || keycode != 0) {
+ bool autoRepeat = false;
+ if (press) {
+ if (unicode == lastUnicode && keycode == lastKeycode && modifiers == lastModifiers) {
+ autoRepeat = true;
+ } else {
+ lastUnicode = unicode;
+ lastKeycode = keycode;
+ lastModifiers = modifiers;
+ }
+ } else {
+ lastUnicode = lastKeycode = -1;
+ lastModifiers = 0;
+ }
+ if (autoRepeat) {
+ handler->processKeyEvent(unicode, keycode,
+ modifiers, false, autoRepeat);
+
+ }
+
handler->processKeyEvent(unicode, keycode,
- modifiers, press, false);
+ modifiers, press, autoRepeat);
}
}
}
diff --git a/src/plugins/gfxdrivers/directfb/qdirectfbmouse.cpp b/src/plugins/gfxdrivers/directfb/qdirectfbmouse.cpp
index 15fb6f4..4365a5d 100644
--- a/src/plugins/gfxdrivers/directfb/qdirectfbmouse.cpp
+++ b/src/plugins/gfxdrivers/directfb/qdirectfbmouse.cpp
@@ -71,7 +71,7 @@ private:
DFBEvent event;
uint bytesRead;
-private slots:
+private Q_SLOTS:
void readMouseData();
};
@@ -101,7 +101,7 @@ QDirectFBMouseHandlerPrivate::QDirectFBMouseHandlerPrivate(QDirectFBMouseHandler
#endif
DFBInputDeviceCapabilities caps;
- caps = DFBInputDeviceCapabilities(DICAPS_BUTTONS | DICAPS_AXES);
+ caps = DICAPS_BUTTONS | DICAPS_AXES;
result = fb->CreateInputEventBuffer(fb, caps, DFB_TRUE, &eventBuffer);
if (result != DFB_OK) {
DirectFBError("QDirectFBMouseHandler: "
@@ -203,7 +203,6 @@ void QDirectFBMouseHandlerPrivate::readMouseData()
int wheel = 0;
if (input.type == DIET_AXISMOTION) {
-#ifdef QT_NO_DIRECTFB_LAYER
if (input.flags & DIEF_AXISABS) {
switch (input.axis) {
case DIAI_X: x = input.axisabs; break;
@@ -223,19 +222,6 @@ void QDirectFBMouseHandlerPrivate::readMouseData()
"unknown axis (releative) %d", input.axis);
}
}
-#else
- if (input.axis == DIAI_X || input.axis == DIAI_Y) {
- DFBResult result = layer->GetCursorPosition(layer, &x, &y);
- if (result != DFB_OK) {
- DirectFBError("QDirectFBMouseHandler::readMouseData",
- result);
- }
- } else if (input.axis == DIAI_Z) {
- Q_ASSERT(input.flags & DIEF_AXISREL);
- wheel = input.axisrel;
- wheel *= -120;
- }
-#endif
}
Qt::MouseButtons buttons = Qt::NoButton;
diff --git a/src/plugins/gfxdrivers/directfb/qdirectfbpaintdevice.cpp b/src/plugins/gfxdrivers/directfb/qdirectfbpaintdevice.cpp
index 905fec3..2075799 100644
--- a/src/plugins/gfxdrivers/directfb/qdirectfbpaintdevice.cpp
+++ b/src/plugins/gfxdrivers/directfb/qdirectfbpaintdevice.cpp
@@ -43,10 +43,17 @@
#include "qdirectfbscreen.h"
#include "qdirectfbpaintdevice.h"
+#include "qdirectfbpaintengine.h"
+
+QDirectFBPaintDevice::QDirectFBPaintDevice(QDirectFBScreen *scr)
+ : QCustomRasterPaintDevice(0), dfbSurface(0), lockedImage(0), screen(scr),
+ lock(DFBSurfaceLockFlags(0)), mem(0), engine(0)
+{}
QDirectFBPaintDevice::~QDirectFBPaintDevice()
{
delete lockedImage;
+ delete engine;
}
@@ -56,20 +63,17 @@ IDirectFBSurface *QDirectFBPaintDevice::directFBSurface() const
}
-void QDirectFBPaintDevice::lockDirectFB(uint flags)
+void QDirectFBPaintDevice::lockDirectFB(DFBSurfaceLockFlags flags)
{
if (!(lock & flags)) {
if (lock)
unlockDirectFB();
- if ((mem = QDirectFBScreen::lockSurface(dfbSurface, flags, &bpl))) {
- const QSize s = size();
- lockedImage = new QImage(mem, s.width(), s.height(), bpl,
- QDirectFBScreen::getImageFormat(dfbSurface));
- lock = flags;
- Q_ASSERT(mem);
- } else {
- lock = 0;
- }
+ mem = QDirectFBScreen::lockSurface(dfbSurface, flags, &bpl);
+ Q_ASSERT(mem);
+ const QSize s = size();
+ lockedImage = new QImage(mem, s.width(), s.height(), bpl,
+ QDirectFBScreen::getImageFormat(dfbSurface));
+ lock = flags;
}
}
@@ -83,17 +87,12 @@ void QDirectFBPaintDevice::unlockDirectFB()
delete lockedImage;
lockedImage = 0;
mem = 0;
- lock = 0;
+ lock = DFBSurfaceLockFlags(0);
}
void *QDirectFBPaintDevice::memory() const
{
- if (lock != (DSLF_READ|DSLF_WRITE)) {
- QDirectFBPaintDevice *that = const_cast<QDirectFBPaintDevice*>(this);
- that->lockDirectFB(DSLF_READ|DSLF_WRITE);
- Q_ASSERT(that->lockedImage);
- }
return mem;
}
@@ -172,4 +171,10 @@ int QDirectFBPaintDevice::metric(QPaintDevice::PaintDeviceMetric metric) const
}
}
+QPaintEngine *QDirectFBPaintDevice::paintEngine() const
+{
+ return engine;
+}
+
#endif
+
diff --git a/src/plugins/gfxdrivers/directfb/qdirectfbpaintdevice.h b/src/plugins/gfxdrivers/directfb/qdirectfbpaintdevice.h
index 32c49bb..c4aeb70 100644
--- a/src/plugins/gfxdrivers/directfb/qdirectfbpaintdevice.h
+++ b/src/plugins/gfxdrivers/directfb/qdirectfbpaintdevice.h
@@ -51,6 +51,7 @@ QT_BEGIN_HEADER
QT_MODULE(Gui)
// Inherited by both window surface and pixmap
+class QDirectFBPaintEngine;
class QDirectFBPaintDevice : public QCustomRasterPaintDevice
{
public:
@@ -58,27 +59,20 @@ public:
IDirectFBSurface *directFBSurface() const;
- void lockDirectFB(uint flags);
+ void lockDirectFB(DFBSurfaceLockFlags lock);
void unlockDirectFB();
// Reimplemented from QCustomRasterPaintDevice:
- void* memory() const;
+ void *memory() const;
QImage::Format format() const;
int bytesPerLine() const;
QSize size() const;
int metric(QPaintDevice::PaintDeviceMetric metric) const;
- uint lockFlags() const { return lock; }
-protected:
- // Shouldn't create QDirectFBPaintDevice by itself but only sub-class it:
- QDirectFBPaintDevice(QDirectFBScreen *scr = QDirectFBScreen::instance())
- : QCustomRasterPaintDevice(0),
- dfbSurface(0),
- lockedImage(0),
- screen(scr),
- lock(0),
- mem(0)
- {}
+ DFBSurfaceLockFlags lockFlags() const { return lock; }
+ QPaintEngine *paintEngine() const;
+protected:
+ QDirectFBPaintDevice(QDirectFBScreen *scr);
inline int dotsPerMeterX() const
{
return (screen->deviceWidth() * 1000) / screen->physicalWidth();
@@ -87,15 +81,16 @@ protected:
{
return (screen->deviceHeight() * 1000) / screen->physicalHeight();
}
-
+protected:
IDirectFBSurface *dfbSurface;
QImage *lockedImage;
QDirectFBScreen *screen;
int bpl;
- uint lock;
+ DFBSurfaceLockFlags lock;
uchar *mem;
+ QDirectFBPaintEngine *engine;
private:
- Q_DISABLE_COPY(QDirectFBPaintDevice)
+ Q_DISABLE_COPY(QDirectFBPaintDevice);
};
QT_END_HEADER
diff --git a/src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.cpp b/src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.cpp
index ade8554..58c8a58 100644
--- a/src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.cpp
+++ b/src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.cpp
@@ -53,199 +53,52 @@
#include <qmath.h>
#include <private/qpixmapdata_p.h>
#include <private/qpixmap_raster_p.h>
+#include <private/qimagepixmapcleanuphooks_p.h>
-#if defined QT_DIRECTFB_WARN_ON_RASTERFALLBACKS || defined QT_DIRECTFB_DISABLE_RASTERFALLBACKS
-#define VOID_ARG() static_cast<bool>(false)
-enum PaintOperation {
- DRAW_RECTS = 0x0001,
- DRAW_LINES = 0x0002,
- DRAW_IMAGE = 0x0004,
- DRAW_PIXMAP = 0x0008,
- DRAW_TILED_PIXMAP = 0x0010,
- STROKE_PATH = 0x0020,
- DRAW_PATH = 0x0040,
- DRAW_POINTS = 0x0080,
- DRAW_ELLIPSE = 0x0100,
- DRAW_POLYGON = 0x0200,
- DRAW_TEXT = 0x0400,
- FILL_PATH = 0x0800,
- FILL_RECT = 0x1000,
- DRAW_COLORSPANS = 0x2000,
- ALL = 0xffff
-};
-#endif
-
-#ifdef QT_DIRECTFB_WARN_ON_RASTERFALLBACKS
-template <typename T> inline const T *ptr(const T &t) { return &t; }
-template <> inline const bool* ptr<bool>(const bool &) { return 0; }
-template <typename device, typename T1, typename T2, typename T3>
-static void rasterFallbackWarn(const char *msg, const char *func, const device *dev,
- int scale, bool matrixRotShear, bool simplePen,
- bool dfbHandledClip, bool unsupportedCompositionMode,
- const char *nameOne, const T1 &one,
- const char *nameTwo, const T2 &two,
- const char *nameThree, const T3 &three)
-{
- QString out;
- QDebug dbg(&out);
- dbg << msg << (QByteArray(func) + "()") << "painting on";
- if (dev->devType() == QInternal::Widget) {
- dbg << static_cast<const QWidget*>(dev);
- } else {
- dbg << dev << "of type" << dev->devType();
- }
-
- dbg << "scale" << scale
- << "matrixRotShear" << matrixRotShear
- << "simplePen" << simplePen
- << "dfbHandledClip" << dfbHandledClip
- << "unsupportedCompositionMode" << unsupportedCompositionMode;
-
- const T1 *t1 = ptr(one);
- const T2 *t2 = ptr(two);
- const T3 *t3 = ptr(three);
-
- if (t1) {
- dbg << nameOne << *t1;
- if (t2) {
- dbg << nameTwo << *t2;
- if (t3) {
- dbg << nameThree << *t3;
- }
- }
- }
- qWarning("%s", qPrintable(out));
-}
-#endif
-
-#if defined QT_DIRECTFB_WARN_ON_RASTERFALLBACKS && defined QT_DIRECTFB_DISABLE_RASTERFALLBACKS
-#define RASTERFALLBACK(op, one, two, three) \
- if (op & (QT_DIRECTFB_WARN_ON_RASTERFALLBACKS)) \
- rasterFallbackWarn("Disabled raster engine operation", \
- __FUNCTION__, state()->painter->device(), \
- d_func()->scale, d_func()->matrixRotShear, \
- d_func()->simplePen, d_func()->dfbCanHandleClip(), \
- d_func()->unsupportedCompositionMode, \
- #one, one, #two, two, #three, three); \
- if (op & (QT_DIRECTFB_DISABLE_RASTERFALLBACKS)) \
- return;
-#elif defined QT_DIRECTFB_DISABLE_RASTERFALLBACKS
-#define RASTERFALLBACK(op, one, two, three) \
- if (op & (QT_DIRECTFB_DISABLE_RASTERFALLBACKS)) \
- return;
-#elif defined QT_DIRECTFB_WARN_ON_RASTERFALLBACKS
-#define RASTERFALLBACK(op, one, two, three) \
- if (op & (QT_DIRECTFB_WARN_ON_RASTERFALLBACKS)) \
- rasterFallbackWarn("Falling back to raster engine for", \
- __FUNCTION__, state()->painter->device(), \
- d_func()->scale, d_func()->matrixRotShear, \
- d_func()->simplePen, d_func()->dfbCanHandleClip(), \
- d_func()->unsupportedCompositionMode, \
- #one, one, #two, two, #three, three);
-#else
-#define RASTERFALLBACK(op, one, two, three)
-#endif
-
-static inline uint ALPHA_MUL(uint x, uint a)
-{
- uint t = x * a;
- t = ((t + (t >> 8) + 0x80) >> 8) & 0xff;
- return t;
-}
-
-class SurfaceCache
-{
-public:
- SurfaceCache() : surface(0), buffer(0), bufsize(0) {}
- ~SurfaceCache() { clear(); }
-
-
- IDirectFBSurface *getSurface(const uint *buf, int size)
- {
- if (buffer == buf && bufsize == size)
- return surface;
-
- clear();
-
- const DFBSurfaceDescription description = QDirectFBScreen::getSurfaceDescription(buf, size);
- surface = QDirectFBScreen::instance()->createDFBSurface(description, QDirectFBScreen::TrackSurface);
- if (!surface)
- qWarning("QDirectFBPaintEngine: SurfaceCache: Unable to create surface");
-
- buffer = const_cast<uint*>(buf);
- bufsize = size;
-
- return surface;
- }
-
- void clear()
- {
- if (surface && QDirectFBScreen::instance())
- QDirectFBScreen::instance()->releaseDFBSurface(surface);
- surface = 0;
- buffer = 0;
- bufsize = 0;
- }
-private:
- IDirectFBSurface *surface;
- uint *buffer;
- int bufsize;
-};
-
-
-#ifdef QT_DIRECTFB_IMAGECACHE
-#include <private/qimage_p.h>
-struct CachedImage
-{
- IDirectFBSurface *surface;
- ~CachedImage()
- {
- if (surface && QDirectFBScreen::instance()) {
- QDirectFBScreen::instance()->releaseDFBSurface(surface);
- }
- }
-};
-static QCache<qint64, CachedImage> imageCache(4*1024*1024); // 4 MB
-#endif
-
+class SurfaceCache;
class QDirectFBPaintEnginePrivate : public QRasterPaintEnginePrivate
{
public:
- enum Scale { NoScale, Scaled, NegativeScale };
+ enum TransformationTypeFlags {
+ Matrix_NegativeScale = 0x100,
+ Matrix_RectsUnsupported = (QTransform::TxRotate|QTransform::TxShear|QTransform::TxProject),
+ Matrix_BlitsUnsupported = (Matrix_NegativeScale|Matrix_RectsUnsupported)
+ };
+
+ enum CompositionModeStatus {
+ PorterDuff_None = 0x0,
+ PorterDuff_SupportedBlits = 0x1,
+ PorterDuff_SupportedPrimitives = 0x2
+ };
+
+ enum ClipType {
+ ClipUnset,
+ NoClip,
+ RectClip,
+ RegionClip,
+ ComplexClip
+ };
QDirectFBPaintEnginePrivate(QDirectFBPaintEngine *p);
~QDirectFBPaintEnginePrivate();
- void setTransform(const QTransform &m);
- void setPen(const QPen &pen);
+ inline void setTransform(const QTransform &transforma);
+ inline void setPen(const QPen &pen);
inline void setCompositionMode(QPainter::CompositionMode mode);
- inline void setOpacity(quint8 value);
- void setRenderHints(QPainter::RenderHints hints);
+ inline void setRenderHints(QPainter::RenderHints hints);
inline void setDFBColor(const QColor &color);
inline void lock();
inline void unlock();
- inline bool dfbCanHandleClip(const QRect &rect) const;
- inline bool dfbCanHandleClip(const QRectF &rect) const;
- inline bool dfbCanHandleClip() const;
inline bool isSimpleBrush(const QBrush &brush) const;
- void drawLines(const QLine *lines, int count);
- void drawLines(const QLineF *lines, int count);
-
- void fillRegion(const QRegion &r);
- void fillRects(const QRect *rects, int count);
- void drawRects(const QRect *rects, int count);
- void fillRects(const QRectF *rects, int count);
- void drawRects(const QRectF *rects, int count);
-
- void drawTiledPixmap(const QRectF &dest, const QPixmap &pixmap);
+ void drawTiledPixmap(const QRectF &dest, const QPixmap &pixmap, const QPointF &pos);
void blit(const QRectF &dest, IDirectFBSurface *surface, const QRectF &src);
inline void updateClip();
- void systemStateChanged();
+ virtual void systemStateChanged();
static IDirectFBSurface *getSurface(const QImage &img, bool *release);
@@ -257,36 +110,142 @@ public:
private:
IDirectFBSurface *surface;
- QPen pen;
-
bool antialiased;
-
bool simplePen;
- bool matrixRotShear;
- Scale scale;
+ uint transformationType; // this is QTransform::type() + Matrix_NegativeScale if qMin(transform.m11(), transform.m22()) < 0
SurfaceCache *surfaceCache;
- QTransform transform;
- int lastLockedHeight;
-
IDirectFB *fb;
- int fbWidth;
- int fbHeight;
-
quint8 opacity;
bool dirtyClip;
- bool dfbHandledClip;
- bool ignoreSystemClip;
+ ClipType clipType;
QDirectFBPaintDevice *dfbDevice;
- void *lockedMemory;
- bool unsupportedCompositionMode;
+ uint compositionModeStatus;
QDirectFBPaintEngine *q;
+ QRect currentClip;
friend class QDirectFBPaintEngine;
};
+class SurfaceCache
+{
+public:
+ SurfaceCache() : surface(0), buffer(0), bufsize(0) {}
+ ~SurfaceCache() { clear(); }
+ IDirectFBSurface *getSurface(const uint *buf, int size);
+ void clear();
+private:
+ IDirectFBSurface *surface;
+ uint *buffer;
+ int bufsize;
+};
+
+
+#ifdef QT_DIRECTFB_IMAGECACHE
+#include <private/qimage_p.h>
+struct CachedImage
+{
+ IDirectFBSurface *surface;
+ ~CachedImage()
+ {
+ if (surface && QDirectFBScreen::instance()) {
+ QDirectFBScreen::instance()->releaseDFBSurface(surface);
+ }
+ }
+};
+static QCache<qint64, CachedImage> imageCache(4*1024*1024); // 4 MB
+#endif
+
+#if defined QT_DIRECTFB_WARN_ON_RASTERFALLBACKS || defined QT_DIRECTFB_DISABLE_RASTERFALLBACKS
+#define VOID_ARG() static_cast<bool>(false)
+enum PaintOperation {
+ DRAW_RECTS = 0x0001, DRAW_LINES = 0x0002, DRAW_IMAGE = 0x0004,
+ DRAW_PIXMAP = 0x0008, DRAW_TILED_PIXMAP = 0x0010, STROKE_PATH = 0x0020,
+ DRAW_PATH = 0x0040, DRAW_POINTS = 0x0080, DRAW_ELLIPSE = 0x0100,
+ DRAW_POLYGON = 0x0200, DRAW_TEXT = 0x0400, FILL_PATH = 0x0800,
+ FILL_RECT = 0x1000, DRAW_COLORSPANS = 0x2000, ALL = 0xffff
+};
+#endif
+
+#ifdef QT_DIRECTFB_WARN_ON_RASTERFALLBACKS
+template <typename device, typename T1, typename T2, typename T3>
+static void rasterFallbackWarn(const char *msg, const char *func, const device *dev,
+ uint transformationType, bool simplePen,
+ uint clipType, uint compositionModeStatus,
+ const char *nameOne, const T1 &one,
+ const char *nameTwo, const T2 &two,
+ const char *nameThree, const T3 &three);
+#endif
+
+#if defined QT_DIRECTFB_WARN_ON_RASTERFALLBACKS && defined QT_DIRECTFB_DISABLE_RASTERFALLBACKS
+#define RASTERFALLBACK(op, one, two, three) \
+ if (op & (QT_DIRECTFB_WARN_ON_RASTERFALLBACKS)) \
+ rasterFallbackWarn("Disabled raster engine operation", \
+ __FUNCTION__, state()->painter->device(), \
+ d_func()->transformationType, \
+ d_func()->simplePen, \
+ d_func()->clipType, \
+ d_func()->compositionModeStatus, \
+ #one, one, #two, two, #three, three); \
+ if (op & (QT_DIRECTFB_DISABLE_RASTERFALLBACKS)) \
+ return;
+#elif defined QT_DIRECTFB_DISABLE_RASTERFALLBACKS
+#define RASTERFALLBACK(op, one, two, three) \
+ if (op & (QT_DIRECTFB_DISABLE_RASTERFALLBACKS)) \
+ return;
+#elif defined QT_DIRECTFB_WARN_ON_RASTERFALLBACKS
+#define RASTERFALLBACK(op, one, two, three) \
+ if (op & (QT_DIRECTFB_WARN_ON_RASTERFALLBACKS)) \
+ rasterFallbackWarn("Falling back to raster engine for", \
+ __FUNCTION__, state()->painter->device(), \
+ d_func()->transformationType, \
+ d_func()->simplePen, \
+ d_func()->clipType, \
+ d_func()->compositionModeStatus, \
+ #one, one, #two, two, #three, three);
+#else
+#define RASTERFALLBACK(op, one, two, three)
+#endif
+
+template <class T>
+static inline void drawLines(const T *lines, int n, const QTransform &transform, IDirectFBSurface *surface);
+template <class T>
+static inline void fillRects(const T *rects, int n, const QTransform &transform, IDirectFBSurface *surface);
+template <class T>
+static inline void drawRects(const T *rects, int n, const QTransform &transform, IDirectFBSurface *surface);
+
+#define CLIPPED_PAINT(operation) { \
+ DFBRegion clipRegion; \
+ switch (d->clipType) { \
+ case QDirectFBPaintEnginePrivate::NoClip: \
+ case QDirectFBPaintEnginePrivate::RectClip: \
+ operation; \
+ break; \
+ case QDirectFBPaintEnginePrivate::RegionClip: { \
+ Q_ASSERT(d->clip()); \
+ const QVector<QRect> cr = d->clip()->clipRegion.rects(); \
+ const int size = cr.size(); \
+ for (int i=0; i<size; ++i) { \
+ d->currentClip = cr.at(i); \
+ clipRegion.x1 = d->currentClip.x(); \
+ clipRegion.y1 = d->currentClip.y(); \
+ clipRegion.x2 = d->currentClip.right(); \
+ clipRegion.y2 = d->currentClip.bottom(); \
+ d->surface->SetClip(d->surface, &clipRegion); \
+ operation; \
+ } \
+ d->dirtyClip = true; \
+ break; } \
+ case QDirectFBPaintEnginePrivate::ComplexClip: \
+ case QDirectFBPaintEnginePrivate::ClipUnset: \
+ qFatal("CLIPPED_PAINT internal error %d", d->clipType); \
+ break; \
+ } \
+ }
+
+
QDirectFBPaintEngine::QDirectFBPaintEngine(QPaintDevice *device)
: QRasterPaintEngine(*(new QDirectFBPaintEnginePrivate(this)), device)
{
@@ -299,7 +258,6 @@ QDirectFBPaintEngine::~QDirectFBPaintEngine()
bool QDirectFBPaintEngine::begin(QPaintDevice *device)
{
Q_D(QDirectFBPaintEngine);
- d->lastLockedHeight = -1;
if (device->devType() == QInternal::CustomRaster) {
d->dfbDevice = static_cast<QDirectFBPaintDevice*>(device);
} else if (device->devType() == QInternal::Pixmap) {
@@ -316,23 +274,10 @@ bool QDirectFBPaintEngine::begin(QPaintDevice *device)
qFatal("QDirectFBPaintEngine used on an invalid device: 0x%x",
device->devType());
}
- d->lockedMemory = 0;
- d->surface->GetSize(d->surface, &d->fbWidth, &d->fbHeight);
-
- d->setTransform(QTransform());
- d->antialiased = false;
- d->setOpacity(255);
- d->setCompositionMode(state()->compositionMode());
- d->dirtyClip = true;
- d->setPen(state()->pen);
-
- const bool status = QRasterPaintEngine::begin(device);
-
- // XXX: QRasterPaintEngine::begin() resets the capabilities
- gccaps |= PorterDuff;
-
- return status;
+ d->prepare(d->dfbDevice);
+ d->setCompositionMode(state()->composition_mode);
+ return QRasterPaintEngine::begin(device);
}
bool QDirectFBPaintEngine::end()
@@ -343,6 +288,7 @@ bool QDirectFBPaintEngine::end()
#if (Q_DIRECTFB_VERSION >= 0x010000)
d->surface->ReleaseSource(d->surface);
#endif
+ d->currentClip = QRect();
d->surface->SetClip(d->surface, NULL);
d->surface = 0;
return QRasterPaintEngine::end();
@@ -366,7 +312,7 @@ void QDirectFBPaintEngine::penChanged()
void QDirectFBPaintEngine::opacityChanged()
{
Q_D(QDirectFBPaintEngine);
- d->setOpacity(quint8(state()->opacity * 255));
+ d->opacity = quint8(state()->opacity * 255);
QRasterPaintEngine::opacityChanged();
}
@@ -387,32 +333,26 @@ void QDirectFBPaintEngine::renderHintsChanged()
void QDirectFBPaintEngine::transformChanged()
{
Q_D(QDirectFBPaintEngine);
- const QDirectFBPaintEnginePrivate::Scale old = d->scale;
- d->setTransform(state()->transform());
- if (d->scale != old) {
- d->setPen(state()->pen);
- }
+ d->setTransform(state()->matrix);
QRasterPaintEngine::transformChanged();
}
-void QDirectFBPaintEngine::setState(QPainterState *s)
+void QDirectFBPaintEngine::setState(QPainterState *state)
{
Q_D(QDirectFBPaintEngine);
- QRasterPaintEngine::setState(s);
+ QRasterPaintEngine::setState(state);
d->dirtyClip = true;
- d->setPen(state()->pen);
- d->setOpacity(quint8(state()->opacity * 255));
- d->setCompositionMode(state()->compositionMode());
- d->setTransform(state()->transform());
+ d->setPen(state->pen);
+ d->opacity = quint8(state->opacity * 255);
+ d->setCompositionMode(state->compositionMode());
+ d->setTransform(state->transform());
+ d->setRenderHints(state->renderHints);
}
void QDirectFBPaintEngine::clip(const QVectorPath &path, Qt::ClipOperation op)
{
Q_D(QDirectFBPaintEngine);
d->dirtyClip = true;
- const QPoint bottom = d->transform.map(QPoint(0, int(path.controlPointRect().bottom())));
- if (bottom.y() > d->lastLockedHeight)
- d->lock();
QRasterPaintEngine::clip(path, op);
}
@@ -420,62 +360,66 @@ void QDirectFBPaintEngine::clip(const QRect &rect, Qt::ClipOperation op)
{
Q_D(QDirectFBPaintEngine);
d->dirtyClip = true;
- if (d->clip() && !d->clip()->hasRectClip && d->clip()->enabled) {
- const QPoint bottom = d->transform.map(QPoint(0, rect.bottom()));
- if (bottom.y() > d->lastLockedHeight)
- d->lock();
- }
-
QRasterPaintEngine::clip(rect, op);
}
void QDirectFBPaintEngine::drawRects(const QRect *rects, int rectCount)
{
Q_D(QDirectFBPaintEngine);
- d->updateClip();
+ const QPen &pen = state()->pen;
const QBrush &brush = state()->brush;
- if (d->unsupportedCompositionMode || !d->dfbCanHandleClip() || d->matrixRotShear
- || !d->simplePen || !d->isSimpleBrush(brush)) {
+ if (brush == Qt::NoBrush && pen == Qt::NoPen)
+ return;
+
+ d->updateClip();
+ if (!(d->compositionModeStatus & QDirectFBPaintEnginePrivate::PorterDuff_SupportedPrimitives)
+ || (d->transformationType & QDirectFBPaintEnginePrivate::Matrix_RectsUnsupported)
+ || !d->simplePen
+ || d->clipType == QDirectFBPaintEnginePrivate::ComplexClip
+ || !d->isSimpleBrush(brush)) {
RASTERFALLBACK(DRAW_RECTS, rectCount, VOID_ARG(), VOID_ARG());
d->lock();
QRasterPaintEngine::drawRects(rects, rectCount);
return;
}
-
d->unlock();
-
if (brush != Qt::NoBrush) {
d->setDFBColor(brush.color());
- d->fillRects(rects, rectCount);
+ CLIPPED_PAINT(::fillRects<QRect>(rects, rectCount, state()->matrix, d->surface));
}
- if (d->pen != Qt::NoPen) {
- d->setDFBColor(d->pen.color());
- d->drawRects(rects, rectCount);
+ if (pen != Qt::NoPen) {
+ d->setDFBColor(pen.color());
+ CLIPPED_PAINT(::drawRects<QRect>(rects, rectCount, state()->matrix, d->surface));
}
}
void QDirectFBPaintEngine::drawRects(const QRectF *rects, int rectCount)
{
Q_D(QDirectFBPaintEngine);
- d->updateClip();
+ const QPen &pen = state()->pen;
const QBrush &brush = state()->brush;
- if (d->unsupportedCompositionMode || !d->dfbCanHandleClip() || d->matrixRotShear
- || !d->simplePen || !d->isSimpleBrush(brush)) {
+ if (brush == Qt::NoBrush && pen == Qt::NoPen)
+ return;
+
+ d->updateClip();
+ if (!(d->compositionModeStatus & QDirectFBPaintEnginePrivate::PorterDuff_SupportedPrimitives)
+ || (d->transformationType & QDirectFBPaintEnginePrivate::Matrix_RectsUnsupported)
+ || !d->simplePen
+ || d->clipType == QDirectFBPaintEnginePrivate::ComplexClip
+ || !d->isSimpleBrush(brush)) {
RASTERFALLBACK(DRAW_RECTS, rectCount, VOID_ARG(), VOID_ARG());
d->lock();
QRasterPaintEngine::drawRects(rects, rectCount);
return;
}
-
d->unlock();
-
if (brush != Qt::NoBrush) {
d->setDFBColor(brush.color());
- d->fillRects(rects, rectCount);
+ CLIPPED_PAINT(::fillRects<QRectF>(rects, rectCount, state()->matrix, d->surface));
}
- if (d->pen != Qt::NoPen) {
- d->setDFBColor(d->pen.color());
- d->drawRects(rects, rectCount);
+ if (pen != Qt::NoPen) {
+ d->setDFBColor(pen.color());
+ CLIPPED_PAINT(::drawRects<QRectF>(rects, rectCount, state()->matrix, d->surface));
}
}
@@ -483,17 +427,21 @@ void QDirectFBPaintEngine::drawLines(const QLine *lines, int lineCount)
{
Q_D(QDirectFBPaintEngine);
d->updateClip();
- if (d->unsupportedCompositionMode || !d->simplePen || !d->dfbCanHandleClip()) {
+
+ if (!(d->compositionModeStatus & QDirectFBPaintEnginePrivate::PorterDuff_SupportedPrimitives)
+ || !d->simplePen
+ || d->clipType == QDirectFBPaintEnginePrivate::ComplexClip) {
RASTERFALLBACK(DRAW_LINES, lineCount, VOID_ARG(), VOID_ARG());
d->lock();
QRasterPaintEngine::drawLines(lines, lineCount);
return;
}
- if (d->pen != Qt::NoPen) {
+ const QPen &pen = state()->pen;
+ if (pen != Qt::NoPen) {
d->unlock();
- d->setDFBColor(d->pen.color());
- d->drawLines(lines, lineCount);
+ d->setDFBColor(pen.color());
+ CLIPPED_PAINT(::drawLines<QLine>(lines, lineCount, state()->matrix, d->surface));
}
}
@@ -501,17 +449,21 @@ void QDirectFBPaintEngine::drawLines(const QLineF *lines, int lineCount)
{
Q_D(QDirectFBPaintEngine);
d->updateClip();
- if (d->unsupportedCompositionMode || !d->simplePen || !d->dfbCanHandleClip()) {
+
+ if (!(d->compositionModeStatus & QDirectFBPaintEnginePrivate::PorterDuff_SupportedPrimitives)
+ || !d->simplePen
+ || d->clipType == QDirectFBPaintEnginePrivate::ComplexClip) {
RASTERFALLBACK(DRAW_LINES, lineCount, VOID_ARG(), VOID_ARG());
d->lock();
QRasterPaintEngine::drawLines(lines, lineCount);
return;
}
- if (d->pen != Qt::NoPen) {
+ const QPen &pen = state()->pen;
+ if (pen != Qt::NoPen) {
d->unlock();
- d->setDFBColor(d->pen.color());
- d->drawLines(lines, lineCount);
+ d->setDFBColor(pen.color());
+ CLIPPED_PAINT(::drawLines<QLineF>(lines, lineCount, state()->matrix, d->surface));
}
}
@@ -541,10 +493,9 @@ void QDirectFBPaintEngine::drawImage(const QRectF &r, const QImage &image,
d->updateClip();
#if !defined QT_NO_DIRECTFB_PREALLOCATED || defined QT_DIRECTFB_IMAGECACHE
- if (d->unsupportedCompositionMode
- || d->matrixRotShear
- || d->scale == QDirectFBPaintEnginePrivate::NegativeScale
- || !d->dfbCanHandleClip(r)
+ if (!(d->compositionModeStatus & QDirectFBPaintEnginePrivate::PorterDuff_SupportedBlits)
+ || (d->transformationType & QDirectFBPaintEnginePrivate::Matrix_BlitsUnsupported)
+ || d->clipType == QDirectFBPaintEnginePrivate::ComplexClip
#ifndef QT_DIRECTFB_IMAGECACHE
|| QDirectFBScreen::getSurfacePixelFormat(image.format()) == DSPF_UNKNOWN
#elif defined QT_NO_DIRECTFB_PREALLOCATED
@@ -563,10 +514,10 @@ void QDirectFBPaintEngine::drawImage(const QRectF &r, const QImage &image,
bool release;
IDirectFBSurface *imgSurface = d->getSurface(image, &release);
d->prepareForBlit(QDirectFBScreen::hasAlpha(imgSurface));
- d->blit(r, imgSurface, sr);
+ CLIPPED_PAINT(d->blit(r, imgSurface, sr));
if (release) {
#if (Q_DIRECTFB_VERSION >= 0x010000)
- imgSurface->ReleaseSource(imgSurface);
+ d->surface->ReleaseSource(d->surface);
#endif
imgSurface->Release(imgSurface);
}
@@ -582,14 +533,15 @@ void QDirectFBPaintEngine::drawPixmap(const QRectF &r, const QPixmap &pixmap,
const QRectF &sr)
{
Q_D(QDirectFBPaintEngine);
- d->updateClip();
+ d->updateClip();
if (pixmap.pixmapData()->classId() != QPixmapData::DirectFBClass) {
RASTERFALLBACK(DRAW_PIXMAP, r, pixmap.size(), sr);
d->lock();
QRasterPaintEngine::drawPixmap(r, pixmap, sr);
- } else if (d->unsupportedCompositionMode || !d->dfbCanHandleClip(r) || d->matrixRotShear
- || d->scale == QDirectFBPaintEnginePrivate::NegativeScale) {
+ } else if (!(d->compositionModeStatus & QDirectFBPaintEnginePrivate::PorterDuff_SupportedBlits)
+ || (d->transformationType & QDirectFBPaintEnginePrivate::Matrix_BlitsUnsupported)
+ || d->clipType == QDirectFBPaintEnginePrivate::ComplexClip) {
RASTERFALLBACK(DRAW_PIXMAP, r, pixmap.size(), sr);
const QImage *img = static_cast<QDirectFBPixmapData*>(pixmap.pixmapData())->buffer(DSLF_READ);
d->lock();
@@ -602,7 +554,8 @@ void QDirectFBPaintEngine::drawPixmap(const QRectF &r, const QPixmap &pixmap,
QDirectFBPixmapData *dfbData = static_cast<QDirectFBPixmapData*>(data);
dfbData->unlockDirectFB();
IDirectFBSurface *s = dfbData->directFBSurface();
- d->blit(r, s, sr);
+
+ CLIPPED_PAINT(d->blit(r, s, sr));
}
}
@@ -613,30 +566,27 @@ void QDirectFBPaintEngine::drawPixmap(const QPointF &p, const QPixmap &pm)
void QDirectFBPaintEngine::drawTiledPixmap(const QRectF &r,
const QPixmap &pixmap,
- const QPointF &sp)
+ const QPointF &offset)
{
Q_D(QDirectFBPaintEngine);
d->updateClip();
if (pixmap.pixmapData()->classId() != QPixmapData::DirectFBClass) {
- RASTERFALLBACK(DRAW_TILED_PIXMAP, r, pixmap.size(), sp);
+ RASTERFALLBACK(DRAW_TILED_PIXMAP, r, pixmap.size(), offset);
d->lock();
- QRasterPaintEngine::drawTiledPixmap(r, pixmap, sp);
- } else if (d->unsupportedCompositionMode || !d->dfbCanHandleClip(r) || d->matrixRotShear || !sp.isNull()
- || d->scale == QDirectFBPaintEnginePrivate::NegativeScale) {
- RASTERFALLBACK(DRAW_TILED_PIXMAP, r, pixmap.size(), sp);
+ QRasterPaintEngine::drawTiledPixmap(r, pixmap, offset);
+ } else if (!(d->compositionModeStatus & QDirectFBPaintEnginePrivate::PorterDuff_SupportedBlits)
+ || (d->transformationType & QDirectFBPaintEnginePrivate::Matrix_BlitsUnsupported)
+ || d->clipType == QDirectFBPaintEnginePrivate::ComplexClip) {
+ RASTERFALLBACK(DRAW_TILED_PIXMAP, r, pixmap.size(), offset);
const QImage *img = static_cast<QDirectFBPixmapData*>(pixmap.pixmapData())->buffer(DSLF_READ);
d->lock();
QRasterPixmapData *data = new QRasterPixmapData(QPixmapData::PixmapType);
data->fromImage(*img, Qt::AutoColor);
const QPixmap pix(data);
- QRasterPaintEngine::drawTiledPixmap(r, pix, sp);
+ QRasterPaintEngine::drawTiledPixmap(r, pix, offset);
} else {
d->unlock();
- QPixmapData *data = pixmap.pixmapData();
- Q_ASSERT(data->classId() == QPixmapData::DirectFBClass);
- QDirectFBPixmapData *dfbData = static_cast<QDirectFBPixmapData*>(data);
- dfbData->unlockDirectFB();
- d->drawTiledPixmap(r, pixmap);
+ d->drawTiledPixmap(r, pixmap, offset);
}
}
@@ -710,6 +660,8 @@ void QDirectFBPaintEngine::drawTextItem(const QPointF &p,
void QDirectFBPaintEngine::fill(const QVectorPath &path, const QBrush &brush)
{
+ if (brush.style() == Qt::NoBrush)
+ return;
RASTERFALLBACK(FILL_PATH, path, brush, VOID_ARG());
Q_D(QDirectFBPaintEngine);
d->lock();
@@ -720,27 +672,38 @@ void QDirectFBPaintEngine::fill(const QVectorPath &path, const QBrush &brush)
void QDirectFBPaintEngine::fillRect(const QRectF &rect, const QBrush &brush)
{
Q_D(QDirectFBPaintEngine);
+ if (brush.style() == Qt::NoBrush)
+ return;
d->updateClip();
- if (!d->unsupportedCompositionMode && d->dfbCanHandleClip(rect) && !d->matrixRotShear) {
+ if (d->clipType != QDirectFBPaintEnginePrivate::ComplexClip) {
switch (brush.style()) {
case Qt::SolidPattern: {
+ if (!(d->compositionModeStatus & QDirectFBPaintEnginePrivate::PorterDuff_SupportedPrimitives)
+ || (d->transformationType & QDirectFBPaintEnginePrivate::Matrix_RectsUnsupported)) {
+ break;
+ }
const QColor color = brush.color();
if (!color.isValid())
return;
d->unlock();
d->setDFBColor(color);
- const QRect r = d->transform.mapRect(rect).toRect();
- d->surface->FillRectangle(d->surface, r.x(), r.y(),
- r.width(), r.height());
+ const QRect r = state()->matrix.mapRect(rect).toRect();
+ CLIPPED_PAINT(d->surface->FillRectangle(d->surface, r.x(), r.y(), r.width(), r.height()));
return; }
- case Qt::TexturePattern:
- if (state()->brushOrigin == QPointF() && brush.transform().isIdentity()) {
- //could handle certain types of brush.transform() E.g. scale
- d->unlock();
- d->drawTiledPixmap(rect, brush.texture());
- return;
+
+ case Qt::TexturePattern: {
+ if (!(d->compositionModeStatus & QDirectFBPaintEnginePrivate::PorterDuff_SupportedBlits)
+ || (d->transformationType & QDirectFBPaintEnginePrivate::Matrix_BlitsUnsupported)) {
+ break;
}
- break;
+
+ const QPixmap texture = brush.texture();
+ if (texture.pixmapData()->classId() != QPixmapData::DirectFBClass)
+ break;
+
+ d->unlock();
+ CLIPPED_PAINT(d->drawTiledPixmap(rect, texture, rect.topLeft() - state()->brushOrigin));
+ return; }
default:
break;
}
@@ -756,51 +719,21 @@ void QDirectFBPaintEngine::fillRect(const QRectF &rect, const QColor &color)
return;
Q_D(QDirectFBPaintEngine);
d->updateClip();
- if (d->unsupportedCompositionMode || !d->dfbCanHandleClip() || d->matrixRotShear) {
+ if (!(d->compositionModeStatus & QDirectFBPaintEnginePrivate::PorterDuff_SupportedPrimitives)
+ || (d->transformationType & QDirectFBPaintEnginePrivate::Matrix_RectsUnsupported)
+ || d->clipType == QDirectFBPaintEnginePrivate::ComplexClip) {
RASTERFALLBACK(FILL_RECT, rect, color, VOID_ARG());
d->lock();
QRasterPaintEngine::fillRect(rect, color);
} else {
d->unlock();
d->setDFBColor(color);
- const QRect r = d->transform.mapRect(rect).toRect();
+ const QRect r = state()->matrix.mapRect(rect).toRect();
d->surface->FillRectangle(d->surface, r.x(), r.y(),
r.width(), r.height());
}
}
-void QDirectFBPaintEngine::drawColorSpans(const QSpan *spans, int count,
- uint color)
-{
- Q_D(QDirectFBPaintEngine);
- color = INV_PREMUL(color);
-
- QVarLengthArray<DFBRegion> lines(count);
- int j = 0;
- for (int i = 0; i < count; ++i) {
- if (spans[i].coverage == 255) {
- lines[j].x1 = spans[i].x;
- lines[j].y1 = spans[i].y;
- lines[j].x2 = spans[i].x + spans[i].len - 1;
- lines[j].y2 = spans[i].y;
- ++j;
- } else {
- DFBSpan span = { spans[i].x, spans[i].len };
- uint c = BYTE_MUL(color, spans[i].coverage);
- // ### how does this play with setDFBColor
- d->surface->SetColor(d->surface,
- qRed(c), qGreen(c), qBlue(c), qAlpha(c));
- d->surface->FillSpans(d->surface, spans[i].y, &span, 1);
- }
- }
- if (j > 0) {
- d->surface->SetColor(d->surface,
- qRed(color), qGreen(color), qBlue(color),
- qAlpha(color));
- d->surface->DrawLines(d->surface, lines.data(), j);
- }
-}
-
void QDirectFBPaintEngine::drawBufferSpan(const uint *buffer, int bufsize,
int x, int y, int length,
uint const_alpha)
@@ -822,9 +755,7 @@ void QDirectFBPaintEngine::initImageCache(int size)
{
Q_ASSERT(size >= 0);
imageCache.setMaxCost(size);
- typedef void (*_qt_image_cleanup_hook_64)(qint64);
- extern Q_GUI_EXPORT _qt_image_cleanup_hook_64 qt_image_cleanup_hook_64;
- qt_image_cleanup_hook_64 = ::cachedImageCleanupHook;
+ QImagePixmapCleanupHooks::instance()->addImageHook(cachedImageCleanupHook);
}
#endif // QT_DIRECTFB_IMAGECACHE
@@ -834,13 +765,11 @@ void QDirectFBPaintEngine::initImageCache(int size)
QDirectFBPaintEnginePrivate::QDirectFBPaintEnginePrivate(QDirectFBPaintEngine *p)
: surface(0), antialiased(false), simplePen(false),
- matrixRotShear(false), scale(NoScale), lastLockedHeight(-1),
- fbWidth(-1), fbHeight(-1), opacity(255), dirtyClip(true),
- dfbHandledClip(false), dfbDevice(0), lockedMemory(0),
- unsupportedCompositionMode(false), q(p)
+ transformationType(0), opacity(255), dirtyClip(true),
+ clipType(ClipUnset), dfbDevice(0),
+ compositionModeStatus(0), q(p)
{
fb = QDirectFBScreen::instance()->dfb();
- ignoreSystemClip = QDirectFBScreen::instance()->directFBFlags() & QDirectFBScreen::IgnoreSystemClip;
surfaceCache = new SurfaceCache;
}
@@ -849,23 +778,6 @@ QDirectFBPaintEnginePrivate::~QDirectFBPaintEnginePrivate()
delete surfaceCache;
}
-bool QDirectFBPaintEnginePrivate::dfbCanHandleClip(const QRect &) const
-{
- // TODO: Check to see if DirectFB can handle the clip for the given rect
- return dfbHandledClip;
-}
-
-bool QDirectFBPaintEnginePrivate::dfbCanHandleClip(const QRectF &) const
-{
- // TODO: Check to see if DirectFB can handle the clip for the given rect
- return dfbHandledClip;
-}
-
-bool QDirectFBPaintEnginePrivate::dfbCanHandleClip() const
-{
- return dfbHandledClip;
-}
-
bool QDirectFBPaintEnginePrivate::isSimpleBrush(const QBrush &brush) const
{
return (brush.style() == Qt::NoBrush) || (brush.style() == Qt::SolidPattern && !antialiased);
@@ -877,12 +789,9 @@ void QDirectFBPaintEnginePrivate::lock()
// lock so we need to call the base implementation of prepare so
// it updates its rasterBuffer to point to the new buffer address.
Q_ASSERT(dfbDevice);
- if (dfbDevice->lockFlags() != (DSLF_WRITE|DSLF_READ)
- || dfbDevice->height() != lastLockedHeight
- || dfbDevice->memory() != lockedMemory) {
+ if (dfbDevice->lockFlags() != (DSLF_WRITE|DSLF_READ)) {
+ dfbDevice->lockDirectFB(DSLF_READ|DSLF_WRITE);
prepare(dfbDevice);
- lastLockedHeight = dfbDevice->height();
- lockedMemory = dfbDevice->memory();
}
}
@@ -890,32 +799,26 @@ void QDirectFBPaintEnginePrivate::unlock()
{
Q_ASSERT(dfbDevice);
dfbDevice->unlockDirectFB();
- lockedMemory = 0;
}
-void QDirectFBPaintEnginePrivate::setTransform(const QTransform &m)
+void QDirectFBPaintEnginePrivate::setTransform(const QTransform &transform)
{
- transform = m;
- matrixRotShear = (transform.m12() != 0 || transform.m21() != 0);
+ transformationType = transform.type();
if (qMin(transform.m11(), transform.m22()) < 0) {
- scale = NegativeScale;
- } else if (transform.m11() != 1 || transform.m22() != 1) {
- scale = Scaled;
- } else {
- scale = NoScale;
+ transformationType |= QDirectFBPaintEnginePrivate::Matrix_NegativeScale;
}
+ setPen(q->state()->pen);
}
-void QDirectFBPaintEnginePrivate::setPen(const QPen &p)
+void QDirectFBPaintEnginePrivate::setPen(const QPen &pen)
{
- pen = p;
if (pen.style() == Qt::NoPen) {
simplePen = true;
} else if (pen.style() == Qt::SolidLine
&& !antialiased
&& pen.brush().style() == Qt::SolidPattern
&& pen.widthF() <= 1.0
- && (scale == NoScale || pen.isCosmetic())) {
+ && (transformationType < QTransform::TxScale || pen.isCosmetic())) {
simplePen = true;
} else {
simplePen = false;
@@ -924,13 +827,53 @@ void QDirectFBPaintEnginePrivate::setPen(const QPen &p)
void QDirectFBPaintEnginePrivate::setCompositionMode(QPainter::CompositionMode mode)
{
- unsupportedCompositionMode = (mode != QPainter::CompositionMode_SourceOver);
-}
-
-
-void QDirectFBPaintEnginePrivate::setOpacity(quint8 op)
-{
- opacity = op;
+ if (!surface)
+ return;
+ compositionModeStatus = PorterDuff_SupportedBlits;
+ switch (mode) {
+ case QPainter::CompositionMode_Clear:
+ surface->SetPorterDuff(surface, DSPD_CLEAR);
+ break;
+ case QPainter::CompositionMode_Source:
+ surface->SetPorterDuff(surface, DSPD_SRC);
+ break;
+ case QPainter::CompositionMode_SourceOver:
+ compositionModeStatus |= PorterDuff_SupportedPrimitives;
+ surface->SetPorterDuff(surface, DSPD_SRC_OVER);
+ break;
+ case QPainter::CompositionMode_DestinationOver:
+ surface->SetPorterDuff(surface, DSPD_DST_OVER);
+ break;
+ case QPainter::CompositionMode_SourceIn:
+ surface->SetPorterDuff(surface, DSPD_SRC_IN);
+ break;
+ case QPainter::CompositionMode_DestinationIn:
+ surface->SetPorterDuff(surface, DSPD_DST_IN);
+ break;
+ case QPainter::CompositionMode_SourceOut:
+ surface->SetPorterDuff(surface, DSPD_SRC_OUT);
+ break;
+ case QPainter::CompositionMode_DestinationOut:
+ surface->SetPorterDuff(surface, DSPD_DST_OUT);
+ break;
+#if (Q_DIRECTFB_VERSION >= 0x010000)
+ case QPainter::CompositionMode_SourceAtop:
+ surface->SetPorterDuff(surface, DSPD_SRC_ATOP);
+ break;
+ case QPainter::CompositionMode_DestinationAtop:
+ surface->SetPorterDuff(surface, DSPD_DST_ATOP);
+ break;
+ case QPainter::CompositionMode_Plus:
+ surface->SetPorterDuff(surface, DSPD_ADD);
+ break;
+#endif
+ case QPainter::CompositionMode_Xor:
+ surface->SetPorterDuff(surface, DSPD_XOR);
+ break;
+ default:
+ compositionModeStatus = 0;
+ break;
+ }
}
void QDirectFBPaintEnginePrivate::setRenderHints(QPainter::RenderHints hints)
@@ -952,6 +895,13 @@ void QDirectFBPaintEnginePrivate::prepareForBlit(bool alpha)
surface->SetBlittingFlags(surface, DFBSurfaceBlittingFlags(blittingFlags));
}
+static inline uint ALPHA_MUL(uint x, uint a)
+{
+ uint t = x * a;
+ t = ((t + (t >> 8) + 0x80) >> 8) & 0xff;
+ return t;
+}
+
void QDirectFBPaintEnginePrivate::setDFBColor(const QColor &color)
{
Q_ASSERT(surface);
@@ -962,67 +912,6 @@ void QDirectFBPaintEnginePrivate::setDFBColor(const QColor &color)
surface->SetDrawingFlags(surface, alpha == 255 ? DSDRAW_NOFX : DSDRAW_BLEND);
}
-void QDirectFBPaintEnginePrivate::drawLines(const QLine *lines, int n)
-{
- for (int i = 0; i < n; ++i) {
- const QLine l = transform.map(lines[i]);
- surface->DrawLine(surface, l.x1(), l.y1(), l.x2(), l.y2());
- }
-}
-
-void QDirectFBPaintEnginePrivate::drawLines(const QLineF *lines, int n)
-{
- for (int i = 0; i < n; ++i) {
- const QLine l = transform.map(lines[i]).toLine();
- surface->DrawLine(surface, l.x1(), l.y1(), l.x2(), l.y2());
- }
-}
-
-void QDirectFBPaintEnginePrivate::fillRegion(const QRegion &region)
-{
- Q_ASSERT(isSimpleBrush(q->state()->brush));
- setDFBColor(q->state()->brush.color());
- const QVector<QRect> rects = region.rects();
- const int n = rects.size();
- fillRects(rects.constData(), n);
-}
-
-void QDirectFBPaintEnginePrivate::fillRects(const QRect *rects, int n)
-{
- for (int i = 0; i < n; ++i) {
- const QRect r = transform.mapRect(rects[i]);
- surface->FillRectangle(surface, r.x(), r.y(),
- r.width(), r.height());
- }
-}
-
-void QDirectFBPaintEnginePrivate::fillRects(const QRectF *rects, int n)
-{
- for (int i = 0; i < n; ++i) {
- const QRect r = transform.mapRect(rects[i]).toRect();
- surface->FillRectangle(surface, r.x(), r.y(),
- r.width(), r.height());
- }
-}
-
-void QDirectFBPaintEnginePrivate::drawRects(const QRect *rects, int n)
-{
- for (int i = 0; i < n; ++i) {
- const QRect r = transform.mapRect(rects[i]);
- surface->DrawRectangle(surface, r.x(), r.y(),
- r.width() + 1, r.height() + 1);
- }
-}
-
-void QDirectFBPaintEnginePrivate::drawRects(const QRectF *rects, int n)
-{
- for (int i = 0; i < n; ++i) {
- const QRect r = transform.mapRect(rects[i]).toRect();
- surface->DrawRectangle(surface, r.x(), r.y(),
- r.width() + 1, r.height() + 1);
- }
-}
-
IDirectFBSurface *QDirectFBPaintEnginePrivate::getSurface(const QImage &img, bool *release)
{
#ifndef QT_DIRECTFB_IMAGECACHE
@@ -1061,7 +950,7 @@ IDirectFBSurface *QDirectFBPaintEnginePrivate::getSurface(const QImage &img, boo
void QDirectFBPaintEnginePrivate::blit(const QRectF &dest, IDirectFBSurface *s, const QRectF &src)
{
const QRect sr = src.toRect();
- const QRect dr = transform.mapRect(dest).toRect();
+ const QRect dr = q->state()->matrix.mapRect(dest).toRect();
if (dr.isEmpty())
return;
const DFBRectangle sRect = { sr.x(), sr.y(), sr.width(), sr.height() };
@@ -1077,55 +966,107 @@ void QDirectFBPaintEnginePrivate::blit(const QRectF &dest, IDirectFBSurface *s,
DirectFBError("QDirectFBPaintEngine::drawPixmap()", result);
}
-void QDirectFBPaintEnginePrivate::drawTiledPixmap(const QRectF &dest,
- const QPixmap &pixmap)
+static inline qreal fixCoord(qreal rect_pos, qreal pixmapSize, qreal offset)
+{
+ qreal pos = rect_pos - offset;
+ while (pos > rect_pos)
+ pos -= pixmapSize;
+ while (pos + pixmapSize < rect_pos)
+ pos += pixmapSize;
+ return pos;
+}
+
+void QDirectFBPaintEnginePrivate::drawTiledPixmap(const QRectF &dest, const QPixmap &pixmap, const QPointF &off)
{
+ Q_ASSERT(!dirtyClip);
+ Q_ASSERT(!(transformationType & Matrix_BlitsUnsupported));
+ const QTransform &transform = q->state()->matrix;
+ const QRect destinationRect = transform.mapRect(dest).toRect().normalized();
+ QRect newClip = destinationRect;
+ if (!currentClip.isEmpty())
+ newClip &= currentClip;
+
+ if (newClip.isNull())
+ return;
+
+ const DFBRegion clip = {
+ newClip.x(),
+ newClip.y(),
+ newClip.right(),
+ newClip.bottom()
+ };
+ surface->SetClip(surface, &clip);
+
+ QPointF offset = off;
+ Q_ASSERT(transform.type() <= QTransform::TxScale);
prepareForBlit(pixmap.hasAlphaChannel());
QPixmapData *data = pixmap.pixmapData();
Q_ASSERT(data->classId() == QPixmapData::DirectFBClass);
QDirectFBPixmapData *dfbData = static_cast<QDirectFBPixmapData*>(data);
- IDirectFBSurface *s = dfbData->directFBSurface();
- const QRect dr = transform.mapRect(dest).toRect();
- DFBResult result = DFB_OK;
-
- if (scale == NoScale && dr == QRect(0, 0, fbWidth, fbHeight)) {
- result = surface->TileBlit(surface, s, 0, 0, 0);
- } else if (scale == NoScale) {
- const int dx = pixmap.width();
- const int dy = pixmap.height();
- const DFBRectangle rect = { 0, 0, dx, dy };
- QVarLengthArray<DFBRectangle> rects;
- QVarLengthArray<DFBPoint> points;
-
- for (int y = dr.y(); y <= dr.bottom(); y += dy) {
- for (int x = dr.x(); x <= dr.right(); x += dx) {
- rects.append(rect);
- const DFBPoint point = { x, y };
- points.append(point);
+ dfbData->unlockDirectFB();
+ const QSize pixmapSize = dfbData->size();
+ IDirectFBSurface *sourceSurface = dfbData->directFBSurface();
+ if (transform.isScaling()) {
+ Q_ASSERT(qMin(transform.m11(), transform.m22()) >= 0);
+ offset.rx() *= transform.m11();
+ offset.ry() *= transform.m22();
+
+ const QSizeF mappedSize(pixmapSize.width() * transform.m11(), pixmapSize.height() * transform.m22());
+ qreal y = ::fixCoord(destinationRect.y(), mappedSize.height(), offset.y());
+ const qreal startX = ::fixCoord(destinationRect.x(), mappedSize.width(), offset.x());
+ while (y <= destinationRect.bottom()) {
+ qreal x = startX;
+ while (x <= destinationRect.right()) {
+ const DFBRectangle destination = { qRound(x), qRound(y), mappedSize.width(), mappedSize.height() };
+ surface->StretchBlit(surface, sourceSurface, 0, &destination);
+ x += mappedSize.width();
}
+ y += mappedSize.height();
}
- result = surface->BatchBlit(surface, s, rects.constData(),
- points.constData(), points.size());
} else {
- const QRect sr = transform.mapRect(QRect(0, 0, pixmap.width(), pixmap.height()));
- const int dx = sr.width();
- const int dy = sr.height();
- const DFBRectangle sRect = { 0, 0, dx, dy };
-
- for (int y = dr.y(); y <= dr.bottom(); y += dy) {
- for (int x = dr.x(); x <= dr.right(); x += dx) {
- const DFBRectangle dRect = { x, y, dx, dy };
- result = surface->StretchBlit(surface, s, &sRect, &dRect);
- if (result != DFB_OK) {
- y = dr.bottom() + 1;
- break;
- }
+ qreal y = ::fixCoord(destinationRect.y(), pixmapSize.height(), offset.y());
+ const qreal startX = ::fixCoord(destinationRect.x(), pixmapSize.width(), offset.x());
+ int horizontal = qMax(1, destinationRect.width() / pixmapSize.width()) + 1;
+ if (startX != destinationRect.x())
+ ++horizontal;
+ int vertical = qMax(1, destinationRect.height() / pixmapSize.height()) + 1;
+ if (y != destinationRect.y())
+ ++vertical;
+
+ const int maxCount = (vertical * horizontal);
+ QVarLengthArray<DFBRectangle, 16> sourceRects(maxCount);
+ QVarLengthArray<DFBPoint, 16> points(maxCount);
+
+ int i = 0;
+ while (y <= destinationRect.bottom()) {
+ Q_ASSERT(i < maxCount);
+ qreal x = startX;
+ while (x <= destinationRect.right()) {
+ points[i].x = qRound(x);
+ points[i].y = qRound(y);
+ sourceRects[i].x = 0;
+ sourceRects[i].y = 0;
+ sourceRects[i].w = int(pixmapSize.width());
+ sourceRects[i].h = int(pixmapSize.height());
+ x += pixmapSize.width();
+ ++i;
}
+ y += pixmapSize.height();
}
+ surface->BatchBlit(surface, sourceSurface, sourceRects.constData(), points.constData(), i);
}
- if (result != DFB_OK)
- DirectFBError("QDirectFBPaintEngine::drawTiledPixmap()", result);
+ if (currentClip.isEmpty()) {
+ surface->SetClip(surface, 0);
+ } else {
+ const DFBRegion clip = {
+ currentClip.x(),
+ currentClip.y(),
+ currentClip.right(),
+ currentClip.bottom()
+ };
+ surface->SetClip(surface, &clip);
+ }
}
void QDirectFBPaintEnginePrivate::updateClip()
@@ -1133,23 +1074,26 @@ void QDirectFBPaintEnginePrivate::updateClip()
if (!dirtyClip)
return;
+ currentClip = QRect();
const QClipData *clipData = clip();
if (!clipData || !clipData->enabled) {
surface->SetClip(surface, NULL);
- dfbHandledClip = true;
+ clipType = NoClip;
} else if (clipData->hasRectClip) {
const DFBRegion r = {
clipData->clipRect.x(),
clipData->clipRect.y(),
- clipData->clipRect.x() + clipData->clipRect.width(),
- clipData->clipRect.y() + clipData->clipRect.height()
+ clipData->clipRect.right(),
+ clipData->clipRect.bottom()
};
surface->SetClip(surface, &r);
- dfbHandledClip = true;
- } else if (clipData->hasRegionClip && ignoreSystemClip && clipData->clipRegion == systemClip) {
- dfbHandledClip = true;
+ currentClip = clipData->clipRect.normalized();
+ // ### is this guaranteed to always be normalized?
+ clipType = RectClip;
+ } else if (clipData->hasRegionClip) {
+ clipType = RegionClip;
} else {
- dfbHandledClip = false;
+ clipType = ComplexClip;
}
dirtyClip = false;
@@ -1161,4 +1105,125 @@ void QDirectFBPaintEnginePrivate::systemStateChanged()
QRasterPaintEnginePrivate::systemStateChanged();
}
+IDirectFBSurface *SurfaceCache::getSurface(const uint *buf, int size)
+{
+ if (buffer == buf && bufsize == size)
+ return surface;
+
+ clear();
+
+ const DFBSurfaceDescription description = QDirectFBScreen::getSurfaceDescription(buf, size);
+ surface = QDirectFBScreen::instance()->createDFBSurface(description, QDirectFBScreen::TrackSurface);
+ if (!surface)
+ qWarning("QDirectFBPaintEngine: SurfaceCache: Unable to create surface");
+
+ buffer = const_cast<uint*>(buf);
+ bufsize = size;
+
+ return surface;
+}
+
+void SurfaceCache::clear()
+{
+ if (surface && QDirectFBScreen::instance())
+ QDirectFBScreen::instance()->releaseDFBSurface(surface);
+ surface = 0;
+ buffer = 0;
+ bufsize = 0;
+}
+
+
+static inline QRect mapRect(const QTransform &transform, const QRect &rect) { return transform.mapRect(rect); }
+static inline QRect mapRect(const QTransform &transform, const QRectF &rect) { return transform.mapRect(rect).toRect(); }
+static inline QLine map(const QTransform &transform, const QLine &line) { return transform.map(line); }
+static inline QLine map(const QTransform &transform, const QLineF &line) { return transform.map(line).toLine(); }
+template <class T>
+static inline void drawLines(const T *lines, int n, const QTransform &transform, IDirectFBSurface *surface)
+{
+ if (n == 1) {
+ const QLine l = ::map(transform, lines[0]);
+ surface->DrawLine(surface, l.x1(), l.y1(), l.x2(), l.y2());
+ } else {
+ QVarLengthArray<DFBRegion, 32> lineArray(n);
+ for (int i=0; i<n; ++i) {
+ const QLine l = ::map(transform, lines[i]);
+ lineArray[i].x1 = l.x1();
+ lineArray[i].y1 = l.y1();
+ lineArray[i].x2 = l.x2();
+ lineArray[i].y2 = l.y2();
+ }
+ surface->DrawLines(surface, lineArray.constData(), n);
+ }
+}
+
+template <class T>
+static inline void fillRects(const T *rects, int n, const QTransform &transform, IDirectFBSurface *surface)
+{
+ if (n == 1) {
+ const QRect r = ::mapRect(transform, rects[0]);
+ surface->FillRectangle(surface, r.x(), r.y(), r.width(), r.height());
+ } else {
+ QVarLengthArray<DFBRectangle, 32> rectArray(n);
+ for (int i=0; i<n; ++i) {
+ const QRect r = ::mapRect(transform, rects[i]);
+ rectArray[i].x = r.x();
+ rectArray[i].y = r.y();
+ rectArray[i].w = r.width();
+ rectArray[i].h = r.height();
+ }
+ surface->FillRectangles(surface, rectArray.constData(), n);
+ }
+}
+
+template <class T>
+static inline void drawRects(const T *rects, int n, const QTransform &transform, IDirectFBSurface *surface)
+{
+ for (int i=0; i<n; ++i) {
+ const QRect r = ::mapRect(transform, rects[i]);
+ surface->DrawRectangle(surface, r.x(), r.y(), r.width(), r.height());
+ }
+}
+
+#ifdef QT_DIRECTFB_WARN_ON_RASTERFALLBACKS
+template <typename T> inline const T *ptr(const T &t) { return &t; }
+template <> inline const bool* ptr<bool>(const bool &) { return 0; }
+template <typename device, typename T1, typename T2, typename T3>
+static void rasterFallbackWarn(const char *msg, const char *func, const device *dev,
+ uint transformationType, bool simplePen,
+ uint clipType, uint compositionModeStatus,
+ const char *nameOne, const T1 &one,
+ const char *nameTwo, const T2 &two,
+ const char *nameThree, const T3 &three)
+{
+ QString out;
+ QDebug dbg(&out);
+ dbg << msg << (QByteArray(func) + "()") << "painting on";
+ if (dev->devType() == QInternal::Widget) {
+ dbg << static_cast<const QWidget*>(dev);
+ } else {
+ dbg << dev << "of type" << dev->devType();
+ }
+
+ dbg << QString("transformationType 0x%1").arg(transformationType, 3, 16, QLatin1Char('0'))
+ << "simplePen" << simplePen
+ << "clipType" << clipType
+ << "compositionModeStatus" << compositionModeStatus;
+
+ const T1 *t1 = ptr(one);
+ const T2 *t2 = ptr(two);
+ const T3 *t3 = ptr(three);
+
+ if (t1) {
+ dbg << nameOne << *t1;
+ if (t2) {
+ dbg << nameTwo << *t2;
+ if (t3) {
+ dbg << nameThree << *t3;
+ }
+ }
+ }
+ qWarning("%s", qPrintable(out));
+}
+
+#endif // QT_DIRECTFB_WARN_ON_RASTERFALLBACKS
#endif // QT_NO_DIRECTFB
diff --git a/src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.h b/src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.h
index 6df0c0a..6148b14 100644
--- a/src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.h
+++ b/src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.h
@@ -53,46 +53,43 @@ class QDirectFBPaintEnginePrivate;
class QDirectFBPaintEngine : public QRasterPaintEngine
{
- Q_DECLARE_SCOPED_PRIVATE(QDirectFBPaintEngine)
+ Q_DECLARE_PRIVATE(QDirectFBPaintEngine)
public:
QDirectFBPaintEngine(QPaintDevice *device);
- ~QDirectFBPaintEngine();
+ virtual ~QDirectFBPaintEngine();
- bool begin(QPaintDevice *device);
- bool end();
+ virtual bool begin(QPaintDevice *device);
+ virtual bool end();
- void drawRects(const QRect *rects, int rectCount);
- void drawRects(const QRectF *rects, int rectCount);
+ virtual void drawRects(const QRect *rects, int rectCount);
+ virtual void drawRects(const QRectF *rects, int rectCount);
- void fillRect(const QRectF &r, const QBrush &brush);
- void fillRect(const QRectF &r, const QColor &color);
+ virtual void fillRect(const QRectF &r, const QBrush &brush);
+ virtual void fillRect(const QRectF &r, const QColor &color);
- void drawLines(const QLine *line, int lineCount);
- void drawLines(const QLineF *line, int lineCount);
+ virtual void drawLines(const QLine *line, int lineCount);
+ virtual void drawLines(const QLineF *line, int lineCount);
- void drawImage(const QPointF &p, const QImage &img);
- void drawImage(const QRectF &r, const QImage &pm, const QRectF &sr,
- Qt::ImageConversionFlags falgs = Qt::AutoColor);
+ virtual void drawImage(const QPointF &p, const QImage &img);
+ virtual void drawImage(const QRectF &r, const QImage &pm, const QRectF &sr,
+ Qt::ImageConversionFlags falgs = Qt::AutoColor);
- void drawPixmap(const QPointF &p, const QPixmap &pm);
- void drawPixmap(const QRectF &r, const QPixmap &pixmap, const QRectF &sr);
- void drawTiledPixmap(const QRectF &r, const QPixmap &pm, const QPointF &sr);
+ virtual void drawPixmap(const QPointF &p, const QPixmap &pm);
+ virtual void drawPixmap(const QRectF &r, const QPixmap &pixmap, const QRectF &sr);
+ virtual void drawTiledPixmap(const QRectF &r, const QPixmap &pm, const QPointF &sr);
- void drawColorSpans(const QSpan *spans, int count, uint color);
- void drawBufferSpan(const uint *buffer, int bufsize,
- int x, int y, int length, uint const_alpha);
+ virtual void drawBufferSpan(const uint *buffer, int bufsize,
+ int x, int y, int length, uint const_alpha);
-
- // The following methods simply lock the surface & call the base implementation
- void stroke(const QVectorPath &path, const QPen &pen);
- void drawPath(const QPainterPath &path);
- void drawPoints(const QPointF *points, int pointCount);
- void drawPoints(const QPoint *points, int pointCount);
- void drawEllipse(const QRectF &rect);
- void drawPolygon(const QPointF *points, int pointCount, PolygonDrawMode mode);
- void drawPolygon(const QPoint *points, int pointCount, PolygonDrawMode mode);
- void drawTextItem(const QPointF &p, const QTextItem &textItem);
- void fill(const QVectorPath &path, const QBrush &brush);
+ virtual void stroke(const QVectorPath &path, const QPen &pen);
+ virtual void drawPath(const QPainterPath &path);
+ virtual void drawPoints(const QPointF *points, int pointCount);
+ virtual void drawPoints(const QPoint *points, int pointCount);
+ virtual void drawEllipse(const QRectF &rect);
+ virtual void drawPolygon(const QPointF *points, int pointCount, PolygonDrawMode mode);
+ virtual void drawPolygon(const QPoint *points, int pointCount, PolygonDrawMode mode);
+ virtual void drawTextItem(const QPointF &p, const QTextItem &textItem);
+ virtual void fill(const QVectorPath &path, const QBrush &brush);
virtual void clipEnabledChanged();
virtual void penChanged();
diff --git a/src/plugins/gfxdrivers/directfb/qdirectfbpixmap.cpp b/src/plugins/gfxdrivers/directfb/qdirectfbpixmap.cpp
index c9d5d7c..bedd9e5 100644
--- a/src/plugins/gfxdrivers/directfb/qdirectfbpixmap.cpp
+++ b/src/plugins/gfxdrivers/directfb/qdirectfbpixmap.cpp
@@ -49,9 +49,9 @@
static int global_ser_no = 0;
-QDirectFBPixmapData::QDirectFBPixmapData(PixelType pixelType)
- : QPixmapData(pixelType, DirectFBClass),
- engine(0), format(QImage::Format_Invalid), alpha(false)
+QDirectFBPixmapData::QDirectFBPixmapData(QDirectFBScreen *screen, PixelType pixelType)
+ : QPixmapData(pixelType, DirectFBClass), QDirectFBPaintDevice(screen),
+ format(QImage::Format_Invalid), alpha(false)
{
setSerialNumber(0);
}
@@ -61,7 +61,6 @@ QDirectFBPixmapData::~QDirectFBPixmapData()
unlockDirectFB();
if (dfbSurface && QDirectFBScreen::instance())
screen->releaseDFBSurface(dfbSurface);
- delete engine;
}
void QDirectFBPixmapData::resize(int width, int height)
@@ -304,7 +303,7 @@ QPixmap QDirectFBPixmapData::transformed(const QTransform &transform,
Q_ASSERT(image);
const QImage transformed = image->transformed(transform, mode);
that->unlockDirectFB();
- QDirectFBPixmapData *data = new QDirectFBPixmapData(QPixmapData::PixmapType);
+ QDirectFBPixmapData *data = new QDirectFBPixmapData(screen, QPixmapData::PixmapType);
data->fromImage(transformed, Qt::AutoColor);
return QPixmap(data);
}
@@ -314,7 +313,7 @@ QPixmap QDirectFBPixmapData::transformed(const QTransform &transform,
if (size.isEmpty())
return QPixmap();
- QDirectFBPixmapData *data = new QDirectFBPixmapData(QPixmapData::PixmapType);
+ QDirectFBPixmapData *data = new QDirectFBPixmapData(screen, QPixmapData::PixmapType);
DFBSurfaceBlittingFlags flags = DSBLIT_NOFX;
data->alpha = alpha;
if (alpha) {
@@ -345,6 +344,10 @@ QImage QDirectFBPixmapData::toImage() const
if (!dfbSurface)
return QImage();
+#if 0
+ // In later versions of DirectFB one can set a flag to tell
+ // DirectFB not to move the surface to videomemory. When that
+ // happens we can use this (hopefully faster) codepath
#ifndef QT_NO_DIRECTFB_PREALLOCATED
QImage ret(w, h, QDirectFBScreen::getImageFormat(dfbSurface));
if (IDirectFBSurface *imgSurface = screen->createDFBSurface(ret, QDirectFBScreen::DontTrackSurface)) {
@@ -362,12 +365,15 @@ QImage QDirectFBPixmapData::toImage() const
return ret;
}
#endif
+#endif
QDirectFBPixmapData *that = const_cast<QDirectFBPixmapData*>(this);
const QImage *img = that->buffer();
return img->copy();
}
+/* This is QPixmapData::paintEngine(), not QPaintDevice::paintEngine() */
+
QPaintEngine *QDirectFBPixmapData::paintEngine() const
{
if (!engine) {
@@ -385,7 +391,7 @@ QImage *QDirectFBPixmapData::buffer()
return lockedImage;
}
-QImage * QDirectFBPixmapData::buffer(uint lockFlags)
+QImage * QDirectFBPixmapData::buffer(DFBSurfaceLockFlags lockFlags)
{
lockDirectFB(lockFlags);
return lockedImage;
diff --git a/src/plugins/gfxdrivers/directfb/qdirectfbpixmap.h b/src/plugins/gfxdrivers/directfb/qdirectfbpixmap.h
index e81aef4..df3c679 100644
--- a/src/plugins/gfxdrivers/directfb/qdirectfbpixmap.h
+++ b/src/plugins/gfxdrivers/directfb/qdirectfbpixmap.h
@@ -56,7 +56,7 @@ class QDirectFBPaintEngine;
class QDirectFBPixmapData : public QPixmapData, public QDirectFBPaintDevice
{
public:
- QDirectFBPixmapData(PixelType pixelType);
+ QDirectFBPixmapData(QDirectFBScreen *screen, PixelType pixelType);
~QDirectFBPixmapData();
// Re-implemented from QPixmapData:
@@ -71,7 +71,7 @@ public:
virtual QImage *buffer();
virtual int metric(QPaintDevice::PaintDeviceMetric m) const {return QDirectFBPaintDevice::metric(m);}
- QImage *buffer(uint lockFlags);
+ QImage *buffer(DFBSurfaceLockFlags lockFlags);
// Pure virtual in QPixmapData, so re-implement here and delegate to QDirectFBPaintDevice
inline QImage::Format pixelFormat() const { return format; }
@@ -79,7 +79,6 @@ public:
inline bool hasAlphaChannel() const { return alpha; }
private:
void invalidate();
- QDirectFBPaintEngine *engine;
QImage::Format format;
bool alpha;
};
diff --git a/src/plugins/gfxdrivers/directfb/qdirectfbscreen.cpp b/src/plugins/gfxdrivers/directfb/qdirectfbscreen.cpp
index 76064ad..4f8fa2f 100644
--- a/src/plugins/gfxdrivers/directfb/qdirectfbscreen.cpp
+++ b/src/plugins/gfxdrivers/directfb/qdirectfbscreen.cpp
@@ -57,7 +57,7 @@
class QDirectFBScreenPrivate : public QObject, public QWSGraphicsSystem
{
public:
- QDirectFBScreenPrivate(QDirectFBScreen*);
+ QDirectFBScreenPrivate(QDirectFBScreen *qptr);
~QDirectFBScreenPrivate();
void setFlipFlags(const QStringList &args);
@@ -70,7 +70,6 @@ public:
IDirectFBDisplayLayer *dfbLayer;
#endif
IDirectFBScreen *dfbScreen;
- QRegion prevExpose;
QSet<IDirectFBSurface*> allocatedSurfaces;
@@ -82,10 +81,12 @@ public:
#endif
QDirectFBScreen::DirectFBFlags directFBFlags;
QImage::Format alphaPixmapFormat;
+ QColor backgroundColor;
+ QDirectFBScreen *q;
};
-QDirectFBScreenPrivate::QDirectFBScreenPrivate(QDirectFBScreen *screen)
- : QWSGraphicsSystem(screen), dfb(0), dfbSurface(0), flipFlags(DSFLIP_NONE)
+QDirectFBScreenPrivate::QDirectFBScreenPrivate(QDirectFBScreen *qptr)
+ : QWSGraphicsSystem(qptr), dfb(0), dfbSurface(0), flipFlags(DSFLIP_NONE)
#ifndef QT_NO_DIRECTFB_LAYER
, dfbLayer(0)
#endif
@@ -98,6 +99,7 @@ QDirectFBScreenPrivate::QDirectFBScreenPrivate(QDirectFBScreen *screen)
#endif
, directFBFlags(QDirectFBScreen::NoFlags)
, alphaPixmapFormat(QImage::Format_Invalid)
+ , q(qptr)
{
#ifndef QT_NO_QWS_SIGNALHANDLER
QWSSignalHandler::instance()->addObject(this);
@@ -141,6 +143,7 @@ IDirectFBSurface *QDirectFBScreen::createDFBSurface(const QImage &img, SurfaceCr
{
if (img.isNull()) // assert?
return 0;
+
if (QDirectFBScreen::getSurfacePixelFormat(img.format()) == DSPF_UNKNOWN) {
QImage image = img.convertToFormat(img.hasAlphaChannel()
? d_ptr->alphaPixmapFormat
@@ -208,7 +211,7 @@ IDirectFBSurface *QDirectFBScreen::createDFBSurface(const QSize &size,
{
DFBSurfaceDescription desc;
memset(&desc, 0, sizeof(DFBSurfaceDescription));
- desc.flags = DFBSurfaceDescriptionFlags(DSDESC_WIDTH|DSDESC_HEIGHT);
+ desc.flags |= DSDESC_WIDTH|DSDESC_HEIGHT;
if (!QDirectFBScreen::initSurfaceDescriptionPixelFormat(&desc, format))
return 0;
desc.width = size.width();
@@ -226,13 +229,15 @@ IDirectFBSurface *QDirectFBScreen::createDFBSurface(DFBSurfaceDescription desc,
return 0;
}
- if (d_ptr->directFBFlags & VideoOnly && !(desc.flags & DSDESC_PREALLOCATED)) {
+ if (d_ptr->directFBFlags & VideoOnly
+ && !(desc.flags & DSDESC_PREALLOCATED)
+ && (!(desc.flags & DSDESC_CAPS) || !(desc.caps & DSCAPS_SYSTEMONLY))) {
// Add the video only capability. This means the surface will be created in video ram
if (!(desc.flags & DSDESC_CAPS)) {
desc.caps = DSCAPS_VIDEOONLY;
- desc.flags = DFBSurfaceDescriptionFlags(desc.flags | DSDESC_CAPS);
+ desc.flags |= DSDESC_CAPS;
} else {
- desc.caps = DFBSurfaceCapabilities(desc.caps | DSCAPS_VIDEOONLY);
+ desc.caps |= DSCAPS_VIDEOONLY;
}
result = d_ptr->dfb->CreateSurface(d_ptr->dfb, &desc, &newSurface);
if (result != DFB_OK
@@ -247,11 +252,11 @@ IDirectFBSurface *QDirectFBScreen::createDFBSurface(DFBSurfaceDescription desc,
desc.preallocated[0].data, desc.preallocated[0].pitch,
DirectFBErrorString(result));
}
- desc.caps = DFBSurfaceCapabilities(desc.caps & ~DSCAPS_VIDEOONLY);
+ desc.caps &= ~DSCAPS_VIDEOONLY;
}
if (d_ptr->directFBFlags & SystemOnly)
- desc.caps = DFBSurfaceCapabilities(desc.caps | DSCAPS_SYSTEMONLY);
+ desc.caps |= DSCAPS_SYSTEMONLY;
if (!newSurface)
result = d_ptr->dfb->CreateSurface(d_ptr->dfb, &desc, &newSurface);
@@ -319,10 +324,10 @@ IDirectFBSurface *QDirectFBScreen::copyToDFBSurface(const QImage &img,
DFBResult result = dfbSurface->Blit(dfbSurface, imgSurface, 0, 0, 0);
if (result != DFB_OK)
DirectFBError("QDirectFBScreen::copyToDFBSurface()", result);
+ imgSurface->Release(imgSurface);
#if (Q_DIRECTFB_VERSION >= 0x010000)
dfbSurface->ReleaseSource(dfbSurface);
#endif
- imgSurface->Release(imgSurface);
#else // QT_NO_DIRECTFB_PREALLOCATED
Q_ASSERT(image.format() == pixmapFormat);
int bpl;
@@ -459,20 +464,16 @@ DFBSurfaceDescription QDirectFBScreen::getSurfaceDescription(const QImage &image
const DFBSurfacePixelFormat format = getSurfacePixelFormat(image.format());
if (format == DSPF_UNKNOWN || image.isNull()) {
- description.flags = DFBSurfaceDescriptionFlags(0);
+ description.flags = DSDESC_NONE;
return description;
}
- description.flags = DFBSurfaceDescriptionFlags(DSDESC_WIDTH
- | DSDESC_HEIGHT
-#ifndef QT_NO_DIRECTFB_PREALLOCATED
- | DSDESC_PREALLOCATED
-#endif
- | DSDESC_PIXELFORMAT);
+ description.flags = DSDESC_WIDTH|DSDESC_HEIGHT|DSDESC_PIXELFORMAT;
QDirectFBScreen::initSurfaceDescriptionPixelFormat(&description, image.format());
description.width = image.width();
description.height = image.height();
#ifndef QT_NO_DIRECTFB_PREALLOCATED
+ description.flags |= DSDESC_PREALLOCATED;
description.preallocated[0].data = (void*)(image.bits());
description.preallocated[0].pitch = image.bytesPerLine();
description.preallocated[1].data = 0;
@@ -491,11 +492,7 @@ DFBSurfaceDescription QDirectFBScreen::getSurfaceDescription(const uint *buffer,
DFBSurfaceDescription description;
memset(&description, 0, sizeof(DFBSurfaceDescription));
- description.flags = DFBSurfaceDescriptionFlags(DSDESC_CAPS
- | DSDESC_WIDTH
- | DSDESC_HEIGHT
- | DSDESC_PIXELFORMAT
- | DSDESC_PREALLOCATED);
+ description.flags = DSDESC_CAPS|DSDESC_WIDTH|DSDESC_HEIGHT|DSDESC_PIXELFORMAT|DSDESC_PREALLOCATED;
description.caps = DSCAPS_PREMULTIPLIED;
description.width = length;
description.height = 1;
@@ -504,8 +501,7 @@ DFBSurfaceDescription QDirectFBScreen::getSurfaceDescription(const uint *buffer,
description.preallocated[0].pitch = length * sizeof(uint);
description.preallocated[1].data = 0;
description.preallocated[1].pitch = 0;
-
- return description;
+return description;
}
#ifndef QT_NO_DIRECTFB_PALETTE
@@ -727,19 +723,19 @@ void QDirectFBScreenPrivate::setFlipFlags(const QStringList &args)
flipFlags = DSFLIP_NONE;
foreach(const QString &flip, flips) {
if (flip == QLatin1String("wait"))
- flipFlags = DFBSurfaceFlipFlags(flipFlags | DSFLIP_WAIT);
+ flipFlags |= DSFLIP_WAIT;
else if (flip == QLatin1String("blit"))
- flipFlags = DFBSurfaceFlipFlags(flipFlags | DSFLIP_BLIT);
+ flipFlags |= DSFLIP_BLIT;
else if (flip == QLatin1String("onsync"))
- flipFlags = DFBSurfaceFlipFlags(flipFlags | DSFLIP_ONSYNC);
+ flipFlags |= DSFLIP_ONSYNC;
else if (flip == QLatin1String("pipeline"))
- flipFlags = DFBSurfaceFlipFlags(flipFlags | DSFLIP_PIPELINE);
+ flipFlags |= DSFLIP_PIPELINE;
else
qWarning("QDirectFBScreen: Unknown flip argument: %s",
qPrintable(flip));
}
} else {
- flipFlags = DFBSurfaceFlipFlags(DSFLIP_BLIT);
+ flipFlags = DSFLIP_BLIT;
}
}
@@ -748,10 +744,16 @@ QPixmapData *QDirectFBScreenPrivate::createPixmapData(QPixmapData::PixelType typ
if (type == QPixmapData::BitmapType)
return QWSGraphicsSystem::createPixmapData(type);
- return new QDirectFBPixmapData(type);
+ return new QDirectFBPixmapData(q, type);
}
-#ifndef QT_NO_DEBUG
+#if (Q_DIRECTFB_VERSION >= 0x000923)
+#ifdef QT_NO_DEBUG
+struct FlagDescription;
+static const FlagDescription *accelerationDescriptions = 0;
+static const FlagDescription *blitDescriptions = 0;
+static const FlagDescription *drawDescriptions = 0;
+#else
struct FlagDescription {
const char *name;
uint flag;
@@ -803,9 +805,6 @@ static const FlagDescription drawDescriptions[] = {
};
#endif
-
-
-#if (Q_DIRECTFB_VERSION >= 0x000923)
static const QByteArray flagDescriptions(uint mask, const FlagDescription *flags)
{
#ifdef QT_NO_DEBUG
@@ -917,9 +916,6 @@ bool QDirectFBScreen::connect(const QString &displaySpec)
QDirectFBPaintEngine::initImageCache(imageCacheSize);
#endif
- if (displayArgs.contains(QLatin1String("ignoresystemclip"), Qt::CaseInsensitive))
- d_ptr->directFBFlags |= IgnoreSystemClip;
-
#ifndef QT_NO_DIRECTFB_WM
if (displayArgs.contains(QLatin1String("fullscreen")))
#endif
@@ -928,13 +924,13 @@ bool QDirectFBScreen::connect(const QString &displaySpec)
DFBSurfaceDescription description;
memset(&description, 0, sizeof(DFBSurfaceDescription));
- description.flags = DFBSurfaceDescriptionFlags(DSDESC_CAPS);
+ description.flags = DSDESC_CAPS;
if (::setIntOption(displayArgs, QLatin1String("width"), &description.width))
- description.flags = DFBSurfaceDescriptionFlags(description.flags | DSDESC_WIDTH);
+ description.flags |= DSDESC_WIDTH;
if (::setIntOption(displayArgs, QLatin1String("height"), &description.height))
- description.flags = DFBSurfaceDescriptionFlags(description.flags | DSDESC_HEIGHT);
+ description.flags |= DSDESC_HEIGHT;
- uint caps = DSCAPS_PRIMARY|DSCAPS_DOUBLE;
+ description.caps = DSCAPS_PRIMARY|DSCAPS_DOUBLE;
struct {
const char *name;
const DFBSurfaceCapabilities cap;
@@ -948,14 +944,13 @@ bool QDirectFBScreen::connect(const QString &displaySpec)
};
for (int i=0; capabilities[i].name; ++i) {
if (displayArgs.contains(QString::fromLatin1(capabilities[i].name), Qt::CaseInsensitive))
- caps |= capabilities[i].cap;
+ description.caps |= capabilities[i].cap;
}
if (displayArgs.contains(QLatin1String("forcepremultiplied"), Qt::CaseInsensitive)) {
- caps |= DSCAPS_PREMULTIPLIED;
+ description.caps |= DSCAPS_PREMULTIPLIED;
}
- description.caps = DFBSurfaceCapabilities(caps);
// We don't track the primary surface as it's released in disconnect
d_ptr->dfbSurface = createDFBSurface(description, DontTrackSurface);
if (!d_ptr->dfbSurface) {
@@ -1050,6 +1045,14 @@ bool QDirectFBScreen::connect(const QString &displaySpec)
printDirectFBInfo(d_ptr->dfb, d_ptr->dfbSurface);
#endif
+ QRegExp backgroundColorRegExp("bgcolor=?(.+)");
+ backgroundColorRegExp.setCaseSensitivity(Qt::CaseInsensitive);
+ if (displayArgs.indexOf(backgroundColorRegExp) != -1) {
+ d_ptr->backgroundColor.setNamedColor(backgroundColorRegExp.cap(1));
+ }
+ if (!d_ptr->backgroundColor.isValid())
+ d_ptr->backgroundColor = Qt::green;
+
return true;
}
@@ -1090,7 +1093,7 @@ bool QDirectFBScreen::initDevice()
#endif
#ifndef QT_NO_QWS_CURSOR
-#ifdef QT_NO_DIRECTFB_LAYER
+#if defined QT_NO_DIRECTFB_WM || defined QT_NO_DIRECTFB_LAYER
QScreenCursor::initSoftwareCursor();
#else
qt_screencursor = new QDirectFBScreenCursor;
@@ -1148,203 +1151,134 @@ QWSWindowSurface *QDirectFBScreen::createSurface(const QString &key) const
return QScreen::createSurface(key);
}
-void QDirectFBScreen::compose(const QRegion &region)
-{
- const QList<QWSWindow*> windows = QWSServer::instance()->clientWindows();
-
- QRegion blitRegion = region;
- QRegion blendRegion;
-
- d_ptr->dfbSurface->SetBlittingFlags(d_ptr->dfbSurface, DSBLIT_NOFX);
-
- // blit opaque region
- for (int i = 0; i < windows.size(); ++i) {
- QWSWindow *win = windows.at(i);
- QWSWindowSurface *surface = win->windowSurface();
- if (!surface)
- continue;
-
- const QRegion r = win->allocatedRegion() & blitRegion;
- if (r.isEmpty())
- continue;
-
- blitRegion -= r;
-
- if (surface->isRegionReserved()) {
- // nothing
- } else if (win->isOpaque()) {
- const QPoint offset = win->requestedRegion().boundingRect().topLeft();
-
- if (surface->key() == QLatin1String("directfb")) {
- QDirectFBWindowSurface *s = static_cast<QDirectFBWindowSurface*>(surface);
- blit(s->directFBSurface(), offset, r);
- } else {
- blit(surface->image(), offset, r);
- }
- } else {
- blendRegion += r;
- }
- if (blitRegion.isEmpty())
- break;
- }
-
- { // fill background
- const QRegion fill = blitRegion + blendRegion;
- if (!fill.isEmpty()) {
- const QColor color = QWSServer::instance()->backgroundBrush().color();
- solidFill(color, fill);
- blitRegion = QRegion();
- }
- }
-
- if (blendRegion.isEmpty())
- return;
-
- // blend non-opaque region
- for (int i = windows.size() - 1; i >= 0; --i) {
- QWSWindow *win = windows.at(i);
- QWSWindowSurface *surface = win->windowSurface();
- if (!surface)
- continue;
-
- const QRegion r = win->allocatedRegion() & blendRegion;
- if (r.isEmpty())
- continue;
-
- DFBSurfaceBlittingFlags flags = DSBLIT_NOFX;
- if (!win->isOpaque()) {
- flags = DFBSurfaceBlittingFlags(flags | DSBLIT_BLEND_ALPHACHANNEL);
- const uint opacity = win->opacity();
- if (opacity < 255) {
- flags = DFBSurfaceBlittingFlags(flags | DSBLIT_BLEND_COLORALPHA);
- d_ptr->dfbSurface->SetColor(d_ptr->dfbSurface, 0xff, 0xff, 0xff, opacity);
- }
- }
- d_ptr->dfbSurface->SetBlittingFlags(d_ptr->dfbSurface, flags);
-
- const QPoint offset = win->requestedRegion().boundingRect().topLeft();
-
- if (surface->key() == QLatin1String("directfb")) {
- QDirectFBWindowSurface *s = static_cast<QDirectFBWindowSurface*>(surface);
- blit(s->directFBSurface(), offset, r);
- } else {
- blit(surface->image(), offset, r);
- }
- }
-#if (Q_DIRECTFB_VERSION >= 0x010000)
- d_ptr->dfbSurface->ReleaseSource(d_ptr->dfbSurface);
-#endif
-}
-
// Normally, when using DirectFB to compose the windows (I.e. when
// QT_NO_DIRECTFB_WM isn't set), exposeRegion will simply return. If
// QT_NO_DIRECTFB_WM is set, exposeRegion will compose only non-directFB
// window surfaces. Normal, directFB surfaces are handled by DirectFB.
+static inline bool needExposeRegion()
+{
+#ifdef QT_NO_DIRECTFB_WM
+ return true;
+#endif
+#ifdef QT_NO_DIRECTFB_LAYER
+#ifndef QT_NO_QWS_CURSOR
+ return true;
+#endif
+#endif
+ return false;
+}
+
void QDirectFBScreen::exposeRegion(QRegion r, int changing)
{
+ if (!needExposeRegion()) {
+ return;
+ }
+
const QList<QWSWindow*> windows = QWSServer::instance()->clientWindows();
if (changing < 0 || changing >= windows.size())
return;
-#ifndef QT_NO_DIRECTFB_WM
+
QWSWindow *win = windows.at(changing);
QWSWindowSurface *s = win->windowSurface();
- if (s && s->key() == QLatin1String("directfb"))
- return;
-#endif
-
r &= region();
if (r.isEmpty())
return;
- if (d_ptr->flipFlags & DSFLIP_BLIT) {
- const QRect brect = r.boundingRect();
- DFBRegion dfbRegion = { brect.left(), brect.top(),
- brect.right(), brect.bottom() };
- compose(r);
- d_ptr->dfbSurface->Flip(d_ptr->dfbSurface, &dfbRegion,
- d_ptr->flipFlags);
+ const QRect brect = r.boundingRect();
+
+ if (!s) {
+ solidFill(d_ptr->backgroundColor, r);
} else {
- compose(r + d_ptr->prevExpose);
- d_ptr->dfbSurface->Flip(d_ptr->dfbSurface, 0, d_ptr->flipFlags);
+ const QRect windowGeometry = s->geometry();
+ const QRegion outsideWindow = r.subtracted(windowGeometry);
+ if (!outsideWindow.isEmpty()) {
+ solidFill(d_ptr->backgroundColor, outsideWindow);
+ }
+ const QRegion insideWindow = r.intersected(windowGeometry);
+ if (!insideWindow.isEmpty()) {
+ QDirectFBWindowSurface *dfbWindowSurface = (s->key() == QLatin1String("directfb"))
+ ? static_cast<QDirectFBWindowSurface*>(s) : 0;
+ if (dfbWindowSurface) {
+ IDirectFBSurface *surface = dfbWindowSurface->directFBSurface();
+ const int n = insideWindow.numRects();
+ if (n == 1 || d_ptr->directFBFlags & BoundingRectFlip) {
+ const QRect source = (insideWindow.boundingRect().intersected(windowGeometry)).translated(-windowGeometry.topLeft());
+ const DFBRectangle rect = {
+ source.x(), source.y(), source.width(), source.height()
+ };
+ d_ptr->dfbSurface->Blit(d_ptr->dfbSurface, surface, &rect,
+ windowGeometry.x() + source.x(),
+ windowGeometry.y() + source.y());
+ } else {
+ const QVector<QRect> rects = insideWindow.rects();
+ QVarLengthArray<DFBRectangle, 16> dfbRectangles(n);
+ QVarLengthArray<DFBPoint, 16> dfbPoints(n);
+
+ for (int i=0; i<n; ++i) {
+ const QRect source = (rects.at(i).intersected(windowGeometry)).translated(-windowGeometry.topLeft());
+ DFBRectangle &rect = dfbRectangles[i];
+ rect.x = source.x();
+ rect.y = source.y();
+ rect.w = source.width();
+ rect.h = source.height();
+ dfbPoints[i].x = (windowGeometry.x() + source.x());
+ dfbPoints[i].y = (windowGeometry.y() + source.y());
+ }
+ d_ptr->dfbSurface->BatchBlit(d_ptr->dfbSurface, surface, dfbRectangles.constData(),
+ dfbPoints.constData(), n);
+ }
+ }
+ }
}
- d_ptr->prevExpose = r;
-}
-
-void QDirectFBScreen::blit(const QImage &img, const QPoint &topLeft,
- const QRegion &reg)
-{
- IDirectFBSurface *src = createDFBSurface(img, QDirectFBScreen::DontTrackSurface);
- if (!src) {
- qWarning("QDirectFBScreen::blit(): Error creating surface");
- return;
- }
- blit(src, topLeft, reg);
+ if (QScreenCursor *cursor = QScreenCursor::instance()) {
+ const QRect cursorRectangle = cursor->boundingRect();
+ if (cursor->isVisible() && !cursor->isAccelerated() && cursorRectangle.intersects(brect)) {
+ const QImage image = cursor->image();
+ IDirectFBSurface *surface = createDFBSurface(image, QDirectFBScreen::DontTrackSurface);
+ d_ptr->dfbSurface->SetBlittingFlags(d_ptr->dfbSurface, DSBLIT_BLEND_ALPHACHANNEL);
+ d_ptr->dfbSurface->Blit(d_ptr->dfbSurface, surface, 0, cursorRectangle.x(), cursorRectangle.y());
+ surface->Release(surface);
#if (Q_DIRECTFB_VERSION >= 0x010000)
- d_ptr->dfbSurface->ReleaseSource(d_ptr->dfbSurface);
+ d_ptr->dfbSurface->ReleaseSource(d_ptr->dfbSurface);
#endif
- src->Release(src);
-}
-
-void QDirectFBScreen::blit(IDirectFBSurface *src, const QPoint &topLeft,
- const QRegion &region)
-{
- const QVector<QRect> rs = region.translated(-offset()).rects();
- const int size = rs.size();
- const QPoint tl = topLeft - offset();
-
- QVarLengthArray<DFBRectangle> rects(size);
- QVarLengthArray<DFBPoint> points(size);
-
- int n = 0;
- for (int i = 0; i < size; ++i) {
- const QRect r = rs.at(i);
- if (!r.isValid())
- continue;
- rects[n].x = r.x() - tl.x();
- rects[n].y = r.y() - tl.y();
- rects[n].w = r.width();
- rects[n].h = r.height();
- points[n].x = r.x();
- points[n].y = r.y();
- ++n;
+ }
}
-
- d_ptr->dfbSurface->BatchBlit(d_ptr->dfbSurface, src, rects.data(),
- points.data(), n);
+ flipSurface(d_ptr->dfbSurface, d_ptr->flipFlags, r, QPoint());
}
-// This function is only ever called by QScreen::drawBackground which
-// is only ever called by QScreen::compose which is never called with
-// DirectFB so it's really a noop.
void QDirectFBScreen::solidFill(const QColor &color, const QRegion &region)
{
if (region.isEmpty())
return;
- if (QDirectFBScreen::getImageFormat(d_ptr->dfbSurface) == QImage::Format_RGB32) {
- data = QDirectFBScreen::lockSurface(d_ptr->dfbSurface, DSLF_WRITE, &lstep);
- if (!data)
- return;
-
- QScreen::solidFill(color, region);
- d_ptr->dfbSurface->Unlock(d_ptr->dfbSurface);
- data = 0;
- lstep = 0;
+ d_ptr->dfbSurface->SetColor(d_ptr->dfbSurface,
+ color.red(), color.green(), color.blue(),
+ color.alpha());
+ const int n = region.numRects();
+ if (n > 1) {
+ const QRect r = region.boundingRect();
+ d_ptr->dfbSurface->FillRectangle(d_ptr->dfbSurface, r.x(), r.y(), r.width(), r.height());
} else {
- d_ptr->dfbSurface->SetColor(d_ptr->dfbSurface,
- color.red(), color.green(), color.blue(),
- color.alpha());
const QVector<QRect> rects = region.rects();
- for (int i=0; i<rects.size(); ++i) {
+ QVarLengthArray<DFBRectangle, 32> rectArray(n);
+ for (int i=0; i<n; ++i) {
const QRect &r = rects.at(i);
- d_ptr->dfbSurface->FillRectangle(d_ptr->dfbSurface,
- r.x(), r.y(), r.width(), r.height());
+ rectArray[i].x = r.x();
+ rectArray[i].y = r.y();
+ rectArray[i].w = r.width();
+ rectArray[i].h = r.height();
}
+ d_ptr->dfbSurface->FillRectangles(d_ptr->dfbSurface, rectArray.constData(), n);
}
}
+void QDirectFBScreen::erase(const QRegion &region)
+{
+ solidFill(d_ptr->backgroundColor, region);
+}
+
QImage::Format QDirectFBScreen::alphaPixmapFormat() const
{
return d_ptr->alphaPixmapFormat;
@@ -1356,14 +1290,14 @@ bool QDirectFBScreen::initSurfaceDescriptionPixelFormat(DFBSurfaceDescription *d
const DFBSurfacePixelFormat pixelformat = QDirectFBScreen::getSurfacePixelFormat(format);
if (pixelformat == DSPF_UNKNOWN)
return false;
- description->flags = DFBSurfaceDescriptionFlags(description->flags | DSDESC_PIXELFORMAT);
+ description->flags |= DSDESC_PIXELFORMAT;
description->pixelformat = pixelformat;
if (QDirectFBScreen::isPremultiplied(format)) {
if (!(description->flags & DSDESC_CAPS)) {
description->caps = DSCAPS_PREMULTIPLIED;
- description->flags = DFBSurfaceDescriptionFlags(description->flags | DSDESC_CAPS);
+ description->flags |= DSDESC_CAPS;
} else {
- description->caps = DFBSurfaceCapabilities(description->caps | DSCAPS_PREMULTIPLIED);
+ description->caps |= DSCAPS_PREMULTIPLIED;
}
}
return true;
@@ -1380,3 +1314,31 @@ uchar *QDirectFBScreen::lockSurface(IDirectFBSurface *surface, uint flags, int *
return reinterpret_cast<uchar*>(mem);
}
+
+void QDirectFBScreen::flipSurface(IDirectFBSurface *surface, DFBSurfaceFlipFlags flipFlags,
+ const QRegion &region, const QPoint &offset)
+{
+ if (!(flipFlags & DSFLIP_BLIT)) {
+ surface->Flip(surface, 0, flipFlags);
+ } else {
+ if (!(d_ptr->directFBFlags & BoundingRectFlip) && region.numRects() > 1) {
+ const QVector<QRect> rects = region.rects();
+ const DFBSurfaceFlipFlags nonWaitFlags = flipFlags & ~DSFLIP_WAIT;
+ for (int i=0; i<rects.size(); ++i) {
+ const QRect &r = rects.at(i);
+ const DFBRegion dfbReg = { r.x() + offset.x(), r.y() + offset.y(),
+ r.right() + offset.x(),
+ r.bottom() + offset.y() };
+ surface->Flip(surface, &dfbReg, i + 1 < rects.size() ? nonWaitFlags : flipFlags);
+ }
+ } else {
+ const QRect r = region.boundingRect();
+ const DFBRegion dfbReg = { r.x() + offset.x(), r.y() + offset.y(),
+ r.right() + offset.x(),
+ r.bottom() + offset.y() };
+ surface->Flip(surface, &dfbReg, flipFlags);
+ }
+ }
+}
+
+
diff --git a/src/plugins/gfxdrivers/directfb/qdirectfbscreen.h b/src/plugins/gfxdrivers/directfb/qdirectfbscreen.h
index 4239156..8884a06 100644
--- a/src/plugins/gfxdrivers/directfb/qdirectfbscreen.h
+++ b/src/plugins/gfxdrivers/directfb/qdirectfbscreen.h
@@ -44,6 +44,7 @@
#include <QtGui/qscreen_qws.h>
#include <directfb.h>
+#include <directfb_version.h>
QT_BEGIN_HEADER
@@ -51,8 +52,23 @@ QT_MODULE(Gui)
#define Q_DIRECTFB_VERSION ((DIRECTFB_MAJOR_VERSION << 16) | (DIRECTFB_MINOR_VERION << 8) | DIRECTFB_MICRO_VERSION)
-class QDirectFBScreenPrivate;
+#define DIRECTFB_DECLARE_OPERATORS_FOR_FLAGS(F) \
+ static inline F operator~(F f) { return F(~int(f)); } \
+ static inline F operator&(F left, F right) { return F(int(left) & int(right)); } \
+ static inline F operator|(F left, F right) { return F(int(left) | int(right)); } \
+ static inline F &operator|=(F &left, F right) { left = (left | right); return left; } \
+ static inline F &operator&=(F &left, F right) { left = (left & right); return left; }
+
+DIRECTFB_DECLARE_OPERATORS_FOR_FLAGS(DFBInputDeviceCapabilities);
+DIRECTFB_DECLARE_OPERATORS_FOR_FLAGS(DFBWindowDescriptionFlags);
+DIRECTFB_DECLARE_OPERATORS_FOR_FLAGS(DFBSurfaceDescriptionFlags);
+DIRECTFB_DECLARE_OPERATORS_FOR_FLAGS(DFBSurfaceCapabilities);
+DIRECTFB_DECLARE_OPERATORS_FOR_FLAGS(DFBSurfaceLockFlags);
+DIRECTFB_DECLARE_OPERATORS_FOR_FLAGS(DFBSurfaceBlittingFlags);
+DIRECTFB_DECLARE_OPERATORS_FOR_FLAGS(DFBSurfaceDrawingFlags);
+DIRECTFB_DECLARE_OPERATORS_FOR_FLAGS(DFBSurfaceFlipFlags);
+class QDirectFBScreenPrivate;
class Q_GUI_EXPORT QDirectFBScreen : public QScreen
{
public:
@@ -63,8 +79,7 @@ public:
NoFlags = 0x00,
VideoOnly = 0x01,
SystemOnly = 0x02,
- IgnoreSystemClip = 0x04,
- BoundingRectFlip = 0x08
+ BoundingRectFlip = 0x04
};
Q_DECLARE_FLAGS(DirectFBFlags, DirectFBFlag);
@@ -77,7 +92,6 @@ public:
void shutdownDevice();
void exposeRegion(QRegion r, int changing);
- void blit(const QImage &img, const QPoint &topLeft, const QRegion &region);
void scroll(const QRegion &region, const QPoint &offset);
void solidFill(const QColor &color, const QRegion &region);
@@ -114,9 +128,12 @@ public:
QImage::Format format,
SurfaceCreationOptions options);
IDirectFBSurface *copyToDFBSurface(const QImage &image,
- QImage::Format format,
- SurfaceCreationOptions options);
+ QImage::Format format,
+ SurfaceCreationOptions options);
+ void flipSurface(IDirectFBSurface *surface, DFBSurfaceFlipFlags flipFlags,
+ const QRegion &region, const QPoint &offset);
void releaseDFBSurface(IDirectFBSurface *surface);
+ void erase(const QRegion &region);
using QScreen::depth;
static int depth(DFBSurfacePixelFormat format);
@@ -138,14 +155,9 @@ public:
#endif
static uchar *lockSurface(IDirectFBSurface *surface, uint flags, int *bpl = 0);
-
private:
IDirectFBSurface *createDFBSurface(DFBSurfaceDescription desc,
SurfaceCreationOptions options);
- void compose(const QRegion &r);
- void blit(IDirectFBSurface *src, const QPoint &topLeft,
- const QRegion &region);
-
QDirectFBScreenPrivate *d_ptr;
friend class SurfaceCache;
};
diff --git a/src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp b/src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp
index 86ee62c..34168bc 100644
--- a/src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp
+++ b/src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp
@@ -44,10 +44,10 @@
#include "qdirectfbpaintengine.h"
#include <qwidget.h>
+#include <qwindowsystem_qws.h>
#include <qpaintdevice.h>
#include <qvarlengtharray.h>
-
//#define QT_DIRECTFB_DEBUG_SURFACES 1
QDirectFBWindowSurface::QDirectFBWindowSurface(DFBSurfaceFlipFlags flip, QDirectFBScreen *scr)
@@ -55,10 +55,15 @@ QDirectFBWindowSurface::QDirectFBWindowSurface(DFBSurfaceFlipFlags flip, QDirect
#ifndef QT_NO_DIRECTFB_WM
, dfbWindow(0)
#endif
- , engine(0)
+ , engineHeight(-1)
, flipFlags(flip)
, boundingRectFlip(scr->directFBFlags() & QDirectFBScreen::BoundingRectFlip)
{
+#ifdef QT_NO_DIRECTFB_WM
+ mode = Offscreen;
+#else
+ mode = Window;
+#endif
setSurfaceFlags(Opaque | Buffered);
#ifdef QT_DIRECTFB_TIMING
frames = 0;
@@ -71,15 +76,21 @@ QDirectFBWindowSurface::QDirectFBWindowSurface(DFBSurfaceFlipFlags flip, QDirect
#ifndef QT_NO_DIRECTFB_WM
, dfbWindow(0)
#endif
- , engine(0)
+ , engineHeight(-1)
, flipFlags(flip)
, boundingRectFlip(scr->directFBFlags() & QDirectFBScreen::BoundingRectFlip)
{
- onscreen = widget->testAttribute(Qt::WA_PaintOnScreen);
- if (onscreen)
+ if (widget && widget->testAttribute(Qt::WA_PaintOnScreen)) {
setSurfaceFlags(Opaque | RegionReserved);
- else
+ mode = Primary;
+ } else {
+#ifdef QT_NO_DIRECTFB_WM
+ mode = Offscreen;
+#else
+ mode = Window;
+#endif
setSurfaceFlags(Opaque | Buffered);
+ }
#ifdef QT_DIRECTFB_TIMING
frames = 0;
timer.start();
@@ -99,25 +110,23 @@ bool QDirectFBWindowSurface::isValid() const
void QDirectFBWindowSurface::createWindow()
{
#ifdef QT_NO_DIRECTFB_LAYER
-#warning QT_NO_DIRECTFB_LAYER requires QT_NO_DIRECTFB_WM
+#error QT_NO_DIRECTFB_LAYER requires QT_NO_DIRECTFB_WM
#else
IDirectFBDisplayLayer *layer = screen->dfbDisplayLayer();
if (!layer)
qFatal("QDirectFBWindowSurface: Unable to get primary display layer!");
DFBWindowDescription description;
- description.caps = DFBWindowCapabilities(DWCAPS_NODECORATION);
- description.flags = DFBWindowDescriptionFlags(DWDESC_CAPS
- |DWDESC_SURFACE_CAPS
- |DWDESC_PIXELFORMAT);
+ description.caps = DWCAPS_NODECORATION;
+ description.flags = DWDESC_CAPS|DWDESC_SURFACE_CAPS|DWDESC_PIXELFORMAT;
description.surface_caps = DSCAPS_NONE;
if (screen->directFBFlags() & QDirectFBScreen::VideoOnly)
- description.surface_caps = DFBSurfaceCapabilities(description.surface_caps|DSCAPS_VIDEOONLY);
+ description.surface_caps |= DSCAPS_VIDEOONLY;
const QImage::Format format = screen->pixelFormat();
description.pixelformat = QDirectFBScreen::getSurfacePixelFormat(format);
if (QDirectFBScreen::isPremultiplied(format))
- description.surface_caps = DFBSurfaceCapabilities(DSCAPS_PREMULTIPLIED|description.caps);
+ description.surface_caps = DSCAPS_PREMULTIPLIED;
DFBResult result = layer->CreateWindow(layer, &description, &dfbWindow);
if (result != DFB_OK)
@@ -131,8 +140,40 @@ void QDirectFBWindowSurface::createWindow()
}
#endif // QT_NO_DIRECTFB_WM
-void QDirectFBWindowSurface::setGeometry(const QRect &rect, const QRegion &mask)
+#ifndef QT_NO_DIRECTFB_WM
+static DFBResult setGeometry(IDirectFBWindow *dfbWindow, const QRect &old, const QRect &rect)
+{
+ DFBResult result = DFB_OK;
+ const bool isMove = old.isEmpty() || rect.topLeft() != old.topLeft();
+ const bool isResize = rect.size() != old.size();
+
+#if (Q_DIRECTFB_VERSION >= 0x010000)
+ if (isResize && isMove) {
+ result = dfbWindow->SetBounds(dfbWindow, rect.x(), rect.y(),
+ rect.width(), rect.height());
+ } else if (isResize) {
+ result = dfbWindow->Resize(dfbWindow,
+ rect.width(), rect.height());
+ } else if (isMove) {
+ result = dfbWindow->MoveTo(dfbWindow, rect.x(), rect.y());
+ }
+#else
+ if (isResize) {
+ result = dfbWindow->Resize(dfbWindow,
+ rect.width(), rect.height());
+ }
+ if (isMove) {
+ result = dfbWindow->MoveTo(dfbWindow, rect.x(), rect.y());
+ }
+#endif
+ return result;
+}
+#endif
+
+void QDirectFBWindowSurface::setGeometry(const QRect &rect)
{
+ IDirectFBSurface *primarySurface = screen->dfbSurface();
+ Q_ASSERT(primarySurface);
if (rect.isNull()) {
#ifndef QT_NO_DIRECTFB_WM
if (dfbWindow) {
@@ -140,22 +181,21 @@ void QDirectFBWindowSurface::setGeometry(const QRect &rect, const QRegion &mask)
dfbWindow = 0;
}
#endif
- if (dfbSurface && dfbSurface != screen->dfbSurface()) {
- dfbSurface->Release(dfbSurface);
+ if (dfbSurface) {
+ if (dfbSurface != primarySurface) {
+ dfbSurface->Release(dfbSurface);
+ }
dfbSurface = 0;
}
} else if (rect != geometry()) {
+ const QRect oldRect = geometry();
DFBResult result = DFB_OK;
-
// If we're in a resize, the surface shouldn't be locked
Q_ASSERT((lockedImage == 0) || (rect.size() == geometry().size()));
-
- if (onscreen) {
- IDirectFBSurface *primarySurface = screen->dfbSurface();
- Q_ASSERT(primarySurface);
+ switch (mode) {
+ case Primary:
if (dfbSurface && dfbSurface != primarySurface)
dfbSurface->Release(dfbSurface);
-
if (rect == screen->region().boundingRect()) {
dfbSurface = primarySurface;
} else {
@@ -163,58 +203,34 @@ void QDirectFBWindowSurface::setGeometry(const QRect &rect, const QRegion &mask)
rect.width(), rect.height() };
result = primarySurface->GetSubSurface(primarySurface, &r, &dfbSurface);
}
- } else {
- const bool isResize = rect.size() != geometry().size();
-#ifdef QT_NO_DIRECTFB_WM
- if (isResize) {
+ break;
+ case Window:
+#ifndef QT_NO_DIRECTFB_WM
+ if (!dfbWindow)
+ createWindow();
+ ::setGeometry(dfbWindow, oldRect, rect);
+#endif
+ break;
+ case Offscreen: {
+ if (!dfbSurface || oldRect.size() != rect.size()) {
if (dfbSurface)
dfbSurface->Release(dfbSurface);
-
- IDirectFB *dfb = screen->dfb();
- if (!dfb) {
- qFatal("QDirectFBWindowSurface::setGeometry(): "
- "Unable to get DirectFB handle!");
- }
-
dfbSurface = screen->createDFBSurface(rect.size(), screen->pixelFormat(), QDirectFBScreen::DontTrackSurface);
- } else {
- Q_ASSERT(dfbSurface);
- }
-#else
- const QRect oldRect = geometry();
- const bool isMove = oldRect.isEmpty() ||
- rect.topLeft() != oldRect.topLeft();
-
- if (!dfbWindow)
- createWindow();
-
-#if (Q_DIRECTFB_VERSION >= 0x010000)
- if (isResize && isMove) {
- result = dfbWindow->SetBounds(dfbWindow, rect.x(), rect.y(),
- rect.width(), rect.height());
- } else if (isResize) {
- result = dfbWindow->Resize(dfbWindow,
- rect.width(), rect.height());
- } else if (isMove) {
- result = dfbWindow->MoveTo(dfbWindow, rect.x(), rect.y());
}
-#else
- if (isResize) {
- result = dfbWindow->Resize(dfbWindow,
- rect.width(), rect.height());
- }
- if (isMove) {
- result = dfbWindow->MoveTo(dfbWindow, rect.x(), rect.y());
- }
-#endif
-#endif
+ const QRegion region = QRegion(oldRect.isEmpty() ? screen->region() : QRegion(oldRect)).subtracted(rect);
+ screen->erase(region);
+ screen->flipSurface(primarySurface, flipFlags, region, QPoint());
+ break; }
}
if (result != DFB_OK)
DirectFBErrorFatal("QDirectFBWindowSurface::setGeometry()", result);
}
-
- QWSWindowSurface::setGeometry(rect, mask);
+ if (engine) {
+ delete engine;
+ engine = 0;
+ }
+ QWSWindowSurface::setGeometry(rect);
}
QByteArray QDirectFBWindowSurface::permanentState() const
@@ -256,7 +272,6 @@ static inline void scrollSurface(IDirectFBSurface *surface, const QRect &r, int
surface->Blit(surface, surface, &rect, r.x() + dx, r.y() + dy);
}
-
bool QDirectFBWindowSurface::scroll(const QRegion &region, int dx, int dy)
{
if (!dfbSurface || !(flipFlags & DSFLIP_BLIT) || region.isEmpty())
@@ -274,42 +289,10 @@ bool QDirectFBWindowSurface::scroll(const QRegion &region, int dx, int dy)
return true;
}
-bool QDirectFBWindowSurface::move(const QPoint &offset)
-{
- QWSWindowSurface::move(offset);
-
-#ifdef QT_NO_DIRECTFB_WM
- return true; // buffered
-#else
- if (!dfbWindow)
- return false;
-
- DFBResult status = dfbWindow->Move(dfbWindow, offset.x(), offset.y());
- return (status == DFB_OK);
-#endif
-}
-
-QRegion QDirectFBWindowSurface::move(const QPoint &offset, const QRegion &newClip)
-{
-#ifdef QT_NO_DIRECTFB_WM
- return QWSWindowSurface::move(offset, newClip);
-#else
- Q_UNUSED(offset);
- Q_UNUSED(newClip);
-
- // DirectFB handles the entire move, so there's no need to blit.
- return QRegion();
-#endif
-}
-
-QPaintEngine* QDirectFBWindowSurface::paintEngine() const
+bool QDirectFBWindowSurface::move(const QPoint &moveBy)
{
- if (!engine) {
- QDirectFBWindowSurface *that = const_cast<QDirectFBWindowSurface*>(this);
- that->engine = new QDirectFBPaintEngine(that);
- return that->engine;
- }
- return engine;
+ setGeometry(geometry().translated(moveBy));
+ return true;
}
// hw: XXX: copied from QWidgetPrivate::isOpaque()
@@ -335,57 +318,93 @@ inline bool isWidgetOpaque(const QWidget *w)
return false;
}
-void QDirectFBWindowSurface::flush(QWidget *widget, const QRegion &region,
+
+void QDirectFBWindowSurface::flush(QWidget *, const QRegion &region,
const QPoint &offset)
{
- Q_UNUSED(widget);
-#ifdef QT_NO_DIRECTFB_WM
- Q_UNUSED(region);
- Q_UNUSED(offset);
-#endif
-
- QWidget *win = window();
-
// hw: make sure opacity information is updated before compositing
- const bool opaque = isWidgetOpaque(win);
- if (opaque != isOpaque()) {
- SurfaceFlags flags = Buffered;
- if (opaque)
- flags |= Opaque;
- setSurfaceFlags(flags);
- }
+ if (QWidget *win = window()) {
+
+ const bool opaque = isWidgetOpaque(win);
+ if (opaque != isOpaque()) {
+ SurfaceFlags flags = surfaceFlags();
+ if (opaque) {
+ flags |= Opaque;
+ } else {
+ flags &= ~Opaque;
+ }
+ setSurfaceFlags(flags);
+ }
#ifndef QT_NO_DIRECTFB_WM
- const quint8 winOpacity = quint8(win->windowOpacity() * 255);
- quint8 opacity;
+ const quint8 winOpacity = quint8(win->windowOpacity() * 255);
+ quint8 opacity;
- if (dfbWindow) {
- dfbWindow->GetOpacity(dfbWindow, &opacity);
- if (winOpacity != opacity)
- dfbWindow->SetOpacity(dfbWindow, winOpacity);
- }
+ if (dfbWindow) {
+ dfbWindow->GetOpacity(dfbWindow, &opacity);
+ if (winOpacity != opacity)
+ dfbWindow->SetOpacity(dfbWindow, winOpacity);
+ }
#endif
- if (!(flipFlags & DSFLIP_BLIT)) {
- dfbSurface->Flip(dfbSurface, 0, flipFlags);
- } else {
- if (!boundingRectFlip && region.numRects() > 1) {
+ }
+
+ const QRect windowGeometry = QDirectFBWindowSurface::geometry();
+ IDirectFBSurface *primarySurface = screen->dfbSurface();
+ if (mode == Offscreen) {
+ primarySurface->SetBlittingFlags(primarySurface, DSBLIT_NOFX);
+ const QRect windowRect(0, 0, windowGeometry.width(), windowGeometry.height());
+ const int n = region.numRects();
+ if (n == 1 || boundingRectFlip ) {
+ const QRect regionBoundingRect = region.boundingRect().translated(offset);
+ const QRect source = windowRect & regionBoundingRect;
+ const DFBRectangle rect = {
+ source.x(), source.y(), source.width(), source.height()
+ };
+ primarySurface->Blit(primarySurface, dfbSurface, &rect,
+ windowGeometry.x() + source.x(),
+ windowGeometry.y() + source.y());
+ } else {
const QVector<QRect> rects = region.rects();
- const DFBSurfaceFlipFlags nonWaitFlags = DFBSurfaceFlipFlags(flipFlags & ~DSFLIP_WAIT);
- for (int i=0; i<rects.size(); ++i) {
- const QRect &r = rects.at(i);
- const DFBRegion dfbReg = { r.x() + offset.x(), r.y() + offset.y(),
- r.x() + r.width() + offset.x(),
- r.y() + r.height() + offset.y() };
- dfbSurface->Flip(dfbSurface, &dfbReg, i + 1 < rects.size() ? nonWaitFlags : flipFlags);
+ QVarLengthArray<DFBRectangle, 16> dfbRectangles(n);
+ QVarLengthArray<DFBPoint, 16> dfbPoints(n);
+
+ for (int i=0; i<n; ++i) {
+ const QRect &r = rects.at(i).translated(offset);
+ const QRect source = windowRect & r;
+ DFBRectangle &rect = dfbRectangles[i];
+ rect.x = source.x();
+ rect.y = source.y();
+ rect.w = source.width();
+ rect.h = source.height();
+ dfbPoints[i].x = (windowGeometry.x() + source.x());
+ dfbPoints[i].y = (windowGeometry.y() + source.y());
}
- } else {
- const QRect r = region.boundingRect();
- const DFBRegion dfbReg = { r.x() + offset.x(), r.y() + offset.y(),
- r.x() + r.width() + offset.x(),
- r.y() + r.height() + offset.y() };
- dfbSurface->Flip(dfbSurface, &dfbReg, flipFlags);
+ primarySurface->BatchBlit(primarySurface, dfbSurface, dfbRectangles.constData(),
+ dfbPoints.constData(), n);
+ }
+ }
+
+ if (QScreenCursor *cursor = QScreenCursor::instance()) {
+ const QRect cursorRectangle = cursor->boundingRect();
+ if (cursor->isVisible() && !cursor->isAccelerated()
+ && region.intersects(cursorRectangle.translated(-(offset + windowGeometry.topLeft())))) {
+ const QImage image = cursor->image();
+
+ IDirectFBSurface *surface = screen->createDFBSurface(image, QDirectFBScreen::DontTrackSurface);
+ primarySurface->SetBlittingFlags(primarySurface, DSBLIT_BLEND_ALPHACHANNEL);
+ primarySurface->Blit(primarySurface, surface, 0, cursorRectangle.x(), cursorRectangle.y());
+ surface->Release(surface);
+#if (Q_DIRECTFB_VERSION >= 0x010000)
+ primarySurface->ReleaseSource(primarySurface);
+#endif
}
}
+ if (mode == Offscreen) {
+ screen->flipSurface(primarySurface, flipFlags, region, offset + windowGeometry.topLeft());
+ } else {
+ screen->flipSurface(dfbSurface, flipFlags, region, offset);
+ }
+
#ifdef QT_DIRECTFB_TIMING
enum { Secs = 3 };
++frames;
@@ -400,6 +419,12 @@ void QDirectFBWindowSurface::flush(QWidget *widget, const QRegion &region,
void QDirectFBWindowSurface::beginPaint(const QRegion &)
{
+ const int h = height();
+ if (h > engineHeight) {
+ engineHeight = h;
+ delete engine;
+ engine = new QDirectFBPaintEngine(this);
+ }
}
void QDirectFBWindowSurface::endPaint(const QRegion &)
diff --git a/src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.h b/src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.h
index 7885b73..fefe9f3 100644
--- a/src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.h
+++ b/src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.h
@@ -61,13 +61,13 @@ QT_MODULE(Gui)
class QDirectFBWindowSurface : public QWSWindowSurface, public QDirectFBPaintDevice
{
public:
- QDirectFBWindowSurface(DFBSurfaceFlipFlags flipFlags, QDirectFBScreen* scr);
- QDirectFBWindowSurface(DFBSurfaceFlipFlags flipFlags, QDirectFBScreen* scr, QWidget *widget);
+ QDirectFBWindowSurface(DFBSurfaceFlipFlags flipFlags, QDirectFBScreen *scr);
+ QDirectFBWindowSurface(DFBSurfaceFlipFlags flipFlags, QDirectFBScreen *scr, QWidget *widget);
~QDirectFBWindowSurface();
bool isValid() const;
- void setGeometry(const QRect &rect, const QRegion &mask);
+ void setGeometry(const QRect &rect);
QString key() const { return QLatin1String("directfb"); }
QByteArray permanentState() const;
@@ -76,11 +76,9 @@ public:
bool scroll(const QRegion &area, int dx, int dy);
bool move(const QPoint &offset);
- QRegion move(const QPoint &offset, const QRegion &newClip);
QImage image() const { return QImage(); }
QPaintDevice *paintDevice() { return this; }
- QPaintEngine *paintEngine() const;
void flush(QWidget *widget, const QRegion &region, const QPoint &offset);
@@ -88,15 +86,18 @@ public:
void endPaint(const QRegion &);
QImage *buffer(const QWidget *widget);
-
private:
#ifndef QT_NO_DIRECTFB_WM
void createWindow();
IDirectFBWindow *dfbWindow;
#endif
- QDirectFBPaintEngine *engine;
+ int engineHeight;
- bool onscreen;
+ enum Mode {
+ Primary,
+ Offscreen,
+ Window
+ } mode;
QList<QImage*> bufferImages;
DFBSurfaceFlipFlags flipFlags;
diff --git a/src/plugins/graphicssystems/openvg/openvg.pro b/src/plugins/graphicssystems/openvg/openvg.pro
index 0abbfbd..d36570c 100644
--- a/src/plugins/graphicssystems/openvg/openvg.pro
+++ b/src/plugins/graphicssystems/openvg/openvg.pro
@@ -10,11 +10,3 @@ HEADERS = qgraphicssystem_vg_p.h
target.path += $$[QT_INSTALL_PLUGINS]/graphicssystems
INSTALLS += target
-
-!isEmpty(QMAKE_INCDIR_OPENVG): INCLUDEPATH += $$QMAKE_INCDIR_OPENVG
-!isEmpty(QMAKE_LIBDIR_OPENVG): LIBS += -L$$QMAKE_LIBDIR_OPENVG
-!isEmpty(QMAKE_LIBS_OPENVG): LIBS += $$QMAKE_LIBS_OPENVG
-
-!isEmpty(QMAKE_INCDIR_EGL): INCLUDEPATH += $$QMAKE_INCDIR_EGL
-!isEmpty(QMAKE_LIBDIR_EGL): LIBS += -L$$QMAKE_LIBDIR_EGL
-!isEmpty(QMAKE_LIBS_EGL): LIBS += $$QMAKE_LIBS_EGL
diff --git a/src/plugins/graphicssystems/shivavg/shivavg.pro b/src/plugins/graphicssystems/shivavg/shivavg.pro
index 68345af..b8ea12a 100644
--- a/src/plugins/graphicssystems/shivavg/shivavg.pro
+++ b/src/plugins/graphicssystems/shivavg/shivavg.pro
@@ -10,7 +10,3 @@ HEADERS = shivavggraphicssystem.h shivavgwindowsurface.h
target.path += $$[QT_INSTALL_PLUGINS]/graphicssystems
INSTALLS += target
-
-!isEmpty(QMAKE_INCDIR_OPENVG): INCLUDEPATH += $$QMAKE_INCDIR_OPENVG
-!isEmpty(QMAKE_LIBDIR_OPENVG): LIBS += -L$$QMAKE_LIBDIR_OPENVG
-!isEmpty(QMAKE_LIBS_OPENVG): LIBS += $$QMAKE_LIBS_OPENVG
diff --git a/src/plugins/imageformats/ico/qicohandler.cpp b/src/plugins/imageformats/ico/qicohandler.cpp
index 43e35c0..c9e04a4 100644
--- a/src/plugins/imageformats/ico/qicohandler.cpp
+++ b/src/plugins/imageformats/ico/qicohandler.cpp
@@ -522,6 +522,18 @@ QImage ICOReader::iconAt(int index)
ICONDIRENTRY iconEntry;
if (readIconEntry(index, &iconEntry)) {
+ static const uchar pngMagicData[] = { 137, 80, 78, 71, 13, 10, 26, 10 };
+
+ iod->seek(iconEntry.dwImageOffset);
+
+ const QByteArray pngMagic = QByteArray::fromRawData((char*)pngMagicData, sizeof(pngMagicData));
+ const bool isPngImage = (iod->read(pngMagic.size()) == pngMagic);
+
+ if (isPngImage) {
+ iod->seek(iconEntry.dwImageOffset);
+ return QImage::fromData(iod->read(iconEntry.dwBytesInRes), "png");
+ }
+
BMP_INFOHDR header;
if (readBMPHeader(iconEntry.dwImageOffset, &header)) {
icoAttrib.nbits = header.biBitCount ? header.biBitCount : iconEntry.wBitCount;
diff --git a/src/plugins/imageformats/mng/qmnghandler.h b/src/plugins/imageformats/mng/qmnghandler.h
index aa6efd3..b9e37bf 100644
--- a/src/plugins/imageformats/mng/qmnghandler.h
+++ b/src/plugins/imageformats/mng/qmnghandler.h
@@ -74,7 +74,7 @@ class QMngHandler : public QImageIOHandler
virtual bool supportsOption(ImageOption option) const;
private:
- Q_DECLARE_SCOPED_PRIVATE(QMngHandler)
+ Q_DECLARE_PRIVATE(QMngHandler)
QScopedPointer<QMngHandlerPrivate> d_ptr;
};
diff --git a/src/plugins/kbddrivers/kbddrivers.pro b/src/plugins/kbddrivers/kbddrivers.pro
index a34b780..dbab47b 100644
--- a/src/plugins/kbddrivers/kbddrivers.pro
+++ b/src/plugins/kbddrivers/kbddrivers.pro
@@ -1,5 +1,2 @@
TEMPLATE = subdirs
contains(kbd-plugins, linuxinput): SUBDIRS += linuxinput
-contains(kbd-plugins, sl5000): SUBDIRS += sl5000
-contains(kbd-plugins, vr41xx): SUBDIRS += vr41xx
-contains(kbd-plugins, yopy): SUBDIRS += yopy
diff --git a/src/plugins/kbddrivers/sl5000/main.cpp b/src/plugins/kbddrivers/sl5000/main.cpp
deleted file mode 100644
index 4d61266..0000000
--- a/src/plugins/kbddrivers/sl5000/main.cpp
+++ /dev/null
@@ -1,77 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <qkbddriverplugin_qws.h>
-#include <qkbdsl5000_qws.h>
-
-QT_BEGIN_NAMESPACE
-
-class QSL5000KbdDriver : public QKbdDriverPlugin
-{
-public:
- QSL5000KbdDriver();
-
- QStringList keys() const;
- QWSKeyboardHandler* create(const QString &driver, const QString &device);
-};
-
-QSL5000KbdDriver::QSL5000KbdDriver()
- : QKbdDriverPlugin()
-{
-}
-
-QStringList QSL5000KbdDriver::keys() const
-{
- return (QStringList() << QLatin1String("SL5000"));
-}
-
-QWSKeyboardHandler* QSL5000KbdDriver::create(const QString &driver,
- const QString &device)
-{
- Q_UNUSED(device);
- if (driver.compare(QLatin1String("SL5000"), Qt::CaseInsensitive))
- return 0;
- return new QWSSL5000KeyboardHandler(driver);
-}
-
-Q_EXPORT_PLUGIN2(qwssl5000kbddriver, QSL5000KbdDriver)
-
-QT_END_NAMESPACE
diff --git a/src/plugins/kbddrivers/sl5000/sl5000.pro b/src/plugins/kbddrivers/sl5000/sl5000.pro
deleted file mode 100644
index e52cf0d..0000000
--- a/src/plugins/kbddrivers/sl5000/sl5000.pro
+++ /dev/null
@@ -1,16 +0,0 @@
-TARGET = qsl5000kbddriver
-include(../../qpluginbase.pri)
-
-QTDIR_build:DESTDIR = $$QT_BUILD_TREE/plugins/kbddrivers
-target.path = $$[QT_INSTALL_PLUGINS]/kbddrivers
-INSTALLS += target
-
-DEFINES += QT_QWS_KBD_SL5000 QT_QWS_KBD_TTY
-
-HEADERS = $$QT_SOURCE_TREE/src/gui/embedded/qkbdsl5000_qws.h \
- $$QT_SOURCE_TREE/src/gui/embedded/qkbdtty_qws.h
-
-SOURCES = main.cpp \
- $$QT_SOURCE_TREE/src/gui/embedded/qkbdsl5000_qws.cpp \
- $$QT_SOURCE_TREE/src/gui/embedded/qkbdtty_qws.cpp
-
diff --git a/src/plugins/kbddrivers/vr41xx/main.cpp b/src/plugins/kbddrivers/vr41xx/main.cpp
deleted file mode 100644
index 2cba1f7..0000000
--- a/src/plugins/kbddrivers/vr41xx/main.cpp
+++ /dev/null
@@ -1,77 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <qkbddriverplugin_qws.h>
-#include <qkbdvr41xx_qws.h>
-
-QT_BEGIN_NAMESPACE
-
-class QVr41xxKbdDriver : public QKbdDriverPlugin
-{
-public:
- QVr41xxKbdDriver();
-
- QStringList keys() const;
- QWSKeyboardHandler* create(const QString &driver, const QString &device);
-};
-
-QVr41xxKbdDriver::QVr41xxKbdDriver()
- : QKbdDriverPlugin()
-{
-}
-
-QStringList QVr41xxKbdDriver::keys() const
-{
- return (QStringList() << QLatin1String("VR41xx"));
-}
-
-QWSKeyboardHandler* QVr41xxKbdDriver::create(const QString &driver,
- const QString &device)
-{
- Q_UNUSED(device);
- if (driver.compare(QLatin1String("VR41xx"), Qt::CaseInsensitive))
- return 0;
- return new QWSVr41xxKeyboardHandler(driver);
-}
-
-Q_EXPORT_PLUGIN2(qwsvr41xxkbddriver, QVr41xxKbdDriver)
-
-QT_END_NAMESPACE
diff --git a/src/plugins/kbddrivers/vr41xx/vr41xx.pro b/src/plugins/kbddrivers/vr41xx/vr41xx.pro
deleted file mode 100644
index f9f103f..0000000
--- a/src/plugins/kbddrivers/vr41xx/vr41xx.pro
+++ /dev/null
@@ -1,14 +0,0 @@
-TARGET = qvr41xxkbddriver
-include(../../qpluginbase.pri)
-
-QTDIR_build:DESTDIR = $$QT_BUILD_TREE/plugins/kbddrivers
-target.path = $$[QT_INSTALL_PLUGINS]/kbddrivers
-INSTALLS += target
-
-DEFINES += QT_QWS_KBD_VR41XX
-
-HEADERS = $$QT_SOURCE_TREE/src/gui/embedded/qkbdvr41xx_qws.h
-
-SOURCES = main.cpp \
- $$QT_SOURCE_TREE/src/gui/embedded/qkbdvr41xx_qws.cpp
-
diff --git a/src/plugins/kbddrivers/yopy/main.cpp b/src/plugins/kbddrivers/yopy/main.cpp
deleted file mode 100644
index bfddabe..0000000
--- a/src/plugins/kbddrivers/yopy/main.cpp
+++ /dev/null
@@ -1,77 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <qkbddriverplugin_qws.h>
-#include <qkbdyopy_qws.h>
-
-QT_BEGIN_NAMESPACE
-
-class QYopyKbdDriver : public QKbdDriverPlugin
-{
-public:
- QYopyKbdDriver();
-
- QStringList keys() const;
- QWSKeyboardHandler* create(const QString &driver, const QString &device);
-};
-
-QYopyKbdDriver::QYopyKbdDriver()
- : QKbdDriverPlugin()
-{
-}
-
-QStringList QYopyKbdDriver::keys() const
-{
- return (QStringList() << QLatin1String("Yopy"));
-}
-
-QWSKeyboardHandler* QYopyKbdDriver::create(const QString &driver,
- const QString &device)
-{
- Q_UNUSED(device);
- if (driver.compare(QLatin1String("Yopy"), Qt::CaseInsensitive))
- return 0;
- return new QWSYopyKeyboardHandler(driver);
-}
-
-Q_EXPORT_PLUGIN2(qwsyopykbddriver, QYopyKbdDriver)
-
-QT_END_NAMESPACE
diff --git a/src/plugins/kbddrivers/yopy/yopy.pro b/src/plugins/kbddrivers/yopy/yopy.pro
deleted file mode 100644
index 66a663c..0000000
--- a/src/plugins/kbddrivers/yopy/yopy.pro
+++ /dev/null
@@ -1,14 +0,0 @@
-TARGET = qyopykbddriver
-include(../../qpluginbase.pri)
-
-QTDIR_build:DESTDIR = $$QT_BUILD_TREE/plugins/kbddrivers
-target.path = $$[QT_INSTALL_PLUGINS]/kbddrivers
-INSTALLS += target
-
-DEFINES += QT_QWS_KBD_YOPY
-
-HEADERS = $$QT_SOURCE_TREE/src/gui/embedded/qkbdyopy_qws.h
-
-SOURCES = main.cpp \
- $$QT_SOURCE_TREE/src/gui/embedded/qkbdyopy_qws.cpp
-
diff --git a/src/plugins/mousedrivers/bus/bus.pro b/src/plugins/mousedrivers/bus/bus.pro
deleted file mode 100644
index cdb0332..0000000
--- a/src/plugins/mousedrivers/bus/bus.pro
+++ /dev/null
@@ -1,14 +0,0 @@
-TARGET = qbusmousedriver
-include(../../qpluginbase.pri)
-
-QTDIR_build:DESTDIR = $$QT_BUILD_TREE/plugins/mousedrivers
-target.path = $$[QT_INSTALL_PLUGINS]/mousedrivers
-INSTALLS += target
-
-DEFINES += QT_QWS_MOUSE_BUS
-
-HEADERS = $$QT_SOURCE_TREE/src/gui/embedded/qmousebus_qws.h
-
-SOURCES = main.cpp \
- $$QT_SOURCE_TREE/src/gui/embedded/qmousebus_qws.cpp
-
diff --git a/src/plugins/mousedrivers/bus/main.cpp b/src/plugins/mousedrivers/bus/main.cpp
deleted file mode 100644
index f56c890..0000000
--- a/src/plugins/mousedrivers/bus/main.cpp
+++ /dev/null
@@ -1,76 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <qmousedriverplugin_qws.h>
-#include <qmousebus_qws.h>
-
-QT_BEGIN_NAMESPACE
-
-class QBusMouseDriver : public QMouseDriverPlugin
-{
-public:
- QBusMouseDriver();
-
- QStringList keys() const;
- QWSMouseHandler* create(const QString &driver, const QString &device);
-};
-
-QBusMouseDriver::QBusMouseDriver()
- : QMouseDriverPlugin()
-{
-}
-
-QStringList QBusMouseDriver::keys() const
-{
- return (QStringList() << "Bus");
-}
-
-QWSMouseHandler* QBusMouseDriver::create(const QString &driver,
- const QString &device)
-{
- if (driver.compare(QLatin1String("Bus"), Qt::CaseInsensitive))
- return 0;
- return new QWSBusMouseHandler(driver, device);
-}
-
-Q_EXPORT_PLUGIN2(qwsbusmousehandler, QBusMouseDriver)
-
-QT_END_NAMESPACE
diff --git a/src/plugins/mousedrivers/linuxis/linuxis.pro b/src/plugins/mousedrivers/linuxis/linuxis.pro
deleted file mode 100644
index bcc209b..0000000
--- a/src/plugins/mousedrivers/linuxis/linuxis.pro
+++ /dev/null
@@ -1,10 +0,0 @@
-TARGET = linuxismousehandler
-include(../../qpluginbase.pri)
-
-QTDIR_build:DESTDIR = $$QT_BUILD_TREE/plugins/mousedrivers
-target.path = $$[QT_INSTALL_PLUGINS]/mousedrivers
-INSTALLS += target
-
-HEADERS = linuxismousedriverplugin.h linuxismousehandler.h
-SOURCES = linuxismousedriverplugin.cpp linuxismousehandler.cpp
-
diff --git a/src/plugins/mousedrivers/linuxis/linuxismousedriverplugin.cpp b/src/plugins/mousedrivers/linuxis/linuxismousedriverplugin.cpp
deleted file mode 100644
index 4d530d9..0000000
--- a/src/plugins/mousedrivers/linuxis/linuxismousedriverplugin.cpp
+++ /dev/null
@@ -1,83 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "linuxismousedriverplugin.h"
-#include "linuxismousehandler.h"
-
-#include <qdebug.h>
-#if 1
-#define qLog(x) qDebug()
-#else
-#define qLog(x) while (0) qDebug()
-#endif
-LinuxInputSubsystemMouseDriverPlugin::LinuxInputSubsystemMouseDriverPlugin( QObject *parent )
- : QMouseDriverPlugin( parent )
-{
-}
-
-LinuxInputSubsystemMouseDriverPlugin::~LinuxInputSubsystemMouseDriverPlugin()
-{
-}
-
-QWSMouseHandler* LinuxInputSubsystemMouseDriverPlugin::create(const QString& driver, const QString& device)
-{
- if ( driver.toLower() == "linuxis" ) {
- qLog(Input) << "Before call LinuxInputSubsystemMouseHandler()";
- return new LinuxInputSubsystemMouseHandler(device);
- }
- return 0;
-}
-
-QWSMouseHandler* LinuxInputSubsystemMouseDriverPlugin::create(const QString& driver)
-{
- if( driver.toLower() == "linuxis" ) {
- qLog(Input) << "Before call LinuxInputSubsystemMouseHandler()";
- return new LinuxInputSubsystemMouseHandler();
- }
- return 0;
-}
-
-QStringList LinuxInputSubsystemMouseDriverPlugin::keys() const
-{
- return QStringList() << "linuxis";
-}
-
-Q_EXPORT_PLUGIN2(qwslinuxismousehandler, LinuxInputSubsystemMouseDriverPlugin)
diff --git a/src/plugins/mousedrivers/linuxis/linuxismousedriverplugin.h b/src/plugins/mousedrivers/linuxis/linuxismousedriverplugin.h
deleted file mode 100644
index 57759c5..0000000
--- a/src/plugins/mousedrivers/linuxis/linuxismousedriverplugin.h
+++ /dev/null
@@ -1,58 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef LINUXISMOUSEDRIVERPLUGIN_H
-#define LINUXISMOUSEDRIVERPLUGIN_H
-
-#include <QtGui/QWSMouseHandlerFactoryInterface>
-
-class LinuxInputSubsystemMouseDriverPlugin : public QMouseDriverPlugin {
- Q_OBJECT
-public:
- LinuxInputSubsystemMouseDriverPlugin( QObject *parent = 0 );
- ~LinuxInputSubsystemMouseDriverPlugin();
-
- QWSMouseHandler* create(const QString& driver);
- QWSMouseHandler* create(const QString& driver, const QString& device);
- QStringList keys()const;
-};
-
-#endif // LINUXISMOUSEDRIVERPLUGIN_H
diff --git a/src/plugins/mousedrivers/linuxis/linuxismousehandler.cpp b/src/plugins/mousedrivers/linuxis/linuxismousehandler.cpp
deleted file mode 100644
index aaa6eae..0000000
--- a/src/plugins/mousedrivers/linuxis/linuxismousehandler.cpp
+++ /dev/null
@@ -1,180 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "linuxismousehandler.h"
-
-#include <QFile>
-#include <QTextStream>
-#include <QScreen>
-#include <QSocketNotifier>
-#include <QDebug>
-
-#include <qdebug.h>
-
-#include <string.h>
-#include <errno.h>
-#include <stdlib.h>
-#include <fcntl.h>
-#include <unistd.h>
-#include <limits.h>
-
-#include <linux/input.h>
-
-
-#if 1
-#define qLog(x) qDebug()
-#else
-#define qLog(x) while (0) qDebug()
-#endif
-
-
-// sanity check values of the range of possible mouse positions
-#define MOUSE_SAMPLE_MIN 0
-#define MOUSE_SAMPLE_MAX 2000
-
-LinuxInputSubsystemMouseHandler::LinuxInputSubsystemMouseHandler(const QString &device)
- : mouseX(0), mouseY(0), mouseBtn(0), mouseIdx(0)
-{
- qLog(Input) << "Loaded LinuxInputSubsystem touchscreen plugin!";
- setObjectName("LinuxInputSubsystem Mouse Handler");
- mouseFd = ::open(device.toLocal8Bit().constData(), O_RDONLY | O_NDELAY);
- // mouseFd = ::open(device.toLocal8Bit().constData(), O_RDONLY);
- if (mouseFd >= 0) {
- qLog(Input) << "Opened" << device << "as touchscreen input";
- m_notify = new QSocketNotifier(mouseFd, QSocketNotifier::Read, this);
- connect(m_notify, SIGNAL(activated(int)), this, SLOT(readMouseData()));
- } else {
- qWarning("Cannot open %s for touchscreen input (%s)",
- device.toLocal8Bit().constData(), strerror(errno));
- return;
- }
-}
-
-LinuxInputSubsystemMouseHandler::~LinuxInputSubsystemMouseHandler()
-{
- if (mouseFd >= 0)
- ::close(mouseFd);
-}
-
-void LinuxInputSubsystemMouseHandler::suspend()
-{
- m_notify->setEnabled( false );
-}
-
-void LinuxInputSubsystemMouseHandler::resume()
-{
- m_notify->setEnabled( true );
-}
-
-void LinuxInputSubsystemMouseHandler::readMouseData()
-{
- if (!qt_screen)
- return;
-
- int n;
-
- do {
- n = read(mouseFd, mouseBuf + mouseIdx, mouseBufSize - mouseIdx);
- if (n > 0)
- mouseIdx += n;
-
- struct input_event *data;
- int idx = 0;
-
- while (mouseIdx-idx >= (int)sizeof(struct input_event)) {
- uchar *mb = mouseBuf + idx;
- data = (struct input_event *) mb;
- // qLog(Input) << "mouse event type =" << data->type << "code =" << data->code << "value =" << data->value;
- bool unknown = false;
- if (data->type == EV_ABS) {
- if (data->code == ABS_X) {
- //qLog(Input) << "\tABS_X" << data->value;
- mouseX = data->value;
- } else if (data->code == ABS_Y) {
- //qLog(Input) << "\tABS_Y" << data->value;
- mouseY = data->value;
- } else {
- unknown = true;
- }
- } else if (data->type == EV_REL) {
- //qLog(Input) << "\tEV_REL" << hex << data->code << dec << data->value;
- if (data->code == REL_X) {
- mouseX += data->value;
- } else if (data->code == REL_Y) {
- mouseY += data->value;
- } else {
- unknown = true;
- }
- } else if (data->type == EV_KEY && data->code == BTN_TOUCH) {
- qLog(Input) << "\tBTN_TOUCH" << data->value;
- mouseBtn = data->value ? Qt::LeftButton : 0;
- } else if (data->type == EV_KEY) {
- int button = 0;
- switch (data->code) {
- case BTN_LEFT: button = Qt::LeftButton; break;
- case BTN_MIDDLE: button = Qt::MidButton; break;
- case BTN_RIGHT: button = Qt::RightButton; break;
- }
- if (data->value)
- mouseBtn |= button;
- else
- mouseBtn &= ~button;
- } else if (data->type == EV_SYN && data->code == SYN_REPORT) {
- QPoint pos( mouseX, mouseY );
- oldmouse = transform( pos );
- //qLog(Input) << "\tSYN_REPORT" << mouseBtn << pos << oldmouse;
- emit mouseChanged(oldmouse, mouseBtn);
-
- } else {
- unknown = true;
- }
- if (unknown) {
- qWarning("unknown mouse event type=%x, code=%x, value=%x", data->type, data->code, data->value);
- }
- idx += sizeof(struct input_event);
- }
- int surplus = mouseIdx - idx;
- for (int i = 0; i < surplus; i++)
- mouseBuf[i] = mouseBuf[idx+i];
- mouseIdx = surplus;
- } while (n > 0);
-}
-
diff --git a/src/plugins/mousedrivers/linuxis/linuxismousehandler.h b/src/plugins/mousedrivers/linuxis/linuxismousehandler.h
deleted file mode 100644
index c898ddb..0000000
--- a/src/plugins/mousedrivers/linuxis/linuxismousehandler.h
+++ /dev/null
@@ -1,72 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef LINUXISMOUSEHANDLER_H
-#define LINUXISMOUSEHANDLER_H
-
-#include <QtGui/QWSCalibratedMouseHandler>
-
-class QSocketNotifier;
-class LinuxInputSubsystemMouseHandler : public QObject, public QWSCalibratedMouseHandler {
- Q_OBJECT
-public:
- LinuxInputSubsystemMouseHandler(const QString &device = QString("/dev/input/event0"));
- ~LinuxInputSubsystemMouseHandler();
-
- void suspend();
- void resume();
-
-private:
- int mouseX, mouseY;
- int mouseBtn;
- static const int mouseBufSize = 2048;
- uchar mouseBuf[mouseBufSize];
- int mouseIdx;
- QPoint oldmouse;
-
- QSocketNotifier *m_notify;
- int mouseFd;
-
-private Q_SLOTS:
- void readMouseData();
-};
-
-#endif // LINUXISMOUSEHANDLER_H
diff --git a/src/plugins/mousedrivers/mousedrivers.pro b/src/plugins/mousedrivers/mousedrivers.pro
index e644361..f89682b 100644
--- a/src/plugins/mousedrivers/mousedrivers.pro
+++ b/src/plugins/mousedrivers/mousedrivers.pro
@@ -1,8 +1,5 @@
TEMPLATE = subdirs
-contains(mouse-plugins, bus): SUBDIRS += bus
contains(mouse-plugins, linuxtp): SUBDIRS += linuxtp
contains(mouse-plugins, pc): SUBDIRS += pc
contains(mouse-plugins, tslib): SUBDIRS += tslib
-contains(mouse-plugins, vr41xx): SUBDIRS += vr41xx
-contains(mouse-plugins, yopy): SUBDIRS += yopy
-contains(mouse-plugins, linuxis): SUBDIRS += linuxis
+contains(mouse-plugins, linuxinput): SUBDIRS += linuxinput
diff --git a/src/plugins/mousedrivers/vr41xx/main.cpp b/src/plugins/mousedrivers/vr41xx/main.cpp
deleted file mode 100644
index 8802a02..0000000
--- a/src/plugins/mousedrivers/vr41xx/main.cpp
+++ /dev/null
@@ -1,76 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <qmousedriverplugin_qws.h>
-#include <qmousevr41xx_qws.h>
-
-QT_BEGIN_NAMESPACE
-
-class QVr41xxMouseDriver : public QMouseDriverPlugin
-{
-public:
- QVr41xxMouseDriver();
-
- QStringList keys() const;
- QWSMouseHandler* create(const QString &driver, const QString &device);
-};
-
-QVr41xxMouseDriver::QVr41xxMouseDriver()
- : QMouseDriverPlugin()
-{
-}
-
-QStringList QVr41xxMouseDriver::keys() const
-{
- return (QStringList() << QLatin1String("VR41xx"));
-}
-
-QWSMouseHandler* QVr41xxMouseDriver::create(const QString &driver,
- const QString &device)
-{
- if (driver.compare(QLatin1String("VR41xx"), Qt::CaseInsensitive))
- return 0;
- return new QWSVr41xxMouseHandler(driver, device);
-}
-
-Q_EXPORT_PLUGIN2(qwsvr41xxmousehandler, QVr41xxMouseDriver)
-
-QT_END_NAMESPACE
diff --git a/src/plugins/mousedrivers/vr41xx/vr41xx.pro b/src/plugins/mousedrivers/vr41xx/vr41xx.pro
deleted file mode 100644
index 1c22d04..0000000
--- a/src/plugins/mousedrivers/vr41xx/vr41xx.pro
+++ /dev/null
@@ -1,14 +0,0 @@
-TARGET = qvr41xxmousedriver
-include(../../qpluginbase.pri)
-
-QTDIR_build:DESTDIR = $$QT_BUILD_TREE/plugins/mousedrivers
-target.path = $$[QT_INSTALL_PLUGINS]/mousedrivers
-INSTALLS += target
-
-DEFINES += QT_QWS_MOUSE_VR41XX
-
-HEADERS = $$QT_SOURCE_TREE/src/gui/embedded/qmousevr41xx_qws.h
-
-SOURCES = main.cpp \
- $$QT_SOURCE_TREE/src/gui/embedded/qmousevr41xx_qws.cpp
-
diff --git a/src/plugins/mousedrivers/yopy/main.cpp b/src/plugins/mousedrivers/yopy/main.cpp
deleted file mode 100644
index 9db9c4f..0000000
--- a/src/plugins/mousedrivers/yopy/main.cpp
+++ /dev/null
@@ -1,76 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <qmousedriverplugin_qws.h>
-#include <qmouseyopy_qws.h>
-
-QT_BEGIN_NAMESPACE
-
-class QYopyMouseDriver : public QMouseDriverPlugin
-{
-public:
- QYopyMouseDriver();
-
- QStringList keys() const;
- QWSMouseHandler* create(const QString &driver, const QString &device);
-};
-
-QYopyMouseDriver::QYopyMouseDriver()
- : QMouseDriverPlugin()
-{
-}
-
-QStringList QYopyMouseDriver::keys() const
-{
- return (QStringList() << QLatin1String("Yopy"));
-}
-
-QWSMouseHandler* QYopyMouseDriver::create(const QString &driver,
- const QString &device)
-{
- if (driver.compare(QLatin1String("yopy"), Qt::CaseInsensitive))
- return 0;
- return new QWSYopyMouseHandler(driver, device);
-}
-
-Q_EXPORT_PLUGIN2(qwsyopymousehandler, QYopyMouseDriver)
-
-QT_END_NAMESPACE
diff --git a/src/plugins/mousedrivers/yopy/yopy.pro b/src/plugins/mousedrivers/yopy/yopy.pro
deleted file mode 100644
index 3045430..0000000
--- a/src/plugins/mousedrivers/yopy/yopy.pro
+++ /dev/null
@@ -1,14 +0,0 @@
-TARGET = qyopymousedriver
-include(../../qpluginbase.pri)
-
-QTDIR_build:DESTDIR = $$QT_BUILD_TREE/plugins/mousedrivers
-target.path = $$[QT_INSTALL_PLUGINS]/mousedrivers
-INSTALLS += target
-
-DEFINES += QT_QWS_MOUSE_YOPY
-
-HEADERS = $$QT_SOURCE_TREE/src/gui/embedded/qmouseyopy_qws.h
-
-SOURCES = main.cpp \
- $$QT_SOURCE_TREE/src/gui/embedded/qmouseyopy_qws.cpp
-
diff --git a/src/plugins/plugins.pro b/src/plugins/plugins.pro
index 76056a32..004b816 100644
--- a/src/plugins/plugins.pro
+++ b/src/plugins/plugins.pro
@@ -11,3 +11,4 @@ embedded:SUBDIRS *= gfxdrivers decorations mousedrivers kbddrivers
!win32:!embedded:!mac:!symbian:SUBDIRS *= inputmethods
symbian:SUBDIRS += s60
contains(QT_CONFIG, phonon): SUBDIRS *= phonon
+contains(QT_CONFIG, multimedia): SUBDIRS *= audio
diff --git a/src/plugins/s60/src/qdesktopservices_3_1.cpp b/src/plugins/s60/src/qdesktopservices_3_1.cpp
index 0f8e6a6..508009c 100644
--- a/src/plugins/s60/src/qdesktopservices_3_1.cpp
+++ b/src/plugins/s60/src/qdesktopservices_3_1.cpp
@@ -1,9 +1,9 @@
/****************************************************************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
-** This file is part of the $MODULE$ of the Qt Toolkit.
+** This file is part of the plugins of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/src/plugins/s60/src/qdesktopservices_3_2.cpp b/src/plugins/s60/src/qdesktopservices_3_2.cpp
index 3708436..a2e8cce 100644
--- a/src/plugins/s60/src/qdesktopservices_3_2.cpp
+++ b/src/plugins/s60/src/qdesktopservices_3_2.cpp
@@ -1,9 +1,9 @@
/****************************************************************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
-** This file is part of the $MODULE$ of the Qt Toolkit.
+** This file is part of the plugins of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/src/plugins/s60/src/qlocale_3_1.cpp b/src/plugins/s60/src/qlocale_3_1.cpp
index b2e6a5d..fb148ab 100644
--- a/src/plugins/s60/src/qlocale_3_1.cpp
+++ b/src/plugins/s60/src/qlocale_3_1.cpp
@@ -1,9 +1,9 @@
/****************************************************************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
-** This file is part of the $MODULE$ of the Qt Toolkit.
+** This file is part of the plugins of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/src/plugins/s60/src/qlocale_3_2.cpp b/src/plugins/s60/src/qlocale_3_2.cpp
index 7a3a7e5..087d29d 100644
--- a/src/plugins/s60/src/qlocale_3_2.cpp
+++ b/src/plugins/s60/src/qlocale_3_2.cpp
@@ -1,9 +1,9 @@
/****************************************************************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
-** This file is part of the $MODULE$ of the Qt Toolkit.
+** This file is part of the plugins of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/src/qt3support/canvas/q3canvas.cpp b/src/qt3support/canvas/q3canvas.cpp
index 034aff5..948935c 100644
--- a/src/qt3support/canvas/q3canvas.cpp
+++ b/src/qt3support/canvas/q3canvas.cpp
@@ -4828,7 +4828,7 @@ void Q3CanvasText::draw(QPainter& painter)
}
/*!
- \reimp
+ \internal
*/
void Q3CanvasText::changeChunks()
{
diff --git a/src/qt3support/dialogs/q3filedialog.cpp b/src/qt3support/dialogs/q3filedialog.cpp
index 031170e..a285fd8 100644
--- a/src/qt3support/dialogs/q3filedialog.cpp
+++ b/src/qt3support/dialogs/q3filedialog.cpp
@@ -507,45 +507,7 @@ static void updateLastSize(Q3FileDialog *that)
lastHeight = that->height() - extHeight;
}
-// Don't remove the lines below!
-//
-// resolving the W methods manually is needed, because Windows 95 doesn't include
-// these methods in Shell32.lib (not even stubs!), so you'd get an unresolved symbol
-// when Qt calls getEsistingDirectory(), etc.
#if defined(Q_WS_WIN)
-
-typedef UINT (WINAPI *PtrExtractIconEx)(LPCTSTR,int,HICON*,HICON*,UINT);
-static PtrExtractIconEx ptrExtractIconEx = 0;
-
-static void resolveLibs()
-{
-#ifndef Q_OS_WINCE
- static bool triedResolve = false;
-
- if (!triedResolve) {
-#ifndef QT_NO_THREAD
- // protect initialization
- QMutexLocker locker(QMutexPool::globalInstanceGet(&triedResolve));
- // check triedResolve again, since another thread may have already
- // done the initialization
- if (triedResolve) {
- // another thread did initialize the security function pointers,
- // so we shouldn't do it again.
- return;
- }
-#endif
- triedResolve = true;
- if (qt_winUnicode()) {
- QLibrary lib(QLatin1String("shell32"));
- ptrExtractIconEx = (PtrExtractIconEx) lib.resolve("ExtractIconExW");
- }
- }
-#endif
-}
-#ifdef Q_OS_WINCE
-#define PtrExtractIconEx ExtractIconEx
-#endif
-
class QWindowsIconProvider : public Q3FileIconProvider
{
public:
@@ -2566,11 +2528,7 @@ void Q3FileDialog::init()
d->modeButtons->insert(d->previewInfo);
d->previewContents = new QToolButton(this, "preview info view");
-#if defined(Q_WS_WIN) && !defined(Q_OS_WINCE)
- if ((qWinVersion() & Qt::WV_NT_based) > Qt::WV_NT)
-#else
if (!qstrcmp(style()->className(), "QWindowsStyle"))
-#endif
{
d->goBack->setAutoRaise(true);
d->cdToParent->setAutoRaise(true);
@@ -4878,33 +4836,20 @@ Q3FileIconProvider * Q3FileDialog::iconProvider()
static QString getWindowsRegString(HKEY key, const QString &subKey)
{
QString s;
- QT_WA({
- char buf[1024];
- DWORD bsz = sizeof(buf);
- int r = RegQueryValueEx(key, (TCHAR*)subKey.ucs2(), 0, 0, (LPBYTE)buf, &bsz);
- if (r == ERROR_SUCCESS) {
- s = QString::fromUcs2((unsigned short *)buf);
- } else if (r == ERROR_MORE_DATA) {
- char *ptr = new char[bsz+1];
- r = RegQueryValueEx(key, (TCHAR*)subKey.ucs2(), 0, 0, (LPBYTE)ptr, &bsz);
- if (r == ERROR_SUCCESS)
- s = QLatin1String(ptr);
- delete [] ptr;
- }
- } , {
- char buf[512];
- DWORD bsz = sizeof(buf);
- int r = RegQueryValueExA(key, subKey.local8Bit(), 0, 0, (LPBYTE)buf, &bsz);
- if (r == ERROR_SUCCESS) {
- s = QLatin1String(buf);
- } else if (r == ERROR_MORE_DATA) {
- char *ptr = new char[bsz+1];
- r = RegQueryValueExA(key, subKey.local8Bit(), 0, 0, (LPBYTE)ptr, &bsz);
- if (r == ERROR_SUCCESS)
- s = QLatin1String(ptr);
- delete [] ptr;
- }
- });
+
+ wchar_t buf[1024];
+ DWORD bsz = sizeof(buf) / sizeof(wchar_t);
+ int r = RegQueryValueEx(key, (wchar_t*)subKey.utf16(), 0, 0, (LPBYTE)buf, &bsz);
+ if (r == ERROR_SUCCESS) {
+ s = QString::fromWCharArray(buf);
+ } else if (r == ERROR_MORE_DATA) {
+ char *ptr = new char[bsz+1];
+ r = RegQueryValueEx(key, (wchar_t*)subKey.utf16(), 0, 0, (LPBYTE)ptr, &bsz);
+ if (r == ERROR_SUCCESS)
+ s = QLatin1String(ptr);
+ delete [] ptr;
+ }
+
return s;
}
@@ -4925,22 +4870,13 @@ QWindowsIconProvider::QWindowsIconProvider(QObject *parent, const char *name)
HKEY k;
HICON si;
- int r;
QString s;
UINT res = 0;
// ---------- get default folder pixmap
const wchar_t iconFolder[] = L"folder\\DefaultIcon"; // workaround for Borland
- QT_WA({
- r = RegOpenKeyEx(HKEY_CLASSES_ROOT,
- iconFolder,
- 0, KEY_READ, &k);
- } , {
- r = RegOpenKeyExA(HKEY_CLASSES_ROOT,
- "folder\\DefaultIcon",
- 0, KEY_READ, &k);
- });
- resolveLibs();
+ int r = RegOpenKeyEx(HKEY_CLASSES_ROOT, iconFolder, 0, KEY_READ, &k);
+
if (r == ERROR_SUCCESS) {
s = getWindowsRegString(k, QString());
RegCloseKey(k);
@@ -4948,21 +4884,7 @@ QWindowsIconProvider::QWindowsIconProvider(QObject *parent, const char *name)
QStringList lst = QStringList::split(QLatin1String(","), s);
if (lst.count() >= 2) { // don't just assume that lst has two entries
-#ifndef Q_OS_WINCE
- QT_WA({
- res = ptrExtractIconEx((TCHAR*)lst[0].simplifyWhiteSpace().ucs2(),
- lst[1].simplifyWhiteSpace().toInt(),
- 0, &si, 1);
- } , {
- res = ExtractIconExA(lst[0].simplifyWhiteSpace().local8Bit(),
- lst[1].simplifyWhiteSpace().toInt(),
- 0, &si, 1);
- });
-#else
- res = (UINT)ExtractIconEx((TCHAR*)lst[0].simplifyWhiteSpace().ucs2(),
- lst[1].simplifyWhiteSpace().toInt(),
- 0, &si, 1);
-#endif
+ res = ExtractIconEx((wchar_t*)lst[0].simplifyWhiteSpace().utf16(), lst[1].simplifyWhiteSpace().toInt(), 0, &si, 1);
}
if (res) {
@@ -4978,18 +4900,7 @@ QWindowsIconProvider::QWindowsIconProvider(QObject *parent, const char *name)
}
//------------------------------- get default file pixmap
-#ifndef Q_OS_WINCE
- QT_WA({
- res = ptrExtractIconEx(L"shell32.dll",
- 0, 0, &si, 1);
- } , {
- res = ExtractIconExA("shell32.dll",
- 0, 0, &si, 1);
- });
-#else
- res = (UINT)ExtractIconEx(L"shell32.dll",
- 0, 0, &si, 1);
-#endif
+ res = ExtractIconEx(L"shell32.dll", 0, 0, &si, 1);
if (res) {
defaultFile = fromHICON(si);
@@ -5002,16 +4913,9 @@ QWindowsIconProvider::QWindowsIconProvider(QObject *parent, const char *name)
//------------------------------- get default exe pixmap
#ifndef Q_OS_WINCE
- QT_WA({
- res = ptrExtractIconEx(L"shell32.dll",
- 2, 0, &si, 1);
- } , {
- res = ExtractIconExA("shell32.dll",
- 2, 0, &si, 1);
- });
+ res = ExtractIconEx(L"shell32.dll", 2, 0, &si, 1);
#else
- res = (UINT)ExtractIconEx(L"ceshell.dll",
- 10, 0, &si, 1);
+ res = ExtractIconEx(L"ceshell.dll", 10, 0, &si, 1);
#endif
if (res) {
@@ -5050,14 +4954,7 @@ const QPixmap * QWindowsIconProvider::pixmap(const QFileInfo &fi)
return &(*it);
HKEY k, k2;
- int r;
- QT_WA({
- r = RegOpenKeyEx(HKEY_CLASSES_ROOT, (TCHAR*)ext.ucs2(),
- 0, KEY_READ, &k);
- } , {
- r = RegOpenKeyExA(HKEY_CLASSES_ROOT, ext.local8Bit(),
- 0, KEY_READ, &k);
- });
+ int r = RegOpenKeyEx(HKEY_CLASSES_ROOT, (wchar_t*)ext.utf16(), 0, KEY_READ, &k);
QString s;
if (r == ERROR_SUCCESS) {
s = getWindowsRegString(k, QString());
@@ -5068,13 +4965,8 @@ const QPixmap * QWindowsIconProvider::pixmap(const QFileInfo &fi)
}
RegCloseKey(k);
- QT_WA({
- r = RegOpenKeyEx(HKEY_CLASSES_ROOT, (TCHAR*)QString(s + QLatin1String("\\DefaultIcon")).ucs2(),
- 0, KEY_READ, &k2);
- } , {
- r = RegOpenKeyExA(HKEY_CLASSES_ROOT, QString(s + QLatin1String("\\DefaultIcon")).local8Bit() ,
- 0, KEY_READ, &k2);
- });
+ r = RegOpenKeyEx(HKEY_CLASSES_ROOT, (wchar_t*)QString(s + QLatin1String("\\DefaultIcon")).utf16(),
+ 0, KEY_READ, &k2);
if (r == ERROR_SUCCESS) {
s = getWindowsRegString(k2, QString());
} else {
@@ -5104,19 +4996,7 @@ const QPixmap * QWindowsIconProvider::pixmap(const QFileInfo &fi)
if (filepath[0] == QLatin1Char('"') && filepath[(int)filepath.length()-1] == QLatin1Char('"'))
filepath = filepath.mid(1, filepath.length()-2);
- resolveLibs();
-#ifndef Q_OS_WINCE
- QT_WA({
- res = ptrExtractIconEx((TCHAR*)filepath.ucs2(), lst[1].stripWhiteSpace().toInt(),
- 0, &si, 1);
- } , {
- res = ExtractIconExA(filepath.local8Bit(), lst[1].stripWhiteSpace().toInt(),
- 0, &si, 1);
- });
-#else
- res = (UINT)ExtractIconEx((TCHAR*)filepath.ucs2(), lst[1].stripWhiteSpace().toInt(),
- 0, &si, 1);
-#endif
+ res = ExtractIconEx((wchar_t*)filepath.utf16(), lst[1].stripWhiteSpace().toInt(), 0, &si, 1);
}
}
if (res) {
@@ -5133,32 +5013,9 @@ const QPixmap * QWindowsIconProvider::pixmap(const QFileInfo &fi)
HICON si;
UINT res = 0;
if (!fi.absFilePath().isEmpty()) {
-#ifndef Q_OS_WINCE
- QT_WA({
- res = ptrExtractIconEx((TCHAR*)fi.absFilePath().ucs2(), -1,
- 0, 0, 1);
- } , {
- res = ExtractIconExA(fi.absFilePath().local8Bit(), -1,
- 0, 0, 1);
- });
-
- if (res) {
- QT_WA({
- res = ptrExtractIconEx((TCHAR*)fi.absFilePath().ucs2(), res - 1,
- 0, &si, 1);
- } , {
- res = ExtractIconExA(fi.absFilePath().local8Bit(), res - 1,
- 0, &si, 1);
- });
- }
-#else
- res = (UINT)ExtractIconEx((TCHAR*)fi.absFilePath().ucs2(), -1,
- 0, 0, 1);
- if (res)
- res = (UINT)ExtractIconEx((TCHAR*)fi.absFilePath().ucs2(), res - 1,
- 0, &si, 1);
-#endif
-
+ res = ExtractIconEx((wchar_t*)fi.absFilePath().utf16(), -1, 0, 0, 1);
+ if (res)
+ res = ExtractIconEx((wchar_t*)fi.absFilePath().utf16(), res - 1, 0, &si, 1);
}
if (res) {
@@ -5760,13 +5617,8 @@ void Q3FileDialog::insertEntry(const Q3ValueList<QUrlInfo> &lst, Q3NetworkOperat
if (!file.endsWith(QLatin1Char('/')))
file.append(QLatin1Char('/'));
file += inf.name();
- QT_WA({
- if (GetFileAttributesW((TCHAR*)file.ucs2()) & FILE_ATTRIBUTE_HIDDEN)
- continue;
- } , {
- if (GetFileAttributesA(file.local8Bit()) & FILE_ATTRIBUTE_HIDDEN)
- continue;
- });
+ if (GetFileAttributes((wchar_t*)file.utf16()) & FILE_ATTRIBUTE_HIDDEN)
+ continue;
} else {
if (inf.name() != QLatin1String("..") && inf.name()[0] == QLatin1Char('.'))
continue;
diff --git a/src/qt3support/dialogs/q3filedialog_win.cpp b/src/qt3support/dialogs/q3filedialog_win.cpp
index ed86fa2..487097a 100644
--- a/src/qt3support/dialogs/q3filedialog_win.cpp
+++ b/src/qt3support/dialogs/q3filedialog_win.cpp
@@ -64,49 +64,6 @@
QT_BEGIN_NAMESPACE
-// Don't remove the lines below!
-//
-// resolving the W methods manually is needed, because Windows 95 doesn't include
-// these methods in Shell32.lib (not even stubs!), so you'd get an unresolved symbol
-// when Qt calls getEsistingDirectory(), etc.
-typedef LPITEMIDLIST (WINAPI *PtrSHBrowseForFolder)(BROWSEINFO*);
-static PtrSHBrowseForFolder ptrSHBrowseForFolder = 0;
-typedef BOOL (WINAPI *PtrSHGetPathFromIDList)(LPITEMIDLIST,LPWSTR);
-static PtrSHGetPathFromIDList ptrSHGetPathFromIDList = 0;
-
-static void resolveLibs()
-{
-#ifndef Q_OS_WINCE
- static bool triedResolve = false;
-
- if (!triedResolve) {
-#ifndef QT_NO_THREAD
- // protect initialization
- QMutexLocker locker(QMutexPool::globalInstanceGet(&triedResolve));
- // check triedResolve again, since another thread may have already
- // done the initialization
- if (triedResolve) {
- // another thread did initialize the security function pointers,
- // so we shouldn't do it again.
- return;
- }
-#endif
-
- triedResolve = true;
- if (qt_winUnicode()) {
- QLibrary lib(QLatin1String("shell32"));
- ptrSHBrowseForFolder = (PtrSHBrowseForFolder) lib.resolve("SHBrowseForFolderW");
- ptrSHGetPathFromIDList = (PtrSHGetPathFromIDList) lib.resolve("SHGetPathFromIDListW");
- }
- }
-#endif
-}
-#ifdef Q_OS_WINCE
-#define PtrSHBrowseForFolder SHBrowseForFolder ;
-#define PtrSHGetPathFromIDList SHGetPathFromIDList;
-#endif
-
-
extern const char qt3_file_dialog_filter_reg_exp[]; // defined in qfiledialog.cpp
const int maxNameLen = 1023;
@@ -168,80 +125,8 @@ static QString selFilter(const QString& filter, DWORD idx)
return filterLst[(int)idx - 1];
}
-#ifndef Q_OS_WINCE
-// Static vars for OFNA funcs:
-static QByteArray aInitDir;
-static QByteArray aInitSel;
-static QByteArray aTitle;
-static QByteArray aFilter;
-// Use ANSI strings and API
-
-// If you change this, then make sure you change makeOFN (below) too
-static
-OPENFILENAMEA* makeOFNA(QWidget* parent,
- const QString& initialSelection,
- const QString& initialDirectory,
- const QString& title,
- const QString& filters,
- Q3FileDialog::Mode mode)
-{
- if (parent)
- parent = parent->window();
- else
- parent = qApp->activeWindow();
-
- aTitle = title.local8Bit();
- aInitDir = QDir::toNativeSeparators(initialDirectory).local8Bit();
- if (initialSelection.isEmpty())
- aInitSel = "";
- else
- aInitSel = QDir::toNativeSeparators(initialSelection).local8Bit();
- int maxLen = mode == Q3FileDialog::ExistingFiles ? maxMultiLen : maxNameLen;
- aInitSel.resize(maxLen + 1); // make room for return value
- aFilter = filters.local8Bit();
-
- OPENFILENAMEA* ofn = new OPENFILENAMEA;
- memset(ofn, 0, sizeof(OPENFILENAMEA));
-
-#if defined(Q_CC_BOR) && (WINVER >= 0x0500) && (_WIN32_WINNT >= 0x0500)
- // according to the MSDN, this should also be necessary for MSVC, but
- // OPENFILENAME_SIZE_VERSION_400A is in not Microsoft header, as it seems
- if (QApplication::winVersion()==Qt::WV_NT || QApplication::winVersion()&Qt::WV_DOS_based) {
- ofn->lStructSize= OPENFILENAME_SIZE_VERSION_400A;
- } else {
- ofn->lStructSize= sizeof(OPENFILENAMEA);
- }
-#else
- ofn->lStructSize = sizeof(OPENFILENAMEA);
-#endif
- ofn->hwndOwner = parent ? parent->winId() : 0;
- ofn->lpstrFilter = aFilter;
- ofn->lpstrFile = aInitSel.data();
- ofn->nMaxFile = maxLen;
- ofn->lpstrInitialDir = aInitDir.data();
- ofn->lpstrTitle = aTitle.data();
- ofn->Flags = (OFN_NOCHANGEDIR | OFN_HIDEREADONLY);
-
- if (mode == Q3FileDialog::ExistingFile ||
- mode == Q3FileDialog::ExistingFiles)
- ofn->Flags |= (OFN_FILEMUSTEXIST | OFN_PATHMUSTEXIST);
- if (mode == Q3FileDialog::ExistingFiles)
- ofn->Flags |= (OFN_ALLOWMULTISELECT | OFN_EXPLORER);
-
- return ofn;
-}
-
-static void cleanUpOFNA(OPENFILENAMEA** ofn)
-{
- delete *ofn;
- *ofn = 0;
-}
-#endif
-
static QString tFilters, tTitle, tInitDir;
-#ifdef UNICODE
-// If you change this, then make sure you change makeOFNA (above) too
static
OPENFILENAME* makeOFN(QWidget* parent,
const QString& initialSelection,
@@ -261,33 +146,23 @@ OPENFILENAME* makeOFN(QWidget* parent,
QString initSel = QDir::toNativeSeparators(initialSelection);
int maxLen = mode == Q3FileDialog::ExistingFiles ? maxMultiLen : maxNameLen;
- TCHAR *tInitSel = new TCHAR[maxLen+1];
+ wchar_t *tInitSel = new wchar_t[maxLen+1];
if (initSel.length() > 0 && initSel.length() <= maxLen)
- memcpy(tInitSel, initSel.ucs2(), (initSel.length()+1)*sizeof(QChar));
+ memcpy(tInitSel, initSel.utf16(), (initSel.length() + 1) * sizeof(wchar_t));
else
tInitSel[0] = 0;
OPENFILENAME* ofn = new OPENFILENAME;
memset(ofn, 0, sizeof(OPENFILENAME));
-#if defined(Q_CC_BOR) && (WINVER >= 0x0500) && (_WIN32_WINNT >= 0x0500)
- // according to the MSDN, this should also be necessary for MSVC, but
- // OPENFILENAME_SIZE_VERSION_400 is in not Microsoft header, as it seems
- if (QApplication::winVersion()==Qt::WV_NT || QApplication::winVersion()&Qt::WV_DOS_based) {
- ofn->lStructSize= OPENFILENAME_SIZE_VERSION_400;
- } else {
- ofn->lStructSize = sizeof(OPENFILENAME);
- }
-#else
- ofn->lStructSize = sizeof(OPENFILENAME);
-#endif
- ofn->hwndOwner = parent ? parent->winId() : 0;
- ofn->lpstrFilter = (TCHAR *)tFilters.ucs2();
- ofn->lpstrFile = tInitSel;
+ ofn->lStructSize = sizeof(OPENFILENAME);
+ ofn->hwndOwner = parent ? parent->winId() : 0;
+ ofn->lpstrFilter = (wchar_t*)tFilters.utf16();
+ ofn->lpstrFile = tInitSel;
ofn->nMaxFile = maxLen;
- ofn->lpstrInitialDir = (TCHAR *)tInitDir.ucs2();
- ofn->lpstrTitle = (TCHAR *)tTitle.ucs2();
- ofn->Flags = (OFN_NOCHANGEDIR | OFN_HIDEREADONLY);
+ ofn->lpstrInitialDir = (wchar_t*)tInitDir.utf16();
+ ofn->lpstrTitle = (wchar_t*)tTitle.utf16();
+ ofn->Flags = (OFN_NOCHANGEDIR | OFN_HIDEREADONLY);
if (mode == Q3FileDialog::ExistingFile ||
mode == Q3FileDialog::ExistingFiles)
@@ -298,7 +173,6 @@ OPENFILENAME* makeOFN(QWidget* parent,
return ofn;
}
-
static void cleanUpOFN(OPENFILENAME** ofn)
{
delete (*ofn)->lpstrFile;
@@ -306,8 +180,6 @@ static void cleanUpOFN(OPENFILENAME** ofn)
*ofn = 0;
}
-#endif // UNICODE
-
QString Q3FileDialog::winGetOpenFileName(const QString &initialSelection,
const QString &filter,
QString* initialDirectory,
@@ -349,31 +221,18 @@ QString Q3FileDialog::winGetOpenFileName(const QString &initialSelection,
QApplication::sendEvent(parent, &e);
QApplicationPrivate::enterModal(parent);
}
- QT_WA({
- // Use Unicode strings and API
- OPENFILENAME* ofn = makeOFN(parent, isel,
- *initialDirectory, title,
- winFilter(filter), ExistingFile);
- if (idx)
- ofn->nFilterIndex = idx + 1;
- if (GetOpenFileName(ofn)) {
- result = QString::fromUcs2((ushort*)ofn->lpstrFile);
- selFilIdx = ofn->nFilterIndex;
- }
- cleanUpOFN(&ofn);
- } , {
- // Use ANSI strings and API
- OPENFILENAMEA* ofn = makeOFNA(parent, isel,
- *initialDirectory, title,
- winFilter(filter), ExistingFile);
- if (idx)
- ofn->nFilterIndex = idx + 1;
- if (GetOpenFileNameA(ofn)) {
- result = QString::fromLocal8Bit(ofn->lpstrFile);
- selFilIdx = ofn->nFilterIndex;
- }
- cleanUpOFNA(&ofn);
- });
+
+ OPENFILENAME* ofn = makeOFN(parent, isel,
+ *initialDirectory, title,
+ winFilter(filter), ExistingFile);
+ if (idx)
+ ofn->nFilterIndex = idx + 1;
+ if (GetOpenFileName(ofn)) {
+ result = QString::fromWCharArray(ofn->lpstrFile);
+ selFilIdx = ofn->nFilterIndex;
+ }
+ cleanUpOFN(&ofn);
+
if (parent) {
QApplicationPrivate::leaveModal(parent);
QEvent e(QEvent::WindowUnblocked);
@@ -433,31 +292,18 @@ QString Q3FileDialog::winGetSaveFileName(const QString &initialSelection,
QApplication::sendEvent(parent, &e);
QApplicationPrivate::enterModal(parent);
}
- QT_WA({
- // Use Unicode strings and API
- OPENFILENAME* ofn = makeOFN(parent, isel,
- *initialDirectory, title,
- winFilter(filter), AnyFile);
- if (idx)
- ofn->nFilterIndex = idx + 1;
- if (GetSaveFileName(ofn)) {
- result = QString::fromUcs2((ushort*)ofn->lpstrFile);
- selFilIdx = ofn->nFilterIndex;
- }
- cleanUpOFN(&ofn);
- } , {
- // Use ANSI strings and API
- OPENFILENAMEA* ofn = makeOFNA(parent, isel,
- *initialDirectory, title,
- winFilter(filter), AnyFile);
- if (idx)
- ofn->nFilterIndex = idx + 1;
- if (GetSaveFileNameA(ofn)) {
- result = QString::fromLocal8Bit(ofn->lpstrFile);
- selFilIdx = ofn->nFilterIndex;
- }
- cleanUpOFNA(&ofn);
- });
+
+ OPENFILENAME* ofn = makeOFN(parent, isel,
+ *initialDirectory, title,
+ winFilter(filter), AnyFile);
+ if (idx)
+ ofn->nFilterIndex = idx + 1;
+ if (GetSaveFileName(ofn)) {
+ result = QString::fromWCharArray(ofn->lpstrFile);
+ selFilIdx = ofn->nFilterIndex;
+ }
+ cleanUpOFN(&ofn);
+
if (parent) {
QApplicationPrivate::leaveModal(parent);
QEvent e(QEvent::WindowUnblocked);
@@ -519,69 +365,38 @@ QStringList Q3FileDialog::winGetOpenFileNames(const QString &filter,
QApplication::sendEvent(parent, &e);
QApplicationPrivate::enterModal(parent);
}
- QT_WA({
- OPENFILENAME* ofn = makeOFN(parent, isel,
- *initialDirectory, title,
- winFilter(filter), ExistingFiles);
- if (idx)
- ofn->nFilterIndex = idx + 1;
- if (GetOpenFileName(ofn)) {
- QString fileOrDir = QString::fromUcs2((ushort*)ofn->lpstrFile);
- selFilIdx = ofn->nFilterIndex;
- int offset = fileOrDir.length() + 1;
- if (ofn->lpstrFile[offset] == 0) {
- // Only one file selected; has full path
- fi.setFile(fileOrDir);
- QString res = fi.absFilePath();
- if (!res.isEmpty())
- result.append(res);
- }
- else {
- // Several files selected; first string is path
- dir.setPath(fileOrDir);
- QString f;
- while(!(f = QString::fromUcs2((ushort*)ofn->lpstrFile+offset)).isEmpty()) {
- fi.setFile(dir, f);
- QString res = fi.absFilePath();
- if (!res.isEmpty())
- result.append(res);
- offset += f.length() + 1;
- }
- }
+
+ OPENFILENAME* ofn = makeOFN(parent, isel,
+ *initialDirectory, title,
+ winFilter(filter), ExistingFiles);
+ if (idx)
+ ofn->nFilterIndex = idx + 1;
+ if (GetOpenFileName(ofn)) {
+ QString fileOrDir = QString::fromWCharArray(ofn->lpstrFile);
+ selFilIdx = ofn->nFilterIndex;
+ int offset = fileOrDir.length() + 1;
+ if (ofn->lpstrFile[offset] == 0) {
+ // Only one file selected; has full path
+ fi.setFile(fileOrDir);
+ QString res = fi.absFilePath();
+ if (!res.isEmpty())
+ result.append(res);
}
- cleanUpOFN(&ofn);
- } , {
- OPENFILENAMEA* ofn = makeOFNA(parent, isel,
- *initialDirectory, title,
- winFilter(filter), ExistingFiles);
- if (idx)
- ofn->nFilterIndex = idx + 1;
- if (GetOpenFileNameA(ofn)) {
- QByteArray fileOrDir(ofn->lpstrFile);
- selFilIdx = ofn->nFilterIndex;
- int offset = fileOrDir.length() + 1;
- if (ofn->lpstrFile[offset] == '\0') {
- // Only one file selected; has full path
- fi.setFile(QString::fromLocal8Bit(fileOrDir));
+ else {
+ // Several files selected; first string is path
+ dir.setPath(fileOrDir);
+ QString f;
+ while (!(f = QString::fromWCharArray(ofn->lpstrFile + offset)).isEmpty()) {
+ fi.setFile(dir, f);
QString res = fi.absFilePath();
if (!res.isEmpty())
result.append(res);
+ offset += f.length() + 1;
}
- else {
- // Several files selected; first string is path
- dir.setPath(QString::fromLocal8Bit(fileOrDir));
- QByteArray f;
- while(!(f = QByteArray(ofn->lpstrFile + offset)).isEmpty()) {
- fi.setFile(dir, QString::fromLocal8Bit(f));
- QString res = fi.absFilePath();
- if (!res.isEmpty())
- result.append(res);
- offset += f.length() + 1;
- }
- }
- cleanUpOFNA(&ofn);
}
- });
+ }
+ cleanUpOFN(&ofn);
+
if (parent) {
QApplicationPrivate::leaveModal(parent);
QEvent e(QEvent::WindowUnblocked);
@@ -607,34 +422,17 @@ static int __stdcall winGetExistDirCallbackProc(HWND hwnd,
if (uMsg == BFFM_INITIALIZED && lpData != 0) {
QString *initDir = (QString *)(lpData);
if (!initDir->isEmpty()) {
- // ### Lars asks: is this correct for the A version????
- QT_WA({
- SendMessage(hwnd, BFFM_SETSELECTION, TRUE, Q_ULONG(initDir->ucs2()));
- } , {
- SendMessageA(hwnd, BFFM_SETSELECTION, TRUE, Q_ULONG(initDir->ucs2()));
- });
+ SendMessage(hwnd, BFFM_SETSELECTION, TRUE, Q_ULONG(initDir->utf16()));
}
} else if (uMsg == BFFM_SELCHANGED) {
- QT_WA({
- resolveLibs();
- TCHAR path[MAX_PATH];
- ptrSHGetPathFromIDList(LPITEMIDLIST(lParam), path);
- QString tmpStr = QString::fromUcs2((ushort*)path);
- if (!tmpStr.isEmpty())
- SendMessage(hwnd, BFFM_ENABLEOK, 1, 1);
- else
- SendMessage(hwnd, BFFM_ENABLEOK, 0, 0);
- SendMessage(hwnd, BFFM_SETSTATUSTEXT, 1, Q_ULONG(path));
- } , {
- char path[MAX_PATH];
- SHGetPathFromIDListA(LPITEMIDLIST(lParam), path);
- QString tmpStr = QString::fromLocal8Bit(path);
- if (!tmpStr.isEmpty())
- SendMessageA(hwnd, BFFM_ENABLEOK, 1, 1);
- else
- SendMessageA(hwnd, BFFM_ENABLEOK, 0, 0);
- SendMessageA(hwnd, BFFM_SETSTATUSTEXT, 1, Q_ULONG(path));
- });
+ wchar_t path[MAX_PATH];
+ SHGetPathFromIDList(LPITEMIDLIST(lParam), path);
+ QString tmpStr = QString::fromWCharArray(path);
+ if (!tmpStr.isEmpty())
+ SendMessage(hwnd, BFFM_ENABLEOK, 1, 1);
+ else
+ SendMessage(hwnd, BFFM_ENABLEOK, 0, 0);
+ SendMessage(hwnd, BFFM_SETSTATUSTEXT, 1, Q_ULONG(path));
}
#endif
return 0;
@@ -666,76 +464,42 @@ QString Q3FileDialog::winGetExistingDirectory(const QString& initialDirectory,
QApplication::sendEvent(parent, &e);
QApplicationPrivate::enterModal(parent);
}
- QT_WA({
- resolveLibs();
- QString initDir = QDir::toNativeSeparators(initialDirectory);
- TCHAR path[MAX_PATH];
- TCHAR initPath[MAX_PATH];
- initPath[0] = 0;
- path[0] = 0;
- tTitle = title;
- BROWSEINFO bi;
- bi.hwndOwner = (parent ? parent->winId() : 0);
- bi.pidlRoot = NULL;
- bi.lpszTitle = (TCHAR*)tTitle.ucs2();
- bi.pszDisplayName = initPath;
- bi.ulFlags = BIF_RETURNONLYFSDIRS | BIF_STATUSTEXT | BIF_NEWDIALOGSTYLE;
- bi.lpfn = winGetExistDirCallbackProc;
- bi.lParam = Q_ULONG(&initDir);
- LPITEMIDLIST pItemIDList = ptrSHBrowseForFolder(&bi);
- if (pItemIDList) {
- ptrSHGetPathFromIDList(pItemIDList, path);
- IMalloc *pMalloc;
- if (SHGetMalloc(&pMalloc) != NOERROR)
- result.clear();
- else {
- pMalloc->Free(pItemIDList);
- pMalloc->Release();
- result = QString::fromUcs2((ushort*)path);
- }
- } else
- result.clear();
- tTitle.clear();
- } , {
- QString initDir = QDir::toNativeSeparators(initialDirectory);
- char path[MAX_PATH];
- char initPath[MAX_PATH];
- QByteArray ctitle = title.toLocal8Bit();
- initPath[0]=0;
- path[0]=0;
- BROWSEINFOA bi;
- bi.hwndOwner = (parent ? parent->winId() : 0);
- bi.pidlRoot = NULL;
- bi.lpszTitle = ctitle;
- bi.pszDisplayName = initPath;
- bi.ulFlags = BIF_RETURNONLYFSDIRS | BIF_STATUSTEXT | BIF_NEWDIALOGSTYLE;
- bi.lpfn = winGetExistDirCallbackProc;
- bi.lParam = Q_ULONG(&initDir);
- LPITEMIDLIST pItemIDList = SHBrowseForFolderA(&bi);
- if (pItemIDList) {
- SHGetPathFromIDListA(pItemIDList, path);
- IMalloc *pMalloc;
- if (SHGetMalloc(&pMalloc) != NOERROR)
- result.clear();
- else {
- pMalloc->Free(pItemIDList);
- pMalloc->Release();
- result = QString::fromLocal8Bit(path);
- }
- } else
+
+ QString initDir = QDir::toNativeSeparators(initialDirectory);
+ wchar_t path[MAX_PATH];
+ wchar_t initPath[MAX_PATH];
+ initPath[0] = 0;
+ path[0] = 0;
+ tTitle = title;
+ BROWSEINFO bi;
+ bi.hwndOwner = (parent ? parent->winId() : 0);
+ bi.pidlRoot = NULL;
+ bi.lpszTitle = (wchar_t*)tTitle.utf16();
+ bi.pszDisplayName = initPath;
+ bi.ulFlags = BIF_RETURNONLYFSDIRS | BIF_STATUSTEXT | BIF_NEWDIALOGSTYLE;
+ bi.lpfn = winGetExistDirCallbackProc;
+ bi.lParam = Q_ULONG(&initDir);
+ LPITEMIDLIST pItemIDList = SHBrowseForFolder(&bi);
+ if (pItemIDList) {
+ SHGetPathFromIDList(pItemIDList, path);
+ IMalloc *pMalloc;
+ if (SHGetMalloc(&pMalloc) != NOERROR)
result.clear();
- });
+ else {
+ pMalloc->Free(pItemIDList);
+ pMalloc->Release();
+ result = QString::fromWCharArray(path);
+ }
+ } else
+ result.clear();
+ tTitle.clear();
+
if (parent) {
QApplicationPrivate::leaveModal(parent);
QEvent e(QEvent::WindowUnblocked);
QApplication::sendEvent(parent, &e);
}
- // Due to a bug on Windows Me, we need to reset the current
- // directory
- if ((qWinVersion() == Qt::WV_98 || qWinVersion() == Qt::WV_Me) && QDir::currentDirPath() != currentDir)
- QDir::setCurrent(currentDir);
-
if (!result.isEmpty())
result.replace(QLatin1Char('\\'), QLatin1Char('/'));
return result;
diff --git a/src/qt3support/dialogs/q3tabdialog.cpp b/src/qt3support/dialogs/q3tabdialog.cpp
index 50dbd48..a65affc 100644
--- a/src/qt3support/dialogs/q3tabdialog.cpp
+++ b/src/qt3support/dialogs/q3tabdialog.cpp
@@ -1038,7 +1038,7 @@ QString Q3TabDialog::tabLabel(QWidget * w)
}
-/*! \reimp
+/*! \internal
*/
void Q3TabDialog::styleChange(QStyle& s)
{
diff --git a/src/qt3support/itemviews/q3table.cpp b/src/qt3support/itemviews/q3table.cpp
index 8e6c570..9d1ae97 100644
--- a/src/qt3support/itemviews/q3table.cpp
+++ b/src/qt3support/itemviews/q3table.cpp
@@ -6412,7 +6412,7 @@ void Q3Table::startDrag()
#endif
-/*! \reimp */
+/*! \internal */
void Q3Table::windowActivationChange(bool oldActive)
{
if (oldActive && autoScrollTimer)
diff --git a/src/qt3support/network/q3dns.cpp b/src/qt3support/network/q3dns.cpp
index b80b76b..6d514c1 100644
--- a/src/qt3support/network/q3dns.cpp
+++ b/src/qt3support/network/q3dns.cpp
@@ -2242,53 +2242,31 @@ typedef struct {
typedef DWORD (WINAPI *GNP)( PFIXED_INFO, PULONG );
// ### FIXME: this code is duplicated in qfiledialog.cpp
-static QString getWindowsRegString( HKEY key, const QString &subKey )
+static QString getWindowsRegString(HKEY key, const QString &subKey)
{
QString s;
- QT_WA( {
- char buf[1024];
- DWORD bsz = sizeof(buf);
- int r = RegQueryValueEx( key, (TCHAR*)subKey.ucs2(), 0, 0, (LPBYTE)buf, &bsz );
- if ( r == ERROR_SUCCESS ) {
- s = QString::fromUcs2( (unsigned short *)buf );
- } else if ( r == ERROR_MORE_DATA ) {
- char *ptr = new char[bsz+1];
- r = RegQueryValueEx( key, (TCHAR*)subKey.ucs2(), 0, 0, (LPBYTE)ptr, &bsz );
- if ( r == ERROR_SUCCESS )
- s = QLatin1String(ptr);
- delete [] ptr;
- }
- } , {
- char buf[512];
- DWORD bsz = sizeof(buf);
- int r = RegQueryValueExA( key, subKey.local8Bit(), 0, 0, (LPBYTE)buf, &bsz );
- if ( r == ERROR_SUCCESS ) {
- s = QLatin1String(buf);
- } else if ( r == ERROR_MORE_DATA ) {
- char *ptr = new char[bsz+1];
- r = RegQueryValueExA( key, subKey.local8Bit(), 0, 0, (LPBYTE)ptr, &bsz );
- if ( r == ERROR_SUCCESS )
- s = QLatin1String(ptr);
- delete [] ptr;
- }
- } );
+
+ wchar_t buf[1024];
+ DWORD bsz = sizeof(buf) / sizeof(wchar_t);
+ int r = RegQueryValueEx(key, (wchar_t*)subKey.utf16(), 0, 0, (LPBYTE)buf, &bsz);
+ if (r == ERROR_SUCCESS) {
+ s = QString::fromWCharArray(buf);
+ } else if (r == ERROR_MORE_DATA) {
+ char *ptr = new char[bsz+1];
+ r = RegQueryValueEx(key, (wchar_t*)subKey.utf16(), 0, 0, (LPBYTE)ptr, &bsz);
+ if (r == ERROR_SUCCESS)
+ s = QLatin1String(ptr);
+ delete [] ptr;
+ }
+
return s;
}
static bool getDnsParamsFromRegistry( const QString &path,
- QString *domainName, QString *nameServer, QString *searchList )
+ QString *domainName, QString *nameServer, QString *searchList )
{
HKEY k;
- int r;
- QT_WA( {
- r = RegOpenKeyEx( HKEY_LOCAL_MACHINE,
- (TCHAR*)path.ucs2(),
- 0, KEY_READ, &k );
- } , {
- r = RegOpenKeyExA( HKEY_LOCAL_MACHINE,
- path.latin1(),
- 0, KEY_READ, &k );
- } );
+ int r = RegOpenKeyEx( HKEY_LOCAL_MACHINE, (wchar_t*)path.utf16(), 0, KEY_READ, &k );
if ( r == ERROR_SUCCESS ) {
*domainName = getWindowsRegString( k, QLatin1String("DhcpDomain") );
@@ -2321,14 +2299,10 @@ void Q3Dns::doResInit()
bool gotNetworkParams = false;
// try the API call GetNetworkParams() first and use registry lookup only
// as a fallback
-#ifdef Q_OS_WINCE
- HINSTANCE hinstLib = LoadLibraryW( L"iphlpapi" );
-#else
- HINSTANCE hinstLib = LoadLibraryA( "iphlpapi" );
-#endif
+ HINSTANCE hinstLib = LoadLibrary( L"iphlpapi" );
if ( hinstLib != 0 ) {
#ifdef Q_OS_WINCE
- GNP getNetworkParams = (GNP) GetProcAddressW( hinstLib, L"GetNetworkParams" );
+ GNP getNetworkParams = (GNP) GetProcAddress( hinstLib, L"GetNetworkParams" );
#else
GNP getNetworkParams = (GNP) GetProcAddress( hinstLib, "GetNetworkParams" );
#endif
@@ -2362,13 +2336,7 @@ void Q3Dns::doResInit()
if ( getDnsParamsFromRegistry(
QLatin1String("System\\CurrentControlSet\\Services\\Tcpip\\Parameters"),
&domainName, &nameServer, &searchList )) {
- // for NT
separator = ' ';
- } else if ( getDnsParamsFromRegistry(
- QLatin1String("System\\CurrentControlSet\\Services\\VxD\\MSTCP"),
- &domainName, &nameServer, &searchList )) {
- // for Windows 98
- separator = ',';
} else {
// Could not access the TCP/IP parameters
domainName = QLatin1String("");
diff --git a/src/qt3support/network/q3http.cpp b/src/qt3support/network/q3http.cpp
index 59adc27..dba4e88 100644
--- a/src/qt3support/network/q3http.cpp
+++ b/src/qt3support/network/q3http.cpp
@@ -785,7 +785,7 @@ int Q3HttpResponseHeader::minorVersion() const
return minVer;
}
-/*! \reimp
+/*! \internal
*/
bool Q3HttpResponseHeader::parseLine( const QString& line, int number )
{
@@ -952,7 +952,7 @@ int Q3HttpRequestHeader::minorVersion() const
return minVer;
}
-/*! \reimp
+/*! \internal
*/
bool Q3HttpRequestHeader::parseLine( const QString& line, int number )
{
diff --git a/src/qt3support/network/q3socketdevice_win.cpp b/src/qt3support/network/q3socketdevice_win.cpp
index 926d699..a0f0c0f 100644
--- a/src/qt3support/network/q3socketdevice_win.cpp
+++ b/src/qt3support/network/q3socketdevice_win.cpp
@@ -47,20 +47,15 @@
#include <string.h>
+# include <qt_windows.h>
#if defined (QT_NO_IPV6)
-# include <windows.h>
# include <winsock.h>
#else
# if defined (Q_CC_BOR) || defined (Q_CC_GNU)
# include <winsock2.h>
-# elif defined (Q_CC_INTEL)
-# include <winsock.h>
# else
-# include <windows.h>
-# if defined(Q_OS_WINCE)
# include <winsock.h>
# endif
-# endif
// Use our own defines and structs which we know are correct
# define QT_SS_MAXSIZE 128
# define QT_SS_ALIGNSIZE (sizeof(__int64))
diff --git a/src/qt3support/other/q3dragobject.cpp b/src/qt3support/other/q3dragobject.cpp
index 0c17e0c..93a6079 100644
--- a/src/qt3support/other/q3dragobject.cpp
+++ b/src/qt3support/other/q3dragobject.cpp
@@ -191,8 +191,7 @@ Q3DragObject::~Q3DragObject()
Set the pixmap, \a pm, to display while dragging the object. The
platform-specific implementation will use this where it can - so
provide a small masked pixmap, and do not assume that the user
- will actually see it. For example, cursors on Windows 95 are of
- limited size.
+ will actually see it.
The \a hotspot is the point on (or off) the pixmap that should be
under the cursor as it is dragged. It is relative to the top-left
@@ -553,10 +552,6 @@ QTextCodec* qt_findcharset(const QByteArray& mimetype)
i = cs.indexOf(';');
if (i >= 0)
cs = cs.left(i);
- // win98 often has charset=utf16, and we need to get the correct codec for
- // it to be able to get Unicode text drops.
- if (cs == "utf16")
- cs = "ISO-10646-UCS-2";
// May return 0 if unknown charset
return QTextCodec::codecForName(cs);
}
diff --git a/src/qt3support/other/q3dragobject.h b/src/qt3support/other/q3dragobject.h
index c25e54b..356e1f7 100644
--- a/src/qt3support/other/q3dragobject.h
+++ b/src/qt3support/other/q3dragobject.h
@@ -68,7 +68,7 @@ class QPixmap;
class Q_COMPAT_EXPORT Q3DragObject : public QObject, public QMimeSource {
Q_OBJECT
- Q_DECLARE_SCOPED_PRIVATE(Q3DragObject)
+ Q_DECLARE_PRIVATE(Q3DragObject)
public:
Q3DragObject(QWidget * dragSource = 0, const char *name = 0);
virtual ~Q3DragObject();
@@ -99,7 +99,7 @@ private:
class Q_COMPAT_EXPORT Q3StoredDrag: public Q3DragObject {
Q_OBJECT
- Q_DECLARE_SCOPED_PRIVATE(Q3StoredDrag)
+ Q_DECLARE_PRIVATE(Q3StoredDrag)
public:
Q3StoredDrag(const char *mimeType, QWidget *dragSource = 0, const char *name = 0);
~Q3StoredDrag();
@@ -118,7 +118,7 @@ private:
class Q_COMPAT_EXPORT Q3TextDrag: public Q3DragObject {
Q_OBJECT
- Q_DECLARE_SCOPED_PRIVATE(Q3TextDrag)
+ Q_DECLARE_PRIVATE(Q3TextDrag)
public:
Q3TextDrag(const QString &, QWidget *dragSource = 0, const char *name = 0);
Q3TextDrag(QWidget * dragSource = 0, const char * name = 0);
@@ -143,7 +143,7 @@ private:
class Q_COMPAT_EXPORT Q3ImageDrag: public Q3DragObject {
Q_OBJECT
- Q_DECLARE_SCOPED_PRIVATE(Q3ImageDrag)
+ Q_DECLARE_PRIVATE(Q3ImageDrag)
public:
Q3ImageDrag(QImage image, QWidget * dragSource = 0, const char * name = 0);
Q3ImageDrag(QWidget * dragSource = 0, const char * name = 0);
diff --git a/src/qt3support/other/q3process_win.cpp b/src/qt3support/other/q3process_win.cpp
index 352e497..0952663 100644
--- a/src/qt3support/other/q3process_win.cpp
+++ b/src/qt3support/other/q3process_win.cpp
@@ -308,108 +308,60 @@ bool Q3Process::start( QStringList *env )
// CreateProcess()
bool success;
d->newPid();
-#ifdef UNICODE
- if (!(QSysInfo::WindowsVersion & QSysInfo::WV_DOS_based)) {
- STARTUPINFOW startupInfo = {
- sizeof( STARTUPINFO ), 0, 0, 0,
- (ulong)CW_USEDEFAULT, (ulong)CW_USEDEFAULT, (ulong)CW_USEDEFAULT, (ulong)CW_USEDEFAULT,
- 0, 0, 0,
- STARTF_USESTDHANDLES,
- 0, 0, 0,
- d->pipeStdin[0], d->pipeStdout[1], d->pipeStderr[1]
- };
- TCHAR *applicationName;
- if ( appName.isNull() )
- applicationName = 0;
- else
- applicationName = _wcsdup( (TCHAR*)appName.ucs2() );
- TCHAR *commandLine = _wcsdup( (TCHAR*)args.ucs2() );
- QByteArray envlist;
- if ( env != 0 ) {
- int pos = 0;
- // add PATH if necessary (for DLL loading)
- QByteArray path = qgetenv( "PATH" );
- if ( env->grep( QRegExp(QLatin1String("^PATH="),FALSE) ).empty() && !path.isNull() ) {
- QString tmp = QString::fromLatin1("PATH=%1").arg(QLatin1String(path.constData()));
- uint tmpSize = sizeof(TCHAR) * (tmp.length()+1);
- envlist.resize( envlist.size() + tmpSize );
- memcpy( envlist.data()+pos, tmp.ucs2(), tmpSize );
- pos += tmpSize;
- }
- // add the user environment
- for ( QStringList::Iterator it = env->begin(); it != env->end(); it++ ) {
- QString tmp = *it;
- uint tmpSize = sizeof(TCHAR) * (tmp.length()+1);
- envlist.resize( envlist.size() + tmpSize );
- memcpy( envlist.data()+pos, tmp.ucs2(), tmpSize );
- pos += tmpSize;
- }
- // add the 2 terminating 0 (actually 4, just to be on the safe side)
- envlist.resize( envlist.size()+4 );
- envlist[pos++] = 0;
- envlist[pos++] = 0;
- envlist[pos++] = 0;
- envlist[pos++] = 0;
- }
- success = CreateProcessW( applicationName, commandLine,
- 0, 0, TRUE, ( comms==0 ? CREATE_NEW_CONSOLE : CREATE_NO_WINDOW )
+
+ STARTUPINFOW startupInfo = {
+ sizeof( STARTUPINFO ), 0, 0, 0,
+ (ulong)CW_USEDEFAULT, (ulong)CW_USEDEFAULT, (ulong)CW_USEDEFAULT, (ulong)CW_USEDEFAULT,
+ 0, 0, 0,
+ STARTF_USESTDHANDLES,
+ 0, 0, 0,
+ d->pipeStdin[0], d->pipeStdout[1], d->pipeStderr[1]
+ };
+ wchar_t *applicationName;
+ if ( appName.isNull() )
+ applicationName = 0;
+ else
+ applicationName = _wcsdup( (wchar_t*)appName.utf16() );
+ wchar_t *commandLine = _wcsdup( (wchar_t*)args.utf16() );
+ QByteArray envlist;
+ if ( env != 0 ) {
+ int pos = 0;
+ // add PATH if necessary (for DLL loading)
+ QByteArray path = qgetenv( "PATH" );
+ if ( env->grep( QRegExp(QLatin1String("^PATH="),FALSE) ).empty() && !path.isNull() ) {
+ QString tmp = QString::fromLatin1("PATH=%1").arg(QLatin1String(path.constData()));
+ uint tmpSize = sizeof(wchar_t) * (tmp.length() + 1);
+ envlist.resize( envlist.size() + tmpSize );
+ memcpy( envlist.data() + pos, tmp.utf16(), tmpSize );
+ pos += tmpSize;
+ }
+ // add the user environment
+ for ( QStringList::Iterator it = env->begin(); it != env->end(); it++ ) {
+ QString tmp = *it;
+ uint tmpSize = sizeof(wchar_t) * (tmp.length() + 1);
+ envlist.resize( envlist.size() + tmpSize );
+ memcpy( envlist.data() + pos, tmp.utf16(), tmpSize );
+ pos += tmpSize;
+ }
+ // add the 2 terminating 0 (actually 4, just to be on the safe side)
+ envlist.resize( envlist.size()+4 );
+ envlist[pos++] = 0;
+ envlist[pos++] = 0;
+ envlist[pos++] = 0;
+ envlist[pos++] = 0;
+ }
+ success = CreateProcess( applicationName, commandLine,
+ 0, 0, TRUE, ( comms == 0 ? CREATE_NEW_CONSOLE : CREATE_NO_WINDOW )
#ifndef Q_OS_WINCE
- | CREATE_UNICODE_ENVIRONMENT
+ | CREATE_UNICODE_ENVIRONMENT
#endif
- , env==0 ? 0 : envlist.data(),
- (TCHAR*)QDir::toNativeSeparators(workingDir.absPath()).ucs2(),
- &startupInfo, d->pid );
- free( applicationName );
- free( commandLine );
- } else
-#endif // UNICODE
- {
-#ifndef Q_OS_WINCE
- STARTUPINFOA startupInfo = { sizeof( STARTUPINFOA ), 0, 0, 0,
- (ulong)CW_USEDEFAULT, (ulong)CW_USEDEFAULT, (ulong)CW_USEDEFAULT, (ulong)CW_USEDEFAULT,
- 0, 0, 0,
- STARTF_USESTDHANDLES,
- 0, 0, 0,
- d->pipeStdin[0], d->pipeStdout[1], d->pipeStderr[1]
- };
- QByteArray envlist;
- if ( env != 0 ) {
- int pos = 0;
- // add PATH if necessary (for DLL loading)
- QByteArray path = qgetenv( "PATH" );
- if ( env->grep( QRegExp(QLatin1String("^PATH="),FALSE) ).empty() && !path.isNull() ) {
- Q3CString tmp = QString::fromLatin1("PATH=%1").arg(QString::fromLatin1(path.constData())).local8Bit();
- uint tmpSize = tmp.length() + 1;
- envlist.resize( envlist.size() + tmpSize );
- memcpy( envlist.data()+pos, tmp.data(), tmpSize );
- pos += tmpSize;
- }
- // add the user environment
- for ( QStringList::Iterator it = env->begin(); it != env->end(); it++ ) {
- Q3CString tmp = (*it).local8Bit();
- uint tmpSize = tmp.length() + 1;
- envlist.resize( envlist.size() + tmpSize );
- memcpy( envlist.data()+pos, tmp.data(), tmpSize );
- pos += tmpSize;
- }
- // add the terminating 0 (actually 2, just to be on the safe side)
- envlist.resize( envlist.size()+2 );
- envlist[pos++] = 0;
- envlist[pos++] = 0;
- }
- char *applicationName;
- if ( appName.isNull() )
- applicationName = 0;
- else
- applicationName = const_cast<char *>(appName.toLocal8Bit().data());
- success = CreateProcessA( applicationName,
- const_cast<char *>(args.toLocal8Bit().data()),
- 0, 0, TRUE, comms==0 ? CREATE_NEW_CONSOLE : DETACHED_PROCESS,
- env==0 ? 0 : envlist.data(),
- (const char*)QDir::toNativeSeparators(workingDir.absPath()).local8Bit(),
- &startupInfo, d->pid );
-#endif // Q_OS_WINCE
- }
+ , env == 0 ? 0 : envlist.data(),
+ (wchar_t*)QDir::toNativeSeparators(workingDir.absPath()).utf16(),
+ &startupInfo, d->pid );
+
+ free( applicationName );
+ free( commandLine );
+
if ( !success ) {
d->deletePid();
return false;
diff --git a/src/qt3support/painting/q3paintengine_svg_p.h b/src/qt3support/painting/q3paintengine_svg_p.h
index 1faffff..26452ab 100644
--- a/src/qt3support/painting/q3paintengine_svg_p.h
+++ b/src/qt3support/painting/q3paintengine_svg_p.h
@@ -63,7 +63,7 @@ class Q3SVGPaintEnginePrivate;
class Q3SVGPaintEngine : public QPaintEngine
{
- Q_DECLARE_SCOPED_PRIVATE(Q3SVGPaintEngine)
+ Q_DECLARE_PRIVATE(Q3SVGPaintEngine)
public:
Q3SVGPaintEngine();
diff --git a/src/qt3support/sql/q3datatable.cpp b/src/qt3support/sql/q3datatable.cpp
index 638aff8..d8d3c2b 100644
--- a/src/qt3support/sql/q3datatable.cpp
+++ b/src/qt3support/sql/q3datatable.cpp
@@ -1726,8 +1726,6 @@ void Q3DataTable::repaintCell( int row, int col )
the content coordinate system. If \a selected is true the cell has
been selected and would normally be rendered differently than an
unselected cell.
-
- \sa QSql::isNull()
*/
void Q3DataTable::paintCell( QPainter * p, int row, int col, const QRect & cr,
diff --git a/src/qt3support/sql/q3sqlcursor.cpp b/src/qt3support/sql/q3sqlcursor.cpp
index 6b0c69f..aa6aae2 100644
--- a/src/qt3support/sql/q3sqlcursor.cpp
+++ b/src/qt3support/sql/q3sqlcursor.cpp
@@ -879,7 +879,7 @@ QString Q3SqlCursor::toString(const QString& prefix, QSqlField* field, const QSt
{
QString f;
if (field && driver()) {
- f = (prefix.length() > 0 ? prefix + QLatin1Char('.') : QString()) + field->name();
+ f = (prefix.length() > 0 ? prefix + QLatin1Char('.') : QString()) + driver()->escapeIdentifier(field->name(), QSqlDriver::FieldName);
f += QLatin1Char(' ') + fieldSep + QLatin1Char(' ');
if (field->isNull()) {
f += QLatin1String("NULL");
diff --git a/src/qt3support/tools/q3cstring.cpp b/src/qt3support/tools/q3cstring.cpp
index 39f1c43..b33b9b6 100644
--- a/src/qt3support/tools/q3cstring.cpp
+++ b/src/qt3support/tools/q3cstring.cpp
@@ -77,11 +77,23 @@ QT_BEGIN_NAMESPACE
and '\0' (NUL byte) terminated; otherwise the results are
undefined.
- A Q3CString that has not been assigned to anything is \e null, i.e.
- both the length and the data pointer is 0. A Q3CString that
- references the empty string ("", a single '\0' char) is \e empty.
- Both null and empty Q3CStrings are legal parameters to the methods.
- Assigning \c{const char *} 0 to Q3CString produces a null Q3CString.
+ A default constructed Q3CString is \e null, i.e. both the length
+ and the data pointer are 0 and isNull() returns true.
+
+ \note However, if you ask for the data pointer of a null Q3CString
+ by calling data(), then because the internal representation of the
+ null Q3CString is shared, it will be detached and replaced with a
+ non-shared, empty representation, a non-null data pointer will be
+ returned, and subsequent calls to isNull() will return false. But
+ if you ask for the data pointer of a null Q3CString by calling
+ constData(), the shared internal representation is not detached, a
+ null data pointer is returned, and subsequent calls to isNull()
+ will continue to return true.
+
+ A Q3CString that references the empty string ("", a single '\0'
+ char) is \e empty, i.e. isEmpty() returns true. Both null and
+ empty Q3CStrings are legal parameters to the methods. Assigning
+ \c{const char *} 0 to Q3CString produces a null Q3CString.
The length() function returns the length of the string; resize()
resizes the string and truncate() truncates the string. A string
@@ -321,6 +333,16 @@ QT_BEGIN_NAMESPACE
Returns true if the string is null, i.e. if data() == 0; otherwise
returns false. A null string is also an empty string.
+ \note If you ask for the data pointer of a null Q3CString by
+ calling data(), then because the internal representation of the
+ null Q3CString is shared, it will be detached and replaced with a
+ non-shared, empty representation, a non-null data pointer will be
+ returned, and subsequent calls to isNull() will return false. But
+ if you ask for the data pointer of a null Q3CString by calling
+ constData(), the shared internal representation is not detached, a
+ null data pointer is returned, and subsequent calls to isNull()
+ will continue to return true.
+
Example:
\snippet doc/src/snippets/code/src.qt3support.tools.q3cstring.cpp 1
diff --git a/src/qt3support/widgets/q3datetimeedit.cpp b/src/qt3support/widgets/q3datetimeedit.cpp
index b6e303c..71a8ffd 100644
--- a/src/qt3support/widgets/q3datetimeedit.cpp
+++ b/src/qt3support/widgets/q3datetimeedit.cpp
@@ -114,39 +114,21 @@ static void readLocaleSettings()
lTimeSep = new QString();
#if defined(Q_WS_WIN)
- QT_WA({
- TCHAR data[10];
- GetLocaleInfo(LOCALE_USER_DEFAULT, LOCALE_SDATE, data, 10);
- *lDateSep = QString::fromUtf16((ushort*)data);
- GetLocaleInfo(LOCALE_USER_DEFAULT, LOCALE_STIME, data, 10);
- *lTimeSep = QString::fromUtf16((ushort*)data);
- GetLocaleInfo(LOCALE_USER_DEFAULT, LOCALE_ITIME, data, 10);
- lAMPM = QString::fromUtf16((ushort*)data).toInt()==0;
- GetLocaleInfo(LOCALE_USER_DEFAULT, LOCALE_S1159, data, 10);
- QString am = QString::fromUtf16((ushort*)data);
- if (!am.isEmpty())
- lAM = new QString(am);
- GetLocaleInfo(LOCALE_USER_DEFAULT, LOCALE_S2359, data, 10);
- QString pm = QString::fromUtf16((ushort*)data);
- if (!pm.isEmpty() )
- lPM = new QString(pm);
- } , {
- char data[10];
- GetLocaleInfoA(LOCALE_USER_DEFAULT, LOCALE_SDATE, (char*)&data, 10);
- *lDateSep = QString::fromLocal8Bit(data);
- GetLocaleInfoA(LOCALE_USER_DEFAULT, LOCALE_STIME, (char*)&data, 10);
- *lTimeSep = QString::fromLocal8Bit(data);
- GetLocaleInfoA(LOCALE_USER_DEFAULT, LOCALE_ITIME, (char*)&data, 10);
- lAMPM = QString::fromLocal8Bit(data).toInt()==0;
- GetLocaleInfoA(LOCALE_USER_DEFAULT, LOCALE_S1159, (char*)&data, 10);
- QString am = QString::fromLocal8Bit(data);
- if (!am.isEmpty())
- lAM = new QString(am);
- GetLocaleInfoA(LOCALE_USER_DEFAULT, LOCALE_S2359, (char*)&data, 10);
- QString pm = QString::fromLocal8Bit(data);
- if (!pm.isEmpty())
- lPM = new QString(pm);
- });
+ wchar_t data[10];
+ GetLocaleInfo(LOCALE_USER_DEFAULT, LOCALE_SDATE, data, 10);
+ *lDateSep = QString::fromWCharArray(data);
+ GetLocaleInfo(LOCALE_USER_DEFAULT, LOCALE_STIME, data, 10);
+ *lTimeSep = QString::fromWCharArray(data);
+ GetLocaleInfo(LOCALE_USER_DEFAULT, LOCALE_ITIME, data, 10);
+ lAMPM = QString::fromWCharArray(data).toInt() == 0;
+ GetLocaleInfo(LOCALE_USER_DEFAULT, LOCALE_S1159, data, 10);
+ QString am = QString::fromWCharArray(data);
+ if (!am.isEmpty())
+ lAM = new QString(am);
+ GetLocaleInfo(LOCALE_USER_DEFAULT, LOCALE_S2359, data, 10);
+ QString pm = QString::fromWCharArray(data);
+ if (!pm.isEmpty() )
+ lPM = new QString(pm);
#else
*lDateSep = QLatin1Char('-');
*lTimeSep = QLatin1Char(':');
@@ -1262,7 +1244,7 @@ Q3DateEdit::Order Q3DateEdit::order() const
}
-/*! \reimp
+/*! \internal
*/
void Q3DateEdit::stepUp()
@@ -1294,7 +1276,7 @@ void Q3DateEdit::stepUp()
-/*! \reimp
+/*! \internal
*/
@@ -1458,7 +1440,7 @@ bool Q3DateEdit::outOfRange(int y, int m, int d) const
return false; /* assume ok */
}
-/*! \reimp
+/*! \internal
*/
@@ -1552,7 +1534,7 @@ void Q3DateEdit::addNumber(int sec, int num)
}
-/*! \reimp
+/*! \internal
*/
@@ -1699,7 +1681,7 @@ void Q3DateEdit::removeFirstNumber(int sec)
d->ed->repaint(d->ed->rect());
}
-/*! \reimp
+/*! \internal
*/
@@ -2077,7 +2059,7 @@ void Q3TimeEdit::timerEvent(QTimerEvent *)
}
-/*! \reimp
+/*! \internal
*/
@@ -2123,7 +2105,7 @@ void Q3TimeEdit::stepUp()
}
-/*! \reimp
+/*! \internal
*/
@@ -2191,7 +2173,7 @@ QString Q3TimeEdit::sectionFormattedText(int sec)
}
-/*! \reimp
+/*! \internal
*/
@@ -2326,7 +2308,7 @@ bool Q3TimeEdit::outOfRange(int h, int m, int s) const
return true;
}
-/*! \reimp
+/*! \internal
*/
@@ -2495,7 +2477,7 @@ void Q3TimeEdit::removeFirstNumber(int sec)
d->ed->repaint(d->ed->rect());
}
-/*! \reimp
+/*! \internal
*/
void Q3TimeEdit::removeLastNumber(int sec)
@@ -2666,13 +2648,12 @@ Q3DateTimeEdit::~Q3DateTimeEdit()
}
-/*!
+/*! \fn void Q3DateTimeEdit::resizeEvent(QResizeEvent *event)
\reimp
- Intercepts and handles resize events which have special meaning
- for the Q3DateTimeEdit.
+ Intercepts and handles the resize \a event, which hase a
+ special meaning for the Q3DateTimeEdit.
*/
-
void Q3DateTimeEdit::resizeEvent(QResizeEvent *)
{
int dw = de->sizeHint().width();
diff --git a/src/qt3support/widgets/q3dockarea.cpp b/src/qt3support/widgets/q3dockarea.cpp
index a00bc81..d76835a 100644
--- a/src/qt3support/widgets/q3dockarea.cpp
+++ b/src/qt3support/widgets/q3dockarea.cpp
@@ -473,24 +473,25 @@ int Q3DockAreaLayout::widthForHeight(int h) const
contain Q3ToolBars since Q3ToolBar is a Q3DockWindow subclass.
QMainWindow contains four Q3DockAreas which you can use for your
- Q3ToolBars and Q3DockWindows, so in most situations you do not need
- to use the Q3DockArea class directly. Although QMainWindow contains
- support for its own dock areas it isn't convenient for adding new
- Q3DockAreas. If you need to create your own dock areas we suggest
- that you create a subclass of QWidget and add your Q3DockAreas to
- your subclass.
+ Q3ToolBars and Q3DockWindows, so in most situations you do not
+ need to use the Q3DockArea class directly. Although QMainWindow
+ contains support for its own dock areas, you can't add new ones.
+ You also can't add a Q3DockArea to your own subclass of QWidget.
+ It won't be shown.
\img qmainwindow-qdockareas.png QMainWindow's Q3DockAreas
\target lines
- \e Lines. Q3DockArea uses the concept of lines. A line is a
- horizontal region which may contain dock windows side-by-side. A
- dock area may have room for more than one line. When dock windows
- are docked into a dock area they are usually added at the right
- hand side of the top-most line that has room (unless manually
- placed by the user). When users move dock windows they may leave
- empty lines or gaps in non-empty lines. Qt::Dock windows can be lined
- up to minimize wasted space using the lineUp() function.
+ \section1 Lines.
+
+ Q3DockArea uses the concept of lines. A line is a horizontal
+ region which may contain dock windows side-by-side. A dock area
+ may have room for more than one line. When dock windows are docked
+ into a dock area they are usually added at the right hand side of
+ the top-most line that has room (unless manually placed by the
+ user). When users move dock windows they may leave empty lines or
+ gaps in non-empty lines. Qt::Dock windows can be lined up to
+ minimize wasted space using the lineUp() function.
The Q3DockArea class maintains a position list of all its child
dock windows. Qt::Dock windows are added to a dock area from position
diff --git a/src/qt3support/widgets/q3mainwindow.h b/src/qt3support/widgets/q3mainwindow.h
index 2e056b4..60dea5d 100644
--- a/src/qt3support/widgets/q3mainwindow.h
+++ b/src/qt3support/widgets/q3mainwindow.h
@@ -66,7 +66,7 @@ template<class T> class QList;
class Q_COMPAT_EXPORT Q3MainWindow: public QWidget
{
Q_OBJECT
- Q_DECLARE_SCOPED_PRIVATE(Q3MainWindow)
+ Q_DECLARE_PRIVATE(Q3MainWindow)
Q_PROPERTY(bool rightJustification READ rightJustification WRITE setRightJustification DESIGNABLE false)
Q_PROPERTY(bool usesBigPixmaps READ usesBigPixmaps WRITE setUsesBigPixmaps)
diff --git a/src/qt3support/widgets/q3scrollview.cpp b/src/qt3support/widgets/q3scrollview.cpp
index cea385a..95e2117 100644
--- a/src/qt3support/widgets/q3scrollview.cpp
+++ b/src/qt3support/widgets/q3scrollview.cpp
@@ -669,7 +669,7 @@ bool Q3ScrollView::isVerticalSliderPressed()
}
/*!
- \reimp
+ \internal
*/
void Q3ScrollView::styleChange(QStyle& old)
{
@@ -679,7 +679,7 @@ void Q3ScrollView::styleChange(QStyle& old)
}
/*!
- \reimp
+ \internal
*/
void Q3ScrollView::fontChange(const QFont &old)
{
diff --git a/src/qt3support/widgets/q3titlebar.cpp b/src/qt3support/widgets/q3titlebar.cpp
index a05e4e5..ee3decf 100644
--- a/src/qt3support/widgets/q3titlebar.cpp
+++ b/src/qt3support/widgets/q3titlebar.cpp
@@ -173,35 +173,20 @@ void Q3TitleBarPrivate::readColors()
bool colorsInitialized = false;
#ifdef Q_WS_WIN // ask system properties on windows
-#ifndef SPI_GETGRADIENTCAPTIONS
-#define SPI_GETGRADIENTCAPTIONS 0x1008
-#endif
-#ifndef COLOR_GRADIENTACTIVECAPTION
-#define COLOR_GRADIENTACTIVECAPTION 27
-#endif
-#ifndef COLOR_GRADIENTINACTIVECAPTION
-#define COLOR_GRADIENTINACTIVECAPTION 28
-#endif
if (QApplication::desktopSettingsAware()) {
pal.setColor(QPalette::Active, QPalette::Highlight, colorref2qrgb(GetSysColor(COLOR_ACTIVECAPTION)));
pal.setColor(QPalette::Inactive, QPalette::Highlight, colorref2qrgb(GetSysColor(COLOR_INACTIVECAPTION)));
pal.setColor(QPalette::Active, QPalette::HighlightedText, colorref2qrgb(GetSysColor(COLOR_CAPTIONTEXT)));
pal.setColor(QPalette::Inactive, QPalette::HighlightedText, colorref2qrgb(GetSysColor(COLOR_INACTIVECAPTIONTEXT)));
- if (QSysInfo::WindowsVersion != QSysInfo::WV_95 && QSysInfo::WindowsVersion != QSysInfo::WV_NT) {
- colorsInitialized = true;
- BOOL gradient;
- QT_WA({
- SystemParametersInfo(SPI_GETGRADIENTCAPTIONS, 0, &gradient, 0);
- } , {
- SystemParametersInfoA(SPI_GETGRADIENTCAPTIONS, 0, &gradient, 0);
- });
- if (gradient) {
- pal.setColor(QPalette::Active, QPalette::Base, colorref2qrgb(GetSysColor(COLOR_GRADIENTACTIVECAPTION)));
- pal.setColor(QPalette::Inactive, QPalette::Base, colorref2qrgb(GetSysColor(COLOR_GRADIENTINACTIVECAPTION)));
- } else {
- pal.setColor(QPalette::Active, QPalette::Base, pal.color(QPalette::Active, QPalette::Highlight));
- pal.setColor(QPalette::Inactive, QPalette::Base, pal.color(QPalette::Inactive, QPalette::Highlight));
- }
+ colorsInitialized = true;
+ BOOL gradient = false;
+ SystemParametersInfo(SPI_GETGRADIENTCAPTIONS, 0, &gradient, 0);
+ if (gradient) {
+ pal.setColor(QPalette::Active, QPalette::Base, colorref2qrgb(GetSysColor(COLOR_GRADIENTACTIVECAPTION)));
+ pal.setColor(QPalette::Inactive, QPalette::Base, colorref2qrgb(GetSysColor(COLOR_GRADIENTINACTIVECAPTION)));
+ } else {
+ pal.setColor(QPalette::Active, QPalette::Base, pal.color(QPalette::Active, QPalette::Highlight));
+ pal.setColor(QPalette::Inactive, QPalette::Base, pal.color(QPalette::Inactive, QPalette::Highlight));
}
}
#endif // Q_WS_WIN
diff --git a/src/qt3support/widgets/q3titlebar_p.h b/src/qt3support/widgets/q3titlebar_p.h
index 6b3c22c..c4be34e 100644
--- a/src/qt3support/widgets/q3titlebar_p.h
+++ b/src/qt3support/widgets/q3titlebar_p.h
@@ -67,7 +67,7 @@ class QPixmap;
class Q_COMPAT_EXPORT Q3TitleBar : public QWidget
{
Q_OBJECT
- Q_DECLARE_SCOPED_PRIVATE(Q3TitleBar)
+ Q_DECLARE_PRIVATE(Q3TitleBar)
Q_PROPERTY(bool autoRaise READ autoRaise WRITE setAutoRaise)
Q_PROPERTY(bool movable READ isMovable WRITE setMovable)
diff --git a/src/s60main/qts60main.cpp b/src/s60main/qts60main.cpp
index 67c20b7..e3ab46d 100644
--- a/src/s60main/qts60main.cpp
+++ b/src/s60main/qts60main.cpp
@@ -1,9 +1,9 @@
/****************************************************************************
**
-** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
-** This file is part of the $MODULE$ of the Qt Toolkit.
+** This file is part of the Symbian application wrapper of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
@@ -42,7 +42,7 @@
// INCLUDE FILES
#include <exception>
#include <eikstart.h>
-#include "qts60mainapplication.h"
+#include "qts60mainapplication_p.h"
/**
* factory function to create the QtS60Main application class
diff --git a/src/s60main/qts60main_mcrt0.cpp b/src/s60main/qts60main_mcrt0.cpp
index f591c89..ae29260 100644
--- a/src/s60main/qts60main_mcrt0.cpp
+++ b/src/s60main/qts60main_mcrt0.cpp
@@ -1,6 +1,9 @@
/****************************************************************************
**
-** This file is part of the $MODULE$ of the Qt Toolkit.
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the Symbian application wrapper of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
@@ -31,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/src/s60main/qts60mainapplication.cpp b/src/s60main/qts60mainapplication.cpp
index 9ad7f68..52b15d6 100644
--- a/src/s60main/qts60mainapplication.cpp
+++ b/src/s60main/qts60mainapplication.cpp
@@ -1,9 +1,9 @@
/****************************************************************************
**
-** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
-** This file is part of the $MODULE$ of the Qt Toolkit.
+** This file is part of the Symbian application wrapper of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
@@ -34,15 +34,15 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
// INCLUDE FILES
#include <exception>
-#include "qts60maindocument.h"
-#include "qts60mainapplication.h"
+#include "qts60maindocument_p.h"
+#include "qts60mainapplication_p.h"
#include <bautils.h>
#include <coemain.h>
diff --git a/src/s60main/qts60mainapplication.h b/src/s60main/qts60mainapplication.h
deleted file mode 100644
index e178936..0000000
--- a/src/s60main/qts60mainapplication.h
+++ /dev/null
@@ -1,93 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
-**
-** This file is part of the $MODULE$ of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef __QtS60MainAPPLICATION_H__
-#define __QtS60MainAPPLICATION_H__
-
-// INCLUDES
-#include <aknapp.h>
-
-// CLASS DECLARATION
-
-static TUid ProcessUid()
- {
- RProcess me;
- TSecureId securId = me.SecureId();
- me.Close();
- return securId.operator TUid();
- }
-
-/**
-* CQtS60MainApplication application class.
-* Provides factory to create concrete document object.
-* An instance of CQtS60MainApplication is the application part of the
-* AVKON application framework for the QtS60Main example application.
-*/
-class CQtS60MainApplication : public CAknApplication
- {
- public: // Functions from base classes
-
- /**
- * From CApaApplication, AppDllUid.
- * @return Application's UID (KUidQtS60MainApp).
- */
- TUid AppDllUid() const;
-
- /**
- * From CApaApplication, ResourceFileName
- * @return Application's resource filename (KUidQtS60MainApp).
- */
- TFileName ResourceFileName() const;
-
- protected: // Functions from base classes
-
- /**
- * From CApaApplication, CreateDocumentL.
- * Creates CQtS60MainDocument document object. The returned
- * pointer in not owned by the CQtS60MainApplication object.
- * @return A pointer to the created document object.
- */
- CApaDocument* CreateDocumentL();
- };
-
-#endif // __QtS60MainAPPLICATION_H__
-
-// End of File
diff --git a/src/s60main/qts60mainapplication_p.h b/src/s60main/qts60mainapplication_p.h
new file mode 100644
index 0000000..b35b38e
--- /dev/null
+++ b/src/s60main/qts60mainapplication_p.h
@@ -0,0 +1,104 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the Symbian application wrapper of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef __QtS60MainAPPLICATION_H__
+#define __QtS60MainAPPLICATION_H__
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
+// INCLUDES
+#include <aknapp.h>
+
+// CLASS DECLARATION
+
+static TUid ProcessUid()
+ {
+ RProcess me;
+ TSecureId securId = me.SecureId();
+ me.Close();
+ return securId.operator TUid();
+ }
+
+/**
+* CQtS60MainApplication application class.
+* Provides factory to create concrete document object.
+* An instance of CQtS60MainApplication is the application part of the
+* AVKON application framework for the QtS60Main example application.
+*/
+class CQtS60MainApplication : public CAknApplication
+ {
+ public: // Functions from base classes
+
+ /**
+ * From CApaApplication, AppDllUid.
+ * @return Application's UID (KUidQtS60MainApp).
+ */
+ TUid AppDllUid() const;
+
+ /**
+ * From CApaApplication, ResourceFileName
+ * @return Application's resource filename (KUidQtS60MainApp).
+ */
+ TFileName ResourceFileName() const;
+
+ protected: // Functions from base classes
+
+ /**
+ * From CApaApplication, CreateDocumentL.
+ * Creates CQtS60MainDocument document object. The returned
+ * pointer in not owned by the CQtS60MainApplication object.
+ * @return A pointer to the created document object.
+ */
+ CApaDocument* CreateDocumentL();
+ };
+
+#endif // __QtS60MainAPPLICATION_H__
+
+// End of File
diff --git a/src/s60main/qts60mainappui.cpp b/src/s60main/qts60mainappui.cpp
index ede96cb..4567350 100644
--- a/src/s60main/qts60mainappui.cpp
+++ b/src/s60main/qts60mainappui.cpp
@@ -1,9 +1,9 @@
/****************************************************************************
**
-** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
-** This file is part of the $MODULE$ of the Qt Toolkit.
+** This file is part of the Symbian application wrapper of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
@@ -48,7 +48,7 @@
#include <s60main.rsg>
#include <avkon.rsg>
-#include "qts60mainappui.h"
+#include "qts60mainappui_p.h"
#include <QtGui/qapplication.h>
#include <QtGui/qmenu.h>
#include <QtGui/private/qt_s60_p.h>
diff --git a/src/s60main/qts60mainappui.h b/src/s60main/qts60mainappui.h
deleted file mode 100644
index cec0d98..0000000
--- a/src/s60main/qts60mainappui.h
+++ /dev/null
@@ -1,135 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
-**
-** This file is part of the $MODULE$ of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef __QtS60MainAPPUI_H__
-#define __QtS60MainAPPUI_H__
-
-// INCLUDES
-#include <aknappui.h>
-
-// FORWARD DECLARATIONS
-
-// CLASS DECLARATION
-/**
-* CQtS60MainAppUi application UI class.
-* Interacts with the user through the UI and request message processing
-* from the handler class
-*/
-class CQtS60MainAppUi : public CAknAppUi
- {
- public: // Constructors and destructor
-
- /**
- * ConstructL.
- * 2nd phase constructor.
- */
- void ConstructL();
-
- /**
- * CQtS60MainAppUi.
- * C++ default constructor. This needs to be public due to
- * the way the framework constructs the AppUi
- */
- CQtS60MainAppUi();
-
- /**
- * ~CQtS60MainAppUi.
- * Virtual Destructor.
- */
- virtual ~CQtS60MainAppUi();
-
- protected:
- void RestoreMenuL(CCoeControl* aMenuWindow,TInt aMenuId,TMenuType aMenuType);
- void DynInitMenuBarL(TInt aResourceId, CEikMenuBar *aMenuBar);
- void DynInitMenuPaneL(TInt aResourceId, CEikMenuPane *aMenuPane);
-
- private: // Functions from base classes
-
- /**
- * From CEikAppUi, HandleCommandL.
- * Takes care of command handling.
- * @param aCommand Command to be handled.
- */
- void HandleCommandL( TInt aCommand );
-
- /**
- * From CAknAppUi, HandleResourceChangeL
- * Handles resource change events such as layout switches in global level.
- * @param aType event type.
- */
- void HandleResourceChangeL(TInt aType);
-
- /**
- * HandleStatusPaneSizeChange.
- * Called by the framework when the application status pane
- * size is changed.
- */
- void HandleStatusPaneSizeChange();
-
- /**
- * Static callback method for invoking Qt main.
- * Called asynchronously from ConstructL() - passes call to non static method.
- */
- static TInt OpenCMainStaticCallBack( TAny* aObject );
-
- /**
- * Callback method for invoking Qt main.
- * Called from static OpenCMainStaticCallBack.
- */
- void OpenCMainCallBack();
-
- protected:
- void HandleWsEventL(const TWsEvent& aEvent, CCoeControl* aDestination);
-
-
- private: // Data
-
- /**
- * Async callback object to call Qt main
- * Owned by CQtS60MainAppUi
- */
- CAsyncCallBack* iAsyncCallBack;
-
- };
-
-#endif // __QtS60MainAPPUI_H__
-
-// End of File
diff --git a/src/s60main/qts60mainappui_p.h b/src/s60main/qts60mainappui_p.h
new file mode 100644
index 0000000..943d61d
--- /dev/null
+++ b/src/s60main/qts60mainappui_p.h
@@ -0,0 +1,146 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the Symbian application wrapper of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef __QtS60MainAPPUI_H__
+#define __QtS60MainAPPUI_H__
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
+// INCLUDES
+#include <aknappui.h>
+
+// FORWARD DECLARATIONS
+
+// CLASS DECLARATION
+/**
+* CQtS60MainAppUi application UI class.
+* Interacts with the user through the UI and request message processing
+* from the handler class
+*/
+class CQtS60MainAppUi : public CAknAppUi
+ {
+ public: // Constructors and destructor
+
+ /**
+ * ConstructL.
+ * 2nd phase constructor.
+ */
+ void ConstructL();
+
+ /**
+ * CQtS60MainAppUi.
+ * C++ default constructor. This needs to be public due to
+ * the way the framework constructs the AppUi
+ */
+ CQtS60MainAppUi();
+
+ /**
+ * ~CQtS60MainAppUi.
+ * Virtual Destructor.
+ */
+ virtual ~CQtS60MainAppUi();
+
+ protected:
+ void RestoreMenuL(CCoeControl* aMenuWindow,TInt aMenuId,TMenuType aMenuType);
+ void DynInitMenuBarL(TInt aResourceId, CEikMenuBar *aMenuBar);
+ void DynInitMenuPaneL(TInt aResourceId, CEikMenuPane *aMenuPane);
+
+ private: // Functions from base classes
+
+ /**
+ * From CEikAppUi, HandleCommandL.
+ * Takes care of command handling.
+ * @param aCommand Command to be handled.
+ */
+ void HandleCommandL( TInt aCommand );
+
+ /**
+ * From CAknAppUi, HandleResourceChangeL
+ * Handles resource change events such as layout switches in global level.
+ * @param aType event type.
+ */
+ void HandleResourceChangeL(TInt aType);
+
+ /**
+ * HandleStatusPaneSizeChange.
+ * Called by the framework when the application status pane
+ * size is changed.
+ */
+ void HandleStatusPaneSizeChange();
+
+ /**
+ * Static callback method for invoking Qt main.
+ * Called asynchronously from ConstructL() - passes call to non static method.
+ */
+ static TInt OpenCMainStaticCallBack( TAny* aObject );
+
+ /**
+ * Callback method for invoking Qt main.
+ * Called from static OpenCMainStaticCallBack.
+ */
+ void OpenCMainCallBack();
+
+ protected:
+ void HandleWsEventL(const TWsEvent& aEvent, CCoeControl* aDestination);
+
+
+ private: // Data
+
+ /**
+ * Async callback object to call Qt main
+ * Owned by CQtS60MainAppUi
+ */
+ CAsyncCallBack* iAsyncCallBack;
+
+ };
+
+#endif // __QtS60MainAPPUI_H__
+
+// End of File
diff --git a/src/s60main/qts60maindocument.cpp b/src/s60main/qts60maindocument.cpp
index 77d5cc8..1fd3e3e 100644
--- a/src/s60main/qts60maindocument.cpp
+++ b/src/s60main/qts60maindocument.cpp
@@ -1,9 +1,9 @@
/****************************************************************************
**
-** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
-** This file is part of the $MODULE$ of the Qt Toolkit.
+** This file is part of the Symbian application wrapper of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
@@ -34,15 +34,15 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
// INCLUDE FILES
#include <exception>
-#include "qts60mainappui.h"
-#include "qts60maindocument.h"
+#include "qts60mainappui_p.h"
+#include "qts60maindocument_p.h"
// ============================ MEMBER FUNCTIONS ===============================
diff --git a/src/s60main/qts60maindocument.h b/src/s60main/qts60maindocument.h
deleted file mode 100644
index 77c5aa7..0000000
--- a/src/s60main/qts60maindocument.h
+++ /dev/null
@@ -1,122 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
-**
-** This file is part of the $MODULE$ of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef __QTS60MAINDOCUMENT_H__
-#define __QTS60MAINDOCUMENT_H__
-
-// INCLUDES
-#include <akndoc.h>
-
-// FORWARD DECLARATIONS
-class CQtS60MainAppUi;
-class CEikApplication;
-
-
-// CLASS DECLARATION
-
-/**
-* CQtS60MainDocument application class.
-* An instance of class CQtS60MainDocument is the Document part of the
-* AVKON application framework for the QtS60Main application.
-*/
-class CQtS60MainDocument : public CAknDocument
- {
- public: // Constructors and destructor
-
- /**
- * NewL.
- * Two-phased constructor.
- * Construct a CQtS60MainDocument for the AVKON application aApp
- * using two phase construction, and return a pointer
- * to the created object.
- * @param aApp Application creating this document.
- * @return A pointer to the created instance of CQtS60MainDocument.
- */
- static CQtS60MainDocument* NewL( CEikApplication& aApp );
-
- /**
- * NewLC.
- * Two-phased constructor.
- * Construct a CQtS60MainDocument for the AVKON application aApp
- * using two phase construction, and return a pointer
- * to the created object.
- * @param aApp Application creating this document.
- * @return A pointer to the created instance of CQtS60MainDocument.
- */
- static CQtS60MainDocument* NewLC( CEikApplication& aApp );
-
- /**
- * ~CQtS60MainDocument
- * Virtual Destructor.
- */
- virtual ~CQtS60MainDocument();
-
- public: // Functions from base classes
-
- /**
- * CreateAppUiL
- * From CEikDocument, CreateAppUiL.
- * Create a CQtS60MainAppUi object and return a pointer to it.
- * The object returned is owned by the Uikon framework.
- * @return Pointer to created instance of AppUi.
- */
- CEikAppUi* CreateAppUiL();
-
- private: // Constructors
-
- /**
- * ConstructL
- * 2nd phase constructor.
- */
- void ConstructL();
-
- /**
- * CQtS60MainDocument.
- * C++ default constructor.
- * @param aApp Application creating this document.
- */
- CQtS60MainDocument( CEikApplication& aApp );
-
- };
-
-#endif // __QTS60MAINDOCUMENT_H__
-
-// End of File
diff --git a/src/s60main/qts60maindocument_p.h b/src/s60main/qts60maindocument_p.h
new file mode 100644
index 0000000..a7e1fd2
--- /dev/null
+++ b/src/s60main/qts60maindocument_p.h
@@ -0,0 +1,133 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the Symbian application wrapper of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef __QTS60MAINDOCUMENT_H__
+#define __QTS60MAINDOCUMENT_H__
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
+// INCLUDES
+#include <akndoc.h>
+
+// FORWARD DECLARATIONS
+class CQtS60MainAppUi;
+class CEikApplication;
+
+
+// CLASS DECLARATION
+
+/**
+* CQtS60MainDocument application class.
+* An instance of class CQtS60MainDocument is the Document part of the
+* AVKON application framework for the QtS60Main application.
+*/
+class CQtS60MainDocument : public CAknDocument
+ {
+ public: // Constructors and destructor
+
+ /**
+ * NewL.
+ * Two-phased constructor.
+ * Construct a CQtS60MainDocument for the AVKON application aApp
+ * using two phase construction, and return a pointer
+ * to the created object.
+ * @param aApp Application creating this document.
+ * @return A pointer to the created instance of CQtS60MainDocument.
+ */
+ static CQtS60MainDocument* NewL( CEikApplication& aApp );
+
+ /**
+ * NewLC.
+ * Two-phased constructor.
+ * Construct a CQtS60MainDocument for the AVKON application aApp
+ * using two phase construction, and return a pointer
+ * to the created object.
+ * @param aApp Application creating this document.
+ * @return A pointer to the created instance of CQtS60MainDocument.
+ */
+ static CQtS60MainDocument* NewLC( CEikApplication& aApp );
+
+ /**
+ * ~CQtS60MainDocument
+ * Virtual Destructor.
+ */
+ virtual ~CQtS60MainDocument();
+
+ public: // Functions from base classes
+
+ /**
+ * CreateAppUiL
+ * From CEikDocument, CreateAppUiL.
+ * Create a CQtS60MainAppUi object and return a pointer to it.
+ * The object returned is owned by the Uikon framework.
+ * @return Pointer to created instance of AppUi.
+ */
+ CEikAppUi* CreateAppUiL();
+
+ private: // Constructors
+
+ /**
+ * ConstructL
+ * 2nd phase constructor.
+ */
+ void ConstructL();
+
+ /**
+ * CQtS60MainDocument.
+ * C++ default constructor.
+ * @param aApp Application creating this document.
+ */
+ CQtS60MainDocument( CEikApplication& aApp );
+
+ };
+
+#endif // __QTS60MAINDOCUMENT_H__
+
+// End of File
diff --git a/src/s60main/s60main.pro b/src/s60main/s60main.pro
index 57c9949..a4833af 100644
--- a/src/s60main/s60main.pro
+++ b/src/s60main/s60main.pro
@@ -18,9 +18,9 @@ symbian {
qts60mainappui.cpp \
qts60maindocument.cpp
- HEADERS = qts60mainapplication.h \
- qts60mainappui.h \
- qts60maindocument.h
+ HEADERS = qts60mainapplication_p.h \
+ qts60mainappui_p.h \
+ qts60maindocument_p.h
# This block serves the minimalistic resource file for S60 3.1 platforms.
# Note there is no way to ifdef S60 version in mmp file, that is why the resource
diff --git a/src/s60main/s60main.rss b/src/s60main/s60main.rss
index 11c68a3..b2998ac 100644
--- a/src/s60main/s60main.rss
+++ b/src/s60main/s60main.rss
@@ -1,9 +1,9 @@
/****************************************************************************
**
-** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
-** This file is part of the $MODULE$ of the Qt Toolkit.
+** This file is part of the Symbian application wrapper of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/src/script/qscriptable.h b/src/script/qscriptable.h
index 11ecb6b..76a0496 100644
--- a/src/script/qscriptable.h
+++ b/src/script/qscriptable.h
@@ -78,7 +78,7 @@ private:
QScopedPointer<QScriptablePrivate> d_ptr;
Q_DISABLE_COPY(QScriptable)
- Q_DECLARE_SCOPED_PRIVATE(QScriptable)
+ Q_DECLARE_PRIVATE(QScriptable)
};
#endif // QT_NO_QOBJECT
diff --git a/src/script/qscriptbuffer_p.h b/src/script/qscriptbuffer_p.h
index 9db32a8..4b829ee 100644
--- a/src/script/qscriptbuffer_p.h
+++ b/src/script/qscriptbuffer_p.h
@@ -44,6 +44,11 @@
#include <QtCore/qglobal.h>
+#if defined(Q_OS_VXWORKS) && defined(m_data)
+# undef m_data
+#endif
+
+
QT_BEGIN_NAMESPACE
//
diff --git a/src/script/qscriptclass.h b/src/script/qscriptclass.h
index e821cf7..7070470 100644
--- a/src/script/qscriptclass.h
+++ b/src/script/qscriptclass.h
@@ -107,7 +107,7 @@ protected:
QScopedPointer<QScriptClassPrivate> d_ptr;
private:
- Q_DECLARE_SCOPED_PRIVATE(QScriptClass)
+ Q_DECLARE_PRIVATE(QScriptClass)
Q_DISABLE_COPY(QScriptClass)
};
diff --git a/src/script/qscriptclassinfo_p.h b/src/script/qscriptclassinfo_p.h
index fb40d15..8f4d4fe 100644
--- a/src/script/qscriptclassinfo_p.h
+++ b/src/script/qscriptclassinfo_p.h
@@ -53,6 +53,10 @@
// We mean it.
//
+#if defined(Q_OS_VXWORKS) && defined(m_type)
+# undef m_type
+#endif
+
#include "qscriptclassdata_p.h"
#ifndef QT_NO_SCRIPT
diff --git a/src/script/qscriptclasspropertyiterator.h b/src/script/qscriptclasspropertyiterator.h
index ce6d3d4..1570410 100644
--- a/src/script/qscriptclasspropertyiterator.h
+++ b/src/script/qscriptclasspropertyiterator.h
@@ -84,7 +84,7 @@ protected:
QScopedPointer<QScriptClassPropertyIteratorPrivate> d_ptr;
private:
- Q_DECLARE_SCOPED_PRIVATE(QScriptClassPropertyIterator)
+ Q_DECLARE_PRIVATE(QScriptClassPropertyIterator)
Q_DISABLE_COPY(QScriptClassPropertyIterator)
};
diff --git a/src/script/qscriptcontext.h b/src/script/qscriptcontext.h
index 84d4192..5a86cba 100644
--- a/src/script/qscriptcontext.h
+++ b/src/script/qscriptcontext.h
@@ -114,7 +114,7 @@ private:
QScopedPointer<QScriptContextPrivate> d_ptr;
- Q_DECLARE_SCOPED_PRIVATE(QScriptContext)
+ Q_DECLARE_PRIVATE(QScriptContext)
Q_DISABLE_COPY(QScriptContext)
};
diff --git a/src/script/qscriptcontextinfo.h b/src/script/qscriptcontextinfo.h
index 95e88e2..3540060 100644
--- a/src/script/qscriptcontextinfo.h
+++ b/src/script/qscriptcontextinfo.h
@@ -107,7 +107,7 @@ public:
private:
QScopedSharedPointer<QScriptContextInfoPrivate> d_ptr;
- Q_DECLARE_SCOPED_PRIVATE(QScriptContextInfo)
+ Q_DECLARE_PRIVATE(QScriptContextInfo)
};
typedef QList<QScriptContextInfo> QScriptContextInfoList;
diff --git a/src/script/qscriptecmadate.cpp b/src/script/qscriptecmadate.cpp
index 9b53724..8c91a25 100644
--- a/src/script/qscriptecmadate.cpp
+++ b/src/script/qscriptecmadate.cpp
@@ -58,10 +58,14 @@
#include <math.h>
#ifndef Q_WS_WIN
-# include <time.h>
-# include <sys/time.h>
+# include <time.h>
+# ifndef Q_OS_VXWORKS
+# include <sys/time.h>
+# else
+# include "qplatformdefs.h"
+# endif
#else
-# include <windows.h>
+# include <windows.h>
#endif
QT_BEGIN_NAMESPACE
diff --git a/src/script/qscriptengine.cpp b/src/script/qscriptengine.cpp
index 48ba459..744cf2a 100644
--- a/src/script/qscriptengine.cpp
+++ b/src/script/qscriptengine.cpp
@@ -931,7 +931,7 @@ QScriptSyntaxCheckResult QScriptEngine::checkSyntax(const QString &program)
the file name is accessible through the "fileName" property if it's
provided with this function.
- \sa canEvaluate(), hasUncaughtException(), isEvaluating(), abortEvaluation()
+ \sa checkSyntax(), hasUncaughtException(), isEvaluating(), abortEvaluation()
*/
QScriptValue QScriptEngine::evaluate(const QString &program, const QString &fileName, int lineNumber)
{
diff --git a/src/script/qscriptengine.h b/src/script/qscriptengine.h
index 4f39c57..794c965 100644
--- a/src/script/qscriptengine.h
+++ b/src/script/qscriptengine.h
@@ -117,7 +117,7 @@ private:
QScriptSyntaxCheckResult(QScriptSyntaxCheckResultPrivate *d);
QScopedSharedPointer<QScriptSyntaxCheckResultPrivate> d_ptr;
- Q_DECLARE_SCOPED_PRIVATE(QScriptSyntaxCheckResult)
+ Q_DECLARE_PRIVATE(QScriptSyntaxCheckResult)
friend class QScriptEnginePrivate;
};
@@ -291,7 +291,7 @@ protected:
#endif
private:
- Q_DECLARE_SCOPED_PRIVATE(QScriptEngine)
+ Q_DECLARE_PRIVATE(QScriptEngine)
Q_DISABLE_COPY(QScriptEngine)
#ifndef QT_NO_QOBJECT
Q_PRIVATE_SLOT(d_func(), void _q_objectDestroyed(QObject *))
diff --git a/src/script/qscriptengineagent.h b/src/script/qscriptengineagent.h
index 10209df..e71560c 100644
--- a/src/script/qscriptengineagent.h
+++ b/src/script/qscriptengineagent.h
@@ -100,7 +100,7 @@ protected:
QScopedPointer<QScriptEngineAgentPrivate> d_ptr;
private:
- Q_DECLARE_SCOPED_PRIVATE(QScriptEngineAgent)
+ Q_DECLARE_PRIVATE(QScriptEngineAgent)
Q_DISABLE_COPY(QScriptEngineAgent)
};
diff --git a/src/script/qscriptextqobject.cpp b/src/script/qscriptextqobject.cpp
index 88fd007..3ea5963 100644
--- a/src/script/qscriptextqobject.cpp
+++ b/src/script/qscriptextqobject.cpp
@@ -736,7 +736,7 @@ static void callQtMethod(QScriptContextPrivate *context, QMetaMethod::MethodType
meta->static_metacall(QMetaObject::CreateInstance, chosenIndex, params);
} else {
Q_ASSERT(thisQObject != 0);
- thisQObject->qt_metacall(QMetaObject::InvokeMetaMethod, chosenIndex, params);
+ QMetaObject::metacall(thisQObject, QMetaObject::InvokeMetaMethod, chosenIndex, params);
}
if (scriptable)
diff --git a/src/script/qscriptgc_p.h b/src/script/qscriptgc_p.h
index 313519a..769e136 100644
--- a/src/script/qscriptgc_p.h
+++ b/src/script/qscriptgc_p.h
@@ -53,6 +53,10 @@
// We mean it.
//
+#if defined(Q_OS_VXWORKS) && defined(m_free)
+# undef m_free
+#endif
+
#include <QtCore/qglobal.h>
#ifndef QT_NO_SCRIPT
diff --git a/src/script/qscriptmemberfwd_p.h b/src/script/qscriptmemberfwd_p.h
index 056876b..6c12fef 100644
--- a/src/script/qscriptmemberfwd_p.h
+++ b/src/script/qscriptmemberfwd_p.h
@@ -53,6 +53,10 @@
// We mean it.
//
+#if defined(Q_OS_VXWORKS) && defined(m_flags)
+# undef m_flags
+#endif
+
#include <QtCore/qglobal.h>
QT_BEGIN_NAMESPACE
diff --git a/src/script/qscriptstring.h b/src/script/qscriptstring.h
index 17cb687..16c834d 100644
--- a/src/script/qscriptstring.h
+++ b/src/script/qscriptstring.h
@@ -78,7 +78,7 @@ public:
private:
QCustomScopedPointer<QScriptStringPrivate, QScriptStringPrivatePointerDeleter> d_ptr;
- Q_DECLARE_SCOPED_PRIVATE(QScriptString)
+ Q_DECLARE_PRIVATE(QScriptString)
};
QT_END_NAMESPACE
diff --git a/src/script/qscriptsyntaxcheckresult_p.h b/src/script/qscriptsyntaxcheckresult_p.h
index d6049f8..9b51f7d 100644
--- a/src/script/qscriptsyntaxcheckresult_p.h
+++ b/src/script/qscriptsyntaxcheckresult_p.h
@@ -53,6 +53,10 @@
// We mean it.
//
+#if defined(Q_OS_VXWORKS) && defined(m_type)
+# undef m_type
+#endif
+
#ifndef QT_NO_SCRIPT
#include <QtCore/qatomic.h>
diff --git a/src/script/qscriptvalue.cpp b/src/script/qscriptvalue.cpp
index 608fef3..4f75993 100644
--- a/src/script/qscriptvalue.cpp
+++ b/src/script/qscriptvalue.cpp
@@ -568,9 +568,11 @@ void QScriptValue::setPrototype(const QScriptValue &prototype)
}
/*!
- Returns the scope object of this QScriptValue. This function is only
- relevant for function objects. The scope determines how variables are
- resolved when the function is invoked.
+ \since 4.6
+
+ Returns the scope object of this QScriptValue. This function is only
+ relevant for function objects. The scope determines how variables are
+ resolved when the function is invoked.
*/
QScriptValue QScriptValue::scope() const
{
@@ -582,9 +584,11 @@ QScriptValue QScriptValue::scope() const
}
/*!
- Sets the \a scope object of this QScriptValue. This function is only
- relevant for function objects. Changing the scope is useful when creating
- closures; see \l{Nested Functions and the Scope Chain}.
+ \since 4.6
+
+ Sets the \a scope object of this QScriptValue. This function is only
+ relevant for function objects. Changing the scope is useful when creating
+ closures; see \l{Nested Functions and the Scope Chain}.
*/
void QScriptValue::setScope(const QScriptValue &scope)
{
@@ -1432,7 +1436,7 @@ bool QScriptValue::isUndefined() const
Note that function values, variant values, and QObject values are
objects, so this function returns true for such values.
- \sa toObject(), QScriptEngine::newObject()
+ \sa QScriptEngine::toObject(), QScriptEngine::newObject()
*/
bool QScriptValue::isObject() const
{
diff --git a/src/script/qscriptvalue.h b/src/script/qscriptvalue.h
index 5b10f9e..d504ad8 100644
--- a/src/script/qscriptvalue.h
+++ b/src/script/qscriptvalue.h
@@ -225,7 +225,7 @@ private:
private:
QCustomScopedPointer<QScriptValuePrivate, QScriptValuePrivatePointerDeleter> d_ptr;
- Q_DECLARE_SCOPED_PRIVATE(QScriptValue)
+ Q_DECLARE_PRIVATE(QScriptValue)
};
Q_DECLARE_OPERATORS_FOR_FLAGS(QScriptValue::ResolveFlags)
diff --git a/src/script/qscriptvalueimplfwd_p.h b/src/script/qscriptvalueimplfwd_p.h
index 5a98bf0..ade23ad 100644
--- a/src/script/qscriptvalueimplfwd_p.h
+++ b/src/script/qscriptvalueimplfwd_p.h
@@ -64,6 +64,10 @@ QT_BEGIN_NAMESPACE
// We mean it.
//
+#if defined(Q_OS_VXWORKS) && defined(m_type)
+# undef m_type
+#endif
+
class QScriptValueImpl;
typedef QList<QScriptValueImpl> QScriptValueImplList;
diff --git a/src/script/qscriptvalueiterator.h b/src/script/qscriptvalueiterator.h
index a25d12c..c8684ea 100644
--- a/src/script/qscriptvalueiterator.h
+++ b/src/script/qscriptvalueiterator.h
@@ -88,7 +88,7 @@ public:
private:
QScopedPointer<QScriptValueIteratorPrivate> d_ptr;
- Q_DECLARE_SCOPED_PRIVATE(QScriptValueIterator)
+ Q_DECLARE_PRIVATE(QScriptValueIterator)
Q_DISABLE_COPY(QScriptValueIterator)
};
diff --git a/src/scripttools/debugging/qscriptbreakpointdata_p.h b/src/scripttools/debugging/qscriptbreakpointdata_p.h
index 4f6d7b9..6fcb3f3 100644
--- a/src/scripttools/debugging/qscriptbreakpointdata_p.h
+++ b/src/scripttools/debugging/qscriptbreakpointdata_p.h
@@ -116,7 +116,7 @@ public:
private:
QScopedPointer<QScriptBreakpointDataPrivate> d_ptr;
- Q_DECLARE_SCOPED_PRIVATE(QScriptBreakpointData)
+ Q_DECLARE_PRIVATE(QScriptBreakpointData)
};
typedef QMap<int, QScriptBreakpointData> QScriptBreakpointMap;
diff --git a/src/scripttools/debugging/qscriptbreakpointsmodel_p.h b/src/scripttools/debugging/qscriptbreakpointsmodel_p.h
index 7c0ba01..b6e11e5 100644
--- a/src/scripttools/debugging/qscriptbreakpointsmodel_p.h
+++ b/src/scripttools/debugging/qscriptbreakpointsmodel_p.h
@@ -98,7 +98,7 @@ public:
Qt::ItemFlags flags(const QModelIndex &index) const;
private:
- Q_DECLARE_SCOPED_PRIVATE(QScriptBreakpointsModel)
+ Q_DECLARE_PRIVATE(QScriptBreakpointsModel)
Q_DISABLE_COPY(QScriptBreakpointsModel)
};
diff --git a/src/scripttools/debugging/qscriptbreakpointswidget_p.h b/src/scripttools/debugging/qscriptbreakpointswidget_p.h
index e0bb25c..0717351 100644
--- a/src/scripttools/debugging/qscriptbreakpointswidget_p.h
+++ b/src/scripttools/debugging/qscriptbreakpointswidget_p.h
@@ -81,7 +81,7 @@ private:
Q_PRIVATE_SLOT(d_func(), void _q_onCurrentChanged(const QModelIndex &))
Q_PRIVATE_SLOT(d_func(), void _q_onNewBreakpointRequest(const QString &, int))
- Q_DECLARE_SCOPED_PRIVATE(QScriptBreakpointsWidget)
+ Q_DECLARE_PRIVATE(QScriptBreakpointsWidget)
Q_DISABLE_COPY(QScriptBreakpointsWidget)
};
diff --git a/src/scripttools/debugging/qscriptbreakpointswidgetinterface_p.h b/src/scripttools/debugging/qscriptbreakpointswidgetinterface_p.h
index 74e775b..c2b6418 100644
--- a/src/scripttools/debugging/qscriptbreakpointswidgetinterface_p.h
+++ b/src/scripttools/debugging/qscriptbreakpointswidgetinterface_p.h
@@ -83,7 +83,7 @@ protected:
QWidget *parent, Qt::WindowFlags flags);
private:
- Q_DECLARE_SCOPED_PRIVATE(QScriptBreakpointsWidgetInterface)
+ Q_DECLARE_PRIVATE(QScriptBreakpointsWidgetInterface)
Q_DISABLE_COPY(QScriptBreakpointsWidgetInterface)
};
diff --git a/src/scripttools/debugging/qscriptcompletiontask_p.h b/src/scripttools/debugging/qscriptcompletiontask_p.h
index 95afa88..1dd80c0 100644
--- a/src/scripttools/debugging/qscriptcompletiontask_p.h
+++ b/src/scripttools/debugging/qscriptcompletiontask_p.h
@@ -81,7 +81,7 @@ public:
void start();
private:
- Q_DECLARE_SCOPED_PRIVATE(QScriptCompletionTask)
+ Q_DECLARE_PRIVATE(QScriptCompletionTask)
Q_DISABLE_COPY(QScriptCompletionTask)
};
diff --git a/src/scripttools/debugging/qscriptcompletiontaskinterface_p.h b/src/scripttools/debugging/qscriptcompletiontaskinterface_p.h
index abe908c..6a47bed 100644
--- a/src/scripttools/debugging/qscriptcompletiontaskinterface_p.h
+++ b/src/scripttools/debugging/qscriptcompletiontaskinterface_p.h
@@ -97,7 +97,7 @@ protected:
QScriptCompletionTaskInterfacePrivate &dd, QObject *parent);
private:
- Q_DECLARE_SCOPED_PRIVATE(QScriptCompletionTaskInterface)
+ Q_DECLARE_PRIVATE(QScriptCompletionTaskInterface)
Q_DISABLE_COPY(QScriptCompletionTaskInterface)
};
diff --git a/src/scripttools/debugging/qscriptdebugger_p.h b/src/scripttools/debugging/qscriptdebugger_p.h
index f9cbf74..ba27200 100644
--- a/src/scripttools/debugging/qscriptdebugger_p.h
+++ b/src/scripttools/debugging/qscriptdebugger_p.h
@@ -185,7 +185,7 @@ protected:
QScriptDebugger(QScriptDebuggerPrivate &dd, QObject *parent);
private:
- Q_DECLARE_SCOPED_PRIVATE(QScriptDebugger)
+ Q_DECLARE_PRIVATE(QScriptDebugger)
Q_DISABLE_COPY(QScriptDebugger)
Q_PRIVATE_SLOT(d_func(), void _q_onLineEntered(const QString &))
diff --git a/src/scripttools/debugging/qscriptdebuggeragent_p.h b/src/scripttools/debugging/qscriptdebuggeragent_p.h
index 769ed53..ca4ab2e 100644
--- a/src/scripttools/debugging/qscriptdebuggeragent_p.h
+++ b/src/scripttools/debugging/qscriptdebuggeragent_p.h
@@ -125,7 +125,7 @@ public:
const QVariant &argument = QVariant());
private:
- Q_DECLARE_SCOPED_PRIVATE(QScriptDebuggerAgent)
+ Q_DECLARE_PRIVATE(QScriptDebuggerAgent)
Q_DISABLE_COPY(QScriptDebuggerAgent)
};
diff --git a/src/scripttools/debugging/qscriptdebuggerbackend_p.h b/src/scripttools/debugging/qscriptdebuggerbackend_p.h
index 64c6ef3..759a304 100644
--- a/src/scripttools/debugging/qscriptdebuggerbackend_p.h
+++ b/src/scripttools/debugging/qscriptdebuggerbackend_p.h
@@ -147,7 +147,7 @@ protected:
QScopedPointer<QScriptDebuggerBackendPrivate> d_ptr;
private:
- Q_DECLARE_SCOPED_PRIVATE(QScriptDebuggerBackend)
+ Q_DECLARE_PRIVATE(QScriptDebuggerBackend)
Q_DISABLE_COPY(QScriptDebuggerBackend)
};
diff --git a/src/scripttools/debugging/qscriptdebuggercodefinderwidget_p.h b/src/scripttools/debugging/qscriptdebuggercodefinderwidget_p.h
index b7d9392..f6d000d 100644
--- a/src/scripttools/debugging/qscriptdebuggercodefinderwidget_p.h
+++ b/src/scripttools/debugging/qscriptdebuggercodefinderwidget_p.h
@@ -78,7 +78,7 @@ protected:
void keyPressEvent(QKeyEvent *e);
private:
- Q_DECLARE_SCOPED_PRIVATE(QScriptDebuggerCodeFinderWidget)
+ Q_DECLARE_PRIVATE(QScriptDebuggerCodeFinderWidget)
Q_DISABLE_COPY(QScriptDebuggerCodeFinderWidget)
Q_PRIVATE_SLOT(d_func(), void _q_updateButtons())
diff --git a/src/scripttools/debugging/qscriptdebuggercodefinderwidgetinterface_p.h b/src/scripttools/debugging/qscriptdebuggercodefinderwidgetinterface_p.h
index e73be00..5848e34 100644
--- a/src/scripttools/debugging/qscriptdebuggercodefinderwidgetinterface_p.h
+++ b/src/scripttools/debugging/qscriptdebuggercodefinderwidgetinterface_p.h
@@ -84,7 +84,7 @@ protected:
QWidget *parent, Qt::WindowFlags flags);
private:
- Q_DECLARE_SCOPED_PRIVATE(QScriptDebuggerCodeFinderWidgetInterface)
+ Q_DECLARE_PRIVATE(QScriptDebuggerCodeFinderWidgetInterface)
Q_DISABLE_COPY(QScriptDebuggerCodeFinderWidgetInterface)
};
diff --git a/src/scripttools/debugging/qscriptdebuggercodeview_p.h b/src/scripttools/debugging/qscriptdebuggercodeview_p.h
index 5945382..1748102 100644
--- a/src/scripttools/debugging/qscriptdebuggercodeview_p.h
+++ b/src/scripttools/debugging/qscriptdebuggercodeview_p.h
@@ -87,7 +87,7 @@ public:
bool event(QEvent *e);
private:
- Q_DECLARE_SCOPED_PRIVATE(QScriptDebuggerCodeView)
+ Q_DECLARE_PRIVATE(QScriptDebuggerCodeView)
Q_DISABLE_COPY(QScriptDebuggerCodeView)
};
diff --git a/src/scripttools/debugging/qscriptdebuggercodeviewinterface_p.h b/src/scripttools/debugging/qscriptdebuggercodeviewinterface_p.h
index 9bb4017..ea9eb62 100644
--- a/src/scripttools/debugging/qscriptdebuggercodeviewinterface_p.h
+++ b/src/scripttools/debugging/qscriptdebuggercodeviewinterface_p.h
@@ -97,7 +97,7 @@ protected:
QWidget *parent, Qt::WindowFlags flags);
private:
- Q_DECLARE_SCOPED_PRIVATE(QScriptDebuggerCodeViewInterface)
+ Q_DECLARE_PRIVATE(QScriptDebuggerCodeViewInterface)
Q_DISABLE_COPY(QScriptDebuggerCodeViewInterface)
};
diff --git a/src/scripttools/debugging/qscriptdebuggercodewidget_p.h b/src/scripttools/debugging/qscriptdebuggercodewidget_p.h
index f9a1b82..e072a3d 100644
--- a/src/scripttools/debugging/qscriptdebuggercodewidget_p.h
+++ b/src/scripttools/debugging/qscriptdebuggercodewidget_p.h
@@ -82,7 +82,7 @@ public:
QScriptDebuggerCodeViewInterface *currentView() const;
private:
- Q_DECLARE_SCOPED_PRIVATE(QScriptDebuggerCodeWidget)
+ Q_DECLARE_PRIVATE(QScriptDebuggerCodeWidget)
Q_DISABLE_COPY(QScriptDebuggerCodeWidget)
Q_PRIVATE_SLOT(d_func(), void _q_onBreakpointToggleRequest(int,bool))
diff --git a/src/scripttools/debugging/qscriptdebuggercodewidgetinterface_p.h b/src/scripttools/debugging/qscriptdebuggercodewidgetinterface_p.h
index d27af3d..03b813a 100644
--- a/src/scripttools/debugging/qscriptdebuggercodewidgetinterface_p.h
+++ b/src/scripttools/debugging/qscriptdebuggercodewidgetinterface_p.h
@@ -92,7 +92,7 @@ protected:
QWidget *parent, Qt::WindowFlags flags);
private:
- Q_DECLARE_SCOPED_PRIVATE(QScriptDebuggerCodeWidgetInterface)
+ Q_DECLARE_PRIVATE(QScriptDebuggerCodeWidgetInterface)
Q_DISABLE_COPY(QScriptDebuggerCodeWidgetInterface)
};
diff --git a/src/scripttools/debugging/qscriptdebuggercommand_p.h b/src/scripttools/debugging/qscriptdebuggercommand_p.h
index ffdb107..8e44fcf 100644
--- a/src/scripttools/debugging/qscriptdebuggercommand_p.h
+++ b/src/scripttools/debugging/qscriptdebuggercommand_p.h
@@ -257,7 +257,7 @@ public:
private:
QScopedPointer<QScriptDebuggerCommandPrivate> d_ptr;
- Q_DECLARE_SCOPED_PRIVATE(QScriptDebuggerCommand)
+ Q_DECLARE_PRIVATE(QScriptDebuggerCommand)
};
Q_AUTOTEST_EXPORT QDataStream &operator<<(QDataStream &, const QScriptDebuggerCommand &);
diff --git a/src/scripttools/debugging/qscriptdebuggercommandexecutor_p.h b/src/scripttools/debugging/qscriptdebuggercommandexecutor_p.h
index d303d66..0da0d87 100644
--- a/src/scripttools/debugging/qscriptdebuggercommandexecutor_p.h
+++ b/src/scripttools/debugging/qscriptdebuggercommandexecutor_p.h
@@ -78,7 +78,7 @@ protected:
QScopedPointer<QScriptDebuggerCommandExecutorPrivate> d_ptr;
private:
- Q_DECLARE_SCOPED_PRIVATE(QScriptDebuggerCommandExecutor)
+ Q_DECLARE_PRIVATE(QScriptDebuggerCommandExecutor)
Q_DISABLE_COPY(QScriptDebuggerCommandExecutor)
};
diff --git a/src/scripttools/debugging/qscriptdebuggercommandschedulerjob_p.h b/src/scripttools/debugging/qscriptdebuggercommandschedulerjob_p.h
index 3c80173..db9c503 100644
--- a/src/scripttools/debugging/qscriptdebuggercommandschedulerjob_p.h
+++ b/src/scripttools/debugging/qscriptdebuggercommandschedulerjob_p.h
@@ -78,7 +78,7 @@ protected:
QScriptDebuggerCommandSchedulerInterface *commandScheduler);
private:
- Q_DECLARE_SCOPED_PRIVATE(QScriptDebuggerCommandSchedulerJob)
+ Q_DECLARE_PRIVATE(QScriptDebuggerCommandSchedulerJob)
Q_DISABLE_COPY(QScriptDebuggerCommandSchedulerJob)
};
diff --git a/src/scripttools/debugging/qscriptdebuggerconsole_p.h b/src/scripttools/debugging/qscriptdebuggerconsole_p.h
index 5b88291..2e4a726 100644
--- a/src/scripttools/debugging/qscriptdebuggerconsole_p.h
+++ b/src/scripttools/debugging/qscriptdebuggerconsole_p.h
@@ -112,7 +112,7 @@ public:
private:
QScopedPointer<QScriptDebuggerConsolePrivate> d_ptr;
- Q_DECLARE_SCOPED_PRIVATE(QScriptDebuggerConsole)
+ Q_DECLARE_PRIVATE(QScriptDebuggerConsole)
Q_DISABLE_COPY(QScriptDebuggerConsole)
};
diff --git a/src/scripttools/debugging/qscriptdebuggerconsolecommand_p.h b/src/scripttools/debugging/qscriptdebuggerconsolecommand_p.h
index a335e56..c380150 100644
--- a/src/scripttools/debugging/qscriptdebuggerconsolecommand_p.h
+++ b/src/scripttools/debugging/qscriptdebuggerconsolecommand_p.h
@@ -94,7 +94,7 @@ protected:
QScopedPointer<QScriptDebuggerConsoleCommandPrivate> d_ptr;
private:
- Q_DECLARE_SCOPED_PRIVATE(QScriptDebuggerConsoleCommand)
+ Q_DECLARE_PRIVATE(QScriptDebuggerConsoleCommand)
Q_DISABLE_COPY(QScriptDebuggerConsoleCommand)
};
diff --git a/src/scripttools/debugging/qscriptdebuggerconsolecommandgroupdata_p.h b/src/scripttools/debugging/qscriptdebuggerconsolecommandgroupdata_p.h
index b1dfecb..5e23628 100644
--- a/src/scripttools/debugging/qscriptdebuggerconsolecommandgroupdata_p.h
+++ b/src/scripttools/debugging/qscriptdebuggerconsolecommandgroupdata_p.h
@@ -85,7 +85,7 @@ private:
QScopedSharedPointer<QScriptDebuggerConsoleCommandGroupDataPrivate> d_ptr;
private:
- Q_DECLARE_SCOPED_PRIVATE(QScriptDebuggerConsoleCommandGroupData)
+ Q_DECLARE_PRIVATE(QScriptDebuggerConsoleCommandGroupData)
};
typedef QMap<QString, QScriptDebuggerConsoleCommandGroupData> QScriptDebuggerConsoleCommandGroupMap;
diff --git a/src/scripttools/debugging/qscriptdebuggerconsolecommandjob_p.h b/src/scripttools/debugging/qscriptdebuggerconsolecommandjob_p.h
index 65b2a4c..ce35157 100644
--- a/src/scripttools/debugging/qscriptdebuggerconsolecommandjob_p.h
+++ b/src/scripttools/debugging/qscriptdebuggerconsolecommandjob_p.h
@@ -77,7 +77,7 @@ protected:
QScriptDebuggerCommandSchedulerInterface *scheduler);
private:
- Q_DECLARE_SCOPED_PRIVATE(QScriptDebuggerConsoleCommandJob)
+ Q_DECLARE_PRIVATE(QScriptDebuggerConsoleCommandJob)
Q_DISABLE_COPY(QScriptDebuggerConsoleCommandJob)
};
diff --git a/src/scripttools/debugging/qscriptdebuggerconsolecommandmanager_p.h b/src/scripttools/debugging/qscriptdebuggerconsolecommandmanager_p.h
index 0ffd61e..c6de5b1 100644
--- a/src/scripttools/debugging/qscriptdebuggerconsolecommandmanager_p.h
+++ b/src/scripttools/debugging/qscriptdebuggerconsolecommandmanager_p.h
@@ -88,7 +88,7 @@ public:
private:
QScopedPointer<QScriptDebuggerConsoleCommandManagerPrivate> d_ptr;
- Q_DECLARE_SCOPED_PRIVATE(QScriptDebuggerConsoleCommandManager)
+ Q_DECLARE_PRIVATE(QScriptDebuggerConsoleCommandManager)
};
QT_END_NAMESPACE
diff --git a/src/scripttools/debugging/qscriptdebuggerconsoleglobalobject_p.h b/src/scripttools/debugging/qscriptdebuggerconsoleglobalobject_p.h
index 1145162..0200a32 100644
--- a/src/scripttools/debugging/qscriptdebuggerconsoleglobalobject_p.h
+++ b/src/scripttools/debugging/qscriptdebuggerconsoleglobalobject_p.h
@@ -163,7 +163,7 @@ public Q_SLOTS:
void setEvaluateAction(int action);
private:
- Q_DECLARE_SCOPED_PRIVATE(QScriptDebuggerConsoleGlobalObject)
+ Q_DECLARE_PRIVATE(QScriptDebuggerConsoleGlobalObject)
Q_DISABLE_COPY(QScriptDebuggerConsoleGlobalObject)
};
diff --git a/src/scripttools/debugging/qscriptdebuggerconsolewidget_p.h b/src/scripttools/debugging/qscriptdebuggerconsolewidget_p.h
index 02e9e94..462d445 100644
--- a/src/scripttools/debugging/qscriptdebuggerconsolewidget_p.h
+++ b/src/scripttools/debugging/qscriptdebuggerconsolewidget_p.h
@@ -85,7 +85,7 @@ protected:
QWidget *parent);
private:
- Q_DECLARE_SCOPED_PRIVATE(QScriptDebuggerConsoleWidget)
+ Q_DECLARE_PRIVATE(QScriptDebuggerConsoleWidget)
Q_DISABLE_COPY(QScriptDebuggerConsoleWidget)
Q_PRIVATE_SLOT(d_func(), void _q_onLineEntered(const QString &))
diff --git a/src/scripttools/debugging/qscriptdebuggerconsolewidgetinterface_p.h b/src/scripttools/debugging/qscriptdebuggerconsolewidgetinterface_p.h
index a3b5b5f..486a19a 100644
--- a/src/scripttools/debugging/qscriptdebuggerconsolewidgetinterface_p.h
+++ b/src/scripttools/debugging/qscriptdebuggerconsolewidgetinterface_p.h
@@ -94,7 +94,7 @@ protected:
QWidget *parent, Qt::WindowFlags flags);
private:
- Q_DECLARE_SCOPED_PRIVATE(QScriptDebuggerConsoleWidgetInterface)
+ Q_DECLARE_PRIVATE(QScriptDebuggerConsoleWidgetInterface)
Q_DISABLE_COPY(QScriptDebuggerConsoleWidgetInterface)
};
diff --git a/src/scripttools/debugging/qscriptdebuggerevent_p.h b/src/scripttools/debugging/qscriptdebuggerevent_p.h
index c6067d5..8c4e460 100644
--- a/src/scripttools/debugging/qscriptdebuggerevent_p.h
+++ b/src/scripttools/debugging/qscriptdebuggerevent_p.h
@@ -140,7 +140,7 @@ public:
private:
QScopedPointer<QScriptDebuggerEventPrivate> d_ptr;
- Q_DECLARE_SCOPED_PRIVATE(QScriptDebuggerEvent)
+ Q_DECLARE_PRIVATE(QScriptDebuggerEvent)
};
Q_AUTOTEST_EXPORT QDataStream &operator<<(QDataStream &, const QScriptDebuggerEvent &);
diff --git a/src/scripttools/debugging/qscriptdebuggerfrontend_p.h b/src/scripttools/debugging/qscriptdebuggerfrontend_p.h
index 04ebb5c..1f7b2ef 100644
--- a/src/scripttools/debugging/qscriptdebuggerfrontend_p.h
+++ b/src/scripttools/debugging/qscriptdebuggerfrontend_p.h
@@ -93,7 +93,7 @@ protected:
QScopedPointer<QScriptDebuggerFrontendPrivate> d_ptr;
private:
- Q_DECLARE_SCOPED_PRIVATE(QScriptDebuggerFrontend)
+ Q_DECLARE_PRIVATE(QScriptDebuggerFrontend)
Q_DISABLE_COPY(QScriptDebuggerFrontend)
};
diff --git a/src/scripttools/debugging/qscriptdebuggerjob_p.h b/src/scripttools/debugging/qscriptdebuggerjob_p.h
index 0b723c7..099ad16 100644
--- a/src/scripttools/debugging/qscriptdebuggerjob_p.h
+++ b/src/scripttools/debugging/qscriptdebuggerjob_p.h
@@ -80,7 +80,7 @@ protected:
QScopedPointer<QScriptDebuggerJobPrivate> d_ptr;
private:
- Q_DECLARE_SCOPED_PRIVATE(QScriptDebuggerJob)
+ Q_DECLARE_PRIVATE(QScriptDebuggerJob)
Q_DISABLE_COPY(QScriptDebuggerJob)
};
diff --git a/src/scripttools/debugging/qscriptdebuggerlocalsmodel_p.h b/src/scripttools/debugging/qscriptdebuggerlocalsmodel_p.h
index b93e490..172fb7e 100644
--- a/src/scripttools/debugging/qscriptdebuggerlocalsmodel_p.h
+++ b/src/scripttools/debugging/qscriptdebuggerlocalsmodel_p.h
@@ -93,7 +93,7 @@ Q_SIGNALS:
void scopeObjectAvailable(const QModelIndex &index);
private:
- Q_DECLARE_SCOPED_PRIVATE(QScriptDebuggerLocalsModel)
+ Q_DECLARE_PRIVATE(QScriptDebuggerLocalsModel)
Q_DISABLE_COPY(QScriptDebuggerLocalsModel)
};
diff --git a/src/scripttools/debugging/qscriptdebuggerlocalswidget_p.h b/src/scripttools/debugging/qscriptdebuggerlocalswidget_p.h
index 6ef9b37..e68ce53 100644
--- a/src/scripttools/debugging/qscriptdebuggerlocalswidget_p.h
+++ b/src/scripttools/debugging/qscriptdebuggerlocalswidget_p.h
@@ -72,7 +72,7 @@ public:
void expand(const QModelIndex &index);
private:
- Q_DECLARE_SCOPED_PRIVATE(QScriptDebuggerLocalsWidget)
+ Q_DECLARE_PRIVATE(QScriptDebuggerLocalsWidget)
Q_DISABLE_COPY(QScriptDebuggerLocalsWidget)
Q_PRIVATE_SLOT(d_func(), void _q_onCompletionTaskFinished())
diff --git a/src/scripttools/debugging/qscriptdebuggerlocalswidgetinterface_p.h b/src/scripttools/debugging/qscriptdebuggerlocalswidgetinterface_p.h
index fd6ebae..45936de 100644
--- a/src/scripttools/debugging/qscriptdebuggerlocalswidgetinterface_p.h
+++ b/src/scripttools/debugging/qscriptdebuggerlocalswidgetinterface_p.h
@@ -83,7 +83,7 @@ protected:
QWidget *parent, Qt::WindowFlags flags);
private:
- Q_DECLARE_SCOPED_PRIVATE(QScriptDebuggerLocalsWidgetInterface)
+ Q_DECLARE_PRIVATE(QScriptDebuggerLocalsWidgetInterface)
Q_DISABLE_COPY(QScriptDebuggerLocalsWidgetInterface)
};
diff --git a/src/scripttools/debugging/qscriptdebuggerresponse_p.h b/src/scripttools/debugging/qscriptdebuggerresponse_p.h
index f372994..645cab0 100644
--- a/src/scripttools/debugging/qscriptdebuggerresponse_p.h
+++ b/src/scripttools/debugging/qscriptdebuggerresponse_p.h
@@ -129,7 +129,7 @@ public:
private:
QScopedPointer<QScriptDebuggerResponsePrivate> d_ptr;
- Q_DECLARE_SCOPED_PRIVATE(QScriptDebuggerResponse)
+ Q_DECLARE_PRIVATE(QScriptDebuggerResponse)
};
Q_AUTOTEST_EXPORT QDataStream &operator<<(QDataStream &, const QScriptDebuggerResponse &);
diff --git a/src/scripttools/debugging/qscriptdebuggerscriptedconsolecommand.cpp b/src/scripttools/debugging/qscriptdebuggerscriptedconsolecommand.cpp
index 4944411..92fa36c 100644
--- a/src/scripttools/debugging/qscriptdebuggerscriptedconsolecommand.cpp
+++ b/src/scripttools/debugging/qscriptdebuggerscriptedconsolecommand.cpp
@@ -359,7 +359,7 @@ public:
int commandId);
private:
- Q_DECLARE_SCOPED_PRIVATE(QScriptDebuggerScriptedConsoleCommandJob)
+ Q_DECLARE_PRIVATE(QScriptDebuggerScriptedConsoleCommandJob)
Q_DISABLE_COPY(QScriptDebuggerScriptedConsoleCommandJob)
};
@@ -460,7 +460,7 @@ void QScriptDebuggerScriptedConsoleCommandJob::handleResponse(
}
/*!
- \reimp
+ \internal
*/
QString QScriptDebuggerScriptedConsoleCommand::name() const
{
@@ -469,7 +469,7 @@ QString QScriptDebuggerScriptedConsoleCommand::name() const
}
/*!
- \reimp
+ \internal
*/
QString QScriptDebuggerScriptedConsoleCommand::group() const
{
@@ -478,7 +478,7 @@ QString QScriptDebuggerScriptedConsoleCommand::group() const
}
/*!
- \reimp
+ \internal
*/
QString QScriptDebuggerScriptedConsoleCommand::shortDescription() const
{
@@ -487,7 +487,7 @@ QString QScriptDebuggerScriptedConsoleCommand::shortDescription() const
}
/*!
- \reimp
+ \internal
*/
QString QScriptDebuggerScriptedConsoleCommand::longDescription() const
{
@@ -496,7 +496,7 @@ QString QScriptDebuggerScriptedConsoleCommand::longDescription() const
}
/*!
- \reimp
+ \internal
*/
QStringList QScriptDebuggerScriptedConsoleCommand::aliases() const
{
@@ -505,7 +505,7 @@ QStringList QScriptDebuggerScriptedConsoleCommand::aliases() const
}
/*!
- \reimp
+ \internal
*/
QStringList QScriptDebuggerScriptedConsoleCommand::seeAlso() const
{
@@ -514,7 +514,7 @@ QStringList QScriptDebuggerScriptedConsoleCommand::seeAlso() const
}
/*!
- \reimp
+ \internal
*/
QStringList QScriptDebuggerScriptedConsoleCommand::argumentTypes() const
{
@@ -523,7 +523,7 @@ QStringList QScriptDebuggerScriptedConsoleCommand::argumentTypes() const
}
/*!
- \reimp
+ \internal
*/
QStringList QScriptDebuggerScriptedConsoleCommand::subCommands() const
{
@@ -532,7 +532,7 @@ QStringList QScriptDebuggerScriptedConsoleCommand::subCommands() const
}
/*!
- \reimp
+ \internal
*/
QScriptDebuggerConsoleCommandJob *QScriptDebuggerScriptedConsoleCommand::createJob(
const QStringList &arguments,
diff --git a/src/scripttools/debugging/qscriptdebuggerscriptedconsolecommand_p.h b/src/scripttools/debugging/qscriptdebuggerscriptedconsolecommand_p.h
index cea8ec9..0fefea6 100644
--- a/src/scripttools/debugging/qscriptdebuggerscriptedconsolecommand_p.h
+++ b/src/scripttools/debugging/qscriptdebuggerscriptedconsolecommand_p.h
@@ -97,7 +97,7 @@ public:
QScriptDebuggerCommandSchedulerInterface *commandScheduler);
private:
- Q_DECLARE_SCOPED_PRIVATE(QScriptDebuggerScriptedConsoleCommand)
+ Q_DECLARE_PRIVATE(QScriptDebuggerScriptedConsoleCommand)
Q_DISABLE_COPY(QScriptDebuggerScriptedConsoleCommand)
};
diff --git a/src/scripttools/debugging/qscriptdebuggerscriptsmodel_p.h b/src/scripttools/debugging/qscriptdebuggerscriptsmodel_p.h
index 0e05d7e..1988ace 100644
--- a/src/scripttools/debugging/qscriptdebuggerscriptsmodel_p.h
+++ b/src/scripttools/debugging/qscriptdebuggerscriptsmodel_p.h
@@ -92,7 +92,7 @@ public:
QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const;
private:
- Q_DECLARE_SCOPED_PRIVATE(QScriptDebuggerScriptsModel)
+ Q_DECLARE_PRIVATE(QScriptDebuggerScriptsModel)
Q_DISABLE_COPY(QScriptDebuggerScriptsModel)
};
diff --git a/src/scripttools/debugging/qscriptdebuggerscriptswidget_p.h b/src/scripttools/debugging/qscriptdebuggerscriptswidget_p.h
index 4c17eda..4359ec1 100644
--- a/src/scripttools/debugging/qscriptdebuggerscriptswidget_p.h
+++ b/src/scripttools/debugging/qscriptdebuggerscriptswidget_p.h
@@ -73,7 +73,7 @@ public:
void setCurrentScript(qint64 id);
private:
- Q_DECLARE_SCOPED_PRIVATE(QScriptDebuggerScriptsWidget)
+ Q_DECLARE_PRIVATE(QScriptDebuggerScriptsWidget)
Q_DISABLE_COPY(QScriptDebuggerScriptsWidget)
Q_PRIVATE_SLOT(d_func(), void _q_onCurrentChanged(const QModelIndex &))
diff --git a/src/scripttools/debugging/qscriptdebuggerscriptswidgetinterface_p.h b/src/scripttools/debugging/qscriptdebuggerscriptswidgetinterface_p.h
index 8aa3203..eff08dc 100644
--- a/src/scripttools/debugging/qscriptdebuggerscriptswidgetinterface_p.h
+++ b/src/scripttools/debugging/qscriptdebuggerscriptswidgetinterface_p.h
@@ -83,7 +83,7 @@ protected:
QWidget *parent, Qt::WindowFlags flags);
private:
- Q_DECLARE_SCOPED_PRIVATE(QScriptDebuggerScriptsWidgetInterface)
+ Q_DECLARE_PRIVATE(QScriptDebuggerScriptsWidgetInterface)
Q_DISABLE_COPY(QScriptDebuggerScriptsWidgetInterface)
};
diff --git a/src/scripttools/debugging/qscriptdebuggerstackmodel_p.h b/src/scripttools/debugging/qscriptdebuggerstackmodel_p.h
index 3075594..ff493f2 100644
--- a/src/scripttools/debugging/qscriptdebuggerstackmodel_p.h
+++ b/src/scripttools/debugging/qscriptdebuggerstackmodel_p.h
@@ -78,7 +78,7 @@ public:
QVariant headerData(int section, Qt::Orientation, int role) const;
private:
- Q_DECLARE_SCOPED_PRIVATE(QScriptDebuggerStackModel)
+ Q_DECLARE_PRIVATE(QScriptDebuggerStackModel)
Q_DISABLE_COPY(QScriptDebuggerStackModel)
};
diff --git a/src/scripttools/debugging/qscriptdebuggerstackwidget_p.h b/src/scripttools/debugging/qscriptdebuggerstackwidget_p.h
index 4d8e6bc..eaa04f3 100644
--- a/src/scripttools/debugging/qscriptdebuggerstackwidget_p.h
+++ b/src/scripttools/debugging/qscriptdebuggerstackwidget_p.h
@@ -73,7 +73,7 @@ public:
void setCurrentFrameIndex(int frameIndex);
private:
- Q_DECLARE_SCOPED_PRIVATE(QScriptDebuggerStackWidget)
+ Q_DECLARE_PRIVATE(QScriptDebuggerStackWidget)
Q_DISABLE_COPY(QScriptDebuggerStackWidget)
Q_PRIVATE_SLOT(d_func(), void _q_onCurrentChanged(const QModelIndex &))
diff --git a/src/scripttools/debugging/qscriptdebuggerstackwidgetinterface_p.h b/src/scripttools/debugging/qscriptdebuggerstackwidgetinterface_p.h
index bf1b698..d3c466c 100644
--- a/src/scripttools/debugging/qscriptdebuggerstackwidgetinterface_p.h
+++ b/src/scripttools/debugging/qscriptdebuggerstackwidgetinterface_p.h
@@ -82,7 +82,7 @@ protected:
QWidget *parent, Qt::WindowFlags flags);
private:
- Q_DECLARE_SCOPED_PRIVATE(QScriptDebuggerStackWidgetInterface)
+ Q_DECLARE_PRIVATE(QScriptDebuggerStackWidgetInterface)
Q_DISABLE_COPY(QScriptDebuggerStackWidgetInterface)
};
diff --git a/src/scripttools/debugging/qscriptdebuggervalue_p.h b/src/scripttools/debugging/qscriptdebuggervalue_p.h
index 522f601..e701313 100644
--- a/src/scripttools/debugging/qscriptdebuggervalue_p.h
+++ b/src/scripttools/debugging/qscriptdebuggervalue_p.h
@@ -105,7 +105,7 @@ public:
private:
QScopedSharedPointer<QScriptDebuggerValuePrivate> d_ptr;
- Q_DECLARE_SCOPED_PRIVATE(QScriptDebuggerValue)
+ Q_DECLARE_PRIVATE(QScriptDebuggerValue)
};
typedef QList<QScriptDebuggerValue> QScriptDebuggerValueList;
diff --git a/src/scripttools/debugging/qscriptdebuggervalueproperty_p.h b/src/scripttools/debugging/qscriptdebuggervalueproperty_p.h
index af8b2d6..5e8f72a 100644
--- a/src/scripttools/debugging/qscriptdebuggervalueproperty_p.h
+++ b/src/scripttools/debugging/qscriptdebuggervalueproperty_p.h
@@ -88,7 +88,7 @@ public:
private:
QScopedSharedPointer<QScriptDebuggerValuePropertyPrivate> d_ptr;
- Q_DECLARE_SCOPED_PRIVATE(QScriptDebuggerValueProperty)
+ Q_DECLARE_PRIVATE(QScriptDebuggerValueProperty)
};
typedef QList<QScriptDebuggerValueProperty> QScriptDebuggerValuePropertyList;
diff --git a/src/scripttools/debugging/qscriptdebugoutputwidget_p.h b/src/scripttools/debugging/qscriptdebugoutputwidget_p.h
index e9fe112..21c7eb2 100644
--- a/src/scripttools/debugging/qscriptdebugoutputwidget_p.h
+++ b/src/scripttools/debugging/qscriptdebugoutputwidget_p.h
@@ -74,7 +74,7 @@ public:
void clear();
private:
- Q_DECLARE_SCOPED_PRIVATE(QScriptDebugOutputWidget)
+ Q_DECLARE_PRIVATE(QScriptDebugOutputWidget)
Q_DISABLE_COPY(QScriptDebugOutputWidget)
};
diff --git a/src/scripttools/debugging/qscriptdebugoutputwidgetinterface_p.h b/src/scripttools/debugging/qscriptdebugoutputwidgetinterface_p.h
index 22f9443..6a124e4 100644
--- a/src/scripttools/debugging/qscriptdebugoutputwidgetinterface_p.h
+++ b/src/scripttools/debugging/qscriptdebugoutputwidgetinterface_p.h
@@ -75,7 +75,7 @@ protected:
QWidget *parent, Qt::WindowFlags flags);
private:
- Q_DECLARE_SCOPED_PRIVATE(QScriptDebugOutputWidgetInterface)
+ Q_DECLARE_PRIVATE(QScriptDebugOutputWidgetInterface)
Q_DISABLE_COPY(QScriptDebugOutputWidgetInterface)
};
diff --git a/src/scripttools/debugging/qscriptenginedebugger.h b/src/scripttools/debugging/qscriptenginedebugger.h
index f5fa5fc..b9061a2 100644
--- a/src/scripttools/debugging/qscriptenginedebugger.h
+++ b/src/scripttools/debugging/qscriptenginedebugger.h
@@ -120,7 +120,7 @@ Q_SIGNALS:
void evaluationResumed();
private:
- Q_DECLARE_SCOPED_PRIVATE(QScriptEngineDebugger)
+ Q_DECLARE_PRIVATE(QScriptEngineDebugger)
Q_DISABLE_COPY(QScriptEngineDebugger)
Q_PRIVATE_SLOT(d_func(), void _q_showStandardWindow())
diff --git a/src/scripttools/debugging/qscriptenginedebuggerfrontend.cpp b/src/scripttools/debugging/qscriptenginedebuggerfrontend.cpp
index 0a2886a..5b58c52 100644
--- a/src/scripttools/debugging/qscriptenginedebuggerfrontend.cpp
+++ b/src/scripttools/debugging/qscriptenginedebuggerfrontend.cpp
@@ -111,7 +111,7 @@ protected:
void event(const QScriptDebuggerEvent &event);
private:
- Q_DECLARE_SCOPED_PRIVATE(QScriptEngineDebuggerBackend)
+ Q_DECLARE_PRIVATE(QScriptEngineDebuggerBackend)
Q_DISABLE_COPY(QScriptEngineDebuggerBackend)
};
@@ -323,7 +323,7 @@ QScriptDebuggerBackend *QScriptEngineDebuggerFrontend::backend() const
}
/*!
- \reimp
+ \internal
*/
void QScriptEngineDebuggerFrontend::processCommand(int id, const QScriptDebuggerCommand &command)
{
diff --git a/src/scripttools/debugging/qscriptenginedebuggerfrontend_p.h b/src/scripttools/debugging/qscriptenginedebuggerfrontend_p.h
index 9320461..226fecc 100644
--- a/src/scripttools/debugging/qscriptenginedebuggerfrontend_p.h
+++ b/src/scripttools/debugging/qscriptenginedebuggerfrontend_p.h
@@ -80,7 +80,7 @@ protected:
void processCommand(int id, const QScriptDebuggerCommand &command);
private:
- Q_DECLARE_SCOPED_PRIVATE(QScriptEngineDebuggerFrontend)
+ Q_DECLARE_PRIVATE(QScriptEngineDebuggerFrontend)
Q_DISABLE_COPY(QScriptEngineDebuggerFrontend)
};
diff --git a/src/scripttools/debugging/qscripterrorlogwidget_p.h b/src/scripttools/debugging/qscripterrorlogwidget_p.h
index f05b5fb..75d3e57 100644
--- a/src/scripttools/debugging/qscripterrorlogwidget_p.h
+++ b/src/scripttools/debugging/qscripterrorlogwidget_p.h
@@ -74,7 +74,7 @@ public:
void clear();
private:
- Q_DECLARE_SCOPED_PRIVATE(QScriptErrorLogWidget)
+ Q_DECLARE_PRIVATE(QScriptErrorLogWidget)
Q_DISABLE_COPY(QScriptErrorLogWidget)
};
diff --git a/src/scripttools/debugging/qscripterrorlogwidgetinterface_p.h b/src/scripttools/debugging/qscripterrorlogwidgetinterface_p.h
index 903bc21..0ce86ff 100644
--- a/src/scripttools/debugging/qscripterrorlogwidgetinterface_p.h
+++ b/src/scripttools/debugging/qscripterrorlogwidgetinterface_p.h
@@ -75,7 +75,7 @@ protected:
QWidget *parent, Qt::WindowFlags flags);
private:
- Q_DECLARE_SCOPED_PRIVATE(QScriptErrorLogWidgetInterface)
+ Q_DECLARE_PRIVATE(QScriptErrorLogWidgetInterface)
Q_DISABLE_COPY(QScriptErrorLogWidgetInterface)
};
diff --git a/src/scripttools/debugging/qscriptscriptdata_p.h b/src/scripttools/debugging/qscriptscriptdata_p.h
index 750bd2a..d5ef52d 100644
--- a/src/scripttools/debugging/qscriptscriptdata_p.h
+++ b/src/scripttools/debugging/qscriptscriptdata_p.h
@@ -93,7 +93,7 @@ public:
private:
QScopedSharedPointer<QScriptScriptDataPrivate> d_ptr;
- Q_DECLARE_SCOPED_PRIVATE(QScriptScriptData)
+ Q_DECLARE_PRIVATE(QScriptScriptData)
};
typedef QMap<qint64, QScriptScriptData> QScriptScriptMap;
diff --git a/src/scripttools/debugging/qscriptstdmessagehandler_p.h b/src/scripttools/debugging/qscriptstdmessagehandler_p.h
index 10accc2..6242c94 100644
--- a/src/scripttools/debugging/qscriptstdmessagehandler_p.h
+++ b/src/scripttools/debugging/qscriptstdmessagehandler_p.h
@@ -76,7 +76,7 @@ private:
QScopedPointer<QScriptStdMessageHandlerPrivate> d_ptr;
private:
- Q_DECLARE_SCOPED_PRIVATE(QScriptStdMessageHandler)
+ Q_DECLARE_PRIVATE(QScriptStdMessageHandler)
Q_DISABLE_COPY(QScriptStdMessageHandler)
};
diff --git a/src/scripttools/debugging/qscriptvalueproperty_p.h b/src/scripttools/debugging/qscriptvalueproperty_p.h
index 545047d..b752272 100644
--- a/src/scripttools/debugging/qscriptvalueproperty_p.h
+++ b/src/scripttools/debugging/qscriptvalueproperty_p.h
@@ -84,7 +84,7 @@ public:
private:
QScopedSharedPointer<QScriptValuePropertyPrivate> d_ptr;
- Q_DECLARE_SCOPED_PRIVATE(QScriptValueProperty)
+ Q_DECLARE_PRIVATE(QScriptValueProperty)
};
typedef QList<QScriptValueProperty> QScriptValuePropertyList;
diff --git a/src/sql/drivers/db2/qsql_db2.cpp b/src/sql/drivers/db2/qsql_db2.cpp
index 1a82377..a32b3aa 100644
--- a/src/sql/drivers/db2/qsql_db2.cpp
+++ b/src/sql/drivers/db2/qsql_db2.cpp
@@ -51,10 +51,6 @@
#include <qvector.h>
#include <QDebug>
-#ifndef UNICODE
-#define UNICODE
-#endif
-
#if defined(Q_CC_BOR)
// DB2's sqlsystm.h (included through sqlcli1.h) defines the SQL_BIGINT_TYPE
// and SQL_BIGUINT_TYPE to wrong the types for Borland; so do the defines to
@@ -63,6 +59,8 @@
#define SQL_BIGUINT_TYPE quint64
#endif
+#define UNICODE
+
#include <sqlcli1.h>
#include <string.h>
@@ -111,22 +109,14 @@ public:
static QString qFromTChar(SQLTCHAR* str)
{
-#ifdef UNICODE
return QString::fromUtf16(str);
-#else
- return QString::fromLocal8Bit((const char*) str);
-#endif
}
// dangerous!! (but fast). Don't use in functions that
// require out parameters!
static SQLTCHAR* qToTChar(const QString& str)
{
-#ifdef UNICODE
return (SQLTCHAR*)str.utf16();
-#else
- return (unsigned char*) str.ascii();
-#endif
}
static QString qWarnDB2Handle(int handleType, SQLHANDLE handle)
@@ -347,12 +337,8 @@ static QString qGetStringData(SQLHANDLE hStmt, int column, int colSize, bool& is
while (true) {
r = SQLGetData(hStmt,
- column+1,
-#ifdef UNICODE
+ column + 1,
SQL_C_WCHAR,
-#else
- SQL_C_CHAR,
-#endif
(SQLPOINTER)buf,
colSize * sizeof(SQLTCHAR),
&lengthIndicator);
@@ -740,7 +726,6 @@ bool QDB2Result::exec()
ind);
break; }
case QVariant::String:
-#ifdef UNICODE
{
QString str(values.at(i).toString());
if (*ind != SQL_NULL_DATA)
@@ -774,8 +759,6 @@ bool QDB2Result::exec()
}
break;
}
-#endif
- // fall through
default: {
QByteArray ba = values.at(i).toString().toAscii();
int len = ba.length() + 1;
@@ -849,12 +832,9 @@ bool QDB2Result::exec()
case QVariant::ByteArray:
break;
case QVariant::String:
-#ifdef UNICODE
if (bindValueType(i) & QSql::Out)
values[i] = QString::fromUtf16((ushort*)tmpStorage.takeFirst().constData());
break;
-#endif
- // fall through
default: {
values[i] = QString::fromAscii(tmpStorage.takeFirst().constData());
break; }
@@ -888,11 +868,13 @@ bool QDB2Result::fetch(int i)
SQL_FETCH_ABSOLUTE,
actualIdx);
}
- if (r != SQL_SUCCESS && r != SQL_SUCCESS_WITH_INFO) {
+ if (r != SQL_SUCCESS && r != SQL_SUCCESS_WITH_INFO && r != SQL_NO_DATA) {
setLastError(qMakeError(QCoreApplication::translate("QDB2Result",
"Unable to fetch record %1").arg(i), QSqlError::StatementError, d));
return false;
}
+ else if (r == SQL_NO_DATA)
+ return false;
setAt(i);
return true;
}
@@ -1542,13 +1524,7 @@ bool QDB2Driver::hasFeature(DriverFeature f) const
case FinishQuery:
return true;
case Unicode:
- // this is the query that shows the codepage for the types:
- // select typename, codepage from syscat.datatypes
-#ifdef UNICODE
return true;
-#else
- return false;
-#endif
}
return false;
}
diff --git a/src/sql/drivers/mysql/qsql_mysql.cpp b/src/sql/drivers/mysql/qsql_mysql.cpp
index bfd65fc..39ef1ef 100644
--- a/src/sql/drivers/mysql/qsql_mysql.cpp
+++ b/src/sql/drivers/mysql/qsql_mysql.cpp
@@ -85,11 +85,10 @@ public:
#else
tc(0),
#endif
- preparedQuerys(false), preparedQuerysEnabled(false) {}
+ preparedQuerysEnabled(false) {}
MYSQL *mysql;
QTextCodec *tc;
- bool preparedQuerys;
bool preparedQuerysEnabled;
};
@@ -172,6 +171,7 @@ public:
#if MYSQL_VERSION_ID >= 40108
, stmt(0), meta(0), inBinds(0), outBinds(0)
#endif
+ , preparedQuery(false)
{
connect(dp, SIGNAL(destroyed()), this, SLOT(driverDestroyed()));
}
@@ -209,6 +209,9 @@ public:
MYSQL_BIND *inBinds;
MYSQL_BIND *outBinds;
#endif
+
+ bool preparedQuery;
+
private Q_SLOTS:
void driverDestroyed() { driver = NULL; }
};
@@ -399,7 +402,7 @@ QMYSQLResult::~QMYSQLResult()
QVariant QMYSQLResult::handle() const
{
#if MYSQL_VERSION_ID >= 40108
- if(d->driver && d->driver->d->preparedQuerys)
+ if(d->preparedQuery)
return d->meta ? qVariantFromValue(d->meta) : qVariantFromValue(d->stmt);
else
#endif
@@ -454,9 +457,6 @@ void QMYSQLResult::cleanup()
d->row = NULL;
setAt(-1);
setActive(false);
-
- if(d->driver)
- d->driver->d->preparedQuerys = d->driver->d->preparedQuerysEnabled;
}
bool QMYSQLResult::fetch(int i)
@@ -474,7 +474,7 @@ bool QMYSQLResult::fetch(int i)
}
if (at() == i)
return true;
- if (d->driver->d->preparedQuerys) {
+ if (d->preparedQuery) {
#if MYSQL_VERSION_ID >= 40108
mysql_stmt_data_seek(d->stmt, i);
@@ -507,7 +507,7 @@ bool QMYSQLResult::fetchNext()
{
if(!d->driver)
return false;
- if (d->driver->d->preparedQuerys) {
+ if (d->preparedQuery) {
#if MYSQL_VERSION_ID >= 40108
if (mysql_stmt_fetch(d->stmt))
return false;
@@ -534,7 +534,7 @@ bool QMYSQLResult::fetchLast()
}
my_ulonglong numRows;
- if (d->driver->d->preparedQuerys) {
+ if (d->preparedQuery) {
#if MYSQL_VERSION_ID >= 40108
numRows = mysql_stmt_num_rows(d->stmt);
#else
@@ -574,7 +574,7 @@ QVariant QMYSQLResult::data(int field)
int fieldLength = 0;
const QMYSQLResultPrivate::QMyField &f = d->fields.at(field);
QString val;
- if (d->driver->d->preparedQuerys) {
+ if (d->preparedQuery) {
if (f.nullIndicator)
return QVariant(f.type);
@@ -634,7 +634,7 @@ QVariant QMYSQLResult::data(int field)
case QVariant::ByteArray: {
QByteArray ba;
- if (d->driver->d->preparedQuerys) {
+ if (d->preparedQuery) {
ba = QByteArray(f.outField, f.bufLength);
} else {
ba = QByteArray(d->row[field], fieldLength);
@@ -651,7 +651,7 @@ QVariant QMYSQLResult::data(int field)
bool QMYSQLResult::isNull(int field)
{
- if (d->driver->d->preparedQuerys)
+ if (d->preparedQuery)
return d->fields.at(field).nullIndicator;
else
return d->row[field] == NULL;
@@ -662,11 +662,9 @@ bool QMYSQLResult::reset (const QString& query)
if (!driver() || !driver()->isOpen() || driver()->isOpenError() || !d->driver)
return false;
- if(d->driver->d->preparedQuerysEnabled && prepare(query)) {
- d->driver->d->preparedQuerys = true;
- return exec();
- }
- d->driver->d->preparedQuerys = false;
+ d->preparedQuery = false;
+
+ cleanup();
const QByteArray encQuery(fromUnicode(d->driver->d->tc, query));
if (mysql_real_query(d->driver->d->mysql, encQuery.data(), encQuery.length())) {
@@ -699,7 +697,7 @@ bool QMYSQLResult::reset (const QString& query)
int QMYSQLResult::size()
{
if (d->driver && isSelect())
- if (d->driver->d->preparedQuerys)
+ if (d->preparedQuery)
#if MYSQL_VERSION_ID >= 40108
return mysql_stmt_num_rows(d->stmt);
#else
@@ -721,7 +719,7 @@ QVariant QMYSQLResult::lastInsertId() const
if (!isActive() || !d->driver)
return QVariant();
- if (d->driver->d->preparedQuerys) {
+ if (d->preparedQuery) {
#if MYSQL_VERSION_ID >= 40108
quint64 id = mysql_stmt_insert_id(d->stmt);
if (id)
@@ -743,7 +741,7 @@ QSqlRecord QMYSQLResult::record() const
return info;
#if MYSQL_VERSION_ID >= 40108
- res = d->driver->d->preparedQuerys ? d->meta : d->result;
+ res = d->preparedQuery ? d->meta : d->result;
#else
res = d->result;
#endif
@@ -856,7 +854,7 @@ bool QMYSQLResult::prepare(const QString& query)
return false;
#if MYSQL_VERSION_ID >= 40108
cleanup();
- if (!d->driver->d->preparedQuerys)
+ if (!d->driver->d->preparedQuerysEnabled)
return QSqlResult::prepare(query);
int r;
@@ -886,6 +884,7 @@ bool QMYSQLResult::prepare(const QString& query)
}
setSelect(d->bindInValues());
+ d->preparedQuery = true;
return true;
#else
return false;
@@ -896,7 +895,7 @@ bool QMYSQLResult::exec()
{
if (!d->driver)
return false;
- if (!d->driver->d->preparedQuerys)
+ if (!d->preparedQuery)
return QSqlResult::exec();
if (!d->stmt)
return false;
@@ -1338,9 +1337,6 @@ QSqlIndex QMYSQLDriver::primaryIndex(const QString& tablename) const
if (!isOpen())
return idx;
- prepQ = d->preparedQuerys;
- d->preparedQuerys = false;
-
QSqlQuery i(createResult());
QString stmt(QLatin1String("show index from %1;"));
QSqlRecord fil = record(tablename);
@@ -1353,7 +1349,6 @@ QSqlIndex QMYSQLDriver::primaryIndex(const QString& tablename) const
}
}
- d->preparedQuerys = prepQ;
return idx;
}
diff --git a/src/sql/drivers/odbc/qsql_odbc.cpp b/src/sql/drivers/odbc/qsql_odbc.cpp
index e91ca56..2df0073 100644
--- a/src/sql/drivers/odbc/qsql_odbc.cpp
+++ b/src/sql/drivers/odbc/qsql_odbc.cpp
@@ -89,7 +89,8 @@ public:
enum DefaultCase{Lower, Mixed, Upper, Sensitive};
QODBCDriverPrivate()
: hEnv(0), hDbc(0), useSchema(false), disconnectCount(0), isMySqlServer(false),
- isMSSqlServer(false), hasSQLFetchScroll(true), hasMultiResultSets(false)
+ isMSSqlServer(false), hasSQLFetchScroll(true), hasMultiResultSets(false),
+ isQuoteInitialized(false), quote(QLatin1Char('"'))
{
unicode = false;
}
@@ -116,7 +117,10 @@ public:
QString &schema, QString &table);
DefaultCase defaultCase() const;
QString adjustCase(const QString&) const;
- QChar quoteChar() const;
+ QChar quoteChar();
+private:
+ bool isQuoteInitialized;
+ QChar quote;
};
class QODBCPrivate
@@ -566,10 +570,8 @@ static int qGetODBCVersion(const QString &connOpts)
return SQL_OV_ODBC2;
}
-QChar QODBCDriverPrivate::quoteChar() const
+QChar QODBCDriverPrivate::quoteChar()
{
- static bool isQuoteInitialized = false;
- static QChar quote = QChar::fromLatin1('"');
if (!isQuoteInitialized) {
char driverResponse[4];
SQLSMALLINT length;
@@ -579,9 +581,9 @@ QChar QODBCDriverPrivate::quoteChar() const
sizeof(driverResponse),
&length);
if (r == SQL_SUCCESS || r == SQL_SUCCESS_WITH_INFO) {
- quote = QChar::fromLatin1(driverResponse[0]);
+ quote = QLatin1Char(driverResponse[0]);
} else {
- quote = QChar::fromLatin1('"');
+ quote = QLatin1Char('"');
}
isQuoteInitialized = true;
}
@@ -1781,7 +1783,7 @@ bool QODBCDriver::open(const QString & db,
if (!d->checkDriver()) {
setLastError(qMakeError(tr("Unable to connect - Driver doesn't support all "
- "needed functionality"), QSqlError::ConnectionError, d));
+ "functionality required"), QSqlError::ConnectionError, d));
setOpenError(true);
return false;
}
@@ -1845,14 +1847,7 @@ void QODBCDriverPrivate::checkUnicode()
unicode = false;
return;
#endif
-#if defined(Q_WS_WIN)
- QT_WA(
- {},
- {
- unicode = false;
- return;
- })
-#endif
+
SQLRETURN r;
SQLUINTEGER fFunc;
diff --git a/src/sql/drivers/psql/qsql_psql.cpp b/src/sql/drivers/psql/qsql_psql.cpp
index 2c67c8d..4fd0c11 100644
--- a/src/sql/drivers/psql/qsql_psql.cpp
+++ b/src/sql/drivers/psql/qsql_psql.cpp
@@ -54,11 +54,33 @@
#include <qstringlist.h>
#include <qmutex.h>
+
#include <libpq-fe.h>
#include <pg_config.h>
#include <stdlib.h>
#include <math.h>
+// below code taken from an example at http://www.gnu.org/software/hello/manual/autoconf/Function-Portability.html
+#ifndef isnan
+ # define isnan(x) \
+ (sizeof (x) == sizeof (long double) ? isnan_ld (x) \
+ : sizeof (x) == sizeof (double) ? isnan_d (x) \
+ : isnan_f (x))
+ static inline int isnan_f (float x) { return x != x; }
+ static inline int isnan_d (double x) { return x != x; }
+ static inline int isnan_ld (long double x) { return x != x; }
+#endif
+
+#ifndef isinf
+ # define isinf(x) \
+ (sizeof (x) == sizeof (long double) ? isinf_ld (x) \
+ : sizeof (x) == sizeof (double) ? isinf_d (x) \
+ : isinf_f (x))
+ static inline int isinf_f (float x) { return isnan (x - x); }
+ static inline int isinf_d (double x) { return isnan (x - x); }
+ static inline int isinf_ld (long double x) { return isnan (x - x); }
+#endif
+
// workaround for postgres defining their OIDs in a private header file
#define QBOOLOID 16
@@ -601,10 +623,9 @@ static QPSQLDriver::Protocol getPSQLVersion(PGconn* connection)
{
QPSQLDriver::Protocol serverVersion = QPSQLDriver::Version6;
PGresult* result = PQexec(connection, "select version()");
- int status = PQresultStatus(result);
+ int status = PQresultStatus(result);
if (status == PGRES_COMMAND_OK || status == PGRES_TUPLES_OK) {
QString val = QString::fromAscii(PQgetvalue(result, 0, 0));
- PQclear(result);
QRegExp rx(QLatin1String("(\\d+)\\.(\\d+)"));
rx.setMinimal(true); // enforce non-greedy RegExp
if (rx.indexIn(val) != -1) {
@@ -645,6 +666,7 @@ static QPSQLDriver::Protocol getPSQLVersion(PGconn* connection)
}
}
}
+ PQclear(result);
if (serverVersion < QPSQLDriver::Version71)
qWarning("This version of PostgreSQL is not supported and may not work.");
@@ -918,7 +940,7 @@ QSqlIndex QPSQLDriver::primaryIndex(const QString& tablename) const
case QPSQLDriver::Version6:
stmt = QLatin1String("select pg_att1.attname, int(pg_att1.atttypid), pg_cl.relname "
"from pg_attribute pg_att1, pg_attribute pg_att2, pg_class pg_cl, pg_index pg_ind "
- "where lower(pg_cl.relname) = '%1_pkey' "
+ "where pg_cl.relname = '%1_pkey' "
"and pg_cl.oid = pg_ind.indexrelid "
"and pg_att2.attrelid = pg_ind.indexrelid "
"and pg_att1.attrelid = pg_ind.indrelid "
@@ -929,7 +951,7 @@ QSqlIndex QPSQLDriver::primaryIndex(const QString& tablename) const
case QPSQLDriver::Version71:
stmt = QLatin1String("select pg_att1.attname, pg_att1.atttypid::int, pg_cl.relname "
"from pg_attribute pg_att1, pg_attribute pg_att2, pg_class pg_cl, pg_index pg_ind "
- "where lower(pg_cl.relname) = '%1_pkey' "
+ "where pg_cl.relname = '%1_pkey' "
"and pg_cl.oid = pg_ind.indexrelid "
"and pg_att2.attrelid = pg_ind.indexrelid "
"and pg_att1.attrelid = pg_ind.indrelid "
@@ -994,7 +1016,7 @@ QSqlRecord QPSQLDriver::record(const QString& tablename) const
"pg_attribute.attnotnull, pg_attribute.attlen, pg_attribute.atttypmod, "
"int(pg_attribute.attrelid), pg_attribute.attnum "
"from pg_class, pg_attribute "
- "where lower(pg_class.relname) = '%1' "
+ "where pg_class.relname = '%1' "
"and pg_attribute.attnum > 0 "
"and pg_attribute.attrelid = pg_class.oid ");
break;
@@ -1003,7 +1025,7 @@ QSqlRecord QPSQLDriver::record(const QString& tablename) const
"pg_attribute.attnotnull, pg_attribute.attlen, pg_attribute.atttypmod, "
"pg_attribute.attrelid::int, pg_attribute.attnum "
"from pg_class, pg_attribute "
- "where lower(pg_class.relname) = '%1' "
+ "where pg_class.relname = '%1' "
"and pg_attribute.attnum > 0 "
"and pg_attribute.attrelid = pg_class.oid ");
break;
@@ -1014,7 +1036,7 @@ QSqlRecord QPSQLDriver::record(const QString& tablename) const
"from pg_class, pg_attribute "
"left join pg_attrdef on (pg_attrdef.adrelid = "
"pg_attribute.attrelid and pg_attrdef.adnum = pg_attribute.attnum) "
- "where lower(pg_class.relname) = '%1' "
+ "where pg_class.relname = '%1' "
"and pg_attribute.attnum > 0 "
"and pg_attribute.attrelid = pg_class.oid "
"order by pg_attribute.attnum ");
@@ -1161,6 +1183,21 @@ QString QPSQLDriver::formatValue(const QSqlField &field, bool trimStrings) const
qPQfreemem(data);
break;
}
+ case QVariant::Double: {
+ double val = field.value().toDouble();
+ if (isnan(val))
+ r = QLatin1String("'NaN'");
+ else {
+ int res = isinf(val);
+ if (res == 1)
+ r = QLatin1String("'Infinity'");
+ else if (res == -1)
+ r = QLatin1String("'-Infinity'");
+ else
+ r = QSqlDriver::formatValue(field, trimStrings);
+ }
+ break;
+ }
default:
r = QSqlDriver::formatValue(field, trimStrings);
break;
diff --git a/src/sql/drivers/sqlite2/qsql_sqlite2.cpp b/src/sql/drivers/sqlite2/qsql_sqlite2.cpp
index 1989c45..d30e82c 100644
--- a/src/sql/drivers/sqlite2/qsql_sqlite2.cpp
+++ b/src/sql/drivers/sqlite2/qsql_sqlite2.cpp
@@ -388,7 +388,7 @@ bool QSQLite2Driver::open(const QString & db, const QString &, const QString &,
char* err = 0;
d->access = sqlite_open(QFile::encodeName(db), 0, &err);
if (err) {
- setLastError(QSqlError(tr("Error to open database"), QString::fromAscii(err),
+ setLastError(QSqlError(tr("Error opening database"), QString::fromAscii(err),
QSqlError::ConnectionError));
sqlite_freemem(err);
err = 0;
@@ -463,7 +463,7 @@ bool QSQLite2Driver::rollbackTransaction()
if (res == SQLITE_OK)
return true;
- setLastError(QSqlError(tr("Unable to rollback Transaction"),
+ setLastError(QSqlError(tr("Unable to rollback transaction"),
QString::fromAscii(err), QSqlError::TransactionError, res));
sqlite_freemem(err);
return false;
diff --git a/src/sql/kernel/qsqldatabase.cpp b/src/sql/kernel/qsqldatabase.cpp
index 5aef39e..4950303 100644
--- a/src/sql/kernel/qsqldatabase.cpp
+++ b/src/sql/kernel/qsqldatabase.cpp
@@ -1481,18 +1481,21 @@ QString QSqlDatabase::connectionName() const
}
/*!
- Sets the default numerical precision policy used by queries created
- on this database connection to \a precisionPolicy.
+ \since 4.6
- Note: Drivers that don't support fetching numerical values with low
- precision will ignore the precision policy. You can use
- QSqlDriver::hasFeature() to find out whether a driver supports this
- feature.
+ Sets the default numerical precision policy used by queries created
+ on this database connection to \a precisionPolicy.
- Note: Setting the default precision policy to \a precisionPolicy
- doesn't affect any currently active queries.
+ Note: Drivers that don't support fetching numerical values with low
+ precision will ignore the precision policy. You can use
+ QSqlDriver::hasFeature() to find out whether a driver supports this
+ feature.
- \sa QSql::NumericalPrecisionPolicy, numericalPrecisionPolicy(), QSqlQuery::setNumericalPrecisionPolicy(), QSqlQuery::numericalPrecisionPolicy()
+ Note: Setting the default precision policy to \a precisionPolicy
+ doesn't affect any currently active queries.
+
+ \sa QSql::NumericalPrecisionPolicy, numericalPrecisionPolicy(),
+ QSqlQuery::setNumericalPrecisionPolicy(), QSqlQuery::numericalPrecisionPolicy()
*/
void QSqlDatabase::setNumericalPrecisionPolicy(QSql::NumericalPrecisionPolicy precisionPolicy)
{
@@ -1502,9 +1505,12 @@ void QSqlDatabase::setNumericalPrecisionPolicy(QSql::NumericalPrecisionPolicy pr
}
/*!
- Returns the current default precision policy for the database connection.
+ \since 4.6
+
+ Returns the current default precision policy for the database connection.
- \sa QSql::NumericalPrecisionPolicy, setNumericalPrecisionPolicy(), QSqlQuery::numericalPrecisionPolicy(), QSqlQuery::setNumericalPrecisionPolicy()
+ \sa QSql::NumericalPrecisionPolicy, setNumericalPrecisionPolicy(),
+ QSqlQuery::numericalPrecisionPolicy(), QSqlQuery::setNumericalPrecisionPolicy()
*/
QSql::NumericalPrecisionPolicy QSqlDatabase::numericalPrecisionPolicy() const
{
diff --git a/src/sql/kernel/qsqldriver.cpp b/src/sql/kernel/qsqldriver.cpp
index 77e389f..ca0da66 100644
--- a/src/sql/kernel/qsqldriver.cpp
+++ b/src/sql/kernel/qsqldriver.cpp
@@ -865,6 +865,8 @@ QStringList QSqlDriver::subscribedToNotificationsImplementation() const
}
/*!
+ \since 4.6
+
This slot returns whether \a identifier is escaped according to the database rules.
\a identifier can either be a table name or field name, dependent
on \a type.
@@ -876,7 +878,6 @@ QStringList QSqlDriver::subscribedToNotificationsImplementation() const
slot in your own QSqlDriver if your database engine uses a different
delimiter character.
- \since 4.5
\sa isIdentifierEscaped()
*/
bool QSqlDriver::isIdentifierEscapedImplementation(const QString &identifier, IdentifierType type) const
@@ -888,6 +889,8 @@ bool QSqlDriver::isIdentifierEscapedImplementation(const QString &identifier, Id
}
/*!
+ \since 4.6
+
This slot returns \a identifier with the leading and trailing delimiters removed,
\a identifier can either be a tablename or field name, dependent on \a type.
If \a identifier does not have leading and trailing delimiter characters, \a
@@ -898,7 +901,6 @@ bool QSqlDriver::isIdentifierEscapedImplementation(const QString &identifier, Id
dynamically detect and call \e this slot. It generally unnecessary
to reimplement this slot.
- \since 4.5
\sa stripDelimiters()
*/
QString QSqlDriver::stripDelimitersImplementation(const QString &identifier, IdentifierType type) const
@@ -914,13 +916,16 @@ QString QSqlDriver::stripDelimitersImplementation(const QString &identifier, Ide
}
/*!
- Sets the default numerical precision policy used by queries created
- by this driver to \a precisionPolicy.
+ \since 4.6
+
+ Sets the default numerical precision policy used by queries created
+ by this driver to \a precisionPolicy.
- Note: Setting the default precision policy to \a precisionPolicy
- doesn't affect any currently active queries.
+ Note: Setting the default precision policy to \a precisionPolicy
+ doesn't affect any currently active queries.
- \sa QSql::NumericalPrecisionPolicy, numericalPrecisionPolicy(), QSqlQuery::setNumericalPrecisionPolicy(), QSqlQuery::numericalPrecisionPolicy()
+ \sa QSql::NumericalPrecisionPolicy, numericalPrecisionPolicy(),
+ QSqlQuery::setNumericalPrecisionPolicy(), QSqlQuery::numericalPrecisionPolicy()
*/
void QSqlDriver::setNumericalPrecisionPolicy(QSql::NumericalPrecisionPolicy precisionPolicy)
{
@@ -928,9 +933,12 @@ void QSqlDriver::setNumericalPrecisionPolicy(QSql::NumericalPrecisionPolicy prec
}
/*!
- Returns the current default precision policy for the database connection.
+ \since 4.6
+
+ Returns the current default precision policy for the database connection.
- \sa QSql::NumericalPrecisionPolicy, setNumericalPrecisionPolicy(), QSqlQuery::numericalPrecisionPolicy(), QSqlQuery::setNumericalPrecisionPolicy()
+ \sa QSql::NumericalPrecisionPolicy, setNumericalPrecisionPolicy(),
+ QSqlQuery::numericalPrecisionPolicy(), QSqlQuery::setNumericalPrecisionPolicy()
*/
QSql::NumericalPrecisionPolicy QSqlDriver::numericalPrecisionPolicy() const
{
diff --git a/src/sql/kernel/qsqldriver.h b/src/sql/kernel/qsqldriver.h
index b411d65..3052be6 100644
--- a/src/sql/kernel/qsqldriver.h
+++ b/src/sql/kernel/qsqldriver.h
@@ -69,7 +69,7 @@ class Q_SQL_EXPORT QSqlDriver : public QObject
{
friend class QSqlDatabase;
Q_OBJECT
- Q_DECLARE_SCOPED_PRIVATE(QSqlDriver)
+ Q_DECLARE_PRIVATE(QSqlDriver)
public:
enum DriverFeature { Transactions, QuerySize, BLOB, Unicode, PreparedQueries,
diff --git a/src/sql/models/qsqlquerymodel.h b/src/sql/models/qsqlquerymodel.h
index bf99634..c81fa2c 100644
--- a/src/sql/models/qsqlquerymodel.h
+++ b/src/sql/models/qsqlquerymodel.h
@@ -59,7 +59,7 @@ class QSqlQuery;
class Q_SQL_EXPORT QSqlQueryModel: public QAbstractTableModel
{
Q_OBJECT
- Q_DECLARE_SCOPED_PRIVATE(QSqlQueryModel)
+ Q_DECLARE_PRIVATE(QSqlQueryModel)
public:
explicit QSqlQueryModel(QObject *parent = 0);
diff --git a/src/sql/models/qsqlrelationaltablemodel.h b/src/sql/models/qsqlrelationaltablemodel.h
index fa060b8..f476a48 100644
--- a/src/sql/models/qsqlrelationaltablemodel.h
+++ b/src/sql/models/qsqlrelationaltablemodel.h
@@ -102,7 +102,7 @@ protected:
QString orderByClause() const;
private:
- Q_DECLARE_SCOPED_PRIVATE(QSqlRelationalTableModel)
+ Q_DECLARE_PRIVATE(QSqlRelationalTableModel)
};
QT_END_NAMESPACE
diff --git a/src/sql/models/qsqltablemodel.cpp b/src/sql/models/qsqltablemodel.cpp
index 156af26..4315a8c 100644
--- a/src/sql/models/qsqltablemodel.cpp
+++ b/src/sql/models/qsqltablemodel.cpp
@@ -205,7 +205,7 @@ bool QSqlTableModelPrivate::exec(const QString &stmt, bool prepStatement,
editQuery.addBindValue(rec.value(i));
}
for (i = 0; i < whereValues.count(); ++i) {
- if (whereValues.isGenerated(i))
+ if (whereValues.isGenerated(i) && !whereValues.isNull(i))
editQuery.addBindValue(whereValues.value(i));
}
@@ -538,6 +538,7 @@ bool QSqlTableModel::setData(const QModelIndex &index, const QVariant &value, in
isOk = updateRowInTable(index.row(), d->editBuffer);
if (isOk)
select();
+ emit dataChanged(index, index);
break; }
case OnRowChange:
if (index.row() == d->insertIndex) {
diff --git a/src/sql/models/qsqltablemodel.h b/src/sql/models/qsqltablemodel.h
index 3e539be..a6f4469 100644
--- a/src/sql/models/qsqltablemodel.h
+++ b/src/sql/models/qsqltablemodel.h
@@ -59,7 +59,7 @@ class QSqlIndex;
class Q_SQL_EXPORT QSqlTableModel: public QSqlQueryModel
{
Q_OBJECT
- Q_DECLARE_SCOPED_PRIVATE(QSqlTableModel)
+ Q_DECLARE_PRIVATE(QSqlTableModel)
public:
enum EditStrategy {OnFieldChange, OnRowChange, OnManualSubmit};
diff --git a/src/src.pro b/src/src.pro
index 3175916..607209a 100644
--- a/src/src.pro
+++ b/src/src.pro
@@ -10,7 +10,7 @@ wince*:{
SRC_SUBDIRS += $$QT_SOURCE_TREE/src/s60installs/qt_libs.pro
} else {
SRC_SUBDIRS += src_tools_bootstrap src_tools_moc src_tools_rcc src_tools_uic src_corelib src_xml src_network src_gui src_sql src_script src_testlib
- contains(QT_CONFIG, qt3support): SRC_SUBDIRS += src_qt3support
+ !vxworks:contains(QT_CONFIG, qt3support): SRC_SUBDIRS += src_qt3support
contains(QT_CONFIG, dbus):SRC_SUBDIRS += src_dbus
!cross_compile {
contains(QT_CONFIG, qt3support): SRC_SUBDIRS += src_tools_uic3
@@ -25,6 +25,7 @@ contains(QT_CONFIG, opengl)|contains(QT_CONFIG, opengles1)|contains(QT_CONFIG, o
contains(QT_CONFIG, openvg): SRC_SUBDIRS += src_openvg
contains(QT_CONFIG, xmlpatterns): SRC_SUBDIRS += src_xmlpatterns
contains(QT_CONFIG, phonon): SRC_SUBDIRS += src_phonon
+contains(QT_CONFIG, multimedia): SRC_SUBDIRS += src_multimedia
contains(QT_CONFIG, svg): SRC_SUBDIRS += src_svg
contains(QT_CONFIG, webkit) {
#exists($$QT_SOURCE_TREE/src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.pro): SRC_SUBDIRS += src_javascriptcore
@@ -73,6 +74,8 @@ src_qt3support.subdir = $$QT_SOURCE_TREE/src/qt3support
src_qt3support.target = sub-qt3support
src_phonon.subdir = $$QT_SOURCE_TREE/src/phonon
src_phonon.target = sub-phonon
+src_multimedia.subdir = $$QT_SOURCE_TREE/src/multimedia
+src_multimedia.target = sub-multimedia
src_tools_uic3.subdir = $$QT_SOURCE_TREE/src/tools/uic3
src_tools_uic3.target = sub-uic3
src_activeqt.subdir = $$QT_SOURCE_TREE/src/activeqt
@@ -109,6 +112,7 @@ src_webkit.target = sub-webkit
src_testlib.depends = src_corelib
src_qt3support.depends = src_gui src_xml src_network src_sql
src_phonon.depends = src_gui
+ src_multimedia.depends = src_gui
src_tools_uic3.depends = src_qt3support src_xml
src_tools_idc.depends = src_corelib
src_tools_activeqt.depends = src_tools_idc src_gui
diff --git a/src/svg/qgraphicssvgitem.h b/src/svg/qgraphicssvgitem.h
index 9a41e9b..e7ef4b3 100644
--- a/src/svg/qgraphicssvgitem.h
+++ b/src/svg/qgraphicssvgitem.h
@@ -87,7 +87,7 @@ public:
private:
Q_DISABLE_COPY(QGraphicsSvgItem)
- // Q_DECLARE_SCOPED_PRIVATE_WITH_BASE(QGraphicsSvgItem, QObject)
+ // Q_DECLARE_PRIVATE_WITH_BASE(QGraphicsSvgItem, QObject)
inline QGraphicsSvgItemPrivate *d_func()
{ return reinterpret_cast<QGraphicsSvgItemPrivate *>(QObject::d_ptr.data()); }
inline const QGraphicsSvgItemPrivate *d_func() const
diff --git a/src/svg/qsvggenerator.cpp b/src/svg/qsvggenerator.cpp
index b5c56cd..9486479 100644
--- a/src/svg/qsvggenerator.cpp
+++ b/src/svg/qsvggenerator.cpp
@@ -155,7 +155,7 @@ static inline QPaintEngine::PaintEngineFeatures svgEngineFeatures()
class QSvgPaintEngine : public QPaintEngine
{
- Q_DECLARE_SCOPED_PRIVATE(QSvgPaintEngine)
+ Q_DECLARE_PRIVATE(QSvgPaintEngine)
public:
QSvgPaintEngine()
diff --git a/src/svg/qsvggenerator.h b/src/svg/qsvggenerator.h
index 951cee1..5b60a05 100644
--- a/src/svg/qsvggenerator.h
+++ b/src/svg/qsvggenerator.h
@@ -61,7 +61,7 @@ class QSvgGeneratorPrivate;
class Q_SVG_EXPORT QSvgGenerator : public QPaintDevice
{
- Q_DECLARE_SCOPED_PRIVATE(QSvgGenerator)
+ Q_DECLARE_PRIVATE(QSvgGenerator)
Q_PROPERTY(QSize size READ size WRITE setSize)
Q_PROPERTY(QRectF viewBox READ viewBoxF WRITE setViewBox)
diff --git a/src/svg/qsvggraphics.cpp b/src/svg/qsvggraphics.cpp
index e09f382..2be7559 100644
--- a/src/svg/qsvggraphics.cpp
+++ b/src/svg/qsvggraphics.cpp
@@ -266,21 +266,23 @@ void QSvgRect::draw(QPainter *p, QSvgExtraStates &states)
}
}
+QSvgTspan * const QSvgText::LINEBREAK = 0;
+
QSvgText::QSvgText(QSvgNode *parent, const QPointF &coord)
: QSvgNode(parent)
, m_coord(coord)
- , m_textAlignment(Qt::AlignLeft)
- , m_scale(1)
- , m_appendSpace(false)
, m_type(TEXT)
, m_size(0, 0)
+ , m_mode(Default)
{
- m_paragraphs.push_back(QString());
- m_formatRanges.push_back(QList<QTextLayout::FormatRange>());
}
QSvgText::~QSvgText()
{
+ for (int i = 0; i < m_tspans.size(); ++i) {
+ if (m_tspans[i] != LINEBREAK)
+ delete m_tspans[i];
+ }
}
void QSvgText::setTextArea(const QSizeF &size)
@@ -295,175 +297,173 @@ void QSvgText::draw(QPainter *p, QSvgExtraStates &states)
{
applyStyle(p, states);
- QSvgFontStyle *fontStyle = static_cast<QSvgFontStyle*>(
- styleProperty(QSvgStyleProperty::FONT));
- if (fontStyle && fontStyle->svgFont()) {
- // SVG fonts not fully supported...
- QString text = m_paragraphs.front();
- for (int i = 1; i < m_paragraphs.size(); ++i) {
- text.append(QLatin1Char('\n'));
- text.append(m_paragraphs[i]);
- }
- fontStyle->svgFont()->draw(p, m_coord, text, fontStyle->pointSize(), m_textAlignment);
- revertStyle(p, states);
- return;
- }
+ // Force the font to have a size of 100 pixels to avoid truncation problems
+ // when the font is very small.
+ qreal scale = 100.0 / p->font().pointSizeF();
+ Qt::Alignment alignment = states.textAnchor;
- // Scale the font to its correct size.
QTransform oldTransform = p->worldTransform();
- p->scale(1 / m_scale, 1 / m_scale);
+ p->scale(1 / scale, 1 / scale);
qreal y = 0;
bool initial = true;
- qreal px = m_coord.x() * m_scale;
- qreal py = m_coord.y() * m_scale;
- QSizeF scaledSize = m_size * m_scale;
+ qreal px = m_coord.x() * scale;
+ qreal py = m_coord.y() * scale;
+ QSizeF scaledSize = m_size * scale;
if (m_type == TEXTAREA) {
- if (m_textAlignment == Qt::AlignHCenter)
+ if (alignment == Qt::AlignHCenter)
px += scaledSize.width() / 2;
- else if (m_textAlignment == Qt::AlignRight)
+ else if (alignment == Qt::AlignRight)
px += scaledSize.width();
}
QRectF bounds;
if (m_size.height() != 0)
- bounds = QRectF(0, 0, 1, scaledSize.height());
-
- for (int i = 0; i < m_paragraphs.size(); ++i) {
- QTextLayout tl(m_paragraphs[i]);
- QTextOption op = tl.textOption();
- op.setWrapMode(QTextOption::WrapAtWordBoundaryOrAnywhere);
- tl.setTextOption(op);
- tl.setAdditionalFormats(m_formatRanges[i]);
- tl.beginLayout();
- forever {
- QTextLine line = tl.createLine();
- if (!line.isValid())
- break;
-
- if (m_size.width() != 0)
- line.setLineWidth(scaledSize.width());
- }
- tl.endLayout();
-
- bool endOfBoundsReached = false;
- for (int i = 0; i < tl.lineCount(); ++i) {
- QTextLine line = tl.lineAt(i);
-
- qreal x = 0;
- if (m_textAlignment == Qt::AlignHCenter)
- x -= line.naturalTextWidth() / 2;
- else if (m_textAlignment == Qt::AlignRight)
- x -= line.naturalTextWidth();
-
- if (initial && m_type == TEXT)
- y -= line.ascent();
- initial = false;
-
- line.setPosition(QPointF(x, y));
- if ((m_size.width() != 0 && line.naturalTextWidth() > scaledSize.width())
- || (m_size.height() != 0 && y + line.height() > scaledSize.height())) {
- bounds.setHeight(y);
- endOfBoundsReached = true;
- break;
+ bounds = QRectF(0, py, 1, scaledSize.height()); // x and width are not used.
+
+ bool appendSpace = false;
+ QVector<QString> paragraphs;
+ QStack<QTextCharFormat> formats;
+ QVector<QList<QTextLayout::FormatRange> > formatRanges;
+ paragraphs.push_back(QString());
+ formatRanges.push_back(QList<QTextLayout::FormatRange>());
+
+ for (int i = 0; i < m_tspans.size(); ++i) {
+ if (m_tspans[i] == LINEBREAK) {
+ if (m_type == TEXTAREA) {
+ if (paragraphs.back().isEmpty()) {
+ QFont font = p->font();
+ font.setPixelSize(font.pointSizeF() * scale);
+
+ QTextLayout::FormatRange range;
+ range.start = 0;
+ range.length = 1;
+ range.format.setFont(font);
+ formatRanges.back().append(range);
+
+ paragraphs.back().append(QLatin1Char(' '));;
+ }
+ appendSpace = false;
+ paragraphs.push_back(QString());
+ formatRanges.push_back(QList<QTextLayout::FormatRange>());
}
+ } else {
+ WhitespaceMode mode = m_tspans[i]->whitespaceMode();
+ m_tspans[i]->applyStyle(p, states);
- y += 1.1 * line.height();
- }
- tl.draw(p, QPointF(px, py), QVector<QTextLayout::FormatRange>(), bounds);
+ QFont font = p->font();
+ font.setPixelSize(font.pointSizeF() * scale);
- if (endOfBoundsReached)
- break;
- }
+ QString newText(m_tspans[i]->text());
+ newText.replace(QLatin1Char('\t'), QLatin1Char(' '));
+ newText.replace(QLatin1Char('\n'), QLatin1Char(' '));
- p->setWorldTransform(oldTransform, false);
- revertStyle(p, states);
-}
+ bool prependSpace = !appendSpace && !m_tspans[i]->isTspan() && (mode == Default) && !paragraphs.back().isEmpty() && newText.startsWith(QLatin1Char(' '));
+ if (appendSpace || prependSpace)
+ paragraphs.back().append(QLatin1Char(' '));
-void QSvgText::insertText(const QString &text, WhitespaceMode mode)
-{
- bool isTSpan = (m_formats.count() == 2);
- QString newText(text);
- newText.replace(QLatin1Char('\t'), QLatin1Char(' '));
- newText.replace(QLatin1Char('\n'), QLatin1Char(' '));
+ bool appendSpaceNext = (!m_tspans[i]->isTspan() && (mode == Default) && newText.endsWith(QLatin1Char(' ')));
- bool prependSpace = !m_appendSpace && !isTSpan && (mode == Default) && !m_paragraphs.back().isEmpty() && newText.startsWith(QLatin1Char(' '));
- if (m_appendSpace || prependSpace)
- m_paragraphs.back().append(QLatin1Char(' '));
+ if (mode == Default) {
+ newText = newText.simplified();
+ if (newText.isEmpty())
+ appendSpaceNext = false;
+ }
- bool appendSpaceNext = (!isTSpan && (mode == Default) && newText.endsWith(QLatin1Char(' ')));
+ QTextLayout::FormatRange range;
+ range.start = paragraphs.back().length();
+ range.length = newText.length();
+ range.format.setFont(font);
+ range.format.setTextOutline(p->pen());
+ range.format.setForeground(p->brush());
+
+ if (appendSpace) {
+ Q_ASSERT(!formatRanges.back().isEmpty());
+ ++formatRanges.back().back().length;
+ } else if (prependSpace) {
+ --range.start;
+ ++range.length;
+ }
+ formatRanges.back().append(range);
- if (mode == Default) {
- newText = newText.simplified();
- if (newText.isEmpty())
- appendSpaceNext = false;
- }
+ appendSpace = appendSpaceNext;
+ paragraphs.back() += newText;
- if (!m_formats.isEmpty()) {
- QTextLayout::FormatRange range;
- range.start = m_paragraphs.back().length();
- range.length = newText.length();
- range.format = m_formats.top();
- if (m_appendSpace) {
- Q_ASSERT(!m_formatRanges.back().isEmpty());
- ++m_formatRanges.back().back().length;
- } else if (prependSpace) {
- --range.start;
- ++range.length;
+ m_tspans[i]->revertStyle(p, states);
}
- m_formatRanges.back().append(range);
}
- m_appendSpace = appendSpaceNext;
- m_paragraphs.back() += newText;
-}
-
-void QSvgText::insertFormat(const QTextCharFormat &format)
-{
- QTextCharFormat mergedFormat = format;
- if (!m_formats.isEmpty()) {
- mergedFormat = m_formats.top();
- mergedFormat.merge(format);
- }
- m_formats.push(mergedFormat);
-}
+ if (states.svgFont) {
+ // SVG fonts not fully supported...
+ QString text = paragraphs.front();
+ for (int i = 1; i < paragraphs.size(); ++i) {
+ text.append(QLatin1Char('\n'));
+ text.append(paragraphs[i]);
+ }
+ states.svgFont->draw(p, m_coord, text, p->font().pointSizeF() * scale, states.textAnchor);
+ } else {
+ for (int i = 0; i < paragraphs.size(); ++i) {
+ QTextLayout tl(paragraphs[i]);
+ QTextOption op = tl.textOption();
+ op.setWrapMode(QTextOption::WrapAtWordBoundaryOrAnywhere);
+ tl.setTextOption(op);
+ tl.setAdditionalFormats(formatRanges[i]);
+ tl.beginLayout();
+
+ forever {
+ QTextLine line = tl.createLine();
+ if (!line.isValid())
+ break;
+ if (m_size.width() != 0)
+ line.setLineWidth(scaledSize.width());
+ }
+ tl.endLayout();
+
+ bool endOfBoundsReached = false;
+ for (int i = 0; i < tl.lineCount(); ++i) {
+ QTextLine line = tl.lineAt(i);
+
+ qreal x = 0;
+ if (alignment == Qt::AlignHCenter)
+ x -= 0.5 * line.naturalTextWidth();
+ else if (alignment == Qt::AlignRight)
+ x -= line.naturalTextWidth();
+
+ if (initial && m_type == TEXT)
+ y -= line.ascent();
+ initial = false;
+
+ line.setPosition(QPointF(x, y));
+
+ // Check if the current line fits into the bounding rectangle.
+ if ((m_size.width() != 0 && line.naturalTextWidth() > scaledSize.width())
+ || (m_size.height() != 0 && y + line.height() > scaledSize.height())) {
+ // I need to set the bounds height to 'y-epsilon' to avoid drawing the current
+ // line. Since the font is scaled to 100 units, 1 should be a safe epsilon.
+ bounds.setHeight(y - 1);
+ endOfBoundsReached = true;
+ break;
+ }
+
+ y += 1.1 * line.height();
+ }
+ tl.draw(p, QPointF(px, py), QVector<QTextLayout::FormatRange>(), bounds);
-void QSvgText::insertLineBreak()
-{
- if (m_type == TEXTAREA) {
- if (m_paragraphs.back().isEmpty())
- insertText(QLatin1String(" "), Preserve);
- m_appendSpace = false;
- m_paragraphs.push_back(QString());
- m_formatRanges.push_back(QList<QTextLayout::FormatRange>());
+ if (endOfBoundsReached)
+ break;
+ }
}
-}
-void QSvgText::popFormat()
-{
- if (m_formats.count() > 1)
- m_formats.pop();
-}
-
-qreal QSvgText::scale() const
-{
- return m_scale;
-}
-
-void QSvgText::setScale(qreal scale)
-{
- m_scale = scale;
-}
-
-const QTextCharFormat &QSvgText::topFormat() const
-{
- return m_formats.top();
+ p->setWorldTransform(oldTransform, false);
+ revertStyle(p, states);
}
-void QSvgText::setTextAlignment(const Qt::Alignment &alignment)
+void QSvgText::addText(const QString &text)
{
- m_textAlignment = alignment;
+ m_tspans.append(new QSvgTspan(this, false));
+ m_tspans.back()->setWhitespaceMode(m_mode);
+ m_tspans.back()->addText(text);
}
QSvgUse::QSvgUse(const QPointF &start, QSvgNode *parent, QSvgNode *node)
diff --git a/src/svg/qsvggraphics_p.h b/src/svg/qsvggraphics_p.h
index 4a19c7e..345b90b 100644
--- a/src/svg/qsvggraphics_p.h
+++ b/src/svg/qsvggraphics_p.h
@@ -187,6 +187,8 @@ private:
int m_rx, m_ry;
};
+class QSvgTspan;
+
class QSvgText : public QSvgNode
{
public:
@@ -202,26 +204,47 @@ public:
virtual void draw(QPainter *p, QSvgExtraStates &states);
virtual Type type() const;
- void insertText(const QString &text, WhitespaceMode mode);
- void insertFormat(const QTextCharFormat &format);
- void insertLineBreak();
- void popFormat();
- void setTextAlignment(const Qt::Alignment &alignment);
- const QTextCharFormat &topFormat() const;
- qreal scale() const;
- void setScale(qreal scale);
+
+ void addTspan(QSvgTspan *tspan) {m_tspans.append(tspan);}
+ void addText(const QString &text);
+ void addLineBreak() {m_tspans.append(LINEBREAK);}
+ void setWhitespaceMode(WhitespaceMode mode) {m_mode = mode;}
+
//virtual QRectF bounds() const;
private:
+ static QSvgTspan * const LINEBREAK;
+
QPointF m_coord;
- QVector<QString> m_paragraphs;
- QStack<QTextCharFormat> m_formats;
- Qt::Alignment m_textAlignment;
- QVector<QList<QTextLayout::FormatRange> > m_formatRanges;
- qreal m_scale;
- bool m_appendSpace;
+ // 'm_tspans' is also used to store characters outside tspans and line breaks.
+ // If a 'm_tspan' item is null, it indicates a line break.
+ QVector<QSvgTspan *> m_tspans;
+
Type m_type;
QSizeF m_size;
+ WhitespaceMode m_mode;
+};
+
+class QSvgTspan : public QSvgNode
+{
+public:
+ // tspans are also used to store normal text, so the 'isProperTspan' is used to separate text from tspan.
+ QSvgTspan(QSvgNode *parent, bool isProperTspan = true)
+ : QSvgNode(parent), m_mode(QSvgText::Default), m_isTspan(isProperTspan)
+ {
+ }
+ ~QSvgTspan() { };
+ virtual Type type() const {return TSPAN;}
+ virtual void draw(QPainter *, QSvgExtraStates &) {Q_ASSERT(!"Tspans should be drawn through QSvgText::draw().");}
+ void addText(const QString &text) {m_text += text;}
+ const QString &text() const {return m_text;}
+ bool isTspan() const {return m_isTspan;}
+ void setWhitespaceMode(QSvgText::WhitespaceMode mode) {m_mode = mode;}
+ QSvgText::WhitespaceMode whitespaceMode() const {return m_mode;}
+private:
+ QString m_text;
+ QSvgText::WhitespaceMode m_mode;
+ bool m_isTspan;
};
class QSvgUse : public QSvgNode
diff --git a/src/svg/qsvghandler.cpp b/src/svg/qsvghandler.cpp
index 345dcf3..73c8b01 100644
--- a/src/svg/qsvghandler.cpp
+++ b/src/svg/qsvghandler.cpp
@@ -39,6 +39,8 @@
**
****************************************************************************/
+#include "qplatformdefs.h"
+
#include "qsvghandler_p.h"
#ifndef QT_NO_SVG
@@ -68,6 +70,9 @@
QT_BEGIN_NAMESPACE
+static const char *qt_inherit_text = "inherit";
+#define QT_INHERIT QLatin1String(qt_inherit_text)
+
double qstrtod(const char *s00, char const **se, bool *ok);
static bool parsePathDataFast(const QStringRef &data, QPainterPath &path);
@@ -320,6 +325,7 @@ static qreal toDouble(const QChar *&str)
++str;
}
}
+
temp[pos] = '\0';
qreal val;
@@ -352,7 +358,7 @@ static qreal toDouble(const QChar *&str)
if (neg)
val = -val;
} else {
-#ifdef Q_WS_QWS
+#if defined(Q_WS_QWS) && !defined(Q_OS_VXWORKS)
if(sizeof(qreal) == sizeof(float))
val = strtof(temp, 0);
else
@@ -365,16 +371,24 @@ static qreal toDouble(const QChar *&str)
return val;
}
-static qreal toDouble(const QString &str)
+static qreal toDouble(const QString &str, bool *ok = NULL)
{
const QChar *c = str.constData();
- return toDouble(c);
+ qreal res = toDouble(c);
+ if (ok) {
+ *ok = ((*c) == QLatin1Char('\0'));
+ }
+ return res;
}
-static qreal toDouble(const QStringRef &str)
+static qreal toDouble(const QStringRef &str, bool *ok = NULL)
{
const QChar *c = str.constData();
- return toDouble(c);
+ qreal res = toDouble(c);
+ if (ok) {
+ *ok = (c == (str.constData() + str.length()));
+ }
+ return res;
}
static QVector<qreal> parseNumbersList(const QChar *&str)
@@ -480,7 +494,7 @@ static bool resolveColor(const QString &colorStr, QColor &color, QSvgHandler *ha
int(compo[2]));
return true;
} else if (colorStr == QLatin1String("inherited") ||
- colorStr == QLatin1String("inherit")) {
+ colorStr == QT_INHERIT) {
return false;
} else if (colorStr == QLatin1String("currentColor")) {
color = handler->currentColor();
@@ -497,14 +511,17 @@ static bool constructColor(const QString &colorStr, const QString &opacity,
if (!resolveColor(colorStr, color, handler))
return false;
if (!opacity.isEmpty()) {
- qreal op = qMin(qreal(1.0), qMax(qreal(0.0), toDouble(opacity)));
+ bool ok = true;
+ qreal op = qMin(qreal(1.0), qMax(qreal(0.0), toDouble(opacity, &ok)));
+ if (!ok)
+ op = 1.0;
color.setAlphaF(op);
}
return true;
}
static qreal parseLength(const QString &str, QSvgHandler::LengthType &type,
- QSvgHandler *handler)
+ QSvgHandler *handler, bool *ok = NULL)
{
QString numStr = str.trimmed();
@@ -533,15 +550,15 @@ static qreal parseLength(const QString &str, QSvgHandler::LengthType &type,
type = handler->defaultCoordinateSystem();
//type = QSvgHandler::LT_OTHER;
}
- qreal len = toDouble(numStr);
+ qreal len = toDouble(numStr, ok);
//qDebug()<<"len is "<<len<<", from '"<<numStr << "'";
return len;
}
-static inline qreal convertToNumber(const QString &str, QSvgHandler *handler)
+static inline qreal convertToNumber(const QString &str, QSvgHandler *handler, bool *ok = NULL)
{
QSvgHandler::LengthType type;
- qreal num = parseLength(str, type, handler);
+ qreal num = parseLength(str, type, handler, ok);
if (type == QSvgHandler::LT_PERCENT) {
num = num/100.0;
}
@@ -631,140 +648,48 @@ static void parseBrush(QSvgNode *node,
QString opacity = attributes.value(QLatin1String("fill-opacity")).toString();
QString myId = someId(attributes);
- value = value.trimmed();
- fillRule = fillRule.trimmed();
- if (!value.isEmpty() || !fillRule.isEmpty()) {
- Qt::FillRule f = Qt::WindingFill;
- if (fillRule == QLatin1String("evenodd"))
- f = Qt::OddEvenFill;
- if (value.startsWith(QLatin1String("url"))) {
- value = value.remove(0, 3);
- QSvgFillStyle *prop = new QSvgFillStyle(0);
- QSvgStyleProperty *style = styleFromUrl(node, value);
- if (style) {
- prop->setFillStyle(style);
- } else {
- QString id = idFromUrl(value);
- prop->setGradientId(id);
- prop->setGradientResolved(false);
- }
- if (!opacity.isEmpty()) {
- qreal clampedOpacity = qMin(qreal(1.0), qMax(qreal(0.0), toDouble(opacity)));
- prop->setFillOpacity(clampedOpacity);
- }
- if (!fillRule.isEmpty())
- prop->setFillRule(f);
- node->appendStyleProperty(prop,myId);
- } else if (value != QLatin1String("none")) {
- QColor color;
- if (constructColor(value, opacity, color, handler)) {
- QSvgFillStyle *prop = new QSvgFillStyle(QBrush(color));
- if (!fillRule.isEmpty())
- prop->setFillRule(f);
- node->appendStyleProperty(prop, myId);
- }
- } else {
- QSvgFillStyle *prop = new QSvgFillStyle(QBrush(Qt::NoBrush));
- if (!fillRule.isEmpty())
- prop->setFillRule(f);
- node->appendStyleProperty(prop, myId);
+ if (!value.isEmpty() || !fillRule.isEmpty() || !opacity.isEmpty()) {
+ QSvgFillStyle *prop = new QSvgFillStyle(0);
+
+ //fill-rule attribute handling
+ if (!fillRule.isEmpty() && fillRule != QT_INHERIT) {
+ if (fillRule == QLatin1String("evenodd"))
+ prop->setFillRule(Qt::OddEvenFill);
+ else if (fillRule == QLatin1String("nonzero"))
+ prop->setFillRule(Qt::WindingFill);
}
- }
-}
-static void parseQPen(QPen &pen, QSvgNode *node,
- const QSvgAttributes &attributes,
- QSvgHandler *handler)
-{
- QString value = attributes.value(QLatin1String("stroke")).toString();
- QString dashArray = attributes.value(QLatin1String("stroke-dasharray")).toString();
- QString dashOffset = attributes.value(QLatin1String("stroke-dashoffset")).toString();
- QString linecap = attributes.value(QLatin1String("stroke-linecap")).toString();
- QString linejoin = attributes.value(QLatin1String("stroke-linejoin")).toString();
- QString miterlimit = attributes.value(QLatin1String("stroke-miterlimit")).toString();
- QString opacity = attributes.value(QLatin1String("stroke-opacity")).toString();
- QString width = attributes.value(QLatin1String("stroke-width")).toString();
- QString myId = someId(attributes);
+ //fill-opacity atttribute handling
+ if (!opacity.isEmpty() && opacity != QT_INHERIT) {
+ prop->setFillOpacity(qMin(qreal(1.0), qMax(qreal(0.0), toDouble(opacity))));
+ }
- if (!value.isEmpty() || !width.isEmpty()) {
- if (value != QLatin1String("none")) {
- if (!value.isEmpty()) {
- if (node && value.startsWith(QLatin1String("url"))) {
- value = value.remove(0, 3);
- QSvgStyleProperty *style = styleFromUrl(node, value);
- if (style) {
- if (style->type() == QSvgStyleProperty::GRADIENT) {
- QBrush b(*((QSvgGradientStyle*)style)->qgradient());
- pen.setBrush(b);
- } else if (style->type() == QSvgStyleProperty::SOLID_COLOR) {
- pen.setColor(
- ((QSvgSolidColorStyle*)style)->qcolor());
- }
- } else {
- qWarning()<<"QSvgHandler::parsePen could not resolve property" << idFromUrl(value);
- }
+ //fill attribute handling
+ if ((!value.isEmpty()) && (value != QT_INHERIT) ) {
+ if (value.startsWith(QLatin1String("url"))) {
+ value = value.remove(0, 3);
+ QSvgStyleProperty *style = styleFromUrl(node, value);
+ if (style) {
+ prop->setFillStyle(style);
} else {
- QColor color;
- if (constructColor(value, opacity, color, handler))
- pen.setColor(color);
+ QString id = idFromUrl(value);
+ prop->setGradientId(id);
+ prop->setGradientResolved(false);
}
- //since we could inherit stroke="none"
- //we need to reset the style of our stroke to something
- pen.setStyle(Qt::SolidLine);
- }
- if (!width.isEmpty()) {
- QSvgHandler::LengthType lt;
- qreal widthF = parseLength(width, lt, handler);
- //### fixme
- if (!widthF) {
- pen.setStyle(Qt::NoPen);
- return;
- }
- pen.setWidthF(widthF);
- }
- qreal penw = pen.widthF();
-
- if (!linejoin.isEmpty()) {
- if (linejoin == QLatin1String("miter"))
- pen.setJoinStyle(Qt::SvgMiterJoin);
- else if (linejoin == QLatin1String("round"))
- pen.setJoinStyle(Qt::RoundJoin);
- else if (linejoin == QLatin1String("bevel"))
- pen.setJoinStyle(Qt::BevelJoin);
- }
- if (!miterlimit.isEmpty())
- pen.setMiterLimit(toDouble(miterlimit));
-
- if (!linecap.isEmpty()) {
- if (linecap == QLatin1String("butt"))
- pen.setCapStyle(Qt::FlatCap);
- else if (linecap == QLatin1String("round"))
- pen.setCapStyle(Qt::RoundCap);
- else if (linecap == QLatin1String("square"))
- pen.setCapStyle(Qt::SquareCap);
- }
-
- if (!dashArray.isEmpty()) {
- const QChar *s = dashArray.constData();
- QVector<qreal> dashes = parseNumbersList(s);
- qreal *d = dashes.data();
- if (penw != 0)
- for (int i = 0; i < dashes.size(); ++i) {
- *d /= penw;
- ++d;
- }
- pen.setDashPattern(dashes);
- }
- if (!dashOffset.isEmpty()) {
- pen.setDashOffset(toDouble(dashOffset));
+ } else if (value != QLatin1String("none")) {
+ QColor color;
+ if (resolveColor(value, color, handler))
+ prop->setBrush(QBrush(color));
+ } else {
+ prop->setBrush(QBrush(Qt::NoBrush));
}
-
- } else {
- pen.setStyle(Qt::NoPen);
}
+ node->appendStyleProperty(prop, myId);
}
}
+
+
static QMatrix parseTransformationMatrix(const QString &value)
{
QMatrix matrix;
@@ -904,278 +829,241 @@ static void parsePen(QSvgNode *node,
QString miterlimit = attributes.value(QLatin1String("stroke-miterlimit")).toString();
QString opacity = attributes.value(QLatin1String("stroke-opacity")).toString();
QString width = attributes.value(QLatin1String("stroke-width")).toString();
+ QString vectorEffect = attributes.value(QLatin1String("vector-effect")).toString();
QString myId = someId(attributes);
//qDebug()<<"Node "<<node->type()<<", attrs are "<<value<<width;
- if (!value.isEmpty() || !width.isEmpty() || !linecap.isEmpty() || !linejoin.isEmpty()) {
- if (value != QLatin1String("none")) {
- QSvgStrokeStyle *inherited =
- static_cast<QSvgStrokeStyle*>(node->styleProperty(
- QSvgStyleProperty::STROKE));
- if (!inherited)
- inherited = static_cast<QSvgStrokeStyle*>(node->parent()->styleProperty(
- QSvgStyleProperty::STROKE));
- QPen pen(handler->defaultPen());
- if (inherited)
- pen = inherited->qpen();
-
- if (!value.isEmpty()) {
- if (value.startsWith(QLatin1String("url"))) {
- value = value.remove(0, 3);
- QSvgStyleProperty *style = styleFromUrl(node, value);
- if (style) {
- if (style->type() == QSvgStyleProperty::GRADIENT) {
- QBrush b(*((QSvgGradientStyle*)style)->qgradient());
- pen.setBrush(b);
- } else if (style->type() == QSvgStyleProperty::SOLID_COLOR) {
- pen.setColor(
- ((QSvgSolidColorStyle*)style)->qcolor());
- }
- } else {
- qWarning() << "QSvgHandler::parsePen could not resolve property" << idFromUrl(value);
+ if (!value.isEmpty() || !width.isEmpty() || !dashArray.isEmpty() || !linecap.isEmpty() ||
+ !linejoin.isEmpty() || !miterlimit.isEmpty() || !opacity.isEmpty() ||
+ !dashOffset.isEmpty() || !vectorEffect.isEmpty()) {
+
+ QSvgStrokeStyle *inherited =
+ static_cast<QSvgStrokeStyle*>(node->parent()->styleProperty(
+ QSvgStyleProperty::STROKE));
+
+ QPen pen(handler->defaultPen());
+ bool stroke = false;
+ if (inherited) {
+ pen = inherited->qpen();
+ stroke = inherited->strokePresent();
+ }
+
+ // stroke-opacity attribute handling
+ qreal strokeAlpha;
+ if (!opacity.isEmpty() && opacity != QT_INHERIT) {
+ strokeAlpha = qMin(qreal(1.0), qMax(qreal(0.0), toDouble(opacity)));
+ } else {
+ strokeAlpha = pen.color().alphaF();
+ }
+
+ //stroke attribute handling
+ if (!value.isEmpty() && value != QT_INHERIT) {
+ if (value.startsWith(QLatin1String("url"))) {
+ value = value.remove(0, 3);
+ QSvgStyleProperty *style = styleFromUrl(node, value);
+ if (style) {
+ if (style->type() == QSvgStyleProperty::GRADIENT) {
+ QBrush b(*((QSvgGradientStyle*)style)->qgradient());
+ pen.setBrush(b);
+ } else if (style->type() == QSvgStyleProperty::SOLID_COLOR) {
+ pen.setColor(
+ ((QSvgSolidColorStyle*)style)->qcolor());
}
+ stroke = true;
} else {
- QColor color;
- if (constructColor(value, opacity, color, handler))
- pen.setColor(color);
+ qWarning() << "QSvgHandler::parsePen could not resolve property" << idFromUrl(value);
}
- //since we could inherit stroke="none"
- //we need to reset the style of our stroke to something
- pen.setStyle(Qt::SolidLine);
- }
- if (!width.isEmpty()) {
- QSvgHandler::LengthType lt;
- qreal widthF = parseLength(width, lt, handler);
- //### fixme
- if (!widthF) {
- pen.setStyle(Qt::NoPen);
- return;
+ } else if (value == QLatin1String("none")) {
+ QColor color; //### fixme: dafalut value for color.
+ color.setAlphaF(strokeAlpha);
+ pen.setColor(color);
+ stroke = false; // This is required because, parent may have a valid stroke but the child may have stroke = "none"
+ } else {
+ QColor color;
+ if (resolveColor(value, color, handler)) {
+ color.setAlphaF(strokeAlpha);
+ pen.setColor(color);
}
- pen.setWidthF(widthF);
- }
-
- if (!linejoin.isEmpty()) {
- if (linejoin == QLatin1String("miter"))
- pen.setJoinStyle(Qt::SvgMiterJoin);
- else if (linejoin == QLatin1String("round"))
- pen.setJoinStyle(Qt::RoundJoin);
- else if (linejoin == QLatin1String("bevel"))
- pen.setJoinStyle(Qt::BevelJoin);
+ stroke = true;
}
+ } else {
+ QColor color = pen.color();
+ color.setAlphaF(strokeAlpha);
+ pen.setColor(color);
+ }
- if (!linecap.isEmpty()) {
- if (linecap == QLatin1String("butt"))
- pen.setCapStyle(Qt::FlatCap);
- else if (linecap == QLatin1String("round"))
- pen.setCapStyle(Qt::RoundCap);
- else if (linecap == QLatin1String("square"))
- pen.setCapStyle(Qt::SquareCap);
- }
+ //stroke-width handling
+ if (!width.isEmpty() && width != QT_INHERIT) {
+ qreal widthF;
+ QSvgHandler::LengthType lt;
+ widthF = parseLength(width, lt, handler);
+ pen.setWidthF(widthF);
+ }
- qreal penw = pen.widthF();
- if (!dashArray.isEmpty()) {
- const QChar *s = dashArray.constData();
- QVector<qreal> dashes = parseNumbersList(s);
- qreal *d = dashes.data();
- if(penw != 0)
- for (int i = 0; i < dashes.size(); ++i) {
- *d /= penw;
- ++d;
- }
+ //stroke-linejoin attribute handling
+ if (!linejoin.isEmpty()) {
+ if (linejoin == QLatin1String("miter"))
+ pen.setJoinStyle(Qt::SvgMiterJoin);
+ else if (linejoin == QLatin1String("round"))
+ pen.setJoinStyle(Qt::RoundJoin);
+ else if (linejoin == QLatin1String("bevel"))
+ pen.setJoinStyle(Qt::BevelJoin);
+ }
- // if the dash count is odd the dashes should be duplicated
- if (dashes.size() % 2 != 0)
- dashes << QVector<qreal>(dashes);
+ //stroke-linecap attribute handling
+ if (!linecap.isEmpty()) {
+ if (linecap == QLatin1String("butt"))
+ pen.setCapStyle(Qt::FlatCap);
+ else if (linecap == QLatin1String("round"))
+ pen.setCapStyle(Qt::RoundCap);
+ else if (linecap == QLatin1String("square"))
+ pen.setCapStyle(Qt::SquareCap);
+ }
- pen.setDashPattern(dashes);
- }
- if (!dashOffset.isEmpty()) {
- qreal doffset = toDouble(dashOffset);
- if (penw != 0)
- doffset /= penw;
- pen.setDashOffset(doffset);
+ //strok-dasharray attribute handling
+ qreal penw = pen.widthF();
+ if (!dashArray.isEmpty() && dashArray != QT_INHERIT) {
+ const QChar *s = dashArray.constData();
+ QVector<qreal> dashes = parseNumbersList(s);
+ qreal *d = dashes.data();
+ if (penw != 0)
+ for (int i = 0; i < dashes.size(); ++i) {
+ *d /= penw;
+ ++d;
+ }
+ // if the dash count is odd the dashes should be duplicated
+ if (dashes.size() % 2 != 0)
+ dashes << QVector<qreal>(dashes);
+ pen.setDashPattern(dashes);
+ } else if (inherited) {
+ QVector<qreal> dashes(inherited->qpen().dashPattern());
+ qreal *d = dashes.data();
+ if (!penw)
+ penw = 1.0;
+ qreal inheritpenw = inherited->qpen().widthF();
+ if (!inheritpenw)
+ inheritpenw = 1.0;
+ for ( int i = 0; i < dashes.size(); ++i) {
+ *d *= (inheritpenw/ penw);
+ ++d;
}
- if (!miterlimit.isEmpty())
- pen.setMiterLimit(toDouble(miterlimit));
-
- node->appendStyleProperty(new QSvgStrokeStyle(pen), myId);
- } else {
- QPen pen(handler->defaultPen());
- pen.setStyle(Qt::NoPen);
- node->appendStyleProperty(new QSvgStrokeStyle(pen), myId);
+ pen.setDashPattern(dashes);
}
- }
-}
-static bool parseQBrush(const QSvgAttributes &attributes, QSvgNode *node,
- QBrush &brush, QSvgHandler *handler)
-{
- QString value = attributes.value(QLatin1String("fill")).toString();
- QString opacity = attributes.value(QLatin1String("fill-opacity")).toString();
+ //stroke-dashoffset attribute handling
+ if (!dashOffset.isEmpty() && dashOffset != QT_INHERIT) {
+ qreal doffset = toDouble(dashOffset);
+ if (penw != 0)
+ doffset /= penw;
+ pen.setDashOffset(doffset);
+ } else if (inherited) {
+ qreal doffset = pen.dashOffset();
+ if (!penw)
+ penw = 1.0;
+ qreal inheritpenw = inherited->qpen().widthF();
+ if (!inheritpenw)
+ inheritpenw = 1.0;
+ doffset *= (inheritpenw/ penw);
+ pen.setDashOffset(doffset);
+ }
- QColor color;
- if (!value.isEmpty() || !opacity.isEmpty()) {
- if (value.startsWith(QLatin1String("url"))) {
- value = value.remove(0, 3);
- QSvgStyleProperty *style = styleFromUrl(node, value);
- if (style) {
- switch (style->type()) {
- case QSvgStyleProperty::FILL:
- {
- brush = static_cast<QSvgFillStyle*>(style)->qbrush();
- break;
- }
- case QSvgStyleProperty::SOLID_COLOR:
- {
- brush = QBrush(static_cast<QSvgSolidColorStyle*>(style)->qcolor());
- break;
- }
- case QSvgStyleProperty::GRADIENT:
- {
- brush = QBrush(*static_cast<QSvgGradientStyle*>(style)->qgradient());
- break;
- }
- default:
- qWarning("Cannot use property \"%s\" as brush.", qPrintable(idFromUrl(value)));
- }
- } else {
- qWarning("Couldn't resolve property: %s", qPrintable(idFromUrl(value)));
- }
- } else if (value != QLatin1String("none")) {
- if (constructColor(value, opacity, color, handler)) {
- brush.setStyle(Qt::SolidPattern);
- brush.setColor(color);
- }
- } else {
- brush = QBrush(Qt::NoBrush);
+ //vector-effect attribute handling
+ if (!vectorEffect.isEmpty()) {
+ if (vectorEffect == QLatin1String("non-scaling-stroke"))
+ pen.setCosmetic(true);
+ else if (vectorEffect == QLatin1String("none"))
+ pen.setCosmetic(false);
}
- return true;
+
+ if (!miterlimit.isEmpty() && miterlimit != QT_INHERIT)
+ pen.setMiterLimit(toDouble(miterlimit));
+
+ QSvgStrokeStyle *prop = new QSvgStrokeStyle(pen);
+ prop->setStroke(stroke);
+ node->appendStyleProperty(prop, myId);
}
- return false;
}
-static bool parseQFont(const QSvgAttributes &attributes,
- QFont &font, qreal &fontSize, QSvgHandler *handler)
+static void parseFont(QSvgNode *node,
+ const QSvgAttributes &attributes,
+ QSvgHandler *handler)
{
QString family = attributes.value(QLatin1String("font-family")).toString();
QString size = attributes.value(QLatin1String("font-size")).toString();
QString style = attributes.value(QLatin1String("font-style")).toString();
QString weight = attributes.value(QLatin1String("font-weight")).toString();
+ QString variant = attributes.value(QLatin1String("font-variant")).toString();
+ QString anchor = attributes.value(QLatin1String("text-anchor")).toString();
- if (!family.isEmpty() || !size.isEmpty() ||
- !style.isEmpty() || !weight.isEmpty()) {
+ if (family.isEmpty() && size.isEmpty() && style.isEmpty() && weight.isEmpty() && variant.isEmpty() && anchor.isEmpty())
+ return;
- if (!family.isEmpty()) {
- font.setFamily(family.trimmed());
- }
- if (!size.isEmpty()) {
- QSvgHandler::LengthType dummy; // should always be pixel size
- fontSize = parseLength(size, dummy, handler);
- if (fontSize <= 0)
- fontSize = 1;
- font.setPixelSize(qMax(1, int(fontSize)));
- }
- if (!style.isEmpty()) {
- if (style == QLatin1String("normal")) {
- font.setStyle(QFont::StyleNormal);
- } else if (style == QLatin1String("italic")) {
- font.setStyle(QFont::StyleItalic);
- } else if (style == QLatin1String("oblique")) {
- font.setStyle(QFont::StyleOblique);
- } else if (style == QLatin1String("inherit")) {
- //inherited already
- }
- }
- if (!weight.isEmpty()) {
- bool ok = false;
- int weightNum = weight.toInt(&ok);
- if (ok) {
- switch (weightNum) {
- case 100:
- case 200:
- font.setWeight(QFont::Light);
- break;
- case 300:
- case 400:
- font.setWeight(QFont::Normal);
- break;
- case 500:
- case 600:
- font.setWeight(QFont::DemiBold);
- break;
- case 700:
- case 800:
- font.setWeight(QFont::Bold);
- break;
- case 900:
- font.setWeight(QFont::Black);
- break;
- default:
- break;
- }
- } else {
- if (weight == QLatin1String("normal")) {
- font.setWeight(QFont::Normal);
- } else if (weight == QLatin1String("bold")) {
- font.setWeight(QFont::Bold);
- } else if (weight == QLatin1String("bolder")) {
- font.setWeight(QFont::DemiBold);
- } else if (weight == QLatin1String("lighter")) {
- font.setWeight(QFont::Light);
- }
- }
- }
- // QFontInfo fi(font);
- // font.setPointSize(fi.pointSize());
- return true;
+ QString id = someId(attributes);
+ QSvgTinyDocument *doc = node->document();
+ QSvgFontStyle *fontStyle = 0;
+ if (!family.isEmpty()) {
+ QSvgFont *svgFont = doc->svgFont(family);
+ if (svgFont)
+ fontStyle = new QSvgFontStyle(svgFont, doc);
}
+ if (!fontStyle)
+ fontStyle = new QSvgFontStyle;
- return false;
-}
+ if (!family.isEmpty() && family != QT_INHERIT)
+ fontStyle->setFamily(family.trimmed());
-static void parseFont(QSvgNode *node,
- const QSvgAttributes &attributes,
- QSvgHandler *handler)
-{
- QFont font;
- font.setPixelSize(12);
- qreal fontSize = font.pixelSize();
-
- QSvgFontStyle *inherited =
- static_cast<QSvgFontStyle*>(node->styleProperty(
- QSvgStyleProperty::FONT));
- if (!inherited)
- inherited =
- static_cast<QSvgFontStyle*>(node->parent()->styleProperty(
- QSvgStyleProperty::FONT));
- if (inherited) {
- font = inherited->qfont();
- fontSize = inherited->pointSize();
- }
- if (parseQFont(attributes, font, fontSize, handler)) {
- QString myId = someId(attributes);
- QString anchor = attributes.value(QLatin1String("text-anchor")).toString();
- QSvgTinyDocument *doc = node->document();
- QSvgFontStyle *fontStyle = 0;
- QString family = (font.family().isEmpty())?myId:font.family();
- if (!family.isEmpty()) {
- QSvgFont *svgFont = doc->svgFont(family);
- if (svgFont) {
- fontStyle = new QSvgFontStyle(svgFont, doc);
- fontStyle->setPointSize(fontSize);
- }
+ if (!size.isEmpty() && size != QT_INHERIT) {
+ QSvgHandler::LengthType dummy; // should always be pixel size
+ fontStyle->setSize(parseLength(size, dummy, handler));
+ }
+
+ if (!style.isEmpty() && style != QT_INHERIT) {
+ if (style == QLatin1String("normal")) {
+ fontStyle->setStyle(QFont::StyleNormal);
+ } else if (style == QLatin1String("italic")) {
+ fontStyle->setStyle(QFont::StyleItalic);
+ } else if (style == QLatin1String("oblique")) {
+ fontStyle->setStyle(QFont::StyleOblique);
}
- if (!fontStyle) {
- fontStyle = new QSvgFontStyle(font, node->document());
- fontStyle->setPointSize(fontSize);
+ }
+
+ if (!weight.isEmpty() && weight != QT_INHERIT) {
+ bool ok = false;
+ int weightNum = weight.toInt(&ok);
+ if (ok) {
+ fontStyle->setWeight(weightNum);
+ } else {
+ if (weight == QLatin1String("normal")) {
+ fontStyle->setWeight(400);
+ } else if (weight == QLatin1String("bold")) {
+ fontStyle->setWeight(700);
+ } else if (weight == QLatin1String("bolder")) {
+ fontStyle->setWeight(QSvgFontStyle::BOLDER);
+ } else if (weight == QLatin1String("lighter")) {
+ fontStyle->setWeight(QSvgFontStyle::LIGHTER);
+ }
}
- if (!anchor.isEmpty())
- fontStyle->setTextAnchor(anchor);
+ }
- node->appendStyleProperty(fontStyle, myId);
+ if (!variant.isEmpty() && variant != QT_INHERIT) {
+ if (variant == QLatin1String("normal"))
+ fontStyle->setVariant(QFont::MixedCase);
+ else if (variant == QLatin1String("small-caps"))
+ fontStyle->setVariant(QFont::SmallCaps);
}
+
+ if (!anchor.isEmpty() && anchor != QT_INHERIT) {
+ if (anchor == QLatin1String("start"))
+ fontStyle->setTextAnchor(Qt::AlignLeft);
+ if (anchor == QLatin1String("middle"))
+ fontStyle->setTextAnchor(Qt::AlignHCenter);
+ else if (anchor == QLatin1String("end"))
+ fontStyle->setTextAnchor(Qt::AlignRight);
+ }
+
+ node->appendStyleProperty(fontStyle, id);
}
static void parseTransform(QSvgNode *node,
@@ -1202,7 +1090,7 @@ static void parseVisibility(QSvgNode *node,
QString value = attributes.value(QLatin1String("visibility")).toString();
QSvgNode *parent = node->parent();
- if (parent && (value.isEmpty() || value == QLatin1String("inherit")))
+ if (parent && (value.isEmpty() || value == QT_INHERIT))
node->setVisible(parent->isVisible());
else if (value == QLatin1String("hidden") || value == QLatin1String("collapse")) {
node->setVisible(false);
@@ -1813,105 +1701,6 @@ static void cssStyleLookup(QSvgNode *node,
parseStyle(node, attributes, handler);
}
-static bool parseDefaultTextStyle(QSvgNode *node,
- const QXmlStreamAttributes &attributes,
- bool initial,
- QSvgHandler *handler)
-{
- Q_ASSERT(node->type() == QSvgText::TEXT || node->type() == QSvgNode::TEXTAREA);
- QSvgText *textNode = static_cast<QSvgText*>(node);
-
- QSvgAttributes attrs(attributes, handler);
-
- QString fontFamily = attrs.value(QString(), QLatin1String("font-family")).toString();
-
- QString anchor = attrs.value(QString(), QLatin1String("text-anchor")).toString();
-
- QSvgFontStyle *fontStyle = static_cast<QSvgFontStyle*>(
- node->styleProperty(QSvgStyleProperty::FONT));
- if (fontStyle) {
- QSvgTinyDocument *doc = fontStyle->doc();
- if (doc && fontStyle->svgFont()) {
- cssStyleLookup(node, handler, handler->selector());
- parseStyle(node, attrs, handler);
- return true;
- }
- } else if (!fontFamily.isEmpty()) {
- QSvgTinyDocument *doc = node->document();
- QSvgFont *svgFont = doc->svgFont(fontFamily);
- if (svgFont) {
- cssStyleLookup(node, handler, handler->selector());
- parseStyle(node, attrs, handler);
- return true;
- }
- }
-
- QTextCharFormat format;
- QBrush brush(QColor(0, 0, 0));
- QFont font;
- font.setPixelSize(12);
- qreal fontSize = font.pixelSize();
-
- if (!initial) {
- font = textNode->topFormat().font();
- fontSize = font.pixelSize() / textNode->scale();
- brush = textNode->topFormat().foreground();
- } else {
- QSvgFontStyle *fontStyle = static_cast<QSvgFontStyle*>(
- node->styleProperty(QSvgStyleProperty::FONT));
- if (!fontStyle)
- fontStyle = static_cast<QSvgFontStyle*>(
- node->parent()->styleProperty(QSvgStyleProperty::FONT));
- if (fontStyle) {
- font = fontStyle->qfont();
- fontSize = fontStyle->pointSize();
- if (anchor.isEmpty())
- anchor = fontStyle->textAnchor();
- }
-
- Qt::Alignment align = Qt::AlignLeft;
- if (anchor == QLatin1String("middle"))
- align = Qt::AlignHCenter;
- else if (anchor == QLatin1String("end"))
- align = Qt::AlignRight;
- textNode->setTextAlignment(align);
-
- QSvgFillStyle *fillStyle = static_cast<QSvgFillStyle*>(
- node->styleProperty(QSvgStyleProperty::FILL));
- if (fillStyle)
- brush = fillStyle->qbrush();
- }
-
- if (parseQFont(attrs, font, fontSize, handler) || initial) {
- if (initial)
- textNode->setScale(100 / fontSize);
- font.setPixelSize(qMax(1, int(fontSize * textNode->scale())));
- format.setFont(font);
- }
-
- if (parseQBrush(attrs, node, brush, handler) || initial) {
- if (brush.style() != Qt::NoBrush || initial)
- format.setForeground(brush);
- }
-
- QPen pen(Qt::NoPen);
-// QSvgStrokeStyle *inherited =
-// static_cast<QSvgStrokeStyle*>(node->parent()->styleProperty(
-// QSvgStyleProperty::STROKE));
-// if (inherited)
-// pen = inherited->qpen();
- parseQPen(pen, node, attrs, handler);
- if (pen.style() != Qt::NoPen) {
- format.setTextOutline(pen);
- }
-
- parseTransform(node, attrs, handler);
-
- textNode->insertFormat(format);
-
- return true;
-}
-
static inline QStringList stringToList(const QString &str)
{
QStringList lst = str.split(QLatin1Char(','), QString::SkipEmptyParts);
@@ -2070,7 +1859,7 @@ static inline QSvgNode::DisplayMode displayStringToEnum(const QString &str)
return QSvgNode::TableCaptionMode;
} else if (str == QLatin1String("none")) {
return QSvgNode::NoneMode;
- } else if (str == QLatin1String("inherit")) {
+ } else if (str == QT_INHERIT) {
return QSvgNode::InheritMode;
}
return QSvgNode::BlockMode;
@@ -2946,7 +2735,11 @@ static bool parseStopNode(QSvgStyleProperty *parent,
QString colorStr = attrs.value(QString(), QLatin1String("stop-color")).toString();
QString opacityStr = attrs.value(QString(), QLatin1String("stop-opacity")).toString();
QColor color;
- qreal offset = convertToNumber(offsetStr, handler);
+
+ bool ok = true;
+ qreal offset = convertToNumber(offsetStr, handler, &ok);
+ if (!ok)
+ offset = 0.0;
if (colorStr.isEmpty()) {
colorStr = QLatin1String("#000000");
}
@@ -3030,17 +2823,20 @@ static QSvgNode *createSvgNode(QSvgNode *parent,
node->setHeight(int(height), type == QSvgHandler::LT_PERCENT);
}
-
if (!viewBoxStr.isEmpty()) {
QStringList lst = viewBoxStr.split(QLatin1Char(' '), QString::SkipEmptyParts);
if (lst.count() != 4)
lst = viewBoxStr.split(QLatin1Char(','), QString::SkipEmptyParts);
+ int count = lst.count();
+ while (count < 4) {
+ lst.append(QLatin1String(""));
+ count++;
+ }
QString xStr = lst.at(0).trimmed();
QString yStr = lst.at(1).trimmed();
QString widthStr = lst.at(2).trimmed();
QString heightStr = lst.at(3).trimmed();
-
QSvgHandler::LengthType lt;
qreal x = parseLength(xStr, lt, handler);
qreal y = parseLength(yStr, lt, handler);
@@ -3048,15 +2844,14 @@ static QSvgNode *createSvgNode(QSvgNode *parent,
qreal h = parseLength(heightStr, lt, handler);
node->setViewBox(QRectF(x, y, w, h));
- } else if (width && height){
+
+ } else if (width && height) {
if (type == QSvgHandler::LT_PT) {
width = convertToPixels(width, false, type);
height = convertToPixels(height, false, type);
}
-
node->setViewBox(QRectF(0, 0, width, height));
}
-
handler->setDefaultCoordinateSystem(QSvgHandler::LT_PX);
return node;
@@ -3077,7 +2872,7 @@ static bool parseTbreakNode(QSvgNode *parent,
{
if (parent->type() != QSvgNode::TEXTAREA)
return false;
- static_cast<QSvgText*>(parent)->insertLineBreak();
+ static_cast<QSvgText*>(parent)->addLineBreak();
return true;
}
@@ -3092,12 +2887,6 @@ static QSvgNode *createTextNode(QSvgNode *parent,
qreal nx = parseLength(x, type, handler);
qreal ny = parseLength(y, type, handler);
- //### not to pixels but to the default coordinate system
- // and text should be already in the correct coordinate
- // system here
- //nx = convertToPixels(nx, true, type);
- //ny = convertToPixels(ny, true, type);
-
QSvgNode *text = new QSvgText(parent, QPointF(nx, ny));
return text;
}
@@ -3116,6 +2905,13 @@ static QSvgNode *createTextAreaNode(QSvgNode *parent,
return node;
}
+static QSvgNode *createTspanNode(QSvgNode *parent,
+ const QXmlStreamAttributes &,
+ QSvgHandler *)
+{
+ return new QSvgTspan(parent);
+}
+
static bool parseTitleNode(QSvgNode *parent,
const QXmlStreamAttributes &attributes,
QSvgHandler *)
@@ -3124,15 +2920,6 @@ static bool parseTitleNode(QSvgNode *parent,
return true;
}
-static bool parseTspanNode(QSvgNode *parent,
- const QXmlStreamAttributes &attributes,
- QSvgHandler *handler)
-{
-
- cssStyleLookup(parent, handler, handler->selector());
- return parseDefaultTextStyle(parent, attributes, false, handler);
-}
-
static QSvgNode *createUseNode(QSvgNode *parent,
const QXmlStreamAttributes &attributes,
QSvgHandler *handler)
@@ -3246,6 +3033,7 @@ static FactoryMethod findGraphicsFactory(const QString &name)
case 't':
if (ref == QLatin1String("ext")) return createTextNode;
if (ref == QLatin1String("extArea")) return createTextAreaNode;
+ if (ref == QLatin1String("span")) return createTspanNode;
break;
case 'u':
if (ref == QLatin1String("se")) return createUseNode;
@@ -3302,7 +3090,6 @@ static ParseMethod findUtilFactory(const QString &name)
case 't':
if (ref == QLatin1String("break")) return parseTbreakNode;
if (ref == QLatin1String("itle")) return parseTitleNode;
- if (ref == QLatin1String("span")) return parseTspanNode;
break;
default:
break;
@@ -3395,7 +3182,7 @@ void QSvgHandler::init()
m_style = 0;
m_animEnd = 0;
m_defaultCoords = LT_PX;
- m_defaultPen = QPen(Qt::black, 1, Qt::NoPen, Qt::FlatCap, Qt::SvgMiterJoin);
+ m_defaultPen = QPen(Qt::black, 1, Qt::SolidLine, Qt::FlatCap, Qt::SvgMiterJoin);
m_defaultPen.setMiterLimit(4);
parse();
}
@@ -3511,16 +3298,33 @@ bool QSvgHandler::startElement(const QString &localName,
group->addChild(node, someId(attributes));
}
break;
+ case QSvgNode::TEXT:
+ case QSvgNode::TEXTAREA:
+ if (node->type() == QSvgNode::TSPAN) {
+ static_cast<QSvgText *>(m_nodes.top())->addTspan(static_cast<QSvgTspan *>(node));
+ } else {
+ qWarning("\'text\' or \'textArea\' element contains invalid element type.");
+ delete node;
+ node = 0;
+ }
+ break;
default:
- Q_ASSERT(!"not a grouping element is the parent");
+ qWarning("Could not add child element to parent element because the types are incorrect.");
+ delete node;
+ node = 0;
+ break;
}
- parseCoreNode(node, attributes);
- cssStyleLookup(node, this, m_selector);
- if (node->type() != QSvgNode::TEXT && node->type() != QSvgNode::TEXTAREA)
+ if (node) {
+ parseCoreNode(node, attributes);
+ cssStyleLookup(node, this, m_selector);
parseStyle(node, attributes, this);
- else
- parseDefaultTextStyle(node, attributes, true, this);
+ if (node->type() == QSvgNode::TEXT || node->type() == QSvgNode::TEXTAREA) {
+ static_cast<QSvgText *>(node)->setWhitespaceMode(m_whitespaceMode.top());
+ } else if (node->type() == QSvgNode::TSPAN) {
+ static_cast<QSvgTspan *>(node)->setWhitespaceMode(m_whitespaceMode.top());
+ }
+ }
}
} else if (ParseMethod method = findUtilFactory(localName)) {
Q_ASSERT(!m_nodes.isEmpty());
@@ -3577,13 +3381,8 @@ bool QSvgHandler::endElement(const QStringRef &localName)
return true;
}
- if (m_inStyle && localName == QLatin1String("style")) {
+ if (m_inStyle && localName == QLatin1String("style"))
m_inStyle = false;
- } else if (m_nodes.top()->type() == QSvgNode::TEXT || m_nodes.top()->type() == QSvgNode::TEXTAREA) {
- QSvgText *node = static_cast<QSvgText*>(m_nodes.top());
- if (localName == QLatin1String("tspan"))
- node->popFormat();
- }
if (node == Graphics) {
// Iterate through the m_renderers to resolve any unresolved gradients.
@@ -3631,8 +3430,9 @@ bool QSvgHandler::characters(const QStringRef &str)
return true;
if (m_nodes.top()->type() == QSvgNode::TEXT || m_nodes.top()->type() == QSvgNode::TEXTAREA) {
- QSvgText *node = static_cast<QSvgText*>(m_nodes.top());
- node->insertText(str.toString(), m_whitespaceMode.top());
+ static_cast<QSvgText*>(m_nodes.top())->addText(str.toString());
+ } else if (m_nodes.top()->type() == QSvgNode::TSPAN) {
+ static_cast<QSvgTspan*>(m_nodes.top())->addText(str.toString());
}
return true;
diff --git a/src/svg/qsvgnode.cpp b/src/svg/qsvgnode.cpp
index 75c01a9..ce8b3fa 100644
--- a/src/svg/qsvgnode.cpp
+++ b/src/svg/qsvgnode.cpp
@@ -320,7 +320,7 @@ qreal QSvgNode::strokeWidth() const
{
QSvgStrokeStyle *stroke = static_cast<QSvgStrokeStyle*>(
styleProperty(QSvgStyleProperty::STROKE));
- if (!stroke || stroke->qpen().style() == Qt::NoPen)
+ if (!stroke || !stroke->strokePresent())
return 0;
return stroke->qpen().widthF();
}
diff --git a/src/svg/qsvgnode_p.h b/src/svg/qsvgnode_p.h
index f203ea7..315f228 100644
--- a/src/svg/qsvgnode_p.h
+++ b/src/svg/qsvgnode_p.h
@@ -86,6 +86,7 @@ public:
RECT,
TEXT,
TEXTAREA,
+ TSPAN,
USE,
VIDEO
};
diff --git a/src/svg/qsvgrenderer.h b/src/svg/qsvgrenderer.h
index 2b9a4f7..78e8a7e 100644
--- a/src/svg/qsvgrenderer.h
+++ b/src/svg/qsvgrenderer.h
@@ -109,7 +109,7 @@ Q_SIGNALS:
void repaintNeeded();
private:
- Q_DECLARE_SCOPED_PRIVATE(QSvgRenderer)
+ Q_DECLARE_PRIVATE(QSvgRenderer)
};
QT_END_NAMESPACE
diff --git a/src/svg/qsvgstyle.cpp b/src/svg/qsvgstyle.cpp
index fec6231..6ed3dc2 100644
--- a/src/svg/qsvgstyle.cpp
+++ b/src/svg/qsvgstyle.cpp
@@ -59,6 +59,9 @@ QT_BEGIN_NAMESPACE
QSvgExtraStates::QSvgExtraStates()
: fillOpacity(1.0)
+ , svgFont(0)
+ , textAnchor(Qt::AlignLeft)
+ , fontWeight(400)
{
}
@@ -81,12 +84,25 @@ void QSvgQualityStyle::revert(QPainter *, QSvgExtraStates &)
}
QSvgFillStyle::QSvgFillStyle(const QBrush &brush)
- : m_fill(brush), m_style(0), m_fillRuleSet(false), m_fillOpacitySet(false), m_gradientResolved (true)
+ : m_fill(brush)
+ , m_style(0)
+ , m_fillRuleSet(false)
+ , m_fillRule(Qt::WindingFill)
+ , m_fillOpacitySet(false)
+ , m_fillOpacity(1.0)
+ , m_gradientResolved(true)
+ , m_fillSet(true)
{
}
QSvgFillStyle::QSvgFillStyle(QSvgStyleProperty *style)
- : m_style(style), m_fillRuleSet(false), m_fillOpacitySet(false), m_gradientResolved (true)
+ : m_style(style)
+ , m_fillRuleSet(false)
+ , m_fillRule(Qt::WindingFill)
+ , m_fillOpacitySet(false)
+ , m_fillOpacity(1.0)
+ , m_gradientResolved(true)
+ , m_fillSet(style != 0)
{
}
@@ -102,6 +118,19 @@ void QSvgFillStyle::setFillOpacity(qreal opacity)
m_fillOpacity = opacity;
}
+void QSvgFillStyle::setFillStyle(QSvgStyleProperty* style)
+{
+ m_style = style;
+ m_fillSet = true;
+}
+
+void QSvgFillStyle::setBrush(QBrush brush)
+{
+ m_fill = brush;
+ m_style = 0;
+ m_fillSet = true;
+}
+
static void recursivelySetFill(QSvgNode *node, Qt::FillRule f)
{
if (node->type() == QSvgNode::PATH) {
@@ -126,20 +155,26 @@ void QSvgFillStyle::apply(QPainter *p, const QRectF &rect, QSvgNode *node, QSvgE
recursivelySetFill(node, m_fillRule);
m_fillRuleSet = false;//set it only on the first run
}
- p->setBrush(m_fill);
+ if (m_fillSet) {
+ if (m_style)
+ m_style->apply(p, rect, node, states);
+ else
+ p->setBrush(m_fill);
+ }
if (m_fillOpacitySet)
states.fillOpacity = m_fillOpacity;
- if (m_style)
- m_style->apply(p, rect, node, states);
}
void QSvgFillStyle::revert(QPainter *p, QSvgExtraStates &states)
{
- if (m_style)
- m_style->revert(p, states);
- p->setBrush(m_oldFill);
if (m_fillOpacitySet)
states.fillOpacity = m_oldOpacity;
+ if (m_fillSet) {
+ if (m_style)
+ m_style->revert(p, states);
+ else
+ p->setBrush(m_oldFill);
+ }
}
QSvgViewportFillStyle::QSvgViewportFillStyle(const QBrush &brush)
@@ -159,50 +194,109 @@ void QSvgViewportFillStyle::revert(QPainter *p, QSvgExtraStates &)
}
QSvgFontStyle::QSvgFontStyle(QSvgFont *font, QSvgTinyDocument *doc)
- : m_font(font), m_pointSize(24), m_doc(doc)
-{
-}
-
-QSvgFontStyle::QSvgFontStyle(const QFont &font, QSvgTinyDocument *doc)
- : m_font(0), m_pointSize(24), m_doc(doc), m_qfont(font)
-{
-}
-
-
-void QSvgFontStyle::setPointSize(qreal size)
-{
- m_pointSize = size;
-}
-
-qreal QSvgFontStyle::pointSize() const
-{
- return m_pointSize;
-}
-
-void QSvgFontStyle::apply(QPainter *p, const QRectF &, QSvgNode *, QSvgExtraStates &)
-{
- if (!m_font) {
- m_oldFont = p->font();
- p->setFont(m_qfont);
+ : m_svgFont(font)
+ , m_doc(doc)
+ , m_familySet(0)
+ , m_sizeSet(0)
+ , m_styleSet(0)
+ , m_variantSet(0)
+ , m_weightSet(0)
+ , m_textAnchorSet(0)
+{
+}
+
+QSvgFontStyle::QSvgFontStyle()
+ : m_svgFont(0)
+ , m_doc(0)
+ , m_familySet(0)
+ , m_sizeSet(0)
+ , m_styleSet(0)
+ , m_variantSet(0)
+ , m_weightSet(0)
+ , m_textAnchorSet(0)
+{
+}
+
+int QSvgFontStyle::SVGToQtWeight(int weight) {
+ switch (weight) {
+ case 100:
+ case 200:
+ return QFont::Light;
+ case 300:
+ case 400:
+ return QFont::Normal;
+ case 500:
+ case 600:
+ return QFont::DemiBold;
+ case 700:
+ case 800:
+ return QFont::Bold;
+ case 900:
+ return QFont::Black;
+ }
+ return QFont::Normal;
+}
+
+void QSvgFontStyle::apply(QPainter *p, const QRectF &, QSvgNode *, QSvgExtraStates &states)
+{
+ m_oldQFont = p->font();
+ m_oldSvgFont = states.svgFont;
+ m_oldTextAnchor = states.textAnchor;
+ m_oldWeight = states.fontWeight;
+
+ if (m_textAnchorSet)
+ states.textAnchor = m_textAnchor;
+
+ QFont font = m_oldQFont;
+ if (m_familySet) {
+ states.svgFont = m_svgFont;
+ font.setFamily(m_qfont.family());
+ }
+
+ if (m_sizeSet)
+ font.setPointSize(m_qfont.pointSizeF());
+
+ if (m_styleSet)
+ font.setStyle(m_qfont.style());
+
+ if (m_variantSet)
+ font.setCapitalization(m_qfont.capitalization());
+
+ if (m_weightSet) {
+ if (m_weight == BOLDER) {
+ states.fontWeight = qMin(states.fontWeight + 100, 900);
+ } else if (m_weight == LIGHTER) {
+ states.fontWeight = qMax(states.fontWeight - 100, 100);
+ } else {
+ states.fontWeight = m_weight;
+ }
+ font.setWeight(SVGToQtWeight(states.fontWeight));
}
+
+ p->setFont(font);
}
-void QSvgFontStyle::revert(QPainter *p, QSvgExtraStates &)
+void QSvgFontStyle::revert(QPainter *p, QSvgExtraStates &states)
{
- if (!m_font) {
- p->setFont(m_oldFont);
- }
+ p->setFont(m_oldQFont);
+ states.svgFont = m_oldSvgFont;
+ states.textAnchor = m_oldTextAnchor;
+ states.fontWeight = m_oldWeight;
}
QSvgStrokeStyle::QSvgStrokeStyle(const QPen &pen)
- : m_stroke(pen)
+ : m_stroke(pen), m_strokePresent(true)
{
}
void QSvgStrokeStyle::apply(QPainter *p, const QRectF &, QSvgNode *, QSvgExtraStates &)
{
m_oldStroke = p->pen();
- p->setPen(m_stroke);
+ if (!m_strokePresent || !m_stroke.widthF() || !m_stroke.color().alphaF()) {
+ p->setPen(Qt::NoPen);
+ } else {
+ p->setPen(m_stroke);
+ }
}
void QSvgStrokeStyle::revert(QPainter *p, QSvgExtraStates &)
@@ -763,16 +857,6 @@ QSvgStyleProperty::Type QSvgAnimateColor::type() const
return ANIMATE_COLOR;
}
-QString QSvgFontStyle::textAnchor() const
-{
- return m_textAnchor;
-}
-
-void QSvgFontStyle::setTextAnchor(const QString &anchor)
-{
- m_textAnchor = anchor;
-}
-
QSvgOpacityStyle::QSvgOpacityStyle(qreal opacity)
: m_opacity(opacity)
{
diff --git a/src/svg/qsvgstyle_p.h b/src/svg/qsvgstyle_p.h
index e65b6f5..bd28bb6 100644
--- a/src/svg/qsvgstyle_p.h
+++ b/src/svg/qsvgstyle_p.h
@@ -141,7 +141,11 @@ private:
struct QSvgExtraStates
{
QSvgExtraStates();
+
qreal fillOpacity;
+ QSvgFont *svgFont;
+ Qt::Alignment textAnchor;
+ int fontWeight;
};
class QSvgStyleProperty : public QSvgRefCounted
@@ -224,12 +228,29 @@ public:
void setFillRule(Qt::FillRule f);
void setFillOpacity(qreal opacity);
+ void setFillStyle(QSvgStyleProperty* style);
+ void setBrush(QBrush brush);
const QBrush & qbrush() const
{
return m_fill;
}
+ qreal fillOpacity() const
+ {
+ return m_fillOpacity;
+ }
+
+ Qt::FillRule fillRule() const
+ {
+ return m_fillRule;
+ }
+
+ QSvgStyleProperty* style() const
+ {
+ return m_style;
+ }
+
void setGradientId(const QString &Id)
{
m_gradientId = Id;
@@ -240,7 +261,6 @@ public:
return m_gradientId;
}
-
void setGradientResolved(bool resolved)
{
m_gradientResolved = resolved;
@@ -251,16 +271,6 @@ public:
return m_gradientResolved;
}
- void setFillStyle(QSvgStyleProperty* style)
- {
- m_style = style;
- }
-
- void setBrush(QBrush brush)
- {
- m_fill = brush;
- }
-
private:
// fill v v 'inherit' | <Paint.datatype>
// fill-opacity v v 'inherit' | <OpacityValue.datatype>
@@ -275,6 +285,7 @@ private:
qreal m_oldOpacity;
QString m_gradientId;
bool m_gradientResolved;
+ bool m_fillSet;
};
class QSvgViewportFillStyle : public QSvgStyleProperty
@@ -300,41 +311,85 @@ private:
class QSvgFontStyle : public QSvgStyleProperty
{
public:
+ static const int LIGHTER = -1;
+ static const int BOLDER = 1;
+
QSvgFontStyle(QSvgFont *font, QSvgTinyDocument *doc);
- QSvgFontStyle(const QFont &font, QSvgTinyDocument *doc);
+ QSvgFontStyle();
virtual void apply(QPainter *p, const QRectF &, QSvgNode *node, QSvgExtraStates &states);
virtual void revert(QPainter *p, QSvgExtraStates &states);
virtual Type type() const;
- void setPointSize(qreal size);
- qreal pointSize() const;
+ void setSize(qreal size)
+ {
+ // Store the _pixel_ size in the font. Since QFont::setPixelSize() only takes an int, call
+ // QFont::SetPointSize() instead. Set proper font size just before rendering.
+ m_qfont.setPointSize(size);
+ m_sizeSet = 1;
+ }
- //### hack to avoid having a separate style element for text-anchor
- QString textAnchor() const;
- void setTextAnchor(const QString &anchor);
+ void setTextAnchor(Qt::Alignment anchor)
+ {
+ m_textAnchor = anchor;
+ m_textAnchorSet = 1;
+ }
- QSvgFont * svgFont() const
+ void setFamily(const QString &family)
{
- return m_font;
+ m_qfont.setFamily(family);
+ m_familySet = 1;
}
- QSvgTinyDocument *doc() const
+
+ void setStyle(QFont::Style fontStyle) {
+ m_qfont.setStyle(fontStyle);
+ m_styleSet = 1;
+ }
+
+ void setVariant(QFont::Capitalization fontVariant)
{
- return m_doc;
+ m_qfont.setCapitalization(fontVariant);
+ m_variantSet = 1;
}
- const QFont & qfont() const
+ static int SVGToQtWeight(int weight);
+
+ void setWeight(int weight)
+ {
+ m_weight = weight;
+ m_weightSet = 1;
+ }
+
+ QSvgFont * svgFont() const
+ {
+ return m_svgFont;
+ }
+
+ const QFont &qfont() const
{
return m_qfont;
}
+
+ QSvgTinyDocument *doc() const {return m_doc;}
+
private:
- QSvgFont *m_font;
- qreal m_pointSize;
+ QSvgFont *m_svgFont;
QSvgTinyDocument *m_doc;
+ QFont m_qfont;
- QString m_textAnchor;
+ int m_weight;
+ Qt::Alignment m_textAnchor;
- QFont m_qfont;
- QFont m_oldFont;
+ QSvgFont *m_oldSvgFont;
+ QFont m_oldQFont;
+ Qt::Alignment m_oldTextAnchor;
+ int m_oldWeight;
+
+ unsigned m_familySet : 1;
+ unsigned m_sizeSet : 1;
+ unsigned m_styleSet : 1;
+ unsigned m_variantSet : 1;
+ unsigned m_weightSet : 1;
+ unsigned m_textAnchorSet : 1;
};
class QSvgStrokeStyle : public QSvgStyleProperty
@@ -345,6 +400,16 @@ public:
virtual void revert(QPainter *p, QSvgExtraStates &states);
virtual Type type() const;
+ void setStroke(bool stroke)
+ {
+ m_strokePresent = stroke;
+ }
+
+ bool strokePresent() const
+ {
+ return m_strokePresent;
+ }
+
const QPen & qpen() const
{
return m_stroke;
@@ -359,8 +424,8 @@ private:
// stroke-opacity v v 'inherit' | <OpacityValue.datatype>
// stroke-width v v 'inherit' | <StrokeWidthValue.datatype>
QPen m_stroke;
-
QPen m_oldStroke;
+ bool m_strokePresent;
};
diff --git a/src/svg/qsvgwidget.h b/src/svg/qsvgwidget.h
index 1a2cdd1..ccf66bb 100644
--- a/src/svg/qsvgwidget.h
+++ b/src/svg/qsvgwidget.h
@@ -74,7 +74,7 @@ protected:
void paintEvent(QPaintEvent *event);
private:
Q_DISABLE_COPY(QSvgWidget)
- Q_DECLARE_SCOPED_PRIVATE(QSvgWidget)
+ Q_DECLARE_PRIVATE(QSvgWidget)
};
QT_END_NAMESPACE
diff --git a/src/testlib/qabstracttestlogger_p.h b/src/testlib/qabstracttestlogger_p.h
index a0e8a1e..588184e 100644
--- a/src/testlib/qabstracttestlogger_p.h
+++ b/src/testlib/qabstracttestlogger_p.h
@@ -99,6 +99,42 @@ public:
static bool isTtyOutput();
};
+struct QTestCharBuffer
+{
+ inline QTestCharBuffer()
+ : buf(0)
+ {}
+
+ inline ~QTestCharBuffer()
+ {
+ delete[] buf;
+ buf = 0;
+ }
+
+ inline operator void*()
+ {
+ return buf;
+ }
+
+ inline operator char*()
+ {
+ return buf;
+ }
+
+ inline operator char**()
+ {
+ return &buf;
+ }
+
+ inline const char* constData() const
+ {
+ return buf;
+ }
+
+private:
+ char* buf;
+};
+
QT_END_NAMESPACE
#endif
diff --git a/src/testlib/qplaintestlogger.cpp b/src/testlib/qplaintestlogger.cpp
index a0f0d25..c529d3e 100644
--- a/src/testlib/qplaintestlogger.cpp
+++ b/src/testlib/qplaintestlogger.cpp
@@ -159,7 +159,7 @@ namespace QTest {
int length = strlen(str);
for (int pos = 0; pos < length; pos +=255) {
QString uniText = QString::fromLatin1(str + pos, 255);
- OutputDebugStringW((const LPCWSTR) uniText.utf16());
+ OutputDebugString((wchar_t*)uniText.utf16());
}
if (QTestLog::outputFileName())
#elif defined(Q_OS_WIN)
@@ -188,7 +188,7 @@ namespace QTest {
QTEST_ASSERT(type);
QTEST_ASSERT(msg);
- char buf[1024];
+ QTestCharBuffer buf;
const char *fn = QTestResult::currentTestFunction() ? QTestResult::currentTestFunction()
: "UnknownTestFunc";
@@ -198,7 +198,7 @@ namespace QTest {
: "";
const char *filler = (tag[0] && gtag[0]) ? ":" : "";
if (file) {
- QTest::qt_snprintf(buf, sizeof(buf), "%s: %s::%s(%s%s%s)%s%s\n"
+ QTest::qt_asprintf(buf, "%s: %s::%s(%s%s%s)%s%s\n"
#ifdef Q_OS_WIN
"%s(%d) : failure location\n"
#else
@@ -207,10 +207,12 @@ namespace QTest {
, type, QTestResult::currentTestObjectName(), fn, gtag, filler, tag,
msg[0] ? " " : "", msg, file, line);
} else {
- QTest::qt_snprintf(buf, sizeof(buf), "%s: %s::%s(%s%s%s)%s%s\n",
+ QTest::qt_asprintf(buf, "%s: %s::%s(%s%s%s)%s%s\n",
type, QTestResult::currentTestObjectName(), fn, gtag, filler, tag,
msg[0] ? " " : "", msg);
}
+ // In colored mode, printf above stripped our nonprintable control characters.
+ // Put them back.
memcpy(buf, type, strlen(type));
outputMessage(buf);
}
diff --git a/src/testlib/qtest.h b/src/testlib/qtest.h
index 6d57d2f..7a6e268 100644
--- a/src/testlib/qtest.h
+++ b/src/testlib/qtest.h
@@ -53,6 +53,7 @@
#include <QtCore/qstringlist.h>
#include <QtCore/qdatetime.h>
#include <QtCore/qobject.h>
+#include <QtCore/qvariant.h>
#include <QtCore/qurl.h>
#include <QtCore/qpoint.h>
@@ -146,6 +147,30 @@ template<> inline char *toString(const QUrl &uri)
return qstrdup(uri.toEncoded().constData());
}
+template<> inline char *toString(const QVariant &v)
+{
+ QByteArray vstring("QVariant(");
+ if (v.isValid()) {
+ QByteArray type(v.typeName());
+ if (type.isEmpty()) {
+ type = QByteArray::number(v.userType());
+ }
+ vstring.append(type);
+ if (!v.isNull()) {
+ vstring.append(',');
+ if (v.canConvert(QVariant::String)) {
+ vstring.append(qVariantValue<QString>(v).toLatin1());
+ }
+ else {
+ vstring.append("<value not representable as string>");
+ }
+ }
+ }
+ vstring.append(')');
+
+ return qstrdup(vstring.constData());
+}
+
#ifndef QTEST_NO_SPECIALIZATIONS
template<>
#endif
diff --git a/src/testlib/qtest_global.h b/src/testlib/qtest_global.h
index 5bb2e43..24dae2e 100644
--- a/src/testlib/qtest_global.h
+++ b/src/testlib/qtest_global.h
@@ -83,6 +83,7 @@ namespace QTest
enum TestFailMode { Abort = 1, Continue = 2 };
int Q_TESTLIB_EXPORT qt_snprintf(char *str, int size, const char *format, ...);
+ int qt_asprintf(char **str, const char *format, ...);
}
QT_END_NAMESPACE
diff --git a/src/testlib/qtestbasicstreamer.cpp b/src/testlib/qtestbasicstreamer.cpp
index 5fe9d4d..aac57ba 100644
--- a/src/testlib/qtestbasicstreamer.cpp
+++ b/src/testlib/qtestbasicstreamer.cpp
@@ -68,39 +68,39 @@ QTestBasicStreamer::QTestBasicStreamer()
QTestBasicStreamer::~QTestBasicStreamer()
{}
-void QTestBasicStreamer::formatStart(const QTestElement *element, char *formatted) const
+void QTestBasicStreamer::formatStart(const QTestElement *element, char **formatted) const
{
if(!element || !formatted )
return;
- QTest::qt_snprintf(formatted, 10, "");
+ QTest::qt_asprintf(formatted, "");
}
-void QTestBasicStreamer::formatEnd(const QTestElement *element, char *formatted) const
+void QTestBasicStreamer::formatEnd(const QTestElement *element, char **formatted) const
{
if(!element || !formatted )
return;
- QTest::qt_snprintf(formatted, 10, "");
+ QTest::qt_asprintf(formatted, "");
}
-void QTestBasicStreamer::formatBeforeAttributes(const QTestElement *element, char *formatted) const
+void QTestBasicStreamer::formatBeforeAttributes(const QTestElement *element, char **formatted) const
{
if(!element || !formatted )
return;
- QTest::qt_snprintf(formatted, 10, "");
+ QTest::qt_asprintf(formatted, "");
}
-void QTestBasicStreamer::formatAfterAttributes(const QTestElement *element, char *formatted) const
+void QTestBasicStreamer::formatAfterAttributes(const QTestElement *element, char **formatted) const
{
if(!element || !formatted )
return;
- QTest::qt_snprintf(formatted, 10, "");
+ QTest::qt_asprintf(formatted, "");
}
-void QTestBasicStreamer::formatAttributes(const QTestElement *, const QTestElementAttribute *attribute, char *formatted) const
+void QTestBasicStreamer::formatAttributes(const QTestElement *, const QTestElementAttribute *attribute, char **formatted) const
{
if(!attribute || !formatted )
return;
- QTest::qt_snprintf(formatted, 10, "");
+ QTest::qt_asprintf(formatted, "");
}
void QTestBasicStreamer::output(QTestElement *element) const
@@ -113,7 +113,7 @@ void QTestBasicStreamer::output(QTestElement *element) const
void QTestBasicStreamer::outputElements(QTestElement *element, bool) const
{
- char buf[1024];
+ QTestCharBuffer buf;
bool hasChildren;
/*
Elements are in reverse order of occurrence, so start from the end and work
@@ -148,7 +148,7 @@ void QTestBasicStreamer::outputElements(QTestElement *element, bool) const
void QTestBasicStreamer::outputElementAttributes(const QTestElement* element, QTestElementAttribute *attribute) const
{
- char buf[1024];
+ QTestCharBuffer buf;
while(attribute){
formatAttributes(element, attribute, buf);
outputString(buf);
diff --git a/src/testlib/qtestbasicstreamer.h b/src/testlib/qtestbasicstreamer.h
index 84d1bce..432dd22 100644
--- a/src/testlib/qtestbasicstreamer.h
+++ b/src/testlib/qtestbasicstreamer.h
@@ -71,11 +71,11 @@ class QTestBasicStreamer
const QTestLogger *logger() const;
protected:
- virtual void formatStart(const QTestElement *element = 0, char *formatted = 0) const;
- virtual void formatEnd(const QTestElement *element = 0, char *formatted = 0) const;
- virtual void formatBeforeAttributes(const QTestElement *element = 0, char *formatted = 0) const;
- virtual void formatAfterAttributes(const QTestElement *element = 0, char *formatted = 0) const;
- virtual void formatAttributes(const QTestElement *element = 0, const QTestElementAttribute *attribute = 0, char *formatted = 0) const;
+ virtual void formatStart(const QTestElement *element, char **formatted) const;
+ virtual void formatEnd(const QTestElement *element, char **formatted) const;
+ virtual void formatBeforeAttributes(const QTestElement *element, char **formatted) const;
+ virtual void formatAfterAttributes(const QTestElement *element, char **formatted) const;
+ virtual void formatAttributes(const QTestElement *element, const QTestElementAttribute *attribute, char **formatted) const;
virtual void outputElements(QTestElement *element, bool isChildElement = false) const;
virtual void outputElementAttributes(const QTestElement *element, QTestElementAttribute *attribute) const;
diff --git a/src/testlib/qtestcase.cpp b/src/testlib/qtestcase.cpp
index 00e532a..e6508f2 100644
--- a/src/testlib/qtestcase.cpp
+++ b/src/testlib/qtestcase.cpp
@@ -72,6 +72,8 @@
#include <windows.h> // for Sleep
#endif
#ifdef Q_OS_UNIX
+#include <errno.h>
+#include <signal.h>
#include <time.h>
#endif
@@ -406,7 +408,8 @@ QT_BEGIN_NAMESPACE
\overload
- Simulates clicking of \a key with an optional \a modifier on a \a widget. If \a delay is larger than 0, the test will wait for \a delay milliseconds.
+ Simulates clicking of \a key with an optional \a modifier on a \a widget.
+ If \a delay is larger than 0, the test will wait for \a delay milliseconds.
Example:
\snippet doc/src/snippets/code/src_qtestlib_qtestcase.cpp 13
@@ -419,7 +422,8 @@ QT_BEGIN_NAMESPACE
/*! \fn void QTest::keyClick(QWidget *widget, Qt::Key key, Qt::KeyboardModifiers modifier = Qt::NoModifier, int delay=-1)
- Simulates clicking of \a key with an optional \a modifier on a \a widget. If \a delay is larger than 0, the test will wait for \a delay milliseconds.
+ Simulates clicking of \a key with an optional \a modifier on a \a widget.
+ If \a delay is larger than 0, the test will wait for \a delay milliseconds.
Examples:
\snippet doc/src/snippets/code/src_qtestlib_qtestcase.cpp 14
@@ -434,20 +438,25 @@ QT_BEGIN_NAMESPACE
/*! \fn void QTest::keyEvent(KeyAction action, QWidget *widget, Qt::Key key, Qt::KeyboardModifiers modifier = Qt::NoModifier, int delay=-1)
- Sends a Qt key event to \a widget with the given \a key and an associated \a action. Optionally, a keyboard \a modifier can be specified, as well as a \a delay (in milliseconds) of the test before sending the event.
+ Sends a Qt key event to \a widget with the given \a key and an associated \a action.
+ Optionally, a keyboard \a modifier can be specified, as well as a \a delay
+ (in milliseconds) of the test before sending the event.
*/
/*! \fn void QTest::keyEvent(KeyAction action, QWidget *widget, char ascii, Qt::KeyboardModifiers modifier = Qt::NoModifier, int delay=-1)
\overload
- Sends a Qt key event to \a widget with the given key \a ascii and an associated \a action. Optionally, a keyboard \a modifier can be specified, as well as a \a delay (in milliseconds) of the test before sending the event.
+ Sends a Qt key event to \a widget with the given key \a ascii and an associated \a action.
+ Optionally, a keyboard \a modifier can be specified, as well as a \a delay
+ (in milliseconds) of the test before sending the event.
*/
/*! \fn void QTest::keyPress(QWidget *widget, Qt::Key key, Qt::KeyboardModifiers modifier = Qt::NoModifier, int delay=-1)
- Simulates pressing a \a key with an optional \a modifier on a \a widget. If \a delay is larger than 0, the test will wait for \a delay milliseconds.
+ Simulates pressing a \a key with an optional \a modifier on a \a widget. If \a delay
+ is larger than 0, the test will wait for \a delay milliseconds.
\bold {Note:} At some point you should release the key using \l keyRelease().
@@ -458,7 +467,8 @@ QT_BEGIN_NAMESPACE
\overload
- Simulates pressing a \a key with an optional \a modifier on a \a widget. If \a delay is larger than 0, the test will wait for \a delay milliseconds.
+ Simulates pressing a \a key with an optional \a modifier on a \a widget.
+ If \a delay is larger than 0, the test will wait for \a delay milliseconds.
\bold {Note:} At some point you should release the key using \l keyRelease().
@@ -467,7 +477,8 @@ QT_BEGIN_NAMESPACE
/*! \fn void QTest::keyRelease(QWidget *widget, Qt::Key key, Qt::KeyboardModifiers modifier = Qt::NoModifier, int delay=-1)
- Simulates releasing a \a key with an optional \a modifier on a \a widget. If \a delay is larger than 0, the test will wait for \a delay milliseconds.
+ Simulates releasing a \a key with an optional \a modifier on a \a widget.
+ If \a delay is larger than 0, the test will wait for \a delay milliseconds.
\sa QTest::keyPress(), QTest::keyClick()
*/
@@ -476,7 +487,8 @@ QT_BEGIN_NAMESPACE
\overload
- Simulates releasing a \a key with an optional \a modifier on a \a widget. If \a delay is larger than 0, the test will wait for \a delay milliseconds.
+ Simulates releasing a \a key with an optional \a modifier on a \a widget.
+ If \a delay is larger than 0, the test will wait for \a delay milliseconds.
\sa QTest::keyClick()
*/
@@ -678,6 +690,13 @@ QT_BEGIN_NAMESPACE
Returns a textual representation of the given \a rectangle.
*/
+/*!
+ \fn char *QTest::toString(const QVariant &variant)
+ \overload
+
+ Returns a textual representation of the given \a variant.
+*/
+
/*! \fn void QTest::qWait(int ms)
Waits for \a ms milliseconds. While waiting, events will be processed and
@@ -692,6 +711,84 @@ QT_BEGIN_NAMESPACE
\sa QTest::qSleep()
*/
+/*!
+ \class QTest::QTouchEventSequence
+ \inmodule QtTest
+ \since 4.6
+
+ \brief The QTouchEventSequence class is used to simulate a sequence of touch events.
+
+ To simulate a sequence of touch events on a specific device for a widget, call
+ QTest::touchEvent to create a QTouchEventSequence instance. Add touch events to
+ the sequence by calling press(), move(), release() and stationary(), and let the
+ instance run out of scope to commit the sequence to the event system.
+*/
+
+/*!
+ \fn QTest::QTouchEventSequence::~QTouchEventSequence()
+
+ Commits this sequence of touch events and frees allocated resources.
+*/
+
+/*!
+ \fn QTouchEventSequence &QTest::QTouchEventSequence::press(int touchId, const QPoint &pt, QWidget *widget)
+
+ Adds a press event for touchpoint \a touchId at position \a pt to this sequence and returns
+ a reference to this QTouchEventSequence.
+
+ The position \a pt is interpreted as relative to \a widget. If \a widget is the null pointer, then
+ \a pt is interpreted as relative to the widget provided when instantiating this QTouchEventSequence.
+
+ Simulates that the user pressed the touch screen or pad with the finger identified by \a touchId.
+*/
+
+/*!
+ \fn QTouchEventSequence &QTest::QTouchEventSequence::move(int touchId, const QPoint &pt, QWidget *widget)
+
+ Adds a move event for touchpoint \a touchId at position \a pt to this sequence and returns
+ a reference to this QTouchEventSequence.
+
+ The position \a pt is interpreted as relative to \a widget. If \a widget is the null pointer, then
+ \a pt is interpreted as relative to the widget provided when instantiating this QTouchEventSequence.
+
+ Simulates that the user moved the finger identified by \a touchId.
+*/
+
+/*!
+ \fn QTouchEventSequence &QTest::QTouchEventSequence::release(int touchId, const QPoint &pt, QWidget *widget)
+
+ Adds a release event for touchpoint \a touchId at position \a pt to this sequence and returns
+ a reference to this QTouchEventSequence.
+
+ The position \a pt is interpreted as relative to \a widget. If \a widget is the null pointer, then
+ \a pt is interpreted as relative to the widget provided when instantiating this QTouchEventSequence.
+
+ Simulates that the user lifted the finger identified by \a touchId.
+*/
+
+/*!
+ \fn QTouchEventSequence &QTest::QTouchEventSequence::stationary(int touchId)
+
+ Adds a stationary event for touchpoint \a touchId to this sequence and returns
+ a reference to this QTouchEventSequence.
+
+ Simulates that the user did not move the finger identified by \a touchId.
+*/
+
+/*!
+ \fn QTouchEventSequence QTest::touchEvent(QWidget *widget, QTouchEvent::DeviceType deviceType)
+
+ Creates and returns a QTouchEventSequence for the device \a deviceType to
+ simulate events for \a widget.
+
+ When adding touch events to the sequence, \a widget will also be used to translate
+ the position provided to screen coordinates, unless another widget is provided in the
+ respective calls to press(), move() etc.
+
+ The touch events are committed to the event system when the destructor of the
+ QTouchEventSequence is called (ie when the object returned runs out of scope).
+*/
+
namespace QTest
{
static QObject *currentTestObject = 0;
@@ -716,6 +813,53 @@ namespace QTest
static int eventDelay = -1;
static int keyVerbose = -1;
+void filter_unprintable(char *str)
+{
+ char *idx = str;
+ while (*idx) {
+ if (((*idx < 0x20 && *idx != '\n' && *idx != '\t') || *idx > 0x7e))
+ *idx = '?';
+ ++idx;
+ }
+}
+
+/*! \internal
+ */
+int qt_asprintf(char **str, const char *format, ...)
+{
+ static const int MAXSIZE = 1024*1024*2;
+
+ int size = 32;
+ delete[] *str;
+ *str = new char[size];
+
+ va_list ap;
+ int res = 0;
+
+ for (;;) {
+ va_start(ap, format);
+ res = qvsnprintf(*str, size, format, ap);
+ va_end(ap);
+ (*str)[size - 1] = '\0';
+ if (res >= 0 && res < size) {
+ // We succeeded
+ break;
+ }
+ // buffer wasn't big enough, try again.
+ // Note, we're assuming that a result of -1 is always due to running out of space.
+ size *= 2;
+ if (size > MAXSIZE) {
+ break;
+ }
+ delete[] *str;
+ *str = new char[size];
+ }
+
+ filter_unprintable(*str);
+
+ return res;
+}
+
/*! \internal
*/
int qt_snprintf(char *str, int size, const char *format, ...)
@@ -728,12 +872,8 @@ int qt_snprintf(char *str, int size, const char *format, ...)
va_end(ap);
str[size - 1] = '\0';
- char *idx = str;
- while (*idx) {
- if (((*idx < 0x20 && *idx != '\n' && *idx != '\t') || *idx > 0x7e))
- *idx = '?';
- ++idx;
- }
+ filter_unprintable(str);
+
return res;
}
@@ -852,7 +992,7 @@ static void qParseArgs(int argc, char *argv[])
" -iterations n : Sets the number of accumulation iterations.\n"
" -median n : Sets the number of median iterations.\n"
" -vb : Print out verbose benchmarking information.\n"
-#if !defined(QT_NO_PROCESS) || !defined(QT_NO_SETTINGS)
+#if !defined(QT_NO_PROCESS) && !defined(QT_NO_SETTINGS)
" -chart : Create chart based on the benchmark result.\n"
#endif
"\n"
@@ -968,7 +1108,7 @@ static void qParseArgs(int argc, char *argv[])
} else if (strcmp(argv[i], "-vb") == 0) {
QBenchmarkGlobalData::current->verboseOutput = true;
-#if !defined(QT_NO_PROCESS) || !defined(QT_NO_SETTINGS)
+#if !defined(QT_NO_PROCESS) && !defined(QT_NO_SETTINGS)
} else if (strcmp(argv[i], "-chart") == 0) {
QBenchmarkGlobalData::current->createChart = true;
QTestLog::setLogMode(QTestLog::XML);
@@ -1335,6 +1475,80 @@ static void qInvokeTestMethods(QObject *testObject)
QTestLog::stopLogging();
}
+#if defined(Q_OS_UNIX) && !defined(Q_OS_SYMBIAN)
+class FatalSignalHandler
+{
+public:
+ FatalSignalHandler();
+ ~FatalSignalHandler();
+
+private:
+ static void signal(int);
+ sigset_t handledSignals;
+};
+
+void FatalSignalHandler::signal(int signum)
+{
+ qFatal("Received signal %d", signum);
+}
+
+FatalSignalHandler::FatalSignalHandler()
+{
+ sigemptyset(&handledSignals);
+
+ const int fatalSignals[] = {
+ SIGHUP, SIGINT, SIGQUIT, SIGILL, SIGFPE, SIGSEGV, SIGPIPE, SIGTERM, 0 };
+
+ struct sigaction act;
+ memset(&act, 0, sizeof(act));
+ act.sa_handler = FatalSignalHandler::signal;
+
+ // Remove the handler after it is invoked.
+ act.sa_flags = SA_RESETHAND;
+
+ // Block all fatal signals in our signal handler so we don't try to close
+ // the testlog twice.
+ sigemptyset(&act.sa_mask);
+ for (int i = 0; fatalSignals[i]; ++i)
+ sigaddset(&act.sa_mask, fatalSignals[i]);
+
+ struct sigaction oldact;
+
+ for (int i = 0; fatalSignals[i]; ++i) {
+ sigaction(fatalSignals[i], &act, &oldact);
+ // Don't overwrite any non-default handlers
+ if (oldact.sa_flags & SA_SIGINFO || oldact.sa_handler != SIG_DFL) {
+ sigaction(fatalSignals[i], &oldact, 0);
+ } else {
+ sigaddset(&handledSignals, fatalSignals[i]);
+ }
+ }
+}
+
+
+FatalSignalHandler::~FatalSignalHandler()
+{
+ // Unregister any of our remaining signal handlers
+ struct sigaction act;
+ memset(&act, 0, sizeof(act));
+ act.sa_handler = SIG_DFL;
+
+ struct sigaction oldact;
+
+ for (int i = 1; i < 32; ++i) {
+ if (!sigismember(&handledSignals, i))
+ continue;
+ sigaction(i, &act, &oldact);
+
+ // If someone overwrote it in the mean time, put it back
+ if (oldact.sa_handler != FatalSignalHandler::signal)
+ sigaction(i, &oldact, 0);
+ }
+}
+
+#endif
+
+
} // namespace
/*!
@@ -1434,14 +1648,14 @@ int QTest::qExec(QObject *testObject, int argc, char **argv)
QBenchmarkValgrindUtils::cleanup();
- } else {
+ } else
+#endif
+ {
+#if defined(Q_OS_UNIX) && !defined(Q_OS_SYMBIAN)
+ FatalSignalHandler handler;
#endif
-
qInvokeTestMethods(testObject);
-
-#ifdef QTESTLIB_USE_VALGRIND
}
-#endif
#ifndef QT_NO_EXCEPTIONS
} catch (...) {
@@ -1473,7 +1687,7 @@ int QTest::qExec(QObject *testObject, int argc, char **argv)
#endif
-#if !defined(QT_NO_PROCESS) || !defined(QT_NO_SETTINGS)
+#if !defined(QT_NO_PROCESS) && !defined(QT_NO_SETTINGS)
if (QBenchmarkGlobalData::current->createChart) {
QString chartLocation = QLibraryInfo::location(QLibraryInfo::BinariesPath);
#ifdef Q_OS_WIN
@@ -1937,8 +2151,4 @@ bool QTest::compare_string_helper(const char *t1, const char *t2, const char *ac
\internal
*/
-/*! \fn int QTest::qt_snprintf(char *str, int size, const char *format, ...)
- \internal
-*/
-
QT_END_NAMESPACE
diff --git a/src/testlib/qtestcoreelement.h b/src/testlib/qtestcoreelement.h
index a6aa56d..8c029b5 100644
--- a/src/testlib/qtestcoreelement.h
+++ b/src/testlib/qtestcoreelement.h
@@ -74,7 +74,7 @@ class QTestCoreElement: public QTestCoreList<ElementType>
template<class ElementType>
QTestCoreElement<ElementType>::QTestCoreElement(int t)
-:listOfAttributes(0), type((QTest::LogElementType)t)
+ :listOfAttributes(0), type(QTest::LogElementType(t))
{
}
diff --git a/src/testlib/qtestfilelogger.cpp b/src/testlib/qtestfilelogger.cpp
index 0c146b4..a64a452 100644
--- a/src/testlib/qtestfilelogger.cpp
+++ b/src/testlib/qtestfilelogger.cpp
@@ -72,15 +72,24 @@ void QTestFileLogger::init()
QTest::qt_snprintf(filename, sizeof(filename), "%s.log",
QTestResult::currentTestObjectName());
- #if defined(_MSC_VER) && _MSC_VER >= 1400 && !defined(Q_OS_WINCE)
- if (::fopen_s(&QTest::stream, filename, "wt")) {
- #else
- QTest::stream = ::fopen(filename, "wt");
- if (!QTest::stream) {
- #endif
- printf("Unable to open file for simple logging: %s", filename);
- ::exit(1);
+ // Keep filenames simple
+ for (uint i = 0; i < sizeof(filename) && filename[i]; ++i) {
+ char& c = filename[i];
+ if (!((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z')
+ || (c >= '0' && c <= '9') || c == '-' || c == '.')) {
+ c = '_';
}
+ }
+
+#if defined(_MSC_VER) && _MSC_VER >= 1400 && !defined(Q_OS_WINCE)
+ if (::fopen_s(&QTest::stream, filename, "wt")) {
+#else
+ QTest::stream = ::fopen(filename, "wt");
+ if (!QTest::stream) {
+#endif
+ printf("Unable to open file for simple logging: %s", filename);
+ ::exit(1);
+ }
}
void QTestFileLogger::flush(const char *msg)
diff --git a/src/testlib/qtestlightxmlstreamer.cpp b/src/testlib/qtestlightxmlstreamer.cpp
index 170938a..e176201 100644
--- a/src/testlib/qtestlightxmlstreamer.cpp
+++ b/src/testlib/qtestlightxmlstreamer.cpp
@@ -59,61 +59,55 @@ QTestLightXmlStreamer::QTestLightXmlStreamer()
QTestLightXmlStreamer::~QTestLightXmlStreamer()
{}
-void QTestLightXmlStreamer::formatStart(const QTestElement *element, char *formatted) const
+void QTestLightXmlStreamer::formatStart(const QTestElement *element, char **formatted) const
{
if(!element || !formatted)
return;
switch(element->elementType()){
case QTest::LET_TestCase: {
- char quotedTf[950];
- QXmlTestLogger::xmlQuote(quotedTf, element->attributeValue(QTest::AI_Name),
- sizeof(quotedTf));
+ QTestCharBuffer quotedTf;
+ QXmlTestLogger::xmlQuote(quotedTf, element->attributeValue(QTest::AI_Name));
- QTest::qt_snprintf(formatted, 1024, "<TestFunction name=\"%s\">\n", quotedTf);
+ QTest::qt_asprintf(formatted, "<TestFunction name=\"%s\">\n", quotedTf.constData());
break;
}
case QTest::LET_Failure: {
- char cdataDesc[900];
- QXmlTestLogger::xmlCdata(cdataDesc, element->attributeValue(QTest::AI_Description),
- sizeof(cdataDesc));
+ QTestCharBuffer cdataDesc;
+ QXmlTestLogger::xmlCdata(cdataDesc, element->attributeValue(QTest::AI_Description));
- QTest::qt_snprintf(formatted, 1024, " <Description><![CDATA[%s]]></Description>\n",
- cdataDesc);
+ QTest::qt_asprintf(formatted, " <Description><![CDATA[%s]]></Description>\n",
+ cdataDesc.constData());
break;
}
case QTest::LET_Error: {
// assuming type and attribute names don't need quoting
- char quotedFile[128];
- char cdataDesc[700];
- QXmlTestLogger::xmlQuote(quotedFile, element->attributeValue(QTest::AI_File),
- sizeof(quotedFile));
- QXmlTestLogger::xmlCdata(cdataDesc, element->attributeValue(QTest::AI_Description),
- sizeof(cdataDesc));
-
- QTest::qt_snprintf(formatted, 1024, "<Message type=\"%s\" %s=\"%s\" %s=\"%s\">\n <Description><![CDATA[%s]]></Description>\n</Message>\n",
+ QTestCharBuffer quotedFile;
+ QTestCharBuffer cdataDesc;
+ QXmlTestLogger::xmlQuote(quotedFile, element->attributeValue(QTest::AI_File));
+ QXmlTestLogger::xmlCdata(cdataDesc, element->attributeValue(QTest::AI_Description));
+
+ QTest::qt_asprintf(formatted, "<Message type=\"%s\" %s=\"%s\" %s=\"%s\">\n <Description><![CDATA[%s]]></Description>\n</Message>\n",
element->attributeValue(QTest::AI_Type),
element->attributeName(QTest::AI_File),
- quotedFile,
+ quotedFile.constData(),
element->attributeName(QTest::AI_Line),
element->attributeValue(QTest::AI_Line),
- cdataDesc);
+ cdataDesc.constData());
break;
}
case QTest::LET_Benchmark: {
// assuming value and iterations don't need quoting
- char quotedMetric[256];
- char quotedTag[256];
- QXmlTestLogger::xmlQuote(quotedMetric, element->attributeValue(QTest::AI_Metric),
- sizeof(quotedMetric));
- QXmlTestLogger::xmlQuote(quotedTag, element->attributeValue(QTest::AI_Tag),
- sizeof(quotedTag));
-
- QTest::qt_snprintf(formatted, 1024, "<BenchmarkResult %s=\"%s\" %s=\"%s\" %s=\"%s\" %s=\"%s\" />\n",
+ QTestCharBuffer quotedMetric;
+ QTestCharBuffer quotedTag;
+ QXmlTestLogger::xmlQuote(quotedMetric, element->attributeValue(QTest::AI_Metric));
+ QXmlTestLogger::xmlQuote(quotedTag, element->attributeValue(QTest::AI_Tag));
+
+ QTest::qt_asprintf(formatted, "<BenchmarkResult %s=\"%s\" %s=\"%s\" %s=\"%s\" %s=\"%s\" />\n",
element->attributeName(QTest::AI_Metric),
- quotedMetric,
+ quotedMetric.constData(),
element->attributeName(QTest::AI_Tag),
- quotedTag,
+ quotedTag.constData(),
element->attributeName(QTest::AI_Value),
element->attributeValue(QTest::AI_Value),
element->attributeName(QTest::AI_Iterations),
@@ -121,61 +115,60 @@ void QTestLightXmlStreamer::formatStart(const QTestElement *element, char *forma
break;
}
default:
- QTest::qt_snprintf(formatted, 10, "");
+ QTest::qt_asprintf(formatted, "");
}
}
-void QTestLightXmlStreamer::formatEnd(const QTestElement *element, char *formatted) const
+void QTestLightXmlStreamer::formatEnd(const QTestElement *element, char **formatted) const
{
if(!element || !formatted)
return;
if (element->elementType() == QTest::LET_TestCase) {
if( element->attribute(QTest::AI_Result) && element->childElements())
- QTest::qt_snprintf(formatted, 1024, "</Incident>\n</TestFunction>\n");
+ QTest::qt_asprintf(formatted, "</Incident>\n</TestFunction>\n");
else
- QTest::qt_snprintf(formatted, 1024, "</TestFunction>\n");
+ QTest::qt_asprintf(formatted, "</TestFunction>\n");
}
else
- QTest::qt_snprintf(formatted, 10, "");
+ QTest::qt_asprintf(formatted, "");
}
-void QTestLightXmlStreamer::formatBeforeAttributes(const QTestElement *element, char *formatted) const
+void QTestLightXmlStreamer::formatBeforeAttributes(const QTestElement *element, char **formatted) const
{
if(!element || !formatted)
return;
if (element->elementType() == QTest::LET_TestCase && element->attribute(QTest::AI_Result)){
- char buf[900];
- char quotedFile[700];
- QXmlTestLogger::xmlQuote(quotedFile, element->attributeValue(QTest::AI_File),
- sizeof(quotedFile));
+ QTestCharBuffer buf;
+ QTestCharBuffer quotedFile;
+ QXmlTestLogger::xmlQuote(quotedFile, element->attributeValue(QTest::AI_File));
- QTest::qt_snprintf(buf, sizeof(buf), "%s=\"%s\" %s=\"%s\"",
+ QTest::qt_asprintf(buf, "%s=\"%s\" %s=\"%s\"",
element->attributeName(QTest::AI_File),
- quotedFile,
+ quotedFile.constData(),
element->attributeName(QTest::AI_Line),
element->attributeValue(QTest::AI_Line));
if( !element->childElements() )
- QTest::qt_snprintf(formatted, 1024, "<Incident type=\"%s\" %s/>\n",
- element->attributeValue(QTest::AI_Result), buf);
+ QTest::qt_asprintf(formatted, "<Incident type=\"%s\" %s/>\n",
+ element->attributeValue(QTest::AI_Result), buf.constData());
else
- QTest::qt_snprintf(formatted, 1024, "<Incident type=\"%s\" %s>\n",
- element->attributeValue(QTest::AI_Result), buf);
+ QTest::qt_asprintf(formatted, "<Incident type=\"%s\" %s>\n",
+ element->attributeValue(QTest::AI_Result), buf.constData());
}else{
- QTest::qt_snprintf(formatted, 10, "");
+ QTest::qt_asprintf(formatted, "");
}
}
void QTestLightXmlStreamer::output(QTestElement *element) const
{
- char buf[1024];
- QTest::qt_snprintf(buf, sizeof(buf), "<Environment>\n <QtVersion>%s</QtVersion>\n <QTestVersion>%s</QTestVersion>\n",
+ QTestCharBuffer buf;
+ QTest::qt_asprintf(buf, "<Environment>\n <QtVersion>%s</QtVersion>\n <QTestVersion>%s</QTestVersion>\n",
qVersion(), QTEST_VERSION_STR );
outputString(buf);
- QTest::qt_snprintf(buf, sizeof(buf), "</Environment>\n");
+ QTest::qt_asprintf(buf, "</Environment>\n");
outputString(buf);
QTestBasicStreamer::output(element);
diff --git a/src/testlib/qtestlightxmlstreamer.h b/src/testlib/qtestlightxmlstreamer.h
index 5a16327..6dafdcc 100644
--- a/src/testlib/qtestlightxmlstreamer.h
+++ b/src/testlib/qtestlightxmlstreamer.h
@@ -59,9 +59,9 @@ class QTestLightXmlStreamer: public QTestBasicStreamer
QTestLightXmlStreamer();
~QTestLightXmlStreamer();
- void formatStart(const QTestElement *element = 0, char *formatted = 0) const;
- void formatEnd(const QTestElement *element = 0, char *formatted = 0) const;
- void formatBeforeAttributes(const QTestElement *element = 0, char *formatted = 0) const;
+ void formatStart(const QTestElement *element, char **formatted) const;
+ void formatEnd(const QTestElement *element, char **formatted) const;
+ void formatBeforeAttributes(const QTestElement *element, char **formatted) const;
void output(QTestElement *element) const;
};
diff --git a/src/testlib/qtestxmlstreamer.cpp b/src/testlib/qtestxmlstreamer.cpp
index 5172bcd..1b6e674 100644
--- a/src/testlib/qtestxmlstreamer.cpp
+++ b/src/testlib/qtestxmlstreamer.cpp
@@ -60,86 +60,78 @@ QTestXmlStreamer::QTestXmlStreamer()
QTestXmlStreamer::~QTestXmlStreamer()
{}
-void QTestXmlStreamer::formatStart(const QTestElement *element, char *formatted) const
+void QTestXmlStreamer::formatStart(const QTestElement *element, char **formatted) const
{
if(!element || !formatted)
return;
switch(element->elementType()){
case QTest::LET_TestCase: {
- char quotedTf[950];
- QXmlTestLogger::xmlQuote(quotedTf, element->attributeValue(QTest::AI_Name),
- sizeof(quotedTf));
+ QTestCharBuffer quotedTf;
+ QXmlTestLogger::xmlQuote(quotedTf, element->attributeValue(QTest::AI_Name));
- QTest::qt_snprintf(formatted, 1024, "<TestFunction name=\"%s\">\n", quotedTf);
+ QTest::qt_asprintf(formatted, "<TestFunction name=\"%s\">\n", quotedTf.constData());
break;
}
case QTest::LET_Failure: {
- char cdataDesc[800];
- QXmlTestLogger::xmlCdata(cdataDesc, element->attributeValue(QTest::AI_Description),
- sizeof(cdataDesc));
+ QTestCharBuffer cdataDesc;
+ QXmlTestLogger::xmlCdata(cdataDesc, element->attributeValue(QTest::AI_Description));
- char location[100];
- char quotedFile[70];
- QXmlTestLogger::xmlQuote(quotedFile, element->attributeValue(QTest::AI_File),
- sizeof(quotedFile));
+ QTestCharBuffer location;
+ QTestCharBuffer quotedFile;
+ QXmlTestLogger::xmlQuote(quotedFile, element->attributeValue(QTest::AI_File));
- QTest::qt_snprintf(location, sizeof(location), "%s=\"%s\" %s=\"%s\"",
+ QTest::qt_asprintf(location, "%s=\"%s\" %s=\"%s\"",
element->attributeName(QTest::AI_File),
- quotedFile,
+ quotedFile.constData(),
element->attributeName(QTest::AI_Line),
element->attributeValue(QTest::AI_Line));
if (element->attribute(QTest::AI_Tag)) {
- char cdataTag[100];
- QXmlTestLogger::xmlCdata(cdataTag, element->attributeValue(QTest::AI_Tag),
- sizeof(cdataTag));
- QTest::qt_snprintf(formatted, 1024, "<Incident type=\"%s\" %s>\n"
+ QTestCharBuffer cdataTag;
+ QXmlTestLogger::xmlCdata(cdataTag, element->attributeValue(QTest::AI_Tag));
+ QTest::qt_asprintf(formatted, "<Incident type=\"%s\" %s>\n"
" <DataTag><![CDATA[%s]]></DataTag>\n"
" <Description><![CDATA[%s]]></Description>\n"
"</Incident>\n", element->attributeValue(QTest::AI_Result),
- location, cdataTag, cdataDesc);
+ location.constData(), cdataTag.constData(), cdataDesc.constData());
}
else {
- QTest::qt_snprintf(formatted, 1024, "<Incident type=\"%s\" %s>\n"
+ QTest::qt_asprintf(formatted, "<Incident type=\"%s\" %s>\n"
" <Description><![CDATA[%s]]></Description>\n"
"</Incident>\n", element->attributeValue(QTest::AI_Result),
- location, cdataDesc);
+ location.constData(), cdataDesc.constData());
}
break;
}
case QTest::LET_Error: {
// assuming type and attribute names don't need quoting
- char quotedFile[128];
- char cdataDesc[700];
- QXmlTestLogger::xmlQuote(quotedFile, element->attributeValue(QTest::AI_File),
- sizeof(quotedFile));
- QXmlTestLogger::xmlCdata(cdataDesc, element->attributeValue(QTest::AI_Description),
- sizeof(cdataDesc));
-
- QTest::qt_snprintf(formatted, 1024, "<Message type=\"%s\" %s=\"%s\" %s=\"%s\">\n <Description><![CDATA[%s]]></Description>\n</Message>\n",
+ QTestCharBuffer quotedFile;
+ QTestCharBuffer cdataDesc;
+ QXmlTestLogger::xmlQuote(quotedFile, element->attributeValue(QTest::AI_File));
+ QXmlTestLogger::xmlCdata(cdataDesc, element->attributeValue(QTest::AI_Description));
+
+ QTest::qt_asprintf(formatted, "<Message type=\"%s\" %s=\"%s\" %s=\"%s\">\n <Description><![CDATA[%s]]></Description>\n</Message>\n",
element->attributeValue(QTest::AI_Type),
element->attributeName(QTest::AI_File),
- quotedFile,
+ quotedFile.constData(),
element->attributeName(QTest::AI_Line),
element->attributeValue(QTest::AI_Line),
- cdataDesc);
+ cdataDesc.constData());
break;
}
case QTest::LET_Benchmark: {
// assuming value and iterations don't need quoting
- char quotedMetric[256];
- char quotedTag[256];
- QXmlTestLogger::xmlQuote(quotedMetric, element->attributeValue(QTest::AI_Metric),
- sizeof(quotedMetric));
- QXmlTestLogger::xmlQuote(quotedTag, element->attributeValue(QTest::AI_Tag),
- sizeof(quotedTag));
-
- QTest::qt_snprintf(formatted, 1024, "<BenchmarkResult %s=\"%s\" %s=\"%s\" %s=\"%s\" %s=\"%s\" />\n",
+ QTestCharBuffer quotedMetric;
+ QTestCharBuffer quotedTag;
+ QXmlTestLogger::xmlQuote(quotedMetric, element->attributeValue(QTest::AI_Metric));
+ QXmlTestLogger::xmlQuote(quotedTag, element->attributeValue(QTest::AI_Tag));
+
+ QTest::qt_asprintf(formatted, "<BenchmarkResult %s=\"%s\" %s=\"%s\" %s=\"%s\" %s=\"%s\" />\n",
element->attributeName(QTest::AI_Metric),
- quotedMetric,
+ quotedMetric.constData(),
element->attributeName(QTest::AI_Tag),
- quotedTag,
+ quotedTag.constData(),
element->attributeName(QTest::AI_Value),
element->attributeValue(QTest::AI_Value),
element->attributeName(QTest::AI_Iterations),
@@ -147,71 +139,70 @@ void QTestXmlStreamer::formatStart(const QTestElement *element, char *formatted)
break;
}
default:
- QTest::qt_snprintf(formatted, 10, "");
+ QTest::qt_asprintf(formatted, "");
}
}
-void QTestXmlStreamer::formatEnd(const QTestElement *element, char *formatted) const
+void QTestXmlStreamer::formatEnd(const QTestElement *element, char **formatted) const
{
if(!element || !formatted)
return;
if (element->elementType() == QTest::LET_TestCase) {
- QTest::qt_snprintf(formatted, 1024, "</TestFunction>\n");
+ QTest::qt_asprintf(formatted, "</TestFunction>\n");
}
else
- QTest::qt_snprintf(formatted, 10, "");
+ QTest::qt_asprintf(formatted, "");
}
-void QTestXmlStreamer::formatBeforeAttributes(const QTestElement *element, char *formatted) const
+void QTestXmlStreamer::formatBeforeAttributes(const QTestElement *element, char **formatted) const
{
if(!element || !formatted)
return;
if (element->elementType() == QTest::LET_TestCase && element->attribute(QTest::AI_Result)){
- char buf[900];
- char quotedFile[700];
- QXmlTestLogger::xmlQuote(quotedFile, element->attributeValue(QTest::AI_File),
- sizeof(quotedFile));
+ QTestCharBuffer buf;
+ QTestCharBuffer quotedFile;
+ QXmlTestLogger::xmlQuote(quotedFile, element->attributeValue(QTest::AI_File));
- QTest::qt_snprintf(buf, sizeof(buf), "%s=\"%s\" %s=\"%s\"",
+ QTest::qt_asprintf(buf, "%s=\"%s\" %s=\"%s\"",
element->attributeName(QTest::AI_File),
- quotedFile,
+ quotedFile.constData(),
element->attributeName(QTest::AI_Line),
element->attributeValue(QTest::AI_Line));
if( !element->childElements() ) {
- QTest::qt_snprintf(formatted, 1024, "<Incident type=\"%s\" %s/>\n",
- element->attributeValue(QTest::AI_Result), buf);
+ QTest::qt_asprintf(formatted, "<Incident type=\"%s\" %s/>\n",
+ element->attributeValue(QTest::AI_Result), buf.constData());
}
else {
- QTest::qt_snprintf(formatted, 10, "");
+ QTest::qt_asprintf(formatted, "");
}
}else{
- QTest::qt_snprintf(formatted, 10, "");
+ QTest::qt_asprintf(formatted, "");
}
}
void QTestXmlStreamer::output(QTestElement *element) const
{
- char buf[1024];
- char quotedTc[800];
- QXmlTestLogger::xmlQuote(quotedTc, QTestResult::currentTestObjectName(), sizeof(quotedTc));
+ QTestCharBuffer buf;
+ QTestCharBuffer quotedTc;
+ QXmlTestLogger::xmlQuote(quotedTc, QTestResult::currentTestObjectName());
- QTest::qt_snprintf(buf, sizeof(buf), "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>\n<TestCase name=\"%s\">\n",
- quotedTc);
+ QTest::qt_asprintf(buf, "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>\n<TestCase name=\"%s\">\n",
+ quotedTc.constData());
outputString(buf);
- QTest::qt_snprintf(buf, sizeof(buf), "<Environment>\n <QtVersion>%s</QtVersion>\n <QTestVersion>%s</QTestVersion>\n",
+ QTest::qt_asprintf(buf, "<Environment>\n <QtVersion>%s</QtVersion>\n <QTestVersion>%s</QTestVersion>\n",
qVersion(), QTEST_VERSION_STR );
outputString(buf);
- QTest::qt_snprintf(buf, sizeof(buf), "</Environment>\n");
+ QTest::qt_asprintf(buf, "</Environment>\n");
outputString(buf);
QTestBasicStreamer::output(element);
- QTest::qt_snprintf(buf, sizeof(buf), "</TestCase>\n");
+ QTest::qt_asprintf(buf, "</TestCase>\n");
outputString(buf);
}
diff --git a/src/testlib/qtestxmlstreamer.h b/src/testlib/qtestxmlstreamer.h
index 3cb1c60..a601f60 100644
--- a/src/testlib/qtestxmlstreamer.h
+++ b/src/testlib/qtestxmlstreamer.h
@@ -59,9 +59,9 @@ class QTestXmlStreamer: public QTestBasicStreamer
QTestXmlStreamer();
~QTestXmlStreamer();
- void formatStart(const QTestElement *element = 0, char *formatted = 0) const;
- void formatEnd(const QTestElement *element = 0, char *formatted = 0) const;
- void formatBeforeAttributes(const QTestElement *element = 0, char *formatted = 0) const;
+ void formatStart(const QTestElement *element, char **formatted) const;
+ void formatEnd(const QTestElement *element, char **formatted) const;
+ void formatBeforeAttributes(const QTestElement *element, char **formatted) const;
void output(QTestElement *element) const;
};
diff --git a/src/testlib/qtestxunitstreamer.cpp b/src/testlib/qtestxunitstreamer.cpp
index 6690cec..d5d2631 100644
--- a/src/testlib/qtestxunitstreamer.cpp
+++ b/src/testlib/qtestxunitstreamer.cpp
@@ -73,7 +73,7 @@ void QTestXunitStreamer::indentForElement(const QTestElement* element, char* buf
}
}
-void QTestXunitStreamer::formatStart(const QTestElement *element, char *formatted) const
+void QTestXunitStreamer::formatStart(const QTestElement *element, char **formatted) const
{
if(!element || !formatted )
return;
@@ -84,34 +84,34 @@ void QTestXunitStreamer::formatStart(const QTestElement *element, char *formatte
// Errors are written as CDATA within system-err, comments elsewhere
if (element->elementType() == QTest::LET_Error) {
if (element->parentElement()->elementType() == QTest::LET_SystemError) {
- QTest::qt_snprintf(formatted, 1024, "<![CDATA[");
+ QTest::qt_asprintf(formatted, "<![CDATA[");
}
else {
- QTest::qt_snprintf(formatted, 1024, "%s<!--", indent);
+ QTest::qt_asprintf(formatted, "%s<!--", indent);
}
return;
}
- QTest::qt_snprintf(formatted, 1024, "%s<%s", indent, element->elementName());
+ QTest::qt_asprintf(formatted, "%s<%s", indent, element->elementName());
}
-void QTestXunitStreamer::formatEnd(const QTestElement *element, char *formatted) const
+void QTestXunitStreamer::formatEnd(const QTestElement *element, char **formatted) const
{
if(!element || !formatted )
return;
if(!element->childElements()){
- QTest::qt_snprintf(formatted, 10, "");
+ QTest::qt_asprintf(formatted, "");
return;
}
char indent[20];
indentForElement(element, indent, sizeof(indent));
- QTest::qt_snprintf(formatted, 1024, "%s</%s>\n", indent, element->elementName());
+ QTest::qt_asprintf(formatted, "%s</%s>\n", indent, element->elementName());
}
-void QTestXunitStreamer::formatAttributes(const QTestElement* element, const QTestElementAttribute *attribute, char *formatted) const
+void QTestXunitStreamer::formatAttributes(const QTestElement* element, const QTestElementAttribute *attribute, char **formatted) const
{
if(!attribute || !formatted )
return;
@@ -124,7 +124,7 @@ void QTestXunitStreamer::formatAttributes(const QTestElement* element, const QTe
if (attrindex != QTest::AI_Description) return;
- QXmlTestLogger::xmlCdata(formatted, attribute->value(), 1024);
+ QXmlTestLogger::xmlCdata(formatted, attribute->value());
return;
}
@@ -135,16 +135,16 @@ void QTestXunitStreamer::formatAttributes(const QTestElement* element, const QTe
key = attribute->name();
if (key) {
- char quotedValue[900];
- QXmlTestLogger::xmlQuote(quotedValue, attribute->value(), sizeof(quotedValue));
- QTest::qt_snprintf(formatted, 1024, " %s=\"%s\"", key, quotedValue);
+ QTestCharBuffer quotedValue;
+ QXmlTestLogger::xmlQuote(quotedValue, attribute->value());
+ QTest::qt_asprintf(formatted, " %s=\"%s\"", key, quotedValue.constData());
}
else {
- QTest::qt_snprintf(formatted, 10, "");
+ QTest::qt_asprintf(formatted, "");
}
}
-void QTestXunitStreamer::formatAfterAttributes(const QTestElement *element, char *formatted) const
+void QTestXunitStreamer::formatAfterAttributes(const QTestElement *element, char **formatted) const
{
if(!element || !formatted )
return;
@@ -152,31 +152,29 @@ void QTestXunitStreamer::formatAfterAttributes(const QTestElement *element, char
// Errors are written as CDATA within system-err, comments elsewhere
if (element->elementType() == QTest::LET_Error) {
if (element->parentElement()->elementType() == QTest::LET_SystemError) {
- QTest::qt_snprintf(formatted, 1024, "]]>\n");
+ QTest::qt_asprintf(formatted, "]]>\n");
}
else {
- QTest::qt_snprintf(formatted, 1024, " -->\n");
+ QTest::qt_asprintf(formatted, " -->\n");
}
return;
}
if(!element->childElements())
- QTest::qt_snprintf(formatted, 10, "/>\n");
+ QTest::qt_asprintf(formatted, "/>\n");
else
- QTest::qt_snprintf(formatted, 10, ">\n");
+ QTest::qt_asprintf(formatted, ">\n");
}
void QTestXunitStreamer::output(QTestElement *element) const
{
- char buf[1024];
- QTest::qt_snprintf(buf, sizeof(buf), "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n");
- outputString(buf);
+ outputString("<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n");
QTestBasicStreamer::output(element);
}
void QTestXunitStreamer::outputElements(QTestElement *element, bool) const
{
- char buf[1024];
+ QTestCharBuffer buf;
bool hasChildren;
/*
Elements are in reverse order of occurrence, so start from the end and work
diff --git a/src/testlib/qtestxunitstreamer.h b/src/testlib/qtestxunitstreamer.h
index 9817fd3..044307f 100644
--- a/src/testlib/qtestxunitstreamer.h
+++ b/src/testlib/qtestxunitstreamer.h
@@ -58,10 +58,10 @@ class QTestXunitStreamer: public QTestBasicStreamer
QTestXunitStreamer();
~QTestXunitStreamer();
- void formatStart(const QTestElement *element = 0, char *formatted = 0) const;
- void formatEnd(const QTestElement *element = 0, char *formatted = 0) const;
- void formatAfterAttributes(const QTestElement *element = 0, char *formatted = 0) const;
- void formatAttributes(const QTestElement *element = 0, const QTestElementAttribute *attribute = 0, char *formatted = 0) const;
+ void formatStart(const QTestElement *element, char **formatted) const;
+ void formatEnd(const QTestElement *element, char **formatted) const;
+ void formatAfterAttributes(const QTestElement *element, char **formatted) const;
+ void formatAttributes(const QTestElement *element, const QTestElementAttribute *attribute, char **formatted) const;
void output(QTestElement *element) const;
void outputElements(QTestElement *element, bool isChildElement = false) const;
diff --git a/src/testlib/qxmltestlogger.cpp b/src/testlib/qxmltestlogger.cpp
index 85eb0dd..fca7bfc 100644
--- a/src/testlib/qxmltestlogger.cpp
+++ b/src/testlib/qxmltestlogger.cpp
@@ -104,18 +104,18 @@ QXmlTestLogger::~QXmlTestLogger()
void QXmlTestLogger::startLogging()
{
QAbstractTestLogger::startLogging();
- char buf[1024];
+ QTestCharBuffer buf;
if (xmlmode == QXmlTestLogger::Complete) {
- char quotedTc[900];
- xmlQuote(quotedTc, QTestResult::currentTestObjectName(), sizeof(quotedTc));
- QTest::qt_snprintf(buf, sizeof(buf),
+ QTestCharBuffer quotedTc;
+ xmlQuote(quotedTc, QTestResult::currentTestObjectName());
+ QTest::qt_asprintf(buf,
"<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>\n"
- "<TestCase name=\"%s\">\n", quotedTc);
+ "<TestCase name=\"%s\">\n", quotedTc.constData());
outputString(buf);
}
- QTest::qt_snprintf(buf, sizeof(buf),
+ QTest::qt_asprintf(buf,
"<Environment>\n"
" <QtVersion>%s</QtVersion>\n"
" <QTestVersion>"QTEST_VERSION_STR"</QTestVersion>\n"
@@ -134,10 +134,10 @@ void QXmlTestLogger::stopLogging()
void QXmlTestLogger::enterTestFunction(const char *function)
{
- char buf[1024];
- char quotedFunction[950];
- xmlQuote(quotedFunction, function, sizeof(quotedFunction));
- QTest::qt_snprintf(buf, sizeof(buf), "<TestFunction name=\"%s\">\n", quotedFunction);
+ QTestCharBuffer buf;
+ QTestCharBuffer quotedFunction;
+ xmlQuote(quotedFunction, function);
+ QTest::qt_asprintf(buf, "<TestFunction name=\"%s\">\n", quotedFunction.constData());
outputString(buf);
}
@@ -208,51 +208,49 @@ static const char *messageFormatString(bool noDescription, bool noTag)
void QXmlTestLogger::addIncident(IncidentTypes type, const char *description,
const char *file, int line)
{
- // buffer must be large enough to hold all quoted/cdata buffers plus the format string itself
- char buf[5000];
+ QTestCharBuffer buf;
const char *tag = QTestResult::currentDataTag();
const char *gtag = QTestResult::currentGlobalDataTag();
const char *filler = (tag && gtag) ? ":" : "";
const bool notag = QTest::isEmpty(tag) && QTest::isEmpty(gtag);
- char quotedFile[1024];
- char cdataGtag[1024];
- char cdataTag[1024];
- char cdataDescription[1024];
+ QTestCharBuffer quotedFile;
+ QTestCharBuffer cdataGtag;
+ QTestCharBuffer cdataTag;
+ QTestCharBuffer cdataDescription;
- xmlQuote(quotedFile, file, sizeof(quotedFile));
- xmlCdata(cdataGtag, gtag, sizeof(cdataGtag));
- xmlCdata(cdataTag, tag, sizeof(cdataTag));
- xmlCdata(cdataDescription, description, sizeof(cdataDescription));
+ xmlQuote(quotedFile, file);
+ xmlCdata(cdataGtag, gtag);
+ xmlCdata(cdataTag, tag);
+ xmlCdata(cdataDescription, description);
- QTest::qt_snprintf(buf, sizeof(buf),
+ QTest::qt_asprintf(buf,
QTest::incidentFormatString(QTest::isEmpty(description), notag),
QTest::xmlIncidentType2String(type),
- quotedFile, line,
- cdataGtag,
+ quotedFile.constData(), line,
+ cdataGtag.constData(),
filler,
- cdataTag,
- cdataDescription);
+ cdataTag.constData(),
+ cdataDescription.constData());
outputString(buf);
}
void QXmlTestLogger::addBenchmarkResult(const QBenchmarkResult &result)
{
- char buf[1536];
- char quotedMetric[64];
- char quotedTag[1024];
+ QTestCharBuffer buf;
+ QTestCharBuffer quotedMetric;
+ QTestCharBuffer quotedTag;
xmlQuote(quotedMetric,
- QBenchmarkGlobalData::current->measurer->metricText().toAscii().constData(),
- sizeof(quotedMetric));
- xmlQuote(quotedTag, result.context.tag.toAscii().constData(), sizeof(quotedTag));
+ QBenchmarkGlobalData::current->measurer->metricText().toAscii().constData());
+ xmlQuote(quotedTag, result.context.tag.toAscii().constData());
- QTest::qt_snprintf(
- buf, sizeof(buf),
+ QTest::qt_asprintf(
+ buf,
QTest::benchmarkResultFormatString(),
- quotedMetric,
- quotedTag,
+ quotedMetric.constData(),
+ quotedTag.constData(),
QByteArray::number(result.value).constData(), //no 64-bit qt_snprintf support
result.iterations);
outputString(buf);
@@ -261,30 +259,30 @@ void QXmlTestLogger::addBenchmarkResult(const QBenchmarkResult &result)
void QXmlTestLogger::addMessage(MessageTypes type, const char *message,
const char *file, int line)
{
- char buf[5000];
+ QTestCharBuffer buf;
const char *tag = QTestResult::currentDataTag();
const char *gtag = QTestResult::currentGlobalDataTag();
const char *filler = (tag && gtag) ? ":" : "";
const bool notag = QTest::isEmpty(tag) && QTest::isEmpty(gtag);
- char quotedFile[1024];
- char cdataGtag[1024];
- char cdataTag[1024];
- char cdataDescription[1024];
+ QTestCharBuffer quotedFile;
+ QTestCharBuffer cdataGtag;
+ QTestCharBuffer cdataTag;
+ QTestCharBuffer cdataDescription;
- xmlQuote(quotedFile, file, sizeof(quotedFile));
- xmlCdata(cdataGtag, gtag, sizeof(cdataGtag));
- xmlCdata(cdataTag, tag, sizeof(cdataTag));
- xmlCdata(cdataDescription, message, sizeof(cdataDescription));
+ xmlQuote(quotedFile, file);
+ xmlCdata(cdataGtag, gtag);
+ xmlCdata(cdataTag, tag);
+ xmlCdata(cdataDescription, message);
- QTest::qt_snprintf(buf, sizeof(buf),
+ QTest::qt_asprintf(buf,
QTest::messageFormatString(QTest::isEmpty(message), notag),
QTest::xmlMessageType2String(type),
- quotedFile, line,
- cdataGtag,
+ quotedFile.constData(), line,
+ cdataGtag.constData(),
filler,
- cdataTag,
- cdataDescription);
+ cdataTag.constData(),
+ cdataDescription.constData());
outputString(buf);
}
@@ -294,29 +292,30 @@ void QXmlTestLogger::addMessage(MessageTypes type, const char *message,
XML characters as necessary so that dest is suitable for use in an XML
quoted attribute string.
*/
-void QXmlTestLogger::xmlQuote(char* dest, char const* src, size_t n)
+int QXmlTestLogger::xmlQuote(char* dest, char const* src, size_t n)
{
- if (n == 0) return;
+ if (n == 0) return 0;
*dest = 0;
- if (!src) return;
+ if (!src) return 0;
+ char* begin = dest;
char* end = dest + n;
while (dest < end) {
switch (*src) {
#define MAP_ENTITY(chr, ent) \
- case chr: \
- if (dest + sizeof(ent) < end) { \
- strcpy(dest, ent); \
- dest += sizeof(ent) - 1; \
- } \
- else { \
- *dest = 0; \
- return; \
- } \
- ++src; \
+ case chr: \
+ if (dest + sizeof(ent) < end) { \
+ strcpy(dest, ent); \
+ dest += sizeof(ent) - 1; \
+ } \
+ else { \
+ *dest = 0; \
+ return (dest+sizeof(ent)-begin); \
+ } \
+ ++src; \
break;
MAP_ENTITY('>', "&gt;");
@@ -333,7 +332,7 @@ void QXmlTestLogger::xmlQuote(char* dest, char const* src, size_t n)
case 0:
*dest = 0;
- return;
+ return (dest-begin);
default:
*dest = *src;
@@ -345,29 +344,31 @@ void QXmlTestLogger::xmlQuote(char* dest, char const* src, size_t n)
// If we get here, dest was completely filled (dest == end)
*(dest-1) = 0;
+ return (dest-begin);
}
/*
Copy up to n characters from the src string into dest, escaping any
special strings such that dest is suitable for use in an XML CDATA section.
*/
-void QXmlTestLogger::xmlCdata(char* dest, char const* src, size_t n)
+int QXmlTestLogger::xmlCdata(char* dest, char const* src, size_t n)
{
- if (!n) return;
+ if (!n) return 0;
if (!src || n == 1) {
*dest = 0;
- return;
+ return 0;
}
- char const CDATA_END[] = "]]>";
- char const CDATA_END_ESCAPED[] = "]]]><![CDATA[]>";
+ static char const CDATA_END[] = "]]>";
+ static char const CDATA_END_ESCAPED[] = "]]]><![CDATA[]>";
+ char* begin = dest;
char* end = dest + n;
while (dest < end) {
if (!*src) {
*dest = 0;
- return;
+ return (dest-begin);
}
if (!strncmp(src, CDATA_END, sizeof(CDATA_END)-1)) {
@@ -378,7 +379,7 @@ void QXmlTestLogger::xmlCdata(char* dest, char const* src, size_t n)
}
else {
*dest = 0;
- return;
+ return (dest+sizeof(CDATA_END_ESCAPED)-begin);
}
continue;
}
@@ -390,6 +391,52 @@ void QXmlTestLogger::xmlCdata(char* dest, char const* src, size_t n)
// If we get here, dest was completely filled (dest == end)
*(dest-1) = 0;
+ return (dest-begin);
+}
+
+typedef int (*StringFormatFunction)(char*,char const*,size_t);
+
+/*
+ A wrapper for string functions written to work with a fixed size buffer so they can be called
+ with a dynamically allocated buffer.
+*/
+int allocateStringFn(char** str, char const* src, StringFormatFunction func)
+{
+ static const int MAXSIZE = 1024*1024*2;
+
+ int size = 32;
+ delete[] *str;
+ *str = new char[size];
+
+ int res = 0;
+
+ for (;;) {
+ res = func(*str, src, size);
+ (*str)[size - 1] = '\0';
+ if (res < size) {
+ // We succeeded or fatally failed
+ break;
+ }
+ // buffer wasn't big enough, try again
+ size *= 2;
+ if (size > MAXSIZE) {
+ break;
+ }
+ delete[] *str;
+ *str = new char[size];
+ }
+
+ return res;
+}
+
+int QXmlTestLogger::xmlQuote(char** str, char const* src)
+{
+ return allocateStringFn(str, src, QXmlTestLogger::xmlQuote);
+}
+
+int QXmlTestLogger::xmlCdata(char** str, char const* src)
+{
+ return allocateStringFn(str, src, QXmlTestLogger::xmlCdata);
}
QT_END_NAMESPACE
diff --git a/src/testlib/qxmltestlogger_p.h b/src/testlib/qxmltestlogger_p.h
index 526b471..a7cc00a 100644
--- a/src/testlib/qxmltestlogger_p.h
+++ b/src/testlib/qxmltestlogger_p.h
@@ -79,8 +79,10 @@ public:
void addMessage(MessageTypes type, const char *message,
const char *file = 0, int line = 0);
- static void xmlCdata(char* dest, char const* src, size_t n);
- static void xmlQuote(char* dest, char const* src, size_t n);
+ static int xmlCdata(char** dest, char const* src);
+ static int xmlQuote(char** dest, char const* src);
+ static int xmlCdata(char* dest, char const* src, size_t n);
+ static int xmlQuote(char* dest, char const* src, size_t n);
private:
XmlMode xmlmode;
diff --git a/src/tools/bootstrap/bootstrap.pri b/src/tools/bootstrap/bootstrap.pri
index 4726653..6261b30 100644
--- a/src/tools/bootstrap/bootstrap.pri
+++ b/src/tools/bootstrap/bootstrap.pri
@@ -28,26 +28,26 @@ win32:DEFINES += QT_NODLL
INCLUDEPATH += $$QT_BUILD_TREE/include \
$$QT_BUILD_TREE/include/QtCore \
$$QT_BUILD_TREE/include/QtXml \
- ../../xml
+ $$QT_SOURCE_TREE/src/xml
DEPENDPATH += $$INCLUDEPATH \
- ../../corelib/global \
- ../../corelib/kernel \
- ../../corelib/tools \
- ../../corelib/io \
- ../../corelib/codecs \
- ../../xml
+ $$QT_SOURCE_TREE/src/corelib/global \
+ $$QT_SOURCE_TREE/src/corelib/kernel \
+ $$QT_SOURCE_TREE/src/corelib/tools \
+ $$QT_SOURCE_TREE/src/corelib/io \
+ $$QT_SOURCE_TREE/src/corelib/codecs \
+ $$QT_SOURCE_TREE/src/xml
hpux-acc*|hpuxi-acc* {
LIBS += ../bootstrap/libbootstrap.a
} else {
contains(CONFIG, debug_and_release_target) {
CONFIG(debug, debug|release) {
- LIBS+=-L../bootstrap/debug
+ LIBS+=-L$$QT_BUILD_TREE/src/tools/bootstrap/debug
} else {
- LIBS+=-L../bootstrap/release
+ LIBS+=-L$$QT_BUILD_TREE/src/tools/bootstrap/release
}
} else {
- LIBS += -L../bootstrap
+ LIBS += -L$$QT_BUILD_TREE/src/tools/bootstrap
}
LIBS += -lbootstrap
}
diff --git a/src/tools/idc/main.cpp b/src/tools/idc/main.cpp
index 48ce9cc..8fe8a70 100644
--- a/src/tools/idc/main.cpp
+++ b/src/tools/idc/main.cpp
@@ -40,7 +40,6 @@
****************************************************************************/
#include <QFile>
-#include <QSysInfo>
#include <QProcess>
#include <QLibraryInfo>
#include <qt_windows.h>
@@ -87,37 +86,19 @@ static bool runWithQtInEnvironment(const QString &cmd)
static bool attachTypeLibrary(const QString &applicationName, int resource, const QByteArray &data, QString *errorMessage)
{
- HANDLE hExe = 0;
- QT_WA({
- TCHAR *resourceName = MAKEINTRESOURCEW(resource);
- hExe = BeginUpdateResourceW((TCHAR*)applicationName.utf16(), false);
- if (hExe == 0) {
- if (errorMessage)
- *errorMessage = QString::fromLatin1("Failed to attach type library to binary %1 - could not open file.").arg(applicationName);
- return false;
- }
- if (!UpdateResourceW(hExe,L"TYPELIB",resourceName,0,(void*)data.data(),data.count())) {
- EndUpdateResource(hExe, true);
- if (errorMessage)
- *errorMessage = QString::fromLatin1("Failed to attach type library to binary %1 - could not update file.").arg(applicationName);
- return false;
- }
- }, {
- char *resourceName = MAKEINTRESOURCEA(resource);
- hExe = BeginUpdateResourceA(applicationName.toLocal8Bit(), false);
- if (hExe == 0) {
- if (errorMessage)
- *errorMessage = QString::fromLatin1("Failed to attach type library to binary %1 - could not open file.").arg(applicationName);
- return false;
- }
- if (!UpdateResourceA(hExe,"TYPELIB",resourceName,0,(void*)data.data(),data.count())) {
- EndUpdateResource(hExe, true);
- if (errorMessage)
- *errorMessage = QString::fromLatin1("Failed to attach type library to binary %1 - could not update file.").arg(applicationName);
- return false;
- }
- });
-
+ HANDLE hExe = BeginUpdateResource((const wchar_t *)applicationName.utf16(), false);
+ if (hExe == 0) {
+ if (errorMessage)
+ *errorMessage = QString::fromLatin1("Failed to attach type library to binary %1 - could not open file.").arg(applicationName);
+ return false;
+ }
+ if (!UpdateResource(hExe, L"TYPELIB", MAKEINTRESOURCE(resource), 0, (void*)data.data(), data.count())) {
+ EndUpdateResource(hExe, true);
+ if (errorMessage)
+ *errorMessage = QString::fromLatin1("Failed to attach type library to binary %1 - could not update file.").arg(applicationName);
+ return false;
+ }
+
if (!EndUpdateResource(hExe,false)) {
if (errorMessage)
*errorMessage = QString::fromLatin1("Failed to attach type library to binary %1 - could not write file.").arg(applicationName);
@@ -135,12 +116,7 @@ static bool registerServer(const QString &input)
if (input.endsWith(QLatin1String(".exe"))) {
ok = runWithQtInEnvironment(quotePath(input) + QLatin1String(" -regserver"));
} else {
- HMODULE hdll = 0;
- QT_WA({
- hdll = LoadLibraryW((TCHAR*)input.utf16());
- }, {
- hdll = LoadLibraryA(input.toLocal8Bit());
- });
+ HMODULE hdll = LoadLibrary((const wchar_t *)input.utf16());
if (!hdll) {
fprintf(stderr, "Couldn't load library file %s\n", (const char*)input.toLocal8Bit().data());
return false;
@@ -162,12 +138,7 @@ static bool unregisterServer(const QString &input)
if (input.endsWith(QLatin1String(".exe"))) {
ok = runWithQtInEnvironment(quotePath(input) + QLatin1String(" -unregserver"));
} else {
- HMODULE hdll = 0;
- QT_WA({
- hdll = LoadLibraryW((TCHAR*)input.utf16());
- }, {
- hdll = LoadLibraryA(input.toLocal8Bit());
- });
+ HMODULE hdll = LoadLibrary((const wchar_t *)input.utf16());
if (!hdll) {
fprintf(stderr, "Couldn't load library file %s\n", (const char*)input.toLocal8Bit().data());
return false;
@@ -191,12 +162,7 @@ static HRESULT dumpIdl(const QString &input, const QString &idlfile, const QStri
if (runWithQtInEnvironment(quotePath(input) + QLatin1String(" -dumpidl ") + idlfile + QLatin1String(" -version ") + version))
res = S_OK;
} else {
- HMODULE hdll = 0;
- QT_WA({
- hdll = LoadLibraryW((TCHAR*)input.utf16());
- }, {
- hdll = LoadLibraryA(input.toLocal8Bit());
- });
+ HMODULE hdll = LoadLibrary((const wchar_t *)input.utf16());
if (!hdll) {
fprintf(stderr, "Couldn't load library file %s\n", (const char*)input.toLocal8Bit().data());
return 3;
@@ -254,9 +220,6 @@ int runIdc(int argc, char **argv)
else
version = QLatin1String(argv[i]);
} else if (p == QLatin1String("/tlb") || p == QLatin1String("-tlb")) {
- if (QSysInfo::WindowsVersion & QSysInfo::WV_DOS_based)
- fprintf(stderr, "IDC requires Windows NT/2000/XP!\n");
-
++i;
if (i > argc) {
error = QLatin1String("Missing name for type library file!");
diff --git a/src/tools/moc/generator.cpp b/src/tools/moc/generator.cpp
index b872dfd..e3ce2ec 100644
--- a/src/tools/moc/generator.cpp
+++ b/src/tools/moc/generator.cpp
@@ -56,6 +56,8 @@ enum PropertyFlags {
EnumOrFlag = 0x00000008,
StdCppSet = 0x00000100,
// Override = 0x00000200,
+ Constant = 0x00000400,
+ Final = 0x00000800,
Designable = 0x00001000,
ResolveDesignable = 0x00002000,
Scriptable = 0x00004000,
@@ -68,6 +70,7 @@ enum PropertyFlags {
ResolveUser = 0x00200000,
Notify = 0x00400000
};
+
enum MethodFlags {
AccessPrivate = 0x00,
AccessProtected = 0x01,
@@ -202,10 +205,10 @@ void Generator::generateCode()
QByteArray qualifiedClassNameIdentifier = cdef->qualified;
qualifiedClassNameIdentifier.replace(':', '_');
- int index = 12;
+ int index = 13;
fprintf(out, "static const uint qt_meta_data_%s[] = {\n", qualifiedClassNameIdentifier.constData());
fprintf(out, "\n // content:\n");
- fprintf(out, " %4d, // revision\n", 2);
+ fprintf(out, " %4d, // revision\n", 3);
fprintf(out, " %4d, // classname\n", strreg(cdef->qualified));
fprintf(out, " %4d, %4d, // classinfo\n", cdef->classInfoList.count(), cdef->classInfoList.count() ? index : 0);
index += cdef->classInfoList.count() * 2;
@@ -225,6 +228,9 @@ void Generator::generateCode()
fprintf(out, " %4d, %4d, // constructors\n", isConstructible ? cdef->constructorList.count() : 0,
isConstructible ? index : 0);
+ fprintf(out, " %4d, // flags\n", 0);
+
+
//
// Build classinfo array
//
@@ -379,7 +385,7 @@ void Generator::generateCode()
if (isQt || !cdef->hasQObject)
return;
- fprintf(out, "\nconst QMetaObject *%s::metaObject() const\n{\n return &staticMetaObject;\n}\n",
+ fprintf(out, "\nconst QMetaObject *%s::metaObject() const\n{\n return QObject::d_ptr->metaObject ? QObject::d_ptr->metaObject : &staticMetaObject;\n}\n",
cdef->qualified.constData());
//
// Generate smart cast function
@@ -597,6 +603,11 @@ void Generator::generateProperties()
if (p.notifyId != -1)
flags |= Notify;
+ if (p.constant)
+ flags |= Constant;
+ if (p.final)
+ flags |= Final;
+
fprintf(out, " %4d, %4d, ",
strreg(p.name),
strreg(p.type));
diff --git a/src/tools/moc/moc.cpp b/src/tools/moc/moc.cpp
index da5733a..74b1a67 100644
--- a/src/tools/moc/moc.cpp
+++ b/src/tools/moc/moc.cpp
@@ -337,11 +337,10 @@ bool Moc::testFunctionAttribute(Token tok, FunctionDef *def)
bool Moc::parseFunction(FunctionDef *def, bool inMacro)
{
def->isVirtual = false;
- while (test(INLINE) || test(STATIC) || test(VIRTUAL)
- || testFunctionAttribute(def)) {
- if (lookup() == VIRTUAL)
- def->isVirtual = true;
- }
+ //skip modifiers and attributes
+ while (test(INLINE) || test(STATIC) ||
+ (test(VIRTUAL) && (def->isVirtual = true)) //mark as virtual
+ || testFunctionAttribute(def)) {}
bool templateFunction = (lookup() == TEMPLATE);
def->type = parseType();
if (def->type.name.isEmpty()) {
@@ -429,11 +428,10 @@ bool Moc::parseFunction(FunctionDef *def, bool inMacro)
bool Moc::parseMaybeFunction(const ClassDef *cdef, FunctionDef *def)
{
def->isVirtual = false;
- while (test(EXPLICIT) || test(INLINE) || test(STATIC) || test(VIRTUAL)
- || testFunctionAttribute(def)) {
- if (lookup() == VIRTUAL)
- def->isVirtual = true;
- }
+ //skip modifiers and attributes
+ while (test(EXPLICIT) || test(INLINE) || test(STATIC) ||
+ (test(VIRTUAL) && (def->isVirtual = true)) //mark as virtual
+ || testFunctionAttribute(def)) {}
bool tilde = test(TILDE);
def->type = parseType();
if (def->type.name.isEmpty())
@@ -862,7 +860,7 @@ void Moc::parseSignals(ClassDef *def)
funcDef.access = FunctionDef::Protected;
parseFunction(&funcDef);
if (funcDef.isVirtual)
- error("Signals cannot be declared virtual");
+ warning("Signals cannot be declared virtual");
if (funcDef.inlineCode)
error("Not a signal declaration");
def->signalList += funcDef;
@@ -910,6 +908,15 @@ void Moc::parseProperty(ClassDef *def)
propDef.name = lexem();
while (test(IDENTIFIER)) {
QByteArray l = lexem();
+
+ if (l[0] == 'C' && l == "CONSTANT") {
+ propDef.constant = true;
+ continue;
+ } else if(l[0] == 'F' && l == "FINAL") {
+ propDef.final = true;
+ continue;
+ }
+
QByteArray v, v2;
if (test(LPAREN)) {
v = lexemUntil(RPAREN);
@@ -965,6 +972,23 @@ void Moc::parseProperty(ClassDef *def)
msg += " has no READ accessor function. The property will be invalid.";
warning(msg.constData());
}
+ if (propDef.constant && !propDef.write.isNull()) {
+ QByteArray msg;
+ msg += "Property declaration ";
+ msg += propDef.name;
+ msg += " is both WRITEable and CONSTANT. CONSTANT will be ignored.";
+ propDef.constant = false;
+ warning(msg.constData());
+ }
+ if (propDef.constant && !propDef.notify.isNull()) {
+ QByteArray msg;
+ msg += "Property declaration ";
+ msg += propDef.name;
+ msg += " is both NOTIFYable and CONSTANT. CONSTANT will be ignored.";
+ propDef.constant = false;
+ warning(msg.constData());
+ }
+
if(!propDef.notify.isEmpty())
def->notifyableProperties++;
diff --git a/src/tools/moc/moc.h b/src/tools/moc/moc.h
index 9fa9ac2..767f84e 100644
--- a/src/tools/moc/moc.h
+++ b/src/tools/moc/moc.h
@@ -115,9 +115,11 @@ struct FunctionDef
struct PropertyDef
{
- PropertyDef():notifyId(-1), gspec(ValueSpec){}
+ PropertyDef():notifyId(-1), constant(false), final(false), gspec(ValueSpec){}
QByteArray name, type, read, write, reset, designable, scriptable, editable, stored, user, notify;
int notifyId;
+ bool constant;
+ bool final;
enum Specification { ValueSpec, ReferenceSpec, PointerSpec };
Specification gspec;
bool stdCppSet() const {
diff --git a/src/tools/uic/uic.cpp b/src/tools/uic/uic.cpp
index 1c6e3a5..bbb3af7 100644
--- a/src/tools/uic/uic.cpp
+++ b/src/tools/uic/uic.cpp
@@ -137,12 +137,12 @@ void Uic::writeCopyrightHeader(DomUI *ui)
out << "/*\n" << comment << "\n*/\n\n";
out << "/********************************************************************************\n";
- out << "** Form generated from reading ui file '" << QFileInfo(opt.inputFile).fileName() << "'\n";
+ out << "** Form generated from reading UI file '" << QFileInfo(opt.inputFile).fileName() << "'\n";
out << "**\n";
out << "** Created: " << QDateTime::currentDateTime().toString() << "\n";
out << "** " << QString::fromLatin1("by: Qt User Interface Compiler version %1\n").arg(QLatin1String(QT_VERSION_STR));
out << "**\n";
- out << "** WARNING! All changes made in this file will be lost when recompiling ui file!\n";
+ out << "** WARNING! All changes made in this file will be lost when recompiling UI file!\n";
out << "********************************************************************************/\n\n";
}
diff --git a/src/tools/uic3/main.cpp b/src/tools/uic3/main.cpp
index 38afc60..f4a9cba 100644
--- a/src/tools/uic3/main.cpp
+++ b/src/tools/uic3/main.cpp
@@ -114,7 +114,7 @@ int runUic3(int argc, char * argv[])
wrap = true;
if (opt == "wrap" || opt[1] == '\0') {
if (!(n < argc-1)) {
- error = "Missing name of converted ui file";
+ error = "Missing name of converted UI file";
break;
}
convertedUiFile = argv[++n];
@@ -230,7 +230,7 @@ int runUic3(int argc, char * argv[])
" %s [options] -decl <uiheaderfile> <uifile>\n"
"\t<uiheaderfile> name of the data file\n"
" %s [options] -wrap <converteduifile> <uifile>\n"
- "\t<converteduifile> name of the converted ui file\n"
+ "\t<converteduifile> name of the converted UI file\n"
"Generate implementation:\n"
" %s [options] -impl <headerfile> <uifile>\n"
"\t<headerfile> name of the declaration file\n"
@@ -254,7 +254,7 @@ int runUic3(int argc, char * argv[])
"\t-pch file Add #include \"file\" as the first statement in implementation\n"
"\t-nofwd Omit forward declarations of custom classes\n"
"\t-no-implicit-includes Do not generate #include-directives for custom classes\n"
- "\t-nounload Don't unload plugins after processing\n"
+ "\t-nounload Do not unload plugins after processing\n"
"\t-tr func Use func() instead of tr() for i18n\n"
"\t-L path Additional plugin search path\n"
"\t-version Display version of uic\n"
diff --git a/src/tools/uic3/uic.cpp b/src/tools/uic3/uic.cpp
index e911844..16b2754 100644
--- a/src/tools/uic3/uic.cpp
+++ b/src/tools/uic3/uic.cpp
@@ -144,12 +144,12 @@ void Uic::writeCopyrightHeader(DomUI *ui)
out << "/*\n" << comment << "\n*/\n\n";
out << "/********************************************************************************\n";
- out << "** Form generated from reading ui file '" << QFileInfo(opt.inputFile).fileName() << "'\n";
+ out << "** Form generated from reading UI file '" << QFileInfo(opt.inputFile).fileName() << "'\n";
out << "**\n";
out << "** Created: " << QDateTime::currentDateTime().toString() << "\n";
out << "** " << QString::fromLatin1("by: Qt User Interface Compiler version %1\n").arg(QLatin1String(QT_VERSION_STR));
out << "**\n";
- out << "** WARNING! All changes made in this file will be lost when recompiling ui file!\n";
+ out << "** WARNING! All changes made in this file will be lost when recompiling UI file!\n";
out << "********************************************************************************/\n\n";
}
diff --git a/src/winmain/qtmain_win.cpp b/src/winmain/qtmain_win.cpp
index c266cbf..5f929d6 100644
--- a/src/winmain/qtmain_win.cpp
+++ b/src/winmain/qtmain_win.cpp
@@ -89,18 +89,12 @@ extern "C"
int APIENTRY WinMain(HINSTANCE instance, HINSTANCE prevInstance, LPSTR /*cmdParamarg*/, int cmdShow)
#endif
{
- QByteArray cmdParam;
- QT_WA({
- LPTSTR cmdline = GetCommandLineW();
- cmdParam = QString::fromUtf16((const unsigned short *)cmdline).toLocal8Bit();
- }, {
- cmdParam = GetCommandLineA();
- });
+ QByteArray cmdParam = QString::fromWCharArray(GetCommandLine()).toLocal8Bit();
#if defined(Q_OS_WINCE)
- TCHAR appName[256];
- GetModuleFileName(0, appName, 255);
- cmdParam.prepend(QString::fromLatin1("\"%1\" ").arg(QString::fromUtf16((const unsigned short *)appName)).toLocal8Bit());
+ wchar_t appName[MAX_PATH];
+ GetModuleFileName(0, appName, MAX_PATH);
+ cmdParam.prepend(QString(QLatin1String("\"%1\" ")).arg(QString::fromWCharArray(appName)).toLocal8Bit());
#endif
int argc = 0;
@@ -108,9 +102,9 @@ int APIENTRY WinMain(HINSTANCE instance, HINSTANCE prevInstance, LPSTR /*cmdPara
qWinMain(instance, prevInstance, cmdParam.data(), cmdShow, argc, argv);
#if defined(Q_OS_WINCE)
- TCHAR uniqueAppID[256];
- GetModuleFileName(0, uniqueAppID, 255);
- QString uid = QString::fromUtf16((const unsigned short *)uniqueAppID).toLower().replace(QLatin1Char('\\'), QLatin1Char('_'));
+ wchar_t uniqueAppID[MAX_PATH];
+ GetModuleFileName(0, uniqueAppID, MAX_PATH);
+ QString uid = QString::fromWCharArray(uniqueAppID).toLower().replace(QLatin1String("\\"), QLatin1String("_"));
// If there exists an other instance of this application
// it will be the owner of a mutex with the unique ID.
diff --git a/src/xml/sax/qxml.cpp b/src/xml/sax/qxml.cpp
index dec273d..96a509d 100644
--- a/src/xml/sax/qxml.cpp
+++ b/src/xml/sax/qxml.cpp
@@ -244,6 +244,16 @@ public:
class QXmlParseExceptionPrivate
{
public:
+ QXmlParseExceptionPrivate()
+ : column(-1), line(-1)
+ {
+ }
+ QXmlParseExceptionPrivate(const QXmlParseExceptionPrivate &other)
+ : msg(other.msg), column(other.column), line(other.line),
+ pub(other.pub), sys(other.sys)
+ {
+ }
+
QString msg;
int column;
int line;
@@ -556,6 +566,15 @@ QXmlParseException::QXmlParseException(const QString& name, int c, int l,
}
/*!
+ Creates a copy of \a other.
+*/
+QXmlParseException::QXmlParseException(const QXmlParseException& other) :
+ d(new QXmlParseExceptionPrivate(*other.d))
+{
+
+}
+
+/*!
Destroys the QXmlParseException.
*/
QXmlParseException::~QXmlParseException()
@@ -2411,7 +2430,7 @@ events are reported.
/*!
\reimp
- Does nothing.
+ This reimplementation does nothing.
*/
void QXmlDefaultHandler::setDocumentLocator(QXmlLocator*)
{
@@ -2420,7 +2439,7 @@ void QXmlDefaultHandler::setDocumentLocator(QXmlLocator*)
/*!
\reimp
- Does nothing.
+ This reimplementation does nothing.
*/
bool QXmlDefaultHandler::startDocument()
{
@@ -2430,7 +2449,7 @@ bool QXmlDefaultHandler::startDocument()
/*!
\reimp
- Does nothing.
+ This reimplementation does nothing.
*/
bool QXmlDefaultHandler::endDocument()
{
@@ -2440,7 +2459,7 @@ bool QXmlDefaultHandler::endDocument()
/*!
\reimp
- Does nothing.
+ This reimplementation does nothing.
*/
bool QXmlDefaultHandler::startPrefixMapping(const QString&, const QString&)
{
@@ -2450,7 +2469,7 @@ bool QXmlDefaultHandler::startPrefixMapping(const QString&, const QString&)
/*!
\reimp
- Does nothing.
+ This reimplementation does nothing.
*/
bool QXmlDefaultHandler::endPrefixMapping(const QString&)
{
@@ -2460,7 +2479,7 @@ bool QXmlDefaultHandler::endPrefixMapping(const QString&)
/*!
\reimp
- Does nothing.
+ This reimplementation does nothing.
*/
bool QXmlDefaultHandler::startElement(const QString&, const QString&,
const QString&, const QXmlAttributes&)
@@ -2471,7 +2490,7 @@ bool QXmlDefaultHandler::startElement(const QString&, const QString&,
/*!
\reimp
- Does nothing.
+ This reimplementation does nothing.
*/
bool QXmlDefaultHandler::endElement(const QString&, const QString&,
const QString&)
@@ -2482,7 +2501,7 @@ bool QXmlDefaultHandler::endElement(const QString&, const QString&,
/*!
\reimp
- Does nothing.
+ This reimplementation does nothing.
*/
bool QXmlDefaultHandler::characters(const QString&)
{
@@ -2492,7 +2511,7 @@ bool QXmlDefaultHandler::characters(const QString&)
/*!
\reimp
- Does nothing.
+ This reimplementation does nothing.
*/
bool QXmlDefaultHandler::ignorableWhitespace(const QString&)
{
@@ -2502,7 +2521,7 @@ bool QXmlDefaultHandler::ignorableWhitespace(const QString&)
/*!
\reimp
- Does nothing.
+ This reimplementation does nothing.
*/
bool QXmlDefaultHandler::processingInstruction(const QString&,
const QString&)
@@ -2513,7 +2532,7 @@ bool QXmlDefaultHandler::processingInstruction(const QString&,
/*!
\reimp
- Does nothing.
+ This reimplementation does nothing.
*/
bool QXmlDefaultHandler::skippedEntity(const QString&)
{
@@ -2523,7 +2542,7 @@ bool QXmlDefaultHandler::skippedEntity(const QString&)
/*!
\reimp
- Does nothing.
+ This reimplementation does nothing.
*/
bool QXmlDefaultHandler::warning(const QXmlParseException&)
{
@@ -2533,7 +2552,7 @@ bool QXmlDefaultHandler::warning(const QXmlParseException&)
/*!
\reimp
- Does nothing.
+ This reimplementation does nothing.
*/
bool QXmlDefaultHandler::error(const QXmlParseException&)
{
@@ -2543,7 +2562,7 @@ bool QXmlDefaultHandler::error(const QXmlParseException&)
/*!
\reimp
- Does nothing.
+ This reimplementation does nothing.
*/
bool QXmlDefaultHandler::fatalError(const QXmlParseException&)
{
@@ -2553,7 +2572,7 @@ bool QXmlDefaultHandler::fatalError(const QXmlParseException&)
/*!
\reimp
- Does nothing.
+ This reimplementation does nothing.
*/
bool QXmlDefaultHandler::notationDecl(const QString&, const QString&,
const QString&)
@@ -2564,7 +2583,7 @@ bool QXmlDefaultHandler::notationDecl(const QString&, const QString&,
/*!
\reimp
- Does nothing.
+ This reimplementation does nothing.
*/
bool QXmlDefaultHandler::unparsedEntityDecl(const QString&, const QString&,
const QString&, const QString&)
@@ -2598,7 +2617,7 @@ QString QXmlDefaultHandler::errorString() const
/*!
\reimp
- Does nothing.
+ This reimplementation does nothing.
*/
bool QXmlDefaultHandler::startDTD(const QString&, const QString&, const QString&)
{
@@ -2608,7 +2627,7 @@ bool QXmlDefaultHandler::startDTD(const QString&, const QString&, const QString&
/*!
\reimp
- Does nothing.
+ This reimplementation does nothing.
*/
bool QXmlDefaultHandler::endDTD()
{
@@ -2618,7 +2637,7 @@ bool QXmlDefaultHandler::endDTD()
/*!
\reimp
- Does nothing.
+ This reimplementation does nothing.
*/
bool QXmlDefaultHandler::startEntity(const QString&)
{
@@ -2628,7 +2647,7 @@ bool QXmlDefaultHandler::startEntity(const QString&)
/*!
\reimp
- Does nothing.
+ This reimplementation does nothing.
*/
bool QXmlDefaultHandler::endEntity(const QString&)
{
@@ -2638,7 +2657,7 @@ bool QXmlDefaultHandler::endEntity(const QString&)
/*!
\reimp
- Does nothing.
+ This reimplementation does nothing.
*/
bool QXmlDefaultHandler::startCDATA()
{
@@ -2648,7 +2667,7 @@ bool QXmlDefaultHandler::startCDATA()
/*!
\reimp
- Does nothing.
+ This reimplementation does nothing.
*/
bool QXmlDefaultHandler::endCDATA()
{
@@ -2658,7 +2677,7 @@ bool QXmlDefaultHandler::endCDATA()
/*!
\reimp
- Does nothing.
+ This reimplementation does nothing.
*/
bool QXmlDefaultHandler::comment(const QString&)
{
@@ -2668,7 +2687,7 @@ bool QXmlDefaultHandler::comment(const QString&)
/*!
\reimp
- Does nothing.
+ This reimplementation does nothing.
*/
bool QXmlDefaultHandler::attributeDecl(const QString&, const QString&, const QString&, const QString&, const QString&)
{
@@ -2678,7 +2697,7 @@ bool QXmlDefaultHandler::attributeDecl(const QString&, const QString&, const QSt
/*!
\reimp
- Does nothing.
+ This reimplementation does nothing.
*/
bool QXmlDefaultHandler::internalEntityDecl(const QString&, const QString&)
{
@@ -2688,7 +2707,7 @@ bool QXmlDefaultHandler::internalEntityDecl(const QString&, const QString&)
/*!
\reimp
- Does nothing.
+ This reimplementation does nothing.
*/
bool QXmlDefaultHandler::externalEntityDecl(const QString&, const QString&, const QString&)
{
@@ -3037,19 +3056,13 @@ void QXmlSimpleReaderPrivate::initIncrementalParsing()
parse() to work incrementally, and making subsequent calls to the
parseContinue() function, until all the data has been processed.
- A common way to perform incremental parsing is to connect the
- \c readyRead() signal of the input source to a slot, and handle the
- incoming data there. For example, the following code shows how a
- parser for \l{http://web.resource.org/rss/1.0/}{RSS feeds} can be
- used to incrementally parse data that it receives from a QHttp
- object:
-
- \snippet doc/src/snippets/xml/rsslisting/rsslisting.cpp 1
-
+ A common way to perform incremental parsing is to connect the \c
+ readyRead() signal of a \l{QNetworkReply} {network reply} a slot,
+ and handle the incoming data there. See QNetworkAccessManager.
+
Aspects of the parsing behavior can be adapted using setFeature()
- and setProperty(). For example, the following code could be used
- to enable reporting of namespace prefixes to the content handler:
-
+ and setProperty().
+
QXmlSimpleReader is not reentrant. If you want to use the class
in threaded code, lock the code using QXmlSimpleReader with a
locking mechanism, such as a QMutex.
diff --git a/src/xml/sax/qxml.h b/src/xml/sax/qxml.h
index acb84ef..18dc332 100644
--- a/src/xml/sax/qxml.h
+++ b/src/xml/sax/qxml.h
@@ -194,6 +194,7 @@ class Q_XML_EXPORT QXmlParseException
public:
explicit QXmlParseException(const QString &name = QString(), int c = -1, int l = -1,
const QString &p = QString(), const QString &s = QString());
+ QXmlParseException(const QXmlParseException &other);
~QXmlParseException();
int columnNumber() const;
@@ -271,7 +272,7 @@ public:
private:
Q_DISABLE_COPY(QXmlSimpleReader)
- Q_DECLARE_SCOPED_PRIVATE(QXmlSimpleReader)
+ Q_DECLARE_PRIVATE(QXmlSimpleReader)
QScopedPointer<QXmlSimpleReaderPrivate> d_ptr;
friend class QXmlSimpleReaderLocator;
diff --git a/src/xmlpatterns/Doxyfile b/src/xmlpatterns/Doxyfile
index 60a6c77..83f7062 100644
--- a/src/xmlpatterns/Doxyfile
+++ b/src/xmlpatterns/Doxyfile
@@ -1157,7 +1157,7 @@ DOT_PATH =
# contain dot files that are included in the documentation (see the
# \dotfile command).
-DOTFILE_DIRS =
+DOTFILE_DIRS = schema/doc/
# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent
# background. This is disabled by default, which results in a white background.
diff --git a/src/xmlpatterns/acceltree/qacceltree.cpp b/src/xmlpatterns/acceltree/qacceltree.cpp
index 6111af2..83ea949 100644
--- a/src/xmlpatterns/acceltree/qacceltree.cpp
+++ b/src/xmlpatterns/acceltree/qacceltree.cpp
@@ -42,6 +42,7 @@
#include <QStack>
#include "qabstractxmlreceiver.h"
+#include "qabstractxmlnodemodel_p.h"
#include "qacceliterators_p.h"
#include "qacceltree_p.h"
#include "qatomicstring_p.h"
@@ -55,6 +56,37 @@ QT_BEGIN_NAMESPACE
using namespace QPatternist;
+namespace QPatternist {
+
+ class AccelTreePrivate : public QAbstractXmlNodeModelPrivate
+ {
+ public:
+ AccelTreePrivate(AccelTree *accelTree)
+ : m_accelTree(accelTree)
+ {
+ }
+
+ virtual QSourceLocation sourceLocation(const QXmlNodeModelIndex &index) const
+ {
+ return m_accelTree->sourceLocation(index);
+ }
+
+ private:
+ AccelTree *m_accelTree;
+ };
+}
+
+AccelTree::AccelTree(const QUrl &docURI, const QUrl &bURI)
+ : QAbstractXmlNodeModel(new AccelTreePrivate(this))
+ , m_documentURI(docURI)
+ , m_baseURI(bURI)
+{
+ /* Pre-allocate at least a little bit. */
+ // TODO. Do it according to what an average 4 KB doc contains.
+ basicData.reserve(100);
+ data.reserve(30);
+}
+
void AccelTree::printStats(const NamePool::Ptr &np) const
{
Q_ASSERT(np);
@@ -674,6 +706,17 @@ void AccelTree::copyNodeTo(const QXmlNodeModelIndex &node,
}
+QSourceLocation AccelTree::sourceLocation(const QXmlNodeModelIndex &index) const
+{
+ const PreNumber key = toPreNumber(index);
+ if (sourcePositions.contains(key)) {
+ const QPair<qint64, qint64> position = sourcePositions.value(key);
+ return QSourceLocation(m_documentURI, position.first, position.second);
+ } else {
+ return QSourceLocation();
+ }
+}
+
void AccelTree::copyChildren(const QXmlNodeModelIndex &node,
QAbstractXmlReceiver *const receiver,
const NodeCopySettings &settings) const
diff --git a/src/xmlpatterns/acceltree/qacceltree_p.h b/src/xmlpatterns/acceltree/qacceltree_p.h
index 38de08c..0c68fab 100644
--- a/src/xmlpatterns/acceltree/qacceltree_p.h
+++ b/src/xmlpatterns/acceltree/qacceltree_p.h
@@ -91,6 +91,7 @@ namespace QPatternist
*/
class AccelTree : public QAbstractXmlNodeModel
{
+ friend class AccelTreePrivate;
public:
using QAbstractXmlNodeModel::createIndex;
@@ -99,15 +100,7 @@ namespace QPatternist
typedef PreNumber PostNumber;
typedef qint8 Depth;
- inline AccelTree(const QUrl &docURI,
- const QUrl &bURI) : m_documentURI(docURI),
- m_baseURI(bURI)
- {
- /* Pre-allocate at least a little bit. */
- // TODO. Do it according to what an average 4 KB doc contains.
- basicData.reserve(100);
- data.reserve(30);
- }
+ AccelTree(const QUrl &docURI, const QUrl &bURI);
/**
* @short Houses data for a node, and that all node kinds have.
@@ -280,6 +273,7 @@ namespace QPatternist
QHash<PreNumber, QString> data;
QVector<BasicNodeData> basicData;
+ QHash<PreNumber, QPair<qint64, qint64> > sourcePositions;
inline QUrl documentUri() const
{
@@ -381,6 +375,11 @@ namespace QPatternist
private:
/**
+ * Returns the source location for the object with the given @p index.
+ */
+ QSourceLocation sourceLocation(const QXmlNodeModelIndex &index) const;
+
+ /**
* Copies the children of @p node to @p receiver.
*/
inline void copyChildren(const QXmlNodeModelIndex &node,
diff --git a/src/xmlpatterns/acceltree/qacceltreebuilder.cpp b/src/xmlpatterns/acceltree/qacceltreebuilder.cpp
index 63372ac..e58cc92 100644
--- a/src/xmlpatterns/acceltree/qacceltreebuilder.cpp
+++ b/src/xmlpatterns/acceltree/qacceltreebuilder.cpp
@@ -49,15 +49,17 @@ template <bool FromDocument>
AccelTreeBuilder<FromDocument>::AccelTreeBuilder(const QUrl &docURI,
const QUrl &baseURI,
const NamePool::Ptr &np,
- ReportContext *const context) : m_preNumber(-1)
- , m_isPreviousAtomic(false)
- , m_hasCharacters(false)
- , m_isCharactersCompressed(false)
- , m_namePool(np)
- , m_document(new AccelTree(docURI, baseURI))
- , m_skippedDocumentNodes(0)
- , m_documentURI(docURI)
- , m_context(context)
+ ReportContext *const context,
+ Features features) : m_preNumber(-1)
+ , m_isPreviousAtomic(false)
+ , m_hasCharacters(false)
+ , m_isCharactersCompressed(false)
+ , m_namePool(np)
+ , m_document(new AccelTree(docURI, baseURI))
+ , m_skippedDocumentNodes(0)
+ , m_documentURI(docURI)
+ , m_context(context)
+ , m_features(features)
{
Q_ASSERT(m_namePool);
@@ -126,9 +128,18 @@ void AccelTreeBuilder<FromDocument>::item(const Item &it)
template <bool FromDocument>
void AccelTreeBuilder<FromDocument>::startElement(const QXmlName &name)
{
+ startElement(name, 1, 1);
+}
+
+template <bool FromDocument>
+void AccelTreeBuilder<FromDocument>::startElement(const QXmlName &name, qint64 line, qint64 column)
+{
startStructure();
- m_document->basicData.append(AccelTree::BasicNodeData(currentDepth(), currentParent(), QXmlNodeModelIndex::Element, -1, name));
+ AccelTree::BasicNodeData data(currentDepth(), currentParent(), QXmlNodeModelIndex::Element, -1, name);
+ m_document->basicData.append(data);
+ if (m_features & SourceLocationsFeature)
+ m_document->sourcePositions.insert(m_document->maximumPreNumber(), qMakePair(line, column));
++m_preNumber;
m_ancestors.push(m_preNumber);
diff --git a/src/xmlpatterns/acceltree/qacceltreebuilder_p.h b/src/xmlpatterns/acceltree/qacceltreebuilder_p.h
index 6eb3102..5f6a287 100644
--- a/src/xmlpatterns/acceltree/qacceltreebuilder_p.h
+++ b/src/xmlpatterns/acceltree/qacceltreebuilder_p.h
@@ -90,15 +90,27 @@ namespace QPatternist
typedef QExplicitlySharedDataPointer<AccelTreeBuilder> Ptr;
/**
+ * Describes the memory relevant features the builder shall support.
+ */
+ enum Feature
+ {
+ NoneFeature, ///< No special features are enabled.
+ SourceLocationsFeature = 1 ///< The accel tree builder will store source locations for each start element.
+ };
+ Q_DECLARE_FLAGS(Features, Feature)
+
+ /**
* @param context may be @c null.
*/
AccelTreeBuilder(const QUrl &docURI,
const QUrl &baseURI,
const NamePool::Ptr &np,
- ReportContext *const context);
+ ReportContext *const context,
+ Features features = NoneFeature);
virtual void startDocument();
virtual void endDocument();
virtual void startElement(const QXmlName &name);
+ void startElement(const QXmlName &name, qint64 line, qint64 column);
virtual void endElement();
virtual void attribute(const QXmlName &name, const QStringRef &value);
virtual void characters(const QStringRef &ch);
@@ -175,8 +187,13 @@ namespace QPatternist
* a member.
*/
ReportContext *const m_context;
+
+ Features m_features;
};
+ Q_DECLARE_OPERATORS_FOR_FLAGS(AccelTreeBuilder<true>::Features)
+ Q_DECLARE_OPERATORS_FOR_FLAGS(AccelTreeBuilder<false>::Features)
+
#include "qacceltreebuilder.cpp"
}
diff --git a/src/xmlpatterns/acceltree/qacceltreeresourceloader.cpp b/src/xmlpatterns/acceltree/qacceltreeresourceloader.cpp
index 0e59821..8019551 100644
--- a/src/xmlpatterns/acceltree/qacceltreeresourceloader.cpp
+++ b/src/xmlpatterns/acceltree/qacceltreeresourceloader.cpp
@@ -46,7 +46,6 @@
#include <QtNetwork/QNetworkRequest>
-#include "qacceltreebuilder_p.h"
#include "qatomicstring_p.h"
#include "qautoptr_p.h"
#include "qcommonsequencetypes_p.h"
@@ -57,14 +56,12 @@ QT_BEGIN_NAMESPACE
using namespace QPatternist;
-static inline uint qHash(const QUrl &uri)
-{
- return qHash(uri.toString());
-}
-
AccelTreeResourceLoader::AccelTreeResourceLoader(const NamePool::Ptr &np,
- const NetworkAccessDelegator::Ptr &manager) : m_namePool(np)
- , m_networkAccessDelegator(manager)
+ const NetworkAccessDelegator::Ptr &manager,
+ AccelTreeBuilder<true>::Features features)
+ : m_namePool(np)
+ , m_networkAccessDelegator(manager)
+ , m_features(features)
{
Q_ASSERT(m_namePool);
Q_ASSERT(m_networkAccessDelegator);
@@ -74,7 +71,7 @@ bool AccelTreeResourceLoader::retrieveDocument(const QUrl &uri,
const ReportContext::Ptr &context)
{
Q_ASSERT(uri.isValid());
- AccelTreeBuilder<true> builder(uri, uri, m_namePool, context.data());
+ AccelTreeBuilder<true> builder(uri, uri, m_namePool, context.data(), m_features);
const AutoPtr<QNetworkReply> reply(load(uri, m_networkAccessDelegator, context));
@@ -88,18 +85,35 @@ bool AccelTreeResourceLoader::retrieveDocument(const QUrl &uri,
return success;
}
+bool AccelTreeResourceLoader::retrieveDocument(QIODevice *source, const QUrl &documentUri, const ReportContext::Ptr &context)
+{
+ Q_ASSERT(source);
+ Q_ASSERT(source->isReadable());
+ Q_ASSERT(documentUri.isValid());
+
+ AccelTreeBuilder<true> builder(documentUri, documentUri, m_namePool, context.data(), m_features);
+
+ bool success = false;
+ success = streamToReceiver(source, &builder, m_namePool, context, documentUri);
+
+ m_loadedDocuments.insert(documentUri, builder.builtDocument());
+
+ return success;
+}
+
QNetworkReply *AccelTreeResourceLoader::load(const QUrl &uri,
const NetworkAccessDelegator::Ptr &networkDelegator,
- const ReportContext::Ptr &context)
+ const ReportContext::Ptr &context, ErrorHandling errorHandling)
{
return load(uri,
networkDelegator->managerFor(uri),
- context);
+ context, errorHandling);
}
QNetworkReply *AccelTreeResourceLoader::load(const QUrl &uri,
QNetworkAccessManager *const networkManager,
- const ReportContext::Ptr &context)
+ const ReportContext::Ptr &context, ErrorHandling errorHandling)
+
{
Q_ASSERT(networkManager);
Q_ASSERT(uri.isValid());
@@ -111,7 +125,7 @@ QNetworkReply *AccelTreeResourceLoader::load(const QUrl &uri,
networkLoop.connect(reply, SIGNAL(error(QNetworkReply::NetworkError)), SLOT(error(QNetworkReply::NetworkError)));
networkLoop.connect(reply, SIGNAL(finished()), SLOT(finished()));
- if(networkLoop.exec())
+ if(networkLoop.exec(QEventLoop::ExcludeUserInputEvents))
{
const QString errorMessage(escape(reply->errorString()));
@@ -120,7 +134,7 @@ QNetworkReply *AccelTreeResourceLoader::load(const QUrl &uri,
const QSourceLocation location(uri);
- if(context)
+ if(context && (errorHandling == FailOnError))
context->error(errorMessage, ReportContext::FODC0002, location);
return 0;
@@ -130,7 +144,7 @@ QNetworkReply *AccelTreeResourceLoader::load(const QUrl &uri,
}
bool AccelTreeResourceLoader::streamToReceiver(QIODevice *const dev,
- QAbstractXmlReceiver *const receiver,
+ AccelTreeBuilder<true> *const receiver,
const NamePool::Ptr &np,
const ReportContext::Ptr &context,
const QUrl &uri)
@@ -154,7 +168,7 @@ bool AccelTreeResourceLoader::streamToReceiver(QIODevice *const dev,
{
/* Send the name. */
receiver->startElement(np->allocateQName(reader.namespaceUri().toString(), reader.name().toString(),
- reader.prefix().toString()));
+ reader.prefix().toString()), reader.lineNumber(), reader.columnNumber());
/* Send namespace declarations. */
const QXmlStreamNamespaceDeclarations &nss = reader.namespaceDeclarations();
@@ -263,6 +277,22 @@ Item AccelTreeResourceLoader::openDocument(const QUrl &uri,
}
}
+Item AccelTreeResourceLoader::openDocument(QIODevice *source, const QUrl &documentUri,
+ const ReportContext::Ptr &context)
+{
+ const AccelTree::Ptr doc(m_loadedDocuments.value(documentUri));
+
+ if(doc)
+ return doc->root(QXmlNodeModelIndex()); /* Pass in dummy object. We know AccelTree doesn't use it. */
+ else
+ {
+ if(retrieveDocument(source, documentUri, context))
+ return m_loadedDocuments.value(documentUri)->root(QXmlNodeModelIndex()); /* Pass in dummy object. We know AccelTree doesn't use it. */
+ else
+ return Item();
+ }
+}
+
SequenceType::Ptr AccelTreeResourceLoader::announceDocument(const QUrl &uri, const Usage)
{
// TODO deal with the usage thingy
diff --git a/src/xmlpatterns/acceltree/qacceltreeresourceloader_p.h b/src/xmlpatterns/acceltree/qacceltreeresourceloader_p.h
index a650dfa..f24a88e 100644
--- a/src/xmlpatterns/acceltree/qacceltreeresourceloader_p.h
+++ b/src/xmlpatterns/acceltree/qacceltreeresourceloader_p.h
@@ -52,12 +52,12 @@
#ifndef Patternist_AccelTreeResourceLoader_H
#define Patternist_AccelTreeResourceLoader_H
-#include <QtCore/QHash>
#include <QtCore/QEventLoop>
#include <QtNetwork/QNetworkReply>
#include "qabstractxmlreceiver.h"
#include "qacceltree_p.h"
+#include "qacceltreebuilder_p.h"
#include "qdeviceresourceloader_p.h"
#include "qnamepool_p.h"
#include "qnetworkaccessdelegator_p.h"
@@ -115,13 +115,25 @@ namespace QPatternist
{
public:
/**
+ * Describes the behaviour of the resource loader in case of an
+ * error.
+ */
+ enum ErrorHandling
+ {
+ FailOnError, ///< The resource loader will report the error via the report context.
+ ContinueOnError ///< The resource loader will report no error and return an empty QNetworkReply.
+ };
+
+ /**
* AccelTreeResourceLoader does not own @p context.
*/
AccelTreeResourceLoader(const NamePool::Ptr &np,
- const NetworkAccessDelegator::Ptr &networkDelegator);
+ const NetworkAccessDelegator::Ptr &networkDelegator, AccelTreeBuilder<true>::Features = AccelTreeBuilder<true>::NoneFeature);
virtual Item openDocument(const QUrl &uri,
const ReportContext::Ptr &context);
+ virtual Item openDocument(QIODevice *source, const QUrl &documentUri,
+ const ReportContext::Ptr &context);
virtual SequenceType::Ptr announceDocument(const QUrl &uri, const Usage usageHint);
virtual bool isDocumentAvailable(const QUrl &uri);
@@ -133,7 +145,6 @@ namespace QPatternist
const ReportContext::Ptr &context,
const SourceLocationReflection *const where);
-
/**
* @short Helper function that do NetworkAccessDelegator::get(), but
* does it blocked.
@@ -149,14 +160,14 @@ namespace QPatternist
*/
static QNetworkReply *load(const QUrl &uri,
QNetworkAccessManager *const networkManager,
- const ReportContext::Ptr &context);
+ const ReportContext::Ptr &context, ErrorHandling handling = FailOnError);
/**
* @overload
*/
static QNetworkReply *load(const QUrl &uri,
const NetworkAccessDelegator::Ptr &networkDelegator,
- const ReportContext::Ptr &context);
+ const ReportContext::Ptr &context, ErrorHandling handling = FailOnError);
/**
* @short Returns the URIs this AccelTreeResourceLoader has loaded
@@ -165,14 +176,17 @@ namespace QPatternist
virtual QSet<QUrl> deviceURIs() const;
virtual void clear(const QUrl &uri);
+
private:
static bool streamToReceiver(QIODevice *const dev,
- QAbstractXmlReceiver *const receiver,
+ AccelTreeBuilder<true> *const receiver,
const NamePool::Ptr &np,
const ReportContext::Ptr &context,
const QUrl &uri);
bool retrieveDocument(const QUrl &uri,
const ReportContext::Ptr &context);
+ bool retrieveDocument(QIODevice *source, const QUrl &documentUri,
+ const ReportContext::Ptr &context);
/**
* If @p context is @c null, no error reporting should be done.
*/
@@ -185,6 +199,7 @@ namespace QPatternist
const NamePool::Ptr m_namePool;
const NetworkAccessDelegator::Ptr m_networkAccessDelegator;
QHash<QPair<QUrl, QString>, QString> m_unparsedTexts;
+ AccelTreeBuilder<true>::Features m_features;
};
}
diff --git a/src/xmlpatterns/api/api.pri b/src/xmlpatterns/api/api.pri
index a0298f2..9fcc2f5 100644
--- a/src/xmlpatterns/api/api.pri
+++ b/src/xmlpatterns/api/api.pri
@@ -3,11 +3,13 @@ HEADERS += $$PWD/qabstractxmlforwarditerator_p.h \
$$PWD/qabstracturiresolver.h \
$$PWD/qabstractxmlnodemodel.h \
$$PWD/qabstractxmlnodemodel_p.h \
+ $$PWD/qabstractxmlpullprovider_p.h \
$$PWD/qabstractxmlreceiver.h \
$$PWD/qabstractxmlreceiver_p.h \
$$PWD/qdeviceresourceloader_p.h \
$$PWD/qiodevicedelegate_p.h \
$$PWD/qnetworkaccessdelegator_p.h \
+ $$PWD/qpullbridge_p.h \
$$PWD/qresourcedelegator_p.h \
$$PWD/qsimplexmlnodemodel.h \
$$PWD/qsourcelocation.h \
@@ -20,6 +22,10 @@ HEADERS += $$PWD/qabstractxmlforwarditerator_p.h \
$$PWD/qxmlquery_p.h \
$$PWD/qxmlresultitems.h \
$$PWD/qxmlresultitems_p.h \
+ $$PWD/qxmlschema.h \
+ $$PWD/qxmlschema_p.h \
+ $$PWD/qxmlschemavalidator.h \
+ $$PWD/qxmlschemavalidator_p.h \
$$PWD/qxmlserializer.h \
$$PWD/qxmlserializer_p.h \
$$PWD/../../../tools/xmlpatterns/qcoloringmessagehandler_p.h \
@@ -29,9 +35,11 @@ SOURCES += $$PWD/qvariableloader.cpp \
$$PWD/qabstractmessagehandler.cpp \
$$PWD/qabstracturiresolver.cpp \
$$PWD/qabstractxmlnodemodel.cpp \
+ $$PWD/qabstractxmlpullprovider.cpp \
$$PWD/qabstractxmlreceiver.cpp \
$$PWD/qiodevicedelegate.cpp \
$$PWD/qnetworkaccessdelegator.cpp \
+ $$PWD/qpullbridge.cpp \
$$PWD/qresourcedelegator.cpp \
$$PWD/qsimplexmlnodemodel.cpp \
$$PWD/qsourcelocation.cpp \
@@ -41,6 +49,9 @@ SOURCES += $$PWD/qvariableloader.cpp \
$$PWD/qxmlnamepool.cpp \
$$PWD/qxmlquery.cpp \
$$PWD/qxmlresultitems.cpp \
+ $$PWD/qxmlschema.cpp \
+ $$PWD/qxmlschema_p.cpp \
+ $$PWD/qxmlschemavalidator.cpp \
$$PWD/qxmlserializer.cpp \
$$PWD/../../../tools/xmlpatterns/qcoloringmessagehandler.cpp \
$$PWD/../../../tools/xmlpatterns/qcoloroutput.cpp
diff --git a/src/xmlpatterns/api/qabstractmessagehandler.h b/src/xmlpatterns/api/qabstractmessagehandler.h
index 2c26143..21c6fe5 100644
--- a/src/xmlpatterns/api/qabstractmessagehandler.h
+++ b/src/xmlpatterns/api/qabstractmessagehandler.h
@@ -70,7 +70,7 @@ protected:
const QUrl &identifier,
const QSourceLocation &sourceLocation) = 0;
private:
- Q_DECLARE_SCOPED_PRIVATE(QAbstractMessageHandler)
+ Q_DECLARE_PRIVATE(QAbstractMessageHandler)
Q_DISABLE_COPY(QAbstractMessageHandler)
};
diff --git a/src/xmlpatterns/api/qabstracturiresolver.h b/src/xmlpatterns/api/qabstracturiresolver.h
index db545ea..c341ac2c 100644
--- a/src/xmlpatterns/api/qabstracturiresolver.h
+++ b/src/xmlpatterns/api/qabstracturiresolver.h
@@ -64,7 +64,7 @@ public:
private:
Q_DISABLE_COPY(QAbstractUriResolver)
- Q_DECLARE_SCOPED_PRIVATE(QAbstractUriResolver)
+ Q_DECLARE_PRIVATE(QAbstractUriResolver)
};
QT_END_NAMESPACE
diff --git a/src/xmlpatterns/api/qabstractxmlforwarditerator_p.h b/src/xmlpatterns/api/qabstractxmlforwarditerator_p.h
index d3188d3..b4eefeb 100644
--- a/src/xmlpatterns/api/qabstractxmlforwarditerator_p.h
+++ b/src/xmlpatterns/api/qabstractxmlforwarditerator_p.h
@@ -55,7 +55,7 @@
#include <QtCore/QList>
#include <QtCore/QVector>
#include <QtCore/QSharedData>
-
+#include <QtCore/QString>
QT_BEGIN_HEADER
@@ -74,6 +74,19 @@ inline bool qIsForwardIteratorEnd(const T &unit)
return !unit;
}
+/**
+ * @short Helper class for StringSplitter
+ *
+ * Needed by the QAbstractXmlForwardIterator sub-class.
+ *
+ * @relates StringSplitter
+ */
+template<>
+inline bool qIsForwardIteratorEnd(const QString &unit)
+{
+ return unit.isNull();
+}
+
template<typename T> class QAbstractXmlForwardIterator;
class QAbstractXmlForwardIteratorPrivate;
diff --git a/src/xmlpatterns/api/qabstractxmlnodemodel.cpp b/src/xmlpatterns/api/qabstractxmlnodemodel.cpp
index fb45ea7..847d899 100644
--- a/src/xmlpatterns/api/qabstractxmlnodemodel.cpp
+++ b/src/xmlpatterns/api/qabstractxmlnodemodel.cpp
@@ -1665,4 +1665,20 @@ void QAbstractXmlNodeModel::copyNodeTo(const QXmlNodeModelIndex &node,
"This function is not expected to be called.");
}
+/*!
+ Returns the source location for the object with the given \a index
+ or a default constructed QSourceLocation in case no location
+ information is available.
+
+ \since 4.6
+*/
+QSourceLocation QAbstractXmlNodeModel::sourceLocation(const QXmlNodeModelIndex &index) const
+{
+ // TODO: make this method virtual in Qt5 to allow source location support in custom models
+ if (d_ptr)
+ return d_ptr->sourceLocation(index);
+ else
+ return QSourceLocation();
+}
+
QT_END_NAMESPACE
diff --git a/src/xmlpatterns/api/qabstractxmlnodemodel.h b/src/xmlpatterns/api/qabstractxmlnodemodel.h
index 072c12f..71cd93e 100644
--- a/src/xmlpatterns/api/qabstractxmlnodemodel.h
+++ b/src/xmlpatterns/api/qabstractxmlnodemodel.h
@@ -57,6 +57,7 @@ QT_MODULE(XmlPatterns)
class QAbstractXmlNodeModel;
class QAbstractXmlNodeModelPrivate;
class QAbstractXmlReceiver;
+class QSourceLocation;
class QUrl;
class QXmlName;
class QXmlNodeModelIndex;
@@ -70,6 +71,7 @@ namespace QPatternist
class DynamicContext;
class Item;
class ItemType;
+ class XsdValidatedXmlNodeModel;
template<typename TResult, typename TSource, typename TMapper, typename Context> class ItemMappingIterator;
template<typename TResult, typename TSource, typename TMapper> class SequenceMappingIterator;
typedef QExplicitlySharedDataPointer<ItemType> ItemTypePtr;
@@ -316,6 +318,8 @@ public:
QAbstractXmlReceiver *const receiver,
const NodeCopySettings &) const;
+ QSourceLocation sourceLocation(const QXmlNodeModelIndex &index) const;
+
protected:
virtual QXmlNodeModelIndex nextFromSimpleAxis(SimpleAxis axis, const QXmlNodeModelIndex &origin) const = 0;
@@ -344,6 +348,7 @@ protected:
private:
friend class QPatternist::ItemMappingIterator<QXmlNodeModelIndex, QXmlNodeModelIndex, const QAbstractXmlNodeModel *, QExplicitlySharedDataPointer<QPatternist::DynamicContext> >;
friend class QPatternist::SequenceMappingIterator<QXmlNodeModelIndex, QXmlNodeModelIndex, const QAbstractXmlNodeModel *>;
+ friend class QPatternist::XsdValidatedXmlNodeModel;
inline QExplicitlySharedDataPointer<QAbstractXmlForwardIterator<QXmlNodeModelIndex> > mapToSequence(const QXmlNodeModelIndex &ni,
const QExplicitlySharedDataPointer<QPatternist::DynamicContext> &) const;
diff --git a/src/xmlpatterns/api/qabstractxmlnodemodel_p.h b/src/xmlpatterns/api/qabstractxmlnodemodel_p.h
index 5d9e0eb..9061616 100644
--- a/src/xmlpatterns/api/qabstractxmlnodemodel_p.h
+++ b/src/xmlpatterns/api/qabstractxmlnodemodel_p.h
@@ -52,6 +52,9 @@
#ifndef QABSTRACTXMLNODEMODEL_P_H
#define QABSTRACTXMLNODEMODEL_P_H
+#include "qabstractxmlnodemodel.h"
+#include "qsourcelocation.h"
+
QT_BEGIN_HEADER
QT_BEGIN_NAMESPACE
@@ -62,6 +65,13 @@ public:
virtual ~QAbstractXmlNodeModelPrivate()
{
}
+
+ virtual QSourceLocation sourceLocation(const QXmlNodeModelIndex &index) const
+ {
+ Q_UNUSED(index);
+
+ return QSourceLocation();
+ }
};
QT_END_NAMESPACE
diff --git a/src/xmlpatterns/api/qabstractxmlpullprovider.cpp b/src/xmlpatterns/api/qabstractxmlpullprovider.cpp
new file mode 100644
index 0000000..f006988
--- /dev/null
+++ b/src/xmlpatterns/api/qabstractxmlpullprovider.cpp
@@ -0,0 +1,177 @@
+/****************************************************************************
+**
+** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the QtXmlPatterns of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QHash>
+
+#include "qxmlname.h"
+#include "qnamepool_p.h"
+#include "qabstractxmlpullprovider_p.h"
+
+QT_BEGIN_NAMESPACE
+
+using namespace QPatternist;
+
+// TODO have example where query selects, and the events for the result are indented
+
+/*!
+ \internal
+ \class AbstractXmlPullProvider
+ \brief The AbstractXmlPullProvider class provides a pull-based stream interface for the XPath Data Model.
+ \reentrant
+ \ingroup xml-tools
+
+ AbstractXmlPullProvider allows a stream of items from the XPath Data Model -- essentially XML --
+ to be iterated over. The subclass of AbstractXmlPullProvider provides the events, and the
+ user calling next() and so on, consumes them. AbstractXmlPullProvider can be considered
+ a forward-only, non-reversible iterator.
+
+ Note that the content the events describes, are not necessarily a well-formed XML document, but
+ rather an instance of the XPath Data model, to be specific. For instance, maybe a pull provider
+ returns two atomic values, followed by an element tree, and at the end two document nodes.
+
+ If you are subclassing AbstractXmlPullProvider, be careful to correctly implement
+ the behaviors, as described for the individual members and events.
+
+ \sa AbstractXmlPullProvider::Event
+ */
+
+/*!
+ \enum AbstractXmlPullProvider::Event
+ \value StartOfInput The value AbstractXmlPullProvider::current() returns before the first call to next().
+ \value AtomicValue an atomic value such as an \c xs:integer, \c xs:hexBinary, or \c xs:dateTime. Atomic values
+ can only be top level items.
+ \value StartDocument Signals the start of a document node. Note that a AbstractXmlPullProvider can provide
+ a sequence of document nodes.
+ \value EndDocument Signals the end of a document node. StartDocument and EndDocument are always balanced
+ and always top-level events. For instance, StartDocument can never appear after any StartElement
+ events that hasn't been balanced by the corresponding amount of EndElement events.
+ \value StartElement Signals an element start tag.
+ \value EndElement Signals the end of an element. StartElement and EndElement events are always balanced.
+ \value Text Signals a text node. Adjacent text nodes cannot occur.
+ \value ProcessingInstruction A processing instruction. Its name is returned from name(), and its value in stringValue().
+ \value Comment a comment node. Its value can be retrieved with stingValue().
+ \value Attribute Signals an attribute node. Attribute events can only appear after Namespace events, or
+ if no such are sent, after the StartElement. In addition they must appear sequentially,
+ and each name must be unique. The ordering of attribute events is undefined and insignificant.
+ \value Namespace Signals a namespace binding. They occur very infrequently and are not needed for attributes
+ and elements. Namespace events can only appear after the StartElement event. The
+ ordering of namespace events is undefined and insignificant.
+ \value EndOfInput When next() is called after the last event, EndOfInput is returned.
+
+ \sa AbstractXmlPullProvider::current()
+ */
+
+/*!
+ Constucts a AbstractXmlPullProvider instance.
+ */
+AbstractXmlPullProvider::AbstractXmlPullProvider()
+{
+}
+
+/*!
+ Destructs this AbstractXmlPullProvider.
+ */
+AbstractXmlPullProvider::~AbstractXmlPullProvider()
+{
+}
+
+/*!
+ \fn Event AbstractXmlPullProvider::next() = 0;
+ Advances this AbstractXmlPullProvider, and returns the new event.
+
+ \sa current()
+ */
+
+/*!
+ \fn Event AbstractXmlPullProvider::current() const = 0;
+ Returns the event that next() returned the last time it was called. It doesn't
+ alter this AbstractXmlPullProvider.
+
+ current() may not modify this AbstractXmlPullProvider's state. Subsequent calls to current()
+ must return the same value.
+
+ \sa AbstractXmlPullProvider::Event
+ */
+
+/*!
+ \fn QName AbstractXmlPullProvider::name() const = 0;
+ If the current event is StartElement,
+ EndElement, ProcessingInstruction, Attribute, or Namespace, the node's name is returned.
+
+ If the current event is ProcessingInstruction,
+ the processing instruction target is in in the local name.
+
+ If the current event is Namespace, the name's namespace URI is the namespace, and
+ the local name is the prefix the name is binding to.
+
+ In all other cases, an invalid QName is returned.
+ */
+
+/*!
+ \fn QVariant AbstractXmlPullProvider::atomicValue() const = 0;
+
+ If current() event is AtomicValue, the atomic value is returned as a QVariant.
+ In all other cases, this function returns a null QVariant.
+ */
+
+/*!
+ \fn QString AbstractXmlPullProvider::stringValue() const = 0;
+
+ If current() is Text, the text node's value is returned.
+
+ If the current() event is Comment, its value is returned. The subclasser guarantees
+ it does not contain the string "-->".
+
+ If the current() event is ProcessingInstruction, its data is returned. The subclasser
+ guarantees the data does not contain the string "?>".
+
+ In other cases, it returns a default constructed string.
+ */
+
+/*!
+ \fn QHash<QXmlName, QString> AbstractXmlPullProvider::attributes() = 0;
+
+ If the current() is Element, the attributes of the element are returned,
+ an empty list of attributes otherwise.
+ */
+
+QT_END_NAMESPACE
+
diff --git a/src/xmlpatterns/api/qabstractxmlpullprovider_p.h b/src/xmlpatterns/api/qabstractxmlpullprovider_p.h
new file mode 100644
index 0000000..59dce72
--- /dev/null
+++ b/src/xmlpatterns/api/qabstractxmlpullprovider_p.h
@@ -0,0 +1,113 @@
+/****************************************************************************
+**
+** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtXmlPatterns of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+
+#ifndef QABSTRACTXMLPULLPROVIDER_H
+#define QABSTRACTXMLPULLPROVIDER_H
+
+#include <QtCore/QtGlobal>
+
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+class QXmlItem;
+class QXmlName;
+class QString;
+class QVariant;
+template<typename Key, typename Value> class QHash;
+
+namespace QPatternist
+{
+ class AbstractXmlPullProviderPrivate;
+
+ class AbstractXmlPullProvider
+ {
+ public:
+ AbstractXmlPullProvider();
+ virtual ~AbstractXmlPullProvider();
+
+ enum Event
+ {
+ StartOfInput = 1,
+ AtomicValue = 1 << 1,
+ StartDocument = 1 << 2,
+ EndDocument = 1 << 3,
+ StartElement = 1 << 4,
+ EndElement = 1 << 5,
+ Text = 1 << 6,
+ ProcessingInstruction = 1 << 7,
+ Comment = 1 << 8,
+ Attribute = 1 << 9,
+ Namespace = 1 << 10,
+ EndOfInput = 1 << 11
+ };
+
+ virtual Event next() = 0;
+ virtual Event current() const = 0;
+ virtual QXmlName name() const = 0;
+ virtual QVariant atomicValue() const = 0;
+ virtual QString stringValue() const = 0;
+
+ virtual QHash<QXmlName, QString> attributes() = 0;
+ virtual QHash<QXmlName, QXmlItem> attributeItems() = 0;
+
+ /* *** The functions below are internal. */
+ private:
+ Q_DISABLE_COPY(AbstractXmlPullProvider)
+ AbstractXmlPullProviderPrivate *d;
+ };
+}
+
+QT_END_NAMESPACE
+
+QT_END_HEADER
+
+#endif
diff --git a/src/xmlpatterns/api/qpullbridge.cpp b/src/xmlpatterns/api/qpullbridge.cpp
new file mode 100644
index 0000000..75df519
--- /dev/null
+++ b/src/xmlpatterns/api/qpullbridge.cpp
@@ -0,0 +1,232 @@
+/****************************************************************************
+**
+** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the QtXmlPatterns of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QVariant>
+
+#include "qabstractxmlnodemodel_p.h"
+#include "qitemmappingiterator_p.h"
+#include "qitem_p.h"
+#include "qxmlname.h"
+#include "qxmlquery_p.h"
+
+#include "qpullbridge_p.h"
+
+QT_BEGIN_NAMESPACE
+
+using namespace QPatternist;
+
+/*!
+ \brief Bridges a QPatternist::SequenceIterator to QAbstractXmlPullProvider.
+ \class QPatternist::PullBridge
+ \internal
+ \reentrant
+ \ingroup xml-tools
+
+ The approach of this class is rather straight forward since QPatternist::SequenceIterator
+ and QAbstractXmlPullProvider are conceptually similar. While QPatternist::SequenceIterator only
+ delivers top level items(since it's not an event stream, it's a list of items), PullBridge
+ needs to recursively iterate the children of nodes too, which is achieved through the
+ stack m_iterators.
+ */
+
+AbstractXmlPullProvider::Event PullBridge::next()
+{
+ m_index = m_iterators.top().second->next();
+
+ if(!m_index.isNull())
+ {
+ Item item(m_index);
+
+ if(item && item.isAtomicValue())
+ m_current = AtomicValue;
+ else
+ {
+ Q_ASSERT(item.isNode());
+
+ switch(m_index.kind())
+ {
+ case QXmlNodeModelIndex::Attribute:
+ {
+ m_current = Attribute;
+ break;
+ }
+ case QXmlNodeModelIndex::Comment:
+ {
+ m_current = Comment;
+ break;
+ }
+ case QXmlNodeModelIndex::Element:
+ {
+ m_iterators.push(qMakePair(StartElement, m_index.iterate(QXmlNodeModelIndex::AxisChild)));
+ m_current = StartElement;
+ break;
+ }
+ case QXmlNodeModelIndex::Document:
+ {
+ m_iterators.push(qMakePair(StartDocument, m_index.iterate(QXmlNodeModelIndex::AxisChild)));
+ m_current = StartDocument;
+ break;
+ }
+ case QXmlNodeModelIndex::Namespace:
+ {
+ m_current = Namespace;
+ break;
+ }
+ case QXmlNodeModelIndex::ProcessingInstruction:
+ {
+ m_current = ProcessingInstruction;
+ break;
+ }
+ case QXmlNodeModelIndex::Text:
+ {
+ m_current = Text;
+ break;
+ }
+ }
+ }
+ }
+ else
+ {
+ if(m_iterators.isEmpty())
+ m_current = EndOfInput;
+ else
+ {
+ switch(m_iterators.top().first)
+ {
+ case StartOfInput:
+ {
+ m_current = EndOfInput;
+ break;
+ }
+ case StartElement:
+ {
+ m_current = EndElement;
+ m_iterators.pop();
+ break;
+ }
+ case StartDocument:
+ {
+ m_current = EndDocument;
+ m_iterators.pop();
+ break;
+ }
+ default:
+ {
+ Q_ASSERT_X(false, Q_FUNC_INFO,
+ "Invalid value.");
+ m_current = EndOfInput;
+ }
+ }
+ }
+
+ }
+
+ return m_current;
+}
+
+AbstractXmlPullProvider::Event PullBridge::current() const
+{
+ return m_current;
+}
+
+QXmlNodeModelIndex PullBridge::index() const
+{
+ return m_index;
+}
+
+QSourceLocation PullBridge::sourceLocation() const
+{
+ return m_index.model()->sourceLocation(m_index);
+}
+
+QXmlName PullBridge::name() const
+{
+ return m_index.name();
+}
+
+QVariant PullBridge::atomicValue() const
+{
+ return QVariant();
+}
+
+QString PullBridge::stringValue() const
+{
+ return QString();
+}
+
+QHash<QXmlName, QString> PullBridge::attributes()
+{
+ Q_ASSERT(m_current == StartElement);
+
+ QHash<QXmlName, QString> attributes;
+
+ QXmlNodeModelIndex::Iterator::Ptr it = m_index.iterate(QXmlNodeModelIndex::AxisAttribute);
+ QXmlNodeModelIndex index = it->next();
+ while (!index.isNull()) {
+ const Item attribute(index);
+ attributes.insert(index.name(), index.stringValue());
+
+ index = it->next();
+ }
+
+ return attributes;
+}
+
+QHash<QXmlName, QXmlItem> PullBridge::attributeItems()
+{
+ Q_ASSERT(m_current == StartElement);
+
+ QHash<QXmlName, QXmlItem> attributes;
+
+ QXmlNodeModelIndex::Iterator::Ptr it = m_index.iterate(QXmlNodeModelIndex::AxisAttribute);
+ QXmlNodeModelIndex index = it->next();
+ while (!index.isNull()) {
+ const Item attribute(index);
+ attributes.insert(index.name(), QXmlItem(index));
+
+ index = it->next();
+ }
+
+ return attributes;
+}
+
+QT_END_NAMESPACE
+
diff --git a/src/xmlpatterns/api/qpullbridge_p.h b/src/xmlpatterns/api/qpullbridge_p.h
new file mode 100644
index 0000000..23b9542
--- /dev/null
+++ b/src/xmlpatterns/api/qpullbridge_p.h
@@ -0,0 +1,103 @@
+/****************************************************************************
+**
+** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtXmlPatterns of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+
+#ifndef PATTERNIST_PULLBRIDGE_P_H
+#define PATTERNIST_PULLBRIDGE_P_H
+
+#include <QtCore/QPair>
+#include <QtCore/QStack>
+
+#include "qabstractxmlforwarditerator_p.h"
+#include "qabstractxmlpullprovider_p.h"
+#include "qitem_p.h"
+
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+namespace QPatternist
+{
+ class PullBridge : public AbstractXmlPullProvider
+ {
+ public:
+ inline PullBridge(const QXmlNodeModelIndex::Iterator::Ptr &it) : m_current(StartOfInput)
+ {
+ Q_ASSERT(it);
+ m_iterators.push(qMakePair(StartOfInput, it));
+ }
+
+ virtual Event next();
+ virtual Event current() const;
+ virtual QXmlName name() const;
+ /**
+ * Returns always an empty QVariant.
+ */
+ virtual QVariant atomicValue() const;
+ virtual QString stringValue() const;
+ virtual QHash<QXmlName, QString> attributes();
+ virtual QHash<QXmlName, QXmlItem> attributeItems();
+
+ QXmlNodeModelIndex index() const;
+ QSourceLocation sourceLocation() const;
+
+ private:
+ typedef QStack<QPair<Event, QXmlNodeModelIndex::Iterator::Ptr> > IteratorStack;
+ IteratorStack m_iterators;
+ QXmlNodeModelIndex m_index;
+ Event m_current;
+ };
+}
+
+QT_END_NAMESPACE
+
+QT_END_HEADER
+
+#endif
diff --git a/src/xmlpatterns/api/qresourcedelegator.cpp b/src/xmlpatterns/api/qresourcedelegator.cpp
index 5a5bcf4..ad93848 100644
--- a/src/xmlpatterns/api/qresourcedelegator.cpp
+++ b/src/xmlpatterns/api/qresourcedelegator.cpp
@@ -45,14 +45,6 @@ QT_BEGIN_NAMESPACE
using namespace QPatternist;
-/**
- * Duplicated in qacceltreeresourceloader.cpp.
- */
-static inline uint qHash(const QUrl &uri)
-{
- return qHash(uri.toString());
-}
-
bool ResourceDelegator::isUnparsedTextAvailable(const QUrl &uri,
const QString &encoding)
{
diff --git a/src/xmlpatterns/api/qsimplexmlnodemodel.h b/src/xmlpatterns/api/qsimplexmlnodemodel.h
index 3098604..1c70159 100644
--- a/src/xmlpatterns/api/qsimplexmlnodemodel.h
+++ b/src/xmlpatterns/api/qsimplexmlnodemodel.h
@@ -67,7 +67,7 @@ public:
virtual QVector<QXmlNodeModelIndex> nodesByIdref(const QXmlName &idref) const;
private:
- Q_DECLARE_SCOPED_PRIVATE(QSimpleXmlNodeModel)
+ Q_DECLARE_PRIVATE(QSimpleXmlNodeModel)
};
QT_END_NAMESPACE
diff --git a/src/xmlpatterns/api/qxmlformatter.h b/src/xmlpatterns/api/qxmlformatter.h
index ca65331..9bec06d 100644
--- a/src/xmlpatterns/api/qxmlformatter.h
+++ b/src/xmlpatterns/api/qxmlformatter.h
@@ -84,7 +84,7 @@ public:
virtual void item(const QPatternist::Item &item);
private:
inline void startFormattingContent();
- Q_DECLARE_SCOPED_PRIVATE(QXmlFormatter)
+ Q_DECLARE_PRIVATE(QXmlFormatter)
};
QT_END_NAMESPACE
diff --git a/src/xmlpatterns/api/qxmlnamepool.cpp b/src/xmlpatterns/api/qxmlnamepool.cpp
index 5b03975..66eb788 100644
--- a/src/xmlpatterns/api/qxmlnamepool.cpp
+++ b/src/xmlpatterns/api/qxmlnamepool.cpp
@@ -96,6 +96,10 @@ QXmlNamePool::~QXmlNamePool()
{
}
+QXmlNamePool::QXmlNamePool(QPatternist::NamePool *namePool) : d(QExplicitlySharedDataPointer<QPatternist::NamePool>(namePool))
+{
+}
+
/*!
Assigns the \a other name pool to this one.
*/
diff --git a/src/xmlpatterns/api/qxmlnamepool.h b/src/xmlpatterns/api/qxmlnamepool.h
index 68cf627..6c1fe4f 100644
--- a/src/xmlpatterns/api/qxmlnamepool.h
+++ b/src/xmlpatterns/api/qxmlnamepool.h
@@ -54,6 +54,8 @@ QT_MODULE(XmlPatterns)
namespace QPatternist
{
class NamePool;
+ class XsdSchemaParser;
+ class XsdValidatingInstanceReader;
}
namespace QPatternistSDK
@@ -73,10 +75,15 @@ public:
QXmlNamePool &operator=(const QXmlNamePool &other);
private:
+ QXmlNamePool(QPatternist::NamePool *namePool);
friend class QXmlQueryPrivate;
friend class QXmlQuery;
+ friend class QXmlSchemaPrivate;
+ friend class QXmlSchemaValidatorPrivate;
friend class QXmlSerializerPrivate;
friend class QXmlName;
+ friend class QPatternist::XsdSchemaParser;
+ friend class QPatternist::XsdValidatingInstanceReader;
friend class QPatternistSDK::Global;
QExplicitlySharedDataPointer<QPatternist::NamePool> d;
};
diff --git a/src/xmlpatterns/api/qxmlquery.cpp b/src/xmlpatterns/api/qxmlquery.cpp
index 3d023a0..79ae7a9 100644
--- a/src/xmlpatterns/api/qxmlquery.cpp
+++ b/src/xmlpatterns/api/qxmlquery.cpp
@@ -231,6 +231,18 @@ QT_BEGIN_NAMESPACE
\value XQuery10 XQuery 1.0.
\value XSLT20 XSLT 2.0
+ \omitvalue XmlSchema11IdentityConstraintSelector The selector, the restricted
+ XPath pattern found in W3C XML Schema 1.1 for uniqueness
+ contraints. Apart from restricting the syntax, the type check stage
+ for the expression assumes a sequence of nodes to be the focus.
+ \omitvalue XmlSchema11IdentityConstraintField The field, the restricted
+ XPath pattern found in W3C XML Schema 1.1 for uniqueness
+ contraints. Apart from restricting the syntax, the type check stage
+ for the expression assumes a sequence of nodes to be the focus.
+ \omitvalue XPath20 Signifies XPath 2.0. Has no effect in the public API, it's
+ used internally. As With XmlSchema11IdentityConstraintSelector and
+ XmlSchema11IdentityConstraintField, the type check stage
+ for the expression assumes a sequence of nodes to be the focus.
\sa setQuery()
*/
@@ -415,7 +427,7 @@ void QXmlQuery::setQuery(QIODevice *sourceCode, const QUrl &documentURI)
return;
}
- d->queryURI = QXmlQueryPrivate::normalizeQueryURI(documentURI);
+ d->queryURI = QPatternist::XPathHelper::normalizeQueryURI(documentURI);
d->expression(sourceCode);
}
@@ -463,12 +475,12 @@ void QXmlQuery::setQuery(const QUrl &queryURI, const QUrl &baseURI)
{
Q_ASSERT_X(queryURI.isValid(), Q_FUNC_INFO, "The passed URI must be valid.");
- const QUrl canonicalURI(QXmlQueryPrivate::normalizeQueryURI(queryURI));
+ const QUrl canonicalURI(QPatternist::XPathHelper::normalizeQueryURI(queryURI));
Q_ASSERT(canonicalURI.isValid());
Q_ASSERT(!canonicalURI.isRelative());
Q_ASSERT(baseURI.isValid() || baseURI.isEmpty());
- d->queryURI = QXmlQueryPrivate::normalizeQueryURI(baseURI.isEmpty() ? queryURI : baseURI);
+ d->queryURI = QPatternist::XPathHelper::normalizeQueryURI(baseURI.isEmpty() ? queryURI : baseURI);
QPatternist::AutoPtr<QIODevice> result;
diff --git a/src/xmlpatterns/api/qxmlquery.h b/src/xmlpatterns/api/qxmlquery.h
index 4ddfc76..b4ac121 100644
--- a/src/xmlpatterns/api/qxmlquery.h
+++ b/src/xmlpatterns/api/qxmlquery.h
@@ -71,6 +71,8 @@ namespace QPatternistSDK
namespace QPatternist
{
+ class XsdSchemaParser;
+ class XsdValidatingInstanceReader;
class VariableLoader;
};
@@ -79,8 +81,11 @@ class Q_XMLPATTERNS_EXPORT QXmlQuery
public:
enum QueryLanguage
{
- XQuery10 = 1,
- XSLT20 = 2
+ XQuery10 = 1,
+ XSLT20 = 2,
+ XmlSchema11IdentityConstraintSelector = 1024,
+ XmlSchema11IdentityConstraintField = 2048,
+ XPath20 = 4096
};
QXmlQuery();
@@ -136,6 +141,8 @@ private:
friend class QXmlName;
friend class QXmlSerializer;
friend class QPatternistSDK::TestCase;
+ friend class QPatternist::XsdSchemaParser;
+ friend class QPatternist::XsdValidatingInstanceReader;
friend class QPatternist::VariableLoader;
template<typename TInputType> friend bool setFocusHelper(QXmlQuery *const queryInstance,
const TInputType &focusValue);
diff --git a/src/xmlpatterns/api/qxmlquery_p.h b/src/xmlpatterns/api/qxmlquery_p.h
index 05222be..cb2bbad 100644
--- a/src/xmlpatterns/api/qxmlquery_p.h
+++ b/src/xmlpatterns/api/qxmlquery_p.h
@@ -142,13 +142,10 @@ public:
if(!m_functionFactory)
{
- if(queryLanguage == QXmlQuery::XQuery10)
- m_functionFactory = QPatternist::FunctionFactoryCollection::xpath20Factory(namePool.d);
- else
- {
- Q_ASSERT(queryLanguage == QXmlQuery::XSLT20);
+ if(queryLanguage == QXmlQuery::XSLT20)
m_functionFactory = QPatternist::FunctionFactoryCollection::xslt20Factory(namePool.d);
- }
+ else
+ m_functionFactory = QPatternist::FunctionFactoryCollection::xpath20Factory(namePool.d);
}
const QPatternist::GenericStaticContext::Ptr genericStaticContext(new QPatternist::GenericStaticContext(namePool.d,
@@ -164,6 +161,14 @@ public:
if(!contextItem.isNull())
m_staticContext = QPatternist::StaticContext::Ptr(new QPatternist::StaticFocusContext(QPatternist::AtomicValue::qtToXDMType(contextItem), m_staticContext));
+ else if( queryLanguage == QXmlQuery::XmlSchema11IdentityConstraintField
+ || queryLanguage == QXmlQuery::XmlSchema11IdentityConstraintSelector
+ || queryLanguage == QXmlQuery::XPath20)
+ m_staticContext = QPatternist::StaticContext::Ptr(new QPatternist::StaticFocusContext(QPatternist::BuiltinTypes::node, m_staticContext));
+
+ for (int i = 0; i < m_additionalNamespaceBindings.count(); ++i) {
+ m_staticContext->namespaceBindings()->addBinding(m_additionalNamespaceBindings.at(i));
+ }
return m_staticContext;
}
@@ -207,19 +212,6 @@ public:
return m_resourceLoader;
}
-
- static inline QUrl normalizeQueryURI(const QUrl &uri)
- {
- Q_ASSERT_X(uri.isEmpty() || uri.isValid(), Q_FUNC_INFO,
- "The URI passed to QXmlQuery::setQuery() must be valid or empty.");
- if(uri.isEmpty())
- return QUrl::fromLocalFile(QCoreApplication::applicationFilePath());
- else if(uri.isRelative())
- return QUrl::fromLocalFile(QCoreApplication::applicationFilePath()).resolved(uri);
- else
- return uri;
- }
-
void setRequiredType(const QPatternist::SequenceType::Ptr &seqType)
{
Q_ASSERT(seqType);
@@ -278,6 +270,11 @@ public:
return m_expr;
}
+ inline void addAdditionalNamespaceBinding(const QXmlName &binding)
+ {
+ m_additionalNamespaceBindings.append(binding);
+ }
+
QXmlNamePool namePool;
QPointer<QAbstractMessageHandler> messageHandler;
/**
@@ -321,6 +318,8 @@ public:
QPatternist::SequenceType::Ptr m_requiredType;
QPatternist::FunctionFactory::Ptr m_functionFactory;
QPatternist::NetworkAccessDelegator::Ptr m_networkAccessDelegator;
+
+ QList<QXmlName> m_additionalNamespaceBindings;
};
QT_END_NAMESPACE
diff --git a/src/xmlpatterns/api/qxmlresultitems.h b/src/xmlpatterns/api/qxmlresultitems.h
index ad222ed..6fc8d52 100644
--- a/src/xmlpatterns/api/qxmlresultitems.h
+++ b/src/xmlpatterns/api/qxmlresultitems.h
@@ -66,7 +66,7 @@ public:
private:
friend class QXmlQuery;
- Q_DECLARE_SCOPED_PRIVATE(QXmlResultItems)
+ Q_DECLARE_PRIVATE(QXmlResultItems)
QScopedPointer<QXmlResultItemsPrivate> d_ptr;
Q_DISABLE_COPY(QXmlResultItems)
};
diff --git a/src/xmlpatterns/api/qxmlschema.cpp b/src/xmlpatterns/api/qxmlschema.cpp
new file mode 100644
index 0000000..e64b388
--- /dev/null
+++ b/src/xmlpatterns/api/qxmlschema.cpp
@@ -0,0 +1,299 @@
+/****************************************************************************
+**
+** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the QtXmlPatterns of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "qxmlschema.h"
+#include "qxmlschema_p.h"
+
+#include <QtCore/QIODevice>
+#include <QtCore/QUrl>
+
+QT_BEGIN_NAMESPACE
+
+/*!
+ \class QXmlSchema
+
+ \brief The QXmlSchema class provides loading and validation of a W3C XML Schema.
+
+ \reentrant
+ \since 4.6
+ \ingroup xml-tools
+
+ The QXmlSchema class loads, compiles and validates W3C XML Schema files
+ that can be used further for validation of XML instance documents via
+ \l{QXmlSchemaValidator}.
+
+ The following example shows how to load a XML Schema file from the network
+ and test whether it is a valid schema document:
+
+ \snippet doc/src/snippets/qxmlschema/main.cpp 0
+
+ \sa QXmlSchemaValidator, {xmlpatterns/schema}{XML Schema Validation Example}
+*/
+
+/*!
+ Constructs an invalid, empty schema that cannot be used until
+ load() is called.
+ */
+QXmlSchema::QXmlSchema()
+ : d(new QXmlSchemaPrivate(QXmlNamePool()))
+{
+}
+
+/*!
+ Constructs a QXmlSchema that is a copy of \a other. The new
+ instance will share resources with the existing schema
+ to the extent possible.
+ */
+QXmlSchema::QXmlSchema(const QXmlSchema &other)
+ : d(other.d)
+{
+}
+
+/*!
+ Destroys this QXmlSchema.
+ */
+QXmlSchema::~QXmlSchema()
+{
+}
+
+/*!
+ Sets this QXmlSchema to a schema loaded from the \a source
+ URI.
+
+ If the schema \l {isValid()} {is invalid}, \c{false} is returned
+ and the behavior is undefined.
+
+ Example:
+
+ \snippet doc/src/snippets/qxmlschema/main.cpp 0
+
+ \sa isValid()
+ */
+bool QXmlSchema::load(const QUrl &source)
+{
+ d->load(source, QString());
+ return d->isValid();
+}
+
+/*!
+ Sets this QXmlSchema to a schema read from the \a source
+ device. The device must have been opened with at least
+ QIODevice::ReadOnly.
+
+ \a documentUri represents the schema obtained from the \a source
+ device. It is the base URI of the schema, that is used
+ internally to resolve relative URIs that appear in the schema, and
+ for message reporting.
+
+ If \a source is \c null or not readable, or if \a documentUri is not
+ a valid URI, behavior is undefined.
+
+ If the schema \l {isValid()} {is invalid}, \c{false} is returned
+ and the behavior is undefined.
+
+ Example:
+
+ \snippet doc/src/snippets/qxmlschema/main.cpp 1
+
+ \sa isValid()
+ */
+bool QXmlSchema::load(QIODevice *source, const QUrl &documentUri)
+{
+ d->load(source, documentUri, QString());
+ return d->isValid();
+}
+
+/*!
+ Sets this QXmlSchema to a schema read from the \a data
+
+ \a documentUri represents the schema obtained from the \a data.
+ It is the base URI of the schema, that is used internally to
+ resolve relative URIs that appear in the schema, and
+ for message reporting.
+
+ If \a documentUri is not a valid URI, behavior is undefined.
+ \sa isValid()
+
+ If the schema \l {isValid()} {is invalid}, \c{false} is returned
+ and the behavior is undefined.
+
+ Example:
+
+ \snippet doc/src/snippets/qxmlschema/main.cpp 2
+
+ \sa isValid()
+ */
+bool QXmlSchema::load(const QByteArray &data, const QUrl &documentUri)
+{
+ d->load(data, documentUri, QString());
+ return d->isValid();
+}
+
+/*!
+ Returns true if this schema is valid. Examples of invalid schemas
+ are ones that contain syntax errors or that do not conform the
+ W3C XML Schema specification.
+ */
+bool QXmlSchema::isValid() const
+{
+ return d->isValid();
+}
+
+/*!
+ Returns the name pool used by this QXmlSchema for constructing \l
+ {QXmlName} {names}. There is no setter for the name pool, because
+ mixing name pools causes errors due to name confusion.
+ */
+QXmlNamePool QXmlSchema::namePool() const
+{
+ return d->namePool();
+}
+
+/*!
+ Returns the document URI of the schema or an empty URI if no
+ schema has been set.
+ */
+QUrl QXmlSchema::documentUri() const
+{
+ return d->documentUri();
+}
+
+/*!
+ Changes the \l {QAbstractMessageHandler}{message handler} for this
+ QXmlSchema to \a handler. The schema sends all compile and
+ validation messages to this message handler. QXmlSchema does not take
+ ownership of \a handler.
+
+ Normally, the default message handler is sufficient. It writes
+ compile and validation messages to \e stderr. The default message
+ handler includes color codes if \e stderr can render colors.
+
+ When QXmlSchema calls QAbstractMessageHandler::message(),
+ the arguments are as follows:
+
+ \table
+ \header
+ \o message() argument
+ \o Semantics
+ \row
+ \o QtMsgType type
+ \o Only QtWarningMsg and QtFatalMsg are used. The former
+ identifies a warning, while the latter identifies an error.
+ \row
+ \o const QString & description
+ \o An XHTML document which is the actual message. It is translated
+ into the current language.
+ \row
+ \o const QUrl &identifier
+ \o Identifies the error with a URI, where the fragment is
+ the error code, and the rest of the URI is the error namespace.
+ \row
+ \o const QSourceLocation & sourceLocation
+ \o Identifies where the error occurred.
+ \endtable
+
+ */
+void QXmlSchema::setMessageHandler(QAbstractMessageHandler *handler)
+{
+ d->setMessageHandler(handler);
+}
+
+/*!
+ Returns the message handler that handles compile and validation
+ messages for this QXmlSchema.
+ */
+QAbstractMessageHandler *QXmlSchema::messageHandler() const
+{
+ return d->messageHandler();
+}
+
+/*!
+ Sets the URI resolver to \a resolver. QXmlSchema does not take
+ ownership of \a resolver.
+
+ \sa uriResolver()
+ */
+void QXmlSchema::setUriResolver(const QAbstractUriResolver *resolver)
+{
+ d->setUriResolver(resolver);
+}
+
+/*!
+ Returns the schema's URI resolver. If no URI resolver has been set,
+ QtXmlPatterns will use the URIs in schemas as they are.
+
+ The URI resolver provides a level of abstraction, or \e{polymorphic
+ URIs}. A resolver can rewrite \e{logical} URIs to physical ones, or
+ it can translate obsolete or invalid URIs to valid ones.
+
+ When QtXmlPatterns calls QAbstractUriResolver::resolve() the
+ absolute URI is the URI mandated by the schema specification, and the
+ relative URI is the URI specified by the user.
+
+ \sa setUriResolver()
+ */
+const QAbstractUriResolver *QXmlSchema::uriResolver() const
+{
+ return d->uriResolver();
+}
+
+/*!
+ Sets the network manager to \a manager.
+ QXmlSchema does not take ownership of \a manager.
+
+ \sa networkAccessManager()
+ */
+void QXmlSchema::setNetworkAccessManager(QNetworkAccessManager *manager)
+{
+ d->setNetworkAccessManager(manager);
+}
+
+/*!
+ Returns the network manager, or 0 if it has not been set.
+
+ \sa setNetworkAccessManager()
+ */
+QNetworkAccessManager *QXmlSchema::networkAccessManager() const
+{
+ return d->networkAccessManager();
+}
+
+QT_END_NAMESPACE
diff --git a/src/xmlpatterns/api/qxmlschema.h b/src/xmlpatterns/api/qxmlschema.h
new file mode 100644
index 0000000..b6ac010
--- /dev/null
+++ b/src/xmlpatterns/api/qxmlschema.h
@@ -0,0 +1,97 @@
+/****************************************************************************
+**
+** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtXmlPatterns of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QXMLSCHEMA_H
+#define QXMLSCHEMA_H
+
+#include <QtCore/QSharedDataPointer>
+#include <QtCore/QUrl>
+#include <QtXmlPatterns/QXmlNamePool>
+
+QT_BEGIN_HEADER
+QT_BEGIN_NAMESPACE
+
+QT_MODULE(XmlPatterns)
+
+class QAbstractMessageHandler;
+class QAbstractUriResolver;
+class QIODevice;
+class QNetworkAccessManager;
+class QUrl;
+class QXmlNamePool;
+class QXmlSchemaPrivate;
+
+class Q_XMLPATTERNS_EXPORT QXmlSchema
+{
+ friend class QXmlSchemaValidatorPrivate;
+
+ public:
+ QXmlSchema();
+ QXmlSchema(const QXmlSchema &other);
+ ~QXmlSchema();
+
+ bool load(const QUrl &source);
+ bool load(QIODevice *source, const QUrl &documentUri = QUrl());
+ bool load(const QByteArray &data, const QUrl &documentUri = QUrl());
+
+ bool isValid() const;
+
+ QXmlNamePool namePool() const;
+ QUrl documentUri() const;
+
+ void setMessageHandler(QAbstractMessageHandler *handler);
+ QAbstractMessageHandler *messageHandler() const;
+
+ void setUriResolver(const QAbstractUriResolver *resolver);
+ const QAbstractUriResolver *uriResolver() const;
+
+ void setNetworkAccessManager(QNetworkAccessManager *networkmanager);
+ QNetworkAccessManager *networkAccessManager() const;
+
+ private:
+ QSharedDataPointer<QXmlSchemaPrivate> d;
+};
+
+QT_END_NAMESPACE
+
+QT_END_HEADER
+
+#endif
diff --git a/src/xmlpatterns/api/qxmlschema_p.cpp b/src/xmlpatterns/api/qxmlschema_p.cpp
new file mode 100644
index 0000000..2dad359
--- /dev/null
+++ b/src/xmlpatterns/api/qxmlschema_p.cpp
@@ -0,0 +1,203 @@
+/****************************************************************************
+**
+** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtXmlPatterns of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "qacceltreeresourceloader_p.h"
+#include "qxmlschema.h"
+#include "qxmlschema_p.h"
+
+#include <QtCore/QBuffer>
+#include <QtCore/QIODevice>
+#include <QtCore/QUrl>
+
+QT_BEGIN_NAMESPACE
+
+QXmlSchemaPrivate::QXmlSchemaPrivate(const QXmlNamePool &namePool)
+ : m_namePool(namePool)
+ , m_userMessageHandler(0)
+ , m_uriResolver(0)
+ , m_userNetworkAccessManager(0)
+ , m_schemaContext(new QPatternist::XsdSchemaContext(m_namePool.d))
+ , m_schemaParserContext(new QPatternist::XsdSchemaParserContext(m_namePool.d, m_schemaContext))
+ , m_schemaIsValid(false)
+{
+ m_networkAccessManager = new QPatternist::ReferenceCountedValue<QNetworkAccessManager>(new QNetworkAccessManager());
+ m_messageHandler = new QPatternist::ReferenceCountedValue<QAbstractMessageHandler>(new QPatternist::ColoringMessageHandler());
+}
+
+QXmlSchemaPrivate::QXmlSchemaPrivate(const QPatternist::XsdSchemaContext::Ptr &schemaContext)
+ : m_namePool(QXmlNamePool(schemaContext->namePool().data()))
+ , m_userMessageHandler(0)
+ , m_uriResolver(0)
+ , m_userNetworkAccessManager(0)
+ , m_schemaContext(schemaContext)
+ , m_schemaParserContext(new QPatternist::XsdSchemaParserContext(m_namePool.d, m_schemaContext))
+ , m_schemaIsValid(false)
+{
+ m_networkAccessManager = new QPatternist::ReferenceCountedValue<QNetworkAccessManager>(new QNetworkAccessManager());
+ m_messageHandler = new QPatternist::ReferenceCountedValue<QAbstractMessageHandler>(new QPatternist::ColoringMessageHandler());
+}
+
+QXmlSchemaPrivate::QXmlSchemaPrivate(const QXmlSchemaPrivate &other)
+ : QSharedData(other)
+{
+ m_namePool = other.m_namePool;
+ m_userMessageHandler = other.m_userMessageHandler;
+ m_uriResolver = other.m_uriResolver;
+ m_userNetworkAccessManager = other.m_userNetworkAccessManager;
+ m_messageHandler = other.m_messageHandler;
+ m_networkAccessManager = other.m_networkAccessManager;
+
+ m_schemaContext = other.m_schemaContext;
+ m_schemaParserContext = other.m_schemaParserContext;
+ m_schemaIsValid = other.m_schemaIsValid;
+ m_documentUri = other.m_documentUri;
+}
+
+void QXmlSchemaPrivate::load(const QUrl &source, const QString &targetNamespace)
+{
+ m_documentUri = QPatternist::XPathHelper::normalizeQueryURI(source);
+
+ m_schemaContext->setMessageHandler(messageHandler());
+ m_schemaContext->setUriResolver(uriResolver());
+ m_schemaContext->setNetworkAccessManager(networkAccessManager());
+
+ const QPatternist::AutoPtr<QNetworkReply> reply(QPatternist::AccelTreeResourceLoader::load(source, m_schemaContext->networkAccessManager(),
+ m_schemaContext, QPatternist::AccelTreeResourceLoader::ContinueOnError));
+ if (reply)
+ load(reply.data(), source, targetNamespace);
+}
+
+void QXmlSchemaPrivate::load(const QByteArray &data, const QUrl &documentUri, const QString &targetNamespace)
+{
+ QByteArray localData(data);
+
+ QBuffer buffer(&localData);
+ buffer.open(QIODevice::ReadOnly);
+
+ load(&buffer, documentUri, targetNamespace);
+}
+
+void QXmlSchemaPrivate::load(QIODevice *source, const QUrl &documentUri, const QString &targetNamespace)
+{
+ m_schemaParserContext = QPatternist::XsdSchemaParserContext::Ptr(new QPatternist::XsdSchemaParserContext(m_namePool.d, m_schemaContext));
+ m_schemaIsValid = false;
+
+ if (!source) {
+ qWarning("A null QIODevice pointer cannot be passed.");
+ return;
+ }
+
+ if (!source->isReadable()) {
+ qWarning("The device must be readable.");
+ return;
+ }
+
+ m_documentUri = QPatternist::XPathHelper::normalizeQueryURI(documentUri);
+ m_schemaContext->setMessageHandler(messageHandler());
+ m_schemaContext->setUriResolver(uriResolver());
+ m_schemaContext->setNetworkAccessManager(networkAccessManager());
+
+ QPatternist::XsdSchemaParser parser(m_schemaContext, m_schemaParserContext, source);
+ parser.setDocumentURI(documentUri);
+ parser.setTargetNamespace(targetNamespace);
+
+ try {
+ parser.parse();
+ m_schemaParserContext->resolver()->resolve();
+
+ m_schemaIsValid = true;
+ } catch (QPatternist::Exception exception) {
+ m_schemaIsValid = false;
+ }
+}
+
+bool QXmlSchemaPrivate::isValid() const
+{
+ return m_schemaIsValid;
+}
+
+QXmlNamePool QXmlSchemaPrivate::namePool() const
+{
+ return m_namePool;
+}
+
+QUrl QXmlSchemaPrivate::documentUri() const
+{
+ return m_documentUri;
+}
+
+void QXmlSchemaPrivate::setMessageHandler(QAbstractMessageHandler *handler)
+{
+ m_userMessageHandler = handler;
+}
+
+QAbstractMessageHandler *QXmlSchemaPrivate::messageHandler() const
+{
+ if (m_userMessageHandler)
+ return m_userMessageHandler;
+
+ return m_messageHandler.data()->value;
+}
+
+void QXmlSchemaPrivate::setUriResolver(const QAbstractUriResolver *resolver)
+{
+ m_uriResolver = resolver;
+}
+
+const QAbstractUriResolver *QXmlSchemaPrivate::uriResolver() const
+{
+ return m_uriResolver;
+}
+
+void QXmlSchemaPrivate::setNetworkAccessManager(QNetworkAccessManager *networkmanager)
+{
+ m_userNetworkAccessManager = networkmanager;
+}
+
+QNetworkAccessManager *QXmlSchemaPrivate::networkAccessManager() const
+{
+ if (m_userNetworkAccessManager)
+ return m_userNetworkAccessManager;
+
+ return m_networkAccessManager.data()->value;
+}
+
+QT_END_NAMESPACE
diff --git a/src/xmlpatterns/api/qxmlschema_p.h b/src/xmlpatterns/api/qxmlschema_p.h
new file mode 100644
index 0000000..be2ebb8
--- /dev/null
+++ b/src/xmlpatterns/api/qxmlschema_p.h
@@ -0,0 +1,109 @@
+/****************************************************************************
+**
+** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtXmlPatterns of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+
+#ifndef QXMLSCHEMA_P_H
+#define QXMLSCHEMA_P_H
+
+#include "qabstractmessagehandler.h"
+#include "qabstracturiresolver.h"
+#include "qautoptr_p.h"
+#include "qcoloringmessagehandler_p.h"
+#include "qreferencecountedvalue_p.h"
+
+#include "qxsdschemacontext_p.h"
+#include "qxsdschemaparser_p.h"
+#include "qxsdschemaparsercontext_p.h"
+
+#include <QtCore/QSharedData>
+#include <QtNetwork/QNetworkAccessManager>
+
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+class QXmlSchemaPrivate : public QSharedData
+{
+ public:
+ QXmlSchemaPrivate(const QXmlNamePool &namePool);
+ QXmlSchemaPrivate(const QPatternist::XsdSchemaContext::Ptr &schemaContext);
+ QXmlSchemaPrivate(const QXmlSchemaPrivate &other);
+
+ void load(const QUrl &source, const QString &targetNamespace);
+ void load(QIODevice *source, const QUrl &documentUri, const QString &targetNamespace);
+ void load(const QByteArray &data, const QUrl &documentUri, const QString &targetNamespace);
+ bool isValid() const;
+ QXmlNamePool namePool() const;
+ QUrl documentUri() const;
+ void setMessageHandler(QAbstractMessageHandler *handler);
+ QAbstractMessageHandler *messageHandler() const;
+ void setUriResolver(const QAbstractUriResolver *resolver);
+ const QAbstractUriResolver *uriResolver() const;
+ void setNetworkAccessManager(QNetworkAccessManager *networkmanager);
+ QNetworkAccessManager *networkAccessManager() const;
+
+ QXmlNamePool m_namePool;
+ QAbstractMessageHandler* m_userMessageHandler;
+ const QAbstractUriResolver* m_uriResolver;
+ QNetworkAccessManager* m_userNetworkAccessManager;
+ QPatternist::ReferenceCountedValue<QAbstractMessageHandler>::Ptr m_messageHandler;
+ QPatternist::ReferenceCountedValue<QNetworkAccessManager>::Ptr m_networkAccessManager;
+
+ QPatternist::XsdSchemaContext::Ptr m_schemaContext;
+ QPatternist::XsdSchemaParserContext::Ptr m_schemaParserContext;
+ bool m_schemaIsValid;
+ QUrl m_documentUri;
+};
+
+QT_END_NAMESPACE
+
+QT_END_HEADER
+
+#endif
diff --git a/src/xmlpatterns/api/qxmlschemavalidator.cpp b/src/xmlpatterns/api/qxmlschemavalidator.cpp
new file mode 100644
index 0000000..a864d40
--- /dev/null
+++ b/src/xmlpatterns/api/qxmlschemavalidator.cpp
@@ -0,0 +1,344 @@
+/****************************************************************************
+**
+** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the QtXmlPatterns of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "qxmlschemavalidator.h"
+#include "qxmlschemavalidator_p.h"
+
+#include "qacceltreeresourceloader_p.h"
+#include "qxmlschema.h"
+#include "qxmlschema_p.h"
+#include "qxsdvalidatinginstancereader_p.h"
+
+#include <QtCore/QBuffer>
+#include <QtCore/QIODevice>
+#include <QtCore/QUrl>
+
+QT_BEGIN_NAMESPACE
+
+/*!
+ \class QXmlSchemaValidator
+
+ \brief The QXmlSchemaValidator class validates XML instance documents against a W3C XML Schema.
+
+ \reentrant
+ \since 4.6
+ \ingroup xml-tools
+
+ The QXmlSchemaValidator class loads, parses an XML instance document and validates it
+ against a W3C XML Schema that has been compiled with \l{QXmlSchema}.
+
+ The following example shows how to load a XML Schema from a local
+ file, check whether it is a valid schema document and use it for validation
+ of an XML instance document:
+
+ \snippet doc/src/snippets/qxmlschemavalidator/main.cpp 3
+
+ \sa QXmlSchema, {xmlpatterns/schema}{XML Schema Validation Example}
+*/
+
+/*!
+ Constructs a schema validator.
+ The schema used for validation must be referenced in the XML instance document
+ via the \c xsi:schemaLocation or \c xsi:noNamespaceSchemaLocation attribute.
+ */
+QXmlSchemaValidator::QXmlSchemaValidator()
+ : d(new QXmlSchemaValidatorPrivate(QXmlSchema()))
+{
+}
+
+/*!
+ Constructs a schema validator that will use \a schema for validation.
+ If an empty \l {QXmlSchema} schema is passed to the validator, the schema used
+ for validation must be referenced in the XML instance document
+ via the \c xsi:schemaLocation or \c xsi:noNamespaceSchemaLocation attribute.
+ */
+QXmlSchemaValidator::QXmlSchemaValidator(const QXmlSchema &schema)
+ : d(new QXmlSchemaValidatorPrivate(schema))
+{
+}
+
+/*!
+ Destroys this QXmlSchemaValidator.
+ */
+QXmlSchemaValidator::~QXmlSchemaValidator()
+{
+ delete d;
+}
+
+/*!
+ Sets the \a schema that shall be used for further validation.
+ If the schema is empty, the schema used for validation must be referenced
+ in the XML instance document via the \c xsi:schemaLocation or
+ \c xsi:noNamespaceSchemaLocation attribute.
+ */
+void QXmlSchemaValidator::setSchema(const QXmlSchema &schema)
+{
+ d->setSchema(schema);
+}
+
+/*!
+ Validates the XML instance document read from \a data with the
+ given \a documentUri against the schema.
+
+ Returns \c true if the XML instance document is valid according to the
+ schema, \c false otherwise.
+
+ Example:
+
+ \snippet doc/src/snippets/qxmlschemavalidator/main.cpp 2
+ */
+bool QXmlSchemaValidator::validate(const QByteArray &data, const QUrl &documentUri) const
+{
+ QByteArray localData(data);
+
+ QBuffer buffer(&localData);
+ buffer.open(QIODevice::ReadOnly);
+
+ return validate(&buffer, documentUri);
+}
+
+/*!
+ Validates the XML instance document read from \a source against the schema.
+
+ Returns \c true if the XML instance document is valid according to the
+ schema, \c false otherwise.
+
+ Example:
+
+ \snippet doc/src/snippets/qxmlschemavalidator/main.cpp 0
+ */
+bool QXmlSchemaValidator::validate(const QUrl &source) const
+{
+ d->m_context->setMessageHandler(messageHandler());
+ d->m_context->setUriResolver(uriResolver());
+ d->m_context->setNetworkAccessManager(networkAccessManager());
+
+ const QPatternist::AutoPtr<QNetworkReply> reply(QPatternist::AccelTreeResourceLoader::load(source, d->m_context->networkAccessManager(),
+ d->m_context, QPatternist::AccelTreeResourceLoader::ContinueOnError));
+ if (reply)
+ return validate(reply.data(), source);
+ else
+ return false;
+}
+
+/*!
+ Validates the XML instance document read from \a source with the
+ given \a documentUri against the schema.
+
+ Returns \c true if the XML instance document is valid according to the
+ schema, \c false otherwise.
+
+ Example:
+
+ \snippet doc/src/snippets/qxmlschemavalidator/main.cpp 1
+ */
+bool QXmlSchemaValidator::validate(QIODevice *source, const QUrl &documentUri) const
+{
+ if (!source) {
+ qWarning("A null QIODevice pointer cannot be passed.");
+ return false;
+ }
+
+ if (!source->isReadable()) {
+ qWarning("The device must be readable.");
+ return false;
+ }
+
+ const QUrl normalizedUri = QPatternist::XPathHelper::normalizeQueryURI(documentUri);
+
+ d->m_context->setMessageHandler(messageHandler());
+ d->m_context->setUriResolver(uriResolver());
+ d->m_context->setNetworkAccessManager(networkAccessManager());
+
+ QPatternist::NetworkAccessDelegator::Ptr delegator(new QPatternist::NetworkAccessDelegator(d->m_context->networkAccessManager(),
+ d->m_context->networkAccessManager()));
+
+ QPatternist::AccelTreeResourceLoader loader(d->m_context->namePool(), delegator, QPatternist::AccelTreeBuilder<true>::SourceLocationsFeature);
+
+ QPatternist::Item item;
+ try {
+ item = loader.openDocument(source, normalizedUri, d->m_context);
+ } catch (QPatternist::Exception exception) {
+ return false;
+ }
+
+ QXmlNodeModelIndex index = item.asNode();
+ const QAbstractXmlNodeModel *model = item.asNode().model();
+
+ QPatternist::XsdValidatedXmlNodeModel *validatedModel = new QPatternist::XsdValidatedXmlNodeModel(model);
+
+ QPatternist::XsdValidatingInstanceReader reader(validatedModel, normalizedUri, d->m_context);
+ if (d->m_schema)
+ reader.addSchema(d->m_schema, d->m_schemaDocumentUri);
+ try {
+ reader.read();
+ } catch (QPatternist::Exception exception) {
+ return false;
+ }
+
+ return true;
+}
+
+/*!
+ Returns the name pool used by this QXmlSchemaValidator for constructing \l
+ {QXmlName} {names}. There is no setter for the name pool, because
+ mixing name pools causes errors due to name confusion.
+ */
+QXmlNamePool QXmlSchemaValidator::namePool() const
+{
+ return d->m_namePool;
+}
+
+/*!
+ Returns the schema that is used for validation.
+ */
+QXmlSchema QXmlSchemaValidator::schema() const
+{
+ return d->m_originalSchema;
+}
+
+/*!
+ Changes the \l {QAbstractMessageHandler}{message handler} for this
+ QXmlSchemaValidator to \a handler. The schema validator sends all parsing and
+ validation messages to this message handler. QXmlSchemaValidator does not take
+ ownership of \a handler.
+
+ Normally, the default message handler is sufficient. It writes
+ compile and validation messages to \e stderr. The default message
+ handler includes color codes if \e stderr can render colors.
+
+ When QXmlSchemaValidator calls QAbstractMessageHandler::message(),
+ the arguments are as follows:
+
+ \table
+ \header
+ \o message() argument
+ \o Semantics
+ \row
+ \o QtMsgType type
+ \o Only QtWarningMsg and QtFatalMsg are used. The former
+ identifies a warning, while the latter identifies an error.
+ \row
+ \o const QString & description
+ \o An XHTML document which is the actual message. It is translated
+ into the current language.
+ \row
+ \o const QUrl &identifier
+ \o Identifies the error with a URI, where the fragment is
+ the error code, and the rest of the URI is the error namespace.
+ \row
+ \o const QSourceLocation & sourceLocation
+ \o Identifies where the error occurred.
+ \endtable
+
+ */
+void QXmlSchemaValidator::setMessageHandler(QAbstractMessageHandler *handler)
+{
+ d->m_userMessageHandler = handler;
+}
+
+/*!
+ Returns the message handler that handles parsing and validation
+ messages for this QXmlSchemaValidator.
+ */
+QAbstractMessageHandler *QXmlSchemaValidator::messageHandler() const
+{
+ if (d->m_userMessageHandler)
+ return d->m_userMessageHandler;
+
+ return d->m_messageHandler.data()->value;
+}
+
+/*!
+ Sets the URI resolver to \a resolver. QXmlSchemaValidator does not take
+ ownership of \a resolver.
+
+ \sa uriResolver()
+ */
+void QXmlSchemaValidator::setUriResolver(const QAbstractUriResolver *resolver)
+{
+ d->m_uriResolver = resolver;
+}
+
+/*!
+ Returns the schema's URI resolver. If no URI resolver has been set,
+ QtXmlPatterns will use the URIs in instance documents as they are.
+
+ The URI resolver provides a level of abstraction, or \e{polymorphic
+ URIs}. A resolver can rewrite \e{logical} URIs to physical ones, or
+ it can translate obsolete or invalid URIs to valid ones.
+
+ When QtXmlPatterns calls QAbstractUriResolver::resolve() the
+ absolute URI is the URI mandated by the schema specification, and the
+ relative URI is the URI specified by the user.
+
+ \sa setUriResolver()
+ */
+const QAbstractUriResolver *QXmlSchemaValidator::uriResolver() const
+{
+ return d->m_uriResolver;
+}
+
+/*!
+ Sets the network manager to \a manager.
+ QXmlSchemaValidator does not take ownership of \a manager.
+
+ \sa networkAccessManager()
+ */
+void QXmlSchemaValidator::setNetworkAccessManager(QNetworkAccessManager *manager)
+{
+ d->m_userNetworkAccessManager = manager;
+}
+
+/*!
+ Returns the network manager, or 0 if it has not been set.
+
+ \sa setNetworkAccessManager()
+ */
+QNetworkAccessManager *QXmlSchemaValidator::networkAccessManager() const
+{
+ if (d->m_userNetworkAccessManager)
+ return d->m_userNetworkAccessManager;
+
+ return d->m_networkAccessManager.data()->value;
+}
+
+QT_END_NAMESPACE
diff --git a/src/xmlpatterns/api/qxmlschemavalidator.h b/src/xmlpatterns/api/qxmlschemavalidator.h
new file mode 100644
index 0000000..f32ac07
--- /dev/null
+++ b/src/xmlpatterns/api/qxmlschemavalidator.h
@@ -0,0 +1,97 @@
+/****************************************************************************
+**
+** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtXmlPatterns of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QXMLSCHEMAVALIDATOR_H
+#define QXMLSCHEMAVALIDATOR_H
+
+#include <QtCore/QUrl>
+#include <QtXmlPatterns/QXmlNamePool>
+
+QT_BEGIN_HEADER
+QT_BEGIN_NAMESPACE
+
+QT_MODULE(XmlPatterns)
+
+class QAbstractMessageHandler;
+class QAbstractUriResolver;
+class QIODevice;
+class QNetworkAccessManager;
+class QUrl;
+class QXmlNamePool;
+class QXmlSchema;
+class QXmlSchemaValidatorPrivate;
+
+class Q_XMLPATTERNS_EXPORT QXmlSchemaValidator
+{
+ public:
+ QXmlSchemaValidator();
+ QXmlSchemaValidator(const QXmlSchema &schema);
+ ~QXmlSchemaValidator();
+
+ void setSchema(const QXmlSchema &schema);
+
+ bool validate(const QUrl &source) const;
+ bool validate(QIODevice *source, const QUrl &documentUri = QUrl()) const;
+ bool validate(const QByteArray &data, const QUrl &documentUri = QUrl()) const;
+
+ QXmlNamePool namePool() const;
+ QXmlSchema schema() const;
+
+ void setMessageHandler(QAbstractMessageHandler *handler);
+ QAbstractMessageHandler *messageHandler() const;
+
+ void setUriResolver(const QAbstractUriResolver *resolver);
+ const QAbstractUriResolver *uriResolver() const;
+
+ void setNetworkAccessManager(QNetworkAccessManager *networkmanager);
+ QNetworkAccessManager *networkAccessManager() const;
+
+ private:
+ QXmlSchemaValidatorPrivate* const d;
+
+ Q_DISABLE_COPY(QXmlSchemaValidator)
+};
+
+QT_END_NAMESPACE
+
+QT_END_HEADER
+
+#endif
diff --git a/src/xmlpatterns/api/qxmlschemavalidator_p.h b/src/xmlpatterns/api/qxmlschemavalidator_p.h
new file mode 100644
index 0000000..40dbefc
--- /dev/null
+++ b/src/xmlpatterns/api/qxmlschemavalidator_p.h
@@ -0,0 +1,131 @@
+/****************************************************************************
+**
+** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtXmlPatterns of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+
+#ifndef QXMLSCHEMAVALIDATOR_P_H
+#define QXMLSCHEMAVALIDATOR_P_H
+
+#include "qabstractmessagehandler.h"
+#include "qabstracturiresolver.h"
+#include "qautoptr_p.h"
+#include "qcoloringmessagehandler_p.h"
+#include "qxmlschema.h"
+#include "qxmlschema_p.h"
+
+#include "qxsdschemacontext_p.h"
+#include "qxsdschema_p.h"
+
+#include <QtNetwork/QNetworkAccessManager>
+
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+class QXmlSchemaValidatorPrivate
+{
+public:
+ QXmlSchemaValidatorPrivate(const QXmlSchema &schema)
+ : m_namePool(schema.namePool())
+ , m_userMessageHandler(0)
+ , m_uriResolver(0)
+ , m_userNetworkAccessManager(0)
+ {
+ setSchema(schema);
+
+ const QXmlSchemaPrivate *p = schema.d;
+
+ // initialize the environment properties with the ones from the schema
+
+ if (p->m_userNetworkAccessManager) // schema has user defined network access manager
+ m_userNetworkAccessManager = p->m_userNetworkAccessManager;
+ else
+ m_networkAccessManager = p->m_networkAccessManager;
+
+ if (p->m_userMessageHandler) // schema has user defined message handler
+ m_userMessageHandler = p->m_userMessageHandler;
+ else
+ m_messageHandler = p->m_messageHandler;
+
+ m_uriResolver = p->m_uriResolver;
+ }
+
+ void setSchema(const QXmlSchema &schema)
+ {
+ // use same name pool as the schema
+ m_namePool = schema.namePool();
+ m_schema = schema.d->m_schemaParserContext->schema();
+ m_schemaDocumentUri = schema.documentUri();
+
+ // create a new schema context
+ m_context = QPatternist::XsdSchemaContext::Ptr(new QPatternist::XsdSchemaContext(m_namePool.d));
+ m_context->m_schemaTypeFactory = schema.d->m_schemaContext->m_schemaTypeFactory;
+ m_context->m_builtinTypesFacetList = schema.d->m_schemaContext->m_builtinTypesFacetList;
+
+ m_originalSchema = schema;
+ }
+
+ QXmlNamePool m_namePool;
+ QAbstractMessageHandler* m_userMessageHandler;
+ const QAbstractUriResolver* m_uriResolver;
+ QNetworkAccessManager* m_userNetworkAccessManager;
+ QPatternist::ReferenceCountedValue<QAbstractMessageHandler>::Ptr m_messageHandler;
+ QPatternist::ReferenceCountedValue<QNetworkAccessManager>::Ptr m_networkAccessManager;
+
+ QXmlSchema m_originalSchema;
+ QPatternist::XsdSchemaContext::Ptr m_context;
+ QPatternist::XsdSchema::Ptr m_schema;
+ QUrl m_schemaDocumentUri;
+};
+
+QT_END_NAMESPACE
+
+QT_END_HEADER
+
+#endif
diff --git a/src/xmlpatterns/api/qxmlserializer.h b/src/xmlpatterns/api/qxmlserializer.h
index 2fcc454..d46a566 100644
--- a/src/xmlpatterns/api/qxmlserializer.h
+++ b/src/xmlpatterns/api/qxmlserializer.h
@@ -148,7 +148,7 @@ private:
*/
inline void write(const QString &content);
- Q_DECLARE_SCOPED_PRIVATE(QXmlSerializer)
+ Q_DECLARE_PRIVATE(QXmlSerializer)
};
QT_END_NAMESPACE
diff --git a/src/xmlpatterns/common.pri b/src/xmlpatterns/common.pri
index 2573a26..27253d8 100644
--- a/src/xmlpatterns/common.pri
+++ b/src/xmlpatterns/common.pri
@@ -10,6 +10,7 @@ INCLUDEPATH += $$PWD/acceltree \
$$PWD/iterators \
$$PWD/janitors \
$$PWD/parser \
+ $$PWD/schema \
$$PWD/type \
$$PWD/utils
diff --git a/src/xmlpatterns/data/data.pri b/src/xmlpatterns/data/data.pri
index 99591d4..ccfed42 100644
--- a/src/xmlpatterns/data/data.pri
+++ b/src/xmlpatterns/data/data.pri
@@ -1,8 +1,8 @@
HEADERS += $$PWD/qabstractdatetime_p.h \
$$PWD/qabstractduration_p.h \
$$PWD/qabstractfloatcasters_p.h \
- $$PWD/qabstractfloat_p.h \
$$PWD/qabstractfloatmathematician_p.h \
+ $$PWD/qabstractfloat_p.h \
$$PWD/qanyuri_p.h \
$$PWD/qatomiccaster_p.h \
$$PWD/qatomiccasters_p.h \
@@ -14,8 +14,8 @@ HEADERS += $$PWD/qabstractdatetime_p.h \
$$PWD/qbase64binary_p.h \
$$PWD/qboolean_p.h \
$$PWD/qcommonvalues_p.h \
+ $$PWD/qcomparisonfactory_p.h \
$$PWD/qdate_p.h \
- $$PWD/qschemadatetime_p.h \
$$PWD/qdaytimeduration_p.h \
$$PWD/qdecimal_p.h \
$$PWD/qderivedinteger_p.h \
@@ -24,19 +24,21 @@ HEADERS += $$PWD/qabstractdatetime_p.h \
$$PWD/qgday_p.h \
$$PWD/qgmonthday_p.h \
$$PWD/qgmonth_p.h \
- $$PWD/qgyear_p.h \
$$PWD/qgyearmonth_p.h \
+ $$PWD/qgyear_p.h \
$$PWD/qhexbinary_p.h \
$$PWD/qinteger_p.h \
$$PWD/qitem_p.h \
$$PWD/qnodebuilder_p.h \
- $$PWD/qschemanumeric_p.h \
$$PWD/qqnamevalue_p.h \
$$PWD/qresourceloader_p.h \
- $$PWD/qsorttuple.cpp \
+ $$PWD/qschemadatetime_p.h \
+ $$PWD/qschemanumeric_p.h \
$$PWD/qschematime_p.h \
+ $$PWD/qsorttuple.cpp \
$$PWD/quntypedatomic_p.h \
$$PWD/qvalidationerror_p.h \
+ $$PWD/qvaluefactory_p.h \
$$PWD/qyearmonthduration_p.h
SOURCES += $$PWD/qabstractdatetime.cpp \
@@ -53,8 +55,8 @@ SOURCES += $$PWD/qabstractdatetime.cpp \
$$PWD/qbase64binary.cpp \
$$PWD/qboolean.cpp \
$$PWD/qcommonvalues.cpp \
+ $$PWD/qcomparisonfactory.cpp \
$$PWD/qdate.cpp \
- $$PWD/qschemadatetime.cpp \
$$PWD/qdaytimeduration.cpp \
$$PWD/qdecimal.cpp \
$$PWD/qduration.cpp \
@@ -68,11 +70,13 @@ SOURCES += $$PWD/qabstractdatetime.cpp \
$$PWD/qitem.cpp \
$$PWD/qnodebuilder.cpp \
$$PWD/qnodemodel.cpp \
- $$PWD/qschemanumeric.cpp \
$$PWD/qqnamevalue.cpp \
$$PWD/qresourceloader.cpp \
- $$PWD/qsorttuple.cpp \
+ $$PWD/qschemadatetime.cpp \
+ $$PWD/qschemanumeric.cpp \
$$PWD/qschematime.cpp \
+ $$PWD/qsorttuple.cpp \
$$PWD/quntypedatomic.cpp \
$$PWD/qvalidationerror.cpp \
+ $$PWD/qvaluefactory.cpp \
$$PWD/qyearmonthduration.cpp
diff --git a/src/xmlpatterns/data/qboolean.cpp b/src/xmlpatterns/data/qboolean.cpp
index 07562fd..bb4ece1 100644
--- a/src/xmlpatterns/data/qboolean.cpp
+++ b/src/xmlpatterns/data/qboolean.cpp
@@ -76,7 +76,7 @@ bool Boolean::evaluateEBV(const Item &first,
{
Q_ASSERT(context);
context->error(QtXmlPatterns::tr("Effective Boolean Value cannot be calculated for a sequence "
- "containing two or more atomic values."),
+ "containing two or more atomic values."),
ReportContext::FORG0006,
QSourceLocation());
return false;
diff --git a/src/xmlpatterns/data/qcomparisonfactory.cpp b/src/xmlpatterns/data/qcomparisonfactory.cpp
new file mode 100644
index 0000000..c22d9e7
--- /dev/null
+++ b/src/xmlpatterns/data/qcomparisonfactory.cpp
@@ -0,0 +1,154 @@
+/****************************************************************************
+**
+** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the QtXmlPatterns of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "qatomiccomparators_p.h"
+#include "qatomicstring_p.h"
+#include "qcomparisonplatform_p.h"
+#include "qvaluefactory_p.h"
+
+#include "qcomparisonfactory_p.h"
+
+QT_BEGIN_NAMESPACE
+
+using namespace QPatternist;
+
+/**
+ * @short Helper class for ComparisonFactory::fromLexical() which exposes
+ * CastingPlatform appropriately.
+ *
+ * @relates ComparisonFactory
+ */
+class PerformComparison : public ComparisonPlatform<PerformComparison, true>
+ , public SourceLocationReflection
+{
+public:
+ PerformComparison(const SourceLocationReflection *const sourceLocationReflection,
+ const AtomicComparator::Operator op) : m_sourceReflection(sourceLocationReflection)
+ , m_operator(op)
+ {
+ Q_ASSERT(m_sourceReflection);
+ }
+
+ bool operator()(const AtomicValue::Ptr &operand1,
+ const AtomicValue::Ptr &operand2,
+ const SchemaType::Ptr &type,
+ const ReportContext::Ptr &context)
+ {
+ const ItemType::Ptr asItemType((AtomicType::Ptr(type)));
+
+ /* One area where the Query Transform world differs from the Schema
+ * world is that @c xs:duration is not considedered comparable, because
+ * it's according to Schema is partially comparable. This means
+ * ComparisonPlatform::fetchComparator() flags it as impossible, and
+ * hence we need to override that.
+ *
+ * SchemaType::wxsTypeMatches() will return true for sub-types of @c
+ * xs:duration as well, but that's ok since AbstractDurationComparator
+ * works for them too. */
+ if(BuiltinTypes::xsDuration->wxsTypeMatches(type))
+ prepareComparison(AtomicComparator::Ptr(new AbstractDurationComparator()));
+ else if (BuiltinTypes::xsGYear->wxsTypeMatches(type) ||
+ BuiltinTypes::xsGYearMonth->wxsTypeMatches(type) ||
+ BuiltinTypes::xsGMonth->wxsTypeMatches(type) ||
+ BuiltinTypes::xsGMonthDay->wxsTypeMatches(type) ||
+ BuiltinTypes::xsGDay->wxsTypeMatches(type))
+ prepareComparison(AtomicComparator::Ptr(new AbstractDateTimeComparator()));
+ else
+ prepareComparison(fetchComparator(asItemType, asItemType, context));
+
+ return flexibleCompare(operand1, operand2, context);
+ }
+
+ const SourceLocationReflection *actualReflection() const
+ {
+ return m_sourceReflection;
+ }
+
+ AtomicComparator::Operator operatorID() const
+ {
+ return m_operator;
+ }
+
+private:
+ const SourceLocationReflection *const m_sourceReflection;
+ const AtomicComparator::Operator m_operator;
+};
+
+bool ComparisonFactory::compare(const AtomicValue::Ptr &operand1,
+ const AtomicComparator::Operator op,
+ const AtomicValue::Ptr &operand2,
+ const SchemaType::Ptr &type,
+ const ReportContext::Ptr &context,
+ const SourceLocationReflection *const sourceLocationReflection)
+{
+ Q_ASSERT(operand1);
+ Q_ASSERT(operand2);
+ Q_ASSERT(context);
+ Q_ASSERT(sourceLocationReflection);
+ Q_ASSERT(type);
+ Q_ASSERT_X(type->category() == SchemaType::SimpleTypeAtomic, Q_FUNC_INFO,
+ "We can only compare atomic values.");
+
+ return PerformComparison(sourceLocationReflection, op)(operand1, operand2, type, context);
+}
+
+bool ComparisonFactory::constructAndCompare(const DerivedString<TypeString>::Ptr &operand1,
+ const AtomicComparator::Operator op,
+ const DerivedString<TypeString>::Ptr &operand2,
+ const SchemaType::Ptr &type,
+ const ReportContext::Ptr &context,
+ const SourceLocationReflection *const sourceLocationReflection)
+{
+ Q_ASSERT(operand1);
+ Q_ASSERT(operand2);
+ Q_ASSERT(context);
+ Q_ASSERT(sourceLocationReflection);
+ Q_ASSERT(type);
+ Q_ASSERT_X(type->category() == SchemaType::SimpleTypeAtomic, Q_FUNC_INFO,
+ "We can only compare atomic values.");
+
+ const AtomicValue::Ptr value1 = ValueFactory::fromLexical(operand1->stringValue(), type, context, sourceLocationReflection);
+ const AtomicValue::Ptr value2 = ValueFactory::fromLexical(operand2->stringValue(), type, context, sourceLocationReflection);
+
+ return compare(value1, op, value2, type, context, sourceLocationReflection);
+}
+
+QT_END_NAMESPACE
diff --git a/src/xmlpatterns/data/qcomparisonfactory_p.h b/src/xmlpatterns/data/qcomparisonfactory_p.h
new file mode 100644
index 0000000..1234548
--- /dev/null
+++ b/src/xmlpatterns/data/qcomparisonfactory_p.h
@@ -0,0 +1,121 @@
+/****************************************************************************
+**
+** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtXmlPatterns of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+
+#ifndef Patternist_ComparisonFactory_H
+#define Patternist_ComparisonFactory_H
+
+#include "qatomiccomparator_p.h"
+#include "qderivedstring_p.h"
+#include "qitem_p.h"
+#include "qreportcontext_p.h"
+#include "qschematype_p.h"
+
+QT_BEGIN_HEADER
+QT_BEGIN_NAMESPACE
+
+namespace QPatternist
+{
+ /**
+ * @short Provides compare(), which is a high-level helper function for
+ * comparing atomic values.
+ *
+ * This class wraps the helper class ComparisonPlatform with a more specific,
+ * high-level API.
+ *
+ * @see ComparisonPlatform
+ * @author Frans Englich <fenglich@trolltech.com>
+ * @ingroup Patternist_schema
+ */
+ class ComparisonFactory
+ {
+ public:
+ /**
+ * @short Returns the result of evaluating operator @p op applied to the atomic
+ * values @p operand1 and @p operand2.
+ *
+ * The caller guarantees that both values are of type @p type.
+ *
+ * ComparisonFactory does not take ownership of @p sourceLocationReflection.
+ */
+ static bool compare(const AtomicValue::Ptr &operand1,
+ const AtomicComparator::Operator op,
+ const AtomicValue::Ptr &operand2,
+ const SchemaType::Ptr &type,
+ const ReportContext::Ptr &context,
+ const SourceLocationReflection *const sourceLocationReflection);
+
+ /**
+ * @short Returns the result of evaluating operator @p op applied to the atomic
+ * values @p operand1 and @p operand2.
+ *
+ * In opposite to compare() it converts the operands from string type
+ * to @p type and compares these constructed types.
+ *
+ * The caller guarantees that both values are of type @p type.
+ *
+ * ComparisonFactory does not take ownership of @p sourceLocationReflection.
+ */
+ static bool constructAndCompare(const DerivedString<TypeString>::Ptr &operand1,
+ const AtomicComparator::Operator op,
+ const DerivedString<TypeString>::Ptr &operand2,
+ const SchemaType::Ptr &type,
+ const ReportContext::Ptr &context,
+ const SourceLocationReflection *const sourceLocationReflection);
+
+ private:
+ Q_DISABLE_COPY(ComparisonFactory)
+ };
+}
+
+QT_END_NAMESPACE
+QT_END_HEADER
+
+#endif
diff --git a/src/xmlpatterns/data/qitem_p.h b/src/xmlpatterns/data/qitem_p.h
index 1f50072..60c8510 100644
--- a/src/xmlpatterns/data/qitem_p.h
+++ b/src/xmlpatterns/data/qitem_p.h
@@ -128,6 +128,11 @@ namespace QPatternist
typedef QExplicitlySharedDataPointer<AtomicValue> Ptr;
/**
+ * A list if smart pointers wrapping AtomicValue instances.
+ */
+ typedef QList<AtomicValue::Ptr> List;
+
+ /**
* Determines whether this atomic value has an error. This is used
* for implementing casting.
*
diff --git a/src/xmlpatterns/data/qresourceloader_p.h b/src/xmlpatterns/data/qresourceloader_p.h
index 8cb174d..0ebc885 100644
--- a/src/xmlpatterns/data/qresourceloader_p.h
+++ b/src/xmlpatterns/data/qresourceloader_p.h
@@ -114,7 +114,7 @@ namespace QPatternist
*
* Typically this hint is given when the URI is available at
* compile-time, but it is used inside a conditional statement
- * whose branching can't be determined at compile time.
+ * whose branching cannot be determined at compile time.
*/
MayUse,
diff --git a/src/xmlpatterns/data/qvaluefactory.cpp b/src/xmlpatterns/data/qvaluefactory.cpp
new file mode 100644
index 0000000..63307c2
--- /dev/null
+++ b/src/xmlpatterns/data/qvaluefactory.cpp
@@ -0,0 +1,106 @@
+/****************************************************************************
+**
+** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the QtXmlPatterns of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "qatomiccaster_p.h"
+#include "qatomicstring_p.h"
+#include "qcastingplatform_p.h"
+#include "qvaluefactory_p.h"
+
+QT_BEGIN_NAMESPACE
+
+using namespace QPatternist;
+
+/**
+ * @short Helper class for ValueFactory::fromLexical() which exposes
+ * CastingPlatform appropriately.
+ *
+ * @relates ValueFactory
+ */
+class PerformValueConstruction : public CastingPlatform<PerformValueConstruction, false>
+ , public SourceLocationReflection
+{
+public:
+ PerformValueConstruction(const SourceLocationReflection *const sourceLocationReflection,
+ const SchemaType::Ptr &toType) : m_sourceReflection(sourceLocationReflection)
+ , m_targetType(AtomicType::Ptr(toType))
+ {
+ Q_ASSERT(m_sourceReflection);
+ }
+
+ AtomicValue::Ptr operator()(const AtomicValue::Ptr &lexicalValue,
+ const SchemaType::Ptr &type,
+ const ReportContext::Ptr &context)
+ {
+ prepareCasting(context, BuiltinTypes::xsString);
+ return AtomicValue::Ptr(const_cast<AtomicValue *>(cast(lexicalValue, context).asAtomicValue()));
+ }
+
+ const SourceLocationReflection *actualReflection() const
+ {
+ return m_sourceReflection;
+ }
+
+ ItemType::Ptr targetType() const
+ {
+ return m_targetType;
+ }
+
+private:
+ const SourceLocationReflection *const m_sourceReflection;
+ const ItemType::Ptr m_targetType;
+};
+
+AtomicValue::Ptr ValueFactory::fromLexical(const QString &lexicalValue,
+ const SchemaType::Ptr &type,
+ const ReportContext::Ptr &context,
+ const SourceLocationReflection *const sourceLocationReflection)
+{
+ Q_ASSERT(context);
+ Q_ASSERT(type);
+ Q_ASSERT_X(type->category() == SchemaType::SimpleTypeAtomic, Q_FUNC_INFO,
+ "We can only construct for atomic values.");
+
+ return PerformValueConstruction(sourceLocationReflection, type)(AtomicString::fromValue(lexicalValue),
+ type,
+ context);
+}
+
+QT_END_NAMESPACE
diff --git a/src/xmlpatterns/data/qvaluefactory_p.h b/src/xmlpatterns/data/qvaluefactory_p.h
new file mode 100644
index 0000000..acc5733
--- /dev/null
+++ b/src/xmlpatterns/data/qvaluefactory_p.h
@@ -0,0 +1,98 @@
+/****************************************************************************
+**
+** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtXmlPatterns of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+
+#ifndef Patternist_ValueFactory_H
+#define Patternist_ValueFactory_H
+
+#include "qitem_p.h"
+#include "qreportcontext_p.h"
+#include "qschematype_p.h"
+
+QT_BEGIN_HEADER
+QT_BEGIN_NAMESPACE
+
+namespace QPatternist
+{
+ /**
+ * @short Provides fromLexical(), which allows instantiation of atomic
+ * values from arbitrary types.
+ *
+ * This class wraps the helper class CastingPlatform with a more specific,
+ * high-level API.
+ *
+ * @see CastingPlatform
+ * @author Frans Englich <fenglich@trolltech.com>
+ * @ingroup Patternist_schema
+ */
+ class ValueFactory
+ {
+ public:
+ /**
+ * @short Returns an AtomicValue of type @p type from the lexical space
+ * @p lexicalValue, and raise an error through @p context if that's
+ * impossible.
+ *
+ * ValueFactory does not take ownership of @p sourceLocationReflection.
+ */
+ static AtomicValue::Ptr fromLexical(const QString &lexicalValue,
+ const SchemaType::Ptr &type,
+ const ReportContext::Ptr &context,
+ const SourceLocationReflection *const sourceLocationReflection);
+
+ private:
+ Q_DISABLE_COPY(ValueFactory)
+ };
+}
+
+QT_END_NAMESPACE
+QT_END_HEADER
+
+#endif
diff --git a/src/xmlpatterns/environment/createReportContext.xsl b/src/xmlpatterns/environment/createReportContext.xsl
index 7ca96bf..5b754d2 100644
--- a/src/xmlpatterns/environment/createReportContext.xsl
+++ b/src/xmlpatterns/environment/createReportContext.xsl
@@ -242,6 +242,11 @@ namespace QPatternist
*/]]></xsl:text>
enum ErrorCode
{
+ /**
+ * XML Schema error code.
+ */
+ XSDError,
+
<!-- The order of the calls is significant. The templates takes into account
to avoid the last comma(extractXSLT20 does this). -->
<xsl:call-template name="extractXQuery10"/>
diff --git a/src/xmlpatterns/environment/qreportcontext.cpp b/src/xmlpatterns/environment/qreportcontext.cpp
index 34ef6ce..64afcdb 100644
--- a/src/xmlpatterns/environment/qreportcontext.cpp
+++ b/src/xmlpatterns/environment/qreportcontext.cpp
@@ -448,6 +448,7 @@ QString ReportContext::codeToString(const ReportContext::ErrorCode code)
case XTTE1545: result = "XTTE1545"; break;
case XTTE1550: result = "XTTE1550"; break;
case XTTE1555: result = "XTTE1555"; break;
+ case XSDError: result = "XSDError"; break;
}
Q_ASSERT_X(result, Q_FUNC_INFO, "Unknown enum value.");
diff --git a/src/xmlpatterns/environment/qreportcontext_p.h b/src/xmlpatterns/environment/qreportcontext_p.h
index ee78972..dbdf824 100644
--- a/src/xmlpatterns/environment/qreportcontext_p.h
+++ b/src/xmlpatterns/environment/qreportcontext_p.h
@@ -151,6 +151,10 @@ namespace QPatternist
*/
enum ErrorCode
{
+ /**
+ * XML Schema error code.
+ */
+ XSDError,
/**
* It is a static error if analysis of an expression relies on some
diff --git a/src/xmlpatterns/expr/qcastingplatform.cpp b/src/xmlpatterns/expr/qcastingplatform.cpp
index bc902f9..933d188 100644
--- a/src/xmlpatterns/expr/qcastingplatform.cpp
+++ b/src/xmlpatterns/expr/qcastingplatform.cpp
@@ -83,7 +83,7 @@ Item CastingPlatform<TSubClass, issueError>::cast(const Item &sourceValue,
else
{
bool castImpossible = false;
- const AtomicCaster::Ptr caster(locateCaster(sourceValue.type(), context, castImpossible));
+ const AtomicCaster::Ptr caster(locateCaster(sourceValue.type(), context, castImpossible, static_cast<const TSubClass *>(this), targetType()));
if(!issueError && castImpossible)
{
@@ -112,7 +112,7 @@ bool CastingPlatform<TSubClass, issueError>::prepareCasting(const ReportContext:
or numeric at compile time. We'll do lookup at runtime instead. */
bool castImpossible = false;
- m_caster = locateCaster(sourceType, context, castImpossible);
+ m_caster = locateCaster(sourceType, context, castImpossible, static_cast<const TSubClass *>(this), targetType());
return !castImpossible;
}
@@ -120,20 +120,22 @@ bool CastingPlatform<TSubClass, issueError>::prepareCasting(const ReportContext:
template <typename TSubClass, const bool issueError>
AtomicCaster::Ptr CastingPlatform<TSubClass, issueError>::locateCaster(const ItemType::Ptr &sourceType,
const ReportContext::Ptr &context,
- bool &castImpossible) const
+ bool &castImpossible,
+ const SourceLocationReflection *const location,
+ const ItemType::Ptr &targetType)
{
Q_ASSERT(sourceType);
- Q_ASSERT(targetType());
+ Q_ASSERT(targetType);
const AtomicCasterLocator::Ptr locator(static_cast<AtomicType *>(
- targetType().data())->casterLocator());
+ targetType.data())->casterLocator());
if(!locator)
{
if(issueError)
{
context->error(QtXmlPatterns::tr("No casting is possible with %1 as the target type.")
- .arg(formatType(context->namePool(), targetType())),
- ReportContext::XPTY0004, static_cast<const TSubClass *>(this));
+ .arg(formatType(context->namePool(), targetType)),
+ ReportContext::XPTY0004, location);
}
else
castImpossible = true;
@@ -141,15 +143,15 @@ AtomicCaster::Ptr CastingPlatform<TSubClass, issueError>::locateCaster(const Ite
return AtomicCaster::Ptr();
}
- const AtomicCaster::Ptr caster(static_cast<const AtomicType *>(sourceType.data())->accept(locator, static_cast<const TSubClass *>(this)));
+ const AtomicCaster::Ptr caster(static_cast<const AtomicType *>(sourceType.data())->accept(locator, location));
if(!caster)
{
if(issueError)
{
context->error(QtXmlPatterns::tr("It is not possible to cast from %1 to %2.")
.arg(formatType(context->namePool(), sourceType))
- .arg(formatType(context->namePool(), targetType())),
- ReportContext::XPTY0004, static_cast<const TSubClass *>(this));
+ .arg(formatType(context->namePool(), targetType)),
+ ReportContext::XPTY0004, location);
}
else
castImpossible = true;
diff --git a/src/xmlpatterns/expr/qcastingplatform_p.h b/src/xmlpatterns/expr/qcastingplatform_p.h
index 3aded3d..91f4a8c 100644
--- a/src/xmlpatterns/expr/qcastingplatform_p.h
+++ b/src/xmlpatterns/expr/qcastingplatform_p.h
@@ -52,16 +52,17 @@
#ifndef Patternist_CastingPlatform_H
#define Patternist_CastingPlatform_H
+#include "qatomiccasterlocator_p.h"
#include "qatomiccaster_p.h"
-#include "qqnamevalue_p.h"
#include "qatomicstring_p.h"
-#include "qvalidationerror_p.h"
-#include "qatomiccasterlocator_p.h"
#include "qatomictype_p.h"
#include "qbuiltintypes_p.h"
#include "qcommonsequencetypes_p.h"
-#include "qschematypefactory_p.h"
#include "qpatternistlocale_p.h"
+#include "qqnamevalue_p.h"
+#include "qschematypefactory_p.h"
+#include "qstaticcontext_p.h"
+#include "qvalidationerror_p.h"
QT_BEGIN_HEADER
@@ -101,6 +102,7 @@ namespace QPatternist
* function targetType() must be implemented such that CastingPlatform knows
* what type it shall cast to.
*
+ * @see ValueFactory
* @author Frans Englich <fenglich@trolltech.com>
* @ingroup Patternist_expressions
*/
@@ -167,9 +169,16 @@ namespace QPatternist
*
* @p castImpossible is not initialized. Initialize it to @c false.
*/
- AtomicCaster::Ptr locateCaster(const ItemType::Ptr &sourceType,
- const ReportContext::Ptr &context,
- bool &castImpossible) const;
+ static AtomicCaster::Ptr locateCaster(const ItemType::Ptr &sourceType,
+ const ReportContext::Ptr &context,
+ bool &castImpossible,
+ const SourceLocationReflection *const location,
+ const ItemType::Ptr &targetType);
+ private:
+ inline Item castWithCaster(const Item &sourceValue,
+ const AtomicCaster::Ptr &caster,
+ const DynamicContext::Ptr &context) const;
+
inline ItemType::Ptr targetType() const
{
diff --git a/src/xmlpatterns/expr/qexpressionfactory.cpp b/src/xmlpatterns/expr/qexpressionfactory.cpp
index e243037..0ddf3b1 100644
--- a/src/xmlpatterns/expr/qexpressionfactory.cpp
+++ b/src/xmlpatterns/expr/qexpressionfactory.cpp
@@ -81,9 +81,13 @@ Expression::Ptr ExpressionFactory::createExpression(const QString &expr,
const QUrl &queryURI,
const QXmlName &initialTemplateName)
{
- if(lang == QXmlQuery::XQuery10)
+ if(lang == QXmlQuery::XSLT20)
{
- return createExpression(Tokenizer::Ptr(new XQueryTokenizer(expr, queryURI)),
+ QByteArray query(expr.toUtf8());
+ QBuffer buffer(&query);
+ buffer.open(QIODevice::ReadOnly);
+
+ return createExpression(&buffer,
context,
lang,
requiredType,
@@ -92,12 +96,7 @@ Expression::Ptr ExpressionFactory::createExpression(const QString &expr,
}
else
{
- Q_ASSERT(lang == QXmlQuery::XSLT20);
- QByteArray query(expr.toUtf8());
- QBuffer buffer(&query);
- buffer.open(QIODevice::ReadOnly);
-
- return createExpression(&buffer,
+ return createExpression(Tokenizer::Ptr(new XQueryTokenizer(expr, queryURI)),
context,
lang,
requiredType,
@@ -118,16 +117,10 @@ Expression::Ptr ExpressionFactory::createExpression(QIODevice *const device,
Tokenizer::Ptr tokenizer;
- if(lang == QXmlQuery::XQuery10)
- {
-
- tokenizer = Tokenizer::Ptr(new XQueryTokenizer(QString::fromUtf8(device->readAll()), queryURI));
- }
- else
- {
- Q_ASSERT(lang == QXmlQuery::XSLT20);
+ if(lang == QXmlQuery::XSLT20)
tokenizer = Tokenizer::Ptr(new XSLTTokenizer(device, queryURI, context, context->namePool()));
- }
+ else
+ tokenizer = Tokenizer::Ptr(new XQueryTokenizer(QString::fromUtf8(device->readAll()), queryURI));
return createExpression(tokenizer, context, lang, requiredType, queryURI, initialTemplateName);
}
diff --git a/src/xmlpatterns/functions/qpatternplatform.cpp b/src/xmlpatterns/functions/qpatternplatform.cpp
index 74414f4..5339f28 100644
--- a/src/xmlpatterns/functions/qpatternplatform.cpp
+++ b/src/xmlpatterns/functions/qpatternplatform.cpp
@@ -168,8 +168,15 @@ void PatternPlatform::applyFlags(const Flags flags, QRegExp &patternP)
// TODO Apply the other flags, like 'x'.
}
+QRegExp PatternPlatform::parsePattern(const QString &pattern,
+ const ReportContext::Ptr &context) const
+{
+ return parsePattern(pattern, context, this);
+}
+
QRegExp PatternPlatform::parsePattern(const QString &patternP,
- const DynamicContext::Ptr &context) const
+ const ReportContext::Ptr &context,
+ const SourceLocationReflection *const location)
{
if(patternP == QLatin1String("(.)\\3") ||
patternP == QLatin1String("\\3") ||
@@ -177,7 +184,7 @@ QRegExp PatternPlatform::parsePattern(const QString &patternP,
{
context->error(QLatin1String("We don't want to hang infinitely on K2-MatchesFunc-9, "
"10 and 11. See Trolltech task 148505."),
- ReportContext::FOER0000, this);
+ ReportContext::FOER0000, location);
return QRegExp();
}
@@ -189,14 +196,8 @@ QRegExp PatternPlatform::parsePattern(const QString &patternP,
* QChar::category(). */
rewrittenPattern.replace(QLatin1String("[\\i-[:]]"), QLatin1String("[a-zA-Z_]"));
rewrittenPattern.replace(QLatin1String("[\\c-[:]]"), QLatin1String("[a-zA-Z0-9_\\-\\.]"));
- rewrittenPattern.replace(QLatin1String("\\i"), QLatin1String("[a-zA-Z:_]"));
- rewrittenPattern.replace(QLatin1String("\\c"), QLatin1String("[a-zA-Z0-9:_\\-\\.]"));
- rewrittenPattern.replace(QLatin1String("\\p{L}"), QLatin1String("[a-zA-Z]"));
- rewrittenPattern.replace(QLatin1String("\\p{Lu}"), QLatin1String("[A-Z]"));
- rewrittenPattern.replace(QLatin1String("\\p{Ll}"), QLatin1String("[a-z]"));
- rewrittenPattern.replace(QLatin1String("\\p{Nd}"), QLatin1String("[0-9]"));
- QRegExp retval(rewrittenPattern);
+ QRegExp retval(rewrittenPattern, Qt::CaseSensitive, QRegExp::W3CXmlSchema11);
if(retval.isValid())
return retval;
@@ -204,7 +205,7 @@ QRegExp PatternPlatform::parsePattern(const QString &patternP,
{
context->error(QtXmlPatterns::tr("%1 is an invalid regular expression pattern: %2")
.arg(formatExpression(patternP), retval.errorString()),
- ReportContext::FORX0002, this);
+ ReportContext::FORX0002, location);
return QRegExp();
}
}
diff --git a/src/xmlpatterns/functions/qpatternplatform_p.h b/src/xmlpatterns/functions/qpatternplatform_p.h
index 3f4b18e..76f5332 100644
--- a/src/xmlpatterns/functions/qpatternplatform_p.h
+++ b/src/xmlpatterns/functions/qpatternplatform_p.h
@@ -122,6 +122,14 @@ namespace QPatternist
*/
inline int captureCount() const;
+ /**
+ * @short Parses pattern
+ */
+ static QRegExp parsePattern(const QString &pattern,
+ const ReportContext::Ptr &context,
+ const SourceLocationReflection *const location);
+
+
protected:
/**
* @short This constructor is protected, because this class is supposed to be sub-classed.
@@ -146,14 +154,18 @@ namespace QPatternist
};
typedef QFlags<PreCompiledPart> PreCompiledParts;
+ /**
+ * @short Calls the public parsePattern() function and passes in @c
+ * this as the location.
+ */
+ inline QRegExp parsePattern(const QString &pattern,
+ const ReportContext::Ptr &context) const;
+
Q_DISABLE_COPY(PatternPlatform)
Flags parseFlags(const QString &flags,
const DynamicContext::Ptr &context) const;
- QRegExp parsePattern(const QString &pattern,
- const DynamicContext::Ptr &context) const;
-
static void applyFlags(const Flags flags, QRegExp &pattern);
/**
diff --git a/src/xmlpatterns/functions/qsequencegeneratingfns.cpp b/src/xmlpatterns/functions/qsequencegeneratingfns.cpp
index 81724f8..e3f30c5 100644
--- a/src/xmlpatterns/functions/qsequencegeneratingfns.cpp
+++ b/src/xmlpatterns/functions/qsequencegeneratingfns.cpp
@@ -69,19 +69,6 @@ Item IdFN::mapToItem(const QString &id,
}
/**
- * @short Helper class for StringSplitter
- *
- * Needed by the QAbstractXmlForwardIterator sub-class.
- *
- * @relates StringSplitter
- */
-template<>
-bool qIsForwardIteratorEnd(const QString &unit)
-{
- return unit.isNull();
-}
-
-/**
* @short Helper class for IdFN.
*
* StringSplitter takes an Iterator which delivers strings of this kind:
diff --git a/src/xmlpatterns/parser/qmaintainingreader.cpp b/src/xmlpatterns/parser/qmaintainingreader.cpp
index 0513555..292e0fd 100644
--- a/src/xmlpatterns/parser/qmaintainingreader.cpp
+++ b/src/xmlpatterns/parser/qmaintainingreader.cpp
@@ -147,7 +147,8 @@ void MaintainingReader<TokenLookupClass, LookupKey>::validateElement(const Looku
if(m_elementDescriptions.contains(elementName))
{
- const ElementDescription<TokenLookupClass, LookupKey> &desc = m_elementDescriptions.value(elementName);
+ // QHash::value breaks in Metrowerks Compiler
+ const ElementDescription<TokenLookupClass, LookupKey> &desc = *m_elementDescriptions.find(elementName);
const int attCount = m_currentAttributes.count();
QSet<typename TokenLookupClass::NodeName> encounteredXSLTAtts;
@@ -172,7 +173,7 @@ void MaintainingReader<TokenLookupClass, LookupKey>::validateElement(const Looku
QStringList allowed;
for(int i = 0; i < totalCount; ++i)
- allowed.append(formatKeyword(toString(all.at(i))));
+ allowed.append(QPatternist::formatKeyword(TokenLookupClass::toString(all.at(i))));
/* Note, we can't run toString() on attrName, because we're in this branch,
* the token lookup doesn't have the string(!).*/
@@ -229,7 +230,7 @@ void MaintainingReader<TokenLookupClass, LookupKey>::validateElement(const Looku
if(!requiredButMissing.isEmpty())
{
error(QtXmlPatterns::tr("The attribute %1 must appear on element %2.")
- .arg(formatKeyword(toString(*requiredButMissing.constBegin())),
+ .arg(QPatternist::formatKeyword(TokenLookupClass::toString(*requiredButMissing.constBegin())),
formatKeyword(name())),
ReportContext::XTSE0010);
}
diff --git a/src/xmlpatterns/parser/qmaintainingreader_p.h b/src/xmlpatterns/parser/qmaintainingreader_p.h
index c2c991e..eb20bdb 100644
--- a/src/xmlpatterns/parser/qmaintainingreader_p.h
+++ b/src/xmlpatterns/parser/qmaintainingreader_p.h
@@ -59,6 +59,7 @@
#include <QXmlStreamReader>
#include "qxpathhelper_p.h"
+#include "qxslttokenlookup_p.h"
class QUrl;
diff --git a/src/xmlpatterns/parser/qquerytransformparser.cpp b/src/xmlpatterns/parser/qquerytransformparser.cpp
index cc6c82e..d80c09f 100644
--- a/src/xmlpatterns/parser/qquerytransformparser.cpp
+++ b/src/xmlpatterns/parser/qquerytransformparser.cpp
@@ -300,11 +300,18 @@ static inline QSourceLocation fromYYLTYPE(const YYLTYPE &sourceLocator,
}
/**
+ * @internal
+ * @relates QXmlQuery
+ */
+typedef QFlags<QXmlQuery::QueryLanguage> QueryLanguages;
+
+/**
* @short Flags invalid expressions and declarations in the currently
* parsed language.
*
- * Since this grammar is used for several languages: XQuery 1.0, XSL-T 2.0 and
- * XPath 2.0 inside XSL-T, it is the union of all the constructs in these
+ * Since this grammar is used for several languages: XQuery 1.0, XSL-T 2.0, and
+ * XPath 2.0 inside XSL-T, and field and selector patterns in W3C XML Schema's
+ * identity constraints, it is the union of all the constructs in these
* languages. However, when dealing with each language individually, we
* regularly need to disallow some expressions, such as direct element
* constructors when parsing XSL-T, or the typeswitch when parsing XPath.
@@ -315,19 +322,46 @@ static inline QSourceLocation fromYYLTYPE(const YYLTYPE &sourceLocator,
* instance the @c let clause, should not be flagged as an error, because it's
* used for internal purposes.
*
- * Hence, this function is called from each expression and declaration which is
- * unavailable in XPath.
+ * Hence, this function is called from each expression and declaration with @p
+ * allowedLanguages stating what languages it is allowed in.
*
* If @p isInternal is @c true, no error is raised. Otherwise, if the current
- * language is not XQuery, an error is raised.
+ * language is not in @p allowedLanguages, an error is raised.
*/
-static void disallowedConstruct(const ParserContext *const parseInfo,
- const YYLTYPE &sourceLocator,
- const bool isInternal = false)
+static void allowedIn(const QueryLanguages allowedLanguages,
+ const ParserContext *const parseInfo,
+ const YYLTYPE &sourceLocator,
+ const bool isInternal = false)
{
- if(!isInternal && parseInfo->languageAccent != QXmlQuery::XQuery10)
+ /* We treat XPath 2.0 as a subset of XSL-T 2.0, so if XPath 2.0 is allowed
+ * and XSL-T is the language, it's ok. */
+ if(!isInternal &&
+ (!allowedLanguages.testFlag(parseInfo->languageAccent) && !(allowedLanguages.testFlag(QXmlQuery::XPath20) && parseInfo->languageAccent == QXmlQuery::XSLT20)))
{
- parseInfo->staticContext->error(QtXmlPatterns::tr("A construct was encountered which only is allowed in XQuery."),
+
+ QString langName;
+
+ switch(parseInfo->languageAccent)
+ {
+ case QXmlQuery::XPath20:
+ langName = QLatin1String("XPath 2.0");
+ break;
+ case QXmlQuery::XSLT20:
+ langName = QLatin1String("XSL-T 2.0");
+ break;
+ case QXmlQuery::XQuery10:
+ langName = QLatin1String("XQuery 1.0");
+ break;
+ case QXmlQuery::XmlSchema11IdentityConstraintSelector:
+ langName = QtXmlPatterns::tr("W3C XML Schema identity constraint selector");
+ break;
+ case QXmlQuery::XmlSchema11IdentityConstraintField:
+ langName = QtXmlPatterns::tr("W3C XML Schema identity constraint field");
+ break;
+ }
+
+ parseInfo->staticContext->error(QtXmlPatterns::tr("A construct was encountered "
+ "which is disallowed in the current language(%1).").arg(langName),
ReportContext::XPST0003,
fromYYLTYPE(sourceLocator, parseInfo));
@@ -1366,7 +1400,7 @@ typedef struct YYLTYPE
/* Copy the second part of user declarations. */
/* Line 221 of yacc.c. */
-#line 1289 "qquerytransformparser.cpp"
+#line 1323 "qquerytransformparser.cpp"
#ifdef short
# undef short
@@ -1850,54 +1884,54 @@ static const yytype_int16 yyrhs[] =
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
static const yytype_uint16 yyrline[] =
{
- 0, 1341, 1341, 1342, 1344, 1345, 1376, 1377, 1393, 1491,
- 1493, 1499, 1501, 1508, 1514, 1520, 1527, 1530, 1534, 1538,
- 1558, 1572, 1576, 1570, 1639, 1643, 1660, 1663, 1665, 1670,
- 1671, 1675, 1676, 1680, 1684, 1688, 1690, 1691, 1693, 1695,
- 1741, 1755, 1760, 1765, 1766, 1768, 1783, 1798, 1808, 1823,
- 1827, 1832, 1846, 1850, 1855, 1869, 1874, 1879, 1884, 1889,
- 1905, 1928, 1936, 1937, 1938, 1940, 1957, 1958, 1960, 1961,
- 1963, 1964, 1966, 2021, 2025, 2031, 2034, 2039, 2053, 2057,
- 2063, 2062, 2171, 2174, 2180, 2201, 2207, 2211, 2213, 2218,
- 2228, 2229, 2234, 2235, 2244, 2314, 2325, 2326, 2330, 2335,
- 2404, 2405, 2409, 2414, 2458, 2459, 2464, 2471, 2477, 2478,
- 2479, 2480, 2481, 2482, 2488, 2493, 2499, 2502, 2507, 2513,
- 2519, 2523, 2548, 2549, 2553, 2557, 2551, 2598, 2601, 2596,
- 2617, 2618, 2619, 2622, 2626, 2634, 2633, 2647, 2646, 2655,
- 2656, 2657, 2659, 2667, 2678, 2681, 2683, 2688, 2695, 2702,
- 2708, 2728, 2733, 2739, 2742, 2744, 2745, 2752, 2758, 2762,
- 2767, 2768, 2771, 2775, 2770, 2784, 2788, 2783, 2796, 2799,
- 2803, 2798, 2812, 2816, 2811, 2824, 2826, 2854, 2853, 2865,
- 2873, 2864, 2884, 2885, 2888, 2892, 2897, 2902, 2901, 2917,
- 2922, 2923, 2928, 2929, 2934, 2935, 2936, 2937, 2939, 2940,
- 2945, 2946, 2951, 2952, 2954, 2955, 2960, 2961, 2962, 2963,
- 2965, 2966, 2971, 2972, 2977, 2978, 2980, 2984, 2989, 2990,
- 2996, 2997, 3002, 3003, 3008, 3009, 3014, 3015, 3020, 3024,
- 3029, 3030, 3031, 3033, 3038, 3039, 3040, 3041, 3042, 3043,
- 3045, 3050, 3051, 3052, 3053, 3054, 3055, 3057, 3062, 3063,
- 3064, 3066, 3080, 3081, 3082, 3084, 3100, 3104, 3109, 3110,
- 3112, 3117, 3118, 3120, 3126, 3130, 3136, 3139, 3140, 3144,
- 3153, 3158, 3162, 3163, 3168, 3167, 3182, 3189, 3188, 3203,
- 3211, 3211, 3220, 3222, 3225, 3230, 3232, 3236, 3302, 3305,
- 3311, 3314, 3323, 3327, 3331, 3336, 3337, 3342, 3343, 3346,
- 3345, 3375, 3377, 3378, 3380, 3394, 3395, 3396, 3397, 3398,
- 3399, 3400, 3401, 3402, 3403, 3404, 3405, 3408, 3407, 3417,
- 3428, 3433, 3435, 3440, 3441, 3443, 3447, 3449, 3453, 3462,
- 3468, 3469, 3474, 3475, 3476, 3477, 3478, 3479, 3480, 3481,
- 3491, 3492, 3497, 3501, 3506, 3511, 3516, 3521, 3525, 3530,
- 3535, 3540, 3569, 3573, 3580, 3582, 3586, 3588, 3589, 3590,
- 3624, 3633, 3622, 3874, 3878, 3898, 3901, 3907, 3912, 3917,
- 3923, 3926, 3936, 3943, 3947, 3953, 3967, 3973, 3990, 3995,
- 4008, 4009, 4010, 4011, 4012, 4013, 4014, 4016, 4024, 4023,
- 4063, 4066, 4071, 4086, 4091, 4098, 4110, 4114, 4110, 4120,
- 4122, 4126, 4128, 4143, 4147, 4156, 4161, 4165, 4171, 4174,
- 4179, 4184, 4189, 4190, 4191, 4192, 4194, 4195, 4196, 4197,
- 4202, 4238, 4239, 4240, 4241, 4242, 4243, 4244, 4246, 4251,
- 4256, 4262, 4263, 4265, 4270, 4275, 4280, 4285, 4301, 4302,
- 4304, 4309, 4314, 4318, 4330, 4343, 4353, 4358, 4363, 4368,
- 4382, 4396, 4397, 4399, 4409, 4411, 4416, 4423, 4430, 4432,
- 4434, 4435, 4437, 4441, 4446, 4447, 4449, 4455, 4457, 4459,
- 4460, 4462, 4474
+ 0, 1375, 1375, 1376, 1378, 1379, 1410, 1411, 1427, 1525,
+ 1527, 1533, 1535, 1542, 1548, 1554, 1561, 1564, 1568, 1572,
+ 1592, 1606, 1610, 1604, 1673, 1677, 1694, 1697, 1699, 1704,
+ 1705, 1709, 1710, 1714, 1718, 1722, 1724, 1725, 1727, 1729,
+ 1775, 1789, 1794, 1799, 1800, 1802, 1817, 1832, 1842, 1857,
+ 1861, 1866, 1880, 1884, 1889, 1903, 1908, 1913, 1918, 1923,
+ 1939, 1962, 1970, 1971, 1972, 1974, 1991, 1992, 1994, 1995,
+ 1997, 1998, 2000, 2055, 2059, 2065, 2068, 2073, 2087, 2091,
+ 2097, 2096, 2205, 2208, 2214, 2235, 2241, 2245, 2247, 2252,
+ 2262, 2263, 2268, 2269, 2278, 2348, 2359, 2360, 2364, 2369,
+ 2438, 2439, 2443, 2448, 2492, 2493, 2498, 2505, 2511, 2512,
+ 2513, 2514, 2515, 2516, 2522, 2527, 2533, 2536, 2541, 2547,
+ 2553, 2557, 2582, 2583, 2587, 2591, 2585, 2632, 2635, 2630,
+ 2651, 2652, 2653, 2656, 2660, 2668, 2667, 2681, 2680, 2689,
+ 2690, 2691, 2693, 2701, 2712, 2715, 2717, 2722, 2729, 2736,
+ 2742, 2762, 2767, 2773, 2776, 2778, 2779, 2786, 2792, 2796,
+ 2801, 2802, 2805, 2809, 2804, 2819, 2823, 2818, 2831, 2834,
+ 2838, 2833, 2848, 2852, 2847, 2860, 2862, 2890, 2889, 2901,
+ 2909, 2900, 2920, 2921, 2924, 2928, 2933, 2938, 2937, 2953,
+ 2959, 2960, 2966, 2967, 2973, 2974, 2975, 2976, 2978, 2979,
+ 2985, 2986, 2992, 2993, 2995, 2996, 3002, 3003, 3004, 3005,
+ 3007, 3008, 3018, 3019, 3025, 3026, 3028, 3032, 3037, 3038,
+ 3045, 3046, 3052, 3053, 3059, 3060, 3066, 3067, 3073, 3077,
+ 3082, 3083, 3084, 3086, 3092, 3093, 3094, 3095, 3096, 3097,
+ 3099, 3104, 3105, 3106, 3107, 3108, 3109, 3111, 3116, 3117,
+ 3118, 3120, 3134, 3135, 3136, 3138, 3155, 3159, 3164, 3165,
+ 3167, 3172, 3173, 3175, 3181, 3185, 3191, 3194, 3195, 3199,
+ 3208, 3213, 3217, 3218, 3223, 3222, 3237, 3245, 3244, 3260,
+ 3268, 3268, 3277, 3279, 3282, 3287, 3289, 3293, 3359, 3362,
+ 3368, 3371, 3380, 3384, 3388, 3393, 3394, 3399, 3400, 3403,
+ 3402, 3432, 3434, 3435, 3437, 3481, 3482, 3483, 3484, 3485,
+ 3486, 3487, 3488, 3489, 3490, 3491, 3492, 3495, 3494, 3505,
+ 3516, 3521, 3523, 3528, 3529, 3534, 3538, 3540, 3544, 3553,
+ 3560, 3561, 3567, 3568, 3569, 3570, 3571, 3572, 3573, 3574,
+ 3584, 3585, 3590, 3595, 3601, 3607, 3612, 3617, 3622, 3628,
+ 3633, 3638, 3668, 3672, 3679, 3681, 3685, 3690, 3691, 3692,
+ 3726, 3735, 3724, 3976, 3980, 4000, 4003, 4009, 4014, 4019,
+ 4025, 4028, 4038, 4045, 4049, 4055, 4069, 4075, 4092, 4097,
+ 4110, 4111, 4112, 4113, 4114, 4115, 4116, 4118, 4126, 4125,
+ 4165, 4168, 4173, 4188, 4193, 4200, 4212, 4216, 4212, 4222,
+ 4224, 4228, 4230, 4245, 4249, 4258, 4263, 4267, 4273, 4276,
+ 4281, 4286, 4291, 4292, 4293, 4294, 4296, 4297, 4298, 4299,
+ 4304, 4340, 4341, 4342, 4343, 4344, 4345, 4346, 4348, 4353,
+ 4358, 4364, 4365, 4367, 4372, 4377, 4382, 4387, 4403, 4404,
+ 4406, 4411, 4416, 4420, 4432, 4445, 4455, 4460, 4465, 4470,
+ 4484, 4498, 4499, 4501, 4511, 4513, 4518, 4525, 4532, 4534,
+ 4536, 4537, 4539, 4543, 4548, 4549, 4551, 4557, 4559, 4561,
+ 4565, 4570, 4582
};
#endif
@@ -3726,7 +3760,7 @@ yyreduce:
{
case 5:
/* Line 1269 of yacc.c. */
-#line 1346 "querytransformparser.ypp"
+#line 1380 "querytransformparser.ypp"
{
/* Suppress more compiler warnings about unused defines. */
@@ -3760,7 +3794,7 @@ yyreduce:
case 7:
/* Line 1269 of yacc.c. */
-#line 1378 "querytransformparser.ypp"
+#line 1412 "querytransformparser.ypp"
{
const QRegExp encNameRegExp(QLatin1String("[A-Za-z][A-Za-z0-9._\\-]*"));
@@ -3779,7 +3813,7 @@ yyreduce:
case 8:
/* Line 1269 of yacc.c. */
-#line 1394 "querytransformparser.ypp"
+#line 1428 "querytransformparser.ypp"
{
/* In XSL-T, we can have dangling variable references, so resolve them
* before we proceed with other steps, such as checking circularity. */
@@ -3880,7 +3914,7 @@ yyreduce:
case 10:
/* Line 1269 of yacc.c. */
-#line 1494 "querytransformparser.ypp"
+#line 1528 "querytransformparser.ypp"
{
// TODO add to namespace context
parseInfo->moduleNamespace = parseInfo->staticContext->namePool()->allocateNamespace((yyvsp[(3) - (6)].sval));
@@ -3889,9 +3923,9 @@ yyreduce:
case 12:
/* Line 1269 of yacc.c. */
-#line 1502 "querytransformparser.ypp"
+#line 1536 "querytransformparser.ypp"
{
- disallowedConstruct(parseInfo, (yyloc));
+ allowedIn(QXmlQuery::XQuery10, parseInfo, (yyloc));
if(parseInfo->hasSecondPrologPart)
parseInfo->staticContext->error(QtXmlPatterns::tr("A default namespace declaration must occur before function, "
"variable, and option declarations."), ReportContext::XPST0003, fromYYLTYPE((yyloc), parseInfo));
@@ -3900,7 +3934,7 @@ yyreduce:
case 13:
/* Line 1269 of yacc.c. */
-#line 1509 "querytransformparser.ypp"
+#line 1543 "querytransformparser.ypp"
{
if(parseInfo->hasSecondPrologPart)
parseInfo->staticContext->error(QtXmlPatterns::tr("A default namespace declaration must occur before function, "
@@ -3910,7 +3944,7 @@ yyreduce:
case 14:
/* Line 1269 of yacc.c. */
-#line 1515 "querytransformparser.ypp"
+#line 1549 "querytransformparser.ypp"
{
if(parseInfo->hasSecondPrologPart)
parseInfo->staticContext->error(QtXmlPatterns::tr("Namespace declarations must occur before function, "
@@ -3920,9 +3954,9 @@ yyreduce:
case 15:
/* Line 1269 of yacc.c. */
-#line 1521 "querytransformparser.ypp"
+#line 1555 "querytransformparser.ypp"
{
- disallowedConstruct(parseInfo, (yyloc));
+ allowedIn(QXmlQuery::XQuery10, parseInfo, (yyloc));
if(parseInfo->hasSecondPrologPart)
parseInfo->staticContext->error(QtXmlPatterns::tr("Module imports must occur before function, "
"variable, and option declarations."), ReportContext::XPST0003, fromYYLTYPE((yyloc), parseInfo));
@@ -3931,7 +3965,7 @@ yyreduce:
case 17:
/* Line 1269 of yacc.c. */
-#line 1531 "querytransformparser.ypp"
+#line 1565 "querytransformparser.ypp"
{
parseInfo->hasSecondPrologPart = true;
}
@@ -3939,7 +3973,7 @@ yyreduce:
case 18:
/* Line 1269 of yacc.c. */
-#line 1535 "querytransformparser.ypp"
+#line 1569 "querytransformparser.ypp"
{
parseInfo->hasSecondPrologPart = true;
}
@@ -3947,16 +3981,16 @@ yyreduce:
case 19:
/* Line 1269 of yacc.c. */
-#line 1539 "querytransformparser.ypp"
+#line 1573 "querytransformparser.ypp"
{
- disallowedConstruct(parseInfo, (yyloc));
+ allowedIn(QXmlQuery::XQuery10, parseInfo, (yyloc));
parseInfo->hasSecondPrologPart = true;
}
break;
case 20:
/* Line 1269 of yacc.c. */
-#line 1562 "querytransformparser.ypp"
+#line 1596 "querytransformparser.ypp"
{
Template::Ptr temp(create(new Template(parseInfo->currentImportPrecedence, (yyvsp[(5) - (7)].sequenceType)), (yyloc), parseInfo));
@@ -3969,7 +4003,7 @@ yyreduce:
case 21:
/* Line 1269 of yacc.c. */
-#line 1572 "querytransformparser.ypp"
+#line 1606 "querytransformparser.ypp"
{
parseInfo->isParsingPattern = true;
}
@@ -3977,7 +4011,7 @@ yyreduce:
case 22:
/* Line 1269 of yacc.c. */
-#line 1576 "querytransformparser.ypp"
+#line 1610 "querytransformparser.ypp"
{
parseInfo->isParsingPattern = false;
}
@@ -3985,7 +4019,7 @@ yyreduce:
case 23:
/* Line 1269 of yacc.c. */
-#line 1585 "querytransformparser.ypp"
+#line 1619 "querytransformparser.ypp"
{
/* In this grammar branch, we're guaranteed to be a template rule, but
* may also be a named template. */
@@ -4042,7 +4076,7 @@ yyreduce:
case 24:
/* Line 1269 of yacc.c. */
-#line 1639 "querytransformparser.ypp"
+#line 1673 "querytransformparser.ypp"
{
(yyval.enums.Double) = std::numeric_limits<xsDouble>::quiet_NaN();
}
@@ -4050,7 +4084,7 @@ yyreduce:
case 25:
/* Line 1269 of yacc.c. */
-#line 1644 "querytransformparser.ypp"
+#line 1678 "querytransformparser.ypp"
{
const AtomicValue::Ptr val(Decimal::fromLexical((yyvsp[(2) - (2)].sval)));
if(val->hasError())
@@ -4069,7 +4103,7 @@ yyreduce:
case 26:
/* Line 1269 of yacc.c. */
-#line 1660 "querytransformparser.ypp"
+#line 1694 "querytransformparser.ypp"
{
(yyval.qName) = QXmlName();
}
@@ -4077,7 +4111,7 @@ yyreduce:
case 28:
/* Line 1269 of yacc.c. */
-#line 1666 "querytransformparser.ypp"
+#line 1700 "querytransformparser.ypp"
{
(yyval.qName) = (yyvsp[(2) - (2)].qName);
}
@@ -4085,42 +4119,42 @@ yyreduce:
case 30:
/* Line 1269 of yacc.c. */
-#line 1672 "querytransformparser.ypp"
+#line 1706 "querytransformparser.ypp"
{
- disallowedConstruct(parseInfo, (yyloc));
+ allowedIn(QXmlQuery::XQuery10, parseInfo, (yyloc));
}
break;
case 32:
/* Line 1269 of yacc.c. */
-#line 1677 "querytransformparser.ypp"
+#line 1711 "querytransformparser.ypp"
{
- disallowedConstruct(parseInfo, (yyloc));
+ allowedIn(QXmlQuery::XQuery10, parseInfo, (yyloc));
}
break;
case 33:
/* Line 1269 of yacc.c. */
-#line 1681 "querytransformparser.ypp"
+#line 1715 "querytransformparser.ypp"
{
- disallowedConstruct(parseInfo, (yyloc));
+ allowedIn(QXmlQuery::XQuery10, parseInfo, (yyloc));
}
break;
case 34:
/* Line 1269 of yacc.c. */
-#line 1685 "querytransformparser.ypp"
+#line 1719 "querytransformparser.ypp"
{
- disallowedConstruct(parseInfo, (yyloc));
+ allowedIn(QXmlQuery::XQuery10, parseInfo, (yyloc));
}
break;
case 39:
/* Line 1269 of yacc.c. */
-#line 1696 "querytransformparser.ypp"
+#line 1730 "querytransformparser.ypp"
{
if(!(yyvsp[(6) - (7)].enums.Bool))
- disallowedConstruct(parseInfo, (yyloc));
+ allowedIn(QXmlQuery::XQuery10, parseInfo, (yyloc));
if((yyvsp[(3) - (7)].sval) == QLatin1String("xmlns"))
{
@@ -4166,7 +4200,7 @@ yyreduce:
case 40:
/* Line 1269 of yacc.c. */
-#line 1742 "querytransformparser.ypp"
+#line 1776 "querytransformparser.ypp"
{
if(parseInfo->hasDeclaration(ParserContext::BoundarySpaceDecl))
{
@@ -4183,7 +4217,7 @@ yyreduce:
case 41:
/* Line 1269 of yacc.c. */
-#line 1756 "querytransformparser.ypp"
+#line 1790 "querytransformparser.ypp"
{
(yyval.enums.boundarySpacePolicy) = StaticContext::BSPStrip;
}
@@ -4191,7 +4225,7 @@ yyreduce:
case 42:
/* Line 1269 of yacc.c. */
-#line 1761 "querytransformparser.ypp"
+#line 1795 "querytransformparser.ypp"
{
(yyval.enums.boundarySpacePolicy) = StaticContext::BSPPreserve;
}
@@ -4199,7 +4233,7 @@ yyreduce:
case 45:
/* Line 1269 of yacc.c. */
-#line 1770 "querytransformparser.ypp"
+#line 1804 "querytransformparser.ypp"
{
if(parseInfo->hasDeclaration(ParserContext::DeclareDefaultElementNamespace))
{
@@ -4216,7 +4250,7 @@ yyreduce:
case 46:
/* Line 1269 of yacc.c. */
-#line 1785 "querytransformparser.ypp"
+#line 1819 "querytransformparser.ypp"
{
if(parseInfo->hasDeclaration(ParserContext::DeclareDefaultFunctionNamespace))
{
@@ -4233,7 +4267,7 @@ yyreduce:
case 47:
/* Line 1269 of yacc.c. */
-#line 1799 "querytransformparser.ypp"
+#line 1833 "querytransformparser.ypp"
{
if((yyvsp[(3) - (5)].qName).prefix() == StandardPrefixes::empty)
{
@@ -4246,9 +4280,9 @@ yyreduce:
case 48:
/* Line 1269 of yacc.c. */
-#line 1809 "querytransformparser.ypp"
+#line 1843 "querytransformparser.ypp"
{
- disallowedConstruct(parseInfo, (yyloc));
+ allowedIn(QXmlQuery::XQuery10, parseInfo, (yyloc));
if(parseInfo->hasDeclaration(ParserContext::OrderingModeDecl))
{
parseInfo->staticContext->error(prologMessage("declare ordering"),
@@ -4264,7 +4298,7 @@ yyreduce:
case 49:
/* Line 1269 of yacc.c. */
-#line 1824 "querytransformparser.ypp"
+#line 1858 "querytransformparser.ypp"
{
(yyval.enums.orderingMode) = StaticContext::Ordered;
}
@@ -4272,7 +4306,7 @@ yyreduce:
case 50:
/* Line 1269 of yacc.c. */
-#line 1828 "querytransformparser.ypp"
+#line 1862 "querytransformparser.ypp"
{
(yyval.enums.orderingMode) = StaticContext::Unordered;
}
@@ -4280,7 +4314,7 @@ yyreduce:
case 51:
/* Line 1269 of yacc.c. */
-#line 1833 "querytransformparser.ypp"
+#line 1867 "querytransformparser.ypp"
{
if(parseInfo->hasDeclaration(ParserContext::EmptyOrderDecl))
{
@@ -4297,7 +4331,7 @@ yyreduce:
case 52:
/* Line 1269 of yacc.c. */
-#line 1847 "querytransformparser.ypp"
+#line 1881 "querytransformparser.ypp"
{
(yyval.enums.orderingEmptySequence) = StaticContext::Least;
}
@@ -4305,7 +4339,7 @@ yyreduce:
case 53:
/* Line 1269 of yacc.c. */
-#line 1851 "querytransformparser.ypp"
+#line 1885 "querytransformparser.ypp"
{
(yyval.enums.orderingEmptySequence) = StaticContext::Greatest;
}
@@ -4313,7 +4347,7 @@ yyreduce:
case 54:
/* Line 1269 of yacc.c. */
-#line 1857 "querytransformparser.ypp"
+#line 1891 "querytransformparser.ypp"
{
if(parseInfo->hasDeclaration(ParserContext::CopyNamespacesDecl))
{
@@ -4329,7 +4363,7 @@ yyreduce:
case 55:
/* Line 1269 of yacc.c. */
-#line 1870 "querytransformparser.ypp"
+#line 1904 "querytransformparser.ypp"
{
parseInfo->preserveNamespacesMode = true;
}
@@ -4337,7 +4371,7 @@ yyreduce:
case 56:
/* Line 1269 of yacc.c. */
-#line 1875 "querytransformparser.ypp"
+#line 1909 "querytransformparser.ypp"
{
parseInfo->preserveNamespacesMode = false;
}
@@ -4345,7 +4379,7 @@ yyreduce:
case 57:
/* Line 1269 of yacc.c. */
-#line 1880 "querytransformparser.ypp"
+#line 1914 "querytransformparser.ypp"
{
parseInfo->inheritNamespacesMode = true;
}
@@ -4353,7 +4387,7 @@ yyreduce:
case 58:
/* Line 1269 of yacc.c. */
-#line 1885 "querytransformparser.ypp"
+#line 1919 "querytransformparser.ypp"
{
parseInfo->inheritNamespacesMode = false;
}
@@ -4361,7 +4395,7 @@ yyreduce:
case 59:
/* Line 1269 of yacc.c. */
-#line 1890 "querytransformparser.ypp"
+#line 1924 "querytransformparser.ypp"
{
if(parseInfo->hasDeclaration(ParserContext::DefaultCollationDecl))
{
@@ -4380,9 +4414,9 @@ yyreduce:
case 60:
/* Line 1269 of yacc.c. */
-#line 1906 "querytransformparser.ypp"
+#line 1940 "querytransformparser.ypp"
{
- disallowedConstruct(parseInfo, (yyloc), (yyvsp[(3) - (5)].enums.Bool));
+ allowedIn(QueryLanguages(QXmlQuery::XQuery10 | QXmlQuery::XSLT20), parseInfo, (yyloc), (yyvsp[(3) - (5)].enums.Bool));
if(parseInfo->hasDeclaration(ParserContext::BaseURIDecl))
{
parseInfo->staticContext->error(prologMessage("declare base-uri"),
@@ -4406,7 +4440,7 @@ yyreduce:
case 61:
/* Line 1269 of yacc.c. */
-#line 1929 "querytransformparser.ypp"
+#line 1963 "querytransformparser.ypp"
{
parseInfo->staticContext->error(QtXmlPatterns::tr("The Schema Import feature is not supported, "
"and therefore %1 declarations cannot occur.")
@@ -4417,7 +4451,7 @@ yyreduce:
case 65:
/* Line 1269 of yacc.c. */
-#line 1941 "querytransformparser.ypp"
+#line 1975 "querytransformparser.ypp"
{
if((yyvsp[(4) - (6)].sval).isEmpty())
{
@@ -4437,9 +4471,9 @@ yyreduce:
case 72:
/* Line 1269 of yacc.c. */
-#line 1968 "querytransformparser.ypp"
+#line 2002 "querytransformparser.ypp"
{
- disallowedConstruct(parseInfo, (yyloc), (yyvsp[(3) - (9)].enums.Bool));
+ allowedIn(QXmlQuery::XQuery10, parseInfo, (yyloc), (yyvsp[(3) - (9)].enums.Bool));
if(variableByName((yyvsp[(5) - (9)].qName), parseInfo))
{
parseInfo->staticContext->error(QtXmlPatterns::tr("A variable by name %1 has already "
@@ -4494,7 +4528,7 @@ yyreduce:
case 73:
/* Line 1269 of yacc.c. */
-#line 2022 "querytransformparser.ypp"
+#line 2056 "querytransformparser.ypp"
{
(yyval.expr).reset();
}
@@ -4502,7 +4536,7 @@ yyreduce:
case 74:
/* Line 1269 of yacc.c. */
-#line 2026 "querytransformparser.ypp"
+#line 2060 "querytransformparser.ypp"
{
(yyval.expr) = (yyvsp[(2) - (2)].expr);
}
@@ -4510,7 +4544,7 @@ yyreduce:
case 75:
/* Line 1269 of yacc.c. */
-#line 2031 "querytransformparser.ypp"
+#line 2065 "querytransformparser.ypp"
{
(yyval.expr).reset();
}
@@ -4518,7 +4552,7 @@ yyreduce:
case 76:
/* Line 1269 of yacc.c. */
-#line 2035 "querytransformparser.ypp"
+#line 2069 "querytransformparser.ypp"
{
(yyval.expr) = (yyvsp[(2) - (2)].expr);
}
@@ -4526,7 +4560,7 @@ yyreduce:
case 77:
/* Line 1269 of yacc.c. */
-#line 2040 "querytransformparser.ypp"
+#line 2074 "querytransformparser.ypp"
{
if(parseInfo->hasDeclaration(ParserContext::ConstructionDecl))
{
@@ -4543,7 +4577,7 @@ yyreduce:
case 78:
/* Line 1269 of yacc.c. */
-#line 2054 "querytransformparser.ypp"
+#line 2088 "querytransformparser.ypp"
{
(yyval.enums.constructionMode) = StaticContext::CMStrip;
}
@@ -4551,7 +4585,7 @@ yyreduce:
case 79:
/* Line 1269 of yacc.c. */
-#line 2058 "querytransformparser.ypp"
+#line 2092 "querytransformparser.ypp"
{
(yyval.enums.constructionMode) = StaticContext::CMPreserve;
}
@@ -4559,7 +4593,7 @@ yyreduce:
case 80:
/* Line 1269 of yacc.c. */
-#line 2063 "querytransformparser.ypp"
+#line 2097 "querytransformparser.ypp"
{
(yyval.enums.slot) = parseInfo->currentExpressionSlot() - (yyvsp[(6) - (7)].functionArguments).count();
}
@@ -4567,10 +4601,10 @@ yyreduce:
case 81:
/* Line 1269 of yacc.c. */
-#line 2067 "querytransformparser.ypp"
+#line 2101 "querytransformparser.ypp"
{
if(!(yyvsp[(3) - (11)].enums.Bool))
- disallowedConstruct(parseInfo, (yyloc), (yyvsp[(3) - (11)].enums.Bool));
+ allowedIn(QXmlQuery::XQuery10, parseInfo, (yyloc), (yyvsp[(3) - (11)].enums.Bool));
/* If FunctionBody is null, it is 'external', otherwise the value is the body. */
const QXmlName::NamespaceCode ns((yyvsp[(4) - (11)].qName).namespaceURI());
@@ -4674,7 +4708,7 @@ yyreduce:
case 82:
/* Line 1269 of yacc.c. */
-#line 2171 "querytransformparser.ypp"
+#line 2205 "querytransformparser.ypp"
{
(yyval.functionArguments) = FunctionArgument::List();
}
@@ -4682,7 +4716,7 @@ yyreduce:
case 83:
/* Line 1269 of yacc.c. */
-#line 2175 "querytransformparser.ypp"
+#line 2209 "querytransformparser.ypp"
{
FunctionArgument::List l;
l.append((yyvsp[(1) - (1)].functionArgument));
@@ -4692,7 +4726,7 @@ yyreduce:
case 84:
/* Line 1269 of yacc.c. */
-#line 2181 "querytransformparser.ypp"
+#line 2215 "querytransformparser.ypp"
{
FunctionArgument::List::const_iterator it((yyvsp[(1) - (3)].functionArguments).constBegin());
const FunctionArgument::List::const_iterator end((yyvsp[(1) - (3)].functionArguments).constEnd());
@@ -4716,7 +4750,7 @@ yyreduce:
case 85:
/* Line 1269 of yacc.c. */
-#line 2202 "querytransformparser.ypp"
+#line 2236 "querytransformparser.ypp"
{
pushVariable((yyvsp[(2) - (3)].qName), (yyvsp[(3) - (3)].sequenceType), Expression::Ptr(), VariableDeclaration::FunctionArgument, (yyloc), parseInfo);
(yyval.functionArgument) = FunctionArgument::Ptr(new FunctionArgument((yyvsp[(2) - (3)].qName), (yyvsp[(3) - (3)].sequenceType)));
@@ -4725,7 +4759,7 @@ yyreduce:
case 86:
/* Line 1269 of yacc.c. */
-#line 2208 "querytransformparser.ypp"
+#line 2242 "querytransformparser.ypp"
{
(yyval.expr).reset();
}
@@ -4733,7 +4767,7 @@ yyreduce:
case 88:
/* Line 1269 of yacc.c. */
-#line 2214 "querytransformparser.ypp"
+#line 2248 "querytransformparser.ypp"
{
(yyval.expr) = (yyvsp[(2) - (3)].expr);
}
@@ -4741,7 +4775,7 @@ yyreduce:
case 91:
/* Line 1269 of yacc.c. */
-#line 2230 "querytransformparser.ypp"
+#line 2264 "querytransformparser.ypp"
{
(yyval.expr) = create(new CombineNodes((yyvsp[(1) - (3)].expr), CombineNodes::Union, (yyvsp[(3) - (3)].expr)), (yyloc), parseInfo);
}
@@ -4749,7 +4783,7 @@ yyreduce:
case 93:
/* Line 1269 of yacc.c. */
-#line 2236 "querytransformparser.ypp"
+#line 2270 "querytransformparser.ypp"
{
/* We write this into a node test. The spec says, 5.5.3 The Meaning of a Pattern:
* "Similarly, / matches a document node, and only a document node,
@@ -4762,7 +4796,7 @@ yyreduce:
case 94:
/* Line 1269 of yacc.c. */
-#line 2245 "querytransformparser.ypp"
+#line 2279 "querytransformparser.ypp"
{
/* /axis::node-test
* =>
@@ -4836,7 +4870,7 @@ yyreduce:
case 95:
/* Line 1269 of yacc.c. */
-#line 2315 "querytransformparser.ypp"
+#line 2349 "querytransformparser.ypp"
{
/* //axis::node-test
* =>
@@ -4851,7 +4885,7 @@ yyreduce:
case 97:
/* Line 1269 of yacc.c. */
-#line 2327 "querytransformparser.ypp"
+#line 2361 "querytransformparser.ypp"
{
createIdPatternPath((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), QXmlNodeModelIndex::AxisParent, (yylsp[(2) - (3)]), parseInfo);
}
@@ -4859,7 +4893,7 @@ yyreduce:
case 98:
/* Line 1269 of yacc.c. */
-#line 2331 "querytransformparser.ypp"
+#line 2365 "querytransformparser.ypp"
{
createIdPatternPath((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), QXmlNodeModelIndex::AxisAncestor, (yylsp[(2) - (3)]), parseInfo);
}
@@ -4867,7 +4901,7 @@ yyreduce:
case 99:
/* Line 1269 of yacc.c. */
-#line 2336 "querytransformparser.ypp"
+#line 2370 "querytransformparser.ypp"
{
const Expression::List ands((yyvsp[(1) - (1)].expr)->operands());
const FunctionSignature::Ptr signature((yyvsp[(1) - (1)].expr)->as<FunctionCall>()->signature());
@@ -4939,7 +4973,7 @@ yyreduce:
case 101:
/* Line 1269 of yacc.c. */
-#line 2406 "querytransformparser.ypp"
+#line 2440 "querytransformparser.ypp"
{
(yyval.expr) = createPatternPath((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), QXmlNodeModelIndex::AxisParent, (yylsp[(2) - (3)]), parseInfo);
}
@@ -4947,7 +4981,7 @@ yyreduce:
case 102:
/* Line 1269 of yacc.c. */
-#line 2410 "querytransformparser.ypp"
+#line 2444 "querytransformparser.ypp"
{
(yyval.expr) = createPatternPath((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), QXmlNodeModelIndex::AxisAncestor, (yylsp[(2) - (3)]), parseInfo);
}
@@ -4955,7 +4989,7 @@ yyreduce:
case 103:
/* Line 1269 of yacc.c. */
-#line 2415 "querytransformparser.ypp"
+#line 2449 "querytransformparser.ypp"
{
const Expression::Ptr expr(findAxisStep((yyvsp[(1) - (1)].expr)));
@@ -5002,7 +5036,7 @@ yyreduce:
case 105:
/* Line 1269 of yacc.c. */
-#line 2460 "querytransformparser.ypp"
+#line 2494 "querytransformparser.ypp"
{
(yyval.expr) = create(new ExpressionSequence((yyvsp[(1) - (1)].expressionList)), (yyloc), parseInfo);
}
@@ -5010,7 +5044,7 @@ yyreduce:
case 106:
/* Line 1269 of yacc.c. */
-#line 2465 "querytransformparser.ypp"
+#line 2499 "querytransformparser.ypp"
{
Expression::List l;
l.append((yyvsp[(1) - (3)].expr));
@@ -5021,7 +5055,7 @@ yyreduce:
case 107:
/* Line 1269 of yacc.c. */
-#line 2472 "querytransformparser.ypp"
+#line 2506 "querytransformparser.ypp"
{
(yyvsp[(1) - (3)].expressionList).append((yyvsp[(3) - (3)].expr));
(yyval.expressionList) = (yyvsp[(1) - (3)].expressionList);
@@ -5030,7 +5064,7 @@ yyreduce:
case 113:
/* Line 1269 of yacc.c. */
-#line 2483 "querytransformparser.ypp"
+#line 2517 "querytransformparser.ypp"
{
(yyval.expr) = createDirAttributeValue((yyvsp[(3) - (4)].expressionList), parseInfo, (yyloc));
}
@@ -5038,7 +5072,7 @@ yyreduce:
case 114:
/* Line 1269 of yacc.c. */
-#line 2488 "querytransformparser.ypp"
+#line 2522 "querytransformparser.ypp"
{
QVector<QXmlName> result;
result.append(QXmlName(StandardNamespaces::InternalXSLT, StandardLocalNames::Default));
@@ -5048,7 +5082,7 @@ yyreduce:
case 115:
/* Line 1269 of yacc.c. */
-#line 2494 "querytransformparser.ypp"
+#line 2528 "querytransformparser.ypp"
{
(yyval.qNameVector) = (yyvsp[(2) - (2)].qNameVector);
}
@@ -5056,7 +5090,7 @@ yyreduce:
case 116:
/* Line 1269 of yacc.c. */
-#line 2499 "querytransformparser.ypp"
+#line 2533 "querytransformparser.ypp"
{
(yyval.qName) = QXmlName(StandardNamespaces::InternalXSLT, StandardLocalNames::Default);
}
@@ -5064,7 +5098,7 @@ yyreduce:
case 117:
/* Line 1269 of yacc.c. */
-#line 2503 "querytransformparser.ypp"
+#line 2537 "querytransformparser.ypp"
{
(yyval.qName) = (yyvsp[(2) - (2)].qName);
}
@@ -5072,7 +5106,7 @@ yyreduce:
case 118:
/* Line 1269 of yacc.c. */
-#line 2508 "querytransformparser.ypp"
+#line 2542 "querytransformparser.ypp"
{
QVector<QXmlName> result;
result.append((yyvsp[(1) - (1)].qName));
@@ -5082,7 +5116,7 @@ yyreduce:
case 119:
/* Line 1269 of yacc.c. */
-#line 2514 "querytransformparser.ypp"
+#line 2548 "querytransformparser.ypp"
{
(yyvsp[(1) - (3)].qNameVector).append((yyvsp[(3) - (3)].qName));
(yyval.qNameVector) = (yyvsp[(1) - (3)].qNameVector);
@@ -5091,7 +5125,7 @@ yyreduce:
case 120:
/* Line 1269 of yacc.c. */
-#line 2520 "querytransformparser.ypp"
+#line 2554 "querytransformparser.ypp"
{
(yyval.qName) = (yyvsp[(1) - (1)].qName);
}
@@ -5099,7 +5133,7 @@ yyreduce:
case 121:
/* Line 1269 of yacc.c. */
-#line 2524 "querytransformparser.ypp"
+#line 2558 "querytransformparser.ypp"
{
if((yyvsp[(1) - (1)].sval) == QLatin1String("#current"))
(yyval.qName) = QXmlName(StandardNamespaces::InternalXSLT, StandardLocalNames::current);
@@ -5126,7 +5160,7 @@ yyreduce:
case 124:
/* Line 1269 of yacc.c. */
-#line 2553 "querytransformparser.ypp"
+#line 2587 "querytransformparser.ypp"
{
/* We're pushing the range variable here, not the positional. */
(yyval.expr) = pushVariable((yyvsp[(3) - (7)].qName), quantificationType((yyvsp[(4) - (7)].sequenceType)), (yyvsp[(7) - (7)].expr), VariableDeclaration::RangeVariable, (yyloc), parseInfo);
@@ -5135,7 +5169,7 @@ yyreduce:
case 125:
/* Line 1269 of yacc.c. */
-#line 2557 "querytransformparser.ypp"
+#line 2591 "querytransformparser.ypp"
{
/* It is ok this appears after PositionalVar, because currentRangeSlot()
* uses a different "channel" than currentPositionSlot(), so they can't trash
@@ -5146,7 +5180,7 @@ yyreduce:
case 126:
/* Line 1269 of yacc.c. */
-#line 2564 "querytransformparser.ypp"
+#line 2598 "querytransformparser.ypp"
{
Q_ASSERT((yyvsp[(7) - (10)].expr));
Q_ASSERT((yyvsp[(10) - (10)].expr));
@@ -5182,7 +5216,7 @@ yyreduce:
case 127:
/* Line 1269 of yacc.c. */
-#line 2598 "querytransformparser.ypp"
+#line 2632 "querytransformparser.ypp"
{
pushVariable((yyvsp[(3) - (7)].qName), quantificationType((yyvsp[(4) - (7)].sequenceType)), (yyvsp[(7) - (7)].expr), VariableDeclaration::RangeVariable, (yyloc), parseInfo);
}
@@ -5190,7 +5224,7 @@ yyreduce:
case 128:
/* Line 1269 of yacc.c. */
-#line 2601 "querytransformparser.ypp"
+#line 2635 "querytransformparser.ypp"
{
/* It is ok this appears after PositionalVar, because currentRangeSlot()
* uses a different "channel" than currentPositionSlot(), so they can't trash
@@ -5201,7 +5235,7 @@ yyreduce:
case 129:
/* Line 1269 of yacc.c. */
-#line 2608 "querytransformparser.ypp"
+#line 2642 "querytransformparser.ypp"
{
(yyval.expr) = create(new ForClause((yyvsp[(9) - (10)].enums.slot), (yyvsp[(7) - (10)].expr), (yyvsp[(10) - (10)].expr), (yyvsp[(5) - (10)].enums.slot)), (yyloc), parseInfo);
@@ -5214,7 +5248,7 @@ yyreduce:
case 133:
/* Line 1269 of yacc.c. */
-#line 2622 "querytransformparser.ypp"
+#line 2656 "querytransformparser.ypp"
{
(yyval.enums.slot) = -1;
}
@@ -5222,7 +5256,7 @@ yyreduce:
case 134:
/* Line 1269 of yacc.c. */
-#line 2627 "querytransformparser.ypp"
+#line 2661 "querytransformparser.ypp"
{
pushVariable((yyvsp[(3) - (3)].qName), CommonSequenceTypes::ExactlyOneInteger, Expression::Ptr(),
VariableDeclaration::PositionalVariable, (yyloc), parseInfo);
@@ -5232,7 +5266,7 @@ yyreduce:
case 135:
/* Line 1269 of yacc.c. */
-#line 2634 "querytransformparser.ypp"
+#line 2668 "querytransformparser.ypp"
{
(yyval.expr) = pushVariable((yyvsp[(4) - (7)].qName), quantificationType((yyvsp[(5) - (7)].sequenceType)), (yyvsp[(7) - (7)].expr), VariableDeclaration::ExpressionVariable, (yyloc), parseInfo);
}
@@ -5240,9 +5274,9 @@ yyreduce:
case 136:
/* Line 1269 of yacc.c. */
-#line 2638 "querytransformparser.ypp"
+#line 2672 "querytransformparser.ypp"
{
- disallowedConstruct(parseInfo, (yyloc), (yyvsp[(2) - (9)].enums.Bool));
+ allowedIn(QXmlQuery::XQuery10, parseInfo, (yyloc), (yyvsp[(2) - (9)].enums.Bool));
Q_ASSERT(parseInfo->variables.top()->name == (yyvsp[(4) - (9)].qName));
(yyval.expr) = create(new LetClause((yyvsp[(8) - (9)].expr), (yyvsp[(9) - (9)].expr), parseInfo->variables.top()), (yyloc), parseInfo);
@@ -5252,13 +5286,13 @@ yyreduce:
case 137:
/* Line 1269 of yacc.c. */
-#line 2647 "querytransformparser.ypp"
+#line 2681 "querytransformparser.ypp"
{ (yyval.expr) = pushVariable((yyvsp[(3) - (6)].qName), quantificationType((yyvsp[(4) - (6)].sequenceType)), (yyvsp[(6) - (6)].expr), VariableDeclaration::ExpressionVariable, (yyloc), parseInfo);}
break;
case 138:
/* Line 1269 of yacc.c. */
-#line 2649 "querytransformparser.ypp"
+#line 2683 "querytransformparser.ypp"
{
Q_ASSERT(parseInfo->variables.top()->name == (yyvsp[(3) - (8)].qName));
(yyval.expr) = create(new LetClause((yyvsp[(7) - (8)].expr), (yyvsp[(8) - (8)].expr), parseInfo->variables.top()), (yyloc), parseInfo);
@@ -5268,7 +5302,7 @@ yyreduce:
case 142:
/* Line 1269 of yacc.c. */
-#line 2660 "querytransformparser.ypp"
+#line 2694 "querytransformparser.ypp"
{
if((yyvsp[(1) - (3)].orderSpecs).isEmpty())
(yyval.expr) = (yyvsp[(3) - (3)].expr);
@@ -5279,7 +5313,7 @@ yyreduce:
case 143:
/* Line 1269 of yacc.c. */
-#line 2668 "querytransformparser.ypp"
+#line 2702 "querytransformparser.ypp"
{
if((yyvsp[(3) - (5)].orderSpecs).isEmpty())
(yyval.expr) = create(new IfThenClause((yyvsp[(2) - (5)].expr), (yyvsp[(5) - (5)].expr), create(new EmptySequence, (yyloc), parseInfo)), (yyloc), parseInfo);
@@ -5292,7 +5326,7 @@ yyreduce:
case 144:
/* Line 1269 of yacc.c. */
-#line 2678 "querytransformparser.ypp"
+#line 2712 "querytransformparser.ypp"
{
(yyval.orderSpecs) = OrderSpecTransfer::List();
}
@@ -5300,7 +5334,7 @@ yyreduce:
case 146:
/* Line 1269 of yacc.c. */
-#line 2684 "querytransformparser.ypp"
+#line 2718 "querytransformparser.ypp"
{
(yyval.orderSpecs) = (yyvsp[(2) - (2)].orderSpecs);
}
@@ -5308,7 +5342,7 @@ yyreduce:
case 147:
/* Line 1269 of yacc.c. */
-#line 2689 "querytransformparser.ypp"
+#line 2723 "querytransformparser.ypp"
{
OrderSpecTransfer::List list;
list += (yyvsp[(1) - (3)].orderSpecs);
@@ -5319,7 +5353,7 @@ yyreduce:
case 148:
/* Line 1269 of yacc.c. */
-#line 2696 "querytransformparser.ypp"
+#line 2730 "querytransformparser.ypp"
{
OrderSpecTransfer::List list;
list.append((yyvsp[(1) - (1)].orderSpec));
@@ -5329,7 +5363,7 @@ yyreduce:
case 149:
/* Line 1269 of yacc.c. */
-#line 2703 "querytransformparser.ypp"
+#line 2737 "querytransformparser.ypp"
{
(yyval.orderSpec) = OrderSpecTransfer((yyvsp[(1) - (4)].expr), OrderBy::OrderSpec((yyvsp[(2) - (4)].enums.sortDirection), (yyvsp[(3) - (4)].enums.orderingEmptySequence)));
}
@@ -5337,7 +5371,7 @@ yyreduce:
case 150:
/* Line 1269 of yacc.c. */
-#line 2708 "querytransformparser.ypp"
+#line 2742 "querytransformparser.ypp"
{
/* Where does the specification state the default value is ascending?
*
@@ -5361,7 +5395,7 @@ yyreduce:
case 151:
/* Line 1269 of yacc.c. */
-#line 2729 "querytransformparser.ypp"
+#line 2763 "querytransformparser.ypp"
{
(yyval.enums.sortDirection) = OrderBy::OrderSpec::Ascending;
}
@@ -5369,7 +5403,7 @@ yyreduce:
case 152:
/* Line 1269 of yacc.c. */
-#line 2734 "querytransformparser.ypp"
+#line 2768 "querytransformparser.ypp"
{
(yyval.enums.sortDirection) = OrderBy::OrderSpec::Descending;
}
@@ -5377,7 +5411,7 @@ yyreduce:
case 153:
/* Line 1269 of yacc.c. */
-#line 2739 "querytransformparser.ypp"
+#line 2773 "querytransformparser.ypp"
{
(yyval.enums.orderingEmptySequence) = parseInfo->staticContext->orderingEmptySequence();
}
@@ -5385,7 +5419,7 @@ yyreduce:
case 156:
/* Line 1269 of yacc.c. */
-#line 2746 "querytransformparser.ypp"
+#line 2780 "querytransformparser.ypp"
{
if(parseInfo->isXSLT())
resolveAndCheckCollation<ReportContext::XTDE1035>((yyvsp[(2) - (2)].sval), parseInfo, (yyloc));
@@ -5396,7 +5430,7 @@ yyreduce:
case 157:
/* Line 1269 of yacc.c. */
-#line 2753 "querytransformparser.ypp"
+#line 2787 "querytransformparser.ypp"
{
/* We do nothing. We don't use collations, and we have this non-terminal
* in order to accept expressions. */
@@ -5405,7 +5439,7 @@ yyreduce:
case 158:
/* Line 1269 of yacc.c. */
-#line 2759 "querytransformparser.ypp"
+#line 2793 "querytransformparser.ypp"
{
parseInfo->orderStability.push(OrderBy::StableOrder);
}
@@ -5413,7 +5447,7 @@ yyreduce:
case 159:
/* Line 1269 of yacc.c. */
-#line 2763 "querytransformparser.ypp"
+#line 2797 "querytransformparser.ypp"
{
parseInfo->orderStability.push(OrderBy::UnstableOrder);
}
@@ -5421,7 +5455,7 @@ yyreduce:
case 162:
/* Line 1269 of yacc.c. */
-#line 2771 "querytransformparser.ypp"
+#line 2805 "querytransformparser.ypp"
{
pushVariable((yyvsp[(3) - (6)].qName), quantificationType((yyvsp[(4) - (6)].sequenceType)), (yyvsp[(6) - (6)].expr),
VariableDeclaration::RangeVariable, (yyloc), parseInfo);
@@ -5430,14 +5464,15 @@ yyreduce:
case 163:
/* Line 1269 of yacc.c. */
-#line 2775 "querytransformparser.ypp"
+#line 2809 "querytransformparser.ypp"
{(yyval.enums.slot) = parseInfo->staticContext->currentRangeSlot();}
break;
case 164:
/* Line 1269 of yacc.c. */
-#line 2777 "querytransformparser.ypp"
+#line 2811 "querytransformparser.ypp"
{
+ allowedIn(QueryLanguages(QXmlQuery::XQuery10 | QXmlQuery::XPath20), parseInfo, (yyloc));
(yyval.expr) = create(new QuantifiedExpression((yyvsp[(8) - (9)].enums.slot),
QuantifiedExpression::Some, (yyvsp[(6) - (9)].expr), (yyvsp[(9) - (9)].expr)), (yyloc), parseInfo);
parseInfo->finalizePushedVariable();
@@ -5446,7 +5481,7 @@ yyreduce:
case 165:
/* Line 1269 of yacc.c. */
-#line 2784 "querytransformparser.ypp"
+#line 2819 "querytransformparser.ypp"
{
(yyval.expr) = pushVariable((yyvsp[(3) - (6)].qName), quantificationType((yyvsp[(4) - (6)].sequenceType)), (yyvsp[(6) - (6)].expr),
VariableDeclaration::RangeVariable, (yyloc), parseInfo);
@@ -5455,13 +5490,13 @@ yyreduce:
case 166:
/* Line 1269 of yacc.c. */
-#line 2788 "querytransformparser.ypp"
+#line 2823 "querytransformparser.ypp"
{(yyval.enums.slot) = parseInfo->staticContext->currentRangeSlot();}
break;
case 167:
/* Line 1269 of yacc.c. */
-#line 2790 "querytransformparser.ypp"
+#line 2825 "querytransformparser.ypp"
{
(yyval.expr) = create(new QuantifiedExpression((yyvsp[(8) - (9)].enums.slot),
QuantifiedExpression::Some, (yyvsp[(7) - (9)].expr), (yyvsp[(9) - (9)].expr)), (yyloc), parseInfo);
@@ -5471,7 +5506,7 @@ yyreduce:
case 169:
/* Line 1269 of yacc.c. */
-#line 2799 "querytransformparser.ypp"
+#line 2834 "querytransformparser.ypp"
{
pushVariable((yyvsp[(3) - (6)].qName), quantificationType((yyvsp[(4) - (6)].sequenceType)), (yyvsp[(6) - (6)].expr),
VariableDeclaration::RangeVariable, (yyloc), parseInfo);
@@ -5480,14 +5515,15 @@ yyreduce:
case 170:
/* Line 1269 of yacc.c. */
-#line 2803 "querytransformparser.ypp"
+#line 2838 "querytransformparser.ypp"
{(yyval.enums.slot) = parseInfo->staticContext->currentRangeSlot();}
break;
case 171:
/* Line 1269 of yacc.c. */
-#line 2805 "querytransformparser.ypp"
+#line 2840 "querytransformparser.ypp"
{
+ allowedIn(QueryLanguages(QXmlQuery::XQuery10 | QXmlQuery::XPath20), parseInfo, (yyloc));
(yyval.expr) = create(new QuantifiedExpression((yyvsp[(8) - (9)].enums.slot),
QuantifiedExpression::Every, (yyvsp[(6) - (9)].expr), (yyvsp[(9) - (9)].expr)), (yyloc), parseInfo);
parseInfo->finalizePushedVariable();
@@ -5496,7 +5532,7 @@ yyreduce:
case 172:
/* Line 1269 of yacc.c. */
-#line 2812 "querytransformparser.ypp"
+#line 2848 "querytransformparser.ypp"
{
(yyval.expr) = pushVariable((yyvsp[(3) - (6)].qName), quantificationType((yyvsp[(4) - (6)].sequenceType)), (yyvsp[(6) - (6)].expr),
VariableDeclaration::RangeVariable, (yyloc), parseInfo);
@@ -5505,13 +5541,13 @@ yyreduce:
case 173:
/* Line 1269 of yacc.c. */
-#line 2816 "querytransformparser.ypp"
+#line 2852 "querytransformparser.ypp"
{(yyval.enums.slot) = parseInfo->staticContext->currentRangeSlot();}
break;
case 174:
/* Line 1269 of yacc.c. */
-#line 2818 "querytransformparser.ypp"
+#line 2854 "querytransformparser.ypp"
{
(yyval.expr) = create(new QuantifiedExpression((yyvsp[(8) - (9)].enums.slot),
QuantifiedExpression::Every, (yyvsp[(7) - (9)].expr), (yyvsp[(9) - (9)].expr)), (yyloc), parseInfo);
@@ -5521,7 +5557,7 @@ yyreduce:
case 176:
/* Line 1269 of yacc.c. */
-#line 2827 "querytransformparser.ypp"
+#line 2863 "querytransformparser.ypp"
{
(yyval.expr) = (yyvsp[(2) - (2)].expr);
}
@@ -5529,7 +5565,7 @@ yyreduce:
case 177:
/* Line 1269 of yacc.c. */
-#line 2854 "querytransformparser.ypp"
+#line 2890 "querytransformparser.ypp"
{
parseInfo->typeswitchSource.push((yyvsp[(3) - (4)].expr));
}
@@ -5537,9 +5573,9 @@ yyreduce:
case 178:
/* Line 1269 of yacc.c. */
-#line 2858 "querytransformparser.ypp"
+#line 2894 "querytransformparser.ypp"
{
- disallowedConstruct(parseInfo, (yyloc));
+ allowedIn(QXmlQuery::XQuery10, parseInfo, (yyloc));
parseInfo->typeswitchSource.pop();
(yyval.expr) = (yyvsp[(6) - (6)].expr);
}
@@ -5547,7 +5583,7 @@ yyreduce:
case 179:
/* Line 1269 of yacc.c. */
-#line 2865 "querytransformparser.ypp"
+#line 2901 "querytransformparser.ypp"
{
if(!(yyvsp[(2) - (3)].qName).isNull())
{
@@ -5559,7 +5595,7 @@ yyreduce:
case 180:
/* Line 1269 of yacc.c. */
-#line 2873 "querytransformparser.ypp"
+#line 2909 "querytransformparser.ypp"
{
/* The variable shouldn't be in-scope for other case branches. */
if(!(yyvsp[(2) - (6)].qName).isNull())
@@ -5569,7 +5605,7 @@ yyreduce:
case 181:
/* Line 1269 of yacc.c. */
-#line 2879 "querytransformparser.ypp"
+#line 2915 "querytransformparser.ypp"
{
const Expression::Ptr instanceOf(create(new InstanceOf(parseInfo->typeswitchSource.top(), (yyvsp[(3) - (8)].sequenceType)), (yyloc), parseInfo));
(yyval.expr) = create(new IfThenClause(instanceOf, (yyvsp[(6) - (8)].expr), (yyvsp[(8) - (8)].expr)), (yyloc), parseInfo);
@@ -5578,7 +5614,7 @@ yyreduce:
case 184:
/* Line 1269 of yacc.c. */
-#line 2888 "querytransformparser.ypp"
+#line 2924 "querytransformparser.ypp"
{
(yyval.qName) = QXmlName();
}
@@ -5586,7 +5622,7 @@ yyreduce:
case 185:
/* Line 1269 of yacc.c. */
-#line 2893 "querytransformparser.ypp"
+#line 2929 "querytransformparser.ypp"
{
(yyval.qName) = (yyvsp[(2) - (3)].qName);
}
@@ -5594,7 +5630,7 @@ yyreduce:
case 186:
/* Line 1269 of yacc.c. */
-#line 2898 "querytransformparser.ypp"
+#line 2934 "querytransformparser.ypp"
{
(yyval.expr) = (yyvsp[(3) - (3)].expr);
}
@@ -5602,7 +5638,7 @@ yyreduce:
case 187:
/* Line 1269 of yacc.c. */
-#line 2902 "querytransformparser.ypp"
+#line 2938 "querytransformparser.ypp"
{
if(!(yyvsp[(3) - (3)].qName).isNull())
{
@@ -5615,7 +5651,7 @@ yyreduce:
case 188:
/* Line 1269 of yacc.c. */
-#line 2911 "querytransformparser.ypp"
+#line 2947 "querytransformparser.ypp"
{
if(!(yyvsp[(3) - (6)].qName).isNull())
parseInfo->finalizePushedVariable();
@@ -5625,107 +5661,119 @@ yyreduce:
case 189:
/* Line 1269 of yacc.c. */
-#line 2918 "querytransformparser.ypp"
+#line 2954 "querytransformparser.ypp"
{
+ allowedIn(QueryLanguages(QXmlQuery::XQuery10 | QXmlQuery::XPath20), parseInfo, (yyloc));
(yyval.expr) = create(new IfThenClause((yyvsp[(3) - (8)].expr), (yyvsp[(6) - (8)].expr), (yyvsp[(8) - (8)].expr)), (yyloc), parseInfo);
}
break;
case 191:
/* Line 1269 of yacc.c. */
-#line 2924 "querytransformparser.ypp"
+#line 2961 "querytransformparser.ypp"
{
+ allowedIn(QueryLanguages(QXmlQuery::XQuery10 | QXmlQuery::XPath20), parseInfo, (yyloc));
(yyval.expr) = create(new OrExpression((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr)), (yyloc), parseInfo);
}
break;
case 193:
/* Line 1269 of yacc.c. */
-#line 2930 "querytransformparser.ypp"
+#line 2968 "querytransformparser.ypp"
{
+ allowedIn(QueryLanguages(QXmlQuery::XQuery10 | QXmlQuery::XPath20), parseInfo, (yyloc));
(yyval.expr) = create(new AndExpression((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr)), (yyloc), parseInfo);
}
break;
case 199:
/* Line 1269 of yacc.c. */
-#line 2941 "querytransformparser.ypp"
+#line 2980 "querytransformparser.ypp"
{
+ allowedIn(QueryLanguages(QXmlQuery::XQuery10 | QXmlQuery::XPath20), parseInfo, (yyloc));
(yyval.expr) = create(new RangeExpression((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr)), (yyloc), parseInfo);
}
break;
case 201:
/* Line 1269 of yacc.c. */
-#line 2947 "querytransformparser.ypp"
+#line 2987 "querytransformparser.ypp"
{
+ allowedIn(QueryLanguages(QXmlQuery::XQuery10 | QXmlQuery::XPath20), parseInfo, (yyloc));
(yyval.expr) = create(new ArithmeticExpression((yyvsp[(1) - (3)].expr), (yyvsp[(2) - (3)].enums.mathOperator), (yyvsp[(3) - (3)].expr)), (yyloc), parseInfo);
}
break;
case 202:
/* Line 1269 of yacc.c. */
-#line 2951 "querytransformparser.ypp"
+#line 2992 "querytransformparser.ypp"
{(yyval.enums.mathOperator) = AtomicMathematician::Add;}
break;
case 203:
/* Line 1269 of yacc.c. */
-#line 2952 "querytransformparser.ypp"
+#line 2993 "querytransformparser.ypp"
{(yyval.enums.mathOperator) = AtomicMathematician::Substract;}
break;
case 205:
/* Line 1269 of yacc.c. */
-#line 2956 "querytransformparser.ypp"
+#line 2997 "querytransformparser.ypp"
{
+ allowedIn(QueryLanguages(QXmlQuery::XQuery10 | QXmlQuery::XPath20), parseInfo, (yyloc));
(yyval.expr) = create(new ArithmeticExpression((yyvsp[(1) - (3)].expr), (yyvsp[(2) - (3)].enums.mathOperator), (yyvsp[(3) - (3)].expr)), (yyloc), parseInfo);
}
break;
case 206:
/* Line 1269 of yacc.c. */
-#line 2960 "querytransformparser.ypp"
+#line 3002 "querytransformparser.ypp"
{(yyval.enums.mathOperator) = AtomicMathematician::Multiply;}
break;
case 207:
/* Line 1269 of yacc.c. */
-#line 2961 "querytransformparser.ypp"
+#line 3003 "querytransformparser.ypp"
{(yyval.enums.mathOperator) = AtomicMathematician::Div;}
break;
case 208:
/* Line 1269 of yacc.c. */
-#line 2962 "querytransformparser.ypp"
+#line 3004 "querytransformparser.ypp"
{(yyval.enums.mathOperator) = AtomicMathematician::IDiv;}
break;
case 209:
/* Line 1269 of yacc.c. */
-#line 2963 "querytransformparser.ypp"
+#line 3005 "querytransformparser.ypp"
{(yyval.enums.mathOperator) = AtomicMathematician::Mod;}
break;
case 211:
/* Line 1269 of yacc.c. */
-#line 2967 "querytransformparser.ypp"
+#line 3009 "querytransformparser.ypp"
{
+ allowedIn(QueryLanguages(QXmlQuery::XQuery10
+ | QXmlQuery::XPath20
+ | QXmlQuery::XmlSchema11IdentityConstraintField
+ | QXmlQuery::XmlSchema11IdentityConstraintSelector),
+ parseInfo, (yyloc));
(yyval.expr) = create(new CombineNodes((yyvsp[(1) - (3)].expr), CombineNodes::Union, (yyvsp[(3) - (3)].expr)), (yyloc), parseInfo);
}
break;
case 213:
/* Line 1269 of yacc.c. */
-#line 2973 "querytransformparser.ypp"
+#line 3020 "querytransformparser.ypp"
{
+ allowedIn(QueryLanguages(QXmlQuery::XQuery10 | QXmlQuery::XPath20), parseInfo, (yyloc));
(yyval.expr) = create(new CombineNodes((yyvsp[(1) - (3)].expr), (yyvsp[(2) - (3)].enums.combinedNodeOp), (yyvsp[(3) - (3)].expr)), (yyloc), parseInfo);
}
break;
case 216:
/* Line 1269 of yacc.c. */
-#line 2981 "querytransformparser.ypp"
+#line 3029 "querytransformparser.ypp"
{
(yyval.enums.combinedNodeOp) = CombineNodes::Intersect;
}
@@ -5733,7 +5781,7 @@ yyreduce:
case 217:
/* Line 1269 of yacc.c. */
-#line 2985 "querytransformparser.ypp"
+#line 3033 "querytransformparser.ypp"
{
(yyval.enums.combinedNodeOp) = CombineNodes::Except;
}
@@ -5741,48 +5789,53 @@ yyreduce:
case 219:
/* Line 1269 of yacc.c. */
-#line 2991 "querytransformparser.ypp"
+#line 3039 "querytransformparser.ypp"
{
+ allowedIn(QueryLanguages(QXmlQuery::XQuery10 | QXmlQuery::XPath20), parseInfo, (yyloc));
(yyval.expr) = create(new InstanceOf((yyvsp[(1) - (4)].expr),
- SequenceType::Ptr((yyvsp[(4) - (4)].sequenceType))), (yyloc), parseInfo);
+ SequenceType::Ptr((yyvsp[(4) - (4)].sequenceType))), (yyloc), parseInfo);
}
break;
case 221:
/* Line 1269 of yacc.c. */
-#line 2998 "querytransformparser.ypp"
+#line 3047 "querytransformparser.ypp"
{
+ allowedIn(QueryLanguages(QXmlQuery::XQuery10 | QXmlQuery::XPath20), parseInfo, (yyloc));
(yyval.expr) = create(new TreatAs((yyvsp[(1) - (4)].expr), (yyvsp[(4) - (4)].sequenceType)), (yyloc), parseInfo);
}
break;
case 223:
/* Line 1269 of yacc.c. */
-#line 3004 "querytransformparser.ypp"
+#line 3054 "querytransformparser.ypp"
{
+ allowedIn(QueryLanguages(QXmlQuery::XQuery10 | QXmlQuery::XPath20), parseInfo, (yyloc));
(yyval.expr) = create(new CastableAs((yyvsp[(1) - (4)].expr), (yyvsp[(4) - (4)].sequenceType)), (yyloc), parseInfo);
}
break;
case 225:
/* Line 1269 of yacc.c. */
-#line 3010 "querytransformparser.ypp"
+#line 3061 "querytransformparser.ypp"
{
+ allowedIn(QueryLanguages(QXmlQuery::XQuery10 | QXmlQuery::XPath20), parseInfo, (yyloc));
(yyval.expr) = create(new CastAs((yyvsp[(1) - (4)].expr), (yyvsp[(4) - (4)].sequenceType)), (yyloc), parseInfo);
}
break;
case 227:
/* Line 1269 of yacc.c. */
-#line 3016 "querytransformparser.ypp"
+#line 3068 "querytransformparser.ypp"
{
+ allowedIn(QueryLanguages(QXmlQuery::XQuery10 | QXmlQuery::XPath20), parseInfo, (yyloc));
(yyval.expr) = create(new UnaryExpression((yyvsp[(1) - (2)].enums.mathOperator), (yyvsp[(2) - (2)].expr), parseInfo->staticContext), (yyloc), parseInfo);
}
break;
case 228:
/* Line 1269 of yacc.c. */
-#line 3021 "querytransformparser.ypp"
+#line 3074 "querytransformparser.ypp"
{
(yyval.enums.mathOperator) = AtomicMathematician::Add;
}
@@ -5790,7 +5843,7 @@ yyreduce:
case 229:
/* Line 1269 of yacc.c. */
-#line 3025 "querytransformparser.ypp"
+#line 3078 "querytransformparser.ypp"
{
(yyval.enums.mathOperator) = AtomicMathematician::Substract;
}
@@ -5798,51 +5851,52 @@ yyreduce:
case 233:
/* Line 1269 of yacc.c. */
-#line 3034 "querytransformparser.ypp"
+#line 3087 "querytransformparser.ypp"
{
+ allowedIn(QueryLanguages(QXmlQuery::XQuery10 | QXmlQuery::XPath20), parseInfo, (yyloc));
(yyval.expr) = create(new GeneralComparison((yyvsp[(1) - (3)].expr), (yyvsp[(2) - (3)].enums.valueOperator), (yyvsp[(3) - (3)].expr), parseInfo->isBackwardsCompat.top()), (yyloc), parseInfo);
}
break;
case 234:
/* Line 1269 of yacc.c. */
-#line 3038 "querytransformparser.ypp"
+#line 3092 "querytransformparser.ypp"
{(yyval.enums.valueOperator) = AtomicComparator::OperatorEqual;}
break;
case 235:
/* Line 1269 of yacc.c. */
-#line 3039 "querytransformparser.ypp"
+#line 3093 "querytransformparser.ypp"
{(yyval.enums.valueOperator) = AtomicComparator::OperatorNotEqual;}
break;
case 236:
/* Line 1269 of yacc.c. */
-#line 3040 "querytransformparser.ypp"
+#line 3094 "querytransformparser.ypp"
{(yyval.enums.valueOperator) = AtomicComparator::OperatorGreaterOrEqual;}
break;
case 237:
/* Line 1269 of yacc.c. */
-#line 3041 "querytransformparser.ypp"
+#line 3095 "querytransformparser.ypp"
{(yyval.enums.valueOperator) = AtomicComparator::OperatorGreaterThan;}
break;
case 238:
/* Line 1269 of yacc.c. */
-#line 3042 "querytransformparser.ypp"
+#line 3096 "querytransformparser.ypp"
{(yyval.enums.valueOperator) = AtomicComparator::OperatorLessOrEqual;}
break;
case 239:
/* Line 1269 of yacc.c. */
-#line 3043 "querytransformparser.ypp"
+#line 3097 "querytransformparser.ypp"
{(yyval.enums.valueOperator) = AtomicComparator::OperatorLessThan;}
break;
case 240:
/* Line 1269 of yacc.c. */
-#line 3046 "querytransformparser.ypp"
+#line 3100 "querytransformparser.ypp"
{
(yyval.expr) = create(new ValueComparison((yyvsp[(1) - (3)].expr), (yyvsp[(2) - (3)].enums.valueOperator), (yyvsp[(3) - (3)].expr)), (yyloc), parseInfo);
}
@@ -5850,43 +5904,43 @@ yyreduce:
case 241:
/* Line 1269 of yacc.c. */
-#line 3050 "querytransformparser.ypp"
+#line 3104 "querytransformparser.ypp"
{(yyval.enums.valueOperator) = AtomicComparator::OperatorEqual;}
break;
case 242:
/* Line 1269 of yacc.c. */
-#line 3051 "querytransformparser.ypp"
+#line 3105 "querytransformparser.ypp"
{(yyval.enums.valueOperator) = AtomicComparator::OperatorNotEqual;}
break;
case 243:
/* Line 1269 of yacc.c. */
-#line 3052 "querytransformparser.ypp"
+#line 3106 "querytransformparser.ypp"
{(yyval.enums.valueOperator) = AtomicComparator::OperatorGreaterOrEqual;}
break;
case 244:
/* Line 1269 of yacc.c. */
-#line 3053 "querytransformparser.ypp"
+#line 3107 "querytransformparser.ypp"
{(yyval.enums.valueOperator) = AtomicComparator::OperatorGreaterThan;}
break;
case 245:
/* Line 1269 of yacc.c. */
-#line 3054 "querytransformparser.ypp"
+#line 3108 "querytransformparser.ypp"
{(yyval.enums.valueOperator) = AtomicComparator::OperatorLessOrEqual;}
break;
case 246:
/* Line 1269 of yacc.c. */
-#line 3055 "querytransformparser.ypp"
+#line 3109 "querytransformparser.ypp"
{(yyval.enums.valueOperator) = AtomicComparator::OperatorLessThan;}
break;
case 247:
/* Line 1269 of yacc.c. */
-#line 3058 "querytransformparser.ypp"
+#line 3112 "querytransformparser.ypp"
{
(yyval.expr) = create(new NodeComparison((yyvsp[(1) - (3)].expr), (yyvsp[(2) - (3)].enums.nodeOperator), (yyvsp[(3) - (3)].expr)), (yyloc), parseInfo);
}
@@ -5894,27 +5948,27 @@ yyreduce:
case 248:
/* Line 1269 of yacc.c. */
-#line 3062 "querytransformparser.ypp"
+#line 3116 "querytransformparser.ypp"
{(yyval.enums.nodeOperator) = QXmlNodeModelIndex::Is;}
break;
case 249:
/* Line 1269 of yacc.c. */
-#line 3063 "querytransformparser.ypp"
+#line 3117 "querytransformparser.ypp"
{(yyval.enums.nodeOperator) = QXmlNodeModelIndex::Precedes;}
break;
case 250:
/* Line 1269 of yacc.c. */
-#line 3064 "querytransformparser.ypp"
+#line 3118 "querytransformparser.ypp"
{(yyval.enums.nodeOperator) = QXmlNodeModelIndex::Follows;}
break;
case 251:
/* Line 1269 of yacc.c. */
-#line 3067 "querytransformparser.ypp"
+#line 3121 "querytransformparser.ypp"
{
- disallowedConstruct(parseInfo, (yyloc));
+ allowedIn(QXmlQuery::XQuery10, parseInfo, (yyloc));
parseInfo->staticContext->error(QtXmlPatterns::tr("The Schema Validation Feature is not supported. "
"Hence, %1-expressions may not be used.")
.arg(formatKeyword("validate")),
@@ -5927,26 +5981,27 @@ yyreduce:
case 252:
/* Line 1269 of yacc.c. */
-#line 3080 "querytransformparser.ypp"
+#line 3134 "querytransformparser.ypp"
{(yyval.enums.validationMode) = Validate::Strict;}
break;
case 253:
/* Line 1269 of yacc.c. */
-#line 3081 "querytransformparser.ypp"
+#line 3135 "querytransformparser.ypp"
{(yyval.enums.validationMode) = Validate::Strict;}
break;
case 254:
/* Line 1269 of yacc.c. */
-#line 3082 "querytransformparser.ypp"
+#line 3136 "querytransformparser.ypp"
{(yyval.enums.validationMode) = Validate::Lax;}
break;
case 255:
/* Line 1269 of yacc.c. */
-#line 3085 "querytransformparser.ypp"
+#line 3139 "querytransformparser.ypp"
{
+ allowedIn(QXmlQuery::XQuery10, parseInfo, (yyloc));
/* We don't support any pragmas, so we only do the
* necessary validation and use the fallback expression. */
@@ -5964,7 +6019,7 @@ yyreduce:
case 256:
/* Line 1269 of yacc.c. */
-#line 3101 "querytransformparser.ypp"
+#line 3156 "querytransformparser.ypp"
{
(yyval.expr).reset();
}
@@ -5972,7 +6027,7 @@ yyreduce:
case 257:
/* Line 1269 of yacc.c. */
-#line 3105 "querytransformparser.ypp"
+#line 3160 "querytransformparser.ypp"
{
(yyval.expr) = (yyvsp[(2) - (3)].expr);
}
@@ -5980,15 +6035,15 @@ yyreduce:
case 260:
/* Line 1269 of yacc.c. */
-#line 3113 "querytransformparser.ypp"
+#line 3168 "querytransformparser.ypp"
{
- disallowedConstruct(parseInfo, (yyloc));
+ allowedIn(QXmlQuery::XQuery10, parseInfo, (yyloc));
}
break;
case 263:
/* Line 1269 of yacc.c. */
-#line 3121 "querytransformparser.ypp"
+#line 3176 "querytransformparser.ypp"
{
/* This is "/step". That is, fn:root(self::node()) treat as document-node()/RelativePathExpr. */
(yyval.expr) = create(new Path(createRootExpression(parseInfo, (yyloc)), (yyvsp[(2) - (2)].expr)), (yyloc), parseInfo);
@@ -5997,7 +6052,7 @@ yyreduce:
case 264:
/* Line 1269 of yacc.c. */
-#line 3127 "querytransformparser.ypp"
+#line 3182 "querytransformparser.ypp"
{
(yyval.expr) = createSlashSlashPath(createRootExpression(parseInfo, (yyloc)), (yyvsp[(2) - (2)].expr), (yyloc), parseInfo);
}
@@ -6005,7 +6060,7 @@ yyreduce:
case 265:
/* Line 1269 of yacc.c. */
-#line 3131 "querytransformparser.ypp"
+#line 3186 "querytransformparser.ypp"
{
/* This is "/". That is, fn:root(self::node()) treat as document-node(). */
(yyval.expr) = createRootExpression(parseInfo, (yyloc));
@@ -6014,7 +6069,7 @@ yyreduce:
case 268:
/* Line 1269 of yacc.c. */
-#line 3141 "querytransformparser.ypp"
+#line 3196 "querytransformparser.ypp"
{
(yyval.expr) = create(new Path((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].enums.pathKind)), (yyloc), parseInfo);
}
@@ -6022,7 +6077,7 @@ yyreduce:
case 269:
/* Line 1269 of yacc.c. */
-#line 3145 "querytransformparser.ypp"
+#line 3200 "querytransformparser.ypp"
{
const Expression::Ptr orderBy(createReturnOrderBy((yyvsp[(4) - (7)].orderSpecs), (yyvsp[(6) - (7)].expr), parseInfo->orderStability.pop(), (yyloc), parseInfo));
@@ -6035,7 +6090,7 @@ yyreduce:
case 270:
/* Line 1269 of yacc.c. */
-#line 3154 "querytransformparser.ypp"
+#line 3209 "querytransformparser.ypp"
{
(yyval.expr) = createSlashSlashPath((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyloc), parseInfo);
}
@@ -6043,7 +6098,7 @@ yyreduce:
case 271:
/* Line 1269 of yacc.c. */
-#line 3159 "querytransformparser.ypp"
+#line 3214 "querytransformparser.ypp"
{
(yyval.expr) = NodeSortExpression::wrapAround((yyvsp[(1) - (1)].expr), parseInfo->staticContext);
}
@@ -6051,7 +6106,7 @@ yyreduce:
case 273:
/* Line 1269 of yacc.c. */
-#line 3164 "querytransformparser.ypp"
+#line 3219 "querytransformparser.ypp"
{
(yyval.expr) = create(new CurrentItemStore((yyvsp[(2) - (2)].expr)), (yyloc), parseInfo);
}
@@ -6059,7 +6114,7 @@ yyreduce:
case 274:
/* Line 1269 of yacc.c. */
-#line 3168 "querytransformparser.ypp"
+#line 3223 "querytransformparser.ypp"
{
const xsDouble version = (yyvsp[(1) - (1)].sval).toDouble();
@@ -6071,7 +6126,7 @@ yyreduce:
case 275:
/* Line 1269 of yacc.c. */
-#line 3176 "querytransformparser.ypp"
+#line 3231 "querytransformparser.ypp"
{
if((yyvsp[(2) - (3)].enums.Double) < 2)
(yyval.expr) = createCompatStore((yyvsp[(3) - (3)].expr), (yyloc), parseInfo);
@@ -6082,8 +6137,9 @@ yyreduce:
case 276:
/* Line 1269 of yacc.c. */
-#line 3183 "querytransformparser.ypp"
+#line 3238 "querytransformparser.ypp"
{
+ allowedIn(QXmlQuery::XSLT20, parseInfo, (yyloc));
Q_ASSERT(!(yyvsp[(2) - (5)].sval).isEmpty());
(yyval.expr) = create(new StaticBaseURIStore((yyvsp[(2) - (5)].sval), (yyvsp[(4) - (5)].expr)), (yyloc), parseInfo);
}
@@ -6091,8 +6147,9 @@ yyreduce:
case 277:
/* Line 1269 of yacc.c. */
-#line 3189 "querytransformparser.ypp"
+#line 3245 "querytransformparser.ypp"
{
+ allowedIn(QueryLanguages(QXmlQuery::XQuery10 | QXmlQuery::XSLT20), parseInfo, (yyloc));
parseInfo->resolvers.push(parseInfo->staticContext->namespaceBindings());
const NamespaceResolver::Ptr resolver(new DelegatingNamespaceResolver(parseInfo->staticContext->namespaceBindings()));
resolver->addBinding(QXmlName(parseInfo->staticContext->namePool()->allocateNamespace((yyvsp[(5) - (6)].sval)),
@@ -6104,7 +6161,7 @@ yyreduce:
case 278:
/* Line 1269 of yacc.c. */
-#line 3199 "querytransformparser.ypp"
+#line 3256 "querytransformparser.ypp"
{
parseInfo->staticContext->setNamespaceBindings(parseInfo->resolvers.pop());
(yyval.expr) = (yyvsp[(8) - (9)].expr);
@@ -6113,7 +6170,7 @@ yyreduce:
case 279:
/* Line 1269 of yacc.c. */
-#line 3204 "querytransformparser.ypp"
+#line 3261 "querytransformparser.ypp"
{
(yyval.expr) = create(new CallTemplate((yyvsp[(2) - (5)].qName), parseInfo->templateWithParams), (yyloc), parseInfo);
parseInfo->templateWithParametersHandled();
@@ -6123,7 +6180,7 @@ yyreduce:
case 280:
/* Line 1269 of yacc.c. */
-#line 3211 "querytransformparser.ypp"
+#line 3268 "querytransformparser.ypp"
{
parseInfo->startParsingWithParam();
}
@@ -6131,7 +6188,7 @@ yyreduce:
case 281:
/* Line 1269 of yacc.c. */
-#line 3215 "querytransformparser.ypp"
+#line 3272 "querytransformparser.ypp"
{
parseInfo->endParsingWithParam();
}
@@ -6139,42 +6196,42 @@ yyreduce:
case 282:
/* Line 1269 of yacc.c. */
-#line 3220 "querytransformparser.ypp"
+#line 3277 "querytransformparser.ypp"
{
}
break;
case 283:
/* Line 1269 of yacc.c. */
-#line 3223 "querytransformparser.ypp"
+#line 3280 "querytransformparser.ypp"
{
}
break;
case 284:
/* Line 1269 of yacc.c. */
-#line 3226 "querytransformparser.ypp"
+#line 3283 "querytransformparser.ypp"
{
}
break;
case 285:
/* Line 1269 of yacc.c. */
-#line 3230 "querytransformparser.ypp"
+#line 3287 "querytransformparser.ypp"
{
}
break;
case 286:
/* Line 1269 of yacc.c. */
-#line 3233 "querytransformparser.ypp"
+#line 3290 "querytransformparser.ypp"
{
}
break;
case 287:
/* Line 1269 of yacc.c. */
-#line 3237 "querytransformparser.ypp"
+#line 3294 "querytransformparser.ypp"
{
/* Note, this grammar rule is invoked for @c xsl:param @em and @c
* xsl:with-param. */
@@ -6242,7 +6299,7 @@ yyreduce:
case 288:
/* Line 1269 of yacc.c. */
-#line 3302 "querytransformparser.ypp"
+#line 3359 "querytransformparser.ypp"
{
(yyval.enums.Bool) = false;
}
@@ -6250,7 +6307,7 @@ yyreduce:
case 289:
/* Line 1269 of yacc.c. */
-#line 3306 "querytransformparser.ypp"
+#line 3363 "querytransformparser.ypp"
{
(yyval.enums.Bool) = true;
}
@@ -6258,7 +6315,7 @@ yyreduce:
case 290:
/* Line 1269 of yacc.c. */
-#line 3311 "querytransformparser.ypp"
+#line 3368 "querytransformparser.ypp"
{
(yyval.expr) = Expression::Ptr();
}
@@ -6266,7 +6323,7 @@ yyreduce:
case 291:
/* Line 1269 of yacc.c. */
-#line 3315 "querytransformparser.ypp"
+#line 3372 "querytransformparser.ypp"
{
(yyval.expr) = (yyvsp[(2) - (2)].expr);
}
@@ -6274,7 +6331,7 @@ yyreduce:
case 292:
/* Line 1269 of yacc.c. */
-#line 3324 "querytransformparser.ypp"
+#line 3381 "querytransformparser.ypp"
{
(yyval.enums.pathKind) = Path::RegularPath;
}
@@ -6282,7 +6339,7 @@ yyreduce:
case 293:
/* Line 1269 of yacc.c. */
-#line 3328 "querytransformparser.ypp"
+#line 3385 "querytransformparser.ypp"
{
(yyval.enums.pathKind) = Path::XSLTForEach;
}
@@ -6290,7 +6347,7 @@ yyreduce:
case 294:
/* Line 1269 of yacc.c. */
-#line 3332 "querytransformparser.ypp"
+#line 3389 "querytransformparser.ypp"
{
(yyval.enums.pathKind) = Path::ForApplyTemplate;
}
@@ -6298,7 +6355,7 @@ yyreduce:
case 296:
/* Line 1269 of yacc.c. */
-#line 3338 "querytransformparser.ypp"
+#line 3395 "querytransformparser.ypp"
{
(yyval.expr) = create(GenericPredicate::create((yyvsp[(1) - (4)].expr), (yyvsp[(3) - (4)].expr), parseInfo->staticContext, fromYYLTYPE((yyloc), parseInfo)), (yyloc), parseInfo);
}
@@ -6306,7 +6363,7 @@ yyreduce:
case 299:
/* Line 1269 of yacc.c. */
-#line 3346 "querytransformparser.ypp"
+#line 3403 "querytransformparser.ypp"
{
if((yyvsp[(1) - (1)].enums.axis) == QXmlNodeModelIndex::AxisAttribute)
parseInfo->nodeTestSource = BuiltinTypes::attribute;
@@ -6315,7 +6372,7 @@ yyreduce:
case 300:
/* Line 1269 of yacc.c. */
-#line 3351 "querytransformparser.ypp"
+#line 3408 "querytransformparser.ypp"
{
if((yyvsp[(3) - (3)].itemType))
{
@@ -6344,7 +6401,7 @@ yyreduce:
case 304:
/* Line 1269 of yacc.c. */
-#line 3381 "querytransformparser.ypp"
+#line 3438 "querytransformparser.ypp"
{
if((yyvsp[(1) - (2)].enums.axis) == QXmlNodeModelIndex::AxisNamespace)
{
@@ -6356,84 +6413,114 @@ yyreduce:
}
else
(yyval.enums.axis) = (yyvsp[(1) - (2)].enums.axis);
+
+ switch((yyvsp[(1) - (2)].enums.axis))
+ {
+ case QXmlNodeModelIndex::AxisAttribute:
+ {
+ allowedIn(QueryLanguages( QXmlQuery::XPath20
+ | QXmlQuery::XQuery10
+ | QXmlQuery::XmlSchema11IdentityConstraintField
+ | QXmlQuery::XSLT20),
+ parseInfo, (yyloc));
+ break;
+ }
+ case QXmlNodeModelIndex::AxisChild:
+ {
+ allowedIn(QueryLanguages( QXmlQuery::XPath20
+ | QXmlQuery::XQuery10
+ | QXmlQuery::XmlSchema11IdentityConstraintField
+ | QXmlQuery::XmlSchema11IdentityConstraintSelector
+ | QXmlQuery::XSLT20),
+ parseInfo, (yyloc));
+ break;
+ }
+ default:
+ {
+ allowedIn(QueryLanguages( QXmlQuery::XPath20
+ | QXmlQuery::XQuery10
+ | QXmlQuery::XSLT20),
+ parseInfo, (yyloc));
+ }
+ }
}
break;
case 305:
/* Line 1269 of yacc.c. */
-#line 3394 "querytransformparser.ypp"
+#line 3481 "querytransformparser.ypp"
{(yyval.enums.axis) = QXmlNodeModelIndex::AxisAncestorOrSelf ;}
break;
case 306:
/* Line 1269 of yacc.c. */
-#line 3395 "querytransformparser.ypp"
+#line 3482 "querytransformparser.ypp"
{(yyval.enums.axis) = QXmlNodeModelIndex::AxisAncestor ;}
break;
case 307:
/* Line 1269 of yacc.c. */
-#line 3396 "querytransformparser.ypp"
+#line 3483 "querytransformparser.ypp"
{(yyval.enums.axis) = QXmlNodeModelIndex::AxisAttribute ;}
break;
case 308:
/* Line 1269 of yacc.c. */
-#line 3397 "querytransformparser.ypp"
+#line 3484 "querytransformparser.ypp"
{(yyval.enums.axis) = QXmlNodeModelIndex::AxisChild ;}
break;
case 309:
/* Line 1269 of yacc.c. */
-#line 3398 "querytransformparser.ypp"
+#line 3485 "querytransformparser.ypp"
{(yyval.enums.axis) = QXmlNodeModelIndex::AxisDescendantOrSelf;}
break;
case 310:
/* Line 1269 of yacc.c. */
-#line 3399 "querytransformparser.ypp"
+#line 3486 "querytransformparser.ypp"
{(yyval.enums.axis) = QXmlNodeModelIndex::AxisDescendant ;}
break;
case 311:
/* Line 1269 of yacc.c. */
-#line 3400 "querytransformparser.ypp"
+#line 3487 "querytransformparser.ypp"
{(yyval.enums.axis) = QXmlNodeModelIndex::AxisFollowing ;}
break;
case 312:
/* Line 1269 of yacc.c. */
-#line 3401 "querytransformparser.ypp"
+#line 3488 "querytransformparser.ypp"
{(yyval.enums.axis) = QXmlNodeModelIndex::AxisPreceding ;}
break;
case 313:
/* Line 1269 of yacc.c. */
-#line 3402 "querytransformparser.ypp"
+#line 3489 "querytransformparser.ypp"
{(yyval.enums.axis) = QXmlNodeModelIndex::AxisFollowingSibling;}
break;
case 314:
/* Line 1269 of yacc.c. */
-#line 3403 "querytransformparser.ypp"
+#line 3490 "querytransformparser.ypp"
{(yyval.enums.axis) = QXmlNodeModelIndex::AxisPrecedingSibling;}
break;
case 315:
/* Line 1269 of yacc.c. */
-#line 3404 "querytransformparser.ypp"
+#line 3491 "querytransformparser.ypp"
{(yyval.enums.axis) = QXmlNodeModelIndex::AxisParent ;}
break;
case 316:
/* Line 1269 of yacc.c. */
-#line 3405 "querytransformparser.ypp"
+#line 3492 "querytransformparser.ypp"
{(yyval.enums.axis) = QXmlNodeModelIndex::AxisSelf ;}
break;
case 317:
/* Line 1269 of yacc.c. */
-#line 3408 "querytransformparser.ypp"
+#line 3495 "querytransformparser.ypp"
{
parseInfo->nodeTestSource = BuiltinTypes::attribute;
}
@@ -6441,8 +6528,9 @@ yyreduce:
case 318:
/* Line 1269 of yacc.c. */
-#line 3412 "querytransformparser.ypp"
+#line 3499 "querytransformparser.ypp"
{
+ allowedIn(QueryLanguages(QXmlQuery::XQuery10 | QXmlQuery::XSLT20 | QXmlQuery::XmlSchema11IdentityConstraintField), parseInfo, (yyloc));
(yyval.expr) = create(new AxisStep(QXmlNodeModelIndex::AxisAttribute, (yyvsp[(3) - (3)].itemType)), (yyloc), parseInfo);
parseInfo->restoreNodeTestSource();
@@ -6451,7 +6539,7 @@ yyreduce:
case 319:
/* Line 1269 of yacc.c. */
-#line 3418 "querytransformparser.ypp"
+#line 3506 "querytransformparser.ypp"
{
ItemType::Ptr nodeTest;
@@ -6466,7 +6554,7 @@ yyreduce:
case 320:
/* Line 1269 of yacc.c. */
-#line 3429 "querytransformparser.ypp"
+#line 3517 "querytransformparser.ypp"
{
(yyval.expr) = create(new AxisStep(QXmlNodeModelIndex::AxisAttribute, (yyvsp[(1) - (1)].itemType)), (yyloc), parseInfo);
}
@@ -6474,15 +6562,23 @@ yyreduce:
case 322:
/* Line 1269 of yacc.c. */
-#line 3436 "querytransformparser.ypp"
+#line 3524 "querytransformparser.ypp"
{
(yyval.expr) = create(new AxisStep(QXmlNodeModelIndex::AxisParent, BuiltinTypes::node), (yyloc), parseInfo);
}
break;
+ case 324:
+/* Line 1269 of yacc.c. */
+#line 3530 "querytransformparser.ypp"
+ {
+ allowedIn(QueryLanguages(QXmlQuery::XQuery10 | QXmlQuery::XPath20), parseInfo, (yyloc));
+ }
+ break;
+
case 325:
/* Line 1269 of yacc.c. */
-#line 3444 "querytransformparser.ypp"
+#line 3535 "querytransformparser.ypp"
{
(yyval.itemType) = QNameTest::create(parseInfo->nodeTestSource, (yyvsp[(1) - (1)].qName));
}
@@ -6490,7 +6586,7 @@ yyreduce:
case 327:
/* Line 1269 of yacc.c. */
-#line 3450 "querytransformparser.ypp"
+#line 3541 "querytransformparser.ypp"
{
(yyval.itemType) = parseInfo->nodeTestSource;
}
@@ -6498,7 +6594,7 @@ yyreduce:
case 328:
/* Line 1269 of yacc.c. */
-#line 3454 "querytransformparser.ypp"
+#line 3545 "querytransformparser.ypp"
{
const NamePool::Ptr np(parseInfo->staticContext->namePool());
const ReflectYYLTYPE ryy((yyloc), parseInfo);
@@ -6511,8 +6607,9 @@ yyreduce:
case 329:
/* Line 1269 of yacc.c. */
-#line 3463 "querytransformparser.ypp"
+#line 3554 "querytransformparser.ypp"
{
+ allowedIn(QueryLanguages(QXmlQuery::XQuery10 | QXmlQuery::XPath20), parseInfo, (yyloc));
const QXmlName::LocalNameCode c = parseInfo->staticContext->namePool()->allocateLocalName((yyvsp[(1) - (1)].sval));
(yyval.itemType) = LocalNameTest::create(parseInfo->nodeTestSource, c);
}
@@ -6520,15 +6617,16 @@ yyreduce:
case 331:
/* Line 1269 of yacc.c. */
-#line 3470 "querytransformparser.ypp"
+#line 3562 "querytransformparser.ypp"
{
+ allowedIn(QueryLanguages(QXmlQuery::XQuery10 | QXmlQuery::XPath20), parseInfo, (yyloc));
(yyval.expr) = create(GenericPredicate::create((yyvsp[(1) - (4)].expr), (yyvsp[(3) - (4)].expr), parseInfo->staticContext, fromYYLTYPE((yylsp[(4) - (4)]), parseInfo)), (yyloc), parseInfo);
}
break;
case 339:
/* Line 1269 of yacc.c. */
-#line 3482 "querytransformparser.ypp"
+#line 3575 "querytransformparser.ypp"
{
(yyval.expr) = create(new ApplyTemplate(parseInfo->modeFor((yyvsp[(2) - (5)].qName)),
parseInfo->templateWithParams,
@@ -6541,7 +6639,7 @@ yyreduce:
case 341:
/* Line 1269 of yacc.c. */
-#line 3493 "querytransformparser.ypp"
+#line 3586 "querytransformparser.ypp"
{
(yyval.expr) = create(new Literal(AtomicString::fromValue((yyvsp[(1) - (1)].sval))), (yyloc), parseInfo);
}
@@ -6549,31 +6647,34 @@ yyreduce:
case 342:
/* Line 1269 of yacc.c. */
-#line 3498 "querytransformparser.ypp"
+#line 3591 "querytransformparser.ypp"
{
+ allowedIn(QueryLanguages(QXmlQuery::XQuery10 | QXmlQuery::XPath20), parseInfo, (yyloc));
(yyval.expr) = createNumericLiteral<Double>((yyvsp[(1) - (1)].sval), (yyloc), parseInfo);
}
break;
case 343:
/* Line 1269 of yacc.c. */
-#line 3502 "querytransformparser.ypp"
+#line 3596 "querytransformparser.ypp"
{
+ allowedIn(QueryLanguages(QXmlQuery::XQuery10 | QXmlQuery::XPath20), parseInfo, (yyloc));
(yyval.expr) = createNumericLiteral<Numeric>((yyvsp[(1) - (1)].sval), (yyloc), parseInfo);
}
break;
case 344:
/* Line 1269 of yacc.c. */
-#line 3507 "querytransformparser.ypp"
+#line 3602 "querytransformparser.ypp"
{
+ allowedIn(QueryLanguages(QXmlQuery::XQuery10 | QXmlQuery::XPath20), parseInfo, (yyloc));
(yyval.expr) = resolveVariable((yyvsp[(2) - (2)].qName), (yyloc), parseInfo, false);
}
break;
case 345:
/* Line 1269 of yacc.c. */
-#line 3512 "querytransformparser.ypp"
+#line 3608 "querytransformparser.ypp"
{
/* See: http://www.w3.org/TR/xpath20/#id-variables */
(yyval.qName) = parseInfo->staticContext->namePool()->allocateQName(QString(), (yyvsp[(1) - (1)].sval));
@@ -6582,7 +6683,7 @@ yyreduce:
case 346:
/* Line 1269 of yacc.c. */
-#line 3517 "querytransformparser.ypp"
+#line 3613 "querytransformparser.ypp"
{
(yyval.qName) = (yyvsp[(1) - (1)].qName);
}
@@ -6590,23 +6691,25 @@ yyreduce:
case 347:
/* Line 1269 of yacc.c. */
-#line 3522 "querytransformparser.ypp"
+#line 3618 "querytransformparser.ypp"
{
+ allowedIn(QueryLanguages(QXmlQuery::XQuery10 | QXmlQuery::XPath20), parseInfo, (yyloc));
(yyval.expr) = (yyvsp[(2) - (3)].expr);
}
break;
case 348:
/* Line 1269 of yacc.c. */
-#line 3526 "querytransformparser.ypp"
+#line 3623 "querytransformparser.ypp"
{
+ allowedIn(QueryLanguages(QXmlQuery::XQuery10 | QXmlQuery::XPath20), parseInfo, (yyloc));
(yyval.expr) = create(new EmptySequence, (yyloc), parseInfo);
}
break;
case 349:
/* Line 1269 of yacc.c. */
-#line 3531 "querytransformparser.ypp"
+#line 3629 "querytransformparser.ypp"
{
(yyval.expr) = create(new ContextItem(), (yyloc), parseInfo);
}
@@ -6614,7 +6717,7 @@ yyreduce:
case 350:
/* Line 1269 of yacc.c. */
-#line 3536 "querytransformparser.ypp"
+#line 3634 "querytransformparser.ypp"
{
(yyval.expr) = (yyvsp[(2) - (2)].expr);
}
@@ -6622,8 +6725,9 @@ yyreduce:
case 351:
/* Line 1269 of yacc.c. */
-#line 3541 "querytransformparser.ypp"
+#line 3639 "querytransformparser.ypp"
{
+ allowedIn(QueryLanguages(QXmlQuery::XQuery10 | QXmlQuery::XPath20), parseInfo, (yyloc));
if(XPathHelper::isReservedNamespace((yyvsp[(1) - (4)].qName).namespaceURI()) || (yyvsp[(1) - (4)].qName).namespaceURI() == StandardNamespaces::InternalXSLT)
{ /* We got a call to a builtin function. */
const ReflectYYLTYPE ryy((yyloc), parseInfo);
@@ -6653,7 +6757,7 @@ yyreduce:
case 352:
/* Line 1269 of yacc.c. */
-#line 3569 "querytransformparser.ypp"
+#line 3668 "querytransformparser.ypp"
{
(yyval.expressionList) = Expression::List();
}
@@ -6661,7 +6765,7 @@ yyreduce:
case 353:
/* Line 1269 of yacc.c. */
-#line 3574 "querytransformparser.ypp"
+#line 3673 "querytransformparser.ypp"
{
Expression::List list;
list.append((yyvsp[(1) - (1)].expr));
@@ -6671,15 +6775,15 @@ yyreduce:
case 355:
/* Line 1269 of yacc.c. */
-#line 3583 "querytransformparser.ypp"
+#line 3682 "querytransformparser.ypp"
{
- disallowedConstruct(parseInfo, (yyloc));
+ allowedIn(QXmlQuery::XQuery10, parseInfo, (yyloc));
}
break;
case 360:
/* Line 1269 of yacc.c. */
-#line 3624 "querytransformparser.ypp"
+#line 3726 "querytransformparser.ypp"
{
(yyval.enums.tokenizerPosition) = parseInfo->tokenizer->commenceScanOnly();
parseInfo->scanOnlyStack.push(true);
@@ -6688,7 +6792,7 @@ yyreduce:
case 361:
/* Line 1269 of yacc.c. */
-#line 3633 "querytransformparser.ypp"
+#line 3735 "querytransformparser.ypp"
{
++parseInfo->elementConstructorDepth;
Expression::List constructors;
@@ -6836,7 +6940,7 @@ yyreduce:
case 362:
/* Line 1269 of yacc.c. */
-#line 3779 "querytransformparser.ypp"
+#line 3881 "querytransformparser.ypp"
{
/* We add the content constructor after the attribute constructors. This might result
* in nested ExpressionSequences, but it will be optimized away later on. */
@@ -6935,7 +7039,7 @@ yyreduce:
case 363:
/* Line 1269 of yacc.c. */
-#line 3875 "querytransformparser.ypp"
+#line 3977 "querytransformparser.ypp"
{
(yyval.expr) = create(new EmptySequence(), (yyloc), parseInfo);
}
@@ -6943,7 +7047,7 @@ yyreduce:
case 364:
/* Line 1269 of yacc.c. */
-#line 3879 "querytransformparser.ypp"
+#line 3981 "querytransformparser.ypp"
{
if(!(yyvsp[(4) - (5)].qName).isLexicallyEqual(parseInfo->tagStack.top()))
{
@@ -6965,7 +7069,7 @@ yyreduce:
case 365:
/* Line 1269 of yacc.c. */
-#line 3898 "querytransformparser.ypp"
+#line 4000 "querytransformparser.ypp"
{
(yyval.attributeHolders) = AttributeHolderVector();
}
@@ -6973,7 +7077,7 @@ yyreduce:
case 366:
/* Line 1269 of yacc.c. */
-#line 3902 "querytransformparser.ypp"
+#line 4004 "querytransformparser.ypp"
{
(yyvsp[(1) - (2)].attributeHolders).append((yyvsp[(2) - (2)].attributeHolder));
(yyval.attributeHolders) = (yyvsp[(1) - (2)].attributeHolders);
@@ -6982,7 +7086,7 @@ yyreduce:
case 367:
/* Line 1269 of yacc.c. */
-#line 3908 "querytransformparser.ypp"
+#line 4010 "querytransformparser.ypp"
{
(yyval.attributeHolder) = qMakePair((yyvsp[(1) - (3)].sval), (yyvsp[(3) - (3)].expr));
}
@@ -6990,7 +7094,7 @@ yyreduce:
case 368:
/* Line 1269 of yacc.c. */
-#line 3913 "querytransformparser.ypp"
+#line 4015 "querytransformparser.ypp"
{
(yyval.expr) = createDirAttributeValue((yyvsp[(2) - (3)].expressionList), parseInfo, (yyloc));
}
@@ -6998,7 +7102,7 @@ yyreduce:
case 369:
/* Line 1269 of yacc.c. */
-#line 3918 "querytransformparser.ypp"
+#line 4020 "querytransformparser.ypp"
{
(yyval.expr) = createDirAttributeValue((yyvsp[(2) - (3)].expressionList), parseInfo, (yyloc));
}
@@ -7006,7 +7110,7 @@ yyreduce:
case 370:
/* Line 1269 of yacc.c. */
-#line 3923 "querytransformparser.ypp"
+#line 4025 "querytransformparser.ypp"
{
(yyval.expressionList) = Expression::List();
}
@@ -7014,7 +7118,7 @@ yyreduce:
case 371:
/* Line 1269 of yacc.c. */
-#line 3927 "querytransformparser.ypp"
+#line 4029 "querytransformparser.ypp"
{
Expression::Ptr content((yyvsp[(1) - (2)].expr));
@@ -7028,7 +7132,7 @@ yyreduce:
case 372:
/* Line 1269 of yacc.c. */
-#line 3937 "querytransformparser.ypp"
+#line 4039 "querytransformparser.ypp"
{
(yyvsp[(2) - (2)].expressionList).prepend(create(new Literal(AtomicString::fromValue((yyvsp[(1) - (2)].sval))), (yyloc), parseInfo));
(yyval.expressionList) = (yyvsp[(2) - (2)].expressionList);
@@ -7037,7 +7141,7 @@ yyreduce:
case 373:
/* Line 1269 of yacc.c. */
-#line 3943 "querytransformparser.ypp"
+#line 4045 "querytransformparser.ypp"
{
(yyval.expressionList) = Expression::List();
parseInfo->isPreviousEnclosedExpr = false;
@@ -7046,7 +7150,7 @@ yyreduce:
case 374:
/* Line 1269 of yacc.c. */
-#line 3948 "querytransformparser.ypp"
+#line 4050 "querytransformparser.ypp"
{
(yyvsp[(1) - (2)].expressionList).append((yyvsp[(2) - (2)].expr));
(yyval.expressionList) = (yyvsp[(1) - (2)].expressionList);
@@ -7056,7 +7160,7 @@ yyreduce:
case 375:
/* Line 1269 of yacc.c. */
-#line 3954 "querytransformparser.ypp"
+#line 4056 "querytransformparser.ypp"
{
if(parseInfo->staticContext->boundarySpacePolicy() == StaticContext::BSPStrip &&
XPathHelper::isWhitespaceOnly((yyvsp[(2) - (2)].sval)))
@@ -7074,7 +7178,7 @@ yyreduce:
case 376:
/* Line 1269 of yacc.c. */
-#line 3968 "querytransformparser.ypp"
+#line 4070 "querytransformparser.ypp"
{
(yyvsp[(1) - (2)].expressionList).append(create(new TextNodeConstructor(create(new Literal(AtomicString::fromValue((yyvsp[(2) - (2)].sval))), (yyloc), parseInfo)), (yyloc), parseInfo));
(yyval.expressionList) = (yyvsp[(1) - (2)].expressionList);
@@ -7084,7 +7188,7 @@ yyreduce:
case 377:
/* Line 1269 of yacc.c. */
-#line 3974 "querytransformparser.ypp"
+#line 4076 "querytransformparser.ypp"
{
/* We insert a text node constructor that send an empty text node between
* the two enclosed expressions, in order to ensure that no space is inserted.
@@ -7104,7 +7208,7 @@ yyreduce:
case 378:
/* Line 1269 of yacc.c. */
-#line 3991 "querytransformparser.ypp"
+#line 4093 "querytransformparser.ypp"
{
(yyval.expr) = create(new CommentConstructor(create(new Literal(AtomicString::fromValue((yyvsp[(2) - (2)].sval))), (yyloc), parseInfo)), (yyloc), parseInfo);
}
@@ -7112,7 +7216,7 @@ yyreduce:
case 379:
/* Line 1269 of yacc.c. */
-#line 3996 "querytransformparser.ypp"
+#line 4098 "querytransformparser.ypp"
{
const ReflectYYLTYPE ryy((yyloc), parseInfo);
NCNameConstructor::validateTargetName<StaticContext::Ptr,
@@ -7128,9 +7232,9 @@ yyreduce:
case 387:
/* Line 1269 of yacc.c. */
-#line 4017 "querytransformparser.ypp"
+#line 4119 "querytransformparser.ypp"
{
- disallowedConstruct(parseInfo, (yyloc), (yyvsp[(2) - (3)].enums.Bool));
+ allowedIn(QXmlQuery::XQuery10, parseInfo, (yyloc), (yyvsp[(2) - (3)].enums.Bool));
(yyval.expr) = create(new DocumentConstructor((yyvsp[(3) - (3)].expr)), (yyloc), parseInfo);
}
@@ -7138,7 +7242,7 @@ yyreduce:
case 388:
/* Line 1269 of yacc.c. */
-#line 4024 "querytransformparser.ypp"
+#line 4126 "querytransformparser.ypp"
{
/* This value is incremented before the action below is executed. */
++parseInfo->elementConstructorDepth;
@@ -7147,10 +7251,10 @@ yyreduce:
case 389:
/* Line 1269 of yacc.c. */
-#line 4029 "querytransformparser.ypp"
+#line 4131 "querytransformparser.ypp"
{
Q_ASSERT(5);
- disallowedConstruct(parseInfo, (yyloc), (yyvsp[(2) - (5)].enums.Bool));
+ allowedIn(QXmlQuery::XQuery10, parseInfo, (yyloc), (yyvsp[(2) - (5)].enums.Bool));
Expression::Ptr effExpr;
@@ -7184,7 +7288,7 @@ yyreduce:
case 390:
/* Line 1269 of yacc.c. */
-#line 4063 "querytransformparser.ypp"
+#line 4165 "querytransformparser.ypp"
{
(yyval.enums.Bool) = false;
}
@@ -7192,7 +7296,7 @@ yyreduce:
case 391:
/* Line 1269 of yacc.c. */
-#line 4067 "querytransformparser.ypp"
+#line 4169 "querytransformparser.ypp"
{
(yyval.enums.Bool) = true;
}
@@ -7200,9 +7304,9 @@ yyreduce:
case 392:
/* Line 1269 of yacc.c. */
-#line 4075 "querytransformparser.ypp"
+#line 4177 "querytransformparser.ypp"
{
- disallowedConstruct(parseInfo, (yyloc), (yyvsp[(2) - (4)].enums.Bool));
+ allowedIn(QXmlQuery::XQuery10, parseInfo, (yyloc), (yyvsp[(2) - (4)].enums.Bool));
const Expression::Ptr name(create(new AttributeNameValidator((yyvsp[(3) - (4)].expr)), (yyloc), parseInfo));
@@ -7215,7 +7319,7 @@ yyreduce:
case 393:
/* Line 1269 of yacc.c. */
-#line 4087 "querytransformparser.ypp"
+#line 4189 "querytransformparser.ypp"
{
(yyval.expr) = create(new TextNodeConstructor(createSimpleContent((yyvsp[(3) - (3)].expr), (yyloc), parseInfo)), (yyloc), parseInfo);
}
@@ -7223,9 +7327,9 @@ yyreduce:
case 394:
/* Line 1269 of yacc.c. */
-#line 4092 "querytransformparser.ypp"
+#line 4194 "querytransformparser.ypp"
{
- disallowedConstruct(parseInfo, (yyloc), (yyvsp[(2) - (3)].enums.Bool));
+ allowedIn(QXmlQuery::XQuery10, parseInfo, (yyloc), (yyvsp[(2) - (3)].enums.Bool));
(yyval.expr) = create(new CommentConstructor(createSimpleContent((yyvsp[(3) - (3)].expr), (yyloc), parseInfo)), (yyloc), parseInfo);
}
@@ -7233,9 +7337,9 @@ yyreduce:
case 395:
/* Line 1269 of yacc.c. */
-#line 4099 "querytransformparser.ypp"
+#line 4201 "querytransformparser.ypp"
{
- disallowedConstruct(parseInfo, (yyloc), (yyvsp[(2) - (3)].expr));
+ allowedIn(QXmlQuery::XQuery10, parseInfo, (yyloc), (yyvsp[(2) - (3)].expr));
if((yyvsp[(3) - (3)].expr))
{
@@ -7248,7 +7352,7 @@ yyreduce:
case 396:
/* Line 1269 of yacc.c. */
-#line 4110 "querytransformparser.ypp"
+#line 4212 "querytransformparser.ypp"
{
parseInfo->nodeTestSource = BuiltinTypes::attribute;
}
@@ -7256,7 +7360,7 @@ yyreduce:
case 397:
/* Line 1269 of yacc.c. */
-#line 4114 "querytransformparser.ypp"
+#line 4216 "querytransformparser.ypp"
{
parseInfo->restoreNodeTestSource();
}
@@ -7264,7 +7368,7 @@ yyreduce:
case 398:
/* Line 1269 of yacc.c. */
-#line 4117 "querytransformparser.ypp"
+#line 4219 "querytransformparser.ypp"
{
(yyval.expr) = create(new Literal(toItem(QNameValue::fromValue(parseInfo->staticContext->namePool(), (yyvsp[(2) - (3)].qName)))), (yyloc), parseInfo);
}
@@ -7272,7 +7376,7 @@ yyreduce:
case 400:
/* Line 1269 of yacc.c. */
-#line 4123 "querytransformparser.ypp"
+#line 4225 "querytransformparser.ypp"
{
(yyval.expr) = create(new Literal(toItem(QNameValue::fromValue(parseInfo->staticContext->namePool(), (yyvsp[(1) - (1)].qName)))), (yyloc), parseInfo);
}
@@ -7280,7 +7384,7 @@ yyreduce:
case 402:
/* Line 1269 of yacc.c. */
-#line 4129 "querytransformparser.ypp"
+#line 4231 "querytransformparser.ypp"
{
if(BuiltinTypes::xsQName->xdtTypeMatches((yyvsp[(1) - (1)].expr)->staticType()->itemType()))
(yyval.expr) = (yyvsp[(1) - (1)].expr);
@@ -7295,7 +7399,7 @@ yyreduce:
case 403:
/* Line 1269 of yacc.c. */
-#line 4144 "querytransformparser.ypp"
+#line 4246 "querytransformparser.ypp"
{
(yyval.expr) = create(new NCNameConstructor(create(new Literal(AtomicString::fromValue((yyvsp[(1) - (1)].sval))), (yyloc), parseInfo)), (yyloc), parseInfo);
}
@@ -7303,7 +7407,7 @@ yyreduce:
case 404:
/* Line 1269 of yacc.c. */
-#line 4148 "querytransformparser.ypp"
+#line 4250 "querytransformparser.ypp"
{
(yyval.expr) = create(new NCNameConstructor((yyvsp[(1) - (1)].expr)), (yyloc), parseInfo);
}
@@ -7311,7 +7415,7 @@ yyreduce:
case 405:
/* Line 1269 of yacc.c. */
-#line 4157 "querytransformparser.ypp"
+#line 4259 "querytransformparser.ypp"
{
(yyval.expr) = create(new ComputedNamespaceConstructor((yyvsp[(2) - (3)].expr), (yyvsp[(3) - (3)].expr)), (yyloc), parseInfo);
}
@@ -7319,7 +7423,7 @@ yyreduce:
case 406:
/* Line 1269 of yacc.c. */
-#line 4162 "querytransformparser.ypp"
+#line 4264 "querytransformparser.ypp"
{
(yyval.sequenceType) = makeGenericSequenceType((yyvsp[(1) - (1)].itemType), Cardinality::exactlyOne());
}
@@ -7327,7 +7431,7 @@ yyreduce:
case 407:
/* Line 1269 of yacc.c. */
-#line 4166 "querytransformparser.ypp"
+#line 4268 "querytransformparser.ypp"
{
(yyval.sequenceType) = makeGenericSequenceType((yyvsp[(1) - (2)].itemType), Cardinality::zeroOrOne());
}
@@ -7335,7 +7439,7 @@ yyreduce:
case 408:
/* Line 1269 of yacc.c. */
-#line 4171 "querytransformparser.ypp"
+#line 4273 "querytransformparser.ypp"
{
(yyval.sequenceType) = CommonSequenceTypes::ZeroOrMoreItems;
}
@@ -7343,7 +7447,7 @@ yyreduce:
case 409:
/* Line 1269 of yacc.c. */
-#line 4175 "querytransformparser.ypp"
+#line 4277 "querytransformparser.ypp"
{
(yyval.sequenceType) = (yyvsp[(2) - (2)].sequenceType);
}
@@ -7351,7 +7455,7 @@ yyreduce:
case 410:
/* Line 1269 of yacc.c. */
-#line 4180 "querytransformparser.ypp"
+#line 4282 "querytransformparser.ypp"
{
(yyval.sequenceType) = makeGenericSequenceType((yyvsp[(1) - (2)].itemType), (yyvsp[(2) - (2)].cardinality));
}
@@ -7359,7 +7463,7 @@ yyreduce:
case 411:
/* Line 1269 of yacc.c. */
-#line 4185 "querytransformparser.ypp"
+#line 4287 "querytransformparser.ypp"
{
(yyval.sequenceType) = CommonSequenceTypes::Empty;
}
@@ -7367,31 +7471,31 @@ yyreduce:
case 412:
/* Line 1269 of yacc.c. */
-#line 4189 "querytransformparser.ypp"
+#line 4291 "querytransformparser.ypp"
{(yyval.cardinality) = Cardinality::exactlyOne();}
break;
case 413:
/* Line 1269 of yacc.c. */
-#line 4190 "querytransformparser.ypp"
+#line 4292 "querytransformparser.ypp"
{(yyval.cardinality) = Cardinality::oneOrMore();}
break;
case 414:
/* Line 1269 of yacc.c. */
-#line 4191 "querytransformparser.ypp"
+#line 4293 "querytransformparser.ypp"
{(yyval.cardinality) = Cardinality::zeroOrMore();}
break;
case 415:
/* Line 1269 of yacc.c. */
-#line 4192 "querytransformparser.ypp"
+#line 4294 "querytransformparser.ypp"
{(yyval.cardinality) = Cardinality::zeroOrOne();}
break;
case 419:
/* Line 1269 of yacc.c. */
-#line 4198 "querytransformparser.ypp"
+#line 4300 "querytransformparser.ypp"
{
(yyval.itemType) = BuiltinTypes::item;
}
@@ -7399,7 +7503,7 @@ yyreduce:
case 420:
/* Line 1269 of yacc.c. */
-#line 4203 "querytransformparser.ypp"
+#line 4305 "querytransformparser.ypp"
{
const SchemaType::Ptr t(parseInfo->staticContext->schemaDefinitions()->createSchemaType((yyvsp[(1) - (1)].qName)));
@@ -7435,7 +7539,7 @@ yyreduce:
case 428:
/* Line 1269 of yacc.c. */
-#line 4247 "querytransformparser.ypp"
+#line 4349 "querytransformparser.ypp"
{
(yyval.itemType) = BuiltinTypes::node;
}
@@ -7443,7 +7547,7 @@ yyreduce:
case 429:
/* Line 1269 of yacc.c. */
-#line 4252 "querytransformparser.ypp"
+#line 4354 "querytransformparser.ypp"
{
(yyval.itemType) = BuiltinTypes::document;
}
@@ -7451,7 +7555,7 @@ yyreduce:
case 430:
/* Line 1269 of yacc.c. */
-#line 4257 "querytransformparser.ypp"
+#line 4359 "querytransformparser.ypp"
{
// TODO support for document element testing
(yyval.itemType) = BuiltinTypes::document;
@@ -7460,7 +7564,7 @@ yyreduce:
case 433:
/* Line 1269 of yacc.c. */
-#line 4266 "querytransformparser.ypp"
+#line 4368 "querytransformparser.ypp"
{
(yyval.itemType) = BuiltinTypes::text;
}
@@ -7468,7 +7572,7 @@ yyreduce:
case 434:
/* Line 1269 of yacc.c. */
-#line 4271 "querytransformparser.ypp"
+#line 4373 "querytransformparser.ypp"
{
(yyval.itemType) = BuiltinTypes::comment;
}
@@ -7476,7 +7580,7 @@ yyreduce:
case 435:
/* Line 1269 of yacc.c. */
-#line 4276 "querytransformparser.ypp"
+#line 4378 "querytransformparser.ypp"
{
(yyval.itemType) = BuiltinTypes::pi;
}
@@ -7484,7 +7588,7 @@ yyreduce:
case 436:
/* Line 1269 of yacc.c. */
-#line 4281 "querytransformparser.ypp"
+#line 4383 "querytransformparser.ypp"
{
(yyval.itemType) = LocalNameTest::create(BuiltinTypes::pi, parseInfo->staticContext->namePool()->allocateLocalName((yyvsp[(3) - (4)].sval)));
}
@@ -7492,7 +7596,7 @@ yyreduce:
case 437:
/* Line 1269 of yacc.c. */
-#line 4286 "querytransformparser.ypp"
+#line 4388 "querytransformparser.ypp"
{
if(QXmlUtils::isNCName((yyvsp[(3) - (4)].sval)))
{
@@ -7511,7 +7615,7 @@ yyreduce:
case 440:
/* Line 1269 of yacc.c. */
-#line 4305 "querytransformparser.ypp"
+#line 4407 "querytransformparser.ypp"
{
(yyval.itemType) = BuiltinTypes::attribute;
}
@@ -7519,7 +7623,7 @@ yyreduce:
case 441:
/* Line 1269 of yacc.c. */
-#line 4310 "querytransformparser.ypp"
+#line 4412 "querytransformparser.ypp"
{
(yyval.itemType) = BuiltinTypes::attribute;
}
@@ -7527,7 +7631,7 @@ yyreduce:
case 442:
/* Line 1269 of yacc.c. */
-#line 4315 "querytransformparser.ypp"
+#line 4417 "querytransformparser.ypp"
{
(yyval.itemType) = QNameTest::create(BuiltinTypes::attribute, (yyvsp[(3) - (4)].qName));
}
@@ -7535,7 +7639,7 @@ yyreduce:
case 443:
/* Line 1269 of yacc.c. */
-#line 4319 "querytransformparser.ypp"
+#line 4421 "querytransformparser.ypp"
{
const SchemaType::Ptr t(parseInfo->staticContext->schemaDefinitions()->createSchemaType((yyvsp[(5) - (6)].qName)));
@@ -7551,7 +7655,7 @@ yyreduce:
case 444:
/* Line 1269 of yacc.c. */
-#line 4331 "querytransformparser.ypp"
+#line 4433 "querytransformparser.ypp"
{
const SchemaType::Ptr t(parseInfo->staticContext->schemaDefinitions()->createSchemaType((yyvsp[(5) - (6)].qName)));
@@ -7567,7 +7671,7 @@ yyreduce:
case 445:
/* Line 1269 of yacc.c. */
-#line 4344 "querytransformparser.ypp"
+#line 4446 "querytransformparser.ypp"
{
parseInfo->staticContext->error(QtXmlPatterns::tr("%1 is not in the in-scope attribute "
"declarations. Note that the schema import "
@@ -7580,7 +7684,7 @@ yyreduce:
case 446:
/* Line 1269 of yacc.c. */
-#line 4354 "querytransformparser.ypp"
+#line 4456 "querytransformparser.ypp"
{
(yyval.itemType) = BuiltinTypes::element;
}
@@ -7588,7 +7692,7 @@ yyreduce:
case 447:
/* Line 1269 of yacc.c. */
-#line 4359 "querytransformparser.ypp"
+#line 4461 "querytransformparser.ypp"
{
(yyval.itemType) = BuiltinTypes::element;
}
@@ -7596,7 +7700,7 @@ yyreduce:
case 448:
/* Line 1269 of yacc.c. */
-#line 4364 "querytransformparser.ypp"
+#line 4466 "querytransformparser.ypp"
{
(yyval.itemType) = QNameTest::create(BuiltinTypes::element, (yyvsp[(3) - (4)].qName));
}
@@ -7604,7 +7708,7 @@ yyreduce:
case 449:
/* Line 1269 of yacc.c. */
-#line 4369 "querytransformparser.ypp"
+#line 4471 "querytransformparser.ypp"
{
const SchemaType::Ptr t(parseInfo->staticContext->schemaDefinitions()->createSchemaType((yyvsp[(5) - (7)].qName)));
@@ -7621,7 +7725,7 @@ yyreduce:
case 450:
/* Line 1269 of yacc.c. */
-#line 4383 "querytransformparser.ypp"
+#line 4485 "querytransformparser.ypp"
{
const SchemaType::Ptr t(parseInfo->staticContext->schemaDefinitions()->createSchemaType((yyvsp[(5) - (7)].qName)));
@@ -7638,7 +7742,7 @@ yyreduce:
case 453:
/* Line 1269 of yacc.c. */
-#line 4400 "querytransformparser.ypp"
+#line 4502 "querytransformparser.ypp"
{
parseInfo->staticContext->error(QtXmlPatterns::tr("%1 is not in the in-scope attribute "
"declarations. Note that the schema import "
@@ -7651,7 +7755,7 @@ yyreduce:
case 455:
/* Line 1269 of yacc.c. */
-#line 4412 "querytransformparser.ypp"
+#line 4514 "querytransformparser.ypp"
{
(yyval.qName) = parseInfo->staticContext->namePool()->allocateQName(StandardNamespaces::empty, (yyvsp[(1) - (1)].sval));
}
@@ -7659,7 +7763,7 @@ yyreduce:
case 457:
/* Line 1269 of yacc.c. */
-#line 4424 "querytransformparser.ypp"
+#line 4526 "querytransformparser.ypp"
{
if(parseInfo->nodeTestSource == BuiltinTypes::element)
(yyval.qName) = parseInfo->staticContext->namePool()->allocateQName(parseInfo->staticContext->namespaceBindings()->lookupNamespaceURI(StandardPrefixes::empty), (yyvsp[(1) - (1)].sval));
@@ -7670,7 +7774,7 @@ yyreduce:
case 462:
/* Line 1269 of yacc.c. */
-#line 4438 "querytransformparser.ypp"
+#line 4540 "querytransformparser.ypp"
{
(yyval.qName) = parseInfo->staticContext->namePool()->allocateQName(parseInfo->staticContext->defaultFunctionNamespace(), (yyvsp[(1) - (1)].sval));
}
@@ -7678,7 +7782,7 @@ yyreduce:
case 463:
/* Line 1269 of yacc.c. */
-#line 4442 "querytransformparser.ypp"
+#line 4544 "querytransformparser.ypp"
{
(yyval.qName) = parseInfo->staticContext->namePool()->allocateQName(StandardNamespaces::InternalXSLT, (yyvsp[(2) - (2)].sval));
}
@@ -7686,7 +7790,7 @@ yyreduce:
case 466:
/* Line 1269 of yacc.c. */
-#line 4450 "querytransformparser.ypp"
+#line 4552 "querytransformparser.ypp"
{
parseInfo->staticContext->error(QtXmlPatterns::tr("The name of an extension expression must be in "
"a namespace."),
@@ -7694,9 +7798,25 @@ yyreduce:
}
break;
+ case 469:
+/* Line 1269 of yacc.c. */
+#line 4562 "querytransformparser.ypp"
+ {
+ allowedIn(QueryLanguages(QXmlQuery::XQuery10 | QXmlQuery::XPath20), parseInfo, (yyloc));
+ }
+ break;
+
+ case 470:
+/* Line 1269 of yacc.c. */
+#line 4566 "querytransformparser.ypp"
+ {
+ allowedIn(QueryLanguages(QXmlQuery::XQuery10 | QXmlQuery::XPath20), parseInfo, (yyloc));
+ }
+ break;
+
case 471:
/* Line 1269 of yacc.c. */
-#line 4463 "querytransformparser.ypp"
+#line 4571 "querytransformparser.ypp"
{
const ReflectYYLTYPE ryy((yyloc), parseInfo);
@@ -7712,7 +7832,7 @@ yyreduce:
case 472:
/* Line 1269 of yacc.c. */
-#line 4475 "querytransformparser.ypp"
+#line 4583 "querytransformparser.ypp"
{
(yyval.qName) = parseInfo->staticContext->namePool()->fromClarkName((yyvsp[(1) - (1)].sval));
}
@@ -7720,7 +7840,7 @@ yyreduce:
/* Line 1269 of yacc.c. */
-#line 7643 "qquerytransformparser.cpp"
+#line 7763 "qquerytransformparser.cpp"
default: break;
}
YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
@@ -7938,7 +8058,7 @@ yyreturn:
/* Line 1486 of yacc.c. */
-#line 4479 "querytransformparser.ypp"
+#line 4587 "querytransformparser.ypp"
QString Tokenizer::tokenToString(const Token &token)
diff --git a/src/xmlpatterns/parser/qquerytransformparser_p.h b/src/xmlpatterns/parser/qquerytransformparser_p.h
index b33ca55..06953d0 100644
--- a/src/xmlpatterns/parser/qquerytransformparser_p.h
+++ b/src/xmlpatterns/parser/qquerytransformparser_p.h
@@ -49,6 +49,57 @@
//
// We mean it.
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the QtXmlPatterns of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+
/* A Bison parser, made by GNU Bison 2.3a. */
/* Skeleton interface for Bison's Yacc-like parsers in C
@@ -103,6 +154,37 @@
#ifdef SELF
# undef SELF
#endif
+/* These tokens are defined in VxWorks kernel mode
+ *
+ * Hence this un-break fix. Note that this file was auto generated. */
+#ifdef ERROR
+# undef ERROR
+#endif
+#ifdef IMPORT
+# undef IMPORT
+#endif
+#ifdef MAP
+# undef MAP
+#endif
+
+/* These tokens are defined to nothing on Windows because they're
+ * used in their documentation parser, for use in things like:
+ *
+ * int foo(IN char* name, OUT char* path);
+ *
+ * Hence this un-break fix. Note that this file was auto generated. */
+#ifdef IN
+# undef IN
+#endif
+#ifdef INSTANCE
+# undef INSTANCE
+#endif
+#ifdef STRICT
+# undef STRICT
+#endif
+#ifdef SELF
+# undef SELF
+#endif
/* Tokens. */
#ifndef YYTOKENTYPE
diff --git a/src/xmlpatterns/parser/querytransformparser.ypp b/src/xmlpatterns/parser/querytransformparser.ypp
index f67eb5d..74cee11 100644
--- a/src/xmlpatterns/parser/querytransformparser.ypp
+++ b/src/xmlpatterns/parser/querytransformparser.ypp
@@ -227,11 +227,18 @@ static inline QSourceLocation fromYYLTYPE(const YYLTYPE &sourceLocator,
}
/**
+ * @internal
+ * @relates QXmlQuery
+ */
+typedef QFlags<QXmlQuery::QueryLanguage> QueryLanguages;
+
+/**
* @short Flags invalid expressions and declarations in the currently
* parsed language.
*
- * Since this grammar is used for several languages: XQuery 1.0, XSL-T 2.0 and
- * XPath 2.0 inside XSL-T, it is the union of all the constructs in these
+ * Since this grammar is used for several languages: XQuery 1.0, XSL-T 2.0, and
+ * XPath 2.0 inside XSL-T, and field and selector patterns in W3C XML Schema's
+ * identity constraints, it is the union of all the constructs in these
* languages. However, when dealing with each language individually, we
* regularly need to disallow some expressions, such as direct element
* constructors when parsing XSL-T, or the typeswitch when parsing XPath.
@@ -242,19 +249,46 @@ static inline QSourceLocation fromYYLTYPE(const YYLTYPE &sourceLocator,
* instance the @c let clause, should not be flagged as an error, because it's
* used for internal purposes.
*
- * Hence, this function is called from each expression and declaration which is
- * unavailable in XPath.
+ * Hence, this function is called from each expression and declaration with @p
+ * allowedLanguages stating what languages it is allowed in.
*
* If @p isInternal is @c true, no error is raised. Otherwise, if the current
- * language is not XQuery, an error is raised.
+ * language is not in @p allowedLanguages, an error is raised.
*/
-static void disallowedConstruct(const ParserContext *const parseInfo,
- const YYLTYPE &sourceLocator,
- const bool isInternal = false)
+static void allowedIn(const QueryLanguages allowedLanguages,
+ const ParserContext *const parseInfo,
+ const YYLTYPE &sourceLocator,
+ const bool isInternal = false)
{
- if(!isInternal && parseInfo->languageAccent != QXmlQuery::XQuery10)
+ /* We treat XPath 2.0 as a subset of XSL-T 2.0, so if XPath 2.0 is allowed
+ * and XSL-T is the language, it's ok. */
+ if(!isInternal &&
+ (!allowedLanguages.testFlag(parseInfo->languageAccent) && !(allowedLanguages.testFlag(QXmlQuery::XPath20) && parseInfo->languageAccent == QXmlQuery::XSLT20)))
{
- parseInfo->staticContext->error(QtXmlPatterns::tr("A construct was encountered which only is allowed in XQuery."),
+
+ QString langName;
+
+ switch(parseInfo->languageAccent)
+ {
+ case QXmlQuery::XPath20:
+ langName = QLatin1String("XPath 2.0");
+ break;
+ case QXmlQuery::XSLT20:
+ langName = QLatin1String("XSL-T 2.0");
+ break;
+ case QXmlQuery::XQuery10:
+ langName = QLatin1String("XQuery 1.0");
+ break;
+ case QXmlQuery::XmlSchema11IdentityConstraintSelector:
+ langName = QtXmlPatterns::tr("W3C XML Schema identity constraint selector");
+ break;
+ case QXmlQuery::XmlSchema11IdentityConstraintField:
+ langName = QtXmlPatterns::tr("W3C XML Schema identity constraint field");
+ break;
+ }
+
+ parseInfo->staticContext->error(QtXmlPatterns::tr("A construct was encountered "
+ "which is disallowed in the current language(%1).").arg(langName),
ReportContext::XPST0003,
fromYYLTYPE(sourceLocator, parseInfo));
@@ -1560,7 +1594,7 @@ Prolog: /* Empty. */
/* First part. */
| Prolog DefaultNamespaceDecl
{
- disallowedConstruct(parseInfo, @$);
+ allowedIn(QXmlQuery::XQuery10, parseInfo, @$);
if(parseInfo->hasSecondPrologPart)
parseInfo->staticContext->error(QtXmlPatterns::tr("A default namespace declaration must occur before function, "
"variable, and option declarations."), ReportContext::XPST0003, fromYYLTYPE(@$, parseInfo));
@@ -1579,7 +1613,7 @@ Prolog: /* Empty. */
}
| Prolog Import
{
- disallowedConstruct(parseInfo, @$);
+ allowedIn(QXmlQuery::XQuery10, parseInfo, @$);
if(parseInfo->hasSecondPrologPart)
parseInfo->staticContext->error(QtXmlPatterns::tr("Module imports must occur before function, "
"variable, and option declarations."), ReportContext::XPST0003, fromYYLTYPE(@$, parseInfo));
@@ -1597,7 +1631,7 @@ Prolog: /* Empty. */
}
| Prolog OptionDecl
{
- disallowedConstruct(parseInfo, @$);
+ allowedIn(QXmlQuery::XQuery10, parseInfo, @$);
parseInfo->hasSecondPrologPart = true;
}
@@ -1705,7 +1739,7 @@ OptionalPriority: /* Empty. */
const AtomicValue::Ptr val(Decimal::fromLexical($2));
if(val->hasError())
{
- parseInfo->staticContext->error(QtXmlPatterns::tr("The value of attribute %1 must of type %2, which %3 isn't.")
+ parseInfo->staticContext->error(QtXmlPatterns::tr("The value of attribute %1 must be of type %2, which %3 isn't.")
.arg(formatKeyword(QLatin1String("priority")),
formatType(parseInfo->staticContext->namePool(), BuiltinTypes::xsDecimal),
formatData($2)),
@@ -1730,20 +1764,20 @@ TemplateName: NAME ElementName
Setter: BoundarySpaceDecl /* [7] */
| DefaultCollationDecl
{
- disallowedConstruct(parseInfo, @$);
+ allowedIn(QXmlQuery::XQuery10, parseInfo, @$);
}
| BaseURIDecl
| ConstructionDecl
{
- disallowedConstruct(parseInfo, @$);
+ allowedIn(QXmlQuery::XQuery10, parseInfo, @$);
}
| OrderingModeDecl
{
- disallowedConstruct(parseInfo, @$);
+ allowedIn(QXmlQuery::XQuery10, parseInfo, @$);
}
| EmptyOrderDecl
{
- disallowedConstruct(parseInfo, @$);
+ allowedIn(QXmlQuery::XQuery10, parseInfo, @$);
}
| CopyNamespacesDecl
@@ -1755,7 +1789,7 @@ Separator: SEMI_COLON
NamespaceDecl: DECLARE NAMESPACE NCNAME G_EQ URILiteral IsInternal Separator /* [10] */
{
if(!$6)
- disallowedConstruct(parseInfo, @$);
+ allowedIn(QXmlQuery::XQuery10, parseInfo, @$);
if($3 == QLatin1String("xmlns"))
{
@@ -1867,7 +1901,7 @@ OptionDecl: DECLARE OPTION ElementName StringLiteral Separator
OrderingModeDecl: DECLARE ORDERING OrderingMode Separator /* [14] */
{
- disallowedConstruct(parseInfo, @$);
+ allowedIn(QXmlQuery::XQuery10, parseInfo, @$);
if(parseInfo->hasDeclaration(ParserContext::OrderingModeDecl))
{
parseInfo->staticContext->error(prologMessage("declare ordering"),
@@ -1964,7 +1998,7 @@ DefaultCollationDecl: DECLARE DEFAULT COLLATION StringLiteral Separator
BaseURIDecl: DECLARE BASEURI IsInternal URILiteral Separator /* [20] */
{
- disallowedConstruct(parseInfo, @$, $3);
+ allowedIn(QueryLanguages(QXmlQuery::XQuery10 | QXmlQuery::XSLT20), parseInfo, @$, $3);
if(parseInfo->hasDeclaration(ParserContext::BaseURIDecl))
{
parseInfo->staticContext->error(prologMessage("declare base-uri"),
@@ -2026,7 +2060,7 @@ FileLocation: URILiteral
VarDecl: DECLARE VARIABLE IsInternal DOLLAR VarName TypeDeclaration
VariableValue OptionalDefaultValue Separator /* [24] */
{
- disallowedConstruct(parseInfo, @$, $3);
+ allowedIn(QXmlQuery::XQuery10, parseInfo, @$, $3);
if(variableByName($5, parseInfo))
{
parseInfo->staticContext->error(QtXmlPatterns::tr("A variable by name %1 has already "
@@ -2126,7 +2160,7 @@ FunctionDecl: DECLARE FUNCTION IsInternal FunctionName LPAREN ParamList RPAREN
TypeDeclaration FunctionBody Separator /* [26] */
{
if(!$3)
- disallowedConstruct(parseInfo, @$, $3);
+ allowedIn(QXmlQuery::XQuery10, parseInfo, @$, $3);
/* If FunctionBody is null, it is 'external', otherwise the value is the body. */
const QXmlName::NamespaceCode ns($4.namespaceURI());
@@ -2696,7 +2730,7 @@ LetClause: LET IsInternal DOLLAR VarName TypeDeclaration ASSIGN ExprSingle
}
LetTail /* [36] */
{
- disallowedConstruct(parseInfo, @$, $2);
+ allowedIn(QXmlQuery::XQuery10, parseInfo, @$, $2);
Q_ASSERT(parseInfo->variables.top()->name == $4);
$$ = create(new LetClause($<expr>8, $9, parseInfo->variables.top()), @$, parseInfo);
@@ -2835,6 +2869,7 @@ SomeQuantificationExpr: SOME DOLLAR VarName TypeDeclaration IN ExprSingle
{$<enums.slot>$ = parseInfo->staticContext->currentRangeSlot();}
SomeQuantificationTail /* [X] */
{
+ allowedIn(QueryLanguages(QXmlQuery::XQuery10 | QXmlQuery::XPath20), parseInfo, @$);
$$ = create(new QuantifiedExpression($<enums.slot>8,
QuantifiedExpression::Some, $<expr>6, $9), @$, parseInfo);
parseInfo->finalizePushedVariable();
@@ -2863,6 +2898,7 @@ EveryQuantificationExpr: EVERY DOLLAR VarName TypeDeclaration IN ExprSingle
{$<enums.slot>$ = parseInfo->staticContext->currentRangeSlot();}
EveryQuantificationTail /* [X] */
{
+ allowedIn(QueryLanguages(QXmlQuery::XQuery10 | QXmlQuery::XPath20), parseInfo, @$);
$$ = create(new QuantifiedExpression($<enums.slot>8,
QuantifiedExpression::Every, $<expr>6, $9), @$, parseInfo);
parseInfo->finalizePushedVariable();
@@ -2916,7 +2952,7 @@ TypeswitchExpr: TYPESWITCH LPAREN Expr RPAREN
}
CaseClause /* [43] */
{
- disallowedConstruct(parseInfo, @$);
+ allowedIn(QXmlQuery::XQuery10, parseInfo, @$);
parseInfo->typeswitchSource.pop();
$$ = $6;
}
@@ -2976,18 +3012,21 @@ CaseDefault: DEFAULT RETURN ExprSingle
IfExpr: IF LPAREN Expr RPAREN THEN ExprSingle ELSE ExprSingle /* [45] */
{
+ allowedIn(QueryLanguages(QXmlQuery::XQuery10 | QXmlQuery::XPath20), parseInfo, @$);
$$ = create(new IfThenClause($3, $6, $8), @$, parseInfo);
}
OrExpr: AndExpr /* [46] */
| OrExpr OR AndExpr
{
+ allowedIn(QueryLanguages(QXmlQuery::XQuery10 | QXmlQuery::XPath20), parseInfo, @$);
$$ = create(new OrExpression($1, $3), @$, parseInfo);
}
AndExpr: ComparisonExpr /* [47] */
| AndExpr AND ComparisonExpr
{
+ allowedIn(QueryLanguages(QXmlQuery::XQuery10 | QXmlQuery::XPath20), parseInfo, @$);
$$ = create(new AndExpression($1, $3), @$, parseInfo);
}
@@ -2999,12 +3038,14 @@ ComparisonExpr: RangeExpr
RangeExpr: AdditiveExpr /* [49] */
| AdditiveExpr TO AdditiveExpr
{
+ allowedIn(QueryLanguages(QXmlQuery::XQuery10 | QXmlQuery::XPath20), parseInfo, @$);
$$ = create(new RangeExpression($1, $3), @$, parseInfo);
}
AdditiveExpr: MultiplicativeExpr /* [50] */
| AdditiveExpr AdditiveOperator MultiplicativeExpr
{
+ allowedIn(QueryLanguages(QXmlQuery::XQuery10 | QXmlQuery::XPath20), parseInfo, @$);
$$ = create(new ArithmeticExpression($1, $2, $3), @$, parseInfo);
}
@@ -3014,6 +3055,7 @@ AdditiveOperator: PLUS {$$ = AtomicMathematician::Add;}
MultiplicativeExpr: UnionExpr /* [51] */
| MultiplicativeExpr MultiplyOperator UnionExpr
{
+ allowedIn(QueryLanguages(QXmlQuery::XQuery10 | QXmlQuery::XPath20), parseInfo, @$);
$$ = create(new ArithmeticExpression($1, $2, $3), @$, parseInfo);
}
@@ -3025,12 +3067,18 @@ MultiplyOperator: STAR {$$ = AtomicMathematician::Multiply;}
UnionExpr: IntersectExceptExpr /* [52] */
| UnionExpr UnionOperator IntersectExceptExpr
{
+ allowedIn(QueryLanguages(QXmlQuery::XQuery10
+ | QXmlQuery::XPath20
+ | QXmlQuery::XmlSchema11IdentityConstraintField
+ | QXmlQuery::XmlSchema11IdentityConstraintSelector),
+ parseInfo, @$);
$$ = create(new CombineNodes($1, CombineNodes::Union, $3), @$, parseInfo);
}
IntersectExceptExpr: InstanceOfExpr /* [53] */
| IntersectExceptExpr IntersectOperator InstanceOfExpr
{
+ allowedIn(QueryLanguages(QXmlQuery::XQuery10 | QXmlQuery::XPath20), parseInfo, @$);
$$ = create(new CombineNodes($1, $2, $3), @$, parseInfo);
}
@@ -3049,31 +3097,36 @@ IntersectOperator: INTERSECT
InstanceOfExpr: TreatExpr /* [54] */
| TreatExpr INSTANCE OF SequenceType
{
+ allowedIn(QueryLanguages(QXmlQuery::XQuery10 | QXmlQuery::XPath20), parseInfo, @$);
$$ = create(new InstanceOf($1,
- SequenceType::Ptr($4)), @$, parseInfo);
+ SequenceType::Ptr($4)), @$, parseInfo);
}
TreatExpr: CastableExpr /* [55] */
| CastableExpr TREAT AS SequenceType
{
+ allowedIn(QueryLanguages(QXmlQuery::XQuery10 | QXmlQuery::XPath20), parseInfo, @$);
$$ = create(new TreatAs($1, $4), @$, parseInfo);
}
CastableExpr: CastExpr /* [56] */
| CastExpr CASTABLE AS SingleType
{
+ allowedIn(QueryLanguages(QXmlQuery::XQuery10 | QXmlQuery::XPath20), parseInfo, @$);
$$ = create(new CastableAs($1, $4), @$, parseInfo);
}
CastExpr: UnaryExpr /* [57] */
| UnaryExpr CAST AS SingleType
{
+ allowedIn(QueryLanguages(QXmlQuery::XQuery10 | QXmlQuery::XPath20), parseInfo, @$);
$$ = create(new CastAs($1, $4), @$, parseInfo);
}
UnaryExpr: ValueExpr /* [58] */
| UnaryOperator UnaryExpr
{
+ allowedIn(QueryLanguages(QXmlQuery::XQuery10 | QXmlQuery::XPath20), parseInfo, @$);
$$ = create(new UnaryExpression($1, $2, parseInfo->staticContext), @$, parseInfo);
}
@@ -3092,6 +3145,7 @@ ValueExpr: ValidateExpr
GeneralComp: RangeExpr GeneralComparisonOperator RangeExpr /* [60] */
{
+ allowedIn(QueryLanguages(QXmlQuery::XQuery10 | QXmlQuery::XPath20), parseInfo, @$);
$$ = create(new GeneralComparison($1, $2, $3, parseInfo->isBackwardsCompat.top()), @$, parseInfo);
}
@@ -3125,7 +3179,7 @@ NodeOperator: IS {$$ = QXmlNodeModelIndex::Is;}
ValidateExpr: ValidationMode EnclosedExpr /* [63] */
{
- disallowedConstruct(parseInfo, @$);
+ allowedIn(QXmlQuery::XQuery10, parseInfo, @$);
parseInfo->staticContext->error(QtXmlPatterns::tr("The Schema Validation Feature is not supported. "
"Hence, %1-expressions may not be used.")
.arg(formatKeyword("validate")),
@@ -3143,6 +3197,7 @@ ValidationMode: VALIDATE {$$ = Validate::Strict;}
ExtensionExpr: Pragmas EnclosedOptionalExpr /* [65] */
{
+ allowedIn(QXmlQuery::XQuery10, parseInfo, @$);
/* We don't support any pragmas, so we only do the
* necessary validation and use the fallback expression. */
@@ -3171,7 +3226,7 @@ Pragmas: Pragmas Pragma
Pragma: PRAGMA_START PragmaName PragmaContents PRAGMA_END /* [66] */
{
- disallowedConstruct(parseInfo, @$);
+ allowedIn(QXmlQuery::XQuery10, parseInfo, @$);
}
PragmaContents: /* empty */ /* [67] */
@@ -3241,12 +3296,14 @@ StepExpr: FilteredAxisStep
}
| BASEURI StringLiteral CURLY_LBRACE Expr CURLY_RBRACE /* [X] */
{
+ allowedIn(QXmlQuery::XSLT20, parseInfo, @$);
Q_ASSERT(!$2.isEmpty());
$$ = create(new StaticBaseURIStore($2, $4), @$, parseInfo);
}
| DECLARE NAMESPACE NCNAME G_EQ STRING_LITERAL CURLY_LBRACE /* [X] */
{
+ allowedIn(QueryLanguages(QXmlQuery::XQuery10 | QXmlQuery::XSLT20), parseInfo, @$);
parseInfo->resolvers.push(parseInfo->staticContext->namespaceBindings());
const NamespaceResolver::Ptr resolver(new DelegatingNamespaceResolver(parseInfo->staticContext->namespaceBindings()));
resolver->addBinding(QXmlName(parseInfo->staticContext->namePool()->allocateNamespace($5),
@@ -3449,6 +3506,36 @@ Axis: AxisToken COLONCOLON
}
else
$$ = $1;
+
+ switch($1)
+ {
+ case QXmlNodeModelIndex::AxisAttribute:
+ {
+ allowedIn(QueryLanguages( QXmlQuery::XPath20
+ | QXmlQuery::XQuery10
+ | QXmlQuery::XmlSchema11IdentityConstraintField
+ | QXmlQuery::XSLT20),
+ parseInfo, @$);
+ break;
+ }
+ case QXmlNodeModelIndex::AxisChild:
+ {
+ allowedIn(QueryLanguages( QXmlQuery::XPath20
+ | QXmlQuery::XQuery10
+ | QXmlQuery::XmlSchema11IdentityConstraintField
+ | QXmlQuery::XmlSchema11IdentityConstraintSelector
+ | QXmlQuery::XSLT20),
+ parseInfo, @$);
+ break;
+ }
+ default:
+ {
+ allowedIn(QueryLanguages( QXmlQuery::XPath20
+ | QXmlQuery::XQuery10
+ | QXmlQuery::XSLT20),
+ parseInfo, @$);
+ }
+ }
}
AxisToken: ANCESTOR_OR_SELF {$$ = QXmlNodeModelIndex::AxisAncestorOrSelf ;}
@@ -3470,6 +3557,7 @@ AbbrevForwardStep: AT_SIGN
}
NodeTest /* [72] */
{
+ allowedIn(QueryLanguages(QXmlQuery::XQuery10 | QXmlQuery::XSLT20 | QXmlQuery::XmlSchema11IdentityConstraintField), parseInfo, @$);
$$ = create(new AxisStep(QXmlNodeModelIndex::AxisAttribute, $3), @$, parseInfo);
parseInfo->restoreNodeTestSource();
@@ -3499,6 +3587,9 @@ AbbrevReverseStep: DOTDOT
NodeTest: NameTest /* [78] */
| KindTest
+ {
+ allowedIn(QueryLanguages(QXmlQuery::XQuery10 | QXmlQuery::XPath20), parseInfo, @$);
+ }
NameTest: ElementName /* [79] */
{
@@ -3521,6 +3612,7 @@ WildCard: STAR
}
| ANY_PREFIX
{
+ allowedIn(QueryLanguages(QXmlQuery::XQuery10 | QXmlQuery::XPath20), parseInfo, @$);
const QXmlName::LocalNameCode c = parseInfo->staticContext->namePool()->allocateLocalName($1);
$$ = LocalNameTest::create(parseInfo->nodeTestSource, c);
}
@@ -3528,6 +3620,7 @@ WildCard: STAR
FilterExpr: PrimaryExpr /* [81] */
| FilterExpr LBRACKET Expr RBRACKET
{
+ allowedIn(QueryLanguages(QXmlQuery::XQuery10 | QXmlQuery::XPath20), parseInfo, @$);
$$ = create(GenericPredicate::create($1, $3, parseInfo->staticContext, fromYYLTYPE(@4, parseInfo)), @$, parseInfo);
}
@@ -3556,15 +3649,18 @@ Literal: NumericLiteral
NumericLiteral: XPATH2_NUMBER /* [86] */
{
+ allowedIn(QueryLanguages(QXmlQuery::XQuery10 | QXmlQuery::XPath20), parseInfo, @$);
$$ = createNumericLiteral<Double>($1, @$, parseInfo);
}
| NUMBER
{
+ allowedIn(QueryLanguages(QXmlQuery::XQuery10 | QXmlQuery::XPath20), parseInfo, @$);
$$ = createNumericLiteral<Numeric>($1, @$, parseInfo);
}
VarRef: DOLLAR VarName /* [87] */
{
+ allowedIn(QueryLanguages(QXmlQuery::XQuery10 | QXmlQuery::XPath20), parseInfo, @$);
$$ = resolveVariable($2, @$, parseInfo, false);
}
@@ -3580,10 +3676,12 @@ VarName: NCNAME
ParenthesizedExpr: LPAREN Expr RPAREN /* [89] */
{
+ allowedIn(QueryLanguages(QXmlQuery::XQuery10 | QXmlQuery::XPath20), parseInfo, @$);
$$ = $2;
}
| LPAREN RPAREN
{
+ allowedIn(QueryLanguages(QXmlQuery::XQuery10 | QXmlQuery::XPath20), parseInfo, @$);
$$ = create(new EmptySequence, @$, parseInfo);
}
@@ -3599,6 +3697,7 @@ OrderingExpr: OrderingMode EnclosedExpr
FunctionCallExpr: FunctionName LPAREN FunctionArguments RPAREN /* [93] */
{
+ allowedIn(QueryLanguages(QXmlQuery::XQuery10 | QXmlQuery::XPath20), parseInfo, @$);
if(XPathHelper::isReservedNamespace($1.namespaceURI()) || $1.namespaceURI() == StandardNamespaces::InternalXSLT)
{ /* We got a call to a builtin function. */
const ReflectYYLTYPE ryy(@$, parseInfo);
@@ -3641,9 +3740,12 @@ FunctionArguments: /* empty */
Constructor: DirectConstructor /* [94] */
{
- disallowedConstruct(parseInfo, @$);
+ allowedIn(QXmlQuery::XQuery10, parseInfo, @$);
}
| ComputedConstructor
+/* The reason we cannot call alloweIn() as the action for ComputedConstructor,
+ * is that we use the computed constructors for XSL-T, and therefore generate
+ * INTERNAL tokens. */
DirectConstructor: DirElemConstructor /* [95] */
| DirCommentConstructor
@@ -4075,7 +4177,7 @@ ComputedConstructor: CompDocConstructor
CompDocConstructor: DOCUMENT IsInternal EnclosedExpr /* [110] */
{
- disallowedConstruct(parseInfo, @$, $2);
+ allowedIn(QXmlQuery::XQuery10, parseInfo, @$, $2);
$$ = create(new DocumentConstructor($3), @$, parseInfo);
}
@@ -4088,7 +4190,7 @@ CompElemConstructor: ELEMENT IsInternal CompElementName
EnclosedOptionalExpr /* [111] */
{
Q_ASSERT(5);
- disallowedConstruct(parseInfo, @$, $2);
+ allowedIn(QXmlQuery::XQuery10, parseInfo, @$, $2);
Expression::Ptr effExpr;
@@ -4133,7 +4235,7 @@ CompAttrConstructor: ATTRIBUTE
CompAttributeName
EnclosedOptionalExpr /* [113] */
{
- disallowedConstruct(parseInfo, @$, $2);
+ allowedIn(QXmlQuery::XQuery10, parseInfo, @$, $2);
const Expression::Ptr name(create(new AttributeNameValidator($3), @$, parseInfo));
@@ -4150,14 +4252,14 @@ CompTextConstructor: TEXT IsInternal EnclosedExpr
CompCommentConstructor: COMMENT IsInternal EnclosedExpr /* [115] */
{
- disallowedConstruct(parseInfo, @$, $2);
+ allowedIn(QXmlQuery::XQuery10, parseInfo, @$, $2);
$$ = create(new CommentConstructor(createSimpleContent($3, @$, parseInfo)), @$, parseInfo);
}
CompPIConstructor: PROCESSING_INSTRUCTION CompPIName EnclosedOptionalExpr /* [116] */
{
- disallowedConstruct(parseInfo, @$, $2);
+ allowedIn(QXmlQuery::XQuery10, parseInfo, @$, $2);
if($3)
{
@@ -4517,7 +4619,13 @@ PragmaName: NCNAME
URILiteral: StringLiteral /* [140] */
StringLiteral: STRING_LITERAL /* [144] */
+ {
+ allowedIn(QueryLanguages(QXmlQuery::XQuery10 | QXmlQuery::XPath20), parseInfo, @$);
+ }
| XPATH2_STRING_LITERAL
+ {
+ allowedIn(QueryLanguages(QXmlQuery::XQuery10 | QXmlQuery::XPath20), parseInfo, @$);
+ }
QName: QNAME /* [154] */
{
diff --git a/src/xmlpatterns/parser/winCEWorkaround.sed b/src/xmlpatterns/parser/winCEWorkaround.sed
index d1c09e8..46f18ae 100644
--- a/src/xmlpatterns/parser/winCEWorkaround.sed
+++ b/src/xmlpatterns/parser/winCEWorkaround.sed
@@ -17,4 +17,16 @@
\#ifdef SELF\
\# undef SELF\
\#endif\
+\/\* These tokens are defined in VxWorks kernel mode\
+ \*\
+ \* Hence this un-break fix. Note that this file was auto generated. *\/\
+\#ifdef ERROR\
+\# undef ERROR\
+\#endif\
+\#ifdef IMPORT\
+\# undef IMPORT\
+\#endif\
+\#ifdef MAP\
+\# undef MAP\
+\#endif\
diff --git a/src/xmlpatterns/schema/.gitignore b/src/xmlpatterns/schema/.gitignore
new file mode 100644
index 0000000..2b29f27
--- /dev/null
+++ b/src/xmlpatterns/schema/.gitignore
@@ -0,0 +1 @@
+tests
diff --git a/src/xmlpatterns/schema/builtinschemas.qrc b/src/xmlpatterns/schema/builtinschemas.qrc
new file mode 100644
index 0000000..fb43d78
--- /dev/null
+++ b/src/xmlpatterns/schema/builtinschemas.qrc
@@ -0,0 +1,5 @@
+<!DOCTYPE RCC><RCC version="1.0">
+<qresource>
+ <file alias="http://www.w3.org/XML/1998/namespace">schemas/xml.xsd</file>
+</qresource>
+</RCC>
diff --git a/src/xmlpatterns/schema/doc/All_diagram.dot b/src/xmlpatterns/schema/doc/All_diagram.dot
new file mode 100644
index 0000000..3352b723
--- /dev/null
+++ b/src/xmlpatterns/schema/doc/All_diagram.dot
@@ -0,0 +1,13 @@
+digraph All {
+ mindist = 2.0
+ 1 -> 2 [label="annotation"]
+ 1 -> 3 [label="any"]
+ 1 -> 3 [label="element"]
+ 2 -> 3 [label="any"]
+ 2 -> 3 [label="element"]
+ 3 -> 3 [label="any"]
+ 3 -> 3 [label="element"]
+ 1 [shape=doublecircle, style=filled, color=blue]
+ 2 [shape=doublecircle, style=filled, color=green]
+ 3 [shape=doublecircle, style=filled, color=green]
+}
diff --git a/src/xmlpatterns/schema/doc/Alternative_diagram.dot b/src/xmlpatterns/schema/doc/Alternative_diagram.dot
new file mode 100644
index 0000000..2119c49
--- /dev/null
+++ b/src/xmlpatterns/schema/doc/Alternative_diagram.dot
@@ -0,0 +1,11 @@
+digraph Alternative {
+ mindist = 2.0
+ 1 -> 3 [label="complexType"]
+ 1 -> 2 [label="annotation"]
+ 1 -> 3 [label="simpleType"]
+ 2 -> 3 [label="complexType"]
+ 2 -> 3 [label="simpleType"]
+ 1 [shape=doublecircle, style=filled, color=blue]
+ 2 [shape=doublecircle, style=filled, color=green]
+ 3 [shape=doublecircle, style=filled, color=green]
+}
diff --git a/src/xmlpatterns/schema/doc/Annotation_diagram.dot b/src/xmlpatterns/schema/doc/Annotation_diagram.dot
new file mode 100644
index 0000000..260b6f7
--- /dev/null
+++ b/src/xmlpatterns/schema/doc/Annotation_diagram.dot
@@ -0,0 +1,9 @@
+digraph Annotation {
+ mindist = 2.0
+ 1 -> 2 [label="appinfo"]
+ 1 -> 2 [label="documentation"]
+ 2 -> 2 [label="appinfo"]
+ 2 -> 2 [label="documentation"]
+ 1 [shape=doublecircle, style=filled, color=blue]
+ 2 [shape=doublecircle, style=filled, color=green]
+}
diff --git a/src/xmlpatterns/schema/doc/AnyAttribute_diagram.dot b/src/xmlpatterns/schema/doc/AnyAttribute_diagram.dot
new file mode 100644
index 0000000..d252ebd
--- /dev/null
+++ b/src/xmlpatterns/schema/doc/AnyAttribute_diagram.dot
@@ -0,0 +1,6 @@
+digraph AnyAttribute {
+ mindist = 2.0
+ 1 -> 2 [label="annotation"]
+ 1 [shape=doublecircle, style=filled, color=blue]
+ 2 [shape=doublecircle, style=filled, color=green]
+}
diff --git a/src/xmlpatterns/schema/doc/Any_diagram.dot b/src/xmlpatterns/schema/doc/Any_diagram.dot
new file mode 100644
index 0000000..f54063f
--- /dev/null
+++ b/src/xmlpatterns/schema/doc/Any_diagram.dot
@@ -0,0 +1,6 @@
+digraph Any {
+ mindist = 2.0
+ 1 -> 2 [label="annotation"]
+ 1 [shape=doublecircle, style=filled, color=blue]
+ 2 [shape=doublecircle, style=filled, color=green]
+}
diff --git a/src/xmlpatterns/schema/doc/Assert_diagram.dot b/src/xmlpatterns/schema/doc/Assert_diagram.dot
new file mode 100644
index 0000000..7093bef
--- /dev/null
+++ b/src/xmlpatterns/schema/doc/Assert_diagram.dot
@@ -0,0 +1,6 @@
+digraph Assert {
+ mindist = 2.0
+ 1 -> 2 [label="annotation"]
+ 1 [shape=doublecircle, style=filled, color=blue]
+ 2 [shape=doublecircle, style=filled, color=green]
+}
diff --git a/src/xmlpatterns/schema/doc/Choice_diagram.dot b/src/xmlpatterns/schema/doc/Choice_diagram.dot
new file mode 100644
index 0000000..7b32016
--- /dev/null
+++ b/src/xmlpatterns/schema/doc/Choice_diagram.dot
@@ -0,0 +1,22 @@
+digraph Choice {
+ mindist = 2.0
+ 1 -> 3 [label="choice"]
+ 1 -> 3 [label="group"]
+ 1 -> 2 [label="annotation"]
+ 1 -> 3 [label="sequence"]
+ 1 -> 3 [label="any"]
+ 1 -> 3 [label="element"]
+ 2 -> 3 [label="choice"]
+ 2 -> 3 [label="group"]
+ 2 -> 3 [label="sequence"]
+ 2 -> 3 [label="any"]
+ 2 -> 3 [label="element"]
+ 3 -> 3 [label="choice"]
+ 3 -> 3 [label="group"]
+ 3 -> 3 [label="sequence"]
+ 3 -> 3 [label="any"]
+ 3 -> 3 [label="element"]
+ 1 [shape=doublecircle, style=filled, color=blue]
+ 2 [shape=doublecircle, style=filled, color=green]
+ 3 [shape=doublecircle, style=filled, color=green]
+}
diff --git a/src/xmlpatterns/schema/doc/ComplexContentExtension_diagram.dot b/src/xmlpatterns/schema/doc/ComplexContentExtension_diagram.dot
new file mode 100644
index 0000000..6131612
--- /dev/null
+++ b/src/xmlpatterns/schema/doc/ComplexContentExtension_diagram.dot
@@ -0,0 +1,47 @@
+digraph ComplexContentExtension {
+ mindist = 2.0
+ 1 -> 4 [label="choice"]
+ 1 -> 4 [label="group"]
+ 1 -> 4 [label="all"]
+ 1 -> 2 [label="annotation"]
+ 1 -> 4 [label="sequence"]
+ 1 -> 6 [label="anyAttribute"]
+ 1 -> 7 [label="assert"]
+ 1 -> 3 [label="openContent"]
+ 1 -> 5 [label="attribute"]
+ 1 -> 5 [label="attributeGroup"]
+ 2 -> 4 [label="choice"]
+ 2 -> 4 [label="group"]
+ 2 -> 4 [label="all"]
+ 2 -> 4 [label="sequence"]
+ 2 -> 6 [label="anyAttribute"]
+ 2 -> 7 [label="assert"]
+ 2 -> 3 [label="openContent"]
+ 2 -> 5 [label="attribute"]
+ 2 -> 5 [label="attributeGroup"]
+ 3 -> 4 [label="choice"]
+ 3 -> 4 [label="group"]
+ 3 -> 4 [label="all"]
+ 3 -> 4 [label="sequence"]
+ 3 -> 6 [label="anyAttribute"]
+ 3 -> 7 [label="assert"]
+ 3 -> 5 [label="attribute"]
+ 3 -> 5 [label="attributeGroup"]
+ 4 -> 6 [label="anyAttribute"]
+ 4 -> 7 [label="assert"]
+ 4 -> 5 [label="attribute"]
+ 4 -> 5 [label="attributeGroup"]
+ 5 -> 6 [label="anyAttribute"]
+ 5 -> 7 [label="assert"]
+ 5 -> 5 [label="attribute"]
+ 5 -> 5 [label="attributeGroup"]
+ 6 -> 7 [label="assert"]
+ 7 -> 7 [label="assert"]
+ 1 [shape=doublecircle, style=filled, color=blue]
+ 2 [shape=doublecircle, style=filled, color=green]
+ 3 [shape=doublecircle, style=filled, color=green]
+ 4 [shape=doublecircle, style=filled, color=green]
+ 5 [shape=doublecircle, style=filled, color=green]
+ 6 [shape=doublecircle, style=filled, color=green]
+ 7 [shape=doublecircle, style=filled, color=green]
+}
diff --git a/src/xmlpatterns/schema/doc/ComplexContentRestriction_diagram.dot b/src/xmlpatterns/schema/doc/ComplexContentRestriction_diagram.dot
new file mode 100644
index 0000000..bfda892
--- /dev/null
+++ b/src/xmlpatterns/schema/doc/ComplexContentRestriction_diagram.dot
@@ -0,0 +1,47 @@
+digraph ComplexContentRestriction {
+ mindist = 2.0
+ 1 -> 4 [label="choice"]
+ 1 -> 4 [label="group"]
+ 1 -> 4 [label="all"]
+ 1 -> 2 [label="annotation"]
+ 1 -> 4 [label="sequence"]
+ 1 -> 6 [label="anyAttribute"]
+ 1 -> 7 [label="assert"]
+ 1 -> 3 [label="openContent"]
+ 1 -> 5 [label="attribute"]
+ 1 -> 5 [label="attributeGroup"]
+ 2 -> 4 [label="choice"]
+ 2 -> 4 [label="group"]
+ 2 -> 4 [label="all"]
+ 2 -> 4 [label="sequence"]
+ 2 -> 6 [label="anyAttribute"]
+ 2 -> 7 [label="assert"]
+ 2 -> 3 [label="openContent"]
+ 2 -> 5 [label="attribute"]
+ 2 -> 5 [label="attributeGroup"]
+ 3 -> 4 [label="choice"]
+ 3 -> 4 [label="group"]
+ 3 -> 4 [label="all"]
+ 3 -> 4 [label="sequence"]
+ 3 -> 6 [label="anyAttribute"]
+ 3 -> 7 [label="assert"]
+ 3 -> 5 [label="attribute"]
+ 3 -> 5 [label="attributeGroup"]
+ 4 -> 6 [label="anyAttribute"]
+ 4 -> 7 [label="assert"]
+ 4 -> 5 [label="attribute"]
+ 4 -> 5 [label="attributeGroup"]
+ 5 -> 6 [label="anyAttribute"]
+ 5 -> 7 [label="assert"]
+ 5 -> 5 [label="attribute"]
+ 5 -> 5 [label="attributeGroup"]
+ 6 -> 7 [label="assert"]
+ 7 -> 7 [label="assert"]
+ 1 [shape=doublecircle, style=filled, color=blue]
+ 2 [shape=doublecircle, style=filled, color=green]
+ 3 [shape=doublecircle, style=filled, color=green]
+ 4 [shape=doublecircle, style=filled, color=green]
+ 5 [shape=doublecircle, style=filled, color=green]
+ 6 [shape=doublecircle, style=filled, color=green]
+ 7 [shape=doublecircle, style=filled, color=green]
+}
diff --git a/src/xmlpatterns/schema/doc/ComplexContent_diagram.dot b/src/xmlpatterns/schema/doc/ComplexContent_diagram.dot
new file mode 100644
index 0000000..949c27e
--- /dev/null
+++ b/src/xmlpatterns/schema/doc/ComplexContent_diagram.dot
@@ -0,0 +1,11 @@
+digraph ComplexContent {
+ mindist = 2.0
+ 1 -> 3 [label="restriction"]
+ 1 -> 2 [label="annotation"]
+ 1 -> 3 [label="extension"]
+ 2 -> 3 [label="restriction"]
+ 2 -> 3 [label="extension"]
+ 1 [shape=circle, style=filled, color=blue]
+ 2 [shape=circle, style=filled, color=red]
+ 3 [shape=doublecircle, style=filled, color=green]
+}
diff --git a/src/xmlpatterns/schema/doc/DefaultOpenContent_diagram.dot b/src/xmlpatterns/schema/doc/DefaultOpenContent_diagram.dot
new file mode 100644
index 0000000..61e7d14
--- /dev/null
+++ b/src/xmlpatterns/schema/doc/DefaultOpenContent_diagram.dot
@@ -0,0 +1,9 @@
+digraph DefaultOpenContent {
+ mindist = 2.0
+ 1 -> 2 [label="annotation"]
+ 1 -> 3 [label="any"]
+ 2 -> 3 [label="any"]
+ 1 [shape=doublecircle, style=filled, color=blue]
+ 2 [shape=circle, style=filled, color=red]
+ 3 [shape=doublecircle, style=filled, color=green]
+}
diff --git a/src/xmlpatterns/schema/doc/EnumerationFacet_diagram.dot b/src/xmlpatterns/schema/doc/EnumerationFacet_diagram.dot
new file mode 100644
index 0000000..91be76b
--- /dev/null
+++ b/src/xmlpatterns/schema/doc/EnumerationFacet_diagram.dot
@@ -0,0 +1,6 @@
+digraph EnumerationFacet {
+ mindist = 2.0
+ 1 -> 2 [label="annotation"]
+ 1 [shape=doublecircle, style=filled, color=blue]
+ 2 [shape=doublecircle, style=filled, color=green]
+}
diff --git a/src/xmlpatterns/schema/doc/Field_diagram.dot b/src/xmlpatterns/schema/doc/Field_diagram.dot
new file mode 100644
index 0000000..1c597b3
--- /dev/null
+++ b/src/xmlpatterns/schema/doc/Field_diagram.dot
@@ -0,0 +1,6 @@
+digraph Field {
+ mindist = 2.0
+ 1 -> 2 [label="annotation"]
+ 1 [shape=doublecircle, style=filled, color=blue]
+ 2 [shape=doublecircle, style=filled, color=green]
+}
diff --git a/src/xmlpatterns/schema/doc/FractionDigitsFacet_diagram.dot b/src/xmlpatterns/schema/doc/FractionDigitsFacet_diagram.dot
new file mode 100644
index 0000000..5e098b3
--- /dev/null
+++ b/src/xmlpatterns/schema/doc/FractionDigitsFacet_diagram.dot
@@ -0,0 +1,6 @@
+digraph FractionDigitsFacet {
+ mindist = 2.0
+ 1 -> 2 [label="annotation"]
+ 1 [shape=doublecircle, style=filled, color=blue]
+ 2 [shape=doublecircle, style=filled, color=green]
+}
diff --git a/src/xmlpatterns/schema/doc/GlobalAttribute_diagram.dot b/src/xmlpatterns/schema/doc/GlobalAttribute_diagram.dot
new file mode 100644
index 0000000..25a1a43
--- /dev/null
+++ b/src/xmlpatterns/schema/doc/GlobalAttribute_diagram.dot
@@ -0,0 +1,9 @@
+digraph GlobalAttribute {
+ mindist = 2.0
+ 1 -> 2 [label="annotation"]
+ 1 -> 3 [label="simpleType"]
+ 2 -> 3 [label="simpleType"]
+ 1 [shape=doublecircle, style=filled, color=blue]
+ 2 [shape=doublecircle, style=filled, color=green]
+ 3 [shape=doublecircle, style=filled, color=green]
+}
diff --git a/src/xmlpatterns/schema/doc/GlobalComplexType_diagram.dot b/src/xmlpatterns/schema/doc/GlobalComplexType_diagram.dot
new file mode 100644
index 0000000..05e40b7
--- /dev/null
+++ b/src/xmlpatterns/schema/doc/GlobalComplexType_diagram.dot
@@ -0,0 +1,52 @@
+digraph GlobalComplexType {
+ mindist = 2.0
+ 1 -> 5 [label="choice"]
+ 1 -> 3 [label="complexContent"]
+ 1 -> 5 [label="group"]
+ 1 -> 5 [label="all"]
+ 1 -> 2 [label="annotation"]
+ 1 -> 5 [label="sequence"]
+ 1 -> 3 [label="simpleContent"]
+ 1 -> 7 [label="anyAttribute"]
+ 1 -> 8 [label="assert"]
+ 1 -> 4 [label="openContent"]
+ 1 -> 6 [label="attribute"]
+ 1 -> 6 [label="attributeGroup"]
+ 2 -> 5 [label="choice"]
+ 2 -> 3 [label="complexContent"]
+ 2 -> 5 [label="group"]
+ 2 -> 5 [label="all"]
+ 2 -> 5 [label="sequence"]
+ 2 -> 3 [label="simpleContent"]
+ 2 -> 7 [label="anyAttribute"]
+ 2 -> 8 [label="assert"]
+ 2 -> 4 [label="openContent"]
+ 2 -> 6 [label="attribute"]
+ 2 -> 6 [label="attributeGroup"]
+ 4 -> 5 [label="choice"]
+ 4 -> 5 [label="group"]
+ 4 -> 5 [label="all"]
+ 4 -> 5 [label="sequence"]
+ 4 -> 7 [label="anyAttribute"]
+ 4 -> 8 [label="assert"]
+ 4 -> 6 [label="attribute"]
+ 4 -> 6 [label="attributeGroup"]
+ 5 -> 7 [label="anyAttribute"]
+ 5 -> 8 [label="assert"]
+ 5 -> 6 [label="attribute"]
+ 5 -> 6 [label="attributeGroup"]
+ 6 -> 7 [label="anyAttribute"]
+ 6 -> 8 [label="assert"]
+ 6 -> 6 [label="attribute"]
+ 6 -> 6 [label="attributeGroup"]
+ 7 -> 8 [label="assert"]
+ 8 -> 8 [label="assert"]
+ 1 [shape=doublecircle, style=filled, color=blue]
+ 2 [shape=doublecircle, style=filled, color=green]
+ 3 [shape=doublecircle, style=filled, color=green]
+ 4 [shape=doublecircle, style=filled, color=green]
+ 5 [shape=doublecircle, style=filled, color=green]
+ 6 [shape=doublecircle, style=filled, color=green]
+ 7 [shape=doublecircle, style=filled, color=green]
+ 8 [shape=doublecircle, style=filled, color=green]
+}
diff --git a/src/xmlpatterns/schema/doc/GlobalElement_diagram.dot b/src/xmlpatterns/schema/doc/GlobalElement_diagram.dot
new file mode 100644
index 0000000..20447a7
--- /dev/null
+++ b/src/xmlpatterns/schema/doc/GlobalElement_diagram.dot
@@ -0,0 +1,32 @@
+digraph GlobalElement {
+ mindist = 2.0
+ 1 -> 3 [label="complexType"]
+ 1 -> 4 [label="alternative"]
+ 1 -> 2 [label="annotation"]
+ 1 -> 5 [label="key"]
+ 1 -> 3 [label="simpleType"]
+ 1 -> 5 [label="keyref"]
+ 1 -> 5 [label="unique"]
+ 2 -> 3 [label="complexType"]
+ 2 -> 4 [label="alternative"]
+ 2 -> 5 [label="key"]
+ 2 -> 3 [label="simpleType"]
+ 2 -> 5 [label="keyref"]
+ 2 -> 5 [label="unique"]
+ 3 -> 4 [label="alternative"]
+ 3 -> 5 [label="key"]
+ 3 -> 5 [label="keyref"]
+ 3 -> 5 [label="unique"]
+ 4 -> 4 [label="alternative"]
+ 4 -> 5 [label="key"]
+ 4 -> 5 [label="keyref"]
+ 4 -> 5 [label="unique"]
+ 5 -> 5 [label="key"]
+ 5 -> 5 [label="keyref"]
+ 5 -> 5 [label="unique"]
+ 1 [shape=doublecircle, style=filled, color=blue]
+ 2 [shape=doublecircle, style=filled, color=green]
+ 3 [shape=doublecircle, style=filled, color=green]
+ 4 [shape=doublecircle, style=filled, color=green]
+ 5 [shape=doublecircle, style=filled, color=green]
+}
diff --git a/src/xmlpatterns/schema/doc/GlobalSimpleType_diagram.dot b/src/xmlpatterns/schema/doc/GlobalSimpleType_diagram.dot
new file mode 100644
index 0000000..ccb7f54
--- /dev/null
+++ b/src/xmlpatterns/schema/doc/GlobalSimpleType_diagram.dot
@@ -0,0 +1,13 @@
+digraph GlobalSimpleType {
+ mindist = 2.0
+ 1 -> 3 [label="restriction"]
+ 1 -> 2 [label="annotation"]
+ 1 -> 3 [label="list"]
+ 1 -> 3 [label="union"]
+ 2 -> 3 [label="restriction"]
+ 2 -> 3 [label="list"]
+ 2 -> 3 [label="union"]
+ 1 [shape=circle, style=filled, color=blue]
+ 2 [shape=circle, style=filled, color=red]
+ 3 [shape=doublecircle, style=filled, color=green]
+}
diff --git a/src/xmlpatterns/schema/doc/Import_diagram.dot b/src/xmlpatterns/schema/doc/Import_diagram.dot
new file mode 100644
index 0000000..3484bc3
--- /dev/null
+++ b/src/xmlpatterns/schema/doc/Import_diagram.dot
@@ -0,0 +1,6 @@
+digraph Import {
+ mindist = 2.0
+ 1 -> 2 [label="annotation"]
+ 1 [shape=doublecircle, style=filled, color=blue]
+ 2 [shape=doublecircle, style=filled, color=green]
+}
diff --git a/src/xmlpatterns/schema/doc/Include_diagram.dot b/src/xmlpatterns/schema/doc/Include_diagram.dot
new file mode 100644
index 0000000..357e4c9
--- /dev/null
+++ b/src/xmlpatterns/schema/doc/Include_diagram.dot
@@ -0,0 +1,6 @@
+digraph Include {
+ mindist = 2.0
+ 1 -> 2 [label="annotation"]
+ 1 [shape=doublecircle, style=filled, color=blue]
+ 2 [shape=doublecircle, style=filled, color=green]
+}
diff --git a/src/xmlpatterns/schema/doc/KeyRef_diagram.dot b/src/xmlpatterns/schema/doc/KeyRef_diagram.dot
new file mode 100644
index 0000000..ff425b9
--- /dev/null
+++ b/src/xmlpatterns/schema/doc/KeyRef_diagram.dot
@@ -0,0 +1,12 @@
+digraph KeyRef {
+ mindist = 2.0
+ 1 -> 2 [label="annotation"]
+ 1 -> 3 [label="selector"]
+ 2 -> 3 [label="selector"]
+ 3 -> 4 [label="field"]
+ 4 -> 4 [label="field"]
+ 1 [shape=circle, style=filled, color=blue]
+ 2 [shape=circle, style=filled, color=red]
+ 3 [shape=circle, style=filled, color=red]
+ 4 [shape=doublecircle, style=filled, color=green]
+}
diff --git a/src/xmlpatterns/schema/doc/Key_diagram.dot b/src/xmlpatterns/schema/doc/Key_diagram.dot
new file mode 100644
index 0000000..bbc09cd
--- /dev/null
+++ b/src/xmlpatterns/schema/doc/Key_diagram.dot
@@ -0,0 +1,12 @@
+digraph Key {
+ mindist = 2.0
+ 1 -> 2 [label="annotation"]
+ 1 -> 3 [label="selector"]
+ 2 -> 3 [label="selector"]
+ 3 -> 4 [label="field"]
+ 4 -> 4 [label="field"]
+ 1 [shape=circle, style=filled, color=blue]
+ 2 [shape=circle, style=filled, color=red]
+ 3 [shape=circle, style=filled, color=red]
+ 4 [shape=doublecircle, style=filled, color=green]
+}
diff --git a/src/xmlpatterns/schema/doc/LengthFacet_diagram.dot b/src/xmlpatterns/schema/doc/LengthFacet_diagram.dot
new file mode 100644
index 0000000..1f9205b
--- /dev/null
+++ b/src/xmlpatterns/schema/doc/LengthFacet_diagram.dot
@@ -0,0 +1,6 @@
+digraph LengthFacet {
+ mindist = 2.0
+ 1 -> 2 [label="annotation"]
+ 1 [shape=doublecircle, style=filled, color=blue]
+ 2 [shape=doublecircle, style=filled, color=green]
+}
diff --git a/src/xmlpatterns/schema/doc/List_diagram.dot b/src/xmlpatterns/schema/doc/List_diagram.dot
new file mode 100644
index 0000000..44cc698
--- /dev/null
+++ b/src/xmlpatterns/schema/doc/List_diagram.dot
@@ -0,0 +1,9 @@
+digraph List {
+ mindist = 2.0
+ 1 -> 2 [label="annotation"]
+ 1 -> 3 [label="simpleType"]
+ 2 -> 3 [label="simpleType"]
+ 1 [shape=doublecircle, style=filled, color=blue]
+ 2 [shape=doublecircle, style=filled, color=green]
+ 3 [shape=doublecircle, style=filled, color=green]
+}
diff --git a/src/xmlpatterns/schema/doc/LocalAll_diagram.dot b/src/xmlpatterns/schema/doc/LocalAll_diagram.dot
new file mode 100644
index 0000000..88f1b61
--- /dev/null
+++ b/src/xmlpatterns/schema/doc/LocalAll_diagram.dot
@@ -0,0 +1,13 @@
+digraph LocalAll {
+ mindist = 2.0
+ 1 -> 2 [label="annotation"]
+ 1 -> 3 [label="any"]
+ 1 -> 3 [label="element"]
+ 2 -> 3 [label="any"]
+ 2 -> 3 [label="element"]
+ 3 -> 3 [label="any"]
+ 3 -> 3 [label="element"]
+ 1 [shape=doublecircle, style=filled, color=blue]
+ 2 [shape=doublecircle, style=filled, color=green]
+ 3 [shape=doublecircle, style=filled, color=green]
+}
diff --git a/src/xmlpatterns/schema/doc/LocalAttribute_diagram.dot b/src/xmlpatterns/schema/doc/LocalAttribute_diagram.dot
new file mode 100644
index 0000000..b01f0cf
--- /dev/null
+++ b/src/xmlpatterns/schema/doc/LocalAttribute_diagram.dot
@@ -0,0 +1,9 @@
+digraph LocalAttribute {
+ mindist = 2.0
+ 1 -> 2 [label="annotation"]
+ 1 -> 3 [label="simpleType"]
+ 2 -> 3 [label="simpleType"]
+ 1 [shape=doublecircle, style=filled, color=blue]
+ 2 [shape=doublecircle, style=filled, color=green]
+ 3 [shape=doublecircle, style=filled, color=green]
+}
diff --git a/src/xmlpatterns/schema/doc/LocalChoice_diagram.dot b/src/xmlpatterns/schema/doc/LocalChoice_diagram.dot
new file mode 100644
index 0000000..b16c47f
--- /dev/null
+++ b/src/xmlpatterns/schema/doc/LocalChoice_diagram.dot
@@ -0,0 +1,22 @@
+digraph LocalChoice {
+ mindist = 2.0
+ 1 -> 3 [label="choice"]
+ 1 -> 3 [label="group"]
+ 1 -> 2 [label="annotation"]
+ 1 -> 3 [label="sequence"]
+ 1 -> 3 [label="any"]
+ 1 -> 3 [label="element"]
+ 2 -> 3 [label="choice"]
+ 2 -> 3 [label="group"]
+ 2 -> 3 [label="sequence"]
+ 2 -> 3 [label="any"]
+ 2 -> 3 [label="element"]
+ 3 -> 3 [label="choice"]
+ 3 -> 3 [label="group"]
+ 3 -> 3 [label="sequence"]
+ 3 -> 3 [label="any"]
+ 3 -> 3 [label="element"]
+ 1 [shape=doublecircle, style=filled, color=blue]
+ 2 [shape=doublecircle, style=filled, color=green]
+ 3 [shape=doublecircle, style=filled, color=green]
+}
diff --git a/src/xmlpatterns/schema/doc/LocalComplexType_diagram.dot b/src/xmlpatterns/schema/doc/LocalComplexType_diagram.dot
new file mode 100644
index 0000000..92c54b7
--- /dev/null
+++ b/src/xmlpatterns/schema/doc/LocalComplexType_diagram.dot
@@ -0,0 +1,52 @@
+digraph LocalComplexType {
+ mindist = 2.0
+ 1 -> 5 [label="choice"]
+ 1 -> 3 [label="complexContent"]
+ 1 -> 5 [label="group"]
+ 1 -> 5 [label="all"]
+ 1 -> 2 [label="annotation"]
+ 1 -> 5 [label="sequence"]
+ 1 -> 3 [label="simpleContent"]
+ 1 -> 7 [label="anyAttribute"]
+ 1 -> 8 [label="assert"]
+ 1 -> 4 [label="openContent"]
+ 1 -> 6 [label="attribute"]
+ 1 -> 6 [label="attributeGroup"]
+ 2 -> 5 [label="choice"]
+ 2 -> 3 [label="complexContent"]
+ 2 -> 5 [label="group"]
+ 2 -> 5 [label="all"]
+ 2 -> 5 [label="sequence"]
+ 2 -> 3 [label="simpleContent"]
+ 2 -> 7 [label="anyAttribute"]
+ 2 -> 8 [label="assert"]
+ 2 -> 4 [label="openContent"]
+ 2 -> 6 [label="attribute"]
+ 2 -> 6 [label="attributeGroup"]
+ 4 -> 5 [label="choice"]
+ 4 -> 5 [label="group"]
+ 4 -> 5 [label="all"]
+ 4 -> 5 [label="sequence"]
+ 4 -> 7 [label="anyAttribute"]
+ 4 -> 8 [label="assert"]
+ 4 -> 6 [label="attribute"]
+ 4 -> 6 [label="attributeGroup"]
+ 5 -> 7 [label="anyAttribute"]
+ 5 -> 8 [label="assert"]
+ 5 -> 6 [label="attribute"]
+ 5 -> 6 [label="attributeGroup"]
+ 6 -> 7 [label="anyAttribute"]
+ 6 -> 8 [label="assert"]
+ 6 -> 6 [label="attribute"]
+ 6 -> 6 [label="attributeGroup"]
+ 7 -> 8 [label="assert"]
+ 8 -> 8 [label="assert"]
+ 1 [shape=doublecircle, style=filled, color=blue]
+ 2 [shape=doublecircle, style=filled, color=green]
+ 3 [shape=doublecircle, style=filled, color=green]
+ 4 [shape=doublecircle, style=filled, color=green]
+ 5 [shape=doublecircle, style=filled, color=green]
+ 6 [shape=doublecircle, style=filled, color=green]
+ 7 [shape=doublecircle, style=filled, color=green]
+ 8 [shape=doublecircle, style=filled, color=green]
+}
diff --git a/src/xmlpatterns/schema/doc/LocalElement_diagram.dot b/src/xmlpatterns/schema/doc/LocalElement_diagram.dot
new file mode 100644
index 0000000..397397a
--- /dev/null
+++ b/src/xmlpatterns/schema/doc/LocalElement_diagram.dot
@@ -0,0 +1,32 @@
+digraph LocalElement {
+ mindist = 2.0
+ 1 -> 3 [label="complexType"]
+ 1 -> 4 [label="alternative"]
+ 1 -> 2 [label="annotation"]
+ 1 -> 5 [label="key"]
+ 1 -> 3 [label="simpleType"]
+ 1 -> 5 [label="keyref"]
+ 1 -> 5 [label="unique"]
+ 2 -> 3 [label="complexType"]
+ 2 -> 4 [label="alternative"]
+ 2 -> 5 [label="key"]
+ 2 -> 3 [label="simpleType"]
+ 2 -> 5 [label="keyref"]
+ 2 -> 5 [label="unique"]
+ 3 -> 4 [label="alternative"]
+ 3 -> 5 [label="key"]
+ 3 -> 5 [label="keyref"]
+ 3 -> 5 [label="unique"]
+ 4 -> 4 [label="alternative"]
+ 4 -> 5 [label="key"]
+ 4 -> 5 [label="keyref"]
+ 4 -> 5 [label="unique"]
+ 5 -> 5 [label="key"]
+ 5 -> 5 [label="keyref"]
+ 5 -> 5 [label="unique"]
+ 1 [shape=doublecircle, style=filled, color=blue]
+ 2 [shape=doublecircle, style=filled, color=green]
+ 3 [shape=doublecircle, style=filled, color=green]
+ 4 [shape=doublecircle, style=filled, color=green]
+ 5 [shape=doublecircle, style=filled, color=green]
+}
diff --git a/src/xmlpatterns/schema/doc/LocalSequence_diagram.dot b/src/xmlpatterns/schema/doc/LocalSequence_diagram.dot
new file mode 100644
index 0000000..0dc7f39
--- /dev/null
+++ b/src/xmlpatterns/schema/doc/LocalSequence_diagram.dot
@@ -0,0 +1,22 @@
+digraph LocalSequence {
+ mindist = 2.0
+ 1 -> 3 [label="choice"]
+ 1 -> 3 [label="group"]
+ 1 -> 2 [label="annotation"]
+ 1 -> 3 [label="sequence"]
+ 1 -> 3 [label="any"]
+ 1 -> 3 [label="element"]
+ 2 -> 3 [label="choice"]
+ 2 -> 3 [label="group"]
+ 2 -> 3 [label="sequence"]
+ 2 -> 3 [label="any"]
+ 2 -> 3 [label="element"]
+ 3 -> 3 [label="choice"]
+ 3 -> 3 [label="group"]
+ 3 -> 3 [label="sequence"]
+ 3 -> 3 [label="any"]
+ 3 -> 3 [label="element"]
+ 1 [shape=doublecircle, style=filled, color=blue]
+ 2 [shape=doublecircle, style=filled, color=green]
+ 3 [shape=doublecircle, style=filled, color=green]
+}
diff --git a/src/xmlpatterns/schema/doc/LocalSimpleType_diagram.dot b/src/xmlpatterns/schema/doc/LocalSimpleType_diagram.dot
new file mode 100644
index 0000000..ac13305
--- /dev/null
+++ b/src/xmlpatterns/schema/doc/LocalSimpleType_diagram.dot
@@ -0,0 +1,13 @@
+digraph LocalSimpleType {
+ mindist = 2.0
+ 1 -> 3 [label="restriction"]
+ 1 -> 2 [label="annotation"]
+ 1 -> 3 [label="list"]
+ 1 -> 3 [label="union"]
+ 2 -> 3 [label="restriction"]
+ 2 -> 3 [label="list"]
+ 2 -> 3 [label="union"]
+ 1 [shape=circle, style=filled, color=blue]
+ 2 [shape=circle, style=filled, color=red]
+ 3 [shape=doublecircle, style=filled, color=green]
+}
diff --git a/src/xmlpatterns/schema/doc/MaxExclusiveFacet_diagram.dot b/src/xmlpatterns/schema/doc/MaxExclusiveFacet_diagram.dot
new file mode 100644
index 0000000..28364f7
--- /dev/null
+++ b/src/xmlpatterns/schema/doc/MaxExclusiveFacet_diagram.dot
@@ -0,0 +1,6 @@
+digraph MaxExclusiveFacet {
+ mindist = 2.0
+ 1 -> 2 [label="annotation"]
+ 1 [shape=doublecircle, style=filled, color=blue]
+ 2 [shape=doublecircle, style=filled, color=green]
+}
diff --git a/src/xmlpatterns/schema/doc/MaxInclusiveFacet_diagram.dot b/src/xmlpatterns/schema/doc/MaxInclusiveFacet_diagram.dot
new file mode 100644
index 0000000..9e2c265
--- /dev/null
+++ b/src/xmlpatterns/schema/doc/MaxInclusiveFacet_diagram.dot
@@ -0,0 +1,6 @@
+digraph MaxInclusiveFacet {
+ mindist = 2.0
+ 1 -> 2 [label="annotation"]
+ 1 [shape=doublecircle, style=filled, color=blue]
+ 2 [shape=doublecircle, style=filled, color=green]
+}
diff --git a/src/xmlpatterns/schema/doc/MaxLengthFacet_diagram.dot b/src/xmlpatterns/schema/doc/MaxLengthFacet_diagram.dot
new file mode 100644
index 0000000..d565217
--- /dev/null
+++ b/src/xmlpatterns/schema/doc/MaxLengthFacet_diagram.dot
@@ -0,0 +1,6 @@
+digraph MaxLengthFacet {
+ mindist = 2.0
+ 1 -> 2 [label="annotation"]
+ 1 [shape=doublecircle, style=filled, color=blue]
+ 2 [shape=doublecircle, style=filled, color=green]
+}
diff --git a/src/xmlpatterns/schema/doc/MinExclusiveFacet_diagram.dot b/src/xmlpatterns/schema/doc/MinExclusiveFacet_diagram.dot
new file mode 100644
index 0000000..d3b3f1f
--- /dev/null
+++ b/src/xmlpatterns/schema/doc/MinExclusiveFacet_diagram.dot
@@ -0,0 +1,6 @@
+digraph MinExclusiveFacet {
+ mindist = 2.0
+ 1 -> 2 [label="annotation"]
+ 1 [shape=doublecircle, style=filled, color=blue]
+ 2 [shape=doublecircle, style=filled, color=green]
+}
diff --git a/src/xmlpatterns/schema/doc/MinInclusiveFacet_diagram.dot b/src/xmlpatterns/schema/doc/MinInclusiveFacet_diagram.dot
new file mode 100644
index 0000000..e5ca65d
--- /dev/null
+++ b/src/xmlpatterns/schema/doc/MinInclusiveFacet_diagram.dot
@@ -0,0 +1,6 @@
+digraph MinInclusiveFacet {
+ mindist = 2.0
+ 1 -> 2 [label="annotation"]
+ 1 [shape=doublecircle, style=filled, color=blue]
+ 2 [shape=doublecircle, style=filled, color=green]
+}
diff --git a/src/xmlpatterns/schema/doc/MinLengthFacet_diagram.dot b/src/xmlpatterns/schema/doc/MinLengthFacet_diagram.dot
new file mode 100644
index 0000000..1dcced4
--- /dev/null
+++ b/src/xmlpatterns/schema/doc/MinLengthFacet_diagram.dot
@@ -0,0 +1,6 @@
+digraph MinLengthFacet {
+ mindist = 2.0
+ 1 -> 2 [label="annotation"]
+ 1 [shape=doublecircle, style=filled, color=blue]
+ 2 [shape=doublecircle, style=filled, color=green]
+}
diff --git a/src/xmlpatterns/schema/doc/NamedAttributeGroup_diagram.dot b/src/xmlpatterns/schema/doc/NamedAttributeGroup_diagram.dot
new file mode 100644
index 0000000..1754f67
--- /dev/null
+++ b/src/xmlpatterns/schema/doc/NamedAttributeGroup_diagram.dot
@@ -0,0 +1,17 @@
+digraph NamedAttributeGroup {
+ mindist = 2.0
+ 1 -> 2 [label="annotation"]
+ 1 -> 4 [label="anyAttribute"]
+ 1 -> 3 [label="attribute"]
+ 1 -> 3 [label="attributeGroup"]
+ 2 -> 4 [label="anyAttribute"]
+ 2 -> 3 [label="attribute"]
+ 2 -> 3 [label="attributeGroup"]
+ 3 -> 4 [label="anyAttribute"]
+ 3 -> 3 [label="attribute"]
+ 3 -> 3 [label="attributeGroup"]
+ 1 [shape=doublecircle, style=filled, color=blue]
+ 2 [shape=doublecircle, style=filled, color=green]
+ 3 [shape=doublecircle, style=filled, color=green]
+ 4 [shape=doublecircle, style=filled, color=green]
+}
diff --git a/src/xmlpatterns/schema/doc/NamedGroup_diagram.dot b/src/xmlpatterns/schema/doc/NamedGroup_diagram.dot
new file mode 100644
index 0000000..6d9a289
--- /dev/null
+++ b/src/xmlpatterns/schema/doc/NamedGroup_diagram.dot
@@ -0,0 +1,13 @@
+digraph NamedGroup {
+ mindist = 2.0
+ 1 -> 3 [label="choice"]
+ 1 -> 3 [label="all"]
+ 1 -> 2 [label="annotation"]
+ 1 -> 3 [label="sequence"]
+ 2 -> 3 [label="choice"]
+ 2 -> 3 [label="all"]
+ 2 -> 3 [label="sequence"]
+ 1 [shape=doublecircle, style=filled, color=blue]
+ 2 [shape=doublecircle, style=filled, color=green]
+ 3 [shape=doublecircle, style=filled, color=green]
+}
diff --git a/src/xmlpatterns/schema/doc/Notation_diagram.dot b/src/xmlpatterns/schema/doc/Notation_diagram.dot
new file mode 100644
index 0000000..951f26a
--- /dev/null
+++ b/src/xmlpatterns/schema/doc/Notation_diagram.dot
@@ -0,0 +1,6 @@
+digraph Notation {
+ mindist = 2.0
+ 1 -> 2 [label="annotation"]
+ 1 [shape=doublecircle, style=filled, color=blue]
+ 2 [shape=doublecircle, style=filled, color=green]
+}
diff --git a/src/xmlpatterns/schema/doc/Override_diagram.dot b/src/xmlpatterns/schema/doc/Override_diagram.dot
new file mode 100644
index 0000000..448451a
--- /dev/null
+++ b/src/xmlpatterns/schema/doc/Override_diagram.dot
@@ -0,0 +1,21 @@
+digraph Override {
+ mindist = 2.0
+ 1 -> 2 [label="group"]
+ 1 -> 2 [label="complexType"]
+ 1 -> 2 [label="annotation"]
+ 1 -> 2 [label="simpleType"]
+ 1 -> 2 [label="element"]
+ 1 -> 2 [label="notation"]
+ 1 -> 2 [label="attribute"]
+ 1 -> 2 [label="attributeGroup"]
+ 2 -> 2 [label="group"]
+ 2 -> 2 [label="complexType"]
+ 2 -> 2 [label="annotation"]
+ 2 -> 2 [label="simpleType"]
+ 2 -> 2 [label="element"]
+ 2 -> 2 [label="notation"]
+ 2 -> 2 [label="attribute"]
+ 2 -> 2 [label="attributeGroup"]
+ 1 [shape=doublecircle, style=filled, color=blue]
+ 2 [shape=doublecircle, style=filled, color=green]
+}
diff --git a/src/xmlpatterns/schema/doc/PatternFacet_diagram.dot b/src/xmlpatterns/schema/doc/PatternFacet_diagram.dot
new file mode 100644
index 0000000..794d74c
--- /dev/null
+++ b/src/xmlpatterns/schema/doc/PatternFacet_diagram.dot
@@ -0,0 +1,6 @@
+digraph PatternFacet {
+ mindist = 2.0
+ 1 -> 2 [label="annotation"]
+ 1 [shape=doublecircle, style=filled, color=blue]
+ 2 [shape=doublecircle, style=filled, color=green]
+}
diff --git a/src/xmlpatterns/schema/doc/Redefine_diagram.dot b/src/xmlpatterns/schema/doc/Redefine_diagram.dot
new file mode 100644
index 0000000..ba4871d
--- /dev/null
+++ b/src/xmlpatterns/schema/doc/Redefine_diagram.dot
@@ -0,0 +1,15 @@
+digraph Redefine {
+ mindist = 2.0
+ 1 -> 2 [label="group"]
+ 1 -> 2 [label="complexType"]
+ 1 -> 2 [label="annotation"]
+ 1 -> 2 [label="simpleType"]
+ 1 -> 2 [label="attributeGroup"]
+ 2 -> 2 [label="group"]
+ 2 -> 2 [label="complexType"]
+ 2 -> 2 [label="annotation"]
+ 2 -> 2 [label="simpleType"]
+ 2 -> 2 [label="attributeGroup"]
+ 1 [shape=doublecircle, style=filled, color=blue]
+ 2 [shape=doublecircle, style=filled, color=green]
+}
diff --git a/src/xmlpatterns/schema/doc/ReferredAttributeGroup_diagram.dot b/src/xmlpatterns/schema/doc/ReferredAttributeGroup_diagram.dot
new file mode 100644
index 0000000..fd08872
--- /dev/null
+++ b/src/xmlpatterns/schema/doc/ReferredAttributeGroup_diagram.dot
@@ -0,0 +1,6 @@
+digraph ReferredAttributeGroup {
+ mindist = 2.0
+ 1 -> 2 [label="annotation"]
+ 1 [shape=doublecircle, style=filled, color=blue]
+ 2 [shape=doublecircle, style=filled, color=green]
+}
diff --git a/src/xmlpatterns/schema/doc/ReferredGroup_diagram.dot b/src/xmlpatterns/schema/doc/ReferredGroup_diagram.dot
new file mode 100644
index 0000000..c32f69f
--- /dev/null
+++ b/src/xmlpatterns/schema/doc/ReferredGroup_diagram.dot
@@ -0,0 +1,13 @@
+digraph ReferredGroup {
+ mindist = 2.0
+ 1 -> 3 [label="choice"]
+ 1 -> 3 [label="all"]
+ 1 -> 2 [label="annotation"]
+ 1 -> 3 [label="sequence"]
+ 2 -> 3 [label="choice"]
+ 2 -> 3 [label="all"]
+ 2 -> 3 [label="sequence"]
+ 1 [shape=doublecircle, style=filled, color=blue]
+ 2 [shape=doublecircle, style=filled, color=green]
+ 3 [shape=doublecircle, style=filled, color=green]
+}
diff --git a/src/xmlpatterns/schema/doc/Schema_diagram.dot b/src/xmlpatterns/schema/doc/Schema_diagram.dot
new file mode 100644
index 0000000..7d39337
--- /dev/null
+++ b/src/xmlpatterns/schema/doc/Schema_diagram.dot
@@ -0,0 +1,66 @@
+digraph Schema {
+ mindist = 2.0
+ 1 -> 5 [label="group"]
+ 1 -> 5 [label="complexType"]
+ 1 -> 2 [label="import"]
+ 1 -> 2 [label="include"]
+ 1 -> 2 [label="annotation"]
+ 1 -> 3 [label="defaultOpenContent"]
+ 1 -> 5 [label="simpleType"]
+ 1 -> 5 [label="element"]
+ 1 -> 5 [label="notation"]
+ 1 -> 2 [label="override"]
+ 1 -> 5 [label="attribute"]
+ 1 -> 5 [label="attributeGroup"]
+ 1 -> 2 [label="redefine"]
+ 2 -> 5 [label="group"]
+ 2 -> 5 [label="complexType"]
+ 2 -> 2 [label="import"]
+ 2 -> 2 [label="include"]
+ 2 -> 2 [label="annotation"]
+ 2 -> 3 [label="defaultOpenContent"]
+ 2 -> 5 [label="simpleType"]
+ 2 -> 5 [label="element"]
+ 2 -> 5 [label="notation"]
+ 2 -> 2 [label="override"]
+ 2 -> 5 [label="attribute"]
+ 2 -> 5 [label="attributeGroup"]
+ 2 -> 2 [label="redefine"]
+ 3 -> 5 [label="group"]
+ 3 -> 5 [label="complexType"]
+ 3 -> 4 [label="annotation"]
+ 3 -> 5 [label="simpleType"]
+ 3 -> 5 [label="element"]
+ 3 -> 5 [label="notation"]
+ 3 -> 5 [label="attribute"]
+ 3 -> 5 [label="attributeGroup"]
+ 4 -> 5 [label="group"]
+ 4 -> 5 [label="complexType"]
+ 4 -> 5 [label="simpleType"]
+ 4 -> 5 [label="element"]
+ 4 -> 5 [label="notation"]
+ 4 -> 5 [label="attribute"]
+ 4 -> 5 [label="attributeGroup"]
+ 5 -> 5 [label="group"]
+ 5 -> 5 [label="complexType"]
+ 5 -> 6 [label="annotation"]
+ 5 -> 5 [label="simpleType"]
+ 5 -> 5 [label="element"]
+ 5 -> 5 [label="notation"]
+ 5 -> 5 [label="attribute"]
+ 5 -> 5 [label="attributeGroup"]
+ 6 -> 5 [label="group"]
+ 6 -> 5 [label="complexType"]
+ 6 -> 6 [label="annotation"]
+ 6 -> 5 [label="simpleType"]
+ 6 -> 5 [label="element"]
+ 6 -> 5 [label="notation"]
+ 6 -> 5 [label="attribute"]
+ 6 -> 5 [label="attributeGroup"]
+ 1 [shape=doublecircle, style=filled, color=blue]
+ 2 [shape=doublecircle, style=filled, color=green]
+ 3 [shape=doublecircle, style=filled, color=green]
+ 4 [shape=doublecircle, style=filled, color=green]
+ 5 [shape=doublecircle, style=filled, color=green]
+ 6 [shape=doublecircle, style=filled, color=green]
+}
diff --git a/src/xmlpatterns/schema/doc/Selector_diagram.dot b/src/xmlpatterns/schema/doc/Selector_diagram.dot
new file mode 100644
index 0000000..f3e93dc
--- /dev/null
+++ b/src/xmlpatterns/schema/doc/Selector_diagram.dot
@@ -0,0 +1,6 @@
+digraph Selector {
+ mindist = 2.0
+ 1 -> 2 [label="annotation"]
+ 1 [shape=doublecircle, style=filled, color=blue]
+ 2 [shape=doublecircle, style=filled, color=green]
+}
diff --git a/src/xmlpatterns/schema/doc/Sequence_diagram.dot b/src/xmlpatterns/schema/doc/Sequence_diagram.dot
new file mode 100644
index 0000000..9172744
--- /dev/null
+++ b/src/xmlpatterns/schema/doc/Sequence_diagram.dot
@@ -0,0 +1,22 @@
+digraph Sequence {
+ mindist = 2.0
+ 1 -> 3 [label="choice"]
+ 1 -> 3 [label="group"]
+ 1 -> 2 [label="annotation"]
+ 1 -> 3 [label="sequence"]
+ 1 -> 3 [label="any"]
+ 1 -> 3 [label="element"]
+ 2 -> 3 [label="choice"]
+ 2 -> 3 [label="group"]
+ 2 -> 3 [label="sequence"]
+ 2 -> 3 [label="any"]
+ 2 -> 3 [label="element"]
+ 3 -> 3 [label="choice"]
+ 3 -> 3 [label="group"]
+ 3 -> 3 [label="sequence"]
+ 3 -> 3 [label="any"]
+ 3 -> 3 [label="element"]
+ 1 [shape=doublecircle, style=filled, color=blue]
+ 2 [shape=doublecircle, style=filled, color=green]
+ 3 [shape=doublecircle, style=filled, color=green]
+}
diff --git a/src/xmlpatterns/schema/doc/SimpleContentExtension_diagram.dot b/src/xmlpatterns/schema/doc/SimpleContentExtension_diagram.dot
new file mode 100644
index 0000000..3ceebfd
--- /dev/null
+++ b/src/xmlpatterns/schema/doc/SimpleContentExtension_diagram.dot
@@ -0,0 +1,23 @@
+digraph SimpleContentExtension {
+ mindist = 2.0
+ 1 -> 2 [label="annotation"]
+ 1 -> 4 [label="anyAttribute"]
+ 1 -> 5 [label="assert"]
+ 1 -> 3 [label="attribute"]
+ 1 -> 3 [label="attributeGroup"]
+ 2 -> 4 [label="anyAttribute"]
+ 2 -> 5 [label="assert"]
+ 2 -> 3 [label="attribute"]
+ 2 -> 3 [label="attributeGroup"]
+ 3 -> 4 [label="anyAttribute"]
+ 3 -> 5 [label="assert"]
+ 3 -> 3 [label="attribute"]
+ 3 -> 3 [label="attributeGroup"]
+ 4 -> 5 [label="assert"]
+ 5 -> 5 [label="assert"]
+ 1 [shape=doublecircle, style=filled, color=blue]
+ 2 [shape=doublecircle, style=filled, color=green]
+ 3 [shape=doublecircle, style=filled, color=green]
+ 4 [shape=doublecircle, style=filled, color=green]
+ 5 [shape=doublecircle, style=filled, color=green]
+}
diff --git a/src/xmlpatterns/schema/doc/SimpleContentRestriction_diagram.dot b/src/xmlpatterns/schema/doc/SimpleContentRestriction_diagram.dot
new file mode 100644
index 0000000..75b0b71
--- /dev/null
+++ b/src/xmlpatterns/schema/doc/SimpleContentRestriction_diagram.dot
@@ -0,0 +1,87 @@
+digraph SimpleContentRestriction {
+ mindist = 2.0
+ 1 -> 3 [label="simpleType"]
+ 1 -> 2 [label="annotation"]
+ 1 -> 4 [label="length"]
+ 1 -> 6 [label="anyAttribute"]
+ 1 -> 4 [label="maxExclusive"]
+ 1 -> 4 [label="totalDigits"]
+ 1 -> 4 [label="maxInclusive"]
+ 1 -> 4 [label="maxLength"]
+ 1 -> 7 [label="assert"]
+ 1 -> 4 [label="assertion"]
+ 1 -> 5 [label="attribute"]
+ 1 -> 4 [label="minExclusive"]
+ 1 -> 5 [label="attributeGroup"]
+ 1 -> 4 [label="minInclusive"]
+ 1 -> 4 [label="minLength"]
+ 1 -> 4 [label="whiteSpace"]
+ 1 -> 4 [label="pattern"]
+ 1 -> 4 [label="enumeration"]
+ 1 -> 4 [label="fractionDigits"]
+ 2 -> 3 [label="simpleType"]
+ 2 -> 4 [label="length"]
+ 2 -> 6 [label="anyAttribute"]
+ 2 -> 4 [label="maxExclusive"]
+ 2 -> 4 [label="totalDigits"]
+ 2 -> 4 [label="maxInclusive"]
+ 2 -> 4 [label="maxLength"]
+ 2 -> 7 [label="assert"]
+ 2 -> 4 [label="assertion"]
+ 2 -> 5 [label="attribute"]
+ 2 -> 4 [label="minExclusive"]
+ 2 -> 5 [label="attributeGroup"]
+ 2 -> 4 [label="minInclusive"]
+ 2 -> 4 [label="minLength"]
+ 2 -> 4 [label="whiteSpace"]
+ 2 -> 4 [label="pattern"]
+ 2 -> 4 [label="enumeration"]
+ 2 -> 4 [label="fractionDigits"]
+ 3 -> 4 [label="fractionDigits"]
+ 3 -> 4 [label="minLength"]
+ 3 -> 4 [label="whiteSpace"]
+ 3 -> 6 [label="anyAttribute"]
+ 3 -> 4 [label="length"]
+ 3 -> 7 [label="assert"]
+ 3 -> 4 [label="maxExclusive"]
+ 3 -> 4 [label="enumeration"]
+ 3 -> 4 [label="assertion"]
+ 3 -> 4 [label="maxInclusive"]
+ 3 -> 5 [label="attribute"]
+ 3 -> 4 [label="maxLength"]
+ 3 -> 4 [label="pattern"]
+ 3 -> 4 [label="totalDigits"]
+ 3 -> 5 [label="attributeGroup"]
+ 3 -> 4 [label="minExclusive"]
+ 3 -> 4 [label="minInclusive"]
+ 4 -> 4 [label="fractionDigits"]
+ 4 -> 4 [label="minLength"]
+ 4 -> 4 [label="whiteSpace"]
+ 4 -> 6 [label="anyAttribute"]
+ 4 -> 4 [label="length"]
+ 4 -> 7 [label="assert"]
+ 4 -> 4 [label="maxExclusive"]
+ 4 -> 4 [label="enumeration"]
+ 4 -> 4 [label="assertion"]
+ 4 -> 4 [label="maxInclusive"]
+ 4 -> 5 [label="attribute"]
+ 4 -> 4 [label="maxLength"]
+ 4 -> 4 [label="pattern"]
+ 4 -> 4 [label="totalDigits"]
+ 4 -> 5 [label="attributeGroup"]
+ 4 -> 4 [label="minExclusive"]
+ 4 -> 4 [label="minInclusive"]
+ 5 -> 6 [label="anyAttribute"]
+ 5 -> 7 [label="assert"]
+ 5 -> 5 [label="attribute"]
+ 5 -> 5 [label="attributeGroup"]
+ 6 -> 7 [label="assert"]
+ 7 -> 7 [label="assert"]
+ 1 [shape=doublecircle, style=filled, color=blue]
+ 2 [shape=doublecircle, style=filled, color=green]
+ 3 [shape=doublecircle, style=filled, color=green]
+ 4 [shape=doublecircle, style=filled, color=green]
+ 5 [shape=doublecircle, style=filled, color=green]
+ 6 [shape=doublecircle, style=filled, color=green]
+ 7 [shape=doublecircle, style=filled, color=green]
+}
diff --git a/src/xmlpatterns/schema/doc/SimpleContent_diagram.dot b/src/xmlpatterns/schema/doc/SimpleContent_diagram.dot
new file mode 100644
index 0000000..c996329
--- /dev/null
+++ b/src/xmlpatterns/schema/doc/SimpleContent_diagram.dot
@@ -0,0 +1,11 @@
+digraph SimpleContent {
+ mindist = 2.0
+ 1 -> 3 [label="restriction"]
+ 1 -> 2 [label="annotation"]
+ 1 -> 3 [label="extension"]
+ 2 -> 3 [label="restriction"]
+ 2 -> 3 [label="extension"]
+ 1 [shape=circle, style=filled, color=blue]
+ 2 [shape=circle, style=filled, color=red]
+ 3 [shape=doublecircle, style=filled, color=green]
+}
diff --git a/src/xmlpatterns/schema/doc/SimpleRestriction_diagram.dot b/src/xmlpatterns/schema/doc/SimpleRestriction_diagram.dot
new file mode 100644
index 0000000..09cb041
--- /dev/null
+++ b/src/xmlpatterns/schema/doc/SimpleRestriction_diagram.dot
@@ -0,0 +1,62 @@
+digraph SimpleRestriction {
+ mindist = 2.0
+ 1 -> 4 [label="fractionDigits"]
+ 1 -> 4 [label="minLength"]
+ 1 -> 4 [label="whiteSpace"]
+ 1 -> 2 [label="annotation"]
+ 1 -> 3 [label="simpleType"]
+ 1 -> 4 [label="length"]
+ 1 -> 4 [label="maxExclusive"]
+ 1 -> 4 [label="enumeration"]
+ 1 -> 4 [label="assertion"]
+ 1 -> 4 [label="maxInclusive"]
+ 1 -> 4 [label="maxLength"]
+ 1 -> 4 [label="pattern"]
+ 1 -> 4 [label="totalDigits"]
+ 1 -> 4 [label="minExclusive"]
+ 1 -> 4 [label="minInclusive"]
+ 2 -> 4 [label="fractionDigits"]
+ 2 -> 4 [label="minLength"]
+ 2 -> 4 [label="whiteSpace"]
+ 2 -> 3 [label="simpleType"]
+ 2 -> 4 [label="length"]
+ 2 -> 4 [label="maxExclusive"]
+ 2 -> 4 [label="enumeration"]
+ 2 -> 4 [label="assertion"]
+ 2 -> 4 [label="maxInclusive"]
+ 2 -> 4 [label="maxLength"]
+ 2 -> 4 [label="pattern"]
+ 2 -> 4 [label="totalDigits"]
+ 2 -> 4 [label="minExclusive"]
+ 2 -> 4 [label="minInclusive"]
+ 3 -> 4 [label="fractionDigits"]
+ 3 -> 4 [label="minLength"]
+ 3 -> 4 [label="whiteSpace"]
+ 3 -> 4 [label="length"]
+ 3 -> 4 [label="maxExclusive"]
+ 3 -> 4 [label="enumeration"]
+ 3 -> 4 [label="assertion"]
+ 3 -> 4 [label="maxInclusive"]
+ 3 -> 4 [label="maxLength"]
+ 3 -> 4 [label="pattern"]
+ 3 -> 4 [label="totalDigits"]
+ 3 -> 4 [label="minExclusive"]
+ 3 -> 4 [label="minInclusive"]
+ 4 -> 4 [label="fractionDigits"]
+ 4 -> 4 [label="minLength"]
+ 4 -> 4 [label="whiteSpace"]
+ 4 -> 4 [label="length"]
+ 4 -> 4 [label="maxExclusive"]
+ 4 -> 4 [label="enumeration"]
+ 4 -> 4 [label="assertion"]
+ 4 -> 4 [label="maxInclusive"]
+ 4 -> 4 [label="maxLength"]
+ 4 -> 4 [label="pattern"]
+ 4 -> 4 [label="totalDigits"]
+ 4 -> 4 [label="minExclusive"]
+ 4 -> 4 [label="minInclusive"]
+ 1 [shape=doublecircle, style=filled, color=blue]
+ 2 [shape=doublecircle, style=filled, color=green]
+ 3 [shape=doublecircle, style=filled, color=green]
+ 4 [shape=doublecircle, style=filled, color=green]
+}
diff --git a/src/xmlpatterns/schema/doc/TotalDigitsFacet_diagram.dot b/src/xmlpatterns/schema/doc/TotalDigitsFacet_diagram.dot
new file mode 100644
index 0000000..0ef4cd6
--- /dev/null
+++ b/src/xmlpatterns/schema/doc/TotalDigitsFacet_diagram.dot
@@ -0,0 +1,6 @@
+digraph TotalDigitsFacet {
+ mindist = 2.0
+ 1 -> 2 [label="annotation"]
+ 1 [shape=doublecircle, style=filled, color=blue]
+ 2 [shape=doublecircle, style=filled, color=green]
+}
diff --git a/src/xmlpatterns/schema/doc/Union_diagram.dot b/src/xmlpatterns/schema/doc/Union_diagram.dot
new file mode 100644
index 0000000..d6c1865
--- /dev/null
+++ b/src/xmlpatterns/schema/doc/Union_diagram.dot
@@ -0,0 +1,10 @@
+digraph Union {
+ mindist = 2.0
+ 1 -> 2 [label="annotation"]
+ 1 -> 3 [label="simpleType"]
+ 2 -> 3 [label="simpleType"]
+ 3 -> 3 [label="simpleType"]
+ 1 [shape=doublecircle, style=filled, color=blue]
+ 2 [shape=doublecircle, style=filled, color=green]
+ 3 [shape=doublecircle, style=filled, color=green]
+}
diff --git a/src/xmlpatterns/schema/doc/Unique_diagram.dot b/src/xmlpatterns/schema/doc/Unique_diagram.dot
new file mode 100644
index 0000000..5b1d098
--- /dev/null
+++ b/src/xmlpatterns/schema/doc/Unique_diagram.dot
@@ -0,0 +1,12 @@
+digraph Unique {
+ mindist = 2.0
+ 1 -> 2 [label="annotation"]
+ 1 -> 3 [label="selector"]
+ 2 -> 3 [label="selector"]
+ 3 -> 4 [label="field"]
+ 4 -> 4 [label="field"]
+ 1 [shape=circle, style=filled, color=blue]
+ 2 [shape=circle, style=filled, color=red]
+ 3 [shape=circle, style=filled, color=red]
+ 4 [shape=doublecircle, style=filled, color=green]
+}
diff --git a/src/xmlpatterns/schema/doc/WhiteSpaceFacet_diagram.dot b/src/xmlpatterns/schema/doc/WhiteSpaceFacet_diagram.dot
new file mode 100644
index 0000000..596403c
--- /dev/null
+++ b/src/xmlpatterns/schema/doc/WhiteSpaceFacet_diagram.dot
@@ -0,0 +1,6 @@
+digraph WhiteSpaceFacet {
+ mindist = 2.0
+ 1 -> 2 [label="annotation"]
+ 1 [shape=doublecircle, style=filled, color=blue]
+ 2 [shape=doublecircle, style=filled, color=green]
+}
diff --git a/src/xmlpatterns/schema/doc/legend.dot b/src/xmlpatterns/schema/doc/legend.dot
new file mode 100644
index 0000000..4f5792e
--- /dev/null
+++ b/src/xmlpatterns/schema/doc/legend.dot
@@ -0,0 +1,7 @@
+digraph {
+ size="5,4"
+ 1 [label=" start state ", shape=circle, style=filled, color=blue]
+ 2 [label="start/end state", shape=doublecircle, style=filled, color=blue]
+ 3 [label=" internal state", shape=circle, style=filled, color=red]
+ 4 [label=" end state ", shape=doublecircle, style=filled, color=green]
+}
diff --git a/src/xmlpatterns/schema/qnamespacesupport.cpp b/src/xmlpatterns/schema/qnamespacesupport.cpp
new file mode 100644
index 0000000..0ae5309
--- /dev/null
+++ b/src/xmlpatterns/schema/qnamespacesupport.cpp
@@ -0,0 +1,160 @@
+/****************************************************************************
+**
+** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the QtXmlPatterns of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+
+#include "qnamespacesupport_p.h"
+
+QT_BEGIN_NAMESPACE
+
+using namespace QPatternist;
+
+NamespaceSupport::NamespaceSupport()
+{
+}
+
+NamespaceSupport::NamespaceSupport(const NamePool::Ptr &namePool)
+ : m_namePool(namePool)
+{
+ // the XML namespace
+ m_ns.insert(StandardPrefixes::xml, StandardNamespaces::xml);
+}
+
+void NamespaceSupport::setPrefix(const QXmlName::PrefixCode prefixCode, const QXmlName::NamespaceCode namespaceCode)
+{
+ m_ns.insert(prefixCode, namespaceCode);
+}
+
+void NamespaceSupport::setPrefixes(const QXmlStreamNamespaceDeclarations &declarations)
+{
+ for (int i = 0; i < declarations.count(); i++) {
+ const QXmlStreamNamespaceDeclaration declaration = declarations.at(i);
+
+ const QXmlName::PrefixCode prefixCode = m_namePool->allocatePrefix(declaration.prefix().toString());
+ const QXmlName::NamespaceCode namespaceCode = m_namePool->allocateNamespace(declaration.namespaceUri().toString());
+ m_ns.insert(prefixCode, namespaceCode);
+ }
+}
+
+void NamespaceSupport::setTargetNamespace(const QXmlName::NamespaceCode namespaceCode)
+{
+ m_ns.insert(0, namespaceCode);
+}
+
+QXmlName::PrefixCode NamespaceSupport::prefix(const QXmlName::NamespaceCode namespaceCode) const
+{
+ NamespaceHash::const_iterator itc, it = m_ns.constBegin();
+ while ((itc=it) != m_ns.constEnd()) {
+ ++it;
+ if (*itc == namespaceCode)
+ return itc.key();
+ }
+ return 0;
+}
+
+QXmlName::NamespaceCode NamespaceSupport::uri(const QXmlName::PrefixCode prefixCode) const
+{
+ return m_ns.value(prefixCode);
+}
+
+bool NamespaceSupport::processName(const QString& qname, NameType type, QXmlName &name) const
+{
+ int len = qname.size();
+ const QChar *data = qname.constData();
+ for (int pos = 0; pos < len; ++pos) {
+ if (data[pos] == QLatin1Char(':')) {
+ const QXmlName::PrefixCode prefixCode = m_namePool->allocatePrefix(qname.left(pos));
+ if (!m_ns.contains(prefixCode))
+ return false;
+ const QXmlName::NamespaceCode namespaceCode = uri(prefixCode);
+ const QXmlName::LocalNameCode localNameCode = m_namePool->allocateLocalName(qname.mid(pos + 1));
+ name = QXmlName(namespaceCode, localNameCode, prefixCode);
+ return true;
+ }
+ }
+
+ // there was no ':'
+ QXmlName::NamespaceCode namespaceCode = 0;
+ // attributes don't take default namespace
+ if (type == ElementName && !m_ns.isEmpty()) {
+ namespaceCode = m_ns.value(0); // get default namespace
+ }
+
+ const QXmlName::LocalNameCode localNameCode = m_namePool->allocateLocalName(qname);
+ name = QXmlName(namespaceCode, localNameCode, 0);
+
+ return true;
+}
+
+void NamespaceSupport::pushContext()
+{
+ m_nsStack.push(m_ns);
+}
+
+void NamespaceSupport::popContext()
+{
+ m_ns.clear();
+ if(!m_nsStack.isEmpty())
+ m_ns = m_nsStack.pop();
+}
+
+QList<QXmlName> NamespaceSupport::namespaceBindings() const
+{
+ QList<QXmlName> bindings;
+
+ QHashIterator<QXmlName::PrefixCode, QXmlName::NamespaceCode> it(m_ns);
+ while (it.hasNext()) {
+ it.next();
+ bindings.append(QXmlName(it.value(), StandardLocalNames::empty, it.key()));
+ }
+
+ return bindings;
+}
+
+QT_END_NAMESPACE
diff --git a/src/xmlpatterns/schema/qnamespacesupport_p.h b/src/xmlpatterns/schema/qnamespacesupport_p.h
new file mode 100644
index 0000000..47c21a5
--- /dev/null
+++ b/src/xmlpatterns/schema/qnamespacesupport_p.h
@@ -0,0 +1,173 @@
+/****************************************************************************
+**
+** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtXmlPatterns of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+
+#ifndef Patternist_NamespaceSupport_H
+#define Patternist_NamespaceSupport_H
+
+#include "qnamepool_p.h"
+
+#include <QtCore/QExplicitlySharedDataPointer>
+#include <QtCore/QHash>
+#include <QtCore/QSet>
+#include <QtCore/QStack>
+#include <QtCore/QXmlStreamNamespaceDeclarations>
+
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+namespace QPatternist
+{
+ /**
+ * @short A helper class for handling nested namespace declarations.
+ *
+ * This class is mostly an adaption of QXmlNamespaceSupport to the NamePool
+ * mechanism used in XmlPatterns.
+ *
+ * @ingroup Patternist_schema
+ * @author Tobias Koenig <tobias.koenig@trolltech.com>
+ */
+ class NamespaceSupport
+ {
+ public:
+ /**
+ * Describes whether the name to process is an attribute or element.
+ */
+ enum NameType
+ {
+ AttributeName, ///< An attribute name to process.
+ ElementName ///< An element name to process.
+ };
+
+ /**
+ * Creates an empty namespace support object.
+ */
+ NamespaceSupport();
+
+ /**
+ * Creates a new namespace support object.
+ *
+ * @param namePool The name pool where all processed names are stored in.
+ */
+ NamespaceSupport(const NamePool::Ptr &namePool);
+
+ /**
+ * Adds a new prefix-to-namespace binding.
+ *
+ * @param prefixCode The name pool code for the prefix.
+ * @param namespaceCode The name pool code for the namespace.
+ */
+ void setPrefix(const QXmlName::PrefixCode prefixCode, const QXmlName::NamespaceCode namespaceCode);
+
+ /**
+ * Adds the prefix-to-namespace bindings from @p declarations to
+ * the namespace support.
+ */
+ void setPrefixes(const QXmlStreamNamespaceDeclarations &declarations);
+
+ /**
+ * Sets the name pool code of the target namespace of the schema the
+ * namespace support works on.
+ */
+ void setTargetNamespace(const QXmlName::NamespaceCode code);
+
+ /**
+ * Returns the prefix code for the given namespace @p code.
+ */
+ QXmlName::PrefixCode prefix(const QXmlName::NamespaceCode code) const;
+
+ /**
+ * Returns the namespace code for the given prefix @p code.
+ */
+ QXmlName::NamespaceCode uri(const QXmlName::PrefixCode code) const;
+
+ /**
+ * Converts the given @p qualifiedName to a resolved QXmlName @p name according
+ * to the current namespace mapping.
+ *
+ * @param qualifiedName The full qualified name.
+ * @param type The type of name processing.
+ * @param name The resolved QXmlName.
+ *
+ * @returns @c true if the name could be processed correctly or @c false if the
+ * namespace prefix is unknown.
+ */
+ bool processName(const QString &qualifiedName, NameType type, QXmlName &name) const;
+
+ /**
+ * Pushes the current namespace mapping onto the stack.
+ */
+ void pushContext();
+
+ /**
+ * Pops the current namespace mapping from the stack.
+ */
+ void popContext();
+
+ /**
+ * Returns the list of namespace bindings.
+ */
+ QList<QXmlName> namespaceBindings() const;
+
+ private:
+ typedef QHash<QXmlName::PrefixCode, QXmlName::NamespaceCode> NamespaceHash;
+
+ NamePool::Ptr m_namePool;
+ QStack<NamespaceHash> m_nsStack;
+ NamespaceHash m_ns;
+ };
+}
+
+QT_END_NAMESPACE
+
+QT_END_HEADER
+
+#endif
diff --git a/src/xmlpatterns/schema/qxsdalternative.cpp b/src/xmlpatterns/schema/qxsdalternative.cpp
new file mode 100644
index 0000000..ceaa34b
--- /dev/null
+++ b/src/xmlpatterns/schema/qxsdalternative.cpp
@@ -0,0 +1,68 @@
+/****************************************************************************
+**
+** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the QtXmlPatterns of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "qxsdalternative_p.h"
+
+QT_BEGIN_NAMESPACE
+
+using namespace QPatternist;
+
+void XsdAlternative::setTest(const XsdXPathExpression::Ptr &test)
+{
+ m_test = test;
+}
+
+XsdXPathExpression::Ptr XsdAlternative::test() const
+{
+ return m_test;
+}
+
+void XsdAlternative::setType(const SchemaType::Ptr &type)
+{
+ m_type = type;
+}
+
+SchemaType::Ptr XsdAlternative::type() const
+{
+ return m_type;
+}
+
+QT_END_NAMESPACE
diff --git a/src/xmlpatterns/schema/qxsdalternative_p.h b/src/xmlpatterns/schema/qxsdalternative_p.h
new file mode 100644
index 0000000..8dcfb12
--- /dev/null
+++ b/src/xmlpatterns/schema/qxsdalternative_p.h
@@ -0,0 +1,114 @@
+/****************************************************************************
+**
+** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtXmlPatterns of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+
+#ifndef Patternist_XsdAlternative_H
+#define Patternist_XsdAlternative_H
+
+#include "qnamedschemacomponent_p.h"
+#include "qschematype_p.h"
+#include "qxsdannotated_p.h"
+#include "qxsdxpathexpression_p.h"
+
+#include <QtCore/QList>
+
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+namespace QPatternist
+{
+ /**
+ * @short Represents a XSD alternative object.
+ *
+ * @ingroup Patternist_schema
+ * @author Tobias Koenig <tobias.koenig@trolltech.com>
+ */
+ class XsdAlternative : public NamedSchemaComponent, public XsdAnnotated
+ {
+ public:
+ typedef QExplicitlySharedDataPointer<XsdAlternative> Ptr;
+ typedef QList<XsdAlternative::Ptr> List;
+
+ /**
+ * Sets the xpath @p test of the alternative.
+ *
+ * @see <a href="http://www.w3.org/TR/xmlschema11-1/#tac-test">Test Definition</a>
+ */
+ void setTest(const XsdXPathExpression::Ptr &test);
+
+ /**
+ * Returns the xpath test of the alternative.
+ */
+ XsdXPathExpression::Ptr test() const;
+
+ /**
+ * Sets the @p type of the alternative.
+ *
+ * @see <a href="http://www.w3.org/TR/xmlschema11-1/#tac-type_definition">Type Definition</a>
+ */
+ void setType(const SchemaType::Ptr &type);
+
+ /**
+ * Returns the type of the alternative.
+ */
+ SchemaType::Ptr type() const;
+
+ private:
+ XsdXPathExpression::Ptr m_test;
+ SchemaType::Ptr m_type;
+ };
+}
+
+QT_END_NAMESPACE
+
+QT_END_HEADER
+
+#endif
diff --git a/src/xmlpatterns/schema/qxsdannotated.cpp b/src/xmlpatterns/schema/qxsdannotated.cpp
new file mode 100644
index 0000000..d9d89f6
--- /dev/null
+++ b/src/xmlpatterns/schema/qxsdannotated.cpp
@@ -0,0 +1,63 @@
+/****************************************************************************
+**
+** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the QtXmlPatterns of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "qxsdannotated_p.h"
+
+QT_BEGIN_NAMESPACE
+
+using namespace QPatternist;
+
+void XsdAnnotated::addAnnotation(const XsdAnnotation::Ptr &annotation)
+{
+ m_annotations.append(annotation);
+}
+
+void XsdAnnotated::addAnnotations(const XsdAnnotation::List &annotations)
+{
+ m_annotations << annotations;
+}
+
+XsdAnnotation::List XsdAnnotated::annotations() const
+{
+ return m_annotations;
+}
+
+QT_END_NAMESPACE
diff --git a/src/xmlpatterns/schema/qxsdannotated_p.h b/src/xmlpatterns/schema/qxsdannotated_p.h
new file mode 100644
index 0000000..05010d9
--- /dev/null
+++ b/src/xmlpatterns/schema/qxsdannotated_p.h
@@ -0,0 +1,96 @@
+/****************************************************************************
+**
+** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtXmlPatterns of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+
+#ifndef Patternist_XsdAnnotated_H
+#define Patternist_XsdAnnotated_H
+
+#include "qxsdannotation_p.h"
+
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+namespace QPatternist
+{
+ /**
+ * @short Base class for all XSD components with annotation content.
+ *
+ * @ingroup Patternist_schema
+ * @author Tobias Koenig <tobias.koenig@trolltech.com>
+ */
+ class XsdAnnotated
+ {
+ public:
+ /**
+ * Adds a new @p annotation to the component.
+ */
+ void addAnnotation(const XsdAnnotation::Ptr &annotation);
+
+ /**
+ * Adds a list of new @p annotations to the component.
+ */
+ void addAnnotations(const XsdAnnotation::List &annotations);
+
+ /**
+ * Returns the list of all annotations of the component.
+ */
+ XsdAnnotation::List annotations() const;
+
+ private:
+ XsdAnnotation::List m_annotations;
+ };
+}
+
+QT_END_NAMESPACE
+
+QT_END_HEADER
+
+#endif
diff --git a/src/xmlpatterns/schema/qxsdannotation.cpp b/src/xmlpatterns/schema/qxsdannotation.cpp
new file mode 100644
index 0000000..d53e3b6
--- /dev/null
+++ b/src/xmlpatterns/schema/qxsdannotation.cpp
@@ -0,0 +1,78 @@
+/****************************************************************************
+**
+** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the QtXmlPatterns of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "qxsdannotation_p.h"
+
+QT_BEGIN_NAMESPACE
+
+using namespace QPatternist;
+
+void XsdAnnotation::setId(const DerivedString<TypeID>::Ptr &id)
+{
+ m_id = id;
+}
+
+DerivedString<TypeID>::Ptr XsdAnnotation::id() const
+{
+ return m_id;
+}
+
+void XsdAnnotation::addApplicationInformation(const XsdApplicationInformation::Ptr &information)
+{
+ m_applicationInformation.append(information);
+}
+
+XsdApplicationInformation::List XsdAnnotation::applicationInformation() const
+{
+ return m_applicationInformation;
+}
+
+void XsdAnnotation::addDocumentation(const XsdDocumentation::Ptr &documentation)
+{
+ m_documentations.append(documentation);
+}
+
+XsdDocumentation::List XsdAnnotation::documentation() const
+{
+ return m_documentations;
+}
+
+QT_END_NAMESPACE
diff --git a/src/xmlpatterns/schema/qxsdannotation_p.h b/src/xmlpatterns/schema/qxsdannotation_p.h
new file mode 100644
index 0000000..27fb555
--- /dev/null
+++ b/src/xmlpatterns/schema/qxsdannotation_p.h
@@ -0,0 +1,127 @@
+/****************************************************************************
+**
+** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtXmlPatterns of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+
+#ifndef Patternist_XsdAnnotation_H
+#define Patternist_XsdAnnotation_H
+
+#include "qderivedstring_p.h"
+#include "qxsdapplicationinformation_p.h"
+#include "qxsddocumentation_p.h"
+
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+namespace QPatternist
+{
+ /**
+ * @short Represents a XSD annotation object.
+ *
+ * This class represents the <em>annotation</em> object of a XML schema as described
+ * <a href="http://www.w3.org/TR/xmlschema11-1/#cAnnotations">here</a>.
+ *
+ * @ingroup Patternist_schema
+ * @author Tobias Koenig <tobias.koenig@trolltech.com>
+ */
+ class XsdAnnotation : public NamedSchemaComponent
+ {
+ public:
+ typedef QExplicitlySharedDataPointer<XsdAnnotation> Ptr;
+ typedef QList<XsdAnnotation::Ptr> List;
+
+ /**
+ * Sets the @p id of the annotation.
+ */
+ void setId(const DerivedString<TypeID>::Ptr &id);
+
+ /**
+ * Returns the @p id of the annotation.
+ */
+ DerivedString<TypeID>::Ptr id() const;
+
+ /**
+ * Adds an application @p information to the annotation.
+ *
+ * The application information is meant to be interpreted by
+ * a software system, e.g. other parts of the XML processor pipeline.
+ */
+ void addApplicationInformation(const XsdApplicationInformation::Ptr &information);
+
+ /**
+ * Returns the list of all application information of the annotation.
+ */
+ XsdApplicationInformation::List applicationInformation() const;
+
+ /**
+ * Adds a @p documentation to the annotation.
+ *
+ * The documentation is meant to be read by human being, e.g. additional
+ * constraints or information about schema components.
+ */
+ void addDocumentation(const XsdDocumentation::Ptr &documentation);
+
+ /**
+ * Returns the list of all documentations of the annotation.
+ */
+ XsdDocumentation::List documentation() const;
+
+ private:
+ DerivedString<TypeID>::Ptr m_id;
+ XsdApplicationInformation::List m_applicationInformation;
+ XsdDocumentation::List m_documentations;
+ };
+}
+
+QT_END_NAMESPACE
+
+QT_END_HEADER
+
+#endif
diff --git a/src/xmlpatterns/schema/qxsdapplicationinformation.cpp b/src/xmlpatterns/schema/qxsdapplicationinformation.cpp
new file mode 100644
index 0000000..46d6d56
--- /dev/null
+++ b/src/xmlpatterns/schema/qxsdapplicationinformation.cpp
@@ -0,0 +1,68 @@
+/****************************************************************************
+**
+** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the QtXmlPatterns of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "qxsdapplicationinformation_p.h"
+
+QT_BEGIN_NAMESPACE
+
+using namespace QPatternist;
+
+void XsdApplicationInformation::setSource(const AnyURI::Ptr &source)
+{
+ m_source = source;
+}
+
+AnyURI::Ptr XsdApplicationInformation::source() const
+{
+ return m_source;
+}
+
+void XsdApplicationInformation::setContent(const QString &content)
+{
+ m_content = content;
+}
+
+QString XsdApplicationInformation::content() const
+{
+ return m_content;
+}
+
+QT_END_NAMESPACE
diff --git a/src/xmlpatterns/schema/qxsdapplicationinformation_p.h b/src/xmlpatterns/schema/qxsdapplicationinformation_p.h
new file mode 100644
index 0000000..2eec83a
--- /dev/null
+++ b/src/xmlpatterns/schema/qxsdapplicationinformation_p.h
@@ -0,0 +1,115 @@
+/****************************************************************************
+**
+** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtXmlPatterns of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+
+#ifndef Patternist_XsdApplicationInformation_H
+#define Patternist_XsdApplicationInformation_H
+
+#include "qanytype_p.h"
+#include "qanyuri_p.h"
+#include "qnamedschemacomponent_p.h"
+
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+namespace QPatternist
+{
+ /**
+ * @short Represents a XSD appinfo object.
+ *
+ * This class represents the <em>appinfo</em> component of an <em>annotation</em> object
+ * of a XML schema as described <a href="http://www.w3.org/TR/xmlschema11-1/#cAnnotations">here</a>.
+ *
+ * @ingroup Patternist_schema
+ * @author Tobias Koenig <tobias.koenig@trolltech.com>
+ */
+ class XsdApplicationInformation : public NamedSchemaComponent
+ {
+ public:
+ typedef QExplicitlySharedDataPointer<XsdApplicationInformation> Ptr;
+ typedef QList<XsdApplicationInformation::Ptr> List;
+
+ /**
+ * Sets the @p source of the application information.
+ *
+ * The source points to an URL that contains more
+ * information.
+ */
+ void setSource(const AnyURI::Ptr &source);
+
+ /**
+ * Returns the source of the application information.
+ */
+ AnyURI::Ptr source() const;
+
+ /**
+ * Sets the @p content of the application information.
+ *
+ * The content can be of abritrary type.
+ */
+ void setContent(const QString &content);
+
+ /**
+ * Returns the content of the application information.
+ */
+ QString content() const;
+
+ private:
+ AnyURI::Ptr m_source;
+ QString m_content;
+ };
+}
+
+QT_END_NAMESPACE
+
+QT_END_HEADER
+
+#endif
diff --git a/src/xmlpatterns/schema/qxsdassertion.cpp b/src/xmlpatterns/schema/qxsdassertion.cpp
new file mode 100644
index 0000000..8898bd2
--- /dev/null
+++ b/src/xmlpatterns/schema/qxsdassertion.cpp
@@ -0,0 +1,58 @@
+/****************************************************************************
+**
+** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the QtXmlPatterns of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "qxsdassertion_p.h"
+
+QT_BEGIN_NAMESPACE
+
+using namespace QPatternist;
+
+void XsdAssertion::setTest(const XsdXPathExpression::Ptr &test)
+{
+ m_test = test;
+}
+
+XsdXPathExpression::Ptr XsdAssertion::test() const
+{
+ return m_test;
+}
+
+QT_END_NAMESPACE
diff --git a/src/xmlpatterns/schema/qxsdassertion_p.h b/src/xmlpatterns/schema/qxsdassertion_p.h
new file mode 100644
index 0000000..56674e5
--- /dev/null
+++ b/src/xmlpatterns/schema/qxsdassertion_p.h
@@ -0,0 +1,101 @@
+/****************************************************************************
+**
+** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtXmlPatterns of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+
+#ifndef Patternist_XsdAssertion_H
+#define Patternist_XsdAssertion_H
+
+#include "qnamedschemacomponent_p.h"
+#include "qxsdannotated_p.h"
+#include "qxsdxpathexpression_p.h"
+
+#include <QtCore/QList>
+
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+namespace QPatternist
+{
+ /**
+ * @short Represents a XSD assertion object.
+ *
+ * @ingroup Patternist_schema
+ * @author Tobias Koenig <tobias.koenig@trolltech.com>
+ * @see <a href="http://www.w3.org/TR/xmlschema11-1/#cAssertions">Assertion Definition</a>
+ */
+ class XsdAssertion : public NamedSchemaComponent, public XsdAnnotated
+ {
+ public:
+ typedef QExplicitlySharedDataPointer<XsdAssertion> Ptr;
+ typedef QList<XsdAssertion::Ptr> List;
+
+ /**
+ * Sets the @p test of the assertion.
+ *
+ * @see <a href="http://www.w3.org/TR/xmlschema11-1/#as-test">Test Definition</a>
+ */
+ void setTest(const XsdXPathExpression::Ptr &test);
+
+ /**
+ * Returns the test of the assertion.
+ */
+ XsdXPathExpression::Ptr test() const;
+
+ private:
+ XsdXPathExpression::Ptr m_test;
+ };
+}
+
+QT_END_NAMESPACE
+
+QT_END_HEADER
+
+#endif
diff --git a/src/xmlpatterns/schema/qxsdattribute.cpp b/src/xmlpatterns/schema/qxsdattribute.cpp
new file mode 100644
index 0000000..7fd883e
--- /dev/null
+++ b/src/xmlpatterns/schema/qxsdattribute.cpp
@@ -0,0 +1,130 @@
+/****************************************************************************
+**
+** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the QtXmlPatterns of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "qxsdattribute_p.h"
+#include "qxsdcomplextype_p.h"
+
+QT_BEGIN_NAMESPACE
+
+using namespace QPatternist;
+
+
+void XsdAttribute::Scope::setVariety(Variety variety)
+{
+ m_variety = variety;
+}
+
+XsdAttribute::Scope::Variety XsdAttribute::Scope::variety() const
+{
+ return m_variety;
+}
+
+void XsdAttribute::Scope::setParent(const NamedSchemaComponent::Ptr &parent)
+{
+ m_parent = parent;
+}
+
+NamedSchemaComponent::Ptr XsdAttribute::Scope::parent() const
+{
+ return m_parent;
+}
+
+void XsdAttribute::ValueConstraint::setVariety(Variety variety)
+{
+ m_variety = variety;
+}
+
+XsdAttribute::ValueConstraint::Variety XsdAttribute::ValueConstraint::variety() const
+{
+ return m_variety;
+}
+
+void XsdAttribute::ValueConstraint::setValue(const QString &value)
+{
+ m_value = value;
+}
+
+QString XsdAttribute::ValueConstraint::value() const
+{
+ return m_value;
+}
+
+void XsdAttribute::ValueConstraint::setLexicalForm(const QString &form)
+{
+ m_lexicalForm = form;
+}
+
+QString XsdAttribute::ValueConstraint::lexicalForm() const
+{
+ return m_lexicalForm;
+}
+
+void XsdAttribute::setType(const AnySimpleType::Ptr &type)
+{
+ m_type = type;
+}
+
+AnySimpleType::Ptr XsdAttribute::type() const
+{
+ return m_type;
+}
+
+void XsdAttribute::setScope(const Scope::Ptr &scope)
+{
+ m_scope = scope;
+}
+
+XsdAttribute::Scope::Ptr XsdAttribute::scope() const
+{
+ return m_scope;
+}
+
+void XsdAttribute::setValueConstraint(const ValueConstraint::Ptr &constraint)
+{
+ m_valueConstraint = constraint;
+}
+
+XsdAttribute::ValueConstraint::Ptr XsdAttribute::valueConstraint() const
+{
+ return m_valueConstraint;
+}
+
+QT_END_NAMESPACE
diff --git a/src/xmlpatterns/schema/qxsdattribute_p.h b/src/xmlpatterns/schema/qxsdattribute_p.h
new file mode 100644
index 0000000..220dd28
--- /dev/null
+++ b/src/xmlpatterns/schema/qxsdattribute_p.h
@@ -0,0 +1,246 @@
+/****************************************************************************
+**
+** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtXmlPatterns of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+
+#ifndef Patternist_XsdAttribute_H
+#define Patternist_XsdAttribute_H
+
+#include "qanysimpletype_p.h"
+#include "qnamedschemacomponent_p.h"
+#include "qxsdannotated_p.h"
+
+#include <QtCore/QList>
+
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+namespace QPatternist
+{
+ /**
+ * @short Represents a XSD attribute object.
+ *
+ * This class represents the <em>attribute</em> object of a XML schema as described
+ * <a href="http://www.w3.org/TR/xmlschema11-1/#cAttribute_Declarations">here</a>.
+ *
+ * It contains information from either a top-level attribute declaration (as child of
+ * a <em>schema</em> object) or of a local attribute declaration (as child of <em>complexType</em>
+ * or <em>attributeGroup</em> object without a 'ref' attribute).
+ *
+ * All other occurrences of the <em>attribute</em> object are represented by the XsdAttributeUse class.
+ *
+ * @see <a href="http://www.w3.org/Submission/2004/SUBM-xmlschema-api-20040309/xml-schema-api.html#Interface-XSAttributeDeclaration">XML Schema API reference</a>
+ * @ingroup Patternist_schema
+ * @author Tobias Koenig <tobias.koenig@trolltech.com>
+ */
+ class XsdAttribute : public NamedSchemaComponent, public XsdAnnotated
+ {
+ public:
+ typedef QExplicitlySharedDataPointer<XsdAttribute> Ptr;
+ typedef QList<XsdAttribute::Ptr> List;
+
+ /**
+ * @short Describes the scope of an attribute.
+ *
+ * @see <a href="http://www.w3.org/TR/xmlschema11-1/#sc_a">Scope Definition</a>
+ */
+ class Scope : public QSharedData
+ {
+ public:
+ typedef QExplicitlySharedDataPointer<Scope> Ptr;
+
+ /**
+ * Describes the <a href="http://www.w3.org/TR/xmlschema11-1/#ad-scope">scope</a> of an attribute.
+ */
+ enum Variety
+ {
+ Global, ///< The attribute is defined globally as child of the <em>schema</em> object.
+ Local ///< The attribute is defined locally as child of a complex type or attribute group definition.
+ };
+
+ /**
+ * Sets the @p variety of the attribute scope.
+ *
+ * @see <a href="http://www.w3.org/TR/xmlschema11-1/#sc_a-variety">Variety Definition</a>
+ */
+ void setVariety(Variety variety);
+
+ /**
+ * Returns the variety of the attribute scope.
+ */
+ Variety variety() const;
+
+ /**
+ * Sets the @p parent complex type or attribute group definition of the attribute scope.
+ *
+ * @see <a href="http://www.w3.org/TR/xmlschema11-1/#sc_a-parent">Parent Definition</a>
+ */
+ void setParent(const NamedSchemaComponent::Ptr &parent);
+
+ /**
+ * Returns the parent complex type or attribute group definition of the attribute scope.
+ */
+ NamedSchemaComponent::Ptr parent() const;
+
+ private:
+ Variety m_variety;
+ NamedSchemaComponent::Ptr m_parent;
+ };
+
+
+ /**
+ * @short Describes the value constraint of an attribute.
+ *
+ * @see <a href="http://www.w3.org/TR/xmlschema11-1/#vc_a">Value Constraint Definition</a>
+ */
+ class ValueConstraint : public QSharedData
+ {
+ public:
+ typedef QExplicitlySharedDataPointer<ValueConstraint> Ptr;
+
+ /**
+ * Describes the <a href="http://www.w3.org/TR/xmlschema11-1/#ad-value_constraint">value constraint</a> of an attribute.
+ */
+ enum Variety
+ {
+ Default, ///< The attribute has a default value set.
+ Fixed ///< The attribute has a fixed value set.
+ };
+
+ /**
+ * Sets the @p variety of the attribute value constraint.
+ *
+ * @see <a href="http://www.w3.org/TR/xmlschema11-1/#vc_a-variety">Variety Definition</a>
+ */
+ void setVariety(Variety variety);
+
+ /**
+ * Returns the variety of the attribute value constraint.
+ */
+ Variety variety() const;
+
+ /**
+ * Sets the @p value of the constraint.
+ *
+ * @see <a href="http://www.w3.org/TR/xmlschema11-1/#vc_a-value">Value Definition</a>
+ */
+ void setValue(const QString &value);
+
+ /**
+ * Returns the value of the constraint.
+ */
+ QString value() const;
+
+ /**
+ * Sets the lexical @p form of the constraint.
+ *
+ * @see <a href="http://www.w3.org/TR/xmlschema11-1/#vc_a-lexical_form">Lexical Form Definition</a>
+ */
+ void setLexicalForm(const QString &form);
+
+ /**
+ * Returns the lexical form of the constraint.
+ */
+ QString lexicalForm() const;
+
+ private:
+ Variety m_variety;
+ QString m_value;
+ QString m_lexicalForm;
+ };
+
+ /**
+ * Sets the simple @p type definition of the attribute.
+ *
+ * @see <a href="http://www.w3.org/TR/xmlschema11-1/#ad-type_definition">Simple Type Definition</a>
+ */
+ void setType(const AnySimpleType::Ptr &type);
+
+ /**
+ * Returns the simple type definition of the attribute.
+ */
+ AnySimpleType::Ptr type() const;
+
+ /**
+ * Sets the @p scope of the attribute.
+ *
+ * @see <a href="http://www.w3.org/TR/xmlschema11-1/#ad-scope">Scope Definition</a>
+ */
+ void setScope(const Scope::Ptr &scope);
+
+ /**
+ * Returns the scope of the attribute.
+ */
+ Scope::Ptr scope() const;
+
+ /**
+ * Sets the value @p constraint of the attribute.
+ *
+ * @see <a href="http://www.w3.org/TR/xmlschema11-1/#ad-value_constraint">Value Constraint Definition</a>
+ */
+ void setValueConstraint(const ValueConstraint::Ptr &constraint);
+
+ /**
+ * Returns the value constraint of the attribute.
+ */
+ ValueConstraint::Ptr valueConstraint() const;
+
+ private:
+ AnySimpleType::Ptr m_type;
+ Scope::Ptr m_scope;
+ ValueConstraint::Ptr m_valueConstraint;
+ };
+}
+
+QT_END_NAMESPACE
+
+QT_END_HEADER
+
+#endif
diff --git a/src/xmlpatterns/schema/qxsdattributegroup.cpp b/src/xmlpatterns/schema/qxsdattributegroup.cpp
new file mode 100644
index 0000000..ff62ef5
--- /dev/null
+++ b/src/xmlpatterns/schema/qxsdattributegroup.cpp
@@ -0,0 +1,73 @@
+/****************************************************************************
+**
+** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the QtXmlPatterns of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "qxsdattributegroup_p.h"
+
+QT_BEGIN_NAMESPACE
+
+using namespace QPatternist;
+
+void XsdAttributeGroup::setAttributeUses(const XsdAttributeUse::List &attributeUses)
+{
+ m_attributeUses = attributeUses;
+}
+
+void XsdAttributeGroup::addAttributeUse(const XsdAttributeUse::Ptr &attributeUse)
+{
+ m_attributeUses.append(attributeUse);
+}
+
+XsdAttributeUse::List XsdAttributeGroup::attributeUses() const
+{
+ return m_attributeUses;
+}
+
+void XsdAttributeGroup::setWildcard(const XsdWildcard::Ptr &wildcard)
+{
+ m_wildcard = wildcard;
+}
+
+XsdWildcard::Ptr XsdAttributeGroup::wildcard() const
+{
+ return m_wildcard;
+}
+
+QT_END_NAMESPACE
diff --git a/src/xmlpatterns/schema/qxsdattributegroup_p.h b/src/xmlpatterns/schema/qxsdattributegroup_p.h
new file mode 100644
index 0000000..3684df2
--- /dev/null
+++ b/src/xmlpatterns/schema/qxsdattributegroup_p.h
@@ -0,0 +1,122 @@
+/****************************************************************************
+**
+** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtXmlPatterns of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+
+#ifndef Patternist_XsdAttributeGroup_H
+#define Patternist_XsdAttributeGroup_H
+
+#include "qxsdannotated_p.h"
+#include "qxsdattributeuse_p.h"
+#include "qxsdwildcard_p.h"
+
+#include <QtCore/QList>
+
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+namespace QPatternist
+{
+ /**
+ * @short Represents the XSD attributeGroup object.
+ *
+ * This class represents the <em>attributeGroup</em> object of a XML schema as described
+ * <a href="http://www.w3.org/TR/xmlschema11-1/#cAttribute_Group_Definitions">here</a>.
+ *
+ * @see <a href="http://www.w3.org/Submission/2004/SUBM-xmlschema-api-20040309/xml-schema-api.html#Interface-XSAttributeGroup">XML Schema API reference</a>
+ * @ingroup Patternist_schema
+ * @author Tobias Koenig <tobias.koenig@trolltech.com>
+ */
+ class XsdAttributeGroup : public NamedSchemaComponent, public XsdAnnotated
+ {
+ public:
+ typedef QExplicitlySharedDataPointer<XsdAttributeGroup> Ptr;
+ typedef QList<XsdAttributeGroup::Ptr> List;
+
+ /**
+ * Sets the list of attribute @p uses that are defined in the attribute group.
+ *
+ * @see <a href="http://www.w3.org/TR/xmlschema11-1/#agd-attribute_uses">Attribute Uses</a>
+ */
+ void setAttributeUses(const XsdAttributeUse::List &uses);
+
+ /**
+ * Adds a new attribute @p use to the attribute group.
+ */
+ void addAttributeUse(const XsdAttributeUse::Ptr &use);
+
+ /**
+ * Returns the list of all attribute uses of the attribute group.
+ */
+ XsdAttributeUse::List attributeUses() const;
+
+ /**
+ * Sets the attribute @p wildcard of the attribute group.
+ *
+ * @see <a href="http://www.w3.org/TR/xmlschema11-1/#agd-attribute_wildcard">Attribute Wildcard</a>
+ */
+ void setWildcard(const XsdWildcard::Ptr &wildcard);
+
+ /**
+ * Returns the attribute wildcard of the attribute group.
+ */
+ XsdWildcard::Ptr wildcard() const;
+
+ private:
+ XsdAttributeUse::List m_attributeUses;
+ XsdWildcard::Ptr m_wildcard;
+ };
+}
+
+QT_END_NAMESPACE
+
+QT_END_HEADER
+
+#endif
diff --git a/src/xmlpatterns/schema/qxsdattributereference.cpp b/src/xmlpatterns/schema/qxsdattributereference.cpp
new file mode 100644
index 0000000..0b3ce03
--- /dev/null
+++ b/src/xmlpatterns/schema/qxsdattributereference.cpp
@@ -0,0 +1,88 @@
+/****************************************************************************
+**
+** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the QtXmlPatterns of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "qxsdattributereference_p.h"
+
+QT_BEGIN_NAMESPACE
+
+using namespace QPatternist;
+
+bool XsdAttributeReference::isAttributeUse() const
+{
+ return false;
+}
+
+bool XsdAttributeReference::isReference() const
+{
+ return true;
+}
+
+void XsdAttributeReference::setType(Type type)
+{
+ m_type = type;
+}
+
+XsdAttributeReference::Type XsdAttributeReference::type() const
+{
+ return m_type;
+}
+
+void XsdAttributeReference::setReferenceName(const QXmlName &referenceName)
+{
+ m_referenceName = referenceName;
+}
+
+QXmlName XsdAttributeReference::referenceName() const
+{
+ return m_referenceName;
+}
+
+void XsdAttributeReference::setSourceLocation(const QSourceLocation &location)
+{
+ m_sourceLocation = location;
+}
+
+QSourceLocation XsdAttributeReference::sourceLocation() const
+{
+ return m_sourceLocation;
+}
+
+QT_END_NAMESPACE
diff --git a/src/xmlpatterns/schema/qxsdattributereference_p.h b/src/xmlpatterns/schema/qxsdattributereference_p.h
new file mode 100644
index 0000000..0d2bdc1
--- /dev/null
+++ b/src/xmlpatterns/schema/qxsdattributereference_p.h
@@ -0,0 +1,147 @@
+/****************************************************************************
+**
+** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtXmlPatterns of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+
+#ifndef Patternist_XsdAttributeReference_H
+#define Patternist_XsdAttributeReference_H
+
+#include "qxsdattributeuse_p.h"
+
+#include <QtXmlPatterns/QSourceLocation>
+
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+namespace QPatternist
+{
+ /**
+ * @short A helper class for attribute reference resolving.
+ *
+ * For easy resolving of attribute references, we have this class
+ * that can be used as a place holder for the real attribute use
+ * object it is referring to.
+ * So whenever the parser detects an attribute reference, it creates
+ * a XsdAttributeReference and returns it instead of the XsdAttributeUse.
+ * During a later phase, the resolver will look for all XsdAttributeReferences
+ * in the schema and will replace them with their referring XsdAttributeUse
+ * objects.
+ *
+ * @ingroup Patternist_schema
+ * @author Tobias Koenig <tobias.koenig@trolltech.com>
+ */
+ class XsdAttributeReference : public XsdAttributeUse
+ {
+ public:
+ typedef QExplicitlySharedDataPointer<XsdAttributeReference> Ptr;
+
+ /**
+ * Describes the type of the attribute reference.
+ */
+ enum Type
+ {
+ AttributeUse, ///< The reference points to an attribute use.
+ AttributeGroup ///< The reference points to an attribute group.
+ };
+
+ /**
+ * Always returns false, used to avoid dynamic casts.
+ */
+ virtual bool isAttributeUse() const;
+
+ /**
+ * Always returns true, used to avoid dynamic casts.
+ */
+ virtual bool isReference() const;
+
+ /**
+ * Sets the @p type of the attribute reference.
+ */
+ void setType(Type type);
+
+ /**
+ * Returns the type of the attribute reference.
+ */
+ Type type() const;
+
+ /**
+ * Sets the @p name of the attribute or attribute group the
+ * attribute reference refers to.
+ */
+ void setReferenceName(const QXmlName &name);
+
+ /**
+ * Returns the name of the attribute or attribute group the
+ * attribute reference refers to.
+ */
+ QXmlName referenceName() const;
+
+ /**
+ * Sets the source @p location where the reference is located.
+ */
+ void setSourceLocation(const QSourceLocation &location);
+
+ /**
+ * Returns the source location where the reference is located.
+ */
+ QSourceLocation sourceLocation() const;
+
+ private:
+ Type m_type;
+ QXmlName m_referenceName;
+ QSourceLocation m_sourceLocation;
+ };
+}
+
+QT_END_NAMESPACE
+
+QT_END_HEADER
+
+#endif
diff --git a/src/xmlpatterns/schema/qxsdattributeterm.cpp b/src/xmlpatterns/schema/qxsdattributeterm.cpp
new file mode 100644
index 0000000..78ddd2f
--- /dev/null
+++ b/src/xmlpatterns/schema/qxsdattributeterm.cpp
@@ -0,0 +1,58 @@
+/****************************************************************************
+**
+** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the QtXmlPatterns of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "qxsdattributeterm_p.h"
+
+QT_BEGIN_NAMESPACE
+
+using namespace QPatternist;
+
+bool XsdAttributeTerm::isAttributeUse() const
+{
+ return false;
+}
+
+bool XsdAttributeTerm::isReference() const
+{
+ return false;
+}
+
+QT_END_NAMESPACE
diff --git a/src/xmlpatterns/schema/qxsdattributeterm_p.h b/src/xmlpatterns/schema/qxsdattributeterm_p.h
new file mode 100644
index 0000000..4852d46
--- /dev/null
+++ b/src/xmlpatterns/schema/qxsdattributeterm_p.h
@@ -0,0 +1,96 @@
+/****************************************************************************
+**
+** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtXmlPatterns of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+
+#ifndef Patternist_XsdAttributeTerm_H
+#define Patternist_XsdAttributeTerm_H
+
+#include "qnamedschemacomponent_p.h"
+#include "qxsdannotated_p.h"
+
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+namespace QPatternist
+{
+ /**
+ * @short A base class for all attribute types.
+ *
+ * For easy resolving of attribute references, we use this as
+ * common base class for XsdAttribute and XsdAttributeReference.
+ *
+ * @ingroup Patternist_schema
+ * @author Tobias Koenig <tobias.koenig@trolltech.com>
+ */
+ class XsdAttributeTerm : public NamedSchemaComponent, public XsdAnnotated
+ {
+ public:
+ typedef QExplicitlySharedDataPointer<XsdAttributeTerm> Ptr;
+
+ /**
+ * Returns @c true if the term is an attribute use, @c false otherwise.
+ */
+ virtual bool isAttributeUse() const;
+
+ /**
+ * Returns @c true if the term is an attribute use reference, @c false otherwise.
+ *
+ * @note The reference term is only used internally as helper during type resolving.
+ */
+ virtual bool isReference() const;
+ };
+}
+
+QT_END_NAMESPACE
+
+QT_END_HEADER
+
+#endif
diff --git a/src/xmlpatterns/schema/qxsdattributeuse.cpp b/src/xmlpatterns/schema/qxsdattributeuse.cpp
new file mode 100644
index 0000000..d241167
--- /dev/null
+++ b/src/xmlpatterns/schema/qxsdattributeuse.cpp
@@ -0,0 +1,136 @@
+/****************************************************************************
+**
+** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the QtXmlPatterns of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "qxsdattributeuse_p.h"
+
+QT_BEGIN_NAMESPACE
+
+using namespace QPatternist;
+
+void XsdAttributeUse::ValueConstraint::setVariety(Variety variety)
+{
+ m_variety = variety;
+}
+
+XsdAttributeUse::ValueConstraint::Variety XsdAttributeUse::ValueConstraint::variety() const
+{
+ return m_variety;
+}
+
+void XsdAttributeUse::ValueConstraint::setValue(const QString &value)
+{
+ m_value = value;
+}
+
+QString XsdAttributeUse::ValueConstraint::value() const
+{
+ return m_value;
+}
+
+void XsdAttributeUse::ValueConstraint::setLexicalForm(const QString &form)
+{
+ m_lexicalForm = form;
+}
+
+QString XsdAttributeUse::ValueConstraint::lexicalForm() const
+{
+ return m_lexicalForm;
+}
+
+XsdAttributeUse::ValueConstraint::Ptr XsdAttributeUse::ValueConstraint::fromAttributeValueConstraint(const XsdAttribute::ValueConstraint::Ptr &constraint)
+{
+ XsdAttributeUse::ValueConstraint::Ptr newConstraint(new XsdAttributeUse::ValueConstraint());
+ switch (constraint->variety()) {
+ case XsdAttribute::ValueConstraint::Fixed: newConstraint->setVariety(Fixed); break;
+ case XsdAttribute::ValueConstraint::Default: newConstraint->setVariety(Default); break;
+ }
+ newConstraint->setValue(constraint->value());
+ newConstraint->setLexicalForm(constraint->lexicalForm());
+
+ return newConstraint;
+}
+
+XsdAttributeUse::XsdAttributeUse()
+ : m_useType(OptionalUse)
+{
+}
+
+bool XsdAttributeUse::isAttributeUse() const
+{
+ return true;
+}
+
+void XsdAttributeUse::setUseType(UseType type)
+{
+ m_useType = type;
+}
+
+XsdAttributeUse::UseType XsdAttributeUse::useType() const
+{
+ return m_useType;
+}
+
+bool XsdAttributeUse::isRequired() const
+{
+ return (m_useType == RequiredUse);
+}
+
+void XsdAttributeUse::setAttribute(const XsdAttribute::Ptr &attribute)
+{
+ m_attribute = attribute;
+}
+
+XsdAttribute::Ptr XsdAttributeUse::attribute() const
+{
+ return m_attribute;
+}
+
+void XsdAttributeUse::setValueConstraint(const ValueConstraint::Ptr &constraint)
+{
+ m_valueConstraint = constraint;
+}
+
+XsdAttributeUse::ValueConstraint::Ptr XsdAttributeUse::valueConstraint() const
+{
+ return m_valueConstraint;
+}
+
+QT_END_NAMESPACE
diff --git a/src/xmlpatterns/schema/qxsdattributeuse_p.h b/src/xmlpatterns/schema/qxsdattributeuse_p.h
new file mode 100644
index 0000000..eb1dc40
--- /dev/null
+++ b/src/xmlpatterns/schema/qxsdattributeuse_p.h
@@ -0,0 +1,224 @@
+/****************************************************************************
+**
+** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtXmlPatterns of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+
+#ifndef Patternist_XsdAttributeUse_H
+#define Patternist_XsdAttributeUse_H
+
+#include "qxsdattribute_p.h"
+#include "qxsdattributeterm_p.h"
+
+#include <QtCore/QList>
+
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+namespace QPatternist
+{
+ /**
+ * @short Represents a XSD attribute use object.
+ *
+ * This class represents the <em>attribute use</em> object of a XML schema as described
+ * <a href="http://www.w3.org/TR/xmlschema11-1/#cAttributeUse">here</a>.
+ *
+ * It contains information from a local attribute declaration (as child of <em>complexType</em>
+ * or <em>attributeGroup</em> object).
+ *
+ * All other occurrences of the <em>attribute</em> object are represented by the XsdAttribute class.
+ *
+ * @see <a href="http://www.w3.org/Submission/2004/SUBM-xmlschema-api-20040309/xml-schema-api.html#Interface-XSAttributeUse">XML Schema API reference</a>
+ * @ingroup Patternist_schema
+ * @author Tobias Koenig <tobias.koenig@trolltech.com>
+ */
+ class XsdAttributeUse : public XsdAttributeTerm
+ {
+ public:
+ typedef QExplicitlySharedDataPointer<XsdAttributeUse> Ptr;
+ typedef QList<XsdAttributeUse::Ptr> List;
+
+ /**
+ * Describes the value constraint of an attribute use.
+ *
+ * @see <a href="http://www.w3.org/TR/xmlschema11-1/#vc_au">Value Constraint Definition</a>
+ */
+ class ValueConstraint : public QSharedData
+ {
+ public:
+ typedef QExplicitlySharedDataPointer<ValueConstraint> Ptr;
+
+ /**
+ * Describes the <a href="http://www.w3.org/TR/xmlschema11-1/#au-value_constraint">value constraint</a> of an attribute use.
+ */
+ enum Variety
+ {
+ Default, ///< The attribute use has a default value set.
+ Fixed ///< The attribute use has a fixed value set.
+ };
+
+ /**
+ * Sets the @p variety of the attribute use value constraint.
+ */
+ void setVariety(Variety variety);
+
+ /**
+ * Returns the variety of the attribute use value constraint.
+ */
+ Variety variety() const;
+
+ /**
+ * Sets the @p value of the constraint.
+ */
+ void setValue(const QString &value);
+
+ /**
+ * Returns the value of the constraint.
+ */
+ QString value() const;
+
+ /**
+ * Sets the lexical @p form of the constraint.
+ */
+ void setLexicalForm(const QString &form);
+
+ /**
+ * Returns the lexical form of the constraint.
+ */
+ QString lexicalForm() const;
+
+ /**
+ * Creates a new value constraint from a XsdAttribute::ValueConstraint.
+ */
+ static ValueConstraint::Ptr fromAttributeValueConstraint(const XsdAttribute::ValueConstraint::Ptr &constraint);
+
+ private:
+ Variety m_variety;
+ QString m_value;
+ QString m_lexicalForm;
+ };
+
+ /**
+ * Describes the use type of the attribute use.
+ */
+ enum UseType
+ {
+ OptionalUse, ///< The attribute can be there but doesn't need to.
+ RequiredUse, ///< The attribute must be there.
+ ProhibitedUse ///< The attribute is not allowed to be there.
+ };
+
+ /**
+ * Creates a new attribute use object.
+ */
+ XsdAttributeUse();
+
+ /**
+ * Always returns true, used to avoid dynamic casts.
+ */
+ virtual bool isAttributeUse() const;
+
+ /**
+ * Sets the use @p type of the attribute use.
+ *
+ * @see UseType
+ */
+ void setUseType(UseType type);
+
+ /**
+ * Returns the use type of the attribute use.
+ */
+ UseType useType() const;
+
+ /**
+ * Returns whether the attribute use is required.
+ *
+ * @see <a href="http://www.w3.org/TR/xmlschema11-1/#au-required">Required Definition</a>
+ */
+ bool isRequired() const;
+
+ /**
+ * Sets the @p attribute the attribute use is referring to.
+ * That is either a local definition as child of a complexType
+ * or attributeGroup object, or a reference defined by the
+ * 'ref' attribute.
+ *
+ * @see <a href="http://www.w3.org/TR/xmlschema11-1/#au-attribute_declaration">Attribute Declaration</a>
+ */
+ void setAttribute(const XsdAttribute::Ptr &attribute);
+
+ /**
+ * Returns the attribute the attribute use is referring to.
+ */
+ XsdAttribute::Ptr attribute() const;
+
+ /**
+ * Sets the value @p constraint of the attribute use.
+ *
+ * @see http://www.w3.org/TR/xmlschema11-1/#vc_au
+ */
+ void setValueConstraint(const ValueConstraint::Ptr &constraint);
+
+ /**
+ * Returns the value constraint of the attribute use.
+ */
+ ValueConstraint::Ptr valueConstraint() const;
+
+ private:
+ UseType m_useType;
+ XsdAttribute::Ptr m_attribute;
+ ValueConstraint::Ptr m_valueConstraint;
+ };
+}
+
+QT_END_NAMESPACE
+
+QT_END_HEADER
+
+#endif
diff --git a/src/xmlpatterns/schema/qxsdcomplextype.cpp b/src/xmlpatterns/schema/qxsdcomplextype.cpp
new file mode 100644
index 0000000..0ecca9e
--- /dev/null
+++ b/src/xmlpatterns/schema/qxsdcomplextype.cpp
@@ -0,0 +1,231 @@
+/****************************************************************************
+**
+** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the QtXmlPatterns of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "qxsdcomplextype_p.h"
+
+QT_BEGIN_NAMESPACE
+
+using namespace QPatternist;
+
+void XsdComplexType::OpenContent::setMode(Mode mode)
+{
+ m_mode = mode;
+}
+
+XsdComplexType::OpenContent::Mode XsdComplexType::OpenContent::mode() const
+{
+ return m_mode;
+}
+
+void XsdComplexType::OpenContent::setWildcard(const XsdWildcard::Ptr &wildcard)
+{
+ m_wildcard = wildcard;
+}
+
+XsdWildcard::Ptr XsdComplexType::OpenContent::wildcard() const
+{
+ return m_wildcard;
+}
+
+void XsdComplexType::ContentType::setVariety(Variety variety)
+{
+ m_variety = variety;
+}
+
+XsdComplexType::ContentType::Variety XsdComplexType::ContentType::variety() const
+{
+ return m_variety;
+}
+
+void XsdComplexType::ContentType::setParticle(const XsdParticle::Ptr &particle)
+{
+ m_particle = particle;
+}
+
+XsdParticle::Ptr XsdComplexType::ContentType::particle() const
+{
+ return m_particle;
+}
+
+void XsdComplexType::ContentType::setOpenContent(const OpenContent::Ptr &content)
+{
+ m_openContent = content;
+}
+
+XsdComplexType::OpenContent::Ptr XsdComplexType::ContentType::openContent() const
+{
+ return m_openContent;
+}
+
+void XsdComplexType::ContentType::setSimpleType(const AnySimpleType::Ptr &type)
+{
+ m_simpleType = type;
+}
+
+AnySimpleType::Ptr XsdComplexType::ContentType::simpleType() const
+{
+ return m_simpleType;
+}
+
+
+XsdComplexType::XsdComplexType()
+ : m_isAbstract(false)
+ , m_contentType(new ContentType())
+{
+ m_contentType->setVariety(ContentType::Empty);
+}
+
+void XsdComplexType::setIsAbstract(bool abstract)
+{
+ m_isAbstract = abstract;
+}
+
+bool XsdComplexType::isAbstract() const
+{
+ return m_isAbstract;
+}
+
+QString XsdComplexType::displayName(const NamePool::Ptr &np) const
+{
+ return np->displayName(name(np));
+}
+
+void XsdComplexType::setWxsSuperType(const SchemaType::Ptr &type)
+{
+ m_superType = type;
+}
+
+SchemaType::Ptr XsdComplexType::wxsSuperType() const
+{
+ return m_superType;
+}
+
+void XsdComplexType::setContext(const NamedSchemaComponent::Ptr &component)
+{
+ m_context = component;
+}
+
+NamedSchemaComponent::Ptr XsdComplexType::context() const
+{
+ return m_context;
+}
+
+void XsdComplexType::setContentType(const ContentType::Ptr &type)
+{
+ m_contentType = type;
+}
+
+XsdComplexType::ContentType::Ptr XsdComplexType::contentType() const
+{
+ return m_contentType;
+}
+
+void XsdComplexType::setAttributeUses(const XsdAttributeUse::List &attributeUses)
+{
+ m_attributeUses = attributeUses;
+}
+
+void XsdComplexType::addAttributeUse(const XsdAttributeUse::Ptr &attributeUse)
+{
+ m_attributeUses.append(attributeUse);
+}
+
+XsdAttributeUse::List XsdComplexType::attributeUses() const
+{
+ return m_attributeUses;
+}
+
+void XsdComplexType::setAttributeWildcard(const XsdWildcard::Ptr &wildcard)
+{
+ m_attributeWildcard = wildcard;
+}
+
+XsdWildcard::Ptr XsdComplexType::attributeWildcard() const
+{
+ return m_attributeWildcard;
+}
+
+XsdComplexType::TypeCategory XsdComplexType::category() const
+{
+ return ComplexType;
+}
+
+void XsdComplexType::setDerivationMethod(DerivationMethod method)
+{
+ m_derivationMethod = method;
+}
+
+XsdComplexType::DerivationMethod XsdComplexType::derivationMethod() const
+{
+ return m_derivationMethod;
+}
+
+void XsdComplexType::setProhibitedSubstitutions(const BlockingConstraints &substitutions)
+{
+ m_prohibitedSubstitutions = substitutions;
+}
+
+XsdComplexType::BlockingConstraints XsdComplexType::prohibitedSubstitutions() const
+{
+ return m_prohibitedSubstitutions;
+}
+
+void XsdComplexType::setAssertions(const XsdAssertion::List &assertions)
+{
+ m_assertions = assertions;
+}
+
+void XsdComplexType::addAssertion(const XsdAssertion::Ptr &assertion)
+{
+ m_assertions.append(assertion);
+}
+
+XsdAssertion::List XsdComplexType::assertions() const
+{
+ return m_assertions;
+}
+
+bool XsdComplexType::isDefinedBySchema() const
+{
+ return true;
+}
+
+QT_END_NAMESPACE
diff --git a/src/xmlpatterns/schema/qxsdcomplextype_p.h b/src/xmlpatterns/schema/qxsdcomplextype_p.h
new file mode 100644
index 0000000..ad04f99
--- /dev/null
+++ b/src/xmlpatterns/schema/qxsdcomplextype_p.h
@@ -0,0 +1,404 @@
+/****************************************************************************
+**
+** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtXmlPatterns of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+
+#ifndef Patternist_XsdComplexType_H
+#define Patternist_XsdComplexType_H
+
+#include "qanytype_p.h"
+#include "qxsdassertion_p.h"
+#include "qxsdattributeuse_p.h"
+#include "qxsdparticle_p.h"
+#include "qxsdsimpletype_p.h"
+#include "qxsduserschematype_p.h"
+#include "qxsdwildcard_p.h"
+
+#include <QtCore/QSet>
+
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+namespace QPatternist
+{
+ /**
+ * @short Represents a XSD complexType object.
+ *
+ * This class represents the <em>complexType</em> object of a XML schema as described
+ * <a href="http://www.w3.org/TR/xmlschema11-1/#Complex_Type_Definitions">here</a>.
+ *
+ * It contains information from either a top-level complex type declaration (as child of a <em>schema</em> object)
+ * or a local complex type declaration (as descendant of an <em>element</em> object).
+ *
+ * @see <a href="http://www.w3.org/Submission/2004/SUBM-xmlschema-api-20040309/xml-schema-api.html#Interface-XSComplexType">XML Schema API reference</a>
+ * @ingroup Patternist_schema
+ * @author Tobias Koenig <tobias.koenig@trolltech.com>
+ */
+ class XsdComplexType : public XsdUserSchemaType<AnyType>
+ {
+ public:
+ typedef QExplicitlySharedDataPointer<XsdComplexType> Ptr;
+
+ /**
+ * @short Describes the open content object of a complex type.
+ *
+ * @see <a href="http://www.w3.org/TR/xmlschema11-1/#ct-open_content">Open Content Definition</a>
+ */
+ class OpenContent : public QSharedData, public XsdAnnotated
+ {
+ public:
+ typedef QExplicitlySharedDataPointer<OpenContent> Ptr;
+
+ /**
+ * Describes the mode of the open content.
+ *
+ * @see <a href="http://www.w3.org/TR/xmlschema11-1/#oc-mode">Mode Definition</a>
+ */
+ enum Mode
+ {
+ None,
+ Interleave,
+ Suffix
+ };
+
+ /**
+ * Sets the @p mode of the open content.
+ *
+ * @see <a href="http://www.w3.org/TR/xmlschema11-1/#oc-mode">Mode Definition</a>
+ */
+ void setMode(Mode mode);
+
+ /**
+ * Returns the mode of the open content.
+ */
+ Mode mode() const;
+
+ /**
+ * Sets the @p wildcard of the open content.
+ *
+ * @see <a href="http://www.w3.org/TR/xmlschema11-1/#oc-wildcard">Wildcard Definition</a>
+ */
+ void setWildcard(const XsdWildcard::Ptr &wildcard);
+
+ /**
+ * Returns the wildcard of the open content.
+ */
+ XsdWildcard::Ptr wildcard() const;
+
+ private:
+ Mode m_mode;
+ XsdWildcard::Ptr m_wildcard;
+ };
+
+ /**
+ * @short Describes the content type of a complex type.
+ */
+ class ContentType : public QSharedData
+ {
+ public:
+ typedef QExplicitlySharedDataPointer<ContentType> Ptr;
+
+ /**
+ * Describes the variety of the content type.
+ */
+ enum Variety
+ {
+ Empty = 0, ///< The complex type has no further content.
+ Simple, ///< The complex type has only simple type content (e.g. text, number etc.)
+ ElementOnly, ///< The complex type has further elements or attributes but no text as content.
+ Mixed ///< The complex type has further elements or attributes and text as content.
+ };
+
+ /**
+ * Sets the @p variety of the content type.
+ *
+ * @see <a href="http://www.w3.org/TR/xmlschema11-1/#ct-variety">Variety Definition</a>
+ */
+ void setVariety(Variety variety);
+
+ /**
+ * Returns the variety of the content type.
+ */
+ Variety variety() const;
+
+ /**
+ * Sets the @p particle object of the content type.
+ *
+ * The content type has only a particle object if
+ * its variety is ElementOnly or Mixed.
+ *
+ * @see XsdParticle
+ * @see <a href="http://www.w3.org/TR/xmlschema11-1/#ct-particle">Particle Declaration</a>
+ */
+ void setParticle(const XsdParticle::Ptr &particle);
+
+ /**
+ * Returns the particle object of the content type,
+ * or an empty pointer if its variety is neither
+ * ElementOnly nor Mixed.
+ */
+ XsdParticle::Ptr particle() const;
+
+ /**
+ * Sets the open @p content object of the content type.
+ *
+ * The content type has only an open content object if
+ * its variety is ElementOnly or Mixed.
+ *
+ * @see OpenContent
+ * @see <a href="http://www.w3.org/TR/xmlschema11-1/#ct-open_content">Open Content Declaration</a>
+ */
+ void setOpenContent(const OpenContent::Ptr &content);
+
+ /**
+ * Returns the open content object of the content type,
+ * or an empty pointer if its variety is neither
+ * ElementOnly nor Mixed.
+ */
+ OpenContent::Ptr openContent() const;
+
+ /**
+ * Sets the simple @p type object of the content type.
+ *
+ * The content type has only a simple type object if
+ * its variety is Simple.
+ *
+ * @see <a href="http://www.w3.org/TR/xmlschema11-1/#ct-simple_type_definition">Simple Type Definition</a>
+ */
+ void setSimpleType(const AnySimpleType::Ptr &type);
+
+ /**
+ * Returns the simple type object of the content type,
+ * or an empty pointer if its variety is not Simple.
+ */
+ AnySimpleType::Ptr simpleType() const;
+
+ private:
+ Variety m_variety;
+ XsdParticle::Ptr m_particle;
+ OpenContent::Ptr m_openContent;
+ XsdSimpleType::Ptr m_simpleType;
+ };
+
+
+ /**
+ * Creates a complex type object with empty content.
+ */
+ XsdComplexType();
+
+ /**
+ * Destroys the complex type object.
+ */
+ ~XsdComplexType() {};
+
+ /**
+ * Returns the display name of the complex type.
+ *
+ * The display name can be used to show the type name
+ * to the user.
+ *
+ * @param namePool The name pool where the type name is stored in.
+ */
+ virtual QString displayName(const NamePool::Ptr &namePool) const;
+
+ /**
+ * Sets the base type of the complex type.
+ *
+ * @see <a href="http://www.w3.org/TR/xmlschema11-1/#ctd-base_type_definition">Base Type Definition</a>
+ */
+ void setWxsSuperType(const SchemaType::Ptr &type);
+
+ /**
+ * Returns the base type of the complex type.
+ */
+ virtual SchemaType::Ptr wxsSuperType() const;
+
+ /**
+ * Sets the context @p component of the complex type.
+ *
+ * The component is either an element declaration or a complex type definition.
+ */
+ void setContext(const NamedSchemaComponent::Ptr &component);
+
+ /**
+ * Returns the context component of the complex type.
+ */
+ NamedSchemaComponent::Ptr context() const;
+
+ /**
+ * Sets the derivation @p method of the complex type.
+ *
+ * The derivation method depends on whether the complex
+ * type object has an extension or restriction object as child.
+ *
+ * @see <a href="http://www.w3.org/TR/xmlschema11-1/#ctd-derivation_method">Derivation Method Definition</a>
+ * @see DerivationMethod
+ */
+ void setDerivationMethod(DerivationMethod method);
+
+ /**
+ * Returns the derivation method of the complex type.
+ */
+ virtual DerivationMethod derivationMethod() const;
+
+ /**
+ * Sets whether the complex type is @p abstract.
+ *
+ * @see <a href="http://www.w3.org/TR/xmlschema11-1/#ctd-abstract">Abstract Definition</a>
+ */
+ void setIsAbstract(bool abstract);
+
+ /**
+ * Returns whether the complex type is abstract.
+ */
+ virtual bool isAbstract() const;
+
+ /**
+ * Sets the list of all attribute @p uses of the complex type.
+ *
+ * @see <a href="http://www.w3.org/TR/xmlschema11-1/#ctd-attribute_uses">Attribute Uses Declaration</a>
+ */
+ void setAttributeUses(const XsdAttributeUse::List &uses);
+
+ /**
+ * Adds a new attribute @p use to the complex type.
+ */
+ void addAttributeUse(const XsdAttributeUse::Ptr &use);
+
+ /**
+ * Returns the list of all attribute uses of the complex type.
+ */
+ XsdAttributeUse::List attributeUses() const;
+
+ /**
+ * Sets the attribute @p wildcard of the complex type.
+ *
+ * @see <a href="http://www.w3.org/TR/xmlschema11-1/#ctd-attribute_wildcard">Attribute Wildcard Declaration</a>
+ */
+ void setAttributeWildcard(const XsdWildcard::Ptr &wildcard);
+
+ /**
+ * Returns the attribute wildcard of the complex type.
+ */
+ XsdWildcard::Ptr attributeWildcard() const;
+
+ /**
+ * Always returns SchemaType::ComplexType
+ */
+ virtual TypeCategory category() const;
+
+ /**
+ * Sets the content @p type of the complex type.
+ *
+ * @see ContentType
+ */
+ void setContentType(const ContentType::Ptr &type);
+
+ /**
+ * Returns the content type of the complex type.
+ */
+ ContentType::Ptr contentType() const;
+
+ /**
+ * Sets the prohibited @p substitutions of the complex type.
+ *
+ * Only ExtensionConstraint and RestrictionConstraint are allowed.
+ *
+ * @see <a href="http://www.w3.org/TR/xmlschema11-1/#ctd-prohibited_substitutions">Prohibited Substitutions Definition</a>
+ */
+ void setProhibitedSubstitutions(const BlockingConstraints &substitutions);
+
+ /**
+ * Returns the prohibited substitutions of the complex type.
+ */
+ BlockingConstraints prohibitedSubstitutions() const;
+
+ /**
+ * Sets the @p assertions of the complex type.
+ *
+ * @see <a href="http://www.w3.org/TR/xmlschema11-1/#ctd-assertions">Assertions Definition</a>
+ */
+ void setAssertions(const XsdAssertion::List &assertions);
+
+ /**
+ * Adds an @p assertion to the complex type.
+ *
+ * @see <a href="http://www.w3.org/TR/xmlschema11-1/#ctd-assertions">Assertions Definition</a>
+ */
+ void addAssertion(const XsdAssertion::Ptr &assertion);
+
+ /**
+ * Returns the assertions of the complex type.
+ */
+ XsdAssertion::List assertions() const;
+
+ /**
+ * Always returns @c true.
+ */
+ virtual bool isDefinedBySchema() const;
+
+ private:
+ SchemaType::Ptr m_superType;
+ NamedSchemaComponent::Ptr m_context;
+ DerivationMethod m_derivationMethod;
+ bool m_isAbstract;
+ XsdAttributeUse::List m_attributeUses;
+ XsdWildcard::Ptr m_attributeWildcard;
+ ContentType::Ptr m_contentType;
+ BlockingConstraints m_prohibitedSubstitutions;
+ XsdAssertion::List m_assertions;
+ };
+}
+
+QT_END_NAMESPACE
+
+QT_END_HEADER
+
+#endif
diff --git a/src/xmlpatterns/schema/qxsddocumentation.cpp b/src/xmlpatterns/schema/qxsddocumentation.cpp
new file mode 100644
index 0000000..b3e1682
--- /dev/null
+++ b/src/xmlpatterns/schema/qxsddocumentation.cpp
@@ -0,0 +1,86 @@
+/****************************************************************************
+**
+** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the QtXmlPatterns of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "qxsddocumentation_p.h"
+
+QT_BEGIN_NAMESPACE
+
+using namespace QPatternist;
+
+XsdDocumentation::XsdDocumentation()
+{
+}
+
+XsdDocumentation::~XsdDocumentation()
+{
+}
+
+void XsdDocumentation::setSource(const AnyURI::Ptr &source)
+{
+ m_source = source;
+}
+
+AnyURI::Ptr XsdDocumentation::source() const
+{
+ return m_source;
+}
+
+void XsdDocumentation::setLanguage(const DerivedString<TypeLanguage>::Ptr &language)
+{
+ m_language = language;
+}
+
+DerivedString<TypeLanguage>::Ptr XsdDocumentation::language() const
+{
+ return m_language;
+}
+
+void XsdDocumentation::setContent(const QString &content)
+{
+ m_content = content;
+}
+
+QString XsdDocumentation::content() const
+{
+ return m_content;
+}
+
+QT_END_NAMESPACE
diff --git a/src/xmlpatterns/schema/qxsddocumentation_p.h b/src/xmlpatterns/schema/qxsddocumentation_p.h
new file mode 100644
index 0000000..049ba80
--- /dev/null
+++ b/src/xmlpatterns/schema/qxsddocumentation_p.h
@@ -0,0 +1,137 @@
+/****************************************************************************
+**
+** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtXmlPatterns of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+
+#ifndef Patternist_XsdDocumentation_H
+#define Patternist_XsdDocumentation_H
+
+#include "qanytype_p.h"
+#include "qanyuri_p.h"
+#include "qderivedstring_p.h"
+#include "qnamedschemacomponent_p.h"
+
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+namespace QPatternist
+{
+ /**
+ * @short Represents a XSD documentation object.
+ *
+ * This class represents the <em>documentation</em> component of an <em>annotation</em> object
+ * of a XML schema as described <a href="http://www.w3.org/TR/xmlschema11-1/#cAnnotations">here</a>.
+ *
+ * @ingroup Patternist_schema
+ * @author Tobias Koenig <tobias.koenig@trolltech.com>
+ */
+ class XsdDocumentation : public NamedSchemaComponent
+ {
+ public:
+ typedef QExplicitlySharedDataPointer<XsdDocumentation> Ptr;
+ typedef QList<XsdDocumentation::Ptr> List;
+
+ /**
+ * Creates a new documentation object.
+ */
+ XsdDocumentation();
+
+ /**
+ * Destroys the documentation object.
+ */
+ ~XsdDocumentation();
+
+ /**
+ * Sets the @p source of the documentation.
+ *
+ * The source points to an URL that contains more
+ * information.
+ */
+ void setSource(const AnyURI::Ptr &source);
+
+ /**
+ * Returns the source of the documentation.
+ */
+ AnyURI::Ptr source() const;
+
+ /**
+ * Sets the @p language of the documentation.
+ */
+ void setLanguage(const DerivedString<TypeLanguage>::Ptr &language);
+
+ /**
+ * Returns the language of the documentation.
+ */
+ DerivedString<TypeLanguage>::Ptr language() const;
+
+ /**
+ * Sets the @p content of the documentation.
+ *
+ * The content can be of abritrary type.
+ */
+ void setContent(const QString &content);
+
+ /**
+ * Returns the content of the documentation.
+ */
+ QString content() const;
+
+ private:
+ AnyURI::Ptr m_source;
+ DerivedString<TypeLanguage>::Ptr m_language;
+ QString m_content;
+ };
+}
+
+QT_END_NAMESPACE
+
+QT_END_HEADER
+
+#endif
diff --git a/src/xmlpatterns/schema/qxsdelement.cpp b/src/xmlpatterns/schema/qxsdelement.cpp
new file mode 100644
index 0000000..c907144
--- /dev/null
+++ b/src/xmlpatterns/schema/qxsdelement.cpp
@@ -0,0 +1,244 @@
+/****************************************************************************
+**
+** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the QtXmlPatterns of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "qxsdelement_p.h"
+
+QT_BEGIN_NAMESPACE
+
+using namespace QPatternist;
+
+void XsdElement::Scope::setVariety(Variety variety)
+{
+ m_variety = variety;
+}
+
+XsdElement::Scope::Variety XsdElement::Scope::variety() const
+{
+ return m_variety;
+}
+
+void XsdElement::Scope::setParent(const NamedSchemaComponent::Ptr &parent)
+{
+ m_parent = parent;
+}
+
+NamedSchemaComponent::Ptr XsdElement::Scope::parent() const
+{
+ return m_parent;
+}
+
+void XsdElement::ValueConstraint::setVariety(Variety variety)
+{
+ m_variety = variety;
+}
+
+XsdElement::ValueConstraint::Variety XsdElement::ValueConstraint::variety() const
+{
+ return m_variety;
+}
+
+void XsdElement::ValueConstraint::setValue(const QString &value)
+{
+ m_value = value;
+}
+
+QString XsdElement::ValueConstraint::value() const
+{
+ return m_value;
+}
+
+void XsdElement::ValueConstraint::setLexicalForm(const QString &form)
+{
+ m_lexicalForm = form;
+}
+
+QString XsdElement::ValueConstraint::lexicalForm() const
+{
+ return m_lexicalForm;
+}
+
+void XsdElement::TypeTable::addAlternative(const XsdAlternative::Ptr &alternative)
+{
+ m_alternatives.append(alternative);
+}
+
+XsdAlternative::List XsdElement::TypeTable::alternatives() const
+{
+ return m_alternatives;
+}
+
+void XsdElement::TypeTable::setDefaultTypeDefinition(const XsdAlternative::Ptr &type)
+{
+ m_defaultTypeDefinition = type;
+}
+
+XsdAlternative::Ptr XsdElement::TypeTable::defaultTypeDefinition() const
+{
+ return m_defaultTypeDefinition;
+}
+
+
+XsdElement::XsdElement()
+ : m_isAbstract(false)
+{
+}
+
+bool XsdElement::isElement() const
+{
+ return true;
+}
+
+void XsdElement::setType(const SchemaType::Ptr &type)
+{
+ m_type = type;
+}
+
+SchemaType::Ptr XsdElement::type() const
+{
+ return m_type;
+}
+
+void XsdElement::setScope(const Scope::Ptr &scope)
+{
+ m_scope = scope;
+}
+
+XsdElement::Scope::Ptr XsdElement::scope() const
+{
+ return m_scope;
+}
+
+void XsdElement::setValueConstraint(const ValueConstraint::Ptr &constraint)
+{
+ m_valueConstraint = constraint;
+}
+
+XsdElement::ValueConstraint::Ptr XsdElement::valueConstraint() const
+{
+ return m_valueConstraint;
+}
+
+void XsdElement::setTypeTable(const TypeTable::Ptr &table)
+{
+ m_typeTable = table;
+}
+
+XsdElement::TypeTable::Ptr XsdElement::typeTable() const
+{
+ return m_typeTable;
+}
+
+void XsdElement::setIsAbstract(bool abstract)
+{
+ m_isAbstract = abstract;
+}
+
+bool XsdElement::isAbstract() const
+{
+ return m_isAbstract;
+}
+
+void XsdElement::setIsNillable(bool nillable)
+{
+ m_isNillable = nillable;
+}
+
+bool XsdElement::isNillable() const
+{
+ return m_isNillable;
+}
+
+void XsdElement::setDisallowedSubstitutions(const BlockingConstraints &substitutions)
+{
+ m_disallowedSubstitutions = substitutions;
+}
+
+XsdElement::BlockingConstraints XsdElement::disallowedSubstitutions() const
+{
+ return m_disallowedSubstitutions;
+}
+
+void XsdElement::setSubstitutionGroupExclusions(const SchemaType::DerivationConstraints &exclusions)
+{
+ m_substitutionGroupExclusions = exclusions;
+}
+
+SchemaType::DerivationConstraints XsdElement::substitutionGroupExclusions() const
+{
+ return m_substitutionGroupExclusions;
+}
+
+void XsdElement::setIdentityConstraints(const XsdIdentityConstraint::List &constraints)
+{
+ m_identityConstraints = constraints;
+}
+
+void XsdElement::addIdentityConstraint(const XsdIdentityConstraint::Ptr &constraint)
+{
+ m_identityConstraints.append(constraint);
+}
+
+XsdIdentityConstraint::List XsdElement::identityConstraints() const
+{
+ return m_identityConstraints;
+}
+
+void XsdElement::setSubstitutionGroupAffiliations(const XsdElement::List &affiliations)
+{
+ m_substitutionGroupAffiliations = affiliations;
+}
+
+XsdElement::List XsdElement::substitutionGroupAffiliations() const
+{
+ return m_substitutionGroupAffiliations;
+}
+
+void XsdElement::addSubstitutionGroup(const XsdElement::Ptr &element)
+{
+ m_substitutionGroups.insert(element);
+}
+
+XsdElement::List XsdElement::substitutionGroups() const
+{
+ return m_substitutionGroups.toList();
+}
+
+QT_END_NAMESPACE
diff --git a/src/xmlpatterns/schema/qxsdelement_p.h b/src/xmlpatterns/schema/qxsdelement_p.h
new file mode 100644
index 0000000..304e888
--- /dev/null
+++ b/src/xmlpatterns/schema/qxsdelement_p.h
@@ -0,0 +1,403 @@
+/****************************************************************************
+**
+** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtXmlPatterns of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+
+#ifndef Patternist_XsdElement_H
+#define Patternist_XsdElement_H
+
+#include "qschemacomponent_p.h"
+#include "qschematype_p.h"
+#include "qxsdalternative_p.h"
+#include "qxsdidentityconstraint_p.h"
+#include "qxsdcomplextype_p.h"
+
+#include <QtCore/QList>
+#include <QtCore/QSet>
+
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+namespace QPatternist
+{
+ /**
+ * @short Represents a XSD element object.
+ *
+ * This class represents the <em>element</em> object of a XML schema as described
+ * <a href="http://www.w3.org/TR/xmlschema11-1/#cElement_Declarations">here</a>.
+ *
+ * It contains information from either a top-level element declaration (as child of a <em>schema</em> object)
+ * or a local element declaration (as descendant of an <em>complexType</em> object).
+ *
+ * @see <a href="http://www.w3.org/Submission/2004/SUBM-xmlschema-api-20040309/xml-schema-api.html#Interface-XSElementDecl">XML Schema API reference</a>
+ * @ingroup Patternist_schema
+ * @author Tobias Koenig <tobias.koenig@trolltech.com>
+ */
+ class XsdElement : public XsdTerm
+ {
+ public:
+ typedef QExplicitlySharedDataPointer<XsdElement> Ptr;
+ typedef QList<XsdElement::Ptr> List;
+
+
+ /**
+ * Describes the <a href="http://www.w3.org/TR/xmlschema11-1/#ed-value_constraint">constraint type</a> of the element.
+ */
+ enum ConstraintType
+ {
+ NoneConstraint, ///< The value of the element has no constraints.
+ DefaultConstraint, ///< The element has a default value set.
+ FixedConstraint ///< The element has a fixed value set.
+ };
+
+ /**
+ * Describes the scope of an element.
+ *
+ * @see <a href="http://www.w3.org/TR/xmlschema11-1/#sc_e">Scope Definition</a>
+ */
+ class Scope : public QSharedData
+ {
+ public:
+ typedef QExplicitlySharedDataPointer<Scope> Ptr;
+
+ /**
+ * Describes the <a href="http://www.w3.org/TR/xmlschema11-1/#ad-scope">scope</a> of an attribute.
+ */
+ enum Variety
+ {
+ Global, ///< The element is defined globally as child of the <em>schema</em> object.
+ Local ///< The element is defined locally as child of a complex type or model group definition.
+ };
+
+ /**
+ * Sets the @p variety of the element scope.
+ */
+ void setVariety(Variety variety);
+
+ /**
+ * Returns the variety of the element scope.
+ */
+ Variety variety() const;
+
+ /**
+ * Sets the @p parent complex type or model group definition of the element scope.
+ */
+ void setParent(const NamedSchemaComponent::Ptr &parent);
+
+ /**
+ * Returns the parent complex type or model group definition of the element scope.
+ */
+ NamedSchemaComponent::Ptr parent() const;
+
+ private:
+ Variety m_variety;
+ NamedSchemaComponent::Ptr m_parent;
+ };
+
+ /**
+ * Describes a type table of an element.
+ *
+ * @see <a href="http://www.w3.org/TR/xmlschema11-1/#tt">Type Table Definition</a>
+ */
+ class TypeTable : public QSharedData
+ {
+ public:
+ typedef QExplicitlySharedDataPointer<TypeTable> Ptr;
+
+ /**
+ * Adds an @p alternative to the type table.
+ */
+ void addAlternative(const XsdAlternative::Ptr &alternative);
+
+ /**
+ * Returns the alternatives of the type table.
+ */
+ XsdAlternative::List alternatives() const;
+
+ /**
+ * Sets the default @p type definition.
+ */
+ void setDefaultTypeDefinition(const XsdAlternative::Ptr &type);
+
+ /**
+ * Returns the default type definition.
+ */
+ XsdAlternative::Ptr defaultTypeDefinition() const;
+
+ private:
+ XsdAlternative::List m_alternatives;
+ XsdAlternative::Ptr m_defaultTypeDefinition;
+ };
+
+
+ /**
+ * Describes the value constraint of an element.
+ *
+ * @see <a href="http://www.w3.org/TR/xmlschema11-1/#vc_e">Value Constraint Definition</a>
+ */
+ class ValueConstraint : public QSharedData
+ {
+ public:
+ typedef QExplicitlySharedDataPointer<ValueConstraint> Ptr;
+
+ /**
+ * Describes the <a href="http://www.w3.org/TR/xmlschema11-1/#ed-value_constraint">value constraint</a> of an element.
+ */
+ enum Variety
+ {
+ Default, ///< The element has a default value set.
+ Fixed ///< The element has a fixed value set.
+ };
+
+ /**
+ * Sets the @p variety of the element value constraint.
+ */
+ void setVariety(Variety variety);
+
+ /**
+ * Returns the variety of the element value constraint.
+ */
+ Variety variety() const;
+
+ /**
+ * Sets the @p value of the constraint.
+ */
+ void setValue(const QString &value);
+
+ /**
+ * Returns the value of the constraint.
+ */
+ QString value() const;
+
+ /**
+ * Sets the lexical @p form of the constraint.
+ */
+ void setLexicalForm(const QString &form);
+
+ /**
+ * Returns the lexical form of the constraint.
+ */
+ QString lexicalForm() const;
+
+ private:
+ Variety m_variety;
+ QString m_value;
+ QString m_lexicalForm;
+ };
+
+ /**
+ * Creates a new element object.
+ */
+ XsdElement();
+
+ /**
+ * Always returns @c true, used to avoid dynamic casts.
+ */
+ virtual bool isElement() const;
+
+ /**
+ * Sets the @p type of the element.
+ *
+ * @see <a href="http://www.w3.org/TR/xmlschema11-1/#ed-type_definition">Type Definition</a>
+ */
+ void setType(const SchemaType::Ptr &type);
+
+ /**
+ * Returns the type of the element.
+ */
+ SchemaType::Ptr type() const;
+
+ /**
+ * Sets the @p scope of the element.
+ *
+ * @see <a href="http://www.w3.org/TR/xmlschema11-1/#ed-scope">Scope Definition</a>
+ */
+ void setScope(const Scope::Ptr &scope);
+
+ /**
+ * Returns the scope of the element.
+ */
+ Scope::Ptr scope() const;
+
+ /**
+ * Sets the value @p constraint of the element.
+ *
+ * @see <a href="http://www.w3.org/TR/xmlschema11-1/#ed-value_constraint">Value Constraint Definition</a>
+ */
+ void setValueConstraint(const ValueConstraint::Ptr &constraint);
+
+ /**
+ * Returns the value constraint of the element.
+ */
+ ValueConstraint::Ptr valueConstraint() const;
+
+ /**
+ * Sets the type table of the element.
+ *
+ * @see <a href="http://www.w3.org/TR/xmlschema11-1/#ed-type_table">Type Table Definition</a>
+ */
+ void setTypeTable(const TypeTable::Ptr &table);
+
+ /**
+ * Returns the type table of the element.
+ */
+ TypeTable::Ptr typeTable() const;
+
+ /**
+ * Sets whether the element is @p abstract.
+ *
+ * @see <a href="http://www.w3.org/TR/xmlschema11-1/#ed-abstract">Abstract Definition</a>
+ */
+ void setIsAbstract(bool abstract);
+
+ /**
+ * Returns whether the element is abstract.
+ */
+ bool isAbstract() const;
+
+ /**
+ * Sets whether the element is @p nillable.
+ *
+ * @see <a href="http://www.w3.org/TR/xmlschema11-1/#ed-nillable">Nillable Definition</a>
+ */
+ void setIsNillable(bool nillable);
+
+ /**
+ * Returns whether the element is nillable.
+ */
+ bool isNillable() const;
+
+ /**
+ * Sets the disallowed @p substitutions of the element.
+ *
+ * Only ExtensionConstraint, RestrictionConstraint and SubstitutionConstraint are allowed.
+ *
+ * @see <a href="http://www.w3.org/TR/xmlschema11-1/#ed-disallowed_substitutions">Disallowed Substitutions Definition</a>
+ */
+ void setDisallowedSubstitutions(const BlockingConstraints &substitutions);
+
+ /**
+ * Returns the disallowed substitutions of the element.
+ */
+ BlockingConstraints disallowedSubstitutions() const;
+
+ /**
+ * Sets the substitution group @p exclusions of the element.
+ *
+ * Only SchemaType::ExtensionConstraint and SchemaType::RestrictionConstraint are allowed.
+ *
+ * @see <a href="http://www.w3.org/TR/xmlschema11-1/#ed-substitution_group_exclusions">Substitution Group Exclusions Definition</a>
+ */
+ void setSubstitutionGroupExclusions(const SchemaType::DerivationConstraints &exclusions);
+
+ /**
+ * Returns the substitution group exclusions of the element.
+ */
+ SchemaType::DerivationConstraints substitutionGroupExclusions() const;
+
+ /**
+ * Sets the identity @p constraints of the element.
+ *
+ * @see <a href="http://www.w3.org/TR/xmlschema11-1/#ed-identity-constraint_definitions">Identity Constraint Definition</a>
+ */
+ void setIdentityConstraints(const XsdIdentityConstraint::List &constraints);
+
+ /**
+ * Adds a new identity @p constraint to the element.
+ */
+ void addIdentityConstraint(const XsdIdentityConstraint::Ptr &constraint);
+
+ /**
+ * Returns a list of all identity constraints of the element.
+ */
+ XsdIdentityConstraint::List identityConstraints() const;
+
+ /**
+ * Sets the substitution group @p affiliations of the element.
+ *
+ * @see <a href="http://www.w3.org/TR/xmlschema11-1/#ed-substituion_group_affiliations">Substitution Group Affiliations</a>
+ */
+ void setSubstitutionGroupAffiliations(const XsdElement::List &affiliations);
+
+ /**
+ * Returns the substitution group affiliations of the element.
+ */
+ XsdElement::List substitutionGroupAffiliations() const;
+
+ /**
+ * Adds a substitution group to the element.
+ */
+ void addSubstitutionGroup(const XsdElement::Ptr &elements);
+
+ /**
+ * Returns the substitution groups of the element.
+ */
+ XsdElement::List substitutionGroups() const;
+
+ private:
+ SchemaType::Ptr m_type;
+ Scope::Ptr m_scope;
+ ValueConstraint::Ptr m_valueConstraint;
+ TypeTable::Ptr m_typeTable;
+ bool m_isAbstract;
+ bool m_isNillable;
+ BlockingConstraints m_disallowedSubstitutions;
+ SchemaType::DerivationConstraints m_substitutionGroupExclusions;
+ XsdIdentityConstraint::List m_identityConstraints;
+ XsdElement::List m_substitutionGroupAffiliations;
+ QSet<XsdElement::Ptr> m_substitutionGroups;
+ };
+}
+
+QT_END_NAMESPACE
+
+QT_END_HEADER
+
+#endif
diff --git a/src/xmlpatterns/schema/qxsdfacet.cpp b/src/xmlpatterns/schema/qxsdfacet.cpp
new file mode 100644
index 0000000..7bbbc9d
--- /dev/null
+++ b/src/xmlpatterns/schema/qxsdfacet.cpp
@@ -0,0 +1,124 @@
+/****************************************************************************
+**
+** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the QtXmlPatterns of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "qxsdfacet_p.h"
+
+QT_BEGIN_NAMESPACE
+
+using namespace QPatternist;
+
+XsdFacet::XsdFacet()
+ : m_type(None)
+{
+}
+
+void XsdFacet::setType(Type type)
+{
+ m_type = type;
+}
+
+XsdFacet::Type XsdFacet::type() const
+{
+ return m_type;
+}
+
+void XsdFacet::setValue(const AtomicValue::Ptr &value)
+{
+ m_value = value;
+}
+
+AtomicValue::Ptr XsdFacet::value() const
+{
+ return m_value;
+}
+
+void XsdFacet::setMultiValue(const AtomicValue::List &value)
+{
+ m_multiValue = value;
+}
+
+AtomicValue::List XsdFacet::multiValue() const
+{
+ return m_multiValue;
+}
+
+void XsdFacet::setAssertions(const XsdAssertion::List &assertions)
+{
+ m_assertions = assertions;
+}
+
+XsdAssertion::List XsdFacet::assertions() const
+{
+ return m_assertions;
+}
+
+void XsdFacet::setFixed(bool fixed)
+{
+ m_fixed = fixed;
+}
+
+bool XsdFacet::fixed() const
+{
+ return m_fixed;
+}
+
+QString XsdFacet::typeName(Type type)
+{
+ switch (type) {
+ case Length: return QLatin1String("length"); break;
+ case MinimumLength: return QLatin1String("minLength"); break;
+ case MaximumLength: return QLatin1String("maxLength"); break;
+ case Pattern: return QLatin1String("pattern"); break;
+ case WhiteSpace: return QLatin1String("whiteSpace"); break;
+ case MaximumInclusive: return QLatin1String("maxInclusive"); break;
+ case MaximumExclusive: return QLatin1String("maxExclusive"); break;
+ case MinimumInclusive: return QLatin1String("minInclusive"); break;
+ case MinimumExclusive: return QLatin1String("minExclusive"); break;
+ case TotalDigits: return QLatin1String("totalDigits"); break;
+ case FractionDigits: return QLatin1String("fractionDigits"); break;
+ case Enumeration: return QLatin1String("enumeration"); break;
+ case Assertion: return QLatin1String("assertion"); break;
+ case None: // fall through
+ default: return QLatin1String("none"); break;
+ }
+}
+
+QT_END_NAMESPACE
diff --git a/src/xmlpatterns/schema/qxsdfacet_p.h b/src/xmlpatterns/schema/qxsdfacet_p.h
new file mode 100644
index 0000000..5d16b4e
--- /dev/null
+++ b/src/xmlpatterns/schema/qxsdfacet_p.h
@@ -0,0 +1,213 @@
+/****************************************************************************
+**
+** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtXmlPatterns of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+
+#ifndef Patternist_XsdFacet_H
+#define Patternist_XsdFacet_H
+
+#include "qitem_p.h"
+#include "qnamedschemacomponent_p.h"
+#include "qxsdannotated_p.h"
+#include "qxsdassertion_p.h"
+
+#include <QtCore/QList>
+
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+namespace QPatternist
+{
+ /**
+ * @short Represents a XSD facet object.
+ *
+ * This class represents one of the following XML schema objects:
+ *
+ * <ul>
+ * <li><em>length</em> <a href="http://www.w3.org/TR/xmlschema-2/#rf-length">Definition</a></li>
+ * <li><em>minLength</em> <a href="http://www.w3.org/TR/xmlschema-2/#rf-minLength">Definition</a></li>
+ * <li><em>maxLength</em> <a href="http://www.w3.org/TR/xmlschema-2/#rf-maxLength">Definition</a></li>
+ * <li><em>pattern</em> <a href="http://www.w3.org/TR/xmlschema-2/#rf-pattern">Definition</a></li>
+ * <li><em>whiteSpace</em> <a href="http://www.w3.org/TR/xmlschema-2/#rf-whiteSpace">Definition</a></li>
+ * <li><em>maxInclusive</em> <a href="http://www.w3.org/TR/xmlschema-2/#rf-maxInclusive">Definition</a></li>
+ * <li><em>maxExclusive</em> <a href="http://www.w3.org/TR/xmlschema-2/#rf-maxExclusive">Definition</a></li>
+ * <li><em>minInclusive</em> <a href="http://www.w3.org/TR/xmlschema-2/#rf-minInclusive">Definition</a></li>
+ * <li><em>minExclusive</em> <a href="http://www.w3.org/TR/xmlschema-2/#rf-minExclusive">Definition</a></li>
+ * <li><em>totalDigits</em> <a href="http://www.w3.org/TR/xmlschema-2/#rf-totalDigits">Definition</a></li>
+ * <li><em>fractionDigits</em> <a href="http://www.w3.org/TR/xmlschema-2/#rf-fractionDigits">Definition</a></li>
+ * <li><em>enumeration</em> <a href="http://www.w3.org/TR/xmlschema-2/#rf-enumeration">Definition</a></li>
+ * <li><em>assertion</em> <a href="http://www.w3.org/TR/xmlschema-2/#rf-assertion">Definition</a></li>
+ * </ul>
+ *
+ * @see <a href="http://www.w3.org/Submission/2004/SUBM-xmlschema-api-20040309/xml-schema-api.html#Interface-XSFacet">XML Schema API reference</a>
+ * @ingroup Patternist_schema
+ * @author Tobias Koenig <tobias.koenig@trolltech.com>
+ */
+ class XsdFacet : public NamedSchemaComponent, public XsdAnnotated
+ {
+ public:
+ typedef QExplicitlySharedDataPointer<XsdFacet> Ptr;
+
+ /**
+ * Describes the type of the facet.
+ */
+ enum Type
+ {
+ None = 0, ///< An invalid facet.
+ Length = 1 << 0, ///< Match the exact length (<a href="http://www.w3.org/TR/xmlschema-2/#rf-length">Length Definition</a>)
+ MinimumLength = 1 << 1, ///< Match the minimum length (<a href="http://www.w3.org/TR/xmlschema-2/#rf-minLength">Minimum Length Definition</a>)
+ MaximumLength = 1 << 2, ///< Match the maximum length (<a href="http://www.w3.org/TR/xmlschema-2/#rf-maxLength">Maximum Length Definition</a>)
+ Pattern = 1 << 3, ///< Match a regular expression (<a href="http://www.w3.org/TR/xmlschema-2/#rf-pattern">Pattern Definition</a>)
+ WhiteSpace = 1 << 4, ///< Match a whitespace rule (<a href="http://www.w3.org/TR/xmlschema-2/#rf-whiteSpace">White Space Definition</a>)
+ MaximumInclusive = 1 << 5, ///< Match a maximum inclusive (<a href="http://www.w3.org/TR/xmlschema-2/#rf-maxInclusive">Maximum Inclusive Definition</a>)
+ MaximumExclusive = 1 << 6, ///< Match a maximum exclusive (<a href="http://www.w3.org/TR/xmlschema-2/#rf-maxExclusive">Maximum Exclusive Definition</a>)
+ MinimumInclusive = 1 << 7, ///< Match a minimum inclusive (<a href="http://www.w3.org/TR/xmlschema-2/#rf-minInclusive">Minimum Inclusive Definition</a>)
+ MinimumExclusive = 1 << 8, ///< Match a minimum exclusive (<a href="http://www.w3.org/TR/xmlschema-2/#rf-minExclusive">Minimum Exclusive Definition</a>)
+ TotalDigits = 1 << 9, ///< Match some integer digits (<a href="http://www.w3.org/TR/xmlschema-2/#rf-totalDigits">Total Digits Definition</a>)
+ FractionDigits = 1 << 10, ///< Match some double digits (<a href="http://www.w3.org/TR/xmlschema-2/#rf-fractionDigits">Fraction Digits Definition</a>)
+ Enumeration = 1 << 11, ///< Match an enumeration (<a href="http://www.w3.org/TR/xmlschema-2/#rf-enumeration">Enumeration Definition</a>)
+ Assertion = 1 << 12, ///< Match an assertion (<a href="http://www.w3.org/TR/xmlschema-2/#rf-assertion">Assertion Definition</a>)
+ };
+ typedef QHash<XsdFacet::Type, XsdFacet::Ptr> Hash;
+ typedef QHashIterator<XsdFacet::Type, XsdFacet::Ptr> HashIterator;
+
+ /**
+ * Creates a new facet object of type None.
+ */
+ XsdFacet();
+
+ /**
+ * Sets the @p type of the facet.
+ *
+ * @see Type
+ */
+ void setType(Type type);
+
+ /**
+ * Returns the type of the facet.
+ */
+ Type type() const;
+
+ /**
+ * Sets the @p value of the facet.
+ *
+ * Depending on the type of the facet the
+ * value can be a string, interger, double etc.
+ *
+ * @note This method should be used for all types of facets
+ * except Pattern, Enumeration and Assertion.
+ */
+ void setValue(const AtomicValue::Ptr &value);
+
+ /**
+ * Returns the value of the facet or an empty pointer if facet
+ * type is Pattern, Enumeration or Assertion.
+ */
+ AtomicValue::Ptr value() const;
+
+ /**
+ * Sets the @p value of the facet.
+ *
+ * @note This method should be used for if the type of the
+ * facet is Pattern or Enumeration.
+ */
+ void setMultiValue(const AtomicValue::List &value);
+
+ /**
+ * Returns the value of the facet or an empty pointer if facet
+ * type is not of type Pattern or Enumeration.
+ */
+ AtomicValue::List multiValue() const;
+
+ /**
+ * Sets the @p assertions of the facet.
+ *
+ * @note This method should be used if the type of the
+ * facet is Assertion.
+ */
+ void setAssertions(const XsdAssertion::List &assertions);
+
+ /**
+ * Returns the assertions of the facet or an empty pointer if facet
+ * type is not of type Assertion.
+ */
+ XsdAssertion::List assertions() const;
+
+ /**
+ * Sets whether the facet is @p fixed.
+ *
+ * All facets except pattern, enumeration and assertion can be fixed.
+ */
+ void setFixed(bool fixed);
+
+ /**
+ * Returns whether the facet is fixed.
+ */
+ bool fixed() const;
+
+ /**
+ * Returns the textual description of the facet @p type.
+ */
+ static QString typeName(Type type);
+
+ private:
+ Type m_type;
+ AtomicValue::Ptr m_value;
+ AtomicValue::List m_multiValue;
+ XsdAssertion::List m_assertions;
+ bool m_fixed;
+ };
+}
+
+QT_END_NAMESPACE
+
+QT_END_HEADER
+
+#endif
diff --git a/src/xmlpatterns/schema/qxsdidcache.cpp b/src/xmlpatterns/schema/qxsdidcache.cpp
new file mode 100644
index 0000000..25788c8
--- /dev/null
+++ b/src/xmlpatterns/schema/qxsdidcache.cpp
@@ -0,0 +1,66 @@
+/****************************************************************************
+**
+** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the QtXmlPatterns of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "qxsdidcache_p.h"
+
+#include <QtCore/QReadLocker>
+#include <QtCore/QWriteLocker>
+
+QT_BEGIN_NAMESPACE
+
+using namespace QPatternist;
+
+void XsdIdCache::addId(const QString &id)
+{
+ const QWriteLocker locker(&m_lock);
+ Q_ASSERT(!m_ids.contains(id));
+
+ m_ids.insert(id);
+}
+
+bool XsdIdCache::hasId(const QString &id) const
+{
+ const QReadLocker locker(&m_lock);
+
+ return m_ids.contains(id);
+}
+
+QT_END_NAMESPACE
diff --git a/src/xmlpatterns/schema/qxsdidcache_p.h b/src/xmlpatterns/schema/qxsdidcache_p.h
new file mode 100644
index 0000000..dae967e
--- /dev/null
+++ b/src/xmlpatterns/schema/qxsdidcache_p.h
@@ -0,0 +1,99 @@
+/****************************************************************************
+**
+** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtXmlPatterns of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+
+#ifndef Patternist_XsdIdCache_H
+#define Patternist_XsdIdCache_H
+
+#include "qschemacomponent_p.h"
+
+#include <QtCore/QExplicitlySharedDataPointer>
+#include <QtCore/QReadWriteLock>
+#include <QtCore/QSet>
+#include <QtCore/QString>
+
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+namespace QPatternist
+{
+ /**
+ * @short Helper class for keeping track of all existing IDs in a schema.
+ *
+ * @ingroup Patternist_schema
+ * @author Tobias Koenig <tobias.koenig@trolltech.com>
+ */
+ class XsdIdCache : public QSharedData
+ {
+ public:
+ typedef QExplicitlySharedDataPointer<XsdIdCache> Ptr;
+
+ /**
+ * Adds an @p id to the id cache.
+ */
+ void addId(const QString &id);
+
+ /**
+ * Returns whether the id cache contains the given @p id already.
+ */
+ bool hasId(const QString &id) const;
+
+ private:
+ QSet<QString> m_ids;
+ mutable QReadWriteLock m_lock;
+ };
+}
+
+QT_END_NAMESPACE
+
+QT_END_HEADER
+
+#endif
diff --git a/src/xmlpatterns/schema/qxsdidchelper.cpp b/src/xmlpatterns/schema/qxsdidchelper.cpp
new file mode 100644
index 0000000..a7fa00d
--- /dev/null
+++ b/src/xmlpatterns/schema/qxsdidchelper.cpp
@@ -0,0 +1,137 @@
+/****************************************************************************
+**
+** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the QtXmlPatterns of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "qxsdidchelper_p.h"
+
+#include "qderivedstring_p.h"
+#include "qxsdschemahelper_p.h"
+
+QT_BEGIN_NAMESPACE
+
+using namespace QPatternist;
+
+FieldNode::FieldNode()
+{
+}
+
+FieldNode::FieldNode(const QXmlItem &item, const QString &data, const SchemaType::Ptr &type)
+ : m_item(item)
+ , m_data(data)
+ , m_type(type)
+{
+}
+
+bool FieldNode::isEmpty() const
+{
+ return m_item.isNull();
+}
+
+bool FieldNode::isEqualTo(const FieldNode &other, const NamePool::Ptr &namePool, const ReportContext::Ptr &context, const SourceLocationReflection *const reflection) const
+{
+ if (m_type != other.m_type)
+ return false;
+
+ const DerivedString<TypeString>::Ptr string = DerivedString<TypeString>::fromLexical(namePool, m_data);
+ const DerivedString<TypeString>::Ptr otherString = DerivedString<TypeString>::fromLexical(namePool, other.m_data);
+
+ return XsdSchemaHelper::constructAndCompare(string, AtomicComparator::OperatorEqual, otherString, m_type, context, reflection);
+}
+
+QXmlItem FieldNode::item() const
+{
+ return m_item;
+}
+
+TargetNode::TargetNode(const QXmlItem &item)
+ : m_item(item)
+{
+}
+
+QXmlItem TargetNode::item() const
+{
+ return m_item;
+}
+
+QVector<QXmlItem> TargetNode::fieldItems() const
+{
+ QVector<QXmlItem> items;
+
+ for (int i = 0; i < m_fields.count(); ++i)
+ items.append(m_fields.at(i).item());
+
+ return items;
+}
+
+int TargetNode::emptyFieldsCount() const
+{
+ int counter = 0;
+ for (int i = 0; i < m_fields.count(); ++i) {
+ if (m_fields.at(i).isEmpty())
+ ++counter;
+ }
+
+ return counter;
+}
+
+bool TargetNode::fieldsAreEqual(const TargetNode &other, const NamePool::Ptr &namePool, const ReportContext::Ptr &context, const SourceLocationReflection *const reflection) const
+{
+ if (m_fields.count() != other.m_fields.count())
+ return false;
+
+ for (int i = 0; i < m_fields.count(); ++i) {
+ if (!m_fields.at(i).isEqualTo(other.m_fields.at(i), namePool, context, reflection))
+ return false;
+ }
+
+ return true;
+}
+
+void TargetNode::addField(const QXmlItem &item, const QString &data, const SchemaType::Ptr &type)
+{
+ m_fields.append(FieldNode(item, data, type));
+}
+
+bool TargetNode::operator==(const TargetNode &other) const
+{
+ return (m_item.toNodeModelIndex() == other.m_item.toNodeModelIndex());
+}
+
+QT_END_NAMESPACE
diff --git a/src/xmlpatterns/schema/qxsdidchelper_p.h b/src/xmlpatterns/schema/qxsdidchelper_p.h
new file mode 100644
index 0000000..ee593b8
--- /dev/null
+++ b/src/xmlpatterns/schema/qxsdidchelper_p.h
@@ -0,0 +1,186 @@
+/****************************************************************************
+**
+** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtXmlPatterns of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+
+#ifndef Patternist_XsdIdcHelper_H
+#define Patternist_XsdIdcHelper_H
+
+#include "qreportcontext_p.h"
+#include "qschematype_p.h"
+
+#include <QtXmlPatterns/QXmlItem>
+
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+namespace QPatternist
+{
+
+ /**
+ * @short A helper class for validating identity constraints.
+ *
+ * This class represents a field node from the key-sequence as defined in
+ * the validation rules at http://www.w3.org/TR/xmlschema11-1/#d0e32243.
+ */
+ class FieldNode
+ {
+ public:
+ /**
+ * Creates an empty field node.
+ */
+ FieldNode();
+
+ /**
+ * Creates a field node that is bound to a xml node.
+ *
+ * @param item The xml node the field is bound to.
+ * @param data The string content of that field.
+ * @param type The type that is bound to that field.
+ */
+ FieldNode(const QXmlItem &item, const QString &data, const SchemaType::Ptr &type);
+
+ /**
+ * Returns whether this field is empty.
+ *
+ * A field can be empty, if the xpath expression selects an absent attribute
+ * or element.
+ */
+ bool isEmpty() const;
+
+ /**
+ * Returns whether this field is equal to the @p other field.
+ *
+ * Equal means that both have the same type and there content is equal in the
+ * types value space.
+ */
+ bool isEqualTo(const FieldNode &other, const NamePool::Ptr &namePool, const ReportContext::Ptr &context, const SourceLocationReflection *const reflection) const;
+
+ /**
+ * Returns the xml node item the field is bound to.
+ */
+ QXmlItem item() const;
+
+ private:
+ QXmlItem m_item;
+ QString m_data;
+ SchemaType::Ptr m_type;
+ };
+
+ /**
+ * @short A helper class for validating identity constraints.
+ *
+ * This class represents a target or qualified node from the target or qualified
+ * node set as defined in the validation rules at http://www.w3.org/TR/xmlschema11-1/#d0e32243.
+ *
+ * A target node is part of the qualified node set, if all of its fields are not empty.
+ */
+ class TargetNode
+ {
+ public:
+ /**
+ * Defines a set of target nodes.
+ */
+ typedef QSet<TargetNode> Set;
+
+ /**
+ * Creates a new target node that is bound to the xml node @p item.
+ */
+ explicit TargetNode(const QXmlItem &item);
+
+ /**
+ * Returns the xml node item the target node is bound to.
+ */
+ QXmlItem item() const;
+
+ /**
+ * Returns all xml node items, the fields of that target node are bound to.
+ */
+ QVector<QXmlItem> fieldItems() const;
+
+ /**
+ * Returns the number of fields that are empty.
+ */
+ int emptyFieldsCount() const;
+
+ /**
+ * Returns whether the target node has the same fields as the @p other target node.
+ */
+ bool fieldsAreEqual(const TargetNode &other, const NamePool::Ptr &namePool, const ReportContext::Ptr &context, const SourceLocationReflection *const reflection) const;
+
+ /**
+ * Adds a new field to the target node with the given values.
+ */
+ void addField(const QXmlItem &item, const QString &data, const SchemaType::Ptr &type);
+
+ /**
+ * Returns whether the target node is equal to the @p other target node.
+ */
+ bool operator==(const TargetNode &other) const;
+
+ private:
+ QXmlItem m_item;
+ QVector<FieldNode> m_fields;
+ };
+
+ /**
+ * Creates a hash value for the given target @p node.
+ */
+ inline uint qHash(const QPatternist::TargetNode &node)
+ {
+ return qHash(node.item().toNodeModelIndex());
+ }
+}
+
+QT_END_NAMESPACE
+
+QT_END_HEADER
+
+#endif
diff --git a/src/xmlpatterns/schema/qxsdidentityconstraint.cpp b/src/xmlpatterns/schema/qxsdidentityconstraint.cpp
new file mode 100644
index 0000000..9d0207c
--- /dev/null
+++ b/src/xmlpatterns/schema/qxsdidentityconstraint.cpp
@@ -0,0 +1,93 @@
+/****************************************************************************
+**
+** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the QtXmlPatterns of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "qxsdidentityconstraint_p.h"
+
+QT_BEGIN_NAMESPACE
+
+using namespace QPatternist;
+
+void XsdIdentityConstraint::setCategory(Category category)
+{
+ m_category = category;
+}
+
+XsdIdentityConstraint::Category XsdIdentityConstraint::category() const
+{
+ return m_category;
+}
+
+void XsdIdentityConstraint::setSelector(const XsdXPathExpression::Ptr &selector)
+{
+ m_selector = selector;
+}
+
+XsdXPathExpression::Ptr XsdIdentityConstraint::selector() const
+{
+ return m_selector;
+}
+
+void XsdIdentityConstraint::setFields(const XsdXPathExpression::List &fields)
+{
+ m_fields = fields;
+}
+
+void XsdIdentityConstraint::addField(const XsdXPathExpression::Ptr &field)
+{
+ m_fields.append(field);
+}
+
+XsdXPathExpression::List XsdIdentityConstraint::fields() const
+{
+ return m_fields;
+}
+
+void XsdIdentityConstraint::setReferencedKey(const XsdIdentityConstraint::Ptr &referencedKey)
+{
+ m_referencedKey = referencedKey;
+}
+
+XsdIdentityConstraint::Ptr XsdIdentityConstraint::referencedKey() const
+{
+ return m_referencedKey;
+}
+
+QT_END_NAMESPACE
diff --git a/src/xmlpatterns/schema/qxsdidentityconstraint_p.h b/src/xmlpatterns/schema/qxsdidentityconstraint_p.h
new file mode 100644
index 0000000..b6bb3d0
--- /dev/null
+++ b/src/xmlpatterns/schema/qxsdidentityconstraint_p.h
@@ -0,0 +1,173 @@
+/****************************************************************************
+**
+** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtXmlPatterns of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+
+#ifndef Patternist_XsdIdentityConstraint_H
+#define Patternist_XsdIdentityConstraint_H
+
+#include "qnamedschemacomponent_p.h"
+#include "qxsdannotated_p.h"
+#include "qxsdxpathexpression_p.h"
+
+#include <QtCore/QStringList>
+
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+namespace QPatternist
+{
+ /**
+ * @short Represents a XSD identity constraint object.
+ *
+ * This class represents the <em>identity constraint</em> object of a XML schema as described
+ * <a href="http://www.w3.org/TR/xmlschema11-1/#cIdentity-constraint_Definitions">here</a>.
+ *
+ * It contains information from either a <em>key</em> object, a <em>keyref</em> object or an
+ * <em>unique</em> object.
+ *
+ * @see <a href="http://www.w3.org/Submission/2004/SUBM-xmlschema-api-20040309/xml-schema-api.html#Interface-XSIdentityConstraint">XML Schema API reference</a>
+ * @ingroup Patternist_schema
+ * @author Tobias Koenig <tobias.koenig@trolltech.com>
+ */
+ class XsdIdentityConstraint : public NamedSchemaComponent, public XsdAnnotated
+ {
+ public:
+ typedef QExplicitlySharedDataPointer<XsdIdentityConstraint> Ptr;
+ typedef QList<XsdIdentityConstraint::Ptr> List;
+
+ /**
+ * Describes the <a href="http://www.w3.org/TR/xmlschema11-1/#icd-identity-constraint_category">category</a> of the identity constraint.
+ */
+ enum Category
+ {
+ Key = 1, ///< The constraint is a key constraint
+ KeyReference, ///< The constraint is a keyref constraint
+ Unique ///< The constraint is an unique constraint
+ };
+
+ /**
+ * Sets the @p category of the identity constraint.
+ *
+ * @see Category
+ */
+ void setCategory(Category category);
+
+ /**
+ * Returns the category of the identity constraint.
+ */
+ Category category() const;
+
+ /**
+ * Sets the @p selector of the identity constraint.
+ *
+ * The selector is a restricted XPath 1.0 expression,
+ * that selects a set of nodes.
+ *
+ * @see <a href="http://www.w3.org/TR/xmlschema11-1/#icd-selector"></a>
+ */
+ void setSelector(const XsdXPathExpression::Ptr &selector);
+
+ /**
+ * Returns the selector of the identity constraint.
+ */
+ XsdXPathExpression::Ptr selector() const;
+
+ /**
+ * Sets the @p fields of the identity constraint.
+ *
+ * Each field is a restricted XPath 1.0 expression,
+ * that selects a set of nodes.
+ *
+ * @see <a href="http://www.w3.org/TR/xmlschema11-1/#icd-fields"></a>
+ */
+ void setFields(const XsdXPathExpression::List &fields);
+
+ /**
+ * Adds a new @p field to the identity constraint.
+ */
+ void addField(const XsdXPathExpression::Ptr &field);
+
+ /**
+ * Returns all fields of the identity constraint.
+ */
+ XsdXPathExpression::List fields() const;
+
+ /**
+ * Sets the referenced @p key of the identity constraint.
+ *
+ * The key points to a identity constraint of type Key or Unique.
+ *
+ * The identity constraint has only a referenced key if its
+ * type is KeyReference.
+ *
+ * @see <a href="http://www.w3.org/TR/xmlschema11-1/#icd-referenced_key"></a>
+ */
+ void setReferencedKey(const XsdIdentityConstraint::Ptr &key);
+
+ /**
+ * Returns the referenced key of the identity constraint or an empty
+ * pointer if its type is not KeyReference.
+ */
+ XsdIdentityConstraint::Ptr referencedKey() const;
+
+ private:
+ Category m_category;
+ XsdXPathExpression::Ptr m_selector;
+ XsdXPathExpression::List m_fields;
+ XsdIdentityConstraint::Ptr m_referencedKey;
+ };
+}
+
+QT_END_NAMESPACE
+
+QT_END_HEADER
+
+#endif
diff --git a/src/xmlpatterns/schema/qxsdinstancereader.cpp b/src/xmlpatterns/schema/qxsdinstancereader.cpp
new file mode 100644
index 0000000..9ff8d61
--- /dev/null
+++ b/src/xmlpatterns/schema/qxsdinstancereader.cpp
@@ -0,0 +1,196 @@
+/****************************************************************************
+**
+** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the QtXmlPatterns of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "qxsdinstancereader_p.h"
+
+QT_BEGIN_NAMESPACE
+
+using namespace QPatternist;
+
+XsdInstanceReader::XsdInstanceReader(const QAbstractXmlNodeModel *model, const XsdSchemaContext::Ptr &context)
+ : m_context(context)
+ , m_model(model->iterate(model->root(QXmlNodeModelIndex()), QXmlNodeModelIndex::AxisChild))
+{
+}
+
+bool XsdInstanceReader::atEnd() const
+{
+ return (m_model.current() == AbstractXmlPullProvider::EndOfInput);
+}
+
+void XsdInstanceReader::readNext()
+{
+ m_model.next();
+
+ if (m_model.current() == AbstractXmlPullProvider::StartElement) {
+ m_cachedAttributes = m_model.attributes();
+ m_cachedAttributeItems = m_model.attributeItems();
+ m_cachedSourceLocation = m_model.sourceLocation();
+ m_cachedItem = QXmlItem(m_model.index());
+ }
+}
+
+bool XsdInstanceReader::isStartElement() const
+{
+ return (m_model.current() == AbstractXmlPullProvider::StartElement);
+}
+
+bool XsdInstanceReader::isEndElement() const
+{
+ return (m_model.current() == AbstractXmlPullProvider::EndElement);
+}
+
+bool XsdInstanceReader::hasChildText() const
+{
+ const QXmlNodeModelIndex index = m_model.index();
+ QXmlNodeModelIndex::Iterator::Ptr it = index.model()->iterate(index, QXmlNodeModelIndex::AxisChild);
+
+ QXmlNodeModelIndex currentIndex = it->next();
+ while (!currentIndex.isNull()) {
+ if (currentIndex.kind() == QXmlNodeModelIndex::Text)
+ return true;
+
+ currentIndex = it->next();
+ }
+
+ return false;
+}
+
+bool XsdInstanceReader::hasChildElement() const
+{
+ const QXmlNodeModelIndex index = m_model.index();
+ QXmlNodeModelIndex::Iterator::Ptr it = index.model()->iterate(index, QXmlNodeModelIndex::AxisChild);
+
+ QXmlNodeModelIndex currentIndex = it->next();
+ while (!currentIndex.isNull()) {
+ if (currentIndex.kind() == QXmlNodeModelIndex::Element)
+ return true;
+
+ currentIndex = it->next();
+ }
+
+ return false;
+}
+
+QXmlName XsdInstanceReader::name() const
+{
+ return m_model.name();
+}
+
+QXmlName XsdInstanceReader::convertToQName(const QString &name) const
+{
+ const int pos = name.indexOf(QLatin1Char(':'));
+
+ QXmlName::PrefixCode prefixCode = 0;
+ QXmlName::NamespaceCode namespaceCode;
+ QXmlName::LocalNameCode localNameCode;
+ if (pos != -1) {
+ prefixCode = m_context->namePool()->allocatePrefix(name.left(pos));
+ namespaceCode = m_cachedItem.toNodeModelIndex().namespaceForPrefix(prefixCode);
+ localNameCode = m_context->namePool()->allocateLocalName(name.mid(pos + 1));
+ } else {
+ prefixCode = StandardPrefixes::empty;
+ namespaceCode = m_cachedItem.toNodeModelIndex().namespaceForPrefix(prefixCode);
+ if (namespaceCode == -1)
+ namespaceCode = StandardNamespaces::empty;
+ localNameCode = m_context->namePool()->allocateLocalName(name);
+ }
+
+ return QXmlName(namespaceCode, localNameCode, prefixCode);
+}
+
+bool XsdInstanceReader::hasAttribute(const QXmlName &name) const
+{
+ return m_cachedAttributes.contains(name);
+}
+
+QString XsdInstanceReader::attribute(const QXmlName &name) const
+{
+ Q_ASSERT(m_cachedAttributes.contains(name));
+
+ return m_cachedAttributes.value(name);
+}
+
+QSet<QXmlName> XsdInstanceReader::attributeNames() const
+{
+ return m_cachedAttributes.keys().toSet();
+}
+
+QString XsdInstanceReader::text() const
+{
+ const QXmlNodeModelIndex index = m_model.index();
+ QXmlNodeModelIndex::Iterator::Ptr it = index.model()->iterate(index, QXmlNodeModelIndex::AxisChild);
+
+ QString result;
+
+ QXmlNodeModelIndex currentIndex = it->next();
+ while (!currentIndex.isNull()) {
+ if (currentIndex.kind() == QXmlNodeModelIndex::Text) {
+ result.append(Item(currentIndex).stringValue());
+ }
+
+ currentIndex = it->next();
+ }
+
+ return result;
+}
+
+QXmlItem XsdInstanceReader::item() const
+{
+ return m_cachedItem;
+}
+
+QXmlItem XsdInstanceReader::attributeItem(const QXmlName &name) const
+{
+ return m_cachedAttributeItems.value(name);
+}
+
+QSourceLocation XsdInstanceReader::sourceLocation() const
+{
+ return m_cachedSourceLocation;
+}
+
+QVector<QXmlName> XsdInstanceReader::namespaceBindings(const QXmlNodeModelIndex &index) const
+{
+ return index.namespaceBindings();
+}
+
+QT_END_NAMESPACE
diff --git a/src/xmlpatterns/schema/qxsdinstancereader_p.h b/src/xmlpatterns/schema/qxsdinstancereader_p.h
new file mode 100644
index 0000000..af189e3
--- /dev/null
+++ b/src/xmlpatterns/schema/qxsdinstancereader_p.h
@@ -0,0 +1,189 @@
+/****************************************************************************
+**
+** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtXmlPatterns of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+
+#ifndef Patternist_XsdInstanceReader_H
+#define Patternist_XsdInstanceReader_H
+
+#include "qabstractxmlnodemodel.h"
+#include "qpullbridge_p.h"
+#include "qxsdschemacontext_p.h"
+
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+namespace QPatternist
+{
+ /**
+ * @short The schema instance reader.
+ *
+ * This class reads in a xml instance document from a QAbstractXmlNodeModel
+ * and provides a QXmlStreamReader like interface with some additional context
+ * information.
+ *
+ * @ingroup Patternist_schema
+ * @author Tobias Koenig <tobias.koenig@trolltech.com>
+ */
+ class XsdInstanceReader
+ {
+ public:
+ typedef QExplicitlySharedDataPointer<XsdInstanceReader> Ptr;
+
+ /**
+ * Creates a new instance reader that will read the data from
+ * the given @p model.
+ *
+ * @param model The model the data are read from.
+ * @param context The context that is used for error reporting etc.
+ */
+ XsdInstanceReader(const QAbstractXmlNodeModel *model, const XsdSchemaContext::Ptr &context);
+
+ protected:
+ /**
+ * Returns @c true if the end of the document is reached, @c false otherwise.
+ */
+ bool atEnd() const;
+
+ /**
+ * Reads the next node from the document.
+ */
+ void readNext();
+
+ /**
+ * Returns whether the current node is a start element.
+ */
+ bool isStartElement() const;
+
+ /**
+ * Returns whether the current node is an end element.
+ */
+ bool isEndElement() const;
+
+ /**
+ * Returns whether the current node has a text node among its children.
+ */
+ bool hasChildText() const;
+
+ /**
+ * Returns whether the current node has an element node among its children.
+ */
+ bool hasChildElement() const;
+
+ /**
+ * Returns the name of the current node.
+ */
+ QXmlName name() const;
+
+ /**
+ * Returns whether the current node has an attribute with the given @p name.
+ */
+ bool hasAttribute(const QXmlName &name) const;
+
+ /**
+ * Returns the attribute with the given @p name of the current node.
+ */
+ QString attribute(const QXmlName &name) const;
+
+ /**
+ * Returns the list of attribute names of the current node.
+ */
+ QSet<QXmlName> attributeNames() const;
+
+ /**
+ * Returns the concatenated text of all direct child text nodes.
+ */
+ QString text() const;
+
+ /**
+ * Converts a qualified name into a QXmlName according to the namespace
+ * mappings of the current node.
+ */
+ QXmlName convertToQName(const QString &name) const;
+
+ /**
+ * Returns a source location object for the current position.
+ */
+ QSourceLocation sourceLocation() const;
+
+ /**
+ * Returns the QXmlItem for the current position.
+ */
+ QXmlItem item() const;
+
+ /**
+ * Returns the QXmlItem for the attribute with the given @p name at the current position.
+ */
+ QXmlItem attributeItem(const QXmlName &name) const;
+
+ /**
+ * Returns the namespace bindings for the given node model @p index.
+ */
+ QVector<QXmlName> namespaceBindings(const QXmlNodeModelIndex &index) const;
+
+ /**
+ * The shared schema context.
+ */
+ XsdSchemaContext::Ptr m_context;
+
+ private:
+ PullBridge m_model;
+ QHash<QXmlName, QString> m_cachedAttributes;
+ QHash<QXmlName, QXmlItem> m_cachedAttributeItems;
+ QSourceLocation m_cachedSourceLocation;
+ QXmlItem m_cachedItem;
+ };
+}
+
+QT_END_NAMESPACE
+
+QT_END_HEADER
+
+#endif
diff --git a/src/xmlpatterns/schema/qxsdmodelgroup.cpp b/src/xmlpatterns/schema/qxsdmodelgroup.cpp
new file mode 100644
index 0000000..ca7eb42
--- /dev/null
+++ b/src/xmlpatterns/schema/qxsdmodelgroup.cpp
@@ -0,0 +1,78 @@
+/****************************************************************************
+**
+** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the QtXmlPatterns of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "qxsdmodelgroup_p.h"
+
+QT_BEGIN_NAMESPACE
+
+using namespace QPatternist;
+
+XsdModelGroup::XsdModelGroup()
+ : m_compositor(SequenceCompositor)
+{
+}
+
+bool XsdModelGroup::isModelGroup() const
+{
+ return true;
+}
+
+void XsdModelGroup::setCompositor(ModelCompositor compositor)
+{
+ m_compositor = compositor;
+}
+
+XsdModelGroup::ModelCompositor XsdModelGroup::compositor() const
+{
+ return m_compositor;
+}
+
+void XsdModelGroup::setParticles(const XsdParticle::List &particles)
+{
+ m_particles = particles;
+}
+
+XsdParticle::List XsdModelGroup::particles() const
+{
+ return m_particles;
+}
+
+QT_END_NAMESPACE
diff --git a/src/xmlpatterns/schema/qxsdmodelgroup_p.h b/src/xmlpatterns/schema/qxsdmodelgroup_p.h
new file mode 100644
index 0000000..f01d5bf
--- /dev/null
+++ b/src/xmlpatterns/schema/qxsdmodelgroup_p.h
@@ -0,0 +1,139 @@
+/****************************************************************************
+**
+** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtXmlPatterns of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+
+#ifndef Patternist_XsdModelGroup_H
+#define Patternist_XsdModelGroup_H
+
+#include "qxsdparticle_p.h"
+#include "qxsdterm_p.h"
+
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+template<typename N> class QList;
+
+namespace QPatternist
+{
+ /**
+ * @short Represents a XSD model group object.
+ *
+ * This class represents the <em>model group</em> object of a XML schema as described
+ * <a href="http://www.w3.org/TR/xmlschema11-1/#cModel_Group_Definitions">here</a>.
+ *
+ * It contains information from either a <em>sequence</em> object, a <em>choice</em> object or an
+ * <em>all</em> object.
+ *
+ * @see <a href="http://www.w3.org/Submission/2004/SUBM-xmlschema-api-20040309/xml-schema-api.html#Interface-XSModelGroup">XML Schema API reference</a>
+ * @ingroup Patternist_schema
+ * @author Tobias Koenig <tobias.koenig@trolltech.com>
+ */
+ class XsdModelGroup : public XsdTerm
+ {
+ public:
+ typedef QExplicitlySharedDataPointer<XsdModelGroup> Ptr;
+ typedef QList<XsdModelGroup::Ptr> List;
+
+ /**
+ * Describes the <a href="http://www.w3.org/TR/xmlschema11-1/#mg-compositor">compositor</a> of the model group.
+ */
+ enum ModelCompositor
+ {
+ SequenceCompositor, ///< The model group is a sequence.
+ ChoiceCompositor, ///< The model group is a choice.
+ AllCompositor ///< The model group contains elements only.
+ };
+
+ /**
+ * Creates a new model group object.
+ */
+ XsdModelGroup();
+
+ /**
+ * Returns always @c true, used to avoid dynamic casts.
+ */
+ virtual bool isModelGroup() const;
+
+ /**
+ * Sets the @p compositor of the model group.
+ *
+ * @see ModelCompositor
+ */
+ void setCompositor(ModelCompositor compositor);
+
+ /**
+ * Returns the compositor of the model group.
+ */
+ ModelCompositor compositor() const;
+
+ /**
+ * Sets the list of @p particles of the model group.
+ *
+ * @see <a href="http://www.w3.org/TR/xmlschema11-1/#mg-particles">Particles Definition</a>
+ */
+ void setParticles(const XsdParticle::List &particles);
+
+ /**
+ * Returns the list of particles of the model group.
+ */
+ XsdParticle::List particles() const;
+
+ private:
+ ModelCompositor m_compositor;
+ XsdParticle::List m_particles;
+ };
+}
+
+QT_END_NAMESPACE
+
+QT_END_HEADER
+
+#endif
diff --git a/src/xmlpatterns/schema/qxsdnotation.cpp b/src/xmlpatterns/schema/qxsdnotation.cpp
new file mode 100644
index 0000000..59697d7
--- /dev/null
+++ b/src/xmlpatterns/schema/qxsdnotation.cpp
@@ -0,0 +1,68 @@
+/****************************************************************************
+**
+** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the QtXmlPatterns of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "qxsdnotation_p.h"
+
+QT_BEGIN_NAMESPACE
+
+using namespace QPatternist;
+
+void XsdNotation::setPublicId(const DerivedString<TypeToken>::Ptr &id)
+{
+ m_publicId = id;
+}
+
+DerivedString<TypeToken>::Ptr XsdNotation::publicId() const
+{
+ return m_publicId;
+}
+
+void XsdNotation::setSystemId(const AnyURI::Ptr &id)
+{
+ m_systemId = id;
+}
+
+AnyURI::Ptr XsdNotation::systemId() const
+{
+ return m_systemId;
+}
+
+QT_END_NAMESPACE
diff --git a/src/xmlpatterns/schema/qxsdnotation_p.h b/src/xmlpatterns/schema/qxsdnotation_p.h
new file mode 100644
index 0000000..1ad2c47
--- /dev/null
+++ b/src/xmlpatterns/schema/qxsdnotation_p.h
@@ -0,0 +1,119 @@
+/****************************************************************************
+**
+** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtXmlPatterns of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+
+#ifndef Patternist_XsdNotation_H
+#define Patternist_XsdNotation_H
+
+#include "qanyuri_p.h"
+#include "qderivedstring_p.h"
+#include "qnamedschemacomponent_p.h"
+#include "qxsdannotated_p.h"
+
+#include <QtCore/QList>
+
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+namespace QPatternist
+{
+ /**
+ * @short Represents a XSD notation object, which should not
+ * be confused with the atomic type @c xs:NOTATION.
+ *
+ * This class represents the <em>notation</em> object of a XML schema as described
+ * <a href="http://www.w3.org/TR/xmlschema11-1/#cNotation_Declarations">here</a>.
+ *
+ * @see <a href="http://www.w3.org/Submission/2004/SUBM-xmlschema-api-20040309/xml-schema-api.html#XS-NotationDecl">XML Schema API reference</a>
+ * @ingroup Patternist_schema
+ * @author Tobias Koenig <tobias.koenig@trolltech.com>
+ */
+ class XsdNotation : public NamedSchemaComponent, public XsdAnnotated
+ {
+ public:
+ typedef QExplicitlySharedDataPointer<XsdNotation> Ptr;
+ typedef QList<XsdNotation::Ptr> List;
+
+ /**
+ * Sets the public @p identifier of the notation.
+ *
+ * @see <a href="http://www.w3.org/TR/xmlschema11-1/#nd-public_identifier">Public Identifier Definition</a>
+ */
+ void setPublicId(const DerivedString<TypeToken>::Ptr &identifier);
+
+ /**
+ * Returns the public identifier of the notation.
+ */
+ DerivedString<TypeToken>::Ptr publicId() const;
+
+ /**
+ * Sets the system @p identifier of the notation.
+ *
+ * @see <a href="http://www.w3.org/TR/xmlschema11-1/#nd-system_identifier">System Identifier Definition</a>
+ */
+ void setSystemId(const AnyURI::Ptr &identifier);
+
+ /**
+ * Returns the system identifier of the notation.
+ */
+ AnyURI::Ptr systemId() const;
+
+ private:
+ DerivedString<TypeToken>::Ptr m_publicId;
+ AnyURI::Ptr m_systemId;
+ };
+}
+
+QT_END_NAMESPACE
+
+QT_END_HEADER
+
+#endif
diff --git a/src/xmlpatterns/schema/qxsdparticle.cpp b/src/xmlpatterns/schema/qxsdparticle.cpp
new file mode 100644
index 0000000..0e58bf6
--- /dev/null
+++ b/src/xmlpatterns/schema/qxsdparticle.cpp
@@ -0,0 +1,95 @@
+/****************************************************************************
+**
+** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the QtXmlPatterns of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "qxsdparticle_p.h"
+
+QT_BEGIN_NAMESPACE
+
+using namespace QPatternist;
+
+XsdParticle::XsdParticle()
+ : m_minimumOccurs(1)
+ , m_maximumOccurs(1)
+ , m_maximumOccursUnbounded(false)
+{
+}
+
+void XsdParticle::setMinimumOccurs(unsigned int occurs)
+{
+ m_minimumOccurs = occurs;
+}
+
+unsigned int XsdParticle::minimumOccurs() const
+{
+ return m_minimumOccurs;
+}
+
+void XsdParticle::setMaximumOccurs(unsigned int occurs)
+{
+ m_maximumOccurs = occurs;
+}
+
+unsigned int XsdParticle::maximumOccurs() const
+{
+ return m_maximumOccurs;
+}
+
+void XsdParticle::setMaximumOccursUnbounded(bool unbounded)
+{
+ m_maximumOccursUnbounded = unbounded;
+}
+
+bool XsdParticle::maximumOccursUnbounded() const
+{
+ return m_maximumOccursUnbounded;
+}
+
+void XsdParticle::setTerm(const XsdTerm::Ptr &term)
+{
+ m_term = term;
+}
+
+XsdTerm::Ptr XsdParticle::term() const
+{
+ return m_term;
+}
+
+QT_END_NAMESPACE
diff --git a/src/xmlpatterns/schema/qxsdparticle_p.h b/src/xmlpatterns/schema/qxsdparticle_p.h
new file mode 100644
index 0000000..a183192
--- /dev/null
+++ b/src/xmlpatterns/schema/qxsdparticle_p.h
@@ -0,0 +1,154 @@
+/****************************************************************************
+**
+** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtXmlPatterns of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+
+#ifndef Patternist_XsdParticle_H
+#define Patternist_XsdParticle_H
+
+#include "qnamedschemacomponent_p.h"
+#include "qxsdterm_p.h"
+
+#include <QtCore/QList>
+
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+namespace QPatternist
+{
+ /**
+ * @short Represents a XSD particle object.
+ *
+ * This class represents the <em>particle</em> object of a XML schema as described
+ * <a href="http://www.w3.org/TR/xmlschema11-1/#cParticles">here</a>.
+ *
+ * It contains information about the number of occurrence and a reference to
+ * either an <em>element</em> object, a <em>group</em> object or an <em>any</em> object.
+ *
+ * @see <a href="http://www.w3.org/Submission/2004/SUBM-xmlschema-api-20040309/xml-schema-api.html#Interface-XSParticle">XML Schema API reference</a>
+ * @ingroup Patternist_schema
+ * @author Tobias Koenig <tobias.koenig@trolltech.com>
+ */
+ class XsdParticle : public NamedSchemaComponent
+ {
+ public:
+ typedef QExplicitlySharedDataPointer<XsdParticle> Ptr;
+ typedef QList<XsdParticle::Ptr> List;
+
+ /**
+ * Creates a new particle object.
+ */
+ XsdParticle();
+
+ /**
+ * Sets the minimum @p occurrence of the particle.
+ *
+ * @see <a href="http://www.w3.org/TR/xmlschema11-1/#p-min_occurs">Minimum Occurrence Definition</a>
+ */
+ void setMinimumOccurs(unsigned int occurrence);
+
+ /**
+ * Returns the minimum occurrence of the particle.
+ */
+ unsigned int minimumOccurs() const;
+
+ /**
+ * Sets the maximum @p occurrence of the particle.
+ *
+ * @see <a href="http://www.w3.org/TR/xmlschema11-1/#p-max_occurs">Maximum Occurrence Definition</a>
+ */
+ void setMaximumOccurs(unsigned int occurrence);
+
+ /**
+ * Returns the maximum occurrence of the particle.
+ *
+ * @note This value has only a meaning if maximumOccursUnbounded is @c false.
+ */
+ unsigned int maximumOccurs() const;
+
+ /**
+ * Sets whether the maximum occurrence of the particle is unbounded.
+ *
+ * @see <a href="http://www.w3.org/TR/xmlschema11-1/#p-max_occurs">Maximum Occurrence Definition</a>
+ */
+ void setMaximumOccursUnbounded(bool unbounded);
+
+ /**
+ * Returns whether the maximum occurrence of the particle is unbounded.
+ */
+ bool maximumOccursUnbounded() const;
+
+ /**
+ * Sets the @p term of the particle.
+ *
+ * The term can be an element, a model group or an element wildcard.
+ *
+ * @see <a href="http://www.w3.org/TR/xmlschema11-1/#p-term">Term Definition</a>
+ */
+ void setTerm(const XsdTerm::Ptr &term);
+
+ /**
+ * Returns the term of the particle.
+ */
+ XsdTerm::Ptr term() const;
+
+ private:
+ unsigned int m_minimumOccurs;
+ unsigned int m_maximumOccurs;
+ bool m_maximumOccursUnbounded;
+ XsdTerm::Ptr m_term;
+ };
+}
+
+QT_END_NAMESPACE
+
+QT_END_HEADER
+
+#endif
diff --git a/src/xmlpatterns/schema/qxsdparticlechecker.cpp b/src/xmlpatterns/schema/qxsdparticlechecker.cpp
new file mode 100644
index 0000000..f7fa442
--- /dev/null
+++ b/src/xmlpatterns/schema/qxsdparticlechecker.cpp
@@ -0,0 +1,540 @@
+/****************************************************************************
+**
+** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the QtXmlPatterns of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "qxsdparticlechecker_p.h"
+
+#include "qxsdelement_p.h"
+#include "qxsdmodelgroup_p.h"
+#include "qxsdschemahelper_p.h"
+#include "qxsdstatemachine_p.h"
+#include "qxsdstatemachinebuilder_p.h"
+#include "qxsdtypechecker_p.h"
+
+#include <QtCore/QFile>
+
+QT_BEGIN_NAMESPACE
+
+using namespace QPatternist;
+
+namespace QPatternist
+{
+ /**
+ * This template specialization is picked up by XsdStateMachine and allows us
+ * to print nice edge labels.
+ */
+ template <>
+ QString XsdStateMachine<XsdTerm::Ptr>::transitionTypeToString(XsdTerm::Ptr term) const
+ {
+ if (!term)
+ return QLatin1String("(empty)");
+
+ if (term->isElement()) {
+ return XsdElement::Ptr(term)->displayName(m_namePool);
+ } else if (term->isWildcard()) {
+ const XsdWildcard::Ptr wildcard(term);
+ return QLatin1String("(wildcard)");
+ } else {
+ return QString();
+ }
+ }
+}
+
+/**
+ * This method is used by the isUPAConform method to check whether @p term and @p otherTerm
+ * are the same resp. match each other.
+ */
+static bool termMatches(const XsdTerm::Ptr &term, const XsdTerm::Ptr &otherTerm, const NamePool::Ptr &namePool)
+{
+ if (term->isElement()) {
+ const XsdElement::Ptr element(term);
+
+ if (otherTerm->isElement()) {
+ // both, the term and the other term are elements
+
+ const XsdElement::Ptr otherElement(otherTerm);
+
+ // if they have the same name they match
+ if (element->name(namePool) == otherElement->name(namePool))
+ return true;
+
+ } else if (otherTerm->isWildcard()) {
+ // the term is an element and the other term a wildcard
+
+ const XsdWildcard::Ptr wildcard(otherTerm);
+
+ // wildcards using XsdWildcard::absentNamespace, so we have to fix that here
+ QXmlName name = element->name(namePool);
+ if (name.namespaceURI() == StandardNamespaces::empty)
+ name.setNamespaceURI(namePool->allocateNamespace(XsdWildcard::absentNamespace()));
+
+ // if the wildcards namespace constraint allows the elements name, they match
+ if (XsdSchemaHelper::wildcardAllowsExpandedName(name, wildcard, namePool))
+ return true;
+ }
+ } else if (term->isWildcard()) {
+ const XsdWildcard::Ptr wildcard(term);
+
+ if (otherTerm->isElement()) {
+ // the term is a wildcard and the other term an element
+
+ const XsdElement::Ptr otherElement(otherTerm);
+
+ // wildcards using XsdWildcard::absentNamespace, so we have to fix that here
+ QXmlName name = otherElement->name(namePool);
+ if (name.namespaceURI() == StandardNamespaces::empty)
+ name.setNamespaceURI(namePool->allocateNamespace(XsdWildcard::absentNamespace()));
+
+ // if the wildcards namespace constraint allows the elements name, they match
+ if (XsdSchemaHelper::wildcardAllowsExpandedName(name, wildcard, namePool))
+ return true;
+
+ } else if (otherTerm->isWildcard()) {
+ // both, the term and the other term are wildcards
+
+ const XsdWildcard::Ptr otherWildcard(otherTerm);
+
+ // check if the range of the wildcard overlaps.
+ const XsdWildcard::Ptr intersectionWildcard = XsdSchemaHelper::wildcardIntersection(wildcard, otherWildcard);
+ if (!intersectionWildcard ||
+ (intersectionWildcard && !(intersectionWildcard->namespaceConstraint()->variety() != XsdWildcard::NamespaceConstraint::Not && intersectionWildcard->namespaceConstraint()->namespaces().isEmpty())))
+ return true;
+ }
+ }
+
+ return false;
+}
+
+/**
+ * This method is used by the subsumes algorithm to check whether the @p derivedTerm is validly derived from the @p baseTerm.
+ *
+ * @param baseTerm The term of the base component (type or group).
+ * @param derivedTerm The term of the derived component (type or group).
+ * @param particles A hash to map the passed base and derived term to the particles they belong to.
+ * @param context The schema context.
+ * @param errorMsg The error message in the case that an error occurs.
+ */
+static bool derivedTermValid(const XsdTerm::Ptr &baseTerm, const XsdTerm::Ptr &derivedTerm, const QHash<XsdTerm::Ptr, XsdParticle::Ptr> &particles, const XsdSchemaContext::Ptr &context, QString &errorMsg)
+{
+ const NamePool::Ptr namePool(context->namePool());
+
+ // find the particles where the base and derived term belongs to
+ const XsdParticle::Ptr baseParticle = particles.value(baseTerm);
+ const XsdParticle::Ptr derivedParticle = particles.value(derivedTerm);
+
+ // check that an empty particle can not be derived from a non-empty particle
+ if (derivedParticle && baseParticle) {
+ if (XsdSchemaHelper::isParticleEmptiable(derivedParticle) && !XsdSchemaHelper::isParticleEmptiable(baseParticle)) {
+ errorMsg = QtXmlPatterns::tr("empty particle cannot be derived from non-empty particle");
+ return false;
+ }
+ }
+
+ if (baseTerm->isElement()) {
+ const XsdElement::Ptr element(baseTerm);
+
+ if (derivedTerm->isElement()) {
+ // if both terms are elements
+
+ const XsdElement::Ptr derivedElement(derivedTerm);
+
+ // check names are equal
+ if (element->name(namePool) != derivedElement->name(namePool)) {
+ errorMsg = QtXmlPatterns::tr("derived particle is missing element %1").arg(formatKeyword(element->displayName(namePool)));
+ return false;
+ }
+
+ // check value constraints are equal (if available)
+ if (element->valueConstraint() && element->valueConstraint()->variety() == XsdElement::ValueConstraint::Fixed) {
+ if (!derivedElement->valueConstraint()) {
+ errorMsg = QtXmlPatterns::tr("derived element %1 is missing value constraint as defined in base particle").arg(formatKeyword(derivedElement->displayName(namePool)));
+ return false;
+ }
+
+ if (derivedElement->valueConstraint()->variety() != XsdElement::ValueConstraint::Fixed) {
+ errorMsg = QtXmlPatterns::tr("derived element %1 has weaker value constraint than base particle").arg(formatKeyword(derivedElement->displayName(namePool)));
+ return false;
+ }
+
+ const QSourceLocation dummyLocation(QUrl(QLatin1String("http://dummy.org")), 1, 1);
+ const XsdTypeChecker checker(context, QVector<QXmlName>(), dummyLocation);
+ if (!checker.valuesAreEqual(element->valueConstraint()->value(), derivedElement->valueConstraint()->value(), derivedElement->type())) {
+ errorMsg = QtXmlPatterns::tr("fixed value constraint of element %1 differs from value constraint in base particle").arg(formatKeyword(derivedElement->displayName(namePool)));
+ return false;
+ }
+ }
+
+ // check that a derived element can not be nillable if the base element is not nillable
+ if (!element->isNillable() && derivedElement->isNillable()) {
+ errorMsg = QtXmlPatterns::tr("derived element %1 cannot be nillable as base element is not nillable").arg(formatKeyword(derivedElement->displayName(namePool)));
+ return false;
+ }
+
+ // check that the constraints of the derived element are more strict then the constraints of the base element
+ const XsdElement::BlockingConstraints baseConstraints = element->disallowedSubstitutions();
+ const XsdElement::BlockingConstraints derivedConstraints = derivedElement->disallowedSubstitutions();
+ if (((baseConstraints & XsdElement::RestrictionConstraint) && !(derivedConstraints & XsdElement::RestrictionConstraint)) ||
+ ((baseConstraints & XsdElement::ExtensionConstraint) && !(derivedConstraints & XsdElement::ExtensionConstraint)) ||
+ ((baseConstraints & XsdElement::SubstitutionConstraint) && !(derivedConstraints & XsdElement::SubstitutionConstraint))) {
+ errorMsg = QtXmlPatterns::tr("block constraints of derived element %1 must not be more weaker than in the base element").arg(formatKeyword(derivedElement->displayName(namePool)));
+ return false;
+ }
+
+ // if the type of both elements is the same we can stop testing here
+ if (element->type()->name(namePool) == derivedElement->type()->name(namePool))
+ return true;
+
+ // check that the type of the derived element can validly derived from the type of the base element
+ if (derivedElement->type()->isSimpleType()) {
+ if (!XsdSchemaHelper::isSimpleDerivationOk(derivedElement->type(), element->type(), SchemaType::DerivationConstraints())) {
+ errorMsg = QtXmlPatterns::tr("simple type of derived element %1 cannot be validly derived from base element").arg(formatKeyword(derivedElement->displayName(namePool)));
+ return false;
+ }
+ } else if (derivedElement->type()->isComplexType()) {
+ if (!XsdSchemaHelper::isComplexDerivationOk(derivedElement->type(), element->type(), SchemaType::DerivationConstraints())) {
+ errorMsg = QtXmlPatterns::tr("complex type of derived element %1 cannot be validly derived from base element").arg(formatKeyword(derivedElement->displayName(namePool)));
+ return false;
+ }
+ }
+
+ // if both, derived and base element, have a complex type that contains a particle itself, apply the subsumes algorithm
+ // recursive on their particles
+ if (element->type()->isComplexType() && derivedElement->type()->isComplexType()) {
+ if (element->type()->isDefinedBySchema() && derivedElement->type()->isDefinedBySchema()) {
+ const XsdComplexType::Ptr baseType(element->type());
+ const XsdComplexType::Ptr derivedType(derivedElement->type());
+ if ((baseType->contentType()->variety() == XsdComplexType::ContentType::ElementOnly ||
+ baseType->contentType()->variety() == XsdComplexType::ContentType::Mixed) &&
+ (derivedType->contentType()->variety() == XsdComplexType::ContentType::ElementOnly ||
+ derivedType->contentType()->variety() == XsdComplexType::ContentType::Mixed)) {
+
+ return XsdParticleChecker::subsumes(baseType->contentType()->particle(), derivedType->contentType()->particle(), context, errorMsg);
+ }
+ }
+ }
+
+ return true;
+ } else if (derivedTerm->isWildcard()) {
+ // derive a wildcard from an element is not allowed
+ errorMsg = QtXmlPatterns::tr("element %1 is missing in derived particle").arg(formatKeyword(element->displayName(namePool)));
+ return false;
+ }
+ } else if (baseTerm->isWildcard()) {
+ const XsdWildcard::Ptr wildcard(baseTerm);
+
+ if (derivedTerm->isElement()) {
+ // the base term is a wildcard and derived term an element
+
+ const XsdElement::Ptr derivedElement(derivedTerm);
+
+ // wildcards using XsdWildcard::absentNamespace, so we have to fix that here
+ QXmlName name = derivedElement->name(namePool);
+ if (name.namespaceURI() == StandardNamespaces::empty)
+ name.setNamespaceURI(namePool->allocateNamespace(XsdWildcard::absentNamespace()));
+
+ // check that name of the element is allowed by the wildcards namespace constraint
+ if (!XsdSchemaHelper::wildcardAllowsExpandedName(name, wildcard, namePool)) {
+ errorMsg = QtXmlPatterns::tr("element %1 does not match namespace constraint of wildcard in base particle").arg(formatKeyword(derivedElement->displayName(namePool)));
+ return false;
+ }
+
+ } else if (derivedTerm->isWildcard()) {
+ // both, derived and base term are wildcards
+
+ const XsdWildcard::Ptr derivedWildcard(derivedTerm);
+
+ // check that the derived wildcard is a valid subset of the base wildcard
+ if (!XsdSchemaHelper::isWildcardSubset(derivedWildcard, wildcard)) {
+ errorMsg = QtXmlPatterns::tr("wildcard in derived particle is not a valid subset of wildcard in base particle");
+ return false;
+ }
+
+ if (!XsdSchemaHelper::checkWildcardProcessContents(wildcard, derivedWildcard)) {
+ errorMsg = QtXmlPatterns::tr("processContent of wildcard in derived particle is weaker than wildcard in base particle");
+ return false;
+ }
+ }
+
+ return true;
+ }
+
+ return false;
+}
+
+typedef QHash<QXmlName, XsdElement::Ptr> ElementHash;
+
+/**
+ * Internal helper method that checks if the given @p particle contains an element with the
+ * same name and type twice.
+ */
+static bool hasDuplicatedElementsInternal(const XsdParticle::Ptr &particle, const NamePool::Ptr &namePool, ElementHash &hash, XsdElement::Ptr &conflictingElement)
+{
+ const XsdTerm::Ptr term = particle->term();
+ if (term->isElement()) {
+ const XsdElement::Ptr mainElement(term);
+ XsdElement::List substGroups = mainElement->substitutionGroups();
+ if (substGroups.isEmpty())
+ substGroups << mainElement;
+
+ for (int i = 0; i < substGroups.count(); ++i) {
+ const XsdElement::Ptr element = substGroups.at(i);
+ if (hash.contains(element->name(namePool))) {
+ if (element->type()->name(namePool) != hash.value(element->name(namePool))->type()->name(namePool)) {
+ conflictingElement = element;
+ return true;
+ }
+ } else {
+ hash.insert(element->name(namePool), element);
+ }
+ }
+ } else if (term->isModelGroup()) {
+ const XsdModelGroup::Ptr group(term);
+ const XsdParticle::List particles = group->particles();
+ for (int i = 0; i < particles.count(); ++i) {
+ if (hasDuplicatedElementsInternal(particles.at(i), namePool, hash, conflictingElement))
+ return true;
+ }
+ }
+
+ return false;
+}
+
+bool XsdParticleChecker::hasDuplicatedElements(const XsdParticle::Ptr &particle, const NamePool::Ptr &namePool, XsdElement::Ptr &conflictingElement)
+{
+ ElementHash hash;
+ return hasDuplicatedElementsInternal(particle, namePool, hash, conflictingElement);
+}
+
+bool XsdParticleChecker::isUPAConform(const XsdParticle::Ptr &particle, const NamePool::Ptr &namePool)
+{
+ /**
+ * The algorithm is implemented like described in http://www.ltg.ed.ac.uk/~ht/XML_Europe_2003.html#S2.2
+ */
+
+ // create a state machine for the given particle
+ XsdStateMachine<XsdTerm::Ptr> stateMachine(namePool);
+
+ XsdStateMachineBuilder builder(&stateMachine, namePool);
+ const XsdStateMachine<XsdTerm::Ptr>::StateId endState = builder.reset();
+ const XsdStateMachine<XsdTerm::Ptr>::StateId startState = builder.buildParticle(particle, endState);
+ builder.addStartState(startState);
+
+/*
+ static int counter = 0;
+ {
+ QFile file(QString("/tmp/file_upa%1.dot").arg(counter));
+ file.open(QIODevice::WriteOnly);
+ stateMachine.outputGraph(&file, "Base");
+ file.close();
+ }
+ ::system(QString("dot -Tpng /tmp/file_upa%1.dot -o/tmp/file_upa%1.png").arg(counter).toLatin1().data());
+*/
+ const XsdStateMachine<XsdTerm::Ptr> dfa = stateMachine.toDFA();
+/*
+ {
+ QFile file(QString("/tmp/file_upa%1dfa.dot").arg(counter));
+ file.open(QIODevice::WriteOnly);
+ dfa.outputGraph(&file, "Base");
+ file.close();
+ }
+ ::system(QString("dot -Tpng /tmp/file_upa%1dfa.dot -o/tmp/file_upa%1dfa.png").arg(counter).toLatin1().data());
+*/
+ const QHash<XsdStateMachine<XsdTerm::Ptr>::StateId, XsdStateMachine<XsdTerm::Ptr>::StateType> states = dfa.states();
+ const QHash<XsdStateMachine<XsdTerm::Ptr>::StateId, QHash<XsdTerm::Ptr, QVector<XsdStateMachine<XsdTerm::Ptr>::StateId> > > transitions = dfa.transitions();
+
+ // the basic idea of that algorithm is to iterate over all states of that machine and check that no two edges
+ // that match on the same term leave a state, so for a given term it should always be obvious which edge to take
+ QHashIterator<XsdStateMachine<XsdTerm::Ptr>::StateId, XsdStateMachine<XsdTerm::Ptr>::StateType> stateIt(states);
+ while (stateIt.hasNext()) { // iterate over all states
+ stateIt.next();
+
+ // fetch all transitions the current state allows
+ const QHash<XsdTerm::Ptr, QVector<XsdStateMachine<XsdTerm::Ptr>::StateId> > currentTransitions = transitions.value(stateIt.key());
+ QHashIterator<XsdTerm::Ptr, QVector<XsdStateMachine<XsdTerm::Ptr>::StateId> > transitionIt(currentTransitions);
+ while (transitionIt.hasNext()) { // iterate over all transitions
+ transitionIt.next();
+
+ if (transitionIt.value().size() > 1) {
+ // we have one state with two edges leaving it, that means
+ // the XsdTerm::Ptr exists twice, that is an error
+ return false;
+ }
+
+ QHashIterator<XsdTerm::Ptr, QVector<XsdStateMachine<XsdTerm::Ptr>::StateId> > innerTransitionIt(currentTransitions);
+ while (innerTransitionIt.hasNext()) { // iterate over all transitions again, as we have to compare all transitions with all
+ innerTransitionIt.next();
+
+ if (transitionIt.key() == innerTransitionIt.key()) // do no compare with ourself
+ continue;
+
+ // use the helper method termMatches to check if both term matches
+ if (termMatches(transitionIt.key(), innerTransitionIt.key(), namePool))
+ return false;
+ }
+ }
+ }
+
+ return true;
+}
+
+bool XsdParticleChecker::subsumes(const XsdParticle::Ptr &particle, const XsdParticle::Ptr &derivedParticle, const XsdSchemaContext::Ptr &context, QString &errorMsg)
+{
+ /**
+ * The algorithm is implemented like described in http://www.ltg.ed.ac.uk/~ht/XML_Europe_2003.html#S2.3
+ */
+
+ const NamePool::Ptr namePool(context->namePool());
+
+ XsdStateMachine<XsdTerm::Ptr> baseStateMachine(namePool);
+ XsdStateMachine<XsdTerm::Ptr> derivedStateMachine(namePool);
+
+ // build up state machines for both particles
+ {
+ XsdStateMachineBuilder builder(&baseStateMachine, namePool);
+ const XsdStateMachine<XsdTerm::Ptr>::StateId endState = builder.reset();
+ const XsdStateMachine<XsdTerm::Ptr>::StateId startState = builder.buildParticle(particle, endState);
+ builder.addStartState(startState);
+
+ baseStateMachine = baseStateMachine.toDFA();
+ }
+ {
+ XsdStateMachineBuilder builder(&derivedStateMachine, namePool);
+ const XsdStateMachine<XsdTerm::Ptr>::StateId endState = builder.reset();
+ const XsdStateMachine<XsdTerm::Ptr>::StateId startState = builder.buildParticle(derivedParticle, endState);
+ builder.addStartState(startState);
+
+ derivedStateMachine = derivedStateMachine.toDFA();
+ }
+
+ QHash<XsdTerm::Ptr, XsdParticle::Ptr> particlesHash = XsdStateMachineBuilder::particleLookupMap(particle);
+ particlesHash.unite(XsdStateMachineBuilder::particleLookupMap(derivedParticle));
+
+/*
+ static int counter = 0;
+ {
+ QFile file(QString("/tmp/file_base%1.dot").arg(counter));
+ file.open(QIODevice::WriteOnly);
+ baseStateMachine.outputGraph(&file, QLatin1String("Base"));
+ file.close();
+ }
+ {
+ QFile file(QString("/tmp/file_derived%1.dot").arg(counter));
+ file.open(QIODevice::WriteOnly);
+ derivedStateMachine.outputGraph(&file, QLatin1String("Base"));
+ file.close();
+ }
+ ::system(QString("dot -Tpng /tmp/file_base%1.dot -o/tmp/file_base%1.png").arg(counter).toLatin1().data());
+ ::system(QString("dot -Tpng /tmp/file_derived%1.dot -o/tmp/file_derived%1.png").arg(counter).toLatin1().data());
+*/
+
+ const XsdStateMachine<XsdTerm::Ptr>::StateId baseStartState = baseStateMachine.startState();
+ const QHash<XsdStateMachine<XsdTerm::Ptr>::StateId, XsdStateMachine<XsdTerm::Ptr>::StateType> baseStates = baseStateMachine.states();
+ const QHash<XsdStateMachine<XsdTerm::Ptr>::StateId, QHash<XsdTerm::Ptr, QVector<XsdStateMachine<XsdTerm::Ptr>::StateId> > > baseTransitions = baseStateMachine.transitions();
+
+ const XsdStateMachine<XsdTerm::Ptr>::StateId derivedStartState = derivedStateMachine.startState();
+ const QHash<XsdStateMachine<XsdTerm::Ptr>::StateId, XsdStateMachine<XsdTerm::Ptr>::StateType> derivedStates = derivedStateMachine.states();
+ const QHash<XsdStateMachine<XsdTerm::Ptr>::StateId, QHash<XsdTerm::Ptr, QVector<XsdStateMachine<XsdTerm::Ptr>::StateId> > > derivedTransitions = derivedStateMachine.transitions();
+
+ // @see http://www.ltg.ed.ac.uk/~ht/XML_Europe_2003.html#S2.3.1
+
+ // define working set
+ QList<QPair<XsdStateMachine<XsdTerm::Ptr>::StateId, XsdStateMachine<XsdTerm::Ptr>::StateId> > workSet;
+ QList<QPair<XsdStateMachine<XsdTerm::Ptr>::StateId, XsdStateMachine<XsdTerm::Ptr>::StateId> > processedSet;
+
+ // 1) fill working set initially with start states
+ workSet.append(qMakePair<XsdStateMachine<XsdTerm::Ptr>::StateId, XsdStateMachine<XsdTerm::Ptr>::StateId>(baseStartState, derivedStartState));
+ processedSet.append(qMakePair<XsdStateMachine<XsdTerm::Ptr>::StateId, XsdStateMachine<XsdTerm::Ptr>::StateId>(baseStartState, derivedStartState));
+
+ while (!workSet.isEmpty()) { // while there are state sets to process
+
+ // 3) dequeue on state set
+ const QPair<XsdStateMachine<XsdTerm::Ptr>::StateId, XsdStateMachine<XsdTerm::Ptr>::StateId> set = workSet.takeFirst();
+
+ const QHash<XsdTerm::Ptr, QVector<XsdStateMachine<XsdTerm::Ptr>::StateId> > derivedTrans = derivedTransitions.value(set.second);
+ QHashIterator<XsdTerm::Ptr, QVector<XsdStateMachine<XsdTerm::Ptr>::StateId> > derivedIt(derivedTrans);
+
+ const QHash<XsdTerm::Ptr, QVector<XsdStateMachine<XsdTerm::Ptr>::StateId> > baseTrans = baseTransitions.value(set.first);
+
+ while (derivedIt.hasNext()) {
+ derivedIt.next();
+
+ bool found = false;
+ QHashIterator<XsdTerm::Ptr, QVector<XsdStateMachine<XsdTerm::Ptr>::StateId> > baseIt(baseTrans);
+ while (baseIt.hasNext()) {
+ baseIt.next();
+ if (derivedTermValid(baseIt.key(), derivedIt.key(), particlesHash, context, errorMsg)) {
+ const QPair<XsdStateMachine<XsdTerm::Ptr>::StateId, XsdStateMachine<XsdTerm::Ptr>::StateId> endSet =
+ qMakePair<XsdStateMachine<XsdTerm::Ptr>::StateId, XsdStateMachine<XsdTerm::Ptr>::StateId>(baseIt.value().first(), derivedIt.value().first());
+ if (!processedSet.contains(endSet) && !workSet.contains(endSet)) {
+ workSet.append(endSet);
+ processedSet.append(endSet);
+ }
+
+ found = true;
+ }
+ }
+
+ if (!found) {
+ return false;
+ }
+ }
+ }
+
+ // 5)
+ QHashIterator<XsdStateMachine<XsdTerm::Ptr>::StateId, XsdStateMachine<XsdTerm::Ptr>::StateType> it(derivedStates);
+ while (it.hasNext()) {
+ it.next();
+
+ if (it.value() == XsdStateMachine<XsdTerm::Ptr>::EndState || it.value() == XsdStateMachine<XsdTerm::Ptr>::StartEndState) {
+ for (int i = 0; i < processedSet.count(); ++i) {
+ if (processedSet.at(i).second == it.key() &&
+ (baseStates.value(processedSet.at(i).first) != XsdStateMachine<XsdTerm::Ptr>::EndState &&
+ baseStates.value(processedSet.at(i).first) != XsdStateMachine<XsdTerm::Ptr>::StartEndState)) {
+ errorMsg = QtXmlPatterns::tr("derived particle allows content that is not allowed in the base particle");
+ return false;
+ }
+ }
+ }
+ }
+
+ return true;
+}
+
+QT_END_NAMESPACE
diff --git a/src/xmlpatterns/schema/qxsdparticlechecker_p.h b/src/xmlpatterns/schema/qxsdparticlechecker_p.h
new file mode 100644
index 0000000..feed108
--- /dev/null
+++ b/src/xmlpatterns/schema/qxsdparticlechecker_p.h
@@ -0,0 +1,99 @@
+/****************************************************************************
+**
+** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtXmlPatterns of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+
+#ifndef Patternist_XsdParticleChecker_H
+#define Patternist_XsdParticleChecker_H
+
+#include "qxsdelement_p.h"
+#include "qxsdparticle_p.h"
+#include "qxsdschemacontext_p.h"
+#include "qxsdwildcard_p.h"
+
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+namespace QPatternist
+{
+ /**
+ * @short A helper class to check validity of particles.
+ *
+ * @ingroup Patternist_schema
+ * @author Tobias Koenig <tobias.koenig@trolltech.com>
+ */
+ class XsdParticleChecker
+ {
+ public:
+ /**
+ * Checks whether the given @p particle has two or more element
+ * declarations with the same name but different type definitions.
+ */
+ static bool hasDuplicatedElements(const XsdParticle::Ptr &particle, const NamePool::Ptr &namePool, XsdElement::Ptr &conflictingElement);
+
+ /**
+ * Checks whether the given @p particle is valid according the
+ * UPA (http://www.w3.org/TR/xmlschema-1/#cos-nonambig) constraint.
+ */
+ static bool isUPAConform(const XsdParticle::Ptr &particle, const NamePool::Ptr &namePool);
+
+ /**
+ * Checks whether the given @p particle subsumes the given @p derivedParticle.
+ * (http://www.w3.org/TR/xmlschema-1/#cos-particle-restrict)
+ */
+ static bool subsumes(const XsdParticle::Ptr &particle, const XsdParticle::Ptr &derivedParticle, const XsdSchemaContext::Ptr &context, QString &errorMsg);
+ };
+}
+
+QT_END_NAMESPACE
+
+QT_END_HEADER
+
+#endif
diff --git a/src/xmlpatterns/schema/qxsdreference.cpp b/src/xmlpatterns/schema/qxsdreference.cpp
new file mode 100644
index 0000000..176dc31
--- /dev/null
+++ b/src/xmlpatterns/schema/qxsdreference.cpp
@@ -0,0 +1,83 @@
+/****************************************************************************
+**
+** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the QtXmlPatterns of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "qxsdreference_p.h"
+
+QT_BEGIN_NAMESPACE
+
+using namespace QPatternist;
+
+bool XsdReference::isReference() const
+{
+ return true;
+}
+
+void XsdReference::setType(Type type)
+{
+ m_type = type;
+}
+
+XsdReference::Type XsdReference::type() const
+{
+ return m_type;
+}
+
+void XsdReference::setReferenceName(const QXmlName &referenceName)
+{
+ m_referenceName = referenceName;
+}
+
+QXmlName XsdReference::referenceName() const
+{
+ return m_referenceName;
+}
+
+void XsdReference::setSourceLocation(const QSourceLocation &location)
+{
+ m_sourceLocation = location;
+}
+
+QSourceLocation XsdReference::sourceLocation() const
+{
+ return m_sourceLocation;
+}
+
+QT_END_NAMESPACE
diff --git a/src/xmlpatterns/schema/qxsdreference_p.h b/src/xmlpatterns/schema/qxsdreference_p.h
new file mode 100644
index 0000000..1354d77
--- /dev/null
+++ b/src/xmlpatterns/schema/qxsdreference_p.h
@@ -0,0 +1,145 @@
+/****************************************************************************
+**
+** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtXmlPatterns of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+
+#ifndef Patternist_XsdReference_H
+#define Patternist_XsdReference_H
+
+#include "qxsdterm_p.h"
+
+#include <QtXmlPatterns/QSourceLocation>
+
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+namespace QPatternist
+{
+ /**
+ * @short A helper class for element and group reference resolving.
+ *
+ * For easy resolving of element and group references, we have this class
+ * that can be used as a place holder for the real element or group
+ * object it is referring to.
+ * So whenever the parser detects an element or group reference, it creates
+ * a XsdReference and returns it instead of the XsdElement or XsdModelGroup.
+ * During a later phase, the resolver will look for all XsdReferences
+ * in the schema and will replace them with their referring XsdElement or
+ * XsdModelGroup objects.
+ *
+ * @ingroup Patternist_schema
+ * @author Tobias Koenig <tobias.koenig@trolltech.com>
+ */
+ class XsdReference : public XsdTerm
+ {
+ public:
+ typedef QExplicitlySharedDataPointer<XsdReference> Ptr;
+
+ /**
+ * Describes the type of the reference.
+ */
+ enum Type
+ {
+ Element, ///< The reference points to an element.
+ ModelGroup ///< The reference points to a model group.
+ };
+
+ /**
+ * Returns always @c true, used to avoid dynamic casts.
+ */
+ virtual bool isReference() const;
+
+ /**
+ * Sets the @p type of the reference.
+ *
+ * @see Type
+ */
+ void setType(Type type);
+
+ /**
+ * Returns the type of the reference.
+ */
+ Type type() const;
+
+ /**
+ * Sets the @p name of the referenced object.
+ *
+ * The name can either be a top-level element declaration
+ * or a top-level group declaration.
+ */
+ void setReferenceName(const QXmlName &ame);
+
+ /**
+ * Returns the name of the referenced object.
+ */
+ QXmlName referenceName() const;
+
+ /**
+ * Sets the source @p location where the reference is located.
+ */
+ void setSourceLocation(const QSourceLocation &location);
+
+ /**
+ * Returns the source location where the reference is located.
+ */
+ QSourceLocation sourceLocation() const;
+
+ private:
+ Type m_type;
+ QXmlName m_referenceName;
+ QSourceLocation m_sourceLocation;
+ };
+}
+
+QT_END_NAMESPACE
+
+QT_END_HEADER
+
+#endif
diff --git a/src/xmlpatterns/schema/qxsdschema.cpp b/src/xmlpatterns/schema/qxsdschema.cpp
new file mode 100644
index 0000000..aac5773
--- /dev/null
+++ b/src/xmlpatterns/schema/qxsdschema.cpp
@@ -0,0 +1,272 @@
+/****************************************************************************
+**
+** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the QtXmlPatterns of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "qxsdschema_p.h"
+
+#include <QtCore/QReadLocker>
+#include <QtCore/QWriteLocker>
+
+QT_BEGIN_NAMESPACE
+
+using namespace QPatternist;
+
+XsdSchema::XsdSchema(const NamePool::Ptr &namePool)
+ : m_namePool(namePool)
+{
+}
+
+XsdSchema::~XsdSchema()
+{
+}
+
+NamePool::Ptr XsdSchema::namePool() const
+{
+ return m_namePool;
+}
+
+void XsdSchema::setTargetNamespace(const QString &targetNamespace)
+{
+ m_targetNamespace = targetNamespace;
+}
+
+QString XsdSchema::targetNamespace() const
+{
+ return m_targetNamespace;
+}
+
+void XsdSchema::addElement(const XsdElement::Ptr &element)
+{
+ const QWriteLocker locker(&m_lock);
+
+ m_elements.insert(element->name(m_namePool), element);
+}
+
+XsdElement::Ptr XsdSchema::element(const QXmlName &name) const
+{
+ const QReadLocker locker(&m_lock);
+
+ return m_elements.value(name);
+}
+
+XsdElement::List XsdSchema::elements() const
+{
+ const QReadLocker locker(&m_lock);
+
+ return m_elements.values();
+}
+
+void XsdSchema::addAttribute(const XsdAttribute::Ptr &attribute)
+{
+ const QWriteLocker locker(&m_lock);
+
+ m_attributes.insert(attribute->name(m_namePool), attribute);
+}
+
+XsdAttribute::Ptr XsdSchema::attribute(const QXmlName &name) const
+{
+ const QReadLocker locker(&m_lock);
+
+ return m_attributes.value(name);
+}
+
+XsdAttribute::List XsdSchema::attributes() const
+{
+ const QReadLocker locker(&m_lock);
+
+ return m_attributes.values();
+}
+
+void XsdSchema::addType(const SchemaType::Ptr &type)
+{
+ const QWriteLocker locker(&m_lock);
+
+ m_types.insert(type->name(m_namePool), type);
+}
+
+SchemaType::Ptr XsdSchema::type(const QXmlName &name) const
+{
+ const QReadLocker locker(&m_lock);
+
+ return m_types.value(name);
+}
+
+SchemaType::List XsdSchema::types() const
+{
+ const QReadLocker locker(&m_lock);
+
+ return m_types.values();
+}
+
+XsdSimpleType::List XsdSchema::simpleTypes() const
+{
+ QReadLocker locker(&m_lock);
+
+ XsdSimpleType::List retval;
+
+ const SchemaType::List types = m_types.values();
+ for (int i = 0; i < types.count(); ++i) {
+ if (types.at(i)->isSimpleType() && types.at(i)->isDefinedBySchema())
+ retval.append(types.at(i));
+ }
+
+ return retval;
+}
+
+XsdComplexType::List XsdSchema::complexTypes() const
+{
+ QReadLocker locker(&m_lock);
+
+ XsdComplexType::List retval;
+
+ const SchemaType::List types = m_types.values();
+ for (int i = 0; i < types.count(); ++i) {
+ if (types.at(i)->isComplexType() && types.at(i)->isDefinedBySchema())
+ retval.append(types.at(i));
+ }
+
+ return retval;
+}
+
+void XsdSchema::addAnonymousType(const SchemaType::Ptr &type)
+{
+ const QWriteLocker locker(&m_lock);
+
+ // search for not used anonymous type name
+ QXmlName typeName = type->name(m_namePool);
+ while (m_anonymousTypes.contains(typeName)) {
+ typeName = m_namePool->allocateQName(QString(), QLatin1String("merged_") + m_namePool->stringForLocalName(typeName.localName()), QString());
+ }
+
+ m_anonymousTypes.insert(typeName, type);
+}
+
+SchemaType::List XsdSchema::anonymousTypes() const
+{
+ const QReadLocker locker(&m_lock);
+
+ return m_anonymousTypes.values();
+}
+
+void XsdSchema::addAttributeGroup(const XsdAttributeGroup::Ptr &group)
+{
+ const QWriteLocker locker(&m_lock);
+
+ m_attributeGroups.insert(group->name(m_namePool), group);
+}
+
+XsdAttributeGroup::Ptr XsdSchema::attributeGroup(const QXmlName name) const
+{
+ const QReadLocker locker(&m_lock);
+
+ return m_attributeGroups.value(name);
+}
+
+XsdAttributeGroup::List XsdSchema::attributeGroups() const
+{
+ const QReadLocker locker(&m_lock);
+
+ return m_attributeGroups.values();
+}
+
+void XsdSchema::addElementGroup(const XsdModelGroup::Ptr &group)
+{
+ const QWriteLocker locker(&m_lock);
+
+ m_elementGroups.insert(group->name(m_namePool), group);
+}
+
+XsdModelGroup::Ptr XsdSchema::elementGroup(const QXmlName &name) const
+{
+ const QReadLocker locker(&m_lock);
+
+ return m_elementGroups.value(name);
+}
+
+XsdModelGroup::List XsdSchema::elementGroups() const
+{
+ const QReadLocker locker(&m_lock);
+
+ return m_elementGroups.values();
+}
+
+void XsdSchema::addNotation(const XsdNotation::Ptr &notation)
+{
+ const QWriteLocker locker(&m_lock);
+
+ m_notations.insert(notation->name(m_namePool), notation);
+}
+
+XsdNotation::Ptr XsdSchema::notation(const QXmlName &name) const
+{
+ const QReadLocker locker(&m_lock);
+
+ return m_notations.value(name);
+}
+
+XsdNotation::List XsdSchema::notations() const
+{
+ const QReadLocker locker(&m_lock);
+
+ return m_notations.values();
+}
+
+void XsdSchema::addIdentityConstraint(const XsdIdentityConstraint::Ptr &constraint)
+{
+ const QWriteLocker locker(&m_lock);
+
+ m_identityConstraints.insert(constraint->name(m_namePool), constraint);
+}
+
+XsdIdentityConstraint::Ptr XsdSchema::identityConstraint(const QXmlName &name) const
+{
+ const QReadLocker locker(&m_lock);
+
+ return m_identityConstraints.value(name);
+}
+
+XsdIdentityConstraint::List XsdSchema::identityConstraints() const
+{
+ const QReadLocker locker(&m_lock);
+
+ return m_identityConstraints.values();
+}
+
+QT_END_NAMESPACE
diff --git a/src/xmlpatterns/schema/qxsdschema_p.h b/src/xmlpatterns/schema/qxsdschema_p.h
new file mode 100644
index 0000000..d697673
--- /dev/null
+++ b/src/xmlpatterns/schema/qxsdschema_p.h
@@ -0,0 +1,301 @@
+/****************************************************************************
+**
+** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtXmlPatterns of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+
+#ifndef Patternist_XsdSchema_H
+#define Patternist_XsdSchema_H
+
+#include "qschematype_p.h"
+#include "qxsdannotated_p.h"
+#include "qxsdattribute_p.h"
+#include "qxsdattributegroup_p.h"
+#include "qxsdcomplextype_p.h"
+#include "qxsdelement_p.h"
+#include "qxsdidentityconstraint_p.h"
+#include "qxsdmodelgroup_p.h"
+#include "qxsdnotation_p.h"
+#include "qxsdsimpletype_p.h"
+
+#include <QtCore/QHash>
+#include <QtCore/QReadWriteLock>
+
+/**
+ * @defgroup Patternist_schema XML Schema Processing
+ */
+
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+namespace QPatternist
+{
+ /**
+ * @short Represents a XSD schema object.
+ *
+ * The class provides access to all components of a parsed XSD.
+ *
+ * @note In the documentation of this class objects, which are direct
+ * children of the <em>schema</em> object, are called top-level objects.
+ *
+ * @see <a href="http://www.w3.org/Submission/2004/SUBM-xmlschema-api-20040309/xml-schema-api.html#Interface-XSModel">XML Schema API reference</a>
+ * @ingroup Patternist_schema
+ * @author Tobias Koenig <tobias.koenig@trolltech.com>
+ */
+ class XsdSchema : public QSharedData, public XsdAnnotated
+ {
+ public:
+ typedef QExplicitlySharedDataPointer<XsdSchema> Ptr;
+ typedef QList<XsdSchema::Ptr> List;
+
+ /**
+ * Creates a new schema object.
+ *
+ * @param namePool The namepool that should be used for names of
+ * all schema components.
+ */
+ XsdSchema(const NamePool::Ptr &namePool);
+
+ /**
+ * Destroys the schema object.
+ */
+ ~XsdSchema();
+
+ /**
+ * Returns the namepool that is used for names of
+ * all schema components.
+ */
+ NamePool::Ptr namePool() const;
+
+ /**
+ * Sets the @p targetNamespace of the schema.
+ */
+ void setTargetNamespace(const QString &targetNamespace);
+
+ /**
+ * Returns the target namespace of the schema.
+ */
+ QString targetNamespace() const;
+
+ /**
+ * Adds a new top-level @p element to the schema.
+ *
+ * @param element The new element.
+ * @see <a href="http://www.w3.org/TR/xmlschema11-1/#declare-element">Element Declaration</a>
+ */
+ void addElement(const XsdElement::Ptr &element);
+
+ /**
+ * Returns the top-level element of the schema with
+ * the given @p name or an empty pointer if none exist.
+ */
+ XsdElement::Ptr element(const QXmlName &name) const;
+
+ /**
+ * Returns the list of all top-level elements.
+ */
+ XsdElement::List elements() const;
+
+ /**
+ * Adds a new top-level @p attribute to the schema.
+ *
+ * @param attribute The new attribute.
+ * @see <a href="http://www.w3.org/TR/xmlschema11-1/#declare-attribute">Attribute Declaration</a>
+ */
+ void addAttribute(const XsdAttribute::Ptr &attribute);
+
+ /**
+ * Returns the top-level attribute of the schema with
+ * the given @p name or an empty pointer if none exist.
+ */
+ XsdAttribute::Ptr attribute(const QXmlName &name) const;
+
+ /**
+ * Returns the list of all top-level attributes.
+ */
+ XsdAttribute::List attributes() const;
+
+ /**
+ * Adds a new top-level @p type to the schema.
+ * That can be a simple or a complex type.
+ *
+ * @param type The new type.
+ * @see <a href="http://www.w3.org/TR/xmlschema11-1/#declare-datatype">Simple Type Declaration</a>
+ * @see <a href="http://www.w3.org/TR/xmlschema11-1/#declare-type">Complex Type Declaration</a>
+ */
+ void addType(const SchemaType::Ptr &type);
+
+ /**
+ * Returns the top-level type of the schema with
+ * the given @p name or an empty pointer if none exist.
+ */
+ SchemaType::Ptr type(const QXmlName &name) const;
+
+ /**
+ * Returns the list of all top-level types.
+ */
+ SchemaType::List types() const;
+
+ /**
+ * Returns the list of all top-level simple types.
+ */
+ XsdSimpleType::List simpleTypes() const;
+
+ /**
+ * Returns the list of all top-level complex types.
+ */
+ XsdComplexType::List complexTypes() const;
+
+ /**
+ * Adds an anonymous @p type to the schema.
+ * Anonymous types have no name and are declared
+ * locally inside an element object.
+ *
+ * @param type The new anonymous type.
+ */
+ void addAnonymousType(const SchemaType::Ptr &type);
+
+ /**
+ * Returns the list of all anonymous types.
+ */
+ SchemaType::List anonymousTypes() const;
+
+ /**
+ * Adds a new top-level attribute @p group to the schema.
+ *
+ * @param group The new attribute group.
+ * @see <a href="http://www.w3.org/TR/xmlschema11-1/#declare-attributeGroup">Attribute Group Declaration</a>
+ */
+ void addAttributeGroup(const XsdAttributeGroup::Ptr &group);
+
+ /**
+ * Returns the top-level attribute group of the schema with
+ * the given @p name or an empty pointer if none exist.
+ */
+ XsdAttributeGroup::Ptr attributeGroup(const QXmlName name) const;
+
+ /**
+ * Returns the list of all top-level attribute groups.
+ */
+ XsdAttributeGroup::List attributeGroups() const;
+
+ /**
+ * Adds a new top-level element @p group to the schema.
+ *
+ * @param group The new element group.
+ * @see <a href="http://www.w3.org/TR/xmlschema11-1/#declare-namedModelGroup">Element Group Declaration</a>
+ */
+ void addElementGroup(const XsdModelGroup::Ptr &group);
+
+ /**
+ * Returns the top-level element group of the schema with
+ * the given @p name or an empty pointer if none exist.
+ */
+ XsdModelGroup::Ptr elementGroup(const QXmlName &name) const;
+
+ /**
+ * Returns the list of all top-level element groups.
+ */
+ XsdModelGroup::List elementGroups() const;
+
+ /**
+ * Adds a new top-level @p notation to the schema.
+ *
+ * @param notation The new notation.
+ * @see <a href="http://www.w3.org/TR/xmlschema11-1/#declare-notation">Notation Declaration</a>
+ */
+ void addNotation(const XsdNotation::Ptr &notation);
+
+ /**
+ * Returns the top-level notation of the schema with
+ * the given @p name or an empty pointer if none exist.
+ */
+ XsdNotation::Ptr notation(const QXmlName &name) const;
+
+ /**
+ * Returns the list of all top-level notations.
+ */
+ XsdNotation::List notations() const;
+
+ /**
+ * Adds a new identity @p constraint to the schema.
+ */
+ void addIdentityConstraint(const XsdIdentityConstraint::Ptr &constraint);
+
+ /**
+ * Returns the identity constraint with the given @p name
+ * or an empty pointer if none exist.
+ */
+ XsdIdentityConstraint::Ptr identityConstraint(const QXmlName &name) const;
+
+ /**
+ * Returns the list of all identity constraints in this schema.
+ */
+ XsdIdentityConstraint::List identityConstraints() const;
+
+ private:
+ NamePool::Ptr m_namePool;
+ QString m_targetNamespace;
+ QHash<QXmlName, XsdElement::Ptr> m_elements;
+ QHash<QXmlName, XsdAttribute::Ptr> m_attributes;
+ QHash<QXmlName, SchemaType::Ptr> m_types;
+ QHash<QXmlName, SchemaType::Ptr> m_anonymousTypes;
+ QHash<QXmlName, XsdAttributeGroup::Ptr> m_attributeGroups;
+ QHash<QXmlName, XsdModelGroup::Ptr> m_elementGroups;
+ QHash<QXmlName, XsdNotation::Ptr> m_notations;
+ QHash<QXmlName, XsdIdentityConstraint::Ptr> m_identityConstraints;
+ mutable QReadWriteLock m_lock;
+ };
+}
+
+QT_END_NAMESPACE
+
+QT_END_HEADER
+
+#endif
diff --git a/src/xmlpatterns/schema/qxsdschemachecker.cpp b/src/xmlpatterns/schema/qxsdschemachecker.cpp
new file mode 100644
index 0000000..d2001eb
--- /dev/null
+++ b/src/xmlpatterns/schema/qxsdschemachecker.cpp
@@ -0,0 +1,2061 @@
+/****************************************************************************
+**
+** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the QtXmlPatterns of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "qxsdschemachecker_p.h"
+
+#include "qderivedinteger_p.h"
+#include "qderivedstring_p.h"
+#include "qpatternplatform_p.h"
+#include "qqnamevalue_p.h"
+#include "qsourcelocationreflection_p.h"
+#include "qvaluefactory_p.h"
+#include "qxsdattributereference_p.h"
+#include "qxsdparticlechecker_p.h"
+#include "qxsdreference_p.h"
+#include "qxsdschemacontext_p.h"
+#include "qxsdschemahelper_p.h"
+#include "qxsdschemaparsercontext_p.h"
+#include "qxsdschematypesfactory_p.h"
+#include "qxsdtypechecker_p.h"
+
+#include "qxsdschemachecker_helper.cpp"
+
+QT_BEGIN_NAMESPACE
+
+using namespace QPatternist;
+
+XsdSchemaChecker::XsdSchemaChecker(const QExplicitlySharedDataPointer<XsdSchemaContext> &context, const XsdSchemaParserContext *parserContext)
+ : m_context(context)
+ , m_namePool(parserContext->namePool())
+ , m_schema(parserContext->schema())
+{
+ setupAllowedAtomicFacets();
+}
+
+XsdSchemaChecker::~XsdSchemaChecker()
+{
+}
+
+/*
+ * This method is called after the resolver has set the base type for every
+ * type and information about deriavtion and 'is simple type vs. is complex type'
+ * are available.
+ */
+void XsdSchemaChecker::basicCheck()
+{
+ // first check that there is no circular inheritance, only the
+ // wxsSuperType is used here
+ checkBasicCircularInheritances();
+
+ // check the basic constraints like simple type can not inherit from complex type etc.
+ checkBasicSimpleTypeConstraints();
+ checkBasicComplexTypeConstraints();
+}
+
+void XsdSchemaChecker::check()
+{
+ checkCircularInheritances();
+ checkInheritanceRestrictions();
+ checkSimpleDerivationRestrictions();
+ checkSimpleTypeConstraints();
+ checkComplexTypeConstraints();
+ checkDuplicatedAttributeUses();
+
+ checkElementConstraints();
+ checkAttributeConstraints();
+ checkAttributeUseConstraints();
+// checkElementDuplicates();
+}
+
+void XsdSchemaChecker::addComponentLocationHash(const ComponentLocationHash &hash)
+{
+ m_componentLocationHash.unite(hash);
+}
+
+/**
+ * Checks whether the @p otherType is the same as @p myType or if one of its
+ * ancestors is the same as @p myType.
+ */
+static bool matchesType(const SchemaType::Ptr &myType, const SchemaType::Ptr &otherType, QSet<SchemaType::Ptr> visitedTypes)
+{
+ bool retval = false;
+
+ if (otherType) {
+ if (visitedTypes.contains(otherType)) {
+ return true;
+ } else {
+ visitedTypes.insert(otherType);
+ }
+ // simple types can have different varieties, so we have to check each of them
+ if (otherType->isSimpleType()) {
+ const XsdSimpleType::Ptr simpleType = otherType;
+ if (simpleType->category() == XsdSimpleType::SimpleTypeAtomic) {
+ // for atomic type we use the same test as in SchemaType::wxsTypeMatches
+ retval = (myType == simpleType ? true : matchesType(myType, simpleType->wxsSuperType(), visitedTypes));
+ } else if (simpleType->category() == XsdSimpleType::SimpleTypeList) {
+ // for list type we test against the itemType property
+ retval = (myType == simpleType->itemType() ? true : matchesType(myType, simpleType->itemType()->wxsSuperType(), visitedTypes));
+ } else if (simpleType->category() == XsdSimpleType::SimpleTypeUnion) {
+ // for union type we test against each member type
+ const XsdSimpleType::List members = simpleType->memberTypes();
+ for (int i = 0; i < members.count(); ++i) {
+ if (myType == members.at(i) ? true : matchesType(myType, members.at(i)->wxsSuperType(), visitedTypes)) {
+ retval = true;
+ break;
+ }
+ }
+ } else {
+ // reached xsAnySimple type whichs category is None
+ retval = false;
+ }
+ } else {
+ // if no simple type we handle it like in SchemaType::wxsTypeMatches
+ retval = (myType == otherType ? true : matchesType(myType, otherType->wxsSuperType(), visitedTypes));
+ }
+ } else // if otherType is null it doesn't match
+ retval = false;
+
+ return retval;
+}
+
+/**
+ * Checks whether there is a circular inheritance for the union inheritance.
+ */
+static bool hasCircularUnionInheritance(const XsdSimpleType::Ptr &type, const SchemaType::Ptr &otherType, NamePool::Ptr &namePool)
+{
+ if (type == otherType) {
+ return true;
+ }
+
+ if (!otherType->isSimpleType() || !otherType->isDefinedBySchema()) {
+ return false;
+ }
+
+ const XsdSimpleType::Ptr simpleOtherType = otherType;
+
+ if (simpleOtherType->category() == XsdSimpleType::SimpleTypeUnion) {
+ const XsdSimpleType::List memberTypes = simpleOtherType->memberTypes();
+ for (int i = 0; i < memberTypes.count(); ++i) {
+ if (otherType->wxsSuperType() == type) {
+ return true;
+ }
+ if (hasCircularUnionInheritance(type, memberTypes.at(i), namePool)) {
+ return true;
+ }
+ }
+ }
+
+ return false;
+}
+
+static inline bool wxsTypeMatches(const SchemaType::Ptr &type, const SchemaType::Ptr &otherType, QSet<SchemaType::Ptr> &visitedTypes, SchemaType::Ptr &conflictingType)
+{
+ if (!otherType)
+ return false;
+
+ if (visitedTypes.contains(otherType)) { // inheritance loop detected
+ conflictingType = otherType;
+ return true;
+ } else {
+ visitedTypes.insert(otherType);
+ }
+
+ if (type == otherType)
+ return true;
+
+ return wxsTypeMatches(type, otherType->wxsSuperType(), visitedTypes, conflictingType);
+}
+
+void XsdSchemaChecker::checkBasicCircularInheritances()
+{
+ // check all global types...
+ SchemaType::List types = m_schema->types();
+
+ // .. and anonymous types
+ types << m_schema->anonymousTypes();
+
+ for (int i = 0; i < types.count(); ++i) {
+ const SchemaType::Ptr type = types.at(i);
+ const QSourceLocation location = sourceLocationForType(type);
+
+ // @see http://www.w3.org/TR/xmlschema11-1/#ct-props-correct 3)
+
+ // check normal base type inheritance
+ QSet<SchemaType::Ptr> visitedTypes;
+ SchemaType::Ptr conflictingType;
+
+ if (wxsTypeMatches(type, type->wxsSuperType(), visitedTypes, conflictingType)) {
+ if (conflictingType)
+ m_context->error(QtXmlPatterns::tr("%1 has inheritance loop in its base type %2")
+ .arg(formatType(m_namePool, type))
+ .arg(formatType(m_namePool, conflictingType)),
+ XsdSchemaContext::XSDError, location);
+ else
+ m_context->error(QtXmlPatterns::tr("circular inheritance of base type %1").arg(formatType(m_namePool, type)), XsdSchemaContext::XSDError, location);
+
+ return;
+ }
+ }
+}
+
+void XsdSchemaChecker::checkCircularInheritances()
+{
+ // check all global types...
+ SchemaType::List types = m_schema->types();
+
+ // .. and anonymous types
+ types << m_schema->anonymousTypes();
+
+ for (int i = 0; i < types.count(); ++i) {
+ const SchemaType::Ptr type = types.at(i);
+ const QSourceLocation location = sourceLocationForType(type);
+
+ // @see http://www.w3.org/TR/xmlschema11-1/#ct-props-correct 3)
+
+ // check normal base type inheritance
+ QSet<SchemaType::Ptr> visitedTypes;
+ if (matchesType(type, type->wxsSuperType(), visitedTypes)) {
+ m_context->error(QtXmlPatterns::tr("circular inheritance of base type %1").arg(formatType(m_namePool, type)), XsdSchemaContext::XSDError, location);
+ return;
+ }
+
+ // check union member inheritance
+ if (type->isSimpleType() && type->isDefinedBySchema()) {
+ const XsdSimpleType::Ptr simpleType = type;
+ if (simpleType->category() == XsdSimpleType::SimpleTypeUnion) {
+ const XsdSimpleType::List memberTypes = simpleType->memberTypes();
+ for (int j = 0; j < memberTypes.count(); ++j) {
+ if (hasCircularUnionInheritance(simpleType, memberTypes.at(j), m_namePool)) {
+ m_context->error(QtXmlPatterns::tr("circular inheritance of union %1").arg(formatType(m_namePool, type)), XsdSchemaContext::XSDError, location);
+ return;
+ }
+ }
+ }
+ }
+ }
+}
+
+void XsdSchemaChecker::checkInheritanceRestrictions()
+{
+ // check all global types...
+ SchemaType::List types = m_schema->types();
+
+ // .. and anonymous types
+ types << m_schema->anonymousTypes();
+
+ for (int i = 0; i < types.count(); ++i) {
+ const SchemaType::Ptr type = types.at(i);
+ const QSourceLocation location = sourceLocationForType(type);
+
+ // check inheritance restrictions given by final property of base class
+ const SchemaType::Ptr baseType = type->wxsSuperType();
+ if (baseType->isDefinedBySchema()) {
+ if ((type->derivationMethod() == SchemaType::DerivationRestriction) && (baseType->derivationConstraints() & SchemaType::RestrictionConstraint)) {
+ m_context->error(QtXmlPatterns::tr("%1 is not allowed to derive from %2 by restriction as the latter defines it as final")
+ .arg(formatType(m_namePool, type))
+ .arg(formatType(m_namePool, baseType)), XsdSchemaContext::XSDError, location);
+ return;
+ } else if ((type->derivationMethod() == SchemaType::DerivationExtension) && (baseType->derivationConstraints() & SchemaType::ExtensionConstraint)) {
+ m_context->error(QtXmlPatterns::tr("%1 is not allowed to derive from %2 by extension as the latter defines it as final")
+ .arg(formatType(m_namePool, type))
+ .arg(formatType(m_namePool, baseType)), XsdSchemaContext::XSDError, location);
+ return;
+ }
+ }
+ }
+}
+
+void XsdSchemaChecker::checkBasicSimpleTypeConstraints()
+{
+ // check all global types...
+ SchemaType::List types = m_schema->types();
+
+ // .. and anonymous types
+ types << m_schema->anonymousTypes();
+
+ for (int i = 0; i < types.count(); ++i) {
+ const SchemaType::Ptr type = types.at(i);
+
+ if (!type->isSimpleType())
+ continue;
+
+ const XsdSimpleType::Ptr simpleType = type;
+
+ const QSourceLocation location = sourceLocation(simpleType);
+
+ // check inheritance restrictions of simple type defined by schema constraints
+ const SchemaType::Ptr baseType = simpleType->wxsSuperType();
+
+ if (baseType->isComplexType() && (simpleType->name(m_namePool) != BuiltinTypes::xsAnySimpleType->name(m_namePool))) {
+ m_context->error(QtXmlPatterns::tr("base type of simple type %1 cannot be complex type %2")
+ .arg(formatType(m_namePool, simpleType))
+ .arg(formatType(m_namePool, baseType)),
+ XsdSchemaContext::XSDError, location);
+ return;
+ }
+
+ if (baseType == BuiltinTypes::xsAnyType) {
+ if (type->name(m_namePool) != BuiltinTypes::xsAnySimpleType->name(m_namePool)) {
+ m_context->error(QtXmlPatterns::tr("simple type %1 cannot have direct base type %2")
+ .arg(formatType(m_namePool, simpleType))
+ .arg(formatType(m_namePool, BuiltinTypes::xsAnyType)),
+ XsdSchemaContext::XSDError, location);
+ return;
+ }
+ }
+ }
+}
+
+void XsdSchemaChecker::checkSimpleTypeConstraints()
+{
+ // check all global types...
+ SchemaType::List types = m_schema->types();
+
+ // .. and anonymous types
+ types << m_schema->anonymousTypes();
+
+ for (int i = 0; i < types.count(); ++i) {
+ const SchemaType::Ptr type = types.at(i);
+
+ if (!type->isSimpleType())
+ continue;
+
+ const XsdSimpleType::Ptr simpleType = type;
+
+ const QSourceLocation location = sourceLocation(simpleType);
+
+ if (simpleType->category() == XsdSimpleType::None) {
+ // additional checks
+ // check that no user defined type has xs:AnySimpleType as base type (except xs:AnyAtomicType)
+ if (simpleType->wxsSuperType()->name(m_namePool) == BuiltinTypes::xsAnySimpleType->name(m_namePool)) {
+ if (simpleType->name(m_namePool) != BuiltinTypes::xsAnyAtomicType->name(m_namePool)) {
+ m_context->error(QtXmlPatterns::tr("simple type %1 is not allowed to have base type %2")
+ .arg(formatType(m_namePool, simpleType))
+ .arg(formatType(m_namePool, simpleType->wxsSuperType())),
+ XsdSchemaContext::XSDError, location);
+ return;
+ }
+ }
+ // check that no user defined type has xs:AnyAtomicType as base type
+ if (simpleType->wxsSuperType()->name(m_namePool) == BuiltinTypes::xsAnyAtomicType->name(m_namePool)) {
+ m_context->error(QtXmlPatterns::tr("simple type %1 is not allowed to have base type %2")
+ .arg(formatType(m_namePool, simpleType))
+ .arg(formatType(m_namePool, simpleType->wxsSuperType())),
+ XsdSchemaContext::XSDError, location);
+ return;
+ }
+ }
+
+ // @see http://www.w3.org/TR/xmlschema11-1/#d0e37310
+ if (simpleType->category() == XsdSimpleType::SimpleTypeAtomic) {
+ // 1.1
+ if ((simpleType->wxsSuperType()->category() != XsdSimpleType::SimpleTypeAtomic) && (simpleType->name(m_namePool) != BuiltinTypes::xsAnyAtomicType->name(m_namePool))) {
+ m_context->error(QtXmlPatterns::tr("simple type %1 can only have simple atomic type as base type")
+ .arg(formatType(m_namePool, simpleType)),
+ XsdSchemaContext::XSDError, location);
+ }
+ // 1.2
+ if (simpleType->wxsSuperType()->derivationConstraints() & SchemaType::RestrictionConstraint) {
+ m_context->error(QtXmlPatterns::tr("simple type %1 cannot derive from %2 as the latter defines restriction as final")
+ .arg(formatType(m_namePool, simpleType->wxsSuperType()))
+ .arg(formatType(m_namePool, simpleType)),
+ XsdSchemaContext::XSDError, location);
+ }
+
+ // 1.3
+ // checked by checkConstrainingFacets already
+ } else if (simpleType->category() == XsdSimpleType::SimpleTypeList) {
+ const AnySimpleType::Ptr itemType = simpleType->itemType();
+
+ // 2.1 or @see http://www.w3.org/TR/xmlschema-2/#cos-list-of-atomic
+ if (itemType->category() != SchemaType::SimpleTypeAtomic && itemType->category() != SchemaType::SimpleTypeUnion) {
+ m_context->error(QtXmlPatterns::tr("variety of item type of %1 must be either atomic or union").arg(formatType(m_namePool, simpleType)), XsdSchemaContext::XSDError, location);
+ return;
+ }
+
+ // 2.1 second part
+ if (itemType->category() == SchemaType::SimpleTypeUnion && itemType->isDefinedBySchema()) {
+ const XsdSimpleType::Ptr simpleItemType = itemType;
+ const AnySimpleType::List memberTypes = simpleItemType->memberTypes();
+ for (int j = 0; j < memberTypes.count(); ++j) {
+ if (memberTypes.at(j)->category() != SchemaType::SimpleTypeAtomic) {
+ m_context->error(QtXmlPatterns::tr("variety of member types of %1 must be atomic").arg(formatType(m_namePool, simpleItemType)), XsdSchemaContext::XSDError, location);
+ return;
+ }
+ }
+ }
+
+ // 2.2.1
+ if (simpleType->wxsSuperType()->name(m_namePool) == BuiltinTypes::xsAnySimpleType->name(m_namePool)) {
+ if (itemType->isSimpleType() && itemType->isDefinedBySchema()) {
+ const XsdSimpleType::Ptr simpleItemType = itemType;
+
+ // 2.2.1.1
+ if (simpleItemType->derivationConstraints() & XsdSimpleType::ListConstraint) {
+ m_context->error(QtXmlPatterns::tr("%1 is not allowed to derive from %2 by list as the latter defines it as final")
+ .arg(formatType(m_namePool, simpleType))
+ .arg(formatType(m_namePool, simpleItemType)), XsdSchemaContext::XSDError, location);
+ return;
+ }
+
+ // 2.2.1.2
+ const XsdFacet::Hash facets = simpleType->facets();
+ XsdFacet::HashIterator it(facets);
+
+ bool invalidFacetFound = false;
+ while (it.hasNext()) {
+ it.next();
+ if (it.key() != XsdFacet::WhiteSpace) {
+ invalidFacetFound = true;
+ break;
+ }
+ }
+
+ if (invalidFacetFound) {
+ m_context->error(QtXmlPatterns::tr("simple type %1 is only allowed to have %2 facet")
+ .arg(formatType(m_namePool, simpleType))
+ .arg(formatKeyword("whiteSpace")),
+ XsdSchemaContext::XSDError, location);
+ return;
+ }
+ }
+ } else { // 2.2.2
+ // 2.2.2.1
+ if (simpleType->wxsSuperType()->category() != XsdSimpleType::SimpleTypeList) {
+ m_context->error(QtXmlPatterns::tr("base type of simple type %1 must have variety of type list").arg(formatType(m_namePool, simpleType)), XsdSchemaContext::XSDError, location);
+ return;
+ }
+
+ // 2.2.2.2
+ if (simpleType->wxsSuperType()->derivationConstraints() & SchemaType::RestrictionConstraint) {
+ m_context->error(QtXmlPatterns::tr("base type of simple type %1 has defined derivation by restriction as final").arg(formatType(m_namePool, simpleType)), XsdSchemaContext::XSDError, location);
+ return;
+ }
+
+ // 2.2.2.3
+ if (!XsdSchemaHelper::isSimpleDerivationOk(itemType, XsdSimpleType::Ptr(simpleType->wxsSuperType())->itemType(), SchemaType::DerivationConstraints())) {
+ m_context->error(QtXmlPatterns::tr("item type of base type does not match item type of %1").arg(formatType(m_namePool, simpleType)), XsdSchemaContext::XSDError, location);
+ return;
+ }
+
+ // 2.2.2.4
+ const XsdFacet::Hash facets = simpleType->facets();
+ XsdFacet::HashIterator it(facets);
+
+ bool invalidFacetFound = false;
+ XsdFacet::Type invalidFacetType = XsdFacet::None;
+ while (it.hasNext()) {
+ it.next();
+ const XsdFacet::Type facetType = it.key();
+ if (facetType != XsdFacet::Length &&
+ facetType != XsdFacet::MinimumLength &&
+ facetType != XsdFacet::MaximumLength &&
+ facetType != XsdFacet::WhiteSpace &&
+ facetType != XsdFacet::Pattern &&
+ facetType != XsdFacet::Enumeration) {
+ invalidFacetType = facetType;
+ invalidFacetFound = true;
+ break;
+ }
+ }
+
+ if (invalidFacetFound) {
+ m_context->error(QtXmlPatterns::tr("simple type %1 contains not allowed facet type %2")
+ .arg(formatType(m_namePool, simpleType))
+ .arg(formatKeyword(XsdFacet::typeName(invalidFacetType))),
+ XsdSchemaContext::XSDError, location);
+ return;
+ }
+
+ // 2.2.2.5
+ // TODO: check value constraints
+ }
+
+
+ } else if (simpleType->category() == XsdSimpleType::SimpleTypeUnion) {
+ const AnySimpleType::List memberTypes = simpleType->memberTypes();
+
+ if (simpleType->wxsSuperType()->name(m_namePool) == BuiltinTypes::xsAnySimpleType->name(m_namePool)) { // 3.1.1
+ // 3.3.1.1
+ for (int i = 0; i < memberTypes.count(); ++i) {
+ const AnySimpleType::Ptr memberType = memberTypes.at(i);
+
+ if (memberType->derivationConstraints() & XsdSimpleType::UnionConstraint) {
+ m_context->error(QtXmlPatterns::tr("%1 is not allowed to derive from %2 by union as the latter defines it as final")
+ .arg(formatType(m_namePool, simpleType))
+ .arg(formatType(m_namePool, memberType)), XsdSchemaContext::XSDError, location);
+ return;
+ }
+ }
+
+ // 3.3.1.2
+ if (!simpleType->facets().isEmpty()) {
+ m_context->error(QtXmlPatterns::tr("%1 is not allowed to have any facets")
+ .arg(formatType(m_namePool, simpleType)),
+ XsdSchemaContext::XSDError, location);
+ return;
+ }
+ } else {
+ // 3.1.2.1
+ if (simpleType->wxsSuperType()->category() != SchemaType::SimpleTypeUnion) {
+ m_context->error(QtXmlPatterns::tr("base type %1 of simple type %2 must have variety of union")
+ .arg(formatType(m_namePool, simpleType->wxsSuperType()))
+ .arg(formatType(m_namePool, simpleType)),
+ XsdSchemaContext::XSDError, location);
+ return;
+ }
+
+ // 3.1.2.2
+ if (simpleType->wxsSuperType()->derivationConstraints() & SchemaType::DerivationRestriction) {
+ m_context->error(QtXmlPatterns::tr("base type %1 of simple type %2 is not allowed to have restriction in %3 attribute")
+ .arg(formatType(m_namePool, simpleType->wxsSuperType()))
+ .arg(formatType(m_namePool, simpleType))
+ .arg(formatAttribute("final")),
+ XsdSchemaContext::XSDError, location);
+ return;
+ }
+
+ //3.1.2.3
+ if (simpleType->wxsSuperType()->isDefinedBySchema()) {
+ const XsdSimpleType::Ptr simpleBaseType(simpleType->wxsSuperType());
+
+ AnySimpleType::List baseMemberTypes = simpleBaseType->memberTypes();
+ for (int i = 0; i < memberTypes.count(); ++i) {
+ const AnySimpleType::Ptr memberType = memberTypes.at(i);
+ const AnySimpleType::Ptr baseMemberType = baseMemberTypes.at(i);
+
+ if (!XsdSchemaHelper::isSimpleDerivationOk(memberType, baseMemberType, SchemaType::DerivationConstraints())) {
+ m_context->error(QtXmlPatterns::tr("member type %1 cannot be derived from member type %2 of %3's base type %4")
+ .arg(formatType(m_namePool, memberType))
+ .arg(formatType(m_namePool, baseMemberType))
+ .arg(formatType(m_namePool, simpleType))
+ .arg(formatType(m_namePool, simpleBaseType)),
+ XsdSchemaContext::XSDError, location);
+ }
+ }
+ }
+
+ // 3.1.2.4
+ const XsdFacet::Hash facets = simpleType->facets();
+ XsdFacet::HashIterator it(facets);
+
+ bool invalidFacetFound = false;
+ XsdFacet::Type invalidFacetType = XsdFacet::None;
+ while (it.hasNext()) {
+ it.next();
+ const XsdFacet::Type facetType = it.key();
+ if (facetType != XsdFacet::Pattern &&
+ facetType != XsdFacet::Enumeration) {
+ invalidFacetType = facetType;
+ invalidFacetFound = true;
+ break;
+ }
+ }
+
+ if (invalidFacetFound) {
+ m_context->error(QtXmlPatterns::tr("simple type %1 contains not allowed facet type %2")
+ .arg(formatType(m_namePool, simpleType))
+ .arg(formatKeyword(XsdFacet::typeName(invalidFacetType))),
+ XsdSchemaContext::XSDError, location);
+ return;
+ }
+
+ // 3.1.2.5
+ // TODO: check value constraints
+ }
+ }
+ }
+}
+
+void XsdSchemaChecker::checkBasicComplexTypeConstraints()
+{
+ // check all global types...
+ SchemaType::List types = m_schema->types();
+
+ // .. and anonymous types
+ types << m_schema->anonymousTypes();
+
+ for (int i = 0; i < types.count(); ++i) {
+ const SchemaType::Ptr type = types.at(i);
+
+ if (!type->isComplexType() || !type->isDefinedBySchema())
+ continue;
+
+ const XsdComplexType::Ptr complexType = type;
+
+ const QSourceLocation location = sourceLocation(complexType);
+
+ // check inheritance restrictions of complex type defined by schema constraints
+ const SchemaType::Ptr baseType = complexType->wxsSuperType();
+
+ // @see http://www.w3.org/TR/xmlschema11-1/#ct-props-correct 2)
+ if (baseType->isSimpleType() && (complexType->derivationMethod() != XsdComplexType::DerivationExtension)) {
+ m_context->error(QtXmlPatterns::tr("derivation method of %1 must be extension because the base type %2 is a simple type")
+ .arg(formatType(m_namePool, complexType))
+ .arg(formatType(m_namePool, baseType)),
+ XsdSchemaContext::XSDError, location);
+ return;
+ }
+ }
+}
+
+void XsdSchemaChecker::checkComplexTypeConstraints()
+{
+ // check all global types...
+ SchemaType::List types = m_schema->types();
+
+ // .. and anonymous types
+ types << m_schema->anonymousTypes();
+
+ for (int i = 0; i < types.count(); ++i) {
+ const SchemaType::Ptr type = types.at(i);
+
+ if (!type->isComplexType() || !type->isDefinedBySchema())
+ continue;
+
+ const XsdComplexType::Ptr complexType = type;
+
+ const QSourceLocation location = sourceLocation(complexType);
+
+ if (complexType->contentType()->particle()) {
+ XsdElement::Ptr duplicatedElement;
+ if (XsdParticleChecker::hasDuplicatedElements(complexType->contentType()->particle(), m_namePool, duplicatedElement)) {
+ m_context->error(QtXmlPatterns::tr("complex type %1 has duplicated element %2 in its content model")
+ .arg(formatType(m_namePool, complexType))
+ .arg(formatKeyword(duplicatedElement->displayName(m_namePool))),
+ XsdSchemaContext::XSDError, location);
+ return;
+ }
+
+ if (!XsdParticleChecker::isUPAConform(complexType->contentType()->particle(), m_namePool)) {
+ m_context->error(QtXmlPatterns::tr("complex type %1 has non-deterministic content")
+ .arg(formatType(m_namePool, complexType)),
+ XsdSchemaContext::XSDError, location);
+ return;
+ }
+ }
+
+ // check inheritance restrictions of complex type defined by schema constraints
+ const SchemaType::Ptr baseType = complexType->wxsSuperType();
+
+ // @see http://www.w3.org/TR/xmlschema11-1/#cos-ct-extends
+ if (complexType->derivationMethod() == XsdComplexType::DerivationExtension) {
+ if (baseType->isComplexType() && baseType->isDefinedBySchema()) {
+ const XsdComplexType::Ptr complexBaseType = baseType;
+
+ // we can skip 1.1 here, as it is tested in checkInheritanceRestrictions() already
+
+ // 1.2 and 1.3
+ QString errorMsg;
+ if (!XsdSchemaHelper::isValidAttributeUsesExtension(complexType->attributeUses(), complexBaseType->attributeUses(),
+ complexType->attributeWildcard(), complexBaseType->attributeWildcard(), m_context, errorMsg)) {
+ m_context->error(QtXmlPatterns::tr("attributes of complex type %1 are not a valid extension of the attributes of base type %2: %3")
+ .arg(formatType(m_namePool, complexType))
+ .arg(formatType(m_namePool, baseType))
+ .arg(errorMsg),
+ XsdSchemaContext::XSDError, location);
+ return;
+ }
+
+ // 1.4
+ bool validContentType = false;
+ if (complexType->contentType()->variety() == XsdComplexType::ContentType::Simple && complexBaseType->contentType()->variety() == XsdComplexType::ContentType::Simple) {
+ if (complexType->contentType()->simpleType() == complexBaseType->contentType()->simpleType()) {
+ validContentType = true; // 1.4.1
+ }
+ } else if (complexType->contentType()->variety() == XsdComplexType::ContentType::Empty && complexBaseType->contentType()->variety() == XsdComplexType::ContentType::Empty) {
+ validContentType = true; // 1.4.2
+ } else { // 1.4.3
+ if (complexType->contentType()->variety() == XsdComplexType::ContentType::ElementOnly || complexType->contentType()->variety() == XsdComplexType::ContentType::Mixed) { // 1.4.3.1
+ if (complexBaseType->contentType()->variety() == XsdComplexType::ContentType::Empty) {
+ validContentType = true; // 1.4.3.2.1
+ } else { // 1.4.3.2.2
+ if (complexType->contentType()->particle()) { // our own check
+ if ((complexType->contentType()->variety() == XsdComplexType::ContentType::ElementOnly && complexBaseType->contentType()->variety() == XsdComplexType::ContentType::ElementOnly) ||
+ (complexType->contentType()->variety() == XsdComplexType::ContentType::Mixed && complexBaseType->contentType()->variety() == XsdComplexType::ContentType::Mixed)) { // 1.4.3.2.2.1
+ if (isValidParticleExtension(complexType->contentType()->particle(), complexBaseType->contentType()->particle())) {
+ validContentType = true; // 1.4.3.2.2.2
+ }
+ }
+ }
+ // 1.4.3.2.2.3 and 1.4.3.2.2.4 handle 'open content' that we do not support yet
+ }
+ }
+ }
+
+ // 1.5 WTF?!?
+
+ if (!validContentType) {
+ m_context->error(QtXmlPatterns::tr("content model of complex type %1 is not a valid extension of content model of %2")
+ .arg(formatType(m_namePool, complexType))
+ .arg(formatType(m_namePool, complexBaseType)),
+ XsdSchemaContext::XSDError, location);
+ return;
+ }
+
+ } else if (baseType->isSimpleType()) {
+ // 2.1
+ if (complexType->contentType()->variety() != XsdComplexType::ContentType::Simple) {
+ m_context->error(QtXmlPatterns::tr("complex type %1 must have simple content")
+ .arg(formatType(m_namePool, complexType)),
+ XsdSchemaContext::XSDError, location);
+ return;
+ }
+
+ if (complexType->contentType()->simpleType() != baseType) {
+ m_context->error(QtXmlPatterns::tr("complex type %1 must have the same simple type as its base class %2")
+ .arg(formatType(m_namePool, complexType))
+ .arg(formatType(m_namePool, baseType)),
+ XsdSchemaContext::XSDError, location);
+ return;
+ }
+
+ // 2.2 tested in checkInheritanceRestrictions() already
+ }
+ } else if (complexType->derivationMethod() == XsdComplexType::DerivationRestriction) {
+ // @see http://www.w3.org/TR/xmlschema11-1/#d0e21402
+ const SchemaType::Ptr baseType(complexType->wxsSuperType());
+
+ bool derivationOk = false;
+ QString errorMsg;
+
+ // we can partly skip 1 here, as it is tested in checkInheritanceRestrictions() already
+ if (baseType->isComplexType()) {
+
+ // 2.1
+ if (baseType->name(m_namePool) == BuiltinTypes::xsAnyType->name(m_namePool)) {
+ derivationOk = true;
+ }
+
+ if (baseType->isDefinedBySchema()) {
+ const XsdComplexType::Ptr complexBaseType(baseType);
+
+ // 2.2.1
+ if (complexType->contentType()->variety() == XsdComplexType::ContentType::Simple) {
+ // 2.2.2.1
+ if (XsdSchemaHelper::isSimpleDerivationOk(complexType->contentType()->simpleType(), complexBaseType->contentType()->simpleType(), SchemaType::DerivationConstraints()))
+ derivationOk = true;
+
+ // 2.2.2.2
+ if (complexBaseType->contentType()->variety() == XsdComplexType::ContentType::Mixed) {
+ if (XsdSchemaHelper::isParticleEmptiable(complexBaseType->contentType()->particle()))
+ derivationOk = true;
+ }
+ }
+
+ // 2.3.1
+ if (complexType->contentType()->variety() == XsdComplexType::ContentType::Empty) {
+ // 2.3.2.1
+ if (complexBaseType->contentType()->variety() == XsdComplexType::ContentType::Empty)
+ derivationOk = true;
+
+ // 2.3.2.2
+ if (complexBaseType->contentType()->variety() == XsdComplexType::ContentType::ElementOnly || complexBaseType->contentType()->variety() == XsdComplexType::ContentType::Mixed) {
+ if (XsdSchemaHelper::isParticleEmptiable(complexBaseType->contentType()->particle()))
+ derivationOk = true;
+ }
+ }
+
+ // 2.4.1.1
+ if (((complexType->contentType()->variety() == XsdComplexType::ContentType::ElementOnly) &&
+ (complexBaseType->contentType()->variety() == XsdComplexType::ContentType::ElementOnly || complexBaseType->contentType()->variety() == XsdComplexType::ContentType::Mixed)) ||
+ // 2.4.1.2
+ (complexType->contentType()->variety() == XsdComplexType::ContentType::Mixed && complexBaseType->contentType()->variety() == XsdComplexType::ContentType::Mixed)) {
+
+ // 2.4.2
+ if (XsdParticleChecker::subsumes(complexBaseType->contentType()->particle(), complexType->contentType()->particle(), m_context, errorMsg))
+ derivationOk = true;
+ }
+ }
+ }
+
+ if (!derivationOk) {
+ m_context->error(QtXmlPatterns::tr("complex type %1 cannot be derived from base type %2%3")
+ .arg(formatType(m_namePool, complexType))
+ .arg(formatType(m_namePool, baseType))
+ .arg(errorMsg.isEmpty() ? QString() : QLatin1String(": ") + errorMsg),
+ XsdSchemaContext::XSDError, location);
+ return;
+ }
+
+ if (baseType->isDefinedBySchema()) {
+ const XsdComplexType::Ptr complexBaseType(baseType);
+
+ QString errorMsg;
+ if (!XsdSchemaHelper::isValidAttributeUsesRestriction(complexType->attributeUses(), complexBaseType->attributeUses(),
+ complexType->attributeWildcard(), complexBaseType->attributeWildcard(), m_context, errorMsg)) {
+ m_context->error(QtXmlPatterns::tr("attributes of complex type %1 are not a valid restriction from the attributes of base type %2: %3")
+ .arg(formatType(m_namePool, complexType))
+ .arg(formatType(m_namePool, baseType))
+ .arg(errorMsg),
+ XsdSchemaContext::XSDError, location);
+ return;
+ }
+ }
+ }
+
+ // check that complex type with simple content is not allowed to inherit from
+ // built in complex type xs:AnyType
+ if (complexType->contentType()->variety() == XsdComplexType::ContentType::Simple) {
+ if (baseType->name(m_namePool) == BuiltinTypes::xsAnyType->name(m_namePool)) {
+ m_context->error(QtXmlPatterns::tr("complex type %1 with simple content cannot be derived from complex base type %2")
+ .arg(formatType(m_namePool, complexType))
+ .arg(formatType(m_namePool, baseType)),
+ XsdSchemaContext::XSDError, location);
+ return;
+ }
+ }
+ }
+}
+
+void XsdSchemaChecker::checkSimpleDerivationRestrictions()
+{
+ // check all global types...
+ SchemaType::List types = m_schema->types();
+
+ // .. and anonymous types
+ types << m_schema->anonymousTypes();
+
+ for (int i = 0; i < types.count(); ++i) {
+ const SchemaType::Ptr type = types.at(i);
+
+ if (type->isComplexType())
+ continue;
+
+ if (type->category() != SchemaType::SimpleTypeList && type->category() != SchemaType::SimpleTypeUnion)
+ continue;
+
+ const XsdSimpleType::Ptr simpleType = type;
+ const QSourceLocation location = sourceLocation(simpleType);
+
+ // check all simple types derived by list
+ if (simpleType->category() == XsdSimpleType::SimpleTypeList) {
+ const AnySimpleType::Ptr itemType = simpleType->itemType();
+
+ if (itemType->isComplexType()) {
+ m_context->error(QtXmlPatterns::tr("item type of simple type %1 cannot be a complex type")
+ .arg(formatType(m_namePool, simpleType)),
+ XsdSchemaContext::XSDError, location);
+ return;
+ }
+
+
+ if (itemType->isSimpleType() && itemType->isDefinedBySchema()) {
+ const XsdSimpleType::Ptr simpleItemType = itemType;
+ if (simpleItemType->derivationConstraints() & XsdSimpleType::ListConstraint) {
+ m_context->error(QtXmlPatterns::tr("%1 is not allowed to derive from %2 by list as the latter defines it as final")
+ .arg(formatType(m_namePool, simpleType))
+ .arg(formatType(m_namePool, simpleItemType)),
+ XsdSchemaContext::XSDError, location);
+ return;
+ }
+ }
+
+ // @see http://www.w3.org/TR/xmlschema-2/#cos-list-of-atomic
+ if (itemType->category() != SchemaType::SimpleTypeAtomic && itemType->category() != SchemaType::SimpleTypeUnion) {
+ m_context->error(QtXmlPatterns::tr("variety of item type of %1 must be either atomic or union").arg(formatType(m_namePool, simpleType)), XsdSchemaContext::XSDError, location);
+ return;
+ }
+
+ if (itemType->category() == SchemaType::SimpleTypeUnion && itemType->isDefinedBySchema()) {
+ const XsdSimpleType::Ptr simpleItemType = itemType;
+ const AnySimpleType::List memberTypes = simpleItemType->memberTypes();
+ for (int j = 0; j < memberTypes.count(); ++j) {
+ if (memberTypes.at(j)->category() != SchemaType::SimpleTypeAtomic) {
+ m_context->error(QtXmlPatterns::tr("variety of member types of %1 must be atomic").arg(formatType(m_namePool, simpleItemType)), XsdSchemaContext::XSDError, location);
+ return;
+ }
+ }
+ }
+ }
+
+ // check all simple types derived by union
+ if (simpleType->category() == XsdSimpleType::SimpleTypeUnion) {
+ const AnySimpleType::List memberTypes = simpleType->memberTypes();
+
+ for (int i = 0; i < memberTypes.count(); ++i) {
+ const AnySimpleType::Ptr memberType = memberTypes.at(i);
+
+ if (memberType->isComplexType()) {
+ m_context->error(QtXmlPatterns::tr("member type of simple type %1 cannot be a complex type")
+ .arg(formatType(m_namePool, simpleType)),
+ XsdSchemaContext::XSDError, location);
+ return;
+ }
+
+ // @see http://www.w3.org/TR/xmlschema-2/#cos-no-circular-unions
+ if (simpleType->name(m_namePool) == memberType->name(m_namePool)) {
+ m_context->error(QtXmlPatterns::tr("%1 is not allowed to have a member type with the same name as itself")
+ .arg(formatType(m_namePool, simpleType)),
+ XsdSchemaContext::XSDError, location);
+ return;
+ }
+
+ if (memberType->isSimpleType() && memberType->isDefinedBySchema()) {
+ const XsdSimpleType::Ptr simpleMemberType = memberType;
+ if (simpleMemberType->derivationConstraints() & XsdSimpleType::UnionConstraint) {
+ m_context->error(QtXmlPatterns::tr("%1 is not allowed to derive from %2 by union as the latter defines it as final")
+ .arg(formatType(m_namePool, simpleType))
+ .arg(formatType(m_namePool, simpleMemberType)),
+ XsdSchemaContext::XSDError, location);
+ return;
+ }
+ }
+ }
+ }
+ }
+}
+
+void XsdSchemaChecker::checkConstrainingFacets()
+{
+ // first the global simple types
+ const SchemaType::List types = m_schema->types();
+ for (int i = 0; i < types.count(); ++i) {
+ if (!(types.at(i)->isSimpleType()) || !(types.at(i)->isDefinedBySchema()))
+ continue;
+
+ const XsdSimpleType::Ptr simpleType = types.at(i);
+ checkConstrainingFacets(simpleType->facets(), simpleType);
+ }
+
+ // and afterwards all anonymous simple types
+ const SchemaType::List anonymousTypes = m_schema->anonymousTypes();
+ for (int i = 0; i < anonymousTypes.count(); ++i) {
+ if (!(anonymousTypes.at(i)->isSimpleType()) || !(anonymousTypes.at(i)->isDefinedBySchema()))
+ continue;
+
+ const XsdSimpleType::Ptr simpleType = anonymousTypes.at(i);
+ checkConstrainingFacets(simpleType->facets(), simpleType);
+ }
+}
+
+void XsdSchemaChecker::checkConstrainingFacets(const XsdFacet::Hash &facets, const XsdSimpleType::Ptr &simpleType)
+{
+ if (facets.isEmpty())
+ return;
+
+ SchemaType::Ptr comparableBaseType;
+ if (!simpleType->wxsSuperType()->isDefinedBySchema())
+ comparableBaseType = simpleType->wxsSuperType();
+ else
+ comparableBaseType = simpleType->primitiveType();
+
+ const XsdSchemaSourceLocationReflection reflection(sourceLocation(simpleType));
+
+ // start checks
+ if (facets.contains(XsdFacet::Length)) {
+ const XsdFacet::Ptr lengthFacet = facets.value(XsdFacet::Length);
+ const DerivedInteger<TypeNonNegativeInteger>::Ptr lengthValue = lengthFacet->value();
+
+ // @see http://www.w3.org/TR/xmlschema-2/#length-minLength-maxLength
+ if (facets.contains(XsdFacet::MinimumLength)) {
+ const XsdFacet::Ptr minLengthFacet = facets.value(XsdFacet::MinimumLength);
+ const DerivedInteger<TypeNonNegativeInteger>::Ptr minLengthValue = minLengthFacet->value();
+
+ bool foundSuperMinimumLength = false;
+ SchemaType::Ptr baseType = simpleType->wxsSuperType();
+ while (baseType) {
+ const XsdFacet::Hash baseFacets = m_context->facetsForType(baseType);
+ if (baseFacets.contains(XsdFacet::MinimumLength) && !baseFacets.contains(XsdFacet::Length)) {
+ const DerivedInteger<TypeNonNegativeInteger>::Ptr superValue(baseFacets.value(XsdFacet::MinimumLength)->value());
+ if (minLengthValue->toInteger() == superValue->toInteger()) {
+ foundSuperMinimumLength = true;
+ break;
+ }
+ }
+
+ baseType = baseType->wxsSuperType();
+ }
+
+ if ((minLengthValue->toInteger() > lengthValue->toInteger()) || !foundSuperMinimumLength) {
+ m_context->error(QtXmlPatterns::tr("%1 facet collides with %2 facet")
+ .arg(formatKeyword("length"))
+ .arg(formatKeyword("minLength")),
+ XsdSchemaContext::XSDError, sourceLocation(simpleType));
+ return;
+ }
+ }
+
+ // @see http://www.w3.org/TR/xmlschema-2/#length-minLength-maxLength
+ if (facets.contains(XsdFacet::MaximumLength)) {
+ const XsdFacet::Ptr maxLengthFacet = facets.value(XsdFacet::MaximumLength);
+ const DerivedInteger<TypeNonNegativeInteger>::Ptr maxLengthValue = maxLengthFacet->value();
+
+ bool foundSuperMaximumLength = false;
+ SchemaType::Ptr baseType = simpleType->wxsSuperType();
+ while (baseType) {
+ const XsdFacet::Hash baseFacets = m_context->facetsForType(baseType);
+ if (baseFacets.contains(XsdFacet::MaximumLength) && !baseFacets.contains(XsdFacet::Length)) {
+ const DerivedInteger<TypeNonNegativeInteger>::Ptr superValue(baseFacets.value(XsdFacet::MaximumLength)->value());
+ if (maxLengthValue->toInteger() == superValue->toInteger()) {
+ foundSuperMaximumLength = true;
+ break;
+ }
+ }
+
+ baseType = baseType->wxsSuperType();
+ }
+
+ if ((maxLengthValue->toInteger() < lengthValue->toInteger()) || !foundSuperMaximumLength) {
+ m_context->error(QtXmlPatterns::tr("%1 facet collides with %2 facet")
+ .arg(formatKeyword("length"))
+ .arg(formatKeyword("maxLength")),
+ XsdSchemaContext::XSDError, sourceLocation(simpleType));
+ return;
+ }
+ }
+
+ // @see http://www.w3.org/TR/xmlschema-2/#length-valid-restriction
+ if (simpleType->derivationMethod() == XsdSimpleType::DerivationRestriction) {
+ const XsdFacet::Hash baseFacets = m_context->facetsForType(simpleType->wxsSuperType());
+ if (baseFacets.contains(XsdFacet::Length)) {
+ const DerivedInteger<TypeNonNegativeInteger>::Ptr baseValue = baseFacets.value(XsdFacet::Length)->value();
+ if (lengthValue->toInteger() != baseValue->toInteger()) {
+ m_context->error(QtXmlPatterns::tr("%1 facet must have the same value as %2 facet of base type")
+ .arg(formatKeyword("length"))
+ .arg(formatKeyword("length")),
+ XsdSchemaContext::XSDError, sourceLocation(simpleType));
+ return;
+ }
+ }
+ }
+ }
+
+ if (facets.contains(XsdFacet::MinimumLength)) {
+ const XsdFacet::Ptr minLengthFacet = facets.value(XsdFacet::MinimumLength);
+ const DerivedInteger<TypeNonNegativeInteger>::Ptr minLengthValue = minLengthFacet->value();
+
+ if (facets.contains(XsdFacet::MaximumLength)) {
+ const XsdFacet::Ptr maxLengthFacet = facets.value(XsdFacet::MaximumLength);
+ const DerivedInteger<TypeNonNegativeInteger>::Ptr maxLengthValue = maxLengthFacet->value();
+
+ // @see http://www.w3.org/TR/xmlschema-2/#minLength-less-than-equal-to-maxLength
+ if (maxLengthValue->toInteger() < minLengthValue->toInteger()) {
+ m_context->error(QtXmlPatterns::tr("%1 facet collides with %2 facet")
+ .arg(formatKeyword("minLength"))
+ .arg(formatKeyword("maxLength")),
+ XsdSchemaContext::XSDError, sourceLocation(simpleType));
+ return;
+ }
+
+ // @see http://www.w3.org/TR/xmlschema-2/#minLength-valid-restriction
+ //TODO: check parent facets
+ }
+
+ // @see http://www.w3.org/TR/xmlschema-2/#minLength-valid-restriction
+ if (simpleType->derivationMethod() == XsdSimpleType::DerivationRestriction) {
+ const XsdFacet::Hash baseFacets = m_context->facetsForType(simpleType->wxsSuperType());
+ if (baseFacets.contains(XsdFacet::MinimumLength)) {
+ const DerivedInteger<TypeNonNegativeInteger>::Ptr baseValue = baseFacets.value(XsdFacet::MinimumLength)->value();
+ if (minLengthValue->toInteger() < baseValue->toInteger()) {
+ m_context->error(QtXmlPatterns::tr("%1 facet must be equal or greater than %2 facet of base type")
+ .arg(formatKeyword("minLength"))
+ .arg(formatKeyword("minLength")),
+ XsdSchemaContext::XSDError, sourceLocation(simpleType));
+ return;
+ }
+ }
+ }
+ }
+ if (facets.contains(XsdFacet::MaximumLength)) {
+ const XsdFacet::Ptr maxLengthFacet = facets.value(XsdFacet::MaximumLength);
+ const DerivedInteger<TypeNonNegativeInteger>::Ptr maxLengthValue = maxLengthFacet->value();
+
+ // @see http://www.w3.org/TR/xmlschema-2/#maxLength-valid-restriction
+ if (simpleType->derivationMethod() == XsdSimpleType::DerivationRestriction) {
+ const XsdFacet::Hash baseFacets = m_context->facetsForType(simpleType->wxsSuperType());
+ if (baseFacets.contains(XsdFacet::MaximumLength)) {
+ const DerivedInteger<TypeNonNegativeInteger>::Ptr baseValue(baseFacets.value(XsdFacet::MaximumLength)->value());
+ if (maxLengthValue->toInteger() > baseValue->toInteger()) {
+ m_context->error(QtXmlPatterns::tr("%1 facet must be less than or equal to %2 facet of base type")
+ .arg(formatKeyword("maxLength"))
+ .arg(formatKeyword("maxLength")),
+ XsdSchemaContext::XSDError, sourceLocation(simpleType));
+ return;
+ }
+ }
+ }
+ }
+ if (facets.contains(XsdFacet::Pattern)) {
+ // we keep the patterns in separated facets
+ // @see http://www.w3.org/TR/xmlschema-2/#src-multiple-patterns
+
+ // @see http://www.w3.org/TR/xmlschema-2/#cvc-pattern-valid
+ const XsdFacet::Ptr patternFacet = facets.value(XsdFacet::Pattern);
+ const AtomicValue::List multiValue = patternFacet->multiValue();
+
+ for (int i = 0; i < multiValue.count(); ++i) {
+ const DerivedString<TypeString>::Ptr value = multiValue.at(i);
+ const QRegExp exp = PatternPlatform::parsePattern(value->stringValue(), m_context, &reflection);
+ if (!exp.isValid()) {
+ m_context->error(QtXmlPatterns::tr("%1 facet contains invalid regular expression").arg(formatKeyword("pattern")), XsdSchemaContext::XSDError, sourceLocation(simpleType));
+ return;
+ }
+ }
+ }
+ if (facets.contains(XsdFacet::Enumeration)) {
+ // @see http://www.w3.org/TR/xmlschema-2/#src-multiple-enumerations
+
+ const XsdFacet::Ptr facet = facets.value(XsdFacet::Enumeration);
+
+ if (BuiltinTypes::xsNOTATION->wxsTypeMatches(simpleType)) {
+ const AtomicValue::List notationNames = facet->multiValue();
+ for (int k = 0; k < notationNames.count(); ++k) {
+ const QNameValue::Ptr notationName = notationNames.at(k);
+ if (!m_schema->notation(notationName->qName())) {
+ m_context->error(QtXmlPatterns::tr("unknown notation %1 used in %2 facet")
+ .arg(formatKeyword(m_namePool, notationName->qName()))
+ .arg(formatKeyword("enumeration")),
+ XsdSchemaContext::XSDError, sourceLocation(simpleType));
+ }
+ }
+ } else if (BuiltinTypes::xsQName->wxsTypeMatches(simpleType)) {
+ } else {
+ const XsdTypeChecker checker(m_context, QVector<QXmlName>(), sourceLocation(simpleType));
+
+ const AnySimpleType::Ptr baseType = simpleType->wxsSuperType();
+ const XsdFacet::Hash baseFacets = XsdTypeChecker::mergedFacetsForType(baseType, m_context);
+
+ const AtomicValue::List multiValue = facet->multiValue();
+ for (int k = 0; k < multiValue.count(); ++k) {
+ const QString stringValue = multiValue.at(k)->as<DerivedString<TypeString> >()->stringValue();
+ const QString actualValue = XsdTypeChecker::normalizedValue(stringValue, baseFacets);
+
+ QString errorMsg;
+ if (!checker.isValidString(actualValue, baseType, errorMsg)) {
+ m_context->error(QtXmlPatterns::tr("%1 facet contains invalid value %2: %3")
+ .arg(formatKeyword("enumeration"))
+ .arg(formatData(stringValue))
+ .arg(errorMsg),
+ XsdSchemaContext::XSDError, sourceLocation(simpleType));
+ return;
+ }
+ }
+ }
+ }
+ if (facets.contains(XsdFacet::WhiteSpace)) {
+ const XsdFacet::Ptr whiteSpaceFacet = facets.value(XsdFacet::WhiteSpace);
+ const DerivedString<TypeString>::Ptr whiteSpaceValue = whiteSpaceFacet->value();
+
+ // @see http://www.w3.org/TR/xmlschema-2/#whiteSpace-valid-restriction
+ if (simpleType->derivationMethod() == XsdSimpleType::DerivationRestriction) {
+ const XsdFacet::Hash baseFacets = m_context->facetsForType(simpleType->wxsSuperType());
+ if (baseFacets.contains(XsdFacet::WhiteSpace)) {
+ const QString value = whiteSpaceValue->stringValue();
+ const QString baseValue = DerivedString<TypeString>::Ptr(baseFacets.value(XsdFacet::WhiteSpace)->value())->stringValue();
+ if (value == XsdSchemaToken::toString(XsdSchemaToken::Replace) || value == XsdSchemaToken::toString(XsdSchemaToken::Preserve)) {
+ if (baseValue == XsdSchemaToken::toString(XsdSchemaToken::Collapse)) {
+ m_context->error(QtXmlPatterns::tr("%1 facet cannot be %2 or %3 if %4 facet of base type is %5")
+ .arg(formatKeyword("whiteSpace"))
+ .arg(formatData("replace"))
+ .arg(formatData("preserve"))
+ .arg(formatKeyword("whiteSpace"))
+ .arg(formatData("collapse")),
+ XsdSchemaContext::XSDError, sourceLocation(simpleType));
+ return;
+ }
+ }
+ if (value == XsdSchemaToken::toString(XsdSchemaToken::Preserve) && baseValue == XsdSchemaToken::toString(XsdSchemaToken::Replace)) {
+ m_context->error(QtXmlPatterns::tr("%1 facet cannot be %2 if %3 facet of base type is %4")
+ .arg(formatKeyword("whiteSpace"))
+ .arg(formatData("preserve"))
+ .arg(formatKeyword("whiteSpace"))
+ .arg(formatData("replace")),
+ XsdSchemaContext::XSDError, sourceLocation(simpleType));
+ return;
+ }
+ }
+ }
+ }
+ if (facets.contains(XsdFacet::MaximumInclusive)) {
+ const XsdFacet::Ptr maxFacet = facets.value(XsdFacet::MaximumInclusive);
+
+ // @see http://www.w3.org/TR/xmlschema-2/#minInclusive-less-than-equal-to-maxInclusive
+ if (facets.contains(XsdFacet::MinimumInclusive)) {
+ const XsdFacet::Ptr minFacet = facets.value(XsdFacet::MinimumInclusive);
+
+ if (comparableBaseType) {
+ if (XsdSchemaHelper::constructAndCompare(minFacet->value(), AtomicComparator::OperatorGreaterThan, maxFacet->value(), comparableBaseType, m_context, &reflection)) {
+ m_context->error(QtXmlPatterns::tr("%1 facet must be less than or equal to %2 facet")
+ .arg(formatKeyword("minInclusive"))
+ .arg(formatKeyword("maxInclusive")),
+ XsdSchemaContext::XSDError, sourceLocation(simpleType));
+ return;
+ }
+ }
+ }
+
+ // @see http://www.w3.org/TR/xmlschema-2/#maxInclusive-valid-restriction
+ if (simpleType->derivationMethod() == XsdSimpleType::DerivationRestriction) {
+ const XsdFacet::Hash baseFacets = m_context->facetsForType(simpleType->wxsSuperType());
+ if (baseFacets.contains(XsdFacet::MaximumInclusive)) {
+ const XsdFacet::Ptr baseFacet = baseFacets.value(XsdFacet::MaximumInclusive);
+ if (comparableBaseType) {
+ if (XsdSchemaHelper::constructAndCompare(maxFacet->value(), AtomicComparator::OperatorGreaterThan, baseFacet->value(), comparableBaseType, m_context, &reflection)) {
+ m_context->error(QtXmlPatterns::tr("%1 facet must be less than or equal to %2 facet of base type")
+ .arg(formatKeyword("maxInclusive"))
+ .arg(formatKeyword("maxInclusive")),
+ XsdSchemaContext::XSDError, sourceLocation(simpleType));
+ return;
+ }
+ }
+ }
+ if (baseFacets.contains(XsdFacet::MaximumExclusive)) {
+ const XsdFacet::Ptr baseFacet = baseFacets.value(XsdFacet::MaximumExclusive);
+ if (comparableBaseType) {
+ if (XsdSchemaHelper::constructAndCompare(maxFacet->value(), AtomicComparator::OperatorGreaterOrEqual, baseFacet->value(), comparableBaseType, m_context, &reflection)) {
+ m_context->error(QtXmlPatterns::tr("%1 facet must be less than %2 facet of base type")
+ .arg(formatKeyword("maxInclusive"))
+ .arg(formatKeyword("maxExclusive")),
+ XsdSchemaContext::XSDError, sourceLocation(simpleType));
+ return;
+ }
+ }
+ }
+ }
+ }
+ if (facets.contains(XsdFacet::MaximumExclusive)) {
+ const XsdFacet::Ptr maxFacet = facets.value(XsdFacet::MaximumExclusive);
+
+ // @see http://www.w3.org/TR/xmlschema-2/#maxInclusive-maxExclusive
+ if (facets.contains(XsdFacet::MaximumInclusive)) {
+ m_context->error(QtXmlPatterns::tr("%1 facet and %2 facet cannot appear together")
+ .arg(formatKeyword("maxExclusive"))
+ .arg(formatKeyword("maxInclusive")),
+ XsdSchemaContext::XSDError, sourceLocation(simpleType));
+ return;
+ }
+
+ // @see http://www.w3.org/TR/xmlschema-2/#minExclusive-less-than-equal-to-maxExclusive
+ if (facets.contains(XsdFacet::MinimumExclusive)) {
+ const XsdFacet::Ptr minFacet = facets.value(XsdFacet::MinimumExclusive);
+ if (comparableBaseType) {
+ if (XsdSchemaHelper::constructAndCompare(minFacet->value(), AtomicComparator::OperatorGreaterThan, maxFacet->value(), comparableBaseType, m_context, &reflection)) {
+ m_context->error(QtXmlPatterns::tr("%1 facet must be less than or equal to %2 facet")
+ .arg(formatKeyword("minExclusive"))
+ .arg(formatKeyword("maxExclusive")),
+ XsdSchemaContext::XSDError, sourceLocation(simpleType));
+ return;
+ }
+ }
+ }
+
+ // @see http://www.w3.org/TR/xmlschema-2/#maxExclusive-valid-restriction
+ if (simpleType->derivationMethod() == XsdSimpleType::DerivationRestriction) {
+ const XsdFacet::Hash baseFacets = m_context->facetsForType(simpleType->wxsSuperType());
+ if (baseFacets.contains(XsdFacet::MaximumExclusive)) {
+ const XsdFacet::Ptr baseFacet = baseFacets.value(XsdFacet::MaximumExclusive);
+ if (comparableBaseType) {
+ if (XsdSchemaHelper::constructAndCompare(maxFacet->value(), AtomicComparator::OperatorGreaterThan, baseFacet->value(), comparableBaseType, m_context, &reflection)) {
+ m_context->error(QtXmlPatterns::tr("%1 facet must be less than or equal to %2 facet of base type")
+ .arg(formatKeyword("maxExclusive"))
+ .arg(formatKeyword("maxExclusive")),
+ XsdSchemaContext::XSDError, sourceLocation(simpleType));
+ return;
+ }
+ }
+ }
+ if (baseFacets.contains(XsdFacet::MaximumInclusive)) {
+ const XsdFacet::Ptr baseFacet = baseFacets.value(XsdFacet::MaximumInclusive);
+ if (comparableBaseType) {
+ if (XsdSchemaHelper::constructAndCompare(maxFacet->value(), AtomicComparator::OperatorGreaterThan, baseFacet->value(), comparableBaseType, m_context, &reflection)) {
+ m_context->error(QtXmlPatterns::tr("%1 facet must be less than or equal to %2 facet of base type")
+ .arg(formatKeyword("maxExclusive"))
+ .arg(formatKeyword("maxInclusive")),
+ XsdSchemaContext::XSDError, sourceLocation(simpleType));
+ return;
+ }
+ }
+ }
+ if (baseFacets.contains(XsdFacet::MinimumInclusive)) {
+ const XsdFacet::Ptr baseFacet = baseFacets.value(XsdFacet::MinimumInclusive);
+ if (comparableBaseType) {
+ if (XsdSchemaHelper::constructAndCompare(maxFacet->value(), AtomicComparator::OperatorLessOrEqual, baseFacet->value(), comparableBaseType, m_context, &reflection)) {
+ m_context->error(QtXmlPatterns::tr("%1 facet must be greater than %2 facet of base type")
+ .arg(formatKeyword("maxExclusive"))
+ .arg(formatKeyword("minInclusive")),
+ XsdSchemaContext::XSDError, sourceLocation(simpleType));
+ return;
+ }
+ }
+ }
+ if (baseFacets.contains(XsdFacet::MinimumExclusive)) {
+ const XsdFacet::Ptr baseFacet = baseFacets.value(XsdFacet::MinimumExclusive);
+ if (comparableBaseType) {
+ if (XsdSchemaHelper::constructAndCompare(maxFacet->value(), AtomicComparator::OperatorLessOrEqual, baseFacet->value(), comparableBaseType, m_context, &reflection)) {
+ m_context->error(QtXmlPatterns::tr("%1 facet must be greater than %2 facet of base type")
+ .arg(formatKeyword("maxExclusive"))
+ .arg(formatKeyword("minExclusive")),
+ XsdSchemaContext::XSDError, sourceLocation(simpleType));
+ return;
+ }
+ }
+ }
+ }
+ }
+ if (facets.contains(XsdFacet::MinimumExclusive)) {
+ const XsdFacet::Ptr minFacet = facets.value(XsdFacet::MinimumExclusive);
+
+ // @see http://www.w3.org/TR/xmlschema-2/#minInclusive-minExclusive
+ if (facets.contains(XsdFacet::MinimumInclusive)) {
+ m_context->error(QtXmlPatterns::tr("%1 facet and %2 facet cannot appear together")
+ .arg(formatKeyword("minExclusive"))
+ .arg(formatKeyword("minInclusive")),
+ XsdSchemaContext::XSDError, sourceLocation(simpleType));
+ return;
+ }
+
+ // @see http://www.w3.org/TR/xmlschema-2/#minExclusive-less-than-maxInclusive
+ if (facets.contains(XsdFacet::MaximumInclusive)) {
+ const XsdFacet::Ptr maxFacet = facets.value(XsdFacet::MaximumInclusive);
+ if (comparableBaseType) {
+ if (XsdSchemaHelper::constructAndCompare(minFacet->value(), AtomicComparator::OperatorGreaterOrEqual, maxFacet->value(), comparableBaseType, m_context, &reflection)) {
+ m_context->error(QtXmlPatterns::tr("%1 facet must be less than %2 facet")
+ .arg(formatKeyword("minExclusive"))
+ .arg(formatKeyword("maxInclusive")),
+ XsdSchemaContext::XSDError, sourceLocation(simpleType));
+ return;
+ }
+ }
+ }
+
+ // @see http://www.w3.org/TR/xmlschema-2/#minExclusive-valid-restriction
+ if (simpleType->derivationMethod() == XsdSimpleType::DerivationRestriction) {
+ const XsdFacet::Hash baseFacets = m_context->facetsForType(simpleType->wxsSuperType());
+ if (baseFacets.contains(XsdFacet::MinimumExclusive)) {
+ const XsdFacet::Ptr baseFacet = baseFacets.value(XsdFacet::MinimumExclusive);
+ if (comparableBaseType) {
+ if (XsdSchemaHelper::constructAndCompare(minFacet->value(), AtomicComparator::OperatorLessThan, baseFacet->value(), comparableBaseType, m_context, &reflection)) {
+ m_context->error(QtXmlPatterns::tr("%1 facet must be greater than or equal to %2 facet of base type")
+ .arg(formatKeyword("minExclusive"))
+ .arg(formatKeyword("minExclusive")),
+ XsdSchemaContext::XSDError, sourceLocation(simpleType));
+ return;
+ }
+ }
+ }
+ if (baseFacets.contains(XsdFacet::MaximumExclusive)) {
+ const XsdFacet::Ptr baseFacet = baseFacets.value(XsdFacet::MaximumExclusive);
+ if (comparableBaseType) {
+ if (XsdSchemaHelper::constructAndCompare(minFacet->value(), AtomicComparator::OperatorGreaterOrEqual, baseFacet->value(), comparableBaseType, m_context, &reflection)) {
+ m_context->error(QtXmlPatterns::tr("%1 facet must be less than %2 facet of base type")
+ .arg(formatKeyword("minExclusive"))
+ .arg(formatKeyword("maxExclusive")),
+ XsdSchemaContext::XSDError, sourceLocation(simpleType));
+ return;
+ }
+ }
+ }
+ if (baseFacets.contains(XsdFacet::MaximumInclusive)) {
+ const XsdFacet::Ptr baseFacet = baseFacets.value(XsdFacet::MaximumInclusive);
+ if (comparableBaseType) {
+ if (XsdSchemaHelper::constructAndCompare(minFacet->value(), AtomicComparator::OperatorGreaterThan, baseFacet->value(), comparableBaseType, m_context, &reflection)) {
+ m_context->error(QtXmlPatterns::tr("%1 facet must be less than or equal to %2 facet of base type")
+ .arg(formatKeyword("minExclusive"))
+ .arg(formatKeyword("maxInclusive")),
+ XsdSchemaContext::XSDError, sourceLocation(simpleType));
+ return;
+ }
+ }
+ }
+ }
+ }
+ if (facets.contains(XsdFacet::MinimumInclusive)) {
+ const XsdFacet::Ptr minFacet = facets.value(XsdFacet::MinimumInclusive);
+
+ // @see http://www.w3.org/TR/xmlschema-2/#minInclusive-less-than-maxExclusive
+ if (facets.contains(XsdFacet::MaximumExclusive)) {
+ const XsdFacet::Ptr maxFacet = facets.value(XsdFacet::MaximumExclusive);
+ if (comparableBaseType) {
+ if (XsdSchemaHelper::constructAndCompare(minFacet->value(), AtomicComparator::OperatorGreaterOrEqual, maxFacet->value(), comparableBaseType, m_context, &reflection)) {
+ m_context->error(QtXmlPatterns::tr("%1 facet must be less than %2 facet")
+ .arg(formatKeyword("minInclusive"))
+ .arg(formatKeyword("maxExclusive")),
+ XsdSchemaContext::XSDError, sourceLocation(simpleType));
+ return;
+ }
+ }
+ }
+
+ // @see http://www.w3.org/TR/xmlschema-2/#minInclusive-valid-restriction
+ if (simpleType->derivationMethod() == XsdSimpleType::DerivationRestriction) {
+ const XsdFacet::Hash baseFacets = m_context->facetsForType(simpleType->wxsSuperType());
+ if (baseFacets.contains(XsdFacet::MinimumInclusive)) {
+ const XsdFacet::Ptr baseFacet = baseFacets.value(XsdFacet::MinimumInclusive);
+ if (comparableBaseType) {
+ if (XsdSchemaHelper::constructAndCompare(minFacet->value(), AtomicComparator::OperatorLessThan, baseFacet->value(), comparableBaseType, m_context, &reflection)) {
+ m_context->error(QtXmlPatterns::tr("%1 facet must be greater than or equal to %2 facet of base type")
+ .arg(formatKeyword("minInclusive"))
+ .arg(formatKeyword("minInclusive")),
+ XsdSchemaContext::XSDError, sourceLocation(simpleType));
+ return;
+ }
+ }
+ }
+ if (baseFacets.contains(XsdFacet::MinimumExclusive)) {
+ const XsdFacet::Ptr baseFacet = baseFacets.value(XsdFacet::MinimumExclusive);
+ if (comparableBaseType) {
+ if (XsdSchemaHelper::constructAndCompare(minFacet->value(), AtomicComparator::OperatorLessOrEqual, baseFacet->value(), comparableBaseType, m_context, &reflection)) {
+ m_context->error(QtXmlPatterns::tr("%1 facet must be greater than %2 facet of base type")
+ .arg(formatKeyword("minInclusive"))
+ .arg(formatKeyword("minExclusive")),
+ XsdSchemaContext::XSDError, sourceLocation(simpleType));
+ return;
+ }
+ }
+ }
+ if (baseFacets.contains(XsdFacet::MaximumInclusive)) {
+ const XsdFacet::Ptr baseFacet = baseFacets.value(XsdFacet::MaximumInclusive);
+ if (comparableBaseType) {
+ if (XsdSchemaHelper::constructAndCompare(minFacet->value(), AtomicComparator::OperatorGreaterThan, baseFacet->value(), comparableBaseType, m_context, &reflection)) {
+ m_context->error(QtXmlPatterns::tr("%1 facet must be less than or equal to %2 facet of base type")
+ .arg(formatKeyword("minInclusive"))
+ .arg(formatKeyword("maxInclusive")),
+ XsdSchemaContext::XSDError, sourceLocation(simpleType));
+ return;
+ }
+ }
+ }
+ if (baseFacets.contains(XsdFacet::MaximumExclusive)) {
+ const XsdFacet::Ptr baseFacet = baseFacets.value(XsdFacet::MaximumExclusive);
+ if (comparableBaseType) {
+ if (XsdSchemaHelper::constructAndCompare(minFacet->value(), AtomicComparator::OperatorGreaterOrEqual, baseFacet->value(), comparableBaseType, m_context, &reflection)) {
+ m_context->error(QtXmlPatterns::tr("%1 facet must be less than %2 facet of base type")
+ .arg(formatKeyword("minInclusive"))
+ .arg(formatKeyword("maxExclusive")),
+ XsdSchemaContext::XSDError, sourceLocation(simpleType));
+ return;
+ }
+ }
+ }
+ }
+ }
+ if (facets.contains(XsdFacet::TotalDigits)) {
+ const XsdFacet::Ptr totalDigitsFacet = facets.value(XsdFacet::TotalDigits);
+ const DerivedInteger<TypeNonNegativeInteger>::Ptr totalDigitsValue = totalDigitsFacet->value();
+
+ // @see http://www.w3.org/TR/xmlschema-2/#totalDigits-valid-restriction
+ if (simpleType->derivationMethod() == XsdSimpleType::DerivationRestriction) {
+ const XsdFacet::Hash baseFacets = m_context->facetsForType(simpleType->wxsSuperType());
+ if (baseFacets.contains(XsdFacet::TotalDigits)) {
+ const XsdFacet::Ptr baseFacet = baseFacets.value(XsdFacet::TotalDigits);
+ const DerivedInteger<TypeNonNegativeInteger>::Ptr baseValue = baseFacet->value();
+
+ if (totalDigitsValue->toInteger() > baseValue->toInteger()) {
+ m_context->error(QtXmlPatterns::tr("%1 facet must be less than or equal to %2 facet of base type")
+ .arg(formatKeyword("totalDigits"))
+ .arg(formatKeyword("totalDigits")),
+ XsdSchemaContext::XSDError, sourceLocation(simpleType));
+ return;
+ }
+ }
+ }
+ }
+ if (facets.contains(XsdFacet::FractionDigits)) {
+ const XsdFacet::Ptr fractionDigitsFacet = facets.value(XsdFacet::FractionDigits);
+ const DerivedInteger<TypeNonNegativeInteger>::Ptr fractionDigitsValue = fractionDigitsFacet->value();
+
+ // http://www.w3.org/TR/xmlschema-2/#fractionDigits-totalDigits
+ if (facets.contains(XsdFacet::TotalDigits)) {
+ const XsdFacet::Ptr totalDigitsFacet = facets.value(XsdFacet::TotalDigits);
+ const DerivedInteger<TypeNonNegativeInteger>::Ptr totalDigitsValue = totalDigitsFacet->value();
+
+ if (fractionDigitsValue->toInteger() > totalDigitsValue->toInteger()) {
+ m_context->error(QtXmlPatterns::tr("%1 facet must be less than or equal to %2 facet")
+ .arg(formatKeyword("fractionDigits"))
+ .arg(formatKeyword("totalDigits")),
+ XsdSchemaContext::XSDError, sourceLocation(simpleType));
+ return;
+ }
+ }
+
+ // @see http://www.w3.org/TR/xmlschema-2/#fractionDigits-valid-restriction
+ if (simpleType->derivationMethod() == XsdSimpleType::DerivationRestriction) {
+ const XsdFacet::Hash baseFacets = m_context->facetsForType(simpleType->wxsSuperType());
+ if (baseFacets.contains(XsdFacet::FractionDigits)) {
+ const XsdFacet::Ptr baseFacet = baseFacets.value(XsdFacet::FractionDigits);
+ const DerivedInteger<TypeNonNegativeInteger>::Ptr baseValue = baseFacet->value();
+
+ if (fractionDigitsValue->toInteger() > baseValue->toInteger()) {
+ m_context->error(QtXmlPatterns::tr("%1 facet must be less than or equal to %2 facet of base type")
+ .arg(formatKeyword("fractionDigits"))
+ .arg(formatKeyword("fractionDigits")),
+ XsdSchemaContext::XSDError, sourceLocation(simpleType));
+ return;
+ }
+ }
+ }
+ }
+
+
+ // check whether facets are allowed for simple types variety
+ if (simpleType->wxsSuperType()->category() == SchemaType::SimpleTypeAtomic) {
+ if (simpleType->primitiveType()) {
+ const QXmlName primitiveTypeName = simpleType->primitiveType()->name(m_namePool);
+ if (m_allowedAtomicFacets.contains(primitiveTypeName)) {
+ const QSet<XsdFacet::Type> allowedFacets = m_allowedAtomicFacets.value(primitiveTypeName);
+ QSet<XsdFacet::Type> availableFacets = facets.keys().toSet();
+
+ if (!availableFacets.subtract(allowedFacets).isEmpty()) {
+ m_context->error(QtXmlPatterns::tr("simple type contains not allowed facet %1")
+ .arg(formatKeyword(XsdFacet::typeName(availableFacets.toList().first()))),
+ XsdSchemaContext::XSDError, sourceLocation(simpleType));
+ return;
+ }
+ }
+ }
+ } else if (simpleType->wxsSuperType()->category() == SchemaType::SimpleTypeList) {
+ if (facets.contains(XsdFacet::MaximumInclusive) || facets.contains(XsdFacet::MinimumInclusive) ||
+ facets.contains(XsdFacet::MaximumExclusive) || facets.contains(XsdFacet::MinimumExclusive) ||
+ facets.contains(XsdFacet::TotalDigits) || facets.contains(XsdFacet::FractionDigits))
+ {
+ m_context->error(QtXmlPatterns::tr("%1, %2, %3, %4, %5 and %6 facets are not allowed when derived by list")
+ .arg(formatKeyword("maxInclusive"))
+ .arg(formatKeyword("maxExclusive"))
+ .arg(formatKeyword("minInclusive"))
+ .arg(formatKeyword("minExclusive"))
+ .arg(formatKeyword("totalDigits"))
+ .arg(formatKeyword("fractionDigits")),
+ XsdSchemaContext::XSDError, sourceLocation(simpleType));
+ }
+ } else if (simpleType->wxsSuperType()->category() == SchemaType::SimpleTypeUnion) {
+ if (facets.contains(XsdFacet::MaximumInclusive) || facets.contains(XsdFacet::MinimumInclusive) ||
+ facets.contains(XsdFacet::MaximumExclusive) || facets.contains(XsdFacet::MinimumExclusive) ||
+ facets.contains(XsdFacet::TotalDigits) || facets.contains(XsdFacet::FractionDigits) ||
+ facets.contains(XsdFacet::MinimumLength) || facets.contains(XsdFacet::MaximumLength) ||
+ facets.contains(XsdFacet::Length) || facets.contains(XsdFacet::WhiteSpace))
+ {
+ m_context->error(QtXmlPatterns::tr("only %1 and %2 facets are allowed when derived by union")
+ .arg(formatKeyword("pattern"))
+ .arg(formatKeyword("enumeration")),
+ XsdSchemaContext::XSDError, sourceLocation(simpleType));
+ }
+ }
+
+ // check whether value of facet matches the value space of the simple types base type
+ const SchemaType::Ptr baseType = simpleType->wxsSuperType();
+ if (!baseType->isDefinedBySchema()) {
+ const XsdSchemaSourceLocationReflection reflection(sourceLocation(simpleType));
+
+ XsdFacet::HashIterator it(facets);
+ while (it.hasNext()) {
+ it.next();
+ const XsdFacet::Ptr facet = it.value();
+ if (facet->type() == XsdFacet::MaximumInclusive ||
+ facet->type() == XsdFacet::MaximumExclusive ||
+ facet->type() == XsdFacet::MinimumInclusive ||
+ facet->type() == XsdFacet::MinimumExclusive) {
+ const DerivedString<TypeString>::Ptr stringValue = facet->value();
+ const AtomicValue::Ptr value = ValueFactory::fromLexical(stringValue->stringValue(), baseType, m_context, &reflection);
+ if (value->hasError()) {
+ m_context->error(QtXmlPatterns::tr("%1 contains %2 facet with invalid data: %3")
+ .arg(formatType(m_namePool, simpleType))
+ .arg(formatKeyword(XsdFacet::typeName(facet->type())))
+ .arg(formatData(stringValue->stringValue())),
+ XsdSchemaContext::XSDError, sourceLocation(simpleType));
+ return;
+ }
+ }
+
+ // @see http://www.w3.org/TR/xmlschema-2/#enumeration-valid-restriction
+ if (facet->type() == XsdFacet::Enumeration && baseType != BuiltinTypes::xsNOTATION) {
+ const AtomicValue::List multiValue = facet->multiValue();
+ for (int j = 0; j < multiValue.count(); ++j) {
+ const QString stringValue = DerivedString<TypeString>::Ptr(multiValue.at(j))->stringValue();
+ const AtomicValue::Ptr value = ValueFactory::fromLexical(stringValue, baseType, m_context, &reflection);
+ if (value->hasError()) {
+ m_context->error(QtXmlPatterns::tr("%1 contains %2 facet with invalid data: %3")
+ .arg(formatType(m_namePool, simpleType))
+ .arg(formatKeyword(XsdFacet::typeName(XsdFacet::Enumeration)))
+ .arg(formatData(stringValue)),
+ XsdSchemaContext::XSDError, sourceLocation(simpleType));
+ return;
+ }
+ }
+ }
+ }
+ }
+}
+
+void XsdSchemaChecker::checkDuplicatedAttributeUses()
+{
+ // first all global attribute groups
+ const XsdAttributeGroup::List attributeGroups = m_schema->attributeGroups();
+ for (int i = 0; i < attributeGroups.count(); ++i) {
+ const XsdAttributeGroup::Ptr attributeGroup = attributeGroups.at(i);
+ const XsdAttributeUse::List uses = attributeGroup->attributeUses();
+
+ // @see http://www.w3.org/TR/xmlschema11-1/#ct-props-correct 4)
+ XsdAttribute::Ptr conflictingAttribute;
+ if (hasDuplicatedAttributeUses(uses, conflictingAttribute)) {
+ m_context->error(QtXmlPatterns::tr("attribute group %1 contains attribute %2 twice")
+ .arg(formatKeyword(attributeGroup->displayName(m_namePool)))
+ .arg(formatKeyword(conflictingAttribute->displayName(m_namePool))),
+ XsdSchemaContext::XSDError, sourceLocation(attributeGroup));
+ return;
+ }
+
+ // @see http://www.w3.org/TR/xmlschema11-1/#ct-props-correct 5)
+ if (hasMultipleIDAttributeUses(uses)) {
+ m_context->error(QtXmlPatterns::tr("attribute group %1 contains two different attributes that both have types derived from %2")
+ .arg(formatKeyword(attributeGroup->displayName(m_namePool)))
+ .arg(formatType(m_namePool, BuiltinTypes::xsID)),
+ XsdSchemaContext::XSDError, sourceLocation(attributeGroup));
+ return;
+ }
+
+ if (hasConstraintIDAttributeUse(uses, conflictingAttribute)) {
+ m_context->error(QtXmlPatterns::tr("attribute group %1 contains attribute %2 that has value constraint but type that inherits from %3")
+ .arg(formatKeyword(attributeGroup->displayName(m_namePool)))
+ .arg(formatKeyword(conflictingAttribute->displayName(m_namePool)))
+ .arg(formatType(m_namePool, BuiltinTypes::xsID)),
+ XsdSchemaContext::XSDError, sourceLocation(attributeGroup));
+ return;
+ }
+ }
+
+ // then the global and anonymous complex types
+ SchemaType::List types = m_schema->types();
+ types << m_schema->anonymousTypes();
+
+ for (int i = 0; i < types.count(); ++i) {
+ if (!(types.at(i)->isComplexType()) || !types.at(i)->isDefinedBySchema())
+ continue;
+
+ const XsdComplexType::Ptr complexType = types.at(i);
+ const XsdAttributeUse::List attributeUses = complexType->attributeUses();
+
+ // @see http://www.w3.org/TR/xmlschema11-1/#ct-props-correct 4)
+ XsdAttribute::Ptr conflictingAttribute;
+ if (hasDuplicatedAttributeUses(attributeUses, conflictingAttribute)) {
+ m_context->error(QtXmlPatterns::tr("complex type %1 contains attribute %2 twice")
+ .arg(formatType(m_namePool, complexType))
+ .arg(formatKeyword(conflictingAttribute->displayName(m_namePool))),
+ XsdSchemaContext::XSDError, sourceLocation(complexType));
+ return;
+ }
+
+ // @see http://www.w3.org/TR/xmlschema11-1/#ct-props-correct 5)
+ if (hasMultipleIDAttributeUses(attributeUses)) {
+ m_context->error(QtXmlPatterns::tr("complex type %1 contains two different attributes that both have types derived from %2")
+ .arg(formatType(m_namePool, complexType))
+ .arg(formatType(m_namePool, BuiltinTypes::xsID)),
+ XsdSchemaContext::XSDError, sourceLocation(complexType));
+ return;
+ }
+
+ if (hasConstraintIDAttributeUse(attributeUses, conflictingAttribute)) {
+ m_context->error(QtXmlPatterns::tr("complex type %1 contains attribute %2 that has value constraint but type that inherits from %3")
+ .arg(formatType(m_namePool, complexType))
+ .arg(formatKeyword(conflictingAttribute->displayName(m_namePool)))
+ .arg(formatType(m_namePool, BuiltinTypes::xsID)),
+ XsdSchemaContext::XSDError, sourceLocation(complexType));
+ return;
+ }
+ }
+}
+
+void XsdSchemaChecker::checkElementConstraints()
+{
+ const QSet<XsdElement::Ptr> elements = collectAllElements(m_schema);
+ QSetIterator<XsdElement::Ptr> it(elements);
+ while (it.hasNext()) {
+ const XsdElement::Ptr element = it.next();
+
+ // @see http://www.w3.org/TR/xmlschema11-1/#e-props-correct
+
+ // 2 and xs:ID check
+ if (element->valueConstraint()) {
+ const SchemaType::Ptr type = element->type();
+
+ AnySimpleType::Ptr targetType;
+ if (type->isSimpleType() && type->category() == SchemaType::SimpleTypeAtomic) {
+ targetType = type;
+
+ // if it is a XsdSimpleType, use its primitive type as target type
+ if (type->isDefinedBySchema())
+ targetType = XsdSimpleType::Ptr(type)->primitiveType();
+
+ } else if (type->isComplexType() && type->isDefinedBySchema()) {
+ const XsdComplexType::Ptr complexType(type);
+
+ if (complexType->contentType()->variety() == XsdComplexType::ContentType::Simple) {
+ const AnySimpleType::Ptr simpleType = complexType->contentType()->simpleType();
+ if (simpleType->category() == AnySimpleType::SimpleTypeAtomic) {
+ targetType = simpleType;
+
+ if (simpleType->isDefinedBySchema())
+ targetType = XsdSimpleType::Ptr(simpleType)->primitiveType();
+ }
+ } else if (complexType->contentType()->variety() != XsdComplexType::ContentType::Mixed) {
+ m_context->error(QtXmlPatterns::tr("element %1 is not allowed to have a value constraint if its base type is complex")
+ .arg(formatKeyword(element->displayName(m_namePool))),
+ XsdSchemaContext::XSDError, sourceLocation(element));
+ return;
+ }
+ }
+ if ((targetType == BuiltinTypes::xsID) || BuiltinTypes::xsID->wxsTypeMatches(type)) {
+ m_context->error(QtXmlPatterns::tr("element %1 is not allowed to have a value constraint if its type is derived from %2")
+ .arg(formatKeyword(element->displayName(m_namePool)))
+ .arg(formatType(m_namePool, BuiltinTypes::xsID)),
+ XsdSchemaContext::XSDError, sourceLocation(element));
+ return;
+ }
+
+ if (type->isSimpleType()) {
+ QString errorMsg;
+ if (!isValidValue(element->valueConstraint()->value(), type, errorMsg)) {
+ m_context->error(QtXmlPatterns::tr("value constraint of element %1 is not of elements type: %2")
+ .arg(formatKeyword(element->displayName(m_namePool)))
+ .arg(errorMsg),
+ XsdSchemaContext::XSDError, sourceLocation(element));
+ return;
+ }
+ } else if (type->isComplexType() && type->isDefinedBySchema()) {
+ const XsdComplexType::Ptr complexType(type);
+ if (complexType->contentType()->variety() == XsdComplexType::ContentType::Simple) {
+ QString errorMsg;
+ if (!isValidValue(element->valueConstraint()->value(), complexType->contentType()->simpleType(), errorMsg)) {
+ m_context->error(QtXmlPatterns::tr("value constraint of element %1 is not of elements type: %2")
+ .arg(formatKeyword(element->displayName(m_namePool)))
+ .arg(errorMsg),
+ XsdSchemaContext::XSDError, sourceLocation(element));
+ return;
+ }
+ }
+ }
+ }
+
+ if (!element->substitutionGroupAffiliations().isEmpty()) {
+ // 3
+ if (!element->scope() || element->scope()->variety() != XsdElement::Scope::Global) {
+ m_context->error(QtXmlPatterns::tr("element %1 is not allowed to have substitution group affiliation as it is no global element").arg(formatKeyword(element->displayName(m_namePool))),
+ XsdSchemaContext::XSDError, sourceLocation(element));
+ return;
+ }
+
+ // 4
+ const XsdElement::List affiliations = element->substitutionGroupAffiliations();
+ for (int i = 0; i < affiliations.count(); ++i) {
+ const XsdElement::Ptr affiliation = affiliations.at(i);
+
+ bool derivationOk = false;
+ if (element->type()->isComplexType() && affiliation->type()->isComplexType()) {
+ if (XsdSchemaHelper::isComplexDerivationOk(element->type(), affiliation->type(), affiliation->substitutionGroupExclusions())) {
+ derivationOk = true;
+ }
+ }
+ if (element->type()->isComplexType() && affiliation->type()->isSimpleType()) {
+ if (XsdSchemaHelper::isComplexDerivationOk(element->type(), affiliation->type(), affiliation->substitutionGroupExclusions())) {
+ derivationOk = true;
+ }
+ }
+ if (element->type()->isSimpleType()) {
+ if (XsdSchemaHelper::isSimpleDerivationOk(element->type(), affiliation->type(), affiliation->substitutionGroupExclusions())) {
+ derivationOk = true;
+ }
+ }
+
+ if (!derivationOk) {
+ m_context->error(QtXmlPatterns::tr("type of element %1 cannot be derived from type of substitution group affiliation").arg(formatKeyword(element->displayName(m_namePool))),
+ XsdSchemaContext::XSDError, sourceLocation(element));
+ return;
+ }
+ }
+
+ // 5 was checked in XsdSchemaResolver::resolveSubstitutionGroupAffiliations() already
+ }
+ }
+}
+
+void XsdSchemaChecker::checkAttributeConstraints()
+{
+ // all global attributes
+ XsdAttribute::List attributes = m_schema->attributes();
+
+ // and all local attributes
+ SchemaType::List types = m_schema->types();
+ types << m_schema->anonymousTypes();
+
+ for (int i = 0; i < types.count(); ++i) {
+ if (!types.at(i)->isComplexType() || !types.at(i)->isDefinedBySchema())
+ continue;
+
+ const XsdComplexType::Ptr complexType(types.at(i));
+ const XsdAttributeUse::List uses = complexType->attributeUses();
+ for (int j = 0; j < uses.count(); ++j)
+ attributes.append(uses.at(j)->attribute());
+ }
+
+ for (int i = 0; i < attributes.count(); ++i) {
+ const XsdAttribute::Ptr attribute = attributes.at(i);
+
+ if (!attribute->valueConstraint())
+ continue;
+
+ if (attribute->valueConstraint()->variety() == XsdAttribute::ValueConstraint::Default || attribute->valueConstraint()->variety() == XsdAttribute::ValueConstraint::Fixed) {
+ const SchemaType::Ptr type = attribute->type();
+
+ QString errorMsg;
+ if (!isValidValue(attribute->valueConstraint()->value(), attribute->type(), errorMsg)) {
+ m_context->error(QtXmlPatterns::tr("value constraint of attribute %1 is not of attributes type: %2")
+ .arg(formatKeyword(attribute->displayName(m_namePool)))
+ .arg(errorMsg),
+ XsdSchemaContext::XSDError, sourceLocation(attribute));
+ return;
+ }
+ }
+
+ if (BuiltinTypes::xsID->wxsTypeMatches(attribute->type())) {
+ m_context->error(QtXmlPatterns::tr("attribute %1 has value constraint but has type derived from %2")
+ .arg(formatKeyword(attribute->displayName(m_namePool)))
+ .arg(formatType(m_namePool, BuiltinTypes::xsID)),
+ XsdSchemaContext::XSDError, sourceLocation(attribute));
+ return;
+ }
+ }
+}
+
+bool XsdSchemaChecker::isValidValue(const QString &stringValue, const AnySimpleType::Ptr &type, QString &errorMsg) const
+{
+ if (BuiltinTypes::xsAnySimpleType->name(m_namePool) == type->name(m_namePool))
+ return true; // no need to check xs:anyType content
+
+ const XsdFacet::Hash facets = XsdTypeChecker::mergedFacetsForType(type, m_context);
+ const QString actualValue = XsdTypeChecker::normalizedValue(stringValue, facets);
+
+ const XsdTypeChecker checker(m_context, QVector<QXmlName>(), QSourceLocation(QUrl(QLatin1String("http://dummy.org")), 1, 1));
+ return checker.isValidString(actualValue, type, errorMsg);
+}
+
+void XsdSchemaChecker::checkAttributeUseConstraints()
+{
+ XsdComplexType::List complexTypes;
+
+ SchemaType::List types = m_schema->types();
+ types << m_schema->anonymousTypes();
+
+ for (int i = 0; i < types.count(); ++i) {
+ const SchemaType::Ptr type = types.at(i);
+ if (type->isComplexType() && type->isDefinedBySchema())
+ complexTypes.append(XsdComplexType::Ptr(type));
+ }
+
+ for (int i = 0; i < complexTypes.count(); ++i) {
+ const XsdComplexType::Ptr complexType(complexTypes.at(i));
+ const SchemaType::Ptr baseType = complexType->wxsSuperType();
+ if (!baseType || !baseType->isComplexType() || !baseType->isDefinedBySchema())
+ continue;
+
+ const XsdComplexType::Ptr complexBaseType(baseType);
+
+ const XsdAttributeUse::List attributeUses = complexType->attributeUses();
+ QHash<QXmlName, XsdAttributeUse::Ptr> lookupHash;
+ for (int j = 0; j < attributeUses.count(); ++j)
+ lookupHash.insert(attributeUses.at(j)->attribute()->name(m_namePool), attributeUses.at(j));
+
+ const XsdAttributeUse::List baseAttributeUses = complexBaseType->attributeUses();
+ for (int j = 0; j < baseAttributeUses.count(); ++j) {
+ const XsdAttributeUse::Ptr baseAttributeUse = baseAttributeUses.at(j);
+
+ if (lookupHash.contains(baseAttributeUse->attribute()->name(m_namePool))) {
+ const XsdAttributeUse::Ptr attributeUse = lookupHash.value(baseAttributeUse->attribute()->name(m_namePool));
+
+ if (baseAttributeUse->useType() == XsdAttributeUse::RequiredUse) {
+ if (attributeUse->useType() == XsdAttributeUse::OptionalUse || attributeUse->useType() == XsdAttributeUse::ProhibitedUse) {
+ m_context->error(QtXmlPatterns::tr("%1 attribute in derived complex type must be %2 like in base type")
+ .arg(formatAttribute("use"))
+ .arg(formatData("required")),
+ XsdSchemaContext::XSDError, sourceLocation(complexType));
+ return;
+ }
+ }
+
+ if (baseAttributeUse->valueConstraint()) {
+ if (baseAttributeUse->valueConstraint()->variety() == XsdAttributeUse::ValueConstraint::Fixed) {
+ if (!attributeUse->valueConstraint()) {
+ m_context->error(QtXmlPatterns::tr("attribute %1 in derived complex type must have %2 value constraint like in base type")
+ .arg(formatKeyword(attributeUse->attribute()->displayName(m_namePool)))
+ .arg(formatData("fixed")),
+ XsdSchemaContext::XSDError, sourceLocation(complexType));
+ return;
+ } else {
+ if (attributeUse->valueConstraint()->variety() == XsdAttributeUse::ValueConstraint::Fixed) {
+ const XsdTypeChecker checker(m_context, QVector<QXmlName>(), sourceLocation(complexType));
+ if (!checker.valuesAreEqual(attributeUse->valueConstraint()->value(), baseAttributeUse->valueConstraint()->value(), attributeUse->attribute()->type())) {
+ m_context->error(QtXmlPatterns::tr("attribute %1 in derived complex type must have the same %2 value constraint like in base type")
+ .arg(formatKeyword(attributeUse->attribute()->displayName(m_namePool)))
+ .arg(formatData("fixed")),
+ XsdSchemaContext::XSDError, sourceLocation(complexType));
+ return;
+ }
+ } else {
+ m_context->error(QtXmlPatterns::tr("attribute %1 in derived complex type must have %2 value constraint")
+ .arg(formatKeyword(attributeUse->attribute()->displayName(m_namePool)))
+ .arg(formatData("fixed")),
+ XsdSchemaContext::XSDError, sourceLocation(complexType));
+ return;
+ }
+ }
+ }
+ }
+ }
+ }
+
+ // additional check that process content property of attribute wildcard in derived type is
+ // not weaker than the wildcard in base type
+ const XsdWildcard::Ptr baseWildcard(complexBaseType->attributeWildcard());
+ const XsdWildcard::Ptr derivedWildcard(complexType->attributeWildcard());
+ if (baseWildcard && derivedWildcard) {
+ if (!XsdSchemaHelper::checkWildcardProcessContents(baseWildcard, derivedWildcard)) {
+ m_context->error(QtXmlPatterns::tr("processContent of base wildcard must be weaker than derived wildcard"), XsdSchemaContext::XSDError, sourceLocation(complexType));
+ return;
+ }
+ }
+ }
+}
+
+void XsdSchemaChecker::checkElementDuplicates()
+{
+ // check all global types...
+ SchemaType::List types = m_schema->types();
+
+ // .. and anonymous types
+ types << m_schema->anonymousTypes();
+
+ for (int i = 0; i < types.count(); ++i) {
+ const SchemaType::Ptr type = types.at(i);
+
+ if (!type->isComplexType() || !type->isDefinedBySchema())
+ continue;
+
+ const XsdComplexType::Ptr complexType(type);
+
+ if ((complexType->contentType()->variety() == XsdComplexType::ContentType::ElementOnly) || (complexType->contentType()->variety() == XsdComplexType::ContentType::Mixed)) {
+ DuplicatedElementMap elementMap;
+ DuplicatedWildcardMap wildcardMap;
+
+ checkElementDuplicates(complexType->contentType()->particle(), elementMap, wildcardMap);
+ }
+ }
+}
+
+void XsdSchemaChecker::checkElementDuplicates(const XsdParticle::Ptr &particle, DuplicatedElementMap &elementMap, DuplicatedWildcardMap &wildcardMap)
+{
+ if (particle->term()->isElement()) {
+ const XsdElement::Ptr element(particle->term());
+
+ if (elementMap.contains(element->name(m_namePool))) {
+ if (element->type() != elementMap.value(element->name(m_namePool))) {
+ m_context->error(QtXmlPatterns::tr("element %1 exists twice with different types")
+ .arg(formatKeyword(element->displayName(m_namePool))),
+ XsdSchemaContext::XSDError, sourceLocation(element));
+ return;
+ }
+ } else {
+ elementMap.insert(element->name(m_namePool), element->type());
+ }
+
+ // check substitution group affiliation
+ const XsdElement::List substElements = element->substitutionGroupAffiliations();
+ for (int i = 0; i < substElements.count(); ++i) {
+ const XsdElement::Ptr substElement = substElements.at(i);
+ if (elementMap.contains(substElement->name(m_namePool))) {
+ if (substElement->type() != elementMap.value(substElement->name(m_namePool))) {
+ m_context->error(QtXmlPatterns::tr("element %1 exists twice with different types")
+ .arg(formatKeyword(substElement->displayName(m_namePool))),
+ XsdSchemaContext::XSDError, sourceLocation(element));
+ return;
+ }
+ } else {
+ elementMap.insert(substElement->name(m_namePool), substElement->type());
+ }
+ }
+ } else if (particle->term()->isModelGroup()) {
+ const XsdModelGroup::Ptr group(particle->term());
+ const XsdParticle::List particles = group->particles();
+ for (int i = 0; i < particles.count(); ++i)
+ checkElementDuplicates(particles.at(i), elementMap, wildcardMap);
+ } else if (particle->term()->isWildcard()) {
+ const XsdWildcard::Ptr wildcard(particle->term());
+
+ bool error = false;
+ if (!wildcardMap.contains(wildcard->namespaceConstraint()->variety())) {
+ if (!wildcardMap.isEmpty())
+ error = true;
+ } else {
+ const XsdWildcard::Ptr otherWildcard = wildcardMap.value(wildcard->namespaceConstraint()->variety());
+ if ((wildcard->processContents() != otherWildcard->processContents()) || (wildcard->namespaceConstraint()->namespaces() != otherWildcard->namespaceConstraint()->namespaces()))
+ error = true;
+ }
+
+ if (error) {
+ m_context->error(QtXmlPatterns::tr("particle contains non-deterministic wildcards"), XsdSchemaContext::XSDError, sourceLocation(wildcard));
+ return;
+ } else {
+ wildcardMap.insert(wildcard->namespaceConstraint()->variety(), wildcard);
+ }
+ }
+}
+
+QSourceLocation XsdSchemaChecker::sourceLocation(const NamedSchemaComponent::Ptr &component) const
+{
+ if (m_componentLocationHash.contains(component)) {
+ return m_componentLocationHash.value(component);
+ } else {
+ QSourceLocation location;
+ location.setLine(1);
+ location.setColumn(1);
+ location.setUri(QString::fromLatin1("dummyUri"));
+
+ return location;
+ }
+}
+
+QSourceLocation XsdSchemaChecker::sourceLocationForType(const SchemaType::Ptr &type) const
+{
+ if (type->isSimpleType())
+ return sourceLocation(XsdSimpleType::Ptr(type));
+ else
+ return sourceLocation(XsdComplexType::Ptr(type));
+}
+
+QT_END_NAMESPACE
diff --git a/src/xmlpatterns/schema/qxsdschemachecker_helper.cpp b/src/xmlpatterns/schema/qxsdschemachecker_helper.cpp
new file mode 100644
index 0000000..28957b7
--- /dev/null
+++ b/src/xmlpatterns/schema/qxsdschemachecker_helper.cpp
@@ -0,0 +1,306 @@
+/****************************************************************************
+**
+** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the QtXmlPatterns of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+QT_BEGIN_NAMESPACE
+
+using namespace QPatternist;
+
+bool XsdSchemaChecker::hasDuplicatedAttributeUses(const XsdAttributeUse::List &list, XsdAttribute::Ptr &conflictingAttribute) const
+{
+ const int length = list.count();
+
+ for (int i = 0; i < length; ++i) {
+ for (int j = 0; j < length; ++j) {
+ if (i == j)
+ continue;
+
+ if (list.at(i)->attribute()->name(m_namePool) == list.at(j)->attribute()->name(m_namePool)) {
+ conflictingAttribute = list.at(i)->attribute();
+ return true;
+ }
+ }
+ }
+
+ return false;
+}
+
+bool XsdSchemaChecker::hasMultipleIDAttributeUses(const XsdAttributeUse::List &list) const
+{
+ const int length = list.count();
+
+ bool hasIdDerivedAttribute = false;
+ for (int i = 0; i < length; ++i) {
+ if (BuiltinTypes::xsID->wxsTypeMatches(list.at(i)->attribute()->type())) {
+ if (hasIdDerivedAttribute)
+ return true;
+ else
+ hasIdDerivedAttribute = true;
+ }
+ }
+
+ return false;
+}
+
+bool XsdSchemaChecker::hasConstraintIDAttributeUse(const XsdAttributeUse::List &list, XsdAttribute::Ptr &conflictingAttribute) const
+{
+ const int length = list.count();
+
+ for (int i = 0; i < length; ++i) {
+ const XsdAttributeUse::Ptr attributeUse(list.at(i));
+ if (BuiltinTypes::xsID->wxsTypeMatches(attributeUse->attribute()->type())) {
+ if (attributeUse->valueConstraint()) {
+ conflictingAttribute = attributeUse->attribute();
+ return true;
+ }
+ }
+ }
+
+ return false;
+}
+
+bool XsdSchemaChecker::particleEqualsRecursively(const XsdParticle::Ptr &particle, const XsdParticle::Ptr &otherParticle) const
+{
+ // @see http://www.w3.org/TR/xmlschema11-1/#cos-particle-extend
+ //TODO: find out what 'properties' of a particle should be checked here...
+
+ if (particle->minimumOccurs() != otherParticle->minimumOccurs())
+ return false;
+
+ if (particle->maximumOccursUnbounded() != otherParticle->maximumOccursUnbounded())
+ return false;
+
+ if (particle->maximumOccurs() != otherParticle->maximumOccurs())
+ return false;
+
+ const XsdTerm::Ptr term = particle->term();
+ const XsdTerm::Ptr otherTerm = otherParticle->term();
+
+ if (term->isElement() && !(otherTerm->isElement()))
+ return false;
+
+ if (term->isModelGroup() && !(otherTerm->isModelGroup()))
+ return false;
+
+ if (term->isWildcard() && !(otherTerm->isWildcard()))
+ return false;
+
+ if (term->isElement()) {
+ const XsdElement::Ptr element = term;
+ const XsdElement::Ptr otherElement = otherTerm;
+
+ if (element->name(m_namePool) != otherElement->name(m_namePool))
+ return false;
+
+ if (element->type()->name(m_namePool) != otherElement->type()->name(m_namePool))
+ return false;
+ }
+
+ if (term->isModelGroup()) {
+ const XsdModelGroup::Ptr group = term;
+ const XsdModelGroup::Ptr otherGroup = otherTerm;
+
+ if (group->particles().count() != otherGroup->particles().count())
+ return false;
+
+ for (int i = 0; i < group->particles().count(); ++i) {
+ if (!particleEqualsRecursively(group->particles().at(i), otherGroup->particles().at(i)))
+ return false;
+ }
+ }
+
+ if (term->isWildcard()) {
+ }
+
+ return true;
+}
+
+bool XsdSchemaChecker::isValidParticleExtension(const XsdParticle::Ptr &extension, const XsdParticle::Ptr &base) const
+{
+ // @see http://www.w3.org/TR/xmlschema11-1/#cos-particle-extend
+
+ // 1
+ if (extension == base)
+ return true;
+
+ // 2
+ if (extension->minimumOccurs() == 1 && extension->maximumOccurs() == 1 && extension->maximumOccursUnbounded() == false) {
+ if (extension->term()->isModelGroup()) {
+ const XsdModelGroup::Ptr modelGroup = extension->term();
+ if (modelGroup->compositor() == XsdModelGroup::SequenceCompositor) {
+ if (particleEqualsRecursively(modelGroup->particles().first(), base))
+ return true;
+ }
+ }
+ }
+
+ // 3
+ if (extension->minimumOccurs() == base->minimumOccurs()) { // 3.1
+ if (extension->term()->isModelGroup() && base->term()->isModelGroup()) {
+ const XsdModelGroup::Ptr extensionGroup(extension->term());
+ const XsdModelGroup::Ptr baseGroup(base->term());
+
+ if (extensionGroup->compositor() == XsdModelGroup::AllCompositor && baseGroup->compositor() == XsdModelGroup::AllCompositor) {
+ const XsdParticle::List extensionParticles = extensionGroup->particles();
+ const XsdParticle::List baseParticles = baseGroup->particles();
+ for (int i = 0; i < baseParticles.count() && i < extensionParticles.count(); ++i) {
+ if (baseParticles.at(i) != extensionParticles.at(i))
+ return false;
+ }
+ }
+ }
+ }
+
+ return false;
+}
+
+QSet<XsdElement::Ptr> collectAllElements(const XsdParticle::Ptr &particle)
+{
+ QSet<XsdElement::Ptr> elements;
+
+ const XsdTerm::Ptr term(particle->term());
+ if (term->isElement()) {
+ elements.insert(XsdElement::Ptr(term));
+ } else if (term->isModelGroup()) {
+ const XsdModelGroup::Ptr group(term);
+
+ for (int i = 0; i < group->particles().count(); ++i)
+ elements.unite(collectAllElements(group->particles().at(i)));
+ }
+
+ return elements;
+}
+
+QSet<XsdElement::Ptr> collectAllElements(const XsdSchema::Ptr &schema)
+{
+ QSet<XsdElement::Ptr> elements;
+
+ // collect global elements
+ const XsdElement::List elementList = schema->elements();
+ for (int i = 0; i < elementList.count(); ++i)
+ elements.insert(elementList.at(i));
+
+ // collect all elements from global groups
+ const XsdModelGroup::List groupList = schema->elementGroups();
+ for (int i = 0; i < groupList.count(); ++i) {
+ const XsdModelGroup::Ptr group(groupList.at(i));
+
+ for (int j = 0; j < group->particles().count(); ++j)
+ elements.unite(collectAllElements(group->particles().at(j)));
+ }
+
+ // collect all elements from complex type definitions
+ SchemaType::List types;
+ types << schema->types() << schema->anonymousTypes();
+
+ for (int i = 0; i < types.count(); ++i) {
+ if (types.at(i)->isComplexType() && types.at(i)->isDefinedBySchema()) {
+ const XsdComplexType::Ptr complexType(types.at(i));
+ if (complexType->contentType()->particle())
+ elements.unite(collectAllElements(complexType->contentType()->particle()));
+ }
+ }
+
+ return elements;
+}
+
+bool XsdSchemaChecker::elementSequenceAccepted(const XsdModelGroup::Ptr &sequence, const XsdParticle::Ptr &particle) const
+{
+ // @see http://www.w3.org/TR/xmlschema11-1/#cvc-accept
+
+ if (particle->term()->isWildcard()) { // 1
+ const XsdWildcard::Ptr wildcard(particle->term());
+
+ // 1.1
+ if ((unsigned int)sequence->particles().count() < particle->minimumOccurs())
+ return false;
+
+ // 1.2
+ if (!particle->maximumOccursUnbounded()) {
+ if ((unsigned int)sequence->particles().count() > particle->maximumOccurs())
+ return false;
+ }
+
+ // 1.3
+ const XsdParticle::List particles(sequence->particles());
+ for (int i = 0; i < particles.count(); ++i) {
+ if (particles.at(i)->term()->isElement()) {
+ if (!XsdSchemaHelper::wildcardAllowsExpandedName(XsdElement::Ptr(particles.at(i)->term())->name(m_namePool), wildcard, m_namePool))
+ return false;
+ }
+ }
+ } else if (particle->term()->isElement()) { // 2
+ const XsdElement::Ptr element(particle->term());
+
+ // 2.1
+ if ((unsigned int)sequence->particles().count() < particle->minimumOccurs())
+ return false;
+
+ // 2.2
+ if (!particle->maximumOccursUnbounded()) {
+ if ((unsigned int)sequence->particles().count() > particle->maximumOccurs())
+ return false;
+ }
+
+ // 2.3
+ const XsdParticle::List particles(sequence->particles());
+ for (int i = 0; i < particles.count(); ++i) {
+ bool isValid = false;
+ if (particles.at(i)->term()->isElement()) {
+ const XsdElement::Ptr seqElement(particles.at(i)->term());
+
+ // 2.3.1
+ if (element->name(m_namePool) == seqElement->name(m_namePool))
+ isValid = true;
+
+ // 2.3.2
+ if (element->scope() && element->scope()->variety() == XsdElement::Scope::Global) {
+ if (!(element->disallowedSubstitutions() & NamedSchemaComponent::SubstitutionConstraint)) {
+ //TODO: continue
+ }
+ }
+ }
+ }
+ }
+
+ return true;
+}
+
+QT_END_NAMESPACE
diff --git a/src/xmlpatterns/schema/qxsdschemachecker_p.h b/src/xmlpatterns/schema/qxsdschemachecker_p.h
new file mode 100644
index 0000000..843f909
--- /dev/null
+++ b/src/xmlpatterns/schema/qxsdschemachecker_p.h
@@ -0,0 +1,284 @@
+/****************************************************************************
+**
+** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtXmlPatterns of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+
+#ifndef Patternist_XsdSchemaChecker_H
+#define Patternist_XsdSchemaChecker_H
+
+#include "qschematype_p.h"
+#include "qxsdattribute_p.h"
+#include "qxsdattributegroup_p.h"
+#include "qxsdelement_p.h"
+#include "qxsdmodelgroup_p.h"
+#include "qxsdnotation_p.h"
+#include "qxsdschema_p.h"
+#include "qxsdsimpletype_p.h"
+
+#include <QtCore/QExplicitlySharedDataPointer>
+
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+namespace QPatternist
+{
+ class XsdSchemaContext;
+ class XsdSchemaParserContext;
+
+ /**
+ * @short Encapsulates the checking of schema valitity after reference resolving has finished.
+ *
+ * @ingroup Patternist_schema
+ * @author Tobias Koenig <tobias.koenig@trolltech.com>
+ */
+ class XsdSchemaChecker : public QSharedData
+ {
+ public:
+ typedef QExplicitlySharedDataPointer<XsdSchemaChecker> Ptr;
+
+ /**
+ * Creates a new schema checker.
+ *
+ * @param context The context that is used for customization.
+ * @param parserContext The context that contains all the data structures.
+ */
+ XsdSchemaChecker(const QExplicitlySharedDataPointer<XsdSchemaContext> &context, const XsdSchemaParserContext *parserContext);
+
+ /**
+ * Destroys the schema checker.
+ */
+ ~XsdSchemaChecker();
+
+ /**
+ * Starts a basic check process.
+ *
+ * This check only validates the basic super type inheritance
+ * of simple and complex types.
+ */
+ void basicCheck();
+
+ /**
+ * Starts the real check process.
+ */
+ void check();
+
+ /**
+ * Checks the constraining facets of all global and anonymous simple types for validity.
+ */
+ void checkConstrainingFacets();
+
+ /**
+ * Adds the component location hash, so the checker is able to report meaning full
+ * error messages.
+ */
+ void addComponentLocationHash(const QHash<NamedSchemaComponent::Ptr, QSourceLocation> &hash);
+
+ private:
+ void checkSimpleRestrictionBaseType();
+
+ /**
+ * Checks that no simple or complex type inherits itself.
+ */
+ void checkBasicCircularInheritances();
+
+ /**
+ * Checks the advanced circular inheritance.
+ */
+ void checkCircularInheritances();
+
+ /**
+ * Checks for inheritance restrictions given by final or finalDefault
+ * attributes.
+ */
+ void checkInheritanceRestrictions();
+
+ /**
+ * Checks for various constraints for simple types defined by schema.
+ */
+ void checkBasicSimpleTypeConstraints();
+ void checkSimpleTypeConstraints();
+
+ /**
+ * Checks for various constraints for complex types defined by schema.
+ */
+ void checkBasicComplexTypeConstraints();
+ void checkComplexTypeConstraints();
+
+ /**
+ * Checks for list and union derivation restrictions given by final or finalDefault
+ * attributes.
+ */
+ void checkSimpleDerivationRestrictions();
+
+ /**
+ * Checks the set of constraining @p facets that belongs to @p simpleType for validity.
+ */
+ void checkConstrainingFacets(const XsdFacet::Hash &facets, const XsdSimpleType::Ptr &simpleType);
+
+ /**
+ * Checks for duplicated attribute uses (attributes with the same name) inside a complex type.
+ */
+ void checkDuplicatedAttributeUses();
+
+ /**
+ * Check the element constraints.
+ */
+ void checkElementConstraints();
+
+ /**
+ * Check the attribute constraints.
+ */
+ void checkAttributeConstraints();
+
+ /**
+ * Check the attribute use constraints.
+ */
+ void checkAttributeUseConstraints();
+
+ /**
+ * A map used to find duplicated elements inside a model group.
+ */
+ typedef QHash<QXmlName, SchemaType::Ptr> DuplicatedElementMap;
+
+ /**
+ * A map used to find duplicated wildcards inside a model group.
+ */
+ typedef QHash<XsdWildcard::NamespaceConstraint::Variety, XsdWildcard::Ptr> DuplicatedWildcardMap;
+
+ /**
+ * Check for duplicated elements and element wildcards in all complex type particles.
+ */
+ void checkElementDuplicates();
+
+ /**
+ * Check for duplicated elements and element wildcards in the given @p particle.
+ *
+ * @param particle The particle to check.
+ * @param elementMap A map to find the duplicated elements.
+ * @param wildcardMap A map to find the duplicated element wildcards.
+ */
+ void checkElementDuplicates(const XsdParticle::Ptr &particle, DuplicatedElementMap &elementMap, DuplicatedWildcardMap &wildcardMap);
+
+ /**
+ * Setup fast lookup list for allowed facets of atomic simple types.
+ */
+ void setupAllowedAtomicFacets();
+
+ /**
+ * Returns the source location of the given schema @p component or a dummy
+ * source location if the component is not found in the component location hash.
+ */
+ QSourceLocation sourceLocation(const NamedSchemaComponent::Ptr &component) const;
+
+ /**
+ * Returns the source location of the given schema @p type or a dummy
+ * source location if the type is not found in the component location hash.
+ */
+ QSourceLocation sourceLocationForType(const SchemaType::Ptr &type) const;
+
+ /**
+ * Checks that the string @p value is valid according the value space of @p type
+ * for the given @p component.
+ */
+ bool isValidValue(const QString &value, const AnySimpleType::Ptr &type, QString &errorMsg) const;
+
+ /**
+ * Returns the list of facets for the given @p type.
+ */
+ XsdFacet::Hash facetsForType(const SchemaType::Ptr &type) const;
+
+ /**
+ * Returns whether the given @p list of attribute uses contains two (or more) attribute
+ * uses that point to attributes with the same name. @p conflictingAttribute
+ * will contain the conflicting attribute in that case.
+ */
+ bool hasDuplicatedAttributeUses(const XsdAttributeUse::List &list, XsdAttribute::Ptr &conflictingAttribute) const;
+
+ /**
+ * Returns whether the given @p list of attribute uses contains two (or more) attribute
+ * uses that have a type inherited by xs:ID.
+ */
+ bool hasMultipleIDAttributeUses(const XsdAttributeUse::List &list) const;
+
+ /**
+ * Returns whether the given @p list of attribute uses contains an attribute
+ * uses that has a type inherited by xs:ID with a value constraint. @p conflictingAttribute
+ * will contain the conflicting attribute in that case.
+ */
+ bool hasConstraintIDAttributeUse(const XsdAttributeUse::List &list, XsdAttribute::Ptr &conflictingAttribute) const;
+
+ /**
+ * Checks whether the @p particle equals the @p otherParticle recursively.
+ */
+ bool particleEqualsRecursively(const XsdParticle::Ptr &particle, const XsdParticle::Ptr &otherParticle) const;
+
+ /**
+ * Checks whether the @p extension particle is a valid extension of the @p base particle.
+ */
+ bool isValidParticleExtension(const XsdParticle::Ptr &extension, const XsdParticle::Ptr &base) const;
+
+ /**
+ * Checks whether the @p sequence of elements is accepted by the given @p particle.
+ */
+ bool elementSequenceAccepted(const XsdModelGroup::Ptr &sequence, const XsdParticle::Ptr &particle) const;
+
+ QExplicitlySharedDataPointer<XsdSchemaContext> m_context;
+ NamePool::Ptr m_namePool;
+ XsdSchema::Ptr m_schema;
+ QHash<QXmlName, QSet<XsdFacet::Type> > m_allowedAtomicFacets;
+ QHash<NamedSchemaComponent::Ptr, QSourceLocation> m_componentLocationHash;
+ };
+}
+
+QT_END_NAMESPACE
+
+QT_END_HEADER
+
+#endif
diff --git a/src/xmlpatterns/schema/qxsdschemachecker_setup.cpp b/src/xmlpatterns/schema/qxsdschemachecker_setup.cpp
new file mode 100644
index 0000000..a36ecc2
--- /dev/null
+++ b/src/xmlpatterns/schema/qxsdschemachecker_setup.cpp
@@ -0,0 +1,327 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtXmlPatterns module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "qxsdschemachecker_p.h"
+
+QT_BEGIN_NAMESPACE
+
+using namespace QPatternist;
+
+void XsdSchemaChecker::setupAllowedAtomicFacets()
+{
+ // string
+ {
+ QSet<XsdFacet::Type> facets;
+ facets << XsdFacet::Length
+ << XsdFacet::MinimumLength
+ << XsdFacet::MaximumLength
+ << XsdFacet::Pattern
+ << XsdFacet::Enumeration
+ << XsdFacet::WhiteSpace
+ << XsdFacet::Assertion;
+
+ m_allowedAtomicFacets.insert(BuiltinTypes::xsString->name(m_namePool), facets);
+ }
+
+ // boolean
+ {
+ QSet<XsdFacet::Type> facets;
+ facets << XsdFacet::Pattern
+ << XsdFacet::WhiteSpace
+ << XsdFacet::Assertion;
+
+ m_allowedAtomicFacets.insert(BuiltinTypes::xsBoolean->name(m_namePool), facets);
+ }
+
+ // float
+ {
+ QSet<XsdFacet::Type> facets;
+ facets << XsdFacet::Pattern
+ << XsdFacet::Enumeration
+ << XsdFacet::WhiteSpace
+ << XsdFacet::MaximumInclusive
+ << XsdFacet::MaximumExclusive
+ << XsdFacet::MinimumInclusive
+ << XsdFacet::MinimumExclusive
+ << XsdFacet::Assertion;
+
+ m_allowedAtomicFacets.insert(BuiltinTypes::xsFloat->name(m_namePool), facets);
+ }
+
+ // double
+ {
+ QSet<XsdFacet::Type> facets;
+ facets << XsdFacet::Pattern
+ << XsdFacet::Enumeration
+ << XsdFacet::WhiteSpace
+ << XsdFacet::MaximumInclusive
+ << XsdFacet::MaximumExclusive
+ << XsdFacet::MinimumInclusive
+ << XsdFacet::MinimumExclusive
+ << XsdFacet::Assertion;
+
+ m_allowedAtomicFacets.insert(BuiltinTypes::xsDouble->name(m_namePool), facets);
+ }
+
+ // decimal
+ {
+ QSet<XsdFacet::Type> facets;
+ facets << XsdFacet::TotalDigits
+ << XsdFacet::FractionDigits
+ << XsdFacet::Pattern
+ << XsdFacet::Enumeration
+ << XsdFacet::WhiteSpace
+ << XsdFacet::MaximumInclusive
+ << XsdFacet::MaximumExclusive
+ << XsdFacet::MinimumInclusive
+ << XsdFacet::MinimumExclusive
+ << XsdFacet::Assertion;
+
+ m_allowedAtomicFacets.insert(BuiltinTypes::xsDecimal->name(m_namePool), facets);
+ }
+
+ // duration
+ {
+ QSet<XsdFacet::Type> facets;
+ facets << XsdFacet::Pattern
+ << XsdFacet::Enumeration
+ << XsdFacet::WhiteSpace
+ << XsdFacet::MaximumInclusive
+ << XsdFacet::MaximumExclusive
+ << XsdFacet::MinimumInclusive
+ << XsdFacet::MinimumExclusive
+ << XsdFacet::Assertion;
+
+ m_allowedAtomicFacets.insert(BuiltinTypes::xsDuration->name(m_namePool), facets);
+ }
+
+ // dateTime
+ {
+ QSet<XsdFacet::Type> facets;
+ facets << XsdFacet::Pattern
+ << XsdFacet::Enumeration
+ << XsdFacet::WhiteSpace
+ << XsdFacet::MaximumInclusive
+ << XsdFacet::MaximumExclusive
+ << XsdFacet::MinimumInclusive
+ << XsdFacet::MinimumExclusive
+ << XsdFacet::Assertion;
+
+ m_allowedAtomicFacets.insert(BuiltinTypes::xsDateTime->name(m_namePool), facets);
+ }
+
+ // time
+ {
+ QSet<XsdFacet::Type> facets;
+ facets << XsdFacet::Pattern
+ << XsdFacet::Enumeration
+ << XsdFacet::WhiteSpace
+ << XsdFacet::MaximumInclusive
+ << XsdFacet::MaximumExclusive
+ << XsdFacet::MinimumInclusive
+ << XsdFacet::MinimumExclusive
+ << XsdFacet::Assertion;
+
+ m_allowedAtomicFacets.insert(BuiltinTypes::xsTime->name(m_namePool), facets);
+ }
+
+ // date
+ {
+ QSet<XsdFacet::Type> facets;
+ facets << XsdFacet::Pattern
+ << XsdFacet::Enumeration
+ << XsdFacet::WhiteSpace
+ << XsdFacet::MaximumInclusive
+ << XsdFacet::MaximumExclusive
+ << XsdFacet::MinimumInclusive
+ << XsdFacet::MinimumExclusive
+ << XsdFacet::Assertion;
+
+ m_allowedAtomicFacets.insert(BuiltinTypes::xsDate->name(m_namePool), facets);
+ }
+
+ // gYearMonth
+ {
+ QSet<XsdFacet::Type> facets;
+ facets << XsdFacet::Pattern
+ << XsdFacet::Enumeration
+ << XsdFacet::WhiteSpace
+ << XsdFacet::MaximumInclusive
+ << XsdFacet::MaximumExclusive
+ << XsdFacet::MinimumInclusive
+ << XsdFacet::MinimumExclusive
+ << XsdFacet::Assertion;
+
+ m_allowedAtomicFacets.insert(BuiltinTypes::xsGYearMonth->name(m_namePool), facets);
+ }
+
+ // gYear
+ {
+ QSet<XsdFacet::Type> facets;
+ facets << XsdFacet::Pattern
+ << XsdFacet::Enumeration
+ << XsdFacet::WhiteSpace
+ << XsdFacet::MaximumInclusive
+ << XsdFacet::MaximumExclusive
+ << XsdFacet::MinimumInclusive
+ << XsdFacet::MinimumExclusive
+ << XsdFacet::Assertion;
+
+ m_allowedAtomicFacets.insert(BuiltinTypes::xsGYear->name(m_namePool), facets);
+ }
+
+ // gMonthDay
+ {
+ QSet<XsdFacet::Type> facets;
+ facets << XsdFacet::Pattern
+ << XsdFacet::Enumeration
+ << XsdFacet::WhiteSpace
+ << XsdFacet::MaximumInclusive
+ << XsdFacet::MaximumExclusive
+ << XsdFacet::MinimumInclusive
+ << XsdFacet::MinimumExclusive
+ << XsdFacet::Assertion;
+
+ m_allowedAtomicFacets.insert(BuiltinTypes::xsGMonthDay->name(m_namePool), facets);
+ }
+
+ // gDay
+ {
+ QSet<XsdFacet::Type> facets;
+ facets << XsdFacet::Pattern
+ << XsdFacet::Enumeration
+ << XsdFacet::WhiteSpace
+ << XsdFacet::MaximumInclusive
+ << XsdFacet::MaximumExclusive
+ << XsdFacet::MinimumInclusive
+ << XsdFacet::MinimumExclusive
+ << XsdFacet::Assertion;
+
+ m_allowedAtomicFacets.insert(BuiltinTypes::xsGDay->name(m_namePool), facets);
+ }
+
+ // gMonth
+ {
+ QSet<XsdFacet::Type> facets;
+ facets << XsdFacet::Pattern
+ << XsdFacet::Enumeration
+ << XsdFacet::WhiteSpace
+ << XsdFacet::MaximumInclusive
+ << XsdFacet::MaximumExclusive
+ << XsdFacet::MinimumInclusive
+ << XsdFacet::MinimumExclusive
+ << XsdFacet::Assertion;
+
+ m_allowedAtomicFacets.insert(BuiltinTypes::xsGMonth->name(m_namePool), facets);
+ }
+
+ // hexBinary
+ {
+ QSet<XsdFacet::Type> facets;
+ facets << XsdFacet::Length
+ << XsdFacet::MinimumLength
+ << XsdFacet::MaximumLength
+ << XsdFacet::Pattern
+ << XsdFacet::Enumeration
+ << XsdFacet::WhiteSpace
+ << XsdFacet::Assertion;
+
+ m_allowedAtomicFacets.insert(BuiltinTypes::xsHexBinary->name(m_namePool), facets);
+ }
+
+ // base64Binary
+ {
+ QSet<XsdFacet::Type> facets;
+ facets << XsdFacet::Length
+ << XsdFacet::MinimumLength
+ << XsdFacet::MaximumLength
+ << XsdFacet::Pattern
+ << XsdFacet::Enumeration
+ << XsdFacet::WhiteSpace
+ << XsdFacet::Assertion;
+
+ m_allowedAtomicFacets.insert(BuiltinTypes::xsBase64Binary->name(m_namePool), facets);
+ }
+
+ // anyURI
+ {
+ QSet<XsdFacet::Type> facets;
+ facets << XsdFacet::Length
+ << XsdFacet::MinimumLength
+ << XsdFacet::MaximumLength
+ << XsdFacet::Pattern
+ << XsdFacet::Enumeration
+ << XsdFacet::WhiteSpace
+ << XsdFacet::Assertion;
+
+ m_allowedAtomicFacets.insert(BuiltinTypes::xsAnyURI->name(m_namePool), facets);
+ }
+
+ // QName
+ {
+ QSet<XsdFacet::Type> facets;
+ facets << XsdFacet::Length
+ << XsdFacet::MinimumLength
+ << XsdFacet::MaximumLength
+ << XsdFacet::Pattern
+ << XsdFacet::Enumeration
+ << XsdFacet::WhiteSpace
+ << XsdFacet::Assertion;
+
+ m_allowedAtomicFacets.insert(BuiltinTypes::xsQName->name(m_namePool), facets);
+ }
+
+ // NOTATION
+ {
+ QSet<XsdFacet::Type> facets;
+ facets << XsdFacet::Length
+ << XsdFacet::MinimumLength
+ << XsdFacet::MaximumLength
+ << XsdFacet::Pattern
+ << XsdFacet::Enumeration
+ << XsdFacet::WhiteSpace
+ << XsdFacet::Assertion;
+
+ m_allowedAtomicFacets.insert(BuiltinTypes::xsNOTATION->name(m_namePool), facets);
+ }
+}
+
+QT_END_NAMESPACE
diff --git a/src/xmlpatterns/schema/qxsdschemacontext.cpp b/src/xmlpatterns/schema/qxsdschemacontext.cpp
new file mode 100644
index 0000000..6d646bc
--- /dev/null
+++ b/src/xmlpatterns/schema/qxsdschemacontext.cpp
@@ -0,0 +1,528 @@
+/****************************************************************************
+**
+** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the QtXmlPatterns of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "qxsdschemacontext_p.h"
+
+#include "qderivedinteger_p.h"
+#include "qderivedstring_p.h"
+#include "qxsdschematypesfactory_p.h"
+
+QT_BEGIN_NAMESPACE
+
+using namespace QPatternist;
+
+XsdSchemaContext::XsdSchemaContext(const NamePool::Ptr &namePool)
+ : m_namePool(namePool)
+ , m_networkAccessManager(0)
+ , m_uriResolver(0)
+ , m_messageHandler(0)
+{
+}
+
+NamePool::Ptr XsdSchemaContext::namePool() const
+{
+ return m_namePool;
+}
+
+QUrl XsdSchemaContext::baseURI() const
+{
+ return m_baseURI;
+}
+
+void XsdSchemaContext::setBaseURI(const QUrl &uri)
+{
+ m_baseURI = uri;
+}
+
+void XsdSchemaContext::setNetworkAccessManager(QNetworkAccessManager *accessManager)
+{
+ m_networkAccessManager = accessManager;
+}
+
+QNetworkAccessManager* XsdSchemaContext::networkAccessManager() const
+{
+ return m_networkAccessManager;
+}
+
+void XsdSchemaContext::setMessageHandler(QAbstractMessageHandler *handler)
+{
+ m_messageHandler = handler;
+}
+
+QAbstractMessageHandler* XsdSchemaContext::messageHandler() const
+{
+ return m_messageHandler;
+}
+
+QSourceLocation XsdSchemaContext::locationFor(const SourceLocationReflection *const) const
+{
+ return QSourceLocation();
+}
+
+void XsdSchemaContext::setUriResolver(const QAbstractUriResolver *uriResolver)
+{
+ m_uriResolver = uriResolver;
+}
+
+const QAbstractUriResolver* XsdSchemaContext::uriResolver() const
+{
+ return m_uriResolver;
+}
+
+XsdFacet::Hash XsdSchemaContext::facetsForType(const AnySimpleType::Ptr &type) const
+{
+ if (type->isDefinedBySchema())
+ return XsdSimpleType::Ptr(type)->facets();
+ else {
+ if (m_builtinTypesFacetList.isEmpty())
+ m_builtinTypesFacetList = setupBuiltinTypesFacetList();
+
+ return m_builtinTypesFacetList.value(type);
+ }
+}
+
+SchemaTypeFactory::Ptr XsdSchemaContext::schemaTypeFactory() const
+{
+ if (!m_schemaTypeFactory)
+ m_schemaTypeFactory = SchemaTypeFactory::Ptr(new XsdSchemaTypesFactory(m_namePool));
+
+ return m_schemaTypeFactory;
+}
+
+QHash<SchemaType::Ptr, XsdFacet::Hash> XsdSchemaContext::setupBuiltinTypesFacetList() const
+{
+ QHash<SchemaType::Ptr, XsdFacet::Hash> hash;
+
+ const XsdFacet::Ptr fixedCollapseWhiteSpace(new XsdFacet());
+ fixedCollapseWhiteSpace->setType(XsdFacet::WhiteSpace);
+ fixedCollapseWhiteSpace->setValue(DerivedString<TypeString>::fromLexical(m_namePool, XsdSchemaToken::toString(XsdSchemaToken::Collapse)));
+ fixedCollapseWhiteSpace->setFixed(true);
+
+ const XsdFacet::Ptr collapseWhiteSpace(new XsdFacet());
+ collapseWhiteSpace->setType(XsdFacet::WhiteSpace);
+ collapseWhiteSpace->setValue(DerivedString<TypeString>::fromLexical(m_namePool, XsdSchemaToken::toString(XsdSchemaToken::Collapse)));
+ collapseWhiteSpace->setFixed(false);
+
+ const XsdFacet::Ptr preserveWhiteSpace(new XsdFacet());
+ preserveWhiteSpace->setType(XsdFacet::WhiteSpace);
+ preserveWhiteSpace->setValue(DerivedString<TypeString>::fromLexical(m_namePool, XsdSchemaToken::toString(XsdSchemaToken::Preserve)));
+ preserveWhiteSpace->setFixed(false);
+
+ const XsdFacet::Ptr replaceWhiteSpace(new XsdFacet());
+ replaceWhiteSpace->setType(XsdFacet::WhiteSpace);
+ replaceWhiteSpace->setValue(DerivedString<TypeString>::fromLexical(m_namePool, XsdSchemaToken::toString(XsdSchemaToken::Replace)));
+ replaceWhiteSpace->setFixed(false);
+
+ const XsdFacet::Ptr fixedZeroFractionDigits(new XsdFacet());
+ fixedZeroFractionDigits->setType(XsdFacet::FractionDigits);
+ fixedZeroFractionDigits->setValue(DerivedInteger<TypeNonNegativeInteger>::fromValue(m_namePool, 0));
+ fixedZeroFractionDigits->setFixed(true);
+
+ {
+ XsdFacet::Hash &facets = hash[BuiltinTypes::xsString];
+ facets.insert(preserveWhiteSpace->type(), preserveWhiteSpace);
+ }
+
+ {
+ XsdFacet::Hash &facets = hash[BuiltinTypes::xsBoolean];
+ facets.insert(fixedCollapseWhiteSpace->type(), fixedCollapseWhiteSpace);
+ }
+
+ {
+ XsdFacet::Hash &facets = hash[BuiltinTypes::xsDecimal];
+ facets.insert(fixedCollapseWhiteSpace->type(), fixedCollapseWhiteSpace);
+ }
+
+ {
+ XsdFacet::Hash &facets = hash[BuiltinTypes::xsFloat];
+ facets.insert(fixedCollapseWhiteSpace->type(), fixedCollapseWhiteSpace);
+ }
+
+ {
+ XsdFacet::Hash &facets = hash[BuiltinTypes::xsDouble];
+ facets.insert(fixedCollapseWhiteSpace->type(), fixedCollapseWhiteSpace);
+ }
+
+ {
+ XsdFacet::Hash &facets = hash[BuiltinTypes::xsDuration];
+ facets.insert(fixedCollapseWhiteSpace->type(), fixedCollapseWhiteSpace);
+ }
+
+ {
+ XsdFacet::Hash &facets = hash[BuiltinTypes::xsDateTime];
+ facets.insert(fixedCollapseWhiteSpace->type(), fixedCollapseWhiteSpace);
+ }
+
+ {
+ XsdFacet::Hash &facets = hash[BuiltinTypes::xsTime];
+ facets.insert(fixedCollapseWhiteSpace->type(), fixedCollapseWhiteSpace);
+ }
+
+ {
+ XsdFacet::Hash &facets = hash[BuiltinTypes::xsDate];
+ facets.insert(fixedCollapseWhiteSpace->type(), fixedCollapseWhiteSpace);
+ }
+
+ {
+ XsdFacet::Hash &facets = hash[BuiltinTypes::xsGYearMonth];
+ facets.insert(fixedCollapseWhiteSpace->type(), fixedCollapseWhiteSpace);
+ }
+
+ {
+ XsdFacet::Hash &facets = hash[BuiltinTypes::xsGYear];
+ facets.insert(fixedCollapseWhiteSpace->type(), fixedCollapseWhiteSpace);
+ }
+
+ {
+ XsdFacet::Hash &facets = hash[BuiltinTypes::xsGMonthDay];
+ facets.insert(fixedCollapseWhiteSpace->type(), fixedCollapseWhiteSpace);
+ }
+
+ {
+ XsdFacet::Hash &facets = hash[BuiltinTypes::xsGDay];
+ facets.insert(fixedCollapseWhiteSpace->type(), fixedCollapseWhiteSpace);
+ }
+
+ {
+ XsdFacet::Hash &facets = hash[BuiltinTypes::xsGMonth];
+ facets.insert(fixedCollapseWhiteSpace->type(), fixedCollapseWhiteSpace);
+ }
+
+ {
+ XsdFacet::Hash &facets = hash[BuiltinTypes::xsHexBinary];
+ facets.insert(fixedCollapseWhiteSpace->type(), fixedCollapseWhiteSpace);
+ }
+
+ {
+ XsdFacet::Hash &facets = hash[BuiltinTypes::xsBase64Binary];
+ facets.insert(fixedCollapseWhiteSpace->type(), fixedCollapseWhiteSpace);
+ }
+
+ {
+ XsdFacet::Hash &facets = hash[BuiltinTypes::xsAnyURI];
+ facets.insert(fixedCollapseWhiteSpace->type(), fixedCollapseWhiteSpace);
+ }
+
+ {
+ XsdFacet::Hash &facets = hash[BuiltinTypes::xsQName];
+ facets.insert(fixedCollapseWhiteSpace->type(), fixedCollapseWhiteSpace);
+ }
+
+ {
+ XsdFacet::Hash &facets = hash[BuiltinTypes::xsNOTATION];
+ facets.insert(fixedCollapseWhiteSpace->type(), fixedCollapseWhiteSpace);
+ }
+
+ {
+ XsdFacet::Hash &facets = hash[BuiltinTypes::xsNormalizedString];
+ facets.insert(replaceWhiteSpace->type(), replaceWhiteSpace);
+ }
+
+ {
+ XsdFacet::Hash &facets = hash[BuiltinTypes::xsToken];
+ facets.insert(collapseWhiteSpace->type(), collapseWhiteSpace);
+ }
+
+ {
+ XsdFacet::Hash &facets = hash[BuiltinTypes::xsLanguage];
+ facets.insert(collapseWhiteSpace->type(), collapseWhiteSpace);
+
+ const XsdFacet::Ptr pattern(new XsdFacet());
+ pattern->setType(XsdFacet::Pattern);
+ pattern->setMultiValue(AtomicValue::List() << DerivedString<TypeString>::fromLexical(m_namePool, QString::fromLatin1("[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*")));
+ facets.insert(pattern->type(), pattern);
+ }
+
+ {
+ XsdFacet::Hash &facets = hash[BuiltinTypes::xsNMTOKEN];
+ facets.insert(collapseWhiteSpace->type(), collapseWhiteSpace);
+
+ const XsdFacet::Ptr pattern(new XsdFacet());
+ pattern->setType(XsdFacet::Pattern);
+ pattern->setMultiValue(AtomicValue::List() << DerivedString<TypeString>::fromLexical(m_namePool, QString::fromLatin1("\\c+")));
+ facets.insert(pattern->type(), pattern);
+ }
+
+ {
+ XsdFacet::Hash &facets = hash[BuiltinTypes::xsName];
+ facets.insert(collapseWhiteSpace->type(), collapseWhiteSpace);
+
+ const XsdFacet::Ptr pattern(new XsdFacet());
+ pattern->setType(XsdFacet::Pattern);
+ pattern->setMultiValue(AtomicValue::List() << DerivedString<TypeString>::fromLexical(m_namePool, QString::fromLatin1("\\i\\c*")));
+ facets.insert(pattern->type(), pattern);
+ }
+
+ const XsdFacet::Ptr ncNamePattern(new XsdFacet());
+ {
+ ncNamePattern->setType(XsdFacet::Pattern);
+ AtomicValue::List patterns;
+ patterns << DerivedString<TypeString>::fromLexical(m_namePool, QString::fromLatin1("\\i\\c*"));
+ patterns << DerivedString<TypeString>::fromLexical(m_namePool, QString::fromLatin1("[\\i-[:]][\\c-[:]]*"));
+ ncNamePattern->setMultiValue(patterns);
+ }
+
+ {
+ XsdFacet::Hash &facets = hash[BuiltinTypes::xsNCName];
+ facets.insert(collapseWhiteSpace->type(), collapseWhiteSpace);
+ facets.insert(ncNamePattern->type(), ncNamePattern);
+ }
+
+ {
+ XsdFacet::Hash &facets = hash[BuiltinTypes::xsID];
+ facets.insert(collapseWhiteSpace->type(), collapseWhiteSpace);
+ facets.insert(ncNamePattern->type(), ncNamePattern);
+ }
+
+ {
+ XsdFacet::Hash &facets = hash[BuiltinTypes::xsIDREF];
+ facets.insert(collapseWhiteSpace->type(), collapseWhiteSpace);
+ facets.insert(ncNamePattern->type(), ncNamePattern);
+ }
+
+ {
+ XsdFacet::Hash &facets = hash[BuiltinTypes::xsENTITY];
+ facets.insert(collapseWhiteSpace->type(), collapseWhiteSpace);
+ facets.insert(ncNamePattern->type(), ncNamePattern);
+ }
+
+ const XsdFacet::Ptr integerPattern(new XsdFacet());
+ integerPattern->setType(XsdFacet::Pattern);
+ integerPattern->setMultiValue(AtomicValue::List() << DerivedString<TypeString>::fromLexical(m_namePool, QString::fromLatin1("[\\-+]?[0-9]+")));
+
+ {
+ XsdFacet::Hash &facets = hash[BuiltinTypes::xsInteger];
+ facets.insert(fixedCollapseWhiteSpace->type(), fixedCollapseWhiteSpace);
+ facets.insert(fixedZeroFractionDigits->type(), fixedZeroFractionDigits);
+ facets.insert(integerPattern->type(), integerPattern);
+ }
+
+ {
+ XsdFacet::Hash &facets = hash[BuiltinTypes::xsNonPositiveInteger];
+ facets.insert(fixedCollapseWhiteSpace->type(), fixedCollapseWhiteSpace);
+ facets.insert(fixedZeroFractionDigits->type(), fixedZeroFractionDigits);
+ facets.insert(integerPattern->type(), integerPattern);
+
+ const XsdFacet::Ptr maxInclusive(new XsdFacet());
+ maxInclusive->setType(XsdFacet::MaximumInclusive);
+ maxInclusive->setValue(DerivedString<TypeString>::fromLexical(m_namePool, QString::fromLatin1("0")));
+ facets.insert(maxInclusive->type(), maxInclusive);
+ }
+
+ {
+ XsdFacet::Hash &facets = hash[BuiltinTypes::xsNegativeInteger];
+ facets.insert(fixedCollapseWhiteSpace->type(), fixedCollapseWhiteSpace);
+ facets.insert(fixedZeroFractionDigits->type(), fixedZeroFractionDigits);
+ facets.insert(integerPattern->type(), integerPattern);
+
+ const XsdFacet::Ptr maxInclusive(new XsdFacet());
+ maxInclusive->setType(XsdFacet::MaximumInclusive);
+ maxInclusive->setValue(DerivedString<TypeString>::fromLexical(m_namePool, QString::fromLatin1("-1")));
+ facets.insert(maxInclusive->type(), maxInclusive);
+ }
+
+ {
+ XsdFacet::Hash &facets = hash[BuiltinTypes::xsLong];
+ facets.insert(fixedCollapseWhiteSpace->type(), fixedCollapseWhiteSpace);
+ facets.insert(fixedZeroFractionDigits->type(), fixedZeroFractionDigits);
+ facets.insert(integerPattern->type(), integerPattern);
+
+ const XsdFacet::Ptr maxInclusive(new XsdFacet());
+ maxInclusive->setType(XsdFacet::MaximumInclusive);
+ maxInclusive->setValue(DerivedString<TypeString>::fromLexical(m_namePool, QString::fromLatin1("9223372036854775807")));
+ facets.insert(maxInclusive->type(), maxInclusive);
+
+ const XsdFacet::Ptr minInclusive(new XsdFacet());
+ minInclusive->setType(XsdFacet::MinimumInclusive);
+ minInclusive->setValue(DerivedString<TypeString>::fromLexical(m_namePool, QString::fromLatin1("-9223372036854775808")));
+ facets.insert(minInclusive->type(), minInclusive);
+ }
+
+ {
+ XsdFacet::Hash &facets = hash[BuiltinTypes::xsInt];
+ facets.insert(fixedCollapseWhiteSpace->type(), fixedCollapseWhiteSpace);
+ facets.insert(fixedZeroFractionDigits->type(), fixedZeroFractionDigits);
+ facets.insert(integerPattern->type(), integerPattern);
+
+ const XsdFacet::Ptr maxInclusive(new XsdFacet());
+ maxInclusive->setType(XsdFacet::MaximumInclusive);
+ maxInclusive->setValue(DerivedString<TypeString>::fromLexical(m_namePool, QString::fromLatin1("2147483647")));
+ facets.insert(maxInclusive->type(), maxInclusive);
+
+ const XsdFacet::Ptr minInclusive(new XsdFacet());
+ minInclusive->setType(XsdFacet::MinimumInclusive);
+ minInclusive->setValue(DerivedString<TypeString>::fromLexical(m_namePool, QString::fromLatin1("-2147483648")));
+ facets.insert(minInclusive->type(), minInclusive);
+ }
+
+ {
+ XsdFacet::Hash &facets = hash[BuiltinTypes::xsShort];
+ facets.insert(fixedCollapseWhiteSpace->type(), fixedCollapseWhiteSpace);
+ facets.insert(fixedZeroFractionDigits->type(), fixedZeroFractionDigits);
+ facets.insert(integerPattern->type(), integerPattern);
+
+ const XsdFacet::Ptr maxInclusive(new XsdFacet());
+ maxInclusive->setType(XsdFacet::MaximumInclusive);
+ maxInclusive->setValue(DerivedString<TypeString>::fromLexical(m_namePool, QString::fromLatin1("32767")));
+ facets.insert(maxInclusive->type(), maxInclusive);
+
+ const XsdFacet::Ptr minInclusive(new XsdFacet());
+ minInclusive->setType(XsdFacet::MinimumInclusive);
+ minInclusive->setValue(DerivedString<TypeString>::fromLexical(m_namePool, QString::fromLatin1("-32768")));
+ facets.insert(minInclusive->type(), minInclusive);
+ }
+
+ {
+ XsdFacet::Hash &facets = hash[BuiltinTypes::xsByte];
+ facets.insert(fixedCollapseWhiteSpace->type(), fixedCollapseWhiteSpace);
+ facets.insert(fixedZeroFractionDigits->type(), fixedZeroFractionDigits);
+ facets.insert(integerPattern->type(), integerPattern);
+
+ const XsdFacet::Ptr maxInclusive(new XsdFacet());
+ maxInclusive->setType(XsdFacet::MaximumInclusive);
+ maxInclusive->setValue(DerivedString<TypeString>::fromLexical(m_namePool, QString::fromLatin1("127")));
+ facets.insert(maxInclusive->type(), maxInclusive);
+
+ const XsdFacet::Ptr minInclusive(new XsdFacet());
+ minInclusive->setType(XsdFacet::MinimumInclusive);
+ minInclusive->setValue(DerivedString<TypeString>::fromLexical(m_namePool, QString::fromLatin1("-128")));
+ facets.insert(minInclusive->type(), minInclusive);
+ }
+
+ const XsdFacet::Ptr unsignedMinInclusive(new XsdFacet());
+ unsignedMinInclusive->setType(XsdFacet::MinimumInclusive);
+ unsignedMinInclusive->setValue(DerivedString<TypeString>::fromLexical(m_namePool, QString::fromLatin1("0")));
+
+ {
+ XsdFacet::Hash &facets = hash[BuiltinTypes::xsNonNegativeInteger];
+ facets.insert(fixedCollapseWhiteSpace->type(), fixedCollapseWhiteSpace);
+ facets.insert(fixedZeroFractionDigits->type(), fixedZeroFractionDigits);
+ facets.insert(integerPattern->type(), integerPattern);
+ facets.insert(unsignedMinInclusive->type(), unsignedMinInclusive);
+ }
+
+ {
+ XsdFacet::Hash &facets = hash[BuiltinTypes::xsUnsignedLong];
+ facets.insert(fixedCollapseWhiteSpace->type(), fixedCollapseWhiteSpace);
+ facets.insert(fixedZeroFractionDigits->type(), fixedZeroFractionDigits);
+ facets.insert(integerPattern->type(), integerPattern);
+ facets.insert(unsignedMinInclusive->type(), unsignedMinInclusive);
+
+ const XsdFacet::Ptr maxInclusive(new XsdFacet());
+ maxInclusive->setType(XsdFacet::MaximumInclusive);
+ maxInclusive->setValue(DerivedString<TypeString>::fromLexical(m_namePool, QString::fromLatin1("18446744073709551615")));
+ facets.insert(maxInclusive->type(), maxInclusive);
+ }
+
+ {
+ XsdFacet::Hash &facets = hash[BuiltinTypes::xsUnsignedInt];
+ facets.insert(fixedCollapseWhiteSpace->type(), fixedCollapseWhiteSpace);
+ facets.insert(fixedZeroFractionDigits->type(), fixedZeroFractionDigits);
+ facets.insert(integerPattern->type(), integerPattern);
+ facets.insert(unsignedMinInclusive->type(), unsignedMinInclusive);
+
+ const XsdFacet::Ptr maxInclusive(new XsdFacet());
+ maxInclusive->setType(XsdFacet::MaximumInclusive);
+ maxInclusive->setValue(DerivedString<TypeString>::fromLexical(m_namePool, QString::fromLatin1("4294967295")));
+ facets.insert(maxInclusive->type(), maxInclusive);
+ }
+
+ {
+ XsdFacet::Hash &facets = hash[BuiltinTypes::xsUnsignedShort];
+ facets.insert(fixedCollapseWhiteSpace->type(), fixedCollapseWhiteSpace);
+ facets.insert(fixedZeroFractionDigits->type(), fixedZeroFractionDigits);
+ facets.insert(integerPattern->type(), integerPattern);
+ facets.insert(unsignedMinInclusive->type(), unsignedMinInclusive);
+
+ const XsdFacet::Ptr maxInclusive(new XsdFacet());
+ maxInclusive->setType(XsdFacet::MaximumInclusive);
+ maxInclusive->setValue(DerivedString<TypeString>::fromLexical(m_namePool, QString::fromLatin1("65535")));
+ facets.insert(maxInclusive->type(), maxInclusive);
+ }
+
+ {
+ XsdFacet::Hash &facets = hash[BuiltinTypes::xsUnsignedByte];
+ facets.insert(fixedCollapseWhiteSpace->type(), fixedCollapseWhiteSpace);
+ facets.insert(fixedZeroFractionDigits->type(), fixedZeroFractionDigits);
+ facets.insert(integerPattern->type(), integerPattern);
+ facets.insert(unsignedMinInclusive->type(), unsignedMinInclusive);
+
+ const XsdFacet::Ptr maxInclusive(new XsdFacet());
+ maxInclusive->setType(XsdFacet::MaximumInclusive);
+ maxInclusive->setValue(DerivedString<TypeString>::fromLexical(m_namePool, QString::fromLatin1("255")));
+ facets.insert(maxInclusive->type(), maxInclusive);
+ }
+
+ {
+ XsdFacet::Hash &facets = hash[BuiltinTypes::xsPositiveInteger];
+ facets.insert(fixedCollapseWhiteSpace->type(), fixedCollapseWhiteSpace);
+ facets.insert(fixedZeroFractionDigits->type(), fixedZeroFractionDigits);
+
+ const XsdFacet::Ptr minInclusive(new XsdFacet());
+ minInclusive->setType(XsdFacet::MinimumInclusive);
+ minInclusive->setValue(DerivedString<TypeString>::fromLexical(m_namePool, QString::fromLatin1("1")));
+ facets.insert(minInclusive->type(), minInclusive);
+ }
+
+ {
+ XsdFacet::Hash &facets = hash[BuiltinTypes::xsYearMonthDuration];
+ facets.insert(fixedCollapseWhiteSpace->type(), fixedCollapseWhiteSpace);
+
+ const XsdFacet::Ptr pattern(new XsdFacet());
+ pattern->setType(XsdFacet::Pattern);
+ pattern->setMultiValue(AtomicValue::List() << DerivedString<TypeString>::fromLexical(m_namePool, QString::fromLatin1("[^DT]*")));
+ facets.insert(pattern->type(), pattern);
+ }
+
+ {
+ XsdFacet::Hash &facets = hash[BuiltinTypes::xsDayTimeDuration];
+ facets.insert(fixedCollapseWhiteSpace->type(), fixedCollapseWhiteSpace);
+
+ const XsdFacet::Ptr pattern(new XsdFacet());
+ pattern->setType(XsdFacet::Pattern);
+ pattern->setMultiValue(AtomicValue::List() << DerivedString<TypeString>::fromLexical(m_namePool, QString::fromLatin1("[^YM]*(T.*)?")));
+ facets.insert(pattern->type(), pattern);
+ }
+
+ return hash;
+}
+
+QT_END_NAMESPACE
diff --git a/src/xmlpatterns/schema/qxsdschemacontext_p.h b/src/xmlpatterns/schema/qxsdschemacontext_p.h
new file mode 100644
index 0000000..9c00964
--- /dev/null
+++ b/src/xmlpatterns/schema/qxsdschemacontext_p.h
@@ -0,0 +1,187 @@
+/****************************************************************************
+**
+** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtXmlPatterns of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+
+#ifndef Patternist_XsdSchemaContext_H
+#define Patternist_XsdSchemaContext_H
+
+#include "qnamedschemacomponent_p.h"
+#include "qreportcontext_p.h"
+#include "qschematypefactory_p.h"
+#include "qxsdschematoken_p.h"
+#include "qxsdschema_p.h"
+#include "qxsdschemachecker_p.h"
+#include "qxsdschemaresolver_p.h"
+
+#include <QtCore/QUrl>
+#include <QtNetwork/QNetworkAccessManager>
+#include <QtXmlPatterns/QAbstractMessageHandler>
+
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+namespace QPatternist
+{
+ /**
+ * @short A context for schema parsing and validation.
+ *
+ * This class provides the infrastructure for error reporting and
+ * network access. Additionally it stores objects that are used by
+ * both, the parser and the validator.
+ *
+ * @ingroup Patternist_schema
+ * @author Tobias Koenig <tobias.koenig@trolltech.com>
+ */
+ class XsdSchemaContext : public ReportContext
+ {
+ public:
+ /**
+ * A smart pointer wrapping XsdSchemaContext instances.
+ */
+ typedef QExplicitlySharedDataPointer<XsdSchemaContext> Ptr;
+
+ /**
+ * Creates a new schema context object.
+ *
+ * @param namePool The name pool all names belong to.
+ */
+ XsdSchemaContext(const NamePool::Ptr &namePool);
+
+ /**
+ * Returns the name pool of the schema context.
+ */
+ virtual NamePool::Ptr namePool() const;
+
+ /**
+ * Sets the base URI for the main schema.
+ *
+ * The main schema is the one that includes resp. imports
+ * all the other schema files.
+ */
+ virtual void setBaseURI(const QUrl &uri);
+
+ /**
+ * Returns the base URI of the main schema.
+ */
+ virtual QUrl baseURI() const;
+
+ /**
+ * Sets the network access manager that should be used
+ * to access referenced schema definitions.
+ */
+ void setNetworkAccessManager(QNetworkAccessManager *accessManager);
+
+ /**
+ * Returns the network access manager that is used to
+ * access referenced schema definitions.
+ */
+ virtual QNetworkAccessManager* networkAccessManager() const;
+
+ /**
+ * Sets the message @p handler used by the context for error reporting.
+ */
+ void setMessageHandler(QAbstractMessageHandler *handler);
+
+ /**
+ * Returns the message handler used by the context for
+ * error reporting.
+ */
+ virtual QAbstractMessageHandler* messageHandler() const;
+
+ /**
+ * Always returns an empty source location.
+ */
+ virtual QSourceLocation locationFor(const SourceLocationReflection *const reflection) const;
+
+ /**
+ * Sets the uri @p resolver that is used for resolving URIs in the
+ * schema parser.
+ */
+ void setUriResolver(const QAbstractUriResolver *resolver);
+
+ /**
+ * Returns the uri resolver that is used for resolving URIs in the
+ * schema parser.
+ */
+ virtual const QAbstractUriResolver* uriResolver() const;
+
+ /**
+ * Returns the list of facets for the given simple @p type.
+ */
+ XsdFacet::Hash facetsForType(const AnySimpleType::Ptr &type) const;
+
+ /**
+ * Returns a schema type factory that contains some predefined schema types.
+ */
+ SchemaTypeFactory::Ptr schemaTypeFactory() const;
+
+ /**
+ * The following variables should not be accessed directly.
+ */
+ mutable SchemaTypeFactory::Ptr m_schemaTypeFactory;
+ mutable QHash<SchemaType::Ptr, XsdFacet::Hash> m_builtinTypesFacetList;
+
+ private:
+ QHash<SchemaType::Ptr, XsdFacet::Hash> setupBuiltinTypesFacetList() const;
+
+ NamePool::Ptr m_namePool;
+ QNetworkAccessManager* m_networkAccessManager;
+ QUrl m_baseURI;
+ const QAbstractUriResolver* m_uriResolver;
+ QAbstractMessageHandler* m_messageHandler;
+ };
+}
+
+QT_END_NAMESPACE
+
+QT_END_HEADER
+
+#endif
diff --git a/src/xmlpatterns/schema/qxsdschemadebugger.cpp b/src/xmlpatterns/schema/qxsdschemadebugger.cpp
new file mode 100644
index 0000000..5d2d6f0
--- /dev/null
+++ b/src/xmlpatterns/schema/qxsdschemadebugger.cpp
@@ -0,0 +1,226 @@
+/****************************************************************************
+**
+** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the QtXmlPatterns of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "qxsdschemadebugger_p.h"
+
+QT_BEGIN_NAMESPACE
+
+using namespace QPatternist;
+
+XsdSchemaDebugger::XsdSchemaDebugger(const NamePool::Ptr &namePool)
+ : m_namePool(namePool)
+{
+}
+
+void XsdSchemaDebugger::dumpParticle(const XsdParticle::Ptr &particle, int level)
+{
+ QString prefix; prefix.fill(QLatin1Char(' '), level);
+
+ qDebug("%s min=%s max=%s", qPrintable(prefix), qPrintable(QString::number(particle->minimumOccurs())),
+ qPrintable(particle->maximumOccursUnbounded() ? QLatin1String("unbounded") : QString::number(particle->maximumOccurs())));
+
+ if (particle->term()->isElement()) {
+ qDebug("%selement (%s)", qPrintable(prefix), qPrintable(XsdElement::Ptr(particle->term())->displayName(m_namePool)));
+ } else if (particle->term()->isModelGroup()) {
+ const XsdModelGroup::Ptr group(particle->term());
+ if (group->compositor() == XsdModelGroup::SequenceCompositor) {
+ qDebug("%ssequence", qPrintable(prefix));
+ } else if (group->compositor() == XsdModelGroup::AllCompositor) {
+ qDebug("%sall", qPrintable(prefix));
+ } else if (group->compositor() == XsdModelGroup::ChoiceCompositor) {
+ qDebug("%schoice", qPrintable(prefix));
+ }
+
+ for (int i = 0; i < group->particles().count(); ++i)
+ dumpParticle(group->particles().at(i), level + 5);
+ } else if (particle->term()->isWildcard()) {
+ XsdWildcard::Ptr wildcard(particle->term());
+ qDebug("%swildcard (process=%d)", qPrintable(prefix), wildcard->processContents());
+ }
+}
+
+void XsdSchemaDebugger::dumpInheritance(const SchemaType::Ptr &type, int level)
+{
+ QString prefix; prefix.fill(QLatin1Char(' '), level);
+ qDebug("%s-->%s", qPrintable(prefix), qPrintable(type->displayName(m_namePool)));
+ if (type->wxsSuperType())
+ dumpInheritance(type->wxsSuperType(), ++level);
+}
+
+void XsdSchemaDebugger::dumpWildcard(const XsdWildcard::Ptr &wildcard)
+{
+ QVector<QString> varietyNames;
+ varietyNames.append(QLatin1String("Any"));
+ varietyNames.append(QLatin1String("Enumeration"));
+ varietyNames.append(QLatin1String("Not"));
+
+ QVector<QString> processContentsNames;
+ processContentsNames.append(QLatin1String("Strict"));
+ processContentsNames.append(QLatin1String("Lax"));
+ processContentsNames.append(QLatin1String("Skip"));
+
+ qDebug(" processContents: %s", qPrintable(processContentsNames.at((int)wildcard->processContents())));
+ const XsdWildcard::NamespaceConstraint::Ptr constraint = wildcard->namespaceConstraint();
+ qDebug(" variety: %s", qPrintable(varietyNames.at((int)constraint->variety())));
+ if (constraint->variety() != XsdWildcard::NamespaceConstraint::Any)
+ qDebug() << " namespaces:" << constraint->namespaces();
+}
+
+void XsdSchemaDebugger::dumpType(const SchemaType::Ptr &type)
+{
+ if (type->isComplexType()) {
+ const XsdComplexType::Ptr complexType(type);
+ qDebug("\n+++ Complex Type +++");
+ qDebug("Name: %s (abstract: %s)", qPrintable(complexType->displayName(m_namePool)), complexType->isAbstract() ? "yes" : "no");
+ if (complexType->wxsSuperType())
+ qDebug(" base type: %s", qPrintable(complexType->wxsSuperType()->displayName(m_namePool)));
+ else
+ qDebug(" base type: (none)");
+ if (complexType->contentType()->variety() == XsdComplexType::ContentType::Empty)
+ qDebug(" content type: empty");
+ if (complexType->contentType()->variety() == XsdComplexType::ContentType::Simple)
+ qDebug(" content type: simple");
+ if (complexType->contentType()->variety() == XsdComplexType::ContentType::ElementOnly)
+ qDebug(" content type: element-only");
+ if (complexType->contentType()->variety() == XsdComplexType::ContentType::Mixed)
+ qDebug(" content type: mixed");
+ if (complexType->contentType()->variety() == XsdComplexType::ContentType::Simple) {
+ if (complexType->contentType()->simpleType())
+ qDebug(" simple type: %s", qPrintable(complexType->contentType()->simpleType()->displayName(m_namePool)));
+ else
+ qDebug(" simple type: (none)");
+ }
+
+ const XsdAttributeUse::List uses = complexType->attributeUses();
+ qDebug(" %d attributes", uses.count());
+ for (int i = 0; i < uses.count(); ++i) {
+ qDebug(" attr: %s", qPrintable(uses.at(i)->attribute()->displayName(m_namePool)));
+ }
+ qDebug(" has attribute wildcard: %s", complexType->attributeWildcard() ? "yes" : "no");
+ if (complexType->attributeWildcard()) {
+ dumpWildcard(complexType->attributeWildcard());
+ }
+
+ if (complexType->contentType()->particle()) {
+ dumpParticle(complexType->contentType()->particle(), 5);
+ }
+ } else {
+ qDebug("\n+++ Simple Type +++");
+ qDebug("Name: %s", qPrintable(type->displayName(m_namePool)));
+ if (type->isDefinedBySchema()) {
+ const XsdSimpleType::Ptr simpleType(type);
+ if (simpleType->primitiveType())
+ qDebug(" primitive type: %s", qPrintable(simpleType->primitiveType()->displayName(m_namePool)));
+ else
+ qDebug(" primitive type: (none)");
+ }
+ dumpInheritance(type, 0);
+ }
+}
+
+
+void XsdSchemaDebugger::dumpElement(const XsdElement::Ptr &element)
+{
+ QStringList disallowedSubstGroup;
+ if (element->disallowedSubstitutions() & XsdElement::RestrictionConstraint)
+ disallowedSubstGroup << QLatin1String("restriction");
+ if (element->disallowedSubstitutions() & XsdElement::ExtensionConstraint)
+ disallowedSubstGroup << QLatin1String("extension");
+ if (element->disallowedSubstitutions() & XsdElement::SubstitutionConstraint)
+ disallowedSubstGroup << QLatin1String("substitution");
+
+
+ qDebug() << "Name:" << element->displayName(m_namePool);
+ qDebug() << "IsAbstract:" << (element->isAbstract() ? "yes" : "no");
+ qDebug() << "Type:" << element->type()->displayName(m_namePool);
+ qDebug() << "DisallowedSubstitutionGroups:" << disallowedSubstGroup.join(QLatin1String("' "));
+}
+
+void XsdSchemaDebugger::dumpAttribute(const XsdAttribute::Ptr &attribute)
+{
+ qDebug() << "Name:" << attribute->displayName(m_namePool);
+ qDebug() << "Type:" << attribute->type()->displayName(m_namePool);
+}
+
+void XsdSchemaDebugger::dumpSchema(const XsdSchema::Ptr &schema)
+{
+ qDebug() << "------------------------------ Schema -------------------------------";
+
+ // elements
+ {
+ qDebug() << "Global Elements:";
+ const XsdElement::List elements = schema->elements();
+ for (int i = 0; i < elements.count(); ++i) {
+ dumpElement(elements.at(i));
+ }
+ }
+
+ // attributes
+ {
+ qDebug() << "Global Attributes:";
+ const XsdAttribute::List attributes = schema->attributes();
+ for (int i = 0; i < attributes.count(); ++i) {
+ dumpAttribute(attributes.at(i));
+ }
+ }
+
+ // types
+ {
+ qDebug() << "Global Types:";
+ const SchemaType::List types = schema->types();
+ for (int i = 0; i < types.count(); ++i) {
+ dumpType(types.at(i));
+ }
+ }
+
+ // anonymous types
+ {
+ qDebug() << "Anonymous Types:";
+ const SchemaType::List types = schema->anonymousTypes();
+ for (int i = 0; i < types.count(); ++i) {
+ dumpType(types.at(i));
+ }
+ }
+
+ qDebug() << "+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++";
+}
+
+QT_END_NAMESPACE
diff --git a/src/xmlpatterns/schema/qxsdschemadebugger_p.h b/src/xmlpatterns/schema/qxsdschemadebugger_p.h
new file mode 100644
index 0000000..cc3f7de
--- /dev/null
+++ b/src/xmlpatterns/schema/qxsdschemadebugger_p.h
@@ -0,0 +1,127 @@
+/****************************************************************************
+**
+** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtXmlPatterns of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+
+#ifndef Patternist_XsdSchemaDebugger_H
+#define Patternist_XsdSchemaDebugger_H
+
+#include "qxsdschema_p.h"
+
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+namespace QPatternist
+{
+ /**
+ * A helper class to print out the structure of a compiled schema.
+ */
+ class XsdSchemaDebugger
+ {
+ public:
+ /**
+ * Creates a new schema debugger.
+ *
+ * @param namePool The name pool that the schema uses.
+ */
+ XsdSchemaDebugger(const NamePool::Ptr &namePool);
+
+ /**
+ * Dumps the structure of the given @p particle.
+ *
+ * @param particle The particle to dump.
+ * @param level The level of indention.
+ */
+ void dumpParticle(const XsdParticle::Ptr &particle, int level = 0);
+
+ /**
+ * Dumps the inheritance path of the given @p type.
+ *
+ * @param type The type to dump.
+ * @param level The level of indention.
+ */
+ void dumpInheritance(const SchemaType::Ptr &type, int level = 0);
+
+ /**
+ * Dumps the structure of the given @p wildcard.
+ */
+ void dumpWildcard(const XsdWildcard::Ptr &wildcard);
+
+ /**
+ * Dumps the structure of the given @p type.
+ */
+ void dumpType(const SchemaType::Ptr &type);
+
+ /**
+ * Dumps the structure of the given @p element.
+ */
+ void dumpElement(const XsdElement::Ptr &element);
+
+ /**
+ * Dumps the structure of the given @p attribute.
+ */
+ void dumpAttribute(const XsdAttribute::Ptr &attribute);
+
+ /**
+ * Dumps the structure of the complete @p schema.
+ */
+ void dumpSchema(const XsdSchema::Ptr &schema);
+
+ private:
+ const NamePool::Ptr m_namePool;
+ };
+
+}
+
+QT_END_NAMESPACE
+
+QT_END_HEADER
+
+#endif
diff --git a/src/xmlpatterns/schema/qxsdschemahelper.cpp b/src/xmlpatterns/schema/qxsdschemahelper.cpp
new file mode 100644
index 0000000..70812b2
--- /dev/null
+++ b/src/xmlpatterns/schema/qxsdschemahelper.cpp
@@ -0,0 +1,821 @@
+/****************************************************************************
+**
+** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the QtXmlPatterns of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "qxsdschemahelper_p.h"
+
+#include "qbuiltintypes_p.h"
+#include "qvaluefactory_p.h"
+#include "qxsdcomplextype_p.h"
+#include "qxsdmodelgroup_p.h"
+#include "qxsdsimpletype_p.h"
+#include "qxsdtypechecker_p.h"
+
+QT_BEGIN_NAMESPACE
+
+using namespace QPatternist;
+
+/*
+ * Calculates the effective total range minimum of the given @p particle as
+ * described by the algorithm in the schema spec.
+ */
+static inline unsigned int effectiveTotalRangeMinimum(const XsdParticle::Ptr &particle)
+{
+ const XsdModelGroup::Ptr group = particle->term();
+
+ if (group->compositor() == XsdModelGroup::ChoiceCompositor) {
+ // @see http://www.w3.org/TR/xmlschema11-1/# cos-choice-range
+
+ int minValue = -1;
+
+ const XsdParticle::List particles = group->particles();
+ if (particles.isEmpty())
+ minValue = 0;
+
+ for (int i = 0; i < particles.count(); ++i) {
+ const XsdParticle::Ptr particle = particles.at(i);
+
+ if (particle->term()->isElement() || particle->term()->isWildcard()) {
+ if (minValue == -1) {
+ minValue = particle->minimumOccurs();
+ } else {
+ minValue = qMin((unsigned int)minValue, particle->minimumOccurs());
+ }
+ } else if (particle->term()->isModelGroup()) {
+ if (minValue == -1) {
+ minValue = effectiveTotalRangeMinimum(particle);
+ } else {
+ minValue = qMin((unsigned int)minValue, effectiveTotalRangeMinimum(particle));
+ }
+ }
+ }
+
+ return (particle->minimumOccurs() * minValue);
+
+ } else {
+ // @see http://www.w3.org/TR/xmlschema11-1/# cos-seq-range
+
+ unsigned int sum = 0;
+ const XsdParticle::List particles = group->particles();
+ for (int i = 0; i < particles.count(); ++i) {
+ const XsdParticle::Ptr particle = particles.at(i);
+
+ if (particle->term()->isElement() || particle->term()->isWildcard())
+ sum += particle->minimumOccurs();
+ else if (particle->term()->isModelGroup())
+ sum += effectiveTotalRangeMinimum(particle);
+ }
+
+ return (particle->minimumOccurs() * sum);
+ }
+}
+
+bool XsdSchemaHelper::isParticleEmptiable(const XsdParticle::Ptr &particle)
+{
+ // @see http://www.w3.org/TR/xmlschema11-1/#cos-group-emptiable
+
+ if (particle->minimumOccurs() == 0)
+ return true;
+
+ if (!(particle->term()->isModelGroup()))
+ return false;
+
+ return (effectiveTotalRangeMinimum(particle) == 0);
+}
+
+bool XsdSchemaHelper::wildcardAllowsNamespaceName(const QString &nameSpace, const XsdWildcard::NamespaceConstraint::Ptr &constraint)
+{
+ // @see http://www.w3.org/TR/xmlschema11-1/#cvc-wildcard-namespace
+
+ // 1
+ if (constraint->variety() == XsdWildcard::NamespaceConstraint::Any)
+ return true;
+
+ // 2
+ if (constraint->variety() == XsdWildcard::NamespaceConstraint::Not) { // 2.1
+ if (!constraint->namespaces().contains(nameSpace)) // 2.2
+ if (nameSpace != XsdWildcard::absentNamespace()) // 2.3
+ return true;
+ }
+
+ // 3
+ if (constraint->variety() == XsdWildcard::NamespaceConstraint::Enumeration) {
+ if (constraint->namespaces().contains(nameSpace))
+ return true;
+ }
+
+ return false;
+}
+
+bool XsdSchemaHelper::wildcardAllowsExpandedName(const QXmlName &name, const XsdWildcard::Ptr &wildcard, const NamePool::Ptr &namePool)
+{
+ // @see http://www.w3.org/TR/xmlschema11-1/#cvc-wildcard-name
+
+ // 1
+ if (!wildcardAllowsNamespaceName(namePool->stringForNamespace(name.namespaceURI()), wildcard->namespaceConstraint()))
+ return false;
+
+ // 2, 3, 4
+ //TODO: we have no disallowed namespace yet
+
+ return true;
+}
+
+// small helper function that should be available in Qt 4.6
+template<class T>
+static inline bool containsSet(const QSet<T> &super, const QSet<T> &sub)
+{
+ QSetIterator<T> it(sub);
+ while (it.hasNext()) {
+ if (!super.contains(it.next()))
+ return false;
+ }
+
+ return true;
+}
+
+bool XsdSchemaHelper::isWildcardSubset(const XsdWildcard::Ptr &wildcard, const XsdWildcard::Ptr &otherWildcard)
+{
+ // @see http://www.w3.org/TR/xmlschema11-1/#cos-ns-subset
+ // wildcard =^ sub
+ // otherWildcard =^ super
+
+ const XsdWildcard::NamespaceConstraint::Ptr constraint(wildcard->namespaceConstraint());
+ const XsdWildcard::NamespaceConstraint::Ptr otherConstraint(otherWildcard->namespaceConstraint());
+
+ // 1
+ if (otherConstraint->variety() == XsdWildcard::NamespaceConstraint::Any)
+ return true;
+
+ // 2
+ if ((constraint->variety() == XsdWildcard::NamespaceConstraint::Enumeration) && (otherConstraint->variety() == XsdWildcard::NamespaceConstraint::Enumeration)) {
+ if (containsSet<QString>(otherConstraint->namespaces(), constraint->namespaces()))
+ return true;
+ }
+
+ // 3
+ if ((constraint->variety() == XsdWildcard::NamespaceConstraint::Enumeration) && (otherConstraint->variety() == XsdWildcard::NamespaceConstraint::Not)) {
+ if (constraint->namespaces().intersect(otherConstraint->namespaces()).isEmpty())
+ return true;
+ }
+
+ // 4
+ if ((constraint->variety() == XsdWildcard::NamespaceConstraint::Not) && (otherConstraint->variety() == XsdWildcard::NamespaceConstraint::Not)) {
+ if (containsSet<QString>(constraint->namespaces(), otherConstraint->namespaces()))
+ return true;
+ }
+
+ return false;
+}
+
+XsdWildcard::Ptr XsdSchemaHelper::wildcardUnion(const XsdWildcard::Ptr &wildcard, const XsdWildcard::Ptr &otherWildcard)
+{
+ // @see http://www.w3.org/TR/xmlschema11-1/#cos-aw-union
+
+ XsdWildcard::Ptr unionWildcard(new XsdWildcard());
+
+ const XsdWildcard::NamespaceConstraint::Ptr constraint(wildcard->namespaceConstraint());
+ const XsdWildcard::NamespaceConstraint::Ptr otherConstraint(otherWildcard->namespaceConstraint());
+
+ // 1
+ if ((constraint->variety() == otherConstraint->variety()) &&
+ (constraint->namespaces() == otherConstraint->namespaces())) {
+ unionWildcard->namespaceConstraint()->setVariety(constraint->variety());
+ unionWildcard->namespaceConstraint()->setNamespaces(constraint->namespaces());
+ return unionWildcard;
+ }
+
+ // 2
+ if ((constraint->variety() == XsdWildcard::NamespaceConstraint::Any) || (otherConstraint->variety() == XsdWildcard::NamespaceConstraint::Any)) {
+ unionWildcard->namespaceConstraint()->setVariety(XsdWildcard::NamespaceConstraint::Any);
+ return unionWildcard;
+ }
+
+ // 3
+ if ((constraint->variety() == XsdWildcard::NamespaceConstraint::Enumeration) && (otherConstraint->variety() == XsdWildcard::NamespaceConstraint::Enumeration)) {
+ unionWildcard->namespaceConstraint()->setVariety(XsdWildcard::NamespaceConstraint::Enumeration);
+ unionWildcard->namespaceConstraint()->setNamespaces(constraint->namespaces() + otherConstraint->namespaces());
+ return unionWildcard;
+ }
+
+ // 4
+ if ((constraint->variety() == XsdWildcard::NamespaceConstraint::Not) && (otherConstraint->variety() == XsdWildcard::NamespaceConstraint::Not)) {
+ if (constraint->namespaces() != otherConstraint->namespaces()) {
+ unionWildcard->namespaceConstraint()->setVariety(XsdWildcard::NamespaceConstraint::Not);
+ unionWildcard->namespaceConstraint()->setNamespaces(QSet<QString>() << XsdWildcard::absentNamespace());
+ return unionWildcard;
+ }
+ }
+
+ // 5
+ QSet<QString> sSet, negatedSet;
+ bool matches5 = false;
+ if (((constraint->variety() == XsdWildcard::NamespaceConstraint::Not) && !constraint->namespaces().contains(XsdWildcard::absentNamespace()))
+ && (otherConstraint->variety() == XsdWildcard::NamespaceConstraint::Enumeration)) {
+
+ negatedSet = constraint->namespaces();
+ sSet = otherConstraint->namespaces();
+ matches5 = true;
+ } else if (((otherConstraint->variety() == XsdWildcard::NamespaceConstraint::Not) && !otherConstraint->namespaces().contains(XsdWildcard::absentNamespace()))
+ && (constraint->variety() == XsdWildcard::NamespaceConstraint::Enumeration)) {
+
+ negatedSet = otherConstraint->namespaces();
+ sSet = constraint->namespaces();
+ matches5 = true;
+ }
+
+ if (matches5) {
+ if (sSet.contains(negatedSet.values().first()) && sSet.contains(XsdWildcard::absentNamespace())) { // 5.1
+ unionWildcard->namespaceConstraint()->setVariety(XsdWildcard::NamespaceConstraint::Any);
+ return unionWildcard;
+ }
+ if (sSet.contains(negatedSet.values().first()) && !sSet.contains(XsdWildcard::absentNamespace())) { // 5.2
+ unionWildcard->namespaceConstraint()->setVariety(XsdWildcard::NamespaceConstraint::Not);
+ unionWildcard->namespaceConstraint()->setNamespaces(QSet<QString>() << XsdWildcard::absentNamespace());
+ return unionWildcard;
+ }
+ if (!sSet.contains(negatedSet.values().first()) && sSet.contains(XsdWildcard::absentNamespace())) { // 5.3
+ return XsdWildcard::Ptr(); // not expressible
+ }
+ if (!sSet.contains(negatedSet.values().first()) && !sSet.contains(XsdWildcard::absentNamespace())) { // 5.4
+ unionWildcard->namespaceConstraint()->setVariety(XsdWildcard::NamespaceConstraint::Not);
+ unionWildcard->namespaceConstraint()->setNamespaces(negatedSet);
+ return unionWildcard;
+ }
+ }
+
+ // 6
+ bool matches6 = false;
+ if (((constraint->variety() == XsdWildcard::NamespaceConstraint::Not) && constraint->namespaces().contains(XsdWildcard::absentNamespace()))
+ && (otherConstraint->variety() == XsdWildcard::NamespaceConstraint::Enumeration)) {
+
+ negatedSet = constraint->namespaces();
+ sSet = otherConstraint->namespaces();
+ matches6 = true;
+ } else if (((otherConstraint->variety() == XsdWildcard::NamespaceConstraint::Not) && otherConstraint->namespaces().contains(XsdWildcard::absentNamespace()))
+ && (constraint->variety() == XsdWildcard::NamespaceConstraint::Enumeration)) {
+
+ negatedSet = otherConstraint->namespaces();
+ sSet = constraint->namespaces();
+ matches6 = true;
+ }
+
+ if (matches6) {
+ if (sSet.contains(XsdWildcard::absentNamespace())) { // 6.1
+ unionWildcard->namespaceConstraint()->setVariety(XsdWildcard::NamespaceConstraint::Any);
+ return unionWildcard;
+ }
+ if (!sSet.contains(XsdWildcard::absentNamespace())) { // 6.2
+ unionWildcard->namespaceConstraint()->setVariety(XsdWildcard::NamespaceConstraint::Not);
+ unionWildcard->namespaceConstraint()->setNamespaces(QSet<QString>() += XsdWildcard::absentNamespace());
+ return unionWildcard;
+ }
+ }
+
+ return XsdWildcard::Ptr();
+}
+
+XsdWildcard::Ptr XsdSchemaHelper::wildcardIntersection(const XsdWildcard::Ptr &wildcard, const XsdWildcard::Ptr &otherWildcard)
+{
+ // @see http://www.w3.org/TR/xmlschema11-1/#cos-aw-intersect
+
+ const XsdWildcard::NamespaceConstraint::Ptr constraint(wildcard->namespaceConstraint());
+ const XsdWildcard::NamespaceConstraint::Ptr otherConstraint(otherWildcard->namespaceConstraint());
+
+ const XsdWildcard::Ptr intersectionWildcard(new XsdWildcard());
+
+ // 1
+ if ((constraint->variety() == otherConstraint->variety()) &&
+ (constraint->namespaces() == otherConstraint->namespaces())) {
+ intersectionWildcard->namespaceConstraint()->setVariety(constraint->variety());
+ intersectionWildcard->namespaceConstraint()->setNamespaces(constraint->namespaces());
+ return intersectionWildcard;
+ }
+
+ // 2
+ if ((constraint->variety() == XsdWildcard::NamespaceConstraint::Any) &&
+ (otherConstraint->variety() != XsdWildcard::NamespaceConstraint::Any)) {
+ intersectionWildcard->namespaceConstraint()->setVariety(otherConstraint->variety());
+ intersectionWildcard->namespaceConstraint()->setNamespaces(otherConstraint->namespaces());
+ return intersectionWildcard;
+ }
+
+ // 2
+ if ((constraint->variety() != XsdWildcard::NamespaceConstraint::Any) &&
+ (otherConstraint->variety() == XsdWildcard::NamespaceConstraint::Any)) {
+ intersectionWildcard->namespaceConstraint()->setVariety(constraint->variety());
+ intersectionWildcard->namespaceConstraint()->setNamespaces(constraint->namespaces());
+ return intersectionWildcard;
+ }
+
+ // 3
+ if ((constraint->variety() == XsdWildcard::NamespaceConstraint::Not) &&
+ (otherConstraint->variety() == XsdWildcard::NamespaceConstraint::Enumeration)) {
+
+ QSet<QString> set = otherConstraint->namespaces();
+ set.subtract(constraint->namespaces());
+ set.remove(XsdWildcard::absentNamespace());
+
+ intersectionWildcard->namespaceConstraint()->setVariety(XsdWildcard::NamespaceConstraint::Enumeration);
+ intersectionWildcard->namespaceConstraint()->setNamespaces(set);
+
+ return intersectionWildcard;
+ }
+
+ // 3
+ if ((otherConstraint->variety() == XsdWildcard::NamespaceConstraint::Not) &&
+ (constraint->variety() == XsdWildcard::NamespaceConstraint::Enumeration)) {
+
+ QSet<QString> set = constraint->namespaces();
+ set.subtract(otherConstraint->namespaces());
+ set.remove(XsdWildcard::absentNamespace());
+
+ intersectionWildcard->namespaceConstraint()->setVariety(XsdWildcard::NamespaceConstraint::Enumeration);
+ intersectionWildcard->namespaceConstraint()->setNamespaces(set);
+
+ return intersectionWildcard;
+ }
+
+ // 4
+ if ((constraint->variety() == XsdWildcard::NamespaceConstraint::Enumeration) &&
+ (otherConstraint->variety() == XsdWildcard::NamespaceConstraint::Enumeration)) {
+
+ QSet<QString> set = constraint->namespaces();
+ set.intersect(otherConstraint->namespaces());
+
+ intersectionWildcard->namespaceConstraint()->setVariety(XsdWildcard::NamespaceConstraint::Enumeration);
+ intersectionWildcard->namespaceConstraint()->setNamespaces(set);
+
+ return intersectionWildcard;
+ }
+
+ // 6
+ if ((constraint->variety() == XsdWildcard::NamespaceConstraint::Not) &&
+ (otherConstraint->variety() == XsdWildcard::NamespaceConstraint::Not)) {
+ if (!(constraint->namespaces().contains(XsdWildcard::absentNamespace())) && otherConstraint->namespaces().contains(XsdWildcard::absentNamespace())) {
+ return wildcard;
+ }
+ if (constraint->namespaces().contains(XsdWildcard::absentNamespace()) && !(otherConstraint->namespaces().contains(XsdWildcard::absentNamespace()))) {
+ return otherWildcard;
+ }
+ }
+
+ // 5 as not expressible return empty wildcard
+ return XsdWildcard::Ptr();
+}
+
+static SchemaType::DerivationConstraints convertBlockingConstraints(const NamedSchemaComponent::BlockingConstraints &constraints)
+{
+ SchemaType::DerivationConstraints result = 0;
+
+ if (constraints & NamedSchemaComponent::RestrictionConstraint)
+ result |= SchemaType::RestrictionConstraint;
+ if (constraints & NamedSchemaComponent::ExtensionConstraint)
+ result |= SchemaType::ExtensionConstraint;
+
+ return result;
+}
+
+bool XsdSchemaHelper::isValidlySubstitutable(const SchemaType::Ptr &type, const SchemaType::Ptr &otherType, const SchemaType::DerivationConstraints &constraints)
+{
+ // @see http://www.w3.org/TR/xmlschema11-1/#key-val-sub-type
+
+ // 1
+ if (type->isComplexType() && otherType->isComplexType()) {
+ SchemaType::DerivationConstraints keywords = constraints;
+ if (otherType->isDefinedBySchema())
+ keywords |= convertBlockingConstraints(XsdComplexType::Ptr(otherType)->prohibitedSubstitutions());
+
+ return isComplexDerivationOk(type, otherType, keywords);
+ }
+
+ // 2
+ if (type->isComplexType() && otherType->isSimpleType()) {
+ return isComplexDerivationOk(type, otherType, constraints);
+ }
+
+ // 3
+ if (type->isSimpleType() && otherType->isSimpleType()) {
+ return isSimpleDerivationOk(type, otherType, constraints);
+ }
+
+ return false;
+}
+
+bool XsdSchemaHelper::isSimpleDerivationOk(const SchemaType::Ptr &derivedType, const SchemaType::Ptr &baseType, const SchemaType::DerivationConstraints &constraints)
+{
+ // @see http://www.w3.org/TR/xmlschema11-1/#cos-st-derived-ok
+
+ // 1
+ if (derivedType == baseType)
+ return true;
+
+ // 2.1
+ if ((constraints & SchemaType::RestrictionConstraint) || derivedType->wxsSuperType()->derivationConstraints() & SchemaType::RestrictionConstraint) {
+ return false;
+ }
+
+ // 2.2.1
+ if (derivedType->wxsSuperType() == baseType)
+ return true;
+
+ // 2.2.2
+ if (derivedType->wxsSuperType() != BuiltinTypes::xsAnyType) {
+ if (isSimpleDerivationOk(derivedType->wxsSuperType(), baseType, constraints))
+ return true;
+ }
+
+ // 2.2.3
+ if (derivedType->category() == SchemaType::SimpleTypeList || derivedType->category() == SchemaType::SimpleTypeUnion) {
+ if (baseType == BuiltinTypes::xsAnySimpleType)
+ return true;
+ }
+
+ // 2.2.4
+ if (baseType->category() == SchemaType::SimpleTypeUnion && baseType->isDefinedBySchema()) { // 2.2.4.1
+ const AnySimpleType::List memberTypes = XsdSimpleType::Ptr(baseType)->memberTypes();
+ for (int i = 0; i < memberTypes.count(); ++i) {
+ if (isSimpleDerivationOk(derivedType, memberTypes.at(i), constraints)) { // 2.2.4.2
+ if (XsdSimpleType::Ptr(baseType)->facets().isEmpty()) { // 2.2.4.3
+ return true;
+ }
+ }
+ }
+ }
+
+ return false;
+}
+
+bool XsdSchemaHelper::isComplexDerivationOk(const SchemaType::Ptr &derivedType, const SchemaType::Ptr &baseType, const SchemaType::DerivationConstraints &constraints)
+{
+ if (!derivedType)
+ return false;
+
+ // @see http://www.w3.org/TR/xmlschema11-1/#cos-ct-derived-ok
+
+ // 1
+ if (derivedType != baseType) {
+ if ((derivedType->derivationMethod() == SchemaType::DerivationRestriction) && (constraints & SchemaType::RestrictionConstraint))
+ return false;
+ if ((derivedType->derivationMethod() == SchemaType::DerivationExtension) && (constraints & SchemaType::ExtensionConstraint))
+ return false;
+ }
+
+ // 2.1
+ if (derivedType == baseType)
+ return true;
+
+ // 2.2
+ if (derivedType->wxsSuperType() == baseType)
+ return true;
+
+ // 2.3
+ bool isOk = true;
+ if (derivedType->wxsSuperType() == BuiltinTypes::xsAnyType) { // 2.3.1
+ isOk = false;
+ } else { // 2.3.2
+ if (!derivedType->wxsSuperType())
+ return false;
+
+ if (derivedType->wxsSuperType()->isComplexType()) { // 2.3.2.1
+ isOk = isComplexDerivationOk(derivedType->wxsSuperType(), baseType, constraints);
+ } else { // 2.3.2.2
+ isOk = isSimpleDerivationOk(derivedType->wxsSuperType(), baseType, constraints);
+ }
+ }
+ if (isOk)
+ return true;
+
+ return false;
+}
+
+bool XsdSchemaHelper::constructAndCompare(const DerivedString<TypeString>::Ptr &operand1,
+ const AtomicComparator::Operator op,
+ const DerivedString<TypeString>::Ptr &operand2,
+ const SchemaType::Ptr &type,
+ const ReportContext::Ptr &context,
+ const SourceLocationReflection *const sourceLocationReflection)
+{
+ Q_ASSERT_X(type->category() == SchemaType::SimpleTypeAtomic, Q_FUNC_INFO,
+ "We can only compare atomic values.");
+
+ // we can not cast a xs:String to a xs:QName, so lets go the safe way
+ if (type->name(context->namePool()) == BuiltinTypes::xsQName->name(context->namePool()))
+ return false;
+
+ const AtomicValue::Ptr value1 = ValueFactory::fromLexical(operand1->stringValue(), type, context, sourceLocationReflection);
+ if (value1->hasError())
+ return false;
+
+ const AtomicValue::Ptr value2 = ValueFactory::fromLexical(operand2->stringValue(), type, context, sourceLocationReflection);
+ if (value2->hasError())
+ return false;
+
+ return ComparisonFactory::compare(value1, op, value2, type, context, sourceLocationReflection);
+}
+
+bool XsdSchemaHelper::checkWildcardProcessContents(const XsdWildcard::Ptr &baseWildcard, const XsdWildcard::Ptr &derivedWildcard)
+{
+ if (baseWildcard->processContents() == XsdWildcard::Strict) {
+ if (derivedWildcard->processContents() == XsdWildcard::Lax || derivedWildcard->processContents() == XsdWildcard::Skip) {
+ return false;
+ }
+ } else if (baseWildcard->processContents() == XsdWildcard::Lax) {
+ if (derivedWildcard->processContents() == XsdWildcard::Skip)
+ return false;
+ }
+
+ return true;
+}
+
+bool XsdSchemaHelper::foundSubstitutionGroupTransitive(const XsdElement::Ptr &head, const XsdElement::Ptr &member, QSet<XsdElement::Ptr> &visitedElements)
+{
+ if (visitedElements.contains(member))
+ return false;
+ else
+ visitedElements.insert(member);
+
+ if (member->substitutionGroupAffiliations().isEmpty())
+ return false;
+
+ if (member->substitutionGroupAffiliations().contains(head)) {
+ return true;
+ } else {
+ const XsdElement::List affiliations = member->substitutionGroupAffiliations();
+ for (int i = 0; i < affiliations.count(); ++i) {
+ if (foundSubstitutionGroupTransitive(head, affiliations.at(i), visitedElements))
+ return true;
+ }
+
+ return false;
+ }
+}
+
+void XsdSchemaHelper::foundSubstitutionGroupTypeInheritance(const SchemaType::Ptr &headType, const SchemaType::Ptr &memberType,
+ QSet<SchemaType::DerivationMethod> &derivationSet, NamedSchemaComponent::BlockingConstraints &blockSet)
+{
+ if (!memberType)
+ return;
+
+ if (memberType == headType)
+ return;
+
+ derivationSet.insert(memberType->derivationMethod());
+
+ if (memberType->isComplexType()) {
+ const XsdComplexType::Ptr complexType(memberType);
+ blockSet |= complexType->prohibitedSubstitutions();
+ }
+
+ foundSubstitutionGroupTypeInheritance(headType, memberType->wxsSuperType(), derivationSet, blockSet);
+}
+
+bool XsdSchemaHelper::substitutionGroupOkTransitive(const XsdElement::Ptr &head, const XsdElement::Ptr &member, const NamePool::Ptr &namePool)
+{
+ // @see http://www.w3.org/TR/xmlschema11-1/#cos-equiv-derived-ok-rec
+
+ // 1
+ if ((member->name(namePool) == head->name(namePool)) && (member->type() == head->type()))
+ return true;
+
+ // 2.1
+ if (head->disallowedSubstitutions() & NamedSchemaComponent::SubstitutionConstraint)
+ return false;
+
+ // 2.2
+ {
+ QSet<XsdElement::Ptr> visitedElements;
+ if (!foundSubstitutionGroupTransitive(head, member, visitedElements))
+ return false;
+ }
+
+ // 2.3
+ {
+ QSet<SchemaType::DerivationMethod> derivationSet;
+ NamedSchemaComponent::BlockingConstraints blockSet;
+
+ foundSubstitutionGroupTypeInheritance(head->type(), member->type(), derivationSet, blockSet);
+
+ NamedSchemaComponent::BlockingConstraints checkSet(blockSet);
+ checkSet |= head->disallowedSubstitutions();
+ if (head->type()->isComplexType()) {
+ const XsdComplexType::Ptr complexType(head->type());
+ checkSet |= complexType->prohibitedSubstitutions();
+ }
+
+ if ((checkSet & NamedSchemaComponent::RestrictionConstraint) && derivationSet.contains(SchemaType::DerivationRestriction))
+ return false;
+ if ((checkSet & NamedSchemaComponent::ExtensionConstraint) && derivationSet.contains(SchemaType::DerivationExtension))
+ return false;
+ if (checkSet & NamedSchemaComponent::SubstitutionConstraint)
+ return false;
+ }
+
+ return true;
+}
+
+bool XsdSchemaHelper::isValidAttributeGroupRestriction(const XsdAttributeGroup::Ptr &derivedAttributeGroup, const XsdAttributeGroup::Ptr &attributeGroup, const XsdSchemaContext::Ptr &context, QString &errorMsg)
+{
+ // @see http://www.w3.org/TR/xmlschema-1/#derivation-ok-restriction
+
+ const XsdAttributeUse::List derivedAttributeUses = derivedAttributeGroup->attributeUses();
+ const XsdAttributeUse::List baseAttributeUses = attributeGroup->attributeUses();
+
+ return isValidAttributeUsesRestriction(derivedAttributeUses, baseAttributeUses,
+ derivedAttributeGroup->wildcard(), attributeGroup->wildcard(), context, errorMsg);
+}
+
+bool XsdSchemaHelper::isValidAttributeUsesRestriction(const XsdAttributeUse::List &derivedAttributeUses, const XsdAttributeUse::List &baseAttributeUses,
+ const XsdWildcard::Ptr &derivedWildcard, const XsdWildcard::Ptr &wildcard, const XsdSchemaContext::Ptr &context, QString &errorMsg)
+{
+ const NamePool::Ptr namePool(context->namePool());
+
+ QHash<QXmlName, XsdAttributeUse::Ptr> baseAttributeUsesLookup;
+ for (int i = 0; i < baseAttributeUses.count(); ++i)
+ baseAttributeUsesLookup.insert(baseAttributeUses.at(i)->attribute()->name(namePool), baseAttributeUses.at(i));
+
+ QHash<QXmlName, XsdAttributeUse::Ptr> derivedAttributeUsesLookup;
+ for (int i = 0; i < derivedAttributeUses.count(); ++i)
+ derivedAttributeUsesLookup.insert(derivedAttributeUses.at(i)->attribute()->name(namePool), derivedAttributeUses.at(i));
+
+ // 2
+ for (int i = 0; i < derivedAttributeUses.count(); ++i) {
+ const XsdAttributeUse::Ptr derivedAttributeUse = derivedAttributeUses.at(i);
+
+ // prohibited attributes are no real attributes, so skip them in that test here
+ if (derivedAttributeUse->useType() == XsdAttributeUse::ProhibitedUse)
+ continue;
+
+ if (baseAttributeUsesLookup.contains(derivedAttributeUse->attribute()->name(namePool))) {
+ const XsdAttributeUse::Ptr baseAttributeUse(baseAttributeUsesLookup.value(derivedAttributeUse->attribute()->name(namePool)));
+
+ // 2.1.1
+ if (baseAttributeUse->isRequired() == true && derivedAttributeUse->isRequired() == false) {
+ errorMsg = QtXmlPatterns::tr("base attribute %1 is required but derived attribute is not").arg(formatAttribute(baseAttributeUse->attribute()->displayName(namePool)));
+ return false;
+ }
+
+ // 2.1.2
+ if (!isSimpleDerivationOk(derivedAttributeUse->attribute()->type(), baseAttributeUse->attribute()->type(), SchemaType::DerivationConstraints())) {
+ errorMsg = QtXmlPatterns::tr("type of derived attribute %1 cannot be validly derived from type of base attribute").arg(formatAttribute(derivedAttributeUse->attribute()->displayName(namePool)));
+ return false;
+ }
+
+ // 2.1.3
+ XsdAttributeUse::ValueConstraint::Ptr derivedConstraint;
+ if (derivedAttributeUse->valueConstraint())
+ derivedConstraint = derivedAttributeUse->valueConstraint();
+ else if (derivedAttributeUse->attribute()->valueConstraint())
+ derivedConstraint = XsdAttributeUse::ValueConstraint::fromAttributeValueConstraint(derivedAttributeUse->attribute()->valueConstraint());
+
+ XsdAttributeUse::ValueConstraint::Ptr baseConstraint;
+ if (baseAttributeUse->valueConstraint())
+ baseConstraint = baseAttributeUse->valueConstraint();
+ else if (baseAttributeUse->attribute()->valueConstraint())
+ baseConstraint = XsdAttributeUse::ValueConstraint::fromAttributeValueConstraint(baseAttributeUse->attribute()->valueConstraint());
+
+ bool ok = false;
+ if (!baseConstraint || baseConstraint->variety() == XsdAttributeUse::ValueConstraint::Default)
+ ok = true;
+
+ if (derivedConstraint && baseConstraint) {
+ const XsdTypeChecker checker(context, QVector<QXmlName>(), QSourceLocation(QUrl(QLatin1String("http://dummy.org")), 1, 1));
+ if (derivedConstraint->variety() == XsdAttributeUse::ValueConstraint::Fixed && checker.valuesAreEqual(derivedConstraint->value(), baseConstraint->value(), baseAttributeUse->attribute()->type()))
+ ok = true;
+ }
+
+ if (!ok) {
+ errorMsg = QtXmlPatterns::tr("value constraint of derived attribute %1 does not match value constraint of base attribute").arg(formatAttribute(derivedAttributeUse->attribute()->displayName(namePool)));
+ return false;
+ }
+ } else {
+ if (!wildcard) {
+ errorMsg = QtXmlPatterns::tr("derived attribute %1 does not exists in the base definition").arg(formatAttribute(derivedAttributeUse->attribute()->displayName(namePool)));
+ return false;
+ }
+
+ QXmlName name = derivedAttributeUse->attribute()->name(namePool);
+
+ // wildcards using XsdWildcard::absentNamespace, so we have to fix that here
+ if (name.namespaceURI() == StandardNamespaces::empty)
+ name.setNamespaceURI(namePool->allocateNamespace(XsdWildcard::absentNamespace()));
+
+ if (!wildcardAllowsExpandedName(name, wildcard, namePool)) {
+ errorMsg = QtXmlPatterns::tr("derived attribute %1 does not match the wildcard in the base definition").arg(formatAttribute(derivedAttributeUse->attribute()->displayName(namePool)));
+ return false;
+ }
+ }
+ }
+
+ // 3
+ for (int i = 0; i < baseAttributeUses.count(); ++i) {
+ const XsdAttributeUse::Ptr baseAttributeUse = baseAttributeUses.at(i);
+
+ if (baseAttributeUse->isRequired()) {
+ if (derivedAttributeUsesLookup.contains(baseAttributeUse->attribute()->name(namePool))) {
+ if (!derivedAttributeUsesLookup.value(baseAttributeUse->attribute()->name(namePool))->isRequired()) {
+ errorMsg = QtXmlPatterns::tr("base attribute %1 is required but derived attribute is not").arg(formatAttribute(baseAttributeUse->attribute()->displayName(namePool)));
+ return false;
+ }
+ } else {
+ errorMsg = QtXmlPatterns::tr("base attribute %1 is required but missing in derived definition").arg(formatAttribute(baseAttributeUse->attribute()->displayName(namePool)));
+ return false;
+ }
+ }
+ }
+
+ // 4
+ if (derivedWildcard) {
+ if (!wildcard) {
+ errorMsg = QtXmlPatterns::tr("derived definition contains an %1 element that does not exists in the base definition").arg(formatElement("anyAttribute"));
+ return false;
+ }
+
+ if (!isWildcardSubset(derivedWildcard, wildcard)) {
+ errorMsg = QtXmlPatterns::tr("derived wildcard is not a subset of the base wildcard");
+ return false;
+ }
+
+ if (!checkWildcardProcessContents(wildcard, derivedWildcard)) {
+ errorMsg = QtXmlPatterns::tr("%1 of derived wildcard is not a valid restriction of %2 of base wildcard").arg(formatKeyword("processContents")).arg(formatKeyword("processContents"));
+ return false;
+ }
+ }
+
+ return true;
+}
+
+bool XsdSchemaHelper::isValidAttributeUsesExtension(const XsdAttributeUse::List &derivedAttributeUses, const XsdAttributeUse::List &attributeUses,
+ const XsdWildcard::Ptr &derivedWildcard, const XsdWildcard::Ptr &wildcard, const XsdSchemaContext::Ptr &context, QString &errorMsg)
+{
+ // @see http://www.w3.org/TR/xmlschema11-1/#cos-ct-extends
+
+ const NamePool::Ptr namePool(context->namePool());
+
+ // 1.2
+ QHash<QXmlName, XsdAttribute::Ptr> lookupHash;
+ for (int i = 0; i < derivedAttributeUses.count(); ++i)
+ lookupHash.insert(derivedAttributeUses.at(i)->attribute()->name(namePool), derivedAttributeUses.at(i)->attribute());
+
+ for (int i = 0; i < attributeUses.count(); ++i) {
+ const QXmlName attributeName = attributeUses.at(i)->attribute()->name(namePool);
+ if (!lookupHash.contains(attributeName)) {
+ errorMsg = QtXmlPatterns::tr("attribute %1 from base type is missing in derived type").arg(formatKeyword(namePool->displayName(attributeName)));
+ return false;
+ }
+
+ if (lookupHash.value(attributeName)->type() != attributeUses.at(i)->attribute()->type()) {
+ errorMsg = QtXmlPatterns::tr("type of derived attribute %1 differs from type of base attribute").arg(formatKeyword(namePool->displayName(attributeName)));
+ return false;
+ }
+ }
+
+ // 1.3
+ if (wildcard) {
+ if (!derivedWildcard) {
+ errorMsg = QtXmlPatterns::tr("base definition contains an %1 element that is missing in the derived definition").arg(formatElement("anyAttribute"));
+ return false;
+ }
+ }
+
+ return true;
+}
+
+QT_END_NAMESPACE
diff --git a/src/xmlpatterns/schema/qxsdschemahelper_p.h b/src/xmlpatterns/schema/qxsdschemahelper_p.h
new file mode 100644
index 0000000..71fdfe7
--- /dev/null
+++ b/src/xmlpatterns/schema/qxsdschemahelper_p.h
@@ -0,0 +1,217 @@
+/****************************************************************************
+**
+** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtXmlPatterns of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+
+#ifndef Patternist_XsdSchemaHelper_H
+#define Patternist_XsdSchemaHelper_H
+
+#include "qcomparisonfactory_p.h"
+#include "qschematype_p.h"
+#include "qxsdattributegroup_p.h"
+#include "qxsdelement_p.h"
+#include "qxsdparticle_p.h"
+#include "qxsdschemacontext_p.h"
+#include "qxsdwildcard_p.h"
+
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+namespace QPatternist
+{
+
+ /**
+ * @short Contains helper methods that are used by XsdSchemaParser, XsdSchemaResolver and XsdSchemaChecker.
+ *
+ * @ingroup Patternist_schema
+ * @author Tobias Koenig <tobias.koenig@trolltech.com>
+ */
+ class XsdSchemaHelper
+ {
+ public:
+ /**
+ * Checks whether the given @p particle is emptiable as defined by the
+ * algorithm in the schema spec.
+ */
+ static bool isParticleEmptiable(const XsdParticle::Ptr &particle);
+
+ /**
+ * Checks whether the given @p nameSpace is allowed by the given namespace @p constraint.
+ */
+ static bool wildcardAllowsNamespaceName(const QString &nameSpace,
+ const XsdWildcard::NamespaceConstraint::Ptr &constraint);
+
+ /**
+ * Checks whether the given @p name is allowed by the namespace constraint of the given @p wildcard.
+ */
+ static bool wildcardAllowsExpandedName(const QXmlName &name,
+ const XsdWildcard::Ptr &wildcard,
+ const NamePool::Ptr &namePool);
+
+ /**
+ * Checks whether the @p wildcard is a subset of @p otherWildcard.
+ */
+ static bool isWildcardSubset(const XsdWildcard::Ptr &wildcard, const XsdWildcard::Ptr &otherWildcard);
+
+ /**
+ * Returns the union of the given @p wildcard and @p otherWildcard.
+ */
+ static XsdWildcard::Ptr wildcardUnion(const XsdWildcard::Ptr &wildcard, const XsdWildcard::Ptr &otherWildcard);
+
+ /**
+ * Returns the intersection of the given @p wildcard and @p otherWildcard.
+ */
+ static XsdWildcard::Ptr wildcardIntersection(const XsdWildcard::Ptr &wildcard,
+ const XsdWildcard::Ptr &otherWildcard);
+
+ /**
+ * Returns whether the given @p type is validly substitutable for an @p otherType
+ * under the given @p constraints.
+ */
+ static bool isValidlySubstitutable(const SchemaType::Ptr &type,
+ const SchemaType::Ptr &otherType,
+ const SchemaType::DerivationConstraints &constraints);
+
+ /**
+ * Returns whether the simple @p derivedType can be derived from the simple @p baseType
+ * under the given @p constraints.
+ */
+ static bool isSimpleDerivationOk(const SchemaType::Ptr &derivedType,
+ const SchemaType::Ptr &baseType,
+ const SchemaType::DerivationConstraints &constraints);
+
+ /**
+ * Returns whether the complex @p derivedType can be derived from the complex @p baseType
+ * under the given @p constraints.
+ */
+ static bool isComplexDerivationOk(const SchemaType::Ptr &derivedType,
+ const SchemaType::Ptr &baseType,
+ const SchemaType::DerivationConstraints &constraints);
+
+ /**
+ * This method takes the two string based operands @p operand1 and @p operand2 and converts them to instances of type @p type.
+ * If the conversion fails, @c false is returned, otherwise the instances are compared by the given operator @p op and the
+ * result of the comparison is returned.
+ */
+ static bool constructAndCompare(const DerivedString<TypeString>::Ptr &operand1,
+ const AtomicComparator::Operator op,
+ const DerivedString<TypeString>::Ptr &operand2,
+ const SchemaType::Ptr &type,
+ const ReportContext::Ptr &context,
+ const SourceLocationReflection *const sourceLocationReflection);
+
+ /**
+ * Returns whether the process content property of the @p derivedWildcard is valid
+ * according to the process content property of its @p baseWildcard.
+ */
+ static bool checkWildcardProcessContents(const XsdWildcard::Ptr &baseWildcard,
+ const XsdWildcard::Ptr &derivedWildcard);
+
+ /**
+ * Checks whether @[ member is a member of the substitution group with the given @p head.
+ */
+ static bool foundSubstitutionGroupTransitive(const XsdElement::Ptr &head,
+ const XsdElement::Ptr &member,
+ QSet<XsdElement::Ptr> &visitedElements);
+
+ /**
+ * A helper method that iterates over the type hierarchy from @p memberType up to @p headType and collects all
+ * @p derivationSet and @p blockSet constraints that exists on the way there.
+ */
+ static void foundSubstitutionGroupTypeInheritance(const SchemaType::Ptr &headType,
+ const SchemaType::Ptr &memberType,
+ QSet<SchemaType::DerivationMethod> &derivationSet,
+ NamedSchemaComponent::BlockingConstraints &blockSet);
+
+ /**
+ * Checks if the @p member is transitive to @p head.
+ */
+ static bool substitutionGroupOkTransitive(const XsdElement::Ptr &head,
+ const XsdElement::Ptr &member,
+ const NamePool::Ptr &namePool);
+
+ /**
+ * Checks if @p derivedAttributeGroup is a valid restriction for @p attributeGroup.
+ */
+ static bool isValidAttributeGroupRestriction(const XsdAttributeGroup::Ptr &derivedAttributeGroup,
+ const XsdAttributeGroup::Ptr &attributeGroup,
+ const XsdSchemaContext::Ptr &context,
+ QString &errorMsg);
+
+ /**
+ * Checks if @p derivedAttributeUses are a valid restriction for @p attributeUses.
+ */
+ static bool isValidAttributeUsesRestriction(const XsdAttributeUse::List &derivedAttributeUses,
+ const XsdAttributeUse::List &attributeUses,
+ const XsdWildcard::Ptr &derivedWildcard,
+ const XsdWildcard::Ptr &wildcard,
+ const XsdSchemaContext::Ptr &context,
+ QString &errorMsg);
+
+ /**
+ * Checks if @p derivedAttributeUses are a valid extension for @p attributeUses.
+ */
+ static bool isValidAttributeUsesExtension(const XsdAttributeUse::List &derivedAttributeUses,
+ const XsdAttributeUse::List &attributeUses,
+ const XsdWildcard::Ptr &derivedWildcard,
+ const XsdWildcard::Ptr &wildcard,
+ const XsdSchemaContext::Ptr &context,
+ QString &errorMsg);
+
+ private:
+ Q_DISABLE_COPY(XsdSchemaHelper)
+ };
+}
+
+QT_END_NAMESPACE
+
+QT_END_HEADER
+
+#endif
diff --git a/src/xmlpatterns/schema/qxsdschemamerger.cpp b/src/xmlpatterns/schema/qxsdschemamerger.cpp
new file mode 100644
index 0000000..1714068
--- /dev/null
+++ b/src/xmlpatterns/schema/qxsdschemamerger.cpp
@@ -0,0 +1,157 @@
+/****************************************************************************
+**
+** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the QtXmlPatterns of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "qxsdschemamerger_p.h"
+
+QT_BEGIN_NAMESPACE
+
+using namespace QPatternist;
+
+XsdSchemaMerger::XsdSchemaMerger(const XsdSchema::Ptr &schema, const XsdSchema::Ptr &otherSchema)
+{
+ merge(schema, otherSchema);
+}
+
+XsdSchema::Ptr XsdSchemaMerger::mergedSchema() const
+{
+ return m_mergedSchema;
+}
+
+void XsdSchemaMerger::merge(const XsdSchema::Ptr &schema, const XsdSchema::Ptr &otherSchema)
+{
+ m_mergedSchema = XsdSchema::Ptr(new XsdSchema(otherSchema->namePool()));
+
+ // first fill the merged schema with the values from schema
+ if (schema) {
+ const XsdElement::List elements = schema->elements();
+ for (int i = 0; i < elements.count(); ++i) {
+ m_mergedSchema->addElement(elements.at(i));
+ }
+
+ const XsdAttribute::List attributes = schema->attributes();
+ for (int i = 0; i < attributes.count(); ++i) {
+ m_mergedSchema->addAttribute(attributes.at(i));
+ }
+
+ const SchemaType::List types = schema->types();
+ for (int i = 0; i < types.count(); ++i) {
+ m_mergedSchema->addType(types.at(i));
+ }
+
+ const SchemaType::List anonymousTypes = schema->anonymousTypes();
+ for (int i = 0; i < anonymousTypes.count(); ++i) {
+ m_mergedSchema->addAnonymousType(anonymousTypes.at(i));
+ }
+
+ const XsdModelGroup::List elementGroups = schema->elementGroups();
+ for (int i = 0; i < elementGroups.count(); ++i) {
+ m_mergedSchema->addElementGroup(elementGroups.at(i));
+ }
+
+ const XsdAttributeGroup::List attributeGroups = schema->attributeGroups();
+ for (int i = 0; i < attributeGroups.count(); ++i) {
+ m_mergedSchema->addAttributeGroup(attributeGroups.at(i));
+ }
+
+ const XsdNotation::List notations = schema->notations();
+ for (int i = 0; i < notations.count(); ++i) {
+ m_mergedSchema->addNotation(notations.at(i));
+ }
+
+ const XsdIdentityConstraint::List identityConstraints = schema->identityConstraints();
+ for (int i = 0; i < identityConstraints.count(); ++i) {
+ m_mergedSchema->addIdentityConstraint(identityConstraints.at(i));
+ }
+ }
+
+ // then merge in the values from the otherSchema
+ {
+ const XsdElement::List elements = otherSchema->elements();
+ for (int i = 0; i < elements.count(); ++i) {
+ if (!m_mergedSchema->element(elements.at(i)->name(otherSchema->namePool())))
+ m_mergedSchema->addElement(elements.at(i));
+ }
+
+ const XsdAttribute::List attributes = otherSchema->attributes();
+ for (int i = 0; i < attributes.count(); ++i) {
+ if (!m_mergedSchema->attribute(attributes.at(i)->name(otherSchema->namePool())))
+ m_mergedSchema->addAttribute(attributes.at(i));
+ }
+
+ const SchemaType::List types = otherSchema->types();
+ for (int i = 0; i < types.count(); ++i) {
+ if (!m_mergedSchema->type(types.at(i)->name(otherSchema->namePool())))
+ m_mergedSchema->addType(types.at(i));
+ }
+
+ const SchemaType::List anonymousTypes = otherSchema->anonymousTypes();
+ for (int i = 0; i < anonymousTypes.count(); ++i) {
+ // add anonymous type as they are
+ m_mergedSchema->addAnonymousType(anonymousTypes.at(i));
+ }
+
+ const XsdModelGroup::List elementGroups = otherSchema->elementGroups();
+ for (int i = 0; i < elementGroups.count(); ++i) {
+ if (!m_mergedSchema->elementGroup(elementGroups.at(i)->name(otherSchema->namePool())))
+ m_mergedSchema->addElementGroup(elementGroups.at(i));
+ }
+
+ const XsdAttributeGroup::List attributeGroups = otherSchema->attributeGroups();
+ for (int i = 0; i < attributeGroups.count(); ++i) {
+ if (!m_mergedSchema->attributeGroup(attributeGroups.at(i)->name(otherSchema->namePool())))
+ m_mergedSchema->addAttributeGroup(attributeGroups.at(i));
+ }
+
+ const XsdNotation::List notations = otherSchema->notations();
+ for (int i = 0; i < notations.count(); ++i) {
+ if (!m_mergedSchema->notation(notations.at(i)->name(otherSchema->namePool())))
+ m_mergedSchema->addNotation(notations.at(i));
+ }
+
+ const XsdIdentityConstraint::List identityConstraints = otherSchema->identityConstraints();
+ for (int i = 0; i < identityConstraints.count(); ++i) {
+ if (!m_mergedSchema->identityConstraint(identityConstraints.at(i)->name(otherSchema->namePool())))
+ m_mergedSchema->addIdentityConstraint(identityConstraints.at(i));
+ }
+ }
+}
+
+QT_END_NAMESPACE
diff --git a/src/xmlpatterns/schema/qxsdschemamerger_p.h b/src/xmlpatterns/schema/qxsdschemamerger_p.h
new file mode 100644
index 0000000..8b522c5
--- /dev/null
+++ b/src/xmlpatterns/schema/qxsdschemamerger_p.h
@@ -0,0 +1,99 @@
+/****************************************************************************
+**
+** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtXmlPatterns of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+
+#ifndef Patternist_XsdSchemaMerger_H
+#define Patternist_XsdSchemaMerger_H
+
+#include "qxsdschema_p.h"
+
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+namespace QPatternist
+{
+ /**
+ * @short A helper class that merges two schemas into one.
+ *
+ * This class is used in XsdValidatingInstanceReader to merge the schema
+ * given in the constructor with a schema defined in the instance document
+ * via xsi:schemaLocation or xsi:noNamespaceSchema location.
+ *
+ * @ingroup Patternist_schema
+ * @author Tobias Koenig <tobias.koenig@trolltech.com>
+ */
+ class XsdSchemaMerger : public QSharedData
+ {
+ public:
+ typedef QExplicitlySharedDataPointer<XsdSchemaMerger> Ptr;
+
+ /**
+ * Creates a new schema merger object that merges @p schema with @p otherSchema.
+ */
+ XsdSchemaMerger(const XsdSchema::Ptr &schema, const XsdSchema::Ptr &otherSchema);
+
+ /**
+ * Returns the merged schema.
+ */
+ XsdSchema::Ptr mergedSchema() const;
+
+ private:
+ void merge(const XsdSchema::Ptr &schema, const XsdSchema::Ptr &otherSchema);
+
+ XsdSchema::Ptr m_mergedSchema;
+ };
+}
+
+QT_END_NAMESPACE
+
+QT_END_HEADER
+
+#endif
diff --git a/src/xmlpatterns/schema/qxsdschemaparser.cpp b/src/xmlpatterns/schema/qxsdschemaparser.cpp
new file mode 100644
index 0000000..4e6a643
--- /dev/null
+++ b/src/xmlpatterns/schema/qxsdschemaparser.cpp
@@ -0,0 +1,6078 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtXmlPatterns module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "qxsdschemaparser_p.h"
+
+#include "private/qxmlutils_p.h"
+#include "qacceltreeresourceloader_p.h"
+#include "qautoptr_p.h"
+#include "qboolean_p.h"
+#include "qcommonnamespaces_p.h"
+#include "qderivedinteger_p.h"
+#include "qderivedstring_p.h"
+#include "qqnamevalue_p.h"
+#include "qxmlquery_p.h"
+#include "qxpathhelper_p.h"
+#include "qxsdattributereference_p.h"
+#include "qxsdreference_p.h"
+#include "qxsdschematoken_p.h"
+
+#include <QtCore/QFile>
+#include <QtXmlPatterns/QXmlQuery>
+
+QT_BEGIN_NAMESPACE
+
+/**
+ * @page schema_overview Overview
+ * @section structure_and_components Structure and Components
+ *
+ * The schema validator code consists of 4 major components
+ *
+ * <dl>
+ * <dt>The schema parser (QPatternist::XsdSchemaParser)</dt>
+ * <dd>This component parses a XML document that is supplied via a QIODevice. It creates
+ * a so called (incomplete) 'compiled schema', which is a representation of the XML Schema
+ * structure as C++ objects.
+ * As the parser is a streaming parser, it can't resolve references to types or elements/attributes
+ * in place, therefor it creates resolver tasks which are passed to the schema resolver component
+ * for resolving at a later point in time.
+ * The parser does furthermore the basic XML structure constraint checking, e.g. if all required
+ * attributes are available or the order of the elements is correct.</dd>
+ *
+ * <dt>The schema resolver (QPatternist::XsdSchemaResolver)</dt>
+ * <dd>This component is activated after the schema parser component has been finished the parsing
+ * of all schemas. The resolver has been supplied with resolve tasks by the schema parser that
+ * it will resolve in this step now. Between working on the single resolver tasks, the resolver
+ * calls check methods from the schema checker component to make sure that some assertions are
+ * valid (e.g. no circular inheritance of types), so that the resolver can work without hassle.
+ * During resoving references to attribute or element groups it also checks for circular references
+ * of these groups.
+ * At the end of that phase we have a compiled schema that is fully resolved (not necessarily valid though).</dd>
+ *
+ * <dt>The schema checker (QPatternist::XsdSchemaChecker)</dt>
+ * <dd>This component does all the schema constraint checking as given by the Schema specification.
+ * At the end of that phase we have fully resolved and valid compiled schema that can be used for validation
+ * of instance documents.</dd>
+ *
+ * <dt>The validator (QPatternist::XsdValidatingInstanceReader)</dt>
+ * <dd>This component is responsible for validating a XML instance document, provided via a QIODevice, against
+ * a valid compiled schema.</dd>
+ * </dl>
+ *
+ * @ingroup Patternist_schema
+ */
+
+using namespace QPatternist;
+
+namespace QPatternist
+{
+
+/**
+ * @short A helper class for automatically handling namespace scopes of elements.
+ *
+ * This class should be instantiated at the beginning of each parse XYZ method.
+ */
+class ElementNamespaceHandler
+{
+ public:
+ /**
+ * Creates a new element namespace handler object.
+ *
+ * It checks whether the @p parser is on the right @p tag and it creates a new namespace
+ * context that contains the inherited and local namespace declarations.
+ */
+ ElementNamespaceHandler(const XsdSchemaToken::NodeName &tag, XsdSchemaParser *parser)
+ : m_parser(parser)
+ {
+ Q_ASSERT(m_parser->isStartElement() && (XsdSchemaToken::toToken(m_parser->name()) == tag) && (XsdSchemaToken::toToken(m_parser->namespaceUri()) == XsdSchemaToken::XML_NS_SCHEMA_URI));
+ m_parser->m_namespaceSupport.pushContext();
+ m_parser->m_namespaceSupport.setPrefixes(m_parser->namespaceDeclarations());
+ }
+
+ /**
+ * Destroys the element namespace handler object.
+ *
+ * It destroys the local namespace context.
+ */
+ ~ElementNamespaceHandler()
+ {
+ m_parser->m_namespaceSupport.popContext();
+ }
+
+ private:
+ XsdSchemaParser *m_parser;
+};
+
+/**
+ * A helper class that checks for the right occurrence of
+ * xml tags with the help of a DFA.
+ */
+class TagValidationHandler
+{
+ public:
+ TagValidationHandler(XsdTagScope::Type tag, XsdSchemaParser *parser, const NamePool::Ptr &namePool)
+ : m_parser(parser), m_machine(namePool)
+ {
+ Q_ASSERT(m_parser->m_stateMachines.contains(tag));
+
+ m_machine = m_parser->m_stateMachines.value(tag);
+ m_machine.reset();
+ }
+
+ void validate(XsdSchemaToken::NodeName token)
+ {
+ if (token == XsdSchemaToken::NoKeyword) {
+ const QList<XsdSchemaToken::NodeName> tokens = m_machine.possibleTransitions();
+
+ QStringList elementNames;
+ for (int i = 0; i < tokens.count(); ++i)
+ elementNames.append(formatElement(XsdSchemaToken::toString(tokens.at(i))));
+
+ m_parser->error(QtXmlPatterns::tr("can not process unknown element %1, expected elements are: %2")
+ .arg(formatElement(m_parser->name().toString()))
+ .arg(elementNames.join(QLatin1String(", "))));
+ return;
+ }
+
+ if (!m_machine.proceed(token)) {
+ const QList<XsdSchemaToken::NodeName> tokens = m_machine.possibleTransitions();
+
+ QStringList elementNames;
+ for (int i = 0; i < tokens.count(); ++i)
+ elementNames.append(formatElement(XsdSchemaToken::toString(tokens.at(i))));
+
+ m_parser->error(QtXmlPatterns::tr("element %1 is not allowed in this scope, possible elements are: %2")
+ .arg(formatElement(XsdSchemaToken::toString(token)))
+ .arg(elementNames.join(QLatin1String(", "))));
+ return;
+ }
+ }
+
+ void finalize() const
+ {
+ if (!m_machine.inEndState()) {
+ const QList<XsdSchemaToken::NodeName> tokens = m_machine.possibleTransitions();
+
+ QStringList elementNames;
+ for (int i = 0; i < tokens.count(); ++i)
+ elementNames.append(formatElement(XsdSchemaToken::toString(tokens.at(i))));
+
+ m_parser->error(QtXmlPatterns::tr("child element is missing in that scope, possible child elements are: %1")
+ .arg(elementNames.join(QLatin1String(", "))));
+ }
+ }
+
+ private:
+ XsdSchemaParser *m_parser;
+ XsdStateMachine<XsdSchemaToken::NodeName> m_machine;
+};
+
+}
+
+/**
+ * Returns a list of all particles with group references that appear at any level of
+ * the given unresolved @p group.
+ */
+static XsdParticle::List collectGroupRef(const XsdModelGroup::Ptr &group)
+{
+ XsdParticle::List refParticles;
+
+ XsdParticle::List particles = group->particles();
+ for (int i = 0; i < particles.count(); ++i) {
+ if (particles.at(i)->term()->isReference()) {
+ const XsdReference::Ptr reference(particles.at(i)->term());
+ if (reference->type() == XsdReference::ModelGroup)
+ refParticles.append(particles.at(i));
+ }
+ if (particles.at(i)->term()->isModelGroup()) {
+ refParticles << collectGroupRef(XsdModelGroup::Ptr(particles.at(i)->term()));
+ }
+ }
+
+ return refParticles;
+}
+
+/**
+ * Helper function that works around the limited facilities of
+ * QUrl/AnyURI::fromLexical to detect invalid URIs
+ */
+inline static bool isValidUri(const QString &string)
+{
+ // an empty URI points to the current document as defined in RFC 2396 (4.2)
+ if (string.isEmpty())
+ return true;
+
+ // explicit check as that is not checked by the code below
+ if (string.startsWith(QLatin1String("##")))
+ return false;
+
+ const AnyURI::Ptr uri = AnyURI::fromLexical(string);
+ return (!(uri->hasError()));
+}
+
+XsdSchemaParser::XsdSchemaParser(const XsdSchemaContext::Ptr &context, const XsdSchemaParserContext::Ptr &parserContext, QIODevice *device)
+ : MaintainingReader<XsdSchemaToken, XsdTagScope::Type>(parserContext->elementDescriptions(), QSet<XsdSchemaToken::NodeName>(), context, device)
+ , m_context(context)
+ , m_parserContext(parserContext)
+ , m_namePool(m_parserContext->namePool())
+ , m_namespaceSupport(m_namePool)
+{
+ m_schema = m_parserContext->schema();
+ m_schemaResolver = m_parserContext->resolver();
+ m_idCache = XsdIdCache::Ptr(new XsdIdCache());
+
+ setupStateMachines();
+ setupBuiltinTypeNames();
+}
+
+void XsdSchemaParser::setIncludedSchemas(const NamespaceSet &schemas)
+{
+ m_includedSchemas = schemas;
+}
+
+void XsdSchemaParser::setImportedSchemas(const NamespaceSet &schemas)
+{
+ m_importedSchemas = schemas;
+}
+
+void XsdSchemaParser::setRedefinedSchemas(const NamespaceSet &schemas)
+{
+ m_redefinedSchemas = schemas;
+}
+
+void XsdSchemaParser::setTargetNamespace(const QString &targetNamespace)
+{
+ m_targetNamespace = targetNamespace;
+}
+
+void XsdSchemaParser::setTargetNamespaceExtended(const QString &targetNamespace)
+{
+ m_targetNamespace = targetNamespace;
+ m_namespaceSupport.setTargetNamespace(m_namePool->allocateNamespace(m_targetNamespace));
+}
+
+void XsdSchemaParser::setDocumentURI(const QUrl &uri)
+{
+ m_documentURI = uri;
+
+ // prevent to get included/imported/redefined twice
+ m_includedSchemas.insert(uri);
+ m_importedSchemas.insert(uri);
+}
+
+QUrl XsdSchemaParser::documentURI() const
+{
+ return m_documentURI;
+}
+
+bool XsdSchemaParser::isAnyAttributeAllowed() const
+{
+ return false;
+}
+
+bool XsdSchemaParser::parse(ParserType parserType)
+{
+ m_componentLocationHash.clear();
+
+ while (!atEnd()) {
+ readNext();
+
+ if (isStartElement()) {
+ const XsdSchemaToken::NodeName token = XsdSchemaToken::toToken(name());
+ const XsdSchemaToken::NodeName namespaceToken = XsdSchemaToken::toToken(namespaceUri());
+
+ if (isSchemaTag(XsdSchemaToken::Schema, token, namespaceToken)) {
+ parseSchema(parserType);
+ } else {
+ error(QtXmlPatterns::tr("document is not a XML schema"));
+ }
+ }
+ }
+
+ m_schemaResolver->addComponentLocationHash(m_componentLocationHash);
+ m_schemaResolver->setDefaultOpenContent(m_defaultOpenContent, m_defaultOpenContentAppliesToEmpty);
+
+ if (QXmlStreamReader::error() != QXmlStreamReader::NoError)
+ error(errorString());
+
+ return true;
+}
+
+void XsdSchemaParser::error(const QString &msg)
+{
+ MaintainingReader<XsdSchemaToken, XsdTagScope::Type>::error(msg, XsdSchemaContext::XSDError);
+}
+
+void XsdSchemaParser::attributeContentError(const char *attributeName, const char *elementName, const QString &value, const SchemaType::Ptr &type)
+{
+ if (type) {
+ error(QtXmlPatterns::tr("%1 attribute of %2 element contains invalid content: {%3} is not a value of type %4")
+ .arg(formatAttribute(attributeName))
+ .arg(formatElement(elementName))
+ .arg(formatData(value))
+ .arg(formatType(m_namePool, type)));
+ } else {
+ error(QtXmlPatterns::tr("%1 attribute of %2 element contains invalid content: {%3}")
+ .arg(formatAttribute(attributeName))
+ .arg(formatElement(elementName))
+ .arg(formatData(value)));
+ }
+}
+
+void XsdSchemaParser::parseSchema(ParserType parserType)
+{
+ const ElementNamespaceHandler namespaceHandler(XsdSchemaToken::Schema, this);
+
+ validateElement(XsdTagScope::Schema);
+
+ // parse attributes
+
+ if (parserType == TopLevelParser) {
+ if (hasAttribute(QString::fromLatin1("targetNamespace"))) {
+ m_targetNamespace = readNamespaceAttribute(QString::fromLatin1("targetNamespace"), "schema");
+ }
+ } else if (parserType == IncludeParser) {
+ // m_targetNamespace is set to the target namespace of the including schema at this point
+
+ if (hasAttribute(QString::fromLatin1("targetNamespace"))) {
+ const QString targetNamespace = readNamespaceAttribute(QString::fromLatin1("targetNamespace"), "schema");
+
+ if (m_targetNamespace != targetNamespace) {
+ error(QtXmlPatterns::tr("target namespace %1 of included schema is different from the target namespace %2 as defined by the including schema")
+ .arg(formatURI(targetNamespace)).arg(formatURI(m_targetNamespace)));
+ return;
+ }
+ }
+ } else if (parserType == ImportParser) {
+ // m_targetNamespace is set to the target namespace from the namespace attribute of the <import> tag at this point
+
+ QString targetNamespace;
+ if (hasAttribute(QString::fromLatin1("targetNamespace"))) {
+ targetNamespace = readNamespaceAttribute(QString::fromLatin1("targetNamespace"), "schema");
+ }
+
+ if (m_targetNamespace != targetNamespace) {
+ error(QtXmlPatterns::tr("target namespace %1 of imported schema is different from the target namespace %2 as defined by the importing schema")
+ .arg(formatURI(targetNamespace)).arg(formatURI(m_targetNamespace)));
+ return;
+ }
+ } else if (parserType == RedefineParser) {
+ // m_targetNamespace is set to the target namespace of the redefining schema at this point
+
+ if (hasAttribute(QString::fromLatin1("targetNamespace"))) {
+ const QString targetNamespace = readNamespaceAttribute(QString::fromLatin1("targetNamespace"), "schema");
+
+ if (m_targetNamespace != targetNamespace) {
+ error(QtXmlPatterns::tr("target namespace %1 of imported schema is different from the target namespace %2 as defined by the importing schema")
+ .arg(formatURI(targetNamespace)).arg(formatURI(m_targetNamespace)));
+ return;
+ }
+ }
+ }
+
+ if (hasAttribute(QString::fromLatin1("attributeFormDefault"))) {
+ const QString value = readAttribute(QString::fromLatin1("attributeFormDefault"));
+ if (value != QString::fromLatin1("qualified") && value != QString::fromLatin1("unqualified")) {
+ attributeContentError("attributeFormDefault", "schema", value);
+ return;
+ }
+
+ m_attributeFormDefault = value;
+ } else {
+ m_attributeFormDefault = QString::fromLatin1("unqualified");
+ }
+
+ if (hasAttribute(QString::fromLatin1("elementFormDefault"))) {
+ const QString value = readAttribute(QString::fromLatin1("elementFormDefault"));
+ if (value != QString::fromLatin1("qualified") && value != QString::fromLatin1("unqualified")) {
+ attributeContentError("elementFormDefault", "schema", value);
+ return;
+ }
+
+ m_elementFormDefault = value;
+ } else {
+ m_elementFormDefault = QString::fromLatin1("unqualified");
+ }
+
+ if (hasAttribute(QString::fromLatin1("blockDefault"))) {
+ const QString blockDefault = readAttribute(QString::fromLatin1("blockDefault"));
+ const QStringList blockDefaultList = blockDefault.split(QLatin1Char(' '), QString::SkipEmptyParts);
+ for (int i = 0; i < blockDefaultList.count(); ++i) {
+ const QString value = blockDefaultList.at(i);
+ if (value != QString::fromLatin1("#all") &&
+ value != QString::fromLatin1("extension") &&
+ value != QString::fromLatin1("restriction") &&
+ value != QString::fromLatin1("substitution")) {
+ attributeContentError("blockDefault", "schema", value);
+ return;
+ }
+ }
+
+ m_blockDefault = blockDefault;
+ }
+
+ if (hasAttribute(QString::fromLatin1("finalDefault"))) {
+ const QString finalDefault = readAttribute(QString::fromLatin1("finalDefault"));
+ const QStringList finalDefaultList = finalDefault.split(QLatin1Char(' '), QString::SkipEmptyParts);
+ for (int i = 0; i < finalDefaultList.count(); ++i) {
+ const QString value = finalDefaultList.at(i);
+ if (value != QString::fromLatin1("#all") &&
+ value != QString::fromLatin1("extension") &&
+ value != QString::fromLatin1("restriction") &&
+ value != QString::fromLatin1("list") &&
+ value != QString::fromLatin1("union")) {
+ attributeContentError("finalDefault", "schema", value);
+ return;
+ }
+ }
+
+ m_finalDefault = finalDefault;
+ }
+
+ if (hasAttribute(QString::fromLatin1("xpathDefaultNamespace"))) {
+ const QString xpathDefaultNamespace = readAttribute(QString::fromLatin1("xpathDefaultNamespace"));
+ if (xpathDefaultNamespace != QString::fromLatin1("##defaultNamespace") &&
+ xpathDefaultNamespace != QString::fromLatin1("##targetNamespace") &&
+ xpathDefaultNamespace != QString::fromLatin1("##local")) {
+ if (!isValidUri(xpathDefaultNamespace)) {
+ attributeContentError("xpathDefaultNamespace", "schema", xpathDefaultNamespace);
+ return;
+ }
+ }
+ m_xpathDefaultNamespace = xpathDefaultNamespace;
+ } else {
+ m_xpathDefaultNamespace = QString::fromLatin1("##local");
+ }
+
+ if (hasAttribute(QString::fromLatin1("defaultAttributes"))) {
+ const QString attrGroupName = readQNameAttribute(QString::fromLatin1("defaultAttributes"), "schema");
+ convertName(attrGroupName, NamespaceSupport::ElementName, m_defaultAttributes); // translate qualified name into QXmlName
+ }
+
+ if (hasAttribute(QString::fromLatin1("version"))) {
+ const QString version = readAttribute(QString::fromLatin1("version"));
+ }
+
+ if (hasAttribute(CommonNamespaces::XML, QString::fromLatin1("lang"))) {
+ const QString value = readAttribute(QString::fromLatin1("lang"), CommonNamespaces::XML);
+
+ const QRegExp exp(QString::fromLatin1("[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*"));
+ if (!exp.exactMatch(value)) {
+ attributeContentError("xml:lang", "schema", value);
+ return;
+ }
+ }
+
+ validateIdAttribute("schema");
+
+ TagValidationHandler tagValidator(XsdTagScope::Schema, this, m_namePool);
+
+ while (!atEnd()) {
+ readNext();
+
+ if (isEndElement())
+ break;
+
+ if (isStartElement()) {
+ const XsdSchemaToken::NodeName token = XsdSchemaToken::toToken(name());
+ const XsdSchemaToken::NodeName namespaceToken = XsdSchemaToken::toToken(namespaceUri());
+
+ tagValidator.validate(token);
+
+ if (isSchemaTag(XsdSchemaToken::Include, token, namespaceToken)) {
+ parseInclude();
+ } else if (isSchemaTag(XsdSchemaToken::Import, token, namespaceToken)) {
+ parseImport();
+ } else if (isSchemaTag(XsdSchemaToken::Redefine, token, namespaceToken)) {
+ parseRedefine();
+ } else if (isSchemaTag(XsdSchemaToken::Annotation, token, namespaceToken)) {
+ const XsdAnnotation::Ptr annotation = parseAnnotation();
+ m_schema->addAnnotation(annotation);
+ } else if (isSchemaTag(XsdSchemaToken::DefaultOpenContent, token, namespaceToken)) {
+ parseDefaultOpenContent();
+ } else if (isSchemaTag(XsdSchemaToken::SimpleType, token, namespaceToken)) {
+ const XsdSimpleType::Ptr type = parseGlobalSimpleType();
+ addType(type);
+ } else if (isSchemaTag(XsdSchemaToken::ComplexType, token, namespaceToken)) {
+ const XsdComplexType::Ptr type = parseGlobalComplexType();
+ addType(type);
+ } else if (isSchemaTag(XsdSchemaToken::Group, token, namespaceToken)) {
+ const XsdModelGroup::Ptr group = parseNamedGroup();
+ addElementGroup(group);
+ } else if (isSchemaTag(XsdSchemaToken::AttributeGroup, token, namespaceToken)) {
+ XsdAttributeGroup::Ptr attributeGroup = parseNamedAttributeGroup();
+ addAttributeGroup(attributeGroup);
+ } else if (isSchemaTag(XsdSchemaToken::Element, token, namespaceToken)) {
+ const XsdElement::Ptr element = parseGlobalElement();
+ addElement(element);
+ } else if (isSchemaTag(XsdSchemaToken::Attribute, token, namespaceToken)) {
+ const XsdAttribute::Ptr attribute = parseGlobalAttribute();
+ addAttribute(attribute);
+ } else if (isSchemaTag(XsdSchemaToken::Notation, token, namespaceToken)) {
+ const XsdNotation::Ptr notation = parseNotation();
+ addNotation(notation);
+ } else {
+ parseUnknown();
+ }
+ }
+ }
+
+ tagValidator.finalize();
+
+ m_schema->setTargetNamespace(m_targetNamespace);
+}
+
+void XsdSchemaParser::parseInclude()
+{
+ Q_ASSERT(isStartElement() && XsdSchemaToken::toToken(name()) == XsdSchemaToken::Include &&
+ XsdSchemaToken::toToken(namespaceUri()) == XsdSchemaToken::XML_NS_SCHEMA_URI);
+
+ validateElement(XsdTagScope::Include);
+
+ // parse attributes
+ const QString schemaLocation = readAttribute(QString::fromLatin1("schemaLocation"));
+
+ QUrl url(schemaLocation);
+ if (url.isRelative()) {
+ Q_ASSERT(m_documentURI.isValid());
+
+ url = m_documentURI.resolved(url);
+ }
+
+ if (m_includedSchemas.contains(url)) {
+ // we have included that file already, according to the schema spec we are
+ // allowed to silently skip it.
+ } else {
+ m_includedSchemas.insert(url);
+
+ const AutoPtr<QNetworkReply> reply(AccelTreeResourceLoader::load(url, m_context->networkAccessManager(),
+ m_context, AccelTreeResourceLoader::ContinueOnError));
+ if (reply) {
+ // parse the included schema by a different parser but with the same context
+ XsdSchemaParser parser(m_context, m_parserContext, reply.data());
+ parser.setDocumentURI(url);
+ parser.setTargetNamespaceExtended(m_targetNamespace);
+ parser.setIncludedSchemas(m_includedSchemas);
+ parser.setImportedSchemas(m_importedSchemas);
+ parser.setRedefinedSchemas(m_redefinedSchemas);
+ if (!parser.parse(XsdSchemaParser::IncludeParser))
+ return;
+ }
+ }
+
+ validateIdAttribute("include");
+
+ TagValidationHandler tagValidator(XsdTagScope::Include, this, m_namePool);
+
+ while (!atEnd()) {
+ readNext();
+
+ if (isEndElement())
+ break;
+
+ if (isStartElement()) {
+ const XsdSchemaToken::NodeName token = XsdSchemaToken::toToken(name());
+ const XsdSchemaToken::NodeName namespaceToken = XsdSchemaToken::toToken(namespaceUri());
+
+ tagValidator.validate(token);
+
+ if (isSchemaTag(XsdSchemaToken::Annotation, token, namespaceToken)) {
+ const XsdAnnotation::Ptr annotation = parseAnnotation();
+ m_schema->addAnnotation(annotation);
+ } else {
+ parseUnknown();
+ }
+ }
+ }
+
+ tagValidator.finalize();
+}
+
+void XsdSchemaParser::parseImport()
+{
+ Q_ASSERT(isStartElement() && XsdSchemaToken::toToken(name()) == XsdSchemaToken::Import &&
+ XsdSchemaToken::toToken(namespaceUri()) == XsdSchemaToken::XML_NS_SCHEMA_URI);
+
+ validateElement(XsdTagScope::Import);
+
+ // parse attributes
+ QString importNamespace;
+ if (hasAttribute(QString::fromLatin1("namespace"))) {
+ importNamespace = readAttribute(QString::fromLatin1("namespace"));
+ if (importNamespace == m_targetNamespace) {
+ error(QtXmlPatterns::tr("%1 element is not allowed to have the same %2 attribute value as the target namespace %3")
+ .arg(formatElement("import"))
+ .arg(formatAttribute("namespace"))
+ .arg(formatURI(m_targetNamespace)));
+ return;
+ }
+ } else {
+ if (m_targetNamespace.isEmpty()) {
+ error(QtXmlPatterns::tr("%1 element without %2 attribute is not allowed inside schema without target namespace")
+ .arg(formatElement("import"))
+ .arg(formatAttribute("namespace")));
+ return;
+ }
+ }
+
+ if (hasAttribute(QString::fromLatin1("schemaLocation"))) {
+ const QString schemaLocation = readAttribute(QString::fromLatin1("schemaLocation"));
+
+ QUrl url(schemaLocation);
+ if (url.isRelative()) {
+ Q_ASSERT(m_documentURI.isValid());
+
+ url = m_documentURI.resolved(url);
+ }
+
+ if (m_importedSchemas.contains(url)) {
+ // we have imported that file already, according to the schema spec we are
+ // allowed to silently skip it.
+ } else {
+ m_importedSchemas.insert(url);
+
+ // as it is possible that well known schemas (e.g. XSD for XML) are only referenced by
+ // namespace we should add it as well
+ m_importedSchemas.insert(importNamespace);
+
+ AutoPtr<QNetworkReply> reply(AccelTreeResourceLoader::load(url, m_context->networkAccessManager(),
+ m_context, AccelTreeResourceLoader::ContinueOnError));
+ if (reply) {
+ // parse the included schema by a different parser but with the same context
+ XsdSchemaParser parser(m_context, m_parserContext, reply.data());
+ parser.setDocumentURI(url);
+ parser.setTargetNamespace(importNamespace);
+ parser.setIncludedSchemas(m_includedSchemas);
+ parser.setImportedSchemas(m_importedSchemas);
+ parser.setRedefinedSchemas(m_redefinedSchemas);
+ if (!parser.parse(XsdSchemaParser::ImportParser))
+ return;
+ }
+ }
+ } else {
+ // check whether it is a known namespace we have a builtin schema for
+ if (!importNamespace.isEmpty()) {
+ if (!m_importedSchemas.contains(importNamespace)) {
+ m_importedSchemas.insert(importNamespace);
+
+ QFile file(QString::fromLatin1(":") + importNamespace);
+ if (file.open(QIODevice::ReadOnly)) {
+ XsdSchemaParser parser(m_context, m_parserContext, &file);
+ parser.setDocumentURI(importNamespace);
+ parser.setTargetNamespace(importNamespace);
+ parser.setIncludedSchemas(m_includedSchemas);
+ parser.setImportedSchemas(m_importedSchemas);
+ parser.setRedefinedSchemas(m_redefinedSchemas);
+ if (!parser.parse(XsdSchemaParser::ImportParser))
+ return;
+ }
+ }
+ } else {
+ // we don't import anything... that is valid according to the schema
+ }
+ }
+
+ validateIdAttribute("import");
+
+ TagValidationHandler tagValidator(XsdTagScope::Import, this, m_namePool);
+
+ while (!atEnd()) {
+ readNext();
+
+ if (isEndElement())
+ break;
+
+ if (isStartElement()) {
+ const XsdSchemaToken::NodeName token = XsdSchemaToken::toToken(name());
+ const XsdSchemaToken::NodeName namespaceToken = XsdSchemaToken::toToken(namespaceUri());
+
+ tagValidator.validate(token);
+
+ if (isSchemaTag(XsdSchemaToken::Annotation, token, namespaceToken)) {
+ const XsdAnnotation::Ptr annotation = parseAnnotation();
+ m_schema->addAnnotation(annotation);
+ } else {
+ parseUnknown();
+ }
+ }
+ }
+
+ tagValidator.finalize();
+}
+
+void XsdSchemaParser::parseRedefine()
+{
+ Q_ASSERT(isStartElement() && XsdSchemaToken::toToken(name()) == XsdSchemaToken::Redefine &&
+ XsdSchemaToken::toToken(namespaceUri()) == XsdSchemaToken::XML_NS_SCHEMA_URI);
+
+ validateElement(XsdTagScope::Redefine);
+
+ // parse attributes
+ validateIdAttribute("redefine");
+
+ const QString schemaLocation = readAttribute(QString::fromLatin1("schemaLocation"));
+
+ TagValidationHandler tagValidator(XsdTagScope::Redefine, this, m_namePool);
+
+ XsdSimpleType::List redefinedSimpleTypes;
+ XsdComplexType::List redefinedComplexTypes;
+ XsdModelGroup::List redefinedGroups;
+ XsdAttributeGroup::List redefinedAttributeGroups;
+
+ while (!atEnd()) {
+ readNext();
+
+ if (isEndElement())
+ break;
+
+ if (isStartElement()) {
+ const XsdSchemaToken::NodeName token = XsdSchemaToken::toToken(name());
+ const XsdSchemaToken::NodeName namespaceToken = XsdSchemaToken::toToken(namespaceUri());
+
+ tagValidator.validate(token);
+
+ if (isSchemaTag(XsdSchemaToken::Annotation, token, namespaceToken)) {
+ const XsdAnnotation::Ptr annotation = parseAnnotation();
+ m_schema->addAnnotation(annotation);
+ } else if (isSchemaTag(XsdSchemaToken::SimpleType, token, namespaceToken)) {
+ const XsdSimpleType::Ptr type = parseGlobalSimpleType();
+ redefinedSimpleTypes.append(type);
+
+ const QXmlName baseTypeName = m_parserContext->resolver()->baseTypeNameOfType(type);
+ if (baseTypeName != type->name(m_namePool)) {
+ error(QString::fromLatin1("redefined simple type %1 must have itself as base type").arg(formatType(m_namePool, type)));
+ return;
+ }
+ } else if (isSchemaTag(XsdSchemaToken::ComplexType, token, namespaceToken)) {
+ const XsdComplexType::Ptr type = parseGlobalComplexType();
+ redefinedComplexTypes.append(type);
+
+ // @see http://www.w3.org/TR/xmlschema11-1/#src-redefine
+
+ // 5
+ const QXmlName baseTypeName = m_parserContext->resolver()->baseTypeNameOfType(type);
+ if (baseTypeName != type->name(m_namePool)) {
+ error(QString::fromLatin1("redefined complex type %1 must have itself as base type").arg(formatType(m_namePool, type)));
+ return;
+ }
+ } else if (isSchemaTag(XsdSchemaToken::Group, token, namespaceToken)) {
+ const XsdModelGroup::Ptr group = parseNamedGroup();
+ redefinedGroups.append(group);
+ } else if (isSchemaTag(XsdSchemaToken::AttributeGroup, token, namespaceToken)) {
+ const XsdAttributeGroup::Ptr group = parseNamedAttributeGroup();
+ redefinedAttributeGroups.append(group);
+
+ } else {
+ parseUnknown();
+ }
+ }
+ }
+
+ bool locationMustResolve = false;
+ if (!redefinedSimpleTypes.isEmpty() || !redefinedComplexTypes.isEmpty() ||
+ !redefinedGroups.isEmpty() || !redefinedAttributeGroups.isEmpty()) {
+ locationMustResolve = true;
+ }
+
+ QUrl url(schemaLocation);
+ if (url.isRelative()) {
+ Q_ASSERT(m_documentURI.isValid());
+
+ url = m_documentURI.resolved(url);
+ }
+
+ // we parse the schema given in the redefine tag into its own context
+ const XsdSchemaParserContext::Ptr redefinedContext(new XsdSchemaParserContext(m_namePool, m_context));
+
+ if (m_redefinedSchemas.contains(url)) {
+ // we have redefined that file already, according to the schema spec we are
+ // allowed to silently skip it.
+ } else {
+ m_redefinedSchemas.insert(url);
+ QNetworkReply *reply = AccelTreeResourceLoader::load(url, m_context->networkAccessManager(),
+ m_context,
+ (locationMustResolve ? AccelTreeResourceLoader::FailOnError : AccelTreeResourceLoader::ContinueOnError));
+ if (reply) {
+ // parse the included schema by a different parser but with the same context
+ XsdSchemaParser parser(m_context, redefinedContext, reply);
+ parser.setDocumentURI(url);
+ parser.setTargetNamespaceExtended(m_targetNamespace);
+ parser.setIncludedSchemas(m_includedSchemas);
+ parser.setImportedSchemas(m_importedSchemas);
+ parser.setRedefinedSchemas(m_redefinedSchemas);
+ if (!parser.parse(XsdSchemaParser::RedefineParser))
+ return;
+
+ delete reply;
+ }
+ }
+
+ XsdSimpleType::List contextSimpleTypes = redefinedContext->schema()->simpleTypes();
+ XsdComplexType::List contextComplexTypes = redefinedContext->schema()->complexTypes();
+ XsdModelGroup::List contextGroups = redefinedContext->schema()->elementGroups();
+ XsdAttributeGroup::List contextAttributeGroups = redefinedContext->schema()->attributeGroups();
+
+ // now we do the actual redefinition:
+
+ // iterate over all redefined simple types
+ for (int i = 0; i < redefinedSimpleTypes.count(); ++i) {
+ XsdSimpleType::Ptr redefinedType = redefinedSimpleTypes.at(i);
+
+ //TODONEXT: validation
+
+ // search the definition they override in the context types
+ bool found = false;
+ for (int j = 0; j < contextSimpleTypes.count(); ++j) {
+ XsdSimpleType::Ptr contextType = contextSimpleTypes.at(j);
+
+ if (redefinedType->name(m_namePool) == contextType->name(m_namePool)) { // we found the right type
+ found = true;
+
+ // 1) set name of context type to empty name
+ contextType->setName(m_parserContext->createAnonymousName(QString()));
+
+ // 2) set the context type as base type for the redefined type
+ redefinedType->setWxsSuperType(contextType);
+
+ // 3) remove the base type resolving job from the resolver as
+ // we have set the base type here explicitely
+ m_parserContext->resolver()->removeSimpleRestrictionBase(redefinedType);
+
+ // 4) add the redefined type to the schema
+ addType(redefinedType);
+
+ // 5) add the context type as anonymous type, so the resolver
+ // can resolve it further.
+ addAnonymousType(contextType);
+
+ // 6) remove the context type from the list
+ contextSimpleTypes.removeAt(j);
+
+ break;
+ }
+ }
+
+ if (!found) {
+ error(QString::fromLatin1("no matching type found to redefine simple type %1").arg(formatType(m_namePool, redefinedType)));
+ return;
+ }
+ }
+
+ // add all remaining context simple types to the schema
+ for (int i = 0; i < contextSimpleTypes.count(); ++i) {
+ addType(contextSimpleTypes.at(i));
+ }
+
+ // iterate over all redefined complex types
+ for (int i = 0; i < redefinedComplexTypes.count(); ++i) {
+ XsdComplexType::Ptr redefinedType = redefinedComplexTypes.at(i);
+
+ //TODONEXT: validation
+
+ // search the definition they override in the context types
+ bool found = false;
+ for (int j = 0; j < contextComplexTypes.count(); ++j) {
+ XsdComplexType::Ptr contextType = contextComplexTypes.at(j);
+
+ if (redefinedType->name(m_namePool) == contextType->name(m_namePool)) { // we found the right type
+ found = true;
+
+ // 1) set name of context type to empty name
+ contextType->setName(m_parserContext->createAnonymousName(QString()));
+
+ // 2) set the context type as base type for the redefined type
+ redefinedType->setWxsSuperType(contextType);
+
+ // 3) remove the base type resolving job from the resolver as
+ // we have set the base type here explicitely
+ m_parserContext->resolver()->removeComplexBaseType(redefinedType);
+
+ // 4) add the redefined type to the schema
+ addType(redefinedType);
+
+ // 5) add the context type as anonymous type, so the resolver
+ // can resolve its attribute uses etc.
+ addAnonymousType(contextType);
+
+ // 6) remove the context type from the list
+ contextComplexTypes.removeAt(j);
+
+ break;
+ }
+ }
+
+ if (!found) {
+ error(QString::fromLatin1("no matching type found to redefine complex type %1").arg(formatType(m_namePool, redefinedType)));
+ return;
+ }
+ }
+
+ // iterate over all redefined element groups
+ for (int i = 0; i < redefinedGroups.count(); ++i) {
+ const XsdModelGroup::Ptr group(redefinedGroups.at(i));
+
+ // @see http://www.w3.org/TR/xmlschema11-1/#src-redefine
+
+ // 6
+ const XsdParticle::List particles = collectGroupRef(group);
+ XsdParticle::Ptr referencedParticle;
+ int sameNameCounter = 0;
+ for (int i = 0; i < particles.count(); ++i) {
+ const XsdReference::Ptr ref(particles.at(i)->term());
+ if (ref->referenceName() == group->name(m_namePool)) {
+ referencedParticle = particles.at(i);
+
+ if (referencedParticle->minimumOccurs() != 1 || referencedParticle->maximumOccurs() != 1 || referencedParticle->maximumOccursUnbounded()) { // 6.1.2
+ error(QString::fromLatin1("redefined group %1 can not contain reference to itself with minOccurs or maxOccurs != 1").arg(formatKeyword(group->displayName(m_namePool))));
+ return;
+ }
+ sameNameCounter++;
+ }
+ }
+
+ // 6.1.1
+ if (sameNameCounter > 1) {
+ error(QString::fromLatin1("redefined group %1 can not contain multiple references to itself").arg(formatKeyword(group->displayName(m_namePool))));
+ return;
+ }
+
+ // search the group definition in the included schema (S2)
+ XsdModelGroup::Ptr contextGroup;
+ for (int j = 0; j < contextGroups.count(); ++j) {
+ if (group->name(m_namePool) == contextGroups.at(j)->name(m_namePool)) {
+ contextGroup = contextGroups.at(j);
+ break;
+ }
+ }
+
+ if (!contextGroup) { // 6.2.1
+ error(QString::fromLatin1("redefined group %1 has no occurrence in included schema").arg(formatKeyword(group->displayName(m_namePool))));
+ return;
+ }
+
+ if (sameNameCounter == 1) {
+ // there was a self reference in the redefined group, so use the
+ // group from the included schema
+
+ // set a anonymous name to the group of the included schema
+ contextGroup->setName(m_parserContext->createAnonymousName(m_namePool->stringForNamespace(contextGroup->name(m_namePool).namespaceURI())));
+
+ // replace the self-reference with the group from the included schema
+ referencedParticle->setTerm(contextGroup);
+
+ addElementGroup(group);
+
+ addElementGroup(contextGroup);
+ contextGroups.removeAll(contextGroup);
+ } else {
+ // there was no self reference in the redefined group
+
+ // just add the redefined group...
+ addElementGroup(group);
+
+ // we have to add them, otherwise it is not resolved and we can't validate it later
+ contextGroup->setName(m_parserContext->createAnonymousName(m_namePool->stringForNamespace(contextGroup->name(m_namePool).namespaceURI())));
+ addElementGroup(contextGroup);
+
+ m_schemaResolver->addRedefinedGroups(group, contextGroup);
+
+ // ...and forget about the group from the included schema
+ contextGroups.removeAll(contextGroup);
+ }
+ }
+
+ // iterate over all redefined attribute groups
+ for (int i = 0; i < redefinedAttributeGroups.count(); ++i) {
+ const XsdAttributeGroup::Ptr group(redefinedAttributeGroups.at(i));
+
+ // @see http://www.w3.org/TR/xmlschema11-1/#src-redefine
+
+ // 7
+
+ // 7.1
+ int sameNameCounter = 0;
+ for (int j = 0; j < group->attributeUses().count(); ++j) {
+ const XsdAttributeUse::Ptr attributeUse(group->attributeUses().at(j));
+ if (attributeUse->isReference()) {
+ const XsdAttributeReference::Ptr reference(attributeUse);
+ if (reference->type() == XsdAttributeReference::AttributeGroup) {
+ if (group->name(m_namePool) == reference->referenceName())
+ sameNameCounter++;
+ }
+ }
+ }
+ if (sameNameCounter > 1) {
+ error(QString::fromLatin1("redefined attribute group %1 can not contain multiple references to itself").arg(formatKeyword(group->displayName(m_namePool))));
+ return;
+ }
+
+ // search the attribute group definition in the included schema (S2)
+ XsdAttributeGroup::Ptr baseGroup;
+ for (int j = 0; j < contextAttributeGroups.count(); ++j) {
+ const XsdAttributeGroup::Ptr contextGroup(contextAttributeGroups.at(j));
+ if (group->name(m_namePool) == contextGroup->name(m_namePool)) {
+ baseGroup = contextGroup;
+ break;
+ }
+ }
+
+ if (!baseGroup) { // 7.2.1
+ error(QString::fromLatin1("redefined attribute group %1 has no occurrence in included schema").arg(formatKeyword(group->displayName(m_namePool))));
+ return;
+ }
+
+ if (sameNameCounter == 1) {
+
+ // first set an anonymous name to the attribute group from the included
+ // schema
+ baseGroup->setName(m_parserContext->createAnonymousName(m_namePool->stringForNamespace(baseGroup->name(m_namePool).namespaceURI())));
+
+ // iterate over the attribute uses of the redefined attribute group
+ // and replace the self-reference with the attribute group from the
+ // included schema
+ for (int j = 0; j < group->attributeUses().count(); ++j) {
+ const XsdAttributeUse::Ptr attributeUse(group->attributeUses().at(j));
+ if (attributeUse->isReference()) {
+ const XsdAttributeReference::Ptr reference(attributeUse);
+ if (reference->type() == XsdAttributeReference::AttributeGroup) {
+ if (group->name(m_namePool) == reference->referenceName()) {
+ reference->setReferenceName(baseGroup->name(m_namePool));
+ break;
+ }
+ }
+ }
+ }
+
+ // add both groups to the target schema
+ addAttributeGroup(baseGroup);
+ addAttributeGroup(group);
+
+ contextAttributeGroups.removeAll(baseGroup);
+ }
+
+ if (sameNameCounter == 0) { // 7.2
+
+ // we have to add them, otherwise it is not resolved and we can't validate it later
+ baseGroup->setName(m_parserContext->createAnonymousName(m_namePool->stringForNamespace(baseGroup->name(m_namePool).namespaceURI())));
+ addAttributeGroup(baseGroup);
+
+ m_schemaResolver->addRedefinedAttributeGroups(group, baseGroup);
+
+ // just add the redefined attribute group to the target schema...
+ addAttributeGroup(group);
+
+ // ... and forget about the one from the included schema
+ contextAttributeGroups.removeAll(baseGroup);
+ }
+ }
+
+ // add all remaining context complex types to the schema
+ for (int i = 0; i < contextComplexTypes.count(); ++i) {
+ addType(contextComplexTypes.at(i));
+ }
+
+ // add all remaining context element groups to the schema
+ for (int i = 0; i < contextGroups.count(); ++i) {
+ addElementGroup(contextGroups.at(i));
+ }
+
+ // add all remaining context attribute groups to the schema
+ for (int i = 0; i < contextAttributeGroups.count(); ++i) {
+ addAttributeGroup(contextAttributeGroups.at(i));
+ }
+
+ // copy all elements, attributes and notations
+ const XsdElement::List contextElements = redefinedContext->schema()->elements();
+ for (int i = 0; i < contextElements.count(); ++i) {
+ addElement(contextElements.at(i));
+ }
+
+ const XsdAttribute::List contextAttributes = redefinedContext->schema()->attributes();
+ for (int i = 0; i < contextAttributes.count(); ++i) {
+ addAttribute(contextAttributes.at(i));
+ }
+
+ const XsdNotation::List contextNotations = redefinedContext->schema()->notations();
+ for (int i = 0; i < contextNotations.count(); ++i) {
+ addNotation(contextNotations.at(i));
+ }
+
+ // push all data to resolve from the context resolver to our resolver
+ redefinedContext->resolver()->copyDataTo(m_parserContext->resolver());
+
+ tagValidator.finalize();
+}
+
+XsdAnnotation::Ptr XsdSchemaParser::parseAnnotation()
+{
+ const ElementNamespaceHandler namespaceHandler(XsdSchemaToken::Annotation, this);
+
+ validateElement(XsdTagScope::Annotation);
+
+ // parse attributes
+ validateIdAttribute("annotation");
+
+ TagValidationHandler tagValidator(XsdTagScope::Annotation, this, m_namePool);
+
+ const XsdAnnotation::Ptr annotation(new XsdAnnotation());
+
+ while (!atEnd()) {
+ readNext();
+
+ if (isEndElement())
+ break;
+
+ if (isStartElement()) {
+ const XsdSchemaToken::NodeName token = XsdSchemaToken::toToken(name());
+ const XsdSchemaToken::NodeName namespaceToken = XsdSchemaToken::toToken(namespaceUri());
+
+ tagValidator.validate(token);
+
+ if (isSchemaTag(XsdSchemaToken::Appinfo, token, namespaceToken)) {
+ const XsdApplicationInformation::Ptr info = parseAppInfo();
+ annotation->addApplicationInformation(info);
+ } else if (isSchemaTag(XsdSchemaToken::Documentation, token, namespaceToken)) {
+ const XsdDocumentation::Ptr documentation = parseDocumentation();
+ annotation->addDocumentation(documentation);
+ } else {
+ parseUnknown();
+ }
+ }
+ }
+
+ tagValidator.finalize();
+
+ return annotation;
+}
+
+XsdApplicationInformation::Ptr XsdSchemaParser::parseAppInfo()
+{
+ const ElementNamespaceHandler namespaceHandler(XsdSchemaToken::Appinfo, this);
+
+ validateElement(XsdTagScope::AppInfo);
+
+ const XsdApplicationInformation::Ptr info(new XsdApplicationInformation());
+
+ // parse attributes
+ if (hasAttribute(QString::fromLatin1("source"))) {
+ const QString value = readAttribute(QString::fromLatin1("source"));
+
+ if (!isValidUri(value)) {
+ attributeContentError("source", "appinfo", value, BuiltinTypes::xsAnyURI);
+ return info;
+ }
+
+ if (!value.isEmpty()) {
+ const AnyURI::Ptr source = AnyURI::fromLexical(value);
+ info->setSource(source);
+ }
+ }
+
+ while (!atEnd()) { //EVAL: can be anything... what to do?
+ readNext();
+
+ if (isEndElement())
+ break;
+
+ if (isStartElement())
+ parseUnknownDocumentation();
+ }
+
+ return info;
+}
+
+XsdDocumentation::Ptr XsdSchemaParser::parseDocumentation()
+{
+ const ElementNamespaceHandler namespaceHandler(XsdSchemaToken::Documentation, this);
+
+ validateElement(XsdTagScope::Documentation);
+
+ const XsdDocumentation::Ptr documentation(new XsdDocumentation());
+
+ // parse attributes
+ if (hasAttribute(QString::fromLatin1("source"))) {
+ const QString value = readAttribute(QString::fromLatin1("source"));
+
+ if (!isValidUri(value)) {
+ attributeContentError("source", "documentation", value, BuiltinTypes::xsAnyURI);
+ return documentation;
+ }
+
+ if (!value.isEmpty()) {
+ const AnyURI::Ptr source = AnyURI::fromLexical(value);
+ documentation->setSource(source);
+ }
+ }
+
+ if (hasAttribute(CommonNamespaces::XML, QString::fromLatin1("lang"))) {
+ const QString value = readAttribute(QString::fromLatin1("lang"), CommonNamespaces::XML);
+
+ const QRegExp exp(QString::fromLatin1("[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*"));
+ if (!exp.exactMatch(value)) {
+ attributeContentError("xml:lang", "documentation", value);
+ return documentation;
+ }
+ }
+
+ while (!atEnd()) { //EVAL: can by any... what to do?
+ readNext();
+
+ if (isEndElement())
+ break;
+
+ if (isStartElement())
+ parseUnknownDocumentation();
+ }
+
+ return documentation;
+}
+
+void XsdSchemaParser::parseDefaultOpenContent()
+{
+ const ElementNamespaceHandler namespaceHandler(XsdSchemaToken::DefaultOpenContent, this);
+
+ validateElement(XsdTagScope::DefaultOpenContent);
+
+ m_defaultOpenContent = XsdComplexType::OpenContent::Ptr(new XsdComplexType::OpenContent());
+
+ if (hasAttribute(QString::fromLatin1("appliesToEmpty"))) {
+ const QString value = readAttribute(QString::fromLatin1("appliesToEmpty"));
+ const Boolean::Ptr appliesToEmpty = Boolean::fromLexical(value);
+ if (appliesToEmpty->hasError()) {
+ attributeContentError("appliesToEmpty", "defaultOpenContent", value, BuiltinTypes::xsBoolean);
+ return;
+ }
+
+ m_defaultOpenContentAppliesToEmpty = appliesToEmpty->as<Boolean>()->value();
+ } else {
+ m_defaultOpenContentAppliesToEmpty = false;
+ }
+
+ if (hasAttribute(QString::fromLatin1("mode"))) {
+ const QString mode = readAttribute(QString::fromLatin1("mode"));
+
+ if (mode == QString::fromLatin1("interleave")) {
+ m_defaultOpenContent->setMode(XsdComplexType::OpenContent::Interleave);
+ } else if (mode == QString::fromLatin1("suffix")) {
+ m_defaultOpenContent->setMode(XsdComplexType::OpenContent::Suffix);
+ } else {
+ attributeContentError("mode", "defaultOpenContent", mode);
+ return;
+ }
+ } else {
+ m_defaultOpenContent->setMode(XsdComplexType::OpenContent::Interleave);
+ }
+
+ validateIdAttribute("defaultOpenContent");
+
+ TagValidationHandler tagValidator(XsdTagScope::DefaultOpenContent, this, m_namePool);
+
+ while (!atEnd()) {
+ readNext();
+
+ if (isEndElement())
+ break;
+
+ if (isStartElement()) {
+ const XsdSchemaToken::NodeName token = XsdSchemaToken::toToken(name());
+ const XsdSchemaToken::NodeName namespaceToken = XsdSchemaToken::toToken(namespaceUri());
+
+ tagValidator.validate(token);
+
+ if (isSchemaTag(XsdSchemaToken::Annotation, token, namespaceToken)) {
+ const XsdAnnotation::Ptr annotation = parseAnnotation();
+ m_defaultOpenContent->addAnnotation(annotation);
+ } else if (isSchemaTag(XsdSchemaToken::Any, token, namespaceToken)) {
+ const XsdParticle::Ptr particle;
+ const XsdWildcard::Ptr wildcard = parseAny(particle);
+ m_defaultOpenContent->setWildcard(wildcard);
+ } else {
+ parseUnknown();
+ }
+ }
+ }
+
+ tagValidator.finalize();
+}
+
+XsdSimpleType::Ptr XsdSchemaParser::parseGlobalSimpleType()
+{
+ const ElementNamespaceHandler namespaceHandler(XsdSchemaToken::SimpleType, this);
+
+ validateElement(XsdTagScope::GlobalSimpleType);
+
+ const XsdSimpleType::Ptr simpleType(new XsdSimpleType());
+ simpleType->setCategory(XsdSimpleType::SimpleTypeAtomic); // just to make sure it's not invalid
+
+ // parse attributes
+ const SchemaType::DerivationConstraints allowedConstraints(SchemaType::ExtensionConstraint | SchemaType::RestrictionConstraint | SchemaType::ListConstraint | SchemaType::UnionConstraint);
+ simpleType->setDerivationConstraints(readDerivationConstraintAttribute(allowedConstraints, "simpleType"));
+
+ const QXmlName objectName = m_namePool->allocateQName(m_targetNamespace, readNameAttribute("simpleType"));
+ simpleType->setName(objectName);
+
+ validateIdAttribute("simpleType");
+
+ TagValidationHandler tagValidator(XsdTagScope::GlobalSimpleType, this, m_namePool);
+
+ while (!atEnd()) {
+ readNext();
+
+ if (isEndElement())
+ break;
+
+ if (isStartElement()) {
+ const XsdSchemaToken::NodeName token = XsdSchemaToken::toToken(name());
+ const XsdSchemaToken::NodeName namespaceToken = XsdSchemaToken::toToken(namespaceUri());
+
+ tagValidator.validate(token);
+
+ if (isSchemaTag(XsdSchemaToken::Annotation, token, namespaceToken)) {
+ const XsdAnnotation::Ptr annotation = parseAnnotation();
+ simpleType->addAnnotation(annotation);
+ } else if (isSchemaTag(XsdSchemaToken::Restriction, token, namespaceToken)) {
+ parseSimpleRestriction(simpleType);
+ } else if (isSchemaTag(XsdSchemaToken::List, token, namespaceToken)) {
+ parseList(simpleType);
+ } else if (isSchemaTag(XsdSchemaToken::Union, token, namespaceToken)) {
+ parseUnion(simpleType);
+ } else {
+ parseUnknown();
+ }
+ }
+ }
+
+ tagValidator.finalize();
+
+ return simpleType;
+}
+
+XsdSimpleType::Ptr XsdSchemaParser::parseLocalSimpleType()
+{
+ const ElementNamespaceHandler namespaceHandler(XsdSchemaToken::SimpleType, this);
+
+ validateElement(XsdTagScope::LocalSimpleType);
+
+ const XsdSimpleType::Ptr simpleType(new XsdSimpleType());
+ simpleType->setCategory(XsdSimpleType::SimpleTypeAtomic); // just to make sure it's not invalid
+ simpleType->setName(m_parserContext->createAnonymousName(m_targetNamespace));
+
+ validateIdAttribute("simpleType");
+
+ TagValidationHandler tagValidator(XsdTagScope::LocalSimpleType, this, m_namePool);
+
+ while (!atEnd()) {
+ readNext();
+
+ if (isEndElement())
+ break;
+
+ if (isStartElement()) {
+ const XsdSchemaToken::NodeName token = XsdSchemaToken::toToken(name());
+ const XsdSchemaToken::NodeName namespaceToken = XsdSchemaToken::toToken(namespaceUri());
+
+ tagValidator.validate(token);
+
+ if (isSchemaTag(XsdSchemaToken::Annotation, token, namespaceToken)) {
+ const XsdAnnotation::Ptr annotation = parseAnnotation();
+ simpleType->addAnnotation(annotation);
+ } else if (isSchemaTag(XsdSchemaToken::Restriction, token, namespaceToken)) {
+ parseSimpleRestriction(simpleType);
+ } else if (isSchemaTag(XsdSchemaToken::List, token, namespaceToken)) {
+ parseList(simpleType);
+ } else if (isSchemaTag(XsdSchemaToken::Union, token, namespaceToken)) {
+ parseUnion(simpleType);
+ } else {
+ parseUnknown();
+ }
+ }
+ }
+
+ tagValidator.finalize();
+
+ return simpleType;
+}
+
+void XsdSchemaParser::parseSimpleRestriction(const XsdSimpleType::Ptr &ptr)
+{
+ const ElementNamespaceHandler namespaceHandler(XsdSchemaToken::Restriction, this);
+
+ validateElement(XsdTagScope::SimpleRestriction);
+
+ ptr->setDerivationMethod(XsdSimpleType::DerivationRestriction);
+
+ // The base attribute and simpleType member are mutually exclusive,
+ // so we keep track of that
+ bool hasBaseAttribute = false;
+ bool hasBaseTypeSpecified = false;
+
+ QXmlName baseName;
+ if (hasAttribute(QString::fromLatin1("base"))) {
+ const QString base = readQNameAttribute(QString::fromLatin1("base"), "restriction");
+ convertName(base, NamespaceSupport::ElementName, baseName); // translate qualified name into QXmlName
+ m_schemaResolver->addSimpleRestrictionBase(ptr, baseName, currentSourceLocation()); // add to resolver
+
+ hasBaseAttribute = true;
+ hasBaseTypeSpecified = true;
+ }
+ validateIdAttribute("restriction");
+
+ XsdFacet::Hash facets;
+ QList<XsdFacet::Ptr> patternFacets;
+ QList<XsdFacet::Ptr> enumerationFacets;
+ QList<XsdFacet::Ptr> assertionFacets;
+
+ TagValidationHandler tagValidator(XsdTagScope::SimpleRestriction, this, m_namePool);
+
+ while (!atEnd()) {
+ readNext();
+
+ if (isEndElement())
+ break;
+
+ if (isStartElement()) {
+ const XsdSchemaToken::NodeName token = XsdSchemaToken::toToken(name());
+ const XsdSchemaToken::NodeName namespaceToken = XsdSchemaToken::toToken(namespaceUri());
+
+ tagValidator.validate(token);
+
+ if (isSchemaTag(XsdSchemaToken::Annotation, token, namespaceToken)) {
+ const XsdAnnotation::Ptr annotation = parseAnnotation();
+ ptr->addAnnotation(annotation);
+ } else if (isSchemaTag(XsdSchemaToken::SimpleType, token, namespaceToken)) {
+ if (hasBaseAttribute) {
+ error(QtXmlPatterns::tr("%1 element is not allowed inside %2 element if %3 attribute is present")
+ .arg(formatElement("simpleType"))
+ .arg(formatElement("restriction"))
+ .arg(formatAttribute("base")));
+ return;
+ }
+
+ const XsdSimpleType::Ptr type = parseLocalSimpleType();
+ type->setContext(ptr);
+ ptr->setWxsSuperType(type);
+ ptr->setCategory(type->category());
+ hasBaseTypeSpecified = true;
+
+ // add it to list of anonymous types as well
+ addAnonymousType(type);
+ } else if (isSchemaTag(XsdSchemaToken::MinExclusive, token, namespaceToken)) {
+ const XsdFacet::Ptr facet = parseMinExclusiveFacet();
+ addFacet(facet, facets, ptr);
+ } else if (isSchemaTag(XsdSchemaToken::MinInclusive, token, namespaceToken)) {
+ const XsdFacet::Ptr facet = parseMinInclusiveFacet();
+ addFacet(facet, facets, ptr);
+ } else if (isSchemaTag(XsdSchemaToken::MaxExclusive, token, namespaceToken)) {
+ const XsdFacet::Ptr facet = parseMaxExclusiveFacet();
+ addFacet(facet, facets, ptr);
+ } else if (isSchemaTag(XsdSchemaToken::MaxInclusive, token, namespaceToken)) {
+ const XsdFacet::Ptr facet = parseMaxInclusiveFacet();
+ addFacet(facet, facets, ptr);
+ } else if (isSchemaTag(XsdSchemaToken::TotalDigits, token, namespaceToken)) {
+ const XsdFacet::Ptr facet = parseTotalDigitsFacet();
+ addFacet(facet, facets, ptr);
+ } else if (isSchemaTag(XsdSchemaToken::FractionDigits, token, namespaceToken)) {
+ const XsdFacet::Ptr facet = parseFractionDigitsFacet();
+ addFacet(facet, facets, ptr);
+ } else if (isSchemaTag(XsdSchemaToken::Length, token, namespaceToken)) {
+ const XsdFacet::Ptr facet = parseLengthFacet();
+ addFacet(facet, facets, ptr);
+ } else if (isSchemaTag(XsdSchemaToken::MinLength, token, namespaceToken)) {
+ const XsdFacet::Ptr facet = parseMinLengthFacet();
+ addFacet(facet, facets, ptr);
+ } else if (isSchemaTag(XsdSchemaToken::MaxLength, token, namespaceToken)) {
+ const XsdFacet::Ptr facet = parseMaxLengthFacet();
+ addFacet(facet, facets, ptr);
+ } else if (isSchemaTag(XsdSchemaToken::Enumeration, token, namespaceToken)) {
+ const XsdFacet::Ptr facet = parseEnumerationFacet();
+ enumerationFacets.append(facet);
+ } else if (isSchemaTag(XsdSchemaToken::WhiteSpace, token, namespaceToken)) {
+ const XsdFacet::Ptr facet = parseWhiteSpaceFacet();
+ addFacet(facet, facets, ptr);
+ } else if (isSchemaTag(XsdSchemaToken::Pattern, token, namespaceToken)) {
+ const XsdFacet::Ptr facet = parsePatternFacet();
+ patternFacets.append(facet);
+ } else if (isSchemaTag(XsdSchemaToken::Assertion, token, namespaceToken)) {
+ const XsdFacet::Ptr facet = parseAssertionFacet();
+ assertionFacets.append(facet);
+ } else {
+ parseUnknown();
+ }
+ }
+ }
+
+ if (!hasBaseTypeSpecified) {
+ error(QtXmlPatterns::tr("%1 element has neither %2 attribute nor %3 child element")
+ .arg(formatElement("restriction"))
+ .arg(formatAttribute("base"))
+ .arg(formatElement("simpleType")));
+ return;
+ }
+
+ // merge all pattern facets into one multi value facet
+ if (!patternFacets.isEmpty()) {
+ const XsdFacet::Ptr patternFacet(new XsdFacet());
+ patternFacet->setType(XsdFacet::Pattern);
+
+ AtomicValue::List multiValue;
+ for (int i = 0; i < patternFacets.count(); ++i)
+ multiValue << patternFacets.at(i)->multiValue();
+
+ patternFacet->setMultiValue(multiValue);
+ addFacet(patternFacet, facets, ptr);
+ }
+
+ // merge all enumeration facets into one multi value facet
+ if (!enumerationFacets.isEmpty()) {
+ const XsdFacet::Ptr enumerationFacet(new XsdFacet());
+ enumerationFacet->setType(XsdFacet::Enumeration);
+
+ AtomicValue::List multiValue;
+ for (int i = 0; i < enumerationFacets.count(); ++i)
+ multiValue << enumerationFacets.at(i)->multiValue();
+
+ enumerationFacet->setMultiValue(multiValue);
+ addFacet(enumerationFacet, facets, ptr);
+ }
+
+ // merge all assertion facets into one facet
+ if (!assertionFacets.isEmpty()) {
+ const XsdFacet::Ptr assertionFacet(new XsdFacet());
+ assertionFacet->setType(XsdFacet::Assertion);
+
+ XsdAssertion::List assertions;
+ for (int i = 0; i < assertionFacets.count(); ++i)
+ assertions << assertionFacets.at(i)->assertions();
+
+ assertionFacet->setAssertions(assertions);
+ addFacet(assertionFacet, facets, ptr);
+ }
+
+ ptr->setFacets(facets);
+
+ tagValidator.finalize();
+}
+
+void XsdSchemaParser::parseList(const XsdSimpleType::Ptr &ptr)
+{
+ const ElementNamespaceHandler namespaceHandler(XsdSchemaToken::List, this);
+
+ validateElement(XsdTagScope::List);
+
+ ptr->setCategory(XsdSimpleType::SimpleTypeList);
+ ptr->setDerivationMethod(XsdSimpleType::DerivationList);
+ ptr->setWxsSuperType(BuiltinTypes::xsAnySimpleType);
+
+ // The itemType attribute and simpleType member are mutually exclusive,
+ // so we keep track of that
+ bool hasItemTypeAttribute = false;
+ bool hasItemTypeSpecified = false;
+
+ if (hasAttribute(QString::fromLatin1("itemType"))) {
+ const QString itemType = readQNameAttribute(QString::fromLatin1("itemType"), "list");
+ QXmlName typeName;
+ convertName(itemType, NamespaceSupport::ElementName, typeName); // translate qualified name into QXmlName
+ m_schemaResolver->addSimpleListType(ptr, typeName, currentSourceLocation()); // add to resolver
+
+ hasItemTypeAttribute = true;
+ hasItemTypeSpecified = true;
+ }
+
+ validateIdAttribute("list");
+
+ TagValidationHandler tagValidator(XsdTagScope::List, this, m_namePool);
+
+ while (!atEnd()) {
+ readNext();
+
+ if (isEndElement())
+ break;
+
+ if (isStartElement()) {
+ const XsdSchemaToken::NodeName token = XsdSchemaToken::toToken(name());
+ const XsdSchemaToken::NodeName namespaceToken = XsdSchemaToken::toToken(namespaceUri());
+
+ tagValidator.validate(token);
+
+ if (isSchemaTag(XsdSchemaToken::Annotation, token, namespaceToken)) {
+ const XsdAnnotation::Ptr annotation = parseAnnotation();
+ ptr->addAnnotation(annotation);
+ } else if (isSchemaTag(XsdSchemaToken::SimpleType, token, namespaceToken)) {
+ if (hasItemTypeAttribute) {
+ error(QtXmlPatterns::tr("%1 element is not allowed inside %2 element if %3 attribute is present")
+ .arg(formatElement("simpleType"))
+ .arg(formatElement("list"))
+ .arg(formatAttribute("itemType")));
+ return;
+ }
+
+ const XsdSimpleType::Ptr type = parseLocalSimpleType();
+ type->setContext(ptr);
+ ptr->setItemType(type);
+
+ hasItemTypeSpecified = true;
+
+ // add it to list of anonymous types as well
+ addAnonymousType(type);
+ } else {
+ parseUnknown();
+ }
+ }
+ }
+
+ if (!hasItemTypeSpecified) {
+ error(QtXmlPatterns::tr("%1 element has neither %2 attribute nor %3 child element")
+ .arg(formatElement("list"))
+ .arg(formatAttribute("itemType"))
+ .arg(formatElement("simpleType")));
+ return;
+ }
+
+ tagValidator.finalize();
+
+ // add the default white space facet that every simple type with list derivation has
+ const XsdFacet::Ptr defaultFacet(new XsdFacet());
+ defaultFacet->setType(XsdFacet::WhiteSpace);
+ defaultFacet->setFixed(true);
+ defaultFacet->setValue(DerivedString<TypeString>::fromLexical(m_namePool, XsdSchemaToken::toString(XsdSchemaToken::Collapse)));
+ XsdFacet::Hash facets;
+ facets.insert(defaultFacet->type(), defaultFacet);
+ ptr->setFacets(facets);
+}
+
+void XsdSchemaParser::parseUnion(const XsdSimpleType::Ptr &ptr)
+{
+ const ElementNamespaceHandler namespaceHandler(XsdSchemaToken::Union, this);
+
+ validateElement(XsdTagScope::Union);
+
+ ptr->setCategory(XsdSimpleType::SimpleTypeUnion);
+ ptr->setDerivationMethod(XsdSimpleType::DerivationUnion);
+ ptr->setWxsSuperType(BuiltinTypes::xsAnySimpleType);
+
+ // The memberTypes attribute is not allowed to be empty,
+ // so we keep track of that
+ bool hasMemberTypesAttribute = false;
+ bool hasMemberTypesSpecified = false;
+
+ if (hasAttribute(QString::fromLatin1("memberTypes"))) {
+ hasMemberTypesAttribute = true;
+
+ const QStringList memberTypes = readAttribute(QString::fromLatin1("memberTypes")).split(QLatin1Char(' '), QString::SkipEmptyParts);
+ QList<QXmlName> typeNames;
+
+ for (int i = 0; i < memberTypes.count(); ++i) {
+ QXmlName typeName;
+ convertName(memberTypes.at(i), NamespaceSupport::ElementName, typeName); // translate qualified name into QXmlName
+ typeNames.append(typeName);
+ }
+
+ if (!typeNames.isEmpty()) {
+ m_schemaResolver->addSimpleUnionTypes(ptr, typeNames, currentSourceLocation()); // add to resolver
+ hasMemberTypesSpecified = true;
+ }
+ }
+
+ validateIdAttribute("union");
+
+ AnySimpleType::List memberTypes;
+
+ TagValidationHandler tagValidator(XsdTagScope::Union, this, m_namePool);
+
+ while (!atEnd()) {
+ readNext();
+
+ if (isEndElement())
+ break;
+
+ if (isStartElement()) {
+ const XsdSchemaToken::NodeName token = XsdSchemaToken::toToken(name());
+ const XsdSchemaToken::NodeName namespaceToken = XsdSchemaToken::toToken(namespaceUri());
+
+ tagValidator.validate(token);
+
+ if (isSchemaTag(XsdSchemaToken::Annotation, token, namespaceToken)) {
+ const XsdAnnotation::Ptr annotation = parseAnnotation();
+ ptr->addAnnotation(annotation);
+ } else if (isSchemaTag(XsdSchemaToken::SimpleType, token, namespaceToken)) {
+ const XsdSimpleType::Ptr type = parseLocalSimpleType();
+ type->setContext(ptr);
+ memberTypes.append(type);
+
+ // add it to list of anonymous types as well
+ addAnonymousType(type);
+ } else {
+ parseUnknown();
+ }
+ }
+ }
+
+ if (!memberTypes.isEmpty()) {
+ ptr->setMemberTypes(memberTypes);
+ hasMemberTypesSpecified = true;
+ }
+
+ if (!hasMemberTypesSpecified) {
+ error(QtXmlPatterns::tr("%1 element has neither %2 attribute nor %3 child element")
+ .arg(formatElement("union"))
+ .arg(formatAttribute("memberTypes"))
+ .arg(formatElement("simpleType")));
+ return;
+ }
+
+ tagValidator.finalize();
+}
+
+XsdFacet::Ptr XsdSchemaParser::parseMinExclusiveFacet()
+{
+ const ElementNamespaceHandler namespaceHandler(XsdSchemaToken::MinExclusive, this);
+
+ validateElement(XsdTagScope::MinExclusiveFacet);
+
+ const XsdFacet::Ptr facet = XsdFacet::Ptr(new XsdFacet());
+ facet->setType(XsdFacet::MinimumExclusive);
+
+ // parse attributes
+ if (hasAttribute(QString::fromLatin1("fixed"))) {
+ const QString value = readAttribute(QString::fromLatin1("fixed"));
+ const Boolean::Ptr fixed = Boolean::fromLexical(value);
+ if (fixed->hasError()) {
+ attributeContentError("fixed", "minExclusive", value, BuiltinTypes::xsBoolean);
+ return facet;
+ }
+
+ facet->setFixed(fixed->as<Boolean>()->value());
+ } else {
+ facet->setFixed(false); // the default value
+ }
+
+ // as minExclusive can have a value of type anySimpleType, we just read
+ // the string here and store it for later intepretation
+ const QString value = readAttribute(QString::fromLatin1("value"));
+ DerivedString<TypeString>::Ptr string = DerivedString<TypeString>::fromLexical(m_namePool, value);
+ if (string->hasError()) {
+ attributeContentError("value", "minExclusive", value, BuiltinTypes::xsAnySimpleType);
+ return facet;
+ } else {
+ facet->setValue(string);
+ }
+
+ validateIdAttribute("minExclusive");
+
+ TagValidationHandler tagValidator(XsdTagScope::MinExclusiveFacet, this, m_namePool);
+
+ while (!atEnd()) {
+ readNext();
+
+ if (isEndElement())
+ break;
+
+ if (isStartElement()) {
+ const XsdSchemaToken::NodeName token = XsdSchemaToken::toToken(name());
+ const XsdSchemaToken::NodeName namespaceToken = XsdSchemaToken::toToken(namespaceUri());
+
+ tagValidator.validate(token);
+
+ if (isSchemaTag(XsdSchemaToken::Annotation, token, namespaceToken)) {
+ const XsdAnnotation::Ptr annotation = parseAnnotation();
+ facet->addAnnotation(annotation);
+ } else {
+ parseUnknown();
+ }
+ }
+ }
+
+ tagValidator.finalize();
+
+ return facet;
+}
+
+XsdFacet::Ptr XsdSchemaParser::parseMinInclusiveFacet()
+{
+ const ElementNamespaceHandler namespaceHandler(XsdSchemaToken::MinInclusive, this);
+
+ validateElement(XsdTagScope::MinInclusiveFacet);
+
+ const XsdFacet::Ptr facet = XsdFacet::Ptr(new XsdFacet());
+ facet->setType(XsdFacet::MinimumInclusive);
+
+ // parse attributes
+ if (hasAttribute(QString::fromLatin1("fixed"))) {
+ const QString value = readAttribute(QString::fromLatin1("fixed"));
+ const Boolean::Ptr fixed = Boolean::fromLexical(value);
+ if (fixed->hasError()) {
+ attributeContentError("fixed", "minInclusive", value, BuiltinTypes::xsBoolean);
+ return facet;
+ }
+
+ facet->setFixed(fixed->as<Boolean>()->value());
+ } else {
+ facet->setFixed(false); // the default value
+ }
+
+ // as minInclusive can have a value of type anySimpleType, we just read
+ // the string here and store it for later intepretation
+ const QString value = readAttribute(QString::fromLatin1("value"));
+ DerivedString<TypeString>::Ptr string = DerivedString<TypeString>::fromLexical(m_namePool, value);
+ if (string->hasError()) {
+ attributeContentError("value", "minInclusive", value, BuiltinTypes::xsAnySimpleType);
+ return facet;
+ } else {
+ facet->setValue(string);
+ }
+
+ validateIdAttribute("minInclusive");
+
+ TagValidationHandler tagValidator(XsdTagScope::MinInclusiveFacet, this, m_namePool);
+
+ while (!atEnd()) {
+ readNext();
+
+ if (isEndElement())
+ break;
+
+ if (isStartElement()) {
+ const XsdSchemaToken::NodeName token = XsdSchemaToken::toToken(name());
+ const XsdSchemaToken::NodeName namespaceToken = XsdSchemaToken::toToken(namespaceUri());
+
+ tagValidator.validate(token);
+
+ if (isSchemaTag(XsdSchemaToken::Annotation, token, namespaceToken)) {
+ const XsdAnnotation::Ptr annotation = parseAnnotation();
+ facet->addAnnotation(annotation);
+ } else {
+ parseUnknown();
+ }
+ }
+ }
+
+ tagValidator.finalize();
+
+ return facet;
+}
+
+XsdFacet::Ptr XsdSchemaParser::parseMaxExclusiveFacet()
+{
+ const ElementNamespaceHandler namespaceHandler(XsdSchemaToken::MaxExclusive, this);
+
+ validateElement(XsdTagScope::MaxExclusiveFacet);
+
+ const XsdFacet::Ptr facet = XsdFacet::Ptr(new XsdFacet());
+ facet->setType(XsdFacet::MaximumExclusive);
+
+ // parse attributes
+ if (hasAttribute(QString::fromLatin1("fixed"))) {
+ const QString value = readAttribute(QString::fromLatin1("fixed"));
+ const Boolean::Ptr fixed = Boolean::fromLexical(value);
+ if (fixed->hasError()) {
+ attributeContentError("fixed", "maxExclusive", value, BuiltinTypes::xsBoolean);
+ return facet;
+ }
+
+ facet->setFixed(fixed->as<Boolean>()->value());
+ } else {
+ facet->setFixed(false); // the default value
+ }
+
+ // as maxExclusive can have a value of type anySimpleType, we just read
+ // the string here and store it for later intepretation
+ const QString value = readAttribute(QString::fromLatin1("value"));
+ DerivedString<TypeString>::Ptr string = DerivedString<TypeString>::fromLexical(m_namePool, value);
+ if (string->hasError()) {
+ attributeContentError("value", "maxExclusive", value, BuiltinTypes::xsAnySimpleType);
+ return facet;
+ } else {
+ facet->setValue(string);
+ }
+
+ validateIdAttribute("maxExclusive");
+
+ TagValidationHandler tagValidator(XsdTagScope::MaxExclusiveFacet, this, m_namePool);
+
+ while (!atEnd()) {
+ readNext();
+
+ if (isEndElement())
+ break;
+
+ if (isStartElement()) {
+ const XsdSchemaToken::NodeName token = XsdSchemaToken::toToken(name());
+ const XsdSchemaToken::NodeName namespaceToken = XsdSchemaToken::toToken(namespaceUri());
+
+ tagValidator.validate(token);
+
+ if (isSchemaTag(XsdSchemaToken::Annotation, token, namespaceToken)) {
+ const XsdAnnotation::Ptr annotation = parseAnnotation();
+ facet->addAnnotation(annotation);
+ } else {
+ parseUnknown();
+ }
+ }
+ }
+
+ tagValidator.finalize();
+
+ return facet;
+}
+
+XsdFacet::Ptr XsdSchemaParser::parseMaxInclusiveFacet()
+{
+ const ElementNamespaceHandler namespaceHandler(XsdSchemaToken::MaxInclusive, this);
+
+ validateElement(XsdTagScope::MaxInclusiveFacet);
+
+ const XsdFacet::Ptr facet = XsdFacet::Ptr(new XsdFacet());
+ facet->setType(XsdFacet::MaximumInclusive);
+
+ // parse attributes
+ if (hasAttribute(QString::fromLatin1("fixed"))) {
+ const QString value = readAttribute(QString::fromLatin1("fixed"));
+ const Boolean::Ptr fixed = Boolean::fromLexical(value);
+ if (fixed->hasError()) {
+ attributeContentError("fixed", "maxInclusive", value, BuiltinTypes::xsBoolean);
+ return facet;
+ }
+
+ facet->setFixed(fixed->as<Boolean>()->value());
+ } else {
+ facet->setFixed(false); // the default value
+ }
+
+ // as maxInclusive can have a value of type anySimpleType, we just read
+ // the string here and store it for later intepretation
+ const QString value = readAttribute(QString::fromLatin1("value"));
+ DerivedString<TypeString>::Ptr string = DerivedString<TypeString>::fromLexical(m_namePool, value);
+ if (string->hasError()) {
+ attributeContentError("value", "maxInclusive", value, BuiltinTypes::xsAnySimpleType);
+ return facet;
+ } else {
+ facet->setValue(string);
+ }
+
+ validateIdAttribute("maxInclusive");
+
+ TagValidationHandler tagValidator(XsdTagScope::MaxInclusiveFacet, this, m_namePool);
+
+ while (!atEnd()) {
+ readNext();
+
+ if (isEndElement())
+ break;
+
+ if (isStartElement()) {
+ const XsdSchemaToken::NodeName token = XsdSchemaToken::toToken(name());
+ const XsdSchemaToken::NodeName namespaceToken = XsdSchemaToken::toToken(namespaceUri());
+
+ tagValidator.validate(token);
+
+ if (isSchemaTag(XsdSchemaToken::Annotation, token, namespaceToken)) {
+ const XsdAnnotation::Ptr annotation = parseAnnotation();
+ facet->addAnnotation(annotation);
+ } else {
+ parseUnknown();
+ }
+ }
+ }
+
+ tagValidator.finalize();
+
+ return facet;
+}
+
+XsdFacet::Ptr XsdSchemaParser::parseTotalDigitsFacet()
+{
+ const ElementNamespaceHandler namespaceHandler(XsdSchemaToken::TotalDigits, this);
+
+ validateElement(XsdTagScope::TotalDigitsFacet);
+
+ const XsdFacet::Ptr facet = XsdFacet::Ptr(new XsdFacet());
+ facet->setType(XsdFacet::TotalDigits);
+
+ // parse attributes
+ if (hasAttribute(QString::fromLatin1("fixed"))) {
+ const QString value = readAttribute(QString::fromLatin1("fixed"));
+ const Boolean::Ptr fixed = Boolean::fromLexical(value);
+ if (fixed->hasError()) {
+ attributeContentError("fixed", "totalDigits", value, BuiltinTypes::xsBoolean);
+ return facet;
+ }
+
+ facet->setFixed(fixed->as<Boolean>()->value());
+ } else {
+ facet->setFixed(false); // the default value
+ }
+
+ const QString value = readAttribute(QString::fromLatin1("value"));
+ DerivedInteger<TypePositiveInteger>::Ptr integer = DerivedInteger<TypePositiveInteger>::fromLexical(m_namePool, value);
+ if (integer->hasError()) {
+ attributeContentError("value", "totalDigits", value, BuiltinTypes::xsPositiveInteger);
+ return facet;
+ } else {
+ facet->setValue(integer);
+ }
+
+ validateIdAttribute("totalDigits");
+
+ TagValidationHandler tagValidator(XsdTagScope::TotalDigitsFacet, this, m_namePool);
+
+ while (!atEnd()) {
+ readNext();
+
+ if (isEndElement())
+ break;
+
+ if (isStartElement()) {
+ const XsdSchemaToken::NodeName token = XsdSchemaToken::toToken(name());
+ const XsdSchemaToken::NodeName namespaceToken = XsdSchemaToken::toToken(namespaceUri());
+
+ tagValidator.validate(token);
+
+ if (isSchemaTag(XsdSchemaToken::Annotation, token, namespaceToken)) {
+ const XsdAnnotation::Ptr annotation = parseAnnotation();
+ facet->addAnnotation(annotation);
+ } else {
+ parseUnknown();
+ }
+ }
+ }
+
+ tagValidator.finalize();
+
+ return facet;
+}
+
+XsdFacet::Ptr XsdSchemaParser::parseFractionDigitsFacet()
+{
+ const ElementNamespaceHandler namespaceHandler(XsdSchemaToken::FractionDigits, this);
+
+ validateElement(XsdTagScope::FractionDigitsFacet);
+
+ const XsdFacet::Ptr facet = XsdFacet::Ptr(new XsdFacet());
+ facet->setType(XsdFacet::FractionDigits);
+
+ // parse attributes
+ if (hasAttribute(QString::fromLatin1("fixed"))) {
+ const QString value = readAttribute(QString::fromLatin1("fixed"));
+ const Boolean::Ptr fixed = Boolean::fromLexical(value);
+ if (fixed->hasError()) {
+ attributeContentError("fixed", "fractionDigits", value, BuiltinTypes::xsBoolean);
+ return facet;
+ }
+
+ facet->setFixed(fixed->as<Boolean>()->value());
+ } else {
+ facet->setFixed(false); // the default value
+ }
+
+ const QString value = readAttribute(QString::fromLatin1("value"));
+ DerivedInteger<TypeNonNegativeInteger>::Ptr integer = DerivedInteger<TypeNonNegativeInteger>::fromLexical(m_namePool, value);
+ if (integer->hasError()) {
+ attributeContentError("value", "fractionDigits", value, BuiltinTypes::xsNonNegativeInteger);
+ return facet;
+ } else {
+ facet->setValue(integer);
+ }
+
+ validateIdAttribute("fractionDigits");
+
+ TagValidationHandler tagValidator(XsdTagScope::FractionDigitsFacet, this, m_namePool);
+
+ while (!atEnd()) {
+ readNext();
+
+ if (isEndElement())
+ break;
+
+ if (isStartElement()) {
+ const XsdSchemaToken::NodeName token = XsdSchemaToken::toToken(name());
+ const XsdSchemaToken::NodeName namespaceToken = XsdSchemaToken::toToken(namespaceUri());
+
+ tagValidator.validate(token);
+
+ if (isSchemaTag(XsdSchemaToken::Annotation, token, namespaceToken)) {
+ const XsdAnnotation::Ptr annotation = parseAnnotation();
+ facet->addAnnotation(annotation);
+ } else {
+ parseUnknown();
+ }
+ }
+ }
+
+ tagValidator.finalize();
+
+ return facet;
+}
+
+XsdFacet::Ptr XsdSchemaParser::parseLengthFacet()
+{
+ const ElementNamespaceHandler namespaceHandler(XsdSchemaToken::Length, this);
+
+ validateElement(XsdTagScope::LengthFacet);
+
+ const XsdFacet::Ptr facet = XsdFacet::Ptr(new XsdFacet());
+ facet->setType(XsdFacet::Length);
+
+ // parse attributes
+ if (hasAttribute(QString::fromLatin1("fixed"))) {
+ const QString value = readAttribute(QString::fromLatin1("fixed"));
+ const Boolean::Ptr fixed = Boolean::fromLexical(value);
+ if (fixed->hasError()) {
+ attributeContentError("fixed", "length", value, BuiltinTypes::xsBoolean);
+ return facet;
+ }
+
+ facet->setFixed(fixed->as<Boolean>()->value());
+ } else {
+ facet->setFixed(false); // the default value
+ }
+
+ const QString value = readAttribute(QString::fromLatin1("value"));
+ DerivedInteger<TypeNonNegativeInteger>::Ptr integer = DerivedInteger<TypeNonNegativeInteger>::fromLexical(m_namePool, value);
+ if (integer->hasError()) {
+ attributeContentError("value", "length", value, BuiltinTypes::xsNonNegativeInteger);
+ return facet;
+ } else {
+ facet->setValue(integer);
+ }
+
+ validateIdAttribute("length");
+
+ TagValidationHandler tagValidator(XsdTagScope::LengthFacet, this, m_namePool);
+
+ while (!atEnd()) {
+ readNext();
+
+ if (isEndElement())
+ break;
+
+ if (isStartElement()) {
+ const XsdSchemaToken::NodeName token = XsdSchemaToken::toToken(name());
+ const XsdSchemaToken::NodeName namespaceToken = XsdSchemaToken::toToken(namespaceUri());
+
+ tagValidator.validate(token);
+
+ if (isSchemaTag(XsdSchemaToken::Annotation, token, namespaceToken)) {
+ const XsdAnnotation::Ptr annotation = parseAnnotation();
+ facet->addAnnotation(annotation);
+ } else {
+ parseUnknown();
+ }
+ }
+ }
+
+ tagValidator.finalize();
+
+ return facet;
+}
+
+XsdFacet::Ptr XsdSchemaParser::parseMinLengthFacet()
+{
+ const ElementNamespaceHandler namespaceHandler(XsdSchemaToken::MinLength, this);
+
+ validateElement(XsdTagScope::MinLengthFacet);
+
+ const XsdFacet::Ptr facet = XsdFacet::Ptr(new XsdFacet());
+ facet->setType(XsdFacet::MinimumLength);
+
+ // parse attributes
+ if (hasAttribute(QString::fromLatin1("fixed"))) {
+ const QString value = readAttribute(QString::fromLatin1("fixed"));
+ const Boolean::Ptr fixed = Boolean::fromLexical(value);
+ if (fixed->hasError()) {
+ attributeContentError("fixed", "minLength", value, BuiltinTypes::xsBoolean);
+ return facet;
+ }
+
+ facet->setFixed(fixed->as<Boolean>()->value());
+ } else {
+ facet->setFixed(false); // the default value
+ }
+
+ const QString value = readAttribute(QString::fromLatin1("value"));
+ DerivedInteger<TypeNonNegativeInteger>::Ptr integer = DerivedInteger<TypeNonNegativeInteger>::fromLexical(m_namePool, value);
+ if (integer->hasError()) {
+ attributeContentError("value", "minLength", value, BuiltinTypes::xsNonNegativeInteger);
+ return facet;
+ } else {
+ facet->setValue(integer);
+ }
+
+ validateIdAttribute("minLength");
+
+ TagValidationHandler tagValidator(XsdTagScope::MinLengthFacet, this, m_namePool);
+
+ while (!atEnd()) {
+ readNext();
+
+ if (isEndElement())
+ break;
+
+ if (isStartElement()) {
+ const XsdSchemaToken::NodeName token = XsdSchemaToken::toToken(name());
+ const XsdSchemaToken::NodeName namespaceToken = XsdSchemaToken::toToken(namespaceUri());
+
+ tagValidator.validate(token);
+
+ if (isSchemaTag(XsdSchemaToken::Annotation, token, namespaceToken)) {
+ const XsdAnnotation::Ptr annotation = parseAnnotation();
+ facet->addAnnotation(annotation);
+ } else {
+ parseUnknown();
+ }
+ }
+ }
+
+ tagValidator.finalize();
+
+ return facet;
+}
+
+XsdFacet::Ptr XsdSchemaParser::parseMaxLengthFacet()
+{
+ const ElementNamespaceHandler namespaceHandler(XsdSchemaToken::MaxLength, this);
+
+ validateElement(XsdTagScope::MaxLengthFacet);
+
+ const XsdFacet::Ptr facet = XsdFacet::Ptr(new XsdFacet());
+ facet->setType(XsdFacet::MaximumLength);
+
+ // parse attributes
+ if (hasAttribute(QString::fromLatin1("fixed"))) {
+ const QString value = readAttribute(QString::fromLatin1("fixed"));
+ const Boolean::Ptr fixed = Boolean::fromLexical(value);
+ if (fixed->hasError()) {
+ attributeContentError("fixed", "maxLength", value, BuiltinTypes::xsBoolean);
+ return facet;
+ }
+
+ facet->setFixed(fixed->as<Boolean>()->value());
+ } else {
+ facet->setFixed(false); // the default value
+ }
+
+ const QString value = readAttribute(QString::fromLatin1("value"));
+ DerivedInteger<TypeNonNegativeInteger>::Ptr integer = DerivedInteger<TypeNonNegativeInteger>::fromLexical(m_namePool, value);
+ if (integer->hasError()) {
+ attributeContentError("value", "maxLength", value, BuiltinTypes::xsNonNegativeInteger);
+ return facet;
+ } else {
+ facet->setValue(integer);
+ }
+
+ validateIdAttribute("maxLength");
+
+ TagValidationHandler tagValidator(XsdTagScope::MaxLengthFacet, this, m_namePool);
+
+ while (!atEnd()) {
+ readNext();
+
+ if (isEndElement())
+ break;
+
+ if (isStartElement()) {
+ const XsdSchemaToken::NodeName token = XsdSchemaToken::toToken(name());
+ const XsdSchemaToken::NodeName namespaceToken = XsdSchemaToken::toToken(namespaceUri());
+
+ tagValidator.validate(token);
+
+ if (isSchemaTag(XsdSchemaToken::Annotation, token, namespaceToken)) {
+ const XsdAnnotation::Ptr annotation = parseAnnotation();
+ facet->addAnnotation(annotation);
+ } else {
+ parseUnknown();
+ }
+ }
+ }
+
+ tagValidator.finalize();
+
+ return facet;
+}
+
+XsdFacet::Ptr XsdSchemaParser::parseEnumerationFacet()
+{
+ const ElementNamespaceHandler namespaceHandler(XsdSchemaToken::Enumeration, this);
+
+ validateElement(XsdTagScope::EnumerationFacet);
+
+ const XsdFacet::Ptr facet = XsdFacet::Ptr(new XsdFacet());
+ facet->setType(XsdFacet::Enumeration);
+
+ // parse attributes
+ facet->setFixed(false); // not defined in schema, but can't hurt
+
+ const QString value = readAttribute(QString::fromLatin1("value"));
+
+ // as enumeration can have a value of type anySimpleType, we just read
+ // the string here and store it for later intepretation
+ DerivedString<TypeString>::Ptr string = DerivedString<TypeString>::fromLexical(m_namePool, value);
+ if (string->hasError()) {
+ attributeContentError("value", "enumeration", value);
+ return facet;
+ } else {
+ AtomicValue::List multiValue;
+ multiValue << string;
+ facet->setMultiValue(multiValue);
+ }
+ m_schemaResolver->addEnumerationFacetValue(string, m_namespaceSupport);
+
+ validateIdAttribute("enumeration");
+
+ TagValidationHandler tagValidator(XsdTagScope::EnumerationFacet, this, m_namePool);
+
+ while (!atEnd()) {
+ readNext();
+
+ if (isEndElement())
+ break;
+
+ if (isStartElement()) {
+ const XsdSchemaToken::NodeName token = XsdSchemaToken::toToken(name());
+ const XsdSchemaToken::NodeName namespaceToken = XsdSchemaToken::toToken(namespaceUri());
+
+ tagValidator.validate(token);
+
+ if (isSchemaTag(XsdSchemaToken::Annotation, token, namespaceToken)) {
+ const XsdAnnotation::Ptr annotation = parseAnnotation();
+ facet->addAnnotation(annotation);
+ } else {
+ parseUnknown();
+ }
+ }
+ }
+
+ tagValidator.finalize();
+
+ return facet;
+}
+
+XsdFacet::Ptr XsdSchemaParser::parseWhiteSpaceFacet()
+{
+ const ElementNamespaceHandler namespaceHandler(XsdSchemaToken::WhiteSpace, this);
+
+ validateElement(XsdTagScope::WhiteSpaceFacet);
+
+ const XsdFacet::Ptr facet = XsdFacet::Ptr(new XsdFacet());
+ facet->setType(XsdFacet::WhiteSpace);
+
+ // parse attributes
+ if (hasAttribute(QString::fromLatin1("fixed"))) {
+ const QString value = readAttribute(QString::fromLatin1("fixed"));
+ const Boolean::Ptr fixed = Boolean::fromLexical(value);
+ if (fixed->hasError()) {
+ attributeContentError("fixed", "whiteSpace", value, BuiltinTypes::xsBoolean);
+ return facet;
+ }
+
+ facet->setFixed(fixed->as<Boolean>()->value());
+ } else {
+ facet->setFixed(false); // the default value
+ }
+
+ const QString value = readAttribute(QString::fromLatin1("value"));
+ if (value != XsdSchemaToken::toString(XsdSchemaToken::Collapse) &&
+ value != XsdSchemaToken::toString(XsdSchemaToken::Preserve) &&
+ value != XsdSchemaToken::toString(XsdSchemaToken::Replace)) {
+ attributeContentError("value", "whiteSpace", value);
+ return facet;
+ } else {
+ DerivedString<TypeString>::Ptr string = DerivedString<TypeString>::fromLexical(m_namePool, value);
+ if (string->hasError()) {
+ attributeContentError("value", "whiteSpace", value);
+ return facet;
+ } else {
+ facet->setValue(string);
+ }
+ }
+
+ validateIdAttribute("whiteSpace");
+
+ TagValidationHandler tagValidator(XsdTagScope::WhiteSpaceFacet, this, m_namePool);
+
+ while (!atEnd()) {
+ readNext();
+
+ if (isEndElement())
+ break;
+
+ if (isStartElement()) {
+ const XsdSchemaToken::NodeName token = XsdSchemaToken::toToken(name());
+ const XsdSchemaToken::NodeName namespaceToken = XsdSchemaToken::toToken(namespaceUri());
+
+ tagValidator.validate(token);
+
+ if (isSchemaTag(XsdSchemaToken::Annotation, token, namespaceToken)) {
+ const XsdAnnotation::Ptr annotation = parseAnnotation();
+ facet->addAnnotation(annotation);
+ } else {
+ parseUnknown();
+ }
+ }
+ }
+
+ tagValidator.finalize();
+
+ return facet;
+}
+
+XsdFacet::Ptr XsdSchemaParser::parsePatternFacet()
+{
+ const ElementNamespaceHandler namespaceHandler(XsdSchemaToken::Pattern, this);
+
+ validateElement(XsdTagScope::PatternFacet);
+
+ const XsdFacet::Ptr facet = XsdFacet::Ptr(new XsdFacet());
+ facet->setType(XsdFacet::Pattern);
+
+ // parse attributes
+
+ // as pattern can have a value of type anySimpleType, we just read
+ // the string here and store it for later intepretation
+ const QString value = readAttribute(QString::fromLatin1("value"));
+ DerivedString<TypeString>::Ptr string = DerivedString<TypeString>::fromLexical(m_namePool, value);
+ if (string->hasError()) {
+ attributeContentError("value", "pattern", value);
+ return facet;
+ } else {
+ AtomicValue::List multiValue;
+ multiValue << string;
+ facet->setMultiValue(multiValue);
+ }
+
+ validateIdAttribute("pattern");
+
+ TagValidationHandler tagValidator(XsdTagScope::PatternFacet, this, m_namePool);
+
+ while (!atEnd()) {
+ readNext();
+
+ if (isEndElement())
+ break;
+
+ if (isStartElement()) {
+ const XsdSchemaToken::NodeName token = XsdSchemaToken::toToken(name());
+ const XsdSchemaToken::NodeName namespaceToken = XsdSchemaToken::toToken(namespaceUri());
+
+ tagValidator.validate(token);
+
+ if (isSchemaTag(XsdSchemaToken::Annotation, token, namespaceToken)) {
+ const XsdAnnotation::Ptr annotation = parseAnnotation();
+ facet->addAnnotation(annotation);
+ } else {
+ parseUnknown();
+ }
+ }
+ }
+
+ tagValidator.finalize();
+
+ return facet;
+}
+
+XsdFacet::Ptr XsdSchemaParser::parseAssertionFacet()
+{
+ // this is just a wrapper function around the parseAssertion() method
+
+ const XsdAssertion::Ptr assertion = parseAssertion(XsdSchemaToken::Assertion, XsdTagScope::Assertion);
+
+ const XsdFacet::Ptr facet = XsdFacet::Ptr(new XsdFacet());
+ facet->setType(XsdFacet::Assertion);
+ facet->setAssertions(XsdAssertion::List() << assertion);
+
+ return facet;
+}
+
+XsdComplexType::Ptr XsdSchemaParser::parseGlobalComplexType()
+{
+ const ElementNamespaceHandler namespaceHandler(XsdSchemaToken::ComplexType, this);
+
+ validateElement(XsdTagScope::GlobalComplexType);
+
+ bool hasTypeSpecified = false;
+ bool hasComplexContent = false;
+
+ const XsdComplexType::Ptr complexType(new XsdComplexType());
+
+ // parse attributes
+ if (hasAttribute(QString::fromLatin1("abstract"))) {
+ const QString abstract = readAttribute(QString::fromLatin1("abstract"));
+
+ const Boolean::Ptr value = Boolean::fromLexical(abstract);
+ if (value->hasError()) {
+ attributeContentError("abstract", "complexType", abstract, BuiltinTypes::xsBoolean);
+ return complexType;
+ }
+
+ complexType->setIsAbstract(value->as<Boolean>()->value());
+ } else {
+ complexType->setIsAbstract(false); // default value
+ }
+
+ complexType->setProhibitedSubstitutions(readBlockingConstraintAttribute(NamedSchemaComponent::ExtensionConstraint | NamedSchemaComponent::RestrictionConstraint, "complexType"));
+ complexType->setDerivationConstraints(readDerivationConstraintAttribute(SchemaType::ExtensionConstraint | SchemaType::RestrictionConstraint, "complexType"));
+
+ const QXmlName objectName = m_namePool->allocateQName(m_targetNamespace, readNameAttribute("complexType"));
+ complexType->setName(objectName);
+
+ bool effectiveMixed = false;
+ if (hasAttribute(QString::fromLatin1("mixed"))) {
+ const QString mixed = readAttribute(QString::fromLatin1("mixed"));
+
+ const Boolean::Ptr value = Boolean::fromLexical(mixed);
+ if (value->hasError()) {
+ attributeContentError("mixed", "complexType", mixed, BuiltinTypes::xsBoolean);
+ return complexType;
+ }
+
+ effectiveMixed = value->as<Boolean>()->value();
+ }
+
+ validateIdAttribute("complexType");
+
+ TagValidationHandler tagValidator(XsdTagScope::GlobalComplexType, this, m_namePool);
+
+ while (!atEnd()) {
+ readNext();
+
+ if (isEndElement())
+ break;
+
+ if (isStartElement()) {
+ const XsdSchemaToken::NodeName token = XsdSchemaToken::toToken(name());
+ const XsdSchemaToken::NodeName namespaceToken = XsdSchemaToken::toToken(namespaceUri());
+
+ tagValidator.validate(token);
+
+ if (isSchemaTag(XsdSchemaToken::Annotation, token, namespaceToken)) {
+ const XsdAnnotation::Ptr annotation = parseAnnotation();
+ complexType->addAnnotation(annotation);
+ } else if (isSchemaTag(XsdSchemaToken::SimpleContent, token, namespaceToken)) {
+ if (effectiveMixed) {
+ error(QtXmlPatterns::tr("%1 element with %2 child element must not have a %3 attribute")
+ .arg(formatElement("complexType"))
+ .arg(formatElement("simpleContent"))
+ .arg(formatAttribute("mixed")));
+ return complexType;
+ }
+
+ parseSimpleContent(complexType);
+ hasTypeSpecified = true;
+ } else if (isSchemaTag(XsdSchemaToken::ComplexContent, token, namespaceToken)) {
+ bool mixed;
+ parseComplexContent(complexType, &mixed);
+ hasTypeSpecified = true;
+
+ effectiveMixed = (effectiveMixed || mixed);
+ hasComplexContent = true;
+ } else if (isSchemaTag(XsdSchemaToken::OpenContent, token, namespaceToken)) {
+ const XsdComplexType::OpenContent::Ptr openContent = parseOpenContent();
+ complexType->contentType()->setOpenContent(openContent);
+ hasComplexContent = true;
+ } else if (isSchemaTag(XsdSchemaToken::Group, token, namespaceToken)) {
+ const XsdParticle::Ptr particle(new XsdParticle());
+ const XsdTerm::Ptr term = parseReferredGroup(particle);
+ particle->setTerm(term);
+ complexType->contentType()->setParticle(particle);
+
+ complexType->setWxsSuperType(BuiltinTypes::xsAnyType);
+ complexType->contentType()->setVariety(XsdComplexType::ContentType::ElementOnly);
+ complexType->setDerivationMethod(XsdComplexType::DerivationRestriction);
+ hasComplexContent = true;
+ } else if (isSchemaTag(XsdSchemaToken::All, token, namespaceToken)) {
+ const XsdParticle::Ptr particle(new XsdParticle());
+ const XsdTerm::Ptr term = parseLocalAll(particle, complexType);
+ particle->setTerm(term);
+ complexType->contentType()->setParticle(particle);
+
+ complexType->setWxsSuperType(BuiltinTypes::xsAnyType);
+ complexType->contentType()->setVariety(XsdComplexType::ContentType::ElementOnly);
+ complexType->setDerivationMethod(XsdComplexType::DerivationRestriction);
+ hasComplexContent = true;
+ } else if (isSchemaTag(XsdSchemaToken::Choice, token, namespaceToken)) {
+ const XsdParticle::Ptr particle(new XsdParticle());
+ const XsdTerm::Ptr term = parseLocalChoice(particle, complexType);
+ particle->setTerm(term);
+ complexType->contentType()->setParticle(particle);
+
+ complexType->setWxsSuperType(BuiltinTypes::xsAnyType);
+ complexType->contentType()->setVariety(XsdComplexType::ContentType::ElementOnly);
+ complexType->setDerivationMethod(XsdComplexType::DerivationRestriction);
+ hasComplexContent = true;
+ } else if (isSchemaTag(XsdSchemaToken::Sequence, token, namespaceToken)) {
+ const XsdParticle::Ptr particle(new XsdParticle());
+ const XsdTerm::Ptr term = parseLocalSequence(particle, complexType);
+ particle->setTerm(term);
+ complexType->contentType()->setParticle(particle);
+
+ complexType->setWxsSuperType(BuiltinTypes::xsAnyType);
+ complexType->contentType()->setVariety(XsdComplexType::ContentType::ElementOnly);
+ complexType->setDerivationMethod(XsdComplexType::DerivationRestriction);
+ hasComplexContent = true;
+ } else if (isSchemaTag(XsdSchemaToken::Attribute, token, namespaceToken)) {
+ const XsdAttributeUse::Ptr attributeUse = parseLocalAttribute(complexType);
+ complexType->addAttributeUse(attributeUse);
+
+ complexType->setWxsSuperType(BuiltinTypes::xsAnyType);
+ complexType->contentType()->setVariety(XsdComplexType::ContentType::ElementOnly);
+ complexType->setDerivationMethod(XsdComplexType::DerivationRestriction);
+ hasComplexContent = true;
+ } else if (isSchemaTag(XsdSchemaToken::AttributeGroup, token, namespaceToken)) {
+ const XsdAttributeUse::Ptr attributeUse = parseReferredAttributeGroup();
+ complexType->addAttributeUse(attributeUse);
+
+ complexType->setWxsSuperType(BuiltinTypes::xsAnyType);
+ complexType->contentType()->setVariety(XsdComplexType::ContentType::ElementOnly);
+ complexType->setDerivationMethod(XsdComplexType::DerivationRestriction);
+ hasComplexContent = true;
+ } else if (isSchemaTag(XsdSchemaToken::AnyAttribute, token, namespaceToken)) {
+ const XsdWildcard::Ptr wildcard = parseAnyAttribute();
+ complexType->setAttributeWildcard(wildcard);
+
+ complexType->setWxsSuperType(BuiltinTypes::xsAnyType);
+ complexType->contentType()->setVariety(XsdComplexType::ContentType::ElementOnly);
+ complexType->setDerivationMethod(XsdComplexType::DerivationRestriction);
+ hasComplexContent = true;
+ } else if (isSchemaTag(XsdSchemaToken::Assert, token, namespaceToken)) {
+ const XsdAssertion::Ptr assertion = parseAssertion(XsdSchemaToken::Assert, XsdTagScope::Assert);
+ complexType->addAssertion(assertion);
+ } else {
+ parseUnknown();
+ }
+ }
+ }
+
+ tagValidator.finalize();
+
+ if (!hasTypeSpecified) {
+ complexType->setWxsSuperType(BuiltinTypes::xsAnyType);
+ complexType->setDerivationMethod(XsdComplexType::DerivationRestriction);
+ hasComplexContent = true;
+ }
+
+ if (hasComplexContent == true) {
+ resolveComplexContentType(complexType, effectiveMixed);
+ }
+
+ return complexType;
+}
+
+XsdComplexType::Ptr XsdSchemaParser::parseLocalComplexType()
+{
+ const ElementNamespaceHandler namespaceHandler(XsdSchemaToken::ComplexType, this);
+
+ validateElement(XsdTagScope::LocalComplexType);
+
+ bool hasTypeSpecified = false;
+ bool hasComplexContent = true;
+
+ const XsdComplexType::Ptr complexType(new XsdComplexType());
+ complexType->setName(m_parserContext->createAnonymousName(m_targetNamespace));
+
+ // parse attributes
+ bool effectiveMixed = false;
+ if (hasAttribute(QString::fromLatin1("mixed"))) {
+ const QString mixed = readAttribute(QString::fromLatin1("mixed"));
+
+ const Boolean::Ptr value = Boolean::fromLexical(mixed);
+ if (value->hasError()) {
+ attributeContentError("mixed", "complexType", mixed, BuiltinTypes::xsBoolean);
+ return complexType;
+ }
+
+ effectiveMixed = value->as<Boolean>()->value();
+ }
+
+ validateIdAttribute("complexType");
+
+ TagValidationHandler tagValidator(XsdTagScope::LocalComplexType, this, m_namePool);
+
+ while (!atEnd()) {
+ readNext();
+
+ if (isEndElement())
+ break;
+
+ if (isStartElement()) {
+ const XsdSchemaToken::NodeName token = XsdSchemaToken::toToken(name());
+ const XsdSchemaToken::NodeName namespaceToken = XsdSchemaToken::toToken(namespaceUri());
+
+ tagValidator.validate(token);
+
+ if (isSchemaTag(XsdSchemaToken::Annotation, token, namespaceToken)) {
+ const XsdAnnotation::Ptr annotation = parseAnnotation();
+ complexType->addAnnotation(annotation);
+ } else if (isSchemaTag(XsdSchemaToken::SimpleContent, token, namespaceToken)) {
+ parseSimpleContent(complexType);
+ hasTypeSpecified = true;
+ } else if (isSchemaTag(XsdSchemaToken::ComplexContent, token, namespaceToken)) {
+ bool mixed;
+ parseComplexContent(complexType, &mixed);
+ hasTypeSpecified = true;
+
+ effectiveMixed = (effectiveMixed || mixed);
+ hasComplexContent = true;
+ } else if (isSchemaTag(XsdSchemaToken::OpenContent, token, namespaceToken)) {
+ const XsdComplexType::OpenContent::Ptr openContent = parseOpenContent();
+ complexType->contentType()->setOpenContent(openContent);
+ hasComplexContent = true;
+ } else if (isSchemaTag(XsdSchemaToken::Group, token, namespaceToken)) {
+ const XsdParticle::Ptr particle(new XsdParticle());
+ const XsdTerm::Ptr term = parseReferredGroup(particle);
+ particle->setTerm(term);
+ complexType->contentType()->setParticle(particle);
+
+ complexType->setWxsSuperType(BuiltinTypes::xsAnyType);
+ complexType->contentType()->setVariety(XsdComplexType::ContentType::ElementOnly);
+ complexType->setDerivationMethod(XsdComplexType::DerivationRestriction);
+ hasComplexContent = true;
+ } else if (isSchemaTag(XsdSchemaToken::All, token, namespaceToken)) {
+ const XsdParticle::Ptr particle(new XsdParticle());
+ const XsdTerm::Ptr term = parseLocalAll(particle, complexType);
+ particle->setTerm(term);
+ complexType->contentType()->setParticle(particle);
+
+ complexType->setWxsSuperType(BuiltinTypes::xsAnyType);
+ complexType->contentType()->setVariety(XsdComplexType::ContentType::ElementOnly);
+ complexType->setDerivationMethod(XsdComplexType::DerivationRestriction);
+ hasComplexContent = true;
+ } else if (isSchemaTag(XsdSchemaToken::Choice, token, namespaceToken)) {
+ const XsdParticle::Ptr particle(new XsdParticle());
+ const XsdTerm::Ptr term = parseLocalChoice(particle, complexType);
+ particle->setTerm(term);
+ complexType->contentType()->setParticle(particle);
+
+ complexType->setWxsSuperType(BuiltinTypes::xsAnyType);
+ complexType->contentType()->setVariety(XsdComplexType::ContentType::ElementOnly);
+ complexType->setDerivationMethod(XsdComplexType::DerivationRestriction);
+ hasComplexContent = true;
+ } else if (isSchemaTag(XsdSchemaToken::Sequence, token, namespaceToken)) {
+ const XsdParticle::Ptr particle(new XsdParticle());
+ const XsdTerm::Ptr term = parseLocalSequence(particle, complexType);
+ particle->setTerm(term);
+ complexType->contentType()->setParticle(particle);
+
+ complexType->setWxsSuperType(BuiltinTypes::xsAnyType);
+ complexType->contentType()->setVariety(XsdComplexType::ContentType::ElementOnly);
+ complexType->setDerivationMethod(XsdComplexType::DerivationRestriction);
+ hasComplexContent = true;
+ } else if (isSchemaTag(XsdSchemaToken::Attribute, token, namespaceToken)) {
+ const XsdAttributeUse::Ptr attributeUse = parseLocalAttribute(complexType);
+ complexType->addAttributeUse(attributeUse);
+
+ complexType->setWxsSuperType(BuiltinTypes::xsAnyType);
+ complexType->contentType()->setVariety(XsdComplexType::ContentType::ElementOnly);
+ complexType->setDerivationMethod(XsdComplexType::DerivationRestriction);
+ hasComplexContent = true;
+ } else if (isSchemaTag(XsdSchemaToken::AttributeGroup, token, namespaceToken)) {
+ const XsdAttributeUse::Ptr attributeUse = parseReferredAttributeGroup();
+ complexType->addAttributeUse(attributeUse);
+
+ complexType->setWxsSuperType(BuiltinTypes::xsAnyType);
+ complexType->contentType()->setVariety(XsdComplexType::ContentType::ElementOnly);
+ complexType->setDerivationMethod(XsdComplexType::DerivationRestriction);
+ hasComplexContent = true;
+ } else if (isSchemaTag(XsdSchemaToken::AnyAttribute, token, namespaceToken)) {
+ const XsdWildcard::Ptr wildcard = parseAnyAttribute();
+ complexType->setAttributeWildcard(wildcard);
+
+ complexType->setWxsSuperType(BuiltinTypes::xsAnyType);
+ complexType->contentType()->setVariety(XsdComplexType::ContentType::ElementOnly);
+ complexType->setDerivationMethod(XsdComplexType::DerivationRestriction);
+ hasComplexContent = true;
+ } else if (isSchemaTag(XsdSchemaToken::Assert, token, namespaceToken)) {
+ const XsdAssertion::Ptr assertion = parseAssertion(XsdSchemaToken::Assert, XsdTagScope::Assert);
+ complexType->addAssertion(assertion);
+ } else {
+ parseUnknown();
+ }
+ }
+ }
+
+ tagValidator.finalize();
+
+ if (!hasTypeSpecified) {
+ complexType->setWxsSuperType(BuiltinTypes::xsAnyType);
+ complexType->setDerivationMethod(XsdComplexType::DerivationRestriction);
+ hasComplexContent = true;
+ }
+
+ if (hasComplexContent == true) {
+ resolveComplexContentType(complexType, effectiveMixed);
+ }
+
+ return complexType;
+}
+
+void XsdSchemaParser::resolveComplexContentType(const XsdComplexType::Ptr &complexType, bool effectiveMixed)
+{
+ // @see http://www.w3.org/TR/xmlschema11-1/#dcl.ctd.ctcc.common
+
+ // 1
+ // the effectiveMixed contains the effective mixed value
+
+ // 2
+ bool hasEmptyContent = false;
+ if (!complexType->contentType()->particle()) {
+ hasEmptyContent = true; // 2.1.1
+ } else {
+ if (complexType->contentType()->particle()->term()->isModelGroup()) {
+ const XsdModelGroup::Ptr group = complexType->contentType()->particle()->term();
+ if (group->compositor() == XsdModelGroup::SequenceCompositor || group->compositor() == XsdModelGroup::AllCompositor) {
+ if (group->particles().isEmpty())
+ hasEmptyContent = true; // 2.1.2
+ } else if (group->compositor() == XsdModelGroup::ChoiceCompositor) {
+ if ((complexType->contentType()->particle()->minimumOccurs() == 0) && group->particles().isEmpty())
+ hasEmptyContent = true; // 2.1.3
+ }
+
+ if ((complexType->contentType()->particle()->maximumOccursUnbounded() == false) && (complexType->contentType()->particle()->maximumOccurs() == 0))
+ hasEmptyContent = true; // 2.1.4
+ }
+ }
+
+ const XsdParticle::Ptr explicitContent = (hasEmptyContent ? XsdParticle::Ptr() : complexType->contentType()->particle());
+
+ // do all the other work (3, 4, 5 and 6) in the resolver, as they need access to the base type object
+ m_schemaResolver->addComplexContentType(complexType, explicitContent, effectiveMixed);
+}
+
+void XsdSchemaParser::parseSimpleContent(const XsdComplexType::Ptr &complexType)
+{
+ const ElementNamespaceHandler namespaceHandler(XsdSchemaToken::SimpleContent, this);
+
+ validateElement(XsdTagScope::SimpleContent);
+
+ complexType->contentType()->setVariety(XsdComplexType::ContentType::Simple);
+
+ // parse attributes
+ validateIdAttribute("simpleContent");
+
+ TagValidationHandler tagValidator(XsdTagScope::SimpleContent, this, m_namePool);
+
+ while (!atEnd()) {
+ readNext();
+
+ if (isEndElement())
+ break;
+
+ if (isStartElement()) {
+ const XsdSchemaToken::NodeName token = XsdSchemaToken::toToken(name());
+ const XsdSchemaToken::NodeName namespaceToken = XsdSchemaToken::toToken(namespaceUri());
+
+ tagValidator.validate(token);
+
+ if (isSchemaTag(XsdSchemaToken::Annotation, token, namespaceToken)) {
+ const XsdAnnotation::Ptr annotation = parseAnnotation();
+ complexType->addAnnotation(annotation);
+ } else if (isSchemaTag(XsdSchemaToken::Restriction, token, namespaceToken)) {
+ parseSimpleContentRestriction(complexType);
+ } else if (isSchemaTag(XsdSchemaToken::Extension, token, namespaceToken)) {
+ parseSimpleContentExtension(complexType);
+ } else {
+ parseUnknown();
+ }
+ }
+ }
+
+ tagValidator.finalize();
+}
+
+void XsdSchemaParser::parseSimpleContentRestriction(const XsdComplexType::Ptr &complexType)
+{
+ const ElementNamespaceHandler namespaceHandler(XsdSchemaToken::Restriction, this);
+
+ validateElement(XsdTagScope::SimpleContentRestriction);
+
+ complexType->setDerivationMethod(XsdComplexType::DerivationRestriction);
+
+ // parse attributes
+ const QString baseType = readQNameAttribute(QString::fromLatin1("base"), "restriction");
+ QXmlName typeName;
+ convertName(baseType, NamespaceSupport::ElementName, typeName); // translate qualified name into QXmlName
+
+ validateIdAttribute("restriction");
+
+ XsdFacet::Hash facets;
+ QList<XsdFacet::Ptr> patternFacets;
+ QList<XsdFacet::Ptr> enumerationFacets;
+ QList<XsdFacet::Ptr> assertionFacets;
+
+ TagValidationHandler tagValidator(XsdTagScope::SimpleContentRestriction, this, m_namePool);
+
+ while (!atEnd()) {
+ readNext();
+
+ if (isEndElement())
+ break;
+
+ if (isStartElement()) {
+ const XsdSchemaToken::NodeName token = XsdSchemaToken::toToken(name());
+ const XsdSchemaToken::NodeName namespaceToken = XsdSchemaToken::toToken(namespaceUri());
+
+ tagValidator.validate(token);
+
+ if (isSchemaTag(XsdSchemaToken::Annotation, token, namespaceToken)) {
+ const XsdAnnotation::Ptr annotation = parseAnnotation();
+ complexType->addAnnotation(annotation);
+ } else if (isSchemaTag(XsdSchemaToken::SimpleType, token, namespaceToken)) {
+ const XsdSimpleType::Ptr type = parseLocalSimpleType();
+ type->setContext(complexType); //TODO: investigate what the schema spec really wants here?!?
+ complexType->contentType()->setSimpleType(type);
+
+ // add it to list of anonymous types as well
+ addAnonymousType(type);
+ } else if (isSchemaTag(XsdSchemaToken::MinExclusive, token, namespaceToken)) {
+ const XsdFacet::Ptr facet = parseMinExclusiveFacet();
+ addFacet(facet, facets, complexType);
+ } else if (isSchemaTag(XsdSchemaToken::MinInclusive, token, namespaceToken)) {
+ const XsdFacet::Ptr facet = parseMinInclusiveFacet();
+ addFacet(facet, facets, complexType);
+ } else if (isSchemaTag(XsdSchemaToken::MaxExclusive, token, namespaceToken)) {
+ const XsdFacet::Ptr facet = parseMaxExclusiveFacet();
+ addFacet(facet, facets, complexType);
+ } else if (isSchemaTag(XsdSchemaToken::MaxInclusive, token, namespaceToken)) {
+ const XsdFacet::Ptr facet = parseMaxInclusiveFacet();
+ addFacet(facet, facets, complexType);
+ } else if (isSchemaTag(XsdSchemaToken::TotalDigits, token, namespaceToken)) {
+ const XsdFacet::Ptr facet = parseTotalDigitsFacet();
+ addFacet(facet, facets, complexType);
+ } else if (isSchemaTag(XsdSchemaToken::FractionDigits, token, namespaceToken)) {
+ const XsdFacet::Ptr facet = parseFractionDigitsFacet();
+ addFacet(facet, facets, complexType);
+ } else if (isSchemaTag(XsdSchemaToken::Length, token, namespaceToken)) {
+ const XsdFacet::Ptr facet = parseLengthFacet();
+ addFacet(facet, facets, complexType);
+ } else if (isSchemaTag(XsdSchemaToken::MinLength, token, namespaceToken)) {
+ const XsdFacet::Ptr facet = parseMinLengthFacet();
+ addFacet(facet, facets, complexType);
+ } else if (isSchemaTag(XsdSchemaToken::MaxLength, token, namespaceToken)) {
+ const XsdFacet::Ptr facet = parseMaxLengthFacet();
+ addFacet(facet, facets, complexType);
+ } else if (isSchemaTag(XsdSchemaToken::Enumeration, token, namespaceToken)) {
+ const XsdFacet::Ptr facet = parseEnumerationFacet();
+ enumerationFacets.append(facet);
+ } else if (isSchemaTag(XsdSchemaToken::WhiteSpace, token, namespaceToken)) {
+ const XsdFacet::Ptr facet = parseWhiteSpaceFacet();
+ addFacet(facet, facets, complexType);
+ } else if (isSchemaTag(XsdSchemaToken::Pattern, token, namespaceToken)) {
+ const XsdFacet::Ptr facet = parsePatternFacet();
+ patternFacets.append(facet);
+ } else if (isSchemaTag(XsdSchemaToken::Assertion, token, namespaceToken)) {
+ const XsdFacet::Ptr facet = parseAssertionFacet();
+ assertionFacets.append(facet);
+ } else if (isSchemaTag(XsdSchemaToken::Attribute, token, namespaceToken)) {
+ const XsdAttributeUse::Ptr attributeUse = parseLocalAttribute(complexType);
+ complexType->addAttributeUse(attributeUse);
+ } else if (isSchemaTag(XsdSchemaToken::AttributeGroup, token, namespaceToken)) {
+ const XsdAttributeUse::Ptr attributeUse = parseReferredAttributeGroup();
+ complexType->addAttributeUse(attributeUse);
+ } else if (isSchemaTag(XsdSchemaToken::AnyAttribute, token, namespaceToken)) {
+ const XsdWildcard::Ptr wildcard = parseAnyAttribute();
+ complexType->setAttributeWildcard(wildcard);
+ } else if (isSchemaTag(XsdSchemaToken::Assert, token, namespaceToken)) {
+ const XsdAssertion::Ptr assertion = parseAssertion(XsdSchemaToken::Assert, XsdTagScope::Assert);
+ complexType->addAssertion(assertion);
+ } else {
+ parseUnknown();
+ }
+ }
+ }
+
+ tagValidator.finalize();
+
+ // merge all pattern facets into one multi value facet
+ if (!patternFacets.isEmpty()) {
+ const XsdFacet::Ptr patternFacet(new XsdFacet());
+ patternFacet->setType(XsdFacet::Pattern);
+
+ AtomicValue::List multiValue;
+ for (int i = 0; i < patternFacets.count(); ++i)
+ multiValue << patternFacets.at(i)->multiValue();
+
+ patternFacet->setMultiValue(multiValue);
+ addFacet(patternFacet, facets, complexType);
+ }
+
+ // merge all enumeration facets into one multi value facet
+ if (!enumerationFacets.isEmpty()) {
+ const XsdFacet::Ptr enumerationFacet(new XsdFacet());
+ enumerationFacet->setType(XsdFacet::Enumeration);
+
+ AtomicValue::List multiValue;
+ for (int i = 0; i < enumerationFacets.count(); ++i)
+ multiValue << enumerationFacets.at(i)->multiValue();
+
+ enumerationFacet->setMultiValue(multiValue);
+ addFacet(enumerationFacet, facets, complexType);
+ }
+
+ // merge all assertion facets into one facet
+ if (!assertionFacets.isEmpty()) {
+ const XsdFacet::Ptr assertionFacet(new XsdFacet());
+ assertionFacet->setType(XsdFacet::Assertion);
+
+ XsdAssertion::List assertions;
+ for (int i = 0; i < assertionFacets.count(); ++i)
+ assertions << assertionFacets.at(i)->assertions();
+
+ assertionFacet->setAssertions(assertions);
+ addFacet(assertionFacet, facets, complexType);
+ }
+
+ m_schemaResolver->addComplexBaseType(complexType, typeName, currentSourceLocation(), facets); // add to resolver
+}
+
+void XsdSchemaParser::parseSimpleContentExtension(const XsdComplexType::Ptr &complexType)
+{
+ const ElementNamespaceHandler namespaceHandler(XsdSchemaToken::Extension, this);
+
+ validateElement(XsdTagScope::SimpleContentExtension);
+
+ complexType->setDerivationMethod(XsdComplexType::DerivationExtension);
+
+ // parse attributes
+ const QString baseType = readQNameAttribute(QString::fromLatin1("base"), "extension");
+ QXmlName typeName;
+ convertName(baseType, NamespaceSupport::ElementName, typeName); // translate qualified name into QXmlName
+ m_schemaResolver->addComplexBaseType(complexType, typeName, currentSourceLocation()); // add to resolver
+
+ validateIdAttribute("extension");
+
+ TagValidationHandler tagValidator(XsdTagScope::SimpleContentExtension, this, m_namePool);
+
+ while (!atEnd()) {
+ readNext();
+
+ if (isEndElement())
+ break;
+
+ if (isStartElement()) {
+ const XsdSchemaToken::NodeName token = XsdSchemaToken::toToken(name());
+ const XsdSchemaToken::NodeName namespaceToken = XsdSchemaToken::toToken(namespaceUri());
+
+ tagValidator.validate(token);
+
+ if (isSchemaTag(XsdSchemaToken::Annotation, token, namespaceToken)) {
+ const XsdAnnotation::Ptr annotation = parseAnnotation();
+ complexType->addAnnotation(annotation);
+ } else if (isSchemaTag(XsdSchemaToken::Attribute, token, namespaceToken)) {
+ const XsdAttributeUse::Ptr attributeUse = parseLocalAttribute(complexType);
+ complexType->addAttributeUse(attributeUse);
+ } else if (isSchemaTag(XsdSchemaToken::AttributeGroup, token, namespaceToken)) {
+ const XsdAttributeUse::Ptr attributeUse = parseReferredAttributeGroup();
+ complexType->addAttributeUse(attributeUse);
+ } else if (isSchemaTag(XsdSchemaToken::AnyAttribute, token, namespaceToken)) {
+ const XsdWildcard::Ptr wildcard = parseAnyAttribute();
+ complexType->setAttributeWildcard(wildcard);
+ } else if (isSchemaTag(XsdSchemaToken::Assert, token, namespaceToken)) {
+ const XsdAssertion::Ptr assertion = parseAssertion(XsdSchemaToken::Assert, XsdTagScope::Assert);
+ complexType->addAssertion(assertion);
+ } else {
+ parseUnknown();
+ }
+ }
+ }
+
+ tagValidator.finalize();
+}
+
+void XsdSchemaParser::parseComplexContent(const XsdComplexType::Ptr &complexType, bool *mixed)
+{
+ const ElementNamespaceHandler namespaceHandler(XsdSchemaToken::ComplexContent, this);
+
+ validateElement(XsdTagScope::ComplexContent);
+
+ complexType->contentType()->setVariety(XsdComplexType::ContentType::ElementOnly);
+
+ // parse attributes
+ if (hasAttribute(QString::fromLatin1("mixed"))) {
+ const QString mixedStr = readAttribute(QString::fromLatin1("mixed"));
+
+ const Boolean::Ptr value = Boolean::fromLexical(mixedStr);
+ if (value->hasError()) {
+ attributeContentError("mixed", "complexType", mixedStr, BuiltinTypes::xsBoolean);
+ return;
+ }
+
+ *mixed = value->as<Boolean>()->value();
+ } else {
+ *mixed = false;
+ }
+
+ validateIdAttribute("complexContent");
+
+ TagValidationHandler tagValidator(XsdTagScope::ComplexContent, this, m_namePool);
+
+ while (!atEnd()) {
+ readNext();
+
+ if (isEndElement())
+ break;
+
+ if (isStartElement()) {
+ const XsdSchemaToken::NodeName token = XsdSchemaToken::toToken(name());
+ const XsdSchemaToken::NodeName namespaceToken = XsdSchemaToken::toToken(namespaceUri());
+
+ tagValidator.validate(token);
+
+ if (isSchemaTag(XsdSchemaToken::Annotation, token, namespaceToken)) {
+ const XsdAnnotation::Ptr annotation = parseAnnotation();
+ complexType->addAnnotation(annotation);
+ } else if (isSchemaTag(XsdSchemaToken::Restriction, token, namespaceToken)) {
+ parseComplexContentRestriction(complexType);
+ } else if (isSchemaTag(XsdSchemaToken::Extension, token, namespaceToken)) {
+ parseComplexContentExtension(complexType);
+ } else {
+ parseUnknown();
+ }
+ }
+ }
+
+ tagValidator.finalize();
+}
+
+void XsdSchemaParser::parseComplexContentRestriction(const XsdComplexType::Ptr &complexType)
+{
+ const ElementNamespaceHandler namespaceHandler(XsdSchemaToken::Restriction, this);
+
+ validateElement(XsdTagScope::ComplexContentRestriction);
+
+ complexType->setDerivationMethod(XsdComplexType::DerivationRestriction);
+
+ // parse attributes
+ const QString baseType = readQNameAttribute(QString::fromLatin1("base"), "restriction");
+ QXmlName typeName;
+ convertName(baseType, NamespaceSupport::ElementName, typeName); // translate qualified name into QXmlName
+ m_schemaResolver->addComplexBaseType(complexType, typeName, currentSourceLocation()); // add to resolver
+
+ validateIdAttribute("restriction");
+
+ TagValidationHandler tagValidator(XsdTagScope::ComplexContentRestriction, this, m_namePool);
+
+ bool hasContent = false;
+ while (!atEnd()) {
+ readNext();
+
+ if (isEndElement())
+ break;
+
+ if (isStartElement()) {
+ const XsdSchemaToken::NodeName token = XsdSchemaToken::toToken(name());
+ const XsdSchemaToken::NodeName namespaceToken = XsdSchemaToken::toToken(namespaceUri());
+
+ tagValidator.validate(token);
+
+ if (isSchemaTag(XsdSchemaToken::Annotation, token, namespaceToken)) {
+ const XsdAnnotation::Ptr annotation = parseAnnotation();
+ complexType->addAnnotation(annotation);
+ } else if (isSchemaTag(XsdSchemaToken::OpenContent, token, namespaceToken)) {
+ const XsdComplexType::OpenContent::Ptr openContent = parseOpenContent();
+ complexType->contentType()->setOpenContent(openContent);
+ hasContent = true;
+ } else if (isSchemaTag(XsdSchemaToken::Group, token, namespaceToken)) {
+ const XsdParticle::Ptr particle(new XsdParticle());
+ const XsdTerm::Ptr term = parseReferredGroup(particle);
+ particle->setTerm(term);
+ complexType->contentType()->setParticle(particle);
+ hasContent = true;
+ } else if (isSchemaTag(XsdSchemaToken::All, token, namespaceToken)) {
+ const XsdParticle::Ptr particle(new XsdParticle());
+ const XsdTerm::Ptr term = parseLocalAll(particle, complexType);
+ particle->setTerm(term);
+ complexType->contentType()->setParticle(particle);
+ hasContent = true;
+ } else if (isSchemaTag(XsdSchemaToken::Choice, token, namespaceToken)) {
+ const XsdParticle::Ptr particle(new XsdParticle());
+ const XsdTerm::Ptr term = parseLocalChoice(particle, complexType);
+ particle->setTerm(term);
+ complexType->contentType()->setParticle(particle);
+ hasContent = true;
+ } else if (isSchemaTag(XsdSchemaToken::Sequence, token, namespaceToken)) {
+ const XsdParticle::Ptr particle(new XsdParticle());
+ const XsdTerm::Ptr term = parseLocalSequence(particle, complexType);
+ particle->setTerm(term);
+ complexType->contentType()->setParticle(particle);
+ hasContent = true;
+ } else if (isSchemaTag(XsdSchemaToken::Attribute, token, namespaceToken)) {
+ const XsdAttributeUse::Ptr attributeUse = parseLocalAttribute(complexType);
+ complexType->addAttributeUse(attributeUse);
+ } else if (isSchemaTag(XsdSchemaToken::AttributeGroup, token, namespaceToken)) {
+ const XsdAttributeUse::Ptr attributeUse = parseReferredAttributeGroup();
+ complexType->addAttributeUse(attributeUse);
+ } else if (isSchemaTag(XsdSchemaToken::AnyAttribute, token, namespaceToken)) {
+ const XsdWildcard::Ptr wildcard = parseAnyAttribute();
+ complexType->setAttributeWildcard(wildcard);
+ } else if (isSchemaTag(XsdSchemaToken::Assert, token, namespaceToken)) {
+ const XsdAssertion::Ptr assertion = parseAssertion(XsdSchemaToken::Assert, XsdTagScope::Assert);
+ complexType->addAssertion(assertion);
+ } else {
+ parseUnknown();
+ }
+ }
+ }
+
+ if (!hasContent)
+ complexType->contentType()->setVariety(XsdComplexType::ContentType::Empty);
+
+ tagValidator.finalize();
+}
+
+void XsdSchemaParser::parseComplexContentExtension(const XsdComplexType::Ptr &complexType)
+{
+ const ElementNamespaceHandler namespaceHandler(XsdSchemaToken::Extension, this);
+
+ validateElement(XsdTagScope::ComplexContentExtension);
+
+ complexType->setDerivationMethod(XsdComplexType::DerivationExtension);
+
+ // parse attributes
+ const QString baseType = readQNameAttribute(QString::fromLatin1("base"), "extension");
+ QXmlName typeName;
+ convertName(baseType, NamespaceSupport::ElementName, typeName); // translate qualified name into QXmlName
+ m_schemaResolver->addComplexBaseType(complexType, typeName, currentSourceLocation()); // add to resolver
+
+ validateIdAttribute("extension");
+
+ TagValidationHandler tagValidator(XsdTagScope::ComplexContentExtension, this, m_namePool);
+
+ bool hasContent = false;
+ while (!atEnd()) {
+ readNext();
+
+ if (isEndElement())
+ break;
+
+ if (isStartElement()) {
+ const XsdSchemaToken::NodeName token = XsdSchemaToken::toToken(name());
+ const XsdSchemaToken::NodeName namespaceToken = XsdSchemaToken::toToken(namespaceUri());
+
+ tagValidator.validate(token);
+
+ if (isSchemaTag(XsdSchemaToken::Annotation, token, namespaceToken)) {
+ const XsdAnnotation::Ptr annotation = parseAnnotation();
+ complexType->addAnnotation(annotation);
+ } else if (isSchemaTag(XsdSchemaToken::OpenContent, token, namespaceToken)) {
+ const XsdComplexType::OpenContent::Ptr openContent = parseOpenContent();
+ complexType->contentType()->setOpenContent(openContent);
+ hasContent = true;
+ } else if (isSchemaTag(XsdSchemaToken::Group, token, namespaceToken)) {
+ const XsdParticle::Ptr particle(new XsdParticle());
+ const XsdTerm::Ptr term = parseReferredGroup(particle);
+ particle->setTerm(term);
+ complexType->contentType()->setParticle(particle);
+ hasContent = true;
+ } else if (isSchemaTag(XsdSchemaToken::All, token, namespaceToken)) {
+ const XsdParticle::Ptr particle(new XsdParticle());
+ const XsdTerm::Ptr term = parseLocalAll(particle, complexType);
+ particle->setTerm(term);
+ complexType->contentType()->setParticle(particle);
+ hasContent = true;
+ } else if (isSchemaTag(XsdSchemaToken::Choice, token, namespaceToken)) {
+ const XsdParticle::Ptr particle(new XsdParticle());
+ const XsdTerm::Ptr term = parseLocalChoice(particle, complexType);
+ particle->setTerm(term);
+ complexType->contentType()->setParticle(particle);
+ hasContent = true;
+ } else if (isSchemaTag(XsdSchemaToken::Sequence, token, namespaceToken)) {
+ const XsdParticle::Ptr particle(new XsdParticle());
+ const XsdTerm::Ptr term = parseLocalSequence(particle, complexType);
+ particle->setTerm(term);
+ complexType->contentType()->setParticle(particle);
+ hasContent = true;
+ } else if (isSchemaTag(XsdSchemaToken::Attribute, token, namespaceToken)) {
+ const XsdAttributeUse::Ptr attributeUse = parseLocalAttribute(complexType);
+ complexType->addAttributeUse(attributeUse);
+ } else if (isSchemaTag(XsdSchemaToken::AttributeGroup, token, namespaceToken)) {
+ const XsdAttributeUse::Ptr attributeUse = parseReferredAttributeGroup();
+ complexType->addAttributeUse(attributeUse);
+ } else if (isSchemaTag(XsdSchemaToken::AnyAttribute, token, namespaceToken)) {
+ const XsdWildcard::Ptr wildcard = parseAnyAttribute();
+ complexType->setAttributeWildcard(wildcard);
+ } else if (isSchemaTag(XsdSchemaToken::Assert, token, namespaceToken)) {
+ const XsdAssertion::Ptr assertion = parseAssertion(XsdSchemaToken::Assert, XsdTagScope::Assert);
+ complexType->addAssertion(assertion);
+ } else {
+ parseUnknown();
+ }
+ }
+ }
+
+ if (!hasContent)
+ complexType->contentType()->setVariety(XsdComplexType::ContentType::Empty);
+
+ tagValidator.finalize();
+}
+
+
+XsdAssertion::Ptr XsdSchemaParser::parseAssertion(const XsdSchemaToken::NodeName &nodeName, const XsdTagScope::Type &tag)
+{
+ const ElementNamespaceHandler namespaceHandler(nodeName, this);
+
+ validateElement(tag);
+
+ const XsdAssertion::Ptr assertion(new XsdAssertion());
+
+ // parse attributes
+
+ const XsdXPathExpression::Ptr expression = readXPathExpression("assertion");
+ assertion->setTest(expression);
+
+ const QString test = readXPathAttribute(QString::fromLatin1("test"), XPath20, "assertion");
+ expression->setExpression(test);
+
+ validateIdAttribute("assertion");
+
+ TagValidationHandler tagValidator(tag, this, m_namePool);
+
+ while (!atEnd()) {
+ readNext();
+
+ if (isEndElement())
+ break;
+
+ if (isStartElement()) {
+ const XsdSchemaToken::NodeName token = XsdSchemaToken::toToken(name());
+ const XsdSchemaToken::NodeName namespaceToken = XsdSchemaToken::toToken(namespaceUri());
+
+ tagValidator.validate(token);
+
+ if (isSchemaTag(XsdSchemaToken::Annotation, token, namespaceToken)) {
+ const XsdAnnotation::Ptr annotation = parseAnnotation();
+ assertion->addAnnotation(annotation);
+ } else {
+ parseUnknown();
+ }
+ }
+ }
+
+ tagValidator.finalize();
+
+ return assertion;
+}
+
+XsdComplexType::OpenContent::Ptr XsdSchemaParser::parseOpenContent()
+{
+ const ElementNamespaceHandler namespaceHandler(XsdSchemaToken::OpenContent, this);
+
+ validateElement(XsdTagScope::OpenContent);
+
+ const XsdComplexType::OpenContent::Ptr openContent(new XsdComplexType::OpenContent());
+
+ if (hasAttribute(QString::fromLatin1("mode"))) {
+ const QString mode = readAttribute(QString::fromLatin1("mode"));
+
+ if (mode == QString::fromLatin1("none")) {
+ m_defaultOpenContent->setMode(XsdComplexType::OpenContent::None);
+ } else if (mode == QString::fromLatin1("interleave")) {
+ m_defaultOpenContent->setMode(XsdComplexType::OpenContent::Interleave);
+ } else if (mode == QString::fromLatin1("suffix")) {
+ m_defaultOpenContent->setMode(XsdComplexType::OpenContent::Suffix);
+ } else {
+ attributeContentError("mode", "openContent", mode);
+ return openContent;
+ }
+ } else {
+ openContent->setMode(XsdComplexType::OpenContent::Interleave);
+ }
+
+ validateIdAttribute("openContent");
+
+ TagValidationHandler tagValidator(XsdTagScope::OpenContent, this, m_namePool);
+
+ while (!atEnd()) {
+ readNext();
+
+ if (isEndElement())
+ break;
+
+ if (isStartElement()) {
+ const XsdSchemaToken::NodeName token = XsdSchemaToken::toToken(name());
+ const XsdSchemaToken::NodeName namespaceToken = XsdSchemaToken::toToken(namespaceUri());
+
+ tagValidator.validate(token);
+
+ if (isSchemaTag(XsdSchemaToken::Annotation, token, namespaceToken)) {
+ const XsdAnnotation::Ptr annotation = parseAnnotation();
+ openContent->addAnnotation(annotation);
+ } else if (isSchemaTag(XsdSchemaToken::Any, token, namespaceToken)) {
+ const XsdParticle::Ptr particle;
+ const XsdWildcard::Ptr wildcard = parseAny(particle);
+ openContent->setWildcard(wildcard);
+ } else {
+ parseUnknown();
+ }
+ }
+ }
+
+ tagValidator.finalize();
+
+ return openContent;
+}
+
+XsdModelGroup::Ptr XsdSchemaParser::parseNamedGroup()
+{
+ const ElementNamespaceHandler namespaceHandler(XsdSchemaToken::Group, this);
+
+ validateElement(XsdTagScope::NamedGroup);
+
+ const XsdModelGroup::Ptr modelGroup(new XsdModelGroup());
+ XsdModelGroup::Ptr group;
+
+ QXmlName objectName;
+ if (hasAttribute(QString::fromLatin1("name"))) {
+ objectName = m_namePool->allocateQName(m_targetNamespace, readNameAttribute("group"));
+ }
+
+ validateIdAttribute("group");
+
+ TagValidationHandler tagValidator(XsdTagScope::NamedGroup, this, m_namePool);
+
+ XsdAnnotation::Ptr annotation;
+
+ while (!atEnd()) {
+ readNext();
+
+ if (isEndElement())
+ break;
+
+ if (isStartElement()) {
+ const XsdSchemaToken::NodeName token = XsdSchemaToken::toToken(name());
+ const XsdSchemaToken::NodeName namespaceToken = XsdSchemaToken::toToken(namespaceUri());
+
+ tagValidator.validate(token);
+
+ if (isSchemaTag(XsdSchemaToken::Annotation, token, namespaceToken)) {
+ annotation = parseAnnotation();
+ } else if (isSchemaTag(XsdSchemaToken::All, token, namespaceToken)) {
+ group = parseAll(modelGroup);
+ } else if (isSchemaTag(XsdSchemaToken::Choice, token, namespaceToken)) {
+ group = parseChoice(modelGroup);
+ } else if (isSchemaTag(XsdSchemaToken::Sequence, token, namespaceToken)) {
+ group = parseSequence(modelGroup);
+ } else {
+ parseUnknown();
+ }
+ }
+ }
+
+ tagValidator.finalize();
+
+ group->setName(objectName);
+
+ if (annotation)
+ group->addAnnotation(annotation);
+
+ return group;
+}
+
+XsdTerm::Ptr XsdSchemaParser::parseReferredGroup(const XsdParticle::Ptr &particle)
+{
+ const ElementNamespaceHandler namespaceHandler(XsdSchemaToken::Group, this);
+
+ validateElement(XsdTagScope::ReferredGroup);
+
+ const XsdReference::Ptr reference(new XsdReference());
+ reference->setType(XsdReference::ModelGroup);
+ reference->setSourceLocation(currentSourceLocation());
+
+ // parse attributes
+ if (!parseMinMaxConstraint(particle, "group")) {
+ return reference;
+ }
+
+ const QString value = readQNameAttribute(QString::fromLatin1("ref"), "group");
+ QXmlName referenceName;
+ convertName(value, NamespaceSupport::ElementName, referenceName); // translate qualified name into QXmlName
+ reference->setReferenceName(referenceName);
+
+ validateIdAttribute("group");
+
+ TagValidationHandler tagValidator(XsdTagScope::ReferredGroup, this, m_namePool);
+
+ while (!atEnd()) {
+ readNext();
+
+ if (isEndElement())
+ break;
+
+ if (isStartElement()) {
+ const XsdSchemaToken::NodeName token = XsdSchemaToken::toToken(name());
+ const XsdSchemaToken::NodeName namespaceToken = XsdSchemaToken::toToken(namespaceUri());
+
+ tagValidator.validate(token);
+
+ if (isSchemaTag(XsdSchemaToken::Annotation, token, namespaceToken)) {
+ const XsdAnnotation::Ptr annotation = parseAnnotation();
+ reference->addAnnotation(annotation);
+ } else {
+ parseUnknown();
+ }
+ }
+ }
+
+ tagValidator.finalize();
+
+ return reference;
+}
+
+XsdModelGroup::Ptr XsdSchemaParser::parseAll(const NamedSchemaComponent::Ptr &parent)
+{
+ const ElementNamespaceHandler namespaceHandler(XsdSchemaToken::All, this);
+
+ validateElement(XsdTagScope::All);
+
+ const XsdModelGroup::Ptr modelGroup(new XsdModelGroup());
+ modelGroup->setCompositor(XsdModelGroup::AllCompositor);
+
+ validateIdAttribute("all");
+
+ TagValidationHandler tagValidator(XsdTagScope::All, this, m_namePool);
+
+ XsdParticle::List particles;
+ while (!atEnd()) {
+ readNext();
+
+ if (isEndElement())
+ break;
+
+ if (isStartElement()) {
+ const XsdSchemaToken::NodeName token = XsdSchemaToken::toToken(name());
+ const XsdSchemaToken::NodeName namespaceToken = XsdSchemaToken::toToken(namespaceUri());
+
+ tagValidator.validate(token);
+
+ if (isSchemaTag(XsdSchemaToken::Annotation, token, namespaceToken)) {
+ const XsdAnnotation::Ptr annotation = parseAnnotation();
+ modelGroup->addAnnotation(annotation);
+ } else if (isSchemaTag(XsdSchemaToken::Element, token, namespaceToken)) {
+ const XsdParticle::Ptr particle(new XsdParticle());
+ const XsdTerm::Ptr term = parseLocalElement(particle, parent);
+ particle->setTerm(term);
+
+ if (particle->maximumOccursUnbounded() || particle->maximumOccurs() > 1) {
+ error(QtXmlPatterns::tr("%1 attribute of %2 element must be %3 or %4")
+ .arg(formatAttribute("maxOccurs"))
+ .arg(formatElement("all"))
+ .arg(formatData("0"))
+ .arg(formatData("1")));
+ return modelGroup;
+ }
+
+ particles.append(particle);
+ } else {
+ parseUnknown();
+ }
+ }
+ }
+
+ modelGroup->setParticles(particles);
+
+ tagValidator.finalize();
+
+ return modelGroup;
+}
+
+XsdModelGroup::Ptr XsdSchemaParser::parseLocalAll(const XsdParticle::Ptr &particle, const NamedSchemaComponent::Ptr &parent)
+{
+ const ElementNamespaceHandler namespaceHandler(XsdSchemaToken::All, this);
+
+ validateElement(XsdTagScope::LocalAll);
+
+ const XsdModelGroup::Ptr modelGroup(new XsdModelGroup());
+ modelGroup->setCompositor(XsdModelGroup::AllCompositor);
+
+ // parse attributes
+ if (!parseMinMaxConstraint(particle, "all")) {
+ return modelGroup;
+ }
+ if (particle->maximumOccursUnbounded() || particle->maximumOccurs() != 1) {
+ error(QtXmlPatterns::tr("%1 attribute of %2 element must have a value of %3")
+ .arg(formatAttribute("maxOccurs"))
+ .arg(formatElement("all"))
+ .arg(formatData("1")));
+ return modelGroup;
+ }
+ if (particle->minimumOccurs() != 0 && particle->minimumOccurs() != 1) {
+ error(QtXmlPatterns::tr("%1 attribute of %2 element must have a value of %3 or %4")
+ .arg(formatAttribute("minOccurs"))
+ .arg(formatElement("all"))
+ .arg(formatData("0"))
+ .arg(formatData("1")));
+ return modelGroup;
+ }
+
+ validateIdAttribute("all");
+
+ TagValidationHandler tagValidator(XsdTagScope::LocalAll, this, m_namePool);
+
+ XsdParticle::List particles;
+ while (!atEnd()) {
+ readNext();
+
+ if (isEndElement())
+ break;
+
+ if (isStartElement()) {
+ const XsdSchemaToken::NodeName token = XsdSchemaToken::toToken(name());
+ const XsdSchemaToken::NodeName namespaceToken = XsdSchemaToken::toToken(namespaceUri());
+
+ tagValidator.validate(token);
+
+ if (isSchemaTag(XsdSchemaToken::Annotation, token, namespaceToken)) {
+ const XsdAnnotation::Ptr annotation = parseAnnotation();
+ modelGroup->addAnnotation(annotation);
+ } else if (isSchemaTag(XsdSchemaToken::Element, token, namespaceToken)) {
+ const XsdParticle::Ptr particle(new XsdParticle());
+ const XsdTerm::Ptr term = parseLocalElement(particle, parent);
+ particle->setTerm(term);
+
+ if (particle->maximumOccursUnbounded() || particle->maximumOccurs() > 1) {
+ error(QtXmlPatterns::tr("%1 attribute of %2 element must have a value of %3 or %4")
+ .arg(formatAttribute("maxOccurs"))
+ .arg(formatElement("all"))
+ .arg(formatData("0"))
+ .arg(formatData("1")));
+ return modelGroup;
+ }
+
+ particles.append(particle);
+ } else {
+ parseUnknown();
+ }
+ }
+ }
+
+ modelGroup->setParticles(particles);
+
+ tagValidator.finalize();
+
+ return modelGroup;
+}
+
+XsdModelGroup::Ptr XsdSchemaParser::parseChoice(const NamedSchemaComponent::Ptr &parent)
+{
+ const ElementNamespaceHandler namespaceHandler(XsdSchemaToken::Choice, this);
+
+ validateElement(XsdTagScope::Choice);
+
+ const XsdModelGroup::Ptr modelGroup(new XsdModelGroup());
+ modelGroup->setCompositor(XsdModelGroup::ChoiceCompositor);
+
+ validateIdAttribute("choice");
+
+ XsdParticle::List particles;
+
+ TagValidationHandler tagValidator(XsdTagScope::Choice, this, m_namePool);
+
+ while (!atEnd()) {
+ readNext();
+
+ if (isEndElement())
+ break;
+
+ if (isStartElement()) {
+ const XsdSchemaToken::NodeName token = XsdSchemaToken::toToken(name());
+ const XsdSchemaToken::NodeName namespaceToken = XsdSchemaToken::toToken(namespaceUri());
+
+ tagValidator.validate(token);
+
+ if (isSchemaTag(XsdSchemaToken::Annotation, token, namespaceToken)) {
+ const XsdAnnotation::Ptr annotation = parseAnnotation();
+ modelGroup->addAnnotation(annotation);
+ } else if (isSchemaTag(XsdSchemaToken::Element, token, namespaceToken)) {
+ const XsdParticle::Ptr particle(new XsdParticle());
+ const XsdTerm::Ptr term = parseLocalElement(particle, parent);
+ particle->setTerm(term);
+ particles.append(particle);
+ } else if (isSchemaTag(XsdSchemaToken::Group, token, namespaceToken)) {
+ const XsdParticle::Ptr particle(new XsdParticle());
+ const XsdTerm::Ptr term = parseReferredGroup(particle);
+ m_schemaResolver->addAllGroupCheck(term);
+ particle->setTerm(term);
+ particles.append(particle);
+ } else if (isSchemaTag(XsdSchemaToken::Choice, token, namespaceToken)) {
+ const XsdParticle::Ptr particle(new XsdParticle());
+ const XsdTerm::Ptr term = parseLocalChoice(particle, parent);
+ particle->setTerm(term);
+ particles.append(particle);
+ } else if (isSchemaTag(XsdSchemaToken::Sequence, token, namespaceToken)) {
+ const XsdParticle::Ptr particle(new XsdParticle());
+ const XsdTerm::Ptr term = parseLocalSequence(particle, parent);
+ particle->setTerm(term);
+ particles.append(particle);
+ } else if (isSchemaTag(XsdSchemaToken::Any, token, namespaceToken)) {
+ const XsdParticle::Ptr particle(new XsdParticle());
+ const XsdTerm::Ptr term = parseAny(particle);
+ particle->setTerm(term);
+ particles.append(particle);
+ } else {
+ parseUnknown();
+ }
+ }
+ }
+
+ modelGroup->setParticles(particles);
+
+ tagValidator.finalize();
+
+ return modelGroup;
+}
+
+XsdModelGroup::Ptr XsdSchemaParser::parseLocalChoice(const XsdParticle::Ptr &particle, const NamedSchemaComponent::Ptr &parent)
+{
+ const ElementNamespaceHandler namespaceHandler(XsdSchemaToken::Choice, this);
+
+ validateElement(XsdTagScope::LocalChoice);
+
+ const XsdModelGroup::Ptr modelGroup(new XsdModelGroup());
+ modelGroup->setCompositor(XsdModelGroup::ChoiceCompositor);
+
+ // parse attributes
+ if (!parseMinMaxConstraint(particle, "choice")) {
+ return modelGroup;
+ }
+
+ validateIdAttribute("choice");
+
+ XsdParticle::List particles;
+
+ TagValidationHandler tagValidator(XsdTagScope::LocalChoice, this, m_namePool);
+
+ while (!atEnd()) {
+ readNext();
+
+ if (isEndElement())
+ break;
+
+ if (isStartElement()) {
+ const XsdSchemaToken::NodeName token = XsdSchemaToken::toToken(name());
+ const XsdSchemaToken::NodeName namespaceToken = XsdSchemaToken::toToken(namespaceUri());
+
+ tagValidator.validate(token);
+
+ if (isSchemaTag(XsdSchemaToken::Annotation, token, namespaceToken)) {
+ const XsdAnnotation::Ptr annotation = parseAnnotation();
+ modelGroup->addAnnotation(annotation);
+ } else if (isSchemaTag(XsdSchemaToken::Element, token, namespaceToken)) {
+ const XsdParticle::Ptr particle(new XsdParticle());
+ const XsdTerm::Ptr term = parseLocalElement(particle, parent);
+ particle->setTerm(term);
+ particles.append(particle);
+ } else if (isSchemaTag(XsdSchemaToken::Group, token, namespaceToken)) {
+ const XsdParticle::Ptr particle(new XsdParticle());
+ const XsdTerm::Ptr term = parseReferredGroup(particle);
+ m_schemaResolver->addAllGroupCheck(term);
+ particle->setTerm(term);
+ particles.append(particle);
+ } else if (isSchemaTag(XsdSchemaToken::Choice, token, namespaceToken)) {
+ const XsdParticle::Ptr particle(new XsdParticle());
+ const XsdTerm::Ptr term = parseLocalChoice(particle, parent);
+ particle->setTerm(term);
+ particles.append(particle);
+ } else if (isSchemaTag(XsdSchemaToken::Sequence, token, namespaceToken)) {
+ const XsdParticle::Ptr particle(new XsdParticle());
+ const XsdTerm::Ptr term = parseLocalSequence(particle, parent);
+ particle->setTerm(term);
+ particles.append(particle);
+ } else if (isSchemaTag(XsdSchemaToken::Any, token, namespaceToken)) {
+ const XsdParticle::Ptr particle(new XsdParticle());
+ const XsdTerm::Ptr term = parseAny(particle);
+ particle->setTerm(term);
+ particles.append(particle);
+ } else {
+ parseUnknown();
+ }
+ }
+ }
+
+ modelGroup->setParticles(particles);
+
+ tagValidator.finalize();
+
+ return modelGroup;
+}
+
+XsdModelGroup::Ptr XsdSchemaParser::parseSequence(const NamedSchemaComponent::Ptr &parent)
+{
+ const ElementNamespaceHandler namespaceHandler(XsdSchemaToken::Sequence, this);
+
+ validateElement(XsdTagScope::Sequence);
+
+ const XsdModelGroup::Ptr modelGroup(new XsdModelGroup());
+ modelGroup->setCompositor(XsdModelGroup::SequenceCompositor);
+
+ validateIdAttribute("sequence");
+
+ XsdParticle::List particles;
+
+ TagValidationHandler tagValidator(XsdTagScope::Sequence, this, m_namePool);
+
+ while (!atEnd()) {
+ readNext();
+
+ if (isEndElement())
+ break;
+
+ if (isStartElement()) {
+ const XsdSchemaToken::NodeName token = XsdSchemaToken::toToken(name());
+ const XsdSchemaToken::NodeName namespaceToken = XsdSchemaToken::toToken(namespaceUri());
+
+ tagValidator.validate(token);
+
+ if (isSchemaTag(XsdSchemaToken::Annotation, token, namespaceToken)) {
+ const XsdAnnotation::Ptr annotation = parseAnnotation();
+ modelGroup->addAnnotation(annotation);
+ } else if (isSchemaTag(XsdSchemaToken::Element, token, namespaceToken)) {
+ const XsdParticle::Ptr particle(new XsdParticle());
+ const XsdTerm::Ptr term = parseLocalElement(particle, parent);
+ particle->setTerm(term);
+ particles.append(particle);
+ } else if (isSchemaTag(XsdSchemaToken::Group, token, namespaceToken)) {
+ const XsdParticle::Ptr particle(new XsdParticle());
+ const XsdTerm::Ptr term = parseReferredGroup(particle);
+ m_schemaResolver->addAllGroupCheck(term);
+ particle->setTerm(term);
+ particles.append(particle);
+ } else if (isSchemaTag(XsdSchemaToken::Choice, token, namespaceToken)) {
+ const XsdParticle::Ptr particle(new XsdParticle());
+ const XsdTerm::Ptr term = parseLocalChoice(particle, parent);
+ particle->setTerm(term);
+ particles.append(particle);
+ } else if (isSchemaTag(XsdSchemaToken::Sequence, token, namespaceToken)) {
+ const XsdParticle::Ptr particle(new XsdParticle());
+ const XsdTerm::Ptr term = parseLocalSequence(particle, parent);
+ particle->setTerm(term);
+ particles.append(particle);
+ } else if (isSchemaTag(XsdSchemaToken::Any, token, namespaceToken)) {
+ const XsdParticle::Ptr particle(new XsdParticle());
+ const XsdTerm::Ptr term = parseAny(particle);
+ particle->setTerm(term);
+ particles.append(particle);
+ } else {
+ parseUnknown();
+ }
+ }
+ }
+
+ modelGroup->setParticles(particles);
+
+ tagValidator.finalize();
+
+ return modelGroup;
+}
+
+XsdModelGroup::Ptr XsdSchemaParser::parseLocalSequence(const XsdParticle::Ptr &particle, const NamedSchemaComponent::Ptr &parent)
+{
+ const ElementNamespaceHandler namespaceHandler(XsdSchemaToken::Sequence, this);
+
+ validateElement(XsdTagScope::LocalSequence);
+
+ const XsdModelGroup::Ptr modelGroup(new XsdModelGroup());
+ modelGroup->setCompositor(XsdModelGroup::SequenceCompositor);
+
+ // parse attributes
+ if (!parseMinMaxConstraint(particle, "sequence")) {
+ return modelGroup;
+ }
+
+ validateIdAttribute("sequence");
+
+ XsdParticle::List particles;
+
+ TagValidationHandler tagValidator(XsdTagScope::LocalSequence, this, m_namePool);
+
+ while (!atEnd()) {
+ readNext();
+
+ if (isEndElement())
+ break;
+
+ if (isStartElement()) {
+ const XsdSchemaToken::NodeName token = XsdSchemaToken::toToken(name());
+ const XsdSchemaToken::NodeName namespaceToken = XsdSchemaToken::toToken(namespaceUri());
+
+ tagValidator.validate(token);
+
+ if (isSchemaTag(XsdSchemaToken::Annotation, token, namespaceToken)) {
+ const XsdAnnotation::Ptr annotation = parseAnnotation();
+ modelGroup->addAnnotation(annotation);
+ } else if (isSchemaTag(XsdSchemaToken::Element, token, namespaceToken)) {
+ const XsdParticle::Ptr particle(new XsdParticle());
+ const XsdTerm::Ptr term = parseLocalElement(particle, parent);
+ particle->setTerm(term);
+ particles.append(particle);
+ } else if (isSchemaTag(XsdSchemaToken::Group, token, namespaceToken)) {
+ const XsdParticle::Ptr particle(new XsdParticle());
+ const XsdTerm::Ptr term = parseReferredGroup(particle);
+ m_schemaResolver->addAllGroupCheck(term);
+ particle->setTerm(term);
+ particles.append(particle);
+ } else if (isSchemaTag(XsdSchemaToken::Choice, token, namespaceToken)) {
+ const XsdParticle::Ptr particle(new XsdParticle());
+ const XsdTerm::Ptr term = parseLocalChoice(particle, parent);
+ particle->setTerm(term);
+ particles.append(particle);
+ } else if (isSchemaTag(XsdSchemaToken::Sequence, token, namespaceToken)) {
+ const XsdParticle::Ptr particle(new XsdParticle());
+ const XsdTerm::Ptr term = parseLocalSequence(particle, parent);
+ particle->setTerm(term);
+ particles.append(particle);
+ } else if (isSchemaTag(XsdSchemaToken::Any, token, namespaceToken)) {
+ const XsdParticle::Ptr particle(new XsdParticle());
+ const XsdTerm::Ptr term = parseAny(particle);
+ particle->setTerm(term);
+ particles.append(particle);
+ } else {
+ parseUnknown();
+ }
+ }
+ }
+
+ modelGroup->setParticles(particles);
+
+ tagValidator.finalize();
+
+ return modelGroup;
+}
+
+XsdAttribute::Ptr XsdSchemaParser::parseGlobalAttribute()
+{
+ const ElementNamespaceHandler namespaceHandler(XsdSchemaToken::Attribute, this);
+
+ validateElement(XsdTagScope::GlobalAttribute);
+
+ const XsdAttribute::Ptr attribute(new XsdAttribute());
+ attribute->setScope(XsdAttribute::Scope::Ptr(new XsdAttribute::Scope()));
+ attribute->scope()->setVariety(XsdAttribute::Scope::Global);
+
+ if (hasAttribute(QString::fromLatin1("default")) && hasAttribute(QString::fromLatin1("fixed"))) {
+ error(QtXmlPatterns::tr("%1 element must not have %2 and %3 attribute together")
+ .arg(formatElement("attribute"))
+ .arg(formatAttribute("default"))
+ .arg(formatAttribute("fixed")));
+ return attribute;
+ }
+
+ // parse attributes
+ if (hasAttribute(QString::fromLatin1("default"))) {
+ const QString value = readAttribute(QString::fromLatin1("default"));
+ attribute->setValueConstraint(XsdAttribute::ValueConstraint::Ptr(new XsdAttribute::ValueConstraint()));
+ attribute->valueConstraint()->setVariety(XsdAttribute::ValueConstraint::Default);
+ attribute->valueConstraint()->setValue(value);
+ } else if (hasAttribute(QString::fromLatin1("fixed"))) {
+ const QString value = readAttribute(QString::fromLatin1("fixed"));
+ attribute->setValueConstraint(XsdAttribute::ValueConstraint::Ptr(new XsdAttribute::ValueConstraint()));
+ attribute->valueConstraint()->setVariety(XsdAttribute::ValueConstraint::Fixed);
+ attribute->valueConstraint()->setValue(value);
+ }
+
+ const QXmlName objectName = m_namePool->allocateQName(m_targetNamespace, readNameAttribute("attribute"));
+ if ((objectName.namespaceURI() == StandardNamespaces::xsi) &&
+ (m_namePool->stringForLocalName(objectName.localName()) != QString::fromLatin1("type")) &&
+ (m_namePool->stringForLocalName(objectName.localName()) != QString::fromLatin1("nil")) &&
+ (m_namePool->stringForLocalName(objectName.localName()) != QString::fromLatin1("schemaLocation")) &&
+ (m_namePool->stringForLocalName(objectName.localName()) != QString::fromLatin1("noNamespaceSchemaLocation"))) {
+
+ error(QtXmlPatterns::tr("content of %1 attribute of %2 element must not be from namespace %3")
+ .arg(formatAttribute("name"))
+ .arg(formatElement("attribute"))
+ .arg(formatURI(CommonNamespaces::XSI)));
+ return attribute;
+ }
+ if (m_namePool->stringForLocalName(objectName.localName()) == QString::fromLatin1("xmlns")) {
+ error(QtXmlPatterns::tr("%1 attribute of %2 element must not be %3")
+ .arg(formatAttribute("name"))
+ .arg(formatElement("attribute"))
+ .arg(formatData("xmlns")));
+ return attribute;
+ }
+ attribute->setName(objectName);
+
+ bool hasTypeAttribute = false;
+ bool hasTypeSpecified = false;
+
+ if (hasAttribute(QString::fromLatin1("type"))) {
+ hasTypeAttribute = true;
+
+ const QString type = readQNameAttribute(QString::fromLatin1("type"), "attribute");
+ QXmlName typeName;
+ convertName(type, NamespaceSupport::ElementName, typeName); // translate qualified name into QXmlName
+ m_schemaResolver->addAttributeType(attribute, typeName, currentSourceLocation()); // add to resolver
+ hasTypeSpecified = true;
+ }
+
+ validateIdAttribute("attribute");
+
+ TagValidationHandler tagValidator(XsdTagScope::GlobalAttribute, this, m_namePool);
+
+ while (!atEnd()) {
+ readNext();
+
+ if (isEndElement())
+ break;
+
+ if (isStartElement()) {
+ const XsdSchemaToken::NodeName token = XsdSchemaToken::toToken(name());
+ const XsdSchemaToken::NodeName namespaceToken = XsdSchemaToken::toToken(namespaceUri());
+
+ tagValidator.validate(token);
+
+ if (isSchemaTag(XsdSchemaToken::Annotation, token, namespaceToken)) {
+ const XsdAnnotation::Ptr annotation = parseAnnotation();
+ attribute->addAnnotation(annotation);
+ } else if (isSchemaTag(XsdSchemaToken::SimpleType, token, namespaceToken)) {
+ if (hasTypeAttribute) {
+ error(QtXmlPatterns::tr("%1 element with %2 child element must not have a %3 attribute")
+ .arg(formatElement("attribute"))
+ .arg(formatElement("simpleType"))
+ .arg(formatAttribute("type")));
+ break;
+ }
+
+ const XsdSimpleType::Ptr type = parseLocalSimpleType();
+ type->setContext(attribute);
+ attribute->setType(type);
+ hasTypeSpecified = true;
+
+ // add it to list of anonymous types as well
+ addAnonymousType(type);
+ } else {
+ parseUnknown();
+ }
+ }
+ }
+
+ if (!hasTypeSpecified) {
+ attribute->setType(BuiltinTypes::xsAnySimpleType); // default value
+ return attribute;
+ }
+
+ tagValidator.finalize();
+
+ return attribute;
+}
+
+XsdAttributeUse::Ptr XsdSchemaParser::parseLocalAttribute(const NamedSchemaComponent::Ptr &parent)
+{
+ const ElementNamespaceHandler namespaceHandler(XsdSchemaToken::Attribute, this);
+
+ validateElement(XsdTagScope::LocalAttribute);
+
+ bool hasRefAttribute = false;
+ bool hasTypeAttribute = false;
+ bool hasTypeSpecified = false;
+
+ XsdAttributeUse::Ptr attributeUse;
+ if (hasAttribute(QString::fromLatin1("ref"))) {
+ const XsdAttributeReference::Ptr reference = XsdAttributeReference::Ptr(new XsdAttributeReference());
+ reference->setType(XsdAttributeReference::AttributeUse);
+ reference->setSourceLocation(currentSourceLocation());
+
+ attributeUse = reference;
+ hasRefAttribute = true;
+ } else {
+ attributeUse = XsdAttributeUse::Ptr(new XsdAttributeUse());
+ }
+
+ if (hasAttribute(QString::fromLatin1("default")) && hasAttribute(QString::fromLatin1("fixed"))) {
+ error(QtXmlPatterns::tr("%1 element must not have %2 and %3 attribute together")
+ .arg(formatElement("attribute"))
+ .arg(formatAttribute("default"))
+ .arg(formatAttribute("fixed")));
+ return attributeUse;
+ }
+
+ if (hasRefAttribute) {
+ if (hasAttribute(QString::fromLatin1("form"))) {
+ error(QtXmlPatterns::tr("%1 element must not have %2 and %3 attribute together")
+ .arg(formatElement("attribute"))
+ .arg(formatAttribute("ref"))
+ .arg(formatAttribute("form")));
+ return attributeUse;
+ }
+ if (hasAttribute(QString::fromLatin1("name"))) {
+ error(QtXmlPatterns::tr("%1 element must not have %2 and %3 attribute together")
+ .arg(formatElement("attribute"))
+ .arg(formatAttribute("ref"))
+ .arg(formatAttribute("name")));
+ return attributeUse;
+ }
+ if (hasAttribute(QString::fromLatin1("type"))) {
+ error(QtXmlPatterns::tr("%1 element must not have %2 and %3 attribute together")
+ .arg(formatElement("attribute"))
+ .arg(formatAttribute("ref"))
+ .arg(formatAttribute("type")));
+ return attributeUse;
+ }
+ }
+
+ // parse attributes
+
+ // default, fixed and use are handled by both, attribute use and attribute reference
+ if (hasAttribute(QString::fromLatin1("default"))) {
+ const QString value = readAttribute(QString::fromLatin1("default"));
+ attributeUse->setValueConstraint(XsdAttributeUse::ValueConstraint::Ptr(new XsdAttributeUse::ValueConstraint()));
+ attributeUse->valueConstraint()->setVariety(XsdAttributeUse::ValueConstraint::Default);
+ attributeUse->valueConstraint()->setValue(value);
+ } else if (hasAttribute(QString::fromLatin1("fixed"))) {
+ const QString value = readAttribute(QString::fromLatin1("fixed"));
+ attributeUse->setValueConstraint(XsdAttributeUse::ValueConstraint::Ptr(new XsdAttributeUse::ValueConstraint()));
+ attributeUse->valueConstraint()->setVariety(XsdAttributeUse::ValueConstraint::Fixed);
+ attributeUse->valueConstraint()->setValue(value);
+ }
+
+ if (hasAttribute(QString::fromLatin1("use"))) {
+ const QString value = readAttribute(QString::fromLatin1("use"));
+ if (value != QString::fromLatin1("optional") &&
+ value != QString::fromLatin1("prohibited") &&
+ value != QString::fromLatin1("required")) {
+ attributeContentError("use", "attribute", value);
+ return attributeUse;
+ }
+
+ if (value == QString::fromLatin1("optional"))
+ attributeUse->setUseType(XsdAttributeUse::OptionalUse);
+ else if (value == QString::fromLatin1("prohibited"))
+ attributeUse->setUseType(XsdAttributeUse::ProhibitedUse);
+ else if (value == QString::fromLatin1("required"))
+ attributeUse->setUseType(XsdAttributeUse::RequiredUse);
+
+ if (attributeUse->valueConstraint() && attributeUse->valueConstraint()->variety() == XsdAttributeUse::ValueConstraint::Default && value != QString::fromLatin1("optional")) {
+ error(QtXmlPatterns::tr("%1 attribute of %2 element must have the value %3 because the %4 attribute is set")
+ .arg(formatAttribute("use"))
+ .arg(formatElement("attribute"))
+ .arg(formatData("optional"))
+ .arg(formatElement("default")));
+ return attributeUse;
+ }
+ }
+
+ const XsdAttribute::Ptr attribute(new XsdAttribute());
+
+ attributeUse->setAttribute(attribute);
+ m_componentLocationHash.insert(attribute, currentSourceLocation());
+
+ attribute->setScope(XsdAttribute::Scope::Ptr(new XsdAttribute::Scope()));
+ attribute->scope()->setVariety(XsdAttribute::Scope::Local);
+ attribute->scope()->setParent(parent);
+
+ // now make a difference between attribute reference and attribute use
+ if (hasRefAttribute) {
+ const QString reference = readQNameAttribute(QString::fromLatin1("ref"), "attribute");
+ QXmlName referenceName;
+ convertName(reference, NamespaceSupport::ElementName, referenceName); // translate qualified name into QXmlName
+
+ const XsdAttributeReference::Ptr attributeReference = attributeUse;
+ attributeReference->setReferenceName(referenceName);
+ } else {
+ if (hasAttribute(QString::fromLatin1("name"))) {
+ const QString attributeName = readNameAttribute("attribute");
+
+ QXmlName objectName;
+ if (hasAttribute(QString::fromLatin1("form"))) {
+ const QString value = readAttribute(QString::fromLatin1("form"));
+ if (value != QString::fromLatin1("qualified") && value != QString::fromLatin1("unqualified")) {
+ attributeContentError("form", "attribute", value);
+ return attributeUse;
+ }
+
+ if (value == QString::fromLatin1("qualified")) {
+ objectName = m_namePool->allocateQName(m_targetNamespace, attributeName);
+ } else {
+ objectName = m_namePool->allocateQName(QString(), attributeName);
+ }
+ } else {
+ if (m_attributeFormDefault == QString::fromLatin1("qualified")) {
+ objectName = m_namePool->allocateQName(m_targetNamespace, attributeName);
+ } else {
+ objectName = m_namePool->allocateQName(QString(), attributeName);
+ }
+ }
+
+ if ((objectName.namespaceURI() == StandardNamespaces::xsi) &&
+ (m_namePool->stringForLocalName(objectName.localName()) != QString::fromLatin1("type")) &&
+ (m_namePool->stringForLocalName(objectName.localName()) != QString::fromLatin1("nil")) &&
+ (m_namePool->stringForLocalName(objectName.localName()) != QString::fromLatin1("schemaLocation")) &&
+ (m_namePool->stringForLocalName(objectName.localName()) != QString::fromLatin1("noNamespaceSchemaLocation"))) {
+
+ error(QtXmlPatterns::tr("content of %1 attribute of %2 element must not be from namespace %3")
+ .arg(formatAttribute("name"))
+ .arg(formatElement("attribute"))
+ .arg(formatURI(CommonNamespaces::XSI)));
+ return attributeUse;
+ }
+ if (m_namePool->stringForLocalName(objectName.localName()) == QString::fromLatin1("xmlns")) {
+ error(QtXmlPatterns::tr("%1 attribute of %2 element must not be %3")
+ .arg(formatAttribute("name"))
+ .arg(formatElement("attribute"))
+ .arg(formatData("xmlns")));
+ return attributeUse;
+ }
+
+ attribute->setName(objectName);
+ }
+
+ if (hasAttribute(QString::fromLatin1("type"))) {
+ hasTypeAttribute = true;
+
+ const QString type = readQNameAttribute(QString::fromLatin1("type"), "attribute");
+ QXmlName typeName;
+ convertName(type, NamespaceSupport::ElementName, typeName); // translate qualified name into QXmlName
+ m_schemaResolver->addAttributeType(attribute, typeName, currentSourceLocation()); // add to resolver
+ hasTypeSpecified = true;
+ }
+
+ if (attributeUse->valueConstraint()) {
+ //TODO: check whether assigning the value constraint of the attribute use to the attribute is correct
+ if (!attribute->valueConstraint())
+ attribute->setValueConstraint(XsdAttribute::ValueConstraint::Ptr(new XsdAttribute::ValueConstraint()));
+
+ attribute->valueConstraint()->setVariety((XsdAttribute::ValueConstraint::Variety)attributeUse->valueConstraint()->variety());
+ attribute->valueConstraint()->setValue(attributeUse->valueConstraint()->value());
+ attribute->valueConstraint()->setLexicalForm(attributeUse->valueConstraint()->lexicalForm());
+ }
+ }
+
+ validateIdAttribute("attribute");
+
+ TagValidationHandler tagValidator(XsdTagScope::LocalAttribute, this, m_namePool);
+
+ while (!atEnd()) {
+ readNext();
+
+ if (isEndElement())
+ break;
+
+ if (isStartElement()) {
+ const XsdSchemaToken::NodeName token = XsdSchemaToken::toToken(name());
+ const XsdSchemaToken::NodeName namespaceToken = XsdSchemaToken::toToken(namespaceUri());
+
+ tagValidator.validate(token);
+
+ if (isSchemaTag(XsdSchemaToken::Annotation, token, namespaceToken)) {
+ const XsdAnnotation::Ptr annotation = parseAnnotation();
+ attribute->addAnnotation(annotation);
+ } else if (isSchemaTag(XsdSchemaToken::SimpleType, token, namespaceToken)) {
+ if (hasTypeAttribute) {
+ error(QtXmlPatterns::tr("%1 element with %2 child element must not have a %3 attribute")
+ .arg(formatElement("attribute"))
+ .arg(formatElement("simpleType"))
+ .arg(formatAttribute("type")));
+ break;
+ }
+ if (hasRefAttribute) {
+ error(QtXmlPatterns::tr("%1 element with %2 child element must not have a %3 attribute")
+ .arg(formatElement("attribute"))
+ .arg(formatElement("simpleType"))
+ .arg(formatAttribute("ref")));
+ break;
+ }
+
+ const XsdSimpleType::Ptr type = parseLocalSimpleType();
+ type->setContext(attribute);
+ attribute->setType(type);
+ hasTypeSpecified = true;
+
+ // add it to list of anonymous types as well
+ addAnonymousType(type);
+ } else {
+ parseUnknown();
+ }
+ }
+ }
+
+ if (!hasTypeSpecified) {
+ attribute->setType(BuiltinTypes::xsAnySimpleType); // default value
+ }
+
+ tagValidator.finalize();
+
+ return attributeUse;
+}
+
+XsdAttributeGroup::Ptr XsdSchemaParser::parseNamedAttributeGroup()
+{
+ const ElementNamespaceHandler namespaceHandler(XsdSchemaToken::AttributeGroup, this);
+
+ validateElement(XsdTagScope::NamedAttributeGroup);
+
+ const XsdAttributeGroup::Ptr attributeGroup(new XsdAttributeGroup());
+
+ // parse attributes
+ const QXmlName objectName = m_namePool->allocateQName(m_targetNamespace, readNameAttribute("attributeGroup"));
+ attributeGroup->setName(objectName);
+
+ validateIdAttribute("attributeGroup");
+
+ TagValidationHandler tagValidator(XsdTagScope::NamedAttributeGroup, this, m_namePool);
+
+ while (!atEnd()) {
+ readNext();
+
+ if (isEndElement())
+ break;
+
+ if (isStartElement()) {
+ const XsdSchemaToken::NodeName token = XsdSchemaToken::toToken(name());
+ const XsdSchemaToken::NodeName namespaceToken = XsdSchemaToken::toToken(namespaceUri());
+
+ tagValidator.validate(token);
+
+ if (isSchemaTag(XsdSchemaToken::Annotation, token, namespaceToken)) {
+ const XsdAnnotation::Ptr annotation = parseAnnotation();
+ attributeGroup->addAnnotation(annotation);
+ } else if (isSchemaTag(XsdSchemaToken::Attribute, token, namespaceToken)) {
+ const XsdAttributeUse::Ptr attributeUse = parseLocalAttribute(attributeGroup);
+
+ if (attributeUse->useType() == XsdAttributeUse::ProhibitedUse) {
+ warning(QtXmlPatterns::tr("specifying use='prohibited' inside an attribute group has no effect"));
+ } else {
+ attributeGroup->addAttributeUse(attributeUse);
+ }
+ } else if (isSchemaTag(XsdSchemaToken::AttributeGroup, token, namespaceToken)) {
+ const XsdAttributeUse::Ptr attributeUse = parseReferredAttributeGroup();
+ attributeGroup->addAttributeUse(attributeUse);
+ } else if (isSchemaTag(XsdSchemaToken::AnyAttribute, token, namespaceToken)) {
+ const XsdWildcard::Ptr wildcard = parseAnyAttribute();
+ attributeGroup->setWildcard(wildcard);
+ } else {
+ parseUnknown();
+ }
+ }
+ }
+
+ tagValidator.finalize();
+
+ return attributeGroup;
+}
+
+XsdAttributeUse::Ptr XsdSchemaParser::parseReferredAttributeGroup()
+{
+ const ElementNamespaceHandler namespaceHandler(XsdSchemaToken::AttributeGroup, this);
+
+ validateElement(XsdTagScope::ReferredAttributeGroup);
+
+ const XsdAttributeReference::Ptr attributeReference(new XsdAttributeReference());
+ attributeReference->setType(XsdAttributeReference::AttributeGroup);
+ attributeReference->setSourceLocation(currentSourceLocation());
+
+ // parse attributes
+ const QString reference = readQNameAttribute(QString::fromLatin1("ref"), "attributeGroup");
+ QXmlName referenceName;
+ convertName(reference, NamespaceSupport::ElementName, referenceName); // translate qualified name into QXmlName
+ attributeReference->setReferenceName(referenceName);
+
+ validateIdAttribute("attributeGroup");
+
+ TagValidationHandler tagValidator(XsdTagScope::ReferredAttributeGroup, this, m_namePool);
+
+ while (!atEnd()) {
+ readNext();
+
+ if (isEndElement())
+ break;
+
+ if (isStartElement()) {
+ const XsdSchemaToken::NodeName token = XsdSchemaToken::toToken(name());
+ const XsdSchemaToken::NodeName namespaceToken = XsdSchemaToken::toToken(namespaceUri());
+
+ tagValidator.validate(token);
+
+ if (isSchemaTag(XsdSchemaToken::Annotation, token, namespaceToken)) {
+ const XsdAnnotation::Ptr annotation = parseAnnotation();
+ attributeReference->addAnnotation(annotation);
+ } else {
+ parseUnknown();
+ }
+ }
+ }
+
+ tagValidator.finalize();
+
+ return attributeReference;
+}
+
+XsdElement::Ptr XsdSchemaParser::parseGlobalElement()
+{
+ const ElementNamespaceHandler namespaceHandler(XsdSchemaToken::Element, this);
+
+ validateElement(XsdTagScope::GlobalElement);
+
+ const XsdElement::Ptr element(new XsdElement());
+ element->setScope(XsdElement::Scope::Ptr(new XsdElement::Scope()));
+ element->scope()->setVariety(XsdElement::Scope::Global);
+
+ bool hasTypeAttribute = false;
+ bool hasTypeSpecified = false;
+ bool hasSubstitutionGroup = false;
+
+ // parse attributes
+ const QXmlName objectName = m_namePool->allocateQName(m_targetNamespace, readNameAttribute("element"));
+ element->setName(objectName);
+
+ if (hasAttribute(QString::fromLatin1("abstract"))) {
+ const QString abstract = readAttribute(QString::fromLatin1("abstract"));
+
+ const Boolean::Ptr value = Boolean::fromLexical(abstract);
+ if (value->hasError()) {
+ attributeContentError("abstract", "element", abstract, BuiltinTypes::xsBoolean);
+ return element;
+ }
+
+ element->setIsAbstract(value->as<Boolean>()->value());
+ } else {
+ element->setIsAbstract(false); // the default value
+ }
+
+ if (hasAttribute(QString::fromLatin1("default")) && hasAttribute(QString::fromLatin1("fixed"))) {
+ error(QtXmlPatterns::tr("%1 element must not have %2 and %3 attribute together")
+ .arg(formatElement("element"))
+ .arg(formatAttribute("default"))
+ .arg(formatAttribute("fixed")));
+ return element;
+ }
+
+ if (hasAttribute(QString::fromLatin1("default"))) {
+ const QString value = readAttribute(QString::fromLatin1("default"));
+ element->setValueConstraint(XsdElement::ValueConstraint::Ptr(new XsdElement::ValueConstraint()));
+ element->valueConstraint()->setVariety(XsdElement::ValueConstraint::Default);
+ element->valueConstraint()->setValue(value);
+ } else if (hasAttribute(QString::fromLatin1("fixed"))) {
+ const QString value = readAttribute(QString::fromLatin1("fixed"));
+ element->setValueConstraint(XsdElement::ValueConstraint::Ptr(new XsdElement::ValueConstraint()));
+ element->valueConstraint()->setVariety(XsdElement::ValueConstraint::Fixed);
+ element->valueConstraint()->setValue(value);
+ }
+
+ element->setDisallowedSubstitutions(readBlockingConstraintAttribute(NamedSchemaComponent::ExtensionConstraint | NamedSchemaComponent::RestrictionConstraint | NamedSchemaComponent::SubstitutionConstraint, "element"));
+ element->setSubstitutionGroupExclusions(readDerivationConstraintAttribute(SchemaType::ExtensionConstraint | SchemaType::RestrictionConstraint, "element"));
+
+ if (hasAttribute(QString::fromLatin1("nillable"))) {
+ const QString nillable = readAttribute(QString::fromLatin1("nillable"));
+
+ const Boolean::Ptr value = Boolean::fromLexical(nillable);
+ if (value->hasError()) {
+ attributeContentError("nillable", "element", nillable, BuiltinTypes::xsBoolean);
+ return element;
+ }
+
+ element->setIsNillable(value->as<Boolean>()->value());
+ } else {
+ element->setIsNillable(false); // the default value
+ }
+
+ if (hasAttribute(QString::fromLatin1("type"))) {
+ const QString type = readQNameAttribute(QString::fromLatin1("type"), "element");
+ QXmlName typeName;
+ convertName(type, NamespaceSupport::ElementName, typeName); // translate qualified name into QXmlName
+ m_schemaResolver->addElementType(element, typeName, currentSourceLocation()); // add to resolver
+
+ hasTypeAttribute = true;
+ hasTypeSpecified = true;
+ }
+
+ if (hasAttribute(QString::fromLatin1("substitutionGroup"))) {
+ QList<QXmlName> elementNames;
+
+ const QString value = readAttribute(QString::fromLatin1("substitutionGroup"));
+ const QStringList substitutionGroups = value.split(QLatin1Char(' '), QString::SkipEmptyParts);
+ if (substitutionGroups.isEmpty()) {
+ attributeContentError("substitutionGroup", "element", value, BuiltinTypes::xsQName);
+ return element;
+ }
+
+ for (int i = 0; i < substitutionGroups.count(); ++i) {
+ const QString value = substitutionGroups.at(i).simplified();
+ if (!XPathHelper::isQName(value)) {
+ attributeContentError("substitutionGroup", "element", value, BuiltinTypes::xsQName);
+ return element;
+ }
+
+ QXmlName elementName;
+ convertName(value, NamespaceSupport::ElementName, elementName); // translate qualified name into QXmlName
+ elementNames.append(elementName);
+ }
+
+ m_schemaResolver->addSubstitutionGroupAffiliation(element, elementNames, currentSourceLocation()); // add to resolver
+
+ hasSubstitutionGroup = true;
+ }
+
+ validateIdAttribute("element");
+
+ XsdAlternative::List alternatives;
+
+ TagValidationHandler tagValidator(XsdTagScope::GlobalElement, this, m_namePool);
+
+ while (!atEnd()) {
+ readNext();
+
+ if (isEndElement())
+ break;
+
+ if (isStartElement()) {
+ const XsdSchemaToken::NodeName token = XsdSchemaToken::toToken(name());
+ const XsdSchemaToken::NodeName namespaceToken = XsdSchemaToken::toToken(namespaceUri());
+
+ tagValidator.validate(token);
+
+ if (isSchemaTag(XsdSchemaToken::Annotation, token, namespaceToken)) {
+ const XsdAnnotation::Ptr annotation = parseAnnotation();
+ element->addAnnotation(annotation);
+ } else if (isSchemaTag(XsdSchemaToken::SimpleType, token, namespaceToken)) {
+ if (hasTypeAttribute) {
+ error(QtXmlPatterns::tr("%1 element with %2 child element must not have a %3 attribute")
+ .arg(formatElement("element"))
+ .arg(formatElement("simpleType"))
+ .arg(formatAttribute("type")));
+ return element;
+ }
+
+ const XsdSimpleType::Ptr type = parseLocalSimpleType();
+ type->setContext(element);
+ element->setType(type);
+
+ // add it to list of anonymous types as well
+ addAnonymousType(type);
+
+ hasTypeSpecified = true;
+ } else if (isSchemaTag(XsdSchemaToken::ComplexType, token, namespaceToken)) {
+ if (hasTypeAttribute) {
+ error(QtXmlPatterns::tr("%1 element with %2 child element must not have a %3 attribute")
+ .arg(formatElement("element"))
+ .arg(formatElement("complexType"))
+ .arg(formatAttribute("type")));
+ return element;
+ }
+
+ const XsdComplexType::Ptr type = parseLocalComplexType();
+ type->setContext(element);
+ element->setType(type);
+
+ // add it to list of anonymous types as well
+ addAnonymousType(type);
+
+ hasTypeSpecified = true;
+ } else if (isSchemaTag(XsdSchemaToken::Alternative, token, namespaceToken)) {
+ const XsdAlternative::Ptr alternative = parseAlternative();
+ alternatives.append(alternative);
+ } else if (isSchemaTag(XsdSchemaToken::Unique, token, namespaceToken)) {
+ const XsdIdentityConstraint::Ptr constraint = parseUnique();
+ element->addIdentityConstraint(constraint);
+ } else if (isSchemaTag(XsdSchemaToken::Key, token, namespaceToken)) {
+ const XsdIdentityConstraint::Ptr constraint = parseKey();
+ element->addIdentityConstraint(constraint);
+ } else if (isSchemaTag(XsdSchemaToken::Keyref, token, namespaceToken)) {
+ const XsdIdentityConstraint::Ptr constraint = parseKeyRef(element);
+ element->addIdentityConstraint(constraint);
+ } else {
+ parseUnknown();
+ }
+ }
+ }
+
+ tagValidator.finalize();
+
+ if (!hasTypeSpecified) {
+ if (hasSubstitutionGroup)
+ m_schemaResolver->addSubstitutionGroupType(element);
+ else
+ element->setType(BuiltinTypes::xsAnyType);
+ }
+
+ if (!alternatives.isEmpty()) {
+ element->setTypeTable(XsdElement::TypeTable::Ptr(new XsdElement::TypeTable()));
+
+ for (int i = 0; i < alternatives.count(); ++i) {
+ if (alternatives.at(i)->test())
+ element->typeTable()->addAlternative(alternatives.at(i));
+
+ if (i == (alternatives.count() - 1)) { // the final one
+ if (!alternatives.at(i)->test()) {
+ element->typeTable()->setDefaultTypeDefinition(alternatives.at(i));
+ } else {
+ const XsdAlternative::Ptr alternative(new XsdAlternative());
+ if (element->type())
+ alternative->setType(element->type());
+ else
+ m_schemaResolver->addAlternativeType(alternative, element); // add to resolver
+
+ element->typeTable()->setDefaultTypeDefinition(alternative);
+ }
+ }
+ }
+ }
+
+ return element;
+}
+
+XsdTerm::Ptr XsdSchemaParser::parseLocalElement(const XsdParticle::Ptr &particle, const NamedSchemaComponent::Ptr &parent)
+{
+ const ElementNamespaceHandler namespaceHandler(XsdSchemaToken::Element, this);
+
+ validateElement(XsdTagScope::LocalElement);
+
+ bool hasRefAttribute = false;
+ bool hasTypeAttribute = false;
+ bool hasTypeSpecified = false;
+
+ XsdTerm::Ptr term;
+ XsdElement::Ptr element;
+ if (hasAttribute(QString::fromLatin1("ref"))) {
+ term = XsdReference::Ptr(new XsdReference());
+ hasRefAttribute = true;
+ } else {
+ term = XsdElement::Ptr(new XsdElement());
+ element = term;
+ }
+
+ if (hasRefAttribute) {
+ if (hasAttribute(QString::fromLatin1("name"))) {
+ error(QtXmlPatterns::tr("%1 element must not have %2 and %3 attribute together")
+ .arg(formatElement("element"))
+ .arg(formatAttribute("ref"))
+ .arg(formatAttribute("name")));
+ return term;
+ } else if (hasAttribute(QString::fromLatin1("block"))) {
+ error(QtXmlPatterns::tr("%1 element must not have %2 and %3 attribute together")
+ .arg(formatElement("element"))
+ .arg(formatAttribute("ref"))
+ .arg(formatAttribute("block")));
+ return term;
+ } else if (hasAttribute(QString::fromLatin1("nillable"))) {
+ error(QtXmlPatterns::tr("%1 element must not have %2 and %3 attribute together")
+ .arg(formatElement("element"))
+ .arg(formatAttribute("ref"))
+ .arg(formatAttribute("nillable")));
+ return term;
+ } else if (hasAttribute(QString::fromLatin1("default"))) {
+ error(QtXmlPatterns::tr("%1 element must not have %2 and %3 attribute together")
+ .arg(formatElement("element"))
+ .arg(formatAttribute("ref"))
+ .arg(formatAttribute("default")));
+ return term;
+ } else if (hasAttribute(QString::fromLatin1("fixed"))) {
+ error(QtXmlPatterns::tr("%1 element must not have %2 and %3 attribute together")
+ .arg(formatElement("element"))
+ .arg(formatAttribute("ref"))
+ .arg(formatAttribute("fixed")));
+ return term;
+ } else if (hasAttribute(QString::fromLatin1("form"))) {
+ error(QtXmlPatterns::tr("%1 element must not have %2 and %3 attribute together")
+ .arg(formatElement("element"))
+ .arg(formatAttribute("ref"))
+ .arg(formatAttribute("form")));
+ return term;
+ } else if (hasAttribute(QString::fromLatin1("type"))) {
+ error(QtXmlPatterns::tr("%1 element must not have %2 and %3 attribute together")
+ .arg(formatElement("element"))
+ .arg(formatAttribute("ref"))
+ .arg(formatAttribute("type")));
+ return term;
+ }
+ }
+
+ // parse attributes
+ if (!parseMinMaxConstraint(particle, "element")) {
+ return element;
+ }
+
+ if (!hasAttribute(QString::fromLatin1("name")) && !hasAttribute(QString::fromLatin1("ref"))) {
+ error(QtXmlPatterns::tr("%1 element must have either %2 or %3 attribute")
+ .arg(formatElement("element"))
+ .arg(formatAttribute("name"))
+ .arg(formatAttribute("ref")));
+ return element;
+ }
+
+ if (hasRefAttribute) {
+ const QString ref = readQNameAttribute(QString::fromLatin1("ref"), "element");
+ QXmlName referenceName;
+ convertName(ref, NamespaceSupport::ElementName, referenceName); // translate qualified name into QXmlName
+
+ const XsdReference::Ptr reference = term;
+ reference->setReferenceName(referenceName);
+ reference->setType(XsdReference::Element);
+ reference->setSourceLocation(currentSourceLocation());
+ } else {
+ element->setScope(XsdElement::Scope::Ptr(new XsdElement::Scope()));
+ element->scope()->setVariety(XsdElement::Scope::Local);
+ element->scope()->setParent(parent);
+
+ if (hasAttribute(QString::fromLatin1("name"))) {
+ const QString elementName = readNameAttribute("element");
+
+ QXmlName objectName;
+ if (hasAttribute(QString::fromLatin1("form"))) {
+ const QString value = readAttribute(QString::fromLatin1("form"));
+ if (value != QString::fromLatin1("qualified") && value != QString::fromLatin1("unqualified")) {
+ attributeContentError("form", "element", value);
+ return element;
+ }
+
+ if (value == QString::fromLatin1("qualified")) {
+ objectName = m_namePool->allocateQName(m_targetNamespace, elementName);
+ } else {
+ objectName = m_namePool->allocateQName(QString(), elementName);
+ }
+ } else {
+ if (m_elementFormDefault == QString::fromLatin1("qualified")) {
+ objectName = m_namePool->allocateQName(m_targetNamespace, elementName);
+ } else {
+ objectName = m_namePool->allocateQName(QString(), elementName);
+ }
+ }
+
+ element->setName(objectName);
+ }
+
+ if (hasAttribute(QString::fromLatin1("nillable"))) {
+ const QString nillable = readAttribute(QString::fromLatin1("nillable"));
+
+ const Boolean::Ptr value = Boolean::fromLexical(nillable);
+ if (value->hasError()) {
+ attributeContentError("nillable", "element", nillable, BuiltinTypes::xsBoolean);
+ return term;
+ }
+
+ element->setIsNillable(value->as<Boolean>()->value());
+ } else {
+ element->setIsNillable(false); // the default value
+ }
+
+ if (hasAttribute(QString::fromLatin1("default")) && hasAttribute(QString::fromLatin1("fixed"))) {
+ error(QtXmlPatterns::tr("%1 element must not have %2 and %3 attribute together")
+ .arg(formatElement("element"))
+ .arg(formatAttribute("default"))
+ .arg(formatAttribute("fixed")));
+ return element;
+ }
+
+ if (hasAttribute(QString::fromLatin1("default"))) {
+ const QString value = readAttribute(QString::fromLatin1("default"));
+ element->setValueConstraint(XsdElement::ValueConstraint::Ptr(new XsdElement::ValueConstraint()));
+ element->valueConstraint()->setVariety(XsdElement::ValueConstraint::Default);
+ element->valueConstraint()->setValue(value);
+ } else if (hasAttribute(QString::fromLatin1("fixed"))) {
+ const QString value = readAttribute(QString::fromLatin1("fixed"));
+ element->setValueConstraint(XsdElement::ValueConstraint::Ptr(new XsdElement::ValueConstraint()));
+ element->valueConstraint()->setVariety(XsdElement::ValueConstraint::Fixed);
+ element->valueConstraint()->setValue(value);
+ }
+
+ if (hasAttribute(QString::fromLatin1("type"))) {
+ const QString type = readQNameAttribute(QString::fromLatin1("type"), "element");
+ QXmlName typeName;
+ convertName(type, NamespaceSupport::ElementName, typeName); // translate qualified name into QXmlName
+ m_schemaResolver->addElementType(element, typeName, currentSourceLocation()); // add to resolver
+
+ hasTypeAttribute = true;
+ hasTypeSpecified = true;
+ }
+
+ element->setDisallowedSubstitutions(readBlockingConstraintAttribute(NamedSchemaComponent::ExtensionConstraint | NamedSchemaComponent::RestrictionConstraint | NamedSchemaComponent::SubstitutionConstraint, "element"));
+ }
+
+ validateIdAttribute("element");
+
+ XsdAlternative::List alternatives;
+
+ TagValidationHandler tagValidator(XsdTagScope::LocalElement, this, m_namePool);
+
+ while (!atEnd()) {
+ readNext();
+
+ if (isEndElement())
+ break;
+
+ if (isStartElement()) {
+ const XsdSchemaToken::NodeName token = XsdSchemaToken::toToken(name());
+ const XsdSchemaToken::NodeName namespaceToken = XsdSchemaToken::toToken(namespaceUri());
+
+ tagValidator.validate(token);
+
+ if (isSchemaTag(XsdSchemaToken::Annotation, token, namespaceToken)) {
+ const XsdAnnotation::Ptr annotation = parseAnnotation();
+ element->addAnnotation(annotation);
+ } else if (isSchemaTag(XsdSchemaToken::SimpleType, token, namespaceToken)) {
+ if (hasRefAttribute) {
+ error(QtXmlPatterns::tr("%1 element with %2 child element must not have a %3 attribute")
+ .arg(formatElement("element"))
+ .arg(formatElement("simpleType"))
+ .arg(formatAttribute("ref")));
+ return term;
+ } else if (hasTypeAttribute) {
+ error(QtXmlPatterns::tr("%1 element with %2 child element must not have a %3 attribute")
+ .arg(formatElement("element"))
+ .arg(formatElement("simpleType"))
+ .arg(formatAttribute("type")));
+ return term;
+ }
+
+ const XsdSimpleType::Ptr type = parseLocalSimpleType();
+ type->setContext(element);
+ element->setType(type);
+
+ // add it to list of anonymous types as well
+ addAnonymousType(type);
+
+ hasTypeSpecified = true;
+ } else if (isSchemaTag(XsdSchemaToken::ComplexType, token, namespaceToken)) {
+ if (hasRefAttribute) {
+ error(QtXmlPatterns::tr("%1 element with %2 child element must not have a %3 attribute")
+ .arg(formatElement("element"))
+ .arg(formatElement("complexType"))
+ .arg(formatAttribute("ref")));
+ return term;
+ } else if (hasTypeAttribute) {
+ error(QtXmlPatterns::tr("%1 element with %2 child element must not have a %3 attribute")
+ .arg(formatElement("element"))
+ .arg(formatElement("complexType"))
+ .arg(formatAttribute("type")));
+ return term;
+ }
+
+ const XsdComplexType::Ptr type = parseLocalComplexType();
+ type->setContext(element);
+ element->setType(type);
+
+ // add it to list of anonymous types as well
+ addAnonymousType(type);
+
+ hasTypeSpecified = true;
+ } else if (isSchemaTag(XsdSchemaToken::Alternative, token, namespaceToken)) {
+ if (hasRefAttribute) {
+ error(QtXmlPatterns::tr("%1 element with %2 child element must not have a %3 attribute")
+ .arg(formatElement("element"))
+ .arg(formatElement("alternative"))
+ .arg(formatAttribute("ref")));
+ return term;
+ }
+
+ const XsdAlternative::Ptr alternative = parseAlternative();
+ alternatives.append(alternative);
+ } else if (isSchemaTag(XsdSchemaToken::Unique, token, namespaceToken)) {
+ if (hasRefAttribute) {
+ error(QtXmlPatterns::tr("%1 element with %2 child element must not have a %3 attribute")
+ .arg(formatElement("element"))
+ .arg(formatElement("unique"))
+ .arg(formatAttribute("ref")));
+ return term;
+ }
+
+ const XsdIdentityConstraint::Ptr constraint = parseUnique();
+ element->addIdentityConstraint(constraint);
+ } else if (isSchemaTag(XsdSchemaToken::Key, token, namespaceToken)) {
+ if (hasRefAttribute) {
+ error(QtXmlPatterns::tr("%1 element with %2 child element must not have a %3 attribute")
+ .arg(formatElement("element"))
+ .arg(formatElement("key"))
+ .arg(formatAttribute("ref")));
+ return term;
+ }
+
+ const XsdIdentityConstraint::Ptr constraint = parseKey();
+ element->addIdentityConstraint(constraint);
+ } else if (isSchemaTag(XsdSchemaToken::Keyref, token, namespaceToken)) {
+ if (hasRefAttribute) {
+ error(QtXmlPatterns::tr("%1 element with %2 child element must not have a %3 attribute")
+ .arg(formatElement("element"))
+ .arg(formatElement("keyref"))
+ .arg(formatAttribute("ref")));
+ return term;
+ }
+
+ const XsdIdentityConstraint::Ptr constraint = parseKeyRef(element);
+ element->addIdentityConstraint(constraint);
+ } else {
+ parseUnknown();
+ }
+ }
+ }
+
+ tagValidator.finalize();
+
+ if (!hasTypeSpecified && !hasRefAttribute)
+ element->setType(BuiltinTypes::xsAnyType);
+
+ if (!hasRefAttribute && !alternatives.isEmpty()) {
+ element->setTypeTable(XsdElement::TypeTable::Ptr(new XsdElement::TypeTable()));
+
+ for (int i = 0; i < alternatives.count(); ++i) {
+ if (alternatives.at(i)->test())
+ element->typeTable()->addAlternative(alternatives.at(i));
+
+ if (i == (alternatives.count() - 1)) { // the final one
+ if (!alternatives.at(i)->test()) {
+ element->typeTable()->setDefaultTypeDefinition(alternatives.at(i));
+ } else {
+ const XsdAlternative::Ptr alternative(new XsdAlternative());
+ if (element->type())
+ alternative->setType(element->type());
+ else
+ m_schemaResolver->addAlternativeType(alternative, element); // add to resolver
+
+ element->typeTable()->setDefaultTypeDefinition(alternative);
+ }
+ }
+ }
+ }
+
+ return term;
+}
+
+XsdIdentityConstraint::Ptr XsdSchemaParser::parseUnique()
+{
+ const ElementNamespaceHandler namespaceHandler(XsdSchemaToken::Unique, this);
+
+ validateElement(XsdTagScope::Unique);
+
+ const XsdIdentityConstraint::Ptr constraint(new XsdIdentityConstraint());
+ constraint->setCategory(XsdIdentityConstraint::Unique);
+
+ // parse attributes
+ const QXmlName objectName = m_namePool->allocateQName(m_targetNamespace, readNameAttribute("unique"));
+ constraint->setName(objectName);
+
+ validateIdAttribute("unique");
+
+ TagValidationHandler tagValidator(XsdTagScope::Unique, this, m_namePool);
+
+ while (!atEnd()) {
+ readNext();
+
+ if (isEndElement())
+ break;
+
+ if (isStartElement()) {
+ const XsdSchemaToken::NodeName token = XsdSchemaToken::toToken(name());
+ const XsdSchemaToken::NodeName namespaceToken = XsdSchemaToken::toToken(namespaceUri());
+
+ tagValidator.validate(token);
+
+ if (isSchemaTag(XsdSchemaToken::Annotation, token, namespaceToken)) {
+ const XsdAnnotation::Ptr annotation = parseAnnotation();
+ constraint->addAnnotation(annotation);
+ } else if (isSchemaTag(XsdSchemaToken::Selector, token, namespaceToken)) {
+ parseSelector(constraint);
+ } else if (isSchemaTag(XsdSchemaToken::Field, token, namespaceToken)) {
+ parseField(constraint);
+ } else {
+ parseUnknown();
+ }
+ }
+ }
+
+ // add constraint to schema for further checking
+ addIdentityConstraint(constraint);
+
+ tagValidator.finalize();
+
+ return constraint;
+}
+
+XsdIdentityConstraint::Ptr XsdSchemaParser::parseKey()
+{
+ const ElementNamespaceHandler namespaceHandler(XsdSchemaToken::Key, this);
+
+ validateElement(XsdTagScope::Key);
+
+ const XsdIdentityConstraint::Ptr constraint(new XsdIdentityConstraint());
+ constraint->setCategory(XsdIdentityConstraint::Key);
+
+ // parse attributes
+ const QXmlName objectName = m_namePool->allocateQName(m_targetNamespace, readNameAttribute("key"));
+ constraint->setName(objectName);
+
+ validateIdAttribute("key");
+
+ TagValidationHandler tagValidator(XsdTagScope::Key, this, m_namePool);
+
+ while (!atEnd()) {
+ readNext();
+
+ if (isEndElement())
+ break;
+
+ if (isStartElement()) {
+ const XsdSchemaToken::NodeName token = XsdSchemaToken::toToken(name());
+ const XsdSchemaToken::NodeName namespaceToken = XsdSchemaToken::toToken(namespaceUri());
+
+ tagValidator.validate(token);
+
+ if (isSchemaTag(XsdSchemaToken::Annotation, token, namespaceToken)) {
+ const XsdAnnotation::Ptr annotation = parseAnnotation();
+ constraint->addAnnotation(annotation);
+ } else if (isSchemaTag(XsdSchemaToken::Selector, token, namespaceToken)) {
+ parseSelector(constraint);
+ } else if (isSchemaTag(XsdSchemaToken::Field, token, namespaceToken)) {
+ parseField(constraint);
+ } else {
+ parseUnknown();
+ }
+ }
+ }
+
+ // add constraint to schema for further checking
+ addIdentityConstraint(constraint);
+
+ tagValidator.finalize();
+
+ return constraint;
+}
+
+XsdIdentityConstraint::Ptr XsdSchemaParser::parseKeyRef(const XsdElement::Ptr &element)
+{
+ const ElementNamespaceHandler namespaceHandler(XsdSchemaToken::Keyref, this);
+
+ validateElement(XsdTagScope::KeyRef);
+
+ const XsdIdentityConstraint::Ptr constraint(new XsdIdentityConstraint());
+ constraint->setCategory(XsdIdentityConstraint::KeyReference);
+
+ // parse attributes
+ const QXmlName objectName = m_namePool->allocateQName(m_targetNamespace, readNameAttribute("keyref"));
+ constraint->setName(objectName);
+
+ const QString refer = readQNameAttribute(QString::fromLatin1("refer"), "keyref");
+ QXmlName referenceName;
+ convertName(refer, NamespaceSupport::ElementName, referenceName); // translate qualified name into QXmlName
+ m_schemaResolver->addKeyReference(element, constraint, referenceName, currentSourceLocation()); // add to resolver
+
+ validateIdAttribute("keyref");
+
+ TagValidationHandler tagValidator(XsdTagScope::KeyRef, this, m_namePool);
+
+ while (!atEnd()) {
+ readNext();
+
+ if (isEndElement())
+ break;
+
+ if (isStartElement()) {
+ const XsdSchemaToken::NodeName token = XsdSchemaToken::toToken(name());
+ const XsdSchemaToken::NodeName namespaceToken = XsdSchemaToken::toToken(namespaceUri());
+
+ tagValidator.validate(token);
+
+ if (isSchemaTag(XsdSchemaToken::Annotation, token, namespaceToken)) {
+ const XsdAnnotation::Ptr annotation = parseAnnotation();
+ constraint->addAnnotation(annotation);
+ } else if (isSchemaTag(XsdSchemaToken::Selector, token, namespaceToken)) {
+ parseSelector(constraint);
+ } else if (isSchemaTag(XsdSchemaToken::Field, token, namespaceToken)) {
+ parseField(constraint);
+ } else {
+ parseUnknown();
+ }
+ }
+ }
+
+ // add constraint to schema for further checking
+ addIdentityConstraint(constraint);
+
+ tagValidator.finalize();
+
+ return constraint;
+}
+
+void XsdSchemaParser::parseSelector(const XsdIdentityConstraint::Ptr &ptr)
+{
+ const ElementNamespaceHandler namespaceHandler(XsdSchemaToken::Selector, this);
+
+ validateElement(XsdTagScope::Selector);
+
+ // parse attributes
+ const XsdXPathExpression::Ptr expression = readXPathExpression("selector");
+
+ const QString xpath = readXPathAttribute(QString::fromLatin1("xpath"), XPathSelector, "selector");
+ expression->setExpression(xpath);
+
+ ptr->setSelector(expression);
+
+ validateIdAttribute("selector");
+
+ TagValidationHandler tagValidator(XsdTagScope::Selector, this, m_namePool);
+
+ while (!atEnd()) {
+ readNext();
+
+ if (isEndElement())
+ break;
+
+ if (isStartElement()) {
+ const XsdSchemaToken::NodeName token = XsdSchemaToken::toToken(name());
+ const XsdSchemaToken::NodeName namespaceToken = XsdSchemaToken::toToken(namespaceUri());
+
+ tagValidator.validate(token);
+
+ if (isSchemaTag(XsdSchemaToken::Annotation, token, namespaceToken)) {
+ const XsdAnnotation::Ptr annotation = parseAnnotation();
+ expression->addAnnotation(annotation);
+ } else {
+ parseUnknown();
+ }
+ }
+ }
+
+ tagValidator.finalize();
+}
+
+void XsdSchemaParser::parseField(const XsdIdentityConstraint::Ptr &ptr)
+{
+ const ElementNamespaceHandler namespaceHandler(XsdSchemaToken::Field, this);
+
+ validateElement(XsdTagScope::Field);
+
+ // parse attributes
+ const XsdXPathExpression::Ptr expression = readXPathExpression("field");
+
+ const QString xpath = readXPathAttribute(QString::fromLatin1("xpath"), XPathField, "field");
+ expression->setExpression(xpath);
+
+ ptr->addField(expression);
+
+ validateIdAttribute("field");
+
+ TagValidationHandler tagValidator(XsdTagScope::Field, this, m_namePool);
+
+ while (!atEnd()) {
+ readNext();
+
+ if (isEndElement())
+ break;
+
+ if (isStartElement()) {
+ const XsdSchemaToken::NodeName token = XsdSchemaToken::toToken(name());
+ const XsdSchemaToken::NodeName namespaceToken = XsdSchemaToken::toToken(namespaceUri());
+
+ tagValidator.validate(token);
+
+ if (isSchemaTag(XsdSchemaToken::Annotation, token, namespaceToken)) {
+ const XsdAnnotation::Ptr annotation = parseAnnotation();
+ expression->addAnnotation(annotation);
+ } else {
+ parseUnknown();
+ }
+ }
+ }
+
+ tagValidator.finalize();
+}
+
+XsdAlternative::Ptr XsdSchemaParser::parseAlternative()
+{
+ const ElementNamespaceHandler namespaceHandler(XsdSchemaToken::Alternative, this);
+
+ validateElement(XsdTagScope::Alternative);
+
+ const XsdAlternative::Ptr alternative(new XsdAlternative());
+
+ bool hasTypeSpecified = false;
+
+ if (hasAttribute(QString::fromLatin1("test"))) {
+ const XsdXPathExpression::Ptr expression = readXPathExpression("alternative");
+
+ const QString test = readXPathAttribute(QString::fromLatin1("test"), XPath20, "alternative");
+ expression->setExpression(test);
+
+ alternative->setTest(expression);
+ }
+
+ if (hasAttribute(QString::fromLatin1("type"))) {
+ const QString type = readQNameAttribute(QString::fromLatin1("type"), "alternative");
+ QXmlName typeName;
+ convertName(type, NamespaceSupport::ElementName, typeName); // translate qualified name into QXmlName
+ m_schemaResolver->addAlternativeType(alternative, typeName, currentSourceLocation()); // add to resolver
+
+ hasTypeSpecified = true;
+ }
+
+ validateIdAttribute("alternative");
+
+ TagValidationHandler tagValidator(XsdTagScope::Alternative, this, m_namePool);
+
+ while (!atEnd()) {
+ readNext();
+
+ if (isEndElement())
+ break;
+
+ if (isStartElement()) {
+ const XsdSchemaToken::NodeName token = XsdSchemaToken::toToken(name());
+ const XsdSchemaToken::NodeName namespaceToken = XsdSchemaToken::toToken(namespaceUri());
+
+ tagValidator.validate(token);
+
+ if (isSchemaTag(XsdSchemaToken::Annotation, token, namespaceToken)) {
+ const XsdAnnotation::Ptr annotation = parseAnnotation();
+ alternative->addAnnotation(annotation);
+ } else if (isSchemaTag(XsdSchemaToken::SimpleType, token, namespaceToken)) {
+ const XsdSimpleType::Ptr type = parseLocalSimpleType();
+ alternative->setType(type);
+
+ // add it to list of anonymous types as well
+ addAnonymousType(type);
+
+ hasTypeSpecified = true;
+ } else if (isSchemaTag(XsdSchemaToken::ComplexType, token, namespaceToken)) {
+ const XsdComplexType::Ptr type = parseLocalComplexType();
+ alternative->setType(type);
+
+ // add it to list of anonymous types as well
+ addAnonymousType(type);
+
+ hasTypeSpecified = true;
+ } else {
+ parseUnknown();
+ }
+ }
+ }
+
+ tagValidator.finalize();
+
+ if (!hasTypeSpecified) {
+ error(QtXmlPatterns::tr("%1 element must have either %2 attribute or %3 or %4 as child element")
+ .arg(formatElement("alternative"))
+ .arg(formatAttribute("type"))
+ .arg(formatElement("simpleType"))
+ .arg(formatElement("complexType")));
+ return alternative;
+ }
+
+ return alternative;
+}
+
+XsdNotation::Ptr XsdSchemaParser::parseNotation()
+{
+ const ElementNamespaceHandler namespaceHandler(XsdSchemaToken::Notation, this);
+
+ validateElement(XsdTagScope::Notation);
+
+ const XsdNotation::Ptr notation(new XsdNotation());
+
+ // parse attributes
+ const QXmlName objectName = m_namePool->allocateQName(m_targetNamespace, readNameAttribute("notation"));
+ notation->setName(objectName);
+
+ bool hasOptionalAttribute = false;
+
+ if (hasAttribute(QString::fromLatin1("public"))) {
+ const QString value = readAttribute(QString::fromLatin1("public"));
+ if (!value.isEmpty()) {
+ const DerivedString<TypeToken>::Ptr publicId = DerivedString<TypeToken>::fromLexical(m_namePool, value);
+ if (publicId->hasError()) {
+ attributeContentError("public", "notation", value, BuiltinTypes::xsToken);
+ return notation;
+ }
+ notation->setPublicId(publicId);
+ }
+
+ hasOptionalAttribute = true;
+ }
+
+ if (hasAttribute(QString::fromLatin1("system"))) {
+ const QString value = readAttribute(QString::fromLatin1("system"));
+ if (!isValidUri(value)) {
+ attributeContentError("system", "notation", value, BuiltinTypes::xsAnyURI);
+ return notation;
+ }
+
+ if (!value.isEmpty()) {
+ const AnyURI::Ptr systemId = AnyURI::fromLexical(value);
+ notation->setSystemId(systemId);
+ }
+
+ hasOptionalAttribute = true;
+ }
+
+ if (!hasOptionalAttribute) {
+ error(QtXmlPatterns::tr("%1 element requires either %2 or %3 attribute")
+ .arg(formatElement("notation"))
+ .arg(formatAttribute("public"))
+ .arg(formatAttribute("system")));
+ return notation;
+ }
+
+ validateIdAttribute("notation");
+
+ TagValidationHandler tagValidator(XsdTagScope::Notation, this, m_namePool);
+
+ while (!atEnd()) {
+ readNext();
+
+ if (isEndElement())
+ break;
+
+ if (isCharacters() || isEntityReference()) {
+ if (!text().toString().trimmed().isEmpty()) {
+ error(QtXmlPatterns::tr("text or entity references not allowed inside %1 element").arg(formatElement("notation")));
+ return notation;
+ }
+ }
+
+ if (isStartElement()) {
+ const XsdSchemaToken::NodeName token = XsdSchemaToken::toToken(name());
+ const XsdSchemaToken::NodeName namespaceToken = XsdSchemaToken::toToken(namespaceUri());
+
+ tagValidator.validate(token);
+
+ if (isSchemaTag(XsdSchemaToken::Annotation, token, namespaceToken)) {
+ const XsdAnnotation::Ptr annotation = parseAnnotation();
+ notation->addAnnotation(annotation);
+ } else {
+ parseUnknown();
+ }
+ }
+ }
+
+ tagValidator.finalize();
+
+ return notation;
+}
+
+XsdWildcard::Ptr XsdSchemaParser::parseAny(const XsdParticle::Ptr &particle)
+{
+ const ElementNamespaceHandler namespaceHandler(XsdSchemaToken::Any, this);
+
+ validateElement(XsdTagScope::Any);
+
+ const XsdWildcard::Ptr wildcard(new XsdWildcard());
+
+ // parse attributes
+ if (!parseMinMaxConstraint(particle, "any")) {
+ return wildcard;
+ }
+
+ if (hasAttribute(QString::fromLatin1("namespace"))) {
+ const QSet<QString> values = readAttribute(QString::fromLatin1("namespace")).split(QLatin1Char(' '), QString::SkipEmptyParts).toSet();
+ if ((values.contains(QString::fromLatin1("##any")) || values.contains(QString::fromLatin1("##other"))) && values.count() != 1) {
+ error(QtXmlPatterns::tr("%1 attribute of %2 element must contain %3, %4 or a list of URIs")
+ .arg(formatAttribute("namespace"))
+ .arg(formatElement("any"))
+ .arg(formatData("##any"))
+ .arg(formatData("##other")));
+ return wildcard;
+ }
+
+ if (values.contains(QString::fromLatin1("##any"))) {
+ wildcard->namespaceConstraint()->setVariety(XsdWildcard::NamespaceConstraint::Any);
+ } else if (values.contains(QString::fromLatin1("##other"))) {
+ wildcard->namespaceConstraint()->setVariety(XsdWildcard::NamespaceConstraint::Not);
+ if (!m_targetNamespace.isEmpty())
+ wildcard->namespaceConstraint()->setNamespaces(QSet<QString>() << m_targetNamespace);
+ else
+ wildcard->namespaceConstraint()->setNamespaces(QSet<QString>() << XsdWildcard::absentNamespace());
+ } else {
+ wildcard->namespaceConstraint()->setVariety(XsdWildcard::NamespaceConstraint::Enumeration);
+ QStringList newValues = values.toList();
+
+ // replace the ##targetNamespace entry
+ for (int i = 0; i < newValues.count(); ++i) {
+ if (newValues.at(i) == QString::fromLatin1("##targetNamespace")) {
+ if (!m_targetNamespace.isEmpty())
+ newValues[i] = m_targetNamespace;
+ else
+ newValues[i] = XsdWildcard::absentNamespace();
+ } else if (newValues.at(i) == QString::fromLatin1("##local")) {
+ newValues[i] = XsdWildcard::absentNamespace();
+ }
+ }
+
+ // check for invalid URIs
+ for (int i = 0; i < newValues.count(); ++i) {
+ const QString stringValue = newValues.at(i);
+ if (stringValue == XsdWildcard::absentNamespace())
+ continue;
+
+ if (!isValidUri(stringValue)) {
+ attributeContentError("namespace", "any", stringValue, BuiltinTypes::xsAnyURI);
+ return wildcard;
+ }
+ }
+
+ wildcard->namespaceConstraint()->setNamespaces(newValues.toSet());
+ }
+ } else {
+ wildcard->namespaceConstraint()->setVariety(XsdWildcard::NamespaceConstraint::Any);
+ }
+
+ if (hasAttribute(QString::fromLatin1("processContents"))) {
+ const QString value = readAttribute(QString::fromLatin1("processContents"));
+ if (value != QString::fromLatin1("lax") &&
+ value != QString::fromLatin1("skip") &&
+ value != QString::fromLatin1("strict")) {
+ attributeContentError("processContents", "any", value);
+ return wildcard;
+ }
+
+ if (value == QString::fromLatin1("lax")) {
+ wildcard->setProcessContents(XsdWildcard::Lax);
+ } else if (value == QString::fromLatin1("skip")) {
+ wildcard->setProcessContents(XsdWildcard::Skip);
+ } else if (value == QString::fromLatin1("strict")) {
+ wildcard->setProcessContents(XsdWildcard::Strict);
+ }
+ } else {
+ wildcard->setProcessContents(XsdWildcard::Strict);
+ }
+
+ validateIdAttribute("any");
+
+ TagValidationHandler tagValidator(XsdTagScope::Any, this, m_namePool);
+
+ while (!atEnd()) {
+ readNext();
+
+ if (isEndElement())
+ break;
+
+ if (isStartElement()) {
+ const XsdSchemaToken::NodeName token = XsdSchemaToken::toToken(name());
+ const XsdSchemaToken::NodeName namespaceToken = XsdSchemaToken::toToken(namespaceUri());
+
+ tagValidator.validate(token);
+
+ if (isSchemaTag(XsdSchemaToken::Annotation, token, namespaceToken)) {
+ const XsdAnnotation::Ptr annotation = parseAnnotation();
+ wildcard->addAnnotation(annotation);
+ } else {
+ parseUnknown();
+ }
+ }
+ }
+
+ tagValidator.finalize();
+
+ return wildcard;
+}
+
+XsdWildcard::Ptr XsdSchemaParser::parseAnyAttribute()
+{
+ const ElementNamespaceHandler namespaceHandler(XsdSchemaToken::AnyAttribute, this);
+
+ validateElement(XsdTagScope::AnyAttribute);
+
+ const XsdWildcard::Ptr wildcard(new XsdWildcard());
+
+ // parse attributes
+ if (hasAttribute(QString::fromLatin1("namespace"))) {
+ const QSet<QString> values = readAttribute(QString::fromLatin1("namespace")).split(QLatin1Char(' '), QString::SkipEmptyParts).toSet();
+ if ((values.contains(QString::fromLatin1("##any")) || values.contains(QString::fromLatin1("##other"))) && values.count() != 1) {
+ error(QtXmlPatterns::tr("%1 attribute of %2 element must contain %3, %4 or a list of URIs")
+ .arg(formatAttribute("namespace"))
+ .arg(formatElement("anyAttribute"))
+ .arg(formatData("##any"))
+ .arg(formatData("##other")));
+ return wildcard;
+ }
+
+ if (values.contains(QString::fromLatin1("##any"))) {
+ wildcard->namespaceConstraint()->setVariety(XsdWildcard::NamespaceConstraint::Any);
+ } else if (values.contains(QString::fromLatin1("##other"))) {
+ wildcard->namespaceConstraint()->setVariety(XsdWildcard::NamespaceConstraint::Not);
+ if (!m_targetNamespace.isEmpty())
+ wildcard->namespaceConstraint()->setNamespaces(QSet<QString>() << m_targetNamespace);
+ else
+ wildcard->namespaceConstraint()->setNamespaces(QSet<QString>() << XsdWildcard::absentNamespace());
+ } else {
+ wildcard->namespaceConstraint()->setVariety(XsdWildcard::NamespaceConstraint::Enumeration);
+ QStringList newValues = values.toList();
+
+ // replace the ##targetNamespace entry
+ for (int i = 0; i < newValues.count(); ++i) {
+ if (newValues.at(i) == QString::fromLatin1("##targetNamespace")) {
+ if (!m_targetNamespace.isEmpty())
+ newValues[i] = m_targetNamespace;
+ else
+ newValues[i] = XsdWildcard::absentNamespace();
+ } else if (newValues.at(i) == QString::fromLatin1("##local")) {
+ newValues[i] = XsdWildcard::absentNamespace();
+ }
+ }
+
+ // check for invalid URIs
+ for (int i = 0; i < newValues.count(); ++i) {
+ const QString stringValue = newValues.at(i);
+ if (stringValue == XsdWildcard::absentNamespace())
+ continue;
+
+ if (!isValidUri(stringValue)) {
+ attributeContentError("namespace", "anyAttribute", stringValue, BuiltinTypes::xsAnyURI);
+ return wildcard;
+ }
+ }
+
+ wildcard->namespaceConstraint()->setNamespaces(newValues.toSet());
+ }
+ } else {
+ wildcard->namespaceConstraint()->setVariety(XsdWildcard::NamespaceConstraint::Any);
+ }
+
+ if (hasAttribute(QString::fromLatin1("processContents"))) {
+ const QString value = readAttribute(QString::fromLatin1("processContents"));
+ if (value != QString::fromLatin1("lax") &&
+ value != QString::fromLatin1("skip") &&
+ value != QString::fromLatin1("strict")) {
+ attributeContentError("processContents", "anyAttribute", value);
+ return wildcard;
+ }
+
+ if (value == QString::fromLatin1("lax")) {
+ wildcard->setProcessContents(XsdWildcard::Lax);
+ } else if (value == QString::fromLatin1("skip")) {
+ wildcard->setProcessContents(XsdWildcard::Skip);
+ } else if (value == QString::fromLatin1("strict")) {
+ wildcard->setProcessContents(XsdWildcard::Strict);
+ }
+ } else {
+ wildcard->setProcessContents(XsdWildcard::Strict);
+ }
+
+ validateIdAttribute("anyAttribute");
+
+ TagValidationHandler tagValidator(XsdTagScope::AnyAttribute, this, m_namePool);
+
+ while (!atEnd()) {
+ readNext();
+
+ if (isEndElement())
+ break;
+
+ if (isStartElement()) {
+ const XsdSchemaToken::NodeName token = XsdSchemaToken::toToken(name());
+ const XsdSchemaToken::NodeName namespaceToken = XsdSchemaToken::toToken(namespaceUri());
+
+ tagValidator.validate(token);
+
+ if (isSchemaTag(XsdSchemaToken::Annotation, token, namespaceToken)) {
+ const XsdAnnotation::Ptr annotation = parseAnnotation();
+ wildcard->addAnnotation(annotation);
+ } else {
+ parseUnknown();
+ }
+ }
+ }
+
+ tagValidator.finalize();
+
+ return wildcard;
+}
+
+
+void XsdSchemaParser::parseUnknownDocumentation()
+{
+ Q_ASSERT(isStartElement());
+ m_namespaceSupport.pushContext();
+ m_namespaceSupport.setPrefixes(namespaceDeclarations());
+
+ while (!atEnd()) {
+ readNext();
+
+ if (isEndElement())
+ break;
+
+ if (isStartElement())
+ parseUnknownDocumentation();
+ }
+
+ m_namespaceSupport.popContext();
+}
+
+void XsdSchemaParser::parseUnknown()
+{
+ Q_ASSERT(isStartElement());
+ m_namespaceSupport.pushContext();
+ m_namespaceSupport.setPrefixes(namespaceDeclarations());
+
+ error(QtXmlPatterns::tr("%1 element is not allowed in this context").arg(formatElement(name().toString())));
+
+ while (!atEnd()) {
+ readNext();
+
+ if (isEndElement())
+ break;
+
+ if (isStartElement())
+ parseUnknown();
+ }
+
+ m_namespaceSupport.popContext();
+}
+
+bool XsdSchemaParser::parseMinMaxConstraint(const XsdParticle::Ptr &particle, const char *elementName)
+{
+ if (hasAttribute(QString::fromLatin1("minOccurs"))) {
+ const QString value = readAttribute(QString::fromLatin1("minOccurs"));
+
+ DerivedInteger<TypeNonNegativeInteger>::Ptr integer = DerivedInteger<TypeNonNegativeInteger>::fromLexical(m_namePool, value);
+ if (integer->hasError()) {
+ attributeContentError("minOccurs", elementName, value, BuiltinTypes::xsNonNegativeInteger);
+ return false;
+ } else {
+ particle->setMinimumOccurs(integer->as< DerivedInteger<TypeNonNegativeInteger> >()->storedValue());
+ }
+ } else {
+ particle->setMinimumOccurs(1);
+ }
+
+ if (hasAttribute(QString::fromLatin1("maxOccurs"))) {
+ const QString value = readAttribute(QString::fromLatin1("maxOccurs"));
+
+ if (value == QString::fromLatin1("unbounded")) {
+ particle->setMaximumOccursUnbounded(true);
+ } else {
+ particle->setMaximumOccursUnbounded(false);
+ DerivedInteger<TypeNonNegativeInteger>::Ptr integer = DerivedInteger<TypeNonNegativeInteger>::fromLexical(m_namePool, value);
+ if (integer->hasError()) {
+ attributeContentError("maxOccurs", elementName, value, BuiltinTypes::xsNonNegativeInteger);
+ return false;
+ } else {
+ particle->setMaximumOccurs(integer->as< DerivedInteger<TypeNonNegativeInteger> >()->storedValue());
+ }
+ }
+ } else {
+ particle->setMaximumOccursUnbounded(false);
+ particle->setMaximumOccurs(1);
+ }
+
+ if (!particle->maximumOccursUnbounded()) {
+ if (particle->maximumOccurs() < particle->minimumOccurs()) {
+ error(QtXmlPatterns::tr("%1 attribute of %2 element has larger value than %3 attribute")
+ .arg(formatAttribute("minOccurs"))
+ .arg(formatElement(elementName))
+ .arg(formatAttribute("maxOccurs")));
+ return false;
+ }
+ }
+
+ return true;
+}
+
+QSourceLocation XsdSchemaParser::currentSourceLocation() const
+{
+ QSourceLocation location;
+ location.setLine(lineNumber());
+ location.setColumn(columnNumber());
+ location.setUri(m_documentURI);
+
+ return location;
+}
+
+void XsdSchemaParser::convertName(const QString &qualifiedName, NamespaceSupport::NameType type, QXmlName &name)
+{
+ bool result = m_namespaceSupport.processName(qualifiedName, type, name);
+ if (!result) {
+ error(QtXmlPatterns::tr("prefix of qualified name %1 is not defined").arg(formatKeyword(qualifiedName)));
+ }
+}
+
+QString XsdSchemaParser::readNameAttribute(const char *elementName)
+{
+ const QString value = readAttribute(QString::fromLatin1("name")).simplified();
+ if (!QXmlUtils::isNCName(value)) {
+ attributeContentError("name", elementName, value, BuiltinTypes::xsNCName);
+ return QString();
+ } else {
+ return value;
+ }
+}
+
+QString XsdSchemaParser::readQNameAttribute(const QString &typeAttribute, const char *elementName)
+{
+ const QString value = readAttribute(typeAttribute).simplified();
+ if (!XPathHelper::isQName(value)) {
+ attributeContentError(typeAttribute.toLatin1(), elementName, value, BuiltinTypes::xsQName);
+ return QString();
+ } else {
+ return value;
+ }
+}
+
+QString XsdSchemaParser::readNamespaceAttribute(const QString &attributeName, const char *elementName)
+{
+ const QString value = readAttribute(attributeName);
+ if (value.isEmpty()) {
+ attributeContentError(attributeName.toLatin1(), elementName, value, BuiltinTypes::xsAnyURI);
+ return QString();
+ }
+
+ return value;
+}
+
+SchemaType::DerivationConstraints XsdSchemaParser::readDerivationConstraintAttribute(const SchemaType::DerivationConstraints &allowedConstraints, const char *elementName)
+{
+ // first convert the flags into strings for easier comparision
+ QSet<QString> allowedContent;
+ if (allowedConstraints & SchemaType::RestrictionConstraint)
+ allowedContent.insert(QString::fromLatin1("restriction"));
+ if (allowedConstraints & SchemaType::ExtensionConstraint)
+ allowedContent.insert(QString::fromLatin1("extension"));
+ if (allowedConstraints & SchemaType::ListConstraint)
+ allowedContent.insert(QString::fromLatin1("list"));
+ if (allowedConstraints & SchemaType::UnionConstraint)
+ allowedContent.insert(QString::fromLatin1("union"));
+
+ // read content from the attribute if available, otherwise use the default definitions from the schema tag
+ QString content;
+ if (hasAttribute(QString::fromLatin1("final"))) {
+ content = readAttribute(QString::fromLatin1("final"));
+
+ // split string into list to validate the content of the attribute
+ const QStringList values = content.split(QLatin1Char(' '), QString::SkipEmptyParts);
+ for (int i = 0; i < values.count(); i++) {
+ const QString value = values.at(i);
+ if (!allowedContent.contains(value) && (value != QString::fromLatin1("#all"))) {
+ attributeContentError("final", elementName, value);
+ return SchemaType::DerivationConstraints();
+ }
+
+ if ((value == QString::fromLatin1("#all")) && values.count() != 1) {
+ error(QtXmlPatterns::tr("%1 attribute of %2 element must either contain %3 or the other values")
+ .arg(formatAttribute("final"))
+ .arg(formatElement(elementName))
+ .arg(formatData("#all")));
+ return SchemaType::DerivationConstraints();
+ }
+ }
+ } else {
+ // content of the default value has been validated in parseSchema already
+ content = m_finalDefault;
+ }
+
+ QSet<QString> contentSet = content.split(QLatin1Char(' '), QString::SkipEmptyParts).toSet();
+
+ // if the '#all' tag is defined, we return all allowed values
+ if (contentSet.contains(QString::fromLatin1("#all"))) {
+ return allowedConstraints;
+ } else { // return the values from content set that intersects with the allowed values
+ contentSet.intersect(allowedContent);
+
+ SchemaType::DerivationConstraints constraints;
+
+ if (contentSet.contains(QString::fromLatin1("restriction")))
+ constraints |= SchemaType::RestrictionConstraint;
+ if (contentSet.contains(QString::fromLatin1("extension")))
+ constraints |= SchemaType::ExtensionConstraint;
+ if (contentSet.contains(QString::fromLatin1("list")))
+ constraints |= SchemaType::ListConstraint;
+ if (contentSet.contains(QString::fromLatin1("union")))
+ constraints |= SchemaType::UnionConstraint;
+
+ return constraints;
+ }
+}
+
+NamedSchemaComponent::BlockingConstraints XsdSchemaParser::readBlockingConstraintAttribute(const NamedSchemaComponent::BlockingConstraints &allowedConstraints, const char *elementName)
+{
+ // first convert the flags into strings for easier comparision
+ QSet<QString> allowedContent;
+ if (allowedConstraints & NamedSchemaComponent::RestrictionConstraint)
+ allowedContent.insert(QString::fromLatin1("restriction"));
+ if (allowedConstraints & NamedSchemaComponent::ExtensionConstraint)
+ allowedContent.insert(QString::fromLatin1("extension"));
+ if (allowedConstraints & NamedSchemaComponent::SubstitutionConstraint)
+ allowedContent.insert(QString::fromLatin1("substitution"));
+
+ // read content from the attribute if available, otherwise use the default definitions from the schema tag
+ QString content;
+ if (hasAttribute(QString::fromLatin1("block"))) {
+ content = readAttribute(QString::fromLatin1("block"));
+
+ // split string into list to validate the content of the attribute
+ const QStringList values = content.split(QLatin1Char(' '), QString::SkipEmptyParts);
+ for (int i = 0; i < values.count(); i++) {
+ const QString value = values.at(i);
+ if (!allowedContent.contains(value) && (value != QString::fromLatin1("#all"))) {
+ attributeContentError("block", elementName, value);
+ return NamedSchemaComponent::BlockingConstraints();
+ }
+
+ if ((value == QString::fromLatin1("#all")) && values.count() != 1) {
+ error(QtXmlPatterns::tr("%1 attribute of %2 element must either contain %3 or the other values")
+ .arg(formatAttribute("block"))
+ .arg(formatElement(elementName))
+ .arg(formatData("#all")));
+ return NamedSchemaComponent::BlockingConstraints();
+ }
+ }
+ } else {
+ // content of the default value has been validated in parseSchema already
+ content = m_blockDefault;
+ }
+
+ QSet<QString> contentSet = content.split(QLatin1Char(' '), QString::SkipEmptyParts).toSet();
+
+ // if the '#all' tag is defined, we return all allowed values
+ if (contentSet.contains(QString::fromLatin1("#all"))) {
+ return allowedConstraints;
+ } else { // return the values from content set that intersects with the allowed values
+ contentSet.intersect(allowedContent);
+
+ NamedSchemaComponent::BlockingConstraints constraints;
+
+ if (contentSet.contains(QString::fromLatin1("restriction")))
+ constraints |= NamedSchemaComponent::RestrictionConstraint;
+ if (contentSet.contains(QString::fromLatin1("extension")))
+ constraints |= NamedSchemaComponent::ExtensionConstraint;
+ if (contentSet.contains(QString::fromLatin1("substitution")))
+ constraints |= NamedSchemaComponent::SubstitutionConstraint;
+
+ return constraints;
+ }
+}
+
+XsdXPathExpression::Ptr XsdSchemaParser::readXPathExpression(const char *elementName)
+{
+ const XsdXPathExpression::Ptr expression(new XsdXPathExpression());
+
+ const QList<QXmlName> namespaceBindings = m_namespaceSupport.namespaceBindings();
+ QXmlName emptyName;
+ for (int i = 0; i < namespaceBindings.count(); ++i) {
+ if (namespaceBindings.at(i).prefix() == StandardPrefixes::empty)
+ emptyName = namespaceBindings.at(i);
+ }
+
+ expression->setNamespaceBindings(namespaceBindings);
+
+ QString xpathDefaultNamespace;
+ if (hasAttribute(QString::fromLatin1("xpathDefaultNamespace"))) {
+ xpathDefaultNamespace = readAttribute(QString::fromLatin1("xpathDefaultNamespace"));
+ if (xpathDefaultNamespace != QString::fromLatin1("##defaultNamespace") &&
+ xpathDefaultNamespace != QString::fromLatin1("##targetNamespace") &&
+ xpathDefaultNamespace != QString::fromLatin1("##local")) {
+ if (!isValidUri(xpathDefaultNamespace)) {
+ attributeContentError("xpathDefaultNamespace", elementName, xpathDefaultNamespace, BuiltinTypes::xsAnyURI);
+ return expression;
+ }
+ }
+ } else {
+ xpathDefaultNamespace = m_xpathDefaultNamespace;
+ }
+
+ AnyURI::Ptr namespaceURI;
+ if (xpathDefaultNamespace == QString::fromLatin1("##defaultNamespace")) {
+ if (!emptyName.isNull())
+ namespaceURI = AnyURI::fromLexical(m_namePool->stringForNamespace(emptyName.namespaceURI()));
+ } else if (xpathDefaultNamespace == QString::fromLatin1("##targetNamespace")) {
+ if (!m_targetNamespace.isEmpty())
+ namespaceURI = AnyURI::fromLexical(m_targetNamespace);
+ } else if (xpathDefaultNamespace == QString::fromLatin1("##local")) {
+ // it is absent
+ } else {
+ namespaceURI = AnyURI::fromLexical(xpathDefaultNamespace);
+ }
+ if (namespaceURI) {
+ if (namespaceURI->hasError()) {
+ attributeContentError("xpathDefaultNamespace", elementName, xpathDefaultNamespace, BuiltinTypes::xsAnyURI);
+ return expression;
+ }
+
+ expression->setDefaultNamespace(namespaceURI);
+ }
+
+ //TODO: read the base uri if qmaintaining reader support it
+
+ return expression;
+}
+
+QString XsdSchemaParser::readXPathAttribute(const QString &attributeName, XPathType type, const char *elementName)
+{
+ const QString value = readAttribute(attributeName);
+ if (value.isEmpty() || value.startsWith(QLatin1Char('/'))) {
+ attributeContentError(attributeName.toLatin1(), elementName, value);
+ return QString();
+ }
+
+ QXmlNamePool namePool(m_namePool.data());
+
+ QXmlQuery::QueryLanguage language = QXmlQuery::XPath20;
+ switch (type) {
+ case XPath20: language = QXmlQuery::XPath20; break;
+ case XPathSelector: language = QXmlQuery::XmlSchema11IdentityConstraintSelector; break;
+ case XPathField: language = QXmlQuery::XmlSchema11IdentityConstraintField; break;
+ };
+
+ QXmlQuery query(language, namePool);
+ QXmlQueryPrivate *queryPrivate = query.d;
+
+ const QList<QXmlName> namespaceBindings = m_namespaceSupport.namespaceBindings();
+ for (int i = 0; i < namespaceBindings.count(); ++i) {
+ if (!namespaceBindings.at(i).prefix() == StandardPrefixes::empty)
+ queryPrivate->addAdditionalNamespaceBinding(namespaceBindings.at(i));
+ }
+
+ query.setQuery(value, m_documentURI);
+ if (!query.isValid()) {
+ attributeContentError(attributeName.toLatin1(), elementName, value);
+ return QString();
+ }
+
+ return value;
+}
+
+void XsdSchemaParser::validateIdAttribute(const char *elementName)
+{
+ if (hasAttribute(QString::fromLatin1("id"))) {
+ const QString value = readAttribute(QString::fromLatin1("id"));
+ DerivedString<TypeID>::Ptr id = DerivedString<TypeID>::fromLexical(m_namePool, value);
+ if (id->hasError()) {
+ attributeContentError("id", elementName, value, BuiltinTypes::xsID);
+ } else {
+ if (m_idCache->hasId(value)) {
+ error(QtXmlPatterns::tr("component with id %1 has been defined previously").arg(formatData(value)));
+ } else {
+ m_idCache->addId(value);
+ }
+ }
+ }
+}
+
+bool XsdSchemaParser::isSchemaTag(XsdSchemaToken::NodeName tag, XsdSchemaToken::NodeName token, XsdSchemaToken::NodeName namespaceToken) const
+{
+ return ((tag == token) && (namespaceToken == XsdSchemaToken::XML_NS_SCHEMA_URI));
+}
+
+void XsdSchemaParser::addElement(const XsdElement::Ptr &element)
+{
+ const QXmlName objectName = element->name(m_namePool);
+ if (m_schema->element(objectName)) {
+ error(QtXmlPatterns::tr("element %1 already defined").arg(formatElement(m_namePool->displayName(objectName))));
+ } else {
+ m_schema->addElement(element);
+ m_componentLocationHash.insert(element, currentSourceLocation());
+ }
+}
+
+void XsdSchemaParser::addAttribute(const XsdAttribute::Ptr &attribute)
+{
+ const QXmlName objectName = attribute->name(m_namePool);
+ if (m_schema->attribute(objectName)) {
+ error(QtXmlPatterns::tr("attribute %1 already defined").arg(formatAttribute(m_namePool->displayName(objectName))));
+ } else {
+ m_schema->addAttribute(attribute);
+ m_componentLocationHash.insert(attribute, currentSourceLocation());
+ }
+}
+
+void XsdSchemaParser::addType(const SchemaType::Ptr &type)
+{
+ // we don't import redefinitions of builtin types, that just causes problems
+ if (m_builtinTypeNames.contains(type->name(m_namePool)))
+ return;
+
+ const QXmlName objectName = type->name(m_namePool);
+ if (m_schema->type(objectName)) {
+ error(QtXmlPatterns::tr("type %1 already defined").arg(formatType(m_namePool, objectName)));
+ } else {
+ m_schema->addType(type);
+ if (type->isSimpleType())
+ m_componentLocationHash.insert(XsdSimpleType::Ptr(type), currentSourceLocation());
+ else
+ m_componentLocationHash.insert(XsdComplexType::Ptr(type), currentSourceLocation());
+ }
+}
+
+void XsdSchemaParser::addAnonymousType(const SchemaType::Ptr &type)
+{
+ m_schema->addAnonymousType(type);
+ if (type->isSimpleType())
+ m_componentLocationHash.insert(XsdSimpleType::Ptr(type), currentSourceLocation());
+ else
+ m_componentLocationHash.insert(XsdComplexType::Ptr(type), currentSourceLocation());
+}
+
+void XsdSchemaParser::addAttributeGroup(const XsdAttributeGroup::Ptr &group)
+{
+ const QXmlName objectName = group->name(m_namePool);
+ if (m_schema->attributeGroup(objectName)) {
+ error(QtXmlPatterns::tr("attribute group %1 already defined").arg(formatKeyword(m_namePool, objectName)));
+ } else {
+ m_schema->addAttributeGroup(group);
+ m_componentLocationHash.insert(group, currentSourceLocation());
+ }
+}
+
+void XsdSchemaParser::addElementGroup(const XsdModelGroup::Ptr &group)
+{
+ const QXmlName objectName = group->name(m_namePool);
+ if (m_schema->elementGroup(objectName)) {
+ error(QtXmlPatterns::tr("element group %1 already defined").arg(formatKeyword(m_namePool, objectName)));
+ } else {
+ m_schema->addElementGroup(group);
+ m_componentLocationHash.insert(group, currentSourceLocation());
+ }
+}
+
+void XsdSchemaParser::addNotation(const XsdNotation::Ptr &notation)
+{
+ const QXmlName objectName = notation->name(m_namePool);
+ if (m_schema->notation(objectName)) {
+ error(QtXmlPatterns::tr("notation %1 already defined").arg(formatKeyword(m_namePool, objectName)));
+ } else {
+ m_schema->addNotation(notation);
+ m_componentLocationHash.insert(notation, currentSourceLocation());
+ }
+}
+
+void XsdSchemaParser::addIdentityConstraint(const XsdIdentityConstraint::Ptr &constraint)
+{
+ const QXmlName objectName = constraint->name(m_namePool);
+ if (m_schema->identityConstraint(objectName)) {
+ error(QtXmlPatterns::tr("identity constraint %1 already defined").arg(formatKeyword(m_namePool, objectName)));
+ } else {
+ m_schema->addIdentityConstraint(constraint);
+ m_componentLocationHash.insert(constraint, currentSourceLocation());
+ }
+}
+
+void XsdSchemaParser::addFacet(const XsdFacet::Ptr &facet, XsdFacet::Hash &facets, const SchemaType::Ptr &type)
+{
+ // @see http://www.w3.org/TR/xmlschema-2/#src-single-facet-value
+ if (facets.contains(facet->type())) {
+ error(QtXmlPatterns::tr("duplicated facets in simple type %1").arg(formatType(m_namePool, type)));
+ return;
+ }
+
+ facets.insert(facet->type(), facet);
+}
+
+QT_END_NAMESPACE
diff --git a/src/xmlpatterns/schema/qxsdschemaparser_p.h b/src/xmlpatterns/schema/qxsdschemaparser_p.h
new file mode 100644
index 0000000..51a8e3d
--- /dev/null
+++ b/src/xmlpatterns/schema/qxsdschemaparser_p.h
@@ -0,0 +1,721 @@
+/****************************************************************************
+**
+** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtXmlPatterns of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+
+#ifndef Patternist_XsdSchemaParser_H
+#define Patternist_XsdSchemaParser_H
+
+#include "qnamespacesupport_p.h"
+#include "qxsdalternative_p.h"
+#include "qxsdattribute_p.h"
+#include "qxsdattributegroup_p.h"
+#include "qxsdattributeterm_p.h"
+#include "qxsdcomplextype_p.h"
+#include "qxsdelement_p.h"
+#include "qxsdidcache_p.h"
+#include "qxsdmodelgroup_p.h"
+#include "qxsdnotation_p.h"
+#include "qxsdsimpletype_p.h"
+#include "qxsdschemacontext_p.h"
+#include "qxsdschemaparsercontext_p.h"
+#include "qxsdstatemachine_p.h"
+
+#include <QtCore/QHash>
+#include <QtCore/QSet>
+#include <QtCore/QUrl>
+#include <QtXml/QXmlStreamReader>
+#include <QtXmlPatterns/QXmlNamePool>
+
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+namespace QPatternist
+{
+ /**
+ * @short Implements the parsing of XML schema file.
+ *
+ * This class parses a XML schema in XML presentation from an QIODevice
+ * and returns object representation as XsdSchema.
+ *
+ * @ingroup Patternist_schema
+ * @author Tobias Koenig <tobias.koenig@trolltech.com>
+ */
+ class XsdSchemaParser : public MaintainingReader<XsdSchemaToken, XsdTagScope::Type>
+ {
+ friend class ElementNamespaceHandler;
+ friend class TagValidationHandler;
+
+ public:
+ enum ParserType
+ {
+ TopLevelParser,
+ IncludeParser,
+ ImportParser,
+ RedefineParser
+ };
+
+ /**
+ * Creates a new schema parser object.
+ */
+ XsdSchemaParser(const XsdSchemaContext::Ptr &context, const XsdSchemaParserContext::Ptr &parserContext, QIODevice *device);
+
+ /**
+ * Parses the XML schema file.
+ *
+ * @return @c true on success, @c false if the schema is somehow invalid.
+ */
+ bool parse(ParserType parserType = TopLevelParser);
+
+ /**
+ * Describes a set of namespace URIs
+ */
+ typedef QSet<QUrl> NamespaceSet;
+
+ /**
+ * Sets which @p schemas have been included already, so the parser
+ * can detect circular includes.
+ */
+ void setIncludedSchemas(const NamespaceSet &schemas);
+
+ /**
+ * Sets which @p schemas have been imported already, so the parser
+ * can detect circular imports.
+ */
+ void setImportedSchemas(const NamespaceSet &schemas);
+
+ /**
+ * Sets which @p schemas have been redefined already, so the parser
+ * can detect circular redefines.
+ */
+ void setRedefinedSchemas(const NamespaceSet &schemas);
+
+ /**
+ * Sets the target namespace of the schema to parse.
+ */
+ void setTargetNamespace(const QString &targetNamespace);
+
+ /**
+ * Sets the document URI of the schema to parse.
+ */
+ void setDocumentURI(const QUrl &uri);
+
+ /**
+ * Returns the document URI of the schema to parse.
+ */
+ QUrl documentURI() const;
+
+ /**
+ * Reimplemented from MaintainingReader, always returns @c false.
+ */
+ bool isAnyAttributeAllowed() const;
+
+ private:
+ /**
+ * Used internally to report any kind of parsing error or
+ * schema inconsistency.
+ */
+ virtual void error(const QString &msg);
+
+ void attributeContentError(const char *attributeName, const char *elementName, const QString &value, const SchemaType::Ptr &type = SchemaType::Ptr());
+
+ /**
+ * Sets the target namespace of the schema to parse.
+ */
+ void setTargetNamespaceExtended(const QString &targetNamespace);
+
+ /**
+ * This method is called for parsing the top-level <em>schema</em> object.
+ */
+ void parseSchema(ParserType parserType);
+
+ /**
+ * This method is called for parsing any top-level <em>include</em> object.
+ */
+ void parseInclude();
+
+ /**
+ * This method is called for parsing any top-level <em>import</em> object.
+ */
+ void parseImport();
+
+ /**
+ * This method is called for parsing any top-level <em>redefine</em> object.
+ */
+ void parseRedefine();
+
+ /**
+ * This method is called for parsing any <em>annotation</em> object everywhere
+ * in the schema.
+ */
+ XsdAnnotation::Ptr parseAnnotation();
+
+ /**
+ * This method is called for parsing an <em>appinfo</em> object as child of
+ * an <em>annotation</em> object.
+ */
+ XsdApplicationInformation::Ptr parseAppInfo();
+
+ /**
+ * This method is called for parsing a <em>documentation</em> object as child of
+ * an <em>annotation</em> object.
+ */
+ XsdDocumentation::Ptr parseDocumentation();
+
+ /**
+ * This method is called for parsing a <em>defaultOpenContent</em> object.
+ */
+ void parseDefaultOpenContent();
+
+ /**
+ * This method is called for parsing any top-level <em>simpleType</em> object.
+ */
+ XsdSimpleType::Ptr parseGlobalSimpleType();
+
+ /**
+ * This method is called for parsing any <em>simpleType</em> object as descendant
+ * of an <em>element</em> or <em>complexType</em> object.
+ */
+ XsdSimpleType::Ptr parseLocalSimpleType();
+
+ /**
+ * This method is called for parsing a <em>restriction</em> object as child
+ * of a <em>simpleType</em> object.
+ */
+ void parseSimpleRestriction(const XsdSimpleType::Ptr &ptr);
+
+ /**
+ * This method is called for parsing a <em>list</em> object as child
+ * of a <em>simpleType</em> object.
+ */
+ void parseList(const XsdSimpleType::Ptr &ptr);
+
+ /**
+ * This method is called for parsing a <em>union</em> object as child
+ * of a <em>simpleType</em> object.
+ */
+ void parseUnion(const XsdSimpleType::Ptr &ptr);
+
+ /**
+ * This method is called for parsing a <em>minExclusive</em> object as child
+ * of a <em>restriction</em> object.
+ */
+ XsdFacet::Ptr parseMinExclusiveFacet();
+
+ /**
+ * This method is called for parsing a <em>minInclusive</em> object as child
+ * of a <em>restriction</em> object.
+ */
+ XsdFacet::Ptr parseMinInclusiveFacet();
+
+ /**
+ * This method is called for parsing a <em>maxExclusive</em> object as child
+ * of a <em>restriction</em> object.
+ */
+ XsdFacet::Ptr parseMaxExclusiveFacet();
+
+ /**
+ * This method is called for parsing a <em>maxInclusive</em> object as child
+ * of a <em>restriction</em> object.
+ */
+ XsdFacet::Ptr parseMaxInclusiveFacet();
+
+ /**
+ * This method is called for parsing a <em>totalDigits</em> object as child
+ * of a <em>restriction</em> object.
+ */
+ XsdFacet::Ptr parseTotalDigitsFacet();
+
+ /**
+ * This method is called for parsing a <em>fractionDigits</em> object as child
+ * of a <em>restriction</em> object.
+ */
+ XsdFacet::Ptr parseFractionDigitsFacet();
+
+ /**
+ * This method is called for parsing a <em>length</em> object as child
+ * of a <em>restriction</em> object.
+ */
+ XsdFacet::Ptr parseLengthFacet();
+
+ /**
+ * This method is called for parsing a <em>minLength</em> object as child
+ * of a <em>restriction</em> object.
+ */
+ XsdFacet::Ptr parseMinLengthFacet();
+
+ /**
+ * This method is called for parsing a <em>maxLength</em> object as child
+ * of a <em>restriction</em> object.
+ */
+ XsdFacet::Ptr parseMaxLengthFacet();
+
+ /**
+ * This method is called for parsing an <em>enumeration</em> object as child
+ * of a <em>restriction</em> object.
+ */
+ XsdFacet::Ptr parseEnumerationFacet();
+
+ /**
+ * This method is called for parsing a <em>whiteSpace</em> object as child
+ * of a <em>restriction</em> object.
+ */
+ XsdFacet::Ptr parseWhiteSpaceFacet();
+
+ /**
+ * This method is called for parsing a <em>pattern</em> object as child
+ * of a <em>restriction</em> object.
+ */
+ XsdFacet::Ptr parsePatternFacet();
+
+ /**
+ * This method is called for parsing an <em>assertion</em> object as child
+ * of a <em>restriction</em> object.
+ */
+ XsdFacet::Ptr parseAssertionFacet();
+
+ /**
+ * This method is called for parsing any top-level <em>complexType</em> object.
+ */
+ XsdComplexType::Ptr parseGlobalComplexType();
+
+ /**
+ * This method is called for parsing any <em>complexType</em> object as descendant
+ * of an <em>element</em> object.
+ */
+ XsdComplexType::Ptr parseLocalComplexType();
+
+ /**
+ * This method resolves the content type of the @p complexType for the given
+ * @p effectiveMixed value.
+ */
+ void resolveComplexContentType(const XsdComplexType::Ptr &complexType, bool effectiveMixed);
+
+ /**
+ * This method is called for parsing a <em>simpleContent</em> object as child
+ * of a <em>complexType</em> object.
+ */
+ void parseSimpleContent(const XsdComplexType::Ptr &complexType);
+
+ /**
+ * This method is called for parsing a <em>restriction</em> object as child
+ * of a <em>simpleContent</em> object.
+ */
+ void parseSimpleContentRestriction(const XsdComplexType::Ptr &complexType);
+
+ /**
+ * This method is called for parsing an <em>extension</em> object as child
+ * of a <em>simpleContent</em> object.
+ */
+ void parseSimpleContentExtension(const XsdComplexType::Ptr &complexType);
+
+ /**
+ * This method is called for parsing a <em>complexContent</em> object as child
+ * of a <em>complexType</em> object.
+ *
+ * @param complexType The complex type the complex content belongs to.
+ * @param mixed The output parameter for the mixed value.
+ */
+ void parseComplexContent(const XsdComplexType::Ptr &complexType, bool *mixed);
+
+ /**
+ * This method is called for parsing a <em>restriction</em> object as child
+ * of a <em>complexContent</em> object.
+ */
+ void parseComplexContentRestriction(const XsdComplexType::Ptr &complexType);
+
+ /**
+ * This method is called for parsing an <em>extension</em> object as child
+ * of a <em>complexContent</em> object.
+ */
+ void parseComplexContentExtension(const XsdComplexType::Ptr &complexType);
+
+ /**
+ * This method is called for parsing an <em>assert</em> object as child
+ * of a <em>complexType</em> or parsing a <em>assertion</em> facet object as
+ * child of a <em>simpleType</em>.
+ *
+ * @param nodeName Either XsdSchemaToken::Assert or XsdSchemaToken::Assertion.
+ * @param tag Either XsdTagScope::Assert or XsdTagScope::Assertion.
+ */
+ XsdAssertion::Ptr parseAssertion(const XsdSchemaToken::NodeName &nodeName, const XsdTagScope::Type &tag);
+
+ /**
+ * This method is called for parsing an <em>openContent</em> object.
+ */
+ XsdComplexType::OpenContent::Ptr parseOpenContent();
+
+ /**
+ * This method is called for parsing a top-level <em>group</em> object.
+ */
+ XsdModelGroup::Ptr parseNamedGroup();
+
+ /**
+ * This method is called for parsing a non-top-level <em>group</em> object
+ * that contains a <em>ref</em> attribute.
+ */
+ XsdTerm::Ptr parseReferredGroup(const XsdParticle::Ptr &particle);
+
+ /**
+ * This method is called for parsing an <em>all</em> object as child
+ * of a top-level <em>group</em> object.
+ *
+ * @param parent The schema component the <em>all</em> object is part of.
+ */
+ XsdModelGroup::Ptr parseAll(const NamedSchemaComponent::Ptr &parent);
+
+ /**
+ * This method is called for parsing an <em>all</em> object as descendant
+ * of a <em>complexType</em> object.
+ *
+ * @param particle The particle the <em>all</em> object belongs to.
+ * @param parent The schema component the <em>all</em> object is part of.
+ */
+ XsdModelGroup::Ptr parseLocalAll(const XsdParticle::Ptr &particle, const NamedSchemaComponent::Ptr &parent);
+
+ /**
+ * This method is called for parsing a <em>choice</em> object as child
+ * of a top-level <em>group</em> object.
+ *
+ * @param parent The schema component the <em>choice</em> object is part of.
+ */
+ XsdModelGroup::Ptr parseChoice(const NamedSchemaComponent::Ptr &parent);
+
+ /**
+ * This method is called for parsing a <em>choice</em> object as descendant
+ * of a <em>complexType</em> object or a <em>choice</em> object.
+ *
+ * @param particle The particle the <em>choice</em> object belongs to.
+ * @param parent The schema component the <em>choice</em> object is part of.
+ */
+ XsdModelGroup::Ptr parseLocalChoice(const XsdParticle::Ptr &particle, const NamedSchemaComponent::Ptr &parent);
+
+ /**
+ * This method is called for parsing a <em>sequence</em> object as child
+ * of a top-level <em>group</em> object.
+ *
+ * @param parent The schema component the <em>sequence</em> object is part of.
+ */
+ XsdModelGroup::Ptr parseSequence(const NamedSchemaComponent::Ptr &parent);
+
+ /**
+ * This method is called for parsing a <em>sequence</em> object as descendant
+ * of a <em>complexType</em> object or a <em>sequence</em> object.
+ *
+ * @param particle The particle the <em>sequence</em> object belongs to.
+ * @param parent The schema component the <em>sequence</em> object is part of.
+ */
+ XsdModelGroup::Ptr parseLocalSequence(const XsdParticle::Ptr &particle, const NamedSchemaComponent::Ptr &parent);
+
+ /**
+ * A helper method that parses the minOccurs and maxOccurs constraints for
+ * the given @p particle that has the given @p tagName.
+ */
+ bool parseMinMaxConstraint(const XsdParticle::Ptr &particle, const char* tagName);
+
+ /**
+ * This method is called for parsing any top-level <em>attribute</em> object.
+ */
+ XsdAttribute::Ptr parseGlobalAttribute();
+
+ /**
+ * This method is called for parsing any non-top-level <em>attribute</em> object as a
+ * descendant of a <em>complexType</em> object or an <em>attributeGroup</em> object.
+ *
+ * @param parent The parent component the <em>attribute</em> object is part of.
+ */
+ XsdAttributeUse::Ptr parseLocalAttribute(const NamedSchemaComponent::Ptr &parent);
+
+ /**
+ * This method is called for parsing a top-level <em>attributeGroup</em> object.
+ */
+ XsdAttributeGroup::Ptr parseNamedAttributeGroup();
+
+ /**
+ * This method is called for parsing a non-top-level <em>attributeGroup</em> object
+ * that contains a <em>ref</em> attribute.
+ */
+ XsdAttributeUse::Ptr parseReferredAttributeGroup();
+
+ /**
+ * This method is called for parsing any top-level <em>element</em> object.
+ */
+ XsdElement::Ptr parseGlobalElement();
+
+ /**
+ * This method is called for parsing any non-top-level <em>element</em> object as a
+ * descendant of a <em>complexType</em> object or a <em>group</em> object.
+ *
+ * @param particle The particle the <em>element</em> object belongs to.
+ * @param parent The parent component the <em>element</em> object is part of.
+ */
+ XsdTerm::Ptr parseLocalElement(const XsdParticle::Ptr &particle, const NamedSchemaComponent::Ptr &parent);
+
+ /**
+ * This method is called for parsing a <em>unique</em> object as child of an <em>element</em> object.
+ */
+ XsdIdentityConstraint::Ptr parseUnique();
+
+ /**
+ * This method is called for parsing a <em>key</em> object as child of an <em>element</em> object.
+ */
+ XsdIdentityConstraint::Ptr parseKey();
+
+ /**
+ * This method is called for parsing a <em>keyref</em> object as child of an <em>element</em> object.
+ */
+ XsdIdentityConstraint::Ptr parseKeyRef(const XsdElement::Ptr &element);
+
+ /**
+ * This method is called for parsing a <em>selector</em> object as child of an <em>unique</em> object,
+ * <em>key</em> object or <em>keyref</em> object,
+ *
+ * @param ptr The identity constraint it belongs to.
+ */
+ void parseSelector(const XsdIdentityConstraint::Ptr &ptr);
+
+ /**
+ * This method is called for parsing a <em>field</em> object as child of an <em>unique</em> object,
+ * <em>key</em> object or <em>keyref</em> object,
+ *
+ * @param ptr The identity constraint it belongs to.
+ */
+ void parseField(const XsdIdentityConstraint::Ptr &ptr);
+
+ /**
+ * This method is called for parsing an <em>alternative</em> object inside an <em>element</em> object.
+ */
+ XsdAlternative::Ptr parseAlternative();
+
+ /**
+ * This method is called for parsing a top-level <em>notation</em> object.
+ */
+ XsdNotation::Ptr parseNotation();
+
+ /**
+ * This method is called for parsing an <em>any</em> object somewhere in
+ * the schema.
+ *
+ * @param particle The particle the <em>any</em> object belongs to.
+ */
+ XsdWildcard::Ptr parseAny(const XsdParticle::Ptr &particle);
+
+ /**
+ * This method is called for parsing an <em>anyAttribute</em> object somewhere in
+ * the schema.
+ */
+ XsdWildcard::Ptr parseAnyAttribute();
+
+ /**
+ * This method is called for parsing unknown object as descendant of the <em>annotation</em> object.
+ */
+ void parseUnknownDocumentation();
+
+ /**
+ * This method is called for parsing unknown object in the schema.
+ */
+ void parseUnknown();
+
+ /**
+ * Returnes an source location for the current position.
+ */
+ QSourceLocation currentSourceLocation() const;
+
+ /**
+ * Converts a @p qualified name into a QXmlName @p name and does some error handling.
+ */
+ void convertName(const QString &qualified, NamespaceSupport::NameType type, QXmlName &name);
+
+ /**
+ * A helper method that reads in a 'name' attribute and checks it for syntactic errors.
+ */
+ inline QString readNameAttribute(const char *elementName);
+
+ /**
+ * A helper method that reads in an attribute that contains an QName and
+ * checks it for syntactic errors.
+ */
+ inline QString readQNameAttribute(const QString &typeAttribute, const char *elementName);
+
+ /**
+ * A helper method that reads in a namespace attribute and checks for syntactic errors.
+ */
+ inline QString readNamespaceAttribute(const QString &attributeName, const char *elementName);
+
+ /**
+ * A helper method that reads the final attribute and does correct handling of schema default definitions.
+ */
+ inline SchemaType::DerivationConstraints readDerivationConstraintAttribute(const SchemaType::DerivationConstraints &allowedConstraints, const char *elementName);
+
+ /**
+ * A helper method that reads the block attribute and does correct handling of schema default definitions.
+ */
+ inline NamedSchemaComponent::BlockingConstraints readBlockingConstraintAttribute(const NamedSchemaComponent::BlockingConstraints &allowedConstraints, const char *elementName);
+
+ /**
+ * A helper method that reads all components for a xpath expression for the current scope.
+ */
+ XsdXPathExpression::Ptr readXPathExpression(const char *elementName);
+
+ /**
+ * Describes the type of XPath that is allowed by the readXPathAttribute method.
+ */
+ enum XPathType {
+ XPath20,
+ XPathSelector,
+ XPathField
+ };
+
+ /**
+ * A helper method that reads an attribute that represents a xpath query and does basic
+ * validation.
+ */
+ QString readXPathAttribute(const QString &attributeName, XPathType type, const char *elementName);
+
+ /**
+ * A helper method that reads in an "id" attribute, checks it for syntactic errors
+ * and tests whether a component with the same id has already been parsed.
+ */
+ inline void validateIdAttribute(const char *elementName);
+
+ /**
+ * Adds an @p element to the schema and checks for duplicated entries.
+ */
+ void addElement(const XsdElement::Ptr &element);
+
+ /**
+ * Adds an @p attribute to the schema and checks for duplicated entries.
+ */
+ void addAttribute(const XsdAttribute::Ptr &attribute);
+
+ /**
+ * Adds a @p type to the schema and checks for duplicated entries.
+ */
+ void addType(const SchemaType::Ptr &type);
+
+ /**
+ * Adds an anonymous @p type to the schema and checks for duplicated entries.
+ */
+ void addAnonymousType(const SchemaType::Ptr &type);
+
+ /**
+ * Adds an attribute @p group to the schema and checks for duplicated entries.
+ */
+ void addAttributeGroup(const XsdAttributeGroup::Ptr &group);
+
+ /**
+ * Adds an element @p group to the schema and checks for duplicated entries.
+ */
+ void addElementGroup(const XsdModelGroup::Ptr &group);
+
+ /**
+ * Adds a @p notation to the schema and checks for duplicated entries.
+ */
+ void addNotation(const XsdNotation::Ptr &notation);
+
+ /**
+ * Adds an identity @p constraint to the schema and checks for duplicated entries.
+ */
+ void addIdentityConstraint(const XsdIdentityConstraint::Ptr &constraint);
+
+ /**
+ * Adds the @p facet to the list of @p facets for @p type and checks for duplicates.
+ */
+ void addFacet(const XsdFacet::Ptr &facet, XsdFacet::Hash &facets, const SchemaType::Ptr &type);
+
+ /**
+ * Sets up the state machines for validating the right occurrence of xml elements.
+ */
+ void setupStateMachines();
+
+ /**
+ * Sets up a list of names of known builtin types.
+ */
+ void setupBuiltinTypeNames();
+
+ /**
+ * Checks whether the given @p tag is equal to the given @p token and
+ * the given @p namespaceToken is the XML Schema namespace.
+ */
+ inline bool isSchemaTag(XsdSchemaToken::NodeName tag, XsdSchemaToken::NodeName token, XsdSchemaToken::NodeName namespaceToken) const;
+
+ XsdSchemaContext::Ptr m_context;
+ XsdSchemaParserContext::Ptr m_parserContext;
+ NamePool::Ptr m_namePool;
+ NamespaceSupport m_namespaceSupport;
+ XsdSchemaResolver::Ptr m_schemaResolver;
+ XsdSchema::Ptr m_schema;
+
+ QString m_targetNamespace;
+ QString m_attributeFormDefault;
+ QString m_elementFormDefault;
+ QString m_blockDefault;
+ QString m_finalDefault;
+ QString m_xpathDefaultNamespace;
+ QXmlName m_defaultAttributes;
+ XsdComplexType::OpenContent::Ptr m_defaultOpenContent;
+ bool m_defaultOpenContentAppliesToEmpty;
+
+ NamespaceSet m_includedSchemas;
+ NamespaceSet m_importedSchemas;
+ NamespaceSet m_redefinedSchemas;
+ QUrl m_documentURI;
+ XsdIdCache::Ptr m_idCache;
+ QHash<XsdTagScope::Type, XsdStateMachine<XsdSchemaToken::NodeName> > m_stateMachines;
+ ComponentLocationHash m_componentLocationHash;
+ QSet<QXmlName> m_builtinTypeNames;
+ };
+}
+
+QT_END_NAMESPACE
+
+QT_END_HEADER
+
+#endif
diff --git a/src/xmlpatterns/schema/qxsdschemaparser_setup.cpp b/src/xmlpatterns/schema/qxsdschemaparser_setup.cpp
new file mode 100644
index 0000000..abd6262
--- /dev/null
+++ b/src/xmlpatterns/schema/qxsdschemaparser_setup.cpp
@@ -0,0 +1,1110 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtXmlPatterns module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "qxsdschemaparser_p.h"
+
+#include "qbuiltintypes_p.h"
+
+QT_BEGIN_NAMESPACE
+
+using namespace QPatternist;
+
+/**
+ * @page using_dfa_for_schema Using DFA for validation of correct XML tag occurrence
+ *
+ * This page describes how to use DFAs for validating that the XML child tags of an
+ * XML parent tag occur in the right order.
+ *
+ * To validate the occurence of XML tags one need a regular expression that describes
+ * which tags can appear how often in what context. For example the regular expression
+ * of the global <em>attribute</em> tag in XML Schema is (annotation?, simpleType?).
+ * That means the <em>attribute</em> tag can contain an <em>annotation</em> tag followed
+ * by a <em>simpleType</em> tag, or just one <em>simpleType</em> tag and even no child
+ * tag at all.
+ * So the regular expression describes some kind of language and all the various occurrences
+ * of the child tags can be seen as words of that language.
+ * We can create a DFA now, that accepts all words (and only these words) of that language
+ * and whenever we want to check if a sequence of child tags belongs to the language,
+ * we test if the sequence passes the DFA successfully.
+ *
+ * The following example shows how to create the DFA for the regular expression method
+ * above.
+ *
+ * \dotfile GlobalAttribute_diagram.dot
+ *
+ * At first we need a start state (1), that's the state the DFA is before it
+ * starts running. As our regular expression allows that there are no child tags, the
+ * start state is an end state as well (marked by the double circle).
+ * Now we fetch the first token from the XML file (let's assume it is an <em>annotation</em> tag)
+ * and check if there is an edge labled with the tag name leaving the current state of the DFA.
+ * If there is no such edge, the input doesn't fullfill the rules of the regular expression,
+ * so we throw an error. Otherwise we follow that edge and the DFA is set to the new state (2) the
+ * edge points to. Now we fetch the next token from the XML file and do the previous steps again.
+ * If there is no further input from the XML file, we check whether the DFA is in an end state and
+ * throw an error if not.
+ *
+ * So the algorithm for checking is quite simple, the whole logic is encoded in the DFA and creating
+ * one for a regular expression is sometimes not easy, however the ones for XML Schema are straight
+ * forward.
+ *
+ * <h2>Legend:</h2>
+ * \dotfile legend.dot
+ * <br>
+ *
+ * <h2>DFA for <em>all</em> tag</h2>
+ * \dotfile All_diagram.dot
+ * <br>
+ * <h2>DFA for <em>alternative</em> tag</h2>
+ * \dotfile Alternative_diagram.dot
+ * <br>
+ * <h2>DFA for <em>annotation</em> tag</h2>
+ * \dotfile Annotation_diagram.dot
+ * <br>
+ * <h2>DFA for <em>anyAttribute</em> tag</h2>
+ * \dotfile AnyAttribute_diagram.dot
+ * <br>
+ * <h2>DFA for <em>any</em> tag</h2>
+ * \dotfile Any_diagram.dot
+ * <br>
+ * <h2>DFA for <em>assert</em> tag</h2>
+ * \dotfile Assert_diagram.dot
+ * <br>
+ * <h2>DFA for <em>choice</em> tag</h2>
+ * \dotfile Choice_diagram.dot
+ * <br>
+ * <h2>DFA for <em>complexContent</em> tag</h2>
+ * \dotfile ComplexContent_diagram.dot
+ * <br>
+ * <h2>DFA for <em>extension</em> tag inside a <em>complexContent</em> tag</h2>
+ * \dotfile ComplexContentExtension_diagram.dot
+ * <br>
+ * <h2>DFA for <em>restriction</em> tag inside a <em>complexContent</em> tag</h2>
+ * \dotfile ComplexContentRestriction_diagram.dot
+ * <br>
+ * <h2>DFA for <em>defaultOpenContent</em> tag</h2>
+ * \dotfile DefaultOpenContent_diagram.dot
+ * <br>
+ * <h2>DFA for <em>enumeration</em> tag</h2>
+ * \dotfile EnumerationFacet_diagram.dot
+ * <br>
+ * <h2>DFA for <em>field</em> tag</h2>
+ * \dotfile Field_diagram.dot
+ * <br>
+ * <h2>DFA for <em>fractionDigits</em> tag</h2>
+ * \dotfile FractionDigitsFacet_diagram.dot
+ * <br>
+ * <h2>DFA for <em>attribute</em> tag</h2>
+ * \dotfile GlobalAttribute_diagram.dot
+ * <br>
+ * <h2>DFA for <em>complexType</em> tag</h2>
+ * \dotfile GlobalComplexType_diagram.dot
+ * <br>
+ * <h2>DFA for <em>element</em> tag</h2>
+ * \dotfile GlobalElement_diagram.dot
+ * <br>
+ * <h2>DFA for <em>simpleType</em> tag</h2>
+ * \dotfile GlobalSimpleType_diagram.dot
+ * <br>
+ * <h2>DFA for <em>import</em> tag</h2>
+ * \dotfile Import_diagram.dot
+ * <br>
+ * <h2>DFA for <em>include</em> tag</h2>
+ * \dotfile Include_diagram.dot
+ * <br>
+ * <h2>DFA for <em>key</em> tag</h2>
+ * \dotfile Key_diagram.dot
+ * <br>
+ * <h2>DFA for <em>keyref</em> tag</h2>
+ * \dotfile KeyRef_diagram.dot
+ * <br>
+ * <h2>DFA for <em>length</em> tag</h2>
+ * \dotfile LengthFacet_diagram.dot
+ * <br>
+ * <h2>DFA for <em>list</em> tag</h2>
+ * \dotfile List_diagram.dot
+ * <br>
+ * <h2>DFA for <em>all</em> tag</h2>
+ * \dotfile LocalAll_diagram.dot
+ * <br>
+ * <h2>DFA for <em>attribute</em> tag</h2>
+ * \dotfile LocalAttribute_diagram.dot
+ * <br>
+ * <h2>DFA for <em>choice</em> tag</h2>
+ * \dotfile LocalChoice_diagram.dot
+ * <br>
+ * <h2>DFA for <em>complexType</em> tag</h2>
+ * \dotfile LocalComplexType_diagram.dot
+ * <br>
+ * <h2>DFA for <em>element</em> tag</h2>
+ * \dotfile LocalElement_diagram.dot
+ * <br>
+ * <h2>DFA for <em>sequence</em> tag</h2>
+ * \dotfile LocalSequence_diagram.dot
+ * <br>
+ * <h2>DFA for <em>simpleType</em> tag that </h2>
+ * \dotfile LocalSimpleType_diagram.dot
+ * <br>
+ * <h2>DFA for <em>maxExclusive</em> tag</h2>
+ * \dotfile MaxExclusiveFacet_diagram.dot
+ * <br>
+ * <h2>DFA for <em>maxInclusive</em> tag</h2>
+ * \dotfile MaxInclusiveFacet_diagram.dot
+ * <br>
+ * <h2>DFA for <em>maxLength</em> tag</h2>
+ * \dotfile MaxLengthFacet_diagram.dot
+ * <br>
+ * <h2>DFA for <em>minExclusive</em> tag</h2>
+ * \dotfile MinExclusiveFacet_diagram.dot
+ * <br>
+ * <h2>DFA for <em>minInclusive</em> tag</h2>
+ * \dotfile MinInclusiveFacet_diagram.dot
+ * <br>
+ * <h2>DFA for <em>minLength</em> tag</h2>
+ * \dotfile MinLengthFacet_diagram.dot
+ * <br>
+ * <h2>DFA for <em>attributeGroup</em> tag without <em>ref</em> attribute</h2>
+ * \dotfile NamedAttributeGroup_diagram.dot
+ * <br>
+ * <h2>DFA for <em>group</em> tag without <em>ref</em> attribute</h2>
+ * \dotfile NamedGroup_diagram.dot
+ * <br>
+ * <h2>DFA for <em>notation</em> tag</h2>
+ * \dotfile Notation_diagram.dot
+ * <br>
+ * <h2>DFA for <em>override</em> tag</h2>
+ * \dotfile Override_diagram.dot
+ * <br>
+ * <h2>DFA for <em>pattern</em> tag</h2>
+ * \dotfile PatternFacet_diagram.dot
+ * <br>
+ * <h2>DFA for <em>redefine</em> tag</h2>
+ * \dotfile Redefine_diagram.dot
+ * <br>
+ * <h2>DFA for <em>attributeGroup</em> tag with <em>ref</em> attribute</h2>
+ * \dotfile ReferredAttributeGroup_diagram.dot
+ * <br>
+ * <h2>DFA for <em>group</em> tag with <em>ref</em> attribute</h2>
+ * \dotfile ReferredGroup_diagram.dot
+ * <br>
+ * <h2>DFA for <em>schema</em> tag</h2>
+ * \dotfile Schema_diagram.dot
+ * <br>
+ * <h2>DFA for <em>selector</em> tag</h2>
+ * \dotfile Selector_diagram.dot
+ * <br>
+ * <h2>DFA for <em>sequence</em> tag</h2>
+ * \dotfile Sequence_diagram.dot
+ * <br>
+ * <h2>DFA for <em>simpleContent</em> tag</h2>
+ * \dotfile SimpleContent_diagram.dot
+ * <br>
+ * <h2>DFA for <em>extension</em> tag inside a <em>simpleContent</em> tag</h2>
+ * \dotfile SimpleContentExtension_diagram.dot
+ * <br>
+ * <h2>DFA for <em>restriction</em> tag inside a <em>simpleContent</em> tag</h2>
+ * \dotfile SimpleContentRestriction_diagram.dot
+ * <br>
+ * <h2>DFA for <em>restriction</em> tag inside a <em>simpleType</em> tag</h2>
+ * \dotfile SimpleRestriction_diagram.dot
+ * <br>
+ * <h2>DFA for <em>totalDigits</em> tag</h2>
+ * \dotfile TotalDigitsFacet_diagram.dot
+ * <br>
+ * <h2>DFA for <em>union</em> tag</h2>
+ * \dotfile Union_diagram.dot
+ * <br>
+ * <h2>DFA for <em>unique</em> tag</h2>
+ * \dotfile Unique_diagram.dot
+ * <br>
+ * <h2>DFA for <em>whiteSpace</em> tag</h2>
+ * \dotfile WhiteSpaceFacet_diagram.dot
+ */
+
+void XsdSchemaParser::setupStateMachines()
+{
+ {
+ XsdStateMachine<XsdSchemaToken::NodeName> machine(m_namePool);
+
+ // setup state machine for (annotation?, simpleType?) : attribute
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId startState = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::StartEndState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s1 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s2 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+
+ machine.addTransition(startState, XsdSchemaToken::Annotation, s1);
+ machine.addTransition(startState, XsdSchemaToken::SimpleType, s2);
+ machine.addTransition(s1, XsdSchemaToken::SimpleType, s2);
+
+ m_stateMachines.insert(XsdTagScope::GlobalAttribute, machine);
+ m_stateMachines.insert(XsdTagScope::LocalAttribute, machine);
+ }
+
+ {
+ XsdStateMachine<XsdSchemaToken::NodeName> machine(m_namePool);
+
+ // setup state machine for (annotation?, ((simpleType | complexType)?, alternative*, (unique | key | keyref)*)) : element
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId startState = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::StartEndState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s1 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s2 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s3 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s4 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+
+ machine.addTransition(startState, XsdSchemaToken::Annotation, s1);
+ machine.addTransition(startState, XsdSchemaToken::SimpleType, s2);
+ machine.addTransition(startState, XsdSchemaToken::ComplexType, s2);
+ machine.addTransition(startState, XsdSchemaToken::Alternative, s3);
+ machine.addTransition(startState, XsdSchemaToken::Unique, s4);
+ machine.addTransition(startState, XsdSchemaToken::Key, s4);
+ machine.addTransition(startState, XsdSchemaToken::Keyref, s4);
+
+ machine.addTransition(s1, XsdSchemaToken::SimpleType, s2);
+ machine.addTransition(s1, XsdSchemaToken::ComplexType, s2);
+ machine.addTransition(s1, XsdSchemaToken::Alternative, s3);
+ machine.addTransition(s1, XsdSchemaToken::Unique, s4);
+ machine.addTransition(s1, XsdSchemaToken::Key, s4);
+ machine.addTransition(s1, XsdSchemaToken::Keyref, s4);
+
+ machine.addTransition(s2, XsdSchemaToken::Alternative, s3);
+ machine.addTransition(s2, XsdSchemaToken::Unique, s4);
+ machine.addTransition(s2, XsdSchemaToken::Key, s4);
+ machine.addTransition(s2, XsdSchemaToken::Keyref, s4);
+
+ machine.addTransition(s3, XsdSchemaToken::Alternative, s3);
+ machine.addTransition(s3, XsdSchemaToken::Unique, s4);
+ machine.addTransition(s3, XsdSchemaToken::Key, s4);
+ machine.addTransition(s3, XsdSchemaToken::Keyref, s4);
+
+ machine.addTransition(s4, XsdSchemaToken::Unique, s4);
+ machine.addTransition(s4, XsdSchemaToken::Key, s4);
+ machine.addTransition(s4, XsdSchemaToken::Keyref, s4);
+
+ m_stateMachines.insert(XsdTagScope::GlobalElement, machine);
+ m_stateMachines.insert(XsdTagScope::LocalElement, machine);
+ }
+
+ {
+ XsdStateMachine<XsdSchemaToken::NodeName> machine(m_namePool);
+
+ // setup state machine for (annotation?, (simpleContent | complexContent | (openContent?, (group | all | choice | sequence)?, ((attribute | attributeGroup)*, anyAttribute?), assert*))) : complexType
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId startState = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::StartEndState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s1 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s2 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s3 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s4 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s5 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s6 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s7 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+
+ machine.addTransition(startState, XsdSchemaToken::Annotation, s1);
+ machine.addTransition(startState, XsdSchemaToken::SimpleContent, s2);
+ machine.addTransition(startState, XsdSchemaToken::ComplexContent, s2);
+ machine.addTransition(startState, XsdSchemaToken::OpenContent, s3);
+ machine.addTransition(startState, XsdSchemaToken::Group, s4);
+ machine.addTransition(startState, XsdSchemaToken::All, s4);
+ machine.addTransition(startState, XsdSchemaToken::Choice, s4);
+ machine.addTransition(startState, XsdSchemaToken::Sequence, s4);
+ machine.addTransition(startState, XsdSchemaToken::Attribute, s5);
+ machine.addTransition(startState, XsdSchemaToken::AttributeGroup, s5);
+ machine.addTransition(startState, XsdSchemaToken::AnyAttribute, s6);
+ machine.addTransition(startState, XsdSchemaToken::Assert, s7);
+
+ machine.addTransition(s1, XsdSchemaToken::SimpleContent, s2);
+ machine.addTransition(s1, XsdSchemaToken::ComplexContent, s2);
+ machine.addTransition(s1, XsdSchemaToken::OpenContent, s3);
+ machine.addTransition(s1, XsdSchemaToken::Group, s4);
+ machine.addTransition(s1, XsdSchemaToken::All, s4);
+ machine.addTransition(s1, XsdSchemaToken::Choice, s4);
+ machine.addTransition(s1, XsdSchemaToken::Sequence, s4);
+ machine.addTransition(s1, XsdSchemaToken::Attribute, s5);
+ machine.addTransition(s1, XsdSchemaToken::AttributeGroup, s5);
+ machine.addTransition(s1, XsdSchemaToken::AnyAttribute, s6);
+ machine.addTransition(s1, XsdSchemaToken::Assert, s7);
+
+ machine.addTransition(s3, XsdSchemaToken::Group, s4);
+ machine.addTransition(s3, XsdSchemaToken::All, s4);
+ machine.addTransition(s3, XsdSchemaToken::Choice, s4);
+ machine.addTransition(s3, XsdSchemaToken::Sequence, s4);
+ machine.addTransition(s3, XsdSchemaToken::Attribute, s5);
+ machine.addTransition(s3, XsdSchemaToken::AttributeGroup, s5);
+ machine.addTransition(s3, XsdSchemaToken::AnyAttribute, s6);
+ machine.addTransition(s3, XsdSchemaToken::Assert, s7);
+
+ machine.addTransition(s4, XsdSchemaToken::Attribute, s5);
+ machine.addTransition(s4, XsdSchemaToken::AttributeGroup, s5);
+ machine.addTransition(s4, XsdSchemaToken::AnyAttribute, s6);
+ machine.addTransition(s4, XsdSchemaToken::Assert, s7);
+
+ machine.addTransition(s5, XsdSchemaToken::Attribute, s5);
+ machine.addTransition(s5, XsdSchemaToken::AttributeGroup, s5);
+ machine.addTransition(s5, XsdSchemaToken::AnyAttribute, s6);
+ machine.addTransition(s5, XsdSchemaToken::Assert, s7);
+
+ machine.addTransition(s6, XsdSchemaToken::Assert, s7);
+
+ machine.addTransition(s7, XsdSchemaToken::Assert, s7);
+
+ m_stateMachines.insert(XsdTagScope::GlobalComplexType, machine);
+ m_stateMachines.insert(XsdTagScope::LocalComplexType, machine);
+ }
+
+ {
+ XsdStateMachine<XsdSchemaToken::NodeName> machine(m_namePool);
+
+ // setup state machine for (annotation?, (restriction | extension)) : simpleContent/complexContent
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId startState = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::StartState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s1 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::InternalState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s2 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+
+ machine.addTransition(startState, XsdSchemaToken::Annotation, s1);
+ machine.addTransition(startState, XsdSchemaToken::Restriction, s2);
+ machine.addTransition(startState, XsdSchemaToken::Extension, s2);
+
+ machine.addTransition(s1, XsdSchemaToken::Restriction, s2);
+ machine.addTransition(s1, XsdSchemaToken::Extension, s2);
+
+ m_stateMachines.insert(XsdTagScope::SimpleContent, machine);
+ m_stateMachines.insert(XsdTagScope::ComplexContent, machine);
+ }
+
+ {
+ XsdStateMachine<XsdSchemaToken::NodeName> machine(m_namePool);
+
+ // setup state machine for (annotation?, (simpleType?, (minExclusive | minInclusive | maxExclusive | maxInclusive | totalDigits | fractionDigits | length | minLength | maxLength | enumeration | whiteSpace | pattern | assertion)*)?, ((attribute | attributeGroup)*, anyAttribute?), assert*) : simpleContent restriction
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId startState = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::StartEndState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s1 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s2 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s3 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s4 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s5 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s6 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+
+ machine.addTransition(startState, XsdSchemaToken::Annotation, s1);
+ machine.addTransition(startState, XsdSchemaToken::SimpleType, s2);
+ machine.addTransition(startState, XsdSchemaToken::MinExclusive, s3);
+ machine.addTransition(startState, XsdSchemaToken::MinInclusive, s3);
+ machine.addTransition(startState, XsdSchemaToken::MaxExclusive, s3);
+ machine.addTransition(startState, XsdSchemaToken::MaxInclusive, s3);
+ machine.addTransition(startState, XsdSchemaToken::TotalDigits, s3);
+ machine.addTransition(startState, XsdSchemaToken::FractionDigits, s3);
+ machine.addTransition(startState, XsdSchemaToken::Length, s3);
+ machine.addTransition(startState, XsdSchemaToken::MinLength, s3);
+ machine.addTransition(startState, XsdSchemaToken::MaxLength, s3);
+ machine.addTransition(startState, XsdSchemaToken::Enumeration, s3);
+ machine.addTransition(startState, XsdSchemaToken::WhiteSpace, s3);
+ machine.addTransition(startState, XsdSchemaToken::Pattern, s3);
+ machine.addTransition(startState, XsdSchemaToken::Assertion, s3);
+ machine.addTransition(startState, XsdSchemaToken::Attribute, s4);
+ machine.addTransition(startState, XsdSchemaToken::AttributeGroup, s4);
+ machine.addTransition(startState, XsdSchemaToken::AnyAttribute, s5);
+ machine.addTransition(startState, XsdSchemaToken::Assert, s6);
+
+ machine.addTransition(s1, XsdSchemaToken::SimpleType, s2);
+ machine.addTransition(s1, XsdSchemaToken::MinExclusive, s3);
+ machine.addTransition(s1, XsdSchemaToken::MinInclusive, s3);
+ machine.addTransition(s1, XsdSchemaToken::MaxExclusive, s3);
+ machine.addTransition(s1, XsdSchemaToken::MaxInclusive, s3);
+ machine.addTransition(s1, XsdSchemaToken::TotalDigits, s3);
+ machine.addTransition(s1, XsdSchemaToken::FractionDigits, s3);
+ machine.addTransition(s1, XsdSchemaToken::Length, s3);
+ machine.addTransition(s1, XsdSchemaToken::MinLength, s3);
+ machine.addTransition(s1, XsdSchemaToken::MaxLength, s3);
+ machine.addTransition(s1, XsdSchemaToken::Enumeration, s3);
+ machine.addTransition(s1, XsdSchemaToken::WhiteSpace, s3);
+ machine.addTransition(s1, XsdSchemaToken::Pattern, s3);
+ machine.addTransition(s1, XsdSchemaToken::Assertion, s3);
+ machine.addTransition(s1, XsdSchemaToken::Attribute, s4);
+ machine.addTransition(s1, XsdSchemaToken::AttributeGroup, s4);
+ machine.addTransition(s1, XsdSchemaToken::AnyAttribute, s5);
+ machine.addTransition(s1, XsdSchemaToken::Assert, s6);
+
+ machine.addTransition(s2, XsdSchemaToken::MinExclusive, s3);
+ machine.addTransition(s2, XsdSchemaToken::MinInclusive, s3);
+ machine.addTransition(s2, XsdSchemaToken::MaxExclusive, s3);
+ machine.addTransition(s2, XsdSchemaToken::MaxInclusive, s3);
+ machine.addTransition(s2, XsdSchemaToken::TotalDigits, s3);
+ machine.addTransition(s2, XsdSchemaToken::FractionDigits, s3);
+ machine.addTransition(s2, XsdSchemaToken::Length, s3);
+ machine.addTransition(s2, XsdSchemaToken::MinLength, s3);
+ machine.addTransition(s2, XsdSchemaToken::MaxLength, s3);
+ machine.addTransition(s2, XsdSchemaToken::Enumeration, s3);
+ machine.addTransition(s2, XsdSchemaToken::WhiteSpace, s3);
+ machine.addTransition(s2, XsdSchemaToken::Pattern, s3);
+ machine.addTransition(s2, XsdSchemaToken::Assertion, s3);
+ machine.addTransition(s2, XsdSchemaToken::Attribute, s4);
+ machine.addTransition(s2, XsdSchemaToken::AttributeGroup, s4);
+ machine.addTransition(s2, XsdSchemaToken::AnyAttribute, s5);
+ machine.addTransition(s2, XsdSchemaToken::Assert, s6);
+
+ machine.addTransition(s3, XsdSchemaToken::MinExclusive, s3);
+ machine.addTransition(s3, XsdSchemaToken::MinInclusive, s3);
+ machine.addTransition(s3, XsdSchemaToken::MaxExclusive, s3);
+ machine.addTransition(s3, XsdSchemaToken::MaxInclusive, s3);
+ machine.addTransition(s3, XsdSchemaToken::TotalDigits, s3);
+ machine.addTransition(s3, XsdSchemaToken::FractionDigits, s3);
+ machine.addTransition(s3, XsdSchemaToken::Length, s3);
+ machine.addTransition(s3, XsdSchemaToken::MinLength, s3);
+ machine.addTransition(s3, XsdSchemaToken::MaxLength, s3);
+ machine.addTransition(s3, XsdSchemaToken::Enumeration, s3);
+ machine.addTransition(s3, XsdSchemaToken::WhiteSpace, s3);
+ machine.addTransition(s3, XsdSchemaToken::Pattern, s3);
+ machine.addTransition(s3, XsdSchemaToken::Assertion, s3);
+ machine.addTransition(s3, XsdSchemaToken::Attribute, s4);
+ machine.addTransition(s3, XsdSchemaToken::AttributeGroup, s4);
+ machine.addTransition(s3, XsdSchemaToken::AnyAttribute, s5);
+ machine.addTransition(s3, XsdSchemaToken::Assert, s6);
+
+ machine.addTransition(s4, XsdSchemaToken::Attribute, s4);
+ machine.addTransition(s4, XsdSchemaToken::AttributeGroup, s4);
+ machine.addTransition(s4, XsdSchemaToken::AnyAttribute, s5);
+ machine.addTransition(s4, XsdSchemaToken::Assert, s6);
+
+ machine.addTransition(s5, XsdSchemaToken::Assert, s6);
+
+ machine.addTransition(s6, XsdSchemaToken::Assert, s6);
+
+ m_stateMachines.insert(XsdTagScope::SimpleContentRestriction, machine);
+ }
+
+ {
+ XsdStateMachine<XsdSchemaToken::NodeName> machine(m_namePool);
+
+ // setup state machine for (annotation?, ((attribute | attributeGroup)*, anyAttribute?), assert*) : simple content extension
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId startState = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::StartEndState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s1 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s2 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s3 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s4 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+
+ machine.addTransition(startState, XsdSchemaToken::Annotation, s1);
+ machine.addTransition(startState, XsdSchemaToken::Attribute, s2);
+ machine.addTransition(startState, XsdSchemaToken::AttributeGroup, s2);
+ machine.addTransition(startState, XsdSchemaToken::AnyAttribute, s3);
+ machine.addTransition(startState, XsdSchemaToken::Assert, s4);
+
+ machine.addTransition(s1, XsdSchemaToken::Attribute, s2);
+ machine.addTransition(s1, XsdSchemaToken::AttributeGroup, s2);
+ machine.addTransition(s1, XsdSchemaToken::AnyAttribute, s3);
+ machine.addTransition(s1, XsdSchemaToken::Assert, s4);
+
+ machine.addTransition(s2, XsdSchemaToken::Attribute, s2);
+ machine.addTransition(s2, XsdSchemaToken::AttributeGroup, s2);
+ machine.addTransition(s2, XsdSchemaToken::AnyAttribute, s3);
+ machine.addTransition(s2, XsdSchemaToken::Assert, s4);
+
+ machine.addTransition(s3, XsdSchemaToken::Assert, s4);
+
+ machine.addTransition(s4, XsdSchemaToken::Assert, s4);
+
+ m_stateMachines.insert(XsdTagScope::SimpleContentExtension, machine);
+ }
+
+ {
+ XsdStateMachine<XsdSchemaToken::NodeName> machine(m_namePool);
+
+ // setup state machine for (annotation?, openContent?, ((group | all | choice | sequence)?, ((attribute | attributeGroup)*, anyAttribute?), assert*)) : complex content restriction/complex content extension
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId startState = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::StartEndState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s1 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s2 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s3 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s4 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s5 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s6 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+
+ machine.addTransition(startState, XsdSchemaToken::Annotation, s1);
+ machine.addTransition(startState, XsdSchemaToken::OpenContent, s2);
+ machine.addTransition(startState, XsdSchemaToken::Group, s3);
+ machine.addTransition(startState, XsdSchemaToken::All, s3);
+ machine.addTransition(startState, XsdSchemaToken::Choice, s3);
+ machine.addTransition(startState, XsdSchemaToken::Sequence, s3);
+ machine.addTransition(startState, XsdSchemaToken::Attribute, s4);
+ machine.addTransition(startState, XsdSchemaToken::AttributeGroup, s4);
+ machine.addTransition(startState, XsdSchemaToken::AnyAttribute, s5);
+ machine.addTransition(startState, XsdSchemaToken::Assert, s6);
+
+ machine.addTransition(s1, XsdSchemaToken::OpenContent, s2);
+ machine.addTransition(s1, XsdSchemaToken::Group, s3);
+ machine.addTransition(s1, XsdSchemaToken::All, s3);
+ machine.addTransition(s1, XsdSchemaToken::Choice, s3);
+ machine.addTransition(s1, XsdSchemaToken::Sequence, s3);
+ machine.addTransition(s1, XsdSchemaToken::Attribute, s4);
+ machine.addTransition(s1, XsdSchemaToken::AttributeGroup, s4);
+ machine.addTransition(s1, XsdSchemaToken::AnyAttribute, s5);
+ machine.addTransition(s1, XsdSchemaToken::Assert, s6);
+
+ machine.addTransition(s2, XsdSchemaToken::Group, s3);
+ machine.addTransition(s2, XsdSchemaToken::All, s3);
+ machine.addTransition(s2, XsdSchemaToken::Choice, s3);
+ machine.addTransition(s2, XsdSchemaToken::Sequence, s3);
+ machine.addTransition(s2, XsdSchemaToken::Attribute, s4);
+ machine.addTransition(s2, XsdSchemaToken::AttributeGroup, s4);
+ machine.addTransition(s2, XsdSchemaToken::AnyAttribute, s5);
+ machine.addTransition(s2, XsdSchemaToken::Assert, s6);
+
+ machine.addTransition(s3, XsdSchemaToken::Attribute, s4);
+ machine.addTransition(s3, XsdSchemaToken::AttributeGroup, s4);
+ machine.addTransition(s3, XsdSchemaToken::AnyAttribute, s5);
+ machine.addTransition(s3, XsdSchemaToken::Assert, s6);
+
+ machine.addTransition(s4, XsdSchemaToken::Attribute, s4);
+ machine.addTransition(s4, XsdSchemaToken::AttributeGroup, s4);
+ machine.addTransition(s4, XsdSchemaToken::AnyAttribute, s5);
+ machine.addTransition(s4, XsdSchemaToken::Assert, s6);
+
+ machine.addTransition(s5, XsdSchemaToken::Assert, s6);
+
+ machine.addTransition(s6, XsdSchemaToken::Assert, s6);
+
+ m_stateMachines.insert(XsdTagScope::ComplexContentRestriction, machine);
+ m_stateMachines.insert(XsdTagScope::ComplexContentExtension, machine);
+ }
+
+ {
+ XsdStateMachine<XsdSchemaToken::NodeName> machine(m_namePool);
+
+ // setup state machine for (annotation?, ((attribute | attributeGroup)*, anyAttribute?)) : named attribute group
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId startState = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::StartEndState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s1 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s2 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s3 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+
+ machine.addTransition(startState, XsdSchemaToken::Annotation, s1);
+ machine.addTransition(startState, XsdSchemaToken::Attribute, s2);
+ machine.addTransition(startState, XsdSchemaToken::AttributeGroup, s2);
+ machine.addTransition(startState, XsdSchemaToken::AnyAttribute, s3);
+
+ machine.addTransition(s1, XsdSchemaToken::Attribute, s2);
+ machine.addTransition(s1, XsdSchemaToken::AttributeGroup, s2);
+ machine.addTransition(s1, XsdSchemaToken::AnyAttribute, s3);
+
+ machine.addTransition(s2, XsdSchemaToken::Attribute, s2);
+ machine.addTransition(s2, XsdSchemaToken::AttributeGroup, s2);
+ machine.addTransition(s2, XsdSchemaToken::AnyAttribute, s3);
+
+ m_stateMachines.insert(XsdTagScope::NamedAttributeGroup, machine);
+ }
+
+ {
+ XsdStateMachine<XsdSchemaToken::NodeName> machine(m_namePool);
+
+ // setup state machine for (annotation?, (all | choice | sequence)?) : group
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId startState = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::StartEndState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s1 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s2 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+
+ machine.addTransition(startState, XsdSchemaToken::Annotation, s1);
+ machine.addTransition(startState, XsdSchemaToken::All, s2);
+ machine.addTransition(startState, XsdSchemaToken::Choice, s2);
+ machine.addTransition(startState, XsdSchemaToken::Sequence, s2);
+
+ machine.addTransition(s1, XsdSchemaToken::All, s2);
+ machine.addTransition(s1, XsdSchemaToken::Choice, s2);
+ machine.addTransition(s1, XsdSchemaToken::Sequence, s2);
+
+ m_stateMachines.insert(XsdTagScope::NamedGroup, machine);
+ m_stateMachines.insert(XsdTagScope::ReferredGroup, machine);
+ }
+
+ {
+ XsdStateMachine<XsdSchemaToken::NodeName> machine(m_namePool);
+
+ // setup state machine for (annotation?, (element | any)*) : all
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId startState = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::StartEndState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s1 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s2 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+
+ machine.addTransition(startState, XsdSchemaToken::Annotation, s1);
+ machine.addTransition(startState, XsdSchemaToken::Element, s2);
+ machine.addTransition(startState, XsdSchemaToken::Any, s2);
+
+ machine.addTransition(s1, XsdSchemaToken::Element, s2);
+ machine.addTransition(s1, XsdSchemaToken::Any, s2);
+
+ machine.addTransition(s2, XsdSchemaToken::Element, s2);
+ machine.addTransition(s2, XsdSchemaToken::Any, s2);
+
+ m_stateMachines.insert(XsdTagScope::All, machine);
+ m_stateMachines.insert(XsdTagScope::LocalAll, machine);
+ }
+
+ {
+ XsdStateMachine<XsdSchemaToken::NodeName> machine(m_namePool);
+
+ // setup state machine for (annotation?, (element | group | choice | sequence | any)*) : choice sequence
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId startState = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::StartEndState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s1 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s2 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+
+ machine.addTransition(startState, XsdSchemaToken::Annotation, s1);
+ machine.addTransition(startState, XsdSchemaToken::Element, s2);
+ machine.addTransition(startState, XsdSchemaToken::Group, s2);
+ machine.addTransition(startState, XsdSchemaToken::Choice, s2);
+ machine.addTransition(startState, XsdSchemaToken::Sequence, s2);
+ machine.addTransition(startState, XsdSchemaToken::Any, s2);
+
+ machine.addTransition(s1, XsdSchemaToken::Element, s2);
+ machine.addTransition(s1, XsdSchemaToken::Group, s2);
+ machine.addTransition(s1, XsdSchemaToken::Choice, s2);
+ machine.addTransition(s1, XsdSchemaToken::Sequence, s2);
+ machine.addTransition(s1, XsdSchemaToken::Any, s2);
+
+ machine.addTransition(s2, XsdSchemaToken::Element, s2);
+ machine.addTransition(s2, XsdSchemaToken::Group, s2);
+ machine.addTransition(s2, XsdSchemaToken::Choice, s2);
+ machine.addTransition(s2, XsdSchemaToken::Sequence, s2);
+ machine.addTransition(s2, XsdSchemaToken::Any, s2);
+
+ m_stateMachines.insert(XsdTagScope::Choice, machine);
+ m_stateMachines.insert(XsdTagScope::LocalChoice, machine);
+ m_stateMachines.insert(XsdTagScope::Sequence, machine);
+ m_stateMachines.insert(XsdTagScope::LocalSequence, machine);
+ }
+
+ {
+ XsdStateMachine<XsdSchemaToken::NodeName> machine(m_namePool);
+
+ // setup state machine for (annotation?) : any/selector/field/notation/include/import/referred attribute group/anyAttribute/all facets/assert
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId startState = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::StartEndState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s1 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+
+ machine.addTransition(startState, XsdSchemaToken::Annotation, s1);
+
+ m_stateMachines.insert(XsdTagScope::Any, machine);
+ m_stateMachines.insert(XsdTagScope::Selector, machine);
+ m_stateMachines.insert(XsdTagScope::Field, machine);
+ m_stateMachines.insert(XsdTagScope::Notation, machine);
+ m_stateMachines.insert(XsdTagScope::Include, machine);
+ m_stateMachines.insert(XsdTagScope::Import, machine);
+ m_stateMachines.insert(XsdTagScope::ReferredAttributeGroup, machine);
+ m_stateMachines.insert(XsdTagScope::AnyAttribute, machine);
+ m_stateMachines.insert(XsdTagScope::MinExclusiveFacet, machine);
+ m_stateMachines.insert(XsdTagScope::MinInclusiveFacet, machine);
+ m_stateMachines.insert(XsdTagScope::MaxExclusiveFacet, machine);
+ m_stateMachines.insert(XsdTagScope::MaxInclusiveFacet, machine);
+ m_stateMachines.insert(XsdTagScope::TotalDigitsFacet, machine);
+ m_stateMachines.insert(XsdTagScope::FractionDigitsFacet, machine);
+ m_stateMachines.insert(XsdTagScope::LengthFacet, machine);
+ m_stateMachines.insert(XsdTagScope::MinLengthFacet, machine);
+ m_stateMachines.insert(XsdTagScope::MaxLengthFacet, machine);
+ m_stateMachines.insert(XsdTagScope::EnumerationFacet, machine);
+ m_stateMachines.insert(XsdTagScope::WhiteSpaceFacet, machine);
+ m_stateMachines.insert(XsdTagScope::PatternFacet, machine);
+ m_stateMachines.insert(XsdTagScope::Assert, machine);
+ m_stateMachines.insert(XsdTagScope::Assertion, machine);
+ }
+
+ {
+ XsdStateMachine<XsdSchemaToken::NodeName> machine(m_namePool);
+
+ // setup state machine for (annotation?, (selector, field+)) : unique/key/keyref
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId startState = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::StartState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s1 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::InternalState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s2 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::InternalState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s3 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+
+ machine.addTransition(startState, XsdSchemaToken::Annotation, s1);
+ machine.addTransition(startState, XsdSchemaToken::Selector, s2);
+
+ machine.addTransition(s1, XsdSchemaToken::Selector, s2);
+ machine.addTransition(s2, XsdSchemaToken::Field, s3);
+ machine.addTransition(s3, XsdSchemaToken::Field, s3);
+
+ m_stateMachines.insert(XsdTagScope::Unique, machine);
+ m_stateMachines.insert(XsdTagScope::Key, machine);
+ m_stateMachines.insert(XsdTagScope::KeyRef, machine);
+ }
+
+ {
+ XsdStateMachine<XsdSchemaToken::NodeName> machine(m_namePool);
+
+ // setup state machine for (annotation?, (simpleType | complexType)?) : alternative
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId startState = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::StartEndState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s1 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s2 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+
+ machine.addTransition(startState, XsdSchemaToken::Annotation, s1);
+ machine.addTransition(startState, XsdSchemaToken::SimpleType, s2);
+ machine.addTransition(startState, XsdSchemaToken::ComplexType, s2);
+
+ machine.addTransition(s1, XsdSchemaToken::SimpleType, s2);
+ machine.addTransition(s1, XsdSchemaToken::ComplexType, s2);
+
+ m_stateMachines.insert(XsdTagScope::Alternative, machine);
+ }
+
+ {
+ XsdStateMachine<XsdSchemaToken::NodeName> machine(m_namePool);
+
+ // setup state machine for (appinfo | documentation)* : annotation
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId startState = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::StartEndState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s1 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+
+ machine.addTransition(startState, XsdSchemaToken::Appinfo, s1);
+ machine.addTransition(startState, XsdSchemaToken::Documentation, s1);
+
+ machine.addTransition(s1, XsdSchemaToken::Appinfo, s1);
+ machine.addTransition(s1, XsdSchemaToken::Documentation, s1);
+
+ m_stateMachines.insert(XsdTagScope::Annotation, machine);
+ }
+
+ {
+ XsdStateMachine<XsdSchemaToken::NodeName> machine(m_namePool);
+
+ // setup state machine for (annotation?, (restriction | list | union)) : simpleType
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId startState = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::StartState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s1 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::InternalState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s2 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+
+ machine.addTransition(startState, XsdSchemaToken::Annotation, s1);
+ machine.addTransition(startState, XsdSchemaToken::Restriction, s2);
+ machine.addTransition(startState, XsdSchemaToken::List, s2);
+ machine.addTransition(startState, XsdSchemaToken::Union, s2);
+
+ machine.addTransition(s1, XsdSchemaToken::Restriction, s2);
+ machine.addTransition(s1, XsdSchemaToken::List, s2);
+ machine.addTransition(s1, XsdSchemaToken::Union, s2);
+
+ m_stateMachines.insert(XsdTagScope::GlobalSimpleType, machine);
+ m_stateMachines.insert(XsdTagScope::LocalSimpleType, machine);
+ }
+
+ {
+ XsdStateMachine<XsdSchemaToken::NodeName> machine(m_namePool);
+
+ // setup state machine for (annotation?, (simpleType?, (minExclusive | minInclusive | maxExclusive | maxInclusive | totalDigits | fractionDigits | length | minLength | maxLength | enumeration | whiteSpace | pattern | assertion)*)) : simple type restriction
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId startState = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::StartEndState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s1 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s2 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s3 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+
+ machine.addTransition(startState, XsdSchemaToken::Annotation, s1);
+ machine.addTransition(startState, XsdSchemaToken::SimpleType, s2);
+ machine.addTransition(startState, XsdSchemaToken::MinExclusive, s3);
+ machine.addTransition(startState, XsdSchemaToken::MinInclusive, s3);
+ machine.addTransition(startState, XsdSchemaToken::MaxExclusive, s3);
+ machine.addTransition(startState, XsdSchemaToken::MaxInclusive, s3);
+ machine.addTransition(startState, XsdSchemaToken::TotalDigits, s3);
+ machine.addTransition(startState, XsdSchemaToken::FractionDigits, s3);
+ machine.addTransition(startState, XsdSchemaToken::Length, s3);
+ machine.addTransition(startState, XsdSchemaToken::MinLength, s3);
+ machine.addTransition(startState, XsdSchemaToken::MaxLength, s3);
+ machine.addTransition(startState, XsdSchemaToken::Enumeration, s3);
+ machine.addTransition(startState, XsdSchemaToken::WhiteSpace, s3);
+ machine.addTransition(startState, XsdSchemaToken::Pattern, s3);
+ machine.addTransition(startState, XsdSchemaToken::Assertion, s3);
+
+ machine.addTransition(s1, XsdSchemaToken::SimpleType, s2);
+ machine.addTransition(s1, XsdSchemaToken::MinExclusive, s3);
+ machine.addTransition(s1, XsdSchemaToken::MinInclusive, s3);
+ machine.addTransition(s1, XsdSchemaToken::MaxExclusive, s3);
+ machine.addTransition(s1, XsdSchemaToken::MaxInclusive, s3);
+ machine.addTransition(s1, XsdSchemaToken::TotalDigits, s3);
+ machine.addTransition(s1, XsdSchemaToken::FractionDigits, s3);
+ machine.addTransition(s1, XsdSchemaToken::Length, s3);
+ machine.addTransition(s1, XsdSchemaToken::MinLength, s3);
+ machine.addTransition(s1, XsdSchemaToken::MaxLength, s3);
+ machine.addTransition(s1, XsdSchemaToken::Enumeration, s3);
+ machine.addTransition(s1, XsdSchemaToken::WhiteSpace, s3);
+ machine.addTransition(s1, XsdSchemaToken::Pattern, s3);
+ machine.addTransition(s1, XsdSchemaToken::Assertion, s3);
+
+ machine.addTransition(s2, XsdSchemaToken::MinExclusive, s3);
+ machine.addTransition(s2, XsdSchemaToken::MinInclusive, s3);
+ machine.addTransition(s2, XsdSchemaToken::MaxExclusive, s3);
+ machine.addTransition(s2, XsdSchemaToken::MaxInclusive, s3);
+ machine.addTransition(s2, XsdSchemaToken::TotalDigits, s3);
+ machine.addTransition(s2, XsdSchemaToken::FractionDigits, s3);
+ machine.addTransition(s2, XsdSchemaToken::Length, s3);
+ machine.addTransition(s2, XsdSchemaToken::MinLength, s3);
+ machine.addTransition(s2, XsdSchemaToken::MaxLength, s3);
+ machine.addTransition(s2, XsdSchemaToken::Enumeration, s3);
+ machine.addTransition(s2, XsdSchemaToken::WhiteSpace, s3);
+ machine.addTransition(s2, XsdSchemaToken::Pattern, s3);
+ machine.addTransition(s2, XsdSchemaToken::Assertion, s3);
+
+ machine.addTransition(s3, XsdSchemaToken::MinExclusive, s3);
+ machine.addTransition(s3, XsdSchemaToken::MinInclusive, s3);
+ machine.addTransition(s3, XsdSchemaToken::MaxExclusive, s3);
+ machine.addTransition(s3, XsdSchemaToken::MaxInclusive, s3);
+ machine.addTransition(s3, XsdSchemaToken::TotalDigits, s3);
+ machine.addTransition(s3, XsdSchemaToken::FractionDigits, s3);
+ machine.addTransition(s3, XsdSchemaToken::Length, s3);
+ machine.addTransition(s3, XsdSchemaToken::MinLength, s3);
+ machine.addTransition(s3, XsdSchemaToken::MaxLength, s3);
+ machine.addTransition(s3, XsdSchemaToken::Enumeration, s3);
+ machine.addTransition(s3, XsdSchemaToken::WhiteSpace, s3);
+ machine.addTransition(s3, XsdSchemaToken::Pattern, s3);
+ machine.addTransition(s3, XsdSchemaToken::Assertion, s3);
+
+ m_stateMachines.insert(XsdTagScope::SimpleRestriction, machine);
+ }
+
+ {
+ XsdStateMachine<XsdSchemaToken::NodeName> machine(m_namePool);
+
+ // setup state machine for (annotation?, simpleType?) : list
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId startState = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::StartEndState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s1 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s2 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+
+ machine.addTransition(startState, XsdSchemaToken::Annotation, s1);
+ machine.addTransition(startState, XsdSchemaToken::SimpleType, s2);
+
+ machine.addTransition(s1, XsdSchemaToken::SimpleType, s2);
+
+ m_stateMachines.insert(XsdTagScope::List, machine);
+ }
+
+ {
+ XsdStateMachine<XsdSchemaToken::NodeName> machine(m_namePool);
+
+ // setup state machine for (annotation?, simpleType*) : union
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId startState = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::StartEndState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s1 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s2 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+
+ machine.addTransition(startState, XsdSchemaToken::Annotation, s1);
+ machine.addTransition(startState, XsdSchemaToken::SimpleType, s2);
+
+ machine.addTransition(s1, XsdSchemaToken::SimpleType, s2);
+ machine.addTransition(s2, XsdSchemaToken::SimpleType, s2);
+
+ m_stateMachines.insert(XsdTagScope::Union, machine);
+ }
+
+ {
+ XsdStateMachine<XsdSchemaToken::NodeName> machine(m_namePool);
+
+ // setup state machine for ((include | import | redefine |i override | annotation)*, (defaultOpenContent, annotation*)?, (((simpleType | complexType | group | attributeGroup) | element | attribute | notation), annotation*)*) : schema
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId startState = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::StartEndState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s1 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s2 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s3 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s4 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s5 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+
+ machine.addTransition(startState, XsdSchemaToken::Include, s1);
+ machine.addTransition(startState, XsdSchemaToken::Import, s1);
+ machine.addTransition(startState, XsdSchemaToken::Redefine, s1);
+ machine.addTransition(startState, XsdSchemaToken::Override, s1);
+ machine.addTransition(startState, XsdSchemaToken::Annotation, s1);
+ machine.addTransition(startState, XsdSchemaToken::DefaultOpenContent, s2);
+ machine.addTransition(startState, XsdSchemaToken::SimpleType, s4);
+ machine.addTransition(startState, XsdSchemaToken::ComplexType, s4);
+ machine.addTransition(startState, XsdSchemaToken::Group, s4);
+ machine.addTransition(startState, XsdSchemaToken::AttributeGroup, s4);
+ machine.addTransition(startState, XsdSchemaToken::Element, s4);
+ machine.addTransition(startState, XsdSchemaToken::Attribute, s4);
+ machine.addTransition(startState, XsdSchemaToken::Notation, s4);
+
+ machine.addTransition(s1, XsdSchemaToken::Include, s1);
+ machine.addTransition(s1, XsdSchemaToken::Import, s1);
+ machine.addTransition(s1, XsdSchemaToken::Redefine, s1);
+ machine.addTransition(s1, XsdSchemaToken::Override, s1);
+ machine.addTransition(s1, XsdSchemaToken::Annotation, s1);
+ machine.addTransition(s1, XsdSchemaToken::DefaultOpenContent, s2);
+ machine.addTransition(s1, XsdSchemaToken::SimpleType, s4);
+ machine.addTransition(s1, XsdSchemaToken::ComplexType, s4);
+ machine.addTransition(s1, XsdSchemaToken::Group, s4);
+ machine.addTransition(s1, XsdSchemaToken::AttributeGroup, s4);
+ machine.addTransition(s1, XsdSchemaToken::Element, s4);
+ machine.addTransition(s1, XsdSchemaToken::Attribute, s4);
+ machine.addTransition(s1, XsdSchemaToken::Notation, s4);
+
+ machine.addTransition(s2, XsdSchemaToken::Annotation, s3);
+ machine.addTransition(s2, XsdSchemaToken::SimpleType, s4);
+ machine.addTransition(s2, XsdSchemaToken::ComplexType, s4);
+ machine.addTransition(s2, XsdSchemaToken::Group, s4);
+ machine.addTransition(s2, XsdSchemaToken::AttributeGroup, s4);
+ machine.addTransition(s2, XsdSchemaToken::Element, s4);
+ machine.addTransition(s2, XsdSchemaToken::Attribute, s4);
+ machine.addTransition(s2, XsdSchemaToken::Notation, s4);
+
+ machine.addTransition(s3, XsdSchemaToken::SimpleType, s4);
+ machine.addTransition(s3, XsdSchemaToken::ComplexType, s4);
+ machine.addTransition(s3, XsdSchemaToken::Group, s4);
+ machine.addTransition(s3, XsdSchemaToken::AttributeGroup, s4);
+ machine.addTransition(s3, XsdSchemaToken::Element, s4);
+ machine.addTransition(s3, XsdSchemaToken::Attribute, s4);
+ machine.addTransition(s3, XsdSchemaToken::Notation, s4);
+
+ machine.addTransition(s4, XsdSchemaToken::SimpleType, s4);
+ machine.addTransition(s4, XsdSchemaToken::ComplexType, s4);
+ machine.addTransition(s4, XsdSchemaToken::Group, s4);
+ machine.addTransition(s4, XsdSchemaToken::AttributeGroup, s4);
+ machine.addTransition(s4, XsdSchemaToken::Element, s4);
+ machine.addTransition(s4, XsdSchemaToken::Attribute, s4);
+ machine.addTransition(s4, XsdSchemaToken::Notation, s4);
+ machine.addTransition(s4, XsdSchemaToken::Annotation, s5);
+
+ machine.addTransition(s5, XsdSchemaToken::SimpleType, s4);
+ machine.addTransition(s5, XsdSchemaToken::ComplexType, s4);
+ machine.addTransition(s5, XsdSchemaToken::Group, s4);
+ machine.addTransition(s5, XsdSchemaToken::AttributeGroup, s4);
+ machine.addTransition(s5, XsdSchemaToken::Element, s4);
+ machine.addTransition(s5, XsdSchemaToken::Attribute, s4);
+ machine.addTransition(s5, XsdSchemaToken::Notation, s4);
+ machine.addTransition(s5, XsdSchemaToken::Annotation, s5);
+
+ m_stateMachines.insert(XsdTagScope::Schema, machine);
+ }
+
+ {
+ XsdStateMachine<XsdSchemaToken::NodeName> machine(m_namePool);
+
+ // setup state machine for (annotation?, any) : defaultOpenContent
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId startState = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::StartEndState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s1 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::InternalState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s2 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+
+ machine.addTransition(startState, XsdSchemaToken::Annotation, s1);
+ machine.addTransition(startState, XsdSchemaToken::Any, s2);
+
+ machine.addTransition(s1, XsdSchemaToken::Any, s2);
+
+ m_stateMachines.insert(XsdTagScope::DefaultOpenContent, machine);
+ }
+
+ {
+ XsdStateMachine<XsdSchemaToken::NodeName> machine(m_namePool);
+
+ // setup state machine for (annotation | (simpleType | complexType | group | attributeGroup))* : redefine
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId startState = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::StartEndState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s1 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+
+ machine.addTransition(startState, XsdSchemaToken::Annotation, s1);
+ machine.addTransition(startState, XsdSchemaToken::SimpleType, s1);
+ machine.addTransition(startState, XsdSchemaToken::ComplexType, s1);
+ machine.addTransition(startState, XsdSchemaToken::Group, s1);
+ machine.addTransition(startState, XsdSchemaToken::AttributeGroup, s1);
+
+ machine.addTransition(s1, XsdSchemaToken::Annotation, s1);
+ machine.addTransition(s1, XsdSchemaToken::SimpleType, s1);
+ machine.addTransition(s1, XsdSchemaToken::ComplexType, s1);
+ machine.addTransition(s1, XsdSchemaToken::Group, s1);
+ machine.addTransition(s1, XsdSchemaToken::AttributeGroup, s1);
+
+ m_stateMachines.insert(XsdTagScope::Redefine, machine);
+ }
+
+ {
+ XsdStateMachine<XsdSchemaToken::NodeName> machine(m_namePool);
+
+ // setup state machine for (annotation | (simpleType | complexType | group | attributeGroup | element | attribute | notation))* : override
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId startState = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::StartEndState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s1 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+
+ machine.addTransition(startState, XsdSchemaToken::Annotation, s1);
+ machine.addTransition(startState, XsdSchemaToken::SimpleType, s1);
+ machine.addTransition(startState, XsdSchemaToken::ComplexType, s1);
+ machine.addTransition(startState, XsdSchemaToken::Group, s1);
+ machine.addTransition(startState, XsdSchemaToken::AttributeGroup, s1);
+ machine.addTransition(startState, XsdSchemaToken::Element, s1);
+ machine.addTransition(startState, XsdSchemaToken::Attribute, s1);
+ machine.addTransition(startState, XsdSchemaToken::Notation, s1);
+
+ machine.addTransition(s1, XsdSchemaToken::Annotation, s1);
+ machine.addTransition(s1, XsdSchemaToken::SimpleType, s1);
+ machine.addTransition(s1, XsdSchemaToken::ComplexType, s1);
+ machine.addTransition(s1, XsdSchemaToken::Group, s1);
+ machine.addTransition(s1, XsdSchemaToken::AttributeGroup, s1);
+ machine.addTransition(s1, XsdSchemaToken::Element, s1);
+ machine.addTransition(s1, XsdSchemaToken::Attribute, s1);
+ machine.addTransition(s1, XsdSchemaToken::Notation, s1);
+
+ m_stateMachines.insert(XsdTagScope::Override, machine);
+ }
+}
+
+void XsdSchemaParser::setupBuiltinTypeNames()
+{
+ m_builtinTypeNames.reserve(48);
+
+ m_builtinTypeNames.insert(BuiltinTypes::xsAnyType->name(m_namePool));
+ m_builtinTypeNames.insert(BuiltinTypes::xsAnySimpleType->name(m_namePool));
+ m_builtinTypeNames.insert(BuiltinTypes::xsUntyped->name(m_namePool));
+ m_builtinTypeNames.insert(BuiltinTypes::xsAnyAtomicType->name(m_namePool));
+ m_builtinTypeNames.insert(BuiltinTypes::xsUntypedAtomic->name(m_namePool));
+ m_builtinTypeNames.insert(BuiltinTypes::xsDateTime->name(m_namePool));
+ m_builtinTypeNames.insert(BuiltinTypes::xsDate->name(m_namePool));
+ m_builtinTypeNames.insert(BuiltinTypes::xsTime->name(m_namePool));
+ m_builtinTypeNames.insert(BuiltinTypes::xsDuration->name(m_namePool));
+ m_builtinTypeNames.insert(BuiltinTypes::xsYearMonthDuration->name(m_namePool));
+ m_builtinTypeNames.insert(BuiltinTypes::xsDayTimeDuration->name(m_namePool));
+ m_builtinTypeNames.insert(BuiltinTypes::xsFloat->name(m_namePool));
+ m_builtinTypeNames.insert(BuiltinTypes::xsDouble->name(m_namePool));
+ m_builtinTypeNames.insert(BuiltinTypes::xsInteger->name(m_namePool));
+ m_builtinTypeNames.insert(BuiltinTypes::xsDecimal->name(m_namePool));
+ m_builtinTypeNames.insert(BuiltinTypes::xsNonPositiveInteger->name(m_namePool));
+ m_builtinTypeNames.insert(BuiltinTypes::xsNegativeInteger->name(m_namePool));
+ m_builtinTypeNames.insert(BuiltinTypes::xsLong->name(m_namePool));
+ m_builtinTypeNames.insert(BuiltinTypes::xsInt->name(m_namePool));
+ m_builtinTypeNames.insert(BuiltinTypes::xsShort->name(m_namePool));
+ m_builtinTypeNames.insert(BuiltinTypes::xsByte->name(m_namePool));
+ m_builtinTypeNames.insert(BuiltinTypes::xsNonNegativeInteger->name(m_namePool));
+ m_builtinTypeNames.insert(BuiltinTypes::xsUnsignedLong->name(m_namePool));
+ m_builtinTypeNames.insert(BuiltinTypes::xsUnsignedInt->name(m_namePool));
+ m_builtinTypeNames.insert(BuiltinTypes::xsUnsignedShort->name(m_namePool));
+ m_builtinTypeNames.insert(BuiltinTypes::xsUnsignedByte->name(m_namePool));
+ m_builtinTypeNames.insert(BuiltinTypes::xsPositiveInteger->name(m_namePool));
+ m_builtinTypeNames.insert(BuiltinTypes::xsGYearMonth->name(m_namePool));
+ m_builtinTypeNames.insert(BuiltinTypes::xsGYear->name(m_namePool));
+ m_builtinTypeNames.insert(BuiltinTypes::xsGMonthDay->name(m_namePool));
+ m_builtinTypeNames.insert(BuiltinTypes::xsGDay->name(m_namePool));
+ m_builtinTypeNames.insert(BuiltinTypes::xsGMonth->name(m_namePool));
+ m_builtinTypeNames.insert(BuiltinTypes::xsBoolean->name(m_namePool));
+ m_builtinTypeNames.insert(BuiltinTypes::xsBase64Binary->name(m_namePool));
+ m_builtinTypeNames.insert(BuiltinTypes::xsHexBinary->name(m_namePool));
+ m_builtinTypeNames.insert(BuiltinTypes::xsAnyURI->name(m_namePool));
+ m_builtinTypeNames.insert(BuiltinTypes::xsQName->name(m_namePool));
+ m_builtinTypeNames.insert(BuiltinTypes::xsString->name(m_namePool));
+ m_builtinTypeNames.insert(BuiltinTypes::xsNormalizedString->name(m_namePool));
+ m_builtinTypeNames.insert(BuiltinTypes::xsToken->name(m_namePool));
+ m_builtinTypeNames.insert(BuiltinTypes::xsLanguage->name(m_namePool));
+ m_builtinTypeNames.insert(BuiltinTypes::xsNMTOKEN->name(m_namePool));
+ m_builtinTypeNames.insert(BuiltinTypes::xsName->name(m_namePool));
+ m_builtinTypeNames.insert(BuiltinTypes::xsNCName->name(m_namePool));
+ m_builtinTypeNames.insert(BuiltinTypes::xsID->name(m_namePool));
+ m_builtinTypeNames.insert(BuiltinTypes::xsIDREF->name(m_namePool));
+ m_builtinTypeNames.insert(BuiltinTypes::xsENTITY->name(m_namePool));
+ m_builtinTypeNames.insert(BuiltinTypes::xsNOTATION->name(m_namePool));
+}
+
+QT_END_NAMESPACE
diff --git a/src/xmlpatterns/schema/qxsdschemaparsercontext.cpp b/src/xmlpatterns/schema/qxsdschemaparsercontext.cpp
new file mode 100644
index 0000000..0f711d8
--- /dev/null
+++ b/src/xmlpatterns/schema/qxsdschemaparsercontext.cpp
@@ -0,0 +1,603 @@
+/****************************************************************************
+**
+** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the QtXmlPatterns of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "qxsdschemaparsercontext_p.h"
+
+QT_BEGIN_NAMESPACE
+
+using namespace QPatternist;
+
+XsdSchemaParserContext::XsdSchemaParserContext(const NamePool::Ptr &namePool, const XsdSchemaContext::Ptr &context)
+ : m_namePool(namePool)
+ , m_schema(new XsdSchema(m_namePool))
+ , m_checker(new XsdSchemaChecker(context, this))
+ , m_resolver(new XsdSchemaResolver(context, this))
+ , m_elementDescriptions(setupElementDescriptions())
+{
+}
+
+NamePool::Ptr XsdSchemaParserContext::namePool() const
+{
+ return m_namePool;
+}
+
+XsdSchemaResolver::Ptr XsdSchemaParserContext::resolver() const
+{
+ return m_resolver;
+}
+
+XsdSchemaChecker::Ptr XsdSchemaParserContext::checker() const
+{
+ return m_checker;
+}
+
+XsdSchema::Ptr XsdSchemaParserContext::schema() const
+{
+ return m_schema;
+}
+
+ElementDescription<XsdSchemaToken, XsdTagScope::Type>::Hash XsdSchemaParserContext::elementDescriptions() const
+{
+ return m_elementDescriptions;
+}
+
+QXmlName XsdSchemaParserContext::createAnonymousName(const QString &targetNamespace) const
+{
+ m_anonymousNameCounter.ref();
+
+ const QString name = QString::fromLatin1("__AnonymousClass_%1").arg((int)m_anonymousNameCounter);
+
+ return m_namePool->allocateQName(targetNamespace, name);
+}
+
+ElementDescription<XsdSchemaToken, XsdTagScope::Type>::Hash XsdSchemaParserContext::setupElementDescriptions()
+{
+ enum
+ {
+ ReservedForElements = 60
+ };
+
+ ElementDescription<XsdSchemaToken, XsdTagScope::Type>::Hash elementDescriptions;
+ elementDescriptions.reserve(ReservedForElements);
+
+ {
+ ElementDescription<XsdSchemaToken, XsdTagScope::Type> &description = elementDescriptions[XsdTagScope::Schema];
+ description.optionalAttributes.reserve(10);
+ //description.tagToken = XsdSchemaToken::Schema;
+ description.optionalAttributes.insert(XsdSchemaToken::AttributeFormDefault);
+ description.optionalAttributes.insert(XsdSchemaToken::BlockDefault);
+ description.optionalAttributes.insert(XsdSchemaToken::DefaultAttributes);
+ description.optionalAttributes.insert(XsdSchemaToken::XPathDefaultNamespace);
+ description.optionalAttributes.insert(XsdSchemaToken::ElementFormDefault);
+ description.optionalAttributes.insert(XsdSchemaToken::FinalDefault);
+ description.optionalAttributes.insert(XsdSchemaToken::Id);
+ description.optionalAttributes.insert(XsdSchemaToken::TargetNamespace);
+ description.optionalAttributes.insert(XsdSchemaToken::Version);
+ description.optionalAttributes.insert(XsdSchemaToken::XmlLanguage);
+ }
+
+ {
+ ElementDescription<XsdSchemaToken, XsdTagScope::Type> &description = elementDescriptions[XsdTagScope::Include];
+ //description.tagToken = XsdSchemaToken::Include;
+ description.requiredAttributes.insert(XsdSchemaToken::SchemaLocation);
+ description.optionalAttributes.insert(XsdSchemaToken::Id);
+ }
+
+ {
+ ElementDescription<XsdSchemaToken, XsdTagScope::Type> &description = elementDescriptions[XsdTagScope::Import];
+ //description.tagToken = XsdSchemaToken::Import;
+ description.optionalAttributes.insert(XsdSchemaToken::Id);
+ description.optionalAttributes.insert(XsdSchemaToken::Namespace);
+ description.optionalAttributes.insert(XsdSchemaToken::SchemaLocation);
+ }
+
+ {
+ ElementDescription<XsdSchemaToken, XsdTagScope::Type> &description = elementDescriptions[XsdTagScope::Redefine];
+ //description.tagToken = XsdSchemaToken::Redefine;
+ description.optionalAttributes.insert(XsdSchemaToken::Id);
+ description.requiredAttributes.insert(XsdSchemaToken::SchemaLocation);
+ }
+
+ {
+ ElementDescription<XsdSchemaToken, XsdTagScope::Type> &description = elementDescriptions[XsdTagScope::Override];
+ //description.tagToken = XsdSchemaToken::Override;
+ description.optionalAttributes.insert(XsdSchemaToken::Id);
+ description.requiredAttributes.insert(XsdSchemaToken::SchemaLocation);
+ }
+
+ {
+ ElementDescription<XsdSchemaToken, XsdTagScope::Type> &description = elementDescriptions[XsdTagScope::Annotation];
+ //description.tagToken = XsdSchemaToken::Annotation;
+ description.optionalAttributes.insert(XsdSchemaToken::Id);
+ }
+
+ {
+ ElementDescription<XsdSchemaToken, XsdTagScope::Type> &description = elementDescriptions[XsdTagScope::AppInfo];
+ //description.tagToken = XsdSchemaToken::Appinfo;
+ description.optionalAttributes.insert(XsdSchemaToken::Source);
+ }
+
+ {
+ ElementDescription<XsdSchemaToken, XsdTagScope::Type> &description = elementDescriptions[XsdTagScope::Documentation];
+ //description.tagToken = XsdSchemaToken::Documentation;
+ description.optionalAttributes.insert(XsdSchemaToken::Source);
+ }
+
+ {
+ ElementDescription<XsdSchemaToken, XsdTagScope::Type> &description = elementDescriptions[XsdTagScope::GlobalSimpleType];
+ //description.tagToken = XsdSchemaToken::SimpleType;
+ description.optionalAttributes.insert(XsdSchemaToken::Final);
+ description.optionalAttributes.insert(XsdSchemaToken::Id);
+ description.requiredAttributes.insert(XsdSchemaToken::Name);
+ }
+
+ {
+ ElementDescription<XsdSchemaToken, XsdTagScope::Type> &description = elementDescriptions[XsdTagScope::LocalSimpleType];
+ //description.tagToken = XsdSchemaToken::SimpleType;
+ description.optionalAttributes.insert(XsdSchemaToken::Id);
+ }
+
+ {
+ ElementDescription<XsdSchemaToken, XsdTagScope::Type> &description = elementDescriptions[XsdTagScope::SimpleRestriction];
+ //description.tagToken = XsdSchemaToken::Restriction;
+ description.optionalAttributes.insert(XsdSchemaToken::Base);
+ description.optionalAttributes.insert(XsdSchemaToken::Id);
+ }
+
+ {
+ ElementDescription<XsdSchemaToken, XsdTagScope::Type> &description = elementDescriptions[XsdTagScope::List];
+ //description.tagToken = XsdSchemaToken::List;
+ description.optionalAttributes.insert(XsdSchemaToken::Id);
+ description.optionalAttributes.insert(XsdSchemaToken::ItemType);
+ }
+
+ {
+ ElementDescription<XsdSchemaToken, XsdTagScope::Type> &description = elementDescriptions[XsdTagScope::Union];
+ //description.tagToken = XsdSchemaToken::Union;
+ description.optionalAttributes.insert(XsdSchemaToken::Id);
+ description.optionalAttributes.insert(XsdSchemaToken::MemberTypes);
+ }
+
+ {
+ ElementDescription<XsdSchemaToken, XsdTagScope::Type> &description = elementDescriptions[XsdTagScope::MinExclusiveFacet];
+ //description.tagToken = XsdSchemaToken::MinExclusive;
+ description.optionalAttributes.insert(XsdSchemaToken::Fixed);
+ description.optionalAttributes.insert(XsdSchemaToken::Id);
+ description.requiredAttributes.insert(XsdSchemaToken::Value);
+ }
+
+ {
+ ElementDescription<XsdSchemaToken, XsdTagScope::Type> &description = elementDescriptions[XsdTagScope::MinInclusiveFacet];
+ //description.tagToken = XsdSchemaToken::MinInclusive;
+ description.optionalAttributes.insert(XsdSchemaToken::Fixed);
+ description.optionalAttributes.insert(XsdSchemaToken::Id);
+ description.requiredAttributes.insert(XsdSchemaToken::Value);
+ }
+
+ {
+ ElementDescription<XsdSchemaToken, XsdTagScope::Type> &description = elementDescriptions[XsdTagScope::MaxExclusiveFacet];
+ //description.tagToken = XsdSchemaToken::MaxExclusive;
+ description.optionalAttributes.insert(XsdSchemaToken::Fixed);
+ description.optionalAttributes.insert(XsdSchemaToken::Id);
+ description.requiredAttributes.insert(XsdSchemaToken::Value);
+ }
+
+ {
+ ElementDescription<XsdSchemaToken, XsdTagScope::Type> &description = elementDescriptions[XsdTagScope::MaxInclusiveFacet];
+ //description.tagToken = XsdSchemaToken::MaxInclusive;
+ description.optionalAttributes.insert(XsdSchemaToken::Fixed);
+ description.optionalAttributes.insert(XsdSchemaToken::Id);
+ description.requiredAttributes.insert(XsdSchemaToken::Value);
+ }
+
+ {
+ ElementDescription<XsdSchemaToken, XsdTagScope::Type> &description = elementDescriptions[XsdTagScope::TotalDigitsFacet];
+ //description.tagToken = XsdSchemaToken::TotalDigits;
+ description.optionalAttributes.insert(XsdSchemaToken::Fixed);
+ description.optionalAttributes.insert(XsdSchemaToken::Id);
+ description.requiredAttributes.insert(XsdSchemaToken::Value);
+ }
+
+ {
+ ElementDescription<XsdSchemaToken, XsdTagScope::Type> &description = elementDescriptions[XsdTagScope::FractionDigitsFacet];
+ //description.tagToken = XsdSchemaToken::FractionDigits;
+ description.optionalAttributes.insert(XsdSchemaToken::Fixed);
+ description.optionalAttributes.insert(XsdSchemaToken::Id);
+ description.requiredAttributes.insert(XsdSchemaToken::Value);
+ }
+
+ {
+ ElementDescription<XsdSchemaToken, XsdTagScope::Type> &description = elementDescriptions[XsdTagScope::LengthFacet];
+ //description.tagToken = XsdSchemaToken::Length;
+ description.optionalAttributes.insert(XsdSchemaToken::Fixed);
+ description.optionalAttributes.insert(XsdSchemaToken::Id);
+ description.requiredAttributes.insert(XsdSchemaToken::Value);
+ }
+
+ {
+ ElementDescription<XsdSchemaToken, XsdTagScope::Type> &description = elementDescriptions[XsdTagScope::MinLengthFacet];
+ //description.tagToken = XsdSchemaToken::MinLength;
+ description.optionalAttributes.insert(XsdSchemaToken::Fixed);
+ description.optionalAttributes.insert(XsdSchemaToken::Id);
+ description.requiredAttributes.insert(XsdSchemaToken::Value);
+ }
+
+ {
+ ElementDescription<XsdSchemaToken, XsdTagScope::Type> &description = elementDescriptions[XsdTagScope::MaxLengthFacet];
+ //description.tagToken = XsdSchemaToken::MaxLength;
+ description.optionalAttributes.insert(XsdSchemaToken::Fixed);
+ description.optionalAttributes.insert(XsdSchemaToken::Id);
+ description.requiredAttributes.insert(XsdSchemaToken::Value);
+ }
+
+ {
+ ElementDescription<XsdSchemaToken, XsdTagScope::Type> &description = elementDescriptions[XsdTagScope::EnumerationFacet];
+ //description.tagToken = XsdSchemaToken::Enumeration;
+ description.optionalAttributes.insert(XsdSchemaToken::Id);
+ description.requiredAttributes.insert(XsdSchemaToken::Value);
+ }
+
+ {
+ ElementDescription<XsdSchemaToken, XsdTagScope::Type> &description = elementDescriptions[XsdTagScope::WhiteSpaceFacet];
+ //description.tagToken = XsdSchemaToken::WhiteSpace;
+ description.optionalAttributes.insert(XsdSchemaToken::Fixed);
+ description.optionalAttributes.insert(XsdSchemaToken::Id);
+ description.requiredAttributes.insert(XsdSchemaToken::Value);
+ }
+
+ {
+ ElementDescription<XsdSchemaToken, XsdTagScope::Type> &description = elementDescriptions[XsdTagScope::PatternFacet];
+ //description.tagToken = XsdSchemaToken::Pattern;
+ description.optionalAttributes.insert(XsdSchemaToken::Id);
+ description.requiredAttributes.insert(XsdSchemaToken::Value);
+ }
+
+ {
+ ElementDescription<XsdSchemaToken, XsdTagScope::Type> &description = elementDescriptions[XsdTagScope::GlobalComplexType];
+ description.optionalAttributes.reserve(7);
+ //description.tagToken = XsdSchemaToken::ComplexType;
+ description.optionalAttributes.insert(XsdSchemaToken::Abstract);
+ description.optionalAttributes.insert(XsdSchemaToken::Block);
+ description.optionalAttributes.insert(XsdSchemaToken::DefaultAttributesApply);
+ description.optionalAttributes.insert(XsdSchemaToken::Final);
+ description.optionalAttributes.insert(XsdSchemaToken::Id);
+ description.optionalAttributes.insert(XsdSchemaToken::Mixed);
+ description.requiredAttributes.insert(XsdSchemaToken::Name);
+ }
+
+ {
+ ElementDescription<XsdSchemaToken, XsdTagScope::Type> &description = elementDescriptions[XsdTagScope::LocalComplexType];
+ //description.tagToken = XsdSchemaToken::ComplexType;
+ description.optionalAttributes.insert(XsdSchemaToken::Id);
+ description.optionalAttributes.insert(XsdSchemaToken::Mixed);
+ }
+
+ {
+ ElementDescription<XsdSchemaToken, XsdTagScope::Type> &description = elementDescriptions[XsdTagScope::SimpleContent];
+ //description.tagToken = XsdSchemaToken::SimpleContent;
+ description.optionalAttributes.insert(XsdSchemaToken::Id);
+ }
+
+ {
+ ElementDescription<XsdSchemaToken, XsdTagScope::Type> &description = elementDescriptions[XsdTagScope::SimpleContentRestriction];
+ //description.tagToken = XsdSchemaToken::Restriction;
+ description.requiredAttributes.insert(XsdSchemaToken::Base);
+ description.optionalAttributes.insert(XsdSchemaToken::Id);
+ }
+
+ {
+ ElementDescription<XsdSchemaToken, XsdTagScope::Type> &description = elementDescriptions[XsdTagScope::SimpleContentExtension];
+ //description.tagToken = XsdSchemaToken::Extension;
+ description.requiredAttributes.insert(XsdSchemaToken::Base);
+ description.optionalAttributes.insert(XsdSchemaToken::Id);
+ }
+
+ {
+ ElementDescription<XsdSchemaToken, XsdTagScope::Type> &description = elementDescriptions[XsdTagScope::ComplexContent];
+ //description.tagToken = XsdSchemaToken::ComplexContent;
+ description.optionalAttributes.insert(XsdSchemaToken::Id);
+ description.optionalAttributes.insert(XsdSchemaToken::Mixed);
+ }
+
+ {
+ ElementDescription<XsdSchemaToken, XsdTagScope::Type> &description = elementDescriptions[XsdTagScope::ComplexContentRestriction];
+ //description.tagToken = XsdSchemaToken::Restriction;
+ description.requiredAttributes.insert(XsdSchemaToken::Base);
+ description.optionalAttributes.insert(XsdSchemaToken::Id);
+ }
+
+ {
+ ElementDescription<XsdSchemaToken, XsdTagScope::Type> &description = elementDescriptions[XsdTagScope::ComplexContentExtension];
+ //description.tagToken = XsdSchemaToken::Extension;
+ description.requiredAttributes.insert(XsdSchemaToken::Base);
+ description.optionalAttributes.insert(XsdSchemaToken::Id);
+ }
+
+ {
+ ElementDescription<XsdSchemaToken, XsdTagScope::Type> &description = elementDescriptions[XsdTagScope::NamedGroup];
+ //description.tagToken = XsdSchemaToken::Group;
+ description.optionalAttributes.insert(XsdSchemaToken::Id);
+ description.requiredAttributes.insert(XsdSchemaToken::Name);
+ }
+
+ {
+ ElementDescription<XsdSchemaToken, XsdTagScope::Type> &description = elementDescriptions[XsdTagScope::ReferredGroup];
+ description.optionalAttributes.reserve(4);
+ //description.tagToken = XsdSchemaToken::Group;
+ description.optionalAttributes.insert(XsdSchemaToken::Id);
+ description.optionalAttributes.insert(XsdSchemaToken::MaxOccurs);
+ description.optionalAttributes.insert(XsdSchemaToken::MinOccurs);
+ description.requiredAttributes.insert(XsdSchemaToken::Ref);
+ }
+
+ {
+ ElementDescription<XsdSchemaToken, XsdTagScope::Type> &description = elementDescriptions[XsdTagScope::All];
+ //description.tagToken = XsdSchemaToken::All;
+ description.optionalAttributes.insert(XsdSchemaToken::Id);
+ }
+
+ {
+ ElementDescription<XsdSchemaToken, XsdTagScope::Type> &description = elementDescriptions[XsdTagScope::LocalAll];
+ //description.tagToken = XsdSchemaToken::All;
+ description.optionalAttributes.insert(XsdSchemaToken::Id);
+ description.optionalAttributes.insert(XsdSchemaToken::MaxOccurs);
+ description.optionalAttributes.insert(XsdSchemaToken::MinOccurs);
+ }
+
+ {
+ ElementDescription<XsdSchemaToken, XsdTagScope::Type> &description = elementDescriptions[XsdTagScope::Choice];
+ //description.tagToken = XsdSchemaToken::Choice;
+ description.optionalAttributes.insert(XsdSchemaToken::Id);
+ }
+
+ {
+ ElementDescription<XsdSchemaToken, XsdTagScope::Type> &description = elementDescriptions[XsdTagScope::LocalChoice];
+ //description.tagToken = XsdSchemaToken::Choice;
+ description.optionalAttributes.insert(XsdSchemaToken::Id);
+ description.optionalAttributes.insert(XsdSchemaToken::MaxOccurs);
+ description.optionalAttributes.insert(XsdSchemaToken::MinOccurs);
+ }
+
+ {
+ ElementDescription<XsdSchemaToken, XsdTagScope::Type> &description = elementDescriptions[XsdTagScope::Sequence];
+ //description.tagToken = XsdSchemaToken::Sequence;
+ description.optionalAttributes.insert(XsdSchemaToken::Id);
+ }
+
+ {
+ ElementDescription<XsdSchemaToken, XsdTagScope::Type> &description = elementDescriptions[XsdTagScope::LocalSequence];
+ //description.tagToken = XsdSchemaToken::Sequence;
+ description.optionalAttributes.insert(XsdSchemaToken::Id);
+ description.optionalAttributes.insert(XsdSchemaToken::MaxOccurs);
+ description.optionalAttributes.insert(XsdSchemaToken::MinOccurs);
+ }
+
+ {
+ ElementDescription<XsdSchemaToken, XsdTagScope::Type> &description = elementDescriptions[XsdTagScope::GlobalAttribute];
+ description.optionalAttributes.reserve(5);
+ //description.tagToken = XsdSchemaToken::Attribute;
+ description.optionalAttributes.insert(XsdSchemaToken::Default);
+ description.optionalAttributes.insert(XsdSchemaToken::Fixed);
+ description.optionalAttributes.insert(XsdSchemaToken::Id);
+ description.requiredAttributes.insert(XsdSchemaToken::Name);
+ description.optionalAttributes.insert(XsdSchemaToken::Type);
+ }
+
+ {
+ ElementDescription<XsdSchemaToken, XsdTagScope::Type> &description = elementDescriptions[XsdTagScope::LocalAttribute];
+ description.optionalAttributes.reserve(8);
+ //description.tagToken = XsdSchemaToken::Attribute;
+ description.optionalAttributes.insert(XsdSchemaToken::Default);
+ description.optionalAttributes.insert(XsdSchemaToken::Fixed);
+ description.optionalAttributes.insert(XsdSchemaToken::Form);
+ description.optionalAttributes.insert(XsdSchemaToken::Id);
+ description.optionalAttributes.insert(XsdSchemaToken::Name);
+ description.optionalAttributes.insert(XsdSchemaToken::Ref);
+ description.optionalAttributes.insert(XsdSchemaToken::Type);
+ description.optionalAttributes.insert(XsdSchemaToken::Use);
+ }
+
+ {
+ ElementDescription<XsdSchemaToken, XsdTagScope::Type> &description = elementDescriptions[XsdTagScope::NamedAttributeGroup];
+ //description.tagToken = XsdSchemaToken::AttributeGroup;
+ description.optionalAttributes.insert(XsdSchemaToken::Id);
+ description.requiredAttributes.insert(XsdSchemaToken::Name);
+ }
+
+ {
+ ElementDescription<XsdSchemaToken, XsdTagScope::Type> &description = elementDescriptions[XsdTagScope::ReferredAttributeGroup];
+ //description.tagToken = XsdSchemaToken::AttributeGroup;
+ description.optionalAttributes.insert(XsdSchemaToken::Id);
+ description.requiredAttributes.insert(XsdSchemaToken::Ref);
+ }
+
+ {
+ ElementDescription<XsdSchemaToken, XsdTagScope::Type> &description = elementDescriptions[XsdTagScope::LocalElement];
+ description.optionalAttributes.reserve(11);
+ //description.tagToken = XsdSchemaToken::Element;
+ description.optionalAttributes.insert(XsdSchemaToken::Block);
+ description.optionalAttributes.insert(XsdSchemaToken::Default);
+ description.optionalAttributes.insert(XsdSchemaToken::Fixed);
+ description.optionalAttributes.insert(XsdSchemaToken::Form);
+ description.optionalAttributes.insert(XsdSchemaToken::Id);
+ description.optionalAttributes.insert(XsdSchemaToken::MinOccurs);
+ description.optionalAttributes.insert(XsdSchemaToken::MaxOccurs);
+ description.optionalAttributes.insert(XsdSchemaToken::Name);
+ description.optionalAttributes.insert(XsdSchemaToken::Nillable);
+ description.optionalAttributes.insert(XsdSchemaToken::Ref);
+ description.optionalAttributes.insert(XsdSchemaToken::Type);
+ }
+
+ {
+ ElementDescription<XsdSchemaToken, XsdTagScope::Type> &description = elementDescriptions[XsdTagScope::GlobalElement];
+ description.optionalAttributes.reserve(10);
+ //description.tagToken = XsdSchemaToken::Element;
+ description.optionalAttributes.insert(XsdSchemaToken::Abstract);
+ description.optionalAttributes.insert(XsdSchemaToken::Block);
+ description.optionalAttributes.insert(XsdSchemaToken::Default);
+ description.optionalAttributes.insert(XsdSchemaToken::Final);
+ description.optionalAttributes.insert(XsdSchemaToken::Fixed);
+ description.optionalAttributes.insert(XsdSchemaToken::Id);
+ description.requiredAttributes.insert(XsdSchemaToken::Name);
+ description.optionalAttributes.insert(XsdSchemaToken::Nillable);
+ description.optionalAttributes.insert(XsdSchemaToken::SubstitutionGroup);
+ description.optionalAttributes.insert(XsdSchemaToken::Type);
+ }
+
+ {
+ ElementDescription<XsdSchemaToken, XsdTagScope::Type> &description = elementDescriptions[XsdTagScope::Unique];
+ //description.tagToken = XsdSchemaToken::Unique;
+ description.optionalAttributes.insert(XsdSchemaToken::Id);
+ description.requiredAttributes.insert(XsdSchemaToken::Name);
+ }
+
+ {
+ ElementDescription<XsdSchemaToken, XsdTagScope::Type> &description = elementDescriptions[XsdTagScope::Key];
+ //description.tagToken = XsdSchemaToken::Key;
+ description.optionalAttributes.insert(XsdSchemaToken::Id);
+ description.requiredAttributes.insert(XsdSchemaToken::Name);
+ }
+
+ {
+ ElementDescription<XsdSchemaToken, XsdTagScope::Type> &description = elementDescriptions[XsdTagScope::KeyRef];
+ //description.tagToken = XsdSchemaToken::Keyref;
+ description.optionalAttributes.insert(XsdSchemaToken::Id);
+ description.requiredAttributes.insert(XsdSchemaToken::Name);
+ description.requiredAttributes.insert(XsdSchemaToken::Refer);
+ }
+
+ {
+ ElementDescription<XsdSchemaToken, XsdTagScope::Type> &description = elementDescriptions[XsdTagScope::Selector];
+ //description.tagToken = XsdSchemaToken::Selector;
+ description.optionalAttributes.insert(XsdSchemaToken::Id);
+ description.requiredAttributes.insert(XsdSchemaToken::Xpath);
+ description.optionalAttributes.insert(XsdSchemaToken::XPathDefaultNamespace);
+ }
+
+ {
+ ElementDescription<XsdSchemaToken, XsdTagScope::Type> &description = elementDescriptions[XsdTagScope::Field];
+ //description.tagToken = XsdSchemaToken::Field;
+ description.optionalAttributes.insert(XsdSchemaToken::Id);
+ description.requiredAttributes.insert(XsdSchemaToken::Xpath);
+ description.optionalAttributes.insert(XsdSchemaToken::XPathDefaultNamespace);
+ }
+
+ {
+ ElementDescription<XsdSchemaToken, XsdTagScope::Type> &description = elementDescriptions[XsdTagScope::Notation];
+ description.optionalAttributes.reserve(4);
+ //description.tagToken = XsdSchemaToken::Notation;
+ description.optionalAttributes.insert(XsdSchemaToken::Id);
+ description.requiredAttributes.insert(XsdSchemaToken::Name);
+ description.optionalAttributes.insert(XsdSchemaToken::Public);
+ description.optionalAttributes.insert(XsdSchemaToken::System);
+ }
+
+ {
+ ElementDescription<XsdSchemaToken, XsdTagScope::Type> &description = elementDescriptions[XsdTagScope::Any];
+ description.optionalAttributes.reserve(7);
+ //description.tagToken = XsdSchemaToken::Any;
+ description.optionalAttributes.insert(XsdSchemaToken::Id);
+ description.optionalAttributes.insert(XsdSchemaToken::MaxOccurs);
+ description.optionalAttributes.insert(XsdSchemaToken::MinOccurs);
+ description.optionalAttributes.insert(XsdSchemaToken::Namespace);
+ description.optionalAttributes.insert(XsdSchemaToken::NotNamespace);
+ description.optionalAttributes.insert(XsdSchemaToken::NotQName);
+ description.optionalAttributes.insert(XsdSchemaToken::ProcessContents);
+ }
+
+ {
+ ElementDescription<XsdSchemaToken, XsdTagScope::Type> &description = elementDescriptions[XsdTagScope::AnyAttribute];
+ description.optionalAttributes.reserve(5);
+ //description.tagToken = XsdSchemaToken::AnyAttribute;
+ description.optionalAttributes.insert(XsdSchemaToken::Id);
+ description.optionalAttributes.insert(XsdSchemaToken::Namespace);
+ description.optionalAttributes.insert(XsdSchemaToken::NotNamespace);
+ description.optionalAttributes.insert(XsdSchemaToken::NotQName);
+ description.optionalAttributes.insert(XsdSchemaToken::ProcessContents);
+ }
+
+ {
+ ElementDescription<XsdSchemaToken, XsdTagScope::Type> &description = elementDescriptions[XsdTagScope::Alternative];
+ //description.tagToken = XsdSchemaToken::Alternative;
+ description.optionalAttributes.insert(XsdSchemaToken::Id);
+ description.optionalAttributes.insert(XsdSchemaToken::Test);
+ description.optionalAttributes.insert(XsdSchemaToken::Type);
+ description.optionalAttributes.insert(XsdSchemaToken::XPathDefaultNamespace);
+ }
+
+ {
+ ElementDescription<XsdSchemaToken, XsdTagScope::Type> &description = elementDescriptions[XsdTagScope::OpenContent];
+ //description.tagToken = XsdSchemaToken::OpenContent;
+ description.optionalAttributes.insert(XsdSchemaToken::Id);
+ description.optionalAttributes.insert(XsdSchemaToken::Mode);
+ }
+
+ {
+ ElementDescription<XsdSchemaToken, XsdTagScope::Type> &description = elementDescriptions[XsdTagScope::DefaultOpenContent];
+ //description.tagToken = XsdSchemaToken::DefaultOpenContent;
+ description.optionalAttributes.insert(XsdSchemaToken::AppliesToEmpty);
+ description.optionalAttributes.insert(XsdSchemaToken::Id);
+ description.optionalAttributes.insert(XsdSchemaToken::Mode);
+ }
+
+ {
+ ElementDescription<XsdSchemaToken, XsdTagScope::Type> &description = elementDescriptions[XsdTagScope::Assert];
+ //description.tagToken = XsdSchemaToken::Assert;
+ description.optionalAttributes.insert(XsdSchemaToken::Id);
+ description.requiredAttributes.insert(XsdSchemaToken::Test);
+ description.optionalAttributes.insert(XsdSchemaToken::XPathDefaultNamespace);
+ }
+
+ {
+ ElementDescription<XsdSchemaToken, XsdTagScope::Type> &description = elementDescriptions[XsdTagScope::Assertion];
+ //description.tagToken = XsdSchemaToken::Assertion;
+ description.optionalAttributes.insert(XsdSchemaToken::Id);
+ description.requiredAttributes.insert(XsdSchemaToken::Test);
+ description.optionalAttributes.insert(XsdSchemaToken::XPathDefaultNamespace);
+ }
+
+ Q_ASSERT_X(elementDescriptions.count() == ReservedForElements, Q_FUNC_INFO,
+ qPrintable(QString::fromLatin1("Expected is %1, actual is %2.").arg(ReservedForElements).arg(elementDescriptions.count())));
+
+ return elementDescriptions;
+}
+
+QT_END_NAMESPACE
diff --git a/src/xmlpatterns/schema/qxsdschemaparsercontext_p.h b/src/xmlpatterns/schema/qxsdschemaparsercontext_p.h
new file mode 100644
index 0000000..572d5e3
--- /dev/null
+++ b/src/xmlpatterns/schema/qxsdschemaparsercontext_p.h
@@ -0,0 +1,231 @@
+/****************************************************************************
+**
+** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtXmlPatterns of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+
+#ifndef Patternist_XsdSchemaParserContext_H
+#define Patternist_XsdSchemaParserContext_H
+
+#include "qmaintainingreader_p.h" // for definition of ElementDescription
+#include "qxsdschematoken_p.h"
+#include "qxsdschema_p.h"
+#include "qxsdschemachecker_p.h"
+#include "qxsdschemacontext_p.h"
+#include "qxsdschemaresolver_p.h"
+
+#include <QtCore/QSharedData>
+
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+namespace QPatternist
+{
+ /**
+ * @short A namespace class that contains identifiers for the different
+ * scopes a tag from the xml schema spec can appear in.
+ */
+ class XsdTagScope
+ {
+ public:
+ enum Type
+ {
+ Schema,
+ Include,
+ Import,
+ Redefine,
+ Annotation,
+ AppInfo,
+ Documentation,
+ GlobalSimpleType,
+ LocalSimpleType,
+ SimpleRestriction,
+ List,
+ Union,
+ MinExclusiveFacet,
+ MinInclusiveFacet,
+ MaxExclusiveFacet,
+ MaxInclusiveFacet,
+ TotalDigitsFacet,
+ FractionDigitsFacet,
+ LengthFacet,
+ MinLengthFacet,
+ MaxLengthFacet,
+ EnumerationFacet,
+ WhiteSpaceFacet,
+ PatternFacet,
+ GlobalComplexType,
+ LocalComplexType,
+ SimpleContent,
+ SimpleContentRestriction,
+ SimpleContentExtension,
+ ComplexContent,
+ ComplexContentRestriction,
+ ComplexContentExtension,
+ NamedGroup,
+ ReferredGroup,
+ All,
+ LocalAll,
+ Choice,
+ LocalChoice,
+ Sequence,
+ LocalSequence,
+ GlobalAttribute,
+ LocalAttribute,
+ NamedAttributeGroup,
+ ReferredAttributeGroup,
+ GlobalElement,
+ LocalElement,
+ Unique,
+ Key,
+ KeyRef,
+ Selector,
+ Field,
+ Notation,
+ Any,
+ AnyAttribute,
+ Alternative,
+ Assert,
+ Assertion,
+ OpenContent,
+ DefaultOpenContent,
+ Override
+ };
+ };
+
+ /**
+ * A hash that keeps the mapping between the single components that can appear
+ * in a schema document (e.g. elements, attributes, type definitions) and their
+ * source locations inside the document.
+ */
+ typedef QHash<NamedSchemaComponent::Ptr, QSourceLocation> ComponentLocationHash;
+
+ /**
+ * @short A context for schema parsing.
+ *
+ * This class provides a context for all components that are
+ * nedded for parsing and compiling the XML schema.
+ *
+ * @ingroup Patternist_schema
+ * @author Tobias Koenig <tobias.koenig@trolltech.com>
+ */
+ class XsdSchemaParserContext : public QSharedData
+ {
+ public:
+ /**
+ * A smart pointer wrapping XsdSchemaParserContext instances.
+ */
+ typedef QExplicitlySharedDataPointer<XsdSchemaParserContext> Ptr;
+
+ /**
+ * Creates a new schema parser context object.
+ *
+ * @param namePool The name pool where all names of the schema will be stored in.
+ * @param context The schema context to use for error reporting etc.
+ */
+ XsdSchemaParserContext(const NamePool::Ptr &namePool, const XsdSchemaContext::Ptr &context);
+
+ /**
+ * Returns the name pool of the schema parser context.
+ */
+ NamePool::Ptr namePool() const;
+
+ /**
+ * Returns the schema resolver of the schema context.
+ */
+ XsdSchemaResolver::Ptr resolver() const;
+
+ /**
+ * Returns the schema resolver of the schema context.
+ */
+ XsdSchemaChecker::Ptr checker() const;
+
+ /**
+ * Returns the schema object of the schema context.
+ */
+ XsdSchema::Ptr schema() const;
+
+ /**
+ * Returns the element descriptions for the schema parser.
+ *
+ * The element descriptions are a fast lookup table for
+ * verifying whether certain attributes are allowed for
+ * a given element type.
+ */
+ ElementDescription<XsdSchemaToken, XsdTagScope::Type>::Hash elementDescriptions() const;
+
+ /**
+ * Returns an unique name that is used by the schema parser
+ * for anonymous types.
+ *
+ * @param targetNamespace The namespace of the name.
+ */
+ QXmlName createAnonymousName(const QString &targetNamespace) const;
+
+ private:
+ /**
+ * Fills the element description hash with the required and prohibited
+ * attributes.
+ */
+ static ElementDescription<XsdSchemaToken, XsdTagScope::Type>::Hash setupElementDescriptions();
+
+ NamePool::Ptr m_namePool;
+ XsdSchema::Ptr m_schema;
+ XsdSchemaChecker::Ptr m_checker;
+ XsdSchemaResolver::Ptr m_resolver;
+ const ElementDescription<XsdSchemaToken, XsdTagScope::Type>::Hash m_elementDescriptions;
+ mutable QAtomicInt m_anonymousNameCounter;
+ };
+}
+
+QT_END_NAMESPACE
+
+QT_END_HEADER
+
+#endif
diff --git a/src/xmlpatterns/schema/qxsdschemaresolver.cpp b/src/xmlpatterns/schema/qxsdschemaresolver.cpp
new file mode 100644
index 0000000..9290b6e
--- /dev/null
+++ b/src/xmlpatterns/schema/qxsdschemaresolver.cpp
@@ -0,0 +1,1736 @@
+/****************************************************************************
+**
+** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the QtXmlPatterns of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "qxsdschemaresolver_p.h"
+
+#include "qderivedinteger_p.h"
+#include "qderivedstring_p.h"
+#include "qqnamevalue_p.h"
+#include "qxsdattributereference_p.h"
+#include "qxsdparticlechecker_p.h"
+#include "qxsdreference_p.h"
+#include "qxsdschemacontext_p.h"
+#include "qxsdschemahelper_p.h"
+#include "qxsdschemaparsercontext_p.h"
+#include "qxsdschematypesfactory_p.h"
+
+QT_BEGIN_NAMESPACE
+
+using namespace QPatternist;
+
+XsdSchemaResolver::XsdSchemaResolver(const QExplicitlySharedDataPointer<XsdSchemaContext> &context, const XsdSchemaParserContext *parserContext)
+ : m_context(context)
+ , m_checker(parserContext->checker())
+ , m_namePool(parserContext->namePool())
+ , m_schema(parserContext->schema())
+{
+ m_keyReferences.reserve(20);
+ m_simpleRestrictionBases.reserve(20);
+ m_simpleListTypes.reserve(20);
+ m_simpleUnionTypes.reserve(20);
+ m_elementTypes.reserve(20);
+ m_complexBaseTypes.reserve(20);
+ m_attributeTypes.reserve(20);
+ m_alternativeTypes.reserve(20);
+ m_alternativeTypeElements.reserve(20);
+ m_substitutionGroupAffiliations.reserve(20);
+
+ m_predefinedSchemaTypes = m_context->schemaTypeFactory()->types().values();
+}
+
+XsdSchemaResolver::~XsdSchemaResolver()
+{
+}
+
+void XsdSchemaResolver::resolve()
+{
+ m_checker->addComponentLocationHash(m_componentLocationHash);
+
+ // resolve the base types for all types
+ resolveSimpleRestrictionBaseTypes();
+ resolveComplexBaseTypes();
+
+ // do the basic checks which depend on having a base type available
+ m_checker->basicCheck();
+
+ // resolve further types that only map a type name to a type object
+ resolveSimpleListType();
+ resolveSimpleUnionTypes();
+ resolveElementTypes();
+ resolveAttributeTypes();
+ resolveAlternativeTypes();
+
+ // resolve objects that do not need information about inheritance
+ resolveKeyReferences();
+ resolveSubstitutionGroupAffiliations();
+
+ // resolve objects that do need information about inheritance
+ resolveSimpleRestrictions();
+ resolveSimpleContentComplexTypes();
+
+ // resolve objects which replace place holders
+ resolveTermReferences();
+ resolveAttributeTermReferences();
+
+ // resolve additional objects that do need information about inheritance
+ resolveAttributeInheritance();
+ resolveComplexContentComplexTypes();
+ resolveSubstitutionGroups();
+
+ resolveEnumerationFacetValues();
+
+ checkRedefinedGroups();
+ checkRedefinedAttributeGroups();
+
+ // check the constraining facets before we resolve them
+ m_checker->checkConstrainingFacets();
+
+ // add it again, as we may have added new components in the meantime
+ m_checker->addComponentLocationHash(m_componentLocationHash);
+
+ m_checker->check();
+}
+
+void XsdSchemaResolver::addKeyReference(const XsdElement::Ptr &element, const XsdIdentityConstraint::Ptr &keyRef, const QXmlName &reference, const QSourceLocation &location)
+{
+ KeyReference item;
+ item.element = element;
+ item.keyRef = keyRef;
+ item.reference = reference;
+ item.location = location;
+
+ m_keyReferences.append(item);
+}
+
+void XsdSchemaResolver::addSimpleRestrictionBase(const XsdSimpleType::Ptr &simpleType, const QXmlName &baseName, const QSourceLocation &location)
+{
+ SimpleRestrictionBase item;
+ item.simpleType = simpleType;
+ item.baseName = baseName;
+ item.location = location;
+
+ m_simpleRestrictionBases.append(item);
+}
+
+void XsdSchemaResolver::removeSimpleRestrictionBase(const XsdSimpleType::Ptr &type)
+{
+ for (int i = 0; i < m_simpleRestrictionBases.count(); ++i) {
+ if (m_simpleRestrictionBases.at(i).simpleType == type) {
+ m_simpleRestrictionBases.remove(i);
+ break;
+ }
+ }
+}
+
+void XsdSchemaResolver::addSimpleListType(const XsdSimpleType::Ptr &simpleType, const QXmlName &typeName, const QSourceLocation &location)
+{
+ SimpleListType item;
+ item.simpleType = simpleType;
+ item.typeName = typeName;
+ item.location = location;
+
+ m_simpleListTypes.append(item);
+}
+
+void XsdSchemaResolver::addSimpleUnionTypes(const XsdSimpleType::Ptr &simpleType, const QList<QXmlName> &typeNames, const QSourceLocation &location)
+{
+ SimpleUnionType item;
+ item.simpleType = simpleType;
+ item.typeNames = typeNames;
+ item.location = location;
+
+ m_simpleUnionTypes.append(item);
+}
+
+void XsdSchemaResolver::addElementType(const XsdElement::Ptr &element, const QXmlName &typeName, const QSourceLocation &location)
+{
+ ElementType item;
+ item.element = element;
+ item.typeName = typeName;
+ item.location = location;
+
+ m_elementTypes.append(item);
+}
+
+void XsdSchemaResolver::addComplexBaseType(const XsdComplexType::Ptr &complexType, const QXmlName &baseName, const QSourceLocation &location, const XsdFacet::Hash &facets)
+{
+ ComplexBaseType item;
+ item.complexType = complexType;
+ item.baseName = baseName;
+ item.location = location;
+ item.facets = facets;
+
+ m_complexBaseTypes.append(item);
+}
+
+void XsdSchemaResolver::removeComplexBaseType(const XsdComplexType::Ptr &type)
+{
+ for (int i = 0; i < m_complexBaseTypes.count(); ++i) {
+ if (m_complexBaseTypes.at(i).complexType == type) {
+ m_complexBaseTypes.remove(i);
+ break;
+ }
+ }
+}
+
+void XsdSchemaResolver::addComplexContentType(const XsdComplexType::Ptr &complexType, const XsdParticle::Ptr &content, bool mixed)
+{
+ ComplexContentType item;
+ item.complexType = complexType;
+ item.explicitContent = content;
+ item.effectiveMixed = mixed;
+ m_complexContentTypes.append(item);
+}
+
+void XsdSchemaResolver::addAttributeType(const XsdAttribute::Ptr &attribute, const QXmlName &typeName, const QSourceLocation &location)
+{
+ AttributeType item;
+ item.attribute = attribute;
+ item.typeName = typeName;
+ item.location = location;
+
+ m_attributeTypes.append(item);
+}
+
+void XsdSchemaResolver::addAlternativeType(const XsdAlternative::Ptr &alternative, const QXmlName &typeName, const QSourceLocation &location)
+{
+ AlternativeType item;
+ item.alternative = alternative;
+ item.typeName = typeName;
+ item.location = location;
+
+ m_alternativeTypes.append(item);
+}
+
+void XsdSchemaResolver::addAlternativeType(const XsdAlternative::Ptr &alternative, const XsdElement::Ptr &element)
+{
+ AlternativeTypeElement item;
+ item.alternative = alternative;
+ item.element = element;
+
+ m_alternativeTypeElements.append(item);
+}
+
+void XsdSchemaResolver::addSubstitutionGroupAffiliation(const XsdElement::Ptr &element, const QList<QXmlName> &elementNames, const QSourceLocation &location)
+{
+ SubstitutionGroupAffiliation item;
+ item.element = element;
+ item.elementNames = elementNames;
+ item.location = location;
+
+ m_substitutionGroupAffiliations.append(item);
+}
+
+void XsdSchemaResolver::addSubstitutionGroupType(const XsdElement::Ptr &element)
+{
+ m_substitutionGroupTypes.append(element);
+}
+
+void XsdSchemaResolver::addComponentLocationHash(const ComponentLocationHash &hash)
+{
+ m_componentLocationHash.unite(hash);
+}
+
+void XsdSchemaResolver::addEnumerationFacetValue(const AtomicValue::Ptr &facetValue, const NamespaceSupport &namespaceSupport)
+{
+ m_enumerationFacetValues.insert(facetValue, namespaceSupport);
+}
+
+void XsdSchemaResolver::addRedefinedGroups(const XsdModelGroup::Ptr &redefinedGroup, const XsdModelGroup::Ptr &group)
+{
+ RedefinedGroups item;
+ item.redefinedGroup = redefinedGroup;
+ item.group = group;
+
+ m_redefinedGroups.append(item);
+}
+
+void XsdSchemaResolver::addRedefinedAttributeGroups(const XsdAttributeGroup::Ptr &redefinedGroup, const XsdAttributeGroup::Ptr &group)
+{
+ RedefinedAttributeGroups item;
+ item.redefinedGroup = redefinedGroup;
+ item.group = group;
+
+ m_redefinedAttributeGroups.append(item);
+}
+
+void XsdSchemaResolver::addAllGroupCheck(const XsdReference::Ptr &reference)
+{
+ m_allGroups.insert(reference);
+}
+
+void XsdSchemaResolver::copyDataTo(const XsdSchemaResolver::Ptr &other) const
+{
+ other->m_keyReferences << m_keyReferences;
+ other->m_simpleRestrictionBases << m_simpleRestrictionBases;
+ other->m_simpleListTypes << m_simpleListTypes;
+ other->m_simpleUnionTypes << m_simpleUnionTypes;
+ other->m_elementTypes << m_elementTypes;
+ other->m_complexBaseTypes << m_complexBaseTypes;
+ other->m_complexContentTypes << m_complexContentTypes;
+ other->m_attributeTypes << m_attributeTypes;
+ other->m_alternativeTypes << m_alternativeTypes;
+ other->m_alternativeTypeElements << m_alternativeTypeElements;
+ other->m_substitutionGroupAffiliations << m_substitutionGroupAffiliations;
+ other->m_substitutionGroupTypes << m_substitutionGroupTypes;
+}
+
+QXmlName XsdSchemaResolver::baseTypeNameOfType(const SchemaType::Ptr &type) const
+{
+ for (int i = 0; i < m_simpleRestrictionBases.count(); ++i) {
+ if (m_simpleRestrictionBases.at(i).simpleType == type)
+ return m_simpleRestrictionBases.at(i).baseName;
+ }
+
+ for (int i = 0; i < m_complexBaseTypes.count(); ++i) {
+ if (m_complexBaseTypes.at(i).complexType == type)
+ return m_complexBaseTypes.at(i).baseName;
+ }
+
+ return QXmlName();
+}
+
+QXmlName XsdSchemaResolver::typeNameOfAttribute(const XsdAttribute::Ptr &attribute) const
+{
+ for (int i = 0; i < m_attributeTypes.count(); ++i) {
+ if (m_attributeTypes.at(i).attribute == attribute)
+ return m_attributeTypes.at(i).typeName;
+ }
+
+ return QXmlName();
+}
+
+void XsdSchemaResolver::setDefaultOpenContent(const XsdComplexType::OpenContent::Ptr &openContent, bool appliesToEmpty)
+{
+ m_defaultOpenContent = openContent;
+ m_defaultOpenContentAppliesToEmpty = appliesToEmpty;
+}
+
+void XsdSchemaResolver::resolveKeyReferences()
+{
+ for (int i = 0; i < m_keyReferences.count(); ++i) {
+ const KeyReference ref = m_keyReferences.at(i);
+
+ const XsdIdentityConstraint::Ptr constraint = m_schema->identityConstraint(ref.reference);
+ if (!constraint) {
+ m_context->error(QtXmlPatterns::tr("%1 references unknown %2 or %3 element %4")
+ .arg(formatKeyword(ref.keyRef->displayName(m_namePool)))
+ .arg(formatElement("key"))
+ .arg(formatElement("unique"))
+ .arg(formatKeyword(m_namePool, ref.reference)),
+ XsdSchemaContext::XSDError, ref.location);
+ return;
+ }
+
+ if (constraint->category() != XsdIdentityConstraint::Key && constraint->category() != XsdIdentityConstraint::Unique) { // only key and unique can be referenced
+ m_context->error(QtXmlPatterns::tr("%1 references identity constraint %2 that is no %3 or %4 element")
+ .arg(formatKeyword(ref.keyRef->displayName(m_namePool)))
+ .arg(formatKeyword(m_namePool, ref.reference))
+ .arg(formatElement("key"))
+ .arg(formatElement("unique")),
+ XsdSchemaContext::XSDError, ref.location);
+ return;
+ }
+
+ if (constraint->fields().count() != ref.keyRef->fields().count()) {
+ m_context->error(QtXmlPatterns::tr("%1 has a different number of fields from the identity constraint %2 that it references")
+ .arg(formatKeyword(ref.keyRef->displayName(m_namePool)))
+ .arg(formatKeyword(m_namePool, ref.reference)),
+ XsdSchemaContext::XSDError, ref.location);
+ return;
+ }
+
+ ref.keyRef->setReferencedKey(constraint);
+ }
+}
+
+void XsdSchemaResolver::resolveSimpleRestrictionBaseTypes()
+{
+ // iterate over all simple types that are derived by restriction
+ for (int i = 0; i < m_simpleRestrictionBases.count(); ++i) {
+ const SimpleRestrictionBase item = m_simpleRestrictionBases.at(i);
+
+ // find the base type
+ SchemaType::Ptr type = m_schema->type(item.baseName);
+ if (!type) {
+ // maybe it's a basic type...
+ type = m_context->schemaTypeFactory()->createSchemaType(item.baseName);
+ if (!type) {
+ m_context->error(QtXmlPatterns::tr("base type %1 of %2 element cannot be resolved")
+ .arg(formatType(m_namePool, item.baseName))
+ .arg(formatElement("restriction")),
+ XsdSchemaContext::XSDError, item.location);
+ return;
+ }
+ }
+
+ item.simpleType->setWxsSuperType(type);
+ }
+}
+
+void XsdSchemaResolver::resolveSimpleRestrictions()
+{
+ XsdSimpleType::List simpleTypes;
+
+ // first collect the global simple types
+ const SchemaType::List types = m_schema->types();
+ for (int i = 0; i < types.count(); ++i) {
+ if (types.at(i)->isSimpleType() && (types.at(i)->derivationMethod() == SchemaType::DerivationRestriction))
+ simpleTypes.append(types.at(i));
+ }
+
+ // then collect all anonymous simple types
+ const SchemaType::List anonymousTypes = m_schema->anonymousTypes();
+ for (int i = 0; i < anonymousTypes.count(); ++i) {
+ if (anonymousTypes.at(i)->isSimpleType() && (anonymousTypes.at(i)->derivationMethod() == SchemaType::DerivationRestriction))
+ simpleTypes.append(anonymousTypes.at(i));
+ }
+
+ QSet<XsdSimpleType::Ptr> visitedTypes;
+ for (int i = 0; i < simpleTypes.count(); ++i) {
+ resolveSimpleRestrictions(simpleTypes.at(i), visitedTypes);
+ }
+}
+
+void XsdSchemaResolver::resolveSimpleRestrictions(const XsdSimpleType::Ptr &simpleType, QSet<XsdSimpleType::Ptr> &visitedTypes)
+{
+ if (visitedTypes.contains(simpleType))
+ return;
+ else
+ visitedTypes.insert(simpleType);
+
+ if (simpleType->derivationMethod() != XsdSimpleType::DerivationRestriction)
+ return;
+
+ // as xs:NMTOKENS, xs:ENTITIES and xs:IDREFS are provided by our XsdSchemaTypesFactory, they are
+ // setup correctly already and shouldn't be handled here
+ if (m_predefinedSchemaTypes.contains(simpleType))
+ return;
+
+ const SchemaType::Ptr baseType = simpleType->wxsSuperType();
+ Q_ASSERT(baseType);
+
+ if (baseType->isDefinedBySchema())
+ resolveSimpleRestrictions(XsdSimpleType::Ptr(baseType), visitedTypes);
+
+ simpleType->setCategory(baseType->category());
+
+ if (simpleType->category() == XsdSimpleType::SimpleTypeAtomic) {
+ QSet<AnySimpleType::Ptr> visitedPrimitiveTypes;
+ const AnySimpleType::Ptr primitiveType = findPrimitiveType(baseType, visitedPrimitiveTypes);
+ simpleType->setPrimitiveType(primitiveType);
+ } else if (simpleType->category() == XsdSimpleType::SimpleTypeList) {
+ const XsdSimpleType::Ptr simpleBaseType = baseType;
+ simpleType->setItemType(simpleBaseType->itemType());
+ } else if (simpleType->category() == XsdSimpleType::SimpleTypeUnion) {
+ const XsdSimpleType::Ptr simpleBaseType = baseType;
+ simpleType->setMemberTypes(simpleBaseType->memberTypes());
+ }
+}
+
+void XsdSchemaResolver::resolveSimpleListType()
+{
+ // iterate over all simple types where the item type shall be resolved
+ for (int i = 0; i < m_simpleListTypes.count(); ++i) {
+ const SimpleListType item = m_simpleListTypes.at(i);
+
+ // try to resolve the name
+ SchemaType::Ptr type = m_schema->type(item.typeName);
+ if (!type) {
+ // maybe it's a basic type...
+ type = m_context->schemaTypeFactory()->createSchemaType(item.typeName);
+ if (!type) {
+ m_context->error(QtXmlPatterns::tr("item type %1 of %2 element cannot be resolved")
+ .arg(formatType(m_namePool, item.typeName))
+ .arg(formatElement("list")),
+ XsdSchemaContext::XSDError, item.location);
+ return;
+ }
+ }
+
+ item.simpleType->setItemType(type);
+ }
+}
+
+void XsdSchemaResolver::resolveSimpleUnionTypes()
+{
+ // iterate over all simple types where the union member types shall be resolved
+ for (int i = 0; i < m_simpleUnionTypes.count(); ++i) {
+ const SimpleUnionType item = m_simpleUnionTypes.at(i);
+
+ AnySimpleType::List memberTypes;
+
+ // iterate over all union member type names
+ const QList<QXmlName> typeNames = item.typeNames;
+ for (int j = 0; j < typeNames.count(); ++j) {
+ const QXmlName typeName = typeNames.at(j);
+
+ // try to resolve the name
+ SchemaType::Ptr type = m_schema->type(typeName);
+ if (!type) {
+ // maybe it's a basic type...
+ type = m_context->schemaTypeFactory()->createSchemaType(typeName);
+ if (!type) {
+ m_context->error(QtXmlPatterns::tr("member type %1 of %2 element cannot be resolved")
+ .arg(formatType(m_namePool, typeName))
+ .arg(formatElement("union")),
+ XsdSchemaContext::XSDError, item.location);
+ return;
+ }
+ }
+
+ memberTypes.append(type);
+ }
+
+ // append the types that have been defined as <simpleType> children
+ memberTypes << item.simpleType->memberTypes();
+
+ item.simpleType->setMemberTypes(memberTypes);
+ }
+}
+
+void XsdSchemaResolver::resolveElementTypes()
+{
+ for (int i = 0; i < m_elementTypes.count(); ++i) {
+ const ElementType item = m_elementTypes.at(i);
+
+ SchemaType::Ptr type = m_schema->type(item.typeName);
+ if (!type) {
+ // maybe it's a basic type...
+ type = m_context->schemaTypeFactory()->createSchemaType(item.typeName);
+ if (!type) {
+ m_context->error(QtXmlPatterns::tr("type %1 of %2 element cannot be resolved")
+ .arg(formatType(m_namePool, item.typeName))
+ .arg(formatElement("element")),
+ XsdSchemaContext::XSDError, item.location);
+ return;
+ }
+ }
+
+ item.element->setType(type);
+ }
+}
+
+void XsdSchemaResolver::resolveComplexBaseTypes()
+{
+ for (int i = 0; i < m_complexBaseTypes.count(); ++i) {
+ const ComplexBaseType item = m_complexBaseTypes.at(i);
+
+ SchemaType::Ptr type = m_schema->type(item.baseName);
+ if (!type) {
+ // maybe it's a basic type...
+ type = m_context->schemaTypeFactory()->createSchemaType(item.baseName);
+ if (!type) {
+ m_context->error(QtXmlPatterns::tr("base type %1 of complex type cannot be resolved").arg(formatType(m_namePool, item.baseName)), XsdSchemaContext::XSDError, item.location);
+ return;
+ }
+ }
+
+ if (item.complexType->contentType()->variety() == XsdComplexType::ContentType::Simple) {
+ if (type->isComplexType() && type->isDefinedBySchema()) {
+ const XsdComplexType::Ptr baseType = type;
+ if (baseType->contentType()->variety() != XsdComplexType::ContentType::Simple) {
+ m_context->error(QtXmlPatterns::tr("%1 cannot have complex base type that has a %2")
+ .arg(formatElement("simpleContent"))
+ .arg(formatElement("complexContent")),
+ XsdSchemaContext::XSDError, item.location);
+ return;
+ }
+ }
+ }
+
+ item.complexType->setWxsSuperType(type);
+ }
+}
+
+void XsdSchemaResolver::resolveSimpleContentComplexTypes()
+{
+ XsdComplexType::List complexTypes;
+
+ // first collect the global complex types
+ const SchemaType::List types = m_schema->types();
+ for (int i = 0; i < types.count(); ++i) {
+ if (types.at(i)->isComplexType() && types.at(i)->isDefinedBySchema())
+ complexTypes.append(types.at(i));
+ }
+
+ // then collect all anonymous simple types
+ const SchemaType::List anonymousTypes = m_schema->anonymousTypes();
+ for (int i = 0; i < anonymousTypes.count(); ++i) {
+ if (anonymousTypes.at(i)->isComplexType() && anonymousTypes.at(i)->isDefinedBySchema())
+ complexTypes.append(anonymousTypes.at(i));
+ }
+
+ QSet<XsdComplexType::Ptr> visitedTypes;
+ for (int i = 0; i < complexTypes.count(); ++i) {
+ if (XsdComplexType::Ptr(complexTypes.at(i))->contentType()->variety() == XsdComplexType::ContentType::Simple)
+ resolveSimpleContentComplexTypes(complexTypes.at(i), visitedTypes);
+ }
+}
+
+void XsdSchemaResolver::resolveSimpleContentComplexTypes(const XsdComplexType::Ptr &complexType, QSet<XsdComplexType::Ptr> &visitedTypes)
+{
+ if (visitedTypes.contains(complexType))
+ return;
+ else
+ visitedTypes.insert(complexType);
+
+ const SchemaType::Ptr baseType = complexType->wxsSuperType();
+
+ // at this point simple types have been resolved already, so we care about
+ // complex types here only
+
+ // http://www.w3.org/TR/xmlschema11-1/#dcl.ctd.ctsc
+ // 1
+ if (baseType->isComplexType() && baseType->isDefinedBySchema()) {
+ const XsdComplexType::Ptr complexBaseType = baseType;
+
+ resolveSimpleContentComplexTypes(complexBaseType, visitedTypes);
+
+ if (complexBaseType->contentType()->variety() == XsdComplexType::ContentType::Simple) {
+ if (complexType->derivationMethod() == XsdComplexType::DerivationRestriction) {
+ if (complexType->contentType()->simpleType()) {
+ // 1.1 contains the content of the <simpleType> already
+ } else {
+ // 1.2
+ const XsdSimpleType::Ptr anonType(new XsdSimpleType());
+ anonType->setCategory(complexBaseType->contentType()->simpleType()->category());
+ anonType->setDerivationMethod(XsdSimpleType::DerivationRestriction);
+ anonType->setWxsSuperType(complexBaseType->contentType()->simpleType());
+ anonType->setFacets(complexTypeFacets(complexType));
+
+ QSet<AnySimpleType::Ptr> visitedPrimitiveTypes;
+ const AnySimpleType::Ptr primitiveType = findPrimitiveType(anonType->wxsSuperType(), visitedPrimitiveTypes);
+ anonType->setPrimitiveType(primitiveType);
+
+ complexType->contentType()->setSimpleType(anonType);
+
+ m_schema->addAnonymousType(anonType);
+ m_componentLocationHash.insert(anonType, m_componentLocationHash.value(complexType));
+ }
+ } else if (complexBaseType->derivationMethod() == XsdComplexType::DerivationExtension) { // 3
+ complexType->contentType()->setSimpleType(complexBaseType->contentType()->simpleType());
+ }
+ } else if (complexBaseType->contentType()->variety() == XsdComplexType::ContentType::Mixed &&
+ complexType->derivationMethod() == XsdComplexType::DerivationRestriction &&
+ XsdSchemaHelper::isParticleEmptiable(complexBaseType->contentType()->particle())) { // 2
+ // simple type was already set in parser
+
+ const XsdSimpleType::Ptr anonType(new XsdSimpleType());
+ anonType->setCategory(complexType->contentType()->simpleType()->category());
+ anonType->setDerivationMethod(XsdSimpleType::DerivationRestriction);
+ anonType->setWxsSuperType(complexType->contentType()->simpleType());
+ anonType->setFacets(complexTypeFacets(complexType));
+
+ QSet<AnySimpleType::Ptr> visitedPrimitiveTypes;
+ const AnySimpleType::Ptr primitiveType = findPrimitiveType(anonType->wxsSuperType(), visitedPrimitiveTypes);
+ anonType->setPrimitiveType(primitiveType);
+
+ complexType->contentType()->setSimpleType(anonType);
+
+ m_schema->addAnonymousType(anonType);
+ m_componentLocationHash.insert(anonType, m_componentLocationHash.value(complexType));
+ } else {
+ complexType->contentType()->setSimpleType(BuiltinTypes::xsAnySimpleType);
+ }
+ } else if (baseType->isSimpleType()) { // 4
+ complexType->contentType()->setSimpleType(baseType);
+ } else { // 5
+ complexType->contentType()->setSimpleType(BuiltinTypes::xsAnySimpleType);
+ }
+}
+
+void XsdSchemaResolver::resolveComplexContentComplexTypes()
+{
+ XsdComplexType::List complexTypes;
+
+ // first collect the global complex types
+ const SchemaType::List types = m_schema->types();
+ for (int i = 0; i < types.count(); ++i) {
+ if (types.at(i)->isComplexType() && types.at(i)->isDefinedBySchema())
+ complexTypes.append(types.at(i));
+ }
+
+ // then collect all anonymous simple types
+ const SchemaType::List anonymousTypes = m_schema->anonymousTypes();
+ for (int i = 0; i < anonymousTypes.count(); ++i) {
+ if (anonymousTypes.at(i)->isComplexType() && anonymousTypes.at(i)->isDefinedBySchema())
+ complexTypes.append(anonymousTypes.at(i));
+ }
+
+ QSet<XsdComplexType::Ptr> visitedTypes;
+ for (int i = 0; i < complexTypes.count(); ++i) {
+ if (XsdComplexType::Ptr(complexTypes.at(i))->contentType()->variety() != XsdComplexType::ContentType::Simple)
+ resolveComplexContentComplexTypes(complexTypes.at(i), visitedTypes);
+ }
+}
+
+void XsdSchemaResolver::resolveComplexContentComplexTypes(const XsdComplexType::Ptr &complexType, QSet<XsdComplexType::Ptr> &visitedTypes)
+{
+ if (visitedTypes.contains(complexType))
+ return;
+ else
+ visitedTypes.insert(complexType);
+
+ ComplexContentType item;
+ bool foundCorrespondingItem = false;
+ for (int i = 0; i < m_complexContentTypes.count(); ++i) {
+ if (m_complexContentTypes.at(i).complexType == complexType) {
+ item = m_complexContentTypes.at(i);
+ foundCorrespondingItem = true;
+ break;
+ }
+ }
+
+ if (!foundCorrespondingItem)
+ return;
+
+ const SchemaType::Ptr baseType = complexType->wxsSuperType();
+
+ // at this point simple types have been resolved already, so we care about
+ // complex types here only
+ if (baseType->isComplexType() && baseType->isDefinedBySchema())
+ resolveComplexContentComplexTypes(XsdComplexType::Ptr(baseType), visitedTypes);
+
+
+ // @see http://www.w3.org/TR/xmlschema11-1/#dcl.ctd.ctcc.common
+
+ // 3
+ XsdParticle::Ptr effectiveContent;
+ if (!item.explicitContent) { // 3.1
+ if (item.effectiveMixed == true) { // 3.1.1
+ const XsdParticle::Ptr particle(new XsdParticle());
+ particle->setMinimumOccurs(1);
+ particle->setMaximumOccurs(1);
+ particle->setMaximumOccursUnbounded(false);
+
+ const XsdModelGroup::Ptr sequence(new XsdModelGroup());
+ sequence->setCompositor(XsdModelGroup::SequenceCompositor);
+ particle->setTerm(sequence);
+
+ effectiveContent = particle;
+ } else { // 3.1.2
+ effectiveContent = XsdParticle::Ptr();
+ }
+ } else { // 3.2
+ effectiveContent = item.explicitContent;
+ }
+
+ // 4
+ XsdComplexType::ContentType::Ptr explicitContentType(new XsdComplexType::ContentType());
+ if (item.complexType->derivationMethod() == XsdComplexType::DerivationRestriction) { // 4.1
+ if (!effectiveContent) { // 4.1.1
+ explicitContentType->setVariety(XsdComplexType::ContentType::Empty);
+ } else { // 4.1.2
+ if (item.effectiveMixed == true)
+ explicitContentType->setVariety(XsdComplexType::ContentType::Mixed);
+ else
+ explicitContentType->setVariety(XsdComplexType::ContentType::ElementOnly);
+
+ explicitContentType->setParticle(effectiveContent);
+ }
+ } else if (item.complexType->derivationMethod() == XsdComplexType::DerivationExtension) { // 4.2
+ const SchemaType::Ptr baseType = item.complexType->wxsSuperType();
+ if (baseType->isSimpleType() || (baseType->isComplexType() && baseType->isDefinedBySchema() && (XsdComplexType::Ptr(baseType)->contentType()->variety() == XsdComplexType::ContentType::Empty ||
+ XsdComplexType::Ptr(baseType)->contentType()->variety() == XsdComplexType::ContentType::Simple))) { // 4.2.1
+ if (!effectiveContent) {
+ explicitContentType->setVariety(XsdComplexType::ContentType::Empty);
+ } else {
+ if (item.effectiveMixed == true)
+ explicitContentType->setVariety(XsdComplexType::ContentType::Mixed);
+ else
+ explicitContentType->setVariety(XsdComplexType::ContentType::ElementOnly);
+
+ explicitContentType->setParticle(effectiveContent);
+ }
+ } else if (baseType->isComplexType() && baseType->isDefinedBySchema() && (XsdComplexType::Ptr(baseType)->contentType()->variety() == XsdComplexType::ContentType::ElementOnly ||
+ XsdComplexType::Ptr(baseType)->contentType()->variety() == XsdComplexType::ContentType::Mixed) && !effectiveContent) { // 4.2.2
+ const XsdComplexType::Ptr complexBaseType(baseType);
+
+ explicitContentType = complexBaseType->contentType();
+ } else { // 4.2.3
+ explicitContentType->setVariety(item.effectiveMixed ? XsdComplexType::ContentType::Mixed : XsdComplexType::ContentType::ElementOnly);
+
+ XsdParticle::Ptr baseParticle;
+ if (baseType == BuiltinTypes::xsAnyType) {
+ // we need a workaround here, since the xsAnyType is no real (aka XsdComplexType) complex type...
+
+ baseParticle = XsdParticle::Ptr(new XsdParticle());
+ baseParticle->setMinimumOccurs(1);
+ baseParticle->setMaximumOccurs(1);
+ baseParticle->setMaximumOccursUnbounded(false);
+
+ const XsdModelGroup::Ptr group(new XsdModelGroup());
+ group->setCompositor(XsdModelGroup::SequenceCompositor);
+
+ const XsdParticle::Ptr particle(new XsdParticle());
+ particle->setMinimumOccurs(0);
+ particle->setMaximumOccursUnbounded(true);
+
+ const XsdWildcard::Ptr wildcard(new XsdWildcard());
+ wildcard->namespaceConstraint()->setVariety(XsdWildcard::NamespaceConstraint::Any);
+ wildcard->setProcessContents(XsdWildcard::Lax);
+
+ particle->setTerm(wildcard);
+ XsdParticle::List particles;
+ particles.append(particle);
+ group->setParticles(particles);
+ baseParticle->setTerm(group);
+ } else {
+ const XsdComplexType::Ptr complexBaseType(baseType);
+ baseParticle = complexBaseType->contentType()->particle();
+ }
+ if (baseParticle && baseParticle->term()->isModelGroup() && (XsdModelGroup::Ptr(baseParticle->term())->compositor() == XsdModelGroup::AllCompositor) &&
+ (!item.explicitContent)) { // 4.2.3.1
+
+ explicitContentType->setParticle(baseParticle);
+ } else if (baseParticle && baseParticle->term()->isModelGroup() && (XsdModelGroup::Ptr(baseParticle->term())->compositor() == XsdModelGroup::AllCompositor) &&
+ (effectiveContent->term()->isModelGroup() && (XsdModelGroup::Ptr(effectiveContent->term())->compositor() == XsdModelGroup::AllCompositor))) { // 4.2.3.2
+ const XsdParticle::Ptr particle(new XsdParticle());
+ particle->setMinimumOccurs(effectiveContent->minimumOccurs());
+ particle->setMaximumOccurs(1);
+ particle->setMaximumOccursUnbounded(false);
+
+ const XsdModelGroup::Ptr group(new XsdModelGroup());
+ group->setCompositor(XsdModelGroup::AllCompositor);
+ XsdParticle::List particles = XsdModelGroup::Ptr(baseParticle->term())->particles();
+ particles << XsdModelGroup::Ptr(effectiveContent->term())->particles();
+ group->setParticles(particles);
+ particle->setTerm(group);
+
+ explicitContentType->setParticle(particle);
+ } else { // 4.2.3.3
+ const XsdParticle::Ptr particle(new XsdParticle());
+ particle->setMinimumOccurs(1);
+ particle->setMaximumOccurs(1);
+ particle->setMaximumOccursUnbounded(false);
+
+ const XsdModelGroup::Ptr group(new XsdModelGroup());
+ group->setCompositor(XsdModelGroup::SequenceCompositor);
+
+ if (effectiveContent && effectiveContent->term()->isModelGroup() && XsdModelGroup::Ptr(effectiveContent->term())->compositor() == XsdModelGroup::AllCompositor) {
+ m_context->error(QtXmlPatterns::tr("content model of complex type %1 contains %2 element so it cannot be derived by extension from a non-empty type")
+ .arg(formatType(m_namePool, complexType)).arg(formatKeyword("all")), XsdSchemaContext::XSDError, sourceLocation(complexType));
+ return;
+ }
+
+ if (baseParticle && baseParticle->term()->isModelGroup() && XsdModelGroup::Ptr(baseParticle->term())->compositor() == XsdModelGroup::AllCompositor) {
+ m_context->error(QtXmlPatterns::tr("complex type %1 cannot be derived by extension from %2 as the latter contains %3 element in its content model")
+ .arg(formatType(m_namePool, complexType))
+ .arg(formatType(m_namePool, baseType))
+ .arg(formatKeyword("all")), XsdSchemaContext::XSDError, sourceLocation(complexType));
+ return;
+ }
+
+ XsdParticle::List particles;
+ if (baseParticle)
+ particles << baseParticle;
+ if (effectiveContent)
+ particles << effectiveContent;
+ group->setParticles(particles);
+ particle->setTerm(group);
+
+ explicitContentType->setParticle(particle);
+ }
+
+ if (baseType->isDefinedBySchema()) { // xs:anyType has no open content
+ const XsdComplexType::Ptr complexBaseType(baseType);
+ explicitContentType->setOpenContent(complexBaseType->contentType()->openContent());
+ }
+ }
+ }
+
+ // 5
+ XsdComplexType::OpenContent::Ptr wildcardElement;
+ if (item.complexType->contentType()->openContent()) { // 5.1
+ wildcardElement = item.complexType->contentType()->openContent();
+ } else {
+ if (m_defaultOpenContent) { // 5.2
+ if ((explicitContentType->variety() != XsdComplexType::ContentType::Empty) || // 5.2.1
+ (explicitContentType->variety() == XsdComplexType::ContentType::Empty && m_defaultOpenContentAppliesToEmpty)) { // 5.2.2
+ wildcardElement = m_defaultOpenContent;
+ }
+ }
+ }
+
+ // 6
+ if (!wildcardElement) { // 6.1
+ item.complexType->setContentType(explicitContentType);
+ } else {
+ if (wildcardElement->mode() == XsdComplexType::OpenContent::None) { // 6.2
+ const XsdComplexType::ContentType::Ptr contentType(new XsdComplexType::ContentType());
+ contentType->setVariety(explicitContentType->variety());
+ contentType->setParticle(explicitContentType->particle());
+
+ item.complexType->setContentType(contentType);
+ } else { // 6.3
+ const XsdComplexType::ContentType::Ptr contentType(new XsdComplexType::ContentType());
+
+ if (explicitContentType->variety() == XsdComplexType::ContentType::Empty)
+ contentType->setVariety(XsdComplexType::ContentType::ElementOnly);
+ else
+ contentType->setVariety(explicitContentType->variety());
+
+ if (explicitContentType->variety() == XsdComplexType::ContentType::Empty) {
+ const XsdParticle::Ptr particle(new XsdParticle());
+ particle->setMinimumOccurs(1);
+ particle->setMaximumOccurs(1);
+ const XsdModelGroup::Ptr sequence(new XsdModelGroup());
+ sequence->setCompositor(XsdModelGroup::SequenceCompositor);
+ particle->setTerm(sequence);
+ contentType->setParticle(particle);
+ } else {
+ contentType->setParticle(explicitContentType->particle());
+ }
+
+ const XsdComplexType::OpenContent::Ptr openContent(new XsdComplexType::OpenContent());
+ if (wildcardElement)
+ openContent->setMode(wildcardElement->mode());
+ else
+ openContent->setMode(XsdComplexType::OpenContent::Interleave);
+
+ if (wildcardElement)
+ openContent->setWildcard(wildcardElement->wildcard());
+
+ item.complexType->setContentType(contentType);
+ }
+ }
+}
+
+void XsdSchemaResolver::resolveAttributeTypes()
+{
+ for (int i = 0; i < m_attributeTypes.count(); ++i) {
+ const AttributeType item = m_attributeTypes.at(i);
+
+ SchemaType::Ptr type = m_schema->type(item.typeName);
+ if (!type) {
+ // maybe it's a basic type...
+ type = m_context->schemaTypeFactory()->createSchemaType(item.typeName);
+ if (!type) {
+ m_context->error(QtXmlPatterns::tr("type %1 of %2 element cannot be resolved")
+ .arg(formatType(m_namePool, item.typeName))
+ .arg(formatElement("attribute")),
+ XsdSchemaContext::XSDError, item.location);
+ return;
+ }
+ }
+
+ if (!type->isSimpleType() && type->category() != SchemaType::None) {
+ m_context->error(QtXmlPatterns::tr("type of %1 element must be a simple type, %2 is not")
+ .arg(formatElement("attribute"))
+ .arg(formatType(m_namePool, item.typeName)),
+ XsdSchemaContext::XSDError, item.location);
+ return;
+ }
+
+ item.attribute->setType(type);
+ }
+}
+
+void XsdSchemaResolver::resolveAlternativeTypes()
+{
+ for (int i = 0; i < m_alternativeTypes.count(); ++i) {
+ const AlternativeType item = m_alternativeTypes.at(i);
+
+ SchemaType::Ptr type = m_schema->type(item.typeName);
+ if (!type) {
+ // maybe it's a basic type...
+ type = m_context->schemaTypeFactory()->createSchemaType(item.typeName);
+ if (!type) {
+ m_context->error(QtXmlPatterns::tr("type %1 of %2 element cannot be resolved")
+ .arg(formatType(m_namePool, item.typeName))
+ .arg(formatElement("alternative")),
+ XsdSchemaContext::XSDError, item.location);
+ return;
+ }
+ }
+
+ item.alternative->setType(type);
+ }
+
+ for (int i = 0; i < m_alternativeTypeElements.count(); ++i) {
+ const AlternativeTypeElement item = m_alternativeTypeElements.at(i);
+ item.alternative->setType(item.element->type());
+ }
+}
+
+bool hasCircularSubstitutionGroup(const XsdElement::Ptr &current, const XsdElement::Ptr &head, const NamePool::Ptr &namePool)
+{
+ if (current == head)
+ return true;
+ else {
+ const XsdElement::List elements = current->substitutionGroupAffiliations();
+ for (int i = 0; i < elements.count(); ++i) {
+ if (hasCircularSubstitutionGroup(elements.at(i), head, namePool))
+ return true;
+ }
+ }
+
+ return false;
+}
+
+void XsdSchemaResolver::resolveSubstitutionGroupAffiliations()
+{
+ for (int i = 0; i < m_substitutionGroupAffiliations.count(); ++i) {
+ const SubstitutionGroupAffiliation item = m_substitutionGroupAffiliations.at(i);
+
+ XsdElement::List affiliations;
+ for (int j = 0; j < item.elementNames.count(); ++j) {
+ const XsdElement::Ptr element = m_schema->element(item.elementNames.at(j));
+ if (!element) {
+ m_context->error(QtXmlPatterns::tr("substitution group %1 of %2 element cannot be resolved")
+ .arg(formatKeyword(m_namePool, item.elementNames.at(j)))
+ .arg(formatElement("element")),
+ XsdSchemaContext::XSDError, item.location);
+ return;
+ }
+
+ // @see http://www.w3.org/TR/xmlschema11-1/#e-props-correct 5)
+ if (hasCircularSubstitutionGroup(element, item.element, m_namePool)) {
+ m_context->error(QtXmlPatterns::tr("substitution group %1 has circular definition").arg(formatKeyword(m_namePool, item.elementNames.at(j))), XsdSchemaContext::XSDError, item.location);
+ return;
+ }
+
+ affiliations.append(element);
+ }
+
+ item.element->setSubstitutionGroupAffiliations(affiliations);
+ }
+
+ for (int i = 0; i < m_substitutionGroupTypes.count(); ++i) {
+ const XsdElement::Ptr element = m_substitutionGroupTypes.at(i);
+ element->setType(element->substitutionGroupAffiliations().first()->type());
+ }
+}
+
+bool isSubstGroupHeadOf(const XsdElement::Ptr &head, const XsdElement::Ptr &element, const NamePool::Ptr &namePool)
+{
+ if (head->name(namePool) == element->name(namePool))
+ return true;
+
+ const XsdElement::List affiliations = element->substitutionGroupAffiliations();
+ for (int i = 0; i < affiliations.count(); ++i) {
+ if (isSubstGroupHeadOf(head, affiliations.at(i), namePool))
+ return true;
+ }
+
+ return false;
+}
+
+void XsdSchemaResolver::resolveSubstitutionGroups()
+{
+ const XsdElement::List elements = m_schema->elements();
+ for (int i = 0; i < elements.count(); ++i) {
+ const XsdElement::Ptr element = elements.at(i);
+
+ // the element is always itself in the substitution group
+ element->addSubstitutionGroup(element);
+
+ for (int j = 0; j < elements.count(); ++j) {
+ if (i == j)
+ continue;
+
+ if (isSubstGroupHeadOf(element, elements.at(j), m_namePool))
+ element->addSubstitutionGroup(elements.at(j));
+ }
+ }
+}
+
+void XsdSchemaResolver::resolveTermReferences()
+{
+ // first the global complex types
+ const SchemaType::List types = m_schema->types();
+ for (int i = 0; i < types.count(); ++i) {
+ if (!(types.at(i)->isComplexType()) || !types.at(i)->isDefinedBySchema())
+ continue;
+
+ const XsdComplexType::Ptr complexType = types.at(i);
+ if (complexType->contentType()->variety() != XsdComplexType::ContentType::ElementOnly && complexType->contentType()->variety() != XsdComplexType::ContentType::Mixed)
+ continue;
+
+ resolveTermReference(complexType->contentType()->particle(), QSet<QXmlName>());
+ }
+
+ // then all anonymous complex types
+ const SchemaType::List anonymousTypes = m_schema->anonymousTypes();
+ for (int i = 0; i < anonymousTypes.count(); ++i) {
+ if (!(anonymousTypes.at(i)->isComplexType()) || !anonymousTypes.at(i)->isDefinedBySchema())
+ continue;
+
+ const XsdComplexType::Ptr complexType = anonymousTypes.at(i);
+ if (complexType->contentType()->variety() != XsdComplexType::ContentType::ElementOnly && complexType->contentType()->variety() != XsdComplexType::ContentType::Mixed)
+ continue;
+
+ resolveTermReference(complexType->contentType()->particle(), QSet<QXmlName>());
+ }
+
+ const XsdModelGroup::List groups = m_schema->elementGroups();
+ for (int i = 0; i < groups.count(); ++i) {
+ const XsdParticle::Ptr particle(new XsdParticle());
+ particle->setTerm(groups.at(i));
+ resolveTermReference(particle, QSet<QXmlName>());
+ }
+}
+
+void XsdSchemaResolver::resolveTermReference(const XsdParticle::Ptr &particle, QSet<QXmlName> visitedGroups)
+{
+ if (!particle)
+ return;
+
+ const XsdTerm::Ptr term = particle->term();
+
+ // if it is a model group, we iterate over it recursive...
+ if (term->isModelGroup()) {
+ const XsdModelGroup::Ptr modelGroup = term;
+ const XsdParticle::List particles = modelGroup->particles();
+
+ for (int i = 0; i < particles.count(); ++i) {
+ resolveTermReference(particles.at(i), visitedGroups);
+ }
+
+ // check for unique names of elements inside all compositor
+ if (modelGroup->compositor() != XsdModelGroup::ChoiceCompositor) {
+ for (int i = 0; i < particles.count(); ++i) {
+ const XsdParticle::Ptr particle = particles.at(i);
+ const XsdTerm::Ptr term = particle->term();
+
+ if (!(term->isElement()))
+ continue;
+
+ for (int j = 0; j < particles.count(); ++j) {
+ const XsdParticle::Ptr otherParticle = particles.at(j);
+ const XsdTerm::Ptr otherTerm = otherParticle->term();
+
+ if (otherTerm->isElement() && i != j) {
+ const XsdElement::Ptr element = term;
+ const XsdElement::Ptr otherElement = otherTerm;
+
+ if (element->name(m_namePool) == otherElement->name(m_namePool)) {
+ if (modelGroup->compositor() == XsdModelGroup::AllCompositor) {
+ m_context->error(QtXmlPatterns::tr("duplicated element names %1 in %2 element")
+ .arg(formatKeyword(element->displayName(m_namePool)))
+ .arg(formatElement("all")),
+ XsdSchemaContext::XSDError, sourceLocation(modelGroup));
+ return;
+ } else if (modelGroup->compositor() == XsdModelGroup::SequenceCompositor) {
+ if (element->type() != otherElement->type()) { // not same variety
+ m_context->error(QtXmlPatterns::tr("duplicated element names %1 in %2 element")
+ .arg(formatKeyword(element->displayName(m_namePool)))
+ .arg(formatElement("sequence")),
+ XsdSchemaContext::XSDError, sourceLocation(modelGroup));
+ return;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+
+ return;
+ }
+
+ // ...otherwise we have reached the end of recursion...
+ if (!term->isReference())
+ return;
+
+ // ...or we have reached a reference term that must be resolved
+ const XsdReference::Ptr reference = term;
+ switch (reference->type()) {
+ case XsdReference::Element:
+ {
+ const XsdElement::Ptr element = m_schema->element(reference->referenceName());
+ if (element) {
+ particle->setTerm(element);
+ } else {
+ m_context->error(QtXmlPatterns::tr("reference %1 of %2 element cannot be resolved")
+ .arg(formatKeyword(m_namePool, reference->referenceName()))
+ .arg(formatElement("element")),
+ XsdSchemaContext::XSDError, reference->sourceLocation());
+ return;
+ }
+ }
+ break;
+ case XsdReference::ModelGroup:
+ {
+ const XsdModelGroup::Ptr modelGroup = m_schema->elementGroup(reference->referenceName());
+ if (modelGroup) {
+ if (visitedGroups.contains(modelGroup->name(m_namePool))) {
+ m_context->error(QtXmlPatterns::tr("circular group reference for %1").arg(formatKeyword(modelGroup->displayName(m_namePool))),
+ XsdSchemaContext::XSDError, reference->sourceLocation());
+ } else {
+ visitedGroups.insert(modelGroup->name(m_namePool));
+ }
+
+ particle->setTerm(modelGroup);
+
+ // start recursive iteration here as well to get all references resolved
+ const XsdParticle::List particles = modelGroup->particles();
+ for (int i = 0; i < particles.count(); ++i) {
+ resolveTermReference(particles.at(i), visitedGroups);
+ }
+
+ if (modelGroup->compositor() == XsdModelGroup::AllCompositor) {
+ if (m_allGroups.contains(reference)) {
+ m_context->error(QtXmlPatterns::tr("%1 element is not allowed in this scope").arg(formatElement("all")),
+ XsdSchemaContext::XSDError, reference->sourceLocation());
+ return;
+ }
+ if (particle->maximumOccursUnbounded() || particle->maximumOccurs() != 1) {
+ m_context->error(QtXmlPatterns::tr("%1 element cannot have %2 attribute with value other than %3")
+ .arg(formatElement("all"))
+ .arg(formatAttribute("maxOccurs"))
+ .arg(formatData("1")),
+ XsdSchemaContext::XSDError, reference->sourceLocation());
+ return;
+ }
+ if (particle->minimumOccurs() != 0 && particle->minimumOccurs() != 1) {
+ m_context->error(QtXmlPatterns::tr("%1 element cannot have %2 attribute with value other than %3 or %4")
+ .arg(formatElement("all"))
+ .arg(formatAttribute("minOccurs"))
+ .arg(formatData("0"))
+ .arg(formatData("1")),
+ XsdSchemaContext::XSDError, reference->sourceLocation());
+ return;
+ }
+ }
+ } else {
+ m_context->error(QtXmlPatterns::tr("reference %1 of %2 element cannot be resolved")
+ .arg(formatKeyword(m_namePool, reference->referenceName()))
+ .arg(formatElement("group")),
+ XsdSchemaContext::XSDError, reference->sourceLocation());
+ return;
+ }
+ }
+ break;
+ }
+}
+
+void XsdSchemaResolver::resolveAttributeTermReferences()
+{
+ // first all global attribute groups
+ const XsdAttributeGroup::List attributeGroups = m_schema->attributeGroups();
+ for (int i = 0; i < attributeGroups.count(); ++i) {
+ XsdWildcard::Ptr wildcard = attributeGroups.at(i)->wildcard();
+ const XsdAttributeUse::List uses = resolveAttributeTermReferences(attributeGroups.at(i)->attributeUses(), wildcard, QSet<QXmlName>());
+ attributeGroups.at(i)->setAttributeUses(uses);
+ attributeGroups.at(i)->setWildcard(wildcard);
+ }
+
+ // then the global complex types
+ const SchemaType::List types = m_schema->types();
+ for (int i = 0; i < types.count(); ++i) {
+ if (!(types.at(i)->isComplexType()) || !types.at(i)->isDefinedBySchema())
+ continue;
+
+ const XsdComplexType::Ptr complexType = types.at(i);
+ const XsdAttributeUse::List attributeUses = complexType->attributeUses();
+
+ XsdWildcard::Ptr wildcard = complexType->attributeWildcard();
+ const XsdAttributeUse::List uses = resolveAttributeTermReferences(attributeUses, wildcard, QSet<QXmlName>());
+ complexType->setAttributeUses(uses);
+ complexType->setAttributeWildcard(wildcard);
+ }
+
+ // and afterwards all anonymous complex types
+ const SchemaType::List anonymousTypes = m_schema->anonymousTypes();
+ for (int i = 0; i < anonymousTypes.count(); ++i) {
+ if (!(anonymousTypes.at(i)->isComplexType()) || !anonymousTypes.at(i)->isDefinedBySchema())
+ continue;
+
+ const XsdComplexType::Ptr complexType = anonymousTypes.at(i);
+ const XsdAttributeUse::List attributeUses = complexType->attributeUses();
+
+ XsdWildcard::Ptr wildcard = complexType->attributeWildcard();
+ const XsdAttributeUse::List uses = resolveAttributeTermReferences(attributeUses, wildcard, QSet<QXmlName>());
+ complexType->setAttributeUses(uses);
+ complexType->setAttributeWildcard(wildcard);
+ }
+}
+
+XsdAttributeUse::List XsdSchemaResolver::resolveAttributeTermReferences(const XsdAttributeUse::List &attributeUses, XsdWildcard::Ptr &wildcard, QSet<QXmlName> visitedAttributeGroups)
+{
+ XsdAttributeUse::List resolvedAttributeUses;
+
+ for (int i = 0; i < attributeUses.count(); ++i) {
+ const XsdAttributeUse::Ptr attributeUse = attributeUses.at(i);
+ if (attributeUse->isAttributeUse()) {
+ // it is a real attribute use, so no need to resolve it
+ resolvedAttributeUses.append(attributeUse);
+ } else if (attributeUse->isReference()) {
+ // it is just a reference, so resolve it to the real attribute use
+
+ const XsdAttributeReference::Ptr reference = attributeUse;
+ if (reference->type() == XsdAttributeReference::AttributeUse) {
+
+ // lookup the real attribute
+ const XsdAttribute::Ptr attribute = m_schema->attribute(reference->referenceName());
+ if (!attribute) {
+ m_context->error(QtXmlPatterns::tr("reference %1 of %2 element cannot be resolved")
+ .arg(formatKeyword(m_namePool, reference->referenceName()))
+ .arg(formatElement("attribute")),
+ XsdSchemaContext::XSDError, reference->sourceLocation());
+ return XsdAttributeUse::List();
+ }
+
+ // if both, reference and definition have a fixed or default value set, then they must be equal
+ if (attribute->valueConstraint() && attributeUse->valueConstraint()) {
+ if (attribute->valueConstraint()->value() != attributeUse->valueConstraint()->value()) {
+ m_context->error(QtXmlPatterns::tr("%1 or %2 attribute of reference %3 does not match with the attribute declaration %4")
+ .arg(formatAttribute("fixed"))
+ .arg(formatAttribute("default"))
+ .arg(formatKeyword(m_namePool, reference->referenceName()))
+ .arg(formatKeyword(attribute->displayName(m_namePool))),
+ XsdSchemaContext::XSDError, reference->sourceLocation());
+ return XsdAttributeUse::List();
+ }
+ }
+
+ attributeUse->setAttribute(attribute);
+ if (!attributeUse->valueConstraint() && attribute->valueConstraint())
+ attributeUse->setValueConstraint(XsdAttributeUse::ValueConstraint::fromAttributeValueConstraint(attribute->valueConstraint()));
+
+ resolvedAttributeUses.append(attributeUse);
+ } else if (reference->type() == XsdAttributeReference::AttributeGroup) {
+ const XsdAttributeGroup::Ptr attributeGroup = m_schema->attributeGroup(reference->referenceName());
+ if (!attributeGroup) {
+ m_context->error(QtXmlPatterns::tr("reference %1 of %2 element cannot be resolved")
+ .arg(formatKeyword(m_namePool, reference->referenceName()))
+ .arg(formatElement("attributeGroup")),
+ XsdSchemaContext::XSDError, reference->sourceLocation());
+ return XsdAttributeUse::List();
+ }
+ if (visitedAttributeGroups.contains(attributeGroup->name(m_namePool))) {
+ m_context->error(QtXmlPatterns::tr("attribute group %1 has circular reference").arg(formatKeyword(m_namePool, reference->referenceName())),
+ XsdSchemaContext::XSDError, reference->sourceLocation());
+ return XsdAttributeUse::List();
+ } else {
+ visitedAttributeGroups.insert(attributeGroup->name(m_namePool));
+ }
+
+ // resolve attribute wildcards as defined in http://www.w3.org/TR/xmlschema11-1/#declare-attributeGroup-wildcard
+ XsdWildcard::Ptr childWildcard;
+ resolvedAttributeUses << resolveAttributeTermReferences(attributeGroup->attributeUses(), childWildcard, visitedAttributeGroups);
+ if (!childWildcard) {
+ if (attributeGroup->wildcard()) {
+ if (wildcard) {
+ const XsdWildcard::ProcessContents contents = wildcard->processContents();
+ wildcard = XsdSchemaHelper::wildcardIntersection(wildcard, attributeGroup->wildcard());
+ wildcard->setProcessContents(contents);
+ } else {
+ wildcard = attributeGroup->wildcard();
+ }
+ }
+ } else {
+ XsdWildcard::Ptr newWildcard;
+ if (attributeGroup->wildcard()) {
+ const XsdWildcard::ProcessContents contents = attributeGroup->wildcard()->processContents();
+ newWildcard = XsdSchemaHelper::wildcardIntersection(attributeGroup->wildcard(), childWildcard);
+ newWildcard->setProcessContents(contents);
+ } else {
+ newWildcard = childWildcard;
+ }
+
+ if (wildcard) {
+ const XsdWildcard::ProcessContents contents = wildcard->processContents();
+ wildcard = XsdSchemaHelper::wildcardIntersection(wildcard, newWildcard);
+ wildcard->setProcessContents(contents);
+ } else {
+ wildcard = newWildcard;
+ }
+ }
+ }
+ }
+ }
+
+ return resolvedAttributeUses;
+}
+
+void XsdSchemaResolver::resolveAttributeInheritance()
+{
+ // collect the global and anonymous complex types
+ SchemaType::List types = m_schema->types();
+ types << m_schema->anonymousTypes();
+
+ QSet<XsdComplexType::Ptr> visitedTypes;
+ for (int i = 0; i < types.count(); ++i) {
+ if (!(types.at(i)->isComplexType()) || !types.at(i)->isDefinedBySchema())
+ continue;
+
+ const XsdComplexType::Ptr complexType = types.at(i);
+
+ resolveAttributeInheritance(complexType, visitedTypes);
+ }
+}
+
+bool isValidWildcardRestriction(const XsdWildcard::Ptr &wildcard, const XsdWildcard::Ptr &baseWildcard)
+{
+ if (wildcard->namespaceConstraint()->variety() == baseWildcard->namespaceConstraint()->variety()) {
+ if (!XsdSchemaHelper::checkWildcardProcessContents(baseWildcard, wildcard))
+ return false;
+ }
+
+ if (wildcard->namespaceConstraint()->variety() == XsdWildcard::NamespaceConstraint::Any &&
+ baseWildcard->namespaceConstraint()->variety() != XsdWildcard::NamespaceConstraint::Any ) {
+ return false;
+ }
+ if (baseWildcard->namespaceConstraint()->variety() == XsdWildcard::NamespaceConstraint::Not &&
+ wildcard->namespaceConstraint()->variety() == XsdWildcard::NamespaceConstraint::Enumeration) {
+ if (!baseWildcard->namespaceConstraint()->namespaces().intersect(wildcard->namespaceConstraint()->namespaces()).isEmpty())
+ return false;
+ }
+ if (baseWildcard->namespaceConstraint()->variety() == XsdWildcard::NamespaceConstraint::Enumeration &&
+ wildcard->namespaceConstraint()->variety() == XsdWildcard::NamespaceConstraint::Enumeration) {
+ if (!wildcard->namespaceConstraint()->namespaces().subtract(baseWildcard->namespaceConstraint()->namespaces()).isEmpty())
+ return false;
+ }
+
+ return true;
+}
+
+/*
+ * Since we inherit the attributes from our base class we have to walk up in the
+ * inheritance hierarchy first and resolve the attribute inheritance top-down.
+ */
+void XsdSchemaResolver::resolveAttributeInheritance(const XsdComplexType::Ptr &complexType, QSet<XsdComplexType::Ptr> &visitedTypes)
+{
+ if (visitedTypes.contains(complexType))
+ return;
+ else
+ visitedTypes.insert(complexType);
+
+ const SchemaType::Ptr baseType = complexType->wxsSuperType();
+ Q_ASSERT(baseType);
+
+ if (!(baseType->isComplexType()) || !baseType->isDefinedBySchema())
+ return;
+
+ const XsdComplexType::Ptr complexBaseType = baseType;
+
+ resolveAttributeInheritance(complexBaseType, visitedTypes);
+
+ // @see http://www.w3.org/TR/xmlschema11-1/#dcl.ctd.attuses
+
+ // 1 and 2 (the attribute groups have been resolved here already)
+ const XsdAttributeUse::List uses = complexBaseType->attributeUses();
+
+ if (complexType->derivationMethod() == XsdComplexType::DerivationRestriction) { // 3.2
+ const XsdAttributeUse::List currentUses = complexType->attributeUses();
+
+ // 3.2.1 and 3.2.2 As we also keep the prohibited attributes as objects, the algorithm below
+ // handles both the same way
+
+ // add only these attribute uses of the base type that match one of the following criteria:
+ // 1: there is no attribute use with the same name in type
+ // 2: there is no attribute with the same name marked as prohibited in type
+ for (int j = 0; j < uses.count(); ++j) {
+ const XsdAttributeUse::Ptr use = uses.at(j);
+ bool found = false;
+ for (int k = 0; k < currentUses.count(); ++k) {
+ if (use->attribute()->name(m_namePool) == currentUses.at(k)->attribute()->name(m_namePool)) {
+ found = true;
+
+ // check if prohibited usage is violated
+ if ((use->useType() == XsdAttributeUse::ProhibitedUse) && (currentUses.at(k)->useType() != XsdAttributeUse::ProhibitedUse)) {
+ m_context->error(QtXmlPatterns::tr("%1 attribute in %2 must have %3 use like in base type %4")
+ .arg(formatAttribute(use->attribute()->displayName(m_namePool)))
+ .arg(formatType(m_namePool, complexType))
+ .arg(formatData("prohibited"))
+ .arg(formatType(m_namePool, complexBaseType)),
+ XsdSchemaContext::XSDError, sourceLocation(complexType));
+ return;
+ }
+
+ break;
+ }
+ }
+
+ if (!found && uses.at(j)->useType() != XsdAttributeUse::ProhibitedUse) {
+ complexType->addAttributeUse(uses.at(j));
+ }
+ }
+ } else if (complexType->derivationMethod() == XsdComplexType::DerivationExtension) { // 3.1
+ QHash<QXmlName, XsdAttributeUse::Ptr> availableUses;
+
+ // fill hash with attribute uses of current type for faster lookup
+ {
+ const XsdAttributeUse::List attributeUses = complexType->attributeUses();
+
+ for (int i = 0; i < attributeUses.count(); ++i) {
+ availableUses.insert(attributeUses.at(i)->attribute()->name(m_namePool), attributeUses.at(i));
+ }
+ }
+
+ // just add the attribute uses of the base type
+ for (int i = 0; i < uses.count(); ++i) {
+ const XsdAttributeUse::Ptr currentAttributeUse = uses.at(i);
+
+ // if the base type defines the attribute as prohibited but we override it in current type, then don't copy the prohibited attribute use
+ if ((currentAttributeUse->useType() == XsdAttributeUse::ProhibitedUse) && availableUses.contains(currentAttributeUse->attribute()->name(m_namePool)))
+ continue;
+
+ complexType->addAttributeUse(uses.at(i));
+ }
+ }
+
+ // handle attribute wildcards: @see http://www.w3.org/TR/xmlschema11-1/#dcl.ctd.anyatt
+
+ // 1
+ const XsdWildcard::Ptr completeWildcard(complexType->attributeWildcard());
+
+ if (complexType->derivationMethod() == XsdComplexType::DerivationRestriction) {
+ if (complexType->wxsSuperType()->isComplexType() && complexType->wxsSuperType()->isDefinedBySchema()) {
+ const XsdComplexType::Ptr complexBaseType(complexType->wxsSuperType());
+ if (complexType->attributeWildcard()) {
+ if (complexBaseType->attributeWildcard()) {
+ if (!isValidWildcardRestriction(complexType->attributeWildcard(), complexBaseType->attributeWildcard())) {
+ m_context->error(QtXmlPatterns::tr("attribute wildcard of %1 is not a valid restriction of attribute wildcard of base type %2")
+ .arg(formatType(m_namePool, complexType))
+ .arg(formatType(m_namePool, complexBaseType)),
+ XsdSchemaContext::XSDError, sourceLocation(complexType));
+ return;
+ }
+ } else {
+ m_context->error(QtXmlPatterns::tr("%1 has attribute wildcard but its base type %2 has not")
+ .arg(formatType(m_namePool, complexType))
+ .arg(formatType(m_namePool, complexBaseType)),
+ XsdSchemaContext::XSDError, sourceLocation(complexType));
+ return;
+ }
+ }
+ }
+ complexType->setAttributeWildcard(completeWildcard); // 2.1
+ } else if (complexType->derivationMethod() == XsdComplexType::DerivationExtension) {
+ XsdWildcard::Ptr baseWildcard; // 2.2.1
+ if (complexType->wxsSuperType()->isComplexType() && complexType->wxsSuperType()->isDefinedBySchema())
+ baseWildcard = XsdComplexType::Ptr(complexType->wxsSuperType())->attributeWildcard(); // 2.2.1.1
+ else
+ baseWildcard = XsdWildcard::Ptr(); // 2.2.1.2
+
+ if (!baseWildcard) {
+ complexType->setAttributeWildcard(completeWildcard); // 2.2.2.1
+ } else if (!completeWildcard) {
+ complexType->setAttributeWildcard(baseWildcard); // 2.2.2.2
+ } else {
+ XsdWildcard::Ptr unionWildcard = XsdSchemaHelper::wildcardUnion(completeWildcard, baseWildcard);
+ if (unionWildcard) {
+ unionWildcard->setProcessContents(completeWildcard->processContents());
+ complexType->setAttributeWildcard(unionWildcard); // 2.2.2.3
+ } else {
+ m_context->error(QtXmlPatterns::tr("union of attribute wildcard of type %1 and attribute wildcard of its base type %2 is not expressible")
+ .arg(formatType(m_namePool, complexType))
+ .arg(formatType(m_namePool, complexBaseType)),
+ XsdSchemaContext::XSDError, sourceLocation(complexType));
+ return;
+ }
+ }
+ }
+}
+
+void XsdSchemaResolver::resolveEnumerationFacetValues()
+{
+ XsdSimpleType::List simpleTypes;
+
+ // first collect the global simple types
+ const SchemaType::List types = m_schema->types();
+ for (int i = 0; i < types.count(); ++i) {
+ if (types.at(i)->isSimpleType())
+ simpleTypes.append(types.at(i));
+ }
+
+ // then collect all anonymous simple types
+ const SchemaType::List anonymousTypes = m_schema->anonymousTypes();
+ for (int i = 0; i < anonymousTypes.count(); ++i) {
+ if (anonymousTypes.at(i)->isSimpleType())
+ simpleTypes.append(anonymousTypes.at(i));
+ }
+ // process all simple types
+ for (int i = 0; i < simpleTypes.count(); ++i) {
+ const XsdSimpleType::Ptr simpleType = simpleTypes.at(i);
+
+ // we resolve the enumeration values only for xs:QName and xs:NOTATION based types
+ if (BuiltinTypes::xsQName->wxsTypeMatches(simpleType) ||
+ BuiltinTypes::xsNOTATION->wxsTypeMatches(simpleType)) {
+ const XsdFacet::Hash facets = simpleType->facets();
+ if (facets.contains(XsdFacet::Enumeration)) {
+ AtomicValue::List newValues;
+
+ const XsdFacet::Ptr facet = facets.value(XsdFacet::Enumeration);
+ const AtomicValue::List values = facet->multiValue();
+ for (int j = 0; j < values.count(); ++j) {
+ const AtomicValue::Ptr value = values.at(j);
+
+ Q_ASSERT(m_enumerationFacetValues.contains(value));
+ const NamespaceSupport support( m_enumerationFacetValues.value(value) );
+
+ const QString qualifiedName = value->as<DerivedString<TypeString> >()->stringValue();
+ if (!XPathHelper::isQName(qualifiedName)) {
+ m_context->error(QtXmlPatterns::tr("enumeration facet contains invalid content: {%1} is not a value of type %2")
+ .arg(formatData(qualifiedName))
+ .arg(formatType(m_namePool, BuiltinTypes::xsQName)),
+ XsdSchemaContext::XSDError, sourceLocation(simpleType));
+ return;
+ }
+
+ QXmlName qNameValue;
+ bool result = support.processName(qualifiedName, NamespaceSupport::ElementName, qNameValue);
+ if (!result) {
+ m_context->error(QtXmlPatterns::tr("namespace prefix of qualified name %1 is not defined").arg(formatData(qualifiedName)),
+ XsdSchemaContext::XSDError, sourceLocation(simpleType));
+ return;
+ }
+
+ newValues.append(QNameValue::fromValue(m_namePool, qNameValue));
+ }
+ facet->setMultiValue(newValues);
+ }
+ }
+ }
+}
+
+QSourceLocation XsdSchemaResolver::sourceLocation(const NamedSchemaComponent::Ptr component) const
+{
+ if (m_componentLocationHash.contains(component)) {
+ return m_componentLocationHash.value(component);
+ } else {
+ QSourceLocation location;
+ location.setLine(1);
+ location.setColumn(1);
+ location.setUri(QString::fromLatin1("dummyUri"));
+
+ return location;
+ }
+}
+
+XsdFacet::Hash XsdSchemaResolver::complexTypeFacets(const XsdComplexType::Ptr &complexType) const
+{
+ for (int i = 0; i < m_complexBaseTypes.count(); ++i) {
+ if (m_complexBaseTypes.at(i).complexType == complexType)
+ return m_complexBaseTypes.at(i).facets;
+ }
+
+ return XsdFacet::Hash();
+}
+
+void XsdSchemaResolver::checkRedefinedGroups()
+{
+ for (int i = 0; i < m_redefinedGroups.count(); ++i) {
+ const RedefinedGroups item = m_redefinedGroups.at(i);
+
+ // create dummy particles...
+ const XsdParticle::Ptr redefinedParticle(new XsdParticle());
+ redefinedParticle->setTerm(item.redefinedGroup);
+ const XsdParticle::Ptr particle(new XsdParticle());
+ particle->setTerm(item.group);
+
+ // so that we can pass them to XsdParticleChecker::subsumes()
+ QString errorMsg;
+ if (!XsdParticleChecker::subsumes(particle, redefinedParticle, m_context, errorMsg)) {
+ m_context->error(QtXmlPatterns::tr("%1 element %2 is not a valid restriction of the %3 element it redefines: %4")
+ .arg(formatElement("group"))
+ .arg(formatData(item.redefinedGroup->displayName(m_namePool)))
+ .arg(formatElement("group"))
+ .arg(errorMsg),
+ XsdSchemaContext::XSDError, sourceLocation(item.redefinedGroup));
+ return;
+ }
+ }
+}
+
+void XsdSchemaResolver::checkRedefinedAttributeGroups()
+{
+ for (int i = 0; i < m_redefinedAttributeGroups.count(); ++i) {
+ const RedefinedAttributeGroups item = m_redefinedAttributeGroups.at(i);
+
+ QString errorMsg;
+ if (!XsdSchemaHelper::isValidAttributeGroupRestriction(item.redefinedGroup, item.group, m_context, errorMsg)) {
+ m_context->error(QtXmlPatterns::tr("%1 element %2 is not a valid restriction of the %3 element it redefines: %4")
+ .arg(formatElement("attributeGroup"))
+ .arg(formatData(item.redefinedGroup->displayName(m_namePool)))
+ .arg(formatElement("attributeGroup"))
+ .arg(errorMsg),
+ XsdSchemaContext::XSDError, sourceLocation(item.redefinedGroup));
+ return;
+ }
+ }
+}
+
+AnySimpleType::Ptr XsdSchemaResolver::findPrimitiveType(const AnySimpleType::Ptr &type, QSet<AnySimpleType::Ptr> &visitedTypes)
+{
+ if (visitedTypes.contains(type)) {
+ // found invalid circular reference...
+ return AnySimpleType::Ptr();
+ } else {
+ visitedTypes.insert(type);
+ }
+
+ const QXmlName typeName = type->name(m_namePool);
+ if (typeName == BuiltinTypes::xsString->name(m_namePool) ||
+ typeName == BuiltinTypes::xsBoolean->name(m_namePool) ||
+ typeName == BuiltinTypes::xsFloat->name(m_namePool) ||
+ typeName == BuiltinTypes::xsDouble->name(m_namePool) ||
+ typeName == BuiltinTypes::xsDecimal->name(m_namePool) ||
+ typeName == BuiltinTypes::xsDuration->name(m_namePool) ||
+ typeName == BuiltinTypes::xsDateTime->name(m_namePool) ||
+ typeName == BuiltinTypes::xsTime->name(m_namePool) ||
+ typeName == BuiltinTypes::xsDate->name(m_namePool) ||
+ typeName == BuiltinTypes::xsGYearMonth->name(m_namePool) ||
+ typeName == BuiltinTypes::xsGYear->name(m_namePool) ||
+ typeName == BuiltinTypes::xsGMonthDay->name(m_namePool) ||
+ typeName == BuiltinTypes::xsGDay->name(m_namePool) ||
+ typeName == BuiltinTypes::xsGMonth->name(m_namePool) ||
+ typeName == BuiltinTypes::xsHexBinary->name(m_namePool) ||
+ typeName == BuiltinTypes::xsBase64Binary->name(m_namePool) ||
+ typeName == BuiltinTypes::xsAnyURI->name(m_namePool) ||
+ typeName == BuiltinTypes::xsQName->name(m_namePool) ||
+ typeName == BuiltinTypes::xsNOTATION->name(m_namePool) ||
+ typeName == BuiltinTypes::xsAnySimpleType->name(m_namePool))
+ return type;
+ else {
+ if (type->wxsSuperType())
+ return findPrimitiveType(type->wxsSuperType(), visitedTypes);
+ else {
+ return AnySimpleType::Ptr();
+ }
+ }
+}
+
+QT_END_NAMESPACE
diff --git a/src/xmlpatterns/schema/qxsdschemaresolver_p.h b/src/xmlpatterns/schema/qxsdschemaresolver_p.h
new file mode 100644
index 0000000..60901b5
--- /dev/null
+++ b/src/xmlpatterns/schema/qxsdschemaresolver_p.h
@@ -0,0 +1,578 @@
+/****************************************************************************
+**
+** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtXmlPatterns of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+
+#ifndef Patternist_XsdSchemaResolver_H
+#define Patternist_XsdSchemaResolver_H
+
+#include "qnamespacesupport_p.h"
+#include "qschematype_p.h"
+#include "qschematypefactory_p.h"
+#include "qxsdalternative_p.h"
+#include "qxsdattribute_p.h"
+#include "qxsdattributegroup_p.h"
+#include "qxsdelement_p.h"
+#include "qxsdmodelgroup_p.h"
+#include "qxsdnotation_p.h"
+#include "qxsdreference_p.h"
+#include "qxsdschema_p.h"
+#include "qxsdschemachecker_p.h"
+#include "qxsdsimpletype_p.h"
+
+#include <QtCore/QExplicitlySharedDataPointer>
+
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+namespace QPatternist
+{
+ class XsdSchemaContext;
+ class XsdSchemaParserContext;
+
+ /**
+ * @short Encapsulates the resolving of type/element references in a schema after parsing has finished.
+ *
+ * This class collects task for resolving types or element references. After the parsing has finished,
+ * one can start the resolve process by calling resolve().
+ *
+ * @ingroup Patternist_schema
+ * @author Tobias Koenig <tobias.koenig@trolltech.com>
+ */
+ class XsdSchemaResolver : public QSharedData
+ {
+ public:
+ typedef QExplicitlySharedDataPointer<XsdSchemaResolver> Ptr;
+
+ /**
+ * Creates a new schema resolver.
+ *
+ * @param context The schema context used for error reporting etc..
+ * @param parserContext The schema parser context where all objects to resolve belong to.
+ */
+ XsdSchemaResolver(const QExplicitlySharedDataPointer<XsdSchemaContext> &context, const XsdSchemaParserContext *parserContext);
+
+ /**
+ * Destroys the schema resolver.
+ */
+ ~XsdSchemaResolver();
+
+ /**
+ * Starts the resolve process.
+ */
+ void resolve();
+
+ /**
+ * Adds a resolve task for key references.
+ *
+ * The resolver will try to set the referencedKey property of @p keyRef to the <em>key</em> or <em>unique</em> object
+ * of @p element that has the given @p name.
+ */
+ void addKeyReference(const XsdElement::Ptr &element, const XsdIdentityConstraint::Ptr &keyRef, const QXmlName &name, const QSourceLocation &location);
+
+ /**
+ * Adds a resolve task for the base type of restriction of a simple type.
+ *
+ * The resolver will set the base type of @p simpleType to the type named by @p baseName.
+ */
+ void addSimpleRestrictionBase(const XsdSimpleType::Ptr &simpleType, const QXmlName &baseName, const QSourceLocation &location);
+
+ /**
+ * Removes the resolve task for the base type of restriction of the simple @p type.
+ */
+ void removeSimpleRestrictionBase(const XsdSimpleType::Ptr &type);
+
+ /**
+ * Adds a resolve task for the list type of a simple type.
+ *
+ * The resolver will set the itemType property of @p simpleType to the type named by @p typeName.
+ */
+ void addSimpleListType(const XsdSimpleType::Ptr &simpleType, const QXmlName &typeName, const QSourceLocation &location);
+
+ /**
+ * Adds a resolve task for the member types of a simple type.
+ *
+ * The resolver will set the memberTypes property of @p simpleType to the types named by @p typeNames.
+ */
+ void addSimpleUnionTypes(const XsdSimpleType::Ptr &simpleType, const QList<QXmlName> &typeNames, const QSourceLocation &location);
+
+ /**
+ * Adds a resolve task for the type of an element.
+ *
+ * The resolver will set the type of the @p element to the type named by @p typeName.
+ */
+ void addElementType(const XsdElement::Ptr &element, const QXmlName &typeName, const QSourceLocation &location);
+
+ /**
+ * Adds a resolve task for the base type of a complex type.
+ *
+ * The resolver will set the base type of @p complexType to the type named by @p baseName.
+ */
+ void addComplexBaseType(const XsdComplexType::Ptr &complexType, const QXmlName &baseName, const QSourceLocation &location, const XsdFacet::Hash &facets = XsdFacet::Hash());
+
+ /**
+ * Removes the resolve task for the base type of the complex @p type.
+ */
+ void removeComplexBaseType(const XsdComplexType::Ptr &type);
+
+ /**
+ * Adds a resolve task for the content type of a complex type.
+ *
+ * The resolver will set the content type properties for @p complexType based on the
+ * given explicit @p content and effective @p mixed value.
+ */
+ void addComplexContentType(const XsdComplexType::Ptr &complexType, const XsdParticle::Ptr &content, bool mixed);
+
+ /**
+ * Adds a resolve task for the type of an attribute.
+ *
+ * The resolver will set the type of the @p attribute to the type named by @p typeName.
+ */
+ void addAttributeType(const XsdAttribute::Ptr &attribute, const QXmlName &typeName, const QSourceLocation &location);
+
+ /**
+ * Adds a resolve task for the type of an alternative.
+ *
+ * The resolver will set the type of the @p alternative to the type named by @p typeName.
+ */
+ void addAlternativeType(const XsdAlternative::Ptr &alternative, const QXmlName &typeName, const QSourceLocation &location);
+
+ /**
+ * Adds a resolve task for the type of an alternative.
+ *
+ * The resolver will set the type of the @p alternative to the type of the @p element after
+ * the type of the @p element has been resolved.
+ */
+ void addAlternativeType(const XsdAlternative::Ptr &alternative, const XsdElement::Ptr &element);
+
+ /**
+ * Adds a resolve task for the substituion group affiliations of an element.
+ *
+ * The resolver will set the substitution group affiliations of the @p element to the
+ * top-level element named by @p elementNames.
+ */
+ void addSubstitutionGroupAffiliation(const XsdElement::Ptr &element, const QList<QXmlName> &elementName, const QSourceLocation &location);
+
+ /**
+ * Adds a resolve task for an element that has no type specified, only a substitution group
+ * affiliation.
+ *
+ * The resolver will set the type of the substitution group affiliation as type for the element.
+ */
+ void addSubstitutionGroupType(const XsdElement::Ptr &element);
+
+ /**
+ * Adds the component location hash, so the resolver is able to report meaning full
+ * error messages.
+ */
+ void addComponentLocationHash(const QHash<NamedSchemaComponent::Ptr, QSourceLocation> &hash);
+
+ /**
+ * Add a resolve task for enumeration facet values.
+ *
+ * In case the enumeration is of type QName or NOTATION, we have to resolve the QName later,
+ * so we store the namespace bindings together with the facet value here and resolve it as soon as
+ * we have all type information available.
+ */
+ void addEnumerationFacetValue(const AtomicValue::Ptr &facetValue, const NamespaceSupport &namespaceSupport);
+
+ /**
+ * Add a check job for redefined groups.
+ *
+ * When an element group is redefined, we have to check whether the redefined group is a valid
+ * restriction of the group it redefines. As we need all type information for that, we keep them
+ * here for later checking.
+ */
+ void addRedefinedGroups(const XsdModelGroup::Ptr &redefinedGroup, const XsdModelGroup::Ptr &group);
+
+ /**
+ * Add a check job for redefined attribute groups.
+ *
+ * When an attribute group is redefined, we have to check whether the redefined group is a valid
+ * restriction of the group it redefines. As we need all type information for that, we keep them
+ * here for later checking.
+ */
+ void addRedefinedAttributeGroups(const XsdAttributeGroup::Ptr &redefinedGroup, const XsdAttributeGroup::Ptr &group);
+
+ /**
+ * Adds a check for nested <em>all</em> groups.
+ */
+ void addAllGroupCheck(const XsdReference::Ptr &reference);
+
+ /**
+ * Copies the data to resolve to an @p other resolver.
+ *
+ * @note That functionality is only used by the redefine algorithm in the XsdSchemaParser.
+ */
+ void copyDataTo(const XsdSchemaResolver::Ptr &other) const;
+
+ /**
+ * Returns the to resolve base type name for the given @p type.
+ *
+ * @note That functionality is only used by the redefine algorithm in the XsdSchemaParser.
+ */
+ QXmlName baseTypeNameOfType(const SchemaType::Ptr &type) const;
+
+ /**
+ * Returns the to resolve type name for the given @p attribute.
+ *
+ * @note That functionality is only used by the redefine algorithm in the XsdSchemaParser.
+ */
+ QXmlName typeNameOfAttribute(const XsdAttribute::Ptr &attribute) const;
+
+ /**
+ * Sets the defaultOpenContent object from the schema parser.
+ */
+ void setDefaultOpenContent(const XsdComplexType::OpenContent::Ptr &openContent, bool appliesToEmpty);
+
+ private:
+ /**
+ * Resolves key references.
+ */
+ void resolveKeyReferences();
+
+ /**
+ * Resolves the base types of simple types derived by restriction.
+ */
+ void resolveSimpleRestrictionBaseTypes();
+
+ /**
+ * Resolves the other properties except the base type
+ * of all simple restrictions.
+ */
+ void resolveSimpleRestrictions();
+
+ /**
+ * Resolves the other properties except the base type
+ * of the given simple restriction.
+ *
+ * @param simpleType The restricted type to resolve.
+ * @param visitedTypes A set of already resolved types, used for termination of recursion.
+ */
+ void resolveSimpleRestrictions(const XsdSimpleType::Ptr &simpleType, QSet<XsdSimpleType::Ptr> &visitedTypes);
+
+ /**
+ * Resolves the item type property of simple types derived by list.
+ */
+ void resolveSimpleListType();
+
+ /**
+ * Resolves the member types property of simple types derived by union.
+ */
+ void resolveSimpleUnionTypes();
+
+ /**
+ * Resolves element types.
+ */
+ void resolveElementTypes();
+
+ /**
+ * Resolves base type of complex types.
+ */
+ void resolveComplexBaseTypes();
+
+ /**
+ * Resolves the simple content model of a complex type
+ * depending on its base type.
+ */
+ void resolveSimpleContentComplexTypes();
+
+ /**
+ * Resolves the complex content model of a complex type
+ * depending on its base type.
+ */
+ void resolveComplexContentComplexTypes();
+
+ /**
+ * Resolves the simple content model of a complex type
+ * depending on its base type.
+ *
+ * @param complexType The complex type to resolve.
+ * @param visitedTypes A set of already resolved types, used for termination of recursion.
+ */
+ void resolveSimpleContentComplexTypes(const XsdComplexType::Ptr &complexType, QSet<XsdComplexType::Ptr> &visitedTypes);
+
+ /**
+ * Resolves the complex content model of a complex type
+ * depending on its base type.
+ *
+ * @param complexType The complex type to resolve.
+ * @param visitedTypes A set of already resolved types, used for termination of recursion.
+ */
+ void resolveComplexContentComplexTypes(const XsdComplexType::Ptr &complexType, QSet<XsdComplexType::Ptr> &visitedTypes);
+
+ /**
+ * Resolves attribute types.
+ */
+ void resolveAttributeTypes();
+
+ /**
+ * Resolves alternative types.
+ */
+ void resolveAlternativeTypes();
+
+ /**
+ * Resolves substitution group affiliations.
+ */
+ void resolveSubstitutionGroupAffiliations();
+
+ /**
+ * Resolves substitution groups.
+ */
+ void resolveSubstitutionGroups();
+
+ /**
+ * Resolves all XsdReferences in the schema by their corresponding XsdElement or XsdModelGroup terms.
+ */
+ void resolveTermReferences();
+
+ /**
+ * Resolves all XsdReferences in the @p particle recursive by their corresponding XsdElement or XsdModelGroup terms.
+ */
+ void resolveTermReference(const XsdParticle::Ptr &particle, QSet<QXmlName> visitedGroups);
+
+ /**
+ * Resolves all XsdAttributeReferences in the schema by their corresponding XsdAttributeUse objects.
+ */
+ void resolveAttributeTermReferences();
+
+ /**
+ * Resolves all XsdAttributeReferences in the list of @p attributeUses by their corresponding XsdAttributeUse objects.
+ */
+ XsdAttributeUse::List resolveAttributeTermReferences(const XsdAttributeUse::List &attributeUses, XsdWildcard::Ptr &wildcard, QSet<QXmlName> visitedAttributeGroups);
+
+ /**
+ * Resolves the attribute inheritance of complex types.
+ *
+ * @note This method must be called after all base types have been resolved.
+ */
+ void resolveAttributeInheritance();
+
+ /**
+ * Resolves the attribute inheritance of the given complex types.
+ *
+ * @param complexType The complex type to resolve.
+ * @param visitedTypes A set of already resolved types, used for termination of recursion.
+ *
+ * @note This method must be called after all base types have been resolved.
+ */
+ void resolveAttributeInheritance(const XsdComplexType::Ptr &complexType, QSet<XsdComplexType::Ptr> &visitedTypes);
+
+ /**
+ * Resolves the enumeration facet values for QName and NOTATION based facets.
+ */
+ void resolveEnumerationFacetValues();
+
+ /**
+ * Returns the source location of the given schema @p component or a dummy
+ * source location if the component is not found in the component location hash.
+ */
+ QSourceLocation sourceLocation(const NamedSchemaComponent::Ptr component) const;
+
+ /**
+ * Returns the facets that are marked for the given complex @p type with a simple
+ * type restriction.
+ */
+ XsdFacet::Hash complexTypeFacets(const XsdComplexType::Ptr &complexType) const;
+
+ /**
+ * Finds the primitive type for the given simple @p type.
+ *
+ * The type is found by walking up the inheritance tree, until one of the builtin
+ * primitive type definitions is reached.
+ */
+ AnySimpleType::Ptr findPrimitiveType(const AnySimpleType::Ptr &type, QSet<AnySimpleType::Ptr> &visitedTypes);
+
+ /**
+ * Checks the redefined groups.
+ */
+ void checkRedefinedGroups();
+
+ /**
+ * Checks the redefined attribute groups.
+ */
+ void checkRedefinedAttributeGroups();
+
+ class KeyReference
+ {
+ public:
+ XsdElement::Ptr element;
+ XsdIdentityConstraint::Ptr keyRef;
+ QXmlName reference;
+ QSourceLocation location;
+ };
+
+ class SimpleRestrictionBase
+ {
+ public:
+ XsdSimpleType::Ptr simpleType;
+ QXmlName baseName;
+ QSourceLocation location;
+ };
+
+ class SimpleListType
+ {
+ public:
+ XsdSimpleType::Ptr simpleType;
+ QXmlName typeName;
+ QSourceLocation location;
+ };
+
+ class SimpleUnionType
+ {
+ public:
+ XsdSimpleType::Ptr simpleType;
+ QList<QXmlName> typeNames;
+ QSourceLocation location;
+ };
+
+ class ElementType
+ {
+ public:
+ XsdElement::Ptr element;
+ QXmlName typeName;
+ QSourceLocation location;
+ };
+
+ class ComplexBaseType
+ {
+ public:
+ XsdComplexType::Ptr complexType;
+ QXmlName baseName;
+ QSourceLocation location;
+ XsdFacet::Hash facets;
+ };
+
+ class ComplexContentType
+ {
+ public:
+ XsdComplexType::Ptr complexType;
+ XsdParticle::Ptr explicitContent;
+ bool effectiveMixed;
+ };
+
+ class AttributeType
+ {
+ public:
+ XsdAttribute::Ptr attribute;
+ QXmlName typeName;
+ QSourceLocation location;
+ };
+
+ class AlternativeType
+ {
+ public:
+ XsdAlternative::Ptr alternative;
+ QXmlName typeName;
+ QSourceLocation location;
+ };
+
+ class AlternativeTypeElement
+ {
+ public:
+ XsdAlternative::Ptr alternative;
+ XsdElement::Ptr element;
+ };
+
+ class SubstitutionGroupAffiliation
+ {
+ public:
+ XsdElement::Ptr element;
+ QList<QXmlName> elementNames;
+ QSourceLocation location;
+ };
+
+ class RedefinedGroups
+ {
+ public:
+ XsdModelGroup::Ptr redefinedGroup;
+ XsdModelGroup::Ptr group;
+ };
+
+ class RedefinedAttributeGroups
+ {
+ public:
+ XsdAttributeGroup::Ptr redefinedGroup;
+ XsdAttributeGroup::Ptr group;
+ };
+
+ QVector<KeyReference> m_keyReferences;
+ QVector<SimpleRestrictionBase> m_simpleRestrictionBases;
+ QVector<SimpleListType> m_simpleListTypes;
+ QVector<SimpleUnionType> m_simpleUnionTypes;
+ QVector<ElementType> m_elementTypes;
+ QVector<ComplexBaseType> m_complexBaseTypes;
+ QVector<ComplexContentType> m_complexContentTypes;
+ QVector<AttributeType> m_attributeTypes;
+ QVector<AlternativeType> m_alternativeTypes;
+ QVector<AlternativeTypeElement> m_alternativeTypeElements;
+ QVector<SubstitutionGroupAffiliation> m_substitutionGroupAffiliations;
+ QVector<XsdElement::Ptr> m_substitutionGroupTypes;
+ QVector<RedefinedGroups> m_redefinedGroups;
+ QVector<RedefinedAttributeGroups> m_redefinedAttributeGroups;
+ QHash<AtomicValue::Ptr, NamespaceSupport> m_enumerationFacetValues;
+ QSet<XsdReference::Ptr> m_allGroups;
+
+ QExplicitlySharedDataPointer<XsdSchemaContext> m_context;
+ QExplicitlySharedDataPointer<XsdSchemaChecker> m_checker;
+ NamePool::Ptr m_namePool;
+ XsdSchema::Ptr m_schema;
+ QHash<NamedSchemaComponent::Ptr, QSourceLocation> m_componentLocationHash;
+ XsdComplexType::OpenContent::Ptr m_defaultOpenContent;
+ bool m_defaultOpenContentAppliesToEmpty;
+ SchemaType::List m_predefinedSchemaTypes;
+ };
+}
+
+QT_END_NAMESPACE
+
+QT_END_HEADER
+
+#endif
diff --git a/src/xmlpatterns/schema/qxsdschematoken.cpp b/src/xmlpatterns/schema/qxsdschematoken.cpp
new file mode 100644
index 0000000..b462731
--- /dev/null
+++ b/src/xmlpatterns/schema/qxsdschematoken.cpp
@@ -0,0 +1,2981 @@
+/****************************************************************************
+**
+** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the QtXmlPatterns of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/* NOTE: This file is AUTO GENERATED by qautomaton2cpp.xsl. */
+
+#include "qxsdschematoken_p.h"
+
+QT_BEGIN_NAMESPACE
+
+XsdSchemaToken::NodeName XsdSchemaToken::classifier2(const QChar *data)
+
+ {
+
+ static const unsigned short string[] =
+ {
+ 105, 100
+ };
+ if(memcmp(&data[0], &string, sizeof(QChar) * 2) == 0)
+
+
+ return Id;
+
+
+ return NoKeyword;
+ }
+ XsdSchemaToken::NodeName XsdSchemaToken::classifier3(const QChar *data)
+
+ {
+ if (data[0] == 97)
+
+
+ {
+ if (data[1] == 108)
+
+
+ {
+
+ if(data[2] == 108)
+
+
+ return All;
+
+ }
+
+ else if (data[1] == 110)
+
+
+ {
+
+ if(data[2] == 121)
+
+
+ return Any;
+
+ }
+
+
+ }
+
+ else if (data[0] == 107)
+
+
+ {
+
+ static const unsigned short string[] =
+ {
+ 101, 121
+ };
+ if(memcmp(&data[1], &string, sizeof(QChar) * 2) == 0)
+
+
+ return Key;
+
+ }
+
+ else if (data[0] == 114)
+
+
+ {
+
+ static const unsigned short string[] =
+ {
+ 101, 102
+ };
+ if(memcmp(&data[1], &string, sizeof(QChar) * 2) == 0)
+
+
+ return Ref;
+
+ }
+
+ else if (data[0] == 117)
+
+
+ {
+
+ static const unsigned short string[] =
+ {
+ 115, 101
+ };
+ if(memcmp(&data[1], &string, sizeof(QChar) * 2) == 0)
+
+
+ return Use;
+
+ }
+
+
+
+ return NoKeyword;
+ }
+ XsdSchemaToken::NodeName XsdSchemaToken::classifier4(const QChar *data)
+
+ {
+ if (data[0] == 98)
+
+
+ {
+
+ static const unsigned short string[] =
+ {
+ 97, 115, 101
+ };
+ if(memcmp(&data[1], &string, sizeof(QChar) * 3) == 0)
+
+
+ return Base;
+
+ }
+
+ else if (data[0] == 102)
+
+
+ {
+
+ static const unsigned short string[] =
+ {
+ 111, 114, 109
+ };
+ if(memcmp(&data[1], &string, sizeof(QChar) * 3) == 0)
+
+
+ return Form;
+
+ }
+
+ else if (data[0] == 108)
+
+
+ {
+
+ static const unsigned short string[] =
+ {
+ 105, 115, 116
+ };
+ if(memcmp(&data[1], &string, sizeof(QChar) * 3) == 0)
+
+
+ return List;
+
+ }
+
+ else if (data[0] == 109)
+
+
+ {
+
+ static const unsigned short string[] =
+ {
+ 111, 100, 101
+ };
+ if(memcmp(&data[1], &string, sizeof(QChar) * 3) == 0)
+
+
+ return Mode;
+
+ }
+
+ else if (data[0] == 110)
+
+
+ {
+
+ static const unsigned short string[] =
+ {
+ 97, 109, 101
+ };
+ if(memcmp(&data[1], &string, sizeof(QChar) * 3) == 0)
+
+
+ return Name;
+
+ }
+
+ else if (data[0] == 116)
+
+
+ {
+ if (data[1] == 101)
+
+
+ {
+
+ static const unsigned short string[] =
+ {
+ 115, 116
+ };
+ if(memcmp(&data[2], &string, sizeof(QChar) * 2) == 0)
+
+
+ return Test;
+
+ }
+
+ else if (data[1] == 121)
+
+
+ {
+
+ static const unsigned short string[] =
+ {
+ 112, 101
+ };
+ if(memcmp(&data[2], &string, sizeof(QChar) * 2) == 0)
+
+
+ return Type;
+
+ }
+
+
+ }
+
+
+
+ return NoKeyword;
+ }
+ XsdSchemaToken::NodeName XsdSchemaToken::classifier5(const QChar *data)
+
+ {
+ if (data[0] == 98)
+
+
+ {
+
+ static const unsigned short string[] =
+ {
+ 108, 111, 99, 107
+ };
+ if(memcmp(&data[1], &string, sizeof(QChar) * 4) == 0)
+
+
+ return Block;
+
+ }
+
+ else if (data[0] == 102)
+
+
+ {
+ if (data[1] == 105)
+
+
+ {
+ if (data[2] == 101)
+
+
+ {
+
+ static const unsigned short string[] =
+ {
+ 108, 100
+ };
+ if(memcmp(&data[3], &string, sizeof(QChar) * 2) == 0)
+
+
+ return Field;
+
+ }
+
+ else if (data[2] == 110)
+
+
+ {
+
+ static const unsigned short string[] =
+ {
+ 97, 108
+ };
+ if(memcmp(&data[3], &string, sizeof(QChar) * 2) == 0)
+
+
+ return Final;
+
+ }
+
+ else if (data[2] == 120)
+
+
+ {
+
+ static const unsigned short string[] =
+ {
+ 101, 100
+ };
+ if(memcmp(&data[3], &string, sizeof(QChar) * 2) == 0)
+
+
+ return Fixed;
+
+ }
+
+
+ }
+
+
+ }
+
+ else if (data[0] == 103)
+
+
+ {
+
+ static const unsigned short string[] =
+ {
+ 114, 111, 117, 112
+ };
+ if(memcmp(&data[1], &string, sizeof(QChar) * 4) == 0)
+
+
+ return Group;
+
+ }
+
+ else if (data[0] == 109)
+
+
+ {
+
+ static const unsigned short string[] =
+ {
+ 105, 120, 101, 100
+ };
+ if(memcmp(&data[1], &string, sizeof(QChar) * 4) == 0)
+
+
+ return Mixed;
+
+ }
+
+ else if (data[0] == 114)
+
+
+ {
+
+ static const unsigned short string[] =
+ {
+ 101, 102, 101, 114
+ };
+ if(memcmp(&data[1], &string, sizeof(QChar) * 4) == 0)
+
+
+ return Refer;
+
+ }
+
+ else if (data[0] == 117)
+
+
+ {
+
+ static const unsigned short string[] =
+ {
+ 110, 105, 111, 110
+ };
+ if(memcmp(&data[1], &string, sizeof(QChar) * 4) == 0)
+
+
+ return Union;
+
+ }
+
+ else if (data[0] == 118)
+
+
+ {
+
+ static const unsigned short string[] =
+ {
+ 97, 108, 117, 101
+ };
+ if(memcmp(&data[1], &string, sizeof(QChar) * 4) == 0)
+
+
+ return Value;
+
+ }
+
+ else if (data[0] == 120)
+
+
+ {
+
+ static const unsigned short string[] =
+ {
+ 112, 97, 116, 104
+ };
+ if(memcmp(&data[1], &string, sizeof(QChar) * 4) == 0)
+
+
+ return Xpath;
+
+ }
+
+
+
+ return NoKeyword;
+ }
+ XsdSchemaToken::NodeName XsdSchemaToken::classifier6(const QChar *data)
+
+ {
+ if (data[0] == 97)
+
+
+ {
+
+ static const unsigned short string[] =
+ {
+ 115, 115, 101, 114, 116
+ };
+ if(memcmp(&data[1], &string, sizeof(QChar) * 5) == 0)
+
+
+ return Assert;
+
+ }
+
+ else if (data[0] == 99)
+
+
+ {
+
+ static const unsigned short string[] =
+ {
+ 104, 111, 105, 99, 101
+ };
+ if(memcmp(&data[1], &string, sizeof(QChar) * 5) == 0)
+
+
+ return Choice;
+
+ }
+
+ else if (data[0] == 105)
+
+
+ {
+
+ static const unsigned short string[] =
+ {
+ 109, 112, 111, 114, 116
+ };
+ if(memcmp(&data[1], &string, sizeof(QChar) * 5) == 0)
+
+
+ return Import;
+
+ }
+
+ else if (data[0] == 107)
+
+
+ {
+
+ static const unsigned short string[] =
+ {
+ 101, 121, 114, 101, 102
+ };
+ if(memcmp(&data[1], &string, sizeof(QChar) * 5) == 0)
+
+
+ return Keyref;
+
+ }
+
+ else if (data[0] == 108)
+
+
+ {
+
+ static const unsigned short string[] =
+ {
+ 101, 110, 103, 116, 104
+ };
+ if(memcmp(&data[1], &string, sizeof(QChar) * 5) == 0)
+
+
+ return Length;
+
+ }
+
+ else if (data[0] == 112)
+
+
+ {
+
+ static const unsigned short string[] =
+ {
+ 117, 98, 108, 105, 99
+ };
+ if(memcmp(&data[1], &string, sizeof(QChar) * 5) == 0)
+
+
+ return Public;
+
+ }
+
+ else if (data[0] == 115)
+
+
+ {
+ if (data[1] == 99)
+
+
+ {
+
+ static const unsigned short string[] =
+ {
+ 104, 101, 109, 97
+ };
+ if(memcmp(&data[2], &string, sizeof(QChar) * 4) == 0)
+
+
+ return Schema;
+
+ }
+
+ else if (data[1] == 111)
+
+
+ {
+
+ static const unsigned short string[] =
+ {
+ 117, 114, 99, 101
+ };
+ if(memcmp(&data[2], &string, sizeof(QChar) * 4) == 0)
+
+
+ return Source;
+
+ }
+
+ else if (data[1] == 121)
+
+
+ {
+
+ static const unsigned short string[] =
+ {
+ 115, 116, 101, 109
+ };
+ if(memcmp(&data[2], &string, sizeof(QChar) * 4) == 0)
+
+
+ return System;
+
+ }
+
+
+ }
+
+ else if (data[0] == 117)
+
+
+ {
+
+ static const unsigned short string[] =
+ {
+ 110, 105, 113, 117, 101
+ };
+ if(memcmp(&data[1], &string, sizeof(QChar) * 5) == 0)
+
+
+ return Unique;
+
+ }
+
+
+
+ return NoKeyword;
+ }
+ XsdSchemaToken::NodeName XsdSchemaToken::classifier7(const QChar *data)
+
+ {
+ if (data[0] == 97)
+
+
+ {
+
+ static const unsigned short string[] =
+ {
+ 112, 112, 105, 110, 102, 111
+ };
+ if(memcmp(&data[1], &string, sizeof(QChar) * 6) == 0)
+
+
+ return Appinfo;
+
+ }
+
+ else if (data[0] == 100)
+
+
+ {
+
+ static const unsigned short string[] =
+ {
+ 101, 102, 97, 117, 108, 116
+ };
+ if(memcmp(&data[1], &string, sizeof(QChar) * 6) == 0)
+
+
+ return Default;
+
+ }
+
+ else if (data[0] == 101)
+
+
+ {
+
+ static const unsigned short string[] =
+ {
+ 108, 101, 109, 101, 110, 116
+ };
+ if(memcmp(&data[1], &string, sizeof(QChar) * 6) == 0)
+
+
+ return Element;
+
+ }
+
+ else if (data[0] == 105)
+
+
+ {
+
+ static const unsigned short string[] =
+ {
+ 110, 99, 108, 117, 100, 101
+ };
+ if(memcmp(&data[1], &string, sizeof(QChar) * 6) == 0)
+
+
+ return Include;
+
+ }
+
+ else if (data[0] == 112)
+
+
+ {
+
+ static const unsigned short string[] =
+ {
+ 97, 116, 116, 101, 114, 110
+ };
+ if(memcmp(&data[1], &string, sizeof(QChar) * 6) == 0)
+
+
+ return Pattern;
+
+ }
+
+ else if (data[0] == 114)
+
+
+ {
+
+ static const unsigned short string[] =
+ {
+ 101, 112, 108, 97, 99, 101
+ };
+ if(memcmp(&data[1], &string, sizeof(QChar) * 6) == 0)
+
+
+ return Replace;
+
+ }
+
+ else if (data[0] == 118)
+
+
+ {
+
+ static const unsigned short string[] =
+ {
+ 101, 114, 115, 105, 111, 110
+ };
+ if(memcmp(&data[1], &string, sizeof(QChar) * 6) == 0)
+
+
+ return Version;
+
+ }
+
+
+
+ return NoKeyword;
+ }
+ XsdSchemaToken::NodeName XsdSchemaToken::classifier8(const QChar *data)
+
+ {
+ if (data[0] == 97)
+
+
+ {
+
+ static const unsigned short string[] =
+ {
+ 98, 115, 116, 114, 97, 99, 116
+ };
+ if(memcmp(&data[1], &string, sizeof(QChar) * 7) == 0)
+
+
+ return Abstract;
+
+ }
+
+ else if (data[0] == 99)
+
+
+ {
+
+ static const unsigned short string[] =
+ {
+ 111, 108, 108, 97, 112, 115, 101
+ };
+ if(memcmp(&data[1], &string, sizeof(QChar) * 7) == 0)
+
+
+ return Collapse;
+
+ }
+
+ else if (data[0] == 105)
+
+
+ {
+
+ static const unsigned short string[] =
+ {
+ 116, 101, 109, 84, 121, 112, 101
+ };
+ if(memcmp(&data[1], &string, sizeof(QChar) * 7) == 0)
+
+
+ return ItemType;
+
+ }
+
+ else if (data[0] == 110)
+
+
+ {
+ if (data[1] == 105)
+
+
+ {
+
+ static const unsigned short string[] =
+ {
+ 108, 108, 97, 98, 108, 101
+ };
+ if(memcmp(&data[2], &string, sizeof(QChar) * 6) == 0)
+
+
+ return Nillable;
+
+ }
+
+ else if (data[1] == 111)
+
+
+ {
+ if (data[2] == 116)
+
+
+ {
+ if (data[3] == 97)
+
+
+ {
+
+ static const unsigned short string[] =
+ {
+ 116, 105, 111, 110
+ };
+ if(memcmp(&data[4], &string, sizeof(QChar) * 4) == 0)
+
+
+ return Notation;
+
+ }
+
+ else if (data[3] == 81)
+
+
+ {
+
+ static const unsigned short string[] =
+ {
+ 78, 97, 109, 101
+ };
+ if(memcmp(&data[4], &string, sizeof(QChar) * 4) == 0)
+
+
+ return NotQName;
+
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+
+ else if (data[0] == 111)
+
+
+ {
+
+ static const unsigned short string[] =
+ {
+ 118, 101, 114, 114, 105, 100, 101
+ };
+ if(memcmp(&data[1], &string, sizeof(QChar) * 7) == 0)
+
+
+ return Override;
+
+ }
+
+ else if (data[0] == 112)
+
+
+ {
+
+ static const unsigned short string[] =
+ {
+ 114, 101, 115, 101, 114, 118, 101
+ };
+ if(memcmp(&data[1], &string, sizeof(QChar) * 7) == 0)
+
+
+ return Preserve;
+
+ }
+
+ else if (data[0] == 114)
+
+
+ {
+
+ static const unsigned short string[] =
+ {
+ 101, 100, 101, 102, 105, 110, 101
+ };
+ if(memcmp(&data[1], &string, sizeof(QChar) * 7) == 0)
+
+
+ return Redefine;
+
+ }
+
+ else if (data[0] == 115)
+
+
+ {
+ if (data[1] == 101)
+
+
+ {
+ if (data[2] == 108)
+
+
+ {
+
+ static const unsigned short string[] =
+ {
+ 101, 99, 116, 111, 114
+ };
+ if(memcmp(&data[3], &string, sizeof(QChar) * 5) == 0)
+
+
+ return Selector;
+
+ }
+
+ else if (data[2] == 113)
+
+
+ {
+
+ static const unsigned short string[] =
+ {
+ 117, 101, 110, 99, 101
+ };
+ if(memcmp(&data[3], &string, sizeof(QChar) * 5) == 0)
+
+
+ return Sequence;
+
+ }
+
+
+ }
+
+
+ }
+
+ else if (data[0] == 120)
+
+
+ {
+
+ static const unsigned short string[] =
+ {
+ 109, 108, 58, 108, 97, 110, 103
+ };
+ if(memcmp(&data[1], &string, sizeof(QChar) * 7) == 0)
+
+
+ return XmlLanguage;
+
+ }
+
+
+
+ return NoKeyword;
+ }
+ XsdSchemaToken::NodeName XsdSchemaToken::classifier9(const QChar *data)
+
+ {
+ if (data[0] == 97)
+
+
+ {
+ if (data[1] == 115)
+
+
+ {
+
+ static const unsigned short string[] =
+ {
+ 115, 101, 114, 116, 105, 111, 110
+ };
+ if(memcmp(&data[2], &string, sizeof(QChar) * 7) == 0)
+
+
+ return Assertion;
+
+ }
+
+ else if (data[1] == 116)
+
+
+ {
+
+ static const unsigned short string[] =
+ {
+ 116, 114, 105, 98, 117, 116, 101
+ };
+ if(memcmp(&data[2], &string, sizeof(QChar) * 7) == 0)
+
+
+ return Attribute;
+
+ }
+
+
+ }
+
+ else if (data[0] == 101)
+
+
+ {
+
+ static const unsigned short string[] =
+ {
+ 120, 116, 101, 110, 115, 105, 111, 110
+ };
+ if(memcmp(&data[1], &string, sizeof(QChar) * 8) == 0)
+
+
+ return Extension;
+
+ }
+
+ else if (data[0] == 109)
+
+
+ {
+ if (data[1] == 97)
+
+
+ {
+ if (data[2] == 120)
+
+
+ {
+ if (data[3] == 76)
+
+
+ {
+
+ static const unsigned short string[] =
+ {
+ 101, 110, 103, 116, 104
+ };
+ if(memcmp(&data[4], &string, sizeof(QChar) * 5) == 0)
+
+
+ return MaxLength;
+
+ }
+
+ else if (data[3] == 79)
+
+
+ {
+
+ static const unsigned short string[] =
+ {
+ 99, 99, 117, 114, 115
+ };
+ if(memcmp(&data[4], &string, sizeof(QChar) * 5) == 0)
+
+
+ return MaxOccurs;
+
+ }
+
+
+ }
+
+
+ }
+
+ else if (data[1] == 105)
+
+
+ {
+ if (data[2] == 110)
+
+
+ {
+ if (data[3] == 76)
+
+
+ {
+
+ static const unsigned short string[] =
+ {
+ 101, 110, 103, 116, 104
+ };
+ if(memcmp(&data[4], &string, sizeof(QChar) * 5) == 0)
+
+
+ return MinLength;
+
+ }
+
+ else if (data[3] == 79)
+
+
+ {
+
+ static const unsigned short string[] =
+ {
+ 99, 99, 117, 114, 115
+ };
+ if(memcmp(&data[4], &string, sizeof(QChar) * 5) == 0)
+
+
+ return MinOccurs;
+
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+
+ else if (data[0] == 110)
+
+
+ {
+
+ static const unsigned short string[] =
+ {
+ 97, 109, 101, 115, 112, 97, 99, 101
+ };
+ if(memcmp(&data[1], &string, sizeof(QChar) * 8) == 0)
+
+
+ return Namespace;
+
+ }
+
+
+
+ return NoKeyword;
+ }
+ XsdSchemaToken::NodeName XsdSchemaToken::classifier10(const QChar *data)
+
+ {
+ if (data[0] == 97)
+
+
+ {
+
+ static const unsigned short string[] =
+ {
+ 110, 110, 111, 116, 97, 116, 105, 111, 110
+ };
+ if(memcmp(&data[1], &string, sizeof(QChar) * 9) == 0)
+
+
+ return Annotation;
+
+ }
+
+ else if (data[0] == 115)
+
+
+ {
+
+ static const unsigned short string[] =
+ {
+ 105, 109, 112, 108, 101, 84, 121, 112, 101
+ };
+ if(memcmp(&data[1], &string, sizeof(QChar) * 9) == 0)
+
+
+ return SimpleType;
+
+ }
+
+ else if (data[0] == 119)
+
+
+ {
+
+ static const unsigned short string[] =
+ {
+ 104, 105, 116, 101, 83, 112, 97, 99, 101
+ };
+ if(memcmp(&data[1], &string, sizeof(QChar) * 9) == 0)
+
+
+ return WhiteSpace;
+
+ }
+
+
+
+ return NoKeyword;
+ }
+ XsdSchemaToken::NodeName XsdSchemaToken::classifier11(const QChar *data)
+
+ {
+ if (data[0] == 97)
+
+
+ {
+
+ static const unsigned short string[] =
+ {
+ 108, 116, 101, 114, 110, 97, 116, 105, 118, 101
+ };
+ if(memcmp(&data[1], &string, sizeof(QChar) * 10) == 0)
+
+
+ return Alternative;
+
+ }
+
+ else if (data[0] == 99)
+
+
+ {
+
+ static const unsigned short string[] =
+ {
+ 111, 109, 112, 108, 101, 120, 84, 121, 112, 101
+ };
+ if(memcmp(&data[1], &string, sizeof(QChar) * 10) == 0)
+
+
+ return ComplexType;
+
+ }
+
+ else if (data[0] == 101)
+
+
+ {
+
+ static const unsigned short string[] =
+ {
+ 110, 117, 109, 101, 114, 97, 116, 105, 111, 110
+ };
+ if(memcmp(&data[1], &string, sizeof(QChar) * 10) == 0)
+
+
+ return Enumeration;
+
+ }
+
+ else if (data[0] == 109)
+
+
+ {
+
+ static const unsigned short string[] =
+ {
+ 101, 109, 98, 101, 114, 84, 121, 112, 101, 115
+ };
+ if(memcmp(&data[1], &string, sizeof(QChar) * 10) == 0)
+
+
+ return MemberTypes;
+
+ }
+
+ else if (data[0] == 111)
+
+
+ {
+
+ static const unsigned short string[] =
+ {
+ 112, 101, 110, 67, 111, 110, 116, 101, 110, 116
+ };
+ if(memcmp(&data[1], &string, sizeof(QChar) * 10) == 0)
+
+
+ return OpenContent;
+
+ }
+
+ else if (data[0] == 114)
+
+
+ {
+
+ static const unsigned short string[] =
+ {
+ 101, 115, 116, 114, 105, 99, 116, 105, 111, 110
+ };
+ if(memcmp(&data[1], &string, sizeof(QChar) * 10) == 0)
+
+
+ return Restriction;
+
+ }
+
+ else if (data[0] == 116)
+
+
+ {
+
+ static const unsigned short string[] =
+ {
+ 111, 116, 97, 108, 68, 105, 103, 105, 116, 115
+ };
+ if(memcmp(&data[1], &string, sizeof(QChar) * 10) == 0)
+
+
+ return TotalDigits;
+
+ }
+
+
+
+ return NoKeyword;
+ }
+ XsdSchemaToken::NodeName XsdSchemaToken::classifier12(const QChar *data)
+
+ {
+ if (data[0] == 97)
+
+
+ {
+
+ static const unsigned short string[] =
+ {
+ 110, 121, 65, 116, 116, 114, 105, 98, 117, 116, 101
+ };
+ if(memcmp(&data[1], &string, sizeof(QChar) * 11) == 0)
+
+
+ return AnyAttribute;
+
+ }
+
+ else if (data[0] == 98)
+
+
+ {
+
+ static const unsigned short string[] =
+ {
+ 108, 111, 99, 107, 68, 101, 102, 97, 117, 108, 116
+ };
+ if(memcmp(&data[1], &string, sizeof(QChar) * 11) == 0)
+
+
+ return BlockDefault;
+
+ }
+
+ else if (data[0] == 102)
+
+
+ {
+
+ static const unsigned short string[] =
+ {
+ 105, 110, 97, 108, 68, 101, 102, 97, 117, 108, 116
+ };
+ if(memcmp(&data[1], &string, sizeof(QChar) * 11) == 0)
+
+
+ return FinalDefault;
+
+ }
+
+ else if (data[0] == 109)
+
+
+ {
+ if (data[1] == 97)
+
+
+ {
+ if (data[2] == 120)
+
+
+ {
+ if (data[3] == 69)
+
+
+ {
+
+ static const unsigned short string[] =
+ {
+ 120, 99, 108, 117, 115, 105, 118, 101
+ };
+ if(memcmp(&data[4], &string, sizeof(QChar) * 8) == 0)
+
+
+ return MaxExclusive;
+
+ }
+
+ else if (data[3] == 73)
+
+
+ {
+
+ static const unsigned short string[] =
+ {
+ 110, 99, 108, 117, 115, 105, 118, 101
+ };
+ if(memcmp(&data[4], &string, sizeof(QChar) * 8) == 0)
+
+
+ return MaxInclusive;
+
+ }
+
+
+ }
+
+
+ }
+
+ else if (data[1] == 105)
+
+
+ {
+ if (data[2] == 110)
+
+
+ {
+ if (data[3] == 69)
+
+
+ {
+
+ static const unsigned short string[] =
+ {
+ 120, 99, 108, 117, 115, 105, 118, 101
+ };
+ if(memcmp(&data[4], &string, sizeof(QChar) * 8) == 0)
+
+
+ return MinExclusive;
+
+ }
+
+ else if (data[3] == 73)
+
+
+ {
+
+ static const unsigned short string[] =
+ {
+ 110, 99, 108, 117, 115, 105, 118, 101
+ };
+ if(memcmp(&data[4], &string, sizeof(QChar) * 8) == 0)
+
+
+ return MinInclusive;
+
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+
+ else if (data[0] == 110)
+
+
+ {
+
+ static const unsigned short string[] =
+ {
+ 111, 116, 78, 97, 109, 101, 115, 112, 97, 99, 101
+ };
+ if(memcmp(&data[1], &string, sizeof(QChar) * 11) == 0)
+
+
+ return NotNamespace;
+
+ }
+
+
+
+ return NoKeyword;
+ }
+ XsdSchemaToken::NodeName XsdSchemaToken::classifier13(const QChar *data)
+
+ {
+ if (data[0] == 100)
+
+
+ {
+
+ static const unsigned short string[] =
+ {
+ 111, 99, 117, 109, 101, 110, 116, 97, 116, 105, 111, 110
+ };
+ if(memcmp(&data[1], &string, sizeof(QChar) * 12) == 0)
+
+
+ return Documentation;
+
+ }
+
+ else if (data[0] == 115)
+
+
+ {
+
+ static const unsigned short string[] =
+ {
+ 105, 109, 112, 108, 101, 67, 111, 110, 116, 101, 110, 116
+ };
+ if(memcmp(&data[1], &string, sizeof(QChar) * 12) == 0)
+
+
+ return SimpleContent;
+
+ }
+
+
+
+ return NoKeyword;
+ }
+ XsdSchemaToken::NodeName XsdSchemaToken::classifier14(const QChar *data)
+
+ {
+ if (data[0] == 97)
+
+
+ {
+ if (data[1] == 112)
+
+
+ {
+
+ static const unsigned short string[] =
+ {
+ 112, 108, 105, 101, 115, 84, 111, 69, 109, 112, 116, 121
+ };
+ if(memcmp(&data[2], &string, sizeof(QChar) * 12) == 0)
+
+
+ return AppliesToEmpty;
+
+ }
+
+ else if (data[1] == 116)
+
+
+ {
+
+ static const unsigned short string[] =
+ {
+ 116, 114, 105, 98, 117, 116, 101, 71, 114, 111, 117, 112
+ };
+ if(memcmp(&data[2], &string, sizeof(QChar) * 12) == 0)
+
+
+ return AttributeGroup;
+
+ }
+
+
+ }
+
+ else if (data[0] == 99)
+
+
+ {
+
+ static const unsigned short string[] =
+ {
+ 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116
+ };
+ if(memcmp(&data[1], &string, sizeof(QChar) * 13) == 0)
+
+
+ return ComplexContent;
+
+ }
+
+ else if (data[0] == 102)
+
+
+ {
+
+ static const unsigned short string[] =
+ {
+ 114, 97, 99, 116, 105, 111, 110, 68, 105, 103, 105, 116, 115
+ };
+ if(memcmp(&data[1], &string, sizeof(QChar) * 13) == 0)
+
+
+ return FractionDigits;
+
+ }
+
+ else if (data[0] == 115)
+
+
+ {
+
+ static const unsigned short string[] =
+ {
+ 99, 104, 101, 109, 97, 76, 111, 99, 97, 116, 105, 111, 110
+ };
+ if(memcmp(&data[1], &string, sizeof(QChar) * 13) == 0)
+
+
+ return SchemaLocation;
+
+ }
+
+
+
+ return NoKeyword;
+ }
+ XsdSchemaToken::NodeName XsdSchemaToken::classifier15(const QChar *data)
+
+ {
+ if (data[0] == 112)
+
+
+ {
+
+ static const unsigned short string[] =
+ {
+ 114, 111, 99, 101, 115, 115, 67, 111, 110, 116, 101, 110, 116, 115
+ };
+ if(memcmp(&data[1], &string, sizeof(QChar) * 14) == 0)
+
+
+ return ProcessContents;
+
+ }
+
+ else if (data[0] == 116)
+
+
+ {
+
+ static const unsigned short string[] =
+ {
+ 97, 114, 103, 101, 116, 78, 97, 109, 101, 115, 112, 97, 99, 101
+ };
+ if(memcmp(&data[1], &string, sizeof(QChar) * 14) == 0)
+
+
+ return TargetNamespace;
+
+ }
+
+
+
+ return NoKeyword;
+ }
+ XsdSchemaToken::NodeName XsdSchemaToken::classifier17(const QChar *data)
+
+ {
+ if (data[0] == 100)
+
+
+ {
+
+ static const unsigned short string[] =
+ {
+ 101, 102, 97, 117, 108, 116, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115
+ };
+ if(memcmp(&data[1], &string, sizeof(QChar) * 16) == 0)
+
+
+ return DefaultAttributes;
+
+ }
+
+ else if (data[0] == 115)
+
+
+ {
+
+ static const unsigned short string[] =
+ {
+ 117, 98, 115, 116, 105, 116, 117, 116, 105, 111, 110, 71, 114, 111, 117, 112
+ };
+ if(memcmp(&data[1], &string, sizeof(QChar) * 16) == 0)
+
+
+ return SubstitutionGroup;
+
+ }
+
+
+
+ return NoKeyword;
+ }
+ XsdSchemaToken::NodeName XsdSchemaToken::classifier18(const QChar *data)
+
+ {
+ if (data[0] == 100)
+
+
+ {
+
+ static const unsigned short string[] =
+ {
+ 101, 102, 97, 117, 108, 116, 79, 112, 101, 110, 67, 111, 110, 116, 101, 110, 116
+ };
+ if(memcmp(&data[1], &string, sizeof(QChar) * 17) == 0)
+
+
+ return DefaultOpenContent;
+
+ }
+
+ else if (data[0] == 101)
+
+
+ {
+
+ static const unsigned short string[] =
+ {
+ 108, 101, 109, 101, 110, 116, 70, 111, 114, 109, 68, 101, 102, 97, 117, 108, 116
+ };
+ if(memcmp(&data[1], &string, sizeof(QChar) * 17) == 0)
+
+
+ return ElementFormDefault;
+
+ }
+
+
+
+ return NoKeyword;
+ }
+ XsdSchemaToken::NodeName XsdSchemaToken::classifier20(const QChar *data)
+
+ {
+
+ static const unsigned short string[] =
+ {
+ 97, 116, 116, 114, 105, 98, 117, 116, 101, 70, 111, 114, 109, 68, 101, 102, 97, 117, 108, 116
+ };
+ if(memcmp(&data[0], &string, sizeof(QChar) * 20) == 0)
+
+
+ return AttributeFormDefault;
+
+
+ return NoKeyword;
+ }
+ XsdSchemaToken::NodeName XsdSchemaToken::classifier21(const QChar *data)
+
+ {
+
+ static const unsigned short string[] =
+ {
+ 120, 112, 97, 116, 104, 68, 101, 102, 97, 117, 108, 116, 78, 97, 109, 101, 115, 112, 97, 99, 101
+ };
+ if(memcmp(&data[0], &string, sizeof(QChar) * 21) == 0)
+
+
+ return XPathDefaultNamespace;
+
+
+ return NoKeyword;
+ }
+ XsdSchemaToken::NodeName XsdSchemaToken::classifier22(const QChar *data)
+
+ {
+
+ static const unsigned short string[] =
+ {
+ 100, 101, 102, 97, 117, 108, 116, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 65, 112, 112, 108, 121
+ };
+ if(memcmp(&data[0], &string, sizeof(QChar) * 22) == 0)
+
+
+ return DefaultAttributesApply;
+
+
+ return NoKeyword;
+ }
+ XsdSchemaToken::NodeName XsdSchemaToken::classifier32(const QChar *data)
+
+ {
+
+ static const unsigned short string[] =
+ {
+ 104, 116, 116, 112, 58, 47, 47, 119, 119, 119, 46, 119, 51, 46, 111, 114, 103, 47, 50, 48, 48, 49, 47, 88, 77, 76, 83, 99, 104, 101, 109, 97
+ };
+ if(memcmp(&data[0], &string, sizeof(QChar) * 32) == 0)
+
+
+ return XML_NS_SCHEMA_URI;
+
+
+ return NoKeyword;
+ }
+ XsdSchemaToken::NodeName XsdSchemaToken::toToken(const QChar *data, int length)
+ {
+ switch(length)
+ {
+
+ case 2:
+ return classifier2(data);
+
+
+ case 3:
+ return classifier3(data);
+
+
+ case 4:
+ return classifier4(data);
+
+
+ case 5:
+ return classifier5(data);
+
+
+ case 6:
+ return classifier6(data);
+
+
+ case 7:
+ return classifier7(data);
+
+
+ case 8:
+ return classifier8(data);
+
+
+ case 9:
+ return classifier9(data);
+
+
+ case 10:
+ return classifier10(data);
+
+
+ case 11:
+ return classifier11(data);
+
+
+ case 12:
+ return classifier12(data);
+
+
+ case 13:
+ return classifier13(data);
+
+
+ case 14:
+ return classifier14(data);
+
+
+ case 15:
+ return classifier15(data);
+
+
+ case 17:
+ return classifier17(data);
+
+
+ case 18:
+ return classifier18(data);
+
+
+ case 20:
+ return classifier20(data);
+
+
+ case 21:
+ return classifier21(data);
+
+
+ case 22:
+ return classifier22(data);
+
+
+ case 32:
+ return classifier32(data);
+
+
+ default:
+ return NoKeyword;
+ }
+ }
+
+
+ QString XsdSchemaToken::toString(NodeName token)
+ {
+ const unsigned short *data = 0;
+ int length = 0;
+
+ switch(token)
+ {
+
+ case Abstract:
+ {
+ static const unsigned short staticallyStoredAbstract[] =
+ {
+ 97, 98, 115, 116, 114, 97, 99, 116, 0
+ };
+ data = staticallyStoredAbstract;
+ length = 8;
+ break;
+ }
+
+ case All:
+ {
+ static const unsigned short staticallyStoredAll[] =
+ {
+ 97, 108, 108, 0
+ };
+ data = staticallyStoredAll;
+ length = 3;
+ break;
+ }
+
+ case Alternative:
+ {
+ static const unsigned short staticallyStoredAlternative[] =
+ {
+ 97, 108, 116, 101, 114, 110, 97, 116, 105, 118, 101, 0
+ };
+ data = staticallyStoredAlternative;
+ length = 11;
+ break;
+ }
+
+ case Annotation:
+ {
+ static const unsigned short staticallyStoredAnnotation[] =
+ {
+ 97, 110, 110, 111, 116, 97, 116, 105, 111, 110, 0
+ };
+ data = staticallyStoredAnnotation;
+ length = 10;
+ break;
+ }
+
+ case Any:
+ {
+ static const unsigned short staticallyStoredAny[] =
+ {
+ 97, 110, 121, 0
+ };
+ data = staticallyStoredAny;
+ length = 3;
+ break;
+ }
+
+ case AnyAttribute:
+ {
+ static const unsigned short staticallyStoredAnyAttribute[] =
+ {
+ 97, 110, 121, 65, 116, 116, 114, 105, 98, 117, 116, 101, 0
+ };
+ data = staticallyStoredAnyAttribute;
+ length = 12;
+ break;
+ }
+
+ case Appinfo:
+ {
+ static const unsigned short staticallyStoredAppinfo[] =
+ {
+ 97, 112, 112, 105, 110, 102, 111, 0
+ };
+ data = staticallyStoredAppinfo;
+ length = 7;
+ break;
+ }
+
+ case AppliesToEmpty:
+ {
+ static const unsigned short staticallyStoredAppliesToEmpty[] =
+ {
+ 97, 112, 112, 108, 105, 101, 115, 84, 111, 69, 109, 112, 116, 121, 0
+ };
+ data = staticallyStoredAppliesToEmpty;
+ length = 14;
+ break;
+ }
+
+ case Assert:
+ {
+ static const unsigned short staticallyStoredAssert[] =
+ {
+ 97, 115, 115, 101, 114, 116, 0
+ };
+ data = staticallyStoredAssert;
+ length = 6;
+ break;
+ }
+
+ case Assertion:
+ {
+ static const unsigned short staticallyStoredAssertion[] =
+ {
+ 97, 115, 115, 101, 114, 116, 105, 111, 110, 0
+ };
+ data = staticallyStoredAssertion;
+ length = 9;
+ break;
+ }
+
+ case Attribute:
+ {
+ static const unsigned short staticallyStoredAttribute[] =
+ {
+ 97, 116, 116, 114, 105, 98, 117, 116, 101, 0
+ };
+ data = staticallyStoredAttribute;
+ length = 9;
+ break;
+ }
+
+ case AttributeFormDefault:
+ {
+ static const unsigned short staticallyStoredAttributeFormDefault[] =
+ {
+ 97, 116, 116, 114, 105, 98, 117, 116, 101, 70, 111, 114, 109, 68, 101, 102, 97, 117, 108, 116, 0
+ };
+ data = staticallyStoredAttributeFormDefault;
+ length = 20;
+ break;
+ }
+
+ case AttributeGroup:
+ {
+ static const unsigned short staticallyStoredAttributeGroup[] =
+ {
+ 97, 116, 116, 114, 105, 98, 117, 116, 101, 71, 114, 111, 117, 112, 0
+ };
+ data = staticallyStoredAttributeGroup;
+ length = 14;
+ break;
+ }
+
+ case Base:
+ {
+ static const unsigned short staticallyStoredBase[] =
+ {
+ 98, 97, 115, 101, 0
+ };
+ data = staticallyStoredBase;
+ length = 4;
+ break;
+ }
+
+ case Block:
+ {
+ static const unsigned short staticallyStoredBlock[] =
+ {
+ 98, 108, 111, 99, 107, 0
+ };
+ data = staticallyStoredBlock;
+ length = 5;
+ break;
+ }
+
+ case BlockDefault:
+ {
+ static const unsigned short staticallyStoredBlockDefault[] =
+ {
+ 98, 108, 111, 99, 107, 68, 101, 102, 97, 117, 108, 116, 0
+ };
+ data = staticallyStoredBlockDefault;
+ length = 12;
+ break;
+ }
+
+ case Choice:
+ {
+ static const unsigned short staticallyStoredChoice[] =
+ {
+ 99, 104, 111, 105, 99, 101, 0
+ };
+ data = staticallyStoredChoice;
+ length = 6;
+ break;
+ }
+
+ case Collapse:
+ {
+ static const unsigned short staticallyStoredCollapse[] =
+ {
+ 99, 111, 108, 108, 97, 112, 115, 101, 0
+ };
+ data = staticallyStoredCollapse;
+ length = 8;
+ break;
+ }
+
+ case ComplexContent:
+ {
+ static const unsigned short staticallyStoredComplexContent[] =
+ {
+ 99, 111, 109, 112, 108, 101, 120, 67, 111, 110, 116, 101, 110, 116, 0
+ };
+ data = staticallyStoredComplexContent;
+ length = 14;
+ break;
+ }
+
+ case ComplexType:
+ {
+ static const unsigned short staticallyStoredComplexType[] =
+ {
+ 99, 111, 109, 112, 108, 101, 120, 84, 121, 112, 101, 0
+ };
+ data = staticallyStoredComplexType;
+ length = 11;
+ break;
+ }
+
+ case Default:
+ {
+ static const unsigned short staticallyStoredDefault[] =
+ {
+ 100, 101, 102, 97, 117, 108, 116, 0
+ };
+ data = staticallyStoredDefault;
+ length = 7;
+ break;
+ }
+
+ case DefaultAttributes:
+ {
+ static const unsigned short staticallyStoredDefaultAttributes[] =
+ {
+ 100, 101, 102, 97, 117, 108, 116, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 0
+ };
+ data = staticallyStoredDefaultAttributes;
+ length = 17;
+ break;
+ }
+
+ case DefaultAttributesApply:
+ {
+ static const unsigned short staticallyStoredDefaultAttributesApply[] =
+ {
+ 100, 101, 102, 97, 117, 108, 116, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 65, 112, 112, 108, 121, 0
+ };
+ data = staticallyStoredDefaultAttributesApply;
+ length = 22;
+ break;
+ }
+
+ case DefaultOpenContent:
+ {
+ static const unsigned short staticallyStoredDefaultOpenContent[] =
+ {
+ 100, 101, 102, 97, 117, 108, 116, 79, 112, 101, 110, 67, 111, 110, 116, 101, 110, 116, 0
+ };
+ data = staticallyStoredDefaultOpenContent;
+ length = 18;
+ break;
+ }
+
+ case Documentation:
+ {
+ static const unsigned short staticallyStoredDocumentation[] =
+ {
+ 100, 111, 99, 117, 109, 101, 110, 116, 97, 116, 105, 111, 110, 0
+ };
+ data = staticallyStoredDocumentation;
+ length = 13;
+ break;
+ }
+
+ case Element:
+ {
+ static const unsigned short staticallyStoredElement[] =
+ {
+ 101, 108, 101, 109, 101, 110, 116, 0
+ };
+ data = staticallyStoredElement;
+ length = 7;
+ break;
+ }
+
+ case ElementFormDefault:
+ {
+ static const unsigned short staticallyStoredElementFormDefault[] =
+ {
+ 101, 108, 101, 109, 101, 110, 116, 70, 111, 114, 109, 68, 101, 102, 97, 117, 108, 116, 0
+ };
+ data = staticallyStoredElementFormDefault;
+ length = 18;
+ break;
+ }
+
+ case Enumeration:
+ {
+ static const unsigned short staticallyStoredEnumeration[] =
+ {
+ 101, 110, 117, 109, 101, 114, 97, 116, 105, 111, 110, 0
+ };
+ data = staticallyStoredEnumeration;
+ length = 11;
+ break;
+ }
+
+ case Extension:
+ {
+ static const unsigned short staticallyStoredExtension[] =
+ {
+ 101, 120, 116, 101, 110, 115, 105, 111, 110, 0
+ };
+ data = staticallyStoredExtension;
+ length = 9;
+ break;
+ }
+
+ case Field:
+ {
+ static const unsigned short staticallyStoredField[] =
+ {
+ 102, 105, 101, 108, 100, 0
+ };
+ data = staticallyStoredField;
+ length = 5;
+ break;
+ }
+
+ case Final:
+ {
+ static const unsigned short staticallyStoredFinal[] =
+ {
+ 102, 105, 110, 97, 108, 0
+ };
+ data = staticallyStoredFinal;
+ length = 5;
+ break;
+ }
+
+ case FinalDefault:
+ {
+ static const unsigned short staticallyStoredFinalDefault[] =
+ {
+ 102, 105, 110, 97, 108, 68, 101, 102, 97, 117, 108, 116, 0
+ };
+ data = staticallyStoredFinalDefault;
+ length = 12;
+ break;
+ }
+
+ case Fixed:
+ {
+ static const unsigned short staticallyStoredFixed[] =
+ {
+ 102, 105, 120, 101, 100, 0
+ };
+ data = staticallyStoredFixed;
+ length = 5;
+ break;
+ }
+
+ case Form:
+ {
+ static const unsigned short staticallyStoredForm[] =
+ {
+ 102, 111, 114, 109, 0
+ };
+ data = staticallyStoredForm;
+ length = 4;
+ break;
+ }
+
+ case FractionDigits:
+ {
+ static const unsigned short staticallyStoredFractionDigits[] =
+ {
+ 102, 114, 97, 99, 116, 105, 111, 110, 68, 105, 103, 105, 116, 115, 0
+ };
+ data = staticallyStoredFractionDigits;
+ length = 14;
+ break;
+ }
+
+ case Group:
+ {
+ static const unsigned short staticallyStoredGroup[] =
+ {
+ 103, 114, 111, 117, 112, 0
+ };
+ data = staticallyStoredGroup;
+ length = 5;
+ break;
+ }
+
+ case Id:
+ {
+ static const unsigned short staticallyStoredId[] =
+ {
+ 105, 100, 0
+ };
+ data = staticallyStoredId;
+ length = 2;
+ break;
+ }
+
+ case Import:
+ {
+ static const unsigned short staticallyStoredImport[] =
+ {
+ 105, 109, 112, 111, 114, 116, 0
+ };
+ data = staticallyStoredImport;
+ length = 6;
+ break;
+ }
+
+ case Include:
+ {
+ static const unsigned short staticallyStoredInclude[] =
+ {
+ 105, 110, 99, 108, 117, 100, 101, 0
+ };
+ data = staticallyStoredInclude;
+ length = 7;
+ break;
+ }
+
+ case ItemType:
+ {
+ static const unsigned short staticallyStoredItemType[] =
+ {
+ 105, 116, 101, 109, 84, 121, 112, 101, 0
+ };
+ data = staticallyStoredItemType;
+ length = 8;
+ break;
+ }
+
+ case Key:
+ {
+ static const unsigned short staticallyStoredKey[] =
+ {
+ 107, 101, 121, 0
+ };
+ data = staticallyStoredKey;
+ length = 3;
+ break;
+ }
+
+ case Keyref:
+ {
+ static const unsigned short staticallyStoredKeyref[] =
+ {
+ 107, 101, 121, 114, 101, 102, 0
+ };
+ data = staticallyStoredKeyref;
+ length = 6;
+ break;
+ }
+
+ case Length:
+ {
+ static const unsigned short staticallyStoredLength[] =
+ {
+ 108, 101, 110, 103, 116, 104, 0
+ };
+ data = staticallyStoredLength;
+ length = 6;
+ break;
+ }
+
+ case List:
+ {
+ static const unsigned short staticallyStoredList[] =
+ {
+ 108, 105, 115, 116, 0
+ };
+ data = staticallyStoredList;
+ length = 4;
+ break;
+ }
+
+ case MaxExclusive:
+ {
+ static const unsigned short staticallyStoredMaxExclusive[] =
+ {
+ 109, 97, 120, 69, 120, 99, 108, 117, 115, 105, 118, 101, 0
+ };
+ data = staticallyStoredMaxExclusive;
+ length = 12;
+ break;
+ }
+
+ case MaxInclusive:
+ {
+ static const unsigned short staticallyStoredMaxInclusive[] =
+ {
+ 109, 97, 120, 73, 110, 99, 108, 117, 115, 105, 118, 101, 0
+ };
+ data = staticallyStoredMaxInclusive;
+ length = 12;
+ break;
+ }
+
+ case MaxLength:
+ {
+ static const unsigned short staticallyStoredMaxLength[] =
+ {
+ 109, 97, 120, 76, 101, 110, 103, 116, 104, 0
+ };
+ data = staticallyStoredMaxLength;
+ length = 9;
+ break;
+ }
+
+ case MaxOccurs:
+ {
+ static const unsigned short staticallyStoredMaxOccurs[] =
+ {
+ 109, 97, 120, 79, 99, 99, 117, 114, 115, 0
+ };
+ data = staticallyStoredMaxOccurs;
+ length = 9;
+ break;
+ }
+
+ case MemberTypes:
+ {
+ static const unsigned short staticallyStoredMemberTypes[] =
+ {
+ 109, 101, 109, 98, 101, 114, 84, 121, 112, 101, 115, 0
+ };
+ data = staticallyStoredMemberTypes;
+ length = 11;
+ break;
+ }
+
+ case MinExclusive:
+ {
+ static const unsigned short staticallyStoredMinExclusive[] =
+ {
+ 109, 105, 110, 69, 120, 99, 108, 117, 115, 105, 118, 101, 0
+ };
+ data = staticallyStoredMinExclusive;
+ length = 12;
+ break;
+ }
+
+ case MinInclusive:
+ {
+ static const unsigned short staticallyStoredMinInclusive[] =
+ {
+ 109, 105, 110, 73, 110, 99, 108, 117, 115, 105, 118, 101, 0
+ };
+ data = staticallyStoredMinInclusive;
+ length = 12;
+ break;
+ }
+
+ case MinLength:
+ {
+ static const unsigned short staticallyStoredMinLength[] =
+ {
+ 109, 105, 110, 76, 101, 110, 103, 116, 104, 0
+ };
+ data = staticallyStoredMinLength;
+ length = 9;
+ break;
+ }
+
+ case MinOccurs:
+ {
+ static const unsigned short staticallyStoredMinOccurs[] =
+ {
+ 109, 105, 110, 79, 99, 99, 117, 114, 115, 0
+ };
+ data = staticallyStoredMinOccurs;
+ length = 9;
+ break;
+ }
+
+ case Mixed:
+ {
+ static const unsigned short staticallyStoredMixed[] =
+ {
+ 109, 105, 120, 101, 100, 0
+ };
+ data = staticallyStoredMixed;
+ length = 5;
+ break;
+ }
+
+ case Mode:
+ {
+ static const unsigned short staticallyStoredMode[] =
+ {
+ 109, 111, 100, 101, 0
+ };
+ data = staticallyStoredMode;
+ length = 4;
+ break;
+ }
+
+ case Name:
+ {
+ static const unsigned short staticallyStoredName[] =
+ {
+ 110, 97, 109, 101, 0
+ };
+ data = staticallyStoredName;
+ length = 4;
+ break;
+ }
+
+ case Namespace:
+ {
+ static const unsigned short staticallyStoredNamespace[] =
+ {
+ 110, 97, 109, 101, 115, 112, 97, 99, 101, 0
+ };
+ data = staticallyStoredNamespace;
+ length = 9;
+ break;
+ }
+
+ case Nillable:
+ {
+ static const unsigned short staticallyStoredNillable[] =
+ {
+ 110, 105, 108, 108, 97, 98, 108, 101, 0
+ };
+ data = staticallyStoredNillable;
+ length = 8;
+ break;
+ }
+
+ case NotNamespace:
+ {
+ static const unsigned short staticallyStoredNotNamespace[] =
+ {
+ 110, 111, 116, 78, 97, 109, 101, 115, 112, 97, 99, 101, 0
+ };
+ data = staticallyStoredNotNamespace;
+ length = 12;
+ break;
+ }
+
+ case NotQName:
+ {
+ static const unsigned short staticallyStoredNotQName[] =
+ {
+ 110, 111, 116, 81, 78, 97, 109, 101, 0
+ };
+ data = staticallyStoredNotQName;
+ length = 8;
+ break;
+ }
+
+ case Notation:
+ {
+ static const unsigned short staticallyStoredNotation[] =
+ {
+ 110, 111, 116, 97, 116, 105, 111, 110, 0
+ };
+ data = staticallyStoredNotation;
+ length = 8;
+ break;
+ }
+
+ case OpenContent:
+ {
+ static const unsigned short staticallyStoredOpenContent[] =
+ {
+ 111, 112, 101, 110, 67, 111, 110, 116, 101, 110, 116, 0
+ };
+ data = staticallyStoredOpenContent;
+ length = 11;
+ break;
+ }
+
+ case Override:
+ {
+ static const unsigned short staticallyStoredOverride[] =
+ {
+ 111, 118, 101, 114, 114, 105, 100, 101, 0
+ };
+ data = staticallyStoredOverride;
+ length = 8;
+ break;
+ }
+
+ case Pattern:
+ {
+ static const unsigned short staticallyStoredPattern[] =
+ {
+ 112, 97, 116, 116, 101, 114, 110, 0
+ };
+ data = staticallyStoredPattern;
+ length = 7;
+ break;
+ }
+
+ case Preserve:
+ {
+ static const unsigned short staticallyStoredPreserve[] =
+ {
+ 112, 114, 101, 115, 101, 114, 118, 101, 0
+ };
+ data = staticallyStoredPreserve;
+ length = 8;
+ break;
+ }
+
+ case ProcessContents:
+ {
+ static const unsigned short staticallyStoredProcessContents[] =
+ {
+ 112, 114, 111, 99, 101, 115, 115, 67, 111, 110, 116, 101, 110, 116, 115, 0
+ };
+ data = staticallyStoredProcessContents;
+ length = 15;
+ break;
+ }
+
+ case Public:
+ {
+ static const unsigned short staticallyStoredPublic[] =
+ {
+ 112, 117, 98, 108, 105, 99, 0
+ };
+ data = staticallyStoredPublic;
+ length = 6;
+ break;
+ }
+
+ case Redefine:
+ {
+ static const unsigned short staticallyStoredRedefine[] =
+ {
+ 114, 101, 100, 101, 102, 105, 110, 101, 0
+ };
+ data = staticallyStoredRedefine;
+ length = 8;
+ break;
+ }
+
+ case Ref:
+ {
+ static const unsigned short staticallyStoredRef[] =
+ {
+ 114, 101, 102, 0
+ };
+ data = staticallyStoredRef;
+ length = 3;
+ break;
+ }
+
+ case Refer:
+ {
+ static const unsigned short staticallyStoredRefer[] =
+ {
+ 114, 101, 102, 101, 114, 0
+ };
+ data = staticallyStoredRefer;
+ length = 5;
+ break;
+ }
+
+ case Replace:
+ {
+ static const unsigned short staticallyStoredReplace[] =
+ {
+ 114, 101, 112, 108, 97, 99, 101, 0
+ };
+ data = staticallyStoredReplace;
+ length = 7;
+ break;
+ }
+
+ case Restriction:
+ {
+ static const unsigned short staticallyStoredRestriction[] =
+ {
+ 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 0
+ };
+ data = staticallyStoredRestriction;
+ length = 11;
+ break;
+ }
+
+ case Schema:
+ {
+ static const unsigned short staticallyStoredSchema[] =
+ {
+ 115, 99, 104, 101, 109, 97, 0
+ };
+ data = staticallyStoredSchema;
+ length = 6;
+ break;
+ }
+
+ case SchemaLocation:
+ {
+ static const unsigned short staticallyStoredSchemaLocation[] =
+ {
+ 115, 99, 104, 101, 109, 97, 76, 111, 99, 97, 116, 105, 111, 110, 0
+ };
+ data = staticallyStoredSchemaLocation;
+ length = 14;
+ break;
+ }
+
+ case Selector:
+ {
+ static const unsigned short staticallyStoredSelector[] =
+ {
+ 115, 101, 108, 101, 99, 116, 111, 114, 0
+ };
+ data = staticallyStoredSelector;
+ length = 8;
+ break;
+ }
+
+ case Sequence:
+ {
+ static const unsigned short staticallyStoredSequence[] =
+ {
+ 115, 101, 113, 117, 101, 110, 99, 101, 0
+ };
+ data = staticallyStoredSequence;
+ length = 8;
+ break;
+ }
+
+ case SimpleContent:
+ {
+ static const unsigned short staticallyStoredSimpleContent[] =
+ {
+ 115, 105, 109, 112, 108, 101, 67, 111, 110, 116, 101, 110, 116, 0
+ };
+ data = staticallyStoredSimpleContent;
+ length = 13;
+ break;
+ }
+
+ case SimpleType:
+ {
+ static const unsigned short staticallyStoredSimpleType[] =
+ {
+ 115, 105, 109, 112, 108, 101, 84, 121, 112, 101, 0
+ };
+ data = staticallyStoredSimpleType;
+ length = 10;
+ break;
+ }
+
+ case Source:
+ {
+ static const unsigned short staticallyStoredSource[] =
+ {
+ 115, 111, 117, 114, 99, 101, 0
+ };
+ data = staticallyStoredSource;
+ length = 6;
+ break;
+ }
+
+ case SubstitutionGroup:
+ {
+ static const unsigned short staticallyStoredSubstitutionGroup[] =
+ {
+ 115, 117, 98, 115, 116, 105, 116, 117, 116, 105, 111, 110, 71, 114, 111, 117, 112, 0
+ };
+ data = staticallyStoredSubstitutionGroup;
+ length = 17;
+ break;
+ }
+
+ case System:
+ {
+ static const unsigned short staticallyStoredSystem[] =
+ {
+ 115, 121, 115, 116, 101, 109, 0
+ };
+ data = staticallyStoredSystem;
+ length = 6;
+ break;
+ }
+
+ case TargetNamespace:
+ {
+ static const unsigned short staticallyStoredTargetNamespace[] =
+ {
+ 116, 97, 114, 103, 101, 116, 78, 97, 109, 101, 115, 112, 97, 99, 101, 0
+ };
+ data = staticallyStoredTargetNamespace;
+ length = 15;
+ break;
+ }
+
+ case Test:
+ {
+ static const unsigned short staticallyStoredTest[] =
+ {
+ 116, 101, 115, 116, 0
+ };
+ data = staticallyStoredTest;
+ length = 4;
+ break;
+ }
+
+ case TotalDigits:
+ {
+ static const unsigned short staticallyStoredTotalDigits[] =
+ {
+ 116, 111, 116, 97, 108, 68, 105, 103, 105, 116, 115, 0
+ };
+ data = staticallyStoredTotalDigits;
+ length = 11;
+ break;
+ }
+
+ case Type:
+ {
+ static const unsigned short staticallyStoredType[] =
+ {
+ 116, 121, 112, 101, 0
+ };
+ data = staticallyStoredType;
+ length = 4;
+ break;
+ }
+
+ case Union:
+ {
+ static const unsigned short staticallyStoredUnion[] =
+ {
+ 117, 110, 105, 111, 110, 0
+ };
+ data = staticallyStoredUnion;
+ length = 5;
+ break;
+ }
+
+ case Unique:
+ {
+ static const unsigned short staticallyStoredUnique[] =
+ {
+ 117, 110, 105, 113, 117, 101, 0
+ };
+ data = staticallyStoredUnique;
+ length = 6;
+ break;
+ }
+
+ case Use:
+ {
+ static const unsigned short staticallyStoredUse[] =
+ {
+ 117, 115, 101, 0
+ };
+ data = staticallyStoredUse;
+ length = 3;
+ break;
+ }
+
+ case Value:
+ {
+ static const unsigned short staticallyStoredValue[] =
+ {
+ 118, 97, 108, 117, 101, 0
+ };
+ data = staticallyStoredValue;
+ length = 5;
+ break;
+ }
+
+ case Version:
+ {
+ static const unsigned short staticallyStoredVersion[] =
+ {
+ 118, 101, 114, 115, 105, 111, 110, 0
+ };
+ data = staticallyStoredVersion;
+ length = 7;
+ break;
+ }
+
+ case WhiteSpace:
+ {
+ static const unsigned short staticallyStoredWhiteSpace[] =
+ {
+ 119, 104, 105, 116, 101, 83, 112, 97, 99, 101, 0
+ };
+ data = staticallyStoredWhiteSpace;
+ length = 10;
+ break;
+ }
+
+ case XML_NS_SCHEMA_URI:
+ {
+ static const unsigned short staticallyStoredXML_NS_SCHEMA_URI[] =
+ {
+ 104, 116, 116, 112, 58, 47, 47, 119, 119, 119, 46, 119, 51, 46, 111, 114, 103, 47, 50, 48, 48, 49, 47, 88, 77, 76, 83, 99, 104, 101, 109, 97, 0
+ };
+ data = staticallyStoredXML_NS_SCHEMA_URI;
+ length = 32;
+ break;
+ }
+
+ case XPathDefaultNamespace:
+ {
+ static const unsigned short staticallyStoredXPathDefaultNamespace[] =
+ {
+ 120, 112, 97, 116, 104, 68, 101, 102, 97, 117, 108, 116, 78, 97, 109, 101, 115, 112, 97, 99, 101, 0
+ };
+ data = staticallyStoredXPathDefaultNamespace;
+ length = 21;
+ break;
+ }
+
+ case XmlLanguage:
+ {
+ static const unsigned short staticallyStoredXmlLanguage[] =
+ {
+ 120, 109, 108, 58, 108, 97, 110, 103, 0
+ };
+ data = staticallyStoredXmlLanguage;
+ length = 8;
+ break;
+ }
+
+ case Xpath:
+ {
+ static const unsigned short staticallyStoredXpath[] =
+ {
+ 120, 112, 97, 116, 104, 0
+ };
+ data = staticallyStoredXpath;
+ length = 5;
+ break;
+ }
+
+ default:
+ /* It's either the default token, or an undefined enum
+ * value. We silence a compiler warning, and return the
+ * empty string. */
+ ;
+ }
+
+ union
+ {
+ const unsigned short *data;
+ const QChar *asQChar;
+ } converter;
+ converter.data = data;
+
+ return QString::fromRawData(converter.asQChar, length);
+ }
+
+QT_END_NAMESPACE
+
diff --git a/src/xmlpatterns/schema/qxsdschematoken_p.h b/src/xmlpatterns/schema/qxsdschematoken_p.h
new file mode 100644
index 0000000..f54f633
--- /dev/null
+++ b/src/xmlpatterns/schema/qxsdschematoken_p.h
@@ -0,0 +1,209 @@
+/****************************************************************************
+**
+** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtXmlPatterns of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
+/* NOTE: This file is AUTO GENERATED by qautomaton2cpp.xsl. */
+
+#ifndef QPatternist_XsdSchemaToken_h
+#define QPatternist_XsdSchemaToken_h
+
+#include <QtCore/QString>
+
+QT_BEGIN_NAMESPACE
+
+class XsdSchemaToken
+ {
+ public:
+ enum NodeName
+
+ {
+ NoKeyword,
+Abstract,
+All,
+Alternative,
+Annotation,
+Any,
+AnyAttribute,
+Appinfo,
+AppliesToEmpty,
+Assert,
+Assertion,
+Attribute,
+AttributeFormDefault,
+AttributeGroup,
+Base,
+Block,
+BlockDefault,
+Choice,
+Collapse,
+ComplexContent,
+ComplexType,
+Default,
+DefaultAttributes,
+DefaultAttributesApply,
+DefaultOpenContent,
+Documentation,
+Element,
+ElementFormDefault,
+Enumeration,
+Extension,
+Field,
+Final,
+FinalDefault,
+Fixed,
+Form,
+FractionDigits,
+Group,
+Id,
+Import,
+Include,
+ItemType,
+Key,
+Keyref,
+Length,
+List,
+MaxExclusive,
+MaxInclusive,
+MaxLength,
+MaxOccurs,
+MemberTypes,
+MinExclusive,
+MinInclusive,
+MinLength,
+MinOccurs,
+Mixed,
+Mode,
+Name,
+Namespace,
+Nillable,
+NotNamespace,
+NotQName,
+Notation,
+OpenContent,
+Override,
+Pattern,
+Preserve,
+ProcessContents,
+Public,
+Redefine,
+Ref,
+Refer,
+Replace,
+Restriction,
+Schema,
+SchemaLocation,
+Selector,
+Sequence,
+SimpleContent,
+SimpleType,
+Source,
+SubstitutionGroup,
+System,
+TargetNamespace,
+Test,
+TotalDigits,
+Type,
+Union,
+Unique,
+Use,
+Value,
+Version,
+WhiteSpace,
+XML_NS_SCHEMA_URI,
+XPathDefaultNamespace,
+XmlLanguage,
+Xpath
+ };
+
+ static inline NodeName toToken(const QString &value);
+static inline NodeName toToken(const QStringRef &value);
+static NodeName toToken(const QChar *data, int length);
+static QString toString(NodeName token);
+
+
+ private:
+ static inline NodeName classifier2(const QChar *data);
+static inline NodeName classifier3(const QChar *data);
+static inline NodeName classifier4(const QChar *data);
+static inline NodeName classifier5(const QChar *data);
+static inline NodeName classifier6(const QChar *data);
+static inline NodeName classifier7(const QChar *data);
+static inline NodeName classifier8(const QChar *data);
+static inline NodeName classifier9(const QChar *data);
+static inline NodeName classifier10(const QChar *data);
+static inline NodeName classifier11(const QChar *data);
+static inline NodeName classifier12(const QChar *data);
+static inline NodeName classifier13(const QChar *data);
+static inline NodeName classifier14(const QChar *data);
+static inline NodeName classifier15(const QChar *data);
+static inline NodeName classifier17(const QChar *data);
+static inline NodeName classifier18(const QChar *data);
+static inline NodeName classifier20(const QChar *data);
+static inline NodeName classifier21(const QChar *data);
+static inline NodeName classifier22(const QChar *data);
+static inline NodeName classifier32(const QChar *data);
+
+ };
+
+ inline XsdSchemaToken::NodeName XsdSchemaToken::toToken(const QString &value)
+ {
+ return toToken(value.constData(), value.length());
+ }
+
+ inline XsdSchemaToken::NodeName XsdSchemaToken::toToken(const QStringRef &value)
+ {
+ return toToken(value.constData(), value.length());
+ }
+
+
+QT_END_NAMESPACE
+
+#endif
diff --git a/src/xmlpatterns/schema/qxsdschematypesfactory.cpp b/src/xmlpatterns/schema/qxsdschematypesfactory.cpp
new file mode 100644
index 0000000..430433f
--- /dev/null
+++ b/src/xmlpatterns/schema/qxsdschematypesfactory.cpp
@@ -0,0 +1,126 @@
+/****************************************************************************
+**
+** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the QtXmlPatterns of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "qxsdschematypesfactory_p.h"
+
+#include "qbasictypesfactory_p.h"
+#include "qbuiltintypes_p.h"
+#include "qderivedinteger_p.h"
+#include "qderivedstring_p.h"
+#include "qcommonnamespaces_p.h"
+#include "qxsdschematoken_p.h"
+#include "qxsdsimpletype_p.h"
+
+QT_BEGIN_NAMESPACE
+
+using namespace QPatternist;
+
+XsdSchemaTypesFactory::XsdSchemaTypesFactory(const NamePool::Ptr &namePool)
+ : m_namePool(namePool)
+{
+ m_types.reserve(3);
+
+ const XsdFacet::Ptr whiteSpaceFacet(new XsdFacet());
+ whiteSpaceFacet->setType(XsdFacet::WhiteSpace);
+ whiteSpaceFacet->setFixed(true);
+ whiteSpaceFacet->setValue(DerivedString<TypeString>::fromLexical(m_namePool, XsdSchemaToken::toString(XsdSchemaToken::Collapse)));
+
+ const XsdFacet::Ptr minLengthFacet(new XsdFacet());
+ minLengthFacet->setType(XsdFacet::MinimumLength);
+ minLengthFacet->setValue(DerivedInteger<TypeNonNegativeInteger>::fromLexical(namePool, QLatin1String("1")));
+
+ XsdFacet::Hash facets;
+ facets.insert(whiteSpaceFacet->type(), whiteSpaceFacet);
+ facets.insert(minLengthFacet->type(), minLengthFacet);
+
+ {
+ const QXmlName typeName = m_namePool->allocateQName(CommonNamespaces::WXS, QLatin1String("NMTOKENS"));
+ const XsdSimpleType::Ptr type(new XsdSimpleType());
+ type->setName(typeName);
+ type->setWxsSuperType(BuiltinTypes::xsAnySimpleType);
+ type->setCategory(XsdSimpleType::SimpleTypeList);
+ type->setItemType(BuiltinTypes::xsNMTOKEN);
+ type->setDerivationMethod(XsdSimpleType::DerivationRestriction);
+ type->setFacets(facets);
+ m_types.insert(typeName, type);
+ }
+ {
+ const QXmlName typeName = m_namePool->allocateQName(CommonNamespaces::WXS, QLatin1String("IDREFS"));
+ const XsdSimpleType::Ptr type(new XsdSimpleType());
+ type->setName(typeName);
+ type->setWxsSuperType(BuiltinTypes::xsAnySimpleType);
+ type->setCategory(XsdSimpleType::SimpleTypeList);
+ type->setItemType(BuiltinTypes::xsIDREF);
+ type->setDerivationMethod(XsdSimpleType::DerivationRestriction);
+ type->setFacets(facets);
+ m_types.insert(typeName, type);
+ }
+ {
+ const QXmlName typeName = m_namePool->allocateQName(CommonNamespaces::WXS, QLatin1String("ENTITIES"));
+ const XsdSimpleType::Ptr type(new XsdSimpleType());
+ type->setName(typeName);
+ type->setWxsSuperType(BuiltinTypes::xsAnySimpleType);
+ type->setCategory(XsdSimpleType::SimpleTypeList);
+ type->setItemType(BuiltinTypes::xsENTITY);
+ type->setDerivationMethod(XsdSimpleType::DerivationRestriction);
+ type->setFacets(facets);
+ m_types.insert(typeName, type);
+ }
+}
+
+SchemaType::Ptr XsdSchemaTypesFactory::createSchemaType(const QXmlName name) const
+{
+ if (m_types.contains(name)) {
+ return m_types.value(name);
+ } else {
+ if (!m_basicTypesFactory)
+ m_basicTypesFactory = BasicTypesFactory::self(m_namePool);
+
+ return m_basicTypesFactory->createSchemaType(name);
+ }
+}
+
+SchemaType::Hash XsdSchemaTypesFactory::types() const
+{
+ return m_types;
+}
+
+QT_END_NAMESPACE
diff --git a/src/xmlpatterns/schema/qxsdschematypesfactory_p.h b/src/xmlpatterns/schema/qxsdschematypesfactory_p.h
new file mode 100644
index 0000000..ed082ac
--- /dev/null
+++ b/src/xmlpatterns/schema/qxsdschematypesfactory_p.h
@@ -0,0 +1,109 @@
+/****************************************************************************
+**
+** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtXmlPatterns of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+
+#ifndef Patternist_XsdSchemaTypesFactory_H
+#define Patternist_XsdSchemaTypesFactory_H
+
+#include <QtCore/QHash>
+#include "qschematypefactory_p.h"
+
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+namespace QPatternist
+{
+
+ /**
+ * @short Factory for creating schema types for the types defined in XSD.
+ *
+ * @ingroup Patternist_types
+ * @author Tobias Koenig <tobias.koenig@trolltech.com>
+ */
+ class XsdSchemaTypesFactory : public SchemaTypeFactory
+ {
+ public:
+ /**
+ * Creates a new schema type factory.
+ *
+ * @param namePool The name pool all type names belong to.
+ */
+ XsdSchemaTypesFactory(const NamePool::Ptr &namePool);
+
+ /**
+ * Creates a primitive type for @p name. If @p name is not supported,
+ * @c null is returned.
+ *
+ * @note This does not handle user defined types, only builtin types.
+ */
+ virtual SchemaType::Ptr createSchemaType(const QXmlName) const;
+
+ /**
+ * Returns a hash of all available types.
+ */
+ virtual SchemaType::Hash types() const;
+
+ private:
+ /**
+ * A dictonary of all predefined schema types.
+ */
+ SchemaType::Hash m_types;
+
+ NamePool::Ptr m_namePool;
+ mutable SchemaTypeFactory::Ptr m_basicTypesFactory;
+ };
+}
+
+QT_END_NAMESPACE
+
+QT_END_HEADER
+
+#endif
diff --git a/src/xmlpatterns/schema/qxsdsimpletype.cpp b/src/xmlpatterns/schema/qxsdsimpletype.cpp
new file mode 100644
index 0000000..8b367ba
--- /dev/null
+++ b/src/xmlpatterns/schema/qxsdsimpletype.cpp
@@ -0,0 +1,148 @@
+/****************************************************************************
+**
+** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the QtXmlPatterns of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+
+#include "qxsdsimpletype_p.h"
+
+QT_BEGIN_NAMESPACE
+
+using namespace QPatternist;
+
+QString XsdSimpleType::displayName(const NamePool::Ptr &np) const
+{
+ return np->displayName(name(np));
+}
+
+void XsdSimpleType::setWxsSuperType(const SchemaType::Ptr &type)
+{
+ m_superType = type;
+}
+
+SchemaType::Ptr XsdSimpleType::wxsSuperType() const
+{
+ return m_superType;
+}
+
+void XsdSimpleType::setContext(const NamedSchemaComponent::Ptr &component)
+{
+ m_context = component;
+}
+
+NamedSchemaComponent::Ptr XsdSimpleType::context() const
+{
+ return m_context;
+}
+
+void XsdSimpleType::setPrimitiveType(const AnySimpleType::Ptr &type)
+{
+ m_primitiveType = type;
+}
+
+AnySimpleType::Ptr XsdSimpleType::primitiveType() const
+{
+ return m_primitiveType;
+}
+
+void XsdSimpleType::setItemType(const AnySimpleType::Ptr &type)
+{
+ m_itemType = type;
+}
+
+AnySimpleType::Ptr XsdSimpleType::itemType() const
+{
+ return m_itemType;
+}
+
+void XsdSimpleType::setMemberTypes(const AnySimpleType::List &types)
+{
+ m_memberTypes = types;
+}
+
+AnySimpleType::List XsdSimpleType::memberTypes() const
+{
+ return m_memberTypes;
+}
+
+void XsdSimpleType::setFacets(const XsdFacet::Hash &facets)
+{
+ m_facets = facets;
+}
+
+XsdFacet::Hash XsdSimpleType::facets() const
+{
+ return m_facets;
+}
+
+void XsdSimpleType::setCategory(TypeCategory category)
+{
+ m_typeCategory = category;
+}
+
+XsdSimpleType::TypeCategory XsdSimpleType::category() const
+{
+ return m_typeCategory;
+}
+
+void XsdSimpleType::setDerivationMethod(DerivationMethod method)
+{
+ m_derivationMethod = method;
+}
+
+XsdSimpleType::DerivationMethod XsdSimpleType::derivationMethod() const
+{
+ return m_derivationMethod;
+}
+
+bool XsdSimpleType::isDefinedBySchema() const
+{
+ return true;
+}
+
+QT_END_NAMESPACE
diff --git a/src/xmlpatterns/schema/qxsdsimpletype_p.h b/src/xmlpatterns/schema/qxsdsimpletype_p.h
new file mode 100644
index 0000000..12053f0
--- /dev/null
+++ b/src/xmlpatterns/schema/qxsdsimpletype_p.h
@@ -0,0 +1,219 @@
+/****************************************************************************
+**
+** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtXmlPatterns of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+
+#ifndef Patternist_XsdSimpleType_H
+#define Patternist_XsdSimpleType_H
+
+#include "qanysimpletype_p.h"
+#include "qxsdfacet_p.h"
+#include "qxsduserschematype_p.h"
+
+#include <QtCore/QSet>
+
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+namespace QPatternist
+{
+ /**
+ * @short Represents a XSD simpleType object.
+ *
+ * This class represents the <em>simpleType</em> object of a XML schema as described
+ * <a href="http://www.w3.org/TR/xmlschema-2/#rf-defn">here</a>.
+ *
+ * It contains information from either a top-level simple type declaration (as child of a <em>schema</em> object)
+ * or a local simple type declaration (as descendant of an <em>element</em> or <em>complexType</em> object).
+ *
+ * @see <a href="http://www.w3.org/Submission/2004/SUBM-xmlschema-api-20040309/xml-schema-api.html#Interface-XSSimpleType">XML Schema API reference</a>
+ * @ingroup Patternist_schema
+ * @author Tobias Koenig <tobias.koenig@trolltech.com>
+ */
+ class XsdSimpleType : public XsdUserSchemaType<AnySimpleType>
+ {
+ public:
+ typedef QExplicitlySharedDataPointer<XsdSimpleType> Ptr;
+
+ /**
+ * Returns the display name of the simple type.
+ *
+ * @param namePool The name pool the type name is stored in.
+ */
+ virtual QString displayName(const NamePool::Ptr &namePool) const;
+
+ /**
+ * Sets the base @p type of the simple type.
+ *
+ * @see <a href="http://www.w3.org/TR/xmlschema-2/#defn-basetype">Base Type Definition</a>
+ */
+ void setWxsSuperType(const SchemaType::Ptr &type);
+
+ /**
+ * Returns the base type of the simple type or an empty pointer if no base type is
+ * set.
+ */
+ virtual SchemaType::Ptr wxsSuperType() const;
+
+ /**
+ * Sets the context @p component of the simple type.
+ *
+ * @see <a href="http://www.w3.org/TR/xmlschema11-1/#std-context">Context Definition</a>
+ */
+ void setContext(const NamedSchemaComponent::Ptr &component);
+
+ /**
+ * Returns the context component of the simple type.
+ */
+ NamedSchemaComponent::Ptr context() const;
+
+ /**
+ * Sets the primitive @p type of the simple type.
+ *
+ * The primitive type is only specified if the category is SimpleTypeAtomic.
+ *
+ * @see <a href="http://www.w3.org/TR/xmlschema-2/#defn-primitive">Primitive Type Definition</a>
+ */
+ void setPrimitiveType(const AnySimpleType::Ptr &type);
+
+ /**
+ * Returns the primitive type of the simple type or an empty pointer if the category is
+ * not SimpleTypeAtomic.
+ */
+ AnySimpleType::Ptr primitiveType() const;
+
+ /**
+ * Sets the list item @p type of the simple type.
+ *
+ * The list item type is only specified if the category is SimpleTypeList.
+ *
+ * @see <a href="http://www.w3.org/TR/xmlschema-2/#defn-itemType">Item Type Definition</a>
+ */
+ void setItemType(const AnySimpleType::Ptr &type);
+
+ /**
+ * Returns the list item type of the simple type or an empty pointer if the category is
+ * not SimpleTypeList.
+ */
+ AnySimpleType::Ptr itemType() const;
+
+ /**
+ * Sets the member @p types of the simple type.
+ *
+ * The member types are only specified if the category is SimpleTypeUnion.
+ *
+ * @see <a href="http://www.w3.org/TR/xmlschema-2/#defn-memberTypes">Member Types Definition</a>
+ */
+ void setMemberTypes(const AnySimpleType::List &types);
+
+ /**
+ * Returns the list member types of the simple type or an empty list if the category is
+ * not SimpleTypeUnion.
+ */
+ AnySimpleType::List memberTypes() const;
+
+ /**
+ * Sets the @p facets of the simple type.
+ *
+ * @see <a href="http://www.w3.org/TR/xmlschema-2/#defn-facets">Facets Definition</a>
+ */
+ void setFacets(const XsdFacet::Hash &facets);
+
+ /**
+ * Returns the facets of the simple type.
+ */
+ XsdFacet::Hash facets() const;
+
+ /**
+ * Sets the @p category (variety) of the simple type.
+ *
+ * @see <a href="http://www.w3.org/TR/xmlschema-2/#defn-variety">Variety Definition</a>
+ */
+ void setCategory(TypeCategory category);
+
+ /**
+ * Returns the category (variety) of the simple type.
+ */
+ virtual TypeCategory category() const;
+
+ /**
+ * Sets the derivation @p method of the simple type.
+ *
+ * @see DerivationMethod
+ */
+ void setDerivationMethod(DerivationMethod method);
+
+ /**
+ * Returns the derivation method of the simple type.
+ */
+ virtual DerivationMethod derivationMethod() const;
+
+ /**
+ * Always returns @c true.
+ */
+ virtual bool isDefinedBySchema() const;
+
+ private:
+ SchemaType::Ptr m_superType;
+ NamedSchemaComponent::Ptr m_context;
+ AnySimpleType::Ptr m_primitiveType;
+ AnySimpleType::Ptr m_itemType;
+ AnySimpleType::List m_memberTypes;
+ XsdFacet::Hash m_facets;
+ TypeCategory m_typeCategory;
+ DerivationMethod m_derivationMethod;
+ };
+}
+
+QT_END_NAMESPACE
+
+QT_END_HEADER
+
+#endif
diff --git a/src/xmlpatterns/schema/qxsdstatemachine.cpp b/src/xmlpatterns/schema/qxsdstatemachine.cpp
new file mode 100644
index 0000000..3a59042
--- /dev/null
+++ b/src/xmlpatterns/schema/qxsdstatemachine.cpp
@@ -0,0 +1,477 @@
+/****************************************************************************
+**
+** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the QtXmlPatterns of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*
+ * NOTE: This file is included by qxsdstatemachine_p.h
+ * if you need some includes, put them in qxsdstatemachine_p.h (outside of the namespace)
+ */
+
+template <typename TransitionType>
+XsdStateMachine<TransitionType>::XsdStateMachine()
+ : m_counter(50)
+{
+}
+
+template <typename TransitionType>
+XsdStateMachine<TransitionType>::XsdStateMachine(const NamePool::Ptr &namePool)
+ : m_namePool(namePool)
+ , m_counter(50)
+{
+}
+
+template <typename TransitionType>
+typename XsdStateMachine<TransitionType>::StateId XsdStateMachine<TransitionType>::addState(StateType type)
+{
+#ifndef QT_NO_DEBUG
+ // make sure we don't have two start states
+ if (type == StartState) {
+ QHashIterator<StateId, StateType> it(m_states);
+ while (it.hasNext()) {
+ it.next();
+ Q_ASSERT(it.value() != StartState && it.value() != StartEndState);
+ }
+ }
+#endif // QT_NO_DEBUG
+
+ // reserve new state id
+ const StateId id = ++m_counter;
+ m_states.insert(id, type);
+
+ // if it is a start state, we make it to our current state
+ if (type == StartState || type == StartEndState)
+ m_currentState = id;
+
+ return id;
+}
+
+template <typename TransitionType>
+void XsdStateMachine<TransitionType>::addTransition(StateId start, TransitionType transition, StateId end)
+{
+ QHash<TransitionType, QVector<StateId> > &hash = m_transitions[start];
+ QVector<StateId> &states = hash[transition];
+ if (!states.contains(end))
+ states.append(end);
+}
+
+template <typename TransitionType>
+void XsdStateMachine<TransitionType>::addEpsilonTransition(StateId start, StateId end)
+{
+ QVector<StateId> &states = m_epsilonTransitions[start];
+ states.append(end);
+}
+
+template <typename TransitionType>
+void XsdStateMachine<TransitionType>::reset()
+{
+ // reset the machine to the start state
+ QHashIterator<StateId, StateType> it(m_states);
+ while (it.hasNext()) {
+ it.next();
+ if (it.value() == StartState || it.value() == StartEndState) {
+ m_currentState = it.key();
+ return;
+ }
+ }
+
+ Q_ASSERT(false);
+}
+
+template <typename TransitionType>
+void XsdStateMachine<TransitionType>::clear()
+{
+ m_states.clear();
+ m_transitions.clear();
+ m_epsilonTransitions.clear();
+ m_currentState = -1;
+ m_counter = 50;
+}
+
+template <typename TransitionType>
+bool XsdStateMachine<TransitionType>::proceed(TransitionType transition)
+{
+ // check that we are not in an invalid state
+ if (!m_transitions.contains(m_currentState)) {
+ return false;
+ }
+
+ // fetch the transition entry for the current state
+ const QHash<TransitionType, QVector<StateId> > &entry = m_transitions[m_currentState];
+ if (entry.contains(transition)) { // is there an transition for the given input?
+ m_currentState = entry.value(transition).first();
+ m_lastTransition = transition;
+ return true;
+ } else {
+ return false;
+ }
+}
+
+template <typename TransitionType>
+QList<TransitionType> XsdStateMachine<TransitionType>::possibleTransitions() const
+{
+ // check that we are not in an invalid state
+ if (!m_transitions.contains(m_currentState)) {
+ return QList<TransitionType>();
+ }
+
+ // fetch the transition entry for the current state
+ const QHash<TransitionType, QVector<StateId> > &entry = m_transitions[m_currentState];
+
+ return entry.keys();
+}
+
+template <typename TransitionType>
+template <typename InputType>
+bool XsdStateMachine<TransitionType>::proceed(InputType input)
+{
+ // check that we are not in an invalid state
+ if (!m_transitions.contains(m_currentState)) {
+ return false;
+ }
+
+ // fetch the transition entry for the current state
+ const QHash<TransitionType, QVector<StateId> > &entry = m_transitions[m_currentState];
+ QHashIterator<TransitionType, QVector<StateId> > it(entry);
+ while (it.hasNext()) {
+ it.next();
+ if (inputEqualsTransition(input, it.key())) {
+ m_currentState = it.value().first();
+ m_lastTransition = it.key();
+ return true;
+ }
+ }
+
+ return false;
+}
+
+template <typename TransitionType>
+template <typename InputType>
+bool XsdStateMachine<TransitionType>::inputEqualsTransition(InputType input, TransitionType transition) const
+{
+ return false;
+}
+
+template <typename TransitionType>
+bool XsdStateMachine<TransitionType>::inEndState() const
+{
+ // check if current state is an end state
+ return (m_states.value(m_currentState) == StartEndState || m_states.value(m_currentState) == EndState);
+}
+
+template <typename TransitionType>
+TransitionType XsdStateMachine<TransitionType>::lastTransition() const
+{
+ return m_lastTransition;
+}
+
+template <typename TransitionType>
+typename XsdStateMachine<TransitionType>::StateId XsdStateMachine<TransitionType>::startState() const
+{
+ QHashIterator<StateId, StateType> it(m_states);
+ while (it.hasNext()) {
+ it.next();
+ if (it.value() == StartState || it.value() == StartEndState)
+ return it.key();
+ }
+
+ Q_ASSERT(false); // should never be reached
+ return -1;
+}
+
+template <typename TransitionType>
+QString XsdStateMachine<TransitionType>::transitionTypeToString(TransitionType type) const
+{
+ Q_UNUSED(type)
+
+ return QString();
+}
+
+template <typename TransitionType>
+bool XsdStateMachine<TransitionType>::outputGraph(QIODevice *device, const QString &graphName) const
+{
+ if (!device->isOpen()) {
+ qWarning("device must be open for writing");
+ return false;
+ }
+
+ QByteArray graph;
+ QTextStream s(&graph);
+
+ QHashIterator<StateId, QHash<TransitionType, QVector<StateId> > > it(m_transitions);
+ QHashIterator<StateId, StateType> it3(m_states);
+
+ s << "digraph " << graphName << " {\n";
+ s << " mindist = 2.0\n";
+
+ // draw edges
+ while (it.hasNext()) {
+ it.next();
+
+ QHashIterator<TransitionType, QVector<StateId> > it2(it.value());
+ while (it2.hasNext()) {
+ it2.next();
+ for (int i = 0; i < it2.value().count(); ++i)
+ s << " " << it.key() << " -> " << it2.value().at(i) << " [label=\"" << transitionTypeToString(it2.key()) << "\"]\n";
+ }
+ }
+
+ QHashIterator<StateId, QVector<StateId> > it4(m_epsilonTransitions);
+ while (it4.hasNext()) {
+ it4.next();
+
+ const QVector<StateId> states = it4.value();
+ for (int i = 0; i < states.count(); ++i)
+ s << " " << it4.key() << " -> " << states.at(i) << " [label=\"&#949;\"]\n";
+ }
+
+ // draw node infos
+ while (it3.hasNext()) {
+ it3.next();
+
+ QString style;
+ if (it3.value() == StartState) {
+ style = QLatin1String("shape=circle, style=filled, color=blue");
+ } else if (it3.value() == StartEndState) {
+ style = QLatin1String("shape=doublecircle, style=filled, color=blue");
+ } else if (it3.value() == InternalState) {
+ style = QLatin1String("shape=circle, style=filled, color=red");
+ } else if (it3.value() == EndState) {
+ style = QLatin1String("shape=doublecircle, style=filled, color=green");
+ }
+
+ s << " " << it3.key() << " [" << style << "]\n";
+ }
+
+ s << "}\n";
+
+ s.flush();
+
+ if (device->write(graph) == -1)
+ return false;
+
+ return true;
+}
+
+
+template <typename TransitionType>
+typename XsdStateMachine<TransitionType>::StateId XsdStateMachine<TransitionType>::dfaStateForNfaState(QSet<StateId> nfaState,
+ QList< QPair<QSet<StateId>, StateId> > &stateTable,
+ XsdStateMachine<TransitionType> &dfa) const
+{
+ // check whether we have the given state in our lookup table
+ // already, in that case simply return it
+ for (int i = 0; i < stateTable.count(); ++i) {
+ if (stateTable.at(i).first == nfaState)
+ return stateTable.at(i).second;
+ }
+
+ // check if the NFA state set contains a Start or End
+ // state, in that case our new DFA state will be a
+ // Start or End state as well
+ StateType type = InternalState;
+ QSetIterator<StateId> it(nfaState);
+ bool hasStartState = false;
+ bool hasEndState = false;
+ while (it.hasNext()) {
+ const StateId state = it.next();
+ if (m_states.value(state) == EndState) {
+ hasEndState = true;
+ } else if (m_states.value(state) == StartState) {
+ hasStartState = true;
+ }
+ }
+ if (hasStartState) {
+ if (hasEndState)
+ type = StartEndState;
+ else
+ type = StartState;
+ } else if (hasEndState) {
+ type = EndState;
+ }
+
+ // create the new DFA state
+ const StateId dfaState = dfa.addState(type);
+
+ // add the new DFA state to the lookup table
+ stateTable.append(qMakePair<QSet<StateId>, StateId>(nfaState, dfaState));
+
+ return dfaState;
+}
+
+
+template <typename TransitionType>
+QSet<typename XsdStateMachine<TransitionType>::StateId> XsdStateMachine<TransitionType>::epsilonClosure(const QSet<StateId> &input) const
+{
+ // every state can reach itself by epsilon transition, so include the input states
+ // in the result as well
+ QSet<StateId> result = input;
+
+ // add the input states to the list of to be processed states
+ QList<StateId> workStates = input.toList();
+ while (!workStates.isEmpty()) { // while there are states to be processed left...
+
+ // dequeue one state from list
+ const StateId state = workStates.takeFirst();
+
+ // get the list of states that can be reached by the epsilon transition
+ // from the current 'state'
+ const QVector<StateId> targetStates = m_epsilonTransitions.value(state);
+ for (int i = 0; i < targetStates.count(); ++i) {
+ // if we have this target state not in our result set yet...
+ if (!result.contains(targetStates.at(i))) {
+ // ... add it to the result set
+ result.insert(targetStates.at(i));
+
+ // add the target state to the list of to be processed states as well,
+ // as we want to have the epsilon transitions not only for the first
+ // level of following states
+ workStates.append(targetStates.at(i));
+ }
+ }
+ }
+
+ return result;
+}
+
+template <typename TransitionType>
+QSet<typename XsdStateMachine<TransitionType>::StateId> XsdStateMachine<TransitionType>::move(const QSet<StateId> &states, TransitionType input) const
+{
+ QSet<StateId> result;
+
+ QSetIterator<StateId> it(states);
+ while (it.hasNext()) { // iterate over all given states
+ const StateId state = it.next();
+
+ // get the transition table for the current state
+ const QHash<TransitionType, QVector<StateId> > transitions = m_transitions.value(state);
+
+ // get the target states for the given input
+ const QVector<StateId> targetStates = transitions.value(input);
+
+ // add all target states to the result
+ for (int i = 0; i < targetStates.size(); ++i)
+ result.insert(targetStates.at(i));
+ }
+
+ return result;
+}
+
+template <typename TransitionType>
+XsdStateMachine<TransitionType> XsdStateMachine<TransitionType>::toDFA() const
+{
+ XsdStateMachine<TransitionType> dfa(m_namePool);
+ dfa.m_counter = 100;
+ QList< QPair< QSet<StateId>, StateId> > table;
+ QList< QSet<StateId> > isMarked;
+
+ // search the start state as the algorithm starts with it...
+ StateId startState = -1;
+ QHashIterator<StateId, StateType> stateTypeIt(m_states);
+ while (stateTypeIt.hasNext()) {
+ stateTypeIt.next();
+ if (stateTypeIt.value() == StartState) {
+ startState = stateTypeIt.key();
+ break;
+ }
+ }
+ Q_ASSERT(startState != -1);
+
+ // our list of state set that still have to be processed
+ QList< QSet<StateId> > workStates;
+
+ // add the start state to the list of to processed state sets
+ workStates.append(epsilonClosure(QSet<StateId>() << startState));
+
+ while (!workStates.isEmpty()) { // as long as there are state sets to process left
+
+ // enqueue set of states
+ const QSet<StateId> states = workStates.takeFirst();
+
+ if (isMarked.contains(states)) // we processed this state set already
+ continue;
+
+ // mark as processed
+ isMarked.append(states);
+
+ // select a list of all inputs that are possible for
+ // the 'states' set
+ QList<TransitionType> input;
+
+ {
+ QSetIterator<StateId> it(states);
+ while (it.hasNext()) {
+ input << m_transitions.value(it.next()).keys();
+ }
+ }
+
+ // get the state in DFA that corresponds to the 'states' set in the NFA
+ const StateId dfaBegin = dfaStateForNfaState(states, table, dfa);
+
+ for (int i = 0; i < input.count(); ++i) { // for each possible input
+ // retrieve the states that can be reached from the 'states' set by the
+ // given input or by epsilon transition
+ const QSet<StateId> followStates = epsilonClosure(move(states, input.at(i)));
+
+ // get the state in DFA that corresponds to the 'followStates' set in the NFA
+ const StateId dfaEnd = dfaStateForNfaState(followStates, table, dfa);
+
+ // adds a new transition to the DFA that corresponds to the transitions between
+ // 'states' and 'followStates' in the NFA
+ dfa.addTransition(dfaBegin, input.at(i), dfaEnd);
+
+ // add the 'followStates' to the list of to be processed state sets
+ workStates.append(followStates);
+ }
+ }
+
+ return dfa;
+}
+
+template <typename TransitionType>
+QHash<typename XsdStateMachine<TransitionType>::StateId, typename XsdStateMachine<TransitionType>::StateType> XsdStateMachine<TransitionType>::states() const
+{
+ return m_states;
+}
+
+template <typename TransitionType>
+QHash<typename XsdStateMachine<TransitionType>::StateId, QHash<TransitionType, QVector<typename XsdStateMachine<TransitionType>::StateId> > > XsdStateMachine<TransitionType>::transitions() const
+{
+ return m_transitions;
+}
diff --git a/src/xmlpatterns/schema/qxsdstatemachine_p.h b/src/xmlpatterns/schema/qxsdstatemachine_p.h
new file mode 100644
index 0000000..68bc801
--- /dev/null
+++ b/src/xmlpatterns/schema/qxsdstatemachine_p.h
@@ -0,0 +1,245 @@
+/****************************************************************************
+**
+** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtXmlPatterns of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+
+#ifndef Patternist_XsdStateMachine_H
+#define Patternist_XsdStateMachine_H
+
+#include "qnamepool_p.h"
+
+#include <QtCore/QHash>
+#include <QtCore/QSet>
+#include <QtCore/QTextStream>
+
+class QIODevice;
+
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+namespace QPatternist
+{
+ /**
+ * @short A state machine used for evaluation.
+ *
+ * @ingroup Patternist_schema
+ * @author Tobias Koenig <tobias.koenig@trolltech.com>
+ */
+ template <typename TransitionType>
+ class XsdStateMachine
+ {
+ public:
+ typedef qint32 StateId;
+
+ /**
+ * Describes the type of state.
+ */
+ enum StateType
+ {
+ StartState, ///< The state the machine will start with.
+ StartEndState, ///< The state the machine will start with, can be end state as well.
+ InternalState, ///< Any state that is not start or end state.
+ EndState ///< Any state where the machine is allowed to stop.
+ };
+
+ /**
+ * Creates a new state machine object.
+ */
+ XsdStateMachine();
+
+ /**
+ * Creates a new state machine object.
+ *
+ * The name pool to use for accessing object names.
+ */
+ XsdStateMachine(const NamePool::Ptr &namePool);
+
+ /**
+ * Adds a new state of the given @p type to the state machine.
+ *
+ * @return The id of the new state.
+ */
+ StateId addState(StateType type);
+
+ /**
+ * Adds a new @p transition to the state machine.
+ *
+ * @param start The start state.
+ * @param transition The transition to come from the start to the end state.
+ * @param end The end state.
+ */
+ void addTransition(StateId start, TransitionType transition, StateId end);
+
+ /**
+ * Adds a new epsilon @p transition to the state machine.
+ *
+ * @param start The start state.
+ * @param end The end state.
+ */
+ void addEpsilonTransition(StateId start, StateId end);
+
+ /**
+ * Resets the machine to the start state.
+ */
+ void reset();
+
+ /**
+ * Removes all states and transitions from the state machine.
+ */
+ void clear();
+
+ /**
+ * Continues execution of the machine with the given input @p transition.
+ *
+ * @return @c true if the transition was successfull, @c false otherwise.
+ */
+ bool proceed(TransitionType transition);
+
+ /**
+ * Returns the list of transitions that are reachable from the current
+ * state.
+ */
+ QList<TransitionType> possibleTransitions() const;
+
+ /**
+ * Continues execution of the machine with the given @p input.
+ *
+ * @note To use this method, inputEqualsTransition must be implemented
+ * to find the right transition to use.
+ *
+ * @return @c true if the transition was successfull, @c false otherwise.
+ */
+ template <typename InputType>
+ bool proceed(InputType input);
+
+ /**
+ * Returns whether the given @p input matches the given @p transition.
+ */
+ template <typename InputType>
+ bool inputEqualsTransition(InputType input, TransitionType transition) const;
+
+ /**
+ * Returns whether the machine is in an allowed end state.
+ */
+ bool inEndState() const;
+
+ /**
+ * Returns the last transition that was taken.
+ */
+ TransitionType lastTransition() const;
+
+ /**
+ * Returns the start state of the machine.
+ */
+ StateId startState() const;
+
+ /**
+ * This method should be redefined by template specialization for every
+ * concret TransitionType.
+ */
+ QString transitionTypeToString(TransitionType type) const;
+
+ /**
+ * Outputs the state machine in DOT format to the given
+ * output @p device.
+ */
+ bool outputGraph(QIODevice *device, const QString &graphName) const;
+
+ /**
+ * Returns a DFA that is equal to the NFA of the state machine.
+ */
+ XsdStateMachine<TransitionType> toDFA() const;
+
+ /**
+ * Returns the information of all states of the state machine.
+ */
+ QHash<StateId, StateType> states() const;
+
+ /**
+ * Returns the information of all transitions of the state machine.
+ */
+ QHash<StateId, QHash<TransitionType, QVector<StateId> > > transitions() const;
+
+ private:
+ /**
+ * Returns the DFA state for the given @p nfaStat from the given @p stateTable.
+ * If there is no corresponding DFA state yet, a new one is created.
+ */
+ StateId dfaStateForNfaState(QSet<StateId> nfaState, QList< QPair< QSet<StateId>, StateId> > &stateTable, XsdStateMachine<TransitionType> &dfa) const;
+
+ /**
+ * Returns the set of all states that can be reached from the set of @p input states
+ * by the epsilon transition.
+ */
+ QSet<StateId> epsilonClosure(const QSet<StateId> &input) const;
+
+ /**
+ * Returns the set of all states that can be reached from the set of given @p states
+ * by the given @p input.
+ */
+ QSet<StateId> move(const QSet<StateId> &states, TransitionType input) const;
+
+ NamePool::Ptr m_namePool;
+ QHash<StateId, StateType> m_states;
+ QHash<StateId, QHash<TransitionType, QVector<StateId> > > m_transitions;
+ QHash<StateId, QVector<StateId> > m_epsilonTransitions;
+ StateId m_currentState;
+ qint32 m_counter;
+ TransitionType m_lastTransition;
+ };
+
+ #include "qxsdstatemachine.cpp"
+}
+
+QT_END_NAMESPACE
+
+QT_END_HEADER
+
+#endif
diff --git a/src/xmlpatterns/schema/qxsdstatemachinebuilder.cpp b/src/xmlpatterns/schema/qxsdstatemachinebuilder.cpp
new file mode 100644
index 0000000..ae7fefe
--- /dev/null
+++ b/src/xmlpatterns/schema/qxsdstatemachinebuilder.cpp
@@ -0,0 +1,260 @@
+/****************************************************************************
+**
+** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the QtXmlPatterns of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "qxsdstatemachinebuilder_p.h"
+
+#include "qxsdelement_p.h"
+#include "qxsdmodelgroup_p.h"
+#include "qxsdschemahelper_p.h"
+
+QT_BEGIN_NAMESPACE
+
+using namespace QPatternist;
+
+/*
+ * This methods takes a list of objects and returns a list of list
+ * of all combinations the objects can be ordered.
+ *
+ * e.g. input = [ 1, 2, 3 ]
+ * output = [
+ * [ 1, 2, 3 ],
+ * [ 1, 3, 2 ],
+ * [ 2, 1, 3 ],
+ * [ 2, 3, 1 ],
+ * [ 3, 1, 2 ],
+ * [ 3, 2, 1 ]
+ * ]
+ *
+ * The method is used to create all possible combinations for the particles
+ * in an <all> model group.
+ */
+template <typename T>
+QList< QList<T> > allCombinations(const QList<T> &input)
+{
+ if (input.count() == 1)
+ return (QList< QList<T> >() << input);
+
+ QList< QList<T> > result;
+ for (int i = 0; i < input.count(); ++i) {
+ QList<T> subList = input;
+ T value = subList.takeAt(i);
+
+ QList< QList<T> > subLists = allCombinations(subList);
+ for (int j = 0; j < subLists.count(); ++j) {
+ subLists[j].prepend(value);
+ }
+ result << subLists;
+ }
+
+ return result;
+}
+
+XsdStateMachineBuilder::XsdStateMachineBuilder(XsdStateMachine<XsdTerm::Ptr> *machine, const NamePool::Ptr &namePool, Mode mode)
+ : m_stateMachine(machine), m_namePool(namePool), m_mode(mode)
+{
+}
+
+XsdStateMachine<XsdTerm::Ptr>::StateId XsdStateMachineBuilder::reset()
+{
+ Q_ASSERT(m_stateMachine);
+
+ m_stateMachine->clear();
+
+ return m_stateMachine->addState(XsdStateMachine<XsdTerm::Ptr>::EndState);
+}
+
+XsdStateMachine<XsdTerm::Ptr>::StateId XsdStateMachineBuilder::addStartState(XsdStateMachine<XsdTerm::Ptr>::StateId state)
+{
+ const XsdStateMachine<XsdTerm::Ptr>::StateId startState = m_stateMachine->addState(XsdStateMachine<XsdTerm::Ptr>::StartState);
+ m_stateMachine->addEpsilonTransition(startState, state);
+
+ return startState;
+}
+
+/*
+ * Create the FSA according to Algorithm Tp(S) from http://www.ltg.ed.ac.uk/~ht/XML_Europe_2003.html
+ */
+XsdStateMachine<XsdTerm::Ptr>::StateId XsdStateMachineBuilder::buildParticle(const XsdParticle::Ptr &particle, XsdStateMachine<XsdTerm::Ptr>::StateId endState)
+{
+ XsdStateMachine<XsdTerm::Ptr>::StateId currentStartState = endState;
+ XsdStateMachine<XsdTerm::Ptr>::StateId currentEndState = endState;
+
+ // 2
+ if (particle->maximumOccursUnbounded()) {
+ const XsdStateMachine<XsdTerm::Ptr>::StateId t = m_stateMachine->addState(XsdStateMachine<XsdTerm::Ptr>::InternalState);
+ const XsdStateMachine<XsdTerm::Ptr>::StateId n = buildTerm(particle->term(), t);
+
+ m_stateMachine->addEpsilonTransition(t, n);
+ m_stateMachine->addEpsilonTransition(n, endState);
+
+ currentEndState = t;
+ currentStartState = t;
+ } else { // 3
+ int count = (particle->maximumOccurs() - particle->minimumOccurs());
+ if (count > 100)
+ count = 100;
+
+ for (int i = 0; i < count; ++i) {
+ currentStartState = buildTerm(particle->term(), currentEndState);
+ m_stateMachine->addEpsilonTransition(currentStartState, endState);
+ currentEndState = currentStartState;
+ }
+ }
+
+ int minOccurs = particle->minimumOccurs();
+ if (minOccurs > 100)
+ minOccurs = 100;
+
+ for (int i = 0; i < minOccurs; ++i) {
+ currentStartState = buildTerm(particle->term(), currentEndState);
+ currentEndState = currentStartState;
+ }
+
+ return currentStartState;
+}
+
+/*
+ * Create the FSA according to Algorithm Tt(S) from http://www.ltg.ed.ac.uk/~ht/XML_Europe_2003.html
+ */
+XsdStateMachine<XsdTerm::Ptr>::StateId XsdStateMachineBuilder::buildTerm(const XsdTerm::Ptr &term, XsdStateMachine<XsdTerm::Ptr>::StateId endState)
+{
+ if (term->isWildcard()) { // 1
+ const XsdStateMachine<XsdTerm::Ptr>::StateId b = m_stateMachine->addState(XsdStateMachine<XsdTerm::Ptr>::InternalState);
+ m_stateMachine->addTransition(b, term, endState);
+ return b;
+ } else if (term->isElement()) { // 2
+ const XsdStateMachine<XsdTerm::Ptr>::StateId b = m_stateMachine->addState(XsdStateMachine<XsdTerm::Ptr>::InternalState);
+ m_stateMachine->addTransition(b, term, endState);
+
+ const XsdElement::Ptr element(term);
+ if (m_mode == CheckingMode) {
+ const XsdElement::List substGroups = element->substitutionGroups();
+ for (int i = 0; i < substGroups.count(); ++i)
+ m_stateMachine->addTransition(b, substGroups.at(i), endState);
+ } else if (m_mode == ValidatingMode) {
+ const XsdElement::List substGroups = element->substitutionGroups();
+ for (int i = 0; i < substGroups.count(); ++i) {
+ if (XsdSchemaHelper::substitutionGroupOkTransitive(element, substGroups.at(i), m_namePool))
+ m_stateMachine->addTransition(b, substGroups.at(i), endState);
+ }
+ }
+
+ return b;
+ } else if (term->isModelGroup()) {
+ const XsdModelGroup::Ptr group(term);
+
+ if (group->compositor() == XsdModelGroup::ChoiceCompositor) { // 3
+ const XsdStateMachine<XsdTerm::Ptr>::StateId b = m_stateMachine->addState(XsdStateMachine<XsdTerm::Ptr>::InternalState);
+
+ for (int i = 0; i < group->particles().count(); ++i) {
+ const XsdParticle::Ptr particle(group->particles().at(i));
+ if (particle->maximumOccurs() != 0) {
+ const XsdStateMachine<XsdTerm::Ptr>::StateId state = buildParticle(particle, endState);
+ m_stateMachine->addEpsilonTransition(b, state);
+ }
+ }
+
+ return b;
+ } else if (group->compositor() == XsdModelGroup::SequenceCompositor) { // 4
+ XsdStateMachine<XsdTerm::Ptr>::StateId currentStartState = endState;
+ XsdStateMachine<XsdTerm::Ptr>::StateId currentEndState = endState;
+
+ for (int i = (group->particles().count() - 1); i >= 0; --i) { // iterate reverse
+ const XsdParticle::Ptr particle(group->particles().at(i));
+ if (particle->maximumOccurs() != 0) {
+ currentStartState = buildParticle(particle, currentEndState);
+ currentEndState = currentStartState;
+ }
+ }
+
+ return currentStartState;
+ } else if (group->compositor() == XsdModelGroup::AllCompositor) {
+ const XsdStateMachine<XsdTerm::Ptr>::StateId newStartState = m_stateMachine->addState(XsdStateMachine<XsdTerm::Ptr>::InternalState);
+
+ const QList<XsdParticle::List> list = allCombinations(group->particles());
+
+ for (int i = 0; i < list.count(); ++i) {
+ XsdStateMachine<XsdTerm::Ptr>::StateId currentStartState = endState;
+ XsdStateMachine<XsdTerm::Ptr>::StateId currentEndState = endState;
+
+ const XsdParticle::List particles = list.at(i);
+ for (int j = (particles.count() - 1); j >= 0; --j) { // iterate reverse
+ const XsdParticle::Ptr particle(particles.at(j));
+ if (particle->maximumOccurs() != 0) {
+ currentStartState = buildParticle(particle, currentEndState);
+ currentEndState = currentStartState;
+ }
+ }
+ m_stateMachine->addEpsilonTransition(newStartState, currentStartState);
+ }
+
+ if (list.isEmpty())
+ return endState;
+ else
+ return newStartState;
+ }
+ }
+
+ Q_ASSERT(false);
+ return 0;
+}
+
+static void internalParticleLookupMap(const XsdParticle::Ptr &particle, QHash<XsdTerm::Ptr, XsdParticle::Ptr> &hash)
+{
+ hash.insert(particle->term(), particle);
+
+ if (particle->term()->isModelGroup()) {
+ const XsdModelGroup::Ptr group(particle->term());
+ const XsdParticle::List particles = group->particles();
+ for (int i = 0; i < particles.count(); ++i)
+ internalParticleLookupMap(particles.at(i), hash);
+ }
+}
+
+QHash<XsdTerm::Ptr, XsdParticle::Ptr> XsdStateMachineBuilder::particleLookupMap(const XsdParticle::Ptr &particle)
+{
+ QHash<XsdTerm::Ptr, XsdParticle::Ptr> result;
+ internalParticleLookupMap(particle, result);
+
+ return result;
+}
+
+QT_END_NAMESPACE
diff --git a/src/xmlpatterns/schema/qxsdstatemachinebuilder_p.h b/src/xmlpatterns/schema/qxsdstatemachinebuilder_p.h
new file mode 100644
index 0000000..08d69de
--- /dev/null
+++ b/src/xmlpatterns/schema/qxsdstatemachinebuilder_p.h
@@ -0,0 +1,141 @@
+/****************************************************************************
+**
+** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtXmlPatterns of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+
+#ifndef Patternist_XsdStateMachineBuilder_H
+#define Patternist_XsdStateMachineBuilder_H
+
+#include "qxsdparticle_p.h"
+#include "qxsdstatemachine_p.h"
+#include "qxsdterm_p.h"
+
+#include <QtCore/QExplicitlySharedDataPointer>
+#include <QtCore/QList>
+
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+namespace QPatternist
+{
+ /**
+ * @short A helper class to build up validation state machines.
+ *
+ * @ingroup Patternist_schema
+ * @author Tobias Koenig <tobias.koenig@trolltech.com>
+ */
+ class XsdStateMachineBuilder : public QSharedData
+ {
+ public:
+ typedef QExplicitlySharedDataPointer<XsdStateMachineBuilder> Ptr;
+
+ enum Mode
+ {
+ CheckingMode,
+ ValidatingMode
+ };
+
+ /**
+ * Creates a new state machine builder.
+ *
+ * @param machine The state machine it should work on.
+ * @param namePool The name pool used by all schema components.
+ * @param mode The mode the machine shall be build for.
+ */
+ XsdStateMachineBuilder(XsdStateMachine<XsdTerm::Ptr> *machine, const NamePool::Ptr &namePool, Mode mode = CheckingMode);
+
+ /**
+ * Resets the state machine.
+ *
+ * @returns The initial end state.
+ */
+ XsdStateMachine<XsdTerm::Ptr>::StateId reset();
+
+ /**
+ * Prepends a start state to the given @p state.
+ * That is needed to allow the conversion of the state machine from a FSA to a DFA.
+ */
+ XsdStateMachine<XsdTerm::Ptr>::StateId addStartState(XsdStateMachine<XsdTerm::Ptr>::StateId state);
+
+ /**
+ * Creates the state machine for the given @p particle that should have the
+ * given @p endState.
+ *
+ * @returns The new start state.
+ */
+ XsdStateMachine<XsdTerm::Ptr>::StateId buildParticle(const XsdParticle::Ptr &particle, XsdStateMachine<XsdTerm::Ptr>::StateId endState);
+
+ /**
+ * Creates the state machine for the given @p term that should have the
+ * given @p endState.
+ *
+ * @returns The new start state.
+ */
+ XsdStateMachine<XsdTerm::Ptr>::StateId buildTerm(const XsdTerm::Ptr &term, XsdStateMachine<XsdTerm::Ptr>::StateId endState);
+
+ /**
+ * Returns a hash that maps each term that appears inside @p particle, to the particle it belongs.
+ *
+ * @note These information are used by XsdParticleChecker to check particle inheritance.
+ */
+ static QHash<XsdTerm::Ptr, XsdParticle::Ptr> particleLookupMap(const XsdParticle::Ptr &particle);
+
+ private:
+ XsdStateMachine<XsdTerm::Ptr> *m_stateMachine;
+ NamePool::Ptr m_namePool;
+ Mode m_mode;
+ };
+}
+
+QT_END_NAMESPACE
+
+QT_END_HEADER
+
+#endif
diff --git a/src/xmlpatterns/schema/qxsdterm.cpp b/src/xmlpatterns/schema/qxsdterm.cpp
new file mode 100644
index 0000000..a1349c9
--- /dev/null
+++ b/src/xmlpatterns/schema/qxsdterm.cpp
@@ -0,0 +1,68 @@
+/****************************************************************************
+**
+** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the QtXmlPatterns of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "qxsdterm_p.h"
+
+QT_BEGIN_NAMESPACE
+
+using namespace QPatternist;
+
+bool XsdTerm::isElement() const
+{
+ return false;
+}
+
+bool XsdTerm::isModelGroup() const
+{
+ return false;
+}
+
+bool XsdTerm::isWildcard() const
+{
+ return false;
+}
+
+bool XsdTerm::isReference() const
+{
+ return false;
+}
+
+QT_END_NAMESPACE
diff --git a/src/xmlpatterns/schema/qxsdterm_p.h b/src/xmlpatterns/schema/qxsdterm_p.h
new file mode 100644
index 0000000..c42bb40
--- /dev/null
+++ b/src/xmlpatterns/schema/qxsdterm_p.h
@@ -0,0 +1,114 @@
+/****************************************************************************
+**
+** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtXmlPatterns of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+
+#ifndef Patternist_XsdTerm_H
+#define Patternist_XsdTerm_H
+
+#include "qnamedschemacomponent_p.h"
+#include "qxsdannotated_p.h"
+
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+namespace QPatternist
+{
+ /**
+ * @short A base class for all particles of a model group.
+ *
+ * This class is the base class for all particles of a model group
+ * as the <em>element</em>, <em>group</em> or <em>any</em> tag, it is not supposed to
+ * be instantiated directly.
+ *
+ * @see <a href="http://www.w3.org/Submission/2004/SUBM-xmlschema-api-20040309/xml-schema-api.html#Interface-XSTerm">XML Schema API reference</a>
+ * @ingroup Patternist_schema
+ * @author Tobias Koenig <tobias.koenig@trolltech.com>
+ */
+ class XsdTerm : public NamedSchemaComponent, public XsdAnnotated
+ {
+ public:
+ typedef QExplicitlySharedDataPointer<XsdTerm> Ptr;
+
+ /**
+ * Returns @c true if the term is an element, @c false otherwise.
+ */
+ virtual bool isElement() const;
+
+ /**
+ * Returns @c true if the term is a model group (group tag), @c false otherwise.
+ */
+ virtual bool isModelGroup() const;
+
+ /**
+ * Returns @c true if the term is a wildcard (any tag), @c false otherwise.
+ */
+ virtual bool isWildcard() const;
+
+ /**
+ * Returns @c true if the term is a reference, @c false otherwise.
+ *
+ * @note The reference term is only used internally as helper during type resolving.
+ */
+ virtual bool isReference() const;
+
+ protected:
+ /**
+ * This constructor only exists to ensure this class is subclassed.
+ */
+ inline XsdTerm() {};
+ };
+}
+
+QT_END_NAMESPACE
+
+QT_END_HEADER
+
+#endif
diff --git a/src/xmlpatterns/schema/qxsdtypechecker.cpp b/src/xmlpatterns/schema/qxsdtypechecker.cpp
new file mode 100644
index 0000000..acb10ef
--- /dev/null
+++ b/src/xmlpatterns/schema/qxsdtypechecker.cpp
@@ -0,0 +1,1338 @@
+/****************************************************************************
+**
+** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the QtXmlPatterns of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "qxsdtypechecker_p.h"
+
+#include "qabstractdatetime_p.h"
+#include "qbase64binary_p.h"
+#include "qboolean_p.h"
+#include "qdecimal_p.h"
+#include "qderivedinteger_p.h"
+#include "qduration_p.h"
+#include "qgenericstaticcontext_p.h"
+#include "qhexbinary_p.h"
+#include "qnamespaceresolver_p.h"
+#include "qpatternplatform_p.h"
+#include "qqnamevalue_p.h"
+#include "qvaluefactory_p.h"
+#include "qxmlnamepool.h"
+#include "qxsdschemahelper_p.h"
+#include "qxsdschemamerger_p.h"
+#include "qxsdstatemachine_p.h"
+
+#include "qxsdschemadebugger_p.h"
+
+QT_BEGIN_NAMESPACE
+
+using namespace QPatternist;
+
+XsdSchemaSourceLocationReflection::XsdSchemaSourceLocationReflection(const QSourceLocation &location)
+ : m_sourceLocation(location)
+{
+}
+
+const SourceLocationReflection* XsdSchemaSourceLocationReflection::actualReflection() const
+{
+ return this;
+}
+
+QSourceLocation XsdSchemaSourceLocationReflection::sourceLocation() const
+{
+ return m_sourceLocation;
+}
+
+
+static AnySimpleType::Ptr comparableType(const AnySimpleType::Ptr &type)
+{
+ if (!type->isDefinedBySchema()) {
+ return type;
+ } else {
+ const XsdSimpleType::Ptr simpleType(type);
+ if (type->category() == SchemaType::SimpleTypeAtomic) {
+ return simpleType->primitiveType();
+ } else if (type->category() == SchemaType::SimpleTypeList) {
+ return simpleType->itemType();
+ } else if (type->category() == SchemaType::SimpleTypeUnion) {
+ return simpleType->memberTypes().first();
+ }
+ }
+
+ Q_ASSERT(false);
+ return AnySimpleType::Ptr();
+}
+
+static int totalDigitsForSignedLongLong(long long value)
+{
+ QString number = QString::number(value);
+ if (number.startsWith(QLatin1Char('-')))
+ number = number.mid(1);
+
+ return number.length();
+}
+
+static int totalDigitsForUnsignedLongLong(unsigned long long value)
+{
+ const QString number = QString::number(value);
+ return number.length();
+}
+
+static int totalDigitsForDecimal(const QString &lexicalValue)
+{
+ const QLatin1Char zeroChar('0');
+ const int length = lexicalValue.length() - 1;
+
+ // strip leading zeros
+ int pos = 0;
+ while (lexicalValue.at(pos) == zeroChar && (pos != length))
+ pos++;
+
+ QString value = lexicalValue.mid(pos);
+
+ // if contains '.' strip trailing zeros
+ if (value.contains(QLatin1Char('.'))) {
+ pos = value.length() - 1;
+ while (value.at(pos) == zeroChar) {
+ pos--;
+ }
+
+ value = value.left(pos + 1);
+ }
+
+ // check number of digits of remaining string
+ int totalDigits = 0;
+ for (int i = 0; i < value.count(); ++i)
+ if (value.at(i).isDigit())
+ ++totalDigits;
+
+ if (totalDigits == 0)
+ totalDigits = 1;
+
+ return totalDigits;
+}
+
+static int fractionDigitsForDecimal(const QString &lexicalValue)
+{
+ // we use the lexical value here, as the conversion to double might strip
+ // away decimal positions
+
+ QString trimmedValue(lexicalValue.trimmed());
+ const int pos = trimmedValue.indexOf(QLatin1Char('.'));
+ if (pos == -1) // no '.' -> 0 fraction digits
+ return 0;
+ else
+ return (trimmedValue.length() - pos - 1);
+}
+
+XsdTypeChecker::XsdTypeChecker(const XsdSchemaContext::Ptr &context, const QVector<QXmlName> &namespaceBindings, const QSourceLocation &location)
+ : m_context(context)
+ , m_namePool(m_context->namePool())
+ , m_namespaceBindings(namespaceBindings)
+ , m_reflection(new XsdSchemaSourceLocationReflection(location))
+{
+}
+
+XsdTypeChecker::~XsdTypeChecker()
+{
+}
+
+QString XsdTypeChecker::normalizedValue(const QString &value, const XsdFacet::Hash &facets)
+{
+ if (!facets.contains(XsdFacet::WhiteSpace))
+ return value;
+
+ const XsdFacet::Ptr whiteSpaceFacet = facets.value(XsdFacet::WhiteSpace);
+
+ const DerivedString<TypeString>::Ptr facetValue = whiteSpaceFacet->value();
+ const QString stringValue = facetValue->stringValue();
+ if (stringValue == XsdSchemaToken::toString(XsdSchemaToken::Preserve))
+ return value;
+ else if (stringValue == XsdSchemaToken::toString(XsdSchemaToken::Replace)) {
+ QString newValue(value);
+ newValue.replace(QLatin1Char('\t'), QLatin1Char(' '));
+ newValue.replace(QLatin1Char('\n'), QLatin1Char(' '));
+ newValue.replace(QLatin1Char('\r'), QLatin1Char(' '));
+
+ return newValue;
+ } else if (stringValue == XsdSchemaToken::toString(XsdSchemaToken::Collapse)) {
+ return value.simplified();
+ }
+
+ return value;
+}
+
+XsdFacet::Hash XsdTypeChecker::mergedFacetsForType(const SchemaType::Ptr &type, const XsdSchemaContext::Ptr &context)
+{
+ if (!type)
+ return XsdFacet::Hash();
+
+ const XsdFacet::Hash baseFacets = mergedFacetsForType(type->wxsSuperType(), context);
+ const XsdFacet::Hash facets = context->facetsForType(type);
+
+ XsdFacet::Hash result = baseFacets;
+ XsdFacet::HashIterator it(facets);
+ while (it.hasNext()) {
+ it.next();
+
+ result.insert(it.key(), it.value());
+ }
+
+ return result;
+}
+
+bool XsdTypeChecker::isValidString(const QString &normalizedString, const AnySimpleType::Ptr &type, QString &errorMsg, AnySimpleType::Ptr *boundType) const
+{
+ if (type->name(m_namePool) == BuiltinTypes::xsAnySimpleType->name(m_namePool)) {
+ if (boundType)
+ *boundType = type;
+
+ return true;
+ }
+
+ if (!type->isDefinedBySchema()) {
+ // special QName check
+ if (BuiltinTypes::xsQName->wxsTypeMatches(type)) {
+ if (!XPathHelper::isQName(normalizedString)) {
+ errorMsg = QtXmlPatterns::tr("%1 is not valid according to %2").arg(formatData(normalizedString)).arg(formatType(m_namePool, type));
+ return false;
+ }
+ }
+
+ const AtomicValue::Ptr value = fromLexical(normalizedString, type, m_context, m_reflection);
+ if (value->hasError()) {
+ errorMsg = QtXmlPatterns::tr("%1 is not valid according to %2").arg(formatData(normalizedString)).arg(formatType(m_namePool, type));
+ return false;
+ }
+
+ if (!checkConstrainingFacets(value, normalizedString, type, errorMsg)) {
+ return false;
+ }
+
+ if (boundType)
+ *boundType = type;
+
+ } else {
+ const XsdSimpleType::Ptr simpleType(type);
+
+ if (simpleType->category() == XsdSimpleType::SimpleTypeAtomic) {
+ AnySimpleType::Ptr targetType = simpleType->primitiveType();
+ if (!simpleType->wxsSuperType()->isDefinedBySchema())
+ targetType = simpleType->wxsSuperType();
+
+ const AtomicValue::Ptr value = fromLexical(normalizedString, targetType, m_context, m_reflection);
+ if (value->hasError()) {
+ errorMsg = QtXmlPatterns::tr("%1 is not valid according to %2").arg(formatData(normalizedString)).arg(formatType(m_namePool, targetType));
+ return false;
+ }
+
+ if (!checkConstrainingFacets(value, normalizedString, type, errorMsg)) {
+ return false;
+ }
+
+ if (boundType)
+ *boundType = type;
+
+ } else if (simpleType->category() == XsdSimpleType::SimpleTypeList) {
+ QStringList entries = normalizedString.split(QLatin1Char(' '), QString::SkipEmptyParts);
+ for (int i = 0; i < entries.count(); ++i) {
+ entries[i] = normalizedValue(entries.at(i), mergedFacetsForType(simpleType->itemType(), m_context));
+ }
+
+ if (!checkConstrainingFacetsList(entries, normalizedString, simpleType->itemType(), mergedFacetsForType(simpleType, m_context), errorMsg)) {
+ return false;
+ }
+
+ for (int i = 0; i < entries.count(); ++i) {
+ if (!isValidString(entries.at(i), simpleType->itemType(), errorMsg)) {
+ return false;
+ }
+ }
+
+ if (boundType)
+ *boundType = simpleType->itemType();
+
+ } else if (simpleType->category() == XsdSimpleType::SimpleTypeUnion) {
+ if (!checkConstrainingFacetsUnion(normalizedString, normalizedString, simpleType, mergedFacetsForType(simpleType, m_context), errorMsg)) {
+ return false;
+ }
+
+ const AnySimpleType::List memberTypes = simpleType->memberTypes();
+
+ bool foundValidType = false;
+ for (int i = 0; i < memberTypes.count(); ++i) {
+ const XsdFacet::Hash mergedFacets = mergedFacetsForType(memberTypes.at(i), m_context);
+ if (isValidString(normalizedValue(normalizedString, mergedFacets), memberTypes.at(i), errorMsg)) {
+ foundValidType = true;
+
+ if (boundType)
+ *boundType = memberTypes.at(i);
+
+ break;
+ }
+ }
+
+ if (!foundValidType) {
+ return false;
+ }
+ }
+ }
+
+ return true;
+}
+
+bool XsdTypeChecker::valuesAreEqual(const QString &value, const QString &otherValue, const AnySimpleType::Ptr &type) const
+{
+ const AnySimpleType::Ptr targetType = comparableType(type);
+
+ // if the type is xs:anySimpleType we just do string comparison...
+ if (targetType->name(m_namePool) == BuiltinTypes::xsAnySimpleType->name(m_namePool))
+ return (value == otherValue);
+
+ if (BuiltinTypes::xsQName->wxsTypeMatches(type)) {
+ const QXmlName valueName = convertToQName(value);
+ const QXmlName otherValueName = convertToQName(otherValue);
+
+ if (valueName == otherValueName)
+ return true;
+ }
+
+ if (type->category() == SchemaType::SimpleTypeAtomic) {
+ // ... otherwise we use the casting platform for value comparison
+ const DerivedString<TypeString>::Ptr valueStr = DerivedString<TypeString>::fromLexical(m_namePool, value);
+ const DerivedString<TypeString>::Ptr otherValueStr = DerivedString<TypeString>::fromLexical(m_namePool, otherValue);
+
+ return XsdSchemaHelper::constructAndCompare(valueStr, AtomicComparator::OperatorEqual, otherValueStr, targetType, m_context, m_reflection);
+ } else if (type->category() == SchemaType::SimpleTypeList) {
+ const QStringList values = value.split(QLatin1Char(' '), QString::SkipEmptyParts);
+ const QStringList otherValues = otherValue.split(QLatin1Char(' '), QString::SkipEmptyParts);
+ if (values.count() != otherValues.count())
+ return false;
+
+ for (int i = 0; i < values.count(); ++i) {
+ if (!valuesAreEqual(values.at(i), otherValues.at(i), XsdSimpleType::Ptr(type)->itemType()))
+ return false;
+ }
+
+ return true;
+ } else if (type->category() == SchemaType::SimpleTypeUnion) {
+ const AnySimpleType::List memberTypes = XsdSimpleType::Ptr(type)->memberTypes();
+ for (int i = 0; i < memberTypes.count(); ++i) {
+ if (valuesAreEqual(value, otherValue, memberTypes.at(i))) {
+ return true;
+ }
+ }
+
+ return false;
+ }
+
+ return false;
+}
+
+bool XsdTypeChecker::checkConstrainingFacets(const AtomicValue::Ptr &value, const QString &lexicalValue, const AnySimpleType::Ptr &type, QString &errorMsg) const
+{
+ const XsdFacet::Hash facets = mergedFacetsForType(type, m_context);
+
+ if (BuiltinTypes::xsString->wxsTypeMatches(type) ||
+ BuiltinTypes::xsUntypedAtomic->wxsTypeMatches(type)) {
+ return checkConstrainingFacetsString(value->stringValue(), facets, BuiltinTypes::xsString, errorMsg);
+ } else if (BuiltinTypes::xsAnyURI->wxsTypeMatches(type)) {
+ return checkConstrainingFacetsString(value->stringValue(), facets, BuiltinTypes::xsAnyURI, errorMsg);
+ } else if (BuiltinTypes::xsNOTATION->wxsTypeMatches(type)) {
+ return checkConstrainingFacetsNotation(value->as<QNameValue>()->qName(), facets, errorMsg);
+ } else if (BuiltinTypes::xsUnsignedByte->wxsTypeMatches(type) ||
+ BuiltinTypes::xsUnsignedInt->wxsTypeMatches(type) ||
+ BuiltinTypes::xsUnsignedLong->wxsTypeMatches(type) ||
+ BuiltinTypes::xsUnsignedShort->wxsTypeMatches(type)) {
+ return checkConstrainingFacetsUnsignedInteger(value->as<Numeric>()->toUnsignedInteger(), lexicalValue, facets, errorMsg);
+ } else if (BuiltinTypes::xsInteger->wxsTypeMatches(type)) {
+ return checkConstrainingFacetsSignedInteger(value->as<Numeric>()->toInteger(), lexicalValue, facets, errorMsg);
+ } else if (BuiltinTypes::xsFloat->wxsTypeMatches(type) ||
+ BuiltinTypes::xsDouble->wxsTypeMatches(type)) {
+ return checkConstrainingFacetsDouble(value->as<Numeric>()->toDouble(), lexicalValue, facets, errorMsg);
+ } else if (BuiltinTypes::xsDecimal->wxsTypeMatches(type)) {
+ return checkConstrainingFacetsDecimal(value, lexicalValue, facets, errorMsg);
+ } else if (BuiltinTypes::xsDateTime->wxsTypeMatches(type)) {
+ return checkConstrainingFacetsDateTime(value->as<AbstractDateTime>()->toDateTime(), lexicalValue, facets, BuiltinTypes::xsDateTime, errorMsg);
+ } else if (BuiltinTypes::xsDate->wxsTypeMatches(type)) {
+ return checkConstrainingFacetsDateTime(value->as<AbstractDateTime>()->toDateTime(), lexicalValue, facets, BuiltinTypes::xsDate, errorMsg);
+ } else if (BuiltinTypes::xsGYear->wxsTypeMatches(type)) {
+ return checkConstrainingFacetsDateTime(value->as<AbstractDateTime>()->toDateTime(), lexicalValue, facets, BuiltinTypes::xsGYear, errorMsg);
+ } else if (BuiltinTypes::xsGYearMonth->wxsTypeMatches(type)) {
+ return checkConstrainingFacetsDateTime(value->as<AbstractDateTime>()->toDateTime(), lexicalValue, facets, BuiltinTypes::xsGYearMonth, errorMsg);
+ } else if (BuiltinTypes::xsGMonth->wxsTypeMatches(type)) {
+ return checkConstrainingFacetsDateTime(value->as<AbstractDateTime>()->toDateTime(), lexicalValue, facets, BuiltinTypes::xsGMonth, errorMsg);
+ } else if (BuiltinTypes::xsGMonthDay->wxsTypeMatches(type)) {
+ return checkConstrainingFacetsDateTime(value->as<AbstractDateTime>()->toDateTime(), lexicalValue, facets, BuiltinTypes::xsGMonthDay, errorMsg);
+ } else if (BuiltinTypes::xsGDay->wxsTypeMatches(type)) {
+ return checkConstrainingFacetsDateTime(value->as<AbstractDateTime>()->toDateTime(), lexicalValue, facets, BuiltinTypes::xsGDay, errorMsg);
+ } else if (BuiltinTypes::xsTime->wxsTypeMatches(type)) {
+ return checkConstrainingFacetsDateTime(value->as<AbstractDateTime>()->toDateTime(), lexicalValue, facets, BuiltinTypes::xsTime, errorMsg);
+ } else if (BuiltinTypes::xsDuration->wxsTypeMatches(type)) {
+ return checkConstrainingFacetsDuration(value, lexicalValue, facets, errorMsg);
+ } else if (BuiltinTypes::xsBoolean->wxsTypeMatches(type)) {
+ return checkConstrainingFacetsBoolean(value->as<Boolean>()->value(), lexicalValue, facets, errorMsg);
+ } else if (BuiltinTypes::xsHexBinary->wxsTypeMatches(type)) {
+ return checkConstrainingFacetsBinary(value->as<Base64Binary>()->asByteArray(), facets, BuiltinTypes::xsHexBinary, errorMsg);
+ } else if (BuiltinTypes::xsBase64Binary->wxsTypeMatches(type)) {
+ return checkConstrainingFacetsBinary(value->as<Base64Binary>()->asByteArray(), facets, BuiltinTypes::xsBase64Binary, errorMsg);
+ } else if (BuiltinTypes::xsQName->wxsTypeMatches(type)) {
+ return checkConstrainingFacetsQName(value->as<QNameValue>()->qName(), lexicalValue, facets, errorMsg);
+ }
+
+ return true;
+}
+
+bool XsdTypeChecker::checkConstrainingFacetsString(const QString &value, const XsdFacet::Hash &facets, const AnySimpleType::Ptr &type, QString &errorMsg) const
+{
+ if (facets.contains(XsdFacet::Length)) {
+ const XsdFacet::Ptr facet = facets.value(XsdFacet::Length);
+ const DerivedInteger<TypeNonNegativeInteger>::Ptr length = facet->value();
+ if (length->toInteger() != value.length()) {
+ errorMsg = QtXmlPatterns::tr("string content does not match the length facet");
+ return false;
+ }
+ }
+ if (facets.contains(XsdFacet::MinimumLength)) {
+ const XsdFacet::Ptr facet = facets.value(XsdFacet::MinimumLength);
+ const DerivedInteger<TypeNonNegativeInteger>::Ptr length = facet->value();
+ if (length->toInteger() > value.length()) {
+ errorMsg = QtXmlPatterns::tr("string content does not match the minLength facet");
+ return false;
+ }
+ }
+ if (facets.contains(XsdFacet::MaximumLength)) {
+ const XsdFacet::Ptr facet = facets.value(XsdFacet::MaximumLength);
+ const DerivedInteger<TypeNonNegativeInteger>::Ptr length = facet->value();
+ if (length->toInteger() < value.length()) {
+ errorMsg = QtXmlPatterns::tr("string content does not match the maxLength facet");
+ return false;
+ }
+ }
+ if (facets.contains(XsdFacet::Pattern)) {
+ const XsdFacet::Ptr facet = facets.value(XsdFacet::Pattern);
+ const AtomicValue::List multiValue = facet->multiValue();
+ bool found = false;
+ for (int j = 0; j < multiValue.count(); ++j) {
+ const QString pattern = multiValue.at(j)->as<DerivedString<TypeString> >()->stringValue();
+ const QRegExp exp = PatternPlatform::parsePattern(pattern, m_context, m_reflection);
+ if (exp.exactMatch(value)) {
+ found = true;
+ break;
+ }
+ }
+
+ if (!found) {
+ errorMsg = QtXmlPatterns::tr("string content does not match pattern facet");
+ return false;
+ }
+ }
+ if (facets.contains(XsdFacet::Enumeration)) {
+ const XsdFacet::Ptr facet = facets.value(XsdFacet::Enumeration);
+ const DerivedString<TypeString>::Ptr valueStr = DerivedString<TypeString>::fromLexical(m_namePool, value);
+
+ const AtomicValue::List multiValue = facet->multiValue();
+ bool found = false;
+ for (int j = 0; j < multiValue.count(); ++j) {
+ if (XsdSchemaHelper::constructAndCompare(valueStr, AtomicComparator::OperatorEqual, multiValue.at(j), type, m_context, m_reflection)) {
+ found = true;
+ break;
+ }
+ }
+
+ if (!found) {
+ errorMsg = QtXmlPatterns::tr("string content is not listed in the enumeration facet");
+ return false;
+ }
+ }
+ if (facets.contains(XsdFacet::Assertion)) {
+ //TODO: implement
+ }
+
+ return true;
+}
+
+bool XsdTypeChecker::checkConstrainingFacetsSignedInteger(long long value, const QString &lexicalValue, const XsdFacet::Hash &facets, QString &errorMsg) const
+{
+ if (facets.contains(XsdFacet::MaximumInclusive)) {
+ const XsdFacet::Ptr facet = facets.value(XsdFacet::MaximumInclusive);
+ const Numeric::Ptr facetValue = ValueFactory::fromLexical(facet->value()->as<DerivedString<TypeString> >()->stringValue(), BuiltinTypes::xsLong, m_context, m_reflection);
+ if (facetValue->toInteger() < value) {
+ errorMsg = QtXmlPatterns::tr("signed integer content does not match the maxInclusive facet");
+ return false;
+ }
+ }
+ if (facets.contains(XsdFacet::MaximumExclusive)) {
+ const XsdFacet::Ptr facet = facets.value(XsdFacet::MaximumExclusive);
+ const Numeric::Ptr facetValue = ValueFactory::fromLexical(facet->value()->as<DerivedString<TypeString> >()->stringValue(), BuiltinTypes::xsLong, m_context, m_reflection);
+ if (facetValue->toInteger() <= value) {
+ errorMsg = QtXmlPatterns::tr("signed integer content does not match the maxExclusive facet");
+ return false;
+ }
+ }
+ if (facets.contains(XsdFacet::MinimumInclusive)) {
+ const XsdFacet::Ptr facet = facets.value(XsdFacet::MinimumInclusive);
+ const Numeric::Ptr facetValue = ValueFactory::fromLexical(facet->value()->as<DerivedString<TypeString> >()->stringValue(), BuiltinTypes::xsLong, m_context, m_reflection);
+ if (facetValue->toInteger() > value) {
+ errorMsg = QtXmlPatterns::tr("signed integer content does not match the minInclusive facet");
+ return false;
+ }
+ }
+ if (facets.contains(XsdFacet::MinimumExclusive)) {
+ const XsdFacet::Ptr facet = facets.value(XsdFacet::MinimumExclusive);
+ const Numeric::Ptr facetValue = ValueFactory::fromLexical(facet->value()->as<DerivedString<TypeString> >()->stringValue(), BuiltinTypes::xsLong, m_context, m_reflection);
+ if (facetValue->toInteger() >= value) {
+ errorMsg = QtXmlPatterns::tr("signed integer content does not match the minExclusive facet");
+ return false;
+ }
+ }
+ if (facets.contains(XsdFacet::Enumeration)) {
+ const XsdFacet::Ptr facet = facets.value(XsdFacet::Enumeration);
+ const DerivedString<TypeString>::Ptr valueStr = DerivedString<TypeString>::fromLexical(m_namePool, QString::number(value));
+
+ const AtomicValue::List multiValue = facet->multiValue();
+ bool found = false;
+ for (int j = 0; j < multiValue.count(); ++j) {
+ if (XsdSchemaHelper::constructAndCompare(valueStr, AtomicComparator::OperatorEqual, multiValue.at(j), BuiltinTypes::xsLong, m_context, m_reflection)) {
+ found = true;
+ break;
+ }
+ }
+
+ if (!found) {
+ errorMsg = QtXmlPatterns::tr("signed integer content is not listed in the enumeration facet");
+ return false;
+ }
+ }
+ if (facets.contains(XsdFacet::Pattern)) {
+ const XsdFacet::Ptr facet = facets.value(XsdFacet::Pattern);
+ const AtomicValue::List multiValue = facet->multiValue();
+ bool found = false;
+ for (int j = 0; j < multiValue.count(); ++j) {
+ const QString pattern = multiValue.at(j)->as<DerivedString<TypeString> >()->stringValue();
+ const QRegExp exp = PatternPlatform::parsePattern(pattern, m_context, m_reflection);
+ if (exp.exactMatch(lexicalValue)) {
+ found = true;
+ break;
+ }
+ }
+
+ if (!found) {
+ errorMsg = QtXmlPatterns::tr("signed integer content does not match pattern facet");
+ return false;
+ }
+ }
+ if (facets.contains(XsdFacet::TotalDigits)) {
+ const XsdFacet::Ptr facet = facets.value(XsdFacet::TotalDigits);
+ const DerivedInteger<TypePositiveInteger>::Ptr facetValue = facet->value();
+
+ if (totalDigitsForSignedLongLong(value) > facetValue->toInteger()) {
+ errorMsg = QtXmlPatterns::tr("signed integer content does not match in the totalDigits facet");
+ return false;
+ }
+ }
+ if (facets.contains(XsdFacet::Assertion)) {
+ //TODO: implement
+ }
+
+ return true;
+}
+
+bool XsdTypeChecker::checkConstrainingFacetsUnsignedInteger(unsigned long long value, const QString &lexicalValue, const XsdFacet::Hash &facets, QString &errorMsg) const
+{
+ if (facets.contains(XsdFacet::MaximumInclusive)) {
+ const XsdFacet::Ptr facet = facets.value(XsdFacet::MaximumInclusive);
+ const Numeric::Ptr facetValue = ValueFactory::fromLexical(facet->value()->as<DerivedString<TypeString> >()->stringValue(), BuiltinTypes::xsUnsignedLong, m_context, m_reflection);
+ if (facetValue->toUnsignedInteger() < value) {
+ errorMsg = QtXmlPatterns::tr("unsigned integer content does not match the maxInclusive facet");
+ return false;
+ }
+ }
+ if (facets.contains(XsdFacet::MaximumExclusive)) {
+ const XsdFacet::Ptr facet = facets.value(XsdFacet::MaximumExclusive);
+ const Numeric::Ptr facetValue = ValueFactory::fromLexical(facet->value()->as<DerivedString<TypeString> >()->stringValue(), BuiltinTypes::xsUnsignedLong, m_context, m_reflection);
+ if (facetValue->toUnsignedInteger() <= value) {
+ errorMsg = QtXmlPatterns::tr("unsigned integer content does not match the maxExclusive facet");
+ return false;
+ }
+ }
+ if (facets.contains(XsdFacet::MinimumInclusive)) {
+ const XsdFacet::Ptr facet = facets.value(XsdFacet::MinimumInclusive);
+ const Numeric::Ptr facetValue = ValueFactory::fromLexical(facet->value()->as<DerivedString<TypeString> >()->stringValue(), BuiltinTypes::xsUnsignedLong, m_context, m_reflection);
+ if (facetValue->toUnsignedInteger() > value) {
+ errorMsg = QtXmlPatterns::tr("unsigned integer content does not match the minInclusive facet");
+ return false;
+ }
+ }
+ if (facets.contains(XsdFacet::MinimumExclusive)) {
+ const XsdFacet::Ptr facet = facets.value(XsdFacet::MinimumExclusive);
+ const Numeric::Ptr facetValue = ValueFactory::fromLexical(facet->value()->as<DerivedString<TypeString> >()->stringValue(), BuiltinTypes::xsUnsignedLong, m_context, m_reflection);
+ if (facetValue->toUnsignedInteger() >= value) {
+ errorMsg = QtXmlPatterns::tr("unsigned integer content does not match the minExclusive facet");
+ return false;
+ }
+ }
+ if (facets.contains(XsdFacet::Enumeration)) {
+ const XsdFacet::Ptr facet = facets.value(XsdFacet::Enumeration);
+ const DerivedString<TypeString>::Ptr valueStr = DerivedString<TypeString>::fromLexical(m_namePool, QString::number(value));
+
+ const AtomicValue::List multiValue = facet->multiValue();
+ bool found = false;
+ for (int j = 0; j < multiValue.count(); ++j) {
+ if (XsdSchemaHelper::constructAndCompare(valueStr, AtomicComparator::OperatorEqual, multiValue.at(j), BuiltinTypes::xsUnsignedLong, m_context, m_reflection)) {
+ found = true;
+ break;
+ }
+ }
+
+ if (!found) {
+ errorMsg = QtXmlPatterns::tr("unsigned integer content is not listed in the enumeration facet");
+ return false;
+ }
+ }
+ if (facets.contains(XsdFacet::Pattern)) {
+ const XsdFacet::Ptr facet = facets.value(XsdFacet::Pattern);
+ const AtomicValue::List multiValue = facet->multiValue();
+ bool found = false;
+ for (int j = 0; j < multiValue.count(); ++j) {
+ const QString pattern = multiValue.at(j)->as<DerivedString<TypeString> >()->stringValue();
+ const QRegExp exp = PatternPlatform::parsePattern(pattern, m_context, m_reflection);
+ if (exp.exactMatch(lexicalValue)) {
+ found = true;
+ break;
+ }
+ }
+
+ if (!found) {
+ errorMsg = QtXmlPatterns::tr("unsigned integer content does not match pattern facet");
+ return false;
+ }
+ }
+ if (facets.contains(XsdFacet::TotalDigits)) {
+ const XsdFacet::Ptr facet = facets.value(XsdFacet::TotalDigits);
+ const DerivedInteger<TypePositiveInteger>::Ptr facetValue = facet->value();
+
+ if (totalDigitsForUnsignedLongLong(value) > facetValue->toInteger()) {
+ errorMsg = QtXmlPatterns::tr("unsigned integer content does not match in the totalDigits facet");
+ return false;
+ }
+ }
+ if (facets.contains(XsdFacet::Assertion)) {
+ //TODO: implement
+ }
+
+ return true;
+}
+
+bool XsdTypeChecker::checkConstrainingFacetsDouble(double value, const QString &lexicalValue, const XsdFacet::Hash &facets, QString &errorMsg) const
+{
+ if (facets.contains(XsdFacet::MaximumInclusive)) {
+ const XsdFacet::Ptr facet = facets.value(XsdFacet::MaximumInclusive);
+ const Numeric::Ptr facetValue = ValueFactory::fromLexical(facet->value()->as<DerivedString<TypeString> >()->stringValue(), BuiltinTypes::xsDouble, m_context, m_reflection);
+ if (facetValue->toDouble() < value) {
+ errorMsg = QtXmlPatterns::tr("double content does not match the maxInclusive facet");
+ return false;
+ }
+ }
+ if (facets.contains(XsdFacet::MaximumExclusive)) {
+ const XsdFacet::Ptr facet = facets.value(XsdFacet::MaximumExclusive);
+ const Numeric::Ptr facetValue = ValueFactory::fromLexical(facet->value()->as<DerivedString<TypeString> >()->stringValue(), BuiltinTypes::xsDouble, m_context, m_reflection);
+ if (facetValue->toDouble() <= value) {
+ errorMsg = QtXmlPatterns::tr("double content does not match the maxExclusive facet");
+ return false;
+ }
+ }
+ if (facets.contains(XsdFacet::MinimumInclusive)) {
+ const XsdFacet::Ptr facet = facets.value(XsdFacet::MinimumInclusive);
+ const Numeric::Ptr facetValue = ValueFactory::fromLexical(facet->value()->as<DerivedString<TypeString> >()->stringValue(), BuiltinTypes::xsDouble, m_context, m_reflection);
+ if (facetValue->toDouble() > value) {
+ errorMsg = QtXmlPatterns::tr("double content does not match the minInclusive facet");
+ return false;
+ }
+ }
+ if (facets.contains(XsdFacet::MinimumExclusive)) {
+ const XsdFacet::Ptr facet = facets.value(XsdFacet::MinimumExclusive);
+ const Numeric::Ptr facetValue = ValueFactory::fromLexical(facet->value()->as<DerivedString<TypeString> >()->stringValue(), BuiltinTypes::xsDouble, m_context, m_reflection);
+ if (facetValue->toDouble() >= value) {
+ errorMsg = QtXmlPatterns::tr("double content does not match the minExclusive facet");
+ return false;
+ }
+ }
+ if (facets.contains(XsdFacet::Enumeration)) {
+ const XsdFacet::Ptr facet = facets.value(XsdFacet::Enumeration);
+ const DerivedString<TypeString>::Ptr valueStr = DerivedString<TypeString>::fromLexical(m_namePool, QString::number(value));
+
+ const AtomicValue::List multiValue = facet->multiValue();
+ bool found = false;
+ for (int j = 0; j < multiValue.count(); ++j) {
+ if (XsdSchemaHelper::constructAndCompare(valueStr, AtomicComparator::OperatorEqual, multiValue.at(j), BuiltinTypes::xsDouble, m_context, m_reflection)) {
+ found = true;
+ break;
+ }
+ }
+
+ if (!found) {
+ errorMsg = QtXmlPatterns::tr("double content is not listed in the enumeration facet");
+ return false;
+ }
+ }
+ if (facets.contains(XsdFacet::Pattern)) {
+ const XsdFacet::Ptr facet = facets.value(XsdFacet::Pattern);
+ const AtomicValue::List multiValue = facet->multiValue();
+ bool found = false;
+ for (int j = 0; j < multiValue.count(); ++j) {
+ const QString pattern = multiValue.at(j)->as<DerivedString<TypeString> >()->stringValue();
+ const QRegExp exp = PatternPlatform::parsePattern(pattern, m_context, m_reflection);
+ if (exp.exactMatch(lexicalValue)) {
+ found = true;
+ break;
+ }
+ }
+
+ if (!found) {
+ errorMsg = QtXmlPatterns::tr("double content does not match pattern facet");
+ return false;
+ }
+ }
+ if (facets.contains(XsdFacet::Assertion)) {
+ //TODO: implement
+ }
+
+ return true;
+}
+
+bool XsdTypeChecker::checkConstrainingFacetsDecimal(const AtomicValue::Ptr &value, const QString &lexicalValue, const XsdFacet::Hash &facets, QString &errorMsg) const
+{
+ if (facets.contains(XsdFacet::FractionDigits)) {
+ const XsdFacet::Ptr facet = facets.value(XsdFacet::FractionDigits);
+ const DerivedInteger<TypePositiveInteger>::Ptr facetValue = facet->value();
+
+ if (fractionDigitsForDecimal(lexicalValue) > facetValue->toInteger()) {
+ errorMsg = QtXmlPatterns::tr("decimal content does not match in the fractionDigits facet");
+ return false;
+ }
+ }
+ if (facets.contains(XsdFacet::TotalDigits)) {
+ const XsdFacet::Ptr facet = facets.value(XsdFacet::TotalDigits);
+ const DerivedInteger<TypePositiveInteger>::Ptr facetValue = facet->value();
+
+ if (totalDigitsForDecimal(lexicalValue) > facetValue->toInteger()) {
+ errorMsg = QtXmlPatterns::tr("decimal content does not match in the totalDigits facet");
+ return false;
+ }
+ }
+
+ return checkConstrainingFacetsDouble(value->as<Decimal>()->toDouble(), lexicalValue, facets, errorMsg);
+}
+
+bool XsdTypeChecker::checkConstrainingFacetsDateTime(const QDateTime &value, const QString &lexicalValue, const XsdFacet::Hash &facets, const AnySimpleType::Ptr &type, QString &errorMsg) const
+{
+ if (facets.contains(XsdFacet::MaximumInclusive)) {
+ const XsdFacet::Ptr facet = facets.value(XsdFacet::MaximumInclusive);
+ const AbstractDateTime::Ptr facetValue = ValueFactory::fromLexical(facet->value()->as<DerivedString<TypeString> >()->stringValue(), type, m_context, m_reflection);
+ if (facetValue->toDateTime() < value) {
+ errorMsg = QtXmlPatterns::tr("date time content does not match the maxInclusive facet");
+ return false;
+ }
+ }
+ if (facets.contains(XsdFacet::MaximumExclusive)) {
+ const XsdFacet::Ptr facet = facets.value(XsdFacet::MaximumExclusive);
+ const AbstractDateTime::Ptr facetValue = ValueFactory::fromLexical(facet->value()->as<DerivedString<TypeString> >()->stringValue(), type, m_context, m_reflection);
+ if (facetValue->toDateTime() <= value) {
+ errorMsg = QtXmlPatterns::tr("date time content does not match the maxExclusive facet");
+ return false;
+ }
+ }
+ if (facets.contains(XsdFacet::MinimumInclusive)) {
+ const XsdFacet::Ptr facet = facets.value(XsdFacet::MinimumInclusive);
+ const AbstractDateTime::Ptr facetValue = ValueFactory::fromLexical(facet->value()->as<DerivedString<TypeString> >()->stringValue(), type, m_context, m_reflection);
+ if (facetValue->toDateTime() > value) {
+ errorMsg = QtXmlPatterns::tr("date time content does not match the minInclusive facet");
+ return false;
+ }
+ }
+ if (facets.contains(XsdFacet::MinimumExclusive)) {
+ const XsdFacet::Ptr facet = facets.value(XsdFacet::MinimumExclusive);
+ const AbstractDateTime::Ptr facetValue = ValueFactory::fromLexical(facet->value()->as<DerivedString<TypeString> >()->stringValue(), type, m_context, m_reflection);
+ if (facetValue->toDateTime() >= value) {
+ errorMsg = QtXmlPatterns::tr("date time content does not match the minExclusive facet");
+ return false;
+ }
+ }
+ if (facets.contains(XsdFacet::Enumeration)) {
+ const XsdFacet::Ptr facet = facets.value(XsdFacet::Enumeration);
+
+ const AtomicValue::List multiValue = facet->multiValue();
+ bool found = false;
+ for (int j = 0; j < multiValue.count(); ++j) {
+ const AbstractDateTime::Ptr facetValue = ValueFactory::fromLexical(multiValue.at(j)->as<DerivedString<TypeString> >()->stringValue(), type, m_context, m_reflection);
+ if (facetValue->toDateTime() == value) {
+ found = true;
+ break;
+ }
+ }
+
+ if (!found) {
+ errorMsg = QtXmlPatterns::tr("date time content is not listed in the enumeration facet");
+ return false;
+ }
+ }
+ if (facets.contains(XsdFacet::Pattern)) {
+ const XsdFacet::Ptr facet = facets.value(XsdFacet::Pattern);
+ const AtomicValue::List multiValue = facet->multiValue();
+ bool found = false;
+ for (int j = 0; j < multiValue.count(); ++j) {
+ const QString pattern = multiValue.at(j)->as<DerivedString<TypeString> >()->stringValue();
+ const QRegExp exp = PatternPlatform::parsePattern(pattern, m_context, m_reflection);
+ if (exp.exactMatch(lexicalValue)) {
+ found = true;
+ break;
+ }
+ }
+
+ if (!found) {
+ errorMsg = QtXmlPatterns::tr("date time content does not match pattern facet");
+ return false;
+ }
+ }
+
+ return true;
+}
+
+bool XsdTypeChecker::checkConstrainingFacetsDuration(const AtomicValue::Ptr&, const QString &lexicalValue, const XsdFacet::Hash &facets, QString &errorMsg) const
+{
+ if (facets.contains(XsdFacet::MaximumInclusive)) {
+ const XsdFacet::Ptr facet = facets.value(XsdFacet::MaximumInclusive);
+ const DerivedString<TypeString>::Ptr value = DerivedString<TypeString>::fromLexical(m_namePool, lexicalValue);
+
+ if (XsdSchemaHelper::constructAndCompare(facets.value(XsdFacet::MaximumInclusive)->value(), AtomicComparator::OperatorLessThan, value, BuiltinTypes::xsDuration, m_context, m_reflection)) {
+ errorMsg = QtXmlPatterns::tr("duration content does not match the maxInclusive facet");
+ return false;
+ }
+ }
+ if (facets.contains(XsdFacet::MaximumExclusive)) {
+ const XsdFacet::Ptr facet = facets.value(XsdFacet::MaximumExclusive);
+ const DerivedString<TypeString>::Ptr value = DerivedString<TypeString>::fromLexical(m_namePool, lexicalValue);
+
+ if (XsdSchemaHelper::constructAndCompare(facets.value(XsdFacet::MaximumExclusive)->value(), AtomicComparator::OperatorLessOrEqual, value, BuiltinTypes::xsDuration, m_context, m_reflection)) {
+ errorMsg = QtXmlPatterns::tr("duration content does not match the maxExclusive facet");
+ return false;
+ }
+ }
+ if (facets.contains(XsdFacet::MinimumInclusive)) {
+ const XsdFacet::Ptr facet = facets.value(XsdFacet::MinimumInclusive);
+ const DerivedString<TypeString>::Ptr value = DerivedString<TypeString>::fromLexical(m_namePool, lexicalValue);
+
+ if (XsdSchemaHelper::constructAndCompare(facets.value(XsdFacet::MinimumInclusive)->value(), AtomicComparator::OperatorGreaterThan, value, BuiltinTypes::xsDuration, m_context, m_reflection)) {
+ errorMsg = QtXmlPatterns::tr("duration content does not match the minInclusive facet");
+ return false;
+ }
+ }
+ if (facets.contains(XsdFacet::MinimumExclusive)) {
+ const XsdFacet::Ptr facet = facets.value(XsdFacet::MinimumExclusive);
+ const DerivedString<TypeString>::Ptr value = DerivedString<TypeString>::fromLexical(m_namePool, lexicalValue);
+
+ if (XsdSchemaHelper::constructAndCompare(facets.value(XsdFacet::MinimumExclusive)->value(), AtomicComparator::OperatorGreaterOrEqual, value, BuiltinTypes::xsDuration, m_context, m_reflection)) {
+ errorMsg = QtXmlPatterns::tr("duration content does not match the minExclusive facet");
+ return false;
+ }
+ }
+ if (facets.contains(XsdFacet::Enumeration)) {
+ const XsdFacet::Ptr facet = facets.value(XsdFacet::Enumeration);
+ const DerivedString<TypeString>::Ptr value = DerivedString<TypeString>::fromLexical(m_namePool, lexicalValue);
+
+ const AtomicValue::List multiValue = facet->multiValue();
+ bool found = false;
+ for (int j = 0; j < multiValue.count(); ++j) {
+ if (XsdSchemaHelper::constructAndCompare(multiValue.at(j), AtomicComparator::OperatorEqual, value, BuiltinTypes::xsDuration, m_context, m_reflection)) {
+ found = true;
+ break;
+ }
+ }
+
+ if (!found) {
+ errorMsg = QtXmlPatterns::tr("duration content is not listed in the enumeration facet");
+ return false;
+ }
+ }
+ if (facets.contains(XsdFacet::Pattern)) {
+ const XsdFacet::Ptr facet = facets.value(XsdFacet::Pattern);
+ const AtomicValue::List multiValue = facet->multiValue();
+ bool found = false;
+ for (int j = 0; j < multiValue.count(); ++j) {
+ const QString pattern = multiValue.at(j)->as<DerivedString<TypeString> >()->stringValue();
+ const QRegExp exp = PatternPlatform::parsePattern(pattern, m_context, m_reflection);
+ if (exp.exactMatch(lexicalValue)) {
+ found = true;
+ break;
+ }
+ }
+
+ if (!found) {
+ errorMsg = QtXmlPatterns::tr("duration content does not match pattern facet");
+ return false;
+ }
+ }
+ if (facets.contains(XsdFacet::Assertion)) {
+ //TODO: implement
+ }
+
+ return true;
+}
+
+bool XsdTypeChecker::checkConstrainingFacetsBoolean(bool, const QString &lexicalValue, const XsdFacet::Hash &facets, QString &errorMsg) const
+{
+ if (facets.contains(XsdFacet::Pattern)) {
+ const XsdFacet::Ptr facet = facets.value(XsdFacet::Pattern);
+ const AtomicValue::List multiValue = facet->multiValue();
+ bool found = false;
+ for (int j = 0; j < multiValue.count(); ++j) {
+ const QString pattern = multiValue.at(j)->as<DerivedString<TypeString> >()->stringValue();
+ const QRegExp exp = PatternPlatform::parsePattern(pattern, m_context, m_reflection);
+ if (exp.exactMatch(lexicalValue)) {
+ found = true;
+ break;
+ }
+ }
+
+ if (!found) {
+ errorMsg = QtXmlPatterns::tr("boolean content does not match pattern facet");
+ return false;
+ }
+ }
+ if (facets.contains(XsdFacet::Assertion)) {
+ //TODO: implement
+ }
+
+ return true;
+}
+
+bool XsdTypeChecker::checkConstrainingFacetsBinary(const QByteArray &value, const XsdFacet::Hash &facets, const AnySimpleType::Ptr &type, QString &errorMsg) const
+{
+ if (facets.contains(XsdFacet::Length)) {
+ const XsdFacet::Ptr facet = facets.value(XsdFacet::Length);
+ const DerivedInteger<TypeNonNegativeInteger>::Ptr length = facet->value();
+ if (length->toInteger() != value.length()) {
+ errorMsg = QtXmlPatterns::tr("binary content does not match the length facet");
+ return false;
+ }
+ }
+ if (facets.contains(XsdFacet::MinimumLength)) {
+ const XsdFacet::Ptr facet = facets.value(XsdFacet::MinimumLength);
+ const DerivedInteger<TypeNonNegativeInteger>::Ptr length = facet->value();
+ if (length->toInteger() > value.length()) {
+ errorMsg = QtXmlPatterns::tr("binary content does not match the minLength facet");
+ return false;
+ }
+ }
+ if (facets.contains(XsdFacet::MaximumLength)) {
+ const XsdFacet::Ptr facet = facets.value(XsdFacet::MaximumLength);
+ const DerivedInteger<TypeNonNegativeInteger>::Ptr length = facet->value();
+ if (length->toInteger() < value.length()) {
+ errorMsg = QtXmlPatterns::tr("binary content does not match the maxLength facet");
+ return false;
+ }
+ }
+ if (facets.contains(XsdFacet::Enumeration)) {
+ const XsdFacet::Ptr facet = facets.value(XsdFacet::Enumeration);
+ const AtomicValue::List multiValue = facet->multiValue();
+ bool found = false;
+ for (int j = 0; j < multiValue.count(); ++j) {
+ const Base64Binary::Ptr binary = ValueFactory::fromLexical(multiValue.at(j)->as<DerivedString<TypeString> >()->stringValue(), type, m_context, m_reflection);
+ const QByteArray facetValue = binary->as<Base64Binary>()->asByteArray();
+ if (value == facetValue) {
+ found = true;
+ break;
+ }
+ }
+
+ if (!found) {
+ errorMsg = QtXmlPatterns::tr("binary content is not listed in the enumeration facet");
+ return false;
+ }
+ }
+ if (facets.contains(XsdFacet::Pattern)) {
+ //TODO: implement
+ }
+ if (facets.contains(XsdFacet::Assertion)) {
+ //TODO: implement
+ }
+
+ return true;
+}
+
+bool XsdTypeChecker::checkConstrainingFacetsQName(const QXmlName &value, const QString &lexicalValue, const XsdFacet::Hash &facets, QString &errorMsg) const
+{
+ if (facets.contains(XsdFacet::Length)) {
+ // always true
+ }
+ if (facets.contains(XsdFacet::MinimumLength)) {
+ // always true
+ }
+ if (facets.contains(XsdFacet::MaximumLength)) {
+ // always true
+ }
+ if (facets.contains(XsdFacet::Enumeration)) {
+ if (!XPathHelper::isQName(lexicalValue)) {
+ errorMsg = QtXmlPatterns::tr("invalid QName content: %1").arg(formatData(lexicalValue));
+ return false;
+ }
+
+ const XsdFacet::Ptr facet = facets.value(XsdFacet::Enumeration);
+ const AtomicValue::List multiValue = facet->multiValue();
+ bool found = false;
+ for (int j = 0; j < multiValue.count(); ++j) {
+ const QXmlName facetValue = multiValue.at(j)->as<QNameValue>()->qName();
+
+ if (value == facetValue) {
+ found = true;
+ break;
+ }
+ }
+
+ if (!found) {
+ errorMsg = QtXmlPatterns::tr("QName content is not listed in the enumeration facet");
+ return false;
+ }
+ }
+ if (facets.contains(XsdFacet::Pattern)) {
+ const XsdFacet::Ptr facet = facets.value(XsdFacet::Pattern);
+ const AtomicValue::List multiValue = facet->multiValue();
+ bool found = false;
+ for (int j = 0; j < multiValue.count(); ++j) {
+ const QString pattern = multiValue.at(j)->as<DerivedString<TypeString> >()->stringValue();
+ const QRegExp exp = PatternPlatform::parsePattern(pattern, m_context, m_reflection);
+ if (exp.exactMatch(lexicalValue)) {
+ found = true;
+ break;
+ }
+ }
+
+ if (!found) {
+ errorMsg = QtXmlPatterns::tr("QName content does not match pattern facet");
+ return false;
+ }
+ }
+ if (facets.contains(XsdFacet::Assertion)) {
+ //TODO: implement
+ }
+
+ return true;
+}
+
+bool XsdTypeChecker::checkConstrainingFacetsNotation(const QXmlName &value, const XsdFacet::Hash &facets, QString &errorMsg) const
+{
+ if (facets.contains(XsdFacet::Length)) {
+ // deprecated by spec
+ }
+ if (facets.contains(XsdFacet::MinimumLength)) {
+ // deprecated by spec
+ }
+ if (facets.contains(XsdFacet::MaximumLength)) {
+ // deprecated by spec
+ }
+ if (facets.contains(XsdFacet::Enumeration)) {
+ const XsdFacet::Ptr facet = facets.value(XsdFacet::Enumeration);
+ const AtomicValue::List multiValue = facet->multiValue();
+ bool found = false;
+ for (int j = 0; j < multiValue.count(); ++j) {
+ const QXmlName facetValue = multiValue.at(j)->as<QNameValue>()->qName();
+
+ if (value == facetValue) {
+ found = true;
+ break;
+ }
+ }
+
+ if (!found) {
+ errorMsg = QtXmlPatterns::tr("notation content is not listed in the enumeration facet");
+ return false;
+ }
+ }
+ if (facets.contains(XsdFacet::Pattern)) {
+ //TODO: implement
+ }
+ if (facets.contains(XsdFacet::Assertion)) {
+ //TODO: implement
+ }
+
+ return true;
+}
+
+bool XsdTypeChecker::checkConstrainingFacetsList(const QStringList &values, const QString &lexicalValue, const AnySimpleType::Ptr &itemType, const XsdFacet::Hash &facets, QString &errorMsg) const
+{
+ if (facets.contains(XsdFacet::Length)) {
+ const DerivedInteger<TypeNonNegativeInteger>::Ptr value = facets.value(XsdFacet::Length)->value();
+ if (value->toInteger() != values.count()) {
+ errorMsg = QtXmlPatterns::tr("list content does not match length facet");
+ return false;
+ }
+ }
+ if (facets.contains(XsdFacet::MinimumLength)) {
+ const DerivedInteger<TypeNonNegativeInteger>::Ptr value = facets.value(XsdFacet::MinimumLength)->value();
+ if (value->toInteger() > values.count()) {
+ errorMsg = QtXmlPatterns::tr("list content does not match minLength facet");
+ return false;
+ }
+ }
+ if (facets.contains(XsdFacet::MaximumLength)) {
+ const DerivedInteger<TypeNonNegativeInteger>::Ptr value = facets.value(XsdFacet::MaximumLength)->value();
+ if (value->toInteger() < values.count()) {
+ errorMsg = QtXmlPatterns::tr("list content does not match maxLength facet");
+ return false;
+ }
+ }
+ if (facets.contains(XsdFacet::Enumeration)) {
+
+ bool found = false;
+
+ // we have to handle lists with QName derived items differently
+ if (BuiltinTypes::xsQName->wxsTypeMatches(itemType) || BuiltinTypes::xsNOTATION->wxsTypeMatches(itemType)) {
+ // first convert the string values from the instance document to a list of QXmlName
+ QList<QXmlName> instanceValues;
+ for (int i = 0; i < values.count(); ++i) {
+ instanceValues.append(convertToQName(values.at(i)));
+ }
+
+ // fetch the values from the facet and create a list of QXmlNames for each of them
+ const XsdFacet::Ptr facet = facets.value(XsdFacet::Enumeration);
+
+ const AtomicValue::List multiValue = facet->multiValue();
+ for (int i = 0; i < multiValue.count(); ++i) {
+ const QStringList facetValueList = multiValue.at(i)->as<DerivedString<TypeString> >()->stringValue().split(QLatin1Char(' '), QString::SkipEmptyParts);
+
+ // create the list of atomic string values
+ QList<QXmlName> facetValues;
+ for (int j = 0; j < facetValueList.count(); ++j) {
+ facetValues.append(convertToQName(facetValueList.at(j)));
+ }
+
+ // check if both lists have the same length
+ if (instanceValues.count() != facetValues.count())
+ continue;
+
+ // check if both lists are equal, that means the contain equal items in the same order
+ bool matchesAll = true;
+ for (int j = 0; j < instanceValues.count(); ++j) {
+ if (instanceValues.at(j) != facetValues.at(j)) {
+ matchesAll = false;
+ break;
+ }
+ }
+
+ if (matchesAll) {
+ found = true;
+ break;
+ }
+ }
+ } else {
+ // first convert the string values from the instance document to atomic values of type string
+ AtomicValue::List instanceValues;
+ for (int i = 0; i < values.count(); ++i) {
+ instanceValues.append(DerivedString<TypeString>::fromLexical(m_namePool, values.at(i)));
+ }
+
+ // fetch the values from the facet and create a list of atomic string values for each of them
+ const XsdFacet::Ptr facet = facets.value(XsdFacet::Enumeration);
+
+ const AnySimpleType::Ptr targetType = comparableType(itemType);
+
+ const AtomicValue::List multiValue = facet->multiValue();
+ for (int i = 0; i < multiValue.count(); ++i) {
+ const QStringList facetValueList = multiValue.at(i)->as<DerivedString<TypeString> >()->stringValue().split(QLatin1Char(' '), QString::SkipEmptyParts);
+
+ // create the list of atomic string values
+ AtomicValue::List facetValues;
+ for (int j = 0; j < facetValueList.count(); ++j) {
+ facetValues.append(DerivedString<TypeString>::fromLexical(m_namePool, facetValueList.at(j)));
+ }
+
+ // check if both lists have the same length
+ if (instanceValues.count() != facetValues.count())
+ continue;
+
+ // check if both lists are equal, that means the contain equal items in the same order
+ bool matchesAll = true;
+ for (int j = 0; j < instanceValues.count(); ++j) {
+ if (!XsdSchemaHelper::constructAndCompare(instanceValues.at(j), AtomicComparator::OperatorEqual, facetValues.at(j), targetType, m_context, m_reflection)) {
+ matchesAll = false;
+ break;
+ }
+ }
+
+ if (matchesAll) {
+ found = true;
+ break;
+ }
+ }
+ }
+
+ if (!found) {
+ errorMsg = QtXmlPatterns::tr("list content is not listed in the enumeration facet");
+ return false;
+ }
+ }
+ if (facets.contains(XsdFacet::Pattern)) {
+ const XsdFacet::Ptr facet = facets.value(XsdFacet::Pattern);
+ const AtomicValue::List multiValue = facet->multiValue();
+ bool found = false;
+ for (int j = 0; j < multiValue.count(); ++j) {
+ const QString pattern = multiValue.at(j)->as<DerivedString<TypeString> >()->stringValue();
+ const QRegExp exp = PatternPlatform::parsePattern(pattern, m_context, m_reflection);
+ if (exp.exactMatch(lexicalValue)) {
+ found = true;
+ break;
+ }
+ }
+
+ if (!found) {
+ errorMsg = QtXmlPatterns::tr("list content does not match pattern facet");
+ return false;
+ }
+ }
+ if (facets.contains(XsdFacet::Assertion)) {
+ //TODO: implement
+ }
+
+ return true;
+}
+
+bool XsdTypeChecker::checkConstrainingFacetsUnion(const QString &value, const QString &lexicalValue, const XsdSimpleType::Ptr &simpleType, const XsdFacet::Hash &facets, QString &errorMsg) const
+{
+ if (facets.contains(XsdFacet::Enumeration)) {
+ const AnySimpleType::List memberTypes = simpleType->memberTypes();
+
+ const XsdFacet::Ptr facet = facets.value(XsdFacet::Enumeration);
+
+ // convert the instance value into an atomic string value
+ const DerivedString<TypeString>::Ptr valueString = DerivedString<TypeString>::fromLexical(m_namePool, value);
+
+ // collect the facet values into a list of atomic string values
+ const AtomicValue::List facetValues = facet->multiValue();
+
+ // compare the instance value against the facetValues for each member type and
+ // search for a match
+
+ bool found = false;
+ for (int i = 0; i < memberTypes.count(); ++i) {
+ const AnySimpleType::Ptr targetType = comparableType(memberTypes.at(i));
+ for (int j = 0; j < facetValues.count(); ++j) {
+ if (XsdSchemaHelper::constructAndCompare(valueString, AtomicComparator::OperatorEqual, facetValues.at(j), targetType, m_context, m_reflection)) {
+ found = true;
+ break;
+ }
+ }
+ }
+
+ if (!found) {
+ errorMsg = QtXmlPatterns::tr("union content is not listed in the enumeration facet");
+ return false;
+ }
+ }
+ if (facets.contains(XsdFacet::Pattern)) {
+ const XsdFacet::Ptr facet = facets.value(XsdFacet::Pattern);
+ const AtomicValue::List multiValue = facet->multiValue();
+ bool found = false;
+ for (int j = 0; j < multiValue.count(); ++j) {
+ const QString pattern = multiValue.at(j)->as<DerivedString<TypeString> >()->stringValue();
+ const QRegExp exp = PatternPlatform::parsePattern(pattern, m_context, m_reflection);
+ if (exp.exactMatch(lexicalValue)) {
+ found = true;
+ break;
+ }
+ }
+
+ if (!found) {
+ errorMsg = QtXmlPatterns::tr("union content does not match pattern facet");
+ return false;
+ }
+ }
+ if (facets.contains(XsdFacet::Assertion)) {
+ //TODO: implement
+ }
+
+ return true;
+}
+
+AtomicValue::Ptr XsdTypeChecker::fromLexical(const QString &value, const SchemaType::Ptr &type, const ReportContext::Ptr &context, const SourceLocationReflection *const reflection) const
+{
+ if (type->name(m_namePool) == BuiltinTypes::xsNOTATION->name(m_namePool) || type->name(m_namePool) == BuiltinTypes::xsQName->name(m_namePool)) {
+ if (value.simplified().isEmpty())
+ return ValidationError::createError(QtXmlPatterns::tr("data of type %1 are not allowed to be empty").arg(formatType(m_namePool, BuiltinTypes::xsNOTATION)));
+
+ const QXmlName valueName = convertToQName(value);
+ return QNameValue::fromValue(m_namePool, valueName);
+ } else {
+ return ValueFactory::fromLexical(value, type, context, reflection);
+ }
+}
+
+QXmlName XsdTypeChecker::convertToQName(const QString &name) const
+{
+ const int pos = name.indexOf(QLatin1Char(':'));
+
+ QXmlName::PrefixCode prefixCode = 0;
+ QXmlName::NamespaceCode namespaceCode;
+ QXmlName::LocalNameCode localNameCode;
+ if (pos != -1) {
+ prefixCode = m_context->namePool()->allocatePrefix(name.left(pos));
+ namespaceCode = StandardNamespaces::empty;
+ for (int i = 0; i < m_namespaceBindings.count(); ++i) {
+ if (m_namespaceBindings.at(i).prefix() == prefixCode) {
+ namespaceCode = m_namespaceBindings.at(i).namespaceURI();
+ break;
+ }
+ }
+ localNameCode = m_context->namePool()->allocateLocalName(name.mid(pos + 1));
+ } else {
+ prefixCode = StandardPrefixes::empty;
+ namespaceCode = StandardNamespaces::empty;
+ for (int i = 0; i < m_namespaceBindings.count(); ++i) {
+ if (m_namespaceBindings.at(i).prefix() == prefixCode) {
+ namespaceCode = m_namespaceBindings.at(i).namespaceURI();
+ break;
+ }
+ }
+ localNameCode = m_context->namePool()->allocateLocalName(name);
+ }
+
+ return QXmlName(namespaceCode, localNameCode, prefixCode);
+}
+
+QT_END_NAMESPACE
diff --git a/src/xmlpatterns/schema/qxsdtypechecker_p.h b/src/xmlpatterns/schema/qxsdtypechecker_p.h
new file mode 100644
index 0000000..88a0c63
--- /dev/null
+++ b/src/xmlpatterns/schema/qxsdtypechecker_p.h
@@ -0,0 +1,189 @@
+/****************************************************************************
+**
+** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtXmlPatterns of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+
+#ifndef Patternist_XsdTypeChecker_H
+#define Patternist_XsdTypeChecker_H
+
+#include <QtXmlPatterns/QSourceLocation>
+
+#include "qschematype_p.h"
+#include "qsourcelocationreflection_p.h"
+#include "qxsdschemacontext_p.h"
+
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+class QXmlQuery;
+
+namespace QPatternist
+{
+ /**
+ * @short An implementation of SourceLocationReflection that takes a QSourceLocation.
+ *
+ * This is a convenience class which provides a QSourceLocation with a SourceLocationReflection
+ * interface.
+ */
+ class XsdSchemaSourceLocationReflection : public SourceLocationReflection
+ {
+ public:
+ XsdSchemaSourceLocationReflection(const QSourceLocation &location);
+
+ virtual const SourceLocationReflection *actualReflection() const;
+ virtual QSourceLocation sourceLocation() const;
+
+ private:
+ const QSourceLocation m_sourceLocation;
+ };
+
+ /**
+ * @short The class that provides methods for checking a string against a type.
+ *
+ * The class provides functionality for type-aware string handling.
+ */
+ class XsdTypeChecker
+ {
+ public:
+ /**
+ * Creates a new type checker.
+ *
+ * @param context The schema context that is used for error reporting.
+ * @param namespaceBindings The namespace bindings that shall be used to check against xs:QName based types.
+ * @param location The source location that is used for error reporting.
+ */
+ XsdTypeChecker(const XsdSchemaContext::Ptr &context, const QVector<QXmlName> &namespaceBindings, const QSourceLocation &location);
+
+ /**
+ * Destroys the type checker.
+ */
+ ~XsdTypeChecker();
+
+ /**
+ * Returns all facets for the given @p type.
+ *
+ * The list of facets is created by following the type hierarchy from xs:anyType down to the given type
+ * and merging the facets in each step.
+ */
+ static XsdFacet::Hash mergedFacetsForType(const SchemaType::Ptr &type, const XsdSchemaContext::Ptr &context);
+
+ /**
+ * Returns the normalized value for the given @p value.
+ *
+ * The normalized value is the original value with all the white space facets
+ * applied on it.
+ *
+ * @param value The original value.
+ * @param facets The hash of all facets of the values type.
+ */
+ static QString normalizedValue(const QString &value, const XsdFacet::Hash &facets);
+
+ /**
+ * Checks whether the @p normalizedString is valid according the given @p type.
+ *
+ * @param normalizedString The string in normalized form (whitespace facets applied).
+ * @param type The type the string shall be tested against.
+ * @param errorMsg Contains the error message if the normalizedString does not match the type.
+ * @param boundType The type the data was bound to during validation.
+ *
+ * @note The @p boundType only differs from @p type if the type is derived from an based union value.
+ */
+ bool isValidString(const QString &normalizedString, const AnySimpleType::Ptr &type, QString &errorMsg, AnySimpleType::Ptr *boundType = 0) const;
+
+ /**
+ * Returns whether the given @p value and @p otherValue are of @p type and are equal.
+ */
+ bool valuesAreEqual(const QString &value, const QString &otherValue, const AnySimpleType::Ptr &type) const;
+
+ private:
+ Q_DISABLE_COPY(XsdTypeChecker)
+
+ /**
+ * Checks the given value against the facets of @p type.
+ */
+ bool checkConstrainingFacets(const AtomicValue::Ptr &value, const QString &lexicalValue, const AnySimpleType::Ptr &type, QString &errorMsg) const;
+ bool checkConstrainingFacetsString(const QString &value, const XsdFacet::Hash &facets, const AnySimpleType::Ptr &type, QString &errorMsg) const;
+ bool checkConstrainingFacetsSignedInteger(long long value, const QString &lexicalValue, const XsdFacet::Hash &facets, QString &errorMsg) const;
+ bool checkConstrainingFacetsUnsignedInteger(unsigned long long value, const QString &lexicalValue, const XsdFacet::Hash &facets, QString &errorMsg) const;
+ bool checkConstrainingFacetsDouble(double value, const QString &lexicalValue, const XsdFacet::Hash &facets, QString &errorMsg) const;
+ bool checkConstrainingFacetsDecimal(const AtomicValue::Ptr &value, const QString &lexicalValue, const XsdFacet::Hash &facets, QString &errorMsg) const;
+ bool checkConstrainingFacetsDateTime(const QDateTime &value, const QString &lexicalValue, const XsdFacet::Hash &facets, const AnySimpleType::Ptr &type, QString &errorMsg) const;
+ bool checkConstrainingFacetsDuration(const AtomicValue::Ptr &value, const QString &lexicalValue, const XsdFacet::Hash &facets, QString &errorMsg) const;
+ bool checkConstrainingFacetsBoolean(bool value, const QString &lexicalValue, const XsdFacet::Hash &facets, QString &errorMsg) const;
+ bool checkConstrainingFacetsBinary(const QByteArray &value, const XsdFacet::Hash &facets, const AnySimpleType::Ptr &type, QString &errorMsg) const;
+ bool checkConstrainingFacetsQName(const QXmlName&, const QString &lexicalValue, const XsdFacet::Hash &facets, QString &errorMsg) const;
+ bool checkConstrainingFacetsNotation(const QXmlName &value, const XsdFacet::Hash &facets, QString &errorMsg) const;
+ bool checkConstrainingFacetsList(const QStringList &values, const QString &lexicalValue, const AnySimpleType::Ptr &itemType, const XsdFacet::Hash &facets, QString &errorMsg) const;
+ bool checkConstrainingFacetsUnion(const QString &value, const QString &lexicalValue, const XsdSimpleType::Ptr &simpleType, const XsdFacet::Hash &facets, QString &errorMsg) const;
+
+ /**
+ * Creates an atomic value of @p type from the given string @p value.
+ */
+ AtomicValue::Ptr fromLexical(const QString &value, const SchemaType::Ptr &type, const ReportContext::Ptr &context, const SourceLocationReflection *const reflection) const;
+
+ /**
+ * Converts a qualified name into a QXmlName according to the namespace
+ * mappings of the current node.
+ */
+ QXmlName convertToQName(const QString &name) const;
+
+ XsdSchemaContext::Ptr m_context;
+ XsdSchema::Ptr m_schema;
+ const NamePool::Ptr m_namePool;
+ QVector<QXmlName> m_namespaceBindings;
+ SourceLocationReflection* m_reflection;
+ };
+}
+
+QT_END_NAMESPACE
+
+QT_END_HEADER
+
+#endif
diff --git a/src/xmlpatterns/schema/qxsduserschematype.cpp b/src/xmlpatterns/schema/qxsduserschematype.cpp
new file mode 100644
index 0000000..bb545b4
--- /dev/null
+++ b/src/xmlpatterns/schema/qxsduserschematype.cpp
@@ -0,0 +1,75 @@
+/****************************************************************************
+**
+** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the QtXmlPatterns of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*
+ * NOTE: This file is included by qxsduserschematype_p.h
+ * if you need some includes, put them in qxsduserschematype_p.h (outside of the namespace)
+ */
+
+template<typename TSuperClass>
+void XsdUserSchemaType<TSuperClass>::setName(const QXmlName &name)
+{
+ m_name = name;
+}
+
+template<typename TSuperClass>
+QXmlName XsdUserSchemaType<TSuperClass>::name(const NamePool::Ptr&) const
+{
+ return m_name;
+}
+
+template<typename TSuperClass>
+QString XsdUserSchemaType<TSuperClass>::displayName(const NamePool::Ptr &np) const
+{
+ return np->displayName(m_name);
+}
+
+template<typename TSuperClass>
+void XsdUserSchemaType<TSuperClass>::setDerivationConstraints(const SchemaType::DerivationConstraints &constraints)
+{
+ m_derivationConstraints = constraints;
+}
+
+template<typename TSuperClass>
+SchemaType::DerivationConstraints XsdUserSchemaType<TSuperClass>::derivationConstraints() const
+{
+ return m_derivationConstraints;
+}
diff --git a/src/xmlpatterns/schema/qxsduserschematype_p.h b/src/xmlpatterns/schema/qxsduserschematype_p.h
new file mode 100644
index 0000000..9138d09
--- /dev/null
+++ b/src/xmlpatterns/schema/qxsduserschematype_p.h
@@ -0,0 +1,124 @@
+/****************************************************************************
+**
+** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtXmlPatterns of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+
+#ifndef Patternist_XsdUserSchemaType_H
+#define Patternist_XsdUserSchemaType_H
+
+#include "qnamedschemacomponent_p.h"
+#include "qschematype_p.h"
+#include "qxsdannotated_p.h"
+
+template<typename N, typename M> class QHash;
+template<typename N> class QList;
+
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+namespace QPatternist
+{
+ /**
+ * @short A base class for all user defined simple and complex types.
+ *
+ * This class was introduced to combine the SchemaType class and the
+ * NamedSchemaComponent class without explicit inheritance.
+ *
+ * @ingroup Patternist_schema
+ * @author Tobias Koenig <tobias.koenig@trolltech.com>
+ */
+ template<typename TSuperClass>
+ class XsdUserSchemaType : public TSuperClass, public NamedSchemaComponent, public XsdAnnotated
+ {
+ public:
+ typedef QExplicitlySharedDataPointer<XsdUserSchemaType> Ptr;
+
+ /**
+ * Sets the @p name of the type.
+ */
+ void setName(const QXmlName &name);
+
+ /**
+ * Returns the name of the type.
+ *
+ * @param namePool The pool the name belongs to.
+ */
+ virtual QXmlName name(const NamePool::Ptr &namePool) const;
+
+ /**
+ * Returns the display name of the type.
+ *
+ * @param namePool The pool the name belongs to.
+ */
+ virtual QString displayName(const NamePool::Ptr &namePool) const;
+
+ /**
+ * Sets the derivation @p constraints of the type.
+ */
+ void setDerivationConstraints(const SchemaType::DerivationConstraints &constraints);
+
+ /**
+ * Returns the derivation constraints of the type.
+ */
+ SchemaType::DerivationConstraints derivationConstraints() const;
+
+ private:
+ QXmlName m_name;
+ SchemaType::DerivationConstraints m_derivationConstraints;
+ };
+
+ #include "qxsduserschematype.cpp"
+}
+
+QT_END_NAMESPACE
+
+QT_END_HEADER
+
+#endif
diff --git a/src/xmlpatterns/schema/qxsdvalidatedxmlnodemodel.cpp b/src/xmlpatterns/schema/qxsdvalidatedxmlnodemodel.cpp
new file mode 100644
index 0000000..944ae79
--- /dev/null
+++ b/src/xmlpatterns/schema/qxsdvalidatedxmlnodemodel.cpp
@@ -0,0 +1,215 @@
+/****************************************************************************
+**
+** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the QtXmlPatterns of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "qxsdvalidatedxmlnodemodel_p.h"
+
+#include <QtCore/QUrl>
+#include <QtCore/QVariant>
+#include <QtCore/QVector>
+
+QT_BEGIN_NAMESPACE
+
+using namespace QPatternist;
+
+XsdValidatedXmlNodeModel::XsdValidatedXmlNodeModel(const QAbstractXmlNodeModel *model)
+ : m_internalModel(model)
+{
+}
+
+XsdValidatedXmlNodeModel::~XsdValidatedXmlNodeModel()
+{
+}
+
+QUrl XsdValidatedXmlNodeModel::baseUri(const QXmlNodeModelIndex &index) const
+{
+ return m_internalModel->baseUri(index);
+}
+
+QUrl XsdValidatedXmlNodeModel::documentUri(const QXmlNodeModelIndex &index) const
+{
+ return m_internalModel->documentUri(index);
+}
+
+QXmlNodeModelIndex::NodeKind XsdValidatedXmlNodeModel::kind(const QXmlNodeModelIndex &index) const
+{
+ return m_internalModel->kind(index);
+}
+
+QXmlNodeModelIndex::DocumentOrder XsdValidatedXmlNodeModel::compareOrder(const QXmlNodeModelIndex &index, const QXmlNodeModelIndex &otherIndex) const
+{
+ return m_internalModel->compareOrder(index, otherIndex);
+}
+
+QXmlNodeModelIndex XsdValidatedXmlNodeModel::root(const QXmlNodeModelIndex &index) const
+{
+ return m_internalModel->root(index);
+}
+
+QXmlName XsdValidatedXmlNodeModel::name(const QXmlNodeModelIndex &index) const
+{
+ return m_internalModel->name(index);
+}
+
+QString XsdValidatedXmlNodeModel::stringValue(const QXmlNodeModelIndex &index) const
+{
+ return m_internalModel->stringValue(index);
+}
+
+QVariant XsdValidatedXmlNodeModel::typedValue(const QXmlNodeModelIndex &index) const
+{
+ return m_internalModel->typedValue(index);
+}
+
+QExplicitlySharedDataPointer<QAbstractXmlForwardIterator<QXmlNodeModelIndex> > XsdValidatedXmlNodeModel::iterate(const QXmlNodeModelIndex &index, QXmlNodeModelIndex::Axis axis) const
+{
+ return m_internalModel->iterate(index, axis);
+}
+
+QPatternist::ItemIteratorPtr XsdValidatedXmlNodeModel::sequencedTypedValue(const QXmlNodeModelIndex &index) const
+{
+ return m_internalModel->sequencedTypedValue(index);
+}
+
+QPatternist::ItemTypePtr XsdValidatedXmlNodeModel::type(const QXmlNodeModelIndex &index) const
+{
+ return m_internalModel->type(index);
+}
+
+QXmlName::NamespaceCode XsdValidatedXmlNodeModel::namespaceForPrefix(const QXmlNodeModelIndex &index, const QXmlName::PrefixCode prefix) const
+{
+ return m_internalModel->namespaceForPrefix(index, prefix);
+}
+
+bool XsdValidatedXmlNodeModel::isDeepEqual(const QXmlNodeModelIndex &index, const QXmlNodeModelIndex &otherIndex) const
+{
+ return m_internalModel->isDeepEqual(index, otherIndex);
+}
+
+void XsdValidatedXmlNodeModel::sendNamespaces(const QXmlNodeModelIndex &index, QAbstractXmlReceiver *const receiver) const
+{
+ m_internalModel->sendNamespaces(index, receiver);
+}
+
+QVector<QXmlName> XsdValidatedXmlNodeModel::namespaceBindings(const QXmlNodeModelIndex &index) const
+{
+ return m_internalModel->namespaceBindings(index);
+}
+
+QXmlNodeModelIndex XsdValidatedXmlNodeModel::elementById(const QXmlName &name) const
+{
+ return m_internalModel->elementById(name);
+}
+
+QVector<QXmlNodeModelIndex> XsdValidatedXmlNodeModel::nodesByIdref(const QXmlName &name) const
+{
+ return m_internalModel->nodesByIdref(name);
+}
+
+void XsdValidatedXmlNodeModel::copyNodeTo(const QXmlNodeModelIndex &index, QAbstractXmlReceiver *const receiver, const NodeCopySettings &settings) const
+{
+ return m_internalModel->copyNodeTo(index, receiver, settings);
+}
+
+QXmlNodeModelIndex XsdValidatedXmlNodeModel::nextFromSimpleAxis(SimpleAxis axis, const QXmlNodeModelIndex &origin) const
+{
+ return m_internalModel->nextFromSimpleAxis(axis, origin);
+}
+
+QVector<QXmlNodeModelIndex> XsdValidatedXmlNodeModel::attributes(const QXmlNodeModelIndex &index) const
+{
+ return m_internalModel->attributes(index);
+}
+
+void XsdValidatedXmlNodeModel::setAssignedElement(const QXmlNodeModelIndex &index, const XsdElement::Ptr &element)
+{
+ m_assignedElements.insert(index, element);
+}
+
+XsdElement::Ptr XsdValidatedXmlNodeModel::assignedElement(const QXmlNodeModelIndex &index) const
+{
+ if (m_assignedElements.contains(index))
+ return m_assignedElements.value(index);
+ else
+ return XsdElement::Ptr();
+}
+
+void XsdValidatedXmlNodeModel::setAssignedAttribute(const QXmlNodeModelIndex &index, const XsdAttribute::Ptr &attribute)
+{
+ m_assignedAttributes.insert(index, attribute);
+}
+
+XsdAttribute::Ptr XsdValidatedXmlNodeModel::assignedAttribute(const QXmlNodeModelIndex &index) const
+{
+ if (m_assignedAttributes.contains(index))
+ return m_assignedAttributes.value(index);
+ else
+ return XsdAttribute::Ptr();
+}
+
+void XsdValidatedXmlNodeModel::setAssignedType(const QXmlNodeModelIndex &index, const SchemaType::Ptr &type)
+{
+ m_assignedTypes.insert(index, type);
+}
+
+SchemaType::Ptr XsdValidatedXmlNodeModel::assignedType(const QXmlNodeModelIndex &index) const
+{
+ if (m_assignedTypes.contains(index))
+ return m_assignedTypes.value(index);
+ else
+ return SchemaType::Ptr();
+}
+
+void XsdValidatedXmlNodeModel::addIdIdRefBinding(const QString &id, const NamedSchemaComponent::Ptr &binding)
+{
+ m_idIdRefBindings[id].insert(binding);
+}
+
+QStringList XsdValidatedXmlNodeModel::idIdRefBindingIds() const
+{
+ return m_idIdRefBindings.keys();
+}
+
+QSet<NamedSchemaComponent::Ptr> XsdValidatedXmlNodeModel::idIdRefBindings(const QString &id) const
+{
+ return m_idIdRefBindings.value(id);
+}
+
+QT_END_NAMESPACE
diff --git a/src/xmlpatterns/schema/qxsdvalidatedxmlnodemodel_p.h b/src/xmlpatterns/schema/qxsdvalidatedxmlnodemodel_p.h
new file mode 100644
index 0000000..6b6c03d
--- /dev/null
+++ b/src/xmlpatterns/schema/qxsdvalidatedxmlnodemodel_p.h
@@ -0,0 +1,179 @@
+/****************************************************************************
+**
+** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtXmlPatterns of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+
+#ifndef Patternist_XsdValidatedXmlNodeModel_H
+#define Patternist_XsdValidatedXmlNodeModel_H
+
+#include "qabstractxmlnodemodel.h"
+
+#include "qabstractxmlforwarditerator_p.h"
+#include "qitem_p.h"
+#include "qschematype_p.h"
+#include "qxsdelement_p.h"
+
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+namespace QPatternist
+{
+ /**
+ * @short A delegate class that wraps around a QAbstractXmlNodeModel and provides
+ * additional validation specific information.
+ *
+ * This class represents the input XML document enriched with additional type
+ * information that has been assigned during validation.
+ *
+ * @ingroup Patternist_schema
+ * @author Tobias Koenig <tobias.koenig@trolltech.com>
+ */
+ class XsdValidatedXmlNodeModel : public QAbstractXmlNodeModel
+ {
+ public:
+ typedef QExplicitlySharedDataPointer<XsdValidatedXmlNodeModel> Ptr;
+ typedef QList<Ptr> List;
+
+ /**
+ * Creates a new validated xml node model.
+ */
+ XsdValidatedXmlNodeModel(const QAbstractXmlNodeModel *model);
+
+ /**
+ * Destroys the validated xml node model.
+ */
+ virtual ~XsdValidatedXmlNodeModel();
+
+ virtual QUrl baseUri(const QXmlNodeModelIndex &ni) const;
+ virtual QUrl documentUri(const QXmlNodeModelIndex &ni) const;
+ virtual QXmlNodeModelIndex::NodeKind kind(const QXmlNodeModelIndex &ni) const;
+ virtual QXmlNodeModelIndex::DocumentOrder compareOrder(const QXmlNodeModelIndex &ni1, const QXmlNodeModelIndex &ni2) const;
+ virtual QXmlNodeModelIndex root(const QXmlNodeModelIndex &n) const;
+ virtual QXmlName name(const QXmlNodeModelIndex &ni) const;
+ virtual QString stringValue(const QXmlNodeModelIndex &n) const;
+ virtual QVariant typedValue(const QXmlNodeModelIndex &n) const;
+ virtual QExplicitlySharedDataPointer<QAbstractXmlForwardIterator<QXmlNodeModelIndex> > iterate(const QXmlNodeModelIndex &ni, QXmlNodeModelIndex::Axis axis) const;
+ virtual QPatternist::ItemIteratorPtr sequencedTypedValue(const QXmlNodeModelIndex &ni) const;
+ virtual QPatternist::ItemTypePtr type(const QXmlNodeModelIndex &ni) const;
+ virtual QXmlName::NamespaceCode namespaceForPrefix(const QXmlNodeModelIndex &ni, const QXmlName::PrefixCode prefix) const;
+ virtual bool isDeepEqual(const QXmlNodeModelIndex &ni1, const QXmlNodeModelIndex &ni2) const;
+ virtual void sendNamespaces(const QXmlNodeModelIndex &n, QAbstractXmlReceiver *const receiver) const;
+ virtual QVector<QXmlName> namespaceBindings(const QXmlNodeModelIndex &n) const;
+ virtual QXmlNodeModelIndex elementById(const QXmlName &NCName) const;
+ virtual QVector<QXmlNodeModelIndex> nodesByIdref(const QXmlName &NCName) const;
+ virtual void copyNodeTo(const QXmlNodeModelIndex &node, QAbstractXmlReceiver *const receiver, const NodeCopySettings &) const;
+
+ /**
+ * Sets the @p element that is assigned to the xml node at @p index.
+ */
+ void setAssignedElement(const QXmlNodeModelIndex &index, const XsdElement::Ptr &element);
+
+ /**
+ * Returns the element that is assigned to the xml node at @p index.
+ */
+ XsdElement::Ptr assignedElement(const QXmlNodeModelIndex &index) const;
+
+ /**
+ * Sets the @p attribute that is assigned to the xml node at @p index.
+ */
+ void setAssignedAttribute(const QXmlNodeModelIndex &index, const XsdAttribute::Ptr &attribute);
+
+ /**
+ * Returns the attribute that is assigned to the xml node at @p index.
+ */
+ XsdAttribute::Ptr assignedAttribute(const QXmlNodeModelIndex &index) const;
+
+ /**
+ * Sets the @p type that is assigned to the xml node at @p index.
+ *
+ * @note The type can be a different than the type of the element or
+ * attribute that is assigned to the index, since the instance
+ * document can overwrite it by xsi:type.
+ */
+ void setAssignedType(const QXmlNodeModelIndex &index, const SchemaType::Ptr &type);
+
+ /**
+ * Returns the type that is assigned to the xml node at @p index.
+ */
+ SchemaType::Ptr assignedType(const QXmlNodeModelIndex &index) const;
+
+ /**
+ * Adds the attribute or element @p binding with the given @p id.
+ */
+ void addIdIdRefBinding(const QString &id, const NamedSchemaComponent::Ptr &binding);
+
+ /**
+ * Returns a list of all binding ids.
+ */
+ QStringList idIdRefBindingIds() const;
+
+ /**
+ * Returns the set of bindings with the given @p id.
+ */
+ QSet<NamedSchemaComponent::Ptr> idIdRefBindings(const QString &id) const;
+
+ protected:
+ virtual QXmlNodeModelIndex nextFromSimpleAxis(SimpleAxis axis, const QXmlNodeModelIndex &origin) const;
+ virtual QVector<QXmlNodeModelIndex> attributes(const QXmlNodeModelIndex &element) const;
+
+ private:
+ QExplicitlySharedDataPointer<const QAbstractXmlNodeModel> m_internalModel;
+ QHash<QXmlNodeModelIndex, XsdElement::Ptr> m_assignedElements;
+ QHash<QXmlNodeModelIndex, XsdAttribute::Ptr> m_assignedAttributes;
+ QHash<QXmlNodeModelIndex, SchemaType::Ptr> m_assignedTypes;
+ QHash<QString, QSet<NamedSchemaComponent::Ptr> > m_idIdRefBindings;
+ };
+}
+
+QT_END_NAMESPACE
+
+QT_END_HEADER
+
+#endif
diff --git a/src/xmlpatterns/schema/qxsdvalidatinginstancereader.cpp b/src/xmlpatterns/schema/qxsdvalidatinginstancereader.cpp
new file mode 100644
index 0000000..8af70f6
--- /dev/null
+++ b/src/xmlpatterns/schema/qxsdvalidatinginstancereader.cpp
@@ -0,0 +1,1276 @@
+/****************************************************************************
+**
+** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the QtXmlPatterns of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "qxsdvalidatinginstancereader_p.h"
+
+#include "qabstractdatetime_p.h"
+#include "qacceltreeresourceloader_p.h"
+#include "qbase64binary_p.h"
+#include "qboolean_p.h"
+#include "qcommonnamespaces_p.h"
+#include "qderivedinteger_p.h"
+#include "qduration_p.h"
+#include "qgenericstaticcontext_p.h"
+#include "qhexbinary_p.h"
+#include "qnamespaceresolver_p.h"
+#include "qpatternplatform_p.h"
+#include "qqnamevalue_p.h"
+#include "qsourcelocationreflection_p.h"
+#include "qvaluefactory_p.h"
+#include "qxmlnamepool.h"
+#include "qxmlquery_p.h"
+#include "qxmlschema_p.h"
+#include "qxsdschemahelper_p.h"
+#include "qxsdschemamerger_p.h"
+#include "qxsdstatemachine_p.h"
+#include "qxsdstatemachinebuilder_p.h"
+#include "qxsdtypechecker_p.h"
+
+#include "qxsdschemadebugger_p.h"
+
+#include <QtCore/QFile>
+#include <QtXmlPatterns/QXmlQuery>
+#include <QtXmlPatterns/QXmlResultItems>
+
+QT_BEGIN_NAMESPACE
+
+using namespace QPatternist;
+
+namespace QPatternist
+{
+ template <>
+ template <>
+ bool XsdStateMachine<XsdTerm::Ptr>::inputEqualsTransition<QXmlName>(QXmlName name, XsdTerm::Ptr term) const
+ {
+ if (term->isElement()) {
+ return (XsdElement::Ptr(term)->name(m_namePool) == name);
+ } else if (term->isWildcard()) {
+ // wildcards using XsdWildcard::absentNamespace, so we have to fix that here
+ if (name.namespaceURI() == StandardNamespaces::empty) {
+ name.setNamespaceURI(m_namePool->allocateNamespace(XsdWildcard::absentNamespace()));
+ }
+
+ return XsdSchemaHelper::wildcardAllowsExpandedName(name, XsdWildcard::Ptr(term), m_namePool);
+ }
+
+ return false;
+ }
+}
+
+XsdValidatingInstanceReader::XsdValidatingInstanceReader(XsdValidatedXmlNodeModel *model, const QUrl &documentUri, const XsdSchemaContext::Ptr &context)
+ : XsdInstanceReader(model, context)
+ , m_model(model)
+ , m_namePool(m_context->namePool())
+ , m_xsiNilName(m_namePool->allocateQName(CommonNamespaces::XSI, QLatin1String("nil")))
+ , m_xsiTypeName(m_namePool->allocateQName(CommonNamespaces::XSI, QLatin1String("type")))
+ , m_xsiSchemaLocationName(m_namePool->allocateQName(CommonNamespaces::XSI, QLatin1String("schemaLocation")))
+ , m_xsiNoNamespaceSchemaLocationName(m_namePool->allocateQName(CommonNamespaces::XSI, QLatin1String("noNamespaceSchemaLocation")))
+ , m_documentUri(documentUri)
+{
+ m_idRefsType = m_context->schemaTypeFactory()->createSchemaType(m_namePool->allocateQName(CommonNamespaces::WXS, QLatin1String("IDREFS")));
+}
+
+void XsdValidatingInstanceReader::addSchema(const XsdSchema::Ptr &schema, const QUrl &locationUrl)
+{
+ if (!m_mergedSchemas.contains(locationUrl)) {
+ m_mergedSchemas.insert(locationUrl, QStringList() << schema->targetNamespace());
+ } else {
+ QStringList &targetNamespaces = m_mergedSchemas[locationUrl];
+ if (targetNamespaces.contains(schema->targetNamespace()))
+ return;
+
+ targetNamespaces.append(schema->targetNamespace());
+ }
+
+ const XsdSchemaMerger merger(m_schema, schema);
+ m_schema = merger.mergedSchema();
+/*
+ XsdSchemaDebugger dbg(m_namePool);
+ dbg.dumpSchema(m_schema);
+*/
+}
+
+bool XsdValidatingInstanceReader::read()
+{
+ while (!atEnd()) {
+ readNext();
+
+ if (isEndElement())
+ return true;
+
+ if (isStartElement()) {
+ const QXmlName elementName = name();
+ const QXmlItem currentItem = item();
+ bool hasStateMachine = false;
+ XsdElement::Ptr processedElement;
+
+ if (!validate(hasStateMachine, processedElement))
+ return false;
+
+ read();
+
+ if (processedElement) { // for wildcard with 'skip' we have no element
+ m_model->setAssignedElement(currentItem.toNodeModelIndex(), processedElement);
+
+ // check identity constraints after all child nodes have been
+ // validated, so that we know there assigned types
+ validateIdentityConstraint(processedElement, currentItem);
+ }
+
+ if (!m_stateMachines.isEmpty() && hasStateMachine) {
+ if (!m_stateMachines.top().inEndState()) {
+ error(QtXmlPatterns::tr("element %1 is missing child element").arg(formatKeyword(m_namePool->displayName(elementName))));
+ return false;
+ }
+ m_stateMachines.pop();
+ }
+ }
+ }
+
+ // final validations
+
+ // check IDREF occurrences
+ const QStringList ids = m_model->idIdRefBindingIds();
+ QSetIterator<QString> it(m_idRefs);
+ while (it.hasNext()) {
+ const QString id = it.next();
+ if (!ids.contains(id)) {
+ error(QtXmlPatterns::tr("there is one IDREF value with no corresponding ID: %1").arg(formatKeyword(id)));
+ return false;
+ }
+ }
+
+ return true;
+}
+
+void XsdValidatingInstanceReader::error(const QString &msg) const
+{
+ m_context.data()->error(msg, XsdSchemaContext::XSDError, sourceLocation());
+}
+
+bool XsdValidatingInstanceReader::loadSchema(const QString &targetNamespace, const QUrl &location)
+{
+ const AutoPtr<QNetworkReply> reply(AccelTreeResourceLoader::load(location, m_context->networkAccessManager(),
+ m_context, AccelTreeResourceLoader::ContinueOnError));
+ if (!reply)
+ return true;
+
+ // we have to create a separated schema context here, that however shares the type factory
+ XsdSchemaContext::Ptr context(new XsdSchemaContext(m_namePool));
+ context->m_schemaTypeFactory = m_context->m_schemaTypeFactory;
+
+ QXmlSchemaPrivate schema(context);
+ schema.load(reply.data(), location, targetNamespace);
+ if (!schema.isValid()) {
+ error(QtXmlPatterns::tr("loaded schema file is invalid"));
+ return false;
+ }
+
+ addSchema(schema.m_schemaParserContext->schema(), location);
+
+ return true;
+}
+
+bool XsdValidatingInstanceReader::validate(bool &hasStateMachine, XsdElement::Ptr &processedElement)
+{
+ // first check if a custom schema is defined
+ if (hasAttribute(m_xsiSchemaLocationName)) {
+ const QString schemaLocation = attribute(m_xsiSchemaLocationName);
+ const QStringList parts = schemaLocation.split(QLatin1Char(' '), QString::SkipEmptyParts);
+ if ((parts.count()%2) == 1) {
+ error(QtXmlPatterns::tr("%1 contains invalid data").arg(formatKeyword(m_namePool, m_xsiSchemaLocationName)));
+ return false;
+ }
+
+ for (int i = 0; i < parts.count(); i += 2) {
+ const QString identifier = QString::fromLatin1("%1 %2").arg(parts.at(i)).arg(parts.at(i + 1));
+ if (m_processedSchemaLocations.contains(identifier))
+ continue;
+ else
+ m_processedSchemaLocations.insert(identifier);
+
+ // check constraint 4) from http://www.w3.org/TR/xmlschema-1/#schema-loc (only valid for XML Schema 1.0?)
+ if (m_processedNamespaces.contains(parts.at(i))) {
+ error(QtXmlPatterns::tr("xsi:schemaLocation namespace %1 has already appeared earlier in the instance document").arg(formatKeyword(parts.at(i))));
+ return false;
+ }
+
+ QUrl url(parts.at(i + 1));
+ if (url.isRelative()) {
+ Q_ASSERT(m_documentUri.isValid());
+
+ url = m_documentUri.resolved(url);
+ }
+
+ loadSchema(parts.at(i), url);
+ }
+ }
+
+ if (hasAttribute(m_xsiNoNamespaceSchemaLocationName)) {
+ const QString schemaLocation = attribute(m_xsiNoNamespaceSchemaLocationName);
+
+ if (!m_processedSchemaLocations.contains(schemaLocation)) {
+ m_processedSchemaLocations.insert(schemaLocation);
+
+ if (m_processedNamespaces.contains(QString())) {
+ error(QtXmlPatterns::tr("xsi:noNamespaceSchemaLocation cannot appear after the first no-namespace element or attribute"));
+ return false;
+ }
+
+ QUrl url(schemaLocation);
+ if (url.isRelative()) {
+ Q_ASSERT(m_documentUri.isValid());
+
+ url = m_documentUri.resolved(url);
+ }
+
+ loadSchema(QString(), url);
+ }
+ }
+
+ m_processedNamespaces.insert(m_namePool->stringForNamespace(name().namespaceURI()));
+
+ if (!m_schema) {
+ error(QtXmlPatterns::tr("no schema defined for validation"));
+ return false;
+ }
+
+ // check if we are 'inside' a type definition
+ if (m_stateMachines.isEmpty()) {
+ // find out the type of the top-level element
+ XsdElement::Ptr element = elementByName(name());
+ if (!element) {
+ if (!hasAttribute(m_xsiTypeName)) {
+ error(QtXmlPatterns::tr("no definition for element %1 available").arg(formatKeyword(m_namePool, name())));
+ return false;
+ }
+
+ // This instance document has an element with no definition in the schema
+ // but an explicitly given type, that is fine according to the spec.
+ // We will create an element definition manually here and continue the
+ // normal validation process
+ element = XsdElement::Ptr(new XsdElement());
+ element->setName(name());
+ element->setIsAbstract(false);
+ element->setIsNillable(hasAttribute(m_xsiNilName));
+
+ const QString type = qNameAttribute(m_xsiTypeName);
+ const QXmlName typeName = convertToQName(type);
+
+ const SchemaType::Ptr elementType = typeByName(typeName);
+ if (!elementType) {
+ error(QtXmlPatterns::tr("specified type %1 is not known to the schema").arg(formatType(m_namePool, typeName)));
+ return false;
+ }
+ element->setType(elementType);
+ }
+
+ // rememeber the element we process
+ processedElement = element;
+
+ if (!validateElement(element, hasStateMachine)) {
+ return false;
+ }
+
+ } else {
+ if (!m_stateMachines.top().proceed<QXmlName>(name())) {
+ error(QtXmlPatterns::tr("element %1 is not defined in this scope").arg(formatKeyword(m_namePool, name())));
+ return false;
+ }
+
+ const XsdTerm::Ptr term = m_stateMachines.top().lastTransition();
+ if (term->isElement()) {
+ const XsdElement::Ptr element(term);
+
+ // rememeber the element we process
+ processedElement = element;
+
+ if (!validateElement(element, hasStateMachine))
+ return false;
+
+ } else {
+ const XsdWildcard::Ptr wildcard(term);
+ if (wildcard->processContents() != XsdWildcard::Skip) {
+ XsdElement::Ptr elementDeclaration = elementByName(name());
+ if (!elementDeclaration) {
+ if (hasAttribute(m_xsiTypeName)) {
+ // This instance document has an element with no definition in the schema
+ // but an explicitly given type, that is fine according to the spec.
+ // We will create an element definition manually here and continue the
+ // normal validation process
+ elementDeclaration = XsdElement::Ptr(new XsdElement());
+ elementDeclaration->setName(name());
+ elementDeclaration->setIsAbstract(false);
+ elementDeclaration->setIsNillable(hasAttribute(m_xsiNilName));
+
+ const QString type = qNameAttribute(m_xsiTypeName);
+ const QXmlName typeName = convertToQName(type);
+
+ const SchemaType::Ptr elementType = typeByName(typeName);
+ if (!elementType) {
+ error(QtXmlPatterns::tr("specified type %1 is not known to the schema").arg(formatType(m_namePool, typeName)));
+ return false;
+ }
+ elementDeclaration->setType(elementType);
+ }
+ }
+
+ if (!elementDeclaration) {
+ if (wildcard->processContents() == XsdWildcard::Strict) {
+ error(QtXmlPatterns::tr("declaration for element %1 does not exist").arg(formatKeyword(m_namePool->displayName(name()))));
+ return false;
+ } else {
+ // in this case we put a state machine for the xs:anyType on the statemachine stack,
+ // so we accept every content of this element
+
+ createAndPushStateMachine(anyType()->contentType()->particle());
+ hasStateMachine = true;
+ }
+ } else {
+ if (!validateElement(elementDeclaration, hasStateMachine)) {
+ if (wildcard->processContents() == XsdWildcard::Strict) {
+ error(QtXmlPatterns::tr("element %1 contains invalid content").arg(formatKeyword(m_namePool->displayName(name()))));
+ return false;
+ }
+ }
+
+ // rememeber the type of that element node
+ m_model->setAssignedType(item().toNodeModelIndex(), elementDeclaration->type());
+ }
+ } else { // wildcard process contents type is Skip
+ // in this case we put a state machine for the xs:anyType on the statemachine stack,
+ // so we accept every content of this element
+
+ const XsdWildcard::Ptr wildcard(new XsdWildcard());
+ wildcard->namespaceConstraint()->setVariety(XsdWildcard::NamespaceConstraint::Any);
+ wildcard->setProcessContents(XsdWildcard::Skip);
+
+ const XsdParticle::Ptr outerParticle(new XsdParticle());
+ outerParticle->setMinimumOccurs(1);
+ outerParticle->setMaximumOccurs(1);
+
+ const XsdParticle::Ptr innerParticle(new XsdParticle());
+ innerParticle->setMinimumOccurs(0);
+ innerParticle->setMaximumOccursUnbounded(true);
+ innerParticle->setTerm(wildcard);
+
+ const XsdModelGroup::Ptr outerModelGroup(new XsdModelGroup());
+ outerModelGroup->setCompositor(XsdModelGroup::SequenceCompositor);
+ outerModelGroup->setParticles(XsdParticle::List() << innerParticle);
+ outerParticle->setTerm(outerModelGroup);
+
+ createAndPushStateMachine(outerParticle);
+ hasStateMachine = true;
+ }
+ }
+ }
+
+ return true;
+}
+
+void XsdValidatingInstanceReader::createAndPushStateMachine(const XsdParticle::Ptr &particle)
+{
+ XsdStateMachine<XsdTerm::Ptr> stateMachine(m_namePool);
+
+ XsdStateMachineBuilder builder(&stateMachine, m_namePool, XsdStateMachineBuilder::ValidatingMode);
+ const XsdStateMachine<XsdTerm::Ptr>::StateId endState = builder.reset();
+ const XsdStateMachine<XsdTerm::Ptr>::StateId startState = builder.buildParticle(particle, endState);
+ builder.addStartState(startState);
+
+/*
+ QString fileName = QString("/tmp/foo_%1.dot").arg(m_namePool->displayName(complexType->name(m_namePool)));
+ QString pngFileName = QString("/tmp/foo_%1.png").arg(m_namePool->displayName(complexType->name(m_namePool)));
+ QFile file(fileName);
+ file.open(QIODevice::WriteOnly);
+ stateMachine.outputGraph(&file, "Hello");
+ file.close();
+ ::system(QString("dot -Tpng %1 -o%2").arg(fileName).arg(pngFileName).toLatin1().data());
+*/
+
+ stateMachine = stateMachine.toDFA();
+
+ m_stateMachines.push(stateMachine);
+}
+
+bool XsdValidatingInstanceReader::validateElement(const XsdElement::Ptr &declaration, bool &hasStateMachine)
+{
+ // http://www.w3.org/TR/xmlschema11-1/#d0e10998
+
+ bool isNilled = false;
+
+ // 1 tested already, 'declaration' corresponds D
+
+ // 2
+ if (declaration->isAbstract()) {
+ error(QtXmlPatterns::tr("element %1 is declared as abstract").arg(formatKeyword(declaration->displayName(m_namePool))));
+ return false;
+ }
+
+ // 3
+ if (!declaration->isNillable()) {
+ if (hasAttribute(m_xsiNilName)) {
+ error(QtXmlPatterns::tr("element %1 is not nillable").arg(formatKeyword(declaration->displayName(m_namePool))));
+ return false; // 3.1
+ }
+ } else {
+ if (hasAttribute(m_xsiNilName)) {
+ const QString value = attribute(m_xsiNilName);
+ const Boolean::Ptr nil = Boolean::fromLexical(value);
+ if (nil->hasError()) {
+ error(QtXmlPatterns::tr("attribute %1 contains invalid data: %1").arg(formatKeyword(QLatin1String("nil"))).arg(formatData(value)));
+ return false;
+ }
+
+ // 3.2.3
+ if (nil->as<Boolean>()->value() == true) {
+ // 3.2.3.1
+ if (hasChildElement() || hasChildText()) {
+ error(QtXmlPatterns::tr("element contains content although it is nillable"));
+ return false;
+ }
+
+ // 3.2.3.2
+ if (declaration->valueConstraint() && declaration->valueConstraint()->variety() == XsdElement::ValueConstraint::Fixed) {
+ error(QtXmlPatterns::tr("fixed value constrained not allowed if element is nillable"));
+ return false;
+ }
+ }
+
+ isNilled = nil->as<Boolean>()->value();
+ }
+ }
+
+ SchemaType::Ptr finalElementType = declaration->type();
+
+ // 4
+ if (hasAttribute(m_xsiTypeName)) {
+ const QString type = qNameAttribute(m_xsiTypeName);
+ const QXmlName typeName = convertToQName(type);
+
+ const SchemaType::Ptr elementType = typeByName(typeName);
+ // 4.1
+ if (!elementType) {
+ error(QtXmlPatterns::tr("specified type %1 is not known to the schema").arg(formatType(m_namePool, typeName)));
+ return false;
+ }
+
+ // 4.2
+ SchemaType::DerivationConstraints constraints = 0;
+ if (declaration->disallowedSubstitutions() & NamedSchemaComponent::ExtensionConstraint)
+ constraints |= SchemaType::ExtensionConstraint;
+ if (declaration->disallowedSubstitutions() & NamedSchemaComponent::RestrictionConstraint)
+ constraints |= SchemaType::RestrictionConstraint;
+
+ if (!XsdSchemaHelper::isValidlySubstitutable(elementType, declaration->type(), constraints)) {
+ if (declaration->type()->name(m_namePool) != BuiltinTypes::xsAnyType->name(m_namePool)) { // xs:anyType is a valid substitutable type here
+ error(QtXmlPatterns::tr("specified type %1 is not validly substitutable with element type %2").arg(formatType(m_namePool, elementType)).arg(formatType(m_namePool, declaration->type())));
+ return false;
+ }
+ }
+
+ finalElementType = elementType;
+ }
+
+ if (!validateElementType(declaration, finalElementType, isNilled, hasStateMachine))
+ return false;
+
+ return true;
+}
+
+bool XsdValidatingInstanceReader::validateElementType(const XsdElement::Ptr &declaration, const SchemaType::Ptr &type, bool isNilled, bool &hasStateMachine)
+{
+ // @see http://www.w3.org/TR/xmlschema11-1/#d0e11749
+
+ // 1 checked already
+
+ // 2
+ if (type->isComplexType() && type->isDefinedBySchema()) {
+ if (XsdComplexType::Ptr(type)->isAbstract()) {
+ error(QtXmlPatterns::tr("complex type %1 is not allowed to be abstract").arg(formatType(m_namePool, type)));
+ return false;
+ }
+ }
+
+ // 3
+ if (type->isSimpleType())
+ return validateElementSimpleType(declaration, type, isNilled); // 3.1
+ else
+ return validateElementComplexType(declaration, type, isNilled, hasStateMachine); // 3.2
+}
+
+bool XsdValidatingInstanceReader::validateElementSimpleType(const XsdElement::Ptr &declaration, const SchemaType::Ptr &type, bool isNilled)
+{
+ // @see http://www.w3.org/TR/xmlschema11-1/#d0e11749
+
+ // 3.1.1
+ const QSet<QXmlName> allowedAttributes(QSet<QXmlName>() << m_xsiNilName << m_xsiTypeName << m_xsiSchemaLocationName << m_xsiNoNamespaceSchemaLocationName);
+ QSet<QXmlName> elementAttributes = attributeNames();
+ elementAttributes.subtract(allowedAttributes);
+ if (!elementAttributes.isEmpty()) {
+ error(QtXmlPatterns::tr("element %1 contains not allowed attributes").arg(formatKeyword(declaration->displayName(m_namePool))));
+ return false;
+ }
+
+ // 3.1.2
+ if (hasChildElement()) {
+ error(QtXmlPatterns::tr("element %1 contains not allowed child element").arg(formatKeyword(declaration->displayName(m_namePool))));
+ return false;
+ }
+
+ // 3.1.3
+ if (!isNilled) {
+ const XsdFacet::Hash facets = XsdTypeChecker::mergedFacetsForType(type, m_context);
+
+ QString actualValue;
+ if (hasChildText()) {
+ actualValue = XsdTypeChecker::normalizedValue(text(), facets);
+ } else {
+ if (declaration->valueConstraint())
+ actualValue = XsdTypeChecker::normalizedValue(declaration->valueConstraint()->value(), facets);
+ }
+
+ QString errorMsg;
+ AnySimpleType::Ptr boundType;
+
+ const XsdTypeChecker checker(m_context, namespaceBindings(item().toNodeModelIndex()), sourceLocation());
+ if (!checker.isValidString(actualValue, type, errorMsg, &boundType)) {
+ error(QtXmlPatterns::tr("content of element %1 does not match its type definition: %2").arg(formatKeyword(declaration->displayName(m_namePool))).arg(errorMsg));
+ return false;
+ }
+
+ // additional check
+ if (declaration->valueConstraint() && declaration->valueConstraint()->variety() == XsdElement::ValueConstraint::Fixed) {
+ const QString actualConstraintValue = XsdTypeChecker::normalizedValue(declaration->valueConstraint()->value(), facets);
+ if (!text().isEmpty() && !checker.valuesAreEqual(actualValue, actualConstraintValue, type)) {
+ error(QtXmlPatterns::tr("content of element %1 does not match defined value constraint").arg(formatKeyword(declaration->displayName(m_namePool))));
+ return false;
+ }
+ }
+ }
+
+ // 4 checked in validateElement already
+
+ // rememeber the type of that element node
+ m_model->setAssignedType(item().toNodeModelIndex(), type);
+
+ const XsdFacet::Hash facets = XsdTypeChecker::mergedFacetsForType(type, m_context);
+ const QString actualValue = XsdTypeChecker::normalizedValue(text(), facets);
+
+ if (BuiltinTypes::xsID->wxsTypeMatches(type)) {
+ addIdIdRefBinding(actualValue, declaration);
+ }
+
+ if (m_idRefsType->wxsTypeMatches(type)) {
+ const QStringList idRefs = actualValue.split(QLatin1Char(' '), QString::SkipEmptyParts);
+ for (int i = 0; i < idRefs.count(); ++i) {
+ m_idRefs.insert(idRefs.at(i));
+ }
+ } else if (BuiltinTypes::xsIDREF->wxsTypeMatches(type)) {
+ m_idRefs.insert(actualValue);
+ }
+
+ return true;
+}
+
+static bool hasIDAttributeUse(const XsdAttributeUse::List &uses)
+{
+ const int count = uses.count();
+ for (int i = 0; i < count; ++i) {
+ if (BuiltinTypes::xsID->wxsTypeMatches(uses.at(i)->attribute()->type()))
+ return true;
+ }
+
+ return false;
+}
+
+bool XsdValidatingInstanceReader::validateElementComplexType(const XsdElement::Ptr &declaration, const SchemaType::Ptr &type, bool isNilled, bool &hasStateMachine)
+{
+ // @see http://www.w3.org/TR/xmlschema11-1/#cvc-complex-type
+
+ // 1
+ if (!isNilled) {
+ XsdComplexType::Ptr complexType;
+
+ if (type->isDefinedBySchema()) {
+ complexType = XsdComplexType::Ptr(type);
+ } else {
+ if (type->name(m_namePool) == BuiltinTypes::xsAnyType->name(m_namePool))
+ complexType = anyType();
+ }
+
+ if (complexType) {
+ // 1.1
+ if (complexType->contentType()->variety() == XsdComplexType::ContentType::Empty) {
+ if (hasChildText() || hasChildElement()) {
+ error(QtXmlPatterns::tr("element %1 contains not allowed child content").arg(formatKeyword(declaration->displayName(m_namePool))));
+ return false;
+ }
+ }
+
+ // 1.2
+ if (complexType->contentType()->variety() == XsdComplexType::ContentType::Simple) {
+ if (hasChildElement()) {
+ error(QtXmlPatterns::tr("element %1 contains not allowed child element").arg(formatKeyword(declaration->displayName(m_namePool))));
+ return false;
+ }
+
+ const XsdFacet::Hash facets = XsdTypeChecker::mergedFacetsForType(complexType->contentType()->simpleType(), m_context);
+ QString actualValue;
+ if (hasChildText()) {
+ actualValue = XsdTypeChecker::normalizedValue(text(), facets);
+ } else {
+ if (declaration->valueConstraint())
+ actualValue = XsdTypeChecker::normalizedValue(declaration->valueConstraint()->value(), facets);
+ }
+
+ QString errorMsg;
+ AnySimpleType::Ptr boundType;
+ const XsdTypeChecker checker(m_context, namespaceBindings(item().toNodeModelIndex()), sourceLocation());
+ if (!checker.isValidString(actualValue, complexType->contentType()->simpleType(), errorMsg, &boundType)) {
+ error(QtXmlPatterns::tr("content of element %1 does not match its type definition: %2").arg(formatKeyword(declaration->displayName(m_namePool))).arg(errorMsg));
+ return false;
+ }
+
+ // additional check
+ if (declaration->valueConstraint() && declaration->valueConstraint()->variety() == XsdElement::ValueConstraint::Fixed) {
+ if (!checker.valuesAreEqual(actualValue, declaration->valueConstraint()->value(), boundType)) {
+ error(QtXmlPatterns::tr("content of element %1 does not match defined value constraint").arg(formatKeyword(declaration->displayName(m_namePool))));
+ return false;
+ }
+ }
+ }
+
+ // 1.3
+ if (complexType->contentType()->variety() == XsdComplexType::ContentType::ElementOnly) {
+ if (!text().simplified().isEmpty()) {
+ error(QtXmlPatterns::tr("element %1 contains not allowed text content").arg(formatKeyword(declaration->displayName(m_namePool))));
+ return false;
+ }
+ }
+
+ // 1.4
+ if (complexType->contentType()->variety() == XsdComplexType::ContentType::ElementOnly ||
+ complexType->contentType()->variety() == XsdComplexType::ContentType::Mixed) {
+
+ if (complexType->contentType()->particle()) {
+ createAndPushStateMachine(complexType->contentType()->particle());
+ hasStateMachine = true;
+ }
+
+ // additional check
+ if (complexType->contentType()->variety() == XsdComplexType::ContentType::Mixed) {
+ if (declaration->valueConstraint() && declaration->valueConstraint()->variety() == XsdElement::ValueConstraint::Fixed) {
+ if (hasChildElement()) {
+ error(QtXmlPatterns::tr("element %1 can not contain other elements, as it has a fixed content").arg(formatKeyword(declaration->displayName(m_namePool))));
+ return false;
+ }
+
+ const XsdFacet::Hash facets = XsdTypeChecker::mergedFacetsForType(complexType->contentType()->simpleType(), m_context);
+ QString actualValue;
+ if (hasChildText()) {
+ actualValue = XsdTypeChecker::normalizedValue(text(), facets);
+ } else {
+ if (declaration->valueConstraint())
+ actualValue = XsdTypeChecker::normalizedValue(declaration->valueConstraint()->value(), facets);
+ }
+
+ if (actualValue != declaration->valueConstraint()->value()) {
+ error(QtXmlPatterns::tr("content of element %1 does not match defined value constraint").arg(formatKeyword(declaration->displayName(m_namePool))));
+ return false;
+ }
+ }
+ }
+ }
+ }
+ }
+
+ if (type->isDefinedBySchema()) {
+ const XsdComplexType::Ptr complexType(type);
+
+ // create a lookup hash for faster access
+ QHash<QXmlName, XsdAttributeUse::Ptr> attributeUseHash;
+ {
+ const XsdAttributeUse::List attributeUses = complexType->attributeUses();
+ for (int i = 0; i < attributeUses.count(); ++i)
+ attributeUseHash.insert(attributeUses.at(i)->attribute()->name(m_namePool), attributeUses.at(i));
+ }
+
+ const QSet<QXmlName> attributes(attributeNames());
+
+ // 3
+ QHashIterator<QXmlName, XsdAttributeUse::Ptr> usesIt(attributeUseHash);
+ while (usesIt.hasNext()) {
+ usesIt.next();
+
+ if (usesIt.value()->isRequired()) {
+ if (!attributes.contains(usesIt.key())) {
+ error(QtXmlPatterns::tr("element %1 is missing required attribute %2").arg(formatKeyword(declaration->displayName(m_namePool)))
+ .arg(formatKeyword(m_namePool->displayName(usesIt.key()))));
+ return false;
+ }
+ }
+ }
+
+ bool hasIDAttribute = hasIDAttributeUse(complexType->attributeUses());
+
+ // 2
+ QSetIterator<QXmlName> it(attributes);
+ while (it.hasNext()) {
+ const QXmlName attributeName = it.next();
+
+ // skip builtin attributes
+ if (attributeName == m_xsiNilName ||
+ attributeName == m_xsiTypeName ||
+ attributeName == m_xsiSchemaLocationName ||
+ attributeName == m_xsiNoNamespaceSchemaLocationName)
+ continue;
+
+ // 2.1
+ if (attributeUseHash.contains(attributeName) && (attributeUseHash.value(attributeName)->useType() != XsdAttributeUse::ProhibitedUse)) {
+ if (!validateAttribute(attributeUseHash.value(attributeName), attribute(attributeName)))
+ return false;
+ } else { // 2.2
+ if (complexType->attributeWildcard()) {
+ const XsdWildcard::Ptr wildcard(complexType->attributeWildcard());
+ if (!validateAttributeWildcard(attributeName, wildcard)) {
+ error(QtXmlPatterns::tr("attribute %1 does not match the attribute wildcard").arg(formatKeyword(m_namePool->displayName(attributeName))));
+ return false;
+ }
+
+ if (wildcard->processContents() != XsdWildcard::Skip) {
+ const XsdAttribute::Ptr attributeDeclaration = attributeByName(attributeName);
+
+ if (!attributeDeclaration) {
+ if (wildcard->processContents() == XsdWildcard::Strict) {
+ error(QtXmlPatterns::tr("declaration for attribute %1 does not exist").arg(formatKeyword(m_namePool->displayName(attributeName))));
+ return false;
+ }
+ } else {
+ if (BuiltinTypes::xsID->wxsTypeMatches(attributeDeclaration->type())) {
+ if (hasIDAttribute) {
+ error(QtXmlPatterns::tr("element %1 contains two attributes of type %2")
+ .arg(formatKeyword(declaration->displayName(m_namePool)))
+ .arg(formatKeyword("ID")));
+ return false;
+ }
+
+ hasIDAttribute = true;
+ }
+
+ if (!validateAttribute(attributeDeclaration, attribute(attributeName))) {
+ if (wildcard->processContents() == XsdWildcard::Strict) {
+ error(QtXmlPatterns::tr("attribute %1 contains invalid content").arg(formatKeyword(m_namePool->displayName(attributeName))));
+ return false;
+ }
+ }
+ }
+ }
+ } else {
+ error(QtXmlPatterns::tr("element %1 contains unknown attribute %2").arg(formatKeyword(declaration->displayName(m_namePool)))
+ .arg(formatKeyword(m_namePool->displayName(attributeName))));
+ return false;
+ }
+ }
+ }
+ }
+
+ // 4
+ // so what?...
+
+ // 5
+ // hmm...
+
+ // 6
+ // TODO: check assertions
+
+ // 7
+ // TODO: check type table restrictions
+
+ // rememeber the type of that element node
+ m_model->setAssignedType(item().toNodeModelIndex(), type);
+
+ return true;
+}
+
+bool XsdValidatingInstanceReader::validateAttribute(const XsdAttributeUse::Ptr &declaration, const QString &value)
+{
+ const AnySimpleType::Ptr attributeType = declaration->attribute()->type();
+ const XsdFacet::Hash facets = XsdTypeChecker::mergedFacetsForType(attributeType, m_context);
+
+ const QString actualValue = XsdTypeChecker::normalizedValue(value, facets);
+
+ QString errorMsg;
+ AnySimpleType::Ptr boundType;
+
+ const QXmlNodeModelIndex index = attributeItem(declaration->attribute()->name(m_namePool)).toNodeModelIndex();
+
+ const XsdTypeChecker checker(m_context, namespaceBindings(index), sourceLocation());
+ if (!checker.isValidString(actualValue, attributeType, errorMsg, &boundType)) {
+ error(QtXmlPatterns::tr("content of attribute %1 does not match its type definition: %2").arg(formatKeyword(declaration->attribute()->displayName(m_namePool))).arg(errorMsg));
+ return false;
+ }
+
+ // @see http://www.w3.org/TR/xmlschema11-1/#cvc-au
+ if (declaration->valueConstraint() && declaration->valueConstraint()->variety() == XsdAttributeUse::ValueConstraint::Fixed) {
+ const QString actualConstraintValue = XsdTypeChecker::normalizedValue(declaration->valueConstraint()->value(), facets);
+ if (!checker.valuesAreEqual(actualValue, actualConstraintValue, attributeType)) {
+ error(QtXmlPatterns::tr("content of attribute %1 does not match defined value constraint").arg(formatKeyword(declaration->attribute()->displayName(m_namePool))));
+ return false;
+ }
+ }
+
+ if (BuiltinTypes::xsID->wxsTypeMatches(declaration->attribute()->type())) {
+ addIdIdRefBinding(actualValue, declaration->attribute());
+ }
+
+ if (m_idRefsType->wxsTypeMatches(declaration->attribute()->type())) {
+ const QStringList idRefs = actualValue.split(QLatin1Char(' '), QString::SkipEmptyParts);
+ for (int i = 0; i < idRefs.count(); ++i)
+ m_idRefs.insert(idRefs.at(i));
+ } else if (BuiltinTypes::xsIDREF->wxsTypeMatches(declaration->attribute()->type())) {
+ m_idRefs.insert(actualValue);
+ }
+
+ m_model->setAssignedType(index, declaration->attribute()->type());
+ m_model->setAssignedAttribute(index, declaration->attribute());
+
+ return true;
+}
+
+//TODO: merge that with the method above
+bool XsdValidatingInstanceReader::validateAttribute(const XsdAttribute::Ptr &declaration, const QString &value)
+{
+ const AnySimpleType::Ptr attributeType = declaration->type();
+ const XsdFacet::Hash facets = XsdTypeChecker::mergedFacetsForType(attributeType, m_context);
+
+ const QString actualValue = XsdTypeChecker::normalizedValue(value, facets);
+
+ QString errorMsg;
+ AnySimpleType::Ptr boundType;
+
+ const QXmlNodeModelIndex index = attributeItem(declaration->name(m_namePool)).toNodeModelIndex();
+
+ const XsdTypeChecker checker(m_context, namespaceBindings(index), sourceLocation());
+ if (!checker.isValidString(actualValue, attributeType, errorMsg, &boundType)) {
+ error(QtXmlPatterns::tr("content of attribute %1 does not match its type definition: %2").arg(formatKeyword(declaration->displayName(m_namePool))).arg(errorMsg));
+ return false;
+ }
+
+ // @see http://www.w3.org/TR/xmlschema11-1/#cvc-au
+ if (declaration->valueConstraint() && declaration->valueConstraint()->variety() == XsdAttribute::ValueConstraint::Fixed) {
+ const QString actualConstraintValue = XsdTypeChecker::normalizedValue(declaration->valueConstraint()->value(), facets);
+ if (!checker.valuesAreEqual(actualValue, actualConstraintValue, attributeType)) {
+ error(QtXmlPatterns::tr("content of attribute %1 does not match defined value constraint").arg(formatKeyword(declaration->displayName(m_namePool))));
+ return false;
+ }
+ }
+
+ if (BuiltinTypes::xsID->wxsTypeMatches(declaration->type())) {
+ addIdIdRefBinding(actualValue, declaration);
+ }
+
+ if (m_idRefsType->wxsTypeMatches(declaration->type())) {
+ const QStringList idRefs = actualValue.split(QLatin1Char(' '), QString::SkipEmptyParts);
+ for (int i = 0; i < idRefs.count(); ++i)
+ m_idRefs.insert(idRefs.at(i));
+ } else if (BuiltinTypes::xsIDREF->wxsTypeMatches(declaration->type())) {
+ m_idRefs.insert(actualValue);
+ }
+
+ m_model->setAssignedType(index, declaration->type());
+ m_model->setAssignedAttribute(index, declaration);
+
+ return true;
+}
+
+bool XsdValidatingInstanceReader::validateAttributeWildcard(const QXmlName &attributeName, const XsdWildcard::Ptr &wildcard)
+{
+ // @see http://www.w3.org/TR/xmlschema11-1/#cvc-wildcard
+
+ // wildcards using XsdWildcard::absentNamespace, so we have to fix that here
+ QXmlName name(attributeName);
+ if (name.namespaceURI() == StandardNamespaces::empty) {
+ name.setNamespaceURI(m_namePool->allocateNamespace(XsdWildcard::absentNamespace()));
+ }
+
+ return XsdSchemaHelper::wildcardAllowsExpandedName(name, wildcard, m_namePool);
+}
+
+bool XsdValidatingInstanceReader::validateIdentityConstraint(const XsdElement::Ptr &element, const QXmlItem &currentItem)
+{
+ const XsdIdentityConstraint::List constraints = element->identityConstraints();
+
+ for (int i = 0; i < constraints.count(); ++i) {
+ const XsdIdentityConstraint::Ptr constraint = constraints.at(i);
+
+ TargetNode::Set targetNodeSet, qualifiedNodeSet;
+ selectNodeSets(element, currentItem, constraint, targetNodeSet, qualifiedNodeSet);
+
+ if (constraint->category() == XsdIdentityConstraint::Unique) {
+ if (!validateUniqueIdentityConstraint(element, constraint, qualifiedNodeSet))
+ return false;
+ } else if (constraint->category() == XsdIdentityConstraint::Key) {
+ if (!validateKeyIdentityConstraint(element, constraint, targetNodeSet, qualifiedNodeSet))
+ return false;
+ }
+ }
+
+ // we do the keyref check in a separated run to make sure that all keys are available
+ for (int i = 0; i < constraints.count(); ++i) {
+ const XsdIdentityConstraint::Ptr constraint = constraints.at(i);
+ if (constraint->category() == XsdIdentityConstraint::KeyReference) {
+ TargetNode::Set targetNodeSet, qualifiedNodeSet;
+ selectNodeSets(element, currentItem, constraint, targetNodeSet, qualifiedNodeSet);
+
+ if (!validateKeyRefIdentityConstraint(element, constraint, qualifiedNodeSet))
+ return false;
+ }
+ }
+
+ return true;
+}
+
+bool XsdValidatingInstanceReader::validateUniqueIdentityConstraint(const XsdElement::Ptr&, const XsdIdentityConstraint::Ptr &constraint, const TargetNode::Set &qualifiedNodeSet)
+{
+ // @see http://www.w3.org/TR/xmlschema11-1/#d0e32243
+
+ // 4.1
+ const XsdSchemaSourceLocationReflection reflection(sourceLocation());
+
+ QSetIterator<TargetNode> it(qualifiedNodeSet);
+ while (it.hasNext()) {
+ const TargetNode node = it.next();
+ QSetIterator<TargetNode> innerIt(qualifiedNodeSet);
+ while (innerIt.hasNext()) {
+ const TargetNode innerNode = innerIt.next();
+
+ if (node == innerNode) // do not compare with ourself
+ continue;
+
+ if (node.fieldsAreEqual(innerNode, m_namePool, m_context, &reflection)) {
+ error(QtXmlPatterns::tr("non-unique value found for constraint %1").arg(formatKeyword(constraint->displayName(m_namePool))));
+ return false;
+ }
+ }
+ }
+
+ m_idcKeys.insert(constraint->name(m_namePool), qualifiedNodeSet);
+
+ return true;
+}
+
+bool XsdValidatingInstanceReader::validateKeyIdentityConstraint(const XsdElement::Ptr &element, const XsdIdentityConstraint::Ptr &constraint, const TargetNode::Set &targetNodeSet, const TargetNode::Set &qualifiedNodeSet)
+{
+ // @see http://www.w3.org/TR/xmlschema11-1/#d0e32243
+
+ // 4.2
+ const XsdSchemaSourceLocationReflection reflection(sourceLocation());
+
+ // 4.2.1
+ if (targetNodeSet.count() != qualifiedNodeSet.count()) {
+ error(QtXmlPatterns::tr("key constraint %1 contains absent fields").arg(formatKeyword(constraint->displayName(m_namePool))));
+ return false;
+ }
+
+ // 4.2.2
+ if (!validateUniqueIdentityConstraint(element, constraint, qualifiedNodeSet))
+ return false;
+
+ // 4.2.3
+ QSetIterator<TargetNode> it(qualifiedNodeSet);
+ while (it.hasNext()) {
+ const TargetNode node = it.next();
+ const QVector<QXmlItem> fieldItems = node.fieldItems();
+ for (int i = 0; i < fieldItems.count(); ++i) {
+ const QXmlNodeModelIndex index = fieldItems.at(i).toNodeModelIndex();
+ if (m_model->kind(index) == QXmlNodeModelIndex::Element) {
+ const XsdElement::Ptr declaration = m_model->assignedElement(index);
+ if (declaration && declaration->isNillable()) {
+ error(QtXmlPatterns::tr("key constraint %1 contains references nillable element %2")
+ .arg(formatKeyword(constraint->displayName(m_namePool)))
+ .arg(formatKeyword(declaration->displayName(m_namePool))));
+ return false;
+ }
+ }
+ }
+ }
+
+ m_idcKeys.insert(constraint->name(m_namePool), qualifiedNodeSet);
+
+ return true;
+}
+
+bool XsdValidatingInstanceReader::validateKeyRefIdentityConstraint(const XsdElement::Ptr&, const XsdIdentityConstraint::Ptr &constraint, const TargetNode::Set &qualifiedNodeSet)
+{
+ // @see http://www.w3.org/TR/xmlschema11-1/#d0e32243
+
+ // 4.3
+ const XsdSchemaSourceLocationReflection reflection(sourceLocation());
+
+ const TargetNode::Set keySet = m_idcKeys.value(constraint->referencedKey()->name(m_namePool));
+
+ QSetIterator<TargetNode> it(qualifiedNodeSet);
+ while (it.hasNext()) {
+ const TargetNode node = it.next();
+
+ bool foundMatching = false;
+
+ QSetIterator<TargetNode> keyIt(keySet);
+ while (keyIt.hasNext()) {
+ const TargetNode keyNode = keyIt.next();
+
+ if (node.fieldsAreEqual(keyNode, m_namePool, m_context, &reflection)) {
+ foundMatching = true;
+ break;
+ }
+ }
+
+ if (!foundMatching) {
+ error(QtXmlPatterns::tr("no referenced value found for key reference %1").arg(formatKeyword(constraint->displayName(m_namePool))));
+ return false;
+ }
+ }
+
+ return true;
+}
+
+QXmlQuery XsdValidatingInstanceReader::createXQuery(const QList<QXmlName> &namespaceBindings, const QXmlItem &contextNode, const QString &queryString) const
+{
+ // create a public name pool from our name pool
+ QXmlNamePool namePool(m_namePool.data());
+
+ // the QXmlQuery shall work with the same name pool as we do
+ QXmlQuery query(namePool);
+
+ // add additional namespace bindings
+ QXmlQueryPrivate *queryPrivate = query.d;
+
+ for (int i = 0; i < namespaceBindings.count(); ++i) {
+ if (!namespaceBindings.at(i).prefix() == StandardPrefixes::empty)
+ queryPrivate->addAdditionalNamespaceBinding(namespaceBindings.at(i));
+ }
+
+ // set the context node for that query and the query string
+ query.setFocus(contextNode);
+ query.setQuery(queryString, m_documentUri);
+
+ return query;
+}
+
+bool XsdValidatingInstanceReader::selectNodeSets(const XsdElement::Ptr&, const QXmlItem &currentItem, const XsdIdentityConstraint::Ptr &constraint, TargetNode::Set &targetNodeSet, TargetNode::Set &qualifiedNodeSet)
+{
+ // at first select all target nodes
+ const XsdXPathExpression::Ptr selector = constraint->selector();
+ const XsdXPathExpression::List fields = constraint->fields();
+
+ QXmlQuery query = createXQuery(selector->namespaceBindings(), currentItem, selector->expression());
+
+ QXmlResultItems resultItems;
+ query.evaluateTo(&resultItems);
+
+ // now we iterate over all target nodes and select the fields for each node
+ QXmlItem item(resultItems.next());
+ while (!item.isNull()) {
+
+ TargetNode targetNode(item);
+
+ for (int i = 0; i < fields.count(); ++i) {
+ const XsdXPathExpression::Ptr field = fields.at(i);
+ QXmlQuery fieldQuery = createXQuery(field->namespaceBindings(), item, field->expression());
+
+ QXmlResultItems fieldResultItems;
+ fieldQuery.evaluateTo(&fieldResultItems);
+
+ // copy result into vetor for better testing...
+ QVector<QXmlItem> fieldVector;
+ QXmlItem fieldItem(fieldResultItems.next());
+ while (!fieldItem.isNull()) {
+ fieldVector.append(fieldItem);
+ fieldItem = fieldResultItems.next();
+ }
+
+ if (fieldVector.count() > 1) {
+ error(QtXmlPatterns::tr("more than one value found for field %1").arg(formatData(field->expression())));
+ return false;
+ }
+
+ if (fieldVector.count() == 1) {
+ fieldItem = fieldVector.first();
+
+ const QXmlNodeModelIndex index = fieldItem.toNodeModelIndex();
+ const SchemaType::Ptr type = m_model->assignedType(index);
+
+ bool typeOk = true;
+ if (type->isComplexType()) {
+ if (type->isDefinedBySchema()) {
+ if (XsdComplexType::Ptr(type)->contentType()->variety() != XsdComplexType::ContentType::Simple)
+ typeOk = false;
+ } else {
+ typeOk = false;
+ }
+ }
+ if (!typeOk) {
+ error(QtXmlPatterns::tr("field %1 has no simple type").arg(formatData(field->expression())));
+ return false;
+ }
+
+ SchemaType::Ptr targetType = type;
+ QString value = m_model->stringValue(fieldItem.toNodeModelIndex());
+
+ if (type->isDefinedBySchema()) {
+ if (type->isSimpleType())
+ targetType = XsdSimpleType::Ptr(type)->primitiveType();
+ else
+ targetType = XsdComplexType::Ptr(type)->contentType()->simpleType();
+ } else {
+ if (BuiltinTypes::xsAnySimpleType->name(m_namePool) == type->name(m_namePool)) {
+ targetType = BuiltinTypes::xsString;
+ value = QLatin1String("___anySimpleType_value");
+ }
+ }
+
+ // if it is xs:QName derived type, we normalize the name content
+ // and do a string comparison
+ if (BuiltinTypes::xsQName->wxsTypeMatches(type)) {
+ targetType = BuiltinTypes::xsString;
+
+ const QXmlName qName = convertToQName(value.trimmed());
+ value = QString::fromLatin1("%1:%2").arg(m_namePool->stringForNamespace(qName.namespaceURI())).arg(m_namePool->stringForLocalName(qName.localName()));
+ }
+
+ targetNode.addField(fieldItem, value, targetType);
+ } else {
+ // we add an empty entry here, that makes comparison easier later on
+ targetNode.addField(QXmlItem(), QString(), SchemaType::Ptr());
+ }
+ }
+
+ targetNodeSet.insert(targetNode);
+
+ item = resultItems.next();
+ }
+
+ // copy all items from target node set to qualified node set, that have no empty fields
+ QSetIterator<TargetNode> it(targetNodeSet);
+ while (it.hasNext()) {
+ const TargetNode node = it.next();
+ if (node.emptyFieldsCount() == 0)
+ qualifiedNodeSet.insert(node);
+ }
+
+ return true;
+}
+
+XsdElement::Ptr XsdValidatingInstanceReader::elementByName(const QXmlName &name) const
+{
+ return m_schema->element(name);
+}
+
+XsdAttribute::Ptr XsdValidatingInstanceReader::attributeByName(const QXmlName &name) const
+{
+ return m_schema->attribute(name);
+}
+
+SchemaType::Ptr XsdValidatingInstanceReader::typeByName(const QXmlName &name) const
+{
+ const SchemaType::Ptr type = m_schema->type(name);
+ if (type)
+ return type;
+
+ return m_context->schemaTypeFactory()->createSchemaType(name);
+}
+
+void XsdValidatingInstanceReader::addIdIdRefBinding(const QString &id, const NamedSchemaComponent::Ptr &binding)
+{
+ if (!m_model->idIdRefBindings(id).isEmpty()) {
+ error(QtXmlPatterns::tr("ID value '%1' is not unique").arg(formatKeyword(id)));
+ return;
+ }
+
+ m_model->addIdIdRefBinding(id, binding);
+}
+
+QString XsdValidatingInstanceReader::qNameAttribute(const QXmlName &attributeName)
+{
+ const QString value = attribute(attributeName).simplified();
+ if (!XPathHelper::isQName(value)) {
+ error(QtXmlPatterns::tr("'%1' attribute contains invalid QName content: %2").arg(m_namePool->displayName(attributeName)).arg(formatData(value)));
+ return QString();
+ } else {
+ return value;
+ }
+}
+
+XsdComplexType::Ptr XsdValidatingInstanceReader::anyType()
+{
+ if (m_anyType)
+ return m_anyType;
+
+ const XsdWildcard::Ptr wildcard(new XsdWildcard());
+ wildcard->namespaceConstraint()->setVariety(XsdWildcard::NamespaceConstraint::Any);
+ wildcard->setProcessContents(XsdWildcard::Lax);
+
+ const XsdParticle::Ptr outerParticle(new XsdParticle());
+ outerParticle->setMinimumOccurs(1);
+ outerParticle->setMaximumOccurs(1);
+
+ const XsdParticle::Ptr innerParticle(new XsdParticle());
+ innerParticle->setMinimumOccurs(0);
+ innerParticle->setMaximumOccursUnbounded(true);
+ innerParticle->setTerm(wildcard);
+
+ const XsdModelGroup::Ptr outerModelGroup(new XsdModelGroup());
+ outerModelGroup->setCompositor(XsdModelGroup::SequenceCompositor);
+ outerModelGroup->setParticles(XsdParticle::List() << innerParticle);
+ outerParticle->setTerm(outerModelGroup);
+
+ m_anyType = XsdComplexType::Ptr(new XsdComplexType());
+ m_anyType->setName(BuiltinTypes::xsAnyType->name(m_namePool));
+ m_anyType->setDerivationMethod(XsdComplexType::DerivationRestriction);
+ m_anyType->contentType()->setVariety(XsdComplexType::ContentType::Mixed);
+ m_anyType->contentType()->setParticle(outerParticle);
+ m_anyType->setAttributeWildcard(wildcard);
+ m_anyType->setIsAbstract(false);
+
+ return m_anyType;
+}
+
+QT_END_NAMESPACE
diff --git a/src/xmlpatterns/schema/qxsdvalidatinginstancereader_p.h b/src/xmlpatterns/schema/qxsdvalidatinginstancereader_p.h
new file mode 100644
index 0000000..8ea4d28
--- /dev/null
+++ b/src/xmlpatterns/schema/qxsdvalidatinginstancereader_p.h
@@ -0,0 +1,296 @@
+/****************************************************************************
+**
+** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtXmlPatterns of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+
+#ifndef Patternist_XsdValidatingInstanceReader_H
+#define Patternist_XsdValidatingInstanceReader_H
+
+#include "qxsdidchelper_p.h"
+#include "qxsdinstancereader_p.h"
+#include "qxsdstatemachine_p.h"
+#include "qxsdvalidatedxmlnodemodel_p.h"
+
+#include <QtCore/QStack>
+
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+class QXmlQuery;
+
+namespace QPatternist
+{
+ /**
+ * @short The validating schema instance reader.
+ *
+ * This class reads in a xml instance document from a QAbstractXmlNodeModel and
+ * validates it against a given xml schema.
+ *
+ * @ingroup Patternist_schema
+ * @author Tobias Koenig <tobias.koenig@trolltech.com>
+ */
+ class XsdValidatingInstanceReader : public XsdInstanceReader
+ {
+ public:
+ typedef QExplicitlySharedDataPointer<XsdValidatingInstanceReader> Ptr;
+
+ /**
+ * Creates a new validating instance reader that reads the data from
+ * the given @p model.
+ *
+ * @param model The model the data shall be read from.
+ * @param documentUri The uri of the document the model is from.
+ * @param context The context that is used to report errors etc.
+ */
+ XsdValidatingInstanceReader(XsdValidatedXmlNodeModel *model, const QUrl &documentUri, const XsdSchemaContext::Ptr &context);
+
+ /**
+ * Adds a new @p schema to the pool of schemas that shall be used
+ * for validation.
+ * The schema is located at the given @p url.
+ */
+ void addSchema(const XsdSchema::Ptr &schema, const QUrl &url);
+
+ /**
+ * Reads and validates the instance document.
+ */
+ bool read();
+
+ private:
+ /**
+ * Loads a schema with the given @p targetNamespace from the given @p location
+ * and adds it to the pool of schemas that are used for validation.
+ *
+ * This method is used to load schemas defined in the xsi:schemaLocation or
+ * xsi:noNamespaceSchemaLocation attributes in the instance document.
+ */
+ bool loadSchema(const QString &targetNamespace, const QUrl &location);
+
+ /**
+ * Reports an error via the report context.
+ */
+ void error(const QString &msg) const;
+
+ /**
+ * Validates the current element tag of the instance document.
+ *
+ * @param hasStateMachine Used to remember whether this element represents the start tag
+ * of a complex type and therefor pushes a new state machine on the stack.
+ * @param element Used to remember which element has been validated in this step.
+ */
+ bool validate(bool &hasStateMachine, XsdElement::Ptr &element);
+
+ /**
+ * Validates the current tag of the instance document against the given element @p declaration.
+ *
+ * @param declaration The element declaration to validate against.
+ * @param hasStateMachine Used to remember whether this element represents the start tag
+ * of a complex type and therefor pushes a new state machine on the stack.
+ */
+ bool validateElement(const XsdElement::Ptr &declaration, bool &hasStateMachine);
+
+ /**
+ * Validates the current tag of the instance document against the given @p type of the element @p declaration.
+ *
+ * @param declaration The element declaration to validate against.
+ * @param type The type to validate against.
+ * @param isNilled Defines whether the element is nilled by the instance document.
+ * @param hasStateMachine Used to remember whether this element represents the start tag
+ * of a complex type and therefor pushes a new state machine on the stack.
+ *
+ * @note The @p type can differ from the element @p declaration type if the instance document has defined
+ * it via xsi:type attribute.
+ */
+ bool validateElementType(const XsdElement::Ptr &declaration, const SchemaType::Ptr &type, bool isNilled, bool &hasStateMachine);
+
+ /**
+ * Validates the current tag of the instance document against the given simple @p type of the element @p declaration.
+ *
+ * @param declaration The element declaration to validate against.
+ * @param type The type to validate against.
+ * @param isNilled Defines whether the element is nilled by the instance document.
+ *
+ * @note The @p type can differ from the element @p declaration type if the instance document has defined
+ * it via xsi:type attribute.
+ */
+ bool validateElementSimpleType(const XsdElement::Ptr &declaration, const SchemaType::Ptr &type, bool isNilled);
+
+ /**
+ * Validates the current tag of the instance document against the given complex @p type of the element @p declaration.
+ *
+ * @param declaration The element declaration to validate against.
+ * @param type The type to validate against.
+ * @param isNilled Defines whether the element is nilled by the instance document.
+ * @param hasStateMachine Used to remember whether this element represents the start tag
+ * of a complex type and therefor pushes a new state machine on the stack.
+ *
+ * @note The @p type can differ from the element @p declaration type if the instance document has defined
+ * it via xsi:type attribute.
+ */
+ bool validateElementComplexType(const XsdElement::Ptr &declaration, const SchemaType::Ptr &type, bool isNilled, bool &hasStateMachine);
+
+ /**
+ * Validates the given @p value against the attribute use @p declaration.
+ */
+ bool validateAttribute(const XsdAttributeUse::Ptr &declaration, const QString &value);
+
+ /**
+ * Validates the given @p value against the attribute @p declaration.
+ */
+ bool validateAttribute(const XsdAttribute::Ptr &declaration, const QString &value);
+
+ /**
+ * Validates the given @p attributeName against the @p wildcard.
+ */
+ bool validateAttributeWildcard(const QXmlName &attributeName, const XsdWildcard::Ptr &wildcard);
+
+ /**
+ * Validates the identity constraints of an @p element.
+ */
+ bool validateIdentityConstraint(const XsdElement::Ptr &element, const QXmlItem &currentItem);
+
+ /**
+ * Validates the <em>unique</em> identity @p constraint of the @p element.
+ */
+ bool validateUniqueIdentityConstraint(const XsdElement::Ptr &element, const XsdIdentityConstraint::Ptr &constraint, const TargetNode::Set &qualifiedNodeSet);
+
+ /**
+ * Validates the <em>key</em> identity @p constraint of the @p element.
+ */
+ bool validateKeyIdentityConstraint(const XsdElement::Ptr &element, const XsdIdentityConstraint::Ptr &constraint, const TargetNode::Set &targetNodeSet, const TargetNode::Set &qualifiedNodeSet);
+
+ /**
+ * Validates the <em>keyref</em> identity @p constraint of the @p element.
+ */
+ bool validateKeyRefIdentityConstraint(const XsdElement::Ptr &element, const XsdIdentityConstraint::Ptr &constraint, const TargetNode::Set &qualifiedNodeSet);
+
+ /**
+ * Selects two sets of nodes that match the given identity @p constraint.
+ *
+ * @param element The element the identity constraint belongs to.
+ * @param currentItem The current element that will be used as focus for the XQuery.
+ * @param constraint The constraint (selector and fields) that describe the two sets.
+ * @param targetNodeSet The target node set as defined by the schema specification.
+ * @param qualifiedNodeSet The qualified node set as defined by the schema specification.
+ */
+ bool selectNodeSets(const XsdElement::Ptr &element, const QXmlItem &currentItem, const XsdIdentityConstraint::Ptr &constraint, TargetNode::Set &targetNodeSet, TargetNode::Set &qualifiedNodeSet);
+
+ /**
+ * Creates an QXmlQuery object with the defined @p namespaceBindings that has the @p contextNode as focus
+ * and will execute @p query.
+ */
+ QXmlQuery createXQuery(const QList<QXmlName> &namespaceBindings, const QXmlItem &contextNode, const QString &query) const;
+
+ /**
+ * Returns the element declaration with the given @p name from the pool of all schemas.
+ */
+ XsdElement::Ptr elementByName(const QXmlName &name) const;
+
+ /**
+ * Returns the attribute declaration with the given @p name from the pool of all schemas.
+ */
+ XsdAttribute::Ptr attributeByName(const QXmlName &name) const;
+
+ /**
+ * Returns the type declaration with the given @p name from the pool of all schemas.
+ */
+ SchemaType::Ptr typeByName(const QXmlName &name) const;
+
+ /**
+ * Adds the ID/IDREF binding to the validated model and checks for duplicates.
+ */
+ void addIdIdRefBinding(const QString &id, const NamedSchemaComponent::Ptr &binding);
+
+ /**
+ * Helper method that reads an attribute of type xs:QName and does
+ * syntax checking.
+ */
+ QString qNameAttribute(const QXmlName &attributeName);
+
+ /**
+ * Returns the xs:anyType that is used to build up the state machine.
+ * We need that as the BuiltinTypes::xsAnyType is not a XsdComplexType.
+ */
+ XsdComplexType::Ptr anyType();
+
+ /**
+ * Helper method that creates a state machine for the given @p particle
+ * and pushes it on the state machine stack.
+ */
+ void createAndPushStateMachine(const XsdParticle::Ptr &particle);
+
+ typedef QHash<QUrl, QStringList> MergedSchemas;
+ typedef QHashIterator<QUrl, QStringList> MergedSchemasIterator;
+
+ XsdValidatedXmlNodeModel::Ptr m_model;
+ MergedSchemas m_mergedSchemas;
+ XsdSchema::Ptr m_schema;
+ const NamePool::Ptr m_namePool;
+ const QXmlName m_xsiNilName;
+ const QXmlName m_xsiTypeName;
+ const QXmlName m_xsiSchemaLocationName;
+ const QXmlName m_xsiNoNamespaceSchemaLocationName;
+
+ QStack<XsdStateMachine<XsdTerm::Ptr> > m_stateMachines;
+ QUrl m_documentUri;
+ XsdComplexType::Ptr m_anyType;
+ QSet<QString> m_processedNamespaces;
+ QSet<QString> m_processedSchemaLocations;
+ QSet<QString> m_idRefs;
+ QHash<QXmlName, TargetNode::Set> m_idcKeys;
+ SchemaType::Ptr m_idRefsType;
+ };
+}
+
+QT_END_NAMESPACE
+
+QT_END_HEADER
+
+#endif
diff --git a/src/xmlpatterns/schema/qxsdwildcard.cpp b/src/xmlpatterns/schema/qxsdwildcard.cpp
new file mode 100644
index 0000000..561a169
--- /dev/null
+++ b/src/xmlpatterns/schema/qxsdwildcard.cpp
@@ -0,0 +1,115 @@
+/****************************************************************************
+**
+** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the QtXmlPatterns of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "qxsdwildcard_p.h"
+
+QT_BEGIN_NAMESPACE
+
+using namespace QPatternist;
+
+QString XsdWildcard::absentNamespace()
+{
+ return QLatin1String("__ns_absent");
+}
+
+void XsdWildcard::NamespaceConstraint::setVariety(Variety variety)
+{
+ m_variety = variety;
+}
+
+XsdWildcard::NamespaceConstraint::Variety XsdWildcard::NamespaceConstraint::variety() const
+{
+ return m_variety;
+}
+
+void XsdWildcard::NamespaceConstraint::setNamespaces(const QSet<QString> &namespaces)
+{
+ m_namespaces = namespaces;
+}
+
+QSet<QString> XsdWildcard::NamespaceConstraint::namespaces() const
+{
+ return m_namespaces;
+}
+
+void XsdWildcard::NamespaceConstraint::setDisallowedNames(const QSet<QString> &names)
+{
+ m_disallowedNames = names;
+}
+
+QSet<QString> XsdWildcard::NamespaceConstraint::disallowedNames() const
+{
+ return m_disallowedNames;
+}
+
+XsdWildcard::XsdWildcard()
+ : m_namespaceConstraint(new NamespaceConstraint())
+ , m_processContents(Strict)
+{
+ m_namespaceConstraint->setVariety(NamespaceConstraint::Any);
+}
+
+bool XsdWildcard::isWildcard() const
+{
+ return true;
+}
+
+void XsdWildcard::setNamespaceConstraint(const NamespaceConstraint::Ptr &namespaceConstraint)
+{
+ m_namespaceConstraint = namespaceConstraint;
+}
+
+XsdWildcard::NamespaceConstraint::Ptr XsdWildcard::namespaceConstraint() const
+{
+ return m_namespaceConstraint;
+}
+
+void XsdWildcard::setProcessContents(ProcessContents contents)
+{
+ m_processContents = contents;
+}
+
+XsdWildcard::ProcessContents XsdWildcard::processContents() const
+{
+ return m_processContents;
+}
+
+QT_END_NAMESPACE
diff --git a/src/xmlpatterns/schema/qxsdwildcard_p.h b/src/xmlpatterns/schema/qxsdwildcard_p.h
new file mode 100644
index 0000000..a925ab4
--- /dev/null
+++ b/src/xmlpatterns/schema/qxsdwildcard_p.h
@@ -0,0 +1,199 @@
+/****************************************************************************
+**
+** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtXmlPatterns of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+
+#ifndef Patternist_XsdWildcard_H
+#define Patternist_XsdWildcard_H
+
+#include "qxsdterm_p.h"
+
+#include <QtCore/QSet>
+
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+namespace QPatternist
+{
+ /**
+ * @short Represents a XSD wildcard object.
+ *
+ * This class represents the <em>wildcard</em> object of a XML schema as described
+ * <a href="http://www.w3.org/TR/xmlschema11-1/#Wildcards">here</a>.
+ *
+ * It contains information from either an <em>any</em> object or an <em>anyAttribute</em> object.
+ *
+ * @see <a href="http://www.w3.org/Submission/2004/SUBM-xmlschema-api-20040309/xml-schema-api.html#Interface-XSWildcard">XML Schema API reference</a>
+ * @ingroup Patternist_schema
+ * @author Tobias Koenig <tobias.koenig@trolltech.com>
+ */
+ class XsdWildcard : public XsdTerm
+ {
+ public:
+ typedef QExplicitlySharedDataPointer<XsdWildcard> Ptr;
+
+ /**
+ * Defines the absent namespace that is used in wildcards.
+ */
+ static QString absentNamespace();
+
+ /**
+ * Describes the <a href="http://www.w3.org/TR/xmlschema11-1/#w-namespace_constraint">namespace constraint</a> of the wildcard.
+ */
+ class NamespaceConstraint : public QSharedData
+ {
+ public:
+ typedef QExplicitlySharedDataPointer<NamespaceConstraint> Ptr;
+
+ /**
+ * Describes the variety of the namespace constraint.
+ *
+ * @see <a href="http://www.w3.org/TR/xmlschema11-1/#nc-variety">Variety Definition</a>
+ */
+ enum Variety
+ {
+ Any, ///< Any namespace is allowed.
+ Enumeration, ///< Namespaces in the namespaces set are allowed.
+ Not ///< Namespaces in the namespaces set are not allowed.
+ };
+
+ /**
+ * Sets the @p variety of the namespace constraint.
+ *
+ * @see <a href="http://www.w3.org/TR/xmlschema11-1/#nc-variety">Variety Definition</a>
+ */
+ void setVariety(Variety variety);
+
+ /**
+ * Returns the variety of the namespace constraint.
+ */
+ Variety variety() const;
+
+ /**
+ * Sets the set of @p namespaces of the namespace constraint.
+ */
+ void setNamespaces(const QSet<QString> &namespaces);
+
+ /**
+ * Returns the set of namespaces of the namespace constraint.
+ */
+ QSet<QString> namespaces() const;
+
+ /**
+ * Sets the set of disallowed @p names of the namespace constraint.
+ */
+ void setDisallowedNames(const QSet<QString> &names);
+
+ /**
+ * Returns the set of disallowed names of the namespace constraint.
+ */
+ QSet<QString> disallowedNames() const;
+
+ private:
+ Variety m_variety;
+ QSet<QString> m_namespaces;
+ QSet<QString> m_disallowedNames;
+ };
+
+ /**
+ * Describes the <a href="http://www.w3.org/TR/xmlschema11-1/#w-process_contents">type of content processing</a> of the wildcard.
+ */
+ enum ProcessContents
+ {
+ Strict, ///< There must be a top-level declaration for the item available, or the item must have an xsi:type, and the item must be valid as appropriate.
+ Lax, ///< If the item has a uniquely determined declaration available, it must be valid with respect to that definition.
+ Skip ///< No constraints at all: the item must simply be well-formed XML.
+ };
+
+ /**
+ * Creates a new wildcard object.
+ */
+ XsdWildcard();
+
+ /**
+ * Returns always @c true, used to avoid dynamic casts.
+ */
+ virtual bool isWildcard() const;
+
+ /**
+ * Sets the namespace @p constraint of the wildcard.
+ *
+ * @see <a href="http://www.w3.org/TR/xmlschema11-1/#w-namespace_constraint">Namespace Constraint Definition</a>
+ */
+ void setNamespaceConstraint(const NamespaceConstraint::Ptr &constraint);
+
+ /**
+ * Returns the namespace constraint of the wildcard.
+ */
+ NamespaceConstraint::Ptr namespaceConstraint() const;
+
+ /**
+ * Sets the process @p contents of the wildcard.
+ *
+ * @see <a href="http://www.w3.org/TR/xmlschema11-1/#w-process_contents">Process Contents Definition</a>
+ */
+ void setProcessContents(ProcessContents contents);
+
+ /**
+ * Returns the process contents of the wildcard.
+ */
+ ProcessContents processContents() const;
+
+ private:
+ NamespaceConstraint::Ptr m_namespaceConstraint;
+ ProcessContents m_processContents;
+ };
+}
+
+QT_END_NAMESPACE
+
+QT_END_HEADER
+
+#endif
diff --git a/src/xmlpatterns/schema/qxsdxpathexpression.cpp b/src/xmlpatterns/schema/qxsdxpathexpression.cpp
new file mode 100644
index 0000000..aa08cbc
--- /dev/null
+++ b/src/xmlpatterns/schema/qxsdxpathexpression.cpp
@@ -0,0 +1,88 @@
+/****************************************************************************
+**
+** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the QtXmlPatterns of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "qxsdxpathexpression_p.h"
+
+QT_BEGIN_NAMESPACE
+
+using namespace QPatternist;
+
+void XsdXPathExpression::setNamespaceBindings(const QList<QXmlName> &set)
+{
+ m_namespaceBindings = set;
+}
+
+QList<QXmlName> XsdXPathExpression::namespaceBindings() const
+{
+ return m_namespaceBindings;
+}
+
+void XsdXPathExpression::setDefaultNamespace(const AnyURI::Ptr &defaultNs)
+{
+ m_defaultNamespace = defaultNs;
+}
+
+AnyURI::Ptr XsdXPathExpression::defaultNamespace() const
+{
+ return m_defaultNamespace;
+}
+
+void XsdXPathExpression::setBaseURI(const AnyURI::Ptr &uri)
+{
+ m_baseURI = uri;
+}
+
+AnyURI::Ptr XsdXPathExpression::baseURI() const
+{
+ return m_baseURI;
+}
+
+void XsdXPathExpression::setExpression(const QString &expression)
+{
+ m_expression = expression;
+}
+
+QString XsdXPathExpression::expression() const
+{
+ return m_expression;
+}
+
+QT_END_NAMESPACE
diff --git a/src/xmlpatterns/schema/qxsdxpathexpression_p.h b/src/xmlpatterns/schema/qxsdxpathexpression_p.h
new file mode 100644
index 0000000..6f149d7
--- /dev/null
+++ b/src/xmlpatterns/schema/qxsdxpathexpression_p.h
@@ -0,0 +1,143 @@
+/****************************************************************************
+**
+** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtXmlPatterns of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+
+#ifndef Patternist_XsdXPathExpression_H
+#define Patternist_XsdXPathExpression_H
+
+#include "qanyuri_p.h"
+#include "qnamedschemacomponent_p.h"
+#include "qxsdannotated_p.h"
+
+#include <QtCore/QList>
+
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+namespace QPatternist
+{
+ /**
+ * @short Represents a XSD assertion object.
+ *
+ * @ingroup Patternist_schema
+ * @author Tobias Koenig <tobias.koenig@trolltech.com>
+ * @see <a href="http://www.w3.org/TR/xmlschema11-1/#x">XPathExpression Definition</a>
+ */
+ class XsdXPathExpression : public NamedSchemaComponent, public XsdAnnotated
+ {
+ public:
+ typedef QExplicitlySharedDataPointer<XsdXPathExpression> Ptr;
+ typedef QList<XsdXPathExpression::Ptr> List;
+
+ /**
+ * Sets the list of namespace @p bindings of the XPath expression.
+ *
+ * @see <a href="http://www.w3.org/TR/xmlschema11-1/#x-namespace_bindings">Namespace Bindings Definition</a>
+ *
+ * @note We can't use a QSet<QXmlName> here, as the hash method does not take the prefix
+ * in account, so we loose entries.
+ */
+ void setNamespaceBindings(const QList<QXmlName> &bindings);
+
+ /**
+ * Returns the list of namespace bindings of the XPath expression.
+ */
+ QList<QXmlName> namespaceBindings() const;
+
+ /**
+ * Sets the default namespace of the XPath expression.
+ *
+ * @see <a href="http://www.w3.org/TR/xmlschema11-1/#x-default_namespace">Default Namespace Definition</a>
+ */
+ void setDefaultNamespace(const AnyURI::Ptr &defaultNamespace);
+
+ /**
+ * Returns the default namespace of the XPath expression.
+ */
+ AnyURI::Ptr defaultNamespace() const;
+
+ /**
+ * Sets the base @p uri of the XPath expression.
+ *
+ * @see <a href="http://www.w3.org/TR/xmlschema11-1/#x-base_URI">Base URI Definition</a>
+ */
+ void setBaseURI(const AnyURI::Ptr &uri);
+
+ /**
+ * Returns the base uri of the XPath expression.
+ */
+ AnyURI::Ptr baseURI() const;
+
+ /**
+ * Sets the @p expression string of the XPath expression.
+ *
+ * @see <a href="http://www.w3.org/TR/xmlschema11-1/#x-expression">Expression Definition</a>
+ */
+ void setExpression(const QString &expression);
+
+ /**
+ * Returns the expression string of the XPath expression.
+ */
+ QString expression() const;
+
+ private:
+ QList<QXmlName> m_namespaceBindings;
+ AnyURI::Ptr m_defaultNamespace;
+ AnyURI::Ptr m_baseURI;
+ QString m_expression;
+ };
+}
+
+QT_END_NAMESPACE
+
+QT_END_HEADER
+
+#endif
diff --git a/src/xmlpatterns/schema/schema.pri b/src/xmlpatterns/schema/schema.pri
new file mode 100644
index 0000000..b00d64b
--- /dev/null
+++ b/src/xmlpatterns/schema/schema.pri
@@ -0,0 +1,93 @@
+HEADERS += $$PWD/qnamespacesupport_p.h \
+ $$PWD/qxsdalternative_p.h \
+ $$PWD/qxsdannotated_p.h \
+ $$PWD/qxsdannotation_p.h \
+ $$PWD/qxsdapplicationinformation_p.h \
+ $$PWD/qxsdassertion_p.h \
+ $$PWD/qxsdattribute_p.h \
+ $$PWD/qxsdattributereference_p.h \
+ $$PWD/qxsdattributeterm_p.h \
+ $$PWD/qxsdattributeuse_p.h \
+ $$PWD/qxsdattributegroup_p.h \
+ $$PWD/qxsdcomplextype_p.h \
+ $$PWD/qxsddocumentation_p.h \
+ $$PWD/qxsdelement_p.h \
+ $$PWD/qxsdfacet_p.h \
+ $$PWD/qxsdidcache_p.h \
+ $$PWD/qxsdidchelper_p.h \
+ $$PWD/qxsdidentityconstraint_p.h \
+ $$PWD/qxsdinstancereader_p.h \
+ $$PWD/qxsdmodelgroup_p.h \
+ $$PWD/qxsdnotation_p.h \
+ $$PWD/qxsdparticle_p.h \
+ $$PWD/qxsdparticlechecker_p.h \
+ $$PWD/qxsdreference_p.h \
+ $$PWD/qxsdsimpletype_p.h \
+ $$PWD/qxsdschema_p.h \
+ $$PWD/qxsdschemachecker_p.h \
+ $$PWD/qxsdschemacontext_p.h \
+ $$PWD/qxsdschemadebugger_p.h \
+ $$PWD/qxsdschemahelper_p.h \
+ $$PWD/qxsdschemamerger_p.h \
+ $$PWD/qxsdschemaparser_p.h \
+ $$PWD/qxsdschemaparsercontext_p.h \
+ $$PWD/qxsdschemaresolver_p.h \
+ $$PWD/qxsdschematoken_p.h \
+ $$PWD/qxsdschematypesfactory_p.h \
+ $$PWD/qxsdstatemachine_p.h \
+ $$PWD/qxsdstatemachinebuilder_p.h \
+ $$PWD/qxsdterm_p.h \
+ $$PWD/qxsdtypechecker_p.h \
+ $$PWD/qxsduserschematype_p.h \
+ $$PWD/qxsdvalidatedxmlnodemodel_p.h \
+ $$PWD/qxsdvalidatinginstancereader_p.h \
+ $$PWD/qxsdwildcard_p.h \
+ $$PWD/qxsdxpathexpression_p.h
+
+SOURCES += $$PWD/qnamespacesupport.cpp \
+ $$PWD/qxsdalternative.cpp \
+ $$PWD/qxsdannotated.cpp \
+ $$PWD/qxsdannotation.cpp \
+ $$PWD/qxsdapplicationinformation.cpp \
+ $$PWD/qxsdassertion.cpp \
+ $$PWD/qxsdattribute.cpp \
+ $$PWD/qxsdattributereference.cpp \
+ $$PWD/qxsdattributeterm.cpp \
+ $$PWD/qxsdattributeuse.cpp \
+ $$PWD/qxsdattributegroup.cpp \
+ $$PWD/qxsdcomplextype.cpp \
+ $$PWD/qxsddocumentation.cpp \
+ $$PWD/qxsdelement.cpp \
+ $$PWD/qxsdfacet.cpp \
+ $$PWD/qxsdidcache.cpp \
+ $$PWD/qxsdidchelper.cpp \
+ $$PWD/qxsdidentityconstraint.cpp \
+ $$PWD/qxsdinstancereader.cpp \
+ $$PWD/qxsdmodelgroup.cpp \
+ $$PWD/qxsdnotation.cpp \
+ $$PWD/qxsdparticle.cpp \
+ $$PWD/qxsdparticlechecker.cpp \
+ $$PWD/qxsdreference.cpp \
+ $$PWD/qxsdsimpletype.cpp \
+ $$PWD/qxsdschema.cpp \
+ $$PWD/qxsdschemachecker.cpp \
+ $$PWD/qxsdschemachecker_setup.cpp \
+ $$PWD/qxsdschemacontext.cpp \
+ $$PWD/qxsdschemadebugger.cpp \
+ $$PWD/qxsdschemahelper.cpp \
+ $$PWD/qxsdschemamerger.cpp \
+ $$PWD/qxsdschemaparser.cpp \
+ $$PWD/qxsdschemaparser_setup.cpp \
+ $$PWD/qxsdschemaparsercontext.cpp \
+ $$PWD/qxsdschemaresolver.cpp \
+ $$PWD/qxsdschematoken.cpp \
+ $$PWD/qxsdschematypesfactory.cpp \
+ $$PWD/qxsdstatemachinebuilder.cpp \
+ $$PWD/qxsdterm.cpp \
+ $$PWD/qxsdtypechecker.cpp \
+ $$PWD/qxsdwildcard.cpp \
+ $$PWD/qxsdvalidatedxmlnodemodel.cpp \
+ $$PWD/qxsdvalidatinginstancereader.cpp \
+ $$PWD/qxsdxpathexpression.cpp
+
+RESOURCES += $$PWD/builtinschemas.qrc
diff --git a/src/xmlpatterns/schema/schemas/xml.xsd b/src/xmlpatterns/schema/schemas/xml.xsd
new file mode 100644
index 0000000..eeb9db5
--- /dev/null
+++ b/src/xmlpatterns/schema/schemas/xml.xsd
@@ -0,0 +1,145 @@
+<?xml version='1.0'?>
+<xs:schema targetNamespace="http://www.w3.org/XML/1998/namespace" xmlns:xs="http://www.w3.org/2001/XMLSchema" xml:lang="en">
+
+ <xs:annotation>
+ <xs:documentation>
+ See http://www.w3.org/XML/1998/namespace.html and
+ http://www.w3.org/TR/REC-xml for information about this namespace.
+
+ This schema document describes the XML namespace, in a form
+ suitable for import by other schema documents.
+
+ Note that local names in this namespace are intended to be defined
+ only by the World Wide Web Consortium or its subgroups. The
+ following names are currently defined in this namespace and should
+ not be used with conflicting semantics by any Working Group,
+ specification, or document instance:
+
+ base (as an attribute name): denotes an attribute whose value
+ provides a URI to be used as the base for interpreting any
+ relative URIs in the scope of the element on which it
+ appears; its value is inherited. This name is reserved
+ by virtue of its definition in the XML Base specification.
+
+ id (as an attribute name): denotes an attribute whose value
+ should be interpreted as if declared to be of type ID.
+ This name is reserved by virtue of its definition in the
+ xml:id specification.
+
+ lang (as an attribute name): denotes an attribute whose value
+ is a language code for the natural language of the content of
+ any element; its value is inherited. This name is reserved
+ by virtue of its definition in the XML specification.
+
+ space (as an attribute name): denotes an attribute whose
+ value is a keyword indicating what whitespace processing
+ discipline is intended for the content of the element; its
+ value is inherited. This name is reserved by virtue of its
+ definition in the XML specification.
+
+ Father (in any context at all): denotes Jon Bosak, the chair of
+ the original XML Working Group. This name is reserved by
+ the following decision of the W3C XML Plenary and
+ XML Coordination groups:
+
+ In appreciation for his vision, leadership and dedication
+ the W3C XML Plenary on this 10th day of February, 2000
+ reserves for Jon Bosak in perpetuity the XML name
+ xml:Father
+ </xs:documentation>
+ </xs:annotation>
+
+ <xs:annotation>
+ <xs:documentation>This schema defines attributes and an attribute group
+ suitable for use by
+ schemas wishing to allow xml:base, xml:lang, xml:space or xml:id
+ attributes on elements they define.
+
+ To enable this, such a schema must import this schema
+ for the XML namespace, e.g. as follows:
+ &lt;schema . . .>
+ . . .
+ &lt;import namespace="http://www.w3.org/XML/1998/namespace"
+ schemaLocation="http://www.w3.org/2001/xml.xsd"/>
+
+ Subsequently, qualified reference to any of the attributes
+ or the group defined below will have the desired effect, e.g.
+
+ &lt;type . . .>
+ . . .
+ &lt;attributeGroup ref="xml:specialAttrs"/>
+
+ will define a type which will schema-validate an instance
+ element with any of those attributes</xs:documentation>
+ </xs:annotation>
+
+ <xs:annotation>
+ <xs:documentation>In keeping with the XML Schema WG's standard versioning
+ policy, this schema document will persist at
+ http://www.w3.org/2007/08/xml.xsd.
+ At the date of issue it can also be found at
+ http://www.w3.org/2001/xml.xsd.
+ The schema document at that URI may however change in the future,
+ in order to remain compatible with the latest version of XML Schema
+ itself, or with the XML namespace itself. In other words, if the XML
+ Schema or XML namespaces change, the version of this document at
+ http://www.w3.org/2001/xml.xsd will change
+ accordingly; the version at
+ http://www.w3.org/2007/08/xml.xsd will not change.
+ </xs:documentation>
+ </xs:annotation>
+
+ <xs:attribute name="lang">
+ <xs:annotation>
+ <xs:documentation>Attempting to install the relevant ISO 2- and 3-letter
+ codes as the enumerated possible values is probably never
+ going to be a realistic possibility. See
+ RFC 3066 at http://www.ietf.org/rfc/rfc3066.txt and the IANA registry
+ at http://www.iana.org/assignments/lang-tag-apps.htm for
+ further information.
+
+ The union allows for the 'un-declaration' of xml:lang with
+ the empty string.</xs:documentation>
+ </xs:annotation>
+ <xs:simpleType>
+ <xs:union memberTypes="xs:language">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value=""/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:union>
+ </xs:simpleType>
+ </xs:attribute>
+
+ <xs:attribute name="space">
+ <xs:simpleType>
+ <xs:restriction base="xs:NCName">
+ <xs:enumeration value="default"/>
+ <xs:enumeration value="preserve"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+
+ <xs:attribute name="base" type="xs:anyURI">
+ <xs:annotation>
+ <xs:documentation>See http://www.w3.org/TR/xmlbase/ for
+ information about this attribute.</xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+
+ <xs:attribute name="id" type="xs:ID">
+ <xs:annotation>
+ <xs:documentation>See http://www.w3.org/TR/xml-id/ for
+ information about this attribute.</xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+
+ <xs:attributeGroup name="specialAttrs">
+ <xs:attribute ref="xml:base"/>
+ <xs:attribute ref="xml:lang"/>
+ <xs:attribute ref="xml:space"/>
+ <xs:attribute ref="xml:id"/>
+ </xs:attributeGroup>
+
+</xs:schema>
diff --git a/src/xmlpatterns/schema/schemas/xml.xsd-LICENSE b/src/xmlpatterns/schema/schemas/xml.xsd-LICENSE
new file mode 100644
index 0000000..2c687d8
--- /dev/null
+++ b/src/xmlpatterns/schema/schemas/xml.xsd-LICENSE
@@ -0,0 +1,40 @@
+W3C® SOFTWARE NOTICE AND LICENSE
+
+This license came from: http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+
+This work (and included software, documentation such as READMEs, or other
+related items) is being provided by the copyright holders under the following
+license. By obtaining, using and/or copying this work, you (the licensee)
+agree that you have read, understood, and will comply with the following
+terms and conditions.
+
+Permission to copy, modify, and distribute this software and its
+documentation, with or without modification, for any purpose and without
+fee or royalty is hereby granted, provided that you include the following on
+ALL copies of the software and documentation or portions thereof, including
+modifications:
+
+ 1. The full text of this NOTICE in a location viewable to users of the
+ redistributed or derivative work.
+ 2. Any pre-existing intellectual property disclaimers, notices, or terms
+ and conditions. If none exist, the W3C Software Short Notice should be
+ included (hypertext is preferred, text is permitted)
+ within the body of any redistributed or derivative code.
+ 3. Notice of any changes or modifications to the files, including the date
+ changes were made. (We recommend you provide URIs to the location from
+ which the code is derived.)
+
+THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS
+MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT
+LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR
+PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENTATION WILL NOT INFRINGE
+ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.
+
+COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR
+CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR
+DOCUMENTATION.
+
+The name and trademarks of copyright holders may NOT be used in
+advertising or publicity pertaining to the software without specific, written
+prior permission. Title to copyright in this software and any associated
+documentation will at all times remain with copyright holders.
diff --git a/src/xmlpatterns/schema/tokens.xml b/src/xmlpatterns/schema/tokens.xml
new file mode 100644
index 0000000..5420695
--- /dev/null
+++ b/src/xmlpatterns/schema/tokens.xml
@@ -0,0 +1,155 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<tokenAutomaton scope="public"
+ className="XsdSchemaToken"
+ headerFile="qxsdschematoken_p.h"
+ sourceFile="qxsdschematoken.cpp"
+ defaultToken="NoKeyword"
+ tokenEnum="NodeName"
+ hasToString="true"
+ includeGuardName="QPatternist_XsdSchemaToken_h">
+ <tokens>
+ <token>abstract</token>
+ <token>all</token>
+ <token>alternative</token>
+ <token>annotation</token>
+ <token>any</token>
+ <token>anyAttribute</token>
+ <token>appinfo</token>
+ <token>appliesToEmpty</token>
+ <token>assert</token>
+ <token>assertion</token>
+ <token>attribute</token>
+ <token>attributeFormDefault</token>
+ <token>attributeGroup</token>
+ <token>base</token>
+ <token>block</token>
+ <token>blockDefault</token>
+ <token>choice</token>
+ <token>collapse</token>
+ <token>complexContent</token>
+ <token>complexType</token>
+ <token>default</token>
+ <token>defaultAttributes</token>
+ <token>defaultAttributesApply</token>
+ <token>defaultOpenContent</token>
+ <token>documentation</token>
+ <token>element</token>
+ <token>elementFormDefault</token>
+ <token>enumeration</token>
+ <token>extension</token>
+ <token>field</token>
+ <token>final</token>
+ <token>finalDefault</token>
+ <token>fixed</token>
+ <token>form</token>
+ <token>fractionDigits</token>
+ <token>group</token>
+ <token>id</token>
+ <token>import</token>
+ <token>include</token>
+ <token>itemType</token>
+ <token>key</token>
+ <token>keyref</token>
+ <token>length</token>
+ <token>list</token>
+ <token>maxExclusive</token>
+ <token>maxInclusive</token>
+ <token>maxLength</token>
+ <token>maxOccurs</token>
+ <token>memberTypes</token>
+ <token>minExclusive</token>
+ <token>minInclusive</token>
+ <token>minLength</token>
+ <token>minOccurs</token>
+ <token>mixed</token>
+ <token>mode</token>
+ <token>name</token>
+ <token>namespace</token>
+ <token>nillable</token>
+ <token>notation</token>
+ <token>notNamespace</token>
+ <token>notQName</token>
+ <token>openContent</token>
+ <token>override</token>
+ <token>preserve</token>
+ <token>pattern</token>
+ <token>processContents</token>
+ <token>public</token>
+ <token>redefine</token>
+ <token>ref</token>
+ <token>refer</token>
+ <token>replace</token>
+ <token>restriction</token>
+ <token>schema</token>
+ <token>schemaLocation</token>
+ <token>selector</token>
+ <token>sequence</token>
+ <token>simpleContent</token>
+ <token>simpleType</token>
+ <token>source</token>
+ <token>substitutionGroup</token>
+ <token>system</token>
+ <token>targetNamespace</token>
+ <token>test</token>
+ <token>totalDigits</token>
+ <token>type</token>
+ <token>union</token>
+ <token>unique</token>
+ <token>use</token>
+ <token>value</token>
+ <token>version</token>
+ <token>whiteSpace</token>
+ <token>xpath</token>
+ <token name="XPathDefaultNamespace">xpathDefaultNamespace</token>
+ <token name="XmlLanguage">xml:lang</token>
+ <token name="XML_NS_SCHEMA_URI">http://www.w3.org/2001/XMLSchema</token>
+ </tokens>
+
+ <boilerplate>
+
+ <prolog>/****************************************************************************
+**
+** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the QtXmlPatterns of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+</prolog>
+
+ </boilerplate>
+
+</tokenAutomaton>
diff --git a/src/xmlpatterns/type/qanysimpletype.cpp b/src/xmlpatterns/type/qanysimpletype.cpp
index 9e5c876..659f4499 100644
--- a/src/xmlpatterns/type/qanysimpletype.cpp
+++ b/src/xmlpatterns/type/qanysimpletype.cpp
@@ -80,4 +80,14 @@ SchemaType::DerivationMethod AnySimpleType::derivationMethod() const
return DerivationRestriction;
}
+bool AnySimpleType::isSimpleType() const
+{
+ return true;
+}
+
+bool AnySimpleType::isComplexType() const
+{
+ return false;
+}
+
QT_END_NAMESPACE
diff --git a/src/xmlpatterns/type/qanysimpletype_p.h b/src/xmlpatterns/type/qanysimpletype_p.h
index 8009c3b..a633052 100644
--- a/src/xmlpatterns/type/qanysimpletype_p.h
+++ b/src/xmlpatterns/type/qanysimpletype_p.h
@@ -73,6 +73,8 @@ namespace QPatternist
class AnySimpleType : public AnyType
{
public:
+ typedef QExplicitlySharedDataPointer<AnySimpleType> Ptr;
+ typedef QList<AnySimpleType::Ptr> List;
friend class BuiltinTypes;
virtual ~AnySimpleType();
@@ -105,6 +107,16 @@ namespace QPatternist
*/
virtual SchemaType::DerivationMethod derivationMethod() const;
+ /**
+ * Always returns @c true.
+ */
+ virtual bool isSimpleType() const;
+
+ /**
+ * Always returns @c false.
+ */
+ virtual bool isComplexType() const;
+
protected:
AnySimpleType();
diff --git a/src/xmlpatterns/type/qanytype.cpp b/src/xmlpatterns/type/qanytype.cpp
index 3d8714e..cabe56f 100644
--- a/src/xmlpatterns/type/qanytype.cpp
+++ b/src/xmlpatterns/type/qanytype.cpp
@@ -69,7 +69,7 @@ QXmlName AnyType::name(const NamePool::Ptr &np) const
return np->allocateQName(StandardNamespaces::xs, QLatin1String("anyType"));
}
-QString AnyType::displayName(const NamePool::Ptr &) const
+QString AnyType::displayName(const NamePool::Ptr &np) const
{
/* A bit faster than calling name()->displayName() */
return QLatin1String("xs:anyType");
@@ -85,9 +85,19 @@ SchemaType::TypeCategory AnyType::category() const
return None;
}
+bool AnyType::isComplexType() const
+{
+ return true;
+}
+
SchemaType::DerivationMethod AnyType::derivationMethod() const
{
return NoDerivation;
}
+SchemaType::DerivationConstraints AnyType::derivationConstraints() const
+{
+ return SchemaType::DerivationConstraints();
+}
+
QT_END_NAMESPACE
diff --git a/src/xmlpatterns/type/qanytype_p.h b/src/xmlpatterns/type/qanytype_p.h
index ae5cac8..7bc5554 100644
--- a/src/xmlpatterns/type/qanytype_p.h
+++ b/src/xmlpatterns/type/qanytype_p.h
@@ -114,6 +114,16 @@ namespace QPatternist
*/
virtual DerivationMethod derivationMethod() const;
+ /**
+ * @returns an empty set of derivation constraint flags.
+ */
+ virtual DerivationConstraints derivationConstraints() const;
+
+ /**
+ * Always returns @c true.
+ */
+ virtual bool isComplexType() const;
+
protected:
/**
* @short This constructor is protected, because this
diff --git a/src/xmlpatterns/type/qnamedschemacomponent.cpp b/src/xmlpatterns/type/qnamedschemacomponent.cpp
new file mode 100644
index 0000000..c7bdc30
--- /dev/null
+++ b/src/xmlpatterns/type/qnamedschemacomponent.cpp
@@ -0,0 +1,71 @@
+/****************************************************************************
+**
+** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the QtXmlPatterns of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "qnamedschemacomponent_p.h"
+
+QT_BEGIN_NAMESPACE
+
+using namespace QPatternist;
+
+NamedSchemaComponent::NamedSchemaComponent()
+{
+}
+
+NamedSchemaComponent::~NamedSchemaComponent()
+{
+}
+
+void NamedSchemaComponent::setName(const QXmlName &name)
+{
+ m_name = name;
+}
+
+QXmlName NamedSchemaComponent::name(const NamePool::Ptr&) const
+{
+ return m_name;
+}
+
+QString NamedSchemaComponent::displayName(const NamePool::Ptr &np) const
+{
+ return np->displayName(m_name);
+}
+
+QT_END_NAMESPACE
diff --git a/src/xmlpatterns/type/qnamedschemacomponent_p.h b/src/xmlpatterns/type/qnamedschemacomponent_p.h
new file mode 100644
index 0000000..ab8a916
--- /dev/null
+++ b/src/xmlpatterns/type/qnamedschemacomponent_p.h
@@ -0,0 +1,127 @@
+/****************************************************************************
+**
+** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtXmlPatterns of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+
+#ifndef Patternist_NamedSchemaComponent_H
+#define Patternist_NamedSchemaComponent_H
+
+#include "qnamepool_p.h"
+#include "qschemacomponent_p.h"
+#include "qxmlname.h"
+
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+namespace QPatternist
+{
+ /**
+ * @short Base class for all named components that can appear in a W3C XML Schema.
+ *
+ * @ingroup Patternist_types
+ * @author Tobias Koenig <tobias.koenig@trolltech.com>
+ */
+ class NamedSchemaComponent : public SchemaComponent
+ {
+ public:
+ typedef QExplicitlySharedDataPointer<NamedSchemaComponent> Ptr;
+
+ /**
+ * Describes the blocking constraints that are given by the 'block' attributes.
+ */
+ enum BlockingConstraint
+ {
+ RestrictionConstraint = 1,
+ ExtensionConstraint = 2,
+ SubstitutionConstraint = 4
+ };
+ Q_DECLARE_FLAGS(BlockingConstraints, BlockingConstraint)
+
+ /**
+ * Creates a new named schema component.
+ */
+ NamedSchemaComponent();
+
+ /**
+ * Destroys the named schema component.
+ */
+ virtual ~NamedSchemaComponent();
+
+ /**
+ * Sets the @p name of the schema component.
+ */
+ void setName(const QXmlName &name);
+
+ /**
+ * Returns the name of the schema component.
+ *
+ * @param namePool The name pool the name belongs to.
+ */
+ virtual QXmlName name(const NamePool::Ptr &namePool) const;
+
+ /**
+ * Returns the display name of the schema component.
+ *
+ * @param namePool The name pool the name belongs to.
+ */
+ virtual QString displayName(const NamePool::Ptr &namePool) const;
+
+ private:
+ QXmlName m_name;
+ };
+
+ Q_DECLARE_OPERATORS_FOR_FLAGS(NamedSchemaComponent::BlockingConstraints)
+}
+
+QT_END_NAMESPACE
+
+QT_END_HEADER
+
+#endif
diff --git a/src/xmlpatterns/type/qprimitives_p.h b/src/xmlpatterns/type/qprimitives_p.h
index 818cb22..b77698a 100644
--- a/src/xmlpatterns/type/qprimitives_p.h
+++ b/src/xmlpatterns/type/qprimitives_p.h
@@ -53,6 +53,8 @@
#define Patternist_Primitives_H
#include <QtGlobal>
+#include <QtCore/QHash>
+#include <QtCore/QUrl>
/**
* @file
@@ -79,6 +81,17 @@ namespace QPatternist
{
/**
+ * @internal
+ *
+ * A method to allow a QHash or QSet with QUrl
+ * as key type.
+ */
+ inline uint qHash(const QUrl &uri)
+ {
+ return qHash(uri.toString());
+ }
+
+ /**
* @defgroup Patternist_cppWXSTypes C++ Primitives for W3C XML Schema Number Types
*
* The implementations of W3C XML Schema's(WXS) number types, more specifically
@@ -195,6 +208,8 @@ namespace QPatternist
QString Q_AUTOTEST_EXPORT escape(const QString &input);
}
+using QPatternist::qHash;
+
QT_END_NAMESPACE
QT_END_HEADER
diff --git a/src/xmlpatterns/type/qschematype.cpp b/src/xmlpatterns/type/qschematype.cpp
index e7b8738..51ac41d 100644
--- a/src/xmlpatterns/type/qschematype.cpp
+++ b/src/xmlpatterns/type/qschematype.cpp
@@ -72,4 +72,9 @@ bool SchemaType::isComplexType() const
return category() == ComplexType;
}
+bool SchemaType::isDefinedBySchema() const
+{
+ return false;
+}
+
QT_END_NAMESPACE
diff --git a/src/xmlpatterns/type/qschematype_p.h b/src/xmlpatterns/type/qschematype_p.h
index 38ed9b6..eaac28a 100644
--- a/src/xmlpatterns/type/qschematype_p.h
+++ b/src/xmlpatterns/type/qschematype_p.h
@@ -57,6 +57,7 @@
#include "qxmlname.h"
template<typename N, typename M> class QHash;
+template<typename N> class QList;
QT_BEGIN_HEADER
@@ -80,6 +81,7 @@ namespace QPatternist
typedef QExplicitlySharedDataPointer<SchemaType> Ptr;
typedef QHash<QXmlName, SchemaType::Ptr> Hash;
+ typedef QList<SchemaType::Ptr> List;
/**
* Schema types are divided into different categories such as
@@ -117,6 +119,18 @@ namespace QPatternist
NoDerivation = 16
};
+ /**
+ * Describes the derivation constraints that are given by the 'final' or 'block' attributes.
+ */
+ enum DerivationConstraint
+ {
+ RestrictionConstraint = 1,
+ ExtensionConstraint = 2,
+ ListConstraint = 4,
+ UnionConstraint = 8
+ };
+ Q_DECLARE_FLAGS(DerivationConstraints, DerivationConstraint)
+
SchemaType();
virtual ~SchemaType();
@@ -137,6 +151,11 @@ namespace QPatternist
virtual DerivationMethod derivationMethod() const = 0;
/**
+ * Determines what derivation constraints exists for the type.
+ */
+ virtual DerivationConstraints derivationConstraints() const = 0;
+
+ /**
* Determines whether the type is an abstract type.
*
* @note It is important a correct value is returned, since
@@ -202,7 +221,7 @@ namespace QPatternist
* @note Do not re-implement this function, but instead override category()
* and let it return an appropriate value.
*/
- bool isSimpleType() const;
+ virtual bool isSimpleType() const;
/**
* Determines whether the type is a complex type, by introspecting
@@ -211,8 +230,15 @@ namespace QPatternist
* @note Do not re-implement this function, but instead override category()
* and let it return an appropriate value.
*/
- bool isComplexType() const;
+ virtual bool isComplexType() const;
+
+ /**
+ * Returns whether the value has been defined by a schema (is not a built in type).
+ */
+ virtual bool isDefinedBySchema() const;
};
+
+ Q_DECLARE_OPERATORS_FOR_FLAGS(SchemaType::DerivationConstraints)
}
QT_END_NAMESPACE
diff --git a/src/xmlpatterns/type/type.pri b/src/xmlpatterns/type/type.pri
index ef5976a..5425298 100644
--- a/src/xmlpatterns/type/type.pri
+++ b/src/xmlpatterns/type/type.pri
@@ -24,6 +24,7 @@ HEADERS += $$PWD/qabstractnodetest_p.h \
$$PWD/qitemtype_p.h \
$$PWD/qlocalnametest_p.h \
$$PWD/qmultiitemtype_p.h \
+ $$PWD/qnamedschemacomponent_p.h \
$$PWD/qnamespacenametest_p.h \
$$PWD/qnonetype_p.h \
$$PWD/qnumerictype_p.h \
@@ -57,6 +58,7 @@ SOURCES += $$PWD/qabstractnodetest.cpp \
$$PWD/qitemtype.cpp \
$$PWD/qlocalnametest.cpp \
$$PWD/qmultiitemtype.cpp \
+ $$PWD/qnamedschemacomponent.cpp \
$$PWD/qnamespacenametest.cpp \
$$PWD/qnonetype.cpp \
$$PWD/qnumerictype.cpp \
diff --git a/src/xmlpatterns/utils/qpatternistlocale_p.h b/src/xmlpatterns/utils/qpatternistlocale_p.h
index 5dcd917..d8288c7 100644
--- a/src/xmlpatterns/utils/qpatternistlocale_p.h
+++ b/src/xmlpatterns/utils/qpatternistlocale_p.h
@@ -93,7 +93,8 @@ namespace QPatternist
Q_DISABLE_COPY(QtXmlPatterns)
};
- static inline QString formatKeyword(const QString &keyword)
+ // don't make this function static, otherwise xlC 7 cannot find it
+ inline QString formatKeyword(const QString &keyword)
{
return QLatin1String("<span class='XQuery-keyword'>") +
escape(keyword) +
@@ -168,6 +169,16 @@ namespace QPatternist
}
/**
+ * @short Formats name of any type.
+ */
+ static inline QString formatType(const NamePool::Ptr &np, const QXmlName &name)
+ {
+ return QLatin1String("<span class='XQuery-type'>") +
+ escape(np->displayName(name)) +
+ QLatin1String("</span>");
+ }
+
+ /**
* @short Formats Cardinality.
*/
static inline QString formatType(const Cardinality &type)
diff --git a/src/xmlpatterns/utils/qxpathhelper.cpp b/src/xmlpatterns/utils/qxpathhelper.cpp
index 377d097..69f5494 100644
--- a/src/xmlpatterns/utils/qxpathhelper.cpp
+++ b/src/xmlpatterns/utils/qxpathhelper.cpp
@@ -125,4 +125,16 @@ ItemType::Ptr XPathHelper::typeFromKind(const QXmlNodeModelIndex::NodeKind nodeK
}
}
+QUrl XPathHelper::normalizeQueryURI(const QUrl &uri)
+{
+ Q_ASSERT_X(uri.isEmpty() || uri.isValid(), Q_FUNC_INFO,
+ "The URI passed to QXmlQuery::setQuery() must be valid or empty.");
+ if(uri.isEmpty())
+ return QUrl::fromLocalFile(QCoreApplication::applicationFilePath());
+ else if(uri.isRelative())
+ return QUrl::fromLocalFile(QCoreApplication::applicationFilePath()).resolved(uri);
+ else
+ return uri;
+}
+
QT_END_NAMESPACE
diff --git a/src/xmlpatterns/utils/qxpathhelper_p.h b/src/xmlpatterns/utils/qxpathhelper_p.h
index 8b7dc6e..4a37bb6 100644
--- a/src/xmlpatterns/utils/qxpathhelper_p.h
+++ b/src/xmlpatterns/utils/qxpathhelper_p.h
@@ -128,6 +128,11 @@ namespace QPatternist
static QPatternist::ItemTypePtr typeFromKind(const QXmlNodeModelIndex::NodeKind nodeKind);
/**
+ * Normalizes an @p uri by resolving it to the application directory if empty.
+ */
+ static QUrl normalizeQueryURI(const QUrl &uri);
+
+ /**
* @short Determines whether @p consists only of whitespace. Characters
* considered whitespace are the ones for which QChar::isSpace() returns @c true for.
*
diff --git a/src/xmlpatterns/xmlpatterns.pro b/src/xmlpatterns/xmlpatterns.pro
index e9d8af9..fb6aa1a 100644
--- a/src/xmlpatterns/xmlpatterns.pro
+++ b/src/xmlpatterns/xmlpatterns.pro
@@ -21,6 +21,8 @@ include($$PWD/iterators/iterators.pri)
include($$PWD/janitors/janitors.pri)
include($$PWD/parser/parser.pri)
include($$PWD/projection/projection.pri)
+include($$PWD/schema/schema.pri)
+include($$PWD/schematron/schematron.pri)
include($$PWD/type/type.pri)
include($$PWD/utils/utils.pri)
include($$PWD/qobjectmodel/qobjectmodel.pri)
diff --git a/tests/arthur/data/1.2/textArea01.svg b/tests/arthur/data/1.2/textArea01.svg
index 79fcd0a..945c34c 100644
--- a/tests/arthur/data/1.2/textArea01.svg
+++ b/tests/arthur/data/1.2/textArea01.svg
@@ -6,5 +6,5 @@
height="300">Tomorrow, and tomorrow, and
tomorrow; creeps in this petty pace from day to day, until the last syll&#xAD;able of recorded
time. And all our yesterdays have lighted fools the way to dusty death.</textArea>
- <rect x="5" y="5" width="210" height="310" stroke-width="3" stroke="#777"/>
+ <rect x="5" y="5" width="210" height="310" stroke-width="3" stroke="#777" fill="none"/>
</svg>
diff --git a/tests/arthur/data/qps/linear_gradients_perspectives_qps.png b/tests/arthur/data/qps/linear_gradients_perspectives_qps.png
index 42ba872..3315ebe 100644
--- a/tests/arthur/data/qps/linear_gradients_perspectives_qps.png
+++ b/tests/arthur/data/qps/linear_gradients_perspectives_qps.png
Binary files differ
diff --git a/tests/arthur/data/qps/linear_gradients_qps.png b/tests/arthur/data/qps/linear_gradients_qps.png
index dc5223b..a4cdc43 100644
--- a/tests/arthur/data/qps/linear_gradients_qps.png
+++ b/tests/arthur/data/qps/linear_gradients_qps.png
Binary files differ
diff --git a/tests/arthur/data/qps/lineconsistency_qps.png b/tests/arthur/data/qps/lineconsistency_qps.png
index 48768ef..9d19a5d 100644
--- a/tests/arthur/data/qps/lineconsistency_qps.png
+++ b/tests/arthur/data/qps/lineconsistency_qps.png
Binary files differ
diff --git a/tests/arthur/data/qps/linedashes2_aa_qps.png b/tests/arthur/data/qps/linedashes2_aa_qps.png
index 0cb5b40..54c84b3 100644
--- a/tests/arthur/data/qps/linedashes2_aa_qps.png
+++ b/tests/arthur/data/qps/linedashes2_aa_qps.png
Binary files differ
diff --git a/tests/arthur/data/qps/paths_aa_qps.png b/tests/arthur/data/qps/paths_aa_qps.png
index 45b4b74..e51a4ac 100644
--- a/tests/arthur/data/qps/paths_aa_qps.png
+++ b/tests/arthur/data/qps/paths_aa_qps.png
Binary files differ
diff --git a/tests/arthur/data/qps/paths_qps.png b/tests/arthur/data/qps/paths_qps.png
index a9a8743..094a84f 100644
--- a/tests/arthur/data/qps/paths_qps.png
+++ b/tests/arthur/data/qps/paths_qps.png
Binary files differ
diff --git a/tests/arthur/data/qps/pixmap_scaling.qps b/tests/arthur/data/qps/pixmap_scaling.qps
index 81b8fae..c5053ad 100644
--- a/tests/arthur/data/qps/pixmap_scaling.qps
+++ b/tests/arthur/data/qps/pixmap_scaling.qps
@@ -3,8 +3,8 @@
translate 5 25
setFont "arial" 8
-save
- drawText 15 0 "opaque image"
+save
+ drawText 15 0 "opaque image"
translate 50 50
save
translate 1 1
@@ -16,23 +16,23 @@ save
scale -20 20
drawImage solid2x2.png 0 0
restore
- save
+ save
translate 1 -1
scale 20 -20
drawImage solid2x2.png 0 0
restore
- save
+ save
translate -1 -1
scale -20 -20
drawImage solid2x2.png 0 0
restore
-
-restore
+
+restore
save
translate 150 0
- drawText 15 0 "alpha image"
+ drawText 15 0 "alpha image"
translate 50 50
save
translate 1 1
@@ -44,12 +44,12 @@ save
scale -20 20
drawImage alpha2x2.png 0 0
restore
- save
+ save
translate 1 -1
scale 20 -20
drawImage alpha2x2.png 0 0
restore
- save
+ save
translate -1 -1
scale -20 -20
drawImage alpha2x2.png 0 0
@@ -59,7 +59,7 @@ restore
save
translate 0 150
- drawText 15 0 "solid pixmap"
+ drawText 15 0 "solid pixmap"
translate 50 50
save
translate 1 1
@@ -71,12 +71,12 @@ save
scale -20 20
drawPixmap solid2x2.png 0 0
restore
- save
+ save
translate 1 -1
scale 20 -20
drawPixmap solid2x2.png 0 0
restore
- save
+ save
translate -1 -1
scale -20 -20
drawPixmap solid2x2.png 0 0
@@ -85,9 +85,9 @@ restore
save
- translate 150 150
+ translate 150 150
drawText 15 0 "alpha pixmap"
- translate 50 50
+ translate 50 50
save
translate 1 1
scale 20 20
@@ -98,12 +98,12 @@ save
scale -20 20
drawPixmap alpha2x2.png 0 0
restore
- save
+ save
translate 1 -1
scale 20 -20
drawPixmap alpha2x2.png 0 0
restore
- save
+ save
translate -1 -1
scale -20 -20
drawPixmap alpha2x2.png 0 0
@@ -111,7 +111,7 @@ save
restore
-save
+save
translate 300 10
save
drawText 0 -10 "subrect solid image"
@@ -138,7 +138,7 @@ save
drawImage solid2x2.png 45 0 5 50 1.8 0 0.2 2
restore
- save
+ save
translate 150 0
drawText 0 -10 "subrect solid image"
drawImage alpha2x2.png 0 0 50 5 0 0.0 2 0.2
@@ -151,7 +151,7 @@ save
drawImage alpha2x2.png 0 35 50 5 0 1.4 2 0.2
drawImage alpha2x2.png 0 40 50 5 0 1.6 2 0.2
drawImage alpha2x2.png 0 45 50 5 0 1.8 2 0.2
- translate 60 0
+ translate 60 0
drawImage alpha2x2.png 0 0 5 50 0.0 0 0.2 2
drawImage alpha2x2.png 5 0 5 50 0.2 0 0.2 2
drawImage alpha2x2.png 10 0 5 50 0.4 0 0.2 2
@@ -217,3 +217,311 @@ save
restore
restore
+
+
+
+image_load alpha2x2.png alpha2x2
+image_convertToFormat alpha2x2 alpha2x2_argb32 ARGB32
+image_convertToFormat alpha2x2 alpha2x2_argb32pre ARGB32_Premultiplied
+image_convertToFormat alpha2x2 alpha2x2_rgb888 Format_RGB888
+image_convertToFormat alpha2x2 alpha2x2_rgb32 RGB32
+image_convertToFormat alpha2x2 alpha2x2_rgb16 Format_RGB16
+
+save
+ translate 0 300
+ drawText 15 0 "drawImage - argb32"
+ translate 50 50
+ save
+ translate 0.5 0.5
+ scale 20 20
+ drawImage alpha2x2_argb32 0 0
+ restore
+ save
+ translate -0.5 0.5
+ scale -20 20
+ drawImage alpha2x2_argb32 0 0
+ restore
+ save
+ translate 0.5 -0.5
+ scale 20 -20
+ drawImage alpha2x2_argb32 0 0
+ restore
+ save
+ translate -0.5 -0.5
+ scale -20 -20
+ drawImage alpha2x2_argb32 0 0
+ restore
+restore
+
+save
+ translate 150 300
+ drawText 15 0 "drawImage - argb32premul"
+ translate 50 50
+ save
+ translate 0.5 0.5
+ scale 20 20
+ drawImage alpha2x2_argb32pre 0 0
+ restore
+ save
+ translate -0.5 0.5
+ scale -20 20
+ drawImage alpha2x2_argb32pre 0 0
+ restore
+ save
+ translate 0.5 -0.5
+ scale 20 -20
+ drawImage alpha2x2_argb32pre 0 0
+ restore
+ save
+ translate -0.5 -0.5
+ scale -20 -20
+ drawImage alpha2x2_argb32pre 0 0
+ restore
+restore
+
+
+
+save
+ translate 0 450
+ drawText 15 0 "drawImage - rgb888"
+ translate 50 50
+ save
+ translate 0.5 0.5
+ scale 20 20
+ drawImage alpha2x2_rgb888 0 0
+ restore
+ save
+ translate -0.5 0.5
+ scale -20 20
+ drawImage alpha2x2_rgb888 0 0
+ restore
+ save
+ translate 0.5 -0.5
+ scale 20 -20
+ drawImage alpha2x2_rgb888 0 0
+ restore
+ save
+ translate -0.5 -0.5
+ scale -20 -20
+ drawImage alpha2x2_rgb888 0 0
+ restore
+restore
+
+save
+ translate 150 450
+ drawText 15 0 "drawImage - rgb32"
+ translate 50 50
+ save
+ translate 0.5 0.5
+ scale 20 20
+ drawImage alpha2x2_rgb32 0 0
+ restore
+ save
+ translate -0.5 0.5
+ scale -20 20
+ drawImage alpha2x2_rgb32 0 0
+ restore
+ save
+ translate 0.5 -0.5
+ scale 20 -20
+ drawImage alpha2x2_rgb32 0 0
+ restore
+ save
+ translate -0.5 -0.5
+ scale -20 -20
+ drawImage alpha2x2_rgb32 0 0
+ restore
+restore
+
+save
+ translate 300 450
+ drawText 15 0 "drawImage - rgb16"
+ translate 50 50
+ save
+ translate 0.5 0.5
+ scale 20 20
+ drawImage alpha2x2_rgb16 0 0
+ restore
+ save
+ translate -0.5 0.5
+ scale -20 20
+ drawImage alpha2x2_rgb16 0 0
+ restore
+ save
+ translate 0.5 -0.5
+ scale 20 -20
+ drawImage alpha2x2_rgb16 0 0
+ restore
+ save
+ translate -0.5 -0.5
+ scale -20 -20
+ drawImage alpha2x2_rgb16 0 0
+ restore
+restore
+
+
+
+save
+ translate 0 600
+ drawText 15 0 "clipping - argb32"
+ translate 50 50
+ setClipRect -30 -30 60 60 ReplaceClip
+ save
+ translate 0.5 0.5
+ scale 20 20
+ drawImage alpha2x2_argb32 0 0
+ restore
+ save
+ translate -0.5 0.5
+ scale -20 20
+ drawImage alpha2x2_argb32 0 0
+ restore
+ save
+ translate 0.5 -0.5
+ scale 20 -20
+ drawImage alpha2x2_argb32 0 0
+ restore
+ save
+ translate -0.5 -0.5
+ scale -20 -20
+ drawImage alpha2x2_argb32 0 0
+ restore
+restore
+
+save
+ translate 150 600
+ drawText 15 0 "clipping - argb32premul"
+ translate 50 50
+ setClipRect -30 -30 60 60 ReplaceClip
+ save
+ translate 0.5 0.5
+ scale 20 20
+ drawImage alpha2x2_argb32pre 0 0
+ restore
+ save
+ translate -0.5 0.5
+ scale -20 20
+ drawImage alpha2x2_argb32pre 0 0
+ restore
+ save
+ translate 0.5 -0.5
+ scale 20 -20
+ drawImage alpha2x2_argb32pre 0 0
+ restore
+ save
+ translate -0.5 -0.5
+ scale -20 -20
+ drawImage alpha2x2_argb32pre 0 0
+ restore
+restore
+
+save
+ translate 300 600
+ drawText 15 0 "clipping - rgb16"
+ translate 50 50
+ setClipRect -30 -30 60 60 ReplaceClip
+ save
+ translate 0.5 0.5
+ scale 20 20
+ drawImage alpha2x2_rgb16 0 0
+ restore
+ save
+ translate -0.5 0.5
+ scale -20 20
+ drawImage alpha2x2_rgb16 0 0
+ restore
+ save
+ translate 0.5 -0.5
+ scale 20 -20
+ drawImage alpha2x2_rgb16 0 0
+ restore
+ save
+ translate -0.5 -0.5
+ scale -20 -20
+ drawImage alpha2x2_rgb16 0 0
+ restore
+restore
+
+
+path_addEllipse ellipse -30 -30 60 60
+
+save
+ translate 0 750
+ drawText 15 0 "clipping - argb32"
+ translate 50 50
+ setClipPath ellipse ReplaceClip
+ save
+ translate 0.5 0.5
+ scale 20 20
+ drawImage alpha2x2_argb32 0 0
+ restore
+ save
+ translate -0.5 0.5
+ scale -20 20
+ drawImage alpha2x2_argb32 0 0
+ restore
+ save
+ translate 0.5 -0.5
+ scale 20 -20
+ drawImage alpha2x2_argb32 0 0
+ restore
+ save
+ translate -0.5 -0.5
+ scale -20 -20
+ drawImage alpha2x2_argb32 0 0
+ restore
+restore
+
+save
+ translate 150 750
+ drawText 15 0 "clipping - argb32premul"
+ translate 50 50
+ setClipPath ellipse ReplaceClip
+ save
+ translate 0.5 0.5
+ scale 20 20
+ drawImage alpha2x2_argb32pre 0 0
+ restore
+ save
+ translate -0.5 0.5
+ scale -20 20
+ drawImage alpha2x2_argb32pre 0 0
+ restore
+ save
+ translate 0.5 -0.5
+ scale 20 -20
+ drawImage alpha2x2_argb32pre 0 0
+ restore
+ save
+ translate -0.5 -0.5
+ scale -20 -20
+ drawImage alpha2x2_argb32pre 0 0
+ restore
+restore
+
+save
+ translate 300 750
+ drawText 15 0 "clipping - rgb16"
+ translate 50 50
+ setClipPath ellipse ReplaceClip
+ save
+ translate 0.5 0.5
+ scale 20 20
+ drawImage alpha2x2_rgb16 0 0
+ restore
+ save
+ translate -0.5 0.5
+ scale -20 20
+ drawImage alpha2x2_rgb16 0 0
+ restore
+ save
+ translate 0.5 -0.5
+ scale 20 -20
+ drawImage alpha2x2_rgb16 0 0
+ restore
+ save
+ translate -0.5 -0.5
+ scale -20 -20
+ drawImage alpha2x2_rgb16 0 0
+ restore
+restore
diff --git a/tests/arthur/data/qps/radial_gradients_perspectives_qps.png b/tests/arthur/data/qps/radial_gradients_perspectives_qps.png
index 0e28aae..d833250 100644
--- a/tests/arthur/data/qps/radial_gradients_perspectives_qps.png
+++ b/tests/arthur/data/qps/radial_gradients_perspectives_qps.png
Binary files differ
diff --git a/tests/arthur/data/qps/radial_gradients_qps.png b/tests/arthur/data/qps/radial_gradients_qps.png
index 66fcfc4..11043e8 100644
--- a/tests/arthur/data/qps/radial_gradients_qps.png
+++ b/tests/arthur/data/qps/radial_gradients_qps.png
Binary files differ
diff --git a/tests/arthur/data/qps/rasterops.qps b/tests/arthur/data/qps/rasterops.qps
index b79ec0d..ee3deca 100644
--- a/tests/arthur/data/qps/rasterops.qps
+++ b/tests/arthur/data/qps/rasterops.qps
@@ -1,83 +1,84 @@
-setPen NoPen
-
-setBrush black
-drawRect 10 10 1200 140
-
-setCompositionMode SourceOrDestination
-translate 20 20
-begin_block drawShape
-setBrush 0xffff0000
-drawEllipse 10 10 80 80
-setBrush 0xff00ff00
-drawRect 0 0 50 50
-setBrush 0xff0000ff
-drawRect 50 50 50 50
-end_block
-
-begin_block loop
-setCompositionMode SourceAndDestination
-translate 120 0
-repeat_block drawShape
-
-setCompositionMode SourceXorDestination
-translate 120 0
-repeat_block drawShape
-
-setCompositionMode NotSourceAndNotDestination
-translate 120 0
-repeat_block drawShape
-
-setCompositionMode NotSourceOrNotDestination
-translate 120 0
-repeat_block drawShape
-
-setCompositionMode NotSourceXorDestination
-translate 120 0
-repeat_block drawShape
-
-setCompositionMode NotSource
-translate 120 0
-repeat_block drawShape
-
-setCompositionMode NotSourceAndDestination
-translate 120 0
-repeat_block drawShape
-
-setCompositionMode SourceAndNotDestination
-translate 120 0
-repeat_block drawShape
-end_block
-
-resetMatrix
-setCompositionMode Source
-setBrush white
-drawRect 10 160 1200 140
-translate 20 170
-repeat_block loop
-
-resetMatrix
-setCompositionMode Source
-translate 20 320
-repeat_block loop
-
-resetMatrix
-setPen black
-setCompositionMode SourceOver
-translate 20 470
-drawText 20 0 "Or ROP"
-translate 120 0
-drawText 20 0 "And ROP"
-translate 120 0
-drawText 20 0 "Xor ROP"
-translate 120 0
-drawText 20 0 "Nor ROP"
-translate 120 0
-drawText 20 0 "Nand ROP"
-translate 120 0
-drawText 0 0 "NSrcXorDst ROP"
-translate 120 0
-drawText 20 0 "NSrc ROP"
-translate 120 0
-drawText 0 0 "NSrcAndDst ROP"
-translate 120 0
-drawText 0 0 "SrcAndNDst ROP"
+setPen NoPen
+
+setBrush black
+drawRect 10 10 60 500
+
+setCompositionMode SourceOrDestination
+translate 20 20
+
+begin_block drawShape
+ setBrush 0xffff0000
+ drawEllipse 5 5 30 30
+ setBrush 0xff00ff00
+ drawRect 0 0 20 20
+ setBrush 0xff0000ff
+ drawRect 20 20 20 20
+end_block
+
+begin_block loop
+ setCompositionMode SourceAndDestination
+ translate 0 50
+repeat_block drawShape
+
+setCompositionMode SourceXorDestination
+translate 0 50
+repeat_block drawShape
+
+setCompositionMode NotSourceAndNotDestination
+translate 0 50
+repeat_block drawShape
+
+setCompositionMode NotSourceOrNotDestination
+translate 0 50
+repeat_block drawShape
+
+setCompositionMode NotSourceXorDestination
+translate 0 50
+repeat_block drawShape
+
+setCompositionMode NotSource
+translate 0 50
+repeat_block drawShape
+
+setCompositionMode NotSourceAndDestination
+translate 0 50
+repeat_block drawShape
+
+setCompositionMode SourceAndNotDestination
+translate 0 50
+repeat_block drawShape
+end_block
+
+resetMatrix
+setCompositionMode Source
+setBrush white
+drawRect 100 10 60 500
+translate 110 20
+repeat_block loop
+
+resetMatrix
+setCompositionMode Source
+translate 190 20
+repeat_block loop
+
+resetMatrix
+setPen black
+setCompositionMode SourceOver
+translate 250 45
+drawText 20 0 "Or ROP"
+translate 0 50
+drawText 20 0 "And ROP"
+translate 0 50
+drawText 20 0 "Xor ROP"
+translate 0 50
+drawText 20 0 "Nor ROP"
+translate 0 50
+drawText 20 0 "Nand ROP"
+translate 0 50
+drawText 0 0 "NSrcXorDst ROP"
+translate 0 50
+drawText 20 0 "NSrc ROP"
+translate 0 50
+drawText 0 0 "NSrcAndDst ROP"
+translate 0 50
+drawText 0 0 "SrcAndNDst ROP"
diff --git a/tests/arthur/data/qps/rasterops_qps.png b/tests/arthur/data/qps/rasterops_qps.png
index 80ca8ae..7b93001 100644
--- a/tests/arthur/data/qps/rasterops_qps.png
+++ b/tests/arthur/data/qps/rasterops_qps.png
Binary files differ
diff --git a/tests/arthur/data/qps/text_perspectives_qps.png b/tests/arthur/data/qps/text_perspectives_qps.png
index 483ccc0..183ad6f 100644
--- a/tests/arthur/data/qps/text_perspectives_qps.png
+++ b/tests/arthur/data/qps/text_perspectives_qps.png
Binary files differ
diff --git a/tests/arthur/data/qps/text_qps.png b/tests/arthur/data/qps/text_qps.png
index 2c2ebf2..9a95493 100644
--- a/tests/arthur/data/qps/text_qps.png
+++ b/tests/arthur/data/qps/text_qps.png
Binary files differ
diff --git a/tests/arthur/lance/interactivewidget.cpp b/tests/arthur/lance/interactivewidget.cpp
index 0febbed..0c2c7a6 100644
--- a/tests/arthur/lance/interactivewidget.cpp
+++ b/tests/arthur/lance/interactivewidget.cpp
@@ -43,7 +43,7 @@
InteractiveWidget::InteractiveWidget()
{
- m_onScreenWidget = new OnScreenWidget<QWidget>();
+ m_onScreenWidget = new OnScreenWidget<QWidget>("");
m_onScreenWidget->setMinimumSize(320, 240);
setCentralWidget(m_onScreenWidget);
diff --git a/tests/arthur/lance/lance.pro b/tests/arthur/lance/lance.pro
index 341eabc..3692f21 100644
--- a/tests/arthur/lance/lance.pro
+++ b/tests/arthur/lance/lance.pro
@@ -6,7 +6,7 @@ INCLUDEPATH += .
# Input
HEADERS += widgets.h interactivewidget.h
-SOURCES += interactivewidget.cpp main.cpp
+SOURCES += interactivewidget.cpp main.cpp
RESOURCES += icons.qrc
contains(QT_CONFIG, opengl)|contains(QT_CONFIG, opengles1)|contains(QT_CONFIG, opengles2):QT += opengl
diff --git a/tests/arthur/lance/main.cpp b/tests/arthur/lance/main.cpp
index 4e5437e..b199cd5 100644
--- a/tests/arthur/lance/main.cpp
+++ b/tests/arthur/lance/main.cpp
@@ -66,7 +66,7 @@ extern bool qt_show_painter_debug_output = false;
//#define CONSOLE_APPLICATION
-static const struct {
+static const struct {
const char *name;
QImage::Format format;
} imageFormats[] = {
@@ -281,7 +281,7 @@ int main(int argc, char **argv)
if (imageFormat == QImage::Format_Invalid) {
printf("Invalid image format. Available formats are:\n");
- for (int ff = 0; ff < formatCount; ++ff)
+ for (int ff = 0; ff < formatCount; ++ff)
printf("\t%s\n", imageFormats[ff].name);
return -1;
}
@@ -402,12 +402,10 @@ int main(int argc, char **argv)
case WidgetType:
{
OnScreenWidget<QWidget> *qWidget =
- new OnScreenWidget<QWidget>;
+ new OnScreenWidget<QWidget>(files.at(j));
qWidget->setVerboseMode(verboseMode);
qWidget->setType(type);
qWidget->setCheckersBackground(checkers_background);
- qWidget->m_filename = files.at(j);
- qWidget->setWindowTitle(fileinfo.filePath());
qWidget->m_commands = content;
qWidget->resize(width, height);
qWidget->show();
@@ -417,12 +415,10 @@ int main(int argc, char **argv)
case ImageWidgetType:
{
- OnScreenWidget<QWidget> *qWidget = new OnScreenWidget<QWidget>;
+ OnScreenWidget<QWidget> *qWidget = new OnScreenWidget<QWidget>(files.at(j));
qWidget->setVerboseMode(verboseMode);
qWidget->setType(type);
qWidget->setCheckersBackground(checkers_background);
- qWidget->m_filename = files.at(j);
- qWidget->setWindowTitle(fileinfo.filePath());
qWidget->m_commands = content;
qWidget->resize(width, height);
qWidget->show();
@@ -451,12 +447,10 @@ int main(int argc, char **argv)
}
case OpenGLType:
{
- OnScreenWidget<QGLWidget> *qGLWidget = new OnScreenWidget<QGLWidget>;
+ OnScreenWidget<QGLWidget> *qGLWidget = new OnScreenWidget<QGLWidget>(files.at(j));
qGLWidget->setVerboseMode(verboseMode);
qGLWidget->setType(type);
qGLWidget->setCheckersBackground(checkers_background);
- qGLWidget->m_filename = files.at(j);
- qGLWidget->setWindowTitle(fileinfo.filePath());
qGLWidget->m_commands = content;
qGLWidget->resize(width, height);
qGLWidget->show();
diff --git a/tests/arthur/lance/widgets.h b/tests/arthur/lance/widgets.h
index 271c18a..7247608 100644
--- a/tests/arthur/lance/widgets.h
+++ b/tests/arthur/lance/widgets.h
@@ -57,15 +57,47 @@
#include <QTextStream>
#include <QPaintEngine>
+#include <private/qwindowsurface_p.h>
+
#include <qmath.h>
const int CP_RADIUS = 10;
+class StupidWorkaround : public QObject
+{
+ Q_OBJECT
+public:
+ StupidWorkaround(QWidget *widget, int *value)
+ : QObject(widget), w(widget), mode(value)
+ {
+ }
+
+public slots:
+ void setViewMode(int m) {
+ *mode = m;
+ w->update();
+ }
+
+private:
+ QWidget *w;
+ int *mode;
+};
+
template <class T>
class OnScreenWidget : public T
{
public:
- OnScreenWidget(QWidget *parent = 0) : T(parent)
+
+ enum ViewMode {
+ RenderView,
+ BaselineView,
+ DifferenceView
+ };
+
+ OnScreenWidget(const QString &file, QWidget *parent = 0)
+ : T(parent),
+ m_view_mode(RenderView),
+ m_filename(file)
{
QSettings settings("Trolltech", "lance");
for (int i=0; i<10; ++i) {
@@ -78,11 +110,47 @@ public:
m_deviceType = WidgetType;
m_checkersBackground = true;
m_verboseMode = false;
- }
- void setVerboseMode(bool v) { m_verboseMode = v; }
- void setCheckersBackground(bool b) { m_checkersBackground = b; }
- void setType(DeviceType t) { m_deviceType = t; }
+ m_baseline_name = QString(m_filename).replace(".qps", "_qps") + ".png";
+ if (QFileInfo(m_baseline_name).exists()) {
+ m_baseline = QPixmap(m_baseline_name);
+ }
+
+ if (m_baseline.isNull()) {
+ setWindowTitle("Rendering: '" + file + "'. No baseline available");
+ } else {
+ setWindowTitle("Rendering: '" + file + "'. Shortcuts: 1=render, 2=baseline, 3=difference");
+
+ StupidWorkaround *workaround = new StupidWorkaround(this, &m_view_mode);
+
+ QSignalMapper *mapper = new QSignalMapper(this);
+ connect(mapper, SIGNAL(mapped(int)), workaround, SLOT(setViewMode(int)));
+ connect(mapper, SIGNAL(mapped(QString)), this, SLOT(setWindowTitle(QString)));
+
+ QAction *renderViewAction = new QAction("Render View", this);
+ renderViewAction->setShortcut(Qt::Key_1);
+ connect(renderViewAction, SIGNAL(triggered()), mapper, SLOT(map()));
+ mapper->setMapping(renderViewAction, RenderView);
+ mapper->setMapping(renderViewAction, "Render View: " + file);
+ addAction(renderViewAction);
+
+ QAction *baselineAction = new QAction("Baseline", this);
+ baselineAction->setShortcut(Qt::Key_2);
+ connect(baselineAction, SIGNAL(triggered()), mapper, SLOT(map()));
+ mapper->setMapping(baselineAction, BaselineView);
+ mapper->setMapping(baselineAction, "Baseline View: " + file);
+ addAction(baselineAction);
+
+ QAction *differenceAction = new QAction("Differenfe View", this);
+ differenceAction->setShortcut(Qt::Key_3);
+ connect(differenceAction, SIGNAL(triggered()), mapper, SLOT(map()));
+ mapper->setMapping(differenceAction, DifferenceView);
+ mapper->setMapping(differenceAction, "Difference View" + file);
+ addAction(differenceAction);
+
+ }
+
+ }
~OnScreenWidget()
{
@@ -93,12 +161,24 @@ public:
settings.sync();
}
+ void setVerboseMode(bool v) { m_verboseMode = v; }
+ void setCheckersBackground(bool b) { m_checkersBackground = b; }
+ void setType(DeviceType t) { m_deviceType = t; }
+
void resizeEvent(QResizeEvent *e) {
m_image = QImage();
T::resizeEvent(e);
}
- void paintEvent(QPaintEvent *)
+ void paintEvent(QPaintEvent *) {
+ switch (m_view_mode) {
+ case RenderView: paintRenderView(); break;
+ case BaselineView: paintBaselineView(); break;
+ case DifferenceView: paintDifferenceView(); break;
+ }
+ }
+
+ void OnScreenWidget<T>::paintRenderView()
{
QPainter pt;
QPaintDevice *dev = this;
@@ -152,6 +232,57 @@ public:
}
}
+ if (m_render_view.isNull()) {
+ m_render_view = window()->windowSurface()->grabWidget(this);
+ m_render_view.save("renderView.png");
+ }
+ }
+
+ void paintBaselineView() {
+ QPainter p(this);
+
+ if (m_baseline.isNull()) {
+ p.drawText(rect(), Qt::AlignCenter,
+ "No baseline found\n"
+ "file '" + m_baseline_name + "' does not exist...");
+ return;
+ }
+
+ p.drawPixmap(0, 0, m_baseline);
+
+ p.setPen(QColor::fromRgb(0, 0, 0, 0.1));
+ p.setFont(QFont("Arial", 128));
+ p.rotate(45);
+ p.drawText(100, 0, "BASELINE");
+ }
+
+ QPixmap generateDifference()
+ {
+ QImage img(size(), QImage::Format_RGB32);
+ img.fill(0);
+
+ QPainter p(&img);
+ p.drawPixmap(0, 0, m_render_view);
+
+ p.setCompositionMode(QPainter::RasterOp_SourceXorDestination);
+ p.drawPixmap(0, 0, m_baseline);
+
+ p.end();
+
+ return QPixmap::fromImage(img);
+ }
+
+ void paintDifferenceView() {
+ QPainter p(this);
+ if (m_baseline.isNull()) {
+ p.drawText(rect(), Qt::AlignCenter,
+ "No baseline found\n"
+ "file '" + m_baseline_name + "' does not exist...");
+ return;
+ }
+
+ p.fillRect(rect(), Qt::black);
+ p.drawPixmap(0, 0, generateDifference());
}
@@ -190,8 +321,6 @@ public:
T::update();
}
-
-
QSize sizeHint() const { return QSize(800, 800); }
QVector<QPointF> m_controlPoints;
@@ -200,12 +329,18 @@ public:
QStringList m_commands;
QString m_filename;
+ QString m_baseline_name;
bool m_verboseMode;
bool m_checkersBackground;
DeviceType m_deviceType;
+ int m_view_mode;
+
QImage m_image;
+
+ QPixmap m_baseline;
+ QPixmap m_render_view;
};
#endif
diff --git a/tests/auto/auto.pro b/tests/auto/auto.pro
index 6bc5ad8..7fcbf46 100644
--- a/tests/auto/auto.pro
+++ b/tests/auto/auto.pro
@@ -151,6 +151,7 @@ SUBDIRS += _networkselftest \
qgraphicspolygonitem \
qgraphicsproxywidget \
qgraphicsscene \
+ qgraphicssceneindex \
qgraphicsview \
qgraphicswidget \
qgridlayout \
@@ -285,6 +286,10 @@ SUBDIRS += _networkselftest \
qsocks5socketengine \
qsortfilterproxymodel \
qsound \
+ qaudiodeviceid \
+ qaudioformat \
+ qaudiooutput \
+ qaudioinput \
qspinbox \
qsplitter \
qsql \
@@ -394,7 +399,8 @@ SUBDIRS += _networkselftest \
symbols \
qrand \
uic \
- uic3
+ uic3 \
+ utf8
contains(QT_CONFIG, OdfWriter):SUBDIRS += qzip qtextodfwriter
@@ -423,9 +429,14 @@ SUBDIRS += checkxmlfiles \
qxmlnodemodelindex \
qxmlquery \
qxmlresultitems \
+ qxmlschema \
+ qxmlschemavalidator \
qxmlserializer \
xmlpatterns \
xmlpatternsdiagnosticsts \
+ xmlpatternsschema \
+ xmlpatternsschemats \
+ xmlpatternsvalidator \
xmlpatternsview \
xmlpatternsxqts \
xmlpatternsxslts
@@ -437,6 +448,7 @@ xmlpatternsxslts.depends = xmlpatternsxqts
unix:!embedded:contains(QT_CONFIG, dbus):SUBDIRS += \
qdbusabstractadaptor \
+ qdbusabstractinterface \
qdbusconnection \
qdbusinterface \
qdbuslocalcalls \
diff --git a/tests/auto/bic/data/Qt3Support.4.0.0.aix-gcc-power32.txt b/tests/auto/bic/data/Qt3Support.4.0.0.aix-gcc-power32.txt
index 35b9859..2d54bbe 100644
--- a/tests/auto/bic/data/Qt3Support.4.0.0.aix-gcc-power32.txt
+++ b/tests/auto/bic/data/Qt3Support.4.0.0.aix-gcc-power32.txt
@@ -53,65 +53,20 @@ Class QBool
size=1 align=1
QBool (0x300b7280) 0
-Class QTypeInfo<bool>
- size=1 align=1
-QTypeInfo<bool> (0x300cd9c0) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
-QTypeInfo<char> (0x300cdf80) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
-QTypeInfo<signed char> (0x300d4540) 0 empty
-Class QTypeInfo<uchar>
- size=1 align=1
-QTypeInfo<uchar> (0x300d4b00) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
-QTypeInfo<short int> (0x300e00c0) 0 empty
-Class QTypeInfo<ushort>
- size=1 align=1
-QTypeInfo<ushort> (0x300e0680) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
-QTypeInfo<int> (0x300e0c40) 0 empty
-Class QTypeInfo<uint>
- size=1 align=1
-QTypeInfo<uint> (0x300eb200) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
-QTypeInfo<long int> (0x300eb7c0) 0 empty
-Class QTypeInfo<ulong>
- size=1 align=1
-QTypeInfo<ulong> (0x300ebd80) 0 empty
-Class QTypeInfo<qint64>
- size=1 align=1
-QTypeInfo<qint64> (0x300f8340) 0 empty
-Class QTypeInfo<quint64>
- size=1 align=1
-QTypeInfo<quint64> (0x300f8900) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
-QTypeInfo<float> (0x300f8ec0) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
-QTypeInfo<double> (0x30104480) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
-QTypeInfo<long double> (0x30104a40) 0 empty
Class QFlag
size=4 align=4
@@ -125,9 +80,6 @@ Class QChar
size=2 align=2
QChar (0x30148980) 0
-Class QTypeInfo<QChar>
- size=1 align=1
-QTypeInfo<QChar> (0x30185980) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -142,13 +94,7 @@ Class sigset_t
size=8 align=4
sigset_t (0x3026ad80) 0
-Class <anonymous struct>
- size=8 align=4
-<anonymous struct> (0x30271200) 0
-Class <anonymous struct>
- size=32 align=8
-<anonymous struct> (0x30271540) 0
Class fsid_t
size=8 align=4
@@ -158,21 +104,9 @@ Class fsid64_t
size=16 align=8
fsid64_t (0x30271c40) 0
-Class <anonymous struct>
- size=52 align=4
-<anonymous struct> (0x302780c0) 0
-Class <anonymous struct>
- size=44 align=4
-<anonymous struct> (0x30278440) 0
-Class <anonymous struct>
- size=112 align=4
-<anonymous struct> (0x302787c0) 0
-Class <anonymous struct>
- size=208 align=4
-<anonymous struct> (0x30278b40) 0
Class _quad
size=8 align=4
@@ -186,17 +120,11 @@ Class adspace_t
size=68 align=4
adspace_t (0x30281e00) 0
-Class <anonymous struct>
- size=24 align=8
-<anonymous struct> (0x302865c0) 0
Class label_t
size=100 align=4
label_t (0x30286d00) 0
-Class <anonymous struct>
- size=4 align=4
-<anonymous struct> (0x3028b780) 0
Class sigset
size=8 align=4
@@ -238,57 +166,18 @@ Class QByteRef
size=8 align=4
QByteRef (0x302b7540) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
-QTypeInfo<QByteArray> (0x30423740) 0 empty
-Class QFlags<Qt::MouseButton>
- size=4 align=4
-QFlags<Qt::MouseButton> (0x30431080) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
-QFlags<Qt::Orientation> (0x30431340) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
-QFlags<Qt::KeyboardModifier> (0x3042cc00) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
-QFlags<Qt::WindowType> (0x30442080) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
-QFlags<Qt::AlignmentFlag> (0x30431a00) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
-QFlags<Qt::ImageConversionFlag> (0x30448800) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
-QFlags<Qt::DockWidgetArea> (0x3046af00) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
-QFlags<Qt::ToolBarArea> (0x3046e200) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
-QFlags<Qt::WindowState> (0x304422c0) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
-QFlags<Qt::DropAction> (0x30474f80) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
-QFlags<Qt::ItemFlag> (0x30479700) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
-QFlags<Qt::MatchFlag> (0x30479a40) 0
Class QInternal
size=1 align=1
@@ -306,9 +195,6 @@ Class QString
size=4 align=4
QString (0x300a1f40) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
-QFlags<QString::SectionFlag> (0x303cf2c0) 0
Class QLatin1String
size=4 align=4
@@ -323,9 +209,6 @@ Class QConstString
QConstString (0x300b7640) 0
QString (0x300b7680) 0
-Class QTypeInfo<QString>
- size=1 align=1
-QTypeInfo<QString> (0x303901c0) 0 empty
Class QListData::Data
size=24 align=4
@@ -335,9 +218,6 @@ Class QListData
size=4 align=4
QListData (0x300732c0) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
-QFlags<QTextCodec::ConversionFlag> (0x302fb500) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -360,13 +240,7 @@ Class QTextCodec
QTextCodec (0x303bab80) 0 nearly-empty
vptr=((&QTextCodec::_ZTV10QTextCodec) + 8)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
-QList<QByteArray>::<anonymous union> (0x30120bc0) 0
-Class QList<QByteArray>
- size=4 align=4
-QList<QByteArray> (0x302cc980) 0
Class QTextEncoder
size=32 align=4
@@ -385,21 +259,12 @@ Class QGenericReturnArgument
QGenericReturnArgument (0x3036a6c0) 0
QGenericArgument (0x3036a700) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
-QMetaObject::<anonymous struct> (0x3009b300) 0
Class QMetaObject
size=16 align=4
QMetaObject (0x3058c900) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
-QList<QObject*>::<anonymous union> (0x30170600) 0
-Class QList<QObject*>
- size=4 align=4
-QList<QObject*> (0x30166f00) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4 entries
@@ -487,9 +352,6 @@ QIODevice (0x30365880) 0
QObject (0x301e4440) 0
primary-for QIODevice (0x30365880)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
-QFlags<QIODevice::OpenModeFlag> (0x301ebec0) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4 entries
@@ -507,38 +369,20 @@ Class QRegExp
size=4 align=4
QRegExp (0x303baa80) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
-QTypeInfo<QRegExp> (0x30148180) 0 empty
Class QStringMatcher
size=1036 align=4
QStringMatcher (0x3012d8c0) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
-QList<QString>::<anonymous union> (0x30104900) 0
-Class QList<QString>
- size=4 align=4
-QList<QString> (0x30104380) 0
Class QStringList
size=4 align=4
QStringList (0x303bab00) 0
QList<QString> (0x300c3280) 0
-Class QList<QString>::Node
- size=4 align=4
-QList<QString>::Node (0x301046c0) 0
-Class QList<QString>::iterator
- size=4 align=4
-QList<QString>::iterator (0x300eba00) 0
-Class QList<QString>::const_iterator
- size=4 align=4
-QList<QString>::const_iterator (0x300eb980) 0
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5 entries
@@ -664,9 +508,6 @@ Class QMapData
size=72 align=4
QMapData (0x304b4140) 0
-Class <anonymous struct>
- size=32 align=4
-<anonymous struct> (0x3052cd00) 0
Vtable for QTextStream
QTextStream::_ZTV11QTextStream: 4 entries
@@ -680,9 +521,6 @@ Class QTextStream
QTextStream (0x3050bbc0) 0
vptr=((&QTextStream::_ZTV11QTextStream) + 8)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
-QFlags<QTextStream::NumberFlag> (0x305082c0) 0
Class QTextStreamManipulator
size=24 align=4
@@ -767,41 +605,20 @@ QFile (0x3057c8c0) 0
QObject (0x3057c980) 0
primary-for QIODevice (0x3057c900)
-Class QFlags<QFile::Permission>
- size=4 align=4
-QFlags<QFile::Permission> (0x3058a380) 0
Class QFileInfo
size=4 align=4
QFileInfo (0x304b0580) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
-QFlags<QFileInfo::Permission> (0x304927c0) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
-QTypeInfo<QFileInfo> (0x30390480) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
-QList<QFileInfo>::<anonymous union> (0x301dfa40) 0
-Class QList<QFileInfo>
- size=4 align=4
-QList<QFileInfo> (0x301df900) 0
Class QDir
size=4 align=4
QDir (0x304b03c0) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
-QFlags<QDir::Filter> (0x30365600) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
-QFlags<QDir::SortFlag> (0x303ac7c0) 0
Vtable for QFileEngine
QFileEngine::_ZTV11QFileEngine: 35 entries
@@ -846,9 +663,6 @@ Class QFileEngine
QFileEngine (0x3057c7c0) 0
vptr=((&QFileEngine::_ZTV11QFileEngine) + 8)
-Class QFlags<QFileEngine::FileFlag>
- size=4 align=4
-QFlags<QFileEngine::FileFlag> (0x3031a080) 0
Vtable for QFileEngineHandler
QFileEngineHandler::_ZTV18QFileEngineHandler: 5 entries
@@ -910,73 +724,22 @@ Class QMetaType
size=1 align=1
QMetaType (0x30079000) 0 empty
-Class QMetaTypeId<QString>
- size=1 align=1
-QMetaTypeId<QString> (0x3011fb00) 0 empty
-Class QMetaTypeId<int>
- size=1 align=1
-QMetaTypeId<int> (0x3013d480) 0 empty
-Class QMetaTypeId<uint_t>
- size=1 align=1
-QMetaTypeId<uint_t> (0x30148440) 0 empty
-Class QMetaTypeId<bool>
- size=1 align=1
-QMetaTypeId<bool> (0x3015dfc0) 0 empty
-Class QMetaTypeId<double>
- size=1 align=1
-QMetaTypeId<double> (0x301937c0) 0 empty
-Class QMetaTypeId<QByteArray>
- size=1 align=1
-QMetaTypeId<QByteArray> (0x301a18c0) 0 empty
-Class QMetaTypeId<QChar>
- size=1 align=1
-QMetaTypeId<QChar> (0x301a5d00) 0 empty
-Class QMetaTypeId<void>
- size=1 align=1
-QMetaTypeId<void> (0x301ad500) 0 empty
-Class QMetaTypeId<long int>
- size=1 align=1
-QMetaTypeId<long int> (0x301add00) 0 empty
-Class QMetaTypeId<short int>
- size=1 align=1
-QMetaTypeId<short int> (0x301b22c0) 0 empty
-Class QMetaTypeId<char>
- size=1 align=1
-QMetaTypeId<char> (0x301b2b00) 0 empty
-Class QMetaTypeId<ulong_t>
- size=1 align=1
-QMetaTypeId<ulong_t> (0x301b6640) 0 empty
-Class QMetaTypeId<ushort_t>
- size=1 align=1
-QMetaTypeId<ushort_t> (0x301b6fc0) 0 empty
-Class QMetaTypeId<uchar_t>
- size=1 align=1
-QMetaTypeId<uchar_t> (0x301b9600) 0 empty
-Class QMetaTypeId<float>
- size=1 align=1
-QMetaTypeId<float> (0x301b9c00) 0 empty
-Class QMetaTypeId<QObject*>
- size=1 align=1
-QMetaTypeId<QObject*> (0x301c1740) 0 empty
-Class QMetaTypeId<QWidget*>
- size=1 align=1
-QMetaTypeId<QWidget*> (0x301d7f80) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -998,69 +761,24 @@ Class QVariant
size=16 align=8
QVariant (0x30166c00) 0
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
-QList<QVariant>::<anonymous union> (0x3057e500) 0
-Class QList<QVariant>
- size=4 align=4
-QList<QVariant> (0x302acd80) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
-QMap<QString, QVariant>::<anonymous union> (0x302ed8c0) 0
-Class QMap<QString, QVariant>
- size=4 align=4
-QMap<QString, QVariant> (0x302b7980) 0
Class QVariantComparisonHelper
size=4 align=4
QVariantComparisonHelper (0x30225880) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
-QTypeInfo<QVariant> (0x303e8900) 0 empty
-Class <anonymous struct>
- size=12 align=4
-<anonymous struct> (0x303dab00) 0
-Class <anonymous struct>
- size=44 align=4
-<anonymous struct> (0x303f70c0) 0
-Class <anonymous struct>
- size=76 align=4
-<anonymous struct> (0x303f7880) 0
-Class <anonymous struct>
- size=36 align=4
-<anonymous struct> (0x303fc640) 0
-Class <anonymous struct>
- size=56 align=4
-<anonymous struct> (0x303fcc40) 0
-Class <anonymous struct>
- size=36 align=4
-<anonymous struct> (0x30414340) 0
-Class <anonymous struct>
- size=28 align=4
-<anonymous struct> (0x30414f00) 0
-Class <anonymous struct>
- size=24 align=4
-<anonymous struct> (0x30486a40) 0
-Class <anonymous struct>
- size=28 align=4
-<anonymous struct> (0x30486d80) 0
-Class <anonymous struct>
- size=28 align=4
-<anonymous struct> (0x30492400) 0
Class lconv
size=56 align=4
@@ -1102,77 +820,41 @@ Class localeinfo_table
size=36 align=4
localeinfo_table (0x303d9cc0) 0
-Class <anonymous struct>
- size=108 align=4
-<anonymous struct> (0x304dc500) 0
Class _LC_charmap_objhdl
size=12 align=4
_LC_charmap_objhdl (0x304dcc80) 0
-Class <anonymous struct>
- size=92 align=4
-<anonymous struct> (0x30561040) 0
Class _LC_monetary_objhdl
size=12 align=4
_LC_monetary_objhdl (0x305614c0) 0
-Class <anonymous struct>
- size=48 align=4
-<anonymous struct> (0x30561800) 0
Class _LC_numeric_objhdl
size=12 align=4
_LC_numeric_objhdl (0x30561d00) 0
-Class <anonymous struct>
- size=56 align=4
-<anonymous struct> (0x30083180) 0
Class _LC_resp_objhdl
size=12 align=4
_LC_resp_objhdl (0x300838c0) 0
-Class <anonymous struct>
- size=248 align=4
-<anonymous struct> (0x30083c40) 0
Class _LC_time_objhdl
size=12 align=4
_LC_time_objhdl (0x3012c400) 0
-Class <anonymous struct>
- size=10 align=2
-<anonymous struct> (0x3012cc40) 0
-Class <anonymous struct>
- size=16 align=4
-<anonymous struct> (0x301df180) 0
-Class <anonymous struct>
- size=16 align=4
-<anonymous struct> (0x301df5c0) 0
-Class <anonymous struct>
- size=20 align=4
-<anonymous struct> (0x303acac0) 0
-Class <anonymous struct>
- size=104 align=4
-<anonymous struct> (0x30504a00) 0
Class _LC_collate_objhdl
size=12 align=4
_LC_collate_objhdl (0x301bfb80) 0
-Class <anonymous struct>
- size=8 align=4
-<anonymous struct> (0x301e8b00) 0
-Class <anonymous struct>
- size=80 align=4
-<anonymous struct> (0x305a0100) 0
Class _LC_ctype_objhdl
size=12 align=4
@@ -1186,17 +868,11 @@ Class _LC_locale_objhdl
size=12 align=4
_LC_locale_objhdl (0x303da600) 0
-Class _LC_object_handle::<anonymous union>
- size=12 align=4
-_LC_object_handle::<anonymous union> (0x305911c0) 0
Class _LC_object_handle
size=20 align=4
_LC_object_handle (0x30591080) 0
-Class <anonymous struct>
- size=24 align=4
-<anonymous struct> (0x3031ed80) 0
Vtable for QSettings
QSettings::_ZTV9QSettings: 14 entries
@@ -1271,13 +947,7 @@ Class QUrl
size=4 align=4
QUrl (0x302256c0) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
-QFlags<QUrl::FormattingOption> (0x306df180) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
-QTypeInfo<QUrl> (0x307c8900) 0 empty
Vtable for QEventLoop
QEventLoop::_ZTV10QEventLoop: 14 entries
@@ -1303,9 +973,6 @@ QEventLoop (0x30802000) 0
QObject (0x30802040) 0
primary-for QEventLoop (0x30802000)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0x30803740) 0
Vtable for QAbstractEventDispatcher
QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 27 entries
@@ -1348,17 +1015,11 @@ Class QModelIndex
size=16 align=4
QModelIndex (0x3049cc80) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
-QTypeInfo<QModelIndex> (0x304eb5c0) 0 empty
Class QPersistentModelIndex
size=4 align=4
QPersistentModelIndex (0x3049cb80) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
-QTypeInfo<QPersistentModelIndex> (0x3002e700) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42 entries
@@ -1524,9 +1185,6 @@ Class QBasicTimer
size=4 align=4
QBasicTimer (0x307fe180) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
-QTypeInfo<QBasicTimer> (0x30803300) 0 empty
Vtable for QEvent
QEvent::_ZTV6QEvent: 4 entries
@@ -1612,17 +1270,11 @@ Class QMetaMethod
size=8 align=4
QMetaMethod (0x30379340) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
-QTypeInfo<QMetaMethod> (0x30880740) 0 empty
Class QMetaEnum
size=8 align=4
QMetaEnum (0x303793c0) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
-QTypeInfo<QMetaEnum> (0x3088be80) 0 empty
Class QMetaProperty
size=20 align=4
@@ -1632,9 +1284,6 @@ Class QMetaClassInfo
size=8 align=4
QMetaClassInfo (0x30379540) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
-QTypeInfo<QMetaClassInfo> (0x308a3780) 0 empty
Vtable for QMimeData
QMimeData::_ZTV9QMimeData: 17 entries
@@ -1902,9 +1551,6 @@ Class QBitRef
size=8 align=4
QBitRef (0x305a6140) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
-QTypeInfo<QBitArray> (0x30864700) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -1922,65 +1568,41 @@ Class QHashDummyValue
size=1 align=1
QHashDummyValue (0x30893ec0) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
-QTypeInfo<QHashDummyValue> (0x30897f00) 0 empty
Class QDate
size=4 align=4
QDate (0x301eb4c0) 0
-Class QTypeInfo<QDate>
- size=1 align=1
-QTypeInfo<QDate> (0x300ebe80) 0 empty
Class QTime
size=4 align=4
QTime (0x301f1e80) 0
-Class QTypeInfo<QTime>
- size=1 align=1
-QTypeInfo<QTime> (0x30368c00) 0 empty
Class QDateTime
size=4 align=4
QDateTime (0x304b0440) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
-QTypeInfo<QDateTime> (0x304d4880) 0 empty
Class QPoint
size=8 align=4
QPoint (0x301f9d40) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
-QTypeInfo<QPoint> (0x307b9180) 0 empty
Class QPointF
size=16 align=8
QPointF (0x30200880) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
-QTypeInfo<QPointF> (0x307efcc0) 0 empty
Class QLine
size=16 align=4
QLine (0x301eb540) 0
-Class QTypeInfo<QLine>
- size=1 align=1
-QTypeInfo<QLine> (0x3098afc0) 0 empty
Class QLineF
size=32 align=8
QLineF (0x301eb600) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
-QTypeInfo<QLineF> (0x30a335c0) 0 empty
Class QLinkedListData
size=20 align=4
@@ -1990,41 +1612,26 @@ Class QLocale
size=4 align=4
QLocale (0x301eb800) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
-QTypeInfo<QLocale> (0x30822c80) 0 empty
Class QSize
size=8 align=4
QSize (0x30200a80) 0
-Class QTypeInfo<QSize>
- size=1 align=1
-QTypeInfo<QSize> (0x30864400) 0 empty
Class QSizeF
size=16 align=8
QSizeF (0x30209200) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
-QTypeInfo<QSizeF> (0x30a33a80) 0 empty
Class QRect
size=16 align=4
QRect (0x30213780) 0
-Class QTypeInfo<QRect>
- size=1 align=1
-QTypeInfo<QRect> (0x30aad700) 0 empty
Class QRectF
size=32 align=8
QRectF (0x302138c0) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
-QTypeInfo<QRectF> (0x30a1fdc0) 0 empty
Class QSharedData
size=4 align=4
@@ -2046,9 +1653,6 @@ Class QKeySequence
size=4 align=4
QKeySequence (0x305580c0) 0
-Class QTypeInfo<QKeySequence>
- size=1 align=1
-QTypeInfo<QKeySequence> (0x30ad4d00) 0 empty
Vtable for QMimeSource
QMimeSource::_ZTV11QMimeSource: 7 entries
@@ -2313,13 +1917,7 @@ Class QInputMethodEvent::Attribute
size=32 align=8
QInputMethodEvent::Attribute (0x307e7800) 0
-Class QList<QInputMethodEvent::Attribute>::<anonymous union>
- size=4 align=4
-QList<QInputMethodEvent::Attribute>::<anonymous union> (0x30a2d6c0) 0
-Class QList<QInputMethodEvent::Attribute>
- size=4 align=4
-QList<QInputMethodEvent::Attribute> (0x307e7ec0) 0
Vtable for QInputMethodEvent
QInputMethodEvent::_ZTV17QInputMethodEvent: 4 entries
@@ -2577,13 +2175,7 @@ Class QAccessible
size=1 align=1
QAccessible (0x30c2af00) 0 empty
-Class QFlags<QAccessible::StateFlag>
- size=4 align=4
-QFlags<QAccessible::StateFlag> (0x30c36000) 0
-Class QFlags<QAccessible::RelationFlag>
- size=4 align=4
-QFlags<QAccessible::RelationFlag> (0x30c3b540) 0
Vtable for QAccessibleInterface
QAccessibleInterface::_ZTV20QAccessibleInterface: 19 entries
@@ -2856,21 +2448,9 @@ Class QPaintDevice
QPaintDevice (0x30bc8900) 0
vptr=((&QPaintDevice::_ZTV12QPaintDevice) + 8)
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
-QColor::<anonymous union>::<anonymous struct> (0x30aadc40) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
-QColor::<anonymous union>::<anonymous struct> (0x30ab3280) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
-QColor::<anonymous union>::<anonymous struct> (0x30aba480) 0
-Class QColor::<anonymous union>
- size=10 align=2
-QColor::<anonymous union> (0x30aadb80) 0
Class QColor
size=16 align=4
@@ -2880,37 +2460,16 @@ Class QBrush
size=4 align=4
QBrush (0x305317c0) 0
-Class QTypeInfo<QBrush>
- size=1 align=1
-QTypeInfo<QBrush> (0x30b2f040) 0 empty
Class QBrushData
size=24 align=4
QBrushData (0x30a77a00) 0
-Class QVector<QGradientStop>::<anonymous union>
- size=4 align=4
-QVector<QGradientStop>::<anonymous union> (0x30a61380) 0
-Class QVector<QGradientStop>
- size=4 align=4
-QVector<QGradientStop> (0x30bb0140) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=32 align=8
-QGradient::<anonymous union>::<anonymous struct> (0x309db5c0) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=40 align=8
-QGradient::<anonymous union>::<anonymous struct> (0x309dba40) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=24 align=8
-QGradient::<anonymous union>::<anonymous struct> (0x309dbec0) 0
-Class QGradient::<anonymous union>
- size=40 align=8
-QGradient::<anonymous union> (0x309db500) 0
Class QGradient
size=64 align=8
@@ -3535,9 +3094,6 @@ QFileDialog (0x30d9d000) 0
QPaintDevice (0x30d9d0c0) 8
vptr=((&QFileDialog::_ZTV11QFileDialog) + 244)
-Class QFlags<QFileDialog::Option>
- size=4 align=4
-QFlags<QFileDialog::Option> (0x30dcd640) 0
Vtable for QFontDialog
QFontDialog::_ZTV11QFontDialog: 66 entries
@@ -4220,9 +3776,6 @@ QImage (0x305472c0) 0
QPaintDevice (0x30c41b80) 0
primary-for QImage (0x305472c0)
-Class QTypeInfo<QImage>
- size=1 align=1
-QTypeInfo<QImage> (0x30e4a500) 0 empty
Vtable for QPixmap
QPixmap::_ZTV7QPixmap: 7 entries
@@ -4264,9 +3817,6 @@ Class QIcon
size=4 align=4
QIcon (0x30536cc0) 0
-Class QTypeInfo<QIcon>
- size=1 align=1
-QTypeInfo<QIcon> (0x30eb0980) 0 empty
Vtable for QIconEngine
QIconEngine::_ZTV11QIconEngine: 9 entries
@@ -4580,13 +4130,7 @@ QActionGroup (0x30fdb180) 0
QObject (0x31016480) 0
primary-for QActionGroup (0x30fdb180)
-Class QList<QAction*>::<anonymous union>
- size=4 align=4
-QList<QAction*>::<anonymous union> (0x30ec74c0) 0
-Class QList<QAction*>
- size=4 align=4
-QList<QAction*> (0x30c8c300) 0
Vtable for QInputContext
QInputContext::_ZTV13QInputContext: 26 entries
@@ -4883,9 +4427,6 @@ QAbstractSpinBox (0x30c2a3c0) 0
QPaintDevice (0x30c2a5c0) 8
vptr=((&QAbstractSpinBox::_ZTV16QAbstractSpinBox) + 252)
-Class QFlags<QAbstractSpinBox::StepEnabledFlag>
- size=4 align=4
-QFlags<QAbstractSpinBox::StepEnabledFlag> (0x309e1bc0) 0
Vtable for QAbstractSlider
QAbstractSlider::_ZTV15QAbstractSlider: 64 entries
@@ -5090,13 +4631,7 @@ QStyle (0x30ccda80) 0
QObject (0x30ced6c0) 0
primary-for QStyle (0x30ccda80)
-Class QFlags<QStyle::StateFlag>
- size=4 align=4
-QFlags<QStyle::StateFlag> (0x30cf8a80) 0
-Class QFlags<QStyle::SubControl>
- size=4 align=4
-QFlags<QStyle::SubControl> (0x30d2f2c0) 0
Vtable for QTabBar
QTabBar::_ZTV7QTabBar: 67 entries
@@ -5364,18 +4899,12 @@ Class QStyleOptionHeader
QStyleOptionHeader (0x310ccb00) 0
QStyleOption (0x310ccb40) 0
-Class QFlags<QStyleOptionButton::ButtonFeature>
- size=4 align=4
-QFlags<QStyleOptionButton::ButtonFeature> (0x310e9400) 0
Class QStyleOptionButton
size=64 align=4
QStyleOptionButton (0x310e8580) 0
QStyleOption (0x310e85c0) 0
-Class QFlags<QStyleOptionTab::CornerWidget>
- size=4 align=4
-QFlags<QStyleOptionTab::CornerWidget> (0x31149980) 0
Class QStyleOptionTab
size=72 align=4
@@ -5392,9 +4921,6 @@ Class QStyleOptionMenuItem
QStyleOptionMenuItem (0x30f8d740) 0
QStyleOption (0x30f8d780) 0
-Class QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature>
- size=4 align=4
-QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature> (0x30f29880) 0
Class QStyleOptionQ3ListViewItem
size=64 align=4
@@ -5443,13 +4969,7 @@ QStyleOptionSpinBox (0x307d5680) 0
QStyleOptionComplex (0x307d56c0) 0
QStyleOption (0x307d57c0) 0
-Class QList<QStyleOptionQ3ListViewItem>::<anonymous union>
- size=4 align=4
-QList<QStyleOptionQ3ListViewItem>::<anonymous union> (0x307e76c0) 0
-Class QList<QStyleOptionQ3ListViewItem>
- size=4 align=4
-QList<QStyleOptionQ3ListViewItem> (0x307e7580) 0
Class QStyleOptionQ3ListView
size=84 align=4
@@ -5457,9 +4977,6 @@ QStyleOptionQ3ListView (0x309d9180) 0
QStyleOptionComplex (0x309d91c0) 0
QStyleOption (0x309d9380) 0
-Class QFlags<QStyleOptionToolButton::ToolButtonFeature>
- size=4 align=4
-QFlags<QStyleOptionToolButton::ToolButtonFeature> (0x30b6fec0) 0
Class QStyleOptionToolButton
size=96 align=4
@@ -5604,9 +5121,6 @@ Class QItemSelectionRange
size=8 align=4
QItemSelectionRange (0x310faec0) 0
-Class QTypeInfo<QItemSelectionRange>
- size=1 align=1
-QTypeInfo<QItemSelectionRange> (0x3116aa80) 0 empty
Vtable for QItemSelectionModel
QItemSelectionModel::_ZTV19QItemSelectionModel: 18 entries
@@ -5636,26 +5150,14 @@ QItemSelectionModel (0x311834c0) 0
QObject (0x31183500) 0
primary-for QItemSelectionModel (0x311834c0)
-Class QFlags<QItemSelectionModel::SelectionFlag>
- size=4 align=4
-QFlags<QItemSelectionModel::SelectionFlag> (0x31187d80) 0
-Class QList<QItemSelectionRange>::<anonymous union>
- size=4 align=4
-QList<QItemSelectionRange>::<anonymous union> (0x3112d340) 0
-Class QList<QItemSelectionRange>
- size=4 align=4
-QList<QItemSelectionRange> (0x3112d200) 0
Class QItemSelection
size=4 align=4
QItemSelection (0x30d9ad80) 0
QList<QItemSelectionRange> (0x31174fc0) 0
-Class QList<QItemSelectionRange>::Node
- size=4 align=4
-QList<QItemSelectionRange>::Node (0x3112d300) 0
Vtable for QAbstractItemView
QAbstractItemView::_ZTV17QAbstractItemView: 103 entries
@@ -5778,9 +5280,6 @@ QAbstractItemView (0x311e8dc0) 0
QPaintDevice (0x311e8ec0) 8
vptr=((&QAbstractItemView::_ZTV17QAbstractItemView) + 392)
-Class QFlags<QAbstractItemView::EditTrigger>
- size=4 align=4
-QFlags<QAbstractItemView::EditTrigger> (0x311f7440) 0
Vtable for QFileIconProvider
QFileIconProvider::_ZTV17QFileIconProvider: 7 entries
@@ -6027,13 +5526,7 @@ Class QItemEditorCreatorBase
QItemEditorCreatorBase (0x3115d940) 0 nearly-empty
vptr=((&QItemEditorCreatorBase::_ZTV22QItemEditorCreatorBase) + 8)
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union>
- size=4 align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union> (0x31149a40) 0
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>
- size=4 align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*> (0x31149540) 0
Vtable for QItemEditorFactory
QItemEditorFactory::_ZTV18QItemEditorFactory: 6 entries
@@ -6049,9 +5542,6 @@ Class QItemEditorFactory
QItemEditorFactory (0x3116f1c0) 0
vptr=((&QItemEditorFactory::_ZTV18QItemEditorFactory) + 8)
-Class QHashNode<QVariant::Type, QItemEditorCreatorBase*>
- size=16 align=4
-QHashNode<QVariant::Type, QItemEditorCreatorBase*> (0x31149680) 0
Vtable for QListView
QListView::_ZTV9QListView: 103 entries
@@ -6176,13 +5666,7 @@ QListView (0x310cc3c0) 0
QPaintDevice (0x310cc500) 8
vptr=((&QListView::_ZTV9QListView) + 392)
-Class QVector<QWidgetItemData>::<anonymous union>
- size=4 align=4
-QVector<QWidgetItemData>::<anonymous union> (0x3107ee40) 0
-Class QVector<QWidgetItemData>
- size=4 align=4
-QVector<QWidgetItemData> (0x3107ec40) 0
Vtable for QListWidgetItem
QListWidgetItem::_ZTV15QListWidgetItem: 11 entries
@@ -6896,21 +6380,9 @@ QTreeView (0x30ea3980) 0
QPaintDevice (0x30ea3ac0) 8
vptr=((&QTreeView::_ZTV9QTreeView) + 400)
-Class QVector<QVector<QWidgetItemData> >::<anonymous union>
- size=4 align=4
-QVector<QVector<QWidgetItemData> >::<anonymous union> (0x30f5cd00) 0
-Class QVector<QVector<QWidgetItemData> >
- size=4 align=4
-QVector<QVector<QWidgetItemData> > (0x30f5c9c0) 0
-Class QList<QTreeWidgetItem*>::<anonymous union>
- size=4 align=4
-QList<QTreeWidgetItem*>::<anonymous union> (0x30f7ab40) 0
-Class QList<QTreeWidgetItem*>
- size=4 align=4
-QList<QTreeWidgetItem*> (0x30f7aa00) 0
Vtable for QTreeWidgetItem
QTreeWidgetItem::_ZTV15QTreeWidgetItem: 10 entries
@@ -6930,17 +6402,8 @@ Class QTreeWidgetItem
QTreeWidgetItem (0x30f51340) 0
vptr=((&QTreeWidgetItem::_ZTV15QTreeWidgetItem) + 8)
-Class QList<QTreeWidgetItem*>::Node
- size=4 align=4
-QList<QTreeWidgetItem*>::Node (0x30f7ab00) 0
-Class QVectorTypedData<QVector<QWidgetItemData> >
- size=20 align=4
-QVectorTypedData<QVector<QWidgetItemData> > (0x30f5cb00) 0
-Class QTypeInfo<QTreeWidgetItem*>
- size=1 align=1
-QTypeInfo<QTreeWidgetItem*> (0x3124bd80) 0 empty
Vtable for QTreeWidget
QTreeWidget::_ZTV11QTreeWidget: 109 entries
@@ -7749,135 +7212,60 @@ Class QColormap
size=4 align=4
QColormap (0x30a74040) 0
-Class QVector<QPoint>::<anonymous union>
- size=4 align=4
-QVector<QPoint>::<anonymous union> (0x30eb0200) 0
-Class QVector<QPoint>
- size=4 align=4
-QVector<QPoint> (0x30eb0000) 0
Class QPolygon
size=4 align=4
QPolygon (0x30547bc0) 0
QVector<QPoint> (0x30e7f4c0) 0
-Class QVectorTypedData<QPoint>
- size=24 align=4
-QVectorTypedData<QPoint> (0x30eb0140) 0
-Class QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union>
- size=4 align=4
-QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union> (0x304e6340) 0
-Class QVector<QPointF>::<anonymous union>
- size=4 align=4
-QVector<QPointF>::<anonymous union> (0x3109d580) 0
-Class QVector<QPointF>
- size=4 align=4
-QVector<QPointF> (0x3109d340) 0
Class QPolygonF
size=4 align=4
QPolygonF (0x3109d300) 0
QVector<QPointF> (0x310a2880) 0
-Class QVectorTypedData<QPointF>
- size=32 align=8
-QVectorTypedData<QPointF> (0x3109d4c0) 0
-Class QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union>
- size=4 align=4
-QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union> (0x313a6040) 0
Class QMatrix
size=48 align=8
QMatrix (0x307ef840) 0
-Class QTypeInfo<QMatrix>
- size=1 align=1
-QTypeInfo<QMatrix> (0x314635c0) 0 empty
Class QTextOption
size=24 align=4
QTextOption (0x3147a800) 0
-Class QFlags<QTextOption::Flag>
- size=4 align=4
-QFlags<QTextOption::Flag> (0x31481040) 0
Class QPen
size=4 align=4
QPen (0x30558c80) 0
-Class QTypeInfo<QPen>
- size=1 align=1
-QTypeInfo<QPen> (0x314ae9c0) 0 empty
Class QPainter
size=4 align=4
QPainter (0x30bc8a00) 0
-Class QVector<QLineF>::<anonymous union>
- size=4 align=4
-QVector<QLineF>::<anonymous union> (0x3156ea00) 0
-Class QVector<QLineF>
- size=4 align=4
-QVector<QLineF> (0x314c5c40) 0
-Class QVectorTypedData<QLineF>
- size=48 align=8
-QVectorTypedData<QLineF> (0x3156e940) 0
-Class QVector<QLine>::<anonymous union>
- size=4 align=4
-QVector<QLine>::<anonymous union> (0x3159d480) 0
-Class QVector<QLine>
- size=4 align=4
-QVector<QLine> (0x314c5e00) 0
-Class QVectorTypedData<QLine>
- size=32 align=4
-QVectorTypedData<QLine> (0x3159d3c0) 0
-Class QVector<QRectF>::<anonymous union>
- size=4 align=4
-QVector<QRectF>::<anonymous union> (0x315e3080) 0
-Class QVector<QRectF>
- size=4 align=4
-QVector<QRectF> (0x314cf100) 0
-Class QVectorTypedData<QRectF>
- size=48 align=8
-QVectorTypedData<QRectF> (0x315dbfc0) 0
-Class QVector<QRect>::<anonymous union>
- size=4 align=4
-QVector<QRect>::<anonymous union> (0x3160ba00) 0
-Class QVector<QRect>
- size=4 align=4
-QVector<QRect> (0x30bd1b40) 0
-Class QVectorTypedData<QRect>
- size=32 align=4
-QVectorTypedData<QRect> (0x3160b940) 0
Class QTextItem
size=1 align=1
QTextItem (0x314b5840) 0 empty
-Class QTypeInfo<QTextItem>
- size=1 align=1
-QTypeInfo<QTextItem> (0x31124bc0) 0 empty
-Class QFlags<QPaintEngine::PaintEngineFeature>
- size=4 align=4
-QFlags<QPaintEngine::PaintEngineFeature> (0x3111c2c0) 0
Vtable for QPaintEngine
QPaintEngine::_ZTV12QPaintEngine: 24 entries
@@ -7911,9 +7299,6 @@ Class QPaintEngine
QPaintEngine (0x3097e900) 0
vptr=((&QPaintEngine::_ZTV12QPaintEngine) + 8)
-Class QFlags<QPaintEngine::DirtyFlag>
- size=4 align=4
-QFlags<QPaintEngine::DirtyFlag> (0x3111c900) 0
Class QPaintEngineState
size=4 align=4
@@ -7927,29 +7312,17 @@ Class QPainterPath
size=4 align=4
QPainterPath (0x30d0fd40) 0
-Class QVector<QPainterPath::Element>::<anonymous union>
- size=4 align=4
-QVector<QPainterPath::Element>::<anonymous union> (0x30d74080) 0
-Class QVector<QPainterPath::Element>
- size=4 align=4
-QVector<QPainterPath::Element> (0x30d71d80) 0
Class QPainterPathPrivate
size=8 align=4
QPainterPathPrivate (0x3082d680) 0
-Class QTypeInfo<QPainterPath::Element>
- size=1 align=1
-QTypeInfo<QPainterPath::Element> (0x30d7fe40) 0 empty
Class QPainterPathStroker
size=4 align=4
QPainterPathStroker (0x308cea40) 0
-Class QVectorTypedData<QPainterPath::Element>
- size=40 align=8
-QVectorTypedData<QPainterPath::Element> (0x30d71ec0) 0
Vtable for QPrinter
QPrinter::_ZTV8QPrinter: 7 entries
@@ -8038,9 +7411,6 @@ QCommonStyle (0x31225280) 0
QObject (0x31225480) 0
primary-for QStyle (0x31225440)
-Class QPointer<QFocusFrame>
- size=4 align=4
-QPointer<QFocusFrame> (0x31430ec0) 0
Vtable for QMotifStyle
QMotifStyle::_ZTV11QMotifStyle: 35 entries
@@ -8353,21 +7723,12 @@ Class QTextLength
size=12 align=4
QTextLength (0x30225540) 0
-Class QSharedDataPointer<QTextFormatPrivate>
- size=4 align=4
-QSharedDataPointer<QTextFormatPrivate> (0x315b50c0) 0
Class QTextFormat
size=8 align=4
QTextFormat (0x30213a00) 0
-Class QVector<QTextLength>::<anonymous union>
- size=4 align=4
-QVector<QTextLength>::<anonymous union> (0x3166cdc0) 0
-Class QVector<QTextLength>
- size=4 align=4
-QVector<QTextLength> (0x315983c0) 0
Class QTextCharFormat
size=8 align=4
@@ -8413,13 +7774,7 @@ Class QTextLayout
size=4 align=4
QTextLayout (0x30d0fa40) 0
-Class QVector<QTextLayout::FormatRange>::<anonymous union>
- size=4 align=4
-QVector<QTextLayout::FormatRange>::<anonymous union> (0x317bab80) 0
-Class QVector<QTextLayout::FormatRange>
- size=4 align=4
-QVector<QTextLayout::FormatRange> (0x317ba100) 0
Class QTextLine
size=8 align=4
@@ -8466,13 +7821,7 @@ QTextDocument (0x315517c0) 0
QObject (0x3160b200) 0
primary-for QTextDocument (0x315517c0)
-Class QFlags<QTextDocument::FindFlag>
- size=4 align=4
-QFlags<QTextDocument::FindFlag> (0x31603940) 0
-Class QSharedDataPointer<QTextCursorPrivate>
- size=4 align=4
-QSharedDataPointer<QTextCursorPrivate> (0x315c7340) 0
Class QTextCursor
size=4 align=4
@@ -8482,13 +7831,7 @@ Class QAbstractTextDocumentLayout::Selection
size=12 align=4
QAbstractTextDocumentLayout::Selection (0x315bccc0) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union>
- size=4 align=4
-QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union> (0x315b8780) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>
- size=4 align=4
-QVector<QAbstractTextDocumentLayout::Selection> (0x315b8580) 0
Class QAbstractTextDocumentLayout::PaintContext
size=56 align=8
@@ -8645,9 +7988,6 @@ QTextFrame (0x3162a4c0) 0
QObject (0x314d8840) 0
primary-for QTextObject (0x314d8800)
-Class QTypeInfo<QTextFrame::iterator>
- size=1 align=1
-QTypeInfo<QTextFrame::iterator> (0x31391400) 0 empty
Class QTextBlock::iterator
size=16 align=4
@@ -8657,21 +7997,12 @@ Class QTextBlock
size=8 align=4
QTextBlock (0x317add40) 0
-Class QTypeInfo<QTextBlock>
- size=1 align=1
-QTypeInfo<QTextBlock> (0x313e3cc0) 0 empty
-Class QTypeInfo<QTextBlock::iterator>
- size=1 align=1
-QTypeInfo<QTextBlock::iterator> (0x312bd340) 0 empty
Class QTextFragment
size=12 align=4
QTextFragment (0x315250c0) 0
-Class QTypeInfo<QTextFragment>
- size=1 align=1
-QTypeInfo<QTextFragment> (0x31260200) 0 empty
Vtable for QTextList
QTextList::_ZTV9QTextList: 17 entries
@@ -9263,9 +8594,6 @@ QDateEdit (0x310f8700) 0
QPaintDevice (0x310f8800) 8
vptr=((&QDateEdit::_ZTV9QDateEdit) + 260)
-Class QFlags<QDateTimeEdit::Section>
- size=4 align=4
-QFlags<QDateTimeEdit::Section> (0x3107e480) 0
Vtable for QDial
QDial::_ZTV5QDial: 64 entries
@@ -9424,9 +8752,6 @@ QDockWidget (0x316cac40) 0
QPaintDevice (0x316cacc0) 8
vptr=((&QDockWidget::_ZTV11QDockWidget) + 232)
-Class QFlags<QDockWidget::DockWidgetFeature>
- size=4 align=4
-QFlags<QDockWidget::DockWidgetFeature> (0x316ef780) 0
Vtable for QFocusFrame
QFocusFrame::_ZTV11QFocusFrame: 63 entries
@@ -11833,9 +11158,6 @@ QUdpSocket (0x31add680) 0
QObject (0x31add740) 0
primary-for QIODevice (0x31add700)
-Class QFlags<QSql::ParamTypeFlag>
- size=4 align=4
-QFlags<QSql::ParamTypeFlag> (0x31afad00) 0
Class QSqlRecord
size=4 align=4
@@ -11964,13 +11286,7 @@ Class QSqlField
size=24 align=8
QSqlField (0x31b59380) 0
-Class QList<bool>::<anonymous union>
- size=4 align=4
-QList<bool>::<anonymous union> (0x31609940) 0
-Class QList<bool>
- size=4 align=4
-QList<bool> (0x316097c0) 0
Class QSqlIndex
size=16 align=4
@@ -12473,28 +11789,7 @@ Class Q3GListStdIterator
size=4 align=4
Q3GListStdIterator (0x311c2580) 0
-Vtable for Q3PtrList<void>
-Q3PtrList<void>::_ZTV9Q3PtrListIvE: 11 entries
-0 0
-4 &_ZTI9Q3PtrListIvE
-8 Q3PtrList<type>::count() const [with type = void]
-12 Q3PtrList<type>::clear() [with type = void]
-16 Q3PtrList<type>::~Q3PtrList() [with type = void]
-20 Q3PtrList<type>::~Q3PtrList() [with type = void]
-24 Q3PtrCollection::newItem(void*)
-28 Q3PtrList<type>::deleteItem(void*) [with type = void]
-32 Q3GList::compareItems(void*, void*)
-36 Q3GList::read(QDataStream&, void*&)
-40 Q3GList::write(QDataStream&, void*) const
-Class Q3PtrList<void>
- size=32 align=4
-Q3PtrList<void> (0x30f47000) 0
- vptr=((&Q3PtrList<void>::_ZTV9Q3PtrListIvE) + 8)
- Q3GList (0x30f47100) 0
- primary-for Q3PtrList<void> (0x30f47000)
- Q3PtrCollection (0x30f47140) 0
- primary-for Q3GList (0x30f47100)
Class Q3PointArray
size=4 align=4
@@ -12502,18 +11797,8 @@ Q3PointArray (0x30da8200) 0
QPolygon (0x30da8300) 0
QVector<QPoint> (0x30da8500) 0
-Class QLinkedList<Q3CanvasItem*>::<anonymous union>
- size=4 align=4
-QLinkedList<Q3CanvasItem*>::<anonymous union> (0x30e19040) 0
-Class QLinkedList<Q3CanvasItem*>
- size=4 align=4
-QLinkedList<Q3CanvasItem*> (0x30e12e80) 0
-Class Q3ValueList<Q3CanvasItem*>
- size=4 align=4
-Q3ValueList<Q3CanvasItem*> (0x30e12cc0) 0
- QLinkedList<Q3CanvasItem*> (0x30e25940) 0
Class Q3CanvasItemList
size=4 align=4
@@ -13129,27 +12414,7 @@ Class Q3GDictIterator
size=12 align=4
Q3GDictIterator (0x3142e780) 0
-Vtable for Q3Dict<void>
-Q3Dict<void>::_ZTV6Q3DictIvE: 10 entries
-0 0
-4 &_ZTI6Q3DictIvE
-8 Q3Dict<type>::count() const [with type = void]
-12 Q3Dict<type>::clear() [with type = void]
-16 Q3Dict<type>::~Q3Dict() [with type = void]
-20 Q3Dict<type>::~Q3Dict() [with type = void]
-24 Q3PtrCollection::newItem(void*)
-28 Q3Dict<type>::deleteItem(void*) [with type = void]
-32 Q3GDict::read(QDataStream&, void*&)
-36 Q3GDict::write(QDataStream&, void*) const
-Class Q3Dict<void>
- size=28 align=4
-Q3Dict<void> (0x316e8980) 0
- vptr=((&Q3Dict<void>::_ZTV6Q3DictIvE) + 8)
- Q3GDict (0x316e8a80) 0
- primary-for Q3Dict<void> (0x316e8980)
- Q3PtrCollection (0x316e8ac0) 0
- primary-for Q3GDict (0x316e8a80)
Vtable for Q3NetworkProtocolFactoryBase
Q3NetworkProtocolFactoryBase::_ZTV28Q3NetworkProtocolFactoryBase: 5 entries
@@ -13674,28 +12939,7 @@ Q3Wizard (0x31b28740) 0
QPaintDevice (0x31b28800) 8
vptr=((&Q3Wizard::_ZTV8Q3Wizard) + 308)
-Vtable for Q3PtrList<char>
-Q3PtrList<char>::_ZTV9Q3PtrListIcE: 11 entries
-0 0
-4 &_ZTI9Q3PtrListIcE
-8 Q3PtrList<type>::count() const [with type = char]
-12 Q3PtrList<type>::clear() [with type = char]
-16 Q3PtrList<type>::~Q3PtrList() [with type = char]
-20 Q3PtrList<type>::~Q3PtrList() [with type = char]
-24 Q3PtrCollection::newItem(void*)
-28 Q3PtrList<type>::deleteItem(void*) [with type = char]
-32 Q3GList::compareItems(void*, void*)
-36 Q3GList::read(QDataStream&, void*&)
-40 Q3GList::write(QDataStream&, void*) const
-Class Q3PtrList<char>
- size=32 align=4
-Q3PtrList<char> (0x31ce9d00) 0
- vptr=((&Q3PtrList<char>::_ZTV9Q3PtrListIcE) + 8)
- Q3GList (0x31ce9e00) 0
- primary-for Q3PtrList<char> (0x31ce9d00)
- Q3PtrCollection (0x31ce9e40) 0
- primary-for Q3GList (0x31ce9e00)
Vtable for Q3StrList
Q3StrList::_ZTV9Q3StrList: 11 entries
@@ -13722,14 +12966,7 @@ Q3StrList (0x31ce9cc0) 0
Q3PtrCollection (0x31cff140) 0
primary-for Q3GList (0x31cff100)
-Class QList<QByteArray>::Node
- size=4 align=4
-QList<QByteArray>::Node (0x30120ac0) 0
-Class Q3PtrListStdIterator<char>
- size=4 align=4
-Q3PtrListStdIterator<char> (0x31cf2ac0) 0
- Q3GListStdIterator (0x31d8e400) 0
Vtable for Q3StrIList
Q3StrIList::_ZTV10Q3StrIList: 11 entries
@@ -14742,28 +13979,7 @@ Q3GVector (0x311e2840) 0
Q3PtrCollection (0x311b9c80) 0
primary-for Q3GVector (0x311e2840)
-Vtable for Q3PtrVector<void>
-Q3PtrVector<void>::_ZTV11Q3PtrVectorIvE: 11 entries
-0 0
-4 &_ZTI11Q3PtrVectorIvE
-8 Q3PtrVector<type>::count() const [with type = void]
-12 Q3PtrVector<type>::clear() [with type = void]
-16 Q3PtrVector<type>::~Q3PtrVector() [with type = void]
-20 Q3PtrVector<type>::~Q3PtrVector() [with type = void]
-24 Q3PtrCollection::newItem(void*)
-28 Q3PtrVector<type>::deleteItem(void*) [with type = void]
-32 Q3GVector::compareItems(void*, void*)
-36 Q3GVector::read(QDataStream&, void*&)
-40 Q3GVector::write(QDataStream&, void*) const
-Class Q3PtrVector<void>
- size=20 align=4
-Q3PtrVector<void> (0x31263140) 0
- vptr=((&Q3PtrVector<void>::_ZTV11Q3PtrVectorIvE) + 8)
- Q3GVector (0x31263400) 0
- primary-for Q3PtrVector<void> (0x31263140)
- Q3PtrCollection (0x31263480) 0
- primary-for Q3GVector (0x31263400)
Vtable for Q3Header
Q3Header::_ZTV8Q3Header: 76 entries
@@ -14879,27 +14095,7 @@ Class Q3GArray
Q3GArray (0x3146a980) 0
vptr=((&Q3GArray::_ZTV8Q3GArray) + 8)
-Vtable for Q3IntDict<void>
-Q3IntDict<void>::_ZTV9Q3IntDictIvE: 10 entries
-0 0
-4 &_ZTI9Q3IntDictIvE
-8 Q3IntDict<type>::count() const [with type = void]
-12 Q3IntDict<type>::clear() [with type = void]
-16 Q3IntDict<type>::~Q3IntDict() [with type = void]
-20 Q3IntDict<type>::~Q3IntDict() [with type = void]
-24 Q3PtrCollection::newItem(void*)
-28 Q3IntDict<type>::deleteItem(void*) [with type = void]
-32 Q3GDict::read(QDataStream&, void*&)
-36 Q3GDict::write(QDataStream&, void*) const
-Class Q3IntDict<void>
- size=28 align=4
-Q3IntDict<void> (0x31514140) 0
- vptr=((&Q3IntDict<void>::_ZTV9Q3IntDictIvE) + 8)
- Q3GDict (0x31514240) 0
- primary-for Q3IntDict<void> (0x31514140)
- Q3PtrCollection (0x31514280) 0
- primary-for Q3GDict (0x31514240)
Class Q3TableSelection
size=28 align=4
@@ -15005,96 +14201,13 @@ Class Q3Table::TableWidget
size=12 align=4
Q3Table::TableWidget (0x31b70a80) 0
-Vtable for Q3PtrVector<Q3TableItem>
-Q3PtrVector<Q3TableItem>::_ZTV11Q3PtrVectorI11Q3TableItemE: 11 entries
-0 0
-4 &_ZTI11Q3PtrVectorI11Q3TableItemE
-8 Q3PtrVector<type>::count() const [with type = Q3TableItem]
-12 Q3PtrVector<type>::clear() [with type = Q3TableItem]
-16 Q3PtrVector<type>::~Q3PtrVector() [with type = Q3TableItem]
-20 Q3PtrVector<type>::~Q3PtrVector() [with type = Q3TableItem]
-24 Q3PtrCollection::newItem(void*)
-28 Q3PtrVector<type>::deleteItem(void*) [with type = Q3TableItem]
-32 Q3GVector::compareItems(void*, void*)
-36 Q3GVector::read(QDataStream&, void*&)
-40 Q3GVector::write(QDataStream&, void*) const
-Class Q3PtrVector<Q3TableItem>
- size=20 align=4
-Q3PtrVector<Q3TableItem> (0x31b70f40) 0
- vptr=((&Q3PtrVector<Q3TableItem>::_ZTV11Q3PtrVectorI11Q3TableItemE) + 8)
- Q3GVector (0x31ccc380) 0
- primary-for Q3PtrVector<Q3TableItem> (0x31b70f40)
- Q3PtrCollection (0x31ccc3c0) 0
- primary-for Q3GVector (0x31ccc380)
-
-Vtable for Q3PtrVector<QWidget>
-Q3PtrVector<QWidget>::_ZTV11Q3PtrVectorI7QWidgetE: 11 entries
-0 0
-4 &_ZTI11Q3PtrVectorI7QWidgetE
-8 Q3PtrVector<type>::count() const [with type = QWidget]
-12 Q3PtrVector<type>::clear() [with type = QWidget]
-16 Q3PtrVector<type>::~Q3PtrVector() [with type = QWidget]
-20 Q3PtrVector<type>::~Q3PtrVector() [with type = QWidget]
-24 Q3PtrCollection::newItem(void*)
-28 Q3PtrVector<type>::deleteItem(void*) [with type = QWidget]
-32 Q3GVector::compareItems(void*, void*)
-36 Q3GVector::read(QDataStream&, void*&)
-40 Q3GVector::write(QDataStream&, void*) const
-Class Q3PtrVector<QWidget>
- size=20 align=4
-Q3PtrVector<QWidget> (0x31ce4f80) 0
- vptr=((&Q3PtrVector<QWidget>::_ZTV11Q3PtrVectorI7QWidgetE) + 8)
- Q3GVector (0x31ce9040) 0
- primary-for Q3PtrVector<QWidget> (0x31ce4f80)
- Q3PtrCollection (0x31ce9080) 0
- primary-for Q3GVector (0x31ce9040)
-
-Vtable for Q3PtrList<Q3TableSelection>
-Q3PtrList<Q3TableSelection>::_ZTV9Q3PtrListI16Q3TableSelectionE: 11 entries
-0 0
-4 &_ZTI9Q3PtrListI16Q3TableSelectionE
-8 Q3PtrList<type>::count() const [with type = Q3TableSelection]
-12 Q3PtrList<type>::clear() [with type = Q3TableSelection]
-16 Q3PtrList<type>::~Q3PtrList() [with type = Q3TableSelection]
-20 Q3PtrList<type>::~Q3PtrList() [with type = Q3TableSelection]
-24 Q3PtrCollection::newItem(void*)
-28 Q3PtrList<type>::deleteItem(void*) [with type = Q3TableSelection]
-32 Q3GList::compareItems(void*, void*)
-36 Q3GList::read(QDataStream&, void*&)
-40 Q3GList::write(QDataStream&, void*) const
-Class Q3PtrList<Q3TableSelection>
- size=32 align=4
-Q3PtrList<Q3TableSelection> (0x31cf0bc0) 0
- vptr=((&Q3PtrList<Q3TableSelection>::_ZTV9Q3PtrListI16Q3TableSelectionE) + 8)
- Q3GList (0x31cf0c80) 0
- primary-for Q3PtrList<Q3TableSelection> (0x31cf0bc0)
- Q3PtrCollection (0x31cf0cc0) 0
- primary-for Q3GList (0x31cf0c80)
-
-Vtable for Q3IntDict<int>
-Q3IntDict<int>::_ZTV9Q3IntDictIiE: 10 entries
-0 0
-4 &_ZTI9Q3IntDictIiE
-8 Q3IntDict<type>::count() const [with type = int]
-12 Q3IntDict<type>::clear() [with type = int]
-16 Q3IntDict<type>::~Q3IntDict() [with type = int]
-20 Q3IntDict<type>::~Q3IntDict() [with type = int]
-24 Q3PtrCollection::newItem(void*)
-28 Q3IntDict<type>::deleteItem(void*) [with type = int]
-32 Q3GDict::read(QDataStream&, void*&)
-36 Q3GDict::write(QDataStream&, void*) const
-Class Q3IntDict<int>
- size=28 align=4
-Q3IntDict<int> (0x31d05c40) 0
- vptr=((&Q3IntDict<int>::_ZTV9Q3IntDictIiE) + 8)
- Q3GDict (0x31d05d00) 0
- primary-for Q3IntDict<int> (0x31d05c40)
- Q3PtrCollection (0x31d05d40) 0
- primary-for Q3GDict (0x31d05d00)
+
+
+
Vtable for Q3Table
Q3Table::_ZTV7Q3Table: 183 entries
@@ -15402,13 +14515,7 @@ Q3Ftp (0x31e30d80) 0
QObject (0x31e30e00) 0
primary-for Q3NetworkProtocol (0x31e30dc0)
-Class QMap<QString, QString>::<anonymous union>
- size=4 align=4
-QMap<QString, QString>::<anonymous union> (0x31e57d00) 0
-Class QMap<QString, QString>
- size=4 align=4
-QMap<QString, QString> (0x31e57b80) 0
Vtable for Q3HttpHeader
Q3HttpHeader::_ZTV12Q3HttpHeader: 8 entries
@@ -16397,18 +15504,8 @@ Class Q3SqlPropertyMap
Q3SqlPropertyMap (0x3201c580) 0
vptr=((&Q3SqlPropertyMap::_ZTV16Q3SqlPropertyMap) + 8)
-Class QLinkedList<Q3SqlFieldInfo>::<anonymous union>
- size=4 align=4
-QLinkedList<Q3SqlFieldInfo>::<anonymous union> (0x3186b540) 0
-Class QLinkedList<Q3SqlFieldInfo>
- size=4 align=4
-QLinkedList<Q3SqlFieldInfo> (0x3186b380) 0
-Class Q3ValueList<Q3SqlFieldInfo>
- size=4 align=4
-Q3ValueList<Q3SqlFieldInfo> (0x3186b200) 0
- QLinkedList<Q3SqlFieldInfo> (0x317e3e80) 0
Class Q3SqlRecordInfo
size=4 align=4
@@ -16416,34 +15513,12 @@ Q3SqlRecordInfo (0x3186b2c0) 0
Q3ValueList<Q3SqlFieldInfo> (0x3160b500) 0
QLinkedList<Q3SqlFieldInfo> (0x3160b640) 0
-Class QLinkedListNode<Q3SqlFieldInfo>
- size=56 align=8
-QLinkedListNode<Q3SqlFieldInfo> (0x3186b480) 0
-Class QList<Q3SqlFieldInfo>::<anonymous union>
- size=4 align=4
-QList<Q3SqlFieldInfo>::<anonymous union> (0x311acfc0) 0
-Class QList<Q3SqlFieldInfo>
- size=4 align=4
-QList<Q3SqlFieldInfo> (0x31636780) 0
-Class QLinkedList<T>::detach_helper() [with T = Q3SqlFieldInfo]::<anonymous union>
- size=4 align=4
-QLinkedList<T>::detach_helper() [with T = Q3SqlFieldInfo]::<anonymous union> (0x30328e40) 0
-Class QLinkedList<Q3SqlFieldInfo>::const_iterator
- size=4 align=4
-QLinkedList<Q3SqlFieldInfo>::const_iterator (0x3185c540) 0
-Class Q3ValueListConstIterator<Q3SqlFieldInfo>
- size=4 align=4
-Q3ValueListConstIterator<Q3SqlFieldInfo> (0x31636340) 0
- QLinkedList<Q3SqlFieldInfo>::const_iterator (0x30e9f880) 0
-Class QLinkedList<Q3SqlFieldInfo>::iterator
- size=4 align=4
-QLinkedList<Q3SqlFieldInfo>::iterator (0x3185c580) 0
Vtable for Q3SqlSelectCursor
Q3SqlSelectCursor::_ZTV17Q3SqlSelectCursor: 40 entries
@@ -16501,13 +15576,7 @@ Class Q3StyleSheetItem
size=4 align=4
Q3StyleSheetItem (0x317331c0) 0
-Class QHash<QString, Q3StyleSheetItem*>::<anonymous union>
- size=4 align=4
-QHash<QString, Q3StyleSheetItem*>::<anonymous union> (0x3175bf80) 0
-Class QHash<QString, Q3StyleSheetItem*>
- size=4 align=4
-QHash<QString, Q3StyleSheetItem*> (0x3175bb80) 0
Vtable for Q3StyleSheet
Q3StyleSheet::_ZTV12Q3StyleSheet: 16 entries
@@ -16543,21 +15612,9 @@ Class Q3TextEditOptimPrivate::Selection
size=8 align=4
Q3TextEditOptimPrivate::Selection (0x31794140) 0
-Class QMap<int, QString>::<anonymous union>
- size=4 align=4
-QMap<int, QString>::<anonymous union> (0x31799400) 0
-Class QMap<int, QString>
- size=4 align=4
-QMap<int, QString> (0x31799280) 0
-Class QMap<int, Q3TextEditOptimPrivate::Tag*>::<anonymous union>
- size=4 align=4
-QMap<int, Q3TextEditOptimPrivate::Tag*>::<anonymous union> (0x317ad4c0) 0
-Class QMap<int, Q3TextEditOptimPrivate::Tag*>
- size=4 align=4
-QMap<int, Q3TextEditOptimPrivate::Tag*> (0x317ad300) 0
Class Q3TextEditOptimPrivate
size=52 align=4
@@ -16762,9 +15819,6 @@ Q3TextEdit (0x31789d80) 0
QPaintDevice (0x31b0a100) 8
vptr=((&Q3TextEdit::_ZTV10Q3TextEdit) + 680)
-Class QFlags<Q3TextEdit::AutoFormattingFlag>
- size=4 align=4
-QFlags<Q3TextEdit::AutoFormattingFlag> (0x31e0db80) 0
Vtable for Q3MultiLineEdit
Q3MultiLineEdit::_ZTV15Q3MultiLineEdit: 192 entries
@@ -17418,114 +16472,20 @@ Class Q3GCacheIterator
size=4 align=4
Q3GCacheIterator (0x31cf6d40) 0
-Vtable for Q3AsciiCache<void>
-Q3AsciiCache<void>::_ZTV12Q3AsciiCacheIvE: 8 entries
-0 0
-4 &_ZTI12Q3AsciiCacheIvE
-8 Q3AsciiCache<type>::count() const [with type = void]
-12 Q3AsciiCache<type>::clear() [with type = void]
-16 Q3AsciiCache<type>::~Q3AsciiCache() [with type = void]
-20 Q3AsciiCache<type>::~Q3AsciiCache() [with type = void]
-24 Q3PtrCollection::newItem(void*)
-28 Q3AsciiCache<type>::deleteItem(void*) [with type = void]
-Class Q3AsciiCache<void>
- size=32 align=4
-Q3AsciiCache<void> (0x31fa1400) 0
- vptr=((&Q3AsciiCache<void>::_ZTV12Q3AsciiCacheIvE) + 8)
- Q3GCache (0x31fa1500) 0
- primary-for Q3AsciiCache<void> (0x31fa1400)
- Q3PtrCollection (0x31fa1540) 0
- primary-for Q3GCache (0x31fa1500)
-
-Vtable for Q3AsciiDict<void>
-Q3AsciiDict<void>::_ZTV11Q3AsciiDictIvE: 10 entries
-0 0
-4 &_ZTI11Q3AsciiDictIvE
-8 Q3AsciiDict<type>::count() const [with type = void]
-12 Q3AsciiDict<type>::clear() [with type = void]
-16 Q3AsciiDict<type>::~Q3AsciiDict() [with type = void]
-20 Q3AsciiDict<type>::~Q3AsciiDict() [with type = void]
-24 Q3PtrCollection::newItem(void*)
-28 Q3AsciiDict<type>::deleteItem(void*) [with type = void]
-32 Q3GDict::read(QDataStream&, void*&)
-36 Q3GDict::write(QDataStream&, void*) const
-Class Q3AsciiDict<void>
- size=28 align=4
-Q3AsciiDict<void> (0x31fe6c80) 0
- vptr=((&Q3AsciiDict<void>::_ZTV11Q3AsciiDictIvE) + 8)
- Q3GDict (0x31fe6d80) 0
- primary-for Q3AsciiDict<void> (0x31fe6c80)
- Q3PtrCollection (0x31fe6dc0) 0
- primary-for Q3GDict (0x31fe6d80)
-
-Vtable for Q3Cache<void>
-Q3Cache<void>::_ZTV7Q3CacheIvE: 8 entries
-0 0
-4 &_ZTI7Q3CacheIvE
-8 Q3Cache<type>::count() const [with type = void]
-12 Q3Cache<type>::clear() [with type = void]
-16 Q3Cache<type>::~Q3Cache() [with type = void]
-20 Q3Cache<type>::~Q3Cache() [with type = void]
-24 Q3PtrCollection::newItem(void*)
-28 Q3Cache<type>::deleteItem(void*) [with type = void]
-Class Q3Cache<void>
- size=32 align=4
-Q3Cache<void> (0x32090200) 0
- vptr=((&Q3Cache<void>::_ZTV7Q3CacheIvE) + 8)
- Q3GCache (0x32090300) 0
- primary-for Q3Cache<void> (0x32090200)
- Q3PtrCollection (0x32090340) 0
- primary-for Q3GCache (0x32090300)
+
+
Class Q3CString
size=4 align=4
Q3CString (0x320b9080) 0
QByteArray (0x320b90c0) 0
-Vtable for Q3IntCache<void>
-Q3IntCache<void>::_ZTV10Q3IntCacheIvE: 8 entries
-0 0
-4 &_ZTI10Q3IntCacheIvE
-8 Q3IntCache<type>::count() const [with type = void]
-12 Q3IntCache<type>::clear() [with type = void]
-16 Q3IntCache<type>::~Q3IntCache() [with type = void]
-20 Q3IntCache<type>::~Q3IntCache() [with type = void]
-24 Q3PtrCollection::newItem(void*)
-28 Q3IntCache<type>::deleteItem(void*) [with type = void]
-Class Q3IntCache<void>
- size=32 align=4
-Q3IntCache<void> (0x321e52c0) 0
- vptr=((&Q3IntCache<void>::_ZTV10Q3IntCacheIvE) + 8)
- Q3GCache (0x321e53c0) 0
- primary-for Q3IntCache<void> (0x321e52c0)
- Q3PtrCollection (0x321e5400) 0
- primary-for Q3GCache (0x321e53c0)
-Vtable for Q3AsciiDict<QMetaObject>
-Q3AsciiDict<QMetaObject>::_ZTV11Q3AsciiDictI11QMetaObjectE: 10 entries
-0 0
-4 &_ZTI11Q3AsciiDictI11QMetaObjectE
-8 Q3AsciiDict<type>::count() const [with type = QMetaObject]
-12 Q3AsciiDict<type>::clear() [with type = QMetaObject]
-16 Q3AsciiDict<type>::~Q3AsciiDict() [with type = QMetaObject]
-20 Q3AsciiDict<type>::~Q3AsciiDict() [with type = QMetaObject]
-24 Q3PtrCollection::newItem(void*)
-28 Q3AsciiDict<type>::deleteItem(void*) [with type = QMetaObject]
-32 Q3GDict::read(QDataStream&, void*&)
-36 Q3GDict::write(QDataStream&, void*) const
-Class Q3AsciiDict<QMetaObject>
- size=28 align=4
-Q3AsciiDict<QMetaObject> (0x32203d00) 0
- vptr=((&Q3AsciiDict<QMetaObject>::_ZTV11Q3AsciiDictI11QMetaObjectE) + 8)
- Q3GDict (0x32203e00) 0
- primary-for Q3AsciiDict<QMetaObject> (0x32203d00)
- Q3PtrCollection (0x32203e40) 0
- primary-for Q3GDict (0x32203e00)
Vtable for Q3ObjectDictionary
Q3ObjectDictionary::_ZTV18Q3ObjectDictionary: 10 entries
@@ -17551,73 +16511,11 @@ Q3ObjectDictionary (0x32203cc0) 0
Q3PtrCollection (0x322184c0) 0
primary-for Q3GDict (0x32218480)
-Vtable for Q3PtrDict<void>
-Q3PtrDict<void>::_ZTV9Q3PtrDictIvE: 10 entries
-0 0
-4 &_ZTI9Q3PtrDictIvE
-8 Q3PtrDict<type>::count() const [with type = void]
-12 Q3PtrDict<type>::clear() [with type = void]
-16 Q3PtrDict<type>::~Q3PtrDict() [with type = void]
-20 Q3PtrDict<type>::~Q3PtrDict() [with type = void]
-24 Q3PtrCollection::newItem(void*)
-28 Q3PtrDict<type>::deleteItem(void*) [with type = void]
-32 Q3GDict::read(QDataStream&, void*&)
-36 Q3GDict::write(QDataStream&, void*) const
-Class Q3PtrDict<void>
- size=28 align=4
-Q3PtrDict<void> (0x32291080) 0
- vptr=((&Q3PtrDict<void>::_ZTV9Q3PtrDictIvE) + 8)
- Q3GDict (0x32291180) 0
- primary-for Q3PtrDict<void> (0x32291080)
- Q3PtrCollection (0x322911c0) 0
- primary-for Q3GDict (0x32291180)
-
-Vtable for Q3PtrQueue<void>
-Q3PtrQueue<void>::_ZTV10Q3PtrQueueIvE: 11 entries
-0 0
-4 &_ZTI10Q3PtrQueueIvE
-8 Q3PtrQueue<type>::count() const [with type = void]
-12 Q3PtrQueue<type>::clear() [with type = void]
-16 Q3PtrQueue<type>::~Q3PtrQueue() [with type = void]
-20 Q3PtrQueue<type>::~Q3PtrQueue() [with type = void]
-24 Q3PtrCollection::newItem(void*)
-28 Q3PtrQueue<type>::deleteItem(void*) [with type = void]
-32 Q3GList::compareItems(void*, void*)
-36 Q3GList::read(QDataStream&, void*&)
-40 Q3GList::write(QDataStream&, void*) const
-Class Q3PtrQueue<void>
- size=32 align=4
-Q3PtrQueue<void> (0x322c6680) 0
- vptr=((&Q3PtrQueue<void>::_ZTV10Q3PtrQueueIvE) + 8)
- Q3GList (0x322c6780) 0
- primary-for Q3PtrQueue<void> (0x322c6680)
- Q3PtrCollection (0x322c67c0) 0
- primary-for Q3GList (0x322c6780)
-
-Vtable for Q3PtrStack<void>
-Q3PtrStack<void>::_ZTV10Q3PtrStackIvE: 11 entries
-0 0
-4 &_ZTI10Q3PtrStackIvE
-8 Q3PtrStack<type>::count() const [with type = void]
-12 Q3PtrStack<type>::clear() [with type = void]
-16 Q3PtrStack<type>::~Q3PtrStack() [with type = void]
-20 Q3PtrStack<type>::~Q3PtrStack() [with type = void]
-24 Q3PtrCollection::newItem(void*)
-28 Q3PtrStack<type>::deleteItem(void*) [with type = void]
-32 Q3GList::compareItems(void*, void*)
-36 Q3GList::read(QDataStream&, void*&)
-40 Q3GList::write(QDataStream&, void*) const
-Class Q3PtrStack<void>
- size=32 align=4
-Q3PtrStack<void> (0x322edac0) 0
- vptr=((&Q3PtrStack<void>::_ZTV10Q3PtrStackIvE) + 8)
- Q3GList (0x322edbc0) 0
- primary-for Q3PtrStack<void> (0x322edac0)
- Q3PtrCollection (0x322edc00) 0
- primary-for Q3GList (0x322edbc0)
+
+
Vtable for Q3Semaphore
Q3Semaphore::_ZTV11Q3Semaphore: 4 entries
@@ -17655,28 +16553,7 @@ Q3Signal (0x32307700) 0
QObject (0x32307740) 0
primary-for Q3Signal (0x32307700)
-Vtable for Q3PtrVector<char>
-Q3PtrVector<char>::_ZTV11Q3PtrVectorIcE: 11 entries
-0 0
-4 &_ZTI11Q3PtrVectorIcE
-8 Q3PtrVector<type>::count() const [with type = char]
-12 Q3PtrVector<type>::clear() [with type = char]
-16 Q3PtrVector<type>::~Q3PtrVector() [with type = char]
-20 Q3PtrVector<type>::~Q3PtrVector() [with type = char]
-24 Q3PtrCollection::newItem(void*)
-28 Q3PtrVector<type>::deleteItem(void*) [with type = char]
-32 Q3GVector::compareItems(void*, void*)
-36 Q3GVector::read(QDataStream&, void*&)
-40 Q3GVector::write(QDataStream&, void*) const
-Class Q3PtrVector<char>
- size=20 align=4
-Q3PtrVector<char> (0x32328200) 0
- vptr=((&Q3PtrVector<char>::_ZTV11Q3PtrVectorIcE) + 8)
- Q3GVector (0x32328300) 0
- primary-for Q3PtrVector<char> (0x32328200)
- Q3PtrCollection (0x32328340) 0
- primary-for Q3GVector (0x32328300)
Vtable for Q3StrVec
Q3StrVec::_ZTV8Q3StrVec: 11 entries
@@ -17976,13 +16853,7 @@ Q3GroupBox (0x31f04640) 0
QPaintDevice (0x31f04700) 8
vptr=((&Q3GroupBox::_ZTV10Q3GroupBox) + 236)
-Class QMap<int, QAbstractButton*>::<anonymous union>
- size=4 align=4
-QMap<int, QAbstractButton*>::<anonymous union> (0x31e1eac0) 0
-Class QMap<int, QAbstractButton*>
- size=4 align=4
-QMap<int, QAbstractButton*> (0x31e1e900) 0
Vtable for Q3ButtonGroup
Q3ButtonGroup::_ZTV13Q3ButtonGroup: 64 entries
@@ -18687,21 +17558,9 @@ Q3DockWindow (0x31ce9a40) 0
QPaintDevice (0x31ce9f00) 8
vptr=((&Q3DockWindow::_ZTV12Q3DockWindow) + 304)
-Class QList<QRect>::<anonymous union>
- size=4 align=4
-QList<QRect>::<anonymous union> (0x31d48f00) 0
-Class QList<QRect>
- size=4 align=4
-QList<QRect> (0x31623100) 0
-Class QList<Q3DockWindow*>::<anonymous union>
- size=4 align=4
-QList<Q3DockWindow*>::<anonymous union> (0x31d51cc0) 0
-Class QList<Q3DockWindow*>
- size=4 align=4
-QList<Q3DockWindow*> (0x31d48180) 0
Vtable for Q3DockAreaLayout
Q3DockAreaLayout::_ZTV16Q3DockAreaLayout: 48 entries
@@ -18765,9 +17624,6 @@ Q3DockAreaLayout (0x31ce9840) 0
QLayoutItem (0x31d3d400) 8
vptr=((&Q3DockAreaLayout::_ZTV16Q3DockAreaLayout) + 128)
-Class QPointer<Q3DockArea>
- size=4 align=4
-QPointer<Q3DockArea> (0x320eb740) 0
Class Q3DockArea::DockWindowData
size=24 align=4
@@ -19803,79 +18659,22 @@ Q3WidgetStack (0x320b2940) 0
QPaintDevice (0x320b2a40) 8
vptr=((&Q3WidgetStack::_ZTV13Q3WidgetStack) + 248)
-Class QList<QFileInfo>::Node
- size=4 align=4
-QList<QFileInfo>::Node (0x301dfa00) 0
-Class QList<QVariant>::Node
- size=4 align=4
-QList<QVariant>::Node (0x3057e4c0) 0
-Class QTypeInfo<QAction*>
- size=1 align=1
-QTypeInfo<QAction*> (0x323f7040) 0 empty
-Class QList<QAction*>::Node
- size=4 align=4
-QList<QAction*>::Node (0x30ec7480) 0
-Class QTypeInfo<QStyleOptionQ3ListViewItem>
- size=1 align=1
-QTypeInfo<QStyleOptionQ3ListViewItem> (0x32453000) 0 empty
-Class QList<QStyleOptionQ3ListViewItem>::Node
- size=4 align=4
-QList<QStyleOptionQ3ListViewItem>::Node (0x307e7680) 0
-Class QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union>
- size=4 align=4
-QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union> (0x324da680) 0
-Class QVectorTypedData<QTextLength>
- size=28 align=4
-QVectorTypedData<QTextLength> (0x3166cd00) 0
-Class QTypeInfo<QTextLength>
- size=1 align=1
-QTypeInfo<QTextLength> (0x32520a80) 0 empty
-Class QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union>
- size=4 align=4
-QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union> (0x32540600) 0
-Class QVectorTypedData<QTextLayout::FormatRange>
- size=32 align=4
-QVectorTypedData<QTextLayout::FormatRange> (0x317baac0) 0
-Class QTypeInfo<QTextLayout::FormatRange>
- size=1 align=1
-QTypeInfo<QTextLayout::FormatRange> (0x325977c0) 0 empty
-Class QVectorTypedData<QAbstractTextDocumentLayout::Selection>
- size=28 align=4
-QVectorTypedData<QAbstractTextDocumentLayout::Selection> (0x315b86c0) 0
-Class QTypeInfo<QAbstractTextDocumentLayout::Selection>
- size=1 align=1
-QTypeInfo<QAbstractTextDocumentLayout::Selection> (0x325f4040) 0 empty
-Class QTypeInfo<Q3TextEditOptimPrivate::Tag*>
- size=1 align=1
-QTypeInfo<Q3TextEditOptimPrivate::Tag*> (0x326ee2c0) 0 empty
-Class QList<QRect>::Node
- size=4 align=4
-QList<QRect>::Node (0x31d48ec0) 0
-Class QTypeInfo<Q3DockWindow*>
- size=1 align=1
-QTypeInfo<Q3DockWindow*> (0x32768980) 0 empty
-Class QList<Q3DockWindow*>::Node
- size=4 align=4
-QList<Q3DockWindow*>::Node (0x31d51c80) 0
-Class QMap<Key, T>::detach_helper() [with Key = int, T = Q3TextEditOptimPrivate::Tag*]::<anonymous union>
- size=4 align=4
-QMap<Key, T>::detach_helper() [with Key = int, T = Q3TextEditOptimPrivate::Tag*]::<anonymous union> (0x327d6dc0) 0
diff --git a/tests/auto/bic/data/Qt3Support.4.0.0.linux-gcc-amd64.txt b/tests/auto/bic/data/Qt3Support.4.0.0.linux-gcc-amd64.txt
index 13c1365..105bd7d 100644
--- a/tests/auto/bic/data/Qt3Support.4.0.0.linux-gcc-amd64.txt
+++ b/tests/auto/bic/data/Qt3Support.4.0.0.linux-gcc-amd64.txt
@@ -59,145 +59,37 @@ Class QBool
base size=1 base align=1
QBool (0x2aaaad3351c0) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0x2aaaad34b0e0) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0x2aaaad34b380) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0x2aaaad34b620) 0 empty
-Class QTypeInfo<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned char> (0x2aaaad34b8c0) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0x2aaaad34bb60) 0 empty
-Class QTypeInfo<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short unsigned int> (0x2aaaad34be00) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0x2aaaad35f0e0) 0 empty
-Class QTypeInfo<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned int> (0x2aaaad35f380) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0x2aaaad35f620) 0 empty
-Class QTypeInfo<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long unsigned int> (0x2aaaad35f8c0) 0 empty
-Class QTypeInfo<long long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long int> (0x2aaaad35fb60) 0 empty
-Class QTypeInfo<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long unsigned int> (0x2aaaad35fe00) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0x2aaaad36f0e0) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0x2aaaad36f380) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0x2aaaad36f620) 0 empty
Class QFlag
size=4 align=4
base size=4 base align=4
QFlag (0x2aaaad36f850) 0
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0x2aaaad39c930) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0x2aaaad39cd20) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0x2aaaad428150) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0x2aaaad428540) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0x2aaaad428930) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0x2aaaad428d20) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0x2aaaad46e150) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0x2aaaad46e540) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0x2aaaad46e930) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0x2aaaad46ed20) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0x2aaaad4b8150) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0x2aaaad4b8540) 0
Class QInternal
size=1 align=1
@@ -215,10 +107,6 @@ Class QGenericReturnArgument
QGenericReturnArgument (0x2aaaad4b8f50) 0
QGenericArgument (0x2aaaad4e9000) 0
-Class QMetaObject::<anonymous struct>
- size=32 align=8
- base size=32 base align=8
-QMetaObject::<anonymous struct> (0x2aaaad4e9850) 0
Class QMetaObject
size=32 align=8
@@ -235,10 +123,6 @@ Class QChar
base size=2 base align=2
QChar (0x2aaaad5244d0) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0x2aaaad559540) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -271,10 +155,6 @@ Class QByteRef
base size=12 base align=8
QByteRef (0x2aaaad679b60) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0x2aaaad705bd0) 0 empty
Class QString::Null
size=1 align=1
@@ -291,10 +171,6 @@ Class QString
base size=8 base align=8
QString (0x2aaaad705ee0) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0x2aaaad77e770) 0
Class QLatin1String
size=8 align=8
@@ -312,10 +188,6 @@ Class QConstString
QConstString (0x2aaaad9cfa10) 0
QString (0x2aaaad9cfa80) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0x2aaaad9e3000) 0 empty
Class QListData::Data
size=32 align=8
@@ -327,15 +199,7 @@ Class QListData
base size=8 base align=8
QListData (0x2aaaada07ee0) 0
-Class QList<QObject*>::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QList<QObject*>::<anonymous union> (0x2aaaadb28e00) 0
-Class QList<QObject*>
- size=8 align=8
- base size=8 base align=8
-QList<QObject*> (0x2aaaadb28cb0) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -427,10 +291,6 @@ QIODevice (0x2aaaadbb32a0) 0
QObject (0x2aaaadbb3310) 0
primary-for QIODevice (0x2aaaadbb32a0)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0x2aaaadbb3e70) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -455,10 +315,6 @@ Class QMapData
base size=128 base align=8
QMapData (0x2aaaadc5aa10) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0x2aaaadd72930) 0
Class QTextCodec::ConverterState
size=32 align=8
@@ -483,15 +339,7 @@ Class QTextCodec
QTextCodec (0x2aaaadd72690) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 16u)
-Class QList<QByteArray>::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QList<QByteArray>::<anonymous union> (0x2aaaaddaf230) 0
-Class QList<QByteArray>
- size=8 align=8
- base size=8 base align=8
-QList<QByteArray> (0x2aaaaddaf0e0) 0
Class QTextEncoder
size=40 align=8
@@ -503,30 +351,10 @@ Class QTextDecoder
base size=40 base align=8
QTextDecoder (0x2aaaaddaff50) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x2aaaaddee3f0) 0
-Class <anonymous struct>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct>::<anonymous union> (0x2aaaaddee5b0) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x2aaaaddee4d0) 0
-Class <anonymous struct>
- size=16 align=8
- base size=16 base align=8
-<anonymous struct> (0x2aaaaddee690) 0
-Class <anonymous struct>
- size=16 align=8
- base size=16 base align=8
-<anonymous struct> (0x2aaaaddee770) 0
Class __gconv_trans_data
size=40 align=8
@@ -548,15 +376,7 @@ Class __gconv_info
base size=16 base align=8
__gconv_info (0x2aaaaddeea80) 0
-Class <anonymous union>::<anonymous struct>
- size=72 align=8
- base size=72 base align=8
-<anonymous union>::<anonymous struct> (0x2aaaaddeec40) 0
-Class <anonymous union>
- size=72 align=8
- base size=72 base align=8
-<anonymous union> (0x2aaaaddeeb60) 0
Class _IO_marker
size=24 align=8
@@ -568,10 +388,6 @@ Class _IO_FILE
base size=216 base align=8
_IO_FILE (0x2aaaaddeed20) 0
-Class <anonymous struct>
- size=32 align=8
- base size=32 base align=8
-<anonymous struct> (0x2aaaaddeee00) 0
Vtable for QTextStream
QTextStream::_ZTV11QTextStream: 4u entries
@@ -586,10 +402,6 @@ Class QTextStream
QTextStream (0x2aaaaddeee70) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 16u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0x2aaaade6d150) 0
Class QTextStreamManipulator
size=40 align=8
@@ -680,10 +492,6 @@ QFile (0x2aaaadf37bd0) 0
QObject (0x2aaaadf37cb0) 0
primary-for QIODevice (0x2aaaadf37c40)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0x2aaaadf6da80) 0
Vtable for QTemporaryFile
QTemporaryFile::_ZTV14QTemporaryFile: 31u entries
@@ -736,25 +544,13 @@ Class QRegExp
base size=8 base align=8
QRegExp (0x2aaaadf9b8c0) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0x2aaaadfc3700) 0 empty
Class QStringMatcher
size=1048 align=8
base size=1044 base align=8
QStringMatcher (0x2aaaadfc3930) 0
-Class QList<QString>::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QList<QString>::<anonymous union> (0x2aaaadfc3ee0) 0
-Class QList<QString>
- size=8 align=8
- base size=8 base align=8
-QList<QString> (0x2aaaadfc3d90) 0
Class QStringList
size=8 align=8
@@ -762,15 +558,7 @@ Class QStringList
QStringList (0x2aaaadff9070) 0
QList<QString> (0x2aaaadff90e0) 0
-Class QList<QString>::iterator
- size=8 align=8
- base size=8 base align=8
-QList<QString>::iterator (0x2aaaae020ee0) 0
-Class QList<QString>::const_iterator
- size=8 align=8
- base size=8 base align=8
-QList<QString>::const_iterator (0x2aaaae0402a0) 0
Vtable for QProcess
QProcess::_ZTV8QProcess: 31u entries
@@ -864,145 +652,45 @@ Class QFileInfo
base size=8 base align=8
QFileInfo (0x2aaaae093c40) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0x2aaaae0cf690) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0x2aaaae0cfaf0) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QList<QFileInfo>::<anonymous union> (0x2aaaae0f82a0) 0
-Class QList<QFileInfo>
- size=8 align=8
- base size=8 base align=8
-QList<QFileInfo> (0x2aaaae0f8150) 0
Class QDir
size=8 align=8
base size=8 base align=8
QDir (0x2aaaae0f83f0) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0x2aaaae0f8690) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0x2aaaae0f88c0) 0
Class QUrl
size=8 align=8
base size=8 base align=8
QUrl (0x2aaaae19c5b0) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0x2aaaae19c8c0) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0x2aaaae1faaf0) 0 empty
Class QMetaType
size=1 align=1
base size=0 base align=1
QMetaType (0x2aaaae217150) 0 empty
-Class QMetaTypeId<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QString> (0x2aaaae217850) 0 empty
-Class QMetaTypeId<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<int> (0x2aaaae217a10) 0 empty
-Class QMetaTypeId<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<unsigned int> (0x2aaaae217bd0) 0 empty
-Class QMetaTypeId<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<bool> (0x2aaaae217d90) 0 empty
-Class QMetaTypeId<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<double> (0x2aaaae217f50) 0 empty
-Class QMetaTypeId<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QByteArray> (0x2aaaae232150) 0 empty
-Class QMetaTypeId<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QChar> (0x2aaaae232310) 0 empty
-Class QMetaTypeId<void>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<void> (0x2aaaae2324d0) 0 empty
-Class QMetaTypeId<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<long int> (0x2aaaae232690) 0 empty
-Class QMetaTypeId<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<short int> (0x2aaaae232850) 0 empty
-Class QMetaTypeId<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<char> (0x2aaaae232a10) 0 empty
-Class QMetaTypeId<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<long unsigned int> (0x2aaaae232bd0) 0 empty
-Class QMetaTypeId<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<short unsigned int> (0x2aaaae232d90) 0 empty
-Class QMetaTypeId<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<unsigned char> (0x2aaaae232f50) 0 empty
-Class QMetaTypeId<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<float> (0x2aaaae23c150) 0 empty
-Class QMetaTypeId<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QObject*> (0x2aaaae23c310) 0 empty
-Class QMetaTypeId<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QWidget*> (0x2aaaae23c4d0) 0 empty
Class QVariant::PrivateShared
size=16 align=8
@@ -1029,35 +717,15 @@ Class QVariant
base size=16 base align=8
QVariant (0x2aaaae23c620) 0
-Class QList<QVariant>::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QList<QVariant>::<anonymous union> (0x2aaaae2cf7e0) 0
-Class QList<QVariant>
- size=8 align=8
- base size=8 base align=8
-QList<QVariant> (0x2aaaae2cf690) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QMap<QString, QVariant>::<anonymous union> (0x2aaaae2cfb60) 0
-Class QMap<QString, QVariant>
- size=8 align=8
- base size=8 base align=8
-QMap<QString, QVariant> (0x2aaaae2cfa10) 0
Class QVariantComparisonHelper
size=8 align=8
base size=8 base align=8
QVariantComparisonHelper (0x2aaaae33f4d0) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0x2aaaae33ff50) 0 empty
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1128,10 +796,6 @@ Class QFileEngine
QFileEngine (0x2aaaae3c3380) 0
vptr=((& QFileEngine::_ZTV11QFileEngine) + 16u)
-Class QFlags<QFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileEngine::FileFlag> (0x2aaaae3c3770) 0
Vtable for QFileEngineHandler
QFileEngineHandler::_ZTV18QFileEngineHandler: 5u entries
@@ -1162,90 +826,54 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0x2aaaae413070) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0x2aaaae413230) 0 empty
Class QPoint
size=8 align=4
base size=8 base align=4
QPoint (0x2aaaae53d540) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0x2aaaae53dd20) 0 empty
Class QPointF
size=16 align=8
base size=16 base align=8
QPointF (0x2aaaae56a8c0) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0x2aaaae56aaf0) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0x2aaaae5b70e0) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0x2aaaae5b72a0) 0 empty
Class QLineF
size=32 align=8
base size=32 base align=8
QLineF (0x2aaaae5d2b60) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0x2aaaae5f6150) 0 empty
Class QSize
size=8 align=4
base size=8 base align=4
QSize (0x2aaaae622230) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0x2aaaae622930) 0 empty
Class QSizeF
size=16 align=8
base size=16 base align=8
QSizeF (0x2aaaae657b60) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0x2aaaae657f50) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0x2aaaae6a9a10) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0x2aaaae6df7e0) 0 empty
Class QRectF
size=32 align=8
base size=32 base align=8
QRectF (0x2aaaae76b380) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0x2aaaae79b310) 0 empty
Class QLinkedListData
size=32 align=8
@@ -1262,10 +890,6 @@ Class QBitRef
base size=12 base align=8
QBitRef (0x2aaaae9124d0) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0x2aaaae9240e0) 0 empty
Class QVectorData
size=16 align=4
@@ -1287,40 +911,24 @@ Class QLocale
base size=8 base align=8
QLocale (0x2aaaaea461c0) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0x2aaaaea46c40) 0 empty
Class QDate
size=4 align=4
base size=4 base align=4
QDate (0x2aaaaeaf0310) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0x2aaaaeb104d0) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0x2aaaaeb10700) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0x2aaaaeb2f230) 0 empty
Class QDateTime
size=8 align=8
base size=8 base align=8
QDateTime (0x2aaaaeb2f460) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0x2aaaaeb5d000) 0 empty
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -1480,10 +1088,6 @@ QEventLoop (0x2aaaaebbcbd0) 0
QObject (0x2aaaaebbcc40) 0
primary-for QEventLoop (0x2aaaaebbcbd0)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0x2aaaaebbce70) 0
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -1575,20 +1179,12 @@ Class QModelIndex
base size=24 base align=8
QModelIndex (0x2aaaaec570e0) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0x2aaaaec71310) 0 empty
Class QPersistentModelIndex
size=8 align=8
base size=8 base align=8
QPersistentModelIndex (0x2aaaaec71850) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0x2aaaaec71a80) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -1808,10 +1404,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0x2aaaaed1e0e0) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0x2aaaaed1e9a0) 0 empty
Vtable for QSocketNotifier
QSocketNotifier::_ZTV15QSocketNotifier: 14u entries
@@ -1906,20 +1498,12 @@ Class QMetaMethod
base size=12 base align=8
QMetaMethod (0x2aaaaed7a7e0) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0x2aaaaed7abd0) 0 empty
Class QMetaEnum
size=16 align=8
base size=12 base align=8
QMetaEnum (0x2aaaaed7ae00) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0x2aaaaeda42a0) 0 empty
Class QMetaProperty
size=32 align=8
@@ -1931,10 +1515,6 @@ Class QMetaClassInfo
base size=12 base align=8
QMetaClassInfo (0x2aaaaeda4620) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0x2aaaaeda4a10) 0 empty
Vtable for QPluginLoader
QPluginLoader::_ZTV13QPluginLoader: 14u entries
@@ -2057,25 +1637,9 @@ Class QWriteLocker
base size=8 base align=8
QWriteLocker (0x2aaaaee56380) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x2aaaaee697e0) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x2aaaaee698c0) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x2aaaaee699a0) 0
-Class QColor::<anonymous union>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union> (0x2aaaaee69700) 0
Class QColor
size=16 align=4
@@ -2092,55 +1656,23 @@ Class QPen
base size=8 base align=8
QPen (0x2aaaaeeb2f50) 0
-Class QTypeInfo<QPen>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPen> (0x2aaaaeefc070) 0 empty
Class QBrush
size=8 align=8
base size=8 base align=8
QBrush (0x2aaaaeefc380) 0
-Class QTypeInfo<QBrush>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBrush> (0x2aaaaeefc7e0) 0 empty
Class QBrushData
size=24 align=4
base size=24 base align=4
QBrushData (0x2aaaaeefca10) 0
-Class QVector<QPair<double, QColor> >::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QVector<QPair<double, QColor> >::<anonymous union> (0x2aaaaef23150) 0
-Class QVector<QPair<double, QColor> >
- size=8 align=8
- base size=8 base align=8
-QVector<QPair<double, QColor> > (0x2aaaaeefcf50) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=32 align=8
- base size=32 base align=8
-QGradient::<anonymous union>::<anonymous struct> (0x2aaaaef23380) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=40 align=8
- base size=40 base align=8
-QGradient::<anonymous union>::<anonymous struct> (0x2aaaaef23460) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=24 align=8
- base size=24 base align=8
-QGradient::<anonymous union>::<anonymous struct> (0x2aaaaef23540) 0
-Class QGradient::<anonymous union>
- size=40 align=8
- base size=40 base align=8
-QGradient::<anonymous union> (0x2aaaaef232a0) 0
Class QGradient
size=64 align=8
@@ -2170,25 +1702,13 @@ Class QTextLength
base size=16 base align=8
QTextLength (0x2aaaaef23b60) 0
-Class QSharedDataPointer<QTextFormatPrivate>
- size=8 align=8
- base size=8 base align=8
-QSharedDataPointer<QTextFormatPrivate> (0x2aaaaef60af0) 0
Class QTextFormat
size=16 align=8
base size=12 base align=8
QTextFormat (0x2aaaaef608c0) 0
-Class QVector<QTextLength>::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QVector<QTextLength>::<anonymous union> (0x2aaaaef9e850) 0
-Class QVector<QTextLength>
- size=8 align=8
- base size=8 base align=8
-QVector<QTextLength> (0x2aaaaef9e690) 0
Class QTextCharFormat
size=16 align=8
@@ -2328,10 +1848,6 @@ QTextFrame (0x2aaaaf0ed3f0) 0
QObject (0x2aaaaf0ed4d0) 0
primary-for QTextObject (0x2aaaaf0ed460)
-Class QTypeInfo<QTextFrame::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFrame::iterator> (0x2aaaaf125150) 0 empty
Class QTextBlock::iterator
size=24 align=8
@@ -2343,25 +1859,13 @@ Class QTextBlock
base size=12 base align=8
QTextBlock (0x2aaaaf125460) 0
-Class QTypeInfo<QTextBlock>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock> (0x2aaaaf1577e0) 0 empty
-Class QTypeInfo<QTextBlock::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock::iterator> (0x2aaaaf157a80) 0 empty
Class QTextFragment
size=16 align=8
base size=16 base align=8
QTextFragment (0x2aaaaf157cb0) 0
-Class QTypeInfo<QTextFragment>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFragment> (0x2aaaaf16dcb0) 0 empty
Class QFontMetrics
size=8 align=8
@@ -2421,20 +1925,12 @@ QTextDocument (0x2aaaaf1c32a0) 0
QObject (0x2aaaaf1c3310) 0
primary-for QTextDocument (0x2aaaaf1c32a0)
-Class QFlags<QTextDocument::FindFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextDocument::FindFlag> (0x2aaaaf1c3700) 0
Class QTextOption
size=32 align=8
base size=32 base align=8
QTextOption (0x2aaaaf1c3bd0) 0
-Class QFlags<QTextOption::Flag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextOption::Flag> (0x2aaaaf2022a0) 0
Class QTextTableCell
size=16 align=8
@@ -2485,10 +1981,6 @@ Class QKeySequence
base size=8 base align=8
QKeySequence (0x2aaaaf2624d0) 0
-Class QTypeInfo<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QKeySequence> (0x2aaaaf262af0) 0 empty
Vtable for QMimeSource
QMimeSource::_ZTV11QMimeSource: 7u entries
@@ -2771,15 +2263,7 @@ Class QInputMethodEvent::Attribute
base size=32 base align=8
QInputMethodEvent::Attribute (0x2aaaaf350930) 0
-Class QList<QInputMethodEvent::Attribute>::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QList<QInputMethodEvent::Attribute>::<anonymous union> (0x2aaaaf36c2a0) 0
-Class QList<QInputMethodEvent::Attribute>
- size=8 align=8
- base size=8 base align=8
-QList<QInputMethodEvent::Attribute> (0x2aaaaf36c150) 0
Vtable for QInputMethodEvent
QInputMethodEvent::_ZTV17QInputMethodEvent: 4u entries
@@ -3063,15 +2547,7 @@ Class QTextLayout
base size=8 base align=8
QTextLayout (0x2aaaaf40de00) 0
-Class QVector<QTextLayout::FormatRange>::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QVector<QTextLayout::FormatRange>::<anonymous union> (0x2aaaaf4351c0) 0
-Class QVector<QTextLayout::FormatRange>
- size=8 align=8
- base size=8 base align=8
-QVector<QTextLayout::FormatRange> (0x2aaaaf435000) 0
Class QTextLine
size=16 align=8
@@ -3120,10 +2596,6 @@ Class QTextDocumentFragment
base size=8 base align=8
QTextDocumentFragment (0x2aaaaf486620) 0
-Class QSharedDataPointer<QTextCursorPrivate>
- size=8 align=8
- base size=8 base align=8
-QSharedDataPointer<QTextCursorPrivate> (0x2aaaaf486850) 0
Class QTextCursor
size=8 align=8
@@ -3146,15 +2618,7 @@ Class QAbstractTextDocumentLayout::Selection
base size=24 base align=8
QAbstractTextDocumentLayout::Selection (0x2aaaaf552700) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union> (0x2aaaaf552af0) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>
- size=8 align=8
- base size=8 base align=8
-QVector<QAbstractTextDocumentLayout::Selection> (0x2aaaaf552930) 0
Class QAbstractTextDocumentLayout::PaintContext
size=64 align=8
@@ -3981,10 +3445,6 @@ QFileDialog (0x2aaaaf8403f0) 0
QPaintDevice (0x2aaaaf840540) 16
vptr=((& QFileDialog::_ZTV11QFileDialog) + 488u)
-Class QFlags<QFileDialog::Option>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileDialog::Option> (0x2aaaaf840bd0) 0
Vtable for QAbstractPrintDialog
QAbstractPrintDialog::_ZTV20QAbstractPrintDialog: 67u entries
@@ -4504,10 +3964,6 @@ QImage (0x2aaaaf95af50) 0
QPaintDevice (0x2aaaaf98b000) 0
primary-for QImage (0x2aaaaf95af50)
-Class QTypeInfo<QImage>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QImage> (0x2aaaaf9ee070) 0 empty
Vtable for QPixmap
QPixmap::_ZTV7QPixmap: 7u entries
@@ -4732,10 +4188,6 @@ Class QIcon
base size=8 base align=8
QIcon (0x2aaaafae4850) 0
-Class QTypeInfo<QIcon>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QIcon> (0x2aaaafb10380) 0 empty
Vtable for QIconEngine
QIconEngine::_ZTV11QIconEngine: 9u entries
@@ -4887,15 +4339,7 @@ Class QPrintEngine
QPrintEngine (0x2aaaafb61e00) 0 nearly-empty
vptr=((& QPrintEngine::_ZTV12QPrintEngine) + 16u)
-Class QVector<QPoint>::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QVector<QPoint>::<anonymous union> (0x2aaaafba3690) 0
-Class QVector<QPoint>
- size=8 align=8
- base size=8 base align=8
-QVector<QPoint> (0x2aaaafba34d0) 0
Class QPolygon
size=8 align=8
@@ -4903,15 +4347,7 @@ Class QPolygon
QPolygon (0x2aaaafba3770) 0
QVector<QPoint> (0x2aaaafba37e0) 0
-Class QVector<QPointF>::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QVector<QPointF>::<anonymous union> (0x2aaaafbf4150) 0
-Class QVector<QPointF>
- size=8 align=8
- base size=8 base align=8
-QVector<QPointF> (0x2aaaafbe2f50) 0
Class QPolygonF
size=8 align=8
@@ -4924,55 +4360,19 @@ Class QMatrix
base size=48 base align=8
QMatrix (0x2aaaafc27770) 0
-Class QTypeInfo<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMatrix> (0x2aaaafc4f230) 0 empty
Class QPainter
size=8 align=8
base size=8 base align=8
QPainter (0x2aaaafc4fee0) 0
-Class QVector<QLineF>::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QVector<QLineF>::<anonymous union> (0x2aaaafcf3f50) 0
-Class QVector<QLineF>
- size=8 align=8
- base size=8 base align=8
-QVector<QLineF> (0x2aaaafcf3d90) 0
-Class QVector<QLine>::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QVector<QLine>::<anonymous union> (0x2aaaafd1f3f0) 0
-Class QVector<QLine>
- size=8 align=8
- base size=8 base align=8
-QVector<QLine> (0x2aaaafd1f230) 0
-Class QVector<QRectF>::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QVector<QRectF>::<anonymous union> (0x2aaaafd5b2a0) 0
-Class QVector<QRectF>
- size=8 align=8
- base size=8 base align=8
-QVector<QRectF> (0x2aaaafd5b0e0) 0
-Class QVector<QRect>::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QVector<QRect>::<anonymous union> (0x2aaaafd5b700) 0
-Class QVector<QRect>
- size=8 align=8
- base size=8 base align=8
-QVector<QRect> (0x2aaaafd5b540) 0
Vtable for QStyle
QStyle::_ZTV6QStyle: 35u entries
@@ -5020,15 +4420,7 @@ QStyle (0x2aaaafe0e8c0) 0
QObject (0x2aaaafe0e930) 0
primary-for QStyle (0x2aaaafe0e8c0)
-Class QFlags<QStyle::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::StateFlag> (0x2aaaafe0ef50) 0
-Class QFlags<QStyle::SubControl>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::SubControl> (0x2aaaafe6e310) 0
Class QStylePainter
size=24 align=8
@@ -5046,25 +4438,13 @@ Class QPainterPath
base size=8 base align=8
QPainterPath (0x2aaaafe9eb60) 0
-Class QVector<QPainterPath::Element>::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QVector<QPainterPath::Element>::<anonymous union> (0x2aaaafed0bd0) 0
-Class QVector<QPainterPath::Element>
- size=8 align=8
- base size=8 base align=8
-QVector<QPainterPath::Element> (0x2aaaafed0a10) 0
Class QPainterPathPrivate
size=16 align=8
base size=16 base align=8
QPainterPathPrivate (0x2aaaafed0690) 0
-Class QTypeInfo<QPainterPath::Element>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPainterPath::Element> (0x2aaaafed0d20) 0 empty
Class QPainterPathStroker
size=8 align=8
@@ -5076,15 +4456,7 @@ Class QTextItem
base size=0 base align=1
QTextItem (0x2aaaaff205b0) 0 empty
-Class QTypeInfo<QTextItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextItem> (0x2aaaaff20700) 0 empty
-Class QFlags<QPaintEngine::PaintEngineFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::PaintEngineFeature> (0x2aaaaff20b60) 0
Vtable for QPaintEngine
QPaintEngine::_ZTV12QPaintEngine: 24u entries
@@ -5119,10 +4491,6 @@ Class QPaintEngine
QPaintEngine (0x2aaaaff20930) 0
vptr=((& QPaintEngine::_ZTV12QPaintEngine) + 16u)
-Class QFlags<QPaintEngine::DirtyFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::DirtyFlag> (0x2aaaaff5c700) 0
Class QPaintEngineState
size=4 align=4
@@ -5134,10 +4502,6 @@ Class QItemSelectionRange
base size=16 base align=8
QItemSelectionRange (0x2aaaaff8d5b0) 0
-Class QTypeInfo<QItemSelectionRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QItemSelectionRange> (0x2aaaaffe72a0) 0 empty
Vtable for QItemSelectionModel
QItemSelectionModel::_ZTV19QItemSelectionModel: 18u entries
@@ -5168,20 +4532,8 @@ QItemSelectionModel (0x2aaaaffe77e0) 0
QObject (0x2aaaaffe7850) 0
primary-for QItemSelectionModel (0x2aaaaffe77e0)
-Class QFlags<QItemSelectionModel::SelectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QItemSelectionModel::SelectionFlag> (0x2aaaaffe7a10) 0
-Class QList<QItemSelectionRange>::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QList<QItemSelectionRange>::<anonymous union> (0x2aaab001c620) 0
-Class QList<QItemSelectionRange>
- size=8 align=8
- base size=8 base align=8
-QList<QItemSelectionRange> (0x2aaab001c4d0) 0
Class QItemSelection
size=8 align=8
@@ -5470,10 +4822,6 @@ QAbstractSpinBox (0x2aaab0094f50) 0
QPaintDevice (0x2aaab0094af0) 16
vptr=((& QAbstractSpinBox::_ZTV16QAbstractSpinBox) + 504u)
-Class QFlags<QAbstractSpinBox::StepEnabledFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractSpinBox::StepEnabledFlag> (0x2aaab00c1850) 0
Vtable for QAbstractSlider
QAbstractSlider::_ZTV15QAbstractSlider: 64u entries
@@ -5910,10 +5258,6 @@ Class QStyleOptionHeader
QStyleOptionHeader (0x2aaab0205a80) 0
QStyleOption (0x2aaab0205af0) 0
-Class QFlags<QStyleOptionButton::ButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionButton::ButtonFeature> (0x2aaab02293f0) 0
Class QStyleOptionButton
size=88 align=8
@@ -5921,10 +5265,6 @@ Class QStyleOptionButton
QStyleOptionButton (0x2aaab02290e0) 0
QStyleOption (0x2aaab0229150) 0
-Class QFlags<QStyleOptionTab::CornerWidget>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionTab::CornerWidget> (0x2aaab0229310) 0
Class QStyleOptionTab
size=96 align=8
@@ -5944,10 +5284,6 @@ Class QStyleOptionMenuItem
QStyleOptionMenuItem (0x2aaab026ce70) 0
QStyleOption (0x2aaab026cee0) 0
-Class QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature> (0x2aaab0299850) 0
Class QStyleOptionQ3ListViewItem
size=80 align=8
@@ -6005,15 +5341,7 @@ QStyleOptionSpinBox (0x2aaab0329380) 0
QStyleOptionComplex (0x2aaab03293f0) 0
QStyleOption (0x2aaab0329460) 0
-Class QList<QStyleOptionQ3ListViewItem>::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QList<QStyleOptionQ3ListViewItem>::<anonymous union> (0x2aaab0329e00) 0
-Class QList<QStyleOptionQ3ListViewItem>
- size=8 align=8
- base size=8 base align=8
-QList<QStyleOptionQ3ListViewItem> (0x2aaab0329ee0) 0
Class QStyleOptionQ3ListView
size=112 align=8
@@ -6022,10 +5350,6 @@ QStyleOptionQ3ListView (0x2aaab0329b60) 0
QStyleOptionComplex (0x2aaab0329bd0) 0
QStyleOption (0x2aaab0329c40) 0
-Class QFlags<QStyleOptionToolButton::ToolButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionToolButton::ToolButtonFeature> (0x2aaab03579a0) 0
Class QStyleOptionToolButton
size=128 align=8
@@ -6213,10 +5537,6 @@ QAbstractItemView (0x2aaab03beb60) 0
QPaintDevice (0x2aaab03bed20) 16
vptr=((& QAbstractItemView::_ZTV17QAbstractItemView) + 784u)
-Class QFlags<QAbstractItemView::EditTrigger>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractItemView::EditTrigger> (0x2aaab045c4d0) 0
Vtable for QStringListModel
QStringListModel::_ZTV16QStringListModel: 42u entries
@@ -6399,15 +5719,7 @@ QListView (0x2aaab045caf0) 0
QPaintDevice (0x2aaab04921c0) 16
vptr=((& QListView::_ZTV9QListView) + 784u)
-Class QVector<QWidgetItemData>::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QVector<QWidgetItemData>::<anonymous union> (0x2aaab0492d20) 0
-Class QVector<QWidgetItemData>
- size=8 align=8
- base size=8 base align=8
-QVector<QWidgetItemData> (0x2aaab0492b60) 0
Vtable for QListWidgetItem
QListWidgetItem::_ZTV15QListWidgetItem: 11u entries
@@ -7324,15 +6636,7 @@ Class QItemEditorCreatorBase
QItemEditorCreatorBase (0x2aaab06bfe70) 0 nearly-empty
vptr=((& QItemEditorCreatorBase::_ZTV22QItemEditorCreatorBase) + 16u)
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union> (0x2aaab06ffb60) 0
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>
- size=8 align=8
- base size=8 base align=8
-QHash<QVariant::Type, QItemEditorCreatorBase*> (0x2aaab06ff9a0) 0
Vtable for QItemEditorFactory
QItemEditorFactory::_ZTV18QItemEditorFactory: 6u entries
@@ -7349,25 +6653,9 @@ Class QItemEditorFactory
QItemEditorFactory (0x2aaab06ff7e0) 0
vptr=((& QItemEditorFactory::_ZTV18QItemEditorFactory) + 16u)
-Class QVector<QVector<QWidgetItemData> >::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QVector<QVector<QWidgetItemData> >::<anonymous union> (0x2aaab0730540) 0
-Class QVector<QVector<QWidgetItemData> >
- size=8 align=8
- base size=8 base align=8
-QVector<QVector<QWidgetItemData> > (0x2aaab0730380) 0
-Class QList<QTreeWidgetItem*>::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QList<QTreeWidgetItem*>::<anonymous union> (0x2aaab07308c0) 0
-Class QList<QTreeWidgetItem*>
- size=8 align=8
- base size=8 base align=8
-QList<QTreeWidgetItem*> (0x2aaab0730770) 0
Vtable for QTreeWidgetItem
QTreeWidgetItem::_ZTV15QTreeWidgetItem: 10u entries
@@ -7594,15 +6882,7 @@ Class QAccessible
base size=0 base align=1
QAccessible (0x2aaab08161c0) 0 empty
-Class QFlags<QAccessible::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::StateFlag> (0x2aaab0816380) 0
-Class QFlags<QAccessible::RelationFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::RelationFlag> (0x2aaab0816770) 0
Vtable for QAccessibleInterface
QAccessibleInterface::_ZTV20QAccessibleInterface: 19u entries
@@ -8450,15 +7730,7 @@ QActionGroup (0x2aaab0a9a930) 0
QObject (0x2aaab0a9a9a0) 0
primary-for QActionGroup (0x2aaab0a9a930)
-Class QList<QAction*>::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QList<QAction*>::<anonymous union> (0x2aaab0ab8540) 0
-Class QList<QAction*>
- size=8 align=8
- base size=8 base align=8
-QList<QAction*> (0x2aaab0ab83f0) 0
Vtable for QSound
QSound::_ZTV6QSound: 14u entries
@@ -8599,10 +7871,6 @@ QCommonStyle (0x2aaab0af5d90) 0
QObject (0x2aaab0af5e70) 0
primary-for QStyle (0x2aaab0af5e00)
-Class QPointer<QFocusFrame>
- size=8 align=8
- base size=8 base align=8
-QPointer<QFocusFrame> (0x2aaab0b265b0) 0
Vtable for QMotifStyle
QMotifStyle::_ZTV11QMotifStyle: 35u entries
@@ -10130,10 +9398,6 @@ QDateEdit (0x2aaab0ddc540) 0
QPaintDevice (0x2aaab0ddc700) 16
vptr=((& QDateEdit::_ZTV9QDateEdit) + 520u)
-Class QFlags<QDateTimeEdit::Section>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDateTimeEdit::Section> (0x2aaab0ddcd20) 0
Vtable for QLabel
QLabel::_ZTV6QLabel: 63u entries
@@ -10293,10 +9557,6 @@ QDockWidget (0x2aaab0e14a10) 0
QPaintDevice (0x2aaab0e14af0) 16
vptr=((& QDockWidget::_ZTV11QDockWidget) + 464u)
-Class QFlags<QDockWidget::DockWidgetFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDockWidget::DockWidgetFeature> (0x2aaab0e56620) 0
Vtable for QGroupBox
QGroupBox::_ZTV9QGroupBox: 63u entries
@@ -12177,15 +11437,7 @@ Class QSqlRecord
base size=8 base align=8
QSqlRecord (0x2aaab136d620) 0
-Class QList<bool>::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QList<bool>::<anonymous union> (0x2aaab136dd20) 0
-Class QList<bool>
- size=8 align=8
- base size=8 base align=8
-QList<bool> (0x2aaab136dbd0) 0
Class QSqlIndex
size=32 align=8
@@ -12193,10 +11445,6 @@ Class QSqlIndex
QSqlIndex (0x2aaab136d9a0) 0
QSqlRecord (0x2aaab136da10) 0
-Class QFlags<QSql::ParamTypeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QSql::ParamTypeFlag> (0x2aaab13c03f0) 0
Vtable for QSqlResult
QSqlResult::_ZTV10QSqlResult: 29u entries
@@ -12873,29 +12121,7 @@ Q3GVector (0x2aaab1589000) 0
Q3PtrCollection (0x2aaab1589070) 0
primary-for Q3GVector (0x2aaab1589000)
-Vtable for Q3PtrVector<void>
-Q3PtrVector<void>::_ZTV11Q3PtrVectorIvE: 11u entries
-0 (int (*)(...))0
-8 (int (*)(...))(& _ZTI11Q3PtrVectorIvE)
-16 Q3PtrVector<type>::count [with type = void]
-24 Q3PtrVector<type>::clear [with type = void]
-32 Q3PtrVector<type>::~Q3PtrVector [with type = void]
-40 Q3PtrVector<type>::~Q3PtrVector [with type = void]
-48 Q3PtrCollection::newItem
-56 Q3PtrVector<type>::deleteItem [with type = void]
-64 Q3GVector::compareItems
-72 Q3GVector::read
-80 Q3GVector::write
-Class Q3PtrVector<void>
- size=32 align=8
- base size=32 base align=8
-Q3PtrVector<void> (0x2aaab15b83f0) 0
- vptr=((& Q3PtrVector<void>::_ZTV11Q3PtrVectorIvE) + 16u)
- Q3GVector (0x2aaab15b8460) 0
- primary-for Q3PtrVector<void> (0x2aaab15b83f0)
- Q3PtrCollection (0x2aaab15b84d0) 0
- primary-for Q3GVector (0x2aaab15b8460)
Vtable for Q3Header
Q3Header::_ZTV8Q3Header: 76u entries
@@ -13052,29 +12278,7 @@ Class Q3GListStdIterator
base size=8 base align=8
Q3GListStdIterator (0x2aaab1688620) 0
-Vtable for Q3PtrList<void>
-Q3PtrList<void>::_ZTV9Q3PtrListIvE: 11u entries
-0 (int (*)(...))0
-8 (int (*)(...))(& _ZTI9Q3PtrListIvE)
-16 Q3PtrList<type>::count [with type = void]
-24 Q3PtrList<type>::clear [with type = void]
-32 Q3PtrList<type>::~Q3PtrList [with type = void]
-40 Q3PtrList<type>::~Q3PtrList [with type = void]
-48 Q3PtrCollection::newItem
-56 Q3PtrList<type>::deleteItem [with type = void]
-64 Q3GList::compareItems
-72 Q3GList::read
-80 Q3GList::write
-Class Q3PtrList<void>
- size=56 align=8
- base size=56 base align=8
-Q3PtrList<void> (0x2aaab16d0930) 0
- vptr=((& Q3PtrList<void>::_ZTV9Q3PtrListIvE) + 16u)
- Q3GList (0x2aaab16d09a0) 0
- primary-for Q3PtrList<void> (0x2aaab16d0930)
- Q3PtrCollection (0x2aaab16d0a10) 0
- primary-for Q3GList (0x2aaab16d09a0)
Class Q3BaseBucket
size=16 align=8
@@ -13131,28 +12335,7 @@ Class Q3GDictIterator
base size=20 base align=8
Q3GDictIterator (0x2aaab1726620) 0
-Vtable for Q3IntDict<void>
-Q3IntDict<void>::_ZTV9Q3IntDictIvE: 10u entries
-0 (int (*)(...))0
-8 (int (*)(...))(& _ZTI9Q3IntDictIvE)
-16 Q3IntDict<type>::count [with type = void]
-24 Q3IntDict<type>::clear [with type = void]
-32 Q3IntDict<type>::~Q3IntDict [with type = void]
-40 Q3IntDict<type>::~Q3IntDict [with type = void]
-48 Q3PtrCollection::newItem
-56 Q3IntDict<type>::deleteItem [with type = void]
-64 Q3GDict::read
-72 Q3GDict::write
-Class Q3IntDict<void>
- size=48 align=8
- base size=48 base align=8
-Q3IntDict<void> (0x2aaab175b770) 0
- vptr=((& Q3IntDict<void>::_ZTV9Q3IntDictIvE) + 16u)
- Q3GDict (0x2aaab175b7e0) 0
- primary-for Q3IntDict<void> (0x2aaab175b770)
- Q3PtrCollection (0x2aaab175b850) 0
- primary-for Q3GDict (0x2aaab175b7e0)
Class Q3TableSelection
size=28 align=4
@@ -13263,100 +12446,13 @@ Class Q3Table::TableWidget
base size=16 base align=8
Q3Table::TableWidget (0x2aaab17ad700) 0
-Vtable for Q3PtrVector<Q3TableItem>
-Q3PtrVector<Q3TableItem>::_ZTV11Q3PtrVectorI11Q3TableItemE: 11u entries
-0 (int (*)(...))0
-8 (int (*)(...))(& _ZTI11Q3PtrVectorI11Q3TableItemE)
-16 Q3PtrVector<type>::count [with type = Q3TableItem]
-24 Q3PtrVector<type>::clear [with type = Q3TableItem]
-32 Q3PtrVector<type>::~Q3PtrVector [with type = Q3TableItem]
-40 Q3PtrVector<type>::~Q3PtrVector [with type = Q3TableItem]
-48 Q3PtrCollection::newItem
-56 Q3PtrVector<type>::deleteItem [with type = Q3TableItem]
-64 Q3GVector::compareItems
-72 Q3GVector::read
-80 Q3GVector::write
-Class Q3PtrVector<Q3TableItem>
- size=32 align=8
- base size=32 base align=8
-Q3PtrVector<Q3TableItem> (0x2aaab17ad930) 0
- vptr=((& Q3PtrVector<Q3TableItem>::_ZTV11Q3PtrVectorI11Q3TableItemE) + 16u)
- Q3GVector (0x2aaab17ad9a0) 0
- primary-for Q3PtrVector<Q3TableItem> (0x2aaab17ad930)
- Q3PtrCollection (0x2aaab17ada10) 0
- primary-for Q3GVector (0x2aaab17ad9a0)
-
-Vtable for Q3PtrVector<QWidget>
-Q3PtrVector<QWidget>::_ZTV11Q3PtrVectorI7QWidgetE: 11u entries
-0 (int (*)(...))0
-8 (int (*)(...))(& _ZTI11Q3PtrVectorI7QWidgetE)
-16 Q3PtrVector<type>::count [with type = QWidget]
-24 Q3PtrVector<type>::clear [with type = QWidget]
-32 Q3PtrVector<type>::~Q3PtrVector [with type = QWidget]
-40 Q3PtrVector<type>::~Q3PtrVector [with type = QWidget]
-48 Q3PtrCollection::newItem
-56 Q3PtrVector<type>::deleteItem [with type = QWidget]
-64 Q3GVector::compareItems
-72 Q3GVector::read
-80 Q3GVector::write
-Class Q3PtrVector<QWidget>
- size=32 align=8
- base size=32 base align=8
-Q3PtrVector<QWidget> (0x2aaab17add90) 0
- vptr=((& Q3PtrVector<QWidget>::_ZTV11Q3PtrVectorI7QWidgetE) + 16u)
- Q3GVector (0x2aaab17ade00) 0
- primary-for Q3PtrVector<QWidget> (0x2aaab17add90)
- Q3PtrCollection (0x2aaab17ade70) 0
- primary-for Q3GVector (0x2aaab17ade00)
-
-Vtable for Q3PtrList<Q3TableSelection>
-Q3PtrList<Q3TableSelection>::_ZTV9Q3PtrListI16Q3TableSelectionE: 11u entries
-0 (int (*)(...))0
-8 (int (*)(...))(& _ZTI9Q3PtrListI16Q3TableSelectionE)
-16 Q3PtrList<type>::count [with type = Q3TableSelection]
-24 Q3PtrList<type>::clear [with type = Q3TableSelection]
-32 Q3PtrList<type>::~Q3PtrList [with type = Q3TableSelection]
-40 Q3PtrList<type>::~Q3PtrList [with type = Q3TableSelection]
-48 Q3PtrCollection::newItem
-56 Q3PtrList<type>::deleteItem [with type = Q3TableSelection]
-64 Q3GList::compareItems
-72 Q3GList::read
-80 Q3GList::write
-Class Q3PtrList<Q3TableSelection>
- size=56 align=8
- base size=56 base align=8
-Q3PtrList<Q3TableSelection> (0x2aaab17adb60) 0
- vptr=((& Q3PtrList<Q3TableSelection>::_ZTV9Q3PtrListI16Q3TableSelectionE) + 16u)
- Q3GList (0x2aaab17adcb0) 0
- primary-for Q3PtrList<Q3TableSelection> (0x2aaab17adb60)
- Q3PtrCollection (0x2aaab181e000) 0
- primary-for Q3GList (0x2aaab17adcb0)
-
-Vtable for Q3IntDict<int>
-Q3IntDict<int>::_ZTV9Q3IntDictIiE: 10u entries
-0 (int (*)(...))0
-8 (int (*)(...))(& _ZTI9Q3IntDictIiE)
-16 Q3IntDict<type>::count [with type = int]
-24 Q3IntDict<type>::clear [with type = int]
-32 Q3IntDict<type>::~Q3IntDict [with type = int]
-40 Q3IntDict<type>::~Q3IntDict [with type = int]
-48 Q3PtrCollection::newItem
-56 Q3IntDict<type>::deleteItem [with type = int]
-64 Q3GDict::read
-72 Q3GDict::write
-Class Q3IntDict<int>
- size=48 align=8
- base size=48 base align=8
-Q3IntDict<int> (0x2aaab181e3f0) 0
- vptr=((& Q3IntDict<int>::_ZTV9Q3IntDictIiE) + 16u)
- Q3GDict (0x2aaab181e460) 0
- primary-for Q3IntDict<int> (0x2aaab181e3f0)
- Q3PtrCollection (0x2aaab181e4d0) 0
- primary-for Q3GDict (0x2aaab181e460)
+
+
+
Vtable for Q3Table
Q3Table::_ZTV7Q3Table: 183u entries
@@ -14080,21 +13176,8 @@ Class Q3SqlPropertyMap
Q3SqlPropertyMap (0x2aaab197f230) 0
vptr=((& Q3SqlPropertyMap::_ZTV16Q3SqlPropertyMap) + 16u)
-Class QLinkedList<Q3SqlFieldInfo>::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QLinkedList<Q3SqlFieldInfo>::<anonymous union> (0x2aaab19be230) 0
-Class QLinkedList<Q3SqlFieldInfo>
- size=8 align=8
- base size=8 base align=8
-QLinkedList<Q3SqlFieldInfo> (0x2aaab19be070) 0
-Class Q3ValueList<Q3SqlFieldInfo>
- size=8 align=8
- base size=8 base align=8
-Q3ValueList<Q3SqlFieldInfo> (0x2aaab19be2a0) 0
- QLinkedList<Q3SqlFieldInfo> (0x2aaab19be310) 0
Class Q3SqlRecordInfo
size=8 align=8
@@ -14103,31 +13186,10 @@ Q3SqlRecordInfo (0x2aaab19be540) 0
Q3ValueList<Q3SqlFieldInfo> (0x2aaab19be5b0) 0
QLinkedList<Q3SqlFieldInfo> (0x2aaab19be620) 0
-Class QList<Q3SqlFieldInfo>::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QList<Q3SqlFieldInfo>::<anonymous union> (0x2aaab19bec40) 0
-Class QList<Q3SqlFieldInfo>
- size=8 align=8
- base size=8 base align=8
-QList<Q3SqlFieldInfo> (0x2aaab19beaf0) 0
-Class QLinkedList<Q3SqlFieldInfo>::const_iterator
- size=8 align=8
- base size=8 base align=8
-QLinkedList<Q3SqlFieldInfo>::const_iterator (0x2aaab1a19f50) 0
-Class Q3ValueListConstIterator<Q3SqlFieldInfo>
- size=8 align=8
- base size=8 base align=8
-Q3ValueListConstIterator<Q3SqlFieldInfo> (0x2aaab1a19e00) 0
- QLinkedList<Q3SqlFieldInfo>::const_iterator (0x2aaab1a3d000) 0
-Class QLinkedList<Q3SqlFieldInfo>::iterator
- size=8 align=8
- base size=8 base align=8
-QLinkedList<Q3SqlFieldInfo>::iterator (0x2aaab1a3d1c0) 0
Vtable for Q3DataView
Q3DataView::_ZTV10Q3DataView: 69u entries
@@ -14218,15 +13280,7 @@ Class Q3StyleSheetItem
base size=8 base align=8
Q3StyleSheetItem (0x2aaab1a6da80) 0
-Class QHash<QString, Q3StyleSheetItem*>::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QHash<QString, Q3StyleSheetItem*>::<anonymous union> (0x2aaab1a6dee0) 0
-Class QHash<QString, Q3StyleSheetItem*>
- size=8 align=8
- base size=8 base align=8
-QHash<QString, Q3StyleSheetItem*> (0x2aaab1a6dd20) 0
Vtable for Q3StyleSheet
Q3StyleSheet::_ZTV12Q3StyleSheet: 16u entries
@@ -14287,25 +13341,9 @@ Class Q3TextEditOptimPrivate::Selection
base size=8 base align=4
Q3TextEditOptimPrivate::Selection (0x2aaab1ac29a0) 0
-Class QMap<int, QString>::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QMap<int, QString>::<anonymous union> (0x2aaab1ac2cb0) 0
-Class QMap<int, QString>
- size=8 align=8
- base size=8 base align=8
-QMap<int, QString> (0x2aaab1ac2b60) 0
-Class QMap<int, Q3TextEditOptimPrivate::Tag*>::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QMap<int, Q3TextEditOptimPrivate::Tag*>::<anonymous union> (0x2aaab1ac2e70) 0
-Class QMap<int, Q3TextEditOptimPrivate::Tag*>
- size=8 align=8
- base size=8 base align=8
-QMap<int, Q3TextEditOptimPrivate::Tag*> (0x2aaab1ac2620) 0
Class Q3TextEditOptimPrivate
size=72 align=8
@@ -14513,10 +13551,6 @@ Q3TextEdit (0x2aaab1afae70) 0
QPaintDevice (0x2aaab1b2f000) 16
vptr=((& Q3TextEdit::_ZTV10Q3TextEdit) + 1360u)
-Class QFlags<Q3TextEdit::AutoFormattingFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Q3TextEdit::AutoFormattingFlag> (0x2aaab1b2f230) 0
Vtable for Q3SyntaxHighlighter
Q3SyntaxHighlighter::_ZTV19Q3SyntaxHighlighter: 5u entries
@@ -15446,28 +14480,7 @@ Class Q3Url
Q3Url (0x2aaab1cc1310) 0
vptr=((& Q3Url::_ZTV5Q3Url) + 16u)
-Vtable for Q3Dict<void>
-Q3Dict<void>::_ZTV6Q3DictIvE: 10u entries
-0 (int (*)(...))0
-8 (int (*)(...))(& _ZTI6Q3DictIvE)
-16 Q3Dict<type>::count [with type = void]
-24 Q3Dict<type>::clear [with type = void]
-32 Q3Dict<type>::~Q3Dict [with type = void]
-40 Q3Dict<type>::~Q3Dict [with type = void]
-48 Q3PtrCollection::newItem
-56 Q3Dict<type>::deleteItem [with type = void]
-64 Q3GDict::read
-72 Q3GDict::write
-Class Q3Dict<void>
- size=48 align=8
- base size=48 base align=8
-Q3Dict<void> (0x2aaab1cc1f50) 0
- vptr=((& Q3Dict<void>::_ZTV6Q3DictIvE) + 16u)
- Q3GDict (0x2aaab1cc14d0) 0
- primary-for Q3Dict<void> (0x2aaab1cc1f50)
- Q3PtrCollection (0x2aaab1cef000) 0
- primary-for Q3GDict (0x2aaab1cc14d0)
Vtable for Q3NetworkProtocolFactoryBase
Q3NetworkProtocolFactoryBase::_ZTV28Q3NetworkProtocolFactoryBase: 5u entries
@@ -15762,29 +14775,7 @@ Q3Accel (0x2aaab1d79d90) 0
QObject (0x2aaab1d79e00) 0
primary-for Q3Accel (0x2aaab1d79d90)
-Vtable for Q3PtrList<char>
-Q3PtrList<char>::_ZTV9Q3PtrListIcE: 11u entries
-0 (int (*)(...))0
-8 (int (*)(...))(& _ZTI9Q3PtrListIcE)
-16 Q3PtrList<type>::count [with type = char]
-24 Q3PtrList<type>::clear [with type = char]
-32 Q3PtrList<type>::~Q3PtrList [with type = char]
-40 Q3PtrList<type>::~Q3PtrList [with type = char]
-48 Q3PtrCollection::newItem
-56 Q3PtrList<type>::deleteItem [with type = char]
-64 Q3GList::compareItems
-72 Q3GList::read
-80 Q3GList::write
-Class Q3PtrList<char>
- size=56 align=8
- base size=56 base align=8
-Q3PtrList<char> (0x2aaab1dc9460) 0
- vptr=((& Q3PtrList<char>::_ZTV9Q3PtrListIcE) + 16u)
- Q3GList (0x2aaab1dc94d0) 0
- primary-for Q3PtrList<char> (0x2aaab1dc9460)
- Q3PtrCollection (0x2aaab1dc9540) 0
- primary-for Q3GList (0x2aaab1dc94d0)
Vtable for Q3StrList
Q3StrList::_ZTV9Q3StrList: 11u entries
@@ -15812,11 +14803,6 @@ Q3StrList (0x2aaab1dc97e0) 0
Q3PtrCollection (0x2aaab1dc9930) 0
primary-for Q3GList (0x2aaab1dc98c0)
-Class Q3PtrListStdIterator<char>
- size=8 align=8
- base size=8 base align=8
-Q3PtrListStdIterator<char> (0x2aaab1df4e00) 0
- Q3GListStdIterator (0x2aaab1df4e70) 0
Vtable for Q3StrIList
Q3StrIList::_ZTV10Q3StrIList: 11u entries
@@ -16170,29 +15156,7 @@ Class Q3CString
Q3CString (0x2aaab1eb1a10) 0
QByteArray (0x2aaab1eb1cb0) 0
-Vtable for Q3PtrQueue<void>
-Q3PtrQueue<void>::_ZTV10Q3PtrQueueIvE: 11u entries
-0 (int (*)(...))0
-8 (int (*)(...))(& _ZTI10Q3PtrQueueIvE)
-16 Q3PtrQueue<type>::count [with type = void]
-24 Q3PtrQueue<type>::clear [with type = void]
-32 Q3PtrQueue<type>::~Q3PtrQueue [with type = void]
-40 Q3PtrQueue<type>::~Q3PtrQueue [with type = void]
-48 Q3PtrCollection::newItem
-56 Q3PtrQueue<type>::deleteItem [with type = void]
-64 Q3GList::compareItems
-72 Q3GList::read
-80 Q3GList::write
-Class Q3PtrQueue<void>
- size=56 align=8
- base size=56 base align=8
-Q3PtrQueue<void> (0x2aaab1fa8e70) 0
- vptr=((& Q3PtrQueue<void>::_ZTV10Q3PtrQueueIvE) + 16u)
- Q3GList (0x2aaab1fa8ee0) 0
- primary-for Q3PtrQueue<void> (0x2aaab1fa8e70)
- Q3PtrCollection (0x2aaab1fa8f50) 0
- primary-for Q3GList (0x2aaab1fa8ee0)
Vtable for Q3Signal
Q3Signal::_ZTV8Q3Signal: 14u entries
@@ -16219,75 +15183,11 @@ Q3Signal (0x2aaab1fc44d0) 0
QObject (0x2aaab1fc4540) 0
primary-for Q3Signal (0x2aaab1fc44d0)
-Vtable for Q3AsciiDict<void>
-Q3AsciiDict<void>::_ZTV11Q3AsciiDictIvE: 10u entries
-0 (int (*)(...))0
-8 (int (*)(...))(& _ZTI11Q3AsciiDictIvE)
-16 Q3AsciiDict<type>::count [with type = void]
-24 Q3AsciiDict<type>::clear [with type = void]
-32 Q3AsciiDict<type>::~Q3AsciiDict [with type = void]
-40 Q3AsciiDict<type>::~Q3AsciiDict [with type = void]
-48 Q3PtrCollection::newItem
-56 Q3AsciiDict<type>::deleteItem [with type = void]
-64 Q3GDict::read
-72 Q3GDict::write
-Class Q3AsciiDict<void>
- size=48 align=8
- base size=48 base align=8
-Q3AsciiDict<void> (0x2aaab1fe3850) 0
- vptr=((& Q3AsciiDict<void>::_ZTV11Q3AsciiDictIvE) + 16u)
- Q3GDict (0x2aaab1fe38c0) 0
- primary-for Q3AsciiDict<void> (0x2aaab1fe3850)
- Q3PtrCollection (0x2aaab1fe3930) 0
- primary-for Q3GDict (0x2aaab1fe38c0)
-
-Vtable for Q3PtrStack<void>
-Q3PtrStack<void>::_ZTV10Q3PtrStackIvE: 11u entries
-0 (int (*)(...))0
-8 (int (*)(...))(& _ZTI10Q3PtrStackIvE)
-16 Q3PtrStack<type>::count [with type = void]
-24 Q3PtrStack<type>::clear [with type = void]
-32 Q3PtrStack<type>::~Q3PtrStack [with type = void]
-40 Q3PtrStack<type>::~Q3PtrStack [with type = void]
-48 Q3PtrCollection::newItem
-56 Q3PtrStack<type>::deleteItem [with type = void]
-64 Q3GList::compareItems
-72 Q3GList::read
-80 Q3GList::write
-Class Q3PtrStack<void>
- size=56 align=8
- base size=56 base align=8
-Q3PtrStack<void> (0x2aaab200dcb0) 0
- vptr=((& Q3PtrStack<void>::_ZTV10Q3PtrStackIvE) + 16u)
- Q3GList (0x2aaab200dd20) 0
- primary-for Q3PtrStack<void> (0x2aaab200dcb0)
- Q3PtrCollection (0x2aaab200dd90) 0
- primary-for Q3GList (0x2aaab200dd20)
-Vtable for Q3AsciiDict<QMetaObject>
-Q3AsciiDict<QMetaObject>::_ZTV11Q3AsciiDictI11QMetaObjectE: 10u entries
-0 (int (*)(...))0
-8 (int (*)(...))(& _ZTI11Q3AsciiDictI11QMetaObjectE)
-16 Q3AsciiDict<type>::count [with type = QMetaObject]
-24 Q3AsciiDict<type>::clear [with type = QMetaObject]
-32 Q3AsciiDict<type>::~Q3AsciiDict [with type = QMetaObject]
-40 Q3AsciiDict<type>::~Q3AsciiDict [with type = QMetaObject]
-48 Q3PtrCollection::newItem
-56 Q3AsciiDict<type>::deleteItem [with type = QMetaObject]
-64 Q3GDict::read
-72 Q3GDict::write
-Class Q3AsciiDict<QMetaObject>
- size=48 align=8
- base size=48 base align=8
-Q3AsciiDict<QMetaObject> (0x2aaab202a1c0) 0
- vptr=((& Q3AsciiDict<QMetaObject>::_ZTV11Q3AsciiDictI11QMetaObjectE) + 16u)
- Q3GDict (0x2aaab202a230) 0
- primary-for Q3AsciiDict<QMetaObject> (0x2aaab202a1c0)
- Q3PtrCollection (0x2aaab202a2a0) 0
- primary-for Q3GDict (0x2aaab202a230)
+
Vtable for Q3ObjectDictionary
Q3ObjectDictionary::_ZTV18Q3ObjectDictionary: 10u entries
@@ -16338,91 +15238,13 @@ Class Q3GCacheIterator
base size=8 base align=8
Q3GCacheIterator (0x2aaab2047850) 0
-Vtable for Q3Cache<void>
-Q3Cache<void>::_ZTV7Q3CacheIvE: 8u entries
-0 (int (*)(...))0
-8 (int (*)(...))(& _ZTI7Q3CacheIvE)
-16 Q3Cache<type>::count [with type = void]
-24 Q3Cache<type>::clear [with type = void]
-32 Q3Cache<type>::~Q3Cache [with type = void]
-40 Q3Cache<type>::~Q3Cache [with type = void]
-48 Q3PtrCollection::newItem
-56 Q3Cache<type>::deleteItem [with type = void]
-Class Q3Cache<void>
- size=48 align=8
- base size=41 base align=8
-Q3Cache<void> (0x2aaab207a2a0) 0
- vptr=((& Q3Cache<void>::_ZTV7Q3CacheIvE) + 16u)
- Q3GCache (0x2aaab207a310) 0
- primary-for Q3Cache<void> (0x2aaab207a2a0)
- Q3PtrCollection (0x2aaab207a380) 0
- primary-for Q3GCache (0x2aaab207a310)
-
-Vtable for Q3IntCache<void>
-Q3IntCache<void>::_ZTV10Q3IntCacheIvE: 8u entries
-0 (int (*)(...))0
-8 (int (*)(...))(& _ZTI10Q3IntCacheIvE)
-16 Q3IntCache<type>::count [with type = void]
-24 Q3IntCache<type>::clear [with type = void]
-32 Q3IntCache<type>::~Q3IntCache [with type = void]
-40 Q3IntCache<type>::~Q3IntCache [with type = void]
-48 Q3PtrCollection::newItem
-56 Q3IntCache<type>::deleteItem [with type = void]
-Class Q3IntCache<void>
- size=48 align=8
- base size=41 base align=8
-Q3IntCache<void> (0x2aaab20c92a0) 0
- vptr=((& Q3IntCache<void>::_ZTV10Q3IntCacheIvE) + 16u)
- Q3GCache (0x2aaab20c9310) 0
- primary-for Q3IntCache<void> (0x2aaab20c92a0)
- Q3PtrCollection (0x2aaab20c9380) 0
- primary-for Q3GCache (0x2aaab20c9310)
-
-Vtable for Q3PtrDict<void>
-Q3PtrDict<void>::_ZTV9Q3PtrDictIvE: 10u entries
-0 (int (*)(...))0
-8 (int (*)(...))(& _ZTI9Q3PtrDictIvE)
-16 Q3PtrDict<type>::count [with type = void]
-24 Q3PtrDict<type>::clear [with type = void]
-32 Q3PtrDict<type>::~Q3PtrDict [with type = void]
-40 Q3PtrDict<type>::~Q3PtrDict [with type = void]
-48 Q3PtrCollection::newItem
-56 Q3PtrDict<type>::deleteItem [with type = void]
-64 Q3GDict::read
-72 Q3GDict::write
-Class Q3PtrDict<void>
- size=48 align=8
- base size=48 base align=8
-Q3PtrDict<void> (0x2aaab20ec9a0) 0
- vptr=((& Q3PtrDict<void>::_ZTV9Q3PtrDictIvE) + 16u)
- Q3GDict (0x2aaab20eca10) 0
- primary-for Q3PtrDict<void> (0x2aaab20ec9a0)
- Q3PtrCollection (0x2aaab20eca80) 0
- primary-for Q3GDict (0x2aaab20eca10)
-
-Vtable for Q3AsciiCache<void>
-Q3AsciiCache<void>::_ZTV12Q3AsciiCacheIvE: 8u entries
-0 (int (*)(...))0
-8 (int (*)(...))(& _ZTI12Q3AsciiCacheIvE)
-16 Q3AsciiCache<type>::count [with type = void]
-24 Q3AsciiCache<type>::clear [with type = void]
-32 Q3AsciiCache<type>::~Q3AsciiCache [with type = void]
-40 Q3AsciiCache<type>::~Q3AsciiCache [with type = void]
-48 Q3PtrCollection::newItem
-56 Q3AsciiCache<type>::deleteItem [with type = void]
-Class Q3AsciiCache<void>
- size=48 align=8
- base size=41 base align=8
-Q3AsciiCache<void> (0x2aaab212ae00) 0
- vptr=((& Q3AsciiCache<void>::_ZTV12Q3AsciiCacheIvE) + 16u)
- Q3GCache (0x2aaab212ae70) 0
- primary-for Q3AsciiCache<void> (0x2aaab212ae00)
- Q3PtrCollection (0x2aaab212aee0) 0
- primary-for Q3GCache (0x2aaab212ae70)
+
+
+
Vtable for Q3Semaphore
Q3Semaphore::_ZTV11Q3Semaphore: 4u entries
@@ -16437,29 +15259,7 @@ Class Q3Semaphore
Q3Semaphore (0x2aaab216b070) 0
vptr=((& Q3Semaphore::_ZTV11Q3Semaphore) + 16u)
-Vtable for Q3PtrVector<char>
-Q3PtrVector<char>::_ZTV11Q3PtrVectorIcE: 11u entries
-0 (int (*)(...))0
-8 (int (*)(...))(& _ZTI11Q3PtrVectorIcE)
-16 Q3PtrVector<type>::count [with type = char]
-24 Q3PtrVector<type>::clear [with type = char]
-32 Q3PtrVector<type>::~Q3PtrVector [with type = char]
-40 Q3PtrVector<type>::~Q3PtrVector [with type = char]
-48 Q3PtrCollection::newItem
-56 Q3PtrVector<type>::deleteItem [with type = char]
-64 Q3GVector::compareItems
-72 Q3GVector::read
-80 Q3GVector::write
-Class Q3PtrVector<char>
- size=32 align=8
- base size=32 base align=8
-Q3PtrVector<char> (0x2aaab216b3f0) 0
- vptr=((& Q3PtrVector<char>::_ZTV11Q3PtrVectorIcE) + 16u)
- Q3GVector (0x2aaab216b460) 0
- primary-for Q3PtrVector<char> (0x2aaab216b3f0)
- Q3PtrCollection (0x2aaab216b4d0) 0
- primary-for Q3GVector (0x2aaab216b460)
Vtable for Q3StrVec
Q3StrVec::_ZTV8Q3StrVec: 11u entries
@@ -16554,21 +15354,8 @@ Class Q3PaintDeviceMetrics
base size=8 base align=8
Q3PaintDeviceMetrics (0x2aaab21fe620) 0
-Class QLinkedList<Q3CanvasItem*>::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QLinkedList<Q3CanvasItem*>::<anonymous union> (0x2aaab2211620) 0
-Class QLinkedList<Q3CanvasItem*>
- size=8 align=8
- base size=8 base align=8
-QLinkedList<Q3CanvasItem*> (0x2aaab2211460) 0
-Class Q3ValueList<Q3CanvasItem*>
- size=8 align=8
- base size=8 base align=8
-Q3ValueList<Q3CanvasItem*> (0x2aaab2211690) 0
- QLinkedList<Q3CanvasItem*> (0x2aaab2211700) 0
Class Q3CanvasItemList
size=8 align=8
@@ -17905,15 +16692,7 @@ Q3SocketDevice (0x2aaab251c770) 0
QObject (0x2aaab251c850) 0
primary-for QIODevice (0x2aaab251c7e0)
-Class QMap<QString, QString>::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QMap<QString, QString>::<anonymous union> (0x2aaab251c9a0) 0
-Class QMap<QString, QString>
- size=8 align=8
- base size=8 base align=8
-QMap<QString, QString> (0x2aaab251cf50) 0
Vtable for Q3HttpHeader
Q3HttpHeader::_ZTV12Q3HttpHeader: 8u entries
@@ -19238,15 +18017,7 @@ Q3VBox (0x2aaab2785230) 0
QPaintDevice (0x2aaab2785460) 16
vptr=((& Q3VBox::_ZTV6Q3VBox) + 488u)
-Class QMap<int, QAbstractButton*>::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QMap<int, QAbstractButton*>::<anonymous union> (0x2aaab2785ee0) 0
-Class QMap<int, QAbstractButton*>
- size=8 align=8
- base size=8 base align=8
-QMap<int, QAbstractButton*> (0x2aaab2785d90) 0
Vtable for Q3ButtonGroup
Q3ButtonGroup::_ZTV13Q3ButtonGroup: 64u entries
@@ -20173,25 +18944,9 @@ Q3MainWindow (0x2aaab28f1a80) 0
QPaintDevice (0x2aaab28f1b60) 16
vptr=((& Q3MainWindow::_ZTV12Q3MainWindow) + 656u)
-Class QList<QRect>::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QList<QRect>::<anonymous union> (0x2aaab2934e70) 0
-Class QList<QRect>
- size=8 align=8
- base size=8 base align=8
-QList<QRect> (0x2aaab2934d20) 0
-Class QList<Q3DockWindow*>::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QList<Q3DockWindow*>::<anonymous union> (0x2aaab297b0e0) 0
-Class QList<Q3DockWindow*>
- size=8 align=8
- base size=8 base align=8
-QList<Q3DockWindow*> (0x2aaab2934f50) 0
Vtable for Q3DockAreaLayout
Q3DockAreaLayout::_ZTV16Q3DockAreaLayout: 48u entries
@@ -20256,10 +19011,6 @@ Q3DockAreaLayout (0x2aaab2934af0) 0
QLayoutItem (0x2aaab2934bd0) 16
vptr=((& Q3DockAreaLayout::_ZTV16Q3DockAreaLayout) + 256u)
-Class QPointer<Q3DockArea>
- size=8 align=8
- base size=8 base align=8
-QPointer<Q3DockArea> (0x2aaab29beb60) 0
Class Q3DockArea::DockWindowData
size=32 align=8
@@ -20344,188 +19095,40 @@ Q3DockArea (0x2aaab29be850) 0
QPaintDevice (0x2aaab29be930) 16
vptr=((& Q3DockArea::_ZTV10Q3DockArea) + 464u)
-Class QList<QByteArray>::Node
- size=8 align=8
- base size=8 base align=8
-QList<QByteArray>::Node (0x2aaab2a811c0) 0
-Class QList<QString>::Node
- size=8 align=8
- base size=8 base align=8
-QList<QString>::Node (0x2aaab2abe2a0) 0
-Class QVectorTypedData<QTextLength>
- size=32 align=8
- base size=32 base align=8
-QVectorTypedData<QTextLength> (0x2aaab2b42a10) 0
-Class QVectorTypedData<QTextLayout::FormatRange>
- size=40 align=8
- base size=40 base align=8
-QVectorTypedData<QTextLayout::FormatRange> (0x2aaab2b5eb60) 0
-Class QVectorTypedData<QAbstractTextDocumentLayout::Selection>
- size=40 align=8
- base size=40 base align=8
-QVectorTypedData<QAbstractTextDocumentLayout::Selection> (0x2aaab2b69620) 0
-Class QVectorTypedData<QPoint>
- size=24 align=4
- base size=24 base align=4
-QVectorTypedData<QPoint> (0x2aaab2b902a0) 0
-Class QVectorTypedData<QPointF>
- size=32 align=8
- base size=32 base align=8
-QVectorTypedData<QPointF> (0x2aaab2bb4700) 0
-Class QVectorTypedData<QLineF>
- size=48 align=8
- base size=48 base align=8
-QVectorTypedData<QLineF> (0x2aaab2be3460) 0
-Class QVectorTypedData<QLine>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QLine> (0x2aaab2be39a0) 0
-Class QVectorTypedData<QRectF>
- size=48 align=8
- base size=48 base align=8
-QVectorTypedData<QRectF> (0x2aaab2be3ee0) 0
-Class QVectorTypedData<QRect>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QRect> (0x2aaab2bf0460) 0
-Class QVectorTypedData<QPainterPath::Element>
- size=40 align=8
- base size=40 base align=8
-QVectorTypedData<QPainterPath::Element> (0x2aaab2c063f0) 0
-Class QList<QTreeWidgetItem*>::Node
- size=8 align=8
- base size=8 base align=8
-QList<QTreeWidgetItem*>::Node (0x2aaab2cbbe00) 0
-Class QVectorTypedData<QVector<QWidgetItemData> >
- size=24 align=8
- base size=24 base align=8
-QVectorTypedData<QVector<QWidgetItemData> > (0x2aaab2cc9540) 0
-Class QList<QAction*>::Node
- size=8 align=8
- base size=8 base align=8
-QList<QAction*>::Node (0x2aaab2d13f50) 0
-Class QLinkedListNode<Q3SqlFieldInfo>
- size=80 align=8
- base size=80 base align=8
-QLinkedListNode<Q3SqlFieldInfo> (0x2aaab2d61e00) 0
-Class QTypeInfo<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLength> (0x2aaab2e7b540) 0 empty
-Class QTypeInfo<QTextLayout::FormatRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLayout::FormatRange> (0x2aaab2e871c0) 0 empty
-Class QTypeInfo<QAbstractTextDocumentLayout::Selection>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAbstractTextDocumentLayout::Selection> (0x2aaab2e951c0) 0 empty
-Class QHashNode<QVariant::Type, QItemEditorCreatorBase*>
- size=24 align=8
- base size=24 base align=8
-QHashNode<QVariant::Type, QItemEditorCreatorBase*> (0x2aaab2edb2a0) 0
-Class QTypeInfo<QTreeWidgetItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTreeWidgetItem*> (0x2aaab2edb7e0) 0 empty
-Class QTypeInfo<QAction*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAction*> (0x2aaab2eeab60) 0 empty
-Class QTypeInfo<Q3TextEditOptimPrivate::Tag*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<Q3TextEditOptimPrivate::Tag*> (0x2aaab2f1e770) 0 empty
-Class QList<QFileInfo>::Node
- size=8 align=8
- base size=8 base align=8
-QList<QFileInfo>::Node (0x2aaab2f5e850) 0
-Class QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union> (0x2aaab2f6f150) 0
-Class QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union> (0x2aaab2f9c380) 0
-Class QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union> (0x2aaab2fc67e0) 0
-Class QList<QItemSelectionRange>::Node
- size=8 align=8
- base size=8 base align=8
-QList<QItemSelectionRange>::Node (0x2aaab2ff3c40) 0
-Class QTypeInfo<QStyleOptionQ3ListViewItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QStyleOptionQ3ListViewItem> (0x2aaab300c540) 0 empty
-Class QList<QStyleOptionQ3ListViewItem>::Node
- size=8 align=8
- base size=8 base align=8
-QList<QStyleOptionQ3ListViewItem>::Node (0x2aaab300c690) 0
-Class QList<QVariant>::Node
- size=8 align=8
- base size=8 base align=8
-QList<QVariant>::Node (0x2aaab301ab60) 0
-Class QMap<Key, T>::detach_helper() [with Key = int, T = Q3TextEditOptimPrivate::Tag*]::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QMap<Key, T>::detach_helper() [with Key = int, T = Q3TextEditOptimPrivate::Tag*]::<anonymous union> (0x2aaab304e000) 0
-Class QList<QRect>::Node
- size=8 align=8
- base size=8 base align=8
-QList<QRect>::Node (0x2aaab304ec40) 0
-Class QTypeInfo<Q3DockWindow*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<Q3DockWindow*> (0x2aaab3060540) 0 empty
-Class QList<Q3DockWindow*>::Node
- size=8 align=8
- base size=8 base align=8
-QList<Q3DockWindow*>::Node (0x2aaab3060690) 0
-Class QLinkedList<T>::detach_helper() [with T = Q3SqlFieldInfo]::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QLinkedList<T>::detach_helper() [with T = Q3SqlFieldInfo]::<anonymous union> (0x2aaab307b0e0) 0
-Class QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union> (0x2aaab307ba10) 0
diff --git a/tests/auto/bic/data/Qt3Support.4.0.0.linux-gcc-ia32.txt b/tests/auto/bic/data/Qt3Support.4.0.0.linux-gcc-ia32.txt
index 8b221a0..564a297 100644
--- a/tests/auto/bic/data/Qt3Support.4.0.0.linux-gcc-ia32.txt
+++ b/tests/auto/bic/data/Qt3Support.4.0.0.linux-gcc-ia32.txt
@@ -59,145 +59,37 @@ Class QBool
base size=1 base align=1
QBool (0x40b1d000) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0x40b1d140) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0x40b1d180) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0x40b1d1c0) 0 empty
-Class QTypeInfo<uchar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uchar> (0x40b1d200) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0x40b1d240) 0 empty
-Class QTypeInfo<ushort>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ushort> (0x40b1d280) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0x40b1d2c0) 0 empty
-Class QTypeInfo<uint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uint> (0x40b1d300) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0x40b1d340) 0 empty
-Class QTypeInfo<ulong>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ulong> (0x40b1d380) 0 empty
-Class QTypeInfo<qint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<qint64> (0x40b1d3c0) 0 empty
-Class QTypeInfo<quint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<quint64> (0x40b1d400) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0x40b1d440) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0x40b1d480) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0x40b1d4c0) 0 empty
Class QFlag
size=4 align=4
base size=4 base align=4
QFlag (0x40b1d500) 0
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0x40b1d6c0) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0x40b1d740) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0x40b1d7c0) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0x40b1d840) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0x40b1d8c0) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0x40b1d940) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0x40b1d9c0) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0x40b1da40) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0x40b1dac0) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0x40b1db40) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0x40b1dbc0) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0x40b1dc40) 0
Class QInternal
size=1 align=1
@@ -215,10 +107,6 @@ Class QGenericReturnArgument
QGenericReturnArgument (0x40b1dd80) 0
QGenericArgument (0x40b1ddc0) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0x40b1dfc0) 0
Class QMetaObject
size=16 align=4
@@ -235,10 +123,6 @@ Class QChar
base size=2 base align=2
QChar (0x4142e0c0) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0x4142e180) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -271,10 +155,6 @@ Class QByteRef
base size=8 base align=4
QByteRef (0x4142e880) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0x4142e900) 0 empty
Class QString::Null
size=1 align=1
@@ -296,10 +176,6 @@ Class QLatin1String
base size=4 base align=4
QLatin1String (0x4142eb40) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0x4142ec80) 0
Class QCharRef
size=8 align=4
@@ -312,10 +188,6 @@ Class QConstString
QConstString (0x4142ee40) 0
QString (0x4142ee80) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0x4142ef00) 0 empty
Class QListData::Data
size=24 align=4
@@ -327,15 +199,7 @@ Class QListData
base size=4 base align=4
QListData (0x416e9000) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0x416e9440) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0x416e9380) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -427,10 +291,6 @@ QIODevice (0x416e9680) 0
QObject (0x416e96c0) 0
primary-for QIODevice (0x416e9680)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0x416e9800) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -455,10 +315,6 @@ Class QMapData
base size=72 base align=4
QMapData (0x416e9900) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0x416e9ec0) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -483,15 +339,7 @@ Class QTextCodec
QTextCodec (0x416e9dc0) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0x416e9c00) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0x416e9540) 0
Class QTextEncoder
size=32 align=4
@@ -503,30 +351,10 @@ Class QTextDecoder
base size=32 base align=4
QTextDecoder (0x418e7000) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x418e7080) 0
-Class <anonymous struct>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct>::<anonymous union> (0x418e7100) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x418e70c0) 0
-Class <anonymous struct>
- size=12 align=4
- base size=12 base align=4
-<anonymous struct> (0x418e7140) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0x418e7180) 0
Class __gconv_trans_data
size=20 align=4
@@ -548,15 +376,7 @@ Class __gconv_info
base size=8 base align=4
__gconv_info (0x418e7280) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0x418e7300) 0
-Class <anonymous union>
- size=44 align=4
- base size=44 base align=4
-<anonymous union> (0x418e72c0) 0
Class _IO_marker
size=12 align=4
@@ -568,10 +388,6 @@ Class _IO_FILE
base size=148 base align=4
_IO_FILE (0x418e7380) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0x418e73c0) 0
Vtable for QTextStream
QTextStream::_ZTV11QTextStream: 4u entries
@@ -586,10 +402,6 @@ Class QTextStream
QTextStream (0x418e7400) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0x418e7540) 0
Class QTextStreamManipulator
size=24 align=4
@@ -680,10 +492,6 @@ QFile (0x418e7c80) 0
QObject (0x418e7d00) 0
primary-for QIODevice (0x418e7cc0)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0x418e7e00) 0
Vtable for QTemporaryFile
QTemporaryFile::_ZTV14QTemporaryFile: 31u entries
@@ -736,25 +544,13 @@ Class QRegExp
base size=4 base align=4
QRegExp (0x418e7fc0) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0x418e7740) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0x418e7900) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0x419ee080) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0x418e7f40) 0
Class QStringList
size=4 align=4
@@ -762,15 +558,7 @@ Class QStringList
QStringList (0x419ee0c0) 0
QList<QString> (0x419ee100) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0x419ee340) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0x419ee3c0) 0
Vtable for QProcess
QProcess::_ZTV8QProcess: 31u entries
@@ -864,145 +652,45 @@ Class QFileInfo
base size=4 base align=4
QFileInfo (0x419ee840) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0x419ee8c0) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0x419ee900) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0x419eea40) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0x419ee980) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0x419eea80) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0x419eeb40) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0x419eec00) 0
Class QUrl
size=4 align=4
base size=4 base align=4
QUrl (0x419eec80) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0x419eed80) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0x419eedc0) 0 empty
Class QMetaType
size=1 align=1
base size=0 base align=1
QMetaType (0x419eee00) 0 empty
-Class QMetaTypeId<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QString> (0x419eee80) 0 empty
-Class QMetaTypeId<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<int> (0x419eeec0) 0 empty
-Class QMetaTypeId<uint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<uint> (0x419eef00) 0 empty
-Class QMetaTypeId<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<bool> (0x419eef40) 0 empty
-Class QMetaTypeId<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<double> (0x419eef80) 0 empty
-Class QMetaTypeId<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QByteArray> (0x419eefc0) 0 empty
-Class QMetaTypeId<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QChar> (0x419ee680) 0 empty
-Class QMetaTypeId<void>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<void> (0x419ee7c0) 0 empty
-Class QMetaTypeId<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<long int> (0x41b2a000) 0 empty
-Class QMetaTypeId<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<short int> (0x41b2a040) 0 empty
-Class QMetaTypeId<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<char> (0x41b2a080) 0 empty
-Class QMetaTypeId<ulong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<ulong> (0x41b2a0c0) 0 empty
-Class QMetaTypeId<ushort>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<ushort> (0x41b2a100) 0 empty
-Class QMetaTypeId<uchar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<uchar> (0x41b2a140) 0 empty
-Class QMetaTypeId<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<float> (0x41b2a180) 0 empty
-Class QMetaTypeId<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QObject*> (0x41b2a1c0) 0 empty
-Class QMetaTypeId<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QWidget*> (0x41b2a200) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -1029,35 +717,15 @@ Class QVariant
base size=12 base align=4
QVariant (0x41b2a240) 0
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0x41b2a800) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0x41b2a740) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0x41b2a980) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0x41b2a8c0) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0x41b2abc0) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0x41b2acc0) 0 empty
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1142,10 +810,6 @@ Class QFileEngineHandler
QFileEngineHandler (0x41b2af80) 0 nearly-empty
vptr=((& QFileEngineHandler::_ZTV18QFileEngineHandler) + 8u)
-Class QFlags<QFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileEngine::FileFlag> (0x41b2a480) 0
Class QHashData::Node
size=8 align=4
@@ -1162,90 +826,54 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0x41b2ad80) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0x41b2ae00) 0 empty
Class QPoint
size=8 align=4
base size=8 base align=4
QPoint (0x41c2f4c0) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0x41c2f900) 0 empty
Class QPointF
size=16 align=4
base size=16 base align=4
QPointF (0x41c2f9c0) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0x41c2fe00) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0x41c2ff00) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0x41c2ff40) 0 empty
Class QLineF
size=32 align=4
base size=32 base align=4
QLineF (0x41c2f500) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0x41c2f600) 0 empty
Class QSize
size=8 align=4
base size=8 base align=4
QSize (0x41c2f800) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0x41c2fd00) 0 empty
Class QSizeF
size=16 align=4
base size=16 base align=4
QSizeF (0x41d530c0) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0x41d53480) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0x41d53680) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0x41d53880) 0 empty
Class QRectF
size=32 align=4
base size=32 base align=4
QRectF (0x41d53980) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0x41d53b00) 0 empty
Class QLinkedListData
size=20 align=4
@@ -1262,10 +890,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0x41d53380) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0x41d536c0) 0 empty
Class QVectorData
size=16 align=4
@@ -1287,40 +911,24 @@ Class QLocale
base size=4 base align=4
QLocale (0x41f3e280) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0x41f3e2c0) 0 empty
Class QDate
size=4 align=4
base size=4 base align=4
QDate (0x41f3e440) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0x41f3e5c0) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0x41f3e600) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0x41f3e780) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0x41f3e7c0) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0x41f3e900) 0 empty
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -1480,10 +1088,6 @@ QEventLoop (0x41f3e500) 0
QObject (0x41f3e640) 0
primary-for QEventLoop (0x41f3e500)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0x41f3e880) 0
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -1575,20 +1179,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0x4207b300) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0x4207b400) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0x4207b480) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0x4207b540) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -1808,10 +1404,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0x4207bb00) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0x4207bbc0) 0 empty
Vtable for QSocketNotifier
QSocketNotifier::_ZTV15QSocketNotifier: 14u entries
@@ -1906,20 +1498,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0x4207bf00) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0x4207bf80) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0x4207bfc0) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0x4207b180) 0 empty
Class QMetaProperty
size=20 align=4
@@ -1931,10 +1515,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0x4207b4c0) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0x4207b740) 0 empty
Vtable for QPluginLoader
QPluginLoader::_ZTV13QPluginLoader: 14u entries
@@ -2057,25 +1637,9 @@ Class QWriteLocker
base size=4 base align=4
QWriteLocker (0x4215b580) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x4215b6c0) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x4215b700) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x4215b740) 0
-Class QColor::<anonymous union>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union> (0x4215b680) 0
Class QColor
size=16 align=4
@@ -2092,55 +1656,23 @@ Class QPen
base size=4 base align=4
QPen (0x4215bb80) 0
-Class QTypeInfo<QPen>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPen> (0x4215bbc0) 0 empty
Class QBrush
size=4 align=4
base size=4 base align=4
QBrush (0x4215bc00) 0
-Class QTypeInfo<QBrush>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBrush> (0x4215bc40) 0 empty
Class QBrushData
size=24 align=4
base size=24 base align=4
QBrushData (0x4215bc80) 0
-Class QVector<QGradientStop>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QGradientStop>::<anonymous union> (0x4215bec0) 0
-Class QVector<QGradientStop>
- size=4 align=4
- base size=4 base align=4
-QVector<QGradientStop> (0x4215be00) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=32 align=4
- base size=32 base align=4
-QGradient::<anonymous union>::<anonymous struct> (0x4215bf40) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=40 align=4
- base size=40 base align=4
-QGradient::<anonymous union>::<anonymous struct> (0x4215bf80) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=24 align=4
- base size=24 base align=4
-QGradient::<anonymous union>::<anonymous struct> (0x4215bfc0) 0
-Class QGradient::<anonymous union>
- size=40 align=4
- base size=40 base align=4
-QGradient::<anonymous union> (0x4215bf00) 0
Class QGradient
size=56 align=4
@@ -2170,25 +1702,13 @@ Class QTextLength
base size=12 base align=4
QTextLength (0x4215bd00) 0
-Class QSharedDataPointer<QTextFormatPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextFormatPrivate> (0x422321c0) 0
Class QTextFormat
size=8 align=4
base size=8 base align=4
QTextFormat (0x42232100) 0
-Class QVector<QTextLength>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength>::<anonymous union> (0x42232440) 0
-Class QVector<QTextLength>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength> (0x42232380) 0
Class QTextCharFormat
size=8 align=4
@@ -2328,10 +1848,6 @@ QTextFrame (0x42232b00) 0
QObject (0x42232b80) 0
primary-for QTextObject (0x42232b40)
-Class QTypeInfo<QTextFrame::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFrame::iterator> (0x42232e00) 0 empty
Class QTextBlock::iterator
size=16 align=4
@@ -2343,25 +1859,13 @@ Class QTextBlock
base size=8 base align=4
QTextBlock (0x42232e40) 0
-Class QTypeInfo<QTextBlock>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock> (0x42232140) 0 empty
-Class QTypeInfo<QTextBlock::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock::iterator> (0x42232200) 0 empty
Class QTextFragment
size=12 align=4
base size=12 base align=4
QTextFragment (0x42232280) 0
-Class QTypeInfo<QTextFragment>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFragment> (0x42332000) 0 empty
Class QFontMetrics
size=4 align=4
@@ -2426,10 +1930,6 @@ Class QTextOption
base size=24 base align=4
QTextOption (0x42332340) 0
-Class QFlags<QTextOption::Flag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextOption::Flag> (0x423323c0) 0
Class QTextTableCell
size=8 align=4
@@ -2480,10 +1980,6 @@ Class QKeySequence
base size=4 base align=4
QKeySequence (0x42332a40) 0
-Class QTypeInfo<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QKeySequence> (0x42332b80) 0 empty
Vtable for QMimeSource
QMimeSource::_ZTV11QMimeSource: 7u entries
@@ -2766,15 +2262,7 @@ Class QInputMethodEvent::Attribute
base size=24 base align=4
QInputMethodEvent::Attribute (0x423fbb00) 0
-Class QList<QInputMethodEvent::Attribute>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute>::<anonymous union> (0x423fbc80) 0
-Class QList<QInputMethodEvent::Attribute>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute> (0x423fbbc0) 0
Vtable for QInputMethodEvent
QInputMethodEvent::_ZTV17QInputMethodEvent: 4u entries
@@ -3058,15 +2546,7 @@ Class QTextLayout
base size=4 base align=4
QTextLayout (0x4246c9c0) 0
-Class QVector<QTextLayout::FormatRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange>::<anonymous union> (0x4246cb80) 0
-Class QVector<QTextLayout::FormatRange>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange> (0x4246cac0) 0
Class QTextLine
size=8 align=4
@@ -3115,10 +2595,6 @@ Class QTextDocumentFragment
base size=4 base align=4
QTextDocumentFragment (0x4246c080) 0
-Class QSharedDataPointer<QTextCursorPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextCursorPrivate> (0x4246c380) 0
Class QTextCursor
size=4 align=4
@@ -3141,15 +2617,7 @@ Class QAbstractTextDocumentLayout::Selection
base size=12 base align=4
QAbstractTextDocumentLayout::Selection (0x42521200) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union> (0x425213c0) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection> (0x42521300) 0
Class QAbstractTextDocumentLayout::PaintContext
size=48 align=4
@@ -3976,10 +3444,6 @@ QFileDialog (0x4268a440) 0
QPaintDevice (0x4268a540) 8
vptr=((& QFileDialog::_ZTV11QFileDialog) + 244u)
-Class QFlags<QFileDialog::Option>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileDialog::Option> (0x4268a6c0) 0
Vtable for QAbstractPrintDialog
QAbstractPrintDialog::_ZTV20QAbstractPrintDialog: 67u entries
@@ -4499,10 +3963,6 @@ QImage (0x4268af80) 0
QPaintDevice (0x4276d000) 0
primary-for QImage (0x4268af80)
-Class QTypeInfo<QImage>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QImage> (0x4276d100) 0 empty
Vtable for QPixmap
QPixmap::_ZTV7QPixmap: 7u entries
@@ -4727,10 +4187,6 @@ Class QIcon
base size=4 base align=4
QIcon (0x4276dc80) 0
-Class QTypeInfo<QIcon>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QIcon> (0x4276dd00) 0 empty
Vtable for QIconEngine
QIconEngine::_ZTV11QIconEngine: 9u entries
@@ -4882,15 +4338,7 @@ Class QPrintEngine
QPrintEngine (0x42865200) 0 nearly-empty
vptr=((& QPrintEngine::_ZTV12QPrintEngine) + 8u)
-Class QVector<QPoint>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint>::<anonymous union> (0x42865400) 0
-Class QVector<QPoint>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint> (0x42865340) 0
Class QPolygon
size=4 align=4
@@ -4898,15 +4346,7 @@ Class QPolygon
QPolygon (0x42865440) 0
QVector<QPoint> (0x42865480) 0
-Class QVector<QPointF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF>::<anonymous union> (0x42865700) 0
-Class QVector<QPointF>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF> (0x42865640) 0
Class QPolygonF
size=4 align=4
@@ -4919,55 +4359,19 @@ Class QMatrix
base size=48 base align=4
QMatrix (0x42865900) 0
-Class QTypeInfo<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMatrix> (0x42865940) 0 empty
Class QPainter
size=4 align=4
base size=4 base align=4
QPainter (0x42865980) 0
-Class QVector<QLineF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF>::<anonymous union> (0x42865b80) 0
-Class QVector<QLineF>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF> (0x42865ac0) 0
-Class QVector<QLine>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine>::<anonymous union> (0x42865d00) 0
-Class QVector<QLine>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine> (0x42865c40) 0
-Class QVector<QRectF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF>::<anonymous union> (0x42865e80) 0
-Class QVector<QRectF>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF> (0x42865dc0) 0
-Class QVector<QRect>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect>::<anonymous union> (0x42865180) 0
-Class QVector<QRect>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect> (0x42865f40) 0
Vtable for QStyle
QStyle::_ZTV6QStyle: 35u entries
@@ -5015,15 +4419,7 @@ QStyle (0x42865240) 0
QObject (0x428659c0) 0
primary-for QStyle (0x42865240)
-Class QFlags<QStyle::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::StateFlag> (0x429de100) 0
-Class QFlags<QStyle::SubControl>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::SubControl> (0x429de180) 0
Class QStylePainter
size=12 align=4
@@ -5041,25 +4437,13 @@ Class QPainterPath
base size=4 base align=4
QPainterPath (0x429de340) 0
-Class QVector<QPainterPath::Element>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element>::<anonymous union> (0x429de740) 0
-Class QVector<QPainterPath::Element>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element> (0x429de680) 0
Class QPainterPathPrivate
size=8 align=4
base size=8 base align=4
QPainterPathPrivate (0x429de4c0) 0
-Class QTypeInfo<QPainterPath::Element>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPainterPath::Element> (0x429de780) 0 empty
Class QPainterPathStroker
size=4 align=4
@@ -5071,15 +4455,7 @@ Class QTextItem
base size=0 base align=1
QTextItem (0x429de840) 0 empty
-Class QTypeInfo<QTextItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextItem> (0x429de880) 0 empty
-Class QFlags<QPaintEngine::PaintEngineFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::PaintEngineFeature> (0x429de980) 0
Vtable for QPaintEngine
QPaintEngine::_ZTV12QPaintEngine: 24u entries
@@ -5114,10 +4490,6 @@ Class QPaintEngine
QPaintEngine (0x429de8c0) 0
vptr=((& QPaintEngine::_ZTV12QPaintEngine) + 8u)
-Class QFlags<QPaintEngine::DirtyFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::DirtyFlag> (0x429deb00) 0
Class QPaintEngineState
size=4 align=4
@@ -5129,10 +4501,6 @@ Class QItemSelectionRange
base size=8 base align=4
QItemSelectionRange (0x429deb40) 0
-Class QTypeInfo<QItemSelectionRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QItemSelectionRange> (0x429dec40) 0 empty
Vtable for QItemSelectionModel
QItemSelectionModel::_ZTV19QItemSelectionModel: 18u entries
@@ -5163,20 +4531,8 @@ QItemSelectionModel (0x429decc0) 0
QObject (0x429ded00) 0
primary-for QItemSelectionModel (0x429decc0)
-Class QFlags<QItemSelectionModel::SelectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QItemSelectionModel::SelectionFlag> (0x429dee00) 0
-Class QList<QItemSelectionRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::<anonymous union> (0x429def40) 0
-Class QList<QItemSelectionRange>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange> (0x429dee80) 0
Class QItemSelection
size=4 align=4
@@ -5465,10 +4821,6 @@ QAbstractSpinBox (0x42b0b4c0) 0
QPaintDevice (0x42b0b580) 8
vptr=((& QAbstractSpinBox::_ZTV16QAbstractSpinBox) + 252u)
-Class QFlags<QAbstractSpinBox::StepEnabledFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractSpinBox::StepEnabledFlag> (0x42b0b680) 0
Vtable for QAbstractSlider
QAbstractSlider::_ZTV15QAbstractSlider: 64u entries
@@ -5905,10 +5257,6 @@ Class QStyleOptionHeader
QStyleOptionHeader (0x42be0100) 0
QStyleOption (0x42be0140) 0
-Class QFlags<QStyleOptionButton::ButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionButton::ButtonFeature> (0x42be0380) 0
Class QStyleOptionButton
size=64 align=4
@@ -5916,10 +5264,6 @@ Class QStyleOptionButton
QStyleOptionButton (0x42be0280) 0
QStyleOption (0x42be02c0) 0
-Class QFlags<QStyleOptionTab::CornerWidget>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionTab::CornerWidget> (0x42be05c0) 0
Class QStyleOptionTab
size=72 align=4
@@ -5939,10 +5283,6 @@ Class QStyleOptionMenuItem
QStyleOptionMenuItem (0x42be0840) 0
QStyleOption (0x42be0880) 0
-Class QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature> (0x42be0a80) 0
Class QStyleOptionQ3ListViewItem
size=64 align=4
@@ -6000,15 +5340,7 @@ QStyleOptionSpinBox (0x42c71100) 0
QStyleOptionComplex (0x42c71140) 0
QStyleOption (0x42c71180) 0
-Class QList<QStyleOptionQ3ListViewItem>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::<anonymous union> (0x42c71480) 0
-Class QList<QStyleOptionQ3ListViewItem>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem> (0x42c713c0) 0
Class QStyleOptionQ3ListView
size=84 align=4
@@ -6017,10 +5349,6 @@ QStyleOptionQ3ListView (0x42c71280) 0
QStyleOptionComplex (0x42c712c0) 0
QStyleOption (0x42c71300) 0
-Class QFlags<QStyleOptionToolButton::ToolButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionToolButton::ToolButtonFeature> (0x42c71700) 0
Class QStyleOptionToolButton
size=96 align=4
@@ -6208,10 +5536,6 @@ QAbstractItemView (0x42c71d00) 0
QPaintDevice (0x42c71e40) 8
vptr=((& QAbstractItemView::_ZTV17QAbstractItemView) + 392u)
-Class QFlags<QAbstractItemView::EditTrigger>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractItemView::EditTrigger> (0x42c71f80) 0
Vtable for QStringListModel
QStringListModel::_ZTV16QStringListModel: 42u entries
@@ -6394,15 +5718,7 @@ QListView (0x42c71680) 0
QPaintDevice (0x42d31000) 8
vptr=((& QListView::_ZTV9QListView) + 392u)
-Class QVector<QWidgetItemData>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData>::<anonymous union> (0x42d31280) 0
-Class QVector<QWidgetItemData>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData> (0x42d311c0) 0
Vtable for QListWidgetItem
QListWidgetItem::_ZTV15QListWidgetItem: 11u entries
@@ -7319,15 +6635,7 @@ Class QItemEditorCreatorBase
QItemEditorCreatorBase (0x42e2b480) 0 nearly-empty
vptr=((& QItemEditorCreatorBase::_ZTV22QItemEditorCreatorBase) + 8u)
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union> (0x42e2b780) 0
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*> (0x42e2b6c0) 0
Vtable for QItemEditorFactory
QItemEditorFactory::_ZTV18QItemEditorFactory: 6u entries
@@ -7344,25 +6652,9 @@ Class QItemEditorFactory
QItemEditorFactory (0x42e2b600) 0
vptr=((& QItemEditorFactory::_ZTV18QItemEditorFactory) + 8u)
-Class QVector<QVector<QWidgetItemData> >::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> >::<anonymous union> (0x42e2ba00) 0
-Class QVector<QVector<QWidgetItemData> >
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> > (0x42e2b940) 0
-Class QList<QTreeWidgetItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::<anonymous union> (0x42e2bb80) 0
-Class QList<QTreeWidgetItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*> (0x42e2bac0) 0
Vtable for QTreeWidgetItem
QTreeWidgetItem::_ZTV15QTreeWidgetItem: 10u entries
@@ -7589,15 +6881,7 @@ Class QAccessible
base size=0 base align=1
QAccessible (0x42e2bc00) 0 empty
-Class QFlags<QAccessible::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::StateFlag> (0x42f10000) 0
-Class QFlags<QAccessible::RelationFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::RelationFlag> (0x42f10080) 0
Vtable for QAccessibleInterface
QAccessibleInterface::_ZTV20QAccessibleInterface: 19u entries
@@ -8445,15 +7729,7 @@ QActionGroup (0x42faab40) 0
QObject (0x42faab80) 0
primary-for QActionGroup (0x42faab40)
-Class QList<QAction*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QAction*>::<anonymous union> (0x42faad80) 0
-Class QList<QAction*>
- size=4 align=4
- base size=4 base align=4
-QList<QAction*> (0x42faacc0) 0
Vtable for QSound
QSound::_ZTV6QSound: 14u entries
@@ -8594,10 +7870,6 @@ QCommonStyle (0x42faa300) 0
QObject (0x42faa680) 0
primary-for QStyle (0x42faa4c0)
-Class QPointer<QFocusFrame>
- size=4 align=4
- base size=4 base align=4
-QPointer<QFocusFrame> (0x42faafc0) 0
Vtable for QMotifStyle
QMotifStyle::_ZTV11QMotifStyle: 35u entries
@@ -10125,10 +9397,6 @@ QDateEdit (0x4317c1c0) 0
QPaintDevice (0x4317ca80) 8
vptr=((& QDateEdit::_ZTV9QDateEdit) + 260u)
-Class QFlags<QDateTimeEdit::Section>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDateTimeEdit::Section> (0x4317cfc0) 0
Vtable for QLabel
QLabel::_ZTV6QLabel: 63u entries
@@ -10288,10 +9556,6 @@ QDockWidget (0x432271c0) 0
QPaintDevice (0x43227280) 8
vptr=((& QDockWidget::_ZTV11QDockWidget) + 232u)
-Class QFlags<QDockWidget::DockWidgetFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDockWidget::DockWidgetFeature> (0x432273c0) 0
Vtable for QGroupBox
QGroupBox::_ZTV9QGroupBox: 63u entries
@@ -10538,10 +9802,6 @@ QTextEdit (0x43227700) 0
QPaintDevice (0x43227840) 8
vptr=((& QTextEdit::_ZTV9QTextEdit) + 256u)
-Class QFlags<QTextDocument::FindFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextDocument::FindFlag> (0x43227980) 0
Vtable for QProgressBar
QProgressBar::_ZTV12QProgressBar: 64u entries
@@ -12177,15 +11437,7 @@ Class QSqlRecord
base size=4 base align=4
QSqlRecord (0x43428cc0) 0
-Class QList<bool>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<bool>::<anonymous union> (0x43428ec0) 0
-Class QList<bool>
- size=4 align=4
- base size=4 base align=4
-QList<bool> (0x43428e00) 0
Class QSqlIndex
size=16 align=4
@@ -12193,10 +11445,6 @@ Class QSqlIndex
QSqlIndex (0x43428d00) 0
QSqlRecord (0x43428d40) 0
-Class QFlags<QSql::ParamTypeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QSql::ParamTypeFlag> (0x43428f80) 0
Vtable for QSqlResult
QSqlResult::_ZTV10QSqlResult: 29u entries
@@ -12873,29 +12121,7 @@ Q3GVector (0x4351af80) 0
Q3PtrCollection (0x4351afc0) 0
primary-for Q3GVector (0x4351af80)
-Vtable for Q3PtrVector<void>
-Q3PtrVector<void>::_ZTV11Q3PtrVectorIvE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI11Q3PtrVectorIvE)
-8 Q3PtrVector<type>::count [with type = void]
-12 Q3PtrVector<type>::clear [with type = void]
-16 Q3PtrVector<type>::~Q3PtrVector [with type = void]
-20 Q3PtrVector<type>::~Q3PtrVector [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3PtrVector<type>::deleteItem [with type = void]
-32 Q3GVector::compareItems
-36 Q3GVector::read
-40 Q3GVector::write
-Class Q3PtrVector<void>
- size=20 align=4
- base size=20 base align=4
-Q3PtrVector<void> (0x4351a980) 0
- vptr=((& Q3PtrVector<void>::_ZTV11Q3PtrVectorIvE) + 8u)
- Q3GVector (0x4351ab40) 0
- primary-for Q3PtrVector<void> (0x4351a980)
- Q3PtrCollection (0x4351ad80) 0
- primary-for Q3GVector (0x4351ab40)
Vtable for Q3Header
Q3Header::_ZTV8Q3Header: 76u entries
@@ -13052,29 +12278,7 @@ Class Q3GListStdIterator
base size=4 base align=4
Q3GListStdIterator (0x435f25c0) 0
-Vtable for Q3PtrList<void>
-Q3PtrList<void>::_ZTV9Q3PtrListIvE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI9Q3PtrListIvE)
-8 Q3PtrList<type>::count [with type = void]
-12 Q3PtrList<type>::clear [with type = void]
-16 Q3PtrList<type>::~Q3PtrList [with type = void]
-20 Q3PtrList<type>::~Q3PtrList [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3PtrList<type>::deleteItem [with type = void]
-32 Q3GList::compareItems
-36 Q3GList::read
-40 Q3GList::write
-Class Q3PtrList<void>
- size=32 align=4
- base size=32 base align=4
-Q3PtrList<void> (0x435f27c0) 0
- vptr=((& Q3PtrList<void>::_ZTV9Q3PtrListIvE) + 8u)
- Q3GList (0x435f2800) 0
- primary-for Q3PtrList<void> (0x435f27c0)
- Q3PtrCollection (0x435f2840) 0
- primary-for Q3GList (0x435f2800)
Class Q3BaseBucket
size=8 align=4
@@ -13131,28 +12335,7 @@ Class Q3GDictIterator
base size=12 base align=4
Q3GDictIterator (0x435f2e40) 0
-Vtable for Q3IntDict<void>
-Q3IntDict<void>::_ZTV9Q3IntDictIvE: 10u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI9Q3IntDictIvE)
-8 Q3IntDict<type>::count [with type = void]
-12 Q3IntDict<type>::clear [with type = void]
-16 Q3IntDict<type>::~Q3IntDict [with type = void]
-20 Q3IntDict<type>::~Q3IntDict [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3IntDict<type>::deleteItem [with type = void]
-32 Q3GDict::read
-36 Q3GDict::write
-Class Q3IntDict<void>
- size=28 align=4
- base size=28 base align=4
-Q3IntDict<void> (0x435f2f80) 0
- vptr=((& Q3IntDict<void>::_ZTV9Q3IntDictIvE) + 8u)
- Q3GDict (0x435f2fc0) 0
- primary-for Q3IntDict<void> (0x435f2f80)
- Q3PtrCollection (0x435f2100) 0
- primary-for Q3GDict (0x435f2fc0)
Class Q3TableSelection
size=28 align=4
@@ -13263,100 +12446,13 @@ Class Q3Table::TableWidget
base size=12 base align=4
Q3Table::TableWidget (0x436e9480) 0
-Vtable for Q3PtrVector<Q3TableItem>
-Q3PtrVector<Q3TableItem>::_ZTV11Q3PtrVectorI11Q3TableItemE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI11Q3PtrVectorI11Q3TableItemE)
-8 Q3PtrVector<type>::count [with type = Q3TableItem]
-12 Q3PtrVector<type>::clear [with type = Q3TableItem]
-16 Q3PtrVector<type>::~Q3PtrVector [with type = Q3TableItem]
-20 Q3PtrVector<type>::~Q3PtrVector [with type = Q3TableItem]
-24 Q3PtrCollection::newItem
-28 Q3PtrVector<type>::deleteItem [with type = Q3TableItem]
-32 Q3GVector::compareItems
-36 Q3GVector::read
-40 Q3GVector::write
-Class Q3PtrVector<Q3TableItem>
- size=20 align=4
- base size=20 base align=4
-Q3PtrVector<Q3TableItem> (0x436e9540) 0
- vptr=((& Q3PtrVector<Q3TableItem>::_ZTV11Q3PtrVectorI11Q3TableItemE) + 8u)
- Q3GVector (0x436e9580) 0
- primary-for Q3PtrVector<Q3TableItem> (0x436e9540)
- Q3PtrCollection (0x436e95c0) 0
- primary-for Q3GVector (0x436e9580)
-
-Vtable for Q3PtrVector<QWidget>
-Q3PtrVector<QWidget>::_ZTV11Q3PtrVectorI7QWidgetE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI11Q3PtrVectorI7QWidgetE)
-8 Q3PtrVector<type>::count [with type = QWidget]
-12 Q3PtrVector<type>::clear [with type = QWidget]
-16 Q3PtrVector<type>::~Q3PtrVector [with type = QWidget]
-20 Q3PtrVector<type>::~Q3PtrVector [with type = QWidget]
-24 Q3PtrCollection::newItem
-28 Q3PtrVector<type>::deleteItem [with type = QWidget]
-32 Q3GVector::compareItems
-36 Q3GVector::read
-40 Q3GVector::write
-Class Q3PtrVector<QWidget>
- size=20 align=4
- base size=20 base align=4
-Q3PtrVector<QWidget> (0x436e9700) 0
- vptr=((& Q3PtrVector<QWidget>::_ZTV11Q3PtrVectorI7QWidgetE) + 8u)
- Q3GVector (0x436e9740) 0
- primary-for Q3PtrVector<QWidget> (0x436e9700)
- Q3PtrCollection (0x436e9780) 0
- primary-for Q3GVector (0x436e9740)
-
-Vtable for Q3PtrList<Q3TableSelection>
-Q3PtrList<Q3TableSelection>::_ZTV9Q3PtrListI16Q3TableSelectionE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI9Q3PtrListI16Q3TableSelectionE)
-8 Q3PtrList<type>::count [with type = Q3TableSelection]
-12 Q3PtrList<type>::clear [with type = Q3TableSelection]
-16 Q3PtrList<type>::~Q3PtrList [with type = Q3TableSelection]
-20 Q3PtrList<type>::~Q3PtrList [with type = Q3TableSelection]
-24 Q3PtrCollection::newItem
-28 Q3PtrList<type>::deleteItem [with type = Q3TableSelection]
-32 Q3GList::compareItems
-36 Q3GList::read
-40 Q3GList::write
-Class Q3PtrList<Q3TableSelection>
- size=32 align=4
- base size=32 base align=4
-Q3PtrList<Q3TableSelection> (0x436e98c0) 0
- vptr=((& Q3PtrList<Q3TableSelection>::_ZTV9Q3PtrListI16Q3TableSelectionE) + 8u)
- Q3GList (0x436e9900) 0
- primary-for Q3PtrList<Q3TableSelection> (0x436e98c0)
- Q3PtrCollection (0x436e9940) 0
- primary-for Q3GList (0x436e9900)
-
-Vtable for Q3IntDict<int>
-Q3IntDict<int>::_ZTV9Q3IntDictIiE: 10u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI9Q3IntDictIiE)
-8 Q3IntDict<type>::count [with type = int]
-12 Q3IntDict<type>::clear [with type = int]
-16 Q3IntDict<type>::~Q3IntDict [with type = int]
-20 Q3IntDict<type>::~Q3IntDict [with type = int]
-24 Q3PtrCollection::newItem
-28 Q3IntDict<type>::deleteItem [with type = int]
-32 Q3GDict::read
-36 Q3GDict::write
-Class Q3IntDict<int>
- size=28 align=4
- base size=28 base align=4
-Q3IntDict<int> (0x436e9a80) 0
- vptr=((& Q3IntDict<int>::_ZTV9Q3IntDictIiE) + 8u)
- Q3GDict (0x436e9ac0) 0
- primary-for Q3IntDict<int> (0x436e9a80)
- Q3PtrCollection (0x436e9b00) 0
- primary-for Q3GDict (0x436e9ac0)
+
+
+
Vtable for Q3Table
Q3Table::_ZTV7Q3Table: 183u entries
@@ -14080,21 +13176,8 @@ Class Q3SqlPropertyMap
Q3SqlPropertyMap (0x437b1380) 0
vptr=((& Q3SqlPropertyMap::_ZTV16Q3SqlPropertyMap) + 8u)
-Class QLinkedList<Q3SqlFieldInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QLinkedList<Q3SqlFieldInfo>::<anonymous union> (0x437b1700) 0
-Class QLinkedList<Q3SqlFieldInfo>
- size=4 align=4
- base size=4 base align=4
-QLinkedList<Q3SqlFieldInfo> (0x437b1640) 0
-Class Q3ValueList<Q3SqlFieldInfo>
- size=4 align=4
- base size=4 base align=4
-Q3ValueList<Q3SqlFieldInfo> (0x437b1740) 0
- QLinkedList<Q3SqlFieldInfo> (0x437b1780) 0
Class Q3SqlRecordInfo
size=4 align=4
@@ -14103,31 +13186,10 @@ Q3SqlRecordInfo (0x437b1800) 0
Q3ValueList<Q3SqlFieldInfo> (0x437b1840) 0
QLinkedList<Q3SqlFieldInfo> (0x437b1880) 0
-Class QList<Q3SqlFieldInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<Q3SqlFieldInfo>::<anonymous union> (0x437b1a40) 0
-Class QList<Q3SqlFieldInfo>
- size=4 align=4
- base size=4 base align=4
-QList<Q3SqlFieldInfo> (0x437b1980) 0
-Class QLinkedList<Q3SqlFieldInfo>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QLinkedList<Q3SqlFieldInfo>::const_iterator (0x437b1c80) 0
-Class Q3ValueListConstIterator<Q3SqlFieldInfo>
- size=4 align=4
- base size=4 base align=4
-Q3ValueListConstIterator<Q3SqlFieldInfo> (0x437b1cc0) 0
- QLinkedList<Q3SqlFieldInfo>::const_iterator (0x437b1d00) 0
-Class QLinkedList<Q3SqlFieldInfo>::iterator
- size=4 align=4
- base size=4 base align=4
-QLinkedList<Q3SqlFieldInfo>::iterator (0x437b1dc0) 0
Vtable for Q3DataView
Q3DataView::_ZTV10Q3DataView: 69u entries
@@ -14218,15 +13280,7 @@ Class Q3StyleSheetItem
base size=4 base align=4
Q3StyleSheetItem (0x437b1f80) 0
-Class QHash<QString, Q3StyleSheetItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QHash<QString, Q3StyleSheetItem*>::<anonymous union> (0x437b1f00) 0
-Class QHash<QString, Q3StyleSheetItem*>
- size=4 align=4
- base size=4 base align=4
-QHash<QString, Q3StyleSheetItem*> (0x437b13c0) 0
Vtable for Q3StyleSheet
Q3StyleSheet::_ZTV12Q3StyleSheet: 16u entries
@@ -14287,25 +13341,9 @@ Class Q3TextEditOptimPrivate::Selection
base size=8 base align=4
Q3TextEditOptimPrivate::Selection (0x4388f200) 0
-Class QMap<int, QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<int, QString>::<anonymous union> (0x4388f380) 0
-Class QMap<int, QString>
- size=4 align=4
- base size=4 base align=4
-QMap<int, QString> (0x4388f2c0) 0
-Class QMap<int, Q3TextEditOptimPrivate::Tag*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<int, Q3TextEditOptimPrivate::Tag*>::<anonymous union> (0x4388f6c0) 0
-Class QMap<int, Q3TextEditOptimPrivate::Tag*>
- size=4 align=4
- base size=4 base align=4
-QMap<int, Q3TextEditOptimPrivate::Tag*> (0x4388f600) 0
Class Q3TextEditOptimPrivate
size=52 align=4
@@ -14513,10 +13551,6 @@ Q3TextEdit (0x4388fa00) 0
QPaintDevice (0x4388fb80) 8
vptr=((& Q3TextEdit::_ZTV10Q3TextEdit) + 680u)
-Class QFlags<Q3TextEdit::AutoFormattingFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Q3TextEdit::AutoFormattingFlag> (0x4388fd00) 0
Vtable for Q3SyntaxHighlighter
Q3SyntaxHighlighter::_ZTV19Q3SyntaxHighlighter: 5u entries
@@ -15446,28 +14480,7 @@ Class Q3Url
Q3Url (0x43944800) 0
vptr=((& Q3Url::_ZTV5Q3Url) + 8u)
-Vtable for Q3Dict<void>
-Q3Dict<void>::_ZTV6Q3DictIvE: 10u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI6Q3DictIvE)
-8 Q3Dict<type>::count [with type = void]
-12 Q3Dict<type>::clear [with type = void]
-16 Q3Dict<type>::~Q3Dict [with type = void]
-20 Q3Dict<type>::~Q3Dict [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3Dict<type>::deleteItem [with type = void]
-32 Q3GDict::read
-36 Q3GDict::write
-Class Q3Dict<void>
- size=28 align=4
- base size=28 base align=4
-Q3Dict<void> (0x439449c0) 0
- vptr=((& Q3Dict<void>::_ZTV6Q3DictIvE) + 8u)
- Q3GDict (0x43944a00) 0
- primary-for Q3Dict<void> (0x439449c0)
- Q3PtrCollection (0x43944a40) 0
- primary-for Q3GDict (0x43944a00)
Vtable for Q3NetworkProtocolFactoryBase
Q3NetworkProtocolFactoryBase::_ZTV28Q3NetworkProtocolFactoryBase: 5u entries
@@ -15762,29 +14775,7 @@ Q3Accel (0x439f9100) 0
QObject (0x439f9140) 0
primary-for Q3Accel (0x439f9100)
-Vtable for Q3PtrList<char>
-Q3PtrList<char>::_ZTV9Q3PtrListIcE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI9Q3PtrListIcE)
-8 Q3PtrList<type>::count [with type = char]
-12 Q3PtrList<type>::clear [with type = char]
-16 Q3PtrList<type>::~Q3PtrList [with type = char]
-20 Q3PtrList<type>::~Q3PtrList [with type = char]
-24 Q3PtrCollection::newItem
-28 Q3PtrList<type>::deleteItem [with type = char]
-32 Q3GList::compareItems
-36 Q3GList::read
-40 Q3GList::write
-Class Q3PtrList<char>
- size=32 align=4
- base size=32 base align=4
-Q3PtrList<char> (0x439f9240) 0
- vptr=((& Q3PtrList<char>::_ZTV9Q3PtrListIcE) + 8u)
- Q3GList (0x439f9280) 0
- primary-for Q3PtrList<char> (0x439f9240)
- Q3PtrCollection (0x439f92c0) 0
- primary-for Q3GList (0x439f9280)
Vtable for Q3StrList
Q3StrList::_ZTV9Q3StrList: 11u entries
@@ -15812,11 +14803,6 @@ Q3StrList (0x439f9380) 0
Q3PtrCollection (0x439f9440) 0
primary-for Q3GList (0x439f9400)
-Class Q3PtrListStdIterator<char>
- size=4 align=4
- base size=4 base align=4
-Q3PtrListStdIterator<char> (0x439f9640) 0
- Q3GListStdIterator (0x439f9680) 0
Vtable for Q3StrIList
Q3StrIList::_ZTV10Q3StrIList: 11u entries
@@ -16170,29 +15156,7 @@ Class Q3CString
Q3CString (0x43a9f280) 0
QByteArray (0x43a9f2c0) 0
-Vtable for Q3PtrQueue<void>
-Q3PtrQueue<void>::_ZTV10Q3PtrQueueIvE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI10Q3PtrQueueIvE)
-8 Q3PtrQueue<type>::count [with type = void]
-12 Q3PtrQueue<type>::clear [with type = void]
-16 Q3PtrQueue<type>::~Q3PtrQueue [with type = void]
-20 Q3PtrQueue<type>::~Q3PtrQueue [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3PtrQueue<type>::deleteItem [with type = void]
-32 Q3GList::compareItems
-36 Q3GList::read
-40 Q3GList::write
-Class Q3PtrQueue<void>
- size=32 align=4
- base size=32 base align=4
-Q3PtrQueue<void> (0x43a9f6c0) 0
- vptr=((& Q3PtrQueue<void>::_ZTV10Q3PtrQueueIvE) + 8u)
- Q3GList (0x43a9f700) 0
- primary-for Q3PtrQueue<void> (0x43a9f6c0)
- Q3PtrCollection (0x43a9f740) 0
- primary-for Q3GList (0x43a9f700)
Vtable for Q3Signal
Q3Signal::_ZTV8Q3Signal: 14u entries
@@ -16219,75 +15183,11 @@ Q3Signal (0x43a9f880) 0
QObject (0x43a9f8c0) 0
primary-for Q3Signal (0x43a9f880)
-Vtable for Q3AsciiDict<void>
-Q3AsciiDict<void>::_ZTV11Q3AsciiDictIvE: 10u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI11Q3AsciiDictIvE)
-8 Q3AsciiDict<type>::count [with type = void]
-12 Q3AsciiDict<type>::clear [with type = void]
-16 Q3AsciiDict<type>::~Q3AsciiDict [with type = void]
-20 Q3AsciiDict<type>::~Q3AsciiDict [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3AsciiDict<type>::deleteItem [with type = void]
-32 Q3GDict::read
-36 Q3GDict::write
-Class Q3AsciiDict<void>
- size=28 align=4
- base size=28 base align=4
-Q3AsciiDict<void> (0x43a9fac0) 0
- vptr=((& Q3AsciiDict<void>::_ZTV11Q3AsciiDictIvE) + 8u)
- Q3GDict (0x43a9fb00) 0
- primary-for Q3AsciiDict<void> (0x43a9fac0)
- Q3PtrCollection (0x43a9fb40) 0
- primary-for Q3GDict (0x43a9fb00)
-
-Vtable for Q3PtrStack<void>
-Q3PtrStack<void>::_ZTV10Q3PtrStackIvE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI10Q3PtrStackIvE)
-8 Q3PtrStack<type>::count [with type = void]
-12 Q3PtrStack<type>::clear [with type = void]
-16 Q3PtrStack<type>::~Q3PtrStack [with type = void]
-20 Q3PtrStack<type>::~Q3PtrStack [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3PtrStack<type>::deleteItem [with type = void]
-32 Q3GList::compareItems
-36 Q3GList::read
-40 Q3GList::write
-Class Q3PtrStack<void>
- size=32 align=4
- base size=32 base align=4
-Q3PtrStack<void> (0x43a9fd80) 0
- vptr=((& Q3PtrStack<void>::_ZTV10Q3PtrStackIvE) + 8u)
- Q3GList (0x43a9fdc0) 0
- primary-for Q3PtrStack<void> (0x43a9fd80)
- Q3PtrCollection (0x43a9fe00) 0
- primary-for Q3GList (0x43a9fdc0)
-Vtable for Q3AsciiDict<QMetaObject>
-Q3AsciiDict<QMetaObject>::_ZTV11Q3AsciiDictI11QMetaObjectE: 10u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI11Q3AsciiDictI11QMetaObjectE)
-8 Q3AsciiDict<type>::count [with type = QMetaObject]
-12 Q3AsciiDict<type>::clear [with type = QMetaObject]
-16 Q3AsciiDict<type>::~Q3AsciiDict [with type = QMetaObject]
-20 Q3AsciiDict<type>::~Q3AsciiDict [with type = QMetaObject]
-24 Q3PtrCollection::newItem
-28 Q3AsciiDict<type>::deleteItem [with type = QMetaObject]
-32 Q3GDict::read
-36 Q3GDict::write
-Class Q3AsciiDict<QMetaObject>
- size=28 align=4
- base size=28 base align=4
-Q3AsciiDict<QMetaObject> (0x43a9ff00) 0
- vptr=((& Q3AsciiDict<QMetaObject>::_ZTV11Q3AsciiDictI11QMetaObjectE) + 8u)
- Q3GDict (0x43a9ff40) 0
- primary-for Q3AsciiDict<QMetaObject> (0x43a9ff00)
- Q3PtrCollection (0x43a9ff80) 0
- primary-for Q3GDict (0x43a9ff40)
+
Vtable for Q3ObjectDictionary
Q3ObjectDictionary::_ZTV18Q3ObjectDictionary: 10u entries
@@ -16338,91 +15238,13 @@ Class Q3GCacheIterator
base size=4 base align=4
Q3GCacheIterator (0x43b79140) 0
-Vtable for Q3Cache<void>
-Q3Cache<void>::_ZTV7Q3CacheIvE: 8u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI7Q3CacheIvE)
-8 Q3Cache<type>::count [with type = void]
-12 Q3Cache<type>::clear [with type = void]
-16 Q3Cache<type>::~Q3Cache [with type = void]
-20 Q3Cache<type>::~Q3Cache [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3Cache<type>::deleteItem [with type = void]
-Class Q3Cache<void>
- size=32 align=4
- base size=29 base align=4
-Q3Cache<void> (0x43b79280) 0
- vptr=((& Q3Cache<void>::_ZTV7Q3CacheIvE) + 8u)
- Q3GCache (0x43b792c0) 0
- primary-for Q3Cache<void> (0x43b79280)
- Q3PtrCollection (0x43b79300) 0
- primary-for Q3GCache (0x43b792c0)
-
-Vtable for Q3IntCache<void>
-Q3IntCache<void>::_ZTV10Q3IntCacheIvE: 8u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI10Q3IntCacheIvE)
-8 Q3IntCache<type>::count [with type = void]
-12 Q3IntCache<type>::clear [with type = void]
-16 Q3IntCache<type>::~Q3IntCache [with type = void]
-20 Q3IntCache<type>::~Q3IntCache [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3IntCache<type>::deleteItem [with type = void]
-Class Q3IntCache<void>
- size=32 align=4
- base size=29 base align=4
-Q3IntCache<void> (0x43b795c0) 0
- vptr=((& Q3IntCache<void>::_ZTV10Q3IntCacheIvE) + 8u)
- Q3GCache (0x43b79600) 0
- primary-for Q3IntCache<void> (0x43b795c0)
- Q3PtrCollection (0x43b79640) 0
- primary-for Q3GCache (0x43b79600)
-
-Vtable for Q3PtrDict<void>
-Q3PtrDict<void>::_ZTV9Q3PtrDictIvE: 10u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI9Q3PtrDictIvE)
-8 Q3PtrDict<type>::count [with type = void]
-12 Q3PtrDict<type>::clear [with type = void]
-16 Q3PtrDict<type>::~Q3PtrDict [with type = void]
-20 Q3PtrDict<type>::~Q3PtrDict [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3PtrDict<type>::deleteItem [with type = void]
-32 Q3GDict::read
-36 Q3GDict::write
-Class Q3PtrDict<void>
- size=28 align=4
- base size=28 base align=4
-Q3PtrDict<void> (0x43b79880) 0
- vptr=((& Q3PtrDict<void>::_ZTV9Q3PtrDictIvE) + 8u)
- Q3GDict (0x43b798c0) 0
- primary-for Q3PtrDict<void> (0x43b79880)
- Q3PtrCollection (0x43b79900) 0
- primary-for Q3GDict (0x43b798c0)
-
-Vtable for Q3AsciiCache<void>
-Q3AsciiCache<void>::_ZTV12Q3AsciiCacheIvE: 8u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI12Q3AsciiCacheIvE)
-8 Q3AsciiCache<type>::count [with type = void]
-12 Q3AsciiCache<type>::clear [with type = void]
-16 Q3AsciiCache<type>::~Q3AsciiCache [with type = void]
-20 Q3AsciiCache<type>::~Q3AsciiCache [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3AsciiCache<type>::deleteItem [with type = void]
-Class Q3AsciiCache<void>
- size=32 align=4
- base size=29 base align=4
-Q3AsciiCache<void> (0x43b79c40) 0
- vptr=((& Q3AsciiCache<void>::_ZTV12Q3AsciiCacheIvE) + 8u)
- Q3GCache (0x43b79c80) 0
- primary-for Q3AsciiCache<void> (0x43b79c40)
- Q3PtrCollection (0x43b79cc0) 0
- primary-for Q3GCache (0x43b79c80)
+
+
+
Vtable for Q3Semaphore
Q3Semaphore::_ZTV11Q3Semaphore: 4u entries
@@ -16437,29 +15259,7 @@ Class Q3Semaphore
Q3Semaphore (0x43b79e80) 0
vptr=((& Q3Semaphore::_ZTV11Q3Semaphore) + 8u)
-Vtable for Q3PtrVector<char>
-Q3PtrVector<char>::_ZTV11Q3PtrVectorIcE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI11Q3PtrVectorIcE)
-8 Q3PtrVector<type>::count [with type = char]
-12 Q3PtrVector<type>::clear [with type = char]
-16 Q3PtrVector<type>::~Q3PtrVector [with type = char]
-20 Q3PtrVector<type>::~Q3PtrVector [with type = char]
-24 Q3PtrCollection::newItem
-28 Q3PtrVector<type>::deleteItem [with type = char]
-32 Q3GVector::compareItems
-36 Q3GVector::read
-40 Q3GVector::write
-Class Q3PtrVector<char>
- size=20 align=4
- base size=20 base align=4
-Q3PtrVector<char> (0x43b79f80) 0
- vptr=((& Q3PtrVector<char>::_ZTV11Q3PtrVectorIcE) + 8u)
- Q3GVector (0x43b79fc0) 0
- primary-for Q3PtrVector<char> (0x43b79f80)
- Q3PtrCollection (0x43b790c0) 0
- primary-for Q3GVector (0x43b79fc0)
Vtable for Q3StrVec
Q3StrVec::_ZTV8Q3StrVec: 11u entries
@@ -16554,21 +15354,8 @@ Class Q3PaintDeviceMetrics
base size=4 base align=4
Q3PaintDeviceMetrics (0x43c22980) 0
-Class QLinkedList<Q3CanvasItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QLinkedList<Q3CanvasItem*>::<anonymous union> (0x43c22b40) 0
-Class QLinkedList<Q3CanvasItem*>
- size=4 align=4
- base size=4 base align=4
-QLinkedList<Q3CanvasItem*> (0x43c22a80) 0
-Class Q3ValueList<Q3CanvasItem*>
- size=4 align=4
- base size=4 base align=4
-Q3ValueList<Q3CanvasItem*> (0x43c22b80) 0
- QLinkedList<Q3CanvasItem*> (0x43c22bc0) 0
Class Q3CanvasItemList
size=4 align=4
@@ -17905,15 +16692,7 @@ Q3SocketDevice (0x43d87740) 0
QObject (0x43d877c0) 0
primary-for QIODevice (0x43d87780)
-Class QMap<QString, QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QString>::<anonymous union> (0x43d87a00) 0
-Class QMap<QString, QString>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QString> (0x43d87940) 0
Vtable for Q3HttpHeader
Q3HttpHeader::_ZTV12Q3HttpHeader: 8u entries
@@ -19238,15 +18017,7 @@ Q3VBox (0x43f12380) 0
QPaintDevice (0x43f12500) 8
vptr=((& Q3VBox::_ZTV6Q3VBox) + 244u)
-Class QMap<int, QAbstractButton*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<int, QAbstractButton*>::<anonymous union> (0x43f12880) 0
-Class QMap<int, QAbstractButton*>
- size=4 align=4
- base size=4 base align=4
-QMap<int, QAbstractButton*> (0x43f127c0) 0
Vtable for Q3ButtonGroup
Q3ButtonGroup::_ZTV13Q3ButtonGroup: 64u entries
@@ -20173,25 +18944,9 @@ Q3MainWindow (0x43f96ac0) 0
QPaintDevice (0x43f96b80) 8
vptr=((& Q3MainWindow::_ZTV12Q3MainWindow) + 328u)
-Class QList<QRect>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QRect>::<anonymous union> (0x43f96e80) 0
-Class QList<QRect>
- size=4 align=4
- base size=4 base align=4
-QList<QRect> (0x43f96dc0) 0
-Class QList<Q3DockWindow*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<Q3DockWindow*>::<anonymous union> (0x43f96140) 0
-Class QList<Q3DockWindow*>
- size=4 align=4
- base size=4 base align=4
-QList<Q3DockWindow*> (0x43f96f40) 0
Vtable for Q3DockAreaLayout
Q3DockAreaLayout::_ZTV16Q3DockAreaLayout: 48u entries
@@ -20256,10 +19011,6 @@ Q3DockAreaLayout (0x43f96c40) 0
QLayoutItem (0x43f96d00) 8
vptr=((& Q3DockAreaLayout::_ZTV16Q3DockAreaLayout) + 128u)
-Class QPointer<Q3DockArea>
- size=4 align=4
- base size=4 base align=4
-QPointer<Q3DockArea> (0x44071080) 0
Class Q3DockArea::DockWindowData
size=24 align=4
@@ -20344,188 +19095,40 @@ Q3DockArea (0x43f96880) 0
QPaintDevice (0x43f96d40) 8
vptr=((& Q3DockArea::_ZTV10Q3DockArea) + 232u)
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0x440c15c0) 0
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0x440c1c80) 0
-Class QVectorTypedData<QTextLength>
- size=28 align=4
- base size=28 base align=4
-QVectorTypedData<QTextLength> (0x4410de40) 0
-Class QVectorTypedData<QTextLayout::FormatRange>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QTextLayout::FormatRange> (0x4414a280) 0
-Class QVectorTypedData<QAbstractTextDocumentLayout::Selection>
- size=28 align=4
- base size=28 base align=4
-QVectorTypedData<QAbstractTextDocumentLayout::Selection> (0x4414a440) 0
-Class QVectorTypedData<QPoint>
- size=24 align=4
- base size=24 base align=4
-QVectorTypedData<QPoint> (0x4414a940) 0
-Class QVectorTypedData<QPointF>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QPointF> (0x4414ac80) 0
-Class QVectorTypedData<QLineF>
- size=48 align=4
- base size=48 base align=4
-QVectorTypedData<QLineF> (0x44196100) 0
-Class QVectorTypedData<QLine>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QLine> (0x44196240) 0
-Class QVectorTypedData<QRectF>
- size=48 align=4
- base size=48 base align=4
-QVectorTypedData<QRectF> (0x44196380) 0
-Class QVectorTypedData<QRect>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QRect> (0x441964c0) 0
-Class QVectorTypedData<QPainterPath::Element>
- size=36 align=4
- base size=36 base align=4
-QVectorTypedData<QPainterPath::Element> (0x44196880) 0
-Class QList<QTreeWidgetItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::Node (0x4420c2c0) 0
-Class QVectorTypedData<QVector<QWidgetItemData> >
- size=20 align=4
- base size=20 base align=4
-QVectorTypedData<QVector<QWidgetItemData> > (0x4420c400) 0
-Class QList<QAction*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QAction*>::Node (0x4420ca00) 0
-Class QLinkedListNode<Q3SqlFieldInfo>
- size=52 align=4
- base size=52 base align=4
-QLinkedListNode<Q3SqlFieldInfo> (0x44263380) 0
-Class QTypeInfo<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLength> (0x442f4600) 0 empty
-Class QTypeInfo<QTextLayout::FormatRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLayout::FormatRange> (0x442f4800) 0 empty
-Class QTypeInfo<QAbstractTextDocumentLayout::Selection>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAbstractTextDocumentLayout::Selection> (0x442f4a80) 0 empty
-Class QHashNode<QVariant::Type, QItemEditorCreatorBase*>
- size=16 align=4
- base size=16 base align=4
-QHashNode<QVariant::Type, QItemEditorCreatorBase*> (0x4432b440) 0
-Class QTypeInfo<QTreeWidgetItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTreeWidgetItem*> (0x4432b540) 0 empty
-Class QTypeInfo<QAction*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAction*> (0x4432b800) 0 empty
-Class QTypeInfo<Q3TextEditOptimPrivate::Tag*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<Q3TextEditOptimPrivate::Tag*> (0x4432bdc0) 0 empty
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0x44374300) 0
-Class QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union> (0x44374440) 0
-Class QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union> (0x443745c0) 0
-Class QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union> (0x44374780) 0
-Class QList<QItemSelectionRange>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::Node (0x44374940) 0
-Class QTypeInfo<QStyleOptionQ3ListViewItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QStyleOptionQ3ListViewItem> (0x44374b00) 0 empty
-Class QList<QStyleOptionQ3ListViewItem>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::Node (0x44374bc0) 0
-Class QList<QVariant>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::Node (0x44374ec0) 0
-Class QMap<Key, T>::detach_helper() [with Key = int, T = Q3TextEditOptimPrivate::Tag*]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<Key, T>::detach_helper() [with Key = int, T = Q3TextEditOptimPrivate::Tag*]::<anonymous union> (0x443f91c0) 0
-Class QList<QRect>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QRect>::Node (0x443f9300) 0
-Class QTypeInfo<Q3DockWindow*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<Q3DockWindow*> (0x443f94c0) 0 empty
-Class QList<Q3DockWindow*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<Q3DockWindow*>::Node (0x443f9580) 0
-Class QLinkedList<T>::detach_helper() [with T = Q3SqlFieldInfo]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QLinkedList<T>::detach_helper() [with T = Q3SqlFieldInfo]::<anonymous union> (0x443f99c0) 0
-Class QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union> (0x443f9b00) 0
diff --git a/tests/auto/bic/data/Qt3Support.4.0.0.linux-gcc-ppc32.txt b/tests/auto/bic/data/Qt3Support.4.0.0.linux-gcc-ppc32.txt
index 3287958..ca31e2e 100644
--- a/tests/auto/bic/data/Qt3Support.4.0.0.linux-gcc-ppc32.txt
+++ b/tests/auto/bic/data/Qt3Support.4.0.0.linux-gcc-ppc32.txt
@@ -59,145 +59,37 @@ Class QBool
base size=1 base align=1
QBool (0x30b24ee0) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0x30b4f0e0) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0x30b4f188) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0x30b4f230) 0 empty
-Class QTypeInfo<uchar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uchar> (0x30b4f2d8) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0x30b4f380) 0 empty
-Class QTypeInfo<ushort>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ushort> (0x30b4f428) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0x30b4f4d0) 0 empty
-Class QTypeInfo<uint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uint> (0x30b4f578) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0x30b4f620) 0 empty
-Class QTypeInfo<ulong>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ulong> (0x30b4f6c8) 0 empty
-Class QTypeInfo<qint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<qint64> (0x30b4f770) 0 empty
-Class QTypeInfo<quint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<quint64> (0x30b4f818) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0x30b4f8c0) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0x30b4f968) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0x30b4fa10) 0 empty
Class QFlag
size=4 align=4
base size=4 base align=4
QFlag (0x30b4fa80) 0
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0x30b4ff88) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0x313e4000) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0x313e4070) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0x313e40e0) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0x313e4150) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0x313e41c0) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0x313e4230) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0x313e42a0) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0x313e4310) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0x313e4380) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0x313e43f0) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0x313e4460) 0
Class QInternal
size=1 align=1
@@ -215,10 +107,6 @@ Class QGenericReturnArgument
QGenericReturnArgument (0x30187ac0) 0
QGenericArgument (0x313e45b0) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0x313e4770) 0
Class QMetaObject
size=16 align=4
@@ -235,10 +123,6 @@ Class QChar
base size=2 base align=2
QChar (0x313e4888) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0x313e4930) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -271,10 +155,6 @@ Class QByteRef
base size=8 base align=4
QByteRef (0x314fc5e8) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0x314fc930) 0 empty
Class QString::Null
size=1 align=1
@@ -296,10 +176,6 @@ Class QLatin1String
base size=4 base align=4
QLatin1String (0x314fcee0) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0x31634230) 0
Class QCharRef
size=8 align=4
@@ -312,10 +188,6 @@ Class QConstString
QConstString (0x30187cc0) 0
QString (0x31634cb0) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0x31634d90) 0 empty
Class QListData::Data
size=24 align=4
@@ -327,15 +199,7 @@ Class QListData
base size=4 base align=4
QListData (0x31634f88) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0x317234d0) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0x31723428) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -427,10 +291,6 @@ QIODevice (0x30187d00) 0
QObject (0x317239a0) 0
primary-for QIODevice (0x30187d00)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0x31723b98) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -455,10 +315,6 @@ Class QMapData
base size=72 base align=4
QMapData (0x31843070) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0x318436c8) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -483,15 +339,7 @@ Class QTextCodec
QTextCodec (0x31843578) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0x318439a0) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0x318438f8) 0
Class QTextEncoder
size=32 align=4
@@ -503,30 +351,10 @@ Class QTextDecoder
base size=32 base align=4
QTextDecoder (0x31843ab8) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x31843b60) 0
-Class <anonymous struct>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct>::<anonymous union> (0x31843c40) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x31843bd0) 0
-Class <anonymous struct>
- size=12 align=4
- base size=12 base align=4
-<anonymous struct> (0x31843cb0) 0
-Class <anonymous struct>
- size=16 align=8
- base size=16 base align=8
-<anonymous struct> (0x31843d20) 0
Class __gconv_trans_data
size=20 align=4
@@ -548,15 +376,7 @@ Class __gconv_info
base size=8 base align=4
__gconv_info (0x31843e70) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0x31843f50) 0
-Class <anonymous union>
- size=44 align=4
- base size=44 base align=4
-<anonymous union> (0x31843ee0) 0
Class _IO_marker
size=12 align=4
@@ -568,10 +388,6 @@ Class _IO_FILE
base size=152 base align=8
_IO_FILE (0x31843fc0) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0x31843658) 0
Vtable for QTextStream
QTextStream::_ZTV11QTextStream: 4u entries
@@ -586,10 +402,6 @@ Class QTextStream
QTextStream (0x318437a8) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0x3194d1f8) 0
Class QTextStreamManipulator
size=24 align=4
@@ -680,10 +492,6 @@ QFile (0x30187f00) 0
QObject (0x3194dc40) 0
primary-for QIODevice (0x30187f40)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0x3194ddc8) 0
Vtable for QTemporaryFile
QTemporaryFile::_ZTV14QTemporaryFile: 31u entries
@@ -736,25 +544,13 @@ Class QRegExp
base size=4 base align=4
QRegExp (0x3194df18) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0x3194dea8) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0x31a20038) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0x31a201f8) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0x31a20150) 0
Class QStringList
size=4 align=4
@@ -762,15 +558,7 @@ Class QStringList
QStringList (0x319ff040) 0
QList<QString> (0x31a202a0) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0x31a206c8) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0x31a20738) 0
Vtable for QProcess
QProcess::_ZTV8QProcess: 31u entries
@@ -864,145 +652,45 @@ Class QFileInfo
base size=4 base align=4
QFileInfo (0x31a20c78) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0x31a20d20) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0x31a20d90) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0x31a20f18) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0x31a20e70) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0x31a20fc0) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0x31af1070) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0x31af1118) 0
Class QUrl
size=4 align=4
base size=4 base align=4
QUrl (0x31af11c0) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0x31af1348) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0x31af13b8) 0 empty
Class QMetaType
size=1 align=1
base size=0 base align=1
QMetaType (0x31af1428) 0 empty
-Class QMetaTypeId<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QString> (0x31af1508) 0 empty
-Class QMetaTypeId<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<int> (0x31af1578) 0 empty
-Class QMetaTypeId<uint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<uint> (0x31af15e8) 0 empty
-Class QMetaTypeId<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<bool> (0x31af1658) 0 empty
-Class QMetaTypeId<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<double> (0x31af16c8) 0 empty
-Class QMetaTypeId<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QByteArray> (0x31af1738) 0 empty
-Class QMetaTypeId<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QChar> (0x31af17a8) 0 empty
-Class QMetaTypeId<void>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<void> (0x31af1818) 0 empty
-Class QMetaTypeId<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<long int> (0x31af1888) 0 empty
-Class QMetaTypeId<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<short int> (0x31af18f8) 0 empty
-Class QMetaTypeId<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<char> (0x31af1968) 0 empty
-Class QMetaTypeId<ulong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<ulong> (0x31af19d8) 0 empty
-Class QMetaTypeId<ushort>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<ushort> (0x31af1a48) 0 empty
-Class QMetaTypeId<uchar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<uchar> (0x31af1ab8) 0 empty
-Class QMetaTypeId<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<float> (0x31af1b28) 0 empty
-Class QMetaTypeId<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QObject*> (0x31af1b98) 0 empty
-Class QMetaTypeId<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QWidget*> (0x31af1c08) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -1029,35 +717,15 @@ Class QVariant
base size=16 base align=8
QVariant (0x31af1c40) 0
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0x31bd3118) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0x31bd3070) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0x31bd32d8) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0x31bd3230) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0x31bd3498) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0x31bd35b0) 0 empty
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1142,10 +810,6 @@ Class QFileEngineHandler
QFileEngineHandler (0x31bd3b98) 0 nearly-empty
vptr=((& QFileEngineHandler::_ZTV18QFileEngineHandler) + 8u)
-Class QFlags<QFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileEngine::FileFlag> (0x31bd3d20) 0
Class QHashData::Node
size=8 align=4
@@ -1162,90 +826,54 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0x31bd3ea8) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0x31bd3f18) 0 empty
Class QPoint
size=8 align=4
base size=8 base align=4
QPoint (0x31c7f498) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0x31c7f888) 0 empty
Class QPointF
size=16 align=8
base size=16 base align=8
QPointF (0x31c7fa10) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0x31c7fe00) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0x31c7ffc0) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0x31c7f4d0) 0 empty
Class QLineF
size=32 align=8
base size=32 base align=8
QLineF (0x31c7f770) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0x31c7fab8) 0 empty
Class QSize
size=8 align=4
base size=8 base align=4
QSize (0x31d8f000) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0x31d8f380) 0 empty
Class QSizeF
size=16 align=8
base size=16 base align=8
QSizeF (0x31d8f5e8) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0x31d8f968) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0x31d8fc78) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0x31d8fe70) 0 empty
Class QRectF
size=32 align=8
base size=32 base align=8
QRectF (0x31d8f188) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0x31d8f690) 0 empty
Class QLinkedListData
size=20 align=4
@@ -1262,10 +890,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0x31e8e850) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0x31e8e968) 0 empty
Class QVectorData
size=16 align=4
@@ -1287,40 +911,24 @@ Class QLocale
base size=4 base align=4
QLocale (0x31e8ef18) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0x31e8ef88) 0 empty
Class QDate
size=4 align=4
base size=4 base align=4
QDate (0x31ff1150) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0x31ff1310) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0x31ff1380) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0x31ff1508) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0x31ff1578) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0x31ff16c8) 0 empty
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -1480,10 +1088,6 @@ QEventLoop (0x319ff580) 0
QObject (0x31ff15b0) 0
primary-for QEventLoop (0x319ff580)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0x320a9000) 0
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -1575,20 +1179,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0x320a9850) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0x320a99d8) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0x320a9a80) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0x320a9b98) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -1808,10 +1404,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0x32150000) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0x321500e0) 0 empty
Vtable for QSocketNotifier
QSocketNotifier::_ZTV15QSocketNotifier: 14u entries
@@ -1906,20 +1498,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0x32150508) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0x321505b0) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0x32150620) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0x321506c8) 0 empty
Class QMetaProperty
size=20 align=4
@@ -1931,10 +1515,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0x32150770) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0x32150818) 0 empty
Vtable for QPluginLoader
QPluginLoader::_ZTV13QPluginLoader: 14u entries
@@ -2057,25 +1637,9 @@ Class QWriteLocker
base size=4 base align=4
QWriteLocker (0x32150e00) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x321fc1f8) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x321fc268) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x321fc2d8) 0
-Class QColor::<anonymous union>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union> (0x321fc188) 0
Class QColor
size=16 align=4
@@ -2092,55 +1656,23 @@ Class QPen
base size=4 base align=4
QPen (0x321fc738) 0
-Class QTypeInfo<QPen>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPen> (0x321fc7a8) 0 empty
Class QBrush
size=4 align=4
base size=4 base align=4
QBrush (0x321fc818) 0
-Class QTypeInfo<QBrush>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBrush> (0x321fc8c0) 0 empty
Class QBrushData
size=24 align=4
base size=24 base align=4
QBrushData (0x321fc930) 0
-Class QVector<QGradientStop>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QGradientStop>::<anonymous union> (0x321fcbd0) 0
-Class QVector<QGradientStop>
- size=4 align=4
- base size=4 base align=4
-QVector<QGradientStop> (0x321fcaf0) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=32 align=8
- base size=32 base align=8
-QGradient::<anonymous union>::<anonymous struct> (0x321fcce8) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=40 align=8
- base size=40 base align=8
-QGradient::<anonymous union>::<anonymous struct> (0x321fcd58) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=24 align=8
- base size=24 base align=8
-QGradient::<anonymous union>::<anonymous struct> (0x321fcdc8) 0
-Class QGradient::<anonymous union>
- size=40 align=8
- base size=40 base align=8
-QGradient::<anonymous union> (0x321fcc78) 0
Class QGradient
size=64 align=8
@@ -2170,25 +1702,13 @@ Class QTextLength
base size=16 base align=8
QTextLength (0x321fcea8) 0
-Class QSharedDataPointer<QTextFormatPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextFormatPrivate> (0x321fcf50) 0
Class QTextFormat
size=8 align=4
base size=8 base align=4
QTextFormat (0x321fc658) 0
-Class QVector<QTextLength>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength>::<anonymous union> (0x322a0310) 0
-Class QVector<QTextLength>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength> (0x322a0230) 0
Class QTextCharFormat
size=8 align=4
@@ -2328,10 +1848,6 @@ QTextFrame (0x319ffdc0) 0
QObject (0x322a0930) 0
primary-for QTextObject (0x319ffe00)
-Class QTypeInfo<QTextFrame::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFrame::iterator> (0x322a0dc8) 0 empty
Class QTextBlock::iterator
size=16 align=4
@@ -2343,25 +1859,13 @@ Class QTextBlock
base size=8 base align=4
QTextBlock (0x322a0e38) 0
-Class QTypeInfo<QTextBlock>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock> (0x323760a8) 0 empty
-Class QTypeInfo<QTextBlock::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock::iterator> (0x32376150) 0 empty
Class QTextFragment
size=12 align=4
base size=12 base align=4
QTextFragment (0x323761c0) 0
-Class QTypeInfo<QTextFragment>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFragment> (0x32376380) 0 empty
Class QFontMetrics
size=4 align=4
@@ -2426,10 +1930,6 @@ Class QTextOption
base size=28 base align=8
QTextOption (0x323767e0) 0
-Class QFlags<QTextOption::Flag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextOption::Flag> (0x323768c0) 0
Class QTextTableCell
size=8 align=4
@@ -2480,10 +1980,6 @@ Class QKeySequence
base size=4 base align=4
QKeySequence (0x32376f18) 0
-Class QTypeInfo<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QKeySequence> (0x32376af0) 0 empty
Vtable for QMimeSource
QMimeSource::_ZTV11QMimeSource: 7u entries
@@ -2766,15 +2262,7 @@ Class QInputMethodEvent::Attribute
base size=32 base align=8
QInputMethodEvent::Attribute (0x3241ace8) 0
-Class QList<QInputMethodEvent::Attribute>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute>::<anonymous union> (0x324930a8) 0
-Class QList<QInputMethodEvent::Attribute>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute> (0x32493000) 0
Vtable for QInputMethodEvent
QInputMethodEvent::_ZTV17QInputMethodEvent: 4u entries
@@ -3058,15 +2546,7 @@ Class QTextLayout
base size=4 base align=4
QTextLayout (0x324ea230) 0
-Class QVector<QTextLayout::FormatRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange>::<anonymous union> (0x324ea460) 0
-Class QVector<QTextLayout::FormatRange>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange> (0x324ea380) 0
Class QTextLine
size=8 align=4
@@ -3115,10 +2595,6 @@ Class QTextDocumentFragment
base size=4 base align=4
QTextDocumentFragment (0x324ea888) 0
-Class QSharedDataPointer<QTextCursorPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextCursorPrivate> (0x324ea9a0) 0
Class QTextCursor
size=4 align=4
@@ -3141,15 +2617,7 @@ Class QAbstractTextDocumentLayout::Selection
base size=12 base align=4
QAbstractTextDocumentLayout::Selection (0x324eaf18) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union> (0x324eafc0) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection> (0x324ea118) 0
Class QAbstractTextDocumentLayout::PaintContext
size=56 align=8
@@ -3976,10 +3444,6 @@ QFileDialog (0x327250c0) 0
QPaintDevice (0x326cab28) 8
vptr=((& QFileDialog::_ZTV11QFileDialog) + 244u)
-Class QFlags<QFileDialog::Option>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileDialog::Option> (0x326cad58) 0
Vtable for QAbstractPrintDialog
QAbstractPrintDialog::_ZTV20QAbstractPrintDialog: 67u entries
@@ -4499,10 +3963,6 @@ QImage (0x32725680) 0
QPaintDevice (0x32778888) 0
primary-for QImage (0x32725680)
-Class QTypeInfo<QImage>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QImage> (0x32778b28) 0 empty
Vtable for QPixmap
QPixmap::_ZTV7QPixmap: 7u entries
@@ -4727,10 +4187,6 @@ Class QIcon
base size=4 base align=4
QIcon (0x328517e0) 0
-Class QTypeInfo<QIcon>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QIcon> (0x32851850) 0 empty
Vtable for QIconEngine
QIconEngine::_ZTV11QIconEngine: 9u entries
@@ -4882,15 +4338,7 @@ Class QPrintEngine
QPrintEngine (0x328d6188) 0 nearly-empty
vptr=((& QPrintEngine::_ZTV12QPrintEngine) + 8u)
-Class QVector<QPoint>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint>::<anonymous union> (0x328d6460) 0
-Class QVector<QPoint>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint> (0x328d6380) 0
Class QPolygon
size=4 align=4
@@ -4898,15 +4346,7 @@ Class QPolygon
QPolygon (0x32725b00) 0
QVector<QPoint> (0x328d64d0) 0
-Class QVector<QPointF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF>::<anonymous union> (0x328d6888) 0
-Class QVector<QPointF>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF> (0x328d67a8) 0
Class QPolygonF
size=4 align=4
@@ -4919,55 +4359,19 @@ Class QMatrix
base size=48 base align=8
QMatrix (0x328d6b98) 0
-Class QTypeInfo<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMatrix> (0x328d6c08) 0 empty
Class QPainter
size=4 align=4
base size=4 base align=4
QPainter (0x328d6cb0) 0
-Class QVector<QLineF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF>::<anonymous union> (0x329b71f8) 0
-Class QVector<QLineF>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF> (0x329b7118) 0
-Class QVector<QLine>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine>::<anonymous union> (0x329b73b8) 0
-Class QVector<QLine>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine> (0x329b72d8) 0
-Class QVector<QRectF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF>::<anonymous union> (0x329b7578) 0
-Class QVector<QRectF>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF> (0x329b7498) 0
-Class QVector<QRect>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect>::<anonymous union> (0x329b7738) 0
-Class QVector<QRect>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect> (0x329b7658) 0
Vtable for QStyle
QStyle::_ZTV6QStyle: 35u entries
@@ -5015,15 +4419,7 @@ QStyle (0x32725b80) 0
QObject (0x329b77a8) 0
primary-for QStyle (0x32725b80)
-Class QFlags<QStyle::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::StateFlag> (0x329b7968) 0
-Class QFlags<QStyle::SubControl>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::SubControl> (0x329b79d8) 0
Class QStylePainter
size=12 align=4
@@ -5041,25 +4437,13 @@ Class QPainterPath
base size=4 base align=4
QPainterPath (0x329b7c40) 0
-Class QVector<QPainterPath::Element>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element>::<anonymous union> (0x32ac0038) 0
-Class QVector<QPainterPath::Element>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element> (0x329b78c0) 0
Class QPainterPathPrivate
size=8 align=4
base size=8 base align=4
QPainterPathPrivate (0x329b7e38) 0
-Class QTypeInfo<QPainterPath::Element>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPainterPath::Element> (0x32ac00e0) 0 empty
Class QPainterPathStroker
size=4 align=4
@@ -5071,15 +4455,7 @@ Class QTextItem
base size=0 base align=1
QTextItem (0x32ac0310) 0 empty
-Class QTypeInfo<QTextItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextItem> (0x32ac03b8) 0 empty
-Class QFlags<QPaintEngine::PaintEngineFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::PaintEngineFeature> (0x32ac0540) 0
Vtable for QPaintEngine
QPaintEngine::_ZTV12QPaintEngine: 24u entries
@@ -5114,10 +4490,6 @@ Class QPaintEngine
QPaintEngine (0x32ac0428) 0
vptr=((& QPaintEngine::_ZTV12QPaintEngine) + 8u)
-Class QFlags<QPaintEngine::DirtyFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::DirtyFlag> (0x32ac0738) 0
Class QPaintEngineState
size=4 align=4
@@ -5129,10 +4501,6 @@ Class QItemSelectionRange
base size=8 base align=4
QItemSelectionRange (0x32ac0770) 0
-Class QTypeInfo<QItemSelectionRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QItemSelectionRange> (0x32ac0a10) 0 empty
Vtable for QItemSelectionModel
QItemSelectionModel::_ZTV19QItemSelectionModel: 18u entries
@@ -5163,20 +4531,8 @@ QItemSelectionModel (0x32725c40) 0
QObject (0x32ac0ab8) 0
primary-for QItemSelectionModel (0x32725c40)
-Class QFlags<QItemSelectionModel::SelectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QItemSelectionModel::SelectionFlag> (0x32ac0c40) 0
-Class QList<QItemSelectionRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::<anonymous union> (0x32ac0d90) 0
-Class QList<QItemSelectionRange>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange> (0x32ac0ce8) 0
Class QItemSelection
size=4 align=4
@@ -5465,10 +4821,6 @@ QAbstractSpinBox (0x32725f40) 0
QPaintDevice (0x32b9f428) 8
vptr=((& QAbstractSpinBox::_ZTV16QAbstractSpinBox) + 252u)
-Class QFlags<QAbstractSpinBox::StepEnabledFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractSpinBox::StepEnabledFlag> (0x32b9f658) 0
Vtable for QAbstractSlider
QAbstractSlider::_ZTV15QAbstractSlider: 64u entries
@@ -5905,10 +5257,6 @@ Class QStyleOptionHeader
QStyleOptionHeader (0x32be23c0) 0
QStyleOption (0x32c6e3b8) 0
-Class QFlags<QStyleOptionButton::ButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionButton::ButtonFeature> (0x32c6e690) 0
Class QStyleOptionButton
size=64 align=4
@@ -5916,10 +5264,6 @@ Class QStyleOptionButton
QStyleOptionButton (0x32be2440) 0
QStyleOption (0x32c6e540) 0
-Class QFlags<QStyleOptionTab::CornerWidget>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionTab::CornerWidget> (0x32c6e8f8) 0
Class QStyleOptionTab
size=72 align=4
@@ -5939,10 +5283,6 @@ Class QStyleOptionMenuItem
QStyleOptionMenuItem (0x32be2540) 0
QStyleOption (0x32c6ebd0) 0
-Class QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature> (0x32c6eea8) 0
Class QStyleOptionQ3ListViewItem
size=64 align=4
@@ -6000,15 +5340,7 @@ QStyleOptionSpinBox (0x32be27c0) 0
QStyleOptionComplex (0x32be2800) 0
QStyleOption (0x32cea888) 0
-Class QList<QStyleOptionQ3ListViewItem>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::<anonymous union> (0x32ceac08) 0
-Class QList<QStyleOptionQ3ListViewItem>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem> (0x32ceab60) 0
Class QStyleOptionQ3ListView
size=84 align=4
@@ -6017,10 +5349,6 @@ QStyleOptionQ3ListView (0x32be2840) 0
QStyleOptionComplex (0x32be2880) 0
QStyleOption (0x32ceaa10) 0
-Class QFlags<QStyleOptionToolButton::ToolButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionToolButton::ToolButtonFeature> (0x32ceaee0) 0
Class QStyleOptionToolButton
size=96 align=4
@@ -6208,10 +5536,6 @@ QAbstractItemView (0x32be2b00) 0
QPaintDevice (0x32d5c310) 8
vptr=((& QAbstractItemView::_ZTV17QAbstractItemView) + 392u)
-Class QFlags<QAbstractItemView::EditTrigger>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractItemView::EditTrigger> (0x32d5c508) 0
Vtable for QStringListModel
QStringListModel::_ZTV16QStringListModel: 42u entries
@@ -6394,15 +5718,7 @@ QListView (0x32be2d00) 0
QPaintDevice (0x32d5c690) 8
vptr=((& QListView::_ZTV9QListView) + 392u)
-Class QVector<QWidgetItemData>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData>::<anonymous union> (0x32d5ca10) 0
-Class QVector<QWidgetItemData>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData> (0x32d5c930) 0
Vtable for QListWidgetItem
QListWidgetItem::_ZTV15QListWidgetItem: 11u entries
@@ -7319,15 +6635,7 @@ Class QItemEditorCreatorBase
QItemEditorCreatorBase (0x32e5ecb0) 0 nearly-empty
vptr=((& QItemEditorCreatorBase::_ZTV22QItemEditorCreatorBase) + 8u)
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union> (0x32e5e2d8) 0
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*> (0x32e5ef88) 0
Vtable for QItemEditorFactory
QItemEditorFactory::_ZTV18QItemEditorFactory: 6u entries
@@ -7344,25 +6652,9 @@ Class QItemEditorFactory
QItemEditorFactory (0x32e5eea8) 0
vptr=((& QItemEditorFactory::_ZTV18QItemEditorFactory) + 8u)
-Class QVector<QVector<QWidgetItemData> >::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> >::<anonymous union> (0x32f371f8) 0
-Class QVector<QVector<QWidgetItemData> >
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> > (0x32f37118) 0
-Class QList<QTreeWidgetItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::<anonymous union> (0x32f373b8) 0
-Class QList<QTreeWidgetItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*> (0x32f37310) 0
Vtable for QTreeWidgetItem
QTreeWidgetItem::_ZTV15QTreeWidgetItem: 10u entries
@@ -7589,15 +6881,7 @@ Class QAccessible
base size=0 base align=1
QAccessible (0x32f37ce8) 0 empty
-Class QFlags<QAccessible::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::StateFlag> (0x32f37dc8) 0
-Class QFlags<QAccessible::RelationFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::RelationFlag> (0x32f37e38) 0
Vtable for QAccessibleInterface
QAccessibleInterface::_ZTV20QAccessibleInterface: 19u entries
@@ -8445,15 +7729,7 @@ QActionGroup (0x33092300) 0
QObject (0x331070e0) 0
primary-for QActionGroup (0x33092300)
-Class QList<QAction*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QAction*>::<anonymous union> (0x33107310) 0
-Class QList<QAction*>
- size=4 align=4
- base size=4 base align=4
-QList<QAction*> (0x33107268) 0
Vtable for QSound
QSound::_ZTV6QSound: 14u entries
@@ -8594,10 +7870,6 @@ QCommonStyle (0x33092400) 0
QObject (0x33107770) 0
primary-for QStyle (0x33092440)
-Class QPointer<QFocusFrame>
- size=4 align=4
- base size=4 base align=4
-QPointer<QFocusFrame> (0x33107968) 0
Vtable for QMotifStyle
QMotifStyle::_ZTV11QMotifStyle: 35u entries
@@ -10125,10 +9397,6 @@ QDateEdit (0x3328a3c0) 0
QPaintDevice (0x33285a10) 8
vptr=((& QDateEdit::_ZTV9QDateEdit) + 260u)
-Class QFlags<QDateTimeEdit::Section>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDateTimeEdit::Section> (0x33285bd0) 0
Vtable for QLabel
QLabel::_ZTV6QLabel: 63u entries
@@ -10288,10 +9556,6 @@ QDockWidget (0x3328a580) 0
QPaintDevice (0x33285e00) 8
vptr=((& QDockWidget::_ZTV11QDockWidget) + 232u)
-Class QFlags<QDockWidget::DockWidgetFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDockWidget::DockWidgetFeature> (0x33285380) 0
Vtable for QGroupBox
QGroupBox::_ZTV9QGroupBox: 63u entries
@@ -10538,10 +9802,6 @@ QTextEdit (0x3328a700) 0
QPaintDevice (0x33331230) 8
vptr=((& QTextEdit::_ZTV9QTextEdit) + 256u)
-Class QFlags<QTextDocument::FindFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextDocument::FindFlag> (0x33331460) 0
Vtable for QProgressBar
QProgressBar::_ZTV12QProgressBar: 64u entries
@@ -12177,15 +11437,7 @@ Class QSqlRecord
base size=4 base align=4
QSqlRecord (0x334fbea8) 0
-Class QList<bool>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<bool>::<anonymous union> (0x334fb380) 0
-Class QList<bool>
- size=4 align=4
- base size=4 base align=4
-QList<bool> (0x334fbfc0) 0
Class QSqlIndex
size=16 align=4
@@ -12193,10 +11445,6 @@ Class QSqlIndex
QSqlIndex (0x33497740) 0
QSqlRecord (0x334fbee0) 0
-Class QFlags<QSql::ParamTypeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QSql::ParamTypeFlag> (0x334fbd20) 0
Vtable for QSqlResult
QSqlResult::_ZTV10QSqlResult: 29u entries
@@ -12873,29 +12121,7 @@ Q3GVector (0x33497e00) 0
Q3PtrCollection (0x336aa150) 0
primary-for Q3GVector (0x33497e00)
-Vtable for Q3PtrVector<void>
-Q3PtrVector<void>::_ZTV11Q3PtrVectorIvE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI11Q3PtrVectorIvE)
-8 Q3PtrVector<type>::count [with type = void]
-12 Q3PtrVector<type>::clear [with type = void]
-16 Q3PtrVector<type>::~Q3PtrVector [with type = void]
-20 Q3PtrVector<type>::~Q3PtrVector [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3PtrVector<type>::deleteItem [with type = void]
-32 Q3GVector::compareItems
-36 Q3GVector::read
-40 Q3GVector::write
-Class Q3PtrVector<void>
- size=20 align=4
- base size=20 base align=4
-Q3PtrVector<void> (0x33497ec0) 0
- vptr=((& Q3PtrVector<void>::_ZTV11Q3PtrVectorIvE) + 8u)
- Q3GVector (0x33497f00) 0
- primary-for Q3PtrVector<void> (0x33497ec0)
- Q3PtrCollection (0x336aa348) 0
- primary-for Q3GVector (0x33497f00)
Vtable for Q3Header
Q3Header::_ZTV8Q3Header: 76u entries
@@ -13052,29 +12278,7 @@ Class Q3GListStdIterator
base size=4 base align=4
Q3GListStdIterator (0x336aac40) 0
-Vtable for Q3PtrList<void>
-Q3PtrList<void>::_ZTV9Q3PtrListIvE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI9Q3PtrListIvE)
-8 Q3PtrList<type>::count [with type = void]
-12 Q3PtrList<type>::clear [with type = void]
-16 Q3PtrList<type>::~Q3PtrList [with type = void]
-20 Q3PtrList<type>::~Q3PtrList [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3PtrList<type>::deleteItem [with type = void]
-32 Q3GList::compareItems
-36 Q3GList::read
-40 Q3GList::write
-Class Q3PtrList<void>
- size=32 align=4
- base size=32 base align=4
-Q3PtrList<void> (0x3370e140) 0
- vptr=((& Q3PtrList<void>::_ZTV9Q3PtrListIvE) + 8u)
- Q3GList (0x3370e180) 0
- primary-for Q3PtrList<void> (0x3370e140)
- Q3PtrCollection (0x336aae38) 0
- primary-for Q3GList (0x3370e180)
Class Q3BaseBucket
size=8 align=4
@@ -13131,28 +12335,7 @@ Class Q3GDictIterator
base size=12 base align=4
Q3GDictIterator (0x3378e1f8) 0
-Vtable for Q3IntDict<void>
-Q3IntDict<void>::_ZTV9Q3IntDictIvE: 10u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI9Q3IntDictIvE)
-8 Q3IntDict<type>::count [with type = void]
-12 Q3IntDict<type>::clear [with type = void]
-16 Q3IntDict<type>::~Q3IntDict [with type = void]
-20 Q3IntDict<type>::~Q3IntDict [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3IntDict<type>::deleteItem [with type = void]
-32 Q3GDict::read
-36 Q3GDict::write
-Class Q3IntDict<void>
- size=28 align=4
- base size=28 base align=4
-Q3IntDict<void> (0x3370e400) 0
- vptr=((& Q3IntDict<void>::_ZTV9Q3IntDictIvE) + 8u)
- Q3GDict (0x3370e440) 0
- primary-for Q3IntDict<void> (0x3370e400)
- Q3PtrCollection (0x3378e3f0) 0
- primary-for Q3GDict (0x3370e440)
Class Q3TableSelection
size=28 align=4
@@ -13263,100 +12446,13 @@ Class Q3Table::TableWidget
base size=12 base align=4
Q3Table::TableWidget (0x3378ea10) 0
-Vtable for Q3PtrVector<Q3TableItem>
-Q3PtrVector<Q3TableItem>::_ZTV11Q3PtrVectorI11Q3TableItemE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI11Q3PtrVectorI11Q3TableItemE)
-8 Q3PtrVector<type>::count [with type = Q3TableItem]
-12 Q3PtrVector<type>::clear [with type = Q3TableItem]
-16 Q3PtrVector<type>::~Q3PtrVector [with type = Q3TableItem]
-20 Q3PtrVector<type>::~Q3PtrVector [with type = Q3TableItem]
-24 Q3PtrCollection::newItem
-28 Q3PtrVector<type>::deleteItem [with type = Q3TableItem]
-32 Q3GVector::compareItems
-36 Q3GVector::read
-40 Q3GVector::write
-Class Q3PtrVector<Q3TableItem>
- size=20 align=4
- base size=20 base align=4
-Q3PtrVector<Q3TableItem> (0x3370e680) 0
- vptr=((& Q3PtrVector<Q3TableItem>::_ZTV11Q3PtrVectorI11Q3TableItemE) + 8u)
- Q3GVector (0x3370e6c0) 0
- primary-for Q3PtrVector<Q3TableItem> (0x3370e680)
- Q3PtrCollection (0x3378eb28) 0
- primary-for Q3GVector (0x3370e6c0)
-
-Vtable for Q3PtrVector<QWidget>
-Q3PtrVector<QWidget>::_ZTV11Q3PtrVectorI7QWidgetE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI11Q3PtrVectorI7QWidgetE)
-8 Q3PtrVector<type>::count [with type = QWidget]
-12 Q3PtrVector<type>::clear [with type = QWidget]
-16 Q3PtrVector<type>::~Q3PtrVector [with type = QWidget]
-20 Q3PtrVector<type>::~Q3PtrVector [with type = QWidget]
-24 Q3PtrCollection::newItem
-28 Q3PtrVector<type>::deleteItem [with type = QWidget]
-32 Q3GVector::compareItems
-36 Q3GVector::read
-40 Q3GVector::write
-Class Q3PtrVector<QWidget>
- size=20 align=4
- base size=20 base align=4
-Q3PtrVector<QWidget> (0x3370e700) 0
- vptr=((& Q3PtrVector<QWidget>::_ZTV11Q3PtrVectorI7QWidgetE) + 8u)
- Q3GVector (0x3370e740) 0
- primary-for Q3PtrVector<QWidget> (0x3370e700)
- Q3PtrCollection (0x3378ece8) 0
- primary-for Q3GVector (0x3370e740)
-
-Vtable for Q3PtrList<Q3TableSelection>
-Q3PtrList<Q3TableSelection>::_ZTV9Q3PtrListI16Q3TableSelectionE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI9Q3PtrListI16Q3TableSelectionE)
-8 Q3PtrList<type>::count [with type = Q3TableSelection]
-12 Q3PtrList<type>::clear [with type = Q3TableSelection]
-16 Q3PtrList<type>::~Q3PtrList [with type = Q3TableSelection]
-20 Q3PtrList<type>::~Q3PtrList [with type = Q3TableSelection]
-24 Q3PtrCollection::newItem
-28 Q3PtrList<type>::deleteItem [with type = Q3TableSelection]
-32 Q3GList::compareItems
-36 Q3GList::read
-40 Q3GList::write
-Class Q3PtrList<Q3TableSelection>
- size=32 align=4
- base size=32 base align=4
-Q3PtrList<Q3TableSelection> (0x3370e780) 0
- vptr=((& Q3PtrList<Q3TableSelection>::_ZTV9Q3PtrListI16Q3TableSelectionE) + 8u)
- Q3GList (0x3370e7c0) 0
- primary-for Q3PtrList<Q3TableSelection> (0x3370e780)
- Q3PtrCollection (0x3378eea8) 0
- primary-for Q3GList (0x3370e7c0)
-
-Vtable for Q3IntDict<int>
-Q3IntDict<int>::_ZTV9Q3IntDictIiE: 10u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI9Q3IntDictIiE)
-8 Q3IntDict<type>::count [with type = int]
-12 Q3IntDict<type>::clear [with type = int]
-16 Q3IntDict<type>::~Q3IntDict [with type = int]
-20 Q3IntDict<type>::~Q3IntDict [with type = int]
-24 Q3PtrCollection::newItem
-28 Q3IntDict<type>::deleteItem [with type = int]
-32 Q3GDict::read
-36 Q3GDict::write
-Class Q3IntDict<int>
- size=28 align=4
- base size=28 base align=4
-Q3IntDict<int> (0x3370e800) 0
- vptr=((& Q3IntDict<int>::_ZTV9Q3IntDictIiE) + 8u)
- Q3GDict (0x3370e840) 0
- primary-for Q3IntDict<int> (0x3370e800)
- Q3PtrCollection (0x3378e6c8) 0
- primary-for Q3GDict (0x3370e840)
+
+
+
Vtable for Q3Table
Q3Table::_ZTV7Q3Table: 183u entries
@@ -14080,21 +13176,8 @@ Class Q3SqlPropertyMap
Q3SqlPropertyMap (0x33841d20) 0
vptr=((& Q3SqlPropertyMap::_ZTV16Q3SqlPropertyMap) + 8u)
-Class QLinkedList<Q3SqlFieldInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QLinkedList<Q3SqlFieldInfo>::<anonymous union> (0x338f9000) 0
-Class QLinkedList<Q3SqlFieldInfo>
- size=4 align=4
- base size=4 base align=4
-QLinkedList<Q3SqlFieldInfo> (0x338416c8) 0
-Class Q3ValueList<Q3SqlFieldInfo>
- size=4 align=4
- base size=4 base align=4
-Q3ValueList<Q3SqlFieldInfo> (0x3370ecc0) 0
- QLinkedList<Q3SqlFieldInfo> (0x338f9038) 0
Class Q3SqlRecordInfo
size=4 align=4
@@ -14103,31 +13186,10 @@ Q3SqlRecordInfo (0x3370ed40) 0
Q3ValueList<Q3SqlFieldInfo> (0x3370ed80) 0
QLinkedList<Q3SqlFieldInfo> (0x338f9150) 0
-Class QList<Q3SqlFieldInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<Q3SqlFieldInfo>::<anonymous union> (0x338f9310) 0
-Class QList<Q3SqlFieldInfo>
- size=4 align=4
- base size=4 base align=4
-QList<Q3SqlFieldInfo> (0x338f9268) 0
-Class QLinkedList<Q3SqlFieldInfo>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QLinkedList<Q3SqlFieldInfo>::const_iterator (0x338f9620) 0
-Class Q3ValueListConstIterator<Q3SqlFieldInfo>
- size=4 align=4
- base size=4 base align=4
-Q3ValueListConstIterator<Q3SqlFieldInfo> (0x3370edc0) 0
- QLinkedList<Q3SqlFieldInfo>::const_iterator (0x338f9658) 0
-Class QLinkedList<Q3SqlFieldInfo>::iterator
- size=4 align=4
- base size=4 base align=4
-QLinkedList<Q3SqlFieldInfo>::iterator (0x338f9700) 0
Vtable for Q3DataView
Q3DataView::_ZTV10Q3DataView: 69u entries
@@ -14218,15 +13280,7 @@ Class Q3StyleSheetItem
base size=4 base align=4
Q3StyleSheetItem (0x338f9ab8) 0
-Class QHash<QString, Q3StyleSheetItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QHash<QString, Q3StyleSheetItem*>::<anonymous union> (0x338f9cb0) 0
-Class QHash<QString, Q3StyleSheetItem*>
- size=4 align=4
- base size=4 base align=4
-QHash<QString, Q3StyleSheetItem*> (0x338f9bd0) 0
Vtable for Q3StyleSheet
Q3StyleSheet::_ZTV12Q3StyleSheet: 16u entries
@@ -14287,25 +13341,9 @@ Class Q3TextEditOptimPrivate::Selection
base size=8 base align=4
Q3TextEditOptimPrivate::Selection (0x338f9690) 0
-Class QMap<int, QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<int, QString>::<anonymous union> (0x33994038) 0
-Class QMap<int, QString>
- size=4 align=4
- base size=4 base align=4
-QMap<int, QString> (0x338f9d90) 0
-Class QMap<int, Q3TextEditOptimPrivate::Tag*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<int, Q3TextEditOptimPrivate::Tag*>::<anonymous union> (0x339942d8) 0
-Class QMap<int, Q3TextEditOptimPrivate::Tag*>
- size=4 align=4
- base size=4 base align=4
-QMap<int, Q3TextEditOptimPrivate::Tag*> (0x33994230) 0
Class Q3TextEditOptimPrivate
size=52 align=4
@@ -14513,10 +13551,6 @@ Q3TextEdit (0x339c0000) 0
QPaintDevice (0x339945e8) 8
vptr=((& Q3TextEdit::_ZTV10Q3TextEdit) + 680u)
-Class QFlags<Q3TextEdit::AutoFormattingFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Q3TextEdit::AutoFormattingFlag> (0x33994818) 0
Vtable for Q3SyntaxHighlighter
Q3SyntaxHighlighter::_ZTV19Q3SyntaxHighlighter: 5u entries
@@ -15446,28 +14480,7 @@ Class Q3Url
Q3Url (0x33a8b1c0) 0
vptr=((& Q3Url::_ZTV5Q3Url) + 8u)
-Vtable for Q3Dict<void>
-Q3Dict<void>::_ZTV6Q3DictIvE: 10u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI6Q3DictIvE)
-8 Q3Dict<type>::count [with type = void]
-12 Q3Dict<type>::clear [with type = void]
-16 Q3Dict<type>::~Q3Dict [with type = void]
-20 Q3Dict<type>::~Q3Dict [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3Dict<type>::deleteItem [with type = void]
-32 Q3GDict::read
-36 Q3GDict::write
-Class Q3Dict<void>
- size=28 align=4
- base size=28 base align=4
-Q3Dict<void> (0x339c08c0) 0
- vptr=((& Q3Dict<void>::_ZTV6Q3DictIvE) + 8u)
- Q3GDict (0x339c0900) 0
- primary-for Q3Dict<void> (0x339c08c0)
- Q3PtrCollection (0x33a8b3f0) 0
- primary-for Q3GDict (0x339c0900)
Vtable for Q3NetworkProtocolFactoryBase
Q3NetworkProtocolFactoryBase::_ZTV28Q3NetworkProtocolFactoryBase: 5u entries
@@ -15762,29 +14775,7 @@ Q3Accel (0x339c0b80) 0
QObject (0x33a8bb60) 0
primary-for Q3Accel (0x339c0b80)
-Vtable for Q3PtrList<char>
-Q3PtrList<char>::_ZTV9Q3PtrListIcE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI9Q3PtrListIcE)
-8 Q3PtrList<type>::count [with type = char]
-12 Q3PtrList<type>::clear [with type = char]
-16 Q3PtrList<type>::~Q3PtrList [with type = char]
-20 Q3PtrList<type>::~Q3PtrList [with type = char]
-24 Q3PtrCollection::newItem
-28 Q3PtrList<type>::deleteItem [with type = char]
-32 Q3GList::compareItems
-36 Q3GList::read
-40 Q3GList::write
-Class Q3PtrList<char>
- size=32 align=4
- base size=32 base align=4
-Q3PtrList<char> (0x339c0bc0) 0
- vptr=((& Q3PtrList<char>::_ZTV9Q3PtrListIcE) + 8u)
- Q3GList (0x339c0c00) 0
- primary-for Q3PtrList<char> (0x339c0bc0)
- Q3PtrCollection (0x33b27118) 0
- primary-for Q3GList (0x339c0c00)
Vtable for Q3StrList
Q3StrList::_ZTV9Q3StrList: 11u entries
@@ -15812,11 +14803,6 @@ Q3StrList (0x339c0c40) 0
Q3PtrCollection (0x33b27268) 0
primary-for Q3GList (0x339c0cc0)
-Class Q3PtrListStdIterator<char>
- size=4 align=4
- base size=4 base align=4
-Q3PtrListStdIterator<char> (0x339c0d00) 0
- Q3GListStdIterator (0x33b275e8) 0
Vtable for Q3StrIList
Q3StrIList::_ZTV10Q3StrIList: 11u entries
@@ -16170,29 +15156,7 @@ Class Q3CString
Q3CString (0x33b931c0) 0
QByteArray (0x33b879a0) 0
-Vtable for Q3PtrQueue<void>
-Q3PtrQueue<void>::_ZTV10Q3PtrQueueIvE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI10Q3PtrQueueIvE)
-8 Q3PtrQueue<type>::count [with type = void]
-12 Q3PtrQueue<type>::clear [with type = void]
-16 Q3PtrQueue<type>::~Q3PtrQueue [with type = void]
-20 Q3PtrQueue<type>::~Q3PtrQueue [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3PtrQueue<type>::deleteItem [with type = void]
-32 Q3GList::compareItems
-36 Q3GList::read
-40 Q3GList::write
-Class Q3PtrQueue<void>
- size=32 align=4
- base size=32 base align=4
-Q3PtrQueue<void> (0x33b93280) 0
- vptr=((& Q3PtrQueue<void>::_ZTV10Q3PtrQueueIvE) + 8u)
- Q3GList (0x33b932c0) 0
- primary-for Q3PtrQueue<void> (0x33b93280)
- Q3PtrCollection (0x33c17348) 0
- primary-for Q3GList (0x33b932c0)
Vtable for Q3Signal
Q3Signal::_ZTV8Q3Signal: 14u entries
@@ -16219,75 +15183,11 @@ Q3Signal (0x33b93300) 0
QObject (0x33c17540) 0
primary-for Q3Signal (0x33b93300)
-Vtable for Q3AsciiDict<void>
-Q3AsciiDict<void>::_ZTV11Q3AsciiDictIvE: 10u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI11Q3AsciiDictIvE)
-8 Q3AsciiDict<type>::count [with type = void]
-12 Q3AsciiDict<type>::clear [with type = void]
-16 Q3AsciiDict<type>::~Q3AsciiDict [with type = void]
-20 Q3AsciiDict<type>::~Q3AsciiDict [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3AsciiDict<type>::deleteItem [with type = void]
-32 Q3GDict::read
-36 Q3GDict::write
-Class Q3AsciiDict<void>
- size=28 align=4
- base size=28 base align=4
-Q3AsciiDict<void> (0x33b933c0) 0
- vptr=((& Q3AsciiDict<void>::_ZTV11Q3AsciiDictIvE) + 8u)
- Q3GDict (0x33b93400) 0
- primary-for Q3AsciiDict<void> (0x33b933c0)
- Q3PtrCollection (0x33c177e0) 0
- primary-for Q3GDict (0x33b93400)
-
-Vtable for Q3PtrStack<void>
-Q3PtrStack<void>::_ZTV10Q3PtrStackIvE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI10Q3PtrStackIvE)
-8 Q3PtrStack<type>::count [with type = void]
-12 Q3PtrStack<type>::clear [with type = void]
-16 Q3PtrStack<type>::~Q3PtrStack [with type = void]
-20 Q3PtrStack<type>::~Q3PtrStack [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3PtrStack<type>::deleteItem [with type = void]
-32 Q3GList::compareItems
-36 Q3GList::read
-40 Q3GList::write
-Class Q3PtrStack<void>
- size=32 align=4
- base size=32 base align=4
-Q3PtrStack<void> (0x33b93500) 0
- vptr=((& Q3PtrStack<void>::_ZTV10Q3PtrStackIvE) + 8u)
- Q3GList (0x33b93540) 0
- primary-for Q3PtrStack<void> (0x33b93500)
- Q3PtrCollection (0x33c17ab8) 0
- primary-for Q3GList (0x33b93540)
-Vtable for Q3AsciiDict<QMetaObject>
-Q3AsciiDict<QMetaObject>::_ZTV11Q3AsciiDictI11QMetaObjectE: 10u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI11Q3AsciiDictI11QMetaObjectE)
-8 Q3AsciiDict<type>::count [with type = QMetaObject]
-12 Q3AsciiDict<type>::clear [with type = QMetaObject]
-16 Q3AsciiDict<type>::~Q3AsciiDict [with type = QMetaObject]
-20 Q3AsciiDict<type>::~Q3AsciiDict [with type = QMetaObject]
-24 Q3PtrCollection::newItem
-28 Q3AsciiDict<type>::deleteItem [with type = QMetaObject]
-32 Q3GDict::read
-36 Q3GDict::write
-Class Q3AsciiDict<QMetaObject>
- size=28 align=4
- base size=28 base align=4
-Q3AsciiDict<QMetaObject> (0x33b93580) 0
- vptr=((& Q3AsciiDict<QMetaObject>::_ZTV11Q3AsciiDictI11QMetaObjectE) + 8u)
- Q3GDict (0x33b935c0) 0
- primary-for Q3AsciiDict<QMetaObject> (0x33b93580)
- Q3PtrCollection (0x33c17c40) 0
- primary-for Q3GDict (0x33b935c0)
+
Vtable for Q3ObjectDictionary
Q3ObjectDictionary::_ZTV18Q3ObjectDictionary: 10u entries
@@ -16338,91 +15238,13 @@ Class Q3GCacheIterator
base size=4 base align=4
Q3GCacheIterator (0x33c17888) 0
-Vtable for Q3Cache<void>
-Q3Cache<void>::_ZTV7Q3CacheIvE: 8u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI7Q3CacheIvE)
-8 Q3Cache<type>::count [with type = void]
-12 Q3Cache<type>::clear [with type = void]
-16 Q3Cache<type>::~Q3Cache [with type = void]
-20 Q3Cache<type>::~Q3Cache [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3Cache<type>::deleteItem [with type = void]
-Class Q3Cache<void>
- size=32 align=4
- base size=29 base align=4
-Q3Cache<void> (0x33b937c0) 0
- vptr=((& Q3Cache<void>::_ZTV7Q3CacheIvE) + 8u)
- Q3GCache (0x33b93800) 0
- primary-for Q3Cache<void> (0x33b937c0)
- Q3PtrCollection (0x33c9a038) 0
- primary-for Q3GCache (0x33b93800)
-
-Vtable for Q3IntCache<void>
-Q3IntCache<void>::_ZTV10Q3IntCacheIvE: 8u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI10Q3IntCacheIvE)
-8 Q3IntCache<type>::count [with type = void]
-12 Q3IntCache<type>::clear [with type = void]
-16 Q3IntCache<type>::~Q3IntCache [with type = void]
-20 Q3IntCache<type>::~Q3IntCache [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3IntCache<type>::deleteItem [with type = void]
-Class Q3IntCache<void>
- size=32 align=4
- base size=29 base align=4
-Q3IntCache<void> (0x33b93940) 0
- vptr=((& Q3IntCache<void>::_ZTV10Q3IntCacheIvE) + 8u)
- Q3GCache (0x33b93980) 0
- primary-for Q3IntCache<void> (0x33b93940)
- Q3PtrCollection (0x33c9a348) 0
- primary-for Q3GCache (0x33b93980)
-
-Vtable for Q3PtrDict<void>
-Q3PtrDict<void>::_ZTV9Q3PtrDictIvE: 10u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI9Q3PtrDictIvE)
-8 Q3PtrDict<type>::count [with type = void]
-12 Q3PtrDict<type>::clear [with type = void]
-16 Q3PtrDict<type>::~Q3PtrDict [with type = void]
-20 Q3PtrDict<type>::~Q3PtrDict [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3PtrDict<type>::deleteItem [with type = void]
-32 Q3GDict::read
-36 Q3GDict::write
-Class Q3PtrDict<void>
- size=28 align=4
- base size=28 base align=4
-Q3PtrDict<void> (0x33b93a80) 0
- vptr=((& Q3PtrDict<void>::_ZTV9Q3PtrDictIvE) + 8u)
- Q3GDict (0x33b93ac0) 0
- primary-for Q3PtrDict<void> (0x33b93a80)
- Q3PtrCollection (0x33c9a5e8) 0
- primary-for Q3GDict (0x33b93ac0)
-
-Vtable for Q3AsciiCache<void>
-Q3AsciiCache<void>::_ZTV12Q3AsciiCacheIvE: 8u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI12Q3AsciiCacheIvE)
-8 Q3AsciiCache<type>::count [with type = void]
-12 Q3AsciiCache<type>::clear [with type = void]
-16 Q3AsciiCache<type>::~Q3AsciiCache [with type = void]
-20 Q3AsciiCache<type>::~Q3AsciiCache [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3AsciiCache<type>::deleteItem [with type = void]
-Class Q3AsciiCache<void>
- size=32 align=4
- base size=29 base align=4
-Q3AsciiCache<void> (0x33b93c00) 0
- vptr=((& Q3AsciiCache<void>::_ZTV12Q3AsciiCacheIvE) + 8u)
- Q3GCache (0x33b93c40) 0
- primary-for Q3AsciiCache<void> (0x33b93c00)
- Q3PtrCollection (0x33c9a9d8) 0
- primary-for Q3GCache (0x33b93c40)
+
+
+
Vtable for Q3Semaphore
Q3Semaphore::_ZTV11Q3Semaphore: 4u entries
@@ -16437,29 +15259,7 @@ Class Q3Semaphore
Q3Semaphore (0x33c9ac08) 0
vptr=((& Q3Semaphore::_ZTV11Q3Semaphore) + 8u)
-Vtable for Q3PtrVector<char>
-Q3PtrVector<char>::_ZTV11Q3PtrVectorIcE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI11Q3PtrVectorIcE)
-8 Q3PtrVector<type>::count [with type = char]
-12 Q3PtrVector<type>::clear [with type = char]
-16 Q3PtrVector<type>::~Q3PtrVector [with type = char]
-20 Q3PtrVector<type>::~Q3PtrVector [with type = char]
-24 Q3PtrCollection::newItem
-28 Q3PtrVector<type>::deleteItem [with type = char]
-32 Q3GVector::compareItems
-36 Q3GVector::read
-40 Q3GVector::write
-Class Q3PtrVector<char>
- size=20 align=4
- base size=20 base align=4
-Q3PtrVector<char> (0x33b93d00) 0
- vptr=((& Q3PtrVector<char>::_ZTV11Q3PtrVectorIcE) + 8u)
- Q3GVector (0x33b93d40) 0
- primary-for Q3PtrVector<char> (0x33b93d00)
- Q3PtrCollection (0x33c9adc8) 0
- primary-for Q3GVector (0x33b93d40)
Vtable for Q3StrVec
Q3StrVec::_ZTV8Q3StrVec: 11u entries
@@ -16554,21 +15354,8 @@ Class Q3PaintDeviceMetrics
base size=4 base align=4
Q3PaintDeviceMetrics (0x33d33a80) 0
-Class QLinkedList<Q3CanvasItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QLinkedList<Q3CanvasItem*>::<anonymous union> (0x33d33cb0) 0
-Class QLinkedList<Q3CanvasItem*>
- size=4 align=4
- base size=4 base align=4
-QLinkedList<Q3CanvasItem*> (0x33d33bd0) 0
-Class Q3ValueList<Q3CanvasItem*>
- size=4 align=4
- base size=4 base align=4
-Q3ValueList<Q3CanvasItem*> (0x33d5e080) 0
- QLinkedList<Q3CanvasItem*> (0x33d33ce8) 0
Class Q3CanvasItemList
size=4 align=4
@@ -17905,15 +16692,7 @@ Q3SocketDevice (0x33d5ecc0) 0
QObject (0x33e45e70) 0
primary-for QIODevice (0x33d5ed00)
-Class QMap<QString, QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QString>::<anonymous union> (0x33e45700) 0
-Class QMap<QString, QString>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QString> (0x33e451c0) 0
Vtable for Q3HttpHeader
Q3HttpHeader::_ZTV12Q3HttpHeader: 8u entries
@@ -19238,15 +18017,7 @@ Q3VBox (0x33fac8c0) 0
QPaintDevice (0x33ff7cb0) 8
vptr=((& Q3VBox::_ZTV6Q3VBox) + 244u)
-Class QMap<int, QAbstractButton*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<int, QAbstractButton*>::<anonymous union> (0x33ff7118) 0
-Class QMap<int, QAbstractButton*>
- size=4 align=4
- base size=4 base align=4
-QMap<int, QAbstractButton*> (0x33ff7f50) 0
Vtable for Q3ButtonGroup
Q3ButtonGroup::_ZTV13Q3ButtonGroup: 64u entries
@@ -20173,25 +18944,9 @@ Q3MainWindow (0x340e23c0) 0
QPaintDevice (0x34096f88) 8
vptr=((& Q3MainWindow::_ZTV12Q3MainWindow) + 328u)
-Class QList<QRect>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QRect>::<anonymous union> (0x34140348) 0
-Class QList<QRect>
- size=4 align=4
- base size=4 base align=4
-QList<QRect> (0x341402a0) 0
-Class QList<Q3DockWindow*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<Q3DockWindow*>::<anonymous union> (0x341404d0) 0
-Class QList<Q3DockWindow*>
- size=4 align=4
- base size=4 base align=4
-QList<Q3DockWindow*> (0x34140428) 0
Vtable for Q3DockAreaLayout
Q3DockAreaLayout::_ZTV16Q3DockAreaLayout: 48u entries
@@ -20256,10 +19011,6 @@ Q3DockAreaLayout (0x340e2440) 0
QLayoutItem (0x341401f8) 8
vptr=((& Q3DockAreaLayout::_ZTV16Q3DockAreaLayout) + 128u)
-Class QPointer<Q3DockArea>
- size=4 align=4
- base size=4 base align=4
-QPointer<Q3DockArea> (0x34140a80) 0
Class Q3DockArea::DockWindowData
size=24 align=4
@@ -20344,188 +19095,40 @@ Q3DockArea (0x340e2500) 0
QPaintDevice (0x34140968) 8
vptr=((& Q3DockArea::_ZTV10Q3DockArea) + 232u)
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0x341f4af0) 0
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0x34211930) 0
-Class QVectorTypedData<QTextLength>
- size=32 align=8
- base size=32 base align=8
-QVectorTypedData<QTextLength> (0x3425ebd0) 0
-Class QVectorTypedData<QTextLayout::FormatRange>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QTextLayout::FormatRange> (0x3427b380) 0
-Class QVectorTypedData<QAbstractTextDocumentLayout::Selection>
- size=28 align=4
- base size=28 base align=4
-QVectorTypedData<QAbstractTextDocumentLayout::Selection> (0x3427b620) 0
-Class QVectorTypedData<QPoint>
- size=24 align=4
- base size=24 base align=4
-QVectorTypedData<QPoint> (0x342980a8) 0
-Class QVectorTypedData<QPointF>
- size=32 align=8
- base size=32 base align=8
-QVectorTypedData<QPointF> (0x342986c8) 0
-Class QVectorTypedData<QLineF>
- size=48 align=8
- base size=48 base align=8
-QVectorTypedData<QLineF> (0x34298f18) 0
-Class QVectorTypedData<QLine>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QLine> (0x342c80a8) 0
-Class QVectorTypedData<QRectF>
- size=48 align=8
- base size=48 base align=8
-QVectorTypedData<QRectF> (0x342c8230) 0
-Class QVectorTypedData<QRect>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QRect> (0x342c83b8) 0
-Class QVectorTypedData<QPainterPath::Element>
- size=40 align=8
- base size=40 base align=8
-QVectorTypedData<QPainterPath::Element> (0x342c8b28) 0
-Class QList<QTreeWidgetItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::Node (0x3434b268) 0
-Class QVectorTypedData<QVector<QWidgetItemData> >
- size=20 align=4
- base size=20 base align=4
-QVectorTypedData<QVector<QWidgetItemData> > (0x3434b460) 0
-Class QList<QAction*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QAction*>::Node (0x3436d118) 0
-Class QLinkedListNode<Q3SqlFieldInfo>
- size=56 align=8
- base size=56 base align=8
-QLinkedListNode<Q3SqlFieldInfo> (0x3438b7a8) 0
-Class QTypeInfo<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLength> (0x34418968) 0 empty
-Class QTypeInfo<QTextLayout::FormatRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLayout::FormatRange> (0x34418c78) 0 empty
-Class QTypeInfo<QAbstractTextDocumentLayout::Selection>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAbstractTextDocumentLayout::Selection> (0x34437070) 0 empty
-Class QHashNode<QVariant::Type, QItemEditorCreatorBase*>
- size=16 align=4
- base size=16 base align=4
-QHashNode<QVariant::Type, QItemEditorCreatorBase*> (0x3445d150) 0
-Class QTypeInfo<QTreeWidgetItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTreeWidgetItem*> (0x3445d2d8) 0 empty
-Class QTypeInfo<QAction*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAction*> (0x3445d7a8) 0 empty
-Class QTypeInfo<Q3TextEditOptimPrivate::Tag*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<Q3TextEditOptimPrivate::Tag*> (0x34484070) 0 empty
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0x34484b60) 0
-Class QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union> (0x34484d58) 0
-Class QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union> (0x344c0230) 0
-Class QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union> (0x344c0850) 0
-Class QList<QItemSelectionRange>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::Node (0x344c0e70) 0
-Class QTypeInfo<QStyleOptionQ3ListViewItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QStyleOptionQ3ListViewItem> (0x344fe038) 0 empty
-Class QList<QStyleOptionQ3ListViewItem>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::Node (0x344fe0e0) 0
-Class QList<QVariant>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::Node (0x344fe5b0) 0
-Class QMap<Key, T>::detach_helper() [with Key = int, T = Q3TextEditOptimPrivate::Tag*]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<Key, T>::detach_helper() [with Key = int, T = Q3TextEditOptimPrivate::Tag*]::<anonymous union> (0x344feee0) 0
-Class QList<QRect>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QRect>::Node (0x345270a8) 0
-Class QTypeInfo<Q3DockWindow*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<Q3DockWindow*> (0x34527348) 0 empty
-Class QList<Q3DockWindow*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<Q3DockWindow*>::Node (0x345273f0) 0
-Class QLinkedList<T>::detach_helper() [with T = Q3SqlFieldInfo]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QLinkedList<T>::detach_helper() [with T = Q3SqlFieldInfo]::<anonymous union> (0x34527a48) 0
-Class QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union> (0x34527c78) 0
diff --git a/tests/auto/bic/data/Qt3Support.4.0.0.macx-gcc-ppc32.txt b/tests/auto/bic/data/Qt3Support.4.0.0.macx-gcc-ppc32.txt
index fa74eec..b8255a1 100644
--- a/tests/auto/bic/data/Qt3Support.4.0.0.macx-gcc-ppc32.txt
+++ b/tests/auto/bic/data/Qt3Support.4.0.0.macx-gcc-ppc32.txt
@@ -59,75 +59,19 @@ Class QBool
base size=4 base align=4
QBool (0x83e7c0) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0x83eb00) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0x83ebc0) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0x83ec80) 0 empty
-Class QTypeInfo<uchar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uchar> (0x83ed40) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0x83ee00) 0 empty
-Class QTypeInfo<ushort>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ushort> (0x83eec0) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0x83ef80) 0 empty
-Class QTypeInfo<uint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uint> (0x83e240) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0x16c8040) 0 empty
-Class QTypeInfo<ulong>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ulong> (0x16c8100) 0 empty
-Class QTypeInfo<qint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<qint64> (0x16c81c0) 0 empty
-Class QTypeInfo<quint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<quint64> (0x16c8280) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0x16c8340) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0x16c8400) 0 empty
Class QFlag
size=4 align=4
@@ -144,10 +88,6 @@ Class QChar
base size=2 base align=2
QChar (0x16c8700) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0x16c8800) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -160,10 +100,6 @@ Class QAtomic
QAtomic (0x16c8bc0) 0
QBasicAtomic (0x16c8c00) 0
-Class <anonymous union>
- size=128 align=8
- base size=128 base align=8
-<anonymous union> (0x16c8e80) 0
Class __darwin_pthread_handler_rec
size=12 align=4
@@ -245,70 +181,18 @@ Class QByteRef
base size=8 base align=4
QByteRef (0x1776b00) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0x1776ec0) 0 empty
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0x186d380) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0x186d400) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0x186d480) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0x186d500) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0x186d580) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0x186d600) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0x186d680) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0x186d700) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0x186d780) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0x186d800) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0x186d880) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0x186d900) 0
Class QInternal
size=1 align=1
@@ -335,10 +219,6 @@ Class QLatin1String
base size=4 base align=4
QLatin1String (0x1a26040) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0x1a26480) 0
Class QCharRef
size=8 align=4
@@ -351,10 +231,6 @@ Class QConstString
QConstString (0x1b47080) 0
QString (0x1b470c0) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0x1b471c0) 0 empty
Class QListData::Data
size=24 align=4
@@ -366,10 +242,6 @@ Class QListData
base size=4 base align=4
QListData (0x1b47400) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0x1b47a00) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -394,15 +266,7 @@ Class QTextCodec
QTextCodec (0x1b47880) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0x1b47d40) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0x1b47c80) 0
Class QTextEncoder
size=32 align=4
@@ -425,25 +289,13 @@ Class QGenericReturnArgument
QGenericReturnArgument (0x1b47f80) 0
QGenericArgument (0x1b47fc0) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0x1c9f1c0) 0
Class QMetaObject
size=16 align=4
base size=16 base align=4
QMetaObject (0x1c9f140) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0x1c9f440) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0x1c9f380) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -535,10 +387,6 @@ QIODevice (0x1c9fa80) 0
QObject (0x1c9fac0) 0
primary-for QIODevice (0x1c9fa80)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0x1c9fd00) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -558,25 +406,13 @@ Class QRegExp
base size=4 base align=4
QRegExp (0x1d842c0) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0x1d844c0) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0x1d84540) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0x1d84740) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0x1d84680) 0
Class QStringList
size=4 align=4
@@ -584,15 +420,7 @@ Class QStringList
QStringList (0x1d84800) 0
QList<QString> (0x1d84840) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0x1d84d00) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0x1d84d80) 0
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -748,10 +576,6 @@ Class QTextStream
QTextStream (0x1f1b5c0) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0x1f1b880) 0
Class QTextStreamManipulator
size=24 align=4
@@ -842,50 +666,22 @@ QFile (0x1fae440) 0
QObject (0x1fae4c0) 0
primary-for QIODevice (0x1fae480)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0x1fae680) 0
Class QFileInfo
size=4 align=4
base size=4 base align=4
QFileInfo (0x1fae6c0) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0x1fae780) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0x1fae800) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0x1fae9c0) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0x1fae900) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0x1faea80) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0x1faebc0) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0x1faec80) 0
Vtable for QFileEngine
QFileEngine::_ZTV11QFileEngine: 35u entries
@@ -945,10 +741,6 @@ Class QFileEngineHandler
QFileEngineHandler (0x1faeec0) 0 nearly-empty
vptr=((& QFileEngineHandler::_ZTV18QFileEngineHandler) + 8u)
-Class QFlags<QFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileEngine::FileFlag> (0x1faefc0) 0
Vtable for QProcess
QProcess::_ZTV8QProcess: 31u entries
@@ -999,90 +791,22 @@ Class QMetaType
base size=0 base align=1
QMetaType (0x210c1c0) 0 empty
-Class QMetaTypeId<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QString> (0x210c2c0) 0 empty
-Class QMetaTypeId<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<int> (0x210c340) 0 empty
-Class QMetaTypeId<uint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<uint> (0x210c3c0) 0 empty
-Class QMetaTypeId<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<bool> (0x210c440) 0 empty
-Class QMetaTypeId<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<double> (0x210c4c0) 0 empty
-Class QMetaTypeId<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QByteArray> (0x210c540) 0 empty
-Class QMetaTypeId<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QChar> (0x210c5c0) 0 empty
-Class QMetaTypeId<void>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<void> (0x210c640) 0 empty
-Class QMetaTypeId<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<long int> (0x210c6c0) 0 empty
-Class QMetaTypeId<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<short int> (0x210c740) 0 empty
-Class QMetaTypeId<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<char> (0x210c7c0) 0 empty
-Class QMetaTypeId<ulong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<ulong> (0x210c840) 0 empty
-Class QMetaTypeId<ushort>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<ushort> (0x210c8c0) 0 empty
-Class QMetaTypeId<uchar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<uchar> (0x210c940) 0 empty
-Class QMetaTypeId<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<float> (0x210c9c0) 0 empty
-Class QMetaTypeId<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QObject*> (0x210ca40) 0 empty
-Class QMetaTypeId<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QWidget*> (0x210cac0) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -1109,50 +833,18 @@ Class QVariant
base size=16 base align=4
QVariant (0x210cb00) 0
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0x21b7040) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0x210cdc0) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0x21b7240) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0x21b7180) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0x21b74c0) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0x21b7600) 0 empty
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0x21b76c0) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x21b7740) 0
-Class <anonymous struct>
- size=3156 align=4
- base size=3156 base align=4
-<anonymous struct> (0x21b77c0) 0
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1230,15 +922,7 @@ Class QUrl
base size=4 base align=4
QUrl (0x21b7a80) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0x228c140) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0x228c1c0) 0 empty
Vtable for QEventLoop
QEventLoop::_ZTV10QEventLoop: 14u entries
@@ -1265,10 +949,6 @@ QEventLoop (0x228c240) 0
QObject (0x228c280) 0
primary-for QEventLoop (0x228c240)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0x228c480) 0
Vtable for QAbstractEventDispatcher
QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 27u entries
@@ -1313,20 +993,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0x228c6c0) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0x228c880) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0x228c940) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0x228ca80) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -1496,10 +1168,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0x228cec0) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0x23860c0) 0 empty
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -1591,20 +1259,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0x2386c00) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0x2386cc0) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0x2386d40) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0x2386e00) 0 empty
Class QMetaProperty
size=20 align=4
@@ -1616,10 +1276,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0x2386ec0) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0x2386f80) 0 empty
Vtable for QMimeData
QMimeData::_ZTV9QMimeData: 17u entries
@@ -1907,10 +1563,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0x24b7740) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0x24b7880) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -1932,80 +1584,48 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0x24b7ac0) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0x24b7b40) 0 empty
Class QDate
size=4 align=4
base size=4 base align=4
QDate (0x25c1300) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0x25c1500) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0x25c1580) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0x25c1740) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0x25c17c0) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0x25c1940) 0 empty
Class QPoint
size=8 align=4
base size=8 base align=4
QPoint (0x25c19c0) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0x25c1e40) 0 empty
Class QPointF
size=16 align=8
base size=16 base align=4
QPointF (0x25c1340) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0x25c1c00) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0x268e100) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0x268e180) 0 empty
Class QLineF
size=32 align=8
base size=32 base align=4
QLineF (0x268e300) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0x268e3c0) 0 empty
Class QLinkedListData
size=20 align=4
@@ -2017,50 +1637,30 @@ Class QLocale
base size=4 base align=4
QLocale (0x268e980) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0x268ea00) 0 empty
Class QSize
size=8 align=4
base size=8 base align=4
QSize (0x268eb40) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0x268ef40) 0 empty
Class QSizeF
size=16 align=8
base size=16 base align=4
QSizeF (0x27f2000) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0x27f2400) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0x27f2780) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0x27f2940) 0 empty
Class QRectF
size=32 align=8
base size=32 base align=4
QRectF (0x27f2bc0) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0x27f2d80) 0 empty
Class QSharedData
size=4 align=4
@@ -2087,10 +1687,6 @@ Class QKeySequence
base size=4 base align=4
QKeySequence (0x2961800) 0
-Class QTypeInfo<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QKeySequence> (0x2961980) 0 empty
Vtable for QMimeSource
QMimeSource::_ZTV11QMimeSource: 7u entries
@@ -2394,15 +1990,7 @@ Class QInputMethodEvent::Attribute
base size=28 base align=4
QInputMethodEvent::Attribute (0x2b00300) 0
-Class QList<QInputMethodEvent::Attribute>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute>::<anonymous union> (0x2b004c0) 0
-Class QList<QInputMethodEvent::Attribute>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute> (0x2b00400) 0
Vtable for QInputMethodEvent
QInputMethodEvent::_ZTV17QInputMethodEvent: 4u entries
@@ -2676,15 +2264,7 @@ Class QAccessible
base size=0 base align=1
QAccessible (0x2b63cc0) 0 empty
-Class QFlags<QAccessible::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::StateFlag> (0x2b63e00) 0
-Class QFlags<QAccessible::RelationFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::RelationFlag> (0x2b63e80) 0
Vtable for QAccessibleInterface
QAccessibleInterface::_ZTV20QAccessibleInterface: 19u entries
@@ -2968,25 +2548,9 @@ Class QPaintDevice
QPaintDevice (0x2bd5340) 0
vptr=((& QPaintDevice::_ZTV12QPaintDevice) + 8u)
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x2c2e180) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x2c2e200) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x2c2e280) 0
-Class QColor::<anonymous union>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union> (0x2c2e100) 0
Class QColor
size=16 align=4
@@ -2998,45 +2562,17 @@ Class QBrush
base size=4 base align=4
QBrush (0x2c2e540) 0
-Class QTypeInfo<QBrush>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBrush> (0x2c2e600) 0 empty
Class QBrushData
size=24 align=4
base size=24 base align=4
QBrushData (0x2c2e680) 0
-Class QVector<QGradientStop>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QGradientStop>::<anonymous union> (0x2c2e980) 0
-Class QVector<QGradientStop>
- size=4 align=4
- base size=4 base align=4
-QVector<QGradientStop> (0x2c2e880) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=32 align=8
- base size=32 base align=8
-QGradient::<anonymous union>::<anonymous struct> (0x2c2eac0) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=40 align=8
- base size=40 base align=8
-QGradient::<anonymous union>::<anonymous struct> (0x2c2eb40) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=24 align=8
- base size=24 base align=8
-QGradient::<anonymous union>::<anonymous struct> (0x2c2ebc0) 0
-Class QGradient::<anonymous union>
- size=40 align=8
- base size=40 base align=8
-QGradient::<anonymous union> (0x2c2ea40) 0
Class QGradient
size=56 align=4
@@ -3681,10 +3217,6 @@ QFileDialog (0x2e6adc0) 0
QPaintDevice (0x2e6ae80) 8
vptr=((& QFileDialog::_ZTV11QFileDialog) + 244u)
-Class QFlags<QFileDialog::Option>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileDialog::Option> (0x2e6acc0) 0
Vtable for QFontDialog
QFontDialog::_ZTV11QFontDialog: 66u entries
@@ -4379,10 +3911,6 @@ QImage (0x2ff55c0) 0
QPaintDevice (0x2ff5600) 0
primary-for QImage (0x2ff55c0)
-Class QTypeInfo<QImage>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QImage> (0x2ff5900) 0 empty
Vtable for QPixmap
QPixmap::_ZTV7QPixmap: 7u entries
@@ -4427,10 +3955,6 @@ Class QIcon
base size=4 base align=4
QIcon (0x2ff5c40) 0
-Class QTypeInfo<QIcon>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QIcon> (0x30ed040) 0 empty
Vtable for QIconEngine
QIconEngine::_ZTV11QIconEngine: 9u entries
@@ -4760,15 +4284,7 @@ QActionGroup (0x3175600) 0
QObject (0x3175640) 0
primary-for QActionGroup (0x3175600)
-Class QList<QAction*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QAction*>::<anonymous union> (0x31758c0) 0
-Class QList<QAction*>
- size=4 align=4
- base size=4 base align=4
-QList<QAction*> (0x3175800) 0
Vtable for QInputContext
QInputContext::_ZTV13QInputContext: 25u entries
@@ -5073,10 +4589,6 @@ QAbstractSpinBox (0x3218440) 0
QPaintDevice (0x32184c0) 8
vptr=((& QAbstractSpinBox::_ZTV16QAbstractSpinBox) + 252u)
-Class QFlags<QAbstractSpinBox::StepEnabledFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractSpinBox::StepEnabledFlag> (0x3218740) 0
Vtable for QAbstractSlider
QAbstractSlider::_ZTV15QAbstractSlider: 64u entries
@@ -5284,15 +4796,7 @@ QStyle (0x3218c40) 0
QObject (0x3218c80) 0
primary-for QStyle (0x3218c40)
-Class QFlags<QStyle::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::StateFlag> (0x3218ec0) 0
-Class QFlags<QStyle::SubControl>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::SubControl> (0x3218f40) 0
Vtable for QTabBar
QTabBar::_ZTV7QTabBar: 67u entries
@@ -5569,10 +5073,6 @@ Class QStyleOptionHeader
QStyleOptionHeader (0x331dd80) 0
QStyleOption (0x331ddc0) 0
-Class QFlags<QStyleOptionButton::ButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionButton::ButtonFeature> (0x331dc80) 0
Class QStyleOptionButton
size=64 align=4
@@ -5580,10 +5080,6 @@ Class QStyleOptionButton
QStyleOptionButton (0x331dfc0) 0
QStyleOption (0x331d140) 0
-Class QFlags<QStyleOptionTab::CornerWidget>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionTab::CornerWidget> (0x33bd280) 0
Class QStyleOptionTab
size=72 align=4
@@ -5603,10 +5099,6 @@ Class QStyleOptionMenuItem
QStyleOptionMenuItem (0x33bd600) 0
QStyleOption (0x33bd640) 0
-Class QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature> (0x33bd9c0) 0
Class QStyleOptionQ3ListViewItem
size=64 align=4
@@ -5664,15 +5156,7 @@ QStyleOptionSpinBox (0x344c7c0) 0
QStyleOptionComplex (0x344c800) 0
QStyleOption (0x344c840) 0
-Class QList<QStyleOptionQ3ListViewItem>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::<anonymous union> (0x344ccc0) 0
-Class QList<QStyleOptionQ3ListViewItem>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem> (0x344cc00) 0
Class QStyleOptionQ3ListView
size=84 align=4
@@ -5681,10 +5165,6 @@ QStyleOptionQ3ListView (0x344ca00) 0
QStyleOptionComplex (0x344ca40) 0
QStyleOption (0x344ca80) 0
-Class QFlags<QStyleOptionToolButton::ToolButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionToolButton::ToolButtonFeature> (0x344c5c0) 0
Class QStyleOptionToolButton
size=96 align=4
@@ -5837,10 +5317,6 @@ Class QItemSelectionRange
base size=8 base align=4
QItemSelectionRange (0x34bda40) 0
-Class QTypeInfo<QItemSelectionRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QItemSelectionRange> (0x34bdd40) 0 empty
Vtable for QItemSelectionModel
QItemSelectionModel::_ZTV19QItemSelectionModel: 18u entries
@@ -5871,20 +5347,8 @@ QItemSelectionModel (0x34bde00) 0
QObject (0x34bde40) 0
primary-for QItemSelectionModel (0x34bde00)
-Class QFlags<QItemSelectionModel::SelectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QItemSelectionModel::SelectionFlag> (0x34bd140) 0
-Class QList<QItemSelectionRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::<anonymous union> (0x3587040) 0
-Class QList<QItemSelectionRange>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange> (0x34bd940) 0
Class QItemSelection
size=4 align=4
@@ -6014,10 +5478,6 @@ QAbstractItemView (0x3587200) 0
QPaintDevice (0x3587300) 8
vptr=((& QAbstractItemView::_ZTV17QAbstractItemView) + 392u)
-Class QFlags<QAbstractItemView::EditTrigger>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractItemView::EditTrigger> (0x3587580) 0
Vtable for QFileIconProvider
QFileIconProvider::_ZTV17QFileIconProvider: 7u entries
@@ -6269,15 +5729,7 @@ Class QItemEditorCreatorBase
QItemEditorCreatorBase (0x3587e40) 0 nearly-empty
vptr=((& QItemEditorCreatorBase::_ZTV22QItemEditorCreatorBase) + 8u)
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union> (0x365c100) 0
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*> (0x365c000) 0
Vtable for QItemEditorFactory
QItemEditorFactory::_ZTV18QItemEditorFactory: 6u entries
@@ -6418,15 +5870,7 @@ QListView (0x365c340) 0
QPaintDevice (0x365c480) 8
vptr=((& QListView::_ZTV9QListView) + 392u)
-Class QVector<QWidgetItemData>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData>::<anonymous union> (0x365c8c0) 0
-Class QVector<QWidgetItemData>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData> (0x365c7c0) 0
Vtable for QListWidgetItem
QListWidgetItem::_ZTV15QListWidgetItem: 11u entries
@@ -7150,25 +6594,9 @@ QTreeView (0x3720cc0) 0
QPaintDevice (0x3720e00) 8
vptr=((& QTreeView::_ZTV9QTreeView) + 400u)
-Class QVector<QVector<QWidgetItemData> >::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> >::<anonymous union> (0x3805040) 0
-Class QVector<QVector<QWidgetItemData> >
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> > (0x3720840) 0
-Class QList<QTreeWidgetItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::<anonymous union> (0x3805240) 0
-Class QList<QTreeWidgetItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*> (0x3805180) 0
Vtable for QTreeWidgetItem
QTreeWidgetItem::_ZTV15QTreeWidgetItem: 10u entries
@@ -8015,15 +7443,7 @@ Class QColormap
base size=4 base align=4
QColormap (0x396df40) 0
-Class QVector<QPoint>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint>::<anonymous union> (0x396d9c0) 0
-Class QVector<QPoint>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint> (0x396d280) 0
Class QPolygon
size=4 align=4
@@ -8031,15 +7451,7 @@ Class QPolygon
QPolygon (0x396dd00) 0
QVector<QPoint> (0x3a18000) 0
-Class QVector<QPointF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF>::<anonymous union> (0x3a18440) 0
-Class QVector<QPointF>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF> (0x3a18340) 0
Class QPolygonF
size=4 align=4
@@ -8052,90 +7464,38 @@ Class QMatrix
base size=48 base align=4
QMatrix (0x3a18800) 0
-Class QTypeInfo<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMatrix> (0x3a18880) 0 empty
Class QTextOption
size=24 align=4
base size=24 base align=4
QTextOption (0x3a18940) 0
-Class QFlags<QTextOption::Flag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextOption::Flag> (0x3a18a40) 0
Class QPen
size=4 align=4
base size=4 base align=4
QPen (0x3a18ac0) 0
-Class QTypeInfo<QPen>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPen> (0x3a18b40) 0 empty
Class QPainter
size=4 align=4
base size=4 base align=4
QPainter (0x3a18bc0) 0
-Class QVector<QLineF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF>::<anonymous union> (0x3b35240) 0
-Class QVector<QLineF>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF> (0x3b35140) 0
-Class QVector<QLine>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine>::<anonymous union> (0x3b35440) 0
-Class QVector<QLine>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine> (0x3b35340) 0
-Class QVector<QRectF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF>::<anonymous union> (0x3b35640) 0
-Class QVector<QRectF>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF> (0x3b35540) 0
-Class QVector<QRect>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect>::<anonymous union> (0x3b35840) 0
-Class QVector<QRect>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect> (0x3b35740) 0
Class QTextItem
size=1 align=1
base size=0 base align=1
QTextItem (0x3b358c0) 0 empty
-Class QTypeInfo<QTextItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextItem> (0x3b35980) 0 empty
-Class QFlags<QPaintEngine::PaintEngineFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::PaintEngineFeature> (0x3b35b40) 0
Vtable for QPaintEngine
QPaintEngine::_ZTV12QPaintEngine: 24u entries
@@ -8170,10 +7530,6 @@ Class QPaintEngine
QPaintEngine (0x3b35a00) 0
vptr=((& QPaintEngine::_ZTV12QPaintEngine) + 8u)
-Class QFlags<QPaintEngine::DirtyFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::DirtyFlag> (0x3b35e00) 0
Class QPaintEngineState
size=4 align=4
@@ -8190,25 +7546,13 @@ Class QPainterPath
base size=4 base align=4
QPainterPath (0x3b35e40) 0
-Class QVector<QPainterPath::Element>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element>::<anonymous union> (0x3c85240) 0
-Class QVector<QPainterPath::Element>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element> (0x3c85140) 0
Class QPainterPathPrivate
size=8 align=4
base size=8 base align=4
QPainterPathPrivate (0x3b35d80) 0
-Class QTypeInfo<QPainterPath::Element>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPainterPath::Element> (0x3c85300) 0 empty
Class QPainterPathStroker
size=4 align=4
@@ -8306,10 +7650,6 @@ QCommonStyle (0x3c85c40) 0
QObject (0x3c85cc0) 0
primary-for QStyle (0x3c85c80)
-Class QPointer<QFocusFrame>
- size=4 align=4
- base size=4 base align=4
-QPointer<QFocusFrame> (0x3c85fc0) 0
Vtable for QMotifStyle
QMotifStyle::_ZTV11QMotifStyle: 35u entries
@@ -8631,25 +7971,13 @@ Class QTextLength
base size=12 base align=4
QTextLength (0x3d2ed40) 0
-Class QSharedDataPointer<QTextFormatPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextFormatPrivate> (0x3d2e600) 0
Class QTextFormat
size=8 align=4
base size=8 base align=4
QTextFormat (0x3d2ef80) 0
-Class QVector<QTextLength>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength>::<anonymous union> (0x3db81c0) 0
-Class QVector<QTextLength>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength> (0x3db80c0) 0
Class QTextCharFormat
size=8 align=4
@@ -8704,15 +8032,7 @@ Class QTextLayout
base size=4 base align=4
QTextLayout (0x3db8740) 0
-Class QVector<QTextLayout::FormatRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange>::<anonymous union> (0x3db89c0) 0
-Class QVector<QTextLayout::FormatRange>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange> (0x3db88c0) 0
Class QTextLine
size=8 align=4
@@ -8762,10 +8082,6 @@ QTextDocument (0x3db8cc0) 0
QObject (0x3db8d00) 0
primary-for QTextDocument (0x3db8cc0)
-Class QSharedDataPointer<QTextCursorPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextCursorPrivate> (0x3db8c00) 0
Class QTextCursor
size=4 align=4
@@ -8777,15 +8093,7 @@ Class QAbstractTextDocumentLayout::Selection
base size=12 base align=4
QAbstractTextDocumentLayout::Selection (0x3ede080) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union> (0x3ede2c0) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection> (0x3ede1c0) 0
Class QAbstractTextDocumentLayout::PaintContext
size=48 align=4
@@ -8952,10 +8260,6 @@ QTextFrame (0x3edec80) 0
QObject (0x3eded00) 0
primary-for QTextObject (0x3edecc0)
-Class QTypeInfo<QTextFrame::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFrame::iterator> (0x3f690c0) 0 empty
Class QTextBlock::iterator
size=16 align=4
@@ -8967,25 +8271,13 @@ Class QTextBlock
base size=8 base align=4
QTextBlock (0x3f69180) 0
-Class QTypeInfo<QTextBlock>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock> (0x3f69580) 0 empty
-Class QTypeInfo<QTextBlock::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock::iterator> (0x3f69640) 0 empty
Class QTextFragment
size=12 align=4
base size=12 base align=4
QTextFragment (0x3f69700) 0
-Class QTypeInfo<QTextFragment>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFragment> (0x3f69900) 0 empty
Vtable for QTextList
QTextList::_ZTV9QTextList: 17u entries
@@ -9587,10 +8879,6 @@ QDateEdit (0x40ae140) 0
QPaintDevice (0x40ae240) 8
vptr=((& QDateEdit::_ZTV9QDateEdit) + 260u)
-Class QFlags<QDateTimeEdit::Section>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDateTimeEdit::Section> (0x40ae440) 0
Vtable for QDial
QDial::_ZTV5QDial: 64u entries
@@ -9751,10 +9039,6 @@ QDockWidget (0x40ae700) 0
QPaintDevice (0x40ae780) 8
vptr=((& QDockWidget::_ZTV11QDockWidget) + 232u)
-Class QFlags<QDockWidget::DockWidgetFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDockWidget::DockWidgetFeature> (0x40aea40) 0
Vtable for QFocusFrame
QFocusFrame::_ZTV11QFocusFrame: 63u entries
@@ -11480,10 +10764,6 @@ QTextEdit (0x432f940) 0
QPaintDevice (0x432fa40) 8
vptr=((& QTextEdit::_ZTV9QTextEdit) + 256u)
-Class QFlags<QTextDocument::FindFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextDocument::FindFlag> (0x432fcc0) 0
Vtable for QTextBrowser
QTextBrowser::_ZTV12QTextBrowser: 74u entries
@@ -12206,10 +11486,6 @@ QUdpSocket (0x44f99c0) 0
QObject (0x44f9a80) 0
primary-for QIODevice (0x44f9a40)
-Class QFlags<QSql::ParamTypeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QSql::ParamTypeFlag> (0x44f9c80) 0
Class QSqlRecord
size=4 align=4
@@ -12347,15 +11623,7 @@ Class QSqlField
base size=20 base align=4
QSqlField (0x45cd3c0) 0
-Class QList<bool>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<bool>::<anonymous union> (0x45cd640) 0
-Class QList<bool>
- size=4 align=4
- base size=4 base align=4
-QList<bool> (0x45cd580) 0
Class QSqlIndex
size=16 align=4
@@ -12871,29 +12139,7 @@ Class Q3GListStdIterator
base size=4 base align=4
Q3GListStdIterator (0x46889c0) 0
-Vtable for Q3PtrList<void>
-Q3PtrList<void>::_ZTV9Q3PtrListIvE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI9Q3PtrListIvE)
-8 Q3PtrList<type>::count [with type = void]
-12 Q3PtrList<type>::clear [with type = void]
-16 Q3PtrList<type>::~Q3PtrList [with type = void]
-20 Q3PtrList<type>::~Q3PtrList [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3PtrList<type>::deleteItem [with type = void]
-32 Q3GList::compareItems
-36 Q3GList::read
-40 Q3GList::write
-Class Q3PtrList<void>
- size=32 align=4
- base size=32 base align=4
-Q3PtrList<void> (0x4688cc0) 0
- vptr=((& Q3PtrList<void>::_ZTV9Q3PtrListIvE) + 8u)
- Q3GList (0x4688d00) 0
- primary-for Q3PtrList<void> (0x4688cc0)
- Q3PtrCollection (0x4688d40) 0
- primary-for Q3GList (0x4688d00)
Class Q3PointArray
size=4 align=4
@@ -12902,21 +12148,8 @@ Q3PointArray (0x4752100) 0
QPolygon (0x4752140) 0
QVector<QPoint> (0x4752180) 0
-Class QLinkedList<Q3CanvasItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QLinkedList<Q3CanvasItem*>::<anonymous union> (0x4752740) 0
-Class QLinkedList<Q3CanvasItem*>
- size=4 align=4
- base size=4 base align=4
-QLinkedList<Q3CanvasItem*> (0x4752640) 0
-Class Q3ValueList<Q3CanvasItem*>
- size=4 align=4
- base size=4 base align=4
-Q3ValueList<Q3CanvasItem*> (0x4752780) 0
- QLinkedList<Q3CanvasItem*> (0x47527c0) 0
Class Q3CanvasItemList
size=4 align=4
@@ -13554,28 +12787,7 @@ Class Q3GDictIterator
base size=12 base align=4
Q3GDictIterator (0x4885680) 0
-Vtable for Q3Dict<void>
-Q3Dict<void>::_ZTV6Q3DictIvE: 10u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI6Q3DictIvE)
-8 Q3Dict<type>::count [with type = void]
-12 Q3Dict<type>::clear [with type = void]
-16 Q3Dict<type>::~Q3Dict [with type = void]
-20 Q3Dict<type>::~Q3Dict [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3Dict<type>::deleteItem [with type = void]
-32 Q3GDict::read
-36 Q3GDict::write
-Class Q3Dict<void>
- size=28 align=4
- base size=28 base align=4
-Q3Dict<void> (0x4885940) 0
- vptr=((& Q3Dict<void>::_ZTV6Q3DictIvE) + 8u)
- Q3GDict (0x4885980) 0
- primary-for Q3Dict<void> (0x4885940)
- Q3PtrCollection (0x48859c0) 0
- primary-for Q3GDict (0x4885980)
Vtable for Q3NetworkProtocolFactoryBase
Q3NetworkProtocolFactoryBase::_ZTV28Q3NetworkProtocolFactoryBase: 5u entries
@@ -14110,29 +13322,7 @@ Q3Wizard (0x4908ec0) 0
QPaintDevice (0x4908f80) 8
vptr=((& Q3Wizard::_ZTV8Q3Wizard) + 308u)
-Vtable for Q3PtrList<char>
-Q3PtrList<char>::_ZTV9Q3PtrListIcE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI9Q3PtrListIcE)
-8 Q3PtrList<type>::count [with type = char]
-12 Q3PtrList<type>::clear [with type = char]
-16 Q3PtrList<type>::~Q3PtrList [with type = char]
-20 Q3PtrList<type>::~Q3PtrList [with type = char]
-24 Q3PtrCollection::newItem
-28 Q3PtrList<type>::deleteItem [with type = char]
-32 Q3GList::compareItems
-36 Q3GList::read
-40 Q3GList::write
-Class Q3PtrList<char>
- size=32 align=4
- base size=32 base align=4
-Q3PtrList<char> (0x49b3000) 0
- vptr=((& Q3PtrList<char>::_ZTV9Q3PtrListIcE) + 8u)
- Q3GList (0x49b3040) 0
- primary-for Q3PtrList<char> (0x49b3000)
- Q3PtrCollection (0x49b3080) 0
- primary-for Q3GList (0x49b3040)
Vtable for Q3StrList
Q3StrList::_ZTV9Q3StrList: 11u entries
@@ -14160,11 +13350,6 @@ Q3StrList (0x49b3200) 0
Q3PtrCollection (0x49b32c0) 0
primary-for Q3GList (0x49b3280)
-Class Q3PtrListStdIterator<char>
- size=4 align=4
- base size=4 base align=4
-Q3PtrListStdIterator<char> (0x49b36c0) 0
- Q3GListStdIterator (0x49b3700) 0
Vtable for Q3StrIList
Q3StrIList::_ZTV10Q3StrIList: 11u entries
@@ -15197,29 +14382,7 @@ Q3GVector (0x4b99340) 0
Q3PtrCollection (0x4b99380) 0
primary-for Q3GVector (0x4b99340)
-Vtable for Q3PtrVector<void>
-Q3PtrVector<void>::_ZTV11Q3PtrVectorIvE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI11Q3PtrVectorIvE)
-8 Q3PtrVector<type>::count [with type = void]
-12 Q3PtrVector<type>::clear [with type = void]
-16 Q3PtrVector<type>::~Q3PtrVector [with type = void]
-20 Q3PtrVector<type>::~Q3PtrVector [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3PtrVector<type>::deleteItem [with type = void]
-32 Q3GVector::compareItems
-36 Q3GVector::read
-40 Q3GVector::write
-Class Q3PtrVector<void>
- size=20 align=4
- base size=20 base align=4
-Q3PtrVector<void> (0x4b99640) 0
- vptr=((& Q3PtrVector<void>::_ZTV11Q3PtrVectorIvE) + 8u)
- Q3GVector (0x4b99680) 0
- primary-for Q3PtrVector<void> (0x4b99640)
- Q3PtrCollection (0x4b996c0) 0
- primary-for Q3GVector (0x4b99680)
Vtable for Q3Header
Q3Header::_ZTV8Q3Header: 76u entries
@@ -15339,28 +14502,7 @@ Class Q3GArray
Q3GArray (0x4b99ac0) 0
vptr=((& Q3GArray::_ZTV8Q3GArray) + 8u)
-Vtable for Q3IntDict<void>
-Q3IntDict<void>::_ZTV9Q3IntDictIvE: 10u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI9Q3IntDictIvE)
-8 Q3IntDict<type>::count [with type = void]
-12 Q3IntDict<type>::clear [with type = void]
-16 Q3IntDict<type>::~Q3IntDict [with type = void]
-20 Q3IntDict<type>::~Q3IntDict [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3IntDict<type>::deleteItem [with type = void]
-32 Q3GDict::read
-36 Q3GDict::write
-Class Q3IntDict<void>
- size=28 align=4
- base size=28 base align=4
-Q3IntDict<void> (0x4b99040) 0
- vptr=((& Q3IntDict<void>::_ZTV9Q3IntDictIvE) + 8u)
- Q3GDict (0x4b99280) 0
- primary-for Q3IntDict<void> (0x4b99040)
- Q3PtrCollection (0x4b99440) 0
- primary-for Q3GDict (0x4b99280)
Class Q3TableSelection
size=28 align=4
@@ -15471,100 +14613,13 @@ Class Q3Table::TableWidget
base size=12 base align=4
Q3Table::TableWidget (0x4c8e780) 0
-Vtable for Q3PtrVector<Q3TableItem>
-Q3PtrVector<Q3TableItem>::_ZTV11Q3PtrVectorI11Q3TableItemE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI11Q3PtrVectorI11Q3TableItemE)
-8 Q3PtrVector<type>::count [with type = Q3TableItem]
-12 Q3PtrVector<type>::clear [with type = Q3TableItem]
-16 Q3PtrVector<type>::~Q3PtrVector [with type = Q3TableItem]
-20 Q3PtrVector<type>::~Q3PtrVector [with type = Q3TableItem]
-24 Q3PtrCollection::newItem
-28 Q3PtrVector<type>::deleteItem [with type = Q3TableItem]
-32 Q3GVector::compareItems
-36 Q3GVector::read
-40 Q3GVector::write
-Class Q3PtrVector<Q3TableItem>
- size=20 align=4
- base size=20 base align=4
-Q3PtrVector<Q3TableItem> (0x4c8e8c0) 0
- vptr=((& Q3PtrVector<Q3TableItem>::_ZTV11Q3PtrVectorI11Q3TableItemE) + 8u)
- Q3GVector (0x4c8e900) 0
- primary-for Q3PtrVector<Q3TableItem> (0x4c8e8c0)
- Q3PtrCollection (0x4c8e940) 0
- primary-for Q3GVector (0x4c8e900)
-
-Vtable for Q3PtrVector<QWidget>
-Q3PtrVector<QWidget>::_ZTV11Q3PtrVectorI7QWidgetE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI11Q3PtrVectorI7QWidgetE)
-8 Q3PtrVector<type>::count [with type = QWidget]
-12 Q3PtrVector<type>::clear [with type = QWidget]
-16 Q3PtrVector<type>::~Q3PtrVector [with type = QWidget]
-20 Q3PtrVector<type>::~Q3PtrVector [with type = QWidget]
-24 Q3PtrCollection::newItem
-28 Q3PtrVector<type>::deleteItem [with type = QWidget]
-32 Q3GVector::compareItems
-36 Q3GVector::read
-40 Q3GVector::write
-Class Q3PtrVector<QWidget>
- size=20 align=4
- base size=20 base align=4
-Q3PtrVector<QWidget> (0x4c8eb40) 0
- vptr=((& Q3PtrVector<QWidget>::_ZTV11Q3PtrVectorI7QWidgetE) + 8u)
- Q3GVector (0x4c8eb80) 0
- primary-for Q3PtrVector<QWidget> (0x4c8eb40)
- Q3PtrCollection (0x4c8ebc0) 0
- primary-for Q3GVector (0x4c8eb80)
-
-Vtable for Q3PtrList<Q3TableSelection>
-Q3PtrList<Q3TableSelection>::_ZTV9Q3PtrListI16Q3TableSelectionE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI9Q3PtrListI16Q3TableSelectionE)
-8 Q3PtrList<type>::count [with type = Q3TableSelection]
-12 Q3PtrList<type>::clear [with type = Q3TableSelection]
-16 Q3PtrList<type>::~Q3PtrList [with type = Q3TableSelection]
-20 Q3PtrList<type>::~Q3PtrList [with type = Q3TableSelection]
-24 Q3PtrCollection::newItem
-28 Q3PtrList<type>::deleteItem [with type = Q3TableSelection]
-32 Q3GList::compareItems
-36 Q3GList::read
-40 Q3GList::write
-Class Q3PtrList<Q3TableSelection>
- size=32 align=4
- base size=32 base align=4
-Q3PtrList<Q3TableSelection> (0x4c8edc0) 0
- vptr=((& Q3PtrList<Q3TableSelection>::_ZTV9Q3PtrListI16Q3TableSelectionE) + 8u)
- Q3GList (0x4c8ee00) 0
- primary-for Q3PtrList<Q3TableSelection> (0x4c8edc0)
- Q3PtrCollection (0x4c8ee40) 0
- primary-for Q3GList (0x4c8ee00)
-
-Vtable for Q3IntDict<int>
-Q3IntDict<int>::_ZTV9Q3IntDictIiE: 10u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI9Q3IntDictIiE)
-8 Q3IntDict<type>::count [with type = int]
-12 Q3IntDict<type>::clear [with type = int]
-16 Q3IntDict<type>::~Q3IntDict [with type = int]
-20 Q3IntDict<type>::~Q3IntDict [with type = int]
-24 Q3PtrCollection::newItem
-28 Q3IntDict<type>::deleteItem [with type = int]
-32 Q3GDict::read
-36 Q3GDict::write
-Class Q3IntDict<int>
- size=28 align=4
- base size=28 base align=4
-Q3IntDict<int> (0x4c8e3c0) 0
- vptr=((& Q3IntDict<int>::_ZTV9Q3IntDictIiE) + 8u)
- Q3GDict (0x4c8e540) 0
- primary-for Q3IntDict<int> (0x4c8e3c0)
- Q3PtrCollection (0x4c8e840) 0
- primary-for Q3GDict (0x4c8e540)
+
+
+
Vtable for Q3Table
Q3Table::_ZTV7Q3Table: 183u entries
@@ -15878,15 +14933,7 @@ Q3Ftp (0x4d34600) 0
QObject (0x4d34680) 0
primary-for Q3NetworkProtocol (0x4d34640)
-Class QMap<QString, QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QString>::<anonymous union> (0x4d34980) 0
-Class QMap<QString, QString>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QString> (0x4d348c0) 0
Vtable for Q3HttpHeader
Q3HttpHeader::_ZTV12Q3HttpHeader: 8u entries
@@ -16900,21 +15947,8 @@ Class Q3SqlPropertyMap
Q3SqlPropertyMap (0x4f4d340) 0
vptr=((& Q3SqlPropertyMap::_ZTV16Q3SqlPropertyMap) + 8u)
-Class QLinkedList<Q3SqlFieldInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QLinkedList<Q3SqlFieldInfo>::<anonymous union> (0x4f4d6c0) 0
-Class QLinkedList<Q3SqlFieldInfo>
- size=4 align=4
- base size=4 base align=4
-QLinkedList<Q3SqlFieldInfo> (0x4f4d5c0) 0
-Class Q3ValueList<Q3SqlFieldInfo>
- size=4 align=4
- base size=4 base align=4
-Q3ValueList<Q3SqlFieldInfo> (0x4f4d700) 0
- QLinkedList<Q3SqlFieldInfo> (0x4f4d740) 0
Class Q3SqlRecordInfo
size=4 align=4
@@ -16923,31 +15957,10 @@ Q3SqlRecordInfo (0x4f4d8c0) 0
Q3ValueList<Q3SqlFieldInfo> (0x4f4d900) 0
QLinkedList<Q3SqlFieldInfo> (0x4f4d940) 0
-Class QList<Q3SqlFieldInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<Q3SqlFieldInfo>::<anonymous union> (0x4f4db40) 0
-Class QList<Q3SqlFieldInfo>
- size=4 align=4
- base size=4 base align=4
-QList<Q3SqlFieldInfo> (0x4f4da80) 0
-Class QLinkedList<Q3SqlFieldInfo>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QLinkedList<Q3SqlFieldInfo>::const_iterator (0x4f4dec0) 0
-Class Q3ValueListConstIterator<Q3SqlFieldInfo>
- size=4 align=4
- base size=4 base align=4
-Q3ValueListConstIterator<Q3SqlFieldInfo> (0x4f4df00) 0
- QLinkedList<Q3SqlFieldInfo>::const_iterator (0x4f4df40) 0
-Class QLinkedList<Q3SqlFieldInfo>::iterator
- size=4 align=4
- base size=4 base align=4
-QLinkedList<Q3SqlFieldInfo>::iterator (0x4f4d2c0) 0
Vtable for Q3SqlSelectCursor
Q3SqlSelectCursor::_ZTV17Q3SqlSelectCursor: 40u entries
@@ -17007,15 +16020,7 @@ Class Q3StyleSheetItem
base size=4 base align=4
Q3StyleSheetItem (0x4fe5300) 0
-Class QHash<QString, Q3StyleSheetItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QHash<QString, Q3StyleSheetItem*>::<anonymous union> (0x4fe55c0) 0
-Class QHash<QString, Q3StyleSheetItem*>
- size=4 align=4
- base size=4 base align=4
-QHash<QString, Q3StyleSheetItem*> (0x4fe54c0) 0
Vtable for Q3StyleSheet
Q3StyleSheet::_ZTV12Q3StyleSheet: 16u entries
@@ -17054,25 +16059,9 @@ Class Q3TextEditOptimPrivate::Selection
base size=8 base align=4
Q3TextEditOptimPrivate::Selection (0x4fe5800) 0
-Class QMap<int, QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<int, QString>::<anonymous union> (0x4fe59c0) 0
-Class QMap<int, QString>
- size=4 align=4
- base size=4 base align=4
-QMap<int, QString> (0x4fe5900) 0
-Class QMap<int, Q3TextEditOptimPrivate::Tag*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<int, Q3TextEditOptimPrivate::Tag*>::<anonymous union> (0x4fe5d40) 0
-Class QMap<int, Q3TextEditOptimPrivate::Tag*>
- size=4 align=4
- base size=4 base align=4
-QMap<int, Q3TextEditOptimPrivate::Tag*> (0x4fe5c80) 0
Class Q3TextEditOptimPrivate
size=52 align=4
@@ -17280,10 +16269,6 @@ Q3TextEdit (0x4fe5a00) 0
QPaintDevice (0x5086000) 8
vptr=((& Q3TextEdit::_ZTV10Q3TextEdit) + 680u)
-Class QFlags<Q3TextEdit::AutoFormattingFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Q3TextEdit::AutoFormattingFlag> (0x50862c0) 0
Vtable for Q3MultiLineEdit
Q3MultiLineEdit::_ZTV15Q3MultiLineEdit: 192u entries
@@ -17944,70 +16929,11 @@ Class Q3GCacheIterator
base size=4 base align=4
Q3GCacheIterator (0x5086540) 0
-Vtable for Q3AsciiCache<void>
-Q3AsciiCache<void>::_ZTV12Q3AsciiCacheIvE: 8u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI12Q3AsciiCacheIvE)
-8 Q3AsciiCache<type>::count [with type = void]
-12 Q3AsciiCache<type>::clear [with type = void]
-16 Q3AsciiCache<type>::~Q3AsciiCache [with type = void]
-20 Q3AsciiCache<type>::~Q3AsciiCache [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3AsciiCache<type>::deleteItem [with type = void]
-Class Q3AsciiCache<void>
- size=32 align=4
- base size=32 base align=4
-Q3AsciiCache<void> (0x518d080) 0
- vptr=((& Q3AsciiCache<void>::_ZTV12Q3AsciiCacheIvE) + 8u)
- Q3GCache (0x518d0c0) 0
- primary-for Q3AsciiCache<void> (0x518d080)
- Q3PtrCollection (0x518d100) 0
- primary-for Q3GCache (0x518d0c0)
-
-Vtable for Q3AsciiDict<void>
-Q3AsciiDict<void>::_ZTV11Q3AsciiDictIvE: 10u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI11Q3AsciiDictIvE)
-8 Q3AsciiDict<type>::count [with type = void]
-12 Q3AsciiDict<type>::clear [with type = void]
-16 Q3AsciiDict<type>::~Q3AsciiDict [with type = void]
-20 Q3AsciiDict<type>::~Q3AsciiDict [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3AsciiDict<type>::deleteItem [with type = void]
-32 Q3GDict::read
-36 Q3GDict::write
-Class Q3AsciiDict<void>
- size=28 align=4
- base size=28 base align=4
-Q3AsciiDict<void> (0x518d4c0) 0
- vptr=((& Q3AsciiDict<void>::_ZTV11Q3AsciiDictIvE) + 8u)
- Q3GDict (0x518d500) 0
- primary-for Q3AsciiDict<void> (0x518d4c0)
- Q3PtrCollection (0x518d540) 0
- primary-for Q3GDict (0x518d500)
-
-Vtable for Q3Cache<void>
-Q3Cache<void>::_ZTV7Q3CacheIvE: 8u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI7Q3CacheIvE)
-8 Q3Cache<type>::count [with type = void]
-12 Q3Cache<type>::clear [with type = void]
-16 Q3Cache<type>::~Q3Cache [with type = void]
-20 Q3Cache<type>::~Q3Cache [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3Cache<type>::deleteItem [with type = void]
-Class Q3Cache<void>
- size=32 align=4
- base size=32 base align=4
-Q3Cache<void> (0x518d900) 0
- vptr=((& Q3Cache<void>::_ZTV7Q3CacheIvE) + 8u)
- Q3GCache (0x518d940) 0
- primary-for Q3Cache<void> (0x518d900)
- Q3PtrCollection (0x518d980) 0
- primary-for Q3GCache (0x518d940)
+
+
Class Q3CString
size=4 align=4
@@ -18015,49 +16941,9 @@ Class Q3CString
Q3CString (0x518dcc0) 0
QByteArray (0x518dd00) 0
-Vtable for Q3IntCache<void>
-Q3IntCache<void>::_ZTV10Q3IntCacheIvE: 8u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI10Q3IntCacheIvE)
-8 Q3IntCache<type>::count [with type = void]
-12 Q3IntCache<type>::clear [with type = void]
-16 Q3IntCache<type>::~Q3IntCache [with type = void]
-20 Q3IntCache<type>::~Q3IntCache [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3IntCache<type>::deleteItem [with type = void]
-Class Q3IntCache<void>
- size=32 align=4
- base size=32 base align=4
-Q3IntCache<void> (0x521c9c0) 0
- vptr=((& Q3IntCache<void>::_ZTV10Q3IntCacheIvE) + 8u)
- Q3GCache (0x521ca00) 0
- primary-for Q3IntCache<void> (0x521c9c0)
- Q3PtrCollection (0x521ca40) 0
- primary-for Q3GCache (0x521ca00)
-Vtable for Q3AsciiDict<QMetaObject>
-Q3AsciiDict<QMetaObject>::_ZTV11Q3AsciiDictI11QMetaObjectE: 10u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI11Q3AsciiDictI11QMetaObjectE)
-8 Q3AsciiDict<type>::count [with type = QMetaObject]
-12 Q3AsciiDict<type>::clear [with type = QMetaObject]
-16 Q3AsciiDict<type>::~Q3AsciiDict [with type = QMetaObject]
-20 Q3AsciiDict<type>::~Q3AsciiDict [with type = QMetaObject]
-24 Q3PtrCollection::newItem
-28 Q3AsciiDict<type>::deleteItem [with type = QMetaObject]
-32 Q3GDict::read
-36 Q3GDict::write
-Class Q3AsciiDict<QMetaObject>
- size=28 align=4
- base size=28 base align=4
-Q3AsciiDict<QMetaObject> (0x521cd00) 0
- vptr=((& Q3AsciiDict<QMetaObject>::_ZTV11Q3AsciiDictI11QMetaObjectE) + 8u)
- Q3GDict (0x521cd40) 0
- primary-for Q3AsciiDict<QMetaObject> (0x521cd00)
- Q3PtrCollection (0x521cd80) 0
- primary-for Q3GDict (0x521cd40)
Vtable for Q3ObjectDictionary
Q3ObjectDictionary::_ZTV18Q3ObjectDictionary: 10u entries
@@ -18084,76 +16970,11 @@ Q3ObjectDictionary (0x521cec0) 0
Q3PtrCollection (0x521cf80) 0
primary-for Q3GDict (0x521cf40)
-Vtable for Q3PtrDict<void>
-Q3PtrDict<void>::_ZTV9Q3PtrDictIvE: 10u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI9Q3PtrDictIvE)
-8 Q3PtrDict<type>::count [with type = void]
-12 Q3PtrDict<type>::clear [with type = void]
-16 Q3PtrDict<type>::~Q3PtrDict [with type = void]
-20 Q3PtrDict<type>::~Q3PtrDict [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3PtrDict<type>::deleteItem [with type = void]
-32 Q3GDict::read
-36 Q3GDict::write
-Class Q3PtrDict<void>
- size=28 align=4
- base size=28 base align=4
-Q3PtrDict<void> (0x52a5300) 0
- vptr=((& Q3PtrDict<void>::_ZTV9Q3PtrDictIvE) + 8u)
- Q3GDict (0x52a5340) 0
- primary-for Q3PtrDict<void> (0x52a5300)
- Q3PtrCollection (0x52a5380) 0
- primary-for Q3GDict (0x52a5340)
-
-Vtable for Q3PtrQueue<void>
-Q3PtrQueue<void>::_ZTV10Q3PtrQueueIvE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI10Q3PtrQueueIvE)
-8 Q3PtrQueue<type>::count [with type = void]
-12 Q3PtrQueue<type>::clear [with type = void]
-16 Q3PtrQueue<type>::~Q3PtrQueue [with type = void]
-20 Q3PtrQueue<type>::~Q3PtrQueue [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3PtrQueue<type>::deleteItem [with type = void]
-32 Q3GList::compareItems
-36 Q3GList::read
-40 Q3GList::write
-Class Q3PtrQueue<void>
- size=32 align=4
- base size=32 base align=4
-Q3PtrQueue<void> (0x52a5780) 0
- vptr=((& Q3PtrQueue<void>::_ZTV10Q3PtrQueueIvE) + 8u)
- Q3GList (0x52a57c0) 0
- primary-for Q3PtrQueue<void> (0x52a5780)
- Q3PtrCollection (0x52a5800) 0
- primary-for Q3GList (0x52a57c0)
-
-Vtable for Q3PtrStack<void>
-Q3PtrStack<void>::_ZTV10Q3PtrStackIvE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI10Q3PtrStackIvE)
-8 Q3PtrStack<type>::count [with type = void]
-12 Q3PtrStack<type>::clear [with type = void]
-16 Q3PtrStack<type>::~Q3PtrStack [with type = void]
-20 Q3PtrStack<type>::~Q3PtrStack [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3PtrStack<type>::deleteItem [with type = void]
-32 Q3GList::compareItems
-36 Q3GList::read
-40 Q3GList::write
-Class Q3PtrStack<void>
- size=32 align=4
- base size=32 base align=4
-Q3PtrStack<void> (0x52a5c00) 0
- vptr=((& Q3PtrStack<void>::_ZTV10Q3PtrStackIvE) + 8u)
- Q3GList (0x52a5c40) 0
- primary-for Q3PtrStack<void> (0x52a5c00)
- Q3PtrCollection (0x52a5c80) 0
- primary-for Q3GList (0x52a5c40)
+
+
Vtable for Q3Semaphore
Q3Semaphore::_ZTV11Q3Semaphore: 4u entries
@@ -18193,29 +17014,7 @@ Q3Signal (0x52a5f40) 0
QObject (0x52a5f80) 0
primary-for Q3Signal (0x52a5f40)
-Vtable for Q3PtrVector<char>
-Q3PtrVector<char>::_ZTV11Q3PtrVectorIcE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI11Q3PtrVectorIcE)
-8 Q3PtrVector<type>::count [with type = char]
-12 Q3PtrVector<type>::clear [with type = char]
-16 Q3PtrVector<type>::~Q3PtrVector [with type = char]
-20 Q3PtrVector<type>::~Q3PtrVector [with type = char]
-24 Q3PtrCollection::newItem
-28 Q3PtrVector<type>::deleteItem [with type = char]
-32 Q3GVector::compareItems
-36 Q3GVector::read
-40 Q3GVector::write
-Class Q3PtrVector<char>
- size=20 align=4
- base size=20 base align=4
-Q3PtrVector<char> (0x5314080) 0
- vptr=((& Q3PtrVector<char>::_ZTV11Q3PtrVectorIcE) + 8u)
- Q3GVector (0x53140c0) 0
- primary-for Q3PtrVector<char> (0x5314080)
- Q3PtrCollection (0x5314100) 0
- primary-for Q3GVector (0x53140c0)
Vtable for Q3StrVec
Q3StrVec::_ZTV8Q3StrVec: 11u entries
@@ -18521,15 +17320,7 @@ Q3GroupBox (0x538c1c0) 0
QPaintDevice (0x538c280) 8
vptr=((& Q3GroupBox::_ZTV10Q3GroupBox) + 236u)
-Class QMap<int, QAbstractButton*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<int, QAbstractButton*>::<anonymous union> (0x538c700) 0
-Class QMap<int, QAbstractButton*>
- size=4 align=4
- base size=4 base align=4
-QMap<int, QAbstractButton*> (0x538c640) 0
Vtable for Q3ButtonGroup
Q3ButtonGroup::_ZTV13Q3ButtonGroup: 64u entries
@@ -19242,25 +18033,9 @@ Q3DockWindow (0x5407a80) 0
QPaintDevice (0x5407b80) 8
vptr=((& Q3DockWindow::_ZTV12Q3DockWindow) + 304u)
-Class QList<QRect>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QRect>::<anonymous union> (0x5407f80) 0
-Class QList<QRect>
- size=4 align=4
- base size=4 base align=4
-QList<QRect> (0x5407ec0) 0
-Class QList<Q3DockWindow*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<Q3DockWindow*>::<anonymous union> (0x5407c40) 0
-Class QList<Q3DockWindow*>
- size=4 align=4
- base size=4 base align=4
-QList<Q3DockWindow*> (0x54074c0) 0
Vtable for Q3DockAreaLayout
Q3DockAreaLayout::_ZTV16Q3DockAreaLayout: 48u entries
@@ -19325,10 +18100,6 @@ Q3DockAreaLayout (0x5407d40) 0
QLayoutItem (0x5407dc0) 8
vptr=((& Q3DockAreaLayout::_ZTV16Q3DockAreaLayout) + 128u)
-Class QPointer<Q3DockArea>
- size=4 align=4
- base size=4 base align=4
-QPointer<Q3DockArea> (0x54d1680) 0
Class Q3DockArea::DockWindowData
size=24 align=4
@@ -20378,188 +19149,40 @@ Q3WidgetStack (0x57b5140) 0
QPaintDevice (0x57b5240) 8
vptr=((& Q3WidgetStack::_ZTV13Q3WidgetStack) + 248u)
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0x582a580) 0
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0x584e400) 0
-Class QList<QTreeWidgetItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::Node (0x596b0c0) 0
-Class QVectorTypedData<QVector<QWidgetItemData> >
- size=20 align=4
- base size=20 base align=4
-QVectorTypedData<QVector<QWidgetItemData> > (0x596b300) 0
-Class QVectorTypedData<QPoint>
- size=24 align=4
- base size=24 base align=4
-QVectorTypedData<QPoint> (0x596b5c0) 0
-Class QVectorTypedData<QPointF>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QPointF> (0x596bcc0) 0
-Class QVectorTypedData<QLineF>
- size=48 align=4
- base size=48 base align=4
-QVectorTypedData<QLineF> (0x599ca40) 0
-Class QVectorTypedData<QLine>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QLine> (0x599cc00) 0
-Class QVectorTypedData<QRectF>
- size=48 align=4
- base size=48 base align=4
-QVectorTypedData<QRectF> (0x599cdc0) 0
-Class QVectorTypedData<QRect>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QRect> (0x599cf80) 0
-Class QVectorTypedData<QPainterPath::Element>
- size=40 align=4
- base size=40 base align=4
-QVectorTypedData<QPainterPath::Element> (0x59c1c00) 0
-Class QVectorTypedData<QTextLength>
- size=28 align=4
- base size=28 base align=4
-QVectorTypedData<QTextLength> (0x59c1ec0) 0
-Class QVectorTypedData<QTextLayout::FormatRange>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QTextLayout::FormatRange> (0x59df1c0) 0
-Class QVectorTypedData<QAbstractTextDocumentLayout::Selection>
- size=28 align=4
- base size=28 base align=4
-QVectorTypedData<QAbstractTextDocumentLayout::Selection> (0x59df4c0) 0
-Class QList<QAction*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QAction*>::Node (0x5a03100) 0
-Class QLinkedListNode<Q3SqlFieldInfo>
- size=56 align=4
- base size=56 base align=4
-QLinkedListNode<Q3SqlFieldInfo> (0x5a23dc0) 0
-Class QHashNode<QVariant::Type, QItemEditorCreatorBase*>
- size=16 align=4
- base size=16 base align=4
-QHashNode<QVariant::Type, QItemEditorCreatorBase*> (0x5aef6c0) 0
-Class QTypeInfo<QTreeWidgetItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTreeWidgetItem*> (0x5aef880) 0 empty
-Class QTypeInfo<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLength> (0x5b1c1c0) 0 empty
-Class QTypeInfo<QTextLayout::FormatRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLayout::FormatRange> (0x5b1c400) 0 empty
-Class QTypeInfo<QAbstractTextDocumentLayout::Selection>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAbstractTextDocumentLayout::Selection> (0x5b1c880) 0 empty
-Class QTypeInfo<QAction*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAction*> (0x5b1cd80) 0 empty
-Class QTypeInfo<Q3TextEditOptimPrivate::Tag*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<Q3TextEditOptimPrivate::Tag*> (0x5b38940) 0 empty
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0x5b75200) 0
-Class QList<QVariant>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::Node (0x5b75440) 0
-Class QTypeInfo<QStyleOptionQ3ListViewItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QStyleOptionQ3ListViewItem> (0x5b757c0) 0 empty
-Class QList<QStyleOptionQ3ListViewItem>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::Node (0x5b75880) 0
-Class QList<QItemSelectionRange>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::Node (0x5b75c40) 0
-Class QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union> (0x5b75f80) 0
-Class QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union> (0x5bab600) 0
-Class QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union> (0x5babd00) 0
-Class QMap<Key, T>::detach_helper() [with Key = int, T = Q3TextEditOptimPrivate::Tag*]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<Key, T>::detach_helper() [with Key = int, T = Q3TextEditOptimPrivate::Tag*]::<anonymous union> (0x5bf6a40) 0
-Class QList<QRect>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QRect>::Node (0x5bf6bc0) 0
-Class QTypeInfo<Q3DockWindow*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<Q3DockWindow*> (0x5bf6d80) 0 empty
-Class QList<Q3DockWindow*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<Q3DockWindow*>::Node (0x5bf6e40) 0
-Class QLinkedList<T>::detach_helper() [with T = Q3SqlFieldInfo]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QLinkedList<T>::detach_helper() [with T = Q3SqlFieldInfo]::<anonymous union> (0x5c24540) 0
-Class QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union> (0x5c247c0) 0
diff --git a/tests/auto/bic/data/Qt3Support.4.1.0.linux-gcc-ia32.txt b/tests/auto/bic/data/Qt3Support.4.1.0.linux-gcc-ia32.txt
index 8ac62de..7afe2b3 100644
--- a/tests/auto/bic/data/Qt3Support.4.1.0.linux-gcc-ia32.txt
+++ b/tests/auto/bic/data/Qt3Support.4.1.0.linux-gcc-ia32.txt
@@ -18,145 +18,37 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0x40b2c000) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0x40b2c0c0) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0x40b2c100) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0x40b2c140) 0 empty
-Class QTypeInfo<uchar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uchar> (0x40b2c180) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0x40b2c1c0) 0 empty
-Class QTypeInfo<ushort>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ushort> (0x40b2c200) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0x40b2c240) 0 empty
-Class QTypeInfo<uint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uint> (0x40b2c280) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0x40b2c2c0) 0 empty
-Class QTypeInfo<ulong>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ulong> (0x40b2c300) 0 empty
-Class QTypeInfo<qint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<qint64> (0x40b2c340) 0 empty
-Class QTypeInfo<quint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<quint64> (0x40b2c380) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0x40b2c3c0) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0x40b2c400) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0x40b2c440) 0 empty
Class QFlag
size=4 align=4
base size=4 base align=4
QFlag (0x40b2c480) 0
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0x40b2c640) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0x40b2c6c0) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0x40b2c740) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0x40b2c7c0) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0x40b2c840) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0x40b2c8c0) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0x40b2c940) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0x40b2c9c0) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0x40b2ca40) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0x40b2cac0) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0x40b2cb40) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0x40b2cbc0) 0
Class QInternal
size=1 align=1
@@ -174,10 +66,6 @@ Class QGenericReturnArgument
QGenericReturnArgument (0x40b2cd00) 0
QGenericArgument (0x40b2cd40) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0x40b2cf40) 0
Class QMetaObject
size=16 align=4
@@ -194,10 +82,6 @@ Class QChar
base size=2 base align=2
QChar (0x42447040) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0x42447100) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -230,10 +114,6 @@ Class QByteRef
base size=8 base align=4
QByteRef (0x42447800) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0x42447880) 0 empty
Class QString::Null
size=1 align=1
@@ -255,10 +135,6 @@ Class QLatin1String
base size=4 base align=4
QLatin1String (0x42447ac0) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0x42447c00) 0
Class QCharRef
size=8 align=4
@@ -271,10 +147,6 @@ Class QConstString
QConstString (0x42447dc0) 0
QString (0x42447e00) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0x42447e80) 0 empty
Vtable for std::exception
std::exception::_ZTVSt9exception: 5u entries
@@ -337,15 +209,7 @@ Class QListData
base size=4 base align=4
QListData (0x426fe340) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0x426fe780) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0x426fe6c0) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -437,10 +301,6 @@ QIODevice (0x426fe9c0) 0
QObject (0x426fea00) 0
primary-for QIODevice (0x426fe9c0)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0x426feb40) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -470,10 +330,6 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0x426fed00) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0x426fed40) 0 empty
Class QMapData::Node
size=8 align=4
@@ -485,10 +341,6 @@ Class QMapData
base size=72 base align=4
QMapData (0x428612c0) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0x428618c0) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -513,15 +365,7 @@ Class QTextCodec
QTextCodec (0x428617c0) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0x42861b40) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0x42861a80) 0
Class QTextEncoder
size=32 align=4
@@ -533,30 +377,10 @@ Class QTextDecoder
base size=32 base align=4
QTextDecoder (0x42861c00) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x42861c80) 0
-Class <anonymous struct>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct>::<anonymous union> (0x42861d00) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x42861cc0) 0
-Class <anonymous struct>
- size=12 align=4
- base size=12 base align=4
-<anonymous struct> (0x42861d40) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0x42861d80) 0
Class __gconv_trans_data
size=20 align=4
@@ -578,15 +402,7 @@ Class __gconv_info
base size=8 base align=4
__gconv_info (0x42861e80) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0x42861f00) 0
-Class <anonymous union>
- size=44 align=4
- base size=44 base align=4
-<anonymous union> (0x42861ec0) 0
Class _IO_marker
size=12 align=4
@@ -598,10 +414,6 @@ Class _IO_FILE
base size=148 base align=4
_IO_FILE (0x42861f80) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0x42861fc0) 0
Vtable for QTextStream
QTextStream::_ZTV11QTextStream: 4u entries
@@ -616,10 +428,6 @@ Class QTextStream
QTextStream (0x42861140) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0x42a00000) 0
Class QTextStreamManipulator
size=24 align=4
@@ -656,40 +464,16 @@ QTextOStream (0x42a00340) 0
QTextStream (0x42a00380) 0
primary-for QTextOStream (0x42a00340)
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0x42a00540) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0x42a00580) 0
Class wait
size=4 align=4
base size=4 base align=4
wait (0x42a00500) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x42a005c0) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x42a00600) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0x42a00640) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0x42a00680) 0
Class timespec
size=8 align=4
@@ -701,10 +485,6 @@ Class timeval
base size=8 base align=4
timeval (0x42a00700) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0x42a00740) 0
Class __sched_param
size=4 align=4
@@ -721,45 +501,17 @@ Class __pthread_attr_s
base size=36 base align=4
__pthread_attr_s (0x42a00800) 0
-Class <anonymous struct>
- size=48 align=4
- base size=48 base align=4
-<anonymous struct> (0x42a00840) 0
-Class <anonymous struct>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct> (0x42a00880) 0
-Class <anonymous struct>
- size=24 align=4
- base size=24 base align=4
-<anonymous struct> (0x42a008c0) 0
-Class <anonymous struct>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct> (0x42a00900) 0
Class _pthread_rwlock_t
size=32 align=4
base size=32 base align=4
_pthread_rwlock_t (0x42a00940) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x42a00980) 0
-Class <anonymous struct>
- size=20 align=4
- base size=20 base align=4
-<anonymous struct> (0x42a009c0) 0
-Class <anonymous struct>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct> (0x42a00a00) 0
Class random_data
size=28 align=4
@@ -830,10 +582,6 @@ QFile (0x42a00f40) 0
QObject (0x42a00fc0) 0
primary-for QIODevice (0x42a00f80)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0x42a00ec0) 0
Vtable for QTemporaryFile
QTemporaryFile::_ZTV14QTemporaryFile: 31u entries
@@ -886,50 +634,22 @@ Class QFileInfo
base size=4 base align=4
QFileInfo (0x42b31180) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0x42b31200) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0x42b31240) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0x42b31380) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0x42b312c0) 0
Class QRegExp
size=4 align=4
base size=4 base align=4
QRegExp (0x42b313c0) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0x42b31440) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0x42b31480) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0x42b315c0) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0x42b31500) 0
Class QStringList
size=4 align=4
@@ -937,30 +657,14 @@ Class QStringList
QStringList (0x42b31600) 0
QList<QString> (0x42b31640) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0x42b31880) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0x42b31900) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0x42b31b00) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0x42b31bc0) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0x42b31c40) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -1017,10 +721,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0x42b31c80) 0
vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0x42b31e40) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -1175,110 +875,30 @@ Class QUrl
base size=4 base align=4
QUrl (0x42c4e200) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0x42c4e2c0) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0x42c4e300) 0 empty
Class QMetaType
size=1 align=1
base size=0 base align=1
QMetaType (0x42c4e340) 0 empty
-Class QMetaTypeId<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QString> (0x42c4e3c0) 0 empty
-Class QMetaTypeId<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<int> (0x42c4e400) 0 empty
-Class QMetaTypeId<uint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<uint> (0x42c4e440) 0 empty
-Class QMetaTypeId<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<bool> (0x42c4e480) 0 empty
-Class QMetaTypeId<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<double> (0x42c4e4c0) 0 empty
-Class QMetaTypeId<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QByteArray> (0x42c4e500) 0 empty
-Class QMetaTypeId<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QChar> (0x42c4e540) 0 empty
-Class QMetaTypeId<void>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<void> (0x42c4e580) 0 empty
-Class QMetaTypeId<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<long int> (0x42c4e5c0) 0 empty
-Class QMetaTypeId<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<short int> (0x42c4e600) 0 empty
-Class QMetaTypeId<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<char> (0x42c4e640) 0 empty
-Class QMetaTypeId<ulong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<ulong> (0x42c4e680) 0 empty
-Class QMetaTypeId<ushort>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<ushort> (0x42c4e6c0) 0 empty
-Class QMetaTypeId<uchar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<uchar> (0x42c4e700) 0 empty
-Class QMetaTypeId<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<float> (0x42c4e740) 0 empty
-Class QMetaTypeId<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QObject*> (0x42c4e780) 0 empty
-Class QMetaTypeId<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QWidget*> (0x42c4e7c0) 0 empty
-Class QMetaTypeId<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<void*> (0x42c4e800) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -1305,35 +925,15 @@ Class QVariant
base size=12 base align=4
QVariant (0x42c4e840) 0
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0x42c4ee00) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0x42c4ed40) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0x42c4ef80) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0x42c4eec0) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0x42c4efc0) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0x42d4f0c0) 0 empty
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1365,80 +965,48 @@ Class QPoint
base size=8 base align=4
QPoint (0x42d4f300) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0x42d4f740) 0 empty
Class QPointF
size=16 align=4
base size=16 base align=4
QPointF (0x42d4f800) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0x42d4fc40) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0x42d4fd40) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0x42d4fd80) 0 empty
Class QLineF
size=32 align=4
base size=32 base align=4
QLineF (0x42d4fe80) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0x42d4ff00) 0 empty
Class QSize
size=8 align=4
base size=8 base align=4
QSize (0x42d4f180) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0x42d4f640) 0 empty
Class QSizeF
size=16 align=4
base size=16 base align=4
QSizeF (0x42d4f9c0) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0x42e54180) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0x42e54380) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0x42e54580) 0 empty
Class QRectF
size=32 align=4
base size=32 base align=4
QRectF (0x42e54680) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0x42e54800) 0 empty
Class QLinkedListData
size=20 align=4
@@ -1455,10 +1023,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0x42e54e40) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0x42e54ec0) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -1475,40 +1039,24 @@ Class QLocale
base size=4 base align=4
QLocale (0x42e54440) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0x42e544c0) 0 empty
Class QDate
size=4 align=4
base size=4 base align=4
QDate (0x4302e080) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0x4302e200) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0x4302e240) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0x4302e3c0) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0x4302e400) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0x4302e540) 0 empty
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -1668,10 +1216,6 @@ QEventLoop (0x4302ecc0) 0
QObject (0x4302ed00) 0
primary-for QEventLoop (0x4302ecc0)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0x4302ee40) 0
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -1763,20 +1307,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0x4302ed80) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0x43146040) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0x43146080) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0x43146140) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -1996,10 +1532,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0x43146740) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0x43146800) 0 empty
Vtable for QSocketNotifier
QSocketNotifier::_ZTV15QSocketNotifier: 14u entries
@@ -2094,20 +1626,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0x43146b40) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0x43146bc0) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0x43146c00) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0x43146c80) 0 empty
Class QMetaProperty
size=20 align=4
@@ -2119,10 +1643,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0x43146d00) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0x43146d80) 0 empty
Vtable for QPluginLoader
QPluginLoader::_ZTV13QPluginLoader: 14u entries
@@ -2245,25 +1765,9 @@ Class QWriteLocker
base size=4 base align=4
QWriteLocker (0x43245200) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x43245340) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x43245380) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x432453c0) 0
-Class QColor::<anonymous union>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union> (0x43245300) 0
Class QColor
size=16 align=4
@@ -2280,55 +1784,23 @@ Class QPen
base size=4 base align=4
QPen (0x43245800) 0
-Class QTypeInfo<QPen>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPen> (0x43245940) 0 empty
Class QBrush
size=4 align=4
base size=4 base align=4
QBrush (0x43245980) 0
-Class QTypeInfo<QBrush>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBrush> (0x432459c0) 0 empty
Class QBrushData
size=24 align=4
base size=24 base align=4
QBrushData (0x43245a00) 0
-Class QVector<QGradientStop>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QGradientStop>::<anonymous union> (0x43245bc0) 0
-Class QVector<QGradientStop>
- size=4 align=4
- base size=4 base align=4
-QVector<QGradientStop> (0x43245b00) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=32 align=4
- base size=32 base align=4
-QGradient::<anonymous union>::<anonymous struct> (0x43245c40) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=40 align=4
- base size=40 base align=4
-QGradient::<anonymous union>::<anonymous struct> (0x43245c80) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=24 align=4
- base size=24 base align=4
-QGradient::<anonymous union>::<anonymous struct> (0x43245cc0) 0
-Class QGradient::<anonymous union>
- size=40 align=4
- base size=40 base align=4
-QGradient::<anonymous union> (0x43245c00) 0
Class QGradient
size=56 align=4
@@ -2358,25 +1830,13 @@ Class QTextLength
base size=12 base align=4
QTextLength (0x43245e80) 0
-Class QSharedDataPointer<QTextFormatPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextFormatPrivate> (0x43245780) 0
Class QTextFormat
size=8 align=4
base size=8 base align=4
QTextFormat (0x43245480) 0
-Class QVector<QTextLength>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength>::<anonymous union> (0x4330b080) 0
-Class QVector<QTextLength>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength> (0x43245f40) 0
Class QTextCharFormat
size=8 align=4
@@ -2516,10 +1976,6 @@ QTextFrame (0x4330b740) 0
QObject (0x4330b7c0) 0
primary-for QTextObject (0x4330b780)
-Class QTypeInfo<QTextFrame::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFrame::iterator> (0x4330ba40) 0 empty
Vtable for QTextBlockUserData
QTextBlockUserData::_ZTV18QTextBlockUserData: 4u entries
@@ -2544,25 +2000,13 @@ Class QTextBlock
base size=8 base align=4
QTextBlock (0x4330bb40) 0
-Class QTypeInfo<QTextBlock>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock> (0x4330bd40) 0 empty
-Class QTypeInfo<QTextBlock::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock::iterator> (0x4330bd80) 0 empty
Class QTextFragment
size=12 align=4
base size=12 base align=4
QTextFragment (0x4330bdc0) 0
-Class QTypeInfo<QTextFragment>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFragment> (0x4330bec0) 0 empty
Class QFontMetrics
size=4 align=4
@@ -2622,20 +2066,12 @@ QTextDocument (0x4330b840) 0
QObject (0x4340e000) 0
primary-for QTextDocument (0x4330b840)
-Class QFlags<QTextDocument::FindFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextDocument::FindFlag> (0x4340e140) 0
Class QTextOption
size=24 align=4
base size=24 base align=4
QTextOption (0x4340e180) 0
-Class QFlags<QTextOption::Flag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextOption::Flag> (0x4340e200) 0
Class QTextTableCell
size=8 align=4
@@ -2686,10 +2122,6 @@ Class QKeySequence
base size=4 base align=4
QKeySequence (0x4340e880) 0
-Class QTypeInfo<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QKeySequence> (0x4340e9c0) 0 empty
Vtable for QMimeSource
QMimeSource::_ZTV11QMimeSource: 7u entries
@@ -2987,15 +2419,7 @@ Class QInputMethodEvent::Attribute
base size=24 base align=4
QInputMethodEvent::Attribute (0x434dea40) 0
-Class QList<QInputMethodEvent::Attribute>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute>::<anonymous union> (0x434debc0) 0
-Class QList<QInputMethodEvent::Attribute>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute> (0x434deb00) 0
Vtable for QInputMethodEvent
QInputMethodEvent::_ZTV17QInputMethodEvent: 4u entries
@@ -3294,15 +2718,7 @@ Class QTextLayout
base size=4 base align=4
QTextLayout (0x435409c0) 0
-Class QVector<QTextLayout::FormatRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange>::<anonymous union> (0x43540c00) 0
-Class QVector<QTextLayout::FormatRange>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange> (0x43540b40) 0
Class QTextLine
size=8 align=4
@@ -3351,10 +2767,6 @@ Class QTextDocumentFragment
base size=4 base align=4
QTextDocumentFragment (0x43540280) 0
-Class QSharedDataPointer<QTextCursorPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextCursorPrivate> (0x43540580) 0
Class QTextCursor
size=4 align=4
@@ -3377,15 +2789,7 @@ Class QAbstractTextDocumentLayout::Selection
base size=12 base align=4
QAbstractTextDocumentLayout::Selection (0x435f4240) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union> (0x435f4400) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection> (0x435f4340) 0
Class QAbstractTextDocumentLayout::PaintContext
size=48 align=4
@@ -4238,10 +3642,6 @@ QFileDialog (0x43761640) 0
QPaintDevice (0x43761740) 8
vptr=((& QFileDialog::_ZTV11QFileDialog) + 244u)
-Class QFlags<QFileDialog::Option>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileDialog::Option> (0x437618c0) 0
Vtable for QAbstractPrintDialog
QAbstractPrintDialog::_ZTV20QAbstractPrintDialog: 67u entries
@@ -4327,10 +3727,6 @@ QAbstractPrintDialog (0x43761900) 0
QPaintDevice (0x43761a00) 8
vptr=((& QAbstractPrintDialog::_ZTV20QAbstractPrintDialog) + 248u)
-Class QFlags<QAbstractPrintDialog::PrintDialogOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractPrintDialog::PrintDialogOption> (0x43761b40) 0
Vtable for QPrintDialog
QPrintDialog::_ZTV12QPrintDialog: 67u entries
@@ -4766,10 +4162,6 @@ QImage (0x43838240) 0
QPaintDevice (0x43838280) 0
primary-for QImage (0x43838240)
-Class QTypeInfo<QImage>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QImage> (0x43838380) 0 empty
Vtable for QPixmap
QPixmap::_ZTV7QPixmap: 7u entries
@@ -4876,10 +4268,6 @@ QImageIOPlugin (0x43838740) 0
QFactoryInterface (0x43838800) 8 nearly-empty
primary-for QImageIOHandlerFactoryInterface (0x438387c0)
-Class QFlags<QImageIOPlugin::Capability>
- size=4 align=4
- base size=4 base align=4
-QFlags<QImageIOPlugin::Capability> (0x43838900) 0
Vtable for QPicture
QPicture::_ZTV8QPicture: 8u entries
@@ -4999,10 +4387,6 @@ Class QIcon
base size=4 base align=4
QIcon (0x43838f80) 0
-Class QTypeInfo<QIcon>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QIcon> (0x43838100) 0 empty
Vtable for QIconEngine
QIconEngine::_ZTV11QIconEngine: 9u entries
@@ -5154,15 +4538,7 @@ Class QPrintEngine
QPrintEngine (0x43956540) 0 nearly-empty
vptr=((& QPrintEngine::_ZTV12QPrintEngine) + 8u)
-Class QVector<QPoint>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint>::<anonymous union> (0x43956740) 0
-Class QVector<QPoint>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint> (0x43956680) 0
Class QPolygon
size=4 align=4
@@ -5170,15 +4546,7 @@ Class QPolygon
QPolygon (0x43956780) 0
QVector<QPoint> (0x439567c0) 0
-Class QVector<QPointF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF>::<anonymous union> (0x43956a40) 0
-Class QVector<QPointF>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF> (0x43956980) 0
Class QPolygonF
size=4 align=4
@@ -5191,60 +4559,20 @@ Class QMatrix
base size=48 base align=4
QMatrix (0x43956c40) 0
-Class QTypeInfo<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMatrix> (0x43956c80) 0 empty
Class QPainter
size=4 align=4
base size=4 base align=4
QPainter (0x43956cc0) 0
-Class QFlags<QPainter::RenderHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPainter::RenderHint> (0x43956dc0) 0
-Class QVector<QLineF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF>::<anonymous union> (0x43956f40) 0
-Class QVector<QLineF>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF> (0x43956e80) 0
-Class QVector<QLine>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine>::<anonymous union> (0x43956580) 0
-Class QVector<QLine>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine> (0x43956100) 0
-Class QVector<QRectF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF>::<anonymous union> (0x43a82100) 0
-Class QVector<QRectF>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF> (0x43a82040) 0
-Class QVector<QRect>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect>::<anonymous union> (0x43a82280) 0
-Class QVector<QRect>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect> (0x43a821c0) 0
Vtable for QStyle
QStyle::_ZTV6QStyle: 35u entries
@@ -5292,15 +4620,7 @@ QStyle (0x43a822c0) 0
QObject (0x43a82300) 0
primary-for QStyle (0x43a822c0)
-Class QFlags<QStyle::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::StateFlag> (0x43a82440) 0
-Class QFlags<QStyle::SubControl>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::SubControl> (0x43a824c0) 0
Class QStylePainter
size=12 align=4
@@ -5318,25 +4638,13 @@ Class QPainterPath
base size=4 base align=4
QPainterPath (0x43a82680) 0
-Class QVector<QPainterPath::Element>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element>::<anonymous union> (0x43a82a80) 0
-Class QVector<QPainterPath::Element>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element> (0x43a829c0) 0
Class QPainterPathPrivate
size=8 align=4
base size=8 base align=4
QPainterPathPrivate (0x43a82800) 0
-Class QTypeInfo<QPainterPath::Element>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPainterPath::Element> (0x43a82ac0) 0 empty
Class QPainterPathStroker
size=4 align=4
@@ -5348,15 +4656,7 @@ Class QTextItem
base size=0 base align=1
QTextItem (0x43a82b80) 0 empty
-Class QTypeInfo<QTextItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextItem> (0x43a82bc0) 0 empty
-Class QFlags<QPaintEngine::PaintEngineFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::PaintEngineFeature> (0x43a82cc0) 0
Vtable for QPaintEngine
QPaintEngine::_ZTV12QPaintEngine: 24u entries
@@ -5391,30 +4691,18 @@ Class QPaintEngine
QPaintEngine (0x43a82c00) 0
vptr=((& QPaintEngine::_ZTV12QPaintEngine) + 8u)
-Class QFlags<QPaintEngine::DirtyFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::DirtyFlag> (0x43a82e40) 0
Class QPaintEngineState
size=4 align=4
base size=4 base align=4
QPaintEngineState (0x43a82d80) 0
-Class QFlags<QTextItem::RenderFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextItem::RenderFlag> (0x43a82ec0) 0
Class QItemSelectionRange
size=8 align=4
base size=8 base align=4
QItemSelectionRange (0x43a82f00) 0
-Class QTypeInfo<QItemSelectionRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QItemSelectionRange> (0x43a82380) 0 empty
Vtable for QItemSelectionModel
QItemSelectionModel::_ZTV19QItemSelectionModel: 18u entries
@@ -5445,20 +4733,8 @@ QItemSelectionModel (0x43a82780) 0
QObject (0x43a82c40) 0
primary-for QItemSelectionModel (0x43a82780)
-Class QFlags<QItemSelectionModel::SelectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QItemSelectionModel::SelectionFlag> (0x43bfc000) 0
-Class QList<QItemSelectionRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::<anonymous union> (0x43bfc140) 0
-Class QList<QItemSelectionRange>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange> (0x43bfc080) 0
Class QItemSelection
size=4 align=4
@@ -5466,10 +4742,6 @@ Class QItemSelection
QItemSelection (0x43bfc180) 0
QList<QItemSelectionRange> (0x43bfc1c0) 0
-Class QFlags<QTreeWidgetItemIterator::IteratorFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTreeWidgetItemIterator::IteratorFlag> (0x43bfc300) 0
Class QTreeWidgetItemIterator
size=12 align=4
@@ -5757,10 +5029,6 @@ QAbstractSpinBox (0x43bfc9c0) 0
QPaintDevice (0x43bfca80) 8
vptr=((& QAbstractSpinBox::_ZTV16QAbstractSpinBox) + 252u)
-Class QFlags<QAbstractSpinBox::StepEnabledFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractSpinBox::StepEnabledFlag> (0x43bfcb80) 0
Vtable for QAbstractSlider
QAbstractSlider::_ZTV15QAbstractSlider: 64u entries
@@ -6179,10 +5447,6 @@ Class QStyleOptionFrame
QStyleOptionFrame (0x43d1e280) 0
QStyleOption (0x43d1e2c0) 0
-Class QFlags<QStyleOptionFrameV2::FrameFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionFrameV2::FrameFeature> (0x43d1e500) 0
Class QStyleOptionFrameV2
size=56 align=4
@@ -6209,10 +5473,6 @@ Class QStyleOptionHeader
QStyleOptionHeader (0x43d1e980) 0
QStyleOption (0x43d1e9c0) 0
-Class QFlags<QStyleOptionButton::ButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionButton::ButtonFeature> (0x43d1ec00) 0
Class QStyleOptionButton
size=64 align=4
@@ -6220,10 +5480,6 @@ Class QStyleOptionButton
QStyleOptionButton (0x43d1eb00) 0
QStyleOption (0x43d1eb40) 0
-Class QFlags<QStyleOptionTab::CornerWidget>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionTab::CornerWidget> (0x43d1ee40) 0
Class QStyleOptionTab
size=72 align=4
@@ -6238,10 +5494,6 @@ QStyleOptionTabV2 (0x43d1ef40) 0
QStyleOptionTab (0x43d1ef80) 0
QStyleOption (0x43d1efc0) 0
-Class QFlags<QStyleOptionToolBar::ToolBarFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionToolBar::ToolBarFeature> (0x43d1edc0) 0
Class QStyleOptionToolBar
size=68 align=4
@@ -6268,10 +5520,6 @@ Class QStyleOptionMenuItem
QStyleOptionMenuItem (0x43db2280) 0
QStyleOption (0x43db22c0) 0
-Class QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature> (0x43db24c0) 0
Class QStyleOptionQ3ListViewItem
size=64 align=4
@@ -6329,15 +5577,7 @@ QStyleOptionSpinBox (0x43db2f80) 0
QStyleOptionComplex (0x43db2fc0) 0
QStyleOption (0x43db2100) 0
-Class QList<QStyleOptionQ3ListViewItem>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::<anonymous union> (0x43db2e00) 0
-Class QList<QStyleOptionQ3ListViewItem>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem> (0x43db2a00) 0
Class QStyleOptionQ3ListView
size=84 align=4
@@ -6346,10 +5586,6 @@ QStyleOptionQ3ListView (0x43db2500) 0
QStyleOptionComplex (0x43db2640) 0
QStyleOption (0x43db2780) 0
-Class QFlags<QStyleOptionToolButton::ToolButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionToolButton::ToolButtonFeature> (0x43e36200) 0
Class QStyleOptionToolButton
size=96 align=4
@@ -6544,10 +5780,6 @@ QAbstractItemView (0x43e369c0) 0
QPaintDevice (0x43e36b00) 8
vptr=((& QAbstractItemView::_ZTV17QAbstractItemView) + 392u)
-Class QFlags<QAbstractItemView::EditTrigger>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractItemView::EditTrigger> (0x43e36c40) 0
Vtable for QStringListModel
QStringListModel::_ZTV16QStringListModel: 42u entries
@@ -6730,15 +5962,7 @@ QListView (0x43e36e00) 0
QPaintDevice (0x43e36f80) 8
vptr=((& QListView::_ZTV9QListView) + 392u)
-Class QVector<QWidgetItemData>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData>::<anonymous union> (0x43e36940) 0
-Class QVector<QWidgetItemData>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData> (0x43e36400) 0
Vtable for QListWidgetItem
QListWidgetItem::_ZTV15QListWidgetItem: 11u entries
@@ -7780,15 +7004,7 @@ Class QItemEditorCreatorBase
QItemEditorCreatorBase (0x43fe7480) 0 nearly-empty
vptr=((& QItemEditorCreatorBase::_ZTV22QItemEditorCreatorBase) + 8u)
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union> (0x43fe7780) 0
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*> (0x43fe76c0) 0
Vtable for QItemEditorFactory
QItemEditorFactory::_ZTV18QItemEditorFactory: 6u entries
@@ -7805,25 +7021,9 @@ Class QItemEditorFactory
QItemEditorFactory (0x43fe7600) 0
vptr=((& QItemEditorFactory::_ZTV18QItemEditorFactory) + 8u)
-Class QVector<QVector<QWidgetItemData> >::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> >::<anonymous union> (0x43fe7a00) 0
-Class QVector<QVector<QWidgetItemData> >
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> > (0x43fe7940) 0
-Class QList<QTreeWidgetItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::<anonymous union> (0x43fe7b80) 0
-Class QList<QTreeWidgetItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*> (0x43fe7ac0) 0
Vtable for QTreeWidgetItem
QTreeWidgetItem::_ZTV15QTreeWidgetItem: 10u entries
@@ -8050,15 +7250,7 @@ Class QAccessible
base size=0 base align=1
QAccessible (0x43fe7c00) 0 empty
-Class QFlags<QAccessible::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::StateFlag> (0x440d8000) 0
-Class QFlags<QAccessible::RelationFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::RelationFlag> (0x440d8080) 0
Vtable for QAccessibleInterface
QAccessibleInterface::_ZTV20QAccessibleInterface: 19u entries
@@ -8906,15 +8098,7 @@ QActionGroup (0x44175b40) 0
QObject (0x44175b80) 0
primary-for QActionGroup (0x44175b40)
-Class QList<QAction*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QAction*>::<anonymous union> (0x44175d80) 0
-Class QList<QAction*>
- size=4 align=4
- base size=4 base align=4
-QList<QAction*> (0x44175cc0) 0
Vtable for QSound
QSound::_ZTV6QSound: 14u entries
@@ -9055,10 +8239,6 @@ QCommonStyle (0x44175300) 0
QObject (0x44175680) 0
primary-for QStyle (0x441754c0)
-Class QPointer<QFocusFrame>
- size=4 align=4
- base size=4 base align=4
-QPointer<QFocusFrame> (0x44175fc0) 0
Vtable for QMotifStyle
QMotifStyle::_ZTV11QMotifStyle: 35u entries
@@ -10586,10 +9766,6 @@ QDateEdit (0x443531c0) 0
QPaintDevice (0x44353a80) 8
vptr=((& QDateEdit::_ZTV9QDateEdit) + 260u)
-Class QFlags<QDateTimeEdit::Section>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDateTimeEdit::Section> (0x44353fc0) 0
Vtable for QLabel
QLabel::_ZTV6QLabel: 63u entries
@@ -10749,10 +9925,6 @@ QDockWidget (0x444051c0) 0
QPaintDevice (0x44405280) 8
vptr=((& QDockWidget::_ZTV11QDockWidget) + 232u)
-Class QFlags<QDockWidget::DockWidgetFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDockWidget::DockWidgetFeature> (0x444053c0) 0
Vtable for QGroupBox
QGroupBox::_ZTV9QGroupBox: 63u entries
@@ -12638,15 +11810,7 @@ Class QSqlRecord
base size=4 base align=4
QSqlRecord (0x4461bc40) 0
-Class QList<bool>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<bool>::<anonymous union> (0x4461be40) 0
-Class QList<bool>
- size=4 align=4
- base size=4 base align=4
-QList<bool> (0x4461bd80) 0
Class QSqlIndex
size=16 align=4
@@ -12654,10 +11818,6 @@ Class QSqlIndex
QSqlIndex (0x4461bc80) 0
QSqlRecord (0x4461bcc0) 0
-Class QFlags<QSql::ParamTypeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QSql::ParamTypeFlag> (0x4461bf00) 0
Vtable for QSqlResult
QSqlResult::_ZTV10QSqlResult: 29u entries
@@ -13334,29 +12494,7 @@ Q3GVector (0x44710f40) 0
Q3PtrCollection (0x44710f80) 0
primary-for Q3GVector (0x44710f40)
-Vtable for Q3PtrVector<void>
-Q3PtrVector<void>::_ZTV11Q3PtrVectorIvE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI11Q3PtrVectorIvE)
-8 Q3PtrVector<type>::count [with type = void]
-12 Q3PtrVector<type>::clear [with type = void]
-16 Q3PtrVector<type>::~Q3PtrVector [with type = void]
-20 Q3PtrVector<type>::~Q3PtrVector [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3PtrVector<type>::deleteItem [with type = void]
-32 Q3GVector::compareItems
-36 Q3GVector::read
-40 Q3GVector::write
-Class Q3PtrVector<void>
- size=20 align=4
- base size=20 base align=4
-Q3PtrVector<void> (0x44710940) 0
- vptr=((& Q3PtrVector<void>::_ZTV11Q3PtrVectorIvE) + 8u)
- Q3GVector (0x44710b00) 0
- primary-for Q3PtrVector<void> (0x44710940)
- Q3PtrCollection (0x44710d40) 0
- primary-for Q3GVector (0x44710b00)
Vtable for Q3Header
Q3Header::_ZTV8Q3Header: 76u entries
@@ -13513,29 +12651,7 @@ Class Q3GListStdIterator
base size=4 base align=4
Q3GListStdIterator (0x447ea580) 0
-Vtable for Q3PtrList<void>
-Q3PtrList<void>::_ZTV9Q3PtrListIvE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI9Q3PtrListIvE)
-8 Q3PtrList<type>::count [with type = void]
-12 Q3PtrList<type>::clear [with type = void]
-16 Q3PtrList<type>::~Q3PtrList [with type = void]
-20 Q3PtrList<type>::~Q3PtrList [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3PtrList<type>::deleteItem [with type = void]
-32 Q3GList::compareItems
-36 Q3GList::read
-40 Q3GList::write
-Class Q3PtrList<void>
- size=32 align=4
- base size=32 base align=4
-Q3PtrList<void> (0x447ea780) 0
- vptr=((& Q3PtrList<void>::_ZTV9Q3PtrListIvE) + 8u)
- Q3GList (0x447ea7c0) 0
- primary-for Q3PtrList<void> (0x447ea780)
- Q3PtrCollection (0x447ea800) 0
- primary-for Q3GList (0x447ea7c0)
Class Q3BaseBucket
size=8 align=4
@@ -13592,28 +12708,7 @@ Class Q3GDictIterator
base size=12 base align=4
Q3GDictIterator (0x447eae00) 0
-Vtable for Q3IntDict<void>
-Q3IntDict<void>::_ZTV9Q3IntDictIvE: 10u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI9Q3IntDictIvE)
-8 Q3IntDict<type>::count [with type = void]
-12 Q3IntDict<type>::clear [with type = void]
-16 Q3IntDict<type>::~Q3IntDict [with type = void]
-20 Q3IntDict<type>::~Q3IntDict [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3IntDict<type>::deleteItem [with type = void]
-32 Q3GDict::read
-36 Q3GDict::write
-Class Q3IntDict<void>
- size=28 align=4
- base size=28 base align=4
-Q3IntDict<void> (0x447eaf40) 0
- vptr=((& Q3IntDict<void>::_ZTV9Q3IntDictIvE) + 8u)
- Q3GDict (0x447eaf80) 0
- primary-for Q3IntDict<void> (0x447eaf40)
- Q3PtrCollection (0x447eafc0) 0
- primary-for Q3GDict (0x447eaf80)
Class Q3TableSelection
size=28 align=4
@@ -13724,100 +12819,13 @@ Class Q3Table::TableWidget
base size=12 base align=4
Q3Table::TableWidget (0x448e7440) 0
-Vtable for Q3PtrVector<Q3TableItem>
-Q3PtrVector<Q3TableItem>::_ZTV11Q3PtrVectorI11Q3TableItemE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI11Q3PtrVectorI11Q3TableItemE)
-8 Q3PtrVector<type>::count [with type = Q3TableItem]
-12 Q3PtrVector<type>::clear [with type = Q3TableItem]
-16 Q3PtrVector<type>::~Q3PtrVector [with type = Q3TableItem]
-20 Q3PtrVector<type>::~Q3PtrVector [with type = Q3TableItem]
-24 Q3PtrCollection::newItem
-28 Q3PtrVector<type>::deleteItem [with type = Q3TableItem]
-32 Q3GVector::compareItems
-36 Q3GVector::read
-40 Q3GVector::write
-Class Q3PtrVector<Q3TableItem>
- size=20 align=4
- base size=20 base align=4
-Q3PtrVector<Q3TableItem> (0x448e7500) 0
- vptr=((& Q3PtrVector<Q3TableItem>::_ZTV11Q3PtrVectorI11Q3TableItemE) + 8u)
- Q3GVector (0x448e7540) 0
- primary-for Q3PtrVector<Q3TableItem> (0x448e7500)
- Q3PtrCollection (0x448e7580) 0
- primary-for Q3GVector (0x448e7540)
-
-Vtable for Q3PtrVector<QWidget>
-Q3PtrVector<QWidget>::_ZTV11Q3PtrVectorI7QWidgetE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI11Q3PtrVectorI7QWidgetE)
-8 Q3PtrVector<type>::count [with type = QWidget]
-12 Q3PtrVector<type>::clear [with type = QWidget]
-16 Q3PtrVector<type>::~Q3PtrVector [with type = QWidget]
-20 Q3PtrVector<type>::~Q3PtrVector [with type = QWidget]
-24 Q3PtrCollection::newItem
-28 Q3PtrVector<type>::deleteItem [with type = QWidget]
-32 Q3GVector::compareItems
-36 Q3GVector::read
-40 Q3GVector::write
-Class Q3PtrVector<QWidget>
- size=20 align=4
- base size=20 base align=4
-Q3PtrVector<QWidget> (0x448e76c0) 0
- vptr=((& Q3PtrVector<QWidget>::_ZTV11Q3PtrVectorI7QWidgetE) + 8u)
- Q3GVector (0x448e7700) 0
- primary-for Q3PtrVector<QWidget> (0x448e76c0)
- Q3PtrCollection (0x448e7740) 0
- primary-for Q3GVector (0x448e7700)
-
-Vtable for Q3PtrList<Q3TableSelection>
-Q3PtrList<Q3TableSelection>::_ZTV9Q3PtrListI16Q3TableSelectionE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI9Q3PtrListI16Q3TableSelectionE)
-8 Q3PtrList<type>::count [with type = Q3TableSelection]
-12 Q3PtrList<type>::clear [with type = Q3TableSelection]
-16 Q3PtrList<type>::~Q3PtrList [with type = Q3TableSelection]
-20 Q3PtrList<type>::~Q3PtrList [with type = Q3TableSelection]
-24 Q3PtrCollection::newItem
-28 Q3PtrList<type>::deleteItem [with type = Q3TableSelection]
-32 Q3GList::compareItems
-36 Q3GList::read
-40 Q3GList::write
-Class Q3PtrList<Q3TableSelection>
- size=32 align=4
- base size=32 base align=4
-Q3PtrList<Q3TableSelection> (0x448e7880) 0
- vptr=((& Q3PtrList<Q3TableSelection>::_ZTV9Q3PtrListI16Q3TableSelectionE) + 8u)
- Q3GList (0x448e78c0) 0
- primary-for Q3PtrList<Q3TableSelection> (0x448e7880)
- Q3PtrCollection (0x448e7900) 0
- primary-for Q3GList (0x448e78c0)
-
-Vtable for Q3IntDict<int>
-Q3IntDict<int>::_ZTV9Q3IntDictIiE: 10u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI9Q3IntDictIiE)
-8 Q3IntDict<type>::count [with type = int]
-12 Q3IntDict<type>::clear [with type = int]
-16 Q3IntDict<type>::~Q3IntDict [with type = int]
-20 Q3IntDict<type>::~Q3IntDict [with type = int]
-24 Q3PtrCollection::newItem
-28 Q3IntDict<type>::deleteItem [with type = int]
-32 Q3GDict::read
-36 Q3GDict::write
-Class Q3IntDict<int>
- size=28 align=4
- base size=28 base align=4
-Q3IntDict<int> (0x448e7a40) 0
- vptr=((& Q3IntDict<int>::_ZTV9Q3IntDictIiE) + 8u)
- Q3GDict (0x448e7a80) 0
- primary-for Q3IntDict<int> (0x448e7a40)
- Q3PtrCollection (0x448e7ac0) 0
- primary-for Q3GDict (0x448e7a80)
+
+
+
Vtable for Q3Table
Q3Table::_ZTV7Q3Table: 183u entries
@@ -14541,21 +13549,8 @@ Class Q3SqlPropertyMap
Q3SqlPropertyMap (0x449a7340) 0
vptr=((& Q3SqlPropertyMap::_ZTV16Q3SqlPropertyMap) + 8u)
-Class QLinkedList<Q3SqlFieldInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QLinkedList<Q3SqlFieldInfo>::<anonymous union> (0x449a76c0) 0
-Class QLinkedList<Q3SqlFieldInfo>
- size=4 align=4
- base size=4 base align=4
-QLinkedList<Q3SqlFieldInfo> (0x449a7600) 0
-Class Q3ValueList<Q3SqlFieldInfo>
- size=4 align=4
- base size=4 base align=4
-Q3ValueList<Q3SqlFieldInfo> (0x449a7700) 0
- QLinkedList<Q3SqlFieldInfo> (0x449a7740) 0
Class Q3SqlRecordInfo
size=4 align=4
@@ -14564,31 +13559,10 @@ Q3SqlRecordInfo (0x449a77c0) 0
Q3ValueList<Q3SqlFieldInfo> (0x449a7800) 0
QLinkedList<Q3SqlFieldInfo> (0x449a7840) 0
-Class QList<Q3SqlFieldInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<Q3SqlFieldInfo>::<anonymous union> (0x449a7a00) 0
-Class QList<Q3SqlFieldInfo>
- size=4 align=4
- base size=4 base align=4
-QList<Q3SqlFieldInfo> (0x449a7940) 0
-Class QLinkedList<Q3SqlFieldInfo>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QLinkedList<Q3SqlFieldInfo>::const_iterator (0x449a7c40) 0
-Class Q3ValueListConstIterator<Q3SqlFieldInfo>
- size=4 align=4
- base size=4 base align=4
-Q3ValueListConstIterator<Q3SqlFieldInfo> (0x449a7c80) 0
- QLinkedList<Q3SqlFieldInfo>::const_iterator (0x449a7cc0) 0
-Class QLinkedList<Q3SqlFieldInfo>::iterator
- size=4 align=4
- base size=4 base align=4
-QLinkedList<Q3SqlFieldInfo>::iterator (0x449a7d80) 0
Vtable for Q3DataView
Q3DataView::_ZTV10Q3DataView: 69u entries
@@ -14679,15 +13653,7 @@ Class Q3StyleSheetItem
base size=4 base align=4
Q3StyleSheetItem (0x449a7f40) 0
-Class QHash<QString, Q3StyleSheetItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QHash<QString, Q3StyleSheetItem*>::<anonymous union> (0x449a7d00) 0
-Class QHash<QString, Q3StyleSheetItem*>
- size=4 align=4
- base size=4 base align=4
-QHash<QString, Q3StyleSheetItem*> (0x449a72c0) 0
Vtable for Q3StyleSheet
Q3StyleSheet::_ZTV12Q3StyleSheet: 16u entries
@@ -14748,25 +13714,9 @@ Class Q3TextEditOptimPrivate::Selection
base size=8 base align=4
Q3TextEditOptimPrivate::Selection (0x44a99180) 0
-Class QMap<int, QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<int, QString>::<anonymous union> (0x44a99300) 0
-Class QMap<int, QString>
- size=4 align=4
- base size=4 base align=4
-QMap<int, QString> (0x44a99240) 0
-Class QMap<int, Q3TextEditOptimPrivate::Tag*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<int, Q3TextEditOptimPrivate::Tag*>::<anonymous union> (0x44a99640) 0
-Class QMap<int, Q3TextEditOptimPrivate::Tag*>
- size=4 align=4
- base size=4 base align=4
-QMap<int, Q3TextEditOptimPrivate::Tag*> (0x44a99580) 0
Class Q3TextEditOptimPrivate
size=52 align=4
@@ -14974,10 +13924,6 @@ Q3TextEdit (0x44a99980) 0
QPaintDevice (0x44a99b00) 8
vptr=((& Q3TextEdit::_ZTV10Q3TextEdit) + 680u)
-Class QFlags<Q3TextEdit::AutoFormattingFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Q3TextEdit::AutoFormattingFlag> (0x44a99c80) 0
Vtable for Q3SyntaxHighlighter
Q3SyntaxHighlighter::_ZTV19Q3SyntaxHighlighter: 5u entries
@@ -15907,28 +14853,7 @@ Class Q3Url
Q3Url (0x44b4d7c0) 0
vptr=((& Q3Url::_ZTV5Q3Url) + 8u)
-Vtable for Q3Dict<void>
-Q3Dict<void>::_ZTV6Q3DictIvE: 10u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI6Q3DictIvE)
-8 Q3Dict<type>::count [with type = void]
-12 Q3Dict<type>::clear [with type = void]
-16 Q3Dict<type>::~Q3Dict [with type = void]
-20 Q3Dict<type>::~Q3Dict [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3Dict<type>::deleteItem [with type = void]
-32 Q3GDict::read
-36 Q3GDict::write
-Class Q3Dict<void>
- size=28 align=4
- base size=28 base align=4
-Q3Dict<void> (0x44b4d980) 0
- vptr=((& Q3Dict<void>::_ZTV6Q3DictIvE) + 8u)
- Q3GDict (0x44b4d9c0) 0
- primary-for Q3Dict<void> (0x44b4d980)
- Q3PtrCollection (0x44b4da00) 0
- primary-for Q3GDict (0x44b4d9c0)
Vtable for Q3NetworkProtocolFactoryBase
Q3NetworkProtocolFactoryBase::_ZTV28Q3NetworkProtocolFactoryBase: 5u entries
@@ -16289,29 +15214,7 @@ Q3Accel (0x44c01380) 0
QObject (0x44c013c0) 0
primary-for Q3Accel (0x44c01380)
-Vtable for Q3PtrList<char>
-Q3PtrList<char>::_ZTV9Q3PtrListIcE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI9Q3PtrListIcE)
-8 Q3PtrList<type>::count [with type = char]
-12 Q3PtrList<type>::clear [with type = char]
-16 Q3PtrList<type>::~Q3PtrList [with type = char]
-20 Q3PtrList<type>::~Q3PtrList [with type = char]
-24 Q3PtrCollection::newItem
-28 Q3PtrList<type>::deleteItem [with type = char]
-32 Q3GList::compareItems
-36 Q3GList::read
-40 Q3GList::write
-Class Q3PtrList<char>
- size=32 align=4
- base size=32 base align=4
-Q3PtrList<char> (0x44c014c0) 0
- vptr=((& Q3PtrList<char>::_ZTV9Q3PtrListIcE) + 8u)
- Q3GList (0x44c01500) 0
- primary-for Q3PtrList<char> (0x44c014c0)
- Q3PtrCollection (0x44c01540) 0
- primary-for Q3GList (0x44c01500)
Vtable for Q3StrList
Q3StrList::_ZTV9Q3StrList: 11u entries
@@ -16339,11 +15242,6 @@ Q3StrList (0x44c01600) 0
Q3PtrCollection (0x44c016c0) 0
primary-for Q3GList (0x44c01680)
-Class Q3PtrListStdIterator<char>
- size=4 align=4
- base size=4 base align=4
-Q3PtrListStdIterator<char> (0x44c018c0) 0
- Q3GListStdIterator (0x44c01900) 0
Vtable for Q3StrIList
Q3StrIList::_ZTV10Q3StrIList: 11u entries
@@ -16899,29 +15797,7 @@ Class Q3CString
Q3CString (0x44ca5f40) 0
QByteArray (0x44ca5f80) 0
-Vtable for Q3PtrQueue<void>
-Q3PtrQueue<void>::_ZTV10Q3PtrQueueIvE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI10Q3PtrQueueIvE)
-8 Q3PtrQueue<type>::count [with type = void]
-12 Q3PtrQueue<type>::clear [with type = void]
-16 Q3PtrQueue<type>::~Q3PtrQueue [with type = void]
-20 Q3PtrQueue<type>::~Q3PtrQueue [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3PtrQueue<type>::deleteItem [with type = void]
-32 Q3GList::compareItems
-36 Q3GList::read
-40 Q3GList::write
-Class Q3PtrQueue<void>
- size=32 align=4
- base size=32 base align=4
-Q3PtrQueue<void> (0x44d2b180) 0
- vptr=((& Q3PtrQueue<void>::_ZTV10Q3PtrQueueIvE) + 8u)
- Q3GList (0x44d2b1c0) 0
- primary-for Q3PtrQueue<void> (0x44d2b180)
- Q3PtrCollection (0x44d2b200) 0
- primary-for Q3GList (0x44d2b1c0)
Vtable for Q3Signal
Q3Signal::_ZTV8Q3Signal: 14u entries
@@ -16948,75 +15824,11 @@ Q3Signal (0x44d2b340) 0
QObject (0x44d2b380) 0
primary-for Q3Signal (0x44d2b340)
-Vtable for Q3AsciiDict<void>
-Q3AsciiDict<void>::_ZTV11Q3AsciiDictIvE: 10u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI11Q3AsciiDictIvE)
-8 Q3AsciiDict<type>::count [with type = void]
-12 Q3AsciiDict<type>::clear [with type = void]
-16 Q3AsciiDict<type>::~Q3AsciiDict [with type = void]
-20 Q3AsciiDict<type>::~Q3AsciiDict [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3AsciiDict<type>::deleteItem [with type = void]
-32 Q3GDict::read
-36 Q3GDict::write
-Class Q3AsciiDict<void>
- size=28 align=4
- base size=28 base align=4
-Q3AsciiDict<void> (0x44d2b580) 0
- vptr=((& Q3AsciiDict<void>::_ZTV11Q3AsciiDictIvE) + 8u)
- Q3GDict (0x44d2b5c0) 0
- primary-for Q3AsciiDict<void> (0x44d2b580)
- Q3PtrCollection (0x44d2b600) 0
- primary-for Q3GDict (0x44d2b5c0)
-
-Vtable for Q3PtrStack<void>
-Q3PtrStack<void>::_ZTV10Q3PtrStackIvE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI10Q3PtrStackIvE)
-8 Q3PtrStack<type>::count [with type = void]
-12 Q3PtrStack<type>::clear [with type = void]
-16 Q3PtrStack<type>::~Q3PtrStack [with type = void]
-20 Q3PtrStack<type>::~Q3PtrStack [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3PtrStack<type>::deleteItem [with type = void]
-32 Q3GList::compareItems
-36 Q3GList::read
-40 Q3GList::write
-Class Q3PtrStack<void>
- size=32 align=4
- base size=32 base align=4
-Q3PtrStack<void> (0x44d2b840) 0
- vptr=((& Q3PtrStack<void>::_ZTV10Q3PtrStackIvE) + 8u)
- Q3GList (0x44d2b880) 0
- primary-for Q3PtrStack<void> (0x44d2b840)
- Q3PtrCollection (0x44d2b8c0) 0
- primary-for Q3GList (0x44d2b880)
-Vtable for Q3AsciiDict<QMetaObject>
-Q3AsciiDict<QMetaObject>::_ZTV11Q3AsciiDictI11QMetaObjectE: 10u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI11Q3AsciiDictI11QMetaObjectE)
-8 Q3AsciiDict<type>::count [with type = QMetaObject]
-12 Q3AsciiDict<type>::clear [with type = QMetaObject]
-16 Q3AsciiDict<type>::~Q3AsciiDict [with type = QMetaObject]
-20 Q3AsciiDict<type>::~Q3AsciiDict [with type = QMetaObject]
-24 Q3PtrCollection::newItem
-28 Q3AsciiDict<type>::deleteItem [with type = QMetaObject]
-32 Q3GDict::read
-36 Q3GDict::write
-Class Q3AsciiDict<QMetaObject>
- size=28 align=4
- base size=28 base align=4
-Q3AsciiDict<QMetaObject> (0x44d2b9c0) 0
- vptr=((& Q3AsciiDict<QMetaObject>::_ZTV11Q3AsciiDictI11QMetaObjectE) + 8u)
- Q3GDict (0x44d2ba00) 0
- primary-for Q3AsciiDict<QMetaObject> (0x44d2b9c0)
- Q3PtrCollection (0x44d2ba40) 0
- primary-for Q3GDict (0x44d2ba00)
+
Vtable for Q3ObjectDictionary
Q3ObjectDictionary::_ZTV18Q3ObjectDictionary: 10u entries
@@ -17067,91 +15879,13 @@ Class Q3GCacheIterator
base size=4 base align=4
Q3GCacheIterator (0x44d2be80) 0
-Vtable for Q3Cache<void>
-Q3Cache<void>::_ZTV7Q3CacheIvE: 8u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI7Q3CacheIvE)
-8 Q3Cache<type>::count [with type = void]
-12 Q3Cache<type>::clear [with type = void]
-16 Q3Cache<type>::~Q3Cache [with type = void]
-20 Q3Cache<type>::~Q3Cache [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3Cache<type>::deleteItem [with type = void]
-Class Q3Cache<void>
- size=32 align=4
- base size=29 base align=4
-Q3Cache<void> (0x44d2bfc0) 0
- vptr=((& Q3Cache<void>::_ZTV7Q3CacheIvE) + 8u)
- Q3GCache (0x44d2b240) 0
- primary-for Q3Cache<void> (0x44d2bfc0)
- Q3PtrCollection (0x44d2b2c0) 0
- primary-for Q3GCache (0x44d2b240)
-
-Vtable for Q3IntCache<void>
-Q3IntCache<void>::_ZTV10Q3IntCacheIvE: 8u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI10Q3IntCacheIvE)
-8 Q3IntCache<type>::count [with type = void]
-12 Q3IntCache<type>::clear [with type = void]
-16 Q3IntCache<type>::~Q3IntCache [with type = void]
-20 Q3IntCache<type>::~Q3IntCache [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3IntCache<type>::deleteItem [with type = void]
-Class Q3IntCache<void>
- size=32 align=4
- base size=29 base align=4
-Q3IntCache<void> (0x44dfc0c0) 0
- vptr=((& Q3IntCache<void>::_ZTV10Q3IntCacheIvE) + 8u)
- Q3GCache (0x44dfc100) 0
- primary-for Q3IntCache<void> (0x44dfc0c0)
- Q3PtrCollection (0x44dfc140) 0
- primary-for Q3GCache (0x44dfc100)
-
-Vtable for Q3PtrDict<void>
-Q3PtrDict<void>::_ZTV9Q3PtrDictIvE: 10u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI9Q3PtrDictIvE)
-8 Q3PtrDict<type>::count [with type = void]
-12 Q3PtrDict<type>::clear [with type = void]
-16 Q3PtrDict<type>::~Q3PtrDict [with type = void]
-20 Q3PtrDict<type>::~Q3PtrDict [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3PtrDict<type>::deleteItem [with type = void]
-32 Q3GDict::read
-36 Q3GDict::write
-Class Q3PtrDict<void>
- size=28 align=4
- base size=28 base align=4
-Q3PtrDict<void> (0x44dfc380) 0
- vptr=((& Q3PtrDict<void>::_ZTV9Q3PtrDictIvE) + 8u)
- Q3GDict (0x44dfc3c0) 0
- primary-for Q3PtrDict<void> (0x44dfc380)
- Q3PtrCollection (0x44dfc400) 0
- primary-for Q3GDict (0x44dfc3c0)
-
-Vtable for Q3AsciiCache<void>
-Q3AsciiCache<void>::_ZTV12Q3AsciiCacheIvE: 8u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI12Q3AsciiCacheIvE)
-8 Q3AsciiCache<type>::count [with type = void]
-12 Q3AsciiCache<type>::clear [with type = void]
-16 Q3AsciiCache<type>::~Q3AsciiCache [with type = void]
-20 Q3AsciiCache<type>::~Q3AsciiCache [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3AsciiCache<type>::deleteItem [with type = void]
-Class Q3AsciiCache<void>
- size=32 align=4
- base size=29 base align=4
-Q3AsciiCache<void> (0x44dfc740) 0
- vptr=((& Q3AsciiCache<void>::_ZTV12Q3AsciiCacheIvE) + 8u)
- Q3GCache (0x44dfc780) 0
- primary-for Q3AsciiCache<void> (0x44dfc740)
- Q3PtrCollection (0x44dfc7c0) 0
- primary-for Q3GCache (0x44dfc780)
+
+
+
Vtable for Q3Semaphore
Q3Semaphore::_ZTV11Q3Semaphore: 4u entries
@@ -17166,29 +15900,7 @@ Class Q3Semaphore
Q3Semaphore (0x44dfc980) 0
vptr=((& Q3Semaphore::_ZTV11Q3Semaphore) + 8u)
-Vtable for Q3PtrVector<char>
-Q3PtrVector<char>::_ZTV11Q3PtrVectorIcE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI11Q3PtrVectorIcE)
-8 Q3PtrVector<type>::count [with type = char]
-12 Q3PtrVector<type>::clear [with type = char]
-16 Q3PtrVector<type>::~Q3PtrVector [with type = char]
-20 Q3PtrVector<type>::~Q3PtrVector [with type = char]
-24 Q3PtrCollection::newItem
-28 Q3PtrVector<type>::deleteItem [with type = char]
-32 Q3GVector::compareItems
-36 Q3GVector::read
-40 Q3GVector::write
-Class Q3PtrVector<char>
- size=20 align=4
- base size=20 base align=4
-Q3PtrVector<char> (0x44dfca80) 0
- vptr=((& Q3PtrVector<char>::_ZTV11Q3PtrVectorIcE) + 8u)
- Q3GVector (0x44dfcac0) 0
- primary-for Q3PtrVector<char> (0x44dfca80)
- Q3PtrCollection (0x44dfcb00) 0
- primary-for Q3GVector (0x44dfcac0)
Vtable for Q3StrVec
Q3StrVec::_ZTV8Q3StrVec: 11u entries
@@ -17283,21 +15995,8 @@ Class Q3PaintDeviceMetrics
base size=4 base align=4
Q3PaintDeviceMetrics (0x44e8e440) 0
-Class QLinkedList<Q3CanvasItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QLinkedList<Q3CanvasItem*>::<anonymous union> (0x44e8e600) 0
-Class QLinkedList<Q3CanvasItem*>
- size=4 align=4
- base size=4 base align=4
-QLinkedList<Q3CanvasItem*> (0x44e8e540) 0
-Class Q3ValueList<Q3CanvasItem*>
- size=4 align=4
- base size=4 base align=4
-Q3ValueList<Q3CanvasItem*> (0x44e8e640) 0
- QLinkedList<Q3CanvasItem*> (0x44e8e680) 0
Class Q3CanvasItemList
size=4 align=4
@@ -18634,15 +17333,7 @@ Q3SocketDevice (0x4504e1c0) 0
QObject (0x4504e240) 0
primary-for QIODevice (0x4504e200)
-Class QMap<QString, QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QString>::<anonymous union> (0x4504e480) 0
-Class QMap<QString, QString>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QString> (0x4504e3c0) 0
Vtable for Q3HttpHeader
Q3HttpHeader::_ZTV12Q3HttpHeader: 8u entries
@@ -19967,15 +18658,7 @@ Q3VBox (0x450fe500) 0
QPaintDevice (0x450feec0) 8
vptr=((& Q3VBox::_ZTV6Q3VBox) + 244u)
-Class QMap<int, QAbstractButton*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<int, QAbstractButton*>::<anonymous union> (0x45197340) 0
-Class QMap<int, QAbstractButton*>
- size=4 align=4
- base size=4 base align=4
-QMap<int, QAbstractButton*> (0x45197280) 0
Vtable for Q3ButtonGroup
Q3ButtonGroup::_ZTV13Q3ButtonGroup: 64u entries
@@ -20992,25 +19675,9 @@ Q3MainWindow (0x45229740) 0
QPaintDevice (0x45229800) 8
vptr=((& Q3MainWindow::_ZTV12Q3MainWindow) + 328u)
-Class QList<QRect>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QRect>::<anonymous union> (0x45229b00) 0
-Class QList<QRect>
- size=4 align=4
- base size=4 base align=4
-QList<QRect> (0x45229a40) 0
-Class QList<Q3DockWindow*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<Q3DockWindow*>::<anonymous union> (0x45229c80) 0
-Class QList<Q3DockWindow*>
- size=4 align=4
- base size=4 base align=4
-QList<Q3DockWindow*> (0x45229bc0) 0
Vtable for Q3DockAreaLayout
Q3DockAreaLayout::_ZTV16Q3DockAreaLayout: 48u entries
@@ -21075,10 +19742,6 @@ Q3DockAreaLayout (0x452298c0) 0
QLayoutItem (0x45229980) 8
vptr=((& Q3DockAreaLayout::_ZTV16Q3DockAreaLayout) + 128u)
-Class QPointer<Q3DockArea>
- size=4 align=4
- base size=4 base align=4
-QPointer<Q3DockArea> (0x45229fc0) 0
Class Q3DockArea::DockWindowData
size=24 align=4
@@ -21163,193 +19826,41 @@ Q3DockArea (0x45229e00) 0
QPaintDevice (0x45229ec0) 8
vptr=((& Q3DockArea::_ZTV10Q3DockArea) + 232u)
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0x45341400) 0
-Class QTypeInfo<QDebug::Stream*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDebug::Stream*> (0x45341780) 0 empty
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0x45341e40) 0
-Class QVectorTypedData<QTextLength>
- size=28 align=4
- base size=28 base align=4
-QVectorTypedData<QTextLength> (0x45385d40) 0
-Class QVectorTypedData<QTextLayout::FormatRange>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QTextLayout::FormatRange> (0x453ce380) 0
-Class QVectorTypedData<QAbstractTextDocumentLayout::Selection>
- size=28 align=4
- base size=28 base align=4
-QVectorTypedData<QAbstractTextDocumentLayout::Selection> (0x453ce540) 0
-Class QVectorTypedData<QPoint>
- size=24 align=4
- base size=24 base align=4
-QVectorTypedData<QPoint> (0x453cecc0) 0
-Class QVectorTypedData<QPointF>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QPointF> (0x45414000) 0
-Class QVectorTypedData<QLineF>
- size=48 align=4
- base size=48 base align=4
-QVectorTypedData<QLineF> (0x454145c0) 0
-Class QVectorTypedData<QLine>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QLine> (0x45414700) 0
-Class QVectorTypedData<QRectF>
- size=48 align=4
- base size=48 base align=4
-QVectorTypedData<QRectF> (0x45414840) 0
-Class QVectorTypedData<QRect>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QRect> (0x45414980) 0
-Class QVectorTypedData<QPainterPath::Element>
- size=36 align=4
- base size=36 base align=4
-QVectorTypedData<QPainterPath::Element> (0x45414d40) 0
-Class QList<QTreeWidgetItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::Node (0x45493ec0) 0
-Class QVectorTypedData<QVector<QWidgetItemData> >
- size=20 align=4
- base size=20 base align=4
-QVectorTypedData<QVector<QWidgetItemData> > (0x454d4000) 0
-Class QList<QAction*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QAction*>::Node (0x454d4600) 0
-Class QLinkedListNode<Q3SqlFieldInfo>
- size=52 align=4
- base size=52 base align=4
-QLinkedListNode<Q3SqlFieldInfo> (0x454d4f00) 0
-Class QTypeInfo<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLength> (0x455af180) 0 empty
-Class QTypeInfo<QTextLayout::FormatRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLayout::FormatRange> (0x455af400) 0 empty
-Class QTypeInfo<QAbstractTextDocumentLayout::Selection>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAbstractTextDocumentLayout::Selection> (0x455af680) 0 empty
-Class QHashNode<QVariant::Type, QItemEditorCreatorBase*>
- size=16 align=4
- base size=16 base align=4
-QHashNode<QVariant::Type, QItemEditorCreatorBase*> (0x455e12c0) 0
-Class QTypeInfo<QTreeWidgetItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTreeWidgetItem*> (0x455e13c0) 0 empty
-Class QTypeInfo<QAction*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAction*> (0x455e1680) 0 empty
-Class QTypeInfo<Q3TextEditOptimPrivate::Tag*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<Q3TextEditOptimPrivate::Tag*> (0x455e1c40) 0 empty
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0x45635180) 0
-Class QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union> (0x456352c0) 0
-Class QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union> (0x45635440) 0
-Class QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union> (0x45635600) 0
-Class QList<QItemSelectionRange>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::Node (0x456357c0) 0
-Class QTypeInfo<QStyleOptionQ3ListViewItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QStyleOptionQ3ListViewItem> (0x45635980) 0 empty
-Class QList<QStyleOptionQ3ListViewItem>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::Node (0x45635a40) 0
-Class QList<QVariant>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::Node (0x45635d40) 0
-Class QMap<Key, T>::detach_helper() [with Key = int, T = Q3TextEditOptimPrivate::Tag*]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<Key, T>::detach_helper() [with Key = int, T = Q3TextEditOptimPrivate::Tag*]::<anonymous union> (0x456b1040) 0
-Class QList<QRect>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QRect>::Node (0x456b1180) 0
-Class QTypeInfo<Q3DockWindow*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<Q3DockWindow*> (0x456b1340) 0 empty
-Class QList<Q3DockWindow*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<Q3DockWindow*>::Node (0x456b1400) 0
-Class QLinkedList<T>::detach_helper() [with T = Q3SqlFieldInfo]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QLinkedList<T>::detach_helper() [with T = Q3SqlFieldInfo]::<anonymous union> (0x456b1840) 0
-Class QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union> (0x456b1980) 0
diff --git a/tests/auto/bic/data/Qt3Support.4.1.0.linux-gcc-ppc32.txt b/tests/auto/bic/data/Qt3Support.4.1.0.linux-gcc-ppc32.txt
index 58b4f2a..83bd8d3 100644
--- a/tests/auto/bic/data/Qt3Support.4.1.0.linux-gcc-ppc32.txt
+++ b/tests/auto/bic/data/Qt3Support.4.1.0.linux-gcc-ppc32.txt
@@ -18,145 +18,37 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0x307394d0) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0x307396c8) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0x30739770) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0x30739818) 0 empty
-Class QTypeInfo<uchar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uchar> (0x307398c0) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0x30739968) 0 empty
-Class QTypeInfo<ushort>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ushort> (0x30739a10) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0x30739ab8) 0 empty
-Class QTypeInfo<uint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uint> (0x30739b60) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0x30739c08) 0 empty
-Class QTypeInfo<ulong>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ulong> (0x30739cb0) 0 empty
-Class QTypeInfo<qint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<qint64> (0x30739d58) 0 empty
-Class QTypeInfo<quint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<quint64> (0x30739e00) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0x30739ea8) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0x30739f50) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0x30771000) 0 empty
Class QFlag
size=4 align=4
base size=4 base align=4
QFlag (0x30771070) 0
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0x30771578) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0x307715e8) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0x30771658) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0x307716c8) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0x30771738) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0x307717a8) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0x30771818) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0x30771888) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0x307718f8) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0x30771968) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0x307719d8) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0x30771a48) 0
Class QInternal
size=1 align=1
@@ -174,10 +66,6 @@ Class QGenericReturnArgument
QGenericReturnArgument (0x30187bc0) 0
QGenericArgument (0x30771b60) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0x30771d20) 0
Class QMetaObject
size=16 align=4
@@ -194,10 +82,6 @@ Class QChar
base size=2 base align=2
QChar (0x30771e00) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0x30771ea8) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -230,10 +114,6 @@ Class QByteRef
base size=8 base align=4
QByteRef (0x324a5b98) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0x324a5ee0) 0 empty
Class QString::Null
size=1 align=1
@@ -255,10 +135,6 @@ Class QLatin1String
base size=4 base align=4
QLatin1String (0x325d7498) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0x325d77e0) 0
Class QCharRef
size=8 align=4
@@ -271,10 +147,6 @@ Class QConstString
QConstString (0x30187e00) 0
QString (0x32704268) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0x32704348) 0 empty
Vtable for std::exception
std::exception::_ZTVSt9exception: 5u entries
@@ -337,15 +209,7 @@ Class QListData
base size=4 base align=4
QListData (0x32704a80) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0x32704fc0) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0x32704f18) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -437,10 +301,6 @@ QIODevice (0x30187ec0) 0
QObject (0x327ef3b8) 0
primary-for QIODevice (0x30187ec0)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0x327ef5b0) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -470,10 +330,6 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0x327efce8) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0x327efd58) 0 empty
Class QMapData::Node
size=8 align=4
@@ -485,10 +341,6 @@ Class QMapData
base size=72 base align=4
QMapData (0x32891460) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0x32891b28) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -513,15 +365,7 @@ Class QTextCodec
QTextCodec (0x328919d8) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0x32891e00) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0x32891d58) 0
Class QTextEncoder
size=32 align=4
@@ -533,30 +377,10 @@ Class QTextDecoder
base size=32 base align=4
QTextDecoder (0x32891f18) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x32891fc0) 0
-Class <anonymous struct>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct>::<anonymous union> (0x32891c08) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x32891738) 0
-Class <anonymous struct>
- size=12 align=4
- base size=12 base align=4
-<anonymous struct> (0x329f5038) 0
-Class <anonymous struct>
- size=16 align=8
- base size=16 base align=8
-<anonymous struct> (0x329f50a8) 0
Class __gconv_trans_data
size=20 align=4
@@ -578,15 +402,7 @@ Class __gconv_info
base size=8 base align=4
__gconv_info (0x329f51f8) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0x329f52d8) 0
-Class <anonymous union>
- size=44 align=4
- base size=44 base align=4
-<anonymous union> (0x329f5268) 0
Class _IO_marker
size=12 align=4
@@ -598,10 +414,6 @@ Class _IO_FILE
base size=152 base align=8
_IO_FILE (0x329f5348) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0x329f53b8) 0
Vtable for QTextStream
QTextStream::_ZTV11QTextStream: 4u entries
@@ -616,10 +428,6 @@ Class QTextStream
QTextStream (0x329f53f0) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0x329f5620) 0
Class QTextStreamManipulator
size=24 align=4
@@ -656,40 +464,16 @@ QTextOStream (0x329870c0) 0
QTextStream (0x329f5b98) 0
primary-for QTextOStream (0x329870c0)
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0x329f5e70) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0x329f5ee0) 0
Class wait
size=4 align=4
base size=4 base align=4
wait (0x329f5e00) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x329f5f50) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x329f5fc0) 0
-Class <anonymous struct>
- size=16 align=8
- base size=16 base align=8
-<anonymous struct> (0x329f59d8) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0x32a77000) 0
Class timespec
size=8 align=4
@@ -701,70 +485,18 @@ Class timeval
base size=8 base align=4
timeval (0x32a77070) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0x32a770e0) 0
-Class <anonymous union>
- size=36 align=4
- base size=36 base align=4
-<anonymous union> (0x32a77150) 0
-Class <anonymous union>::<anonymous struct>
- size=24 align=4
- base size=24 base align=4
-<anonymous union>::<anonymous struct> (0x32a77230) 0
-Class <anonymous union>
- size=24 align=4
- base size=24 base align=4
-<anonymous union> (0x32a771c0) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0x32a772a0) 0
-Class <anonymous union>::<anonymous struct>
- size=48 align=8
- base size=48 base align=8
-<anonymous union>::<anonymous struct> (0x32a77380) 0
-Class <anonymous union>
- size=48 align=8
- base size=48 base align=8
-<anonymous union> (0x32a77310) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0x32a773f0) 0
-Class <anonymous union>::<anonymous struct>
- size=32 align=4
- base size=32 base align=4
-<anonymous union>::<anonymous struct> (0x32a774d0) 0
-Class <anonymous union>
- size=32 align=4
- base size=32 base align=4
-<anonymous union> (0x32a77460) 0
-Class <anonymous union>
- size=8 align=4
- base size=8 base align=4
-<anonymous union> (0x32a77540) 0
-Class <anonymous union>
- size=20 align=4
- base size=20 base align=4
-<anonymous union> (0x32a775b0) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0x32a77620) 0
Class random_data
size=28 align=4
@@ -835,10 +567,6 @@ QFile (0x32987100) 0
QObject (0x32a77c40) 0
primary-for QIODevice (0x32987140)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0x32a77dc8) 0
Vtable for QTemporaryFile
QTemporaryFile::_ZTV14QTemporaryFile: 31u entries
@@ -891,50 +619,22 @@ Class QFileInfo
base size=4 base align=4
QFileInfo (0x32a77f18) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0x32a77fc0) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0x32a77d20) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0x32ba7118) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0x32ba7070) 0
Class QRegExp
size=4 align=4
base size=4 base align=4
QRegExp (0x32ba71c0) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0x32ba7380) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0x32ba73f0) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0x32ba75b0) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0x32ba7508) 0
Class QStringList
size=4 align=4
@@ -942,30 +642,14 @@ Class QStringList
QStringList (0x32987240) 0
QList<QString> (0x32ba7658) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0x32ba7a80) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0x32ba7af0) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0x32ba7e00) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0x32ba7f18) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0x32ba7f88) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -1022,10 +706,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0x32ba7fc0) 0
vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0x32c6a1f8) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -1180,110 +860,30 @@ Class QUrl
base size=4 base align=4
QUrl (0x32c6a6c8) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0x32c6a850) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0x32c6a8c0) 0 empty
Class QMetaType
size=1 align=1
base size=0 base align=1
QMetaType (0x32c6a930) 0 empty
-Class QMetaTypeId<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QString> (0x32c6aa48) 0 empty
-Class QMetaTypeId<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<int> (0x32c6aaf0) 0 empty
-Class QMetaTypeId<uint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<uint> (0x32c6ab98) 0 empty
-Class QMetaTypeId<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<bool> (0x32c6ac40) 0 empty
-Class QMetaTypeId<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<double> (0x32c6ace8) 0 empty
-Class QMetaTypeId<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QByteArray> (0x32c6ad90) 0 empty
-Class QMetaTypeId<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QChar> (0x32c6ae38) 0 empty
-Class QMetaTypeId<void>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<void> (0x32c6aee0) 0 empty
-Class QMetaTypeId<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<long int> (0x32c6af88) 0 empty
-Class QMetaTypeId<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<short int> (0x32c6a310) 0 empty
-Class QMetaTypeId<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<char> (0x32c6a658) 0 empty
-Class QMetaTypeId<ulong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<ulong> (0x32d03070) 0 empty
-Class QMetaTypeId<ushort>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<ushort> (0x32d03118) 0 empty
-Class QMetaTypeId<uchar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<uchar> (0x32d031c0) 0 empty
-Class QMetaTypeId<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<float> (0x32d03268) 0 empty
-Class QMetaTypeId<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QObject*> (0x32d03310) 0 empty
-Class QMetaTypeId<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QWidget*> (0x32d033b8) 0 empty
-Class QMetaTypeId<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<void*> (0x32d03460) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -1310,35 +910,15 @@ Class QVariant
base size=16 base align=8
QVariant (0x32d034d0) 0
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0x32d03a80) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0x32d039d8) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0x32d03c40) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0x32d03b98) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0x32d03e00) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0x32d03f18) 0 empty
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1370,80 +950,48 @@ Class QPoint
base size=8 base align=4
QPoint (0x32ddd310) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0x32ddd700) 0 empty
Class QPointF
size=16 align=8
base size=16 base align=8
QPointF (0x32ddd8f8) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0x32dddce8) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0x32dddf18) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0x32dddf88) 0 empty
Class QLineF
size=32 align=8
base size=32 base align=8
QLineF (0x32ddd498) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0x32ddd5e8) 0 empty
Class QSize
size=8 align=4
base size=8 base align=4
QSize (0x32dddb60) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0x32e7a268) 0 empty
Class QSizeF
size=16 align=8
base size=16 base align=8
QSizeF (0x32e7a540) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0x32e7a8c0) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0x32e7ac40) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0x32e7ae38) 0 empty
Class QRectF
size=32 align=8
base size=32 base align=8
QRectF (0x32e7a0e0) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0x32e7a658) 0 empty
Class QLinkedListData
size=20 align=4
@@ -1460,10 +1008,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0x32f77888) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0x32f779a0) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -1480,40 +1024,24 @@ Class QLocale
base size=4 base align=4
QLocale (0x32f77cb0) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0x32f77d20) 0 empty
Class QDate
size=4 align=4
base size=4 base align=4
QDate (0x32f77f18) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0x330bb038) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0x330bb0a8) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0x330bb2a0) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0x330bb310) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0x330bb460) 0 empty
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -1673,10 +1201,6 @@ QEventLoop (0x32987780) 0
QObject (0x330bbfc0) 0
primary-for QEventLoop (0x32987780)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0x330bb818) 0
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -1768,20 +1292,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0x33166818) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0x331669a0) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0x33166a10) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0x33166b28) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -2001,10 +1517,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0x33166cb0) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0x33216038) 0 empty
Vtable for QSocketNotifier
QSocketNotifier::_ZTV15QSocketNotifier: 14u entries
@@ -2099,20 +1611,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0x33216460) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0x33216508) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0x33216578) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0x33216620) 0 empty
Class QMetaProperty
size=20 align=4
@@ -2124,10 +1628,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0x332166c8) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0x33216770) 0 empty
Vtable for QPluginLoader
QPluginLoader::_ZTV13QPluginLoader: 14u entries
@@ -2250,25 +1750,9 @@ Class QWriteLocker
base size=4 base align=4
QWriteLocker (0x332163f0) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x332bb150) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x332bb1c0) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x332bb230) 0
-Class QColor::<anonymous union>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union> (0x332bb0e0) 0
Class QColor
size=16 align=4
@@ -2285,55 +1769,23 @@ Class QPen
base size=4 base align=4
QPen (0x332bb690) 0
-Class QTypeInfo<QPen>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPen> (0x332bb818) 0 empty
Class QBrush
size=4 align=4
base size=4 base align=4
QBrush (0x332bb888) 0
-Class QTypeInfo<QBrush>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBrush> (0x332bb930) 0 empty
Class QBrushData
size=24 align=4
base size=24 base align=4
QBrushData (0x332bb9a0) 0
-Class QVector<QGradientStop>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QGradientStop>::<anonymous union> (0x332bbbd0) 0
-Class QVector<QGradientStop>
- size=4 align=4
- base size=4 base align=4
-QVector<QGradientStop> (0x332bbaf0) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=32 align=8
- base size=32 base align=8
-QGradient::<anonymous union>::<anonymous struct> (0x332bbce8) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=40 align=8
- base size=40 base align=8
-QGradient::<anonymous union>::<anonymous struct> (0x332bbd58) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=24 align=8
- base size=24 base align=8
-QGradient::<anonymous union>::<anonymous struct> (0x332bbdc8) 0
-Class QGradient::<anonymous union>
- size=40 align=8
- base size=40 base align=8
-QGradient::<anonymous union> (0x332bbc78) 0
Class QGradient
size=64 align=8
@@ -2363,25 +1815,13 @@ Class QTextLength
base size=16 base align=8
QTextLength (0x332bbea8) 0
-Class QSharedDataPointer<QTextFormatPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextFormatPrivate> (0x332bbee0) 0
Class QTextFormat
size=8 align=4
base size=8 base align=4
QTextFormat (0x332bb5b0) 0
-Class QVector<QTextLength>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength>::<anonymous union> (0x333592d8) 0
-Class QVector<QTextLength>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength> (0x333591f8) 0
Class QTextCharFormat
size=8 align=4
@@ -2521,10 +1961,6 @@ QTextFrame (0x333f4000) 0
QObject (0x333598f8) 0
primary-for QTextObject (0x333f4040)
-Class QTypeInfo<QTextFrame::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFrame::iterator> (0x33359d90) 0 empty
Vtable for QTextBlockUserData
QTextBlockUserData::_ZTV18QTextBlockUserData: 4u entries
@@ -2549,25 +1985,13 @@ Class QTextBlock
base size=8 base align=4
QTextBlock (0x33359f50) 0
-Class QTypeInfo<QTextBlock>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock> (0x3342a1c0) 0 empty
-Class QTypeInfo<QTextBlock::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock::iterator> (0x3342a268) 0 empty
Class QTextFragment
size=12 align=4
base size=12 base align=4
QTextFragment (0x3342a2d8) 0
-Class QTypeInfo<QTextFragment>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFragment> (0x3342a498) 0 empty
Class QFontMetrics
size=4 align=4
@@ -2627,20 +2051,12 @@ QTextDocument (0x333f4080) 0
QObject (0x3342a770) 0
primary-for QTextDocument (0x333f4080)
-Class QFlags<QTextDocument::FindFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextDocument::FindFlag> (0x3342a930) 0
Class QTextOption
size=32 align=8
base size=28 base align=8
QTextOption (0x3342a968) 0
-Class QFlags<QTextOption::Flag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextOption::Flag> (0x3342aa48) 0
Class QTextTableCell
size=8 align=4
@@ -2691,10 +2107,6 @@ Class QKeySequence
base size=4 base align=4
QKeySequence (0x3342ac78) 0
-Class QTypeInfo<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QKeySequence> (0x334e9038) 0 empty
Vtable for QMimeSource
QMimeSource::_ZTV11QMimeSource: 7u entries
@@ -2992,15 +2404,7 @@ Class QInputMethodEvent::Attribute
base size=32 base align=8
QInputMethodEvent::Attribute (0x3355c230) 0
-Class QList<QInputMethodEvent::Attribute>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute>::<anonymous union> (0x3355c3b8) 0
-Class QList<QInputMethodEvent::Attribute>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute> (0x3355c310) 0
Vtable for QInputMethodEvent
QInputMethodEvent::_ZTV17QInputMethodEvent: 4u entries
@@ -3299,15 +2703,7 @@ Class QTextLayout
base size=4 base align=4
QTextLayout (0x335b8620) 0
-Class QVector<QTextLayout::FormatRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange>::<anonymous union> (0x335b88c0) 0
-Class QVector<QTextLayout::FormatRange>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange> (0x335b87e0) 0
Class QTextLine
size=8 align=4
@@ -3356,10 +2752,6 @@ Class QTextDocumentFragment
base size=4 base align=4
QTextDocumentFragment (0x335b8ce8) 0
-Class QSharedDataPointer<QTextCursorPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextCursorPrivate> (0x335b8e00) 0
Class QTextCursor
size=4 align=4
@@ -3382,15 +2774,7 @@ Class QAbstractTextDocumentLayout::Selection
base size=12 base align=4
QAbstractTextDocumentLayout::Selection (0x33667188) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union> (0x33667380) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection> (0x336672a0) 0
Class QAbstractTextDocumentLayout::PaintContext
size=56 align=8
@@ -4243,10 +3627,6 @@ QFileDialog (0x337c43c0) 0
QPaintDevice (0x33746888) 8
vptr=((& QFileDialog::_ZTV11QFileDialog) + 244u)
-Class QFlags<QFileDialog::Option>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileDialog::Option> (0x338350e0) 0
Vtable for QAbstractPrintDialog
QAbstractPrintDialog::_ZTV20QAbstractPrintDialog: 67u entries
@@ -4332,10 +3712,6 @@ QAbstractPrintDialog (0x337c44c0) 0
QPaintDevice (0x33835268) 8
vptr=((& QAbstractPrintDialog::_ZTV20QAbstractPrintDialog) + 248u)
-Class QFlags<QAbstractPrintDialog::PrintDialogOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractPrintDialog::PrintDialogOption> (0x33835460) 0
Vtable for QPrintDialog
QPrintDialog::_ZTV12QPrintDialog: 67u entries
@@ -4771,10 +4147,6 @@ QImage (0x337c4980) 0
QPaintDevice (0x33835ea8) 0
primary-for QImage (0x337c4980)
-Class QTypeInfo<QImage>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QImage> (0x33835cb0) 0 empty
Vtable for QPixmap
QPixmap::_ZTV7QPixmap: 7u entries
@@ -4881,10 +4253,6 @@ QImageIOPlugin (0x337c4a40) 0
QFactoryInterface (0x3391d508) 8 nearly-empty
primary-for QImageIOHandlerFactoryInterface (0x337c4a80)
-Class QFlags<QImageIOPlugin::Capability>
- size=4 align=4
- base size=4 base align=4
-QFlags<QImageIOPlugin::Capability> (0x3391d700) 0
Vtable for QPicture
QPicture::_ZTV8QPicture: 8u entries
@@ -5004,10 +4372,6 @@ Class QIcon
base size=4 base align=4
QIcon (0x3391dee0) 0
-Class QTypeInfo<QIcon>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QIcon> (0x3391df50) 0 empty
Vtable for QIconEngine
QIconEngine::_ZTV11QIconEngine: 9u entries
@@ -5159,15 +4523,7 @@ Class QPrintEngine
QPrintEngine (0x339d17e0) 0 nearly-empty
vptr=((& QPrintEngine::_ZTV12QPrintEngine) + 8u)
-Class QVector<QPoint>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint>::<anonymous union> (0x339d1ab8) 0
-Class QVector<QPoint>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint> (0x339d19d8) 0
Class QPolygon
size=4 align=4
@@ -5175,15 +4531,7 @@ Class QPolygon
QPolygon (0x337c4e00) 0
QVector<QPoint> (0x339d1b28) 0
-Class QVector<QPointF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF>::<anonymous union> (0x339d1ee0) 0
-Class QVector<QPointF>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF> (0x339d1e00) 0
Class QPolygonF
size=4 align=4
@@ -5196,60 +4544,20 @@ Class QMatrix
base size=48 base align=8
QMatrix (0x33a55118) 0
-Class QTypeInfo<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMatrix> (0x33a55188) 0 empty
Class QPainter
size=4 align=4
base size=4 base align=4
QPainter (0x33a55230) 0
-Class QFlags<QPainter::RenderHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPainter::RenderHint> (0x33a55700) 0
-Class QVector<QLineF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF>::<anonymous union> (0x33a55888) 0
-Class QVector<QLineF>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF> (0x33a557a8) 0
-Class QVector<QLine>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine>::<anonymous union> (0x33a55a48) 0
-Class QVector<QLine>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine> (0x33a55968) 0
-Class QVector<QRectF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF>::<anonymous union> (0x33a55c08) 0
-Class QVector<QRectF>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF> (0x33a55b28) 0
-Class QVector<QRect>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect>::<anonymous union> (0x33a55dc8) 0
-Class QVector<QRect>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect> (0x33a55ce8) 0
Vtable for QStyle
QStyle::_ZTV6QStyle: 35u entries
@@ -5297,15 +4605,7 @@ QStyle (0x337c4e80) 0
QObject (0x33a55e38) 0
primary-for QStyle (0x337c4e80)
-Class QFlags<QStyle::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::StateFlag> (0x33a55348) 0
-Class QFlags<QStyle::SubControl>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::SubControl> (0x33baf000) 0
Class QStylePainter
size=12 align=4
@@ -5323,25 +4623,13 @@ Class QPainterPath
base size=4 base align=4
QPainterPath (0x33baf268) 0
-Class QVector<QPainterPath::Element>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element>::<anonymous union> (0x33baf700) 0
-Class QVector<QPainterPath::Element>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element> (0x33baf620) 0
Class QPainterPathPrivate
size=8 align=4
base size=8 base align=4
QPainterPathPrivate (0x33baf460) 0
-Class QTypeInfo<QPainterPath::Element>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPainterPath::Element> (0x33baf7a8) 0 empty
Class QPainterPathStroker
size=4 align=4
@@ -5353,15 +4641,7 @@ Class QTextItem
base size=0 base align=1
QTextItem (0x33baf9a0) 0 empty
-Class QTypeInfo<QTextItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextItem> (0x33bafa48) 0 empty
-Class QFlags<QPaintEngine::PaintEngineFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::PaintEngineFeature> (0x33bafbd0) 0
Vtable for QPaintEngine
QPaintEngine::_ZTV12QPaintEngine: 24u entries
@@ -5396,30 +4676,18 @@ Class QPaintEngine
QPaintEngine (0x33bafab8) 0
vptr=((& QPaintEngine::_ZTV12QPaintEngine) + 8u)
-Class QFlags<QPaintEngine::DirtyFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::DirtyFlag> (0x33bafdc8) 0
Class QPaintEngineState
size=4 align=4
base size=4 base align=4
QPaintEngineState (0x33bafd20) 0
-Class QFlags<QTextItem::RenderFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextItem::RenderFlag> (0x33bafe38) 0
Class QItemSelectionRange
size=8 align=4
base size=8 base align=4
QItemSelectionRange (0x33bafe70) 0
-Class QTypeInfo<QItemSelectionRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QItemSelectionRange> (0x33c7f000) 0 empty
Vtable for QItemSelectionModel
QItemSelectionModel::_ZTV19QItemSelectionModel: 18u entries
@@ -5450,20 +4718,8 @@ QItemSelectionModel (0x337c4f40) 0
QObject (0x33c7f0a8) 0
primary-for QItemSelectionModel (0x337c4f40)
-Class QFlags<QItemSelectionModel::SelectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QItemSelectionModel::SelectionFlag> (0x33c7f230) 0
-Class QList<QItemSelectionRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::<anonymous union> (0x33c7f380) 0
-Class QList<QItemSelectionRange>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange> (0x33c7f2d8) 0
Class QItemSelection
size=4 align=4
@@ -5471,10 +4727,6 @@ Class QItemSelection
QItemSelection (0x337c4f80) 0
QList<QItemSelectionRange> (0x33c7f428) 0
-Class QFlags<QTreeWidgetItemIterator::IteratorFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTreeWidgetItemIterator::IteratorFlag> (0x33c7f5b0) 0
Class QTreeWidgetItemIterator
size=12 align=4
@@ -5762,10 +5014,6 @@ QAbstractSpinBox (0x33cd7240) 0
QPaintDevice (0x33c7fe00) 8
vptr=((& QAbstractSpinBox::_ZTV16QAbstractSpinBox) + 252u)
-Class QFlags<QAbstractSpinBox::StepEnabledFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractSpinBox::StepEnabledFlag> (0x33c7f540) 0
Vtable for QAbstractSlider
QAbstractSlider::_ZTV15QAbstractSlider: 64u entries
@@ -6184,10 +5432,6 @@ Class QStyleOptionFrame
QStyleOptionFrame (0x33cd7600) 0
QStyleOption (0x33d63968) 0
-Class QFlags<QStyleOptionFrameV2::FrameFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionFrameV2::FrameFeature> (0x33d63c08) 0
Class QStyleOptionFrameV2
size=56 align=4
@@ -6214,10 +5458,6 @@ Class QStyleOptionHeader
QStyleOptionHeader (0x33cd7740) 0
QStyleOption (0x33d63a10) 0
-Class QFlags<QStyleOptionButton::ButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionButton::ButtonFeature> (0x33e09230) 0
Class QStyleOptionButton
size=64 align=4
@@ -6225,10 +5465,6 @@ Class QStyleOptionButton
QStyleOptionButton (0x33cd77c0) 0
QStyleOption (0x33e090e0) 0
-Class QFlags<QStyleOptionTab::CornerWidget>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionTab::CornerWidget> (0x33e09498) 0
Class QStyleOptionTab
size=72 align=4
@@ -6243,10 +5479,6 @@ QStyleOptionTabV2 (0x33cd7880) 0
QStyleOptionTab (0x33cd78c0) 0
QStyleOption (0x33e095b0) 0
-Class QFlags<QStyleOptionToolBar::ToolBarFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionToolBar::ToolBarFeature> (0x33e09930) 0
Class QStyleOptionToolBar
size=68 align=4
@@ -6273,10 +5505,6 @@ Class QStyleOptionMenuItem
QStyleOptionMenuItem (0x33cd7a00) 0
QStyleOption (0x33e09cb0) 0
-Class QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature> (0x33e09f88) 0
Class QStyleOptionQ3ListViewItem
size=64 align=4
@@ -6334,15 +5562,7 @@ QStyleOptionSpinBox (0x33cd7c80) 0
QStyleOptionComplex (0x33cd7cc0) 0
QStyleOption (0x33e919a0) 0
-Class QList<QStyleOptionQ3ListViewItem>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::<anonymous union> (0x33e91d20) 0
-Class QList<QStyleOptionQ3ListViewItem>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem> (0x33e91c78) 0
Class QStyleOptionQ3ListView
size=84 align=4
@@ -6351,10 +5571,6 @@ QStyleOptionQ3ListView (0x33cd7d00) 0
QStyleOptionComplex (0x33cd7d40) 0
QStyleOption (0x33e91b28) 0
-Class QFlags<QStyleOptionToolButton::ToolButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionToolButton::ToolButtonFeature> (0x33e91038) 0
Class QStyleOptionToolButton
size=96 align=4
@@ -6549,10 +5765,6 @@ QAbstractItemView (0x33f23040) 0
QPaintDevice (0x33f065e8) 8
vptr=((& QAbstractItemView::_ZTV17QAbstractItemView) + 392u)
-Class QFlags<QAbstractItemView::EditTrigger>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractItemView::EditTrigger> (0x33f067e0) 0
Vtable for QStringListModel
QStringListModel::_ZTV16QStringListModel: 42u entries
@@ -6735,15 +5947,7 @@ QListView (0x33f23240) 0
QPaintDevice (0x33f06968) 8
vptr=((& QListView::_ZTV9QListView) + 392u)
-Class QVector<QWidgetItemData>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData>::<anonymous union> (0x33f06ce8) 0
-Class QVector<QWidgetItemData>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData> (0x33f06c08) 0
Vtable for QListWidgetItem
QListWidgetItem::_ZTV15QListWidgetItem: 11u entries
@@ -7785,15 +6989,7 @@ Class QItemEditorCreatorBase
QItemEditorCreatorBase (0x33fd6e38) 0 nearly-empty
vptr=((& QItemEditorCreatorBase::_ZTV22QItemEditorCreatorBase) + 8u)
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union> (0x340ee380) 0
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*> (0x340ee268) 0
Vtable for QItemEditorFactory
QItemEditorFactory::_ZTV18QItemEditorFactory: 6u entries
@@ -7810,25 +7006,9 @@ Class QItemEditorFactory
QItemEditorFactory (0x340ee188) 0
vptr=((& QItemEditorFactory::_ZTV18QItemEditorFactory) + 8u)
-Class QVector<QVector<QWidgetItemData> >::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> >::<anonymous union> (0x340ee7e0) 0
-Class QVector<QVector<QWidgetItemData> >
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> > (0x340ee700) 0
-Class QList<QTreeWidgetItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::<anonymous union> (0x340ee968) 0
-Class QList<QTreeWidgetItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*> (0x340ee8c0) 0
Vtable for QTreeWidgetItem
QTreeWidgetItem::_ZTV15QTreeWidgetItem: 10u entries
@@ -8055,15 +7235,7 @@ Class QAccessible
base size=0 base align=1
QAccessible (0x34189070) 0 empty
-Class QFlags<QAccessible::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::StateFlag> (0x34189150) 0
-Class QFlags<QAccessible::RelationFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::RelationFlag> (0x341891c0) 0
Vtable for QAccessibleInterface
QAccessibleInterface::_ZTV20QAccessibleInterface: 19u entries
@@ -8911,15 +8083,7 @@ QActionGroup (0x34184980) 0
QObject (0x342926c8) 0
primary-for QActionGroup (0x34184980)
-Class QList<QAction*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QAction*>::<anonymous union> (0x342928f8) 0
-Class QList<QAction*>
- size=4 align=4
- base size=4 base align=4
-QList<QAction*> (0x34292850) 0
Vtable for QSound
QSound::_ZTV6QSound: 14u entries
@@ -9060,10 +8224,6 @@ QCommonStyle (0x34184a80) 0
QObject (0x34292d58) 0
primary-for QStyle (0x34184ac0)
-Class QPointer<QFocusFrame>
- size=4 align=4
- base size=4 base align=4
-QPointer<QFocusFrame> (0x34292f50) 0
Vtable for QMotifStyle
QMotifStyle::_ZTV11QMotifStyle: 35u entries
@@ -10591,10 +9751,6 @@ QDateEdit (0x3437fa40) 0
QPaintDevice (0x34434fc0) 8
vptr=((& QDateEdit::_ZTV9QDateEdit) + 260u)
-Class QFlags<QDateTimeEdit::Section>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDateTimeEdit::Section> (0x34434af0) 0
Vtable for QLabel
QLabel::_ZTV6QLabel: 63u entries
@@ -10754,10 +9910,6 @@ QDockWidget (0x3437fc00) 0
QPaintDevice (0x344e7188) 8
vptr=((& QDockWidget::_ZTV11QDockWidget) + 232u)
-Class QFlags<QDockWidget::DockWidgetFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDockWidget::DockWidgetFeature> (0x344e73f0) 0
Vtable for QGroupBox
QGroupBox::_ZTV9QGroupBox: 63u entries
@@ -12643,15 +11795,7 @@ Class QSqlRecord
base size=4 base align=4
QSqlRecord (0x34780268) 0
-Class QList<bool>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<bool>::<anonymous union> (0x34780428) 0
-Class QList<bool>
- size=4 align=4
- base size=4 base align=4
-QList<bool> (0x34780380) 0
Class QSqlIndex
size=16 align=4
@@ -12659,10 +11803,6 @@ Class QSqlIndex
QSqlIndex (0x34591dc0) 0
QSqlRecord (0x347802a0) 0
-Class QFlags<QSql::ParamTypeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QSql::ParamTypeFlag> (0x34780578) 0
Vtable for QSqlResult
QSqlResult::_ZTV10QSqlResult: 29u entries
@@ -13339,29 +12479,7 @@ Q3GVector (0x34838480) 0
Q3PtrCollection (0x348657a8) 0
primary-for Q3GVector (0x34838480)
-Vtable for Q3PtrVector<void>
-Q3PtrVector<void>::_ZTV11Q3PtrVectorIvE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI11Q3PtrVectorIvE)
-8 Q3PtrVector<type>::count [with type = void]
-12 Q3PtrVector<type>::clear [with type = void]
-16 Q3PtrVector<type>::~Q3PtrVector [with type = void]
-20 Q3PtrVector<type>::~Q3PtrVector [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3PtrVector<type>::deleteItem [with type = void]
-32 Q3GVector::compareItems
-36 Q3GVector::read
-40 Q3GVector::write
-Class Q3PtrVector<void>
- size=20 align=4
- base size=20 base align=4
-Q3PtrVector<void> (0x34838540) 0
- vptr=((& Q3PtrVector<void>::_ZTV11Q3PtrVectorIvE) + 8u)
- Q3GVector (0x34838580) 0
- primary-for Q3PtrVector<void> (0x34838540)
- Q3PtrCollection (0x348659a0) 0
- primary-for Q3GVector (0x34838580)
Vtable for Q3Header
Q3Header::_ZTV8Q3Header: 76u entries
@@ -13518,29 +12636,7 @@ Class Q3GListStdIterator
base size=4 base align=4
Q3GListStdIterator (0x34946070) 0
-Vtable for Q3PtrList<void>
-Q3PtrList<void>::_ZTV9Q3PtrListIvE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI9Q3PtrListIvE)
-8 Q3PtrList<type>::count [with type = void]
-12 Q3PtrList<type>::clear [with type = void]
-16 Q3PtrList<type>::~Q3PtrList [with type = void]
-20 Q3PtrList<type>::~Q3PtrList [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3PtrList<type>::deleteItem [with type = void]
-32 Q3GList::compareItems
-36 Q3GList::read
-40 Q3GList::write
-Class Q3PtrList<void>
- size=32 align=4
- base size=32 base align=4
-Q3PtrList<void> (0x348387c0) 0
- vptr=((& Q3PtrList<void>::_ZTV9Q3PtrListIvE) + 8u)
- Q3GList (0x34838800) 0
- primary-for Q3PtrList<void> (0x348387c0)
- Q3PtrCollection (0x34946268) 0
- primary-for Q3GList (0x34838800)
Class Q3BaseBucket
size=8 align=4
@@ -13597,28 +12693,7 @@ Class Q3GDictIterator
base size=12 base align=4
Q3GDictIterator (0x349467a8) 0
-Vtable for Q3IntDict<void>
-Q3IntDict<void>::_ZTV9Q3IntDictIvE: 10u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI9Q3IntDictIvE)
-8 Q3IntDict<type>::count [with type = void]
-12 Q3IntDict<type>::clear [with type = void]
-16 Q3IntDict<type>::~Q3IntDict [with type = void]
-20 Q3IntDict<type>::~Q3IntDict [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3IntDict<type>::deleteItem [with type = void]
-32 Q3GDict::read
-36 Q3GDict::write
-Class Q3IntDict<void>
- size=28 align=4
- base size=28 base align=4
-Q3IntDict<void> (0x34838a80) 0
- vptr=((& Q3IntDict<void>::_ZTV9Q3IntDictIvE) + 8u)
- Q3GDict (0x34838ac0) 0
- primary-for Q3IntDict<void> (0x34838a80)
- Q3PtrCollection (0x349469a0) 0
- primary-for Q3GDict (0x34838ac0)
Class Q3TableSelection
size=28 align=4
@@ -13729,100 +12804,13 @@ Class Q3Table::TableWidget
base size=12 base align=4
Q3Table::TableWidget (0x34946fc0) 0
-Vtable for Q3PtrVector<Q3TableItem>
-Q3PtrVector<Q3TableItem>::_ZTV11Q3PtrVectorI11Q3TableItemE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI11Q3PtrVectorI11Q3TableItemE)
-8 Q3PtrVector<type>::count [with type = Q3TableItem]
-12 Q3PtrVector<type>::clear [with type = Q3TableItem]
-16 Q3PtrVector<type>::~Q3PtrVector [with type = Q3TableItem]
-20 Q3PtrVector<type>::~Q3PtrVector [with type = Q3TableItem]
-24 Q3PtrCollection::newItem
-28 Q3PtrVector<type>::deleteItem [with type = Q3TableItem]
-32 Q3GVector::compareItems
-36 Q3GVector::read
-40 Q3GVector::write
-Class Q3PtrVector<Q3TableItem>
- size=20 align=4
- base size=20 base align=4
-Q3PtrVector<Q3TableItem> (0x34838d00) 0
- vptr=((& Q3PtrVector<Q3TableItem>::_ZTV11Q3PtrVectorI11Q3TableItemE) + 8u)
- Q3GVector (0x34838d40) 0
- primary-for Q3PtrVector<Q3TableItem> (0x34838d00)
- Q3PtrCollection (0x34946c78) 0
- primary-for Q3GVector (0x34838d40)
-
-Vtable for Q3PtrVector<QWidget>
-Q3PtrVector<QWidget>::_ZTV11Q3PtrVectorI7QWidgetE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI11Q3PtrVectorI7QWidgetE)
-8 Q3PtrVector<type>::count [with type = QWidget]
-12 Q3PtrVector<type>::clear [with type = QWidget]
-16 Q3PtrVector<type>::~Q3PtrVector [with type = QWidget]
-20 Q3PtrVector<type>::~Q3PtrVector [with type = QWidget]
-24 Q3PtrCollection::newItem
-28 Q3PtrVector<type>::deleteItem [with type = QWidget]
-32 Q3GVector::compareItems
-36 Q3GVector::read
-40 Q3GVector::write
-Class Q3PtrVector<QWidget>
- size=20 align=4
- base size=20 base align=4
-Q3PtrVector<QWidget> (0x34838d80) 0
- vptr=((& Q3PtrVector<QWidget>::_ZTV11Q3PtrVectorI7QWidgetE) + 8u)
- Q3GVector (0x34838dc0) 0
- primary-for Q3PtrVector<QWidget> (0x34838d80)
- Q3PtrCollection (0x34a18118) 0
- primary-for Q3GVector (0x34838dc0)
-
-Vtable for Q3PtrList<Q3TableSelection>
-Q3PtrList<Q3TableSelection>::_ZTV9Q3PtrListI16Q3TableSelectionE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI9Q3PtrListI16Q3TableSelectionE)
-8 Q3PtrList<type>::count [with type = Q3TableSelection]
-12 Q3PtrList<type>::clear [with type = Q3TableSelection]
-16 Q3PtrList<type>::~Q3PtrList [with type = Q3TableSelection]
-20 Q3PtrList<type>::~Q3PtrList [with type = Q3TableSelection]
-24 Q3PtrCollection::newItem
-28 Q3PtrList<type>::deleteItem [with type = Q3TableSelection]
-32 Q3GList::compareItems
-36 Q3GList::read
-40 Q3GList::write
-Class Q3PtrList<Q3TableSelection>
- size=32 align=4
- base size=32 base align=4
-Q3PtrList<Q3TableSelection> (0x34838e00) 0
- vptr=((& Q3PtrList<Q3TableSelection>::_ZTV9Q3PtrListI16Q3TableSelectionE) + 8u)
- Q3GList (0x34838e40) 0
- primary-for Q3PtrList<Q3TableSelection> (0x34838e00)
- Q3PtrCollection (0x34a182d8) 0
- primary-for Q3GList (0x34838e40)
-
-Vtable for Q3IntDict<int>
-Q3IntDict<int>::_ZTV9Q3IntDictIiE: 10u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI9Q3IntDictIiE)
-8 Q3IntDict<type>::count [with type = int]
-12 Q3IntDict<type>::clear [with type = int]
-16 Q3IntDict<type>::~Q3IntDict [with type = int]
-20 Q3IntDict<type>::~Q3IntDict [with type = int]
-24 Q3PtrCollection::newItem
-28 Q3IntDict<type>::deleteItem [with type = int]
-32 Q3GDict::read
-36 Q3GDict::write
-Class Q3IntDict<int>
- size=28 align=4
- base size=28 base align=4
-Q3IntDict<int> (0x34838e80) 0
- vptr=((& Q3IntDict<int>::_ZTV9Q3IntDictIiE) + 8u)
- Q3GDict (0x34838ec0) 0
- primary-for Q3IntDict<int> (0x34838e80)
- Q3PtrCollection (0x34a184d0) 0
- primary-for Q3GDict (0x34838ec0)
+
+
+
Vtable for Q3Table
Q3Table::_ZTV7Q3Table: 183u entries
@@ -14546,21 +13534,8 @@ Class Q3SqlPropertyMap
Q3SqlPropertyMap (0x34ad1150) 0
vptr=((& Q3SqlPropertyMap::_ZTV16Q3SqlPropertyMap) + 8u)
-Class QLinkedList<Q3SqlFieldInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QLinkedList<Q3SqlFieldInfo>::<anonymous union> (0x34ad15e8) 0
-Class QLinkedList<Q3SqlFieldInfo>
- size=4 align=4
- base size=4 base align=4
-QLinkedList<Q3SqlFieldInfo> (0x34ad1508) 0
-Class Q3ValueList<Q3SqlFieldInfo>
- size=4 align=4
- base size=4 base align=4
-Q3ValueList<Q3SqlFieldInfo> (0x34a4f340) 0
- QLinkedList<Q3SqlFieldInfo> (0x34ad1620) 0
Class Q3SqlRecordInfo
size=4 align=4
@@ -14569,31 +13544,10 @@ Q3SqlRecordInfo (0x34a4f3c0) 0
Q3ValueList<Q3SqlFieldInfo> (0x34a4f400) 0
QLinkedList<Q3SqlFieldInfo> (0x34ad1738) 0
-Class QList<Q3SqlFieldInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<Q3SqlFieldInfo>::<anonymous union> (0x34ad18f8) 0
-Class QList<Q3SqlFieldInfo>
- size=4 align=4
- base size=4 base align=4
-QList<Q3SqlFieldInfo> (0x34ad1850) 0
-Class QLinkedList<Q3SqlFieldInfo>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QLinkedList<Q3SqlFieldInfo>::const_iterator (0x34ad1c08) 0
-Class Q3ValueListConstIterator<Q3SqlFieldInfo>
- size=4 align=4
- base size=4 base align=4
-Q3ValueListConstIterator<Q3SqlFieldInfo> (0x34a4f440) 0
- QLinkedList<Q3SqlFieldInfo>::const_iterator (0x34ad1c40) 0
-Class QLinkedList<Q3SqlFieldInfo>::iterator
- size=4 align=4
- base size=4 base align=4
-QLinkedList<Q3SqlFieldInfo>::iterator (0x34ad1ce8) 0
Vtable for Q3DataView
Q3DataView::_ZTV10Q3DataView: 69u entries
@@ -14684,15 +13638,7 @@ Class Q3StyleSheetItem
base size=4 base align=4
Q3StyleSheetItem (0x34ad1c78) 0
-Class QHash<QString, Q3StyleSheetItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QHash<QString, Q3StyleSheetItem*>::<anonymous union> (0x34b8d1c0) 0
-Class QHash<QString, Q3StyleSheetItem*>
- size=4 align=4
- base size=4 base align=4
-QHash<QString, Q3StyleSheetItem*> (0x34b8d0a8) 0
Vtable for Q3StyleSheet
Q3StyleSheet::_ZTV12Q3StyleSheet: 16u entries
@@ -14753,25 +13699,9 @@ Class Q3TextEditOptimPrivate::Selection
base size=8 base align=4
Q3TextEditOptimPrivate::Selection (0x34b8d578) 0
-Class QMap<int, QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<int, QString>::<anonymous union> (0x34b8d700) 0
-Class QMap<int, QString>
- size=4 align=4
- base size=4 base align=4
-QMap<int, QString> (0x34b8d658) 0
-Class QMap<int, Q3TextEditOptimPrivate::Tag*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<int, Q3TextEditOptimPrivate::Tag*>::<anonymous union> (0x34b8d9a0) 0
-Class QMap<int, Q3TextEditOptimPrivate::Tag*>
- size=4 align=4
- base size=4 base align=4
-QMap<int, Q3TextEditOptimPrivate::Tag*> (0x34b8d8f8) 0
Class Q3TextEditOptimPrivate
size=52 align=4
@@ -14979,10 +13909,6 @@ Q3TextEdit (0x34a4f680) 0
QPaintDevice (0x34b8dcb0) 8
vptr=((& Q3TextEdit::_ZTV10Q3TextEdit) + 680u)
-Class QFlags<Q3TextEdit::AutoFormattingFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Q3TextEdit::AutoFormattingFlag> (0x34b8dee0) 0
Vtable for Q3SyntaxHighlighter
Q3SyntaxHighlighter::_ZTV19Q3SyntaxHighlighter: 5u entries
@@ -15912,28 +14838,7 @@ Class Q3Url
Q3Url (0x34c4e888) 0
vptr=((& Q3Url::_ZTV5Q3Url) + 8u)
-Vtable for Q3Dict<void>
-Q3Dict<void>::_ZTV6Q3DictIvE: 10u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI6Q3DictIvE)
-8 Q3Dict<type>::count [with type = void]
-12 Q3Dict<type>::clear [with type = void]
-16 Q3Dict<type>::~Q3Dict [with type = void]
-20 Q3Dict<type>::~Q3Dict [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3Dict<type>::deleteItem [with type = void]
-32 Q3GDict::read
-36 Q3GDict::write
-Class Q3Dict<void>
- size=28 align=4
- base size=28 base align=4
-Q3Dict<void> (0x34a4ff40) 0
- vptr=((& Q3Dict<void>::_ZTV6Q3DictIvE) + 8u)
- Q3GDict (0x34a4ff80) 0
- primary-for Q3Dict<void> (0x34a4ff40)
- Q3PtrCollection (0x34c4eab8) 0
- primary-for Q3GDict (0x34a4ff80)
Vtable for Q3NetworkProtocolFactoryBase
Q3NetworkProtocolFactoryBase::_ZTV28Q3NetworkProtocolFactoryBase: 5u entries
@@ -16294,29 +15199,7 @@ Q3Accel (0x34ce02c0) 0
QObject (0x34d099a0) 0
primary-for Q3Accel (0x34ce02c0)
-Vtable for Q3PtrList<char>
-Q3PtrList<char>::_ZTV9Q3PtrListIcE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI9Q3PtrListIcE)
-8 Q3PtrList<type>::count [with type = char]
-12 Q3PtrList<type>::clear [with type = char]
-16 Q3PtrList<type>::~Q3PtrList [with type = char]
-20 Q3PtrList<type>::~Q3PtrList [with type = char]
-24 Q3PtrCollection::newItem
-28 Q3PtrList<type>::deleteItem [with type = char]
-32 Q3GList::compareItems
-36 Q3GList::read
-40 Q3GList::write
-Class Q3PtrList<char>
- size=32 align=4
- base size=32 base align=4
-Q3PtrList<char> (0x34ce0300) 0
- vptr=((& Q3PtrList<char>::_ZTV9Q3PtrListIcE) + 8u)
- Q3GList (0x34ce0340) 0
- primary-for Q3PtrList<char> (0x34ce0300)
- Q3PtrCollection (0x34d09b60) 0
- primary-for Q3GList (0x34ce0340)
Vtable for Q3StrList
Q3StrList::_ZTV9Q3StrList: 11u entries
@@ -16344,11 +15227,6 @@ Q3StrList (0x34ce0380) 0
Q3PtrCollection (0x34d09cb0) 0
primary-for Q3GList (0x34ce0400)
-Class Q3PtrListStdIterator<char>
- size=4 align=4
- base size=4 base align=4
-Q3PtrListStdIterator<char> (0x34ce0440) 0
- Q3GListStdIterator (0x34d09268) 0
Vtable for Q3StrIList
Q3StrIList::_ZTV10Q3StrIList: 11u entries
@@ -16904,29 +15782,7 @@ Class Q3CString
Q3CString (0x34ce0bc0) 0
QByteArray (0x34ddce38) 0
-Vtable for Q3PtrQueue<void>
-Q3PtrQueue<void>::_ZTV10Q3PtrQueueIvE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI10Q3PtrQueueIvE)
-8 Q3PtrQueue<type>::count [with type = void]
-12 Q3PtrQueue<type>::clear [with type = void]
-16 Q3PtrQueue<type>::~Q3PtrQueue [with type = void]
-20 Q3PtrQueue<type>::~Q3PtrQueue [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3PtrQueue<type>::deleteItem [with type = void]
-32 Q3GList::compareItems
-36 Q3GList::read
-40 Q3GList::write
-Class Q3PtrQueue<void>
- size=32 align=4
- base size=32 base align=4
-Q3PtrQueue<void> (0x34ce0c80) 0
- vptr=((& Q3PtrQueue<void>::_ZTV10Q3PtrQueueIvE) + 8u)
- Q3GList (0x34ce0cc0) 0
- primary-for Q3PtrQueue<void> (0x34ce0c80)
- Q3PtrCollection (0x34e43818) 0
- primary-for Q3GList (0x34ce0cc0)
Vtable for Q3Signal
Q3Signal::_ZTV8Q3Signal: 14u entries
@@ -16953,75 +15809,11 @@ Q3Signal (0x34ce0d00) 0
QObject (0x34e43a10) 0
primary-for Q3Signal (0x34ce0d00)
-Vtable for Q3AsciiDict<void>
-Q3AsciiDict<void>::_ZTV11Q3AsciiDictIvE: 10u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI11Q3AsciiDictIvE)
-8 Q3AsciiDict<type>::count [with type = void]
-12 Q3AsciiDict<type>::clear [with type = void]
-16 Q3AsciiDict<type>::~Q3AsciiDict [with type = void]
-20 Q3AsciiDict<type>::~Q3AsciiDict [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3AsciiDict<type>::deleteItem [with type = void]
-32 Q3GDict::read
-36 Q3GDict::write
-Class Q3AsciiDict<void>
- size=28 align=4
- base size=28 base align=4
-Q3AsciiDict<void> (0x34ce0dc0) 0
- vptr=((& Q3AsciiDict<void>::_ZTV11Q3AsciiDictIvE) + 8u)
- Q3GDict (0x34ce0e00) 0
- primary-for Q3AsciiDict<void> (0x34ce0dc0)
- Q3PtrCollection (0x34e43cb0) 0
- primary-for Q3GDict (0x34ce0e00)
-
-Vtable for Q3PtrStack<void>
-Q3PtrStack<void>::_ZTV10Q3PtrStackIvE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI10Q3PtrStackIvE)
-8 Q3PtrStack<type>::count [with type = void]
-12 Q3PtrStack<type>::clear [with type = void]
-16 Q3PtrStack<type>::~Q3PtrStack [with type = void]
-20 Q3PtrStack<type>::~Q3PtrStack [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3PtrStack<type>::deleteItem [with type = void]
-32 Q3GList::compareItems
-36 Q3GList::read
-40 Q3GList::write
-Class Q3PtrStack<void>
- size=32 align=4
- base size=32 base align=4
-Q3PtrStack<void> (0x34ce0f00) 0
- vptr=((& Q3PtrStack<void>::_ZTV10Q3PtrStackIvE) + 8u)
- Q3GList (0x34ce0f40) 0
- primary-for Q3PtrStack<void> (0x34ce0f00)
- Q3PtrCollection (0x34e43f88) 0
- primary-for Q3GList (0x34ce0f40)
-Vtable for Q3AsciiDict<QMetaObject>
-Q3AsciiDict<QMetaObject>::_ZTV11Q3AsciiDictI11QMetaObjectE: 10u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI11Q3AsciiDictI11QMetaObjectE)
-8 Q3AsciiDict<type>::count [with type = QMetaObject]
-12 Q3AsciiDict<type>::clear [with type = QMetaObject]
-16 Q3AsciiDict<type>::~Q3AsciiDict [with type = QMetaObject]
-20 Q3AsciiDict<type>::~Q3AsciiDict [with type = QMetaObject]
-24 Q3PtrCollection::newItem
-28 Q3AsciiDict<type>::deleteItem [with type = QMetaObject]
-32 Q3GDict::read
-36 Q3GDict::write
-Class Q3AsciiDict<QMetaObject>
- size=28 align=4
- base size=28 base align=4
-Q3AsciiDict<QMetaObject> (0x34ce0f80) 0
- vptr=((& Q3AsciiDict<QMetaObject>::_ZTV11Q3AsciiDictI11QMetaObjectE) + 8u)
- Q3GDict (0x34ce0fc0) 0
- primary-for Q3AsciiDict<QMetaObject> (0x34ce0f80)
- Q3PtrCollection (0x34ece000) 0
- primary-for Q3GDict (0x34ce0fc0)
+
Vtable for Q3ObjectDictionary
Q3ObjectDictionary::_ZTV18Q3ObjectDictionary: 10u entries
@@ -17072,91 +15864,13 @@ Class Q3GCacheIterator
base size=4 base align=4
Q3GCacheIterator (0x34ece498) 0
-Vtable for Q3Cache<void>
-Q3Cache<void>::_ZTV7Q3CacheIvE: 8u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI7Q3CacheIvE)
-8 Q3Cache<type>::count [with type = void]
-12 Q3Cache<type>::clear [with type = void]
-16 Q3Cache<type>::~Q3Cache [with type = void]
-20 Q3Cache<type>::~Q3Cache [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3Cache<type>::deleteItem [with type = void]
-Class Q3Cache<void>
- size=32 align=4
- base size=29 base align=4
-Q3Cache<void> (0x34ed41c0) 0
- vptr=((& Q3Cache<void>::_ZTV7Q3CacheIvE) + 8u)
- Q3GCache (0x34ed4200) 0
- primary-for Q3Cache<void> (0x34ed41c0)
- Q3PtrCollection (0x34ece5b0) 0
- primary-for Q3GCache (0x34ed4200)
-
-Vtable for Q3IntCache<void>
-Q3IntCache<void>::_ZTV10Q3IntCacheIvE: 8u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI10Q3IntCacheIvE)
-8 Q3IntCache<type>::count [with type = void]
-12 Q3IntCache<type>::clear [with type = void]
-16 Q3IntCache<type>::~Q3IntCache [with type = void]
-20 Q3IntCache<type>::~Q3IntCache [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3IntCache<type>::deleteItem [with type = void]
-Class Q3IntCache<void>
- size=32 align=4
- base size=29 base align=4
-Q3IntCache<void> (0x34ed4340) 0
- vptr=((& Q3IntCache<void>::_ZTV10Q3IntCacheIvE) + 8u)
- Q3GCache (0x34ed4380) 0
- primary-for Q3IntCache<void> (0x34ed4340)
- Q3PtrCollection (0x34ece8c0) 0
- primary-for Q3GCache (0x34ed4380)
-
-Vtable for Q3PtrDict<void>
-Q3PtrDict<void>::_ZTV9Q3PtrDictIvE: 10u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI9Q3PtrDictIvE)
-8 Q3PtrDict<type>::count [with type = void]
-12 Q3PtrDict<type>::clear [with type = void]
-16 Q3PtrDict<type>::~Q3PtrDict [with type = void]
-20 Q3PtrDict<type>::~Q3PtrDict [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3PtrDict<type>::deleteItem [with type = void]
-32 Q3GDict::read
-36 Q3GDict::write
-Class Q3PtrDict<void>
- size=28 align=4
- base size=28 base align=4
-Q3PtrDict<void> (0x34ed4480) 0
- vptr=((& Q3PtrDict<void>::_ZTV9Q3PtrDictIvE) + 8u)
- Q3GDict (0x34ed44c0) 0
- primary-for Q3PtrDict<void> (0x34ed4480)
- Q3PtrCollection (0x34eceb60) 0
- primary-for Q3GDict (0x34ed44c0)
-
-Vtable for Q3AsciiCache<void>
-Q3AsciiCache<void>::_ZTV12Q3AsciiCacheIvE: 8u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI12Q3AsciiCacheIvE)
-8 Q3AsciiCache<type>::count [with type = void]
-12 Q3AsciiCache<type>::clear [with type = void]
-16 Q3AsciiCache<type>::~Q3AsciiCache [with type = void]
-20 Q3AsciiCache<type>::~Q3AsciiCache [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3AsciiCache<type>::deleteItem [with type = void]
-Class Q3AsciiCache<void>
- size=32 align=4
- base size=29 base align=4
-Q3AsciiCache<void> (0x34ed4600) 0
- vptr=((& Q3AsciiCache<void>::_ZTV12Q3AsciiCacheIvE) + 8u)
- Q3GCache (0x34ed4640) 0
- primary-for Q3AsciiCache<void> (0x34ed4600)
- Q3PtrCollection (0x34ecef50) 0
- primary-for Q3GCache (0x34ed4640)
+
+
+
Vtable for Q3Semaphore
Q3Semaphore::_ZTV11Q3Semaphore: 4u entries
@@ -17171,29 +15885,7 @@ Class Q3Semaphore
Q3Semaphore (0x34f7a000) 0
vptr=((& Q3Semaphore::_ZTV11Q3Semaphore) + 8u)
-Vtable for Q3PtrVector<char>
-Q3PtrVector<char>::_ZTV11Q3PtrVectorIcE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI11Q3PtrVectorIcE)
-8 Q3PtrVector<type>::count [with type = char]
-12 Q3PtrVector<type>::clear [with type = char]
-16 Q3PtrVector<type>::~Q3PtrVector [with type = char]
-20 Q3PtrVector<type>::~Q3PtrVector [with type = char]
-24 Q3PtrCollection::newItem
-28 Q3PtrVector<type>::deleteItem [with type = char]
-32 Q3GVector::compareItems
-36 Q3GVector::read
-40 Q3GVector::write
-Class Q3PtrVector<char>
- size=20 align=4
- base size=20 base align=4
-Q3PtrVector<char> (0x34ed4700) 0
- vptr=((& Q3PtrVector<char>::_ZTV11Q3PtrVectorIcE) + 8u)
- Q3GVector (0x34ed4740) 0
- primary-for Q3PtrVector<char> (0x34ed4700)
- Q3PtrCollection (0x34f7a1c0) 0
- primary-for Q3GVector (0x34ed4740)
Vtable for Q3StrVec
Q3StrVec::_ZTV8Q3StrVec: 11u entries
@@ -17288,21 +15980,8 @@ Class Q3PaintDeviceMetrics
base size=4 base align=4
Q3PaintDeviceMetrics (0x34f7a0e0) 0
-Class QLinkedList<Q3CanvasItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QLinkedList<Q3CanvasItem*>::<anonymous union> (0x34fd7118) 0
-Class QLinkedList<Q3CanvasItem*>
- size=4 align=4
- base size=4 base align=4
-QLinkedList<Q3CanvasItem*> (0x34fd7038) 0
-Class Q3ValueList<Q3CanvasItem*>
- size=4 align=4
- base size=4 base align=4
-Q3ValueList<Q3CanvasItem*> (0x34ed4a80) 0
- QLinkedList<Q3CanvasItem*> (0x34fd7150) 0
Class Q3CanvasItemList
size=4 align=4
@@ -18639,15 +17318,7 @@ Q3SocketDevice (0x3506d6c0) 0
QObject (0x351811c0) 0
primary-for QIODevice (0x3506d700)
-Class QMap<QString, QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QString>::<anonymous union> (0x35181428) 0
-Class QMap<QString, QString>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QString> (0x35181380) 0
Vtable for Q3HttpHeader
Q3HttpHeader::_ZTV12Q3HttpHeader: 8u entries
@@ -19972,15 +18643,7 @@ Q3VBox (0x3527c2c0) 0
QPaintDevice (0x352cc000) 8
vptr=((& Q3VBox::_ZTV6Q3VBox) + 244u)
-Class QMap<int, QAbstractButton*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<int, QAbstractButton*>::<anonymous union> (0x352cc348) 0
-Class QMap<int, QAbstractButton*>
- size=4 align=4
- base size=4 base align=4
-QMap<int, QAbstractButton*> (0x352cc2a0) 0
Vtable for Q3ButtonGroup
Q3ButtonGroup::_ZTV13Q3ButtonGroup: 64u entries
@@ -20997,25 +19660,9 @@ Q3MainWindow (0x3527ce40) 0
QPaintDevice (0x3536c738) 8
vptr=((& Q3MainWindow::_ZTV12Q3MainWindow) + 328u)
-Class QList<QRect>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QRect>::<anonymous union> (0x3536cab8) 0
-Class QList<QRect>
- size=4 align=4
- base size=4 base align=4
-QList<QRect> (0x3536ca10) 0
-Class QList<Q3DockWindow*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<Q3DockWindow*>::<anonymous union> (0x3536cc40) 0
-Class QList<Q3DockWindow*>
- size=4 align=4
- base size=4 base align=4
-QList<Q3DockWindow*> (0x3536cb98) 0
Vtable for Q3DockAreaLayout
Q3DockAreaLayout::_ZTV16Q3DockAreaLayout: 48u entries
@@ -21080,10 +19727,6 @@ Q3DockAreaLayout (0x3527cec0) 0
QLayoutItem (0x3536c968) 8
vptr=((& Q3DockAreaLayout::_ZTV16Q3DockAreaLayout) + 128u)
-Class QPointer<Q3DockArea>
- size=4 align=4
- base size=4 base align=4
-QPointer<Q3DockArea> (0x3536cd58) 0
Class Q3DockArea::DockWindowData
size=24 align=4
@@ -21168,193 +19811,41 @@ Q3DockArea (0x3527cf80) 0
QPaintDevice (0x3536c620) 8
vptr=((& Q3DockArea::_ZTV10Q3DockArea) + 232u)
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0x35480380) 0
-Class QTypeInfo<QDebug::Stream*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDebug::Stream*> (0x35480ab8) 0 empty
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0x3549c8c0) 0
-Class QVectorTypedData<QTextLength>
- size=32 align=8
- base size=32 base align=8
-QVectorTypedData<QTextLength> (0x354eb4d0) 0
-Class QVectorTypedData<QTextLayout::FormatRange>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QTextLayout::FormatRange> (0x3550a188) 0
-Class QVectorTypedData<QAbstractTextDocumentLayout::Selection>
- size=28 align=4
- base size=28 base align=4
-QVectorTypedData<QAbstractTextDocumentLayout::Selection> (0x3550a428) 0
-Class QVectorTypedData<QPoint>
- size=24 align=4
- base size=24 base align=4
-QVectorTypedData<QPoint> (0x355274d0) 0
-Class QVectorTypedData<QPointF>
- size=32 align=8
- base size=32 base align=8
-QVectorTypedData<QPointF> (0x35527af0) 0
-Class QVectorTypedData<QLineF>
- size=48 align=8
- base size=48 base align=8
-QVectorTypedData<QLineF> (0x35563658) 0
-Class QVectorTypedData<QLine>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QLine> (0x355637e0) 0
-Class QVectorTypedData<QRectF>
- size=48 align=8
- base size=48 base align=8
-QVectorTypedData<QRectF> (0x35563968) 0
-Class QVectorTypedData<QRect>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QRect> (0x35563af0) 0
-Class QVectorTypedData<QPainterPath::Element>
- size=40 align=8
- base size=40 base align=8
-QVectorTypedData<QPainterPath::Element> (0x3557f268) 0
-Class QList<QTreeWidgetItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::Node (0x355f39a0) 0
-Class QVectorTypedData<QVector<QWidgetItemData> >
- size=20 align=4
- base size=20 base align=4
-QVectorTypedData<QVector<QWidgetItemData> > (0x355f3b98) 0
-Class QList<QAction*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QAction*>::Node (0x35614850) 0
-Class QLinkedListNode<Q3SqlFieldInfo>
- size=56 align=8
- base size=56 base align=8
-QLinkedListNode<Q3SqlFieldInfo> (0x35637e00) 0
-Class QTypeInfo<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLength> (0x356bdfc0) 0 empty
-Class QTypeInfo<QTextLayout::FormatRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLayout::FormatRange> (0x356e53b8) 0 empty
-Class QTypeInfo<QAbstractTextDocumentLayout::Selection>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAbstractTextDocumentLayout::Selection> (0x356e57a8) 0 empty
-Class QHashNode<QVariant::Type, QItemEditorCreatorBase*>
- size=16 align=4
- base size=16 base align=4
-QHashNode<QVariant::Type, QItemEditorCreatorBase*> (0x35701ce8) 0
-Class QTypeInfo<QTreeWidgetItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTreeWidgetItem*> (0x35701e70) 0 empty
-Class QTypeInfo<QAction*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAction*> (0x35724310) 0 empty
-Class QTypeInfo<Q3TextEditOptimPrivate::Tag*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<Q3TextEditOptimPrivate::Tag*> (0x35724c40) 0 empty
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0x357526c8) 0
-Class QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union> (0x357528c0) 0
-Class QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union> (0x35752e38) 0
-Class QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union> (0x35797380) 0
-Class QList<QItemSelectionRange>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::Node (0x357979a0) 0
-Class QTypeInfo<QStyleOptionQ3ListViewItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QStyleOptionQ3ListViewItem> (0x35797c40) 0 empty
-Class QList<QStyleOptionQ3ListViewItem>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::Node (0x35797ce8) 0
-Class QList<QVariant>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::Node (0x357c8150) 0
-Class QMap<Key, T>::detach_helper() [with Key = int, T = Q3TextEditOptimPrivate::Tag*]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<Key, T>::detach_helper() [with Key = int, T = Q3TextEditOptimPrivate::Tag*]::<anonymous union> (0x357c8a80) 0
-Class QList<QRect>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QRect>::Node (0x357c8c78) 0
-Class QTypeInfo<Q3DockWindow*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<Q3DockWindow*> (0x357c8f18) 0 empty
-Class QList<Q3DockWindow*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<Q3DockWindow*>::Node (0x357c8fc0) 0
-Class QLinkedList<T>::detach_helper() [with T = Q3SqlFieldInfo]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QLinkedList<T>::detach_helper() [with T = Q3SqlFieldInfo]::<anonymous union> (0x357ef5e8) 0
-Class QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union> (0x357ef818) 0
diff --git a/tests/auto/bic/data/Qt3Support.4.1.0.macx-gcc-ia32.txt b/tests/auto/bic/data/Qt3Support.4.1.0.macx-gcc-ia32.txt
index 937efcf..0f44ea7 100644
--- a/tests/auto/bic/data/Qt3Support.4.1.0.macx-gcc-ia32.txt
+++ b/tests/auto/bic/data/Qt3Support.4.1.0.macx-gcc-ia32.txt
@@ -18,75 +18,19 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0x6b5940) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0x6b5b80) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0x6b5c40) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0x6b5d00) 0 empty
-Class QTypeInfo<uchar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uchar> (0x6b5dc0) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0x6b5e80) 0 empty
-Class QTypeInfo<ushort>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ushort> (0x6b5f40) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0x262c000) 0 empty
-Class QTypeInfo<uint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uint> (0x262c0c0) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0x262c180) 0 empty
-Class QTypeInfo<ulong>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ulong> (0x262c240) 0 empty
-Class QTypeInfo<qint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<qint64> (0x262c300) 0 empty
-Class QTypeInfo<quint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<quint64> (0x262c3c0) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0x262c480) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0x262c540) 0 empty
Class QFlag
size=4 align=4
@@ -103,10 +47,6 @@ Class QChar
base size=2 base align=2
QChar (0x262c840) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0x262c940) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -119,10 +59,6 @@ Class QAtomic
QAtomic (0x26b1040) 0
QBasicAtomic (0x26b1080) 0
-Class <anonymous union>
- size=128 align=4
- base size=128 base align=4
-<anonymous union> (0x26b1300) 0
Class __darwin_pthread_handler_rec
size=12 align=4
@@ -204,70 +140,18 @@ Class QByteRef
base size=8 base align=4
QByteRef (0x26b1fc0) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0x2745380) 0 empty
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0x2745840) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0x27458c0) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0x2745940) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0x27459c0) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0x2745a40) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0x2745ac0) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0x2745b40) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0x2745bc0) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0x2745c40) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0x2745cc0) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0x2745d40) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0x2745dc0) 0
Class QInternal
size=1 align=1
@@ -294,10 +178,6 @@ Class QLatin1String
base size=4 base align=4
QLatin1String (0x28c0500) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0x28c0940) 0
Class QCharRef
size=8 align=4
@@ -310,10 +190,6 @@ Class QConstString
QConstString (0x2a27540) 0
QString (0x2a27580) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0x2a27680) 0 empty
Vtable for std::exception
std::exception::_ZTVSt9exception: 5u entries
@@ -376,10 +252,6 @@ Class QListData
base size=4 base align=4
QListData (0x2a27f40) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0x2a884c0) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -404,15 +276,7 @@ Class QTextCodec
QTextCodec (0x2a88340) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0x2a88800) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0x2a88740) 0
Class QTextEncoder
size=32 align=4
@@ -435,25 +299,13 @@ Class QGenericReturnArgument
QGenericReturnArgument (0x2a88a40) 0
QGenericArgument (0x2a88a80) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0x2a88d40) 0
Class QMetaObject
size=16 align=4
base size=16 base align=4
QMetaObject (0x2a88cc0) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0x2a88fc0) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0x2a88f00) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -545,10 +397,6 @@ QIODevice (0x2bbe540) 0
QObject (0x2bbe580) 0
primary-for QIODevice (0x2bbe540)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0x2bbe7c0) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -568,25 +416,13 @@ Class QRegExp
base size=4 base align=4
QRegExp (0x2bbee80) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0x2bbe680) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0x2c8f000) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0x2c8f200) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0x2c8f140) 0
Class QStringList
size=4 align=4
@@ -594,15 +430,7 @@ Class QStringList
QStringList (0x2c8f2c0) 0
QList<QString> (0x2c8f300) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0x2c8f7c0) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0x2c8f840) 0
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -736,50 +564,22 @@ QFile (0x2d06600) 0
QObject (0x2d06680) 0
primary-for QIODevice (0x2d06640)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0x2d06840) 0
Class QFileInfo
size=4 align=4
base size=4 base align=4
QFileInfo (0x2d06880) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0x2d06940) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0x2d069c0) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0x2d06b80) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0x2d06ac0) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0x2d06c40) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0x2d06d80) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0x2d06e00) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -836,10 +636,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0x2d06e40) 0
vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0x2e1c000) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -913,10 +709,6 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0x2e1c500) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0x2e1c580) 0 empty
Class QMapData::Node
size=8 align=4
@@ -941,10 +733,6 @@ Class QTextStream
QTextStream (0x2eaf940) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0x2eafc00) 0
Class QTextStreamManipulator
size=24 align=4
@@ -1041,35 +829,15 @@ Class rlimit
base size=16 base align=4
rlimit (0x300a680) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0x300ae40) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0x300aec0) 0
Class wait
size=4 align=4
base size=4 base align=4
wait (0x300adc0) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x300af40) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x300afc0) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0x303c000) 0
Class QVectorData
size=16 align=4
@@ -1182,95 +950,23 @@ Class QMetaType
base size=0 base align=1
QMetaType (0x303ca80) 0 empty
-Class QMetaTypeId<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QString> (0x303cbc0) 0 empty
-Class QMetaTypeId<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<int> (0x303cc80) 0 empty
-Class QMetaTypeId<uint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<uint> (0x303cd40) 0 empty
-Class QMetaTypeId<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<bool> (0x303ce00) 0 empty
-Class QMetaTypeId<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<double> (0x303cec0) 0 empty
-Class QMetaTypeId<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QByteArray> (0x303cf80) 0 empty
-Class QMetaTypeId<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QChar> (0x303c800) 0 empty
-Class QMetaTypeId<void>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<void> (0x3158040) 0 empty
-Class QMetaTypeId<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<long int> (0x3158100) 0 empty
-Class QMetaTypeId<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<short int> (0x31581c0) 0 empty
-Class QMetaTypeId<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<char> (0x3158280) 0 empty
-Class QMetaTypeId<ulong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<ulong> (0x3158340) 0 empty
-Class QMetaTypeId<ushort>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<ushort> (0x3158400) 0 empty
-Class QMetaTypeId<uchar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<uchar> (0x31584c0) 0 empty
-Class QMetaTypeId<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<float> (0x3158580) 0 empty
-Class QMetaTypeId<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QObject*> (0x3158640) 0 empty
-Class QMetaTypeId<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QWidget*> (0x3158700) 0 empty
-Class QMetaTypeId<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<void*> (0x31587c0) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -1297,50 +993,18 @@ Class QVariant
base size=12 base align=4
QVariant (0x3158840) 0
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0x3158ec0) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0x3158e00) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0x3158b80) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0x3158a00) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0x31e4240) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0x31e4380) 0 empty
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0x31e4440) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x31e44c0) 0
-Class <anonymous struct>
- size=3156 align=4
- base size=3156 base align=4
-<anonymous struct> (0x31e4540) 0
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1418,15 +1082,7 @@ Class QUrl
base size=4 base align=4
QUrl (0x31e4d80) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0x31e4f40) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0x31e4fc0) 0 empty
Vtable for QEventLoop
QEventLoop::_ZTV10QEventLoop: 14u entries
@@ -1453,10 +1109,6 @@ QEventLoop (0x31e4100) 0
QObject (0x31e4800) 0
primary-for QEventLoop (0x31e4100)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0x32c4140) 0
Vtable for QAbstractEventDispatcher
QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 27u entries
@@ -1501,20 +1153,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0x32c4380) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0x32c4540) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0x32c45c0) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0x32c4700) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -1684,10 +1328,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0x32c4e00) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0x32c4f00) 0 empty
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -1779,20 +1419,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0x3372900) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0x33729c0) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0x3372a40) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0x3372b00) 0 empty
Class QMetaProperty
size=20 align=4
@@ -1804,10 +1436,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0x3372bc0) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0x3372c80) 0 empty
Vtable for QMimeData
QMimeData::_ZTV9QMimeData: 17u entries
@@ -2095,10 +1723,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0x34a4400) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0x34a4540) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -2110,70 +1734,42 @@ Class QDate
base size=4 base align=4
QDate (0x34a4740) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0x34a4940) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0x34a49c0) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0x34a4c00) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0x34a4c80) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0x34a4e00) 0 empty
Class QPoint
size=8 align=4
base size=8 base align=4
QPoint (0x34a4e80) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0x34a4f40) 0 empty
Class QPointF
size=16 align=4
base size=16 base align=4
QPointF (0x3538240) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0x35386c0) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0x35389c0) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0x3538a40) 0 empty
Class QLineF
size=32 align=4
base size=32 base align=4
QLineF (0x3538bc0) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0x3538c80) 0 empty
Class QLinkedListData
size=20 align=4
@@ -2185,50 +1781,30 @@ Class QLocale
base size=4 base align=4
QLocale (0x3650000) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0x3650080) 0 empty
Class QSize
size=8 align=4
base size=8 base align=4
QSize (0x36501c0) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0x36505c0) 0 empty
Class QSizeF
size=16 align=4
base size=16 base align=4
QSizeF (0x3650980) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0x3650d80) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0x3650a40) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0x3650cc0) 0 empty
Class QRectF
size=32 align=4
base size=32 base align=4
QRectF (0x3706240) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0x3706400) 0 empty
Class QSharedData
size=4 align=4
@@ -2250,10 +1826,6 @@ Class QKeySequence
base size=4 base align=4
QKeySequence (0x3706dc0) 0
-Class QTypeInfo<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QKeySequence> (0x3706f40) 0 empty
Vtable for QMimeSource
QMimeSource::_ZTV11QMimeSource: 7u entries
@@ -2572,15 +2144,7 @@ Class QInputMethodEvent::Attribute
base size=24 base align=4
QInputMethodEvent::Attribute (0x38d8a80) 0
-Class QList<QInputMethodEvent::Attribute>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute>::<anonymous union> (0x38d8c40) 0
-Class QList<QInputMethodEvent::Attribute>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute> (0x38d8b80) 0
Vtable for QInputMethodEvent
QInputMethodEvent::_ZTV17QInputMethodEvent: 4u entries
@@ -2869,15 +2433,7 @@ Class QAccessible
base size=0 base align=1
QAccessible (0x395d280) 0 empty
-Class QFlags<QAccessible::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::StateFlag> (0x395d3c0) 0
-Class QFlags<QAccessible::RelationFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::RelationFlag> (0x395d440) 0
Vtable for QAccessibleInterface
QAccessibleInterface::_ZTV20QAccessibleInterface: 19u entries
@@ -3161,25 +2717,9 @@ Class QPaintDevice
QPaintDevice (0x39c4700) 0
vptr=((& QPaintDevice::_ZTV12QPaintDevice) + 8u)
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x39c4a40) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x39c4ac0) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x39c4b40) 0
-Class QColor::<anonymous union>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union> (0x39c49c0) 0
Class QColor
size=16 align=4
@@ -3191,45 +2731,17 @@ Class QBrush
base size=4 base align=4
QBrush (0x39c4e00) 0
-Class QTypeInfo<QBrush>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBrush> (0x39c4ec0) 0 empty
Class QBrushData
size=24 align=4
base size=24 base align=4
QBrushData (0x39c4f40) 0
-Class QVector<QGradientStop>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QGradientStop>::<anonymous union> (0x39c4c00) 0
-Class QVector<QGradientStop>
- size=4 align=4
- base size=4 base align=4
-QVector<QGradientStop> (0x39c4400) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=32 align=4
- base size=32 base align=4
-QGradient::<anonymous union>::<anonymous struct> (0x3a4d100) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=40 align=4
- base size=40 base align=4
-QGradient::<anonymous union>::<anonymous struct> (0x3a4d180) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=24 align=4
- base size=24 base align=4
-QGradient::<anonymous union>::<anonymous struct> (0x3a4d200) 0
-Class QGradient::<anonymous union>
- size=40 align=4
- base size=40 base align=4
-QGradient::<anonymous union> (0x3a4d080) 0
Class QGradient
size=56 align=4
@@ -3625,10 +3137,6 @@ QAbstractPrintDialog (0x3b1ff40) 0
QPaintDevice (0x3b1f1c0) 8
vptr=((& QAbstractPrintDialog::_ZTV20QAbstractPrintDialog) + 248u)
-Class QFlags<QAbstractPrintDialog::PrintDialogOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractPrintDialog::PrintDialogOption> (0x3c31040) 0
Vtable for QColorDialog
QColorDialog::_ZTV12QColorDialog: 66u entries
@@ -3879,10 +3387,6 @@ QFileDialog (0x3c31580) 0
QPaintDevice (0x3c31640) 8
vptr=((& QFileDialog::_ZTV11QFileDialog) + 244u)
-Class QFlags<QFileDialog::Option>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileDialog::Option> (0x3c31900) 0
Vtable for QFontDialog
QFontDialog::_ZTV11QFontDialog: 66u entries
@@ -4577,10 +4081,6 @@ QImage (0x3cf6f00) 0
QPaintDevice (0x3cf6f40) 0
primary-for QImage (0x3cf6f00)
-Class QTypeInfo<QImage>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QImage> (0x3db80c0) 0 empty
Vtable for QPixmap
QPixmap::_ZTV7QPixmap: 7u entries
@@ -4625,10 +4125,6 @@ Class QIcon
base size=4 base align=4
QIcon (0x3db89c0) 0
-Class QTypeInfo<QIcon>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QIcon> (0x3db8a80) 0 empty
Vtable for QIconEngine
QIconEngine::_ZTV11QIconEngine: 9u entries
@@ -4784,10 +4280,6 @@ QImageIOPlugin (0x3e41100) 0
QFactoryInterface (0x3e3b240) 8 nearly-empty
primary-for QImageIOHandlerFactoryInterface (0x3e3b200)
-Class QFlags<QImageIOPlugin::Capability>
- size=4 align=4
- base size=4 base align=4
-QFlags<QImageIOPlugin::Capability> (0x3e3b480) 0
Class QImageReader
size=4 align=4
@@ -4963,15 +4455,7 @@ QActionGroup (0x3e3b640) 0
QObject (0x3e3b740) 0
primary-for QActionGroup (0x3e3b640)
-Class QList<QAction*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QAction*>::<anonymous union> (0x3ee4100) 0
-Class QList<QAction*>
- size=4 align=4
- base size=4 base align=4
-QList<QAction*> (0x3ee4040) 0
Vtable for QInputContext
QInputContext::_ZTV13QInputContext: 25u entries
@@ -5276,10 +4760,6 @@ QAbstractSpinBox (0x3ee4e80) 0
QPaintDevice (0x3ee4f00) 8
vptr=((& QAbstractSpinBox::_ZTV16QAbstractSpinBox) + 252u)
-Class QFlags<QAbstractSpinBox::StepEnabledFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractSpinBox::StepEnabledFlag> (0x3ee4c40) 0
Vtable for QAbstractSlider
QAbstractSlider::_ZTV15QAbstractSlider: 64u entries
@@ -5487,15 +4967,7 @@ QStyle (0x3f6e480) 0
QObject (0x3f6e4c0) 0
primary-for QStyle (0x3f6e480)
-Class QFlags<QStyle::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::StateFlag> (0x3f6e700) 0
-Class QFlags<QStyle::SubControl>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::SubControl> (0x3f6e780) 0
Vtable for QTabBar
QTabBar::_ZTV7QTabBar: 67u entries
@@ -5754,10 +5226,6 @@ Class QStyleOptionFrame
QStyleOptionFrame (0x3f6edc0) 0
QStyleOption (0x406d000) 0
-Class QFlags<QStyleOptionFrameV2::FrameFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionFrameV2::FrameFeature> (0x406d380) 0
Class QStyleOptionFrameV2
size=56 align=4
@@ -5784,10 +5252,6 @@ Class QStyleOptionHeader
QStyleOptionHeader (0x406da00) 0
QStyleOption (0x406da40) 0
-Class QFlags<QStyleOptionButton::ButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionButton::ButtonFeature> (0x406de00) 0
Class QStyleOptionButton
size=64 align=4
@@ -5795,10 +5259,6 @@ Class QStyleOptionButton
QStyleOptionButton (0x406dc40) 0
QStyleOption (0x406dc80) 0
-Class QFlags<QStyleOptionTab::CornerWidget>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionTab::CornerWidget> (0x406db40) 0
Class QStyleOptionTab
size=72 align=4
@@ -5813,10 +5273,6 @@ QStyleOptionTabV2 (0x40db040) 0
QStyleOptionTab (0x40db080) 0
QStyleOption (0x40db0c0) 0
-Class QFlags<QStyleOptionToolBar::ToolBarFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionToolBar::ToolBarFeature> (0x40db500) 0
Class QStyleOptionToolBar
size=68 align=4
@@ -5843,10 +5299,6 @@ Class QStyleOptionMenuItem
QStyleOptionMenuItem (0x40db9c0) 0
QStyleOption (0x40dba00) 0
-Class QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature> (0x40dbd80) 0
Class QStyleOptionQ3ListViewItem
size=64 align=4
@@ -5904,15 +5356,7 @@ QStyleOptionSpinBox (0x414bc40) 0
QStyleOptionComplex (0x414bc80) 0
QStyleOption (0x414bcc0) 0
-Class QList<QStyleOptionQ3ListViewItem>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::<anonymous union> (0x414b800) 0
-Class QList<QStyleOptionQ3ListViewItem>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem> (0x414b200) 0
Class QStyleOptionQ3ListView
size=84 align=4
@@ -5921,10 +5365,6 @@ QStyleOptionQ3ListView (0x414be80) 0
QStyleOptionComplex (0x414bec0) 0
QStyleOption (0x414bf00) 0
-Class QFlags<QStyleOptionToolButton::ToolButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionToolButton::ToolButtonFeature> (0x41a0300) 0
Class QStyleOptionToolButton
size=96 align=4
@@ -6084,10 +5524,6 @@ Class QItemSelectionRange
base size=8 base align=4
QItemSelectionRange (0x41a0800) 0
-Class QTypeInfo<QItemSelectionRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QItemSelectionRange> (0x4226240) 0 empty
Vtable for QItemSelectionModel
QItemSelectionModel::_ZTV19QItemSelectionModel: 18u entries
@@ -6118,20 +5554,8 @@ QItemSelectionModel (0x4226300) 0
QObject (0x4226340) 0
primary-for QItemSelectionModel (0x4226300)
-Class QFlags<QItemSelectionModel::SelectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QItemSelectionModel::SelectionFlag> (0x4226500) 0
-Class QList<QItemSelectionRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::<anonymous union> (0x4226680) 0
-Class QList<QItemSelectionRange>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange> (0x42265c0) 0
Class QItemSelection
size=4 align=4
@@ -6261,10 +5685,6 @@ QAbstractItemView (0x4226840) 0
QPaintDevice (0x4226940) 8
vptr=((& QAbstractItemView::_ZTV17QAbstractItemView) + 392u)
-Class QFlags<QAbstractItemView::EditTrigger>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractItemView::EditTrigger> (0x4226bc0) 0
Vtable for QAbstractProxyModel
QAbstractProxyModel::_ZTV19QAbstractProxyModel: 47u entries
@@ -6576,15 +5996,7 @@ Class QItemEditorCreatorBase
QItemEditorCreatorBase (0x42e9500) 0 nearly-empty
vptr=((& QItemEditorCreatorBase::_ZTV22QItemEditorCreatorBase) + 8u)
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union> (0x42e99c0) 0
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*> (0x42e9880) 0
Vtable for QItemEditorFactory
QItemEditorFactory::_ZTV18QItemEditorFactory: 6u entries
@@ -6725,15 +6137,7 @@ QListView (0x42e9c40) 0
QPaintDevice (0x42e9d80) 8
vptr=((& QListView::_ZTV9QListView) + 392u)
-Class QVector<QWidgetItemData>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData>::<anonymous union> (0x436e000) 0
-Class QVector<QWidgetItemData>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData> (0x42e9600) 0
Vtable for QListWidgetItem
QListWidgetItem::_ZTV15QListWidgetItem: 11u entries
@@ -7522,35 +6926,15 @@ QTreeView (0x4431640) 0
QPaintDevice (0x4431780) 8
vptr=((& QTreeView::_ZTV9QTreeView) + 400u)
-Class QFlags<QTreeWidgetItemIterator::IteratorFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTreeWidgetItemIterator::IteratorFlag> (0x4431a40) 0
Class QTreeWidgetItemIterator
size=12 align=4
base size=12 base align=4
QTreeWidgetItemIterator (0x4431940) 0
-Class QVector<QVector<QWidgetItemData> >::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> >::<anonymous union> (0x4431f00) 0
-Class QVector<QVector<QWidgetItemData> >
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> > (0x4431e00) 0
-Class QList<QTreeWidgetItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::<anonymous union> (0x44319c0) 0
-Class QList<QTreeWidgetItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*> (0x44311c0) 0
Vtable for QTreeWidgetItem
QTreeWidgetItem::_ZTV15QTreeWidgetItem: 10u entries
@@ -8397,15 +7781,7 @@ Class QColormap
base size=4 base align=4
QColormap (0x4667c00) 0
-Class QVector<QPoint>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint>::<anonymous union> (0x4667e00) 0
-Class QVector<QPoint>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint> (0x4667d00) 0
Class QPolygon
size=4 align=4
@@ -8413,15 +7789,7 @@ Class QPolygon
QPolygon (0x4667e80) 0
QVector<QPoint> (0x4667ec0) 0
-Class QVector<QPointF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF>::<anonymous union> (0x4700180) 0
-Class QVector<QPointF>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF> (0x4700080) 0
Class QPolygonF
size=4 align=4
@@ -8434,95 +7802,39 @@ Class QMatrix
base size=48 base align=4
QMatrix (0x4700540) 0
-Class QTypeInfo<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMatrix> (0x47005c0) 0 empty
Class QTextOption
size=24 align=4
base size=24 base align=4
QTextOption (0x4700680) 0
-Class QFlags<QTextOption::Flag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextOption::Flag> (0x4700780) 0
Class QPen
size=4 align=4
base size=4 base align=4
QPen (0x47007c0) 0
-Class QTypeInfo<QPen>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPen> (0x4700980) 0 empty
Class QPainter
size=4 align=4
base size=4 base align=4
QPainter (0x4700a00) 0
-Class QFlags<QPainter::RenderHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPainter::RenderHint> (0x4700f80) 0
-Class QVector<QLineF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF>::<anonymous union> (0x47f0080) 0
-Class QVector<QLineF>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF> (0x47008c0) 0
-Class QVector<QLine>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine>::<anonymous union> (0x47f0280) 0
-Class QVector<QLine>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine> (0x47f0180) 0
-Class QVector<QRectF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF>::<anonymous union> (0x47f0480) 0
-Class QVector<QRectF>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF> (0x47f0380) 0
-Class QVector<QRect>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect>::<anonymous union> (0x47f0680) 0
-Class QVector<QRect>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect> (0x47f0580) 0
Class QTextItem
size=1 align=1
base size=0 base align=1
QTextItem (0x47f0700) 0 empty
-Class QTypeInfo<QTextItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextItem> (0x47f07c0) 0 empty
-Class QFlags<QPaintEngine::PaintEngineFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::PaintEngineFeature> (0x47f0980) 0
Vtable for QPaintEngine
QPaintEngine::_ZTV12QPaintEngine: 24u entries
@@ -8557,20 +7869,12 @@ Class QPaintEngine
QPaintEngine (0x47f0840) 0
vptr=((& QPaintEngine::_ZTV12QPaintEngine) + 8u)
-Class QFlags<QPaintEngine::DirtyFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::DirtyFlag> (0x47f0bc0) 0
Class QPaintEngineState
size=4 align=4
base size=4 base align=4
QPaintEngineState (0x47f0b00) 0
-Class QFlags<QTextItem::RenderFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextItem::RenderFlag> (0x47f0c40) 0
Class QPainterPath::Element
size=20 align=4
@@ -8582,25 +7886,13 @@ Class QPainterPath
base size=4 base align=4
QPainterPath (0x47f0c80) 0
-Class QVector<QPainterPath::Element>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element>::<anonymous union> (0x4923080) 0
-Class QVector<QPainterPath::Element>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element> (0x47f0d80) 0
Class QPainterPathPrivate
size=8 align=4
base size=8 base align=4
QPainterPathPrivate (0x47f0ec0) 0
-Class QTypeInfo<QPainterPath::Element>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPainterPath::Element> (0x4923140) 0 empty
Class QPainterPathStroker
size=4 align=4
@@ -8698,10 +7990,6 @@ QCommonStyle (0x4923a40) 0
QObject (0x4923ac0) 0
primary-for QStyle (0x4923a80)
-Class QPointer<QFocusFrame>
- size=4 align=4
- base size=4 base align=4
-QPointer<QFocusFrame> (0x4923dc0) 0
Vtable for QMotifStyle
QMotifStyle::_ZTV11QMotifStyle: 35u entries
@@ -9023,25 +8311,13 @@ Class QTextLength
base size=12 base align=4
QTextLength (0x49c4b00) 0
-Class QSharedDataPointer<QTextFormatPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextFormatPrivate> (0x49c4e80) 0
Class QTextFormat
size=8 align=4
base size=8 base align=4
QTextFormat (0x49c4d40) 0
-Class QVector<QTextLength>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength>::<anonymous union> (0x49c4fc0) 0
-Class QVector<QTextLength>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength> (0x49c4b40) 0
Class QTextCharFormat
size=8 align=4
@@ -9096,15 +8372,7 @@ Class QTextLayout
base size=4 base align=4
QTextLayout (0x4a49540) 0
-Class QVector<QTextLayout::FormatRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange>::<anonymous union> (0x4a49840) 0
-Class QVector<QTextLayout::FormatRange>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange> (0x4a49740) 0
Class QTextLine
size=8 align=4
@@ -9154,15 +8422,7 @@ QTextDocument (0x4a49b40) 0
QObject (0x4a49b80) 0
primary-for QTextDocument (0x4a49b40)
-Class QFlags<QTextDocument::FindFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextDocument::FindFlag> (0x4a49dc0) 0
-Class QSharedDataPointer<QTextCursorPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextCursorPrivate> (0x4a49f00) 0
Class QTextCursor
size=4 align=4
@@ -9174,15 +8434,7 @@ Class QAbstractTextDocumentLayout::Selection
base size=12 base align=4
QAbstractTextDocumentLayout::Selection (0x4a49a80) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union> (0x4b4d180) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection> (0x4b4d080) 0
Class QAbstractTextDocumentLayout::PaintContext
size=48 align=4
@@ -9344,10 +8596,6 @@ QTextFrame (0x4b4db00) 0
QObject (0x4b4db80) 0
primary-for QTextObject (0x4b4db40)
-Class QTypeInfo<QTextFrame::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFrame::iterator> (0x4b4d700) 0 empty
Vtable for QTextBlockUserData
QTextBlockUserData::_ZTV18QTextBlockUserData: 4u entries
@@ -9372,25 +8620,13 @@ Class QTextBlock
base size=8 base align=4
QTextBlock (0x4bc2180) 0
-Class QTypeInfo<QTextBlock>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock> (0x4bc2580) 0 empty
-Class QTypeInfo<QTextBlock::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock::iterator> (0x4bc2640) 0 empty
Class QTextFragment
size=12 align=4
base size=12 base align=4
QTextFragment (0x4bc2700) 0
-Class QTypeInfo<QTextFragment>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFragment> (0x4bc2900) 0 empty
Vtable for QSyntaxHighlighter
QSyntaxHighlighter::_ZTV18QSyntaxHighlighter: 15u entries
@@ -10023,10 +9259,6 @@ QDateEdit (0x4ce1300) 0
QPaintDevice (0x4ce1400) 8
vptr=((& QDateEdit::_ZTV9QDateEdit) + 260u)
-Class QFlags<QDateTimeEdit::Section>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDateTimeEdit::Section> (0x4ce1600) 0
Vtable for QDial
QDial::_ZTV5QDial: 64u entries
@@ -10187,10 +9419,6 @@ QDockWidget (0x4ce18c0) 0
QPaintDevice (0x4ce1940) 8
vptr=((& QDockWidget::_ZTV11QDockWidget) + 232u)
-Class QFlags<QDockWidget::DockWidgetFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDockWidget::DockWidgetFeature> (0x4ce1c00) 0
Vtable for QFocusFrame
QFocusFrame::_ZTV11QFocusFrame: 63u entries
@@ -12642,10 +11870,6 @@ QUdpSocket (0x5081b80) 0
QObject (0x5081c40) 0
primary-for QIODevice (0x5081c00)
-Class QFlags<QSql::ParamTypeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QSql::ParamTypeFlag> (0x5081e80) 0
Class QSqlRecord
size=4 align=4
@@ -12783,15 +12007,7 @@ Class QSqlField
base size=16 base align=4
QSqlField (0x513c600) 0
-Class QList<bool>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<bool>::<anonymous union> (0x513c880) 0
-Class QList<bool>
- size=4 align=4
- base size=4 base align=4
-QList<bool> (0x513c7c0) 0
Class QSqlIndex
size=16 align=4
@@ -13307,29 +12523,7 @@ Class Q3GListStdIterator
base size=4 base align=4
Q3GListStdIterator (0x51e8c00) 0
-Vtable for Q3PtrList<void>
-Q3PtrList<void>::_ZTV9Q3PtrListIvE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI9Q3PtrListIvE)
-8 Q3PtrList<type>::count [with type = void]
-12 Q3PtrList<type>::clear [with type = void]
-16 Q3PtrList<type>::~Q3PtrList [with type = void]
-20 Q3PtrList<type>::~Q3PtrList [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3PtrList<type>::deleteItem [with type = void]
-32 Q3GList::compareItems
-36 Q3GList::read
-40 Q3GList::write
-Class Q3PtrList<void>
- size=32 align=4
- base size=32 base align=4
-Q3PtrList<void> (0x51e8f00) 0
- vptr=((& Q3PtrList<void>::_ZTV9Q3PtrListIvE) + 8u)
- Q3GList (0x51e8f40) 0
- primary-for Q3PtrList<void> (0x51e8f00)
- Q3PtrCollection (0x51e8f80) 0
- primary-for Q3GList (0x51e8f40)
Class Q3PointArray
size=4 align=4
@@ -13338,21 +12532,8 @@ Q3PointArray (0x5290300) 0
QPolygon (0x5290340) 0
QVector<QPoint> (0x5290380) 0
-Class QLinkedList<Q3CanvasItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QLinkedList<Q3CanvasItem*>::<anonymous union> (0x5290940) 0
-Class QLinkedList<Q3CanvasItem*>
- size=4 align=4
- base size=4 base align=4
-QLinkedList<Q3CanvasItem*> (0x5290840) 0
-Class Q3ValueList<Q3CanvasItem*>
- size=4 align=4
- base size=4 base align=4
-Q3ValueList<Q3CanvasItem*> (0x5290980) 0
- QLinkedList<Q3CanvasItem*> (0x52909c0) 0
Class Q3CanvasItemList
size=4 align=4
@@ -13990,28 +13171,7 @@ Class Q3GDictIterator
base size=12 base align=4
Q3GDictIterator (0x538f900) 0
-Vtable for Q3Dict<void>
-Q3Dict<void>::_ZTV6Q3DictIvE: 10u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI6Q3DictIvE)
-8 Q3Dict<type>::count [with type = void]
-12 Q3Dict<type>::clear [with type = void]
-16 Q3Dict<type>::~Q3Dict [with type = void]
-20 Q3Dict<type>::~Q3Dict [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3Dict<type>::deleteItem [with type = void]
-32 Q3GDict::read
-36 Q3GDict::write
-Class Q3Dict<void>
- size=28 align=4
- base size=28 base align=4
-Q3Dict<void> (0x538fbc0) 0
- vptr=((& Q3Dict<void>::_ZTV6Q3DictIvE) + 8u)
- Q3GDict (0x538fc00) 0
- primary-for Q3Dict<void> (0x538fbc0)
- Q3PtrCollection (0x538fc40) 0
- primary-for Q3GDict (0x538fc00)
Vtable for Q3NetworkProtocolFactoryBase
Q3NetworkProtocolFactoryBase::_ZTV28Q3NetworkProtocolFactoryBase: 5u entries
@@ -14546,29 +13706,7 @@ Q3Wizard (0x540c740) 0
QPaintDevice (0x540cd80) 8
vptr=((& Q3Wizard::_ZTV8Q3Wizard) + 308u)
-Vtable for Q3PtrList<char>
-Q3PtrList<char>::_ZTV9Q3PtrListIcE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI9Q3PtrListIcE)
-8 Q3PtrList<type>::count [with type = char]
-12 Q3PtrList<type>::clear [with type = char]
-16 Q3PtrList<type>::~Q3PtrList [with type = char]
-20 Q3PtrList<type>::~Q3PtrList [with type = char]
-24 Q3PtrCollection::newItem
-28 Q3PtrList<type>::deleteItem [with type = char]
-32 Q3GList::compareItems
-36 Q3GList::read
-40 Q3GList::write
-Class Q3PtrList<char>
- size=32 align=4
- base size=32 base align=4
-Q3PtrList<char> (0x54aa240) 0
- vptr=((& Q3PtrList<char>::_ZTV9Q3PtrListIcE) + 8u)
- Q3GList (0x54aa280) 0
- primary-for Q3PtrList<char> (0x54aa240)
- Q3PtrCollection (0x54aa2c0) 0
- primary-for Q3GList (0x54aa280)
Vtable for Q3StrList
Q3StrList::_ZTV9Q3StrList: 11u entries
@@ -14596,11 +13734,6 @@ Q3StrList (0x54aa440) 0
Q3PtrCollection (0x54aa500) 0
primary-for Q3GList (0x54aa4c0)
-Class Q3PtrListStdIterator<char>
- size=4 align=4
- base size=4 base align=4
-Q3PtrListStdIterator<char> (0x54aa900) 0
- Q3GListStdIterator (0x54aa940) 0
Vtable for Q3StrIList
Q3StrIList::_ZTV10Q3StrIList: 11u entries
@@ -15633,29 +14766,7 @@ Q3GVector (0x5626500) 0
Q3PtrCollection (0x5626540) 0
primary-for Q3GVector (0x5626500)
-Vtable for Q3PtrVector<void>
-Q3PtrVector<void>::_ZTV11Q3PtrVectorIvE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI11Q3PtrVectorIvE)
-8 Q3PtrVector<type>::count [with type = void]
-12 Q3PtrVector<type>::clear [with type = void]
-16 Q3PtrVector<type>::~Q3PtrVector [with type = void]
-20 Q3PtrVector<type>::~Q3PtrVector [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3PtrVector<type>::deleteItem [with type = void]
-32 Q3GVector::compareItems
-36 Q3GVector::read
-40 Q3GVector::write
-Class Q3PtrVector<void>
- size=20 align=4
- base size=20 base align=4
-Q3PtrVector<void> (0x5626800) 0
- vptr=((& Q3PtrVector<void>::_ZTV11Q3PtrVectorIvE) + 8u)
- Q3GVector (0x5626840) 0
- primary-for Q3PtrVector<void> (0x5626800)
- Q3PtrCollection (0x5626880) 0
- primary-for Q3GVector (0x5626840)
Vtable for Q3Header
Q3Header::_ZTV8Q3Header: 76u entries
@@ -15775,28 +14886,7 @@ Class Q3GArray
Q3GArray (0x5626c80) 0
vptr=((& Q3GArray::_ZTV8Q3GArray) + 8u)
-Vtable for Q3IntDict<void>
-Q3IntDict<void>::_ZTV9Q3IntDictIvE: 10u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI9Q3IntDictIvE)
-8 Q3IntDict<type>::count [with type = void]
-12 Q3IntDict<type>::clear [with type = void]
-16 Q3IntDict<type>::~Q3IntDict [with type = void]
-20 Q3IntDict<type>::~Q3IntDict [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3IntDict<type>::deleteItem [with type = void]
-32 Q3GDict::read
-36 Q3GDict::write
-Class Q3IntDict<void>
- size=28 align=4
- base size=28 base align=4
-Q3IntDict<void> (0x5708040) 0
- vptr=((& Q3IntDict<void>::_ZTV9Q3IntDictIvE) + 8u)
- Q3GDict (0x5708080) 0
- primary-for Q3IntDict<void> (0x5708040)
- Q3PtrCollection (0x57080c0) 0
- primary-for Q3GDict (0x5708080)
Class Q3TableSelection
size=28 align=4
@@ -15907,100 +14997,13 @@ Class Q3Table::TableWidget
base size=12 base align=4
Q3Table::TableWidget (0x5708980) 0
-Vtable for Q3PtrVector<Q3TableItem>
-Q3PtrVector<Q3TableItem>::_ZTV11Q3PtrVectorI11Q3TableItemE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI11Q3PtrVectorI11Q3TableItemE)
-8 Q3PtrVector<type>::count [with type = Q3TableItem]
-12 Q3PtrVector<type>::clear [with type = Q3TableItem]
-16 Q3PtrVector<type>::~Q3PtrVector [with type = Q3TableItem]
-20 Q3PtrVector<type>::~Q3PtrVector [with type = Q3TableItem]
-24 Q3PtrCollection::newItem
-28 Q3PtrVector<type>::deleteItem [with type = Q3TableItem]
-32 Q3GVector::compareItems
-36 Q3GVector::read
-40 Q3GVector::write
-Class Q3PtrVector<Q3TableItem>
- size=20 align=4
- base size=20 base align=4
-Q3PtrVector<Q3TableItem> (0x5708ac0) 0
- vptr=((& Q3PtrVector<Q3TableItem>::_ZTV11Q3PtrVectorI11Q3TableItemE) + 8u)
- Q3GVector (0x5708b00) 0
- primary-for Q3PtrVector<Q3TableItem> (0x5708ac0)
- Q3PtrCollection (0x5708b40) 0
- primary-for Q3GVector (0x5708b00)
-
-Vtable for Q3PtrVector<QWidget>
-Q3PtrVector<QWidget>::_ZTV11Q3PtrVectorI7QWidgetE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI11Q3PtrVectorI7QWidgetE)
-8 Q3PtrVector<type>::count [with type = QWidget]
-12 Q3PtrVector<type>::clear [with type = QWidget]
-16 Q3PtrVector<type>::~Q3PtrVector [with type = QWidget]
-20 Q3PtrVector<type>::~Q3PtrVector [with type = QWidget]
-24 Q3PtrCollection::newItem
-28 Q3PtrVector<type>::deleteItem [with type = QWidget]
-32 Q3GVector::compareItems
-36 Q3GVector::read
-40 Q3GVector::write
-Class Q3PtrVector<QWidget>
- size=20 align=4
- base size=20 base align=4
-Q3PtrVector<QWidget> (0x5708d40) 0
- vptr=((& Q3PtrVector<QWidget>::_ZTV11Q3PtrVectorI7QWidgetE) + 8u)
- Q3GVector (0x5708d80) 0
- primary-for Q3PtrVector<QWidget> (0x5708d40)
- Q3PtrCollection (0x5708dc0) 0
- primary-for Q3GVector (0x5708d80)
-
-Vtable for Q3PtrList<Q3TableSelection>
-Q3PtrList<Q3TableSelection>::_ZTV9Q3PtrListI16Q3TableSelectionE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI9Q3PtrListI16Q3TableSelectionE)
-8 Q3PtrList<type>::count [with type = Q3TableSelection]
-12 Q3PtrList<type>::clear [with type = Q3TableSelection]
-16 Q3PtrList<type>::~Q3PtrList [with type = Q3TableSelection]
-20 Q3PtrList<type>::~Q3PtrList [with type = Q3TableSelection]
-24 Q3PtrCollection::newItem
-28 Q3PtrList<type>::deleteItem [with type = Q3TableSelection]
-32 Q3GList::compareItems
-36 Q3GList::read
-40 Q3GList::write
-Class Q3PtrList<Q3TableSelection>
- size=32 align=4
- base size=32 base align=4
-Q3PtrList<Q3TableSelection> (0x5708fc0) 0
- vptr=((& Q3PtrList<Q3TableSelection>::_ZTV9Q3PtrListI16Q3TableSelectionE) + 8u)
- Q3GList (0x5708180) 0
- primary-for Q3PtrList<Q3TableSelection> (0x5708fc0)
- Q3PtrCollection (0x5708440) 0
- primary-for Q3GList (0x5708180)
-
-Vtable for Q3IntDict<int>
-Q3IntDict<int>::_ZTV9Q3IntDictIiE: 10u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI9Q3IntDictIiE)
-8 Q3IntDict<type>::count [with type = int]
-12 Q3IntDict<type>::clear [with type = int]
-16 Q3IntDict<type>::~Q3IntDict [with type = int]
-20 Q3IntDict<type>::~Q3IntDict [with type = int]
-24 Q3PtrCollection::newItem
-28 Q3IntDict<type>::deleteItem [with type = int]
-32 Q3GDict::read
-36 Q3GDict::write
-Class Q3IntDict<int>
- size=28 align=4
- base size=28 base align=4
-Q3IntDict<int> (0x5708f40) 0
- vptr=((& Q3IntDict<int>::_ZTV9Q3IntDictIiE) + 8u)
- Q3GDict (0x578d000) 0
- primary-for Q3IntDict<int> (0x5708f40)
- Q3PtrCollection (0x578d040) 0
- primary-for Q3GDict (0x578d000)
+
+
+
Vtable for Q3Table
Q3Table::_ZTV7Q3Table: 183u entries
@@ -16314,15 +15317,7 @@ Q3Ftp (0x578d800) 0
QObject (0x578d880) 0
primary-for Q3NetworkProtocol (0x578d840)
-Class QMap<QString, QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QString>::<anonymous union> (0x578db80) 0
-Class QMap<QString, QString>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QString> (0x578dac0) 0
Vtable for Q3HttpHeader
Q3HttpHeader::_ZTV12Q3HttpHeader: 8u entries
@@ -17604,21 +16599,8 @@ Class Q3SqlPropertyMap
Q3SqlPropertyMap (0x598d780) 0
vptr=((& Q3SqlPropertyMap::_ZTV16Q3SqlPropertyMap) + 8u)
-Class QLinkedList<Q3SqlFieldInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QLinkedList<Q3SqlFieldInfo>::<anonymous union> (0x598db00) 0
-Class QLinkedList<Q3SqlFieldInfo>
- size=4 align=4
- base size=4 base align=4
-QLinkedList<Q3SqlFieldInfo> (0x598da00) 0
-Class Q3ValueList<Q3SqlFieldInfo>
- size=4 align=4
- base size=4 base align=4
-Q3ValueList<Q3SqlFieldInfo> (0x598db40) 0
- QLinkedList<Q3SqlFieldInfo> (0x598db80) 0
Class Q3SqlRecordInfo
size=4 align=4
@@ -17627,31 +16609,10 @@ Q3SqlRecordInfo (0x598dd00) 0
Q3ValueList<Q3SqlFieldInfo> (0x598dd40) 0
QLinkedList<Q3SqlFieldInfo> (0x598dd80) 0
-Class QList<Q3SqlFieldInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<Q3SqlFieldInfo>::<anonymous union> (0x598df80) 0
-Class QList<Q3SqlFieldInfo>
- size=4 align=4
- base size=4 base align=4
-QList<Q3SqlFieldInfo> (0x598dec0) 0
-Class QLinkedList<Q3SqlFieldInfo>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QLinkedList<Q3SqlFieldInfo>::const_iterator (0x5a15200) 0
-Class Q3ValueListConstIterator<Q3SqlFieldInfo>
- size=4 align=4
- base size=4 base align=4
-Q3ValueListConstIterator<Q3SqlFieldInfo> (0x5a15240) 0
- QLinkedList<Q3SqlFieldInfo>::const_iterator (0x5a15280) 0
-Class QLinkedList<Q3SqlFieldInfo>::iterator
- size=4 align=4
- base size=4 base align=4
-QLinkedList<Q3SqlFieldInfo>::iterator (0x5a15340) 0
Vtable for Q3SqlSelectCursor
Q3SqlSelectCursor::_ZTV17Q3SqlSelectCursor: 40u entries
@@ -17711,15 +16672,7 @@ Class Q3StyleSheetItem
base size=4 base align=4
Q3StyleSheetItem (0x5a15740) 0
-Class QHash<QString, Q3StyleSheetItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QHash<QString, Q3StyleSheetItem*>::<anonymous union> (0x5a15a40) 0
-Class QHash<QString, Q3StyleSheetItem*>
- size=4 align=4
- base size=4 base align=4
-QHash<QString, Q3StyleSheetItem*> (0x5a15900) 0
Vtable for Q3StyleSheet
Q3StyleSheet::_ZTV12Q3StyleSheet: 16u entries
@@ -17758,25 +16711,9 @@ Class Q3TextEditOptimPrivate::Selection
base size=8 base align=4
Q3TextEditOptimPrivate::Selection (0x5a15cc0) 0
-Class QMap<int, QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<int, QString>::<anonymous union> (0x5a15e80) 0
-Class QMap<int, QString>
- size=4 align=4
- base size=4 base align=4
-QMap<int, QString> (0x5a15dc0) 0
-Class QMap<int, Q3TextEditOptimPrivate::Tag*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<int, Q3TextEditOptimPrivate::Tag*>::<anonymous union> (0x5a15fc0) 0
-Class QMap<int, Q3TextEditOptimPrivate::Tag*>
- size=4 align=4
- base size=4 base align=4
-QMap<int, Q3TextEditOptimPrivate::Tag*> (0x5a15b80) 0
Class Q3TextEditOptimPrivate
size=52 align=4
@@ -17984,10 +16921,6 @@ Q3TextEdit (0x5ab1380) 0
QPaintDevice (0x5ab14c0) 8
vptr=((& Q3TextEdit::_ZTV10Q3TextEdit) + 680u)
-Class QFlags<Q3TextEdit::AutoFormattingFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Q3TextEdit::AutoFormattingFlag> (0x5ab1780) 0
Vtable for Q3MultiLineEdit
Q3MultiLineEdit::_ZTV15Q3MultiLineEdit: 192u entries
@@ -18648,70 +17581,11 @@ Class Q3GCacheIterator
base size=4 base align=4
Q3GCacheIterator (0x5b7c380) 0
-Vtable for Q3AsciiCache<void>
-Q3AsciiCache<void>::_ZTV12Q3AsciiCacheIvE: 8u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI12Q3AsciiCacheIvE)
-8 Q3AsciiCache<type>::count [with type = void]
-12 Q3AsciiCache<type>::clear [with type = void]
-16 Q3AsciiCache<type>::~Q3AsciiCache [with type = void]
-20 Q3AsciiCache<type>::~Q3AsciiCache [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3AsciiCache<type>::deleteItem [with type = void]
-Class Q3AsciiCache<void>
- size=32 align=4
- base size=29 base align=4
-Q3AsciiCache<void> (0x5b7c540) 0
- vptr=((& Q3AsciiCache<void>::_ZTV12Q3AsciiCacheIvE) + 8u)
- Q3GCache (0x5b7c580) 0
- primary-for Q3AsciiCache<void> (0x5b7c540)
- Q3PtrCollection (0x5b7c5c0) 0
- primary-for Q3GCache (0x5b7c580)
-
-Vtable for Q3AsciiDict<void>
-Q3AsciiDict<void>::_ZTV11Q3AsciiDictIvE: 10u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI11Q3AsciiDictIvE)
-8 Q3AsciiDict<type>::count [with type = void]
-12 Q3AsciiDict<type>::clear [with type = void]
-16 Q3AsciiDict<type>::~Q3AsciiDict [with type = void]
-20 Q3AsciiDict<type>::~Q3AsciiDict [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3AsciiDict<type>::deleteItem [with type = void]
-32 Q3GDict::read
-36 Q3GDict::write
-Class Q3AsciiDict<void>
- size=28 align=4
- base size=28 base align=4
-Q3AsciiDict<void> (0x5b7c980) 0
- vptr=((& Q3AsciiDict<void>::_ZTV11Q3AsciiDictIvE) + 8u)
- Q3GDict (0x5b7c9c0) 0
- primary-for Q3AsciiDict<void> (0x5b7c980)
- Q3PtrCollection (0x5b7ca00) 0
- primary-for Q3GDict (0x5b7c9c0)
-
-Vtable for Q3Cache<void>
-Q3Cache<void>::_ZTV7Q3CacheIvE: 8u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI7Q3CacheIvE)
-8 Q3Cache<type>::count [with type = void]
-12 Q3Cache<type>::clear [with type = void]
-16 Q3Cache<type>::~Q3Cache [with type = void]
-20 Q3Cache<type>::~Q3Cache [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3Cache<type>::deleteItem [with type = void]
-Class Q3Cache<void>
- size=32 align=4
- base size=29 base align=4
-Q3Cache<void> (0x5b7cdc0) 0
- vptr=((& Q3Cache<void>::_ZTV7Q3CacheIvE) + 8u)
- Q3GCache (0x5b7ce00) 0
- primary-for Q3Cache<void> (0x5b7cdc0)
- Q3PtrCollection (0x5b7ce40) 0
- primary-for Q3GCache (0x5b7ce00)
+
+
Class Q3CString
size=4 align=4
@@ -18719,49 +17593,9 @@ Class Q3CString
Q3CString (0x5d5d040) 0
QByteArray (0x5d5d080) 0
-Vtable for Q3IntCache<void>
-Q3IntCache<void>::_ZTV10Q3IntCacheIvE: 8u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI10Q3IntCacheIvE)
-8 Q3IntCache<type>::count [with type = void]
-12 Q3IntCache<type>::clear [with type = void]
-16 Q3IntCache<type>::~Q3IntCache [with type = void]
-20 Q3IntCache<type>::~Q3IntCache [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3IntCache<type>::deleteItem [with type = void]
-Class Q3IntCache<void>
- size=32 align=4
- base size=29 base align=4
-Q3IntCache<void> (0x5d5de00) 0
- vptr=((& Q3IntCache<void>::_ZTV10Q3IntCacheIvE) + 8u)
- Q3GCache (0x5d5de40) 0
- primary-for Q3IntCache<void> (0x5d5de00)
- Q3PtrCollection (0x5d5de80) 0
- primary-for Q3GCache (0x5d5de40)
-Vtable for Q3AsciiDict<QMetaObject>
-Q3AsciiDict<QMetaObject>::_ZTV11Q3AsciiDictI11QMetaObjectE: 10u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI11Q3AsciiDictI11QMetaObjectE)
-8 Q3AsciiDict<type>::count [with type = QMetaObject]
-12 Q3AsciiDict<type>::clear [with type = QMetaObject]
-16 Q3AsciiDict<type>::~Q3AsciiDict [with type = QMetaObject]
-20 Q3AsciiDict<type>::~Q3AsciiDict [with type = QMetaObject]
-24 Q3PtrCollection::newItem
-28 Q3AsciiDict<type>::deleteItem [with type = QMetaObject]
-32 Q3GDict::read
-36 Q3GDict::write
-Class Q3AsciiDict<QMetaObject>
- size=28 align=4
- base size=28 base align=4
-Q3AsciiDict<QMetaObject> (0x5de9100) 0
- vptr=((& Q3AsciiDict<QMetaObject>::_ZTV11Q3AsciiDictI11QMetaObjectE) + 8u)
- Q3GDict (0x5de9140) 0
- primary-for Q3AsciiDict<QMetaObject> (0x5de9100)
- Q3PtrCollection (0x5de9180) 0
- primary-for Q3GDict (0x5de9140)
Vtable for Q3ObjectDictionary
Q3ObjectDictionary::_ZTV18Q3ObjectDictionary: 10u entries
@@ -18788,76 +17622,11 @@ Q3ObjectDictionary (0x5de92c0) 0
Q3PtrCollection (0x5de9380) 0
primary-for Q3GDict (0x5de9340)
-Vtable for Q3PtrDict<void>
-Q3PtrDict<void>::_ZTV9Q3PtrDictIvE: 10u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI9Q3PtrDictIvE)
-8 Q3PtrDict<type>::count [with type = void]
-12 Q3PtrDict<type>::clear [with type = void]
-16 Q3PtrDict<type>::~Q3PtrDict [with type = void]
-20 Q3PtrDict<type>::~Q3PtrDict [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3PtrDict<type>::deleteItem [with type = void]
-32 Q3GDict::read
-36 Q3GDict::write
-Class Q3PtrDict<void>
- size=28 align=4
- base size=28 base align=4
-Q3PtrDict<void> (0x5de97c0) 0
- vptr=((& Q3PtrDict<void>::_ZTV9Q3PtrDictIvE) + 8u)
- Q3GDict (0x5de9800) 0
- primary-for Q3PtrDict<void> (0x5de97c0)
- Q3PtrCollection (0x5de9840) 0
- primary-for Q3GDict (0x5de9800)
-
-Vtable for Q3PtrQueue<void>
-Q3PtrQueue<void>::_ZTV10Q3PtrQueueIvE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI10Q3PtrQueueIvE)
-8 Q3PtrQueue<type>::count [with type = void]
-12 Q3PtrQueue<type>::clear [with type = void]
-16 Q3PtrQueue<type>::~Q3PtrQueue [with type = void]
-20 Q3PtrQueue<type>::~Q3PtrQueue [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3PtrQueue<type>::deleteItem [with type = void]
-32 Q3GList::compareItems
-36 Q3GList::read
-40 Q3GList::write
-Class Q3PtrQueue<void>
- size=32 align=4
- base size=32 base align=4
-Q3PtrQueue<void> (0x5de9c40) 0
- vptr=((& Q3PtrQueue<void>::_ZTV10Q3PtrQueueIvE) + 8u)
- Q3GList (0x5de9c80) 0
- primary-for Q3PtrQueue<void> (0x5de9c40)
- Q3PtrCollection (0x5de9cc0) 0
- primary-for Q3GList (0x5de9c80)
-
-Vtable for Q3PtrStack<void>
-Q3PtrStack<void>::_ZTV10Q3PtrStackIvE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI10Q3PtrStackIvE)
-8 Q3PtrStack<type>::count [with type = void]
-12 Q3PtrStack<type>::clear [with type = void]
-16 Q3PtrStack<type>::~Q3PtrStack [with type = void]
-20 Q3PtrStack<type>::~Q3PtrStack [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3PtrStack<type>::deleteItem [with type = void]
-32 Q3GList::compareItems
-36 Q3GList::read
-40 Q3GList::write
-Class Q3PtrStack<void>
- size=32 align=4
- base size=32 base align=4
-Q3PtrStack<void> (0x5de9dc0) 0
- vptr=((& Q3PtrStack<void>::_ZTV10Q3PtrStackIvE) + 8u)
- Q3GList (0x5de9e80) 0
- primary-for Q3PtrStack<void> (0x5de9dc0)
- Q3PtrCollection (0x5e48000) 0
- primary-for Q3GList (0x5de9e80)
+
+
Vtable for Q3Semaphore
Q3Semaphore::_ZTV11Q3Semaphore: 4u entries
@@ -18897,29 +17666,7 @@ Q3Signal (0x5e482c0) 0
QObject (0x5e48300) 0
primary-for Q3Signal (0x5e482c0)
-Vtable for Q3PtrVector<char>
-Q3PtrVector<char>::_ZTV11Q3PtrVectorIcE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI11Q3PtrVectorIcE)
-8 Q3PtrVector<type>::count [with type = char]
-12 Q3PtrVector<type>::clear [with type = char]
-16 Q3PtrVector<type>::~Q3PtrVector [with type = char]
-20 Q3PtrVector<type>::~Q3PtrVector [with type = char]
-24 Q3PtrCollection::newItem
-28 Q3PtrVector<type>::deleteItem [with type = char]
-32 Q3GVector::compareItems
-36 Q3GVector::read
-40 Q3GVector::write
-Class Q3PtrVector<char>
- size=20 align=4
- base size=20 base align=4
-Q3PtrVector<char> (0x5e48580) 0
- vptr=((& Q3PtrVector<char>::_ZTV11Q3PtrVectorIcE) + 8u)
- Q3GVector (0x5e485c0) 0
- primary-for Q3PtrVector<char> (0x5e48580)
- Q3PtrCollection (0x5e48600) 0
- primary-for Q3GVector (0x5e485c0)
Vtable for Q3StrVec
Q3StrVec::_ZTV8Q3StrVec: 11u entries
@@ -19225,15 +17972,7 @@ Q3GroupBox (0x5ea4680) 0
QPaintDevice (0x5ea4740) 8
vptr=((& Q3GroupBox::_ZTV10Q3GroupBox) + 236u)
-Class QMap<int, QAbstractButton*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<int, QAbstractButton*>::<anonymous union> (0x5ea4bc0) 0
-Class QMap<int, QAbstractButton*>
- size=4 align=4
- base size=4 base align=4
-QMap<int, QAbstractButton*> (0x5ea4b00) 0
Vtable for Q3ButtonGroup
Q3ButtonGroup::_ZTV13Q3ButtonGroup: 64u entries
@@ -20036,25 +18775,9 @@ Q3DockWindow (0x5f1ee00) 0
QPaintDevice (0x5fa90c0) 8
vptr=((& Q3DockWindow::_ZTV12Q3DockWindow) + 304u)
-Class QList<QRect>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QRect>::<anonymous union> (0x5fa94c0) 0
-Class QList<QRect>
- size=4 align=4
- base size=4 base align=4
-QList<QRect> (0x5fa9400) 0
-Class QList<Q3DockWindow*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<Q3DockWindow*>::<anonymous union> (0x5fa9680) 0
-Class QList<Q3DockWindow*>
- size=4 align=4
- base size=4 base align=4
-QList<Q3DockWindow*> (0x5fa95c0) 0
Vtable for Q3DockAreaLayout
Q3DockAreaLayout::_ZTV16Q3DockAreaLayout: 48u entries
@@ -20119,10 +18842,6 @@ Q3DockAreaLayout (0x5fa9280) 0
QLayoutItem (0x5fa9300) 8
vptr=((& Q3DockAreaLayout::_ZTV16Q3DockAreaLayout) + 128u)
-Class QPointer<Q3DockArea>
- size=4 align=4
- base size=4 base align=4
-QPointer<Q3DockArea> (0x5fa9d80) 0
Class Q3DockArea::DockWindowData
size=24 align=4
@@ -21172,193 +19891,41 @@ Q3WidgetStack (0x60cd840) 0
QPaintDevice (0x60cd940) 8
vptr=((& Q3WidgetStack::_ZTV13Q3WidgetStack) + 248u)
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0x6158e40) 0
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0x6178cc0) 0
-Class QTypeInfo<QDebug::Stream*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDebug::Stream*> (0x61cfd40) 0 empty
-Class QList<QTreeWidgetItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::Node (0x62d0000) 0
-Class QVectorTypedData<QVector<QWidgetItemData> >
- size=20 align=4
- base size=20 base align=4
-QVectorTypedData<QVector<QWidgetItemData> > (0x62d0240) 0
-Class QVectorTypedData<QPoint>
- size=24 align=4
- base size=24 base align=4
-QVectorTypedData<QPoint> (0x62d0500) 0
-Class QVectorTypedData<QPointF>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QPointF> (0x62d0c00) 0
-Class QVectorTypedData<QLineF>
- size=48 align=4
- base size=48 base align=4
-QVectorTypedData<QLineF> (0x6300f40) 0
-Class QVectorTypedData<QLine>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QLine> (0x6326100) 0
-Class QVectorTypedData<QRectF>
- size=48 align=4
- base size=48 base align=4
-QVectorTypedData<QRectF> (0x63262c0) 0
-Class QVectorTypedData<QRect>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QRect> (0x6326480) 0
-Class QVectorTypedData<QPainterPath::Element>
- size=36 align=4
- base size=36 base align=4
-QVectorTypedData<QPainterPath::Element> (0x6343440) 0
-Class QVectorTypedData<QTextLength>
- size=28 align=4
- base size=28 base align=4
-QVectorTypedData<QTextLength> (0x6343700) 0
-Class QVectorTypedData<QTextLayout::FormatRange>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QTextLayout::FormatRange> (0x6343a00) 0
-Class QVectorTypedData<QAbstractTextDocumentLayout::Selection>
- size=28 align=4
- base size=28 base align=4
-QVectorTypedData<QAbstractTextDocumentLayout::Selection> (0x6364080) 0
-Class QList<QAction*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QAction*>::Node (0x6364cc0) 0
-Class QLinkedListNode<Q3SqlFieldInfo>
- size=52 align=4
- base size=52 base align=4
-QLinkedListNode<Q3SqlFieldInfo> (0x63a6880) 0
-Class QHashNode<QVariant::Type, QItemEditorCreatorBase*>
- size=16 align=4
- base size=16 base align=4
-QHashNode<QVariant::Type, QItemEditorCreatorBase*> (0x6472380) 0
-Class QTypeInfo<QTreeWidgetItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTreeWidgetItem*> (0x6472640) 0 empty
-Class QTypeInfo<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLength> (0x6495500) 0 empty
-Class QTypeInfo<QTextLayout::FormatRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLayout::FormatRange> (0x6495880) 0 empty
-Class QTypeInfo<QAbstractTextDocumentLayout::Selection>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAbstractTextDocumentLayout::Selection> (0x6495d00) 0 empty
-Class QTypeInfo<QAction*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAction*> (0x64b5200) 0 empty
-Class QTypeInfo<Q3TextEditOptimPrivate::Tag*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<Q3TextEditOptimPrivate::Tag*> (0x64b5dc0) 0 empty
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0x64e3680) 0
-Class QList<QVariant>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::Node (0x64e38c0) 0
-Class QTypeInfo<QStyleOptionQ3ListViewItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QStyleOptionQ3ListViewItem> (0x64e3c40) 0 empty
-Class QList<QStyleOptionQ3ListViewItem>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::Node (0x64e3d00) 0
-Class QList<QItemSelectionRange>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::Node (0x65120c0) 0
-Class QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union> (0x6512540) 0
-Class QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union> (0x6512c40) 0
-Class QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union> (0x6558240) 0
-Class QMap<Key, T>::detach_helper() [with Key = int, T = Q3TextEditOptimPrivate::Tag*]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<Key, T>::detach_helper() [with Key = int, T = Q3TextEditOptimPrivate::Tag*]::<anonymous union> (0x65588c0) 0
-Class QList<QRect>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QRect>::Node (0x6599140) 0
-Class QTypeInfo<Q3DockWindow*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<Q3DockWindow*> (0x6599440) 0 empty
-Class QList<Q3DockWindow*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<Q3DockWindow*>::Node (0x6599500) 0
-Class QLinkedList<T>::detach_helper() [with T = Q3SqlFieldInfo]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QLinkedList<T>::detach_helper() [with T = Q3SqlFieldInfo]::<anonymous union> (0x6599c40) 0
-Class QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union> (0x6599ec0) 0
diff --git a/tests/auto/bic/data/Qt3Support.4.1.0.macx-gcc-ppc32.txt b/tests/auto/bic/data/Qt3Support.4.1.0.macx-gcc-ppc32.txt
index f8ad384..d17a329 100644
--- a/tests/auto/bic/data/Qt3Support.4.1.0.macx-gcc-ppc32.txt
+++ b/tests/auto/bic/data/Qt3Support.4.1.0.macx-gcc-ppc32.txt
@@ -18,75 +18,19 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0x85a3c0) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0x85a600) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0x85a6c0) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0x85a780) 0 empty
-Class QTypeInfo<uchar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uchar> (0x85a840) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0x85a900) 0 empty
-Class QTypeInfo<ushort>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ushort> (0x85a9c0) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0x85aa80) 0 empty
-Class QTypeInfo<uint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uint> (0x85ab40) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0x85ac00) 0 empty
-Class QTypeInfo<ulong>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ulong> (0x85acc0) 0 empty
-Class QTypeInfo<qint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<qint64> (0x85ad80) 0 empty
-Class QTypeInfo<quint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<quint64> (0x85ae40) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0x85af00) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0x85afc0) 0 empty
Class QFlag
size=4 align=4
@@ -103,10 +47,6 @@ Class QChar
base size=2 base align=2
QChar (0x26d82c0) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0x26d83c0) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -119,10 +59,6 @@ Class QAtomic
QAtomic (0x26d87c0) 0
QBasicAtomic (0x26d8800) 0
-Class <anonymous union>
- size=128 align=8
- base size=128 base align=8
-<anonymous union> (0x26d8a80) 0
Class __darwin_pthread_handler_rec
size=12 align=4
@@ -204,70 +140,18 @@ Class QByteRef
base size=8 base align=4
QByteRef (0x27ce740) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0x27ceb00) 0 empty
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0x27cefc0) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0x28d2040) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0x28d20c0) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0x28d2140) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0x28d21c0) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0x28d2240) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0x28d22c0) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0x28d2340) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0x28d23c0) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0x28d2440) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0x28d24c0) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0x28d2540) 0
Class QInternal
size=1 align=1
@@ -294,10 +178,6 @@ Class QLatin1String
base size=4 base align=4
QLatin1String (0x28d2c80) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0x2a630c0) 0
Class QCharRef
size=8 align=4
@@ -310,10 +190,6 @@ Class QConstString
QConstString (0x2a63cc0) 0
QString (0x2a63d00) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0x2a63e00) 0 empty
Vtable for std::exception
std::exception::_ZTVSt9exception: 5u entries
@@ -376,10 +252,6 @@ Class QListData
base size=4 base align=4
QListData (0x2b916c0) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0x2b91cc0) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -404,15 +276,7 @@ Class QTextCodec
QTextCodec (0x2b91b40) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0x2b91100) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0x2b91f40) 0
Class QTextEncoder
size=32 align=4
@@ -435,25 +299,13 @@ Class QGenericReturnArgument
QGenericReturnArgument (0x2cc40c0) 0
QGenericArgument (0x2cc4100) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0x2cc43c0) 0
Class QMetaObject
size=16 align=4
base size=16 base align=4
QMetaObject (0x2cc4340) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0x2cc4640) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0x2cc4580) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -545,10 +397,6 @@ QIODevice (0x2cc4c80) 0
QObject (0x2cc4cc0) 0
primary-for QIODevice (0x2cc4c80)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0x2cc4f00) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -568,25 +416,13 @@ Class QRegExp
base size=4 base align=4
QRegExp (0x2d9e500) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0x2d9e700) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0x2d9e780) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0x2d9e980) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0x2d9e8c0) 0
Class QStringList
size=4 align=4
@@ -594,15 +430,7 @@ Class QStringList
QStringList (0x2d9ea40) 0
QList<QString> (0x2d9ea80) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0x2d9ef40) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0x2d9efc0) 0
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -736,50 +564,22 @@ QFile (0x2ecc140) 0
QObject (0x2ecc1c0) 0
primary-for QIODevice (0x2ecc180)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0x2ecc380) 0
Class QFileInfo
size=4 align=4
base size=4 base align=4
QFileInfo (0x2ecc3c0) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0x2ecc480) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0x2ecc500) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0x2ecc6c0) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0x2ecc600) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0x2ecc780) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0x2ecc8c0) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0x2ecc940) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -836,10 +636,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0x2ecc980) 0
vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0x2eccc40) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -913,10 +709,6 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0x3002040) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0x30020c0) 0 empty
Class QMapData::Node
size=8 align=4
@@ -941,10 +733,6 @@ Class QTextStream
QTextStream (0x317e080) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0x317e340) 0
Class QTextStreamManipulator
size=24 align=4
@@ -1051,35 +839,15 @@ Class rlimit
base size=16 base align=8
rlimit (0x3206040) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0x3206100) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0x3206180) 0
Class wait
size=4 align=4
base size=4 base align=4
wait (0x3206080) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x3206200) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x3206280) 0
-Class <anonymous struct>
- size=16 align=8
- base size=16 base align=8
-<anonymous struct> (0x3206300) 0
Class QVectorData
size=16 align=4
@@ -1192,95 +960,23 @@ Class QMetaType
base size=0 base align=1
QMetaType (0x3206dc0) 0 empty
-Class QMetaTypeId<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QString> (0x3206f00) 0 empty
-Class QMetaTypeId<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<int> (0x3206fc0) 0 empty
-Class QMetaTypeId<uint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<uint> (0x3206d40) 0 empty
-Class QMetaTypeId<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<bool> (0x334b080) 0 empty
-Class QMetaTypeId<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<double> (0x334b140) 0 empty
-Class QMetaTypeId<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QByteArray> (0x334b200) 0 empty
-Class QMetaTypeId<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QChar> (0x334b2c0) 0 empty
-Class QMetaTypeId<void>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<void> (0x334b380) 0 empty
-Class QMetaTypeId<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<long int> (0x334b440) 0 empty
-Class QMetaTypeId<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<short int> (0x334b500) 0 empty
-Class QMetaTypeId<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<char> (0x334b5c0) 0 empty
-Class QMetaTypeId<ulong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<ulong> (0x334b680) 0 empty
-Class QMetaTypeId<ushort>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<ushort> (0x334b740) 0 empty
-Class QMetaTypeId<uchar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<uchar> (0x334b800) 0 empty
-Class QMetaTypeId<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<float> (0x334b8c0) 0 empty
-Class QMetaTypeId<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QObject*> (0x334b980) 0 empty
-Class QMetaTypeId<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QWidget*> (0x334ba40) 0 empty
-Class QMetaTypeId<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<void*> (0x334bb00) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -1307,50 +1003,18 @@ Class QVariant
base size=16 base align=4
QVariant (0x334bb80) 0
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0x33d3100) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0x33d3040) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0x33d3300) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0x33d3240) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0x33d3580) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0x33d36c0) 0 empty
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0x33d3780) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x33d3800) 0
-Class <anonymous struct>
- size=3156 align=4
- base size=3156 base align=4
-<anonymous struct> (0x33d3880) 0
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1428,15 +1092,7 @@ Class QUrl
base size=4 base align=4
QUrl (0x33d3b40) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0x34a0140) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0x34a01c0) 0 empty
Vtable for QEventLoop
QEventLoop::_ZTV10QEventLoop: 14u entries
@@ -1463,10 +1119,6 @@ QEventLoop (0x34a0240) 0
QObject (0x34a0280) 0
primary-for QEventLoop (0x34a0240)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0x34a0480) 0
Vtable for QAbstractEventDispatcher
QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 27u entries
@@ -1511,20 +1163,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0x34a06c0) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0x34a0880) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0x34a0900) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0x34a0a40) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -1694,10 +1338,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0x34a0e80) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0x35b70c0) 0 empty
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -1789,20 +1429,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0x35b7c80) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0x35b7d40) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0x35b7dc0) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0x35b7e80) 0 empty
Class QMetaProperty
size=20 align=4
@@ -1814,10 +1446,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0x35b7f40) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0x35b7240) 0 empty
Vtable for QMimeData
QMimeData::_ZTV9QMimeData: 17u entries
@@ -2105,10 +1733,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0x36e97c0) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0x36e9900) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -2120,70 +1744,42 @@ Class QDate
base size=4 base align=4
QDate (0x36e9b00) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0x36e9d00) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0x36e9d80) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0x36e9fc0) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0x36e9b40) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0x37b5000) 0 empty
Class QPoint
size=8 align=4
base size=8 base align=4
QPoint (0x37b5080) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0x37b5500) 0 empty
Class QPointF
size=16 align=8
base size=16 base align=4
QPointF (0x37b57c0) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0x37b5c40) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0x37b5f40) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0x37b5fc0) 0 empty
Class QLineF
size=32 align=8
base size=32 base align=4
QLineF (0x37b5340) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0x37b5800) 0 empty
Class QLinkedListData
size=20 align=4
@@ -2195,50 +1791,30 @@ Class QLocale
base size=4 base align=4
QLocale (0x38673c0) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0x3867440) 0 empty
Class QSize
size=8 align=4
base size=8 base align=4
QSize (0x3867580) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0x3867980) 0 empty
Class QSizeF
size=16 align=8
base size=16 base align=4
QSizeF (0x3867d40) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0x38676c0) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0x39a3200) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0x39a33c0) 0 empty
Class QRectF
size=32 align=8
base size=32 base align=4
QRectF (0x39a3640) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0x39a3800) 0 empty
Class QSharedData
size=4 align=4
@@ -2260,10 +1836,6 @@ Class QKeySequence
base size=4 base align=4
QKeySequence (0x3b3b000) 0
-Class QTypeInfo<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QKeySequence> (0x3b3b180) 0 empty
Vtable for QMimeSource
QMimeSource::_ZTV11QMimeSource: 7u entries
@@ -2582,15 +2154,7 @@ Class QInputMethodEvent::Attribute
base size=28 base align=4
QInputMethodEvent::Attribute (0x3bccf00) 0
-Class QList<QInputMethodEvent::Attribute>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute>::<anonymous union> (0x3bcc4c0) 0
-Class QList<QInputMethodEvent::Attribute>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute> (0x3bcc040) 0
Vtable for QInputMethodEvent
QInputMethodEvent::_ZTV17QInputMethodEvent: 4u entries
@@ -2879,15 +2443,7 @@ Class QAccessible
base size=0 base align=1
QAccessible (0x3c6a700) 0 empty
-Class QFlags<QAccessible::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::StateFlag> (0x3c6a840) 0
-Class QFlags<QAccessible::RelationFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::RelationFlag> (0x3c6a8c0) 0
Vtable for QAccessibleInterface
QAccessibleInterface::_ZTV20QAccessibleInterface: 19u entries
@@ -3171,25 +2727,9 @@ Class QPaintDevice
QPaintDevice (0x3cdab40) 0
vptr=((& QPaintDevice::_ZTV12QPaintDevice) + 8u)
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x3cdae80) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x3cdaf00) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x3cdaf80) 0
-Class QColor::<anonymous union>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union> (0x3cdae00) 0
Class QColor
size=16 align=4
@@ -3201,45 +2741,17 @@ Class QBrush
base size=4 base align=4
QBrush (0x3d5c000) 0
-Class QTypeInfo<QBrush>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBrush> (0x3d5c0c0) 0 empty
Class QBrushData
size=24 align=4
base size=24 base align=4
QBrushData (0x3d5c140) 0
-Class QVector<QGradientStop>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QGradientStop>::<anonymous union> (0x3d5c3c0) 0
-Class QVector<QGradientStop>
- size=4 align=4
- base size=4 base align=4
-QVector<QGradientStop> (0x3d5c2c0) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=32 align=8
- base size=32 base align=8
-QGradient::<anonymous union>::<anonymous struct> (0x3d5c500) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=40 align=8
- base size=40 base align=8
-QGradient::<anonymous union>::<anonymous struct> (0x3d5c580) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=24 align=8
- base size=24 base align=8
-QGradient::<anonymous union>::<anonymous struct> (0x3d5c600) 0
-Class QGradient::<anonymous union>
- size=40 align=8
- base size=40 base align=8
-QGradient::<anonymous union> (0x3d5c480) 0
Class QGradient
size=56 align=4
@@ -3635,10 +3147,6 @@ QAbstractPrintDialog (0x3fab140) 0
QPaintDevice (0x3fab200) 8
vptr=((& QAbstractPrintDialog::_ZTV20QAbstractPrintDialog) + 248u)
-Class QFlags<QAbstractPrintDialog::PrintDialogOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractPrintDialog::PrintDialogOption> (0x3fab480) 0
Vtable for QColorDialog
QColorDialog::_ZTV12QColorDialog: 66u entries
@@ -3889,10 +3397,6 @@ QFileDialog (0x3fab9c0) 0
QPaintDevice (0x3faba80) 8
vptr=((& QFileDialog::_ZTV11QFileDialog) + 244u)
-Class QFlags<QFileDialog::Option>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileDialog::Option> (0x3fabd40) 0
Vtable for QFontDialog
QFontDialog::_ZTV11QFontDialog: 66u entries
@@ -4587,10 +4091,6 @@ QImage (0x4134180) 0
QPaintDevice (0x41341c0) 0
primary-for QImage (0x4134180)
-Class QTypeInfo<QImage>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QImage> (0x41344c0) 0 empty
Vtable for QPixmap
QPixmap::_ZTV7QPixmap: 7u entries
@@ -4635,10 +4135,6 @@ Class QIcon
base size=4 base align=4
QIcon (0x4134dc0) 0
-Class QTypeInfo<QIcon>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QIcon> (0x4134e80) 0 empty
Vtable for QIconEngine
QIconEngine::_ZTV11QIconEngine: 9u entries
@@ -4794,10 +4290,6 @@ QImageIOPlugin (0x4230480) 0
QFactoryInterface (0x4215680) 8 nearly-empty
primary-for QImageIOHandlerFactoryInterface (0x4215640)
-Class QFlags<QImageIOPlugin::Capability>
- size=4 align=4
- base size=4 base align=4
-QFlags<QImageIOPlugin::Capability> (0x42158c0) 0
Class QImageReader
size=4 align=4
@@ -4973,15 +4465,7 @@ QActionGroup (0x42b2280) 0
QObject (0x42b22c0) 0
primary-for QActionGroup (0x42b2280)
-Class QList<QAction*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QAction*>::<anonymous union> (0x42b2540) 0
-Class QList<QAction*>
- size=4 align=4
- base size=4 base align=4
-QList<QAction*> (0x42b2480) 0
Vtable for QInputContext
QInputContext::_ZTV13QInputContext: 25u entries
@@ -5286,10 +4770,6 @@ QAbstractSpinBox (0x436a0c0) 0
QPaintDevice (0x436a140) 8
vptr=((& QAbstractSpinBox::_ZTV16QAbstractSpinBox) + 252u)
-Class QFlags<QAbstractSpinBox::StepEnabledFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractSpinBox::StepEnabledFlag> (0x436a3c0) 0
Vtable for QAbstractSlider
QAbstractSlider::_ZTV15QAbstractSlider: 64u entries
@@ -5497,15 +4977,7 @@ QStyle (0x436a8c0) 0
QObject (0x436a900) 0
primary-for QStyle (0x436a8c0)
-Class QFlags<QStyle::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::StateFlag> (0x436ab40) 0
-Class QFlags<QStyle::SubControl>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::SubControl> (0x436abc0) 0
Vtable for QTabBar
QTabBar::_ZTV7QTabBar: 67u entries
@@ -5764,10 +5236,6 @@ Class QStyleOptionFrame
QStyleOptionFrame (0x44ab400) 0
QStyleOption (0x44ab440) 0
-Class QFlags<QStyleOptionFrameV2::FrameFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionFrameV2::FrameFeature> (0x44ab7c0) 0
Class QStyleOptionFrameV2
size=56 align=4
@@ -5794,10 +5262,6 @@ Class QStyleOptionHeader
QStyleOptionHeader (0x44abe40) 0
QStyleOption (0x44abe80) 0
-Class QFlags<QStyleOptionButton::ButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionButton::ButtonFeature> (0x4532080) 0
Class QStyleOptionButton
size=64 align=4
@@ -5805,10 +5269,6 @@ Class QStyleOptionButton
QStyleOptionButton (0x44ab500) 0
QStyleOption (0x44ab740) 0
-Class QFlags<QStyleOptionTab::CornerWidget>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionTab::CornerWidget> (0x45323c0) 0
Class QStyleOptionTab
size=72 align=4
@@ -5823,10 +5283,6 @@ QStyleOptionTabV2 (0x4532500) 0
QStyleOptionTab (0x4532540) 0
QStyleOption (0x4532580) 0
-Class QFlags<QStyleOptionToolBar::ToolBarFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionToolBar::ToolBarFeature> (0x45329c0) 0
Class QStyleOptionToolBar
size=68 align=4
@@ -5853,10 +5309,6 @@ Class QStyleOptionMenuItem
QStyleOptionMenuItem (0x4532e80) 0
QStyleOption (0x4532ec0) 0
-Class QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature> (0x45b9000) 0
Class QStyleOptionQ3ListViewItem
size=64 align=4
@@ -5914,15 +5366,7 @@ QStyleOptionSpinBox (0x45b9440) 0
QStyleOptionComplex (0x45b9640) 0
QStyleOption (0x45b9840) 0
-Class QList<QStyleOptionQ3ListViewItem>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::<anonymous union> (0x4620300) 0
-Class QList<QStyleOptionQ3ListViewItem>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem> (0x4620240) 0
Class QStyleOptionQ3ListView
size=84 align=4
@@ -5931,10 +5375,6 @@ QStyleOptionQ3ListView (0x4620040) 0
QStyleOptionComplex (0x4620080) 0
QStyleOption (0x46200c0) 0
-Class QFlags<QStyleOptionToolButton::ToolButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionToolButton::ToolButtonFeature> (0x4620700) 0
Class QStyleOptionToolButton
size=96 align=4
@@ -6094,10 +5534,6 @@ Class QItemSelectionRange
base size=8 base align=4
QItemSelectionRange (0x46a8380) 0
-Class QTypeInfo<QItemSelectionRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QItemSelectionRange> (0x46a8680) 0 empty
Vtable for QItemSelectionModel
QItemSelectionModel::_ZTV19QItemSelectionModel: 18u entries
@@ -6128,20 +5564,8 @@ QItemSelectionModel (0x46a8740) 0
QObject (0x46a8780) 0
primary-for QItemSelectionModel (0x46a8740)
-Class QFlags<QItemSelectionModel::SelectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QItemSelectionModel::SelectionFlag> (0x46a8940) 0
-Class QList<QItemSelectionRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::<anonymous union> (0x46a8ac0) 0
-Class QList<QItemSelectionRange>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange> (0x46a8a00) 0
Class QItemSelection
size=4 align=4
@@ -6271,10 +5695,6 @@ QAbstractItemView (0x46a8c80) 0
QPaintDevice (0x46a8d80) 8
vptr=((& QAbstractItemView::_ZTV17QAbstractItemView) + 392u)
-Class QFlags<QAbstractItemView::EditTrigger>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractItemView::EditTrigger> (0x46a8080) 0
Vtable for QAbstractProxyModel
QAbstractProxyModel::_ZTV19QAbstractProxyModel: 47u entries
@@ -6586,15 +6006,7 @@ Class QItemEditorCreatorBase
QItemEditorCreatorBase (0x478e980) 0 nearly-empty
vptr=((& QItemEditorCreatorBase::_ZTV22QItemEditorCreatorBase) + 8u)
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union> (0x478ee40) 0
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*> (0x478ed00) 0
Vtable for QItemEditorFactory
QItemEditorFactory::_ZTV18QItemEditorFactory: 6u entries
@@ -6735,15 +6147,7 @@ QListView (0x478e400) 0
QPaintDevice (0x4826000) 8
vptr=((& QListView::_ZTV9QListView) + 392u)
-Class QVector<QWidgetItemData>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData>::<anonymous union> (0x4826440) 0
-Class QVector<QWidgetItemData>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData> (0x4826340) 0
Vtable for QListWidgetItem
QListWidgetItem::_ZTV15QListWidgetItem: 11u entries
@@ -7532,35 +6936,15 @@ QTreeView (0x4915a80) 0
QPaintDevice (0x4915bc0) 8
vptr=((& QTreeView::_ZTV9QTreeView) + 400u)
-Class QFlags<QTreeWidgetItemIterator::IteratorFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTreeWidgetItemIterator::IteratorFlag> (0x4915e80) 0
Class QTreeWidgetItemIterator
size=12 align=4
base size=12 base align=4
QTreeWidgetItemIterator (0x4915d80) 0
-Class QVector<QVector<QWidgetItemData> >::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> >::<anonymous union> (0x4a181c0) 0
-Class QVector<QVector<QWidgetItemData> >
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> > (0x4a180c0) 0
-Class QList<QTreeWidgetItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::<anonymous union> (0x4a18380) 0
-Class QList<QTreeWidgetItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*> (0x4a182c0) 0
Vtable for QTreeWidgetItem
QTreeWidgetItem::_ZTV15QTreeWidgetItem: 10u entries
@@ -8407,15 +7791,7 @@ Class QColormap
base size=4 base align=4
QColormap (0x4b9f380) 0
-Class QVector<QPoint>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint>::<anonymous union> (0x4c41040) 0
-Class QVector<QPoint>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint> (0x4b9fac0) 0
Class QPolygon
size=4 align=4
@@ -8423,15 +7799,7 @@ Class QPolygon
QPolygon (0x4c410c0) 0
QVector<QPoint> (0x4c41100) 0
-Class QVector<QPointF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF>::<anonymous union> (0x4c41540) 0
-Class QVector<QPointF>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF> (0x4c41440) 0
Class QPolygonF
size=4 align=4
@@ -8444,95 +7812,39 @@ Class QMatrix
base size=48 base align=4
QMatrix (0x4c41900) 0
-Class QTypeInfo<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMatrix> (0x4c41980) 0 empty
Class QTextOption
size=24 align=4
base size=24 base align=4
QTextOption (0x4c41a40) 0
-Class QFlags<QTextOption::Flag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextOption::Flag> (0x4c41b40) 0
Class QPen
size=4 align=4
base size=4 base align=4
QPen (0x4c41bc0) 0
-Class QTypeInfo<QPen>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPen> (0x4c41d80) 0 empty
Class QPainter
size=4 align=4
base size=4 base align=4
QPainter (0x4c41e00) 0
-Class QFlags<QPainter::RenderHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPainter::RenderHint> (0x4d602c0) 0
-Class QVector<QLineF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF>::<anonymous union> (0x4d60480) 0
-Class QVector<QLineF>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF> (0x4d60380) 0
-Class QVector<QLine>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine>::<anonymous union> (0x4d60680) 0
-Class QVector<QLine>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine> (0x4d60580) 0
-Class QVector<QRectF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF>::<anonymous union> (0x4d60880) 0
-Class QVector<QRectF>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF> (0x4d60780) 0
-Class QVector<QRect>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect>::<anonymous union> (0x4d60a80) 0
-Class QVector<QRect>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect> (0x4d60980) 0
Class QTextItem
size=1 align=1
base size=0 base align=1
QTextItem (0x4d60b00) 0 empty
-Class QTypeInfo<QTextItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextItem> (0x4d60bc0) 0 empty
-Class QFlags<QPaintEngine::PaintEngineFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::PaintEngineFeature> (0x4d60d80) 0
Vtable for QPaintEngine
QPaintEngine::_ZTV12QPaintEngine: 24u entries
@@ -8567,20 +7879,12 @@ Class QPaintEngine
QPaintEngine (0x4d60c40) 0
vptr=((& QPaintEngine::_ZTV12QPaintEngine) + 8u)
-Class QFlags<QPaintEngine::DirtyFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::DirtyFlag> (0x4d60e80) 0
Class QPaintEngineState
size=4 align=4
base size=4 base align=4
QPaintEngineState (0x4d60f80) 0
-Class QFlags<QTextItem::RenderFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextItem::RenderFlag> (0x4e95000) 0
Class QPainterPath::Element
size=24 align=8
@@ -8592,25 +7896,13 @@ Class QPainterPath
base size=4 base align=4
QPainterPath (0x4e95040) 0
-Class QVector<QPainterPath::Element>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element>::<anonymous union> (0x4e95580) 0
-Class QVector<QPainterPath::Element>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element> (0x4e95480) 0
Class QPainterPathPrivate
size=8 align=4
base size=8 base align=4
QPainterPathPrivate (0x4e95280) 0
-Class QTypeInfo<QPainterPath::Element>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPainterPath::Element> (0x4e95640) 0 empty
Class QPainterPathStroker
size=4 align=4
@@ -8708,10 +8000,6 @@ QCommonStyle (0x4e95f40) 0
QObject (0x4e95fc0) 0
primary-for QStyle (0x4e95f80)
-Class QPointer<QFocusFrame>
- size=4 align=4
- base size=4 base align=4
-QPointer<QFocusFrame> (0x4f76180) 0
Vtable for QMotifStyle
QMotifStyle::_ZTV11QMotifStyle: 35u entries
@@ -9033,25 +8321,13 @@ Class QTextLength
base size=12 base align=4
QTextLength (0x4f76280) 0
-Class QSharedDataPointer<QTextFormatPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextFormatPrivate> (0x4ff9140) 0
Class QTextFormat
size=8 align=4
base size=8 base align=4
QTextFormat (0x4ff9000) 0
-Class QVector<QTextLength>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength>::<anonymous union> (0x4ff9500) 0
-Class QVector<QTextLength>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength> (0x4ff9400) 0
Class QTextCharFormat
size=8 align=4
@@ -9106,15 +8382,7 @@ Class QTextLayout
base size=4 base align=4
QTextLayout (0x4ff9a80) 0
-Class QVector<QTextLayout::FormatRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange>::<anonymous union> (0x4ff9d80) 0
-Class QVector<QTextLayout::FormatRange>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange> (0x4ff9c80) 0
Class QTextLine
size=8 align=4
@@ -9164,15 +8432,7 @@ QTextDocument (0x4ff9280) 0
QObject (0x4ff9b80) 0
primary-for QTextDocument (0x4ff9280)
-Class QFlags<QTextDocument::FindFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextDocument::FindFlag> (0x51211c0) 0
-Class QSharedDataPointer<QTextCursorPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextCursorPrivate> (0x5121300) 0
Class QTextCursor
size=4 align=4
@@ -9184,15 +8444,7 @@ Class QAbstractTextDocumentLayout::Selection
base size=12 base align=4
QAbstractTextDocumentLayout::Selection (0x5121440) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union> (0x5121680) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection> (0x5121580) 0
Class QAbstractTextDocumentLayout::PaintContext
size=48 align=4
@@ -9354,10 +8606,6 @@ QTextFrame (0x5121100) 0
QObject (0x5121500) 0
primary-for QTextObject (0x5121280)
-Class QTypeInfo<QTextFrame::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFrame::iterator> (0x51d9400) 0 empty
Vtable for QTextBlockUserData
QTextBlockUserData::_ZTV18QTextBlockUserData: 4u entries
@@ -9382,25 +8630,13 @@ Class QTextBlock
base size=8 base align=4
QTextBlock (0x51d9640) 0
-Class QTypeInfo<QTextBlock>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock> (0x51d9a40) 0 empty
-Class QTypeInfo<QTextBlock::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock::iterator> (0x51d9b00) 0 empty
Class QTextFragment
size=12 align=4
base size=12 base align=4
QTextFragment (0x51d9bc0) 0
-Class QTypeInfo<QTextFragment>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFragment> (0x51d9dc0) 0 empty
Vtable for QSyntaxHighlighter
QSyntaxHighlighter::_ZTV18QSyntaxHighlighter: 15u entries
@@ -10033,10 +9269,6 @@ QDateEdit (0x52ff800) 0
QPaintDevice (0x52ff900) 8
vptr=((& QDateEdit::_ZTV9QDateEdit) + 260u)
-Class QFlags<QDateTimeEdit::Section>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDateTimeEdit::Section> (0x52ffb00) 0
Vtable for QDial
QDial::_ZTV5QDial: 64u entries
@@ -10197,10 +9429,6 @@ QDockWidget (0x52ffdc0) 0
QPaintDevice (0x52ffe40) 8
vptr=((& QDockWidget::_ZTV11QDockWidget) + 232u)
-Class QFlags<QDockWidget::DockWidgetFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDockWidget::DockWidgetFeature> (0x52ffcc0) 0
Vtable for QFocusFrame
QFocusFrame::_ZTV11QFocusFrame: 63u entries
@@ -12652,10 +11880,6 @@ QUdpSocket (0x576d3c0) 0
QObject (0x576da80) 0
primary-for QIODevice (0x576d900)
-Class QFlags<QSql::ParamTypeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QSql::ParamTypeFlag> (0x5826180) 0
Class QSqlRecord
size=4 align=4
@@ -12793,15 +12017,7 @@ Class QSqlField
base size=20 base align=4
QSqlField (0x5826b00) 0
-Class QList<bool>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<bool>::<anonymous union> (0x5826d80) 0
-Class QList<bool>
- size=4 align=4
- base size=4 base align=4
-QList<bool> (0x5826cc0) 0
Class QSqlIndex
size=16 align=4
@@ -13317,29 +12533,7 @@ Class Q3GListStdIterator
base size=4 base align=4
Q3GListStdIterator (0x590ba00) 0
-Vtable for Q3PtrList<void>
-Q3PtrList<void>::_ZTV9Q3PtrListIvE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI9Q3PtrListIvE)
-8 Q3PtrList<type>::count [with type = void]
-12 Q3PtrList<type>::clear [with type = void]
-16 Q3PtrList<type>::~Q3PtrList [with type = void]
-20 Q3PtrList<type>::~Q3PtrList [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3PtrList<type>::deleteItem [with type = void]
-32 Q3GList::compareItems
-36 Q3GList::read
-40 Q3GList::write
-Class Q3PtrList<void>
- size=32 align=4
- base size=32 base align=4
-Q3PtrList<void> (0x59cf240) 0
- vptr=((& Q3PtrList<void>::_ZTV9Q3PtrListIvE) + 8u)
- Q3GList (0x59cf280) 0
- primary-for Q3PtrList<void> (0x59cf240)
- Q3PtrCollection (0x59cf2c0) 0
- primary-for Q3GList (0x59cf280)
Class Q3PointArray
size=4 align=4
@@ -13348,21 +12542,8 @@ Q3PointArray (0x59cf7c0) 0
QPolygon (0x59cf800) 0
QVector<QPoint> (0x59cf840) 0
-Class QLinkedList<Q3CanvasItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QLinkedList<Q3CanvasItem*>::<anonymous union> (0x59cfe00) 0
-Class QLinkedList<Q3CanvasItem*>
- size=4 align=4
- base size=4 base align=4
-QLinkedList<Q3CanvasItem*> (0x59cfd00) 0
-Class Q3ValueList<Q3CanvasItem*>
- size=4 align=4
- base size=4 base align=4
-Q3ValueList<Q3CanvasItem*> (0x59cfe40) 0
- QLinkedList<Q3CanvasItem*> (0x59cfe80) 0
Class Q3CanvasItemList
size=4 align=4
@@ -14000,28 +13181,7 @@ Class Q3GDictIterator
base size=12 base align=4
Q3GDictIterator (0x5b1ee40) 0
-Vtable for Q3Dict<void>
-Q3Dict<void>::_ZTV6Q3DictIvE: 10u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI6Q3DictIvE)
-8 Q3Dict<type>::count [with type = void]
-12 Q3Dict<type>::clear [with type = void]
-16 Q3Dict<type>::~Q3Dict [with type = void]
-20 Q3Dict<type>::~Q3Dict [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3Dict<type>::deleteItem [with type = void]
-32 Q3GDict::read
-36 Q3GDict::write
-Class Q3Dict<void>
- size=28 align=4
- base size=28 base align=4
-Q3Dict<void> (0x5b1e700) 0
- vptr=((& Q3Dict<void>::_ZTV6Q3DictIvE) + 8u)
- Q3GDict (0x5b1e880) 0
- primary-for Q3Dict<void> (0x5b1e700)
- Q3PtrCollection (0x5b1edc0) 0
- primary-for Q3GDict (0x5b1e880)
Vtable for Q3NetworkProtocolFactoryBase
Q3NetworkProtocolFactoryBase::_ZTV28Q3NetworkProtocolFactoryBase: 5u entries
@@ -14556,29 +13716,7 @@ Q3Wizard (0x5c57400) 0
QPaintDevice (0x5c574c0) 8
vptr=((& Q3Wizard::_ZTV8Q3Wizard) + 308u)
-Vtable for Q3PtrList<char>
-Q3PtrList<char>::_ZTV9Q3PtrListIcE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI9Q3PtrListIcE)
-8 Q3PtrList<type>::count [with type = char]
-12 Q3PtrList<type>::clear [with type = char]
-16 Q3PtrList<type>::~Q3PtrList [with type = char]
-20 Q3PtrList<type>::~Q3PtrList [with type = char]
-24 Q3PtrCollection::newItem
-28 Q3PtrList<type>::deleteItem [with type = char]
-32 Q3GList::compareItems
-36 Q3GList::read
-40 Q3GList::write
-Class Q3PtrList<char>
- size=32 align=4
- base size=32 base align=4
-Q3PtrList<char> (0x5c57740) 0
- vptr=((& Q3PtrList<char>::_ZTV9Q3PtrListIcE) + 8u)
- Q3GList (0x5c57780) 0
- primary-for Q3PtrList<char> (0x5c57740)
- Q3PtrCollection (0x5c577c0) 0
- primary-for Q3GList (0x5c57780)
Vtable for Q3StrList
Q3StrList::_ZTV9Q3StrList: 11u entries
@@ -14606,11 +13744,6 @@ Q3StrList (0x5c57940) 0
Q3PtrCollection (0x5c57a00) 0
primary-for Q3GList (0x5c579c0)
-Class Q3PtrListStdIterator<char>
- size=4 align=4
- base size=4 base align=4
-Q3PtrListStdIterator<char> (0x5c57e00) 0
- Q3GListStdIterator (0x5c57e40) 0
Vtable for Q3StrIList
Q3StrIList::_ZTV10Q3StrIList: 11u entries
@@ -15643,29 +14776,7 @@ Q3GVector (0x5e10a80) 0
Q3PtrCollection (0x5e10ac0) 0
primary-for Q3GVector (0x5e10a80)
-Vtable for Q3PtrVector<void>
-Q3PtrVector<void>::_ZTV11Q3PtrVectorIvE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI11Q3PtrVectorIvE)
-8 Q3PtrVector<type>::count [with type = void]
-12 Q3PtrVector<type>::clear [with type = void]
-16 Q3PtrVector<type>::~Q3PtrVector [with type = void]
-20 Q3PtrVector<type>::~Q3PtrVector [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3PtrVector<type>::deleteItem [with type = void]
-32 Q3GVector::compareItems
-36 Q3GVector::read
-40 Q3GVector::write
-Class Q3PtrVector<void>
- size=20 align=4
- base size=20 base align=4
-Q3PtrVector<void> (0x5e10d80) 0
- vptr=((& Q3PtrVector<void>::_ZTV11Q3PtrVectorIvE) + 8u)
- Q3GVector (0x5e10dc0) 0
- primary-for Q3PtrVector<void> (0x5e10d80)
- Q3PtrCollection (0x5e10e00) 0
- primary-for Q3GVector (0x5e10dc0)
Vtable for Q3Header
Q3Header::_ZTV8Q3Header: 76u entries
@@ -15785,28 +14896,7 @@ Class Q3GArray
Q3GArray (0x5f17000) 0
vptr=((& Q3GArray::_ZTV8Q3GArray) + 8u)
-Vtable for Q3IntDict<void>
-Q3IntDict<void>::_ZTV9Q3IntDictIvE: 10u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI9Q3IntDictIvE)
-8 Q3IntDict<type>::count [with type = void]
-12 Q3IntDict<type>::clear [with type = void]
-16 Q3IntDict<type>::~Q3IntDict [with type = void]
-20 Q3IntDict<type>::~Q3IntDict [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3IntDict<type>::deleteItem [with type = void]
-32 Q3GDict::read
-36 Q3GDict::write
-Class Q3IntDict<void>
- size=28 align=4
- base size=28 base align=4
-Q3IntDict<void> (0x5f17540) 0
- vptr=((& Q3IntDict<void>::_ZTV9Q3IntDictIvE) + 8u)
- Q3GDict (0x5f17580) 0
- primary-for Q3IntDict<void> (0x5f17540)
- Q3PtrCollection (0x5f175c0) 0
- primary-for Q3GDict (0x5f17580)
Class Q3TableSelection
size=28 align=4
@@ -15917,100 +15007,13 @@ Class Q3Table::TableWidget
base size=12 base align=4
Q3Table::TableWidget (0x5f17e80) 0
-Vtable for Q3PtrVector<Q3TableItem>
-Q3PtrVector<Q3TableItem>::_ZTV11Q3PtrVectorI11Q3TableItemE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI11Q3PtrVectorI11Q3TableItemE)
-8 Q3PtrVector<type>::count [with type = Q3TableItem]
-12 Q3PtrVector<type>::clear [with type = Q3TableItem]
-16 Q3PtrVector<type>::~Q3PtrVector [with type = Q3TableItem]
-20 Q3PtrVector<type>::~Q3PtrVector [with type = Q3TableItem]
-24 Q3PtrCollection::newItem
-28 Q3PtrVector<type>::deleteItem [with type = Q3TableItem]
-32 Q3GVector::compareItems
-36 Q3GVector::read
-40 Q3GVector::write
-Class Q3PtrVector<Q3TableItem>
- size=20 align=4
- base size=20 base align=4
-Q3PtrVector<Q3TableItem> (0x5f17fc0) 0
- vptr=((& Q3PtrVector<Q3TableItem>::_ZTV11Q3PtrVectorI11Q3TableItemE) + 8u)
- Q3GVector (0x5f17180) 0
- primary-for Q3PtrVector<Q3TableItem> (0x5f17fc0)
- Q3PtrCollection (0x5f17680) 0
- primary-for Q3GVector (0x5f17180)
-
-Vtable for Q3PtrVector<QWidget>
-Q3PtrVector<QWidget>::_ZTV11Q3PtrVectorI7QWidgetE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI11Q3PtrVectorI7QWidgetE)
-8 Q3PtrVector<type>::count [with type = QWidget]
-12 Q3PtrVector<type>::clear [with type = QWidget]
-16 Q3PtrVector<type>::~Q3PtrVector [with type = QWidget]
-20 Q3PtrVector<type>::~Q3PtrVector [with type = QWidget]
-24 Q3PtrCollection::newItem
-28 Q3PtrVector<type>::deleteItem [with type = QWidget]
-32 Q3GVector::compareItems
-36 Q3GVector::read
-40 Q3GVector::write
-Class Q3PtrVector<QWidget>
- size=20 align=4
- base size=20 base align=4
-Q3PtrVector<QWidget> (0x5fdc080) 0
- vptr=((& Q3PtrVector<QWidget>::_ZTV11Q3PtrVectorI7QWidgetE) + 8u)
- Q3GVector (0x5fdc0c0) 0
- primary-for Q3PtrVector<QWidget> (0x5fdc080)
- Q3PtrCollection (0x5fdc100) 0
- primary-for Q3GVector (0x5fdc0c0)
-
-Vtable for Q3PtrList<Q3TableSelection>
-Q3PtrList<Q3TableSelection>::_ZTV9Q3PtrListI16Q3TableSelectionE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI9Q3PtrListI16Q3TableSelectionE)
-8 Q3PtrList<type>::count [with type = Q3TableSelection]
-12 Q3PtrList<type>::clear [with type = Q3TableSelection]
-16 Q3PtrList<type>::~Q3PtrList [with type = Q3TableSelection]
-20 Q3PtrList<type>::~Q3PtrList [with type = Q3TableSelection]
-24 Q3PtrCollection::newItem
-28 Q3PtrList<type>::deleteItem [with type = Q3TableSelection]
-32 Q3GList::compareItems
-36 Q3GList::read
-40 Q3GList::write
-Class Q3PtrList<Q3TableSelection>
- size=32 align=4
- base size=32 base align=4
-Q3PtrList<Q3TableSelection> (0x5fdc300) 0
- vptr=((& Q3PtrList<Q3TableSelection>::_ZTV9Q3PtrListI16Q3TableSelectionE) + 8u)
- Q3GList (0x5fdc340) 0
- primary-for Q3PtrList<Q3TableSelection> (0x5fdc300)
- Q3PtrCollection (0x5fdc380) 0
- primary-for Q3GList (0x5fdc340)
-
-Vtable for Q3IntDict<int>
-Q3IntDict<int>::_ZTV9Q3IntDictIiE: 10u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI9Q3IntDictIiE)
-8 Q3IntDict<type>::count [with type = int]
-12 Q3IntDict<type>::clear [with type = int]
-16 Q3IntDict<type>::~Q3IntDict [with type = int]
-20 Q3IntDict<type>::~Q3IntDict [with type = int]
-24 Q3PtrCollection::newItem
-28 Q3IntDict<type>::deleteItem [with type = int]
-32 Q3GDict::read
-36 Q3GDict::write
-Class Q3IntDict<int>
- size=28 align=4
- base size=28 base align=4
-Q3IntDict<int> (0x5fdc5c0) 0
- vptr=((& Q3IntDict<int>::_ZTV9Q3IntDictIiE) + 8u)
- Q3GDict (0x5fdc600) 0
- primary-for Q3IntDict<int> (0x5fdc5c0)
- Q3PtrCollection (0x5fdc640) 0
- primary-for Q3GDict (0x5fdc600)
+
+
+
Vtable for Q3Table
Q3Table::_ZTV7Q3Table: 183u entries
@@ -16324,15 +15327,7 @@ Q3Ftp (0x5fdce00) 0
QObject (0x5fdce80) 0
primary-for Q3NetworkProtocol (0x5fdce40)
-Class QMap<QString, QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QString>::<anonymous union> (0x5fdc700) 0
-Class QMap<QString, QString>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QString> (0x5fdc280) 0
Vtable for Q3HttpHeader
Q3HttpHeader::_ZTV12Q3HttpHeader: 8u entries
@@ -17614,21 +16609,8 @@ Class Q3SqlPropertyMap
Q3SqlPropertyMap (0x621ce40) 0
vptr=((& Q3SqlPropertyMap::_ZTV16Q3SqlPropertyMap) + 8u)
-Class QLinkedList<Q3SqlFieldInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QLinkedList<Q3SqlFieldInfo>::<anonymous union> (0x62b7040) 0
-Class QLinkedList<Q3SqlFieldInfo>
- size=4 align=4
- base size=4 base align=4
-QLinkedList<Q3SqlFieldInfo> (0x621c780) 0
-Class Q3ValueList<Q3SqlFieldInfo>
- size=4 align=4
- base size=4 base align=4
-Q3ValueList<Q3SqlFieldInfo> (0x62b7080) 0
- QLinkedList<Q3SqlFieldInfo> (0x62b70c0) 0
Class Q3SqlRecordInfo
size=4 align=4
@@ -17637,31 +16619,10 @@ Q3SqlRecordInfo (0x62b7240) 0
Q3ValueList<Q3SqlFieldInfo> (0x62b7280) 0
QLinkedList<Q3SqlFieldInfo> (0x62b72c0) 0
-Class QList<Q3SqlFieldInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<Q3SqlFieldInfo>::<anonymous union> (0x62b74c0) 0
-Class QList<Q3SqlFieldInfo>
- size=4 align=4
- base size=4 base align=4
-QList<Q3SqlFieldInfo> (0x62b7400) 0
-Class QLinkedList<Q3SqlFieldInfo>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QLinkedList<Q3SqlFieldInfo>::const_iterator (0x62b7840) 0
-Class Q3ValueListConstIterator<Q3SqlFieldInfo>
- size=4 align=4
- base size=4 base align=4
-Q3ValueListConstIterator<Q3SqlFieldInfo> (0x62b7880) 0
- QLinkedList<Q3SqlFieldInfo>::const_iterator (0x62b78c0) 0
-Class QLinkedList<Q3SqlFieldInfo>::iterator
- size=4 align=4
- base size=4 base align=4
-QLinkedList<Q3SqlFieldInfo>::iterator (0x62b7980) 0
Vtable for Q3SqlSelectCursor
Q3SqlSelectCursor::_ZTV17Q3SqlSelectCursor: 40u entries
@@ -17721,15 +16682,7 @@ Class Q3StyleSheetItem
base size=4 base align=4
Q3StyleSheetItem (0x62b7d80) 0
-Class QHash<QString, Q3StyleSheetItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QHash<QString, Q3StyleSheetItem*>::<anonymous union> (0x62b7d00) 0
-Class QHash<QString, Q3StyleSheetItem*>
- size=4 align=4
- base size=4 base align=4
-QHash<QString, Q3StyleSheetItem*> (0x62b7f40) 0
Vtable for Q3StyleSheet
Q3StyleSheet::_ZTV12Q3StyleSheet: 16u entries
@@ -17768,25 +16721,9 @@ Class Q3TextEditOptimPrivate::Selection
base size=8 base align=4
Q3TextEditOptimPrivate::Selection (0x638f200) 0
-Class QMap<int, QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<int, QString>::<anonymous union> (0x638f3c0) 0
-Class QMap<int, QString>
- size=4 align=4
- base size=4 base align=4
-QMap<int, QString> (0x638f300) 0
-Class QMap<int, Q3TextEditOptimPrivate::Tag*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<int, Q3TextEditOptimPrivate::Tag*>::<anonymous union> (0x638f740) 0
-Class QMap<int, Q3TextEditOptimPrivate::Tag*>
- size=4 align=4
- base size=4 base align=4
-QMap<int, Q3TextEditOptimPrivate::Tag*> (0x638f680) 0
Class Q3TextEditOptimPrivate
size=52 align=4
@@ -17994,10 +16931,6 @@ Q3TextEdit (0x638fb00) 0
QPaintDevice (0x638fc40) 8
vptr=((& Q3TextEdit::_ZTV10Q3TextEdit) + 680u)
-Class QFlags<Q3TextEdit::AutoFormattingFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Q3TextEdit::AutoFormattingFlag> (0x638ff00) 0
Vtable for Q3MultiLineEdit
Q3MultiLineEdit::_ZTV15Q3MultiLineEdit: 192u entries
@@ -18658,70 +17591,11 @@ Class Q3GCacheIterator
base size=4 base align=4
Q3GCacheIterator (0x646ca40) 0
-Vtable for Q3AsciiCache<void>
-Q3AsciiCache<void>::_ZTV12Q3AsciiCacheIvE: 8u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI12Q3AsciiCacheIvE)
-8 Q3AsciiCache<type>::count [with type = void]
-12 Q3AsciiCache<type>::clear [with type = void]
-16 Q3AsciiCache<type>::~Q3AsciiCache [with type = void]
-20 Q3AsciiCache<type>::~Q3AsciiCache [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3AsciiCache<type>::deleteItem [with type = void]
-Class Q3AsciiCache<void>
- size=32 align=4
- base size=32 base align=4
-Q3AsciiCache<void> (0x646cc00) 0
- vptr=((& Q3AsciiCache<void>::_ZTV12Q3AsciiCacheIvE) + 8u)
- Q3GCache (0x646cc40) 0
- primary-for Q3AsciiCache<void> (0x646cc00)
- Q3PtrCollection (0x646cc80) 0
- primary-for Q3GCache (0x646cc40)
-
-Vtable for Q3AsciiDict<void>
-Q3AsciiDict<void>::_ZTV11Q3AsciiDictIvE: 10u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI11Q3AsciiDictIvE)
-8 Q3AsciiDict<type>::count [with type = void]
-12 Q3AsciiDict<type>::clear [with type = void]
-16 Q3AsciiDict<type>::~Q3AsciiDict [with type = void]
-20 Q3AsciiDict<type>::~Q3AsciiDict [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3AsciiDict<type>::deleteItem [with type = void]
-32 Q3GDict::read
-36 Q3GDict::write
-Class Q3AsciiDict<void>
- size=28 align=4
- base size=28 base align=4
-Q3AsciiDict<void> (0x646c440) 0
- vptr=((& Q3AsciiDict<void>::_ZTV11Q3AsciiDictIvE) + 8u)
- Q3GDict (0x646c780) 0
- primary-for Q3AsciiDict<void> (0x646c440)
- Q3PtrCollection (0x646c9c0) 0
- primary-for Q3GDict (0x646c780)
-
-Vtable for Q3Cache<void>
-Q3Cache<void>::_ZTV7Q3CacheIvE: 8u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI7Q3CacheIvE)
-8 Q3Cache<type>::count [with type = void]
-12 Q3Cache<type>::clear [with type = void]
-16 Q3Cache<type>::~Q3Cache [with type = void]
-20 Q3Cache<type>::~Q3Cache [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3Cache<type>::deleteItem [with type = void]
-Class Q3Cache<void>
- size=32 align=4
- base size=32 base align=4
-Q3Cache<void> (0x650a340) 0
- vptr=((& Q3Cache<void>::_ZTV7Q3CacheIvE) + 8u)
- Q3GCache (0x650a380) 0
- primary-for Q3Cache<void> (0x650a340)
- Q3PtrCollection (0x650a3c0) 0
- primary-for Q3GCache (0x650a380)
+
+
Class Q3CString
size=4 align=4
@@ -18729,49 +17603,9 @@ Class Q3CString
Q3CString (0x650a700) 0
QByteArray (0x650a740) 0
-Vtable for Q3IntCache<void>
-Q3IntCache<void>::_ZTV10Q3IntCacheIvE: 8u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI10Q3IntCacheIvE)
-8 Q3IntCache<type>::count [with type = void]
-12 Q3IntCache<type>::clear [with type = void]
-16 Q3IntCache<type>::~Q3IntCache [with type = void]
-20 Q3IntCache<type>::~Q3IntCache [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3IntCache<type>::deleteItem [with type = void]
-Class Q3IntCache<void>
- size=32 align=4
- base size=32 base align=4
-Q3IntCache<void> (0x65fa440) 0
- vptr=((& Q3IntCache<void>::_ZTV10Q3IntCacheIvE) + 8u)
- Q3GCache (0x65fa480) 0
- primary-for Q3IntCache<void> (0x65fa440)
- Q3PtrCollection (0x65fa4c0) 0
- primary-for Q3GCache (0x65fa480)
-Vtable for Q3AsciiDict<QMetaObject>
-Q3AsciiDict<QMetaObject>::_ZTV11Q3AsciiDictI11QMetaObjectE: 10u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI11Q3AsciiDictI11QMetaObjectE)
-8 Q3AsciiDict<type>::count [with type = QMetaObject]
-12 Q3AsciiDict<type>::clear [with type = QMetaObject]
-16 Q3AsciiDict<type>::~Q3AsciiDict [with type = QMetaObject]
-20 Q3AsciiDict<type>::~Q3AsciiDict [with type = QMetaObject]
-24 Q3PtrCollection::newItem
-28 Q3AsciiDict<type>::deleteItem [with type = QMetaObject]
-32 Q3GDict::read
-36 Q3GDict::write
-Class Q3AsciiDict<QMetaObject>
- size=28 align=4
- base size=28 base align=4
-Q3AsciiDict<QMetaObject> (0x65fa780) 0
- vptr=((& Q3AsciiDict<QMetaObject>::_ZTV11Q3AsciiDictI11QMetaObjectE) + 8u)
- Q3GDict (0x65fa7c0) 0
- primary-for Q3AsciiDict<QMetaObject> (0x65fa780)
- Q3PtrCollection (0x65fa800) 0
- primary-for Q3GDict (0x65fa7c0)
Vtable for Q3ObjectDictionary
Q3ObjectDictionary::_ZTV18Q3ObjectDictionary: 10u entries
@@ -18798,76 +17632,11 @@ Q3ObjectDictionary (0x65fa940) 0
Q3PtrCollection (0x65faa00) 0
primary-for Q3GDict (0x65fa9c0)
-Vtable for Q3PtrDict<void>
-Q3PtrDict<void>::_ZTV9Q3PtrDictIvE: 10u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI9Q3PtrDictIvE)
-8 Q3PtrDict<type>::count [with type = void]
-12 Q3PtrDict<type>::clear [with type = void]
-16 Q3PtrDict<type>::~Q3PtrDict [with type = void]
-20 Q3PtrDict<type>::~Q3PtrDict [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3PtrDict<type>::deleteItem [with type = void]
-32 Q3GDict::read
-36 Q3GDict::write
-Class Q3PtrDict<void>
- size=28 align=4
- base size=28 base align=4
-Q3PtrDict<void> (0x65fae40) 0
- vptr=((& Q3PtrDict<void>::_ZTV9Q3PtrDictIvE) + 8u)
- Q3GDict (0x65fae80) 0
- primary-for Q3PtrDict<void> (0x65fae40)
- Q3PtrCollection (0x65faec0) 0
- primary-for Q3GDict (0x65fae80)
-
-Vtable for Q3PtrQueue<void>
-Q3PtrQueue<void>::_ZTV10Q3PtrQueueIvE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI10Q3PtrQueueIvE)
-8 Q3PtrQueue<type>::count [with type = void]
-12 Q3PtrQueue<type>::clear [with type = void]
-16 Q3PtrQueue<type>::~Q3PtrQueue [with type = void]
-20 Q3PtrQueue<type>::~Q3PtrQueue [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3PtrQueue<type>::deleteItem [with type = void]
-32 Q3GList::compareItems
-36 Q3GList::read
-40 Q3GList::write
-Class Q3PtrQueue<void>
- size=32 align=4
- base size=32 base align=4
-Q3PtrQueue<void> (0x66621c0) 0
- vptr=((& Q3PtrQueue<void>::_ZTV10Q3PtrQueueIvE) + 8u)
- Q3GList (0x6662200) 0
- primary-for Q3PtrQueue<void> (0x66621c0)
- Q3PtrCollection (0x6662240) 0
- primary-for Q3GList (0x6662200)
-
-Vtable for Q3PtrStack<void>
-Q3PtrStack<void>::_ZTV10Q3PtrStackIvE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI10Q3PtrStackIvE)
-8 Q3PtrStack<type>::count [with type = void]
-12 Q3PtrStack<type>::clear [with type = void]
-16 Q3PtrStack<type>::~Q3PtrStack [with type = void]
-20 Q3PtrStack<type>::~Q3PtrStack [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3PtrStack<type>::deleteItem [with type = void]
-32 Q3GList::compareItems
-36 Q3GList::read
-40 Q3GList::write
-Class Q3PtrStack<void>
- size=32 align=4
- base size=32 base align=4
-Q3PtrStack<void> (0x6662640) 0
- vptr=((& Q3PtrStack<void>::_ZTV10Q3PtrStackIvE) + 8u)
- Q3GList (0x6662680) 0
- primary-for Q3PtrStack<void> (0x6662640)
- Q3PtrCollection (0x66626c0) 0
- primary-for Q3GList (0x6662680)
+
+
Vtable for Q3Semaphore
Q3Semaphore::_ZTV11Q3Semaphore: 4u entries
@@ -18907,29 +17676,7 @@ Q3Signal (0x6662980) 0
QObject (0x66629c0) 0
primary-for Q3Signal (0x6662980)
-Vtable for Q3PtrVector<char>
-Q3PtrVector<char>::_ZTV11Q3PtrVectorIcE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI11Q3PtrVectorIcE)
-8 Q3PtrVector<type>::count [with type = char]
-12 Q3PtrVector<type>::clear [with type = char]
-16 Q3PtrVector<type>::~Q3PtrVector [with type = char]
-20 Q3PtrVector<type>::~Q3PtrVector [with type = char]
-24 Q3PtrCollection::newItem
-28 Q3PtrVector<type>::deleteItem [with type = char]
-32 Q3GVector::compareItems
-36 Q3GVector::read
-40 Q3GVector::write
-Class Q3PtrVector<char>
- size=20 align=4
- base size=20 base align=4
-Q3PtrVector<char> (0x6662c40) 0
- vptr=((& Q3PtrVector<char>::_ZTV11Q3PtrVectorIcE) + 8u)
- Q3GVector (0x6662c80) 0
- primary-for Q3PtrVector<char> (0x6662c40)
- Q3PtrCollection (0x6662cc0) 0
- primary-for Q3GVector (0x6662c80)
Vtable for Q3StrVec
Q3StrVec::_ZTV8Q3StrVec: 11u entries
@@ -19235,15 +17982,7 @@ Q3GroupBox (0x6832d00) 0
QPaintDevice (0x6832dc0) 8
vptr=((& Q3GroupBox::_ZTV10Q3GroupBox) + 236u)
-Class QMap<int, QAbstractButton*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<int, QAbstractButton*>::<anonymous union> (0x68c10c0) 0
-Class QMap<int, QAbstractButton*>
- size=4 align=4
- base size=4 base align=4
-QMap<int, QAbstractButton*> (0x68c1000) 0
Vtable for Q3ButtonGroup
Q3ButtonGroup::_ZTV13Q3ButtonGroup: 64u entries
@@ -20046,25 +18785,9 @@ Q3DockWindow (0x694a6c0) 0
QPaintDevice (0x694a7c0) 8
vptr=((& Q3DockWindow::_ZTV12Q3DockWindow) + 304u)
-Class QList<QRect>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QRect>::<anonymous union> (0x694abc0) 0
-Class QList<QRect>
- size=4 align=4
- base size=4 base align=4
-QList<QRect> (0x694ab00) 0
-Class QList<Q3DockWindow*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<Q3DockWindow*>::<anonymous union> (0x694ad80) 0
-Class QList<Q3DockWindow*>
- size=4 align=4
- base size=4 base align=4
-QList<Q3DockWindow*> (0x694acc0) 0
Vtable for Q3DockAreaLayout
Q3DockAreaLayout::_ZTV16Q3DockAreaLayout: 48u entries
@@ -20129,10 +18852,6 @@ Q3DockAreaLayout (0x694a980) 0
QLayoutItem (0x694aa00) 8
vptr=((& Q3DockAreaLayout::_ZTV16Q3DockAreaLayout) + 128u)
-Class QPointer<Q3DockArea>
- size=4 align=4
- base size=4 base align=4
-QPointer<Q3DockArea> (0x6a132c0) 0
Class Q3DockArea::DockWindowData
size=24 align=4
@@ -21182,193 +19901,41 @@ Q3WidgetStack (0x6ab4f40) 0
QPaintDevice (0x6ab4300) 8
vptr=((& Q3WidgetStack::_ZTV13Q3WidgetStack) + 248u)
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0x6ba8480) 0
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0x6bd0300) 0
-Class QTypeInfo<QDebug::Stream*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDebug::Stream*> (0x6c26380) 0 empty
-Class QList<QTreeWidgetItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::Node (0x6d09640) 0
-Class QVectorTypedData<QVector<QWidgetItemData> >
- size=20 align=4
- base size=20 base align=4
-QVectorTypedData<QVector<QWidgetItemData> > (0x6d09880) 0
-Class QVectorTypedData<QPoint>
- size=24 align=4
- base size=24 base align=4
-QVectorTypedData<QPoint> (0x6d09b40) 0
-Class QVectorTypedData<QPointF>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QPointF> (0x6d38240) 0
-Class QVectorTypedData<QLineF>
- size=48 align=4
- base size=48 base align=4
-QVectorTypedData<QLineF> (0x6d64580) 0
-Class QVectorTypedData<QLine>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QLine> (0x6d64740) 0
-Class QVectorTypedData<QRectF>
- size=48 align=4
- base size=48 base align=4
-QVectorTypedData<QRectF> (0x6d64900) 0
-Class QVectorTypedData<QRect>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QRect> (0x6d64ac0) 0
-Class QVectorTypedData<QPainterPath::Element>
- size=40 align=4
- base size=40 base align=4
-QVectorTypedData<QPainterPath::Element> (0x6d7ea80) 0
-Class QVectorTypedData<QTextLength>
- size=28 align=4
- base size=28 base align=4
-QVectorTypedData<QTextLength> (0x6d7ed40) 0
-Class QVectorTypedData<QTextLayout::FormatRange>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QTextLayout::FormatRange> (0x6da1040) 0
-Class QVectorTypedData<QAbstractTextDocumentLayout::Selection>
- size=28 align=4
- base size=28 base align=4
-QVectorTypedData<QAbstractTextDocumentLayout::Selection> (0x6da16c0) 0
-Class QList<QAction*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QAction*>::Node (0x6dc5300) 0
-Class QLinkedListNode<Q3SqlFieldInfo>
- size=56 align=4
- base size=56 base align=4
-QLinkedListNode<Q3SqlFieldInfo> (0x6de5ec0) 0
-Class QHashNode<QVariant::Type, QItemEditorCreatorBase*>
- size=16 align=4
- base size=16 base align=4
-QHashNode<QVariant::Type, QItemEditorCreatorBase*> (0x6eae9c0) 0
-Class QTypeInfo<QTreeWidgetItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTreeWidgetItem*> (0x6eaec80) 0 empty
-Class QTypeInfo<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLength> (0x6edd8c0) 0 empty
-Class QTypeInfo<QTextLayout::FormatRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLayout::FormatRange> (0x6eddb00) 0 empty
-Class QTypeInfo<QAbstractTextDocumentLayout::Selection>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAbstractTextDocumentLayout::Selection> (0x6eddf80) 0 empty
-Class QTypeInfo<QAction*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAction*> (0x6ef9480) 0 empty
-Class QTypeInfo<Q3TextEditOptimPrivate::Tag*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<Q3TextEditOptimPrivate::Tag*> (0x6f24000) 0 empty
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0x6f24940) 0
-Class QList<QVariant>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::Node (0x6f24b80) 0
-Class QTypeInfo<QStyleOptionQ3ListViewItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QStyleOptionQ3ListViewItem> (0x6f24f00) 0 empty
-Class QList<QStyleOptionQ3ListViewItem>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::Node (0x6f24fc0) 0
-Class QList<QItemSelectionRange>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::Node (0x6f58340) 0
-Class QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union> (0x6f58680) 0
-Class QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union> (0x6f58d80) 0
-Class QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union> (0x6fa0380) 0
-Class QMap<Key, T>::detach_helper() [with Key = int, T = Q3TextEditOptimPrivate::Tag*]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<Key, T>::detach_helper() [with Key = int, T = Q3TextEditOptimPrivate::Tag*]::<anonymous union> (0x6fdf100) 0
-Class QList<QRect>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QRect>::Node (0x6fdf280) 0
-Class QTypeInfo<Q3DockWindow*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<Q3DockWindow*> (0x6fdf440) 0 empty
-Class QList<Q3DockWindow*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<Q3DockWindow*>::Node (0x6fdf500) 0
-Class QLinkedList<T>::detach_helper() [with T = Q3SqlFieldInfo]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QLinkedList<T>::detach_helper() [with T = Q3SqlFieldInfo]::<anonymous union> (0x6fdfc40) 0
-Class QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union> (0x6fdfec0) 0
diff --git a/tests/auto/bic/data/Qt3Support.4.1.0.win32-gcc-ia32.txt b/tests/auto/bic/data/Qt3Support.4.1.0.win32-gcc-ia32.txt
index 6cb74a4..111154f 100644
--- a/tests/auto/bic/data/Qt3Support.4.1.0.win32-gcc-ia32.txt
+++ b/tests/auto/bic/data/Qt3Support.4.1.0.win32-gcc-ia32.txt
@@ -18,80 +18,20 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0xad4e40) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0xaea680) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0xaea800) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0xaea980) 0 empty
-Class QTypeInfo<uchar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uchar> (0xaeab00) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0xaeac80) 0 empty
-Class QTypeInfo<ushort>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ushort> (0xaeae00) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0xaeaf80) 0 empty
-Class QTypeInfo<uint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uint> (0xb06100) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0xb06280) 0 empty
-Class QTypeInfo<ulong>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ulong> (0xb06400) 0 empty
-Class QTypeInfo<qint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<qint64> (0xb06580) 0 empty
-Class QTypeInfo<quint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<quint64> (0xb06700) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0xb06880) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0xb06a00) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0xb06b80) 0 empty
Class QFlag
size=4 align=4
@@ -108,10 +48,6 @@ Class QChar
base size=2 base align=2
QChar (0xb4d840) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0xb70cc0) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -139,70 +75,18 @@ Class QByteRef
base size=8 base align=4
QByteRef (0xc33f80) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0xd4bc40) 0 empty
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0xd77100) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0xd773c0) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0xd72c80) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0xd8d100) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0xd77a80) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0xd949c0) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0xdc8140) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0xdc8440) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0xd8d340) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0xdd8180) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0xdd8940) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0xdd8c80) 0
Class QInternal
size=1 align=1
@@ -229,10 +113,6 @@ Class QLatin1String
base size=4 base align=4
QLatin1String (0xead500) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0xead940) 0
Class QCharRef
size=8 align=4
@@ -245,10 +125,6 @@ Class QConstString
QConstString (0x11de880) 0
QString (0x11de8c0) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0x11dec00) 0 empty
Vtable for std::exception
std::exception::_ZTVSt9exception: 5u entries
@@ -311,10 +187,6 @@ Class QListData
base size=4 base align=4
QListData (0x127af00) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0x137ae40) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -339,15 +211,7 @@ Class QTextCodec
QTextCodec (0xead480) 0 nearly-empty
vptr=((&QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0x13be140) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0xc3ca40) 0
Class QTextEncoder
size=32 align=4
@@ -370,25 +234,13 @@ Class QGenericReturnArgument
QGenericReturnArgument (0x13fcfc0) 0
QGenericArgument (0x1402000) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0x1419700) 0
Class QMetaObject
size=16 align=4
base size=16 base align=4
QMetaObject (0x1402580) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0x1433f80) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0x1433b80) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -480,10 +332,6 @@ QIODevice (0x137a700) 0
QObject (0x14bc540) 0
primary-for QIODevice (0x137a700)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0x14bc840) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -503,25 +351,13 @@ Class QRegExp
base size=4 base align=4
QRegExp (0xead380) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0x158b4c0) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0x158b840) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0x158bd80) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0x158bc40) 0
Class QStringList
size=4 align=4
@@ -529,15 +365,7 @@ Class QStringList
QStringList (0xead400) 0
QList<QString> (0x15b8000) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0x158bec0) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0x158be80) 0
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -666,50 +494,22 @@ QFile (0x169f840) 0
QObject (0x169f8c0) 0
primary-for QIODevice (0x169f880)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0x16ae100) 0
Class QFileInfo
size=4 align=4
base size=4 base align=4
QFileInfo (0x16d55c0) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0x16d5f00) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0x1703e40) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0x172d300) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0x172d200) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0x16d5440) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0x175b040) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0x172dc00) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -766,10 +566,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0x169f740) 0
vptr=((&QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0x17da340) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -843,10 +639,6 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0x182fc40) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0x182fd40) 0 empty
Class QMapData::Node
size=8 align=4
@@ -871,10 +663,6 @@ Class QTextStream
QTextStream (0x1a79240) 0
vptr=((&QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0x1a79600) 0
Class QTextStreamManipulator
size=24 align=4
@@ -911,20 +699,8 @@ QTextOStream (0x1b07440) 0
QTextStream (0x1b07480) 0
primary-for QTextOStream (0x1b07440)
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x1b34680) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x1b34800) 0
-Class <anonymous struct>
- size=16 align=8
- base size=16 base align=8
-<anonymous struct> (0x1b535c0) 0
Class QVectorData
size=16 align=4
@@ -1037,95 +813,23 @@ Class QMetaType
base size=0 base align=1
QMetaType (0x1ce8bc0) 0 empty
-Class QMetaTypeId<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QString> (0x1d02d40) 0 empty
-Class QMetaTypeId<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<int> (0x1d02ec0) 0 empty
-Class QMetaTypeId<uint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<uint> (0x1d1d040) 0 empty
-Class QMetaTypeId<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<bool> (0x1d1d1c0) 0 empty
-Class QMetaTypeId<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<double> (0x1d1d340) 0 empty
-Class QMetaTypeId<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QByteArray> (0x1d1d4c0) 0 empty
-Class QMetaTypeId<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QChar> (0x1d1d640) 0 empty
-Class QMetaTypeId<void>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<void> (0x1d1d7c0) 0 empty
-Class QMetaTypeId<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<long int> (0x1d1d940) 0 empty
-Class QMetaTypeId<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<short int> (0x1d1dac0) 0 empty
-Class QMetaTypeId<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<char> (0x1d1dc40) 0 empty
-Class QMetaTypeId<ulong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<ulong> (0x1d1ddc0) 0 empty
-Class QMetaTypeId<ushort>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<ushort> (0x1d1df40) 0 empty
-Class QMetaTypeId<uchar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<uchar> (0x1d3b0c0) 0 empty
-Class QMetaTypeId<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<float> (0x1d3b240) 0 empty
-Class QMetaTypeId<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QObject*> (0x1d3b3c0) 0 empty
-Class QMetaTypeId<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QWidget*> (0x1d3b540) 0 empty
-Class QMetaTypeId<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<void*> (0x1d3b6c0) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -1152,35 +856,15 @@ Class QVariant
base size=16 base align=8
QVariant (0x14338c0) 0
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0x1dd9540) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0x1d4edc0) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0x1dd9840) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0x1d4ee40) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0x1d4e000) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0x1e3f280) 0 empty
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1258,15 +942,7 @@ Class QUrl
base size=4 base align=4
QUrl (0x1d3bf80) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0x1eda440) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0x1f0af80) 0 empty
Vtable for QEventLoop
QEventLoop::_ZTV10QEventLoop: 14u entries
@@ -1293,10 +969,6 @@ QEventLoop (0x1f38600) 0
QObject (0x1f38640) 0
primary-for QEventLoop (0x1f38600)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0x1f38940) 0
Vtable for QAbstractEventDispatcher
QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 27u entries
@@ -1341,20 +1013,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0x1f71f40) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0x1fa1b40) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0x1f71ec0) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0x1fa1e80) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -1524,10 +1188,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0x2011d80) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0x20513c0) 0 empty
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -1620,20 +1280,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0x13fc8c0) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0x20c1900) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0x13fc940) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0x20c1f00) 0 empty
Class QMetaProperty
size=20 align=4
@@ -1645,10 +1297,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0x13fca40) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0x20ee640) 0 empty
Vtable for QMimeData
QMimeData::_ZTV9QMimeData: 17u entries
@@ -1941,10 +1589,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0x2234640) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0x2294040) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -1956,70 +1600,42 @@ Class QDate
base size=4 base align=4
QDate (0x1d3b900) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0x22d6900) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0x1d3bb00) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0x22f9540) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0x16d54c0) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0x2322300) 0 empty
Class QPoint
size=8 align=4
base size=8 base align=4
QPoint (0x1d3bb80) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0x2322f40) 0 empty
Class QPointF
size=16 align=8
base size=16 base align=8
QPointF (0x1d3bc00) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0x2370180) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0x1d3b980) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0x2391600) 0 empty
Class QLineF
size=32 align=8
base size=32 base align=8
QLineF (0x1d3ba00) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0x23bbb00) 0 empty
Class QLinkedListData
size=20 align=4
@@ -2031,50 +1647,30 @@ Class QLocale
base size=4 base align=4
QLocale (0x1d3ba80) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0x250a300) 0 empty
Class QSize
size=8 align=4
base size=8 base align=4
QSize (0x1d3bc80) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0x2537480) 0 empty
Class QSizeF
size=16 align=8
base size=16 base align=8
QSizeF (0x1d3bd00) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0x255d9c0) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0x1d3bd80) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0x25cc440) 0 empty
Class QRectF
size=32 align=8
base size=32 base align=8
QRectF (0x1d3be00) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0x264a680) 0 empty
Class QSharedData
size=4 align=4
@@ -2096,10 +1692,6 @@ Class QKeySequence
base size=4 base align=4
QKeySequence (0x1dc6c00) 0
-Class QTypeInfo<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QKeySequence> (0x276ac00) 0 empty
Vtable for QMimeSource
QMimeSource::_ZTV11QMimeSource: 7u entries
@@ -2416,15 +2008,7 @@ Class QInputMethodEvent::Attribute
base size=32 base align=8
QInputMethodEvent::Attribute (0x28a73c0) 0
-Class QList<QInputMethodEvent::Attribute>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute>::<anonymous union> (0x28a78c0) 0
-Class QList<QInputMethodEvent::Attribute>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute> (0x28a74c0) 0
Vtable for QInputMethodEvent
QInputMethodEvent::_ZTV17QInputMethodEvent: 4u entries
@@ -2713,15 +2297,7 @@ Class QAccessible
base size=0 base align=1
QAccessible (0x294be00) 0 empty
-Class QFlags<QAccessible::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::StateFlag> (0x2969e80) 0
-Class QFlags<QAccessible::RelationFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::RelationFlag> (0x297a3c0) 0
Vtable for QAccessibleInterface
QAccessibleInterface::_ZTV20QAccessibleInterface: 19u entries
@@ -3007,25 +2583,9 @@ Class QPaintDevice
QPaintDevice (0x271bdc0) 0
vptr=((&QPaintDevice::_ZTV12QPaintDevice) + 8u)
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x2a78540) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x2a78680) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x2a78780) 0
-Class QColor::<anonymous union>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union> (0x2a784c0) 0
Class QColor
size=16 align=4
@@ -3037,45 +2597,17 @@ Class QBrush
base size=4 base align=4
QBrush (0x1da7d80) 0
-Class QTypeInfo<QBrush>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBrush> (0x2ad1300) 0 empty
Class QBrushData
size=24 align=4
base size=24 base align=4
QBrushData (0x2aa3b00) 0
-Class QVector<QGradientStop>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QGradientStop>::<anonymous union> (0x2ae6000) 0
-Class QVector<QGradientStop>
- size=4 align=4
- base size=4 base align=4
-QVector<QGradientStop> (0x2ad18c0) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=32 align=8
- base size=32 base align=8
-QGradient::<anonymous union>::<anonymous struct> (0x2ae6280) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=40 align=8
- base size=40 base align=8
-QGradient::<anonymous union>::<anonymous struct> (0x2ae6380) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=24 align=8
- base size=24 base align=8
-QGradient::<anonymous union>::<anonymous struct> (0x2ae65c0) 0
-Class QGradient::<anonymous union>
- size=40 align=8
- base size=40 base align=8
-QGradient::<anonymous union> (0x2ae6200) 0
Class QGradient
size=64 align=8
@@ -3487,10 +3019,6 @@ QAbstractPrintDialog (0x2e12680) 0
QPaintDevice (0x2e12780) 8
vptr=((&QAbstractPrintDialog::_ZTV20QAbstractPrintDialog) + 256u)
-Class QFlags<QAbstractPrintDialog::PrintDialogOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractPrintDialog::PrintDialogOption> (0x2e12a40) 0
Vtable for QColorDialog
QColorDialog::_ZTV12QColorDialog: 70u entries
@@ -3753,10 +3281,6 @@ QFileDialog (0x2e82b40) 0
QPaintDevice (0x2e82c40) 8
vptr=((&QFileDialog::_ZTV11QFileDialog) + 252u)
-Class QFlags<QFileDialog::Option>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileDialog::Option> (0x2ea7600) 0
Vtable for QFontDialog
QFontDialog::_ZTV11QFontDialog: 70u entries
@@ -4485,10 +4009,6 @@ QImage (0x1dc6400) 0
QPaintDevice (0x3087900) 0
primary-for QImage (0x1dc6400)
-Class QTypeInfo<QImage>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QImage> (0x3124b00) 0 empty
Vtable for QPixmap
QPixmap::_ZTV7QPixmap: 9u entries
@@ -4537,10 +4057,6 @@ Class QIcon
base size=4 base align=4
QIcon (0x1dc6200) 0
-Class QTypeInfo<QIcon>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QIcon> (0x31cfbc0) 0 empty
Vtable for QIconEngine
QIconEngine::_ZTV11QIconEngine: 9u entries
@@ -4696,10 +4212,6 @@ QImageIOPlugin (0x320b600) 0
QFactoryInterface (0x320b6c0) 8 nearly-empty
primary-for QImageIOHandlerFactoryInterface (0x320b680)
-Class QFlags<QImageIOPlugin::Capability>
- size=4 align=4
- base size=4 base align=4
-QFlags<QImageIOPlugin::Capability> (0x320b880) 0
Class QImageReader
size=4 align=4
@@ -4877,15 +4389,7 @@ QActionGroup (0x32b8780) 0
QObject (0x32fb600) 0
primary-for QActionGroup (0x32b8780)
-Class QList<QAction*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QAction*>::<anonymous union> (0x32fbfc0) 0
-Class QList<QAction*>
- size=4 align=4
- base size=4 base align=4
-QList<QAction*> (0x2c9d940) 0
Vtable for QInputContext
QInputContext::_ZTV13QInputContext: 25u entries
@@ -5194,10 +4698,6 @@ QAbstractSpinBox (0x338bac0) 0
QPaintDevice (0x338bb80) 8
vptr=((&QAbstractSpinBox::_ZTV16QAbstractSpinBox) + 260u)
-Class QFlags<QAbstractSpinBox::StepEnabledFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractSpinBox::StepEnabledFlag> (0x338bf00) 0
Vtable for QAbstractSlider
QAbstractSlider::_ZTV15QAbstractSlider: 68u entries
@@ -5413,15 +4913,7 @@ QStyle (0x2c6a700) 0
QObject (0x3453700) 0
primary-for QStyle (0x2c6a700)
-Class QFlags<QStyle::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::StateFlag> (0x3463040) 0
-Class QFlags<QStyle::SubControl>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::SubControl> (0x3479100) 0
Vtable for QTabBar
QTabBar::_ZTV7QTabBar: 71u entries
@@ -5692,10 +5184,6 @@ Class QStyleOptionFrame
QStyleOptionFrame (0x35ab500) 0
QStyleOption (0x35ab540) 0
-Class QFlags<QStyleOptionFrameV2::FrameFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionFrameV2::FrameFeature> (0x35abac0) 0
Class QStyleOptionFrameV2
size=56 align=4
@@ -5722,10 +5210,6 @@ Class QStyleOptionHeader
QStyleOptionHeader (0x35cdec0) 0
QStyleOption (0x35cdf00) 0
-Class QFlags<QStyleOptionButton::ButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionButton::ButtonFeature> (0x3615ac0) 0
Class QStyleOptionButton
size=64 align=4
@@ -5733,10 +5217,6 @@ Class QStyleOptionButton
QStyleOptionButton (0x36158c0) 0
QStyleOption (0x3615900) 0
-Class QFlags<QStyleOptionTab::CornerWidget>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionTab::CornerWidget> (0x3651480) 0
Class QStyleOptionTab
size=72 align=4
@@ -5751,10 +5231,6 @@ QStyleOptionTabV2 (0x3651bc0) 0
QStyleOptionTab (0x3651c00) 0
QStyleOption (0x3651c40) 0
-Class QFlags<QStyleOptionToolBar::ToolBarFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionToolBar::ToolBarFeature> (0x36a7440) 0
Class QStyleOptionToolBar
size=68 align=4
@@ -5781,10 +5257,6 @@ Class QStyleOptionMenuItem
QStyleOptionMenuItem (0x36f32c0) 0
QStyleOption (0x36f3300) 0
-Class QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature> (0x36f3e00) 0
Class QStyleOptionQ3ListViewItem
size=64 align=4
@@ -5842,15 +5314,7 @@ QStyleOptionSpinBox (0x3787a00) 0
QStyleOptionComplex (0x3787a40) 0
QStyleOption (0x3787a80) 0
-Class QList<QStyleOptionQ3ListViewItem>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::<anonymous union> (0x37a8200) 0
-Class QList<QStyleOptionQ3ListViewItem>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem> (0x37a8100) 0
Class QStyleOptionQ3ListView
size=84 align=4
@@ -5859,10 +5323,6 @@ QStyleOptionQ3ListView (0x3787f80) 0
QStyleOptionComplex (0x3787fc0) 0
QStyleOption (0x37a8000) 0
-Class QFlags<QStyleOptionToolButton::ToolButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionToolButton::ToolButtonFeature> (0x37a8d40) 0
Class QStyleOptionToolButton
size=96 align=4
@@ -6026,10 +5486,6 @@ Class QItemSelectionRange
base size=8 base align=4
QItemSelectionRange (0x38a0d80) 0
-Class QTypeInfo<QItemSelectionRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QItemSelectionRange> (0x39030c0) 0 empty
Vtable for QItemSelectionModel
QItemSelectionModel::_ZTV19QItemSelectionModel: 18u entries
@@ -6060,20 +5516,8 @@ QItemSelectionModel (0x39034c0) 0
QObject (0x3903500) 0
primary-for QItemSelectionModel (0x39034c0)
-Class QFlags<QItemSelectionModel::SelectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QItemSelectionModel::SelectionFlag> (0x3903840) 0
-Class QList<QItemSelectionRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::<anonymous union> (0x392d3c0) 0
-Class QList<QItemSelectionRange>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange> (0x392d2c0) 0
Class QItemSelection
size=4 align=4
@@ -6207,10 +5651,6 @@ QAbstractItemView (0x392da40) 0
QPaintDevice (0x392db80) 8
vptr=((&QAbstractItemView::_ZTV17QAbstractItemView) + 400u)
-Class QFlags<QAbstractItemView::EditTrigger>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractItemView::EditTrigger> (0x39865c0) 0
Vtable for QAbstractProxyModel
QAbstractProxyModel::_ZTV19QAbstractProxyModel: 47u entries
@@ -6526,15 +5966,7 @@ Class QItemEditorCreatorBase
QItemEditorCreatorBase (0x3a72a80) 0 nearly-empty
vptr=((&QItemEditorCreatorBase::_ZTV22QItemEditorCreatorBase) + 8u)
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union> (0x3a95580) 0
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*> (0x3a95380) 0
Vtable for QItemEditorFactory
QItemEditorFactory::_ZTV18QItemEditorFactory: 6u entries
@@ -6679,15 +6111,7 @@ QListView (0x3a95d40) 0
QPaintDevice (0x3a95ec0) 8
vptr=((&QListView::_ZTV9QListView) + 400u)
-Class QVector<QWidgetItemData>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData>::<anonymous union> (0x3aee300) 0
-Class QVector<QWidgetItemData>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData> (0x3aee180) 0
Vtable for QListWidgetItem
QListWidgetItem::_ZTV15QListWidgetItem: 11u entries
@@ -7492,35 +6916,15 @@ QTreeView (0x3cb5500) 0
QPaintDevice (0x3cb5680) 8
vptr=((&QTreeView::_ZTV9QTreeView) + 408u)
-Class QFlags<QTreeWidgetItemIterator::IteratorFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTreeWidgetItemIterator::IteratorFlag> (0x3cf3680) 0
Class QTreeWidgetItemIterator
size=12 align=4
base size=12 base align=4
QTreeWidgetItemIterator (0x3cf3240) 0
-Class QVector<QVector<QWidgetItemData> >::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> >::<anonymous union> (0x3d44440) 0
-Class QVector<QVector<QWidgetItemData> >
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> > (0x3d442c0) 0
-Class QList<QTreeWidgetItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::<anonymous union> (0x3d44640) 0
-Class QList<QTreeWidgetItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*> (0x3d44100) 0
Vtable for QTreeWidgetItem
QTreeWidgetItem::_ZTV15QTreeWidgetItem: 10u entries
@@ -8375,15 +7779,7 @@ Class QColormap
base size=4 base align=4
QColormap (0x2a5e3c0) 0
-Class QVector<QPoint>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint>::<anonymous union> (0x3feca00) 0
-Class QVector<QPoint>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint> (0x3fec880) 0
Class QPolygon
size=4 align=4
@@ -8391,15 +7787,7 @@ Class QPolygon
QPolygon (0x1dc6500) 0
QVector<QPoint> (0x3fecb80) 0
-Class QVector<QPointF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF>::<anonymous union> (0x4020e00) 0
-Class QVector<QPointF>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF> (0x4020cc0) 0
Class QPolygonF
size=4 align=4
@@ -8412,95 +7800,39 @@ Class QMatrix
base size=48 base align=8
QMatrix (0x2370140) 0
-Class QTypeInfo<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMatrix> (0x407bbc0) 0 empty
Class QTextOption
size=32 align=8
base size=28 base align=8
QTextOption (0x409fa40) 0
-Class QFlags<QTextOption::Flag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextOption::Flag> (0x409fe40) 0
Class QPen
size=4 align=4
base size=4 base align=4
QPen (0x1dc6d00) 0
-Class QTypeInfo<QPen>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPen> (0x4105440) 0 empty
Class QPainter
size=4 align=4
base size=4 base align=4
QPainter (0x271bec0) 0
-Class QFlags<QPainter::RenderHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPainter::RenderHint> (0x4105980) 0
-Class QVector<QLineF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF>::<anonymous union> (0x41d2340) 0
-Class QVector<QLineF>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF> (0x4123580) 0
-Class QVector<QLine>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine>::<anonymous union> (0x41d26c0) 0
-Class QVector<QLine>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine> (0x4123640) 0
-Class QVector<QRectF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF>::<anonymous union> (0x4215380) 0
-Class QVector<QRectF>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF> (0x4123780) 0
-Class QVector<QRect>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect>::<anonymous union> (0x4215700) 0
-Class QVector<QRect>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect> (0x27463c0) 0
Class QTextItem
size=1 align=1
base size=0 base align=1
QTextItem (0x41057c0) 0 empty
-Class QTypeInfo<QTextItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextItem> (0x42b39c0) 0 empty
-Class QFlags<QPaintEngine::PaintEngineFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::PaintEngineFeature> (0x42b3f40) 0
Vtable for QPaintEngine
QPaintEngine::_ZTV12QPaintEngine: 26u entries
@@ -8537,20 +7869,12 @@ Class QPaintEngine
QPaintEngine (0x2a38280) 0
vptr=((&QPaintEngine::_ZTV12QPaintEngine) + 8u)
-Class QFlags<QPaintEngine::DirtyFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::DirtyFlag> (0x42c9380) 0
Class QPaintEngineState
size=4 align=4
base size=4 base align=4
QPaintEngineState (0x42b3700) 0
-Class QFlags<QTextItem::RenderFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextItem::RenderFlag> (0x42b38c0) 0
Class QPainterPath::Element
size=24 align=8
@@ -8562,25 +7886,13 @@ Class QPainterPath
base size=4 base align=4
QPainterPath (0x2bae100) 0
-Class QVector<QPainterPath::Element>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element>::<anonymous union> (0x43a69c0) 0
-Class QVector<QPainterPath::Element>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element> (0x43a6840) 0
Class QPainterPathPrivate
size=8 align=4
base size=8 base align=4
QPainterPathPrivate (0x4352340) 0
-Class QTypeInfo<QPainterPath::Element>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPainterPath::Element> (0x43a6b80) 0 empty
Class QPainterPathStroker
size=4 align=4
@@ -8682,10 +7994,6 @@ QCommonStyle (0x446be40) 0
QObject (0x446bec0) 0
primary-for QStyle (0x446be80)
-Class QPointer<QFocusFrame>
- size=4 align=4
- base size=4 base align=4
-QPointer<QFocusFrame> (0x4498600) 0
Vtable for QMotifStyle
QMotifStyle::_ZTV11QMotifStyle: 35u entries
@@ -9007,25 +8315,13 @@ Class QTextLength
base size=16 base align=8
QTextLength (0x1d3bf00) 0
-Class QSharedDataPointer<QTextFormatPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextFormatPrivate> (0x4591100) 0
Class QTextFormat
size=8 align=4
base size=8 base align=4
QTextFormat (0x1d3be80) 0
-Class QVector<QTextLength>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength>::<anonymous union> (0x4591a80) 0
-Class QVector<QTextLength>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength> (0x4585bc0) 0
Class QTextCharFormat
size=8 align=4
@@ -9080,15 +8376,7 @@ Class QTextLayout
base size=4 base align=4
QTextLayout (0x2b9be00) 0
-Class QVector<QTextLayout::FormatRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange>::<anonymous union> (0x46ec0c0) 0
-Class QVector<QTextLayout::FormatRange>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange> (0x46d3d00) 0
Class QTextLine
size=8 align=4
@@ -9138,15 +8426,7 @@ QTextDocument (0x4533ec0) 0
QObject (0x4717900) 0
primary-for QTextDocument (0x4533ec0)
-Class QFlags<QTextDocument::FindFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextDocument::FindFlag> (0x4717dc0) 0
-Class QSharedDataPointer<QTextCursorPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextCursorPrivate> (0x4781dc0) 0
Class QTextCursor
size=4 align=4
@@ -9158,15 +8438,7 @@ Class QAbstractTextDocumentLayout::Selection
base size=12 base align=4
QAbstractTextDocumentLayout::Selection (0x47952c0) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union> (0x4795580) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection> (0x4795400) 0
Class QAbstractTextDocumentLayout::PaintContext
size=56 align=8
@@ -9328,10 +8600,6 @@ QTextFrame (0x4717100) 0
QObject (0x480e340) 0
primary-for QTextObject (0x480e300)
-Class QTypeInfo<QTextFrame::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFrame::iterator> (0x48377c0) 0 empty
Vtable for QTextBlockUserData
QTextBlockUserData::_ZTV18QTextBlockUserData: 4u entries
@@ -9356,25 +8624,13 @@ Class QTextBlock
base size=8 base align=4
QTextBlock (0x46d3540) 0
-Class QTypeInfo<QTextBlock>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock> (0x488e040) 0 empty
-Class QTypeInfo<QTextBlock::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock::iterator> (0x488e1c0) 0 empty
Class QTextFragment
size=12 align=4
base size=12 base align=4
QTextFragment (0x47e4600) 0
-Class QTypeInfo<QTextFragment>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFragment> (0x488ec40) 0 empty
Vtable for QSyntaxHighlighter
QSyntaxHighlighter::_ZTV18QSyntaxHighlighter: 15u entries
@@ -10031,10 +9287,6 @@ QDateEdit (0x4a4f080) 0
QPaintDevice (0x4a4f1c0) 8
vptr=((&QDateEdit::_ZTV9QDateEdit) + 268u)
-Class QFlags<QDateTimeEdit::Section>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDateTimeEdit::Section> (0x4a10580) 0
Vtable for QDial
QDial::_ZTV5QDial: 68u entries
@@ -10203,10 +9455,6 @@ QDockWidget (0x4abe200) 0
QPaintDevice (0x4abe2c0) 8
vptr=((&QDockWidget::_ZTV11QDockWidget) + 240u)
-Class QFlags<QDockWidget::DockWidgetFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDockWidget::DockWidgetFeature> (0x4abe780) 0
Vtable for QFocusFrame
QFocusFrame::_ZTV11QFocusFrame: 67u entries
@@ -12762,10 +12010,6 @@ QUdpSocket (0x5142d00) 0
QObject (0x5142dc0) 0
primary-for QIODevice (0x5142d80)
-Class QFlags<QSql::ParamTypeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QSql::ParamTypeFlag> (0x516ca80) 0
Class QSqlRecord
size=4 align=4
@@ -12903,15 +12147,7 @@ Class QSqlField
base size=20 base align=8
QSqlField (0x51b8100) 0
-Class QList<bool>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<bool>::<anonymous union> (0x5254140) 0
-Class QList<bool>
- size=4 align=4
- base size=4 base align=4
-QList<bool> (0x5254000) 0
Class QSqlIndex
size=16 align=4
@@ -13435,29 +12671,7 @@ Class Q3GListStdIterator
base size=4 base align=4
Q3GListStdIterator (0x53698c0) 0
-Vtable for Q3PtrList<void>
-Q3PtrList<void>::_ZTV9Q3PtrListIvE: 11u entries
-0 0u
-4 (int (*)(...))(&_ZTI9Q3PtrListIvE)
-8 Q3PtrList<type>::count [with type = void]
-12 Q3PtrList<type>::clear [with type = void]
-16 Q3PtrList<type>::~Q3PtrList [with type = void]
-20 Q3PtrList<type>::~Q3PtrList [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3PtrList<type>::deleteItem [with type = void]
-32 Q3GList::compareItems
-36 Q3GList::read
-40 Q3GList::write
-Class Q3PtrList<void>
- size=32 align=4
- base size=32 base align=4
-Q3PtrList<void> (0x53da380) 0
- vptr=((&Q3PtrList<void>::_ZTV9Q3PtrListIvE) + 8u)
- Q3GList (0x53da480) 0
- primary-for Q3PtrList<void> (0x53da380)
- Q3PtrCollection (0x53da4c0) 0
- primary-for Q3GList (0x53da480)
Class Q3PointArray
size=4 align=4
@@ -13466,21 +12680,8 @@ Q3PointArray (0x542a5c0) 0
QPolygon (0x542a600) 0
QVector<QPoint> (0x542a640) 0
-Class QLinkedList<Q3CanvasItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QLinkedList<Q3CanvasItem*>::<anonymous union> (0x5457c80) 0
-Class QLinkedList<Q3CanvasItem*>
- size=4 align=4
- base size=4 base align=4
-QLinkedList<Q3CanvasItem*> (0x5457b00) 0
-Class Q3ValueList<Q3CanvasItem*>
- size=4 align=4
- base size=4 base align=4
-Q3ValueList<Q3CanvasItem*> (0x5457a00) 0
- QLinkedList<Q3CanvasItem*> (0x5457e40) 0
Class Q3CanvasItemList
size=4 align=4
@@ -14124,28 +13325,7 @@ Class Q3GDictIterator
base size=12 base align=4
Q3GDictIterator (0x5564b00) 0
-Vtable for Q3Dict<void>
-Q3Dict<void>::_ZTV6Q3DictIvE: 10u entries
-0 0u
-4 (int (*)(...))(&_ZTI6Q3DictIvE)
-8 Q3Dict<type>::count [with type = void]
-12 Q3Dict<type>::clear [with type = void]
-16 Q3Dict<type>::~Q3Dict [with type = void]
-20 Q3Dict<type>::~Q3Dict [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3Dict<type>::deleteItem [with type = void]
-32 Q3GDict::read
-36 Q3GDict::write
-Class Q3Dict<void>
- size=28 align=4
- base size=28 base align=4
-Q3Dict<void> (0x55e1400) 0
- vptr=((&Q3Dict<void>::_ZTV6Q3DictIvE) + 8u)
- Q3GDict (0x55e1500) 0
- primary-for Q3Dict<void> (0x55e1400)
- Q3PtrCollection (0x55e1540) 0
- primary-for Q3GDict (0x55e1500)
Vtable for Q3NetworkProtocolFactoryBase
Q3NetworkProtocolFactoryBase::_ZTV28Q3NetworkProtocolFactoryBase: 5u entries
@@ -14696,29 +13876,7 @@ Q3Wizard (0x56fd180) 0
QPaintDevice (0x56fd280) 8
vptr=((&Q3Wizard::_ZTV8Q3Wizard) + 316u)
-Vtable for Q3PtrList<char>
-Q3PtrList<char>::_ZTV9Q3PtrListIcE: 11u entries
-0 0u
-4 (int (*)(...))(&_ZTI9Q3PtrListIcE)
-8 Q3PtrList<type>::count [with type = char]
-12 Q3PtrList<type>::clear [with type = char]
-16 Q3PtrList<type>::~Q3PtrList [with type = char]
-20 Q3PtrList<type>::~Q3PtrList [with type = char]
-24 Q3PtrCollection::newItem
-28 Q3PtrList<type>::deleteItem [with type = char]
-32 Q3GList::compareItems
-36 Q3GList::read
-40 Q3GList::write
-Class Q3PtrList<char>
- size=32 align=4
- base size=32 base align=4
-Q3PtrList<char> (0x56fdd80) 0
- vptr=((&Q3PtrList<char>::_ZTV9Q3PtrListIcE) + 8u)
- Q3GList (0x56fde80) 0
- primary-for Q3PtrList<char> (0x56fdd80)
- Q3PtrCollection (0x56fdec0) 0
- primary-for Q3GList (0x56fde80)
Vtable for Q3StrList
Q3StrList::_ZTV9Q3StrList: 11u entries
@@ -14746,11 +13904,6 @@ Q3StrList (0x56fdd40) 0
Q3PtrCollection (0x5739100) 0
primary-for Q3GList (0x57390c0)
-Class Q3PtrListStdIterator<char>
- size=4 align=4
- base size=4 base align=4
-Q3PtrListStdIterator<char> (0x56fdf40) 0
- Q3GListStdIterator (0x5739c80) 0
Vtable for Q3StrIList
Q3StrIList::_ZTV10Q3StrIList: 11u entries
@@ -15795,29 +14948,7 @@ Q3GVector (0x533ec00) 0
Q3PtrCollection (0x59df440) 0
primary-for Q3GVector (0x533ec00)
-Vtable for Q3PtrVector<void>
-Q3PtrVector<void>::_ZTV11Q3PtrVectorIvE: 11u entries
-0 0u
-4 (int (*)(...))(&_ZTI11Q3PtrVectorIvE)
-8 Q3PtrVector<type>::count [with type = void]
-12 Q3PtrVector<type>::clear [with type = void]
-16 Q3PtrVector<type>::~Q3PtrVector [with type = void]
-20 Q3PtrVector<type>::~Q3PtrVector [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3PtrVector<type>::deleteItem [with type = void]
-32 Q3GVector::compareItems
-36 Q3GVector::read
-40 Q3GVector::write
-Class Q3PtrVector<void>
- size=20 align=4
- base size=20 base align=4
-Q3PtrVector<void> (0x5a1a2c0) 0
- vptr=((&Q3PtrVector<void>::_ZTV11Q3PtrVectorIvE) + 8u)
- Q3GVector (0x5a1a3c0) 0
- primary-for Q3PtrVector<void> (0x5a1a2c0)
- Q3PtrCollection (0x5a1a400) 0
- primary-for Q3GVector (0x5a1a3c0)
Vtable for Q3Header
Q3Header::_ZTV8Q3Header: 80u entries
@@ -15941,28 +15072,7 @@ Class Q3GArray
Q3GArray (0x5a6c700) 0
vptr=((&Q3GArray::_ZTV8Q3GArray) + 8u)
-Vtable for Q3IntDict<void>
-Q3IntDict<void>::_ZTV9Q3IntDictIvE: 10u entries
-0 0u
-4 (int (*)(...))(&_ZTI9Q3IntDictIvE)
-8 Q3IntDict<type>::count [with type = void]
-12 Q3IntDict<type>::clear [with type = void]
-16 Q3IntDict<type>::~Q3IntDict [with type = void]
-20 Q3IntDict<type>::~Q3IntDict [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3IntDict<type>::deleteItem [with type = void]
-32 Q3GDict::read
-36 Q3GDict::write
-Class Q3IntDict<void>
- size=28 align=4
- base size=28 base align=4
-Q3IntDict<void> (0x5aba900) 0
- vptr=((&Q3IntDict<void>::_ZTV9Q3IntDictIvE) + 8u)
- Q3GDict (0x5abaa00) 0
- primary-for Q3IntDict<void> (0x5aba900)
- Q3PtrCollection (0x5abaa40) 0
- primary-for Q3GDict (0x5abaa00)
Class Q3TableSelection
size=28 align=4
@@ -16073,100 +15183,13 @@ Class Q3Table::TableWidget
base size=12 base align=4
Q3Table::TableWidget (0x5b52200) 0
-Vtable for Q3PtrVector<Q3TableItem>
-Q3PtrVector<Q3TableItem>::_ZTV11Q3PtrVectorI11Q3TableItemE: 11u entries
-0 0u
-4 (int (*)(...))(&_ZTI11Q3PtrVectorI11Q3TableItemE)
-8 Q3PtrVector<type>::count [with type = Q3TableItem]
-12 Q3PtrVector<type>::clear [with type = Q3TableItem]
-16 Q3PtrVector<type>::~Q3PtrVector [with type = Q3TableItem]
-20 Q3PtrVector<type>::~Q3PtrVector [with type = Q3TableItem]
-24 Q3PtrCollection::newItem
-28 Q3PtrVector<type>::deleteItem [with type = Q3TableItem]
-32 Q3GVector::compareItems
-36 Q3GVector::read
-40 Q3GVector::write
-Class Q3PtrVector<Q3TableItem>
- size=20 align=4
- base size=20 base align=4
-Q3PtrVector<Q3TableItem> (0x5b522c0) 0
- vptr=((&Q3PtrVector<Q3TableItem>::_ZTV11Q3PtrVectorI11Q3TableItemE) + 8u)
- Q3GVector (0x5b52600) 0
- primary-for Q3PtrVector<Q3TableItem> (0x5b522c0)
- Q3PtrCollection (0x5b52640) 0
- primary-for Q3GVector (0x5b52600)
-
-Vtable for Q3PtrVector<QWidget>
-Q3PtrVector<QWidget>::_ZTV11Q3PtrVectorI7QWidgetE: 11u entries
-0 0u
-4 (int (*)(...))(&_ZTI11Q3PtrVectorI7QWidgetE)
-8 Q3PtrVector<type>::count [with type = QWidget]
-12 Q3PtrVector<type>::clear [with type = QWidget]
-16 Q3PtrVector<type>::~Q3PtrVector [with type = QWidget]
-20 Q3PtrVector<type>::~Q3PtrVector [with type = QWidget]
-24 Q3PtrCollection::newItem
-28 Q3PtrVector<type>::deleteItem [with type = QWidget]
-32 Q3GVector::compareItems
-36 Q3GVector::read
-40 Q3GVector::write
-Class Q3PtrVector<QWidget>
- size=20 align=4
- base size=20 base align=4
-Q3PtrVector<QWidget> (0x5b527c0) 0
- vptr=((&Q3PtrVector<QWidget>::_ZTV11Q3PtrVectorI7QWidgetE) + 8u)
- Q3GVector (0x5b52880) 0
- primary-for Q3PtrVector<QWidget> (0x5b527c0)
- Q3PtrCollection (0x5b528c0) 0
- primary-for Q3GVector (0x5b52880)
-
-Vtable for Q3PtrList<Q3TableSelection>
-Q3PtrList<Q3TableSelection>::_ZTV9Q3PtrListI16Q3TableSelectionE: 11u entries
-0 0u
-4 (int (*)(...))(&_ZTI9Q3PtrListI16Q3TableSelectionE)
-8 Q3PtrList<type>::count [with type = Q3TableSelection]
-12 Q3PtrList<type>::clear [with type = Q3TableSelection]
-16 Q3PtrList<type>::~Q3PtrList [with type = Q3TableSelection]
-20 Q3PtrList<type>::~Q3PtrList [with type = Q3TableSelection]
-24 Q3PtrCollection::newItem
-28 Q3PtrList<type>::deleteItem [with type = Q3TableSelection]
-32 Q3GList::compareItems
-36 Q3GList::read
-40 Q3GList::write
-Class Q3PtrList<Q3TableSelection>
- size=32 align=4
- base size=32 base align=4
-Q3PtrList<Q3TableSelection> (0x5b52b40) 0
- vptr=((&Q3PtrList<Q3TableSelection>::_ZTV9Q3PtrListI16Q3TableSelectionE) + 8u)
- Q3GList (0x5b52c00) 0
- primary-for Q3PtrList<Q3TableSelection> (0x5b52b40)
- Q3PtrCollection (0x5b52c40) 0
- primary-for Q3GList (0x5b52c00)
-
-Vtable for Q3IntDict<int>
-Q3IntDict<int>::_ZTV9Q3IntDictIiE: 10u entries
-0 0u
-4 (int (*)(...))(&_ZTI9Q3IntDictIiE)
-8 Q3IntDict<type>::count [with type = int]
-12 Q3IntDict<type>::clear [with type = int]
-16 Q3IntDict<type>::~Q3IntDict [with type = int]
-20 Q3IntDict<type>::~Q3IntDict [with type = int]
-24 Q3PtrCollection::newItem
-28 Q3IntDict<type>::deleteItem [with type = int]
-32 Q3GDict::read
-36 Q3GDict::write
-Class Q3IntDict<int>
- size=28 align=4
- base size=28 base align=4
-Q3IntDict<int> (0x5b87200) 0
- vptr=((&Q3IntDict<int>::_ZTV9Q3IntDictIiE) + 8u)
- Q3GDict (0x5b872c0) 0
- primary-for Q3IntDict<int> (0x5b87200)
- Q3PtrCollection (0x5b87300) 0
- primary-for Q3GDict (0x5b872c0)
+
+
+
Vtable for Q3Table
Q3Table::_ZTV7Q3Table: 187u entries
@@ -16484,15 +15507,7 @@ Q3Ftp (0x5c05680) 0
QObject (0x5c05700) 0
primary-for Q3NetworkProtocol (0x5c056c0)
-Class QMap<QString, QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QString>::<anonymous union> (0x5c3d380) 0
-Class QMap<QString, QString>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QString> (0x5c3d240) 0
Vtable for Q3HttpHeader
Q3HttpHeader::_ZTV12Q3HttpHeader: 8u entries
@@ -17788,21 +16803,8 @@ Class Q3SqlPropertyMap
Q3SqlPropertyMap (0x5ee30c0) 0
vptr=((&Q3SqlPropertyMap::_ZTV16Q3SqlPropertyMap) + 8u)
-Class QLinkedList<Q3SqlFieldInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QLinkedList<Q3SqlFieldInfo>::<anonymous union> (0x5fe5b80) 0
-Class QLinkedList<Q3SqlFieldInfo>
- size=4 align=4
- base size=4 base align=4
-QLinkedList<Q3SqlFieldInfo> (0x5fe5a40) 0
-Class Q3ValueList<Q3SqlFieldInfo>
- size=4 align=4
- base size=4 base align=4
-Q3ValueList<Q3SqlFieldInfo> (0x5fe58c0) 0
- QLinkedList<Q3SqlFieldInfo> (0x5fe5d00) 0
Class Q3SqlRecordInfo
size=4 align=4
@@ -17811,31 +16813,10 @@ Q3SqlRecordInfo (0x5fe5980) 0
Q3ValueList<Q3SqlFieldInfo> (0x5fe5f80) 0
QLinkedList<Q3SqlFieldInfo> (0x5fe5fc0) 0
-Class QList<Q3SqlFieldInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<Q3SqlFieldInfo>::<anonymous union> (0x601b380) 0
-Class QList<Q3SqlFieldInfo>
- size=4 align=4
- base size=4 base align=4
-QList<Q3SqlFieldInfo> (0x5fe5e80) 0
-Class QLinkedList<Q3SqlFieldInfo>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QLinkedList<Q3SqlFieldInfo>::const_iterator (0x5fe5c80) 0
-Class Q3ValueListConstIterator<Q3SqlFieldInfo>
- size=4 align=4
- base size=4 base align=4
-Q3ValueListConstIterator<Q3SqlFieldInfo> (0x5fe5dc0) 0
- QLinkedList<Q3SqlFieldInfo>::const_iterator (0x601bf00) 0
-Class QLinkedList<Q3SqlFieldInfo>::iterator
- size=4 align=4
- base size=4 base align=4
-QLinkedList<Q3SqlFieldInfo>::iterator (0x5fe5cc0) 0
Vtable for Q3SqlSelectCursor
Q3SqlSelectCursor::_ZTV17Q3SqlSelectCursor: 40u entries
@@ -17895,15 +16876,7 @@ Class Q3StyleSheetItem
base size=4 base align=4
Q3StyleSheetItem (0x60c6b40) 0
-Class QHash<QString, Q3StyleSheetItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QHash<QString, Q3StyleSheetItem*>::<anonymous union> (0x60e5c40) 0
-Class QHash<QString, Q3StyleSheetItem*>
- size=4 align=4
- base size=4 base align=4
-QHash<QString, Q3StyleSheetItem*> (0x60e5a40) 0
Vtable for Q3StyleSheet
Q3StyleSheet::_ZTV12Q3StyleSheet: 16u entries
@@ -17942,25 +16915,9 @@ Class Q3TextEditOptimPrivate::Selection
base size=8 base align=4
Q3TextEditOptimPrivate::Selection (0x610ea80) 0
-Class QMap<int, QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<int, QString>::<anonymous union> (0x610ec40) 0
-Class QMap<int, QString>
- size=4 align=4
- base size=4 base align=4
-QMap<int, QString> (0x610eb00) 0
-Class QMap<int, Q3TextEditOptimPrivate::Tag*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<int, Q3TextEditOptimPrivate::Tag*>::<anonymous union> (0x6130040) 0
-Class QMap<int, Q3TextEditOptimPrivate::Tag*>
- size=4 align=4
- base size=4 base align=4
-QMap<int, Q3TextEditOptimPrivate::Tag*> (0x610ef40) 0
Class Q3TextEditOptimPrivate
size=52 align=4
@@ -18172,10 +17129,6 @@ Q3TextEdit (0x610e440) 0
QPaintDevice (0x6130d00) 8
vptr=((&Q3TextEdit::_ZTV10Q3TextEdit) + 688u)
-Class QFlags<Q3TextEdit::AutoFormattingFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Q3TextEdit::AutoFormattingFlag> (0x615e1c0) 0
Vtable for Q3MultiLineEdit
Q3MultiLineEdit::_ZTV15Q3MultiLineEdit: 196u entries
@@ -18848,70 +17801,11 @@ Class Q3GCacheIterator
base size=4 base align=4
Q3GCacheIterator (0x6270dc0) 0
-Vtable for Q3AsciiCache<void>
-Q3AsciiCache<void>::_ZTV12Q3AsciiCacheIvE: 8u entries
-0 0u
-4 (int (*)(...))(&_ZTI12Q3AsciiCacheIvE)
-8 Q3AsciiCache<type>::count [with type = void]
-12 Q3AsciiCache<type>::clear [with type = void]
-16 Q3AsciiCache<type>::~Q3AsciiCache [with type = void]
-20 Q3AsciiCache<type>::~Q3AsciiCache [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3AsciiCache<type>::deleteItem [with type = void]
-Class Q3AsciiCache<void>
- size=32 align=4
- base size=29 base align=4
-Q3AsciiCache<void> (0x62c5980) 0
- vptr=((&Q3AsciiCache<void>::_ZTV12Q3AsciiCacheIvE) + 8u)
- Q3GCache (0x62c5a80) 0
- primary-for Q3AsciiCache<void> (0x62c5980)
- Q3PtrCollection (0x62c5ac0) 0
- primary-for Q3GCache (0x62c5a80)
-
-Vtable for Q3AsciiDict<void>
-Q3AsciiDict<void>::_ZTV11Q3AsciiDictIvE: 10u entries
-0 0u
-4 (int (*)(...))(&_ZTI11Q3AsciiDictIvE)
-8 Q3AsciiDict<type>::count [with type = void]
-12 Q3AsciiDict<type>::clear [with type = void]
-16 Q3AsciiDict<type>::~Q3AsciiDict [with type = void]
-20 Q3AsciiDict<type>::~Q3AsciiDict [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3AsciiDict<type>::deleteItem [with type = void]
-32 Q3GDict::read
-36 Q3GDict::write
-Class Q3AsciiDict<void>
- size=28 align=4
- base size=28 base align=4
-Q3AsciiDict<void> (0x62fba40) 0
- vptr=((&Q3AsciiDict<void>::_ZTV11Q3AsciiDictIvE) + 8u)
- Q3GDict (0x62fbb40) 0
- primary-for Q3AsciiDict<void> (0x62fba40)
- Q3PtrCollection (0x62fbb80) 0
- primary-for Q3GDict (0x62fbb40)
-
-Vtable for Q3Cache<void>
-Q3Cache<void>::_ZTV7Q3CacheIvE: 8u entries
-0 0u
-4 (int (*)(...))(&_ZTI7Q3CacheIvE)
-8 Q3Cache<type>::count [with type = void]
-12 Q3Cache<type>::clear [with type = void]
-16 Q3Cache<type>::~Q3Cache [with type = void]
-20 Q3Cache<type>::~Q3Cache [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3Cache<type>::deleteItem [with type = void]
-Class Q3Cache<void>
- size=32 align=4
- base size=29 base align=4
-Q3Cache<void> (0x6326900) 0
- vptr=((&Q3Cache<void>::_ZTV7Q3CacheIvE) + 8u)
- Q3GCache (0x6326a00) 0
- primary-for Q3Cache<void> (0x6326900)
- Q3PtrCollection (0x6326a40) 0
- primary-for Q3GCache (0x6326a00)
+
+
Class Q3CString
size=4 align=4
@@ -18919,49 +17813,9 @@ Class Q3CString
Q3CString (0x6354840) 0
QByteArray (0x6354880) 0
-Vtable for Q3IntCache<void>
-Q3IntCache<void>::_ZTV10Q3IntCacheIvE: 8u entries
-0 0u
-4 (int (*)(...))(&_ZTI10Q3IntCacheIvE)
-8 Q3IntCache<type>::count [with type = void]
-12 Q3IntCache<type>::clear [with type = void]
-16 Q3IntCache<type>::~Q3IntCache [with type = void]
-20 Q3IntCache<type>::~Q3IntCache [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3IntCache<type>::deleteItem [with type = void]
-Class Q3IntCache<void>
- size=32 align=4
- base size=29 base align=4
-Q3IntCache<void> (0x6435800) 0
- vptr=((&Q3IntCache<void>::_ZTV10Q3IntCacheIvE) + 8u)
- Q3GCache (0x6435900) 0
- primary-for Q3IntCache<void> (0x6435800)
- Q3PtrCollection (0x6435940) 0
- primary-for Q3GCache (0x6435900)
-Vtable for Q3AsciiDict<QMetaObject>
-Q3AsciiDict<QMetaObject>::_ZTV11Q3AsciiDictI11QMetaObjectE: 10u entries
-0 0u
-4 (int (*)(...))(&_ZTI11Q3AsciiDictI11QMetaObjectE)
-8 Q3AsciiDict<type>::count [with type = QMetaObject]
-12 Q3AsciiDict<type>::clear [with type = QMetaObject]
-16 Q3AsciiDict<type>::~Q3AsciiDict [with type = QMetaObject]
-20 Q3AsciiDict<type>::~Q3AsciiDict [with type = QMetaObject]
-24 Q3PtrCollection::newItem
-28 Q3AsciiDict<type>::deleteItem [with type = QMetaObject]
-32 Q3GDict::read
-36 Q3GDict::write
-Class Q3AsciiDict<QMetaObject>
- size=28 align=4
- base size=28 base align=4
-Q3AsciiDict<QMetaObject> (0x64662c0) 0
- vptr=((&Q3AsciiDict<QMetaObject>::_ZTV11Q3AsciiDictI11QMetaObjectE) + 8u)
- Q3GDict (0x64663c0) 0
- primary-for Q3AsciiDict<QMetaObject> (0x64662c0)
- Q3PtrCollection (0x6466400) 0
- primary-for Q3GDict (0x64663c0)
Vtable for Q3ObjectDictionary
Q3ObjectDictionary::_ZTV18Q3ObjectDictionary: 10u entries
@@ -18988,76 +17842,11 @@ Q3ObjectDictionary (0x6466280) 0
Q3PtrCollection (0x64665c0) 0
primary-for Q3GDict (0x6466580)
-Vtable for Q3PtrDict<void>
-Q3PtrDict<void>::_ZTV9Q3PtrDictIvE: 10u entries
-0 0u
-4 (int (*)(...))(&_ZTI9Q3PtrDictIvE)
-8 Q3PtrDict<type>::count [with type = void]
-12 Q3PtrDict<type>::clear [with type = void]
-16 Q3PtrDict<type>::~Q3PtrDict [with type = void]
-20 Q3PtrDict<type>::~Q3PtrDict [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3PtrDict<type>::deleteItem [with type = void]
-32 Q3GDict::read
-36 Q3GDict::write
-Class Q3PtrDict<void>
- size=28 align=4
- base size=28 base align=4
-Q3PtrDict<void> (0x648c6c0) 0
- vptr=((&Q3PtrDict<void>::_ZTV9Q3PtrDictIvE) + 8u)
- Q3GDict (0x648c7c0) 0
- primary-for Q3PtrDict<void> (0x648c6c0)
- Q3PtrCollection (0x648c800) 0
- primary-for Q3GDict (0x648c7c0)
-
-Vtable for Q3PtrQueue<void>
-Q3PtrQueue<void>::_ZTV10Q3PtrQueueIvE: 11u entries
-0 0u
-4 (int (*)(...))(&_ZTI10Q3PtrQueueIvE)
-8 Q3PtrQueue<type>::count [with type = void]
-12 Q3PtrQueue<type>::clear [with type = void]
-16 Q3PtrQueue<type>::~Q3PtrQueue [with type = void]
-20 Q3PtrQueue<type>::~Q3PtrQueue [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3PtrQueue<type>::deleteItem [with type = void]
-32 Q3GList::compareItems
-36 Q3GList::read
-40 Q3GList::write
-Class Q3PtrQueue<void>
- size=32 align=4
- base size=32 base align=4
-Q3PtrQueue<void> (0x64b5540) 0
- vptr=((&Q3PtrQueue<void>::_ZTV10Q3PtrQueueIvE) + 8u)
- Q3GList (0x64b5640) 0
- primary-for Q3PtrQueue<void> (0x64b5540)
- Q3PtrCollection (0x64b5680) 0
- primary-for Q3GList (0x64b5640)
-
-Vtable for Q3PtrStack<void>
-Q3PtrStack<void>::_ZTV10Q3PtrStackIvE: 11u entries
-0 0u
-4 (int (*)(...))(&_ZTI10Q3PtrStackIvE)
-8 Q3PtrStack<type>::count [with type = void]
-12 Q3PtrStack<type>::clear [with type = void]
-16 Q3PtrStack<type>::~Q3PtrStack [with type = void]
-20 Q3PtrStack<type>::~Q3PtrStack [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3PtrStack<type>::deleteItem [with type = void]
-32 Q3GList::compareItems
-36 Q3GList::read
-40 Q3GList::write
-Class Q3PtrStack<void>
- size=32 align=4
- base size=32 base align=4
-Q3PtrStack<void> (0x64df000) 0
- vptr=((&Q3PtrStack<void>::_ZTV10Q3PtrStackIvE) + 8u)
- Q3GList (0x64df100) 0
- primary-for Q3PtrStack<void> (0x64df000)
- Q3PtrCollection (0x64df140) 0
- primary-for Q3GList (0x64df100)
+
+
Vtable for Q3Semaphore
Q3Semaphore::_ZTV11Q3Semaphore: 4u entries
@@ -19097,29 +17886,7 @@ Q3Signal (0x64df6c0) 0
QObject (0x64df700) 0
primary-for Q3Signal (0x64df6c0)
-Vtable for Q3PtrVector<char>
-Q3PtrVector<char>::_ZTV11Q3PtrVectorIcE: 11u entries
-0 0u
-4 (int (*)(...))(&_ZTI11Q3PtrVectorIcE)
-8 Q3PtrVector<type>::count [with type = char]
-12 Q3PtrVector<type>::clear [with type = char]
-16 Q3PtrVector<type>::~Q3PtrVector [with type = char]
-20 Q3PtrVector<type>::~Q3PtrVector [with type = char]
-24 Q3PtrCollection::newItem
-28 Q3PtrVector<type>::deleteItem [with type = char]
-32 Q3GVector::compareItems
-36 Q3GVector::read
-40 Q3GVector::write
-Class Q3PtrVector<char>
- size=20 align=4
- base size=20 base align=4
-Q3PtrVector<char> (0x65070c0) 0
- vptr=((&Q3PtrVector<char>::_ZTV11Q3PtrVectorIcE) + 8u)
- Q3GVector (0x65071c0) 0
- primary-for Q3PtrVector<char> (0x65070c0)
- Q3PtrCollection (0x6507200) 0
- primary-for Q3GVector (0x65071c0)
Vtable for Q3StrVec
Q3StrVec::_ZTV8Q3StrVec: 11u entries
@@ -19433,15 +18200,7 @@ Q3GroupBox (0x6587e80) 0
QPaintDevice (0x6587f80) 8
vptr=((&Q3GroupBox::_ZTV10Q3GroupBox) + 244u)
-Class QMap<int, QAbstractButton*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<int, QAbstractButton*>::<anonymous union> (0x65cac40) 0
-Class QMap<int, QAbstractButton*>
- size=4 align=4
- base size=4 base align=4
-QMap<int, QAbstractButton*> (0x65cab00) 0
Vtable for Q3ButtonGroup
Q3ButtonGroup::_ZTV13Q3ButtonGroup: 68u entries
@@ -20280,25 +19039,9 @@ Q3DockWindow (0x6781b40) 0
QPaintDevice (0x6781c80) 8
vptr=((&Q3DockWindow::_ZTV12Q3DockWindow) + 312u)
-Class QList<QRect>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QRect>::<anonymous union> (0x67cadc0) 0
-Class QList<QRect>
- size=4 align=4
- base size=4 base align=4
-QList<QRect> (0x4215800) 0
-Class QList<Q3DockWindow*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<Q3DockWindow*>::<anonymous union> (0x6801040) 0
-Class QList<Q3DockWindow*>
- size=4 align=4
- base size=4 base align=4
-QList<Q3DockWindow*> (0x67ca9c0) 0
Vtable for Q3DockAreaLayout
Q3DockAreaLayout::_ZTV16Q3DockAreaLayout: 48u entries
@@ -20363,10 +19106,6 @@ Q3DockAreaLayout (0x67819c0) 0
QLayoutItem (0x67ca940) 8
vptr=((&Q3DockAreaLayout::_ZTV16Q3DockAreaLayout) + 128u)
-Class QPointer<Q3DockArea>
- size=4 align=4
- base size=4 base align=4
-QPointer<Q3DockArea> (0x684a7c0) 0
Class Q3DockArea::DockWindowData
size=24 align=4
@@ -21460,193 +20199,41 @@ Q3WidgetStack (0x69fa140) 0
QPaintDevice (0x69fa280) 8
vptr=((&Q3WidgetStack::_ZTV13Q3WidgetStack) + 256u)
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0x13be100) 0
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0x158bd40) 0
-Class QTypeInfo<QDebug::Stream*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDebug::Stream*> (0x6c25c00) 0 empty
-Class QList<QTreeWidgetItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::Node (0x3d44600) 0
-Class QVectorTypedData<QVector<QWidgetItemData> >
- size=20 align=4
- base size=20 base align=4
-QVectorTypedData<QVector<QWidgetItemData> > (0x3d443c0) 0
-Class QVectorTypedData<QPoint>
- size=24 align=4
- base size=24 base align=4
-QVectorTypedData<QPoint> (0x3fec980) 0
-Class QVectorTypedData<QPointF>
- size=32 align=8
- base size=32 base align=8
-QVectorTypedData<QPointF> (0x4020d80) 0
-Class QVectorTypedData<QLineF>
- size=48 align=8
- base size=48 base align=8
-QVectorTypedData<QLineF> (0x41d22c0) 0
-Class QVectorTypedData<QLine>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QLine> (0x41d2640) 0
-Class QVectorTypedData<QRectF>
- size=48 align=8
- base size=48 base align=8
-QVectorTypedData<QRectF> (0x4215300) 0
-Class QVectorTypedData<QRect>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QRect> (0x4215680) 0
-Class QVectorTypedData<QPainterPath::Element>
- size=40 align=8
- base size=40 base align=8
-QVectorTypedData<QPainterPath::Element> (0x43a6940) 0
-Class QVectorTypedData<QTextLength>
- size=32 align=8
- base size=32 base align=8
-QVectorTypedData<QTextLength> (0x4591a00) 0
-Class QVectorTypedData<QTextLayout::FormatRange>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QTextLayout::FormatRange> (0x46ec040) 0
-Class QVectorTypedData<QAbstractTextDocumentLayout::Selection>
- size=28 align=4
- base size=28 base align=4
-QVectorTypedData<QAbstractTextDocumentLayout::Selection> (0x4795500) 0
-Class QList<QAction*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QAction*>::Node (0x32fbf80) 0
-Class QLinkedListNode<Q3SqlFieldInfo>
- size=56 align=8
- base size=56 base align=8
-QLinkedListNode<Q3SqlFieldInfo> (0x5fe5b00) 0
-Class QHashNode<QVariant::Type, QItemEditorCreatorBase*>
- size=16 align=4
- base size=16 base align=4
-QHashNode<QVariant::Type, QItemEditorCreatorBase*> (0x3a95500) 0
-Class QTypeInfo<QTreeWidgetItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTreeWidgetItem*> (0x71e0980) 0 empty
-Class QTypeInfo<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLength> (0x721d780) 0 empty
-Class QTypeInfo<QTextLayout::FormatRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLayout::FormatRange> (0x721d940) 0 empty
-Class QTypeInfo<QAbstractTextDocumentLayout::Selection>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAbstractTextDocumentLayout::Selection> (0x721de80) 0 empty
-Class QTypeInfo<QAction*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAction*> (0x724b540) 0 empty
-Class QTypeInfo<Q3TextEditOptimPrivate::Tag*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<Q3TextEditOptimPrivate::Tag*> (0x7281540) 0 empty
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0x172d2c0) 0
-Class QList<QVariant>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::Node (0x1dd9500) 0
-Class QTypeInfo<QStyleOptionQ3ListViewItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QStyleOptionQ3ListViewItem> (0x72c73c0) 0 empty
-Class QList<QStyleOptionQ3ListViewItem>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::Node (0x37a81c0) 0
-Class QList<QItemSelectionRange>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::Node (0x392d380) 0
-Class QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union> (0x72c7b40) 0
-Class QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union> (0x72c7e00) 0
-Class QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union> (0x735b040) 0
-Class QMap<Key, T>::detach_helper() [with Key = int, T = Q3TextEditOptimPrivate::Tag*]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<Key, T>::detach_helper() [with Key = int, T = Q3TextEditOptimPrivate::Tag*]::<anonymous union> (0x735b880) 0
-Class QList<QRect>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QRect>::Node (0x67cad80) 0
-Class QTypeInfo<Q3DockWindow*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<Q3DockWindow*> (0x735bb40) 0 empty
-Class QList<Q3DockWindow*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<Q3DockWindow*>::Node (0x6801000) 0
-Class QLinkedList<T>::detach_helper() [with T = Q3SqlFieldInfo]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QLinkedList<T>::detach_helper() [with T = Q3SqlFieldInfo]::<anonymous union> (0x73d3080) 0
-Class QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union> (0x73d32c0) 0
diff --git a/tests/auto/bic/data/Qt3Support.4.2.0.linux-gcc-ia32.txt b/tests/auto/bic/data/Qt3Support.4.2.0.linux-gcc-ia32.txt
index d7d9332..a1323fd 100644
--- a/tests/auto/bic/data/Qt3Support.4.2.0.linux-gcc-ia32.txt
+++ b/tests/auto/bic/data/Qt3Support.4.2.0.linux-gcc-ia32.txt
@@ -1,34 +1,8 @@
-Class QUintForSize<4>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<4> (0xb7f99d80) 0 empty
-Class QUintForSize<8>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<8> (0xb7f99dc0) 0 empty
-Class QUintForType<void*>
- size=1 align=1
- base size=1 base align=1
-QUintForType<void*> (0xb7f99e80) 0 empty
- QUintForSize<4> (0xb7f99ec0) 0 empty
-Class QIntForSize<4>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<4> (0xb7f99f40) 0 empty
-Class QIntForSize<8>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<8> (0xb7f99f80) 0 empty
-Class QIntForType<void*>
- size=1 align=1
- base size=1 base align=1
-QIntForType<void*> (0xb78d2040) 0 empty
- QIntForSize<4> (0xb78d2080) 0 empty
Class QSysInfo
size=1 align=1
@@ -50,150 +24,38 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0xb78d2300) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0xb78d23c0) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0xb78d2400) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0xb78d2440) 0 empty
-Class QTypeInfo<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned char> (0xb78d2480) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0xb78d24c0) 0 empty
-Class QTypeInfo<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short unsigned int> (0xb78d2500) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0xb78d2540) 0 empty
-Class QTypeInfo<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned int> (0xb78d2580) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0xb78d25c0) 0 empty
-Class QTypeInfo<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long unsigned int> (0xb78d2600) 0 empty
-Class QTypeInfo<long long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long int> (0xb78d2640) 0 empty
-Class QTypeInfo<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long unsigned int> (0xb78d2680) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0xb78d26c0) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0xb78d2700) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0xb78d2740) 0 empty
Class QFlag
size=4 align=4
base size=4 base align=4
QFlag (0xb78d2780) 0
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0xb78d2880) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0xb78d28c0) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0xb78d2900) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0xb78d2940) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0xb78d2980) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0xb78d29c0) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0xb78d2a00) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0xb78d2a40) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0xb78d2a80) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0xb78d2ac0) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0xb78d2b00) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0xb78d2b40) 0
-Class QFlags<Qt::TextInteractionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::TextInteractionFlag> (0xb78d2b80) 0
Class QInternal
size=1 align=1
@@ -211,10 +73,6 @@ Class QGenericReturnArgument
QGenericReturnArgument (0xb78d2c40) 0
QGenericArgument (0xb78d2c80) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0xb78d2e40) 0
Class QMetaObject
size=16 align=4
@@ -231,10 +89,6 @@ Class QChar
base size=2 base align=2
QChar (0xb78d2f00) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0xb78d2f80) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -267,10 +121,6 @@ Class QByteRef
base size=8 base align=4
QByteRef (0xb5bd3280) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0xb5bd32c0) 0 empty
Class QString::Null
size=1 align=1
@@ -287,10 +137,6 @@ Class QString
base size=4 base align=4
QString (0xb5bd3300) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0xb5bd3480) 0
Class QLatin1String
size=4 align=4
@@ -308,10 +154,6 @@ Class QConstString
QConstString (0xb5bd3580) 0
QString (0xb5bd35c0) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0xb5bd3600) 0 empty
Vtable for std::exception
std::exception::_ZTVSt9exception: 5u entries
@@ -374,15 +216,7 @@ Class QListData
base size=4 base align=4
QListData (0xb5bd3900) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0xb5bd3c80) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0xb5bd3c00) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -474,10 +308,6 @@ QIODevice (0xb5bd3e00) 0
QObject (0xb5bd3e40) 0
primary-for QIODevice (0xb5bd3e00)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0xb5bd3f00) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -507,10 +337,6 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0xb5bd37c0) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0xb5bd3880) 0 empty
Class QMapData::Node
size=8 align=4
@@ -522,10 +348,6 @@ Class QMapData
base size=72 base align=4
QMapData (0xb577a580) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0xb577ab00) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -550,15 +372,7 @@ Class QTextCodec
QTextCodec (0xb577aa40) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0xb577ac40) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0xb577abc0) 0
Class QTextEncoder
size=32 align=4
@@ -570,30 +384,10 @@ Class QTextDecoder
base size=32 base align=4
QTextDecoder (0xb577acc0) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb577ad00) 0
-Class <anonymous struct>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct>::<anonymous union> (0xb577ad80) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb577ad40) 0
-Class <anonymous struct>
- size=12 align=4
- base size=12 base align=4
-<anonymous struct> (0xb577adc0) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb577ae00) 0
Class __gconv_trans_data
size=20 align=4
@@ -615,15 +409,7 @@ Class __gconv_info
base size=8 base align=4
__gconv_info (0xb577af00) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0xb577af80) 0
-Class <anonymous union>
- size=44 align=4
- base size=44 base align=4
-<anonymous union> (0xb577af40) 0
Class _IO_marker
size=12 align=4
@@ -635,10 +421,6 @@ Class _IO_FILE
base size=148 base align=4
_IO_FILE (0xb577a440) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb577a880) 0
Vtable for QTextStream
QTextStream::_ZTV11QTextStream: 4u entries
@@ -653,10 +435,6 @@ Class QTextStream
QTextStream (0xb577aac0) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0xb5503040) 0
Class QTextStreamManipulator
size=24 align=4
@@ -693,40 +471,16 @@ QTextOStream (0xb5503200) 0
QTextStream (0xb5503240) 0
primary-for QTextOStream (0xb5503200)
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0xb5503300) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0xb5503340) 0
Class wait
size=4 align=4
base size=4 base align=4
wait (0xb55032c0) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb5503380) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb55033c0) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb5503400) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb5503440) 0
Class timespec
size=8 align=4
@@ -738,80 +492,24 @@ Class timeval
base size=8 base align=4
timeval (0xb55034c0) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb5503500) 0
-Class <anonymous union>
- size=36 align=4
- base size=36 base align=4
-<anonymous union> (0xb5503540) 0
Class __pthread_internal_slist
size=4 align=4
base size=4 base align=4
__pthread_internal_slist (0xb5503580) 0
-Class <anonymous union>::__pthread_mutex_s::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union>::__pthread_mutex_s::<anonymous union> (0xb5503640) 0
-Class <anonymous union>::__pthread_mutex_s
- size=24 align=4
- base size=24 base align=4
-<anonymous union>::__pthread_mutex_s (0xb5503600) 0
-Class <anonymous union>
- size=24 align=4
- base size=24 base align=4
-<anonymous union> (0xb55035c0) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb5503680) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0xb5503700) 0
-Class <anonymous union>
- size=48 align=4
- base size=48 base align=4
-<anonymous union> (0xb55036c0) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb5503740) 0
-Class <anonymous union>::<anonymous struct>
- size=32 align=4
- base size=32 base align=4
-<anonymous union>::<anonymous struct> (0xb55037c0) 0
-Class <anonymous union>
- size=32 align=4
- base size=32 base align=4
-<anonymous union> (0xb5503780) 0
-Class <anonymous union>
- size=8 align=4
- base size=8 base align=4
-<anonymous union> (0xb5503800) 0
-Class <anonymous union>
- size=20 align=4
- base size=20 base align=4
-<anonymous union> (0xb5503840) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb5503880) 0
Class random_data
size=28 align=4
@@ -882,10 +580,6 @@ QFile (0xb5503d40) 0
QObject (0xb5503dc0) 0
primary-for QIODevice (0xb5503d80)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0xb5503e40) 0
Vtable for QTemporaryFile
QTemporaryFile::_ZTV14QTemporaryFile: 31u entries
@@ -938,50 +632,22 @@ Class QFileInfo
base size=4 base align=4
QFileInfo (0xb5503fc0) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0xb5503000) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0xb55031c0) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0xb5503e00) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0xb5503280) 0
Class QRegExp
size=4 align=4
base size=4 base align=4
QRegExp (0xb5503f80) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0xb52e3000) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0xb52e3040) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0xb52e3100) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0xb52e3080) 0
Class QStringList
size=4 align=4
@@ -989,30 +655,14 @@ Class QStringList
QStringList (0xb52e3140) 0
QList<QString> (0xb52e3180) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0xb52e3200) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0xb52e3240) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0xb52e3300) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0xb52e3380) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0xb52e3400) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -1069,10 +719,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0xb52e3440) 0
vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0xb52e35c0) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -1184,15 +830,7 @@ Class QLocale
base size=4 base align=4
QLocale (0xb52e3880) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0xb52e38c0) 0 empty
-Class QFlags<QLocale::NumberOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLocale::NumberOption> (0xb52e3900) 0
Vtable for QSystemLocale
QSystemLocale::_ZTV13QSystemLocale: 6u entries
@@ -1287,285 +925,65 @@ Class QUrl
base size=4 base align=4
QUrl (0xb52e3c00) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0xb52e3c80) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0xb52e3cc0) 0 empty
Class QMetaType
size=1 align=1
base size=0 base align=1
QMetaType (0xb52e3d00) 0 empty
-Class QMetaTypeId2<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QString> (0xb52e3dc0) 0 empty
-Class QMetaTypeId2<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<int> (0xb52e3e00) 0 empty
-Class QMetaTypeId2<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned int> (0xb52e3e40) 0 empty
-Class QMetaTypeId2<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<bool> (0xb52e3e80) 0 empty
-Class QMetaTypeId2<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<double> (0xb52e3ec0) 0 empty
-Class QMetaTypeId2<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QByteArray> (0xb52e3f00) 0 empty
-Class QMetaTypeId2<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QChar> (0xb52e3f40) 0 empty
-Class QMetaTypeId2<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long int> (0xb52e3f80) 0 empty
-Class QMetaTypeId2<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short int> (0xb52e3fc0) 0 empty
-Class QMetaTypeId2<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<char> (0xb52e3540) 0 empty
-Class QMetaTypeId2<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long unsigned int> (0xb52e3640) 0 empty
-Class QMetaTypeId2<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short unsigned int> (0xb52e3700) 0 empty
-Class QMetaTypeId2<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned char> (0xb52e3840) 0 empty
-Class QMetaTypeId2<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<float> (0xb52e3980) 0 empty
-Class QMetaTypeId2<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QObject*> (0xb52e3b00) 0 empty
-Class QMetaTypeId2<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QWidget*> (0xb52e3bc0) 0 empty
-Class QMetaTypeId2<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<void*> (0xb5256000) 0 empty
-Class QMetaTypeId2<long long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long int> (0xb5256040) 0 empty
-Class QMetaTypeId2<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long unsigned int> (0xb5256080) 0 empty
-Class QMetaTypeId2<QStringList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QStringList> (0xb52560c0) 0 empty
-Class QMetaTypeId2<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitArray> (0xb5256100) 0 empty
-Class QMetaTypeId2<QDate>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDate> (0xb5256140) 0 empty
-Class QMetaTypeId2<QTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTime> (0xb5256180) 0 empty
-Class QMetaTypeId2<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDateTime> (0xb52561c0) 0 empty
-Class QMetaTypeId2<QUrl>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QUrl> (0xb5256200) 0 empty
-Class QMetaTypeId2<QLocale>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLocale> (0xb5256240) 0 empty
-Class QMetaTypeId2<QRect>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRect> (0xb5256280) 0 empty
-Class QMetaTypeId2<QRectF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRectF> (0xb52562c0) 0 empty
-Class QMetaTypeId2<QSize>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSize> (0xb5256300) 0 empty
-Class QMetaTypeId2<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizeF> (0xb5256340) 0 empty
-Class QMetaTypeId2<QLine>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLine> (0xb5256380) 0 empty
-Class QMetaTypeId2<QLineF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLineF> (0xb52563c0) 0 empty
-Class QMetaTypeId2<QPoint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPoint> (0xb5256400) 0 empty
-Class QMetaTypeId2<QPointF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPointF> (0xb5256440) 0 empty
-Class QMetaTypeId2<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegExp> (0xb5256480) 0 empty
-Class QMetaTypeId2<QColorGroup>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColorGroup> (0xb52564c0) 0 empty
-Class QMetaTypeId2<QFont>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QFont> (0xb5256500) 0 empty
-Class QMetaTypeId2<QPixmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPixmap> (0xb5256540) 0 empty
-Class QMetaTypeId2<QBrush>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBrush> (0xb5256580) 0 empty
-Class QMetaTypeId2<QColor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColor> (0xb52565c0) 0 empty
-Class QMetaTypeId2<QPalette>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPalette> (0xb5256600) 0 empty
-Class QMetaTypeId2<QIcon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QIcon> (0xb5256640) 0 empty
-Class QMetaTypeId2<QImage>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QImage> (0xb5256680) 0 empty
-Class QMetaTypeId2<QPolygon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPolygon> (0xb52566c0) 0 empty
-Class QMetaTypeId2<QRegion>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegion> (0xb5256700) 0 empty
-Class QMetaTypeId2<QBitmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitmap> (0xb5256740) 0 empty
-Class QMetaTypeId2<QCursor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QCursor> (0xb5256780) 0 empty
-Class QMetaTypeId2<QSizePolicy>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizePolicy> (0xb52567c0) 0 empty
-Class QMetaTypeId2<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QKeySequence> (0xb5256800) 0 empty
-Class QMetaTypeId2<QPen>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPen> (0xb5256840) 0 empty
-Class QMetaTypeId2<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextLength> (0xb5256880) 0 empty
-Class QMetaTypeId2<QTextFormat>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextFormat> (0xb52568c0) 0 empty
-Class QMetaTypeId2<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMatrix> (0xb5256900) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -1592,45 +1010,17 @@ Class QVariant
base size=12 base align=4
QVariant (0xb5256940) 0
-Class QMetaTypeId2<QList<QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QList<QVariant> > (0xb5256b80) 0 empty
-Class QMetaTypeId2<QMap<QString, QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMap<QString, QVariant> > (0xb5256bc0) 0 empty
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0xb5256cc0) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0xb5256c40) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0xb5256dc0) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0xb5256d40) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0xb5256e80) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0xb5256f00) 0 empty
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1662,80 +1052,48 @@ Class QPoint
base size=8 base align=4
QPoint (0xb5256b40) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0xb5256a80) 0 empty
Class QPointF
size=16 align=4
base size=16 base align=4
QPointF (0xb5256e40) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0xb5256fc0) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0xb516f000) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0xb516f040) 0 empty
Class QLineF
size=32 align=4
base size=32 base align=4
QLineF (0xb516f080) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0xb516f0c0) 0 empty
Class QSize
size=8 align=4
base size=8 base align=4
QSize (0xb516f100) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0xb516f300) 0 empty
Class QSizeF
size=16 align=4
base size=16 base align=4
QSizeF (0xb516f380) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0xb516f580) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0xb516f640) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0xb516f740) 0 empty
Class QRectF
size=32 align=4
base size=32 base align=4
QRectF (0xb516f780) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0xb516f840) 0 empty
Class QLinkedListData
size=20 align=4
@@ -1752,10 +1110,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0xb516fc00) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0xb516fc40) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -1772,30 +1126,18 @@ Class QDate
base size=4 base align=4
QDate (0xb516fec0) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0xb516ff80) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0xb516ffc0) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0xb516f1c0) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0xb516f200) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0xb516f2c0) 0 empty
Vtable for QTimeLine
QTimeLine::_ZTV9QTimeLine: 15u entries
@@ -1981,10 +1323,6 @@ QEventLoop (0xb4de5040) 0
QObject (0xb4de5080) 0
primary-for QEventLoop (0xb4de5040)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0xb4de5180) 0
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -2091,20 +1429,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0xb4de5680) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0xb4de56c0) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0xb4de5700) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0xb4de5780) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -2324,10 +1654,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0xb4de5c00) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0xb4de5c40) 0 empty
Vtable for QSocketNotifier
QSocketNotifier::_ZTV15QSocketNotifier: 14u entries
@@ -2422,20 +1748,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0xb4de5ec0) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0xb4de5f00) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0xb4de5f40) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0xb4de5f80) 0 empty
Class QMetaProperty
size=20 align=4
@@ -2447,10 +1765,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0xb4de5000) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0xb4de5100) 0 empty
Vtable for QPluginLoader
QPluginLoader::_ZTV13QPluginLoader: 14u entries
@@ -2507,10 +1821,6 @@ QLibrary (0xb4de5440) 0
QObject (0xb4de5500) 0
primary-for QLibrary (0xb4de5440)
-Class QFlags<QLibrary::LoadHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLibrary::LoadHint> (0xb4de5600) 0
Class QSemaphore
size=4 align=4
@@ -2558,10 +1868,6 @@ Class QMutex
base size=4 base align=4
QMutex (0xb4de5bc0) 0
-Class QMutexLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMutexLocker::<anonymous union> (0xb4de5dc0) 0
Class QMutexLocker
size=4 align=4
@@ -2573,45 +1879,21 @@ Class QReadWriteLock
base size=4 base align=4
QReadWriteLock (0xb4de5e80) 0
-Class QReadLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QReadLocker::<anonymous union> (0xb4d56040) 0
Class QReadLocker
size=4 align=4
base size=4 base align=4
QReadLocker (0xb4d56000) 0
-Class QWriteLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QWriteLocker::<anonymous union> (0xb4d560c0) 0
Class QWriteLocker
size=4 align=4
base size=4 base align=4
QWriteLocker (0xb4d56080) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0xb4d56180) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0xb4d561c0) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0xb4d56200) 0
-Class QColor::<anonymous union>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union> (0xb4d56140) 0
Class QColor
size=16 align=4
@@ -2628,20 +1910,8 @@ Class QPen
base size=4 base align=4
QPen (0xb4d563c0) 0
-Class QTypeInfo<QPen>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPen> (0xb4d56480) 0 empty
-Class QVector<QPoint>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint>::<anonymous union> (0xb4d56540) 0
-Class QVector<QPoint>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint> (0xb4d564c0) 0
Class QPolygon
size=4 align=4
@@ -2649,15 +1919,7 @@ Class QPolygon
QPolygon (0xb4d56580) 0
QVector<QPoint> (0xb4d565c0) 0
-Class QVector<QPointF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF>::<anonymous union> (0xb4d56680) 0
-Class QVector<QPointF>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF> (0xb4d56600) 0
Class QPolygonF
size=4 align=4
@@ -2680,10 +1942,6 @@ Class QMatrix
base size=48 base align=4
QMatrix (0xb4d56880) 0
-Class QTypeInfo<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMatrix> (0xb4d568c0) 0 empty
Vtable for QPaintDevice
QPaintDevice::_ZTV12QPaintDevice: 7u entries
@@ -2724,10 +1982,6 @@ QImage (0xb4d56a40) 0
QPaintDevice (0xb4d56a80) 0
primary-for QImage (0xb4d56a40)
-Class QTypeInfo<QImage>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QImage> (0xb4d56bc0) 0 empty
Vtable for QPixmap
QPixmap::_ZTV7QPixmap: 7u entries
@@ -2752,45 +2006,17 @@ Class QBrush
base size=4 base align=4
QBrush (0xb4d56d80) 0
-Class QTypeInfo<QBrush>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBrush> (0xb4d56dc0) 0 empty
Class QBrushData
size=72 align=4
base size=72 base align=4
QBrushData (0xb4d56e00) 0
-Class QVector<QPair<double, QColor> >::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPair<double, QColor> >::<anonymous union> (0xb4d56f40) 0
-Class QVector<QPair<double, QColor> >
- size=4 align=4
- base size=4 base align=4
-QVector<QPair<double, QColor> > (0xb4d56ec0) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=32 align=4
- base size=32 base align=4
-QGradient::<anonymous union>::<anonymous struct> (0xb4d56fc0) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=40 align=4
- base size=40 base align=4
-QGradient::<anonymous union>::<anonymous struct> (0xb4d56240) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=24 align=4
- base size=24 base align=4
-QGradient::<anonymous union>::<anonymous struct> (0xb4d56280) 0
-Class QGradient::<anonymous union>
- size=40 align=4
- base size=40 base align=4
-QGradient::<anonymous union> (0xb4d56f80) 0
Class QGradient
size=56 align=4
@@ -2820,30 +2046,14 @@ Class QTextLength
base size=12 base align=4
QTextLength (0xb4d56800) 0
-Class QSharedDataPointer<QTextFormatPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextFormatPrivate> (0xb4d56b00) 0
Class QTextFormat
size=8 align=4
base size=8 base align=4
QTextFormat (0xb4d56980) 0
-Class QVector<QTextLength>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength>::<anonymous union> (0xb4d56cc0) 0
-Class QVector<QTextLength>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength> (0xb4d56b40) 0
-Class QFlags<QTextFormat::PageBreakFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextFormat::PageBreakFlag> (0xb4d56d00) 0
Class QTextCharFormat
size=8 align=4
@@ -2983,10 +2193,6 @@ QTextFrame (0xb4b33580) 0
QObject (0xb4b33600) 0
primary-for QTextObject (0xb4b335c0)
-Class QTypeInfo<QTextFrame::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFrame::iterator> (0xb4b33740) 0 empty
Vtable for QTextBlockUserData
QTextBlockUserData::_ZTV18QTextBlockUserData: 4u entries
@@ -3011,25 +2217,13 @@ Class QTextBlock
base size=8 base align=4
QTextBlock (0xb4b33800) 0
-Class QTypeInfo<QTextBlock>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock> (0xb4b33880) 0 empty
-Class QTypeInfo<QTextBlock::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock::iterator> (0xb4b338c0) 0 empty
Class QTextFragment
size=12 align=4
base size=12 base align=4
QTextFragment (0xb4b33900) 0
-Class QTypeInfo<QTextFragment>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFragment> (0xb4b33940) 0 empty
Class QFontMetrics
size=4 align=4
@@ -3089,20 +2283,12 @@ QTextDocument (0xb4b33b00) 0
QObject (0xb4b33b40) 0
primary-for QTextDocument (0xb4b33b00)
-Class QFlags<QTextDocument::FindFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextDocument::FindFlag> (0xb4b33bc0) 0
Class QTextOption
size=24 align=4
base size=24 base align=4
QTextOption (0xb4b33c00) 0
-Class QFlags<QTextOption::Flag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextOption::Flag> (0xb4b33c40) 0
Class QTextTableCell
size=8 align=4
@@ -3143,10 +2329,6 @@ Class QKeySequence
base size=4 base align=4
QKeySequence (0xb4b33e80) 0
-Class QTypeInfo<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QKeySequence> (0xb4b33f40) 0 empty
Vtable for QMimeSource
QMimeSource::_ZTV11QMimeSource: 7u entries
@@ -3444,15 +2626,7 @@ Class QInputMethodEvent::Attribute
base size=24 base align=4
QInputMethodEvent::Attribute (0xb48b4c00) 0
-Class QList<QInputMethodEvent::Attribute>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute>::<anonymous union> (0xb48b4d00) 0
-Class QList<QInputMethodEvent::Attribute>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute> (0xb48b4c80) 0
Vtable for QInputMethodEvent
QInputMethodEvent::_ZTV17QInputMethodEvent: 4u entries
@@ -3751,15 +2925,7 @@ Class QTextLayout
base size=4 base align=4
QTextLayout (0xb4948480) 0
-Class QVector<QTextLayout::FormatRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange>::<anonymous union> (0xb4948600) 0
-Class QVector<QTextLayout::FormatRange>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange> (0xb4948580) 0
Class QTextLine
size=8 align=4
@@ -3808,10 +2974,6 @@ Class QTextDocumentFragment
base size=4 base align=4
QTextDocumentFragment (0xb4948880) 0
-Class QSharedDataPointer<QTextCursorPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextCursorPrivate> (0xb4948940) 0
Class QTextCursor
size=4 align=4
@@ -3834,15 +2996,7 @@ Class QAbstractTextDocumentLayout::Selection
base size=12 base align=4
QAbstractTextDocumentLayout::Selection (0xb4948b40) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union> (0xb4948c80) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection> (0xb4948c00) 0
Class QAbstractTextDocumentLayout::PaintContext
size=48 align=4
@@ -4206,10 +3360,6 @@ Class QItemSelectionRange
base size=8 base align=4
QItemSelectionRange (0xb4948f80) 0
-Class QTypeInfo<QItemSelectionRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QItemSelectionRange> (0xb4753040) 0 empty
Vtable for QItemSelectionModel
QItemSelectionModel::_ZTV19QItemSelectionModel: 18u entries
@@ -4240,20 +3390,8 @@ QItemSelectionModel (0xb4753080) 0
QObject (0xb47530c0) 0
primary-for QItemSelectionModel (0xb4753080)
-Class QFlags<QItemSelectionModel::SelectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QItemSelectionModel::SelectionFlag> (0xb4753140) 0
-Class QList<QItemSelectionRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::<anonymous union> (0xb4753200) 0
-Class QList<QItemSelectionRange>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange> (0xb4753180) 0
Class QItemSelection
size=4 align=4
@@ -4460,20 +3598,12 @@ QAbstractSpinBox (0xb4753680) 0
QPaintDevice (0xb4753740) 8
vptr=((& QAbstractSpinBox::_ZTV16QAbstractSpinBox) + 252u)
-Class QFlags<QAbstractSpinBox::StepEnabledFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractSpinBox::StepEnabledFlag> (0xb4753800) 0
Class QIcon
size=4 align=4
base size=4 base align=4
QIcon (0xb4753840) 0
-Class QTypeInfo<QIcon>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QIcon> (0xb4753900) 0 empty
Vtable for QAbstractSlider
QAbstractSlider::_ZTV15QAbstractSlider: 64u entries
@@ -4681,15 +3811,7 @@ QStyle (0xb4753c40) 0
QObject (0xb4753c80) 0
primary-for QStyle (0xb4753c40)
-Class QFlags<QStyle::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::StateFlag> (0xb4753d40) 0
-Class QFlags<QStyle::SubControl>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::SubControl> (0xb4753d80) 0
Vtable for QTabBar
QTabBar::_ZTV7QTabBar: 67u entries
@@ -4948,10 +4070,6 @@ Class QStyleOptionFrame
QStyleOptionFrame (0xb4753c00) 0
QStyleOption (0xb4753bc0) 0
-Class QFlags<QStyleOptionFrameV2::FrameFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionFrameV2::FrameFeature> (0xb44cc080) 0
Class QStyleOptionFrameV2
size=56 align=4
@@ -4978,10 +4096,6 @@ Class QStyleOptionHeader
QStyleOptionHeader (0xb44cc300) 0
QStyleOption (0xb44cc340) 0
-Class QFlags<QStyleOptionButton::ButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionButton::ButtonFeature> (0xb44cc4c0) 0
Class QStyleOptionButton
size=64 align=4
@@ -4989,10 +4103,6 @@ Class QStyleOptionButton
QStyleOptionButton (0xb44cc400) 0
QStyleOption (0xb44cc440) 0
-Class QFlags<QStyleOptionTab::CornerWidget>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionTab::CornerWidget> (0xb44cc640) 0
Class QStyleOptionTab
size=72 align=4
@@ -5007,10 +4117,6 @@ QStyleOptionTabV2 (0xb44cc6c0) 0
QStyleOptionTab (0xb44cc700) 0
QStyleOption (0xb44cc740) 0
-Class QFlags<QStyleOptionToolBar::ToolBarFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionToolBar::ToolBarFeature> (0xb44cc8c0) 0
Class QStyleOptionToolBar
size=68 align=4
@@ -5037,10 +4143,6 @@ Class QStyleOptionMenuItem
QStyleOptionMenuItem (0xb44ccb00) 0
QStyleOption (0xb44ccb40) 0
-Class QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature> (0xb44ccc80) 0
Class QStyleOptionQ3ListViewItem
size=64 align=4
@@ -5066,10 +4168,6 @@ Class QStyleOptionViewItem
QStyleOptionViewItem (0xb44cce80) 0
QStyleOption (0xb44ccec0) 0
-Class QFlags<QStyleOptionViewItemV2::ViewItemFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionViewItemV2::ViewItemFeature> (0xb44cc040) 0
Class QStyleOptionViewItemV2
size=84 align=4
@@ -5110,15 +4208,7 @@ QStyleOptionSpinBox (0xb44ccc40) 0
QStyleOptionComplex (0xb44cccc0) 0
QStyleOption (0xb44ccd80) 0
-Class QList<QStyleOptionQ3ListViewItem>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::<anonymous union> (0xb43d1100) 0
-Class QList<QStyleOptionQ3ListViewItem>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem> (0xb43d1080) 0
Class QStyleOptionQ3ListView
size=84 align=4
@@ -5127,10 +4217,6 @@ QStyleOptionQ3ListView (0xb44cce40) 0
QStyleOptionComplex (0xb44ccf00) 0
QStyleOption (0xb43d1000) 0
-Class QFlags<QStyleOptionToolButton::ToolButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionToolButton::ToolButtonFeature> (0xb43d12c0) 0
Class QStyleOptionToolButton
size=96 align=4
@@ -5338,10 +4424,6 @@ QAbstractItemView (0xb43d1a00) 0
QPaintDevice (0xb43d1b40) 8
vptr=((& QAbstractItemView::_ZTV17QAbstractItemView) + 392u)
-Class QFlags<QAbstractItemView::EditTrigger>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractItemView::EditTrigger> (0xb43d1c00) 0
Vtable for QListView
QListView::_ZTV9QListView: 103u entries
@@ -6106,10 +5188,6 @@ QMessageBox (0xb42d4580) 0
QPaintDevice (0xb42d4680) 8
vptr=((& QMessageBox::_ZTV11QMessageBox) + 244u)
-Class QFlags<QMessageBox::StandardButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<QMessageBox::StandardButton> (0xb42d4740) 0
Vtable for QProgressDialog
QProgressDialog::_ZTV15QProgressDialog: 66u entries
@@ -6360,10 +5438,6 @@ QFileDialog (0xb42d4a80) 0
QPaintDevice (0xb42d4b80) 8
vptr=((& QFileDialog::_ZTV11QFileDialog) + 244u)
-Class QFlags<QFileDialog::Option>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileDialog::Option> (0xb42d4c40) 0
Vtable for QAbstractPrintDialog
QAbstractPrintDialog::_ZTV20QAbstractPrintDialog: 67u entries
@@ -6449,10 +5523,6 @@ QAbstractPrintDialog (0xb42d4c80) 0
QPaintDevice (0xb42d4d80) 8
vptr=((& QAbstractPrintDialog::_ZTV20QAbstractPrintDialog) + 248u)
-Class QFlags<QAbstractPrintDialog::PrintDialogOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractPrintDialog::PrintDialogOption> (0xb42d4e40) 0
Vtable for QPrintDialog
QPrintDialog::_ZTV12QPrintDialog: 67u entries
@@ -6874,10 +5944,6 @@ QImageIOPlugin (0xb41b43c0) 0
QFactoryInterface (0xb41b4480) 8 nearly-empty
primary-for QImageIOHandlerFactoryInterface (0xb41b4440)
-Class QFlags<QImageIOPlugin::Capability>
- size=4 align=4
- base size=4 base align=4
-QFlags<QImageIOPlugin::Capability> (0xb41b4500) 0
Vtable for QPicture
QPicture::_ZTV8QPicture: 8u entries
@@ -7225,50 +6291,14 @@ Class QPainter
base size=4 base align=4
QPainter (0xb41b45c0) 0
-Class QFlags<QPainter::RenderHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPainter::RenderHint> (0xb41b47c0) 0
-Class QVector<QLineF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF>::<anonymous union> (0xb41b4b80) 0
-Class QVector<QLineF>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF> (0xb41b4a00) 0
-Class QVector<QLine>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine>::<anonymous union> (0xb4126040) 0
-Class QVector<QLine>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine> (0xb41b4e40) 0
-Class QVector<QRectF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF>::<anonymous union> (0xb4126140) 0
-Class QVector<QRectF>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF> (0xb41260c0) 0
-Class QVector<QRect>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect>::<anonymous union> (0xb4126240) 0
-Class QVector<QRect>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect> (0xb41261c0) 0
Class QStylePainter
size=12 align=4
@@ -7286,25 +6316,13 @@ Class QPainterPath
base size=4 base align=4
QPainterPath (0xb4126340) 0
-Class QVector<QPainterPath::Element>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element>::<anonymous union> (0xb41265c0) 0
-Class QVector<QPainterPath::Element>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element> (0xb4126540) 0
Class QPainterPathPrivate
size=8 align=4
base size=8 base align=4
QPainterPathPrivate (0xb4126440) 0
-Class QTypeInfo<QPainterPath::Element>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPainterPath::Element> (0xb4126600) 0 empty
Class QPainterPathStroker
size=4 align=4
@@ -7316,15 +6334,7 @@ Class QTextItem
base size=0 base align=1
QTextItem (0xb4126700) 0 empty
-Class QTypeInfo<QTextItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextItem> (0xb4126740) 0 empty
-Class QFlags<QPaintEngine::PaintEngineFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::PaintEngineFeature> (0xb4126800) 0
Vtable for QPaintEngine
QPaintEngine::_ZTV12QPaintEngine: 24u entries
@@ -7359,25 +6369,13 @@ Class QPaintEngine
QPaintEngine (0xb4126780) 0
vptr=((& QPaintEngine::_ZTV12QPaintEngine) + 8u)
-Class QFlags<QPaintEngine::DirtyFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::DirtyFlag> (0xb4126900) 0
Class QPaintEngineState
size=4 align=4
base size=4 base align=4
QPaintEngineState (0xb4126880) 0
-Class QFlags<QTextItem::RenderFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextItem::RenderFlag> (0xb4126940) 0
-Class QFlags<QTreeWidgetItemIterator::IteratorFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTreeWidgetItemIterator::IteratorFlag> (0xb4126a00) 0
Class QTreeWidgetItemIterator
size=12 align=4
@@ -7467,15 +6465,7 @@ QStringListModel (0xb4126b00) 0
QObject (0xb4126bc0) 0
primary-for QAbstractItemModel (0xb4126b80)
-Class QVector<QWidgetItemData>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData>::<anonymous union> (0xb4126d40) 0
-Class QVector<QWidgetItemData>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData> (0xb4126cc0) 0
Vtable for QListWidgetItem
QListWidgetItem::_ZTV15QListWidgetItem: 11u entries
@@ -7718,15 +6708,7 @@ Class QStandardItem
QStandardItem (0xb4126d80) 0
vptr=((& QStandardItem::_ZTV13QStandardItem) + 8u)
-Class QList<QStandardItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QStandardItem*>::<anonymous union> (0xb3f18180) 0
-Class QList<QStandardItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QStandardItem*> (0xb3f18100) 0
Vtable for QStandardItemModel
QStandardItemModel::_ZTV18QStandardItemModel: 42u entries
@@ -8547,15 +7529,7 @@ Class QItemEditorCreatorBase
QItemEditorCreatorBase (0xb3f18000) 0 nearly-empty
vptr=((& QItemEditorCreatorBase::_ZTV22QItemEditorCreatorBase) + 8u)
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union> (0xb3f18dc0) 0
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*> (0xb3f18ac0) 0
Vtable for QItemEditorFactory
QItemEditorFactory::_ZTV18QItemEditorFactory: 6u entries
@@ -8572,25 +7546,9 @@ Class QItemEditorFactory
QItemEditorFactory (0xb3f18880) 0
vptr=((& QItemEditorFactory::_ZTV18QItemEditorFactory) + 8u)
-Class QVector<QVector<QWidgetItemData> >::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> >::<anonymous union> (0xb3c88100) 0
-Class QVector<QVector<QWidgetItemData> >
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> > (0xb3c88080) 0
-Class QList<QTreeWidgetItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::<anonymous union> (0xb3c88200) 0
-Class QList<QTreeWidgetItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*> (0xb3c88180) 0
Vtable for QTreeWidgetItem
QTreeWidgetItem::_ZTV15QTreeWidgetItem: 10u entries
@@ -8817,15 +7775,7 @@ Class QAccessible
base size=0 base align=1
QAccessible (0xb3c88800) 0 empty
-Class QFlags<QAccessible::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::StateFlag> (0xb3c88880) 0
-Class QFlags<QAccessible::RelationFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::RelationFlag> (0xb3c888c0) 0
Vtable for QAccessibleInterface
QAccessibleInterface::_ZTV20QAccessibleInterface: 19u entries
@@ -9778,15 +8728,7 @@ QActionGroup (0xb3b79f80) 0
QObject (0xb3b79fc0) 0
primary-for QActionGroup (0xb3b79f80)
-Class QList<QAction*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QAction*>::<anonymous union> (0xb3b79380) 0
-Class QList<QAction*>
- size=4 align=4
- base size=4 base align=4
-QList<QAction*> (0xb3b79180) 0
Vtable for QSound
QSound::_ZTV6QSound: 14u entries
@@ -9956,10 +8898,6 @@ QCommonStyle (0xb3b79f40) 0
QObject (0xb3ad0040) 0
primary-for QStyle (0xb3ad0000)
-Class QPointer<QFocusFrame>
- size=4 align=4
- base size=4 base align=4
-QPointer<QFocusFrame> (0xb3ad0200) 0
Vtable for QMotifStyle
QMotifStyle::_ZTV11QMotifStyle: 35u entries
@@ -10481,15 +9419,7 @@ Class QGraphicsItem
QGraphicsItem (0xb3ad0fc0) 0
vptr=((& QGraphicsItem::_ZTV13QGraphicsItem) + 8u)
-Class QFlags<QGraphicsItem::GraphicsItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGraphicsItem::GraphicsItemFlag> (0xb3ad0080) 0
-Class QMetaTypeId<QGraphicsItem*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QGraphicsItem*> (0xb3ad01c0) 0 empty
Vtable for QAbstractGraphicsShapeItem
QAbstractGraphicsShapeItem::_ZTV26QAbstractGraphicsShapeItem: 39u entries
@@ -11262,20 +10192,8 @@ QGraphicsView (0xb39b9880) 0
QPaintDevice (0xb39b99c0) 8
vptr=((& QGraphicsView::_ZTV13QGraphicsView) + 252u)
-Class QFlags<QGraphicsView::CacheModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGraphicsView::CacheModeFlag> (0xb39b9a40) 0
-Class QList<QGraphicsItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QGraphicsItem*>::<anonymous union> (0xb39b9b00) 0
-Class QList<QGraphicsItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QGraphicsItem*> (0xb39b9a80) 0
Vtable for QGraphicsSceneEvent
QGraphicsSceneEvent::_ZTV19QGraphicsSceneEvent: 4u entries
@@ -12527,10 +11445,6 @@ QDateEdit (0xb38c8080) 0
QPaintDevice (0xb38c86c0) 8
vptr=((& QDateEdit::_ZTV9QDateEdit) + 260u)
-Class QFlags<QDateTimeEdit::Section>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDateTimeEdit::Section> (0xb38c8840) 0
Vtable for QLabel
QLabel::_ZTV6QLabel: 63u entries
@@ -12690,10 +11604,6 @@ QDockWidget (0xb37f9040) 0
QPaintDevice (0xb37f9100) 8
vptr=((& QDockWidget::_ZTV11QDockWidget) + 232u)
-Class QFlags<QDockWidget::DockWidgetFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDockWidget::DockWidgetFeature> (0xb37f91c0) 0
Vtable for QGroupBox
QGroupBox::_ZTV9QGroupBox: 63u entries
@@ -12851,10 +11761,6 @@ QDialogButtonBox (0xb37f9340) 0
QPaintDevice (0xb37f9400) 8
vptr=((& QDialogButtonBox::_ZTV16QDialogButtonBox) + 232u)
-Class QFlags<QDialogButtonBox::StandardButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDialogButtonBox::StandardButton> (0xb37f9480) 0
Vtable for QMainWindow
QMainWindow::_ZTV11QMainWindow: 64u entries
@@ -13028,10 +11934,6 @@ QTextEdit (0xb37f9600) 0
QPaintDevice (0xb37f9740) 8
vptr=((& QTextEdit::_ZTV9QTextEdit) + 256u)
-Class QFlags<QTextEdit::AutoFormattingFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextEdit::AutoFormattingFlag> (0xb37f9840) 0
Vtable for QProgressBar
QProgressBar::_ZTV12QProgressBar: 64u entries
@@ -14034,10 +12936,6 @@ QFontComboBox (0xb3773600) 0
QPaintDevice (0xb3773700) 8
vptr=((& QFontComboBox::_ZTV13QFontComboBox) + 240u)
-Class QFlags<QFontComboBox::FontFilter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFontComboBox::FontFilter> (0xb3773780) 0
Vtable for QToolBar
QToolBar::_ZTV8QToolBar: 63u entries
@@ -14577,20 +13475,12 @@ Class QNetworkAddressEntry
base size=4 base align=4
QNetworkAddressEntry (0xb3773e80) 0
-Class QSharedDataPointer<QNetworkInterfacePrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QNetworkInterfacePrivate> (0xb3773fc0) 0
Class QNetworkInterface
size=4 align=4
base size=4 base align=4
QNetworkInterface (0xb3773f00) 0
-Class QFlags<QNetworkInterface::InterfaceFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QNetworkInterface::InterfaceFlag> (0xb34e3000) 0
Class QHostInfo
size=4 align=4
@@ -14724,10 +13614,6 @@ QUdpSocket (0xb34e3340) 0
QObject (0xb34e3400) 0
primary-for QIODevice (0xb34e33c0)
-Class QFlags<QUdpSocket::BindFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUdpSocket::BindFlag> (0xb34e3480) 0
Vtable for QTcpSocket
QTcpSocket::_ZTV10QTcpSocket: 30u entries
@@ -14779,15 +13665,7 @@ Class QSqlRecord
base size=4 base align=4
QSqlRecord (0xb34e3600) 0
-Class QList<bool>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<bool>::<anonymous union> (0xb34e3780) 0
-Class QList<bool>
- size=4 align=4
- base size=4 base align=4
-QList<bool> (0xb34e3700) 0
Class QSqlIndex
size=16 align=4
@@ -14795,10 +13673,6 @@ Class QSqlIndex
QSqlIndex (0xb34e3640) 0
QSqlRecord (0xb34e3680) 0
-Class QFlags<QSql::ParamTypeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QSql::ParamTypeFlag> (0xb34e37c0) 0
Vtable for QSqlResult
QSqlResult::_ZTV10QSqlResult: 29u entries
@@ -15475,29 +14349,7 @@ Q3GVector (0xb3445380) 0
Q3PtrCollection (0xb34453c0) 0
primary-for Q3GVector (0xb3445380)
-Vtable for Q3PtrVector<void>
-Q3PtrVector<void>::_ZTV11Q3PtrVectorIvE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI11Q3PtrVectorIvE)
-8 Q3PtrVector<type>::count [with type = void]
-12 Q3PtrVector<type>::clear [with type = void]
-16 Q3PtrVector<type>::~Q3PtrVector [with type = void]
-20 Q3PtrVector<type>::~Q3PtrVector [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3PtrVector<type>::deleteItem [with type = void]
-32 Q3GVector::compareItems
-36 Q3GVector::read
-40 Q3GVector::write
-Class Q3PtrVector<void>
- size=20 align=4
- base size=20 base align=4
-Q3PtrVector<void> (0xb3445500) 0
- vptr=((& Q3PtrVector<void>::_ZTV11Q3PtrVectorIvE) + 8u)
- Q3GVector (0xb3445540) 0
- primary-for Q3PtrVector<void> (0xb3445500)
- Q3PtrCollection (0xb3445580) 0
- primary-for Q3GVector (0xb3445540)
Vtable for Q3Header
Q3Header::_ZTV8Q3Header: 76u entries
@@ -15654,29 +14506,7 @@ Class Q3GListStdIterator
base size=4 base align=4
Q3GListStdIterator (0xb3445a80) 0
-Vtable for Q3PtrList<void>
-Q3PtrList<void>::_ZTV9Q3PtrListIvE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI9Q3PtrListIvE)
-8 Q3PtrList<type>::count [with type = void]
-12 Q3PtrList<type>::clear [with type = void]
-16 Q3PtrList<type>::~Q3PtrList [with type = void]
-20 Q3PtrList<type>::~Q3PtrList [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3PtrList<type>::deleteItem [with type = void]
-32 Q3GList::compareItems
-36 Q3GList::read
-40 Q3GList::write
-Class Q3PtrList<void>
- size=32 align=4
- base size=32 base align=4
-Q3PtrList<void> (0xb3445c00) 0
- vptr=((& Q3PtrList<void>::_ZTV9Q3PtrListIvE) + 8u)
- Q3GList (0xb3445c40) 0
- primary-for Q3PtrList<void> (0xb3445c00)
- Q3PtrCollection (0xb3445c80) 0
- primary-for Q3GList (0xb3445c40)
Class Q3BaseBucket
size=8 align=4
@@ -15733,28 +14563,7 @@ Class Q3GDictIterator
base size=12 base align=4
Q3GDictIterator (0xb3445340) 0
-Vtable for Q3IntDict<void>
-Q3IntDict<void>::_ZTV9Q3IntDictIvE: 10u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI9Q3IntDictIvE)
-8 Q3IntDict<type>::count [with type = void]
-12 Q3IntDict<type>::clear [with type = void]
-16 Q3IntDict<type>::~Q3IntDict [with type = void]
-20 Q3IntDict<type>::~Q3IntDict [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3IntDict<type>::deleteItem [with type = void]
-32 Q3GDict::read
-36 Q3GDict::write
-Class Q3IntDict<void>
- size=28 align=4
- base size=28 base align=4
-Q3IntDict<void> (0xb3445840) 0
- vptr=((& Q3IntDict<void>::_ZTV9Q3IntDictIvE) + 8u)
- Q3GDict (0xb3445a00) 0
- primary-for Q3IntDict<void> (0xb3445840)
- Q3PtrCollection (0xb3445cc0) 0
- primary-for Q3GDict (0xb3445a00)
Class Q3TableSelection
size=28 align=4
@@ -15865,100 +14674,13 @@ Class Q3Table::TableWidget
base size=12 base align=4
Q3Table::TableWidget (0xb33694c0) 0
-Vtable for Q3PtrVector<Q3TableItem>
-Q3PtrVector<Q3TableItem>::_ZTV11Q3PtrVectorI11Q3TableItemE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI11Q3PtrVectorI11Q3TableItemE)
-8 Q3PtrVector<type>::count [with type = Q3TableItem]
-12 Q3PtrVector<type>::clear [with type = Q3TableItem]
-16 Q3PtrVector<type>::~Q3PtrVector [with type = Q3TableItem]
-20 Q3PtrVector<type>::~Q3PtrVector [with type = Q3TableItem]
-24 Q3PtrCollection::newItem
-28 Q3PtrVector<type>::deleteItem [with type = Q3TableItem]
-32 Q3GVector::compareItems
-36 Q3GVector::read
-40 Q3GVector::write
-Class Q3PtrVector<Q3TableItem>
- size=20 align=4
- base size=20 base align=4
-Q3PtrVector<Q3TableItem> (0xb3369540) 0
- vptr=((& Q3PtrVector<Q3TableItem>::_ZTV11Q3PtrVectorI11Q3TableItemE) + 8u)
- Q3GVector (0xb3369580) 0
- primary-for Q3PtrVector<Q3TableItem> (0xb3369540)
- Q3PtrCollection (0xb33695c0) 0
- primary-for Q3GVector (0xb3369580)
-
-Vtable for Q3PtrVector<QWidget>
-Q3PtrVector<QWidget>::_ZTV11Q3PtrVectorI7QWidgetE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI11Q3PtrVectorI7QWidgetE)
-8 Q3PtrVector<type>::count [with type = QWidget]
-12 Q3PtrVector<type>::clear [with type = QWidget]
-16 Q3PtrVector<type>::~Q3PtrVector [with type = QWidget]
-20 Q3PtrVector<type>::~Q3PtrVector [with type = QWidget]
-24 Q3PtrCollection::newItem
-28 Q3PtrVector<type>::deleteItem [with type = QWidget]
-32 Q3GVector::compareItems
-36 Q3GVector::read
-40 Q3GVector::write
-Class Q3PtrVector<QWidget>
- size=20 align=4
- base size=20 base align=4
-Q3PtrVector<QWidget> (0xb3369680) 0
- vptr=((& Q3PtrVector<QWidget>::_ZTV11Q3PtrVectorI7QWidgetE) + 8u)
- Q3GVector (0xb33696c0) 0
- primary-for Q3PtrVector<QWidget> (0xb3369680)
- Q3PtrCollection (0xb3369700) 0
- primary-for Q3GVector (0xb33696c0)
-
-Vtable for Q3PtrList<Q3TableSelection>
-Q3PtrList<Q3TableSelection>::_ZTV9Q3PtrListI16Q3TableSelectionE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI9Q3PtrListI16Q3TableSelectionE)
-8 Q3PtrList<type>::count [with type = Q3TableSelection]
-12 Q3PtrList<type>::clear [with type = Q3TableSelection]
-16 Q3PtrList<type>::~Q3PtrList [with type = Q3TableSelection]
-20 Q3PtrList<type>::~Q3PtrList [with type = Q3TableSelection]
-24 Q3PtrCollection::newItem
-28 Q3PtrList<type>::deleteItem [with type = Q3TableSelection]
-32 Q3GList::compareItems
-36 Q3GList::read
-40 Q3GList::write
-Class Q3PtrList<Q3TableSelection>
- size=32 align=4
- base size=32 base align=4
-Q3PtrList<Q3TableSelection> (0xb33697c0) 0
- vptr=((& Q3PtrList<Q3TableSelection>::_ZTV9Q3PtrListI16Q3TableSelectionE) + 8u)
- Q3GList (0xb3369800) 0
- primary-for Q3PtrList<Q3TableSelection> (0xb33697c0)
- Q3PtrCollection (0xb3369840) 0
- primary-for Q3GList (0xb3369800)
-
-Vtable for Q3IntDict<int>
-Q3IntDict<int>::_ZTV9Q3IntDictIiE: 10u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI9Q3IntDictIiE)
-8 Q3IntDict<type>::count [with type = int]
-12 Q3IntDict<type>::clear [with type = int]
-16 Q3IntDict<type>::~Q3IntDict [with type = int]
-20 Q3IntDict<type>::~Q3IntDict [with type = int]
-24 Q3PtrCollection::newItem
-28 Q3IntDict<type>::deleteItem [with type = int]
-32 Q3GDict::read
-36 Q3GDict::write
-Class Q3IntDict<int>
- size=28 align=4
- base size=28 base align=4
-Q3IntDict<int> (0xb3369900) 0
- vptr=((& Q3IntDict<int>::_ZTV9Q3IntDictIiE) + 8u)
- Q3GDict (0xb3369940) 0
- primary-for Q3IntDict<int> (0xb3369900)
- Q3PtrCollection (0xb3369980) 0
- primary-for Q3GDict (0xb3369940)
+
+
+
Vtable for Q3Table
Q3Table::_ZTV7Q3Table: 183u entries
@@ -16682,21 +15404,8 @@ Class Q3SqlPropertyMap
Q3SqlPropertyMap (0xb33698c0) 0
vptr=((& Q3SqlPropertyMap::_ZTV16Q3SqlPropertyMap) + 8u)
-Class QLinkedList<Q3SqlFieldInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QLinkedList<Q3SqlFieldInfo>::<anonymous union> (0xb308b040) 0
-Class QLinkedList<Q3SqlFieldInfo>
- size=4 align=4
- base size=4 base align=4
-QLinkedList<Q3SqlFieldInfo> (0xb3369f40) 0
-Class Q3ValueList<Q3SqlFieldInfo>
- size=4 align=4
- base size=4 base align=4
-Q3ValueList<Q3SqlFieldInfo> (0xb308b080) 0
- QLinkedList<Q3SqlFieldInfo> (0xb308b0c0) 0
Class Q3SqlRecordInfo
size=4 align=4
@@ -16705,31 +15414,10 @@ Q3SqlRecordInfo (0xb308b140) 0
Q3ValueList<Q3SqlFieldInfo> (0xb308b180) 0
QLinkedList<Q3SqlFieldInfo> (0xb308b1c0) 0
-Class QList<Q3SqlFieldInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<Q3SqlFieldInfo>::<anonymous union> (0xb308b2c0) 0
-Class QList<Q3SqlFieldInfo>
- size=4 align=4
- base size=4 base align=4
-QList<Q3SqlFieldInfo> (0xb308b240) 0
-Class QLinkedList<Q3SqlFieldInfo>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QLinkedList<Q3SqlFieldInfo>::const_iterator (0xb308b380) 0
-Class Q3ValueListConstIterator<Q3SqlFieldInfo>
- size=4 align=4
- base size=4 base align=4
-Q3ValueListConstIterator<Q3SqlFieldInfo> (0xb308b3c0) 0
- QLinkedList<Q3SqlFieldInfo>::const_iterator (0xb308b400) 0
-Class QLinkedList<Q3SqlFieldInfo>::iterator
- size=4 align=4
- base size=4 base align=4
-QLinkedList<Q3SqlFieldInfo>::iterator (0xb308b480) 0
Vtable for Q3DataView
Q3DataView::_ZTV10Q3DataView: 69u entries
@@ -16820,15 +15508,7 @@ Class Q3StyleSheetItem
base size=4 base align=4
Q3StyleSheetItem (0xb308b600) 0
-Class QHash<QString, Q3StyleSheetItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QHash<QString, Q3StyleSheetItem*>::<anonymous union> (0xb308b7c0) 0
-Class QHash<QString, Q3StyleSheetItem*>
- size=4 align=4
- base size=4 base align=4
-QHash<QString, Q3StyleSheetItem*> (0xb308b740) 0
Vtable for Q3StyleSheet
Q3StyleSheet::_ZTV12Q3StyleSheet: 16u entries
@@ -16889,25 +15569,9 @@ Class Q3TextEditOptimPrivate::Selection
base size=8 base align=4
Q3TextEditOptimPrivate::Selection (0xb308b980) 0
-Class QMap<int, QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<int, QString>::<anonymous union> (0xb308ba80) 0
-Class QMap<int, QString>
- size=4 align=4
- base size=4 base align=4
-QMap<int, QString> (0xb308ba00) 0
-Class QMap<int, Q3TextEditOptimPrivate::Tag*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<int, Q3TextEditOptimPrivate::Tag*>::<anonymous union> (0xb308bc00) 0
-Class QMap<int, Q3TextEditOptimPrivate::Tag*>
- size=4 align=4
- base size=4 base align=4
-QMap<int, Q3TextEditOptimPrivate::Tag*> (0xb308bb80) 0
Class Q3TextEditOptimPrivate
size=52 align=4
@@ -17115,10 +15779,6 @@ Q3TextEdit (0xb308bd00) 0
QPaintDevice (0xb308be80) 8
vptr=((& Q3TextEdit::_ZTV10Q3TextEdit) + 680u)
-Class QFlags<Q3TextEdit::AutoFormattingFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Q3TextEdit::AutoFormattingFlag> (0xb308bf80) 0
Vtable for Q3SyntaxHighlighter
Q3SyntaxHighlighter::_ZTV19Q3SyntaxHighlighter: 5u entries
@@ -18072,28 +16732,7 @@ Class Q3Url
Q3Url (0xb2fc8a80) 0
vptr=((& Q3Url::_ZTV5Q3Url) + 8u)
-Vtable for Q3Dict<void>
-Q3Dict<void>::_ZTV6Q3DictIvE: 10u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI6Q3DictIvE)
-8 Q3Dict<type>::count [with type = void]
-12 Q3Dict<type>::clear [with type = void]
-16 Q3Dict<type>::~Q3Dict [with type = void]
-20 Q3Dict<type>::~Q3Dict [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3Dict<type>::deleteItem [with type = void]
-32 Q3GDict::read
-36 Q3GDict::write
-Class Q3Dict<void>
- size=28 align=4
- base size=28 base align=4
-Q3Dict<void> (0xb2fc8bc0) 0
- vptr=((& Q3Dict<void>::_ZTV6Q3DictIvE) + 8u)
- Q3GDict (0xb2fc8c00) 0
- primary-for Q3Dict<void> (0xb2fc8bc0)
- Q3PtrCollection (0xb2fc8c40) 0
- primary-for Q3GDict (0xb2fc8c00)
Vtable for Q3NetworkProtocolFactoryBase
Q3NetworkProtocolFactoryBase::_ZTV28Q3NetworkProtocolFactoryBase: 5u entries
@@ -18454,29 +17093,7 @@ Q3Accel (0xb2f14140) 0
QObject (0xb2f14180) 0
primary-for Q3Accel (0xb2f14140)
-Vtable for Q3PtrList<char>
-Q3PtrList<char>::_ZTV9Q3PtrListIcE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI9Q3PtrListIcE)
-8 Q3PtrList<type>::count [with type = char]
-12 Q3PtrList<type>::clear [with type = char]
-16 Q3PtrList<type>::~Q3PtrList [with type = char]
-20 Q3PtrList<type>::~Q3PtrList [with type = char]
-24 Q3PtrCollection::newItem
-28 Q3PtrList<type>::deleteItem [with type = char]
-32 Q3GList::compareItems
-36 Q3GList::read
-40 Q3GList::write
-Class Q3PtrList<char>
- size=32 align=4
- base size=32 base align=4
-Q3PtrList<char> (0xb2f14200) 0
- vptr=((& Q3PtrList<char>::_ZTV9Q3PtrListIcE) + 8u)
- Q3GList (0xb2f14240) 0
- primary-for Q3PtrList<char> (0xb2f14200)
- Q3PtrCollection (0xb2f14280) 0
- primary-for Q3GList (0xb2f14240)
Vtable for Q3StrList
Q3StrList::_ZTV9Q3StrList: 11u entries
@@ -18504,11 +17121,6 @@ Q3StrList (0xb2f14300) 0
Q3PtrCollection (0xb2f143c0) 0
primary-for Q3GList (0xb2f14380)
-Class Q3PtrListStdIterator<char>
- size=4 align=4
- base size=4 base align=4
-Q3PtrListStdIterator<char> (0xb2f14480) 0
- Q3GListStdIterator (0xb2f144c0) 0
Vtable for Q3StrIList
Q3StrIList::_ZTV10Q3StrIList: 11u entries
@@ -19058,29 +17670,7 @@ Q3Process (0xb2dda0c0) 0
QObject (0xb2dda100) 0
primary-for Q3Process (0xb2dda0c0)
-Vtable for Q3PtrQueue<void>
-Q3PtrQueue<void>::_ZTV10Q3PtrQueueIvE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI10Q3PtrQueueIvE)
-8 Q3PtrQueue<type>::count [with type = void]
-12 Q3PtrQueue<type>::clear [with type = void]
-16 Q3PtrQueue<type>::~Q3PtrQueue [with type = void]
-20 Q3PtrQueue<type>::~Q3PtrQueue [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3PtrQueue<type>::deleteItem [with type = void]
-32 Q3GList::compareItems
-36 Q3GList::read
-40 Q3GList::write
-Class Q3PtrQueue<void>
- size=32 align=4
- base size=32 base align=4
-Q3PtrQueue<void> (0xb2dda240) 0
- vptr=((& Q3PtrQueue<void>::_ZTV10Q3PtrQueueIvE) + 8u)
- Q3GList (0xb2dda280) 0
- primary-for Q3PtrQueue<void> (0xb2dda240)
- Q3PtrCollection (0xb2dda2c0) 0
- primary-for Q3GList (0xb2dda280)
Vtable for Q3Signal
Q3Signal::_ZTV8Q3Signal: 14u entries
@@ -19107,75 +17697,11 @@ Q3Signal (0xb2dda380) 0
QObject (0xb2dda3c0) 0
primary-for Q3Signal (0xb2dda380)
-Vtable for Q3AsciiDict<void>
-Q3AsciiDict<void>::_ZTV11Q3AsciiDictIvE: 10u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI11Q3AsciiDictIvE)
-8 Q3AsciiDict<type>::count [with type = void]
-12 Q3AsciiDict<type>::clear [with type = void]
-16 Q3AsciiDict<type>::~Q3AsciiDict [with type = void]
-20 Q3AsciiDict<type>::~Q3AsciiDict [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3AsciiDict<type>::deleteItem [with type = void]
-32 Q3GDict::read
-36 Q3GDict::write
-Class Q3AsciiDict<void>
- size=28 align=4
- base size=28 base align=4
-Q3AsciiDict<void> (0xb2dda540) 0
- vptr=((& Q3AsciiDict<void>::_ZTV11Q3AsciiDictIvE) + 8u)
- Q3GDict (0xb2dda580) 0
- primary-for Q3AsciiDict<void> (0xb2dda540)
- Q3PtrCollection (0xb2dda5c0) 0
- primary-for Q3GDict (0xb2dda580)
-
-Vtable for Q3PtrStack<void>
-Q3PtrStack<void>::_ZTV10Q3PtrStackIvE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI10Q3PtrStackIvE)
-8 Q3PtrStack<type>::count [with type = void]
-12 Q3PtrStack<type>::clear [with type = void]
-16 Q3PtrStack<type>::~Q3PtrStack [with type = void]
-20 Q3PtrStack<type>::~Q3PtrStack [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3PtrStack<type>::deleteItem [with type = void]
-32 Q3GList::compareItems
-36 Q3GList::read
-40 Q3GList::write
-Class Q3PtrStack<void>
- size=32 align=4
- base size=32 base align=4
-Q3PtrStack<void> (0xb2dda780) 0
- vptr=((& Q3PtrStack<void>::_ZTV10Q3PtrStackIvE) + 8u)
- Q3GList (0xb2dda7c0) 0
- primary-for Q3PtrStack<void> (0xb2dda780)
- Q3PtrCollection (0xb2dda800) 0
- primary-for Q3GList (0xb2dda7c0)
-Vtable for Q3AsciiDict<QMetaObject>
-Q3AsciiDict<QMetaObject>::_ZTV11Q3AsciiDictI11QMetaObjectE: 10u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI11Q3AsciiDictI11QMetaObjectE)
-8 Q3AsciiDict<type>::count [with type = QMetaObject]
-12 Q3AsciiDict<type>::clear [with type = QMetaObject]
-16 Q3AsciiDict<type>::~Q3AsciiDict [with type = QMetaObject]
-20 Q3AsciiDict<type>::~Q3AsciiDict [with type = QMetaObject]
-24 Q3PtrCollection::newItem
-28 Q3AsciiDict<type>::deleteItem [with type = QMetaObject]
-32 Q3GDict::read
-36 Q3GDict::write
-Class Q3AsciiDict<QMetaObject>
- size=28 align=4
- base size=28 base align=4
-Q3AsciiDict<QMetaObject> (0xb2dda880) 0
- vptr=((& Q3AsciiDict<QMetaObject>::_ZTV11Q3AsciiDictI11QMetaObjectE) + 8u)
- Q3GDict (0xb2dda8c0) 0
- primary-for Q3AsciiDict<QMetaObject> (0xb2dda880)
- Q3PtrCollection (0xb2dda900) 0
- primary-for Q3GDict (0xb2dda8c0)
+
Vtable for Q3ObjectDictionary
Q3ObjectDictionary::_ZTV18Q3ObjectDictionary: 10u entries
@@ -19226,91 +17752,13 @@ Class Q3GCacheIterator
base size=4 base align=4
Q3GCacheIterator (0xb2ddabc0) 0
-Vtable for Q3Cache<void>
-Q3Cache<void>::_ZTV7Q3CacheIvE: 8u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI7Q3CacheIvE)
-8 Q3Cache<type>::count [with type = void]
-12 Q3Cache<type>::clear [with type = void]
-16 Q3Cache<type>::~Q3Cache [with type = void]
-20 Q3Cache<type>::~Q3Cache [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3Cache<type>::deleteItem [with type = void]
-Class Q3Cache<void>
- size=32 align=4
- base size=29 base align=4
-Q3Cache<void> (0xb2ddacc0) 0
- vptr=((& Q3Cache<void>::_ZTV7Q3CacheIvE) + 8u)
- Q3GCache (0xb2ddad00) 0
- primary-for Q3Cache<void> (0xb2ddacc0)
- Q3PtrCollection (0xb2ddad40) 0
- primary-for Q3GCache (0xb2ddad00)
-
-Vtable for Q3IntCache<void>
-Q3IntCache<void>::_ZTV10Q3IntCacheIvE: 8u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI10Q3IntCacheIvE)
-8 Q3IntCache<type>::count [with type = void]
-12 Q3IntCache<type>::clear [with type = void]
-16 Q3IntCache<type>::~Q3IntCache [with type = void]
-20 Q3IntCache<type>::~Q3IntCache [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3IntCache<type>::deleteItem [with type = void]
-Class Q3IntCache<void>
- size=32 align=4
- base size=29 base align=4
-Q3IntCache<void> (0xb2ddaf80) 0
- vptr=((& Q3IntCache<void>::_ZTV10Q3IntCacheIvE) + 8u)
- Q3GCache (0xb2ddafc0) 0
- primary-for Q3IntCache<void> (0xb2ddaf80)
- Q3PtrCollection (0xb2dda080) 0
- primary-for Q3GCache (0xb2ddafc0)
-
-Vtable for Q3PtrDict<void>
-Q3PtrDict<void>::_ZTV9Q3PtrDictIvE: 10u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI9Q3PtrDictIvE)
-8 Q3PtrDict<type>::count [with type = void]
-12 Q3PtrDict<type>::clear [with type = void]
-16 Q3PtrDict<type>::~Q3PtrDict [with type = void]
-20 Q3PtrDict<type>::~Q3PtrDict [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3PtrDict<type>::deleteItem [with type = void]
-32 Q3GDict::read
-36 Q3GDict::write
-Class Q3PtrDict<void>
- size=28 align=4
- base size=28 base align=4
-Q3PtrDict<void> (0xb2dda840) 0
- vptr=((& Q3PtrDict<void>::_ZTV9Q3PtrDictIvE) + 8u)
- Q3GDict (0xb2dda940) 0
- primary-for Q3PtrDict<void> (0xb2dda840)
- Q3PtrCollection (0xb2ddaa80) 0
- primary-for Q3GDict (0xb2dda940)
-
-Vtable for Q3AsciiCache<void>
-Q3AsciiCache<void>::_ZTV12Q3AsciiCacheIvE: 8u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI12Q3AsciiCacheIvE)
-8 Q3AsciiCache<type>::count [with type = void]
-12 Q3AsciiCache<type>::clear [with type = void]
-16 Q3AsciiCache<type>::~Q3AsciiCache [with type = void]
-20 Q3AsciiCache<type>::~Q3AsciiCache [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3AsciiCache<type>::deleteItem [with type = void]
-Class Q3AsciiCache<void>
- size=32 align=4
- base size=29 base align=4
-Q3AsciiCache<void> (0xb2cb71c0) 0
- vptr=((& Q3AsciiCache<void>::_ZTV12Q3AsciiCacheIvE) + 8u)
- Q3GCache (0xb2cb7200) 0
- primary-for Q3AsciiCache<void> (0xb2cb71c0)
- Q3PtrCollection (0xb2cb7240) 0
- primary-for Q3GCache (0xb2cb7200)
+
+
+
Vtable for Q3Semaphore
Q3Semaphore::_ZTV11Q3Semaphore: 4u entries
@@ -19325,29 +17773,7 @@ Class Q3Semaphore
Q3Semaphore (0xb2cb73c0) 0
vptr=((& Q3Semaphore::_ZTV11Q3Semaphore) + 8u)
-Vtable for Q3PtrVector<char>
-Q3PtrVector<char>::_ZTV11Q3PtrVectorIcE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI11Q3PtrVectorIcE)
-8 Q3PtrVector<type>::count [with type = char]
-12 Q3PtrVector<type>::clear [with type = char]
-16 Q3PtrVector<type>::~Q3PtrVector [with type = char]
-20 Q3PtrVector<type>::~Q3PtrVector [with type = char]
-24 Q3PtrCollection::newItem
-28 Q3PtrVector<type>::deleteItem [with type = char]
-32 Q3GVector::compareItems
-36 Q3GVector::read
-40 Q3GVector::write
-Class Q3PtrVector<char>
- size=20 align=4
- base size=20 base align=4
-Q3PtrVector<char> (0xb2cb7440) 0
- vptr=((& Q3PtrVector<char>::_ZTV11Q3PtrVectorIcE) + 8u)
- Q3GVector (0xb2cb7480) 0
- primary-for Q3PtrVector<char> (0xb2cb7440)
- Q3PtrCollection (0xb2cb74c0) 0
- primary-for Q3GVector (0xb2cb7480)
Vtable for Q3StrVec
Q3StrVec::_ZTV8Q3StrVec: 11u entries
@@ -19442,21 +17868,8 @@ Class Q3PaintDeviceMetrics
base size=4 base align=4
Q3PaintDeviceMetrics (0xb2cb7ac0) 0
-Class QLinkedList<Q3CanvasItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QLinkedList<Q3CanvasItem*>::<anonymous union> (0xb2cb7b80) 0
-Class QLinkedList<Q3CanvasItem*>
- size=4 align=4
- base size=4 base align=4
-QLinkedList<Q3CanvasItem*> (0xb2cb7b00) 0
-Class Q3ValueList<Q3CanvasItem*>
- size=4 align=4
- base size=4 base align=4
-Q3ValueList<Q3CanvasItem*> (0xb2cb7bc0) 0
- QLinkedList<Q3CanvasItem*> (0xb2cb7c00) 0
Class Q3CanvasItemList
size=4 align=4
@@ -20793,15 +19206,7 @@ Q3SocketDevice (0xb2b9dbc0) 0
QObject (0xb2b9de80) 0
primary-for QIODevice (0xb2b9dc40)
-Class QMap<QString, QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QString>::<anonymous union> (0xb2ac30c0) 0
-Class QMap<QString, QString>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QString> (0xb2ac3040) 0
Vtable for Q3HttpHeader
Q3HttpHeader::_ZTV12Q3HttpHeader: 8u entries
@@ -22126,15 +20531,7 @@ Q3VBox (0xb29bb580) 0
QPaintDevice (0xb29bb700) 8
vptr=((& Q3VBox::_ZTV6Q3VBox) + 244u)
-Class QMap<int, QAbstractButton*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<int, QAbstractButton*>::<anonymous union> (0xb29bb9c0) 0
-Class QMap<int, QAbstractButton*>
- size=4 align=4
- base size=4 base align=4
-QMap<int, QAbstractButton*> (0xb29bb940) 0
Vtable for Q3ButtonGroup
Q3ButtonGroup::_ZTV13Q3ButtonGroup: 64u entries
@@ -23317,25 +21714,9 @@ Q3MainWindow (0xb287db40) 0
QPaintDevice (0xb287dc00) 8
vptr=((& Q3MainWindow::_ZTV12Q3MainWindow) + 328u)
-Class QList<QRect>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QRect>::<anonymous union> (0xb287de40) 0
-Class QList<QRect>
- size=4 align=4
- base size=4 base align=4
-QList<QRect> (0xb287ddc0) 0
-Class QList<Q3DockWindow*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<Q3DockWindow*>::<anonymous union> (0xb287df40) 0
-Class QList<Q3DockWindow*>
- size=4 align=4
- base size=4 base align=4
-QList<Q3DockWindow*> (0xb287dec0) 0
Vtable for Q3DockAreaLayout
Q3DockAreaLayout::_ZTV16Q3DockAreaLayout: 48u entries
@@ -23400,10 +21781,6 @@ Q3DockAreaLayout (0xb287dc80) 0
QLayoutItem (0xb287dd40) 8
vptr=((& Q3DockAreaLayout::_ZTV16Q3DockAreaLayout) + 128u)
-Class QPointer<Q3DockArea>
- size=4 align=4
- base size=4 base align=4
-QPointer<Q3DockArea> (0xb287d740) 0
Class Q3DockArea::DockWindowData
size=24 align=4
@@ -23488,213 +21865,45 @@ Q3DockArea (0xb287d000) 0
QPaintDevice (0xb287d480) 8
vptr=((& Q3DockArea::_ZTV10Q3DockArea) + 232u)
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0xb287db00) 0
-Class QTypeInfo<QDebug::Stream*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDebug::Stream*> (0xb287dd80) 0 empty
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0xb287dfc0) 0
-Class QVectorTypedData<QPoint>
- size=24 align=4
- base size=24 base align=4
-QVectorTypedData<QPoint> (0xb2862040) 0
-Class QVectorTypedData<QPointF>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QPointF> (0xb28620c0) 0
-Class QVectorTypedData<QTextLength>
- size=28 align=4
- base size=28 base align=4
-QVectorTypedData<QTextLength> (0xb2862140) 0
-Class QVectorTypedData<QTextLayout::FormatRange>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QTextLayout::FormatRange> (0xb28621c0) 0
-Class QVectorTypedData<QAbstractTextDocumentLayout::Selection>
- size=28 align=4
- base size=28 base align=4
-QVectorTypedData<QAbstractTextDocumentLayout::Selection> (0xb2862240) 0
-Class QVectorTypedData<QLineF>
- size=48 align=4
- base size=48 base align=4
-QVectorTypedData<QLineF> (0xb28622c0) 0
-Class QVectorTypedData<QLine>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QLine> (0xb2862340) 0
-Class QVectorTypedData<QRectF>
- size=48 align=4
- base size=48 base align=4
-QVectorTypedData<QRectF> (0xb28623c0) 0
-Class QVectorTypedData<QRect>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QRect> (0xb2862440) 0
-Class QVectorTypedData<QPainterPath::Element>
- size=36 align=4
- base size=36 base align=4
-QVectorTypedData<QPainterPath::Element> (0xb28624c0) 0
-Class QList<QTreeWidgetItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::Node (0xb2862700) 0
-Class QVectorTypedData<QVector<QWidgetItemData> >
- size=20 align=4
- base size=20 base align=4
-QVectorTypedData<QVector<QWidgetItemData> > (0xb2862780) 0
-Class QList<QAction*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QAction*>::Node (0xb2862880) 0
-Class QLinkedListNode<Q3SqlFieldInfo>
- size=52 align=4
- base size=52 base align=4
-QLinkedListNode<Q3SqlFieldInfo> (0xb2862900) 0
-Class QTypeInfo<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLength> (0xb2862a00) 0 empty
-Class QTypeInfo<QTextLayout::FormatRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLayout::FormatRange> (0xb2862ac0) 0 empty
-Class QTypeInfo<QAbstractTextDocumentLayout::Selection>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAbstractTextDocumentLayout::Selection> (0xb2862bc0) 0 empty
-Class QTypeInfo<QStandardItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QStandardItem*> (0xb2862c80) 0 empty
-Class QHashNode<QVariant::Type, QItemEditorCreatorBase*>
- size=16 align=4
- base size=16 base align=4
-QHashNode<QVariant::Type, QItemEditorCreatorBase*> (0xb2862d00) 0
-Class QTypeInfo<QTreeWidgetItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTreeWidgetItem*> (0xb2862d80) 0 empty
-Class QTypeInfo<QAction*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAction*> (0xb2862e00) 0 empty
-Class QTypeInfo<Q3TextEditOptimPrivate::Tag*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<Q3TextEditOptimPrivate::Tag*> (0xb2862f00) 0 empty
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0xb2862800) 0
-Class QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union> (0xb2862cc0) 0
-Class QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union> (0xb2862e40) 0
-Class QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union> (0xb2862f40) 0
-Class QList<QItemSelectionRange>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::Node (0xb23c5080) 0
-Class QTypeInfo<QStyleOptionQ3ListViewItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QStyleOptionQ3ListViewItem> (0xb23c5100) 0 empty
-Class QList<QStyleOptionQ3ListViewItem>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::Node (0xb23c5180) 0
-Class QList<QStandardItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QStandardItem*>::Node (0xb23c5240) 0
-Class QList<QVariant>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::Node (0xb23c5300) 0
-Class QTypeInfo<QGraphicsItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QGraphicsItem*> (0xb23c5380) 0 empty
-Class QList<QGraphicsItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QGraphicsItem*>::Node (0xb23c5400) 0
-Class QMap<Key, T>::detach_helper() [with Key = int, T = Q3TextEditOptimPrivate::Tag*]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<Key, T>::detach_helper() [with Key = int, T = Q3TextEditOptimPrivate::Tag*]::<anonymous union> (0xb23c5540) 0
-Class QList<QRect>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QRect>::Node (0xb23c55c0) 0
-Class QTypeInfo<Q3DockWindow*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<Q3DockWindow*> (0xb23c5680) 0 empty
-Class QList<Q3DockWindow*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<Q3DockWindow*>::Node (0xb23c5700) 0
-Class QLinkedList<T>::detach_helper() [with T = Q3SqlFieldInfo]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QLinkedList<T>::detach_helper() [with T = Q3SqlFieldInfo]::<anonymous union> (0xb23c5780) 0
-Class QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union> (0xb23c5800) 0
diff --git a/tests/auto/bic/data/Qt3Support.4.2.0.linux-gcc-ppc32.txt b/tests/auto/bic/data/Qt3Support.4.2.0.linux-gcc-ppc32.txt
index 17e41f1..18e3343 100644
--- a/tests/auto/bic/data/Qt3Support.4.2.0.linux-gcc-ppc32.txt
+++ b/tests/auto/bic/data/Qt3Support.4.2.0.linux-gcc-ppc32.txt
@@ -1,34 +1,8 @@
-Class QUintForSize<4>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<4> (0x30615a48) 0 empty
-Class QUintForSize<8>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<8> (0x30615ab8) 0 empty
-Class QUintForType<void*>
- size=1 align=1
- base size=1 base align=1
-QUintForType<void*> (0x3001bac0) 0 empty
- QUintForSize<4> (0x30615c08) 0 empty
-Class QIntForSize<4>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<4> (0x30615ce8) 0 empty
-Class QIntForSize<8>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<8> (0x30615d58) 0 empty
-Class QIntForType<void*>
- size=1 align=1
- base size=1 base align=1
-QIntForType<void*> (0x3001bb40) 0 empty
- QIntForSize<4> (0x30615ea8) 0 empty
Class QSysInfo
size=1 align=1
@@ -50,150 +24,38 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0x30628230) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0x30628428) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0x306284d0) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0x30628578) 0 empty
-Class QTypeInfo<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned char> (0x30628620) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0x306286c8) 0 empty
-Class QTypeInfo<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short unsigned int> (0x30628770) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0x30628818) 0 empty
-Class QTypeInfo<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned int> (0x306288c0) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0x30628968) 0 empty
-Class QTypeInfo<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long unsigned int> (0x30628a10) 0 empty
-Class QTypeInfo<long long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long int> (0x30628ab8) 0 empty
-Class QTypeInfo<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long unsigned int> (0x30628b60) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0x30628c08) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0x30628cb0) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0x30628d58) 0 empty
Class QFlag
size=4 align=4
base size=4 base align=4
QFlag (0x30628dc8) 0
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0x322b62a0) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0x322b6310) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0x322b6380) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0x322b63f0) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0x322b6460) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0x322b64d0) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0x322b6540) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0x322b65b0) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0x322b6620) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0x322b6690) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0x322b6700) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0x322b6770) 0
-Class QFlags<Qt::TextInteractionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::TextInteractionFlag> (0x322b67e0) 0
Class QInternal
size=1 align=1
@@ -211,10 +73,6 @@ Class QGenericReturnArgument
QGenericReturnArgument (0x3001bc80) 0
QGenericArgument (0x322b68f8) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0x322b6ab8) 0
Class QMetaObject
size=16 align=4
@@ -231,10 +89,6 @@ Class QChar
base size=2 base align=2
QChar (0x322b6b98) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0x322b6c40) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -267,10 +121,6 @@ Class QByteRef
base size=8 base align=4
QByteRef (0x323ee9a0) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0x323eece8) 0 empty
Class QString::Null
size=1 align=1
@@ -287,10 +137,6 @@ Class QString
base size=4 base align=4
QString (0x323eed90) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0x323eefc0) 0
Class QLatin1String
size=4 align=4
@@ -308,10 +154,6 @@ Class QConstString
QConstString (0x3001bec0) 0
QString (0x32632150) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0x32632230) 0 empty
Vtable for std::exception
std::exception::_ZTVSt9exception: 5u entries
@@ -374,15 +216,7 @@ Class QListData
base size=4 base align=4
QListData (0x32632930) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0x32632e70) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0x32632dc8) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -474,10 +308,6 @@ QIODevice (0x3001bf80) 0
QObject (0x3273c230) 0
primary-for QIODevice (0x3001bf80)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0x3273c428) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -507,10 +337,6 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0x3273cb60) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0x3273cbd0) 0 empty
Class QMapData::Node
size=8 align=4
@@ -522,10 +348,6 @@ Class QMapData
base size=72 base align=4
QMapData (0x327dd380) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0x327dda10) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -550,15 +372,7 @@ Class QTextCodec
QTextCodec (0x327dd8c0) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0x327ddce8) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0x327ddc40) 0
Class QTextEncoder
size=32 align=4
@@ -570,30 +384,10 @@ Class QTextDecoder
base size=32 base align=4
QTextDecoder (0x327dde00) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x327ddea8) 0
-Class <anonymous struct>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct>::<anonymous union> (0x327ddf88) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x327ddf18) 0
-Class <anonymous struct>
- size=12 align=4
- base size=12 base align=4
-<anonymous struct> (0x327dd188) 0
-Class <anonymous struct>
- size=16 align=8
- base size=16 base align=8
-<anonymous struct> (0x327dd9a0) 0
Class __gconv_trans_data
size=20 align=4
@@ -615,15 +409,7 @@ Class __gconv_info
base size=8 base align=4
__gconv_info (0x329430e0) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0x329431c0) 0
-Class <anonymous union>
- size=44 align=4
- base size=44 base align=4
-<anonymous union> (0x32943150) 0
Class _IO_marker
size=12 align=4
@@ -635,10 +421,6 @@ Class _IO_FILE
base size=152 base align=8
_IO_FILE (0x32943230) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0x329432a0) 0
Vtable for QTextStream
QTextStream::_ZTV11QTextStream: 4u entries
@@ -653,10 +435,6 @@ Class QTextStream
QTextStream (0x329432d8) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0x32943508) 0
Class QTextStreamManipulator
size=24 align=4
@@ -693,40 +471,16 @@ QTextOStream (0x3285f180) 0
QTextStream (0x32943a80) 0
primary-for QTextOStream (0x3285f180)
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0x32943d58) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0x32943dc8) 0
Class wait
size=4 align=4
base size=4 base align=4
wait (0x32943ce8) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x32943e38) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x32943ea8) 0
-Class <anonymous struct>
- size=16 align=8
- base size=16 base align=8
-<anonymous struct> (0x32943f18) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0x32943f88) 0
Class timespec
size=8 align=4
@@ -738,70 +492,18 @@ Class timeval
base size=8 base align=4
timeval (0x32943460) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0x32943b28) 0
-Class <anonymous union>
- size=36 align=4
- base size=36 base align=4
-<anonymous union> (0x329d3038) 0
-Class <anonymous union>::<anonymous struct>
- size=24 align=4
- base size=24 base align=4
-<anonymous union>::<anonymous struct> (0x329d3118) 0
-Class <anonymous union>
- size=24 align=4
- base size=24 base align=4
-<anonymous union> (0x329d30a8) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0x329d3188) 0
-Class <anonymous union>::<anonymous struct>
- size=48 align=8
- base size=48 base align=8
-<anonymous union>::<anonymous struct> (0x329d3268) 0
-Class <anonymous union>
- size=48 align=8
- base size=48 base align=8
-<anonymous union> (0x329d31f8) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0x329d32d8) 0
-Class <anonymous union>::<anonymous struct>
- size=32 align=4
- base size=32 base align=4
-<anonymous union>::<anonymous struct> (0x329d33b8) 0
-Class <anonymous union>
- size=32 align=4
- base size=32 base align=4
-<anonymous union> (0x329d3348) 0
-Class <anonymous union>
- size=8 align=4
- base size=8 base align=4
-<anonymous union> (0x329d3428) 0
-Class <anonymous union>
- size=20 align=4
- base size=20 base align=4
-<anonymous union> (0x329d3498) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0x329d3508) 0
Class random_data
size=28 align=4
@@ -872,10 +574,6 @@ QFile (0x3285f1c0) 0
QObject (0x329d3dc8) 0
primary-for QIODevice (0x3285f200)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0x329d3f50) 0
Vtable for QTemporaryFile
QTemporaryFile::_ZTV14QTemporaryFile: 31u entries
@@ -928,50 +626,22 @@ Class QFileInfo
base size=4 base align=4
QFileInfo (0x32b32000) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0x32b320a8) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0x32b32118) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0x32b322a0) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0x32b321f8) 0
Class QRegExp
size=4 align=4
base size=4 base align=4
QRegExp (0x32b32348) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0x32b32540) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0x32b325b0) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0x32b32770) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0x32b326c8) 0
Class QStringList
size=4 align=4
@@ -979,30 +649,14 @@ Class QStringList
QStringList (0x3285f300) 0
QList<QString> (0x32b32818) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0x32b32c40) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0x32b32cb0) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0x32b32fc0) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0x32be30e0) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0x32be3188) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -1059,10 +713,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0x32be31c0) 0
vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0x32be3428) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -1174,15 +824,7 @@ Class QLocale
base size=4 base align=4
QLocale (0x32be37e0) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0x32be3888) 0 empty
-Class QFlags<QLocale::NumberOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLocale::NumberOption> (0x32be3930) 0
Vtable for QSystemLocale
QSystemLocale::_ZTV13QSystemLocale: 6u entries
@@ -1277,285 +919,65 @@ Class QUrl
base size=4 base align=4
QUrl (0x32be3d20) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0x32be3ea8) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0x32be3f18) 0 empty
Class QMetaType
size=1 align=1
base size=0 base align=1
QMetaType (0x32be3f88) 0 empty
-Class QMetaTypeId2<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QString> (0x32be3cb0) 0 empty
-Class QMetaTypeId2<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<int> (0x32d1b070) 0 empty
-Class QMetaTypeId2<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned int> (0x32d1b118) 0 empty
-Class QMetaTypeId2<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<bool> (0x32d1b1c0) 0 empty
-Class QMetaTypeId2<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<double> (0x32d1b268) 0 empty
-Class QMetaTypeId2<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QByteArray> (0x32d1b310) 0 empty
-Class QMetaTypeId2<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QChar> (0x32d1b3b8) 0 empty
-Class QMetaTypeId2<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long int> (0x32d1b460) 0 empty
-Class QMetaTypeId2<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short int> (0x32d1b508) 0 empty
-Class QMetaTypeId2<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<char> (0x32d1b5b0) 0 empty
-Class QMetaTypeId2<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long unsigned int> (0x32d1b658) 0 empty
-Class QMetaTypeId2<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short unsigned int> (0x32d1b700) 0 empty
-Class QMetaTypeId2<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned char> (0x32d1b7a8) 0 empty
-Class QMetaTypeId2<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<float> (0x32d1b850) 0 empty
-Class QMetaTypeId2<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QObject*> (0x32d1b8f8) 0 empty
-Class QMetaTypeId2<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QWidget*> (0x32d1b9a0) 0 empty
-Class QMetaTypeId2<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<void*> (0x32d1ba48) 0 empty
-Class QMetaTypeId2<long long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long int> (0x32d1baf0) 0 empty
-Class QMetaTypeId2<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long unsigned int> (0x32d1bb98) 0 empty
-Class QMetaTypeId2<QStringList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QStringList> (0x32d1bc40) 0 empty
-Class QMetaTypeId2<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitArray> (0x32d1bce8) 0 empty
-Class QMetaTypeId2<QDate>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDate> (0x32d1bd90) 0 empty
-Class QMetaTypeId2<QTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTime> (0x32d1be38) 0 empty
-Class QMetaTypeId2<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDateTime> (0x32d1bee0) 0 empty
-Class QMetaTypeId2<QUrl>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QUrl> (0x32d1bf88) 0 empty
-Class QMetaTypeId2<QLocale>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLocale> (0x32d35038) 0 empty
-Class QMetaTypeId2<QRect>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRect> (0x32d350e0) 0 empty
-Class QMetaTypeId2<QRectF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRectF> (0x32d35188) 0 empty
-Class QMetaTypeId2<QSize>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSize> (0x32d35230) 0 empty
-Class QMetaTypeId2<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizeF> (0x32d352d8) 0 empty
-Class QMetaTypeId2<QLine>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLine> (0x32d35380) 0 empty
-Class QMetaTypeId2<QLineF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLineF> (0x32d35428) 0 empty
-Class QMetaTypeId2<QPoint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPoint> (0x32d354d0) 0 empty
-Class QMetaTypeId2<QPointF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPointF> (0x32d35578) 0 empty
-Class QMetaTypeId2<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegExp> (0x32d35620) 0 empty
-Class QMetaTypeId2<QColorGroup>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColorGroup> (0x32d356c8) 0 empty
-Class QMetaTypeId2<QFont>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QFont> (0x32d35770) 0 empty
-Class QMetaTypeId2<QPixmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPixmap> (0x32d35818) 0 empty
-Class QMetaTypeId2<QBrush>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBrush> (0x32d358c0) 0 empty
-Class QMetaTypeId2<QColor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColor> (0x32d35968) 0 empty
-Class QMetaTypeId2<QPalette>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPalette> (0x32d35a10) 0 empty
-Class QMetaTypeId2<QIcon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QIcon> (0x32d35ab8) 0 empty
-Class QMetaTypeId2<QImage>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QImage> (0x32d35b60) 0 empty
-Class QMetaTypeId2<QPolygon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPolygon> (0x32d35c08) 0 empty
-Class QMetaTypeId2<QRegion>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegion> (0x32d35cb0) 0 empty
-Class QMetaTypeId2<QBitmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitmap> (0x32d35d58) 0 empty
-Class QMetaTypeId2<QCursor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QCursor> (0x32d35e00) 0 empty
-Class QMetaTypeId2<QSizePolicy>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizePolicy> (0x32d35ea8) 0 empty
-Class QMetaTypeId2<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QKeySequence> (0x32d35f50) 0 empty
-Class QMetaTypeId2<QPen>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPen> (0x32d4f000) 0 empty
-Class QMetaTypeId2<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextLength> (0x32d4f0a8) 0 empty
-Class QMetaTypeId2<QTextFormat>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextFormat> (0x32d4f150) 0 empty
-Class QMetaTypeId2<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMatrix> (0x32d4f1f8) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -1582,45 +1004,17 @@ Class QVariant
base size=16 base align=8
QVariant (0x32d4f268) 0
-Class QMetaTypeId2<QList<QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QList<QVariant> > (0x32d4f700) 0 empty
-Class QMetaTypeId2<QMap<QString, QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMap<QString, QVariant> > (0x32d4f7a8) 0 empty
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0x32d4f968) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0x32d4f8c0) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0x32d4fb28) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0x32d4fa80) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0x32d4fc40) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0x32d4fd58) 0 empty
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1652,80 +1046,48 @@ Class QPoint
base size=8 base align=4
QPoint (0x32e12118) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0x32e12508) 0 empty
Class QPointF
size=16 align=8
base size=16 base align=8
QPointF (0x32e12700) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0x32e12af0) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0x32e12d20) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0x32e12d90) 0 empty
Class QLineF
size=32 align=8
base size=32 base align=8
QLineF (0x32e12ee0) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0x32e12f88) 0 empty
Class QSize
size=8 align=4
base size=8 base align=4
QSize (0x32e12380) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0x32e129d8) 0 empty
Class QSizeF
size=16 align=8
base size=16 base align=8
QSizeF (0x32eb0268) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0x32eb05e8) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0x32eb0968) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0x32eb0b60) 0 empty
Class QRectF
size=32 align=8
base size=32 base align=8
QRectF (0x32eb0d90) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0x32eb0f18) 0 empty
Class QLinkedListData
size=20 align=4
@@ -1742,10 +1104,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0x32fb66c8) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0x32fb67a8) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -1762,30 +1120,18 @@ Class QDate
base size=4 base align=4
QDate (0x32fb6b98) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0x32fb6d58) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0x32fb6dc8) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0x32fb6f88) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0x32fb60e0) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0x32fb6e70) 0 empty
Vtable for QTimeLine
QTimeLine::_ZTV9QTimeLine: 15u entries
@@ -1971,10 +1317,6 @@ QEventLoop (0x3285f880) 0
QObject (0x330b9c40) 0
primary-for QEventLoop (0x3285f880)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0x330b9e00) 0
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -2081,20 +1423,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0x331795e8) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0x33179770) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0x331797e0) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0x331798f8) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -2314,10 +1648,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0x33179150) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0x33179850) 0 empty
Vtable for QSocketNotifier
QSocketNotifier::_ZTV15QSocketNotifier: 14u entries
@@ -2412,20 +1742,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0x332342a0) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0x33234348) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0x332343b8) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0x33234460) 0 empty
Class QMetaProperty
size=20 align=4
@@ -2437,10 +1759,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0x33234508) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0x332345b0) 0 empty
Vtable for QPluginLoader
QPluginLoader::_ZTV13QPluginLoader: 14u entries
@@ -2497,10 +1815,6 @@ QLibrary (0x3285fd00) 0
QObject (0x33234888) 0
primary-for QLibrary (0x3285fd00)
-Class QFlags<QLibrary::LoadHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLibrary::LoadHint> (0x33234a10) 0
Class QSemaphore
size=4 align=4
@@ -2548,10 +1862,6 @@ Class QMutex
base size=4 base align=4
QMutex (0x33234cb0) 0
-Class QMutexLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMutexLocker::<anonymous union> (0x33234e38) 0
Class QMutexLocker
size=4 align=4
@@ -2563,45 +1873,21 @@ Class QReadWriteLock
base size=4 base align=4
QReadWriteLock (0x33234ee0) 0
-Class QReadLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QReadLocker::<anonymous union> (0x33234f88) 0
Class QReadLocker
size=4 align=4
base size=4 base align=4
QReadLocker (0x33234f18) 0
-Class QWriteLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QWriteLocker::<anonymous union> (0x33234968) 0
Class QWriteLocker
size=4 align=4
base size=4 base align=4
QWriteLocker (0x33234230) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x332e81c0) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x332e8230) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x332e82a0) 0
-Class QColor::<anonymous union>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union> (0x332e8150) 0
Class QColor
size=16 align=4
@@ -2618,20 +1904,8 @@ Class QPen
base size=4 base align=4
QPen (0x332e8738) 0
-Class QTypeInfo<QPen>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPen> (0x332e88c0) 0 empty
-Class QVector<QPoint>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint>::<anonymous union> (0x332e8a80) 0
-Class QVector<QPoint>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint> (0x332e89a0) 0
Class QPolygon
size=4 align=4
@@ -2639,15 +1913,7 @@ Class QPolygon
QPolygon (0x3285fdc0) 0
QVector<QPoint> (0x332e8af0) 0
-Class QVector<QPointF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF>::<anonymous union> (0x332e8ea8) 0
-Class QVector<QPointF>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF> (0x332e8dc8) 0
Class QPolygonF
size=4 align=4
@@ -2670,10 +1936,6 @@ Class QMatrix
base size=48 base align=8
QMatrix (0x33389268) 0
-Class QTypeInfo<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMatrix> (0x333892d8) 0 empty
Vtable for QPaintDevice
QPaintDevice::_ZTV12QPaintDevice: 7u entries
@@ -2714,10 +1976,6 @@ QImage (0x3285fe80) 0
QPaintDevice (0x333895e8) 0
primary-for QImage (0x3285fe80)
-Class QTypeInfo<QImage>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QImage> (0x33389930) 0 empty
Vtable for QPixmap
QPixmap::_ZTV7QPixmap: 7u entries
@@ -2742,45 +2000,17 @@ Class QBrush
base size=4 base align=4
QBrush (0x33389bd0) 0
-Class QTypeInfo<QBrush>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBrush> (0x33389c78) 0 empty
Class QBrushData
size=72 align=8
base size=72 base align=8
QBrushData (0x33389ce8) 0
-Class QVector<QPair<double, QColor> >::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPair<double, QColor> >::<anonymous union> (0x33389f18) 0
-Class QVector<QPair<double, QColor> >
- size=4 align=4
- base size=4 base align=4
-QVector<QPair<double, QColor> > (0x33389e38) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=32 align=8
- base size=32 base align=8
-QGradient::<anonymous union>::<anonymous struct> (0x33389150) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=40 align=8
- base size=40 base align=8
-QGradient::<anonymous union>::<anonymous struct> (0x33389460) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=24 align=8
- base size=24 base align=8
-QGradient::<anonymous union>::<anonymous struct> (0x333896c8) 0
-Class QGradient::<anonymous union>
- size=40 align=8
- base size=40 base align=8
-QGradient::<anonymous union> (0x33389fc0) 0
Class QGradient
size=64 align=8
@@ -2810,30 +2040,14 @@ Class QTextLength
base size=16 base align=8
QTextLength (0x33389b60) 0
-Class QSharedDataPointer<QTextFormatPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextFormatPrivate> (0x3348e2a0) 0
Class QTextFormat
size=8 align=4
base size=8 base align=4
QTextFormat (0x3348e150) 0
-Class QVector<QTextLength>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength>::<anonymous union> (0x3348e5e8) 0
-Class QVector<QTextLength>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength> (0x3348e508) 0
-Class QFlags<QTextFormat::PageBreakFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextFormat::PageBreakFlag> (0x3348e6c8) 0
Class QTextCharFormat
size=8 align=4
@@ -2973,10 +2187,6 @@ QTextFrame (0x33508280) 0
QObject (0x3348ecb0) 0
primary-for QTextObject (0x335082c0)
-Class QTypeInfo<QTextFrame::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFrame::iterator> (0x3348edc8) 0 empty
Vtable for QTextBlockUserData
QTextBlockUserData::_ZTV18QTextBlockUserData: 4u entries
@@ -3001,25 +2211,13 @@ Class QTextBlock
base size=8 base align=4
QTextBlock (0x33582188) 0
-Class QTypeInfo<QTextBlock>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock> (0x33582508) 0 empty
-Class QTypeInfo<QTextBlock::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock::iterator> (0x335825b0) 0 empty
Class QTextFragment
size=12 align=4
base size=12 base align=4
QTextFragment (0x33582620) 0
-Class QTypeInfo<QTextFragment>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFragment> (0x335827e0) 0 empty
Class QFontMetrics
size=4 align=4
@@ -3079,20 +2277,12 @@ QTextDocument (0x33508300) 0
QObject (0x33582ab8) 0
primary-for QTextDocument (0x33508300)
-Class QFlags<QTextDocument::FindFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextDocument::FindFlag> (0x33582c78) 0
Class QTextOption
size=32 align=8
base size=28 base align=8
QTextOption (0x33582cb0) 0
-Class QFlags<QTextOption::Flag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextOption::Flag> (0x33582d90) 0
Class QTextTableCell
size=8 align=4
@@ -3133,10 +2323,6 @@ Class QKeySequence
base size=4 base align=4
QKeySequence (0x33648150) 0
-Class QTypeInfo<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QKeySequence> (0x336482d8) 0 empty
Vtable for QMimeSource
QMimeSource::_ZTV11QMimeSource: 7u entries
@@ -3434,15 +2620,7 @@ Class QInputMethodEvent::Attribute
base size=32 base align=8
QInputMethodEvent::Attribute (0x336d5508) 0
-Class QList<QInputMethodEvent::Attribute>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute>::<anonymous union> (0x336d5690) 0
-Class QList<QInputMethodEvent::Attribute>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute> (0x336d55e8) 0
Vtable for QInputMethodEvent
QInputMethodEvent::_ZTV17QInputMethodEvent: 4u entries
@@ -3741,15 +2919,7 @@ Class QTextLayout
base size=4 base align=4
QTextLayout (0x3372f968) 0
-Class QVector<QTextLayout::FormatRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange>::<anonymous union> (0x3372fc08) 0
-Class QVector<QTextLayout::FormatRange>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange> (0x3372fb28) 0
Class QTextLine
size=8 align=4
@@ -3798,10 +2968,6 @@ Class QTextDocumentFragment
base size=4 base align=4
QTextDocumentFragment (0x3372f150) 0
-Class QSharedDataPointer<QTextCursorPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextCursorPrivate> (0x3372f5b0) 0
Class QTextCursor
size=4 align=4
@@ -3824,15 +2990,7 @@ Class QAbstractTextDocumentLayout::Selection
base size=12 base align=4
QAbstractTextDocumentLayout::Selection (0x337d2428) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union> (0x337d2620) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection> (0x337d2540) 0
Class QAbstractTextDocumentLayout::PaintContext
size=56 align=8
@@ -4196,10 +3354,6 @@ Class QItemSelectionRange
base size=8 base align=4
QItemSelectionRange (0x33870bd0) 0
-Class QTypeInfo<QItemSelectionRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QItemSelectionRange> (0x33870f88) 0 empty
Vtable for QItemSelectionModel
QItemSelectionModel::_ZTV19QItemSelectionModel: 18u entries
@@ -4230,20 +3384,8 @@ QItemSelectionModel (0x33828240) 0
QObject (0x33870268) 0
primary-for QItemSelectionModel (0x33828240)
-Class QFlags<QItemSelectionModel::SelectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QItemSelectionModel::SelectionFlag> (0x339ab000) 0
-Class QList<QItemSelectionRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::<anonymous union> (0x339ab150) 0
-Class QList<QItemSelectionRange>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange> (0x339ab0a8) 0
Class QItemSelection
size=4 align=4
@@ -4450,20 +3592,12 @@ QAbstractSpinBox (0x33828480) 0
QPaintDevice (0x339ab738) 8
vptr=((& QAbstractSpinBox::_ZTV16QAbstractSpinBox) + 252u)
-Class QFlags<QAbstractSpinBox::StepEnabledFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractSpinBox::StepEnabledFlag> (0x339ab930) 0
Class QIcon
size=4 align=4
base size=4 base align=4
QIcon (0x339ab968) 0
-Class QTypeInfo<QIcon>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QIcon> (0x339aba48) 0 empty
Vtable for QAbstractSlider
QAbstractSlider::_ZTV15QAbstractSlider: 64u entries
@@ -4671,15 +3805,7 @@ QStyle (0x338286c0) 0
QObject (0x339abea8) 0
primary-for QStyle (0x338286c0)
-Class QFlags<QStyle::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::StateFlag> (0x339ab578) 0
-Class QFlags<QStyle::SubControl>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::SubControl> (0x339ab818) 0
Vtable for QTabBar
QTabBar::_ZTV7QTabBar: 67u entries
@@ -4938,10 +4064,6 @@ Class QStyleOptionFrame
QStyleOptionFrame (0x33828940) 0
QStyleOption (0x33acf540) 0
-Class QFlags<QStyleOptionFrameV2::FrameFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionFrameV2::FrameFeature> (0x33acf738) 0
Class QStyleOptionFrameV2
size=56 align=4
@@ -4968,10 +4090,6 @@ Class QStyleOptionHeader
QStyleOptionHeader (0x33828a80) 0
QStyleOption (0x33acfb98) 0
-Class QFlags<QStyleOptionButton::ButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionButton::ButtonFeature> (0x33acfd90) 0
Class QStyleOptionButton
size=64 align=4
@@ -4979,10 +4097,6 @@ Class QStyleOptionButton
QStyleOptionButton (0x33828b00) 0
QStyleOption (0x33acfcb0) 0
-Class QFlags<QStyleOptionTab::CornerWidget>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionTab::CornerWidget> (0x33acff88) 0
Class QStyleOptionTab
size=72 align=4
@@ -4997,10 +4111,6 @@ QStyleOptionTabV2 (0x33828bc0) 0
QStyleOptionTab (0x33828c00) 0
QStyleOption (0x33acf578) 0
-Class QFlags<QStyleOptionToolBar::ToolBarFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionToolBar::ToolBarFeature> (0x33b910e0) 0
Class QStyleOptionToolBar
size=68 align=4
@@ -5027,10 +4137,6 @@ Class QStyleOptionMenuItem
QStyleOptionMenuItem (0x33828d40) 0
QStyleOption (0x33b91380) 0
-Class QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature> (0x33b91578) 0
Class QStyleOptionQ3ListViewItem
size=64 align=4
@@ -5056,10 +4162,6 @@ Class QStyleOptionViewItem
QStyleOptionViewItem (0x33828e40) 0
QStyleOption (0x33b918c0) 0
-Class QFlags<QStyleOptionViewItemV2::ViewItemFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionViewItemV2::ViewItemFeature> (0x33b91ab8) 0
Class QStyleOptionViewItemV2
size=84 align=4
@@ -5100,15 +4202,7 @@ QStyleOptionSpinBox (0x33c15040) 0
QStyleOptionComplex (0x33c15080) 0
QStyleOption (0x33b917e0) 0
-Class QList<QStyleOptionQ3ListViewItem>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::<anonymous union> (0x33c25118) 0
-Class QList<QStyleOptionQ3ListViewItem>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem> (0x33c25070) 0
Class QStyleOptionQ3ListView
size=84 align=4
@@ -5117,10 +4211,6 @@ QStyleOptionQ3ListView (0x33c150c0) 0
QStyleOptionComplex (0x33c15100) 0
QStyleOption (0x33b91e00) 0
-Class QFlags<QStyleOptionToolButton::ToolButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionToolButton::ToolButtonFeature> (0x33c25380) 0
Class QStyleOptionToolButton
size=96 align=4
@@ -5328,10 +4418,6 @@ QAbstractItemView (0x33c154c0) 0
QPaintDevice (0x33c25c40) 8
vptr=((& QAbstractItemView::_ZTV17QAbstractItemView) + 392u)
-Class QFlags<QAbstractItemView::EditTrigger>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractItemView::EditTrigger> (0x33c25e38) 0
Vtable for QListView
QListView::_ZTV9QListView: 103u entries
@@ -6096,10 +5182,6 @@ QMessageBox (0x33c15cc0) 0
QPaintDevice (0x33d0abd0) 8
vptr=((& QMessageBox::_ZTV11QMessageBox) + 244u)
-Class QFlags<QMessageBox::StandardButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<QMessageBox::StandardButton> (0x33d0ae00) 0
Vtable for QProgressDialog
QProgressDialog::_ZTV15QProgressDialog: 66u entries
@@ -6350,10 +5432,6 @@ QFileDialog (0x33c15f00) 0
QPaintDevice (0x33d0aab8) 8
vptr=((& QFileDialog::_ZTV11QFileDialog) + 244u)
-Class QFlags<QFileDialog::Option>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileDialog::Option> (0x33e1a150) 0
Vtable for QAbstractPrintDialog
QAbstractPrintDialog::_ZTV20QAbstractPrintDialog: 67u entries
@@ -6439,10 +5517,6 @@ QAbstractPrintDialog (0x33e40000) 0
QPaintDevice (0x33e1a2d8) 8
vptr=((& QAbstractPrintDialog::_ZTV20QAbstractPrintDialog) + 248u)
-Class QFlags<QAbstractPrintDialog::PrintDialogOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractPrintDialog::PrintDialogOption> (0x33e1a4d0) 0
Vtable for QPrintDialog
QPrintDialog::_ZTV12QPrintDialog: 67u entries
@@ -6864,10 +5938,6 @@ QImageIOPlugin (0x33e40480) 0
QFactoryInterface (0x33e1af50) 8 nearly-empty
primary-for QImageIOHandlerFactoryInterface (0x33e404c0)
-Class QFlags<QImageIOPlugin::Capability>
- size=4 align=4
- base size=4 base align=4
-QFlags<QImageIOPlugin::Capability> (0x33e1ab28) 0
Vtable for QPicture
QPicture::_ZTV8QPicture: 8u entries
@@ -7215,50 +6285,14 @@ Class QPainter
base size=4 base align=4
QPainter (0x33f76310) 0
-Class QFlags<QPainter::RenderHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPainter::RenderHint> (0x33f767e0) 0
-Class QVector<QLineF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF>::<anonymous union> (0x33f76968) 0
-Class QVector<QLineF>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF> (0x33f76888) 0
-Class QVector<QLine>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine>::<anonymous union> (0x33f76b28) 0
-Class QVector<QLine>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine> (0x33f76a48) 0
-Class QVector<QRectF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF>::<anonymous union> (0x33f76ce8) 0
-Class QVector<QRectF>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF> (0x33f76c08) 0
-Class QVector<QRect>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect>::<anonymous union> (0x33f76ea8) 0
-Class QVector<QRect>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect> (0x33f76dc8) 0
Class QStylePainter
size=12 align=4
@@ -7276,25 +6310,13 @@ Class QPainterPath
base size=4 base align=4
QPainterPath (0x340a60a8) 0
-Class QVector<QPainterPath::Element>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element>::<anonymous union> (0x340a6540) 0
-Class QVector<QPainterPath::Element>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element> (0x340a6460) 0
Class QPainterPathPrivate
size=8 align=4
base size=8 base align=4
QPainterPathPrivate (0x340a62a0) 0
-Class QTypeInfo<QPainterPath::Element>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPainterPath::Element> (0x340a65e8) 0 empty
Class QPainterPathStroker
size=4 align=4
@@ -7306,15 +6328,7 @@ Class QTextItem
base size=0 base align=1
QTextItem (0x340a6888) 0 empty
-Class QTypeInfo<QTextItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextItem> (0x340a6930) 0 empty
-Class QFlags<QPaintEngine::PaintEngineFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::PaintEngineFeature> (0x340a6ab8) 0
Vtable for QPaintEngine
QPaintEngine::_ZTV12QPaintEngine: 24u entries
@@ -7349,25 +6363,13 @@ Class QPaintEngine
QPaintEngine (0x340a69a0) 0
vptr=((& QPaintEngine::_ZTV12QPaintEngine) + 8u)
-Class QFlags<QPaintEngine::DirtyFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::DirtyFlag> (0x340a6cb0) 0
Class QPaintEngineState
size=4 align=4
base size=4 base align=4
QPaintEngineState (0x340a6c08) 0
-Class QFlags<QTextItem::RenderFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextItem::RenderFlag> (0x340a6d20) 0
-Class QFlags<QTreeWidgetItemIterator::IteratorFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTreeWidgetItemIterator::IteratorFlag> (0x340a6e38) 0
Class QTreeWidgetItemIterator
size=12 align=4
@@ -7457,15 +6459,7 @@ QStringListModel (0x33e40900) 0
QObject (0x340a6dc8) 0
primary-for QAbstractItemModel (0x33e40980)
-Class QVector<QWidgetItemData>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData>::<anonymous union> (0x341852a0) 0
-Class QVector<QWidgetItemData>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData> (0x341851c0) 0
Vtable for QListWidgetItem
QListWidgetItem::_ZTV15QListWidgetItem: 11u entries
@@ -7708,15 +6702,7 @@ Class QStandardItem
QStandardItem (0x34185b98) 0
vptr=((& QStandardItem::_ZTV13QStandardItem) + 8u)
-Class QList<QStandardItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QStandardItem*>::<anonymous union> (0x34185f50) 0
-Class QList<QStandardItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QStandardItem*> (0x34185ea8) 0
Vtable for QStandardItemModel
QStandardItemModel::_ZTV18QStandardItemModel: 42u entries
@@ -8537,15 +7523,7 @@ Class QItemEditorCreatorBase
QItemEditorCreatorBase (0x3429ddc8) 0 nearly-empty
vptr=((& QItemEditorCreatorBase::_ZTV22QItemEditorCreatorBase) + 8u)
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union> (0x3429dea8) 0
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*> (0x3429d578) 0
Vtable for QItemEditorFactory
QItemEditorFactory::_ZTV18QItemEditorFactory: 6u entries
@@ -8562,25 +7540,9 @@ Class QItemEditorFactory
QItemEditorFactory (0x3429d118) 0
vptr=((& QItemEditorFactory::_ZTV18QItemEditorFactory) + 8u)
-Class QVector<QVector<QWidgetItemData> >::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> >::<anonymous union> (0x343b83b8) 0
-Class QVector<QVector<QWidgetItemData> >
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> > (0x343b82d8) 0
-Class QList<QTreeWidgetItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::<anonymous union> (0x343b8540) 0
-Class QList<QTreeWidgetItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*> (0x343b8498) 0
Vtable for QTreeWidgetItem
QTreeWidgetItem::_ZTV15QTreeWidgetItem: 10u entries
@@ -8807,15 +7769,7 @@ Class QAccessible
base size=0 base align=1
QAccessible (0x343b8f18) 0 empty
-Class QFlags<QAccessible::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::StateFlag> (0x343b8118) 0
-Class QFlags<QAccessible::RelationFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::RelationFlag> (0x343b8428) 0
Vtable for QAccessibleInterface
QAccessibleInterface::_ZTV20QAccessibleInterface: 19u entries
@@ -9768,15 +8722,7 @@ QActionGroup (0x34586240) 0
QObject (0x34590620) 0
primary-for QActionGroup (0x34586240)
-Class QList<QAction*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QAction*>::<anonymous union> (0x34590850) 0
-Class QList<QAction*>
- size=4 align=4
- base size=4 base align=4
-QList<QAction*> (0x345907a8) 0
Vtable for QSound
QSound::_ZTV6QSound: 14u entries
@@ -9946,10 +8892,6 @@ QCommonStyle (0x345863c0) 0
QObject (0x34590dc8) 0
primary-for QStyle (0x34586400)
-Class QPointer<QFocusFrame>
- size=4 align=4
- base size=4 base align=4
-QPointer<QFocusFrame> (0x34590fc0) 0
Vtable for QMotifStyle
QMotifStyle::_ZTV11QMotifStyle: 35u entries
@@ -10471,15 +9413,7 @@ Class QGraphicsItem
QGraphicsItem (0x34697c08) 0
vptr=((& QGraphicsItem::_ZTV13QGraphicsItem) + 8u)
-Class QFlags<QGraphicsItem::GraphicsItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGraphicsItem::GraphicsItemFlag> (0x34697f18) 0
-Class QMetaTypeId<QGraphicsItem*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QGraphicsItem*> (0x34697f88) 0 empty
Vtable for QAbstractGraphicsShapeItem
QAbstractGraphicsShapeItem::_ZTV26QAbstractGraphicsShapeItem: 39u entries
@@ -11252,20 +10186,8 @@ QGraphicsView (0x347d6100) 0
QPaintDevice (0x347ae428) 8
vptr=((& QGraphicsView::_ZTV13QGraphicsView) + 252u)
-Class QFlags<QGraphicsView::CacheModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGraphicsView::CacheModeFlag> (0x347ae620) 0
-Class QList<QGraphicsItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QGraphicsItem*>::<anonymous union> (0x347ae738) 0
-Class QList<QGraphicsItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QGraphicsItem*> (0x347ae690) 0
Vtable for QGraphicsSceneEvent
QGraphicsSceneEvent::_ZTV19QGraphicsSceneEvent: 4u entries
@@ -12517,10 +11439,6 @@ QDateEdit (0x347d6e00) 0
QPaintDevice (0x349a23f0) 8
vptr=((& QDateEdit::_ZTV9QDateEdit) + 260u)
-Class QFlags<QDateTimeEdit::Section>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDateTimeEdit::Section> (0x349a25b0) 0
Vtable for QLabel
QLabel::_ZTV6QLabel: 63u entries
@@ -12680,10 +11598,6 @@ QDockWidget (0x347d6fc0) 0
QPaintDevice (0x349a27e0) 8
vptr=((& QDockWidget::_ZTV11QDockWidget) + 232u)
-Class QFlags<QDockWidget::DockWidgetFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDockWidget::DockWidgetFeature> (0x349a2a48) 0
Vtable for QGroupBox
QGroupBox::_ZTV9QGroupBox: 63u entries
@@ -12841,10 +11755,6 @@ QDialogButtonBox (0x349ff0c0) 0
QPaintDevice (0x349a2c78) 8
vptr=((& QDialogButtonBox::_ZTV16QDialogButtonBox) + 232u)
-Class QFlags<QDialogButtonBox::StandardButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDialogButtonBox::StandardButton> (0x349a2e70) 0
Vtable for QMainWindow
QMainWindow::_ZTV11QMainWindow: 64u entries
@@ -13018,10 +11928,6 @@ QTextEdit (0x349ff1c0) 0
QPaintDevice (0x349a26c8) 8
vptr=((& QTextEdit::_ZTV9QTextEdit) + 256u)
-Class QFlags<QTextEdit::AutoFormattingFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextEdit::AutoFormattingFlag> (0x34a9b188) 0
Vtable for QProgressBar
QProgressBar::_ZTV12QProgressBar: 64u entries
@@ -14024,10 +12930,6 @@ QFontComboBox (0x349ffac0) 0
QPaintDevice (0x34b9b818) 8
vptr=((& QFontComboBox::_ZTV13QFontComboBox) + 240u)
-Class QFlags<QFontComboBox::FontFilter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFontComboBox::FontFilter> (0x34b9ba10) 0
Vtable for QToolBar
QToolBar::_ZTV8QToolBar: 63u entries
@@ -14567,20 +13469,12 @@ Class QNetworkAddressEntry
base size=4 base align=4
QNetworkAddressEntry (0x34cab930) 0
-Class QSharedDataPointer<QNetworkInterfacePrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QNetworkInterfacePrivate> (0x34cabb28) 0
Class QNetworkInterface
size=4 align=4
base size=4 base align=4
QNetworkInterface (0x34cab968) 0
-Class QFlags<QNetworkInterface::InterfaceFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QNetworkInterface::InterfaceFlag> (0x34cabc08) 0
Class QHostInfo
size=4 align=4
@@ -14714,10 +13608,6 @@ QUdpSocket (0x34cf1140) 0
QObject (0x34cab230) 0
primary-for QIODevice (0x34cf11c0)
-Class QFlags<QUdpSocket::BindFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUdpSocket::BindFlag> (0x34cabd90) 0
Vtable for QTcpSocket
QTcpSocket::_ZTV10QTcpSocket: 30u entries
@@ -14769,15 +13659,7 @@ Class QSqlRecord
base size=4 base align=4
QSqlRecord (0x34d970e0) 0
-Class QList<bool>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<bool>::<anonymous union> (0x34d972a0) 0
-Class QList<bool>
- size=4 align=4
- base size=4 base align=4
-QList<bool> (0x34d971f8) 0
Class QSqlIndex
size=16 align=4
@@ -14785,10 +13667,6 @@ Class QSqlIndex
QSqlIndex (0x34cf12c0) 0
QSqlRecord (0x34d97118) 0
-Class QFlags<QSql::ParamTypeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QSql::ParamTypeFlag> (0x34d973f0) 0
Vtable for QSqlResult
QSqlResult::_ZTV10QSqlResult: 29u entries
@@ -15465,29 +14343,7 @@ Q3GVector (0x34cf1980) 0
Q3PtrCollection (0x34e92620) 0
primary-for Q3GVector (0x34cf1980)
-Vtable for Q3PtrVector<void>
-Q3PtrVector<void>::_ZTV11Q3PtrVectorIvE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI11Q3PtrVectorIvE)
-8 Q3PtrVector<type>::count [with type = void]
-12 Q3PtrVector<type>::clear [with type = void]
-16 Q3PtrVector<type>::~Q3PtrVector [with type = void]
-20 Q3PtrVector<type>::~Q3PtrVector [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3PtrVector<type>::deleteItem [with type = void]
-32 Q3GVector::compareItems
-36 Q3GVector::read
-40 Q3GVector::write
-Class Q3PtrVector<void>
- size=20 align=4
- base size=20 base align=4
-Q3PtrVector<void> (0x34cf1a40) 0
- vptr=((& Q3PtrVector<void>::_ZTV11Q3PtrVectorIvE) + 8u)
- Q3GVector (0x34cf1a80) 0
- primary-for Q3PtrVector<void> (0x34cf1a40)
- Q3PtrCollection (0x34e92818) 0
- primary-for Q3GVector (0x34cf1a80)
Vtable for Q3Header
Q3Header::_ZTV8Q3Header: 76u entries
@@ -15644,29 +14500,7 @@ Class Q3GListStdIterator
base size=4 base align=4
Q3GListStdIterator (0x34e928c0) 0
-Vtable for Q3PtrList<void>
-Q3PtrList<void>::_ZTV9Q3PtrListIvE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI9Q3PtrListIvE)
-8 Q3PtrList<type>::count [with type = void]
-12 Q3PtrList<type>::clear [with type = void]
-16 Q3PtrList<type>::~Q3PtrList [with type = void]
-20 Q3PtrList<type>::~Q3PtrList [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3PtrList<type>::deleteItem [with type = void]
-32 Q3GList::compareItems
-36 Q3GList::read
-40 Q3GList::write
-Class Q3PtrList<void>
- size=32 align=4
- base size=32 base align=4
-Q3PtrList<void> (0x34cf1cc0) 0
- vptr=((& Q3PtrList<void>::_ZTV9Q3PtrListIvE) + 8u)
- Q3GList (0x34cf1d00) 0
- primary-for Q3PtrList<void> (0x34cf1cc0)
- Q3PtrCollection (0x34f70118) 0
- primary-for Q3GList (0x34cf1d00)
Class Q3BaseBucket
size=8 align=4
@@ -15723,28 +14557,7 @@ Class Q3GDictIterator
base size=12 base align=4
Q3GDictIterator (0x34f70658) 0
-Vtable for Q3IntDict<void>
-Q3IntDict<void>::_ZTV9Q3IntDictIvE: 10u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI9Q3IntDictIvE)
-8 Q3IntDict<type>::count [with type = void]
-12 Q3IntDict<type>::clear [with type = void]
-16 Q3IntDict<type>::~Q3IntDict [with type = void]
-20 Q3IntDict<type>::~Q3IntDict [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3IntDict<type>::deleteItem [with type = void]
-32 Q3GDict::read
-36 Q3GDict::write
-Class Q3IntDict<void>
- size=28 align=4
- base size=28 base align=4
-Q3IntDict<void> (0x34cf1f80) 0
- vptr=((& Q3IntDict<void>::_ZTV9Q3IntDictIvE) + 8u)
- Q3GDict (0x34cf1fc0) 0
- primary-for Q3IntDict<void> (0x34cf1f80)
- Q3PtrCollection (0x34f70850) 0
- primary-for Q3GDict (0x34cf1fc0)
Class Q3TableSelection
size=28 align=4
@@ -15855,100 +14668,13 @@ Class Q3Table::TableWidget
base size=12 base align=4
Q3Table::TableWidget (0x34f70e70) 0
-Vtable for Q3PtrVector<Q3TableItem>
-Q3PtrVector<Q3TableItem>::_ZTV11Q3PtrVectorI11Q3TableItemE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI11Q3PtrVectorI11Q3TableItemE)
-8 Q3PtrVector<type>::count [with type = Q3TableItem]
-12 Q3PtrVector<type>::clear [with type = Q3TableItem]
-16 Q3PtrVector<type>::~Q3PtrVector [with type = Q3TableItem]
-20 Q3PtrVector<type>::~Q3PtrVector [with type = Q3TableItem]
-24 Q3PtrCollection::newItem
-28 Q3PtrVector<type>::deleteItem [with type = Q3TableItem]
-32 Q3GVector::compareItems
-36 Q3GVector::read
-40 Q3GVector::write
-Class Q3PtrVector<Q3TableItem>
- size=20 align=4
- base size=20 base align=4
-Q3PtrVector<Q3TableItem> (0x34fe3200) 0
- vptr=((& Q3PtrVector<Q3TableItem>::_ZTV11Q3PtrVectorI11Q3TableItemE) + 8u)
- Q3GVector (0x34fe3240) 0
- primary-for Q3PtrVector<Q3TableItem> (0x34fe3200)
- Q3PtrCollection (0x34f70f88) 0
- primary-for Q3GVector (0x34fe3240)
-
-Vtable for Q3PtrVector<QWidget>
-Q3PtrVector<QWidget>::_ZTV11Q3PtrVectorI7QWidgetE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI11Q3PtrVectorI7QWidgetE)
-8 Q3PtrVector<type>::count [with type = QWidget]
-12 Q3PtrVector<type>::clear [with type = QWidget]
-16 Q3PtrVector<type>::~Q3PtrVector [with type = QWidget]
-20 Q3PtrVector<type>::~Q3PtrVector [with type = QWidget]
-24 Q3PtrCollection::newItem
-28 Q3PtrVector<type>::deleteItem [with type = QWidget]
-32 Q3GVector::compareItems
-36 Q3GVector::read
-40 Q3GVector::write
-Class Q3PtrVector<QWidget>
- size=20 align=4
- base size=20 base align=4
-Q3PtrVector<QWidget> (0x34fe3280) 0
- vptr=((& Q3PtrVector<QWidget>::_ZTV11Q3PtrVectorI7QWidgetE) + 8u)
- Q3GVector (0x34fe32c0) 0
- primary-for Q3PtrVector<QWidget> (0x34fe3280)
- Q3PtrCollection (0x34f70c40) 0
- primary-for Q3GVector (0x34fe32c0)
-
-Vtable for Q3PtrList<Q3TableSelection>
-Q3PtrList<Q3TableSelection>::_ZTV9Q3PtrListI16Q3TableSelectionE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI9Q3PtrListI16Q3TableSelectionE)
-8 Q3PtrList<type>::count [with type = Q3TableSelection]
-12 Q3PtrList<type>::clear [with type = Q3TableSelection]
-16 Q3PtrList<type>::~Q3PtrList [with type = Q3TableSelection]
-20 Q3PtrList<type>::~Q3PtrList [with type = Q3TableSelection]
-24 Q3PtrCollection::newItem
-28 Q3PtrList<type>::deleteItem [with type = Q3TableSelection]
-32 Q3GList::compareItems
-36 Q3GList::read
-40 Q3GList::write
-Class Q3PtrList<Q3TableSelection>
- size=32 align=4
- base size=32 base align=4
-Q3PtrList<Q3TableSelection> (0x34fe3300) 0
- vptr=((& Q3PtrList<Q3TableSelection>::_ZTV9Q3PtrListI16Q3TableSelectionE) + 8u)
- Q3GList (0x34fe3340) 0
- primary-for Q3PtrList<Q3TableSelection> (0x34fe3300)
- Q3PtrCollection (0x35042118) 0
- primary-for Q3GList (0x34fe3340)
-
-Vtable for Q3IntDict<int>
-Q3IntDict<int>::_ZTV9Q3IntDictIiE: 10u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI9Q3IntDictIiE)
-8 Q3IntDict<type>::count [with type = int]
-12 Q3IntDict<type>::clear [with type = int]
-16 Q3IntDict<type>::~Q3IntDict [with type = int]
-20 Q3IntDict<type>::~Q3IntDict [with type = int]
-24 Q3PtrCollection::newItem
-28 Q3IntDict<type>::deleteItem [with type = int]
-32 Q3GDict::read
-36 Q3GDict::write
-Class Q3IntDict<int>
- size=28 align=4
- base size=28 base align=4
-Q3IntDict<int> (0x34fe3380) 0
- vptr=((& Q3IntDict<int>::_ZTV9Q3IntDictIiE) + 8u)
- Q3GDict (0x34fe33c0) 0
- primary-for Q3IntDict<int> (0x34fe3380)
- Q3PtrCollection (0x35042310) 0
- primary-for Q3GDict (0x34fe33c0)
+
+
+
Vtable for Q3Table
Q3Table::_ZTV7Q3Table: 183u entries
@@ -16672,21 +15398,8 @@ Class Q3SqlPropertyMap
Q3SqlPropertyMap (0x35042e38) 0
vptr=((& Q3SqlPropertyMap::_ZTV16Q3SqlPropertyMap) + 8u)
-Class QLinkedList<Q3SqlFieldInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QLinkedList<Q3SqlFieldInfo>::<anonymous union> (0x35112460) 0
-Class QLinkedList<Q3SqlFieldInfo>
- size=4 align=4
- base size=4 base align=4
-QLinkedList<Q3SqlFieldInfo> (0x35112380) 0
-Class Q3ValueList<Q3SqlFieldInfo>
- size=4 align=4
- base size=4 base align=4
-Q3ValueList<Q3SqlFieldInfo> (0x34fe3840) 0
- QLinkedList<Q3SqlFieldInfo> (0x35112498) 0
Class Q3SqlRecordInfo
size=4 align=4
@@ -16695,31 +15408,10 @@ Q3SqlRecordInfo (0x34fe38c0) 0
Q3ValueList<Q3SqlFieldInfo> (0x34fe3900) 0
QLinkedList<Q3SqlFieldInfo> (0x351125b0) 0
-Class QList<Q3SqlFieldInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<Q3SqlFieldInfo>::<anonymous union> (0x35112770) 0
-Class QList<Q3SqlFieldInfo>
- size=4 align=4
- base size=4 base align=4
-QList<Q3SqlFieldInfo> (0x351126c8) 0
-Class QLinkedList<Q3SqlFieldInfo>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QLinkedList<Q3SqlFieldInfo>::const_iterator (0x35112a80) 0
-Class Q3ValueListConstIterator<Q3SqlFieldInfo>
- size=4 align=4
- base size=4 base align=4
-Q3ValueListConstIterator<Q3SqlFieldInfo> (0x34fe3940) 0
- QLinkedList<Q3SqlFieldInfo>::const_iterator (0x35112ab8) 0
-Class QLinkedList<Q3SqlFieldInfo>::iterator
- size=4 align=4
- base size=4 base align=4
-QLinkedList<Q3SqlFieldInfo>::iterator (0x35112b60) 0
Vtable for Q3DataView
Q3DataView::_ZTV10Q3DataView: 69u entries
@@ -16810,15 +15502,7 @@ Class Q3StyleSheetItem
base size=4 base align=4
Q3StyleSheetItem (0x35112f18) 0
-Class QHash<QString, Q3StyleSheetItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QHash<QString, Q3StyleSheetItem*>::<anonymous union> (0x351be038) 0
-Class QHash<QString, Q3StyleSheetItem*>
- size=4 align=4
- base size=4 base align=4
-QHash<QString, Q3StyleSheetItem*> (0x351129d8) 0
Vtable for Q3StyleSheet
Q3StyleSheet::_ZTV12Q3StyleSheet: 16u entries
@@ -16879,25 +15563,9 @@ Class Q3TextEditOptimPrivate::Selection
base size=8 base align=4
Q3TextEditOptimPrivate::Selection (0x351be3b8) 0
-Class QMap<int, QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<int, QString>::<anonymous union> (0x351be540) 0
-Class QMap<int, QString>
- size=4 align=4
- base size=4 base align=4
-QMap<int, QString> (0x351be498) 0
-Class QMap<int, Q3TextEditOptimPrivate::Tag*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<int, Q3TextEditOptimPrivate::Tag*>::<anonymous union> (0x351be738) 0
-Class QMap<int, Q3TextEditOptimPrivate::Tag*>
- size=4 align=4
- base size=4 base align=4
-QMap<int, Q3TextEditOptimPrivate::Tag*> (0x351be690) 0
Class Q3TextEditOptimPrivate
size=52 align=4
@@ -17105,10 +15773,6 @@ Q3TextEdit (0x34fe3b00) 0
QPaintDevice (0x351be9a0) 8
vptr=((& Q3TextEdit::_ZTV10Q3TextEdit) + 680u)
-Class QFlags<Q3TextEdit::AutoFormattingFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Q3TextEdit::AutoFormattingFlag> (0x351bebd0) 0
Vtable for Q3SyntaxHighlighter
Q3SyntaxHighlighter::_ZTV19Q3SyntaxHighlighter: 5u entries
@@ -18062,28 +16726,7 @@ Class Q3Url
Q3Url (0x3536e188) 0
vptr=((& Q3Url::_ZTV5Q3Url) + 8u)
-Vtable for Q3Dict<void>
-Q3Dict<void>::_ZTV6Q3DictIvE: 10u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI6Q3DictIvE)
-8 Q3Dict<type>::count [with type = void]
-12 Q3Dict<type>::clear [with type = void]
-16 Q3Dict<type>::~Q3Dict [with type = void]
-20 Q3Dict<type>::~Q3Dict [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3Dict<type>::deleteItem [with type = void]
-32 Q3GDict::read
-36 Q3GDict::write
-Class Q3Dict<void>
- size=28 align=4
- base size=28 base align=4
-Q3Dict<void> (0x35319400) 0
- vptr=((& Q3Dict<void>::_ZTV6Q3DictIvE) + 8u)
- Q3GDict (0x35319440) 0
- primary-for Q3Dict<void> (0x35319400)
- Q3PtrCollection (0x3536e3b8) 0
- primary-for Q3GDict (0x35319440)
Vtable for Q3NetworkProtocolFactoryBase
Q3NetworkProtocolFactoryBase::_ZTV28Q3NetworkProtocolFactoryBase: 5u entries
@@ -18444,29 +17087,7 @@ Q3Accel (0x35319780) 0
QObject (0x354182a0) 0
primary-for Q3Accel (0x35319780)
-Vtable for Q3PtrList<char>
-Q3PtrList<char>::_ZTV9Q3PtrListIcE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI9Q3PtrListIcE)
-8 Q3PtrList<type>::count [with type = char]
-12 Q3PtrList<type>::clear [with type = char]
-16 Q3PtrList<type>::~Q3PtrList [with type = char]
-20 Q3PtrList<type>::~Q3PtrList [with type = char]
-24 Q3PtrCollection::newItem
-28 Q3PtrList<type>::deleteItem [with type = char]
-32 Q3GList::compareItems
-36 Q3GList::read
-40 Q3GList::write
-Class Q3PtrList<char>
- size=32 align=4
- base size=32 base align=4
-Q3PtrList<char> (0x353197c0) 0
- vptr=((& Q3PtrList<char>::_ZTV9Q3PtrListIcE) + 8u)
- Q3GList (0x35319800) 0
- primary-for Q3PtrList<char> (0x353197c0)
- Q3PtrCollection (0x35418460) 0
- primary-for Q3GList (0x35319800)
Vtable for Q3StrList
Q3StrList::_ZTV9Q3StrList: 11u entries
@@ -18494,11 +17115,6 @@ Q3StrList (0x35319840) 0
Q3PtrCollection (0x354185b0) 0
primary-for Q3GList (0x353198c0)
-Class Q3PtrListStdIterator<char>
- size=4 align=4
- base size=4 base align=4
-Q3PtrListStdIterator<char> (0x35319900) 0
- Q3GListStdIterator (0x35418930) 0
Vtable for Q3StrIList
Q3StrIList::_ZTV10Q3StrIList: 11u entries
@@ -19048,29 +17664,7 @@ Q3Process (0x354f8040) 0
QObject (0x354e7658) 0
primary-for Q3Process (0x354f8040)
-Vtable for Q3PtrQueue<void>
-Q3PtrQueue<void>::_ZTV10Q3PtrQueueIvE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI10Q3PtrQueueIvE)
-8 Q3PtrQueue<type>::count [with type = void]
-12 Q3PtrQueue<type>::clear [with type = void]
-16 Q3PtrQueue<type>::~Q3PtrQueue [with type = void]
-20 Q3PtrQueue<type>::~Q3PtrQueue [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3PtrQueue<type>::deleteItem [with type = void]
-32 Q3GList::compareItems
-36 Q3GList::read
-40 Q3GList::write
-Class Q3PtrQueue<void>
- size=32 align=4
- base size=32 base align=4
-Q3PtrQueue<void> (0x354f8100) 0
- vptr=((& Q3PtrQueue<void>::_ZTV10Q3PtrQueueIvE) + 8u)
- Q3GList (0x354f8140) 0
- primary-for Q3PtrQueue<void> (0x354f8100)
- Q3PtrCollection (0x354e7888) 0
- primary-for Q3GList (0x354f8140)
Vtable for Q3Signal
Q3Signal::_ZTV8Q3Signal: 14u entries
@@ -19097,75 +17691,11 @@ Q3Signal (0x354f8180) 0
QObject (0x354e7a80) 0
primary-for Q3Signal (0x354f8180)
-Vtable for Q3AsciiDict<void>
-Q3AsciiDict<void>::_ZTV11Q3AsciiDictIvE: 10u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI11Q3AsciiDictIvE)
-8 Q3AsciiDict<type>::count [with type = void]
-12 Q3AsciiDict<type>::clear [with type = void]
-16 Q3AsciiDict<type>::~Q3AsciiDict [with type = void]
-20 Q3AsciiDict<type>::~Q3AsciiDict [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3AsciiDict<type>::deleteItem [with type = void]
-32 Q3GDict::read
-36 Q3GDict::write
-Class Q3AsciiDict<void>
- size=28 align=4
- base size=28 base align=4
-Q3AsciiDict<void> (0x354f8240) 0
- vptr=((& Q3AsciiDict<void>::_ZTV11Q3AsciiDictIvE) + 8u)
- Q3GDict (0x354f8280) 0
- primary-for Q3AsciiDict<void> (0x354f8240)
- Q3PtrCollection (0x354e7d20) 0
- primary-for Q3GDict (0x354f8280)
-
-Vtable for Q3PtrStack<void>
-Q3PtrStack<void>::_ZTV10Q3PtrStackIvE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI10Q3PtrStackIvE)
-8 Q3PtrStack<type>::count [with type = void]
-12 Q3PtrStack<type>::clear [with type = void]
-16 Q3PtrStack<type>::~Q3PtrStack [with type = void]
-20 Q3PtrStack<type>::~Q3PtrStack [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3PtrStack<type>::deleteItem [with type = void]
-32 Q3GList::compareItems
-36 Q3GList::read
-40 Q3GList::write
-Class Q3PtrStack<void>
- size=32 align=4
- base size=32 base align=4
-Q3PtrStack<void> (0x354f8380) 0
- vptr=((& Q3PtrStack<void>::_ZTV10Q3PtrStackIvE) + 8u)
- Q3GList (0x354f83c0) 0
- primary-for Q3PtrStack<void> (0x354f8380)
- Q3PtrCollection (0x354e7348) 0
- primary-for Q3GList (0x354f83c0)
-Vtable for Q3AsciiDict<QMetaObject>
-Q3AsciiDict<QMetaObject>::_ZTV11Q3AsciiDictI11QMetaObjectE: 10u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI11Q3AsciiDictI11QMetaObjectE)
-8 Q3AsciiDict<type>::count [with type = QMetaObject]
-12 Q3AsciiDict<type>::clear [with type = QMetaObject]
-16 Q3AsciiDict<type>::~Q3AsciiDict [with type = QMetaObject]
-20 Q3AsciiDict<type>::~Q3AsciiDict [with type = QMetaObject]
-24 Q3PtrCollection::newItem
-28 Q3AsciiDict<type>::deleteItem [with type = QMetaObject]
-32 Q3GDict::read
-36 Q3GDict::write
-Class Q3AsciiDict<QMetaObject>
- size=28 align=4
- base size=28 base align=4
-Q3AsciiDict<QMetaObject> (0x354f8400) 0
- vptr=((& Q3AsciiDict<QMetaObject>::_ZTV11Q3AsciiDictI11QMetaObjectE) + 8u)
- Q3GDict (0x354f8440) 0
- primary-for Q3AsciiDict<QMetaObject> (0x354f8400)
- Q3PtrCollection (0x35568000) 0
- primary-for Q3GDict (0x354f8440)
+
Vtable for Q3ObjectDictionary
Q3ObjectDictionary::_ZTV18Q3ObjectDictionary: 10u entries
@@ -19216,91 +17746,13 @@ Class Q3GCacheIterator
base size=4 base align=4
Q3GCacheIterator (0x35568498) 0
-Vtable for Q3Cache<void>
-Q3Cache<void>::_ZTV7Q3CacheIvE: 8u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI7Q3CacheIvE)
-8 Q3Cache<type>::count [with type = void]
-12 Q3Cache<type>::clear [with type = void]
-16 Q3Cache<type>::~Q3Cache [with type = void]
-20 Q3Cache<type>::~Q3Cache [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3Cache<type>::deleteItem [with type = void]
-Class Q3Cache<void>
- size=32 align=4
- base size=29 base align=4
-Q3Cache<void> (0x354f8640) 0
- vptr=((& Q3Cache<void>::_ZTV7Q3CacheIvE) + 8u)
- Q3GCache (0x354f8680) 0
- primary-for Q3Cache<void> (0x354f8640)
- Q3PtrCollection (0x355685b0) 0
- primary-for Q3GCache (0x354f8680)
-
-Vtable for Q3IntCache<void>
-Q3IntCache<void>::_ZTV10Q3IntCacheIvE: 8u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI10Q3IntCacheIvE)
-8 Q3IntCache<type>::count [with type = void]
-12 Q3IntCache<type>::clear [with type = void]
-16 Q3IntCache<type>::~Q3IntCache [with type = void]
-20 Q3IntCache<type>::~Q3IntCache [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3IntCache<type>::deleteItem [with type = void]
-Class Q3IntCache<void>
- size=32 align=4
- base size=29 base align=4
-Q3IntCache<void> (0x354f87c0) 0
- vptr=((& Q3IntCache<void>::_ZTV10Q3IntCacheIvE) + 8u)
- Q3GCache (0x354f8800) 0
- primary-for Q3IntCache<void> (0x354f87c0)
- Q3PtrCollection (0x355688c0) 0
- primary-for Q3GCache (0x354f8800)
-
-Vtable for Q3PtrDict<void>
-Q3PtrDict<void>::_ZTV9Q3PtrDictIvE: 10u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI9Q3PtrDictIvE)
-8 Q3PtrDict<type>::count [with type = void]
-12 Q3PtrDict<type>::clear [with type = void]
-16 Q3PtrDict<type>::~Q3PtrDict [with type = void]
-20 Q3PtrDict<type>::~Q3PtrDict [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3PtrDict<type>::deleteItem [with type = void]
-32 Q3GDict::read
-36 Q3GDict::write
-Class Q3PtrDict<void>
- size=28 align=4
- base size=28 base align=4
-Q3PtrDict<void> (0x354f8900) 0
- vptr=((& Q3PtrDict<void>::_ZTV9Q3PtrDictIvE) + 8u)
- Q3GDict (0x354f8940) 0
- primary-for Q3PtrDict<void> (0x354f8900)
- Q3PtrCollection (0x35568b60) 0
- primary-for Q3GDict (0x354f8940)
-
-Vtable for Q3AsciiCache<void>
-Q3AsciiCache<void>::_ZTV12Q3AsciiCacheIvE: 8u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI12Q3AsciiCacheIvE)
-8 Q3AsciiCache<type>::count [with type = void]
-12 Q3AsciiCache<type>::clear [with type = void]
-16 Q3AsciiCache<type>::~Q3AsciiCache [with type = void]
-20 Q3AsciiCache<type>::~Q3AsciiCache [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3AsciiCache<type>::deleteItem [with type = void]
-Class Q3AsciiCache<void>
- size=32 align=4
- base size=29 base align=4
-Q3AsciiCache<void> (0x354f8a80) 0
- vptr=((& Q3AsciiCache<void>::_ZTV12Q3AsciiCacheIvE) + 8u)
- Q3GCache (0x354f8ac0) 0
- primary-for Q3AsciiCache<void> (0x354f8a80)
- Q3PtrCollection (0x35568f50) 0
- primary-for Q3GCache (0x354f8ac0)
+
+
+
Vtable for Q3Semaphore
Q3Semaphore::_ZTV11Q3Semaphore: 4u entries
@@ -19315,29 +17767,7 @@ Class Q3Semaphore
Q3Semaphore (0x35614000) 0
vptr=((& Q3Semaphore::_ZTV11Q3Semaphore) + 8u)
-Vtable for Q3PtrVector<char>
-Q3PtrVector<char>::_ZTV11Q3PtrVectorIcE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI11Q3PtrVectorIcE)
-8 Q3PtrVector<type>::count [with type = char]
-12 Q3PtrVector<type>::clear [with type = char]
-16 Q3PtrVector<type>::~Q3PtrVector [with type = char]
-20 Q3PtrVector<type>::~Q3PtrVector [with type = char]
-24 Q3PtrCollection::newItem
-28 Q3PtrVector<type>::deleteItem [with type = char]
-32 Q3GVector::compareItems
-36 Q3GVector::read
-40 Q3GVector::write
-Class Q3PtrVector<char>
- size=20 align=4
- base size=20 base align=4
-Q3PtrVector<char> (0x354f8b80) 0
- vptr=((& Q3PtrVector<char>::_ZTV11Q3PtrVectorIcE) + 8u)
- Q3GVector (0x354f8bc0) 0
- primary-for Q3PtrVector<char> (0x354f8b80)
- Q3PtrCollection (0x356141c0) 0
- primary-for Q3GVector (0x354f8bc0)
Vtable for Q3StrVec
Q3StrVec::_ZTV8Q3StrVec: 11u entries
@@ -19432,21 +17862,8 @@ Class Q3PaintDeviceMetrics
base size=4 base align=4
Q3PaintDeviceMetrics (0x356140e0) 0
-Class QLinkedList<Q3CanvasItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QLinkedList<Q3CanvasItem*>::<anonymous union> (0x3566f118) 0
-Class QLinkedList<Q3CanvasItem*>
- size=4 align=4
- base size=4 base align=4
-QLinkedList<Q3CanvasItem*> (0x3566f038) 0
-Class Q3ValueList<Q3CanvasItem*>
- size=4 align=4
- base size=4 base align=4
-Q3ValueList<Q3CanvasItem*> (0x354f8f00) 0
- QLinkedList<Q3CanvasItem*> (0x3566f150) 0
Class Q3CanvasItemList
size=4 align=4
@@ -20783,15 +19200,7 @@ Q3SocketDevice (0x3569eb40) 0
QObject (0x3582a1c0) 0
primary-for QIODevice (0x3569eb80)
-Class QMap<QString, QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QString>::<anonymous union> (0x3582a428) 0
-Class QMap<QString, QString>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QString> (0x3582a380) 0
Vtable for Q3HttpHeader
Q3HttpHeader::_ZTV12Q3HttpHeader: 8u entries
@@ -22116,15 +20525,7 @@ Q3VBox (0x35903700) 0
QPaintDevice (0x35904d90) 8
vptr=((& Q3VBox::_ZTV6Q3VBox) + 244u)
-Class QMap<int, QAbstractButton*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<int, QAbstractButton*>::<anonymous union> (0x359c32d8) 0
-Class QMap<int, QAbstractButton*>
- size=4 align=4
- base size=4 base align=4
-QMap<int, QAbstractButton*> (0x359c3230) 0
Vtable for Q3ButtonGroup
Q3ButtonGroup::_ZTV13Q3ButtonGroup: 64u entries
@@ -23307,25 +21708,9 @@ Q3MainWindow (0x35a74440) 0
QPaintDevice (0x35a7c9d8) 8
vptr=((& Q3MainWindow::_ZTV12Q3MainWindow) + 328u)
-Class QList<QRect>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QRect>::<anonymous union> (0x35a7cd58) 0
-Class QList<QRect>
- size=4 align=4
- base size=4 base align=4
-QList<QRect> (0x35a7ccb0) 0
-Class QList<Q3DockWindow*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<Q3DockWindow*>::<anonymous union> (0x35a7cee0) 0
-Class QList<Q3DockWindow*>
- size=4 align=4
- base size=4 base align=4
-QList<Q3DockWindow*> (0x35a7ce38) 0
Vtable for Q3DockAreaLayout
Q3DockAreaLayout::_ZTV16Q3DockAreaLayout: 48u entries
@@ -23390,10 +21775,6 @@ Q3DockAreaLayout (0x35a744c0) 0
QLayoutItem (0x35a7cc08) 8
vptr=((& Q3DockAreaLayout::_ZTV16Q3DockAreaLayout) + 128u)
-Class QPointer<Q3DockArea>
- size=4 align=4
- base size=4 base align=4
-QPointer<Q3DockArea> (0x35b48230) 0
Class Q3DockArea::DockWindowData
size=24 align=4
@@ -23478,213 +21859,45 @@ Q3DockArea (0x35a74580) 0
QPaintDevice (0x35b48118) 8
vptr=((& Q3DockArea::_ZTV10Q3DockArea) + 232u)
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0x35bb68c0) 0
-Class QTypeInfo<QDebug::Stream*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDebug::Stream*> (0x35bd4000) 0 empty
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0x35bd4e00) 0
-Class QVectorTypedData<QPoint>
- size=24 align=4
- base size=24 base align=4
-QVectorTypedData<QPoint> (0x35c28fc0) 0
-Class QVectorTypedData<QPointF>
- size=32 align=8
- base size=32 base align=8
-QVectorTypedData<QPointF> (0x35c435e8) 0
-Class QVectorTypedData<QTextLength>
- size=32 align=8
- base size=32 base align=8
-QVectorTypedData<QTextLength> (0x35c72230) 0
-Class QVectorTypedData<QTextLayout::FormatRange>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QTextLayout::FormatRange> (0x35c72ee0) 0
-Class QVectorTypedData<QAbstractTextDocumentLayout::Selection>
- size=28 align=4
- base size=28 base align=4
-QVectorTypedData<QAbstractTextDocumentLayout::Selection> (0x35c93188) 0
-Class QVectorTypedData<QLineF>
- size=48 align=8
- base size=48 base align=8
-QVectorTypedData<QLineF> (0x35d27150) 0
-Class QVectorTypedData<QLine>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QLine> (0x35d272d8) 0
-Class QVectorTypedData<QRectF>
- size=48 align=8
- base size=48 base align=8
-QVectorTypedData<QRectF> (0x35d27460) 0
-Class QVectorTypedData<QRect>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QRect> (0x35d275e8) 0
-Class QVectorTypedData<QPainterPath::Element>
- size=40 align=8
- base size=40 base align=8
-QVectorTypedData<QPainterPath::Element> (0x35d27770) 0
-Class QList<QTreeWidgetItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::Node (0x35d60c78) 0
-Class QVectorTypedData<QVector<QWidgetItemData> >
- size=20 align=4
- base size=20 base align=4
-QVectorTypedData<QVector<QWidgetItemData> > (0x35d60e70) 0
-Class QList<QAction*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QAction*>::Node (0x35da25b0) 0
-Class QLinkedListNode<Q3SqlFieldInfo>
- size=56 align=8
- base size=56 base align=8
-QLinkedListNode<Q3SqlFieldInfo> (0x35de0a80) 0
-Class QTypeInfo<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLength> (0x35e8f658) 0 empty
-Class QTypeInfo<QTextLayout::FormatRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLayout::FormatRange> (0x35e8fa48) 0 empty
-Class QTypeInfo<QAbstractTextDocumentLayout::Selection>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAbstractTextDocumentLayout::Selection> (0x35e8fe38) 0 empty
-Class QTypeInfo<QStandardItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QStandardItem*> (0x35eca540) 0 empty
-Class QHashNode<QVariant::Type, QItemEditorCreatorBase*>
- size=16 align=4
- base size=16 base align=4
-QHashNode<QVariant::Type, QItemEditorCreatorBase*> (0x35eca658) 0
-Class QTypeInfo<QTreeWidgetItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTreeWidgetItem*> (0x35eca7e0) 0 empty
-Class QTypeInfo<QAction*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAction*> (0x35eef118) 0 empty
-Class QTypeInfo<Q3TextEditOptimPrivate::Tag*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<Q3TextEditOptimPrivate::Tag*> (0x35eefea8) 0 empty
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0x35f11930) 0
-Class QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union> (0x35f11b28) 0
-Class QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union> (0x35f4d0e0) 0
-Class QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union> (0x35f4d658) 0
-Class QList<QItemSelectionRange>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::Node (0x35f4dbd0) 0
-Class QTypeInfo<QStyleOptionQ3ListViewItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QStyleOptionQ3ListViewItem> (0x35f4dd58) 0 empty
-Class QList<QStyleOptionQ3ListViewItem>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::Node (0x35f4de00) 0
-Class QList<QStandardItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QStandardItem*>::Node (0x35f89118) 0
-Class QList<QVariant>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::Node (0x35f89578) 0
-Class QTypeInfo<QGraphicsItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QGraphicsItem*> (0x35f89888) 0 empty
-Class QList<QGraphicsItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QGraphicsItem*>::Node (0x35f89930) 0
-Class QMap<Key, T>::detach_helper() [with Key = int, T = Q3TextEditOptimPrivate::Tag*]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<Key, T>::detach_helper() [with Key = int, T = Q3TextEditOptimPrivate::Tag*]::<anonymous union> (0x35faf348) 0
-Class QList<QRect>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QRect>::Node (0x35faf540) 0
-Class QTypeInfo<Q3DockWindow*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<Q3DockWindow*> (0x35faf7e0) 0 empty
-Class QList<Q3DockWindow*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<Q3DockWindow*>::Node (0x35faf888) 0
-Class QLinkedList<T>::detach_helper() [with T = Q3SqlFieldInfo]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QLinkedList<T>::detach_helper() [with T = Q3SqlFieldInfo]::<anonymous union> (0x35faff50) 0
-Class QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union> (0x35fd1188) 0
diff --git a/tests/auto/bic/data/Qt3Support.4.2.0.macx-gcc-ia32.txt b/tests/auto/bic/data/Qt3Support.4.2.0.macx-gcc-ia32.txt
index 180de6e..8ae374f 100644
--- a/tests/auto/bic/data/Qt3Support.4.2.0.macx-gcc-ia32.txt
+++ b/tests/auto/bic/data/Qt3Support.4.2.0.macx-gcc-ia32.txt
@@ -1,34 +1,8 @@
-Class QUintForSize<4>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<4> (0x732740) 0 empty
-Class QUintForSize<8>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<8> (0x7327c0) 0 empty
-Class QUintForType<void*>
- size=1 align=1
- base size=1 base align=1
-QUintForType<void*> (0x732980) 0 empty
- QUintForSize<4> (0x7329c0) 0 empty
-Class QIntForSize<4>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<4> (0x732ac0) 0 empty
-Class QIntForSize<8>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<8> (0x732b40) 0 empty
-Class QIntForType<void*>
- size=1 align=1
- base size=1 base align=1
-QIntForType<void*> (0x732d00) 0 empty
- QIntForSize<4> (0x732d40) 0 empty
Class QSysInfo
size=1 align=1
@@ -50,75 +24,19 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0x26c0240) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0x26c0480) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0x26c0540) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0x26c0600) 0 empty
-Class QTypeInfo<uchar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uchar> (0x26c06c0) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0x26c0780) 0 empty
-Class QTypeInfo<ushort>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ushort> (0x26c0840) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0x26c0900) 0 empty
-Class QTypeInfo<uint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uint> (0x26c09c0) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0x26c0a80) 0 empty
-Class QTypeInfo<ulong>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ulong> (0x26c0b40) 0 empty
-Class QTypeInfo<qint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<qint64> (0x26c0c00) 0 empty
-Class QTypeInfo<quint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<quint64> (0x26c0cc0) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0x26c0d80) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0x26c0e40) 0 empty
Class QFlag
size=4 align=4
@@ -135,10 +53,6 @@ Class QChar
base size=2 base align=2
QChar (0x2703140) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0x2703240) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -151,10 +65,6 @@ Class QAtomic
QAtomic (0x2703940) 0
QBasicAtomic (0x2703980) 0
-Class <anonymous union>
- size=128 align=4
- base size=128 base align=4
-<anonymous union> (0x2703c00) 0
Class __darwin_pthread_handler_rec
size=12 align=4
@@ -236,75 +146,19 @@ Class QByteRef
base size=8 base align=4
QByteRef (0x2794940) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0x2794d00) 0 empty
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0x289c180) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0x289c200) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0x289c280) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0x289c300) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0x289c380) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0x289c400) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0x289c480) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0x289c500) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0x289c580) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0x289c600) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0x289c680) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0x289c700) 0
-Class QFlags<Qt::TextInteractionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::TextInteractionFlag> (0x289c780) 0
Class QInternal
size=1 align=1
@@ -331,10 +185,6 @@ Class QLatin1String
base size=4 base align=4
QLatin1String (0x289cf80) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0x2a1a380) 0
Class QCharRef
size=8 align=4
@@ -347,10 +197,6 @@ Class QConstString
QConstString (0x2a1afc0) 0
QString (0x2b15000) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0x2b15100) 0 empty
Vtable for std::exception
std::exception::_ZTVSt9exception: 5u entries
@@ -413,10 +259,6 @@ Class QListData
base size=4 base align=4
QListData (0x2b15980) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0x2b15fc0) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -441,15 +283,7 @@ Class QTextCodec
QTextCodec (0x2b15e40) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0x2c37180) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0x2c370c0) 0
Class QTextEncoder
size=32 align=4
@@ -472,25 +306,13 @@ Class QGenericReturnArgument
QGenericReturnArgument (0x2c373c0) 0
QGenericArgument (0x2c37400) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0x2c376c0) 0
Class QMetaObject
size=16 align=4
base size=16 base align=4
QMetaObject (0x2c37640) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0x2c37940) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0x2c37880) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -582,10 +404,6 @@ QIODevice (0x2c37f80) 0
QObject (0x2c37fc0) 0
primary-for QIODevice (0x2c37f80)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0x2d08180) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -605,25 +423,13 @@ Class QRegExp
base size=4 base align=4
QRegExp (0x2d08880) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0x2d08ac0) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0x2d08b40) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0x2d08d40) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0x2d08c80) 0
Class QStringList
size=4 align=4
@@ -631,15 +437,7 @@ Class QStringList
QStringList (0x2d08e00) 0
QList<QString> (0x2d08e40) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0x2db3280) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0x2db3300) 0
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -773,50 +571,22 @@ QFile (0x2e3f040) 0
QObject (0x2e3f0c0) 0
primary-for QIODevice (0x2e3f080)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0x2e3f280) 0
Class QFileInfo
size=4 align=4
base size=4 base align=4
QFileInfo (0x2e3f2c0) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0x2e3f380) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0x2e3f400) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0x2e3f5c0) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0x2e3f500) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0x2e3f680) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0x2e3f7c0) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0x2e3f840) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -873,10 +643,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0x2e3f880) 0
vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0x2e3fb40) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -950,10 +716,6 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0x2e3fa80) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0x2e3fe40) 0 empty
Class QMapData::Node
size=8 align=4
@@ -978,10 +740,6 @@ Class QTextStream
QTextStream (0x3017400) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0x30176c0) 0
Class QTextStreamManipulator
size=24 align=4
@@ -1078,35 +836,15 @@ Class rlimit
base size=16 base align=4
rlimit (0x312e140) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0x312e8c0) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0x312e940) 0
Class wait
size=4 align=4
base size=4 base align=4
wait (0x312e840) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x312e9c0) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x312ea40) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0x312eac0) 0
Class QVectorData
size=16 align=4
@@ -1244,15 +982,7 @@ Class QLocale
base size=4 base align=4
QLocale (0x322c9c0) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0x322ca80) 0 empty
-Class QFlags<QLocale::NumberOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLocale::NumberOption> (0x322cb40) 0
Vtable for QSystemLocale
QSystemLocale::_ZTV13QSystemLocale: 6u entries
@@ -1279,270 +1009,58 @@ Class QMetaType
base size=0 base align=1
QMetaType (0x322cd40) 0 empty
-Class QMetaTypeId2<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QString> (0x322cf40) 0 empty
-Class QMetaTypeId2<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<int> (0x322c440) 0 empty
-Class QMetaTypeId2<uint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<uint> (0x322c940) 0 empty
-Class QMetaTypeId2<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<bool> (0x3343040) 0 empty
-Class QMetaTypeId2<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<double> (0x3343100) 0 empty
-Class QMetaTypeId2<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QByteArray> (0x33431c0) 0 empty
-Class QMetaTypeId2<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QChar> (0x3343280) 0 empty
-Class QMetaTypeId2<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long int> (0x3343340) 0 empty
-Class QMetaTypeId2<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short int> (0x3343400) 0 empty
-Class QMetaTypeId2<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<char> (0x33434c0) 0 empty
-Class QMetaTypeId2<ulong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<ulong> (0x3343580) 0 empty
-Class QMetaTypeId2<ushort>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<ushort> (0x3343640) 0 empty
-Class QMetaTypeId2<uchar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<uchar> (0x3343700) 0 empty
-Class QMetaTypeId2<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<float> (0x33437c0) 0 empty
-Class QMetaTypeId2<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QObject*> (0x3343880) 0 empty
-Class QMetaTypeId2<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QWidget*> (0x3343940) 0 empty
-Class QMetaTypeId2<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<void*> (0x3343a00) 0 empty
-Class QMetaTypeId2<qlonglong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<qlonglong> (0x3343ac0) 0 empty
-Class QMetaTypeId2<qulonglong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<qulonglong> (0x3343b80) 0 empty
-Class QMetaTypeId2<QStringList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QStringList> (0x3343c40) 0 empty
-Class QMetaTypeId2<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitArray> (0x3343d00) 0 empty
-Class QMetaTypeId2<QDate>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDate> (0x3343dc0) 0 empty
-Class QMetaTypeId2<QTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTime> (0x3343e80) 0 empty
-Class QMetaTypeId2<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDateTime> (0x3343f40) 0 empty
-Class QMetaTypeId2<QUrl>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QUrl> (0x335e000) 0 empty
-Class QMetaTypeId2<QLocale>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLocale> (0x335e0c0) 0 empty
-Class QMetaTypeId2<QRect>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRect> (0x335e180) 0 empty
-Class QMetaTypeId2<QRectF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRectF> (0x335e240) 0 empty
-Class QMetaTypeId2<QSize>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSize> (0x335e300) 0 empty
-Class QMetaTypeId2<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizeF> (0x335e3c0) 0 empty
-Class QMetaTypeId2<QLine>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLine> (0x335e480) 0 empty
-Class QMetaTypeId2<QLineF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLineF> (0x335e540) 0 empty
-Class QMetaTypeId2<QPoint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPoint> (0x335e600) 0 empty
-Class QMetaTypeId2<QPointF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPointF> (0x335e6c0) 0 empty
-Class QMetaTypeId2<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegExp> (0x335e780) 0 empty
-Class QMetaTypeId2<QColorGroup>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColorGroup> (0x335e840) 0 empty
-Class QMetaTypeId2<QFont>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QFont> (0x335e900) 0 empty
-Class QMetaTypeId2<QPixmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPixmap> (0x335e9c0) 0 empty
-Class QMetaTypeId2<QBrush>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBrush> (0x335ea80) 0 empty
-Class QMetaTypeId2<QColor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColor> (0x335eb40) 0 empty
-Class QMetaTypeId2<QPalette>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPalette> (0x335ec00) 0 empty
-Class QMetaTypeId2<QIcon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QIcon> (0x335ecc0) 0 empty
-Class QMetaTypeId2<QImage>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QImage> (0x335ed80) 0 empty
-Class QMetaTypeId2<QPolygon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPolygon> (0x335ee40) 0 empty
-Class QMetaTypeId2<QRegion>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegion> (0x335ef00) 0 empty
-Class QMetaTypeId2<QBitmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitmap> (0x335efc0) 0 empty
-Class QMetaTypeId2<QCursor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QCursor> (0x3379080) 0 empty
-Class QMetaTypeId2<QSizePolicy>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizePolicy> (0x3379140) 0 empty
-Class QMetaTypeId2<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QKeySequence> (0x3379200) 0 empty
-Class QMetaTypeId2<QPen>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPen> (0x33792c0) 0 empty
-Class QMetaTypeId2<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextLength> (0x3379380) 0 empty
-Class QMetaTypeId2<QTextFormat>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextFormat> (0x3379440) 0 empty
-Class QMetaTypeId2<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMatrix> (0x3379500) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -1569,60 +1087,20 @@ Class QVariant
base size=12 base align=4
QVariant (0x3379580) 0
-Class QMetaTypeId2<QVariantList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QVariantList> (0x3379ac0) 0 empty
-Class QMetaTypeId2<QVariantMap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QVariantMap> (0x3379b80) 0 empty
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0x3379d80) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0x3379cc0) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0x3379f80) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0x3379ec0) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0x33798c0) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0x340f100) 0 empty
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0x340f1c0) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x340f240) 0
-Class <anonymous struct>
- size=3156 align=4
- base size=3156 base align=4
-<anonymous struct> (0x340f2c0) 0
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1700,15 +1178,7 @@ Class QUrl
base size=4 base align=4
QUrl (0x340fb00) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0x340fcc0) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0x340fd40) 0 empty
Vtable for QEventLoop
QEventLoop::_ZTV10QEventLoop: 14u entries
@@ -1735,10 +1205,6 @@ QEventLoop (0x340fdc0) 0
QObject (0x340fe00) 0
primary-for QEventLoop (0x340fdc0)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0x340f580) 0
Vtable for QAbstractEventDispatcher
QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 27u entries
@@ -1783,20 +1249,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0x34ef140) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0x34ef300) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0x34ef380) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0x34ef4c0) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -1966,10 +1424,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0x34efc00) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0x34efd00) 0 empty
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -2076,20 +1530,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0x35a5840) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0x35a5900) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0x35a5980) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0x35a5a40) 0 empty
Class QMetaProperty
size=20 align=4
@@ -2101,10 +1547,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0x35a5b00) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0x35a5bc0) 0 empty
Vtable for QMimeData
QMimeData::_ZTV9QMimeData: 17u entries
@@ -2286,10 +1728,6 @@ QLibrary (0x361b380) 0
QObject (0x361b3c0) 0
primary-for QLibrary (0x361b380)
-Class QFlags<QLibrary::LoadHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLibrary::LoadHint> (0x361b580) 0
Vtable for QPluginLoader
QPluginLoader::_ZTV13QPluginLoader: 14u entries
@@ -2326,10 +1764,6 @@ Class QMutex
base size=4 base align=4
QMutex (0x361b8c0) 0
-Class QMutexLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMutexLocker::<anonymous union> (0x361ba80) 0
Class QMutexLocker
size=4 align=4
@@ -2341,20 +1775,12 @@ Class QReadWriteLock
base size=4 base align=4
QReadWriteLock (0x361bb40) 0
-Class QReadLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QReadLocker::<anonymous union> (0x361bc00) 0
Class QReadLocker
size=4 align=4
base size=4 base align=4
QReadLocker (0x361bb80) 0
-Class QWriteLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QWriteLocker::<anonymous union> (0x361bd40) 0
Class QWriteLocker
size=4 align=4
@@ -2412,10 +1838,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0x36ef5c0) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0x36ef6c0) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -2427,70 +1849,42 @@ Class QDate
base size=4 base align=4
QDate (0x36ef940) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0x36efb40) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0x36efbc0) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0x36efdc0) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0x36efe40) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0x36effc0) 0 empty
Class QPoint
size=8 align=4
base size=8 base align=4
QPoint (0x36efa00) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0x379f240) 0 empty
Class QPointF
size=16 align=4
base size=16 base align=4
QPointF (0x379f500) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0x379f980) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0x379fc80) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0x379fd00) 0 empty
Class QLineF
size=32 align=4
base size=32 base align=4
QLineF (0x379fe80) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0x379ff40) 0 empty
Class QLinkedListData
size=20 align=4
@@ -2502,40 +1896,24 @@ Class QSize
base size=8 base align=4
QSize (0x387b280) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0x387b680) 0 empty
Class QSizeF
size=16 align=4
base size=16 base align=4
QSizeF (0x387ba40) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0x387be40) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0x387bc00) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0x392d040) 0 empty
Class QRectF
size=32 align=4
base size=32 base align=4
QRectF (0x392d2c0) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0x392d480) 0 empty
Class QSharedData
size=4 align=4
@@ -2583,10 +1961,6 @@ Class QKeySequence
base size=4 base align=4
QKeySequence (0x392dec0) 0
-Class QTypeInfo<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QKeySequence> (0x392da40) 0 empty
Vtable for QMimeSource
QMimeSource::_ZTV11QMimeSource: 7u entries
@@ -2625,15 +1999,7 @@ Class QMacMime
QMacMime (0x3a73080) 0
vptr=((& QMacMime::_ZTV8QMacMime) + 8u)
-Class QList<QMacMime*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QMacMime*>::<anonymous union> (0x3a733c0) 0
-Class QList<QMacMime*>
- size=4 align=4
- base size=4 base align=4
-QList<QMacMime*> (0x3a73300) 0
Vtable for QMacPasteboardMime
QMacPasteboardMime::_ZTV18QMacPasteboardMime: 10u entries
@@ -2934,15 +2300,7 @@ Class QInputMethodEvent::Attribute
base size=24 base align=4
QInputMethodEvent::Attribute (0x3b04140) 0
-Class QList<QInputMethodEvent::Attribute>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute>::<anonymous union> (0x3b04a40) 0
-Class QList<QInputMethodEvent::Attribute>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute> (0x3b045c0) 0
Vtable for QInputMethodEvent
QInputMethodEvent::_ZTV17QInputMethodEvent: 4u entries
@@ -3231,15 +2589,7 @@ Class QAccessible
base size=0 base align=1
QAccessible (0x3b908c0) 0 empty
-Class QFlags<QAccessible::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::StateFlag> (0x3b90a00) 0
-Class QFlags<QAccessible::RelationFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::RelationFlag> (0x3b90a80) 0
Vtable for QAccessibleInterface
QAccessibleInterface::_ZTV20QAccessibleInterface: 19u entries
@@ -3628,40 +2978,16 @@ Class QPaintDevice
QPaintDevice (0x3c3f0c0) 0
vptr=((& QPaintDevice::_ZTV12QPaintDevice) + 8u)
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x3c3f400) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x3c3f480) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x3c3f500) 0
-Class QColor::<anonymous union>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union> (0x3c3f380) 0
Class QColor
size=16 align=4
base size=14 base align=4
QColor (0x3c3f300) 0
-Class QVector<QPoint>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint>::<anonymous union> (0x3c3f940) 0
-Class QVector<QPoint>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint> (0x3c3f840) 0
Class QPolygon
size=4 align=4
@@ -3669,15 +2995,7 @@ Class QPolygon
QPolygon (0x3c3f9c0) 0
QVector<QPoint> (0x3c3fa00) 0
-Class QVector<QPointF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF>::<anonymous union> (0x3c3fe40) 0
-Class QVector<QPointF>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF> (0x3c3fd40) 0
Class QPolygonF
size=4 align=4
@@ -3690,10 +3008,6 @@ Class QMatrix
base size=48 base align=4
QMatrix (0x3cd6100) 0
-Class QTypeInfo<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMatrix> (0x3cd6180) 0 empty
Class QImageTextKeyLang
size=8 align=4
@@ -3718,10 +3032,6 @@ QImage (0x3cd6380) 0
QPaintDevice (0x3cd63c0) 0
primary-for QImage (0x3cd6380)
-Class QTypeInfo<QImage>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QImage> (0x3cd6780) 0 empty
Vtable for QPixmap
QPixmap::_ZTV7QPixmap: 7u entries
@@ -3746,45 +3056,17 @@ Class QBrush
base size=4 base align=4
QBrush (0x3cd6cc0) 0
-Class QTypeInfo<QBrush>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBrush> (0x3cd6d80) 0 empty
Class QBrushData
size=72 align=4
base size=72 base align=4
QBrushData (0x3cd6e00) 0
-Class QVector<QGradientStop>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QGradientStop>::<anonymous union> (0x3cd65c0) 0
-Class QVector<QGradientStop>
- size=4 align=4
- base size=4 base align=4
-QVector<QGradientStop> (0x3cd6f80) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=32 align=4
- base size=32 base align=4
-QGradient::<anonymous union>::<anonymous struct> (0x3cd6ac0) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=40 align=4
- base size=40 base align=4
-QGradient::<anonymous union>::<anonymous struct> (0x3cd6c40) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=24 align=4
- base size=24 base align=4
-QGradient::<anonymous union>::<anonymous struct> (0x3dce000) 0
-Class QGradient::<anonymous union>
- size=40 align=4
- base size=40 base align=4
-QGradient::<anonymous union> (0x3cd69c0) 0
Class QGradient
size=56 align=4
@@ -4180,10 +3462,6 @@ QAbstractPrintDialog (0x3eb9fc0) 0
QPaintDevice (0x3eb9240) 8
vptr=((& QAbstractPrintDialog::_ZTV20QAbstractPrintDialog) + 248u)
-Class QFlags<QAbstractPrintDialog::PrintDialogOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractPrintDialog::PrintDialogOption> (0x3eb9ec0) 0
Vtable for QColorDialog
QColorDialog::_ZTV12QColorDialog: 66u entries
@@ -4434,10 +3712,6 @@ QFileDialog (0x3fed500) 0
QPaintDevice (0x3fed5c0) 8
vptr=((& QFileDialog::_ZTV11QFileDialog) + 244u)
-Class QFlags<QFileDialog::Option>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileDialog::Option> (0x3fed880) 0
Vtable for QFontDialog
QFontDialog::_ZTV11QFontDialog: 66u entries
@@ -4844,10 +4118,6 @@ QMessageBox (0x40bd1c0) 0
QPaintDevice (0x40bd280) 8
vptr=((& QMessageBox::_ZTV11QMessageBox) + 244u)
-Class QFlags<QMessageBox::StandardButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<QMessageBox::StandardButton> (0x40bd500) 0
Vtable for QPageSetupDialog
QPageSetupDialog::_ZTV16QPageSetupDialog: 67u entries
@@ -5202,25 +4472,13 @@ Class QPainterPath
base size=4 base align=4
QPainterPath (0x40bd380) 0
-Class QVector<QPainterPath::Element>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element>::<anonymous union> (0x4191340) 0
-Class QVector<QPainterPath::Element>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element> (0x4191240) 0
Class QPainterPathPrivate
size=8 align=4
base size=8 base align=4
QPainterPathPrivate (0x4191040) 0
-Class QTypeInfo<QPainterPath::Element>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPainterPath::Element> (0x4191400) 0 empty
Class QPainterPathStroker
size=4 align=4
@@ -5275,15 +4533,7 @@ Class QGraphicsItem
QGraphicsItem (0x4191780) 0
vptr=((& QGraphicsItem::_ZTV13QGraphicsItem) + 8u)
-Class QFlags<QGraphicsItem::GraphicsItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGraphicsItem::GraphicsItemFlag> (0x4191b00) 0
-Class QMetaTypeId<QGraphicsItem*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QGraphicsItem*> (0x4191b80) 0 empty
Vtable for QAbstractGraphicsShapeItem
QAbstractGraphicsShapeItem::_ZTV26QAbstractGraphicsShapeItem: 39u entries
@@ -5872,10 +5122,6 @@ Class QPen
base size=4 base align=4
QPen (0x4285640) 0
-Class QTypeInfo<QPen>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPen> (0x42857c0) 0 empty
Vtable for QGraphicsScene
QGraphicsScene::_ZTV14QGraphicsScene: 34u entries
@@ -6044,60 +5290,20 @@ Class QTextOption
base size=24 base align=4
QTextOption (0x4308380) 0
-Class QFlags<QTextOption::Flag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextOption::Flag> (0x4308480) 0
Class QPainter
size=4 align=4
base size=4 base align=4
QPainter (0x43084c0) 0
-Class QFlags<QPainter::RenderHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPainter::RenderHint> (0x4308a40) 0
-Class QVector<QLineF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF>::<anonymous union> (0x4308c00) 0
-Class QVector<QLineF>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF> (0x4308b00) 0
-Class QVector<QLine>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine>::<anonymous union> (0x4308e00) 0
-Class QVector<QLine>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine> (0x4308d00) 0
-Class QVector<QRectF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF>::<anonymous union> (0x4308140) 0
-Class QVector<QRectF>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF> (0x4308f00) 0
-Class QVector<QRect>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect>::<anonymous union> (0x43fb100) 0
-Class QVector<QRect>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect> (0x43fb000) 0
Vtable for QAbstractScrollArea
QAbstractScrollArea::_ZTV19QAbstractScrollArea: 65u entries
@@ -6352,20 +5558,8 @@ QGraphicsView (0x43fb6c0) 0
QPaintDevice (0x43fb7c0) 8
vptr=((& QGraphicsView::_ZTV13QGraphicsView) + 252u)
-Class QFlags<QGraphicsView::CacheModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGraphicsView::CacheModeFlag> (0x43fba00) 0
-Class QList<QGraphicsItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QGraphicsItem*>::<anonymous union> (0x43fbb40) 0
-Class QList<QGraphicsItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QGraphicsItem*> (0x43fba80) 0
Vtable for QBitmap
QBitmap::_ZTV7QBitmap: 7u entries
@@ -6392,10 +5586,6 @@ Class QIcon
base size=4 base align=4
QIcon (0x43fbd40) 0
-Class QTypeInfo<QIcon>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QIcon> (0x4536100) 0 empty
Vtable for QIconEngine
QIconEngine::_ZTV11QIconEngine: 9u entries
@@ -6551,10 +5741,6 @@ QImageIOPlugin (0x4567f00) 0
QFactoryInterface (0x4536b40) 8 nearly-empty
primary-for QImageIOHandlerFactoryInterface (0x4536b00)
-Class QFlags<QImageIOPlugin::Capability>
- size=4 align=4
- base size=4 base align=4
-QFlags<QImageIOPlugin::Capability> (0x4536d80) 0
Class QImageReader
size=4 align=4
@@ -6730,15 +5916,7 @@ QActionGroup (0x45c7740) 0
QObject (0x45c7780) 0
primary-for QActionGroup (0x45c7740)
-Class QList<QAction*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QAction*>::<anonymous union> (0x45c7a00) 0
-Class QList<QAction*>
- size=4 align=4
- base size=4 base align=4
-QList<QAction*> (0x45c7940) 0
Vtable for QInputContext
QInputContext::_ZTV13QInputContext: 25u entries
@@ -7043,10 +6221,6 @@ QAbstractSpinBox (0x46865c0) 0
QPaintDevice (0x4686640) 8
vptr=((& QAbstractSpinBox::_ZTV16QAbstractSpinBox) + 252u)
-Class QFlags<QAbstractSpinBox::StepEnabledFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractSpinBox::StepEnabledFlag> (0x46868c0) 0
Vtable for QAbstractSlider
QAbstractSlider::_ZTV15QAbstractSlider: 64u entries
@@ -7254,15 +6428,7 @@ QStyle (0x4686e40) 0
QObject (0x4686e80) 0
primary-for QStyle (0x4686e40)
-Class QFlags<QStyle::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::StateFlag> (0x4686380) 0
-Class QFlags<QStyle::SubControl>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::SubControl> (0x4686780) 0
Vtable for QTabBar
QTabBar::_ZTV7QTabBar: 67u entries
@@ -7521,10 +6687,6 @@ Class QStyleOptionFrame
QStyleOptionFrame (0x4795800) 0
QStyleOption (0x4795840) 0
-Class QFlags<QStyleOptionFrameV2::FrameFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionFrameV2::FrameFeature> (0x4795b00) 0
Class QStyleOptionFrameV2
size=56 align=4
@@ -7551,10 +6713,6 @@ Class QStyleOptionHeader
QStyleOptionHeader (0x4795540) 0
QStyleOption (0x4795700) 0
-Class QFlags<QStyleOptionButton::ButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionButton::ButtonFeature> (0x4840140) 0
Class QStyleOptionButton
size=64 align=4
@@ -7562,10 +6720,6 @@ Class QStyleOptionButton
QStyleOptionButton (0x4840000) 0
QStyleOption (0x4840040) 0
-Class QFlags<QStyleOptionTab::CornerWidget>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionTab::CornerWidget> (0x4840400) 0
Class QStyleOptionTab
size=72 align=4
@@ -7580,10 +6734,6 @@ QStyleOptionTabV2 (0x4840540) 0
QStyleOptionTab (0x4840580) 0
QStyleOption (0x48405c0) 0
-Class QFlags<QStyleOptionToolBar::ToolBarFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionToolBar::ToolBarFeature> (0x4840940) 0
Class QStyleOptionToolBar
size=68 align=4
@@ -7610,10 +6760,6 @@ Class QStyleOptionMenuItem
QStyleOptionMenuItem (0x4840d00) 0
QStyleOption (0x4840d40) 0
-Class QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature> (0x4840fc0) 0
Class QStyleOptionQ3ListViewItem
size=64 align=4
@@ -7639,10 +6785,6 @@ Class QStyleOptionViewItem
QStyleOptionViewItem (0x48df140) 0
QStyleOption (0x48df180) 0
-Class QFlags<QStyleOptionViewItemV2::ViewItemFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionViewItemV2::ViewItemFeature> (0x48df440) 0
Class QStyleOptionViewItemV2
size=84 align=4
@@ -7683,15 +6825,7 @@ QStyleOptionSpinBox (0x48dfdc0) 0
QStyleOptionComplex (0x48dfe00) 0
QStyleOption (0x48dfe40) 0
-Class QList<QStyleOptionQ3ListViewItem>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::<anonymous union> (0x48dfbc0) 0
-Class QList<QStyleOptionQ3ListViewItem>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem> (0x48df700) 0
Class QStyleOptionQ3ListView
size=84 align=4
@@ -7700,10 +6834,6 @@ QStyleOptionQ3ListView (0x48dff80) 0
QStyleOptionComplex (0x48dffc0) 0
QStyleOption (0x48df040) 0
-Class QFlags<QStyleOptionToolButton::ToolButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionToolButton::ToolButtonFeature> (0x49542c0) 0
Class QStyleOptionToolButton
size=96 align=4
@@ -7794,10 +6924,6 @@ Class QItemSelectionRange
base size=8 base align=4
QItemSelectionRange (0x4954f40) 0
-Class QTypeInfo<QItemSelectionRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QItemSelectionRange> (0x49f7140) 0 empty
Vtable for QItemSelectionModel
QItemSelectionModel::_ZTV19QItemSelectionModel: 18u entries
@@ -7828,20 +6954,8 @@ QItemSelectionModel (0x49f7200) 0
QObject (0x49f7240) 0
primary-for QItemSelectionModel (0x49f7200)
-Class QFlags<QItemSelectionModel::SelectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QItemSelectionModel::SelectionFlag> (0x49f7400) 0
-Class QList<QItemSelectionRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::<anonymous union> (0x49f7580) 0
-Class QList<QItemSelectionRange>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange> (0x49f74c0) 0
Class QItemSelection
size=4 align=4
@@ -7971,10 +7085,6 @@ QAbstractItemView (0x49f7740) 0
QPaintDevice (0x49f7840) 8
vptr=((& QAbstractItemView::_ZTV17QAbstractItemView) + 392u)
-Class QFlags<QAbstractItemView::EditTrigger>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractItemView::EditTrigger> (0x49f7ac0) 0
Vtable for QAbstractProxyModel
QAbstractProxyModel::_ZTV19QAbstractProxyModel: 47u entries
@@ -8312,15 +7422,7 @@ Class QItemEditorCreatorBase
QItemEditorCreatorBase (0x4ac8580) 0 nearly-empty
vptr=((& QItemEditorCreatorBase::_ZTV22QItemEditorCreatorBase) + 8u)
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union> (0x4ac8b00) 0
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*> (0x4ac89c0) 0
Vtable for QItemEditorFactory
QItemEditorFactory::_ZTV18QItemEditorFactory: 6u entries
@@ -8461,15 +7563,7 @@ QListView (0x4ac8d40) 0
QPaintDevice (0x4ac8e80) 8
vptr=((& QListView::_ZTV9QListView) + 392u)
-Class QVector<QWidgetItemData>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData>::<anonymous union> (0x4b68080) 0
-Class QVector<QWidgetItemData>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData> (0x4ac8c80) 0
Vtable for QListWidgetItem
QListWidgetItem::_ZTV15QListWidgetItem: 11u entries
@@ -8762,15 +7856,7 @@ Class QStandardItem
QStandardItem (0x4b68cc0) 0
vptr=((& QStandardItem::_ZTV13QStandardItem) + 8u)
-Class QList<QStandardItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QStandardItem*>::<anonymous union> (0x4b68e00) 0
-Class QList<QStandardItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QStandardItem*> (0x4b68780) 0
Vtable for QStandardItemModel
QStandardItemModel::_ZTV18QStandardItemModel: 42u entries
@@ -9288,35 +8374,15 @@ QTreeView (0x4c7ddc0) 0
QPaintDevice (0x4c7df00) 8
vptr=((& QTreeView::_ZTV9QTreeView) + 400u)
-Class QFlags<QTreeWidgetItemIterator::IteratorFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTreeWidgetItemIterator::IteratorFlag> (0x4d78000) 0
Class QTreeWidgetItemIterator
size=12 align=4
base size=12 base align=4
QTreeWidgetItemIterator (0x4c7d880) 0
-Class QVector<QVector<QWidgetItemData> >::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> >::<anonymous union> (0x4d78480) 0
-Class QVector<QVector<QWidgetItemData> >
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> > (0x4d78380) 0
-Class QList<QTreeWidgetItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::<anonymous union> (0x4d78640) 0
-Class QList<QTreeWidgetItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*> (0x4d78580) 0
Vtable for QTreeWidgetItem
QTreeWidgetItem::_ZTV15QTreeWidgetItem: 10u entries
@@ -10197,15 +9263,7 @@ Class QTextItem
base size=0 base align=1
QTextItem (0x4f8b400) 0 empty
-Class QTypeInfo<QTextItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextItem> (0x4f8b4c0) 0 empty
-Class QFlags<QPaintEngine::PaintEngineFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::PaintEngineFeature> (0x4f8b680) 0
Vtable for QPaintEngine
QPaintEngine::_ZTV12QPaintEngine: 24u entries
@@ -10240,20 +9298,12 @@ Class QPaintEngine
QPaintEngine (0x4f8b540) 0
vptr=((& QPaintEngine::_ZTV12QPaintEngine) + 8u)
-Class QFlags<QPaintEngine::DirtyFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::DirtyFlag> (0x4f8b8c0) 0
Class QPaintEngineState
size=4 align=4
base size=4 base align=4
QPaintEngineState (0x4f8b800) 0
-Class QFlags<QTextItem::RenderFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextItem::RenderFlag> (0x4f8b940) 0
Vtable for QPrinter
QPrinter::_ZTV8QPrinter: 7u entries
@@ -10346,10 +9396,6 @@ QCommonStyle (0x4f8b300) 0
QObject (0x4f8b780) 0
primary-for QStyle (0x4f8b600)
-Class QPointer<QFocusFrame>
- size=4 align=4
- base size=4 base align=4
-QPointer<QFocusFrame> (0x506f1c0) 0
Vtable for QMotifStyle
QMotifStyle::_ZTV11QMotifStyle: 35u entries
@@ -10723,30 +9769,14 @@ Class QTextLength
base size=12 base align=4
QTextLength (0x50f30c0) 0
-Class QSharedDataPointer<QTextFormatPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextFormatPrivate> (0x50f3480) 0
Class QTextFormat
size=8 align=4
base size=8 base align=4
QTextFormat (0x50f3300) 0
-Class QVector<QTextLength>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength>::<anonymous union> (0x50f3840) 0
-Class QVector<QTextLength>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength> (0x50f3740) 0
-Class QFlags<QTextFormat::PageBreakFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextFormat::PageBreakFlag> (0x50f3940) 0
Class QTextCharFormat
size=8 align=4
@@ -10801,15 +9831,7 @@ Class QTextLayout
base size=4 base align=4
QTextLayout (0x50f3e80) 0
-Class QVector<QTextLayout::FormatRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange>::<anonymous union> (0x50f3f80) 0
-Class QVector<QTextLayout::FormatRange>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange> (0x50f3180) 0
Class QTextLine
size=8 align=4
@@ -10859,15 +9881,7 @@ QTextDocument (0x520c2c0) 0
QObject (0x520c300) 0
primary-for QTextDocument (0x520c2c0)
-Class QFlags<QTextDocument::FindFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextDocument::FindFlag> (0x520c500) 0
-Class QSharedDataPointer<QTextCursorPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextCursorPrivate> (0x520c640) 0
Class QTextCursor
size=4 align=4
@@ -10879,15 +9893,7 @@ Class QAbstractTextDocumentLayout::Selection
base size=12 base align=4
QAbstractTextDocumentLayout::Selection (0x520c780) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union> (0x520c9c0) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection> (0x520c8c0) 0
Class QAbstractTextDocumentLayout::PaintContext
size=48 align=4
@@ -11049,10 +10055,6 @@ QTextFrame (0x52ce140) 0
QObject (0x52ce1c0) 0
primary-for QTextObject (0x52ce180)
-Class QTypeInfo<QTextFrame::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFrame::iterator> (0x52ce700) 0 empty
Vtable for QTextBlockUserData
QTextBlockUserData::_ZTV18QTextBlockUserData: 4u entries
@@ -11077,25 +10079,13 @@ Class QTextBlock
base size=8 base align=4
QTextBlock (0x52ce940) 0
-Class QTypeInfo<QTextBlock>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock> (0x52ced40) 0 empty
-Class QTypeInfo<QTextBlock::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock::iterator> (0x52cee00) 0 empty
Class QTextFragment
size=12 align=4
base size=12 base align=4
QTextFragment (0x52ceec0) 0
-Class QTypeInfo<QTextFragment>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFragment> (0x532d080) 0 empty
Vtable for QSyntaxHighlighter
QSyntaxHighlighter::_ZTV18QSyntaxHighlighter: 15u entries
@@ -12057,10 +11047,6 @@ QDateEdit (0x548b800) 0
QPaintDevice (0x548b900) 8
vptr=((& QDateEdit::_ZTV9QDateEdit) + 260u)
-Class QFlags<QDateTimeEdit::Section>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDateTimeEdit::Section> (0x548bb00) 0
Vtable for QDial
QDial::_ZTV5QDial: 64u entries
@@ -12221,10 +11207,6 @@ QDialogButtonBox (0x548bdc0) 0
QPaintDevice (0x548be40) 8
vptr=((& QDialogButtonBox::_ZTV16QDialogButtonBox) + 232u)
-Class QFlags<QDialogButtonBox::StandardButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDialogButtonBox::StandardButton> (0x548b700) 0
Vtable for QDockWidget
QDockWidget::_ZTV11QDockWidget: 63u entries
@@ -12304,10 +11286,6 @@ QDockWidget (0x548b9c0) 0
QPaintDevice (0x548bf40) 8
vptr=((& QDockWidget::_ZTV11QDockWidget) + 232u)
-Class QFlags<QDockWidget::DockWidgetFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDockWidget::DockWidgetFeature> (0x554c280) 0
Vtable for QFocusFrame
QFocusFrame::_ZTV11QFocusFrame: 63u entries
@@ -12469,10 +11447,6 @@ QFontComboBox (0x554c500) 0
QPaintDevice (0x554c5c0) 8
vptr=((& QFontComboBox::_ZTV13QFontComboBox) + 240u)
-Class QFlags<QFontComboBox::FontFilter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFontComboBox::FontFilter> (0x554c800) 0
Vtable for QGroupBox
QGroupBox::_ZTV9QGroupBox: 63u entries
@@ -14041,10 +13015,6 @@ QTextEdit (0x57eb3c0) 0
QPaintDevice (0x57eb4c0) 8
vptr=((& QTextEdit::_ZTV9QTextEdit) + 256u)
-Class QFlags<QTextEdit::AutoFormattingFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextEdit::AutoFormattingFlag> (0x57eb800) 0
Vtable for QTextBrowser
QTextBrowser::_ZTV12QTextBrowser: 74u entries
@@ -14654,20 +13624,12 @@ Class QNetworkAddressEntry
base size=4 base align=4
QNetworkAddressEntry (0x59a7140) 0
-Class QSharedDataPointer<QNetworkInterfacePrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QNetworkInterfacePrivate> (0x59a7340) 0
Class QNetworkInterface
size=4 align=4
base size=4 base align=4
QNetworkInterface (0x59a7180) 0
-Class QFlags<QNetworkInterface::InterfaceFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QNetworkInterface::InterfaceFlag> (0x59a7440) 0
Class QNetworkProxy
size=4 align=4
@@ -14792,15 +13754,7 @@ QUdpSocket (0x59a7840) 0
QObject (0x59a7900) 0
primary-for QIODevice (0x59a78c0)
-Class QFlags<QUdpSocket::BindFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUdpSocket::BindFlag> (0x59a7ac0) 0
-Class QFlags<QSql::ParamTypeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QSql::ParamTypeFlag> (0x59a7bc0) 0
Class QSqlRecord
size=4 align=4
@@ -14938,15 +13892,7 @@ Class QSqlField
base size=16 base align=4
QSqlField (0x5c6d380) 0
-Class QList<bool>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<bool>::<anonymous union> (0x5c6d600) 0
-Class QList<bool>
- size=4 align=4
- base size=4 base align=4
-QList<bool> (0x5c6d540) 0
Class QSqlIndex
size=16 align=4
@@ -15462,29 +14408,7 @@ Class Q3GListStdIterator
base size=4 base align=4
Q3GListStdIterator (0x5d21940) 0
-Vtable for Q3PtrList<void>
-Q3PtrList<void>::_ZTV9Q3PtrListIvE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI9Q3PtrListIvE)
-8 Q3PtrList<type>::count [with type = void]
-12 Q3PtrList<type>::clear [with type = void]
-16 Q3PtrList<type>::~Q3PtrList [with type = void]
-20 Q3PtrList<type>::~Q3PtrList [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3PtrList<type>::deleteItem [with type = void]
-32 Q3GList::compareItems
-36 Q3GList::read
-40 Q3GList::write
-Class Q3PtrList<void>
- size=32 align=4
- base size=32 base align=4
-Q3PtrList<void> (0x5d21c40) 0
- vptr=((& Q3PtrList<void>::_ZTV9Q3PtrListIvE) + 8u)
- Q3GList (0x5d21c80) 0
- primary-for Q3PtrList<void> (0x5d21c40)
- Q3PtrCollection (0x5d21cc0) 0
- primary-for Q3GList (0x5d21c80)
Class Q3PointArray
size=4 align=4
@@ -15493,21 +14417,8 @@ Q3PointArray (0x5dcf0c0) 0
QPolygon (0x5dcf100) 0
QVector<QPoint> (0x5dcf140) 0
-Class QLinkedList<Q3CanvasItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QLinkedList<Q3CanvasItem*>::<anonymous union> (0x5dcf700) 0
-Class QLinkedList<Q3CanvasItem*>
- size=4 align=4
- base size=4 base align=4
-QLinkedList<Q3CanvasItem*> (0x5dcf600) 0
-Class Q3ValueList<Q3CanvasItem*>
- size=4 align=4
- base size=4 base align=4
-Q3ValueList<Q3CanvasItem*> (0x5dcf740) 0
- QLinkedList<Q3CanvasItem*> (0x5dcf780) 0
Class Q3CanvasItemList
size=4 align=4
@@ -16145,28 +15056,7 @@ Class Q3GDictIterator
base size=12 base align=4
Q3GDictIterator (0x5edc640) 0
-Vtable for Q3Dict<void>
-Q3Dict<void>::_ZTV6Q3DictIvE: 10u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI6Q3DictIvE)
-8 Q3Dict<type>::count [with type = void]
-12 Q3Dict<type>::clear [with type = void]
-16 Q3Dict<type>::~Q3Dict [with type = void]
-20 Q3Dict<type>::~Q3Dict [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3Dict<type>::deleteItem [with type = void]
-32 Q3GDict::read
-36 Q3GDict::write
-Class Q3Dict<void>
- size=28 align=4
- base size=28 base align=4
-Q3Dict<void> (0x5edc900) 0
- vptr=((& Q3Dict<void>::_ZTV6Q3DictIvE) + 8u)
- Q3GDict (0x5edc940) 0
- primary-for Q3Dict<void> (0x5edc900)
- Q3PtrCollection (0x5edc980) 0
- primary-for Q3GDict (0x5edc940)
Vtable for Q3NetworkProtocolFactoryBase
Q3NetworkProtocolFactoryBase::_ZTV28Q3NetworkProtocolFactoryBase: 5u entries
@@ -16701,29 +15591,7 @@ Q3Wizard (0x5f50e80) 0
QPaintDevice (0x5f50f40) 8
vptr=((& Q3Wizard::_ZTV8Q3Wizard) + 308u)
-Vtable for Q3PtrList<char>
-Q3PtrList<char>::_ZTV9Q3PtrListIcE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI9Q3PtrListIcE)
-8 Q3PtrList<type>::count [with type = char]
-12 Q3PtrList<type>::clear [with type = char]
-16 Q3PtrList<type>::~Q3PtrList [with type = char]
-20 Q3PtrList<type>::~Q3PtrList [with type = char]
-24 Q3PtrCollection::newItem
-28 Q3PtrList<type>::deleteItem [with type = char]
-32 Q3GList::compareItems
-36 Q3GList::read
-40 Q3GList::write
-Class Q3PtrList<char>
- size=32 align=4
- base size=32 base align=4
-Q3PtrList<char> (0x5f50d80) 0
- vptr=((& Q3PtrList<char>::_ZTV9Q3PtrListIcE) + 8u)
- Q3GList (0x5ff5000) 0
- primary-for Q3PtrList<char> (0x5f50d80)
- Q3PtrCollection (0x5ff5040) 0
- primary-for Q3GList (0x5ff5000)
Vtable for Q3StrList
Q3StrList::_ZTV9Q3StrList: 11u entries
@@ -16751,11 +15619,6 @@ Q3StrList (0x5ff51c0) 0
Q3PtrCollection (0x5ff5280) 0
primary-for Q3GList (0x5ff5240)
-Class Q3PtrListStdIterator<char>
- size=4 align=4
- base size=4 base align=4
-Q3PtrListStdIterator<char> (0x5ff5680) 0
- Q3GListStdIterator (0x5ff56c0) 0
Vtable for Q3StrIList
Q3StrIList::_ZTV10Q3StrIList: 11u entries
@@ -17788,29 +16651,7 @@ Q3GVector (0x61b1280) 0
Q3PtrCollection (0x61b12c0) 0
primary-for Q3GVector (0x61b1280)
-Vtable for Q3PtrVector<void>
-Q3PtrVector<void>::_ZTV11Q3PtrVectorIvE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI11Q3PtrVectorIvE)
-8 Q3PtrVector<type>::count [with type = void]
-12 Q3PtrVector<type>::clear [with type = void]
-16 Q3PtrVector<type>::~Q3PtrVector [with type = void]
-20 Q3PtrVector<type>::~Q3PtrVector [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3PtrVector<type>::deleteItem [with type = void]
-32 Q3GVector::compareItems
-36 Q3GVector::read
-40 Q3GVector::write
-Class Q3PtrVector<void>
- size=20 align=4
- base size=20 base align=4
-Q3PtrVector<void> (0x61b1580) 0
- vptr=((& Q3PtrVector<void>::_ZTV11Q3PtrVectorIvE) + 8u)
- Q3GVector (0x61b15c0) 0
- primary-for Q3PtrVector<void> (0x61b1580)
- Q3PtrCollection (0x61b1600) 0
- primary-for Q3GVector (0x61b15c0)
Vtable for Q3Header
Q3Header::_ZTV8Q3Header: 76u entries
@@ -17930,28 +16771,7 @@ Class Q3GArray
Q3GArray (0x61b1a00) 0
vptr=((& Q3GArray::_ZTV8Q3GArray) + 8u)
-Vtable for Q3IntDict<void>
-Q3IntDict<void>::_ZTV9Q3IntDictIvE: 10u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI9Q3IntDictIvE)
-8 Q3IntDict<type>::count [with type = void]
-12 Q3IntDict<type>::clear [with type = void]
-16 Q3IntDict<type>::~Q3IntDict [with type = void]
-20 Q3IntDict<type>::~Q3IntDict [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3IntDict<type>::deleteItem [with type = void]
-32 Q3GDict::read
-36 Q3GDict::write
-Class Q3IntDict<void>
- size=28 align=4
- base size=28 base align=4
-Q3IntDict<void> (0x61b1f40) 0
- vptr=((& Q3IntDict<void>::_ZTV9Q3IntDictIvE) + 8u)
- Q3GDict (0x61b1f80) 0
- primary-for Q3IntDict<void> (0x61b1f40)
- Q3PtrCollection (0x61b1fc0) 0
- primary-for Q3GDict (0x61b1f80)
Class Q3TableSelection
size=28 align=4
@@ -18062,100 +16882,13 @@ Class Q3Table::TableWidget
base size=12 base align=4
Q3Table::TableWidget (0x6279700) 0
-Vtable for Q3PtrVector<Q3TableItem>
-Q3PtrVector<Q3TableItem>::_ZTV11Q3PtrVectorI11Q3TableItemE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI11Q3PtrVectorI11Q3TableItemE)
-8 Q3PtrVector<type>::count [with type = Q3TableItem]
-12 Q3PtrVector<type>::clear [with type = Q3TableItem]
-16 Q3PtrVector<type>::~Q3PtrVector [with type = Q3TableItem]
-20 Q3PtrVector<type>::~Q3PtrVector [with type = Q3TableItem]
-24 Q3PtrCollection::newItem
-28 Q3PtrVector<type>::deleteItem [with type = Q3TableItem]
-32 Q3GVector::compareItems
-36 Q3GVector::read
-40 Q3GVector::write
-Class Q3PtrVector<Q3TableItem>
- size=20 align=4
- base size=20 base align=4
-Q3PtrVector<Q3TableItem> (0x6279840) 0
- vptr=((& Q3PtrVector<Q3TableItem>::_ZTV11Q3PtrVectorI11Q3TableItemE) + 8u)
- Q3GVector (0x6279880) 0
- primary-for Q3PtrVector<Q3TableItem> (0x6279840)
- Q3PtrCollection (0x62798c0) 0
- primary-for Q3GVector (0x6279880)
-
-Vtable for Q3PtrVector<QWidget>
-Q3PtrVector<QWidget>::_ZTV11Q3PtrVectorI7QWidgetE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI11Q3PtrVectorI7QWidgetE)
-8 Q3PtrVector<type>::count [with type = QWidget]
-12 Q3PtrVector<type>::clear [with type = QWidget]
-16 Q3PtrVector<type>::~Q3PtrVector [with type = QWidget]
-20 Q3PtrVector<type>::~Q3PtrVector [with type = QWidget]
-24 Q3PtrCollection::newItem
-28 Q3PtrVector<type>::deleteItem [with type = QWidget]
-32 Q3GVector::compareItems
-36 Q3GVector::read
-40 Q3GVector::write
-Class Q3PtrVector<QWidget>
- size=20 align=4
- base size=20 base align=4
-Q3PtrVector<QWidget> (0x6279ac0) 0
- vptr=((& Q3PtrVector<QWidget>::_ZTV11Q3PtrVectorI7QWidgetE) + 8u)
- Q3GVector (0x6279b00) 0
- primary-for Q3PtrVector<QWidget> (0x6279ac0)
- Q3PtrCollection (0x6279b40) 0
- primary-for Q3GVector (0x6279b00)
-
-Vtable for Q3PtrList<Q3TableSelection>
-Q3PtrList<Q3TableSelection>::_ZTV9Q3PtrListI16Q3TableSelectionE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI9Q3PtrListI16Q3TableSelectionE)
-8 Q3PtrList<type>::count [with type = Q3TableSelection]
-12 Q3PtrList<type>::clear [with type = Q3TableSelection]
-16 Q3PtrList<type>::~Q3PtrList [with type = Q3TableSelection]
-20 Q3PtrList<type>::~Q3PtrList [with type = Q3TableSelection]
-24 Q3PtrCollection::newItem
-28 Q3PtrList<type>::deleteItem [with type = Q3TableSelection]
-32 Q3GList::compareItems
-36 Q3GList::read
-40 Q3GList::write
-Class Q3PtrList<Q3TableSelection>
- size=32 align=4
- base size=32 base align=4
-Q3PtrList<Q3TableSelection> (0x6279d40) 0
- vptr=((& Q3PtrList<Q3TableSelection>::_ZTV9Q3PtrListI16Q3TableSelectionE) + 8u)
- Q3GList (0x6279d80) 0
- primary-for Q3PtrList<Q3TableSelection> (0x6279d40)
- Q3PtrCollection (0x6279dc0) 0
- primary-for Q3GList (0x6279d80)
-
-Vtable for Q3IntDict<int>
-Q3IntDict<int>::_ZTV9Q3IntDictIiE: 10u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI9Q3IntDictIiE)
-8 Q3IntDict<type>::count [with type = int]
-12 Q3IntDict<type>::clear [with type = int]
-16 Q3IntDict<type>::~Q3IntDict [with type = int]
-20 Q3IntDict<type>::~Q3IntDict [with type = int]
-24 Q3PtrCollection::newItem
-28 Q3IntDict<type>::deleteItem [with type = int]
-32 Q3GDict::read
-36 Q3GDict::write
-Class Q3IntDict<int>
- size=28 align=4
- base size=28 base align=4
-Q3IntDict<int> (0x62791c0) 0
- vptr=((& Q3IntDict<int>::_ZTV9Q3IntDictIiE) + 8u)
- Q3GDict (0x6279340) 0
- primary-for Q3IntDict<int> (0x62791c0)
- Q3PtrCollection (0x62794c0) 0
- primary-for Q3GDict (0x6279340)
+
+
+
Vtable for Q3Table
Q3Table::_ZTV7Q3Table: 183u entries
@@ -18469,15 +17202,7 @@ Q3Ftp (0x630c540) 0
QObject (0x630c5c0) 0
primary-for Q3NetworkProtocol (0x630c580)
-Class QMap<QString, QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QString>::<anonymous union> (0x630c8c0) 0
-Class QMap<QString, QString>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QString> (0x630c800) 0
Vtable for Q3HttpHeader
Q3HttpHeader::_ZTV12Q3HttpHeader: 8u entries
@@ -19759,21 +18484,8 @@ Class Q3SqlPropertyMap
Q3SqlPropertyMap (0x654b400) 0
vptr=((& Q3SqlPropertyMap::_ZTV16Q3SqlPropertyMap) + 8u)
-Class QLinkedList<Q3SqlFieldInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QLinkedList<Q3SqlFieldInfo>::<anonymous union> (0x654b780) 0
-Class QLinkedList<Q3SqlFieldInfo>
- size=4 align=4
- base size=4 base align=4
-QLinkedList<Q3SqlFieldInfo> (0x654b680) 0
-Class Q3ValueList<Q3SqlFieldInfo>
- size=4 align=4
- base size=4 base align=4
-Q3ValueList<Q3SqlFieldInfo> (0x654b7c0) 0
- QLinkedList<Q3SqlFieldInfo> (0x654b800) 0
Class Q3SqlRecordInfo
size=4 align=4
@@ -19782,31 +18494,10 @@ Q3SqlRecordInfo (0x654b980) 0
Q3ValueList<Q3SqlFieldInfo> (0x654b9c0) 0
QLinkedList<Q3SqlFieldInfo> (0x654ba00) 0
-Class QList<Q3SqlFieldInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<Q3SqlFieldInfo>::<anonymous union> (0x654bc00) 0
-Class QList<Q3SqlFieldInfo>
- size=4 align=4
- base size=4 base align=4
-QList<Q3SqlFieldInfo> (0x654bb40) 0
-Class QLinkedList<Q3SqlFieldInfo>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QLinkedList<Q3SqlFieldInfo>::const_iterator (0x654bf80) 0
-Class Q3ValueListConstIterator<Q3SqlFieldInfo>
- size=4 align=4
- base size=4 base align=4
-Q3ValueListConstIterator<Q3SqlFieldInfo> (0x654bfc0) 0
- QLinkedList<Q3SqlFieldInfo>::const_iterator (0x654b380) 0
-Class QLinkedList<Q3SqlFieldInfo>::iterator
- size=4 align=4
- base size=4 base align=4
-QLinkedList<Q3SqlFieldInfo>::iterator (0x654bec0) 0
Vtable for Q3SqlSelectCursor
Q3SqlSelectCursor::_ZTV17Q3SqlSelectCursor: 40u entries
@@ -19866,15 +18557,7 @@ Class Q3StyleSheetItem
base size=4 base align=4
Q3StyleSheetItem (0x65de3c0) 0
-Class QHash<QString, Q3StyleSheetItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QHash<QString, Q3StyleSheetItem*>::<anonymous union> (0x65de6c0) 0
-Class QHash<QString, Q3StyleSheetItem*>
- size=4 align=4
- base size=4 base align=4
-QHash<QString, Q3StyleSheetItem*> (0x65de580) 0
Vtable for Q3StyleSheet
Q3StyleSheet::_ZTV12Q3StyleSheet: 16u entries
@@ -19913,25 +18596,9 @@ Class Q3TextEditOptimPrivate::Selection
base size=8 base align=4
Q3TextEditOptimPrivate::Selection (0x65de900) 0
-Class QMap<int, QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<int, QString>::<anonymous union> (0x65deac0) 0
-Class QMap<int, QString>
- size=4 align=4
- base size=4 base align=4
-QMap<int, QString> (0x65dea00) 0
-Class QMap<int, Q3TextEditOptimPrivate::Tag*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<int, Q3TextEditOptimPrivate::Tag*>::<anonymous union> (0x65ded40) 0
-Class QMap<int, Q3TextEditOptimPrivate::Tag*>
- size=4 align=4
- base size=4 base align=4
-QMap<int, Q3TextEditOptimPrivate::Tag*> (0x65dec80) 0
Class Q3TextEditOptimPrivate
size=52 align=4
@@ -20139,10 +18806,6 @@ Q3TextEdit (0x65de340) 0
QPaintDevice (0x65dec00) 8
vptr=((& Q3TextEdit::_ZTV10Q3TextEdit) + 680u)
-Class QFlags<Q3TextEdit::AutoFormattingFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Q3TextEdit::AutoFormattingFlag> (0x667a240) 0
Vtable for Q3MultiLineEdit
Q3MultiLineEdit::_ZTV15Q3MultiLineEdit: 192u entries
@@ -20827,114 +19490,15 @@ Class Q3GCacheIterator
base size=4 base align=4
Q3GCacheIterator (0x6760d40) 0
-Vtable for Q3AsciiCache<void>
-Q3AsciiCache<void>::_ZTV12Q3AsciiCacheIvE: 8u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI12Q3AsciiCacheIvE)
-8 Q3AsciiCache<type>::count [with type = void]
-12 Q3AsciiCache<type>::clear [with type = void]
-16 Q3AsciiCache<type>::~Q3AsciiCache [with type = void]
-20 Q3AsciiCache<type>::~Q3AsciiCache [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3AsciiCache<type>::deleteItem [with type = void]
-Class Q3AsciiCache<void>
- size=32 align=4
- base size=29 base align=4
-Q3AsciiCache<void> (0x6760f00) 0
- vptr=((& Q3AsciiCache<void>::_ZTV12Q3AsciiCacheIvE) + 8u)
- Q3GCache (0x6760f40) 0
- primary-for Q3AsciiCache<void> (0x6760f00)
- Q3PtrCollection (0x6760f80) 0
- primary-for Q3GCache (0x6760f40)
-
-Vtable for Q3AsciiDict<void>
-Q3AsciiDict<void>::_ZTV11Q3AsciiDictIvE: 10u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI11Q3AsciiDictIvE)
-8 Q3AsciiDict<type>::count [with type = void]
-12 Q3AsciiDict<type>::clear [with type = void]
-16 Q3AsciiDict<type>::~Q3AsciiDict [with type = void]
-20 Q3AsciiDict<type>::~Q3AsciiDict [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3AsciiDict<type>::deleteItem [with type = void]
-32 Q3GDict::read
-36 Q3GDict::write
-Class Q3AsciiDict<void>
- size=28 align=4
- base size=28 base align=4
-Q3AsciiDict<void> (0x680b240) 0
- vptr=((& Q3AsciiDict<void>::_ZTV11Q3AsciiDictIvE) + 8u)
- Q3GDict (0x680b280) 0
- primary-for Q3AsciiDict<void> (0x680b240)
- Q3PtrCollection (0x680b2c0) 0
- primary-for Q3GDict (0x680b280)
-
-Vtable for Q3Cache<void>
-Q3Cache<void>::_ZTV7Q3CacheIvE: 8u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI7Q3CacheIvE)
-8 Q3Cache<type>::count [with type = void]
-12 Q3Cache<type>::clear [with type = void]
-16 Q3Cache<type>::~Q3Cache [with type = void]
-20 Q3Cache<type>::~Q3Cache [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3Cache<type>::deleteItem [with type = void]
-Class Q3Cache<void>
- size=32 align=4
- base size=29 base align=4
-Q3Cache<void> (0x680b680) 0
- vptr=((& Q3Cache<void>::_ZTV7Q3CacheIvE) + 8u)
- Q3GCache (0x680b6c0) 0
- primary-for Q3Cache<void> (0x680b680)
- Q3PtrCollection (0x680b700) 0
- primary-for Q3GCache (0x680b6c0)
-
-Vtable for Q3IntCache<void>
-Q3IntCache<void>::_ZTV10Q3IntCacheIvE: 8u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI10Q3IntCacheIvE)
-8 Q3IntCache<type>::count [with type = void]
-12 Q3IntCache<type>::clear [with type = void]
-16 Q3IntCache<type>::~Q3IntCache [with type = void]
-20 Q3IntCache<type>::~Q3IntCache [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3IntCache<type>::deleteItem [with type = void]
-Class Q3IntCache<void>
- size=32 align=4
- base size=29 base align=4
-Q3IntCache<void> (0x680bc80) 0
- vptr=((& Q3IntCache<void>::_ZTV10Q3IntCacheIvE) + 8u)
- Q3GCache (0x680bcc0) 0
- primary-for Q3IntCache<void> (0x680bc80)
- Q3PtrCollection (0x680bd00) 0
- primary-for Q3GCache (0x680bcc0)
-Vtable for Q3AsciiDict<QMetaObject>
-Q3AsciiDict<QMetaObject>::_ZTV11Q3AsciiDictI11QMetaObjectE: 10u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI11Q3AsciiDictI11QMetaObjectE)
-8 Q3AsciiDict<type>::count [with type = QMetaObject]
-12 Q3AsciiDict<type>::clear [with type = QMetaObject]
-16 Q3AsciiDict<type>::~Q3AsciiDict [with type = QMetaObject]
-20 Q3AsciiDict<type>::~Q3AsciiDict [with type = QMetaObject]
-24 Q3PtrCollection::newItem
-28 Q3AsciiDict<type>::deleteItem [with type = QMetaObject]
-32 Q3GDict::read
-36 Q3GDict::write
-Class Q3AsciiDict<QMetaObject>
- size=28 align=4
- base size=28 base align=4
-Q3AsciiDict<QMetaObject> (0x680bfc0) 0
- vptr=((& Q3AsciiDict<QMetaObject>::_ZTV11Q3AsciiDictI11QMetaObjectE) + 8u)
- Q3GDict (0x680b380) 0
- primary-for Q3AsciiDict<QMetaObject> (0x680bfc0)
- Q3PtrCollection (0x680b7c0) 0
- primary-for Q3GDict (0x680b380)
+
+
+
Vtable for Q3ObjectDictionary
Q3ObjectDictionary::_ZTV18Q3ObjectDictionary: 10u entries
@@ -20961,76 +19525,11 @@ Q3ObjectDictionary (0x688b0c0) 0
Q3PtrCollection (0x688b180) 0
primary-for Q3GDict (0x688b140)
-Vtable for Q3PtrDict<void>
-Q3PtrDict<void>::_ZTV9Q3PtrDictIvE: 10u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI9Q3PtrDictIvE)
-8 Q3PtrDict<type>::count [with type = void]
-12 Q3PtrDict<type>::clear [with type = void]
-16 Q3PtrDict<type>::~Q3PtrDict [with type = void]
-20 Q3PtrDict<type>::~Q3PtrDict [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3PtrDict<type>::deleteItem [with type = void]
-32 Q3GDict::read
-36 Q3GDict::write
-Class Q3PtrDict<void>
- size=28 align=4
- base size=28 base align=4
-Q3PtrDict<void> (0x688b5c0) 0
- vptr=((& Q3PtrDict<void>::_ZTV9Q3PtrDictIvE) + 8u)
- Q3GDict (0x688b600) 0
- primary-for Q3PtrDict<void> (0x688b5c0)
- Q3PtrCollection (0x688b640) 0
- primary-for Q3GDict (0x688b600)
-
-Vtable for Q3PtrQueue<void>
-Q3PtrQueue<void>::_ZTV10Q3PtrQueueIvE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI10Q3PtrQueueIvE)
-8 Q3PtrQueue<type>::count [with type = void]
-12 Q3PtrQueue<type>::clear [with type = void]
-16 Q3PtrQueue<type>::~Q3PtrQueue [with type = void]
-20 Q3PtrQueue<type>::~Q3PtrQueue [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3PtrQueue<type>::deleteItem [with type = void]
-32 Q3GList::compareItems
-36 Q3GList::read
-40 Q3GList::write
-Class Q3PtrQueue<void>
- size=32 align=4
- base size=32 base align=4
-Q3PtrQueue<void> (0x688ba40) 0
- vptr=((& Q3PtrQueue<void>::_ZTV10Q3PtrQueueIvE) + 8u)
- Q3GList (0x688ba80) 0
- primary-for Q3PtrQueue<void> (0x688ba40)
- Q3PtrCollection (0x688bac0) 0
- primary-for Q3GList (0x688ba80)
-
-Vtable for Q3PtrStack<void>
-Q3PtrStack<void>::_ZTV10Q3PtrStackIvE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI10Q3PtrStackIvE)
-8 Q3PtrStack<type>::count [with type = void]
-12 Q3PtrStack<type>::clear [with type = void]
-16 Q3PtrStack<type>::~Q3PtrStack [with type = void]
-20 Q3PtrStack<type>::~Q3PtrStack [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3PtrStack<type>::deleteItem [with type = void]
-32 Q3GList::compareItems
-36 Q3GList::read
-40 Q3GList::write
-Class Q3PtrStack<void>
- size=32 align=4
- base size=32 base align=4
-Q3PtrStack<void> (0x688bec0) 0
- vptr=((& Q3PtrStack<void>::_ZTV10Q3PtrStackIvE) + 8u)
- Q3GList (0x688bf00) 0
- primary-for Q3PtrStack<void> (0x688bec0)
- Q3PtrCollection (0x688bf40) 0
- primary-for Q3GList (0x688bf00)
+
+
Vtable for Q3Semaphore
Q3Semaphore::_ZTV11Q3Semaphore: 4u entries
@@ -21070,29 +19569,7 @@ Q3Signal (0x68e3080) 0
QObject (0x68e30c0) 0
primary-for Q3Signal (0x68e3080)
-Vtable for Q3PtrVector<char>
-Q3PtrVector<char>::_ZTV11Q3PtrVectorIcE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI11Q3PtrVectorIcE)
-8 Q3PtrVector<type>::count [with type = char]
-12 Q3PtrVector<type>::clear [with type = char]
-16 Q3PtrVector<type>::~Q3PtrVector [with type = char]
-20 Q3PtrVector<type>::~Q3PtrVector [with type = char]
-24 Q3PtrCollection::newItem
-28 Q3PtrVector<type>::deleteItem [with type = char]
-32 Q3GVector::compareItems
-36 Q3GVector::read
-40 Q3GVector::write
-Class Q3PtrVector<char>
- size=20 align=4
- base size=20 base align=4
-Q3PtrVector<char> (0x68e3340) 0
- vptr=((& Q3PtrVector<char>::_ZTV11Q3PtrVectorIcE) + 8u)
- Q3GVector (0x68e3380) 0
- primary-for Q3PtrVector<char> (0x68e3340)
- Q3PtrCollection (0x68e33c0) 0
- primary-for Q3GVector (0x68e3380)
Vtable for Q3StrVec
Q3StrVec::_ZTV8Q3StrVec: 11u entries
@@ -21398,15 +19875,7 @@ Q3GroupBox (0x6955440) 0
QPaintDevice (0x6955500) 8
vptr=((& Q3GroupBox::_ZTV10Q3GroupBox) + 236u)
-Class QMap<int, QAbstractButton*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<int, QAbstractButton*>::<anonymous union> (0x6955980) 0
-Class QMap<int, QAbstractButton*>
- size=4 align=4
- base size=4 base align=4
-QMap<int, QAbstractButton*> (0x69558c0) 0
Vtable for Q3ButtonGroup
Q3ButtonGroup::_ZTV13Q3ButtonGroup: 64u entries
@@ -22209,25 +20678,9 @@ Q3DockWindow (0x69e3e80) 0
QPaintDevice (0x69e3f80) 8
vptr=((& Q3DockWindow::_ZTV12Q3DockWindow) + 304u)
-Class QList<QRect>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QRect>::<anonymous union> (0x6a981c0) 0
-Class QList<QRect>
- size=4 align=4
- base size=4 base align=4
-QList<QRect> (0x6a98100) 0
-Class QList<Q3DockWindow*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<Q3DockWindow*>::<anonymous union> (0x6a98380) 0
-Class QList<Q3DockWindow*>
- size=4 align=4
- base size=4 base align=4
-QList<Q3DockWindow*> (0x6a982c0) 0
Vtable for Q3DockAreaLayout
Q3DockAreaLayout::_ZTV16Q3DockAreaLayout: 48u entries
@@ -22292,10 +20745,6 @@ Q3DockAreaLayout (0x69e3b40) 0
QLayoutItem (0x6a98000) 8
vptr=((& Q3DockAreaLayout::_ZTV16Q3DockAreaLayout) + 128u)
-Class QPointer<Q3DockArea>
- size=4 align=4
- base size=4 base align=4
-QPointer<Q3DockArea> (0x6a98a80) 0
Class Q3DockArea::DockWindowData
size=24 align=4
@@ -23511,223 +21960,47 @@ Q3WidgetStack (0x6be1ac0) 0
QPaintDevice (0x6be1bc0) 8
vptr=((& Q3WidgetStack::_ZTV13Q3WidgetStack) + 248u)
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0x6ca2400) 0
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0x6cc8280) 0
-Class QTypeInfo<QDebug::Stream*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDebug::Stream*> (0x6d20300) 0 empty
-Class QVectorTypedData<QPoint>
- size=24 align=4
- base size=24 base align=4
-QVectorTypedData<QPoint> (0x6d5f780) 0
-Class QVectorTypedData<QPointF>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QPointF> (0x6d5fe80) 0
-Class QVectorTypedData<QPainterPath::Element>
- size=36 align=4
- base size=36 base align=4
-QVectorTypedData<QPainterPath::Element> (0x6db4580) 0
-Class QVectorTypedData<QLineF>
- size=48 align=4
- base size=48 base align=4
-QVectorTypedData<QLineF> (0x6dd4a80) 0
-Class QVectorTypedData<QLine>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QLine> (0x6dd4c40) 0
-Class QVectorTypedData<QRectF>
- size=48 align=4
- base size=48 base align=4
-QVectorTypedData<QRectF> (0x6dd4e00) 0
-Class QVectorTypedData<QRect>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QRect> (0x6dd4fc0) 0
-Class QList<QTreeWidgetItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::Node (0x6ebd540) 0
-Class QVectorTypedData<QVector<QWidgetItemData> >
- size=20 align=4
- base size=20 base align=4
-QVectorTypedData<QVector<QWidgetItemData> > (0x6ebd780) 0
-Class QVectorTypedData<QTextLength>
- size=28 align=4
- base size=28 base align=4
-QVectorTypedData<QTextLength> (0x6edddc0) 0
-Class QVectorTypedData<QTextLayout::FormatRange>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QTextLayout::FormatRange> (0x6f000c0) 0
-Class QVectorTypedData<QAbstractTextDocumentLayout::Selection>
- size=28 align=4
- base size=28 base align=4
-QVectorTypedData<QAbstractTextDocumentLayout::Selection> (0x6f00740) 0
-Class QList<QAction*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QAction*>::Node (0x6f23a80) 0
-Class QLinkedListNode<Q3SqlFieldInfo>
- size=52 align=4
- base size=52 base align=4
-QLinkedListNode<Q3SqlFieldInfo> (0x6f88180) 0
-Class QHashNode<QVariant::Type, QItemEditorCreatorBase*>
- size=16 align=4
- base size=16 base align=4
-QHashNode<QVariant::Type, QItemEditorCreatorBase*> (0x707b100) 0
-Class QTypeInfo<QStandardItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QStandardItem*> (0x707ba80) 0 empty
-Class QTypeInfo<QTreeWidgetItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTreeWidgetItem*> (0x707bd00) 0 empty
-Class QTypeInfo<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLength> (0x7097240) 0 empty
-Class QTypeInfo<QTextLayout::FormatRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLayout::FormatRange> (0x70975c0) 0 empty
-Class QTypeInfo<QAbstractTextDocumentLayout::Selection>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAbstractTextDocumentLayout::Selection> (0x7097a40) 0 empty
-Class QTypeInfo<QAction*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAction*> (0x70b4140) 0 empty
-Class QTypeInfo<Q3TextEditOptimPrivate::Tag*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<Q3TextEditOptimPrivate::Tag*> (0x70b4e00) 0 empty
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0x70df900) 0
-Class QTypeInfo<QMacMime*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMacMime*> (0x70dfb80) 0 empty
-Class QList<QMacMime*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QMacMime*>::Node (0x70dfc40) 0
-Class QList<QVariant>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::Node (0x70dfec0) 0
-Class QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union> (0x70dffc0) 0
-Class QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union> (0x711f6c0) 0
-Class QTypeInfo<QGraphicsItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QGraphicsItem*> (0x711fe00) 0 empty
-Class QList<QGraphicsItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QGraphicsItem*>::Node (0x711fec0) 0
-Class QTypeInfo<QStyleOptionQ3ListViewItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QStyleOptionQ3ListViewItem> (0x7158280) 0 empty
-Class QList<QStyleOptionQ3ListViewItem>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::Node (0x7158340) 0
-Class QList<QItemSelectionRange>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::Node (0x7158700) 0
-Class QList<QStandardItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QStandardItem*>::Node (0x7158a40) 0
-Class QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union> (0x7158d80) 0
-Class QMap<Key, T>::detach_helper() [with Key = int, T = Q3TextEditOptimPrivate::Tag*]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<Key, T>::detach_helper() [with Key = int, T = Q3TextEditOptimPrivate::Tag*]::<anonymous union> (0x718cd40) 0
-Class QList<QRect>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QRect>::Node (0x718cec0) 0
-Class QTypeInfo<Q3DockWindow*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<Q3DockWindow*> (0x71b5180) 0 empty
-Class QList<Q3DockWindow*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<Q3DockWindow*>::Node (0x71b5240) 0
-Class QLinkedList<T>::detach_helper() [with T = Q3SqlFieldInfo]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QLinkedList<T>::detach_helper() [with T = Q3SqlFieldInfo]::<anonymous union> (0x71b5a00) 0
-Class QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union> (0x71b5c80) 0
diff --git a/tests/auto/bic/data/Qt3Support.4.2.0.macx-gcc-ppc32.txt b/tests/auto/bic/data/Qt3Support.4.2.0.macx-gcc-ppc32.txt
index 306abd0..c32b0be 100644
--- a/tests/auto/bic/data/Qt3Support.4.2.0.macx-gcc-ppc32.txt
+++ b/tests/auto/bic/data/Qt3Support.4.2.0.macx-gcc-ppc32.txt
@@ -1,34 +1,8 @@
-Class QUintForSize<4>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<4> (0xa65340) 0 empty
-Class QUintForSize<8>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<8> (0xa653c0) 0 empty
-Class QUintForType<void*>
- size=1 align=1
- base size=1 base align=1
-QUintForType<void*> (0xa65580) 0 empty
- QUintForSize<4> (0xa655c0) 0 empty
-Class QIntForSize<4>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<4> (0xa656c0) 0 empty
-Class QIntForSize<8>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<8> (0xa65740) 0 empty
-Class QIntForType<void*>
- size=1 align=1
- base size=1 base align=1
-QIntForType<void*> (0xa65900) 0 empty
- QIntForSize<4> (0xa65940) 0 empty
Class QSysInfo
size=1 align=1
@@ -50,75 +24,19 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0xa65e40) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0x2700080) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0x2700140) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0x2700200) 0 empty
-Class QTypeInfo<uchar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uchar> (0x27002c0) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0x2700380) 0 empty
-Class QTypeInfo<ushort>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ushort> (0x2700440) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0x2700500) 0 empty
-Class QTypeInfo<uint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uint> (0x27005c0) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0x2700680) 0 empty
-Class QTypeInfo<ulong>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ulong> (0x2700740) 0 empty
-Class QTypeInfo<qint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<qint64> (0x2700800) 0 empty
-Class QTypeInfo<quint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<quint64> (0x27008c0) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0x2700980) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0x2700a40) 0 empty
Class QFlag
size=4 align=4
@@ -135,10 +53,6 @@ Class QChar
base size=2 base align=2
QChar (0x2700d40) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0x2700e40) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -151,10 +65,6 @@ Class QAtomic
QAtomic (0x276d440) 0
QBasicAtomic (0x276d480) 0
-Class <anonymous union>
- size=128 align=8
- base size=128 base align=8
-<anonymous union> (0x276d700) 0
Class __darwin_pthread_handler_rec
size=12 align=4
@@ -236,75 +146,19 @@ Class QByteRef
base size=8 base align=4
QByteRef (0x2814440) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0x2814800) 0 empty
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0x2814c80) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0x2814d00) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0x2814d80) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0x2814e00) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0x2814e80) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0x2814f00) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0x2814f80) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0x292b000) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0x292b080) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0x292b100) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0x292b180) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0x292b200) 0
-Class QFlags<Qt::TextInteractionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::TextInteractionFlag> (0x292b280) 0
Class QInternal
size=1 align=1
@@ -331,10 +185,6 @@ Class QLatin1String
base size=4 base align=4
QLatin1String (0x292ba80) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0x292bec0) 0
Class QCharRef
size=8 align=4
@@ -347,10 +197,6 @@ Class QConstString
QConstString (0x2a9aac0) 0
QString (0x2a9ab00) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0x2a9ac00) 0 empty
Vtable for std::exception
std::exception::_ZTVSt9exception: 5u entries
@@ -413,10 +259,6 @@ Class QListData
base size=4 base align=4
QListData (0x2b8c440) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0x2b8ca80) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -441,15 +283,7 @@ Class QTextCodec
QTextCodec (0x2b8c900) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0x2b8cdc0) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0x2b8cd00) 0
Class QTextEncoder
size=32 align=4
@@ -472,25 +306,13 @@ Class QGenericReturnArgument
QGenericReturnArgument (0x2b8c080) 0
QGenericArgument (0x2b8c2c0) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0x2ca51c0) 0
Class QMetaObject
size=16 align=4
base size=16 base align=4
QMetaObject (0x2ca5140) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0x2ca5440) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0x2ca5380) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -582,10 +404,6 @@ QIODevice (0x2ca5a80) 0
QObject (0x2ca5ac0) 0
primary-for QIODevice (0x2ca5a80)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0x2ca5d00) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -605,25 +423,13 @@ Class QRegExp
base size=4 base align=4
QRegExp (0x2d75340) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0x2d75580) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0x2d75600) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0x2d75800) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0x2d75740) 0
Class QStringList
size=4 align=4
@@ -631,15 +437,7 @@ Class QStringList
QStringList (0x2d758c0) 0
QList<QString> (0x2d75900) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0x2d75dc0) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0x2d75e40) 0
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -773,50 +571,22 @@ QFile (0x2e18800) 0
QObject (0x2e72040) 0
primary-for QIODevice (0x2e72000)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0x2e72200) 0
Class QFileInfo
size=4 align=4
base size=4 base align=4
QFileInfo (0x2e72240) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0x2e72300) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0x2e72380) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0x2e72540) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0x2e72480) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0x2e72600) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0x2e72740) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0x2e727c0) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -873,10 +643,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0x2e72800) 0
vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0x2e72ac0) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -950,10 +716,6 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0x2e72fc0) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0x2e72a00) 0 empty
Class QMapData::Node
size=8 align=4
@@ -978,10 +740,6 @@ Class QTextStream
QTextStream (0x2f89fc0) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0x30ff200) 0
Class QTextStreamManipulator
size=24 align=4
@@ -1088,40 +846,16 @@ Class rlimit
base size=16 base align=8
rlimit (0x30fff80) 0
-Class OSReadSwapInt64(const volatile void*, uintptr_t)::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-OSReadSwapInt64(const volatile void*, uintptr_t)::<anonymous union> (0x31610c0) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0x3161800) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0x3161880) 0
Class wait
size=4 align=4
base size=4 base align=4
wait (0x3161780) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x3161900) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x3161980) 0
-Class <anonymous struct>
- size=16 align=8
- base size=16 base align=8
-<anonymous struct> (0x3161a00) 0
Class QVectorData
size=16 align=4
@@ -1259,15 +993,7 @@ Class QLocale
base size=4 base align=4
QLocale (0x3267940) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0x3267a00) 0 empty
-Class QFlags<QLocale::NumberOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLocale::NumberOption> (0x3267ac0) 0
Vtable for QSystemLocale
QSystemLocale::_ZTV13QSystemLocale: 6u entries
@@ -1294,270 +1020,58 @@ Class QMetaType
base size=0 base align=1
QMetaType (0x3267cc0) 0 empty
-Class QMetaTypeId2<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QString> (0x3267ec0) 0 empty
-Class QMetaTypeId2<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<int> (0x3267f80) 0 empty
-Class QMetaTypeId2<uint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<uint> (0x3267540) 0 empty
-Class QMetaTypeId2<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<bool> (0x3267c00) 0 empty
-Class QMetaTypeId2<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<double> (0x336f080) 0 empty
-Class QMetaTypeId2<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QByteArray> (0x336f140) 0 empty
-Class QMetaTypeId2<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QChar> (0x336f200) 0 empty
-Class QMetaTypeId2<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long int> (0x336f2c0) 0 empty
-Class QMetaTypeId2<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short int> (0x336f380) 0 empty
-Class QMetaTypeId2<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<char> (0x336f440) 0 empty
-Class QMetaTypeId2<ulong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<ulong> (0x336f500) 0 empty
-Class QMetaTypeId2<ushort>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<ushort> (0x336f5c0) 0 empty
-Class QMetaTypeId2<uchar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<uchar> (0x336f680) 0 empty
-Class QMetaTypeId2<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<float> (0x336f740) 0 empty
-Class QMetaTypeId2<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QObject*> (0x336f800) 0 empty
-Class QMetaTypeId2<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QWidget*> (0x336f8c0) 0 empty
-Class QMetaTypeId2<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<void*> (0x336f980) 0 empty
-Class QMetaTypeId2<qlonglong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<qlonglong> (0x336fa40) 0 empty
-Class QMetaTypeId2<qulonglong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<qulonglong> (0x336fb00) 0 empty
-Class QMetaTypeId2<QStringList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QStringList> (0x336fbc0) 0 empty
-Class QMetaTypeId2<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitArray> (0x336fc80) 0 empty
-Class QMetaTypeId2<QDate>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDate> (0x336fd40) 0 empty
-Class QMetaTypeId2<QTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTime> (0x336fe00) 0 empty
-Class QMetaTypeId2<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDateTime> (0x336fec0) 0 empty
-Class QMetaTypeId2<QUrl>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QUrl> (0x336ff80) 0 empty
-Class QMetaTypeId2<QLocale>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLocale> (0x338a040) 0 empty
-Class QMetaTypeId2<QRect>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRect> (0x338a100) 0 empty
-Class QMetaTypeId2<QRectF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRectF> (0x338a1c0) 0 empty
-Class QMetaTypeId2<QSize>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSize> (0x338a280) 0 empty
-Class QMetaTypeId2<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizeF> (0x338a340) 0 empty
-Class QMetaTypeId2<QLine>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLine> (0x338a400) 0 empty
-Class QMetaTypeId2<QLineF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLineF> (0x338a4c0) 0 empty
-Class QMetaTypeId2<QPoint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPoint> (0x338a580) 0 empty
-Class QMetaTypeId2<QPointF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPointF> (0x338a640) 0 empty
-Class QMetaTypeId2<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegExp> (0x338a700) 0 empty
-Class QMetaTypeId2<QColorGroup>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColorGroup> (0x338a7c0) 0 empty
-Class QMetaTypeId2<QFont>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QFont> (0x338a880) 0 empty
-Class QMetaTypeId2<QPixmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPixmap> (0x338a940) 0 empty
-Class QMetaTypeId2<QBrush>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBrush> (0x338aa00) 0 empty
-Class QMetaTypeId2<QColor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColor> (0x338aac0) 0 empty
-Class QMetaTypeId2<QPalette>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPalette> (0x338ab80) 0 empty
-Class QMetaTypeId2<QIcon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QIcon> (0x338ac40) 0 empty
-Class QMetaTypeId2<QImage>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QImage> (0x338ad00) 0 empty
-Class QMetaTypeId2<QPolygon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPolygon> (0x338adc0) 0 empty
-Class QMetaTypeId2<QRegion>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegion> (0x338ae80) 0 empty
-Class QMetaTypeId2<QBitmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitmap> (0x338af40) 0 empty
-Class QMetaTypeId2<QCursor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QCursor> (0x33a6000) 0 empty
-Class QMetaTypeId2<QSizePolicy>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizePolicy> (0x33a60c0) 0 empty
-Class QMetaTypeId2<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QKeySequence> (0x33a6180) 0 empty
-Class QMetaTypeId2<QPen>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPen> (0x33a6240) 0 empty
-Class QMetaTypeId2<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextLength> (0x33a6300) 0 empty
-Class QMetaTypeId2<QTextFormat>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextFormat> (0x33a63c0) 0 empty
-Class QMetaTypeId2<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMatrix> (0x33a6480) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -1584,60 +1098,20 @@ Class QVariant
base size=16 base align=4
QVariant (0x33a6500) 0
-Class QMetaTypeId2<QVariantList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QVariantList> (0x33a6a40) 0 empty
-Class QMetaTypeId2<QVariantMap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QVariantMap> (0x33a6b00) 0 empty
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0x33a6d00) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0x33a6c40) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0x33a6f00) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0x33a6e40) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0x33a67c0) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0x343a080) 0 empty
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0x343a140) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x343a1c0) 0
-Class <anonymous struct>
- size=3156 align=4
- base size=3156 base align=4
-<anonymous struct> (0x343a240) 0
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1715,15 +1189,7 @@ Class QUrl
base size=4 base align=4
QUrl (0x343aa80) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0x343ac40) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0x343acc0) 0 empty
Vtable for QEventLoop
QEventLoop::_ZTV10QEventLoop: 14u entries
@@ -1750,10 +1216,6 @@ QEventLoop (0x343ad40) 0
QObject (0x343ad80) 0
primary-for QEventLoop (0x343ad40)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0x343af80) 0
Vtable for QAbstractEventDispatcher
QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 27u entries
@@ -1798,20 +1260,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0x351f0c0) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0x351f280) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0x351f300) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0x351f440) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -1981,10 +1435,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0x351fb80) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0x351fc80) 0 empty
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -2091,20 +1541,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0x35d37c0) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0x35d3880) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0x35d3900) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0x35d39c0) 0 empty
Class QMetaProperty
size=20 align=4
@@ -2116,10 +1558,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0x35d3a80) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0x35d3b40) 0 empty
Vtable for QMimeData
QMimeData::_ZTV9QMimeData: 17u entries
@@ -2301,10 +1739,6 @@ QLibrary (0x3651300) 0
QObject (0x3651340) 0
primary-for QLibrary (0x3651300)
-Class QFlags<QLibrary::LoadHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLibrary::LoadHint> (0x3651500) 0
Vtable for QPluginLoader
QPluginLoader::_ZTV13QPluginLoader: 14u entries
@@ -2341,10 +1775,6 @@ Class QMutex
base size=4 base align=4
QMutex (0x3651840) 0
-Class QMutexLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMutexLocker::<anonymous union> (0x3651a00) 0
Class QMutexLocker
size=4 align=4
@@ -2356,20 +1786,12 @@ Class QReadWriteLock
base size=4 base align=4
QReadWriteLock (0x3651ac0) 0
-Class QReadLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QReadLocker::<anonymous union> (0x3651b80) 0
Class QReadLocker
size=4 align=4
base size=4 base align=4
QReadLocker (0x3651b00) 0
-Class QWriteLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QWriteLocker::<anonymous union> (0x3651cc0) 0
Class QWriteLocker
size=4 align=4
@@ -2427,10 +1849,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0x371c580) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0x371c680) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -2442,70 +1860,42 @@ Class QDate
base size=4 base align=4
QDate (0x371c900) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0x371cb00) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0x371cb80) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0x371cd80) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0x371ce00) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0x371cf80) 0 empty
Class QPoint
size=8 align=4
base size=8 base align=4
QPoint (0x371c940) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0x37ca1c0) 0 empty
Class QPointF
size=16 align=8
base size=16 base align=4
QPointF (0x37ca480) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0x37ca900) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0x37cac00) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0x37cac80) 0 empty
Class QLineF
size=32 align=8
base size=32 base align=4
QLineF (0x37cae00) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0x37caec0) 0 empty
Class QLinkedListData
size=20 align=4
@@ -2517,40 +1907,24 @@ Class QSize
base size=8 base align=4
QSize (0x38a5240) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0x38a5640) 0 empty
Class QSizeF
size=16 align=8
base size=16 base align=4
QSizeF (0x38a5a00) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0x38a5e00) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0x38a5b40) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0x3956000) 0 empty
Class QRectF
size=32 align=8
base size=32 base align=4
QRectF (0x3956280) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0x3956440) 0 empty
Class QSharedData
size=4 align=4
@@ -2598,10 +1972,6 @@ Class QKeySequence
base size=4 base align=4
QKeySequence (0x3956e80) 0
-Class QTypeInfo<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QKeySequence> (0x3956340) 0 empty
Vtable for QMimeSource
QMimeSource::_ZTV11QMimeSource: 7u entries
@@ -2640,15 +2010,7 @@ Class QMacMime
QMacMime (0x3a9d000) 0
vptr=((& QMacMime::_ZTV8QMacMime) + 8u)
-Class QList<QMacMime*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QMacMime*>::<anonymous union> (0x3a9d340) 0
-Class QList<QMacMime*>
- size=4 align=4
- base size=4 base align=4
-QList<QMacMime*> (0x3a9d280) 0
Vtable for QMacPasteboardMime
QMacPasteboardMime::_ZTV18QMacPasteboardMime: 10u entries
@@ -2949,15 +2311,7 @@ Class QInputMethodEvent::Attribute
base size=28 base align=4
QInputMethodEvent::Attribute (0x3b2f140) 0
-Class QList<QInputMethodEvent::Attribute>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute>::<anonymous union> (0x3b2fa40) 0
-Class QList<QInputMethodEvent::Attribute>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute> (0x3b2f5c0) 0
Vtable for QInputMethodEvent
QInputMethodEvent::_ZTV17QInputMethodEvent: 4u entries
@@ -3246,15 +2600,7 @@ Class QAccessible
base size=0 base align=1
QAccessible (0x3bb98c0) 0 empty
-Class QFlags<QAccessible::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::StateFlag> (0x3bb9a00) 0
-Class QFlags<QAccessible::RelationFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::RelationFlag> (0x3bb9a80) 0
Vtable for QAccessibleInterface
QAccessibleInterface::_ZTV20QAccessibleInterface: 19u entries
@@ -3643,40 +2989,16 @@ Class QPaintDevice
QPaintDevice (0x3c690c0) 0
vptr=((& QPaintDevice::_ZTV12QPaintDevice) + 8u)
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x3c69400) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x3c69480) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x3c69500) 0
-Class QColor::<anonymous union>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union> (0x3c69380) 0
Class QColor
size=16 align=4
base size=14 base align=4
QColor (0x3c69300) 0
-Class QVector<QPoint>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint>::<anonymous union> (0x3c69940) 0
-Class QVector<QPoint>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint> (0x3c69840) 0
Class QPolygon
size=4 align=4
@@ -3684,15 +3006,7 @@ Class QPolygon
QPolygon (0x3c699c0) 0
QVector<QPoint> (0x3c69a00) 0
-Class QVector<QPointF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF>::<anonymous union> (0x3c69e40) 0
-Class QVector<QPointF>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF> (0x3c69d40) 0
Class QPolygonF
size=4 align=4
@@ -3705,10 +3019,6 @@ Class QMatrix
base size=48 base align=4
QMatrix (0x3cff100) 0
-Class QTypeInfo<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMatrix> (0x3cff180) 0 empty
Class QImageTextKeyLang
size=8 align=4
@@ -3733,10 +3043,6 @@ QImage (0x3cff380) 0
QPaintDevice (0x3cff3c0) 0
primary-for QImage (0x3cff380)
-Class QTypeInfo<QImage>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QImage> (0x3cff780) 0 empty
Vtable for QPixmap
QPixmap::_ZTV7QPixmap: 7u entries
@@ -3761,45 +3067,17 @@ Class QBrush
base size=4 base align=4
QBrush (0x3cffcc0) 0
-Class QTypeInfo<QBrush>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBrush> (0x3cffd80) 0 empty
Class QBrushData
size=72 align=4
base size=72 base align=4
QBrushData (0x3cffe00) 0
-Class QVector<QGradientStop>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QGradientStop>::<anonymous union> (0x3cff5c0) 0
-Class QVector<QGradientStop>
- size=4 align=4
- base size=4 base align=4
-QVector<QGradientStop> (0x3cfff80) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=32 align=8
- base size=32 base align=8
-QGradient::<anonymous union>::<anonymous struct> (0x3cffac0) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=40 align=8
- base size=40 base align=8
-QGradient::<anonymous union>::<anonymous struct> (0x3cffc40) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=24 align=8
- base size=24 base align=8
-QGradient::<anonymous union>::<anonymous struct> (0x3def000) 0
-Class QGradient::<anonymous union>
- size=40 align=8
- base size=40 base align=8
-QGradient::<anonymous union> (0x3cff9c0) 0
Class QGradient
size=56 align=4
@@ -4195,10 +3473,6 @@ QAbstractPrintDialog (0x3edafc0) 0
QPaintDevice (0x3eda240) 8
vptr=((& QAbstractPrintDialog::_ZTV20QAbstractPrintDialog) + 248u)
-Class QFlags<QAbstractPrintDialog::PrintDialogOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractPrintDialog::PrintDialogOption> (0x3edaec0) 0
Vtable for QColorDialog
QColorDialog::_ZTV12QColorDialog: 66u entries
@@ -4449,10 +3723,6 @@ QFileDialog (0x4014500) 0
QPaintDevice (0x40145c0) 8
vptr=((& QFileDialog::_ZTV11QFileDialog) + 244u)
-Class QFlags<QFileDialog::Option>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileDialog::Option> (0x4014880) 0
Vtable for QFontDialog
QFontDialog::_ZTV11QFontDialog: 66u entries
@@ -4859,10 +4129,6 @@ QMessageBox (0x40e41c0) 0
QPaintDevice (0x40e4280) 8
vptr=((& QMessageBox::_ZTV11QMessageBox) + 244u)
-Class QFlags<QMessageBox::StandardButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<QMessageBox::StandardButton> (0x40e4500) 0
Vtable for QPageSetupDialog
QPageSetupDialog::_ZTV16QPageSetupDialog: 67u entries
@@ -5217,25 +4483,13 @@ Class QPainterPath
base size=4 base align=4
QPainterPath (0x40e4380) 0
-Class QVector<QPainterPath::Element>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element>::<anonymous union> (0x41bb340) 0
-Class QVector<QPainterPath::Element>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element> (0x41bb240) 0
Class QPainterPathPrivate
size=8 align=4
base size=8 base align=4
QPainterPathPrivate (0x41bb040) 0
-Class QTypeInfo<QPainterPath::Element>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPainterPath::Element> (0x41bb400) 0 empty
Class QPainterPathStroker
size=4 align=4
@@ -5290,15 +4544,7 @@ Class QGraphicsItem
QGraphicsItem (0x41bb780) 0
vptr=((& QGraphicsItem::_ZTV13QGraphicsItem) + 8u)
-Class QFlags<QGraphicsItem::GraphicsItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGraphicsItem::GraphicsItemFlag> (0x41bbb00) 0
-Class QMetaTypeId<QGraphicsItem*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QGraphicsItem*> (0x41bbb80) 0 empty
Vtable for QAbstractGraphicsShapeItem
QAbstractGraphicsShapeItem::_ZTV26QAbstractGraphicsShapeItem: 39u entries
@@ -5887,10 +5133,6 @@ Class QPen
base size=4 base align=4
QPen (0x42b0640) 0
-Class QTypeInfo<QPen>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPen> (0x42b07c0) 0 empty
Vtable for QGraphicsScene
QGraphicsScene::_ZTV14QGraphicsScene: 34u entries
@@ -6059,60 +5301,20 @@ Class QTextOption
base size=24 base align=4
QTextOption (0x4333380) 0
-Class QFlags<QTextOption::Flag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextOption::Flag> (0x4333480) 0
Class QPainter
size=4 align=4
base size=4 base align=4
QPainter (0x4333500) 0
-Class QFlags<QPainter::RenderHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPainter::RenderHint> (0x4333a80) 0
-Class QVector<QLineF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF>::<anonymous union> (0x4333c40) 0
-Class QVector<QLineF>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF> (0x4333b40) 0
-Class QVector<QLine>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine>::<anonymous union> (0x4333e40) 0
-Class QVector<QLine>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine> (0x4333d40) 0
-Class QVector<QRectF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF>::<anonymous union> (0x4333300) 0
-Class QVector<QRectF>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF> (0x4333f40) 0
-Class QVector<QRect>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect>::<anonymous union> (0x4426140) 0
-Class QVector<QRect>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect> (0x4426040) 0
Vtable for QAbstractScrollArea
QAbstractScrollArea::_ZTV19QAbstractScrollArea: 65u entries
@@ -6367,20 +5569,8 @@ QGraphicsView (0x4426700) 0
QPaintDevice (0x4426800) 8
vptr=((& QGraphicsView::_ZTV13QGraphicsView) + 252u)
-Class QFlags<QGraphicsView::CacheModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGraphicsView::CacheModeFlag> (0x4426a40) 0
-Class QList<QGraphicsItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QGraphicsItem*>::<anonymous union> (0x4426b80) 0
-Class QList<QGraphicsItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QGraphicsItem*> (0x4426ac0) 0
Vtable for QBitmap
QBitmap::_ZTV7QBitmap: 7u entries
@@ -6407,10 +5597,6 @@ Class QIcon
base size=4 base align=4
QIcon (0x4555000) 0
-Class QTypeInfo<QIcon>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QIcon> (0x4555140) 0 empty
Vtable for QIconEngine
QIconEngine::_ZTV11QIconEngine: 9u entries
@@ -6566,10 +5752,6 @@ QImageIOPlugin (0x4590e00) 0
QFactoryInterface (0x4555b80) 8 nearly-empty
primary-for QImageIOHandlerFactoryInterface (0x4555b40)
-Class QFlags<QImageIOPlugin::Capability>
- size=4 align=4
- base size=4 base align=4
-QFlags<QImageIOPlugin::Capability> (0x4555dc0) 0
Class QImageReader
size=4 align=4
@@ -6745,15 +5927,7 @@ QActionGroup (0x45f1780) 0
QObject (0x45f17c0) 0
primary-for QActionGroup (0x45f1780)
-Class QList<QAction*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QAction*>::<anonymous union> (0x45f1a40) 0
-Class QList<QAction*>
- size=4 align=4
- base size=4 base align=4
-QList<QAction*> (0x45f1980) 0
Vtable for QInputContext
QInputContext::_ZTV13QInputContext: 25u entries
@@ -7058,10 +6232,6 @@ QAbstractSpinBox (0x46b1600) 0
QPaintDevice (0x46b1680) 8
vptr=((& QAbstractSpinBox::_ZTV16QAbstractSpinBox) + 252u)
-Class QFlags<QAbstractSpinBox::StepEnabledFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractSpinBox::StepEnabledFlag> (0x46b1900) 0
Vtable for QAbstractSlider
QAbstractSlider::_ZTV15QAbstractSlider: 64u entries
@@ -7269,15 +6439,7 @@ QStyle (0x46b1e80) 0
QObject (0x46b1ec0) 0
primary-for QStyle (0x46b1e80)
-Class QFlags<QStyle::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::StateFlag> (0x46b1580) 0
-Class QFlags<QStyle::SubControl>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::SubControl> (0x46b1a80) 0
Vtable for QTabBar
QTabBar::_ZTV7QTabBar: 67u entries
@@ -7536,10 +6698,6 @@ Class QStyleOptionFrame
QStyleOptionFrame (0x47af840) 0
QStyleOption (0x47af880) 0
-Class QFlags<QStyleOptionFrameV2::FrameFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionFrameV2::FrameFeature> (0x47afb40) 0
Class QStyleOptionFrameV2
size=56 align=4
@@ -7566,10 +6724,6 @@ Class QStyleOptionHeader
QStyleOptionHeader (0x47af740) 0
QStyleOption (0x47af8c0) 0
-Class QFlags<QStyleOptionButton::ButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionButton::ButtonFeature> (0x4867180) 0
Class QStyleOptionButton
size=64 align=4
@@ -7577,10 +6731,6 @@ Class QStyleOptionButton
QStyleOptionButton (0x4867040) 0
QStyleOption (0x4867080) 0
-Class QFlags<QStyleOptionTab::CornerWidget>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionTab::CornerWidget> (0x4867440) 0
Class QStyleOptionTab
size=72 align=4
@@ -7595,10 +6745,6 @@ QStyleOptionTabV2 (0x4867580) 0
QStyleOptionTab (0x48675c0) 0
QStyleOption (0x4867600) 0
-Class QFlags<QStyleOptionToolBar::ToolBarFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionToolBar::ToolBarFeature> (0x4867980) 0
Class QStyleOptionToolBar
size=68 align=4
@@ -7625,10 +6771,6 @@ Class QStyleOptionMenuItem
QStyleOptionMenuItem (0x4867d40) 0
QStyleOption (0x4867d80) 0
-Class QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature> (0x4867100) 0
Class QStyleOptionQ3ListViewItem
size=64 align=4
@@ -7654,10 +6796,6 @@ Class QStyleOptionViewItem
QStyleOptionViewItem (0x4909180) 0
QStyleOption (0x49091c0) 0
-Class QFlags<QStyleOptionViewItemV2::ViewItemFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionViewItemV2::ViewItemFeature> (0x4909480) 0
Class QStyleOptionViewItemV2
size=84 align=4
@@ -7698,15 +6836,7 @@ QStyleOptionSpinBox (0x4909e00) 0
QStyleOptionComplex (0x4909e40) 0
QStyleOption (0x4909e80) 0
-Class QList<QStyleOptionQ3ListViewItem>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::<anonymous union> (0x4909d00) 0
-Class QList<QStyleOptionQ3ListViewItem>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem> (0x49098c0) 0
Class QStyleOptionQ3ListView
size=84 align=4
@@ -7715,10 +6845,6 @@ QStyleOptionQ3ListView (0x4909fc0) 0
QStyleOptionComplex (0x4909080) 0
QStyleOption (0x4909200) 0
-Class QFlags<QStyleOptionToolButton::ToolButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionToolButton::ToolButtonFeature> (0x4978300) 0
Class QStyleOptionToolButton
size=96 align=4
@@ -7809,10 +6935,6 @@ Class QItemSelectionRange
base size=8 base align=4
QItemSelectionRange (0x4978f80) 0
-Class QTypeInfo<QItemSelectionRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QItemSelectionRange> (0x4a18180) 0 empty
Vtable for QItemSelectionModel
QItemSelectionModel::_ZTV19QItemSelectionModel: 18u entries
@@ -7843,20 +6965,8 @@ QItemSelectionModel (0x4a18240) 0
QObject (0x4a18280) 0
primary-for QItemSelectionModel (0x4a18240)
-Class QFlags<QItemSelectionModel::SelectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QItemSelectionModel::SelectionFlag> (0x4a18440) 0
-Class QList<QItemSelectionRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::<anonymous union> (0x4a185c0) 0
-Class QList<QItemSelectionRange>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange> (0x4a18500) 0
Class QItemSelection
size=4 align=4
@@ -7986,10 +7096,6 @@ QAbstractItemView (0x4a18780) 0
QPaintDevice (0x4a18880) 8
vptr=((& QAbstractItemView::_ZTV17QAbstractItemView) + 392u)
-Class QFlags<QAbstractItemView::EditTrigger>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractItemView::EditTrigger> (0x4a18b00) 0
Vtable for QAbstractProxyModel
QAbstractProxyModel::_ZTV19QAbstractProxyModel: 47u entries
@@ -8327,15 +7433,7 @@ Class QItemEditorCreatorBase
QItemEditorCreatorBase (0x4af15c0) 0 nearly-empty
vptr=((& QItemEditorCreatorBase::_ZTV22QItemEditorCreatorBase) + 8u)
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union> (0x4af1b40) 0
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*> (0x4af1a00) 0
Vtable for QItemEditorFactory
QItemEditorFactory::_ZTV18QItemEditorFactory: 6u entries
@@ -8476,15 +7574,7 @@ QListView (0x4af1d80) 0
QPaintDevice (0x4af1ec0) 8
vptr=((& QListView::_ZTV9QListView) + 392u)
-Class QVector<QWidgetItemData>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData>::<anonymous union> (0x4b910c0) 0
-Class QVector<QWidgetItemData>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData> (0x4af1fc0) 0
Vtable for QListWidgetItem
QListWidgetItem::_ZTV15QListWidgetItem: 11u entries
@@ -8777,15 +7867,7 @@ Class QStandardItem
QStandardItem (0x4b91d00) 0
vptr=((& QStandardItem::_ZTV13QStandardItem) + 8u)
-Class QList<QStandardItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QStandardItem*>::<anonymous union> (0x4c92000) 0
-Class QList<QStandardItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QStandardItem*> (0x4b91a80) 0
Vtable for QStandardItemModel
QStandardItemModel::_ZTV18QStandardItemModel: 42u entries
@@ -9303,35 +8385,15 @@ QTreeView (0x4c92e00) 0
QPaintDevice (0x4c92f40) 8
vptr=((& QTreeView::_ZTV9QTreeView) + 400u)
-Class QFlags<QTreeWidgetItemIterator::IteratorFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTreeWidgetItemIterator::IteratorFlag> (0x4da0080) 0
Class QTreeWidgetItemIterator
size=12 align=4
base size=12 base align=4
QTreeWidgetItemIterator (0x4c928c0) 0
-Class QVector<QVector<QWidgetItemData> >::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> >::<anonymous union> (0x4da0500) 0
-Class QVector<QVector<QWidgetItemData> >
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> > (0x4da0400) 0
-Class QList<QTreeWidgetItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::<anonymous union> (0x4da06c0) 0
-Class QList<QTreeWidgetItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*> (0x4da0600) 0
Vtable for QTreeWidgetItem
QTreeWidgetItem::_ZTV15QTreeWidgetItem: 10u entries
@@ -10212,15 +9274,7 @@ Class QTextItem
base size=0 base align=1
QTextItem (0x4fb3480) 0 empty
-Class QTypeInfo<QTextItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextItem> (0x4fb3540) 0 empty
-Class QFlags<QPaintEngine::PaintEngineFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::PaintEngineFeature> (0x4fb3700) 0
Vtable for QPaintEngine
QPaintEngine::_ZTV12QPaintEngine: 24u entries
@@ -10255,20 +9309,12 @@ Class QPaintEngine
QPaintEngine (0x4fb35c0) 0
vptr=((& QPaintEngine::_ZTV12QPaintEngine) + 8u)
-Class QFlags<QPaintEngine::DirtyFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::DirtyFlag> (0x4fb39c0) 0
Class QPaintEngineState
size=4 align=4
base size=4 base align=4
QPaintEngineState (0x4fb3900) 0
-Class QFlags<QTextItem::RenderFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextItem::RenderFlag> (0x4fb3a40) 0
Vtable for QPrinter
QPrinter::_ZTV8QPrinter: 7u entries
@@ -10361,10 +9407,6 @@ QCommonStyle (0x4fb3940) 0
QObject (0x4fb3d40) 0
primary-for QStyle (0x4fb3bc0)
-Class QPointer<QFocusFrame>
- size=4 align=4
- base size=4 base align=4
-QPointer<QFocusFrame> (0x508e2c0) 0
Vtable for QMotifStyle
QMotifStyle::_ZTV11QMotifStyle: 35u entries
@@ -10738,30 +9780,14 @@ Class QTextLength
base size=12 base align=4
QTextLength (0x5110180) 0
-Class QSharedDataPointer<QTextFormatPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextFormatPrivate> (0x5110540) 0
Class QTextFormat
size=8 align=4
base size=8 base align=4
QTextFormat (0x51103c0) 0
-Class QVector<QTextLength>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength>::<anonymous union> (0x5110900) 0
-Class QVector<QTextLength>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength> (0x5110800) 0
-Class QFlags<QTextFormat::PageBreakFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextFormat::PageBreakFlag> (0x5110a00) 0
Class QTextCharFormat
size=8 align=4
@@ -10816,15 +9842,7 @@ Class QTextLayout
base size=4 base align=4
QTextLayout (0x5110f40) 0
-Class QVector<QTextLayout::FormatRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange>::<anonymous union> (0x521f080) 0
-Class QVector<QTextLayout::FormatRange>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange> (0x5110600) 0
Class QTextLine
size=8 align=4
@@ -10874,15 +9892,7 @@ QTextDocument (0x521f380) 0
QObject (0x521f3c0) 0
primary-for QTextDocument (0x521f380)
-Class QFlags<QTextDocument::FindFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextDocument::FindFlag> (0x521f5c0) 0
-Class QSharedDataPointer<QTextCursorPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextCursorPrivate> (0x521f700) 0
Class QTextCursor
size=4 align=4
@@ -10894,15 +9904,7 @@ Class QAbstractTextDocumentLayout::Selection
base size=12 base align=4
QAbstractTextDocumentLayout::Selection (0x521f840) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union> (0x521fa80) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection> (0x521f980) 0
Class QAbstractTextDocumentLayout::PaintContext
size=48 align=4
@@ -11064,10 +10066,6 @@ QTextFrame (0x52ec240) 0
QObject (0x52ec2c0) 0
primary-for QTextObject (0x52ec280)
-Class QTypeInfo<QTextFrame::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFrame::iterator> (0x52ec800) 0 empty
Vtable for QTextBlockUserData
QTextBlockUserData::_ZTV18QTextBlockUserData: 4u entries
@@ -11092,25 +10090,13 @@ Class QTextBlock
base size=8 base align=4
QTextBlock (0x52eca40) 0
-Class QTypeInfo<QTextBlock>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock> (0x52ece40) 0 empty
-Class QTypeInfo<QTextBlock::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock::iterator> (0x52ecf00) 0 empty
Class QTextFragment
size=12 align=4
base size=12 base align=4
QTextFragment (0x52ecfc0) 0
-Class QTypeInfo<QTextFragment>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFragment> (0x5351140) 0 empty
Vtable for QSyntaxHighlighter
QSyntaxHighlighter::_ZTV18QSyntaxHighlighter: 15u entries
@@ -12072,10 +11058,6 @@ QDateEdit (0x54928c0) 0
QPaintDevice (0x54929c0) 8
vptr=((& QDateEdit::_ZTV9QDateEdit) + 260u)
-Class QFlags<QDateTimeEdit::Section>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDateTimeEdit::Section> (0x5492bc0) 0
Vtable for QDial
QDial::_ZTV5QDial: 64u entries
@@ -12236,10 +11218,6 @@ QDialogButtonBox (0x5492e80) 0
QPaintDevice (0x5492f00) 8
vptr=((& QDialogButtonBox::_ZTV16QDialogButtonBox) + 232u)
-Class QFlags<QDialogButtonBox::StandardButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDialogButtonBox::StandardButton> (0x5492d80) 0
Vtable for QDockWidget
QDockWidget::_ZTV11QDockWidget: 63u entries
@@ -12319,10 +11297,6 @@ QDockWidget (0x5571000) 0
QPaintDevice (0x5571080) 8
vptr=((& QDockWidget::_ZTV11QDockWidget) + 232u)
-Class QFlags<QDockWidget::DockWidgetFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDockWidget::DockWidgetFeature> (0x5571340) 0
Vtable for QFocusFrame
QFocusFrame::_ZTV11QFocusFrame: 63u entries
@@ -12484,10 +11458,6 @@ QFontComboBox (0x55715c0) 0
QPaintDevice (0x5571680) 8
vptr=((& QFontComboBox::_ZTV13QFontComboBox) + 240u)
-Class QFlags<QFontComboBox::FontFilter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFontComboBox::FontFilter> (0x55718c0) 0
Vtable for QGroupBox
QGroupBox::_ZTV9QGroupBox: 63u entries
@@ -14056,10 +13026,6 @@ QTextEdit (0x580a480) 0
QPaintDevice (0x580a580) 8
vptr=((& QTextEdit::_ZTV9QTextEdit) + 256u)
-Class QFlags<QTextEdit::AutoFormattingFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextEdit::AutoFormattingFlag> (0x580a8c0) 0
Vtable for QTextBrowser
QTextBrowser::_ZTV12QTextBrowser: 74u entries
@@ -14669,20 +13635,12 @@ Class QNetworkAddressEntry
base size=4 base align=4
QNetworkAddressEntry (0x59bd240) 0
-Class QSharedDataPointer<QNetworkInterfacePrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QNetworkInterfacePrivate> (0x59bd440) 0
Class QNetworkInterface
size=4 align=4
base size=4 base align=4
QNetworkInterface (0x59bd280) 0
-Class QFlags<QNetworkInterface::InterfaceFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QNetworkInterface::InterfaceFlag> (0x59bd540) 0
Class QNetworkProxy
size=4 align=4
@@ -14807,15 +13765,7 @@ QUdpSocket (0x59bd940) 0
QObject (0x59bda00) 0
primary-for QIODevice (0x59bd9c0)
-Class QFlags<QUdpSocket::BindFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUdpSocket::BindFlag> (0x59bdbc0) 0
-Class QFlags<QSql::ParamTypeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QSql::ParamTypeFlag> (0x59bdcc0) 0
Class QSqlRecord
size=4 align=4
@@ -14953,15 +13903,7 @@ Class QSqlField
base size=20 base align=4
QSqlField (0x5c49440) 0
-Class QList<bool>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<bool>::<anonymous union> (0x5c496c0) 0
-Class QList<bool>
- size=4 align=4
- base size=4 base align=4
-QList<bool> (0x5c49600) 0
Class QSqlIndex
size=16 align=4
@@ -15477,29 +14419,7 @@ Class Q3GListStdIterator
base size=4 base align=4
Q3GListStdIterator (0x5cf7a40) 0
-Vtable for Q3PtrList<void>
-Q3PtrList<void>::_ZTV9Q3PtrListIvE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI9Q3PtrListIvE)
-8 Q3PtrList<type>::count [with type = void]
-12 Q3PtrList<type>::clear [with type = void]
-16 Q3PtrList<type>::~Q3PtrList [with type = void]
-20 Q3PtrList<type>::~Q3PtrList [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3PtrList<type>::deleteItem [with type = void]
-32 Q3GList::compareItems
-36 Q3GList::read
-40 Q3GList::write
-Class Q3PtrList<void>
- size=32 align=4
- base size=32 base align=4
-Q3PtrList<void> (0x5cf7d40) 0
- vptr=((& Q3PtrList<void>::_ZTV9Q3PtrListIvE) + 8u)
- Q3GList (0x5cf7d80) 0
- primary-for Q3PtrList<void> (0x5cf7d40)
- Q3PtrCollection (0x5cf7dc0) 0
- primary-for Q3GList (0x5cf7d80)
Class Q3PointArray
size=4 align=4
@@ -15508,21 +14428,8 @@ Q3PointArray (0x5da9180) 0
QPolygon (0x5da91c0) 0
QVector<QPoint> (0x5da9200) 0
-Class QLinkedList<Q3CanvasItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QLinkedList<Q3CanvasItem*>::<anonymous union> (0x5da97c0) 0
-Class QLinkedList<Q3CanvasItem*>
- size=4 align=4
- base size=4 base align=4
-QLinkedList<Q3CanvasItem*> (0x5da96c0) 0
-Class Q3ValueList<Q3CanvasItem*>
- size=4 align=4
- base size=4 base align=4
-Q3ValueList<Q3CanvasItem*> (0x5da9800) 0
- QLinkedList<Q3CanvasItem*> (0x5da9840) 0
Class Q3CanvasItemList
size=4 align=4
@@ -16160,28 +15067,7 @@ Class Q3GDictIterator
base size=12 base align=4
Q3GDictIterator (0x5eae740) 0
-Vtable for Q3Dict<void>
-Q3Dict<void>::_ZTV6Q3DictIvE: 10u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI6Q3DictIvE)
-8 Q3Dict<type>::count [with type = void]
-12 Q3Dict<type>::clear [with type = void]
-16 Q3Dict<type>::~Q3Dict [with type = void]
-20 Q3Dict<type>::~Q3Dict [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3Dict<type>::deleteItem [with type = void]
-32 Q3GDict::read
-36 Q3GDict::write
-Class Q3Dict<void>
- size=28 align=4
- base size=28 base align=4
-Q3Dict<void> (0x5eaea00) 0
- vptr=((& Q3Dict<void>::_ZTV6Q3DictIvE) + 8u)
- Q3GDict (0x5eaea40) 0
- primary-for Q3Dict<void> (0x5eaea00)
- Q3PtrCollection (0x5eaea80) 0
- primary-for Q3GDict (0x5eaea40)
Vtable for Q3NetworkProtocolFactoryBase
Q3NetworkProtocolFactoryBase::_ZTV28Q3NetworkProtocolFactoryBase: 5u entries
@@ -16716,29 +15602,7 @@ Q3Wizard (0x5f25f40) 0
QPaintDevice (0x5f250c0) 8
vptr=((& Q3Wizard::_ZTV8Q3Wizard) + 308u)
-Vtable for Q3PtrList<char>
-Q3PtrList<char>::_ZTV9Q3PtrListIcE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI9Q3PtrListIcE)
-8 Q3PtrList<type>::count [with type = char]
-12 Q3PtrList<type>::clear [with type = char]
-16 Q3PtrList<type>::~Q3PtrList [with type = char]
-20 Q3PtrList<type>::~Q3PtrList [with type = char]
-24 Q3PtrCollection::newItem
-28 Q3PtrList<type>::deleteItem [with type = char]
-32 Q3GList::compareItems
-36 Q3GList::read
-40 Q3GList::write
-Class Q3PtrList<char>
- size=32 align=4
- base size=32 base align=4
-Q3PtrList<char> (0x5fd1080) 0
- vptr=((& Q3PtrList<char>::_ZTV9Q3PtrListIcE) + 8u)
- Q3GList (0x5fd10c0) 0
- primary-for Q3PtrList<char> (0x5fd1080)
- Q3PtrCollection (0x5fd1100) 0
- primary-for Q3GList (0x5fd10c0)
Vtable for Q3StrList
Q3StrList::_ZTV9Q3StrList: 11u entries
@@ -16766,11 +15630,6 @@ Q3StrList (0x5fd1280) 0
Q3PtrCollection (0x5fd1340) 0
primary-for Q3GList (0x5fd1300)
-Class Q3PtrListStdIterator<char>
- size=4 align=4
- base size=4 base align=4
-Q3PtrListStdIterator<char> (0x5fd1740) 0
- Q3GListStdIterator (0x5fd1780) 0
Vtable for Q3StrIList
Q3StrIList::_ZTV10Q3StrIList: 11u entries
@@ -17803,29 +16662,7 @@ Q3GVector (0x61753c0) 0
Q3PtrCollection (0x6175400) 0
primary-for Q3GVector (0x61753c0)
-Vtable for Q3PtrVector<void>
-Q3PtrVector<void>::_ZTV11Q3PtrVectorIvE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI11Q3PtrVectorIvE)
-8 Q3PtrVector<type>::count [with type = void]
-12 Q3PtrVector<type>::clear [with type = void]
-16 Q3PtrVector<type>::~Q3PtrVector [with type = void]
-20 Q3PtrVector<type>::~Q3PtrVector [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3PtrVector<type>::deleteItem [with type = void]
-32 Q3GVector::compareItems
-36 Q3GVector::read
-40 Q3GVector::write
-Class Q3PtrVector<void>
- size=20 align=4
- base size=20 base align=4
-Q3PtrVector<void> (0x61756c0) 0
- vptr=((& Q3PtrVector<void>::_ZTV11Q3PtrVectorIvE) + 8u)
- Q3GVector (0x6175700) 0
- primary-for Q3PtrVector<void> (0x61756c0)
- Q3PtrCollection (0x6175740) 0
- primary-for Q3GVector (0x6175700)
Vtable for Q3Header
Q3Header::_ZTV8Q3Header: 76u entries
@@ -17945,28 +16782,7 @@ Class Q3GArray
Q3GArray (0x6175b40) 0
vptr=((& Q3GArray::_ZTV8Q3GArray) + 8u)
-Vtable for Q3IntDict<void>
-Q3IntDict<void>::_ZTV9Q3IntDictIvE: 10u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI9Q3IntDictIvE)
-8 Q3IntDict<type>::count [with type = void]
-12 Q3IntDict<type>::clear [with type = void]
-16 Q3IntDict<type>::~Q3IntDict [with type = void]
-20 Q3IntDict<type>::~Q3IntDict [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3IntDict<type>::deleteItem [with type = void]
-32 Q3GDict::read
-36 Q3GDict::write
-Class Q3IntDict<void>
- size=28 align=4
- base size=28 base align=4
-Q3IntDict<void> (0x61754c0) 0
- vptr=((& Q3IntDict<void>::_ZTV9Q3IntDictIvE) + 8u)
- Q3GDict (0x6175800) 0
- primary-for Q3IntDict<void> (0x61754c0)
- Q3PtrCollection (0x61759c0) 0
- primary-for Q3GDict (0x6175800)
Class Q3TableSelection
size=28 align=4
@@ -18077,100 +16893,13 @@ Class Q3Table::TableWidget
base size=12 base align=4
Q3Table::TableWidget (0x6253840) 0
-Vtable for Q3PtrVector<Q3TableItem>
-Q3PtrVector<Q3TableItem>::_ZTV11Q3PtrVectorI11Q3TableItemE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI11Q3PtrVectorI11Q3TableItemE)
-8 Q3PtrVector<type>::count [with type = Q3TableItem]
-12 Q3PtrVector<type>::clear [with type = Q3TableItem]
-16 Q3PtrVector<type>::~Q3PtrVector [with type = Q3TableItem]
-20 Q3PtrVector<type>::~Q3PtrVector [with type = Q3TableItem]
-24 Q3PtrCollection::newItem
-28 Q3PtrVector<type>::deleteItem [with type = Q3TableItem]
-32 Q3GVector::compareItems
-36 Q3GVector::read
-40 Q3GVector::write
-Class Q3PtrVector<Q3TableItem>
- size=20 align=4
- base size=20 base align=4
-Q3PtrVector<Q3TableItem> (0x6253980) 0
- vptr=((& Q3PtrVector<Q3TableItem>::_ZTV11Q3PtrVectorI11Q3TableItemE) + 8u)
- Q3GVector (0x62539c0) 0
- primary-for Q3PtrVector<Q3TableItem> (0x6253980)
- Q3PtrCollection (0x6253a00) 0
- primary-for Q3GVector (0x62539c0)
-
-Vtable for Q3PtrVector<QWidget>
-Q3PtrVector<QWidget>::_ZTV11Q3PtrVectorI7QWidgetE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI11Q3PtrVectorI7QWidgetE)
-8 Q3PtrVector<type>::count [with type = QWidget]
-12 Q3PtrVector<type>::clear [with type = QWidget]
-16 Q3PtrVector<type>::~Q3PtrVector [with type = QWidget]
-20 Q3PtrVector<type>::~Q3PtrVector [with type = QWidget]
-24 Q3PtrCollection::newItem
-28 Q3PtrVector<type>::deleteItem [with type = QWidget]
-32 Q3GVector::compareItems
-36 Q3GVector::read
-40 Q3GVector::write
-Class Q3PtrVector<QWidget>
- size=20 align=4
- base size=20 base align=4
-Q3PtrVector<QWidget> (0x6253c00) 0
- vptr=((& Q3PtrVector<QWidget>::_ZTV11Q3PtrVectorI7QWidgetE) + 8u)
- Q3GVector (0x6253c40) 0
- primary-for Q3PtrVector<QWidget> (0x6253c00)
- Q3PtrCollection (0x6253c80) 0
- primary-for Q3GVector (0x6253c40)
-
-Vtable for Q3PtrList<Q3TableSelection>
-Q3PtrList<Q3TableSelection>::_ZTV9Q3PtrListI16Q3TableSelectionE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI9Q3PtrListI16Q3TableSelectionE)
-8 Q3PtrList<type>::count [with type = Q3TableSelection]
-12 Q3PtrList<type>::clear [with type = Q3TableSelection]
-16 Q3PtrList<type>::~Q3PtrList [with type = Q3TableSelection]
-20 Q3PtrList<type>::~Q3PtrList [with type = Q3TableSelection]
-24 Q3PtrCollection::newItem
-28 Q3PtrList<type>::deleteItem [with type = Q3TableSelection]
-32 Q3GList::compareItems
-36 Q3GList::read
-40 Q3GList::write
-Class Q3PtrList<Q3TableSelection>
- size=32 align=4
- base size=32 base align=4
-Q3PtrList<Q3TableSelection> (0x6253e80) 0
- vptr=((& Q3PtrList<Q3TableSelection>::_ZTV9Q3PtrListI16Q3TableSelectionE) + 8u)
- Q3GList (0x6253ec0) 0
- primary-for Q3PtrList<Q3TableSelection> (0x6253e80)
- Q3PtrCollection (0x6253f00) 0
- primary-for Q3GList (0x6253ec0)
-
-Vtable for Q3IntDict<int>
-Q3IntDict<int>::_ZTV9Q3IntDictIiE: 10u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI9Q3IntDictIiE)
-8 Q3IntDict<type>::count [with type = int]
-12 Q3IntDict<type>::clear [with type = int]
-16 Q3IntDict<type>::~Q3IntDict [with type = int]
-20 Q3IntDict<type>::~Q3IntDict [with type = int]
-24 Q3PtrCollection::newItem
-28 Q3IntDict<type>::deleteItem [with type = int]
-32 Q3GDict::read
-36 Q3GDict::write
-Class Q3IntDict<int>
- size=28 align=4
- base size=28 base align=4
-Q3IntDict<int> (0x6253600) 0
- vptr=((& Q3IntDict<int>::_ZTV9Q3IntDictIiE) + 8u)
- Q3GDict (0x6253900) 0
- primary-for Q3IntDict<int> (0x6253600)
- Q3PtrCollection (0x6253ac0) 0
- primary-for Q3GDict (0x6253900)
+
+
+
Vtable for Q3Table
Q3Table::_ZTV7Q3Table: 183u entries
@@ -18484,15 +17213,7 @@ Q3Ftp (0x62dc680) 0
QObject (0x62dc700) 0
primary-for Q3NetworkProtocol (0x62dc6c0)
-Class QMap<QString, QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QString>::<anonymous union> (0x62dca00) 0
-Class QMap<QString, QString>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QString> (0x62dc940) 0
Vtable for Q3HttpHeader
Q3HttpHeader::_ZTV12Q3HttpHeader: 8u entries
@@ -19774,21 +18495,8 @@ Class Q3SqlPropertyMap
Q3SqlPropertyMap (0x65156c0) 0
vptr=((& Q3SqlPropertyMap::_ZTV16Q3SqlPropertyMap) + 8u)
-Class QLinkedList<Q3SqlFieldInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QLinkedList<Q3SqlFieldInfo>::<anonymous union> (0x6515a40) 0
-Class QLinkedList<Q3SqlFieldInfo>
- size=4 align=4
- base size=4 base align=4
-QLinkedList<Q3SqlFieldInfo> (0x6515940) 0
-Class Q3ValueList<Q3SqlFieldInfo>
- size=4 align=4
- base size=4 base align=4
-Q3ValueList<Q3SqlFieldInfo> (0x6515a80) 0
- QLinkedList<Q3SqlFieldInfo> (0x6515ac0) 0
Class Q3SqlRecordInfo
size=4 align=4
@@ -19797,31 +18505,10 @@ Q3SqlRecordInfo (0x6515c40) 0
Q3ValueList<Q3SqlFieldInfo> (0x6515c80) 0
QLinkedList<Q3SqlFieldInfo> (0x6515cc0) 0
-Class QList<Q3SqlFieldInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<Q3SqlFieldInfo>::<anonymous union> (0x6515ec0) 0
-Class QList<Q3SqlFieldInfo>
- size=4 align=4
- base size=4 base align=4
-QList<Q3SqlFieldInfo> (0x6515e00) 0
-Class QLinkedList<Q3SqlFieldInfo>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QLinkedList<Q3SqlFieldInfo>::const_iterator (0x659c180) 0
-Class Q3ValueListConstIterator<Q3SqlFieldInfo>
- size=4 align=4
- base size=4 base align=4
-Q3ValueListConstIterator<Q3SqlFieldInfo> (0x659c1c0) 0
- QLinkedList<Q3SqlFieldInfo>::const_iterator (0x659c200) 0
-Class QLinkedList<Q3SqlFieldInfo>::iterator
- size=4 align=4
- base size=4 base align=4
-QLinkedList<Q3SqlFieldInfo>::iterator (0x659c2c0) 0
Vtable for Q3SqlSelectCursor
Q3SqlSelectCursor::_ZTV17Q3SqlSelectCursor: 40u entries
@@ -19881,15 +18568,7 @@ Class Q3StyleSheetItem
base size=4 base align=4
Q3StyleSheetItem (0x659c6c0) 0
-Class QHash<QString, Q3StyleSheetItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QHash<QString, Q3StyleSheetItem*>::<anonymous union> (0x659c9c0) 0
-Class QHash<QString, Q3StyleSheetItem*>
- size=4 align=4
- base size=4 base align=4
-QHash<QString, Q3StyleSheetItem*> (0x659c880) 0
Vtable for Q3StyleSheet
Q3StyleSheet::_ZTV12Q3StyleSheet: 16u entries
@@ -19928,25 +18607,9 @@ Class Q3TextEditOptimPrivate::Selection
base size=8 base align=4
Q3TextEditOptimPrivate::Selection (0x659cc00) 0
-Class QMap<int, QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<int, QString>::<anonymous union> (0x659cdc0) 0
-Class QMap<int, QString>
- size=4 align=4
- base size=4 base align=4
-QMap<int, QString> (0x659cd00) 0
-Class QMap<int, Q3TextEditOptimPrivate::Tag*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<int, Q3TextEditOptimPrivate::Tag*>::<anonymous union> (0x659c240) 0
-Class QMap<int, Q3TextEditOptimPrivate::Tag*>
- size=4 align=4
- base size=4 base align=4
-QMap<int, Q3TextEditOptimPrivate::Tag*> (0x659cf80) 0
Class Q3TextEditOptimPrivate
size=52 align=4
@@ -20154,10 +18817,6 @@ Q3TextEdit (0x664b0c0) 0
QPaintDevice (0x664b200) 8
vptr=((& Q3TextEdit::_ZTV10Q3TextEdit) + 680u)
-Class QFlags<Q3TextEdit::AutoFormattingFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Q3TextEdit::AutoFormattingFlag> (0x664b4c0) 0
Vtable for Q3MultiLineEdit
Q3MultiLineEdit::_ZTV15Q3MultiLineEdit: 192u entries
@@ -20842,114 +19501,15 @@ Class Q3GCacheIterator
base size=4 base align=4
Q3GCacheIterator (0x6727fc0) 0
-Vtable for Q3AsciiCache<void>
-Q3AsciiCache<void>::_ZTV12Q3AsciiCacheIvE: 8u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI12Q3AsciiCacheIvE)
-8 Q3AsciiCache<type>::count [with type = void]
-12 Q3AsciiCache<type>::clear [with type = void]
-16 Q3AsciiCache<type>::~Q3AsciiCache [with type = void]
-20 Q3AsciiCache<type>::~Q3AsciiCache [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3AsciiCache<type>::deleteItem [with type = void]
-Class Q3AsciiCache<void>
- size=32 align=4
- base size=32 base align=4
-Q3AsciiCache<void> (0x67d10c0) 0
- vptr=((& Q3AsciiCache<void>::_ZTV12Q3AsciiCacheIvE) + 8u)
- Q3GCache (0x67d1100) 0
- primary-for Q3AsciiCache<void> (0x67d10c0)
- Q3PtrCollection (0x67d1140) 0
- primary-for Q3GCache (0x67d1100)
-
-Vtable for Q3AsciiDict<void>
-Q3AsciiDict<void>::_ZTV11Q3AsciiDictIvE: 10u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI11Q3AsciiDictIvE)
-8 Q3AsciiDict<type>::count [with type = void]
-12 Q3AsciiDict<type>::clear [with type = void]
-16 Q3AsciiDict<type>::~Q3AsciiDict [with type = void]
-20 Q3AsciiDict<type>::~Q3AsciiDict [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3AsciiDict<type>::deleteItem [with type = void]
-32 Q3GDict::read
-36 Q3GDict::write
-Class Q3AsciiDict<void>
- size=28 align=4
- base size=28 base align=4
-Q3AsciiDict<void> (0x67d1500) 0
- vptr=((& Q3AsciiDict<void>::_ZTV11Q3AsciiDictIvE) + 8u)
- Q3GDict (0x67d1540) 0
- primary-for Q3AsciiDict<void> (0x67d1500)
- Q3PtrCollection (0x67d1580) 0
- primary-for Q3GDict (0x67d1540)
-
-Vtable for Q3Cache<void>
-Q3Cache<void>::_ZTV7Q3CacheIvE: 8u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI7Q3CacheIvE)
-8 Q3Cache<type>::count [with type = void]
-12 Q3Cache<type>::clear [with type = void]
-16 Q3Cache<type>::~Q3Cache [with type = void]
-20 Q3Cache<type>::~Q3Cache [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3Cache<type>::deleteItem [with type = void]
-Class Q3Cache<void>
- size=32 align=4
- base size=32 base align=4
-Q3Cache<void> (0x67d1940) 0
- vptr=((& Q3Cache<void>::_ZTV7Q3CacheIvE) + 8u)
- Q3GCache (0x67d1980) 0
- primary-for Q3Cache<void> (0x67d1940)
- Q3PtrCollection (0x67d19c0) 0
- primary-for Q3GCache (0x67d1980)
-
-Vtable for Q3IntCache<void>
-Q3IntCache<void>::_ZTV10Q3IntCacheIvE: 8u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI10Q3IntCacheIvE)
-8 Q3IntCache<type>::count [with type = void]
-12 Q3IntCache<type>::clear [with type = void]
-16 Q3IntCache<type>::~Q3IntCache [with type = void]
-20 Q3IntCache<type>::~Q3IntCache [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3IntCache<type>::deleteItem [with type = void]
-Class Q3IntCache<void>
- size=32 align=4
- base size=32 base align=4
-Q3IntCache<void> (0x67d1f40) 0
- vptr=((& Q3IntCache<void>::_ZTV10Q3IntCacheIvE) + 8u)
- Q3GCache (0x67d1f80) 0
- primary-for Q3IntCache<void> (0x67d1f40)
- Q3PtrCollection (0x67d1fc0) 0
- primary-for Q3GCache (0x67d1f80)
-Vtable for Q3AsciiDict<QMetaObject>
-Q3AsciiDict<QMetaObject>::_ZTV11Q3AsciiDictI11QMetaObjectE: 10u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI11Q3AsciiDictI11QMetaObjectE)
-8 Q3AsciiDict<type>::count [with type = QMetaObject]
-12 Q3AsciiDict<type>::clear [with type = QMetaObject]
-16 Q3AsciiDict<type>::~Q3AsciiDict [with type = QMetaObject]
-20 Q3AsciiDict<type>::~Q3AsciiDict [with type = QMetaObject]
-24 Q3PtrCollection::newItem
-28 Q3AsciiDict<type>::deleteItem [with type = QMetaObject]
-32 Q3GDict::read
-36 Q3GDict::write
-Class Q3AsciiDict<QMetaObject>
- size=28 align=4
- base size=28 base align=4
-Q3AsciiDict<QMetaObject> (0x6856180) 0
- vptr=((& Q3AsciiDict<QMetaObject>::_ZTV11Q3AsciiDictI11QMetaObjectE) + 8u)
- Q3GDict (0x68561c0) 0
- primary-for Q3AsciiDict<QMetaObject> (0x6856180)
- Q3PtrCollection (0x6856200) 0
- primary-for Q3GDict (0x68561c0)
+
+
+
Vtable for Q3ObjectDictionary
Q3ObjectDictionary::_ZTV18Q3ObjectDictionary: 10u entries
@@ -20976,76 +19536,11 @@ Q3ObjectDictionary (0x6856340) 0
Q3PtrCollection (0x6856400) 0
primary-for Q3GDict (0x68563c0)
-Vtable for Q3PtrDict<void>
-Q3PtrDict<void>::_ZTV9Q3PtrDictIvE: 10u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI9Q3PtrDictIvE)
-8 Q3PtrDict<type>::count [with type = void]
-12 Q3PtrDict<type>::clear [with type = void]
-16 Q3PtrDict<type>::~Q3PtrDict [with type = void]
-20 Q3PtrDict<type>::~Q3PtrDict [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3PtrDict<type>::deleteItem [with type = void]
-32 Q3GDict::read
-36 Q3GDict::write
-Class Q3PtrDict<void>
- size=28 align=4
- base size=28 base align=4
-Q3PtrDict<void> (0x6856840) 0
- vptr=((& Q3PtrDict<void>::_ZTV9Q3PtrDictIvE) + 8u)
- Q3GDict (0x6856880) 0
- primary-for Q3PtrDict<void> (0x6856840)
- Q3PtrCollection (0x68568c0) 0
- primary-for Q3GDict (0x6856880)
-
-Vtable for Q3PtrQueue<void>
-Q3PtrQueue<void>::_ZTV10Q3PtrQueueIvE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI10Q3PtrQueueIvE)
-8 Q3PtrQueue<type>::count [with type = void]
-12 Q3PtrQueue<type>::clear [with type = void]
-16 Q3PtrQueue<type>::~Q3PtrQueue [with type = void]
-20 Q3PtrQueue<type>::~Q3PtrQueue [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3PtrQueue<type>::deleteItem [with type = void]
-32 Q3GList::compareItems
-36 Q3GList::read
-40 Q3GList::write
-Class Q3PtrQueue<void>
- size=32 align=4
- base size=32 base align=4
-Q3PtrQueue<void> (0x6856cc0) 0
- vptr=((& Q3PtrQueue<void>::_ZTV10Q3PtrQueueIvE) + 8u)
- Q3GList (0x6856d00) 0
- primary-for Q3PtrQueue<void> (0x6856cc0)
- Q3PtrCollection (0x6856d40) 0
- primary-for Q3GList (0x6856d00)
-
-Vtable for Q3PtrStack<void>
-Q3PtrStack<void>::_ZTV10Q3PtrStackIvE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI10Q3PtrStackIvE)
-8 Q3PtrStack<type>::count [with type = void]
-12 Q3PtrStack<type>::clear [with type = void]
-16 Q3PtrStack<type>::~Q3PtrStack [with type = void]
-20 Q3PtrStack<type>::~Q3PtrStack [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3PtrStack<type>::deleteItem [with type = void]
-32 Q3GList::compareItems
-36 Q3GList::read
-40 Q3GList::write
-Class Q3PtrStack<void>
- size=32 align=4
- base size=32 base align=4
-Q3PtrStack<void> (0x68b3000) 0
- vptr=((& Q3PtrStack<void>::_ZTV10Q3PtrStackIvE) + 8u)
- Q3GList (0x68b3040) 0
- primary-for Q3PtrStack<void> (0x68b3000)
- Q3PtrCollection (0x68b3080) 0
- primary-for Q3GList (0x68b3040)
+
+
Vtable for Q3Semaphore
Q3Semaphore::_ZTV11Q3Semaphore: 4u entries
@@ -21085,29 +19580,7 @@ Q3Signal (0x68b3340) 0
QObject (0x68b3380) 0
primary-for Q3Signal (0x68b3340)
-Vtable for Q3PtrVector<char>
-Q3PtrVector<char>::_ZTV11Q3PtrVectorIcE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI11Q3PtrVectorIcE)
-8 Q3PtrVector<type>::count [with type = char]
-12 Q3PtrVector<type>::clear [with type = char]
-16 Q3PtrVector<type>::~Q3PtrVector [with type = char]
-20 Q3PtrVector<type>::~Q3PtrVector [with type = char]
-24 Q3PtrCollection::newItem
-28 Q3PtrVector<type>::deleteItem [with type = char]
-32 Q3GVector::compareItems
-36 Q3GVector::read
-40 Q3GVector::write
-Class Q3PtrVector<char>
- size=20 align=4
- base size=20 base align=4
-Q3PtrVector<char> (0x68b3600) 0
- vptr=((& Q3PtrVector<char>::_ZTV11Q3PtrVectorIcE) + 8u)
- Q3GVector (0x68b3640) 0
- primary-for Q3PtrVector<char> (0x68b3600)
- Q3PtrCollection (0x68b3680) 0
- primary-for Q3GVector (0x68b3640)
Vtable for Q3StrVec
Q3StrVec::_ZTV8Q3StrVec: 11u entries
@@ -21413,15 +19886,7 @@ Q3GroupBox (0x690d700) 0
QPaintDevice (0x690d7c0) 8
vptr=((& Q3GroupBox::_ZTV10Q3GroupBox) + 236u)
-Class QMap<int, QAbstractButton*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<int, QAbstractButton*>::<anonymous union> (0x690dc40) 0
-Class QMap<int, QAbstractButton*>
- size=4 align=4
- base size=4 base align=4
-QMap<int, QAbstractButton*> (0x690db80) 0
Vtable for Q3ButtonGroup
Q3ButtonGroup::_ZTV13Q3ButtonGroup: 64u entries
@@ -22224,25 +20689,9 @@ Q3DockWindow (0x69b0b40) 0
QPaintDevice (0x6a4c080) 8
vptr=((& Q3DockWindow::_ZTV12Q3DockWindow) + 304u)
-Class QList<QRect>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QRect>::<anonymous union> (0x6a4c480) 0
-Class QList<QRect>
- size=4 align=4
- base size=4 base align=4
-QList<QRect> (0x6a4c3c0) 0
-Class QList<Q3DockWindow*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<Q3DockWindow*>::<anonymous union> (0x6a4c640) 0
-Class QList<Q3DockWindow*>
- size=4 align=4
- base size=4 base align=4
-QList<Q3DockWindow*> (0x6a4c580) 0
Vtable for Q3DockAreaLayout
Q3DockAreaLayout::_ZTV16Q3DockAreaLayout: 48u entries
@@ -22307,10 +20756,6 @@ Q3DockAreaLayout (0x6a4c240) 0
QLayoutItem (0x6a4c2c0) 8
vptr=((& Q3DockAreaLayout::_ZTV16Q3DockAreaLayout) + 128u)
-Class QPointer<Q3DockArea>
- size=4 align=4
- base size=4 base align=4
-QPointer<Q3DockArea> (0x6a4cd40) 0
Class Q3DockArea::DockWindowData
size=24 align=4
@@ -23526,223 +21971,47 @@ Q3WidgetStack (0x6b99d80) 0
QPaintDevice (0x6b99e80) 8
vptr=((& Q3WidgetStack::_ZTV13Q3WidgetStack) + 248u)
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0x6c75680) 0
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0x6c95500) 0
-Class QTypeInfo<QDebug::Stream*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDebug::Stream*> (0x6cf3580) 0 empty
-Class QVectorTypedData<QPoint>
- size=24 align=4
- base size=24 base align=4
-QVectorTypedData<QPoint> (0x6d31a00) 0
-Class QVectorTypedData<QPointF>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QPointF> (0x6d62100) 0
-Class QVectorTypedData<QPainterPath::Element>
- size=40 align=4
- base size=40 base align=4
-QVectorTypedData<QPainterPath::Element> (0x6d8a800) 0
-Class QVectorTypedData<QLineF>
- size=48 align=4
- base size=48 base align=4
-QVectorTypedData<QLineF> (0x6da9d00) 0
-Class QVectorTypedData<QLine>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QLine> (0x6da9ec0) 0
-Class QVectorTypedData<QRectF>
- size=48 align=4
- base size=48 base align=4
-QVectorTypedData<QRectF> (0x6dc6080) 0
-Class QVectorTypedData<QRect>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QRect> (0x6dc6240) 0
-Class QList<QTreeWidgetItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::Node (0x6e8f7c0) 0
-Class QVectorTypedData<QVector<QWidgetItemData> >
- size=20 align=4
- base size=20 base align=4
-QVectorTypedData<QVector<QWidgetItemData> > (0x6e8fa00) 0
-Class QVectorTypedData<QTextLength>
- size=28 align=4
- base size=28 base align=4
-QVectorTypedData<QTextLength> (0x6ed0040) 0
-Class QVectorTypedData<QTextLayout::FormatRange>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QTextLayout::FormatRange> (0x6ed0340) 0
-Class QVectorTypedData<QAbstractTextDocumentLayout::Selection>
- size=28 align=4
- base size=28 base align=4
-QVectorTypedData<QAbstractTextDocumentLayout::Selection> (0x6ed09c0) 0
-Class QList<QAction*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QAction*>::Node (0x6ef7d00) 0
-Class QLinkedListNode<Q3SqlFieldInfo>
- size=56 align=4
- base size=56 base align=4
-QLinkedListNode<Q3SqlFieldInfo> (0x6f5b400) 0
-Class QHashNode<QVariant::Type, QItemEditorCreatorBase*>
- size=16 align=4
- base size=16 base align=4
-QHashNode<QVariant::Type, QItemEditorCreatorBase*> (0x704c380) 0
-Class QTypeInfo<QStandardItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QStandardItem*> (0x704cd00) 0 empty
-Class QTypeInfo<QTreeWidgetItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTreeWidgetItem*> (0x704cf80) 0 empty
-Class QTypeInfo<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLength> (0x706a4c0) 0 empty
-Class QTypeInfo<QTextLayout::FormatRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLayout::FormatRange> (0x706a840) 0 empty
-Class QTypeInfo<QAbstractTextDocumentLayout::Selection>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAbstractTextDocumentLayout::Selection> (0x706acc0) 0 empty
-Class QTypeInfo<QAction*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAction*> (0x70893c0) 0 empty
-Class QTypeInfo<Q3TextEditOptimPrivate::Tag*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<Q3TextEditOptimPrivate::Tag*> (0x70af280) 0 empty
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0x70afbc0) 0
-Class QTypeInfo<QMacMime*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMacMime*> (0x70afe40) 0 empty
-Class QList<QMacMime*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QMacMime*>::Node (0x70aff00) 0
-Class QList<QVariant>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::Node (0x70e4100) 0
-Class QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union> (0x70e4280) 0
-Class QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union> (0x70e4980) 0
-Class QTypeInfo<QGraphicsItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QGraphicsItem*> (0x70e49c0) 0 empty
-Class QList<QGraphicsItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QGraphicsItem*>::Node (0x712b080) 0
-Class QTypeInfo<QStyleOptionQ3ListViewItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QStyleOptionQ3ListViewItem> (0x712b500) 0 empty
-Class QList<QStyleOptionQ3ListViewItem>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::Node (0x712b5c0) 0
-Class QList<QItemSelectionRange>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::Node (0x712b980) 0
-Class QList<QStandardItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QStandardItem*>::Node (0x712bcc0) 0
-Class QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union> (0x712bf80) 0
-Class QMap<Key, T>::detach_helper() [with Key = int, T = Q3TextEditOptimPrivate::Tag*]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<Key, T>::detach_helper() [with Key = int, T = Q3TextEditOptimPrivate::Tag*]::<anonymous union> (0x7162000) 0
-Class QList<QRect>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QRect>::Node (0x718b100) 0
-Class QTypeInfo<Q3DockWindow*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<Q3DockWindow*> (0x718b400) 0 empty
-Class QList<Q3DockWindow*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<Q3DockWindow*>::Node (0x718b4c0) 0
-Class QLinkedList<T>::detach_helper() [with T = Q3SqlFieldInfo]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QLinkedList<T>::detach_helper() [with T = Q3SqlFieldInfo]::<anonymous union> (0x718bc80) 0
-Class QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union> (0x718bf00) 0
diff --git a/tests/auto/bic/data/Qt3Support.4.2.0.win32-gcc-ia32.txt b/tests/auto/bic/data/Qt3Support.4.2.0.win32-gcc-ia32.txt
index b4d0e76..81e0ec5 100644
--- a/tests/auto/bic/data/Qt3Support.4.2.0.win32-gcc-ia32.txt
+++ b/tests/auto/bic/data/Qt3Support.4.2.0.win32-gcc-ia32.txt
@@ -1,34 +1,8 @@
-Class QUintForSize<4>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<4> (0xa9db00) 0 empty
-Class QUintForSize<8>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<8> (0xa9dc00) 0 empty
-Class QUintForType<void*>
- size=1 align=1
- base size=1 base align=1
-QUintForType<void*> (0xa9df00) 0 empty
- QUintForSize<4> (0xac3000) 0 empty
-Class QIntForSize<4>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<4> (0xac3180) 0 empty
-Class QIntForSize<8>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<8> (0xac3240) 0 empty
-Class QIntForType<void*>
- size=1 align=1
- base size=1 base align=1
-QIntForType<void*> (0xac34c0) 0 empty
- QIntForSize<4> (0xac3580) 0 empty
Class QSysInfo
size=1 align=1
@@ -50,80 +24,20 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0xaf4380) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0xaf4b80) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0xaf4d00) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0xaf4e80) 0 empty
-Class QTypeInfo<uchar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uchar> (0xb0a000) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0xb0a180) 0 empty
-Class QTypeInfo<ushort>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ushort> (0xb0a300) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0xb0a480) 0 empty
-Class QTypeInfo<uint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uint> (0xb0a600) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0xb0a780) 0 empty
-Class QTypeInfo<ulong>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ulong> (0xb0a900) 0 empty
-Class QTypeInfo<qint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<qint64> (0xb0aa80) 0 empty
-Class QTypeInfo<quint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<quint64> (0xb0ac00) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0xb0ad80) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0xb0af00) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0xb36080) 0 empty
Class QFlag
size=4 align=4
@@ -140,10 +54,6 @@ Class QChar
base size=2 base align=2
QChar (0xb5ff00) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0xb97380) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -171,75 +81,19 @@ Class QByteRef
base size=8 base align=4
QByteRef (0xc4ab00) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0xd71780) 0 empty
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0xd83e00) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0xd940c0) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0xd83980) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0xd9ae40) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0xd94780) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0xda58c0) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0xdd9300) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0xdd9600) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0xda0080) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0xde94c0) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0xde9d00) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0xdef080) 0
-Class QFlags<Qt::TextInteractionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::TextInteractionFlag> (0xdef480) 0
Class QInternal
size=1 align=1
@@ -266,10 +120,6 @@ Class QLatin1String
base size=4 base align=4
QLatin1String (0xee0240) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0xee0780) 0
Class QCharRef
size=8 align=4
@@ -282,10 +132,6 @@ Class QConstString
QConstString (0x11efdc0) 0
QString (0x11efe00) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0x125d140) 0 empty
Vtable for std::exception
std::exception::_ZTVSt9exception: 5u entries
@@ -348,10 +194,6 @@ Class QListData
base size=4 base align=4
QListData (0x12d21c0) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0x13db180) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -376,15 +218,7 @@ Class QTextCodec
QTextCodec (0xee01c0) 0 nearly-empty
vptr=((&QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0x13ff480) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0xc5c5c0) 0
Class QTextEncoder
size=32 align=4
@@ -407,25 +241,13 @@ Class QGenericReturnArgument
QGenericReturnArgument (0x144a300) 0
QGenericArgument (0x144a340) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0x145fac0) 0
Class QMetaObject
size=16 align=4
base size=16 base align=4
QMetaObject (0x144a8c0) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0x148f340) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0x1475f40) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -517,10 +339,6 @@ QIODevice (0x13b4a40) 0
QObject (0x1509b40) 0
primary-for QIODevice (0x13b4a40)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0x1509e40) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -540,25 +358,13 @@ Class QRegExp
base size=4 base align=4
QRegExp (0xee00c0) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0x15d9c00) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0x15d9f80) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0x15f14c0) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0x15f1380) 0
Class QStringList
size=4 align=4
@@ -566,15 +372,7 @@ Class QStringList
QStringList (0xee0140) 0
QList<QString> (0x15f1740) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0x15f1600) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0x15f15c0) 0
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -703,50 +501,22 @@ QFile (0x170f080) 0
QObject (0x170f100) 0
primary-for QIODevice (0x170f0c0)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0x170f940) 0
Class QFileInfo
size=4 align=4
base size=4 base align=4
QFileInfo (0x1767140) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0x1767a80) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0x1780ac0) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0x1780f80) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0x1780e80) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0x1725fc0) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0x17bbc80) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0x17bb880) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -803,10 +573,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0x16fff80) 0
vptr=((&QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0x185b0c0) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -880,10 +646,6 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0x18cbb80) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0x18cbc80) 0 empty
Class QMapData::Node
size=8 align=4
@@ -908,10 +670,6 @@ Class QTextStream
QTextStream (0x1b10580) 0
vptr=((&QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0x1b10940) 0
Class QTextStreamManipulator
size=24 align=4
@@ -948,20 +706,8 @@ QTextOStream (0x1b9f740) 0
QTextStream (0x1b9f780) 0
primary-for QTextOStream (0x1b9f740)
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x1bd3980) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x1bd3b00) 0
-Class <anonymous struct>
- size=16 align=8
- base size=16 base align=8
-<anonymous struct> (0x1bf18c0) 0
Class QVectorData
size=16 align=4
@@ -1099,15 +845,7 @@ Class QLocale
base size=4 base align=4
QLocale (0x1e5bcc0) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0x1ea4980) 0 empty
-Class QFlags<QLocale::NumberOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLocale::NumberOption> (0x1ea4040) 0
Vtable for QSystemLocale
QSystemLocale::_ZTV13QSystemLocale: 6u entries
@@ -1134,270 +872,58 @@ Class QMetaType
base size=0 base align=1
QMetaType (0x1f06400) 0 empty
-Class QMetaTypeId2<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QString> (0x1f29840) 0 empty
-Class QMetaTypeId2<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<int> (0x1f299c0) 0 empty
-Class QMetaTypeId2<uint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<uint> (0x1f29b40) 0 empty
-Class QMetaTypeId2<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<bool> (0x1f29cc0) 0 empty
-Class QMetaTypeId2<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<double> (0x1f29e40) 0 empty
-Class QMetaTypeId2<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QByteArray> (0x1f29fc0) 0 empty
-Class QMetaTypeId2<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QChar> (0x1f3d140) 0 empty
-Class QMetaTypeId2<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long int> (0x1f3d2c0) 0 empty
-Class QMetaTypeId2<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short int> (0x1f3d440) 0 empty
-Class QMetaTypeId2<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<char> (0x1f3d5c0) 0 empty
-Class QMetaTypeId2<ulong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<ulong> (0x1f3d740) 0 empty
-Class QMetaTypeId2<ushort>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<ushort> (0x1f3d8c0) 0 empty
-Class QMetaTypeId2<uchar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<uchar> (0x1f3da40) 0 empty
-Class QMetaTypeId2<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<float> (0x1f3dbc0) 0 empty
-Class QMetaTypeId2<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QObject*> (0x1f3dd40) 0 empty
-Class QMetaTypeId2<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QWidget*> (0x1f3dec0) 0 empty
-Class QMetaTypeId2<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<void*> (0x1f5d040) 0 empty
-Class QMetaTypeId2<qlonglong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<qlonglong> (0x1f5d1c0) 0 empty
-Class QMetaTypeId2<qulonglong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<qulonglong> (0x1f5d340) 0 empty
-Class QMetaTypeId2<QStringList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QStringList> (0x1f5d4c0) 0 empty
-Class QMetaTypeId2<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitArray> (0x1f5d640) 0 empty
-Class QMetaTypeId2<QDate>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDate> (0x1f5d7c0) 0 empty
-Class QMetaTypeId2<QTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTime> (0x1f5d940) 0 empty
-Class QMetaTypeId2<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDateTime> (0x1f5dac0) 0 empty
-Class QMetaTypeId2<QUrl>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QUrl> (0x1f5dc40) 0 empty
-Class QMetaTypeId2<QLocale>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLocale> (0x1f5ddc0) 0 empty
-Class QMetaTypeId2<QRect>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRect> (0x1f5df40) 0 empty
-Class QMetaTypeId2<QRectF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRectF> (0x1f7b0c0) 0 empty
-Class QMetaTypeId2<QSize>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSize> (0x1f7b240) 0 empty
-Class QMetaTypeId2<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizeF> (0x1f7b3c0) 0 empty
-Class QMetaTypeId2<QLine>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLine> (0x1f7b540) 0 empty
-Class QMetaTypeId2<QLineF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLineF> (0x1f7b6c0) 0 empty
-Class QMetaTypeId2<QPoint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPoint> (0x1f7b840) 0 empty
-Class QMetaTypeId2<QPointF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPointF> (0x1f7b9c0) 0 empty
-Class QMetaTypeId2<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegExp> (0x1f7bb40) 0 empty
-Class QMetaTypeId2<QColorGroup>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColorGroup> (0x1f7bcc0) 0 empty
-Class QMetaTypeId2<QFont>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QFont> (0x1f7be40) 0 empty
-Class QMetaTypeId2<QPixmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPixmap> (0x1f7bfc0) 0 empty
-Class QMetaTypeId2<QBrush>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBrush> (0x1f99140) 0 empty
-Class QMetaTypeId2<QColor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColor> (0x1f992c0) 0 empty
-Class QMetaTypeId2<QPalette>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPalette> (0x1f99440) 0 empty
-Class QMetaTypeId2<QIcon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QIcon> (0x1f995c0) 0 empty
-Class QMetaTypeId2<QImage>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QImage> (0x1f99740) 0 empty
-Class QMetaTypeId2<QPolygon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPolygon> (0x1f998c0) 0 empty
-Class QMetaTypeId2<QRegion>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegion> (0x1f99a40) 0 empty
-Class QMetaTypeId2<QBitmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitmap> (0x1f99bc0) 0 empty
-Class QMetaTypeId2<QCursor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QCursor> (0x1f99d40) 0 empty
-Class QMetaTypeId2<QSizePolicy>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizePolicy> (0x1f99ec0) 0 empty
-Class QMetaTypeId2<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QKeySequence> (0x1fbc040) 0 empty
-Class QMetaTypeId2<QPen>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPen> (0x1fbc1c0) 0 empty
-Class QMetaTypeId2<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextLength> (0x1fbc340) 0 empty
-Class QMetaTypeId2<QTextFormat>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextFormat> (0x1fbc4c0) 0 empty
-Class QMetaTypeId2<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMatrix> (0x1fbc640) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -1424,45 +950,17 @@ Class QVariant
base size=16 base align=8
QVariant (0x1475c80) 0
-Class QMetaTypeId2<QVariantList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QVariantList> (0x2012e00) 0 empty
-Class QMetaTypeId2<QVariantMap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QVariantMap> (0x2012fc0) 0 empty
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0x2042480) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0x1fd0540) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0x2042780) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0x1fd05c0) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0x1fbc800) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0x20aa100) 0 empty
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1540,15 +1038,7 @@ Class QUrl
base size=4 base align=4
QUrl (0x1f29180) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0x2163440) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0x21c1040) 0 empty
Vtable for QEventLoop
QEventLoop::_ZTV10QEventLoop: 14u entries
@@ -1575,10 +1065,6 @@ QEventLoop (0x21c16c0) 0
QObject (0x21c1700) 0
primary-for QEventLoop (0x21c16c0)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0x21c1a00) 0
Vtable for QAbstractEventDispatcher
QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 27u entries
@@ -1623,20 +1109,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0x223a200) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0x223ae80) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0x223a180) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0x22632c0) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -1806,10 +1284,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0x22e77c0) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0x22e7e00) 0 empty
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -1917,20 +1391,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0x143fc00) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0x238abc0) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0x143fc80) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0x23a01c0) 0 empty
Class QMetaProperty
size=20 align=4
@@ -1942,10 +1408,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0x143fd80) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0x23a0900) 0 empty
Vtable for QMimeData
QMimeData::_ZTV9QMimeData: 17u entries
@@ -2127,10 +1589,6 @@ QLibrary (0x245e040) 0
QObject (0x245e080) 0
primary-for QLibrary (0x245e040)
-Class QFlags<QLibrary::LoadHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLibrary::LoadHint> (0x245e2c0) 0
Vtable for QPluginLoader
QPluginLoader::_ZTV13QPluginLoader: 14u entries
@@ -2172,10 +1630,6 @@ Class QMutex
base size=4 base align=4
QMutex (0x24d07c0) 0
-Class QMutexLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMutexLocker::<anonymous union> (0x24fd000) 0
Class QMutexLocker
size=4 align=4
@@ -2187,20 +1641,12 @@ Class QReadWriteLock
base size=4 base align=4
QReadWriteLock (0x24fde00) 0
-Class QReadLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QReadLocker::<anonymous union> (0x250c140) 0
Class QReadLocker
size=4 align=4
base size=4 base align=4
QReadLocker (0x24fdfc0) 0
-Class QWriteLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QWriteLocker::<anonymous union> (0x250c900) 0
Class QWriteLocker
size=4 align=4
@@ -2258,10 +1704,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0x2550ac0) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0x25ab480) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -2273,70 +1715,42 @@ Class QDate
base size=4 base align=4
QDate (0x1e5bb40) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0x2603640) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0x1e5bbc0) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0x262b280) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0x1767040) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0x2659040) 0 empty
Class QPoint
size=8 align=4
base size=8 base align=4
QPoint (0x1f29340) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0x2659c80) 0 empty
Class QPointF
size=16 align=8
base size=16 base align=8
QPointF (0x1f29380) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0x2682e40) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0x1f292c0) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0x26c92c0) 0 empty
Class QLineF
size=32 align=8
base size=32 base align=8
QLineF (0x1f29300) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0x26f5780) 0 empty
Class QLinkedListData
size=20 align=4
@@ -2348,40 +1762,24 @@ Class QSize
base size=8 base align=4
QSize (0x1f29240) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0x27e3fc0) 0 empty
Class QSizeF
size=16 align=8
base size=16 base align=8
QSizeF (0x1f29280) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0x2835500) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0x1f291c0) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0x28b7000) 0 empty
Class QRectF
size=32 align=8
base size=32 base align=8
QRectF (0x1f29200) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0x293b340) 0 empty
Class QSharedData
size=4 align=4
@@ -2429,10 +1827,6 @@ Class QKeySequence
base size=4 base align=4
QKeySequence (0x1f29700) 0
-Class QTypeInfo<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QKeySequence> (0x2a52280) 0 empty
Vtable for QMimeSource
QMimeSource::_ZTV11QMimeSource: 7u entries
@@ -2749,15 +2143,7 @@ Class QInputMethodEvent::Attribute
base size=32 base align=8
QInputMethodEvent::Attribute (0x2b4ae80) 0
-Class QList<QInputMethodEvent::Attribute>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute>::<anonymous union> (0x2b72380) 0
-Class QList<QInputMethodEvent::Attribute>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute> (0x2b4af80) 0
Vtable for QInputMethodEvent
QInputMethodEvent::_ZTV17QInputMethodEvent: 4u entries
@@ -3046,15 +2432,7 @@ Class QAccessible
base size=0 base align=1
QAccessible (0x2c1ebc0) 0 empty
-Class QFlags<QAccessible::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::StateFlag> (0x2c33c40) 0
-Class QFlags<QAccessible::RelationFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::RelationFlag> (0x2c41180) 0
Vtable for QAccessibleInterface
QAccessibleInterface::_ZTV20QAccessibleInterface: 19u entries
@@ -3445,40 +2823,16 @@ Class QPaintDevice
QPaintDevice (0x29caf80) 0
vptr=((&QPaintDevice::_ZTV12QPaintDevice) + 8u)
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x2d77dc0) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x2d77f00) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x2db9000) 0
-Class QColor::<anonymous union>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union> (0x2d77d40) 0
Class QColor
size=16 align=4
base size=14 base align=4
QColor (0x1f294c0) 0
-Class QVector<QPoint>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint>::<anonymous union> (0x2de7540) 0
-Class QVector<QPoint>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint> (0x2de73c0) 0
Class QPolygon
size=4 align=4
@@ -3486,15 +2840,7 @@ Class QPolygon
QPolygon (0x1f295c0) 0
QVector<QPoint> (0x2de7700) 0
-Class QVector<QPointF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF>::<anonymous union> (0x2e28980) 0
-Class QVector<QPointF>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF> (0x2e28840) 0
Class QPolygonF
size=4 align=4
@@ -3507,10 +2853,6 @@ Class QMatrix
base size=48 base align=8
QMatrix (0x1f29800) 0
-Class QTypeInfo<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMatrix> (0x2e85800) 0 empty
Class QImageTextKeyLang
size=8 align=4
@@ -3537,10 +2879,6 @@ QImage (0x1f29580) 0
QPaintDevice (0x2ea7cc0) 0
primary-for QImage (0x1f29580)
-Class QTypeInfo<QImage>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QImage> (0x2f62000) 0 empty
Vtable for QPixmap
QPixmap::_ZTV7QPixmap: 9u entries
@@ -3567,45 +2905,17 @@ Class QBrush
base size=4 base align=4
QBrush (0x1f29480) 0
-Class QTypeInfo<QBrush>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBrush> (0x2fb6a00) 0 empty
Class QBrushData
size=72 align=8
base size=72 base align=8
QBrushData (0x2fb61c0) 0
-Class QVector<QGradientStop>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QGradientStop>::<anonymous union> (0x2fd5900) 0
-Class QVector<QGradientStop>
- size=4 align=4
- base size=4 base align=4
-QVector<QGradientStop> (0x2fd5080) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=32 align=8
- base size=32 base align=8
-QGradient::<anonymous union>::<anonymous struct> (0x2fd5b40) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=40 align=8
- base size=40 base align=8
-QGradient::<anonymous union>::<anonymous struct> (0x2fd5c40) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=24 align=8
- base size=24 base align=8
-QGradient::<anonymous union>::<anonymous struct> (0x2fd5e80) 0
-Class QGradient::<anonymous union>
- size=40 align=8
- base size=40 base align=8
-QGradient::<anonymous union> (0x2fd5ac0) 0
Class QGradient
size=64 align=8
@@ -4017,10 +3327,6 @@ QAbstractPrintDialog (0x335e080) 0
QPaintDevice (0x335e180) 8
vptr=((&QAbstractPrintDialog::_ZTV20QAbstractPrintDialog) + 256u)
-Class QFlags<QAbstractPrintDialog::PrintDialogOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractPrintDialog::PrintDialogOption> (0x335e440) 0
Vtable for QColorDialog
QColorDialog::_ZTV12QColorDialog: 70u entries
@@ -4283,10 +3589,6 @@ QFileDialog (0x33d59c0) 0
QPaintDevice (0x33d5ac0) 8
vptr=((&QFileDialog::_ZTV11QFileDialog) + 252u)
-Class QFlags<QFileDialog::Option>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileDialog::Option> (0x3401480) 0
Vtable for QFontDialog
QFontDialog::_ZTV11QFontDialog: 70u entries
@@ -4713,10 +4015,6 @@ QMessageBox (0x3572900) 0
QPaintDevice (0x3572a00) 8
vptr=((&QMessageBox::_ZTV11QMessageBox) + 252u)
-Class QFlags<QMessageBox::StandardButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<QMessageBox::StandardButton> (0x358a680) 0
Vtable for QPageSetupDialog
QPageSetupDialog::_ZTV16QPageSetupDialog: 71u entries
@@ -5087,25 +4385,13 @@ Class QPainterPath
base size=4 base align=4
QPainterPath (0x2e61a80) 0
-Class QVector<QPainterPath::Element>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element>::<anonymous union> (0x36d4980) 0
-Class QVector<QPainterPath::Element>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element> (0x36d4800) 0
Class QPainterPathPrivate
size=8 align=4
base size=8 base align=4
QPainterPathPrivate (0x36b71c0) 0
-Class QTypeInfo<QPainterPath::Element>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPainterPath::Element> (0x36d4b40) 0 empty
Class QPainterPathStroker
size=4 align=4
@@ -5160,15 +4446,7 @@ Class QGraphicsItem
QGraphicsItem (0x373c540) 0
vptr=((&QGraphicsItem::_ZTV13QGraphicsItem) + 8u)
-Class QFlags<QGraphicsItem::GraphicsItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGraphicsItem::GraphicsItemFlag> (0x373c680) 0
-Class QMetaTypeId<QGraphicsItem*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QGraphicsItem*> (0x3774580) 0 empty
Vtable for QAbstractGraphicsShapeItem
QAbstractGraphicsShapeItem::_ZTV26QAbstractGraphicsShapeItem: 39u entries
@@ -5757,10 +5035,6 @@ Class QPen
base size=4 base align=4
QPen (0x1f29740) 0
-Class QTypeInfo<QPen>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPen> (0x38a3e00) 0 empty
Vtable for QGraphicsScene
QGraphicsScene::_ZTV14QGraphicsScene: 34u entries
@@ -5929,60 +5203,20 @@ Class QTextOption
base size=28 base align=8
QTextOption (0x393ea00) 0
-Class QFlags<QTextOption::Flag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextOption::Flag> (0x393ee40) 0
Class QPainter
size=4 align=4
base size=4 base align=4
QPainter (0x29fa080) 0
-Class QFlags<QPainter::RenderHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPainter::RenderHint> (0x399ca00) 0
-Class QVector<QLineF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF>::<anonymous union> (0x3a5e3c0) 0
-Class QVector<QLineF>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF> (0x39b37c0) 0
-Class QVector<QLine>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine>::<anonymous union> (0x3a5e740) 0
-Class QVector<QLine>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine> (0x39b3880) 0
-Class QVector<QRectF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF>::<anonymous union> (0x3a9e400) 0
-Class QVector<QRectF>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF> (0x39b39c0) 0
-Class QVector<QRect>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect>::<anonymous union> (0x3a9e700) 0
-Class QVector<QRect>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect> (0x2a0d700) 0
Vtable for QAbstractScrollArea
QAbstractScrollArea::_ZTV19QAbstractScrollArea: 69u entries
@@ -6249,20 +5483,8 @@ QGraphicsView (0x374da40) 0
QPaintDevice (0x3b6bc40) 8
vptr=((&QGraphicsView::_ZTV13QGraphicsView) + 260u)
-Class QFlags<QGraphicsView::CacheModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGraphicsView::CacheModeFlag> (0x3ba31c0) 0
-Class QList<QGraphicsItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QGraphicsItem*>::<anonymous union> (0x3c0b440) 0
-Class QList<QGraphicsItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QGraphicsItem*> (0x373ca80) 0
Vtable for QBitmap
QBitmap::_ZTV7QBitmap: 9u entries
@@ -6291,10 +5513,6 @@ Class QIcon
base size=4 base align=4
QIcon (0x1f29540) 0
-Class QTypeInfo<QIcon>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QIcon> (0x3c97400) 0 empty
Vtable for QIconEngine
QIconEngine::_ZTV11QIconEngine: 9u entries
@@ -6450,10 +5668,6 @@ QImageIOPlugin (0x3cb6fc0) 0
QFactoryInterface (0x3cd6080) 8 nearly-empty
primary-for QImageIOHandlerFactoryInterface (0x3cd6040)
-Class QFlags<QImageIOPlugin::Capability>
- size=4 align=4
- base size=4 base align=4
-QFlags<QImageIOPlugin::Capability> (0x3cd6240) 0
Class QImageReader
size=4 align=4
@@ -6631,15 +5845,7 @@ QActionGroup (0x3da71c0) 0
QObject (0x3de6540) 0
primary-for QActionGroup (0x3da71c0)
-Class QList<QAction*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QAction*>::<anonymous union> (0x3e10000) 0
-Class QList<QAction*>
- size=4 align=4
- base size=4 base align=4
-QList<QAction*> (0x31e8d80) 0
Vtable for QInputContext
QInputContext::_ZTV13QInputContext: 25u entries
@@ -6948,10 +6154,6 @@ QAbstractSpinBox (0x3ed1100) 0
QPaintDevice (0x3ed11c0) 8
vptr=((&QAbstractSpinBox::_ZTV16QAbstractSpinBox) + 260u)
-Class QFlags<QAbstractSpinBox::StepEnabledFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractSpinBox::StepEnabledFlag> (0x3ed16c0) 0
Vtable for QAbstractSlider
QAbstractSlider::_ZTV15QAbstractSlider: 68u entries
@@ -7167,15 +6369,7 @@ QStyle (0x31b69c0) 0
QObject (0x3f9a340) 0
primary-for QStyle (0x31b69c0)
-Class QFlags<QStyle::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::StateFlag> (0x3f9ac80) 0
-Class QFlags<QStyle::SubControl>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::SubControl> (0x3fbee40) 0
Vtable for QTabBar
QTabBar::_ZTV7QTabBar: 71u entries
@@ -7446,10 +6640,6 @@ Class QStyleOptionFrame
QStyleOptionFrame (0x411cf40) 0
QStyleOption (0x411cf80) 0
-Class QFlags<QStyleOptionFrameV2::FrameFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionFrameV2::FrameFeature> (0x4132440) 0
Class QStyleOptionFrameV2
size=56 align=4
@@ -7476,10 +6666,6 @@ Class QStyleOptionHeader
QStyleOptionHeader (0x417a740) 0
QStyleOption (0x417a780) 0
-Class QFlags<QStyleOptionButton::ButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionButton::ButtonFeature> (0x41a0240) 0
Class QStyleOptionButton
size=64 align=4
@@ -7487,10 +6673,6 @@ Class QStyleOptionButton
QStyleOptionButton (0x41a00c0) 0
QStyleOption (0x41a0100) 0
-Class QFlags<QStyleOptionTab::CornerWidget>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionTab::CornerWidget> (0x41a0b80) 0
Class QStyleOptionTab
size=72 align=4
@@ -7505,10 +6687,6 @@ QStyleOptionTabV2 (0x41f82c0) 0
QStyleOptionTab (0x41f8300) 0
QStyleOption (0x41f8340) 0
-Class QFlags<QStyleOptionToolBar::ToolBarFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionToolBar::ToolBarFeature> (0x41f8a80) 0
Class QStyleOptionToolBar
size=68 align=4
@@ -7535,10 +6713,6 @@ Class QStyleOptionMenuItem
QStyleOptionMenuItem (0x4247800) 0
QStyleOption (0x4247840) 0
-Class QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature> (0x4298240) 0
Class QStyleOptionQ3ListViewItem
size=64 align=4
@@ -7564,10 +6738,6 @@ Class QStyleOptionViewItem
QStyleOptionViewItem (0x42e5240) 0
QStyleOption (0x42e5280) 0
-Class QFlags<QStyleOptionViewItemV2::ViewItemFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionViewItemV2::ViewItemFeature> (0x42e5940) 0
Class QStyleOptionViewItemV2
size=84 align=4
@@ -7608,15 +6778,7 @@ QStyleOptionSpinBox (0x43675c0) 0
QStyleOptionComplex (0x4367600) 0
QStyleOption (0x4367640) 0
-Class QList<QStyleOptionQ3ListViewItem>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::<anonymous union> (0x4367c80) 0
-Class QList<QStyleOptionQ3ListViewItem>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem> (0x4367b80) 0
Class QStyleOptionQ3ListView
size=84 align=4
@@ -7625,10 +6787,6 @@ QStyleOptionQ3ListView (0x4367ac0) 0
QStyleOptionComplex (0x4367b00) 0
QStyleOption (0x4367b40) 0
-Class QFlags<QStyleOptionToolButton::ToolButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionToolButton::ToolButtonFeature> (0x439b740) 0
Class QStyleOptionToolButton
size=96 align=4
@@ -7719,10 +6877,6 @@ Class QItemSelectionRange
base size=8 base align=4
QItemSelectionRange (0x4473380) 0
-Class QTypeInfo<QItemSelectionRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QItemSelectionRange> (0x44a09c0) 0 empty
Vtable for QItemSelectionModel
QItemSelectionModel::_ZTV19QItemSelectionModel: 18u entries
@@ -7753,20 +6907,8 @@ QItemSelectionModel (0x44a0dc0) 0
QObject (0x44a0e00) 0
primary-for QItemSelectionModel (0x44a0dc0)
-Class QFlags<QItemSelectionModel::SelectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QItemSelectionModel::SelectionFlag> (0x44dc140) 0
-Class QList<QItemSelectionRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::<anonymous union> (0x44dcfc0) 0
-Class QList<QItemSelectionRange>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange> (0x44dcec0) 0
Class QItemSelection
size=4 align=4
@@ -7900,10 +7042,6 @@ QAbstractItemView (0x452d640) 0
QPaintDevice (0x452d780) 8
vptr=((&QAbstractItemView::_ZTV17QAbstractItemView) + 400u)
-Class QFlags<QAbstractItemView::EditTrigger>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractItemView::EditTrigger> (0x4557480) 0
Vtable for QAbstractProxyModel
QAbstractProxyModel::_ZTV19QAbstractProxyModel: 47u entries
@@ -8245,15 +7383,7 @@ Class QItemEditorCreatorBase
QItemEditorCreatorBase (0x46b1200) 0 nearly-empty
vptr=((&QItemEditorCreatorBase::_ZTV22QItemEditorCreatorBase) + 8u)
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union> (0x46b1f00) 0
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*> (0x46b1d00) 0
Vtable for QItemEditorFactory
QItemEditorFactory::_ZTV18QItemEditorFactory: 6u entries
@@ -8398,15 +7528,7 @@ QListView (0x46d0680) 0
QPaintDevice (0x46d0800) 8
vptr=((&QListView::_ZTV9QListView) + 400u)
-Class QVector<QWidgetItemData>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData>::<anonymous union> (0x46eee40) 0
-Class QVector<QWidgetItemData>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData> (0x46eecc0) 0
Vtable for QListWidgetItem
QListWidgetItem::_ZTV15QListWidgetItem: 11u entries
@@ -8703,15 +7825,7 @@ Class QStandardItem
QStandardItem (0x48283c0) 0
vptr=((&QStandardItem::_ZTV13QStandardItem) + 8u)
-Class QList<QStandardItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QStandardItem*>::<anonymous union> (0x48df880) 0
-Class QList<QStandardItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QStandardItem*> (0x48288c0) 0
Vtable for QStandardItemModel
QStandardItemModel::_ZTV18QStandardItemModel: 42u entries
@@ -9241,35 +8355,15 @@ QTreeView (0x4a5d980) 0
QPaintDevice (0x4a5db00) 8
vptr=((&QTreeView::_ZTV9QTreeView) + 408u)
-Class QFlags<QTreeWidgetItemIterator::IteratorFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTreeWidgetItemIterator::IteratorFlag> (0x4a87ec0) 0
Class QTreeWidgetItemIterator
size=12 align=4
base size=12 base align=4
QTreeWidgetItemIterator (0x4a87a80) 0
-Class QVector<QVector<QWidgetItemData> >::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> >::<anonymous union> (0x4ab8cc0) 0
-Class QVector<QVector<QWidgetItemData> >
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> > (0x4ab8b40) 0
-Class QList<QTreeWidgetItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::<anonymous union> (0x4ab8f00) 0
-Class QList<QTreeWidgetItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*> (0x4ab89c0) 0
Vtable for QTreeWidgetItem
QTreeWidgetItem::_ZTV15QTreeWidgetItem: 10u entries
@@ -10158,15 +9252,7 @@ Class QTextItem
base size=0 base align=1
QTextItem (0x399c840) 0 empty
-Class QTypeInfo<QTextItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextItem> (0x4e24ec0) 0 empty
-Class QFlags<QPaintEngine::PaintEngineFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::PaintEngineFeature> (0x4e4e4c0) 0
Vtable for QPaintEngine
QPaintEngine::_ZTV12QPaintEngine: 26u entries
@@ -10203,20 +9289,12 @@ Class QPaintEngine
QPaintEngine (0x2d29b00) 0
vptr=((&QPaintEngine::_ZTV12QPaintEngine) + 8u)
-Class QFlags<QPaintEngine::DirtyFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::DirtyFlag> (0x4e4e940) 0
Class QPaintEngineState
size=4 align=4
base size=4 base align=4
QPaintEngineState (0x4e24c40) 0
-Class QFlags<QTextItem::RenderFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextItem::RenderFlag> (0x4e24dc0) 0
Vtable for QPrinter
QPrinter::_ZTV8QPrinter: 9u entries
@@ -10313,10 +9391,6 @@ QCommonStyle (0x4f8fc40) 0
QObject (0x4f8fcc0) 0
primary-for QStyle (0x4f8fc80)
-Class QPointer<QFocusFrame>
- size=4 align=4
- base size=4 base align=4
-QPointer<QFocusFrame> (0x4fc9500) 0
Vtable for QMotifStyle
QMotifStyle::_ZTV11QMotifStyle: 35u entries
@@ -10690,30 +9764,14 @@ Class QTextLength
base size=16 base align=8
QTextLength (0x1f29780) 0
-Class QSharedDataPointer<QTextFormatPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextFormatPrivate> (0x513ff80) 0
Class QTextFormat
size=8 align=4
base size=8 base align=4
QTextFormat (0x1f297c0) 0
-Class QVector<QTextLength>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength>::<anonymous union> (0x5152900) 0
-Class QVector<QTextLength>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength> (0x513fa80) 0
-Class QFlags<QTextFormat::PageBreakFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextFormat::PageBreakFlag> (0x513f600) 0
Class QTextCharFormat
size=8 align=4
@@ -10768,15 +9826,7 @@ Class QTextLayout
base size=4 base align=4
QTextLayout (0x30c1dc0) 0
-Class QVector<QTextLayout::FormatRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange>::<anonymous union> (0x52e8780) 0
-Class QVector<QTextLayout::FormatRange>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange> (0x52e8400) 0
Class QTextLine
size=8 align=4
@@ -10826,15 +9876,7 @@ QTextDocument (0x382b300) 0
QObject (0x5315fc0) 0
primary-for QTextDocument (0x382b300)
-Class QFlags<QTextDocument::FindFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextDocument::FindFlag> (0x532a500) 0
-Class QSharedDataPointer<QTextCursorPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextCursorPrivate> (0x539a700) 0
Class QTextCursor
size=4 align=4
@@ -10846,15 +9888,7 @@ Class QAbstractTextDocumentLayout::Selection
base size=12 base align=4
QAbstractTextDocumentLayout::Selection (0x539ac00) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union> (0x539aec0) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection> (0x539ad40) 0
Class QAbstractTextDocumentLayout::PaintContext
size=56 align=8
@@ -11016,10 +10050,6 @@ QTextFrame (0x53157c0) 0
QObject (0x5440180) 0
primary-for QTextObject (0x5440140)
-Class QTypeInfo<QTextFrame::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFrame::iterator> (0x5468700) 0 empty
Vtable for QTextBlockUserData
QTextBlockUserData::_ZTV18QTextBlockUserData: 4u entries
@@ -11044,25 +10074,13 @@ Class QTextBlock
base size=8 base align=4
QTextBlock (0x52c3c40) 0
-Class QTypeInfo<QTextBlock>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock> (0x5499f80) 0 empty
-Class QTypeInfo<QTextBlock::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock::iterator> (0x54b5100) 0 empty
Class QTextFragment
size=12 align=4
base size=12 base align=4
QTextFragment (0x5409280) 0
-Class QTypeInfo<QTextFragment>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFragment> (0x54b5b80) 0 empty
Vtable for QSyntaxHighlighter
QSyntaxHighlighter::_ZTV18QSyntaxHighlighter: 15u entries
@@ -12056,10 +11074,6 @@ QDateEdit (0x5772940) 0
QPaintDevice (0x5772a80) 8
vptr=((&QDateEdit::_ZTV9QDateEdit) + 268u)
-Class QFlags<QDateTimeEdit::Section>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDateTimeEdit::Section> (0x5749c40) 0
Vtable for QDial
QDial::_ZTV5QDial: 68u entries
@@ -12228,10 +11242,6 @@ QDialogButtonBox (0x57e4bc0) 0
QPaintDevice (0x57e4c80) 8
vptr=((&QDialogButtonBox::_ZTV16QDialogButtonBox) + 240u)
-Class QFlags<QDialogButtonBox::StandardButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDialogButtonBox::StandardButton> (0x57e4d80) 0
Vtable for QDockWidget
QDockWidget::_ZTV11QDockWidget: 67u entries
@@ -12315,10 +11325,6 @@ QDockWidget (0x583aa00) 0
QPaintDevice (0x583aac0) 8
vptr=((&QDockWidget::_ZTV11QDockWidget) + 240u)
-Class QFlags<QDockWidget::DockWidgetFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDockWidget::DockWidgetFeature> (0x583af40) 0
Vtable for QFocusFrame
QFocusFrame::_ZTV11QFocusFrame: 67u entries
@@ -12488,10 +11494,6 @@ QFontComboBox (0x59173c0) 0
QPaintDevice (0x59174c0) 8
vptr=((&QFontComboBox::_ZTV13QFontComboBox) + 248u)
-Class QFlags<QFontComboBox::FontFilter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFontComboBox::FontFilter> (0x59178c0) 0
Vtable for QGroupBox
QGroupBox::_ZTV9QGroupBox: 67u entries
@@ -14136,10 +13138,6 @@ QTextEdit (0x54b5dc0) 0
QPaintDevice (0x5d72b00) 8
vptr=((&QTextEdit::_ZTV9QTextEdit) + 264u)
-Class QFlags<QTextEdit::AutoFormattingFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextEdit::AutoFormattingFlag> (0x5d9d2c0) 0
Vtable for QTextBrowser
QTextBrowser::_ZTV12QTextBrowser: 78u entries
@@ -14769,20 +13767,12 @@ Class QNetworkAddressEntry
base size=4 base align=4
QNetworkAddressEntry (0x605cc40) 0
-Class QSharedDataPointer<QNetworkInterfacePrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QNetworkInterfacePrivate> (0x6074540) 0
Class QNetworkInterface
size=4 align=4
base size=4 base align=4
QNetworkInterface (0x605cfc0) 0
-Class QFlags<QNetworkInterface::InterfaceFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QNetworkInterface::InterfaceFlag> (0x6074200) 0
Class QNetworkProxy
size=4 align=4
@@ -14907,15 +13897,7 @@ QUdpSocket (0x60ccfc0) 0
QObject (0x60ff080) 0
primary-for QIODevice (0x60ff040)
-Class QFlags<QUdpSocket::BindFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUdpSocket::BindFlag> (0x60ff280) 0
-Class QFlags<QSql::ParamTypeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QSql::ParamTypeFlag> (0x6163100) 0
Class QSqlRecord
size=4 align=4
@@ -15053,15 +14035,7 @@ Class QSqlField
base size=20 base align=8
QSqlField (0x6163740) 0
-Class QList<bool>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<bool>::<anonymous union> (0x623da80) 0
-Class QList<bool>
- size=4 align=4
- base size=4 base align=4
-QList<bool> (0x623d940) 0
Class QSqlIndex
size=16 align=4
@@ -15585,29 +14559,7 @@ Class Q3GListStdIterator
base size=4 base align=4
Q3GListStdIterator (0x638c780) 0
-Vtable for Q3PtrList<void>
-Q3PtrList<void>::_ZTV9Q3PtrListIvE: 11u entries
-0 0u
-4 (int (*)(...))(&_ZTI9Q3PtrListIvE)
-8 Q3PtrList<type>::count [with type = void]
-12 Q3PtrList<type>::clear [with type = void]
-16 Q3PtrList<type>::~Q3PtrList [with type = void]
-20 Q3PtrList<type>::~Q3PtrList [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3PtrList<type>::deleteItem [with type = void]
-32 Q3GList::compareItems
-36 Q3GList::read
-40 Q3GList::write
-Class Q3PtrList<void>
- size=32 align=4
- base size=32 base align=4
-Q3PtrList<void> (0x64011c0) 0
- vptr=((&Q3PtrList<void>::_ZTV9Q3PtrListIvE) + 8u)
- Q3GList (0x64012c0) 0
- primary-for Q3PtrList<void> (0x64011c0)
- Q3PtrCollection (0x6401300) 0
- primary-for Q3GList (0x64012c0)
Class Q3PointArray
size=4 align=4
@@ -15616,21 +14568,8 @@ Q3PointArray (0x6454400) 0
QPolygon (0x6454440) 0
QVector<QPoint> (0x6454480) 0
-Class QLinkedList<Q3CanvasItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QLinkedList<Q3CanvasItem*>::<anonymous union> (0x6481ac0) 0
-Class QLinkedList<Q3CanvasItem*>
- size=4 align=4
- base size=4 base align=4
-QLinkedList<Q3CanvasItem*> (0x6481940) 0
-Class Q3ValueList<Q3CanvasItem*>
- size=4 align=4
- base size=4 base align=4
-Q3ValueList<Q3CanvasItem*> (0x6481840) 0
- QLinkedList<Q3CanvasItem*> (0x6481c80) 0
Class Q3CanvasItemList
size=4 align=4
@@ -16274,28 +15213,7 @@ Class Q3GDictIterator
base size=12 base align=4
Q3GDictIterator (0x65dc9c0) 0
-Vtable for Q3Dict<void>
-Q3Dict<void>::_ZTV6Q3DictIvE: 10u entries
-0 0u
-4 (int (*)(...))(&_ZTI6Q3DictIvE)
-8 Q3Dict<type>::count [with type = void]
-12 Q3Dict<type>::clear [with type = void]
-16 Q3Dict<type>::~Q3Dict [with type = void]
-20 Q3Dict<type>::~Q3Dict [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3Dict<type>::deleteItem [with type = void]
-32 Q3GDict::read
-36 Q3GDict::write
-Class Q3Dict<void>
- size=28 align=4
- base size=28 base align=4
-Q3Dict<void> (0x664f280) 0
- vptr=((&Q3Dict<void>::_ZTV6Q3DictIvE) + 8u)
- Q3GDict (0x664f380) 0
- primary-for Q3Dict<void> (0x664f280)
- Q3PtrCollection (0x664f3c0) 0
- primary-for Q3GDict (0x664f380)
Vtable for Q3NetworkProtocolFactoryBase
Q3NetworkProtocolFactoryBase::_ZTV28Q3NetworkProtocolFactoryBase: 5u entries
@@ -16846,29 +15764,7 @@ Q3Wizard (0x6780740) 0
QPaintDevice (0x6780840) 8
vptr=((&Q3Wizard::_ZTV8Q3Wizard) + 316u)
-Vtable for Q3PtrList<char>
-Q3PtrList<char>::_ZTV9Q3PtrListIcE: 11u entries
-0 0u
-4 (int (*)(...))(&_ZTI9Q3PtrListIcE)
-8 Q3PtrList<type>::count [with type = char]
-12 Q3PtrList<type>::clear [with type = char]
-16 Q3PtrList<type>::~Q3PtrList [with type = char]
-20 Q3PtrList<type>::~Q3PtrList [with type = char]
-24 Q3PtrCollection::newItem
-28 Q3PtrList<type>::deleteItem [with type = char]
-32 Q3GList::compareItems
-36 Q3GList::read
-40 Q3GList::write
-Class Q3PtrList<char>
- size=32 align=4
- base size=32 base align=4
-Q3PtrList<char> (0x67bd440) 0
- vptr=((&Q3PtrList<char>::_ZTV9Q3PtrListIcE) + 8u)
- Q3GList (0x67bd540) 0
- primary-for Q3PtrList<char> (0x67bd440)
- Q3PtrCollection (0x67bd580) 0
- primary-for Q3GList (0x67bd540)
Vtable for Q3StrList
Q3StrList::_ZTV9Q3StrList: 11u entries
@@ -16896,11 +15792,6 @@ Q3StrList (0x67bd400) 0
Q3PtrCollection (0x67bd7c0) 0
primary-for Q3GList (0x67bd780)
-Class Q3PtrListStdIterator<char>
- size=4 align=4
- base size=4 base align=4
-Q3PtrListStdIterator<char> (0x67bd600) 0
- Q3GListStdIterator (0x67fd340) 0
Vtable for Q3StrIList
Q3StrIList::_ZTV10Q3StrIList: 11u entries
@@ -17945,29 +16836,7 @@ Q3GVector (0x6362ac0) 0
Q3PtrCollection (0x6afb1c0) 0
primary-for Q3GVector (0x6362ac0)
-Vtable for Q3PtrVector<void>
-Q3PtrVector<void>::_ZTV11Q3PtrVectorIvE: 11u entries
-0 0u
-4 (int (*)(...))(&_ZTI11Q3PtrVectorIvE)
-8 Q3PtrVector<type>::count [with type = void]
-12 Q3PtrVector<type>::clear [with type = void]
-16 Q3PtrVector<type>::~Q3PtrVector [with type = void]
-20 Q3PtrVector<type>::~Q3PtrVector [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3PtrVector<type>::deleteItem [with type = void]
-32 Q3GVector::compareItems
-36 Q3GVector::read
-40 Q3GVector::write
-Class Q3PtrVector<void>
- size=20 align=4
- base size=20 base align=4
-Q3PtrVector<void> (0x6b30040) 0
- vptr=((&Q3PtrVector<void>::_ZTV11Q3PtrVectorIvE) + 8u)
- Q3GVector (0x6b30140) 0
- primary-for Q3PtrVector<void> (0x6b30040)
- Q3PtrCollection (0x6b30180) 0
- primary-for Q3GVector (0x6b30140)
Vtable for Q3Header
Q3Header::_ZTV8Q3Header: 80u entries
@@ -18091,28 +16960,7 @@ Class Q3GArray
Q3GArray (0x6b83580) 0
vptr=((&Q3GArray::_ZTV8Q3GArray) + 8u)
-Vtable for Q3IntDict<void>
-Q3IntDict<void>::_ZTV9Q3IntDictIvE: 10u entries
-0 0u
-4 (int (*)(...))(&_ZTI9Q3IntDictIvE)
-8 Q3IntDict<type>::count [with type = void]
-12 Q3IntDict<type>::clear [with type = void]
-16 Q3IntDict<type>::~Q3IntDict [with type = void]
-20 Q3IntDict<type>::~Q3IntDict [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3IntDict<type>::deleteItem [with type = void]
-32 Q3GDict::read
-36 Q3GDict::write
-Class Q3IntDict<void>
- size=28 align=4
- base size=28 base align=4
-Q3IntDict<void> (0x6bd2780) 0
- vptr=((&Q3IntDict<void>::_ZTV9Q3IntDictIvE) + 8u)
- Q3GDict (0x6bd2880) 0
- primary-for Q3IntDict<void> (0x6bd2780)
- Q3PtrCollection (0x6bd28c0) 0
- primary-for Q3GDict (0x6bd2880)
Class Q3TableSelection
size=28 align=4
@@ -18223,100 +17071,13 @@ Class Q3Table::TableWidget
base size=12 base align=4
Q3Table::TableWidget (0x6c66040) 0
-Vtable for Q3PtrVector<Q3TableItem>
-Q3PtrVector<Q3TableItem>::_ZTV11Q3PtrVectorI11Q3TableItemE: 11u entries
-0 0u
-4 (int (*)(...))(&_ZTI11Q3PtrVectorI11Q3TableItemE)
-8 Q3PtrVector<type>::count [with type = Q3TableItem]
-12 Q3PtrVector<type>::clear [with type = Q3TableItem]
-16 Q3PtrVector<type>::~Q3PtrVector [with type = Q3TableItem]
-20 Q3PtrVector<type>::~Q3PtrVector [with type = Q3TableItem]
-24 Q3PtrCollection::newItem
-28 Q3PtrVector<type>::deleteItem [with type = Q3TableItem]
-32 Q3GVector::compareItems
-36 Q3GVector::read
-40 Q3GVector::write
-Class Q3PtrVector<Q3TableItem>
- size=20 align=4
- base size=20 base align=4
-Q3PtrVector<Q3TableItem> (0x6c66100) 0
- vptr=((&Q3PtrVector<Q3TableItem>::_ZTV11Q3PtrVectorI11Q3TableItemE) + 8u)
- Q3GVector (0x6c66440) 0
- primary-for Q3PtrVector<Q3TableItem> (0x6c66100)
- Q3PtrCollection (0x6c66480) 0
- primary-for Q3GVector (0x6c66440)
-
-Vtable for Q3PtrVector<QWidget>
-Q3PtrVector<QWidget>::_ZTV11Q3PtrVectorI7QWidgetE: 11u entries
-0 0u
-4 (int (*)(...))(&_ZTI11Q3PtrVectorI7QWidgetE)
-8 Q3PtrVector<type>::count [with type = QWidget]
-12 Q3PtrVector<type>::clear [with type = QWidget]
-16 Q3PtrVector<type>::~Q3PtrVector [with type = QWidget]
-20 Q3PtrVector<type>::~Q3PtrVector [with type = QWidget]
-24 Q3PtrCollection::newItem
-28 Q3PtrVector<type>::deleteItem [with type = QWidget]
-32 Q3GVector::compareItems
-36 Q3GVector::read
-40 Q3GVector::write
-Class Q3PtrVector<QWidget>
- size=20 align=4
- base size=20 base align=4
-Q3PtrVector<QWidget> (0x6c66600) 0
- vptr=((&Q3PtrVector<QWidget>::_ZTV11Q3PtrVectorI7QWidgetE) + 8u)
- Q3GVector (0x6c666c0) 0
- primary-for Q3PtrVector<QWidget> (0x6c66600)
- Q3PtrCollection (0x6c66700) 0
- primary-for Q3GVector (0x6c666c0)
-
-Vtable for Q3PtrList<Q3TableSelection>
-Q3PtrList<Q3TableSelection>::_ZTV9Q3PtrListI16Q3TableSelectionE: 11u entries
-0 0u
-4 (int (*)(...))(&_ZTI9Q3PtrListI16Q3TableSelectionE)
-8 Q3PtrList<type>::count [with type = Q3TableSelection]
-12 Q3PtrList<type>::clear [with type = Q3TableSelection]
-16 Q3PtrList<type>::~Q3PtrList [with type = Q3TableSelection]
-20 Q3PtrList<type>::~Q3PtrList [with type = Q3TableSelection]
-24 Q3PtrCollection::newItem
-28 Q3PtrList<type>::deleteItem [with type = Q3TableSelection]
-32 Q3GList::compareItems
-36 Q3GList::read
-40 Q3GList::write
-Class Q3PtrList<Q3TableSelection>
- size=32 align=4
- base size=32 base align=4
-Q3PtrList<Q3TableSelection> (0x6c66980) 0
- vptr=((&Q3PtrList<Q3TableSelection>::_ZTV9Q3PtrListI16Q3TableSelectionE) + 8u)
- Q3GList (0x6c66a40) 0
- primary-for Q3PtrList<Q3TableSelection> (0x6c66980)
- Q3PtrCollection (0x6c66a80) 0
- primary-for Q3GList (0x6c66a40)
-
-Vtable for Q3IntDict<int>
-Q3IntDict<int>::_ZTV9Q3IntDictIiE: 10u entries
-0 0u
-4 (int (*)(...))(&_ZTI9Q3IntDictIiE)
-8 Q3IntDict<type>::count [with type = int]
-12 Q3IntDict<type>::clear [with type = int]
-16 Q3IntDict<type>::~Q3IntDict [with type = int]
-20 Q3IntDict<type>::~Q3IntDict [with type = int]
-24 Q3PtrCollection::newItem
-28 Q3IntDict<type>::deleteItem [with type = int]
-32 Q3GDict::read
-36 Q3GDict::write
-Class Q3IntDict<int>
- size=28 align=4
- base size=28 base align=4
-Q3IntDict<int> (0x6c9d040) 0
- vptr=((&Q3IntDict<int>::_ZTV9Q3IntDictIiE) + 8u)
- Q3GDict (0x6c9d100) 0
- primary-for Q3IntDict<int> (0x6c9d040)
- Q3PtrCollection (0x6c9d140) 0
- primary-for Q3GDict (0x6c9d100)
+
+
+
Vtable for Q3Table
Q3Table::_ZTV7Q3Table: 187u entries
@@ -18634,15 +17395,7 @@ Q3Ftp (0x6d377c0) 0
QObject (0x6d37840) 0
primary-for Q3NetworkProtocol (0x6d37800)
-Class QMap<QString, QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QString>::<anonymous union> (0x6d69700) 0
-Class QMap<QString, QString>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QString> (0x6d695c0) 0
Vtable for Q3HttpHeader
Q3HttpHeader::_ZTV12Q3HttpHeader: 8u entries
@@ -19938,21 +18691,8 @@ Class Q3SqlPropertyMap
Q3SqlPropertyMap (0x7021f40) 0
vptr=((&Q3SqlPropertyMap::_ZTV16Q3SqlPropertyMap) + 8u)
-Class QLinkedList<Q3SqlFieldInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QLinkedList<Q3SqlFieldInfo>::<anonymous union> (0x7122cc0) 0
-Class QLinkedList<Q3SqlFieldInfo>
- size=4 align=4
- base size=4 base align=4
-QLinkedList<Q3SqlFieldInfo> (0x7122b80) 0
-Class Q3ValueList<Q3SqlFieldInfo>
- size=4 align=4
- base size=4 base align=4
-Q3ValueList<Q3SqlFieldInfo> (0x7122a00) 0
- QLinkedList<Q3SqlFieldInfo> (0x7122e40) 0
Class Q3SqlRecordInfo
size=4 align=4
@@ -19961,31 +18701,10 @@ Q3SqlRecordInfo (0x7122ac0) 0
Q3ValueList<Q3SqlFieldInfo> (0x71560c0) 0
QLinkedList<Q3SqlFieldInfo> (0x7156100) 0
-Class QList<Q3SqlFieldInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<Q3SqlFieldInfo>::<anonymous union> (0x71564c0) 0
-Class QList<Q3SqlFieldInfo>
- size=4 align=4
- base size=4 base align=4
-QList<Q3SqlFieldInfo> (0x7122fc0) 0
-Class QLinkedList<Q3SqlFieldInfo>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QLinkedList<Q3SqlFieldInfo>::const_iterator (0x7122dc0) 0
-Class Q3ValueListConstIterator<Q3SqlFieldInfo>
- size=4 align=4
- base size=4 base align=4
-Q3ValueListConstIterator<Q3SqlFieldInfo> (0x7122f00) 0
- QLinkedList<Q3SqlFieldInfo>::const_iterator (0x71a2040) 0
-Class QLinkedList<Q3SqlFieldInfo>::iterator
- size=4 align=4
- base size=4 base align=4
-QLinkedList<Q3SqlFieldInfo>::iterator (0x7122e00) 0
Vtable for Q3SqlSelectCursor
Q3SqlSelectCursor::_ZTV17Q3SqlSelectCursor: 40u entries
@@ -20045,15 +18764,7 @@ Class Q3StyleSheetItem
base size=4 base align=4
Q3StyleSheetItem (0x7207c80) 0
-Class QHash<QString, Q3StyleSheetItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QHash<QString, Q3StyleSheetItem*>::<anonymous union> (0x7220d40) 0
-Class QHash<QString, Q3StyleSheetItem*>
- size=4 align=4
- base size=4 base align=4
-QHash<QString, Q3StyleSheetItem*> (0x7220b40) 0
Vtable for Q3StyleSheet
Q3StyleSheet::_ZTV12Q3StyleSheet: 16u entries
@@ -20092,25 +18803,9 @@ Class Q3TextEditOptimPrivate::Selection
base size=8 base align=4
Q3TextEditOptimPrivate::Selection (0x724fc40) 0
-Class QMap<int, QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<int, QString>::<anonymous union> (0x724fe00) 0
-Class QMap<int, QString>
- size=4 align=4
- base size=4 base align=4
-QMap<int, QString> (0x724fcc0) 0
-Class QMap<int, Q3TextEditOptimPrivate::Tag*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<int, Q3TextEditOptimPrivate::Tag*>::<anonymous union> (0x7278140) 0
-Class QMap<int, Q3TextEditOptimPrivate::Tag*>
- size=4 align=4
- base size=4 base align=4
-QMap<int, Q3TextEditOptimPrivate::Tag*> (0x7278040) 0
Class Q3TextEditOptimPrivate
size=52 align=4
@@ -20322,10 +19017,6 @@ Q3TextEdit (0x724f600) 0
QPaintDevice (0x7278d40) 8
vptr=((&Q3TextEdit::_ZTV10Q3TextEdit) + 688u)
-Class QFlags<Q3TextEdit::AutoFormattingFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Q3TextEdit::AutoFormattingFlag> (0x72a6200) 0
Vtable for Q3MultiLineEdit
Q3MultiLineEdit::_ZTV15Q3MultiLineEdit: 196u entries
@@ -21022,114 +19713,15 @@ Class Q3GCacheIterator
base size=4 base align=4
Q3GCacheIterator (0x7540180) 0
-Vtable for Q3AsciiCache<void>
-Q3AsciiCache<void>::_ZTV12Q3AsciiCacheIvE: 8u entries
-0 0u
-4 (int (*)(...))(&_ZTI12Q3AsciiCacheIvE)
-8 Q3AsciiCache<type>::count [with type = void]
-12 Q3AsciiCache<type>::clear [with type = void]
-16 Q3AsciiCache<type>::~Q3AsciiCache [with type = void]
-20 Q3AsciiCache<type>::~Q3AsciiCache [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3AsciiCache<type>::deleteItem [with type = void]
-Class Q3AsciiCache<void>
- size=32 align=4
- base size=29 base align=4
-Q3AsciiCache<void> (0x7540d40) 0
- vptr=((&Q3AsciiCache<void>::_ZTV12Q3AsciiCacheIvE) + 8u)
- Q3GCache (0x7540e40) 0
- primary-for Q3AsciiCache<void> (0x7540d40)
- Q3PtrCollection (0x7540e80) 0
- primary-for Q3GCache (0x7540e40)
-
-Vtable for Q3AsciiDict<void>
-Q3AsciiDict<void>::_ZTV11Q3AsciiDictIvE: 10u entries
-0 0u
-4 (int (*)(...))(&_ZTI11Q3AsciiDictIvE)
-8 Q3AsciiDict<type>::count [with type = void]
-12 Q3AsciiDict<type>::clear [with type = void]
-16 Q3AsciiDict<type>::~Q3AsciiDict [with type = void]
-20 Q3AsciiDict<type>::~Q3AsciiDict [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3AsciiDict<type>::deleteItem [with type = void]
-32 Q3GDict::read
-36 Q3GDict::write
-Class Q3AsciiDict<void>
- size=28 align=4
- base size=28 base align=4
-Q3AsciiDict<void> (0x756ee00) 0
- vptr=((&Q3AsciiDict<void>::_ZTV11Q3AsciiDictIvE) + 8u)
- Q3GDict (0x756ef00) 0
- primary-for Q3AsciiDict<void> (0x756ee00)
- Q3PtrCollection (0x756ef40) 0
- primary-for Q3GDict (0x756ef00)
-
-Vtable for Q3Cache<void>
-Q3Cache<void>::_ZTV7Q3CacheIvE: 8u entries
-0 0u
-4 (int (*)(...))(&_ZTI7Q3CacheIvE)
-8 Q3Cache<type>::count [with type = void]
-12 Q3Cache<type>::clear [with type = void]
-16 Q3Cache<type>::~Q3Cache [with type = void]
-20 Q3Cache<type>::~Q3Cache [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3Cache<type>::deleteItem [with type = void]
-Class Q3Cache<void>
- size=32 align=4
- base size=29 base align=4
-Q3Cache<void> (0x7599cc0) 0
- vptr=((&Q3Cache<void>::_ZTV7Q3CacheIvE) + 8u)
- Q3GCache (0x7599dc0) 0
- primary-for Q3Cache<void> (0x7599cc0)
- Q3PtrCollection (0x7599e00) 0
- primary-for Q3GCache (0x7599dc0)
-
-Vtable for Q3IntCache<void>
-Q3IntCache<void>::_ZTV10Q3IntCacheIvE: 8u entries
-0 0u
-4 (int (*)(...))(&_ZTI10Q3IntCacheIvE)
-8 Q3IntCache<type>::count [with type = void]
-12 Q3IntCache<type>::clear [with type = void]
-16 Q3IntCache<type>::~Q3IntCache [with type = void]
-20 Q3IntCache<type>::~Q3IntCache [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3IntCache<type>::deleteItem [with type = void]
-Class Q3IntCache<void>
- size=32 align=4
- base size=29 base align=4
-Q3IntCache<void> (0x75ea5c0) 0
- vptr=((&Q3IntCache<void>::_ZTV10Q3IntCacheIvE) + 8u)
- Q3GCache (0x75ea6c0) 0
- primary-for Q3IntCache<void> (0x75ea5c0)
- Q3PtrCollection (0x75ea700) 0
- primary-for Q3GCache (0x75ea6c0)
-Vtable for Q3AsciiDict<QMetaObject>
-Q3AsciiDict<QMetaObject>::_ZTV11Q3AsciiDictI11QMetaObjectE: 10u entries
-0 0u
-4 (int (*)(...))(&_ZTI11Q3AsciiDictI11QMetaObjectE)
-8 Q3AsciiDict<type>::count [with type = QMetaObject]
-12 Q3AsciiDict<type>::clear [with type = QMetaObject]
-16 Q3AsciiDict<type>::~Q3AsciiDict [with type = QMetaObject]
-20 Q3AsciiDict<type>::~Q3AsciiDict [with type = QMetaObject]
-24 Q3PtrCollection::newItem
-28 Q3AsciiDict<type>::deleteItem [with type = QMetaObject]
-32 Q3GDict::read
-36 Q3GDict::write
-Class Q3AsciiDict<QMetaObject>
- size=28 align=4
- base size=28 base align=4
-Q3AsciiDict<QMetaObject> (0x761c080) 0
- vptr=((&Q3AsciiDict<QMetaObject>::_ZTV11Q3AsciiDictI11QMetaObjectE) + 8u)
- Q3GDict (0x761c180) 0
- primary-for Q3AsciiDict<QMetaObject> (0x761c080)
- Q3PtrCollection (0x761c1c0) 0
- primary-for Q3GDict (0x761c180)
+
+
+
Vtable for Q3ObjectDictionary
Q3ObjectDictionary::_ZTV18Q3ObjectDictionary: 10u entries
@@ -21156,76 +19748,11 @@ Q3ObjectDictionary (0x761c040) 0
Q3PtrCollection (0x761c380) 0
primary-for Q3GDict (0x761c340)
-Vtable for Q3PtrDict<void>
-Q3PtrDict<void>::_ZTV9Q3PtrDictIvE: 10u entries
-0 0u
-4 (int (*)(...))(&_ZTI9Q3PtrDictIvE)
-8 Q3PtrDict<type>::count [with type = void]
-12 Q3PtrDict<type>::clear [with type = void]
-16 Q3PtrDict<type>::~Q3PtrDict [with type = void]
-20 Q3PtrDict<type>::~Q3PtrDict [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3PtrDict<type>::deleteItem [with type = void]
-32 Q3GDict::read
-36 Q3GDict::write
-Class Q3PtrDict<void>
- size=28 align=4
- base size=28 base align=4
-Q3PtrDict<void> (0x7649480) 0
- vptr=((&Q3PtrDict<void>::_ZTV9Q3PtrDictIvE) + 8u)
- Q3GDict (0x7649580) 0
- primary-for Q3PtrDict<void> (0x7649480)
- Q3PtrCollection (0x76495c0) 0
- primary-for Q3GDict (0x7649580)
-
-Vtable for Q3PtrQueue<void>
-Q3PtrQueue<void>::_ZTV10Q3PtrQueueIvE: 11u entries
-0 0u
-4 (int (*)(...))(&_ZTI10Q3PtrQueueIvE)
-8 Q3PtrQueue<type>::count [with type = void]
-12 Q3PtrQueue<type>::clear [with type = void]
-16 Q3PtrQueue<type>::~Q3PtrQueue [with type = void]
-20 Q3PtrQueue<type>::~Q3PtrQueue [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3PtrQueue<type>::deleteItem [with type = void]
-32 Q3GList::compareItems
-36 Q3GList::read
-40 Q3GList::write
-Class Q3PtrQueue<void>
- size=32 align=4
- base size=32 base align=4
-Q3PtrQueue<void> (0x7673300) 0
- vptr=((&Q3PtrQueue<void>::_ZTV10Q3PtrQueueIvE) + 8u)
- Q3GList (0x7673400) 0
- primary-for Q3PtrQueue<void> (0x7673300)
- Q3PtrCollection (0x7673440) 0
- primary-for Q3GList (0x7673400)
-
-Vtable for Q3PtrStack<void>
-Q3PtrStack<void>::_ZTV10Q3PtrStackIvE: 11u entries
-0 0u
-4 (int (*)(...))(&_ZTI10Q3PtrStackIvE)
-8 Q3PtrStack<type>::count [with type = void]
-12 Q3PtrStack<type>::clear [with type = void]
-16 Q3PtrStack<type>::~Q3PtrStack [with type = void]
-20 Q3PtrStack<type>::~Q3PtrStack [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3PtrStack<type>::deleteItem [with type = void]
-32 Q3GList::compareItems
-36 Q3GList::read
-40 Q3GList::write
-Class Q3PtrStack<void>
- size=32 align=4
- base size=32 base align=4
-Q3PtrStack<void> (0x7673dc0) 0
- vptr=((&Q3PtrStack<void>::_ZTV10Q3PtrStackIvE) + 8u)
- Q3GList (0x7673ec0) 0
- primary-for Q3PtrStack<void> (0x7673dc0)
- Q3PtrCollection (0x7673f00) 0
- primary-for Q3GList (0x7673ec0)
+
+
Vtable for Q3Semaphore
Q3Semaphore::_ZTV11Q3Semaphore: 4u entries
@@ -21265,29 +19792,7 @@ Q3Signal (0x769d480) 0
QObject (0x769d4c0) 0
primary-for Q3Signal (0x769d480)
-Vtable for Q3PtrVector<char>
-Q3PtrVector<char>::_ZTV11Q3PtrVectorIcE: 11u entries
-0 0u
-4 (int (*)(...))(&_ZTI11Q3PtrVectorIcE)
-8 Q3PtrVector<type>::count [with type = char]
-12 Q3PtrVector<type>::clear [with type = char]
-16 Q3PtrVector<type>::~Q3PtrVector [with type = char]
-20 Q3PtrVector<type>::~Q3PtrVector [with type = char]
-24 Q3PtrCollection::newItem
-28 Q3PtrVector<type>::deleteItem [with type = char]
-32 Q3GVector::compareItems
-36 Q3GVector::read
-40 Q3GVector::write
-Class Q3PtrVector<char>
- size=20 align=4
- base size=20 base align=4
-Q3PtrVector<char> (0x769df80) 0
- vptr=((&Q3PtrVector<char>::_ZTV11Q3PtrVectorIcE) + 8u)
- Q3GVector (0x76c4080) 0
- primary-for Q3PtrVector<char> (0x769df80)
- Q3PtrCollection (0x76c40c0) 0
- primary-for Q3GVector (0x76c4080)
Vtable for Q3StrVec
Q3StrVec::_ZTV8Q3StrVec: 11u entries
@@ -21601,15 +20106,7 @@ Q3GroupBox (0x779a040) 0
QPaintDevice (0x779a140) 8
vptr=((&Q3GroupBox::_ZTV10Q3GroupBox) + 244u)
-Class QMap<int, QAbstractButton*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<int, QAbstractButton*>::<anonymous union> (0x77e9500) 0
-Class QMap<int, QAbstractButton*>
- size=4 align=4
- base size=4 base align=4
-QMap<int, QAbstractButton*> (0x77e93c0) 0
Vtable for Q3ButtonGroup
Q3ButtonGroup::_ZTV13Q3ButtonGroup: 68u entries
@@ -22448,25 +20945,9 @@ Q3DockWindow (0x79a2b40) 0
QPaintDevice (0x79a2c80) 8
vptr=((&Q3DockWindow::_ZTV12Q3DockWindow) + 312u)
-Class QList<QRect>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QRect>::<anonymous union> (0x79e7e80) 0
-Class QList<QRect>
- size=4 align=4
- base size=4 base align=4
-QList<QRect> (0x3a9e800) 0
-Class QList<Q3DockWindow*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<Q3DockWindow*>::<anonymous union> (0x7a23100) 0
-Class QList<Q3DockWindow*>
- size=4 align=4
- base size=4 base align=4
-QList<Q3DockWindow*> (0x79e7a80) 0
Vtable for Q3DockAreaLayout
Q3DockAreaLayout::_ZTV16Q3DockAreaLayout: 48u entries
@@ -22531,10 +21012,6 @@ Q3DockAreaLayout (0x79a29c0) 0
QLayoutItem (0x79e7a00) 8
vptr=((&Q3DockAreaLayout::_ZTV16Q3DockAreaLayout) + 128u)
-Class QPointer<Q3DockArea>
- size=4 align=4
- base size=4 base align=4
-QPointer<Q3DockArea> (0x7a6f980) 0
Class Q3DockArea::DockWindowData
size=24 align=4
@@ -23802,213 +22279,45 @@ Q3WidgetStack (0x7ccb2c0) 0
QPaintDevice (0x7ccb400) 8
vptr=((&Q3WidgetStack::_ZTV13Q3WidgetStack) + 256u)
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0x13ff440) 0
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0x15f1480) 0
-Class QTypeInfo<QDebug::Stream*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDebug::Stream*> (0x14d5580) 0 empty
-Class QVectorTypedData<QPoint>
- size=24 align=4
- base size=24 base align=4
-QVectorTypedData<QPoint> (0x2de74c0) 0
-Class QVectorTypedData<QPointF>
- size=32 align=8
- base size=32 base align=8
-QVectorTypedData<QPointF> (0x2e28900) 0
-Class QVectorTypedData<QPainterPath::Element>
- size=40 align=8
- base size=40 base align=8
-QVectorTypedData<QPainterPath::Element> (0x36d4900) 0
-Class QVectorTypedData<QLineF>
- size=48 align=8
- base size=48 base align=8
-QVectorTypedData<QLineF> (0x3a5e340) 0
-Class QVectorTypedData<QLine>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QLine> (0x3a5e6c0) 0
-Class QVectorTypedData<QRectF>
- size=48 align=8
- base size=48 base align=8
-QVectorTypedData<QRectF> (0x3a9e380) 0
-Class QVectorTypedData<QRect>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QRect> (0x3a9e680) 0
-Class QList<QTreeWidgetItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::Node (0x4ab8ec0) 0
-Class QVectorTypedData<QVector<QWidgetItemData> >
- size=20 align=4
- base size=20 base align=4
-QVectorTypedData<QVector<QWidgetItemData> > (0x4ab8c40) 0
-Class QVectorTypedData<QTextLength>
- size=32 align=8
- base size=32 base align=8
-QVectorTypedData<QTextLength> (0x5152880) 0
-Class QVectorTypedData<QTextLayout::FormatRange>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QTextLayout::FormatRange> (0x52e8700) 0
-Class QVectorTypedData<QAbstractTextDocumentLayout::Selection>
- size=28 align=4
- base size=28 base align=4
-QVectorTypedData<QAbstractTextDocumentLayout::Selection> (0x539ae40) 0
-Class QList<QAction*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QAction*>::Node (0x3de6fc0) 0
-Class QLinkedListNode<Q3SqlFieldInfo>
- size=56 align=8
- base size=56 base align=8
-QLinkedListNode<Q3SqlFieldInfo> (0x7122c40) 0
-Class QHashNode<QVariant::Type, QItemEditorCreatorBase*>
- size=16 align=4
- base size=16 base align=4
-QHashNode<QVariant::Type, QItemEditorCreatorBase*> (0x46b1e80) 0
-Class QTypeInfo<QStandardItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QStandardItem*> (0x4367740) 0 empty
-Class QTypeInfo<QTreeWidgetItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTreeWidgetItem*> (0x439b940) 0 empty
-Class QTypeInfo<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLength> (0x44738c0) 0 empty
-Class QTypeInfo<QTextLayout::FormatRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLayout::FormatRange> (0x44a0c40) 0 empty
-Class QTypeInfo<QAbstractTextDocumentLayout::Selection>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAbstractTextDocumentLayout::Selection> (0x4595f00) 0 empty
-Class QTypeInfo<QAction*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAction*> (0x4742100) 0 empty
-Class QTypeInfo<Q3TextEditOptimPrivate::Tag*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<Q3TextEditOptimPrivate::Tag*> (0x491d840) 0 empty
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0x1780f40) 0
-Class QList<QVariant>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::Node (0x2042440) 0
-Class QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union> (0x4b2f900) 0
-Class QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union> (0x4ba34c0) 0
-Class QTypeInfo<QGraphicsItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QGraphicsItem*> (0x4c2f3c0) 0 empty
-Class QList<QGraphicsItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QGraphicsItem*>::Node (0x3c0b400) 0
-Class QTypeInfo<QStyleOptionQ3ListViewItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QStyleOptionQ3ListViewItem> (0x4c2fb00) 0 empty
-Class QList<QStyleOptionQ3ListViewItem>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::Node (0x4367c40) 0
-Class QList<QItemSelectionRange>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::Node (0x44dcf80) 0
-Class QList<QStandardItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QStandardItem*>::Node (0x48df840) 0
-Class QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union> (0x4cf2100) 0
-Class QMap<Key, T>::detach_helper() [with Key = int, T = Q3TextEditOptimPrivate::Tag*]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<Key, T>::detach_helper() [with Key = int, T = Q3TextEditOptimPrivate::Tag*]::<anonymous union> (0x4df7dc0) 0
-Class QList<QRect>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QRect>::Node (0x79e7e40) 0
-Class QTypeInfo<Q3DockWindow*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<Q3DockWindow*> (0x4e63e40) 0 empty
-Class QList<Q3DockWindow*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<Q3DockWindow*>::Node (0x7a230c0) 0
-Class QLinkedList<T>::detach_helper() [with T = Q3SqlFieldInfo]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QLinkedList<T>::detach_helper() [with T = Q3SqlFieldInfo]::<anonymous union> (0x4f8f0c0) 0
-Class QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union> (0x4f8f840) 0
diff --git a/tests/auto/bic/data/Qt3Support.4.3.0.linux-gcc-ia32.txt b/tests/auto/bic/data/Qt3Support.4.3.0.linux-gcc-ia32.txt
index 2fb1f53..9b73b5e 100644
--- a/tests/auto/bic/data/Qt3Support.4.3.0.linux-gcc-ia32.txt
+++ b/tests/auto/bic/data/Qt3Support.4.3.0.linux-gcc-ia32.txt
@@ -1,34 +1,8 @@
-Class QUintForSize<4>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<4> (0xb7efbd80) 0 empty
-Class QUintForSize<8>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<8> (0xb7efbdc0) 0 empty
-Class QUintForType<void*>
- size=1 align=1
- base size=1 base align=1
-QUintForType<void*> (0xb7efbe80) 0 empty
- QUintForSize<4> (0xb7efbec0) 0 empty
-Class QIntForSize<4>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<4> (0xb7efbf40) 0 empty
-Class QIntForSize<8>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<8> (0xb7efbf80) 0 empty
-Class QIntForType<void*>
- size=1 align=1
- base size=1 base align=1
-QIntForType<void*> (0xb7822040) 0 empty
- QIntForSize<4> (0xb7822080) 0 empty
Class QSysInfo
size=1 align=1
@@ -50,150 +24,38 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0xb7822340) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0xb7822400) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0xb7822440) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0xb7822480) 0 empty
-Class QTypeInfo<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned char> (0xb78224c0) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0xb7822500) 0 empty
-Class QTypeInfo<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short unsigned int> (0xb7822540) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0xb7822580) 0 empty
-Class QTypeInfo<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned int> (0xb78225c0) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0xb7822600) 0 empty
-Class QTypeInfo<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long unsigned int> (0xb7822640) 0 empty
-Class QTypeInfo<long long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long int> (0xb7822680) 0 empty
-Class QTypeInfo<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long unsigned int> (0xb78226c0) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0xb7822700) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0xb7822740) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0xb7822780) 0 empty
Class QFlag
size=4 align=4
base size=4 base align=4
QFlag (0xb78227c0) 0
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0xb78228c0) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0xb7822900) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0xb7822940) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0xb7822980) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0xb78229c0) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0xb7822a00) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0xb7822a40) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0xb7822a80) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0xb7822ac0) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0xb7822b00) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0xb7822b40) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0xb7822b80) 0
-Class QFlags<Qt::TextInteractionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::TextInteractionFlag> (0xb7822bc0) 0
Class QInternal
size=1 align=1
@@ -211,10 +73,6 @@ Class QGenericReturnArgument
QGenericReturnArgument (0xb7822cc0) 0
QGenericArgument (0xb7822d00) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0xb7822ec0) 0
Class QMetaObject
size=16 align=4
@@ -231,10 +89,6 @@ Class QChar
base size=2 base align=2
QChar (0xb7822f80) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0xb591c000) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -267,10 +121,6 @@ Class QByteRef
base size=8 base align=4
QByteRef (0xb591c300) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0xb591c340) 0 empty
Class QString::Null
size=1 align=1
@@ -287,10 +137,6 @@ Class QString
base size=4 base align=4
QString (0xb591c380) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0xb591c580) 0
Class QLatin1String
size=4 align=4
@@ -308,10 +154,6 @@ Class QConstString
QConstString (0xb591c680) 0
QString (0xb591c6c0) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0xb591c700) 0 empty
Class QStringRef
size=12 align=4
@@ -379,15 +221,7 @@ Class QListData
base size=4 base align=4
QListData (0xb591ca40) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0xb591cdc0) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0xb591cd40) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -463,10 +297,6 @@ QLibrary (0xb591c4c0) 0
QObject (0xb591c500) 0
primary-for QLibrary (0xb591c4c0)
-Class QFlags<QLibrary::LoadHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLibrary::LoadHint> (0xb591c840) 0
Class QUuid
size=16 align=4
@@ -514,10 +344,6 @@ QIODevice (0xb591cc00) 0
QObject (0xb591ce40) 0
primary-for QIODevice (0xb591cc00)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0xb553c000) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -537,25 +363,13 @@ Class QRegExp
base size=4 base align=4
QRegExp (0xb553c0c0) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0xb553c100) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0xb553c140) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0xb553c200) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0xb553c180) 0
Class QStringList
size=4 align=4
@@ -563,15 +377,7 @@ Class QStringList
QStringList (0xb553c240) 0
QList<QString> (0xb553c280) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0xb553c300) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0xb553c340) 0
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -627,10 +433,6 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0xb553c6c0) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0xb553c700) 0 empty
Class QCryptographicHash
size=4 align=4
@@ -642,75 +444,35 @@ Class QDate
base size=4 base align=4
QDate (0xb553cc40) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0xb553cd00) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0xb553cd40) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0xb553ce00) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0xb553ce40) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0xb553cf00) 0 empty
Class QByteArrayMatcher
size=1032 align=4
base size=1032 base align=4
QByteArrayMatcher (0xb553cf40) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0xb553cfc0) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0xb553c080) 0
Class wait
size=4 align=4
base size=4 base align=4
wait (0xb553cf80) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb553c440) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb553c580) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb553cac0) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb553cc80) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb553ccc0) 0
Class timespec
size=8 align=4
@@ -722,80 +484,24 @@ Class timeval
base size=8 base align=4
timeval (0xb553cdc0) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb553ce80) 0
-Class <anonymous union>
- size=36 align=4
- base size=36 base align=4
-<anonymous union> (0xb553cec0) 0
Class __pthread_internal_slist
size=4 align=4
base size=4 base align=4
__pthread_internal_slist (0xb5508000) 0
-Class <anonymous union>::__pthread_mutex_s::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union>::__pthread_mutex_s::<anonymous union> (0xb55080c0) 0
-Class <anonymous union>::__pthread_mutex_s
- size=24 align=4
- base size=24 base align=4
-<anonymous union>::__pthread_mutex_s (0xb5508080) 0
-Class <anonymous union>
- size=24 align=4
- base size=24 base align=4
-<anonymous union> (0xb5508040) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb5508100) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0xb5508180) 0
-Class <anonymous union>
- size=48 align=4
- base size=48 base align=4
-<anonymous union> (0xb5508140) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb55081c0) 0
-Class <anonymous union>::<anonymous struct>
- size=32 align=4
- base size=32 base align=4
-<anonymous union>::<anonymous struct> (0xb5508240) 0
-Class <anonymous union>
- size=32 align=4
- base size=32 base align=4
-<anonymous union> (0xb5508200) 0
-Class <anonymous union>
- size=8 align=4
- base size=8 base align=4
-<anonymous union> (0xb5508280) 0
-Class <anonymous union>
- size=20 align=4
- base size=20 base align=4
-<anonymous union> (0xb55082c0) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb5508300) 0
Class random_data
size=28 align=4
@@ -817,20 +523,12 @@ Class QSize
base size=8 base align=4
QSize (0xb5508580) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0xb5508780) 0 empty
Class QSizeF
size=16 align=4
base size=16 base align=4
QSizeF (0xb5508800) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0xb5508a00) 0 empty
Class QLinkedListData
size=20 align=4
@@ -842,15 +540,7 @@ Class QLocale
base size=4 base align=4
QLocale (0xb5508dc0) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0xb5508e00) 0 empty
-Class QFlags<QLocale::NumberOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLocale::NumberOption> (0xb5508e40) 0
Vtable for QSystemLocale
QSystemLocale::_ZTV13QSystemLocale: 6u entries
@@ -887,60 +577,36 @@ Class QPoint
base size=8 base align=4
QPoint (0xb5138040) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0xb5138280) 0 empty
Class QPointF
size=16 align=4
base size=16 base align=4
QPointF (0xb51382c0) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0xb5138500) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0xb5138640) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0xb5138740) 0 empty
Class QRectF
size=32 align=4
base size=32 base align=4
QRectF (0xb5138780) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0xb5138840) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0xb5138880) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0xb51388c0) 0 empty
Class QLineF
size=32 align=4
base size=32 base align=4
QLineF (0xb5138900) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0xb5138940) 0 empty
Vtable for QTimeLine
QTimeLine::_ZTV9QTimeLine: 15u entries
@@ -978,10 +644,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0xb5138cc0) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0xb5138d00) 0 empty
Class QLibraryInfo
size=1 align=1
@@ -993,290 +655,66 @@ Class QUrl
base size=4 base align=4
QUrl (0xb5138e40) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0xb5138ec0) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0xb5138f00) 0 empty
Class QMetaType
size=1 align=1
base size=0 base align=1
QMetaType (0xb5138f40) 0 empty
-Class QMetaTypeId2<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QString> (0xb5138080) 0 empty
-Class QMetaTypeId2<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<int> (0xb51380c0) 0 empty
-Class QMetaTypeId2<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned int> (0xb5138100) 0 empty
-Class QMetaTypeId2<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<bool> (0xb5138140) 0 empty
-Class QMetaTypeId2<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<double> (0xb5138180) 0 empty
-Class QMetaTypeId2<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QByteArray> (0xb51381c0) 0 empty
-Class QMetaTypeId2<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QChar> (0xb5138200) 0 empty
-Class QMetaTypeId2<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long int> (0xb5138240) 0 empty
-Class QMetaTypeId2<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short int> (0xb5138300) 0 empty
-Class QMetaTypeId2<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<char> (0xb5138340) 0 empty
-Class QMetaTypeId2<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long unsigned int> (0xb5138380) 0 empty
-Class QMetaTypeId2<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short unsigned int> (0xb51383c0) 0 empty
-Class QMetaTypeId2<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned char> (0xb5138400) 0 empty
-Class QMetaTypeId2<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<float> (0xb5138440) 0 empty
-Class QMetaTypeId2<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QObject*> (0xb5138480) 0 empty
-Class QMetaTypeId2<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QWidget*> (0xb51384c0) 0 empty
-Class QMetaTypeId2<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<void*> (0xb5138680) 0 empty
-Class QMetaTypeId2<long long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long int> (0xb51386c0) 0 empty
-Class QMetaTypeId2<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long unsigned int> (0xb5138700) 0 empty
-Class QMetaTypeId2<QStringList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QStringList> (0xb51387c0) 0 empty
-Class QMetaTypeId2<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitArray> (0xb5138800) 0 empty
-Class QMetaTypeId2<QDate>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDate> (0xb5138b40) 0 empty
-Class QMetaTypeId2<QTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTime> (0xb4faa000) 0 empty
-Class QMetaTypeId2<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDateTime> (0xb4faa040) 0 empty
-Class QMetaTypeId2<QUrl>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QUrl> (0xb4faa080) 0 empty
-Class QMetaTypeId2<QLocale>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLocale> (0xb4faa0c0) 0 empty
-Class QMetaTypeId2<QRect>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRect> (0xb4faa100) 0 empty
-Class QMetaTypeId2<QRectF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRectF> (0xb4faa140) 0 empty
-Class QMetaTypeId2<QSize>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSize> (0xb4faa180) 0 empty
-Class QMetaTypeId2<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizeF> (0xb4faa1c0) 0 empty
-Class QMetaTypeId2<QLine>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLine> (0xb4faa200) 0 empty
-Class QMetaTypeId2<QLineF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLineF> (0xb4faa240) 0 empty
-Class QMetaTypeId2<QPoint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPoint> (0xb4faa280) 0 empty
-Class QMetaTypeId2<QPointF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPointF> (0xb4faa2c0) 0 empty
-Class QMetaTypeId2<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegExp> (0xb4faa300) 0 empty
-Class QMetaTypeId2<QColorGroup>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColorGroup> (0xb4faa340) 0 empty
-Class QMetaTypeId2<QFont>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QFont> (0xb4faa380) 0 empty
-Class QMetaTypeId2<QPixmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPixmap> (0xb4faa3c0) 0 empty
-Class QMetaTypeId2<QBrush>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBrush> (0xb4faa400) 0 empty
-Class QMetaTypeId2<QColor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColor> (0xb4faa440) 0 empty
-Class QMetaTypeId2<QPalette>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPalette> (0xb4faa480) 0 empty
-Class QMetaTypeId2<QIcon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QIcon> (0xb4faa4c0) 0 empty
-Class QMetaTypeId2<QImage>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QImage> (0xb4faa500) 0 empty
-Class QMetaTypeId2<QPolygon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPolygon> (0xb4faa540) 0 empty
-Class QMetaTypeId2<QRegion>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegion> (0xb4faa580) 0 empty
-Class QMetaTypeId2<QBitmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitmap> (0xb4faa5c0) 0 empty
-Class QMetaTypeId2<QCursor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QCursor> (0xb4faa600) 0 empty
-Class QMetaTypeId2<QSizePolicy>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizePolicy> (0xb4faa640) 0 empty
-Class QMetaTypeId2<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QKeySequence> (0xb4faa680) 0 empty
-Class QMetaTypeId2<QPen>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPen> (0xb4faa6c0) 0 empty
-Class QMetaTypeId2<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextLength> (0xb4faa700) 0 empty
-Class QMetaTypeId2<QTextFormat>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextFormat> (0xb4faa740) 0 empty
-Class QMetaTypeId2<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMatrix> (0xb4faa780) 0 empty
-Class QMetaTypeId2<QTransform>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTransform> (0xb4faa7c0) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -1303,45 +741,17 @@ Class QVariant
base size=12 base align=4
QVariant (0xb4faa800) 0
-Class QMetaTypeId2<QList<QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QList<QVariant> > (0xb4faaa80) 0 empty
-Class QMetaTypeId2<QMap<QString, QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMap<QString, QVariant> > (0xb4faaac0) 0 empty
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0xb4faabc0) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0xb4faab40) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0xb4faacc0) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0xb4faac40) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0xb4faad40) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0xb4faadc0) 0 empty
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1368,25 +778,9 @@ QSettings (0xb4faae00) 0
QObject (0xb4faae40) 0
primary-for QSettings (0xb4faae00)
-Class <anonymous struct>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct>::<anonymous union> (0xb4faaf40) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb4faaf00) 0
-Class <anonymous struct>
- size=12 align=4
- base size=12 base align=4
-<anonymous struct> (0xb4faaf80) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb4faafc0) 0
Class __gconv_trans_data
size=20 align=4
@@ -1408,15 +802,7 @@ Class __gconv_info
base size=8 base align=4
__gconv_info (0xb4faaa00) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0xb4faae80) 0
-Class <anonymous union>
- size=44 align=4
- base size=44 base align=4
-<anonymous union> (0xb4faaa40) 0
Class _IO_marker
size=12 align=4
@@ -1428,10 +814,6 @@ Class _IO_FILE
base size=148 base align=4
_IO_FILE (0xb4e88000) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb4e88040) 0
Vtable for QFile
QFile::_ZTV5QFile: 31u entries
@@ -1477,10 +859,6 @@ QFile (0xb4e88080) 0
QObject (0xb4e88100) 0
primary-for QIODevice (0xb4e880c0)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0xb4e88180) 0
Vtable for QTemporaryFile
QTemporaryFile::_ZTV14QTemporaryFile: 31u entries
@@ -1533,40 +911,16 @@ Class QFileInfo
base size=4 base align=4
QFileInfo (0xb4e88300) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0xb4e88340) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0xb4e88380) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0xb4e88440) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0xb4e883c0) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0xb4e88480) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0xb4e88500) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0xb4e88580) 0
Vtable for QProcess
QProcess::_ZTV8QProcess: 31u entries
@@ -1650,10 +1004,6 @@ Class QDirIterator
QDirIterator (0xb4e887c0) 0
vptr=((& QDirIterator::_ZTV12QDirIterator) + 8u)
-Class QFlags<QDirIterator::IteratorFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDirIterator::IteratorFlag> (0xb4e88880) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -1710,10 +1060,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0xb4e888c0) 0
vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0xb4e88a40) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -1747,10 +1093,6 @@ Class QAbstractFileEngineIterator
QAbstractFileEngineIterator (0xb4e88b00) 0
vptr=((& QAbstractFileEngineIterator::_ZTV27QAbstractFileEngineIterator) + 8u)
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0xb4e88c40) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -1775,15 +1117,7 @@ Class QTextCodec
QTextCodec (0xb4e88b80) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0xb4e88d80) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0xb4e88d00) 0
Class QTextEncoder
size=32 align=4
@@ -1808,10 +1142,6 @@ Class QTextStream
QTextStream (0xb4e88e40) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0xb4e88f00) 0
Class QTextStreamManipulator
size=24 align=4
@@ -1958,20 +1288,12 @@ Class QReadWriteLock
base size=4 base align=4
QReadWriteLock (0xb4cc80c0) 0
-Class QReadLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QReadLocker::<anonymous union> (0xb4cc8140) 0
Class QReadLocker
size=4 align=4
base size=4 base align=4
QReadLocker (0xb4cc8100) 0
-Class QWriteLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QWriteLocker::<anonymous union> (0xb4cc81c0) 0
Class QWriteLocker
size=4 align=4
@@ -1983,10 +1305,6 @@ Class QMutex
base size=4 base align=4
QMutex (0xb4cc8200) 0
-Class QMutexLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMutexLocker::<anonymous union> (0xb4cc8280) 0
Class QMutexLocker
size=4 align=4
@@ -2066,10 +1384,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0xb4cc8580) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0xb4cc85c0) 0 empty
Vtable for QMimeData
QMimeData::_ZTV9QMimeData: 17u entries
@@ -2104,20 +1418,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0xb4cc86c0) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0xb4cc8700) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0xb4cc8740) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0xb4cc87c0) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -2357,10 +1663,6 @@ QEventLoop (0xb4cc8c40) 0
QObject (0xb4cc8c80) 0
primary-for QEventLoop (0xb4cc8c40)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0xb4cc8d80) 0
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -2555,20 +1857,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0xb4cc8e00) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0xb4cc8ec0) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0xb4cc8f80) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0xb4a45000) 0 empty
Class QMetaProperty
size=20 align=4
@@ -2580,10 +1874,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0xb4a45080) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0xb4a450c0) 0 empty
Vtable for QTextCodecFactoryInterface
QTextCodecFactoryInterface::_ZTV26QTextCodecFactoryInterface: 6u entries
@@ -2726,25 +2016,13 @@ QImageIOPlugin (0xb4a45500) 0
QFactoryInterface (0xb4a455c0) 8 nearly-empty
primary-for QImageIOHandlerFactoryInterface (0xb4a45580)
-Class QFlags<QImageIOPlugin::Capability>
- size=4 align=4
- base size=4 base align=4
-QFlags<QImageIOPlugin::Capability> (0xb4a45640) 0
Class QImageReader
size=4 align=4
base size=4 base align=4
QImageReader (0xb4a45680) 0
-Class QVector<QPoint>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint>::<anonymous union> (0xb4a45740) 0
-Class QVector<QPoint>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint> (0xb4a456c0) 0
Class QPolygon
size=4 align=4
@@ -2752,15 +2030,7 @@ Class QPolygon
QPolygon (0xb4a45780) 0
QVector<QPoint> (0xb4a457c0) 0
-Class QVector<QPointF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF>::<anonymous union> (0xb4a45880) 0
-Class QVector<QPointF>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF> (0xb4a45800) 0
Class QPolygonF
size=4 align=4
@@ -2783,10 +2053,6 @@ Class QMatrix
base size=48 base align=4
QMatrix (0xb4a45ac0) 0
-Class QTypeInfo<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMatrix> (0xb4a45b00) 0 empty
Class QPainterPath::Element
size=20 align=4
@@ -2798,25 +2064,13 @@ Class QPainterPath
base size=4 base align=4
QPainterPath (0xb4a45b40) 0
-Class QVector<QPainterPath::Element>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element>::<anonymous union> (0xb4a45dc0) 0
-Class QVector<QPainterPath::Element>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element> (0xb4a45d40) 0
Class QPainterPathPrivate
size=8 align=4
base size=8 base align=4
QPainterPathPrivate (0xb4a45c40) 0
-Class QTypeInfo<QPainterPath::Element>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPainterPath::Element> (0xb4a45e00) 0 empty
Class QPainterPathStroker
size=4 align=4
@@ -2828,10 +2082,6 @@ Class QTransform
base size=80 base align=4
QTransform (0xb4a45f00) 0
-Class QTypeInfo<QTransform>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTransform> (0xb4a45f40) 0 empty
Vtable for QPaintDevice
QPaintDevice::_ZTV12QPaintDevice: 7u entries
@@ -2872,30 +2122,10 @@ QImage (0xb4a453c0) 0
QPaintDevice (0xb4a45480) 0
primary-for QImage (0xb4a453c0)
-Class QTypeInfo<QImage>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QImage> (0xb4a45980) 0 empty
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0xb4a45a40) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0xb4a45bc0) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0xb4a45c00) 0
-Class QColor::<anonymous union>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union> (0xb4a45a00) 0
Class QColor
size=16 align=4
@@ -3083,10 +2313,6 @@ Class QIcon
base size=4 base align=4
QIcon (0xb4823940) 0
-Class QTypeInfo<QIcon>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QIcon> (0xb4823a00) 0 empty
Vtable for QPicture
QPicture::_ZTV8QPicture: 8u entries
@@ -3225,10 +2451,6 @@ Class QKeySequence
base size=4 base align=4
QKeySequence (0xb4823f40) 0
-Class QTypeInfo<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QKeySequence> (0xb4823000) 0 empty
Vtable for QMimeSource
QMimeSource::_ZTV11QMimeSource: 7u entries
@@ -3526,15 +2748,7 @@ Class QInputMethodEvent::Attribute
base size=24 base align=4
QInputMethodEvent::Attribute (0xb4768840) 0
-Class QList<QInputMethodEvent::Attribute>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute>::<anonymous union> (0xb4768940) 0
-Class QList<QInputMethodEvent::Attribute>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute> (0xb47688c0) 0
Vtable for QInputMethodEvent
QInputMethodEvent::_ZTV17QInputMethodEvent: 4u entries
@@ -3823,20 +3037,8 @@ Class QAccessible
base size=0 base align=1
QAccessible (0xb47e5040) 0 empty
-Class QFlags<QAccessible::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::StateFlag> (0xb47e50c0) 0
-Class QFlags<QAccessible::RelationFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::RelationFlag> (0xb47e5100) 0
-Class QMetaTypeId<QSet<QAccessible::Method> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QSet<QAccessible::Method> > (0xb47e5140) 0 empty
Vtable for QAccessibleInterface
QAccessibleInterface::_ZTV20QAccessibleInterface: 19u entries
@@ -3867,20 +3069,8 @@ QAccessibleInterface (0xb47e5200) 0 nearly-empty
vptr=((& QAccessibleInterface::_ZTV20QAccessibleInterface) + 8u)
QAccessible (0xb47e5240) 0 empty
-Class QHash<QAccessible::Method, QHashDummyValue>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QHash<QAccessible::Method, QHashDummyValue>::<anonymous union> (0xb47e53c0) 0
-Class QHash<QAccessible::Method, QHashDummyValue>
- size=4 align=4
- base size=4 base align=4
-QHash<QAccessible::Method, QHashDummyValue> (0xb47e5340) 0
-Class QSet<QAccessible::Method>
- size=4 align=4
- base size=4 base align=4
-QSet<QAccessible::Method> (0xb47e52c0) 0
Vtable for QAccessibleInterfaceEx
QAccessibleInterfaceEx::_ZTV22QAccessibleInterfaceEx: 22u entries
@@ -4402,55 +3592,23 @@ Class QPen
base size=4 base align=4
QPen (0xb469c500) 0
-Class QTypeInfo<QPen>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPen> (0xb469c5c0) 0 empty
Class QBrush
size=4 align=4
base size=4 base align=4
QBrush (0xb469c600) 0
-Class QTypeInfo<QBrush>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBrush> (0xb469c640) 0 empty
Class QBrushData
size=108 align=4
base size=105 base align=4
QBrushData (0xb469c680) 0
-Class QVector<QPair<double, QColor> >::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPair<double, QColor> >::<anonymous union> (0xb469c7c0) 0
-Class QVector<QPair<double, QColor> >
- size=4 align=4
- base size=4 base align=4
-QVector<QPair<double, QColor> > (0xb469c740) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=32 align=4
- base size=32 base align=4
-QGradient::<anonymous union>::<anonymous struct> (0xb469c840) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=40 align=4
- base size=40 base align=4
-QGradient::<anonymous union>::<anonymous struct> (0xb469c880) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=24 align=4
- base size=24 base align=4
-QGradient::<anonymous union>::<anonymous struct> (0xb469c8c0) 0
-Class QGradient::<anonymous union>
- size=40 align=4
- base size=40 base align=4
-QGradient::<anonymous union> (0xb469c800) 0
Class QGradient
size=56 align=4
@@ -4480,30 +3638,14 @@ Class QTextLength
base size=12 base align=4
QTextLength (0xb469ca80) 0
-Class QSharedDataPointer<QTextFormatPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextFormatPrivate> (0xb469cbc0) 0
Class QTextFormat
size=8 align=4
base size=8 base align=4
QTextFormat (0xb469cb40) 0
-Class QVector<QTextLength>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength>::<anonymous union> (0xb469cd40) 0
-Class QVector<QTextLength>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength> (0xb469ccc0) 0
-Class QFlags<QTextFormat::PageBreakFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextFormat::PageBreakFlag> (0xb469cd80) 0
Class QTextCharFormat
size=8 align=4
@@ -4643,10 +3785,6 @@ QTextFrame (0xb469cc40) 0
QObject (0xb4417040) 0
primary-for QTextObject (0xb4417000)
-Class QTypeInfo<QTextFrame::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFrame::iterator> (0xb4417180) 0 empty
Vtable for QTextBlockUserData
QTextBlockUserData::_ZTV18QTextBlockUserData: 4u entries
@@ -4671,25 +3809,13 @@ Class QTextBlock
base size=8 base align=4
QTextBlock (0xb4417240) 0
-Class QTypeInfo<QTextBlock>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock> (0xb44172c0) 0 empty
-Class QTypeInfo<QTextBlock::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock::iterator> (0xb4417300) 0 empty
Class QTextFragment
size=12 align=4
base size=12 base align=4
QTextFragment (0xb4417340) 0
-Class QTypeInfo<QTextFragment>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFragment> (0xb4417380) 0 empty
Class QTextDocumentFragment
size=4 align=4
@@ -4756,10 +3882,6 @@ QTextTable (0xb4417500) 0
QObject (0xb44175c0) 0
primary-for QTextObject (0xb4417580)
-Class QSharedDataPointer<QTextCursorPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextCursorPrivate> (0xb4417740) 0
Class QTextCursor
size=4 align=4
@@ -4808,10 +3930,6 @@ Class QTextOption
base size=24 base align=4
QTextOption (0xb4417980) 0
-Class QFlags<QTextOption::Flag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextOption::Flag> (0xb44179c0) 0
Class QTextInlineObject
size=8 align=4
@@ -4828,15 +3946,7 @@ Class QTextLayout
base size=4 base align=4
QTextLayout (0xb4417a40) 0
-Class QVector<QTextLayout::FormatRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange>::<anonymous union> (0xb4417bc0) 0
-Class QVector<QTextLayout::FormatRange>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange> (0xb4417b40) 0
Class QTextLine
size=8 align=4
@@ -4886,10 +3996,6 @@ QTextDocument (0xb4417d00) 0
QObject (0xb4417d40) 0
primary-for QTextDocument (0xb4417d00)
-Class QFlags<QTextDocument::FindFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextDocument::FindFlag> (0xb4417dc0) 0
Class QPalette
size=8 align=4
@@ -4907,15 +4013,7 @@ Class QAbstractTextDocumentLayout::Selection
base size=12 base align=4
QAbstractTextDocumentLayout::Selection (0xb4417fc0) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union> (0xb4417700) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection> (0xb4417480) 0
Class QAbstractTextDocumentLayout::PaintContext
size=48 align=4
@@ -4977,10 +4075,6 @@ Class QSizePolicy
base size=4 base align=4
QSizePolicy (0xb4417e40) 0
-Class QFlags<QSizePolicy::ControlType>
- size=4 align=4
- base size=4 base align=4
-QFlags<QSizePolicy::ControlType> (0xb43bd0c0) 0
Vtable for QStyle
QStyle::_ZTV6QStyle: 35u entries
@@ -5028,15 +4122,7 @@ QStyle (0xb43bd100) 0
QObject (0xb43bd140) 0
primary-for QStyle (0xb43bd100)
-Class QFlags<QStyle::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::StateFlag> (0xb43bd200) 0
-Class QFlags<QStyle::SubControl>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::SubControl> (0xb43bd240) 0
Vtable for QCommonStyle
QCommonStyle::_ZTV12QCommonStyle: 35u entries
@@ -5242,10 +4328,6 @@ QWindowsXPStyle (0xb43bd780) 0
QObject (0xb43bd880) 0
primary-for QStyle (0xb43bd840)
-Class QPointer<QFocusFrame>
- size=4 align=4
- base size=4 base align=4
-QPointer<QFocusFrame> (0xb43bda40) 0
Vtable for QMotifStyle
QMotifStyle::_ZTV11QMotifStyle: 35u entries
@@ -5541,10 +4623,6 @@ QWidget (0xb43bd040) 0
QPaintDevice (0xb43bd1c0) 8
vptr=((& QWidget::_ZTV7QWidget) + 232u)
-Class QFlags<QWidget::RenderFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QWidget::RenderFlag> (0xb43bd480) 0
Vtable for QValidator
QValidator::_ZTV10QValidator: 16u entries
@@ -5745,10 +4823,6 @@ QAbstractSpinBox (0xb41a4140) 0
QPaintDevice (0xb41a4200) 8
vptr=((& QAbstractSpinBox::_ZTV16QAbstractSpinBox) + 252u)
-Class QFlags<QAbstractSpinBox::StepEnabledFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractSpinBox::StepEnabledFlag> (0xb41a4280) 0
Vtable for QAbstractSlider
QAbstractSlider::_ZTV15QAbstractSlider: 64u entries
@@ -6167,10 +5241,6 @@ Class QStyleOptionFrame
QStyleOptionFrame (0xb41a4ac0) 0
QStyleOption (0xb41a4b00) 0
-Class QFlags<QStyleOptionFrameV2::FrameFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionFrameV2::FrameFeature> (0xb41a4c80) 0
Class QStyleOptionFrameV2
size=56 align=4
@@ -6197,10 +5267,6 @@ Class QStyleOptionHeader
QStyleOptionHeader (0xb41a4f00) 0
QStyleOption (0xb41a4f40) 0
-Class QFlags<QStyleOptionButton::ButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionButton::ButtonFeature> (0xb41a4240) 0
Class QStyleOptionButton
size=64 align=4
@@ -6208,10 +5274,6 @@ Class QStyleOptionButton
QStyleOptionButton (0xb41a4000) 0
QStyleOption (0xb41a4100) 0
-Class QFlags<QStyleOptionTab::CornerWidget>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionTab::CornerWidget> (0xb41a46c0) 0
Class QStyleOptionTab
size=72 align=4
@@ -6226,10 +5288,6 @@ QStyleOptionTabV2 (0xb41a4840) 0
QStyleOptionTab (0xb41a4980) 0
QStyleOption (0xb41a4a80) 0
-Class QFlags<QStyleOptionToolBar::ToolBarFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionToolBar::ToolBarFeature> (0xb41a4fc0) 0
Class QStyleOptionToolBar
size=68 align=4
@@ -6256,10 +5314,6 @@ Class QStyleOptionMenuItem
QStyleOptionMenuItem (0xb3ee4200) 0
QStyleOption (0xb3ee4240) 0
-Class QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature> (0xb3ee4380) 0
Class QStyleOptionQ3ListViewItem
size=64 align=4
@@ -6292,10 +5346,6 @@ Class QStyleOptionViewItem
QStyleOptionViewItem (0xb3ee46c0) 0
QStyleOption (0xb3ee4700) 0
-Class QFlags<QStyleOptionViewItemV2::ViewItemFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionViewItemV2::ViewItemFeature> (0xb3ee4880) 0
Class QStyleOptionViewItemV2
size=84 align=4
@@ -6351,15 +5401,7 @@ QStyleOptionSpinBox (0xb3ee4f80) 0
QStyleOptionComplex (0xb3ee4fc0) 0
QStyleOption (0xb3ee4000) 0
-Class QList<QStyleOptionQ3ListViewItem>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::<anonymous union> (0xb3ee4540) 0
-Class QList<QStyleOptionQ3ListViewItem>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem> (0xb3ee43c0) 0
Class QStyleOptionQ3ListView
size=84 align=4
@@ -6368,10 +5410,6 @@ QStyleOptionQ3ListView (0xb3ee4100) 0
QStyleOptionComplex (0xb3ee4280) 0
QStyleOption (0xb3ee4340) 0
-Class QFlags<QStyleOptionToolButton::ToolButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionToolButton::ToolButtonFeature> (0xb3ee4e00) 0
Class QStyleOptionToolButton
size=96 align=4
@@ -6488,10 +5526,6 @@ Class QStyleFactory
base size=0 base align=1
QStyleFactory (0xb3dcc780) 0 empty
-Class QFlags<QTreeWidgetItemIterator::IteratorFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTreeWidgetItemIterator::IteratorFlag> (0xb3dcc840) 0
Class QTreeWidgetItemIterator
size=12 align=4
@@ -6663,10 +5697,6 @@ Class QItemSelectionRange
base size=8 base align=4
QItemSelectionRange (0xb3dccb40) 0
-Class QTypeInfo<QItemSelectionRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QItemSelectionRange> (0xb3dccbc0) 0 empty
Vtable for QItemSelectionModel
QItemSelectionModel::_ZTV19QItemSelectionModel: 18u entries
@@ -6697,20 +5727,8 @@ QItemSelectionModel (0xb3dccc00) 0
QObject (0xb3dccc40) 0
primary-for QItemSelectionModel (0xb3dccc00)
-Class QFlags<QItemSelectionModel::SelectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QItemSelectionModel::SelectionFlag> (0xb3dcccc0) 0
-Class QList<QItemSelectionRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::<anonymous union> (0xb3dccd80) 0
-Class QList<QItemSelectionRange>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange> (0xb3dccd00) 0
Class QItemSelection
size=4 align=4
@@ -6872,10 +5890,6 @@ QAbstractItemView (0xb3dccf00) 0
QPaintDevice (0xb3dcc180) 8
vptr=((& QAbstractItemView::_ZTV17QAbstractItemView) + 392u)
-Class QFlags<QAbstractItemView::EditTrigger>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractItemView::EditTrigger> (0xb3dcc3c0) 0
Vtable for QListView
QListView::_ZTV9QListView: 103u entries
@@ -7140,15 +6154,7 @@ Class QItemEditorCreatorBase
QItemEditorCreatorBase (0xb3d19280) 0 nearly-empty
vptr=((& QItemEditorCreatorBase::_ZTV22QItemEditorCreatorBase) + 8u)
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union> (0xb3d19540) 0
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*> (0xb3d194c0) 0
Vtable for QItemEditorFactory
QItemEditorFactory::_ZTV18QItemEditorFactory: 6u entries
@@ -7296,15 +6302,7 @@ Class QTableWidgetSelectionRange
base size=16 base align=4
QTableWidgetSelectionRange (0xb3d19800) 0
-Class QVector<QWidgetItemData>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData>::<anonymous union> (0xb3d19940) 0
-Class QVector<QWidgetItemData>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData> (0xb3d198c0) 0
Vtable for QTableWidgetItem
QTableWidgetItem::_ZTV16QTableWidgetItem: 10u entries
@@ -7790,15 +6788,7 @@ Class QStandardItem
QStandardItem (0xb3d19dc0) 0
vptr=((& QStandardItem::_ZTV13QStandardItem) + 8u)
-Class QList<QStandardItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QStandardItem*>::<anonymous union> (0xb3c72100) 0
-Class QList<QStandardItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QStandardItem*> (0xb3c72080) 0
Vtable for QStandardItemModel
QStandardItemModel::_ZTV18QStandardItemModel: 42u entries
@@ -7926,25 +6916,9 @@ QDirModel (0xb3c72300) 0
QObject (0xb3c72380) 0
primary-for QAbstractItemModel (0xb3c72340)
-Class QVector<QVector<QWidgetItemData> >::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> >::<anonymous union> (0xb3c72500) 0
-Class QVector<QVector<QWidgetItemData> >
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> > (0xb3c72480) 0
-Class QList<QTreeWidgetItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::<anonymous union> (0xb3c72600) 0
-Class QList<QTreeWidgetItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*> (0xb3c72580) 0
Vtable for QTreeWidgetItem
QTreeWidgetItem::_ZTV15QTreeWidgetItem: 10u entries
@@ -8540,15 +7514,7 @@ QActionGroup (0xb3c72440) 0
QObject (0xb3c72540) 0
primary-for QActionGroup (0xb3c72440)
-Class QList<QAction*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QAction*>::<anonymous union> (0xb3c72b40) 0
-Class QList<QAction*>
- size=4 align=4
- base size=4 base align=4
-QList<QAction*> (0xb3c72880) 0
Vtable for QLayoutItem
QLayoutItem::_ZTV11QLayoutItem: 18u entries
@@ -9687,10 +8653,6 @@ QMdiArea (0xb37f20c0) 0
QPaintDevice (0xb37f2200) 8
vptr=((& QMdiArea::_ZTV8QMdiArea) + 240u)
-Class QFlags<QMdiArea::AreaOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QMdiArea::AreaOption> (0xb37f2280) 0
Vtable for QAbstractButton
QAbstractButton::_ZTV15QAbstractButton: 66u entries
@@ -10012,10 +8974,6 @@ QMdiSubWindow (0xb37f26c0) 0
QPaintDevice (0xb37f2780) 8
vptr=((& QMdiSubWindow::_ZTV13QMdiSubWindow) + 232u)
-Class QFlags<QMdiSubWindow::SubWindowOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QMdiSubWindow::SubWindowOption> (0xb37f2800) 0
Vtable for QCalendarWidget
QCalendarWidget::_ZTV15QCalendarWidget: 64u entries
@@ -10493,10 +9451,6 @@ QDialogButtonBox (0xb37f2f80) 0
QPaintDevice (0xb37f2240) 8
vptr=((& QDialogButtonBox::_ZTV16QDialogButtonBox) + 232u)
-Class QFlags<QDialogButtonBox::StandardButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDialogButtonBox::StandardButton> (0xb37f23c0) 0
Vtable for QDockWidget
QDockWidget::_ZTV11QDockWidget: 63u entries
@@ -10576,10 +9530,6 @@ QDockWidget (0xb37f2540) 0
QPaintDevice (0xb37f2980) 8
vptr=((& QDockWidget::_ZTV11QDockWidget) + 232u)
-Class QFlags<QDockWidget::DockWidgetFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDockWidget::DockWidgetFeature> (0xb37f2c40) 0
Vtable for QScrollArea
QScrollArea::_ZTV11QScrollArea: 65u entries
@@ -10930,10 +9880,6 @@ QDateEdit (0xb35b3440) 0
QPaintDevice (0xb35b3580) 8
vptr=((& QDateEdit::_ZTV9QDateEdit) + 260u)
-Class QFlags<QDateTimeEdit::Section>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDateTimeEdit::Section> (0xb35b3600) 0
Vtable for QFontComboBox
QFontComboBox::_ZTV13QFontComboBox: 65u entries
@@ -11017,10 +9963,6 @@ QFontComboBox (0xb35b3640) 0
QPaintDevice (0xb35b3740) 8
vptr=((& QFontComboBox::_ZTV13QFontComboBox) + 240u)
-Class QFlags<QFontComboBox::FontFilter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFontComboBox::FontFilter> (0xb35b37c0) 0
Vtable for QToolBox
QToolBox::_ZTV8QToolBox: 65u entries
@@ -11275,10 +10217,6 @@ QTextEdit (0xb35b3ac0) 0
QPaintDevice (0xb35b3c00) 8
vptr=((& QTextEdit::_ZTV9QTextEdit) + 256u)
-Class QFlags<QTextEdit::AutoFormattingFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextEdit::AutoFormattingFlag> (0xb35b3d00) 0
Vtable for QTextBrowser
QTextBrowser::_ZTV12QTextBrowser: 74u entries
@@ -12210,10 +11148,6 @@ QMainWindow (0xb34fb980) 0
QPaintDevice (0xb34fba40) 8
vptr=((& QMainWindow::_ZTV11QMainWindow) + 236u)
-Class QFlags<QMainWindow::DockOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QMainWindow::DockOption> (0xb34fbac0) 0
Vtable for QDial
QDial::_ZTV5QDial: 64u entries
@@ -12786,20 +11720,8 @@ Class QGraphicsItem
QGraphicsItem (0xb34445c0) 0
vptr=((& QGraphicsItem::_ZTV13QGraphicsItem) + 8u)
-Class QFlags<QGraphicsItem::GraphicsItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGraphicsItem::GraphicsItemFlag> (0xb34446c0) 0
-Class QMetaTypeId<QGraphicsItem*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QGraphicsItem*> (0xb3444700) 0 empty
-Class QMetaTypeId<QGraphicsScene*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QGraphicsScene*> (0xb34447c0) 0 empty
Vtable for QAbstractGraphicsShapeItem
QAbstractGraphicsShapeItem::_ZTV26QAbstractGraphicsShapeItem: 39u entries
@@ -13361,50 +12283,14 @@ Class QPainter
base size=4 base align=4
QPainter (0xb3444480) 0
-Class QFlags<QPainter::RenderHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPainter::RenderHint> (0xb3444600) 0
-Class QVector<QLineF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF>::<anonymous union> (0xb3444a00) 0
-Class QVector<QLineF>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF> (0xb3444680) 0
-Class QVector<QLine>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine>::<anonymous union> (0xb3444dc0) 0
-Class QVector<QLine>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine> (0xb3444c00) 0
-Class QVector<QRectF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF>::<anonymous union> (0xb31b8040) 0
-Class QVector<QRectF>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF> (0xb3444f80) 0
-Class QVector<QRect>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect>::<anonymous union> (0xb31b8140) 0
-Class QVector<QRect>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect> (0xb31b80c0) 0
Vtable for QGraphicsScene
QGraphicsScene::_ZTV14QGraphicsScene: 34u entries
@@ -13451,20 +12337,8 @@ QGraphicsScene (0xb31b8180) 0
QObject (0xb31b81c0) 0
primary-for QGraphicsScene (0xb31b8180)
-Class QFlags<QGraphicsScene::SceneLayer>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGraphicsScene::SceneLayer> (0xb31b82c0) 0
-Class QList<QGraphicsItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QGraphicsItem*>::<anonymous union> (0xb31b8380) 0
-Class QList<QGraphicsItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QGraphicsItem*> (0xb31b8300) 0
Vtable for QGraphicsView
QGraphicsView::_ZTV13QGraphicsView: 68u entries
@@ -13553,15 +12427,7 @@ QGraphicsView (0xb31b83c0) 0
QPaintDevice (0xb31b8500) 8
vptr=((& QGraphicsView::_ZTV13QGraphicsView) + 252u)
-Class QFlags<QGraphicsView::CacheModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGraphicsView::CacheModeFlag> (0xb31b85c0) 0
-Class QFlags<QGraphicsView::OptimizationFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGraphicsView::OptimizationFlag> (0xb31b8600) 0
Vtable for QGraphicsItemAnimation
QGraphicsItemAnimation::_ZTV22QGraphicsItemAnimation: 16u entries
@@ -13921,10 +12787,6 @@ QAbstractPrintDialog (0xb31b8b40) 0
QPaintDevice (0xb31b8c40) 8
vptr=((& QAbstractPrintDialog::_ZTV20QAbstractPrintDialog) + 248u)
-Class QFlags<QAbstractPrintDialog::PrintDialogOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractPrintDialog::PrintDialogOption> (0xb31b8d00) 0
Vtable for QPrintDialog
QPrintDialog::_ZTV12QPrintDialog: 67u entries
@@ -14183,10 +13045,6 @@ QWizard (0xb31b8580) 0
QPaintDevice (0xb31b8b00) 8
vptr=((& QWizard::_ZTV7QWizard) + 260u)
-Class QFlags<QWizard::WizardOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QWizard::WizardOption> (0xb31b8cc0) 0
Vtable for QWizardPage
QWizardPage::_ZTV11QWizardPage: 68u entries
@@ -14354,10 +13212,6 @@ QFileDialog (0xb318d100) 0
QPaintDevice (0xb318d200) 8
vptr=((& QFileDialog::_ZTV11QFileDialog) + 244u)
-Class QFlags<QFileDialog::Option>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileDialog::Option> (0xb318d2c0) 0
Vtable for QFontDialog
QFontDialog::_ZTV11QFontDialog: 66u entries
@@ -14694,10 +13548,6 @@ QMessageBox (0xb318d7c0) 0
QPaintDevice (0xb318d8c0) 8
vptr=((& QMessageBox::_ZTV11QMessageBox) + 244u)
-Class QFlags<QMessageBox::StandardButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<QMessageBox::StandardButton> (0xb318d980) 0
Vtable for QColorDialog
QColorDialog::_ZTV12QColorDialog: 66u entries
@@ -15173,15 +14023,7 @@ Class QTextItem
base size=0 base align=1
QTextItem (0xb2ec8300) 0 empty
-Class QTypeInfo<QTextItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextItem> (0xb2ec8340) 0 empty
-Class QFlags<QPaintEngine::PaintEngineFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::PaintEngineFeature> (0xb2ec8400) 0
Vtable for QPaintEngine
QPaintEngine::_ZTV12QPaintEngine: 24u entries
@@ -15216,20 +14058,12 @@ Class QPaintEngine
QPaintEngine (0xb2ec8380) 0
vptr=((& QPaintEngine::_ZTV12QPaintEngine) + 8u)
-Class QFlags<QPaintEngine::DirtyFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::DirtyFlag> (0xb2ec8500) 0
Class QPaintEngineState
size=4 align=4
base size=4 base align=4
QPaintEngineState (0xb2ec8480) 0
-Class QFlags<QTextItem::RenderFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextItem::RenderFlag> (0xb2ec8540) 0
Vtable for QInputContext
QInputContext::_ZTV13QInputContext: 26u entries
@@ -15434,10 +14268,6 @@ QUdpSocket (0xb2ec8a40) 0
QObject (0xb2ec8b00) 0
primary-for QIODevice (0xb2ec8ac0)
-Class QFlags<QUdpSocket::BindFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUdpSocket::BindFlag> (0xb2ec8b80) 0
Class QSslCertificate
size=4 align=4
@@ -15494,10 +14324,6 @@ QTcpSocket (0xb2ec8c40) 0
QObject (0xb2ec8d00) 0
primary-for QIODevice (0xb2ec8cc0)
-Class QMetaTypeId<QList<QSslError> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QList<QSslError> > (0xb2ec8d80) 0 empty
Vtable for QSslSocket
QSslSocket::_ZTV10QSslSocket: 30u entries
@@ -15556,20 +14382,12 @@ Class QNetworkAddressEntry
base size=4 base align=4
QNetworkAddressEntry (0xb2ec8000) 0
-Class QSharedDataPointer<QNetworkInterfacePrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QNetworkInterfacePrivate> (0xb2ec81c0) 0
Class QNetworkInterface
size=4 align=4
base size=4 base align=4
QNetworkInterface (0xb2ec8100) 0
-Class QFlags<QNetworkInterface::InterfaceFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QNetworkInterface::InterfaceFlag> (0xb2ec83c0) 0
Class QSslKey
size=4 align=4
@@ -15748,10 +14566,6 @@ QTcpServer (0xb2e8b280) 0
QObject (0xb2e8b2c0) 0
primary-for QTcpServer (0xb2e8b280)
-Class QFlags<QSql::ParamTypeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QSql::ParamTypeFlag> (0xb2e8b340) 0
Class QSqlRecord
size=4 align=4
@@ -16091,15 +14905,7 @@ QSqlDriver (0xb2e8bc40) 0
QObject (0xb2e8bc80) 0
primary-for QSqlDriver (0xb2e8bc40)
-Class QList<bool>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<bool>::<anonymous union> (0xb2e8be40) 0
-Class QList<bool>
- size=4 align=4
- base size=4 base align=4
-QList<bool> (0xb2e8bdc0) 0
Class QSqlIndex
size=16 align=4
@@ -16288,71 +15094,11 @@ Class Q3GCacheIterator
base size=4 base align=4
Q3GCacheIterator (0xb2be6280) 0
-Vtable for Q3AsciiCache<void>
-Q3AsciiCache<void>::_ZTV12Q3AsciiCacheIvE: 8u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI12Q3AsciiCacheIvE)
-8 Q3AsciiCache<type>::count [with type = void]
-12 Q3AsciiCache<type>::clear [with type = void]
-16 Q3AsciiCache<type>::~Q3AsciiCache [with type = void]
-20 Q3AsciiCache<type>::~Q3AsciiCache [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3AsciiCache<type>::deleteItem [with type = void]
-Class Q3AsciiCache<void>
- size=32 align=4
- base size=29 base align=4
-Q3AsciiCache<void> (0xb2be6380) 0
- vptr=((& Q3AsciiCache<void>::_ZTV12Q3AsciiCacheIvE) + 8u)
- Q3GCache (0xb2be63c0) 0
- primary-for Q3AsciiCache<void> (0xb2be6380)
- Q3PtrCollection (0xb2be6400) 0
- primary-for Q3GCache (0xb2be63c0)
-
-Vtable for Q3IntCache<void>
-Q3IntCache<void>::_ZTV10Q3IntCacheIvE: 8u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI10Q3IntCacheIvE)
-8 Q3IntCache<type>::count [with type = void]
-12 Q3IntCache<type>::clear [with type = void]
-16 Q3IntCache<type>::~Q3IntCache [with type = void]
-20 Q3IntCache<type>::~Q3IntCache [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3IntCache<type>::deleteItem [with type = void]
-Class Q3IntCache<void>
- size=32 align=4
- base size=29 base align=4
-Q3IntCache<void> (0xb2be65c0) 0
- vptr=((& Q3IntCache<void>::_ZTV10Q3IntCacheIvE) + 8u)
- Q3GCache (0xb2be6600) 0
- primary-for Q3IntCache<void> (0xb2be65c0)
- Q3PtrCollection (0xb2be6640) 0
- primary-for Q3GCache (0xb2be6600)
-
-Vtable for Q3PtrStack<void>
-Q3PtrStack<void>::_ZTV10Q3PtrStackIvE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI10Q3PtrStackIvE)
-8 Q3PtrStack<type>::count [with type = void]
-12 Q3PtrStack<type>::clear [with type = void]
-16 Q3PtrStack<type>::~Q3PtrStack [with type = void]
-20 Q3PtrStack<type>::~Q3PtrStack [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3PtrStack<type>::deleteItem [with type = void]
-32 Q3GList::compareItems
-36 Q3GList::read
-40 Q3GList::write
-Class Q3PtrStack<void>
- size=32 align=4
- base size=32 base align=4
-Q3PtrStack<void> (0xb2be6800) 0
- vptr=((& Q3PtrStack<void>::_ZTV10Q3PtrStackIvE) + 8u)
- Q3GList (0xb2be6840) 0
- primary-for Q3PtrStack<void> (0xb2be6800)
- Q3PtrCollection (0xb2be6880) 0
- primary-for Q3GList (0xb2be6840)
+
+
Class Q3CString
size=4 align=4
@@ -16387,26 +15133,7 @@ Class Q3GArray
Q3GArray (0xb2be6b00) 0
vptr=((& Q3GArray::_ZTV8Q3GArray) + 8u)
-Vtable for Q3Cache<void>
-Q3Cache<void>::_ZTV7Q3CacheIvE: 8u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI7Q3CacheIvE)
-8 Q3Cache<type>::count [with type = void]
-12 Q3Cache<type>::clear [with type = void]
-16 Q3Cache<type>::~Q3Cache [with type = void]
-20 Q3Cache<type>::~Q3Cache [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3Cache<type>::deleteItem [with type = void]
-Class Q3Cache<void>
- size=32 align=4
- base size=29 base align=4
-Q3Cache<void> (0xb2be6d80) 0
- vptr=((& Q3Cache<void>::_ZTV7Q3CacheIvE) + 8u)
- Q3GCache (0xb2be6dc0) 0
- primary-for Q3Cache<void> (0xb2be6d80)
- Q3PtrCollection (0xb2be6e00) 0
- primary-for Q3GCache (0xb2be6dc0)
Vtable for Q3Signal
Q3Signal::_ZTV8Q3Signal: 14u entries
@@ -16433,29 +15160,7 @@ Q3Signal (0xb2be68c0) 0
QObject (0xb2be6900) 0
primary-for Q3Signal (0xb2be68c0)
-Vtable for Q3PtrQueue<void>
-Q3PtrQueue<void>::_ZTV10Q3PtrQueueIvE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI10Q3PtrQueueIvE)
-8 Q3PtrQueue<type>::count [with type = void]
-12 Q3PtrQueue<type>::clear [with type = void]
-16 Q3PtrQueue<type>::~Q3PtrQueue [with type = void]
-20 Q3PtrQueue<type>::~Q3PtrQueue [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3PtrQueue<type>::deleteItem [with type = void]
-32 Q3GList::compareItems
-36 Q3GList::read
-40 Q3GList::write
-Class Q3PtrQueue<void>
- size=32 align=4
- base size=32 base align=4
-Q3PtrQueue<void> (0xb2b300c0) 0
- vptr=((& Q3PtrQueue<void>::_ZTV10Q3PtrQueueIvE) + 8u)
- Q3GList (0xb2b30100) 0
- primary-for Q3PtrQueue<void> (0xb2b300c0)
- Q3PtrCollection (0xb2b30140) 0
- primary-for Q3GList (0xb2b30100)
Vtable for Q3GVector
Q3GVector::_ZTV9Q3GVector: 11u entries
@@ -16479,76 +15184,11 @@ Q3GVector (0xb2b301c0) 0
Q3PtrCollection (0xb2b30200) 0
primary-for Q3GVector (0xb2b301c0)
-Vtable for Q3PtrVector<void>
-Q3PtrVector<void>::_ZTV11Q3PtrVectorIvE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI11Q3PtrVectorIvE)
-8 Q3PtrVector<type>::count [with type = void]
-12 Q3PtrVector<type>::clear [with type = void]
-16 Q3PtrVector<type>::~Q3PtrVector [with type = void]
-20 Q3PtrVector<type>::~Q3PtrVector [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3PtrVector<type>::deleteItem [with type = void]
-32 Q3GVector::compareItems
-36 Q3GVector::read
-40 Q3GVector::write
-Class Q3PtrVector<void>
- size=20 align=4
- base size=20 base align=4
-Q3PtrVector<void> (0xb2b30340) 0
- vptr=((& Q3PtrVector<void>::_ZTV11Q3PtrVectorIvE) + 8u)
- Q3GVector (0xb2b30380) 0
- primary-for Q3PtrVector<void> (0xb2b30340)
- Q3PtrCollection (0xb2b303c0) 0
- primary-for Q3GVector (0xb2b30380)
-
-Vtable for Q3Dict<void>
-Q3Dict<void>::_ZTV6Q3DictIvE: 10u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI6Q3DictIvE)
-8 Q3Dict<type>::count [with type = void]
-12 Q3Dict<type>::clear [with type = void]
-16 Q3Dict<type>::~Q3Dict [with type = void]
-20 Q3Dict<type>::~Q3Dict [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3Dict<type>::deleteItem [with type = void]
-32 Q3GDict::read
-36 Q3GDict::write
-Class Q3Dict<void>
- size=28 align=4
- base size=28 base align=4
-Q3Dict<void> (0xb2b30500) 0
- vptr=((& Q3Dict<void>::_ZTV6Q3DictIvE) + 8u)
- Q3GDict (0xb2b30540) 0
- primary-for Q3Dict<void> (0xb2b30500)
- Q3PtrCollection (0xb2b30580) 0
- primary-for Q3GDict (0xb2b30540)
-Vtable for Q3PtrVector<char>
-Q3PtrVector<char>::_ZTV11Q3PtrVectorIcE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI11Q3PtrVectorIcE)
-8 Q3PtrVector<type>::count [with type = char]
-12 Q3PtrVector<type>::clear [with type = char]
-16 Q3PtrVector<type>::~Q3PtrVector [with type = char]
-20 Q3PtrVector<type>::~Q3PtrVector [with type = char]
-24 Q3PtrCollection::newItem
-28 Q3PtrVector<type>::deleteItem [with type = char]
-32 Q3GVector::compareItems
-36 Q3GVector::read
-40 Q3GVector::write
-Class Q3PtrVector<char>
- size=20 align=4
- base size=20 base align=4
-Q3PtrVector<char> (0xb2b30680) 0
- vptr=((& Q3PtrVector<char>::_ZTV11Q3PtrVectorIcE) + 8u)
- Q3GVector (0xb2b306c0) 0
- primary-for Q3PtrVector<char> (0xb2b30680)
- Q3PtrCollection (0xb2b30700) 0
- primary-for Q3GVector (0xb2b306c0)
+
Vtable for Q3StrVec
Q3StrVec::_ZTV8Q3StrVec: 11u entries
@@ -16604,75 +15244,11 @@ Q3StrIVec (0xb2b308c0) 0
Q3PtrCollection (0xb2b309c0) 0
primary-for Q3GVector (0xb2b30980)
-Vtable for Q3PtrList<void>
-Q3PtrList<void>::_ZTV9Q3PtrListIvE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI9Q3PtrListIvE)
-8 Q3PtrList<type>::count [with type = void]
-12 Q3PtrList<type>::clear [with type = void]
-16 Q3PtrList<type>::~Q3PtrList [with type = void]
-20 Q3PtrList<type>::~Q3PtrList [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3PtrList<type>::deleteItem [with type = void]
-32 Q3GList::compareItems
-36 Q3GList::read
-40 Q3GList::write
-Class Q3PtrList<void>
- size=32 align=4
- base size=32 base align=4
-Q3PtrList<void> (0xb2b30b80) 0
- vptr=((& Q3PtrList<void>::_ZTV9Q3PtrListIvE) + 8u)
- Q3GList (0xb2b30bc0) 0
- primary-for Q3PtrList<void> (0xb2b30b80)
- Q3PtrCollection (0xb2b30c00) 0
- primary-for Q3GList (0xb2b30bc0)
-
-Vtable for Q3AsciiDict<void>
-Q3AsciiDict<void>::_ZTV11Q3AsciiDictIvE: 10u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI11Q3AsciiDictIvE)
-8 Q3AsciiDict<type>::count [with type = void]
-12 Q3AsciiDict<type>::clear [with type = void]
-16 Q3AsciiDict<type>::~Q3AsciiDict [with type = void]
-20 Q3AsciiDict<type>::~Q3AsciiDict [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3AsciiDict<type>::deleteItem [with type = void]
-32 Q3GDict::read
-36 Q3GDict::write
-Class Q3AsciiDict<void>
- size=28 align=4
- base size=28 base align=4
-Q3AsciiDict<void> (0xb2b30e40) 0
- vptr=((& Q3AsciiDict<void>::_ZTV11Q3AsciiDictIvE) + 8u)
- Q3GDict (0xb2b30e80) 0
- primary-for Q3AsciiDict<void> (0xb2b30e40)
- Q3PtrCollection (0xb2b30ec0) 0
- primary-for Q3GDict (0xb2b30e80)
-Vtable for Q3AsciiDict<QMetaObject>
-Q3AsciiDict<QMetaObject>::_ZTV11Q3AsciiDictI11QMetaObjectE: 10u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI11Q3AsciiDictI11QMetaObjectE)
-8 Q3AsciiDict<type>::count [with type = QMetaObject]
-12 Q3AsciiDict<type>::clear [with type = QMetaObject]
-16 Q3AsciiDict<type>::~Q3AsciiDict [with type = QMetaObject]
-20 Q3AsciiDict<type>::~Q3AsciiDict [with type = QMetaObject]
-24 Q3PtrCollection::newItem
-28 Q3AsciiDict<type>::deleteItem [with type = QMetaObject]
-32 Q3GDict::read
-36 Q3GDict::write
-Class Q3AsciiDict<QMetaObject>
- size=28 align=4
- base size=28 base align=4
-Q3AsciiDict<QMetaObject> (0xb2b30fc0) 0
- vptr=((& Q3AsciiDict<QMetaObject>::_ZTV11Q3AsciiDictI11QMetaObjectE) + 8u)
- Q3GDict (0xb2b30180) 0
- primary-for Q3AsciiDict<QMetaObject> (0xb2b30fc0)
- Q3PtrCollection (0xb2b30240) 0
- primary-for Q3GDict (0xb2b30180)
+
Vtable for Q3ObjectDictionary
Q3ObjectDictionary::_ZTV18Q3ObjectDictionary: 10u entries
@@ -16699,29 +15275,7 @@ Q3ObjectDictionary (0xb2b30400) 0
Q3PtrCollection (0xb2b30880) 0
primary-for Q3GDict (0xb2b30740)
-Vtable for Q3PtrList<char>
-Q3PtrList<char>::_ZTV9Q3PtrListIcE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI9Q3PtrListIcE)
-8 Q3PtrList<type>::count [with type = char]
-12 Q3PtrList<type>::clear [with type = char]
-16 Q3PtrList<type>::~Q3PtrList [with type = char]
-20 Q3PtrList<type>::~Q3PtrList [with type = char]
-24 Q3PtrCollection::newItem
-28 Q3PtrList<type>::deleteItem [with type = char]
-32 Q3GList::compareItems
-36 Q3GList::read
-40 Q3GList::write
-Class Q3PtrList<char>
- size=32 align=4
- base size=32 base align=4
-Q3PtrList<char> (0xb2b30c40) 0
- vptr=((& Q3PtrList<char>::_ZTV9Q3PtrListIcE) + 8u)
- Q3GList (0xb2b30f00) 0
- primary-for Q3PtrList<char> (0xb2b30c40)
- Q3PtrCollection (0xb2a12000) 0
- primary-for Q3GList (0xb2b30f00)
Vtable for Q3StrList
Q3StrList::_ZTV9Q3StrList: 11u entries
@@ -16749,11 +15303,6 @@ Q3StrList (0xb2a12080) 0
Q3PtrCollection (0xb2a12140) 0
primary-for Q3GList (0xb2a12100)
-Class Q3PtrListStdIterator<char>
- size=4 align=4
- base size=4 base align=4
-Q3PtrListStdIterator<char> (0xb2a12200) 0
- Q3GListStdIterator (0xb2a12240) 0
Vtable for Q3StrIList
Q3StrIList::_ZTV10Q3StrIList: 11u entries
@@ -16783,28 +15332,7 @@ Q3StrIList (0xb2a12280) 0
Q3PtrCollection (0xb2a12380) 0
primary-for Q3GList (0xb2a12340)
-Vtable for Q3PtrDict<void>
-Q3PtrDict<void>::_ZTV9Q3PtrDictIvE: 10u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI9Q3PtrDictIvE)
-8 Q3PtrDict<type>::count [with type = void]
-12 Q3PtrDict<type>::clear [with type = void]
-16 Q3PtrDict<type>::~Q3PtrDict [with type = void]
-20 Q3PtrDict<type>::~Q3PtrDict [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3PtrDict<type>::deleteItem [with type = void]
-32 Q3GDict::read
-36 Q3GDict::write
-Class Q3PtrDict<void>
- size=28 align=4
- base size=28 base align=4
-Q3PtrDict<void> (0xb2a124c0) 0
- vptr=((& Q3PtrDict<void>::_ZTV9Q3PtrDictIvE) + 8u)
- Q3GDict (0xb2a12500) 0
- primary-for Q3PtrDict<void> (0xb2a124c0)
- Q3PtrCollection (0xb2a12540) 0
- primary-for Q3GDict (0xb2a12500)
Vtable for Q3Semaphore
Q3Semaphore::_ZTV11Q3Semaphore: 4u entries
@@ -16819,28 +15347,7 @@ Class Q3Semaphore
Q3Semaphore (0xb2a12640) 0
vptr=((& Q3Semaphore::_ZTV11Q3Semaphore) + 8u)
-Vtable for Q3IntDict<void>
-Q3IntDict<void>::_ZTV9Q3IntDictIvE: 10u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI9Q3IntDictIvE)
-8 Q3IntDict<type>::count [with type = void]
-12 Q3IntDict<type>::clear [with type = void]
-16 Q3IntDict<type>::~Q3IntDict [with type = void]
-20 Q3IntDict<type>::~Q3IntDict [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3IntDict<type>::deleteItem [with type = void]
-32 Q3GDict::read
-36 Q3GDict::write
-Class Q3IntDict<void>
- size=28 align=4
- base size=28 base align=4
-Q3IntDict<void> (0xb2a12780) 0
- vptr=((& Q3IntDict<void>::_ZTV9Q3IntDictIvE) + 8u)
- Q3GDict (0xb2a127c0) 0
- primary-for Q3IntDict<void> (0xb2a12780)
- Q3PtrCollection (0xb2a12800) 0
- primary-for Q3GDict (0xb2a127c0)
Vtable for Q3Frame
Q3Frame::_ZTV7Q3Frame: 66u entries
@@ -17051,15 +15558,7 @@ Class Q3StyleSheetItem
base size=4 base align=4
Q3StyleSheetItem (0xb2a12c80) 0
-Class QHash<QString, Q3StyleSheetItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QHash<QString, Q3StyleSheetItem*>::<anonymous union> (0xb2a12e40) 0
-Class QHash<QString, Q3StyleSheetItem*>
- size=4 align=4
- base size=4 base align=4
-QHash<QString, Q3StyleSheetItem*> (0xb2a12dc0) 0
Vtable for Q3StyleSheet
Q3StyleSheet::_ZTV12Q3StyleSheet: 16u entries
@@ -17120,25 +15619,9 @@ Class Q3TextEditOptimPrivate::Selection
base size=8 base align=4
Q3TextEditOptimPrivate::Selection (0xb2a12040) 0
-Class QMap<int, QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<int, QString>::<anonymous union> (0xb2a12580) 0
-Class QMap<int, QString>
- size=4 align=4
- base size=4 base align=4
-QMap<int, QString> (0xb2a12180) 0
-Class QMap<int, Q3TextEditOptimPrivate::Tag*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<int, Q3TextEditOptimPrivate::Tag*>::<anonymous union> (0xb2a12c40) 0
-Class QMap<int, Q3TextEditOptimPrivate::Tag*>
- size=4 align=4
- base size=4 base align=4
-QMap<int, Q3TextEditOptimPrivate::Tag*> (0xb2a12840) 0
Class Q3TextEditOptimPrivate
size=52 align=4
@@ -17346,10 +15829,6 @@ Q3TextEdit (0xb2a12f00) 0
QPaintDevice (0xb2906140) 8
vptr=((& Q3TextEdit::_ZTV10Q3TextEdit) + 680u)
-Class QFlags<Q3TextEdit::AutoFormattingFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Q3TextEdit::AutoFormattingFlag> (0xb2906240) 0
Vtable for Q3TextView
Q3TextView::_ZTV10Q3TextView: 175u entries
@@ -18131,15 +16610,7 @@ Q3NetworkOperation (0xb2906dc0) 0
QObject (0xb2906e00) 0
primary-for Q3NetworkOperation (0xb2906dc0)
-Class QMap<QString, QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QString>::<anonymous union> (0xb2906f80) 0
-Class QMap<QString, QString>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QString> (0xb2906f00) 0
Vtable for Q3HttpHeader
Q3HttpHeader::_ZTV12Q3HttpHeader: 8u entries
@@ -20100,100 +18571,13 @@ Class Q3Table::TableWidget
base size=12 base align=4
Q3Table::TableWidget (0xb24ca000) 0
-Vtable for Q3PtrVector<Q3TableItem>
-Q3PtrVector<Q3TableItem>::_ZTV11Q3PtrVectorI11Q3TableItemE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI11Q3PtrVectorI11Q3TableItemE)
-8 Q3PtrVector<type>::count [with type = Q3TableItem]
-12 Q3PtrVector<type>::clear [with type = Q3TableItem]
-16 Q3PtrVector<type>::~Q3PtrVector [with type = Q3TableItem]
-20 Q3PtrVector<type>::~Q3PtrVector [with type = Q3TableItem]
-24 Q3PtrCollection::newItem
-28 Q3PtrVector<type>::deleteItem [with type = Q3TableItem]
-32 Q3GVector::compareItems
-36 Q3GVector::read
-40 Q3GVector::write
-Class Q3PtrVector<Q3TableItem>
- size=20 align=4
- base size=20 base align=4
-Q3PtrVector<Q3TableItem> (0xb24ca080) 0
- vptr=((& Q3PtrVector<Q3TableItem>::_ZTV11Q3PtrVectorI11Q3TableItemE) + 8u)
- Q3GVector (0xb24ca0c0) 0
- primary-for Q3PtrVector<Q3TableItem> (0xb24ca080)
- Q3PtrCollection (0xb24ca100) 0
- primary-for Q3GVector (0xb24ca0c0)
-
-Vtable for Q3PtrVector<QWidget>
-Q3PtrVector<QWidget>::_ZTV11Q3PtrVectorI7QWidgetE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI11Q3PtrVectorI7QWidgetE)
-8 Q3PtrVector<type>::count [with type = QWidget]
-12 Q3PtrVector<type>::clear [with type = QWidget]
-16 Q3PtrVector<type>::~Q3PtrVector [with type = QWidget]
-20 Q3PtrVector<type>::~Q3PtrVector [with type = QWidget]
-24 Q3PtrCollection::newItem
-28 Q3PtrVector<type>::deleteItem [with type = QWidget]
-32 Q3GVector::compareItems
-36 Q3GVector::read
-40 Q3GVector::write
-Class Q3PtrVector<QWidget>
- size=20 align=4
- base size=20 base align=4
-Q3PtrVector<QWidget> (0xb24ca1c0) 0
- vptr=((& Q3PtrVector<QWidget>::_ZTV11Q3PtrVectorI7QWidgetE) + 8u)
- Q3GVector (0xb24ca200) 0
- primary-for Q3PtrVector<QWidget> (0xb24ca1c0)
- Q3PtrCollection (0xb24ca240) 0
- primary-for Q3GVector (0xb24ca200)
-
-Vtable for Q3PtrList<Q3TableSelection>
-Q3PtrList<Q3TableSelection>::_ZTV9Q3PtrListI16Q3TableSelectionE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI9Q3PtrListI16Q3TableSelectionE)
-8 Q3PtrList<type>::count [with type = Q3TableSelection]
-12 Q3PtrList<type>::clear [with type = Q3TableSelection]
-16 Q3PtrList<type>::~Q3PtrList [with type = Q3TableSelection]
-20 Q3PtrList<type>::~Q3PtrList [with type = Q3TableSelection]
-24 Q3PtrCollection::newItem
-28 Q3PtrList<type>::deleteItem [with type = Q3TableSelection]
-32 Q3GList::compareItems
-36 Q3GList::read
-40 Q3GList::write
-Class Q3PtrList<Q3TableSelection>
- size=32 align=4
- base size=32 base align=4
-Q3PtrList<Q3TableSelection> (0xb24ca300) 0
- vptr=((& Q3PtrList<Q3TableSelection>::_ZTV9Q3PtrListI16Q3TableSelectionE) + 8u)
- Q3GList (0xb24ca340) 0
- primary-for Q3PtrList<Q3TableSelection> (0xb24ca300)
- Q3PtrCollection (0xb24ca380) 0
- primary-for Q3GList (0xb24ca340)
-
-Vtable for Q3IntDict<int>
-Q3IntDict<int>::_ZTV9Q3IntDictIiE: 10u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI9Q3IntDictIiE)
-8 Q3IntDict<type>::count [with type = int]
-12 Q3IntDict<type>::clear [with type = int]
-16 Q3IntDict<type>::~Q3IntDict [with type = int]
-20 Q3IntDict<type>::~Q3IntDict [with type = int]
-24 Q3PtrCollection::newItem
-28 Q3IntDict<type>::deleteItem [with type = int]
-32 Q3GDict::read
-36 Q3GDict::write
-Class Q3IntDict<int>
- size=28 align=4
- base size=28 base align=4
-Q3IntDict<int> (0xb24ca440) 0
- vptr=((& Q3IntDict<int>::_ZTV9Q3IntDictIiE) + 8u)
- Q3GDict (0xb24ca480) 0
- primary-for Q3IntDict<int> (0xb24ca440)
- Q3PtrCollection (0xb24ca4c0) 0
- primary-for Q3GDict (0xb24ca480)
+
+
+
Vtable for Q3Table
Q3Table::_ZTV7Q3Table: 183u entries
@@ -21616,15 +20000,7 @@ Q3ProgressBar (0xb259c680) 0
QPaintDevice (0xb259c780) 8
vptr=((& Q3ProgressBar::_ZTV13Q3ProgressBar) + 244u)
-Class QMap<int, QAbstractButton*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<int, QAbstractButton*>::<anonymous union> (0xb259ca40) 0
-Class QMap<int, QAbstractButton*>
- size=4 align=4
- base size=4 base align=4
-QMap<int, QAbstractButton*> (0xb259c9c0) 0
Vtable for Q3ButtonGroup
Q3ButtonGroup::_ZTV13Q3ButtonGroup: 64u entries
@@ -21879,25 +20255,9 @@ Q3HButtonGroup (0xb259cd00) 0
QPaintDevice (0xb259ce80) 8
vptr=((& Q3HButtonGroup::_ZTV14Q3HButtonGroup) + 236u)
-Class QList<QRect>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QRect>::<anonymous union> (0xb259c3c0) 0
-Class QList<QRect>
- size=4 align=4
- base size=4 base align=4
-QList<QRect> (0xb259c080) 0
-Class QList<Q3DockWindow*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<Q3DockWindow*>::<anonymous union> (0xb259c7c0) 0
-Class QList<Q3DockWindow*>
- size=4 align=4
- base size=4 base align=4
-QList<Q3DockWindow*> (0xb259c580) 0
Vtable for Q3DockAreaLayout
Q3DockAreaLayout::_ZTV16Q3DockAreaLayout: 48u entries
@@ -21962,10 +20322,6 @@ Q3DockAreaLayout (0xb259cf00) 0
QLayoutItem (0xb259cfc0) 8
vptr=((& Q3DockAreaLayout::_ZTV16Q3DockAreaLayout) + 128u)
-Class QPointer<Q3DockArea>
- size=4 align=4
- base size=4 base align=4
-QPointer<Q3DockArea> (0xb248b0c0) 0
Class Q3DockArea::DockWindowData
size=24 align=4
@@ -23159,21 +21515,8 @@ Q3PointArray (0xb239e0c0) 0
QPolygon (0xb239e100) 0
QVector<QPoint> (0xb239e140) 0
-Class QLinkedList<Q3CanvasItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QLinkedList<Q3CanvasItem*>::<anonymous union> (0xb239e280) 0
-Class QLinkedList<Q3CanvasItem*>
- size=4 align=4
- base size=4 base align=4
-QLinkedList<Q3CanvasItem*> (0xb239e200) 0
-Class Q3ValueList<Q3CanvasItem*>
- size=4 align=4
- base size=4 base align=4
-Q3ValueList<Q3CanvasItem*> (0xb239e2c0) 0
- QLinkedList<Q3CanvasItem*> (0xb239e300) 0
Class Q3CanvasItemList
size=4 align=4
@@ -24017,21 +22360,8 @@ Class Q3SqlFieldInfo
Q3SqlFieldInfo (0xb228f280) 0
vptr=((& Q3SqlFieldInfo::_ZTV14Q3SqlFieldInfo) + 8u)
-Class QLinkedList<Q3SqlFieldInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QLinkedList<Q3SqlFieldInfo>::<anonymous union> (0xb228f400) 0
-Class QLinkedList<Q3SqlFieldInfo>
- size=4 align=4
- base size=4 base align=4
-QLinkedList<Q3SqlFieldInfo> (0xb228f380) 0
-Class Q3ValueList<Q3SqlFieldInfo>
- size=4 align=4
- base size=4 base align=4
-Q3ValueList<Q3SqlFieldInfo> (0xb228f440) 0
- QLinkedList<Q3SqlFieldInfo> (0xb228f480) 0
Class Q3SqlRecordInfo
size=4 align=4
@@ -24040,31 +22370,10 @@ Q3SqlRecordInfo (0xb228f500) 0
Q3ValueList<Q3SqlFieldInfo> (0xb228f540) 0
QLinkedList<Q3SqlFieldInfo> (0xb228f580) 0
-Class QList<Q3SqlFieldInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<Q3SqlFieldInfo>::<anonymous union> (0xb228f680) 0
-Class QList<Q3SqlFieldInfo>
- size=4 align=4
- base size=4 base align=4
-QList<Q3SqlFieldInfo> (0xb228f600) 0
-Class QLinkedList<Q3SqlFieldInfo>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QLinkedList<Q3SqlFieldInfo>::const_iterator (0xb228f740) 0
-Class Q3ValueListConstIterator<Q3SqlFieldInfo>
- size=4 align=4
- base size=4 base align=4
-Q3ValueListConstIterator<Q3SqlFieldInfo> (0xb228f780) 0
- QLinkedList<Q3SqlFieldInfo>::const_iterator (0xb228f7c0) 0
-Class QLinkedList<Q3SqlFieldInfo>::iterator
- size=4 align=4
- base size=4 base align=4
-QLinkedList<Q3SqlFieldInfo>::iterator (0xb228f840) 0
Vtable for Q3SqlForm
Q3SqlForm::_ZTV9Q3SqlForm: 26u entries
@@ -24462,243 +22771,51 @@ Q3SqlSelectCursor (0xb228fdc0) 0
QSqlRecord (0xb228fe40) 4
QSqlQuery (0xb228fe80) 8
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0xb228ff40) 0
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0xb228ffc0) 0
-Class QVectorTypedData<QPoint>
- size=24 align=4
- base size=24 base align=4
-QVectorTypedData<QPoint> (0xb228f240) 0
-Class QVectorTypedData<QPointF>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QPointF> (0xb228f700) 0
-Class QVectorTypedData<QPainterPath::Element>
- size=36 align=4
- base size=36 base align=4
-QVectorTypedData<QPainterPath::Element> (0xb228f900) 0
-Class QVectorTypedData<QTextLength>
- size=28 align=4
- base size=28 base align=4
-QVectorTypedData<QTextLength> (0xb228fec0) 0
-Class QVectorTypedData<QTextLayout::FormatRange>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QTextLayout::FormatRange> (0xb1f19040) 0
-Class QVectorTypedData<QAbstractTextDocumentLayout::Selection>
- size=28 align=4
- base size=28 base align=4
-QVectorTypedData<QAbstractTextDocumentLayout::Selection> (0xb1f190c0) 0
-Class QList<QTreeWidgetItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::Node (0xb1f192c0) 0
-Class QVectorTypedData<QVector<QWidgetItemData> >
- size=20 align=4
- base size=20 base align=4
-QVectorTypedData<QVector<QWidgetItemData> > (0xb1f19340) 0
-Class QList<QAction*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QAction*>::Node (0xb1f193c0) 0
-Class QVectorTypedData<QLineF>
- size=48 align=4
- base size=48 base align=4
-QVectorTypedData<QLineF> (0xb1f19540) 0
-Class QVectorTypedData<QLine>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QLine> (0xb1f195c0) 0
-Class QVectorTypedData<QRectF>
- size=48 align=4
- base size=48 base align=4
-QVectorTypedData<QRectF> (0xb1f19640) 0
-Class QVectorTypedData<QRect>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QRect> (0xb1f196c0) 0
-Class QLinkedListNode<Q3SqlFieldInfo>
- size=52 align=4
- base size=52 base align=4
-QLinkedListNode<Q3SqlFieldInfo> (0xb1f197c0) 0
-Class QMetaTypeId2<QSet<QAccessible::Method> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSet<QAccessible::Method> > (0xb1f19880) 0 empty
-Class QHashNode<QAccessible::Method, QHashDummyValue>
- size=16 align=4
- base size=13 base align=4
-QHashNode<QAccessible::Method, QHashDummyValue> (0xb1f19900) 0
-Class QTypeInfo<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLength> (0xb1f19980) 0 empty
-Class QTypeInfo<QTextLayout::FormatRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLayout::FormatRange> (0xb1f19a40) 0 empty
-Class QTypeInfo<QAbstractTextDocumentLayout::Selection>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAbstractTextDocumentLayout::Selection> (0xb1f19b40) 0 empty
-Class QHashNode<QVariant::Type, QItemEditorCreatorBase*>
- size=16 align=4
- base size=16 base align=4
-QHashNode<QVariant::Type, QItemEditorCreatorBase*> (0xb1f19c00) 0
-Class QTypeInfo<QStandardItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QStandardItem*> (0xb1f19c80) 0 empty
-Class QTypeInfo<QTreeWidgetItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTreeWidgetItem*> (0xb1f19d00) 0 empty
-Class QTypeInfo<QAction*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAction*> (0xb1f19d80) 0 empty
-Class QList<QSslError>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QSslError>::<anonymous union> (0xb1f19e80) 0
-Class QList<QSslError>
- size=4 align=4
- base size=4 base align=4
-QList<QSslError> (0xb1f19e00) 0
-Class QTypeInfo<Q3TextEditOptimPrivate::Tag*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<Q3TextEditOptimPrivate::Tag*> (0xb1f19f80) 0 empty
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0xb1f19740) 0
-Class QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union> (0xb1f198c0) 0
-Class QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union> (0xb1f19bc0) 0
-Class QList<QVariant>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::Node (0xb1f19fc0) 0
-Class QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union> (0xb1a9b080) 0
-Class QTypeInfo<QStyleOptionQ3ListViewItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QStyleOptionQ3ListViewItem> (0xb1a9b140) 0 empty
-Class QList<QStyleOptionQ3ListViewItem>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::Node (0xb1a9b1c0) 0
-Class QList<QItemSelectionRange>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::Node (0xb1a9b280) 0
-Class QList<QStandardItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QStandardItem*>::Node (0xb1a9b340) 0
-Class QTypeInfo<QGraphicsItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QGraphicsItem*> (0xb1a9b3c0) 0 empty
-Class QList<QGraphicsItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QGraphicsItem*>::Node (0xb1a9b440) 0
-Class QMap<Key, T>::detach_helper() [with Key = int, T = Q3TextEditOptimPrivate::Tag*]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<Key, T>::detach_helper() [with Key = int, T = Q3TextEditOptimPrivate::Tag*]::<anonymous union> (0xb1a9b540) 0
-Class QList<QRect>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QRect>::Node (0xb1a9b5c0) 0
-Class QTypeInfo<Q3DockWindow*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<Q3DockWindow*> (0xb1a9b680) 0 empty
-Class QList<Q3DockWindow*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<Q3DockWindow*>::Node (0xb1a9b700) 0
-Class QHashDummyNode<QAccessible::Method, QHashDummyValue>
- size=12 align=4
- base size=12 base align=4
-QHashDummyNode<QAccessible::Method, QHashDummyValue> (0xb1a9b7c0) 0
-Class QLinkedList<T>::detach_helper() [with T = Q3SqlFieldInfo]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QLinkedList<T>::detach_helper() [with T = Q3SqlFieldInfo]::<anonymous union> (0xb1a9b840) 0
-Class QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union> (0xb1a9b8c0) 0
-Class QTypeInfo<QSslError>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSslError> (0xb1a9ba00) 0 empty
-Class QList<QSslError>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QSslError>::Node (0xb1a9ba80) 0
diff --git a/tests/auto/bic/data/Qt3Support.4.3.1.linux-gcc-ia32.txt b/tests/auto/bic/data/Qt3Support.4.3.1.linux-gcc-ia32.txt
index 2b26b9b..b6d0c9d 100644
--- a/tests/auto/bic/data/Qt3Support.4.3.1.linux-gcc-ia32.txt
+++ b/tests/auto/bic/data/Qt3Support.4.3.1.linux-gcc-ia32.txt
@@ -1,34 +1,8 @@
-Class QUintForSize<4>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<4> (0xb7f7bd80) 0 empty
-Class QUintForSize<8>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<8> (0xb7f7bdc0) 0 empty
-Class QUintForType<void*>
- size=1 align=1
- base size=1 base align=1
-QUintForType<void*> (0xb7f7be80) 0 empty
- QUintForSize<4> (0xb7f7bec0) 0 empty
-Class QIntForSize<4>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<4> (0xb7f7bf40) 0 empty
-Class QIntForSize<8>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<8> (0xb7f7bf80) 0 empty
-Class QIntForType<void*>
- size=1 align=1
- base size=1 base align=1
-QIntForType<void*> (0xb74a4040) 0 empty
- QIntForSize<4> (0xb74a4080) 0 empty
Class QSysInfo
size=1 align=1
@@ -50,80 +24,20 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0xb74a4340) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0xb74a4400) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0xb74a4440) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0xb74a4480) 0 empty
-Class QTypeInfo<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned char> (0xb74a44c0) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0xb74a4500) 0 empty
-Class QTypeInfo<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short unsigned int> (0xb74a4540) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0xb74a4580) 0 empty
-Class QTypeInfo<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned int> (0xb74a45c0) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0xb74a4600) 0 empty
-Class QTypeInfo<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long unsigned int> (0xb74a4640) 0 empty
-Class QTypeInfo<long long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long int> (0xb74a4680) 0 empty
-Class QTypeInfo<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long unsigned int> (0xb74a46c0) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0xb74a4700) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0xb74a4740) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0xb74a4780) 0 empty
Class QFlag
size=4 align=4
@@ -161,10 +75,6 @@ Class QByteRef
base size=8 base align=4
QByteRef (0xb74a4bc0) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0xb74a4c00) 0 empty
Vtable for std::exception
std::exception::_ZTVSt9exception: 5u entries
@@ -227,70 +137,18 @@ Class QListData
base size=4 base align=4
QListData (0xb74a4f00) 0
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0xb5a0a100) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0xb5a0a140) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0xb5a0a180) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0xb5a0a1c0) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0xb5a0a200) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0xb5a0a240) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0xb5a0a280) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0xb5a0a2c0) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0xb5a0a300) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0xb5a0a340) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0xb5a0a380) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0xb5a0a3c0) 0
-Class QFlags<Qt::TextInteractionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::TextInteractionFlag> (0xb5a0a400) 0
Class QInternal
size=1 align=1
@@ -308,10 +166,6 @@ Class QGenericReturnArgument
QGenericReturnArgument (0xb5a0a500) 0
QGenericArgument (0xb5a0a540) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0xb5a0a700) 0
Class QMetaObject
size=16 align=4
@@ -328,10 +182,6 @@ Class QChar
base size=2 base align=2
QChar (0xb5a0a7c0) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0xb5a0a840) 0 empty
Class QString::Null
size=1 align=1
@@ -348,10 +198,6 @@ Class QString
base size=4 base align=4
QString (0xb5a0a880) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0xb5a0aa80) 0
Class QLatin1String
size=4 align=4
@@ -369,25 +215,13 @@ Class QConstString
QConstString (0xb5a0ab40) 0
QString (0xb5a0ab80) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0xb5a0abc0) 0 empty
Class QStringRef
size=12 align=4
base size=12 base align=4
QStringRef (0xb5a0ac00) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0xb5a0ad40) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0xb5a0acc0) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -479,10 +313,6 @@ QIODevice (0xb5a0af80) 0
QObject (0xb5a0afc0) 0
primary-for QIODevice (0xb5a0af80)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0xb5a0a000) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -502,275 +332,59 @@ Class QMetaType
base size=0 base align=1
QMetaType (0xb5a0aa00) 0 empty
-Class QMetaTypeId2<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QString> (0xb55ec000) 0 empty
-Class QMetaTypeId2<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<int> (0xb55ec040) 0 empty
-Class QMetaTypeId2<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned int> (0xb55ec080) 0 empty
-Class QMetaTypeId2<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<bool> (0xb55ec0c0) 0 empty
-Class QMetaTypeId2<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<double> (0xb55ec100) 0 empty
-Class QMetaTypeId2<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QByteArray> (0xb55ec140) 0 empty
-Class QMetaTypeId2<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QChar> (0xb55ec180) 0 empty
-Class QMetaTypeId2<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long int> (0xb55ec1c0) 0 empty
-Class QMetaTypeId2<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short int> (0xb55ec200) 0 empty
-Class QMetaTypeId2<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<char> (0xb55ec240) 0 empty
-Class QMetaTypeId2<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long unsigned int> (0xb55ec280) 0 empty
-Class QMetaTypeId2<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short unsigned int> (0xb55ec2c0) 0 empty
-Class QMetaTypeId2<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned char> (0xb55ec300) 0 empty
-Class QMetaTypeId2<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<float> (0xb55ec340) 0 empty
-Class QMetaTypeId2<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QObject*> (0xb55ec380) 0 empty
-Class QMetaTypeId2<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QWidget*> (0xb55ec3c0) 0 empty
-Class QMetaTypeId2<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<void*> (0xb55ec400) 0 empty
-Class QMetaTypeId2<long long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long int> (0xb55ec440) 0 empty
-Class QMetaTypeId2<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long unsigned int> (0xb55ec480) 0 empty
-Class QMetaTypeId2<QStringList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QStringList> (0xb55ec4c0) 0 empty
-Class QMetaTypeId2<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitArray> (0xb55ec500) 0 empty
-Class QMetaTypeId2<QDate>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDate> (0xb55ec540) 0 empty
-Class QMetaTypeId2<QTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTime> (0xb55ec580) 0 empty
-Class QMetaTypeId2<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDateTime> (0xb55ec5c0) 0 empty
-Class QMetaTypeId2<QUrl>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QUrl> (0xb55ec600) 0 empty
-Class QMetaTypeId2<QLocale>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLocale> (0xb55ec640) 0 empty
-Class QMetaTypeId2<QRect>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRect> (0xb55ec680) 0 empty
-Class QMetaTypeId2<QRectF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRectF> (0xb55ec6c0) 0 empty
-Class QMetaTypeId2<QSize>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSize> (0xb55ec700) 0 empty
-Class QMetaTypeId2<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizeF> (0xb55ec740) 0 empty
-Class QMetaTypeId2<QLine>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLine> (0xb55ec780) 0 empty
-Class QMetaTypeId2<QLineF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLineF> (0xb55ec7c0) 0 empty
-Class QMetaTypeId2<QPoint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPoint> (0xb55ec800) 0 empty
-Class QMetaTypeId2<QPointF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPointF> (0xb55ec840) 0 empty
-Class QMetaTypeId2<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegExp> (0xb55ec880) 0 empty
-Class QMetaTypeId2<QColorGroup>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColorGroup> (0xb55ec8c0) 0 empty
-Class QMetaTypeId2<QFont>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QFont> (0xb55ec900) 0 empty
-Class QMetaTypeId2<QPixmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPixmap> (0xb55ec940) 0 empty
-Class QMetaTypeId2<QBrush>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBrush> (0xb55ec980) 0 empty
-Class QMetaTypeId2<QColor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColor> (0xb55ec9c0) 0 empty
-Class QMetaTypeId2<QPalette>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPalette> (0xb55eca00) 0 empty
-Class QMetaTypeId2<QIcon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QIcon> (0xb55eca40) 0 empty
-Class QMetaTypeId2<QImage>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QImage> (0xb55eca80) 0 empty
-Class QMetaTypeId2<QPolygon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPolygon> (0xb55ecac0) 0 empty
-Class QMetaTypeId2<QRegion>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegion> (0xb55ecb00) 0 empty
-Class QMetaTypeId2<QBitmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitmap> (0xb55ecb40) 0 empty
-Class QMetaTypeId2<QCursor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QCursor> (0xb55ecb80) 0 empty
-Class QMetaTypeId2<QSizePolicy>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizePolicy> (0xb55ecbc0) 0 empty
-Class QMetaTypeId2<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QKeySequence> (0xb55ecc00) 0 empty
-Class QMetaTypeId2<QPen>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPen> (0xb55ecc40) 0 empty
-Class QMetaTypeId2<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextLength> (0xb55ecc80) 0 empty
-Class QMetaTypeId2<QTextFormat>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextFormat> (0xb55eccc0) 0 empty
-Class QMetaTypeId2<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMatrix> (0xb55ecd00) 0 empty
-Class QMetaTypeId2<QTransform>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTransform> (0xb55ecd40) 0 empty
Class QMapData::Node
size=8 align=4
@@ -807,45 +421,17 @@ Class QVariant
base size=12 base align=4
QVariant (0xb562d200) 0
-Class QMetaTypeId2<QList<QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QList<QVariant> > (0xb562d480) 0 empty
-Class QMetaTypeId2<QMap<QString, QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMap<QString, QVariant> > (0xb562d4c0) 0 empty
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0xb562d5c0) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0xb562d540) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0xb562d6c0) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0xb562d640) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0xb562d740) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0xb562d7c0) 0 empty
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -972,10 +558,6 @@ QEventLoop (0xb562dc40) 0
QObject (0xb562dc80) 0
primary-for QEventLoop (0xb562dc40)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0xb562dd80) 0
Vtable for QCoreApplication
QCoreApplication::_ZTV16QCoreApplication: 16u entries
@@ -1009,10 +591,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0xb562df40) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0xb562df80) 0 empty
Vtable for QTimer
QTimer::_ZTV6QTimer: 14u entries
@@ -1069,20 +647,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0xb562d440) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0xb562d340) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0xb562d400) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0xb562d840) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -1277,20 +847,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0xb542a080) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0xb542a0c0) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0xb542a100) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0xb542a140) 0 empty
Class QMetaProperty
size=20 align=4
@@ -1302,10 +864,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0xb542a1c0) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0xb542a200) 0 empty
Vtable for QSocketNotifier
QSocketNotifier::_ZTV15QSocketNotifier: 14u entries
@@ -1408,100 +966,48 @@ Class QSize
base size=8 base align=4
QSize (0xb542a500) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0xb542a700) 0 empty
Class QSizeF
size=16 align=4
base size=16 base align=4
QSizeF (0xb542a780) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0xb542a980) 0 empty
Class QPoint
size=8 align=4
base size=8 base align=4
QPoint (0xb542aa40) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0xb542ac80) 0 empty
Class QPointF
size=16 align=4
base size=16 base align=4
QPointF (0xb542acc0) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0xb542af00) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0xb542af40) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0xb542a040) 0 empty
Class QRectF
size=32 align=4
base size=32 base align=4
QRectF (0xb542a2c0) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0xb542a380) 0 empty
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0xb542a540) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0xb542a580) 0
Class wait
size=4 align=4
base size=4 base align=4
wait (0xb542a440) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb542a5c0) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb542a600) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb542a640) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb542a680) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb542a6c0) 0
Class timespec
size=8 align=4
@@ -1513,80 +1019,24 @@ Class timeval
base size=8 base align=4
timeval (0xb542a800) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb542a840) 0
-Class <anonymous union>
- size=36 align=4
- base size=36 base align=4
-<anonymous union> (0xb542a880) 0
Class __pthread_internal_slist
size=4 align=4
base size=4 base align=4
__pthread_internal_slist (0xb542a8c0) 0
-Class <anonymous union>::__pthread_mutex_s::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union>::__pthread_mutex_s::<anonymous union> (0xb542aa80) 0
-Class <anonymous union>::__pthread_mutex_s
- size=24 align=4
- base size=24 base align=4
-<anonymous union>::__pthread_mutex_s (0xb542a940) 0
-Class <anonymous union>
- size=24 align=4
- base size=24 base align=4
-<anonymous union> (0xb542a900) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb542aac0) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0xb542ab40) 0
-Class <anonymous union>
- size=48 align=4
- base size=48 base align=4
-<anonymous union> (0xb542ab00) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb542ab80) 0
-Class <anonymous union>::<anonymous struct>
- size=32 align=4
- base size=32 base align=4
-<anonymous union>::<anonymous struct> (0xb542ac00) 0
-Class <anonymous union>
- size=32 align=4
- base size=32 base align=4
-<anonymous union> (0xb542abc0) 0
-Class <anonymous union>
- size=8 align=4
- base size=8 base align=4
-<anonymous union> (0xb542ac40) 0
-Class <anonymous union>
- size=20 align=4
- base size=20 base align=4
-<anonymous union> (0xb542ad00) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb542ad40) 0
Class random_data
size=28 align=4
@@ -1618,35 +1068,19 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0xb524a1c0) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0xb524a200) 0 empty
Class QRegExp
size=4 align=4
base size=4 base align=4
QRegExp (0xb524a980) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0xb524a9c0) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0xb524aa00) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0xb524aac0) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0xb524aa40) 0
Class QStringList
size=4 align=4
@@ -1654,15 +1088,7 @@ Class QStringList
QStringList (0xb524ab00) 0
QList<QString> (0xb524ab40) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0xb524abc0) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0xb524ac00) 0
Vtable for QTimeLine
QTimeLine::_ZTV9QTimeLine: 15u entries
@@ -1695,15 +1121,7 @@ Class QLocale
base size=4 base align=4
QLocale (0xb524ae00) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0xb524ae40) 0 empty
-Class QFlags<QLocale::NumberOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLocale::NumberOption> (0xb524ae80) 0
Vtable for QSystemLocale
QSystemLocale::_ZTV13QSystemLocale: 6u entries
@@ -1730,10 +1148,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0xb5027000) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0xb5027040) 0 empty
Class QCryptographicHash
size=4 align=4
@@ -1750,20 +1164,12 @@ Class QLine
base size=16 base align=4
QLine (0xb5027480) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0xb50274c0) 0 empty
Class QLineF
size=32 align=4
base size=32 base align=4
QLineF (0xb5027500) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0xb5027540) 0 empty
Class QSharedData
size=4 align=4
@@ -1775,30 +1181,18 @@ Class QDate
base size=4 base align=4
QDate (0xb50276c0) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0xb5027780) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0xb50277c0) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0xb5027880) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0xb50278c0) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0xb5027980) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -1810,20 +1204,12 @@ Class QReadWriteLock
base size=4 base align=4
QReadWriteLock (0xb5027a00) 0
-Class QReadLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QReadLocker::<anonymous union> (0xb5027a80) 0
Class QReadLocker
size=4 align=4
base size=4 base align=4
QReadLocker (0xb5027a40) 0
-Class QWriteLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QWriteLocker::<anonymous union> (0xb5027b00) 0
Class QWriteLocker
size=4 align=4
@@ -1876,20 +1262,12 @@ Class QMutex
base size=4 base align=4
QMutex (0xb5027d40) 0
-Class QMutexLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMutexLocker::<anonymous union> (0xb5027dc0) 0
Class QMutexLocker
size=4 align=4
base size=4 base align=4
QMutexLocker (0xb5027d80) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0xb5027ec0) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -1914,15 +1292,7 @@ Class QTextCodec
QTextCodec (0xb5027e00) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0xb50273c0) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0xb5027f80) 0
Class QTextEncoder
size=32 align=4
@@ -1934,25 +1304,9 @@ Class QTextDecoder
base size=32 base align=4
QTextDecoder (0xb5027740) 0
-Class <anonymous struct>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct>::<anonymous union> (0xb5027840) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb5027800) 0
-Class <anonymous struct>
- size=12 align=4
- base size=12 base align=4
-<anonymous struct> (0xb5027900) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb5027940) 0
Class __gconv_trans_data
size=20 align=4
@@ -1974,15 +1328,7 @@ Class __gconv_info
base size=8 base align=4
__gconv_info (0xb4e16000) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0xb4e16080) 0
-Class <anonymous union>
- size=44 align=4
- base size=44 base align=4
-<anonymous union> (0xb4e16040) 0
Class _IO_marker
size=12 align=4
@@ -1994,10 +1340,6 @@ Class _IO_FILE
base size=148 base align=4
_IO_FILE (0xb4e16100) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb4e16140) 0
Vtable for QTextStream
QTextStream::_ZTV11QTextStream: 4u entries
@@ -2012,10 +1354,6 @@ Class QTextStream
QTextStream (0xb4e16180) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0xb4e16240) 0
Class QTextStreamManipulator
size=24 align=4
@@ -2131,35 +1469,15 @@ QFile (0xb4e16680) 0
QObject (0xb4e16700) 0
primary-for QIODevice (0xb4e166c0)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0xb4e16780) 0
Class QFileInfo
size=4 align=4
base size=4 base align=4
QFileInfo (0xb4e167c0) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0xb4e16800) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0xb4e16840) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0xb4e16900) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0xb4e16880) 0
Vtable for QTemporaryFile
QTemporaryFile::_ZTV14QTemporaryFile: 31u entries
@@ -2212,15 +1530,7 @@ Class QDir
base size=4 base align=4
QDir (0xb4e16a80) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0xb4e16b00) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0xb4e16b80) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -2277,10 +1587,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0xb4e16bc0) 0
vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0xb4e16d40) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -2409,15 +1715,7 @@ Class QUrl
base size=4 base align=4
QUrl (0xb4e16200) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0xb4e16480) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0xb4e16580) 0 empty
Vtable for QDirIterator
QDirIterator::_ZTV12QDirIterator: 4u entries
@@ -2432,10 +1730,6 @@ Class QDirIterator
QDirIterator (0xb4e16640) 0
vptr=((& QDirIterator::_ZTV12QDirIterator) + 8u)
-Class QFlags<QDirIterator::IteratorFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDirIterator::IteratorFlag> (0xb4e16a40) 0
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -2541,10 +1835,6 @@ QLibrary (0xb4a89140) 0
QObject (0xb4a89180) 0
primary-for QLibrary (0xb4a89140)
-Class QFlags<QLibrary::LoadHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLibrary::LoadHint> (0xb4a89200) 0
Vtable for QPluginLoader
QPluginLoader::_ZTV13QPluginLoader: 14u entries
@@ -2674,10 +1964,6 @@ Class QSizePolicy
base size=4 base align=4
QSizePolicy (0xb4a89740) 0
-Class QFlags<QSizePolicy::ControlType>
- size=4 align=4
- base size=4 base align=4
-QFlags<QSizePolicy::ControlType> (0xb4a89840) 0
Vtable for QLayoutItem
QLayoutItem::_ZTV11QLayoutItem: 18u entries
@@ -3103,40 +2389,16 @@ Class QPaintDevice
QPaintDevice (0xb4a89480) 0
vptr=((& QPaintDevice::_ZTV12QPaintDevice) + 8u)
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0xb4a89800) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0xb4a898c0) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0xb4a89980) 0
-Class QColor::<anonymous union>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union> (0xb4a897c0) 0
Class QColor
size=16 align=4
base size=14 base align=4
QColor (0xb4a89700) 0
-Class QVector<QPoint>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint>::<anonymous union> (0xb4a89cc0) 0
-Class QVector<QPoint>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint> (0xb4a89a40) 0
Class QPolygon
size=4 align=4
@@ -3144,15 +2406,7 @@ Class QPolygon
QPolygon (0xb4a89e00) 0
QVector<QPoint> (0xb4a89f80) 0
-Class QVector<QPointF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF>::<anonymous union> (0xb4a4a080) 0
-Class QVector<QPointF>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF> (0xb4a4a000) 0
Class QPolygonF
size=4 align=4
@@ -3175,10 +2429,6 @@ Class QMatrix
base size=48 base align=4
QMatrix (0xb4a4a2c0) 0
-Class QTypeInfo<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMatrix> (0xb4a4a300) 0 empty
Class QPainterPath::Element
size=20 align=4
@@ -3190,25 +2440,13 @@ Class QPainterPath
base size=4 base align=4
QPainterPath (0xb4a4a340) 0
-Class QVector<QPainterPath::Element>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element>::<anonymous union> (0xb4a4a5c0) 0
-Class QVector<QPainterPath::Element>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element> (0xb4a4a540) 0
Class QPainterPathPrivate
size=8 align=4
base size=8 base align=4
QPainterPathPrivate (0xb4a4a440) 0
-Class QTypeInfo<QPainterPath::Element>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPainterPath::Element> (0xb4a4a600) 0 empty
Class QPainterPathStroker
size=4 align=4
@@ -3220,10 +2458,6 @@ Class QTransform
base size=80 base align=4
QTransform (0xb4a4a700) 0
-Class QTypeInfo<QTransform>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTransform> (0xb4a4a740) 0 empty
Class QImageTextKeyLang
size=8 align=4
@@ -3248,10 +2482,6 @@ QImage (0xb4a4a800) 0
QPaintDevice (0xb4a4a840) 0
primary-for QImage (0xb4a4a800)
-Class QTypeInfo<QImage>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QImage> (0xb4a4a980) 0 empty
Vtable for QPixmap
QPixmap::_ZTV7QPixmap: 7u entries
@@ -3276,45 +2506,17 @@ Class QBrush
base size=4 base align=4
QBrush (0xb4a4ab40) 0
-Class QTypeInfo<QBrush>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBrush> (0xb4a4abc0) 0 empty
Class QBrushData
size=108 align=4
base size=105 base align=4
QBrushData (0xb4a4ac00) 0
-Class QVector<QPair<double, QColor> >::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPair<double, QColor> >::<anonymous union> (0xb4a4ad40) 0
-Class QVector<QPair<double, QColor> >
- size=4 align=4
- base size=4 base align=4
-QVector<QPair<double, QColor> > (0xb4a4acc0) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=32 align=4
- base size=32 base align=4
-QGradient::<anonymous union>::<anonymous struct> (0xb4a4adc0) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=40 align=4
- base size=40 base align=4
-QGradient::<anonymous union>::<anonymous struct> (0xb4a4ae00) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=24 align=4
- base size=24 base align=4
-QGradient::<anonymous union>::<anonymous struct> (0xb4a4ae40) 0
-Class QGradient::<anonymous union>
- size=40 align=4
- base size=40 base align=4
-QGradient::<anonymous union> (0xb4a4ad80) 0
Class QGradient
size=56 align=4
@@ -3380,10 +2582,6 @@ Class QKeySequence
base size=4 base align=4
QKeySequence (0xb4a4aa80) 0
-Class QTypeInfo<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QKeySequence> (0xb4a4aac0) 0 empty
Class QWidgetData
size=64 align=4
@@ -3466,10 +2664,6 @@ QWidget (0xb4a4ac80) 0
QPaintDevice (0xb4697040) 8
vptr=((& QWidget::_ZTV7QWidget) + 232u)
-Class QFlags<QWidget::RenderFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QWidget::RenderFlag> (0xb4697240) 0
Class QToolTip
size=1 align=1
@@ -3558,10 +2752,6 @@ Class QIcon
base size=4 base align=4
QIcon (0xb46974c0) 0
-Class QTypeInfo<QIcon>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QIcon> (0xb4697580) 0 empty
Vtable for QAction
QAction::_ZTV7QAction: 14u entries
@@ -3613,15 +2803,7 @@ QActionGroup (0xb46976c0) 0
QObject (0xb4697700) 0
primary-for QActionGroup (0xb46976c0)
-Class QList<QAction*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QAction*>::<anonymous union> (0xb4697840) 0
-Class QList<QAction*>
- size=4 align=4
- base size=4 base align=4
-QList<QAction*> (0xb46977c0) 0
Vtable for QShortcut
QShortcut::_ZTV9QShortcut: 14u entries
@@ -3961,15 +3143,7 @@ Class QInputMethodEvent::Attribute
base size=24 base align=4
QInputMethodEvent::Attribute (0xb46631c0) 0
-Class QList<QInputMethodEvent::Attribute>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute>::<anonymous union> (0xb46632c0) 0
-Class QList<QInputMethodEvent::Attribute>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute> (0xb4663240) 0
Vtable for QInputMethodEvent
QInputMethodEvent::_ZTV17QInputMethodEvent: 4u entries
@@ -4663,10 +3837,6 @@ QAbstractPrintDialog (0xb4515100) 0
QPaintDevice (0xb4515200) 8
vptr=((& QAbstractPrintDialog::_ZTV20QAbstractPrintDialog) + 248u)
-Class QFlags<QAbstractPrintDialog::PrintDialogOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractPrintDialog::PrintDialogOption> (0xb45152c0) 0
Vtable for QPrintDialog
QPrintDialog::_ZTV12QPrintDialog: 67u entries
@@ -4837,10 +4007,6 @@ QMessageBox (0xb45154c0) 0
QPaintDevice (0xb45155c0) 8
vptr=((& QMessageBox::_ZTV11QMessageBox) + 244u)
-Class QFlags<QMessageBox::StandardButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<QMessageBox::StandardButton> (0xb4515680) 0
Vtable for QProgressDialog
QProgressDialog::_ZTV15QProgressDialog: 66u entries
@@ -5091,10 +4257,6 @@ QFileDialog (0xb45159c0) 0
QPaintDevice (0xb4515ac0) 8
vptr=((& QFileDialog::_ZTV11QFileDialog) + 244u)
-Class QFlags<QFileDialog::Option>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileDialog::Option> (0xb4515b80) 0
Vtable for QErrorMessage
QErrorMessage::_ZTV13QErrorMessage: 66u entries
@@ -5505,10 +4667,6 @@ QWizard (0xb4515800) 0
QPaintDevice (0xb4515e40) 8
vptr=((& QWizard::_ZTV7QWizard) + 260u)
-Class QFlags<QWizard::WizardOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QWizard::WizardOption> (0xb4515f80) 0
Vtable for QWizardPage
QWizardPage::_ZTV11QWizardPage: 68u entries
@@ -5850,10 +5008,6 @@ Class QItemSelectionRange
base size=8 base align=4
QItemSelectionRange (0xb427e600) 0
-Class QTypeInfo<QItemSelectionRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QItemSelectionRange> (0xb427e680) 0 empty
Vtable for QItemSelectionModel
QItemSelectionModel::_ZTV19QItemSelectionModel: 18u entries
@@ -5884,20 +5038,8 @@ QItemSelectionModel (0xb427e6c0) 0
QObject (0xb427e700) 0
primary-for QItemSelectionModel (0xb427e6c0)
-Class QFlags<QItemSelectionModel::SelectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QItemSelectionModel::SelectionFlag> (0xb427e780) 0
-Class QList<QItemSelectionRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::<anonymous union> (0xb427e840) 0
-Class QList<QItemSelectionRange>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange> (0xb427e7c0) 0
Class QItemSelection
size=4 align=4
@@ -6104,10 +5246,6 @@ QAbstractSpinBox (0xb427ecc0) 0
QPaintDevice (0xb427ed80) 8
vptr=((& QAbstractSpinBox::_ZTV16QAbstractSpinBox) + 252u)
-Class QFlags<QAbstractSpinBox::StepEnabledFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractSpinBox::StepEnabledFlag> (0xb427ee00) 0
Vtable for QAbstractSlider
QAbstractSlider::_ZTV15QAbstractSlider: 64u entries
@@ -6315,15 +5453,7 @@ QStyle (0xb427e5c0) 0
QObject (0xb427e740) 0
primary-for QStyle (0xb427e5c0)
-Class QFlags<QStyle::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::StateFlag> (0xb427ea80) 0
-Class QFlags<QStyle::SubControl>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::SubControl> (0xb427eb80) 0
Vtable for QTabBar
QTabBar::_ZTV7QTabBar: 67u entries
@@ -6582,10 +5712,6 @@ Class QStyleOptionFrame
QStyleOptionFrame (0xb420a440) 0
QStyleOption (0xb420a480) 0
-Class QFlags<QStyleOptionFrameV2::FrameFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionFrameV2::FrameFeature> (0xb420a600) 0
Class QStyleOptionFrameV2
size=56 align=4
@@ -6612,10 +5738,6 @@ Class QStyleOptionHeader
QStyleOptionHeader (0xb420a880) 0
QStyleOption (0xb420a8c0) 0
-Class QFlags<QStyleOptionButton::ButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionButton::ButtonFeature> (0xb420aa40) 0
Class QStyleOptionButton
size=64 align=4
@@ -6623,10 +5745,6 @@ Class QStyleOptionButton
QStyleOptionButton (0xb420a980) 0
QStyleOption (0xb420a9c0) 0
-Class QFlags<QStyleOptionTab::CornerWidget>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionTab::CornerWidget> (0xb420abc0) 0
Class QStyleOptionTab
size=72 align=4
@@ -6641,10 +5759,6 @@ QStyleOptionTabV2 (0xb420ac40) 0
QStyleOptionTab (0xb420ac80) 0
QStyleOption (0xb420acc0) 0
-Class QFlags<QStyleOptionToolBar::ToolBarFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionToolBar::ToolBarFeature> (0xb420ae40) 0
Class QStyleOptionToolBar
size=68 align=4
@@ -6671,10 +5785,6 @@ Class QStyleOptionMenuItem
QStyleOptionMenuItem (0xb420a300) 0
QStyleOption (0xb420a400) 0
-Class QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature> (0xb420a780) 0
Class QStyleOptionQ3ListViewItem
size=64 align=4
@@ -6707,10 +5817,6 @@ Class QStyleOptionViewItem
QStyleOptionViewItem (0xb411e000) 0
QStyleOption (0xb411e040) 0
-Class QFlags<QStyleOptionViewItemV2::ViewItemFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionViewItemV2::ViewItemFeature> (0xb411e1c0) 0
Class QStyleOptionViewItemV2
size=84 align=4
@@ -6766,15 +5872,7 @@ QStyleOptionSpinBox (0xb411e8c0) 0
QStyleOptionComplex (0xb411e900) 0
QStyleOption (0xb411e940) 0
-Class QList<QStyleOptionQ3ListViewItem>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::<anonymous union> (0xb411eb40) 0
-Class QList<QStyleOptionQ3ListViewItem>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem> (0xb411eac0) 0
Class QStyleOptionQ3ListView
size=84 align=4
@@ -6783,10 +5881,6 @@ QStyleOptionQ3ListView (0xb411e9c0) 0
QStyleOptionComplex (0xb411ea00) 0
QStyleOption (0xb411ea40) 0
-Class QFlags<QStyleOptionToolButton::ToolButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionToolButton::ToolButtonFeature> (0xb411ed00) 0
Class QStyleOptionToolButton
size=96 align=4
@@ -7000,10 +6094,6 @@ QAbstractItemView (0xb3fd5080) 0
QPaintDevice (0xb3fd51c0) 8
vptr=((& QAbstractItemView::_ZTV17QAbstractItemView) + 392u)
-Class QFlags<QAbstractItemView::EditTrigger>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractItemView::EditTrigger> (0xb3fd5280) 0
Vtable for QListView
QListView::_ZTV9QListView: 103u entries
@@ -7384,20 +6474,8 @@ Class QAccessible
base size=0 base align=1
QAccessible (0xb3fd5b80) 0 empty
-Class QFlags<QAccessible::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::StateFlag> (0xb3fd5c00) 0
-Class QFlags<QAccessible::RelationFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::RelationFlag> (0xb3fd5c40) 0
-Class QMetaTypeId<QSet<QAccessible::Method> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QSet<QAccessible::Method> > (0xb3fd5c80) 0 empty
Vtable for QAccessibleInterface
QAccessibleInterface::_ZTV20QAccessibleInterface: 19u entries
@@ -7428,20 +6506,8 @@ QAccessibleInterface (0xb3fd5d40) 0 nearly-empty
vptr=((& QAccessibleInterface::_ZTV20QAccessibleInterface) + 8u)
QAccessible (0xb3fd5d80) 0 empty
-Class QHash<QAccessible::Method, QHashDummyValue>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QHash<QAccessible::Method, QHashDummyValue>::<anonymous union> (0xb3fd5f00) 0
-Class QHash<QAccessible::Method, QHashDummyValue>
- size=4 align=4
- base size=4 base align=4
-QHash<QAccessible::Method, QHashDummyValue> (0xb3fd5e80) 0
-Class QSet<QAccessible::Method>
- size=4 align=4
- base size=4 base align=4
-QSet<QAccessible::Method> (0xb3fd5e00) 0
Vtable for QAccessibleInterfaceEx
QAccessibleInterfaceEx::_ZTV22QAccessibleInterfaceEx: 22u entries
@@ -8862,10 +7928,6 @@ QDateEdit (0xb3dcf980) 0
QPaintDevice (0xb3dcfac0) 8
vptr=((& QDateEdit::_ZTV9QDateEdit) + 260u)
-Class QFlags<QDateTimeEdit::Section>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDateTimeEdit::Section> (0xb3dcfb40) 0
Vtable for QButtonGroup
QButtonGroup::_ZTV12QButtonGroup: 14u entries
@@ -8970,10 +8032,6 @@ QDockWidget (0xb3dcfc40) 0
QPaintDevice (0xb3dcfd00) 8
vptr=((& QDockWidget::_ZTV11QDockWidget) + 232u)
-Class QFlags<QDockWidget::DockWidgetFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDockWidget::DockWidgetFeature> (0xb3dcfdc0) 0
Vtable for QMainWindow
QMainWindow::_ZTV11QMainWindow: 64u entries
@@ -9054,10 +8112,6 @@ QMainWindow (0xb3dcfe00) 0
QPaintDevice (0xb3dcfec0) 8
vptr=((& QMainWindow::_ZTV11QMainWindow) + 236u)
-Class QFlags<QMainWindow::DockOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QMainWindow::DockOption> (0xb3dcff40) 0
Vtable for QMenu
QMenu::_ZTV5QMenu: 63u entries
@@ -9867,10 +8921,6 @@ QFontComboBox (0xb3b3d900) 0
QPaintDevice (0xb3b3da00) 8
vptr=((& QFontComboBox::_ZTV13QFontComboBox) + 240u)
-Class QFlags<QFontComboBox::FontFilter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFontComboBox::FontFilter> (0xb3b3da80) 0
Vtable for QToolBox
QToolBox::_ZTV8QToolBox: 65u entries
@@ -10277,10 +9327,6 @@ QMdiArea (0xb3b3d000) 0
QPaintDevice (0xb3b3d700) 8
vptr=((& QMdiArea::_ZTV8QMdiArea) + 240u)
-Class QFlags<QMdiArea::AreaOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QMdiArea::AreaOption> (0xb3b3d880) 0
Vtable for QLabel
QLabel::_ZTV6QLabel: 63u entries
@@ -10597,10 +9643,6 @@ QMdiSubWindow (0xb3aaf300) 0
QPaintDevice (0xb3aaf3c0) 8
vptr=((& QMdiSubWindow::_ZTV13QMdiSubWindow) + 232u)
-Class QFlags<QMdiSubWindow::SubWindowOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QMdiSubWindow::SubWindowOption> (0xb3aaf440) 0
Vtable for QMenuItem
QMenuItem::_ZTV9QMenuItem: 14u entries
@@ -10672,60 +9714,32 @@ QTextDocument (0xb3aaf640) 0
QObject (0xb3aaf680) 0
primary-for QTextDocument (0xb3aaf640)
-Class QFlags<QTextDocument::FindFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextDocument::FindFlag> (0xb3aaf700) 0
Class QTextOption
size=24 align=4
base size=24 base align=4
QTextOption (0xb3aaf740) 0
-Class QFlags<QTextOption::Flag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextOption::Flag> (0xb3aaf780) 0
Class QPen
size=4 align=4
base size=4 base align=4
QPen (0xb3aaf7c0) 0
-Class QTypeInfo<QPen>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPen> (0xb3aaf880) 0 empty
Class QTextLength
size=12 align=4
base size=12 base align=4
QTextLength (0xb3aaf8c0) 0
-Class QSharedDataPointer<QTextFormatPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextFormatPrivate> (0xb3aafa00) 0
Class QTextFormat
size=8 align=4
base size=8 base align=4
QTextFormat (0xb3aaf980) 0
-Class QVector<QTextLength>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength>::<anonymous union> (0xb3aafb80) 0
-Class QVector<QTextLength>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength> (0xb3aafb00) 0
-Class QFlags<QTextFormat::PageBreakFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextFormat::PageBreakFlag> (0xb3aafbc0) 0
Class QTextCharFormat
size=8 align=4
@@ -10765,10 +9779,6 @@ QTextTableFormat (0xb3aafec0) 0
QTextFrameFormat (0xb3aaff00) 0
QTextFormat (0xb3aaff40) 0
-Class QSharedDataPointer<QTextCursorPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextCursorPrivate> (0xb3aaf040) 0
Class QTextCursor
size=4 align=4
@@ -10875,10 +9885,6 @@ QTextFrame (0xb3aaf840) 0
QObject (0xb3aaf940) 0
primary-for QTextObject (0xb3aaf900)
-Class QTypeInfo<QTextFrame::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFrame::iterator> (0xb3aaffc0) 0 empty
Vtable for QTextBlockUserData
QTextBlockUserData::_ZTV18QTextBlockUserData: 4u entries
@@ -10903,25 +9909,13 @@ Class QTextBlock
base size=8 base align=4
QTextBlock (0xb38ba080) 0
-Class QTypeInfo<QTextBlock>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock> (0xb38ba100) 0 empty
-Class QTypeInfo<QTextBlock::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock::iterator> (0xb38ba140) 0 empty
Class QTextFragment
size=12 align=4
base size=12 base align=4
QTextFragment (0xb38ba180) 0
-Class QTypeInfo<QTextFragment>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFragment> (0xb38ba1c0) 0 empty
Class QTextInlineObject
size=8 align=4
@@ -10938,15 +9932,7 @@ Class QTextLayout
base size=4 base align=4
QTextLayout (0xb38ba240) 0
-Class QVector<QTextLayout::FormatRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange>::<anonymous union> (0xb38ba3c0) 0
-Class QVector<QTextLayout::FormatRange>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange> (0xb38ba340) 0
Class QTextLine
size=8 align=4
@@ -11046,10 +10032,6 @@ QTextEdit (0xb38ba440) 0
QPaintDevice (0xb38ba580) 8
vptr=((& QTextEdit::_ZTV9QTextEdit) + 256u)
-Class QFlags<QTextEdit::AutoFormattingFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextEdit::AutoFormattingFlag> (0xb38ba680) 0
Vtable for QLCDNumber
QLCDNumber::_ZTV10QLCDNumber: 63u entries
@@ -11289,10 +10271,6 @@ QDialogButtonBox (0xb38ba9c0) 0
QPaintDevice (0xb38baa80) 8
vptr=((& QDialogButtonBox::_ZTV16QDialogButtonBox) + 232u)
-Class QFlags<QDialogButtonBox::StandardButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDialogButtonBox::StandardButton> (0xb38bab00) 0
Vtable for QCalendarWidget
QCalendarWidget::_ZTV15QCalendarWidget: 64u entries
@@ -11556,15 +10534,7 @@ Class QAbstractTextDocumentLayout::Selection
base size=12 base align=4
QAbstractTextDocumentLayout::Selection (0xb38ba980) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union> (0xb38bafc0) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection> (0xb38bac80) 0
Class QAbstractTextDocumentLayout::PaintContext
size=48 align=4
@@ -11788,20 +10758,8 @@ Class QGraphicsItem
QGraphicsItem (0xb38156c0) 0
vptr=((& QGraphicsItem::_ZTV13QGraphicsItem) + 8u)
-Class QFlags<QGraphicsItem::GraphicsItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGraphicsItem::GraphicsItemFlag> (0xb38157c0) 0
-Class QMetaTypeId<QGraphicsItem*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QGraphicsItem*> (0xb3815800) 0 empty
-Class QMetaTypeId<QGraphicsScene*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QGraphicsScene*> (0xb38158c0) 0 empty
Vtable for QAbstractGraphicsShapeItem
QAbstractGraphicsShapeItem::_ZTV26QAbstractGraphicsShapeItem: 39u entries
@@ -12363,50 +11321,14 @@ Class QPainter
base size=4 base align=4
QPainter (0xb3815780) 0
-Class QFlags<QPainter::RenderHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPainter::RenderHint> (0xb3815a00) 0
-Class QVector<QLineF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF>::<anonymous union> (0xb3815e00) 0
-Class QVector<QLineF>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF> (0xb3815c00) 0
-Class QVector<QLine>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine>::<anonymous union> (0xb35af040) 0
-Class QVector<QLine>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine> (0xb3815f80) 0
-Class QVector<QRectF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF>::<anonymous union> (0xb35af140) 0
-Class QVector<QRectF>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF> (0xb35af0c0) 0
-Class QVector<QRect>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect>::<anonymous union> (0xb35af240) 0
-Class QVector<QRect>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect> (0xb35af1c0) 0
Vtable for QGraphicsScene
QGraphicsScene::_ZTV14QGraphicsScene: 34u entries
@@ -12453,20 +11375,8 @@ QGraphicsScene (0xb35af280) 0
QObject (0xb35af2c0) 0
primary-for QGraphicsScene (0xb35af280)
-Class QFlags<QGraphicsScene::SceneLayer>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGraphicsScene::SceneLayer> (0xb35af3c0) 0
-Class QList<QGraphicsItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QGraphicsItem*>::<anonymous union> (0xb35af480) 0
-Class QList<QGraphicsItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QGraphicsItem*> (0xb35af400) 0
Vtable for QGraphicsView
QGraphicsView::_ZTV13QGraphicsView: 68u entries
@@ -12555,15 +11465,7 @@ QGraphicsView (0xb35af4c0) 0
QPaintDevice (0xb35af600) 8
vptr=((& QGraphicsView::_ZTV13QGraphicsView) + 252u)
-Class QFlags<QGraphicsView::CacheModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGraphicsView::CacheModeFlag> (0xb35af6c0) 0
-Class QFlags<QGraphicsView::OptimizationFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGraphicsView::OptimizationFlag> (0xb35af700) 0
Vtable for QGraphicsSceneEvent
QGraphicsSceneEvent::_ZTV19QGraphicsSceneEvent: 4u entries
@@ -12957,10 +11859,6 @@ QImageIOPlugin (0xb333a140) 0
QFactoryInterface (0xb333a200) 8 nearly-empty
primary-for QImageIOHandlerFactoryInterface (0xb333a1c0)
-Class QFlags<QImageIOPlugin::Capability>
- size=4 align=4
- base size=4 base align=4
-QFlags<QImageIOPlugin::Capability> (0xb333a280) 0
Class QImageReader
size=4 align=4
@@ -13412,10 +12310,6 @@ Class QStyleFactory
base size=0 base align=1
QStyleFactory (0xb333aa40) 0 empty
-Class QPointer<QFocusFrame>
- size=4 align=4
- base size=4 base align=4
-QPointer<QFocusFrame> (0xb333ae80) 0
Vtable for QMotifStyle
QMotifStyle::_ZTV11QMotifStyle: 35u entries
@@ -13876,15 +12770,7 @@ Class QStandardItem
QStandardItem (0xb3430b00) 0
vptr=((& QStandardItem::_ZTV13QStandardItem) + 8u)
-Class QList<QStandardItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QStandardItem*>::<anonymous union> (0xb3430dc0) 0
-Class QList<QStandardItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QStandardItem*> (0xb3430d40) 0
Vtable for QStandardItemModel
QStandardItemModel::_ZTV18QStandardItemModel: 42u entries
@@ -13998,15 +12884,7 @@ QStringListModel (0xb3430f00) 0
QObject (0xb3430fc0) 0
primary-for QAbstractItemModel (0xb3430f80)
-Class QVector<QWidgetItemData>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData>::<anonymous union> (0xb3430540) 0
-Class QVector<QWidgetItemData>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData> (0xb3430240) 0
Vtable for QListWidgetItem
QListWidgetItem::_ZTV15QListWidgetItem: 11u entries
@@ -14530,35 +13408,15 @@ QTreeView (0xb3185580) 0
QPaintDevice (0xb3185700) 8
vptr=((& QTreeView::_ZTV9QTreeView) + 400u)
-Class QFlags<QTreeWidgetItemIterator::IteratorFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTreeWidgetItemIterator::IteratorFlag> (0xb3185800) 0
Class QTreeWidgetItemIterator
size=12 align=4
base size=12 base align=4
QTreeWidgetItemIterator (0xb3185780) 0
-Class QVector<QVector<QWidgetItemData> >::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> >::<anonymous union> (0xb3185940) 0
-Class QVector<QVector<QWidgetItemData> >
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> > (0xb31858c0) 0
-Class QList<QTreeWidgetItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::<anonymous union> (0xb3185a40) 0
-Class QList<QTreeWidgetItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*> (0xb31859c0) 0
Vtable for QTreeWidgetItem
QTreeWidgetItem::_ZTV15QTreeWidgetItem: 10u entries
@@ -14726,15 +13584,7 @@ Class QItemEditorCreatorBase
QItemEditorCreatorBase (0xb3185d00) 0 nearly-empty
vptr=((& QItemEditorCreatorBase::_ZTV22QItemEditorCreatorBase) + 8u)
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union> (0xb3185fc0) 0
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*> (0xb3185f40) 0
Vtable for QItemEditorFactory
QItemEditorFactory::_ZTV18QItemEditorFactory: 6u entries
@@ -15254,15 +14104,7 @@ Class QTextItem
base size=0 base align=1
QTextItem (0xb2f3b700) 0 empty
-Class QTypeInfo<QTextItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextItem> (0xb2f3b740) 0 empty
-Class QFlags<QPaintEngine::PaintEngineFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::PaintEngineFeature> (0xb2f3b800) 0
Vtable for QPaintEngine
QPaintEngine::_ZTV12QPaintEngine: 24u entries
@@ -15297,20 +14139,12 @@ Class QPaintEngine
QPaintEngine (0xb2f3b780) 0
vptr=((& QPaintEngine::_ZTV12QPaintEngine) + 8u)
-Class QFlags<QPaintEngine::DirtyFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::DirtyFlag> (0xb2f3b900) 0
Class QPaintEngineState
size=4 align=4
base size=4 base align=4
QPaintEngineState (0xb2f3b880) 0
-Class QFlags<QTextItem::RenderFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextItem::RenderFlag> (0xb2f3b940) 0
Class QColormap
size=4 align=4
@@ -15588,10 +14422,6 @@ Class QSslCipher
base size=4 base align=4
QSslCipher (0xb2f3bac0) 0
-Class QMetaTypeId<QList<QSslError> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QList<QSslError> > (0xb2f3bc40) 0 empty
Vtable for QSslSocket
QSslSocket::_ZTV10QSslSocket: 30u entries
@@ -15678,20 +14508,12 @@ Class QNetworkAddressEntry
base size=4 base align=4
QNetworkAddressEntry (0xb2ee4240) 0
-Class QSharedDataPointer<QNetworkInterfacePrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QNetworkInterfacePrivate> (0xb2ee4300) 0
Class QNetworkInterface
size=4 align=4
base size=4 base align=4
QNetworkInterface (0xb2ee4280) 0
-Class QFlags<QNetworkInterface::InterfaceFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QNetworkInterface::InterfaceFlag> (0xb2ee4340) 0
Vtable for QUdpSocket
QUdpSocket::_ZTV10QUdpSocket: 30u entries
@@ -15738,10 +14560,6 @@ QUdpSocket (0xb2ee4380) 0
QObject (0xb2ee4440) 0
primary-for QIODevice (0xb2ee4400)
-Class QFlags<QUdpSocket::BindFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUdpSocket::BindFlag> (0xb2ee44c0) 0
Class QSslKey
size=4 align=4
@@ -15758,15 +14576,7 @@ Class QSqlRecord
base size=4 base align=4
QSqlRecord (0xb2ee4580) 0
-Class QList<bool>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<bool>::<anonymous union> (0xb2ee4700) 0
-Class QList<bool>
- size=4 align=4
- base size=4 base align=4
-QList<bool> (0xb2ee4680) 0
Class QSqlIndex
size=16 align=4
@@ -15779,10 +14589,6 @@ Class QSqlError
base size=16 base align=4
QSqlError (0xb2ee4740) 0
-Class QFlags<QSql::ParamTypeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QSql::ParamTypeFlag> (0xb2ee4780) 0
Vtable for QSqlResult
QSqlResult::_ZTV10QSqlResult: 29u entries
@@ -16542,21 +15348,8 @@ Q3EditorFactory (0xb2c62580) 0
QObject (0xb2c625c0) 0
primary-for Q3EditorFactory (0xb2c62580)
-Class QLinkedList<Q3SqlFieldInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QLinkedList<Q3SqlFieldInfo>::<anonymous union> (0xb2c62840) 0
-Class QLinkedList<Q3SqlFieldInfo>
- size=4 align=4
- base size=4 base align=4
-QLinkedList<Q3SqlFieldInfo> (0xb2c627c0) 0
-Class Q3ValueList<Q3SqlFieldInfo>
- size=4 align=4
- base size=4 base align=4
-Q3ValueList<Q3SqlFieldInfo> (0xb2c62880) 0
- QLinkedList<Q3SqlFieldInfo> (0xb2c628c0) 0
Class Q3SqlRecordInfo
size=4 align=4
@@ -16565,31 +15358,10 @@ Q3SqlRecordInfo (0xb2c62940) 0
Q3ValueList<Q3SqlFieldInfo> (0xb2c62980) 0
QLinkedList<Q3SqlFieldInfo> (0xb2c629c0) 0
-Class QList<Q3SqlFieldInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<Q3SqlFieldInfo>::<anonymous union> (0xb2c62ac0) 0
-Class QList<Q3SqlFieldInfo>
- size=4 align=4
- base size=4 base align=4
-QList<Q3SqlFieldInfo> (0xb2c62a40) 0
-Class QLinkedList<Q3SqlFieldInfo>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QLinkedList<Q3SqlFieldInfo>::const_iterator (0xb2c62b80) 0
-Class Q3ValueListConstIterator<Q3SqlFieldInfo>
- size=4 align=4
- base size=4 base align=4
-Q3ValueListConstIterator<Q3SqlFieldInfo> (0xb2c62bc0) 0
- QLinkedList<Q3SqlFieldInfo>::const_iterator (0xb2c62c00) 0
-Class QLinkedList<Q3SqlFieldInfo>::iterator
- size=4 align=4
- base size=4 base align=4
-QLinkedList<Q3SqlFieldInfo>::iterator (0xb2c62c80) 0
Vtable for Q3Frame
Q3Frame::_ZTV7Q3Frame: 66u entries
@@ -16834,29 +15606,7 @@ Q3GVector (0xb2c621c0) 0
Q3PtrCollection (0xb2c62280) 0
primary-for Q3GVector (0xb2c621c0)
-Vtable for Q3PtrVector<void>
-Q3PtrVector<void>::_ZTV11Q3PtrVectorIvE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI11Q3PtrVectorIvE)
-8 Q3PtrVector<type>::count [with type = void]
-12 Q3PtrVector<type>::clear [with type = void]
-16 Q3PtrVector<type>::~Q3PtrVector [with type = void]
-20 Q3PtrVector<type>::~Q3PtrVector [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3PtrVector<type>::deleteItem [with type = void]
-32 Q3GVector::compareItems
-36 Q3GVector::read
-40 Q3GVector::write
-Class Q3PtrVector<void>
- size=20 align=4
- base size=20 base align=4
-Q3PtrVector<void> (0xb2c62b40) 0
- vptr=((& Q3PtrVector<void>::_ZTV11Q3PtrVectorIvE) + 8u)
- Q3GVector (0xb2c62c40) 0
- primary-for Q3PtrVector<void> (0xb2c62b40)
- Q3PtrCollection (0xb2c62e00) 0
- primary-for Q3GVector (0xb2c62c40)
Vtable for Q3Header
Q3Header::_ZTV8Q3Header: 76u entries
@@ -17013,29 +15763,7 @@ Class Q3GListStdIterator
base size=4 base align=4
Q3GListStdIterator (0xb2bb04c0) 0
-Vtable for Q3PtrList<void>
-Q3PtrList<void>::_ZTV9Q3PtrListIvE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI9Q3PtrListIvE)
-8 Q3PtrList<type>::count [with type = void]
-12 Q3PtrList<type>::clear [with type = void]
-16 Q3PtrList<type>::~Q3PtrList [with type = void]
-20 Q3PtrList<type>::~Q3PtrList [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3PtrList<type>::deleteItem [with type = void]
-32 Q3GList::compareItems
-36 Q3GList::read
-40 Q3GList::write
-Class Q3PtrList<void>
- size=32 align=4
- base size=32 base align=4
-Q3PtrList<void> (0xb2bb0640) 0
- vptr=((& Q3PtrList<void>::_ZTV9Q3PtrListIvE) + 8u)
- Q3GList (0xb2bb0680) 0
- primary-for Q3PtrList<void> (0xb2bb0640)
- Q3PtrCollection (0xb2bb06c0) 0
- primary-for Q3GList (0xb2bb0680)
Class Q3BaseBucket
size=8 align=4
@@ -17092,28 +15820,7 @@ Class Q3GDictIterator
base size=12 base align=4
Q3GDictIterator (0xb2bb0b00) 0
-Vtable for Q3IntDict<void>
-Q3IntDict<void>::_ZTV9Q3IntDictIvE: 10u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI9Q3IntDictIvE)
-8 Q3IntDict<type>::count [with type = void]
-12 Q3IntDict<type>::clear [with type = void]
-16 Q3IntDict<type>::~Q3IntDict [with type = void]
-20 Q3IntDict<type>::~Q3IntDict [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3IntDict<type>::deleteItem [with type = void]
-32 Q3GDict::read
-36 Q3GDict::write
-Class Q3IntDict<void>
- size=28 align=4
- base size=28 base align=4
-Q3IntDict<void> (0xb2bb0c00) 0
- vptr=((& Q3IntDict<void>::_ZTV9Q3IntDictIvE) + 8u)
- Q3GDict (0xb2bb0c40) 0
- primary-for Q3IntDict<void> (0xb2bb0c00)
- Q3PtrCollection (0xb2bb0c80) 0
- primary-for Q3GDict (0xb2bb0c40)
Class Q3TableSelection
size=28 align=4
@@ -17224,100 +15931,13 @@ Class Q3Table::TableWidget
base size=12 base align=4
Q3Table::TableWidget (0xb2bb0cc0) 0
-Vtable for Q3PtrVector<Q3TableItem>
-Q3PtrVector<Q3TableItem>::_ZTV11Q3PtrVectorI11Q3TableItemE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI11Q3PtrVectorI11Q3TableItemE)
-8 Q3PtrVector<type>::count [with type = Q3TableItem]
-12 Q3PtrVector<type>::clear [with type = Q3TableItem]
-16 Q3PtrVector<type>::~Q3PtrVector [with type = Q3TableItem]
-20 Q3PtrVector<type>::~Q3PtrVector [with type = Q3TableItem]
-24 Q3PtrCollection::newItem
-28 Q3PtrVector<type>::deleteItem [with type = Q3TableItem]
-32 Q3GVector::compareItems
-36 Q3GVector::read
-40 Q3GVector::write
-Class Q3PtrVector<Q3TableItem>
- size=20 align=4
- base size=20 base align=4
-Q3PtrVector<Q3TableItem> (0xb2bb0e00) 0
- vptr=((& Q3PtrVector<Q3TableItem>::_ZTV11Q3PtrVectorI11Q3TableItemE) + 8u)
- Q3GVector (0xb2bb0ec0) 0
- primary-for Q3PtrVector<Q3TableItem> (0xb2bb0e00)
- Q3PtrCollection (0xb2bb0f80) 0
- primary-for Q3GVector (0xb2bb0ec0)
-
-Vtable for Q3PtrVector<QWidget>
-Q3PtrVector<QWidget>::_ZTV11Q3PtrVectorI7QWidgetE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI11Q3PtrVectorI7QWidgetE)
-8 Q3PtrVector<type>::count [with type = QWidget]
-12 Q3PtrVector<type>::clear [with type = QWidget]
-16 Q3PtrVector<type>::~Q3PtrVector [with type = QWidget]
-20 Q3PtrVector<type>::~Q3PtrVector [with type = QWidget]
-24 Q3PtrCollection::newItem
-28 Q3PtrVector<type>::deleteItem [with type = QWidget]
-32 Q3GVector::compareItems
-36 Q3GVector::read
-40 Q3GVector::write
-Class Q3PtrVector<QWidget>
- size=20 align=4
- base size=20 base align=4
-Q3PtrVector<QWidget> (0xb2ad8080) 0
- vptr=((& Q3PtrVector<QWidget>::_ZTV11Q3PtrVectorI7QWidgetE) + 8u)
- Q3GVector (0xb2ad80c0) 0
- primary-for Q3PtrVector<QWidget> (0xb2ad8080)
- Q3PtrCollection (0xb2ad8100) 0
- primary-for Q3GVector (0xb2ad80c0)
-
-Vtable for Q3PtrList<Q3TableSelection>
-Q3PtrList<Q3TableSelection>::_ZTV9Q3PtrListI16Q3TableSelectionE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI9Q3PtrListI16Q3TableSelectionE)
-8 Q3PtrList<type>::count [with type = Q3TableSelection]
-12 Q3PtrList<type>::clear [with type = Q3TableSelection]
-16 Q3PtrList<type>::~Q3PtrList [with type = Q3TableSelection]
-20 Q3PtrList<type>::~Q3PtrList [with type = Q3TableSelection]
-24 Q3PtrCollection::newItem
-28 Q3PtrList<type>::deleteItem [with type = Q3TableSelection]
-32 Q3GList::compareItems
-36 Q3GList::read
-40 Q3GList::write
-Class Q3PtrList<Q3TableSelection>
- size=32 align=4
- base size=32 base align=4
-Q3PtrList<Q3TableSelection> (0xb2ad81c0) 0
- vptr=((& Q3PtrList<Q3TableSelection>::_ZTV9Q3PtrListI16Q3TableSelectionE) + 8u)
- Q3GList (0xb2ad8200) 0
- primary-for Q3PtrList<Q3TableSelection> (0xb2ad81c0)
- Q3PtrCollection (0xb2ad8240) 0
- primary-for Q3GList (0xb2ad8200)
-
-Vtable for Q3IntDict<int>
-Q3IntDict<int>::_ZTV9Q3IntDictIiE: 10u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI9Q3IntDictIiE)
-8 Q3IntDict<type>::count [with type = int]
-12 Q3IntDict<type>::clear [with type = int]
-16 Q3IntDict<type>::~Q3IntDict [with type = int]
-20 Q3IntDict<type>::~Q3IntDict [with type = int]
-24 Q3PtrCollection::newItem
-28 Q3IntDict<type>::deleteItem [with type = int]
-32 Q3GDict::read
-36 Q3GDict::write
-Class Q3IntDict<int>
- size=28 align=4
- base size=28 base align=4
-Q3IntDict<int> (0xb2ad8300) 0
- vptr=((& Q3IntDict<int>::_ZTV9Q3IntDictIiE) + 8u)
- Q3GDict (0xb2ad8340) 0
- primary-for Q3IntDict<int> (0xb2ad8300)
- Q3PtrCollection (0xb2ad8380) 0
- primary-for Q3GDict (0xb2ad8340)
+
+
+
Vtable for Q3Table
Q3Table::_ZTV7Q3Table: 183u entries
@@ -18082,28 +16702,7 @@ Class Q3Url
Q3Url (0xb2ad8c00) 0
vptr=((& Q3Url::_ZTV5Q3Url) + 8u)
-Vtable for Q3Dict<void>
-Q3Dict<void>::_ZTV6Q3DictIvE: 10u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI6Q3DictIvE)
-8 Q3Dict<type>::count [with type = void]
-12 Q3Dict<type>::clear [with type = void]
-16 Q3Dict<type>::~Q3Dict [with type = void]
-20 Q3Dict<type>::~Q3Dict [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3Dict<type>::deleteItem [with type = void]
-32 Q3GDict::read
-36 Q3GDict::write
-Class Q3Dict<void>
- size=28 align=4
- base size=28 base align=4
-Q3Dict<void> (0xb2ad8d40) 0
- vptr=((& Q3Dict<void>::_ZTV6Q3DictIvE) + 8u)
- Q3GDict (0xb2ad8d80) 0
- primary-for Q3Dict<void> (0xb2ad8d40)
- Q3PtrCollection (0xb2ad8dc0) 0
- primary-for Q3GDict (0xb2ad8d80)
Vtable for Q3NetworkProtocolFactoryBase
Q3NetworkProtocolFactoryBase::_ZTV28Q3NetworkProtocolFactoryBase: 5u entries
@@ -18379,51 +16978,9 @@ Class Q3CString
Q3CString (0xb29ef0c0) 0
QByteArray (0xb29ef100) 0
-Vtable for Q3AsciiDict<void>
-Q3AsciiDict<void>::_ZTV11Q3AsciiDictIvE: 10u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI11Q3AsciiDictIvE)
-8 Q3AsciiDict<type>::count [with type = void]
-12 Q3AsciiDict<type>::clear [with type = void]
-16 Q3AsciiDict<type>::~Q3AsciiDict [with type = void]
-20 Q3AsciiDict<type>::~Q3AsciiDict [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3AsciiDict<type>::deleteItem [with type = void]
-32 Q3GDict::read
-36 Q3GDict::write
-Class Q3AsciiDict<void>
- size=28 align=4
- base size=28 base align=4
-Q3AsciiDict<void> (0xb29ef280) 0
- vptr=((& Q3AsciiDict<void>::_ZTV11Q3AsciiDictIvE) + 8u)
- Q3GDict (0xb29ef2c0) 0
- primary-for Q3AsciiDict<void> (0xb29ef280)
- Q3PtrCollection (0xb29ef300) 0
- primary-for Q3GDict (0xb29ef2c0)
-Vtable for Q3AsciiDict<QMetaObject>
-Q3AsciiDict<QMetaObject>::_ZTV11Q3AsciiDictI11QMetaObjectE: 10u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI11Q3AsciiDictI11QMetaObjectE)
-8 Q3AsciiDict<type>::count [with type = QMetaObject]
-12 Q3AsciiDict<type>::clear [with type = QMetaObject]
-16 Q3AsciiDict<type>::~Q3AsciiDict [with type = QMetaObject]
-20 Q3AsciiDict<type>::~Q3AsciiDict [with type = QMetaObject]
-24 Q3PtrCollection::newItem
-28 Q3AsciiDict<type>::deleteItem [with type = QMetaObject]
-32 Q3GDict::read
-36 Q3GDict::write
-Class Q3AsciiDict<QMetaObject>
- size=28 align=4
- base size=28 base align=4
-Q3AsciiDict<QMetaObject> (0xb29ef400) 0
- vptr=((& Q3AsciiDict<QMetaObject>::_ZTV11Q3AsciiDictI11QMetaObjectE) + 8u)
- Q3GDict (0xb29ef440) 0
- primary-for Q3AsciiDict<QMetaObject> (0xb29ef400)
- Q3PtrCollection (0xb29ef480) 0
- primary-for Q3GDict (0xb29ef440)
Vtable for Q3ObjectDictionary
Q3ObjectDictionary::_ZTV18Q3ObjectDictionary: 10u entries
@@ -18474,49 +17031,9 @@ Class Q3GCacheIterator
base size=4 base align=4
Q3GCacheIterator (0xb29ef740) 0
-Vtable for Q3IntCache<void>
-Q3IntCache<void>::_ZTV10Q3IntCacheIvE: 8u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI10Q3IntCacheIvE)
-8 Q3IntCache<type>::count [with type = void]
-12 Q3IntCache<type>::clear [with type = void]
-16 Q3IntCache<type>::~Q3IntCache [with type = void]
-20 Q3IntCache<type>::~Q3IntCache [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3IntCache<type>::deleteItem [with type = void]
-Class Q3IntCache<void>
- size=32 align=4
- base size=29 base align=4
-Q3IntCache<void> (0xb29ef840) 0
- vptr=((& Q3IntCache<void>::_ZTV10Q3IntCacheIvE) + 8u)
- Q3GCache (0xb29ef880) 0
- primary-for Q3IntCache<void> (0xb29ef840)
- Q3PtrCollection (0xb29ef8c0) 0
- primary-for Q3GCache (0xb29ef880)
-
-Vtable for Q3PtrDict<void>
-Q3PtrDict<void>::_ZTV9Q3PtrDictIvE: 10u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI9Q3PtrDictIvE)
-8 Q3PtrDict<type>::count [with type = void]
-12 Q3PtrDict<type>::clear [with type = void]
-16 Q3PtrDict<type>::~Q3PtrDict [with type = void]
-20 Q3PtrDict<type>::~Q3PtrDict [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3PtrDict<type>::deleteItem [with type = void]
-32 Q3GDict::read
-36 Q3GDict::write
-Class Q3PtrDict<void>
- size=28 align=4
- base size=28 base align=4
-Q3PtrDict<void> (0xb29efb80) 0
- vptr=((& Q3PtrDict<void>::_ZTV9Q3PtrDictIvE) + 8u)
- Q3GDict (0xb29efbc0) 0
- primary-for Q3PtrDict<void> (0xb29efb80)
- Q3PtrCollection (0xb29efc00) 0
- primary-for Q3GDict (0xb29efbc0)
+
Vtable for Q3Signal
Q3Signal::_ZTV8Q3Signal: 14u entries
@@ -18543,50 +17060,9 @@ Q3Signal (0xb29efd00) 0
QObject (0xb29efd40) 0
primary-for Q3Signal (0xb29efd00)
-Vtable for Q3Cache<void>
-Q3Cache<void>::_ZTV7Q3CacheIvE: 8u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI7Q3CacheIvE)
-8 Q3Cache<type>::count [with type = void]
-12 Q3Cache<type>::clear [with type = void]
-16 Q3Cache<type>::~Q3Cache [with type = void]
-20 Q3Cache<type>::~Q3Cache [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3Cache<type>::deleteItem [with type = void]
-Class Q3Cache<void>
- size=32 align=4
- base size=29 base align=4
-Q3Cache<void> (0xb29efe80) 0
- vptr=((& Q3Cache<void>::_ZTV7Q3CacheIvE) + 8u)
- Q3GCache (0xb29efec0) 0
- primary-for Q3Cache<void> (0xb29efe80)
- Q3PtrCollection (0xb29eff00) 0
- primary-for Q3GCache (0xb29efec0)
-Vtable for Q3PtrList<char>
-Q3PtrList<char>::_ZTV9Q3PtrListIcE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI9Q3PtrListIcE)
-8 Q3PtrList<type>::count [with type = char]
-12 Q3PtrList<type>::clear [with type = char]
-16 Q3PtrList<type>::~Q3PtrList [with type = char]
-20 Q3PtrList<type>::~Q3PtrList [with type = char]
-24 Q3PtrCollection::newItem
-28 Q3PtrList<type>::deleteItem [with type = char]
-32 Q3GList::compareItems
-36 Q3GList::read
-40 Q3GList::write
-Class Q3PtrList<char>
- size=32 align=4
- base size=32 base align=4
-Q3PtrList<char> (0xb29ef340) 0
- vptr=((& Q3PtrList<char>::_ZTV9Q3PtrListIcE) + 8u)
- Q3GList (0xb29ef4c0) 0
- primary-for Q3PtrList<char> (0xb29ef340)
- Q3PtrCollection (0xb29ef600) 0
- primary-for Q3GList (0xb29ef4c0)
Vtable for Q3StrList
Q3StrList::_ZTV9Q3StrList: 11u entries
@@ -18614,11 +17090,6 @@ Q3StrList (0xb29ef700) 0
Q3PtrCollection (0xb29efd80) 0
primary-for Q3GList (0xb29efc40)
-Class Q3PtrListStdIterator<char>
- size=4 align=4
- base size=4 base align=4
-Q3PtrListStdIterator<char> (0xb291f000) 0
- Q3GListStdIterator (0xb291f040) 0
Vtable for Q3StrIList
Q3StrIList::_ZTV10Q3StrIList: 11u entries
@@ -18648,98 +17119,13 @@ Q3StrIList (0xb291f080) 0
Q3PtrCollection (0xb291f180) 0
primary-for Q3GList (0xb291f140)
-Vtable for Q3AsciiCache<void>
-Q3AsciiCache<void>::_ZTV12Q3AsciiCacheIvE: 8u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI12Q3AsciiCacheIvE)
-8 Q3AsciiCache<type>::count [with type = void]
-12 Q3AsciiCache<type>::clear [with type = void]
-16 Q3AsciiCache<type>::~Q3AsciiCache [with type = void]
-20 Q3AsciiCache<type>::~Q3AsciiCache [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3AsciiCache<type>::deleteItem [with type = void]
-Class Q3AsciiCache<void>
- size=32 align=4
- base size=29 base align=4
-Q3AsciiCache<void> (0xb291f2c0) 0
- vptr=((& Q3AsciiCache<void>::_ZTV12Q3AsciiCacheIvE) + 8u)
- Q3GCache (0xb291f300) 0
- primary-for Q3AsciiCache<void> (0xb291f2c0)
- Q3PtrCollection (0xb291f340) 0
- primary-for Q3GCache (0xb291f300)
-
-Vtable for Q3PtrQueue<void>
-Q3PtrQueue<void>::_ZTV10Q3PtrQueueIvE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI10Q3PtrQueueIvE)
-8 Q3PtrQueue<type>::count [with type = void]
-12 Q3PtrQueue<type>::clear [with type = void]
-16 Q3PtrQueue<type>::~Q3PtrQueue [with type = void]
-20 Q3PtrQueue<type>::~Q3PtrQueue [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3PtrQueue<type>::deleteItem [with type = void]
-32 Q3GList::compareItems
-36 Q3GList::read
-40 Q3GList::write
-Class Q3PtrQueue<void>
- size=32 align=4
- base size=32 base align=4
-Q3PtrQueue<void> (0xb291f500) 0
- vptr=((& Q3PtrQueue<void>::_ZTV10Q3PtrQueueIvE) + 8u)
- Q3GList (0xb291f540) 0
- primary-for Q3PtrQueue<void> (0xb291f500)
- Q3PtrCollection (0xb291f580) 0
- primary-for Q3GList (0xb291f540)
-
-Vtable for Q3PtrStack<void>
-Q3PtrStack<void>::_ZTV10Q3PtrStackIvE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI10Q3PtrStackIvE)
-8 Q3PtrStack<type>::count [with type = void]
-12 Q3PtrStack<type>::clear [with type = void]
-16 Q3PtrStack<type>::~Q3PtrStack [with type = void]
-20 Q3PtrStack<type>::~Q3PtrStack [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3PtrStack<type>::deleteItem [with type = void]
-32 Q3GList::compareItems
-36 Q3GList::read
-40 Q3GList::write
-Class Q3PtrStack<void>
- size=32 align=4
- base size=32 base align=4
-Q3PtrStack<void> (0xb291f700) 0
- vptr=((& Q3PtrStack<void>::_ZTV10Q3PtrStackIvE) + 8u)
- Q3GList (0xb291f740) 0
- primary-for Q3PtrStack<void> (0xb291f700)
- Q3PtrCollection (0xb291f780) 0
- primary-for Q3GList (0xb291f740)
-Vtable for Q3PtrVector<char>
-Q3PtrVector<char>::_ZTV11Q3PtrVectorIcE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI11Q3PtrVectorIcE)
-8 Q3PtrVector<type>::count [with type = char]
-12 Q3PtrVector<type>::clear [with type = char]
-16 Q3PtrVector<type>::~Q3PtrVector [with type = char]
-20 Q3PtrVector<type>::~Q3PtrVector [with type = char]
-24 Q3PtrCollection::newItem
-28 Q3PtrVector<type>::deleteItem [with type = char]
-32 Q3GVector::compareItems
-36 Q3GVector::read
-40 Q3GVector::write
-Class Q3PtrVector<char>
- size=20 align=4
- base size=20 base align=4
-Q3PtrVector<char> (0xb291f800) 0
- vptr=((& Q3PtrVector<char>::_ZTV11Q3PtrVectorIcE) + 8u)
- Q3GVector (0xb291f840) 0
- primary-for Q3PtrVector<char> (0xb291f800)
- Q3PtrCollection (0xb291f880) 0
- primary-for Q3GVector (0xb291f840)
+
+
Vtable for Q3StrVec
Q3StrVec::_ZTV8Q3StrVec: 11u entries
@@ -19777,25 +18163,9 @@ Q3SpinWidget (0xb27f6a00) 0
QPaintDevice (0xb27f6ac0) 8
vptr=((& Q3SpinWidget::_ZTV12Q3SpinWidget) + 236u)
-Class QList<QRect>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QRect>::<anonymous union> (0xb27f6d00) 0
-Class QList<QRect>
- size=4 align=4
- base size=4 base align=4
-QList<QRect> (0xb27f6c80) 0
-Class QList<Q3DockWindow*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<Q3DockWindow*>::<anonymous union> (0xb27f6e00) 0
-Class QList<Q3DockWindow*>
- size=4 align=4
- base size=4 base align=4
-QList<Q3DockWindow*> (0xb27f6d80) 0
Vtable for Q3DockAreaLayout
Q3DockAreaLayout::_ZTV16Q3DockAreaLayout: 48u entries
@@ -19860,10 +18230,6 @@ Q3DockAreaLayout (0xb27f6b40) 0
QLayoutItem (0xb27f6c00) 8
vptr=((& Q3DockAreaLayout::_ZTV16Q3DockAreaLayout) + 128u)
-Class QPointer<Q3DockArea>
- size=4 align=4
- base size=4 base align=4
-QPointer<Q3DockArea> (0xb27f60c0) 0
Class Q3DockArea::DockWindowData
size=24 align=4
@@ -20908,15 +19274,7 @@ Q3ActionGroup (0xb26ddd40) 0
QObject (0xb26dddc0) 0
primary-for Q3Action (0xb26ddd80)
-Class QMap<int, QAbstractButton*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<int, QAbstractButton*>::<anonymous union> (0xb26dd380) 0
-Class QMap<int, QAbstractButton*>
- size=4 align=4
- base size=4 base align=4
-QMap<int, QAbstractButton*> (0xb26dd080) 0
Vtable for Q3ButtonGroup
Q3ButtonGroup::_ZTV13Q3ButtonGroup: 64u entries
@@ -21176,15 +19534,7 @@ Class Q3StyleSheetItem
base size=4 base align=4
Q3StyleSheetItem (0xb25db1c0) 0
-Class QHash<QString, Q3StyleSheetItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QHash<QString, Q3StyleSheetItem*>::<anonymous union> (0xb25db380) 0
-Class QHash<QString, Q3StyleSheetItem*>
- size=4 align=4
- base size=4 base align=4
-QHash<QString, Q3StyleSheetItem*> (0xb25db300) 0
Vtable for Q3StyleSheet
Q3StyleSheet::_ZTV12Q3StyleSheet: 16u entries
@@ -21245,25 +19595,9 @@ Class Q3TextEditOptimPrivate::Selection
base size=8 base align=4
Q3TextEditOptimPrivate::Selection (0xb25db540) 0
-Class QMap<int, QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<int, QString>::<anonymous union> (0xb25db640) 0
-Class QMap<int, QString>
- size=4 align=4
- base size=4 base align=4
-QMap<int, QString> (0xb25db5c0) 0
-Class QMap<int, Q3TextEditOptimPrivate::Tag*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<int, Q3TextEditOptimPrivate::Tag*>::<anonymous union> (0xb25db780) 0
-Class QMap<int, Q3TextEditOptimPrivate::Tag*>
- size=4 align=4
- base size=4 base align=4
-QMap<int, Q3TextEditOptimPrivate::Tag*> (0xb25db700) 0
Class Q3TextEditOptimPrivate
size=52 align=4
@@ -21471,10 +19805,6 @@ Q3TextEdit (0xb25db840) 0
QPaintDevice (0xb25db9c0) 8
vptr=((& Q3TextEdit::_ZTV10Q3TextEdit) + 680u)
-Class QFlags<Q3TextEdit::AutoFormattingFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Q3TextEdit::AutoFormattingFlag> (0xb25dbac0) 0
Vtable for Q3TextBrowser
Q3TextBrowser::_ZTV13Q3TextBrowser: 180u entries
@@ -22136,21 +20466,8 @@ Q3PointArray (0xb24f7100) 0
QPolygon (0xb24f7140) 0
QVector<QPoint> (0xb24f7180) 0
-Class QLinkedList<Q3CanvasItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QLinkedList<Q3CanvasItem*>::<anonymous union> (0xb24f72c0) 0
-Class QLinkedList<Q3CanvasItem*>
- size=4 align=4
- base size=4 base align=4
-QLinkedList<Q3CanvasItem*> (0xb24f7240) 0
-Class Q3ValueList<Q3CanvasItem*>
- size=4 align=4
- base size=4 base align=4
-Q3ValueList<Q3CanvasItem*> (0xb24f7300) 0
- QLinkedList<Q3CanvasItem*> (0xb24f7340) 0
Class Q3CanvasItemList
size=4 align=4
@@ -23445,15 +21762,7 @@ Q3ServerSocket (0xb23ecf40) 0
QObject (0xb23ecf80) 0
primary-for Q3ServerSocket (0xb23ecf40)
-Class QMap<QString, QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QString>::<anonymous union> (0xb23ec500) 0
-Class QMap<QString, QString>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QString> (0xb23ec200) 0
Vtable for Q3HttpHeader
Q3HttpHeader::_ZTV12Q3HttpHeader: 8u entries
@@ -24462,243 +22771,51 @@ Class Q3Painter
Q3Painter (0xb22df640) 0
QPainter (0xb22df700) 0
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0xb22dfa00) 0
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0xb22dfb80) 0
-Class QVectorTypedData<QPoint>
- size=24 align=4
- base size=24 base align=4
-QVectorTypedData<QPoint> (0xb22dfd80) 0
-Class QVectorTypedData<QPointF>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QPointF> (0xb1f4f000) 0
-Class QVectorTypedData<QPainterPath::Element>
- size=36 align=4
- base size=36 base align=4
-QVectorTypedData<QPainterPath::Element> (0xb1f4f080) 0
-Class QList<QAction*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QAction*>::Node (0xb1f4f200) 0
-Class QVectorTypedData<QTextLength>
- size=28 align=4
- base size=28 base align=4
-QVectorTypedData<QTextLength> (0xb1f4f280) 0
-Class QVectorTypedData<QTextLayout::FormatRange>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QTextLayout::FormatRange> (0xb1f4f300) 0
-Class QVectorTypedData<QAbstractTextDocumentLayout::Selection>
- size=28 align=4
- base size=28 base align=4
-QVectorTypedData<QAbstractTextDocumentLayout::Selection> (0xb1f4f380) 0
-Class QVectorTypedData<QLineF>
- size=48 align=4
- base size=48 base align=4
-QVectorTypedData<QLineF> (0xb1f4f500) 0
-Class QVectorTypedData<QLine>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QLine> (0xb1f4f580) 0
-Class QVectorTypedData<QRectF>
- size=48 align=4
- base size=48 base align=4
-QVectorTypedData<QRectF> (0xb1f4f600) 0
-Class QVectorTypedData<QRect>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QRect> (0xb1f4f680) 0
-Class QList<QTreeWidgetItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::Node (0xb1f4f880) 0
-Class QVectorTypedData<QVector<QWidgetItemData> >
- size=20 align=4
- base size=20 base align=4
-QVectorTypedData<QVector<QWidgetItemData> > (0xb1f4f900) 0
-Class QLinkedListNode<Q3SqlFieldInfo>
- size=52 align=4
- base size=52 base align=4
-QLinkedListNode<Q3SqlFieldInfo> (0xb1f4fa00) 0
-Class QMetaTypeId2<QSet<QAccessible::Method> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSet<QAccessible::Method> > (0xb1f4fac0) 0 empty
-Class QHashNode<QAccessible::Method, QHashDummyValue>
- size=16 align=4
- base size=13 base align=4
-QHashNode<QAccessible::Method, QHashDummyValue> (0xb1f4fb40) 0
-Class QTypeInfo<QAction*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAction*> (0xb1f4fbc0) 0 empty
-Class QTypeInfo<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLength> (0xb1f4fc40) 0 empty
-Class QTypeInfo<QTextLayout::FormatRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLayout::FormatRange> (0xb1f4fd00) 0 empty
-Class QTypeInfo<QAbstractTextDocumentLayout::Selection>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAbstractTextDocumentLayout::Selection> (0xb1f4fe00) 0 empty
-Class QTypeInfo<QStandardItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QStandardItem*> (0xb1f4fec0) 0 empty
-Class QTypeInfo<QTreeWidgetItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTreeWidgetItem*> (0xb1f4ff40) 0 empty
-Class QHashNode<QVariant::Type, QItemEditorCreatorBase*>
- size=16 align=4
- base size=16 base align=4
-QHashNode<QVariant::Type, QItemEditorCreatorBase*> (0xb1f4ffc0) 0
-Class QList<QSslError>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QSslError>::<anonymous union> (0xb1f4f980) 0
-Class QList<QSslError>
- size=4 align=4
- base size=4 base align=4
-QList<QSslError> (0xb1f4f400) 0
-Class QTypeInfo<Q3TextEditOptimPrivate::Tag*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<Q3TextEditOptimPrivate::Tag*> (0xb1ceb000) 0 empty
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0xb1ceb100) 0
-Class QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union> (0xb1ceb180) 0
-Class QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union> (0xb1ceb240) 0
-Class QList<QItemSelectionRange>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::Node (0xb1ceb300) 0
-Class QTypeInfo<QStyleOptionQ3ListViewItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QStyleOptionQ3ListViewItem> (0xb1ceb380) 0 empty
-Class QList<QStyleOptionQ3ListViewItem>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::Node (0xb1ceb400) 0
-Class QList<QVariant>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::Node (0xb1ceb4c0) 0
-Class QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union> (0xb1ceb580) 0
-Class QTypeInfo<QGraphicsItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QGraphicsItem*> (0xb1ceb640) 0 empty
-Class QList<QGraphicsItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QGraphicsItem*>::Node (0xb1ceb6c0) 0
-Class QList<QStandardItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QStandardItem*>::Node (0xb1ceb740) 0
-Class QList<QRect>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QRect>::Node (0xb1ceb840) 0
-Class QTypeInfo<Q3DockWindow*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<Q3DockWindow*> (0xb1ceb900) 0 empty
-Class QList<Q3DockWindow*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<Q3DockWindow*>::Node (0xb1ceb980) 0
-Class QMap<Key, T>::detach_helper() [with Key = int, T = Q3TextEditOptimPrivate::Tag*]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<Key, T>::detach_helper() [with Key = int, T = Q3TextEditOptimPrivate::Tag*]::<anonymous union> (0xb1ceba80) 0
-Class QHashDummyNode<QAccessible::Method, QHashDummyValue>
- size=12 align=4
- base size=12 base align=4
-QHashDummyNode<QAccessible::Method, QHashDummyValue> (0xb1cebb00) 0
-Class QLinkedList<T>::detach_helper() [with T = Q3SqlFieldInfo]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QLinkedList<T>::detach_helper() [with T = Q3SqlFieldInfo]::<anonymous union> (0xb1cebb80) 0
-Class QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union> (0xb1cebc00) 0
-Class QTypeInfo<QSslError>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSslError> (0xb1cebd40) 0 empty
-Class QList<QSslError>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QSslError>::Node (0xb1cebdc0) 0
diff --git a/tests/auto/bic/data/Qt3Support.4.3.2.linux-gcc-ia32.txt b/tests/auto/bic/data/Qt3Support.4.3.2.linux-gcc-ia32.txt
index 8609b18..43b5a43 100644
--- a/tests/auto/bic/data/Qt3Support.4.3.2.linux-gcc-ia32.txt
+++ b/tests/auto/bic/data/Qt3Support.4.3.2.linux-gcc-ia32.txt
@@ -1,34 +1,8 @@
-Class QUintForSize<4>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<4> (0xb7f85d80) 0 empty
-Class QUintForSize<8>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<8> (0xb7f85dc0) 0 empty
-Class QUintForType<void*>
- size=1 align=1
- base size=1 base align=1
-QUintForType<void*> (0xb7f85e80) 0 empty
- QUintForSize<4> (0xb7f85ec0) 0 empty
-Class QIntForSize<4>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<4> (0xb7f85f40) 0 empty
-Class QIntForSize<8>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<8> (0xb7f85f80) 0 empty
-Class QIntForType<void*>
- size=1 align=1
- base size=1 base align=1
-QIntForType<void*> (0xb78ac040) 0 empty
- QIntForSize<4> (0xb78ac080) 0 empty
Class QSysInfo
size=1 align=1
@@ -50,150 +24,38 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0xb78ac340) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0xb78ac400) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0xb78ac440) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0xb78ac480) 0 empty
-Class QTypeInfo<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned char> (0xb78ac4c0) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0xb78ac500) 0 empty
-Class QTypeInfo<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short unsigned int> (0xb78ac540) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0xb78ac580) 0 empty
-Class QTypeInfo<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned int> (0xb78ac5c0) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0xb78ac600) 0 empty
-Class QTypeInfo<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long unsigned int> (0xb78ac640) 0 empty
-Class QTypeInfo<long long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long int> (0xb78ac680) 0 empty
-Class QTypeInfo<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long unsigned int> (0xb78ac6c0) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0xb78ac700) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0xb78ac740) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0xb78ac780) 0 empty
Class QFlag
size=4 align=4
base size=4 base align=4
QFlag (0xb78ac7c0) 0
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0xb78ac8c0) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0xb78ac900) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0xb78ac940) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0xb78ac980) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0xb78ac9c0) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0xb78aca00) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0xb78aca40) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0xb78aca80) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0xb78acac0) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0xb78acb00) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0xb78acb40) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0xb78acb80) 0
-Class QFlags<Qt::TextInteractionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::TextInteractionFlag> (0xb78acbc0) 0
Class QInternal
size=1 align=1
@@ -211,10 +73,6 @@ Class QGenericReturnArgument
QGenericReturnArgument (0xb78accc0) 0
QGenericArgument (0xb78acd00) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0xb78acec0) 0
Class QMetaObject
size=16 align=4
@@ -231,10 +89,6 @@ Class QChar
base size=2 base align=2
QChar (0xb78acf80) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0xb59a6000) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -267,10 +121,6 @@ Class QByteRef
base size=8 base align=4
QByteRef (0xb59a6300) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0xb59a6340) 0 empty
Class QString::Null
size=1 align=1
@@ -287,10 +137,6 @@ Class QString
base size=4 base align=4
QString (0xb59a6380) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0xb59a6580) 0
Class QLatin1String
size=4 align=4
@@ -308,10 +154,6 @@ Class QConstString
QConstString (0xb59a6680) 0
QString (0xb59a66c0) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0xb59a6700) 0 empty
Class QStringRef
size=12 align=4
@@ -379,15 +221,7 @@ Class QListData
base size=4 base align=4
QListData (0xb59a6a40) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0xb59a6dc0) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0xb59a6d40) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -463,10 +297,6 @@ QLibrary (0xb59a64c0) 0
QObject (0xb59a6500) 0
primary-for QLibrary (0xb59a64c0)
-Class QFlags<QLibrary::LoadHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLibrary::LoadHint> (0xb59a6840) 0
Class QUuid
size=16 align=4
@@ -514,10 +344,6 @@ QIODevice (0xb59a6c00) 0
QObject (0xb59a6e40) 0
primary-for QIODevice (0xb59a6c00)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0xb55c6000) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -537,25 +363,13 @@ Class QRegExp
base size=4 base align=4
QRegExp (0xb55c60c0) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0xb55c6100) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0xb55c6140) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0xb55c6200) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0xb55c6180) 0
Class QStringList
size=4 align=4
@@ -563,15 +377,7 @@ Class QStringList
QStringList (0xb55c6240) 0
QList<QString> (0xb55c6280) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0xb55c6300) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0xb55c6340) 0
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -627,10 +433,6 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0xb55c66c0) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0xb55c6700) 0 empty
Class QCryptographicHash
size=4 align=4
@@ -642,75 +444,35 @@ Class QDate
base size=4 base align=4
QDate (0xb55c6c40) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0xb55c6d00) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0xb55c6d40) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0xb55c6e00) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0xb55c6e40) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0xb55c6f00) 0 empty
Class QByteArrayMatcher
size=1032 align=4
base size=1032 base align=4
QByteArrayMatcher (0xb55c6f40) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0xb55c6fc0) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0xb55c6080) 0
Class wait
size=4 align=4
base size=4 base align=4
wait (0xb55c6f80) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb55c6440) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb55c6580) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb55c6ac0) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb55c6c80) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb55c6cc0) 0
Class timespec
size=8 align=4
@@ -722,80 +484,24 @@ Class timeval
base size=8 base align=4
timeval (0xb55c6dc0) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb55c6e80) 0
-Class <anonymous union>
- size=36 align=4
- base size=36 base align=4
-<anonymous union> (0xb55c6ec0) 0
Class __pthread_internal_slist
size=4 align=4
base size=4 base align=4
__pthread_internal_slist (0xb5592000) 0
-Class <anonymous union>::__pthread_mutex_s::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union>::__pthread_mutex_s::<anonymous union> (0xb55920c0) 0
-Class <anonymous union>::__pthread_mutex_s
- size=24 align=4
- base size=24 base align=4
-<anonymous union>::__pthread_mutex_s (0xb5592080) 0
-Class <anonymous union>
- size=24 align=4
- base size=24 base align=4
-<anonymous union> (0xb5592040) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb5592100) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0xb5592180) 0
-Class <anonymous union>
- size=48 align=4
- base size=48 base align=4
-<anonymous union> (0xb5592140) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb55921c0) 0
-Class <anonymous union>::<anonymous struct>
- size=32 align=4
- base size=32 base align=4
-<anonymous union>::<anonymous struct> (0xb5592240) 0
-Class <anonymous union>
- size=32 align=4
- base size=32 base align=4
-<anonymous union> (0xb5592200) 0
-Class <anonymous union>
- size=8 align=4
- base size=8 base align=4
-<anonymous union> (0xb5592280) 0
-Class <anonymous union>
- size=20 align=4
- base size=20 base align=4
-<anonymous union> (0xb55922c0) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb5592300) 0
Class random_data
size=28 align=4
@@ -817,20 +523,12 @@ Class QSize
base size=8 base align=4
QSize (0xb5592580) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0xb5592780) 0 empty
Class QSizeF
size=16 align=4
base size=16 base align=4
QSizeF (0xb5592800) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0xb5592a00) 0 empty
Class QLinkedListData
size=20 align=4
@@ -842,15 +540,7 @@ Class QLocale
base size=4 base align=4
QLocale (0xb5592dc0) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0xb5592e00) 0 empty
-Class QFlags<QLocale::NumberOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLocale::NumberOption> (0xb5592e40) 0
Vtable for QSystemLocale
QSystemLocale::_ZTV13QSystemLocale: 6u entries
@@ -887,60 +577,36 @@ Class QPoint
base size=8 base align=4
QPoint (0xb51c2040) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0xb51c2280) 0 empty
Class QPointF
size=16 align=4
base size=16 base align=4
QPointF (0xb51c22c0) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0xb51c2500) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0xb51c2640) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0xb51c2740) 0 empty
Class QRectF
size=32 align=4
base size=32 base align=4
QRectF (0xb51c2780) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0xb51c2840) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0xb51c2880) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0xb51c28c0) 0 empty
Class QLineF
size=32 align=4
base size=32 base align=4
QLineF (0xb51c2900) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0xb51c2940) 0 empty
Vtable for QTimeLine
QTimeLine::_ZTV9QTimeLine: 15u entries
@@ -978,10 +644,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0xb51c2cc0) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0xb51c2d00) 0 empty
Class QLibraryInfo
size=1 align=1
@@ -993,290 +655,66 @@ Class QUrl
base size=4 base align=4
QUrl (0xb51c2e40) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0xb51c2ec0) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0xb51c2f00) 0 empty
Class QMetaType
size=1 align=1
base size=0 base align=1
QMetaType (0xb51c2f40) 0 empty
-Class QMetaTypeId2<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QString> (0xb51c2080) 0 empty
-Class QMetaTypeId2<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<int> (0xb51c20c0) 0 empty
-Class QMetaTypeId2<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned int> (0xb51c2100) 0 empty
-Class QMetaTypeId2<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<bool> (0xb51c2140) 0 empty
-Class QMetaTypeId2<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<double> (0xb51c2180) 0 empty
-Class QMetaTypeId2<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QByteArray> (0xb51c21c0) 0 empty
-Class QMetaTypeId2<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QChar> (0xb51c2200) 0 empty
-Class QMetaTypeId2<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long int> (0xb51c2240) 0 empty
-Class QMetaTypeId2<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short int> (0xb51c2300) 0 empty
-Class QMetaTypeId2<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<char> (0xb51c2340) 0 empty
-Class QMetaTypeId2<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long unsigned int> (0xb51c2380) 0 empty
-Class QMetaTypeId2<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short unsigned int> (0xb51c23c0) 0 empty
-Class QMetaTypeId2<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned char> (0xb51c2400) 0 empty
-Class QMetaTypeId2<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<float> (0xb51c2440) 0 empty
-Class QMetaTypeId2<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QObject*> (0xb51c2480) 0 empty
-Class QMetaTypeId2<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QWidget*> (0xb51c24c0) 0 empty
-Class QMetaTypeId2<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<void*> (0xb51c2680) 0 empty
-Class QMetaTypeId2<long long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long int> (0xb51c26c0) 0 empty
-Class QMetaTypeId2<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long unsigned int> (0xb51c2700) 0 empty
-Class QMetaTypeId2<QStringList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QStringList> (0xb51c27c0) 0 empty
-Class QMetaTypeId2<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitArray> (0xb51c2800) 0 empty
-Class QMetaTypeId2<QDate>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDate> (0xb51c2b40) 0 empty
-Class QMetaTypeId2<QTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTime> (0xb5034000) 0 empty
-Class QMetaTypeId2<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDateTime> (0xb5034040) 0 empty
-Class QMetaTypeId2<QUrl>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QUrl> (0xb5034080) 0 empty
-Class QMetaTypeId2<QLocale>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLocale> (0xb50340c0) 0 empty
-Class QMetaTypeId2<QRect>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRect> (0xb5034100) 0 empty
-Class QMetaTypeId2<QRectF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRectF> (0xb5034140) 0 empty
-Class QMetaTypeId2<QSize>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSize> (0xb5034180) 0 empty
-Class QMetaTypeId2<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizeF> (0xb50341c0) 0 empty
-Class QMetaTypeId2<QLine>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLine> (0xb5034200) 0 empty
-Class QMetaTypeId2<QLineF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLineF> (0xb5034240) 0 empty
-Class QMetaTypeId2<QPoint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPoint> (0xb5034280) 0 empty
-Class QMetaTypeId2<QPointF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPointF> (0xb50342c0) 0 empty
-Class QMetaTypeId2<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegExp> (0xb5034300) 0 empty
-Class QMetaTypeId2<QColorGroup>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColorGroup> (0xb5034340) 0 empty
-Class QMetaTypeId2<QFont>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QFont> (0xb5034380) 0 empty
-Class QMetaTypeId2<QPixmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPixmap> (0xb50343c0) 0 empty
-Class QMetaTypeId2<QBrush>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBrush> (0xb5034400) 0 empty
-Class QMetaTypeId2<QColor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColor> (0xb5034440) 0 empty
-Class QMetaTypeId2<QPalette>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPalette> (0xb5034480) 0 empty
-Class QMetaTypeId2<QIcon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QIcon> (0xb50344c0) 0 empty
-Class QMetaTypeId2<QImage>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QImage> (0xb5034500) 0 empty
-Class QMetaTypeId2<QPolygon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPolygon> (0xb5034540) 0 empty
-Class QMetaTypeId2<QRegion>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegion> (0xb5034580) 0 empty
-Class QMetaTypeId2<QBitmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitmap> (0xb50345c0) 0 empty
-Class QMetaTypeId2<QCursor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QCursor> (0xb5034600) 0 empty
-Class QMetaTypeId2<QSizePolicy>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizePolicy> (0xb5034640) 0 empty
-Class QMetaTypeId2<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QKeySequence> (0xb5034680) 0 empty
-Class QMetaTypeId2<QPen>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPen> (0xb50346c0) 0 empty
-Class QMetaTypeId2<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextLength> (0xb5034700) 0 empty
-Class QMetaTypeId2<QTextFormat>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextFormat> (0xb5034740) 0 empty
-Class QMetaTypeId2<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMatrix> (0xb5034780) 0 empty
-Class QMetaTypeId2<QTransform>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTransform> (0xb50347c0) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -1303,45 +741,17 @@ Class QVariant
base size=12 base align=4
QVariant (0xb5034800) 0
-Class QMetaTypeId2<QList<QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QList<QVariant> > (0xb5034a80) 0 empty
-Class QMetaTypeId2<QMap<QString, QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMap<QString, QVariant> > (0xb5034ac0) 0 empty
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0xb5034bc0) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0xb5034b40) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0xb5034cc0) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0xb5034c40) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0xb5034d40) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0xb5034dc0) 0 empty
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1368,25 +778,9 @@ QSettings (0xb5034e00) 0
QObject (0xb5034e40) 0
primary-for QSettings (0xb5034e00)
-Class <anonymous struct>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct>::<anonymous union> (0xb5034f40) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb5034f00) 0
-Class <anonymous struct>
- size=12 align=4
- base size=12 base align=4
-<anonymous struct> (0xb5034f80) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb5034fc0) 0
Class __gconv_trans_data
size=20 align=4
@@ -1408,15 +802,7 @@ Class __gconv_info
base size=8 base align=4
__gconv_info (0xb5034a00) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0xb5034e80) 0
-Class <anonymous union>
- size=44 align=4
- base size=44 base align=4
-<anonymous union> (0xb5034a40) 0
Class _IO_marker
size=12 align=4
@@ -1428,10 +814,6 @@ Class _IO_FILE
base size=148 base align=4
_IO_FILE (0xb4f12000) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb4f12040) 0
Vtable for QFile
QFile::_ZTV5QFile: 31u entries
@@ -1477,10 +859,6 @@ QFile (0xb4f12080) 0
QObject (0xb4f12100) 0
primary-for QIODevice (0xb4f120c0)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0xb4f12180) 0
Vtable for QTemporaryFile
QTemporaryFile::_ZTV14QTemporaryFile: 31u entries
@@ -1533,40 +911,16 @@ Class QFileInfo
base size=4 base align=4
QFileInfo (0xb4f12300) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0xb4f12340) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0xb4f12380) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0xb4f12440) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0xb4f123c0) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0xb4f12480) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0xb4f12500) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0xb4f12580) 0
Vtable for QProcess
QProcess::_ZTV8QProcess: 31u entries
@@ -1650,10 +1004,6 @@ Class QDirIterator
QDirIterator (0xb4f127c0) 0
vptr=((& QDirIterator::_ZTV12QDirIterator) + 8u)
-Class QFlags<QDirIterator::IteratorFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDirIterator::IteratorFlag> (0xb4f12880) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -1710,10 +1060,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0xb4f128c0) 0
vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0xb4f12a40) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -1747,10 +1093,6 @@ Class QAbstractFileEngineIterator
QAbstractFileEngineIterator (0xb4f12b00) 0
vptr=((& QAbstractFileEngineIterator::_ZTV27QAbstractFileEngineIterator) + 8u)
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0xb4f12c40) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -1775,15 +1117,7 @@ Class QTextCodec
QTextCodec (0xb4f12b80) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0xb4f12d80) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0xb4f12d00) 0
Class QTextEncoder
size=32 align=4
@@ -1808,10 +1142,6 @@ Class QTextStream
QTextStream (0xb4f12e40) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0xb4f12f00) 0
Class QTextStreamManipulator
size=24 align=4
@@ -1958,20 +1288,12 @@ Class QReadWriteLock
base size=4 base align=4
QReadWriteLock (0xb4d520c0) 0
-Class QReadLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QReadLocker::<anonymous union> (0xb4d52140) 0
Class QReadLocker
size=4 align=4
base size=4 base align=4
QReadLocker (0xb4d52100) 0
-Class QWriteLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QWriteLocker::<anonymous union> (0xb4d521c0) 0
Class QWriteLocker
size=4 align=4
@@ -1983,10 +1305,6 @@ Class QMutex
base size=4 base align=4
QMutex (0xb4d52200) 0
-Class QMutexLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMutexLocker::<anonymous union> (0xb4d52280) 0
Class QMutexLocker
size=4 align=4
@@ -2066,10 +1384,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0xb4d52580) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0xb4d525c0) 0 empty
Vtable for QMimeData
QMimeData::_ZTV9QMimeData: 17u entries
@@ -2104,20 +1418,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0xb4d526c0) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0xb4d52700) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0xb4d52740) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0xb4d527c0) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -2357,10 +1663,6 @@ QEventLoop (0xb4d52c40) 0
QObject (0xb4d52c80) 0
primary-for QEventLoop (0xb4d52c40)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0xb4d52d80) 0
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -2555,20 +1857,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0xb4d52e00) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0xb4d52ec0) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0xb4d52f80) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0xb4ad0000) 0 empty
Class QMetaProperty
size=20 align=4
@@ -2580,10 +1874,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0xb4ad0080) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0xb4ad00c0) 0 empty
Vtable for QTextCodecFactoryInterface
QTextCodecFactoryInterface::_ZTV26QTextCodecFactoryInterface: 6u entries
@@ -2726,25 +2016,13 @@ QImageIOPlugin (0xb4ad0500) 0
QFactoryInterface (0xb4ad05c0) 8 nearly-empty
primary-for QImageIOHandlerFactoryInterface (0xb4ad0580)
-Class QFlags<QImageIOPlugin::Capability>
- size=4 align=4
- base size=4 base align=4
-QFlags<QImageIOPlugin::Capability> (0xb4ad0640) 0
Class QImageReader
size=4 align=4
base size=4 base align=4
QImageReader (0xb4ad0680) 0
-Class QVector<QPoint>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint>::<anonymous union> (0xb4ad0740) 0
-Class QVector<QPoint>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint> (0xb4ad06c0) 0
Class QPolygon
size=4 align=4
@@ -2752,15 +2030,7 @@ Class QPolygon
QPolygon (0xb4ad0780) 0
QVector<QPoint> (0xb4ad07c0) 0
-Class QVector<QPointF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF>::<anonymous union> (0xb4ad0880) 0
-Class QVector<QPointF>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF> (0xb4ad0800) 0
Class QPolygonF
size=4 align=4
@@ -2783,10 +2053,6 @@ Class QMatrix
base size=48 base align=4
QMatrix (0xb4ad0ac0) 0
-Class QTypeInfo<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMatrix> (0xb4ad0b00) 0 empty
Class QPainterPath::Element
size=20 align=4
@@ -2798,25 +2064,13 @@ Class QPainterPath
base size=4 base align=4
QPainterPath (0xb4ad0b40) 0
-Class QVector<QPainterPath::Element>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element>::<anonymous union> (0xb4ad0dc0) 0
-Class QVector<QPainterPath::Element>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element> (0xb4ad0d40) 0
Class QPainterPathPrivate
size=8 align=4
base size=8 base align=4
QPainterPathPrivate (0xb4ad0c40) 0
-Class QTypeInfo<QPainterPath::Element>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPainterPath::Element> (0xb4ad0e00) 0 empty
Class QPainterPathStroker
size=4 align=4
@@ -2828,10 +2082,6 @@ Class QTransform
base size=80 base align=4
QTransform (0xb4ad0f00) 0
-Class QTypeInfo<QTransform>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTransform> (0xb4ad0f40) 0 empty
Vtable for QPaintDevice
QPaintDevice::_ZTV12QPaintDevice: 7u entries
@@ -2872,30 +2122,10 @@ QImage (0xb4ad03c0) 0
QPaintDevice (0xb4ad0480) 0
primary-for QImage (0xb4ad03c0)
-Class QTypeInfo<QImage>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QImage> (0xb4ad0980) 0 empty
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0xb4ad0a40) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0xb4ad0bc0) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0xb4ad0c00) 0
-Class QColor::<anonymous union>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union> (0xb4ad0a00) 0
Class QColor
size=16 align=4
@@ -3083,10 +2313,6 @@ Class QIcon
base size=4 base align=4
QIcon (0xb48ad940) 0
-Class QTypeInfo<QIcon>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QIcon> (0xb48ada00) 0 empty
Vtable for QPicture
QPicture::_ZTV8QPicture: 8u entries
@@ -3225,10 +2451,6 @@ Class QKeySequence
base size=4 base align=4
QKeySequence (0xb48adf40) 0
-Class QTypeInfo<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QKeySequence> (0xb48ad000) 0 empty
Vtable for QMimeSource
QMimeSource::_ZTV11QMimeSource: 7u entries
@@ -3526,15 +2748,7 @@ Class QInputMethodEvent::Attribute
base size=24 base align=4
QInputMethodEvent::Attribute (0xb47f2840) 0
-Class QList<QInputMethodEvent::Attribute>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute>::<anonymous union> (0xb47f2940) 0
-Class QList<QInputMethodEvent::Attribute>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute> (0xb47f28c0) 0
Vtable for QInputMethodEvent
QInputMethodEvent::_ZTV17QInputMethodEvent: 4u entries
@@ -3823,20 +3037,8 @@ Class QAccessible
base size=0 base align=1
QAccessible (0xb486f040) 0 empty
-Class QFlags<QAccessible::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::StateFlag> (0xb486f0c0) 0
-Class QFlags<QAccessible::RelationFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::RelationFlag> (0xb486f100) 0
-Class QMetaTypeId<QSet<QAccessible::Method> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QSet<QAccessible::Method> > (0xb486f140) 0 empty
Vtable for QAccessibleInterface
QAccessibleInterface::_ZTV20QAccessibleInterface: 19u entries
@@ -3867,20 +3069,8 @@ QAccessibleInterface (0xb486f200) 0 nearly-empty
vptr=((& QAccessibleInterface::_ZTV20QAccessibleInterface) + 8u)
QAccessible (0xb486f240) 0 empty
-Class QHash<QAccessible::Method, QHashDummyValue>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QHash<QAccessible::Method, QHashDummyValue>::<anonymous union> (0xb486f3c0) 0
-Class QHash<QAccessible::Method, QHashDummyValue>
- size=4 align=4
- base size=4 base align=4
-QHash<QAccessible::Method, QHashDummyValue> (0xb486f340) 0
-Class QSet<QAccessible::Method>
- size=4 align=4
- base size=4 base align=4
-QSet<QAccessible::Method> (0xb486f2c0) 0
Vtable for QAccessibleInterfaceEx
QAccessibleInterfaceEx::_ZTV22QAccessibleInterfaceEx: 22u entries
@@ -4402,55 +3592,23 @@ Class QPen
base size=4 base align=4
QPen (0xb4726500) 0
-Class QTypeInfo<QPen>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPen> (0xb47265c0) 0 empty
Class QBrush
size=4 align=4
base size=4 base align=4
QBrush (0xb4726600) 0
-Class QTypeInfo<QBrush>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBrush> (0xb4726680) 0 empty
Class QBrushData
size=108 align=4
base size=105 base align=4
QBrushData (0xb47266c0) 0
-Class QVector<QPair<double, QColor> >::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPair<double, QColor> >::<anonymous union> (0xb4726800) 0
-Class QVector<QPair<double, QColor> >
- size=4 align=4
- base size=4 base align=4
-QVector<QPair<double, QColor> > (0xb4726780) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=32 align=4
- base size=32 base align=4
-QGradient::<anonymous union>::<anonymous struct> (0xb4726880) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=40 align=4
- base size=40 base align=4
-QGradient::<anonymous union>::<anonymous struct> (0xb47268c0) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=24 align=4
- base size=24 base align=4
-QGradient::<anonymous union>::<anonymous struct> (0xb4726900) 0
-Class QGradient::<anonymous union>
- size=40 align=4
- base size=40 base align=4
-QGradient::<anonymous union> (0xb4726840) 0
Class QGradient
size=56 align=4
@@ -4480,30 +3638,14 @@ Class QTextLength
base size=12 base align=4
QTextLength (0xb4726ac0) 0
-Class QSharedDataPointer<QTextFormatPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextFormatPrivate> (0xb4726c00) 0
Class QTextFormat
size=8 align=4
base size=8 base align=4
QTextFormat (0xb4726b80) 0
-Class QVector<QTextLength>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength>::<anonymous union> (0xb4726d80) 0
-Class QVector<QTextLength>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength> (0xb4726d00) 0
-Class QFlags<QTextFormat::PageBreakFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextFormat::PageBreakFlag> (0xb4726dc0) 0
Class QTextCharFormat
size=8 align=4
@@ -4643,10 +3785,6 @@ QTextFrame (0xb4726c80) 0
QObject (0xb44a3040) 0
primary-for QTextObject (0xb44a3000)
-Class QTypeInfo<QTextFrame::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFrame::iterator> (0xb44a3180) 0 empty
Vtable for QTextBlockUserData
QTextBlockUserData::_ZTV18QTextBlockUserData: 4u entries
@@ -4671,25 +3809,13 @@ Class QTextBlock
base size=8 base align=4
QTextBlock (0xb44a3240) 0
-Class QTypeInfo<QTextBlock>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock> (0xb44a32c0) 0 empty
-Class QTypeInfo<QTextBlock::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock::iterator> (0xb44a3300) 0 empty
Class QTextFragment
size=12 align=4
base size=12 base align=4
QTextFragment (0xb44a3340) 0
-Class QTypeInfo<QTextFragment>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFragment> (0xb44a3380) 0 empty
Class QTextDocumentFragment
size=4 align=4
@@ -4756,10 +3882,6 @@ QTextTable (0xb44a3500) 0
QObject (0xb44a35c0) 0
primary-for QTextObject (0xb44a3580)
-Class QSharedDataPointer<QTextCursorPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextCursorPrivate> (0xb44a3740) 0
Class QTextCursor
size=4 align=4
@@ -4808,10 +3930,6 @@ Class QTextOption
base size=24 base align=4
QTextOption (0xb44a3980) 0
-Class QFlags<QTextOption::Flag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextOption::Flag> (0xb44a39c0) 0
Class QTextInlineObject
size=8 align=4
@@ -4828,15 +3946,7 @@ Class QTextLayout
base size=4 base align=4
QTextLayout (0xb44a3a40) 0
-Class QVector<QTextLayout::FormatRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange>::<anonymous union> (0xb44a3bc0) 0
-Class QVector<QTextLayout::FormatRange>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange> (0xb44a3b40) 0
Class QTextLine
size=8 align=4
@@ -4886,10 +3996,6 @@ QTextDocument (0xb44a3d00) 0
QObject (0xb44a3d40) 0
primary-for QTextDocument (0xb44a3d00)
-Class QFlags<QTextDocument::FindFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextDocument::FindFlag> (0xb44a3dc0) 0
Class QPalette
size=8 align=4
@@ -4907,15 +4013,7 @@ Class QAbstractTextDocumentLayout::Selection
base size=12 base align=4
QAbstractTextDocumentLayout::Selection (0xb44a3fc0) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union> (0xb44a3700) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection> (0xb44a3480) 0
Class QAbstractTextDocumentLayout::PaintContext
size=48 align=4
@@ -4977,10 +4075,6 @@ Class QSizePolicy
base size=4 base align=4
QSizePolicy (0xb44a3e40) 0
-Class QFlags<QSizePolicy::ControlType>
- size=4 align=4
- base size=4 base align=4
-QFlags<QSizePolicy::ControlType> (0xb44480c0) 0
Vtable for QStyle
QStyle::_ZTV6QStyle: 35u entries
@@ -5028,15 +4122,7 @@ QStyle (0xb4448100) 0
QObject (0xb4448140) 0
primary-for QStyle (0xb4448100)
-Class QFlags<QStyle::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::StateFlag> (0xb4448200) 0
-Class QFlags<QStyle::SubControl>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::SubControl> (0xb4448240) 0
Vtable for QCommonStyle
QCommonStyle::_ZTV12QCommonStyle: 35u entries
@@ -5242,10 +4328,6 @@ QWindowsXPStyle (0xb4448780) 0
QObject (0xb4448880) 0
primary-for QStyle (0xb4448840)
-Class QPointer<QFocusFrame>
- size=4 align=4
- base size=4 base align=4
-QPointer<QFocusFrame> (0xb4448a40) 0
Vtable for QMotifStyle
QMotifStyle::_ZTV11QMotifStyle: 35u entries
@@ -5541,10 +4623,6 @@ QWidget (0xb4448040) 0
QPaintDevice (0xb44481c0) 8
vptr=((& QWidget::_ZTV7QWidget) + 232u)
-Class QFlags<QWidget::RenderFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QWidget::RenderFlag> (0xb4448480) 0
Vtable for QValidator
QValidator::_ZTV10QValidator: 16u entries
@@ -5745,10 +4823,6 @@ QAbstractSpinBox (0xb422f140) 0
QPaintDevice (0xb422f200) 8
vptr=((& QAbstractSpinBox::_ZTV16QAbstractSpinBox) + 252u)
-Class QFlags<QAbstractSpinBox::StepEnabledFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractSpinBox::StepEnabledFlag> (0xb422f280) 0
Vtable for QAbstractSlider
QAbstractSlider::_ZTV15QAbstractSlider: 64u entries
@@ -6167,10 +5241,6 @@ Class QStyleOptionFrame
QStyleOptionFrame (0xb422fac0) 0
QStyleOption (0xb422fb00) 0
-Class QFlags<QStyleOptionFrameV2::FrameFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionFrameV2::FrameFeature> (0xb422fc80) 0
Class QStyleOptionFrameV2
size=56 align=4
@@ -6197,10 +5267,6 @@ Class QStyleOptionHeader
QStyleOptionHeader (0xb422ff00) 0
QStyleOption (0xb422ff40) 0
-Class QFlags<QStyleOptionButton::ButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionButton::ButtonFeature> (0xb422f240) 0
Class QStyleOptionButton
size=64 align=4
@@ -6208,10 +5274,6 @@ Class QStyleOptionButton
QStyleOptionButton (0xb422f000) 0
QStyleOption (0xb422f100) 0
-Class QFlags<QStyleOptionTab::CornerWidget>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionTab::CornerWidget> (0xb422f6c0) 0
Class QStyleOptionTab
size=72 align=4
@@ -6226,10 +5288,6 @@ QStyleOptionTabV2 (0xb422f840) 0
QStyleOptionTab (0xb422f980) 0
QStyleOption (0xb422fa80) 0
-Class QFlags<QStyleOptionToolBar::ToolBarFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionToolBar::ToolBarFeature> (0xb422ffc0) 0
Class QStyleOptionToolBar
size=68 align=4
@@ -6256,10 +5314,6 @@ Class QStyleOptionMenuItem
QStyleOptionMenuItem (0xb3f70200) 0
QStyleOption (0xb3f70240) 0
-Class QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature> (0xb3f70380) 0
Class QStyleOptionQ3ListViewItem
size=64 align=4
@@ -6292,10 +5346,6 @@ Class QStyleOptionViewItem
QStyleOptionViewItem (0xb3f706c0) 0
QStyleOption (0xb3f70700) 0
-Class QFlags<QStyleOptionViewItemV2::ViewItemFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionViewItemV2::ViewItemFeature> (0xb3f70880) 0
Class QStyleOptionViewItemV2
size=84 align=4
@@ -6351,15 +5401,7 @@ QStyleOptionSpinBox (0xb3f70f80) 0
QStyleOptionComplex (0xb3f70fc0) 0
QStyleOption (0xb3f70000) 0
-Class QList<QStyleOptionQ3ListViewItem>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::<anonymous union> (0xb3f70540) 0
-Class QList<QStyleOptionQ3ListViewItem>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem> (0xb3f703c0) 0
Class QStyleOptionQ3ListView
size=84 align=4
@@ -6368,10 +5410,6 @@ QStyleOptionQ3ListView (0xb3f70100) 0
QStyleOptionComplex (0xb3f70280) 0
QStyleOption (0xb3f70340) 0
-Class QFlags<QStyleOptionToolButton::ToolButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionToolButton::ToolButtonFeature> (0xb3f70e00) 0
Class QStyleOptionToolButton
size=96 align=4
@@ -6488,10 +5526,6 @@ Class QStyleFactory
base size=0 base align=1
QStyleFactory (0xb3e56780) 0 empty
-Class QFlags<QTreeWidgetItemIterator::IteratorFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTreeWidgetItemIterator::IteratorFlag> (0xb3e56840) 0
Class QTreeWidgetItemIterator
size=12 align=4
@@ -6663,10 +5697,6 @@ Class QItemSelectionRange
base size=8 base align=4
QItemSelectionRange (0xb3e56b40) 0
-Class QTypeInfo<QItemSelectionRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QItemSelectionRange> (0xb3e56bc0) 0 empty
Vtable for QItemSelectionModel
QItemSelectionModel::_ZTV19QItemSelectionModel: 18u entries
@@ -6697,20 +5727,8 @@ QItemSelectionModel (0xb3e56c00) 0
QObject (0xb3e56c40) 0
primary-for QItemSelectionModel (0xb3e56c00)
-Class QFlags<QItemSelectionModel::SelectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QItemSelectionModel::SelectionFlag> (0xb3e56cc0) 0
-Class QList<QItemSelectionRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::<anonymous union> (0xb3e56d80) 0
-Class QList<QItemSelectionRange>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange> (0xb3e56d00) 0
Class QItemSelection
size=4 align=4
@@ -6872,10 +5890,6 @@ QAbstractItemView (0xb3e56f00) 0
QPaintDevice (0xb3e56180) 8
vptr=((& QAbstractItemView::_ZTV17QAbstractItemView) + 392u)
-Class QFlags<QAbstractItemView::EditTrigger>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractItemView::EditTrigger> (0xb3e563c0) 0
Vtable for QListView
QListView::_ZTV9QListView: 103u entries
@@ -7140,15 +6154,7 @@ Class QItemEditorCreatorBase
QItemEditorCreatorBase (0xb3da4280) 0 nearly-empty
vptr=((& QItemEditorCreatorBase::_ZTV22QItemEditorCreatorBase) + 8u)
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union> (0xb3da4540) 0
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*> (0xb3da44c0) 0
Vtable for QItemEditorFactory
QItemEditorFactory::_ZTV18QItemEditorFactory: 6u entries
@@ -7296,15 +6302,7 @@ Class QTableWidgetSelectionRange
base size=16 base align=4
QTableWidgetSelectionRange (0xb3da4800) 0
-Class QVector<QWidgetItemData>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData>::<anonymous union> (0xb3da4940) 0
-Class QVector<QWidgetItemData>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData> (0xb3da48c0) 0
Vtable for QTableWidgetItem
QTableWidgetItem::_ZTV16QTableWidgetItem: 10u entries
@@ -7790,15 +6788,7 @@ Class QStandardItem
QStandardItem (0xb3da4dc0) 0
vptr=((& QStandardItem::_ZTV13QStandardItem) + 8u)
-Class QList<QStandardItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QStandardItem*>::<anonymous union> (0xb3cfe100) 0
-Class QList<QStandardItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QStandardItem*> (0xb3cfe080) 0
Vtable for QStandardItemModel
QStandardItemModel::_ZTV18QStandardItemModel: 42u entries
@@ -7926,25 +6916,9 @@ QDirModel (0xb3cfe300) 0
QObject (0xb3cfe380) 0
primary-for QAbstractItemModel (0xb3cfe340)
-Class QVector<QVector<QWidgetItemData> >::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> >::<anonymous union> (0xb3cfe500) 0
-Class QVector<QVector<QWidgetItemData> >
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> > (0xb3cfe480) 0
-Class QList<QTreeWidgetItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::<anonymous union> (0xb3cfe600) 0
-Class QList<QTreeWidgetItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*> (0xb3cfe580) 0
Vtable for QTreeWidgetItem
QTreeWidgetItem::_ZTV15QTreeWidgetItem: 10u entries
@@ -8540,15 +7514,7 @@ QActionGroup (0xb3cfe440) 0
QObject (0xb3cfe540) 0
primary-for QActionGroup (0xb3cfe440)
-Class QList<QAction*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QAction*>::<anonymous union> (0xb3cfeb40) 0
-Class QList<QAction*>
- size=4 align=4
- base size=4 base align=4
-QList<QAction*> (0xb3cfe880) 0
Vtable for QLayoutItem
QLayoutItem::_ZTV11QLayoutItem: 18u entries
@@ -9687,10 +8653,6 @@ QMdiArea (0xb387c0c0) 0
QPaintDevice (0xb387c200) 8
vptr=((& QMdiArea::_ZTV8QMdiArea) + 240u)
-Class QFlags<QMdiArea::AreaOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QMdiArea::AreaOption> (0xb387c280) 0
Vtable for QAbstractButton
QAbstractButton::_ZTV15QAbstractButton: 66u entries
@@ -10012,10 +8974,6 @@ QMdiSubWindow (0xb387c6c0) 0
QPaintDevice (0xb387c780) 8
vptr=((& QMdiSubWindow::_ZTV13QMdiSubWindow) + 232u)
-Class QFlags<QMdiSubWindow::SubWindowOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QMdiSubWindow::SubWindowOption> (0xb387c800) 0
Vtable for QCalendarWidget
QCalendarWidget::_ZTV15QCalendarWidget: 64u entries
@@ -10493,10 +9451,6 @@ QDialogButtonBox (0xb387cf80) 0
QPaintDevice (0xb387c240) 8
vptr=((& QDialogButtonBox::_ZTV16QDialogButtonBox) + 232u)
-Class QFlags<QDialogButtonBox::StandardButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDialogButtonBox::StandardButton> (0xb387c3c0) 0
Vtable for QDockWidget
QDockWidget::_ZTV11QDockWidget: 63u entries
@@ -10576,10 +9530,6 @@ QDockWidget (0xb387c540) 0
QPaintDevice (0xb387c980) 8
vptr=((& QDockWidget::_ZTV11QDockWidget) + 232u)
-Class QFlags<QDockWidget::DockWidgetFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDockWidget::DockWidgetFeature> (0xb387cc40) 0
Vtable for QScrollArea
QScrollArea::_ZTV11QScrollArea: 65u entries
@@ -10930,10 +9880,6 @@ QDateEdit (0xb363e440) 0
QPaintDevice (0xb363e580) 8
vptr=((& QDateEdit::_ZTV9QDateEdit) + 260u)
-Class QFlags<QDateTimeEdit::Section>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDateTimeEdit::Section> (0xb363e600) 0
Vtable for QFontComboBox
QFontComboBox::_ZTV13QFontComboBox: 65u entries
@@ -11017,10 +9963,6 @@ QFontComboBox (0xb363e640) 0
QPaintDevice (0xb363e740) 8
vptr=((& QFontComboBox::_ZTV13QFontComboBox) + 240u)
-Class QFlags<QFontComboBox::FontFilter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFontComboBox::FontFilter> (0xb363e7c0) 0
Vtable for QToolBox
QToolBox::_ZTV8QToolBox: 65u entries
@@ -11275,10 +10217,6 @@ QTextEdit (0xb363eac0) 0
QPaintDevice (0xb363ec00) 8
vptr=((& QTextEdit::_ZTV9QTextEdit) + 256u)
-Class QFlags<QTextEdit::AutoFormattingFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextEdit::AutoFormattingFlag> (0xb363ed00) 0
Vtable for QTextBrowser
QTextBrowser::_ZTV12QTextBrowser: 74u entries
@@ -12210,10 +11148,6 @@ QMainWindow (0xb3586980) 0
QPaintDevice (0xb3586a40) 8
vptr=((& QMainWindow::_ZTV11QMainWindow) + 236u)
-Class QFlags<QMainWindow::DockOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QMainWindow::DockOption> (0xb3586ac0) 0
Vtable for QDial
QDial::_ZTV5QDial: 64u entries
@@ -12786,20 +11720,8 @@ Class QGraphicsItem
QGraphicsItem (0xb34d05c0) 0
vptr=((& QGraphicsItem::_ZTV13QGraphicsItem) + 8u)
-Class QFlags<QGraphicsItem::GraphicsItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGraphicsItem::GraphicsItemFlag> (0xb34d06c0) 0
-Class QMetaTypeId<QGraphicsItem*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QGraphicsItem*> (0xb34d0700) 0 empty
-Class QMetaTypeId<QGraphicsScene*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QGraphicsScene*> (0xb34d07c0) 0 empty
Vtable for QAbstractGraphicsShapeItem
QAbstractGraphicsShapeItem::_ZTV26QAbstractGraphicsShapeItem: 39u entries
@@ -13361,50 +12283,14 @@ Class QPainter
base size=4 base align=4
QPainter (0xb34d0480) 0
-Class QFlags<QPainter::RenderHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPainter::RenderHint> (0xb34d0600) 0
-Class QVector<QLineF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF>::<anonymous union> (0xb34d0a00) 0
-Class QVector<QLineF>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF> (0xb34d0680) 0
-Class QVector<QLine>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine>::<anonymous union> (0xb34d0dc0) 0
-Class QVector<QLine>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine> (0xb34d0c00) 0
-Class QVector<QRectF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF>::<anonymous union> (0xb3244040) 0
-Class QVector<QRectF>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF> (0xb34d0f80) 0
-Class QVector<QRect>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect>::<anonymous union> (0xb3244140) 0
-Class QVector<QRect>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect> (0xb32440c0) 0
Vtable for QGraphicsScene
QGraphicsScene::_ZTV14QGraphicsScene: 34u entries
@@ -13451,20 +12337,8 @@ QGraphicsScene (0xb3244180) 0
QObject (0xb32441c0) 0
primary-for QGraphicsScene (0xb3244180)
-Class QFlags<QGraphicsScene::SceneLayer>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGraphicsScene::SceneLayer> (0xb32442c0) 0
-Class QList<QGraphicsItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QGraphicsItem*>::<anonymous union> (0xb3244380) 0
-Class QList<QGraphicsItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QGraphicsItem*> (0xb3244300) 0
Vtable for QGraphicsView
QGraphicsView::_ZTV13QGraphicsView: 68u entries
@@ -13553,15 +12427,7 @@ QGraphicsView (0xb32443c0) 0
QPaintDevice (0xb3244500) 8
vptr=((& QGraphicsView::_ZTV13QGraphicsView) + 252u)
-Class QFlags<QGraphicsView::CacheModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGraphicsView::CacheModeFlag> (0xb32445c0) 0
-Class QFlags<QGraphicsView::OptimizationFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGraphicsView::OptimizationFlag> (0xb3244600) 0
Vtable for QGraphicsItemAnimation
QGraphicsItemAnimation::_ZTV22QGraphicsItemAnimation: 16u entries
@@ -13921,10 +12787,6 @@ QAbstractPrintDialog (0xb3244b40) 0
QPaintDevice (0xb3244c40) 8
vptr=((& QAbstractPrintDialog::_ZTV20QAbstractPrintDialog) + 248u)
-Class QFlags<QAbstractPrintDialog::PrintDialogOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractPrintDialog::PrintDialogOption> (0xb3244d00) 0
Vtable for QPrintDialog
QPrintDialog::_ZTV12QPrintDialog: 67u entries
@@ -14183,10 +13045,6 @@ QWizard (0xb3244580) 0
QPaintDevice (0xb3244b00) 8
vptr=((& QWizard::_ZTV7QWizard) + 260u)
-Class QFlags<QWizard::WizardOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QWizard::WizardOption> (0xb3244cc0) 0
Vtable for QWizardPage
QWizardPage::_ZTV11QWizardPage: 68u entries
@@ -14354,10 +13212,6 @@ QFileDialog (0xb321a100) 0
QPaintDevice (0xb321a200) 8
vptr=((& QFileDialog::_ZTV11QFileDialog) + 244u)
-Class QFlags<QFileDialog::Option>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileDialog::Option> (0xb321a2c0) 0
Vtable for QFontDialog
QFontDialog::_ZTV11QFontDialog: 66u entries
@@ -14694,10 +13548,6 @@ QMessageBox (0xb321a7c0) 0
QPaintDevice (0xb321a8c0) 8
vptr=((& QMessageBox::_ZTV11QMessageBox) + 244u)
-Class QFlags<QMessageBox::StandardButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<QMessageBox::StandardButton> (0xb321a980) 0
Vtable for QColorDialog
QColorDialog::_ZTV12QColorDialog: 66u entries
@@ -15173,15 +14023,7 @@ Class QTextItem
base size=0 base align=1
QTextItem (0xb2f53300) 0 empty
-Class QTypeInfo<QTextItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextItem> (0xb2f53340) 0 empty
-Class QFlags<QPaintEngine::PaintEngineFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::PaintEngineFeature> (0xb2f53400) 0
Vtable for QPaintEngine
QPaintEngine::_ZTV12QPaintEngine: 24u entries
@@ -15216,20 +14058,12 @@ Class QPaintEngine
QPaintEngine (0xb2f53380) 0
vptr=((& QPaintEngine::_ZTV12QPaintEngine) + 8u)
-Class QFlags<QPaintEngine::DirtyFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::DirtyFlag> (0xb2f53500) 0
Class QPaintEngineState
size=4 align=4
base size=4 base align=4
QPaintEngineState (0xb2f53480) 0
-Class QFlags<QTextItem::RenderFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextItem::RenderFlag> (0xb2f53540) 0
Vtable for QInputContext
QInputContext::_ZTV13QInputContext: 26u entries
@@ -15434,10 +14268,6 @@ QUdpSocket (0xb2f53a40) 0
QObject (0xb2f53b00) 0
primary-for QIODevice (0xb2f53ac0)
-Class QFlags<QUdpSocket::BindFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUdpSocket::BindFlag> (0xb2f53b80) 0
Class QSslCertificate
size=4 align=4
@@ -15494,10 +14324,6 @@ QTcpSocket (0xb2f53c40) 0
QObject (0xb2f53d00) 0
primary-for QIODevice (0xb2f53cc0)
-Class QMetaTypeId<QList<QSslError> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QList<QSslError> > (0xb2f53d80) 0 empty
Vtable for QSslSocket
QSslSocket::_ZTV10QSslSocket: 30u entries
@@ -15556,20 +14382,12 @@ Class QNetworkAddressEntry
base size=4 base align=4
QNetworkAddressEntry (0xb2f53000) 0
-Class QSharedDataPointer<QNetworkInterfacePrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QNetworkInterfacePrivate> (0xb2f531c0) 0
Class QNetworkInterface
size=4 align=4
base size=4 base align=4
QNetworkInterface (0xb2f53100) 0
-Class QFlags<QNetworkInterface::InterfaceFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QNetworkInterface::InterfaceFlag> (0xb2f533c0) 0
Class QSslKey
size=4 align=4
@@ -15748,10 +14566,6 @@ QTcpServer (0xb2f15280) 0
QObject (0xb2f152c0) 0
primary-for QTcpServer (0xb2f15280)
-Class QFlags<QSql::ParamTypeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QSql::ParamTypeFlag> (0xb2f15340) 0
Class QSqlRecord
size=4 align=4
@@ -16091,15 +14905,7 @@ QSqlDriver (0xb2f15c40) 0
QObject (0xb2f15c80) 0
primary-for QSqlDriver (0xb2f15c40)
-Class QList<bool>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<bool>::<anonymous union> (0xb2f15e40) 0
-Class QList<bool>
- size=4 align=4
- base size=4 base align=4
-QList<bool> (0xb2f15dc0) 0
Class QSqlIndex
size=16 align=4
@@ -16288,71 +15094,11 @@ Class Q3GCacheIterator
base size=4 base align=4
Q3GCacheIterator (0xb2c71280) 0
-Vtable for Q3AsciiCache<void>
-Q3AsciiCache<void>::_ZTV12Q3AsciiCacheIvE: 8u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI12Q3AsciiCacheIvE)
-8 Q3AsciiCache<type>::count [with type = void]
-12 Q3AsciiCache<type>::clear [with type = void]
-16 Q3AsciiCache<type>::~Q3AsciiCache [with type = void]
-20 Q3AsciiCache<type>::~Q3AsciiCache [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3AsciiCache<type>::deleteItem [with type = void]
-Class Q3AsciiCache<void>
- size=32 align=4
- base size=29 base align=4
-Q3AsciiCache<void> (0xb2c71380) 0
- vptr=((& Q3AsciiCache<void>::_ZTV12Q3AsciiCacheIvE) + 8u)
- Q3GCache (0xb2c713c0) 0
- primary-for Q3AsciiCache<void> (0xb2c71380)
- Q3PtrCollection (0xb2c71400) 0
- primary-for Q3GCache (0xb2c713c0)
-
-Vtable for Q3IntCache<void>
-Q3IntCache<void>::_ZTV10Q3IntCacheIvE: 8u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI10Q3IntCacheIvE)
-8 Q3IntCache<type>::count [with type = void]
-12 Q3IntCache<type>::clear [with type = void]
-16 Q3IntCache<type>::~Q3IntCache [with type = void]
-20 Q3IntCache<type>::~Q3IntCache [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3IntCache<type>::deleteItem [with type = void]
-Class Q3IntCache<void>
- size=32 align=4
- base size=29 base align=4
-Q3IntCache<void> (0xb2c715c0) 0
- vptr=((& Q3IntCache<void>::_ZTV10Q3IntCacheIvE) + 8u)
- Q3GCache (0xb2c71600) 0
- primary-for Q3IntCache<void> (0xb2c715c0)
- Q3PtrCollection (0xb2c71640) 0
- primary-for Q3GCache (0xb2c71600)
-
-Vtable for Q3PtrStack<void>
-Q3PtrStack<void>::_ZTV10Q3PtrStackIvE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI10Q3PtrStackIvE)
-8 Q3PtrStack<type>::count [with type = void]
-12 Q3PtrStack<type>::clear [with type = void]
-16 Q3PtrStack<type>::~Q3PtrStack [with type = void]
-20 Q3PtrStack<type>::~Q3PtrStack [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3PtrStack<type>::deleteItem [with type = void]
-32 Q3GList::compareItems
-36 Q3GList::read
-40 Q3GList::write
-Class Q3PtrStack<void>
- size=32 align=4
- base size=32 base align=4
-Q3PtrStack<void> (0xb2c71800) 0
- vptr=((& Q3PtrStack<void>::_ZTV10Q3PtrStackIvE) + 8u)
- Q3GList (0xb2c71840) 0
- primary-for Q3PtrStack<void> (0xb2c71800)
- Q3PtrCollection (0xb2c71880) 0
- primary-for Q3GList (0xb2c71840)
+
+
Class Q3CString
size=4 align=4
@@ -16387,26 +15133,7 @@ Class Q3GArray
Q3GArray (0xb2c71b00) 0
vptr=((& Q3GArray::_ZTV8Q3GArray) + 8u)
-Vtable for Q3Cache<void>
-Q3Cache<void>::_ZTV7Q3CacheIvE: 8u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI7Q3CacheIvE)
-8 Q3Cache<type>::count [with type = void]
-12 Q3Cache<type>::clear [with type = void]
-16 Q3Cache<type>::~Q3Cache [with type = void]
-20 Q3Cache<type>::~Q3Cache [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3Cache<type>::deleteItem [with type = void]
-Class Q3Cache<void>
- size=32 align=4
- base size=29 base align=4
-Q3Cache<void> (0xb2c71d80) 0
- vptr=((& Q3Cache<void>::_ZTV7Q3CacheIvE) + 8u)
- Q3GCache (0xb2c71dc0) 0
- primary-for Q3Cache<void> (0xb2c71d80)
- Q3PtrCollection (0xb2c71e00) 0
- primary-for Q3GCache (0xb2c71dc0)
Vtable for Q3Signal
Q3Signal::_ZTV8Q3Signal: 14u entries
@@ -16433,29 +15160,7 @@ Q3Signal (0xb2c718c0) 0
QObject (0xb2c71900) 0
primary-for Q3Signal (0xb2c718c0)
-Vtable for Q3PtrQueue<void>
-Q3PtrQueue<void>::_ZTV10Q3PtrQueueIvE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI10Q3PtrQueueIvE)
-8 Q3PtrQueue<type>::count [with type = void]
-12 Q3PtrQueue<type>::clear [with type = void]
-16 Q3PtrQueue<type>::~Q3PtrQueue [with type = void]
-20 Q3PtrQueue<type>::~Q3PtrQueue [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3PtrQueue<type>::deleteItem [with type = void]
-32 Q3GList::compareItems
-36 Q3GList::read
-40 Q3GList::write
-Class Q3PtrQueue<void>
- size=32 align=4
- base size=32 base align=4
-Q3PtrQueue<void> (0xb2bbc0c0) 0
- vptr=((& Q3PtrQueue<void>::_ZTV10Q3PtrQueueIvE) + 8u)
- Q3GList (0xb2bbc100) 0
- primary-for Q3PtrQueue<void> (0xb2bbc0c0)
- Q3PtrCollection (0xb2bbc140) 0
- primary-for Q3GList (0xb2bbc100)
Vtable for Q3GVector
Q3GVector::_ZTV9Q3GVector: 11u entries
@@ -16479,76 +15184,11 @@ Q3GVector (0xb2bbc1c0) 0
Q3PtrCollection (0xb2bbc200) 0
primary-for Q3GVector (0xb2bbc1c0)
-Vtable for Q3PtrVector<void>
-Q3PtrVector<void>::_ZTV11Q3PtrVectorIvE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI11Q3PtrVectorIvE)
-8 Q3PtrVector<type>::count [with type = void]
-12 Q3PtrVector<type>::clear [with type = void]
-16 Q3PtrVector<type>::~Q3PtrVector [with type = void]
-20 Q3PtrVector<type>::~Q3PtrVector [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3PtrVector<type>::deleteItem [with type = void]
-32 Q3GVector::compareItems
-36 Q3GVector::read
-40 Q3GVector::write
-Class Q3PtrVector<void>
- size=20 align=4
- base size=20 base align=4
-Q3PtrVector<void> (0xb2bbc340) 0
- vptr=((& Q3PtrVector<void>::_ZTV11Q3PtrVectorIvE) + 8u)
- Q3GVector (0xb2bbc380) 0
- primary-for Q3PtrVector<void> (0xb2bbc340)
- Q3PtrCollection (0xb2bbc3c0) 0
- primary-for Q3GVector (0xb2bbc380)
-
-Vtable for Q3Dict<void>
-Q3Dict<void>::_ZTV6Q3DictIvE: 10u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI6Q3DictIvE)
-8 Q3Dict<type>::count [with type = void]
-12 Q3Dict<type>::clear [with type = void]
-16 Q3Dict<type>::~Q3Dict [with type = void]
-20 Q3Dict<type>::~Q3Dict [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3Dict<type>::deleteItem [with type = void]
-32 Q3GDict::read
-36 Q3GDict::write
-Class Q3Dict<void>
- size=28 align=4
- base size=28 base align=4
-Q3Dict<void> (0xb2bbc500) 0
- vptr=((& Q3Dict<void>::_ZTV6Q3DictIvE) + 8u)
- Q3GDict (0xb2bbc540) 0
- primary-for Q3Dict<void> (0xb2bbc500)
- Q3PtrCollection (0xb2bbc580) 0
- primary-for Q3GDict (0xb2bbc540)
-Vtable for Q3PtrVector<char>
-Q3PtrVector<char>::_ZTV11Q3PtrVectorIcE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI11Q3PtrVectorIcE)
-8 Q3PtrVector<type>::count [with type = char]
-12 Q3PtrVector<type>::clear [with type = char]
-16 Q3PtrVector<type>::~Q3PtrVector [with type = char]
-20 Q3PtrVector<type>::~Q3PtrVector [with type = char]
-24 Q3PtrCollection::newItem
-28 Q3PtrVector<type>::deleteItem [with type = char]
-32 Q3GVector::compareItems
-36 Q3GVector::read
-40 Q3GVector::write
-Class Q3PtrVector<char>
- size=20 align=4
- base size=20 base align=4
-Q3PtrVector<char> (0xb2bbc680) 0
- vptr=((& Q3PtrVector<char>::_ZTV11Q3PtrVectorIcE) + 8u)
- Q3GVector (0xb2bbc6c0) 0
- primary-for Q3PtrVector<char> (0xb2bbc680)
- Q3PtrCollection (0xb2bbc700) 0
- primary-for Q3GVector (0xb2bbc6c0)
+
Vtable for Q3StrVec
Q3StrVec::_ZTV8Q3StrVec: 11u entries
@@ -16604,75 +15244,11 @@ Q3StrIVec (0xb2bbc8c0) 0
Q3PtrCollection (0xb2bbc9c0) 0
primary-for Q3GVector (0xb2bbc980)
-Vtable for Q3PtrList<void>
-Q3PtrList<void>::_ZTV9Q3PtrListIvE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI9Q3PtrListIvE)
-8 Q3PtrList<type>::count [with type = void]
-12 Q3PtrList<type>::clear [with type = void]
-16 Q3PtrList<type>::~Q3PtrList [with type = void]
-20 Q3PtrList<type>::~Q3PtrList [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3PtrList<type>::deleteItem [with type = void]
-32 Q3GList::compareItems
-36 Q3GList::read
-40 Q3GList::write
-Class Q3PtrList<void>
- size=32 align=4
- base size=32 base align=4
-Q3PtrList<void> (0xb2bbcb80) 0
- vptr=((& Q3PtrList<void>::_ZTV9Q3PtrListIvE) + 8u)
- Q3GList (0xb2bbcbc0) 0
- primary-for Q3PtrList<void> (0xb2bbcb80)
- Q3PtrCollection (0xb2bbcc00) 0
- primary-for Q3GList (0xb2bbcbc0)
-
-Vtable for Q3AsciiDict<void>
-Q3AsciiDict<void>::_ZTV11Q3AsciiDictIvE: 10u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI11Q3AsciiDictIvE)
-8 Q3AsciiDict<type>::count [with type = void]
-12 Q3AsciiDict<type>::clear [with type = void]
-16 Q3AsciiDict<type>::~Q3AsciiDict [with type = void]
-20 Q3AsciiDict<type>::~Q3AsciiDict [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3AsciiDict<type>::deleteItem [with type = void]
-32 Q3GDict::read
-36 Q3GDict::write
-Class Q3AsciiDict<void>
- size=28 align=4
- base size=28 base align=4
-Q3AsciiDict<void> (0xb2bbce40) 0
- vptr=((& Q3AsciiDict<void>::_ZTV11Q3AsciiDictIvE) + 8u)
- Q3GDict (0xb2bbce80) 0
- primary-for Q3AsciiDict<void> (0xb2bbce40)
- Q3PtrCollection (0xb2bbcec0) 0
- primary-for Q3GDict (0xb2bbce80)
-Vtable for Q3AsciiDict<QMetaObject>
-Q3AsciiDict<QMetaObject>::_ZTV11Q3AsciiDictI11QMetaObjectE: 10u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI11Q3AsciiDictI11QMetaObjectE)
-8 Q3AsciiDict<type>::count [with type = QMetaObject]
-12 Q3AsciiDict<type>::clear [with type = QMetaObject]
-16 Q3AsciiDict<type>::~Q3AsciiDict [with type = QMetaObject]
-20 Q3AsciiDict<type>::~Q3AsciiDict [with type = QMetaObject]
-24 Q3PtrCollection::newItem
-28 Q3AsciiDict<type>::deleteItem [with type = QMetaObject]
-32 Q3GDict::read
-36 Q3GDict::write
-Class Q3AsciiDict<QMetaObject>
- size=28 align=4
- base size=28 base align=4
-Q3AsciiDict<QMetaObject> (0xb2bbcfc0) 0
- vptr=((& Q3AsciiDict<QMetaObject>::_ZTV11Q3AsciiDictI11QMetaObjectE) + 8u)
- Q3GDict (0xb2bbc180) 0
- primary-for Q3AsciiDict<QMetaObject> (0xb2bbcfc0)
- Q3PtrCollection (0xb2bbc240) 0
- primary-for Q3GDict (0xb2bbc180)
+
Vtable for Q3ObjectDictionary
Q3ObjectDictionary::_ZTV18Q3ObjectDictionary: 10u entries
@@ -16699,29 +15275,7 @@ Q3ObjectDictionary (0xb2bbc400) 0
Q3PtrCollection (0xb2bbc880) 0
primary-for Q3GDict (0xb2bbc740)
-Vtable for Q3PtrList<char>
-Q3PtrList<char>::_ZTV9Q3PtrListIcE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI9Q3PtrListIcE)
-8 Q3PtrList<type>::count [with type = char]
-12 Q3PtrList<type>::clear [with type = char]
-16 Q3PtrList<type>::~Q3PtrList [with type = char]
-20 Q3PtrList<type>::~Q3PtrList [with type = char]
-24 Q3PtrCollection::newItem
-28 Q3PtrList<type>::deleteItem [with type = char]
-32 Q3GList::compareItems
-36 Q3GList::read
-40 Q3GList::write
-Class Q3PtrList<char>
- size=32 align=4
- base size=32 base align=4
-Q3PtrList<char> (0xb2bbcc40) 0
- vptr=((& Q3PtrList<char>::_ZTV9Q3PtrListIcE) + 8u)
- Q3GList (0xb2bbcf00) 0
- primary-for Q3PtrList<char> (0xb2bbcc40)
- Q3PtrCollection (0xb2a9d000) 0
- primary-for Q3GList (0xb2bbcf00)
Vtable for Q3StrList
Q3StrList::_ZTV9Q3StrList: 11u entries
@@ -16749,11 +15303,6 @@ Q3StrList (0xb2a9d080) 0
Q3PtrCollection (0xb2a9d140) 0
primary-for Q3GList (0xb2a9d100)
-Class Q3PtrListStdIterator<char>
- size=4 align=4
- base size=4 base align=4
-Q3PtrListStdIterator<char> (0xb2a9d200) 0
- Q3GListStdIterator (0xb2a9d240) 0
Vtable for Q3StrIList
Q3StrIList::_ZTV10Q3StrIList: 11u entries
@@ -16783,28 +15332,7 @@ Q3StrIList (0xb2a9d280) 0
Q3PtrCollection (0xb2a9d380) 0
primary-for Q3GList (0xb2a9d340)
-Vtable for Q3PtrDict<void>
-Q3PtrDict<void>::_ZTV9Q3PtrDictIvE: 10u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI9Q3PtrDictIvE)
-8 Q3PtrDict<type>::count [with type = void]
-12 Q3PtrDict<type>::clear [with type = void]
-16 Q3PtrDict<type>::~Q3PtrDict [with type = void]
-20 Q3PtrDict<type>::~Q3PtrDict [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3PtrDict<type>::deleteItem [with type = void]
-32 Q3GDict::read
-36 Q3GDict::write
-Class Q3PtrDict<void>
- size=28 align=4
- base size=28 base align=4
-Q3PtrDict<void> (0xb2a9d4c0) 0
- vptr=((& Q3PtrDict<void>::_ZTV9Q3PtrDictIvE) + 8u)
- Q3GDict (0xb2a9d500) 0
- primary-for Q3PtrDict<void> (0xb2a9d4c0)
- Q3PtrCollection (0xb2a9d540) 0
- primary-for Q3GDict (0xb2a9d500)
Vtable for Q3Semaphore
Q3Semaphore::_ZTV11Q3Semaphore: 4u entries
@@ -16819,28 +15347,7 @@ Class Q3Semaphore
Q3Semaphore (0xb2a9d640) 0
vptr=((& Q3Semaphore::_ZTV11Q3Semaphore) + 8u)
-Vtable for Q3IntDict<void>
-Q3IntDict<void>::_ZTV9Q3IntDictIvE: 10u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI9Q3IntDictIvE)
-8 Q3IntDict<type>::count [with type = void]
-12 Q3IntDict<type>::clear [with type = void]
-16 Q3IntDict<type>::~Q3IntDict [with type = void]
-20 Q3IntDict<type>::~Q3IntDict [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3IntDict<type>::deleteItem [with type = void]
-32 Q3GDict::read
-36 Q3GDict::write
-Class Q3IntDict<void>
- size=28 align=4
- base size=28 base align=4
-Q3IntDict<void> (0xb2a9d780) 0
- vptr=((& Q3IntDict<void>::_ZTV9Q3IntDictIvE) + 8u)
- Q3GDict (0xb2a9d7c0) 0
- primary-for Q3IntDict<void> (0xb2a9d780)
- Q3PtrCollection (0xb2a9d800) 0
- primary-for Q3GDict (0xb2a9d7c0)
Vtable for Q3Frame
Q3Frame::_ZTV7Q3Frame: 66u entries
@@ -17051,15 +15558,7 @@ Class Q3StyleSheetItem
base size=4 base align=4
Q3StyleSheetItem (0xb2a9dc80) 0
-Class QHash<QString, Q3StyleSheetItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QHash<QString, Q3StyleSheetItem*>::<anonymous union> (0xb2a9de40) 0
-Class QHash<QString, Q3StyleSheetItem*>
- size=4 align=4
- base size=4 base align=4
-QHash<QString, Q3StyleSheetItem*> (0xb2a9ddc0) 0
Vtable for Q3StyleSheet
Q3StyleSheet::_ZTV12Q3StyleSheet: 16u entries
@@ -17120,25 +15619,9 @@ Class Q3TextEditOptimPrivate::Selection
base size=8 base align=4
Q3TextEditOptimPrivate::Selection (0xb2a9d040) 0
-Class QMap<int, QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<int, QString>::<anonymous union> (0xb2a9d580) 0
-Class QMap<int, QString>
- size=4 align=4
- base size=4 base align=4
-QMap<int, QString> (0xb2a9d180) 0
-Class QMap<int, Q3TextEditOptimPrivate::Tag*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<int, Q3TextEditOptimPrivate::Tag*>::<anonymous union> (0xb2a9dc40) 0
-Class QMap<int, Q3TextEditOptimPrivate::Tag*>
- size=4 align=4
- base size=4 base align=4
-QMap<int, Q3TextEditOptimPrivate::Tag*> (0xb2a9d840) 0
Class Q3TextEditOptimPrivate
size=52 align=4
@@ -17346,10 +15829,6 @@ Q3TextEdit (0xb2a9df00) 0
QPaintDevice (0xb2991140) 8
vptr=((& Q3TextEdit::_ZTV10Q3TextEdit) + 680u)
-Class QFlags<Q3TextEdit::AutoFormattingFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Q3TextEdit::AutoFormattingFlag> (0xb2991240) 0
Vtable for Q3TextView
Q3TextView::_ZTV10Q3TextView: 175u entries
@@ -18131,15 +16610,7 @@ Q3NetworkOperation (0xb2991dc0) 0
QObject (0xb2991e00) 0
primary-for Q3NetworkOperation (0xb2991dc0)
-Class QMap<QString, QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QString>::<anonymous union> (0xb2991f80) 0
-Class QMap<QString, QString>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QString> (0xb2991f00) 0
Vtable for Q3HttpHeader
Q3HttpHeader::_ZTV12Q3HttpHeader: 8u entries
@@ -20100,100 +18571,13 @@ Class Q3Table::TableWidget
base size=12 base align=4
Q3Table::TableWidget (0xb2554000) 0
-Vtable for Q3PtrVector<Q3TableItem>
-Q3PtrVector<Q3TableItem>::_ZTV11Q3PtrVectorI11Q3TableItemE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI11Q3PtrVectorI11Q3TableItemE)
-8 Q3PtrVector<type>::count [with type = Q3TableItem]
-12 Q3PtrVector<type>::clear [with type = Q3TableItem]
-16 Q3PtrVector<type>::~Q3PtrVector [with type = Q3TableItem]
-20 Q3PtrVector<type>::~Q3PtrVector [with type = Q3TableItem]
-24 Q3PtrCollection::newItem
-28 Q3PtrVector<type>::deleteItem [with type = Q3TableItem]
-32 Q3GVector::compareItems
-36 Q3GVector::read
-40 Q3GVector::write
-Class Q3PtrVector<Q3TableItem>
- size=20 align=4
- base size=20 base align=4
-Q3PtrVector<Q3TableItem> (0xb2554080) 0
- vptr=((& Q3PtrVector<Q3TableItem>::_ZTV11Q3PtrVectorI11Q3TableItemE) + 8u)
- Q3GVector (0xb25540c0) 0
- primary-for Q3PtrVector<Q3TableItem> (0xb2554080)
- Q3PtrCollection (0xb2554100) 0
- primary-for Q3GVector (0xb25540c0)
-
-Vtable for Q3PtrVector<QWidget>
-Q3PtrVector<QWidget>::_ZTV11Q3PtrVectorI7QWidgetE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI11Q3PtrVectorI7QWidgetE)
-8 Q3PtrVector<type>::count [with type = QWidget]
-12 Q3PtrVector<type>::clear [with type = QWidget]
-16 Q3PtrVector<type>::~Q3PtrVector [with type = QWidget]
-20 Q3PtrVector<type>::~Q3PtrVector [with type = QWidget]
-24 Q3PtrCollection::newItem
-28 Q3PtrVector<type>::deleteItem [with type = QWidget]
-32 Q3GVector::compareItems
-36 Q3GVector::read
-40 Q3GVector::write
-Class Q3PtrVector<QWidget>
- size=20 align=4
- base size=20 base align=4
-Q3PtrVector<QWidget> (0xb25541c0) 0
- vptr=((& Q3PtrVector<QWidget>::_ZTV11Q3PtrVectorI7QWidgetE) + 8u)
- Q3GVector (0xb2554200) 0
- primary-for Q3PtrVector<QWidget> (0xb25541c0)
- Q3PtrCollection (0xb2554240) 0
- primary-for Q3GVector (0xb2554200)
-
-Vtable for Q3PtrList<Q3TableSelection>
-Q3PtrList<Q3TableSelection>::_ZTV9Q3PtrListI16Q3TableSelectionE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI9Q3PtrListI16Q3TableSelectionE)
-8 Q3PtrList<type>::count [with type = Q3TableSelection]
-12 Q3PtrList<type>::clear [with type = Q3TableSelection]
-16 Q3PtrList<type>::~Q3PtrList [with type = Q3TableSelection]
-20 Q3PtrList<type>::~Q3PtrList [with type = Q3TableSelection]
-24 Q3PtrCollection::newItem
-28 Q3PtrList<type>::deleteItem [with type = Q3TableSelection]
-32 Q3GList::compareItems
-36 Q3GList::read
-40 Q3GList::write
-Class Q3PtrList<Q3TableSelection>
- size=32 align=4
- base size=32 base align=4
-Q3PtrList<Q3TableSelection> (0xb2554300) 0
- vptr=((& Q3PtrList<Q3TableSelection>::_ZTV9Q3PtrListI16Q3TableSelectionE) + 8u)
- Q3GList (0xb2554340) 0
- primary-for Q3PtrList<Q3TableSelection> (0xb2554300)
- Q3PtrCollection (0xb2554380) 0
- primary-for Q3GList (0xb2554340)
-
-Vtable for Q3IntDict<int>
-Q3IntDict<int>::_ZTV9Q3IntDictIiE: 10u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI9Q3IntDictIiE)
-8 Q3IntDict<type>::count [with type = int]
-12 Q3IntDict<type>::clear [with type = int]
-16 Q3IntDict<type>::~Q3IntDict [with type = int]
-20 Q3IntDict<type>::~Q3IntDict [with type = int]
-24 Q3PtrCollection::newItem
-28 Q3IntDict<type>::deleteItem [with type = int]
-32 Q3GDict::read
-36 Q3GDict::write
-Class Q3IntDict<int>
- size=28 align=4
- base size=28 base align=4
-Q3IntDict<int> (0xb2554440) 0
- vptr=((& Q3IntDict<int>::_ZTV9Q3IntDictIiE) + 8u)
- Q3GDict (0xb2554480) 0
- primary-for Q3IntDict<int> (0xb2554440)
- Q3PtrCollection (0xb25544c0) 0
- primary-for Q3GDict (0xb2554480)
+
+
+
Vtable for Q3Table
Q3Table::_ZTV7Q3Table: 183u entries
@@ -21616,15 +20000,7 @@ Q3ProgressBar (0xb2628680) 0
QPaintDevice (0xb2628780) 8
vptr=((& Q3ProgressBar::_ZTV13Q3ProgressBar) + 244u)
-Class QMap<int, QAbstractButton*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<int, QAbstractButton*>::<anonymous union> (0xb2628a40) 0
-Class QMap<int, QAbstractButton*>
- size=4 align=4
- base size=4 base align=4
-QMap<int, QAbstractButton*> (0xb26289c0) 0
Vtable for Q3ButtonGroup
Q3ButtonGroup::_ZTV13Q3ButtonGroup: 64u entries
@@ -21879,25 +20255,9 @@ Q3HButtonGroup (0xb2628d00) 0
QPaintDevice (0xb2628e80) 8
vptr=((& Q3HButtonGroup::_ZTV14Q3HButtonGroup) + 236u)
-Class QList<QRect>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QRect>::<anonymous union> (0xb26283c0) 0
-Class QList<QRect>
- size=4 align=4
- base size=4 base align=4
-QList<QRect> (0xb2628080) 0
-Class QList<Q3DockWindow*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<Q3DockWindow*>::<anonymous union> (0xb26287c0) 0
-Class QList<Q3DockWindow*>
- size=4 align=4
- base size=4 base align=4
-QList<Q3DockWindow*> (0xb2628580) 0
Vtable for Q3DockAreaLayout
Q3DockAreaLayout::_ZTV16Q3DockAreaLayout: 48u entries
@@ -21962,10 +20322,6 @@ Q3DockAreaLayout (0xb2628f00) 0
QLayoutItem (0xb2628fc0) 8
vptr=((& Q3DockAreaLayout::_ZTV16Q3DockAreaLayout) + 128u)
-Class QPointer<Q3DockArea>
- size=4 align=4
- base size=4 base align=4
-QPointer<Q3DockArea> (0xb25160c0) 0
Class Q3DockArea::DockWindowData
size=24 align=4
@@ -23159,21 +21515,8 @@ Q3PointArray (0xb24290c0) 0
QPolygon (0xb2429100) 0
QVector<QPoint> (0xb2429140) 0
-Class QLinkedList<Q3CanvasItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QLinkedList<Q3CanvasItem*>::<anonymous union> (0xb2429280) 0
-Class QLinkedList<Q3CanvasItem*>
- size=4 align=4
- base size=4 base align=4
-QLinkedList<Q3CanvasItem*> (0xb2429200) 0
-Class Q3ValueList<Q3CanvasItem*>
- size=4 align=4
- base size=4 base align=4
-Q3ValueList<Q3CanvasItem*> (0xb24292c0) 0
- QLinkedList<Q3CanvasItem*> (0xb2429300) 0
Class Q3CanvasItemList
size=4 align=4
@@ -24017,21 +22360,8 @@ Class Q3SqlFieldInfo
Q3SqlFieldInfo (0xb231b280) 0
vptr=((& Q3SqlFieldInfo::_ZTV14Q3SqlFieldInfo) + 8u)
-Class QLinkedList<Q3SqlFieldInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QLinkedList<Q3SqlFieldInfo>::<anonymous union> (0xb231b400) 0
-Class QLinkedList<Q3SqlFieldInfo>
- size=4 align=4
- base size=4 base align=4
-QLinkedList<Q3SqlFieldInfo> (0xb231b380) 0
-Class Q3ValueList<Q3SqlFieldInfo>
- size=4 align=4
- base size=4 base align=4
-Q3ValueList<Q3SqlFieldInfo> (0xb231b440) 0
- QLinkedList<Q3SqlFieldInfo> (0xb231b480) 0
Class Q3SqlRecordInfo
size=4 align=4
@@ -24040,31 +22370,10 @@ Q3SqlRecordInfo (0xb231b500) 0
Q3ValueList<Q3SqlFieldInfo> (0xb231b540) 0
QLinkedList<Q3SqlFieldInfo> (0xb231b580) 0
-Class QList<Q3SqlFieldInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<Q3SqlFieldInfo>::<anonymous union> (0xb231b680) 0
-Class QList<Q3SqlFieldInfo>
- size=4 align=4
- base size=4 base align=4
-QList<Q3SqlFieldInfo> (0xb231b600) 0
-Class QLinkedList<Q3SqlFieldInfo>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QLinkedList<Q3SqlFieldInfo>::const_iterator (0xb231b740) 0
-Class Q3ValueListConstIterator<Q3SqlFieldInfo>
- size=4 align=4
- base size=4 base align=4
-Q3ValueListConstIterator<Q3SqlFieldInfo> (0xb231b780) 0
- QLinkedList<Q3SqlFieldInfo>::const_iterator (0xb231b7c0) 0
-Class QLinkedList<Q3SqlFieldInfo>::iterator
- size=4 align=4
- base size=4 base align=4
-QLinkedList<Q3SqlFieldInfo>::iterator (0xb231b840) 0
Vtable for Q3SqlForm
Q3SqlForm::_ZTV9Q3SqlForm: 26u entries
@@ -24462,243 +22771,51 @@ Q3SqlSelectCursor (0xb231bdc0) 0
QSqlRecord (0xb231be40) 4
QSqlQuery (0xb231be80) 8
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0xb231bf40) 0
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0xb231bfc0) 0
-Class QVectorTypedData<QPoint>
- size=24 align=4
- base size=24 base align=4
-QVectorTypedData<QPoint> (0xb231b240) 0
-Class QVectorTypedData<QPointF>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QPointF> (0xb231b700) 0
-Class QVectorTypedData<QPainterPath::Element>
- size=36 align=4
- base size=36 base align=4
-QVectorTypedData<QPainterPath::Element> (0xb231b900) 0
-Class QVectorTypedData<QTextLength>
- size=28 align=4
- base size=28 base align=4
-QVectorTypedData<QTextLength> (0xb231bec0) 0
-Class QVectorTypedData<QTextLayout::FormatRange>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QTextLayout::FormatRange> (0xb1fa3040) 0
-Class QVectorTypedData<QAbstractTextDocumentLayout::Selection>
- size=28 align=4
- base size=28 base align=4
-QVectorTypedData<QAbstractTextDocumentLayout::Selection> (0xb1fa30c0) 0
-Class QList<QTreeWidgetItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::Node (0xb1fa32c0) 0
-Class QVectorTypedData<QVector<QWidgetItemData> >
- size=20 align=4
- base size=20 base align=4
-QVectorTypedData<QVector<QWidgetItemData> > (0xb1fa3340) 0
-Class QList<QAction*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QAction*>::Node (0xb1fa33c0) 0
-Class QVectorTypedData<QLineF>
- size=48 align=4
- base size=48 base align=4
-QVectorTypedData<QLineF> (0xb1fa3540) 0
-Class QVectorTypedData<QLine>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QLine> (0xb1fa35c0) 0
-Class QVectorTypedData<QRectF>
- size=48 align=4
- base size=48 base align=4
-QVectorTypedData<QRectF> (0xb1fa3640) 0
-Class QVectorTypedData<QRect>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QRect> (0xb1fa36c0) 0
-Class QLinkedListNode<Q3SqlFieldInfo>
- size=52 align=4
- base size=52 base align=4
-QLinkedListNode<Q3SqlFieldInfo> (0xb1fa37c0) 0
-Class QMetaTypeId2<QSet<QAccessible::Method> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSet<QAccessible::Method> > (0xb1fa3880) 0 empty
-Class QHashNode<QAccessible::Method, QHashDummyValue>
- size=16 align=4
- base size=13 base align=4
-QHashNode<QAccessible::Method, QHashDummyValue> (0xb1fa3900) 0
-Class QTypeInfo<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLength> (0xb1fa3980) 0 empty
-Class QTypeInfo<QTextLayout::FormatRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLayout::FormatRange> (0xb1fa3a40) 0 empty
-Class QTypeInfo<QAbstractTextDocumentLayout::Selection>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAbstractTextDocumentLayout::Selection> (0xb1fa3b40) 0 empty
-Class QHashNode<QVariant::Type, QItemEditorCreatorBase*>
- size=16 align=4
- base size=16 base align=4
-QHashNode<QVariant::Type, QItemEditorCreatorBase*> (0xb1fa3c00) 0
-Class QTypeInfo<QStandardItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QStandardItem*> (0xb1fa3c80) 0 empty
-Class QTypeInfo<QTreeWidgetItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTreeWidgetItem*> (0xb1fa3d00) 0 empty
-Class QTypeInfo<QAction*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAction*> (0xb1fa3d80) 0 empty
-Class QList<QSslError>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QSslError>::<anonymous union> (0xb1fa3e80) 0
-Class QList<QSslError>
- size=4 align=4
- base size=4 base align=4
-QList<QSslError> (0xb1fa3e00) 0
-Class QTypeInfo<Q3TextEditOptimPrivate::Tag*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<Q3TextEditOptimPrivate::Tag*> (0xb1fa3f80) 0 empty
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0xb1fa3740) 0
-Class QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union> (0xb1fa38c0) 0
-Class QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union> (0xb1fa3bc0) 0
-Class QList<QVariant>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::Node (0xb1fa3fc0) 0
-Class QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union> (0xb1b47080) 0
-Class QTypeInfo<QStyleOptionQ3ListViewItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QStyleOptionQ3ListViewItem> (0xb1b47140) 0 empty
-Class QList<QStyleOptionQ3ListViewItem>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::Node (0xb1b471c0) 0
-Class QList<QItemSelectionRange>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::Node (0xb1b47280) 0
-Class QList<QStandardItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QStandardItem*>::Node (0xb1b47340) 0
-Class QTypeInfo<QGraphicsItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QGraphicsItem*> (0xb1b473c0) 0 empty
-Class QList<QGraphicsItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QGraphicsItem*>::Node (0xb1b47440) 0
-Class QMap<Key, T>::detach_helper() [with Key = int, T = Q3TextEditOptimPrivate::Tag*]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<Key, T>::detach_helper() [with Key = int, T = Q3TextEditOptimPrivate::Tag*]::<anonymous union> (0xb1b47540) 0
-Class QList<QRect>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QRect>::Node (0xb1b475c0) 0
-Class QTypeInfo<Q3DockWindow*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<Q3DockWindow*> (0xb1b47680) 0 empty
-Class QList<Q3DockWindow*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<Q3DockWindow*>::Node (0xb1b47700) 0
-Class QHashDummyNode<QAccessible::Method, QHashDummyValue>
- size=12 align=4
- base size=12 base align=4
-QHashDummyNode<QAccessible::Method, QHashDummyValue> (0xb1b477c0) 0
-Class QLinkedList<T>::detach_helper() [with T = Q3SqlFieldInfo]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QLinkedList<T>::detach_helper() [with T = Q3SqlFieldInfo]::<anonymous union> (0xb1b47840) 0
-Class QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union> (0xb1b478c0) 0
-Class QTypeInfo<QSslError>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSslError> (0xb1b47a00) 0 empty
-Class QList<QSslError>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QSslError>::Node (0xb1b47a80) 0
diff --git a/tests/auto/bic/data/Qt3Support.4.4.0.linux-gcc-ia32.txt b/tests/auto/bic/data/Qt3Support.4.4.0.linux-gcc-ia32.txt
index 56ccd8e..d10a056 100644
--- a/tests/auto/bic/data/Qt3Support.4.4.0.linux-gcc-ia32.txt
+++ b/tests/auto/bic/data/Qt3Support.4.4.0.linux-gcc-ia32.txt
@@ -1,34 +1,8 @@
-Class QUintForSize<4>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<4> (0xb6b6c000) 0 empty
-Class QUintForSize<8>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<8> (0xb6b6c03c) 0 empty
-Class QUintForType<void*>
- size=1 align=1
- base size=1 base align=1
-QUintForType<void*> (0xb7d77c40) 0 empty
- QUintForSize<4> (0xb6b6c0b4) 0 empty
-Class QIntForSize<4>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<4> (0xb6b6c1e0) 0 empty
-Class QIntForSize<8>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<8> (0xb6b6c21c) 0 empty
-Class QIntForType<void*>
- size=1 align=1
- base size=1 base align=1
-QIntForType<void*> (0xb7d77e00) 0 empty
- QIntForSize<4> (0xb6b6c294) 0 empty
Class QSysInfo
size=1 align=1
@@ -50,80 +24,20 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0xb6b7f690) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0xb6b7f870) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0xb6b7f960) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0xb6b7fa50) 0 empty
-Class QTypeInfo<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned char> (0xb6b7fb40) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0xb6b7fc30) 0 empty
-Class QTypeInfo<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short unsigned int> (0xb6b7fd20) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0xb6b7fe10) 0 empty
-Class QTypeInfo<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned int> (0xb6b7ff00) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0xb6b9b000) 0 empty
-Class QTypeInfo<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long unsigned int> (0xb6b9b0f0) 0 empty
-Class QTypeInfo<long long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long int> (0xb6b9b1e0) 0 empty
-Class QTypeInfo<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long unsigned int> (0xb6b9b2d0) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0xb6b9b3c0) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0xb6b9b4b0) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0xb6b9b5a0) 0 empty
Class QFlag
size=4 align=4
@@ -140,10 +54,6 @@ Class QChar
base size=2 base align=2
QChar (0xb6bb65a0) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0xb6bde258) 0 empty
Class QBasicAtomicInt
size=4 align=4
@@ -176,75 +86,19 @@ Class QByteRef
base size=8 base align=4
QByteRef (0xb5a8ae10) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0xb5acbf00) 0 empty
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0xb5ae41a4) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0xb5ae4ac8) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0xb5b293fc) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0xb5b29d20) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0xb5b3c654) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0xb5b3cf78) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0xb594e8ac) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0xb595d1e0) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0xb595db04) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0xb5972438) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0xb5972d5c) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0xb5986690) 0
-Class QFlags<Qt::TextInteractionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::TextInteractionFlag> (0xb5986fb4) 0
Class QInternal
size=1 align=1
@@ -266,10 +120,6 @@ Class QString
base size=4 base align=4
QString (0xb599ea50) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0xb59e9ce4) 0
Class QLatin1String
size=4 align=4
@@ -287,10 +137,6 @@ Class QConstString
QConstString (0xb590dc00) 0
QString (0xb57630b4) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0xb57633c0) 0 empty
Class QStringRef
size=12 align=4
@@ -358,10 +204,6 @@ Class QListData
base size=4 base align=4
QListData (0xb57cba8c) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0xb5674d20) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -386,15 +228,7 @@ Class QTextCodec
QTextCodec (0xb5674078) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0xb568e384) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0xb568e30c) 0
Class QTextEncoder
size=32 align=4
@@ -417,25 +251,13 @@ Class QGenericReturnArgument
QGenericReturnArgument (0xb56ba100) 0
QGenericArgument (0xb56b55a0) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0xb56b5a8c) 0
Class QMetaObject
size=16 align=4
base size=16 base align=4
QMetaObject (0xb56b58ac) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0xb56c9bf4) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0xb56c9b7c) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -527,10 +349,6 @@ QIODevice (0xb5708f80) 0
QObject (0xb570cbf4) 0
primary-for QIODevice (0xb5708f80)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0xb5727f00) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -550,25 +368,13 @@ Class QRegExp
base size=4 base align=4
QRegExp (0xb556de10) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0xb55a3618) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0xb55a3708) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0xb55a3c6c) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0xb55a3bf4) 0
Class QStringList
size=4 align=4
@@ -576,15 +382,7 @@ Class QStringList
QStringList (0xb55ae080) 0
QList<QString> (0xb55a3ca8) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0xb55d0a14) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0xb55d0c30) 0
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -664,10 +462,6 @@ Class QMutex
base size=4 base align=4
QMutex (0xb5601f00) 0
-Class QMutexLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMutexLocker::<anonymous union> (0xb5614a50) 0
Class QMutexLocker
size=4 align=4
@@ -747,35 +541,11 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0xb54e0384) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0xb54e0438) 0 empty
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb53763c0) 0
-Class <anonymous struct>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct>::<anonymous union> (0xb53764b0) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb5376438) 0
-Class <anonymous struct>
- size=12 align=4
- base size=12 base align=4
-<anonymous struct> (0xb5376528) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb53765a0) 0
Class _IO_marker
size=12 align=4
@@ -787,10 +557,6 @@ Class _IO_FILE
base size=148 base align=4
_IO_FILE (0xb5376618) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb5376690) 0
Vtable for QTextStream
QTextStream::_ZTV11QTextStream: 4u entries
@@ -805,10 +571,6 @@ Class QTextStream
QTextStream (0xb53766cc) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0xb53b4e4c) 0
Class QTextStreamManipulator
size=24 align=4
@@ -845,40 +607,16 @@ QTextOStream (0xb53e21c0) 0
QTextStream (0xb53e15a0) 0
primary-for QTextOStream (0xb53e21c0)
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0xb53f203c) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0xb53f20b4) 0
Class wait
size=4 align=4
base size=4 base align=4
wait (0xb53e1960) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb53f212c) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb53f21a4) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb53f221c) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb53f2294) 0
Class timespec
size=8 align=4
@@ -890,80 +628,24 @@ Class timeval
base size=8 base align=4
timeval (0xb53f230c) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb53f2384) 0
-Class <anonymous union>
- size=36 align=4
- base size=36 base align=4
-<anonymous union> (0xb53f23fc) 0
Class __pthread_internal_slist
size=4 align=4
base size=4 base align=4
__pthread_internal_slist (0xb53f2438) 0
-Class <anonymous union>::__pthread_mutex_s::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union>::__pthread_mutex_s::<anonymous union> (0xb53f2564) 0
-Class <anonymous union>::__pthread_mutex_s
- size=24 align=4
- base size=24 base align=4
-<anonymous union>::__pthread_mutex_s (0xb53f24ec) 0
-Class <anonymous union>
- size=24 align=4
- base size=24 base align=4
-<anonymous union> (0xb53f24b0) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb53f25dc) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0xb53f26cc) 0
-Class <anonymous union>
- size=48 align=4
- base size=48 base align=4
-<anonymous union> (0xb53f2654) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb53f2744) 0
-Class <anonymous union>::<anonymous struct>
- size=32 align=4
- base size=32 base align=4
-<anonymous union>::<anonymous struct> (0xb53f2834) 0
-Class <anonymous union>
- size=32 align=4
- base size=32 base align=4
-<anonymous union> (0xb53f27bc) 0
-Class <anonymous union>
- size=8 align=4
- base size=8 base align=4
-<anonymous union> (0xb53f28e8) 0
-Class <anonymous union>
- size=20 align=4
- base size=20 base align=4
-<anonymous union> (0xb53f2960) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb53f29d8) 0
Class random_data
size=28 align=4
@@ -995,20 +677,8 @@ Class QtConcurrent::ResultItem
base size=8 base align=4
QtConcurrent::ResultItem (0xb5310780) 0
-Class QMap<int, QtConcurrent::ResultItem>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<int, QtConcurrent::ResultItem>::<anonymous union> (0xb53273c0) 0
-Class QMap<int, QtConcurrent::ResultItem>
- size=4 align=4
- base size=4 base align=4
-QMap<int, QtConcurrent::ResultItem> (0xb5327348) 0
-Class QMap<int, QtConcurrent::ResultItem>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QMap<int, QtConcurrent::ResultItem>::const_iterator (0xb5327708) 0
Class QtConcurrent::ResultIteratorBase
size=8 align=4
@@ -1028,10 +698,6 @@ Class QtConcurrent::ResultStoreBase
QtConcurrent::ResultStoreBase (0xb5327834) 0
vptr=((& QtConcurrent::ResultStoreBase::_ZTVN12QtConcurrent15ResultStoreBaseE) + 8u)
-Class QMap<int, QtConcurrent::ResultItem>::iterator
- size=4 align=4
- base size=4 base align=4
-QMap<int, QtConcurrent::ResultItem>::iterator (0xb5327f3c) 0
Vtable for QFutureInterfaceBase
QFutureInterfaceBase::_ZTV20QFutureInterfaceBase: 4u entries
@@ -1046,25 +712,8 @@ Class QFutureInterfaceBase
QFutureInterfaceBase (0xb5327fb4) 0
vptr=((& QFutureInterfaceBase::_ZTV20QFutureInterfaceBase) + 8u)
-Vtable for QFutureInterface<void>
-QFutureInterface<void>::_ZTV16QFutureInterfaceIvE: 4u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI16QFutureInterfaceIvE)
-8 QFutureInterface<void>::~QFutureInterface
-12 QFutureInterface<void>::~QFutureInterface
-Class QFutureInterface<void>
- size=8 align=4
- base size=8 base align=4
-QFutureInterface<void> (0xb516b880) 0
- vptr=((& QFutureInterface<void>::_ZTV16QFutureInterfaceIvE) + 8u)
- QFutureInterfaceBase (0xb515ba8c) 0
- primary-for QFutureInterface<void> (0xb516b880)
-Class QFuture<void>
- size=8 align=4
- base size=8 base align=4
-QFuture<void> (0xb51a821c) 0
Vtable for QFutureWatcherBase
QFutureWatcherBase::_ZTV18QFutureWatcherBase: 16u entries
@@ -1093,34 +742,7 @@ QFutureWatcherBase (0xb51c17c0) 0
QObject (0xb51c38ac) 0
primary-for QFutureWatcherBase (0xb51c17c0)
-Vtable for QFutureWatcher<void>
-QFutureWatcher<void>::_ZTV14QFutureWatcherIvE: 16u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI14QFutureWatcherIvE)
-8 QFutureWatcherBase::metaObject
-12 QFutureWatcherBase::qt_metacast
-16 QFutureWatcherBase::qt_metacall
-20 QFutureWatcher<void>::~QFutureWatcher
-24 QFutureWatcher<void>::~QFutureWatcher
-28 QFutureWatcherBase::event
-32 QObject::eventFilter
-36 QObject::timerEvent
-40 QObject::childEvent
-44 QObject::customEvent
-48 QFutureWatcherBase::connectNotify
-52 QFutureWatcherBase::disconnectNotify
-56 QFutureWatcher<void>::futureInterface
-60 QFutureWatcher<void>::futureInterface
-Class QFutureWatcher<void>
- size=16 align=4
- base size=16 base align=4
-QFutureWatcher<void> (0xb51c1ec0) 0
- vptr=((& QFutureWatcher<void>::_ZTV14QFutureWatcherIvE) + 8u)
- QFutureWatcherBase (0xb51c1f00) 0
- primary-for QFutureWatcher<void> (0xb51c1ec0)
- QObject (0xb51db3c0) 0
- primary-for QFutureWatcherBase (0xb51c1f00)
Vtable for QRunnable
QRunnable::_ZTV9QRunnable: 5u entries
@@ -1219,60 +841,14 @@ QtConcurrent::ThreadEngineBase (0xb52193c0) 0
QRunnable (0xb52243c0) 0
primary-for QtConcurrent::ThreadEngineBase (0xb52193c0)
-Class QtConcurrent::ThreadEngineStarterBase<void>
- size=4 align=4
- base size=4 base align=4
-QtConcurrent::ThreadEngineStarterBase<void> (0xb5224bb8) 0
-Class QtConcurrent::ThreadEngineStarter<void>
- size=4 align=4
- base size=4 base align=4
-QtConcurrent::ThreadEngineStarter<void> (0xb5219d40) 0
- QtConcurrent::ThreadEngineStarterBase<void> (0xb5224c30) 0
-Vtable for QtConcurrent::ThreadEngine<void>
-QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE: 26u entries
-0 4u
-4 (int (*)(...))0
-8 (int (*)(...))(& _ZTIN12QtConcurrent12ThreadEngineIvEE)
-12 QtConcurrent::ThreadEngine<T>::result [with T = void]
-16 QtConcurrent::ThreadEngine<T>::asynchronousFinish [with T = void]
-20 QtConcurrent::ThreadEngine<void>::~ThreadEngine
-24 QtConcurrent::ThreadEngine<void>::~ThreadEngine
-28 -4u
-32 0u
-36 0u
-40 0u
-44 0u
-48 0u
-52 -4u
-56 0u
-60 (int (*)(...))-0x000000004
-64 (int (*)(...))(& _ZTIN12QtConcurrent12ThreadEngineIvEE)
-68 QtConcurrent::ThreadEngineBase::run
-72 QtConcurrent::ThreadEngine<void>::_ZTv0_n16_N12QtConcurrent12ThreadEngineIvED1Ev
-76 QtConcurrent::ThreadEngine<void>::_ZTv0_n16_N12QtConcurrent12ThreadEngineIvED0Ev
-80 QtConcurrent::ThreadEngineBase::start
-84 QtConcurrent::ThreadEngineBase::finish
-88 QtConcurrent::ThreadEngineBase::threadFunction
-92 QtConcurrent::ThreadEngineBase::shouldStartThread
-96 QtConcurrent::ThreadEngineBase::shouldThrottleThread
-100 QtConcurrent::ThreadEngine<void>::_ZTv0_n40_N12QtConcurrent12ThreadEngineIvE18asynchronousFinishEv
VTT for QtConcurrent::ThreadEngine<void>
QtConcurrent::ThreadEngine<void>::_ZTTN12QtConcurrent12ThreadEngineIvEE: 2u entries
0 ((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 12u)
4 ((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 68u)
-Class QtConcurrent::ThreadEngine<void>
- size=36 align=4
- base size=4 base align=4
-QtConcurrent::ThreadEngine<void> (0xb5219f00) 0 nearly-empty
- vptridx=0u vptr=((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 12u)
- QtConcurrent::ThreadEngineBase (0xb5219f40) 4 virtual
- vptridx=4u vbaseoffset=-0x00000000c vptr=((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 68u)
- QRunnable (0xb50390b4) 4
- primary-for QtConcurrent::ThreadEngineBase (0xb5219f40)
Class std::input_iterator_tag
size=1 align=1
@@ -1315,225 +891,49 @@ Class std::__false_type
base size=0 base align=1
std::__false_type (0xb5039b04) 0 empty
-Class std::__truth_type<true>
- size=1 align=1
- base size=0 base align=1
-std::__truth_type<true> (0xb5039b7c) 0 empty
-Class std::__is_void<void>
- size=1 align=1
- base size=0 base align=1
-std::__is_void<void> (0xb5039d98) 0 empty
-Class std::__is_integer<bool>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<bool> (0xb5039e88) 0 empty
-Class std::__is_integer<char>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<char> (0xb5039f00) 0 empty
-Class std::__is_integer<signed char>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<signed char> (0xb5039f78) 0 empty
-Class std::__is_integer<unsigned char>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<unsigned char> (0xb50391a4) 0 empty
-Class std::__is_integer<wchar_t>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<wchar_t> (0xb505a000) 0 empty
-Class std::__is_integer<short int>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<short int> (0xb505a078) 0 empty
-Class std::__is_integer<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<short unsigned int> (0xb505a0f0) 0 empty
-Class std::__is_integer<int>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<int> (0xb505a168) 0 empty
-Class std::__is_integer<unsigned int>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<unsigned int> (0xb505a1e0) 0 empty
-Class std::__is_integer<long int>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<long int> (0xb505a258) 0 empty
-Class std::__is_integer<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<long unsigned int> (0xb505a2d0) 0 empty
-Class std::__is_integer<long long int>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<long long int> (0xb505a348) 0 empty
-Class std::__is_integer<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<long long unsigned int> (0xb505a3c0) 0 empty
-Class std::__is_floating<float>
- size=1 align=1
- base size=0 base align=1
-std::__is_floating<float> (0xb505a4b0) 0 empty
-Class std::__is_floating<double>
- size=1 align=1
- base size=0 base align=1
-std::__is_floating<double> (0xb505a528) 0 empty
-Class std::__is_floating<long double>
- size=1 align=1
- base size=0 base align=1
-std::__is_floating<long double> (0xb505a5a0) 0 empty
-Class std::__is_char<char>
- size=1 align=1
- base size=0 base align=1
-std::__is_char<char> (0xb505a924) 0 empty
-Class std::__is_char<wchar_t>
- size=1 align=1
- base size=0 base align=1
-std::__is_char<wchar_t> (0xb505a99c) 0 empty
-Class std::__is_byte<char>
- size=1 align=1
- base size=0 base align=1
-std::__is_byte<char> (0xb505aa8c) 0 empty
-Class std::__is_byte<signed char>
- size=1 align=1
- base size=0 base align=1
-std::__is_byte<signed char> (0xb505ab04) 0 empty
-Class std::__is_byte<unsigned char>
- size=1 align=1
- base size=0 base align=1
-std::__is_byte<unsigned char> (0xb505ab7c) 0 empty
-Class __gnu_cxx::__add_unsigned<char>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__add_unsigned<char> (0xb505ad98) 0 empty
-Class __gnu_cxx::__add_unsigned<signed char>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__add_unsigned<signed char> (0xb505add4) 0 empty
-Class __gnu_cxx::__add_unsigned<short int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__add_unsigned<short int> (0xb505ae10) 0 empty
-Class __gnu_cxx::__add_unsigned<int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__add_unsigned<int> (0xb505ae4c) 0 empty
-Class __gnu_cxx::__add_unsigned<long int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__add_unsigned<long int> (0xb505ae88) 0 empty
-Class __gnu_cxx::__add_unsigned<long long int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__add_unsigned<long long int> (0xb505aec4) 0 empty
-Class __gnu_cxx::__remove_unsigned<char>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__remove_unsigned<char> (0xb505af3c) 0 empty
-Class __gnu_cxx::__remove_unsigned<unsigned char>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__remove_unsigned<unsigned char> (0xb505af78) 0 empty
-Class __gnu_cxx::__remove_unsigned<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__remove_unsigned<short unsigned int> (0xb505afb4) 0 empty
-Class __gnu_cxx::__remove_unsigned<unsigned int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__remove_unsigned<unsigned int> (0xb506e000) 0 empty
-Class __gnu_cxx::__remove_unsigned<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__remove_unsigned<long unsigned int> (0xb506e03c) 0 empty
-Class __gnu_cxx::__remove_unsigned<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__remove_unsigned<long long unsigned int> (0xb506e078) 0 empty
-Class std::iterator<std::output_iterator_tag, void, void, void, void>
- size=1 align=1
- base size=0 base align=1
-std::iterator<std::output_iterator_tag, void, void, void, void> (0xb506ea50) 0 empty
-Class std::__iter_swap<true>
- size=1 align=1
- base size=0 base align=1
-std::__iter_swap<true> (0xb50e903c) 0 empty
-Class std::__copy_move<false, false, std::random_access_iterator_tag>
- size=1 align=1
- base size=0 base align=1
-std::__copy_move<false, false, std::random_access_iterator_tag> (0xb50e9474) 0 empty
-Class std::__copy_move_backward<false, false, std::random_access_iterator_tag>
- size=1 align=1
- base size=0 base align=1
-std::__copy_move_backward<false, false, std::random_access_iterator_tag> (0xb50e9690) 0 empty
-Class std::__equal<true>
- size=1 align=1
- base size=0 base align=1
-std::__equal<true> (0xb50e9a8c) 0 empty
-Class std::__lc_rai<std::random_access_iterator_tag, std::random_access_iterator_tag>
- size=1 align=1
- base size=0 base align=1
-std::__lc_rai<std::random_access_iterator_tag, std::random_access_iterator_tag> (0xb50e9bf4) 0 empty
-Class std::__lexicographical_compare<true>
- size=1 align=1
- base size=0 base align=1
-std::__lexicographical_compare<true> (0xb50e9d5c) 0 empty
-Class std::char_traits<char>
- size=1 align=1
- base size=0 base align=1
-std::char_traits<char> (0xb512a438) 0 empty
-Class std::char_traits<wchar_t>
- size=1 align=1
- base size=0 base align=1
-std::char_traits<wchar_t> (0xb4f3ce88) 0 empty
Class lconv
size=56 align=4
@@ -1550,10 +950,6 @@ Class __sched_param
base size=4 base align=4
__sched_param (0xb4f49a50) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb4f49ac8) 0
Class tm
size=44 align=4
@@ -1570,15 +966,7 @@ Class _pthread_cleanup_buffer
base size=16 base align=4
_pthread_cleanup_buffer (0xb4f49d98) 0
-Class <anonymous struct>::<anonymous struct>
- size=28 align=4
- base size=28 base align=4
-<anonymous struct>::<anonymous struct> (0xb4f49f00) 0
-Class <anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous struct> (0xb4f49e88) 0
Class __pthread_cleanup_frame
size=16 align=4
@@ -1590,32 +978,10 @@ Class __pthread_cleanup_class
base size=16 base align=4
__pthread_cleanup_class (0xb4f49f78) 0
-Class std::allocator<void>
- size=1 align=1
- base size=0 base align=1
-std::allocator<void> (0xb4fd14b0) 0 empty
-Class __gnu_cxx::new_allocator<char>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::new_allocator<char> (0xb4fd1780) 0 empty
-Class std::allocator<char>
- size=1 align=1
- base size=1 base align=1
-std::allocator<char> (0xb4fda8c0) 0 empty
- __gnu_cxx::new_allocator<char> (0xb4fd17bc) 0 empty
-Class __gnu_cxx::new_allocator<wchar_t>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::new_allocator<wchar_t> (0xb4fd17f8) 0 empty
-Class std::allocator<wchar_t>
- size=1 align=1
- base size=1 base align=1
-std::allocator<wchar_t> (0xb4fda980) 0 empty
- __gnu_cxx::new_allocator<wchar_t> (0xb4fd1834) 0 empty
Vtable for __cxxabiv1::__forced_unwind
__cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE: 5u entries
@@ -1631,82 +997,19 @@ Class __cxxabiv1::__forced_unwind
__cxxabiv1::__forced_unwind (0xb4fd1a50) 0 nearly-empty
vptr=((& __cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE) + 8u)
-Class __gnu_cxx::__conditional_type<true, __gnu_cxx::__numeric_traits_integer<int>, __gnu_cxx::__numeric_traits_floating<int> >
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__conditional_type<true, __gnu_cxx::__numeric_traits_integer<int>, __gnu_cxx::__numeric_traits_floating<int> > (0xb4e43348) 0 empty
-Class __gnu_cxx::__numeric_traits_integer<int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__numeric_traits_integer<int> (0xb4e43384) 0 empty
-Class __gnu_cxx::__numeric_traits<int>
- size=1 align=1
- base size=1 base align=1
-__gnu_cxx::__numeric_traits<int> (0xb4e40c40) 0 empty
- __gnu_cxx::__numeric_traits_integer<int> (0xb4e433c0) 0 empty
-Class std::allocator<char>::rebind<char>
- size=1 align=1
- base size=0 base align=1
-std::allocator<char>::rebind<char> (0xb4eda03c) 0 empty
-Class std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Alloc_hider
- size=4 align=4
- base size=4 base align=4
-std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Alloc_hider (0xb4ed8200) 0
- std::allocator<char> (0xb4ed8240) 0 empty
- __gnu_cxx::new_allocator<char> (0xb4eda0b4) 0 empty
-Class std::basic_string<char, std::char_traits<char>, std::allocator<char> >
- size=4 align=4
- base size=4 base align=4
-std::basic_string<char, std::char_traits<char>, std::allocator<char> > (0xb4e75fb4) 0
-Class std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep_base
- size=12 align=4
- base size=12 base align=4
-std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep_base (0xb4eda0f0) 0
-Class std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep
- size=12 align=4
- base size=12 base align=4
-std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep (0xb4ed83c0) 0
- std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep_base (0xb4eda12c) 0
-Class std::allocator<wchar_t>::rebind<wchar_t>
- size=1 align=1
- base size=0 base align=1
-std::allocator<wchar_t>::rebind<wchar_t> (0xb4eda1e0) 0 empty
-Class std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Alloc_hider
- size=4 align=4
- base size=4 base align=4
-std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Alloc_hider (0xb4ed85c0) 0
- std::allocator<wchar_t> (0xb4ed8600) 0 empty
- __gnu_cxx::new_allocator<wchar_t> (0xb4eda258) 0 empty
-Class std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >
- size=4 align=4
- base size=4 base align=4
-std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > (0xb4eda168) 0
-Class std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Rep_base
- size=12 align=4
- base size=12 base align=4
-std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Rep_base (0xb4eda294) 0
-Class std::allocator<wchar_t>::rebind<char>
- size=1 align=1
- base size=0 base align=1
-std::allocator<wchar_t>::rebind<char> (0xb4eda348) 0 empty
-Class std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Rep
- size=12 align=4
- base size=12 base align=4
-std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Rep (0xb4ed8780) 0
- std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Rep_base (0xb4eda2d0) 0
Class std::locale
size=4 align=4
@@ -1736,97 +1039,16 @@ Class std::locale::_Impl
base size=20 base align=4
std::locale::_Impl (0xb4d7d4ec) 0
-Vtable for std::collate<char>
-std::collate<char>::_ZTVSt7collateIcE: 7u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt7collateIcE)
-8 std::collate<_CharT>::~collate [with _CharT = char]
-12 std::collate<_CharT>::~collate [with _CharT = char]
-16 std::collate<_CharT>::do_compare [with _CharT = char]
-20 std::collate<_CharT>::do_transform [with _CharT = char]
-24 std::collate<_CharT>::do_hash [with _CharT = char]
-Class std::collate<char>
- size=12 align=4
- base size=12 base align=4
-std::collate<char> (0xb4d88740) 0
- vptr=((& std::collate<char>::_ZTVSt7collateIcE) + 8u)
- std::locale::facet (0xb4d84e88) 0
- primary-for std::collate<char> (0xb4d88740)
-
-Vtable for std::collate<wchar_t>
-std::collate<wchar_t>::_ZTVSt7collateIwE: 7u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt7collateIwE)
-8 std::collate<_CharT>::~collate [with _CharT = wchar_t]
-12 std::collate<_CharT>::~collate [with _CharT = wchar_t]
-16 std::collate<_CharT>::do_compare [with _CharT = wchar_t]
-20 std::collate<_CharT>::do_transform [with _CharT = wchar_t]
-24 std::collate<_CharT>::do_hash [with _CharT = wchar_t]
-
-Class std::collate<wchar_t>
- size=12 align=4
- base size=12 base align=4
-std::collate<wchar_t> (0xb4d88840) 0
- vptr=((& std::collate<wchar_t>::_ZTVSt7collateIwE) + 8u)
- std::locale::facet (0xb4d84f78) 0
- primary-for std::collate<wchar_t> (0xb4d88840)
-Class __gnu_cxx::__conditional_type<true, __gnu_cxx::__numeric_traits_integer<long unsigned int>, __gnu_cxx::__numeric_traits_floating<long unsigned int> >
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__conditional_type<true, __gnu_cxx::__numeric_traits_integer<long unsigned int>, __gnu_cxx::__numeric_traits_floating<long unsigned int> > (0xb4da03c0) 0 empty
-Class __gnu_cxx::__numeric_traits_integer<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__numeric_traits_integer<long unsigned int> (0xb4da03fc) 0 empty
-Class __gnu_cxx::__numeric_traits<long unsigned int>
- size=1 align=1
- base size=1 base align=1
-__gnu_cxx::__numeric_traits<long unsigned int> (0xb4dab7c0) 0 empty
- __gnu_cxx::__numeric_traits_integer<long unsigned int> (0xb4da0438) 0 empty
-Vtable for std::collate_byname<char>
-std::collate_byname<char>::_ZTVSt14collate_bynameIcE: 7u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt14collate_bynameIcE)
-8 std::collate_byname<_CharT>::~collate_byname [with _CharT = char]
-12 std::collate_byname<_CharT>::~collate_byname [with _CharT = char]
-16 std::collate<_CharT>::do_compare [with _CharT = char]
-20 std::collate<_CharT>::do_transform [with _CharT = char]
-24 std::collate<_CharT>::do_hash [with _CharT = char]
-Class std::collate_byname<char>
- size=12 align=4
- base size=12 base align=4
-std::collate_byname<char> (0xb4dab900) 0
- vptr=((& std::collate_byname<char>::_ZTVSt14collate_bynameIcE) + 8u)
- std::collate<char> (0xb4dab940) 0
- primary-for std::collate_byname<char> (0xb4dab900)
- std::locale::facet (0xb4da04b0) 0
- primary-for std::collate<char> (0xb4dab940)
-
-Vtable for std::collate_byname<wchar_t>
-std::collate_byname<wchar_t>::_ZTVSt14collate_bynameIwE: 7u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt14collate_bynameIwE)
-8 std::collate_byname<_CharT>::~collate_byname [with _CharT = wchar_t]
-12 std::collate_byname<_CharT>::~collate_byname [with _CharT = wchar_t]
-16 std::collate<_CharT>::do_compare [with _CharT = wchar_t]
-20 std::collate<_CharT>::do_transform [with _CharT = wchar_t]
-24 std::collate<_CharT>::do_hash [with _CharT = wchar_t]
-
-Class std::collate_byname<wchar_t>
- size=12 align=4
- base size=12 base align=4
-std::collate_byname<wchar_t> (0xb4dab9c0) 0
- vptr=((& std::collate_byname<wchar_t>::_ZTVSt14collate_bynameIwE) + 8u)
- std::collate<wchar_t> (0xb4daba00) 0
- primary-for std::collate_byname<wchar_t> (0xb4dab9c0)
- std::locale::facet (0xb4da05a0) 0
- primary-for std::collate<wchar_t> (0xb4daba00)
+
+
+
+
Vtable for std::ios_base::failure
std::ios_base::failure::_ZTVNSt8ios_base7failureE: 5u entries
@@ -1872,583 +1094,85 @@ Class std::ios_base
std::ios_base (0xb4dc3384) 0
vptr=((& std::ios_base::_ZTVSt8ios_base) + 8u)
-Vtable for std::basic_streambuf<char, std::char_traits<char> >
-std::basic_streambuf<char, std::char_traits<char> >::_ZTVSt15basic_streambufIcSt11char_traitsIcEE: 16u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt15basic_streambufIcSt11char_traitsIcEE)
-8 std::basic_streambuf<_CharT, _Traits>::~basic_streambuf [with _CharT = char, _Traits = std::char_traits<char>]
-12 std::basic_streambuf<_CharT, _Traits>::~basic_streambuf [with _CharT = char, _Traits = std::char_traits<char>]
-16 std::basic_streambuf<_CharT, _Traits>::imbue [with _CharT = char, _Traits = std::char_traits<char>]
-20 std::basic_streambuf<_CharT, _Traits>::setbuf [with _CharT = char, _Traits = std::char_traits<char>]
-24 std::basic_streambuf<_CharT, _Traits>::seekoff [with _CharT = char, _Traits = std::char_traits<char>]
-28 std::basic_streambuf<_CharT, _Traits>::seekpos [with _CharT = char, _Traits = std::char_traits<char>]
-32 std::basic_streambuf<_CharT, _Traits>::sync [with _CharT = char, _Traits = std::char_traits<char>]
-36 std::basic_streambuf<_CharT, _Traits>::showmanyc [with _CharT = char, _Traits = std::char_traits<char>]
-40 std::basic_streambuf<_CharT, _Traits>::xsgetn [with _CharT = char, _Traits = std::char_traits<char>]
-44 std::basic_streambuf<_CharT, _Traits>::underflow [with _CharT = char, _Traits = std::char_traits<char>]
-48 std::basic_streambuf<_CharT, _Traits>::uflow [with _CharT = char, _Traits = std::char_traits<char>]
-52 std::basic_streambuf<_CharT, _Traits>::pbackfail [with _CharT = char, _Traits = std::char_traits<char>]
-56 std::basic_streambuf<_CharT, _Traits>::xsputn [with _CharT = char, _Traits = std::char_traits<char>]
-60 std::basic_streambuf<_CharT, _Traits>::overflow [with _CharT = char, _Traits = std::char_traits<char>]
-
-Class std::basic_streambuf<char, std::char_traits<char> >
- size=32 align=4
- base size=32 base align=4
-std::basic_streambuf<char, std::char_traits<char> > (0xb4c04a14) 0
- vptr=((& std::basic_streambuf<char, std::char_traits<char> >::_ZTVSt15basic_streambufIcSt11char_traitsIcEE) + 8u)
-
-Vtable for std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >
-std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >::_ZTVSt15basic_streambufIwSt11char_traitsIwEE: 16u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt15basic_streambufIwSt11char_traitsIwEE)
-8 std::basic_streambuf<_CharT, _Traits>::~basic_streambuf [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-12 std::basic_streambuf<_CharT, _Traits>::~basic_streambuf [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-16 std::basic_streambuf<_CharT, _Traits>::imbue [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-20 std::basic_streambuf<_CharT, _Traits>::setbuf [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-24 std::basic_streambuf<_CharT, _Traits>::seekoff [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-28 std::basic_streambuf<_CharT, _Traits>::seekpos [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-32 std::basic_streambuf<_CharT, _Traits>::sync [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-36 std::basic_streambuf<_CharT, _Traits>::showmanyc [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-40 std::basic_streambuf<_CharT, _Traits>::xsgetn [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-44 std::basic_streambuf<_CharT, _Traits>::underflow [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-48 std::basic_streambuf<_CharT, _Traits>::uflow [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-52 std::basic_streambuf<_CharT, _Traits>::pbackfail [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-56 std::basic_streambuf<_CharT, _Traits>::xsputn [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-60 std::basic_streambuf<_CharT, _Traits>::overflow [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-
-Class std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >
- size=32 align=4
- base size=32 base align=4
-std::basic_streambuf<wchar_t, std::char_traits<wchar_t> > (0xb4c04ca8) 0
- vptr=((& std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >::_ZTVSt15basic_streambufIwSt11char_traitsIwEE) + 8u)
+
+
+
Class std::ctype_base
size=1 align=1
base size=0 base align=1
std::ctype_base (0xb4c04f3c) 0 empty
-Vtable for std::ctype<char>
-std::ctype<char>::_ZTVSt5ctypeIcE: 12u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt5ctypeIcE)
-8 std::ctype<char>::~ctype
-12 std::ctype<char>::~ctype
-16 std::ctype<char>::do_toupper
-20 std::ctype<char>::do_toupper
-24 std::ctype<char>::do_tolower
-28 std::ctype<char>::do_tolower
-32 std::ctype<char>::do_widen
-36 std::ctype<char>::do_widen
-40 std::ctype<char>::do_narrow
-44 std::ctype<char>::do_narrow
-
-Class std::ctype<char>
- size=544 align=4
- base size=542 base align=4
-std::ctype<char> (0xb4c77550) 0
- vptr=((& std::ctype<char>::_ZTVSt5ctypeIcE) + 8u)
- std::locale::facet (0xb4c47e88) 0
- primary-for std::ctype<char> (0xb4c77550)
- std::ctype_base (0xb4c47ec4) 0 empty
-
-Vtable for std::__ctype_abstract_base<wchar_t>
-std::__ctype_abstract_base<wchar_t>::_ZTVSt21__ctype_abstract_baseIwE: 16u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt21__ctype_abstract_baseIwE)
-8 std::__ctype_abstract_base<_CharT>::~__ctype_abstract_base [with _CharT = wchar_t]
-12 std::__ctype_abstract_base<_CharT>::~__ctype_abstract_base [with _CharT = wchar_t]
-16 __cxa_pure_virtual
-20 __cxa_pure_virtual
-24 __cxa_pure_virtual
-28 __cxa_pure_virtual
-32 __cxa_pure_virtual
-36 __cxa_pure_virtual
-40 __cxa_pure_virtual
-44 __cxa_pure_virtual
-48 __cxa_pure_virtual
-52 __cxa_pure_virtual
-56 __cxa_pure_virtual
-60 __cxa_pure_virtual
-Class std::__ctype_abstract_base<wchar_t>
- size=8 align=4
- base size=8 base align=4
-std::__ctype_abstract_base<wchar_t> (0xb4c80e10) 0
- vptr=((& std::__ctype_abstract_base<wchar_t>::_ZTVSt21__ctype_abstract_baseIwE) + 8u)
- std::locale::facet (0xb4c90a50) 0
- primary-for std::__ctype_abstract_base<wchar_t> (0xb4c80e10)
- std::ctype_base (0xb4c90a8c) 0 empty
-
-Vtable for std::ctype<wchar_t>
-std::ctype<wchar_t>::_ZTVSt5ctypeIwE: 16u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt5ctypeIwE)
-8 std::ctype<wchar_t>::~ctype
-12 std::ctype<wchar_t>::~ctype
-16 std::ctype<wchar_t>::do_is
-20 std::ctype<wchar_t>::do_is
-24 std::ctype<wchar_t>::do_scan_is
-28 std::ctype<wchar_t>::do_scan_not
-32 std::ctype<wchar_t>::do_toupper
-36 std::ctype<wchar_t>::do_toupper
-40 std::ctype<wchar_t>::do_tolower
-44 std::ctype<wchar_t>::do_tolower
-48 std::ctype<wchar_t>::do_widen
-52 std::ctype<wchar_t>::do_widen
-56 std::ctype<wchar_t>::do_narrow
-60 std::ctype<wchar_t>::do_narrow
-
-Class std::ctype<wchar_t>
- size=1264 align=4
- base size=1264 base align=4
-std::ctype<wchar_t> (0xb4c81900) 0
- vptr=((& std::ctype<wchar_t>::_ZTVSt5ctypeIwE) + 8u)
- std::__ctype_abstract_base<wchar_t> (0xb4c9ac80) 0
- primary-for std::ctype<wchar_t> (0xb4c81900)
- std::locale::facet (0xb4c90b7c) 0
- primary-for std::__ctype_abstract_base<wchar_t> (0xb4c9ac80)
- std::ctype_base (0xb4c90bb8) 0 empty
-
-Vtable for std::ctype_byname<char>
-std::ctype_byname<char>::_ZTVSt12ctype_bynameIcE: 12u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt12ctype_bynameIcE)
-8 std::ctype_byname<char>::~ctype_byname
-12 std::ctype_byname<char>::~ctype_byname
-16 std::ctype<char>::do_toupper
-20 std::ctype<char>::do_toupper
-24 std::ctype<char>::do_tolower
-28 std::ctype<char>::do_tolower
-32 std::ctype<char>::do_widen
-36 std::ctype<char>::do_widen
-40 std::ctype<char>::do_narrow
-44 std::ctype<char>::do_narrow
-
-Class std::ctype_byname<char>
- size=544 align=4
- base size=542 base align=4
-std::ctype_byname<char> (0xb4c81ac0) 0
- vptr=((& std::ctype_byname<char>::_ZTVSt12ctype_bynameIcE) + 8u)
- std::ctype<char> (0xb4ca3410) 0
- primary-for std::ctype_byname<char> (0xb4c81ac0)
- std::locale::facet (0xb4ca0ec4) 0
- primary-for std::ctype<char> (0xb4ca3410)
- std::ctype_base (0xb4ca0f00) 0 empty
-
-Vtable for std::ctype_byname<wchar_t>
-std::ctype_byname<wchar_t>::_ZTVSt12ctype_bynameIwE: 16u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt12ctype_bynameIwE)
-8 std::ctype_byname<wchar_t>::~ctype_byname
-12 std::ctype_byname<wchar_t>::~ctype_byname
-16 std::ctype<wchar_t>::do_is
-20 std::ctype<wchar_t>::do_is
-24 std::ctype<wchar_t>::do_scan_is
-28 std::ctype<wchar_t>::do_scan_not
-32 std::ctype<wchar_t>::do_toupper
-36 std::ctype<wchar_t>::do_toupper
-40 std::ctype<wchar_t>::do_tolower
-44 std::ctype<wchar_t>::do_tolower
-48 std::ctype<wchar_t>::do_widen
-52 std::ctype<wchar_t>::do_widen
-56 std::ctype<wchar_t>::do_narrow
-60 std::ctype<wchar_t>::do_narrow
-
-Class std::ctype_byname<wchar_t>
- size=1264 align=4
- base size=1264 base align=4
-std::ctype_byname<wchar_t> (0xb4c81b40) 0
- vptr=((& std::ctype_byname<wchar_t>::_ZTVSt12ctype_bynameIwE) + 8u)
- std::ctype<wchar_t> (0xb4c81b80) 0
- primary-for std::ctype_byname<wchar_t> (0xb4c81b40)
- std::__ctype_abstract_base<wchar_t> (0xb4ca3aa0) 0
- primary-for std::ctype<wchar_t> (0xb4c81b80)
- std::locale::facet (0xb4ca903c) 0
- primary-for std::__ctype_abstract_base<wchar_t> (0xb4ca3aa0)
- std::ctype_base (0xb4ca9078) 0 empty
+
+
+
+
+
+
+
+
Class std::__num_base
size=1 align=1
base size=0 base align=1
std::__num_base (0xb4ca9a8c) 0 empty
-Vtable for std::numpunct<char>
-std::numpunct<char>::_ZTVSt8numpunctIcE: 9u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt8numpunctIcE)
-8 std::numpunct<_CharT>::~numpunct [with _CharT = char]
-12 std::numpunct<_CharT>::~numpunct [with _CharT = char]
-16 std::numpunct<_CharT>::do_decimal_point [with _CharT = char]
-20 std::numpunct<_CharT>::do_thousands_sep [with _CharT = char]
-24 std::numpunct<_CharT>::do_grouping [with _CharT = char]
-28 std::numpunct<_CharT>::do_truename [with _CharT = char]
-32 std::numpunct<_CharT>::do_falsename [with _CharT = char]
-Class std::numpunct<char>
- size=12 align=4
- base size=12 base align=4
-std::numpunct<char> (0xb4cb6580) 0
- vptr=((& std::numpunct<char>::_ZTVSt8numpunctIcE) + 8u)
- std::locale::facet (0xb4cbb294) 0
- primary-for std::numpunct<char> (0xb4cb6580)
-
-Vtable for std::numpunct<wchar_t>
-std::numpunct<wchar_t>::_ZTVSt8numpunctIwE: 9u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt8numpunctIwE)
-8 std::numpunct<_CharT>::~numpunct [with _CharT = wchar_t]
-12 std::numpunct<_CharT>::~numpunct [with _CharT = wchar_t]
-16 std::numpunct<_CharT>::do_decimal_point [with _CharT = wchar_t]
-20 std::numpunct<_CharT>::do_thousands_sep [with _CharT = wchar_t]
-24 std::numpunct<_CharT>::do_grouping [with _CharT = wchar_t]
-28 std::numpunct<_CharT>::do_truename [with _CharT = wchar_t]
-32 std::numpunct<_CharT>::do_falsename [with _CharT = wchar_t]
-
-Class std::numpunct<wchar_t>
- size=12 align=4
- base size=12 base align=4
-std::numpunct<wchar_t> (0xb4cb6640) 0
- vptr=((& std::numpunct<wchar_t>::_ZTVSt8numpunctIwE) + 8u)
- std::locale::facet (0xb4cbb384) 0
- primary-for std::numpunct<wchar_t> (0xb4cb6640)
-Class __gnu_cxx::__conditional_type<true, long unsigned int, long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__conditional_type<true, long unsigned int, long long unsigned int> (0xb4cf19d8) 0 empty
-Vtable for std::numpunct_byname<char>
-std::numpunct_byname<char>::_ZTVSt15numpunct_bynameIcE: 9u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt15numpunct_bynameIcE)
-8 std::numpunct_byname<_CharT>::~numpunct_byname [with _CharT = char]
-12 std::numpunct_byname<_CharT>::~numpunct_byname [with _CharT = char]
-16 std::numpunct<_CharT>::do_decimal_point [with _CharT = char]
-20 std::numpunct<_CharT>::do_thousands_sep [with _CharT = char]
-24 std::numpunct<_CharT>::do_grouping [with _CharT = char]
-28 std::numpunct<_CharT>::do_truename [with _CharT = char]
-32 std::numpunct<_CharT>::do_falsename [with _CharT = char]
-Class std::numpunct_byname<char>
- size=12 align=4
- base size=12 base align=4
-std::numpunct_byname<char> (0xb4b3ab80) 0
- vptr=((& std::numpunct_byname<char>::_ZTVSt15numpunct_bynameIcE) + 8u)
- std::numpunct<char> (0xb4b3abc0) 0
- primary-for std::numpunct_byname<char> (0xb4b3ab80)
- std::locale::facet (0xb4b51000) 0
- primary-for std::numpunct<char> (0xb4b3abc0)
-
-Vtable for std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >
-std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >::_ZTVSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE: 15u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE)
-8 std::num_get<_CharT, _InIter>::~num_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-12 std::num_get<_CharT, _InIter>::~num_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-16 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-20 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-24 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-28 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-32 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-36 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-40 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-44 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-48 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-52 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-56 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-
-Class std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >
- size=8 align=4
- base size=8 base align=4
-std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > > (0xb4b3ac00) 0
- vptr=((& std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >::_ZTVSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE) + 8u)
- std::locale::facet (0xb4b510f0) 0
- primary-for std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > > (0xb4b3ac00)
-
-Vtable for std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >
-std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::_ZTVSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE: 12u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE)
-8 std::num_put<_CharT, _OutIter>::~num_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-12 std::num_put<_CharT, _OutIter>::~num_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-16 std::num_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-20 std::num_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-24 std::num_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-28 std::num_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-32 std::num_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-36 std::num_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-40 std::num_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-44 std::num_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-
-Class std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >
- size=8 align=4
- base size=8 base align=4
-std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > > (0xb4b3ac80) 0
- vptr=((& std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::_ZTVSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE) + 8u)
- std::locale::facet (0xb4b511e0) 0
- primary-for std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > > (0xb4b3ac80)
-
-Vtable for std::numpunct_byname<wchar_t>
-std::numpunct_byname<wchar_t>::_ZTVSt15numpunct_bynameIwE: 9u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt15numpunct_bynameIwE)
-8 std::numpunct_byname<_CharT>::~numpunct_byname [with _CharT = wchar_t]
-12 std::numpunct_byname<_CharT>::~numpunct_byname [with _CharT = wchar_t]
-16 std::numpunct<_CharT>::do_decimal_point [with _CharT = wchar_t]
-20 std::numpunct<_CharT>::do_thousands_sep [with _CharT = wchar_t]
-24 std::numpunct<_CharT>::do_grouping [with _CharT = wchar_t]
-28 std::numpunct<_CharT>::do_truename [with _CharT = wchar_t]
-32 std::numpunct<_CharT>::do_falsename [with _CharT = wchar_t]
-
-Class std::numpunct_byname<wchar_t>
- size=12 align=4
- base size=12 base align=4
-std::numpunct_byname<wchar_t> (0xb4b3ad00) 0
- vptr=((& std::numpunct_byname<wchar_t>::_ZTVSt15numpunct_bynameIwE) + 8u)
- std::numpunct<wchar_t> (0xb4b3ad40) 0
- primary-for std::numpunct_byname<wchar_t> (0xb4b3ad00)
- std::locale::facet (0xb4b512d0) 0
- primary-for std::numpunct<wchar_t> (0xb4b3ad40)
-
-Vtable for std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >
-std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::_ZTVSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE: 15u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE)
-8 std::num_get<_CharT, _InIter>::~num_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-12 std::num_get<_CharT, _InIter>::~num_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-16 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-20 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-24 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-28 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-32 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-36 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-40 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-44 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-48 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-52 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-56 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-
-Class std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >
- size=8 align=4
- base size=8 base align=4
-std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > > (0xb4b3adc0) 0
- vptr=((& std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::_ZTVSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE) + 8u)
- std::locale::facet (0xb4b513c0) 0
- primary-for std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > > (0xb4b3adc0)
-
-Vtable for std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >
-std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::_ZTVSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE: 12u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE)
-8 std::num_put<_CharT, _OutIter>::~num_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-12 std::num_put<_CharT, _OutIter>::~num_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-16 std::num_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-20 std::num_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-24 std::num_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-28 std::num_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-32 std::num_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-36 std::num_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-40 std::num_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-44 std::num_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-
-Class std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >
- size=8 align=4
- base size=8 base align=4
-std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > > (0xb4b3ae40) 0
- vptr=((& std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::_ZTVSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE) + 8u)
- std::locale::facet (0xb4b514b0) 0
- primary-for std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > > (0xb4b3ae40)
-
-Vtable for std::basic_ios<char, std::char_traits<char> >
-std::basic_ios<char, std::char_traits<char> >::_ZTVSt9basic_iosIcSt11char_traitsIcEE: 4u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt9basic_iosIcSt11char_traitsIcEE)
-8 std::basic_ios<_CharT, _Traits>::~basic_ios [with _CharT = char, _Traits = std::char_traits<char>]
-12 std::basic_ios<_CharT, _Traits>::~basic_ios [with _CharT = char, _Traits = std::char_traits<char>]
-
-Class std::basic_ios<char, std::char_traits<char> >
- size=136 align=4
- base size=136 base align=4
-std::basic_ios<char, std::char_traits<char> > (0xb4b85e80) 0
- vptr=((& std::basic_ios<char, std::char_traits<char> >::_ZTVSt9basic_iosIcSt11char_traitsIcEE) + 8u)
- std::ios_base (0xb4b51ca8) 0
- primary-for std::basic_ios<char, std::char_traits<char> > (0xb4b85e80)
-
-Vtable for std::basic_ios<wchar_t, std::char_traits<wchar_t> >
-std::basic_ios<wchar_t, std::char_traits<wchar_t> >::_ZTVSt9basic_iosIwSt11char_traitsIwEE: 4u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt9basic_iosIwSt11char_traitsIwEE)
-8 std::basic_ios<_CharT, _Traits>::~basic_ios [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-12 std::basic_ios<_CharT, _Traits>::~basic_ios [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-
-Class std::basic_ios<wchar_t, std::char_traits<wchar_t> >
- size=140 align=4
- base size=140 base align=4
-std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb4b85ec0) 0
- vptr=((& std::basic_ios<wchar_t, std::char_traits<wchar_t> >::_ZTVSt9basic_iosIwSt11char_traitsIwEE) + 8u)
- std::ios_base (0xb4b51d98) 0
- primary-for std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb4b85ec0)
-
-Vtable for std::basic_ostream<char, std::char_traits<char> >
-std::basic_ostream<char, std::char_traits<char> >::_ZTVSo: 10u entries
-0 4u
-4 (int (*)(...))0
-8 (int (*)(...))(& _ZTISo)
-12 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = char, _Traits = std::char_traits<char>]
-16 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = char, _Traits = std::char_traits<char>]
-20 -4u
-24 (int (*)(...))-0x000000004
-28 (int (*)(...))(& _ZTISo)
-32 std::basic_ostream<char, std::char_traits<char> >::_ZTv0_n12_NSoD1Ev
-36 std::basic_ostream<char, std::char_traits<char> >::_ZTv0_n12_NSoD0Ev
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
VTT for std::basic_ostream<char, std::char_traits<char> >
std::basic_ostream<char, std::char_traits<char> >::_ZTTSo: 2u entries
0 ((& std::basic_ostream<char, std::char_traits<char> >::_ZTVSo) + 12u)
4 ((& std::basic_ostream<char, std::char_traits<char> >::_ZTVSo) + 32u)
-Class std::basic_ostream<char, std::char_traits<char> >
- size=140 align=4
- base size=4 base align=4
-std::basic_ostream<char, std::char_traits<char> > (0xb4bd7b40) 0 nearly-empty
- vptridx=0u vptr=((& std::basic_ostream<char, std::char_traits<char> >::_ZTVSo) + 12u)
- std::basic_ios<char, std::char_traits<char> > (0xb4bd7b80) 4 virtual
- vptridx=4u vbaseoffset=-0x00000000c vptr=((& std::basic_ostream<char, std::char_traits<char> >::_ZTVSo) + 32u)
- std::ios_base (0xb4bb98ac) 4
- primary-for std::basic_ios<char, std::char_traits<char> > (0xb4bd7b80)
-
-Class std::basic_ostream<char, std::char_traits<char> >::sentry
- size=8 align=4
- base size=8 base align=4
-std::basic_ostream<char, std::char_traits<char> >::sentry (0xb4bb9a8c) 0
-Vtable for std::basic_ostream<wchar_t, std::char_traits<wchar_t> >
-std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE: 10u entries
-0 4u
-4 (int (*)(...))0
-8 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE)
-12 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-16 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-20 -4u
-24 (int (*)(...))-0x000000004
-28 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE)
-32 std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n12_NSt13basic_ostreamIwSt11char_traitsIwEED1Ev
-36 std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n12_NSt13basic_ostreamIwSt11char_traitsIwEED0Ev
+
VTT for std::basic_ostream<wchar_t, std::char_traits<wchar_t> >
std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTTSt13basic_ostreamIwSt11char_traitsIwEE: 2u entries
0 ((& std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 12u)
4 ((& std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 32u)
-Class std::basic_ostream<wchar_t, std::char_traits<wchar_t> >
- size=144 align=4
- base size=4 base align=4
-std::basic_ostream<wchar_t, std::char_traits<wchar_t> > (0xb4bd7cc0) 0 nearly-empty
- vptridx=0u vptr=((& std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 12u)
- std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb4bd7d00) 4 virtual
- vptridx=4u vbaseoffset=-0x00000000c vptr=((& std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 32u)
- std::ios_base (0xb4bb9ac8) 4
- primary-for std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb4bd7d00)
-
-Class std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::sentry
- size=8 align=4
- base size=8 base align=4
-std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::sentry (0xb4bb9c6c) 0
-Vtable for std::basic_istream<char, std::char_traits<char> >
-std::basic_istream<char, std::char_traits<char> >::_ZTVSi: 10u entries
-0 8u
-4 (int (*)(...))0
-8 (int (*)(...))(& _ZTISi)
-12 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = char, _Traits = std::char_traits<char>]
-16 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = char, _Traits = std::char_traits<char>]
-20 -8u
-24 (int (*)(...))-0x000000008
-28 (int (*)(...))(& _ZTISi)
-32 std::basic_istream<char, std::char_traits<char> >::_ZTv0_n12_NSiD1Ev
-36 std::basic_istream<char, std::char_traits<char> >::_ZTv0_n12_NSiD0Ev
+
VTT for std::basic_istream<char, std::char_traits<char> >
std::basic_istream<char, std::char_traits<char> >::_ZTTSi: 2u entries
0 ((& std::basic_istream<char, std::char_traits<char> >::_ZTVSi) + 12u)
4 ((& std::basic_istream<char, std::char_traits<char> >::_ZTVSi) + 32u)
-Class std::basic_istream<char, std::char_traits<char> >
- size=144 align=4
- base size=8 base align=4
-std::basic_istream<char, std::char_traits<char> > (0xb4a16580) 0
- vptridx=0u vptr=((& std::basic_istream<char, std::char_traits<char> >::_ZTVSi) + 12u)
- std::basic_ios<char, std::char_traits<char> > (0xb4a165c0) 8 virtual
- vptridx=4u vbaseoffset=-0x00000000c vptr=((& std::basic_istream<char, std::char_traits<char> >::_ZTVSi) + 32u)
- std::ios_base (0xb4a18168) 8
- primary-for std::basic_ios<char, std::char_traits<char> > (0xb4a165c0)
-
-Vtable for std::basic_istream<wchar_t, std::char_traits<wchar_t> >
-std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_istreamIwSt11char_traitsIwEE: 10u entries
-0 8u
-4 (int (*)(...))0
-8 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE)
-12 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-16 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-20 -8u
-24 (int (*)(...))-0x000000008
-28 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE)
-32 std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n12_NSt13basic_istreamIwSt11char_traitsIwEED1Ev
-36 std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n12_NSt13basic_istreamIwSt11char_traitsIwEED0Ev
+
VTT for std::basic_istream<wchar_t, std::char_traits<wchar_t> >
std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTTSt13basic_istreamIwSt11char_traitsIwEE: 2u entries
0 ((& std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 12u)
4 ((& std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 32u)
-Class std::basic_istream<wchar_t, std::char_traits<wchar_t> >
- size=148 align=4
- base size=8 base align=4
-std::basic_istream<wchar_t, std::char_traits<wchar_t> > (0xb4a16680) 0
- vptridx=0u vptr=((& std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 12u)
- std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb4a166c0) 8 virtual
- vptridx=4u vbaseoffset=-0x00000000c vptr=((& std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 32u)
- std::ios_base (0xb4a184ec) 8
- primary-for std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb4a166c0)
-
-Class __gnu_cxx::__conditional_type<true, __gnu_cxx::__numeric_traits_integer<short int>, __gnu_cxx::__numeric_traits_floating<short int> >
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__conditional_type<true, __gnu_cxx::__numeric_traits_integer<short int>, __gnu_cxx::__numeric_traits_floating<short int> > (0xb4a18bf4) 0 empty
-Class __gnu_cxx::__numeric_traits_integer<short int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__numeric_traits_integer<short int> (0xb4a18c30) 0 empty
-Class __gnu_cxx::__numeric_traits<short int>
- size=1 align=1
- base size=1 base align=1
-__gnu_cxx::__numeric_traits<short int> (0xb4a43580) 0 empty
- __gnu_cxx::__numeric_traits_integer<short int> (0xb4a18c6c) 0 empty
-Class std::basic_istream<char, std::char_traits<char> >::sentry
- size=1 align=1
- base size=1 base align=1
-std::basic_istream<char, std::char_traits<char> >::sentry (0xb4a7512c) 0
-Vtable for std::basic_iostream<char, std::char_traits<char> >
-std::basic_iostream<char, std::char_traits<char> >::_ZTVSd: 15u entries
-0 12u
-4 (int (*)(...))0
-8 (int (*)(...))(& _ZTISd)
-12 std::basic_iostream<_CharT, _Traits>::~basic_iostream [with _CharT = char, _Traits = std::char_traits<char>]
-16 std::basic_iostream<_CharT, _Traits>::~basic_iostream [with _CharT = char, _Traits = std::char_traits<char>]
-20 4u
-24 (int (*)(...))-0x000000008
-28 (int (*)(...))(& _ZTISd)
-32 std::basic_iostream<char, std::char_traits<char> >::_ZThn8_NSdD1Ev
-36 std::basic_iostream<char, std::char_traits<char> >::_ZThn8_NSdD0Ev
-40 -12u
-44 (int (*)(...))-0x00000000c
-48 (int (*)(...))(& _ZTISd)
-52 std::basic_iostream<char, std::char_traits<char> >::_ZTv0_n12_NSdD1Ev
-56 std::basic_iostream<char, std::char_traits<char> >::_ZTv0_n12_NSdD0Ev
+
Construction vtable for std::basic_istream<char, std::char_traits<char> > (0xb4a7d480 instance) in std::basic_iostream<char, std::char_traits<char> >
std::basic_iostream<char, std::char_traits<char> >::_ZTCSd0_Si: 10u entries
@@ -2486,44 +1210,8 @@ std::basic_iostream<char, std::char_traits<char> >::_ZTTSd: 7u entries
20 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 52u)
24 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 32u)
-Class std::basic_iostream<char, std::char_traits<char> >
- size=148 align=4
- base size=12 base align=4
-std::basic_iostream<char, std::char_traits<char> > (0xb4a8e0f0) 0
- vptridx=0u vptr=((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 12u)
- std::basic_istream<char, std::char_traits<char> > (0xb4a7d480) 0
- primary-for std::basic_iostream<char, std::char_traits<char> > (0xb4a8e0f0)
- subvttidx=4u
- std::basic_ios<char, std::char_traits<char> > (0xb4a7d4c0) 12 virtual
- vptridx=20u vbaseoffset=-0x00000000c vptr=((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 52u)
- std::ios_base (0xb4a75168) 12
- primary-for std::basic_ios<char, std::char_traits<char> > (0xb4a7d4c0)
- std::basic_ostream<char, std::char_traits<char> > (0xb4a7d500) 8 nearly-empty
- subvttidx=12u vptridx=24u vptr=((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 32u)
- std::basic_ios<char, std::char_traits<char> > (0xb4a7d4c0) alternative-path
-
-Class std::basic_istream<wchar_t, std::char_traits<wchar_t> >::sentry
- size=1 align=1
- base size=1 base align=1
-std::basic_istream<wchar_t, std::char_traits<wchar_t> >::sentry (0xb4a753fc) 0
-Vtable for std::basic_iostream<wchar_t, std::char_traits<wchar_t> >
-std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE: 15u entries
-0 12u
-4 (int (*)(...))0
-8 (int (*)(...))(& _ZTISt14basic_iostreamIwSt11char_traitsIwEE)
-12 std::basic_iostream<_CharT, _Traits>::~basic_iostream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-16 std::basic_iostream<_CharT, _Traits>::~basic_iostream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-20 4u
-24 (int (*)(...))-0x000000008
-28 (int (*)(...))(& _ZTISt14basic_iostreamIwSt11char_traitsIwEE)
-32 std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZThn8_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev
-36 std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZThn8_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev
-40 -12u
-44 (int (*)(...))-0x00000000c
-48 (int (*)(...))(& _ZTISt14basic_iostreamIwSt11char_traitsIwEE)
-52 std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n12_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev
-56 std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n12_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev
+
Construction vtable for std::basic_istream<wchar_t, std::char_traits<wchar_t> > (0xb4a7d800 instance) in std::basic_iostream<wchar_t, std::char_traits<wchar_t> >
std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E: 10u entries
@@ -2561,110 +1249,21 @@ std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTTSt14basic_iostream
20 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 52u)
24 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 32u)
-Class std::basic_iostream<wchar_t, std::char_traits<wchar_t> >
- size=152 align=4
- base size=12 base align=4
-std::basic_iostream<wchar_t, std::char_traits<wchar_t> > (0xb4a9b190) 0
- vptridx=0u vptr=((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 12u)
- std::basic_istream<wchar_t, std::char_traits<wchar_t> > (0xb4a7d800) 0
- primary-for std::basic_iostream<wchar_t, std::char_traits<wchar_t> > (0xb4a9b190)
- subvttidx=4u
- std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb4a7d840) 12 virtual
- vptridx=20u vbaseoffset=-0x00000000c vptr=((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 52u)
- std::ios_base (0xb4a75438) 12
- primary-for std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb4a7d840)
- std::basic_ostream<wchar_t, std::char_traits<wchar_t> > (0xb4a7d880) 8 nearly-empty
- subvttidx=12u vptridx=24u vptr=((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 32u)
- std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb4a7d840) alternative-path
-
-Class QVector<double>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<double>::<anonymous union> (0xb4a75d20) 0
-Class QVector<double>
- size=4 align=4
- base size=4 base align=4
-QVector<double> (0xb4a75ca8) 0
-Class QtConcurrent::Median<double>
- size=24 align=4
- base size=22 base align=4
-QtConcurrent::Median<double> (0xb4a75c30) 0
+
Class QtConcurrent::BlockSizeManager
size=72 align=4
base size=72 base align=4
QtConcurrent::BlockSizeManager (0xb4a75b7c) 0
-Class QtConcurrent::ResultReporter<void>
- size=1 align=1
- base size=0 base align=1
-QtConcurrent::ResultReporter<void> (0xb4ac6000) 0 empty
-Class QFlags<QtConcurrent::ReduceOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QtConcurrent::ReduceOption> (0xb4ac6870) 0
-Class QtConcurrent::SelectSpecialization<void>
- size=1 align=1
- base size=0 base align=1
-QtConcurrent::SelectSpecialization<void> (0xb49aace4) 0 empty
-Vtable for QtConcurrent::RunFunctionTaskBase<void>
-QtConcurrent::RunFunctionTaskBase<void>::_ZTVN12QtConcurrent19RunFunctionTaskBaseIvEE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTIN12QtConcurrent19RunFunctionTaskBaseIvEE)
-8 QtConcurrent::RunFunctionTaskBase<void>::~RunFunctionTaskBase
-12 QtConcurrent::RunFunctionTaskBase<void>::~RunFunctionTaskBase
-16 QtConcurrent::RunFunctionTaskBase<T>::run [with T = void]
-20 __cxa_pure_virtual
-24 (int (*)(...))-0x000000008
-28 (int (*)(...))(& _ZTIN12QtConcurrent19RunFunctionTaskBaseIvEE)
-32 QtConcurrent::RunFunctionTaskBase<void>::_ZThn8_N12QtConcurrent19RunFunctionTaskBaseIvE3runEv
-36 QtConcurrent::RunFunctionTaskBase<void>::_ZThn8_N12QtConcurrent19RunFunctionTaskBaseIvED1Ev
-40 QtConcurrent::RunFunctionTaskBase<void>::_ZThn8_N12QtConcurrent19RunFunctionTaskBaseIvED0Ev
-Class QtConcurrent::RunFunctionTaskBase<void>
- size=16 align=4
- base size=16 base align=4
-QtConcurrent::RunFunctionTaskBase<void> (0xb49c6910) 0
- vptr=((& QtConcurrent::RunFunctionTaskBase<void>::_ZTVN12QtConcurrent19RunFunctionTaskBaseIvEE) + 8u)
- QFutureInterface<void> (0xb49b8b00) 0
- primary-for QtConcurrent::RunFunctionTaskBase<void> (0xb49c6910)
- QFutureInterfaceBase (0xb49aaec4) 0
- primary-for QFutureInterface<void> (0xb49b8b00)
- QRunnable (0xb49aaf00) 8
- vptr=((& QtConcurrent::RunFunctionTaskBase<void>::_ZTVN12QtConcurrent19RunFunctionTaskBaseIvEE) + 32u)
-
-Vtable for QtConcurrent::RunFunctionTask<void>
-QtConcurrent::RunFunctionTask<void>::_ZTVN12QtConcurrent15RunFunctionTaskIvEE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTIN12QtConcurrent15RunFunctionTaskIvEE)
-8 QtConcurrent::RunFunctionTask<void>::~RunFunctionTask
-12 QtConcurrent::RunFunctionTask<void>::~RunFunctionTask
-16 QtConcurrent::RunFunctionTask<void>::run
-20 __cxa_pure_virtual
-24 (int (*)(...))-0x000000008
-28 (int (*)(...))(& _ZTIN12QtConcurrent15RunFunctionTaskIvEE)
-32 QtConcurrent::RunFunctionTask<void>::_ZThn8_N12QtConcurrent15RunFunctionTaskIvE3runEv
-36 QtConcurrent::RunFunctionTask<void>::_ZThn8_N12QtConcurrent15RunFunctionTaskIvED1Ev
-40 QtConcurrent::RunFunctionTask<void>::_ZThn8_N12QtConcurrent15RunFunctionTaskIvED0Ev
-Class QtConcurrent::RunFunctionTask<void>
- size=16 align=4
- base size=16 base align=4
-QtConcurrent::RunFunctionTask<void> (0xb49b8b80) 0
- vptr=((& QtConcurrent::RunFunctionTask<void>::_ZTVN12QtConcurrent15RunFunctionTaskIvEE) + 8u)
- QtConcurrent::RunFunctionTaskBase<void> (0xb49c6d20) 0
- primary-for QtConcurrent::RunFunctionTask<void> (0xb49b8b80)
- QFutureInterface<void> (0xb49b8bc0) 0
- primary-for QtConcurrent::RunFunctionTaskBase<void> (0xb49c6d20)
- QFutureInterfaceBase (0xb49cf078) 0
- primary-for QFutureInterface<void> (0xb49b8bc0)
- QRunnable (0xb49cf0b4) 8
- vptr=((& QtConcurrent::RunFunctionTask<void>::_ZTVN12QtConcurrent15RunFunctionTaskIvEE) + 32u)
+
Class QLibraryInfo
size=1 align=1
@@ -2715,50 +1314,22 @@ QFile (0xb471af00) 0
QObject (0xb4737438) 0
primary-for QIODevice (0xb471af40)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0xb474fdd4) 0
Class QFileInfo
size=4 align=4
base size=4 base align=4
QFileInfo (0xb4762960) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0xb4781000) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0xb478130c) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0xb4792078) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0xb4792000) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0xb4792168) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0xb47b16cc) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0xb47b17bc) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -2833,10 +1404,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0xb47e1a8c) 0
vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0xb45f2b7c) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -2926,10 +1493,6 @@ Class QDirIterator
QDirIterator (0xb4610d98) 0
vptr=((& QDirIterator::_ZTV12QDirIterator) + 8u)
-Class QFlags<QDirIterator::IteratorFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDirIterator::IteratorFlag> (0xb4621528) 0
Vtable for QFileSystemWatcher
QFileSystemWatcher::_ZTV18QFileSystemWatcher: 14u entries
@@ -3067,25 +1630,13 @@ Class QLocale::Data
base size=4 base align=2
QLocale::Data (0xb46864ec) 0
-Class QLocale::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QLocale::<anonymous union> (0xb4686564) 0
Class QLocale
size=4 align=4
base size=4 base align=4
QLocale (0xb46632d0) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0xb4686d5c) 0 empty
-Class QFlags<QLocale::NumberOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLocale::NumberOption> (0xb4686ec4) 0
Class QResource
size=4 align=4
@@ -3097,275 +1648,59 @@ Class QMetaType
base size=0 base align=1
QMetaType (0xb46a67bc) 0 empty
-Class QMetaTypeId2<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QString> (0xb46a6bf4) 0 empty
-Class QMetaTypeId2<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<int> (0xb46a6dd4) 0 empty
-Class QMetaTypeId2<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned int> (0xb46a6fb4) 0 empty
-Class QMetaTypeId2<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<bool> (0xb46c41a4) 0 empty
-Class QMetaTypeId2<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<double> (0xb46c4384) 0 empty
-Class QMetaTypeId2<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QByteArray> (0xb46c4564) 0 empty
-Class QMetaTypeId2<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QChar> (0xb46c4744) 0 empty
-Class QMetaTypeId2<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long int> (0xb46c4924) 0 empty
-Class QMetaTypeId2<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short int> (0xb46c4b04) 0 empty
-Class QMetaTypeId2<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<char> (0xb46c4ce4) 0 empty
-Class QMetaTypeId2<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long unsigned int> (0xb46c4ec4) 0 empty
-Class QMetaTypeId2<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short unsigned int> (0xb46ce0b4) 0 empty
-Class QMetaTypeId2<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned char> (0xb46ce294) 0 empty
-Class QMetaTypeId2<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<float> (0xb46ce474) 0 empty
-Class QMetaTypeId2<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QObject*> (0xb46ce654) 0 empty
-Class QMetaTypeId2<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QWidget*> (0xb46ce834) 0 empty
-Class QMetaTypeId2<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<void*> (0xb46cea14) 0 empty
-Class QMetaTypeId2<long long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long int> (0xb46cebf4) 0 empty
-Class QMetaTypeId2<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long unsigned int> (0xb46cedd4) 0 empty
-Class QMetaTypeId2<QStringList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QStringList> (0xb46cefb4) 0 empty
-Class QMetaTypeId2<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitArray> (0xb46d41a4) 0 empty
-Class QMetaTypeId2<QDate>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDate> (0xb46d4384) 0 empty
-Class QMetaTypeId2<QTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTime> (0xb46d4564) 0 empty
-Class QMetaTypeId2<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDateTime> (0xb46d4744) 0 empty
-Class QMetaTypeId2<QUrl>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QUrl> (0xb46d4924) 0 empty
-Class QMetaTypeId2<QLocale>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLocale> (0xb46d4b04) 0 empty
-Class QMetaTypeId2<QRect>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRect> (0xb46d4ce4) 0 empty
-Class QMetaTypeId2<QRectF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRectF> (0xb46d4ec4) 0 empty
-Class QMetaTypeId2<QSize>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSize> (0xb46e00b4) 0 empty
-Class QMetaTypeId2<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizeF> (0xb46e0294) 0 empty
-Class QMetaTypeId2<QLine>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLine> (0xb46e0474) 0 empty
-Class QMetaTypeId2<QLineF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLineF> (0xb46e0654) 0 empty
-Class QMetaTypeId2<QPoint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPoint> (0xb46e0834) 0 empty
-Class QMetaTypeId2<QPointF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPointF> (0xb46e0a14) 0 empty
-Class QMetaTypeId2<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegExp> (0xb46e0bf4) 0 empty
-Class QMetaTypeId2<QColorGroup>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColorGroup> (0xb46e0dd4) 0 empty
-Class QMetaTypeId2<QFont>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QFont> (0xb46e0fb4) 0 empty
-Class QMetaTypeId2<QPixmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPixmap> (0xb46e51a4) 0 empty
-Class QMetaTypeId2<QBrush>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBrush> (0xb46e5384) 0 empty
-Class QMetaTypeId2<QColor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColor> (0xb46e5564) 0 empty
-Class QMetaTypeId2<QPalette>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPalette> (0xb46e5744) 0 empty
-Class QMetaTypeId2<QIcon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QIcon> (0xb46e5924) 0 empty
-Class QMetaTypeId2<QImage>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QImage> (0xb46e5b04) 0 empty
-Class QMetaTypeId2<QPolygon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPolygon> (0xb46e5ce4) 0 empty
-Class QMetaTypeId2<QRegion>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegion> (0xb46e5ec4) 0 empty
-Class QMetaTypeId2<QBitmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitmap> (0xb46ec0b4) 0 empty
-Class QMetaTypeId2<QCursor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QCursor> (0xb46ec294) 0 empty
-Class QMetaTypeId2<QSizePolicy>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizePolicy> (0xb46ec474) 0 empty
-Class QMetaTypeId2<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QKeySequence> (0xb46ec654) 0 empty
-Class QMetaTypeId2<QPen>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPen> (0xb46ec834) 0 empty
-Class QMetaTypeId2<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextLength> (0xb46eca14) 0 empty
-Class QMetaTypeId2<QTextFormat>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextFormat> (0xb46ecbf4) 0 empty
-Class QMetaTypeId2<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMatrix> (0xb46ecdd4) 0 empty
-Class QMetaTypeId2<QTransform>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTransform> (0xb46ecfb4) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -3392,45 +1727,17 @@ Class QVariant
base size=12 base align=4
QVariant (0xb44ed1a4) 0
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0xb451fc30) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0xb451fbb8) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0xb451fd20) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0xb451fca8) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0xb455e0b4) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0xb455e6cc) 0 empty
-Class QMetaTypeId2<QList<QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QList<QVariant> > (0xb455e8ac) 0 empty
-Class QMetaTypeId2<QMap<QString, QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMap<QString, QVariant> > (0xb455ea8c) 0 empty
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -3508,15 +1815,7 @@ Class QUrl
base size=4 base align=4
QUrl (0xb45aeb40) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0xb45b9a50) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0xb45e54ec) 0 empty
Vtable for QEventLoop
QEventLoop::_ZTV10QEventLoop: 14u entries
@@ -3543,10 +1842,6 @@ QEventLoop (0xb45aabc0) 0
QObject (0xb43ef348) 0
primary-for QEventLoop (0xb45aabc0)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0xb43ef960) 0
Vtable for QAbstractEventDispatcher
QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 27u entries
@@ -3591,20 +1886,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0xb4415bf4) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0xb442cfb4) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0xb44340b4) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0xb44347f8) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -3774,10 +2061,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0xb4480960) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0xb448e0f0) 0 empty
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -3889,20 +2172,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0xb44c7d20) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0xb42fb1e0) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0xb42fb2d0) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0xb42fb708) 0 empty
Class QMetaProperty
size=20 align=4
@@ -3914,10 +2189,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0xb42fbb04) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0xb42fbe4c) 0 empty
Vtable for QMimeData
QMimeData::_ZTV9QMimeData: 17u entries
@@ -4129,10 +2400,6 @@ QLibrary (0xb434d8c0) 0
QObject (0xb436d780) 0
primary-for QLibrary (0xb434d8c0)
-Class QFlags<QLibrary::LoadHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLibrary::LoadHint> (0xb437b6cc) 0
Vtable for QPluginLoader
QPluginLoader::_ZTV13QPluginLoader: 14u entries
@@ -4169,20 +2436,12 @@ Class QReadWriteLock
base size=4 base align=4
QReadWriteLock (0xb43a8ca8) 0
-Class QReadLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QReadLocker::<anonymous union> (0xb43b4348) 0
Class QReadLocker
size=4 align=4
base size=4 base align=4
QReadLocker (0xb43b403c) 0
-Class QWriteLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QWriteLocker::<anonymous union> (0xb43bd834) 0
Class QWriteLocker
size=4 align=4
@@ -4209,10 +2468,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0xb41f1e10) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0xb4200b04) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -4229,70 +2484,42 @@ Class QDate
base size=4 base align=4
QDate (0xb4211b04) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0xb423e4b0) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0xb423e5a0) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0xb424ab04) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0xb424abf4) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0xb425e294) 0 empty
Class QPoint
size=8 align=4
base size=8 base align=4
QPoint (0xb425e474) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0xb426e294) 0 empty
Class QPointF
size=16 align=4
base size=16 base align=4
QPointF (0xb42814ec) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0xb428d348) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0xb42a44b0) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0xb42a4870) 0 empty
Class QLineF
size=32 align=4
base size=32 base align=4
QLineF (0xb42c19d8) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0xb42cf3fc) 0 empty
Class QLinkedListData
size=20 align=4
@@ -4304,40 +2531,24 @@ Class QSize
base size=8 base align=4
QSize (0xb4161348) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0xb416b348) 0 empty
Class QSizeF
size=16 align=4
base size=16 base align=4
QSizeF (0xb417dfb4) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0xb418cd20) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0xb41a7e10) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0xb41c5ce4) 0 empty
Class QRectF
size=32 align=4
base size=32 base align=4
QRectF (0xb400a8e8) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0xb4023e10) 0 empty
Class QSharedData
size=4 align=4
@@ -4385,20 +2596,8 @@ Class QXmlStreamAttribute
base size=53 base align=4
QXmlStreamAttribute (0xb40c95dc) 0
-Class QTypeInfo<QXmlStreamAttribute>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QXmlStreamAttribute> (0xb40d3b40) 0 empty
-Class QVector<QXmlStreamAttribute>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QXmlStreamAttribute>::<anonymous union> (0xb40d3ca8) 0
-Class QVector<QXmlStreamAttribute>
- size=4 align=4
- base size=4 base align=4
-QVector<QXmlStreamAttribute> (0xb40d3c30) 0
Class QXmlStreamAttributes
size=4 align=4
@@ -4411,30 +2610,18 @@ Class QXmlStreamNamespaceDeclaration
base size=28 base align=4
QXmlStreamNamespaceDeclaration (0xb40d3d20) 0
-Class QTypeInfo<QXmlStreamNamespaceDeclaration>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QXmlStreamNamespaceDeclaration> (0xb3ef6744) 0 empty
Class QXmlStreamNotationDeclaration
size=40 align=4
base size=40 base align=4
QXmlStreamNotationDeclaration (0xb3ef6870) 0
-Class QTypeInfo<QXmlStreamNotationDeclaration>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QXmlStreamNotationDeclaration> (0xb3f05438) 0 empty
Class QXmlStreamEntityDeclaration
size=64 align=4
base size=64 base align=4
QXmlStreamEntityDeclaration (0xb3f05564) 0
-Class QTypeInfo<QXmlStreamEntityDeclaration>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QXmlStreamEntityDeclaration> (0xb3f1a4ec) 0 empty
Vtable for QXmlStreamEntityResolver
QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver: 6u entries
@@ -4461,25 +2648,9 @@ Class QXmlStreamWriter
base size=4 base align=4
QXmlStreamWriter (0xb3f35d98) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0xb3f65ce4) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0xb3f65d5c) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0xb3f65dd4) 0
-Class QColor::<anonymous union>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union> (0xb3f65c6c) 0
Class QColor
size=16 align=4
@@ -4501,10 +2672,6 @@ Class QKeySequence
base size=4 base align=4
QKeySequence (0xb3f91bb8) 0
-Class QTypeInfo<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QKeySequence> (0xb3fa2e10) 0 empty
Vtable for QMimeSource
QMimeSource::_ZTV11QMimeSource: 7u entries
@@ -4802,15 +2969,7 @@ Class QInputMethodEvent::Attribute
base size=24 base align=4
QInputMethodEvent::Attribute (0xb3e2ce88) 0
-Class QList<QInputMethodEvent::Attribute>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute>::<anonymous union> (0xb3e396cc) 0
-Class QList<QInputMethodEvent::Attribute>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute> (0xb3e39654) 0
Vtable for QInputMethodEvent
QInputMethodEvent::_ZTV17QInputMethodEvent: 4u entries
@@ -5099,20 +3258,8 @@ Class QAccessible
base size=0 base align=1
QAccessible (0xb3e8c708) 0 empty
-Class QFlags<QAccessible::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::StateFlag> (0xb3e8c30c) 0
-Class QFlags<QAccessible::RelationFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::RelationFlag> (0xb3ea6bf4) 0
-Class QMetaTypeId<QSet<QAccessible::Method> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QSet<QAccessible::Method> > (0xb3eb87bc) 0 empty
Vtable for QAccessibleInterface
QAccessibleInterface::_ZTV20QAccessibleInterface: 19u entries
@@ -5143,20 +3290,8 @@ QAccessibleInterface (0xb3e819c0) 0 nearly-empty
vptr=((& QAccessibleInterface::_ZTV20QAccessibleInterface) + 8u)
QAccessible (0xb3eb8bb8) 0 empty
-Class QHash<QAccessible::Method, QHashDummyValue>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QHash<QAccessible::Method, QHashDummyValue>::<anonymous union> (0xb3eca708) 0
-Class QHash<QAccessible::Method, QHashDummyValue>
- size=4 align=4
- base size=4 base align=4
-QHash<QAccessible::Method, QHashDummyValue> (0xb3eca690) 0
-Class QSet<QAccessible::Method>
- size=4 align=4
- base size=4 base align=4
-QSet<QAccessible::Method> (0xb3eca618) 0
Vtable for QAccessibleInterfaceEx
QAccessibleInterfaceEx::_ZTV22QAccessibleInterfaceEx: 22u entries
@@ -5669,15 +3804,7 @@ Class QPaintDevice
QPaintDevice (0xb3d50e10) 0
vptr=((& QPaintDevice::_ZTV12QPaintDevice) + 8u)
-Class QVector<QPoint>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint>::<anonymous union> (0xb3d6f30c) 0
-Class QVector<QPoint>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint> (0xb3d6f294) 0
Class QPolygon
size=4 align=4
@@ -5685,15 +3812,7 @@ Class QPolygon
QPolygon (0xb3d2ed80) 0
QVector<QPoint> (0xb3d6f348) 0
-Class QVector<QPointF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF>::<anonymous union> (0xb3d903fc) 0
-Class QVector<QPointF>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF> (0xb3d90384) 0
Class QPolygonF
size=4 align=4
@@ -5706,10 +3825,6 @@ Class QMatrix
base size=48 base align=4
QMatrix (0xb3daf348) 0
-Class QTypeInfo<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMatrix> (0xb3dc099c) 0 empty
Class QPainterPath::Element
size=20 align=4
@@ -5721,25 +3836,13 @@ Class QPainterPath
base size=4 base align=4
QPainterPath (0xb3dcd168) 0
-Class QVector<QPainterPath::Element>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element>::<anonymous union> (0xb3bf221c) 0
-Class QVector<QPainterPath::Element>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element> (0xb3bf21a4) 0
Class QPainterPathPrivate
size=8 align=4
base size=8 base align=4
QPainterPathPrivate (0xb3de1e88) 0
-Class QTypeInfo<QPainterPath::Element>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPainterPath::Element> (0xb3bf2258) 0 empty
Class QPainterPathStroker
size=4 align=4
@@ -5751,10 +3854,6 @@ Class QTransform
base size=80 base align=4
QTransform (0xb3c1cac8) 0
-Class QTypeInfo<QTransform>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTransform> (0xb3c2fbb8) 0 empty
Class QImageTextKeyLang
size=8 align=4
@@ -5779,10 +3878,6 @@ QImage (0xb3c4c900) 0
QPaintDevice (0xb3c7e3c0) 0
primary-for QImage (0xb3c4c900)
-Class QTypeInfo<QImage>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QImage> (0xb3cc98ac) 0 empty
Vtable for QPixmap
QPixmap::_ZTV7QPixmap: 7u entries
@@ -5807,45 +3902,17 @@ Class QBrush
base size=4 base align=4
QBrush (0xb3afa2d0) 0
-Class QTypeInfo<QBrush>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBrush> (0xb3afadd4) 0 empty
Class QBrushData
size=124 align=4
base size=121 base align=4
QBrushData (0xb3b0d03c) 0
-Class QVector<QPair<double, QColor> >::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPair<double, QColor> >::<anonymous union> (0xb3b0dce4) 0
-Class QVector<QPair<double, QColor> >
- size=4 align=4
- base size=4 base align=4
-QVector<QPair<double, QColor> > (0xb3b0dc6c) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=32 align=4
- base size=32 base align=4
-QGradient::<anonymous union>::<anonymous struct> (0xb3b0ddd4) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=40 align=4
- base size=40 base align=4
-QGradient::<anonymous union>::<anonymous struct> (0xb3b0de4c) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=24 align=4
- base size=24 base align=4
-QGradient::<anonymous union>::<anonymous struct> (0xb3b0dec4) 0
-Class QGradient::<anonymous union>
- size=40 align=4
- base size=40 base align=4
-QGradient::<anonymous union> (0xb3b0dd5c) 0
Class QGradient
size=56 align=4
@@ -5906,10 +3973,6 @@ Class QSizePolicy
base size=4 base align=4
QSizePolicy (0xb3bafb7c) 0
-Class QFlags<QSizePolicy::ControlType>
- size=4 align=4
- base size=4 base align=4
-QFlags<QSizePolicy::ControlType> (0xb3a02bf4) 0
Class QCursor
size=4 align=4
@@ -5997,10 +4060,6 @@ QWidget (0xb3a22c30) 0
QPaintDevice (0xb3a1d474) 8
vptr=((& QWidget::_ZTV7QWidget) + 232u)
-Class QFlags<QWidget::RenderFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QWidget::RenderFlag> (0xb3a6f3c0) 0
Vtable for QDialog
QDialog::_ZTV7QDialog: 66u entries
@@ -6251,10 +4310,6 @@ QAbstractPrintDialog (0xb38f7400) 0
QPaintDevice (0xb3906528) 8
vptr=((& QAbstractPrintDialog::_ZTV20QAbstractPrintDialog) + 248u)
-Class QFlags<QAbstractPrintDialog::PrintDialogOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractPrintDialog::PrintDialogOption> (0xb39156cc) 0
Vtable for QColorDialog
QColorDialog::_ZTV12QColorDialog: 66u entries
@@ -6505,20 +4560,12 @@ QFileDialog (0xb38f7e80) 0
QPaintDevice (0xb393ff78) 8
vptr=((& QFileDialog::_ZTV11QFileDialog) + 244u)
-Class QFlags<QFileDialog::Option>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileDialog::Option> (0xb396403c) 0
Class QIcon
size=4 align=4
base size=4 base align=4
QIcon (0xb3984438) 0
-Class QTypeInfo<QIcon>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QIcon> (0xb399a7f8) 0 empty
Vtable for QFileSystemModel
QFileSystemModel::_ZTV16QFileSystemModel: 42u entries
@@ -6980,10 +5027,6 @@ QMessageBox (0xb3812280) 0
QPaintDevice (0xb38156cc) 8
vptr=((& QMessageBox::_ZTV11QMessageBox) + 244u)
-Class QFlags<QMessageBox::StandardButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<QMessageBox::StandardButton> (0xb382f528) 0
Vtable for QPageSetupDialog
QPageSetupDialog::_ZTV16QPageSetupDialog: 67u entries
@@ -7488,10 +5531,6 @@ QWizard (0xb3885680) 0
QPaintDevice (0xb3896d20) 8
vptr=((& QWizard::_ZTV7QWizard) + 260u)
-Class QFlags<QWizard::WizardOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QWizard::WizardOption> (0xb38bf03c) 0
Vtable for QWizardPage
QWizardPage::_ZTV11QWizardPage: 68u entries
@@ -7624,10 +5663,6 @@ Class QGraphicsItem
QGraphicsItem (0xb36d0960) 0
vptr=((& QGraphicsItem::_ZTV13QGraphicsItem) + 8u)
-Class QFlags<QGraphicsItem::GraphicsItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGraphicsItem::GraphicsItemFlag> (0xb3709078) 0
Vtable for QAbstractGraphicsShapeItem
QAbstractGraphicsShapeItem::_ZTV26QAbstractGraphicsShapeItem: 39u entries
@@ -8184,15 +6219,7 @@ QGraphicsItemGroup (0xb378a040) 0
QGraphicsItem (0xb3783780) 0
primary-for QGraphicsItemGroup (0xb378a040)
-Class QMetaTypeId<QGraphicsItem*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QGraphicsItem*> (0xb3783564) 0 empty
-Class QMetaTypeId<QGraphicsScene*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QGraphicsScene*> (0xb379512c) 0 empty
Vtable for QGraphicsLayoutItem
QGraphicsLayoutItem::_ZTV19QGraphicsLayoutItem: 8u entries
@@ -8544,10 +6571,6 @@ Class QPen
base size=4 base align=4
QPen (0xb360d2d0) 0
-Class QTypeInfo<QPen>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPen> (0xb360db40) 0 empty
Vtable for QGraphicsScene
QGraphicsScene::_ZTV14QGraphicsScene: 34u entries
@@ -8594,20 +6617,8 @@ QGraphicsScene (0xb35f56c0) 0
QObject (0xb360ddd4) 0
primary-for QGraphicsScene (0xb35f56c0)
-Class QFlags<QGraphicsScene::SceneLayer>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGraphicsScene::SceneLayer> (0xb3620b04) 0
-Class QList<QGraphicsItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QGraphicsItem*>::<anonymous union> (0xb3645528) 0
-Class QList<QGraphicsItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QGraphicsItem*> (0xb36454b0) 0
Vtable for QGraphicsSceneEvent
QGraphicsSceneEvent::_ZTV19QGraphicsSceneEvent: 4u entries
@@ -8770,65 +6781,21 @@ Class QTextOption
base size=24 base align=4
QTextOption (0xb369d0f0) 0
-Class QFlags<QTextOption::Flag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextOption::Flag> (0xb36a88ac) 0
-Class QMetaTypeId<QTextOption::Tab>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QTextOption::Tab> (0xb36b7e88) 0 empty
Class QPainter
size=4 align=4
base size=4 base align=4
QPainter (0xb36cb1a4) 0
-Class QFlags<QPainter::RenderHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPainter::RenderHint> (0xb36cbc6c) 0
-Class QVector<QLineF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF>::<anonymous union> (0xb352d6cc) 0
-Class QVector<QLineF>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF> (0xb352d654) 0
-Class QVector<QLine>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine>::<anonymous union> (0xb352d834) 0
-Class QVector<QLine>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine> (0xb352d7bc) 0
-Class QVector<QRectF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF>::<anonymous union> (0xb352df78) 0
-Class QVector<QRectF>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF> (0xb352df00) 0
-Class QVector<QRect>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect>::<anonymous union> (0xb35750f0) 0
-Class QVector<QRect>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect> (0xb3575078) 0
Vtable for QAbstractScrollArea
QAbstractScrollArea::_ZTV19QAbstractScrollArea: 65u entries
@@ -9083,15 +7050,7 @@ QGraphicsView (0xb33d5480) 0
QPaintDevice (0xb33e0a14) 8
vptr=((& QGraphicsView::_ZTV13QGraphicsView) + 252u)
-Class QFlags<QGraphicsView::CacheModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGraphicsView::CacheModeFlag> (0xb340a258) 0
-Class QFlags<QGraphicsView::OptimizationFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGraphicsView::OptimizationFlag> (0xb340ae88) 0
Vtable for QBitmap
QBitmap::_ZTV7QBitmap: 7u entries
@@ -9346,10 +7305,6 @@ QImageIOPlugin (0xb3484b90) 0
QFactoryInterface (0xb3489258) 8 nearly-empty
primary-for QImageIOHandlerFactoryInterface (0xb3453f00)
-Class QFlags<QImageIOPlugin::Capability>
- size=4 align=4
- base size=4 base align=4
-QFlags<QImageIOPlugin::Capability> (0xb3489d20) 0
Class QImageReader
size=4 align=4
@@ -9525,15 +7480,7 @@ QActionGroup (0xb3310580) 0
QObject (0xb3316e4c) 0
primary-for QActionGroup (0xb3310580)
-Class QList<QAction*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QAction*>::<anonymous union> (0xb3322ca8) 0
-Class QList<QAction*>
- size=4 align=4
- base size=4 base align=4
-QList<QAction*> (0xb3322c30) 0
Vtable for QInputContext
QInputContext::_ZTV13QInputContext: 26u entries
@@ -9839,10 +7786,6 @@ QAbstractSpinBox (0xb335ad00) 0
QPaintDevice (0xb338f3fc) 8
vptr=((& QAbstractSpinBox::_ZTV16QAbstractSpinBox) + 252u)
-Class QFlags<QAbstractSpinBox::StepEnabledFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractSpinBox::StepEnabledFlag> (0xb33a65a0) 0
Vtable for QAbstractSlider
QAbstractSlider::_ZTV15QAbstractSlider: 64u entries
@@ -10050,15 +7993,7 @@ QStyle (0xb33aea00) 0
QObject (0xb31eaac8) 0
primary-for QStyle (0xb33aea00)
-Class QFlags<QStyle::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::StateFlag> (0xb3219438) 0
-Class QFlags<QStyle::SubControl>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::SubControl> (0xb3233078) 0
Vtable for QTabBar
QTabBar::_ZTV7QTabBar: 67u entries
@@ -10317,10 +8252,6 @@ Class QStyleOptionFrame
QStyleOptionFrame (0xb32a7040) 0
QStyleOption (0xb329cec4) 0
-Class QFlags<QStyleOptionFrameV2::FrameFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionFrameV2::FrameFeature> (0xb32a8654) 0
Class QStyleOptionFrameV2
size=56 align=4
@@ -10347,10 +8278,6 @@ Class QStyleOptionHeader
QStyleOptionHeader (0xb32a7ac0) 0
QStyleOption (0xb30d55dc) 0
-Class QFlags<QStyleOptionButton::ButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionButton::ButtonFeature> (0xb30d53fc) 0
Class QStyleOptionButton
size=64 align=4
@@ -10358,10 +8285,6 @@ Class QStyleOptionButton
QStyleOptionButton (0xb32a7d80) 0
QStyleOption (0xb30d5d20) 0
-Class QFlags<QStyleOptionTab::CornerWidget>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionTab::CornerWidget> (0xb3106528) 0
Class QStyleOptionTab
size=72 align=4
@@ -10376,10 +8299,6 @@ QStyleOptionTabV2 (0xb30f23c0) 0
QStyleOptionTab (0xb30f2400) 0
QStyleOption (0xb3121564) 0
-Class QFlags<QStyleOptionToolBar::ToolBarFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionToolBar::ToolBarFeature> (0xb313121c) 0
Class QStyleOptionToolBar
size=68 align=4
@@ -10406,10 +8325,6 @@ Class QStyleOptionMenuItem
QStyleOptionMenuItem (0xb30f2d00) 0
QStyleOption (0xb3149bf4) 0
-Class QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature> (0xb315d564) 0
Class QStyleOptionQ3ListViewItem
size=64 align=4
@@ -10442,10 +8357,6 @@ Class QStyleOptionViewItem
QStyleOptionViewItem (0xb316c9c0) 0
QStyleOption (0xb3192780) 0
-Class QFlags<QStyleOptionViewItemV2::ViewItemFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionViewItemV2::ViewItemFeature> (0xb3192b7c) 0
Class QStyleOptionViewItemV2
size=84 align=4
@@ -10510,15 +8421,7 @@ QStyleOptionSpinBox (0xb2feb600) 0
QStyleOptionComplex (0xb2feb640) 0
QStyleOption (0xb2ff0834) 0
-Class QList<QStyleOptionQ3ListViewItem>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::<anonymous union> (0xb2ff0654) 0
-Class QList<QStyleOptionQ3ListViewItem>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem> (0xb2ff0fb4) 0
Class QStyleOptionQ3ListView
size=84 align=4
@@ -10527,10 +8430,6 @@ QStyleOptionQ3ListView (0xb2feb880) 0
QStyleOptionComplex (0xb2feb8c0) 0
QStyleOption (0xb2ff0ec4) 0
-Class QFlags<QStyleOptionToolButton::ToolButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionToolButton::ToolButtonFeature> (0xb3014870) 0
Class QStyleOptionToolButton
size=96 align=4
@@ -10627,10 +8526,6 @@ Class QItemSelectionRange
base size=8 base align=4
QItemSelectionRange (0xb3083384) 0
-Class QTypeInfo<QItemSelectionRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QItemSelectionRange> (0xb309ef3c) 0 empty
Vtable for QItemSelectionModel
QItemSelectionModel::_ZTV19QItemSelectionModel: 18u entries
@@ -10661,20 +8556,8 @@ QItemSelectionModel (0xb307abc0) 0
QObject (0xb30b93c0) 0
primary-for QItemSelectionModel (0xb307abc0)
-Class QFlags<QItemSelectionModel::SelectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QItemSelectionModel::SelectionFlag> (0xb30c8654) 0
-Class QList<QItemSelectionRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::<anonymous union> (0xb2edd30c) 0
-Class QList<QItemSelectionRange>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange> (0xb2edd294) 0
Class QItemSelection
size=4 align=4
@@ -10804,10 +8687,6 @@ QAbstractItemView (0xb2efa180) 0
QPaintDevice (0xb2edd690) 8
vptr=((& QAbstractItemView::_ZTV17QAbstractItemView) + 392u)
-Class QFlags<QAbstractItemView::EditTrigger>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractItemView::EditTrigger> (0xb2f1f474) 0
Vtable for QAbstractProxyModel
QAbstractProxyModel::_ZTV19QAbstractProxyModel: 47u entries
@@ -11270,15 +9149,7 @@ Class QItemEditorCreatorBase
QItemEditorCreatorBase (0xb2fbb000) 0 nearly-empty
vptr=((& QItemEditorCreatorBase::_ZTV22QItemEditorCreatorBase) + 8u)
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union> (0xb2fbbb04) 0
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*> (0xb2fbba8c) 0
Vtable for QItemEditorFactory
QItemEditorFactory::_ZTV18QItemEditorFactory: 6u entries
@@ -11419,15 +9290,7 @@ QListView (0xb2fc5140) 0
QPaintDevice (0xb2fbbe10) 8
vptr=((& QListView::_ZTV9QListView) + 392u)
-Class QVector<void*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<void*>::<anonymous union> (0xb2df24ec) 0
-Class QVector<void*>
- size=4 align=4
- base size=4 base align=4
-QVector<void*> (0xb2df2474) 0
Vtable for QListWidgetItem
QListWidgetItem::_ZTV15QListWidgetItem: 11u entries
@@ -11720,15 +9583,7 @@ Class QStandardItem
QStandardItem (0xb2e764b0) 0
vptr=((& QStandardItem::_ZTV13QStandardItem) + 8u)
-Class QList<QStandardItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QStandardItem*>::<anonymous union> (0xb2cd1ec4) 0
-Class QList<QStandardItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QStandardItem*> (0xb2cd1e4c) 0
Vtable for QStandardItemModel
QStandardItemModel::_ZTV18QStandardItemModel: 42u entries
@@ -12007,15 +9862,7 @@ Class QTableWidgetSelectionRange
base size=16 base align=4
QTableWidgetSelectionRange (0xb2d4a294) 0
-Class QVector<QWidgetItemData>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData>::<anonymous union> (0xb2d4af3c) 0
-Class QVector<QWidgetItemData>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData> (0xb2d4af78) 0
Vtable for QTableWidgetItem
QTableWidgetItem::_ZTV16QTableWidgetItem: 10u entries
@@ -12292,35 +10139,15 @@ QTreeView (0xb2da4380) 0
QPaintDevice (0xb2da8fb4) 8
vptr=((& QTreeView::_ZTV9QTreeView) + 400u)
-Class QFlags<QTreeWidgetItemIterator::IteratorFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTreeWidgetItemIterator::IteratorFlag> (0xb2bd0780) 0
Class QTreeWidgetItemIterator
size=12 align=4
base size=12 base align=4
QTreeWidgetItemIterator (0xb2db0d98) 0
-Class QVector<QVector<QWidgetItemData> >::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> >::<anonymous union> (0xb2c031e0) 0
-Class QVector<QVector<QWidgetItemData> >
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> > (0xb2c03168) 0
-Class QList<QTreeWidgetItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::<anonymous union> (0xb2c03618) 0
-Class QList<QTreeWidgetItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*> (0xb2c035a0) 0
Vtable for QTreeWidgetItem
QTreeWidgetItem::_ZTV15QTreeWidgetItem: 10u entries
@@ -13296,15 +11123,7 @@ Class QTextItem
base size=0 base align=1
QTextItem (0xb2bbb7f8) 0 empty
-Class QTypeInfo<QTextItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextItem> (0xb2bbba50) 0 empty
-Class QFlags<QPaintEngine::PaintEngineFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::PaintEngineFeature> (0xb29cd2d0) 0
Vtable for QPaintEngine
QPaintEngine::_ZTV12QPaintEngine: 24u entries
@@ -13339,20 +11158,12 @@ Class QPaintEngine
QPaintEngine (0xb2bbbb40) 0
vptr=((& QPaintEngine::_ZTV12QPaintEngine) + 8u)
-Class QFlags<QPaintEngine::DirtyFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::DirtyFlag> (0xb29e14b0) 0
Class QPaintEngineState
size=4 align=4
base size=4 base align=4
QPaintEngineState (0xb29e1168) 0
-Class QFlags<QTextItem::RenderFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextItem::RenderFlag> (0xb29f81a4) 0
Vtable for QPrinter
QPrinter::_ZTV8QPrinter: 7u entries
@@ -13450,10 +11261,6 @@ QCommonStyle (0xb29e3f00) 0
QObject (0xb2a73834) 0
primary-for QStyle (0xb29e3f40)
-Class QPointer<QFocusFrame>
- size=4 align=4
- base size=4 base align=4
-QPointer<QFocusFrame> (0xb2a83b40) 0
Vtable for QMotifStyle
QMotifStyle::_ZTV11QMotifStyle: 35u entries
@@ -13985,30 +11792,14 @@ Class QTextLength
base size=12 base align=4
QTextLength (0xb28e8528) 0
-Class QSharedDataPointer<QTextFormatPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextFormatPrivate> (0xb28f2fb4) 0
Class QTextFormat
size=8 align=4
base size=8 base align=4
QTextFormat (0xb28f2834) 0
-Class QVector<QTextLength>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength>::<anonymous union> (0xb2927474) 0
-Class QVector<QTextLength>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength> (0xb29273fc) 0
-Class QFlags<QTextFormat::PageBreakFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextFormat::PageBreakFlag> (0xb29431a4) 0
Class QTextCharFormat
size=8 align=4
@@ -14070,15 +11861,7 @@ Class QTextLayout
base size=4 base align=4
QTextLayout (0xb27ec000) 0
-Class QVector<QTextLayout::FormatRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange>::<anonymous union> (0xb27ecd20) 0
-Class QVector<QTextLayout::FormatRange>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange> (0xb27ecca8) 0
Class QTextLine
size=8 align=4
@@ -14128,15 +11911,7 @@ QTextDocument (0xb27d4d40) 0
QObject (0xb2808ce4) 0
primary-for QTextDocument (0xb27d4d40)
-Class QFlags<QTextDocument::FindFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextDocument::FindFlag> (0xb2819654) 0
-Class QSharedDataPointer<QTextCursorPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextCursorPrivate> (0xb285a384) 0
Class QTextCursor
size=4 align=4
@@ -14148,15 +11923,7 @@ Class QAbstractTextDocumentLayout::Selection
base size=12 base align=4
QAbstractTextDocumentLayout::Selection (0xb285a618) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union> (0xb285aa14) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection> (0xb285a99c) 0
Class QAbstractTextDocumentLayout::PaintContext
size=48 align=4
@@ -14318,10 +12085,6 @@ QTextFrame (0xb2834f40) 0
QObject (0xb26a3b04) 0
primary-for QTextObject (0xb2834f80)
-Class QTypeInfo<QTextFrame::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFrame::iterator> (0xb26c54b0) 0 empty
Vtable for QTextBlockUserData
QTextBlockUserData::_ZTV18QTextBlockUserData: 4u entries
@@ -14346,25 +12109,13 @@ Class QTextBlock
base size=8 base align=4
QTextBlock (0xb26c599c) 0
-Class QTypeInfo<QTextBlock>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock> (0xb26e64b0) 0 empty
-Class QTypeInfo<QTextBlock::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock::iterator> (0xb26e65a0) 0 empty
Class QTextFragment
size=12 align=4
base size=12 base align=4
QTextFragment (0xb26e6744) 0
-Class QTypeInfo<QTextFragment>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFragment> (0xb26f3b04) 0 empty
Vtable for QSyntaxHighlighter
QSyntaxHighlighter::_ZTV18QSyntaxHighlighter: 15u entries
@@ -15494,10 +13245,6 @@ QDateEdit (0xb2642580) 0
QPaintDevice (0xb2663564) 8
vptr=((& QDateEdit::_ZTV9QDateEdit) + 260u)
-Class QFlags<QDateTimeEdit::Section>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDateTimeEdit::Section> (0xb2663e10) 0
Vtable for QDial
QDial::_ZTV5QDial: 64u entries
@@ -15658,10 +13405,6 @@ QDialogButtonBox (0xb2642c00) 0
QPaintDevice (0xb249a780) 8
vptr=((& QDialogButtonBox::_ZTV16QDialogButtonBox) + 232u)
-Class QFlags<QDialogButtonBox::StandardButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDialogButtonBox::StandardButton> (0xb24a7bf4) 0
Vtable for QDockWidget
QDockWidget::_ZTV11QDockWidget: 63u entries
@@ -15741,10 +13484,6 @@ QDockWidget (0xb2642f80) 0
QPaintDevice (0xb24bb7bc) 8
vptr=((& QDockWidget::_ZTV11QDockWidget) + 232u)
-Class QFlags<QDockWidget::DockWidgetFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDockWidget::DockWidgetFeature> (0xb24dae88) 0
Vtable for QFocusFrame
QFocusFrame::_ZTV11QFocusFrame: 63u entries
@@ -15906,10 +13645,6 @@ QFontComboBox (0xb24d3640) 0
QPaintDevice (0xb250f7bc) 8
vptr=((& QFontComboBox::_ZTV13QFontComboBox) + 240u)
-Class QFlags<QFontComboBox::FontFilter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFontComboBox::FontFilter> (0xb2522780) 0
Vtable for QGroupBox
QGroupBox::_ZTV9QGroupBox: 63u entries
@@ -16228,10 +13963,6 @@ QMainWindow (0xb256f380) 0
QPaintDevice (0xb257e690) 8
vptr=((& QMainWindow::_ZTV11QMainWindow) + 236u)
-Class QFlags<QMainWindow::DockOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QMainWindow::DockOption> (0xb23927f8) 0
Vtable for QMdiArea
QMdiArea::_ZTV8QMdiArea: 65u entries
@@ -16317,10 +14048,6 @@ QMdiArea (0xb256f700) 0
QPaintDevice (0xb23ac3fc) 8
vptr=((& QMdiArea::_ZTV8QMdiArea) + 240u)
-Class QFlags<QMdiArea::AreaOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QMdiArea::AreaOption> (0xb23c6834) 0
Vtable for QMdiSubWindow
QMdiSubWindow::_ZTV13QMdiSubWindow: 63u entries
@@ -16400,10 +14127,6 @@ QMdiSubWindow (0xb256fb00) 0
QPaintDevice (0xb23dd438) 8
vptr=((& QMdiSubWindow::_ZTV13QMdiSubWindow) + 232u)
-Class QFlags<QMdiSubWindow::SubWindowOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QMdiSubWindow::SubWindowOption> (0xb23f9528) 0
Vtable for QMenu
QMenu::_ZTV5QMenu: 63u entries
@@ -16681,10 +14404,6 @@ QTextEdit (0xb22ba7c0) 0
QPaintDevice (0xb22ca168) 8
vptr=((& QTextEdit::_ZTV9QTextEdit) + 256u)
-Class QFlags<QTextEdit::AutoFormattingFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextEdit::AutoFormattingFlag> (0xb23080f0) 0
Vtable for QPlainTextEdit
QPlainTextEdit::_ZTV14QPlainTextEdit: 69u entries
@@ -18351,20 +16070,12 @@ QNetworkAccessManager (0xb20db400) 0
QObject (0xb20ebca8) 0
primary-for QNetworkAccessManager (0xb20db400)
-Class QSharedDataPointer<QNetworkCookiePrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QNetworkCookiePrivate> (0xb2105c6c) 0
Class QNetworkCookie
size=4 align=4
base size=4 base align=4
QNetworkCookie (0xb2105618) 0
-Class QTypeInfo<QNetworkCookie>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QNetworkCookie> (0xb2105e88) 0 empty
Vtable for QNetworkCookieJar
QNetworkCookieJar::_ZTV17QNetworkCookieJar: 16u entries
@@ -18393,30 +16104,14 @@ QNetworkCookieJar (0xb20db840) 0
QObject (0xb2105f78) 0
primary-for QNetworkCookieJar (0xb20db840)
-Class QMetaTypeId<QNetworkCookie>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QNetworkCookie> (0xb2119b04) 0 empty
-Class QMetaTypeId<QList<QNetworkCookie> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QList<QNetworkCookie> > (0xb2119ca8) 0 empty
-Class QSharedDataPointer<QNetworkRequestPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QNetworkRequestPrivate> (0xb212830c) 0
Class QNetworkRequest
size=4 align=4
base size=4 base align=4
QNetworkRequest (0xb2119e4c) 0
-Class QMetaTypeId<QNetworkRequest>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QNetworkRequest> (0xb21284ec) 0 empty
Vtable for QNetworkReply
QNetworkReply::_ZTV13QNetworkReply: 33u entries
@@ -18532,20 +16227,12 @@ Class QNetworkAddressEntry
base size=4 base align=4
QNetworkAddressEntry (0xb21801a4) 0
-Class QSharedDataPointer<QNetworkInterfacePrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QNetworkInterfacePrivate> (0xb2180d20) 0
Class QNetworkInterface
size=4 align=4
base size=4 base align=4
QNetworkInterface (0xb2180474) 0
-Class QFlags<QNetworkInterface::InterfaceFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QNetworkInterface::InterfaceFlag> (0xb2180e4c) 0
Class QNetworkProxy
size=4 align=4
@@ -18741,10 +16428,6 @@ QUdpSocket (0xb1fc3900) 0
QObject (0xb1fed2d0) 0
primary-for QIODevice (0xb1fc3980)
-Class QFlags<QUdpSocket::BindFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUdpSocket::BindFlag> (0xb1ffe1a4) 0
Class QSslCertificate
size=4 align=4
@@ -18808,10 +16491,6 @@ QSslSocket (0xb1fc3f00) 0
QObject (0xb202d708) 0
primary-for QIODevice (0xb1fc3fc0)
-Class QMetaTypeId<QList<QSslError> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QList<QSslError> > (0xb2044b40) 0 empty
Class QSslConfiguration
size=4 align=4
@@ -18823,10 +16502,6 @@ Class QSslKey
base size=4 base align=4
QSslKey (0xb2050348) 0
-Class QFlags<QSql::ParamTypeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QSql::ParamTypeFlag> (0xb2050924) 0
Class QSqlRecord
size=4 align=4
@@ -18964,15 +16639,7 @@ Class QSqlField
base size=16 base align=4
QSqlField (0xb1ebef00) 0
-Class QList<bool>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<bool>::<anonymous union> (0xb1ecbec4) 0
-Class QList<bool>
- size=4 align=4
- base size=4 base align=4
-QList<bool> (0xb1ecbe4c) 0
Class QSqlIndex
size=16 align=4
@@ -19488,29 +17155,7 @@ Class Q3GListStdIterator
base size=4 base align=4
Q3GListStdIterator (0xb1d9203c) 0
-Vtable for Q3PtrList<void>
-Q3PtrList<void>::_ZTV9Q3PtrListIvE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI9Q3PtrListIvE)
-8 Q3PtrList<type>::count [with type = void]
-12 Q3PtrList<type>::clear [with type = void]
-16 Q3PtrList<type>::~Q3PtrList [with type = void]
-20 Q3PtrList<type>::~Q3PtrList [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3PtrList<type>::deleteItem [with type = void]
-32 Q3GList::compareItems
-36 Q3GList::read
-40 Q3GList::write
-Class Q3PtrList<void>
- size=32 align=4
- base size=32 base align=4
-Q3PtrList<void> (0xb1db12c0) 0
- vptr=((& Q3PtrList<void>::_ZTV9Q3PtrListIvE) + 8u)
- Q3GList (0xb1db1300) 0
- primary-for Q3PtrList<void> (0xb1db12c0)
- Q3PtrCollection (0xb1db21e0) 0
- primary-for Q3GList (0xb1db1300)
Class Q3PointArray
size=4 align=4
@@ -19519,21 +17164,8 @@ Q3PointArray (0xb1dcfc00) 0
QPolygon (0xb1dcfc40) 0
QVector<QPoint> (0xb1dde294) 0
-Class QLinkedList<Q3CanvasItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QLinkedList<Q3CanvasItem*>::<anonymous union> (0xb1ddef78) 0
-Class QLinkedList<Q3CanvasItem*>
- size=4 align=4
- base size=4 base align=4
-QLinkedList<Q3CanvasItem*> (0xb1ddef00) 0
-Class Q3ValueList<Q3CanvasItem*>
- size=4 align=4
- base size=4 base align=4
-Q3ValueList<Q3CanvasItem*> (0xb1ded2c0) 0
- QLinkedList<Q3CanvasItem*> (0xb1ddefb4) 0
Class Q3CanvasItemList
size=4 align=4
@@ -20171,28 +17803,7 @@ Class Q3GDictIterator
base size=12 base align=4
Q3GDictIterator (0xb1cbb12c) 0
-Vtable for Q3Dict<void>
-Q3Dict<void>::_ZTV6Q3DictIvE: 10u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI6Q3DictIvE)
-8 Q3Dict<type>::count [with type = void]
-12 Q3Dict<type>::clear [with type = void]
-16 Q3Dict<type>::~Q3Dict [with type = void]
-20 Q3Dict<type>::~Q3Dict [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3Dict<type>::deleteItem [with type = void]
-32 Q3GDict::read
-36 Q3GDict::write
-Class Q3Dict<void>
- size=28 align=4
- base size=28 base align=4
-Q3Dict<void> (0xb1ca1e80) 0
- vptr=((& Q3Dict<void>::_ZTV6Q3DictIvE) + 8u)
- Q3GDict (0xb1ca1ec0) 0
- primary-for Q3Dict<void> (0xb1ca1e80)
- Q3PtrCollection (0xb1cc6618) 0
- primary-for Q3GDict (0xb1ca1ec0)
Vtable for Q3NetworkProtocolFactoryBase
Q3NetworkProtocolFactoryBase::_ZTV28Q3NetworkProtocolFactoryBase: 5u entries
@@ -20727,29 +18338,7 @@ Q3Wizard (0xb1d1b8c0) 0
QPaintDevice (0xb1d52dd4) 8
vptr=((& Q3Wizard::_ZTV8Q3Wizard) + 308u)
-Vtable for Q3PtrList<char>
-Q3PtrList<char>::_ZTV9Q3PtrListIcE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI9Q3PtrListIcE)
-8 Q3PtrList<type>::count [with type = char]
-12 Q3PtrList<type>::clear [with type = char]
-16 Q3PtrList<type>::~Q3PtrList [with type = char]
-20 Q3PtrList<type>::~Q3PtrList [with type = char]
-24 Q3PtrCollection::newItem
-28 Q3PtrList<type>::deleteItem [with type = char]
-32 Q3GList::compareItems
-36 Q3GList::read
-40 Q3GList::write
-Class Q3PtrList<char>
- size=32 align=4
- base size=32 base align=4
-Q3PtrList<char> (0xb1d1bb80) 0
- vptr=((& Q3PtrList<char>::_ZTV9Q3PtrListIcE) + 8u)
- Q3GList (0xb1d1bbc0) 0
- primary-for Q3PtrList<char> (0xb1d1bb80)
- Q3PtrCollection (0xb1d68d98) 0
- primary-for Q3GList (0xb1d1bbc0)
Vtable for Q3StrList
Q3StrList::_ZTV9Q3StrList: 11u entries
@@ -20777,11 +18366,6 @@ Q3StrList (0xb1d1bc00) 0
Q3PtrCollection (0xb1d68e88) 0
primary-for Q3GList (0xb1d1bc80)
-Class Q3PtrListStdIterator<char>
- size=4 align=4
- base size=4 base align=4
-Q3PtrListStdIterator<char> (0xb1b94140) 0
- Q3GListStdIterator (0xb1b8f5a0) 0
Vtable for Q3StrIList
Q3StrIList::_ZTV10Q3StrIList: 11u entries
@@ -21814,29 +19398,7 @@ Q3GVector (0xb1aec280) 0
Q3PtrCollection (0xb1b05000) 0
primary-for Q3GVector (0xb1aec280)
-Vtable for Q3PtrVector<void>
-Q3PtrVector<void>::_ZTV11Q3PtrVectorIvE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI11Q3PtrVectorIvE)
-8 Q3PtrVector<type>::count [with type = void]
-12 Q3PtrVector<type>::clear [with type = void]
-16 Q3PtrVector<type>::~Q3PtrVector [with type = void]
-20 Q3PtrVector<type>::~Q3PtrVector [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3PtrVector<type>::deleteItem [with type = void]
-32 Q3GVector::compareItems
-36 Q3GVector::read
-40 Q3GVector::write
-Class Q3PtrVector<void>
- size=20 align=4
- base size=20 base align=4
-Q3PtrVector<void> (0xb1aeccc0) 0
- vptr=((& Q3PtrVector<void>::_ZTV11Q3PtrVectorIvE) + 8u)
- Q3GVector (0xb1aecd00) 0
- primary-for Q3PtrVector<void> (0xb1aeccc0)
- Q3PtrCollection (0xb1b18474) 0
- primary-for Q3GVector (0xb1aecd00)
Vtable for Q3Header
Q3Header::_ZTV8Q3Header: 76u entries
@@ -21956,28 +19518,7 @@ Class Q3GArray
Q3GArray (0xb1b43f3c) 0
vptr=((& Q3GArray::_ZTV8Q3GArray) + 8u)
-Vtable for Q3IntDict<void>
-Q3IntDict<void>::_ZTV9Q3IntDictIvE: 10u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI9Q3IntDictIvE)
-8 Q3IntDict<type>::count [with type = void]
-12 Q3IntDict<type>::clear [with type = void]
-16 Q3IntDict<type>::~Q3IntDict [with type = void]
-20 Q3IntDict<type>::~Q3IntDict [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3IntDict<type>::deleteItem [with type = void]
-32 Q3GDict::read
-36 Q3GDict::write
-Class Q3IntDict<void>
- size=28 align=4
- base size=28 base align=4
-Q3IntDict<void> (0xb1b6dd00) 0
- vptr=((& Q3IntDict<void>::_ZTV9Q3IntDictIvE) + 8u)
- Q3GDict (0xb1b6dd40) 0
- primary-for Q3IntDict<void> (0xb1b6dd00)
- Q3PtrCollection (0xb1b7a3fc) 0
- primary-for Q3GDict (0xb1b6dd40)
Class Q3TableSelection
size=28 align=4
@@ -22088,100 +19629,13 @@ Class Q3Table::TableWidget
base size=12 base align=4
Q3Table::TableWidget (0xb19b430c) 0
-Vtable for Q3PtrVector<Q3TableItem>
-Q3PtrVector<Q3TableItem>::_ZTV11Q3PtrVectorI11Q3TableItemE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI11Q3PtrVectorI11Q3TableItemE)
-8 Q3PtrVector<type>::count [with type = Q3TableItem]
-12 Q3PtrVector<type>::clear [with type = Q3TableItem]
-16 Q3PtrVector<type>::~Q3PtrVector [with type = Q3TableItem]
-20 Q3PtrVector<type>::~Q3PtrVector [with type = Q3TableItem]
-24 Q3PtrCollection::newItem
-28 Q3PtrVector<type>::deleteItem [with type = Q3TableItem]
-32 Q3GVector::compareItems
-36 Q3GVector::read
-40 Q3GVector::write
-Class Q3PtrVector<Q3TableItem>
- size=20 align=4
- base size=20 base align=4
-Q3PtrVector<Q3TableItem> (0xb1b84980) 0
- vptr=((& Q3PtrVector<Q3TableItem>::_ZTV11Q3PtrVectorI11Q3TableItemE) + 8u)
- Q3GVector (0xb1b849c0) 0
- primary-for Q3PtrVector<Q3TableItem> (0xb1b84980)
- Q3PtrCollection (0xb19b4744) 0
- primary-for Q3GVector (0xb1b849c0)
-
-Vtable for Q3PtrVector<QWidget>
-Q3PtrVector<QWidget>::_ZTV11Q3PtrVectorI7QWidgetE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI11Q3PtrVectorI7QWidgetE)
-8 Q3PtrVector<type>::count [with type = QWidget]
-12 Q3PtrVector<type>::clear [with type = QWidget]
-16 Q3PtrVector<type>::~Q3PtrVector [with type = QWidget]
-20 Q3PtrVector<type>::~Q3PtrVector [with type = QWidget]
-24 Q3PtrCollection::newItem
-28 Q3PtrVector<type>::deleteItem [with type = QWidget]
-32 Q3GVector::compareItems
-36 Q3GVector::read
-40 Q3GVector::write
-Class Q3PtrVector<QWidget>
- size=20 align=4
- base size=20 base align=4
-Q3PtrVector<QWidget> (0xb1b84a00) 0
- vptr=((& Q3PtrVector<QWidget>::_ZTV11Q3PtrVectorI7QWidgetE) + 8u)
- Q3GVector (0xb1b84a40) 0
- primary-for Q3PtrVector<QWidget> (0xb1b84a00)
- Q3PtrCollection (0xb19b4b04) 0
- primary-for Q3GVector (0xb1b84a40)
-
-Vtable for Q3PtrList<Q3TableSelection>
-Q3PtrList<Q3TableSelection>::_ZTV9Q3PtrListI16Q3TableSelectionE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI9Q3PtrListI16Q3TableSelectionE)
-8 Q3PtrList<type>::count [with type = Q3TableSelection]
-12 Q3PtrList<type>::clear [with type = Q3TableSelection]
-16 Q3PtrList<type>::~Q3PtrList [with type = Q3TableSelection]
-20 Q3PtrList<type>::~Q3PtrList [with type = Q3TableSelection]
-24 Q3PtrCollection::newItem
-28 Q3PtrList<type>::deleteItem [with type = Q3TableSelection]
-32 Q3GList::compareItems
-36 Q3GList::read
-40 Q3GList::write
-Class Q3PtrList<Q3TableSelection>
- size=32 align=4
- base size=32 base align=4
-Q3PtrList<Q3TableSelection> (0xb1b84ac0) 0
- vptr=((& Q3PtrList<Q3TableSelection>::_ZTV9Q3PtrListI16Q3TableSelectionE) + 8u)
- Q3GList (0xb1b84b00) 0
- primary-for Q3PtrList<Q3TableSelection> (0xb1b84ac0)
- Q3PtrCollection (0xb19b4ce4) 0
- primary-for Q3GList (0xb1b84b00)
-
-Vtable for Q3IntDict<int>
-Q3IntDict<int>::_ZTV9Q3IntDictIiE: 10u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI9Q3IntDictIiE)
-8 Q3IntDict<type>::count [with type = int]
-12 Q3IntDict<type>::clear [with type = int]
-16 Q3IntDict<type>::~Q3IntDict [with type = int]
-20 Q3IntDict<type>::~Q3IntDict [with type = int]
-24 Q3PtrCollection::newItem
-28 Q3IntDict<type>::deleteItem [with type = int]
-32 Q3GDict::read
-36 Q3GDict::write
-Class Q3IntDict<int>
- size=28 align=4
- base size=28 base align=4
-Q3IntDict<int> (0xb1b84b80) 0
- vptr=((& Q3IntDict<int>::_ZTV9Q3IntDictIiE) + 8u)
- Q3GDict (0xb1b84bc0) 0
- primary-for Q3IntDict<int> (0xb1b84b80)
- Q3PtrCollection (0xb19b4ec4) 0
- primary-for Q3GDict (0xb1b84bc0)
+
+
+
Vtable for Q3Table
Q3Table::_ZTV7Q3Table: 183u entries
@@ -22495,15 +19949,7 @@ Q3Ftp (0xb19fe940) 0
QObject (0xb1a13b40) 0
primary-for Q3NetworkProtocol (0xb19fe980)
-Class QMap<QString, QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QString>::<anonymous union> (0xb1a30924) 0
-Class QMap<QString, QString>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QString> (0xb1a308ac) 0
Vtable for Q3HttpHeader
Q3HttpHeader::_ZTV12Q3HttpHeader: 8u entries
@@ -23785,21 +21231,8 @@ Class Q3SqlPropertyMap
Q3SqlPropertyMap (0xb17c8a50) 0
vptr=((& Q3SqlPropertyMap::_ZTV16Q3SqlPropertyMap) + 8u)
-Class QLinkedList<Q3SqlFieldInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QLinkedList<Q3SqlFieldInfo>::<anonymous union> (0xb17d54ec) 0
-Class QLinkedList<Q3SqlFieldInfo>
- size=4 align=4
- base size=4 base align=4
-QLinkedList<Q3SqlFieldInfo> (0xb17d5474) 0
-Class Q3ValueList<Q3SqlFieldInfo>
- size=4 align=4
- base size=4 base align=4
-Q3ValueList<Q3SqlFieldInfo> (0xb17c64c0) 0
- QLinkedList<Q3SqlFieldInfo> (0xb17d5528) 0
Class Q3SqlRecordInfo
size=4 align=4
@@ -23808,31 +21241,10 @@ Q3SqlRecordInfo (0xb17c6540) 0
Q3ValueList<Q3SqlFieldInfo> (0xb17c6580) 0
QLinkedList<Q3SqlFieldInfo> (0xb17d55dc) 0
-Class QList<Q3SqlFieldInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<Q3SqlFieldInfo>::<anonymous union> (0xb17d59d8) 0
-Class QList<Q3SqlFieldInfo>
- size=4 align=4
- base size=4 base align=4
-QList<Q3SqlFieldInfo> (0xb17d5960) 0
-Class QLinkedList<Q3SqlFieldInfo>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QLinkedList<Q3SqlFieldInfo>::const_iterator (0xb18100b4) 0
-Class Q3ValueListConstIterator<Q3SqlFieldInfo>
- size=4 align=4
- base size=4 base align=4
-Q3ValueListConstIterator<Q3SqlFieldInfo> (0xb17c6ac0) 0
- QLinkedList<Q3SqlFieldInfo>::const_iterator (0xb18100f0) 0
-Class QLinkedList<Q3SqlFieldInfo>::iterator
- size=4 align=4
- base size=4 base align=4
-QLinkedList<Q3SqlFieldInfo>::iterator (0xb1810168) 0
Vtable for Q3SqlSelectCursor
Q3SqlSelectCursor::_ZTV17Q3SqlSelectCursor: 40u entries
@@ -23892,15 +21304,7 @@ Class Q3StyleSheetItem
base size=4 base align=4
Q3StyleSheetItem (0xb184fd20) 0
-Class QHash<QString, Q3StyleSheetItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QHash<QString, Q3StyleSheetItem*>::<anonymous union> (0xb185fa50) 0
-Class QHash<QString, Q3StyleSheetItem*>
- size=4 align=4
- base size=4 base align=4
-QHash<QString, Q3StyleSheetItem*> (0xb185f9d8) 0
Vtable for Q3StyleSheet
Q3StyleSheet::_ZTV12Q3StyleSheet: 16u entries
@@ -23939,25 +21343,9 @@ Class Q3TextEditOptimPrivate::Selection
base size=8 base align=4
Q3TextEditOptimPrivate::Selection (0xb187e564) 0
-Class QMap<int, QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<int, QString>::<anonymous union> (0xb187e7bc) 0
-Class QMap<int, QString>
- size=4 align=4
- base size=4 base align=4
-QMap<int, QString> (0xb187e744) 0
-Class QMap<int, Q3TextEditOptimPrivate::Tag*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<int, Q3TextEditOptimPrivate::Tag*>::<anonymous union> (0xb187eb40) 0
-Class QMap<int, Q3TextEditOptimPrivate::Tag*>
- size=4 align=4
- base size=4 base align=4
-QMap<int, Q3TextEditOptimPrivate::Tag*> (0xb187eac8) 0
Class Q3TextEditOptimPrivate
size=52 align=4
@@ -24165,10 +21553,6 @@ Q3TextEdit (0xb16961c0) 0
QPaintDevice (0xb1690f3c) 8
vptr=((& Q3TextEdit::_ZTV10Q3TextEdit) + 680u)
-Class QFlags<Q3TextEdit::AutoFormattingFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Q3TextEdit::AutoFormattingFlag> (0xb16d63fc) 0
Vtable for Q3MultiLineEdit
Q3MultiLineEdit::_ZTV15Q3MultiLineEdit: 192u entries
@@ -24853,114 +22237,15 @@ Class Q3GCacheIterator
base size=4 base align=4
Q3GCacheIterator (0xb15e003c) 0
-Vtable for Q3AsciiCache<void>
-Q3AsciiCache<void>::_ZTV12Q3AsciiCacheIvE: 8u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI12Q3AsciiCacheIvE)
-8 Q3AsciiCache<type>::count [with type = void]
-12 Q3AsciiCache<type>::clear [with type = void]
-16 Q3AsciiCache<type>::~Q3AsciiCache [with type = void]
-20 Q3AsciiCache<type>::~Q3AsciiCache [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3AsciiCache<type>::deleteItem [with type = void]
-Class Q3AsciiCache<void>
- size=32 align=4
- base size=29 base align=4
-Q3AsciiCache<void> (0xb15d4800) 0
- vptr=((& Q3AsciiCache<void>::_ZTV12Q3AsciiCacheIvE) + 8u)
- Q3GCache (0xb15d4840) 0
- primary-for Q3AsciiCache<void> (0xb15d4800)
- Q3PtrCollection (0xb15e0d20) 0
- primary-for Q3GCache (0xb15d4840)
-
-Vtable for Q3AsciiDict<void>
-Q3AsciiDict<void>::_ZTV11Q3AsciiDictIvE: 10u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI11Q3AsciiDictIvE)
-8 Q3AsciiDict<type>::count [with type = void]
-12 Q3AsciiDict<type>::clear [with type = void]
-16 Q3AsciiDict<type>::~Q3AsciiDict [with type = void]
-20 Q3AsciiDict<type>::~Q3AsciiDict [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3AsciiDict<type>::deleteItem [with type = void]
-32 Q3GDict::read
-36 Q3GDict::write
-Class Q3AsciiDict<void>
- size=28 align=4
- base size=28 base align=4
-Q3AsciiDict<void> (0xb15fe600) 0
- vptr=((& Q3AsciiDict<void>::_ZTV11Q3AsciiDictIvE) + 8u)
- Q3GDict (0xb15fe640) 0
- primary-for Q3AsciiDict<void> (0xb15fe600)
- Q3PtrCollection (0xb15f68e8) 0
- primary-for Q3GDict (0xb15fe640)
-
-Vtable for Q3Cache<void>
-Q3Cache<void>::_ZTV7Q3CacheIvE: 8u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI7Q3CacheIvE)
-8 Q3Cache<type>::count [with type = void]
-12 Q3Cache<type>::clear [with type = void]
-16 Q3Cache<type>::~Q3Cache [with type = void]
-20 Q3Cache<type>::~Q3Cache [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3Cache<type>::deleteItem [with type = void]
-Class Q3Cache<void>
- size=32 align=4
- base size=29 base align=4
-Q3Cache<void> (0xb161c2c0) 0
- vptr=((& Q3Cache<void>::_ZTV7Q3CacheIvE) + 8u)
- Q3GCache (0xb161c300) 0
- primary-for Q3Cache<void> (0xb161c2c0)
- Q3PtrCollection (0xb161a348) 0
- primary-for Q3GCache (0xb161c300)
-
-Vtable for Q3IntCache<void>
-Q3IntCache<void>::_ZTV10Q3IntCacheIvE: 8u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI10Q3IntCacheIvE)
-8 Q3IntCache<type>::count [with type = void]
-12 Q3IntCache<type>::clear [with type = void]
-16 Q3IntCache<type>::~Q3IntCache [with type = void]
-20 Q3IntCache<type>::~Q3IntCache [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3IntCache<type>::deleteItem [with type = void]
-Class Q3IntCache<void>
- size=32 align=4
- base size=29 base align=4
-Q3IntCache<void> (0xb1637a80) 0
- vptr=((& Q3IntCache<void>::_ZTV10Q3IntCacheIvE) + 8u)
- Q3GCache (0xb1637ac0) 0
- primary-for Q3IntCache<void> (0xb1637a80)
- Q3PtrCollection (0xb16412d0) 0
- primary-for Q3GCache (0xb1637ac0)
-Vtable for Q3AsciiDict<QMetaObject>
-Q3AsciiDict<QMetaObject>::_ZTV11Q3AsciiDictI11QMetaObjectE: 10u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI11Q3AsciiDictI11QMetaObjectE)
-8 Q3AsciiDict<type>::count [with type = QMetaObject]
-12 Q3AsciiDict<type>::clear [with type = QMetaObject]
-16 Q3AsciiDict<type>::~Q3AsciiDict [with type = QMetaObject]
-20 Q3AsciiDict<type>::~Q3AsciiDict [with type = QMetaObject]
-24 Q3PtrCollection::newItem
-28 Q3AsciiDict<type>::deleteItem [with type = QMetaObject]
-32 Q3GDict::read
-36 Q3GDict::write
-Class Q3AsciiDict<QMetaObject>
- size=28 align=4
- base size=28 base align=4
-Q3AsciiDict<QMetaObject> (0xb16522c0) 0
- vptr=((& Q3AsciiDict<QMetaObject>::_ZTV11Q3AsciiDictI11QMetaObjectE) + 8u)
- Q3GDict (0xb1652300) 0
- primary-for Q3AsciiDict<QMetaObject> (0xb16522c0)
- Q3PtrCollection (0xb1641a50) 0
- primary-for Q3GDict (0xb1652300)
+
+
+
Vtable for Q3ObjectDictionary
Q3ObjectDictionary::_ZTV18Q3ObjectDictionary: 10u entries
@@ -24987,76 +22272,11 @@ Q3ObjectDictionary (0xb1652340) 0
Q3PtrCollection (0xb1641b40) 0
primary-for Q3GDict (0xb16523c0)
-Vtable for Q3PtrDict<void>
-Q3PtrDict<void>::_ZTV9Q3PtrDictIvE: 10u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI9Q3PtrDictIvE)
-8 Q3PtrDict<type>::count [with type = void]
-12 Q3PtrDict<type>::clear [with type = void]
-16 Q3PtrDict<type>::~Q3PtrDict [with type = void]
-20 Q3PtrDict<type>::~Q3PtrDict [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3PtrDict<type>::deleteItem [with type = void]
-32 Q3GDict::read
-36 Q3GDict::write
-Class Q3PtrDict<void>
- size=28 align=4
- base size=28 base align=4
-Q3PtrDict<void> (0xb1652cc0) 0
- vptr=((& Q3PtrDict<void>::_ZTV9Q3PtrDictIvE) + 8u)
- Q3GDict (0xb1652d00) 0
- primary-for Q3PtrDict<void> (0xb1652cc0)
- Q3PtrCollection (0xb165fa50) 0
- primary-for Q3GDict (0xb1652d00)
-
-Vtable for Q3PtrQueue<void>
-Q3PtrQueue<void>::_ZTV10Q3PtrQueueIvE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI10Q3PtrQueueIvE)
-8 Q3PtrQueue<type>::count [with type = void]
-12 Q3PtrQueue<type>::clear [with type = void]
-16 Q3PtrQueue<type>::~Q3PtrQueue [with type = void]
-20 Q3PtrQueue<type>::~Q3PtrQueue [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3PtrQueue<type>::deleteItem [with type = void]
-32 Q3GList::compareItems
-36 Q3GList::read
-40 Q3GList::write
-Class Q3PtrQueue<void>
- size=32 align=4
- base size=32 base align=4
-Q3PtrQueue<void> (0xb1478900) 0
- vptr=((& Q3PtrQueue<void>::_ZTV10Q3PtrQueueIvE) + 8u)
- Q3GList (0xb1478940) 0
- primary-for Q3PtrQueue<void> (0xb1478900)
- Q3PtrCollection (0xb147d438) 0
- primary-for Q3GList (0xb1478940)
-
-Vtable for Q3PtrStack<void>
-Q3PtrStack<void>::_ZTV10Q3PtrStackIvE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI10Q3PtrStackIvE)
-8 Q3PtrStack<type>::count [with type = void]
-12 Q3PtrStack<type>::clear [with type = void]
-16 Q3PtrStack<type>::~Q3PtrStack [with type = void]
-20 Q3PtrStack<type>::~Q3PtrStack [with type = void]
-24 Q3PtrCollection::newItem
-28 Q3PtrStack<type>::deleteItem [with type = void]
-32 Q3GList::compareItems
-36 Q3GList::read
-40 Q3GList::write
-Class Q3PtrStack<void>
- size=32 align=4
- base size=32 base align=4
-Q3PtrStack<void> (0xb1492140) 0
- vptr=((& Q3PtrStack<void>::_ZTV10Q3PtrStackIvE) + 8u)
- Q3GList (0xb1492180) 0
- primary-for Q3PtrStack<void> (0xb1492140)
- Q3PtrCollection (0xb147db40) 0
- primary-for Q3GList (0xb1492180)
+
+
Vtable for Q3Semaphore
Q3Semaphore::_ZTV11Q3Semaphore: 4u entries
@@ -25096,29 +22316,7 @@ Q3Signal (0xb1492400) 0
QObject (0xb149c1a4) 0
primary-for Q3Signal (0xb1492400)
-Vtable for Q3PtrVector<char>
-Q3PtrVector<char>::_ZTV11Q3PtrVectorIcE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI11Q3PtrVectorIcE)
-8 Q3PtrVector<type>::count [with type = char]
-12 Q3PtrVector<type>::clear [with type = char]
-16 Q3PtrVector<type>::~Q3PtrVector [with type = char]
-20 Q3PtrVector<type>::~Q3PtrVector [with type = char]
-24 Q3PtrCollection::newItem
-28 Q3PtrVector<type>::deleteItem [with type = char]
-32 Q3GVector::compareItems
-36 Q3GVector::read
-40 Q3GVector::write
-Class Q3PtrVector<char>
- size=20 align=4
- base size=20 base align=4
-Q3PtrVector<char> (0xb1492a40) 0
- vptr=((& Q3PtrVector<char>::_ZTV11Q3PtrVectorIcE) + 8u)
- Q3GVector (0xb1492a80) 0
- primary-for Q3PtrVector<char> (0xb1492a40)
- Q3PtrCollection (0xb14aa0b4) 0
- primary-for Q3GVector (0xb1492a80)
Vtable for Q3StrVec
Q3StrVec::_ZTV8Q3StrVec: 11u entries
@@ -25424,15 +22622,7 @@ Q3GroupBox (0xb1517000) 0
QPaintDevice (0xb1515384) 8
vptr=((& Q3GroupBox::_ZTV10Q3GroupBox) + 236u)
-Class QMap<int, QAbstractButton*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<int, QAbstractButton*>::<anonymous union> (0xb153430c) 0
-Class QMap<int, QAbstractButton*>
- size=4 align=4
- base size=4 base align=4
-QMap<int, QAbstractButton*> (0xb1534294) 0
Vtable for Q3ButtonGroup
Q3ButtonGroup::_ZTV13Q3ButtonGroup: 64u entries
@@ -26235,25 +23425,9 @@ Q3DockWindow (0xb156cf80) 0
QPaintDevice (0xb13bfe4c) 8
vptr=((& Q3DockWindow::_ZTV12Q3DockWindow) + 304u)
-Class QList<QRect>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QRect>::<anonymous union> (0xb13e8f3c) 0
-Class QList<QRect>
- size=4 align=4
- base size=4 base align=4
-QList<QRect> (0xb13e8f78) 0
-Class QList<Q3DockWindow*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<Q3DockWindow*>::<anonymous union> (0xb140a0b4) 0
-Class QList<Q3DockWindow*>
- size=4 align=4
- base size=4 base align=4
-QList<Q3DockWindow*> (0xb140a03c) 0
Vtable for Q3DockAreaLayout
Q3DockAreaLayout::_ZTV16Q3DockAreaLayout: 48u entries
@@ -26318,10 +23492,6 @@ Q3DockAreaLayout (0xb13cf440) 0
QLayoutItem (0xb13e8a50) 8
vptr=((& Q3DockAreaLayout::_ZTV16Q3DockAreaLayout) + 128u)
-Class QPointer<Q3DockArea>
- size=4 align=4
- base size=4 base align=4
-QPointer<Q3DockArea> (0xb142fac8) 0
Class Q3DockArea::DockWindowData
size=24 align=4
@@ -27537,293 +24707,61 @@ Q3WidgetStack (0xb12e6dc0) 0
QPaintDevice (0xb1319528) 8
vptr=((& Q3WidgetStack::_ZTV13Q3WidgetStack) + 248u)
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0xb1177ce4) 0
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0xb11a7294) 0
-Class QVectorTypedData<QPoint>
- size=24 align=4
- base size=24 base align=4
-QVectorTypedData<QPoint> (0xb12615a0) 0
-Class QVectorTypedData<QPointF>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QPointF> (0xb107e0b4) 0
-Class QVectorTypedData<QPainterPath::Element>
- size=36 align=4
- base size=36 base align=4
-QVectorTypedData<QPainterPath::Element> (0xb107eb7c) 0
-Class QVectorTypedData<QLineF>
- size=48 align=4
- base size=48 base align=4
-QVectorTypedData<QLineF> (0xb110a384) 0
-Class QVectorTypedData<QLine>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QLine> (0xb110a564) 0
-Class QVectorTypedData<QRectF>
- size=48 align=4
- base size=48 base align=4
-QVectorTypedData<QRectF> (0xb110a744) 0
-Class QVectorTypedData<QRect>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QRect> (0xb110a924) 0
-Class QList<QTreeWidgetItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::Node (0xb0fe30f0) 0
-Class QVectorTypedData<QVector<QWidgetItemData> >
- size=20 align=4
- base size=20 base align=4
-QVectorTypedData<QVector<QWidgetItemData> > (0xb0fe32d0) 0
-Class QVectorTypedData<QTextLength>
- size=28 align=4
- base size=28 base align=4
-QVectorTypedData<QTextLength> (0xb1013474) 0
-Class QVectorTypedData<QTextLayout::FormatRange>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QTextLayout::FormatRange> (0xb10138e8) 0
-Class QVectorTypedData<QAbstractTextDocumentLayout::Selection>
- size=28 align=4
- base size=28 base align=4
-QVectorTypedData<QAbstractTextDocumentLayout::Selection> (0xb102a2d0) 0
-Class QList<QAction*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QAction*>::Node (0xb0e6e000) 0
-Class QLinkedListNode<Q3SqlFieldInfo>
- size=52 align=4
- base size=52 base align=4
-QLinkedListNode<Q3SqlFieldInfo> (0xb0eaefb4) 0
-Class QTypeInfo<QtConcurrent::ResultItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QtConcurrent::ResultItem> (0xb0f2e7bc) 0 empty
-Class QMap<int, QtConcurrent::ResultItem>::Node
- size=20 align=4
- base size=20 base align=4
-QMap<int, QtConcurrent::ResultItem>::Node (0xb0f2e834) 0
-Class QMetaTypeId2<QSet<QAccessible::Method> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSet<QAccessible::Method> > (0xb0f52744) 0 empty
-Class QHashNode<QAccessible::Method, QHashDummyValue>
- size=16 align=4
- base size=13 base align=4
-QHashNode<QAccessible::Method, QHashDummyValue> (0xb0f52a50) 0
-Class QHashNode<QVariant::Type, QItemEditorCreatorBase*>
- size=16 align=4
- base size=16 base align=4
-QHashNode<QVariant::Type, QItemEditorCreatorBase*> (0xb0da9654) 0
-Class QTypeInfo<QStandardItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QStandardItem*> (0xb0da9c30) 0 empty
-Class QTypeInfo<QTreeWidgetItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTreeWidgetItem*> (0xb0da9f78) 0 empty
-Class QTypeInfo<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLength> (0xb0dc67f8) 0 empty
-Class QTypeInfo<QTextLayout::FormatRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLayout::FormatRange> (0xb0dc6c30) 0 empty
-Class QTypeInfo<QAbstractTextDocumentLayout::Selection>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAbstractTextDocumentLayout::Selection> (0xb0dd51e0) 0 empty
-Class QTypeInfo<QAction*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAction*> (0xb0de4294) 0 empty
-Class QList<QNetworkCookie>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QNetworkCookie>::<anonymous union> (0xb0de47bc) 0
-Class QList<QNetworkCookie>
- size=4 align=4
- base size=4 base align=4
-QList<QNetworkCookie> (0xb0de4744) 0
-Class QList<QSslError>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QSslError>::<anonymous union> (0xb0de4fb4) 0
-Class QList<QSslError>
- size=4 align=4
- base size=4 base align=4
-QList<QSslError> (0xb0de4f3c) 0
-Class QMap<int, QString>::Node
- size=16 align=4
- base size=16 base align=4
-QMap<int, QString>::Node (0xb0e303c0) 0
-Class QTypeInfo<Q3TextEditOptimPrivate::Tag*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<Q3TextEditOptimPrivate::Tag*> (0xb0e30528) 0 empty
-Class QMap<int, Q3TextEditOptimPrivate::Tag*>::Node
- size=16 align=4
- base size=16 base align=4
-QMap<int, Q3TextEditOptimPrivate::Tag*>::Node (0xb0e305a0) 0
-Class QMap<int, QtConcurrent::ResultItem>::PayloadNode
- size=16 align=4
- base size=16 base align=4
-QMap<int, QtConcurrent::ResultItem>::PayloadNode (0xb0e53168) 0
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0xb0e53294) 0
-Class QList<QVariant>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::Node (0xb0e534ec) 0
-Class QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union> (0xb0e53ca8) 0
-Class QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union> (0xb0c873fc) 0
-Class QTypeInfo<QGraphicsItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QGraphicsItem*> (0xb0c87b7c) 0 empty
-Class QList<QGraphicsItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QGraphicsItem*>::Node (0xb0c87bf4) 0
-Class QTypeInfo<QStyleOptionQ3ListViewItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QStyleOptionQ3ListViewItem> (0xb0cc8078) 0 empty
-Class QList<QStyleOptionQ3ListViewItem>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::Node (0xb0cc80f0) 0
-Class QList<QItemSelectionRange>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::Node (0xb0cc8564) 0
-Class QList<QStandardItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QStandardItem*>::Node (0xb0cc899c) 0
-Class QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union> (0xb0cc8d20) 0
-Class QMap<int, QString>::PayloadNode
- size=12 align=4
- base size=12 base align=4
-QMap<int, QString>::PayloadNode (0xb0d1e690) 0
-Class QMap<int, Q3TextEditOptimPrivate::Tag*>::PayloadNode
- size=12 align=4
- base size=12 base align=4
-QMap<int, Q3TextEditOptimPrivate::Tag*>::PayloadNode (0xb0d1e870) 0
-Class QMap<Key, T>::detach_helper() [with Key = int, T = Q3TextEditOptimPrivate::Tag*]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<Key, T>::detach_helper() [with Key = int, T = Q3TextEditOptimPrivate::Tag*]::<anonymous union> (0xb0d1e99c) 0
-Class QList<QRect>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QRect>::Node (0xb0d1eb7c) 0
-Class QTypeInfo<Q3DockWindow*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<Q3DockWindow*> (0xb0d1ef00) 0 empty
-Class QList<Q3DockWindow*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<Q3DockWindow*>::Node (0xb0d1ef78) 0
-Class QHashDummyNode<QAccessible::Method, QHashDummyValue>
- size=12 align=4
- base size=12 base align=4
-QHashDummyNode<QAccessible::Method, QHashDummyValue> (0xb0d3530c) 0
-Class QLinkedList<T>::detach_helper() [with T = Q3SqlFieldInfo]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QLinkedList<T>::detach_helper() [with T = Q3SqlFieldInfo]::<anonymous union> (0xb0d35ce4) 0
-Class QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union> (0xb0d62168) 0
-Class QList<QNetworkCookie>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QNetworkCookie>::Node (0xb0d629d8) 0
-Class QTypeInfo<QSslError>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSslError> (0xb0d62c30) 0 empty
-Class QList<QSslError>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QSslError>::Node (0xb0d62ca8) 0
diff --git a/tests/auto/bic/data/QtCore.4.0.0.aix-gcc-power32.txt b/tests/auto/bic/data/QtCore.4.0.0.aix-gcc-power32.txt
index 3937776..160fcc1 100644
--- a/tests/auto/bic/data/QtCore.4.0.0.aix-gcc-power32.txt
+++ b/tests/auto/bic/data/QtCore.4.0.0.aix-gcc-power32.txt
@@ -53,65 +53,20 @@ Class QBool
size=1 align=1
QBool (0x300b7280) 0
-Class QTypeInfo<bool>
- size=1 align=1
-QTypeInfo<bool> (0x300cd9c0) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
-QTypeInfo<char> (0x300cdf80) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
-QTypeInfo<signed char> (0x300d4540) 0 empty
-Class QTypeInfo<uchar>
- size=1 align=1
-QTypeInfo<uchar> (0x300d4b00) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
-QTypeInfo<short int> (0x300e00c0) 0 empty
-Class QTypeInfo<ushort>
- size=1 align=1
-QTypeInfo<ushort> (0x300e0680) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
-QTypeInfo<int> (0x300e0c40) 0 empty
-Class QTypeInfo<uint>
- size=1 align=1
-QTypeInfo<uint> (0x300eb200) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
-QTypeInfo<long int> (0x300eb7c0) 0 empty
-Class QTypeInfo<ulong>
- size=1 align=1
-QTypeInfo<ulong> (0x300ebd80) 0 empty
-Class QTypeInfo<qint64>
- size=1 align=1
-QTypeInfo<qint64> (0x300f8340) 0 empty
-Class QTypeInfo<quint64>
- size=1 align=1
-QTypeInfo<quint64> (0x300f8900) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
-QTypeInfo<float> (0x300f8ec0) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
-QTypeInfo<double> (0x30104480) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
-QTypeInfo<long double> (0x30104a40) 0 empty
Class QFlag
size=4 align=4
@@ -125,9 +80,6 @@ Class QChar
size=2 align=2
QChar (0x30148980) 0
-Class QTypeInfo<QChar>
- size=1 align=1
-QTypeInfo<QChar> (0x30185980) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -142,13 +94,7 @@ Class sigset_t
size=8 align=4
sigset_t (0x3026ad80) 0
-Class <anonymous struct>
- size=8 align=4
-<anonymous struct> (0x30271200) 0
-Class <anonymous struct>
- size=32 align=8
-<anonymous struct> (0x30271540) 0
Class fsid_t
size=8 align=4
@@ -158,21 +104,9 @@ Class fsid64_t
size=16 align=8
fsid64_t (0x30271c40) 0
-Class <anonymous struct>
- size=52 align=4
-<anonymous struct> (0x302780c0) 0
-Class <anonymous struct>
- size=44 align=4
-<anonymous struct> (0x30278440) 0
-Class <anonymous struct>
- size=112 align=4
-<anonymous struct> (0x302787c0) 0
-Class <anonymous struct>
- size=208 align=4
-<anonymous struct> (0x30278b40) 0
Class _quad
size=8 align=4
@@ -186,17 +120,11 @@ Class adspace_t
size=68 align=4
adspace_t (0x30281e00) 0
-Class <anonymous struct>
- size=24 align=8
-<anonymous struct> (0x302865c0) 0
Class label_t
size=100 align=4
label_t (0x30286d00) 0
-Class <anonymous struct>
- size=4 align=4
-<anonymous struct> (0x3028b780) 0
Class sigset
size=8 align=4
@@ -238,57 +166,18 @@ Class QByteRef
size=8 align=4
QByteRef (0x302b7540) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
-QTypeInfo<QByteArray> (0x30423740) 0 empty
-Class QFlags<Qt::MouseButton>
- size=4 align=4
-QFlags<Qt::MouseButton> (0x30431080) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
-QFlags<Qt::Orientation> (0x30431340) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
-QFlags<Qt::KeyboardModifier> (0x3042cc00) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
-QFlags<Qt::WindowType> (0x30442080) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
-QFlags<Qt::AlignmentFlag> (0x30431a00) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
-QFlags<Qt::ImageConversionFlag> (0x30448800) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
-QFlags<Qt::DockWidgetArea> (0x3046af00) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
-QFlags<Qt::ToolBarArea> (0x3046e200) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
-QFlags<Qt::WindowState> (0x304422c0) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
-QFlags<Qt::DropAction> (0x30474f80) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
-QFlags<Qt::ItemFlag> (0x30479700) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
-QFlags<Qt::MatchFlag> (0x30479a40) 0
Class QInternal
size=1 align=1
@@ -306,9 +195,6 @@ Class QString
size=4 align=4
QString (0x300a1f40) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
-QFlags<QString::SectionFlag> (0x303cf2c0) 0
Class QLatin1String
size=4 align=4
@@ -323,9 +209,6 @@ Class QConstString
QConstString (0x300b7640) 0
QString (0x300b7680) 0
-Class QTypeInfo<QString>
- size=1 align=1
-QTypeInfo<QString> (0x303901c0) 0 empty
Class QListData::Data
size=24 align=4
@@ -335,9 +218,6 @@ Class QListData
size=4 align=4
QListData (0x300732c0) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
-QFlags<QTextCodec::ConversionFlag> (0x302fb500) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -360,13 +240,7 @@ Class QTextCodec
QTextCodec (0x303bab80) 0 nearly-empty
vptr=((&QTextCodec::_ZTV10QTextCodec) + 8)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
-QList<QByteArray>::<anonymous union> (0x30120bc0) 0
-Class QList<QByteArray>
- size=4 align=4
-QList<QByteArray> (0x302cc980) 0
Class QTextEncoder
size=32 align=4
@@ -385,21 +259,12 @@ Class QGenericReturnArgument
QGenericReturnArgument (0x3036a6c0) 0
QGenericArgument (0x3036a700) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
-QMetaObject::<anonymous struct> (0x3009b300) 0
Class QMetaObject
size=16 align=4
QMetaObject (0x3058c900) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
-QList<QObject*>::<anonymous union> (0x30170600) 0
-Class QList<QObject*>
- size=4 align=4
-QList<QObject*> (0x30166f00) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4 entries
@@ -487,9 +352,6 @@ QIODevice (0x30365880) 0
QObject (0x301e4440) 0
primary-for QIODevice (0x30365880)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
-QFlags<QIODevice::OpenModeFlag> (0x301ebec0) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4 entries
@@ -507,38 +369,20 @@ Class QRegExp
size=4 align=4
QRegExp (0x303baa80) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
-QTypeInfo<QRegExp> (0x30148180) 0 empty
Class QStringMatcher
size=1036 align=4
QStringMatcher (0x3012d8c0) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
-QList<QString>::<anonymous union> (0x30104900) 0
-Class QList<QString>
- size=4 align=4
-QList<QString> (0x30104380) 0
Class QStringList
size=4 align=4
QStringList (0x303bab00) 0
QList<QString> (0x300c3280) 0
-Class QList<QString>::Node
- size=4 align=4
-QList<QString>::Node (0x301046c0) 0
-Class QList<QString>::iterator
- size=4 align=4
-QList<QString>::iterator (0x300eba00) 0
-Class QList<QString>::const_iterator
- size=4 align=4
-QList<QString>::const_iterator (0x300eb980) 0
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5 entries
@@ -664,9 +508,6 @@ Class QMapData
size=72 align=4
QMapData (0x304b4140) 0
-Class <anonymous struct>
- size=32 align=4
-<anonymous struct> (0x3052cd00) 0
Vtable for QTextStream
QTextStream::_ZTV11QTextStream: 4 entries
@@ -680,9 +521,6 @@ Class QTextStream
QTextStream (0x3050bbc0) 0
vptr=((&QTextStream::_ZTV11QTextStream) + 8)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
-QFlags<QTextStream::NumberFlag> (0x305082c0) 0
Class QTextStreamManipulator
size=24 align=4
@@ -767,41 +605,20 @@ QFile (0x3057c8c0) 0
QObject (0x3057c980) 0
primary-for QIODevice (0x3057c900)
-Class QFlags<QFile::Permission>
- size=4 align=4
-QFlags<QFile::Permission> (0x3058a380) 0
Class QFileInfo
size=4 align=4
QFileInfo (0x304b0580) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
-QFlags<QFileInfo::Permission> (0x304927c0) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
-QTypeInfo<QFileInfo> (0x30390480) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
-QList<QFileInfo>::<anonymous union> (0x301dfa40) 0
-Class QList<QFileInfo>
- size=4 align=4
-QList<QFileInfo> (0x301df900) 0
Class QDir
size=4 align=4
QDir (0x304b03c0) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
-QFlags<QDir::Filter> (0x30365600) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
-QFlags<QDir::SortFlag> (0x303ac7c0) 0
Vtable for QFileEngine
QFileEngine::_ZTV11QFileEngine: 35 entries
@@ -846,9 +663,6 @@ Class QFileEngine
QFileEngine (0x3057c7c0) 0
vptr=((&QFileEngine::_ZTV11QFileEngine) + 8)
-Class QFlags<QFileEngine::FileFlag>
- size=4 align=4
-QFlags<QFileEngine::FileFlag> (0x3031a080) 0
Vtable for QFileEngineHandler
QFileEngineHandler::_ZTV18QFileEngineHandler: 5 entries
@@ -910,73 +724,22 @@ Class QMetaType
size=1 align=1
QMetaType (0x30079000) 0 empty
-Class QMetaTypeId<QString>
- size=1 align=1
-QMetaTypeId<QString> (0x3011fb00) 0 empty
-Class QMetaTypeId<int>
- size=1 align=1
-QMetaTypeId<int> (0x3013d480) 0 empty
-Class QMetaTypeId<uint_t>
- size=1 align=1
-QMetaTypeId<uint_t> (0x30148440) 0 empty
-Class QMetaTypeId<bool>
- size=1 align=1
-QMetaTypeId<bool> (0x3015dfc0) 0 empty
-Class QMetaTypeId<double>
- size=1 align=1
-QMetaTypeId<double> (0x301937c0) 0 empty
-Class QMetaTypeId<QByteArray>
- size=1 align=1
-QMetaTypeId<QByteArray> (0x301a18c0) 0 empty
-Class QMetaTypeId<QChar>
- size=1 align=1
-QMetaTypeId<QChar> (0x301a5d00) 0 empty
-Class QMetaTypeId<void>
- size=1 align=1
-QMetaTypeId<void> (0x301ad500) 0 empty
-Class QMetaTypeId<long int>
- size=1 align=1
-QMetaTypeId<long int> (0x301add00) 0 empty
-Class QMetaTypeId<short int>
- size=1 align=1
-QMetaTypeId<short int> (0x301b22c0) 0 empty
-Class QMetaTypeId<char>
- size=1 align=1
-QMetaTypeId<char> (0x301b2b00) 0 empty
-Class QMetaTypeId<ulong_t>
- size=1 align=1
-QMetaTypeId<ulong_t> (0x301b6640) 0 empty
-Class QMetaTypeId<ushort_t>
- size=1 align=1
-QMetaTypeId<ushort_t> (0x301b6fc0) 0 empty
-Class QMetaTypeId<uchar_t>
- size=1 align=1
-QMetaTypeId<uchar_t> (0x301b9600) 0 empty
-Class QMetaTypeId<float>
- size=1 align=1
-QMetaTypeId<float> (0x301b9c00) 0 empty
-Class QMetaTypeId<QObject*>
- size=1 align=1
-QMetaTypeId<QObject*> (0x301c1740) 0 empty
-Class QMetaTypeId<QWidget*>
- size=1 align=1
-QMetaTypeId<QWidget*> (0x301d7f80) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -998,69 +761,24 @@ Class QVariant
size=16 align=8
QVariant (0x30166c00) 0
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
-QList<QVariant>::<anonymous union> (0x3057e500) 0
-Class QList<QVariant>
- size=4 align=4
-QList<QVariant> (0x302acd80) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
-QMap<QString, QVariant>::<anonymous union> (0x302ed8c0) 0
-Class QMap<QString, QVariant>
- size=4 align=4
-QMap<QString, QVariant> (0x302b7980) 0
Class QVariantComparisonHelper
size=4 align=4
QVariantComparisonHelper (0x30225880) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
-QTypeInfo<QVariant> (0x303e8900) 0 empty
-Class <anonymous struct>
- size=12 align=4
-<anonymous struct> (0x303dab00) 0
-Class <anonymous struct>
- size=44 align=4
-<anonymous struct> (0x303f70c0) 0
-Class <anonymous struct>
- size=76 align=4
-<anonymous struct> (0x303f7880) 0
-Class <anonymous struct>
- size=36 align=4
-<anonymous struct> (0x303fc640) 0
-Class <anonymous struct>
- size=56 align=4
-<anonymous struct> (0x303fcc40) 0
-Class <anonymous struct>
- size=36 align=4
-<anonymous struct> (0x30414340) 0
-Class <anonymous struct>
- size=28 align=4
-<anonymous struct> (0x30414f00) 0
-Class <anonymous struct>
- size=24 align=4
-<anonymous struct> (0x30486a40) 0
-Class <anonymous struct>
- size=28 align=4
-<anonymous struct> (0x30486d80) 0
-Class <anonymous struct>
- size=28 align=4
-<anonymous struct> (0x30492400) 0
Class lconv
size=56 align=4
@@ -1102,77 +820,41 @@ Class localeinfo_table
size=36 align=4
localeinfo_table (0x303d9cc0) 0
-Class <anonymous struct>
- size=108 align=4
-<anonymous struct> (0x304dc500) 0
Class _LC_charmap_objhdl
size=12 align=4
_LC_charmap_objhdl (0x304dcc80) 0
-Class <anonymous struct>
- size=92 align=4
-<anonymous struct> (0x30561040) 0
Class _LC_monetary_objhdl
size=12 align=4
_LC_monetary_objhdl (0x305614c0) 0
-Class <anonymous struct>
- size=48 align=4
-<anonymous struct> (0x30561800) 0
Class _LC_numeric_objhdl
size=12 align=4
_LC_numeric_objhdl (0x30561d00) 0
-Class <anonymous struct>
- size=56 align=4
-<anonymous struct> (0x30083180) 0
Class _LC_resp_objhdl
size=12 align=4
_LC_resp_objhdl (0x300838c0) 0
-Class <anonymous struct>
- size=248 align=4
-<anonymous struct> (0x30083c40) 0
Class _LC_time_objhdl
size=12 align=4
_LC_time_objhdl (0x3012c400) 0
-Class <anonymous struct>
- size=10 align=2
-<anonymous struct> (0x3012cc40) 0
-Class <anonymous struct>
- size=16 align=4
-<anonymous struct> (0x301df180) 0
-Class <anonymous struct>
- size=16 align=4
-<anonymous struct> (0x301df5c0) 0
-Class <anonymous struct>
- size=20 align=4
-<anonymous struct> (0x303acac0) 0
-Class <anonymous struct>
- size=104 align=4
-<anonymous struct> (0x30504a00) 0
Class _LC_collate_objhdl
size=12 align=4
_LC_collate_objhdl (0x301bfb80) 0
-Class <anonymous struct>
- size=8 align=4
-<anonymous struct> (0x301e8b00) 0
-Class <anonymous struct>
- size=80 align=4
-<anonymous struct> (0x305a0100) 0
Class _LC_ctype_objhdl
size=12 align=4
@@ -1186,17 +868,11 @@ Class _LC_locale_objhdl
size=12 align=4
_LC_locale_objhdl (0x303da600) 0
-Class _LC_object_handle::<anonymous union>
- size=12 align=4
-_LC_object_handle::<anonymous union> (0x305911c0) 0
Class _LC_object_handle
size=20 align=4
_LC_object_handle (0x30591080) 0
-Class <anonymous struct>
- size=24 align=4
-<anonymous struct> (0x3031ed80) 0
Vtable for QSettings
QSettings::_ZTV9QSettings: 14 entries
@@ -1271,13 +947,7 @@ Class QUrl
size=4 align=4
QUrl (0x302256c0) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
-QFlags<QUrl::FormattingOption> (0x306df180) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
-QTypeInfo<QUrl> (0x307c8900) 0 empty
Vtable for QEventLoop
QEventLoop::_ZTV10QEventLoop: 14 entries
@@ -1303,9 +973,6 @@ QEventLoop (0x30802000) 0
QObject (0x30802040) 0
primary-for QEventLoop (0x30802000)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0x30803740) 0
Vtable for QAbstractEventDispatcher
QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 27 entries
@@ -1348,17 +1015,11 @@ Class QModelIndex
size=16 align=4
QModelIndex (0x3049cc80) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
-QTypeInfo<QModelIndex> (0x304eb5c0) 0 empty
Class QPersistentModelIndex
size=4 align=4
QPersistentModelIndex (0x3049cb80) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
-QTypeInfo<QPersistentModelIndex> (0x3002e700) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42 entries
@@ -1524,9 +1185,6 @@ Class QBasicTimer
size=4 align=4
QBasicTimer (0x307fe180) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
-QTypeInfo<QBasicTimer> (0x30803300) 0 empty
Vtable for QEvent
QEvent::_ZTV6QEvent: 4 entries
@@ -1612,17 +1270,11 @@ Class QMetaMethod
size=8 align=4
QMetaMethod (0x30379340) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
-QTypeInfo<QMetaMethod> (0x30880740) 0 empty
Class QMetaEnum
size=8 align=4
QMetaEnum (0x303793c0) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
-QTypeInfo<QMetaEnum> (0x3088be80) 0 empty
Class QMetaProperty
size=20 align=4
@@ -1632,9 +1284,6 @@ Class QMetaClassInfo
size=8 align=4
QMetaClassInfo (0x30379540) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
-QTypeInfo<QMetaClassInfo> (0x308a3780) 0 empty
Vtable for QMimeData
QMimeData::_ZTV9QMimeData: 17 entries
@@ -1902,9 +1551,6 @@ Class QBitRef
size=8 align=4
QBitRef (0x305a6140) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
-QTypeInfo<QBitArray> (0x30864700) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -1922,65 +1568,41 @@ Class QHashDummyValue
size=1 align=1
QHashDummyValue (0x30893ec0) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
-QTypeInfo<QHashDummyValue> (0x30897f00) 0 empty
Class QDate
size=4 align=4
QDate (0x301eb4c0) 0
-Class QTypeInfo<QDate>
- size=1 align=1
-QTypeInfo<QDate> (0x300ebe80) 0 empty
Class QTime
size=4 align=4
QTime (0x301f1e80) 0
-Class QTypeInfo<QTime>
- size=1 align=1
-QTypeInfo<QTime> (0x30368c00) 0 empty
Class QDateTime
size=4 align=4
QDateTime (0x304b0440) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
-QTypeInfo<QDateTime> (0x304d4880) 0 empty
Class QPoint
size=8 align=4
QPoint (0x301f9d40) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
-QTypeInfo<QPoint> (0x307b9180) 0 empty
Class QPointF
size=16 align=8
QPointF (0x30200880) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
-QTypeInfo<QPointF> (0x307efcc0) 0 empty
Class QLine
size=16 align=4
QLine (0x301eb540) 0
-Class QTypeInfo<QLine>
- size=1 align=1
-QTypeInfo<QLine> (0x3098afc0) 0 empty
Class QLineF
size=32 align=8
QLineF (0x301eb600) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
-QTypeInfo<QLineF> (0x30a335c0) 0 empty
Class QLinkedListData
size=20 align=4
@@ -1990,41 +1612,26 @@ Class QLocale
size=4 align=4
QLocale (0x301eb800) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
-QTypeInfo<QLocale> (0x30822c80) 0 empty
Class QSize
size=8 align=4
QSize (0x30200a80) 0
-Class QTypeInfo<QSize>
- size=1 align=1
-QTypeInfo<QSize> (0x30864400) 0 empty
Class QSizeF
size=16 align=8
QSizeF (0x30209200) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
-QTypeInfo<QSizeF> (0x30a33a80) 0 empty
Class QRect
size=16 align=4
QRect (0x30213780) 0
-Class QTypeInfo<QRect>
- size=1 align=1
-QTypeInfo<QRect> (0x30aad700) 0 empty
Class QRectF
size=32 align=8
QRectF (0x302138c0) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
-QTypeInfo<QRectF> (0x30a1fdc0) 0 empty
Class QSharedData
size=4 align=4
@@ -2034,11 +1641,5 @@ Class QVectorData
size=16 align=4
QVectorData (0x30ad4ec0) 0
-Class QList<QByteArray>::Node
- size=4 align=4
-QList<QByteArray>::Node (0x30120ac0) 0
-Class QList<QFileInfo>::Node
- size=4 align=4
-QList<QFileInfo>::Node (0x301dfa00) 0
diff --git a/tests/auto/bic/data/QtCore.4.0.0.linux-gcc-amd64.txt b/tests/auto/bic/data/QtCore.4.0.0.linux-gcc-amd64.txt
index 9f5b349..10d4870 100644
--- a/tests/auto/bic/data/QtCore.4.0.0.linux-gcc-amd64.txt
+++ b/tests/auto/bic/data/QtCore.4.0.0.linux-gcc-amd64.txt
@@ -59,145 +59,37 @@ Class QBool
base size=1 base align=1
QBool (0x2aaaac1f7930) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0x2aaaac211850) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0x2aaaac211af0) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0x2aaaac211d90) 0 empty
-Class QTypeInfo<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned char> (0x2aaaac227070) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0x2aaaac227310) 0 empty
-Class QTypeInfo<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short unsigned int> (0x2aaaac2275b0) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0x2aaaac227850) 0 empty
-Class QTypeInfo<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned int> (0x2aaaac227af0) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0x2aaaac227d90) 0 empty
-Class QTypeInfo<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long unsigned int> (0x2aaaac23a070) 0 empty
-Class QTypeInfo<long long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long int> (0x2aaaac23a310) 0 empty
-Class QTypeInfo<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long unsigned int> (0x2aaaac23a5b0) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0x2aaaac23a850) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0x2aaaac23aaf0) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0x2aaaac23ad90) 0 empty
Class QFlag
size=4 align=4
base size=4 base align=4
QFlag (0x2aaaac24d000) 0
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0x2aaaac2d90e0) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0x2aaaac2d94d0) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0x2aaaac2d98c0) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0x2aaaac2d9cb0) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0x2aaaac31d0e0) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0x2aaaac31d4d0) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0x2aaaac31d8c0) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0x2aaaac31dcb0) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0x2aaaac3630e0) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0x2aaaac3634d0) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0x2aaaac3638c0) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0x2aaaac363cb0) 0
Class QInternal
size=1 align=1
@@ -215,10 +107,6 @@ Class QGenericReturnArgument
QGenericReturnArgument (0x2aaaac3b0700) 0
QGenericArgument (0x2aaaac3b0770) 0
-Class QMetaObject::<anonymous struct>
- size=32 align=8
- base size=32 base align=8
-QMetaObject::<anonymous struct> (0x2aaaac3d6000) 0
Class QMetaObject
size=32 align=8
@@ -235,10 +123,6 @@ Class QChar
base size=2 base align=2
QChar (0x2aaaac3ebc40) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0x2aaaac41dcb0) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -271,10 +155,6 @@ Class QByteRef
base size=12 base align=8
QByteRef (0x2aaaac556310) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0x2aaaac5ea380) 0 empty
Class QString::Null
size=1 align=1
@@ -291,10 +171,6 @@ Class QString
base size=8 base align=8
QString (0x2aaaac5ea690) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0x2aaaac5eaee0) 0
Class QLatin1String
size=8 align=8
@@ -312,10 +188,6 @@ Class QConstString
QConstString (0x2aaaac8aa1c0) 0
QString (0x2aaaac8aa230) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0x2aaaac8aa770) 0 empty
Class QListData::Data
size=32 align=8
@@ -327,15 +199,7 @@ Class QListData
base size=8 base align=8
QListData (0x2aaaac8eb690) 0
-Class QList<QObject*>::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QList<QObject*>::<anonymous union> (0x2aaaaca0d5b0) 0
-Class QList<QObject*>
- size=8 align=8
- base size=8 base align=8
-QList<QObject*> (0x2aaaaca0d460) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -427,10 +291,6 @@ QIODevice (0x2aaaaca7ca10) 0
QObject (0x2aaaaca7ca80) 0
primary-for QIODevice (0x2aaaaca7ca10)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0x2aaaacaaf5b0) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -455,10 +315,6 @@ Class QMapData
base size=128 base align=8
QMapData (0x2aaaacb3a1c0) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0x2aaaacc560e0) 0
Class QTextCodec::ConverterState
size=32 align=8
@@ -483,15 +339,7 @@ Class QTextCodec
QTextCodec (0x2aaaacc2fe00) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 16u)
-Class QList<QByteArray>::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QList<QByteArray>::<anonymous union> (0x2aaaacc759a0) 0
-Class QList<QByteArray>
- size=8 align=8
- base size=8 base align=8
-QList<QByteArray> (0x2aaaacc75850) 0
Class QTextEncoder
size=40 align=8
@@ -503,30 +351,10 @@ Class QTextDecoder
base size=40 base align=8
QTextDecoder (0x2aaaaccb1700) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x2aaaaccb1b60) 0
-Class <anonymous struct>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct>::<anonymous union> (0x2aaaaccb1d20) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x2aaaaccb1c40) 0
-Class <anonymous struct>
- size=16 align=8
- base size=16 base align=8
-<anonymous struct> (0x2aaaaccb1e00) 0
-Class <anonymous struct>
- size=16 align=8
- base size=16 base align=8
-<anonymous struct> (0x2aaaaccb1ee0) 0
Class __gconv_trans_data
size=40 align=8
@@ -548,15 +376,7 @@ Class __gconv_info
base size=16 base align=8
__gconv_info (0x2aaaacccc230) 0
-Class <anonymous union>::<anonymous struct>
- size=72 align=8
- base size=72 base align=8
-<anonymous union>::<anonymous struct> (0x2aaaacccc3f0) 0
-Class <anonymous union>
- size=72 align=8
- base size=72 base align=8
-<anonymous union> (0x2aaaacccc310) 0
Class _IO_marker
size=24 align=8
@@ -568,10 +388,6 @@ Class _IO_FILE
base size=216 base align=8
_IO_FILE (0x2aaaacccc4d0) 0
-Class <anonymous struct>
- size=32 align=8
- base size=32 base align=8
-<anonymous struct> (0x2aaaacccc5b0) 0
Vtable for QTextStream
QTextStream::_ZTV11QTextStream: 4u entries
@@ -586,10 +402,6 @@ Class QTextStream
QTextStream (0x2aaaacccc620) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 16u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0x2aaaacd358c0) 0
Class QTextStreamManipulator
size=40 align=8
@@ -680,10 +492,6 @@ QFile (0x2aaaace19380) 0
QObject (0x2aaaace19460) 0
primary-for QIODevice (0x2aaaace193f0)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0x2aaaace4a230) 0
Vtable for QTemporaryFile
QTemporaryFile::_ZTV14QTemporaryFile: 31u entries
@@ -736,25 +544,13 @@ Class QRegExp
base size=8 base align=8
QRegExp (0x2aaaace7c000) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0x2aaaace7ce70) 0 empty
Class QStringMatcher
size=1048 align=8
base size=1044 base align=8
QStringMatcher (0x2aaaacea10e0) 0
-Class QList<QString>::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QList<QString>::<anonymous union> (0x2aaaacea1690) 0
-Class QList<QString>
- size=8 align=8
- base size=8 base align=8
-QList<QString> (0x2aaaacea1540) 0
Class QStringList
size=8 align=8
@@ -762,15 +558,7 @@ Class QStringList
QStringList (0x2aaaacea17e0) 0
QList<QString> (0x2aaaacea1850) 0
-Class QList<QString>::iterator
- size=8 align=8
- base size=8 base align=8
-QList<QString>::iterator (0x2aaaacef9690) 0
-Class QList<QString>::const_iterator
- size=8 align=8
- base size=8 base align=8
-QList<QString>::const_iterator (0x2aaaacef9a10) 0
Vtable for QProcess
QProcess::_ZTV8QProcess: 31u entries
@@ -864,145 +652,45 @@ Class QFileInfo
base size=8 base align=8
QFileInfo (0x2aaaacf7f380) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0x2aaaacf7fe00) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0x2aaaacfbc2a0) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QList<QFileInfo>::<anonymous union> (0x2aaaacfbca10) 0
-Class QList<QFileInfo>
- size=8 align=8
- base size=8 base align=8
-QList<QFileInfo> (0x2aaaacfbc8c0) 0
Class QDir
size=8 align=8
base size=8 base align=8
QDir (0x2aaaacfbcb60) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0x2aaaacfbce00) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0x2aaaad01d070) 0
Class QUrl
size=8 align=8
base size=8 base align=8
QUrl (0x2aaaad058d20) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0x2aaaad0a1070) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0x2aaaad0d92a0) 0 empty
Class QMetaType
size=1 align=1
base size=0 base align=1
QMetaType (0x2aaaad0d98c0) 0 empty
-Class QMetaTypeId<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QString> (0x2aaaad0fd000) 0 empty
-Class QMetaTypeId<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<int> (0x2aaaad0fd1c0) 0 empty
-Class QMetaTypeId<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<unsigned int> (0x2aaaad0fd380) 0 empty
-Class QMetaTypeId<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<bool> (0x2aaaad0fd540) 0 empty
-Class QMetaTypeId<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<double> (0x2aaaad0fd700) 0 empty
-Class QMetaTypeId<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QByteArray> (0x2aaaad0fd8c0) 0 empty
-Class QMetaTypeId<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QChar> (0x2aaaad0fda80) 0 empty
-Class QMetaTypeId<void>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<void> (0x2aaaad0fdc40) 0 empty
-Class QMetaTypeId<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<long int> (0x2aaaad0fde00) 0 empty
-Class QMetaTypeId<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<short int> (0x2aaaad109000) 0 empty
-Class QMetaTypeId<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<char> (0x2aaaad1091c0) 0 empty
-Class QMetaTypeId<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<long unsigned int> (0x2aaaad109380) 0 empty
-Class QMetaTypeId<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<short unsigned int> (0x2aaaad109540) 0 empty
-Class QMetaTypeId<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<unsigned char> (0x2aaaad109700) 0 empty
-Class QMetaTypeId<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<float> (0x2aaaad1098c0) 0 empty
-Class QMetaTypeId<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QObject*> (0x2aaaad109a80) 0 empty
-Class QMetaTypeId<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QWidget*> (0x2aaaad109c40) 0 empty
Class QVariant::PrivateShared
size=16 align=8
@@ -1029,35 +717,15 @@ Class QVariant
base size=16 base align=8
QVariant (0x2aaaad109d90) 0
-Class QList<QVariant>::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QList<QVariant>::<anonymous union> (0x2aaaad198f50) 0
-Class QList<QVariant>
- size=8 align=8
- base size=8 base align=8
-QList<QVariant> (0x2aaaad198e00) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QMap<QString, QVariant>::<anonymous union> (0x2aaaad1c8310) 0
-Class QMap<QString, QVariant>
- size=8 align=8
- base size=8 base align=8
-QMap<QString, QVariant> (0x2aaaad1c81c0) 0
Class QVariantComparisonHelper
size=8 align=8
base size=8 base align=8
QVariantComparisonHelper (0x2aaaad208c40) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0x2aaaad220700) 0 empty
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1128,10 +796,6 @@ Class QFileEngine
QFileEngine (0x2aaaad28cb60) 0
vptr=((& QFileEngine::_ZTV11QFileEngine) + 16u)
-Class QFlags<QFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileEngine::FileFlag> (0x2aaaad28cf50) 0
Vtable for QFileEngineHandler
QFileEngineHandler::_ZTV18QFileEngineHandler: 5u entries
@@ -1162,90 +826,54 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0x2aaaad2d47e0) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0x2aaaad2d49a0) 0 empty
Class QPoint
size=8 align=4
base size=8 base align=4
QPoint (0x2aaaad3ffcb0) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0x2aaaad41d230) 0 empty
Class QPointF
size=16 align=8
base size=16 base align=8
QPointF (0x2aaaad44b070) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0x2aaaad44b850) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0x2aaaad47c850) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0x2aaaad47ca10) 0 empty
Class QLineF
size=32 align=8
base size=32 base align=8
QLineF (0x2aaaad4b0310) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0x2aaaad4b08c0) 0 empty
Class QSize
size=8 align=4
base size=8 base align=4
QSize (0x2aaaad4e89a0) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0x2aaaad4e8bd0) 0 empty
Class QSizeF
size=16 align=8
base size=16 base align=8
QSizeF (0x2aaaad539310) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0x2aaaad539a10) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0x2aaaad5881c0) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0x2aaaad5883f0) 0 empty
Class QRectF
size=32 align=8
base size=32 base align=8
QRectF (0x2aaaad633af0) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0x2aaaad663a80) 0 empty
Class QLinkedListData
size=32 align=8
@@ -1262,10 +890,6 @@ Class QBitRef
base size=12 base align=8
QBitRef (0x2aaaad7d5c40) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0x2aaaad7ed850) 0 empty
Class QVectorData
size=16 align=4
@@ -1287,40 +911,24 @@ Class QLocale
base size=8 base align=8
QLocale (0x2aaaad90f930) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0x2aaaad95a3f0) 0 empty
Class QDate
size=4 align=4
base size=4 base align=4
QDate (0x2aaaad9b4a80) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0x2aaaad9dbc40) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0x2aaaad9dbe70) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0x2aaaada039a0) 0 empty
Class QDateTime
size=8 align=8
base size=8 base align=8
QDateTime (0x2aaaada03bd0) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0x2aaaada23770) 0 empty
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -1480,10 +1088,6 @@ QEventLoop (0x2aaaadaa9310) 0
QObject (0x2aaaadaa9380) 0
primary-for QEventLoop (0x2aaaadaa9310)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0x2aaaadaa9770) 0
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -1575,20 +1179,12 @@ Class QModelIndex
base size=24 base align=8
QModelIndex (0x2aaaadb22850) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0x2aaaadb3da80) 0 empty
Class QPersistentModelIndex
size=8 align=8
base size=8 base align=8
QPersistentModelIndex (0x2aaaadb50000) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0x2aaaadb50230) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -1808,10 +1404,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0x2aaaadbe18c0) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0x2aaaadbf9150) 0 empty
Vtable for QSocketNotifier
QSocketNotifier::_ZTV15QSocketNotifier: 14u entries
@@ -1906,20 +1498,12 @@ Class QMetaMethod
base size=12 base align=8
QMetaMethod (0x2aaaadc45f50) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0x2aaaadc6b310) 0 empty
Class QMetaEnum
size=16 align=8
base size=12 base align=8
QMetaEnum (0x2aaaadc6b540) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0x2aaaadc6ba10) 0 empty
Class QMetaProperty
size=32 align=8
@@ -1931,10 +1515,6 @@ Class QMetaClassInfo
base size=12 base align=8
QMetaClassInfo (0x2aaaadc6bd90) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0x2aaaadc871c0) 0 empty
Vtable for QPluginLoader
QPluginLoader::_ZTV13QPluginLoader: 14u entries
@@ -2057,18 +1637,6 @@ Class QWriteLocker
base size=8 base align=8
QWriteLocker (0x2aaaadd1aaf0) 0
-Class QList<QByteArray>::Node
- size=8 align=8
- base size=8 base align=8
-QList<QByteArray>::Node (0x2aaaaddc43f0) 0
-Class QList<QString>::Node
- size=8 align=8
- base size=8 base align=8
-QList<QString>::Node (0x2aaaaddfd4d0) 0
-Class QList<QFileInfo>::Node
- size=8 align=8
- base size=8 base align=8
-QList<QFileInfo>::Node (0x2aaaadef3000) 0
diff --git a/tests/auto/bic/data/QtCore.4.0.0.linux-gcc-ia32.txt b/tests/auto/bic/data/QtCore.4.0.0.linux-gcc-ia32.txt
index 133d561..9e19b0f 100644
--- a/tests/auto/bic/data/QtCore.4.0.0.linux-gcc-ia32.txt
+++ b/tests/auto/bic/data/QtCore.4.0.0.linux-gcc-ia32.txt
@@ -59,145 +59,37 @@ Class QBool
base size=1 base align=1
QBool (0x4001ef40) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0x4001ed80) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0x40ab9000) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0x40ab9040) 0 empty
-Class QTypeInfo<uchar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uchar> (0x40ab9080) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0x40ab90c0) 0 empty
-Class QTypeInfo<ushort>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ushort> (0x40ab9100) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0x40ab9140) 0 empty
-Class QTypeInfo<uint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uint> (0x40ab9180) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0x40ab91c0) 0 empty
-Class QTypeInfo<ulong>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ulong> (0x40ab9200) 0 empty
-Class QTypeInfo<qint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<qint64> (0x40ab9240) 0 empty
-Class QTypeInfo<quint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<quint64> (0x40ab9280) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0x40ab92c0) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0x40ab9300) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0x40ab9340) 0 empty
Class QFlag
size=4 align=4
base size=4 base align=4
QFlag (0x40ab9380) 0
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0x40ab9540) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0x40ab95c0) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0x40ab9640) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0x40ab96c0) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0x40ab9740) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0x40ab97c0) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0x40ab9840) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0x40ab98c0) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0x40ab9940) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0x40ab99c0) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0x40ab9a40) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0x40ab9ac0) 0
Class QInternal
size=1 align=1
@@ -215,10 +107,6 @@ Class QGenericReturnArgument
QGenericReturnArgument (0x40ab9c00) 0
QGenericArgument (0x40ab9c40) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0x40ab9e40) 0
Class QMetaObject
size=16 align=4
@@ -235,10 +123,6 @@ Class QChar
base size=2 base align=2
QChar (0x40ab9f40) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0x40bce000) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -271,10 +155,6 @@ Class QByteRef
base size=8 base align=4
QByteRef (0x40bce700) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0x40bce780) 0 empty
Class QString::Null
size=1 align=1
@@ -296,10 +176,6 @@ Class QLatin1String
base size=4 base align=4
QLatin1String (0x40bce9c0) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0x40bceb00) 0
Class QCharRef
size=8 align=4
@@ -312,10 +188,6 @@ Class QConstString
QConstString (0x40bcecc0) 0
QString (0x40bced00) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0x40bced80) 0 empty
Class QListData::Data
size=24 align=4
@@ -327,15 +199,7 @@ Class QListData
base size=4 base align=4
QListData (0x40bcee80) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0x40e732c0) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0x40e73200) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -427,10 +291,6 @@ QIODevice (0x40e73500) 0
QObject (0x40e73540) 0
primary-for QIODevice (0x40e73500)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0x40e73680) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -455,10 +315,6 @@ Class QMapData
base size=72 base align=4
QMapData (0x40e73780) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0x40e73d40) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -483,15 +339,7 @@ Class QTextCodec
QTextCodec (0x40e73c40) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0x40e73fc0) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0x40e73f00) 0
Class QTextEncoder
size=32 align=4
@@ -503,30 +351,10 @@ Class QTextDecoder
base size=32 base align=4
QTextDecoder (0x40e733c0) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x40e73700) 0
-Class <anonymous struct>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct>::<anonymous union> (0x40e73cc0) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x40e73a80) 0
-Class <anonymous struct>
- size=12 align=4
- base size=12 base align=4
-<anonymous struct> (0x40e73d80) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0x41062000) 0
Class __gconv_trans_data
size=20 align=4
@@ -548,15 +376,7 @@ Class __gconv_info
base size=8 base align=4
__gconv_info (0x41062100) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0x41062180) 0
-Class <anonymous union>
- size=44 align=4
- base size=44 base align=4
-<anonymous union> (0x41062140) 0
Class _IO_marker
size=12 align=4
@@ -568,10 +388,6 @@ Class _IO_FILE
base size=148 base align=4
_IO_FILE (0x41062200) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0x41062240) 0
Vtable for QTextStream
QTextStream::_ZTV11QTextStream: 4u entries
@@ -586,10 +402,6 @@ Class QTextStream
QTextStream (0x41062280) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0x410623c0) 0
Class QTextStreamManipulator
size=24 align=4
@@ -680,10 +492,6 @@ QFile (0x41062b00) 0
QObject (0x41062b80) 0
primary-for QIODevice (0x41062b40)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0x41062c80) 0
Vtable for QTemporaryFile
QTemporaryFile::_ZTV14QTemporaryFile: 31u entries
@@ -736,25 +544,13 @@ Class QRegExp
base size=4 base align=4
QRegExp (0x41062e40) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0x41062ec0) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0x41062f00) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0x410625c0) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0x41062f80) 0
Class QStringList
size=4 align=4
@@ -762,15 +558,7 @@ Class QStringList
QStringList (0x41062780) 0
QList<QString> (0x41062bc0) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0x411731c0) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0x41173240) 0
Vtable for QProcess
QProcess::_ZTV8QProcess: 31u entries
@@ -864,145 +652,45 @@ Class QFileInfo
base size=4 base align=4
QFileInfo (0x411736c0) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0x41173740) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0x41173780) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0x411738c0) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0x41173800) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0x41173900) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0x411739c0) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0x41173a80) 0
Class QUrl
size=4 align=4
base size=4 base align=4
QUrl (0x41173b00) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0x41173c00) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0x41173c40) 0 empty
Class QMetaType
size=1 align=1
base size=0 base align=1
QMetaType (0x41173c80) 0 empty
-Class QMetaTypeId<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QString> (0x41173d00) 0 empty
-Class QMetaTypeId<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<int> (0x41173d40) 0 empty
-Class QMetaTypeId<uint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<uint> (0x41173d80) 0 empty
-Class QMetaTypeId<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<bool> (0x41173dc0) 0 empty
-Class QMetaTypeId<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<double> (0x41173e00) 0 empty
-Class QMetaTypeId<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QByteArray> (0x41173e40) 0 empty
-Class QMetaTypeId<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QChar> (0x41173e80) 0 empty
-Class QMetaTypeId<void>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<void> (0x41173ec0) 0 empty
-Class QMetaTypeId<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<long int> (0x41173f00) 0 empty
-Class QMetaTypeId<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<short int> (0x41173f40) 0 empty
-Class QMetaTypeId<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<char> (0x41173f80) 0 empty
-Class QMetaTypeId<ulong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<ulong> (0x41173fc0) 0 empty
-Class QMetaTypeId<ushort>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<ushort> (0x41173500) 0 empty
-Class QMetaTypeId<uchar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<uchar> (0x41173640) 0 empty
-Class QMetaTypeId<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<float> (0x4129d000) 0 empty
-Class QMetaTypeId<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QObject*> (0x4129d040) 0 empty
-Class QMetaTypeId<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QWidget*> (0x4129d080) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -1029,35 +717,15 @@ Class QVariant
base size=12 base align=4
QVariant (0x4129d0c0) 0
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0x4129d680) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0x4129d5c0) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0x4129d800) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0x4129d740) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0x4129da40) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0x4129db40) 0 empty
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1142,10 +810,6 @@ Class QFileEngineHandler
QFileEngineHandler (0x4129de00) 0 nearly-empty
vptr=((& QFileEngineHandler::_ZTV18QFileEngineHandler) + 8u)
-Class QFlags<QFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileEngine::FileFlag> (0x4129df00) 0
Class QHashData::Node
size=8 align=4
@@ -1162,90 +826,54 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0x4129d200) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0x4129d280) 0 empty
Class QPoint
size=8 align=4
base size=8 base align=4
QPoint (0x413aa340) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0x413aa780) 0 empty
Class QPointF
size=16 align=4
base size=16 base align=4
QPointF (0x413aa840) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0x413aac80) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0x413aad80) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0x413aadc0) 0 empty
Class QLineF
size=32 align=4
base size=32 base align=4
QLineF (0x413aaec0) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0x413aaf40) 0 empty
Class QSize
size=8 align=4
base size=8 base align=4
QSize (0x413aa380) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0x413aa880) 0 empty
Class QSizeF
size=16 align=4
base size=16 base align=4
QSizeF (0x413aab00) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0x414de280) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0x414de480) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0x414de680) 0 empty
Class QRectF
size=32 align=4
base size=32 base align=4
QRectF (0x414de780) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0x414de900) 0 empty
Class QLinkedListData
size=20 align=4
@@ -1262,10 +890,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0x414def40) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0x414defc0) 0 empty
Class QVectorData
size=16 align=4
@@ -1287,40 +911,24 @@ Class QLocale
base size=4 base align=4
QLocale (0x416e0100) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0x416e0140) 0 empty
Class QDate
size=4 align=4
base size=4 base align=4
QDate (0x416e02c0) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0x416e0440) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0x416e0480) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0x416e0600) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0x416e0640) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0x416e0780) 0 empty
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -1480,10 +1088,6 @@ QEventLoop (0x416e0f00) 0
QObject (0x416e0f40) 0
primary-for QEventLoop (0x416e0f00)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0x416e0380) 0
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -1575,20 +1179,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0x417f6100) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0x417f6200) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0x417f6280) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0x417f6340) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -1808,10 +1404,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0x417f6900) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0x417f69c0) 0 empty
Vtable for QSocketNotifier
QSocketNotifier::_ZTV15QSocketNotifier: 14u entries
@@ -1906,20 +1498,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0x417f6d00) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0x417f6d80) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0x417f6dc0) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0x417f6e40) 0 empty
Class QMetaProperty
size=20 align=4
@@ -1931,10 +1515,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0x417f6ec0) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0x417f6f40) 0 empty
Vtable for QPluginLoader
QPluginLoader::_ZTV13QPluginLoader: 14u entries
@@ -2057,18 +1637,6 @@ Class QWriteLocker
base size=4 base align=4
QWriteLocker (0x418f33c0) 0
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0x41950900) 0
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0x41950fc0) 0
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0x41a161c0) 0
diff --git a/tests/auto/bic/data/QtCore.4.0.0.linux-gcc-ppc32.txt b/tests/auto/bic/data/QtCore.4.0.0.linux-gcc-ppc32.txt
index 7adc13a..51bdaf0 100644
--- a/tests/auto/bic/data/QtCore.4.0.0.linux-gcc-ppc32.txt
+++ b/tests/auto/bic/data/QtCore.4.0.0.linux-gcc-ppc32.txt
@@ -59,145 +59,37 @@ Class QBool
base size=1 base align=1
QBool (0x304f6620) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0x304f68c0) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0x304f6968) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0x304f6a10) 0 empty
-Class QTypeInfo<uchar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uchar> (0x304f6ab8) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0x304f6b60) 0 empty
-Class QTypeInfo<ushort>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ushort> (0x304f6c08) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0x304f6cb0) 0 empty
-Class QTypeInfo<uint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uint> (0x304f6d58) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0x304f6e00) 0 empty
-Class QTypeInfo<ulong>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ulong> (0x304f6ea8) 0 empty
-Class QTypeInfo<qint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<qint64> (0x304f6f50) 0 empty
-Class QTypeInfo<quint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<quint64> (0x304f6070) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0x30530000) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0x305300a8) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0x30530150) 0 empty
Class QFlag
size=4 align=4
base size=4 base align=4
QFlag (0x305301c0) 0
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0x305306c8) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0x30530738) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0x305307a8) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0x30530818) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0x30530888) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0x305308f8) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0x30530968) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0x305309d8) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0x30530a48) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0x30530ab8) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0x30530b28) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0x30530b98) 0
Class QInternal
size=1 align=1
@@ -215,10 +107,6 @@ Class QGenericReturnArgument
QGenericReturnArgument (0x30187b80) 0
QGenericArgument (0x30530cb0) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0x30530e70) 0
Class QMetaObject
size=16 align=4
@@ -235,10 +123,6 @@ Class QChar
base size=2 base align=2
QChar (0x30530f50) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0x31457000) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -271,50 +155,18 @@ Class QByteRef
base size=8 base align=4
QByteRef (0x31457b98) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0x31457ee0) 0 empty
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0x31538268) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0x315382d8) 0
Class wait
size=4 align=4
base size=4 base align=4
wait (0x315381f8) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x31538348) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x315383b8) 0
-Class <anonymous struct>
- size=16 align=8
- base size=16 base align=8
-<anonymous struct> (0x31538428) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x31538498) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0x31538508) 0
Class timespec
size=8 align=4
@@ -326,70 +178,18 @@ Class timeval
base size=8 base align=4
timeval (0x31538578) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0x315385e8) 0
-Class <anonymous union>
- size=36 align=4
- base size=36 base align=4
-<anonymous union> (0x31538658) 0
-Class <anonymous union>::<anonymous struct>
- size=24 align=4
- base size=24 base align=4
-<anonymous union>::<anonymous struct> (0x31538738) 0
-Class <anonymous union>
- size=24 align=4
- base size=24 base align=4
-<anonymous union> (0x315386c8) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0x315387a8) 0
-Class <anonymous union>::<anonymous struct>
- size=48 align=8
- base size=48 base align=8
-<anonymous union>::<anonymous struct> (0x31538888) 0
-Class <anonymous union>
- size=48 align=8
- base size=48 base align=8
-<anonymous union> (0x31538818) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0x315388f8) 0
-Class <anonymous union>::<anonymous struct>
- size=32 align=4
- base size=32 base align=4
-<anonymous union>::<anonymous struct> (0x315389d8) 0
-Class <anonymous union>
- size=32 align=4
- base size=32 base align=4
-<anonymous union> (0x31538968) 0
-Class <anonymous union>
- size=8 align=4
- base size=8 base align=4
-<anonymous union> (0x31538a48) 0
-Class <anonymous union>
- size=20 align=4
- base size=20 base align=4
-<anonymous union> (0x31538ab8) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0x31538b28) 0
Class random_data
size=28 align=4
@@ -401,25 +201,9 @@ Class drand48_data
base size=24 base align=8
drand48_data (0x31538b98) 0
-Class <anonymous struct>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct>::<anonymous union> (0x31538c78) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x31538c08) 0
-Class <anonymous struct>
- size=12 align=4
- base size=12 base align=4
-<anonymous struct> (0x31538ce8) 0
-Class <anonymous struct>
- size=16 align=8
- base size=16 base align=8
-<anonymous struct> (0x31538d58) 0
Class __gconv_trans_data
size=20 align=4
@@ -441,15 +225,7 @@ Class __gconv_info
base size=8 base align=4
__gconv_info (0x31538ea8) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0x31538f88) 0
-Class <anonymous union>
- size=44 align=4
- base size=44 base align=4
-<anonymous union> (0x31538f18) 0
Class _IO_marker
size=12 align=4
@@ -461,10 +237,6 @@ Class _IO_FILE
base size=152 base align=8
_IO_FILE (0x3157f000) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0x3157f070) 0
Class lconv
size=56 align=4
@@ -481,10 +253,6 @@ Class __sched_param
base size=4 base align=4
__sched_param (0x3157f188) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0x3157f1f8) 0
Class tm
size=44 align=4
@@ -501,15 +269,7 @@ Class _pthread_cleanup_buffer
base size=16 base align=4
_pthread_cleanup_buffer (0x3157f428) 0
-Class <anonymous struct>::<anonymous struct>
- size=464 align=16
- base size=464 base align=16
-<anonymous struct>::<anonymous struct> (0x3157f578) 0
-Class <anonymous struct>
- size=480 align=16
- base size=480 base align=16
-<anonymous struct> (0x3157f508) 0
Class __pthread_cleanup_frame
size=16 align=4
@@ -536,95 +296,23 @@ Class __false_type
base size=0 base align=1
__false_type (0x316453f0) 0 empty
-Class std::__truth_type<true>
- size=1 align=1
- base size=0 base align=1
-std::__truth_type<true> (0x316454d0) 0 empty
-Class std::__is_void<void>
- size=1 align=1
- base size=0 base align=1
-std::__is_void<void> (0x316458f8) 0 empty
-Class std::__is_integer<bool>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<bool> (0x31645a48) 0 empty
-Class std::__is_integer<char>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<char> (0x31645af0) 0 empty
-Class std::__is_integer<signed char>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<signed char> (0x31645b98) 0 empty
-Class std::__is_integer<unsigned char>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<unsigned char> (0x31645c40) 0 empty
-Class std::__is_integer<wchar_t>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<wchar_t> (0x31645ce8) 0 empty
-Class std::__is_integer<short int>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<short int> (0x31645d90) 0 empty
-Class std::__is_integer<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<short unsigned int> (0x31645e38) 0 empty
-Class std::__is_integer<int>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<int> (0x31645ee0) 0 empty
-Class std::__is_integer<unsigned int>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<unsigned int> (0x31645f88) 0 empty
-Class std::__is_integer<long int>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<long int> (0x3165d038) 0 empty
-Class std::__is_integer<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<long unsigned int> (0x3165d0e0) 0 empty
-Class std::__is_integer<long long int>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<long long int> (0x3165d188) 0 empty
-Class std::__is_integer<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<long long unsigned int> (0x3165d230) 0 empty
-Class std::__is_floating<float>
- size=1 align=1
- base size=0 base align=1
-std::__is_floating<float> (0x3165d380) 0 empty
-Class std::__is_floating<double>
- size=1 align=1
- base size=0 base align=1
-std::__is_floating<double> (0x3165d428) 0 empty
-Class std::__is_floating<long double>
- size=1 align=1
- base size=0 base align=1
-std::__is_floating<long double> (0x3165d4d0) 0 empty
Class std::input_iterator_tag
size=1 align=1
@@ -657,75 +345,19 @@ std::random_access_iterator_tag (0x30187ec0) 0 empty
std::forward_iterator_tag (0x30187f40) 0 empty
std::input_iterator_tag (0x3165db60) 0 empty
-Class std::iterator<std::output_iterator_tag, void, void, void, void>
- size=1 align=1
- base size=0 base align=1
-std::iterator<std::output_iterator_tag, void, void, void, void> (0x3165df18) 0 empty
-Class std::__iter_swap<true>
- size=1 align=1
- base size=0 base align=1
-std::__iter_swap<true> (0x3168f268) 0 empty
-Class std::__copy<true, std::random_access_iterator_tag>
- size=1 align=1
- base size=0 base align=1
-std::__copy<true, std::random_access_iterator_tag> (0x3168f4d0) 0 empty
-Class std::__copy_normal<true, false>
- size=1 align=1
- base size=0 base align=1
-std::__copy_normal<true, false> (0x3168f658) 0 empty
-Class std::__copy_normal<false, true>
- size=1 align=1
- base size=0 base align=1
-std::__copy_normal<false, true> (0x3168f6c8) 0 empty
-Class std::__copy_normal<true, true>
- size=1 align=1
- base size=0 base align=1
-std::__copy_normal<true, true> (0x3168f738) 0 empty
-Class std::__copy_backward<true, std::random_access_iterator_tag>
- size=1 align=1
- base size=0 base align=1
-std::__copy_backward<true, std::random_access_iterator_tag> (0x3168f8f8) 0 empty
-Class std::__copy_backward_normal<true, false>
- size=1 align=1
- base size=0 base align=1
-std::__copy_backward_normal<true, false> (0x3168fa10) 0 empty
-Class std::__copy_backward_normal<false, true>
- size=1 align=1
- base size=0 base align=1
-std::__copy_backward_normal<false, true> (0x3168fa80) 0 empty
-Class std::__copy_backward_normal<true, true>
- size=1 align=1
- base size=0 base align=1
-std::__copy_backward_normal<true, true> (0x3168faf0) 0 empty
-Class std::__fill<true>
- size=1 align=1
- base size=0 base align=1
-std::__fill<true> (0x3168fc08) 0 empty
-Class std::__fill_n<true>
- size=1 align=1
- base size=0 base align=1
-std::__fill_n<true> (0x3168fea8) 0 empty
-Class std::char_traits<char>
- size=1 align=1
- base size=0 base align=1
-std::char_traits<char> (0x316f7310) 0 empty
-Class std::char_traits<wchar_t>
- size=1 align=1
- base size=0 base align=1
-std::char_traits<wchar_t> (0x316f7380) 0 empty
Class __gnu_cxx::__pool_base::_Tune
size=28 align=4
@@ -742,231 +374,51 @@ Class __gnu_cxx::__pool_base
base size=33 base align=4
__gnu_cxx::__pool_base (0x316f73f0) 0
-Class __gnu_cxx::__pool<false>::_Block_record
- size=4 align=4
- base size=4 base align=4
-__gnu_cxx::__pool<false>::_Block_record (0x316f77e0) 0
-Class __gnu_cxx::__pool<false>::_Bin_record
- size=8 align=4
- base size=8 base align=4
-__gnu_cxx::__pool<false>::_Bin_record (0x316f7818) 0
-Class __gnu_cxx::__pool<false>
- size=44 align=4
- base size=44 base align=4
-__gnu_cxx::__pool<false> (0x31689100) 0
- __gnu_cxx::__pool_base (0x316f77a8) 0
-Class __gnu_cxx::__pool<true>::_Thread_record
- size=8 align=4
- base size=8 base align=4
-__gnu_cxx::__pool<true>::_Thread_record (0x316f78f8) 0
-Class __gnu_cxx::__pool<true>::_Block_record
- size=4 align=4
- base size=4 base align=4
-__gnu_cxx::__pool<true>::_Block_record (0x316f7930) 0
-Class __gnu_cxx::__pool<true>::_Bin_record
- size=20 align=4
- base size=20 base align=4
-__gnu_cxx::__pool<true>::_Bin_record (0x316f7968) 0
-Class __gnu_cxx::__pool<true>
- size=56 align=4
- base size=56 base align=4
-__gnu_cxx::__pool<true> (0x31689140) 0
- __gnu_cxx::__pool_base (0x316f78c0) 0
-Class std::allocator<void>
- size=1 align=1
- base size=0 base align=1
-std::allocator<void> (0x3175f070) 0 empty
-Class __gnu_cxx::__mt_alloc_base<char>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__mt_alloc_base<char> (0x3175f348) 0 empty
-Class __gnu_cxx::__common_pool_policy<__gnu_cxx::__pool, true>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__common_pool_policy<__gnu_cxx::__pool, true> (0x3175f428) 0 empty
-Class __gnu_cxx::__mt_alloc<char, __gnu_cxx::__common_pool_policy<__gnu_cxx::__pool, true> >
- size=1 align=1
- base size=1 base align=1
-__gnu_cxx::__mt_alloc<char, __gnu_cxx::__common_pool_policy<__gnu_cxx::__pool, true> > (0x31689200) 0 empty
- __gnu_cxx::__mt_alloc_base<char> (0x3175f380) 0 empty
-Class std::allocator<char>
- size=1 align=1
- base size=1 base align=1
-std::allocator<char> (0x31689240) 0 empty
- __gnu_cxx::__mt_alloc<char, __gnu_cxx::__common_pool_policy<__gnu_cxx::__pool, true> > (0x31689280) 0 empty
- __gnu_cxx::__mt_alloc_base<char> (0x3175f498) 0 empty
-Class __gnu_cxx::__mt_alloc_base<wchar_t>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__mt_alloc_base<wchar_t> (0x3175f5e8) 0 empty
-Class __gnu_cxx::__mt_alloc<wchar_t, __gnu_cxx::__common_pool_policy<__gnu_cxx::__pool, true> >
- size=1 align=1
- base size=1 base align=1
-__gnu_cxx::__mt_alloc<wchar_t, __gnu_cxx::__common_pool_policy<__gnu_cxx::__pool, true> > (0x316892c0) 0 empty
- __gnu_cxx::__mt_alloc_base<wchar_t> (0x3175f620) 0 empty
-Class std::allocator<wchar_t>
- size=1 align=1
- base size=1 base align=1
-std::allocator<wchar_t> (0x31689300) 0 empty
- __gnu_cxx::__mt_alloc<wchar_t, __gnu_cxx::__common_pool_policy<__gnu_cxx::__pool, true> > (0x31689340) 0 empty
- __gnu_cxx::__mt_alloc_base<wchar_t> (0x3175f690) 0 empty
Class std::__numeric_limits_base
size=1 align=1
base size=0 base align=1
std::__numeric_limits_base (0x3175f9a0) 0 empty
-Class std::numeric_limits<bool>
- size=1 align=1
- base size=0 base align=1
-std::numeric_limits<bool> (0x3175fa80) 0 empty
-Class std::numeric_limits<char>
- size=1 align=1
- base size=0 base align=1
-std::numeric_limits<char> (0x3175faf0) 0 empty
-Class std::numeric_limits<signed char>
- size=1 align=1
- base size=0 base align=1
-std::numeric_limits<signed char> (0x3175fb60) 0 empty
-Class std::numeric_limits<unsigned char>
- size=1 align=1
- base size=0 base align=1
-std::numeric_limits<unsigned char> (0x3175fbd0) 0 empty
-Class std::numeric_limits<wchar_t>
- size=1 align=1
- base size=0 base align=1
-std::numeric_limits<wchar_t> (0x3175fc40) 0 empty
-Class std::numeric_limits<short int>
- size=1 align=1
- base size=0 base align=1
-std::numeric_limits<short int> (0x3175fcb0) 0 empty
-Class std::numeric_limits<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-std::numeric_limits<short unsigned int> (0x3175fd20) 0 empty
-Class std::numeric_limits<int>
- size=1 align=1
- base size=0 base align=1
-std::numeric_limits<int> (0x3175fd90) 0 empty
-Class std::numeric_limits<unsigned int>
- size=1 align=1
- base size=0 base align=1
-std::numeric_limits<unsigned int> (0x3175fe00) 0 empty
-Class std::numeric_limits<long int>
- size=1 align=1
- base size=0 base align=1
-std::numeric_limits<long int> (0x3175fe70) 0 empty
-Class std::numeric_limits<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-std::numeric_limits<long unsigned int> (0x3175fee0) 0 empty
-Class std::numeric_limits<long long int>
- size=1 align=1
- base size=0 base align=1
-std::numeric_limits<long long int> (0x3175ff50) 0 empty
-Class std::numeric_limits<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-std::numeric_limits<long long unsigned int> (0x3175ffc0) 0 empty
-Class std::numeric_limits<float>
- size=1 align=1
- base size=0 base align=1
-std::numeric_limits<float> (0x31807000) 0 empty
-Class std::numeric_limits<double>
- size=1 align=1
- base size=0 base align=1
-std::numeric_limits<double> (0x31807070) 0 empty
-Class std::numeric_limits<long double>
- size=1 align=1
- base size=0 base align=1
-std::numeric_limits<long double> (0x318070e0) 0 empty
-Class std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Alloc_hider
- size=4 align=4
- base size=4 base align=4
-std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Alloc_hider (0x31689ec0) 0
- std::allocator<char> (0x31689f00) 0 empty
- __gnu_cxx::__mt_alloc<char, __gnu_cxx::__common_pool_policy<__gnu_cxx::__pool, true> > (0x31689f40) 0 empty
- __gnu_cxx::__mt_alloc_base<char> (0x31881968) 0 empty
-Class std::basic_string<char, std::char_traits<char>, std::allocator<char> >
- size=4 align=4
- base size=4 base align=4
-std::basic_string<char, std::char_traits<char>, std::allocator<char> > (0x318817e0) 0
-Class std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep_base
- size=12 align=4
- base size=12 base align=4
-std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep_base (0x31881a10) 0
-Class std::allocator<char>::rebind<char>
- size=1 align=1
- base size=0 base align=1
-std::allocator<char>::rebind<char> (0x31881b28) 0 empty
-Class std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep
- size=12 align=4
- base size=12 base align=4
-std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep (0x31689f80) 0
- std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep_base (0x31881a48) 0
-Class std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Alloc_hider
- size=4 align=4
- base size=4 base align=4
-std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Alloc_hider (0x31689fc0) 0
- std::allocator<wchar_t> (0x31a89000) 0 empty
- __gnu_cxx::__mt_alloc<wchar_t, __gnu_cxx::__common_pool_policy<__gnu_cxx::__pool, true> > (0x31a89040) 0 empty
- __gnu_cxx::__mt_alloc_base<wchar_t> (0x31881dc8) 0 empty
-Class std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >
- size=4 align=4
- base size=4 base align=4
-std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > (0x31881c40) 0
-Class std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Rep_base
- size=12 align=4
- base size=12 base align=4
-std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Rep_base (0x31881e70) 0
-Class std::allocator<wchar_t>::rebind<char>
- size=1 align=1
- base size=0 base align=1
-std::allocator<wchar_t>::rebind<char> (0x31881f50) 0 empty
-Class std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Rep
- size=12 align=4
- base size=12 base align=4
-std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Rep (0x31a89080) 0
- std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Rep_base (0x31881ea8) 0
Class QString::Null
size=1 align=1
@@ -988,30 +440,14 @@ Class QLatin1String
base size=4 base align=4
QLatin1String (0x31ad31c0) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0x31ad3508) 0
Class QCharRef
size=8 align=4
base size=8 base align=4
QCharRef (0x31ad3540) 0
-Class std::iterator_traits<wchar_t*>
- size=1 align=1
- base size=0 base align=1
-std::iterator_traits<wchar_t*> (0x31ad3f88) 0 empty
-Class __gnu_cxx::__normal_iterator<wchar_t*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >
- size=4 align=4
- base size=4 base align=4
-__gnu_cxx::__normal_iterator<wchar_t*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > (0x31ad3ea8) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0x31bf0150) 0 empty
Class std::locale
size=4 align=4
@@ -1085,447 +521,63 @@ Class std::ios_base
std::ios_base (0x31c57188) 0
vptr=((& std::ios_base::_ZTVSt8ios_base) + 8u)
-Vtable for std::basic_streambuf<char, std::char_traits<char> >
-std::basic_streambuf<char, std::char_traits<char> >::_ZTVSt15basic_streambufIcSt11char_traitsIcEE: 16u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt15basic_streambufIcSt11char_traitsIcEE)
-8 std::basic_streambuf<_CharT, _Traits>::~basic_streambuf [with _CharT = char, _Traits = std::char_traits<char>]
-12 std::basic_streambuf<_CharT, _Traits>::~basic_streambuf [with _CharT = char, _Traits = std::char_traits<char>]
-16 std::basic_streambuf<_CharT, _Traits>::imbue [with _CharT = char, _Traits = std::char_traits<char>]
-20 std::basic_streambuf<_CharT, _Traits>::setbuf [with _CharT = char, _Traits = std::char_traits<char>]
-24 std::basic_streambuf<_CharT, _Traits>::seekoff [with _CharT = char, _Traits = std::char_traits<char>]
-28 std::basic_streambuf<_CharT, _Traits>::seekpos [with _CharT = char, _Traits = std::char_traits<char>]
-32 std::basic_streambuf<_CharT, _Traits>::sync [with _CharT = char, _Traits = std::char_traits<char>]
-36 std::basic_streambuf<_CharT, _Traits>::showmanyc [with _CharT = char, _Traits = std::char_traits<char>]
-40 std::basic_streambuf<_CharT, _Traits>::xsgetn [with _CharT = char, _Traits = std::char_traits<char>]
-44 std::basic_streambuf<_CharT, _Traits>::underflow [with _CharT = char, _Traits = std::char_traits<char>]
-48 std::basic_streambuf<_CharT, _Traits>::uflow [with _CharT = char, _Traits = std::char_traits<char>]
-52 std::basic_streambuf<_CharT, _Traits>::pbackfail [with _CharT = char, _Traits = std::char_traits<char>]
-56 std::basic_streambuf<_CharT, _Traits>::xsputn [with _CharT = char, _Traits = std::char_traits<char>]
-60 std::basic_streambuf<_CharT, _Traits>::overflow [with _CharT = char, _Traits = std::char_traits<char>]
-
-Class std::basic_streambuf<char, std::char_traits<char> >
- size=32 align=4
- base size=32 base align=4
-std::basic_streambuf<char, std::char_traits<char> > (0x31c576c8) 0
- vptr=((& std::basic_streambuf<char, std::char_traits<char> >::_ZTVSt15basic_streambufIcSt11char_traitsIcEE) + 8u)
-Vtable for std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >
-std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >::_ZTVSt15basic_streambufIwSt11char_traitsIwEE: 16u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt15basic_streambufIwSt11char_traitsIwEE)
-8 std::basic_streambuf<_CharT, _Traits>::~basic_streambuf [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-12 std::basic_streambuf<_CharT, _Traits>::~basic_streambuf [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-16 std::basic_streambuf<_CharT, _Traits>::imbue [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-20 std::basic_streambuf<_CharT, _Traits>::setbuf [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-24 std::basic_streambuf<_CharT, _Traits>::seekoff [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-28 std::basic_streambuf<_CharT, _Traits>::seekpos [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-32 std::basic_streambuf<_CharT, _Traits>::sync [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-36 std::basic_streambuf<_CharT, _Traits>::showmanyc [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-40 std::basic_streambuf<_CharT, _Traits>::xsgetn [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-44 std::basic_streambuf<_CharT, _Traits>::underflow [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-48 std::basic_streambuf<_CharT, _Traits>::uflow [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-52 std::basic_streambuf<_CharT, _Traits>::pbackfail [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-56 std::basic_streambuf<_CharT, _Traits>::xsputn [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-60 std::basic_streambuf<_CharT, _Traits>::overflow [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-
-Class std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >
- size=32 align=4
- base size=32 base align=4
-std::basic_streambuf<wchar_t, std::char_traits<wchar_t> > (0x31c579a0) 0
- vptr=((& std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >::_ZTVSt15basic_streambufIwSt11char_traitsIwEE) + 8u)
+
+
Class std::ctype_base
size=1 align=1
base size=0 base align=1
std::ctype_base (0x31c57d58) 0 empty
-Vtable for std::ctype<char>
-std::ctype<char>::_ZTVSt5ctypeIcE: 12u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt5ctypeIcE)
-8 std::ctype<char>::~ctype
-12 std::ctype<char>::~ctype
-16 std::ctype<char>::do_toupper
-20 std::ctype<char>::do_toupper
-24 std::ctype<char>::do_tolower
-28 std::ctype<char>::do_tolower
-32 std::ctype<char>::do_widen
-36 std::ctype<char>::do_widen
-40 std::ctype<char>::do_narrow
-44 std::ctype<char>::do_narrow
-
-Class std::ctype<char>
- size=544 align=4
- base size=542 base align=4
-std::ctype<char> (0x31a89300) 0
- vptr=((& std::ctype<char>::_ZTVSt5ctypeIcE) + 8u)
- std::locale::facet (0x31c57e70) 0
- primary-for std::ctype<char> (0x31a89300)
- std::ctype_base (0x31c57ea8) 0 empty
-
-Vtable for std::__ctype_abstract_base<wchar_t>
-std::__ctype_abstract_base<wchar_t>::_ZTVSt21__ctype_abstract_baseIwE: 16u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt21__ctype_abstract_baseIwE)
-8 std::__ctype_abstract_base<_CharT>::~__ctype_abstract_base [with _CharT = wchar_t]
-12 std::__ctype_abstract_base<_CharT>::~__ctype_abstract_base [with _CharT = wchar_t]
-16 __cxa_pure_virtual
-20 __cxa_pure_virtual
-24 __cxa_pure_virtual
-28 __cxa_pure_virtual
-32 __cxa_pure_virtual
-36 __cxa_pure_virtual
-40 __cxa_pure_virtual
-44 __cxa_pure_virtual
-48 __cxa_pure_virtual
-52 __cxa_pure_virtual
-56 __cxa_pure_virtual
-60 __cxa_pure_virtual
-Class std::__ctype_abstract_base<wchar_t>
- size=8 align=4
- base size=8 base align=4
-std::__ctype_abstract_base<wchar_t> (0x31a89380) 0
- vptr=((& std::__ctype_abstract_base<wchar_t>::_ZTVSt21__ctype_abstract_baseIwE) + 8u)
- std::locale::facet (0x31d15150) 0
- primary-for std::__ctype_abstract_base<wchar_t> (0x31a89380)
- std::ctype_base (0x31d15188) 0 empty
-
-Vtable for std::ctype<wchar_t>
-std::ctype<wchar_t>::_ZTVSt5ctypeIwE: 16u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt5ctypeIwE)
-8 std::ctype<wchar_t>::~ctype
-12 std::ctype<wchar_t>::~ctype
-16 std::ctype<wchar_t>::do_is
-20 std::ctype<wchar_t>::do_is
-24 std::ctype<wchar_t>::do_scan_is
-28 std::ctype<wchar_t>::do_scan_not
-32 std::ctype<wchar_t>::do_toupper
-36 std::ctype<wchar_t>::do_toupper
-40 std::ctype<wchar_t>::do_tolower
-44 std::ctype<wchar_t>::do_tolower
-48 std::ctype<wchar_t>::do_widen
-52 std::ctype<wchar_t>::do_widen
-56 std::ctype<wchar_t>::do_narrow
-60 std::ctype<wchar_t>::do_narrow
-
-Class std::ctype<wchar_t>
- size=1264 align=4
- base size=1264 base align=4
-std::ctype<wchar_t> (0x31a893c0) 0
- vptr=((& std::ctype<wchar_t>::_ZTVSt5ctypeIwE) + 8u)
- std::__ctype_abstract_base<wchar_t> (0x31a89400) 0
- primary-for std::ctype<wchar_t> (0x31a893c0)
- std::locale::facet (0x31d152a0) 0
- primary-for std::__ctype_abstract_base<wchar_t> (0x31a89400)
- std::ctype_base (0x31d152d8) 0 empty
-
-Vtable for std::ctype_byname<char>
-std::ctype_byname<char>::_ZTVSt12ctype_bynameIcE: 12u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt12ctype_bynameIcE)
-8 std::ctype_byname<_CharT>::~ctype_byname [with _CharT = char]
-12 std::ctype_byname<_CharT>::~ctype_byname [with _CharT = char]
-16 std::ctype<char>::do_toupper
-20 std::ctype<char>::do_toupper
-24 std::ctype<char>::do_tolower
-28 std::ctype<char>::do_tolower
-32 std::ctype<char>::do_widen
-36 std::ctype<char>::do_widen
-40 std::ctype<char>::do_narrow
-44 std::ctype<char>::do_narrow
-
-Class std::ctype_byname<char>
- size=544 align=4
- base size=542 base align=4
-std::ctype_byname<char> (0x31a89480) 0
- vptr=((& std::ctype_byname<char>::_ZTVSt12ctype_bynameIcE) + 8u)
- std::ctype<char> (0x31a894c0) 0
- primary-for std::ctype_byname<char> (0x31a89480)
- std::locale::facet (0x31d154d0) 0
- primary-for std::ctype<char> (0x31a894c0)
- std::ctype_base (0x31d15508) 0 empty
-
-Vtable for std::ctype_byname<wchar_t>
-std::ctype_byname<wchar_t>::_ZTVSt12ctype_bynameIwE: 16u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt12ctype_bynameIwE)
-8 std::ctype_byname<_CharT>::~ctype_byname [with _CharT = wchar_t]
-12 std::ctype_byname<_CharT>::~ctype_byname [with _CharT = wchar_t]
-16 std::ctype<wchar_t>::do_is
-20 std::ctype<wchar_t>::do_is
-24 std::ctype<wchar_t>::do_scan_is
-28 std::ctype<wchar_t>::do_scan_not
-32 std::ctype<wchar_t>::do_toupper
-36 std::ctype<wchar_t>::do_toupper
-40 std::ctype<wchar_t>::do_tolower
-44 std::ctype<wchar_t>::do_tolower
-48 std::ctype<wchar_t>::do_widen
-52 std::ctype<wchar_t>::do_widen
-56 std::ctype<wchar_t>::do_narrow
-60 std::ctype<wchar_t>::do_narrow
-
-Class std::ctype_byname<wchar_t>
- size=1264 align=4
- base size=1264 base align=4
-std::ctype_byname<wchar_t> (0x31a89500) 0
- vptr=((& std::ctype_byname<wchar_t>::_ZTVSt12ctype_bynameIwE) + 8u)
- std::ctype<wchar_t> (0x31a89540) 0
- primary-for std::ctype_byname<wchar_t> (0x31a89500)
- std::__ctype_abstract_base<wchar_t> (0x31a89580) 0
- primary-for std::ctype<wchar_t> (0x31a89540)
- std::locale::facet (0x31d15690) 0
- primary-for std::__ctype_abstract_base<wchar_t> (0x31a89580)
- std::ctype_base (0x31d156c8) 0 empty
+
+
+
+
+
+
+
+
Class std::codecvt_base
size=1 align=1
base size=0 base align=1
std::codecvt_base (0x31d157e0) 0 empty
-Vtable for std::__codecvt_abstract_base<char, char, mbstate_t>
-std::__codecvt_abstract_base<char, char, mbstate_t>::_ZTVSt23__codecvt_abstract_baseIcc11__mbstate_tE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt23__codecvt_abstract_baseIcc11__mbstate_tE)
-8 std::__codecvt_abstract_base<_InternT, _ExternT, _StateT>::~__codecvt_abstract_base [with _InternT = char, _ExternT = char, _StateT = mbstate_t]
-12 std::__codecvt_abstract_base<_InternT, _ExternT, _StateT>::~__codecvt_abstract_base [with _InternT = char, _ExternT = char, _StateT = mbstate_t]
-16 __cxa_pure_virtual
-20 __cxa_pure_virtual
-24 __cxa_pure_virtual
-28 __cxa_pure_virtual
-32 __cxa_pure_virtual
-36 __cxa_pure_virtual
-40 __cxa_pure_virtual
-Class std::__codecvt_abstract_base<char, char, mbstate_t>
- size=8 align=4
- base size=8 base align=4
-std::__codecvt_abstract_base<char, char, mbstate_t> (0x31a89640) 0
- vptr=((& std::__codecvt_abstract_base<char, char, mbstate_t>::_ZTVSt23__codecvt_abstract_baseIcc11__mbstate_tE) + 8u)
- std::locale::facet (0x31d15968) 0
- primary-for std::__codecvt_abstract_base<char, char, mbstate_t> (0x31a89640)
- std::codecvt_base (0x31d159a0) 0 empty
-
-Vtable for std::codecvt<char, char, mbstate_t>
-std::codecvt<char, char, mbstate_t>::_ZTVSt7codecvtIcc11__mbstate_tE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt7codecvtIcc11__mbstate_tE)
-8 std::codecvt<char, char, mbstate_t>::~codecvt
-12 std::codecvt<char, char, mbstate_t>::~codecvt
-16 std::codecvt<char, char, mbstate_t>::do_out
-20 std::codecvt<char, char, mbstate_t>::do_unshift
-24 std::codecvt<char, char, mbstate_t>::do_in
-28 std::codecvt<char, char, mbstate_t>::do_encoding
-32 std::codecvt<char, char, mbstate_t>::do_always_noconv
-36 std::codecvt<char, char, mbstate_t>::do_length
-40 std::codecvt<char, char, mbstate_t>::do_max_length
-
-Class std::codecvt<char, char, mbstate_t>
- size=12 align=4
- base size=12 base align=4
-std::codecvt<char, char, mbstate_t> (0x31a89680) 0
- vptr=((& std::codecvt<char, char, mbstate_t>::_ZTVSt7codecvtIcc11__mbstate_tE) + 8u)
- std::__codecvt_abstract_base<char, char, mbstate_t> (0x31a896c0) 0
- primary-for std::codecvt<char, char, mbstate_t> (0x31a89680)
- std::locale::facet (0x31d15ab8) 0
- primary-for std::__codecvt_abstract_base<char, char, mbstate_t> (0x31a896c0)
- std::codecvt_base (0x31d15af0) 0 empty
-
-Vtable for std::__codecvt_abstract_base<wchar_t, char, mbstate_t>
-std::__codecvt_abstract_base<wchar_t, char, mbstate_t>::_ZTVSt23__codecvt_abstract_baseIwc11__mbstate_tE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt23__codecvt_abstract_baseIwc11__mbstate_tE)
-8 std::__codecvt_abstract_base<_InternT, _ExternT, _StateT>::~__codecvt_abstract_base [with _InternT = wchar_t, _ExternT = char, _StateT = mbstate_t]
-12 std::__codecvt_abstract_base<_InternT, _ExternT, _StateT>::~__codecvt_abstract_base [with _InternT = wchar_t, _ExternT = char, _StateT = mbstate_t]
-16 __cxa_pure_virtual
-20 __cxa_pure_virtual
-24 __cxa_pure_virtual
-28 __cxa_pure_virtual
-32 __cxa_pure_virtual
-36 __cxa_pure_virtual
-40 __cxa_pure_virtual
-Class std::__codecvt_abstract_base<wchar_t, char, mbstate_t>
- size=8 align=4
- base size=8 base align=4
-std::__codecvt_abstract_base<wchar_t, char, mbstate_t> (0x31a89700) 0
- vptr=((& std::__codecvt_abstract_base<wchar_t, char, mbstate_t>::_ZTVSt23__codecvt_abstract_baseIwc11__mbstate_tE) + 8u)
- std::locale::facet (0x31d15c78) 0
- primary-for std::__codecvt_abstract_base<wchar_t, char, mbstate_t> (0x31a89700)
- std::codecvt_base (0x31d15cb0) 0 empty
-
-Vtable for std::codecvt<wchar_t, char, mbstate_t>
-std::codecvt<wchar_t, char, mbstate_t>::_ZTVSt7codecvtIwc11__mbstate_tE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt7codecvtIwc11__mbstate_tE)
-8 std::codecvt<wchar_t, char, mbstate_t>::~codecvt
-12 std::codecvt<wchar_t, char, mbstate_t>::~codecvt
-16 std::codecvt<wchar_t, char, mbstate_t>::do_out
-20 std::codecvt<wchar_t, char, mbstate_t>::do_unshift
-24 std::codecvt<wchar_t, char, mbstate_t>::do_in
-28 std::codecvt<wchar_t, char, mbstate_t>::do_encoding
-32 std::codecvt<wchar_t, char, mbstate_t>::do_always_noconv
-36 std::codecvt<wchar_t, char, mbstate_t>::do_length
-40 std::codecvt<wchar_t, char, mbstate_t>::do_max_length
-
-Class std::codecvt<wchar_t, char, mbstate_t>
- size=12 align=4
- base size=12 base align=4
-std::codecvt<wchar_t, char, mbstate_t> (0x31a89740) 0
- vptr=((& std::codecvt<wchar_t, char, mbstate_t>::_ZTVSt7codecvtIwc11__mbstate_tE) + 8u)
- std::__codecvt_abstract_base<wchar_t, char, mbstate_t> (0x31a89780) 0
- primary-for std::codecvt<wchar_t, char, mbstate_t> (0x31a89740)
- std::locale::facet (0x31d15dc8) 0
- primary-for std::__codecvt_abstract_base<wchar_t, char, mbstate_t> (0x31a89780)
- std::codecvt_base (0x31d15e00) 0 empty
+
+
+
+
+
Class std::__num_base
size=1 align=1
base size=0 base align=1
std::__num_base (0x31d15f50) 0 empty
-Vtable for std::numpunct<char>
-std::numpunct<char>::_ZTVSt8numpunctIcE: 9u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt8numpunctIcE)
-8 std::numpunct<_CharT>::~numpunct [with _CharT = char]
-12 std::numpunct<_CharT>::~numpunct [with _CharT = char]
-16 std::numpunct<_CharT>::do_decimal_point [with _CharT = char]
-20 std::numpunct<_CharT>::do_thousands_sep [with _CharT = char]
-24 std::numpunct<_CharT>::do_grouping [with _CharT = char]
-28 std::numpunct<_CharT>::do_truename [with _CharT = char]
-32 std::numpunct<_CharT>::do_falsename [with _CharT = char]
-
-Class std::numpunct<char>
- size=12 align=4
- base size=12 base align=4
-std::numpunct<char> (0x31a89880) 0
- vptr=((& std::numpunct<char>::_ZTVSt8numpunctIcE) + 8u)
- std::locale::facet (0x31d15d58) 0
- primary-for std::numpunct<char> (0x31a89880)
-Vtable for std::numpunct<wchar_t>
-std::numpunct<wchar_t>::_ZTVSt8numpunctIwE: 9u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt8numpunctIwE)
-8 std::numpunct<_CharT>::~numpunct [with _CharT = wchar_t]
-12 std::numpunct<_CharT>::~numpunct [with _CharT = wchar_t]
-16 std::numpunct<_CharT>::do_decimal_point [with _CharT = wchar_t]
-20 std::numpunct<_CharT>::do_thousands_sep [with _CharT = wchar_t]
-24 std::numpunct<_CharT>::do_grouping [with _CharT = wchar_t]
-28 std::numpunct<_CharT>::do_truename [with _CharT = wchar_t]
-32 std::numpunct<_CharT>::do_falsename [with _CharT = wchar_t]
-
-Class std::numpunct<wchar_t>
- size=12 align=4
- base size=12 base align=4
-std::numpunct<wchar_t> (0x31a898c0) 0
- vptr=((& std::numpunct<wchar_t>::_ZTVSt8numpunctIwE) + 8u)
- std::locale::facet (0x31d7f150) 0
- primary-for std::numpunct<wchar_t> (0x31a898c0)
-Vtable for std::collate<char>
-std::collate<char>::_ZTVSt7collateIcE: 7u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt7collateIcE)
-8 std::collate<_CharT>::~collate [with _CharT = char]
-12 std::collate<_CharT>::~collate [with _CharT = char]
-16 std::collate<_CharT>::do_compare [with _CharT = char]
-20 std::collate<_CharT>::do_transform [with _CharT = char]
-24 std::collate<_CharT>::do_hash [with _CharT = char]
-
-Class std::collate<char>
- size=12 align=4
- base size=12 base align=4
-std::collate<char> (0x31a89a00) 0
- vptr=((& std::collate<char>::_ZTVSt7collateIcE) + 8u)
- std::locale::facet (0x31d7f3f0) 0
- primary-for std::collate<char> (0x31a89a00)
-Vtable for std::collate<wchar_t>
-std::collate<wchar_t>::_ZTVSt7collateIwE: 7u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt7collateIwE)
-8 std::collate<_CharT>::~collate [with _CharT = wchar_t]
-12 std::collate<_CharT>::~collate [with _CharT = wchar_t]
-16 std::collate<_CharT>::do_compare [with _CharT = wchar_t]
-20 std::collate<_CharT>::do_transform [with _CharT = wchar_t]
-24 std::collate<_CharT>::do_hash [with _CharT = wchar_t]
-
-Class std::collate<wchar_t>
- size=12 align=4
- base size=12 base align=4
-std::collate<wchar_t> (0x31a89a40) 0
- vptr=((& std::collate<wchar_t>::_ZTVSt7collateIwE) + 8u)
- std::locale::facet (0x31d7f578) 0
- primary-for std::collate<wchar_t> (0x31a89a40)
+
+
+
+
Class std::time_base
size=1 align=1
base size=0 base align=1
std::time_base (0x31d7f6c8) 0 empty
-Vtable for std::__timepunct_cache<char>
-std::__timepunct_cache<char>::_ZTVSt17__timepunct_cacheIcE: 4u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt17__timepunct_cacheIcE)
-8 std::__timepunct_cache<_CharT>::~__timepunct_cache [with _CharT = char]
-12 std::__timepunct_cache<_CharT>::~__timepunct_cache [with _CharT = char]
-
-Class std::__timepunct_cache<char>
- size=200 align=4
- base size=197 base align=4
-std::__timepunct_cache<char> (0x31a89b00) 0
- vptr=((& std::__timepunct_cache<char>::_ZTVSt17__timepunct_cacheIcE) + 8u)
- std::locale::facet (0x31d7f7e0) 0
- primary-for std::__timepunct_cache<char> (0x31a89b00)
-
-Vtable for std::__timepunct_cache<wchar_t>
-std::__timepunct_cache<wchar_t>::_ZTVSt17__timepunct_cacheIwE: 4u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt17__timepunct_cacheIwE)
-8 std::__timepunct_cache<_CharT>::~__timepunct_cache [with _CharT = wchar_t]
-12 std::__timepunct_cache<_CharT>::~__timepunct_cache [with _CharT = wchar_t]
-
-Class std::__timepunct_cache<wchar_t>
- size=200 align=4
- base size=197 base align=4
-std::__timepunct_cache<wchar_t> (0x31a89b40) 0
- vptr=((& std::__timepunct_cache<wchar_t>::_ZTVSt17__timepunct_cacheIwE) + 8u)
- std::locale::facet (0x31d7f968) 0
- primary-for std::__timepunct_cache<wchar_t> (0x31a89b40)
-
-Vtable for std::__timepunct<char>
-std::__timepunct<char>::_ZTVSt11__timepunctIcE: 4u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt11__timepunctIcE)
-8 std::__timepunct<_CharT>::~__timepunct [with _CharT = char]
-12 std::__timepunct<_CharT>::~__timepunct [with _CharT = char]
-Class std::__timepunct<char>
- size=20 align=4
- base size=20 base align=4
-std::__timepunct<char> (0x31a89bc0) 0
- vptr=((& std::__timepunct<char>::_ZTVSt11__timepunctIcE) + 8u)
- std::locale::facet (0x31d7fb60) 0
- primary-for std::__timepunct<char> (0x31a89bc0)
-Vtable for std::__timepunct<wchar_t>
-std::__timepunct<wchar_t>::_ZTVSt11__timepunctIwE: 4u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt11__timepunctIwE)
-8 std::__timepunct<_CharT>::~__timepunct [with _CharT = wchar_t]
-12 std::__timepunct<_CharT>::~__timepunct [with _CharT = wchar_t]
-Class std::__timepunct<wchar_t>
- size=20 align=4
- base size=20 base align=4
-std::__timepunct<wchar_t> (0x31a89c00) 0
- vptr=((& std::__timepunct<wchar_t>::_ZTVSt11__timepunctIwE) + 8u)
- std::locale::facet (0x31d7fce8) 0
- primary-for std::__timepunct<wchar_t> (0x31a89c00)
+
+
+
+
Class std::money_base::pattern
size=4 align=1
@@ -1537,178 +589,26 @@ Class std::money_base
base size=0 base align=1
std::money_base (0x31d7ff18) 0 empty
-Vtable for std::moneypunct<char, true>
-std::moneypunct<char, true>::_ZTVSt10moneypunctIcLb1EE: 13u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt10moneypunctIcLb1EE)
-8 std::moneypunct<_CharT, _Intl>::~moneypunct [with _CharT = char, bool _Intl = true]
-12 std::moneypunct<_CharT, _Intl>::~moneypunct [with _CharT = char, bool _Intl = true]
-16 std::moneypunct<_CharT, _Intl>::do_decimal_point [with _CharT = char, bool _Intl = true]
-20 std::moneypunct<_CharT, _Intl>::do_thousands_sep [with _CharT = char, bool _Intl = true]
-24 std::moneypunct<_CharT, _Intl>::do_grouping [with _CharT = char, bool _Intl = true]
-28 std::moneypunct<_CharT, _Intl>::do_curr_symbol [with _CharT = char, bool _Intl = true]
-32 std::moneypunct<_CharT, _Intl>::do_positive_sign [with _CharT = char, bool _Intl = true]
-36 std::moneypunct<_CharT, _Intl>::do_negative_sign [with _CharT = char, bool _Intl = true]
-40 std::moneypunct<_CharT, _Intl>::do_frac_digits [with _CharT = char, bool _Intl = true]
-44 std::moneypunct<_CharT, _Intl>::do_pos_format [with _CharT = char, bool _Intl = true]
-48 std::moneypunct<_CharT, _Intl>::do_neg_format [with _CharT = char, bool _Intl = true]
-
-Class std::moneypunct<char, true>
- size=12 align=4
- base size=12 base align=4
-std::moneypunct<char, true> (0x31a89e00) 0
- vptr=((& std::moneypunct<char, true>::_ZTVSt10moneypunctIcLb1EE) + 8u)
- std::locale::facet (0x31d7fa10) 0
- primary-for std::moneypunct<char, true> (0x31a89e00)
- std::money_base (0x31d7fc08) 0 empty
-
-Vtable for std::moneypunct<char, false>
-std::moneypunct<char, false>::_ZTVSt10moneypunctIcLb0EE: 13u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt10moneypunctIcLb0EE)
-8 std::moneypunct<_CharT, _Intl>::~moneypunct [with _CharT = char, bool _Intl = false]
-12 std::moneypunct<_CharT, _Intl>::~moneypunct [with _CharT = char, bool _Intl = false]
-16 std::moneypunct<_CharT, _Intl>::do_decimal_point [with _CharT = char, bool _Intl = false]
-20 std::moneypunct<_CharT, _Intl>::do_thousands_sep [with _CharT = char, bool _Intl = false]
-24 std::moneypunct<_CharT, _Intl>::do_grouping [with _CharT = char, bool _Intl = false]
-28 std::moneypunct<_CharT, _Intl>::do_curr_symbol [with _CharT = char, bool _Intl = false]
-32 std::moneypunct<_CharT, _Intl>::do_positive_sign [with _CharT = char, bool _Intl = false]
-36 std::moneypunct<_CharT, _Intl>::do_negative_sign [with _CharT = char, bool _Intl = false]
-40 std::moneypunct<_CharT, _Intl>::do_frac_digits [with _CharT = char, bool _Intl = false]
-44 std::moneypunct<_CharT, _Intl>::do_pos_format [with _CharT = char, bool _Intl = false]
-48 std::moneypunct<_CharT, _Intl>::do_neg_format [with _CharT = char, bool _Intl = false]
-
-Class std::moneypunct<char, false>
- size=12 align=4
- base size=12 base align=4
-std::moneypunct<char, false> (0x31a89e40) 0
- vptr=((& std::moneypunct<char, false>::_ZTVSt10moneypunctIcLb0EE) + 8u)
- std::locale::facet (0x31e1d150) 0
- primary-for std::moneypunct<char, false> (0x31a89e40)
- std::money_base (0x31e1d188) 0 empty
-
-Vtable for std::moneypunct<wchar_t, true>
-std::moneypunct<wchar_t, true>::_ZTVSt10moneypunctIwLb1EE: 13u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt10moneypunctIwLb1EE)
-8 std::moneypunct<_CharT, _Intl>::~moneypunct [with _CharT = wchar_t, bool _Intl = true]
-12 std::moneypunct<_CharT, _Intl>::~moneypunct [with _CharT = wchar_t, bool _Intl = true]
-16 std::moneypunct<_CharT, _Intl>::do_decimal_point [with _CharT = wchar_t, bool _Intl = true]
-20 std::moneypunct<_CharT, _Intl>::do_thousands_sep [with _CharT = wchar_t, bool _Intl = true]
-24 std::moneypunct<_CharT, _Intl>::do_grouping [with _CharT = wchar_t, bool _Intl = true]
-28 std::moneypunct<_CharT, _Intl>::do_curr_symbol [with _CharT = wchar_t, bool _Intl = true]
-32 std::moneypunct<_CharT, _Intl>::do_positive_sign [with _CharT = wchar_t, bool _Intl = true]
-36 std::moneypunct<_CharT, _Intl>::do_negative_sign [with _CharT = wchar_t, bool _Intl = true]
-40 std::moneypunct<_CharT, _Intl>::do_frac_digits [with _CharT = wchar_t, bool _Intl = true]
-44 std::moneypunct<_CharT, _Intl>::do_pos_format [with _CharT = wchar_t, bool _Intl = true]
-48 std::moneypunct<_CharT, _Intl>::do_neg_format [with _CharT = wchar_t, bool _Intl = true]
-
-Class std::moneypunct<wchar_t, true>
- size=12 align=4
- base size=12 base align=4
-std::moneypunct<wchar_t, true> (0x31a89e80) 0
- vptr=((& std::moneypunct<wchar_t, true>::_ZTVSt10moneypunctIwLb1EE) + 8u)
- std::locale::facet (0x31e1d348) 0
- primary-for std::moneypunct<wchar_t, true> (0x31a89e80)
- std::money_base (0x31e1d380) 0 empty
-
-Vtable for std::moneypunct<wchar_t, false>
-std::moneypunct<wchar_t, false>::_ZTVSt10moneypunctIwLb0EE: 13u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt10moneypunctIwLb0EE)
-8 std::moneypunct<_CharT, _Intl>::~moneypunct [with _CharT = wchar_t, bool _Intl = false]
-12 std::moneypunct<_CharT, _Intl>::~moneypunct [with _CharT = wchar_t, bool _Intl = false]
-16 std::moneypunct<_CharT, _Intl>::do_decimal_point [with _CharT = wchar_t, bool _Intl = false]
-20 std::moneypunct<_CharT, _Intl>::do_thousands_sep [with _CharT = wchar_t, bool _Intl = false]
-24 std::moneypunct<_CharT, _Intl>::do_grouping [with _CharT = wchar_t, bool _Intl = false]
-28 std::moneypunct<_CharT, _Intl>::do_curr_symbol [with _CharT = wchar_t, bool _Intl = false]
-32 std::moneypunct<_CharT, _Intl>::do_positive_sign [with _CharT = wchar_t, bool _Intl = false]
-36 std::moneypunct<_CharT, _Intl>::do_negative_sign [with _CharT = wchar_t, bool _Intl = false]
-40 std::moneypunct<_CharT, _Intl>::do_frac_digits [with _CharT = wchar_t, bool _Intl = false]
-44 std::moneypunct<_CharT, _Intl>::do_pos_format [with _CharT = wchar_t, bool _Intl = false]
-48 std::moneypunct<_CharT, _Intl>::do_neg_format [with _CharT = wchar_t, bool _Intl = false]
-
-Class std::moneypunct<wchar_t, false>
- size=12 align=4
- base size=12 base align=4
-std::moneypunct<wchar_t, false> (0x31a89ec0) 0
- vptr=((& std::moneypunct<wchar_t, false>::_ZTVSt10moneypunctIwLb0EE) + 8u)
- std::locale::facet (0x31e1d540) 0
- primary-for std::moneypunct<wchar_t, false> (0x31a89ec0)
- std::money_base (0x31e1d578) 0 empty
+
+
+
+
+
+
+
Class std::messages_base
size=1 align=1
base size=0 base align=1
std::messages_base (0x31e1d770) 0 empty
-Vtable for std::messages<char>
-std::messages<char>::_ZTVSt8messagesIcE: 7u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt8messagesIcE)
-8 std::messages<_CharT>::~messages [with _CharT = char]
-12 std::messages<_CharT>::~messages [with _CharT = char]
-16 std::messages<_CharT>::do_open [with _CharT = char]
-20 std::messages<_CharT>::do_get [with _CharT = char]
-24 std::messages<_CharT>::do_close [with _CharT = char]
-
-Class std::messages<char>
- size=16 align=4
- base size=16 base align=4
-std::messages<char> (0x31e50000) 0
- vptr=((& std::messages<char>::_ZTVSt8messagesIcE) + 8u)
- std::locale::facet (0x31e1d888) 0
- primary-for std::messages<char> (0x31e50000)
- std::messages_base (0x31e1d8c0) 0 empty
-
-Vtable for std::messages<wchar_t>
-std::messages<wchar_t>::_ZTVSt8messagesIwE: 7u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt8messagesIwE)
-8 std::messages<_CharT>::~messages [with _CharT = wchar_t]
-12 std::messages<_CharT>::~messages [with _CharT = wchar_t]
-16 std::messages<_CharT>::do_open [with _CharT = wchar_t]
-20 std::messages<_CharT>::do_get [with _CharT = wchar_t]
-24 std::messages<_CharT>::do_close [with _CharT = wchar_t]
-
-Class std::messages<wchar_t>
- size=16 align=4
- base size=16 base align=4
-std::messages<wchar_t> (0x31e50040) 0
- vptr=((& std::messages<wchar_t>::_ZTVSt8messagesIwE) + 8u)
- std::locale::facet (0x31e1da48) 0
- primary-for std::messages<wchar_t> (0x31e50040)
- std::messages_base (0x31e1da80) 0 empty
-
-Vtable for std::basic_ios<char, std::char_traits<char> >
-std::basic_ios<char, std::char_traits<char> >::_ZTVSt9basic_iosIcSt11char_traitsIcEE: 4u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt9basic_iosIcSt11char_traitsIcEE)
-8 std::basic_ios<_CharT, _Traits>::~basic_ios [with _CharT = char, _Traits = std::char_traits<char>]
-12 std::basic_ios<_CharT, _Traits>::~basic_ios [with _CharT = char, _Traits = std::char_traits<char>]
-
-Class std::basic_ios<char, std::char_traits<char> >
- size=136 align=4
- base size=136 base align=4
-std::basic_ios<char, std::char_traits<char> > (0x31e50100) 0
- vptr=((& std::basic_ios<char, std::char_traits<char> >::_ZTVSt9basic_iosIcSt11char_traitsIcEE) + 8u)
- std::ios_base (0x31e1dce8) 0
- primary-for std::basic_ios<char, std::char_traits<char> > (0x31e50100)
-
-Vtable for std::basic_ios<wchar_t, std::char_traits<wchar_t> >
-std::basic_ios<wchar_t, std::char_traits<wchar_t> >::_ZTVSt9basic_iosIwSt11char_traitsIwEE: 4u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt9basic_iosIwSt11char_traitsIwEE)
-8 std::basic_ios<_CharT, _Traits>::~basic_ios [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-12 std::basic_ios<_CharT, _Traits>::~basic_ios [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-
-Class std::basic_ios<wchar_t, std::char_traits<wchar_t> >
- size=140 align=4
- base size=140 base align=4
-std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0x31e50140) 0
- vptr=((& std::basic_ios<wchar_t, std::char_traits<wchar_t> >::_ZTVSt9basic_iosIwSt11char_traitsIwEE) + 8u)
- std::ios_base (0x31e1dea8) 0
- primary-for std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0x31e50140)
+
+
+
+
+
+
+
Vtable for std::type_info
std::type_info::_ZTVSt9type_info: 8u entries
@@ -1759,774 +659,95 @@ std::bad_typeid (0x31e50200) 0 nearly-empty
std::exception (0x31eb82d8) 0 nearly-empty
primary-for std::bad_typeid (0x31e50200)
-Class std::__to_unsigned_type<long int>
- size=1 align=1
- base size=0 base align=1
-std::__to_unsigned_type<long int> (0x31eb8620) 0 empty
-Class std::__to_unsigned_type<long long int>
- size=1 align=1
- base size=0 base align=1
-std::__to_unsigned_type<long long int> (0x31eb8690) 0 empty
-Vtable for std::moneypunct_byname<char, false>
-std::moneypunct_byname<char, false>::_ZTVSt17moneypunct_bynameIcLb0EE: 13u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt17moneypunct_bynameIcLb0EE)
-8 std::moneypunct_byname<_CharT, _Intl>::~moneypunct_byname [with _CharT = char, bool _Intl = false]
-12 std::moneypunct_byname<_CharT, _Intl>::~moneypunct_byname [with _CharT = char, bool _Intl = false]
-16 std::moneypunct<_CharT, _Intl>::do_decimal_point [with _CharT = char, bool _Intl = false]
-20 std::moneypunct<_CharT, _Intl>::do_thousands_sep [with _CharT = char, bool _Intl = false]
-24 std::moneypunct<_CharT, _Intl>::do_grouping [with _CharT = char, bool _Intl = false]
-28 std::moneypunct<_CharT, _Intl>::do_curr_symbol [with _CharT = char, bool _Intl = false]
-32 std::moneypunct<_CharT, _Intl>::do_positive_sign [with _CharT = char, bool _Intl = false]
-36 std::moneypunct<_CharT, _Intl>::do_negative_sign [with _CharT = char, bool _Intl = false]
-40 std::moneypunct<_CharT, _Intl>::do_frac_digits [with _CharT = char, bool _Intl = false]
-44 std::moneypunct<_CharT, _Intl>::do_pos_format [with _CharT = char, bool _Intl = false]
-48 std::moneypunct<_CharT, _Intl>::do_neg_format [with _CharT = char, bool _Intl = false]
-
-Class std::moneypunct_byname<char, false>
- size=12 align=4
- base size=12 base align=4
-std::moneypunct_byname<char, false> (0x31e50240) 0
- vptr=((& std::moneypunct_byname<char, false>::_ZTVSt17moneypunct_bynameIcLb0EE) + 8u)
- std::moneypunct<char, false> (0x31e50280) 0
- primary-for std::moneypunct_byname<char, false> (0x31e50240)
- std::locale::facet (0x31eb8850) 0
- primary-for std::moneypunct<char, false> (0x31e50280)
- std::money_base (0x31eb8888) 0 empty
-
-Vtable for std::moneypunct_byname<char, true>
-std::moneypunct_byname<char, true>::_ZTVSt17moneypunct_bynameIcLb1EE: 13u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt17moneypunct_bynameIcLb1EE)
-8 std::moneypunct_byname<_CharT, _Intl>::~moneypunct_byname [with _CharT = char, bool _Intl = true]
-12 std::moneypunct_byname<_CharT, _Intl>::~moneypunct_byname [with _CharT = char, bool _Intl = true]
-16 std::moneypunct<_CharT, _Intl>::do_decimal_point [with _CharT = char, bool _Intl = true]
-20 std::moneypunct<_CharT, _Intl>::do_thousands_sep [with _CharT = char, bool _Intl = true]
-24 std::moneypunct<_CharT, _Intl>::do_grouping [with _CharT = char, bool _Intl = true]
-28 std::moneypunct<_CharT, _Intl>::do_curr_symbol [with _CharT = char, bool _Intl = true]
-32 std::moneypunct<_CharT, _Intl>::do_positive_sign [with _CharT = char, bool _Intl = true]
-36 std::moneypunct<_CharT, _Intl>::do_negative_sign [with _CharT = char, bool _Intl = true]
-40 std::moneypunct<_CharT, _Intl>::do_frac_digits [with _CharT = char, bool _Intl = true]
-44 std::moneypunct<_CharT, _Intl>::do_pos_format [with _CharT = char, bool _Intl = true]
-48 std::moneypunct<_CharT, _Intl>::do_neg_format [with _CharT = char, bool _Intl = true]
-
-Class std::moneypunct_byname<char, true>
- size=12 align=4
- base size=12 base align=4
-std::moneypunct_byname<char, true> (0x31e502c0) 0
- vptr=((& std::moneypunct_byname<char, true>::_ZTVSt17moneypunct_bynameIcLb1EE) + 8u)
- std::moneypunct<char, true> (0x31e50300) 0
- primary-for std::moneypunct_byname<char, true> (0x31e502c0)
- std::locale::facet (0x31eb8a10) 0
- primary-for std::moneypunct<char, true> (0x31e50300)
- std::money_base (0x31eb8a48) 0 empty
-
-Vtable for std::money_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >
-std::money_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >::_ZTVSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE: 6u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE)
-8 std::money_get<_CharT, _InIter>::~money_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-12 std::money_get<_CharT, _InIter>::~money_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-16 std::money_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-20 std::money_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-Class std::money_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >
- size=8 align=4
- base size=8 base align=4
-std::money_get<char, std::istreambuf_iterator<char, std::char_traits<char> > > (0x31e50340) 0
- vptr=((& std::money_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >::_ZTVSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE) + 8u)
- std::locale::facet (0x31eb8bd0) 0
- primary-for std::money_get<char, std::istreambuf_iterator<char, std::char_traits<char> > > (0x31e50340)
-Vtable for std::money_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >
-std::money_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::_ZTVSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE: 6u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE)
-8 std::money_put<_CharT, _OutIter>::~money_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-12 std::money_put<_CharT, _OutIter>::~money_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-16 std::money_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-20 std::money_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-Class std::money_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >
- size=8 align=4
- base size=8 base align=4
-std::money_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > > (0x31e50380) 0
- vptr=((& std::money_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::_ZTVSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE) + 8u)
- std::locale::facet (0x31eb8d58) 0
- primary-for std::money_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > > (0x31e50380)
-Vtable for std::numpunct_byname<char>
-std::numpunct_byname<char>::_ZTVSt15numpunct_bynameIcE: 9u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt15numpunct_bynameIcE)
-8 std::numpunct_byname<_CharT>::~numpunct_byname [with _CharT = char]
-12 std::numpunct_byname<_CharT>::~numpunct_byname [with _CharT = char]
-16 std::numpunct<_CharT>::do_decimal_point [with _CharT = char]
-20 std::numpunct<_CharT>::do_thousands_sep [with _CharT = char]
-24 std::numpunct<_CharT>::do_grouping [with _CharT = char]
-28 std::numpunct<_CharT>::do_truename [with _CharT = char]
-32 std::numpunct<_CharT>::do_falsename [with _CharT = char]
-
-Class std::numpunct_byname<char>
- size=12 align=4
- base size=12 base align=4
-std::numpunct_byname<char> (0x31e503c0) 0
- vptr=((& std::numpunct_byname<char>::_ZTVSt15numpunct_bynameIcE) + 8u)
- std::numpunct<char> (0x31e50400) 0
- primary-for std::numpunct_byname<char> (0x31e503c0)
- std::locale::facet (0x31eb8ee0) 0
- primary-for std::numpunct<char> (0x31e50400)
-
-Vtable for std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >
-std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >::_ZTVSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE: 15u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE)
-8 std::num_get<_CharT, _InIter>::~num_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-12 std::num_get<_CharT, _InIter>::~num_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-16 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-20 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-24 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-28 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-32 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-36 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-40 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-44 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-48 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-52 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-56 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-
-Class std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >
- size=8 align=4
- base size=8 base align=4
-std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > > (0x31e50440) 0
- vptr=((& std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >::_ZTVSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE) + 8u)
- std::locale::facet (0x31eb81f8) 0
- primary-for std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > > (0x31e50440)
-Vtable for std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >
-std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::_ZTVSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE: 12u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE)
-8 std::num_put<_CharT, _OutIter>::~num_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-12 std::num_put<_CharT, _OutIter>::~num_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-16 std::num_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-20 std::num_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-24 std::num_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-28 std::num_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-32 std::num_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-36 std::num_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-40 std::num_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-44 std::num_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-
-Class std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >
- size=8 align=4
- base size=8 base align=4
-std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > > (0x31e50480) 0
- vptr=((& std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::_ZTVSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE) + 8u)
- std::locale::facet (0x31eb8e00) 0
- primary-for std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > > (0x31e50480)
-Vtable for std::time_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >
-std::time_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::_ZTVSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE: 5u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE)
-8 std::time_put<_CharT, _OutIter>::~time_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-12 std::time_put<_CharT, _OutIter>::~time_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-16 std::time_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-Class std::time_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >
- size=8 align=4
- base size=8 base align=4
-std::time_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > > (0x31e504c0) 0
- vptr=((& std::time_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::_ZTVSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE) + 8u)
- std::locale::facet (0x31f97118) 0
- primary-for std::time_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > > (0x31e504c0)
-Vtable for std::time_put_byname<char, std::ostreambuf_iterator<char, std::char_traits<char> > >
-std::time_put_byname<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::_ZTVSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE: 5u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE)
-8 std::time_put_byname<_CharT, _OutIter>::~time_put_byname [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-12 std::time_put_byname<_CharT, _OutIter>::~time_put_byname [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-16 std::time_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-Class std::time_put_byname<char, std::ostreambuf_iterator<char, std::char_traits<char> > >
- size=8 align=4
- base size=8 base align=4
-std::time_put_byname<char, std::ostreambuf_iterator<char, std::char_traits<char> > > (0x31e50500) 0
- vptr=((& std::time_put_byname<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::_ZTVSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE) + 8u)
- std::time_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > > (0x31e50540) 0
- primary-for std::time_put_byname<char, std::ostreambuf_iterator<char, std::char_traits<char> > > (0x31e50500)
- std::locale::facet (0x31f972a0) 0
- primary-for std::time_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > > (0x31e50540)
-
-Vtable for std::time_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >
-std::time_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >::_ZTVSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE: 10u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE)
-8 std::time_get<_CharT, _InIter>::~time_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-12 std::time_get<_CharT, _InIter>::~time_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-16 std::time_get<_CharT, _InIter>::do_date_order [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-20 std::time_get<_CharT, _InIter>::do_get_time [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-24 std::time_get<_CharT, _InIter>::do_get_date [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-28 std::time_get<_CharT, _InIter>::do_get_weekday [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-32 std::time_get<_CharT, _InIter>::do_get_monthname [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-36 std::time_get<_CharT, _InIter>::do_get_year [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-
-Class std::time_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >
- size=8 align=4
- base size=8 base align=4
-std::time_get<char, std::istreambuf_iterator<char, std::char_traits<char> > > (0x31e50580) 0
- vptr=((& std::time_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >::_ZTVSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE) + 8u)
- std::locale::facet (0x31f97428) 0
- primary-for std::time_get<char, std::istreambuf_iterator<char, std::char_traits<char> > > (0x31e50580)
- std::time_base (0x31f97460) 0 empty
-
-Vtable for std::time_get_byname<char, std::istreambuf_iterator<char, std::char_traits<char> > >
-std::time_get_byname<char, std::istreambuf_iterator<char, std::char_traits<char> > >::_ZTVSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE: 10u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE)
-8 std::time_get_byname<_CharT, _InIter>::~time_get_byname [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-12 std::time_get_byname<_CharT, _InIter>::~time_get_byname [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-16 std::time_get<_CharT, _InIter>::do_date_order [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-20 std::time_get<_CharT, _InIter>::do_get_time [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-24 std::time_get<_CharT, _InIter>::do_get_date [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-28 std::time_get<_CharT, _InIter>::do_get_weekday [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-32 std::time_get<_CharT, _InIter>::do_get_monthname [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-36 std::time_get<_CharT, _InIter>::do_get_year [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-
-Class std::time_get_byname<char, std::istreambuf_iterator<char, std::char_traits<char> > >
- size=8 align=4
- base size=8 base align=4
-std::time_get_byname<char, std::istreambuf_iterator<char, std::char_traits<char> > > (0x31e505c0) 0
- vptr=((& std::time_get_byname<char, std::istreambuf_iterator<char, std::char_traits<char> > >::_ZTVSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE) + 8u)
- std::time_get<char, std::istreambuf_iterator<char, std::char_traits<char> > > (0x31e50600) 0
- primary-for std::time_get_byname<char, std::istreambuf_iterator<char, std::char_traits<char> > > (0x31e505c0)
- std::locale::facet (0x31f975e8) 0
- primary-for std::time_get<char, std::istreambuf_iterator<char, std::char_traits<char> > > (0x31e50600)
- std::time_base (0x31f97620) 0 empty
-
-Vtable for std::messages_byname<char>
-std::messages_byname<char>::_ZTVSt15messages_bynameIcE: 7u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt15messages_bynameIcE)
-8 std::messages_byname<_CharT>::~messages_byname [with _CharT = char]
-12 std::messages_byname<_CharT>::~messages_byname [with _CharT = char]
-16 std::messages<_CharT>::do_open [with _CharT = char]
-20 std::messages<_CharT>::do_get [with _CharT = char]
-24 std::messages<_CharT>::do_close [with _CharT = char]
-
-Class std::messages_byname<char>
- size=16 align=4
- base size=16 base align=4
-std::messages_byname<char> (0x31e50640) 0
- vptr=((& std::messages_byname<char>::_ZTVSt15messages_bynameIcE) + 8u)
- std::messages<char> (0x31e50680) 0
- primary-for std::messages_byname<char> (0x31e50640)
- std::locale::facet (0x31f977a8) 0
- primary-for std::messages<char> (0x31e50680)
- std::messages_base (0x31f977e0) 0 empty
-
-Vtable for std::codecvt_byname<char, char, mbstate_t>
-std::codecvt_byname<char, char, mbstate_t>::_ZTVSt14codecvt_bynameIcc11__mbstate_tE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt14codecvt_bynameIcc11__mbstate_tE)
-8 std::codecvt_byname<_InternT, _ExternT, _StateT>::~codecvt_byname [with _InternT = char, _ExternT = char, _StateT = mbstate_t]
-12 std::codecvt_byname<_InternT, _ExternT, _StateT>::~codecvt_byname [with _InternT = char, _ExternT = char, _StateT = mbstate_t]
-16 std::codecvt<char, char, mbstate_t>::do_out
-20 std::codecvt<char, char, mbstate_t>::do_unshift
-24 std::codecvt<char, char, mbstate_t>::do_in
-28 std::codecvt<char, char, mbstate_t>::do_encoding
-32 std::codecvt<char, char, mbstate_t>::do_always_noconv
-36 std::codecvt<char, char, mbstate_t>::do_length
-40 std::codecvt<char, char, mbstate_t>::do_max_length
-
-Class std::codecvt_byname<char, char, mbstate_t>
- size=12 align=4
- base size=12 base align=4
-std::codecvt_byname<char, char, mbstate_t> (0x31e506c0) 0
- vptr=((& std::codecvt_byname<char, char, mbstate_t>::_ZTVSt14codecvt_bynameIcc11__mbstate_tE) + 8u)
- std::codecvt<char, char, mbstate_t> (0x31e50700) 0
- primary-for std::codecvt_byname<char, char, mbstate_t> (0x31e506c0)
- std::__codecvt_abstract_base<char, char, mbstate_t> (0x31e50740) 0
- primary-for std::codecvt<char, char, mbstate_t> (0x31e50700)
- std::locale::facet (0x31f97968) 0
- primary-for std::__codecvt_abstract_base<char, char, mbstate_t> (0x31e50740)
- std::codecvt_base (0x31f979a0) 0 empty
-
-Vtable for std::collate_byname<char>
-std::collate_byname<char>::_ZTVSt14collate_bynameIcE: 7u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt14collate_bynameIcE)
-8 std::collate_byname<_CharT>::~collate_byname [with _CharT = char]
-12 std::collate_byname<_CharT>::~collate_byname [with _CharT = char]
-16 std::collate<_CharT>::do_compare [with _CharT = char]
-20 std::collate<_CharT>::do_transform [with _CharT = char]
-24 std::collate<_CharT>::do_hash [with _CharT = char]
-
-Class std::collate_byname<char>
- size=12 align=4
- base size=12 base align=4
-std::collate_byname<char> (0x31e50780) 0
- vptr=((& std::collate_byname<char>::_ZTVSt14collate_bynameIcE) + 8u)
- std::collate<char> (0x31e507c0) 0
- primary-for std::collate_byname<char> (0x31e50780)
- std::locale::facet (0x31f97b28) 0
- primary-for std::collate<char> (0x31e507c0)
-
-Vtable for std::moneypunct_byname<wchar_t, false>
-std::moneypunct_byname<wchar_t, false>::_ZTVSt17moneypunct_bynameIwLb0EE: 13u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt17moneypunct_bynameIwLb0EE)
-8 std::moneypunct_byname<_CharT, _Intl>::~moneypunct_byname [with _CharT = wchar_t, bool _Intl = false]
-12 std::moneypunct_byname<_CharT, _Intl>::~moneypunct_byname [with _CharT = wchar_t, bool _Intl = false]
-16 std::moneypunct<_CharT, _Intl>::do_decimal_point [with _CharT = wchar_t, bool _Intl = false]
-20 std::moneypunct<_CharT, _Intl>::do_thousands_sep [with _CharT = wchar_t, bool _Intl = false]
-24 std::moneypunct<_CharT, _Intl>::do_grouping [with _CharT = wchar_t, bool _Intl = false]
-28 std::moneypunct<_CharT, _Intl>::do_curr_symbol [with _CharT = wchar_t, bool _Intl = false]
-32 std::moneypunct<_CharT, _Intl>::do_positive_sign [with _CharT = wchar_t, bool _Intl = false]
-36 std::moneypunct<_CharT, _Intl>::do_negative_sign [with _CharT = wchar_t, bool _Intl = false]
-40 std::moneypunct<_CharT, _Intl>::do_frac_digits [with _CharT = wchar_t, bool _Intl = false]
-44 std::moneypunct<_CharT, _Intl>::do_pos_format [with _CharT = wchar_t, bool _Intl = false]
-48 std::moneypunct<_CharT, _Intl>::do_neg_format [with _CharT = wchar_t, bool _Intl = false]
-
-Class std::moneypunct_byname<wchar_t, false>
- size=12 align=4
- base size=12 base align=4
-std::moneypunct_byname<wchar_t, false> (0x31e50800) 0
- vptr=((& std::moneypunct_byname<wchar_t, false>::_ZTVSt17moneypunct_bynameIwLb0EE) + 8u)
- std::moneypunct<wchar_t, false> (0x31e50840) 0
- primary-for std::moneypunct_byname<wchar_t, false> (0x31e50800)
- std::locale::facet (0x31fbc0a8) 0
- primary-for std::moneypunct<wchar_t, false> (0x31e50840)
- std::money_base (0x31fbc0e0) 0 empty
-
-Vtable for std::moneypunct_byname<wchar_t, true>
-std::moneypunct_byname<wchar_t, true>::_ZTVSt17moneypunct_bynameIwLb1EE: 13u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt17moneypunct_bynameIwLb1EE)
-8 std::moneypunct_byname<_CharT, _Intl>::~moneypunct_byname [with _CharT = wchar_t, bool _Intl = true]
-12 std::moneypunct_byname<_CharT, _Intl>::~moneypunct_byname [with _CharT = wchar_t, bool _Intl = true]
-16 std::moneypunct<_CharT, _Intl>::do_decimal_point [with _CharT = wchar_t, bool _Intl = true]
-20 std::moneypunct<_CharT, _Intl>::do_thousands_sep [with _CharT = wchar_t, bool _Intl = true]
-24 std::moneypunct<_CharT, _Intl>::do_grouping [with _CharT = wchar_t, bool _Intl = true]
-28 std::moneypunct<_CharT, _Intl>::do_curr_symbol [with _CharT = wchar_t, bool _Intl = true]
-32 std::moneypunct<_CharT, _Intl>::do_positive_sign [with _CharT = wchar_t, bool _Intl = true]
-36 std::moneypunct<_CharT, _Intl>::do_negative_sign [with _CharT = wchar_t, bool _Intl = true]
-40 std::moneypunct<_CharT, _Intl>::do_frac_digits [with _CharT = wchar_t, bool _Intl = true]
-44 std::moneypunct<_CharT, _Intl>::do_pos_format [with _CharT = wchar_t, bool _Intl = true]
-48 std::moneypunct<_CharT, _Intl>::do_neg_format [with _CharT = wchar_t, bool _Intl = true]
-
-Class std::moneypunct_byname<wchar_t, true>
- size=12 align=4
- base size=12 base align=4
-std::moneypunct_byname<wchar_t, true> (0x31e50880) 0
- vptr=((& std::moneypunct_byname<wchar_t, true>::_ZTVSt17moneypunct_bynameIwLb1EE) + 8u)
- std::moneypunct<wchar_t, true> (0x31e508c0) 0
- primary-for std::moneypunct_byname<wchar_t, true> (0x31e50880)
- std::locale::facet (0x31fbc268) 0
- primary-for std::moneypunct<wchar_t, true> (0x31e508c0)
- std::money_base (0x31fbc2a0) 0 empty
-
-Vtable for std::money_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >
-std::money_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::_ZTVSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE: 6u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE)
-8 std::money_get<_CharT, _InIter>::~money_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-12 std::money_get<_CharT, _InIter>::~money_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-16 std::money_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-20 std::money_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-Class std::money_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >
- size=8 align=4
- base size=8 base align=4
-std::money_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > > (0x31e50900) 0
- vptr=((& std::money_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::_ZTVSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE) + 8u)
- std::locale::facet (0x31fbc428) 0
- primary-for std::money_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > > (0x31e50900)
-Vtable for std::money_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >
-std::money_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::_ZTVSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE: 6u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE)
-8 std::money_put<_CharT, _OutIter>::~money_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-12 std::money_put<_CharT, _OutIter>::~money_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-16 std::money_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-20 std::money_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-Class std::money_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >
- size=8 align=4
- base size=8 base align=4
-std::money_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > > (0x31e50940) 0
- vptr=((& std::money_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::_ZTVSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE) + 8u)
- std::locale::facet (0x31fbc5b0) 0
- primary-for std::money_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > > (0x31e50940)
-Vtable for std::numpunct_byname<wchar_t>
-std::numpunct_byname<wchar_t>::_ZTVSt15numpunct_bynameIwE: 9u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt15numpunct_bynameIwE)
-8 std::numpunct_byname<_CharT>::~numpunct_byname [with _CharT = wchar_t]
-12 std::numpunct_byname<_CharT>::~numpunct_byname [with _CharT = wchar_t]
-16 std::numpunct<_CharT>::do_decimal_point [with _CharT = wchar_t]
-20 std::numpunct<_CharT>::do_thousands_sep [with _CharT = wchar_t]
-24 std::numpunct<_CharT>::do_grouping [with _CharT = wchar_t]
-28 std::numpunct<_CharT>::do_truename [with _CharT = wchar_t]
-32 std::numpunct<_CharT>::do_falsename [with _CharT = wchar_t]
-
-Class std::numpunct_byname<wchar_t>
- size=12 align=4
- base size=12 base align=4
-std::numpunct_byname<wchar_t> (0x31e50980) 0
- vptr=((& std::numpunct_byname<wchar_t>::_ZTVSt15numpunct_bynameIwE) + 8u)
- std::numpunct<wchar_t> (0x31e509c0) 0
- primary-for std::numpunct_byname<wchar_t> (0x31e50980)
- std::locale::facet (0x31fbc738) 0
- primary-for std::numpunct<wchar_t> (0x31e509c0)
-
-Vtable for std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >
-std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::_ZTVSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE: 15u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE)
-8 std::num_get<_CharT, _InIter>::~num_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-12 std::num_get<_CharT, _InIter>::~num_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-16 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-20 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-24 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-28 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-32 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-36 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-40 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-44 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-48 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-52 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-56 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-
-Class std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >
- size=8 align=4
- base size=8 base align=4
-std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > > (0x31e50a00) 0
- vptr=((& std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::_ZTVSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE) + 8u)
- std::locale::facet (0x31fbc888) 0
- primary-for std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > > (0x31e50a00)
-Vtable for std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >
-std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::_ZTVSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE: 12u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE)
-8 std::num_put<_CharT, _OutIter>::~num_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-12 std::num_put<_CharT, _OutIter>::~num_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-16 std::num_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-20 std::num_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-24 std::num_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-28 std::num_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-32 std::num_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-36 std::num_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-40 std::num_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-44 std::num_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-
-Class std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >
- size=8 align=4
- base size=8 base align=4
-std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > > (0x31e50a40) 0
- vptr=((& std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::_ZTVSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE) + 8u)
- std::locale::facet (0x31fbc9d8) 0
- primary-for std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > > (0x31e50a40)
-Vtable for std::time_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >
-std::time_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::_ZTVSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE: 5u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE)
-8 std::time_put<_CharT, _OutIter>::~time_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-12 std::time_put<_CharT, _OutIter>::~time_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-16 std::time_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-Class std::time_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >
- size=8 align=4
- base size=8 base align=4
-std::time_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > > (0x31e50a80) 0
- vptr=((& std::time_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::_ZTVSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE) + 8u)
- std::locale::facet (0x31fbcb60) 0
- primary-for std::time_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > > (0x31e50a80)
-Vtable for std::time_put_byname<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >
-std::time_put_byname<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::_ZTVSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE: 5u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE)
-8 std::time_put_byname<_CharT, _OutIter>::~time_put_byname [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-12 std::time_put_byname<_CharT, _OutIter>::~time_put_byname [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-16 std::time_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-Class std::time_put_byname<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >
- size=8 align=4
- base size=8 base align=4
-std::time_put_byname<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > > (0x31e50ac0) 0
- vptr=((& std::time_put_byname<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::_ZTVSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE) + 8u)
- std::time_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > > (0x31e50b00) 0
- primary-for std::time_put_byname<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > > (0x31e50ac0)
- std::locale::facet (0x31fbcce8) 0
- primary-for std::time_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > > (0x31e50b00)
-
-Vtable for std::time_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >
-std::time_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::_ZTVSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE: 10u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE)
-8 std::time_get<_CharT, _InIter>::~time_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-12 std::time_get<_CharT, _InIter>::~time_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-16 std::time_get<_CharT, _InIter>::do_date_order [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-20 std::time_get<_CharT, _InIter>::do_get_time [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-24 std::time_get<_CharT, _InIter>::do_get_date [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-28 std::time_get<_CharT, _InIter>::do_get_weekday [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-32 std::time_get<_CharT, _InIter>::do_get_monthname [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-36 std::time_get<_CharT, _InIter>::do_get_year [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-
-Class std::time_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >
- size=8 align=4
- base size=8 base align=4
-std::time_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > > (0x31e50b40) 0
- vptr=((& std::time_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::_ZTVSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE) + 8u)
- std::locale::facet (0x31fbce70) 0
- primary-for std::time_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > > (0x31e50b40)
- std::time_base (0x31fbcea8) 0 empty
-
-Vtable for std::time_get_byname<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >
-std::time_get_byname<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::_ZTVSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE: 10u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE)
-8 std::time_get_byname<_CharT, _InIter>::~time_get_byname [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-12 std::time_get_byname<_CharT, _InIter>::~time_get_byname [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-16 std::time_get<_CharT, _InIter>::do_date_order [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-20 std::time_get<_CharT, _InIter>::do_get_time [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-24 std::time_get<_CharT, _InIter>::do_get_date [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-28 std::time_get<_CharT, _InIter>::do_get_weekday [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-32 std::time_get<_CharT, _InIter>::do_get_monthname [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-36 std::time_get<_CharT, _InIter>::do_get_year [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-
-Class std::time_get_byname<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >
- size=8 align=4
- base size=8 base align=4
-std::time_get_byname<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > > (0x31e50b80) 0
- vptr=((& std::time_get_byname<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::_ZTVSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE) + 8u)
- std::time_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > > (0x31e50bc0) 0
- primary-for std::time_get_byname<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > > (0x31e50b80)
- std::locale::facet (0x31fbc348) 0
- primary-for std::time_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > > (0x31e50bc0)
- std::time_base (0x31fbc4d0) 0 empty
-
-Vtable for std::messages_byname<wchar_t>
-std::messages_byname<wchar_t>::_ZTVSt15messages_bynameIwE: 7u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt15messages_bynameIwE)
-8 std::messages_byname<_CharT>::~messages_byname [with _CharT = wchar_t]
-12 std::messages_byname<_CharT>::~messages_byname [with _CharT = wchar_t]
-16 std::messages<_CharT>::do_open [with _CharT = wchar_t]
-20 std::messages<_CharT>::do_get [with _CharT = wchar_t]
-24 std::messages<_CharT>::do_close [with _CharT = wchar_t]
-
-Class std::messages_byname<wchar_t>
- size=16 align=4
- base size=16 base align=4
-std::messages_byname<wchar_t> (0x31e50c00) 0
- vptr=((& std::messages_byname<wchar_t>::_ZTVSt15messages_bynameIwE) + 8u)
- std::messages<wchar_t> (0x31e50c40) 0
- primary-for std::messages_byname<wchar_t> (0x31e50c00)
- std::locale::facet (0x31fbcd90) 0
- primary-for std::messages<wchar_t> (0x31e50c40)
- std::messages_base (0x31fbcf50) 0 empty
-
-Vtable for std::codecvt_byname<wchar_t, char, mbstate_t>
-std::codecvt_byname<wchar_t, char, mbstate_t>::_ZTVSt14codecvt_bynameIwc11__mbstate_tE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt14codecvt_bynameIwc11__mbstate_tE)
-8 std::codecvt_byname<_InternT, _ExternT, _StateT>::~codecvt_byname [with _InternT = wchar_t, _ExternT = char, _StateT = mbstate_t]
-12 std::codecvt_byname<_InternT, _ExternT, _StateT>::~codecvt_byname [with _InternT = wchar_t, _ExternT = char, _StateT = mbstate_t]
-16 std::codecvt<wchar_t, char, mbstate_t>::do_out
-20 std::codecvt<wchar_t, char, mbstate_t>::do_unshift
-24 std::codecvt<wchar_t, char, mbstate_t>::do_in
-28 std::codecvt<wchar_t, char, mbstate_t>::do_encoding
-32 std::codecvt<wchar_t, char, mbstate_t>::do_always_noconv
-36 std::codecvt<wchar_t, char, mbstate_t>::do_length
-40 std::codecvt<wchar_t, char, mbstate_t>::do_max_length
-
-Class std::codecvt_byname<wchar_t, char, mbstate_t>
- size=12 align=4
- base size=12 base align=4
-std::codecvt_byname<wchar_t, char, mbstate_t> (0x31e50c80) 0
- vptr=((& std::codecvt_byname<wchar_t, char, mbstate_t>::_ZTVSt14codecvt_bynameIwc11__mbstate_tE) + 8u)
- std::codecvt<wchar_t, char, mbstate_t> (0x31e50cc0) 0
- primary-for std::codecvt_byname<wchar_t, char, mbstate_t> (0x31e50c80)
- std::__codecvt_abstract_base<wchar_t, char, mbstate_t> (0x31e50d00) 0
- primary-for std::codecvt<wchar_t, char, mbstate_t> (0x31e50cc0)
- std::locale::facet (0x31ff7150) 0
- primary-for std::__codecvt_abstract_base<wchar_t, char, mbstate_t> (0x31e50d00)
- std::codecvt_base (0x31ff7188) 0 empty
-
-Vtable for std::collate_byname<wchar_t>
-std::collate_byname<wchar_t>::_ZTVSt14collate_bynameIwE: 7u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt14collate_bynameIwE)
-8 std::collate_byname<_CharT>::~collate_byname [with _CharT = wchar_t]
-12 std::collate_byname<_CharT>::~collate_byname [with _CharT = wchar_t]
-16 std::collate<_CharT>::do_compare [with _CharT = wchar_t]
-20 std::collate<_CharT>::do_transform [with _CharT = wchar_t]
-24 std::collate<_CharT>::do_hash [with _CharT = wchar_t]
-
-Class std::collate_byname<wchar_t>
- size=12 align=4
- base size=12 base align=4
-std::collate_byname<wchar_t> (0x31e50d40) 0
- vptr=((& std::collate_byname<wchar_t>::_ZTVSt14collate_bynameIwE) + 8u)
- std::collate<wchar_t> (0x31e50d80) 0
- primary-for std::collate_byname<wchar_t> (0x31e50d40)
- std::locale::facet (0x31ff7310) 0
- primary-for std::collate<wchar_t> (0x31e50d80)
-
-Vtable for std::basic_ostream<char, std::char_traits<char> >
-std::basic_ostream<char, std::char_traits<char> >::_ZTVSo: 10u entries
-0 4u
-4 (int (*)(...))0
-8 (int (*)(...))(& _ZTISo)
-12 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = char, _Traits = std::char_traits<char>]
-16 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = char, _Traits = std::char_traits<char>]
-20 4294967292u
-24 (int (*)(...))-0x00000000000000004
-28 (int (*)(...))(& _ZTISo)
-32 std::basic_ostream<char, std::char_traits<char> >::_ZTv0_n12_NSoD1Ev
-36 std::basic_ostream<char, std::char_traits<char> >::_ZTv0_n12_NSoD0Ev
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
VTT for std::basic_ostream<char, std::char_traits<char> >
std::basic_ostream<char, std::char_traits<char> >::_ZTTSo: 2u entries
0 ((& std::basic_ostream<char, std::char_traits<char> >::_ZTVSo) + 12u)
4 ((& std::basic_ostream<char, std::char_traits<char> >::_ZTVSo) + 32u)
-Class std::basic_ostream<char, std::char_traits<char> >
- size=140 align=4
- base size=4 base align=4
-std::basic_ostream<char, std::char_traits<char> > (0x31e50dc0) 0 nearly-empty
- vptridx=0u vptr=((& std::basic_ostream<char, std::char_traits<char> >::_ZTVSo) + 12u)
- std::basic_ios<char, std::char_traits<char> > (0x31e50e00) 4 virtual
- vptridx=4u vbaseoffset=-0x0000000000000000c vptr=((& std::basic_ostream<char, std::char_traits<char> >::_ZTVSo) + 32u)
- std::ios_base (0x31ff7a48) 4
- primary-for std::basic_ios<char, std::char_traits<char> > (0x31e50e00)
-
-Class std::basic_ostream<char, std::char_traits<char> >::sentry
- size=8 align=4
- base size=8 base align=4
-std::basic_ostream<char, std::char_traits<char> >::sentry (0x31ff7f50) 0
-Vtable for std::basic_ostream<wchar_t, std::char_traits<wchar_t> >
-std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE: 10u entries
-0 4u
-4 (int (*)(...))0
-8 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE)
-12 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-16 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-20 4294967292u
-24 (int (*)(...))-0x00000000000000004
-28 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE)
-32 std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n12_NSt13basic_ostreamIwSt11char_traitsIwEED1Ev
-36 std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n12_NSt13basic_ostreamIwSt11char_traitsIwEED0Ev
+
VTT for std::basic_ostream<wchar_t, std::char_traits<wchar_t> >
std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTTSt13basic_ostreamIwSt11char_traitsIwEE: 2u entries
0 ((& std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 12u)
4 ((& std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 32u)
-Class std::basic_ostream<wchar_t, std::char_traits<wchar_t> >
- size=144 align=4
- base size=4 base align=4
-std::basic_ostream<wchar_t, std::char_traits<wchar_t> > (0x31e50e80) 0 nearly-empty
- vptridx=0u vptr=((& std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 12u)
- std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0x31e50ec0) 4 virtual
- vptridx=4u vbaseoffset=-0x0000000000000000c vptr=((& std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 32u)
- std::ios_base (0x31ff7d58) 4
- primary-for std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0x31e50ec0)
-
-Class std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::sentry
- size=8 align=4
- base size=8 base align=4
-std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::sentry (0x32050380) 0
-Vtable for std::basic_istream<char, std::char_traits<char> >
-std::basic_istream<char, std::char_traits<char> >::_ZTVSi: 10u entries
-0 8u
-4 (int (*)(...))0
-8 (int (*)(...))(& _ZTISi)
-12 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = char, _Traits = std::char_traits<char>]
-16 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = char, _Traits = std::char_traits<char>]
-20 4294967288u
-24 (int (*)(...))-0x00000000000000008
-28 (int (*)(...))(& _ZTISi)
-32 std::basic_istream<char, std::char_traits<char> >::_ZTv0_n12_NSiD1Ev
-36 std::basic_istream<char, std::char_traits<char> >::_ZTv0_n12_NSiD0Ev
+
VTT for std::basic_istream<char, std::char_traits<char> >
std::basic_istream<char, std::char_traits<char> >::_ZTTSi: 2u entries
0 ((& std::basic_istream<char, std::char_traits<char> >::_ZTVSi) + 12u)
4 ((& std::basic_istream<char, std::char_traits<char> >::_ZTVSi) + 32u)
-Class std::basic_istream<char, std::char_traits<char> >
- size=144 align=4
- base size=8 base align=4
-std::basic_istream<char, std::char_traits<char> > (0x31e50f80) 0
- vptridx=0u vptr=((& std::basic_istream<char, std::char_traits<char> >::_ZTVSi) + 12u)
- std::basic_ios<char, std::char_traits<char> > (0x31e50fc0) 8 virtual
- vptridx=4u vbaseoffset=-0x0000000000000000c vptr=((& std::basic_istream<char, std::char_traits<char> >::_ZTVSi) + 32u)
- std::ios_base (0x320505b0) 8
- primary-for std::basic_ios<char, std::char_traits<char> > (0x31e50fc0)
-
-Vtable for std::basic_istream<wchar_t, std::char_traits<wchar_t> >
-std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_istreamIwSt11char_traitsIwEE: 10u entries
-0 8u
-4 (int (*)(...))0
-8 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE)
-12 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-16 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-20 4294967288u
-24 (int (*)(...))-0x00000000000000008
-28 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE)
-32 std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n12_NSt13basic_istreamIwSt11char_traitsIwEED1Ev
-36 std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n12_NSt13basic_istreamIwSt11char_traitsIwEED0Ev
+
VTT for std::basic_istream<wchar_t, std::char_traits<wchar_t> >
std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTTSt13basic_istreamIwSt11char_traitsIwEE: 2u entries
0 ((& std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 12u)
4 ((& std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 32u)
-Class std::basic_istream<wchar_t, std::char_traits<wchar_t> >
- size=148 align=4
- base size=8 base align=4
-std::basic_istream<wchar_t, std::char_traits<wchar_t> > (0x32084000) 0
- vptridx=0u vptr=((& std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 12u)
- std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0x32084040) 8 virtual
- vptridx=4u vbaseoffset=-0x0000000000000000c vptr=((& std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 32u)
- std::ios_base (0x320508c0) 8
- primary-for std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0x32084040)
-
-Class std::basic_istream<char, std::char_traits<char> >::sentry
- size=1 align=1
- base size=1 base align=1
-std::basic_istream<char, std::char_traits<char> >::sentry (0x32050ce8) 0
-Vtable for std::basic_iostream<char, std::char_traits<char> >
-std::basic_iostream<char, std::char_traits<char> >::_ZTVSd: 15u entries
-0 12u
-4 (int (*)(...))0
-8 (int (*)(...))(& _ZTISd)
-12 std::basic_iostream<_CharT, _Traits>::~basic_iostream [with _CharT = char, _Traits = std::char_traits<char>]
-16 std::basic_iostream<_CharT, _Traits>::~basic_iostream [with _CharT = char, _Traits = std::char_traits<char>]
-20 4u
-24 (int (*)(...))-0x00000000000000008
-28 (int (*)(...))(& _ZTISd)
-32 std::basic_iostream<char, std::char_traits<char> >::_ZThn8_NSdD1Ev
-36 std::basic_iostream<char, std::char_traits<char> >::_ZThn8_NSdD0Ev
-40 4294967284u
-44 (int (*)(...))-0x0000000000000000c
-48 (int (*)(...))(& _ZTISd)
-52 std::basic_iostream<char, std::char_traits<char> >::_ZTv0_n12_NSdD1Ev
-56 std::basic_iostream<char, std::char_traits<char> >::_ZTv0_n12_NSdD0Ev
+
Construction vtable for std::basic_istream<char, std::char_traits<char> > (0x32084100 instance) in std::basic_iostream<char, std::char_traits<char> >
std::basic_iostream<char, std::char_traits<char> >::_ZTCSd0_Si: 10u entries
@@ -2564,44 +785,8 @@ std::basic_iostream<char, std::char_traits<char> >::_ZTTSd: 7u entries
20 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 52u)
24 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 32u)
-Class std::basic_iostream<char, std::char_traits<char> >
- size=148 align=4
- base size=12 base align=4
-std::basic_iostream<char, std::char_traits<char> > (0x320840c0) 0
- vptridx=0u vptr=((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 12u)
- std::basic_istream<char, std::char_traits<char> > (0x32084100) 0
- primary-for std::basic_iostream<char, std::char_traits<char> > (0x320840c0)
- subvttidx=4u
- std::basic_ios<char, std::char_traits<char> > (0x32084140) 12 virtual
- vptridx=20u vbaseoffset=-0x0000000000000000c vptr=((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 52u)
- std::ios_base (0x32050ee0) 12
- primary-for std::basic_ios<char, std::char_traits<char> > (0x32084140)
- std::basic_ostream<char, std::char_traits<char> > (0x32084180) 8 nearly-empty
- subvttidx=12u vptridx=24u vptr=((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 32u)
- std::basic_ios<char, std::char_traits<char> > (0x32084140) alternative-path
-
-Class std::basic_istream<wchar_t, std::char_traits<wchar_t> >::sentry
- size=1 align=1
- base size=1 base align=1
-std::basic_istream<wchar_t, std::char_traits<wchar_t> >::sentry (0x32050968) 0
-Vtable for std::basic_iostream<wchar_t, std::char_traits<wchar_t> >
-std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE: 15u entries
-0 12u
-4 (int (*)(...))0
-8 (int (*)(...))(& _ZTISt14basic_iostreamIwSt11char_traitsIwEE)
-12 std::basic_iostream<_CharT, _Traits>::~basic_iostream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-16 std::basic_iostream<_CharT, _Traits>::~basic_iostream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-20 4u
-24 (int (*)(...))-0x00000000000000008
-28 (int (*)(...))(& _ZTISt14basic_iostreamIwSt11char_traitsIwEE)
-32 std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZThn8_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev
-36 std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZThn8_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev
-40 4294967284u
-44 (int (*)(...))-0x0000000000000000c
-48 (int (*)(...))(& _ZTISt14basic_iostreamIwSt11char_traitsIwEE)
-52 std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n12_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev
-56 std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n12_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev
+
Construction vtable for std::basic_istream<wchar_t, std::char_traits<wchar_t> > (0x32084200 instance) in std::basic_iostream<wchar_t, std::char_traits<wchar_t> >
std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E: 10u entries
@@ -2639,21 +824,6 @@ std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTTSt14basic_iostream
20 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 52u)
24 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 32u)
-Class std::basic_iostream<wchar_t, std::char_traits<wchar_t> >
- size=152 align=4
- base size=12 base align=4
-std::basic_iostream<wchar_t, std::char_traits<wchar_t> > (0x320841c0) 0
- vptridx=0u vptr=((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 12u)
- std::basic_istream<wchar_t, std::char_traits<wchar_t> > (0x32084200) 0
- primary-for std::basic_iostream<wchar_t, std::char_traits<wchar_t> > (0x320841c0)
- subvttidx=4u
- std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0x32084240) 12 virtual
- vptridx=20u vbaseoffset=-0x0000000000000000c vptr=((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 52u)
- std::ios_base (0x32109038) 12
- primary-for std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0x32084240)
- std::basic_ostream<wchar_t, std::char_traits<wchar_t> > (0x32084280) 8 nearly-empty
- subvttidx=12u vptridx=24u vptr=((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 32u)
- std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0x32084240) alternative-path
Class std::_List_node_base
size=8 align=4
@@ -2670,15 +840,7 @@ Class QListData
base size=4 base align=4
QListData (0x321097e0) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0x32109d58) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0x32109cb0) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -2770,10 +932,6 @@ QIODevice (0x32084400) 0
QObject (0x32238188) 0
primary-for QIODevice (0x32084400)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0x32238348) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -2816,10 +974,6 @@ Class QTextStream
QTextStream (0x323325e8) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0x323327a8) 0
Class QTextStreamManipulator
size=24 align=4
@@ -2880,10 +1034,6 @@ QFile (0x320846c0) 0
QObject (0x32332ce8) 0
primary-for QIODevice (0x32084700)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0x32332e70) 0
Vtable for QTemporaryFile
QTemporaryFile::_ZTV14QTemporaryFile: 31u entries
@@ -2936,25 +1086,13 @@ Class QRegExp
base size=4 base align=4
QRegExp (0x32332fc0) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0x32332700) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0x32332f50) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0x32489188) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0x324890e0) 0
Class QStringList
size=4 align=4
@@ -3054,130 +1192,42 @@ Class QFileInfo
base size=4 base align=4
QFileInfo (0x324899d8) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0x32489a48) 0 empty
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0x32489af0) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0x32489c08) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0x32489c78) 0
Class QUrl
size=4 align=4
base size=4 base align=4
QUrl (0x32489d20) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0x32489e38) 0 empty
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0x32489ee0) 0
Class QMetaType
size=1 align=1
base size=0 base align=1
QMetaType (0x32489f18) 0 empty
-Class QMetaTypeId<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QString> (0x32489850) 0 empty
-Class QMetaTypeId<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<int> (0x32547000) 0 empty
-Class QMetaTypeId<uint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<uint> (0x32547070) 0 empty
-Class QMetaTypeId<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<bool> (0x325470e0) 0 empty
-Class QMetaTypeId<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<double> (0x32547150) 0 empty
-Class QMetaTypeId<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QByteArray> (0x325471c0) 0 empty
-Class QMetaTypeId<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QChar> (0x32547230) 0 empty
-Class QMetaTypeId<void>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<void> (0x325472a0) 0 empty
-Class QMetaTypeId<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<long int> (0x32547310) 0 empty
-Class QMetaTypeId<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<short int> (0x32547380) 0 empty
-Class QMetaTypeId<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<char> (0x325473f0) 0 empty
-Class QMetaTypeId<ulong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<ulong> (0x32547460) 0 empty
-Class QMetaTypeId<ushort>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<ushort> (0x325474d0) 0 empty
-Class QMetaTypeId<uchar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<uchar> (0x32547540) 0 empty
-Class QMetaTypeId<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<float> (0x325475b0) 0 empty
-Class QMetaTypeId<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QObject*> (0x32547620) 0 empty
-Class QMetaTypeId<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QWidget*> (0x32547690) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -3204,35 +1254,15 @@ Class QVariant
base size=16 base align=8
QVariant (0x325476c8) 0
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0x32547c40) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0x32547b98) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0x32547e70) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0x32547dc8) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0x32547ea8) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0x325ca0e0) 0 empty
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -3317,10 +1347,6 @@ Class QFileEngineHandler
QFileEngineHandler (0x325ca3f0) 0 nearly-empty
vptr=((& QFileEngineHandler::_ZTV18QFileEngineHandler) + 8u)
-Class QFlags<QFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileEngine::FileFlag> (0x325ca578) 0
Class QHashData::Node
size=8 align=4
@@ -3337,90 +1363,54 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0x325ca770) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0x325ca7e0) 0 empty
Class QPoint
size=8 align=4
base size=8 base align=4
QPoint (0x325caea8) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0x325cafc0) 0 empty
Class QPointF
size=16 align=8
base size=16 base align=8
QPointF (0x326ae150) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0x326ae540) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0x326ae700) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0x326ae770) 0 empty
Class QLineF
size=32 align=8
base size=32 base align=8
QLineF (0x326ae8c0) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0x326ae968) 0 empty
Class QSize
size=8 align=4
base size=8 base align=4
QSize (0x326aeaf0) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0x326aee70) 0 empty
Class QSizeF
size=16 align=8
base size=16 base align=8
QSizeF (0x326ae348) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0x326aed58) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0x327542a0) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0x32754498) 0 empty
Class QRectF
size=32 align=8
base size=32 base align=8
QRectF (0x327546c8) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0x32754850) 0 empty
Class QLinkedListData
size=20 align=4
@@ -3437,20 +1427,12 @@ Class QBitRef
base size=8 base align=4
QBitRef (0x328a2150) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0x328a2230) 0 empty
Class std::_Bit_reference
size=8 align=4
base size=8 base align=4
std::_Bit_reference (0x328a24d0) 0
-Class std::iterator<std::random_access_iterator_tag, bool, ptrdiff_t, bool*, bool&>
- size=1 align=1
- base size=0 base align=1
-std::iterator<std::random_access_iterator_tag, bool, ptrdiff_t, bool*, bool&> (0x328a2620) 0 empty
Class std::_Bit_iterator_base
size=8 align=4
@@ -3472,37 +1454,11 @@ std::_Bit_const_iterator (0x32084c40) 0
std::_Bit_iterator_base (0x32084c80) 0
std::iterator<std::random_access_iterator_tag, bool, ptrdiff_t, bool*, bool&> (0x328a29a0) 0 empty
-Class std::iterator_traits<std::_Bit_iterator>
- size=1 align=1
- base size=0 base align=1
-std::iterator_traits<std::_Bit_iterator> (0x328a2ce8) 0 empty
-Class std::iterator<std::random_access_iterator_tag, bool, ptrdiff_t, std::_Bit_reference*, std::_Bit_reference>
- size=1 align=1
- base size=0 base align=1
-std::iterator<std::random_access_iterator_tag, bool, ptrdiff_t, std::_Bit_reference*, std::_Bit_reference> (0x328a2d90) 0 empty
-Class std::reverse_iterator<std::_Bit_iterator>
- size=8 align=4
- base size=8 base align=4
-std::reverse_iterator<std::_Bit_iterator> (0x32084d40) 0
- std::iterator<std::random_access_iterator_tag, bool, ptrdiff_t, std::_Bit_reference*, std::_Bit_reference> (0x328a2dc8) 0 empty
-Class std::iterator_traits<std::_Bit_const_iterator>
- size=1 align=1
- base size=0 base align=1
-std::iterator_traits<std::_Bit_const_iterator> (0x328a2ee0) 0 empty
-Class std::iterator<std::random_access_iterator_tag, bool, ptrdiff_t, const bool*, bool>
- size=1 align=1
- base size=0 base align=1
-std::iterator<std::random_access_iterator_tag, bool, ptrdiff_t, const bool*, bool> (0x328a2f88) 0 empty
-Class std::reverse_iterator<std::_Bit_const_iterator>
- size=8 align=4
- base size=8 base align=4
-std::reverse_iterator<std::_Bit_const_iterator> (0x32084d80) 0
- std::iterator<std::random_access_iterator_tag, bool, ptrdiff_t, const bool*, bool> (0x328a2fc0) 0 empty
Class QVectorData
size=16 align=4
@@ -3524,40 +1480,24 @@ Class QLocale
base size=4 base align=4
QLocale (0x3296c818) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0x3296c888) 0 empty
Class QDate
size=4 align=4
base size=4 base align=4
QDate (0x3296ca80) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0x3296cc40) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0x3296ccb0) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0x3296ce38) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0x3296cea8) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0x3296c000) 0 empty
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -3632,10 +1572,6 @@ QTextCodecPlugin (0x32084f00) 0
QFactoryInterface (0x32acc1f8) 8 nearly-empty
primary-for QTextCodecFactoryInterface (0x32084f40)
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0x32acc540) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -3755,10 +1691,6 @@ QEventLoop (0x32b09040) 0
QObject (0x32acca80) 0
primary-for QEventLoop (0x32b09040)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0x32accc08) 0
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -3835,20 +1767,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0x32b540a8) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0x32b54230) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0x32b542d8) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0x32b543f0) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -4068,10 +1992,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0x32b54ab8) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0x32b54b98) 0 empty
Vtable for QSocketNotifier
QSocketNotifier::_ZTV15QSocketNotifier: 14u entries
@@ -4166,20 +2086,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0x32b54fc0) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0x32b546c8) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0x32b54930) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0x32b54dc8) 0 empty
Class QMetaProperty
size=20 align=4
@@ -4191,10 +2103,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0x32bf0038) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0x32bf00e0) 0 empty
Vtable for QPluginLoader
QPluginLoader::_ZTV13QPluginLoader: 14u entries
@@ -4317,8 +2225,4 @@ Class QWriteLocker
base size=4 base align=4
QWriteLocker (0x32bf0930) 0
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0x32d155e8) 0
diff --git a/tests/auto/bic/data/QtCore.4.0.0.macx-gcc-ppc32.txt b/tests/auto/bic/data/QtCore.4.0.0.macx-gcc-ppc32.txt
index 3f0492d..cee4bd8 100644
--- a/tests/auto/bic/data/QtCore.4.0.0.macx-gcc-ppc32.txt
+++ b/tests/auto/bic/data/QtCore.4.0.0.macx-gcc-ppc32.txt
@@ -59,75 +59,19 @@ Class QBool
base size=4 base align=4
QBool (0x7dc080) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0x7dc3c0) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0x7dc480) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0x7dc540) 0 empty
-Class QTypeInfo<uchar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uchar> (0x7dc600) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0x7dc6c0) 0 empty
-Class QTypeInfo<ushort>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ushort> (0x7dc780) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0x7dc840) 0 empty
-Class QTypeInfo<uint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uint> (0x7dc900) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0x7dc9c0) 0 empty
-Class QTypeInfo<ulong>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ulong> (0x7dca80) 0 empty
-Class QTypeInfo<qint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<qint64> (0x7dcb40) 0 empty
-Class QTypeInfo<quint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<quint64> (0x7dcc00) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0x7dccc0) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0x7dcd80) 0 empty
Class QFlag
size=4 align=4
@@ -144,10 +88,6 @@ Class QChar
base size=2 base align=2
QChar (0x824080) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0x824180) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -160,10 +100,6 @@ Class QAtomic
QAtomic (0x824540) 0
QBasicAtomic (0x824580) 0
-Class <anonymous union>
- size=128 align=8
- base size=128 base align=8
-<anonymous union> (0x824800) 0
Class __darwin_pthread_handler_rec
size=12 align=4
@@ -245,70 +181,18 @@ Class QByteRef
base size=8 base align=4
QByteRef (0xf1c480) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0xf1c840) 0 empty
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0xf1cd00) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0xf1cd80) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0xf1ce00) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0xf1ce80) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0xf1cf00) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0xf1cf80) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0x103b000) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0x103b080) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0x103b100) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0x103b180) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0x103b200) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0x103b280) 0
Class QInternal
size=1 align=1
@@ -335,10 +219,6 @@ Class QLatin1String
base size=4 base align=4
QLatin1String (0x103b9c0) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0x103be00) 0
Class QCharRef
size=8 align=4
@@ -351,10 +231,6 @@ Class QConstString
QConstString (0x120da00) 0
QString (0x120da40) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0x120db40) 0 empty
Class QListData::Data
size=24 align=4
@@ -366,10 +242,6 @@ Class QListData
base size=4 base align=4
QListData (0x120dd80) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0x132b380) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -394,15 +266,7 @@ Class QTextCodec
QTextCodec (0x132b200) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0x132b6c0) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0x132b600) 0
Class QTextEncoder
size=32 align=4
@@ -425,25 +289,13 @@ Class QGenericReturnArgument
QGenericReturnArgument (0x132b900) 0
QGenericArgument (0x132b940) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0x132bc00) 0
Class QMetaObject
size=16 align=4
base size=16 base align=4
QMetaObject (0x132bb80) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0x132be80) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0x132bdc0) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -535,10 +387,6 @@ QIODevice (0x14343c0) 0
QObject (0x1434400) 0
primary-for QIODevice (0x14343c0)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0x1434640) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -558,25 +406,13 @@ Class QRegExp
base size=4 base align=4
QRegExp (0x1434d00) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0x1434f00) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0x1434f80) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0x15100c0) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0x1510000) 0
Class QStringList
size=4 align=4
@@ -584,15 +420,7 @@ Class QStringList
QStringList (0x1510180) 0
QList<QString> (0x15101c0) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0x1510680) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0x1510700) 0
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -748,10 +576,6 @@ Class QTextStream
QTextStream (0x1594040) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0x16a2200) 0
Class QTextStreamManipulator
size=24 align=4
@@ -842,50 +666,22 @@ QFile (0x16a2e80) 0
QObject (0x16a2f00) 0
primary-for QIODevice (0x16a2ec0)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0x16a29c0) 0
Class QFileInfo
size=4 align=4
base size=4 base align=4
QFileInfo (0x177a000) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0x177a0c0) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0x177a140) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0x177a300) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0x177a240) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0x177a3c0) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0x177a500) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0x177a5c0) 0
Vtable for QFileEngine
QFileEngine::_ZTV11QFileEngine: 35u entries
@@ -945,10 +741,6 @@ Class QFileEngineHandler
QFileEngineHandler (0x177a800) 0 nearly-empty
vptr=((& QFileEngineHandler::_ZTV18QFileEngineHandler) + 8u)
-Class QFlags<QFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileEngine::FileFlag> (0x177a9c0) 0
Vtable for QProcess
QProcess::_ZTV8QProcess: 31u entries
@@ -999,90 +791,22 @@ Class QMetaType
base size=0 base align=1
QMetaType (0x177abc0) 0 empty
-Class QMetaTypeId<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QString> (0x177acc0) 0 empty
-Class QMetaTypeId<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<int> (0x177ad40) 0 empty
-Class QMetaTypeId<uint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<uint> (0x177adc0) 0 empty
-Class QMetaTypeId<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<bool> (0x177ae40) 0 empty
-Class QMetaTypeId<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<double> (0x177aec0) 0 empty
-Class QMetaTypeId<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QByteArray> (0x177af40) 0 empty
-Class QMetaTypeId<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QChar> (0x177afc0) 0 empty
-Class QMetaTypeId<void>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<void> (0x177a900) 0 empty
-Class QMetaTypeId<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<long int> (0x187f000) 0 empty
-Class QMetaTypeId<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<short int> (0x187f080) 0 empty
-Class QMetaTypeId<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<char> (0x187f100) 0 empty
-Class QMetaTypeId<ulong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<ulong> (0x187f180) 0 empty
-Class QMetaTypeId<ushort>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<ushort> (0x187f200) 0 empty
-Class QMetaTypeId<uchar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<uchar> (0x187f280) 0 empty
-Class QMetaTypeId<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<float> (0x187f300) 0 empty
-Class QMetaTypeId<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QObject*> (0x187f380) 0 empty
-Class QMetaTypeId<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QWidget*> (0x187f400) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -1109,50 +833,18 @@ Class QVariant
base size=16 base align=4
QVariant (0x187f440) 0
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0x187fac0) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0x187fa00) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0x187fcc0) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0x187fc00) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0x187ff40) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0x187f700) 0 empty
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0x187fe00) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x194f040) 0
-Class <anonymous struct>
- size=3156 align=4
- base size=3156 base align=4
-<anonymous struct> (0x194f0c0) 0
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1230,15 +922,7 @@ Class QUrl
base size=4 base align=4
QUrl (0x194f980) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0x194fb80) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0x194fc00) 0 empty
Vtable for QEventLoop
QEventLoop::_ZTV10QEventLoop: 14u entries
@@ -1265,10 +949,6 @@ QEventLoop (0x194fc80) 0
QObject (0x194fcc0) 0
primary-for QEventLoop (0x194fc80)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0x194fec0) 0
Vtable for QAbstractEventDispatcher
QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 27u entries
@@ -1313,20 +993,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0x194fe00) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0x1a4f180) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0x1a4f240) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0x1a4f380) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -1496,10 +1168,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0x1a4fa40) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0x1a4fb40) 0 empty
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -1591,20 +1259,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0x1af4480) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0x1af4540) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0x1af45c0) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0x1af4680) 0 empty
Class QMetaProperty
size=20 align=4
@@ -1616,10 +1276,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0x1af4740) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0x1af4800) 0 empty
Vtable for QMimeData
QMimeData::_ZTV9QMimeData: 17u entries
@@ -1907,10 +1563,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0x1c420c0) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0x1c42200) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -1932,80 +1584,48 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0x1c42440) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0x1c424c0) 0 empty
Class QDate
size=4 align=4
base size=4 base align=4
QDate (0x1c42cc0) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0x1c42ec0) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0x1c42f40) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0x1c42f80) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0x1d77040) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0x1d771c0) 0 empty
Class QPoint
size=8 align=4
base size=8 base align=4
QPoint (0x1d77240) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0x1d776c0) 0 empty
Class QPointF
size=16 align=8
base size=16 base align=4
QPointF (0x1d77880) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0x1d77d00) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0x1d77f00) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0x1d77f80) 0 empty
Class QLineF
size=32 align=8
base size=32 base align=4
QLineF (0x1d77380) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0x1d77500) 0 empty
Class QLinkedListData
size=20 align=4
@@ -2017,50 +1637,30 @@ Class QLocale
base size=4 base align=4
QLocale (0x1e43300) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0x1e43380) 0 empty
Class QSize
size=8 align=4
base size=8 base align=4
QSize (0x1e434c0) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0x1e438c0) 0 empty
Class QSizeF
size=16 align=8
base size=16 base align=4
QSizeF (0x1e43b80) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0x1e43f80) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0x1e43dc0) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0x1f86080) 0 empty
Class QRectF
size=32 align=8
base size=32 base align=4
QRectF (0x1f86300) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0x1f864c0) 0 empty
Class QSharedData
size=4 align=4
@@ -2072,18 +1672,6 @@ Class QVectorData
base size=16 base align=4
QVectorData (0x1f86a40) 0
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0x21d2000) 0
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0x21d2e80) 0
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0x2286fc0) 0
diff --git a/tests/auto/bic/data/QtCore.4.1.0.linux-gcc-ia32.txt b/tests/auto/bic/data/QtCore.4.1.0.linux-gcc-ia32.txt
index a601666..a865326 100644
--- a/tests/auto/bic/data/QtCore.4.1.0.linux-gcc-ia32.txt
+++ b/tests/auto/bic/data/QtCore.4.1.0.linux-gcc-ia32.txt
@@ -18,145 +18,37 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0x4001ee80) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0x4001ef40) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0x4001ef80) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0x4001efc0) 0 empty
-Class QTypeInfo<uchar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uchar> (0x40ac2000) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0x40ac2040) 0 empty
-Class QTypeInfo<ushort>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ushort> (0x40ac2080) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0x40ac20c0) 0 empty
-Class QTypeInfo<uint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uint> (0x40ac2100) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0x40ac2140) 0 empty
-Class QTypeInfo<ulong>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ulong> (0x40ac2180) 0 empty
-Class QTypeInfo<qint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<qint64> (0x40ac21c0) 0 empty
-Class QTypeInfo<quint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<quint64> (0x40ac2200) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0x40ac2240) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0x40ac2280) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0x40ac22c0) 0 empty
Class QFlag
size=4 align=4
base size=4 base align=4
QFlag (0x40ac2300) 0
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0x40ac24c0) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0x40ac2540) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0x40ac25c0) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0x40ac2640) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0x40ac26c0) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0x40ac2740) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0x40ac27c0) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0x40ac2840) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0x40ac28c0) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0x40ac2940) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0x40ac29c0) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0x40ac2a40) 0
Class QInternal
size=1 align=1
@@ -174,10 +66,6 @@ Class QGenericReturnArgument
QGenericReturnArgument (0x40ac2b80) 0
QGenericArgument (0x40ac2bc0) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0x40ac2dc0) 0
Class QMetaObject
size=16 align=4
@@ -194,10 +82,6 @@ Class QChar
base size=2 base align=2
QChar (0x40ac2ec0) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0x40ac2f80) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -230,10 +114,6 @@ Class QByteRef
base size=8 base align=4
QByteRef (0x40bda680) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0x40bda700) 0 empty
Class QString::Null
size=1 align=1
@@ -255,10 +135,6 @@ Class QLatin1String
base size=4 base align=4
QLatin1String (0x40bda940) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0x40bdaa80) 0
Class QCharRef
size=8 align=4
@@ -271,10 +147,6 @@ Class QConstString
QConstString (0x40bdac40) 0
QString (0x40bdac80) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0x40bdad00) 0 empty
Vtable for std::exception
std::exception::_ZTVSt9exception: 5u entries
@@ -337,15 +209,7 @@ Class QListData
base size=4 base align=4
QListData (0x40e6e180) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0x40e6e5c0) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0x40e6e500) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -437,10 +301,6 @@ QIODevice (0x40e6e800) 0
QObject (0x40e6e840) 0
primary-for QIODevice (0x40e6e800)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0x40e6e980) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -470,10 +330,6 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0x40e6eb40) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0x40e6eb80) 0 empty
Class QMapData::Node
size=8 align=4
@@ -485,10 +341,6 @@ Class QMapData
base size=72 base align=4
QMapData (0x4102c100) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0x4102c700) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -513,15 +365,7 @@ Class QTextCodec
QTextCodec (0x4102c600) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0x4102c980) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0x4102c8c0) 0
Class QTextEncoder
size=32 align=4
@@ -533,30 +377,10 @@ Class QTextDecoder
base size=32 base align=4
QTextDecoder (0x4102ca40) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x4102cac0) 0
-Class <anonymous struct>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct>::<anonymous union> (0x4102cb40) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x4102cb00) 0
-Class <anonymous struct>
- size=12 align=4
- base size=12 base align=4
-<anonymous struct> (0x4102cb80) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0x4102cbc0) 0
Class __gconv_trans_data
size=20 align=4
@@ -578,15 +402,7 @@ Class __gconv_info
base size=8 base align=4
__gconv_info (0x4102ccc0) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0x4102cd40) 0
-Class <anonymous union>
- size=44 align=4
- base size=44 base align=4
-<anonymous union> (0x4102cd00) 0
Class _IO_marker
size=12 align=4
@@ -598,10 +414,6 @@ Class _IO_FILE
base size=148 base align=4
_IO_FILE (0x4102cdc0) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0x4102ce00) 0
Vtable for QTextStream
QTextStream::_ZTV11QTextStream: 4u entries
@@ -616,10 +428,6 @@ Class QTextStream
QTextStream (0x4102ce40) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0x4102cf80) 0
Class QTextStreamManipulator
size=24 align=4
@@ -656,40 +464,16 @@ QTextOStream (0x411871c0) 0
QTextStream (0x41187200) 0
primary-for QTextOStream (0x411871c0)
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0x411873c0) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0x41187400) 0
Class wait
size=4 align=4
base size=4 base align=4
wait (0x41187380) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x41187440) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x41187480) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0x411874c0) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0x41187500) 0
Class timespec
size=8 align=4
@@ -701,10 +485,6 @@ Class timeval
base size=8 base align=4
timeval (0x41187580) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0x411875c0) 0
Class __sched_param
size=4 align=4
@@ -721,45 +501,17 @@ Class __pthread_attr_s
base size=36 base align=4
__pthread_attr_s (0x41187680) 0
-Class <anonymous struct>
- size=48 align=4
- base size=48 base align=4
-<anonymous struct> (0x411876c0) 0
-Class <anonymous struct>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct> (0x41187700) 0
-Class <anonymous struct>
- size=24 align=4
- base size=24 base align=4
-<anonymous struct> (0x41187740) 0
-Class <anonymous struct>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct> (0x41187780) 0
Class _pthread_rwlock_t
size=32 align=4
base size=32 base align=4
_pthread_rwlock_t (0x411877c0) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x41187800) 0
-Class <anonymous struct>
- size=20 align=4
- base size=20 base align=4
-<anonymous struct> (0x41187840) 0
-Class <anonymous struct>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct> (0x41187880) 0
Class random_data
size=28 align=4
@@ -830,10 +582,6 @@ QFile (0x41187dc0) 0
QObject (0x41187e40) 0
primary-for QIODevice (0x41187e00)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0x41187f40) 0
Vtable for QTemporaryFile
QTemporaryFile::_ZTV14QTemporaryFile: 31u entries
@@ -886,50 +634,22 @@ Class QFileInfo
base size=4 base align=4
QFileInfo (0x41187e80) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0x412c5040) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0x412c5080) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0x412c51c0) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0x412c5100) 0
Class QRegExp
size=4 align=4
base size=4 base align=4
QRegExp (0x412c5200) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0x412c5280) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0x412c52c0) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0x412c5400) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0x412c5340) 0
Class QStringList
size=4 align=4
@@ -937,30 +657,14 @@ Class QStringList
QStringList (0x412c5440) 0
QList<QString> (0x412c5480) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0x412c56c0) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0x412c5740) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0x412c5940) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0x412c5a00) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0x412c5a80) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -1017,10 +721,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0x412c5ac0) 0
vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0x412c5c80) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -1175,110 +875,30 @@ Class QUrl
base size=4 base align=4
QUrl (0x413d6000) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0x413d60c0) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0x413d6100) 0 empty
Class QMetaType
size=1 align=1
base size=0 base align=1
QMetaType (0x413d6140) 0 empty
-Class QMetaTypeId<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QString> (0x413d61c0) 0 empty
-Class QMetaTypeId<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<int> (0x413d6200) 0 empty
-Class QMetaTypeId<uint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<uint> (0x413d6240) 0 empty
-Class QMetaTypeId<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<bool> (0x413d6280) 0 empty
-Class QMetaTypeId<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<double> (0x413d62c0) 0 empty
-Class QMetaTypeId<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QByteArray> (0x413d6300) 0 empty
-Class QMetaTypeId<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QChar> (0x413d6340) 0 empty
-Class QMetaTypeId<void>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<void> (0x413d6380) 0 empty
-Class QMetaTypeId<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<long int> (0x413d63c0) 0 empty
-Class QMetaTypeId<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<short int> (0x413d6400) 0 empty
-Class QMetaTypeId<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<char> (0x413d6440) 0 empty
-Class QMetaTypeId<ulong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<ulong> (0x413d6480) 0 empty
-Class QMetaTypeId<ushort>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<ushort> (0x413d64c0) 0 empty
-Class QMetaTypeId<uchar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<uchar> (0x413d6500) 0 empty
-Class QMetaTypeId<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<float> (0x413d6540) 0 empty
-Class QMetaTypeId<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QObject*> (0x413d6580) 0 empty
-Class QMetaTypeId<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QWidget*> (0x413d65c0) 0 empty
-Class QMetaTypeId<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<void*> (0x413d6600) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -1305,35 +925,15 @@ Class QVariant
base size=12 base align=4
QVariant (0x413d6640) 0
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0x413d6c00) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0x413d6b40) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0x413d6d80) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0x413d6cc0) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0x413d6fc0) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0x413d6900) 0 empty
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1365,80 +965,48 @@ Class QPoint
base size=8 base align=4
QPoint (0x414df180) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0x414df5c0) 0 empty
Class QPointF
size=16 align=4
base size=16 base align=4
QPointF (0x414df680) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0x414dfac0) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0x414dfbc0) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0x414dfc00) 0 empty
Class QLineF
size=32 align=4
base size=32 base align=4
QLineF (0x414dfd00) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0x414dfd80) 0 empty
Class QSize
size=8 align=4
base size=8 base align=4
QSize (0x414dfe80) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0x414df340) 0 empty
Class QSizeF
size=16 align=4
base size=16 base align=4
QSizeF (0x414df6c0) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0x414dfec0) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0x415cb140) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0x415cb340) 0 empty
Class QRectF
size=32 align=4
base size=32 base align=4
QRectF (0x415cb440) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0x415cb5c0) 0 empty
Class QLinkedListData
size=20 align=4
@@ -1455,10 +1023,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0x415cbc00) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0x415cbc80) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -1475,40 +1039,24 @@ Class QLocale
base size=4 base align=4
QLocale (0x415cbec0) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0x415cbf00) 0 empty
Class QDate
size=4 align=4
base size=4 base align=4
QDate (0x415cb280) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0x417dd000) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0x417dd040) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0x417dd1c0) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0x417dd200) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0x417dd340) 0 empty
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -1668,10 +1216,6 @@ QEventLoop (0x417ddac0) 0
QObject (0x417ddb00) 0
primary-for QEventLoop (0x417ddac0)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0x417ddc40) 0
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -1763,20 +1307,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0x417dd740) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0x417ddb80) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0x417ddcc0) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0x417ddec0) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -1996,10 +1532,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0x418d4580) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0x418d4640) 0 empty
Vtable for QSocketNotifier
QSocketNotifier::_ZTV15QSocketNotifier: 14u entries
@@ -2094,20 +1626,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0x418d4980) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0x418d4a00) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0x418d4a40) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0x418d4ac0) 0 empty
Class QMetaProperty
size=20 align=4
@@ -2119,10 +1643,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0x418d4b40) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0x418d4bc0) 0 empty
Vtable for QPluginLoader
QPluginLoader::_ZTV13QPluginLoader: 14u entries
@@ -2245,23 +1765,7 @@ Class QWriteLocker
base size=4 base align=4
QWriteLocker (0x419bd080) 0
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0x41a00780) 0
-Class QTypeInfo<QDebug::Stream*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDebug::Stream*> (0x41a00b00) 0 empty
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0x41a3f1c0) 0
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0x41ac2100) 0
diff --git a/tests/auto/bic/data/QtCore.4.1.0.linux-gcc-ppc32.txt b/tests/auto/bic/data/QtCore.4.1.0.linux-gcc-ppc32.txt
index 2bd5059..d3c21f8 100644
--- a/tests/auto/bic/data/QtCore.4.1.0.linux-gcc-ppc32.txt
+++ b/tests/auto/bic/data/QtCore.4.1.0.linux-gcc-ppc32.txt
@@ -18,145 +18,37 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0x306bf4d0) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0x306bf6c8) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0x306bf770) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0x306bf818) 0 empty
-Class QTypeInfo<uchar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uchar> (0x306bf8c0) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0x306bf968) 0 empty
-Class QTypeInfo<ushort>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ushort> (0x306bfa10) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0x306bfab8) 0 empty
-Class QTypeInfo<uint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uint> (0x306bfb60) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0x306bfc08) 0 empty
-Class QTypeInfo<ulong>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ulong> (0x306bfcb0) 0 empty
-Class QTypeInfo<qint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<qint64> (0x306bfd58) 0 empty
-Class QTypeInfo<quint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<quint64> (0x306bfe00) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0x306bfea8) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0x306bff50) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0x306f6000) 0 empty
Class QFlag
size=4 align=4
base size=4 base align=4
QFlag (0x306f6070) 0
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0x306f6578) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0x306f65e8) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0x306f6658) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0x306f66c8) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0x306f6738) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0x306f67a8) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0x306f6818) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0x306f6888) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0x306f68f8) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0x306f6968) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0x306f69d8) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0x306f6a48) 0
Class QInternal
size=1 align=1
@@ -174,10 +66,6 @@ Class QGenericReturnArgument
QGenericReturnArgument (0x30187ac0) 0
QGenericArgument (0x306f6b60) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0x306f6d20) 0
Class QMetaObject
size=16 align=4
@@ -194,10 +82,6 @@ Class QChar
base size=2 base align=2
QChar (0x306f6e00) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0x306f6ea8) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -230,10 +114,6 @@ Class QByteRef
base size=8 base align=4
QByteRef (0x30c0bb98) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0x30c0bee0) 0 empty
Class QString::Null
size=1 align=1
@@ -255,10 +135,6 @@ Class QLatin1String
base size=4 base align=4
QLatin1String (0x30d3c498) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0x30d3c7e0) 0
Class QCharRef
size=8 align=4
@@ -271,10 +147,6 @@ Class QConstString
QConstString (0x30187d00) 0
QString (0x30e64268) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0x30e64348) 0 empty
Vtable for std::exception
std::exception::_ZTVSt9exception: 5u entries
@@ -337,15 +209,7 @@ Class QListData
base size=4 base align=4
QListData (0x30e64a80) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0x30e64fc0) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0x30e64f18) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -437,10 +301,6 @@ QIODevice (0x30187dc0) 0
QObject (0x30f543b8) 0
primary-for QIODevice (0x30187dc0)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0x30f545b0) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -470,10 +330,6 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0x30f54ce8) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0x30f54d58) 0 empty
Class QMapData::Node
size=8 align=4
@@ -485,10 +341,6 @@ Class QMapData
base size=72 base align=4
QMapData (0x30ff7460) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0x30ff7b28) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -513,15 +365,7 @@ Class QTextCodec
QTextCodec (0x30ff79d8) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0x30ff7e00) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0x30ff7d58) 0
Class QTextEncoder
size=32 align=4
@@ -533,30 +377,10 @@ Class QTextDecoder
base size=32 base align=4
QTextDecoder (0x30ff7f18) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x30ff7fc0) 0
-Class <anonymous struct>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct>::<anonymous union> (0x30ff7c08) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x30ff7738) 0
-Class <anonymous struct>
- size=12 align=4
- base size=12 base align=4
-<anonymous struct> (0x31159038) 0
-Class <anonymous struct>
- size=16 align=8
- base size=16 base align=8
-<anonymous struct> (0x311590a8) 0
Class __gconv_trans_data
size=20 align=4
@@ -578,15 +402,7 @@ Class __gconv_info
base size=8 base align=4
__gconv_info (0x311591f8) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0x311592d8) 0
-Class <anonymous union>
- size=44 align=4
- base size=44 base align=4
-<anonymous union> (0x31159268) 0
Class _IO_marker
size=12 align=4
@@ -598,10 +414,6 @@ Class _IO_FILE
base size=152 base align=8
_IO_FILE (0x31159348) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0x311593b8) 0
Vtable for QTextStream
QTextStream::_ZTV11QTextStream: 4u entries
@@ -616,10 +428,6 @@ Class QTextStream
QTextStream (0x311593f0) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0x31159620) 0
Class QTextStreamManipulator
size=24 align=4
@@ -656,40 +464,16 @@ QTextOStream (0x30187fc0) 0
QTextStream (0x31159b98) 0
primary-for QTextOStream (0x30187fc0)
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0x31159e70) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0x31159ee0) 0
Class wait
size=4 align=4
base size=4 base align=4
wait (0x31159e00) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x31159f50) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x31159fc0) 0
-Class <anonymous struct>
- size=16 align=8
- base size=16 base align=8
-<anonymous struct> (0x311599d8) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0x311e2000) 0
Class timespec
size=8 align=4
@@ -701,70 +485,18 @@ Class timeval
base size=8 base align=4
timeval (0x311e2070) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0x311e20e0) 0
-Class <anonymous union>
- size=36 align=4
- base size=36 base align=4
-<anonymous union> (0x311e2150) 0
-Class <anonymous union>::<anonymous struct>
- size=24 align=4
- base size=24 base align=4
-<anonymous union>::<anonymous struct> (0x311e2230) 0
-Class <anonymous union>
- size=24 align=4
- base size=24 base align=4
-<anonymous union> (0x311e21c0) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0x311e22a0) 0
-Class <anonymous union>::<anonymous struct>
- size=48 align=8
- base size=48 base align=8
-<anonymous union>::<anonymous struct> (0x311e2380) 0
-Class <anonymous union>
- size=48 align=8
- base size=48 base align=8
-<anonymous union> (0x311e2310) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0x311e23f0) 0
-Class <anonymous union>::<anonymous struct>
- size=32 align=4
- base size=32 base align=4
-<anonymous union>::<anonymous struct> (0x311e24d0) 0
-Class <anonymous union>
- size=32 align=4
- base size=32 base align=4
-<anonymous union> (0x311e2460) 0
-Class <anonymous union>
- size=8 align=4
- base size=8 base align=4
-<anonymous union> (0x311e2540) 0
-Class <anonymous union>
- size=20 align=4
- base size=20 base align=4
-<anonymous union> (0x311e25b0) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0x311e2620) 0
Class random_data
size=28 align=4
@@ -835,10 +567,6 @@ QFile (0x312af000) 0
QObject (0x311e2c40) 0
primary-for QIODevice (0x312af040)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0x311e2dc8) 0
Vtable for QTemporaryFile
QTemporaryFile::_ZTV14QTemporaryFile: 31u entries
@@ -891,50 +619,22 @@ Class QFileInfo
base size=4 base align=4
QFileInfo (0x311e2f18) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0x311e2fc0) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0x311e2d20) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0x3130a118) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0x3130a070) 0
Class QRegExp
size=4 align=4
base size=4 base align=4
QRegExp (0x3130a1c0) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0x3130a380) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0x3130a3f0) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0x3130a5b0) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0x3130a508) 0
Class QStringList
size=4 align=4
@@ -942,30 +642,14 @@ Class QStringList
QStringList (0x312af140) 0
QList<QString> (0x3130a658) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0x3130aa80) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0x3130aaf0) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0x3130ae00) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0x3130af18) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0x3130af88) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -1022,10 +706,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0x3130afc0) 0
vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0x313cd1f8) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -1180,110 +860,30 @@ Class QUrl
base size=4 base align=4
QUrl (0x313cd6c8) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0x313cd850) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0x313cd8c0) 0 empty
Class QMetaType
size=1 align=1
base size=0 base align=1
QMetaType (0x313cd930) 0 empty
-Class QMetaTypeId<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QString> (0x313cda48) 0 empty
-Class QMetaTypeId<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<int> (0x313cdaf0) 0 empty
-Class QMetaTypeId<uint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<uint> (0x313cdb98) 0 empty
-Class QMetaTypeId<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<bool> (0x313cdc40) 0 empty
-Class QMetaTypeId<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<double> (0x313cdce8) 0 empty
-Class QMetaTypeId<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QByteArray> (0x313cdd90) 0 empty
-Class QMetaTypeId<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QChar> (0x313cde38) 0 empty
-Class QMetaTypeId<void>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<void> (0x313cdee0) 0 empty
-Class QMetaTypeId<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<long int> (0x313cdf88) 0 empty
-Class QMetaTypeId<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<short int> (0x313cd310) 0 empty
-Class QMetaTypeId<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<char> (0x313cd658) 0 empty
-Class QMetaTypeId<ulong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<ulong> (0x31467070) 0 empty
-Class QMetaTypeId<ushort>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<ushort> (0x31467118) 0 empty
-Class QMetaTypeId<uchar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<uchar> (0x314671c0) 0 empty
-Class QMetaTypeId<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<float> (0x31467268) 0 empty
-Class QMetaTypeId<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QObject*> (0x31467310) 0 empty
-Class QMetaTypeId<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QWidget*> (0x314673b8) 0 empty
-Class QMetaTypeId<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<void*> (0x31467460) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -1310,35 +910,15 @@ Class QVariant
base size=16 base align=8
QVariant (0x314674d0) 0
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0x31467a80) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0x314679d8) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0x31467c40) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0x31467b98) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0x31467e00) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0x31467f18) 0 empty
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1370,80 +950,48 @@ Class QPoint
base size=8 base align=4
QPoint (0x3153e310) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0x3153e700) 0 empty
Class QPointF
size=16 align=8
base size=16 base align=8
QPointF (0x3153e8f8) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0x3153ece8) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0x3153ef18) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0x3153ef88) 0 empty
Class QLineF
size=32 align=8
base size=32 base align=8
QLineF (0x3153e498) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0x3153e5e8) 0 empty
Class QSize
size=8 align=4
base size=8 base align=4
QSize (0x3153eb60) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0x315e0268) 0 empty
Class QSizeF
size=16 align=8
base size=16 base align=8
QSizeF (0x315e0540) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0x315e08c0) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0x315e0c40) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0x315e0e38) 0 empty
Class QRectF
size=32 align=8
base size=32 base align=8
QRectF (0x315e00e0) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0x315e0658) 0 empty
Class QLinkedListData
size=20 align=4
@@ -1460,10 +1008,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0x316d9888) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0x316d99a0) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -1480,40 +1024,24 @@ Class QLocale
base size=4 base align=4
QLocale (0x316d9cb0) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0x316d9d20) 0 empty
Class QDate
size=4 align=4
base size=4 base align=4
QDate (0x316d9f18) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0x31824038) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0x318240a8) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0x318242a0) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0x31824310) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0x31824460) 0 empty
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -1673,10 +1201,6 @@ QEventLoop (0x312af680) 0
QObject (0x31824fc0) 0
primary-for QEventLoop (0x312af680)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0x31824818) 0
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -1768,20 +1292,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0x318da818) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0x318da9a0) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0x318daa10) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0x318dab28) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -2001,10 +1517,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0x318dacb0) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0x3197b038) 0 empty
Vtable for QSocketNotifier
QSocketNotifier::_ZTV15QSocketNotifier: 14u entries
@@ -2099,20 +1611,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0x3197b460) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0x3197b508) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0x3197b578) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0x3197b620) 0 empty
Class QMetaProperty
size=20 align=4
@@ -2124,10 +1628,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0x3197b6c8) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0x3197b770) 0 empty
Vtable for QPluginLoader
QPluginLoader::_ZTV13QPluginLoader: 14u entries
@@ -2250,23 +1750,7 @@ Class QWriteLocker
base size=4 base align=4
QWriteLocker (0x3197b3f0) 0
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0x31a621f8) 0
-Class QTypeInfo<QDebug::Stream*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDebug::Stream*> (0x31a62930) 0 empty
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0x31a7c738) 0
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0x31b051c0) 0
diff --git a/tests/auto/bic/data/QtCore.4.1.0.macx-gcc-ia32.txt b/tests/auto/bic/data/QtCore.4.1.0.macx-gcc-ia32.txt
index 50e7961..b858867 100644
--- a/tests/auto/bic/data/QtCore.4.1.0.macx-gcc-ia32.txt
+++ b/tests/auto/bic/data/QtCore.4.1.0.macx-gcc-ia32.txt
@@ -18,75 +18,19 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0x646140) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0x646380) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0x646440) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0x646500) 0 empty
-Class QTypeInfo<uchar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uchar> (0x6465c0) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0x646680) 0 empty
-Class QTypeInfo<ushort>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ushort> (0x646740) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0x646800) 0 empty
-Class QTypeInfo<uint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uint> (0x6468c0) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0x646980) 0 empty
-Class QTypeInfo<ulong>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ulong> (0x646a40) 0 empty
-Class QTypeInfo<qint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<qint64> (0x646b00) 0 empty
-Class QTypeInfo<quint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<quint64> (0x646bc0) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0x646c80) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0x646d40) 0 empty
Class QFlag
size=4 align=4
@@ -103,10 +47,6 @@ Class QChar
base size=2 base align=2
QChar (0x687040) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0x687140) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -119,10 +59,6 @@ Class QAtomic
QAtomic (0x687840) 0
QBasicAtomic (0x687880) 0
-Class <anonymous union>
- size=128 align=4
- base size=128 base align=4
-<anonymous union> (0x687b00) 0
Class __darwin_pthread_handler_rec
size=12 align=4
@@ -204,70 +140,18 @@ Class QByteRef
base size=8 base align=4
QByteRef (0xe207c0) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0xe20b80) 0 empty
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0xf29040) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0xf290c0) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0xf29140) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0xf291c0) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0xf29240) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0xf292c0) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0xf29340) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0xf293c0) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0xf29440) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0xf294c0) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0xf29540) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0xf295c0) 0
Class QInternal
size=1 align=1
@@ -294,10 +178,6 @@ Class QLatin1String
base size=4 base align=4
QLatin1String (0xf29d00) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0x108c140) 0
Class QCharRef
size=8 align=4
@@ -310,10 +190,6 @@ Class QConstString
QConstString (0x108cd40) 0
QString (0x108cd80) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0x108ce80) 0 empty
Vtable for std::exception
std::exception::_ZTVSt9exception: 5u entries
@@ -376,10 +252,6 @@ Class QListData
base size=4 base align=4
QListData (0x118b740) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0x118bd80) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -404,15 +276,7 @@ Class QTextCodec
QTextCodec (0x118bc00) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0x118ba00) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0x118b180) 0
Class QTextEncoder
size=32 align=4
@@ -435,25 +299,13 @@ Class QGenericReturnArgument
QGenericReturnArgument (0x12a9180) 0
QGenericArgument (0x12a91c0) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0x12a9480) 0
Class QMetaObject
size=16 align=4
base size=16 base align=4
QMetaObject (0x12a9400) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0x12a9700) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0x12a9640) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -545,10 +397,6 @@ QIODevice (0x12a9d40) 0
QObject (0x12a9d80) 0
primary-for QIODevice (0x12a9d40)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0x12a9fc0) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -568,25 +416,13 @@ Class QRegExp
base size=4 base align=4
QRegExp (0x136a5c0) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0x136a7c0) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0x136a840) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0x136aa40) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0x136a980) 0
Class QStringList
size=4 align=4
@@ -594,15 +430,7 @@ Class QStringList
QStringList (0x136ab00) 0
QList<QString> (0x136ab40) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0x136a280) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0x1414040) 0
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -736,50 +564,22 @@ QFile (0x1414e80) 0
QObject (0x1414f00) 0
primary-for QIODevice (0x1414ec0)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0x1414940) 0
Class QFileInfo
size=4 align=4
base size=4 base align=4
QFileInfo (0x1414a40) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0x14c0080) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0x14c0100) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0x14c02c0) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0x14c0200) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0x14c0380) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0x14c04c0) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0x14c0540) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -836,10 +636,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0x14c0580) 0
vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0x14c0840) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -913,10 +709,6 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0x14c0d40) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0x14c0dc0) 0 empty
Class QMapData::Node
size=8 align=4
@@ -941,10 +733,6 @@ Class QTextStream
QTextStream (0x16d50c0) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0x16d5380) 0
Class QTextStreamManipulator
size=24 align=4
@@ -1041,35 +829,15 @@ Class rlimit
base size=16 base align=4
rlimit (0x16d5f00) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0x1767600) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0x1767680) 0
Class wait
size=4 align=4
base size=4 base align=4
wait (0x1767580) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x1767700) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x1767780) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0x1767800) 0
Class QVectorData
size=16 align=4
@@ -1182,95 +950,23 @@ Class QMetaType
base size=0 base align=1
QMetaType (0x1867200) 0 empty
-Class QMetaTypeId<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QString> (0x1867340) 0 empty
-Class QMetaTypeId<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<int> (0x1867400) 0 empty
-Class QMetaTypeId<uint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<uint> (0x18674c0) 0 empty
-Class QMetaTypeId<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<bool> (0x1867580) 0 empty
-Class QMetaTypeId<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<double> (0x1867640) 0 empty
-Class QMetaTypeId<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QByteArray> (0x1867700) 0 empty
-Class QMetaTypeId<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QChar> (0x18677c0) 0 empty
-Class QMetaTypeId<void>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<void> (0x1867880) 0 empty
-Class QMetaTypeId<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<long int> (0x1867940) 0 empty
-Class QMetaTypeId<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<short int> (0x1867a00) 0 empty
-Class QMetaTypeId<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<char> (0x1867ac0) 0 empty
-Class QMetaTypeId<ulong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<ulong> (0x1867b80) 0 empty
-Class QMetaTypeId<ushort>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<ushort> (0x1867c40) 0 empty
-Class QMetaTypeId<uchar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<uchar> (0x1867d00) 0 empty
-Class QMetaTypeId<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<float> (0x1867dc0) 0 empty
-Class QMetaTypeId<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QObject*> (0x1867e80) 0 empty
-Class QMetaTypeId<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QWidget*> (0x1867f40) 0 empty
-Class QMetaTypeId<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<void*> (0x1867180) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -1297,50 +993,18 @@ Class QVariant
base size=12 base align=4
QVariant (0x189e040) 0
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0x189e6c0) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0x189e600) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0x189e8c0) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0x189e800) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0x189eb40) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0x189ec80) 0 empty
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0x189ed40) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x189edc0) 0
-Class <anonymous struct>
- size=3156 align=4
- base size=3156 base align=4
-<anonymous struct> (0x189ee40) 0
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1418,15 +1082,7 @@ Class QUrl
base size=4 base align=4
QUrl (0x19944c0) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0x1994680) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0x1994700) 0 empty
Vtable for QEventLoop
QEventLoop::_ZTV10QEventLoop: 14u entries
@@ -1453,10 +1109,6 @@ QEventLoop (0x1994780) 0
QObject (0x19947c0) 0
primary-for QEventLoop (0x1994780)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0x19949c0) 0
Vtable for QAbstractEventDispatcher
QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 27u entries
@@ -1501,20 +1153,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0x1994c00) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0x1994dc0) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0x1994e40) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0x1994f80) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -1684,10 +1328,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0x1a58540) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0x1a58640) 0 empty
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -1779,20 +1419,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0x1a58e00) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0x1ada040) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0x1ada0c0) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0x1ada180) 0 empty
Class QMetaProperty
size=20 align=4
@@ -1804,10 +1436,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0x1ada240) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0x1ada300) 0 empty
Vtable for QMimeData
QMimeData::_ZTV9QMimeData: 17u entries
@@ -2095,10 +1723,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0x1b72c40) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0x1b72d80) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -2110,70 +1734,42 @@ Class QDate
base size=4 base align=4
QDate (0x1b72f80) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0x1c2a0c0) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0x1c2a140) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0x1c2a380) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0x1c2a400) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0x1c2a580) 0 empty
Class QPoint
size=8 align=4
base size=8 base align=4
QPoint (0x1c2a600) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0x1c2aa80) 0 empty
Class QPointF
size=16 align=4
base size=16 base align=4
QPointF (0x1c2ad40) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0x1c2a640) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0x1c2af80) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0x1cbb040) 0 empty
Class QLineF
size=32 align=4
base size=32 base align=4
QLineF (0x1cbb1c0) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0x1cbb280) 0 empty
Class QLinkedListData
size=20 align=4
@@ -2185,73 +1781,37 @@ Class QLocale
base size=4 base align=4
QLocale (0x1cbb840) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0x1cbb8c0) 0 empty
Class QSize
size=8 align=4
base size=8 base align=4
QSize (0x1cbba00) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0x1cbbe00) 0 empty
Class QSizeF
size=16 align=4
base size=16 base align=4
QSizeF (0x1cbbd40) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0x1df93c0) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0x1df9840) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0x1df9a00) 0 empty
Class QRectF
size=32 align=4
base size=32 base align=4
QRectF (0x1df9c80) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0x1df9e40) 0 empty
Class QSharedData
size=4 align=4
base size=4 base align=4
QSharedData (0x1df9cc0) 0
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0x1fb7640) 0
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0x1fd74c0) 0
-Class QTypeInfo<QDebug::Stream*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDebug::Stream*> (0x2026540) 0 empty
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0x2089680) 0
diff --git a/tests/auto/bic/data/QtCore.4.1.0.macx-gcc-ppc32.txt b/tests/auto/bic/data/QtCore.4.1.0.macx-gcc-ppc32.txt
index 61c0216..b6c7d01 100644
--- a/tests/auto/bic/data/QtCore.4.1.0.macx-gcc-ppc32.txt
+++ b/tests/auto/bic/data/QtCore.4.1.0.macx-gcc-ppc32.txt
@@ -18,75 +18,19 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0x7c3b80) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0x7c3dc0) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0x7c3e80) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0x7c3f40) 0 empty
-Class QTypeInfo<uchar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uchar> (0x7f2000) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0x7f20c0) 0 empty
-Class QTypeInfo<ushort>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ushort> (0x7f2180) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0x7f2240) 0 empty
-Class QTypeInfo<uint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uint> (0x7f2300) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0x7f23c0) 0 empty
-Class QTypeInfo<ulong>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ulong> (0x7f2480) 0 empty
-Class QTypeInfo<qint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<qint64> (0x7f2540) 0 empty
-Class QTypeInfo<quint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<quint64> (0x7f2600) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0x7f26c0) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0x7f2780) 0 empty
Class QFlag
size=4 align=4
@@ -103,10 +47,6 @@ Class QChar
base size=2 base align=2
QChar (0x7f2a80) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0x7f2b80) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -119,10 +59,6 @@ Class QAtomic
QAtomic (0x7f2f80) 0
QBasicAtomic (0x7f2fc0) 0
-Class <anonymous union>
- size=128 align=8
- base size=128 base align=8
-<anonymous union> (0xea4240) 0
Class __darwin_pthread_handler_rec
size=12 align=4
@@ -204,70 +140,18 @@ Class QByteRef
base size=8 base align=4
QByteRef (0xea4f00) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0xf4a2c0) 0 empty
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0xf4a780) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0xf4a800) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0xf4a880) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0xf4a900) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0xf4a980) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0xf4aa00) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0xf4aa80) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0xf4ab00) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0xf4ab80) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0xf4ac00) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0xf4ac80) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0xf4ad00) 0
Class QInternal
size=1 align=1
@@ -294,10 +178,6 @@ Class QLatin1String
base size=4 base align=4
QLatin1String (0x1137440) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0x1137880) 0
Class QCharRef
size=8 align=4
@@ -310,10 +190,6 @@ Class QConstString
QConstString (0x1285480) 0
QString (0x12854c0) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0x12855c0) 0 empty
Vtable for std::exception
std::exception::_ZTVSt9exception: 5u entries
@@ -376,10 +252,6 @@ Class QListData
base size=4 base align=4
QListData (0x1285e80) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0x13003c0) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -404,15 +276,7 @@ Class QTextCodec
QTextCodec (0x1300240) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0x1300700) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0x1300640) 0
Class QTextEncoder
size=32 align=4
@@ -435,25 +299,13 @@ Class QGenericReturnArgument
QGenericReturnArgument (0x1300940) 0
QGenericArgument (0x1300980) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0x1300c40) 0
Class QMetaObject
size=16 align=4
base size=16 base align=4
QMetaObject (0x1300bc0) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0x1300ec0) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0x1300e00) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -545,10 +397,6 @@ QIODevice (0x145f400) 0
QObject (0x145f440) 0
primary-for QIODevice (0x145f400)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0x145f680) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -568,25 +416,13 @@ Class QRegExp
base size=4 base align=4
QRegExp (0x145fd40) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0x145ff40) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0x145ffc0) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0x1541100) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0x1541040) 0
Class QStringList
size=4 align=4
@@ -594,15 +430,7 @@ Class QStringList
QStringList (0x15411c0) 0
QList<QString> (0x1541200) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0x15416c0) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0x1541740) 0
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -736,50 +564,22 @@ QFile (0x15c5940) 0
QObject (0x15c59c0) 0
primary-for QIODevice (0x15c5980)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0x15c5b80) 0
Class QFileInfo
size=4 align=4
base size=4 base align=4
QFileInfo (0x15c5bc0) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0x15c5c80) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0x15c5d00) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0x15c5ec0) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0x15c5e00) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0x15c5f80) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0x16b3040) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0x16b30c0) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -836,10 +636,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0x16b3100) 0
vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0x16b33c0) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -913,10 +709,6 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0x16b38c0) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0x16b3940) 0 empty
Class QMapData::Node
size=8 align=4
@@ -941,10 +733,6 @@ Class QTextStream
QTextStream (0x17cd880) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0x17cdb40) 0
Class QTextStreamManipulator
size=24 align=4
@@ -1051,35 +839,15 @@ Class rlimit
base size=16 base align=8
rlimit (0x1923840) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0x1923900) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0x1923980) 0
Class wait
size=4 align=4
base size=4 base align=4
wait (0x1923880) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x1923a00) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x1923a80) 0
-Class <anonymous struct>
- size=16 align=8
- base size=16 base align=8
-<anonymous struct> (0x1923b00) 0
Class QVectorData
size=16 align=4
@@ -1192,95 +960,23 @@ Class QMetaType
base size=0 base align=1
QMetaType (0x1a05580) 0 empty
-Class QMetaTypeId<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QString> (0x1a056c0) 0 empty
-Class QMetaTypeId<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<int> (0x1a05780) 0 empty
-Class QMetaTypeId<uint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<uint> (0x1a05840) 0 empty
-Class QMetaTypeId<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<bool> (0x1a05900) 0 empty
-Class QMetaTypeId<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<double> (0x1a059c0) 0 empty
-Class QMetaTypeId<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QByteArray> (0x1a05a80) 0 empty
-Class QMetaTypeId<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QChar> (0x1a05b40) 0 empty
-Class QMetaTypeId<void>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<void> (0x1a05c00) 0 empty
-Class QMetaTypeId<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<long int> (0x1a05cc0) 0 empty
-Class QMetaTypeId<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<short int> (0x1a05d80) 0 empty
-Class QMetaTypeId<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<char> (0x1a05e40) 0 empty
-Class QMetaTypeId<ulong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<ulong> (0x1a05f00) 0 empty
-Class QMetaTypeId<ushort>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<ushort> (0x1a05fc0) 0 empty
-Class QMetaTypeId<uchar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<uchar> (0x1a05500) 0 empty
-Class QMetaTypeId<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<float> (0x1a93080) 0 empty
-Class QMetaTypeId<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QObject*> (0x1a93140) 0 empty
-Class QMetaTypeId<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QWidget*> (0x1a93200) 0 empty
-Class QMetaTypeId<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<void*> (0x1a932c0) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -1307,50 +1003,18 @@ Class QVariant
base size=16 base align=4
QVariant (0x1a93340) 0
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0x1a939c0) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0x1a93900) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0x1a93bc0) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0x1a93b00) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0x1a93e40) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0x1a93f80) 0 empty
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0x1a93580) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x1a93680) 0
-Class <anonymous struct>
- size=3156 align=4
- base size=3156 base align=4
-<anonymous struct> (0x1a93d00) 0
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1428,15 +1092,7 @@ Class QUrl
base size=4 base align=4
QUrl (0x1b65800) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0x1b659c0) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0x1b65a40) 0 empty
Vtable for QEventLoop
QEventLoop::_ZTV10QEventLoop: 14u entries
@@ -1463,10 +1119,6 @@ QEventLoop (0x1b65ac0) 0
QObject (0x1b65b00) 0
primary-for QEventLoop (0x1b65ac0)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0x1b65d00) 0
Vtable for QAbstractEventDispatcher
QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 27u entries
@@ -1511,20 +1163,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0x1b65f40) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0x1b65ec0) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0x1c71040) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0x1c71180) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -1694,10 +1338,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0x1c71880) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0x1c71980) 0 empty
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -1789,20 +1429,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0x1d35280) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0x1d35340) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0x1d353c0) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0x1d35480) 0 empty
Class QMetaProperty
size=20 align=4
@@ -1814,10 +1446,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0x1d35540) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0x1d35600) 0 empty
Vtable for QMimeData
QMimeData::_ZTV9QMimeData: 17u entries
@@ -2105,10 +1733,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0x1dcafc0) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0x1e7d080) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -2120,70 +1744,42 @@ Class QDate
base size=4 base align=4
QDate (0x1e7d280) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0x1e7d480) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0x1e7d500) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0x1e7d740) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0x1e7d7c0) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0x1e7d940) 0 empty
Class QPoint
size=8 align=4
base size=8 base align=4
QPoint (0x1e7d9c0) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0x1e7de40) 0 empty
Class QPointF
size=16 align=8
base size=16 base align=4
QPointF (0x1e7d800) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0x1f29000) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0x1f29300) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0x1f29380) 0 empty
Class QLineF
size=32 align=8
base size=32 base align=4
QLineF (0x1f29500) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0x1f295c0) 0 empty
Class QLinkedListData
size=20 align=4
@@ -2195,73 +1791,37 @@ Class QLocale
base size=4 base align=4
QLocale (0x1f29b80) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0x1f29c00) 0 empty
Class QSize
size=8 align=4
base size=8 base align=4
QSize (0x1f29d40) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0x1f29e80) 0 empty
Class QSizeF
size=16 align=8
base size=16 base align=4
QSizeF (0x208c300) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0x208c700) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0x208cb80) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0x208cd40) 0 empty
Class QRectF
size=32 align=8
base size=32 base align=4
QRectF (0x208cfc0) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0x208c540) 0 empty
Class QSharedData
size=4 align=4
base size=4 base align=4
QSharedData (0x219c2c0) 0
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0x22a1980) 0
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0x22c1800) 0
-Class QTypeInfo<QDebug::Stream*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDebug::Stream*> (0x2314880) 0 empty
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0x23799c0) 0
diff --git a/tests/auto/bic/data/QtCore.4.1.0.win32-gcc-ia32.txt b/tests/auto/bic/data/QtCore.4.1.0.win32-gcc-ia32.txt
index f761599..3d181ed 100644
--- a/tests/auto/bic/data/QtCore.4.1.0.win32-gcc-ia32.txt
+++ b/tests/auto/bic/data/QtCore.4.1.0.win32-gcc-ia32.txt
@@ -18,80 +18,20 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0xad5e40) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0xaeb680) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0xaeb800) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0xaeb980) 0 empty
-Class QTypeInfo<uchar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uchar> (0xaebb00) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0xaebc80) 0 empty
-Class QTypeInfo<ushort>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ushort> (0xaebe00) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0xaebf80) 0 empty
-Class QTypeInfo<uint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uint> (0xb07100) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0xb07280) 0 empty
-Class QTypeInfo<ulong>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ulong> (0xb07400) 0 empty
-Class QTypeInfo<qint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<qint64> (0xb07580) 0 empty
-Class QTypeInfo<quint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<quint64> (0xb07700) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0xb07880) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0xb07a00) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0xb07b80) 0 empty
Class QFlag
size=4 align=4
@@ -108,10 +48,6 @@ Class QChar
base size=2 base align=2
QChar (0xb4d840) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0xb6fcc0) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -139,70 +75,18 @@ Class QByteRef
base size=8 base align=4
QByteRef (0xc33f80) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0xd4ac40) 0 empty
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0xd77100) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0xd773c0) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0xd72c80) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0xd8d100) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0xd77a80) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0xd949c0) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0xdc8140) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0xdc8440) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0xd8d340) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0xdd8180) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0xdd8940) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0xdd8c80) 0
Class QInternal
size=1 align=1
@@ -229,10 +113,6 @@ Class QLatin1String
base size=4 base align=4
QLatin1String (0xeac500) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0xeac940) 0
Class QCharRef
size=8 align=4
@@ -245,10 +125,6 @@ Class QConstString
QConstString (0x11ce880) 0
QString (0x11ce8c0) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0x11cec00) 0 empty
Vtable for std::exception
std::exception::_ZTVSt9exception: 5u entries
@@ -311,10 +187,6 @@ Class QListData
base size=4 base align=4
QListData (0x1268f00) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0x1369e40) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -339,15 +211,7 @@ Class QTextCodec
QTextCodec (0xeac480) 0 nearly-empty
vptr=((&QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0x13ab140) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0xc3ca40) 0
Class QTextEncoder
size=32 align=4
@@ -370,25 +234,13 @@ Class QGenericReturnArgument
QGenericReturnArgument (0x13eafc0) 0
QGenericArgument (0x13f0000) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0x1405700) 0
Class QMetaObject
size=16 align=4
base size=16 base align=4
QMetaObject (0x13f0580) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0x141ff80) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0x141fb80) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -480,10 +332,6 @@ QIODevice (0x1369700) 0
QObject (0x14a9540) 0
primary-for QIODevice (0x1369700)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0x14a9840) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -503,25 +351,13 @@ Class QRegExp
base size=4 base align=4
QRegExp (0xeac380) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0x15774c0) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0x1577840) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0x1577d80) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0x1577c40) 0
Class QStringList
size=4 align=4
@@ -529,15 +365,7 @@ Class QStringList
QStringList (0xeac400) 0
QList<QString> (0x15a4000) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0x1577ec0) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0x1577e80) 0
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -666,50 +494,22 @@ QFile (0x1694840) 0
QObject (0x16948c0) 0
primary-for QIODevice (0x1694880)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0x16a3100) 0
Class QFileInfo
size=4 align=4
base size=4 base align=4
QFileInfo (0x16ca5c0) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0x16caf00) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0x16f8e40) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0x1722300) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0x1722200) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0x16ca440) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0x1750040) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0x1722c00) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -766,10 +566,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0x1694740) 0
vptr=((&QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0x17cf340) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -843,10 +639,6 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0x1824c40) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0x1824d40) 0 empty
Class QMapData::Node
size=8 align=4
@@ -871,10 +663,6 @@ Class QTextStream
QTextStream (0x1a69240) 0
vptr=((&QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0x1a69600) 0
Class QTextStreamManipulator
size=24 align=4
@@ -911,20 +699,8 @@ QTextOStream (0x1af7440) 0
QTextStream (0x1af7480) 0
primary-for QTextOStream (0x1af7440)
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x1b25680) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x1b25800) 0
-Class <anonymous struct>
- size=16 align=8
- base size=16 base align=8
-<anonymous struct> (0x1b445c0) 0
Class QVectorData
size=16 align=4
@@ -1037,95 +813,23 @@ Class QMetaType
base size=0 base align=1
QMetaType (0x1cd1bc0) 0 empty
-Class QMetaTypeId<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QString> (0x1cebd40) 0 empty
-Class QMetaTypeId<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<int> (0x1cebec0) 0 empty
-Class QMetaTypeId<uint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<uint> (0x1d05040) 0 empty
-Class QMetaTypeId<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<bool> (0x1d051c0) 0 empty
-Class QMetaTypeId<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<double> (0x1d05340) 0 empty
-Class QMetaTypeId<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QByteArray> (0x1d054c0) 0 empty
-Class QMetaTypeId<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QChar> (0x1d05640) 0 empty
-Class QMetaTypeId<void>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<void> (0x1d057c0) 0 empty
-Class QMetaTypeId<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<long int> (0x1d05940) 0 empty
-Class QMetaTypeId<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<short int> (0x1d05ac0) 0 empty
-Class QMetaTypeId<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<char> (0x1d05c40) 0 empty
-Class QMetaTypeId<ulong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<ulong> (0x1d05dc0) 0 empty
-Class QMetaTypeId<ushort>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<ushort> (0x1d05f40) 0 empty
-Class QMetaTypeId<uchar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<uchar> (0x1d230c0) 0 empty
-Class QMetaTypeId<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<float> (0x1d23240) 0 empty
-Class QMetaTypeId<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QObject*> (0x1d233c0) 0 empty
-Class QMetaTypeId<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QWidget*> (0x1d23540) 0 empty
-Class QMetaTypeId<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<void*> (0x1d236c0) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -1152,35 +856,15 @@ Class QVariant
base size=16 base align=8
QVariant (0x141f8c0) 0
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0x1dc0540) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0x1d35dc0) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0x1dc0840) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0x1d35e40) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0x1d35000) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0x1e26280) 0 empty
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1258,15 +942,7 @@ Class QUrl
base size=4 base align=4
QUrl (0x1d23f80) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0x1ec1440) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0x1ef3f80) 0 empty
Vtable for QEventLoop
QEventLoop::_ZTV10QEventLoop: 14u entries
@@ -1293,10 +969,6 @@ QEventLoop (0x1f20600) 0
QObject (0x1f20640) 0
primary-for QEventLoop (0x1f20600)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0x1f20940) 0
Vtable for QAbstractEventDispatcher
QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 27u entries
@@ -1341,20 +1013,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0x1f59f40) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0x1f89b40) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0x1f59ec0) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0x1f89e80) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -1524,10 +1188,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0x1ff5d80) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0x20393c0) 0 empty
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -1620,20 +1280,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0x13ea8c0) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0x20a9900) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0x13ea940) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0x20a9f00) 0 empty
Class QMetaProperty
size=20 align=4
@@ -1645,10 +1297,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0x13eaa40) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0x20d6640) 0 empty
Vtable for QMimeData
QMimeData::_ZTV9QMimeData: 17u entries
@@ -1941,10 +1589,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0x2222640) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0x2282040) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -1956,70 +1600,42 @@ Class QDate
base size=4 base align=4
QDate (0x1d23900) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0x22c3900) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0x1d23b00) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0x22e7540) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0x16ca4c0) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0x2310300) 0 empty
Class QPoint
size=8 align=4
base size=8 base align=4
QPoint (0x1d23b80) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0x2310f40) 0 empty
Class QPointF
size=16 align=8
base size=16 base align=8
QPointF (0x1d23c00) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0x2361180) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0x1d23980) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0x2382600) 0 empty
Class QLineF
size=32 align=8
base size=32 base align=8
QLineF (0x1d23a00) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0x23acb00) 0 empty
Class QLinkedListData
size=20 align=4
@@ -2031,73 +1647,37 @@ Class QLocale
base size=4 base align=4
QLocale (0x1d23a80) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0x24f8300) 0 empty
Class QSize
size=8 align=4
base size=8 base align=4
QSize (0x1d23c80) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0x2525480) 0 empty
Class QSizeF
size=16 align=8
base size=16 base align=8
QSizeF (0x1d23d00) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0x254b9c0) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0x1d23d80) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0x25ba440) 0 empty
Class QRectF
size=32 align=8
base size=32 base align=8
QRectF (0x1d23e00) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0x2639680) 0 empty
Class QSharedData
size=4 align=4
base size=4 base align=4
QSharedData (0x26e1500) 0
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0x13ab100) 0
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0x1577d40) 0
-Class QTypeInfo<QDebug::Stream*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDebug::Stream*> (0x28e51c0) 0 empty
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0x17222c0) 0
diff --git a/tests/auto/bic/data/QtCore.4.2.0.linux-gcc-ia32.txt b/tests/auto/bic/data/QtCore.4.2.0.linux-gcc-ia32.txt
index 4be1d76..e69c115 100644
--- a/tests/auto/bic/data/QtCore.4.2.0.linux-gcc-ia32.txt
+++ b/tests/auto/bic/data/QtCore.4.2.0.linux-gcc-ia32.txt
@@ -1,34 +1,8 @@
-Class QUintForSize<4>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<4> (0xb7fcebc0) 0 empty
-Class QUintForSize<8>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<8> (0xb7fcec00) 0 empty
-Class QUintForType<void*>
- size=1 align=1
- base size=1 base align=1
-QUintForType<void*> (0xb7fcecc0) 0 empty
- QUintForSize<4> (0xb7fced00) 0 empty
-Class QIntForSize<4>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<4> (0xb7fced80) 0 empty
-Class QIntForSize<8>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<8> (0xb7fcedc0) 0 empty
-Class QIntForType<void*>
- size=1 align=1
- base size=1 base align=1
-QIntForType<void*> (0xb7fcee80) 0 empty
- QIntForSize<4> (0xb7fceec0) 0 empty
Class QSysInfo
size=1 align=1
@@ -50,150 +24,38 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0xb7893140) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0xb7893200) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0xb7893240) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0xb7893280) 0 empty
-Class QTypeInfo<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned char> (0xb78932c0) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0xb7893300) 0 empty
-Class QTypeInfo<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short unsigned int> (0xb7893340) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0xb7893380) 0 empty
-Class QTypeInfo<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned int> (0xb78933c0) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0xb7893400) 0 empty
-Class QTypeInfo<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long unsigned int> (0xb7893440) 0 empty
-Class QTypeInfo<long long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long int> (0xb7893480) 0 empty
-Class QTypeInfo<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long unsigned int> (0xb78934c0) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0xb7893500) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0xb7893540) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0xb7893580) 0 empty
Class QFlag
size=4 align=4
base size=4 base align=4
QFlag (0xb78935c0) 0
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0xb78936c0) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0xb7893700) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0xb7893740) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0xb7893780) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0xb78937c0) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0xb7893800) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0xb7893840) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0xb7893880) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0xb78938c0) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0xb7893900) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0xb7893940) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0xb7893980) 0
-Class QFlags<Qt::TextInteractionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::TextInteractionFlag> (0xb78939c0) 0
Class QInternal
size=1 align=1
@@ -211,10 +73,6 @@ Class QGenericReturnArgument
QGenericReturnArgument (0xb7893a80) 0
QGenericArgument (0xb7893ac0) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0xb7893c80) 0
Class QMetaObject
size=16 align=4
@@ -231,10 +89,6 @@ Class QChar
base size=2 base align=2
QChar (0xb7893d40) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0xb7893dc0) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -267,10 +121,6 @@ Class QByteRef
base size=8 base align=4
QByteRef (0xb73f10c0) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0xb73f1100) 0 empty
Class QString::Null
size=1 align=1
@@ -287,10 +137,6 @@ Class QString
base size=4 base align=4
QString (0xb73f1140) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0xb73f12c0) 0
Class QLatin1String
size=4 align=4
@@ -308,10 +154,6 @@ Class QConstString
QConstString (0xb73f13c0) 0
QString (0xb73f1400) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0xb73f1440) 0 empty
Vtable for std::exception
std::exception::_ZTVSt9exception: 5u entries
@@ -374,15 +216,7 @@ Class QListData
base size=4 base align=4
QListData (0xb73f1740) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0xb73f1ac0) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0xb73f1a40) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -474,10 +308,6 @@ QIODevice (0xb73f1c40) 0
QObject (0xb73f1c80) 0
primary-for QIODevice (0xb73f1c40)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0xb73f1d40) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -507,10 +337,6 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0xb73f1ec0) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0xb73f1f00) 0 empty
Class QMapData::Node
size=8 align=4
@@ -522,10 +348,6 @@ Class QMapData
base size=72 base align=4
QMapData (0xb6f7d3c0) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0xb6f7d940) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -550,15 +372,7 @@ Class QTextCodec
QTextCodec (0xb6f7d880) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0xb6f7da80) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0xb6f7da00) 0
Class QTextEncoder
size=32 align=4
@@ -570,30 +384,10 @@ Class QTextDecoder
base size=32 base align=4
QTextDecoder (0xb6f7db00) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6f7db40) 0
-Class <anonymous struct>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct>::<anonymous union> (0xb6f7dbc0) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6f7db80) 0
-Class <anonymous struct>
- size=12 align=4
- base size=12 base align=4
-<anonymous struct> (0xb6f7dc00) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb6f7dc40) 0
Class __gconv_trans_data
size=20 align=4
@@ -615,15 +409,7 @@ Class __gconv_info
base size=8 base align=4
__gconv_info (0xb6f7dd40) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0xb6f7ddc0) 0
-Class <anonymous union>
- size=44 align=4
- base size=44 base align=4
-<anonymous union> (0xb6f7dd80) 0
Class _IO_marker
size=12 align=4
@@ -635,10 +421,6 @@ Class _IO_FILE
base size=148 base align=4
_IO_FILE (0xb6f7de40) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb6f7de80) 0
Vtable for QTextStream
QTextStream::_ZTV11QTextStream: 4u entries
@@ -653,10 +435,6 @@ Class QTextStream
QTextStream (0xb6f7dec0) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0xb6f7df80) 0
Class QTextStreamManipulator
size=24 align=4
@@ -693,40 +471,16 @@ QTextOStream (0xb6f7df40) 0
QTextStream (0xb6f39000) 0
primary-for QTextOStream (0xb6f7df40)
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0xb6f390c0) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0xb6f39100) 0
Class wait
size=4 align=4
base size=4 base align=4
wait (0xb6f39080) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6f39140) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6f39180) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb6f391c0) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb6f39200) 0
Class timespec
size=8 align=4
@@ -738,80 +492,24 @@ Class timeval
base size=8 base align=4
timeval (0xb6f39280) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb6f392c0) 0
-Class <anonymous union>
- size=36 align=4
- base size=36 base align=4
-<anonymous union> (0xb6f39300) 0
Class __pthread_internal_slist
size=4 align=4
base size=4 base align=4
__pthread_internal_slist (0xb6f39340) 0
-Class <anonymous union>::__pthread_mutex_s::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union>::__pthread_mutex_s::<anonymous union> (0xb6f39400) 0
-Class <anonymous union>::__pthread_mutex_s
- size=24 align=4
- base size=24 base align=4
-<anonymous union>::__pthread_mutex_s (0xb6f393c0) 0
-Class <anonymous union>
- size=24 align=4
- base size=24 base align=4
-<anonymous union> (0xb6f39380) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb6f39440) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0xb6f394c0) 0
-Class <anonymous union>
- size=48 align=4
- base size=48 base align=4
-<anonymous union> (0xb6f39480) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb6f39500) 0
-Class <anonymous union>::<anonymous struct>
- size=32 align=4
- base size=32 base align=4
-<anonymous union>::<anonymous struct> (0xb6f39580) 0
-Class <anonymous union>
- size=32 align=4
- base size=32 base align=4
-<anonymous union> (0xb6f39540) 0
-Class <anonymous union>
- size=8 align=4
- base size=8 base align=4
-<anonymous union> (0xb6f395c0) 0
-Class <anonymous union>
- size=20 align=4
- base size=20 base align=4
-<anonymous union> (0xb6f39600) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb6f39640) 0
Class random_data
size=28 align=4
@@ -882,10 +580,6 @@ QFile (0xb6f39b00) 0
QObject (0xb6f39b80) 0
primary-for QIODevice (0xb6f39b40)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0xb6f39c00) 0
Vtable for QTemporaryFile
QTemporaryFile::_ZTV14QTemporaryFile: 31u entries
@@ -938,50 +632,22 @@ Class QFileInfo
base size=4 base align=4
QFileInfo (0xb6f39d80) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0xb6f39dc0) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0xb6f39e00) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0xb6f39ec0) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0xb6f39e40) 0
Class QRegExp
size=4 align=4
base size=4 base align=4
QRegExp (0xb6f39f00) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0xb6f39f40) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0xb6f39f80) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0xb6f39ac0) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0xb6f39fc0) 0
Class QStringList
size=4 align=4
@@ -989,30 +655,14 @@ Class QStringList
QStringList (0xb6f39bc0) 0
QList<QString> (0xb6f39d40) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0xb6d05040) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0xb6d05080) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0xb6d05140) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0xb6d051c0) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0xb6d05240) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -1069,10 +719,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0xb6d05280) 0
vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0xb6d05400) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -1184,15 +830,7 @@ Class QLocale
base size=4 base align=4
QLocale (0xb6d056c0) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0xb6d05700) 0 empty
-Class QFlags<QLocale::NumberOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLocale::NumberOption> (0xb6d05740) 0
Vtable for QSystemLocale
QSystemLocale::_ZTV13QSystemLocale: 6u entries
@@ -1287,285 +925,65 @@ Class QUrl
base size=4 base align=4
QUrl (0xb6d05a40) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0xb6d05ac0) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0xb6d05b00) 0 empty
Class QMetaType
size=1 align=1
base size=0 base align=1
QMetaType (0xb6d05b40) 0 empty
-Class QMetaTypeId2<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QString> (0xb6d05c00) 0 empty
-Class QMetaTypeId2<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<int> (0xb6d05c40) 0 empty
-Class QMetaTypeId2<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned int> (0xb6d05c80) 0 empty
-Class QMetaTypeId2<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<bool> (0xb6d05cc0) 0 empty
-Class QMetaTypeId2<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<double> (0xb6d05d00) 0 empty
-Class QMetaTypeId2<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QByteArray> (0xb6d05d40) 0 empty
-Class QMetaTypeId2<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QChar> (0xb6d05d80) 0 empty
-Class QMetaTypeId2<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long int> (0xb6d05dc0) 0 empty
-Class QMetaTypeId2<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short int> (0xb6d05e00) 0 empty
-Class QMetaTypeId2<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<char> (0xb6d05e40) 0 empty
-Class QMetaTypeId2<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long unsigned int> (0xb6d05e80) 0 empty
-Class QMetaTypeId2<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short unsigned int> (0xb6d05ec0) 0 empty
-Class QMetaTypeId2<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned char> (0xb6d05f00) 0 empty
-Class QMetaTypeId2<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<float> (0xb6d05f40) 0 empty
-Class QMetaTypeId2<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QObject*> (0xb6d05f80) 0 empty
-Class QMetaTypeId2<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QWidget*> (0xb6d05fc0) 0 empty
-Class QMetaTypeId2<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<void*> (0xb6d05380) 0 empty
-Class QMetaTypeId2<long long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long int> (0xb6d05480) 0 empty
-Class QMetaTypeId2<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long unsigned int> (0xb6d05540) 0 empty
-Class QMetaTypeId2<QStringList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QStringList> (0xb6d05680) 0 empty
-Class QMetaTypeId2<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitArray> (0xb6d057c0) 0 empty
-Class QMetaTypeId2<QDate>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDate> (0xb6d05940) 0 empty
-Class QMetaTypeId2<QTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTime> (0xb6d05a00) 0 empty
-Class QMetaTypeId2<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDateTime> (0xb6a57000) 0 empty
-Class QMetaTypeId2<QUrl>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QUrl> (0xb6a57040) 0 empty
-Class QMetaTypeId2<QLocale>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLocale> (0xb6a57080) 0 empty
-Class QMetaTypeId2<QRect>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRect> (0xb6a570c0) 0 empty
-Class QMetaTypeId2<QRectF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRectF> (0xb6a57100) 0 empty
-Class QMetaTypeId2<QSize>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSize> (0xb6a57140) 0 empty
-Class QMetaTypeId2<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizeF> (0xb6a57180) 0 empty
-Class QMetaTypeId2<QLine>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLine> (0xb6a571c0) 0 empty
-Class QMetaTypeId2<QLineF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLineF> (0xb6a57200) 0 empty
-Class QMetaTypeId2<QPoint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPoint> (0xb6a57240) 0 empty
-Class QMetaTypeId2<QPointF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPointF> (0xb6a57280) 0 empty
-Class QMetaTypeId2<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegExp> (0xb6a572c0) 0 empty
-Class QMetaTypeId2<QColorGroup>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColorGroup> (0xb6a57300) 0 empty
-Class QMetaTypeId2<QFont>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QFont> (0xb6a57340) 0 empty
-Class QMetaTypeId2<QPixmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPixmap> (0xb6a57380) 0 empty
-Class QMetaTypeId2<QBrush>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBrush> (0xb6a573c0) 0 empty
-Class QMetaTypeId2<QColor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColor> (0xb6a57400) 0 empty
-Class QMetaTypeId2<QPalette>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPalette> (0xb6a57440) 0 empty
-Class QMetaTypeId2<QIcon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QIcon> (0xb6a57480) 0 empty
-Class QMetaTypeId2<QImage>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QImage> (0xb6a574c0) 0 empty
-Class QMetaTypeId2<QPolygon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPolygon> (0xb6a57500) 0 empty
-Class QMetaTypeId2<QRegion>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegion> (0xb6a57540) 0 empty
-Class QMetaTypeId2<QBitmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitmap> (0xb6a57580) 0 empty
-Class QMetaTypeId2<QCursor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QCursor> (0xb6a575c0) 0 empty
-Class QMetaTypeId2<QSizePolicy>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizePolicy> (0xb6a57600) 0 empty
-Class QMetaTypeId2<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QKeySequence> (0xb6a57640) 0 empty
-Class QMetaTypeId2<QPen>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPen> (0xb6a57680) 0 empty
-Class QMetaTypeId2<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextLength> (0xb6a576c0) 0 empty
-Class QMetaTypeId2<QTextFormat>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextFormat> (0xb6a57700) 0 empty
-Class QMetaTypeId2<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMatrix> (0xb6a57740) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -1592,45 +1010,17 @@ Class QVariant
base size=12 base align=4
QVariant (0xb6a57780) 0
-Class QMetaTypeId2<QList<QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QList<QVariant> > (0xb6a579c0) 0 empty
-Class QMetaTypeId2<QMap<QString, QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMap<QString, QVariant> > (0xb6a57a00) 0 empty
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0xb6a57b00) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0xb6a57a80) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0xb6a57c00) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0xb6a57b80) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0xb6a57cc0) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0xb6a57d40) 0 empty
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1662,80 +1052,48 @@ Class QPoint
base size=8 base align=4
QPoint (0xb6a57f00) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0xb6a57900) 0 empty
Class QPointF
size=16 align=4
base size=16 base align=4
QPointF (0xb6a57940) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0xb6a578c0) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0xb6a57980) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0xb6a57c80) 0 empty
Class QLineF
size=32 align=4
base size=32 base align=4
QLineF (0xb6a57e00) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0xb6a57e40) 0 empty
Class QSize
size=8 align=4
base size=8 base align=4
QSize (0xb6a57f40) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0xb6a57fc0) 0 empty
Class QSizeF
size=16 align=4
base size=16 base align=4
QSizeF (0xb69c7000) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0xb69c7200) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0xb69c72c0) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0xb69c73c0) 0 empty
Class QRectF
size=32 align=4
base size=32 base align=4
QRectF (0xb69c7400) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0xb69c74c0) 0 empty
Class QLinkedListData
size=20 align=4
@@ -1752,10 +1110,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0xb69c7880) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0xb69c78c0) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -1772,30 +1126,18 @@ Class QDate
base size=4 base align=4
QDate (0xb69c7b40) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0xb69c7c00) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0xb69c7c40) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0xb69c7d00) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0xb69c7d40) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0xb69c7e00) 0 empty
Vtable for QTimeLine
QTimeLine::_ZTV9QTimeLine: 15u entries
@@ -1981,10 +1323,6 @@ QEventLoop (0xb69c7bc0) 0
QObject (0xb69c7c80) 0
primary-for QEventLoop (0xb69c7bc0)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0xb69c7d80) 0
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -2091,20 +1429,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0xb6823400) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0xb6823440) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0xb6823480) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0xb6823500) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -2324,10 +1654,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0xb6823980) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0xb68239c0) 0 empty
Vtable for QSocketNotifier
QSocketNotifier::_ZTV15QSocketNotifier: 14u entries
@@ -2422,20 +1748,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0xb6823c40) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0xb6823c80) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0xb6823cc0) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0xb6823d00) 0 empty
Class QMetaProperty
size=20 align=4
@@ -2447,10 +1765,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0xb6823d80) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0xb6823dc0) 0 empty
Vtable for QPluginLoader
QPluginLoader::_ZTV13QPluginLoader: 14u entries
@@ -2507,10 +1821,6 @@ QLibrary (0xb6823f00) 0
QObject (0xb6823f40) 0
primary-for QLibrary (0xb6823f00)
-Class QFlags<QLibrary::LoadHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLibrary::LoadHint> (0xb6823fc0) 0
Class QSemaphore
size=4 align=4
@@ -2558,10 +1868,6 @@ Class QMutex
base size=4 base align=4
QMutex (0xb68234c0) 0
-Class QMutexLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMutexLocker::<anonymous union> (0xb68236c0) 0
Class QMutexLocker
size=4 align=4
@@ -2573,43 +1879,19 @@ Class QReadWriteLock
base size=4 base align=4
QReadWriteLock (0xb68237c0) 0
-Class QReadLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QReadLocker::<anonymous union> (0xb6823940) 0
Class QReadLocker
size=4 align=4
base size=4 base align=4
QReadLocker (0xb6823880) 0
-Class QWriteLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QWriteLocker::<anonymous union> (0xb6823b40) 0
Class QWriteLocker
size=4 align=4
base size=4 base align=4
QWriteLocker (0xb6823a80) 0
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0xb6823e80) 0
-Class QTypeInfo<QDebug::Stream*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDebug::Stream*> (0xb65c3000) 0 empty
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0xb65c3080) 0
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0xb65c3100) 0
diff --git a/tests/auto/bic/data/QtCore.4.2.0.linux-gcc-ppc32.txt b/tests/auto/bic/data/QtCore.4.2.0.linux-gcc-ppc32.txt
index eb8c051..909b00c 100644
--- a/tests/auto/bic/data/QtCore.4.2.0.linux-gcc-ppc32.txt
+++ b/tests/auto/bic/data/QtCore.4.2.0.linux-gcc-ppc32.txt
@@ -1,34 +1,8 @@
-Class QUintForSize<4>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<4> (0x3058e508) 0 empty
-Class QUintForSize<8>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<8> (0x3058e578) 0 empty
-Class QUintForType<void*>
- size=1 align=1
- base size=1 base align=1
-QUintForType<void*> (0x3001b9c0) 0 empty
- QUintForSize<4> (0x3058e6c8) 0 empty
-Class QIntForSize<4>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<4> (0x3058e7a8) 0 empty
-Class QIntForSize<8>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<8> (0x3058e818) 0 empty
-Class QIntForType<void*>
- size=1 align=1
- base size=1 base align=1
-QIntForType<void*> (0x3001ba40) 0 empty
- QIntForSize<4> (0x3058e968) 0 empty
Class QSysInfo
size=1 align=1
@@ -50,150 +24,38 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0x3058ece8) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0x3058eee0) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0x3058ef88) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0x305b3038) 0 empty
-Class QTypeInfo<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned char> (0x305b30e0) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0x305b3188) 0 empty
-Class QTypeInfo<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short unsigned int> (0x305b3230) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0x305b32d8) 0 empty
-Class QTypeInfo<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned int> (0x305b3380) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0x305b3428) 0 empty
-Class QTypeInfo<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long unsigned int> (0x305b34d0) 0 empty
-Class QTypeInfo<long long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long int> (0x305b3578) 0 empty
-Class QTypeInfo<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long unsigned int> (0x305b3620) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0x305b36c8) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0x305b3770) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0x305b3818) 0 empty
Class QFlag
size=4 align=4
base size=4 base align=4
QFlag (0x305b3888) 0
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0x305b3d58) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0x305b3dc8) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0x305b3e38) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0x305b3ea8) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0x305b3f18) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0x305b3f88) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0x30659000) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0x30659070) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0x306590e0) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0x30659150) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0x306591c0) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0x30659230) 0
-Class QFlags<Qt::TextInteractionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::TextInteractionFlag> (0x306592a0) 0
Class QInternal
size=1 align=1
@@ -211,10 +73,6 @@ Class QGenericReturnArgument
QGenericReturnArgument (0x3001bb80) 0
QGenericArgument (0x306593b8) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0x30659578) 0
Class QMetaObject
size=16 align=4
@@ -231,10 +89,6 @@ Class QChar
base size=2 base align=2
QChar (0x30659658) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0x30659700) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -267,10 +121,6 @@ Class QByteRef
base size=8 base align=4
QByteRef (0x30b7b460) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0x30b7b7a8) 0 empty
Class QString::Null
size=1 align=1
@@ -287,10 +137,6 @@ Class QString
base size=4 base align=4
QString (0x30b7b850) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0x30b7ba80) 0
Class QLatin1String
size=4 align=4
@@ -308,10 +154,6 @@ Class QConstString
QConstString (0x3001bdc0) 0
QString (0x30ca4c08) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0x30ca4ce8) 0 empty
Vtable for std::exception
std::exception::_ZTVSt9exception: 5u entries
@@ -374,15 +216,7 @@ Class QListData
base size=4 base align=4
QListData (0x30d9c3b8) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0x30d9c8f8) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0x30d9c850) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -474,10 +308,6 @@ QIODevice (0x3001be80) 0
QObject (0x30d9cdc8) 0
primary-for QIODevice (0x3001be80)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0x30d9cfc0) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -507,10 +337,6 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0x30ebc5b0) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0x30ebc620) 0 empty
Class QMapData::Node
size=8 align=4
@@ -522,10 +348,6 @@ Class QMapData
base size=72 base align=4
QMapData (0x30ebce70) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0x30f9a498) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -550,15 +372,7 @@ Class QTextCodec
QTextCodec (0x30f9a348) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0x30f9a770) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0x30f9a6c8) 0
Class QTextEncoder
size=32 align=4
@@ -570,30 +384,10 @@ Class QTextDecoder
base size=32 base align=4
QTextDecoder (0x30f9a888) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x30f9a930) 0
-Class <anonymous struct>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct>::<anonymous union> (0x30f9aa10) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x30f9a9a0) 0
-Class <anonymous struct>
- size=12 align=4
- base size=12 base align=4
-<anonymous struct> (0x30f9aa80) 0
-Class <anonymous struct>
- size=16 align=8
- base size=16 base align=8
-<anonymous struct> (0x30f9aaf0) 0
Class __gconv_trans_data
size=20 align=4
@@ -615,15 +409,7 @@ Class __gconv_info
base size=8 base align=4
__gconv_info (0x30f9ac40) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0x30f9ad20) 0
-Class <anonymous union>
- size=44 align=4
- base size=44 base align=4
-<anonymous union> (0x30f9acb0) 0
Class _IO_marker
size=12 align=4
@@ -635,10 +421,6 @@ Class _IO_FILE
base size=152 base align=8
_IO_FILE (0x30f9ad90) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0x30f9ae00) 0
Vtable for QTextStream
QTextStream::_ZTV11QTextStream: 4u entries
@@ -653,10 +435,6 @@ Class QTextStream
QTextStream (0x30f9ae38) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0x30f9a578) 0
Class QTextStreamManipulator
size=24 align=4
@@ -693,40 +471,16 @@ QTextOStream (0x310aa080) 0
QTextStream (0x310c7508) 0
primary-for QTextOStream (0x310aa080)
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0x310c77e0) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0x310c7850) 0
Class wait
size=4 align=4
base size=4 base align=4
wait (0x310c7770) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x310c78c0) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x310c7930) 0
-Class <anonymous struct>
- size=16 align=8
- base size=16 base align=8
-<anonymous struct> (0x310c79a0) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0x310c7a10) 0
Class timespec
size=8 align=4
@@ -738,70 +492,18 @@ Class timeval
base size=8 base align=4
timeval (0x310c7a80) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0x310c7af0) 0
-Class <anonymous union>
- size=36 align=4
- base size=36 base align=4
-<anonymous union> (0x310c7b60) 0
-Class <anonymous union>::<anonymous struct>
- size=24 align=4
- base size=24 base align=4
-<anonymous union>::<anonymous struct> (0x310c7c40) 0
-Class <anonymous union>
- size=24 align=4
- base size=24 base align=4
-<anonymous union> (0x310c7bd0) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0x310c7cb0) 0
-Class <anonymous union>::<anonymous struct>
- size=48 align=8
- base size=48 base align=8
-<anonymous union>::<anonymous struct> (0x310c7d90) 0
-Class <anonymous union>
- size=48 align=8
- base size=48 base align=8
-<anonymous union> (0x310c7d20) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0x310c7e00) 0
-Class <anonymous union>::<anonymous struct>
- size=32 align=4
- base size=32 base align=4
-<anonymous union>::<anonymous struct> (0x310c7ee0) 0
-Class <anonymous union>
- size=32 align=4
- base size=32 base align=4
-<anonymous union> (0x310c7e70) 0
-Class <anonymous union>
- size=8 align=4
- base size=8 base align=4
-<anonymous union> (0x310c7f50) 0
-Class <anonymous union>
- size=20 align=4
- base size=20 base align=4
-<anonymous union> (0x310c7fc0) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0x310c75b0) 0
Class random_data
size=28 align=4
@@ -872,10 +574,6 @@ QFile (0x310aa0c0) 0
QObject (0x31108888) 0
primary-for QIODevice (0x310aa100)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0x31108a10) 0
Vtable for QTemporaryFile
QTemporaryFile::_ZTV14QTemporaryFile: 31u entries
@@ -928,50 +626,22 @@ Class QFileInfo
base size=4 base align=4
QFileInfo (0x31108b60) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0x31108c08) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0x31108c78) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0x31108e00) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0x31108d58) 0
Class QRegExp
size=4 align=4
base size=4 base align=4
QRegExp (0x31108ea8) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0x312b4000) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0x312b4070) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0x312b4230) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0x312b4188) 0
Class QStringList
size=4 align=4
@@ -979,30 +649,14 @@ Class QStringList
QStringList (0x310aa200) 0
QList<QString> (0x312b42d8) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0x312b4700) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0x312b4770) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0x312b4a80) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0x312b4b98) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0x312b4c40) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -1059,10 +713,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0x312b4c78) 0
vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0x312b4ee0) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -1174,15 +824,7 @@ Class QLocale
base size=4 base align=4
QLocale (0x3136e230) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0x3136e2d8) 0 empty
-Class QFlags<QLocale::NumberOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLocale::NumberOption> (0x3136e380) 0
Vtable for QSystemLocale
QSystemLocale::_ZTV13QSystemLocale: 6u entries
@@ -1277,285 +919,65 @@ Class QUrl
base size=4 base align=4
QUrl (0x3136e770) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0x3136e8f8) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0x3136e968) 0 empty
Class QMetaType
size=1 align=1
base size=0 base align=1
QMetaType (0x3136e9d8) 0 empty
-Class QMetaTypeId2<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QString> (0x3136eb98) 0 empty
-Class QMetaTypeId2<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<int> (0x3136ec40) 0 empty
-Class QMetaTypeId2<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned int> (0x3136ece8) 0 empty
-Class QMetaTypeId2<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<bool> (0x3136ed90) 0 empty
-Class QMetaTypeId2<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<double> (0x3136ee38) 0 empty
-Class QMetaTypeId2<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QByteArray> (0x3136eee0) 0 empty
-Class QMetaTypeId2<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QChar> (0x3136ef88) 0 empty
-Class QMetaTypeId2<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long int> (0x3136e1c0) 0 empty
-Class QMetaTypeId2<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short int> (0x3136e700) 0 empty
-Class QMetaTypeId2<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<char> (0x3144d070) 0 empty
-Class QMetaTypeId2<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long unsigned int> (0x3144d118) 0 empty
-Class QMetaTypeId2<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short unsigned int> (0x3144d1c0) 0 empty
-Class QMetaTypeId2<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned char> (0x3144d268) 0 empty
-Class QMetaTypeId2<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<float> (0x3144d310) 0 empty
-Class QMetaTypeId2<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QObject*> (0x3144d3b8) 0 empty
-Class QMetaTypeId2<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QWidget*> (0x3144d460) 0 empty
-Class QMetaTypeId2<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<void*> (0x3144d508) 0 empty
-Class QMetaTypeId2<long long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long int> (0x3144d5b0) 0 empty
-Class QMetaTypeId2<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long unsigned int> (0x3144d658) 0 empty
-Class QMetaTypeId2<QStringList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QStringList> (0x3144d700) 0 empty
-Class QMetaTypeId2<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitArray> (0x3144d7a8) 0 empty
-Class QMetaTypeId2<QDate>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDate> (0x3144d850) 0 empty
-Class QMetaTypeId2<QTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTime> (0x3144d8f8) 0 empty
-Class QMetaTypeId2<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDateTime> (0x3144d9a0) 0 empty
-Class QMetaTypeId2<QUrl>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QUrl> (0x3144da48) 0 empty
-Class QMetaTypeId2<QLocale>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLocale> (0x3144daf0) 0 empty
-Class QMetaTypeId2<QRect>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRect> (0x3144db98) 0 empty
-Class QMetaTypeId2<QRectF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRectF> (0x3144dc40) 0 empty
-Class QMetaTypeId2<QSize>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSize> (0x3144dce8) 0 empty
-Class QMetaTypeId2<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizeF> (0x3144dd90) 0 empty
-Class QMetaTypeId2<QLine>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLine> (0x3144de38) 0 empty
-Class QMetaTypeId2<QLineF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLineF> (0x3144dee0) 0 empty
-Class QMetaTypeId2<QPoint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPoint> (0x3144df88) 0 empty
-Class QMetaTypeId2<QPointF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPointF> (0x31468038) 0 empty
-Class QMetaTypeId2<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegExp> (0x314680e0) 0 empty
-Class QMetaTypeId2<QColorGroup>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColorGroup> (0x31468188) 0 empty
-Class QMetaTypeId2<QFont>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QFont> (0x31468230) 0 empty
-Class QMetaTypeId2<QPixmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPixmap> (0x314682d8) 0 empty
-Class QMetaTypeId2<QBrush>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBrush> (0x31468380) 0 empty
-Class QMetaTypeId2<QColor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColor> (0x31468428) 0 empty
-Class QMetaTypeId2<QPalette>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPalette> (0x314684d0) 0 empty
-Class QMetaTypeId2<QIcon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QIcon> (0x31468578) 0 empty
-Class QMetaTypeId2<QImage>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QImage> (0x31468620) 0 empty
-Class QMetaTypeId2<QPolygon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPolygon> (0x314686c8) 0 empty
-Class QMetaTypeId2<QRegion>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegion> (0x31468770) 0 empty
-Class QMetaTypeId2<QBitmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitmap> (0x31468818) 0 empty
-Class QMetaTypeId2<QCursor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QCursor> (0x314688c0) 0 empty
-Class QMetaTypeId2<QSizePolicy>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizePolicy> (0x31468968) 0 empty
-Class QMetaTypeId2<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QKeySequence> (0x31468a10) 0 empty
-Class QMetaTypeId2<QPen>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPen> (0x31468ab8) 0 empty
-Class QMetaTypeId2<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextLength> (0x31468b60) 0 empty
-Class QMetaTypeId2<QTextFormat>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextFormat> (0x31468c08) 0 empty
-Class QMetaTypeId2<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMatrix> (0x31468cb0) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -1582,45 +1004,17 @@ Class QVariant
base size=16 base align=8
QVariant (0x31468d20) 0
-Class QMetaTypeId2<QList<QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QList<QVariant> > (0x314b80e0) 0 empty
-Class QMetaTypeId2<QMap<QString, QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMap<QString, QVariant> > (0x314b8188) 0 empty
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0x314b8348) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0x314b82a0) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0x314b8508) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0x314b8460) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0x314b8620) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0x314b8738) 0 empty
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1652,80 +1046,48 @@ Class QPoint
base size=8 base align=4
QPoint (0x314b8c78) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0x314b89d8) 0 empty
Class QPointF
size=16 align=8
base size=16 base align=8
QPointF (0x31577000) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0x315773f0) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0x31577620) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0x31577690) 0 empty
Class QLineF
size=32 align=8
base size=32 base align=8
QLineF (0x315777e0) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0x31577888) 0 empty
Class QSize
size=8 align=4
base size=8 base align=4
QSize (0x31577a10) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0x31577d90) 0 empty
Class QSizeF
size=16 align=8
base size=16 base align=8
QSizeF (0x31577118) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0x31577b98) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0x3160a2a0) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0x3160a498) 0 empty
Class QRectF
size=32 align=8
base size=32 base align=8
QRectF (0x3160a6c8) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0x3160a850) 0 empty
Class QLinkedListData
size=20 align=4
@@ -1742,10 +1104,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0x31767150) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0x31767230) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -1762,30 +1120,18 @@ Class QDate
base size=4 base align=4
QDate (0x31767620) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0x317677e0) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0x31767850) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0x31767a10) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0x31767a80) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0x31767bd0) 0 empty
Vtable for QTimeLine
QTimeLine::_ZTV9QTimeLine: 15u entries
@@ -1971,10 +1317,6 @@ QEventLoop (0x310aa780) 0
QObject (0x3181f658) 0
primary-for QEventLoop (0x310aa780)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0x3181f818) 0
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -2081,20 +1423,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0x3181fee0) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0x318d0118) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0x318d0188) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0x318d02a0) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -2314,10 +1648,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0x318d09d8) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0x318d0ab8) 0 empty
Vtable for QSocketNotifier
QSocketNotifier::_ZTV15QSocketNotifier: 14u entries
@@ -2412,20 +1742,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0x318d0ee0) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0x318d0f88) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0x318d01f8) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0x318d06c8) 0 empty
Class QMetaProperty
size=20 align=4
@@ -2437,10 +1759,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0x318d0bd0) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0x31998000) 0 empty
Vtable for QPluginLoader
QPluginLoader::_ZTV13QPluginLoader: 14u entries
@@ -2497,10 +1815,6 @@ QLibrary (0x310aac00) 0
QObject (0x319982d8) 0
primary-for QLibrary (0x310aac00)
-Class QFlags<QLibrary::LoadHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLibrary::LoadHint> (0x31998460) 0
Class QSemaphore
size=4 align=4
@@ -2548,10 +1862,6 @@ Class QMutex
base size=4 base align=4
QMutex (0x31998700) 0
-Class QMutexLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMutexLocker::<anonymous union> (0x31998888) 0
Class QMutexLocker
size=4 align=4
@@ -2563,43 +1873,19 @@ Class QReadWriteLock
base size=4 base align=4
QReadWriteLock (0x31998930) 0
-Class QReadLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QReadLocker::<anonymous union> (0x319989d8) 0
Class QReadLocker
size=4 align=4
base size=4 base align=4
QReadLocker (0x31998968) 0
-Class QWriteLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QWriteLocker::<anonymous union> (0x31998af0) 0
Class QWriteLocker
size=4 align=4
base size=4 base align=4
QWriteLocker (0x31998a80) 0
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0x31a6e038) 0
-Class QTypeInfo<QDebug::Stream*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDebug::Stream*> (0x31a6e770) 0 empty
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0x31a86578) 0
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0x31b0f8c0) 0
diff --git a/tests/auto/bic/data/QtCore.4.2.0.macx-gcc-ia32.txt b/tests/auto/bic/data/QtCore.4.2.0.macx-gcc-ia32.txt
index f6b3abe..58d6e9e 100644
--- a/tests/auto/bic/data/QtCore.4.2.0.macx-gcc-ia32.txt
+++ b/tests/auto/bic/data/QtCore.4.2.0.macx-gcc-ia32.txt
@@ -1,34 +1,8 @@
-Class QUintForSize<4>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<4> (0x692c00) 0 empty
-Class QUintForSize<8>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<8> (0x692c80) 0 empty
-Class QUintForType<void*>
- size=1 align=1
- base size=1 base align=1
-QUintForType<void*> (0x692e40) 0 empty
- QUintForSize<4> (0x692e80) 0 empty
-Class QIntForSize<4>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<4> (0x692f80) 0 empty
-Class QIntForSize<8>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<8> (0x697000) 0 empty
-Class QIntForType<void*>
- size=1 align=1
- base size=1 base align=1
-QIntForType<void*> (0x6971c0) 0 empty
- QIntForSize<4> (0x697200) 0 empty
Class QSysInfo
size=1 align=1
@@ -50,75 +24,19 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0x697700) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0x697940) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0x697a00) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0x697ac0) 0 empty
-Class QTypeInfo<uchar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uchar> (0x697b80) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0x697c40) 0 empty
-Class QTypeInfo<ushort>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ushort> (0x697d00) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0x697dc0) 0 empty
-Class QTypeInfo<uint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uint> (0x697e80) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0x697f40) 0 empty
-Class QTypeInfo<ulong>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ulong> (0x6d0000) 0 empty
-Class QTypeInfo<qint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<qint64> (0x6d00c0) 0 empty
-Class QTypeInfo<quint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<quint64> (0x6d0180) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0x6d0240) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0x6d0300) 0 empty
Class QFlag
size=4 align=4
@@ -135,10 +53,6 @@ Class QChar
base size=2 base align=2
QChar (0x6d0600) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0x6d0700) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -151,10 +65,6 @@ Class QAtomic
QAtomic (0x6d0e00) 0
QBasicAtomic (0x6d0e40) 0
-Class <anonymous union>
- size=128 align=4
- base size=128 base align=4
-<anonymous union> (0xe730c0) 0
Class __darwin_pthread_handler_rec
size=12 align=4
@@ -236,75 +146,19 @@ Class QByteRef
base size=8 base align=4
QByteRef (0xe73e00) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0xf0e1c0) 0 empty
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0xf0e640) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0xf0e6c0) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0xf0e740) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0xf0e7c0) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0xf0e840) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0xf0e8c0) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0xf0e940) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0xf0e9c0) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0xf0ea40) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0xf0eac0) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0xf0eb40) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0xf0ebc0) 0
-Class QFlags<Qt::TextInteractionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::TextInteractionFlag> (0xf0ec40) 0
Class QInternal
size=1 align=1
@@ -331,10 +185,6 @@ Class QLatin1String
base size=4 base align=4
QLatin1String (0x10df400) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0x10df840) 0
Class QCharRef
size=8 align=4
@@ -347,10 +197,6 @@ Class QConstString
QConstString (0x11ff480) 0
QString (0x11ff4c0) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0x11ff5c0) 0 empty
Vtable for std::exception
std::exception::_ZTVSt9exception: 5u entries
@@ -413,10 +259,6 @@ Class QListData
base size=4 base align=4
QListData (0x11ffe40) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0x12853c0) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -441,15 +283,7 @@ Class QTextCodec
QTextCodec (0x1285240) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0x1285700) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0x1285640) 0
Class QTextEncoder
size=32 align=4
@@ -472,25 +306,13 @@ Class QGenericReturnArgument
QGenericReturnArgument (0x1285940) 0
QGenericArgument (0x1285980) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0x1285c40) 0
Class QMetaObject
size=16 align=4
base size=16 base align=4
QMetaObject (0x1285bc0) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0x1285ec0) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0x1285e00) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -582,10 +404,6 @@ QIODevice (0x13bd400) 0
QObject (0x13bd440) 0
primary-for QIODevice (0x13bd400)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0x13bd680) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -605,25 +423,13 @@ Class QRegExp
base size=4 base align=4
QRegExp (0x13bdd80) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0x13bdfc0) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0x13bd540) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0x148e180) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0x148e0c0) 0
Class QStringList
size=4 align=4
@@ -631,15 +437,7 @@ Class QStringList
QStringList (0x148e240) 0
QList<QString> (0x148e280) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0x148e740) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0x148e7c0) 0
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -773,50 +571,22 @@ QFile (0x1504580) 0
QObject (0x1504600) 0
primary-for QIODevice (0x15045c0)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0x15047c0) 0
Class QFileInfo
size=4 align=4
base size=4 base align=4
QFileInfo (0x1504800) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0x15048c0) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0x1504940) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0x1504b00) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0x1504a40) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0x1504bc0) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0x1504d00) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0x1504d80) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -873,10 +643,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0x1504dc0) 0
vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0x1504700) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -950,10 +716,6 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0x1633480) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0x1633500) 0 empty
Class QMapData::Node
size=8 align=4
@@ -978,10 +740,6 @@ Class QTextStream
QTextStream (0x16e38c0) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0x16e3b80) 0
Class QTextStreamManipulator
size=24 align=4
@@ -1078,35 +836,15 @@ Class rlimit
base size=16 base align=4
rlimit (0x1823640) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0x1823dc0) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0x1823e40) 0
Class wait
size=4 align=4
base size=4 base align=4
wait (0x1823d40) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x1823ec0) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x1823f40) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0x1823fc0) 0
Class QVectorData
size=16 align=4
@@ -1244,15 +982,7 @@ Class QLocale
base size=4 base align=4
QLocale (0x1860e80) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0x1860f40) 0 empty
-Class QFlags<QLocale::NumberOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLocale::NumberOption> (0x1860900) 0
Vtable for QSystemLocale
QSystemLocale::_ZTV13QSystemLocale: 6u entries
@@ -1279,270 +1009,58 @@ Class QMetaType
base size=0 base align=1
QMetaType (0x1a28100) 0 empty
-Class QMetaTypeId2<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QString> (0x1a28300) 0 empty
-Class QMetaTypeId2<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<int> (0x1a283c0) 0 empty
-Class QMetaTypeId2<uint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<uint> (0x1a28480) 0 empty
-Class QMetaTypeId2<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<bool> (0x1a28540) 0 empty
-Class QMetaTypeId2<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<double> (0x1a28600) 0 empty
-Class QMetaTypeId2<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QByteArray> (0x1a286c0) 0 empty
-Class QMetaTypeId2<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QChar> (0x1a28780) 0 empty
-Class QMetaTypeId2<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long int> (0x1a28840) 0 empty
-Class QMetaTypeId2<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short int> (0x1a28900) 0 empty
-Class QMetaTypeId2<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<char> (0x1a289c0) 0 empty
-Class QMetaTypeId2<ulong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<ulong> (0x1a28a80) 0 empty
-Class QMetaTypeId2<ushort>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<ushort> (0x1a28b40) 0 empty
-Class QMetaTypeId2<uchar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<uchar> (0x1a28c00) 0 empty
-Class QMetaTypeId2<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<float> (0x1a28cc0) 0 empty
-Class QMetaTypeId2<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QObject*> (0x1a28d80) 0 empty
-Class QMetaTypeId2<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QWidget*> (0x1a28e40) 0 empty
-Class QMetaTypeId2<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<void*> (0x1a28f00) 0 empty
-Class QMetaTypeId2<qlonglong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<qlonglong> (0x1a28fc0) 0 empty
-Class QMetaTypeId2<qulonglong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<qulonglong> (0x1a5e040) 0 empty
-Class QMetaTypeId2<QStringList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QStringList> (0x1a5e100) 0 empty
-Class QMetaTypeId2<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitArray> (0x1a5e1c0) 0 empty
-Class QMetaTypeId2<QDate>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDate> (0x1a5e280) 0 empty
-Class QMetaTypeId2<QTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTime> (0x1a5e340) 0 empty
-Class QMetaTypeId2<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDateTime> (0x1a5e400) 0 empty
-Class QMetaTypeId2<QUrl>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QUrl> (0x1a5e4c0) 0 empty
-Class QMetaTypeId2<QLocale>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLocale> (0x1a5e580) 0 empty
-Class QMetaTypeId2<QRect>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRect> (0x1a5e640) 0 empty
-Class QMetaTypeId2<QRectF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRectF> (0x1a5e700) 0 empty
-Class QMetaTypeId2<QSize>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSize> (0x1a5e7c0) 0 empty
-Class QMetaTypeId2<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizeF> (0x1a5e880) 0 empty
-Class QMetaTypeId2<QLine>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLine> (0x1a5e940) 0 empty
-Class QMetaTypeId2<QLineF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLineF> (0x1a5ea00) 0 empty
-Class QMetaTypeId2<QPoint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPoint> (0x1a5eac0) 0 empty
-Class QMetaTypeId2<QPointF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPointF> (0x1a5eb80) 0 empty
-Class QMetaTypeId2<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegExp> (0x1a5ec40) 0 empty
-Class QMetaTypeId2<QColorGroup>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColorGroup> (0x1a5ed00) 0 empty
-Class QMetaTypeId2<QFont>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QFont> (0x1a5edc0) 0 empty
-Class QMetaTypeId2<QPixmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPixmap> (0x1a5ee80) 0 empty
-Class QMetaTypeId2<QBrush>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBrush> (0x1a5ef40) 0 empty
-Class QMetaTypeId2<QColor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColor> (0x1a79000) 0 empty
-Class QMetaTypeId2<QPalette>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPalette> (0x1a790c0) 0 empty
-Class QMetaTypeId2<QIcon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QIcon> (0x1a79180) 0 empty
-Class QMetaTypeId2<QImage>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QImage> (0x1a79240) 0 empty
-Class QMetaTypeId2<QPolygon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPolygon> (0x1a79300) 0 empty
-Class QMetaTypeId2<QRegion>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegion> (0x1a793c0) 0 empty
-Class QMetaTypeId2<QBitmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitmap> (0x1a79480) 0 empty
-Class QMetaTypeId2<QCursor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QCursor> (0x1a79540) 0 empty
-Class QMetaTypeId2<QSizePolicy>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizePolicy> (0x1a79600) 0 empty
-Class QMetaTypeId2<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QKeySequence> (0x1a796c0) 0 empty
-Class QMetaTypeId2<QPen>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPen> (0x1a79780) 0 empty
-Class QMetaTypeId2<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextLength> (0x1a79840) 0 empty
-Class QMetaTypeId2<QTextFormat>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextFormat> (0x1a79900) 0 empty
-Class QMetaTypeId2<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMatrix> (0x1a799c0) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -1569,60 +1087,20 @@ Class QVariant
base size=12 base align=4
QVariant (0x1a79a40) 0
-Class QMetaTypeId2<QVariantList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QVariantList> (0x1a79f80) 0 empty
-Class QMetaTypeId2<QVariantMap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QVariantMap> (0x1a79c80) 0 empty
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0x1ad4140) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0x1ad4080) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0x1ad4340) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0x1ad4280) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0x1ad44c0) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0x1ad4600) 0 empty
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0x1ad46c0) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x1ad4740) 0
-Class <anonymous struct>
- size=3156 align=4
- base size=3156 base align=4
-<anonymous struct> (0x1ad47c0) 0
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1700,15 +1178,7 @@ Class QUrl
base size=4 base align=4
QUrl (0x1ad43c0) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0x1b970c0) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0x1b97140) 0 empty
Vtable for QEventLoop
QEventLoop::_ZTV10QEventLoop: 14u entries
@@ -1735,10 +1205,6 @@ QEventLoop (0x1b971c0) 0
QObject (0x1b97200) 0
primary-for QEventLoop (0x1b971c0)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0x1b97400) 0
Vtable for QAbstractEventDispatcher
QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 27u entries
@@ -1783,20 +1249,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0x1b97640) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0x1b97800) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0x1b97880) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0x1b979c0) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -1966,10 +1424,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0x1b97c00) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0x1c98080) 0 empty
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -2076,20 +1530,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0x1c98dc0) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0x1c98e80) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0x1c98f00) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0x1c98fc0) 0 empty
Class QMetaProperty
size=20 align=4
@@ -2101,10 +1547,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0x1c98500) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0x1c98940) 0 empty
Vtable for QMimeData
QMimeData::_ZTV9QMimeData: 17u entries
@@ -2286,10 +1728,6 @@ QLibrary (0x1cf8900) 0
QObject (0x1cf8940) 0
primary-for QLibrary (0x1cf8900)
-Class QFlags<QLibrary::LoadHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLibrary::LoadHint> (0x1cf8b00) 0
Vtable for QPluginLoader
QPluginLoader::_ZTV13QPluginLoader: 14u entries
@@ -2326,10 +1764,6 @@ Class QMutex
base size=4 base align=4
QMutex (0x1cf8e40) 0
-Class QMutexLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMutexLocker::<anonymous union> (0x1cf8100) 0
Class QMutexLocker
size=4 align=4
@@ -2341,20 +1775,12 @@ Class QReadWriteLock
base size=4 base align=4
QReadWriteLock (0x1cf8580) 0
-Class QReadLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QReadLocker::<anonymous union> (0x1cf8a40) 0
Class QReadLocker
size=4 align=4
base size=4 base align=4
QReadLocker (0x1cf8700) 0
-Class QWriteLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QWriteLocker::<anonymous union> (0x1dc30c0) 0
Class QWriteLocker
size=4 align=4
@@ -2412,10 +1838,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0x1dc3ac0) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0x1dc3bc0) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -2427,70 +1849,42 @@ Class QDate
base size=4 base align=4
QDate (0x1dc3e40) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0x1dc3e80) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0x1e81000) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0x1e81200) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0x1e81280) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0x1e81400) 0 empty
Class QPoint
size=8 align=4
base size=8 base align=4
QPoint (0x1e81480) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0x1e81900) 0 empty
Class QPointF
size=16 align=4
base size=16 base align=4
QPointF (0x1e81bc0) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0x1e810c0) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0x1e81c80) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0x1e81d80) 0 empty
Class QLineF
size=32 align=4
base size=32 base align=4
QLineF (0x1f19040) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0x1f19100) 0 empty
Class QLinkedListData
size=20 align=4
@@ -2502,40 +1896,24 @@ Class QSize
base size=8 base align=4
QSize (0x1f19740) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0x1f19b40) 0 empty
Class QSizeF
size=16 align=4
base size=16 base align=4
QSizeF (0x1f19f00) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0x1f19a80) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0x20033c0) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0x2003580) 0 empty
Class QRectF
size=32 align=4
base size=32 base align=4
QRectF (0x2003800) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0x20039c0) 0 empty
Class QSharedData
size=4 align=4
@@ -2568,23 +1946,7 @@ QTimeLine (0x2003e80) 0
QObject (0x2003ec0) 0
primary-for QTimeLine (0x2003e80)
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0x219e700) 0
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0x21bc580) 0
-Class QTypeInfo<QDebug::Stream*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDebug::Stream*> (0x220d600) 0 empty
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0x228d140) 0
diff --git a/tests/auto/bic/data/QtCore.4.2.0.macx-gcc-ppc32.txt b/tests/auto/bic/data/QtCore.4.2.0.macx-gcc-ppc32.txt
index 54b1f1c..5f29b8d 100644
--- a/tests/auto/bic/data/QtCore.4.2.0.macx-gcc-ppc32.txt
+++ b/tests/auto/bic/data/QtCore.4.2.0.macx-gcc-ppc32.txt
@@ -1,34 +1,8 @@
-Class QUintForSize<4>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<4> (0x9c4800) 0 empty
-Class QUintForSize<8>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<8> (0x9c4880) 0 empty
-Class QUintForType<void*>
- size=1 align=1
- base size=1 base align=1
-QUintForType<void*> (0x9c4a40) 0 empty
- QUintForSize<4> (0x9c4a80) 0 empty
-Class QIntForSize<4>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<4> (0x9c4b80) 0 empty
-Class QIntForSize<8>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<8> (0x9c4c00) 0 empty
-Class QIntForType<void*>
- size=1 align=1
- base size=1 base align=1
-QIntForType<void*> (0x9c4dc0) 0 empty
- QIntForSize<4> (0x9c4e00) 0 empty
Class QSysInfo
size=1 align=1
@@ -50,75 +24,19 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0x9dd300) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0x9dd540) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0x9dd600) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0x9dd6c0) 0 empty
-Class QTypeInfo<uchar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uchar> (0x9dd780) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0x9dd840) 0 empty
-Class QTypeInfo<ushort>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ushort> (0x9dd900) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0x9dd9c0) 0 empty
-Class QTypeInfo<uint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uint> (0x9dda80) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0x9ddb40) 0 empty
-Class QTypeInfo<ulong>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ulong> (0x9ddc00) 0 empty
-Class QTypeInfo<qint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<qint64> (0x9ddcc0) 0 empty
-Class QTypeInfo<quint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<quint64> (0x9ddd80) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0x9dde40) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0x9ddf00) 0 empty
Class QFlag
size=4 align=4
@@ -135,10 +53,6 @@ Class QChar
base size=2 base align=2
QChar (0xa12200) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0xa12300) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -151,10 +65,6 @@ Class QAtomic
QAtomic (0xa12900) 0
QBasicAtomic (0xa12940) 0
-Class <anonymous union>
- size=128 align=8
- base size=128 base align=8
-<anonymous union> (0xa12bc0) 0
Class __darwin_pthread_handler_rec
size=12 align=4
@@ -236,75 +146,19 @@ Class QByteRef
base size=8 base align=4
QByteRef (0xec6900) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0xec6cc0) 0 empty
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0xfd6140) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0xfd61c0) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0xfd6240) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0xfd62c0) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0xfd6340) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0xfd63c0) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0xfd6440) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0xfd64c0) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0xfd6540) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0xfd65c0) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0xfd6640) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0xfd66c0) 0
-Class QFlags<Qt::TextInteractionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::TextInteractionFlag> (0xfd6740) 0
Class QInternal
size=1 align=1
@@ -331,10 +185,6 @@ Class QLatin1String
base size=4 base align=4
QLatin1String (0xfd6f40) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0x114b340) 0
Class QCharRef
size=8 align=4
@@ -347,10 +197,6 @@ Class QConstString
QConstString (0x114bf80) 0
QString (0x114bfc0) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0x12440c0) 0 empty
Vtable for std::exception
std::exception::_ZTVSt9exception: 5u entries
@@ -413,10 +259,6 @@ Class QListData
base size=4 base align=4
QListData (0x1244940) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0x1244f80) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -441,15 +283,7 @@ Class QTextCodec
QTextCodec (0x1244e00) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0x136d140) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0x136d080) 0
Class QTextEncoder
size=32 align=4
@@ -472,25 +306,13 @@ Class QGenericReturnArgument
QGenericReturnArgument (0x136d380) 0
QGenericArgument (0x136d3c0) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0x136d680) 0
Class QMetaObject
size=16 align=4
base size=16 base align=4
QMetaObject (0x136d600) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0x136d900) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0x136d840) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -582,10 +404,6 @@ QIODevice (0x136df40) 0
QObject (0x136df80) 0
primary-for QIODevice (0x136df40)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0x1434140) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -605,25 +423,13 @@ Class QRegExp
base size=4 base align=4
QRegExp (0x1434840) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0x1434a80) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0x1434b00) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0x1434d00) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0x1434c40) 0
Class QStringList
size=4 align=4
@@ -631,15 +437,7 @@ Class QStringList
QStringList (0x1434dc0) 0
QList<QString> (0x1434e00) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0x14eb240) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0x14eb2c0) 0
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -773,50 +571,22 @@ QFile (0x156c480) 0
QObject (0x156c500) 0
primary-for QIODevice (0x156c4c0)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0x156c6c0) 0
Class QFileInfo
size=4 align=4
base size=4 base align=4
QFileInfo (0x156c700) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0x156c7c0) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0x156c840) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0x156ca00) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0x156c940) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0x156cac0) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0x156cc00) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0x156cc80) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -873,10 +643,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0x156ccc0) 0
vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0x156cf80) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -950,10 +716,6 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0x1667400) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0x1667480) 0 empty
Class QMapData::Node
size=8 align=4
@@ -978,10 +740,6 @@ Class QTextStream
QTextStream (0x1746440) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0x1746700) 0
Class QTextStreamManipulator
size=24 align=4
@@ -1088,40 +846,16 @@ Class rlimit
base size=16 base align=8
rlimit (0x185a380) 0
-Class OSReadSwapInt64(const volatile void*, uintptr_t)::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-OSReadSwapInt64(const volatile void*, uintptr_t)::<anonymous union> (0x185a580) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0x185acc0) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0x185ad40) 0
Class wait
size=4 align=4
base size=4 base align=4
wait (0x185ac40) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x185adc0) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x185ae40) 0
-Class <anonymous struct>
- size=16 align=8
- base size=16 base align=8
-<anonymous struct> (0x185aec0) 0
Class QVectorData
size=16 align=4
@@ -1259,15 +993,7 @@ Class QLocale
base size=4 base align=4
QLocale (0x188fe00) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0x188fec0) 0 empty
-Class QFlags<QLocale::NumberOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLocale::NumberOption> (0x188ff80) 0
Vtable for QSystemLocale
QSystemLocale::_ZTV13QSystemLocale: 6u entries
@@ -1294,270 +1020,58 @@ Class QMetaType
base size=0 base align=1
QMetaType (0x1a56040) 0 empty
-Class QMetaTypeId2<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QString> (0x1a56240) 0 empty
-Class QMetaTypeId2<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<int> (0x1a56300) 0 empty
-Class QMetaTypeId2<uint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<uint> (0x1a563c0) 0 empty
-Class QMetaTypeId2<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<bool> (0x1a56480) 0 empty
-Class QMetaTypeId2<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<double> (0x1a56540) 0 empty
-Class QMetaTypeId2<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QByteArray> (0x1a56600) 0 empty
-Class QMetaTypeId2<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QChar> (0x1a566c0) 0 empty
-Class QMetaTypeId2<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long int> (0x1a56780) 0 empty
-Class QMetaTypeId2<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short int> (0x1a56840) 0 empty
-Class QMetaTypeId2<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<char> (0x1a56900) 0 empty
-Class QMetaTypeId2<ulong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<ulong> (0x1a569c0) 0 empty
-Class QMetaTypeId2<ushort>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<ushort> (0x1a56a80) 0 empty
-Class QMetaTypeId2<uchar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<uchar> (0x1a56b40) 0 empty
-Class QMetaTypeId2<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<float> (0x1a56c00) 0 empty
-Class QMetaTypeId2<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QObject*> (0x1a56cc0) 0 empty
-Class QMetaTypeId2<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QWidget*> (0x1a56d80) 0 empty
-Class QMetaTypeId2<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<void*> (0x1a56e40) 0 empty
-Class QMetaTypeId2<qlonglong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<qlonglong> (0x1a56f00) 0 empty
-Class QMetaTypeId2<qulonglong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<qulonglong> (0x1a56fc0) 0 empty
-Class QMetaTypeId2<QStringList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QStringList> (0x1a8a080) 0 empty
-Class QMetaTypeId2<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitArray> (0x1a8a140) 0 empty
-Class QMetaTypeId2<QDate>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDate> (0x1a8a200) 0 empty
-Class QMetaTypeId2<QTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTime> (0x1a8a2c0) 0 empty
-Class QMetaTypeId2<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDateTime> (0x1a8a380) 0 empty
-Class QMetaTypeId2<QUrl>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QUrl> (0x1a8a440) 0 empty
-Class QMetaTypeId2<QLocale>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLocale> (0x1a8a500) 0 empty
-Class QMetaTypeId2<QRect>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRect> (0x1a8a5c0) 0 empty
-Class QMetaTypeId2<QRectF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRectF> (0x1a8a680) 0 empty
-Class QMetaTypeId2<QSize>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSize> (0x1a8a740) 0 empty
-Class QMetaTypeId2<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizeF> (0x1a8a800) 0 empty
-Class QMetaTypeId2<QLine>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLine> (0x1a8a8c0) 0 empty
-Class QMetaTypeId2<QLineF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLineF> (0x1a8a980) 0 empty
-Class QMetaTypeId2<QPoint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPoint> (0x1a8aa40) 0 empty
-Class QMetaTypeId2<QPointF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPointF> (0x1a8ab00) 0 empty
-Class QMetaTypeId2<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegExp> (0x1a8abc0) 0 empty
-Class QMetaTypeId2<QColorGroup>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColorGroup> (0x1a8ac80) 0 empty
-Class QMetaTypeId2<QFont>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QFont> (0x1a8ad40) 0 empty
-Class QMetaTypeId2<QPixmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPixmap> (0x1a8ae00) 0 empty
-Class QMetaTypeId2<QBrush>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBrush> (0x1a8aec0) 0 empty
-Class QMetaTypeId2<QColor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColor> (0x1a8af80) 0 empty
-Class QMetaTypeId2<QPalette>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPalette> (0x1aab040) 0 empty
-Class QMetaTypeId2<QIcon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QIcon> (0x1aab100) 0 empty
-Class QMetaTypeId2<QImage>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QImage> (0x1aab1c0) 0 empty
-Class QMetaTypeId2<QPolygon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPolygon> (0x1aab280) 0 empty
-Class QMetaTypeId2<QRegion>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegion> (0x1aab340) 0 empty
-Class QMetaTypeId2<QBitmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitmap> (0x1aab400) 0 empty
-Class QMetaTypeId2<QCursor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QCursor> (0x1aab4c0) 0 empty
-Class QMetaTypeId2<QSizePolicy>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizePolicy> (0x1aab580) 0 empty
-Class QMetaTypeId2<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QKeySequence> (0x1aab640) 0 empty
-Class QMetaTypeId2<QPen>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPen> (0x1aab700) 0 empty
-Class QMetaTypeId2<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextLength> (0x1aab7c0) 0 empty
-Class QMetaTypeId2<QTextFormat>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextFormat> (0x1aab880) 0 empty
-Class QMetaTypeId2<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMatrix> (0x1aab940) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -1584,60 +1098,20 @@ Class QVariant
base size=16 base align=4
QVariant (0x1aab9c0) 0
-Class QMetaTypeId2<QVariantList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QVariantList> (0x1aabf00) 0 empty
-Class QMetaTypeId2<QVariantMap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QVariantMap> (0x1aabfc0) 0 empty
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0x1b040c0) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0x1b04000) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0x1b042c0) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0x1b04200) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0x1b04440) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0x1b04580) 0 empty
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0x1b04640) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x1b046c0) 0
-Class <anonymous struct>
- size=3156 align=4
- base size=3156 base align=4
-<anonymous struct> (0x1b04740) 0
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1715,15 +1189,7 @@ Class QUrl
base size=4 base align=4
QUrl (0x1b04f80) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0x1be4040) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0x1be40c0) 0 empty
Vtable for QEventLoop
QEventLoop::_ZTV10QEventLoop: 14u entries
@@ -1750,10 +1216,6 @@ QEventLoop (0x1be4140) 0
QObject (0x1be4180) 0
primary-for QEventLoop (0x1be4140)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0x1be4380) 0
Vtable for QAbstractEventDispatcher
QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 27u entries
@@ -1798,20 +1260,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0x1be45c0) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0x1be4780) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0x1be4800) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0x1be4940) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -1981,10 +1435,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0x1be4880) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0x1ccb000) 0 empty
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -2091,20 +1541,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0x1ccbd40) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0x1ccbe00) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0x1ccbe80) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0x1ccbf40) 0 empty
Class QMetaProperty
size=20 align=4
@@ -2116,10 +1558,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0x1ccb180) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0x1ccb600) 0 empty
Vtable for QMimeData
QMimeData::_ZTV9QMimeData: 17u entries
@@ -2301,10 +1739,6 @@ QLibrary (0x1d318c0) 0
QObject (0x1d31900) 0
primary-for QLibrary (0x1d318c0)
-Class QFlags<QLibrary::LoadHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLibrary::LoadHint> (0x1d31ac0) 0
Vtable for QPluginLoader
QPluginLoader::_ZTV13QPluginLoader: 14u entries
@@ -2341,10 +1775,6 @@ Class QMutex
base size=4 base align=4
QMutex (0x1d31e00) 0
-Class QMutexLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMutexLocker::<anonymous union> (0x1d31fc0) 0
Class QMutexLocker
size=4 align=4
@@ -2356,20 +1786,12 @@ Class QReadWriteLock
base size=4 base align=4
QReadWriteLock (0x1d31380) 0
-Class QReadLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QReadLocker::<anonymous union> (0x1d31840) 0
Class QReadLocker
size=4 align=4
base size=4 base align=4
QReadLocker (0x1d31500) 0
-Class QWriteLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QWriteLocker::<anonymous union> (0x1df3080) 0
Class QWriteLocker
size=4 align=4
@@ -2427,10 +1849,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0x1df3a80) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0x1df3b80) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -2442,70 +1860,42 @@ Class QDate
base size=4 base align=4
QDate (0x1df3e00) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0x1df32c0) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0x1df3ec0) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0x1ea61c0) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0x1ea6240) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0x1ea63c0) 0 empty
Class QPoint
size=8 align=4
base size=8 base align=4
QPoint (0x1ea6440) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0x1ea68c0) 0 empty
Class QPointF
size=16 align=8
base size=16 base align=4
QPointF (0x1ea6b80) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0x1ea6000) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0x1ea6bc0) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0x1ea6cc0) 0 empty
Class QLineF
size=32 align=8
base size=32 base align=4
QLineF (0x1f49000) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0x1f490c0) 0 empty
Class QLinkedListData
size=20 align=4
@@ -2517,40 +1907,24 @@ Class QSize
base size=8 base align=4
QSize (0x1f49700) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0x1f49b00) 0 empty
Class QSizeF
size=16 align=8
base size=16 base align=4
QSizeF (0x1f49ec0) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0x1f499c0) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0x2033380) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0x2033540) 0 empty
Class QRectF
size=32 align=8
base size=32 base align=4
QRectF (0x20337c0) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0x2033980) 0 empty
Class QSharedData
size=4 align=4
@@ -2583,23 +1957,7 @@ QTimeLine (0x2033e40) 0
QObject (0x2033e80) 0
primary-for QTimeLine (0x2033e40)
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0x21cb6c0) 0
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0x21e9540) 0
-Class QTypeInfo<QDebug::Stream*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDebug::Stream*> (0x223b5c0) 0 empty
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0x22bb100) 0
diff --git a/tests/auto/bic/data/QtCore.4.2.0.win32-gcc-ia32.txt b/tests/auto/bic/data/QtCore.4.2.0.win32-gcc-ia32.txt
index 4b9c47b..9fdd210 100644
--- a/tests/auto/bic/data/QtCore.4.2.0.win32-gcc-ia32.txt
+++ b/tests/auto/bic/data/QtCore.4.2.0.win32-gcc-ia32.txt
@@ -1,34 +1,8 @@
-Class QUintForSize<4>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<4> (0xa9db00) 0 empty
-Class QUintForSize<8>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<8> (0xa9dc00) 0 empty
-Class QUintForType<void*>
- size=1 align=1
- base size=1 base align=1
-QUintForType<void*> (0xa9df00) 0 empty
- QUintForSize<4> (0xac2000) 0 empty
-Class QIntForSize<4>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<4> (0xac2180) 0 empty
-Class QIntForSize<8>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<8> (0xac2240) 0 empty
-Class QIntForType<void*>
- size=1 align=1
- base size=1 base align=1
-QIntForType<void*> (0xac24c0) 0 empty
- QIntForSize<4> (0xac2580) 0 empty
Class QSysInfo
size=1 align=1
@@ -50,80 +24,20 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0xaf3380) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0xaf3b80) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0xaf3d00) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0xaf3e80) 0 empty
-Class QTypeInfo<uchar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uchar> (0xb0b000) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0xb0b180) 0 empty
-Class QTypeInfo<ushort>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ushort> (0xb0b300) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0xb0b480) 0 empty
-Class QTypeInfo<uint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uint> (0xb0b600) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0xb0b780) 0 empty
-Class QTypeInfo<ulong>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ulong> (0xb0b900) 0 empty
-Class QTypeInfo<qint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<qint64> (0xb0ba80) 0 empty
-Class QTypeInfo<quint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<quint64> (0xb0bc00) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0xb0bd80) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0xb0bf00) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0xb36080) 0 empty
Class QFlag
size=4 align=4
@@ -140,10 +54,6 @@ Class QChar
base size=2 base align=2
QChar (0xb5ff00) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0xb97380) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -171,75 +81,19 @@ Class QByteRef
base size=8 base align=4
QByteRef (0xc4ab00) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0xd71780) 0 empty
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0xd83e00) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0xd940c0) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0xd83980) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0xd9ae40) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0xd94780) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0xda58c0) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0xdd9300) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0xdd9600) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0xda0080) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0xde94c0) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0xde9d00) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0xdef080) 0
-Class QFlags<Qt::TextInteractionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::TextInteractionFlag> (0xdef480) 0
Class QInternal
size=1 align=1
@@ -266,10 +120,6 @@ Class QLatin1String
base size=4 base align=4
QLatin1String (0xedf240) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0xedf780) 0
Class QCharRef
size=8 align=4
@@ -282,10 +132,6 @@ Class QConstString
QConstString (0x11efdc0) 0
QString (0x11efe00) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0x125c140) 0 empty
Vtable for std::exception
std::exception::_ZTVSt9exception: 5u entries
@@ -348,10 +194,6 @@ Class QListData
base size=4 base align=4
QListData (0x12d21c0) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0x13db180) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -376,15 +218,7 @@ Class QTextCodec
QTextCodec (0xedf1c0) 0 nearly-empty
vptr=((&QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0x13ff480) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0xc5c5c0) 0
Class QTextEncoder
size=32 align=4
@@ -407,25 +241,13 @@ Class QGenericReturnArgument
QGenericReturnArgument (0x144a300) 0
QGenericArgument (0x144a340) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0x145fac0) 0
Class QMetaObject
size=16 align=4
base size=16 base align=4
QMetaObject (0x144a8c0) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0x1490340) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0x1475f40) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -517,10 +339,6 @@ QIODevice (0x13b4a40) 0
QObject (0x150ab40) 0
primary-for QIODevice (0x13b4a40)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0x150ae40) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -540,25 +358,13 @@ Class QRegExp
base size=4 base align=4
QRegExp (0xedf0c0) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0x15d8c00) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0x15d8f80) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0x15f04c0) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0x15f0380) 0
Class QStringList
size=4 align=4
@@ -566,15 +372,7 @@ Class QStringList
QStringList (0xedf140) 0
QList<QString> (0x15f0740) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0x15f0600) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0x15f05c0) 0
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -703,50 +501,22 @@ QFile (0x1710080) 0
QObject (0x1710100) 0
primary-for QIODevice (0x17100c0)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0x1710940) 0
Class QFileInfo
size=4 align=4
base size=4 base align=4
QFileInfo (0x1768140) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0x1768a80) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0x1781ac0) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0x1781f80) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0x1781e80) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0x1726fc0) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0x17bcc80) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0x17bc880) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -803,10 +573,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0x1700f80) 0
vptr=((&QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0x18590c0) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -880,10 +646,6 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0x18dbb80) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0x18dbc80) 0 empty
Class QMapData::Node
size=8 align=4
@@ -908,10 +670,6 @@ Class QTextStream
QTextStream (0x1b11580) 0
vptr=((&QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0x1b11940) 0
Class QTextStreamManipulator
size=24 align=4
@@ -948,20 +706,8 @@ QTextOStream (0x1ba0740) 0
QTextStream (0x1ba0780) 0
primary-for QTextOStream (0x1ba0740)
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x1bd4980) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x1bd4b00) 0
-Class <anonymous struct>
- size=16 align=8
- base size=16 base align=8
-<anonymous struct> (0x1bf88c0) 0
Class QVectorData
size=16 align=4
@@ -1099,15 +845,7 @@ Class QLocale
base size=4 base align=4
QLocale (0x1e61cc0) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0x1ea9980) 0 empty
-Class QFlags<QLocale::NumberOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLocale::NumberOption> (0x1ea9040) 0
Vtable for QSystemLocale
QSystemLocale::_ZTV13QSystemLocale: 6u entries
@@ -1134,270 +872,58 @@ Class QMetaType
base size=0 base align=1
QMetaType (0x1f0b400) 0 empty
-Class QMetaTypeId2<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QString> (0x1f2e840) 0 empty
-Class QMetaTypeId2<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<int> (0x1f2e9c0) 0 empty
-Class QMetaTypeId2<uint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<uint> (0x1f2eb40) 0 empty
-Class QMetaTypeId2<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<bool> (0x1f2ecc0) 0 empty
-Class QMetaTypeId2<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<double> (0x1f2ee40) 0 empty
-Class QMetaTypeId2<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QByteArray> (0x1f2efc0) 0 empty
-Class QMetaTypeId2<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QChar> (0x1f42140) 0 empty
-Class QMetaTypeId2<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long int> (0x1f422c0) 0 empty
-Class QMetaTypeId2<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short int> (0x1f42440) 0 empty
-Class QMetaTypeId2<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<char> (0x1f425c0) 0 empty
-Class QMetaTypeId2<ulong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<ulong> (0x1f42740) 0 empty
-Class QMetaTypeId2<ushort>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<ushort> (0x1f428c0) 0 empty
-Class QMetaTypeId2<uchar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<uchar> (0x1f42a40) 0 empty
-Class QMetaTypeId2<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<float> (0x1f42bc0) 0 empty
-Class QMetaTypeId2<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QObject*> (0x1f42d40) 0 empty
-Class QMetaTypeId2<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QWidget*> (0x1f42ec0) 0 empty
-Class QMetaTypeId2<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<void*> (0x1f62040) 0 empty
-Class QMetaTypeId2<qlonglong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<qlonglong> (0x1f621c0) 0 empty
-Class QMetaTypeId2<qulonglong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<qulonglong> (0x1f62340) 0 empty
-Class QMetaTypeId2<QStringList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QStringList> (0x1f624c0) 0 empty
-Class QMetaTypeId2<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitArray> (0x1f62640) 0 empty
-Class QMetaTypeId2<QDate>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDate> (0x1f627c0) 0 empty
-Class QMetaTypeId2<QTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTime> (0x1f62940) 0 empty
-Class QMetaTypeId2<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDateTime> (0x1f62ac0) 0 empty
-Class QMetaTypeId2<QUrl>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QUrl> (0x1f62c40) 0 empty
-Class QMetaTypeId2<QLocale>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLocale> (0x1f62dc0) 0 empty
-Class QMetaTypeId2<QRect>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRect> (0x1f62f40) 0 empty
-Class QMetaTypeId2<QRectF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRectF> (0x1f800c0) 0 empty
-Class QMetaTypeId2<QSize>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSize> (0x1f80240) 0 empty
-Class QMetaTypeId2<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizeF> (0x1f803c0) 0 empty
-Class QMetaTypeId2<QLine>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLine> (0x1f80540) 0 empty
-Class QMetaTypeId2<QLineF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLineF> (0x1f806c0) 0 empty
-Class QMetaTypeId2<QPoint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPoint> (0x1f80840) 0 empty
-Class QMetaTypeId2<QPointF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPointF> (0x1f809c0) 0 empty
-Class QMetaTypeId2<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegExp> (0x1f80b40) 0 empty
-Class QMetaTypeId2<QColorGroup>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColorGroup> (0x1f80cc0) 0 empty
-Class QMetaTypeId2<QFont>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QFont> (0x1f80e40) 0 empty
-Class QMetaTypeId2<QPixmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPixmap> (0x1f80fc0) 0 empty
-Class QMetaTypeId2<QBrush>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBrush> (0x1f9e140) 0 empty
-Class QMetaTypeId2<QColor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColor> (0x1f9e2c0) 0 empty
-Class QMetaTypeId2<QPalette>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPalette> (0x1f9e440) 0 empty
-Class QMetaTypeId2<QIcon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QIcon> (0x1f9e5c0) 0 empty
-Class QMetaTypeId2<QImage>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QImage> (0x1f9e740) 0 empty
-Class QMetaTypeId2<QPolygon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPolygon> (0x1f9e8c0) 0 empty
-Class QMetaTypeId2<QRegion>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegion> (0x1f9ea40) 0 empty
-Class QMetaTypeId2<QBitmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitmap> (0x1f9ebc0) 0 empty
-Class QMetaTypeId2<QCursor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QCursor> (0x1f9ed40) 0 empty
-Class QMetaTypeId2<QSizePolicy>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizePolicy> (0x1f9eec0) 0 empty
-Class QMetaTypeId2<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QKeySequence> (0x1fc0040) 0 empty
-Class QMetaTypeId2<QPen>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPen> (0x1fc01c0) 0 empty
-Class QMetaTypeId2<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextLength> (0x1fc0340) 0 empty
-Class QMetaTypeId2<QTextFormat>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextFormat> (0x1fc04c0) 0 empty
-Class QMetaTypeId2<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMatrix> (0x1fc0640) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -1424,45 +950,17 @@ Class QVariant
base size=16 base align=8
QVariant (0x1475c80) 0
-Class QMetaTypeId2<QVariantList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QVariantList> (0x2017e00) 0 empty
-Class QMetaTypeId2<QVariantMap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QVariantMap> (0x2017fc0) 0 empty
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0x2047480) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0x1fd5540) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0x2047780) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0x1fd55c0) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0x1fc0800) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0x20af100) 0 empty
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1540,15 +1038,7 @@ Class QUrl
base size=4 base align=4
QUrl (0x1f2e180) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0x216a440) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0x21c8040) 0 empty
Vtable for QEventLoop
QEventLoop::_ZTV10QEventLoop: 14u entries
@@ -1575,10 +1065,6 @@ QEventLoop (0x21c86c0) 0
QObject (0x21c8700) 0
primary-for QEventLoop (0x21c86c0)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0x21c8a00) 0
Vtable for QAbstractEventDispatcher
QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 27u entries
@@ -1623,20 +1109,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0x2240200) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0x2240e80) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0x2240180) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0x226c2c0) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -1806,10 +1284,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0x22ef7c0) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0x22efe00) 0 empty
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -1917,20 +1391,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0x143ec00) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0x238bbc0) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0x143ec80) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0x23a01c0) 0 empty
Class QMetaProperty
size=20 align=4
@@ -1942,10 +1408,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0x143ed80) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0x23a0900) 0 empty
Vtable for QMimeData
QMimeData::_ZTV9QMimeData: 17u entries
@@ -2127,10 +1589,6 @@ QLibrary (0x2460040) 0
QObject (0x2460080) 0
primary-for QLibrary (0x2460040)
-Class QFlags<QLibrary::LoadHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLibrary::LoadHint> (0x24602c0) 0
Vtable for QPluginLoader
QPluginLoader::_ZTV13QPluginLoader: 14u entries
@@ -2172,10 +1630,6 @@ Class QMutex
base size=4 base align=4
QMutex (0x24d07c0) 0
-Class QMutexLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMutexLocker::<anonymous union> (0x24fd000) 0
Class QMutexLocker
size=4 align=4
@@ -2187,20 +1641,12 @@ Class QReadWriteLock
base size=4 base align=4
QReadWriteLock (0x24fde00) 0
-Class QReadLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QReadLocker::<anonymous union> (0x250f140) 0
Class QReadLocker
size=4 align=4
base size=4 base align=4
QReadLocker (0x24fdfc0) 0
-Class QWriteLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QWriteLocker::<anonymous union> (0x250f900) 0
Class QWriteLocker
size=4 align=4
@@ -2258,10 +1704,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0x2553ac0) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0x25ad480) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -2273,70 +1715,42 @@ Class QDate
base size=4 base align=4
QDate (0x1e61b40) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0x2602640) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0x1e61bc0) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0x262a280) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0x1768040) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0x2658040) 0 empty
Class QPoint
size=8 align=4
base size=8 base align=4
QPoint (0x1f2e340) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0x2658c80) 0 empty
Class QPointF
size=16 align=8
base size=16 base align=8
QPointF (0x1f2e380) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0x2680e40) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0x1f2e2c0) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0x26c62c0) 0 empty
Class QLineF
size=32 align=8
base size=32 base align=8
QLineF (0x1f2e300) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0x26f2780) 0 empty
Class QLinkedListData
size=20 align=4
@@ -2348,40 +1762,24 @@ Class QSize
base size=8 base align=4
QSize (0x1f2e240) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0x27e3fc0) 0 empty
Class QSizeF
size=16 align=8
base size=16 base align=8
QSizeF (0x1f2e280) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0x2836500) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0x1f2e1c0) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0x28b7000) 0 empty
Class QRectF
size=32 align=8
base size=32 base align=8
QRectF (0x1f2e200) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0x293d340) 0 empty
Class QSharedData
size=4 align=4
@@ -2414,23 +1812,7 @@ QTimeLine (0x29b1700) 0
QObject (0x29b1740) 0
primary-for QTimeLine (0x29b1700)
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0x13ff440) 0
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0x15f0480) 0
-Class QTypeInfo<QDebug::Stream*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDebug::Stream*> (0x2b9d700) 0 empty
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0x1781f40) 0
diff --git a/tests/auto/bic/data/QtCore.4.3.0.linux-gcc-ia32.txt b/tests/auto/bic/data/QtCore.4.3.0.linux-gcc-ia32.txt
index dc11723..cb9091d 100644
--- a/tests/auto/bic/data/QtCore.4.3.0.linux-gcc-ia32.txt
+++ b/tests/auto/bic/data/QtCore.4.3.0.linux-gcc-ia32.txt
@@ -1,34 +1,8 @@
-Class QUintForSize<4>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<4> (0xb7ee3bc0) 0 empty
-Class QUintForSize<8>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<8> (0xb7ee3c00) 0 empty
-Class QUintForType<void*>
- size=1 align=1
- base size=1 base align=1
-QUintForType<void*> (0xb7ee3cc0) 0 empty
- QUintForSize<4> (0xb7ee3d00) 0 empty
-Class QIntForSize<4>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<4> (0xb7ee3d80) 0 empty
-Class QIntForSize<8>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<8> (0xb7ee3dc0) 0 empty
-Class QIntForType<void*>
- size=1 align=1
- base size=1 base align=1
-QIntForType<void*> (0xb7ee3e80) 0 empty
- QIntForSize<4> (0xb7ee3ec0) 0 empty
Class QSysInfo
size=1 align=1
@@ -50,150 +24,38 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0xb778c180) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0xb778c240) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0xb778c280) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0xb778c2c0) 0 empty
-Class QTypeInfo<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned char> (0xb778c300) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0xb778c340) 0 empty
-Class QTypeInfo<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short unsigned int> (0xb778c380) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0xb778c3c0) 0 empty
-Class QTypeInfo<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned int> (0xb778c400) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0xb778c440) 0 empty
-Class QTypeInfo<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long unsigned int> (0xb778c480) 0 empty
-Class QTypeInfo<long long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long int> (0xb778c4c0) 0 empty
-Class QTypeInfo<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long unsigned int> (0xb778c500) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0xb778c540) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0xb778c580) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0xb778c5c0) 0 empty
Class QFlag
size=4 align=4
base size=4 base align=4
QFlag (0xb778c600) 0
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0xb778c700) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0xb778c740) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0xb778c780) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0xb778c7c0) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0xb778c800) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0xb778c840) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0xb778c880) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0xb778c8c0) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0xb778c900) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0xb778c940) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0xb778c980) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0xb778c9c0) 0
-Class QFlags<Qt::TextInteractionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::TextInteractionFlag> (0xb778ca00) 0
Class QInternal
size=1 align=1
@@ -211,10 +73,6 @@ Class QGenericReturnArgument
QGenericReturnArgument (0xb778cb00) 0
QGenericArgument (0xb778cb40) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0xb778cd00) 0
Class QMetaObject
size=16 align=4
@@ -231,10 +89,6 @@ Class QChar
base size=2 base align=2
QChar (0xb778cdc0) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0xb778ce40) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -267,10 +121,6 @@ Class QByteRef
base size=8 base align=4
QByteRef (0xb72f1140) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0xb72f1180) 0 empty
Class QString::Null
size=1 align=1
@@ -287,10 +137,6 @@ Class QString
base size=4 base align=4
QString (0xb72f11c0) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0xb72f13c0) 0
Class QLatin1String
size=4 align=4
@@ -308,10 +154,6 @@ Class QConstString
QConstString (0xb72f14c0) 0
QString (0xb72f1500) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0xb72f1540) 0 empty
Class QStringRef
size=12 align=4
@@ -379,15 +221,7 @@ Class QListData
base size=4 base align=4
QListData (0xb72f1880) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0xb72f1c00) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0xb72f1b80) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -463,10 +297,6 @@ QLibrary (0xb72f1e40) 0
QObject (0xb72f1e80) 0
primary-for QLibrary (0xb72f1e40)
-Class QFlags<QLibrary::LoadHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLibrary::LoadHint> (0xb72f1f00) 0
Class QUuid
size=16 align=4
@@ -514,10 +344,6 @@ QIODevice (0xb72f1fc0) 0
QObject (0xb72f1300) 0
primary-for QIODevice (0xb72f1fc0)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0xb72f1680) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -537,25 +363,13 @@ Class QRegExp
base size=4 base align=4
QRegExp (0xb72f1800) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0xb72f1a40) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0xb72f1c80) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0xb6d4b000) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0xb72f1d00) 0
Class QStringList
size=4 align=4
@@ -563,15 +377,7 @@ Class QStringList
QStringList (0xb6d4b040) 0
QList<QString> (0xb6d4b080) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0xb6d4b100) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0xb6d4b140) 0
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -627,10 +433,6 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0xb6d4b4c0) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0xb6d4b500) 0 empty
Class QCryptographicHash
size=4 align=4
@@ -642,75 +444,35 @@ Class QDate
base size=4 base align=4
QDate (0xb6d4ba40) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0xb6d4bb00) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0xb6d4bb40) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0xb6d4bc00) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0xb6d4bc40) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0xb6d4bd00) 0 empty
Class QByteArrayMatcher
size=1032 align=4
base size=1032 base align=4
QByteArrayMatcher (0xb6d4bd40) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0xb6d4bdc0) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0xb6d4be00) 0
Class wait
size=4 align=4
base size=4 base align=4
wait (0xb6d4bd80) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6d4be40) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6d4be80) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb6d4bec0) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6d4bf00) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb6d4bf40) 0
Class timespec
size=8 align=4
@@ -722,80 +484,24 @@ Class timeval
base size=8 base align=4
timeval (0xb6d4bfc0) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb6d4b240) 0
-Class <anonymous union>
- size=36 align=4
- base size=36 base align=4
-<anonymous union> (0xb6d4b380) 0
Class __pthread_internal_slist
size=4 align=4
base size=4 base align=4
__pthread_internal_slist (0xb6d4b8c0) 0
-Class <anonymous union>::__pthread_mutex_s::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union>::__pthread_mutex_s::<anonymous union> (0xb6d4bb80) 0
-Class <anonymous union>::__pthread_mutex_s
- size=24 align=4
- base size=24 base align=4
-<anonymous union>::__pthread_mutex_s (0xb6d4bac0) 0
-Class <anonymous union>
- size=24 align=4
- base size=24 base align=4
-<anonymous union> (0xb6d4ba80) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb6d4bbc0) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0xb6d4bcc0) 0
-Class <anonymous union>
- size=48 align=4
- base size=48 base align=4
-<anonymous union> (0xb6d4bc80) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb6cab000) 0
-Class <anonymous union>::<anonymous struct>
- size=32 align=4
- base size=32 base align=4
-<anonymous union>::<anonymous struct> (0xb6cab080) 0
-Class <anonymous union>
- size=32 align=4
- base size=32 base align=4
-<anonymous union> (0xb6cab040) 0
-Class <anonymous union>
- size=8 align=4
- base size=8 base align=4
-<anonymous union> (0xb6cab0c0) 0
-Class <anonymous union>
- size=20 align=4
- base size=20 base align=4
-<anonymous union> (0xb6cab100) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb6cab140) 0
Class random_data
size=28 align=4
@@ -817,20 +523,12 @@ Class QSize
base size=8 base align=4
QSize (0xb6cab3c0) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0xb6cab5c0) 0 empty
Class QSizeF
size=16 align=4
base size=16 base align=4
QSizeF (0xb6cab640) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0xb6cab840) 0 empty
Class QLinkedListData
size=20 align=4
@@ -842,15 +540,7 @@ Class QLocale
base size=4 base align=4
QLocale (0xb6cabc00) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0xb6cabc40) 0 empty
-Class QFlags<QLocale::NumberOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLocale::NumberOption> (0xb6cabc80) 0
Vtable for QSystemLocale
QSystemLocale::_ZTV13QSystemLocale: 6u entries
@@ -887,60 +577,36 @@ Class QPoint
base size=8 base align=4
QPoint (0xb6cab740) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0xb6cab800) 0 empty
Class QPointF
size=16 align=4
base size=16 base align=4
QPointF (0xb6cab780) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0xb6cab7c0) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0xb6b2c080) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0xb6b2c180) 0 empty
Class QRectF
size=32 align=4
base size=32 base align=4
QRectF (0xb6b2c1c0) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0xb6b2c280) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0xb6b2c2c0) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0xb6b2c300) 0 empty
Class QLineF
size=32 align=4
base size=32 base align=4
QLineF (0xb6b2c340) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0xb6b2c380) 0 empty
Vtable for QTimeLine
QTimeLine::_ZTV9QTimeLine: 15u entries
@@ -978,10 +644,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0xb6b2c700) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0xb6b2c740) 0 empty
Class QLibraryInfo
size=1 align=1
@@ -993,290 +655,66 @@ Class QUrl
base size=4 base align=4
QUrl (0xb6b2c880) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0xb6b2c900) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0xb6b2c940) 0 empty
Class QMetaType
size=1 align=1
base size=0 base align=1
QMetaType (0xb6b2c980) 0 empty
-Class QMetaTypeId2<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QString> (0xb6b2ca40) 0 empty
-Class QMetaTypeId2<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<int> (0xb6b2ca80) 0 empty
-Class QMetaTypeId2<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned int> (0xb6b2cac0) 0 empty
-Class QMetaTypeId2<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<bool> (0xb6b2cb00) 0 empty
-Class QMetaTypeId2<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<double> (0xb6b2cb40) 0 empty
-Class QMetaTypeId2<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QByteArray> (0xb6b2cb80) 0 empty
-Class QMetaTypeId2<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QChar> (0xb6b2cbc0) 0 empty
-Class QMetaTypeId2<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long int> (0xb6b2cc00) 0 empty
-Class QMetaTypeId2<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short int> (0xb6b2cc40) 0 empty
-Class QMetaTypeId2<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<char> (0xb6b2cc80) 0 empty
-Class QMetaTypeId2<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long unsigned int> (0xb6b2ccc0) 0 empty
-Class QMetaTypeId2<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short unsigned int> (0xb6b2cd00) 0 empty
-Class QMetaTypeId2<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned char> (0xb6b2cd40) 0 empty
-Class QMetaTypeId2<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<float> (0xb6b2cd80) 0 empty
-Class QMetaTypeId2<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QObject*> (0xb6b2cdc0) 0 empty
-Class QMetaTypeId2<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QWidget*> (0xb6b2ce00) 0 empty
-Class QMetaTypeId2<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<void*> (0xb6b2ce40) 0 empty
-Class QMetaTypeId2<long long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long int> (0xb6b2ce80) 0 empty
-Class QMetaTypeId2<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long unsigned int> (0xb6b2cec0) 0 empty
-Class QMetaTypeId2<QStringList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QStringList> (0xb6b2cf00) 0 empty
-Class QMetaTypeId2<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitArray> (0xb6b2cf40) 0 empty
-Class QMetaTypeId2<QDate>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDate> (0xb6b2cf80) 0 empty
-Class QMetaTypeId2<QTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTime> (0xb6b2cfc0) 0 empty
-Class QMetaTypeId2<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDateTime> (0xb6b2c0c0) 0 empty
-Class QMetaTypeId2<QUrl>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QUrl> (0xb6b2c100) 0 empty
-Class QMetaTypeId2<QLocale>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLocale> (0xb6b2c140) 0 empty
-Class QMetaTypeId2<QRect>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRect> (0xb6b2c200) 0 empty
-Class QMetaTypeId2<QRectF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRectF> (0xb6b2c240) 0 empty
-Class QMetaTypeId2<QSize>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSize> (0xb6b2c580) 0 empty
-Class QMetaTypeId2<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizeF> (0xb6755000) 0 empty
-Class QMetaTypeId2<QLine>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLine> (0xb6755040) 0 empty
-Class QMetaTypeId2<QLineF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLineF> (0xb6755080) 0 empty
-Class QMetaTypeId2<QPoint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPoint> (0xb67550c0) 0 empty
-Class QMetaTypeId2<QPointF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPointF> (0xb6755100) 0 empty
-Class QMetaTypeId2<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegExp> (0xb6755140) 0 empty
-Class QMetaTypeId2<QColorGroup>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColorGroup> (0xb6755180) 0 empty
-Class QMetaTypeId2<QFont>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QFont> (0xb67551c0) 0 empty
-Class QMetaTypeId2<QPixmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPixmap> (0xb6755200) 0 empty
-Class QMetaTypeId2<QBrush>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBrush> (0xb6755240) 0 empty
-Class QMetaTypeId2<QColor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColor> (0xb6755280) 0 empty
-Class QMetaTypeId2<QPalette>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPalette> (0xb67552c0) 0 empty
-Class QMetaTypeId2<QIcon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QIcon> (0xb6755300) 0 empty
-Class QMetaTypeId2<QImage>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QImage> (0xb6755340) 0 empty
-Class QMetaTypeId2<QPolygon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPolygon> (0xb6755380) 0 empty
-Class QMetaTypeId2<QRegion>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegion> (0xb67553c0) 0 empty
-Class QMetaTypeId2<QBitmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitmap> (0xb6755400) 0 empty
-Class QMetaTypeId2<QCursor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QCursor> (0xb6755440) 0 empty
-Class QMetaTypeId2<QSizePolicy>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizePolicy> (0xb6755480) 0 empty
-Class QMetaTypeId2<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QKeySequence> (0xb67554c0) 0 empty
-Class QMetaTypeId2<QPen>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPen> (0xb6755500) 0 empty
-Class QMetaTypeId2<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextLength> (0xb6755540) 0 empty
-Class QMetaTypeId2<QTextFormat>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextFormat> (0xb6755580) 0 empty
-Class QMetaTypeId2<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMatrix> (0xb67555c0) 0 empty
-Class QMetaTypeId2<QTransform>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTransform> (0xb6755600) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -1303,45 +741,17 @@ Class QVariant
base size=12 base align=4
QVariant (0xb6755640) 0
-Class QMetaTypeId2<QList<QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QList<QVariant> > (0xb67558c0) 0 empty
-Class QMetaTypeId2<QMap<QString, QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMap<QString, QVariant> > (0xb6755900) 0 empty
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0xb6755a00) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0xb6755980) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0xb6755b00) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0xb6755a80) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0xb6755b80) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0xb6755c00) 0 empty
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1368,25 +778,9 @@ QSettings (0xb6755c40) 0
QObject (0xb6755c80) 0
primary-for QSettings (0xb6755c40)
-Class <anonymous struct>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct>::<anonymous union> (0xb6755d80) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6755d40) 0
-Class <anonymous struct>
- size=12 align=4
- base size=12 base align=4
-<anonymous struct> (0xb6755dc0) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb6755e00) 0
Class __gconv_trans_data
size=20 align=4
@@ -1408,15 +802,7 @@ Class __gconv_info
base size=8 base align=4
__gconv_info (0xb6755f00) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0xb6755f80) 0
-Class <anonymous union>
- size=44 align=4
- base size=44 base align=4
-<anonymous union> (0xb6755f40) 0
Class _IO_marker
size=12 align=4
@@ -1428,10 +814,6 @@ Class _IO_FILE
base size=148 base align=4
_IO_FILE (0xb6755780) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb67557c0) 0
Vtable for QFile
QFile::_ZTV5QFile: 31u entries
@@ -1477,10 +859,6 @@ QFile (0xb6755800) 0
QObject (0xb6755880) 0
primary-for QIODevice (0xb6755840)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0xb6755d00) 0
Vtable for QTemporaryFile
QTemporaryFile::_ZTV14QTemporaryFile: 31u entries
@@ -1533,40 +911,16 @@ Class QFileInfo
base size=4 base align=4
QFileInfo (0xb666d100) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0xb666d140) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0xb666d180) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0xb666d240) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0xb666d1c0) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0xb666d280) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0xb666d300) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0xb666d380) 0
Vtable for QProcess
QProcess::_ZTV8QProcess: 31u entries
@@ -1650,10 +1004,6 @@ Class QDirIterator
QDirIterator (0xb666d5c0) 0
vptr=((& QDirIterator::_ZTV12QDirIterator) + 8u)
-Class QFlags<QDirIterator::IteratorFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDirIterator::IteratorFlag> (0xb666d680) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -1710,10 +1060,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0xb666d6c0) 0
vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0xb666d840) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -1747,10 +1093,6 @@ Class QAbstractFileEngineIterator
QAbstractFileEngineIterator (0xb666d900) 0
vptr=((& QAbstractFileEngineIterator::_ZTV27QAbstractFileEngineIterator) + 8u)
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0xb666da40) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -1775,15 +1117,7 @@ Class QTextCodec
QTextCodec (0xb666d980) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0xb666db80) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0xb666db00) 0
Class QTextEncoder
size=32 align=4
@@ -1808,10 +1142,6 @@ Class QTextStream
QTextStream (0xb666dc40) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0xb666dd00) 0
Class QTextStreamManipulator
size=24 align=4
@@ -1958,20 +1288,12 @@ Class QReadWriteLock
base size=4 base align=4
QReadWriteLock (0xb666da00) 0
-Class QReadLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QReadLocker::<anonymous union> (0xb666dcc0) 0
Class QReadLocker
size=4 align=4
base size=4 base align=4
QReadLocker (0xb666da80) 0
-Class QWriteLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QWriteLocker::<anonymous union> (0xb666df40) 0
Class QWriteLocker
size=4 align=4
@@ -1983,10 +1305,6 @@ Class QMutex
base size=4 base align=4
QMutex (0xb648a000) 0
-Class QMutexLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMutexLocker::<anonymous union> (0xb648a080) 0
Class QMutexLocker
size=4 align=4
@@ -2066,10 +1384,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0xb648a380) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0xb648a3c0) 0 empty
Vtable for QMimeData
QMimeData::_ZTV9QMimeData: 17u entries
@@ -2104,20 +1418,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0xb648a4c0) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0xb648a500) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0xb648a540) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0xb648a5c0) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -2357,10 +1663,6 @@ QEventLoop (0xb648aa40) 0
QObject (0xb648aa80) 0
primary-for QEventLoop (0xb648aa40)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0xb648ab80) 0
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -2555,20 +1857,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0xb648a880) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0xb648a940) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0xb648aa00) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0xb648ab00) 0 empty
Class QMetaProperty
size=20 align=4
@@ -2580,10 +1874,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0xb648acc0) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0xb648ad80) 0 empty
Vtable for QTextCodecFactoryInterface
QTextCodecFactoryInterface::_ZTV26QTextCodecFactoryInterface: 6u entries
@@ -2644,18 +1934,6 @@ QTextCodecPlugin (0xb63f7000) 0
QFactoryInterface (0xb63f70c0) 8 nearly-empty
primary-for QTextCodecFactoryInterface (0xb63f7080)
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0xb63f71c0) 0
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0xb63f7240) 0
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0xb63f72c0) 0
diff --git a/tests/auto/bic/data/QtCore.4.3.1.linux-gcc-ia32.txt b/tests/auto/bic/data/QtCore.4.3.1.linux-gcc-ia32.txt
index 93ba994..c3671e1 100644
--- a/tests/auto/bic/data/QtCore.4.3.1.linux-gcc-ia32.txt
+++ b/tests/auto/bic/data/QtCore.4.3.1.linux-gcc-ia32.txt
@@ -1,34 +1,8 @@
-Class QUintForSize<4>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<4> (0xb7f0ebc0) 0 empty
-Class QUintForSize<8>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<8> (0xb7f0ec00) 0 empty
-Class QUintForType<void*>
- size=1 align=1
- base size=1 base align=1
-QUintForType<void*> (0xb7f0ecc0) 0 empty
- QUintForSize<4> (0xb7f0ed00) 0 empty
-Class QIntForSize<4>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<4> (0xb7f0ed80) 0 empty
-Class QIntForSize<8>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<8> (0xb7f0edc0) 0 empty
-Class QIntForType<void*>
- size=1 align=1
- base size=1 base align=1
-QIntForType<void*> (0xb7f0ee80) 0 empty
- QIntForSize<4> (0xb7f0eec0) 0 empty
Class QSysInfo
size=1 align=1
@@ -50,80 +24,20 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0xb73b7180) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0xb73b7240) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0xb73b7280) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0xb73b72c0) 0 empty
-Class QTypeInfo<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned char> (0xb73b7300) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0xb73b7340) 0 empty
-Class QTypeInfo<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short unsigned int> (0xb73b7380) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0xb73b73c0) 0 empty
-Class QTypeInfo<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned int> (0xb73b7400) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0xb73b7440) 0 empty
-Class QTypeInfo<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long unsigned int> (0xb73b7480) 0 empty
-Class QTypeInfo<long long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long int> (0xb73b74c0) 0 empty
-Class QTypeInfo<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long unsigned int> (0xb73b7500) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0xb73b7540) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0xb73b7580) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0xb73b75c0) 0 empty
Class QFlag
size=4 align=4
@@ -161,10 +75,6 @@ Class QByteRef
base size=8 base align=4
QByteRef (0xb73b7a00) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0xb73b7a40) 0 empty
Vtable for std::exception
std::exception::_ZTVSt9exception: 5u entries
@@ -227,70 +137,18 @@ Class QListData
base size=4 base align=4
QListData (0xb73b7d40) 0
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0xb73b7b40) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0xb73b7c00) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0xb73b7cc0) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0xb73b7f00) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0xb73b7f40) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0xb71f5000) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0xb71f5040) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0xb71f5080) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0xb71f50c0) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0xb71f5100) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0xb71f5140) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0xb71f5180) 0
-Class QFlags<Qt::TextInteractionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::TextInteractionFlag> (0xb71f51c0) 0
Class QInternal
size=1 align=1
@@ -308,10 +166,6 @@ Class QGenericReturnArgument
QGenericReturnArgument (0xb71f52c0) 0
QGenericArgument (0xb71f5300) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0xb71f54c0) 0
Class QMetaObject
size=16 align=4
@@ -328,10 +182,6 @@ Class QChar
base size=2 base align=2
QChar (0xb71f5580) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0xb71f5600) 0 empty
Class QString::Null
size=1 align=1
@@ -348,10 +198,6 @@ Class QString
base size=4 base align=4
QString (0xb71f5640) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0xb71f5840) 0
Class QLatin1String
size=4 align=4
@@ -369,25 +215,13 @@ Class QConstString
QConstString (0xb71f5900) 0
QString (0xb71f5940) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0xb71f5980) 0 empty
Class QStringRef
size=12 align=4
base size=12 base align=4
QStringRef (0xb71f59c0) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0xb71f5b00) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0xb71f5a80) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -479,10 +313,6 @@ QIODevice (0xb71f5d40) 0
QObject (0xb71f5d80) 0
primary-for QIODevice (0xb71f5d40)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0xb71f5e40) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -502,275 +332,59 @@ Class QMetaType
base size=0 base align=1
QMetaType (0xb71f5f00) 0 empty
-Class QMetaTypeId2<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QString> (0xb71f5fc0) 0 empty
-Class QMetaTypeId2<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<int> (0xb71f5780) 0 empty
-Class QMetaTypeId2<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned int> (0xb71f57c0) 0 empty
-Class QMetaTypeId2<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<bool> (0xb71f5b80) 0 empty
-Class QMetaTypeId2<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<double> (0xb71f5c00) 0 empty
-Class QMetaTypeId2<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QByteArray> (0xb71f5dc0) 0 empty
-Class QMetaTypeId2<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QChar> (0xb71f5ec0) 0 empty
-Class QMetaTypeId2<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long int> (0xb6f43000) 0 empty
-Class QMetaTypeId2<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short int> (0xb6f43040) 0 empty
-Class QMetaTypeId2<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<char> (0xb6f43080) 0 empty
-Class QMetaTypeId2<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long unsigned int> (0xb6f430c0) 0 empty
-Class QMetaTypeId2<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short unsigned int> (0xb6f43100) 0 empty
-Class QMetaTypeId2<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned char> (0xb6f43140) 0 empty
-Class QMetaTypeId2<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<float> (0xb6f43180) 0 empty
-Class QMetaTypeId2<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QObject*> (0xb6f431c0) 0 empty
-Class QMetaTypeId2<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QWidget*> (0xb6f43200) 0 empty
-Class QMetaTypeId2<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<void*> (0xb6f43240) 0 empty
-Class QMetaTypeId2<long long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long int> (0xb6f43280) 0 empty
-Class QMetaTypeId2<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long unsigned int> (0xb6f432c0) 0 empty
-Class QMetaTypeId2<QStringList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QStringList> (0xb6f43300) 0 empty
-Class QMetaTypeId2<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitArray> (0xb6f43340) 0 empty
-Class QMetaTypeId2<QDate>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDate> (0xb6f43380) 0 empty
-Class QMetaTypeId2<QTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTime> (0xb6f433c0) 0 empty
-Class QMetaTypeId2<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDateTime> (0xb6f43400) 0 empty
-Class QMetaTypeId2<QUrl>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QUrl> (0xb6f43440) 0 empty
-Class QMetaTypeId2<QLocale>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLocale> (0xb6f43480) 0 empty
-Class QMetaTypeId2<QRect>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRect> (0xb6f434c0) 0 empty
-Class QMetaTypeId2<QRectF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRectF> (0xb6f43500) 0 empty
-Class QMetaTypeId2<QSize>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSize> (0xb6f43540) 0 empty
-Class QMetaTypeId2<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizeF> (0xb6f43580) 0 empty
-Class QMetaTypeId2<QLine>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLine> (0xb6f435c0) 0 empty
-Class QMetaTypeId2<QLineF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLineF> (0xb6f43600) 0 empty
-Class QMetaTypeId2<QPoint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPoint> (0xb6f43640) 0 empty
-Class QMetaTypeId2<QPointF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPointF> (0xb6f43680) 0 empty
-Class QMetaTypeId2<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegExp> (0xb6f436c0) 0 empty
-Class QMetaTypeId2<QColorGroup>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColorGroup> (0xb6f43700) 0 empty
-Class QMetaTypeId2<QFont>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QFont> (0xb6f43740) 0 empty
-Class QMetaTypeId2<QPixmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPixmap> (0xb6f43780) 0 empty
-Class QMetaTypeId2<QBrush>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBrush> (0xb6f437c0) 0 empty
-Class QMetaTypeId2<QColor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColor> (0xb6f43800) 0 empty
-Class QMetaTypeId2<QPalette>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPalette> (0xb6f43840) 0 empty
-Class QMetaTypeId2<QIcon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QIcon> (0xb6f43880) 0 empty
-Class QMetaTypeId2<QImage>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QImage> (0xb6f438c0) 0 empty
-Class QMetaTypeId2<QPolygon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPolygon> (0xb6f43900) 0 empty
-Class QMetaTypeId2<QRegion>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegion> (0xb6f43940) 0 empty
-Class QMetaTypeId2<QBitmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitmap> (0xb6f43980) 0 empty
-Class QMetaTypeId2<QCursor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QCursor> (0xb6f439c0) 0 empty
-Class QMetaTypeId2<QSizePolicy>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizePolicy> (0xb6f43a00) 0 empty
-Class QMetaTypeId2<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QKeySequence> (0xb6f43a40) 0 empty
-Class QMetaTypeId2<QPen>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPen> (0xb6f43a80) 0 empty
-Class QMetaTypeId2<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextLength> (0xb6f43ac0) 0 empty
-Class QMetaTypeId2<QTextFormat>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextFormat> (0xb6f43b00) 0 empty
-Class QMetaTypeId2<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMatrix> (0xb6f43b40) 0 empty
-Class QMetaTypeId2<QTransform>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTransform> (0xb6f43b80) 0 empty
Class QMapData::Node
size=8 align=4
@@ -807,45 +421,17 @@ Class QVariant
base size=12 base align=4
QVariant (0xb6e15000) 0
-Class QMetaTypeId2<QList<QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QList<QVariant> > (0xb6e15280) 0 empty
-Class QMetaTypeId2<QMap<QString, QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMap<QString, QVariant> > (0xb6e152c0) 0 empty
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0xb6e153c0) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0xb6e15340) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0xb6e154c0) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0xb6e15440) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0xb6e15540) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0xb6e155c0) 0 empty
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -972,10 +558,6 @@ QEventLoop (0xb6e15a40) 0
QObject (0xb6e15a80) 0
primary-for QEventLoop (0xb6e15a40)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0xb6e15b80) 0
Vtable for QCoreApplication
QCoreApplication::_ZTV16QCoreApplication: 16u entries
@@ -1009,10 +591,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0xb6e15d40) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0xb6e15d80) 0 empty
Vtable for QTimer
QTimer::_ZTV6QTimer: 14u entries
@@ -1069,20 +647,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0xb6e15f40) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0xb6e15f80) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0xb6e15fc0) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0xb6e15180) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -1277,20 +847,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0xb6e15b00) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0xb6e15c40) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0xb6e15c80) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0xb6e15cc0) 0 empty
Class QMetaProperty
size=20 align=4
@@ -1302,10 +864,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0xb6e15f00) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0xb6b9a000) 0 empty
Vtable for QSocketNotifier
QSocketNotifier::_ZTV15QSocketNotifier: 14u entries
@@ -1408,100 +966,48 @@ Class QSize
base size=8 base align=4
QSize (0xb6b9a300) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0xb6b9a500) 0 empty
Class QSizeF
size=16 align=4
base size=16 base align=4
QSizeF (0xb6b9a580) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0xb6b9a780) 0 empty
Class QPoint
size=8 align=4
base size=8 base align=4
QPoint (0xb6b9a840) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0xb6b9aa80) 0 empty
Class QPointF
size=16 align=4
base size=16 base align=4
QPointF (0xb6b9aac0) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0xb6b9ad00) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0xb6b9ad40) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0xb6b9ae40) 0 empty
Class QRectF
size=32 align=4
base size=32 base align=4
QRectF (0xb6b9ae80) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0xb6b9af40) 0 empty
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0xb6b9afc0) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0xb6b9a0c0) 0
Class wait
size=4 align=4
base size=4 base align=4
wait (0xb6b9af80) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6b9a180) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6b9a240) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb6b9a340) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6b9a380) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb6b9a3c0) 0
Class timespec
size=8 align=4
@@ -1513,80 +1019,24 @@ Class timeval
base size=8 base align=4
timeval (0xb6b9a440) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb6b9a480) 0
-Class <anonymous union>
- size=36 align=4
- base size=36 base align=4
-<anonymous union> (0xb6b9a4c0) 0
Class __pthread_internal_slist
size=4 align=4
base size=4 base align=4
__pthread_internal_slist (0xb6b9a5c0) 0
-Class <anonymous union>::__pthread_mutex_s::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union>::__pthread_mutex_s::<anonymous union> (0xb6b9a680) 0
-Class <anonymous union>::__pthread_mutex_s
- size=24 align=4
- base size=24 base align=4
-<anonymous union>::__pthread_mutex_s (0xb6b9a640) 0
-Class <anonymous union>
- size=24 align=4
- base size=24 base align=4
-<anonymous union> (0xb6b9a600) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb6b9a6c0) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0xb6b9a740) 0
-Class <anonymous union>
- size=48 align=4
- base size=48 base align=4
-<anonymous union> (0xb6b9a700) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb6b9a880) 0
-Class <anonymous union>::<anonymous struct>
- size=32 align=4
- base size=32 base align=4
-<anonymous union>::<anonymous struct> (0xb6b9a900) 0
-Class <anonymous union>
- size=32 align=4
- base size=32 base align=4
-<anonymous union> (0xb6b9a8c0) 0
-Class <anonymous union>
- size=8 align=4
- base size=8 base align=4
-<anonymous union> (0xb6b9a940) 0
-Class <anonymous union>
- size=20 align=4
- base size=20 base align=4
-<anonymous union> (0xb6b9a980) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb6b9a9c0) 0
Class random_data
size=28 align=4
@@ -1618,35 +1068,19 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0xb69c9000) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0xb69c9040) 0 empty
Class QRegExp
size=4 align=4
base size=4 base align=4
QRegExp (0xb69c97c0) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0xb69c9800) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0xb69c9840) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0xb69c9900) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0xb69c9880) 0
Class QStringList
size=4 align=4
@@ -1654,15 +1088,7 @@ Class QStringList
QStringList (0xb69c9940) 0
QList<QString> (0xb69c9980) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0xb69c9a00) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0xb69c9a40) 0
Vtable for QTimeLine
QTimeLine::_ZTV9QTimeLine: 15u entries
@@ -1695,15 +1121,7 @@ Class QLocale
base size=4 base align=4
QLocale (0xb69c9c40) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0xb69c9c80) 0 empty
-Class QFlags<QLocale::NumberOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLocale::NumberOption> (0xb69c9cc0) 0
Vtable for QSystemLocale
QSystemLocale::_ZTV13QSystemLocale: 6u entries
@@ -1730,10 +1148,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0xb69c9f00) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0xb69c9f40) 0 empty
Class QCryptographicHash
size=4 align=4
@@ -1750,20 +1164,12 @@ Class QLine
base size=16 base align=4
QLine (0xb67d12c0) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0xb67d1300) 0 empty
Class QLineF
size=32 align=4
base size=32 base align=4
QLineF (0xb67d1340) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0xb67d1380) 0 empty
Class QSharedData
size=4 align=4
@@ -1775,30 +1181,18 @@ Class QDate
base size=4 base align=4
QDate (0xb67d1500) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0xb67d15c0) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0xb67d1600) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0xb67d16c0) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0xb67d1700) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0xb67d17c0) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -1810,20 +1204,12 @@ Class QReadWriteLock
base size=4 base align=4
QReadWriteLock (0xb67d1840) 0
-Class QReadLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QReadLocker::<anonymous union> (0xb67d18c0) 0
Class QReadLocker
size=4 align=4
base size=4 base align=4
QReadLocker (0xb67d1880) 0
-Class QWriteLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QWriteLocker::<anonymous union> (0xb67d1940) 0
Class QWriteLocker
size=4 align=4
@@ -1876,20 +1262,12 @@ Class QMutex
base size=4 base align=4
QMutex (0xb67d1b80) 0
-Class QMutexLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMutexLocker::<anonymous union> (0xb67d1c00) 0
Class QMutexLocker
size=4 align=4
base size=4 base align=4
QMutexLocker (0xb67d1bc0) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0xb67d1d00) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -1914,15 +1292,7 @@ Class QTextCodec
QTextCodec (0xb67d1c40) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0xb67d1e40) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0xb67d1dc0) 0
Class QTextEncoder
size=32 align=4
@@ -1934,25 +1304,9 @@ Class QTextDecoder
base size=32 base align=4
QTextDecoder (0xb67d1ec0) 0
-Class <anonymous struct>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct>::<anonymous union> (0xb67d1f40) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb67d1f00) 0
-Class <anonymous struct>
- size=12 align=4
- base size=12 base align=4
-<anonymous struct> (0xb67d1f80) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb67d1fc0) 0
Class __gconv_trans_data
size=20 align=4
@@ -1974,15 +1328,7 @@ Class __gconv_info
base size=8 base align=4
__gconv_info (0xb67d1640) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0xb67d1740) 0
-Class <anonymous union>
- size=44 align=4
- base size=44 base align=4
-<anonymous union> (0xb67d1680) 0
Class _IO_marker
size=12 align=4
@@ -1994,10 +1340,6 @@ Class _IO_FILE
base size=148 base align=4
_IO_FILE (0xb67d1a40) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb67d1cc0) 0
Vtable for QTextStream
QTextStream::_ZTV11QTextStream: 4u entries
@@ -2012,10 +1354,6 @@ Class QTextStream
QTextStream (0xb67d1d40) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0xb657d080) 0
Class QTextStreamManipulator
size=24 align=4
@@ -2131,35 +1469,15 @@ QFile (0xb657d4c0) 0
QObject (0xb657d540) 0
primary-for QIODevice (0xb657d500)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0xb657d5c0) 0
Class QFileInfo
size=4 align=4
base size=4 base align=4
QFileInfo (0xb657d600) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0xb657d640) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0xb657d680) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0xb657d740) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0xb657d6c0) 0
Vtable for QTemporaryFile
QTemporaryFile::_ZTV14QTemporaryFile: 31u entries
@@ -2212,15 +1530,7 @@ Class QDir
base size=4 base align=4
QDir (0xb657d8c0) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0xb657d940) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0xb657d9c0) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -2277,10 +1587,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0xb657da00) 0
vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0xb657db80) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -2409,15 +1715,7 @@ Class QUrl
base size=4 base align=4
QUrl (0xb657de80) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0xb657df00) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0xb657df40) 0 empty
Vtable for QDirIterator
QDirIterator::_ZTV12QDirIterator: 4u entries
@@ -2432,10 +1730,6 @@ Class QDirIterator
QDirIterator (0xb657df80) 0
vptr=((& QDirIterator::_ZTV12QDirIterator) + 8u)
-Class QFlags<QDirIterator::IteratorFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDirIterator::IteratorFlag> (0xb657d200) 0
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -2541,10 +1835,6 @@ QLibrary (0xb657dd40) 0
QObject (0xb657de40) 0
primary-for QLibrary (0xb657dd40)
-Class QFlags<QLibrary::LoadHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLibrary::LoadHint> (0xb657dfc0) 0
Vtable for QPluginLoader
QPluginLoader::_ZTV13QPluginLoader: 14u entries
@@ -2644,18 +1934,6 @@ QTextCodecPlugin (0xb64212c0) 0
QFactoryInterface (0xb6421380) 8 nearly-empty
primary-for QTextCodecFactoryInterface (0xb6421340)
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0xb6421480) 0
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0xb6421500) 0
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0xb6421580) 0
diff --git a/tests/auto/bic/data/QtCore.4.3.2.linux-gcc-ia32.txt b/tests/auto/bic/data/QtCore.4.3.2.linux-gcc-ia32.txt
index 47a55b8..8d4df6e 100644
--- a/tests/auto/bic/data/QtCore.4.3.2.linux-gcc-ia32.txt
+++ b/tests/auto/bic/data/QtCore.4.3.2.linux-gcc-ia32.txt
@@ -1,34 +1,8 @@
-Class QUintForSize<4>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<4> (0xb7fb8bc0) 0 empty
-Class QUintForSize<8>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<8> (0xb7fb8c00) 0 empty
-Class QUintForType<void*>
- size=1 align=1
- base size=1 base align=1
-QUintForType<void*> (0xb7fb8cc0) 0 empty
- QUintForSize<4> (0xb7fb8d00) 0 empty
-Class QIntForSize<4>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<4> (0xb7fb8d80) 0 empty
-Class QIntForSize<8>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<8> (0xb7fb8dc0) 0 empty
-Class QIntForType<void*>
- size=1 align=1
- base size=1 base align=1
-QIntForType<void*> (0xb7fb8e80) 0 empty
- QIntForSize<4> (0xb7fb8ec0) 0 empty
Class QSysInfo
size=1 align=1
@@ -50,150 +24,38 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0xb7861180) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0xb7861240) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0xb7861280) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0xb78612c0) 0 empty
-Class QTypeInfo<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned char> (0xb7861300) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0xb7861340) 0 empty
-Class QTypeInfo<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short unsigned int> (0xb7861380) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0xb78613c0) 0 empty
-Class QTypeInfo<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned int> (0xb7861400) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0xb7861440) 0 empty
-Class QTypeInfo<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long unsigned int> (0xb7861480) 0 empty
-Class QTypeInfo<long long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long int> (0xb78614c0) 0 empty
-Class QTypeInfo<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long unsigned int> (0xb7861500) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0xb7861540) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0xb7861580) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0xb78615c0) 0 empty
Class QFlag
size=4 align=4
base size=4 base align=4
QFlag (0xb7861600) 0
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0xb7861700) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0xb7861740) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0xb7861780) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0xb78617c0) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0xb7861800) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0xb7861840) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0xb7861880) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0xb78618c0) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0xb7861900) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0xb7861940) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0xb7861980) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0xb78619c0) 0
-Class QFlags<Qt::TextInteractionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::TextInteractionFlag> (0xb7861a00) 0
Class QInternal
size=1 align=1
@@ -211,10 +73,6 @@ Class QGenericReturnArgument
QGenericReturnArgument (0xb7861b00) 0
QGenericArgument (0xb7861b40) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0xb7861d00) 0
Class QMetaObject
size=16 align=4
@@ -231,10 +89,6 @@ Class QChar
base size=2 base align=2
QChar (0xb7861dc0) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0xb7861e40) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -267,10 +121,6 @@ Class QByteRef
base size=8 base align=4
QByteRef (0xb73c6140) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0xb73c6180) 0 empty
Class QString::Null
size=1 align=1
@@ -287,10 +137,6 @@ Class QString
base size=4 base align=4
QString (0xb73c61c0) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0xb73c63c0) 0
Class QLatin1String
size=4 align=4
@@ -308,10 +154,6 @@ Class QConstString
QConstString (0xb73c64c0) 0
QString (0xb73c6500) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0xb73c6540) 0 empty
Class QStringRef
size=12 align=4
@@ -379,15 +221,7 @@ Class QListData
base size=4 base align=4
QListData (0xb73c6880) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0xb73c6c00) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0xb73c6b80) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -463,10 +297,6 @@ QLibrary (0xb73c6e40) 0
QObject (0xb73c6e80) 0
primary-for QLibrary (0xb73c6e40)
-Class QFlags<QLibrary::LoadHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLibrary::LoadHint> (0xb73c6f00) 0
Class QUuid
size=16 align=4
@@ -514,10 +344,6 @@ QIODevice (0xb73c6fc0) 0
QObject (0xb73c6300) 0
primary-for QIODevice (0xb73c6fc0)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0xb73c6680) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -537,25 +363,13 @@ Class QRegExp
base size=4 base align=4
QRegExp (0xb73c6800) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0xb73c6a40) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0xb73c6c80) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0xb6e20000) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0xb73c6d00) 0
Class QStringList
size=4 align=4
@@ -563,15 +377,7 @@ Class QStringList
QStringList (0xb6e20040) 0
QList<QString> (0xb6e20080) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0xb6e20100) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0xb6e20140) 0
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -627,10 +433,6 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0xb6e204c0) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0xb6e20500) 0 empty
Class QCryptographicHash
size=4 align=4
@@ -642,75 +444,35 @@ Class QDate
base size=4 base align=4
QDate (0xb6e20a40) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0xb6e20b00) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0xb6e20b40) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0xb6e20c00) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0xb6e20c40) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0xb6e20d00) 0 empty
Class QByteArrayMatcher
size=1032 align=4
base size=1032 base align=4
QByteArrayMatcher (0xb6e20d40) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0xb6e20dc0) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0xb6e20e00) 0
Class wait
size=4 align=4
base size=4 base align=4
wait (0xb6e20d80) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6e20e40) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6e20e80) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb6e20ec0) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6e20f00) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb6e20f40) 0
Class timespec
size=8 align=4
@@ -722,80 +484,24 @@ Class timeval
base size=8 base align=4
timeval (0xb6e20fc0) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb6e20240) 0
-Class <anonymous union>
- size=36 align=4
- base size=36 base align=4
-<anonymous union> (0xb6e20380) 0
Class __pthread_internal_slist
size=4 align=4
base size=4 base align=4
__pthread_internal_slist (0xb6e208c0) 0
-Class <anonymous union>::__pthread_mutex_s::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union>::__pthread_mutex_s::<anonymous union> (0xb6e20b80) 0
-Class <anonymous union>::__pthread_mutex_s
- size=24 align=4
- base size=24 base align=4
-<anonymous union>::__pthread_mutex_s (0xb6e20ac0) 0
-Class <anonymous union>
- size=24 align=4
- base size=24 base align=4
-<anonymous union> (0xb6e20a80) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb6e20bc0) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0xb6e20cc0) 0
-Class <anonymous union>
- size=48 align=4
- base size=48 base align=4
-<anonymous union> (0xb6e20c80) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb6d80000) 0
-Class <anonymous union>::<anonymous struct>
- size=32 align=4
- base size=32 base align=4
-<anonymous union>::<anonymous struct> (0xb6d80080) 0
-Class <anonymous union>
- size=32 align=4
- base size=32 base align=4
-<anonymous union> (0xb6d80040) 0
-Class <anonymous union>
- size=8 align=4
- base size=8 base align=4
-<anonymous union> (0xb6d800c0) 0
-Class <anonymous union>
- size=20 align=4
- base size=20 base align=4
-<anonymous union> (0xb6d80100) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb6d80140) 0
Class random_data
size=28 align=4
@@ -817,20 +523,12 @@ Class QSize
base size=8 base align=4
QSize (0xb6d803c0) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0xb6d805c0) 0 empty
Class QSizeF
size=16 align=4
base size=16 base align=4
QSizeF (0xb6d80640) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0xb6d80840) 0 empty
Class QLinkedListData
size=20 align=4
@@ -842,15 +540,7 @@ Class QLocale
base size=4 base align=4
QLocale (0xb6d80c00) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0xb6d80c40) 0 empty
-Class QFlags<QLocale::NumberOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLocale::NumberOption> (0xb6d80c80) 0
Vtable for QSystemLocale
QSystemLocale::_ZTV13QSystemLocale: 6u entries
@@ -887,60 +577,36 @@ Class QPoint
base size=8 base align=4
QPoint (0xb6d80740) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0xb6d80800) 0 empty
Class QPointF
size=16 align=4
base size=16 base align=4
QPointF (0xb6d80780) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0xb6d807c0) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0xb6c01080) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0xb6c01180) 0 empty
Class QRectF
size=32 align=4
base size=32 base align=4
QRectF (0xb6c011c0) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0xb6c01280) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0xb6c012c0) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0xb6c01300) 0 empty
Class QLineF
size=32 align=4
base size=32 base align=4
QLineF (0xb6c01340) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0xb6c01380) 0 empty
Vtable for QTimeLine
QTimeLine::_ZTV9QTimeLine: 15u entries
@@ -978,10 +644,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0xb6c01700) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0xb6c01740) 0 empty
Class QLibraryInfo
size=1 align=1
@@ -993,290 +655,66 @@ Class QUrl
base size=4 base align=4
QUrl (0xb6c01880) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0xb6c01900) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0xb6c01940) 0 empty
Class QMetaType
size=1 align=1
base size=0 base align=1
QMetaType (0xb6c01980) 0 empty
-Class QMetaTypeId2<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QString> (0xb6c01a40) 0 empty
-Class QMetaTypeId2<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<int> (0xb6c01a80) 0 empty
-Class QMetaTypeId2<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned int> (0xb6c01ac0) 0 empty
-Class QMetaTypeId2<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<bool> (0xb6c01b00) 0 empty
-Class QMetaTypeId2<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<double> (0xb6c01b40) 0 empty
-Class QMetaTypeId2<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QByteArray> (0xb6c01b80) 0 empty
-Class QMetaTypeId2<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QChar> (0xb6c01bc0) 0 empty
-Class QMetaTypeId2<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long int> (0xb6c01c00) 0 empty
-Class QMetaTypeId2<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short int> (0xb6c01c40) 0 empty
-Class QMetaTypeId2<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<char> (0xb6c01c80) 0 empty
-Class QMetaTypeId2<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long unsigned int> (0xb6c01cc0) 0 empty
-Class QMetaTypeId2<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short unsigned int> (0xb6c01d00) 0 empty
-Class QMetaTypeId2<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned char> (0xb6c01d40) 0 empty
-Class QMetaTypeId2<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<float> (0xb6c01d80) 0 empty
-Class QMetaTypeId2<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QObject*> (0xb6c01dc0) 0 empty
-Class QMetaTypeId2<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QWidget*> (0xb6c01e00) 0 empty
-Class QMetaTypeId2<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<void*> (0xb6c01e40) 0 empty
-Class QMetaTypeId2<long long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long int> (0xb6c01e80) 0 empty
-Class QMetaTypeId2<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long unsigned int> (0xb6c01ec0) 0 empty
-Class QMetaTypeId2<QStringList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QStringList> (0xb6c01f00) 0 empty
-Class QMetaTypeId2<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitArray> (0xb6c01f40) 0 empty
-Class QMetaTypeId2<QDate>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDate> (0xb6c01f80) 0 empty
-Class QMetaTypeId2<QTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTime> (0xb6c01fc0) 0 empty
-Class QMetaTypeId2<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDateTime> (0xb6c010c0) 0 empty
-Class QMetaTypeId2<QUrl>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QUrl> (0xb6c01100) 0 empty
-Class QMetaTypeId2<QLocale>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLocale> (0xb6c01140) 0 empty
-Class QMetaTypeId2<QRect>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRect> (0xb6c01200) 0 empty
-Class QMetaTypeId2<QRectF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRectF> (0xb6c01240) 0 empty
-Class QMetaTypeId2<QSize>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSize> (0xb6c01580) 0 empty
-Class QMetaTypeId2<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizeF> (0xb682a000) 0 empty
-Class QMetaTypeId2<QLine>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLine> (0xb682a040) 0 empty
-Class QMetaTypeId2<QLineF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLineF> (0xb682a080) 0 empty
-Class QMetaTypeId2<QPoint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPoint> (0xb682a0c0) 0 empty
-Class QMetaTypeId2<QPointF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPointF> (0xb682a100) 0 empty
-Class QMetaTypeId2<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegExp> (0xb682a140) 0 empty
-Class QMetaTypeId2<QColorGroup>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColorGroup> (0xb682a180) 0 empty
-Class QMetaTypeId2<QFont>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QFont> (0xb682a1c0) 0 empty
-Class QMetaTypeId2<QPixmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPixmap> (0xb682a200) 0 empty
-Class QMetaTypeId2<QBrush>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBrush> (0xb682a240) 0 empty
-Class QMetaTypeId2<QColor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColor> (0xb682a280) 0 empty
-Class QMetaTypeId2<QPalette>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPalette> (0xb682a2c0) 0 empty
-Class QMetaTypeId2<QIcon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QIcon> (0xb682a300) 0 empty
-Class QMetaTypeId2<QImage>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QImage> (0xb682a340) 0 empty
-Class QMetaTypeId2<QPolygon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPolygon> (0xb682a380) 0 empty
-Class QMetaTypeId2<QRegion>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegion> (0xb682a3c0) 0 empty
-Class QMetaTypeId2<QBitmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitmap> (0xb682a400) 0 empty
-Class QMetaTypeId2<QCursor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QCursor> (0xb682a440) 0 empty
-Class QMetaTypeId2<QSizePolicy>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizePolicy> (0xb682a480) 0 empty
-Class QMetaTypeId2<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QKeySequence> (0xb682a4c0) 0 empty
-Class QMetaTypeId2<QPen>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPen> (0xb682a500) 0 empty
-Class QMetaTypeId2<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextLength> (0xb682a540) 0 empty
-Class QMetaTypeId2<QTextFormat>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextFormat> (0xb682a580) 0 empty
-Class QMetaTypeId2<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMatrix> (0xb682a5c0) 0 empty
-Class QMetaTypeId2<QTransform>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTransform> (0xb682a600) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -1303,45 +741,17 @@ Class QVariant
base size=12 base align=4
QVariant (0xb682a640) 0
-Class QMetaTypeId2<QList<QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QList<QVariant> > (0xb682a8c0) 0 empty
-Class QMetaTypeId2<QMap<QString, QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMap<QString, QVariant> > (0xb682a900) 0 empty
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0xb682aa00) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0xb682a980) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0xb682ab00) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0xb682aa80) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0xb682ab80) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0xb682ac00) 0 empty
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1368,25 +778,9 @@ QSettings (0xb682ac40) 0
QObject (0xb682ac80) 0
primary-for QSettings (0xb682ac40)
-Class <anonymous struct>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct>::<anonymous union> (0xb682ad80) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb682ad40) 0
-Class <anonymous struct>
- size=12 align=4
- base size=12 base align=4
-<anonymous struct> (0xb682adc0) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb682ae00) 0
Class __gconv_trans_data
size=20 align=4
@@ -1408,15 +802,7 @@ Class __gconv_info
base size=8 base align=4
__gconv_info (0xb682af00) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0xb682af80) 0
-Class <anonymous union>
- size=44 align=4
- base size=44 base align=4
-<anonymous union> (0xb682af40) 0
Class _IO_marker
size=12 align=4
@@ -1428,10 +814,6 @@ Class _IO_FILE
base size=148 base align=4
_IO_FILE (0xb682a780) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb682a7c0) 0
Vtable for QFile
QFile::_ZTV5QFile: 31u entries
@@ -1477,10 +859,6 @@ QFile (0xb682a800) 0
QObject (0xb682a880) 0
primary-for QIODevice (0xb682a840)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0xb682ad00) 0
Vtable for QTemporaryFile
QTemporaryFile::_ZTV14QTemporaryFile: 31u entries
@@ -1533,40 +911,16 @@ Class QFileInfo
base size=4 base align=4
QFileInfo (0xb6742100) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0xb6742140) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0xb6742180) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0xb6742240) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0xb67421c0) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0xb6742280) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0xb6742300) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0xb6742380) 0
Vtable for QProcess
QProcess::_ZTV8QProcess: 31u entries
@@ -1650,10 +1004,6 @@ Class QDirIterator
QDirIterator (0xb67425c0) 0
vptr=((& QDirIterator::_ZTV12QDirIterator) + 8u)
-Class QFlags<QDirIterator::IteratorFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDirIterator::IteratorFlag> (0xb6742680) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -1710,10 +1060,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0xb67426c0) 0
vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0xb6742840) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -1747,10 +1093,6 @@ Class QAbstractFileEngineIterator
QAbstractFileEngineIterator (0xb6742900) 0
vptr=((& QAbstractFileEngineIterator::_ZTV27QAbstractFileEngineIterator) + 8u)
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0xb6742a40) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -1775,15 +1117,7 @@ Class QTextCodec
QTextCodec (0xb6742980) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0xb6742b80) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0xb6742b00) 0
Class QTextEncoder
size=32 align=4
@@ -1808,10 +1142,6 @@ Class QTextStream
QTextStream (0xb6742c40) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0xb6742d00) 0
Class QTextStreamManipulator
size=24 align=4
@@ -1958,20 +1288,12 @@ Class QReadWriteLock
base size=4 base align=4
QReadWriteLock (0xb6742a00) 0
-Class QReadLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QReadLocker::<anonymous union> (0xb6742cc0) 0
Class QReadLocker
size=4 align=4
base size=4 base align=4
QReadLocker (0xb6742a80) 0
-Class QWriteLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QWriteLocker::<anonymous union> (0xb6742f40) 0
Class QWriteLocker
size=4 align=4
@@ -1983,10 +1305,6 @@ Class QMutex
base size=4 base align=4
QMutex (0xb655f000) 0
-Class QMutexLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMutexLocker::<anonymous union> (0xb655f080) 0
Class QMutexLocker
size=4 align=4
@@ -2066,10 +1384,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0xb655f380) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0xb655f3c0) 0 empty
Vtable for QMimeData
QMimeData::_ZTV9QMimeData: 17u entries
@@ -2104,20 +1418,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0xb655f4c0) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0xb655f500) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0xb655f540) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0xb655f5c0) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -2357,10 +1663,6 @@ QEventLoop (0xb655fa40) 0
QObject (0xb655fa80) 0
primary-for QEventLoop (0xb655fa40)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0xb655fb80) 0
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -2555,20 +1857,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0xb655f880) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0xb655f940) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0xb655fa00) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0xb655fb00) 0 empty
Class QMetaProperty
size=20 align=4
@@ -2580,10 +1874,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0xb655fcc0) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0xb655fd80) 0 empty
Vtable for QTextCodecFactoryInterface
QTextCodecFactoryInterface::_ZTV26QTextCodecFactoryInterface: 6u entries
@@ -2644,18 +1934,6 @@ QTextCodecPlugin (0xb64cc000) 0
QFactoryInterface (0xb64cc0c0) 8 nearly-empty
primary-for QTextCodecFactoryInterface (0xb64cc080)
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0xb64cc1c0) 0
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0xb64cc240) 0
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0xb64cc2c0) 0
diff --git a/tests/auto/bic/data/QtCore.4.4.0.linux-gcc-ia32.txt b/tests/auto/bic/data/QtCore.4.4.0.linux-gcc-ia32.txt
index 6338075..9d46f68 100644
--- a/tests/auto/bic/data/QtCore.4.4.0.linux-gcc-ia32.txt
+++ b/tests/auto/bic/data/QtCore.4.4.0.linux-gcc-ia32.txt
@@ -1,34 +1,8 @@
-Class QUintForSize<4>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<4> (0xb796d960) 0 empty
-Class QUintForSize<8>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<8> (0xb796d99c) 0 empty
-Class QUintForType<void*>
- size=1 align=1
- base size=1 base align=1
-QUintForType<void*> (0xb7dd1b40) 0 empty
- QUintForSize<4> (0xb796da14) 0 empty
-Class QIntForSize<4>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<4> (0xb796db40) 0 empty
-Class QIntForSize<8>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<8> (0xb796db7c) 0 empty
-Class QIntForType<void*>
- size=1 align=1
- base size=1 base align=1
-QIntForType<void*> (0xb7dd1d00) 0 empty
- QIntForSize<4> (0xb796dbf4) 0 empty
Class QSysInfo
size=1 align=1
@@ -50,80 +24,20 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0xb798e000) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0xb798e1e0) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0xb798e2d0) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0xb798e3c0) 0 empty
-Class QTypeInfo<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned char> (0xb798e4b0) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0xb798e5a0) 0 empty
-Class QTypeInfo<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short unsigned int> (0xb798e690) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0xb798e780) 0 empty
-Class QTypeInfo<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned int> (0xb798e870) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0xb798e960) 0 empty
-Class QTypeInfo<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long unsigned int> (0xb798ea50) 0 empty
-Class QTypeInfo<long long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long int> (0xb798eb40) 0 empty
-Class QTypeInfo<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long unsigned int> (0xb798ec30) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0xb798ed20) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0xb798ee10) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0xb798ef00) 0 empty
Class QFlag
size=4 align=4
@@ -140,10 +54,6 @@ Class QChar
base size=2 base align=2
QChar (0xb79a9f00) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0xb79dcbb8) 0 empty
Class QBasicAtomicInt
size=4 align=4
@@ -176,75 +86,19 @@ Class QByteRef
base size=8 base align=4
QByteRef (0xb6c82780) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0xb6cc5870) 0 empty
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0xb6cc5b04) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0xb6b14438) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0xb6b14d5c) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0xb6b26690) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0xb6b26fb4) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0xb6b388e8) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0xb6b4321c) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0xb6b43b40) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0xb6b5b474) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0xb6b5bd98) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0xb6b6c6cc) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0xb6b7f000) 0
-Class QFlags<Qt::TextInteractionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::TextInteractionFlag> (0xb6b7f924) 0
Class QInternal
size=1 align=1
@@ -266,10 +120,6 @@ Class QString
base size=4 base align=4
QString (0xb6b923c0) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0xb69e0654) 0
Class QLatin1String
size=4 align=4
@@ -287,10 +137,6 @@ Class QConstString
QConstString (0xb6908b00) 0
QString (0xb6945a14) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0xb6945d20) 0 empty
Class QStringRef
size=12 align=4
@@ -358,10 +204,6 @@ Class QListData
base size=4 base align=4
QListData (0xb69cb348) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0xb686b690) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -386,15 +228,7 @@ Class QTextCodec
QTextCodec (0xb68479d8) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0xb687bce4) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0xb687bc6c) 0
Class QTextEncoder
size=32 align=4
@@ -417,25 +251,13 @@ Class QGenericReturnArgument
QGenericReturnArgument (0xb68ac000) 0
QGenericArgument (0xb68a0f00) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0xb68af3fc) 0
Class QMetaObject
size=16 align=4
base size=16 base align=4
QMetaObject (0xb68af21c) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0xb68c4564) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0xb68c44ec) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -527,10 +349,6 @@ QIODevice (0xb66ffe80) 0
QObject (0xb6709564) 0
primary-for QIODevice (0xb66ffe80)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0xb6729834) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -550,25 +368,13 @@ Class QRegExp
base size=4 base align=4
QRegExp (0xb6767780) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0xb6790f78) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0xb679b078) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0xb679b5dc) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0xb679b564) 0
Class QStringList
size=4 align=4
@@ -576,15 +382,7 @@ Class QStringList
QStringList (0xb6771f80) 0
QList<QString> (0xb679b618) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0xb67c7384) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0xb67c75a0) 0
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -664,10 +462,6 @@ Class QMutex
base size=4 base align=4
QMutex (0xb65f2834) 0
-Class QMutexLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMutexLocker::<anonymous union> (0xb66013c0) 0
Class QMutexLocker
size=4 align=4
@@ -747,35 +541,11 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0xb66d0ce4) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0xb66d0d98) 0 empty
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6547d20) 0
-Class <anonymous struct>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct>::<anonymous union> (0xb6547e10) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6547d98) 0
-Class <anonymous struct>
- size=12 align=4
- base size=12 base align=4
-<anonymous struct> (0xb6547e88) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb6547f00) 0
Class _IO_marker
size=12 align=4
@@ -787,10 +557,6 @@ Class _IO_FILE
base size=148 base align=4
_IO_FILE (0xb6547f78) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb6579000) 0
Vtable for QTextStream
QTextStream::_ZTV11QTextStream: 4u entries
@@ -805,10 +571,6 @@ Class QTextStream
QTextStream (0xb657903c) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0xb65ad7bc) 0
Class QTextStreamManipulator
size=24 align=4
@@ -845,40 +607,16 @@ QTextOStream (0xb63d70c0) 0
QTextStream (0xb65c6f3c) 0
primary-for QTextOStream (0xb63d70c0)
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0xb63db9d8) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0xb63dba50) 0
Class wait
size=4 align=4
base size=4 base align=4
wait (0xb63db960) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb63dbac8) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb63dbb40) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb63dbbb8) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb63dbc30) 0
Class timespec
size=8 align=4
@@ -890,80 +628,24 @@ Class timeval
base size=8 base align=4
timeval (0xb63dbca8) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb63dbd20) 0
-Class <anonymous union>
- size=36 align=4
- base size=36 base align=4
-<anonymous union> (0xb63dbd98) 0
Class __pthread_internal_slist
size=4 align=4
base size=4 base align=4
__pthread_internal_slist (0xb63dbdd4) 0
-Class <anonymous union>::__pthread_mutex_s::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union>::__pthread_mutex_s::<anonymous union> (0xb63dbf00) 0
-Class <anonymous union>::__pthread_mutex_s
- size=24 align=4
- base size=24 base align=4
-<anonymous union>::__pthread_mutex_s (0xb63dbe88) 0
-Class <anonymous union>
- size=24 align=4
- base size=24 base align=4
-<anonymous union> (0xb63dbe4c) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb63dbf78) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0xb63f503c) 0
-Class <anonymous union>
- size=48 align=4
- base size=48 base align=4
-<anonymous union> (0xb63db2d0) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb63f50b4) 0
-Class <anonymous union>::<anonymous struct>
- size=32 align=4
- base size=32 base align=4
-<anonymous union>::<anonymous struct> (0xb63f51a4) 0
-Class <anonymous union>
- size=32 align=4
- base size=32 base align=4
-<anonymous union> (0xb63f512c) 0
-Class <anonymous union>
- size=8 align=4
- base size=8 base align=4
-<anonymous union> (0xb63f5258) 0
-Class <anonymous union>
- size=20 align=4
- base size=20 base align=4
-<anonymous union> (0xb63f52d0) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb63f5348) 0
Class random_data
size=28 align=4
@@ -995,20 +677,8 @@ Class QtConcurrent::ResultItem
base size=8 base align=4
QtConcurrent::ResultItem (0xb63130b4) 0
-Class QMap<int, QtConcurrent::ResultItem>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<int, QtConcurrent::ResultItem>::<anonymous union> (0xb6313d20) 0
-Class QMap<int, QtConcurrent::ResultItem>
- size=4 align=4
- base size=4 base align=4
-QMap<int, QtConcurrent::ResultItem> (0xb6313ca8) 0
-Class QMap<int, QtConcurrent::ResultItem>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QMap<int, QtConcurrent::ResultItem>::const_iterator (0xb632b078) 0
Class QtConcurrent::ResultIteratorBase
size=8 align=4
@@ -1028,10 +698,6 @@ Class QtConcurrent::ResultStoreBase
QtConcurrent::ResultStoreBase (0xb632b1a4) 0
vptr=((& QtConcurrent::ResultStoreBase::_ZTVN12QtConcurrent15ResultStoreBaseE) + 8u)
-Class QMap<int, QtConcurrent::ResultItem>::iterator
- size=4 align=4
- base size=4 base align=4
-QMap<int, QtConcurrent::ResultItem>::iterator (0xb632b8ac) 0
Vtable for QFutureInterfaceBase
QFutureInterfaceBase::_ZTV20QFutureInterfaceBase: 4u entries
@@ -1046,25 +712,8 @@ Class QFutureInterfaceBase
QFutureInterfaceBase (0xb632b924) 0
vptr=((& QFutureInterfaceBase::_ZTV20QFutureInterfaceBase) + 8u)
-Vtable for QFutureInterface<void>
-QFutureInterface<void>::_ZTV16QFutureInterfaceIvE: 4u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI16QFutureInterfaceIvE)
-8 QFutureInterface<void>::~QFutureInterface
-12 QFutureInterface<void>::~QFutureInterface
-Class QFutureInterface<void>
- size=8 align=4
- base size=8 base align=4
-QFutureInterface<void> (0xb635e780) 0
- vptr=((& QFutureInterface<void>::_ZTV16QFutureInterfaceIvE) + 8u)
- QFutureInterfaceBase (0xb63573c0) 0
- primary-for QFutureInterface<void> (0xb635e780)
-Class QFuture<void>
- size=8 align=4
- base size=8 base align=4
-QFuture<void> (0xb638bb7c) 0
Vtable for QFutureWatcherBase
QFutureWatcherBase::_ZTV18QFutureWatcherBase: 16u entries
@@ -1093,34 +742,7 @@ QFutureWatcherBase (0xb63b66c0) 0
QObject (0xb63c021c) 0
primary-for QFutureWatcherBase (0xb63b66c0)
-Vtable for QFutureWatcher<void>
-QFutureWatcher<void>::_ZTV14QFutureWatcherIvE: 16u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI14QFutureWatcherIvE)
-8 QFutureWatcherBase::metaObject
-12 QFutureWatcherBase::qt_metacast
-16 QFutureWatcherBase::qt_metacall
-20 QFutureWatcher<void>::~QFutureWatcher
-24 QFutureWatcher<void>::~QFutureWatcher
-28 QFutureWatcherBase::event
-32 QObject::eventFilter
-36 QObject::timerEvent
-40 QObject::childEvent
-44 QObject::customEvent
-48 QFutureWatcherBase::connectNotify
-52 QFutureWatcherBase::disconnectNotify
-56 QFutureWatcher<void>::futureInterface
-60 QFutureWatcher<void>::futureInterface
-Class QFutureWatcher<void>
- size=16 align=4
- base size=16 base align=4
-QFutureWatcher<void> (0xb63b6dc0) 0
- vptr=((& QFutureWatcher<void>::_ZTV14QFutureWatcherIvE) + 8u)
- QFutureWatcherBase (0xb63b6e00) 0
- primary-for QFutureWatcher<void> (0xb63b6dc0)
- QObject (0xb63c0d5c) 0
- primary-for QFutureWatcherBase (0xb63b6e00)
Vtable for QRunnable
QRunnable::_ZTV9QRunnable: 5u entries
@@ -1219,60 +841,14 @@ QtConcurrent::ThreadEngineBase (0xb62122c0) 0
QRunnable (0xb620dd20) 0
primary-for QtConcurrent::ThreadEngineBase (0xb62122c0)
-Class QtConcurrent::ThreadEngineStarterBase<void>
- size=4 align=4
- base size=4 base align=4
-QtConcurrent::ThreadEngineStarterBase<void> (0xb621e4ec) 0
-Class QtConcurrent::ThreadEngineStarter<void>
- size=4 align=4
- base size=4 base align=4
-QtConcurrent::ThreadEngineStarter<void> (0xb6212c40) 0
- QtConcurrent::ThreadEngineStarterBase<void> (0xb621e564) 0
-Vtable for QtConcurrent::ThreadEngine<void>
-QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE: 26u entries
-0 4u
-4 (int (*)(...))0
-8 (int (*)(...))(& _ZTIN12QtConcurrent12ThreadEngineIvEE)
-12 QtConcurrent::ThreadEngine<T>::result [with T = void]
-16 QtConcurrent::ThreadEngine<T>::asynchronousFinish [with T = void]
-20 QtConcurrent::ThreadEngine<void>::~ThreadEngine
-24 QtConcurrent::ThreadEngine<void>::~ThreadEngine
-28 -4u
-32 0u
-36 0u
-40 0u
-44 0u
-48 0u
-52 -4u
-56 0u
-60 (int (*)(...))-0x000000004
-64 (int (*)(...))(& _ZTIN12QtConcurrent12ThreadEngineIvEE)
-68 QtConcurrent::ThreadEngineBase::run
-72 QtConcurrent::ThreadEngine<void>::_ZTv0_n16_N12QtConcurrent12ThreadEngineIvED1Ev
-76 QtConcurrent::ThreadEngine<void>::_ZTv0_n16_N12QtConcurrent12ThreadEngineIvED0Ev
-80 QtConcurrent::ThreadEngineBase::start
-84 QtConcurrent::ThreadEngineBase::finish
-88 QtConcurrent::ThreadEngineBase::threadFunction
-92 QtConcurrent::ThreadEngineBase::shouldStartThread
-96 QtConcurrent::ThreadEngineBase::shouldThrottleThread
-100 QtConcurrent::ThreadEngine<void>::_ZTv0_n40_N12QtConcurrent12ThreadEngineIvE18asynchronousFinishEv
VTT for QtConcurrent::ThreadEngine<void>
QtConcurrent::ThreadEngine<void>::_ZTTN12QtConcurrent12ThreadEngineIvEE: 2u entries
0 ((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 12u)
4 ((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 68u)
-Class QtConcurrent::ThreadEngine<void>
- size=36 align=4
- base size=4 base align=4
-QtConcurrent::ThreadEngine<void> (0xb6212e00) 0 nearly-empty
- vptridx=0u vptr=((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 12u)
- QtConcurrent::ThreadEngineBase (0xb6212e40) 4 virtual
- vptridx=4u vbaseoffset=-0x00000000c vptr=((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 68u)
- QRunnable (0xb621ea14) 4
- primary-for QtConcurrent::ThreadEngineBase (0xb6212e40)
Class std::input_iterator_tag
size=1 align=1
@@ -1315,225 +891,49 @@ Class std::__false_type
base size=0 base align=1
std::__false_type (0xb623b3fc) 0 empty
-Class std::__truth_type<true>
- size=1 align=1
- base size=0 base align=1
-std::__truth_type<true> (0xb623b474) 0 empty
-Class std::__is_void<void>
- size=1 align=1
- base size=0 base align=1
-std::__is_void<void> (0xb623b690) 0 empty
-Class std::__is_integer<bool>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<bool> (0xb623b780) 0 empty
-Class std::__is_integer<char>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<char> (0xb623b7f8) 0 empty
-Class std::__is_integer<signed char>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<signed char> (0xb623b870) 0 empty
-Class std::__is_integer<unsigned char>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<unsigned char> (0xb623b8e8) 0 empty
-Class std::__is_integer<wchar_t>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<wchar_t> (0xb623b960) 0 empty
-Class std::__is_integer<short int>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<short int> (0xb623b9d8) 0 empty
-Class std::__is_integer<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<short unsigned int> (0xb623ba50) 0 empty
-Class std::__is_integer<int>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<int> (0xb623bac8) 0 empty
-Class std::__is_integer<unsigned int>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<unsigned int> (0xb623bb40) 0 empty
-Class std::__is_integer<long int>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<long int> (0xb623bbb8) 0 empty
-Class std::__is_integer<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<long unsigned int> (0xb623bc30) 0 empty
-Class std::__is_integer<long long int>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<long long int> (0xb623bca8) 0 empty
-Class std::__is_integer<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<long long unsigned int> (0xb623bd20) 0 empty
-Class std::__is_floating<float>
- size=1 align=1
- base size=0 base align=1
-std::__is_floating<float> (0xb623be10) 0 empty
-Class std::__is_floating<double>
- size=1 align=1
- base size=0 base align=1
-std::__is_floating<double> (0xb623be88) 0 empty
-Class std::__is_floating<long double>
- size=1 align=1
- base size=0 base align=1
-std::__is_floating<long double> (0xb623bf00) 0 empty
-Class std::__is_char<char>
- size=1 align=1
- base size=0 base align=1
-std::__is_char<char> (0xb6254294) 0 empty
-Class std::__is_char<wchar_t>
- size=1 align=1
- base size=0 base align=1
-std::__is_char<wchar_t> (0xb625430c) 0 empty
-Class std::__is_byte<char>
- size=1 align=1
- base size=0 base align=1
-std::__is_byte<char> (0xb62543fc) 0 empty
-Class std::__is_byte<signed char>
- size=1 align=1
- base size=0 base align=1
-std::__is_byte<signed char> (0xb6254474) 0 empty
-Class std::__is_byte<unsigned char>
- size=1 align=1
- base size=0 base align=1
-std::__is_byte<unsigned char> (0xb62544ec) 0 empty
-Class __gnu_cxx::__add_unsigned<char>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__add_unsigned<char> (0xb6254708) 0 empty
-Class __gnu_cxx::__add_unsigned<signed char>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__add_unsigned<signed char> (0xb6254744) 0 empty
-Class __gnu_cxx::__add_unsigned<short int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__add_unsigned<short int> (0xb6254780) 0 empty
-Class __gnu_cxx::__add_unsigned<int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__add_unsigned<int> (0xb62547bc) 0 empty
-Class __gnu_cxx::__add_unsigned<long int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__add_unsigned<long int> (0xb62547f8) 0 empty
-Class __gnu_cxx::__add_unsigned<long long int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__add_unsigned<long long int> (0xb6254834) 0 empty
-Class __gnu_cxx::__remove_unsigned<char>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__remove_unsigned<char> (0xb62548ac) 0 empty
-Class __gnu_cxx::__remove_unsigned<unsigned char>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__remove_unsigned<unsigned char> (0xb62548e8) 0 empty
-Class __gnu_cxx::__remove_unsigned<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__remove_unsigned<short unsigned int> (0xb6254924) 0 empty
-Class __gnu_cxx::__remove_unsigned<unsigned int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__remove_unsigned<unsigned int> (0xb6254960) 0 empty
-Class __gnu_cxx::__remove_unsigned<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__remove_unsigned<long unsigned int> (0xb625499c) 0 empty
-Class __gnu_cxx::__remove_unsigned<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__remove_unsigned<long long unsigned int> (0xb62549d8) 0 empty
-Class std::iterator<std::output_iterator_tag, void, void, void, void>
- size=1 align=1
- base size=0 base align=1
-std::iterator<std::output_iterator_tag, void, void, void, void> (0xb62723c0) 0 empty
-Class std::__iter_swap<true>
- size=1 align=1
- base size=0 base align=1
-std::__iter_swap<true> (0xb629e99c) 0 empty
-Class std::__copy_move<false, false, std::random_access_iterator_tag>
- size=1 align=1
- base size=0 base align=1
-std::__copy_move<false, false, std::random_access_iterator_tag> (0xb629edd4) 0 empty
-Class std::__copy_move_backward<false, false, std::random_access_iterator_tag>
- size=1 align=1
- base size=0 base align=1
-std::__copy_move_backward<false, false, std::random_access_iterator_tag> (0xb60f7000) 0 empty
-Class std::__equal<true>
- size=1 align=1
- base size=0 base align=1
-std::__equal<true> (0xb60f73fc) 0 empty
-Class std::__lc_rai<std::random_access_iterator_tag, std::random_access_iterator_tag>
- size=1 align=1
- base size=0 base align=1
-std::__lc_rai<std::random_access_iterator_tag, std::random_access_iterator_tag> (0xb60f7564) 0 empty
-Class std::__lexicographical_compare<true>
- size=1 align=1
- base size=0 base align=1
-std::__lexicographical_compare<true> (0xb60f76cc) 0 empty
-Class std::char_traits<char>
- size=1 align=1
- base size=0 base align=1
-std::char_traits<char> (0xb60f7dd4) 0 empty
-Class std::char_traits<wchar_t>
- size=1 align=1
- base size=0 base align=1
-std::char_traits<wchar_t> (0xb61327f8) 0 empty
Class lconv
size=56 align=4
@@ -1550,10 +950,6 @@ Class __sched_param
base size=4 base align=4
__sched_param (0xb613f3c0) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb613f438) 0
Class tm
size=44 align=4
@@ -1570,15 +966,7 @@ Class _pthread_cleanup_buffer
base size=16 base align=4
_pthread_cleanup_buffer (0xb613f708) 0
-Class <anonymous struct>::<anonymous struct>
- size=28 align=4
- base size=28 base align=4
-<anonymous struct>::<anonymous struct> (0xb613f870) 0
-Class <anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous struct> (0xb613f7f8) 0
Class __pthread_cleanup_frame
size=16 align=4
@@ -1590,32 +978,10 @@ Class __pthread_cleanup_class
base size=16 base align=4
__pthread_cleanup_class (0xb613f8e8) 0
-Class std::allocator<void>
- size=1 align=1
- base size=0 base align=1
-std::allocator<void> (0xb61bae10) 0 empty
-Class __gnu_cxx::new_allocator<char>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::new_allocator<char> (0xb5fc50f0) 0 empty
-Class std::allocator<char>
- size=1 align=1
- base size=1 base align=1
-std::allocator<char> (0xb61ce7c0) 0 empty
- __gnu_cxx::new_allocator<char> (0xb5fc512c) 0 empty
-Class __gnu_cxx::new_allocator<wchar_t>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::new_allocator<wchar_t> (0xb5fc5168) 0 empty
-Class std::allocator<wchar_t>
- size=1 align=1
- base size=1 base align=1
-std::allocator<wchar_t> (0xb61ce880) 0 empty
- __gnu_cxx::new_allocator<wchar_t> (0xb5fc51a4) 0 empty
Vtable for __cxxabiv1::__forced_unwind
__cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE: 5u entries
@@ -1631,82 +997,19 @@ Class __cxxabiv1::__forced_unwind
__cxxabiv1::__forced_unwind (0xb5fc53c0) 0 nearly-empty
vptr=((& __cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE) + 8u)
-Class __gnu_cxx::__conditional_type<true, __gnu_cxx::__numeric_traits_integer<int>, __gnu_cxx::__numeric_traits_floating<int> >
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__conditional_type<true, __gnu_cxx::__numeric_traits_integer<int>, __gnu_cxx::__numeric_traits_floating<int> > (0xb6025ca8) 0 empty
-Class __gnu_cxx::__numeric_traits_integer<int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__numeric_traits_integer<int> (0xb6025ce4) 0 empty
-Class __gnu_cxx::__numeric_traits<int>
- size=1 align=1
- base size=1 base align=1
-__gnu_cxx::__numeric_traits<int> (0xb6064b40) 0 empty
- __gnu_cxx::__numeric_traits_integer<int> (0xb6025d20) 0 empty
-Class std::allocator<char>::rebind<char>
- size=1 align=1
- base size=0 base align=1
-std::allocator<char>::rebind<char> (0xb60c099c) 0 empty
-Class std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Alloc_hider
- size=4 align=4
- base size=4 base align=4
-std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Alloc_hider (0xb5efd100) 0
- std::allocator<char> (0xb5efd140) 0 empty
- __gnu_cxx::new_allocator<char> (0xb60c0a14) 0 empty
-Class std::basic_string<char, std::char_traits<char>, std::allocator<char> >
- size=4 align=4
- base size=4 base align=4
-std::basic_string<char, std::char_traits<char>, std::allocator<char> > (0xb60c0924) 0
-Class std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep_base
- size=12 align=4
- base size=12 base align=4
-std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep_base (0xb60c0a50) 0
-Class std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep
- size=12 align=4
- base size=12 base align=4
-std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep (0xb5efd2c0) 0
- std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep_base (0xb60c0a8c) 0
-Class std::allocator<wchar_t>::rebind<wchar_t>
- size=1 align=1
- base size=0 base align=1
-std::allocator<wchar_t>::rebind<wchar_t> (0xb60c0b40) 0 empty
-Class std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Alloc_hider
- size=4 align=4
- base size=4 base align=4
-std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Alloc_hider (0xb5efd4c0) 0
- std::allocator<wchar_t> (0xb5efd500) 0 empty
- __gnu_cxx::new_allocator<wchar_t> (0xb60c0bb8) 0 empty
-Class std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >
- size=4 align=4
- base size=4 base align=4
-std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > (0xb60c0ac8) 0
-Class std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Rep_base
- size=12 align=4
- base size=12 base align=4
-std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Rep_base (0xb60c0bf4) 0
-Class std::allocator<wchar_t>::rebind<char>
- size=1 align=1
- base size=0 base align=1
-std::allocator<wchar_t>::rebind<char> (0xb60c0ca8) 0 empty
-Class std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Rep
- size=12 align=4
- base size=12 base align=4
-std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Rep (0xb5efd680) 0
- std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Rep_base (0xb60c0c30) 0
Class std::locale
size=4 align=4
@@ -1736,97 +1039,16 @@ Class std::locale::_Impl
base size=20 base align=4
std::locale::_Impl (0xb5f97e88) 0
-Vtable for std::collate<char>
-std::collate<char>::_ZTVSt7collateIcE: 7u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt7collateIcE)
-8 std::collate<_CharT>::~collate [with _CharT = char]
-12 std::collate<_CharT>::~collate [with _CharT = char]
-16 std::collate<_CharT>::do_compare [with _CharT = char]
-20 std::collate<_CharT>::do_transform [with _CharT = char]
-24 std::collate<_CharT>::do_hash [with _CharT = char]
-
-Class std::collate<char>
- size=12 align=4
- base size=12 base align=4
-std::collate<char> (0xb5fac640) 0
- vptr=((& std::collate<char>::_ZTVSt7collateIcE) + 8u)
- std::locale::facet (0xb5faa7f8) 0
- primary-for std::collate<char> (0xb5fac640)
-Vtable for std::collate<wchar_t>
-std::collate<wchar_t>::_ZTVSt7collateIwE: 7u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt7collateIwE)
-8 std::collate<_CharT>::~collate [with _CharT = wchar_t]
-12 std::collate<_CharT>::~collate [with _CharT = wchar_t]
-16 std::collate<_CharT>::do_compare [with _CharT = wchar_t]
-20 std::collate<_CharT>::do_transform [with _CharT = wchar_t]
-24 std::collate<_CharT>::do_hash [with _CharT = wchar_t]
-
-Class std::collate<wchar_t>
- size=12 align=4
- base size=12 base align=4
-std::collate<wchar_t> (0xb5fac740) 0
- vptr=((& std::collate<wchar_t>::_ZTVSt7collateIwE) + 8u)
- std::locale::facet (0xb5faa8e8) 0
- primary-for std::collate<wchar_t> (0xb5fac740)
-Class __gnu_cxx::__conditional_type<true, __gnu_cxx::__numeric_traits_integer<long unsigned int>, __gnu_cxx::__numeric_traits_floating<long unsigned int> >
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__conditional_type<true, __gnu_cxx::__numeric_traits_integer<long unsigned int>, __gnu_cxx::__numeric_traits_floating<long unsigned int> > (0xb5faad5c) 0 empty
-Class __gnu_cxx::__numeric_traits_integer<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__numeric_traits_integer<long unsigned int> (0xb5faad98) 0 empty
-Class __gnu_cxx::__numeric_traits<long unsigned int>
- size=1 align=1
- base size=1 base align=1
-__gnu_cxx::__numeric_traits<long unsigned int> (0xb5dcb6c0) 0 empty
- __gnu_cxx::__numeric_traits_integer<long unsigned int> (0xb5faadd4) 0 empty
-Vtable for std::collate_byname<char>
-std::collate_byname<char>::_ZTVSt14collate_bynameIcE: 7u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt14collate_bynameIcE)
-8 std::collate_byname<_CharT>::~collate_byname [with _CharT = char]
-12 std::collate_byname<_CharT>::~collate_byname [with _CharT = char]
-16 std::collate<_CharT>::do_compare [with _CharT = char]
-20 std::collate<_CharT>::do_transform [with _CharT = char]
-24 std::collate<_CharT>::do_hash [with _CharT = char]
-
-Class std::collate_byname<char>
- size=12 align=4
- base size=12 base align=4
-std::collate_byname<char> (0xb5dcb800) 0
- vptr=((& std::collate_byname<char>::_ZTVSt14collate_bynameIcE) + 8u)
- std::collate<char> (0xb5dcb840) 0
- primary-for std::collate_byname<char> (0xb5dcb800)
- std::locale::facet (0xb5faae4c) 0
- primary-for std::collate<char> (0xb5dcb840)
-
-Vtable for std::collate_byname<wchar_t>
-std::collate_byname<wchar_t>::_ZTVSt14collate_bynameIwE: 7u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt14collate_bynameIwE)
-8 std::collate_byname<_CharT>::~collate_byname [with _CharT = wchar_t]
-12 std::collate_byname<_CharT>::~collate_byname [with _CharT = wchar_t]
-16 std::collate<_CharT>::do_compare [with _CharT = wchar_t]
-20 std::collate<_CharT>::do_transform [with _CharT = wchar_t]
-24 std::collate<_CharT>::do_hash [with _CharT = wchar_t]
-
-Class std::collate_byname<wchar_t>
- size=12 align=4
- base size=12 base align=4
-std::collate_byname<wchar_t> (0xb5dcb8c0) 0
- vptr=((& std::collate_byname<wchar_t>::_ZTVSt14collate_bynameIwE) + 8u)
- std::collate<wchar_t> (0xb5dcb900) 0
- primary-for std::collate_byname<wchar_t> (0xb5dcb8c0)
- std::locale::facet (0xb5faaf3c) 0
- primary-for std::collate<wchar_t> (0xb5dcb900)
+
+
+
+
+
Vtable for std::ios_base::failure
std::ios_base::failure::_ZTVNSt8ios_base7failureE: 5u entries
@@ -1872,583 +1094,85 @@ Class std::ios_base
std::ios_base (0xb5ddece4) 0
vptr=((& std::ios_base::_ZTVSt8ios_base) + 8u)
-Vtable for std::basic_streambuf<char, std::char_traits<char> >
-std::basic_streambuf<char, std::char_traits<char> >::_ZTVSt15basic_streambufIcSt11char_traitsIcEE: 16u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt15basic_streambufIcSt11char_traitsIcEE)
-8 std::basic_streambuf<_CharT, _Traits>::~basic_streambuf [with _CharT = char, _Traits = std::char_traits<char>]
-12 std::basic_streambuf<_CharT, _Traits>::~basic_streambuf [with _CharT = char, _Traits = std::char_traits<char>]
-16 std::basic_streambuf<_CharT, _Traits>::imbue [with _CharT = char, _Traits = std::char_traits<char>]
-20 std::basic_streambuf<_CharT, _Traits>::setbuf [with _CharT = char, _Traits = std::char_traits<char>]
-24 std::basic_streambuf<_CharT, _Traits>::seekoff [with _CharT = char, _Traits = std::char_traits<char>]
-28 std::basic_streambuf<_CharT, _Traits>::seekpos [with _CharT = char, _Traits = std::char_traits<char>]
-32 std::basic_streambuf<_CharT, _Traits>::sync [with _CharT = char, _Traits = std::char_traits<char>]
-36 std::basic_streambuf<_CharT, _Traits>::showmanyc [with _CharT = char, _Traits = std::char_traits<char>]
-40 std::basic_streambuf<_CharT, _Traits>::xsgetn [with _CharT = char, _Traits = std::char_traits<char>]
-44 std::basic_streambuf<_CharT, _Traits>::underflow [with _CharT = char, _Traits = std::char_traits<char>]
-48 std::basic_streambuf<_CharT, _Traits>::uflow [with _CharT = char, _Traits = std::char_traits<char>]
-52 std::basic_streambuf<_CharT, _Traits>::pbackfail [with _CharT = char, _Traits = std::char_traits<char>]
-56 std::basic_streambuf<_CharT, _Traits>::xsputn [with _CharT = char, _Traits = std::char_traits<char>]
-60 std::basic_streambuf<_CharT, _Traits>::overflow [with _CharT = char, _Traits = std::char_traits<char>]
-
-Class std::basic_streambuf<char, std::char_traits<char> >
- size=32 align=4
- base size=32 base align=4
-std::basic_streambuf<char, std::char_traits<char> > (0xb5e31384) 0
- vptr=((& std::basic_streambuf<char, std::char_traits<char> >::_ZTVSt15basic_streambufIcSt11char_traitsIcEE) + 8u)
-Vtable for std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >
-std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >::_ZTVSt15basic_streambufIwSt11char_traitsIwEE: 16u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt15basic_streambufIwSt11char_traitsIwEE)
-8 std::basic_streambuf<_CharT, _Traits>::~basic_streambuf [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-12 std::basic_streambuf<_CharT, _Traits>::~basic_streambuf [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-16 std::basic_streambuf<_CharT, _Traits>::imbue [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-20 std::basic_streambuf<_CharT, _Traits>::setbuf [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-24 std::basic_streambuf<_CharT, _Traits>::seekoff [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-28 std::basic_streambuf<_CharT, _Traits>::seekpos [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-32 std::basic_streambuf<_CharT, _Traits>::sync [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-36 std::basic_streambuf<_CharT, _Traits>::showmanyc [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-40 std::basic_streambuf<_CharT, _Traits>::xsgetn [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-44 std::basic_streambuf<_CharT, _Traits>::underflow [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-48 std::basic_streambuf<_CharT, _Traits>::uflow [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-52 std::basic_streambuf<_CharT, _Traits>::pbackfail [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-56 std::basic_streambuf<_CharT, _Traits>::xsputn [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-60 std::basic_streambuf<_CharT, _Traits>::overflow [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-
-Class std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >
- size=32 align=4
- base size=32 base align=4
-std::basic_streambuf<wchar_t, std::char_traits<wchar_t> > (0xb5e31618) 0
- vptr=((& std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >::_ZTVSt15basic_streambufIwSt11char_traitsIwEE) + 8u)
+
+
Class std::ctype_base
size=1 align=1
base size=0 base align=1
std::ctype_base (0xb5e318ac) 0 empty
-Vtable for std::ctype<char>
-std::ctype<char>::_ZTVSt5ctypeIcE: 12u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt5ctypeIcE)
-8 std::ctype<char>::~ctype
-12 std::ctype<char>::~ctype
-16 std::ctype<char>::do_toupper
-20 std::ctype<char>::do_toupper
-24 std::ctype<char>::do_tolower
-28 std::ctype<char>::do_tolower
-32 std::ctype<char>::do_widen
-36 std::ctype<char>::do_widen
-40 std::ctype<char>::do_narrow
-44 std::ctype<char>::do_narrow
-
-Class std::ctype<char>
- size=544 align=4
- base size=542 base align=4
-std::ctype<char> (0xb5e98fa0) 0
- vptr=((& std::ctype<char>::_ZTVSt5ctypeIcE) + 8u)
- std::locale::facet (0xb5e807f8) 0
- primary-for std::ctype<char> (0xb5e98fa0)
- std::ctype_base (0xb5e80834) 0 empty
-
-Vtable for std::__ctype_abstract_base<wchar_t>
-std::__ctype_abstract_base<wchar_t>::_ZTVSt21__ctype_abstract_baseIwE: 16u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt21__ctype_abstract_baseIwE)
-8 std::__ctype_abstract_base<_CharT>::~__ctype_abstract_base [with _CharT = wchar_t]
-12 std::__ctype_abstract_base<_CharT>::~__ctype_abstract_base [with _CharT = wchar_t]
-16 __cxa_pure_virtual
-20 __cxa_pure_virtual
-24 __cxa_pure_virtual
-28 __cxa_pure_virtual
-32 __cxa_pure_virtual
-36 __cxa_pure_virtual
-40 __cxa_pure_virtual
-44 __cxa_pure_virtual
-48 __cxa_pure_virtual
-52 __cxa_pure_virtual
-56 __cxa_pure_virtual
-60 __cxa_pure_virtual
-Class std::__ctype_abstract_base<wchar_t>
- size=8 align=4
- base size=8 base align=4
-std::__ctype_abstract_base<wchar_t> (0xb5ea5870) 0
- vptr=((& std::__ctype_abstract_base<wchar_t>::_ZTVSt21__ctype_abstract_baseIwE) + 8u)
- std::locale::facet (0xb5eb73c0) 0
- primary-for std::__ctype_abstract_base<wchar_t> (0xb5ea5870)
- std::ctype_base (0xb5eb73fc) 0 empty
-
-Vtable for std::ctype<wchar_t>
-std::ctype<wchar_t>::_ZTVSt5ctypeIwE: 16u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt5ctypeIwE)
-8 std::ctype<wchar_t>::~ctype
-12 std::ctype<wchar_t>::~ctype
-16 std::ctype<wchar_t>::do_is
-20 std::ctype<wchar_t>::do_is
-24 std::ctype<wchar_t>::do_scan_is
-28 std::ctype<wchar_t>::do_scan_not
-32 std::ctype<wchar_t>::do_toupper
-36 std::ctype<wchar_t>::do_toupper
-40 std::ctype<wchar_t>::do_tolower
-44 std::ctype<wchar_t>::do_tolower
-48 std::ctype<wchar_t>::do_widen
-52 std::ctype<wchar_t>::do_widen
-56 std::ctype<wchar_t>::do_narrow
-60 std::ctype<wchar_t>::do_narrow
-
-Class std::ctype<wchar_t>
- size=1264 align=4
- base size=1264 base align=4
-std::ctype<wchar_t> (0xb5eaa800) 0
- vptr=((& std::ctype<wchar_t>::_ZTVSt5ctypeIwE) + 8u)
- std::__ctype_abstract_base<wchar_t> (0xb5cc26e0) 0
- primary-for std::ctype<wchar_t> (0xb5eaa800)
- std::locale::facet (0xb5eb74ec) 0
- primary-for std::__ctype_abstract_base<wchar_t> (0xb5cc26e0)
- std::ctype_base (0xb5eb7528) 0 empty
-
-Vtable for std::ctype_byname<char>
-std::ctype_byname<char>::_ZTVSt12ctype_bynameIcE: 12u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt12ctype_bynameIcE)
-8 std::ctype_byname<char>::~ctype_byname
-12 std::ctype_byname<char>::~ctype_byname
-16 std::ctype<char>::do_toupper
-20 std::ctype<char>::do_toupper
-24 std::ctype<char>::do_tolower
-28 std::ctype<char>::do_tolower
-32 std::ctype<char>::do_widen
-36 std::ctype<char>::do_widen
-40 std::ctype<char>::do_narrow
-44 std::ctype<char>::do_narrow
-
-Class std::ctype_byname<char>
- size=544 align=4
- base size=542 base align=4
-std::ctype_byname<char> (0xb5eaa9c0) 0
- vptr=((& std::ctype_byname<char>::_ZTVSt12ctype_bynameIcE) + 8u)
- std::ctype<char> (0xb5cc9e60) 0
- primary-for std::ctype_byname<char> (0xb5eaa9c0)
- std::locale::facet (0xb5cc8834) 0
- primary-for std::ctype<char> (0xb5cc9e60)
- std::ctype_base (0xb5cc8870) 0 empty
-
-Vtable for std::ctype_byname<wchar_t>
-std::ctype_byname<wchar_t>::_ZTVSt12ctype_bynameIwE: 16u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt12ctype_bynameIwE)
-8 std::ctype_byname<wchar_t>::~ctype_byname
-12 std::ctype_byname<wchar_t>::~ctype_byname
-16 std::ctype<wchar_t>::do_is
-20 std::ctype<wchar_t>::do_is
-24 std::ctype<wchar_t>::do_scan_is
-28 std::ctype<wchar_t>::do_scan_not
-32 std::ctype<wchar_t>::do_toupper
-36 std::ctype<wchar_t>::do_toupper
-40 std::ctype<wchar_t>::do_tolower
-44 std::ctype<wchar_t>::do_tolower
-48 std::ctype<wchar_t>::do_widen
-52 std::ctype<wchar_t>::do_widen
-56 std::ctype<wchar_t>::do_narrow
-60 std::ctype<wchar_t>::do_narrow
-
-Class std::ctype_byname<wchar_t>
- size=1264 align=4
- base size=1264 base align=4
-std::ctype_byname<wchar_t> (0xb5eaaa40) 0
- vptr=((& std::ctype_byname<wchar_t>::_ZTVSt12ctype_bynameIwE) + 8u)
- std::ctype<wchar_t> (0xb5eaaa80) 0
- primary-for std::ctype_byname<wchar_t> (0xb5eaaa40)
- std::__ctype_abstract_base<wchar_t> (0xb5ccd4b0) 0
- primary-for std::ctype<wchar_t> (0xb5eaaa80)
- std::locale::facet (0xb5cc89d8) 0
- primary-for std::__ctype_abstract_base<wchar_t> (0xb5ccd4b0)
- std::ctype_base (0xb5cc8a14) 0 empty
+
+
+
+
+
+
+
+
Class std::__num_base
size=1 align=1
base size=0 base align=1
std::__num_base (0xb5cd2384) 0 empty
-Vtable for std::numpunct<char>
-std::numpunct<char>::_ZTVSt8numpunctIcE: 9u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt8numpunctIcE)
-8 std::numpunct<_CharT>::~numpunct [with _CharT = char]
-12 std::numpunct<_CharT>::~numpunct [with _CharT = char]
-16 std::numpunct<_CharT>::do_decimal_point [with _CharT = char]
-20 std::numpunct<_CharT>::do_thousands_sep [with _CharT = char]
-24 std::numpunct<_CharT>::do_grouping [with _CharT = char]
-28 std::numpunct<_CharT>::do_truename [with _CharT = char]
-32 std::numpunct<_CharT>::do_falsename [with _CharT = char]
-
-Class std::numpunct<char>
- size=12 align=4
- base size=12 base align=4
-std::numpunct<char> (0xb5cdb480) 0
- vptr=((& std::numpunct<char>::_ZTVSt8numpunctIcE) + 8u)
- std::locale::facet (0xb5cd2bf4) 0
- primary-for std::numpunct<char> (0xb5cdb480)
-Vtable for std::numpunct<wchar_t>
-std::numpunct<wchar_t>::_ZTVSt8numpunctIwE: 9u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt8numpunctIwE)
-8 std::numpunct<_CharT>::~numpunct [with _CharT = wchar_t]
-12 std::numpunct<_CharT>::~numpunct [with _CharT = wchar_t]
-16 std::numpunct<_CharT>::do_decimal_point [with _CharT = wchar_t]
-20 std::numpunct<_CharT>::do_thousands_sep [with _CharT = wchar_t]
-24 std::numpunct<_CharT>::do_grouping [with _CharT = wchar_t]
-28 std::numpunct<_CharT>::do_truename [with _CharT = wchar_t]
-32 std::numpunct<_CharT>::do_falsename [with _CharT = wchar_t]
-
-Class std::numpunct<wchar_t>
- size=12 align=4
- base size=12 base align=4
-std::numpunct<wchar_t> (0xb5cdb540) 0
- vptr=((& std::numpunct<wchar_t>::_ZTVSt8numpunctIwE) + 8u)
- std::locale::facet (0xb5cd2ce4) 0
- primary-for std::numpunct<wchar_t> (0xb5cdb540)
-Class __gnu_cxx::__conditional_type<true, long unsigned int, long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__conditional_type<true, long unsigned int, long long unsigned int> (0xb5d42348) 0 empty
-Vtable for std::numpunct_byname<char>
-std::numpunct_byname<char>::_ZTVSt15numpunct_bynameIcE: 9u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt15numpunct_bynameIcE)
-8 std::numpunct_byname<_CharT>::~numpunct_byname [with _CharT = char]
-12 std::numpunct_byname<_CharT>::~numpunct_byname [with _CharT = char]
-16 std::numpunct<_CharT>::do_decimal_point [with _CharT = char]
-20 std::numpunct<_CharT>::do_thousands_sep [with _CharT = char]
-24 std::numpunct<_CharT>::do_grouping [with _CharT = char]
-28 std::numpunct<_CharT>::do_truename [with _CharT = char]
-32 std::numpunct<_CharT>::do_falsename [with _CharT = char]
-
-Class std::numpunct_byname<char>
- size=12 align=4
- base size=12 base align=4
-std::numpunct_byname<char> (0xb5d5fa80) 0
- vptr=((& std::numpunct_byname<char>::_ZTVSt15numpunct_bynameIcE) + 8u)
- std::numpunct<char> (0xb5d5fac0) 0
- primary-for std::numpunct_byname<char> (0xb5d5fa80)
- std::locale::facet (0xb5d4299c) 0
- primary-for std::numpunct<char> (0xb5d5fac0)
-
-Vtable for std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >
-std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >::_ZTVSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE: 15u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE)
-8 std::num_get<_CharT, _InIter>::~num_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-12 std::num_get<_CharT, _InIter>::~num_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-16 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-20 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-24 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-28 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-32 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-36 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-40 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-44 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-48 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-52 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-56 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-
-Class std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >
- size=8 align=4
- base size=8 base align=4
-std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > > (0xb5d5fb00) 0
- vptr=((& std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >::_ZTVSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE) + 8u)
- std::locale::facet (0xb5d42a8c) 0
- primary-for std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > > (0xb5d5fb00)
-Vtable for std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >
-std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::_ZTVSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE: 12u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE)
-8 std::num_put<_CharT, _OutIter>::~num_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-12 std::num_put<_CharT, _OutIter>::~num_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-16 std::num_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-20 std::num_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-24 std::num_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-28 std::num_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-32 std::num_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-36 std::num_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-40 std::num_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-44 std::num_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-
-Class std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >
- size=8 align=4
- base size=8 base align=4
-std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > > (0xb5d5fb80) 0
- vptr=((& std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::_ZTVSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE) + 8u)
- std::locale::facet (0xb5d42b7c) 0
- primary-for std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > > (0xb5d5fb80)
-Vtable for std::numpunct_byname<wchar_t>
-std::numpunct_byname<wchar_t>::_ZTVSt15numpunct_bynameIwE: 9u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt15numpunct_bynameIwE)
-8 std::numpunct_byname<_CharT>::~numpunct_byname [with _CharT = wchar_t]
-12 std::numpunct_byname<_CharT>::~numpunct_byname [with _CharT = wchar_t]
-16 std::numpunct<_CharT>::do_decimal_point [with _CharT = wchar_t]
-20 std::numpunct<_CharT>::do_thousands_sep [with _CharT = wchar_t]
-24 std::numpunct<_CharT>::do_grouping [with _CharT = wchar_t]
-28 std::numpunct<_CharT>::do_truename [with _CharT = wchar_t]
-32 std::numpunct<_CharT>::do_falsename [with _CharT = wchar_t]
-
-Class std::numpunct_byname<wchar_t>
- size=12 align=4
- base size=12 base align=4
-std::numpunct_byname<wchar_t> (0xb5d5fc00) 0
- vptr=((& std::numpunct_byname<wchar_t>::_ZTVSt15numpunct_bynameIwE) + 8u)
- std::numpunct<wchar_t> (0xb5d5fc40) 0
- primary-for std::numpunct_byname<wchar_t> (0xb5d5fc00)
- std::locale::facet (0xb5d42c6c) 0
- primary-for std::numpunct<wchar_t> (0xb5d5fc40)
-
-Vtable for std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >
-std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::_ZTVSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE: 15u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE)
-8 std::num_get<_CharT, _InIter>::~num_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-12 std::num_get<_CharT, _InIter>::~num_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-16 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-20 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-24 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-28 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-32 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-36 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-40 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-44 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-48 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-52 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-56 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-
-Class std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >
- size=8 align=4
- base size=8 base align=4
-std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > > (0xb5d5fcc0) 0
- vptr=((& std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::_ZTVSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE) + 8u)
- std::locale::facet (0xb5d42d5c) 0
- primary-for std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > > (0xb5d5fcc0)
-Vtable for std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >
-std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::_ZTVSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE: 12u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE)
-8 std::num_put<_CharT, _OutIter>::~num_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-12 std::num_put<_CharT, _OutIter>::~num_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-16 std::num_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-20 std::num_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-24 std::num_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-28 std::num_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-32 std::num_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-36 std::num_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-40 std::num_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-44 std::num_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-
-Class std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >
- size=8 align=4
- base size=8 base align=4
-std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > > (0xb5d5fd40) 0
- vptr=((& std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::_ZTVSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE) + 8u)
- std::locale::facet (0xb5d42e4c) 0
- primary-for std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > > (0xb5d5fd40)
-Vtable for std::basic_ios<char, std::char_traits<char> >
-std::basic_ios<char, std::char_traits<char> >::_ZTVSt9basic_iosIcSt11char_traitsIcEE: 4u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt9basic_iosIcSt11char_traitsIcEE)
-8 std::basic_ios<_CharT, _Traits>::~basic_ios [with _CharT = char, _Traits = std::char_traits<char>]
-12 std::basic_ios<_CharT, _Traits>::~basic_ios [with _CharT = char, _Traits = std::char_traits<char>]
-
-Class std::basic_ios<char, std::char_traits<char> >
- size=136 align=4
- base size=136 base align=4
-std::basic_ios<char, std::char_traits<char> > (0xb5db3d80) 0
- vptr=((& std::basic_ios<char, std::char_traits<char> >::_ZTVSt9basic_iosIcSt11char_traitsIcEE) + 8u)
- std::ios_base (0xb5db44b0) 0
- primary-for std::basic_ios<char, std::char_traits<char> > (0xb5db3d80)
-
-Vtable for std::basic_ios<wchar_t, std::char_traits<wchar_t> >
-std::basic_ios<wchar_t, std::char_traits<wchar_t> >::_ZTVSt9basic_iosIwSt11char_traitsIwEE: 4u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt9basic_iosIwSt11char_traitsIwEE)
-8 std::basic_ios<_CharT, _Traits>::~basic_ios [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-12 std::basic_ios<_CharT, _Traits>::~basic_ios [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-
-Class std::basic_ios<wchar_t, std::char_traits<wchar_t> >
- size=140 align=4
- base size=140 base align=4
-std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb5db3dc0) 0
- vptr=((& std::basic_ios<wchar_t, std::char_traits<wchar_t> >::_ZTVSt9basic_iosIwSt11char_traitsIwEE) + 8u)
- std::ios_base (0xb5db45a0) 0
- primary-for std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb5db3dc0)
-
-Vtable for std::basic_ostream<char, std::char_traits<char> >
-std::basic_ostream<char, std::char_traits<char> >::_ZTVSo: 10u entries
-0 4u
-4 (int (*)(...))0
-8 (int (*)(...))(& _ZTISo)
-12 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = char, _Traits = std::char_traits<char>]
-16 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = char, _Traits = std::char_traits<char>]
-20 -4u
-24 (int (*)(...))-0x000000004
-28 (int (*)(...))(& _ZTISo)
-32 std::basic_ostream<char, std::char_traits<char> >::_ZTv0_n12_NSoD1Ev
-36 std::basic_ostream<char, std::char_traits<char> >::_ZTv0_n12_NSoD0Ev
+
+
+
+
+
+
+
+
+
+
+
+
+
+
VTT for std::basic_ostream<char, std::char_traits<char> >
std::basic_ostream<char, std::char_traits<char> >::_ZTTSo: 2u entries
0 ((& std::basic_ostream<char, std::char_traits<char> >::_ZTVSo) + 12u)
4 ((& std::basic_ostream<char, std::char_traits<char> >::_ZTVSo) + 32u)
-Class std::basic_ostream<char, std::char_traits<char> >
- size=140 align=4
- base size=4 base align=4
-std::basic_ostream<char, std::char_traits<char> > (0xb5bfca40) 0 nearly-empty
- vptridx=0u vptr=((& std::basic_ostream<char, std::char_traits<char> >::_ZTVSo) + 12u)
- std::basic_ios<char, std::char_traits<char> > (0xb5bfca80) 4 virtual
- vptridx=4u vbaseoffset=-0x00000000c vptr=((& std::basic_ostream<char, std::char_traits<char> >::_ZTVSo) + 32u)
- std::ios_base (0xb5bf621c) 4
- primary-for std::basic_ios<char, std::char_traits<char> > (0xb5bfca80)
-
-Class std::basic_ostream<char, std::char_traits<char> >::sentry
- size=8 align=4
- base size=8 base align=4
-std::basic_ostream<char, std::char_traits<char> >::sentry (0xb5bf63fc) 0
-Vtable for std::basic_ostream<wchar_t, std::char_traits<wchar_t> >
-std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE: 10u entries
-0 4u
-4 (int (*)(...))0
-8 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE)
-12 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-16 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-20 -4u
-24 (int (*)(...))-0x000000004
-28 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE)
-32 std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n12_NSt13basic_ostreamIwSt11char_traitsIwEED1Ev
-36 std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n12_NSt13basic_ostreamIwSt11char_traitsIwEED0Ev
+
VTT for std::basic_ostream<wchar_t, std::char_traits<wchar_t> >
std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTTSt13basic_ostreamIwSt11char_traitsIwEE: 2u entries
0 ((& std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 12u)
4 ((& std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 32u)
-Class std::basic_ostream<wchar_t, std::char_traits<wchar_t> >
- size=144 align=4
- base size=4 base align=4
-std::basic_ostream<wchar_t, std::char_traits<wchar_t> > (0xb5bfcbc0) 0 nearly-empty
- vptridx=0u vptr=((& std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 12u)
- std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb5bfcc00) 4 virtual
- vptridx=4u vbaseoffset=-0x00000000c vptr=((& std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 32u)
- std::ios_base (0xb5bf6438) 4
- primary-for std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb5bfcc00)
-
-Class std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::sentry
- size=8 align=4
- base size=8 base align=4
-std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::sentry (0xb5bf65dc) 0
-Vtable for std::basic_istream<char, std::char_traits<char> >
-std::basic_istream<char, std::char_traits<char> >::_ZTVSi: 10u entries
-0 8u
-4 (int (*)(...))0
-8 (int (*)(...))(& _ZTISi)
-12 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = char, _Traits = std::char_traits<char>]
-16 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = char, _Traits = std::char_traits<char>]
-20 -8u
-24 (int (*)(...))-0x000000008
-28 (int (*)(...))(& _ZTISi)
-32 std::basic_istream<char, std::char_traits<char> >::_ZTv0_n12_NSiD1Ev
-36 std::basic_istream<char, std::char_traits<char> >::_ZTv0_n12_NSiD0Ev
+
VTT for std::basic_istream<char, std::char_traits<char> >
std::basic_istream<char, std::char_traits<char> >::_ZTTSi: 2u entries
0 ((& std::basic_istream<char, std::char_traits<char> >::_ZTVSi) + 12u)
4 ((& std::basic_istream<char, std::char_traits<char> >::_ZTVSi) + 32u)
-Class std::basic_istream<char, std::char_traits<char> >
- size=144 align=4
- base size=8 base align=4
-std::basic_istream<char, std::char_traits<char> > (0xb5c3d480) 0
- vptridx=0u vptr=((& std::basic_istream<char, std::char_traits<char> >::_ZTVSi) + 12u)
- std::basic_ios<char, std::char_traits<char> > (0xb5c3d4c0) 8 virtual
- vptridx=4u vbaseoffset=-0x00000000c vptr=((& std::basic_istream<char, std::char_traits<char> >::_ZTVSi) + 32u)
- std::ios_base (0xb5bf6b40) 8
- primary-for std::basic_ios<char, std::char_traits<char> > (0xb5c3d4c0)
-
-Vtable for std::basic_istream<wchar_t, std::char_traits<wchar_t> >
-std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_istreamIwSt11char_traitsIwEE: 10u entries
-0 8u
-4 (int (*)(...))0
-8 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE)
-12 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-16 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-20 -8u
-24 (int (*)(...))-0x000000008
-28 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE)
-32 std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n12_NSt13basic_istreamIwSt11char_traitsIwEED1Ev
-36 std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n12_NSt13basic_istreamIwSt11char_traitsIwEED0Ev
+
VTT for std::basic_istream<wchar_t, std::char_traits<wchar_t> >
std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTTSt13basic_istreamIwSt11char_traitsIwEE: 2u entries
0 ((& std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 12u)
4 ((& std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 32u)
-Class std::basic_istream<wchar_t, std::char_traits<wchar_t> >
- size=148 align=4
- base size=8 base align=4
-std::basic_istream<wchar_t, std::char_traits<wchar_t> > (0xb5c3d580) 0
- vptridx=0u vptr=((& std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 12u)
- std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb5c3d5c0) 8 virtual
- vptridx=4u vbaseoffset=-0x00000000c vptr=((& std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 32u)
- std::ios_base (0xb5bf6ec4) 8
- primary-for std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb5c3d5c0)
-
-Class __gnu_cxx::__conditional_type<true, __gnu_cxx::__numeric_traits_integer<short int>, __gnu_cxx::__numeric_traits_floating<short int> >
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__conditional_type<true, __gnu_cxx::__numeric_traits_integer<short int>, __gnu_cxx::__numeric_traits_floating<short int> > (0xb5c5b4ec) 0 empty
-Class __gnu_cxx::__numeric_traits_integer<short int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__numeric_traits_integer<short int> (0xb5c5b528) 0 empty
-Class __gnu_cxx::__numeric_traits<short int>
- size=1 align=1
- base size=1 base align=1
-__gnu_cxx::__numeric_traits<short int> (0xb5c69480) 0 empty
- __gnu_cxx::__numeric_traits_integer<short int> (0xb5c5b564) 0 empty
-Class std::basic_istream<char, std::char_traits<char> >::sentry
- size=1 align=1
- base size=1 base align=1
-std::basic_istream<char, std::char_traits<char> >::sentry (0xb5c5bb40) 0
-Vtable for std::basic_iostream<char, std::char_traits<char> >
-std::basic_iostream<char, std::char_traits<char> >::_ZTVSd: 15u entries
-0 12u
-4 (int (*)(...))0
-8 (int (*)(...))(& _ZTISd)
-12 std::basic_iostream<_CharT, _Traits>::~basic_iostream [with _CharT = char, _Traits = std::char_traits<char>]
-16 std::basic_iostream<_CharT, _Traits>::~basic_iostream [with _CharT = char, _Traits = std::char_traits<char>]
-20 4u
-24 (int (*)(...))-0x000000008
-28 (int (*)(...))(& _ZTISd)
-32 std::basic_iostream<char, std::char_traits<char> >::_ZThn8_NSdD1Ev
-36 std::basic_iostream<char, std::char_traits<char> >::_ZThn8_NSdD0Ev
-40 -12u
-44 (int (*)(...))-0x00000000c
-48 (int (*)(...))(& _ZTISd)
-52 std::basic_iostream<char, std::char_traits<char> >::_ZTv0_n12_NSdD1Ev
-56 std::basic_iostream<char, std::char_traits<char> >::_ZTv0_n12_NSdD0Ev
+
Construction vtable for std::basic_istream<char, std::char_traits<char> > (0xb5ca4380 instance) in std::basic_iostream<char, std::char_traits<char> >
std::basic_iostream<char, std::char_traits<char> >::_ZTCSd0_Si: 10u entries
@@ -2486,44 +1210,8 @@ std::basic_iostream<char, std::char_traits<char> >::_ZTTSd: 7u entries
20 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 52u)
24 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 32u)
-Class std::basic_iostream<char, std::char_traits<char> >
- size=148 align=4
- base size=12 base align=4
-std::basic_iostream<char, std::char_traits<char> > (0xb5cadb40) 0
- vptridx=0u vptr=((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 12u)
- std::basic_istream<char, std::char_traits<char> > (0xb5ca4380) 0
- primary-for std::basic_iostream<char, std::char_traits<char> > (0xb5cadb40)
- subvttidx=4u
- std::basic_ios<char, std::char_traits<char> > (0xb5ca43c0) 12 virtual
- vptridx=20u vbaseoffset=-0x00000000c vptr=((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 52u)
- std::ios_base (0xb5c5bb7c) 12
- primary-for std::basic_ios<char, std::char_traits<char> > (0xb5ca43c0)
- std::basic_ostream<char, std::char_traits<char> > (0xb5ca4400) 8 nearly-empty
- subvttidx=12u vptridx=24u vptr=((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 32u)
- std::basic_ios<char, std::char_traits<char> > (0xb5ca43c0) alternative-path
-
-Class std::basic_istream<wchar_t, std::char_traits<wchar_t> >::sentry
- size=1 align=1
- base size=1 base align=1
-std::basic_istream<wchar_t, std::char_traits<wchar_t> >::sentry (0xb5c5be10) 0
-Vtable for std::basic_iostream<wchar_t, std::char_traits<wchar_t> >
-std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE: 15u entries
-0 12u
-4 (int (*)(...))0
-8 (int (*)(...))(& _ZTISt14basic_iostreamIwSt11char_traitsIwEE)
-12 std::basic_iostream<_CharT, _Traits>::~basic_iostream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-16 std::basic_iostream<_CharT, _Traits>::~basic_iostream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-20 4u
-24 (int (*)(...))-0x000000008
-28 (int (*)(...))(& _ZTISt14basic_iostreamIwSt11char_traitsIwEE)
-32 std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZThn8_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev
-36 std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZThn8_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev
-40 -12u
-44 (int (*)(...))-0x00000000c
-48 (int (*)(...))(& _ZTISt14basic_iostreamIwSt11char_traitsIwEE)
-52 std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n12_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev
-56 std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n12_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev
+
Construction vtable for std::basic_istream<wchar_t, std::char_traits<wchar_t> > (0xb5ca4700 instance) in std::basic_iostream<wchar_t, std::char_traits<wchar_t> >
std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E: 10u entries
@@ -2561,110 +1249,21 @@ std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTTSt14basic_iostream
20 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 52u)
24 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 32u)
-Class std::basic_iostream<wchar_t, std::char_traits<wchar_t> >
- size=152 align=4
- base size=12 base align=4
-std::basic_iostream<wchar_t, std::char_traits<wchar_t> > (0xb5cbbbe0) 0
- vptridx=0u vptr=((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 12u)
- std::basic_istream<wchar_t, std::char_traits<wchar_t> > (0xb5ca4700) 0
- primary-for std::basic_iostream<wchar_t, std::char_traits<wchar_t> > (0xb5cbbbe0)
- subvttidx=4u
- std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb5ca4740) 12 virtual
- vptridx=20u vbaseoffset=-0x00000000c vptr=((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 52u)
- std::ios_base (0xb5c5be4c) 12
- primary-for std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb5ca4740)
- std::basic_ostream<wchar_t, std::char_traits<wchar_t> > (0xb5ca4780) 8 nearly-empty
- subvttidx=12u vptridx=24u vptr=((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 32u)
- std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb5ca4740) alternative-path
-
-Class QVector<double>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<double>::<anonymous union> (0xb5ac5618) 0
-Class QVector<double>
- size=4 align=4
- base size=4 base align=4
-QVector<double> (0xb5ac55a0) 0
-Class QtConcurrent::Median<double>
- size=24 align=4
- base size=22 base align=4
-QtConcurrent::Median<double> (0xb5ac5528) 0
+
Class QtConcurrent::BlockSizeManager
size=72 align=4
base size=72 base align=4
QtConcurrent::BlockSizeManager (0xb5ac5474) 0
-Class QtConcurrent::ResultReporter<void>
- size=1 align=1
- base size=0 base align=1
-QtConcurrent::ResultReporter<void> (0xb5ac59d8) 0 empty
-Class QFlags<QtConcurrent::ReduceOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QtConcurrent::ReduceOption> (0xb5af51e0) 0
-Class QtConcurrent::SelectSpecialization<void>
- size=1 align=1
- base size=0 base align=1
-QtConcurrent::SelectSpecialization<void> (0xb59e0654) 0 empty
-Vtable for QtConcurrent::RunFunctionTaskBase<void>
-QtConcurrent::RunFunctionTaskBase<void>::_ZTVN12QtConcurrent19RunFunctionTaskBaseIvEE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTIN12QtConcurrent19RunFunctionTaskBaseIvEE)
-8 QtConcurrent::RunFunctionTaskBase<void>::~RunFunctionTaskBase
-12 QtConcurrent::RunFunctionTaskBase<void>::~RunFunctionTaskBase
-16 QtConcurrent::RunFunctionTaskBase<T>::run [with T = void]
-20 __cxa_pure_virtual
-24 (int (*)(...))-0x000000008
-28 (int (*)(...))(& _ZTIN12QtConcurrent19RunFunctionTaskBaseIvEE)
-32 QtConcurrent::RunFunctionTaskBase<void>::_ZThn8_N12QtConcurrent19RunFunctionTaskBaseIvE3runEv
-36 QtConcurrent::RunFunctionTaskBase<void>::_ZThn8_N12QtConcurrent19RunFunctionTaskBaseIvED1Ev
-40 QtConcurrent::RunFunctionTaskBase<void>::_ZThn8_N12QtConcurrent19RunFunctionTaskBaseIvED0Ev
-Class QtConcurrent::RunFunctionTaskBase<void>
- size=16 align=4
- base size=16 base align=4
-QtConcurrent::RunFunctionTaskBase<void> (0xb59ef370) 0
- vptr=((& QtConcurrent::RunFunctionTaskBase<void>::_ZTVN12QtConcurrent19RunFunctionTaskBaseIvEE) + 8u)
- QFutureInterface<void> (0xb59dfa00) 0
- primary-for QtConcurrent::RunFunctionTaskBase<void> (0xb59ef370)
- QFutureInterfaceBase (0xb59e0834) 0
- primary-for QFutureInterface<void> (0xb59dfa00)
- QRunnable (0xb59e0870) 8
- vptr=((& QtConcurrent::RunFunctionTaskBase<void>::_ZTVN12QtConcurrent19RunFunctionTaskBaseIvEE) + 32u)
-
-Vtable for QtConcurrent::RunFunctionTask<void>
-QtConcurrent::RunFunctionTask<void>::_ZTVN12QtConcurrent15RunFunctionTaskIvEE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTIN12QtConcurrent15RunFunctionTaskIvEE)
-8 QtConcurrent::RunFunctionTask<void>::~RunFunctionTask
-12 QtConcurrent::RunFunctionTask<void>::~RunFunctionTask
-16 QtConcurrent::RunFunctionTask<void>::run
-20 __cxa_pure_virtual
-24 (int (*)(...))-0x000000008
-28 (int (*)(...))(& _ZTIN12QtConcurrent15RunFunctionTaskIvEE)
-32 QtConcurrent::RunFunctionTask<void>::_ZThn8_N12QtConcurrent15RunFunctionTaskIvE3runEv
-36 QtConcurrent::RunFunctionTask<void>::_ZThn8_N12QtConcurrent15RunFunctionTaskIvED1Ev
-40 QtConcurrent::RunFunctionTask<void>::_ZThn8_N12QtConcurrent15RunFunctionTaskIvED0Ev
-Class QtConcurrent::RunFunctionTask<void>
- size=16 align=4
- base size=16 base align=4
-QtConcurrent::RunFunctionTask<void> (0xb59dfa80) 0
- vptr=((& QtConcurrent::RunFunctionTask<void>::_ZTVN12QtConcurrent15RunFunctionTaskIvEE) + 8u)
- QtConcurrent::RunFunctionTaskBase<void> (0xb59ef780) 0
- primary-for QtConcurrent::RunFunctionTask<void> (0xb59dfa80)
- QFutureInterface<void> (0xb59dfac0) 0
- primary-for QtConcurrent::RunFunctionTaskBase<void> (0xb59ef780)
- QFutureInterfaceBase (0xb59e0a14) 0
- primary-for QFutureInterface<void> (0xb59dfac0)
- QRunnable (0xb59e0a50) 8
- vptr=((& QtConcurrent::RunFunctionTask<void>::_ZTVN12QtConcurrent15RunFunctionTaskIvEE) + 32u)
+
Class QLibraryInfo
size=1 align=1
@@ -2715,50 +1314,22 @@ QFile (0xb5943e00) 0
QObject (0xb593ed98) 0
primary-for QIODevice (0xb5943e40)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0xb597a708) 0
Class QFileInfo
size=4 align=4
base size=4 base align=4
QFileInfo (0xb598a2d0) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0xb5998960) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0xb5998c6c) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0xb59ad9d8) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0xb59ad960) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0xb59adac8) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0xb57dd03c) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0xb57dd12c) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -2833,10 +1404,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0xb580c3fc) 0
vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0xb581c4ec) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -2926,10 +1493,6 @@ Class QDirIterator
QDirIterator (0xb5840690) 0
vptr=((& QDirIterator::_ZTV12QDirIterator) + 8u)
-Class QFlags<QDirIterator::IteratorFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDirIterator::IteratorFlag> (0xb5840e88) 0
Vtable for QFileSystemWatcher
QFileSystemWatcher::_ZTV18QFileSystemWatcher: 14u entries
@@ -3067,25 +1630,13 @@ Class QLocale::Data
base size=4 base align=2
QLocale::Data (0xb58a1e4c) 0
-Class QLocale::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QLocale::<anonymous union> (0xb58a1ec4) 0
Class QLocale
size=4 align=4
base size=4 base align=4
QLocale (0xb5881c6c) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0xb58af6cc) 0 empty
-Class QFlags<QLocale::NumberOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLocale::NumberOption> (0xb58af834) 0
Class QResource
size=4 align=4
@@ -3097,275 +1648,59 @@ Class QMetaType
base size=0 base align=1
QMetaType (0xb56d112c) 0 empty
-Class QMetaTypeId2<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QString> (0xb56d1564) 0 empty
-Class QMetaTypeId2<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<int> (0xb56d1744) 0 empty
-Class QMetaTypeId2<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned int> (0xb56d1924) 0 empty
-Class QMetaTypeId2<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<bool> (0xb56d1b04) 0 empty
-Class QMetaTypeId2<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<double> (0xb56d1ce4) 0 empty
-Class QMetaTypeId2<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QByteArray> (0xb56d1ec4) 0 empty
-Class QMetaTypeId2<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QChar> (0xb56e70b4) 0 empty
-Class QMetaTypeId2<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long int> (0xb56e7294) 0 empty
-Class QMetaTypeId2<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short int> (0xb56e7474) 0 empty
-Class QMetaTypeId2<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<char> (0xb56e7654) 0 empty
-Class QMetaTypeId2<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long unsigned int> (0xb56e7834) 0 empty
-Class QMetaTypeId2<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short unsigned int> (0xb56e7a14) 0 empty
-Class QMetaTypeId2<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned char> (0xb56e7bf4) 0 empty
-Class QMetaTypeId2<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<float> (0xb56e7dd4) 0 empty
-Class QMetaTypeId2<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QObject*> (0xb56e7fb4) 0 empty
-Class QMetaTypeId2<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QWidget*> (0xb56ef1a4) 0 empty
-Class QMetaTypeId2<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<void*> (0xb56ef384) 0 empty
-Class QMetaTypeId2<long long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long int> (0xb56ef564) 0 empty
-Class QMetaTypeId2<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long unsigned int> (0xb56ef744) 0 empty
-Class QMetaTypeId2<QStringList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QStringList> (0xb56ef924) 0 empty
-Class QMetaTypeId2<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitArray> (0xb56efb04) 0 empty
-Class QMetaTypeId2<QDate>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDate> (0xb56efce4) 0 empty
-Class QMetaTypeId2<QTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTime> (0xb56efec4) 0 empty
-Class QMetaTypeId2<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDateTime> (0xb56f70b4) 0 empty
-Class QMetaTypeId2<QUrl>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QUrl> (0xb56f7294) 0 empty
-Class QMetaTypeId2<QLocale>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLocale> (0xb56f7474) 0 empty
-Class QMetaTypeId2<QRect>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRect> (0xb56f7654) 0 empty
-Class QMetaTypeId2<QRectF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRectF> (0xb56f7834) 0 empty
-Class QMetaTypeId2<QSize>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSize> (0xb56f7a14) 0 empty
-Class QMetaTypeId2<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizeF> (0xb56f7bf4) 0 empty
-Class QMetaTypeId2<QLine>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLine> (0xb56f7dd4) 0 empty
-Class QMetaTypeId2<QLineF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLineF> (0xb56f7fb4) 0 empty
-Class QMetaTypeId2<QPoint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPoint> (0xb57001a4) 0 empty
-Class QMetaTypeId2<QPointF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPointF> (0xb5700384) 0 empty
-Class QMetaTypeId2<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegExp> (0xb5700564) 0 empty
-Class QMetaTypeId2<QColorGroup>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColorGroup> (0xb5700744) 0 empty
-Class QMetaTypeId2<QFont>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QFont> (0xb5700924) 0 empty
-Class QMetaTypeId2<QPixmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPixmap> (0xb5700b04) 0 empty
-Class QMetaTypeId2<QBrush>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBrush> (0xb5700ce4) 0 empty
-Class QMetaTypeId2<QColor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColor> (0xb5700ec4) 0 empty
-Class QMetaTypeId2<QPalette>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPalette> (0xb57070b4) 0 empty
-Class QMetaTypeId2<QIcon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QIcon> (0xb5707294) 0 empty
-Class QMetaTypeId2<QImage>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QImage> (0xb5707474) 0 empty
-Class QMetaTypeId2<QPolygon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPolygon> (0xb5707654) 0 empty
-Class QMetaTypeId2<QRegion>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegion> (0xb5707834) 0 empty
-Class QMetaTypeId2<QBitmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitmap> (0xb5707a14) 0 empty
-Class QMetaTypeId2<QCursor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QCursor> (0xb5707bf4) 0 empty
-Class QMetaTypeId2<QSizePolicy>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizePolicy> (0xb5707dd4) 0 empty
-Class QMetaTypeId2<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QKeySequence> (0xb5707fb4) 0 empty
-Class QMetaTypeId2<QPen>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPen> (0xb570e1a4) 0 empty
-Class QMetaTypeId2<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextLength> (0xb570e384) 0 empty
-Class QMetaTypeId2<QTextFormat>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextFormat> (0xb570e564) 0 empty
-Class QMetaTypeId2<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMatrix> (0xb570e744) 0 empty
-Class QMetaTypeId2<QTransform>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTransform> (0xb570e924) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -3392,45 +1727,17 @@ Class QVariant
base size=12 base align=4
QVariant (0xb570eb04) 0
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0xb574a5a0) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0xb574a528) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0xb574a690) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0xb574a618) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0xb577fa14) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0xb579203c) 0 empty
-Class QMetaTypeId2<QList<QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QList<QVariant> > (0xb579221c) 0 empty
-Class QMetaTypeId2<QMap<QString, QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMap<QString, QVariant> > (0xb57923fc) 0 empty
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -3508,15 +1815,7 @@ Class QUrl
base size=4 base align=4
QUrl (0xb55da474) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0xb55e73c0) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0xb55fce4c) 0 empty
Vtable for QEventLoop
QEventLoop::_ZTV10QEventLoop: 14u entries
@@ -3543,10 +1842,6 @@ QEventLoop (0xb55d6ac0) 0
QObject (0xb5610ca8) 0
primary-for QEventLoop (0xb55d6ac0)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0xb56222d0) 0
Vtable for QAbstractEventDispatcher
QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 27u entries
@@ -3591,20 +1886,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0xb5644528) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0xb565a924) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0xb565aa14) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0xb5661168) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -3774,10 +2061,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0xb56b12d0) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0xb56b1a50) 0 empty
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -3889,20 +2172,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0xb54ee690) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0xb54eeb40) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0xb54eec30) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0xb5528078) 0 empty
Class QMetaProperty
size=20 align=4
@@ -3914,10 +2189,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0xb5528474) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0xb55287bc) 0 empty
Vtable for QMimeData
QMimeData::_ZTV9QMimeData: 17u entries
@@ -4129,10 +2400,6 @@ QLibrary (0xb55717c0) 0
QObject (0xb55950f0) 0
primary-for QLibrary (0xb55717c0)
-Class QFlags<QLibrary::LoadHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLibrary::LoadHint> (0xb55a403c) 0
Vtable for QPluginLoader
QPluginLoader::_ZTV13QPluginLoader: 14u entries
@@ -4169,20 +2436,12 @@ Class QReadWriteLock
base size=4 base align=4
QReadWriteLock (0xb53ce618) 0
-Class QReadLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QReadLocker::<anonymous union> (0xb53ceca8) 0
Class QReadLocker
size=4 align=4
base size=4 base align=4
QReadLocker (0xb53ce99c) 0
-Class QWriteLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QWriteLocker::<anonymous union> (0xb53e51a4) 0
Class QWriteLocker
size=4 align=4
@@ -4209,10 +2468,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0xb541f780) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0xb542c474) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -4229,70 +2484,42 @@ Class QDate
base size=4 base align=4
QDate (0xb544d474) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0xb5461e10) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0xb5461f00) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0xb5477474) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0xb5477564) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0xb547fc6c) 0 empty
Class QPoint
size=8 align=4
base size=8 base align=4
QPoint (0xb547fe4c) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0xb5496d20) 0 empty
Class QPointF
size=16 align=4
base size=16 base align=4
QPointF (0xb54a3e4c) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0xb5294dd4) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0xb52a3e10) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0xb52b31e0) 0 empty
Class QLineF
size=32 align=4
base size=32 base align=4
QLineF (0xb52ce348) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0xb52ced5c) 0 empty
Class QLinkedListData
size=20 align=4
@@ -4304,40 +2531,24 @@ Class QSize
base size=8 base align=4
QSize (0xb5348ca8) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0xb5372d98) 0 empty
Class QSizeF
size=16 align=4
base size=16 base align=4
QSizeF (0xb538e924) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0xb5198a50) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0xb51b8780) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0xb51d0654) 0 empty
Class QRectF
size=32 align=4
base size=32 base align=4
QRectF (0xb5216258) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0xb5230780) 0 empty
Class QSharedData
size=4 align=4
@@ -4385,20 +2596,8 @@ Class QXmlStreamAttribute
base size=53 base align=4
QXmlStreamAttribute (0xb50c7f3c) 0
-Class QTypeInfo<QXmlStreamAttribute>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QXmlStreamAttribute> (0xb50e04b0) 0 empty
-Class QVector<QXmlStreamAttribute>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QXmlStreamAttribute>::<anonymous union> (0xb50e0618) 0
-Class QVector<QXmlStreamAttribute>
- size=4 align=4
- base size=4 base align=4
-QVector<QXmlStreamAttribute> (0xb50e05a0) 0
Class QXmlStreamAttributes
size=4 align=4
@@ -4411,30 +2610,18 @@ Class QXmlStreamNamespaceDeclaration
base size=28 base align=4
QXmlStreamNamespaceDeclaration (0xb50e0690) 0
-Class QTypeInfo<QXmlStreamNamespaceDeclaration>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QXmlStreamNamespaceDeclaration> (0xb51050b4) 0 empty
Class QXmlStreamNotationDeclaration
size=40 align=4
base size=40 base align=4
QXmlStreamNotationDeclaration (0xb51051e0) 0
-Class QTypeInfo<QXmlStreamNotationDeclaration>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QXmlStreamNotationDeclaration> (0xb5105d98) 0 empty
Class QXmlStreamEntityDeclaration
size=64 align=4
base size=64 base align=4
QXmlStreamEntityDeclaration (0xb5105ec4) 0
-Class QTypeInfo<QXmlStreamEntityDeclaration>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QXmlStreamEntityDeclaration> (0xb5117e4c) 0 empty
Vtable for QXmlStreamEntityResolver
QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver: 6u entries
@@ -4461,33 +2648,9 @@ Class QXmlStreamWriter
base size=4 base align=4
QXmlStreamWriter (0xb5147708) 0
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0xb4f9d168) 0
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0xb4fb0708) 0
-Class QTypeInfo<QtConcurrent::ResultItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QtConcurrent::ResultItem> (0xb50568ac) 0 empty
-Class QMap<int, QtConcurrent::ResultItem>::Node
- size=20 align=4
- base size=20 base align=4
-QMap<int, QtConcurrent::ResultItem>::Node (0xb5056924) 0
-Class QMap<int, QtConcurrent::ResultItem>::PayloadNode
- size=16 align=4
- base size=16 base align=4
-QMap<int, QtConcurrent::ResultItem>::PayloadNode (0xb5075564) 0
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0xb5075690) 0
diff --git a/tests/auto/bic/data/QtDBus.4.2.0.linux-gcc-ia32.txt b/tests/auto/bic/data/QtDBus.4.2.0.linux-gcc-ia32.txt
index 697235e..d5748a5 100644
--- a/tests/auto/bic/data/QtDBus.4.2.0.linux-gcc-ia32.txt
+++ b/tests/auto/bic/data/QtDBus.4.2.0.linux-gcc-ia32.txt
@@ -1,34 +1,8 @@
-Class QUintForSize<4>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<4> (0xb7f6b880) 0 empty
-Class QUintForSize<8>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<8> (0xb7f6b8c0) 0 empty
-Class QUintForType<void*>
- size=1 align=1
- base size=1 base align=1
-QUintForType<void*> (0xb7f6b980) 0 empty
- QUintForSize<4> (0xb7f6b9c0) 0 empty
-Class QIntForSize<4>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<4> (0xb7f6ba40) 0 empty
-Class QIntForSize<8>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<8> (0xb7f6ba80) 0 empty
-Class QIntForType<void*>
- size=1 align=1
- base size=1 base align=1
-QIntForType<void*> (0xb7f6bb40) 0 empty
- QIntForSize<4> (0xb7f6bb80) 0 empty
Class QSysInfo
size=1 align=1
@@ -50,80 +24,20 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0xb7f6be00) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0xb7f6bec0) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0xb7f6bf00) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0xb7f6bf40) 0 empty
-Class QTypeInfo<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned char> (0xb7f6bf80) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0xb7f6bfc0) 0 empty
-Class QTypeInfo<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short unsigned int> (0xb7805000) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0xb7805040) 0 empty
-Class QTypeInfo<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned int> (0xb7805080) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0xb78050c0) 0 empty
-Class QTypeInfo<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long unsigned int> (0xb7805100) 0 empty
-Class QTypeInfo<long long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long int> (0xb7805140) 0 empty
-Class QTypeInfo<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long unsigned int> (0xb7805180) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0xb78051c0) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0xb7805200) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0xb7805240) 0 empty
Class QFlag
size=4 align=4
@@ -161,10 +75,6 @@ Class QByteRef
base size=8 base align=4
QByteRef (0xb7805640) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0xb7805680) 0 empty
Vtable for std::exception
std::exception::_ZTVSt9exception: 5u entries
@@ -247,75 +157,19 @@ Class QChar
base size=2 base align=2
QChar (0xb7805b80) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0xb765d000) 0 empty
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0xb765d040) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0xb765d080) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0xb765d0c0) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0xb765d100) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0xb765d140) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0xb765d180) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0xb765d1c0) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0xb765d200) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0xb765d240) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0xb765d280) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0xb765d2c0) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0xb765d300) 0
-Class QFlags<Qt::TextInteractionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::TextInteractionFlag> (0xb765d340) 0
Class QInternal
size=1 align=1
@@ -337,10 +191,6 @@ Class QString
base size=4 base align=4
QString (0xb765d3c0) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0xb765d540) 0
Class QLatin1String
size=4 align=4
@@ -358,10 +208,6 @@ Class QConstString
QConstString (0xb765d600) 0
QString (0xb765d640) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0xb765d680) 0 empty
Class QGenericArgument
size=8 align=4
@@ -374,25 +220,13 @@ Class QGenericReturnArgument
QGenericReturnArgument (0xb765d700) 0
QGenericArgument (0xb765d740) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0xb765d900) 0
Class QMetaObject
size=16 align=4
base size=16 base align=4
QMetaObject (0xb765d8c0) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0xb765da80) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0xb765da00) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -484,10 +318,6 @@ QIODevice (0xb765dc00) 0
QObject (0xb765dc40) 0
primary-for QIODevice (0xb765dc00)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0xb765dd00) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -507,25 +337,13 @@ Class QRegExp
base size=4 base align=4
QRegExp (0xb765ddc0) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0xb765de00) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0xb765de40) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0xb765df00) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0xb765de80) 0
Class QStringList
size=4 align=4
@@ -533,285 +351,65 @@ Class QStringList
QStringList (0xb765df40) 0
QList<QString> (0xb765df80) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0xb765d4c0) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0xb765dac0) 0
Class QMetaType
size=1 align=1
base size=0 base align=1
QMetaType (0xb765dd80) 0 empty
-Class QMetaTypeId2<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QString> (0xb73b1080) 0 empty
-Class QMetaTypeId2<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<int> (0xb73b10c0) 0 empty
-Class QMetaTypeId2<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned int> (0xb73b1100) 0 empty
-Class QMetaTypeId2<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<bool> (0xb73b1140) 0 empty
-Class QMetaTypeId2<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<double> (0xb73b1180) 0 empty
-Class QMetaTypeId2<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QByteArray> (0xb73b11c0) 0 empty
-Class QMetaTypeId2<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QChar> (0xb73b1200) 0 empty
-Class QMetaTypeId2<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long int> (0xb73b1240) 0 empty
-Class QMetaTypeId2<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short int> (0xb73b1280) 0 empty
-Class QMetaTypeId2<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<char> (0xb73b12c0) 0 empty
-Class QMetaTypeId2<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long unsigned int> (0xb73b1300) 0 empty
-Class QMetaTypeId2<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short unsigned int> (0xb73b1340) 0 empty
-Class QMetaTypeId2<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned char> (0xb73b1380) 0 empty
-Class QMetaTypeId2<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<float> (0xb73b13c0) 0 empty
-Class QMetaTypeId2<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QObject*> (0xb73b1400) 0 empty
-Class QMetaTypeId2<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QWidget*> (0xb73b1440) 0 empty
-Class QMetaTypeId2<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<void*> (0xb73b1480) 0 empty
-Class QMetaTypeId2<long long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long int> (0xb73b14c0) 0 empty
-Class QMetaTypeId2<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long unsigned int> (0xb73b1500) 0 empty
-Class QMetaTypeId2<QStringList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QStringList> (0xb73b1540) 0 empty
-Class QMetaTypeId2<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitArray> (0xb73b1580) 0 empty
-Class QMetaTypeId2<QDate>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDate> (0xb73b15c0) 0 empty
-Class QMetaTypeId2<QTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTime> (0xb73b1600) 0 empty
-Class QMetaTypeId2<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDateTime> (0xb73b1640) 0 empty
-Class QMetaTypeId2<QUrl>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QUrl> (0xb73b1680) 0 empty
-Class QMetaTypeId2<QLocale>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLocale> (0xb73b16c0) 0 empty
-Class QMetaTypeId2<QRect>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRect> (0xb73b1700) 0 empty
-Class QMetaTypeId2<QRectF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRectF> (0xb73b1740) 0 empty
-Class QMetaTypeId2<QSize>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSize> (0xb73b1780) 0 empty
-Class QMetaTypeId2<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizeF> (0xb73b17c0) 0 empty
-Class QMetaTypeId2<QLine>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLine> (0xb73b1800) 0 empty
-Class QMetaTypeId2<QLineF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLineF> (0xb73b1840) 0 empty
-Class QMetaTypeId2<QPoint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPoint> (0xb73b1880) 0 empty
-Class QMetaTypeId2<QPointF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPointF> (0xb73b18c0) 0 empty
-Class QMetaTypeId2<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegExp> (0xb73b1900) 0 empty
-Class QMetaTypeId2<QColorGroup>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColorGroup> (0xb73b1940) 0 empty
-Class QMetaTypeId2<QFont>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QFont> (0xb73b1980) 0 empty
-Class QMetaTypeId2<QPixmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPixmap> (0xb73b19c0) 0 empty
-Class QMetaTypeId2<QBrush>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBrush> (0xb73b1a00) 0 empty
-Class QMetaTypeId2<QColor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColor> (0xb73b1a40) 0 empty
-Class QMetaTypeId2<QPalette>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPalette> (0xb73b1a80) 0 empty
-Class QMetaTypeId2<QIcon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QIcon> (0xb73b1ac0) 0 empty
-Class QMetaTypeId2<QImage>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QImage> (0xb73b1b00) 0 empty
-Class QMetaTypeId2<QPolygon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPolygon> (0xb73b1b40) 0 empty
-Class QMetaTypeId2<QRegion>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegion> (0xb73b1b80) 0 empty
-Class QMetaTypeId2<QBitmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitmap> (0xb73b1bc0) 0 empty
-Class QMetaTypeId2<QCursor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QCursor> (0xb73b1c00) 0 empty
-Class QMetaTypeId2<QSizePolicy>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizePolicy> (0xb73b1c40) 0 empty
-Class QMetaTypeId2<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QKeySequence> (0xb73b1c80) 0 empty
-Class QMetaTypeId2<QPen>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPen> (0xb73b1cc0) 0 empty
-Class QMetaTypeId2<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextLength> (0xb73b1d00) 0 empty
-Class QMetaTypeId2<QTextFormat>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextFormat> (0xb73b1d40) 0 empty
-Class QMetaTypeId2<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMatrix> (0xb73b1d80) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -838,45 +436,17 @@ Class QVariant
base size=12 base align=4
QVariant (0xb73b1dc0) 0
-Class QMetaTypeId2<QList<QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QList<QVariant> > (0xb73b1f00) 0 empty
-Class QMetaTypeId2<QMap<QString, QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMap<QString, QVariant> > (0xb73b1f40) 0 empty
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0xb721e040) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0xb73b1fc0) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0xb721e140) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0xb721e0c0) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0xb721e200) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0xb721e280) 0 empty
Class QDBusObjectPath
size=4 align=4
@@ -884,10 +454,6 @@ Class QDBusObjectPath
QDBusObjectPath (0xb721e2c0) 0
QString (0xb721e300) 0
-Class QMetaTypeId<QDBusObjectPath>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QDBusObjectPath> (0xb721e340) 0 empty
Class QDBusSignature
size=4 align=4
@@ -895,10 +461,6 @@ Class QDBusSignature
QDBusSignature (0xb721e400) 0
QString (0xb721e440) 0
-Class QMetaTypeId<QDBusSignature>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QDBusSignature> (0xb721e480) 0 empty
Class QDBusVariant
size=12 align=4
@@ -906,40 +468,16 @@ Class QDBusVariant
QDBusVariant (0xb721e540) 0
QVariant (0xb721e580) 0
-Class QMetaTypeId<QDBusVariant>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QDBusVariant> (0xb721e5c0) 0 empty
Class QDBusArgument
size=4 align=4
base size=4 base align=4
QDBusArgument (0xb721e680) 0
-Class QMetaTypeId<QDBusArgument>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QDBusArgument> (0xb721e6c0) 0 empty
-Class QList<QVariant>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::const_iterator (0xb721e8c0) 0
-Class QList<QVariant>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::iterator (0xb721e940) 0
-Class QMap<QString, QVariant>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::const_iterator (0xb721ea80) 0
-Class QMap<QString, QVariant>::iterator
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::iterator (0xb721eb00) 0
Vtable for QDBusAbstractAdaptor
QDBusAbstractAdaptor::_ZTV20QDBusAbstractAdaptor: 14u entries
@@ -981,10 +519,6 @@ Class QDBusConnection
base size=4 base align=4
QDBusConnection (0xb721ec80) 0
-Class QFlags<QDBusConnection::RegisterOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDBusConnection::RegisterOption> (0xb721ed00) 0
Vtable for QDBusAbstractInterface
QDBusAbstractInterface::_ZTV22QDBusAbstractInterface: 14u entries
@@ -1011,15 +545,7 @@ QDBusAbstractInterface (0xb721ed40) 0
QObject (0xb721ed80) 0
primary-for QDBusAbstractInterface (0xb721ed40)
-Class QDBusReply<QVariant>
- size=28 align=4
- base size=28 base align=4
-QDBusReply<QVariant> (0xb721ee40) 0
-Class QDBusReply<void>
- size=16 align=4
- base size=16 base align=4
-QDBusReply<void> (0xb721ef00) 0
Vtable for QDBusConnectionInterface
QDBusConnectionInterface::_ZTV24QDBusConnectionInterface: 14u entries
@@ -1048,10 +574,6 @@ QDBusConnectionInterface (0xb721ef80) 0
QObject (0xb721e1c0) 0
primary-for QDBusAbstractInterface (0xb721efc0)
-Class QMetaTypeId2<QDBusConnectionInterface::RegisterServiceReply>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDBusConnectionInterface::RegisterServiceReply> (0xb721e9c0) 0 empty
Vtable for QDBusServer
QDBusServer::_ZTV11QDBusServer: 14u entries
@@ -1110,18 +632,6 @@ Class QDBusMetaType
base size=0 base align=1
QDBusMetaType (0xb71260c0) 0 empty
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0xb7126140) 0
-Class QMetaTypeId2<QDBusVariant>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDBusVariant> (0xb7126380) 0 empty
-Class QList<QVariant>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::Node (0xb7126400) 0
diff --git a/tests/auto/bic/data/QtDBus.4.2.0.linux-gcc-ppc32.txt b/tests/auto/bic/data/QtDBus.4.2.0.linux-gcc-ppc32.txt
index 855254f..04cd88d 100644
--- a/tests/auto/bic/data/QtDBus.4.2.0.linux-gcc-ppc32.txt
+++ b/tests/auto/bic/data/QtDBus.4.2.0.linux-gcc-ppc32.txt
@@ -1,34 +1,8 @@
-Class QUintForSize<4>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<4> (0x30144738) 0 empty
-Class QUintForSize<8>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<8> (0x301447a8) 0 empty
-Class QUintForType<void*>
- size=1 align=1
- base size=1 base align=1
-QUintForType<void*> (0x3001b6c0) 0 empty
- QUintForSize<4> (0x301448f8) 0 empty
-Class QIntForSize<4>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<4> (0x301449d8) 0 empty
-Class QIntForSize<8>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<8> (0x30144a48) 0 empty
-Class QIntForType<void*>
- size=1 align=1
- base size=1 base align=1
-QIntForType<void*> (0x3001b740) 0 empty
- QIntForSize<4> (0x30144b98) 0 empty
Class QSysInfo
size=1 align=1
@@ -50,80 +24,20 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0x30144f18) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0x30570118) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0x305701c0) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0x30570268) 0 empty
-Class QTypeInfo<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned char> (0x30570310) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0x305703b8) 0 empty
-Class QTypeInfo<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short unsigned int> (0x30570460) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0x30570508) 0 empty
-Class QTypeInfo<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned int> (0x305705b0) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0x30570658) 0 empty
-Class QTypeInfo<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long unsigned int> (0x30570700) 0 empty
-Class QTypeInfo<long long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long int> (0x305707a8) 0 empty
-Class QTypeInfo<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long unsigned int> (0x30570850) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0x305708f8) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0x305709a0) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0x30570a48) 0 empty
Class QFlag
size=4 align=4
@@ -161,10 +75,6 @@ Class QByteRef
base size=8 base align=4
QByteRef (0x305e0738) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0x305e0a80) 0 empty
Vtable for std::exception
std::exception::_ZTVSt9exception: 5u entries
@@ -247,75 +157,19 @@ Class QChar
base size=2 base align=2
QChar (0x306c0b28) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0x306c0bd0) 0 empty
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0x308640e0) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0x30864150) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0x308641c0) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0x30864230) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0x308642a0) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0x30864310) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0x30864380) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0x308643f0) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0x30864460) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0x308644d0) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0x30864540) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0x308645b0) 0
-Class QFlags<Qt::TextInteractionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::TextInteractionFlag> (0x30864620) 0
Class QInternal
size=1 align=1
@@ -337,10 +191,6 @@ Class QString
base size=4 base align=4
QString (0x308646c8) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0x308648f8) 0
Class QLatin1String
size=4 align=4
@@ -358,10 +208,6 @@ Class QConstString
QConstString (0x3001bb00) 0
QString (0x309b7a10) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0x309b7af0) 0 empty
Class QGenericArgument
size=8 align=4
@@ -374,25 +220,13 @@ Class QGenericReturnArgument
QGenericReturnArgument (0x3001bb40) 0
QGenericArgument (0x309b7bd0) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0x309b7d90) 0
Class QMetaObject
size=16 align=4
base size=16 base align=4
QMetaObject (0x309b7d20) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0x309b7f88) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0x309b7ee0) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -484,10 +318,6 @@ QIODevice (0x3001bc80) 0
QObject (0x30aa8460) 0
primary-for QIODevice (0x3001bc80)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0x30aa8658) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -507,25 +337,13 @@ Class QRegExp
base size=4 base align=4
QRegExp (0x30aa8bd0) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0x30aa8dc8) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0x30aa8e38) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0x30aa80e0) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0x30aa8f50) 0
Class QStringList
size=4 align=4
@@ -533,285 +351,65 @@ Class QStringList
QStringList (0x3001bcc0) 0
QList<QString> (0x30aa8930) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0x30b783f0) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0x30b78460) 0
Class QMetaType
size=1 align=1
base size=0 base align=1
QMetaType (0x30b78700) 0 empty
-Class QMetaTypeId2<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QString> (0x30b788c0) 0 empty
-Class QMetaTypeId2<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<int> (0x30b78968) 0 empty
-Class QMetaTypeId2<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned int> (0x30b78a10) 0 empty
-Class QMetaTypeId2<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<bool> (0x30b78ab8) 0 empty
-Class QMetaTypeId2<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<double> (0x30b78b60) 0 empty
-Class QMetaTypeId2<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QByteArray> (0x30b78c08) 0 empty
-Class QMetaTypeId2<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QChar> (0x30b78cb0) 0 empty
-Class QMetaTypeId2<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long int> (0x30b78d58) 0 empty
-Class QMetaTypeId2<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short int> (0x30b78e00) 0 empty
-Class QMetaTypeId2<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<char> (0x30b78ea8) 0 empty
-Class QMetaTypeId2<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long unsigned int> (0x30b78f50) 0 empty
-Class QMetaTypeId2<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short unsigned int> (0x30bcb000) 0 empty
-Class QMetaTypeId2<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned char> (0x30bcb0a8) 0 empty
-Class QMetaTypeId2<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<float> (0x30bcb150) 0 empty
-Class QMetaTypeId2<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QObject*> (0x30bcb1f8) 0 empty
-Class QMetaTypeId2<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QWidget*> (0x30bcb2a0) 0 empty
-Class QMetaTypeId2<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<void*> (0x30bcb348) 0 empty
-Class QMetaTypeId2<long long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long int> (0x30bcb3f0) 0 empty
-Class QMetaTypeId2<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long unsigned int> (0x30bcb498) 0 empty
-Class QMetaTypeId2<QStringList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QStringList> (0x30bcb540) 0 empty
-Class QMetaTypeId2<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitArray> (0x30bcb5e8) 0 empty
-Class QMetaTypeId2<QDate>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDate> (0x30bcb690) 0 empty
-Class QMetaTypeId2<QTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTime> (0x30bcb738) 0 empty
-Class QMetaTypeId2<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDateTime> (0x30bcb7e0) 0 empty
-Class QMetaTypeId2<QUrl>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QUrl> (0x30bcb888) 0 empty
-Class QMetaTypeId2<QLocale>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLocale> (0x30bcb930) 0 empty
-Class QMetaTypeId2<QRect>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRect> (0x30bcb9d8) 0 empty
-Class QMetaTypeId2<QRectF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRectF> (0x30bcba80) 0 empty
-Class QMetaTypeId2<QSize>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSize> (0x30bcbb28) 0 empty
-Class QMetaTypeId2<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizeF> (0x30bcbbd0) 0 empty
-Class QMetaTypeId2<QLine>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLine> (0x30bcbc78) 0 empty
-Class QMetaTypeId2<QLineF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLineF> (0x30bcbd20) 0 empty
-Class QMetaTypeId2<QPoint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPoint> (0x30bcbdc8) 0 empty
-Class QMetaTypeId2<QPointF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPointF> (0x30bcbe70) 0 empty
-Class QMetaTypeId2<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegExp> (0x30bcbf18) 0 empty
-Class QMetaTypeId2<QColorGroup>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColorGroup> (0x30bcbfc0) 0 empty
-Class QMetaTypeId2<QFont>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QFont> (0x30be3070) 0 empty
-Class QMetaTypeId2<QPixmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPixmap> (0x30be3118) 0 empty
-Class QMetaTypeId2<QBrush>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBrush> (0x30be31c0) 0 empty
-Class QMetaTypeId2<QColor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColor> (0x30be3268) 0 empty
-Class QMetaTypeId2<QPalette>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPalette> (0x30be3310) 0 empty
-Class QMetaTypeId2<QIcon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QIcon> (0x30be33b8) 0 empty
-Class QMetaTypeId2<QImage>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QImage> (0x30be3460) 0 empty
-Class QMetaTypeId2<QPolygon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPolygon> (0x30be3508) 0 empty
-Class QMetaTypeId2<QRegion>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegion> (0x30be35b0) 0 empty
-Class QMetaTypeId2<QBitmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitmap> (0x30be3658) 0 empty
-Class QMetaTypeId2<QCursor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QCursor> (0x30be3700) 0 empty
-Class QMetaTypeId2<QSizePolicy>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizePolicy> (0x30be37a8) 0 empty
-Class QMetaTypeId2<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QKeySequence> (0x30be3850) 0 empty
-Class QMetaTypeId2<QPen>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPen> (0x30be38f8) 0 empty
-Class QMetaTypeId2<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextLength> (0x30be39a0) 0 empty
-Class QMetaTypeId2<QTextFormat>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextFormat> (0x30be3a48) 0 empty
-Class QMetaTypeId2<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMatrix> (0x30be3af0) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -838,45 +436,17 @@ Class QVariant
base size=16 base align=8
QVariant (0x30be3b60) 0
-Class QMetaTypeId2<QList<QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QList<QVariant> > (0x30be3ce8) 0 empty
-Class QMetaTypeId2<QMap<QString, QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMap<QString, QVariant> > (0x30be3e38) 0 empty
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0x30c34188) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0x30c340e0) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0x30c34348) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0x30c342a0) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0x30c34460) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0x30c34578) 0 empty
Class QDBusObjectPath
size=4 align=4
@@ -884,10 +454,6 @@ Class QDBusObjectPath
QDBusObjectPath (0x3001bd40) 0
QString (0x30c345e8) 0
-Class QMetaTypeId<QDBusObjectPath>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QDBusObjectPath> (0x30c346c8) 0 empty
Class QDBusSignature
size=4 align=4
@@ -895,10 +461,6 @@ Class QDBusSignature
QDBusSignature (0x3001bd80) 0
QString (0x30c34a10) 0
-Class QMetaTypeId<QDBusSignature>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QDBusSignature> (0x30c34af0) 0 empty
Class QDBusVariant
size=16 align=8
@@ -906,40 +468,16 @@ Class QDBusVariant
QDBusVariant (0x3001bdc0) 0
QVariant (0x30c34e38) 0
-Class QMetaTypeId<QDBusVariant>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QDBusVariant> (0x30c34f18) 0 empty
Class QDBusArgument
size=4 align=4
base size=4 base align=4
QDBusArgument (0x30ca9150) 0
-Class QMetaTypeId<QDBusArgument>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QDBusArgument> (0x30ca91c0) 0 empty
-Class QList<QVariant>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::const_iterator (0x30ca95e8) 0
-Class QList<QVariant>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::iterator (0x30ca9690) 0
-Class QMap<QString, QVariant>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::const_iterator (0x30ca99a0) 0
-Class QMap<QString, QVariant>::iterator
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::iterator (0x30ca9a48) 0
Vtable for QDBusAbstractAdaptor
QDBusAbstractAdaptor::_ZTV20QDBusAbstractAdaptor: 14u entries
@@ -981,10 +519,6 @@ Class QDBusConnection
base size=4 base align=4
QDBusConnection (0x30ca9c78) 0
-Class QFlags<QDBusConnection::RegisterOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDBusConnection::RegisterOption> (0x30ca9d58) 0
Vtable for QDBusAbstractInterface
QDBusAbstractInterface::_ZTV22QDBusAbstractInterface: 14u entries
@@ -1011,15 +545,7 @@ QDBusAbstractInterface (0x3001be40) 0
QObject (0x30ca9d90) 0
primary-for QDBusAbstractInterface (0x3001be40)
-Class QDBusReply<QVariant>
- size=32 align=8
- base size=32 base align=8
-QDBusReply<QVariant> (0x30ca9fc0) 0
-Class QDBusReply<void>
- size=16 align=4
- base size=16 base align=4
-QDBusReply<void> (0x30d4c038) 0
Vtable for QDBusConnectionInterface
QDBusConnectionInterface::_ZTV24QDBusConnectionInterface: 14u entries
@@ -1048,10 +574,6 @@ QDBusConnectionInterface (0x3001be80) 0
QObject (0x30d4c188) 0
primary-for QDBusAbstractInterface (0x3001bec0)
-Class QMetaTypeId2<QDBusConnectionInterface::RegisterServiceReply>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDBusConnectionInterface::RegisterServiceReply> (0x30d4c3f0) 0 empty
Vtable for QDBusServer
QDBusServer::_ZTV11QDBusServer: 14u entries
@@ -1110,18 +632,6 @@ Class QDBusMetaType
base size=0 base align=1
QDBusMetaType (0x30d4c690) 0 empty
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0x30db8e00) 0
-Class QMetaTypeId2<QDBusVariant>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDBusVariant> (0x30dd8d58) 0 empty
-Class QList<QVariant>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::Node (0x30dd8b28) 0
diff --git a/tests/auto/bic/data/QtDBus.4.2.0.macx-gcc-ia32.txt b/tests/auto/bic/data/QtDBus.4.2.0.macx-gcc-ia32.txt
index 38b0b2b..62c20d3 100644
--- a/tests/auto/bic/data/QtDBus.4.2.0.macx-gcc-ia32.txt
+++ b/tests/auto/bic/data/QtDBus.4.2.0.macx-gcc-ia32.txt
@@ -1,34 +1,8 @@
-Class QUintForSize<4>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<4> (0x651880) 0 empty
-Class QUintForSize<8>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<8> (0x651900) 0 empty
-Class QUintForType<void*>
- size=1 align=1
- base size=1 base align=1
-QUintForType<void*> (0x651ac0) 0 empty
- QUintForSize<4> (0x651b00) 0 empty
-Class QIntForSize<4>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<4> (0x651c00) 0 empty
-Class QIntForSize<8>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<8> (0x651c80) 0 empty
-Class QIntForType<void*>
- size=1 align=1
- base size=1 base align=1
-QIntForType<void*> (0x651e40) 0 empty
- QIntForSize<4> (0x651e80) 0 empty
Class QSysInfo
size=1 align=1
@@ -50,145 +24,37 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0x663380) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0x6635c0) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0x663680) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0x663740) 0 empty
-Class QTypeInfo<uchar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uchar> (0x663800) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0x6638c0) 0 empty
-Class QTypeInfo<ushort>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ushort> (0x663980) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0x663a40) 0 empty
-Class QTypeInfo<uint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uint> (0x663b00) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0x663bc0) 0 empty
-Class QTypeInfo<ulong>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ulong> (0x663c80) 0 empty
-Class QTypeInfo<qint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<qint64> (0x663d40) 0 empty
-Class QTypeInfo<quint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<quint64> (0x663e00) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0x663ec0) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0x663f80) 0 empty
Class QFlag
size=4 align=4
base size=4 base align=4
QFlag (0x699000) 0
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0x699600) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0x699680) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0x699700) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0x699780) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0x699800) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0x699880) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0x699900) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0x699980) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0x699a00) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0x699a80) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0x699b00) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0x699b80) 0
-Class QFlags<Qt::TextInteractionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::TextInteractionFlag> (0x699c00) 0
Class QInternal
size=1 align=1
@@ -206,10 +72,6 @@ Class QGenericReturnArgument
QGenericReturnArgument (0x699d40) 0
QGenericArgument (0x699d80) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0xabd040) 0
Class QMetaObject
size=16 align=4
@@ -226,10 +88,6 @@ Class QChar
base size=2 base align=2
QChar (0xabd180) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0xabd280) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -242,10 +100,6 @@ Class QAtomic
QAtomic (0xabd980) 0
QBasicAtomic (0xabd9c0) 0
-Class <anonymous union>
- size=128 align=4
- base size=128 base align=4
-<anonymous union> (0xabdc40) 0
Class __darwin_pthread_handler_rec
size=12 align=4
@@ -327,10 +181,6 @@ Class QByteRef
base size=8 base align=4
QByteRef (0xb58980) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0xb58d40) 0 empty
Class QString::Null
size=1 align=1
@@ -352,10 +202,6 @@ Class QLatin1String
base size=4 base align=4
QLatin1String (0xc8d4c0) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0xc8d900) 0
Class QCharRef
size=8 align=4
@@ -368,10 +214,6 @@ Class QConstString
QConstString (0xdd7540) 0
QString (0xdd7580) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0xdd7680) 0 empty
Vtable for std::exception
std::exception::_ZTVSt9exception: 5u entries
@@ -434,15 +276,7 @@ Class QListData
base size=4 base align=4
QListData (0xdd7f00) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0xe4d4c0) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0xe4d400) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -534,10 +368,6 @@ QIODevice (0xe4da40) 0
QObject (0xe4da80) 0
primary-for QIODevice (0xe4da40)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0xe4dcc0) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -557,270 +387,58 @@ Class QMetaType
base size=0 base align=1
QMetaType (0xf98280) 0 empty
-Class QMetaTypeId2<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QString> (0xf98480) 0 empty
-Class QMetaTypeId2<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<int> (0xf98540) 0 empty
-Class QMetaTypeId2<uint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<uint> (0xf98600) 0 empty
-Class QMetaTypeId2<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<bool> (0xf986c0) 0 empty
-Class QMetaTypeId2<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<double> (0xf98780) 0 empty
-Class QMetaTypeId2<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QByteArray> (0xf98840) 0 empty
-Class QMetaTypeId2<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QChar> (0xf98900) 0 empty
-Class QMetaTypeId2<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long int> (0xf989c0) 0 empty
-Class QMetaTypeId2<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short int> (0xf98a80) 0 empty
-Class QMetaTypeId2<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<char> (0xf98b40) 0 empty
-Class QMetaTypeId2<ulong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<ulong> (0xf98c00) 0 empty
-Class QMetaTypeId2<ushort>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<ushort> (0xf98cc0) 0 empty
-Class QMetaTypeId2<uchar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<uchar> (0xf98d80) 0 empty
-Class QMetaTypeId2<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<float> (0xf98e40) 0 empty
-Class QMetaTypeId2<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QObject*> (0xf98f00) 0 empty
-Class QMetaTypeId2<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QWidget*> (0xf98fc0) 0 empty
-Class QMetaTypeId2<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<void*> (0xfe2080) 0 empty
-Class QMetaTypeId2<qlonglong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<qlonglong> (0xfe2140) 0 empty
-Class QMetaTypeId2<qulonglong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<qulonglong> (0xfe2200) 0 empty
-Class QMetaTypeId2<QStringList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QStringList> (0xfe22c0) 0 empty
-Class QMetaTypeId2<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitArray> (0xfe2380) 0 empty
-Class QMetaTypeId2<QDate>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDate> (0xfe2440) 0 empty
-Class QMetaTypeId2<QTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTime> (0xfe2500) 0 empty
-Class QMetaTypeId2<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDateTime> (0xfe25c0) 0 empty
-Class QMetaTypeId2<QUrl>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QUrl> (0xfe2680) 0 empty
-Class QMetaTypeId2<QLocale>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLocale> (0xfe2740) 0 empty
-Class QMetaTypeId2<QRect>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRect> (0xfe2800) 0 empty
-Class QMetaTypeId2<QRectF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRectF> (0xfe28c0) 0 empty
-Class QMetaTypeId2<QSize>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSize> (0xfe2980) 0 empty
-Class QMetaTypeId2<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizeF> (0xfe2a40) 0 empty
-Class QMetaTypeId2<QLine>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLine> (0xfe2b00) 0 empty
-Class QMetaTypeId2<QLineF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLineF> (0xfe2bc0) 0 empty
-Class QMetaTypeId2<QPoint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPoint> (0xfe2c80) 0 empty
-Class QMetaTypeId2<QPointF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPointF> (0xfe2d40) 0 empty
-Class QMetaTypeId2<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegExp> (0xfe2e00) 0 empty
-Class QMetaTypeId2<QColorGroup>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColorGroup> (0xfe2ec0) 0 empty
-Class QMetaTypeId2<QFont>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QFont> (0xfe2f80) 0 empty
-Class QMetaTypeId2<QPixmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPixmap> (0xffc040) 0 empty
-Class QMetaTypeId2<QBrush>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBrush> (0xffc100) 0 empty
-Class QMetaTypeId2<QColor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColor> (0xffc1c0) 0 empty
-Class QMetaTypeId2<QPalette>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPalette> (0xffc280) 0 empty
-Class QMetaTypeId2<QIcon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QIcon> (0xffc340) 0 empty
-Class QMetaTypeId2<QImage>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QImage> (0xffc400) 0 empty
-Class QMetaTypeId2<QPolygon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPolygon> (0xffc4c0) 0 empty
-Class QMetaTypeId2<QRegion>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegion> (0xffc580) 0 empty
-Class QMetaTypeId2<QBitmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitmap> (0xffc640) 0 empty
-Class QMetaTypeId2<QCursor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QCursor> (0xffc700) 0 empty
-Class QMetaTypeId2<QSizePolicy>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizePolicy> (0xffc7c0) 0 empty
-Class QMetaTypeId2<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QKeySequence> (0xffc880) 0 empty
-Class QMetaTypeId2<QPen>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPen> (0xffc940) 0 empty
-Class QMetaTypeId2<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextLength> (0xffca00) 0 empty
-Class QMetaTypeId2<QTextFormat>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextFormat> (0xffcac0) 0 empty
-Class QMetaTypeId2<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMatrix> (0xffcb80) 0 empty
Class QMapData::Node
size=8 align=4
@@ -857,45 +475,17 @@ Class QVariant
base size=12 base align=4
QVariant (0x1093240) 0
-Class QMetaTypeId2<QVariantList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QVariantList> (0x1093780) 0 empty
-Class QMetaTypeId2<QVariantMap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QVariantMap> (0x1093840) 0 empty
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0x1093a40) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0x1093980) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0x1093c40) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0x1093b80) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0x1093e00) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0x1093f40) 0 empty
Vtable for QDBusAbstractAdaptor
QDBusAbstractAdaptor::_ZTV20QDBusAbstractAdaptor: 14u entries
@@ -938,10 +528,6 @@ Class QDBusObjectPath
QDBusObjectPath (0x117e040) 0
QString (0x117e080) 0
-Class QMetaTypeId<QDBusObjectPath>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QDBusObjectPath> (0x117e180) 0 empty
Class QDBusSignature
size=4 align=4
@@ -949,10 +535,6 @@ Class QDBusSignature
QDBusSignature (0x117e4c0) 0
QString (0x117e500) 0
-Class QMetaTypeId<QDBusSignature>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QDBusSignature> (0x117e600) 0 empty
Class QDBusVariant
size=12 align=4
@@ -960,20 +542,12 @@ Class QDBusVariant
QDBusVariant (0x117e940) 0
QVariant (0x117e980) 0
-Class QMetaTypeId<QDBusVariant>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QDBusVariant> (0x117ea80) 0 empty
Class QDBusConnection
size=4 align=4
base size=4 base align=4
QDBusConnection (0x117ed00) 0
-Class QFlags<QDBusConnection::RegisterOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDBusConnection::RegisterOption> (0x117edc0) 0
Vtable for QDBusAbstractInterface
QDBusAbstractInterface::_ZTV22QDBusAbstractInterface: 14u entries
@@ -1005,25 +579,13 @@ Class QRegExp
base size=4 base align=4
QRegExp (0x117ef80) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0x11fe180) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0x11fe200) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0x11fe3c0) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0x11fe300) 0
Class QStringList
size=4 align=4
@@ -1031,55 +593,19 @@ Class QStringList
QStringList (0x11fe480) 0
QList<QString> (0x11fe4c0) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0x11fe980) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0x11fea00) 0
Class QDBusArgument
size=4 align=4
base size=4 base align=4
QDBusArgument (0x11fed00) 0
-Class QMetaTypeId<QDBusArgument>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QDBusArgument> (0x11fed80) 0 empty
-Class QList<QVariant>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::const_iterator (0x12851c0) 0
-Class QList<QVariant>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::iterator (0x1285280) 0
-Class QMap<QString, QVariant>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::const_iterator (0x1285600) 0
-Class QMap<QString, QVariant>::iterator
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::iterator (0x12856c0) 0
-Class QDBusReply<QVariant>
- size=28 align=4
- base size=28 base align=4
-QDBusReply<QVariant> (0x1285880) 0
-Class QDBusReply<void>
- size=16 align=4
- base size=16 base align=4
-QDBusReply<void> (0x1285a40) 0
Vtable for QDBusConnectionInterface
QDBusConnectionInterface::_ZTV24QDBusConnectionInterface: 14u entries
@@ -1108,10 +634,6 @@ QDBusConnectionInterface (0x1285bc0) 0
QObject (0x1285c40) 0
primary-for QDBusAbstractInterface (0x1285c00)
-Class QMetaTypeId2<QDBusConnectionInterface::RegisterServiceReply>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDBusConnectionInterface::RegisterServiceReply> (0x1285f40) 0 empty
Vtable for QDBusInterface
QDBusInterface::_ZTV14QDBusInterface: 14u entries
@@ -1170,18 +692,6 @@ QDBusServer (0x12fa0c0) 0
QObject (0x12fa100) 0
primary-for QDBusServer (0x12fa0c0)
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0x1376f00) 0
-Class QMetaTypeId2<QDBusVariant>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDBusVariant> (0x1398880) 0 empty
-Class QList<QVariant>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::Node (0x1398c40) 0
diff --git a/tests/auto/bic/data/QtDBus.4.2.0.macx-gcc-ppc32.txt b/tests/auto/bic/data/QtDBus.4.2.0.macx-gcc-ppc32.txt
index f701024..301c5e1 100644
--- a/tests/auto/bic/data/QtDBus.4.2.0.macx-gcc-ppc32.txt
+++ b/tests/auto/bic/data/QtDBus.4.2.0.macx-gcc-ppc32.txt
@@ -1,34 +1,8 @@
-Class QUintForSize<4>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<4> (0x9834c0) 0 empty
-Class QUintForSize<8>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<8> (0x983540) 0 empty
-Class QUintForType<void*>
- size=1 align=1
- base size=1 base align=1
-QUintForType<void*> (0x983700) 0 empty
- QUintForSize<4> (0x983740) 0 empty
-Class QIntForSize<4>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<4> (0x983840) 0 empty
-Class QIntForSize<8>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<8> (0x9838c0) 0 empty
-Class QIntForType<void*>
- size=1 align=1
- base size=1 base align=1
-QIntForType<void*> (0x983a80) 0 empty
- QIntForSize<4> (0x983ac0) 0 empty
Class QSysInfo
size=1 align=1
@@ -50,145 +24,37 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0x983fc0) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0x9ae200) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0x9ae2c0) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0x9ae380) 0 empty
-Class QTypeInfo<uchar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uchar> (0x9ae440) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0x9ae500) 0 empty
-Class QTypeInfo<ushort>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ushort> (0x9ae5c0) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0x9ae680) 0 empty
-Class QTypeInfo<uint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uint> (0x9ae740) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0x9ae800) 0 empty
-Class QTypeInfo<ulong>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ulong> (0x9ae8c0) 0 empty
-Class QTypeInfo<qint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<qint64> (0x9ae980) 0 empty
-Class QTypeInfo<quint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<quint64> (0x9aea40) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0x9aeb00) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0x9aebc0) 0 empty
Class QFlag
size=4 align=4
base size=4 base align=4
QFlag (0x9aec40) 0
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0x9fe240) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0x9fe2c0) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0x9fe340) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0x9fe3c0) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0x9fe440) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0x9fe4c0) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0x9fe540) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0x9fe5c0) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0x9fe640) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0x9fe6c0) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0x9fe740) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0x9fe7c0) 0
-Class QFlags<Qt::TextInteractionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::TextInteractionFlag> (0x9fe840) 0
Class QInternal
size=1 align=1
@@ -206,10 +72,6 @@ Class QGenericReturnArgument
QGenericReturnArgument (0x9fe980) 0
QGenericArgument (0x9fe9c0) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0x9fec80) 0
Class QMetaObject
size=16 align=4
@@ -226,10 +88,6 @@ Class QChar
base size=2 base align=2
QChar (0x9fedc0) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0x9feec0) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -242,10 +100,6 @@ Class QAtomic
QAtomic (0xb2b4c0) 0
QBasicAtomic (0xb2b500) 0
-Class <anonymous union>
- size=128 align=8
- base size=128 base align=8
-<anonymous union> (0xb2b780) 0
Class __darwin_pthread_handler_rec
size=12 align=4
@@ -327,10 +181,6 @@ Class QByteRef
base size=8 base align=4
QByteRef (0xbd34c0) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0xbd3880) 0 empty
Class QString::Null
size=1 align=1
@@ -352,10 +202,6 @@ Class QLatin1String
base size=4 base align=4
QLatin1String (0xd12000) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0xd12440) 0
Class QCharRef
size=8 align=4
@@ -368,10 +214,6 @@ Class QConstString
QConstString (0xe1a080) 0
QString (0xe1a0c0) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0xe1a1c0) 0 empty
Vtable for std::exception
std::exception::_ZTVSt9exception: 5u entries
@@ -434,15 +276,7 @@ Class QListData
base size=4 base align=4
QListData (0xe1aa40) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0xe1ad00) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0xe1a4c0) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -534,10 +368,6 @@ QIODevice (0xf3e540) 0
QObject (0xf3e580) 0
primary-for QIODevice (0xf3e540)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0xf3e7c0) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -557,270 +387,58 @@ Class QMetaType
base size=0 base align=1
QMetaType (0xf3eec0) 0 empty
-Class QMetaTypeId2<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QString> (0xf3eb80) 0 empty
-Class QMetaTypeId2<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<int> (0x1003080) 0 empty
-Class QMetaTypeId2<uint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<uint> (0x1003140) 0 empty
-Class QMetaTypeId2<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<bool> (0x1003200) 0 empty
-Class QMetaTypeId2<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<double> (0x10032c0) 0 empty
-Class QMetaTypeId2<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QByteArray> (0x1003380) 0 empty
-Class QMetaTypeId2<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QChar> (0x1003440) 0 empty
-Class QMetaTypeId2<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long int> (0x1003500) 0 empty
-Class QMetaTypeId2<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short int> (0x10035c0) 0 empty
-Class QMetaTypeId2<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<char> (0x1003680) 0 empty
-Class QMetaTypeId2<ulong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<ulong> (0x1003740) 0 empty
-Class QMetaTypeId2<ushort>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<ushort> (0x1003800) 0 empty
-Class QMetaTypeId2<uchar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<uchar> (0x10038c0) 0 empty
-Class QMetaTypeId2<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<float> (0x1003980) 0 empty
-Class QMetaTypeId2<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QObject*> (0x1003a40) 0 empty
-Class QMetaTypeId2<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QWidget*> (0x1003b00) 0 empty
-Class QMetaTypeId2<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<void*> (0x1003bc0) 0 empty
-Class QMetaTypeId2<qlonglong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<qlonglong> (0x1003c80) 0 empty
-Class QMetaTypeId2<qulonglong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<qulonglong> (0x1003d40) 0 empty
-Class QMetaTypeId2<QStringList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QStringList> (0x1003e00) 0 empty
-Class QMetaTypeId2<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitArray> (0x1003ec0) 0 empty
-Class QMetaTypeId2<QDate>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDate> (0x1003f80) 0 empty
-Class QMetaTypeId2<QTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTime> (0x101e040) 0 empty
-Class QMetaTypeId2<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDateTime> (0x101e100) 0 empty
-Class QMetaTypeId2<QUrl>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QUrl> (0x101e1c0) 0 empty
-Class QMetaTypeId2<QLocale>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLocale> (0x101e280) 0 empty
-Class QMetaTypeId2<QRect>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRect> (0x101e340) 0 empty
-Class QMetaTypeId2<QRectF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRectF> (0x101e400) 0 empty
-Class QMetaTypeId2<QSize>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSize> (0x101e4c0) 0 empty
-Class QMetaTypeId2<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizeF> (0x101e580) 0 empty
-Class QMetaTypeId2<QLine>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLine> (0x101e640) 0 empty
-Class QMetaTypeId2<QLineF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLineF> (0x101e700) 0 empty
-Class QMetaTypeId2<QPoint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPoint> (0x101e7c0) 0 empty
-Class QMetaTypeId2<QPointF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPointF> (0x101e880) 0 empty
-Class QMetaTypeId2<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegExp> (0x101e940) 0 empty
-Class QMetaTypeId2<QColorGroup>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColorGroup> (0x101ea00) 0 empty
-Class QMetaTypeId2<QFont>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QFont> (0x101eac0) 0 empty
-Class QMetaTypeId2<QPixmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPixmap> (0x101eb80) 0 empty
-Class QMetaTypeId2<QBrush>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBrush> (0x101ec40) 0 empty
-Class QMetaTypeId2<QColor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColor> (0x101ed00) 0 empty
-Class QMetaTypeId2<QPalette>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPalette> (0x101edc0) 0 empty
-Class QMetaTypeId2<QIcon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QIcon> (0x101ee80) 0 empty
-Class QMetaTypeId2<QImage>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QImage> (0x101ef40) 0 empty
-Class QMetaTypeId2<QPolygon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPolygon> (0x1039000) 0 empty
-Class QMetaTypeId2<QRegion>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegion> (0x10390c0) 0 empty
-Class QMetaTypeId2<QBitmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitmap> (0x1039180) 0 empty
-Class QMetaTypeId2<QCursor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QCursor> (0x1039240) 0 empty
-Class QMetaTypeId2<QSizePolicy>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizePolicy> (0x1039300) 0 empty
-Class QMetaTypeId2<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QKeySequence> (0x10393c0) 0 empty
-Class QMetaTypeId2<QPen>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPen> (0x1039480) 0 empty
-Class QMetaTypeId2<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextLength> (0x1039540) 0 empty
-Class QMetaTypeId2<QTextFormat>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextFormat> (0x1039600) 0 empty
-Class QMetaTypeId2<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMatrix> (0x10396c0) 0 empty
Class QMapData::Node
size=8 align=4
@@ -857,45 +475,17 @@ Class QVariant
base size=16 base align=4
QVariant (0x1039dc0) 0
-Class QMetaTypeId2<QVariantList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QVariantList> (0x112d200) 0 empty
-Class QMetaTypeId2<QVariantMap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QVariantMap> (0x112d2c0) 0 empty
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0x112d4c0) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0x112d400) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0x112d6c0) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0x112d600) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0x112d880) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0x112d9c0) 0 empty
Vtable for QDBusAbstractAdaptor
QDBusAbstractAdaptor::_ZTV20QDBusAbstractAdaptor: 14u entries
@@ -938,10 +528,6 @@ Class QDBusObjectPath
QDBusObjectPath (0x112dc40) 0
QString (0x112dc80) 0
-Class QMetaTypeId<QDBusObjectPath>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QDBusObjectPath> (0x112dd80) 0 empty
Class QDBusSignature
size=4 align=4
@@ -949,10 +535,6 @@ Class QDBusSignature
QDBusSignature (0x11d4000) 0
QString (0x11d4040) 0
-Class QMetaTypeId<QDBusSignature>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QDBusSignature> (0x11d4140) 0 empty
Class QDBusVariant
size=16 align=4
@@ -960,20 +542,12 @@ Class QDBusVariant
QDBusVariant (0x11d4480) 0
QVariant (0x11d44c0) 0
-Class QMetaTypeId<QDBusVariant>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QDBusVariant> (0x11d45c0) 0 empty
Class QDBusConnection
size=4 align=4
base size=4 base align=4
QDBusConnection (0x11d4840) 0
-Class QFlags<QDBusConnection::RegisterOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDBusConnection::RegisterOption> (0x11d4900) 0
Vtable for QDBusAbstractInterface
QDBusAbstractInterface::_ZTV22QDBusAbstractInterface: 14u entries
@@ -1005,25 +579,13 @@ Class QRegExp
base size=4 base align=4
QRegExp (0x11d4ac0) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0x11d4d00) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0x11d4d80) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0x11d4f40) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0x11d4e80) 0
Class QStringList
size=4 align=4
@@ -1031,55 +593,19 @@ Class QStringList
QStringList (0x11d4a40) 0
QList<QString> (0x1259000) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0x12594c0) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0x1259540) 0
Class QDBusArgument
size=4 align=4
base size=4 base align=4
QDBusArgument (0x1259840) 0
-Class QMetaTypeId<QDBusArgument>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QDBusArgument> (0x12598c0) 0 empty
-Class QList<QVariant>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::const_iterator (0x1259d00) 0
-Class QList<QVariant>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::iterator (0x1259dc0) 0
-Class QMap<QString, QVariant>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::const_iterator (0x12e20c0) 0
-Class QMap<QString, QVariant>::iterator
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::iterator (0x12e2180) 0
-Class QDBusReply<QVariant>
- size=32 align=4
- base size=32 base align=4
-QDBusReply<QVariant> (0x12e2340) 0
-Class QDBusReply<void>
- size=16 align=4
- base size=16 base align=4
-QDBusReply<void> (0x12e2500) 0
Vtable for QDBusConnectionInterface
QDBusConnectionInterface::_ZTV24QDBusConnectionInterface: 14u entries
@@ -1108,10 +634,6 @@ QDBusConnectionInterface (0x12e2680) 0
QObject (0x12e2700) 0
primary-for QDBusAbstractInterface (0x12e26c0)
-Class QMetaTypeId2<QDBusConnectionInterface::RegisterServiceReply>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDBusConnectionInterface::RegisterServiceReply> (0x12e2a00) 0 empty
Vtable for QDBusInterface
QDBusInterface::_ZTV14QDBusInterface: 14u entries
@@ -1170,18 +692,6 @@ QDBusServer (0x12e2c80) 0
QObject (0x12e2cc0) 0
primary-for QDBusServer (0x12e2c80)
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0x13ad9c0) 0
-Class QMetaTypeId2<QDBusVariant>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDBusVariant> (0x13d83c0) 0 empty
-Class QList<QVariant>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::Node (0x13d8780) 0
diff --git a/tests/auto/bic/data/QtDBus.4.2.0.win32-gcc-ia32.txt b/tests/auto/bic/data/QtDBus.4.2.0.win32-gcc-ia32.txt
index 3af9455..9cc7880 100644
--- a/tests/auto/bic/data/QtDBus.4.2.0.win32-gcc-ia32.txt
+++ b/tests/auto/bic/data/QtDBus.4.2.0.win32-gcc-ia32.txt
@@ -1,34 +1,8 @@
-Class QUintForSize<4>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<4> (0xa9db80) 0 empty
-Class QUintForSize<8>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<8> (0xa9dc80) 0 empty
-Class QUintForType<void*>
- size=1 align=1
- base size=1 base align=1
-QUintForType<void*> (0xa9df80) 0 empty
- QUintForSize<4> (0xac2080) 0 empty
-Class QIntForSize<4>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<4> (0xac2200) 0 empty
-Class QIntForSize<8>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<8> (0xac22c0) 0 empty
-Class QIntForType<void*>
- size=1 align=1
- base size=1 base align=1
-QIntForType<void*> (0xac2540) 0 empty
- QIntForSize<4> (0xac2600) 0 empty
Class QSysInfo
size=1 align=1
@@ -50,150 +24,38 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0xaf7400) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0xaf7c00) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0xaf7d80) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0xaf7f00) 0 empty
-Class QTypeInfo<uchar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uchar> (0xb0f080) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0xb0f200) 0 empty
-Class QTypeInfo<ushort>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ushort> (0xb0f380) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0xb0f500) 0 empty
-Class QTypeInfo<uint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uint> (0xb0f680) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0xb0f800) 0 empty
-Class QTypeInfo<ulong>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ulong> (0xb0f980) 0 empty
-Class QTypeInfo<qint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<qint64> (0xb0fb00) 0 empty
-Class QTypeInfo<quint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<quint64> (0xb0fc80) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0xb0fe00) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0xb0ff80) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0xb36100) 0 empty
Class QFlag
size=4 align=4
base size=4 base align=4
QFlag (0xb36980) 0
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0xb65f40) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0xb6d240) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0xb65ac0) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0xb74fc0) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0xb6d900) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0xb7fa40) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0xbb5480) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0xbb5780) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0xb7b200) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0xbc2680) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0xbc2ec0) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0xbc9240) 0
-Class QFlags<Qt::TextInteractionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::TextInteractionFlag> (0xbc9640) 0
Class QInternal
size=1 align=1
@@ -211,10 +73,6 @@ Class QGenericReturnArgument
QGenericReturnArgument (0xccd340) 0
QGenericArgument (0xccd380) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0xcdfb40) 0
Class QMetaObject
size=16 align=4
@@ -231,10 +89,6 @@ Class QChar
base size=2 base align=2
QChar (0xd1c040) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0xd4a440) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -262,10 +116,6 @@ Class QByteRef
base size=8 base align=4
QByteRef (0xdf7b80) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0xf137c0) 0 empty
Class QString::Null
size=1 align=1
@@ -287,10 +137,6 @@ Class QLatin1String
base size=4 base align=4
QLatin1String (0xf13d40) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0xf3c280) 0
Class QCharRef
size=8 align=4
@@ -303,10 +149,6 @@ Class QConstString
QConstString (0x1260840) 0
QString (0x1260880) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0x1260bc0) 0 empty
Vtable for std::exception
std::exception::_ZTVSt9exception: 5u entries
@@ -369,15 +211,7 @@ Class QListData
base size=4 base align=4
QListData (0x130fc00) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0x1416c80) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0x1416880) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -469,10 +303,6 @@ QIODevice (0x1483580) 0
QObject (0x14835c0) 0
primary-for QIODevice (0x1483580)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0x14838c0) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -492,270 +322,58 @@ Class QMetaType
base size=0 base align=1
QMetaType (0x151ffc0) 0 empty
-Class QMetaTypeId2<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QString> (0x15616c0) 0 empty
-Class QMetaTypeId2<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<int> (0x1561840) 0 empty
-Class QMetaTypeId2<uint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<uint> (0x15619c0) 0 empty
-Class QMetaTypeId2<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<bool> (0x1561b40) 0 empty
-Class QMetaTypeId2<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<double> (0x1561cc0) 0 empty
-Class QMetaTypeId2<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QByteArray> (0x1561e40) 0 empty
-Class QMetaTypeId2<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QChar> (0x1561fc0) 0 empty
-Class QMetaTypeId2<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long int> (0x1575140) 0 empty
-Class QMetaTypeId2<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short int> (0x15752c0) 0 empty
-Class QMetaTypeId2<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<char> (0x1575440) 0 empty
-Class QMetaTypeId2<ulong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<ulong> (0x15755c0) 0 empty
-Class QMetaTypeId2<ushort>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<ushort> (0x1575740) 0 empty
-Class QMetaTypeId2<uchar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<uchar> (0x15758c0) 0 empty
-Class QMetaTypeId2<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<float> (0x1575a40) 0 empty
-Class QMetaTypeId2<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QObject*> (0x1575bc0) 0 empty
-Class QMetaTypeId2<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QWidget*> (0x1575d40) 0 empty
-Class QMetaTypeId2<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<void*> (0x1575ec0) 0 empty
-Class QMetaTypeId2<qlonglong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<qlonglong> (0x1594040) 0 empty
-Class QMetaTypeId2<qulonglong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<qulonglong> (0x15941c0) 0 empty
-Class QMetaTypeId2<QStringList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QStringList> (0x1594340) 0 empty
-Class QMetaTypeId2<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitArray> (0x15944c0) 0 empty
-Class QMetaTypeId2<QDate>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDate> (0x1594640) 0 empty
-Class QMetaTypeId2<QTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTime> (0x15947c0) 0 empty
-Class QMetaTypeId2<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDateTime> (0x1594940) 0 empty
-Class QMetaTypeId2<QUrl>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QUrl> (0x1594ac0) 0 empty
-Class QMetaTypeId2<QLocale>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLocale> (0x1594c40) 0 empty
-Class QMetaTypeId2<QRect>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRect> (0x1594dc0) 0 empty
-Class QMetaTypeId2<QRectF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRectF> (0x1594f40) 0 empty
-Class QMetaTypeId2<QSize>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSize> (0x15af0c0) 0 empty
-Class QMetaTypeId2<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizeF> (0x15af240) 0 empty
-Class QMetaTypeId2<QLine>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLine> (0x15af3c0) 0 empty
-Class QMetaTypeId2<QLineF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLineF> (0x15af540) 0 empty
-Class QMetaTypeId2<QPoint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPoint> (0x15af6c0) 0 empty
-Class QMetaTypeId2<QPointF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPointF> (0x15af840) 0 empty
-Class QMetaTypeId2<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegExp> (0x15af9c0) 0 empty
-Class QMetaTypeId2<QColorGroup>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColorGroup> (0x15afb40) 0 empty
-Class QMetaTypeId2<QFont>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QFont> (0x15afcc0) 0 empty
-Class QMetaTypeId2<QPixmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPixmap> (0x15afe40) 0 empty
-Class QMetaTypeId2<QBrush>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBrush> (0x15affc0) 0 empty
-Class QMetaTypeId2<QColor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColor> (0x15cf140) 0 empty
-Class QMetaTypeId2<QPalette>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPalette> (0x15cf2c0) 0 empty
-Class QMetaTypeId2<QIcon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QIcon> (0x15cf440) 0 empty
-Class QMetaTypeId2<QImage>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QImage> (0x15cf5c0) 0 empty
-Class QMetaTypeId2<QPolygon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPolygon> (0x15cf740) 0 empty
-Class QMetaTypeId2<QRegion>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegion> (0x15cf8c0) 0 empty
-Class QMetaTypeId2<QBitmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitmap> (0x15cfa40) 0 empty
-Class QMetaTypeId2<QCursor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QCursor> (0x15cfbc0) 0 empty
-Class QMetaTypeId2<QSizePolicy>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizePolicy> (0x15cfd40) 0 empty
-Class QMetaTypeId2<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QKeySequence> (0x15cfec0) 0 empty
-Class QMetaTypeId2<QPen>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPen> (0x15ee040) 0 empty
-Class QMetaTypeId2<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextLength> (0x15ee1c0) 0 empty
-Class QMetaTypeId2<QTextFormat>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextFormat> (0x15ee340) 0 empty
-Class QMetaTypeId2<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMatrix> (0x15ee4c0) 0 empty
Class QMapData::Node
size=8 align=4
@@ -792,45 +410,17 @@ Class QVariant
base size=16 base align=8
QVariant (0x14165c0) 0
-Class QMetaTypeId2<QVariantList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QVariantList> (0x178c600) 0 empty
-Class QMetaTypeId2<QVariantMap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QVariantMap> (0x178c7c0) 0 empty
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0x178cc80) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0x1733bc0) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0x178cf80) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0x1733c40) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0x1705d40) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0x17fa980) 0 empty
Vtable for QDBusAbstractAdaptor
QDBusAbstractAdaptor::_ZTV20QDBusAbstractAdaptor: 14u entries
@@ -873,10 +463,6 @@ Class QDBusObjectPath
QDBusObjectPath (0x1832c00) 0
QString (0x1832c40) 0
-Class QMetaTypeId<QDBusObjectPath>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QDBusObjectPath> (0x1832f80) 0 empty
Class QDBusSignature
size=4 align=4
@@ -884,10 +470,6 @@ Class QDBusSignature
QDBusSignature (0x185f9c0) 0
QString (0x185fa00) 0
-Class QMetaTypeId<QDBusSignature>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QDBusSignature> (0x185fd00) 0 empty
Class QDBusVariant
size=16 align=8
@@ -895,20 +477,12 @@ Class QDBusVariant
QDBusVariant (0x18b6700) 0
QVariant (0x18b6740) 0
-Class QMetaTypeId<QDBusVariant>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QDBusVariant> (0x18b6ac0) 0 empty
Class QDBusConnection
size=4 align=4
base size=4 base align=4
QDBusConnection (0x18f7540) 0
-Class QFlags<QDBusConnection::RegisterOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDBusConnection::RegisterOption> (0x18f7b40) 0
Vtable for QDBusAbstractInterface
QDBusAbstractInterface::_ZTV22QDBusAbstractInterface: 14u entries
@@ -940,25 +514,13 @@ Class QRegExp
base size=4 base align=4
QRegExp (0xf13bc0) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0x19669c0) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0x1966d00) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0x19821c0) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0x17c2100) 0
Class QStringList
size=4 align=4
@@ -966,55 +528,19 @@ Class QStringList
QStringList (0xf13c40) 0
QList<QString> (0x1982440) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0x1982300) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0x19822c0) 0
Class QDBusArgument
size=4 align=4
base size=4 base align=4
QDBusArgument (0x1a12280) 0
-Class QMetaTypeId<QDBusArgument>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QDBusArgument> (0x1a12600) 0 empty
-Class QList<QVariant>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::const_iterator (0x178cd80) 0
-Class QList<QVariant>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::iterator (0x178cdc0) 0
-Class QMap<QString, QVariant>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::const_iterator (0x17c2180) 0
-Class QMap<QString, QVariant>::iterator
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::iterator (0x17c21c0) 0
-Class QDBusReply<QVariant>
- size=32 align=8
- base size=32 base align=8
-QDBusReply<QVariant> (0x1a8c5c0) 0
-Class QDBusReply<void>
- size=16 align=4
- base size=16 base align=4
-QDBusReply<void> (0x1a8c9c0) 0
Vtable for QDBusConnectionInterface
QDBusConnectionInterface::_ZTV24QDBusConnectionInterface: 14u entries
@@ -1043,10 +569,6 @@ QDBusConnectionInterface (0x18f74c0) 0
QObject (0x1aae3c0) 0
primary-for QDBusAbstractInterface (0x1aae380)
-Class QMetaTypeId2<QDBusConnectionInterface::RegisterServiceReply>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDBusConnectionInterface::RegisterServiceReply> (0x1ac41c0) 0 empty
Vtable for QDBusInterface
QDBusInterface::_ZTV14QDBusInterface: 14u entries
@@ -1105,18 +627,6 @@ QDBusServer (0x1ac4e00) 0
QObject (0x1ac4e40) 0
primary-for QDBusServer (0x1ac4e00)
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0x1982180) 0
-Class QMetaTypeId2<QDBusVariant>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDBusVariant> (0x1c215c0) 0 empty
-Class QList<QVariant>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::Node (0x178cc40) 0
diff --git a/tests/auto/bic/data/QtDBus.4.3.0.linux-gcc-ia32.txt b/tests/auto/bic/data/QtDBus.4.3.0.linux-gcc-ia32.txt
index 105c2ee..d79f854 100644
--- a/tests/auto/bic/data/QtDBus.4.3.0.linux-gcc-ia32.txt
+++ b/tests/auto/bic/data/QtDBus.4.3.0.linux-gcc-ia32.txt
@@ -1,34 +1,8 @@
-Class QUintForSize<4>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<4> (0xb7f33880) 0 empty
-Class QUintForSize<8>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<8> (0xb7f338c0) 0 empty
-Class QUintForType<void*>
- size=1 align=1
- base size=1 base align=1
-QUintForType<void*> (0xb7f33980) 0 empty
- QUintForSize<4> (0xb7f339c0) 0 empty
-Class QIntForSize<4>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<4> (0xb7f33a40) 0 empty
-Class QIntForSize<8>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<8> (0xb7f33a80) 0 empty
-Class QIntForType<void*>
- size=1 align=1
- base size=1 base align=1
-QIntForType<void*> (0xb7f33b40) 0 empty
- QIntForSize<4> (0xb7f33b80) 0 empty
Class QSysInfo
size=1 align=1
@@ -50,80 +24,20 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0xb7f33e40) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0xb7f33f00) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0xb7f33f40) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0xb7f33f80) 0 empty
-Class QTypeInfo<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned char> (0xb7f33fc0) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0xb77b2000) 0 empty
-Class QTypeInfo<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short unsigned int> (0xb77b2040) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0xb77b2080) 0 empty
-Class QTypeInfo<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned int> (0xb77b20c0) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0xb77b2100) 0 empty
-Class QTypeInfo<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long unsigned int> (0xb77b2140) 0 empty
-Class QTypeInfo<long long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long int> (0xb77b2180) 0 empty
-Class QTypeInfo<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long unsigned int> (0xb77b21c0) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0xb77b2200) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0xb77b2240) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0xb77b2280) 0 empty
Class QFlag
size=4 align=4
@@ -141,70 +55,18 @@ Class QAtomic
QAtomic (0xb77b2440) 0
QBasicAtomic (0xb77b2480) 0
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0xb77b2580) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0xb77b25c0) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0xb77b2600) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0xb77b2640) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0xb77b2680) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0xb77b26c0) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0xb77b2700) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0xb77b2740) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0xb77b2780) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0xb77b27c0) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0xb77b2800) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0xb77b2840) 0
-Class QFlags<Qt::TextInteractionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::TextInteractionFlag> (0xb77b2880) 0
Class QInternal
size=1 align=1
@@ -222,10 +84,6 @@ Class QGenericReturnArgument
QGenericReturnArgument (0xb77b2980) 0
QGenericArgument (0xb77b29c0) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0xb77b2b80) 0
Class QMetaObject
size=16 align=4
@@ -242,10 +100,6 @@ Class QChar
base size=2 base align=2
QChar (0xb77b2c40) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0xb77b2cc0) 0 empty
Class __locale_struct
size=116 align=4
@@ -267,10 +121,6 @@ Class QByteRef
base size=8 base align=4
QByteRef (0xb77b2e00) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0xb77b2e40) 0 empty
Class QString::Null
size=1 align=1
@@ -287,10 +137,6 @@ Class QString
base size=4 base align=4
QString (0xb77b2e80) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0xb75f6000) 0
Class QLatin1String
size=4 align=4
@@ -308,10 +154,6 @@ Class QConstString
QConstString (0xb75f6100) 0
QString (0xb75f6140) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0xb75f6180) 0 empty
Class QStringRef
size=12 align=4
@@ -379,15 +221,7 @@ Class QListData
base size=4 base align=4
QListData (0xb75f64c0) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0xb75f6840) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0xb75f67c0) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -479,10 +313,6 @@ QIODevice (0xb75f6a80) 0
QObject (0xb75f6ac0) 0
primary-for QIODevice (0xb75f6a80)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0xb75f6b80) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -502,275 +332,59 @@ Class QMetaType
base size=0 base align=1
QMetaType (0xb75f6c40) 0 empty
-Class QMetaTypeId2<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QString> (0xb75f6d00) 0 empty
-Class QMetaTypeId2<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<int> (0xb75f6d40) 0 empty
-Class QMetaTypeId2<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned int> (0xb75f6d80) 0 empty
-Class QMetaTypeId2<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<bool> (0xb75f6dc0) 0 empty
-Class QMetaTypeId2<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<double> (0xb75f6e00) 0 empty
-Class QMetaTypeId2<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QByteArray> (0xb75f6e40) 0 empty
-Class QMetaTypeId2<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QChar> (0xb75f6e80) 0 empty
-Class QMetaTypeId2<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long int> (0xb75f6ec0) 0 empty
-Class QMetaTypeId2<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short int> (0xb75f6f00) 0 empty
-Class QMetaTypeId2<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<char> (0xb75f6f40) 0 empty
-Class QMetaTypeId2<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long unsigned int> (0xb75f6f80) 0 empty
-Class QMetaTypeId2<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short unsigned int> (0xb75f6fc0) 0 empty
-Class QMetaTypeId2<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned char> (0xb75f62c0) 0 empty
-Class QMetaTypeId2<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<float> (0xb75f6380) 0 empty
-Class QMetaTypeId2<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QObject*> (0xb75f6440) 0 empty
-Class QMetaTypeId2<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QWidget*> (0xb75f6680) 0 empty
-Class QMetaTypeId2<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<void*> (0xb75f68c0) 0 empty
-Class QMetaTypeId2<long long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long int> (0xb75f6940) 0 empty
-Class QMetaTypeId2<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long unsigned int> (0xb75f6b00) 0 empty
-Class QMetaTypeId2<QStringList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QStringList> (0xb75f6c00) 0 empty
-Class QMetaTypeId2<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitArray> (0xb732c000) 0 empty
-Class QMetaTypeId2<QDate>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDate> (0xb732c040) 0 empty
-Class QMetaTypeId2<QTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTime> (0xb732c080) 0 empty
-Class QMetaTypeId2<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDateTime> (0xb732c0c0) 0 empty
-Class QMetaTypeId2<QUrl>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QUrl> (0xb732c100) 0 empty
-Class QMetaTypeId2<QLocale>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLocale> (0xb732c140) 0 empty
-Class QMetaTypeId2<QRect>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRect> (0xb732c180) 0 empty
-Class QMetaTypeId2<QRectF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRectF> (0xb732c1c0) 0 empty
-Class QMetaTypeId2<QSize>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSize> (0xb732c200) 0 empty
-Class QMetaTypeId2<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizeF> (0xb732c240) 0 empty
-Class QMetaTypeId2<QLine>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLine> (0xb732c280) 0 empty
-Class QMetaTypeId2<QLineF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLineF> (0xb732c2c0) 0 empty
-Class QMetaTypeId2<QPoint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPoint> (0xb732c300) 0 empty
-Class QMetaTypeId2<QPointF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPointF> (0xb732c340) 0 empty
-Class QMetaTypeId2<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegExp> (0xb732c380) 0 empty
-Class QMetaTypeId2<QColorGroup>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColorGroup> (0xb732c3c0) 0 empty
-Class QMetaTypeId2<QFont>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QFont> (0xb732c400) 0 empty
-Class QMetaTypeId2<QPixmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPixmap> (0xb732c440) 0 empty
-Class QMetaTypeId2<QBrush>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBrush> (0xb732c480) 0 empty
-Class QMetaTypeId2<QColor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColor> (0xb732c4c0) 0 empty
-Class QMetaTypeId2<QPalette>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPalette> (0xb732c500) 0 empty
-Class QMetaTypeId2<QIcon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QIcon> (0xb732c540) 0 empty
-Class QMetaTypeId2<QImage>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QImage> (0xb732c580) 0 empty
-Class QMetaTypeId2<QPolygon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPolygon> (0xb732c5c0) 0 empty
-Class QMetaTypeId2<QRegion>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegion> (0xb732c600) 0 empty
-Class QMetaTypeId2<QBitmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitmap> (0xb732c640) 0 empty
-Class QMetaTypeId2<QCursor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QCursor> (0xb732c680) 0 empty
-Class QMetaTypeId2<QSizePolicy>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizePolicy> (0xb732c6c0) 0 empty
-Class QMetaTypeId2<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QKeySequence> (0xb732c700) 0 empty
-Class QMetaTypeId2<QPen>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPen> (0xb732c740) 0 empty
-Class QMetaTypeId2<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextLength> (0xb732c780) 0 empty
-Class QMetaTypeId2<QTextFormat>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextFormat> (0xb732c7c0) 0 empty
-Class QMetaTypeId2<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMatrix> (0xb732c800) 0 empty
-Class QMetaTypeId2<QTransform>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTransform> (0xb732c840) 0 empty
Class QMapData::Node
size=8 align=4
@@ -807,55 +421,23 @@ Class QVariant
base size=12 base align=4
QVariant (0xb732cd00) 0
-Class QMetaTypeId2<QList<QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QList<QVariant> > (0xb732cf80) 0 empty
-Class QMetaTypeId2<QMap<QString, QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMap<QString, QVariant> > (0xb732cfc0) 0 empty
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0xb732cec0) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0xb732ce40) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0xb723e040) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0xb732cf40) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0xb723e0c0) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0xb723e140) 0 empty
Class QDBusConnection
size=4 align=4
base size=4 base align=4
QDBusConnection (0xb723e180) 0
-Class QFlags<QDBusConnection::RegisterOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDBusConnection::RegisterOption> (0xb723e200) 0
Class QDBusError
size=16 align=4
@@ -873,15 +455,7 @@ Class QDBusObjectPath
QDBusObjectPath (0xb723e2c0) 0
QString (0xb723e300) 0
-Class QMetaTypeId<QDBusObjectPath>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QDBusObjectPath> (0xb723e340) 0 empty
-Class QMetaTypeId<QList<QDBusObjectPath> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QList<QDBusObjectPath> > (0xb723e400) 0 empty
Class QDBusSignature
size=4 align=4
@@ -889,15 +463,7 @@ Class QDBusSignature
QDBusSignature (0xb723e4c0) 0
QString (0xb723e500) 0
-Class QMetaTypeId<QDBusSignature>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QDBusSignature> (0xb723e540) 0 empty
-Class QMetaTypeId<QList<QDBusSignature> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QList<QDBusSignature> > (0xb723e600) 0 empty
Class QDBusVariant
size=12 align=4
@@ -905,20 +471,8 @@ Class QDBusVariant
QDBusVariant (0xb723e6c0) 0
QVariant (0xb723e700) 0
-Class QMetaTypeId<QDBusVariant>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QDBusVariant> (0xb723e740) 0 empty
-Class QDBusReply<QVariant>
- size=28 align=4
- base size=28 base align=4
-QDBusReply<QVariant> (0xb723e840) 0
-Class QDBusReply<void>
- size=16 align=4
- base size=16 base align=4
-QDBusReply<void> (0xb723e980) 0
Vtable for QDBusServer
QDBusServer::_ZTV11QDBusServer: 14u entries
@@ -975,25 +529,13 @@ Class QRegExp
base size=4 base align=4
QRegExp (0xb723eb80) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0xb723ebc0) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0xb723ec00) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0xb723ecc0) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0xb723ec40) 0
Class QStringList
size=4 align=4
@@ -1001,15 +543,7 @@ Class QStringList
QStringList (0xb723ed00) 0
QList<QString> (0xb723ed40) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0xb723edc0) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0xb723ee00) 0
Vtable for QDBusConnectionInterface
QDBusConnectionInterface::_ZTV24QDBusConnectionInterface: 14u entries
@@ -1038,10 +572,6 @@ QDBusConnectionInterface (0xb723eec0) 0
QObject (0xb723ef40) 0
primary-for QDBusAbstractInterface (0xb723ef00)
-Class QMetaTypeId2<QDBusConnectionInterface::RegisterServiceReply>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDBusConnectionInterface::RegisterServiceReply> (0xb723e900) 0 empty
Vtable for QDBusInterface
QDBusInterface::_ZTV14QDBusInterface: 14u entries
@@ -1075,30 +605,10 @@ Class QDBusArgument
base size=4 base align=4
QDBusArgument (0xb723efc0) 0
-Class QMetaTypeId<QDBusArgument>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QDBusArgument> (0xb716d000) 0 empty
-Class QList<QVariant>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::const_iterator (0xb716d1c0) 0
-Class QList<QVariant>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::iterator (0xb716d240) 0
-Class QMap<QString, QVariant>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::const_iterator (0xb716d340) 0
-Class QMap<QString, QVariant>::iterator
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::iterator (0xb716d3c0) 0
Vtable for QDBusAbstractAdaptor
QDBusAbstractAdaptor::_ZTV20QDBusAbstractAdaptor: 14u entries
@@ -1135,58 +645,14 @@ Class QDBusMetaType
base size=0 base align=1
QDBusMetaType (0xb716d500) 0 empty
-Class QMetaTypeId2<QDBusVariant>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDBusVariant> (0xb716d7c0) 0 empty
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0xb716d840) 0
-Class QList<QVariant>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::Node (0xb716d940) 0
-Class QList<QDBusObjectPath>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QDBusObjectPath>::<anonymous union> (0xb716db40) 0
-Class QList<QDBusObjectPath>
- size=4 align=4
- base size=4 base align=4
-QList<QDBusObjectPath> (0xb716dac0) 0
-Class QList<QDBusSignature>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QDBusSignature>::<anonymous union> (0xb716dcc0) 0
-Class QList<QDBusSignature>
- size=4 align=4
- base size=4 base align=4
-QList<QDBusSignature> (0xb716dc40) 0
-Class QTypeInfo<QDBusObjectPath>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDBusObjectPath> (0xb716dd80) 0 empty
-Class QList<QDBusObjectPath>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QDBusObjectPath>::Node (0xb716de00) 0
-Class QTypeInfo<QDBusSignature>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDBusSignature> (0xb716de80) 0 empty
-Class QList<QDBusSignature>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QDBusSignature>::Node (0xb716df00) 0
diff --git a/tests/auto/bic/data/QtDBus.4.3.1.linux-gcc-ia32.txt b/tests/auto/bic/data/QtDBus.4.3.1.linux-gcc-ia32.txt
index f9c6689..9b90826 100644
--- a/tests/auto/bic/data/QtDBus.4.3.1.linux-gcc-ia32.txt
+++ b/tests/auto/bic/data/QtDBus.4.3.1.linux-gcc-ia32.txt
@@ -1,34 +1,8 @@
-Class QUintForSize<4>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<4> (0xb7fd9880) 0 empty
-Class QUintForSize<8>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<8> (0xb7fd98c0) 0 empty
-Class QUintForType<void*>
- size=1 align=1
- base size=1 base align=1
-QUintForType<void*> (0xb7fd9980) 0 empty
- QUintForSize<4> (0xb7fd99c0) 0 empty
-Class QIntForSize<4>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<4> (0xb7fd9a40) 0 empty
-Class QIntForSize<8>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<8> (0xb7fd9a80) 0 empty
-Class QIntForType<void*>
- size=1 align=1
- base size=1 base align=1
-QIntForType<void*> (0xb7fd9b40) 0 empty
- QIntForSize<4> (0xb7fd9b80) 0 empty
Class QSysInfo
size=1 align=1
@@ -50,80 +24,20 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0xb7fd9e40) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0xb7fd9f00) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0xb7fd9f40) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0xb7fd9f80) 0 empty
-Class QTypeInfo<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned char> (0xb7fd9fc0) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0xb785a000) 0 empty
-Class QTypeInfo<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short unsigned int> (0xb785a040) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0xb785a080) 0 empty
-Class QTypeInfo<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned int> (0xb785a0c0) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0xb785a100) 0 empty
-Class QTypeInfo<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long unsigned int> (0xb785a140) 0 empty
-Class QTypeInfo<long long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long int> (0xb785a180) 0 empty
-Class QTypeInfo<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long unsigned int> (0xb785a1c0) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0xb785a200) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0xb785a240) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0xb785a280) 0 empty
Class QFlag
size=4 align=4
@@ -141,70 +55,18 @@ Class QAtomic
QAtomic (0xb785a480) 0
QBasicAtomic (0xb785a4c0) 0
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0xb785a5c0) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0xb785a600) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0xb785a640) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0xb785a680) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0xb785a6c0) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0xb785a700) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0xb785a740) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0xb785a780) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0xb785a7c0) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0xb785a800) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0xb785a840) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0xb785a880) 0
-Class QFlags<Qt::TextInteractionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::TextInteractionFlag> (0xb785a8c0) 0
Class QInternal
size=1 align=1
@@ -222,10 +84,6 @@ Class QGenericReturnArgument
QGenericReturnArgument (0xb785a9c0) 0
QGenericArgument (0xb785aa00) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0xb785abc0) 0
Class QMetaObject
size=16 align=4
@@ -242,10 +100,6 @@ Class QChar
base size=2 base align=2
QChar (0xb785ac80) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0xb785ad00) 0 empty
Class __locale_struct
size=116 align=4
@@ -267,10 +121,6 @@ Class QByteRef
base size=8 base align=4
QByteRef (0xb785ae40) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0xb785ae80) 0 empty
Class QString::Null
size=1 align=1
@@ -287,10 +137,6 @@ Class QString
base size=4 base align=4
QString (0xb785aec0) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0xb76a20c0) 0
Class QLatin1String
size=4 align=4
@@ -308,10 +154,6 @@ Class QConstString
QConstString (0xb76a21c0) 0
QString (0xb76a2200) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0xb76a2240) 0 empty
Class QStringRef
size=12 align=4
@@ -379,15 +221,7 @@ Class QListData
base size=4 base align=4
QListData (0xb76a2580) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0xb76a2900) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0xb76a2880) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -479,10 +313,6 @@ QIODevice (0xb76a2b40) 0
QObject (0xb76a2b80) 0
primary-for QIODevice (0xb76a2b40)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0xb76a2c40) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -502,275 +332,59 @@ Class QMetaType
base size=0 base align=1
QMetaType (0xb76a2d00) 0 empty
-Class QMetaTypeId2<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QString> (0xb76a2dc0) 0 empty
-Class QMetaTypeId2<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<int> (0xb76a2e00) 0 empty
-Class QMetaTypeId2<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned int> (0xb76a2e40) 0 empty
-Class QMetaTypeId2<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<bool> (0xb76a2e80) 0 empty
-Class QMetaTypeId2<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<double> (0xb76a2ec0) 0 empty
-Class QMetaTypeId2<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QByteArray> (0xb76a2f00) 0 empty
-Class QMetaTypeId2<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QChar> (0xb76a2f40) 0 empty
-Class QMetaTypeId2<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long int> (0xb76a2f80) 0 empty
-Class QMetaTypeId2<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short int> (0xb76a2fc0) 0 empty
-Class QMetaTypeId2<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<char> (0xb76a2000) 0 empty
-Class QMetaTypeId2<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long unsigned int> (0xb76a2040) 0 empty
-Class QMetaTypeId2<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short unsigned int> (0xb76a2380) 0 empty
-Class QMetaTypeId2<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned char> (0xb76a2440) 0 empty
-Class QMetaTypeId2<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<float> (0xb76a2500) 0 empty
-Class QMetaTypeId2<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QObject*> (0xb76a2740) 0 empty
-Class QMetaTypeId2<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QWidget*> (0xb76a2980) 0 empty
-Class QMetaTypeId2<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<void*> (0xb76a2a00) 0 empty
-Class QMetaTypeId2<long long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long int> (0xb76a2bc0) 0 empty
-Class QMetaTypeId2<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long unsigned int> (0xb76a2cc0) 0 empty
-Class QMetaTypeId2<QStringList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QStringList> (0xb73e0000) 0 empty
-Class QMetaTypeId2<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitArray> (0xb73e0040) 0 empty
-Class QMetaTypeId2<QDate>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDate> (0xb73e0080) 0 empty
-Class QMetaTypeId2<QTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTime> (0xb73e00c0) 0 empty
-Class QMetaTypeId2<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDateTime> (0xb73e0100) 0 empty
-Class QMetaTypeId2<QUrl>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QUrl> (0xb73e0140) 0 empty
-Class QMetaTypeId2<QLocale>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLocale> (0xb73e0180) 0 empty
-Class QMetaTypeId2<QRect>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRect> (0xb73e01c0) 0 empty
-Class QMetaTypeId2<QRectF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRectF> (0xb73e0200) 0 empty
-Class QMetaTypeId2<QSize>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSize> (0xb73e0240) 0 empty
-Class QMetaTypeId2<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizeF> (0xb73e0280) 0 empty
-Class QMetaTypeId2<QLine>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLine> (0xb73e02c0) 0 empty
-Class QMetaTypeId2<QLineF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLineF> (0xb73e0300) 0 empty
-Class QMetaTypeId2<QPoint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPoint> (0xb73e0340) 0 empty
-Class QMetaTypeId2<QPointF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPointF> (0xb73e0380) 0 empty
-Class QMetaTypeId2<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegExp> (0xb73e03c0) 0 empty
-Class QMetaTypeId2<QColorGroup>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColorGroup> (0xb73e0400) 0 empty
-Class QMetaTypeId2<QFont>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QFont> (0xb73e0440) 0 empty
-Class QMetaTypeId2<QPixmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPixmap> (0xb73e0480) 0 empty
-Class QMetaTypeId2<QBrush>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBrush> (0xb73e04c0) 0 empty
-Class QMetaTypeId2<QColor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColor> (0xb73e0500) 0 empty
-Class QMetaTypeId2<QPalette>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPalette> (0xb73e0540) 0 empty
-Class QMetaTypeId2<QIcon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QIcon> (0xb73e0580) 0 empty
-Class QMetaTypeId2<QImage>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QImage> (0xb73e05c0) 0 empty
-Class QMetaTypeId2<QPolygon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPolygon> (0xb73e0600) 0 empty
-Class QMetaTypeId2<QRegion>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegion> (0xb73e0640) 0 empty
-Class QMetaTypeId2<QBitmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitmap> (0xb73e0680) 0 empty
-Class QMetaTypeId2<QCursor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QCursor> (0xb73e06c0) 0 empty
-Class QMetaTypeId2<QSizePolicy>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizePolicy> (0xb73e0700) 0 empty
-Class QMetaTypeId2<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QKeySequence> (0xb73e0740) 0 empty
-Class QMetaTypeId2<QPen>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPen> (0xb73e0780) 0 empty
-Class QMetaTypeId2<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextLength> (0xb73e07c0) 0 empty
-Class QMetaTypeId2<QTextFormat>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextFormat> (0xb73e0800) 0 empty
-Class QMetaTypeId2<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMatrix> (0xb73e0840) 0 empty
-Class QMetaTypeId2<QTransform>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTransform> (0xb73e0880) 0 empty
Class QMapData::Node
size=8 align=4
@@ -807,45 +421,17 @@ Class QVariant
base size=12 base align=4
QVariant (0xb73e0d40) 0
-Class QMetaTypeId2<QList<QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QList<QVariant> > (0xb73e0fc0) 0 empty
-Class QMetaTypeId2<QMap<QString, QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMap<QString, QVariant> > (0xb73e0bc0) 0 empty
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0xb73e0f40) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0xb73e0ec0) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0xb72f3080) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0xb72f3000) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0xb72f3100) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0xb72f3180) 0 empty
Class QDBusError
size=16 align=4
@@ -882,25 +468,13 @@ Class QRegExp
base size=4 base align=4
QRegExp (0xb72f32c0) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0xb72f3300) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0xb72f3340) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0xb72f3400) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0xb72f3380) 0
Class QStringList
size=4 align=4
@@ -908,15 +482,7 @@ Class QStringList
QStringList (0xb72f3440) 0
QList<QString> (0xb72f3480) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0xb72f3500) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0xb72f3540) 0
Class QDBusObjectPath
size=4 align=4
@@ -924,15 +490,7 @@ Class QDBusObjectPath
QDBusObjectPath (0xb72f3600) 0
QString (0xb72f3640) 0
-Class QMetaTypeId<QDBusObjectPath>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QDBusObjectPath> (0xb72f3680) 0 empty
-Class QMetaTypeId<QList<QDBusObjectPath> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QList<QDBusObjectPath> > (0xb72f3740) 0 empty
Class QDBusSignature
size=4 align=4
@@ -940,15 +498,7 @@ Class QDBusSignature
QDBusSignature (0xb72f3800) 0
QString (0xb72f3840) 0
-Class QMetaTypeId<QDBusSignature>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QDBusSignature> (0xb72f3880) 0 empty
-Class QMetaTypeId<QList<QDBusSignature> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QList<QDBusSignature> > (0xb72f3940) 0 empty
Class QDBusVariant
size=12 align=4
@@ -956,40 +506,16 @@ Class QDBusVariant
QDBusVariant (0xb72f3a00) 0
QVariant (0xb72f3a40) 0
-Class QMetaTypeId<QDBusVariant>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QDBusVariant> (0xb72f3a80) 0 empty
Class QDBusArgument
size=4 align=4
base size=4 base align=4
QDBusArgument (0xb72f3b40) 0
-Class QMetaTypeId<QDBusArgument>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QDBusArgument> (0xb72f3b80) 0 empty
-Class QList<QVariant>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::const_iterator (0xb72f3d80) 0
-Class QList<QVariant>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::iterator (0xb72f3e00) 0
-Class QMap<QString, QVariant>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::const_iterator (0xb72f3f40) 0
-Class QMap<QString, QVariant>::iterator
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::iterator (0xb72f3fc0) 0
Class QDBusMetaType
size=1 align=1
@@ -1001,10 +527,6 @@ Class QDBusConnection
base size=4 base align=4
QDBusConnection (0xb72f3e40) 0
-Class QFlags<QDBusConnection::RegisterOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDBusConnection::RegisterOption> (0xb7213000) 0
Class QDBusMessage
size=4 align=4
@@ -1036,15 +558,7 @@ QDBusAbstractInterface (0xb7213080) 0
QObject (0xb72130c0) 0
primary-for QDBusAbstractInterface (0xb7213080)
-Class QDBusReply<QVariant>
- size=28 align=4
- base size=28 base align=4
-QDBusReply<QVariant> (0xb7213180) 0
-Class QDBusReply<void>
- size=16 align=4
- base size=16 base align=4
-QDBusReply<void> (0xb7213240) 0
Vtable for QDBusConnectionInterface
QDBusConnectionInterface::_ZTV24QDBusConnectionInterface: 14u entries
@@ -1073,10 +587,6 @@ QDBusConnectionInterface (0xb72132c0) 0
QObject (0xb7213340) 0
primary-for QDBusAbstractInterface (0xb7213300)
-Class QMetaTypeId2<QDBusConnectionInterface::RegisterServiceReply>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDBusConnectionInterface::RegisterServiceReply> (0xb7213400) 0 empty
Class QDBusContext
size=4 align=4
@@ -1135,58 +645,14 @@ QDBusServer (0xb7213580) 0
QObject (0xb72135c0) 0
primary-for QDBusServer (0xb7213580)
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0xb7213680) 0
-Class QMetaTypeId2<QDBusVariant>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDBusVariant> (0xb72139c0) 0 empty
-Class QList<QVariant>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::Node (0xb7213a40) 0
-Class QList<QDBusObjectPath>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QDBusObjectPath>::<anonymous union> (0xb7213c40) 0
-Class QList<QDBusObjectPath>
- size=4 align=4
- base size=4 base align=4
-QList<QDBusObjectPath> (0xb7213bc0) 0
-Class QList<QDBusSignature>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QDBusSignature>::<anonymous union> (0xb7213dc0) 0
-Class QList<QDBusSignature>
- size=4 align=4
- base size=4 base align=4
-QList<QDBusSignature> (0xb7213d40) 0
-Class QTypeInfo<QDBusObjectPath>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDBusObjectPath> (0xb7213e80) 0 empty
-Class QList<QDBusObjectPath>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QDBusObjectPath>::Node (0xb7213f00) 0
-Class QTypeInfo<QDBusSignature>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDBusSignature> (0xb7213f80) 0 empty
-Class QList<QDBusSignature>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QDBusSignature>::Node (0xb7213100) 0
diff --git a/tests/auto/bic/data/QtDBus.4.3.2.linux-gcc-ia32.txt b/tests/auto/bic/data/QtDBus.4.3.2.linux-gcc-ia32.txt
index 44e38a4..2eaf562 100644
--- a/tests/auto/bic/data/QtDBus.4.3.2.linux-gcc-ia32.txt
+++ b/tests/auto/bic/data/QtDBus.4.3.2.linux-gcc-ia32.txt
@@ -1,34 +1,8 @@
-Class QUintForSize<4>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<4> (0xb7f55880) 0 empty
-Class QUintForSize<8>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<8> (0xb7f558c0) 0 empty
-Class QUintForType<void*>
- size=1 align=1
- base size=1 base align=1
-QUintForType<void*> (0xb7f55980) 0 empty
- QUintForSize<4> (0xb7f559c0) 0 empty
-Class QIntForSize<4>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<4> (0xb7f55a40) 0 empty
-Class QIntForSize<8>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<8> (0xb7f55a80) 0 empty
-Class QIntForType<void*>
- size=1 align=1
- base size=1 base align=1
-QIntForType<void*> (0xb7f55b40) 0 empty
- QIntForSize<4> (0xb7f55b80) 0 empty
Class QSysInfo
size=1 align=1
@@ -50,80 +24,20 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0xb7f55e40) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0xb7f55f00) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0xb7f55f40) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0xb7f55f80) 0 empty
-Class QTypeInfo<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned char> (0xb7f55fc0) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0xb77d4000) 0 empty
-Class QTypeInfo<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short unsigned int> (0xb77d4040) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0xb77d4080) 0 empty
-Class QTypeInfo<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned int> (0xb77d40c0) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0xb77d4100) 0 empty
-Class QTypeInfo<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long unsigned int> (0xb77d4140) 0 empty
-Class QTypeInfo<long long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long int> (0xb77d4180) 0 empty
-Class QTypeInfo<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long unsigned int> (0xb77d41c0) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0xb77d4200) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0xb77d4240) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0xb77d4280) 0 empty
Class QFlag
size=4 align=4
@@ -141,70 +55,18 @@ Class QAtomic
QAtomic (0xb77d4440) 0
QBasicAtomic (0xb77d4480) 0
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0xb77d4580) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0xb77d45c0) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0xb77d4600) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0xb77d4640) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0xb77d4680) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0xb77d46c0) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0xb77d4700) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0xb77d4740) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0xb77d4780) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0xb77d47c0) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0xb77d4800) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0xb77d4840) 0
-Class QFlags<Qt::TextInteractionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::TextInteractionFlag> (0xb77d4880) 0
Class QInternal
size=1 align=1
@@ -222,10 +84,6 @@ Class QGenericReturnArgument
QGenericReturnArgument (0xb77d4980) 0
QGenericArgument (0xb77d49c0) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0xb77d4b80) 0
Class QMetaObject
size=16 align=4
@@ -242,10 +100,6 @@ Class QChar
base size=2 base align=2
QChar (0xb77d4c40) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0xb77d4cc0) 0 empty
Class __locale_struct
size=116 align=4
@@ -267,10 +121,6 @@ Class QByteRef
base size=8 base align=4
QByteRef (0xb77d4e00) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0xb77d4e40) 0 empty
Class QString::Null
size=1 align=1
@@ -287,10 +137,6 @@ Class QString
base size=4 base align=4
QString (0xb77d4e80) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0xb7618000) 0
Class QLatin1String
size=4 align=4
@@ -308,10 +154,6 @@ Class QConstString
QConstString (0xb7618100) 0
QString (0xb7618140) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0xb7618180) 0 empty
Class QStringRef
size=12 align=4
@@ -379,15 +221,7 @@ Class QListData
base size=4 base align=4
QListData (0xb76184c0) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0xb7618840) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0xb76187c0) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -479,10 +313,6 @@ QIODevice (0xb7618a80) 0
QObject (0xb7618ac0) 0
primary-for QIODevice (0xb7618a80)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0xb7618b80) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -502,275 +332,59 @@ Class QMetaType
base size=0 base align=1
QMetaType (0xb7618c40) 0 empty
-Class QMetaTypeId2<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QString> (0xb7618d00) 0 empty
-Class QMetaTypeId2<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<int> (0xb7618d40) 0 empty
-Class QMetaTypeId2<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned int> (0xb7618d80) 0 empty
-Class QMetaTypeId2<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<bool> (0xb7618dc0) 0 empty
-Class QMetaTypeId2<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<double> (0xb7618e00) 0 empty
-Class QMetaTypeId2<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QByteArray> (0xb7618e40) 0 empty
-Class QMetaTypeId2<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QChar> (0xb7618e80) 0 empty
-Class QMetaTypeId2<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long int> (0xb7618ec0) 0 empty
-Class QMetaTypeId2<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short int> (0xb7618f00) 0 empty
-Class QMetaTypeId2<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<char> (0xb7618f40) 0 empty
-Class QMetaTypeId2<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long unsigned int> (0xb7618f80) 0 empty
-Class QMetaTypeId2<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short unsigned int> (0xb7618fc0) 0 empty
-Class QMetaTypeId2<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned char> (0xb76182c0) 0 empty
-Class QMetaTypeId2<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<float> (0xb7618380) 0 empty
-Class QMetaTypeId2<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QObject*> (0xb7618440) 0 empty
-Class QMetaTypeId2<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QWidget*> (0xb7618680) 0 empty
-Class QMetaTypeId2<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<void*> (0xb76188c0) 0 empty
-Class QMetaTypeId2<long long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long int> (0xb7618940) 0 empty
-Class QMetaTypeId2<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long unsigned int> (0xb7618b00) 0 empty
-Class QMetaTypeId2<QStringList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QStringList> (0xb7618c00) 0 empty
-Class QMetaTypeId2<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitArray> (0xb734e000) 0 empty
-Class QMetaTypeId2<QDate>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDate> (0xb734e040) 0 empty
-Class QMetaTypeId2<QTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTime> (0xb734e080) 0 empty
-Class QMetaTypeId2<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDateTime> (0xb734e0c0) 0 empty
-Class QMetaTypeId2<QUrl>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QUrl> (0xb734e100) 0 empty
-Class QMetaTypeId2<QLocale>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLocale> (0xb734e140) 0 empty
-Class QMetaTypeId2<QRect>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRect> (0xb734e180) 0 empty
-Class QMetaTypeId2<QRectF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRectF> (0xb734e1c0) 0 empty
-Class QMetaTypeId2<QSize>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSize> (0xb734e200) 0 empty
-Class QMetaTypeId2<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizeF> (0xb734e240) 0 empty
-Class QMetaTypeId2<QLine>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLine> (0xb734e280) 0 empty
-Class QMetaTypeId2<QLineF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLineF> (0xb734e2c0) 0 empty
-Class QMetaTypeId2<QPoint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPoint> (0xb734e300) 0 empty
-Class QMetaTypeId2<QPointF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPointF> (0xb734e340) 0 empty
-Class QMetaTypeId2<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegExp> (0xb734e380) 0 empty
-Class QMetaTypeId2<QColorGroup>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColorGroup> (0xb734e3c0) 0 empty
-Class QMetaTypeId2<QFont>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QFont> (0xb734e400) 0 empty
-Class QMetaTypeId2<QPixmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPixmap> (0xb734e440) 0 empty
-Class QMetaTypeId2<QBrush>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBrush> (0xb734e480) 0 empty
-Class QMetaTypeId2<QColor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColor> (0xb734e4c0) 0 empty
-Class QMetaTypeId2<QPalette>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPalette> (0xb734e500) 0 empty
-Class QMetaTypeId2<QIcon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QIcon> (0xb734e540) 0 empty
-Class QMetaTypeId2<QImage>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QImage> (0xb734e580) 0 empty
-Class QMetaTypeId2<QPolygon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPolygon> (0xb734e5c0) 0 empty
-Class QMetaTypeId2<QRegion>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegion> (0xb734e600) 0 empty
-Class QMetaTypeId2<QBitmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitmap> (0xb734e640) 0 empty
-Class QMetaTypeId2<QCursor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QCursor> (0xb734e680) 0 empty
-Class QMetaTypeId2<QSizePolicy>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizePolicy> (0xb734e6c0) 0 empty
-Class QMetaTypeId2<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QKeySequence> (0xb734e700) 0 empty
-Class QMetaTypeId2<QPen>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPen> (0xb734e740) 0 empty
-Class QMetaTypeId2<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextLength> (0xb734e780) 0 empty
-Class QMetaTypeId2<QTextFormat>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextFormat> (0xb734e7c0) 0 empty
-Class QMetaTypeId2<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMatrix> (0xb734e800) 0 empty
-Class QMetaTypeId2<QTransform>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTransform> (0xb734e840) 0 empty
Class QMapData::Node
size=8 align=4
@@ -807,55 +421,23 @@ Class QVariant
base size=12 base align=4
QVariant (0xb734ed00) 0
-Class QMetaTypeId2<QList<QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QList<QVariant> > (0xb734ef80) 0 empty
-Class QMetaTypeId2<QMap<QString, QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMap<QString, QVariant> > (0xb734efc0) 0 empty
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0xb734eec0) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0xb734ee40) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0xb7260040) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0xb734ef40) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0xb72600c0) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0xb7260140) 0 empty
Class QDBusConnection
size=4 align=4
base size=4 base align=4
QDBusConnection (0xb7260180) 0
-Class QFlags<QDBusConnection::RegisterOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDBusConnection::RegisterOption> (0xb7260200) 0
Class QDBusError
size=16 align=4
@@ -873,15 +455,7 @@ Class QDBusObjectPath
QDBusObjectPath (0xb72602c0) 0
QString (0xb7260300) 0
-Class QMetaTypeId<QDBusObjectPath>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QDBusObjectPath> (0xb7260340) 0 empty
-Class QMetaTypeId<QList<QDBusObjectPath> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QList<QDBusObjectPath> > (0xb7260400) 0 empty
Class QDBusSignature
size=4 align=4
@@ -889,15 +463,7 @@ Class QDBusSignature
QDBusSignature (0xb72604c0) 0
QString (0xb7260500) 0
-Class QMetaTypeId<QDBusSignature>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QDBusSignature> (0xb7260540) 0 empty
-Class QMetaTypeId<QList<QDBusSignature> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QList<QDBusSignature> > (0xb7260600) 0 empty
Class QDBusVariant
size=12 align=4
@@ -905,20 +471,8 @@ Class QDBusVariant
QDBusVariant (0xb72606c0) 0
QVariant (0xb7260700) 0
-Class QMetaTypeId<QDBusVariant>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QDBusVariant> (0xb7260740) 0 empty
-Class QDBusReply<QVariant>
- size=28 align=4
- base size=28 base align=4
-QDBusReply<QVariant> (0xb7260840) 0
-Class QDBusReply<void>
- size=16 align=4
- base size=16 base align=4
-QDBusReply<void> (0xb7260980) 0
Vtable for QDBusServer
QDBusServer::_ZTV11QDBusServer: 14u entries
@@ -975,25 +529,13 @@ Class QRegExp
base size=4 base align=4
QRegExp (0xb7260b80) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0xb7260bc0) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0xb7260c00) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0xb7260cc0) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0xb7260c40) 0
Class QStringList
size=4 align=4
@@ -1001,15 +543,7 @@ Class QStringList
QStringList (0xb7260d00) 0
QList<QString> (0xb7260d40) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0xb7260dc0) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0xb7260e00) 0
Vtable for QDBusConnectionInterface
QDBusConnectionInterface::_ZTV24QDBusConnectionInterface: 14u entries
@@ -1038,10 +572,6 @@ QDBusConnectionInterface (0xb7260ec0) 0
QObject (0xb7260f40) 0
primary-for QDBusAbstractInterface (0xb7260f00)
-Class QMetaTypeId2<QDBusConnectionInterface::RegisterServiceReply>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDBusConnectionInterface::RegisterServiceReply> (0xb7260900) 0 empty
Vtable for QDBusInterface
QDBusInterface::_ZTV14QDBusInterface: 14u entries
@@ -1075,30 +605,10 @@ Class QDBusArgument
base size=4 base align=4
QDBusArgument (0xb7260fc0) 0
-Class QMetaTypeId<QDBusArgument>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QDBusArgument> (0xb718f000) 0 empty
-Class QList<QVariant>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::const_iterator (0xb718f1c0) 0
-Class QList<QVariant>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::iterator (0xb718f240) 0
-Class QMap<QString, QVariant>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::const_iterator (0xb718f340) 0
-Class QMap<QString, QVariant>::iterator
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::iterator (0xb718f3c0) 0
Vtable for QDBusAbstractAdaptor
QDBusAbstractAdaptor::_ZTV20QDBusAbstractAdaptor: 14u entries
@@ -1135,58 +645,14 @@ Class QDBusMetaType
base size=0 base align=1
QDBusMetaType (0xb718f500) 0 empty
-Class QMetaTypeId2<QDBusVariant>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDBusVariant> (0xb718f7c0) 0 empty
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0xb718f840) 0
-Class QList<QVariant>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::Node (0xb718f940) 0
-Class QList<QDBusObjectPath>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QDBusObjectPath>::<anonymous union> (0xb718fb40) 0
-Class QList<QDBusObjectPath>
- size=4 align=4
- base size=4 base align=4
-QList<QDBusObjectPath> (0xb718fac0) 0
-Class QList<QDBusSignature>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QDBusSignature>::<anonymous union> (0xb718fcc0) 0
-Class QList<QDBusSignature>
- size=4 align=4
- base size=4 base align=4
-QList<QDBusSignature> (0xb718fc40) 0
-Class QTypeInfo<QDBusObjectPath>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDBusObjectPath> (0xb718fd80) 0 empty
-Class QList<QDBusObjectPath>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QDBusObjectPath>::Node (0xb718fe00) 0
-Class QTypeInfo<QDBusSignature>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDBusSignature> (0xb718fe80) 0 empty
-Class QList<QDBusSignature>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QDBusSignature>::Node (0xb718ff00) 0
diff --git a/tests/auto/bic/data/QtDBus.4.4.0.linux-gcc-ia32.txt b/tests/auto/bic/data/QtDBus.4.4.0.linux-gcc-ia32.txt
index 64b9425..cc08d5a 100644
--- a/tests/auto/bic/data/QtDBus.4.4.0.linux-gcc-ia32.txt
+++ b/tests/auto/bic/data/QtDBus.4.4.0.linux-gcc-ia32.txt
@@ -1,34 +1,8 @@
-Class QUintForSize<4>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<4> (0xb77b9c30) 0 empty
-Class QUintForSize<8>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<8> (0xb77b9c6c) 0 empty
-Class QUintForType<void*>
- size=1 align=1
- base size=1 base align=1
-QUintForType<void*> (0xb7c16b40) 0 empty
- QUintForSize<4> (0xb77b9ce4) 0 empty
-Class QIntForSize<4>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<4> (0xb77b9e10) 0 empty
-Class QIntForSize<8>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<8> (0xb77b9e4c) 0 empty
-Class QIntForType<void*>
- size=1 align=1
- base size=1 base align=1
-QIntForType<void*> (0xb7c16d00) 0 empty
- QIntForSize<4> (0xb77b9ec4) 0 empty
Class QSysInfo
size=1 align=1
@@ -50,80 +24,20 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0xb77d52d0) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0xb77d54b0) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0xb77d55a0) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0xb77d5690) 0 empty
-Class QTypeInfo<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned char> (0xb77d5780) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0xb77d5870) 0 empty
-Class QTypeInfo<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short unsigned int> (0xb77d5960) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0xb77d5a50) 0 empty
-Class QTypeInfo<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned int> (0xb77d5b40) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0xb77d5c30) 0 empty
-Class QTypeInfo<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long unsigned int> (0xb77d5d20) 0 empty
-Class QTypeInfo<long long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long int> (0xb77d5e10) 0 empty
-Class QTypeInfo<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long unsigned int> (0xb77d5f00) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0xb77f0000) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0xb77f00f0) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0xb77f01e0) 0 empty
Class QFlag
size=4 align=4
@@ -140,10 +54,6 @@ Class QChar
base size=2 base align=2
QChar (0xb780c1e0) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0xb7828e88) 0 empty
Class QBasicAtomicInt
size=4 align=4
@@ -176,75 +86,19 @@ Class QByteRef
base size=8 base align=4
QByteRef (0xb6aaba50) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0xb6af2b40) 0 empty
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0xb6af2dd4) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0xb693f708) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0xb694a03c) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0xb694a960) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0xb695c294) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0xb695cbb8) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0xb696e4ec) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0xb696ee10) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0xb6983744) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0xb6991078) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0xb699199c) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0xb69a92d0) 0
-Class QFlags<Qt::TextInteractionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::TextInteractionFlag> (0xb69a9bf4) 0
Class QInternal
size=1 align=1
@@ -266,10 +120,6 @@ Class QString
base size=4 base align=4
QString (0xb69bd690) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0xb680b924) 0
Class QLatin1String
size=4 align=4
@@ -287,10 +137,6 @@ Class QConstString
QConstString (0xb6734b00) 0
QString (0xb6769ce4) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0xb6784000) 0 empty
Class QStringRef
size=12 align=4
@@ -358,10 +204,6 @@ Class QListData
base size=4 base align=4
QListData (0xb67f0690) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0xb6697960) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -386,15 +228,7 @@ Class QTextCodec
QTextCodec (0xb6665ca8) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0xb66a50b4) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0xb66a5f78) 0
Class QTextEncoder
size=32 align=4
@@ -417,25 +251,13 @@ Class QGenericReturnArgument
QGenericReturnArgument (0xb66da000) 0
QGenericArgument (0xb66d81e0) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0xb66d86cc) 0
Class QMetaObject
size=16 align=4
base size=16 base align=4
QMetaObject (0xb66d84ec) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0xb66ec834) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0xb66ec7bc) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -527,10 +349,6 @@ QIODevice (0xb652be80) 0
QObject (0xb6530834) 0
primary-for QIODevice (0xb652be80)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0xb654fb40) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -550,25 +368,13 @@ Class QRegExp
base size=4 base align=4
QRegExp (0xb6591a50) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0xb65c3258) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0xb65c3348) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0xb65c38ac) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0xb65c3834) 0
Class QStringList
size=4 align=4
@@ -576,15 +382,7 @@ Class QStringList
QStringList (0xb659df80) 0
QList<QString> (0xb65c38e8) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0xb65f2654) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0xb65f2870) 0
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -664,10 +462,6 @@ Class QMutex
base size=4 base align=4
QMutex (0xb641cb04) 0
-Class QMutexLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMutexLocker::<anonymous union> (0xb642b690) 0
Class QMutexLocker
size=4 align=4
@@ -747,35 +541,11 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0xb62fcfb4) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0xb6301078) 0 empty
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb639f000) 0
-Class <anonymous struct>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct>::<anonymous union> (0xb639f0f0) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb639f078) 0
-Class <anonymous struct>
- size=12 align=4
- base size=12 base align=4
-<anonymous struct> (0xb639f168) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb639f1e0) 0
Class _IO_marker
size=12 align=4
@@ -787,10 +557,6 @@ Class _IO_FILE
base size=148 base align=4
_IO_FILE (0xb639f258) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb639f2d0) 0
Vtable for QTextStream
QTextStream::_ZTV11QTextStream: 4u entries
@@ -805,10 +571,6 @@ Class QTextStream
QTextStream (0xb639f30c) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0xb63d8a8c) 0
Class QTextStreamManipulator
size=24 align=4
@@ -845,40 +607,16 @@ QTextOStream (0xb62030c0) 0
QTextStream (0xb62041e0) 0
primary-for QTextOStream (0xb62030c0)
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0xb6204ca8) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0xb6204d20) 0
Class wait
size=4 align=4
base size=4 base align=4
wait (0xb6204c30) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6204d98) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6204e10) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb6204e88) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb6204f00) 0
Class timespec
size=8 align=4
@@ -890,80 +628,24 @@ Class timeval
base size=8 base align=4
timeval (0xb6204f78) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb62045a0) 0
-Class <anonymous union>
- size=36 align=4
- base size=36 base align=4
-<anonymous union> (0xb621f03c) 0
Class __pthread_internal_slist
size=4 align=4
base size=4 base align=4
__pthread_internal_slist (0xb621f078) 0
-Class <anonymous union>::__pthread_mutex_s::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union>::__pthread_mutex_s::<anonymous union> (0xb621f1a4) 0
-Class <anonymous union>::__pthread_mutex_s
- size=24 align=4
- base size=24 base align=4
-<anonymous union>::__pthread_mutex_s (0xb621f12c) 0
-Class <anonymous union>
- size=24 align=4
- base size=24 base align=4
-<anonymous union> (0xb621f0f0) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb621f21c) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0xb621f30c) 0
-Class <anonymous union>
- size=48 align=4
- base size=48 base align=4
-<anonymous union> (0xb621f294) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb621f384) 0
-Class <anonymous union>::<anonymous struct>
- size=32 align=4
- base size=32 base align=4
-<anonymous union>::<anonymous struct> (0xb621f474) 0
-Class <anonymous union>
- size=32 align=4
- base size=32 base align=4
-<anonymous union> (0xb621f3fc) 0
-Class <anonymous union>
- size=8 align=4
- base size=8 base align=4
-<anonymous union> (0xb621f528) 0
-Class <anonymous union>
- size=20 align=4
- base size=20 base align=4
-<anonymous union> (0xb621f5a0) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb621f618) 0
Class random_data
size=28 align=4
@@ -995,20 +677,8 @@ Class QtConcurrent::ResultItem
base size=8 base align=4
QtConcurrent::ResultItem (0xb612f3c0) 0
-Class QMap<int, QtConcurrent::ResultItem>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<int, QtConcurrent::ResultItem>::<anonymous union> (0xb6148000) 0
-Class QMap<int, QtConcurrent::ResultItem>
- size=4 align=4
- base size=4 base align=4
-QMap<int, QtConcurrent::ResultItem> (0xb612ffb4) 0
-Class QMap<int, QtConcurrent::ResultItem>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QMap<int, QtConcurrent::ResultItem>::const_iterator (0xb6148348) 0
Class QtConcurrent::ResultIteratorBase
size=8 align=4
@@ -1028,10 +698,6 @@ Class QtConcurrent::ResultStoreBase
QtConcurrent::ResultStoreBase (0xb6148474) 0
vptr=((& QtConcurrent::ResultStoreBase::_ZTVN12QtConcurrent15ResultStoreBaseE) + 8u)
-Class QMap<int, QtConcurrent::ResultItem>::iterator
- size=4 align=4
- base size=4 base align=4
-QMap<int, QtConcurrent::ResultItem>::iterator (0xb6148b7c) 0
Vtable for QFutureInterfaceBase
QFutureInterfaceBase::_ZTV20QFutureInterfaceBase: 4u entries
@@ -1046,25 +712,8 @@ Class QFutureInterfaceBase
QFutureInterfaceBase (0xb6148bf4) 0
vptr=((& QFutureInterfaceBase::_ZTV20QFutureInterfaceBase) + 8u)
-Vtable for QFutureInterface<void>
-QFutureInterface<void>::_ZTV16QFutureInterfaceIvE: 4u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI16QFutureInterfaceIvE)
-8 QFutureInterface<void>::~QFutureInterface
-12 QFutureInterface<void>::~QFutureInterface
-Class QFutureInterface<void>
- size=8 align=4
- base size=8 base align=4
-QFutureInterface<void> (0xb618a780) 0
- vptr=((& QFutureInterface<void>::_ZTV16QFutureInterfaceIvE) + 8u)
- QFutureInterfaceBase (0xb61836cc) 0
- primary-for QFutureInterface<void> (0xb618a780)
-Class QFuture<void>
- size=8 align=4
- base size=8 base align=4
-QFuture<void> (0xb61b4e4c) 0
Vtable for QFutureWatcherBase
QFutureWatcherBase::_ZTV18QFutureWatcherBase: 16u entries
@@ -1093,34 +742,7 @@ QFutureWatcherBase (0xb61e26c0) 0
QObject (0xb61e54ec) 0
primary-for QFutureWatcherBase (0xb61e26c0)
-Vtable for QFutureWatcher<void>
-QFutureWatcher<void>::_ZTV14QFutureWatcherIvE: 16u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI14QFutureWatcherIvE)
-8 QFutureWatcherBase::metaObject
-12 QFutureWatcherBase::qt_metacast
-16 QFutureWatcherBase::qt_metacall
-20 QFutureWatcher<void>::~QFutureWatcher
-24 QFutureWatcher<void>::~QFutureWatcher
-28 QFutureWatcherBase::event
-32 QObject::eventFilter
-36 QObject::timerEvent
-40 QObject::childEvent
-44 QObject::customEvent
-48 QFutureWatcherBase::connectNotify
-52 QFutureWatcherBase::disconnectNotify
-56 QFutureWatcher<void>::futureInterface
-60 QFutureWatcher<void>::futureInterface
-Class QFutureWatcher<void>
- size=16 align=4
- base size=16 base align=4
-QFutureWatcher<void> (0xb61e2dc0) 0
- vptr=((& QFutureWatcher<void>::_ZTV14QFutureWatcherIvE) + 8u)
- QFutureWatcherBase (0xb61e2e00) 0
- primary-for QFutureWatcher<void> (0xb61e2dc0)
- QObject (0xb6001000) 0
- primary-for QFutureWatcherBase (0xb61e2e00)
Vtable for QRunnable
QRunnable::_ZTV9QRunnable: 5u entries
@@ -1219,60 +841,14 @@ QtConcurrent::ThreadEngineBase (0xb603f2c0) 0
QRunnable (0xb6044000) 0
primary-for QtConcurrent::ThreadEngineBase (0xb603f2c0)
-Class QtConcurrent::ThreadEngineStarterBase<void>
- size=4 align=4
- base size=4 base align=4
-QtConcurrent::ThreadEngineStarterBase<void> (0xb60447f8) 0
-Class QtConcurrent::ThreadEngineStarter<void>
- size=4 align=4
- base size=4 base align=4
-QtConcurrent::ThreadEngineStarter<void> (0xb603fc40) 0
- QtConcurrent::ThreadEngineStarterBase<void> (0xb6044870) 0
-Vtable for QtConcurrent::ThreadEngine<void>
-QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE: 26u entries
-0 4u
-4 (int (*)(...))0
-8 (int (*)(...))(& _ZTIN12QtConcurrent12ThreadEngineIvEE)
-12 QtConcurrent::ThreadEngine<T>::result [with T = void]
-16 QtConcurrent::ThreadEngine<T>::asynchronousFinish [with T = void]
-20 QtConcurrent::ThreadEngine<void>::~ThreadEngine
-24 QtConcurrent::ThreadEngine<void>::~ThreadEngine
-28 -4u
-32 0u
-36 0u
-40 0u
-44 0u
-48 0u
-52 -4u
-56 0u
-60 (int (*)(...))-0x000000004
-64 (int (*)(...))(& _ZTIN12QtConcurrent12ThreadEngineIvEE)
-68 QtConcurrent::ThreadEngineBase::run
-72 QtConcurrent::ThreadEngine<void>::_ZTv0_n16_N12QtConcurrent12ThreadEngineIvED1Ev
-76 QtConcurrent::ThreadEngine<void>::_ZTv0_n16_N12QtConcurrent12ThreadEngineIvED0Ev
-80 QtConcurrent::ThreadEngineBase::start
-84 QtConcurrent::ThreadEngineBase::finish
-88 QtConcurrent::ThreadEngineBase::threadFunction
-92 QtConcurrent::ThreadEngineBase::shouldStartThread
-96 QtConcurrent::ThreadEngineBase::shouldThrottleThread
-100 QtConcurrent::ThreadEngine<void>::_ZTv0_n40_N12QtConcurrent12ThreadEngineIvE18asynchronousFinishEv
VTT for QtConcurrent::ThreadEngine<void>
QtConcurrent::ThreadEngine<void>::_ZTTN12QtConcurrent12ThreadEngineIvEE: 2u entries
0 ((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 12u)
4 ((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 68u)
-Class QtConcurrent::ThreadEngine<void>
- size=36 align=4
- base size=4 base align=4
-QtConcurrent::ThreadEngine<void> (0xb603fe00) 0 nearly-empty
- vptridx=0u vptr=((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 12u)
- QtConcurrent::ThreadEngineBase (0xb603fe40) 4 virtual
- vptridx=4u vbaseoffset=-0x00000000c vptr=((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 68u)
- QRunnable (0xb6044d20) 4
- primary-for QtConcurrent::ThreadEngineBase (0xb603fe40)
Class std::input_iterator_tag
size=1 align=1
@@ -1315,225 +891,49 @@ Class std::__false_type
base size=0 base align=1
std::__false_type (0xb605d6cc) 0 empty
-Class std::__truth_type<true>
- size=1 align=1
- base size=0 base align=1
-std::__truth_type<true> (0xb605d744) 0 empty
-Class std::__is_void<void>
- size=1 align=1
- base size=0 base align=1
-std::__is_void<void> (0xb605d960) 0 empty
-Class std::__is_integer<bool>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<bool> (0xb605da50) 0 empty
-Class std::__is_integer<char>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<char> (0xb605dac8) 0 empty
-Class std::__is_integer<signed char>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<signed char> (0xb605db40) 0 empty
-Class std::__is_integer<unsigned char>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<unsigned char> (0xb605dbb8) 0 empty
-Class std::__is_integer<wchar_t>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<wchar_t> (0xb605dc30) 0 empty
-Class std::__is_integer<short int>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<short int> (0xb605dca8) 0 empty
-Class std::__is_integer<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<short unsigned int> (0xb605dd20) 0 empty
-Class std::__is_integer<int>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<int> (0xb605dd98) 0 empty
-Class std::__is_integer<unsigned int>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<unsigned int> (0xb605de10) 0 empty
-Class std::__is_integer<long int>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<long int> (0xb605de88) 0 empty
-Class std::__is_integer<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<long unsigned int> (0xb605df00) 0 empty
-Class std::__is_integer<long long int>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<long long int> (0xb605df78) 0 empty
-Class std::__is_integer<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<long long unsigned int> (0xb607c000) 0 empty
-Class std::__is_floating<float>
- size=1 align=1
- base size=0 base align=1
-std::__is_floating<float> (0xb607c0f0) 0 empty
-Class std::__is_floating<double>
- size=1 align=1
- base size=0 base align=1
-std::__is_floating<double> (0xb607c168) 0 empty
-Class std::__is_floating<long double>
- size=1 align=1
- base size=0 base align=1
-std::__is_floating<long double> (0xb607c1e0) 0 empty
-Class std::__is_char<char>
- size=1 align=1
- base size=0 base align=1
-std::__is_char<char> (0xb607c564) 0 empty
-Class std::__is_char<wchar_t>
- size=1 align=1
- base size=0 base align=1
-std::__is_char<wchar_t> (0xb607c5dc) 0 empty
-Class std::__is_byte<char>
- size=1 align=1
- base size=0 base align=1
-std::__is_byte<char> (0xb607c6cc) 0 empty
-Class std::__is_byte<signed char>
- size=1 align=1
- base size=0 base align=1
-std::__is_byte<signed char> (0xb607c744) 0 empty
-Class std::__is_byte<unsigned char>
- size=1 align=1
- base size=0 base align=1
-std::__is_byte<unsigned char> (0xb607c7bc) 0 empty
-Class __gnu_cxx::__add_unsigned<char>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__add_unsigned<char> (0xb607c9d8) 0 empty
-Class __gnu_cxx::__add_unsigned<signed char>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__add_unsigned<signed char> (0xb607ca14) 0 empty
-Class __gnu_cxx::__add_unsigned<short int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__add_unsigned<short int> (0xb607ca50) 0 empty
-Class __gnu_cxx::__add_unsigned<int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__add_unsigned<int> (0xb607ca8c) 0 empty
-Class __gnu_cxx::__add_unsigned<long int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__add_unsigned<long int> (0xb607cac8) 0 empty
-Class __gnu_cxx::__add_unsigned<long long int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__add_unsigned<long long int> (0xb607cb04) 0 empty
-Class __gnu_cxx::__remove_unsigned<char>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__remove_unsigned<char> (0xb607cb7c) 0 empty
-Class __gnu_cxx::__remove_unsigned<unsigned char>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__remove_unsigned<unsigned char> (0xb607cbb8) 0 empty
-Class __gnu_cxx::__remove_unsigned<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__remove_unsigned<short unsigned int> (0xb607cbf4) 0 empty
-Class __gnu_cxx::__remove_unsigned<unsigned int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__remove_unsigned<unsigned int> (0xb607cc30) 0 empty
-Class __gnu_cxx::__remove_unsigned<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__remove_unsigned<long unsigned int> (0xb607cc6c) 0 empty
-Class __gnu_cxx::__remove_unsigned<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__remove_unsigned<long long unsigned int> (0xb607cca8) 0 empty
-Class std::iterator<std::output_iterator_tag, void, void, void, void>
- size=1 align=1
- base size=0 base align=1
-std::iterator<std::output_iterator_tag, void, void, void, void> (0xb609d690) 0 empty
-Class std::__iter_swap<true>
- size=1 align=1
- base size=0 base align=1
-std::__iter_swap<true> (0xb60c2c6c) 0 empty
-Class std::__copy_move<false, false, std::random_access_iterator_tag>
- size=1 align=1
- base size=0 base align=1
-std::__copy_move<false, false, std::random_access_iterator_tag> (0xb5f150b4) 0 empty
-Class std::__copy_move_backward<false, false, std::random_access_iterator_tag>
- size=1 align=1
- base size=0 base align=1
-std::__copy_move_backward<false, false, std::random_access_iterator_tag> (0xb5f152d0) 0 empty
-Class std::__equal<true>
- size=1 align=1
- base size=0 base align=1
-std::__equal<true> (0xb5f156cc) 0 empty
-Class std::__lc_rai<std::random_access_iterator_tag, std::random_access_iterator_tag>
- size=1 align=1
- base size=0 base align=1
-std::__lc_rai<std::random_access_iterator_tag, std::random_access_iterator_tag> (0xb5f15834) 0 empty
-Class std::__lexicographical_compare<true>
- size=1 align=1
- base size=0 base align=1
-std::__lexicographical_compare<true> (0xb5f1599c) 0 empty
-Class std::char_traits<char>
- size=1 align=1
- base size=0 base align=1
-std::char_traits<char> (0xb5f59078) 0 empty
-Class std::char_traits<wchar_t>
- size=1 align=1
- base size=0 base align=1
-std::char_traits<wchar_t> (0xb5f5cac8) 0 empty
Class lconv
size=56 align=4
@@ -1550,10 +950,6 @@ Class __sched_param
base size=4 base align=4
__sched_param (0xb5f6b690) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb5f6b708) 0
Class tm
size=44 align=4
@@ -1570,15 +966,7 @@ Class _pthread_cleanup_buffer
base size=16 base align=4
_pthread_cleanup_buffer (0xb5f6b9d8) 0
-Class <anonymous struct>::<anonymous struct>
- size=28 align=4
- base size=28 base align=4
-<anonymous struct>::<anonymous struct> (0xb5f6bb40) 0
-Class <anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous struct> (0xb5f6bac8) 0
Class __pthread_cleanup_frame
size=16 align=4
@@ -1590,32 +978,10 @@ Class __pthread_cleanup_class
base size=16 base align=4
__pthread_cleanup_class (0xb5f6bbb8) 0
-Class std::allocator<void>
- size=1 align=1
- base size=0 base align=1
-std::allocator<void> (0xb5dfa0f0) 0 empty
-Class __gnu_cxx::new_allocator<char>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::new_allocator<char> (0xb5dfa3c0) 0 empty
-Class std::allocator<char>
- size=1 align=1
- base size=1 base align=1
-std::allocator<char> (0xb5dfb7c0) 0 empty
- __gnu_cxx::new_allocator<char> (0xb5dfa3fc) 0 empty
-Class __gnu_cxx::new_allocator<wchar_t>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::new_allocator<wchar_t> (0xb5dfa438) 0 empty
-Class std::allocator<wchar_t>
- size=1 align=1
- base size=1 base align=1
-std::allocator<wchar_t> (0xb5dfb880) 0 empty
- __gnu_cxx::new_allocator<wchar_t> (0xb5dfa474) 0 empty
Vtable for __cxxabiv1::__forced_unwind
__cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE: 5u entries
@@ -1631,82 +997,19 @@ Class __cxxabiv1::__forced_unwind
__cxxabiv1::__forced_unwind (0xb5dfa690) 0 nearly-empty
vptr=((& __cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE) + 8u)
-Class __gnu_cxx::__conditional_type<true, __gnu_cxx::__numeric_traits_integer<int>, __gnu_cxx::__numeric_traits_floating<int> >
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__conditional_type<true, __gnu_cxx::__numeric_traits_integer<int>, __gnu_cxx::__numeric_traits_floating<int> > (0xb5e5bf78) 0 empty
-Class __gnu_cxx::__numeric_traits_integer<int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__numeric_traits_integer<int> (0xb5e5bfb4) 0 empty
-Class __gnu_cxx::__numeric_traits<int>
- size=1 align=1
- base size=1 base align=1
-__gnu_cxx::__numeric_traits<int> (0xb5ea0b40) 0 empty
- __gnu_cxx::__numeric_traits_integer<int> (0xb5e5bf3c) 0 empty
-Class std::allocator<char>::rebind<char>
- size=1 align=1
- base size=0 base align=1
-std::allocator<char>::rebind<char> (0xb5eedc6c) 0 empty
-Class std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Alloc_hider
- size=4 align=4
- base size=4 base align=4
-std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Alloc_hider (0xb5d3a100) 0
- std::allocator<char> (0xb5d3a140) 0 empty
- __gnu_cxx::new_allocator<char> (0xb5eedce4) 0 empty
-Class std::basic_string<char, std::char_traits<char>, std::allocator<char> >
- size=4 align=4
- base size=4 base align=4
-std::basic_string<char, std::char_traits<char>, std::allocator<char> > (0xb5eedbf4) 0
-Class std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep_base
- size=12 align=4
- base size=12 base align=4
-std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep_base (0xb5eedd20) 0
-Class std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep
- size=12 align=4
- base size=12 base align=4
-std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep (0xb5d3a2c0) 0
- std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep_base (0xb5eedd5c) 0
-Class std::allocator<wchar_t>::rebind<wchar_t>
- size=1 align=1
- base size=0 base align=1
-std::allocator<wchar_t>::rebind<wchar_t> (0xb5eede10) 0 empty
-Class std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Alloc_hider
- size=4 align=4
- base size=4 base align=4
-std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Alloc_hider (0xb5d3a4c0) 0
- std::allocator<wchar_t> (0xb5d3a500) 0 empty
- __gnu_cxx::new_allocator<wchar_t> (0xb5eede88) 0 empty
-Class std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >
- size=4 align=4
- base size=4 base align=4
-std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > (0xb5eedd98) 0
-Class std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Rep_base
- size=12 align=4
- base size=12 base align=4
-std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Rep_base (0xb5eedec4) 0
-Class std::allocator<wchar_t>::rebind<char>
- size=1 align=1
- base size=0 base align=1
-std::allocator<wchar_t>::rebind<char> (0xb5eedf78) 0 empty
-Class std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Rep
- size=12 align=4
- base size=12 base align=4
-std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Rep (0xb5d3a680) 0
- std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Rep_base (0xb5eedf00) 0
Class std::locale
size=4 align=4
@@ -1736,97 +1039,16 @@ Class std::locale::_Impl
base size=20 base align=4
std::locale::_Impl (0xb5de012c) 0
-Vtable for std::collate<char>
-std::collate<char>::_ZTVSt7collateIcE: 7u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt7collateIcE)
-8 std::collate<_CharT>::~collate [with _CharT = char]
-12 std::collate<_CharT>::~collate [with _CharT = char]
-16 std::collate<_CharT>::do_compare [with _CharT = char]
-20 std::collate<_CharT>::do_transform [with _CharT = char]
-24 std::collate<_CharT>::do_hash [with _CharT = char]
-
-Class std::collate<char>
- size=12 align=4
- base size=12 base align=4
-std::collate<char> (0xb5de8640) 0
- vptr=((& std::collate<char>::_ZTVSt7collateIcE) + 8u)
- std::locale::facet (0xb5de6ac8) 0
- primary-for std::collate<char> (0xb5de8640)
-Vtable for std::collate<wchar_t>
-std::collate<wchar_t>::_ZTVSt7collateIwE: 7u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt7collateIwE)
-8 std::collate<_CharT>::~collate [with _CharT = wchar_t]
-12 std::collate<_CharT>::~collate [with _CharT = wchar_t]
-16 std::collate<_CharT>::do_compare [with _CharT = wchar_t]
-20 std::collate<_CharT>::do_transform [with _CharT = wchar_t]
-24 std::collate<_CharT>::do_hash [with _CharT = wchar_t]
-
-Class std::collate<wchar_t>
- size=12 align=4
- base size=12 base align=4
-std::collate<wchar_t> (0xb5de8740) 0
- vptr=((& std::collate<wchar_t>::_ZTVSt7collateIwE) + 8u)
- std::locale::facet (0xb5de6bb8) 0
- primary-for std::collate<wchar_t> (0xb5de8740)
-Class __gnu_cxx::__conditional_type<true, __gnu_cxx::__numeric_traits_integer<long unsigned int>, __gnu_cxx::__numeric_traits_floating<long unsigned int> >
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__conditional_type<true, __gnu_cxx::__numeric_traits_integer<long unsigned int>, __gnu_cxx::__numeric_traits_floating<long unsigned int> > (0xb5de6b7c) 0 empty
-Class __gnu_cxx::__numeric_traits_integer<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__numeric_traits_integer<long unsigned int> (0xb5de6c6c) 0 empty
-Class __gnu_cxx::__numeric_traits<long unsigned int>
- size=1 align=1
- base size=1 base align=1
-__gnu_cxx::__numeric_traits<long unsigned int> (0xb5c096c0) 0 empty
- __gnu_cxx::__numeric_traits_integer<long unsigned int> (0xb5c0f000) 0 empty
-Vtable for std::collate_byname<char>
-std::collate_byname<char>::_ZTVSt14collate_bynameIcE: 7u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt14collate_bynameIcE)
-8 std::collate_byname<_CharT>::~collate_byname [with _CharT = char]
-12 std::collate_byname<_CharT>::~collate_byname [with _CharT = char]
-16 std::collate<_CharT>::do_compare [with _CharT = char]
-20 std::collate<_CharT>::do_transform [with _CharT = char]
-24 std::collate<_CharT>::do_hash [with _CharT = char]
-
-Class std::collate_byname<char>
- size=12 align=4
- base size=12 base align=4
-std::collate_byname<char> (0xb5c09800) 0
- vptr=((& std::collate_byname<char>::_ZTVSt14collate_bynameIcE) + 8u)
- std::collate<char> (0xb5c09840) 0
- primary-for std::collate_byname<char> (0xb5c09800)
- std::locale::facet (0xb5c0f078) 0
- primary-for std::collate<char> (0xb5c09840)
-
-Vtable for std::collate_byname<wchar_t>
-std::collate_byname<wchar_t>::_ZTVSt14collate_bynameIwE: 7u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt14collate_bynameIwE)
-8 std::collate_byname<_CharT>::~collate_byname [with _CharT = wchar_t]
-12 std::collate_byname<_CharT>::~collate_byname [with _CharT = wchar_t]
-16 std::collate<_CharT>::do_compare [with _CharT = wchar_t]
-20 std::collate<_CharT>::do_transform [with _CharT = wchar_t]
-24 std::collate<_CharT>::do_hash [with _CharT = wchar_t]
-
-Class std::collate_byname<wchar_t>
- size=12 align=4
- base size=12 base align=4
-std::collate_byname<wchar_t> (0xb5c098c0) 0
- vptr=((& std::collate_byname<wchar_t>::_ZTVSt14collate_bynameIwE) + 8u)
- std::collate<wchar_t> (0xb5c09900) 0
- primary-for std::collate_byname<wchar_t> (0xb5c098c0)
- std::locale::facet (0xb5c0f168) 0
- primary-for std::collate<wchar_t> (0xb5c09900)
+
+
+
+
+
Vtable for std::ios_base::failure
std::ios_base::failure::_ZTVNSt8ios_base7failureE: 5u entries
@@ -1872,583 +1094,85 @@ Class std::ios_base
std::ios_base (0xb5c0f21c) 0
vptr=((& std::ios_base::_ZTVSt8ios_base) + 8u)
-Vtable for std::basic_streambuf<char, std::char_traits<char> >
-std::basic_streambuf<char, std::char_traits<char> >::_ZTVSt15basic_streambufIcSt11char_traitsIcEE: 16u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt15basic_streambufIcSt11char_traitsIcEE)
-8 std::basic_streambuf<_CharT, _Traits>::~basic_streambuf [with _CharT = char, _Traits = std::char_traits<char>]
-12 std::basic_streambuf<_CharT, _Traits>::~basic_streambuf [with _CharT = char, _Traits = std::char_traits<char>]
-16 std::basic_streambuf<_CharT, _Traits>::imbue [with _CharT = char, _Traits = std::char_traits<char>]
-20 std::basic_streambuf<_CharT, _Traits>::setbuf [with _CharT = char, _Traits = std::char_traits<char>]
-24 std::basic_streambuf<_CharT, _Traits>::seekoff [with _CharT = char, _Traits = std::char_traits<char>]
-28 std::basic_streambuf<_CharT, _Traits>::seekpos [with _CharT = char, _Traits = std::char_traits<char>]
-32 std::basic_streambuf<_CharT, _Traits>::sync [with _CharT = char, _Traits = std::char_traits<char>]
-36 std::basic_streambuf<_CharT, _Traits>::showmanyc [with _CharT = char, _Traits = std::char_traits<char>]
-40 std::basic_streambuf<_CharT, _Traits>::xsgetn [with _CharT = char, _Traits = std::char_traits<char>]
-44 std::basic_streambuf<_CharT, _Traits>::underflow [with _CharT = char, _Traits = std::char_traits<char>]
-48 std::basic_streambuf<_CharT, _Traits>::uflow [with _CharT = char, _Traits = std::char_traits<char>]
-52 std::basic_streambuf<_CharT, _Traits>::pbackfail [with _CharT = char, _Traits = std::char_traits<char>]
-56 std::basic_streambuf<_CharT, _Traits>::xsputn [with _CharT = char, _Traits = std::char_traits<char>]
-60 std::basic_streambuf<_CharT, _Traits>::overflow [with _CharT = char, _Traits = std::char_traits<char>]
-
-Class std::basic_streambuf<char, std::char_traits<char> >
- size=32 align=4
- base size=32 base align=4
-std::basic_streambuf<char, std::char_traits<char> > (0xb5c69654) 0
- vptr=((& std::basic_streambuf<char, std::char_traits<char> >::_ZTVSt15basic_streambufIcSt11char_traitsIcEE) + 8u)
-Vtable for std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >
-std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >::_ZTVSt15basic_streambufIwSt11char_traitsIwEE: 16u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt15basic_streambufIwSt11char_traitsIwEE)
-8 std::basic_streambuf<_CharT, _Traits>::~basic_streambuf [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-12 std::basic_streambuf<_CharT, _Traits>::~basic_streambuf [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-16 std::basic_streambuf<_CharT, _Traits>::imbue [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-20 std::basic_streambuf<_CharT, _Traits>::setbuf [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-24 std::basic_streambuf<_CharT, _Traits>::seekoff [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-28 std::basic_streambuf<_CharT, _Traits>::seekpos [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-32 std::basic_streambuf<_CharT, _Traits>::sync [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-36 std::basic_streambuf<_CharT, _Traits>::showmanyc [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-40 std::basic_streambuf<_CharT, _Traits>::xsgetn [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-44 std::basic_streambuf<_CharT, _Traits>::underflow [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-48 std::basic_streambuf<_CharT, _Traits>::uflow [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-52 std::basic_streambuf<_CharT, _Traits>::pbackfail [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-56 std::basic_streambuf<_CharT, _Traits>::xsputn [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-60 std::basic_streambuf<_CharT, _Traits>::overflow [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-
-Class std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >
- size=32 align=4
- base size=32 base align=4
-std::basic_streambuf<wchar_t, std::char_traits<wchar_t> > (0xb5c698e8) 0
- vptr=((& std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >::_ZTVSt15basic_streambufIwSt11char_traitsIwEE) + 8u)
+
+
Class std::ctype_base
size=1 align=1
base size=0 base align=1
std::ctype_base (0xb5c69b7c) 0 empty
-Vtable for std::ctype<char>
-std::ctype<char>::_ZTVSt5ctypeIcE: 12u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt5ctypeIcE)
-8 std::ctype<char>::~ctype
-12 std::ctype<char>::~ctype
-16 std::ctype<char>::do_toupper
-20 std::ctype<char>::do_toupper
-24 std::ctype<char>::do_tolower
-28 std::ctype<char>::do_tolower
-32 std::ctype<char>::do_widen
-36 std::ctype<char>::do_widen
-40 std::ctype<char>::do_narrow
-44 std::ctype<char>::do_narrow
-
-Class std::ctype<char>
- size=544 align=4
- base size=542 base align=4
-std::ctype<char> (0xb5cd4fa0) 0
- vptr=((& std::ctype<char>::_ZTVSt5ctypeIcE) + 8u)
- std::locale::facet (0xb5cb1ac8) 0
- primary-for std::ctype<char> (0xb5cd4fa0)
- std::ctype_base (0xb5cb1b04) 0 empty
-
-Vtable for std::__ctype_abstract_base<wchar_t>
-std::__ctype_abstract_base<wchar_t>::_ZTVSt21__ctype_abstract_baseIwE: 16u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt21__ctype_abstract_baseIwE)
-8 std::__ctype_abstract_base<_CharT>::~__ctype_abstract_base [with _CharT = wchar_t]
-12 std::__ctype_abstract_base<_CharT>::~__ctype_abstract_base [with _CharT = wchar_t]
-16 __cxa_pure_virtual
-20 __cxa_pure_virtual
-24 __cxa_pure_virtual
-28 __cxa_pure_virtual
-32 __cxa_pure_virtual
-36 __cxa_pure_virtual
-40 __cxa_pure_virtual
-44 __cxa_pure_virtual
-48 __cxa_pure_virtual
-52 __cxa_pure_virtual
-56 __cxa_pure_virtual
-60 __cxa_pure_virtual
-Class std::__ctype_abstract_base<wchar_t>
- size=8 align=4
- base size=8 base align=4
-std::__ctype_abstract_base<wchar_t> (0xb5ce3870) 0
- vptr=((& std::__ctype_abstract_base<wchar_t>::_ZTVSt21__ctype_abstract_baseIwE) + 8u)
- std::locale::facet (0xb5cf3690) 0
- primary-for std::__ctype_abstract_base<wchar_t> (0xb5ce3870)
- std::ctype_base (0xb5cf36cc) 0 empty
-
-Vtable for std::ctype<wchar_t>
-std::ctype<wchar_t>::_ZTVSt5ctypeIwE: 16u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt5ctypeIwE)
-8 std::ctype<wchar_t>::~ctype
-12 std::ctype<wchar_t>::~ctype
-16 std::ctype<wchar_t>::do_is
-20 std::ctype<wchar_t>::do_is
-24 std::ctype<wchar_t>::do_scan_is
-28 std::ctype<wchar_t>::do_scan_not
-32 std::ctype<wchar_t>::do_toupper
-36 std::ctype<wchar_t>::do_toupper
-40 std::ctype<wchar_t>::do_tolower
-44 std::ctype<wchar_t>::do_tolower
-48 std::ctype<wchar_t>::do_widen
-52 std::ctype<wchar_t>::do_widen
-56 std::ctype<wchar_t>::do_narrow
-60 std::ctype<wchar_t>::do_narrow
-
-Class std::ctype<wchar_t>
- size=1264 align=4
- base size=1264 base align=4
-std::ctype<wchar_t> (0xb5ce7800) 0
- vptr=((& std::ctype<wchar_t>::_ZTVSt5ctypeIwE) + 8u)
- std::__ctype_abstract_base<wchar_t> (0xb5afe6e0) 0
- primary-for std::ctype<wchar_t> (0xb5ce7800)
- std::locale::facet (0xb5cf37bc) 0
- primary-for std::__ctype_abstract_base<wchar_t> (0xb5afe6e0)
- std::ctype_base (0xb5cf37f8) 0 empty
-
-Vtable for std::ctype_byname<char>
-std::ctype_byname<char>::_ZTVSt12ctype_bynameIcE: 12u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt12ctype_bynameIcE)
-8 std::ctype_byname<char>::~ctype_byname
-12 std::ctype_byname<char>::~ctype_byname
-16 std::ctype<char>::do_toupper
-20 std::ctype<char>::do_toupper
-24 std::ctype<char>::do_tolower
-28 std::ctype<char>::do_tolower
-32 std::ctype<char>::do_widen
-36 std::ctype<char>::do_widen
-40 std::ctype<char>::do_narrow
-44 std::ctype<char>::do_narrow
-
-Class std::ctype_byname<char>
- size=544 align=4
- base size=542 base align=4
-std::ctype_byname<char> (0xb5ce79c0) 0
- vptr=((& std::ctype_byname<char>::_ZTVSt12ctype_bynameIcE) + 8u)
- std::ctype<char> (0xb5b05e60) 0
- primary-for std::ctype_byname<char> (0xb5ce79c0)
- std::locale::facet (0xb5b04b04) 0
- primary-for std::ctype<char> (0xb5b05e60)
- std::ctype_base (0xb5b04b40) 0 empty
-
-Vtable for std::ctype_byname<wchar_t>
-std::ctype_byname<wchar_t>::_ZTVSt12ctype_bynameIwE: 16u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt12ctype_bynameIwE)
-8 std::ctype_byname<wchar_t>::~ctype_byname
-12 std::ctype_byname<wchar_t>::~ctype_byname
-16 std::ctype<wchar_t>::do_is
-20 std::ctype<wchar_t>::do_is
-24 std::ctype<wchar_t>::do_scan_is
-28 std::ctype<wchar_t>::do_scan_not
-32 std::ctype<wchar_t>::do_toupper
-36 std::ctype<wchar_t>::do_toupper
-40 std::ctype<wchar_t>::do_tolower
-44 std::ctype<wchar_t>::do_tolower
-48 std::ctype<wchar_t>::do_widen
-52 std::ctype<wchar_t>::do_widen
-56 std::ctype<wchar_t>::do_narrow
-60 std::ctype<wchar_t>::do_narrow
-
-Class std::ctype_byname<wchar_t>
- size=1264 align=4
- base size=1264 base align=4
-std::ctype_byname<wchar_t> (0xb5ce7a40) 0
- vptr=((& std::ctype_byname<wchar_t>::_ZTVSt12ctype_bynameIwE) + 8u)
- std::ctype<wchar_t> (0xb5ce7a80) 0
- primary-for std::ctype_byname<wchar_t> (0xb5ce7a40)
- std::__ctype_abstract_base<wchar_t> (0xb5b094b0) 0
- primary-for std::ctype<wchar_t> (0xb5ce7a80)
- std::locale::facet (0xb5b04ca8) 0
- primary-for std::__ctype_abstract_base<wchar_t> (0xb5b094b0)
- std::ctype_base (0xb5b04ce4) 0 empty
+
+
+
+
+
+
+
+
Class std::__num_base
size=1 align=1
base size=0 base align=1
std::__num_base (0xb5b0d654) 0 empty
-Vtable for std::numpunct<char>
-std::numpunct<char>::_ZTVSt8numpunctIcE: 9u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt8numpunctIcE)
-8 std::numpunct<_CharT>::~numpunct [with _CharT = char]
-12 std::numpunct<_CharT>::~numpunct [with _CharT = char]
-16 std::numpunct<_CharT>::do_decimal_point [with _CharT = char]
-20 std::numpunct<_CharT>::do_thousands_sep [with _CharT = char]
-24 std::numpunct<_CharT>::do_grouping [with _CharT = char]
-28 std::numpunct<_CharT>::do_truename [with _CharT = char]
-32 std::numpunct<_CharT>::do_falsename [with _CharT = char]
-
-Class std::numpunct<char>
- size=12 align=4
- base size=12 base align=4
-std::numpunct<char> (0xb5b17480) 0
- vptr=((& std::numpunct<char>::_ZTVSt8numpunctIcE) + 8u)
- std::locale::facet (0xb5b0dec4) 0
- primary-for std::numpunct<char> (0xb5b17480)
-Vtable for std::numpunct<wchar_t>
-std::numpunct<wchar_t>::_ZTVSt8numpunctIwE: 9u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt8numpunctIwE)
-8 std::numpunct<_CharT>::~numpunct [with _CharT = wchar_t]
-12 std::numpunct<_CharT>::~numpunct [with _CharT = wchar_t]
-16 std::numpunct<_CharT>::do_decimal_point [with _CharT = wchar_t]
-20 std::numpunct<_CharT>::do_thousands_sep [with _CharT = wchar_t]
-24 std::numpunct<_CharT>::do_grouping [with _CharT = wchar_t]
-28 std::numpunct<_CharT>::do_truename [with _CharT = wchar_t]
-32 std::numpunct<_CharT>::do_falsename [with _CharT = wchar_t]
-
-Class std::numpunct<wchar_t>
- size=12 align=4
- base size=12 base align=4
-std::numpunct<wchar_t> (0xb5b17540) 0
- vptr=((& std::numpunct<wchar_t>::_ZTVSt8numpunctIwE) + 8u)
- std::locale::facet (0xb5b0dfb4) 0
- primary-for std::numpunct<wchar_t> (0xb5b17540)
-Class __gnu_cxx::__conditional_type<true, long unsigned int, long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__conditional_type<true, long unsigned int, long long unsigned int> (0xb5b69618) 0 empty
-Vtable for std::numpunct_byname<char>
-std::numpunct_byname<char>::_ZTVSt15numpunct_bynameIcE: 9u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt15numpunct_bynameIcE)
-8 std::numpunct_byname<_CharT>::~numpunct_byname [with _CharT = char]
-12 std::numpunct_byname<_CharT>::~numpunct_byname [with _CharT = char]
-16 std::numpunct<_CharT>::do_decimal_point [with _CharT = char]
-20 std::numpunct<_CharT>::do_thousands_sep [with _CharT = char]
-24 std::numpunct<_CharT>::do_grouping [with _CharT = char]
-28 std::numpunct<_CharT>::do_truename [with _CharT = char]
-32 std::numpunct<_CharT>::do_falsename [with _CharT = char]
-
-Class std::numpunct_byname<char>
- size=12 align=4
- base size=12 base align=4
-std::numpunct_byname<char> (0xb5b9ba80) 0
- vptr=((& std::numpunct_byname<char>::_ZTVSt15numpunct_bynameIcE) + 8u)
- std::numpunct<char> (0xb5b9bac0) 0
- primary-for std::numpunct_byname<char> (0xb5b9ba80)
- std::locale::facet (0xb5b69c6c) 0
- primary-for std::numpunct<char> (0xb5b9bac0)
-
-Vtable for std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >
-std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >::_ZTVSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE: 15u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE)
-8 std::num_get<_CharT, _InIter>::~num_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-12 std::num_get<_CharT, _InIter>::~num_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-16 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-20 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-24 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-28 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-32 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-36 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-40 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-44 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-48 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-52 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-56 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-
-Class std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >
- size=8 align=4
- base size=8 base align=4
-std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > > (0xb5b9bb00) 0
- vptr=((& std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >::_ZTVSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE) + 8u)
- std::locale::facet (0xb5b69d5c) 0
- primary-for std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > > (0xb5b9bb00)
-Vtable for std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >
-std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::_ZTVSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE: 12u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE)
-8 std::num_put<_CharT, _OutIter>::~num_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-12 std::num_put<_CharT, _OutIter>::~num_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-16 std::num_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-20 std::num_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-24 std::num_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-28 std::num_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-32 std::num_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-36 std::num_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-40 std::num_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-44 std::num_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-
-Class std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >
- size=8 align=4
- base size=8 base align=4
-std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > > (0xb5b9bb80) 0
- vptr=((& std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::_ZTVSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE) + 8u)
- std::locale::facet (0xb5b69e4c) 0
- primary-for std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > > (0xb5b9bb80)
-Vtable for std::numpunct_byname<wchar_t>
-std::numpunct_byname<wchar_t>::_ZTVSt15numpunct_bynameIwE: 9u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt15numpunct_bynameIwE)
-8 std::numpunct_byname<_CharT>::~numpunct_byname [with _CharT = wchar_t]
-12 std::numpunct_byname<_CharT>::~numpunct_byname [with _CharT = wchar_t]
-16 std::numpunct<_CharT>::do_decimal_point [with _CharT = wchar_t]
-20 std::numpunct<_CharT>::do_thousands_sep [with _CharT = wchar_t]
-24 std::numpunct<_CharT>::do_grouping [with _CharT = wchar_t]
-28 std::numpunct<_CharT>::do_truename [with _CharT = wchar_t]
-32 std::numpunct<_CharT>::do_falsename [with _CharT = wchar_t]
-
-Class std::numpunct_byname<wchar_t>
- size=12 align=4
- base size=12 base align=4
-std::numpunct_byname<wchar_t> (0xb5b9bc00) 0
- vptr=((& std::numpunct_byname<wchar_t>::_ZTVSt15numpunct_bynameIwE) + 8u)
- std::numpunct<wchar_t> (0xb5b9bc40) 0
- primary-for std::numpunct_byname<wchar_t> (0xb5b9bc00)
- std::locale::facet (0xb5b69f3c) 0
- primary-for std::numpunct<wchar_t> (0xb5b9bc40)
-
-Vtable for std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >
-std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::_ZTVSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE: 15u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE)
-8 std::num_get<_CharT, _InIter>::~num_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-12 std::num_get<_CharT, _InIter>::~num_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-16 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-20 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-24 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-28 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-32 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-36 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-40 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-44 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-48 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-52 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-56 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-
-Class std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >
- size=8 align=4
- base size=8 base align=4
-std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > > (0xb5b9bcc0) 0
- vptr=((& std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::_ZTVSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE) + 8u)
- std::locale::facet (0xb5b695dc) 0
- primary-for std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > > (0xb5b9bcc0)
-Vtable for std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >
-std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::_ZTVSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE: 12u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE)
-8 std::num_put<_CharT, _OutIter>::~num_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-12 std::num_put<_CharT, _OutIter>::~num_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-16 std::num_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-20 std::num_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-24 std::num_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-28 std::num_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-32 std::num_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-36 std::num_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-40 std::num_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-44 std::num_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-
-Class std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >
- size=8 align=4
- base size=8 base align=4
-std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > > (0xb5b9bd40) 0
- vptr=((& std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::_ZTVSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE) + 8u)
- std::locale::facet (0xb5b69f00) 0
- primary-for std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > > (0xb5b9bd40)
-Vtable for std::basic_ios<char, std::char_traits<char> >
-std::basic_ios<char, std::char_traits<char> >::_ZTVSt9basic_iosIcSt11char_traitsIcEE: 4u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt9basic_iosIcSt11char_traitsIcEE)
-8 std::basic_ios<_CharT, _Traits>::~basic_ios [with _CharT = char, _Traits = std::char_traits<char>]
-12 std::basic_ios<_CharT, _Traits>::~basic_ios [with _CharT = char, _Traits = std::char_traits<char>]
-
-Class std::basic_ios<char, std::char_traits<char> >
- size=136 align=4
- base size=136 base align=4
-std::basic_ios<char, std::char_traits<char> > (0xb5bf0d80) 0
- vptr=((& std::basic_ios<char, std::char_traits<char> >::_ZTVSt9basic_iosIcSt11char_traitsIcEE) + 8u)
- std::ios_base (0xb5be27bc) 0
- primary-for std::basic_ios<char, std::char_traits<char> > (0xb5bf0d80)
-
-Vtable for std::basic_ios<wchar_t, std::char_traits<wchar_t> >
-std::basic_ios<wchar_t, std::char_traits<wchar_t> >::_ZTVSt9basic_iosIwSt11char_traitsIwEE: 4u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt9basic_iosIwSt11char_traitsIwEE)
-8 std::basic_ios<_CharT, _Traits>::~basic_ios [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-12 std::basic_ios<_CharT, _Traits>::~basic_ios [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-
-Class std::basic_ios<wchar_t, std::char_traits<wchar_t> >
- size=140 align=4
- base size=140 base align=4
-std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb5bf0dc0) 0
- vptr=((& std::basic_ios<wchar_t, std::char_traits<wchar_t> >::_ZTVSt9basic_iosIwSt11char_traitsIwEE) + 8u)
- std::ios_base (0xb5be28ac) 0
- primary-for std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb5bf0dc0)
-
-Vtable for std::basic_ostream<char, std::char_traits<char> >
-std::basic_ostream<char, std::char_traits<char> >::_ZTVSo: 10u entries
-0 4u
-4 (int (*)(...))0
-8 (int (*)(...))(& _ZTISo)
-12 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = char, _Traits = std::char_traits<char>]
-16 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = char, _Traits = std::char_traits<char>]
-20 -4u
-24 (int (*)(...))-0x000000004
-28 (int (*)(...))(& _ZTISo)
-32 std::basic_ostream<char, std::char_traits<char> >::_ZTv0_n12_NSoD1Ev
-36 std::basic_ostream<char, std::char_traits<char> >::_ZTv0_n12_NSoD0Ev
+
+
+
+
+
+
+
+
+
+
+
+
+
+
VTT for std::basic_ostream<char, std::char_traits<char> >
std::basic_ostream<char, std::char_traits<char> >::_ZTTSo: 2u entries
0 ((& std::basic_ostream<char, std::char_traits<char> >::_ZTVSo) + 12u)
4 ((& std::basic_ostream<char, std::char_traits<char> >::_ZTVSo) + 32u)
-Class std::basic_ostream<char, std::char_traits<char> >
- size=140 align=4
- base size=4 base align=4
-std::basic_ostream<char, std::char_traits<char> > (0xb5a3aa40) 0 nearly-empty
- vptridx=0u vptr=((& std::basic_ostream<char, std::char_traits<char> >::_ZTVSo) + 12u)
- std::basic_ios<char, std::char_traits<char> > (0xb5a3aa80) 4 virtual
- vptridx=4u vbaseoffset=-0x00000000c vptr=((& std::basic_ostream<char, std::char_traits<char> >::_ZTVSo) + 32u)
- std::ios_base (0xb5a224ec) 4
- primary-for std::basic_ios<char, std::char_traits<char> > (0xb5a3aa80)
-
-Class std::basic_ostream<char, std::char_traits<char> >::sentry
- size=8 align=4
- base size=8 base align=4
-std::basic_ostream<char, std::char_traits<char> >::sentry (0xb5a226cc) 0
-Vtable for std::basic_ostream<wchar_t, std::char_traits<wchar_t> >
-std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE: 10u entries
-0 4u
-4 (int (*)(...))0
-8 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE)
-12 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-16 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-20 -4u
-24 (int (*)(...))-0x000000004
-28 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE)
-32 std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n12_NSt13basic_ostreamIwSt11char_traitsIwEED1Ev
-36 std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n12_NSt13basic_ostreamIwSt11char_traitsIwEED0Ev
+
VTT for std::basic_ostream<wchar_t, std::char_traits<wchar_t> >
std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTTSt13basic_ostreamIwSt11char_traitsIwEE: 2u entries
0 ((& std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 12u)
4 ((& std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 32u)
-Class std::basic_ostream<wchar_t, std::char_traits<wchar_t> >
- size=144 align=4
- base size=4 base align=4
-std::basic_ostream<wchar_t, std::char_traits<wchar_t> > (0xb5a3abc0) 0 nearly-empty
- vptridx=0u vptr=((& std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 12u)
- std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb5a3ac00) 4 virtual
- vptridx=4u vbaseoffset=-0x00000000c vptr=((& std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 32u)
- std::ios_base (0xb5a22708) 4
- primary-for std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb5a3ac00)
-
-Class std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::sentry
- size=8 align=4
- base size=8 base align=4
-std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::sentry (0xb5a228ac) 0
-Vtable for std::basic_istream<char, std::char_traits<char> >
-std::basic_istream<char, std::char_traits<char> >::_ZTVSi: 10u entries
-0 8u
-4 (int (*)(...))0
-8 (int (*)(...))(& _ZTISi)
-12 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = char, _Traits = std::char_traits<char>]
-16 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = char, _Traits = std::char_traits<char>]
-20 -8u
-24 (int (*)(...))-0x000000008
-28 (int (*)(...))(& _ZTISi)
-32 std::basic_istream<char, std::char_traits<char> >::_ZTv0_n12_NSiD1Ev
-36 std::basic_istream<char, std::char_traits<char> >::_ZTv0_n12_NSiD0Ev
+
VTT for std::basic_istream<char, std::char_traits<char> >
std::basic_istream<char, std::char_traits<char> >::_ZTTSi: 2u entries
0 ((& std::basic_istream<char, std::char_traits<char> >::_ZTVSi) + 12u)
4 ((& std::basic_istream<char, std::char_traits<char> >::_ZTVSi) + 32u)
-Class std::basic_istream<char, std::char_traits<char> >
- size=144 align=4
- base size=8 base align=4
-std::basic_istream<char, std::char_traits<char> > (0xb5a79480) 0
- vptridx=0u vptr=((& std::basic_istream<char, std::char_traits<char> >::_ZTVSi) + 12u)
- std::basic_ios<char, std::char_traits<char> > (0xb5a794c0) 8 virtual
- vptridx=4u vbaseoffset=-0x00000000c vptr=((& std::basic_istream<char, std::char_traits<char> >::_ZTVSi) + 32u)
- std::ios_base (0xb5a22e10) 8
- primary-for std::basic_ios<char, std::char_traits<char> > (0xb5a794c0)
-
-Vtable for std::basic_istream<wchar_t, std::char_traits<wchar_t> >
-std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_istreamIwSt11char_traitsIwEE: 10u entries
-0 8u
-4 (int (*)(...))0
-8 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE)
-12 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-16 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-20 -8u
-24 (int (*)(...))-0x000000008
-28 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE)
-32 std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n12_NSt13basic_istreamIwSt11char_traitsIwEED1Ev
-36 std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n12_NSt13basic_istreamIwSt11char_traitsIwEED0Ev
+
VTT for std::basic_istream<wchar_t, std::char_traits<wchar_t> >
std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTTSt13basic_istreamIwSt11char_traitsIwEE: 2u entries
0 ((& std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 12u)
4 ((& std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 32u)
-Class std::basic_istream<wchar_t, std::char_traits<wchar_t> >
- size=148 align=4
- base size=8 base align=4
-std::basic_istream<wchar_t, std::char_traits<wchar_t> > (0xb5a79580) 0
- vptridx=0u vptr=((& std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 12u)
- std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb5a795c0) 8 virtual
- vptridx=4u vbaseoffset=-0x00000000c vptr=((& std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 32u)
- std::ios_base (0xb5a880f0) 8
- primary-for std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb5a795c0)
-
-Class __gnu_cxx::__conditional_type<true, __gnu_cxx::__numeric_traits_integer<short int>, __gnu_cxx::__numeric_traits_floating<short int> >
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__conditional_type<true, __gnu_cxx::__numeric_traits_integer<short int>, __gnu_cxx::__numeric_traits_floating<short int> > (0xb5a887f8) 0 empty
-Class __gnu_cxx::__numeric_traits_integer<short int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__numeric_traits_integer<short int> (0xb5a88834) 0 empty
-Class __gnu_cxx::__numeric_traits<short int>
- size=1 align=1
- base size=1 base align=1
-__gnu_cxx::__numeric_traits<short int> (0xb5aa6480) 0 empty
- __gnu_cxx::__numeric_traits_integer<short int> (0xb5a88870) 0 empty
-Class std::basic_istream<char, std::char_traits<char> >::sentry
- size=1 align=1
- base size=1 base align=1
-std::basic_istream<char, std::char_traits<char> >::sentry (0xb5a88e4c) 0
-Vtable for std::basic_iostream<char, std::char_traits<char> >
-std::basic_iostream<char, std::char_traits<char> >::_ZTVSd: 15u entries
-0 12u
-4 (int (*)(...))0
-8 (int (*)(...))(& _ZTISd)
-12 std::basic_iostream<_CharT, _Traits>::~basic_iostream [with _CharT = char, _Traits = std::char_traits<char>]
-16 std::basic_iostream<_CharT, _Traits>::~basic_iostream [with _CharT = char, _Traits = std::char_traits<char>]
-20 4u
-24 (int (*)(...))-0x000000008
-28 (int (*)(...))(& _ZTISd)
-32 std::basic_iostream<char, std::char_traits<char> >::_ZThn8_NSdD1Ev
-36 std::basic_iostream<char, std::char_traits<char> >::_ZThn8_NSdD0Ev
-40 -12u
-44 (int (*)(...))-0x00000000c
-48 (int (*)(...))(& _ZTISd)
-52 std::basic_iostream<char, std::char_traits<char> >::_ZTv0_n12_NSdD1Ev
-56 std::basic_iostream<char, std::char_traits<char> >::_ZTv0_n12_NSdD0Ev
+
Construction vtable for std::basic_istream<char, std::char_traits<char> > (0xb5ae0380 instance) in std::basic_iostream<char, std::char_traits<char> >
std::basic_iostream<char, std::char_traits<char> >::_ZTCSd0_Si: 10u entries
@@ -2486,44 +1210,8 @@ std::basic_iostream<char, std::char_traits<char> >::_ZTTSd: 7u entries
20 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 52u)
24 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 32u)
-Class std::basic_iostream<char, std::char_traits<char> >
- size=148 align=4
- base size=12 base align=4
-std::basic_iostream<char, std::char_traits<char> > (0xb5aeab40) 0
- vptridx=0u vptr=((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 12u)
- std::basic_istream<char, std::char_traits<char> > (0xb5ae0380) 0
- primary-for std::basic_iostream<char, std::char_traits<char> > (0xb5aeab40)
- subvttidx=4u
- std::basic_ios<char, std::char_traits<char> > (0xb5ae03c0) 12 virtual
- vptridx=20u vbaseoffset=-0x00000000c vptr=((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 52u)
- std::ios_base (0xb5a88e88) 12
- primary-for std::basic_ios<char, std::char_traits<char> > (0xb5ae03c0)
- std::basic_ostream<char, std::char_traits<char> > (0xb5ae0400) 8 nearly-empty
- subvttidx=12u vptridx=24u vptr=((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 32u)
- std::basic_ios<char, std::char_traits<char> > (0xb5ae03c0) alternative-path
-
-Class std::basic_istream<wchar_t, std::char_traits<wchar_t> >::sentry
- size=1 align=1
- base size=1 base align=1
-std::basic_istream<wchar_t, std::char_traits<wchar_t> >::sentry (0xb5af3000) 0
-Vtable for std::basic_iostream<wchar_t, std::char_traits<wchar_t> >
-std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE: 15u entries
-0 12u
-4 (int (*)(...))0
-8 (int (*)(...))(& _ZTISt14basic_iostreamIwSt11char_traitsIwEE)
-12 std::basic_iostream<_CharT, _Traits>::~basic_iostream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-16 std::basic_iostream<_CharT, _Traits>::~basic_iostream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-20 4u
-24 (int (*)(...))-0x000000008
-28 (int (*)(...))(& _ZTISt14basic_iostreamIwSt11char_traitsIwEE)
-32 std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZThn8_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev
-36 std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZThn8_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev
-40 -12u
-44 (int (*)(...))-0x00000000c
-48 (int (*)(...))(& _ZTISt14basic_iostreamIwSt11char_traitsIwEE)
-52 std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n12_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev
-56 std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n12_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev
+
Construction vtable for std::basic_istream<wchar_t, std::char_traits<wchar_t> > (0xb5ae0700 instance) in std::basic_iostream<wchar_t, std::char_traits<wchar_t> >
std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E: 10u entries
@@ -2561,110 +1249,21 @@ std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTTSt14basic_iostream
20 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 52u)
24 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 32u)
-Class std::basic_iostream<wchar_t, std::char_traits<wchar_t> >
- size=152 align=4
- base size=12 base align=4
-std::basic_iostream<wchar_t, std::char_traits<wchar_t> > (0xb58f4be0) 0
- vptridx=0u vptr=((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 12u)
- std::basic_istream<wchar_t, std::char_traits<wchar_t> > (0xb5ae0700) 0
- primary-for std::basic_iostream<wchar_t, std::char_traits<wchar_t> > (0xb58f4be0)
- subvttidx=4u
- std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb5ae0740) 12 virtual
- vptridx=20u vbaseoffset=-0x00000000c vptr=((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 52u)
- std::ios_base (0xb5af303c) 12
- primary-for std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb5ae0740)
- std::basic_ostream<wchar_t, std::char_traits<wchar_t> > (0xb5ae0780) 8 nearly-empty
- subvttidx=12u vptridx=24u vptr=((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 32u)
- std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb5ae0740) alternative-path
-
-Class QVector<double>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<double>::<anonymous union> (0xb5af3924) 0
-Class QVector<double>
- size=4 align=4
- base size=4 base align=4
-QVector<double> (0xb5af38ac) 0
-Class QtConcurrent::Median<double>
- size=24 align=4
- base size=22 base align=4
-QtConcurrent::Median<double> (0xb5af3834) 0
+
Class QtConcurrent::BlockSizeManager
size=72 align=4
base size=72 base align=4
QtConcurrent::BlockSizeManager (0xb5af3780) 0
-Class QtConcurrent::ResultReporter<void>
- size=1 align=1
- base size=0 base align=1
-QtConcurrent::ResultReporter<void> (0xb5af3ce4) 0 empty
-Class QFlags<QtConcurrent::ReduceOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QtConcurrent::ReduceOption> (0xb59264b0) 0
-Class QtConcurrent::SelectSpecialization<void>
- size=1 align=1
- base size=0 base align=1
-QtConcurrent::SelectSpecialization<void> (0xb5817924) 0 empty
-Vtable for QtConcurrent::RunFunctionTaskBase<void>
-QtConcurrent::RunFunctionTaskBase<void>::_ZTVN12QtConcurrent19RunFunctionTaskBaseIvEE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTIN12QtConcurrent19RunFunctionTaskBaseIvEE)
-8 QtConcurrent::RunFunctionTaskBase<void>::~RunFunctionTaskBase
-12 QtConcurrent::RunFunctionTaskBase<void>::~RunFunctionTaskBase
-16 QtConcurrent::RunFunctionTaskBase<T>::run [with T = void]
-20 __cxa_pure_virtual
-24 (int (*)(...))-0x000000008
-28 (int (*)(...))(& _ZTIN12QtConcurrent19RunFunctionTaskBaseIvEE)
-32 QtConcurrent::RunFunctionTaskBase<void>::_ZThn8_N12QtConcurrent19RunFunctionTaskBaseIvE3runEv
-36 QtConcurrent::RunFunctionTaskBase<void>::_ZThn8_N12QtConcurrent19RunFunctionTaskBaseIvED1Ev
-40 QtConcurrent::RunFunctionTaskBase<void>::_ZThn8_N12QtConcurrent19RunFunctionTaskBaseIvED0Ev
-Class QtConcurrent::RunFunctionTaskBase<void>
- size=16 align=4
- base size=16 base align=4
-QtConcurrent::RunFunctionTaskBase<void> (0xb582c370) 0
- vptr=((& QtConcurrent::RunFunctionTaskBase<void>::_ZTVN12QtConcurrent19RunFunctionTaskBaseIvEE) + 8u)
- QFutureInterface<void> (0xb581ca00) 0
- primary-for QtConcurrent::RunFunctionTaskBase<void> (0xb582c370)
- QFutureInterfaceBase (0xb5817b04) 0
- primary-for QFutureInterface<void> (0xb581ca00)
- QRunnable (0xb5817b40) 8
- vptr=((& QtConcurrent::RunFunctionTaskBase<void>::_ZTVN12QtConcurrent19RunFunctionTaskBaseIvEE) + 32u)
-
-Vtable for QtConcurrent::RunFunctionTask<void>
-QtConcurrent::RunFunctionTask<void>::_ZTVN12QtConcurrent15RunFunctionTaskIvEE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTIN12QtConcurrent15RunFunctionTaskIvEE)
-8 QtConcurrent::RunFunctionTask<void>::~RunFunctionTask
-12 QtConcurrent::RunFunctionTask<void>::~RunFunctionTask
-16 QtConcurrent::RunFunctionTask<void>::run
-20 __cxa_pure_virtual
-24 (int (*)(...))-0x000000008
-28 (int (*)(...))(& _ZTIN12QtConcurrent15RunFunctionTaskIvEE)
-32 QtConcurrent::RunFunctionTask<void>::_ZThn8_N12QtConcurrent15RunFunctionTaskIvE3runEv
-36 QtConcurrent::RunFunctionTask<void>::_ZThn8_N12QtConcurrent15RunFunctionTaskIvED1Ev
-40 QtConcurrent::RunFunctionTask<void>::_ZThn8_N12QtConcurrent15RunFunctionTaskIvED0Ev
-Class QtConcurrent::RunFunctionTask<void>
- size=16 align=4
- base size=16 base align=4
-QtConcurrent::RunFunctionTask<void> (0xb581ca80) 0
- vptr=((& QtConcurrent::RunFunctionTask<void>::_ZTVN12QtConcurrent15RunFunctionTaskIvEE) + 8u)
- QtConcurrent::RunFunctionTaskBase<void> (0xb582c780) 0
- primary-for QtConcurrent::RunFunctionTask<void> (0xb581ca80)
- QFutureInterface<void> (0xb581cac0) 0
- primary-for QtConcurrent::RunFunctionTaskBase<void> (0xb582c780)
- QFutureInterfaceBase (0xb5817ce4) 0
- primary-for QFutureInterface<void> (0xb581cac0)
- QRunnable (0xb5817d20) 8
- vptr=((& QtConcurrent::RunFunctionTask<void>::_ZTVN12QtConcurrent15RunFunctionTaskIvEE) + 32u)
+
Class QLibraryInfo
size=1 align=1
@@ -2715,50 +1314,22 @@ QFile (0xb577fe00) 0
QObject (0xb579e078) 0
primary-for QIODevice (0xb577fe40)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0xb57b59d8) 0
Class QFileInfo
size=4 align=4
base size=4 base align=4
QFileInfo (0xb57c65a0) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0xb57d4c30) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0xb57d4f3c) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0xb57eaca8) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0xb57eac30) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0xb57ead98) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0xb561630c) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0xb56163fc) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -2833,10 +1404,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0xb56446cc) 0
vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0xb56577bc) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -2926,10 +1493,6 @@ Class QDirIterator
QDirIterator (0xb567799c) 0
vptr=((& QDirIterator::_ZTV12QDirIterator) + 8u)
-Class QFlags<QDirIterator::IteratorFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDirIterator::IteratorFlag> (0xb5686168) 0
Vtable for QFileSystemWatcher
QFileSystemWatcher::_ZTV18QFileSystemWatcher: 14u entries
@@ -3067,25 +1630,13 @@ Class QLocale::Data
base size=4 base align=2
QLocale::Data (0xb56e712c) 0
-Class QLocale::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QLocale::<anonymous union> (0xb56e71a4) 0
Class QLocale
size=4 align=4
base size=4 base align=4
QLocale (0xb56bcf3c) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0xb56e799c) 0 empty
-Class QFlags<QLocale::NumberOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLocale::NumberOption> (0xb56e7b04) 0
Class QResource
size=4 align=4
@@ -3097,275 +1648,59 @@ Class QMetaType
base size=0 base align=1
QMetaType (0xb550c3fc) 0 empty
-Class QMetaTypeId2<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QString> (0xb550c834) 0 empty
-Class QMetaTypeId2<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<int> (0xb550ca14) 0 empty
-Class QMetaTypeId2<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned int> (0xb550cbf4) 0 empty
-Class QMetaTypeId2<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<bool> (0xb550cdd4) 0 empty
-Class QMetaTypeId2<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<double> (0xb550cfb4) 0 empty
-Class QMetaTypeId2<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QByteArray> (0xb55211a4) 0 empty
-Class QMetaTypeId2<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QChar> (0xb5521384) 0 empty
-Class QMetaTypeId2<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long int> (0xb5521564) 0 empty
-Class QMetaTypeId2<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short int> (0xb5521744) 0 empty
-Class QMetaTypeId2<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<char> (0xb5521924) 0 empty
-Class QMetaTypeId2<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long unsigned int> (0xb5521b04) 0 empty
-Class QMetaTypeId2<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short unsigned int> (0xb5521ce4) 0 empty
-Class QMetaTypeId2<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned char> (0xb5521ec4) 0 empty
-Class QMetaTypeId2<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<float> (0xb552b0b4) 0 empty
-Class QMetaTypeId2<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QObject*> (0xb552b294) 0 empty
-Class QMetaTypeId2<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QWidget*> (0xb552b474) 0 empty
-Class QMetaTypeId2<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<void*> (0xb552b654) 0 empty
-Class QMetaTypeId2<long long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long int> (0xb552b834) 0 empty
-Class QMetaTypeId2<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long unsigned int> (0xb552ba14) 0 empty
-Class QMetaTypeId2<QStringList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QStringList> (0xb552bbf4) 0 empty
-Class QMetaTypeId2<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitArray> (0xb552bdd4) 0 empty
-Class QMetaTypeId2<QDate>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDate> (0xb552bfb4) 0 empty
-Class QMetaTypeId2<QTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTime> (0xb55321a4) 0 empty
-Class QMetaTypeId2<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDateTime> (0xb5532384) 0 empty
-Class QMetaTypeId2<QUrl>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QUrl> (0xb5532564) 0 empty
-Class QMetaTypeId2<QLocale>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLocale> (0xb5532744) 0 empty
-Class QMetaTypeId2<QRect>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRect> (0xb5532924) 0 empty
-Class QMetaTypeId2<QRectF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRectF> (0xb5532b04) 0 empty
-Class QMetaTypeId2<QSize>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSize> (0xb5532ce4) 0 empty
-Class QMetaTypeId2<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizeF> (0xb5532ec4) 0 empty
-Class QMetaTypeId2<QLine>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLine> (0xb553a0b4) 0 empty
-Class QMetaTypeId2<QLineF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLineF> (0xb553a294) 0 empty
-Class QMetaTypeId2<QPoint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPoint> (0xb553a474) 0 empty
-Class QMetaTypeId2<QPointF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPointF> (0xb553a654) 0 empty
-Class QMetaTypeId2<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegExp> (0xb553a834) 0 empty
-Class QMetaTypeId2<QColorGroup>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColorGroup> (0xb553aa14) 0 empty
-Class QMetaTypeId2<QFont>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QFont> (0xb553abf4) 0 empty
-Class QMetaTypeId2<QPixmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPixmap> (0xb553add4) 0 empty
-Class QMetaTypeId2<QBrush>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBrush> (0xb553afb4) 0 empty
-Class QMetaTypeId2<QColor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColor> (0xb55431a4) 0 empty
-Class QMetaTypeId2<QPalette>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPalette> (0xb5543384) 0 empty
-Class QMetaTypeId2<QIcon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QIcon> (0xb5543564) 0 empty
-Class QMetaTypeId2<QImage>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QImage> (0xb5543744) 0 empty
-Class QMetaTypeId2<QPolygon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPolygon> (0xb5543924) 0 empty
-Class QMetaTypeId2<QRegion>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegion> (0xb5543b04) 0 empty
-Class QMetaTypeId2<QBitmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitmap> (0xb5543ce4) 0 empty
-Class QMetaTypeId2<QCursor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QCursor> (0xb5543ec4) 0 empty
-Class QMetaTypeId2<QSizePolicy>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizePolicy> (0xb55480b4) 0 empty
-Class QMetaTypeId2<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QKeySequence> (0xb5548294) 0 empty
-Class QMetaTypeId2<QPen>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPen> (0xb5548474) 0 empty
-Class QMetaTypeId2<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextLength> (0xb5548654) 0 empty
-Class QMetaTypeId2<QTextFormat>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextFormat> (0xb5548834) 0 empty
-Class QMetaTypeId2<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMatrix> (0xb5548a14) 0 empty
-Class QMetaTypeId2<QTransform>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTransform> (0xb5548bf4) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -3392,45 +1727,17 @@ Class QVariant
base size=12 base align=4
QVariant (0xb5548dd4) 0
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0xb5582870) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0xb55827f8) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0xb5582960) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0xb55828e8) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0xb55bace4) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0xb55c530c) 0 empty
-Class QMetaTypeId2<QList<QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QList<QVariant> > (0xb55c54ec) 0 empty
-Class QMetaTypeId2<QMap<QString, QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMap<QString, QVariant> > (0xb55c56cc) 0 empty
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -3508,15 +1815,7 @@ Class QUrl
base size=4 base align=4
QUrl (0xb5415744) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0xb5423690) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0xb544a0f0) 0 empty
Vtable for QEventLoop
QEventLoop::_ZTV10QEventLoop: 14u entries
@@ -3543,10 +1842,6 @@ QEventLoop (0xb5412ac0) 0
QObject (0xb544af78) 0
primary-for QEventLoop (0xb5412ac0)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0xb545c5a0) 0
Vtable for QAbstractEventDispatcher
QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 27u entries
@@ -3591,20 +1886,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0xb547e834) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0xb5493bf4) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0xb5493ce4) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0xb549c438) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -3774,10 +2061,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0xb54e95a0) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0xb54e9d20) 0 empty
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -3889,20 +2172,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0xb532a960) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0xb532ae10) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0xb532af00) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0xb5362348) 0 empty
Class QMetaProperty
size=20 align=4
@@ -3914,10 +2189,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0xb5362744) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0xb5362a8c) 0 empty
Vtable for QMimeData
QMimeData::_ZTV9QMimeData: 17u entries
@@ -4129,10 +2400,6 @@ QLibrary (0xb53ad7c0) 0
QObject (0xb53d03c0) 0
primary-for QLibrary (0xb53ad7c0)
-Class QFlags<QLibrary::LoadHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLibrary::LoadHint> (0xb53de30c) 0
Vtable for QPluginLoader
QPluginLoader::_ZTV13QPluginLoader: 14u entries
@@ -4169,20 +2436,12 @@ Class QReadWriteLock
base size=4 base align=4
QReadWriteLock (0xb52098e8) 0
-Class QReadLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QReadLocker::<anonymous union> (0xb5209f78) 0
Class QReadLocker
size=4 align=4
base size=4 base align=4
QReadLocker (0xb5209c6c) 0
-Class QWriteLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QWriteLocker::<anonymous union> (0xb5220474) 0
Class QWriteLocker
size=4 align=4
@@ -4209,10 +2468,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0xb5259a50) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0xb5268744) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -4229,70 +2484,42 @@ Class QDate
base size=4 base align=4
QDate (0xb5284744) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0xb52a40f0) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0xb52a41e0) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0xb52b2744) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0xb52b2834) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0xb52baf3c) 0 empty
Class QPoint
size=8 align=4
base size=8 base align=4
QPoint (0xb52cc0b4) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0xb52cc690) 0 empty
Class QPointF
size=16 align=4
base size=16 base align=4
QPointF (0xb50ca12c) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0xb50caa14) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0xb50ec0f0) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0xb50ec4b0) 0 empty
Class QLineF
size=32 align=4
base size=32 base align=4
QLineF (0xb510a618) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0xb511b03c) 0 empty
Class QLinkedListData
size=20 align=4
@@ -4304,40 +2531,24 @@ Class QSize
base size=8 base align=4
QSize (0xb5178f78) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0xb51ac960) 0 empty
Class QSizeF
size=16 align=4
base size=16 base align=4
QSizeF (0xb51c6bf4) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0xb4fd4d20) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0xb4ff2a50) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0xb500b924) 0 empty
Class QRectF
size=32 align=4
base size=32 base align=4
QRectF (0xb5052528) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0xb506ca50) 0 empty
Class QSharedData
size=4 align=4
@@ -4385,20 +2596,8 @@ Class QXmlStreamAttribute
base size=53 base align=4
QXmlStreamAttribute (0xb4f101e0) 0
-Class QTypeInfo<QXmlStreamAttribute>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QXmlStreamAttribute> (0xb4f1a780) 0 empty
-Class QVector<QXmlStreamAttribute>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QXmlStreamAttribute>::<anonymous union> (0xb4f1a8e8) 0
-Class QVector<QXmlStreamAttribute>
- size=4 align=4
- base size=4 base align=4
-QVector<QXmlStreamAttribute> (0xb4f1a870) 0
Class QXmlStreamAttributes
size=4 align=4
@@ -4411,30 +2610,18 @@ Class QXmlStreamNamespaceDeclaration
base size=28 base align=4
QXmlStreamNamespaceDeclaration (0xb4f1a960) 0
-Class QTypeInfo<QXmlStreamNamespaceDeclaration>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QXmlStreamNamespaceDeclaration> (0xb4f3d384) 0 empty
Class QXmlStreamNotationDeclaration
size=40 align=4
base size=40 base align=4
QXmlStreamNotationDeclaration (0xb4f3d4b0) 0
-Class QTypeInfo<QXmlStreamNotationDeclaration>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QXmlStreamNotationDeclaration> (0xb4f4e078) 0 empty
Class QXmlStreamEntityDeclaration
size=64 align=4
base size=64 base align=4
QXmlStreamEntityDeclaration (0xb4f4e1a4) 0
-Class QTypeInfo<QXmlStreamEntityDeclaration>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QXmlStreamEntityDeclaration> (0xb4f6312c) 0 empty
Vtable for QXmlStreamEntityResolver
QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver: 6u entries
@@ -4573,15 +2760,7 @@ Class QXmlAttributes::Attribute
base size=16 base align=4
QXmlAttributes::Attribute (0xb4dde744) 0
-Class QList<QXmlAttributes::Attribute>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QXmlAttributes::Attribute>::<anonymous union> (0xb4ddea50) 0
-Class QList<QXmlAttributes::Attribute>
- size=4 align=4
- base size=4 base align=4
-QList<QXmlAttributes::Attribute> (0xb4dde9d8) 0
Vtable for QXmlAttributes
QXmlAttributes::_ZTV14QXmlAttributes: 4u entries
@@ -4964,40 +3143,16 @@ Class QDBusVariant
QDBusVariant (0xb4e4df40) 0
QVariant (0xb4e946cc) 0
-Class QMetaTypeId<QDBusVariant>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QDBusVariant> (0xb4e9e0b4) 0 empty
-Class QMetaTypeId<QDBusObjectPath>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QDBusObjectPath> (0xb4e9e258) 0 empty
-Class QMetaTypeId<QList<QDBusObjectPath> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QList<QDBusObjectPath> > (0xb4e9e3fc) 0 empty
-Class QMetaTypeId<QDBusSignature>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QDBusSignature> (0xb4e9e5a0) 0 empty
-Class QMetaTypeId<QList<QDBusSignature> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QList<QDBusSignature> > (0xb4e9e744) 0 empty
Class QDBusConnection
size=4 align=4
base size=4 base align=4
QDBusConnection (0xb4e9e8e8) 0
-Class QFlags<QDBusConnection::RegisterOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDBusConnection::RegisterOption> (0xb4eac690) 0
Vtable for QDBusAbstractInterface
QDBusAbstractInterface::_ZTV22QDBusAbstractInterface: 14u entries
@@ -5029,40 +3184,12 @@ Class QDBusArgument
base size=4 base align=4
QDBusArgument (0xb4cd712c) 0
-Class QList<QVariant>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::const_iterator (0xb4cdf9d8) 0
-Class QList<QVariant>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::iterator (0xb4cdfa50) 0
-Class QMap<QString, QVariant>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::const_iterator (0xb4d0c000) 0
-Class QMap<QString, QVariant>::iterator
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::iterator (0xb4d0c078) 0
-Class QMetaTypeId<QDBusArgument>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QDBusArgument> (0xb4d0c21c) 0 empty
-Class QDBusReply<QVariant>
- size=28 align=4
- base size=28 base align=4
-QDBusReply<QVariant> (0xb4d0c654) 0
-Class QDBusReply<void>
- size=16 align=4
- base size=16 base align=4
-QDBusReply<void> (0xb4d0c924) 0
Vtable for QDBusConnectionInterface
QDBusConnectionInterface::_ZTV24QDBusConnectionInterface: 14u entries
@@ -5091,10 +3218,6 @@ QDBusConnectionInterface (0xb4d3f100) 0
QObject (0xb4d42078) 0
primary-for QDBusAbstractInterface (0xb4d3f140)
-Class QMetaTypeId2<QDBusConnectionInterface::RegisterServiceReply>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDBusConnectionInterface::RegisterServiceReply> (0xb4d42c6c) 0 empty
Class QDBusContext
size=4 align=4
@@ -5158,103 +3281,23 @@ QDBusServer (0xb4d3f840) 0
QObject (0xb4d4f708) 0
primary-for QDBusServer (0xb4d3f840)
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0xb4daa474) 0
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0xb4dbda14) 0
-Class QMetaTypeId2<QDBusVariant>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDBusVariant> (0xb4c545dc) 0 empty
-Class QList<QVariant>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::Node (0xb4c54b04) 0
-Class QMap<QString, QVariant>::Node
- size=24 align=4
- base size=24 base align=4
-QMap<QString, QVariant>::Node (0xb4c54fb4) 0
-Class QTypeInfo<QtConcurrent::ResultItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QtConcurrent::ResultItem> (0xb4ca621c) 0 empty
-Class QMap<int, QtConcurrent::ResultItem>::Node
- size=20 align=4
- base size=20 base align=4
-QMap<int, QtConcurrent::ResultItem>::Node (0xb4ca6294) 0
-Class QList<QDBusObjectPath>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QDBusObjectPath>::<anonymous union> (0xb4ad5690) 0
-Class QList<QDBusObjectPath>
- size=4 align=4
- base size=4 base align=4
-QList<QDBusObjectPath> (0xb4ad5618) 0
-Class QList<QDBusSignature>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QDBusSignature>::<anonymous union> (0xb4ad5f00) 0
-Class QList<QDBusSignature>
- size=4 align=4
- base size=4 base align=4
-QList<QDBusSignature> (0xb4ad5e88) 0
-Class QMap<int, QtConcurrent::ResultItem>::PayloadNode
- size=16 align=4
- base size=16 base align=4
-QMap<int, QtConcurrent::ResultItem>::PayloadNode (0xb4b08e10) 0
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0xb4b08f3c) 0
-Class QTypeInfo<QXmlAttributes::Attribute>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QXmlAttributes::Attribute> (0xb4b191a4) 0 empty
-Class QList<QXmlAttributes::Attribute>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QXmlAttributes::Attribute>::Node (0xb4b1921c) 0
-Class QMap<QString, QVariant>::PayloadNode
- size=20 align=4
- base size=20 base align=4
-QMap<QString, QVariant>::PayloadNode (0xb4b374b0) 0
-Class QTypeInfo<QDBusObjectPath>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDBusObjectPath> (0xb4b37ce4) 0 empty
-Class QList<QDBusObjectPath>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QDBusObjectPath>::Node (0xb4b37d5c) 0
-Class QTypeInfo<QDBusSignature>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDBusSignature> (0xb4b37fb4) 0 empty
-Class QList<QDBusSignature>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QDBusSignature>::Node (0xb4b5d03c) 0
diff --git a/tests/auto/bic/data/QtDesigner.4.2.0.linux-gcc-ia32.txt b/tests/auto/bic/data/QtDesigner.4.2.0.linux-gcc-ia32.txt
index 095cc1e..6a0e8e6 100644
--- a/tests/auto/bic/data/QtDesigner.4.2.0.linux-gcc-ia32.txt
+++ b/tests/auto/bic/data/QtDesigner.4.2.0.linux-gcc-ia32.txt
@@ -1,34 +1,8 @@
-Class QUintForSize<4>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<4> (0xb7866000) 0 empty
-Class QUintForSize<8>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<8> (0xb7866040) 0 empty
-Class QUintForType<void*>
- size=1 align=1
- base size=1 base align=1
-QUintForType<void*> (0xb7866100) 0 empty
- QUintForSize<4> (0xb7866140) 0 empty
-Class QIntForSize<4>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<4> (0xb78661c0) 0 empty
-Class QIntForSize<8>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<8> (0xb7866200) 0 empty
-Class QIntForType<void*>
- size=1 align=1
- base size=1 base align=1
-QIntForType<void*> (0xb78662c0) 0 empty
- QIntForSize<4> (0xb7866300) 0 empty
Class QSysInfo
size=1 align=1
@@ -50,80 +24,20 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0xb7866580) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0xb7866640) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0xb7866680) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0xb78666c0) 0 empty
-Class QTypeInfo<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned char> (0xb7866700) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0xb7866740) 0 empty
-Class QTypeInfo<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short unsigned int> (0xb7866780) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0xb78667c0) 0 empty
-Class QTypeInfo<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned int> (0xb7866800) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0xb7866840) 0 empty
-Class QTypeInfo<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long unsigned int> (0xb7866880) 0 empty
-Class QTypeInfo<long long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long int> (0xb78668c0) 0 empty
-Class QTypeInfo<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long unsigned int> (0xb7866900) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0xb7866940) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0xb7866980) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0xb78669c0) 0 empty
Class QFlag
size=4 align=4
@@ -140,10 +54,6 @@ Class QChar
base size=2 base align=2
QChar (0xb7866b40) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0xb7866bc0) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -176,75 +86,19 @@ Class QByteRef
base size=8 base align=4
QByteRef (0xb7866ec0) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0xb7866f00) 0 empty
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0xb7866f40) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0xb7866f80) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0xb7866fc0) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0xb73fb000) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0xb73fb040) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0xb73fb080) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0xb73fb0c0) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0xb73fb100) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0xb73fb140) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0xb73fb180) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0xb73fb1c0) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0xb73fb200) 0
-Class QFlags<Qt::TextInteractionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::TextInteractionFlag> (0xb73fb240) 0
Class QInternal
size=1 align=1
@@ -266,10 +120,6 @@ Class QString
base size=4 base align=4
QString (0xb73fb2c0) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0xb73fb440) 0
Class QLatin1String
size=4 align=4
@@ -287,10 +137,6 @@ Class QConstString
QConstString (0xb73fb540) 0
QString (0xb73fb580) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0xb73fb5c0) 0 empty
Class QGenericArgument
size=8 align=4
@@ -303,10 +149,6 @@ Class QGenericReturnArgument
QGenericReturnArgument (0xb73fb640) 0
QGenericArgument (0xb73fb680) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0xb73fb840) 0
Class QMetaObject
size=16 align=4
@@ -374,15 +216,7 @@ Class QListData
base size=4 base align=4
QListData (0xb73fbb80) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0xb73fbf00) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0xb73fbe80) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -478,30 +312,10 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0xb7119040) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0xb7119080) 0 empty
-Class QHash<QString, QList<QAbstractExtensionFactory*> >::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QHash<QString, QList<QAbstractExtensionFactory*> >::<anonymous union> (0xb7119900) 0
-Class QHash<QString, QList<QAbstractExtensionFactory*> >
- size=4 align=4
- base size=4 base align=4
-QHash<QString, QList<QAbstractExtensionFactory*> > (0xb7119880) 0
-Class QList<QAbstractExtensionFactory*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QAbstractExtensionFactory*>::<anonymous union> (0xb7119a00) 0
-Class QList<QAbstractExtensionFactory*>
- size=4 align=4
- base size=4 base align=4
-QList<QAbstractExtensionFactory*> (0xb7119980) 0
Vtable for QExtensionManager
QExtensionManager::_ZTV17QExtensionManager: 24u entries
@@ -545,60 +359,36 @@ Class QSize
base size=8 base align=4
QSize (0xb7119ac0) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0xb7119cc0) 0 empty
Class QSizeF
size=16 align=4
base size=16 base align=4
QSizeF (0xb7119d40) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0xb7119f40) 0 empty
Class QPoint
size=8 align=4
base size=8 base align=4
QPoint (0xb7119640) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0xb7119840) 0 empty
Class QPointF
size=16 align=4
base size=16 base align=4
QPointF (0xb7119940) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0xb7119a40) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0xb7119a80) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0xb7119bc0) 0 empty
Class QRectF
size=32 align=4
base size=32 base align=4
QRectF (0xb7119c00) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0xb7119b00) 0 empty
Vtable for QPaintDevice
QPaintDevice::_ZTV12QPaintDevice: 7u entries
@@ -657,10 +447,6 @@ QIODevice (0xb7119c40) 0
QObject (0xb7119d80) 0
primary-for QIODevice (0xb7119c40)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0xb7119e40) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -680,25 +466,13 @@ Class QRegExp
base size=4 base align=4
QRegExp (0xb7119f00) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0xb7119dc0) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0xb7119ec0) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0xb6da2080) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0xb6da2000) 0
Class QStringList
size=4 align=4
@@ -706,80 +480,28 @@ Class QStringList
QStringList (0xb6da20c0) 0
QList<QString> (0xb6da2100) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0xb6da2180) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0xb6da21c0) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0xb6da2300) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0xb6da2340) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0xb6da2380) 0
-Class QColor::<anonymous union>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union> (0xb6da22c0) 0
Class QColor
size=16 align=4
base size=14 base align=4
QColor (0xb6da2280) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0xb6da24c0) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0xb6da2500) 0
Class wait
size=4 align=4
base size=4 base align=4
wait (0xb6da2480) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6da2540) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6da2580) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb6da25c0) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6da2600) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb6da2640) 0
Class timespec
size=8 align=4
@@ -791,80 +513,24 @@ Class timeval
base size=8 base align=4
timeval (0xb6da26c0) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb6da2700) 0
-Class <anonymous union>
- size=36 align=4
- base size=36 base align=4
-<anonymous union> (0xb6da2740) 0
Class __pthread_internal_slist
size=4 align=4
base size=4 base align=4
__pthread_internal_slist (0xb6da2780) 0
-Class <anonymous union>::__pthread_mutex_s::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union>::__pthread_mutex_s::<anonymous union> (0xb6da2840) 0
-Class <anonymous union>::__pthread_mutex_s
- size=24 align=4
- base size=24 base align=4
-<anonymous union>::__pthread_mutex_s (0xb6da2800) 0
-Class <anonymous union>
- size=24 align=4
- base size=24 base align=4
-<anonymous union> (0xb6da27c0) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb6da2880) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0xb6da2900) 0
-Class <anonymous union>
- size=48 align=4
- base size=48 base align=4
-<anonymous union> (0xb6da28c0) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb6da2940) 0
-Class <anonymous union>::<anonymous struct>
- size=32 align=4
- base size=32 base align=4
-<anonymous union>::<anonymous struct> (0xb6da29c0) 0
-Class <anonymous union>
- size=32 align=4
- base size=32 base align=4
-<anonymous union> (0xb6da2980) 0
-Class <anonymous union>
- size=8 align=4
- base size=8 base align=4
-<anonymous union> (0xb6da2a00) 0
-Class <anonymous union>
- size=20 align=4
- base size=20 base align=4
-<anonymous union> (0xb6da2a40) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb6da2a80) 0
Class random_data
size=28 align=4
@@ -881,15 +547,7 @@ Class QVectorData
base size=16 base align=4
QVectorData (0xb6da2b40) 0
-Class QVector<QPoint>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint>::<anonymous union> (0xb6da2d80) 0
-Class QVector<QPoint>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint> (0xb6da2d00) 0
Class QPolygon
size=4 align=4
@@ -897,15 +555,7 @@ Class QPolygon
QPolygon (0xb6da2dc0) 0
QVector<QPoint> (0xb6da2e00) 0
-Class QVector<QPointF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF>::<anonymous union> (0xb6da2ec0) 0
-Class QVector<QPointF>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF> (0xb6da2e40) 0
Class QPolygonF
size=4 align=4
@@ -928,30 +578,18 @@ Class QLine
base size=16 base align=4
QLine (0xb6da2400) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0xb6da2fc0) 0 empty
Class QLineF
size=32 align=4
base size=32 base align=4
QLineF (0xb6d12000) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0xb6d12040) 0 empty
Class QMatrix
size=48 align=4
base size=48 base align=4
QMatrix (0xb6d12080) 0
-Class QTypeInfo<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMatrix> (0xb6d120c0) 0 empty
Class QImageTextKeyLang
size=8 align=4
@@ -976,10 +614,6 @@ QImage (0xb6d12140) 0
QPaintDevice (0xb6d12180) 0
primary-for QImage (0xb6d12140)
-Class QTypeInfo<QImage>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QImage> (0xb6d122c0) 0 empty
Vtable for QPixmap
QPixmap::_ZTV7QPixmap: 7u entries
@@ -1004,45 +638,17 @@ Class QBrush
base size=4 base align=4
QBrush (0xb6d12480) 0
-Class QTypeInfo<QBrush>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBrush> (0xb6d124c0) 0 empty
Class QBrushData
size=72 align=4
base size=72 base align=4
QBrushData (0xb6d12500) 0
-Class QVector<QPair<double, QColor> >::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPair<double, QColor> >::<anonymous union> (0xb6d12640) 0
-Class QVector<QPair<double, QColor> >
- size=4 align=4
- base size=4 base align=4
-QVector<QPair<double, QColor> > (0xb6d125c0) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=32 align=4
- base size=32 base align=4
-QGradient::<anonymous union>::<anonymous struct> (0xb6d126c0) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=40 align=4
- base size=40 base align=4
-QGradient::<anonymous union>::<anonymous struct> (0xb6d12700) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=24 align=4
- base size=24 base align=4
-QGradient::<anonymous union>::<anonymous struct> (0xb6d12740) 0
-Class QGradient::<anonymous union>
- size=40 align=4
- base size=40 base align=4
-QGradient::<anonymous union> (0xb6d12680) 0
Class QGradient
size=56 align=4
@@ -1113,10 +719,6 @@ Class QKeySequence
base size=4 base align=4
QKeySequence (0xb6d12d00) 0
-Class QTypeInfo<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QKeySequence> (0xb6d12dc0) 0 empty
Class QWidgetData
size=64 align=4
@@ -1342,65 +944,17 @@ Class QDesignerDnDItemInterface
QDesignerDnDItemInterface (0xb69f4180) 0 nearly-empty
vptr=((& QDesignerDnDItemInterface::_ZTV25QDesignerDnDItemInterface) + 8u)
-Class QPointer<QWidget>
- size=4 align=4
- base size=4 base align=4
-QPointer<QWidget> (0xb69f4300) 0
-Class QPointer<QDesignerWidgetBoxInterface>
- size=4 align=4
- base size=4 base align=4
-QPointer<QDesignerWidgetBoxInterface> (0xb69f4380) 0
-Class QPointer<QDesignerPropertyEditorInterface>
- size=4 align=4
- base size=4 base align=4
-QPointer<QDesignerPropertyEditorInterface> (0xb69f4400) 0
-Class QPointer<QDesignerFormWindowManagerInterface>
- size=4 align=4
- base size=4 base align=4
-QPointer<QDesignerFormWindowManagerInterface> (0xb69f4480) 0
-Class QPointer<QExtensionManager>
- size=4 align=4
- base size=4 base align=4
-QPointer<QExtensionManager> (0xb69f4500) 0
-Class QPointer<QDesignerMetaDataBaseInterface>
- size=4 align=4
- base size=4 base align=4
-QPointer<QDesignerMetaDataBaseInterface> (0xb69f4580) 0
-Class QPointer<QDesignerWidgetDataBaseInterface>
- size=4 align=4
- base size=4 base align=4
-QPointer<QDesignerWidgetDataBaseInterface> (0xb69f4600) 0
-Class QPointer<QDesignerWidgetFactoryInterface>
- size=4 align=4
- base size=4 base align=4
-QPointer<QDesignerWidgetFactoryInterface> (0xb69f4680) 0
-Class QPointer<QDesignerObjectInspectorInterface>
- size=4 align=4
- base size=4 base align=4
-QPointer<QDesignerObjectInspectorInterface> (0xb69f4700) 0
-Class QPointer<QDesignerBrushManagerInterface>
- size=4 align=4
- base size=4 base align=4
-QPointer<QDesignerBrushManagerInterface> (0xb69f4780) 0
-Class QPointer<QDesignerIconCacheInterface>
- size=4 align=4
- base size=4 base align=4
-QPointer<QDesignerIconCacheInterface> (0xb69f4800) 0
-Class QPointer<QDesignerActionEditorInterface>
- size=4 align=4
- base size=4 base align=4
-QPointer<QDesignerActionEditorInterface> (0xb69f4880) 0
Vtable for QDesignerFormEditorInterface
QDesignerFormEditorInterface::_ZTV28QDesignerFormEditorInterface: 14u entries
@@ -1953,295 +1507,71 @@ Class QMetaType
base size=0 base align=1
QMetaType (0xb69f45c0) 0 empty
-Class QMetaTypeId2<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QString> (0xb69f4740) 0 empty
-Class QMetaTypeId2<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<int> (0xb69f47c0) 0 empty
-Class QMetaTypeId2<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned int> (0xb69f4840) 0 empty
-Class QMetaTypeId2<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<bool> (0xb69f48c0) 0 empty
-Class QMetaTypeId2<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<double> (0xb69f4940) 0 empty
-Class QMetaTypeId2<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QByteArray> (0xb69f4a80) 0 empty
-Class QMetaTypeId2<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QChar> (0xb69f4b00) 0 empty
-Class QMetaTypeId2<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long int> (0xb69f4bc0) 0 empty
-Class QMetaTypeId2<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short int> (0xb69f4c80) 0 empty
-Class QMetaTypeId2<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<char> (0xb69f4d40) 0 empty
-Class QMetaTypeId2<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long unsigned int> (0xb69f4dc0) 0 empty
-Class QMetaTypeId2<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short unsigned int> (0xb69f4f00) 0 empty
-Class QMetaTypeId2<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned char> (0xb69f4fc0) 0 empty
-Class QMetaTypeId2<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<float> (0xb68f8000) 0 empty
-Class QMetaTypeId2<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QObject*> (0xb68f8040) 0 empty
-Class QMetaTypeId2<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QWidget*> (0xb68f8080) 0 empty
-Class QMetaTypeId2<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<void*> (0xb68f80c0) 0 empty
-Class QMetaTypeId2<long long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long int> (0xb68f8100) 0 empty
-Class QMetaTypeId2<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long unsigned int> (0xb68f8140) 0 empty
-Class QMetaTypeId2<QStringList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QStringList> (0xb68f8180) 0 empty
-Class QMetaTypeId2<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitArray> (0xb68f81c0) 0 empty
-Class QMetaTypeId2<QDate>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDate> (0xb68f8200) 0 empty
-Class QMetaTypeId2<QTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTime> (0xb68f8240) 0 empty
-Class QMetaTypeId2<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDateTime> (0xb68f8280) 0 empty
-Class QMetaTypeId2<QUrl>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QUrl> (0xb68f82c0) 0 empty
-Class QMetaTypeId2<QLocale>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLocale> (0xb68f8300) 0 empty
-Class QMetaTypeId2<QRect>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRect> (0xb68f8340) 0 empty
-Class QMetaTypeId2<QRectF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRectF> (0xb68f8380) 0 empty
-Class QMetaTypeId2<QSize>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSize> (0xb68f83c0) 0 empty
-Class QMetaTypeId2<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizeF> (0xb68f8400) 0 empty
-Class QMetaTypeId2<QLine>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLine> (0xb68f8440) 0 empty
-Class QMetaTypeId2<QLineF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLineF> (0xb68f8480) 0 empty
-Class QMetaTypeId2<QPoint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPoint> (0xb68f84c0) 0 empty
-Class QMetaTypeId2<QPointF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPointF> (0xb68f8500) 0 empty
-Class QMetaTypeId2<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegExp> (0xb68f8540) 0 empty
-Class QMetaTypeId2<QColorGroup>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColorGroup> (0xb68f8580) 0 empty
-Class QMetaTypeId2<QFont>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QFont> (0xb68f85c0) 0 empty
-Class QMetaTypeId2<QPixmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPixmap> (0xb68f8600) 0 empty
-Class QMetaTypeId2<QBrush>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBrush> (0xb68f8640) 0 empty
-Class QMetaTypeId2<QColor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColor> (0xb68f8680) 0 empty
-Class QMetaTypeId2<QPalette>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPalette> (0xb68f86c0) 0 empty
-Class QMetaTypeId2<QIcon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QIcon> (0xb68f8700) 0 empty
-Class QMetaTypeId2<QImage>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QImage> (0xb68f8740) 0 empty
-Class QMetaTypeId2<QPolygon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPolygon> (0xb68f8780) 0 empty
-Class QMetaTypeId2<QRegion>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegion> (0xb68f87c0) 0 empty
-Class QMetaTypeId2<QBitmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitmap> (0xb68f8800) 0 empty
-Class QMetaTypeId2<QCursor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QCursor> (0xb68f8840) 0 empty
-Class QMetaTypeId2<QSizePolicy>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizePolicy> (0xb68f8880) 0 empty
-Class QMetaTypeId2<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QKeySequence> (0xb68f88c0) 0 empty
-Class QMetaTypeId2<QPen>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPen> (0xb68f8900) 0 empty
-Class QMetaTypeId2<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextLength> (0xb68f8940) 0 empty
-Class QMetaTypeId2<QTextFormat>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextFormat> (0xb68f8980) 0 empty
-Class QMetaTypeId2<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMatrix> (0xb68f89c0) 0 empty
Class QIcon
size=4 align=4
base size=4 base align=4
QIcon (0xb68f8a00) 0
-Class QTypeInfo<QIcon>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QIcon> (0xb68f8ac0) 0 empty
Class QDesignerWidgetBoxInterface::Widget
size=16 align=4
base size=16 base align=4
QDesignerWidgetBoxInterface::Widget (0xb68f8c00) 0
-Class QList<QDesignerWidgetBoxInterface::Widget>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QDesignerWidgetBoxInterface::Widget>::<anonymous union> (0xb68f8d40) 0
-Class QList<QDesignerWidgetBoxInterface::Widget>
- size=4 align=4
- base size=4 base align=4
-QList<QDesignerWidgetBoxInterface::Widget> (0xb68f8cc0) 0
Class QDesignerWidgetBoxInterface::Category
size=12 align=4
@@ -2339,10 +1669,6 @@ QDesignerWidgetBoxInterface (0xb68f8b00) 0
QPaintDevice (0xb68f8bc0) 8
vptr=((& QDesignerWidgetBoxInterface::_ZTV27QDesignerWidgetBoxInterface) + 284u)
-Class QMetaTypeId<QDesignerWidgetBoxInterface::Widget>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QDesignerWidgetBoxInterface::Widget> (0xb68f8e40) 0 empty
Vtable for QDesignerWidgetDataBaseItemInterface
QDesignerWidgetDataBaseItemInterface::_ZTV36QDesignerWidgetDataBaseItemInterface: 30u entries
@@ -2383,15 +1709,7 @@ Class QDesignerWidgetDataBaseItemInterface
QDesignerWidgetDataBaseItemInterface (0xb68f8f40) 0 nearly-empty
vptr=((& QDesignerWidgetDataBaseItemInterface::_ZTV36QDesignerWidgetDataBaseItemInterface) + 8u)
-Class QList<QDesignerWidgetDataBaseItemInterface*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QDesignerWidgetDataBaseItemInterface*>::<anonymous union> (0xb68f8f80) 0
-Class QList<QDesignerWidgetDataBaseItemInterface*>
- size=4 align=4
- base size=4 base align=4
-QList<QDesignerWidgetDataBaseItemInterface*> (0xb68f8c80) 0
Vtable for QDesignerWidgetDataBaseInterface
QDesignerWidgetDataBaseInterface::_ZTV32QDesignerWidgetDataBaseInterface: 22u entries
@@ -2575,25 +1893,9 @@ Class QDesignerTaskMenuExtension
QDesignerTaskMenuExtension (0xb6786540) 0 nearly-empty
vptr=((& QDesignerTaskMenuExtension::_ZTV26QDesignerTaskMenuExtension) + 8u)
-Class <anonymous struct>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct>::<anonymous union> (0xb6786700) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb67866c0) 0
-Class <anonymous struct>
- size=12 align=4
- base size=12 base align=4
-<anonymous struct> (0xb6786740) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb6786780) 0
Class __gconv_trans_data
size=20 align=4
@@ -2615,15 +1917,7 @@ Class __gconv_info
base size=8 base align=4
__gconv_info (0xb6786880) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0xb6786900) 0
-Class <anonymous union>
- size=44 align=4
- base size=44 base align=4
-<anonymous union> (0xb67868c0) 0
Class _IO_marker
size=12 align=4
@@ -2635,10 +1929,6 @@ Class _IO_FILE
base size=148 base align=4
_IO_FILE (0xb6786980) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb67869c0) 0
Vtable for QFile
QFile::_ZTV5QFile: 31u entries
@@ -2684,80 +1974,28 @@ QFile (0xb6786a00) 0
QObject (0xb6786a80) 0
primary-for QIODevice (0xb6786a40)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0xb6786b00) 0
Class QFileInfo
size=4 align=4
base size=4 base align=4
QFileInfo (0xb6786b40) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0xb6786b80) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0xb6786bc0) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0xb6786c80) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0xb6786c00) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0xb6786cc0) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0xb6786d40) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0xb6786dc0) 0
-Class QHash<QObject*, bool>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QHash<QObject*, bool>::<anonymous union> (0xb6786f00) 0
-Class QHash<QObject*, bool>
- size=4 align=4
- base size=4 base align=4
-QHash<QObject*, bool> (0xb6786e80) 0
-Class QHash<QString, QAction*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QHash<QString, QAction*>::<anonymous union> (0xb6786000) 0
-Class QHash<QString, QAction*>
- size=4 align=4
- base size=4 base align=4
-QHash<QString, QAction*> (0xb6786f80) 0
-Class QHash<QString, QActionGroup*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QHash<QString, QActionGroup*>::<anonymous union> (0xb6786280) 0
-Class QHash<QString, QActionGroup*>
- size=4 align=4
- base size=4 base align=4
-QHash<QString, QActionGroup*> (0xb67860c0) 0
Vtable for QAbstractFormBuilder
QAbstractFormBuilder::_ZTV20QAbstractFormBuilder: 48u entries
@@ -2875,15 +2113,7 @@ Class QDesignerCustomWidgetCollectionInterface
QDesignerCustomWidgetCollectionInterface (0xb66d9080) 0 nearly-empty
vptr=((& QDesignerCustomWidgetCollectionInterface::_ZTV40QDesignerCustomWidgetCollectionInterface) + 8u)
-Class QMap<QString, QDesignerCustomWidgetInterface*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QDesignerCustomWidgetInterface*>::<anonymous union> (0xb66d9240) 0
-Class QMap<QString, QDesignerCustomWidgetInterface*>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QDesignerCustomWidgetInterface*> (0xb66d91c0) 0
Vtable for QFormBuilder
QFormBuilder::_ZTV12QFormBuilder: 49u entries
@@ -2945,43 +2175,11 @@ QFormBuilder (0xb66d9100) 0
QAbstractFormBuilder (0xb66d9140) 0
primary-for QFormBuilder (0xb66d9100)
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0xb66d9380) 0
-Class QVectorTypedData<QPoint>
- size=24 align=4
- base size=24 base align=4
-QVectorTypedData<QPoint> (0xb66d9400) 0
-Class QVectorTypedData<QPointF>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QPointF> (0xb66d9480) 0
-Class QList<QDesignerWidgetBoxInterface::Widget>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QDesignerWidgetBoxInterface::Widget>::Node (0xb66d9500) 0
-Class QTypeInfo<QDesignerWidgetBoxInterface::Widget>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDesignerWidgetBoxInterface::Widget> (0xb66d9580) 0 empty
-Class QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union> (0xb66d9740) 0
-Class QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union> (0xb66d9800) 0
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0xb66d98c0) 0
diff --git a/tests/auto/bic/data/QtDesigner.4.3.0.linux-gcc-ia32.txt b/tests/auto/bic/data/QtDesigner.4.3.0.linux-gcc-ia32.txt
index 8af0459..ec449b9 100644
--- a/tests/auto/bic/data/QtDesigner.4.3.0.linux-gcc-ia32.txt
+++ b/tests/auto/bic/data/QtDesigner.4.3.0.linux-gcc-ia32.txt
@@ -1,34 +1,8 @@
-Class QUintForSize<4>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<4> (0xb7793080) 0 empty
-Class QUintForSize<8>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<8> (0xb77930c0) 0 empty
-Class QUintForType<void*>
- size=1 align=1
- base size=1 base align=1
-QUintForType<void*> (0xb7793180) 0 empty
- QUintForSize<4> (0xb77931c0) 0 empty
-Class QIntForSize<4>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<4> (0xb7793240) 0 empty
-Class QIntForSize<8>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<8> (0xb7793280) 0 empty
-Class QIntForType<void*>
- size=1 align=1
- base size=1 base align=1
-QIntForType<void*> (0xb7793340) 0 empty
- QIntForSize<4> (0xb7793380) 0 empty
Class QSysInfo
size=1 align=1
@@ -50,150 +24,38 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0xb7793640) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0xb7793700) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0xb7793740) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0xb7793780) 0 empty
-Class QTypeInfo<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned char> (0xb77937c0) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0xb7793800) 0 empty
-Class QTypeInfo<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short unsigned int> (0xb7793840) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0xb7793880) 0 empty
-Class QTypeInfo<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned int> (0xb77938c0) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0xb7793900) 0 empty
-Class QTypeInfo<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long unsigned int> (0xb7793940) 0 empty
-Class QTypeInfo<long long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long int> (0xb7793980) 0 empty
-Class QTypeInfo<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long unsigned int> (0xb77939c0) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0xb7793a00) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0xb7793a40) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0xb7793a80) 0 empty
Class QFlag
size=4 align=4
base size=4 base align=4
QFlag (0xb7793ac0) 0
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0xb7793bc0) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0xb7793c00) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0xb7793c40) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0xb7793c80) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0xb7793cc0) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0xb7793d00) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0xb7793d40) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0xb7793d80) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0xb7793dc0) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0xb7793e00) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0xb7793e40) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0xb7793e80) 0
-Class QFlags<Qt::TextInteractionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::TextInteractionFlag> (0xb7793ec0) 0
Class QInternal
size=1 align=1
@@ -211,10 +73,6 @@ Class QGenericReturnArgument
QGenericReturnArgument (0xb7793fc0) 0
QGenericArgument (0xb7299000) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0xb72991c0) 0
Class QMetaObject
size=16 align=4
@@ -231,10 +89,6 @@ Class QChar
base size=2 base align=2
QChar (0xb7299280) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0xb7299300) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -267,10 +121,6 @@ Class QByteRef
base size=8 base align=4
QByteRef (0xb7299600) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0xb7299640) 0 empty
Class QString::Null
size=1 align=1
@@ -287,10 +137,6 @@ Class QString
base size=4 base align=4
QString (0xb7299680) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0xb7299880) 0
Class QLatin1String
size=4 align=4
@@ -308,10 +154,6 @@ Class QConstString
QConstString (0xb7299980) 0
QString (0xb72999c0) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0xb7299a00) 0 empty
Class QStringRef
size=12 align=4
@@ -379,15 +221,7 @@ Class QListData
base size=4 base align=4
QListData (0xb7299d40) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0xb7299c00) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0xb7299800) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -443,60 +277,36 @@ Class QSize
base size=8 base align=4
QSize (0xb6e93140) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0xb6e93340) 0 empty
Class QSizeF
size=16 align=4
base size=16 base align=4
QSizeF (0xb6e933c0) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0xb6e935c0) 0 empty
Class QPoint
size=8 align=4
base size=8 base align=4
QPoint (0xb6e93680) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0xb6e938c0) 0 empty
Class QPointF
size=16 align=4
base size=16 base align=4
QPointF (0xb6e93900) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0xb6e93b40) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0xb6e93b80) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0xb6e93c80) 0 empty
Class QRectF
size=32 align=4
base size=32 base align=4
QRectF (0xb6e93cc0) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0xb6e93d80) 0 empty
Vtable for QPaintDevice
QPaintDevice::_ZTV12QPaintDevice: 7u entries
@@ -555,10 +365,6 @@ QIODevice (0xb6e93ec0) 0
QObject (0xb6e93f00) 0
primary-for QIODevice (0xb6e93ec0)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0xb6e93fc0) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -578,25 +384,13 @@ Class QRegExp
base size=4 base align=4
QRegExp (0xb6e931c0) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0xb6e93200) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0xb6e93240) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0xb6e93300) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0xb6e93280) 0
Class QStringList
size=4 align=4
@@ -604,80 +398,28 @@ Class QStringList
QStringList (0xb6e93180) 0
QList<QString> (0xb6e93400) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0xb6e93480) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0xb6e934c0) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0xb6e93700) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0xb6e93740) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0xb6e93780) 0
-Class QColor::<anonymous union>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union> (0xb6e936c0) 0
Class QColor
size=16 align=4
base size=14 base align=4
QColor (0xb6e93580) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0xb6e937c0) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0xb6e93800) 0
Class wait
size=4 align=4
base size=4 base align=4
wait (0xb6e93880) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6e93940) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6e93980) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb6e939c0) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6e93a00) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb6e93a40) 0
Class timespec
size=8 align=4
@@ -689,80 +431,24 @@ Class timeval
base size=8 base align=4
timeval (0xb6e93ac0) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb6e93b00) 0
-Class <anonymous union>
- size=36 align=4
- base size=36 base align=4
-<anonymous union> (0xb6e93bc0) 0
Class __pthread_internal_slist
size=4 align=4
base size=4 base align=4
__pthread_internal_slist (0xb6e93c00) 0
-Class <anonymous union>::__pthread_mutex_s::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union>::__pthread_mutex_s::<anonymous union> (0xb6e93d40) 0
-Class <anonymous union>::__pthread_mutex_s
- size=24 align=4
- base size=24 base align=4
-<anonymous union>::__pthread_mutex_s (0xb6e93d00) 0
-Class <anonymous union>
- size=24 align=4
- base size=24 base align=4
-<anonymous union> (0xb6e93c40) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb6e93e40) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0xb6d0e000) 0
-Class <anonymous union>
- size=48 align=4
- base size=48 base align=4
-<anonymous union> (0xb6e93f40) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb6d0e040) 0
-Class <anonymous union>::<anonymous struct>
- size=32 align=4
- base size=32 base align=4
-<anonymous union>::<anonymous struct> (0xb6d0e0c0) 0
-Class <anonymous union>
- size=32 align=4
- base size=32 base align=4
-<anonymous union> (0xb6d0e080) 0
-Class <anonymous union>
- size=8 align=4
- base size=8 base align=4
-<anonymous union> (0xb6d0e100) 0
-Class <anonymous union>
- size=20 align=4
- base size=20 base align=4
-<anonymous union> (0xb6d0e140) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb6d0e180) 0
Class random_data
size=28 align=4
@@ -779,15 +465,7 @@ Class QVectorData
base size=16 base align=4
QVectorData (0xb6d0e240) 0
-Class QVector<QPoint>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint>::<anonymous union> (0xb6d0e480) 0
-Class QVector<QPoint>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint> (0xb6d0e400) 0
Class QPolygon
size=4 align=4
@@ -795,15 +473,7 @@ Class QPolygon
QPolygon (0xb6d0e4c0) 0
QVector<QPoint> (0xb6d0e500) 0
-Class QVector<QPointF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF>::<anonymous union> (0xb6d0e5c0) 0
-Class QVector<QPointF>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF> (0xb6d0e540) 0
Class QPolygonF
size=4 align=4
@@ -826,30 +496,18 @@ Class QLine
base size=16 base align=4
QLine (0xb6d0e800) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0xb6d0e840) 0 empty
Class QLineF
size=32 align=4
base size=32 base align=4
QLineF (0xb6d0e880) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0xb6d0e8c0) 0 empty
Class QMatrix
size=48 align=4
base size=48 base align=4
QMatrix (0xb6d0e900) 0
-Class QTypeInfo<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMatrix> (0xb6d0e940) 0 empty
Class QPainterPath::Element
size=20 align=4
@@ -861,25 +519,13 @@ Class QPainterPath
base size=4 base align=4
QPainterPath (0xb6d0e980) 0
-Class QVector<QPainterPath::Element>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element>::<anonymous union> (0xb6d0ec00) 0
-Class QVector<QPainterPath::Element>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element> (0xb6d0eb80) 0
Class QPainterPathPrivate
size=8 align=4
base size=8 base align=4
QPainterPathPrivate (0xb6d0ea80) 0
-Class QTypeInfo<QPainterPath::Element>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPainterPath::Element> (0xb6d0ec40) 0 empty
Class QPainterPathStroker
size=4 align=4
@@ -891,10 +537,6 @@ Class QTransform
base size=80 base align=4
QTransform (0xb6d0ed40) 0
-Class QTypeInfo<QTransform>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTransform> (0xb6d0ed80) 0 empty
Class QImageTextKeyLang
size=8 align=4
@@ -919,10 +561,6 @@ QImage (0xb6d0ee40) 0
QPaintDevice (0xb6d0ee80) 0
primary-for QImage (0xb6d0ee40)
-Class QTypeInfo<QImage>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QImage> (0xb6d0efc0) 0 empty
Vtable for QPixmap
QPixmap::_ZTV7QPixmap: 7u entries
@@ -947,45 +585,17 @@ Class QBrush
base size=4 base align=4
QBrush (0xb6d0e740) 0
-Class QTypeInfo<QBrush>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBrush> (0xb6d0ea00) 0 empty
Class QBrushData
size=108 align=4
base size=105 base align=4
QBrushData (0xb6d0ea40) 0
-Class QVector<QPair<double, QColor> >::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPair<double, QColor> >::<anonymous union> (0xb6965000) 0
-Class QVector<QPair<double, QColor> >
- size=4 align=4
- base size=4 base align=4
-QVector<QPair<double, QColor> > (0xb6d0ef40) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=32 align=4
- base size=32 base align=4
-QGradient::<anonymous union>::<anonymous struct> (0xb6965080) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=40 align=4
- base size=40 base align=4
-QGradient::<anonymous union>::<anonymous struct> (0xb69650c0) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=24 align=4
- base size=24 base align=4
-QGradient::<anonymous union>::<anonymous struct> (0xb6965100) 0
-Class QGradient::<anonymous union>
- size=40 align=4
- base size=40 base align=4
-QGradient::<anonymous union> (0xb6965040) 0
Class QGradient
size=56 align=4
@@ -1046,10 +656,6 @@ Class QSizePolicy
base size=4 base align=4
QSizePolicy (0xb69655c0) 0
-Class QFlags<QSizePolicy::ControlType>
- size=4 align=4
- base size=4 base align=4
-QFlags<QSizePolicy::ControlType> (0xb69656c0) 0
Class QCursor
size=4 align=4
@@ -1061,10 +667,6 @@ Class QKeySequence
base size=4 base align=4
QKeySequence (0xb6965740) 0
-Class QTypeInfo<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QKeySequence> (0xb6965800) 0 empty
Class QWidgetData
size=64 align=4
@@ -1147,10 +749,6 @@ QWidget (0xb6965880) 0
QPaintDevice (0xb6965900) 8
vptr=((& QWidget::_ZTV7QWidget) + 232u)
-Class QFlags<QWidget::RenderFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QWidget::RenderFlag> (0xb6965b40) 0
Vtable for QDesignerPropertyEditorInterface
QDesignerPropertyEditorInterface::_ZTV32QDesignerPropertyEditorInterface: 70u entries
@@ -1324,300 +922,72 @@ Class QMetaType
base size=0 base align=1
QMetaType (0xb6965e00) 0 empty
-Class QMetaTypeId2<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QString> (0xb6965ec0) 0 empty
-Class QMetaTypeId2<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<int> (0xb6965f00) 0 empty
-Class QMetaTypeId2<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned int> (0xb6965f40) 0 empty
-Class QMetaTypeId2<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<bool> (0xb6965f80) 0 empty
-Class QMetaTypeId2<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<double> (0xb6965fc0) 0 empty
-Class QMetaTypeId2<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QByteArray> (0xb6965300) 0 empty
-Class QMetaTypeId2<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QChar> (0xb6965480) 0 empty
-Class QMetaTypeId2<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long int> (0xb69654c0) 0 empty
-Class QMetaTypeId2<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short int> (0xb6965640) 0 empty
-Class QMetaTypeId2<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<char> (0xb6965680) 0 empty
-Class QMetaTypeId2<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long unsigned int> (0xb6965780) 0 empty
-Class QMetaTypeId2<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short unsigned int> (0xb69657c0) 0 empty
-Class QMetaTypeId2<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned char> (0xb6965940) 0 empty
-Class QMetaTypeId2<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<float> (0xb6965980) 0 empty
-Class QMetaTypeId2<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QObject*> (0xb69659c0) 0 empty
-Class QMetaTypeId2<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QWidget*> (0xb6965a00) 0 empty
-Class QMetaTypeId2<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<void*> (0xb6965a40) 0 empty
-Class QMetaTypeId2<long long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long int> (0xb6965a80) 0 empty
-Class QMetaTypeId2<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long unsigned int> (0xb6965ac0) 0 empty
-Class QMetaTypeId2<QStringList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QStringList> (0xb6965c80) 0 empty
-Class QMetaTypeId2<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitArray> (0xb6965dc0) 0 empty
-Class QMetaTypeId2<QDate>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDate> (0xb675b000) 0 empty
-Class QMetaTypeId2<QTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTime> (0xb675b040) 0 empty
-Class QMetaTypeId2<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDateTime> (0xb675b080) 0 empty
-Class QMetaTypeId2<QUrl>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QUrl> (0xb675b0c0) 0 empty
-Class QMetaTypeId2<QLocale>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLocale> (0xb675b100) 0 empty
-Class QMetaTypeId2<QRect>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRect> (0xb675b140) 0 empty
-Class QMetaTypeId2<QRectF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRectF> (0xb675b180) 0 empty
-Class QMetaTypeId2<QSize>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSize> (0xb675b1c0) 0 empty
-Class QMetaTypeId2<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizeF> (0xb675b200) 0 empty
-Class QMetaTypeId2<QLine>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLine> (0xb675b240) 0 empty
-Class QMetaTypeId2<QLineF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLineF> (0xb675b280) 0 empty
-Class QMetaTypeId2<QPoint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPoint> (0xb675b2c0) 0 empty
-Class QMetaTypeId2<QPointF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPointF> (0xb675b300) 0 empty
-Class QMetaTypeId2<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegExp> (0xb675b340) 0 empty
-Class QMetaTypeId2<QColorGroup>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColorGroup> (0xb675b380) 0 empty
-Class QMetaTypeId2<QFont>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QFont> (0xb675b3c0) 0 empty
-Class QMetaTypeId2<QPixmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPixmap> (0xb675b400) 0 empty
-Class QMetaTypeId2<QBrush>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBrush> (0xb675b440) 0 empty
-Class QMetaTypeId2<QColor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColor> (0xb675b480) 0 empty
-Class QMetaTypeId2<QPalette>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPalette> (0xb675b4c0) 0 empty
-Class QMetaTypeId2<QIcon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QIcon> (0xb675b500) 0 empty
-Class QMetaTypeId2<QImage>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QImage> (0xb675b540) 0 empty
-Class QMetaTypeId2<QPolygon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPolygon> (0xb675b580) 0 empty
-Class QMetaTypeId2<QRegion>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegion> (0xb675b5c0) 0 empty
-Class QMetaTypeId2<QBitmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitmap> (0xb675b600) 0 empty
-Class QMetaTypeId2<QCursor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QCursor> (0xb675b640) 0 empty
-Class QMetaTypeId2<QSizePolicy>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizePolicy> (0xb675b680) 0 empty
-Class QMetaTypeId2<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QKeySequence> (0xb675b6c0) 0 empty
-Class QMetaTypeId2<QPen>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPen> (0xb675b700) 0 empty
-Class QMetaTypeId2<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextLength> (0xb675b740) 0 empty
-Class QMetaTypeId2<QTextFormat>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextFormat> (0xb675b780) 0 empty
-Class QMetaTypeId2<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMatrix> (0xb675b7c0) 0 empty
-Class QMetaTypeId2<QTransform>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTransform> (0xb675b800) 0 empty
Class QIcon
size=4 align=4
base size=4 base align=4
QIcon (0xb675b840) 0
-Class QTypeInfo<QIcon>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QIcon> (0xb675b900) 0 empty
Class QDesignerWidgetBoxInterface::Widget
size=16 align=4
base size=16 base align=4
QDesignerWidgetBoxInterface::Widget (0xb675ba40) 0
-Class QList<QDesignerWidgetBoxInterface::Widget>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QDesignerWidgetBoxInterface::Widget>::<anonymous union> (0xb675bb80) 0
-Class QList<QDesignerWidgetBoxInterface::Widget>
- size=4 align=4
- base size=4 base align=4
-QList<QDesignerWidgetBoxInterface::Widget> (0xb675bb00) 0
Class QDesignerWidgetBoxInterface::Category
size=12 align=4
@@ -1715,10 +1085,6 @@ QDesignerWidgetBoxInterface (0xb675b940) 0
QPaintDevice (0xb675ba00) 8
vptr=((& QDesignerWidgetBoxInterface::_ZTV27QDesignerWidgetBoxInterface) + 284u)
-Class QMetaTypeId<QDesignerWidgetBoxInterface::Widget>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QDesignerWidgetBoxInterface::Widget> (0xb675bc80) 0 empty
Vtable for QDesignerFormWindowInterface
QDesignerFormWindowInterface::_ZTV28QDesignerFormWindowInterface: 114u entries
@@ -1909,10 +1275,6 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0xb680f040) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0xb680f080) 0 empty
Class QDesignerPromotionInterface::PromotedClass
size=8 align=4
@@ -2512,15 +1874,7 @@ Class QDesignerWidgetDataBaseItemInterface
QDesignerWidgetDataBaseItemInterface (0xb65e4600) 0 nearly-empty
vptr=((& QDesignerWidgetDataBaseItemInterface::_ZTV36QDesignerWidgetDataBaseItemInterface) + 8u)
-Class QList<QDesignerWidgetDataBaseItemInterface*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QDesignerWidgetDataBaseItemInterface*>::<anonymous union> (0xb65e47c0) 0
-Class QList<QDesignerWidgetDataBaseItemInterface*>
- size=4 align=4
- base size=4 base align=4
-QList<QDesignerWidgetDataBaseItemInterface*> (0xb65e4740) 0
Vtable for QDesignerWidgetDataBaseInterface
QDesignerWidgetDataBaseInterface::_ZTV32QDesignerWidgetDataBaseInterface: 22u entries
@@ -2581,65 +1935,17 @@ Class QDesignerFormWindowCursorInterface
QDesignerFormWindowCursorInterface (0xb65e4840) 0 nearly-empty
vptr=((& QDesignerFormWindowCursorInterface::_ZTV34QDesignerFormWindowCursorInterface) + 8u)
-Class QPointer<QWidget>
- size=4 align=4
- base size=4 base align=4
-QPointer<QWidget> (0xb65e49c0) 0
-Class QPointer<QDesignerWidgetBoxInterface>
- size=4 align=4
- base size=4 base align=4
-QPointer<QDesignerWidgetBoxInterface> (0xb65e4a40) 0
-Class QPointer<QDesignerPropertyEditorInterface>
- size=4 align=4
- base size=4 base align=4
-QPointer<QDesignerPropertyEditorInterface> (0xb65e4ac0) 0
-Class QPointer<QDesignerFormWindowManagerInterface>
- size=4 align=4
- base size=4 base align=4
-QPointer<QDesignerFormWindowManagerInterface> (0xb65e4b40) 0
-Class QPointer<QExtensionManager>
- size=4 align=4
- base size=4 base align=4
-QPointer<QExtensionManager> (0xb65e4bc0) 0
-Class QPointer<QDesignerMetaDataBaseInterface>
- size=4 align=4
- base size=4 base align=4
-QPointer<QDesignerMetaDataBaseInterface> (0xb65e4c40) 0
-Class QPointer<QDesignerWidgetDataBaseInterface>
- size=4 align=4
- base size=4 base align=4
-QPointer<QDesignerWidgetDataBaseInterface> (0xb65e4cc0) 0
-Class QPointer<QDesignerWidgetFactoryInterface>
- size=4 align=4
- base size=4 base align=4
-QPointer<QDesignerWidgetFactoryInterface> (0xb65e4d40) 0
-Class QPointer<QDesignerObjectInspectorInterface>
- size=4 align=4
- base size=4 base align=4
-QPointer<QDesignerObjectInspectorInterface> (0xb65e4dc0) 0
-Class QPointer<QDesignerBrushManagerInterface>
- size=4 align=4
- base size=4 base align=4
-QPointer<QDesignerBrushManagerInterface> (0xb65e4e40) 0
-Class QPointer<QDesignerIconCacheInterface>
- size=4 align=4
- base size=4 base align=4
-QPointer<QDesignerIconCacheInterface> (0xb65e4ec0) 0
-Class QPointer<QDesignerActionEditorInterface>
- size=4 align=4
- base size=4 base align=4
-QPointer<QDesignerActionEditorInterface> (0xb65e4f40) 0
Vtable for QDesignerFormEditorInterface
QDesignerFormEditorInterface::_ZTV28QDesignerFormEditorInterface: 14u entries
@@ -2776,25 +2082,9 @@ Class QDesignerCustomWidgetCollectionInterface
QDesignerCustomWidgetCollectionInterface (0xb65e4880) 0 nearly-empty
vptr=((& QDesignerCustomWidgetCollectionInterface::_ZTV40QDesignerCustomWidgetCollectionInterface) + 8u)
-Class <anonymous struct>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct>::<anonymous union> (0xb65e4a00) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb65e4980) 0
-Class <anonymous struct>
- size=12 align=4
- base size=12 base align=4
-<anonymous struct> (0xb65e4a80) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb65e4b00) 0
Class __gconv_trans_data
size=20 align=4
@@ -2816,15 +2106,7 @@ Class __gconv_info
base size=8 base align=4
__gconv_info (0xb65e4d00) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0xb65e4e00) 0
-Class <anonymous union>
- size=44 align=4
- base size=44 base align=4
-<anonymous union> (0xb65e4d80) 0
Class _IO_marker
size=12 align=4
@@ -2836,10 +2118,6 @@ Class _IO_FILE
base size=148 base align=4
_IO_FILE (0xb65e4f00) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb65e4f80) 0
Vtable for QFile
QFile::_ZTV5QFile: 31u entries
@@ -2885,80 +2163,28 @@ QFile (0xb64f2000) 0
QObject (0xb64f2080) 0
primary-for QIODevice (0xb64f2040)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0xb64f2100) 0
Class QFileInfo
size=4 align=4
base size=4 base align=4
QFileInfo (0xb64f2140) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0xb64f2180) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0xb64f21c0) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0xb64f2280) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0xb64f2200) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0xb64f22c0) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0xb64f2340) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0xb64f23c0) 0
-Class QHash<QObject*, bool>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QHash<QObject*, bool>::<anonymous union> (0xb64f2500) 0
-Class QHash<QObject*, bool>
- size=4 align=4
- base size=4 base align=4
-QHash<QObject*, bool> (0xb64f2480) 0
-Class QHash<QString, QAction*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QHash<QString, QAction*>::<anonymous union> (0xb64f2600) 0
-Class QHash<QString, QAction*>
- size=4 align=4
- base size=4 base align=4
-QHash<QString, QAction*> (0xb64f2580) 0
-Class QHash<QString, QActionGroup*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QHash<QString, QActionGroup*>::<anonymous union> (0xb64f2700) 0
-Class QHash<QString, QActionGroup*>
- size=4 align=4
- base size=4 base align=4
-QHash<QString, QActionGroup*> (0xb64f2680) 0
Vtable for QAbstractFormBuilder
QAbstractFormBuilder::_ZTV20QAbstractFormBuilder: 48u entries
@@ -3037,15 +2263,7 @@ Class QDesignerContainerExtension
QDesignerContainerExtension (0xb64f2800) 0 nearly-empty
vptr=((& QDesignerContainerExtension::_ZTV27QDesignerContainerExtension) + 8u)
-Class QMap<QString, QDesignerCustomWidgetInterface*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QDesignerCustomWidgetInterface*>::<anonymous union> (0xb64f2a80) 0
-Class QMap<QString, QDesignerCustomWidgetInterface*>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QDesignerCustomWidgetInterface*> (0xb64f2a00) 0
Vtable for QFormBuilder
QFormBuilder::_ZTV12QFormBuilder: 49u entries
@@ -3107,25 +2325,9 @@ QFormBuilder (0xb64f2940) 0
QAbstractFormBuilder (0xb64f2980) 0
primary-for QFormBuilder (0xb64f2940)
-Class QHash<QString, QList<QAbstractExtensionFactory*> >::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QHash<QString, QList<QAbstractExtensionFactory*> >::<anonymous union> (0xb64f2cc0) 0
-Class QHash<QString, QList<QAbstractExtensionFactory*> >
- size=4 align=4
- base size=4 base align=4
-QHash<QString, QList<QAbstractExtensionFactory*> > (0xb64f2c40) 0
-Class QList<QAbstractExtensionFactory*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QAbstractExtensionFactory*>::<anonymous union> (0xb64f2dc0) 0
-Class QList<QAbstractExtensionFactory*>
- size=4 align=4
- base size=4 base align=4
-QList<QAbstractExtensionFactory*> (0xb64f2d40) 0
Vtable for QExtensionManager
QExtensionManager::_ZTV17QExtensionManager: 24u entries
@@ -3164,53 +2366,13 @@ QExtensionManager (0xb64f2b40) 0
QAbstractExtensionManager (0xb64f2bc0) 8 nearly-empty
vptr=((& QExtensionManager::_ZTV17QExtensionManager) + 76u)
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0xb64f2e80) 0
-Class QVectorTypedData<QPoint>
- size=24 align=4
- base size=24 base align=4
-QVectorTypedData<QPoint> (0xb64f2f00) 0
-Class QVectorTypedData<QPointF>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QPointF> (0xb64f2f80) 0
-Class QVectorTypedData<QPainterPath::Element>
- size=36 align=4
- base size=36 base align=4
-QVectorTypedData<QPainterPath::Element> (0xb64f20c0) 0
-Class QList<QDesignerWidgetBoxInterface::Widget>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QDesignerWidgetBoxInterface::Widget>::Node (0xb64f2540) 0
-Class QTypeInfo<QDesignerWidgetBoxInterface::Widget>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDesignerWidgetBoxInterface::Widget> (0xb64f2740) 0 empty
-Class QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union> (0xb64f2b00) 0
-Class QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union> (0xb64f2c00) 0
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0xb64f2e00) 0
-Class QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union> (0xb61c1040) 0
diff --git a/tests/auto/bic/data/QtDesigner.4.3.1.linux-gcc-ia32.txt b/tests/auto/bic/data/QtDesigner.4.3.1.linux-gcc-ia32.txt
index 8e21c14..bebd0d7 100644
--- a/tests/auto/bic/data/QtDesigner.4.3.1.linux-gcc-ia32.txt
+++ b/tests/auto/bic/data/QtDesigner.4.3.1.linux-gcc-ia32.txt
@@ -1,34 +1,8 @@
-Class QUintForSize<4>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<4> (0xb778f080) 0 empty
-Class QUintForSize<8>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<8> (0xb778f0c0) 0 empty
-Class QUintForType<void*>
- size=1 align=1
- base size=1 base align=1
-QUintForType<void*> (0xb778f180) 0 empty
- QUintForSize<4> (0xb778f1c0) 0 empty
-Class QIntForSize<4>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<4> (0xb778f240) 0 empty
-Class QIntForSize<8>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<8> (0xb778f280) 0 empty
-Class QIntForType<void*>
- size=1 align=1
- base size=1 base align=1
-QIntForType<void*> (0xb778f340) 0 empty
- QIntForSize<4> (0xb778f380) 0 empty
Class QSysInfo
size=1 align=1
@@ -50,80 +24,20 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0xb778f640) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0xb778f700) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0xb778f740) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0xb778f780) 0 empty
-Class QTypeInfo<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned char> (0xb778f7c0) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0xb778f800) 0 empty
-Class QTypeInfo<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short unsigned int> (0xb778f840) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0xb778f880) 0 empty
-Class QTypeInfo<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned int> (0xb778f8c0) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0xb778f900) 0 empty
-Class QTypeInfo<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long unsigned int> (0xb778f940) 0 empty
-Class QTypeInfo<long long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long int> (0xb778f980) 0 empty
-Class QTypeInfo<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long unsigned int> (0xb778f9c0) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0xb778fa00) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0xb778fa40) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0xb778fa80) 0 empty
Class QFlag
size=4 align=4
@@ -140,10 +54,6 @@ Class QChar
base size=2 base align=2
QChar (0xb778fc00) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0xb778fc80) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -176,75 +86,19 @@ Class QByteRef
base size=8 base align=4
QByteRef (0xb778ffc0) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0xb72ec000) 0 empty
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0xb72ec040) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0xb72ec080) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0xb72ec0c0) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0xb72ec100) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0xb72ec140) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0xb72ec180) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0xb72ec1c0) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0xb72ec200) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0xb72ec240) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0xb72ec280) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0xb72ec2c0) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0xb72ec300) 0
-Class QFlags<Qt::TextInteractionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::TextInteractionFlag> (0xb72ec340) 0
Class QInternal
size=1 align=1
@@ -266,10 +120,6 @@ Class QString
base size=4 base align=4
QString (0xb72ec400) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0xb72ec600) 0
Class QLatin1String
size=4 align=4
@@ -287,10 +137,6 @@ Class QConstString
QConstString (0xb72ec700) 0
QString (0xb72ec740) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0xb72ec780) 0 empty
Class QStringRef
size=12 align=4
@@ -308,10 +154,6 @@ Class QGenericReturnArgument
QGenericReturnArgument (0xb72ec840) 0
QGenericArgument (0xb72ec880) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0xb72eca40) 0
Class QMetaObject
size=16 align=4
@@ -379,15 +221,7 @@ Class QListData
base size=4 base align=4
QListData (0xb72ecd80) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0xb72ecd00) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0xb72ecb80) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -525,15 +359,7 @@ Class QDesignerWidgetDataBaseItemInterface
QDesignerWidgetDataBaseItemInterface (0xb6e88380) 0 nearly-empty
vptr=((& QDesignerWidgetDataBaseItemInterface::_ZTV36QDesignerWidgetDataBaseItemInterface) + 8u)
-Class QList<QDesignerWidgetDataBaseItemInterface*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QDesignerWidgetDataBaseItemInterface*>::<anonymous union> (0xb6e88540) 0
-Class QList<QDesignerWidgetDataBaseItemInterface*>
- size=4 align=4
- base size=4 base align=4
-QList<QDesignerWidgetDataBaseItemInterface*> (0xb6e884c0) 0
Vtable for QDesignerWidgetDataBaseInterface
QDesignerWidgetDataBaseInterface::_ZTV32QDesignerWidgetDataBaseInterface: 22u entries
@@ -638,10 +464,6 @@ QIODevice (0xb6e88ac0) 0
QObject (0xb6e88b00) 0
primary-for QIODevice (0xb6e88ac0)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0xb6e88bc0) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -661,60 +483,24 @@ Class QPoint
base size=8 base align=4
QPoint (0xb6e88cc0) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0xb6e88f00) 0 empty
Class QPointF
size=16 align=4
base size=16 base align=4
QPointF (0xb6e88f40) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0xb6e88000) 0 empty
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0xb6e88200) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0xb6e88280) 0
Class wait
size=4 align=4
base size=4 base align=4
wait (0xb6e88080) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6e88340) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6e883c0) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb6e88480) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6e88580) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb6e88600) 0
Class timespec
size=8 align=4
@@ -726,80 +512,24 @@ Class timeval
base size=8 base align=4
timeval (0xb6e88b40) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb6e88c40) 0
-Class <anonymous union>
- size=36 align=4
- base size=36 base align=4
-<anonymous union> (0xb6e88d00) 0
Class __pthread_internal_slist
size=4 align=4
base size=4 base align=4
__pthread_internal_slist (0xb6e88d40) 0
-Class <anonymous union>::__pthread_mutex_s::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union>::__pthread_mutex_s::<anonymous union> (0xb6e88e00) 0
-Class <anonymous union>::__pthread_mutex_s
- size=24 align=4
- base size=24 base align=4
-<anonymous union>::__pthread_mutex_s (0xb6e88dc0) 0
-Class <anonymous union>
- size=24 align=4
- base size=24 base align=4
-<anonymous union> (0xb6e88d80) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb6e88e40) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0xb6e88ec0) 0
-Class <anonymous union>
- size=48 align=4
- base size=48 base align=4
-<anonymous union> (0xb6e88e80) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb6e88f80) 0
-Class <anonymous union>::<anonymous struct>
- size=32 align=4
- base size=32 base align=4
-<anonymous union>::<anonymous struct> (0xb6c55000) 0
-Class <anonymous union>
- size=32 align=4
- base size=32 base align=4
-<anonymous union> (0xb6e88fc0) 0
-Class <anonymous union>
- size=8 align=4
- base size=8 base align=4
-<anonymous union> (0xb6c55040) 0
-Class <anonymous union>
- size=20 align=4
- base size=20 base align=4
-<anonymous union> (0xb6c55080) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb6c550c0) 0
Class random_data
size=28 align=4
@@ -821,25 +551,13 @@ Class QRegExp
base size=4 base align=4
QRegExp (0xb6c55340) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0xb6c55380) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0xb6c553c0) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0xb6c55480) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0xb6c55400) 0
Class QStringList
size=4 align=4
@@ -847,35 +565,11 @@ Class QStringList
QStringList (0xb6c554c0) 0
QList<QString> (0xb6c55500) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0xb6c55580) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0xb6c555c0) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0xb6c55700) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0xb6c55740) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0xb6c55780) 0
-Class QColor::<anonymous union>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union> (0xb6c556c0) 0
Class QColor
size=16 align=4
@@ -887,50 +581,26 @@ Class QSize
base size=8 base align=4
QSize (0xb6c55840) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0xb6c55a40) 0 empty
Class QSizeF
size=16 align=4
base size=16 base align=4
QSizeF (0xb6c55ac0) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0xb6c55cc0) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0xb6c55d80) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0xb6c55e80) 0 empty
Class QRectF
size=32 align=4
base size=32 base align=4
QRectF (0xb6c55ec0) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0xb6c55f80) 0 empty
-Class QVector<QPoint>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint>::<anonymous union> (0xb6c55800) 0
-Class QVector<QPoint>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint> (0xb6c55fc0) 0
Class QPolygon
size=4 align=4
@@ -938,15 +608,7 @@ Class QPolygon
QPolygon (0xb6c55880) 0
QVector<QPoint> (0xb6c558c0) 0
-Class QVector<QPointF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF>::<anonymous union> (0xb6c55980) 0
-Class QVector<QPointF>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF> (0xb6c55900) 0
Class QPolygonF
size=4 align=4
@@ -969,30 +631,18 @@ Class QLine
base size=16 base align=4
QLine (0xb6c55c80) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0xb6c55b40) 0 empty
Class QLineF
size=32 align=4
base size=32 base align=4
QLineF (0xb6c55b80) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0xb6c55bc0) 0 empty
Class QMatrix
size=48 align=4
base size=48 base align=4
QMatrix (0xb6c55c00) 0
-Class QTypeInfo<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMatrix> (0xb6c55dc0) 0 empty
Class QPainterPath::Element
size=20 align=4
@@ -1004,25 +654,13 @@ Class QPainterPath
base size=4 base align=4
QPainterPath (0xb6c55e00) 0
-Class QVector<QPainterPath::Element>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element>::<anonymous union> (0xb6b2c100) 0
-Class QVector<QPainterPath::Element>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element> (0xb6b2c080) 0
Class QPainterPathPrivate
size=8 align=4
base size=8 base align=4
QPainterPathPrivate (0xb6c55f00) 0
-Class QTypeInfo<QPainterPath::Element>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPainterPath::Element> (0xb6b2c140) 0 empty
Class QPainterPathStroker
size=4 align=4
@@ -1034,10 +672,6 @@ Class QTransform
base size=80 base align=4
QTransform (0xb6b2c240) 0
-Class QTypeInfo<QTransform>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTransform> (0xb6b2c280) 0 empty
Vtable for QPaintDevice
QPaintDevice::_ZTV12QPaintDevice: 7u entries
@@ -1078,10 +712,6 @@ QImage (0xb6b2c440) 0
QPaintDevice (0xb6b2c480) 0
primary-for QImage (0xb6b2c440)
-Class QTypeInfo<QImage>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QImage> (0xb6b2c5c0) 0 empty
Vtable for QPixmap
QPixmap::_ZTV7QPixmap: 7u entries
@@ -1106,45 +736,17 @@ Class QBrush
base size=4 base align=4
QBrush (0xb6b2c780) 0
-Class QTypeInfo<QBrush>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBrush> (0xb6b2c800) 0 empty
Class QBrushData
size=108 align=4
base size=105 base align=4
QBrushData (0xb6b2c840) 0
-Class QVector<QPair<double, QColor> >::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPair<double, QColor> >::<anonymous union> (0xb6b2c980) 0
-Class QVector<QPair<double, QColor> >
- size=4 align=4
- base size=4 base align=4
-QVector<QPair<double, QColor> > (0xb6b2c900) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=32 align=4
- base size=32 base align=4
-QGradient::<anonymous union>::<anonymous struct> (0xb6b2ca00) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=40 align=4
- base size=40 base align=4
-QGradient::<anonymous union>::<anonymous struct> (0xb6b2ca40) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=24 align=4
- base size=24 base align=4
-QGradient::<anonymous union>::<anonymous struct> (0xb6b2ca80) 0
-Class QGradient::<anonymous union>
- size=40 align=4
- base size=40 base align=4
-QGradient::<anonymous union> (0xb6b2c9c0) 0
Class QGradient
size=56 align=4
@@ -1201,65 +803,17 @@ QDesignerBrushManagerInterface (0xb6b2cc40) 0
QObject (0xb6b2cc80) 0
primary-for QDesignerBrushManagerInterface (0xb6b2cc40)
-Class QPointer<QWidget>
- size=4 align=4
- base size=4 base align=4
-QPointer<QWidget> (0xb6b2ce00) 0
-Class QPointer<QDesignerWidgetBoxInterface>
- size=4 align=4
- base size=4 base align=4
-QPointer<QDesignerWidgetBoxInterface> (0xb6b2ce80) 0
-Class QPointer<QDesignerPropertyEditorInterface>
- size=4 align=4
- base size=4 base align=4
-QPointer<QDesignerPropertyEditorInterface> (0xb6b2cf00) 0
-Class QPointer<QDesignerFormWindowManagerInterface>
- size=4 align=4
- base size=4 base align=4
-QPointer<QDesignerFormWindowManagerInterface> (0xb6b2cf80) 0
-Class QPointer<QExtensionManager>
- size=4 align=4
- base size=4 base align=4
-QPointer<QExtensionManager> (0xb6b2c380) 0
-Class QPointer<QDesignerMetaDataBaseInterface>
- size=4 align=4
- base size=4 base align=4
-QPointer<QDesignerMetaDataBaseInterface> (0xb6b2c500) 0
-Class QPointer<QDesignerWidgetDataBaseInterface>
- size=4 align=4
- base size=4 base align=4
-QPointer<QDesignerWidgetDataBaseInterface> (0xb6b2c4c0) 0
-Class QPointer<QDesignerWidgetFactoryInterface>
- size=4 align=4
- base size=4 base align=4
-QPointer<QDesignerWidgetFactoryInterface> (0xb6b2c540) 0
-Class QPointer<QDesignerObjectInspectorInterface>
- size=4 align=4
- base size=4 base align=4
-QPointer<QDesignerObjectInspectorInterface> (0xb6b2c6c0) 0
-Class QPointer<QDesignerBrushManagerInterface>
- size=4 align=4
- base size=4 base align=4
-QPointer<QDesignerBrushManagerInterface> (0xb6b2c680) 0
-Class QPointer<QDesignerIconCacheInterface>
- size=4 align=4
- base size=4 base align=4
-QPointer<QDesignerIconCacheInterface> (0xb6b2c700) 0
-Class QPointer<QDesignerActionEditorInterface>
- size=4 align=4
- base size=4 base align=4
-QPointer<QDesignerActionEditorInterface> (0xb6b2c7c0) 0
Vtable for QDesignerFormEditorInterface
QDesignerFormEditorInterface::_ZTV28QDesignerFormEditorInterface: 14u entries
@@ -1348,10 +902,6 @@ Class QSizePolicy
base size=4 base align=4
QSizePolicy (0xb6915180) 0
-Class QFlags<QSizePolicy::ControlType>
- size=4 align=4
- base size=4 base align=4
-QFlags<QSizePolicy::ControlType> (0xb6915280) 0
Class QCursor
size=4 align=4
@@ -1363,10 +913,6 @@ Class QKeySequence
base size=4 base align=4
QKeySequence (0xb6915300) 0
-Class QTypeInfo<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QKeySequence> (0xb69153c0) 0 empty
Class QWidgetData
size=64 align=4
@@ -1449,10 +995,6 @@ QWidget (0xb6915440) 0
QPaintDevice (0xb69154c0) 8
vptr=((& QWidget::_ZTV7QWidget) + 232u)
-Class QFlags<QWidget::RenderFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QWidget::RenderFlag> (0xb6915700) 0
Vtable for QDesignerResourceBrowserInterface
QDesignerResourceBrowserInterface::_ZTV33QDesignerResourceBrowserInterface: 65u entries
@@ -1696,300 +1238,72 @@ Class QMetaType
base size=0 base align=1
QMetaType (0xb6915b00) 0 empty
-Class QMetaTypeId2<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QString> (0xb6915bc0) 0 empty
-Class QMetaTypeId2<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<int> (0xb6915c00) 0 empty
-Class QMetaTypeId2<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned int> (0xb6915c40) 0 empty
-Class QMetaTypeId2<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<bool> (0xb6915c80) 0 empty
-Class QMetaTypeId2<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<double> (0xb6915cc0) 0 empty
-Class QMetaTypeId2<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QByteArray> (0xb6915d00) 0 empty
-Class QMetaTypeId2<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QChar> (0xb6915d40) 0 empty
-Class QMetaTypeId2<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long int> (0xb6915d80) 0 empty
-Class QMetaTypeId2<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short int> (0xb6915dc0) 0 empty
-Class QMetaTypeId2<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<char> (0xb6915e00) 0 empty
-Class QMetaTypeId2<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long unsigned int> (0xb6915e40) 0 empty
-Class QMetaTypeId2<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short unsigned int> (0xb6915e80) 0 empty
-Class QMetaTypeId2<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned char> (0xb6915ec0) 0 empty
-Class QMetaTypeId2<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<float> (0xb6915f00) 0 empty
-Class QMetaTypeId2<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QObject*> (0xb6915f40) 0 empty
-Class QMetaTypeId2<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QWidget*> (0xb6915f80) 0 empty
-Class QMetaTypeId2<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<void*> (0xb6915fc0) 0 empty
-Class QMetaTypeId2<long long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long int> (0xb6915040) 0 empty
-Class QMetaTypeId2<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long unsigned int> (0xb6915080) 0 empty
-Class QMetaTypeId2<QStringList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QStringList> (0xb6915200) 0 empty
-Class QMetaTypeId2<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitArray> (0xb6915240) 0 empty
-Class QMetaTypeId2<QDate>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDate> (0xb6915340) 0 empty
-Class QMetaTypeId2<QTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTime> (0xb6915380) 0 empty
-Class QMetaTypeId2<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDateTime> (0xb6915500) 0 empty
-Class QMetaTypeId2<QUrl>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QUrl> (0xb6915540) 0 empty
-Class QMetaTypeId2<QLocale>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLocale> (0xb6915580) 0 empty
-Class QMetaTypeId2<QRect>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRect> (0xb69155c0) 0 empty
-Class QMetaTypeId2<QRectF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRectF> (0xb6915600) 0 empty
-Class QMetaTypeId2<QSize>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSize> (0xb6915640) 0 empty
-Class QMetaTypeId2<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizeF> (0xb6915680) 0 empty
-Class QMetaTypeId2<QLine>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLine> (0xb6915840) 0 empty
-Class QMetaTypeId2<QLineF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLineF> (0xb6915980) 0 empty
-Class QMetaTypeId2<QPoint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPoint> (0xb6915a00) 0 empty
-Class QMetaTypeId2<QPointF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPointF> (0xb66c0000) 0 empty
-Class QMetaTypeId2<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegExp> (0xb66c0040) 0 empty
-Class QMetaTypeId2<QColorGroup>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColorGroup> (0xb66c0080) 0 empty
-Class QMetaTypeId2<QFont>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QFont> (0xb66c00c0) 0 empty
-Class QMetaTypeId2<QPixmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPixmap> (0xb66c0100) 0 empty
-Class QMetaTypeId2<QBrush>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBrush> (0xb66c0140) 0 empty
-Class QMetaTypeId2<QColor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColor> (0xb66c0180) 0 empty
-Class QMetaTypeId2<QPalette>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPalette> (0xb66c01c0) 0 empty
-Class QMetaTypeId2<QIcon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QIcon> (0xb66c0200) 0 empty
-Class QMetaTypeId2<QImage>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QImage> (0xb66c0240) 0 empty
-Class QMetaTypeId2<QPolygon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPolygon> (0xb66c0280) 0 empty
-Class QMetaTypeId2<QRegion>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegion> (0xb66c02c0) 0 empty
-Class QMetaTypeId2<QBitmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitmap> (0xb66c0300) 0 empty
-Class QMetaTypeId2<QCursor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QCursor> (0xb66c0340) 0 empty
-Class QMetaTypeId2<QSizePolicy>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizePolicy> (0xb66c0380) 0 empty
-Class QMetaTypeId2<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QKeySequence> (0xb66c03c0) 0 empty
-Class QMetaTypeId2<QPen>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPen> (0xb66c0400) 0 empty
-Class QMetaTypeId2<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextLength> (0xb66c0440) 0 empty
-Class QMetaTypeId2<QTextFormat>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextFormat> (0xb66c0480) 0 empty
-Class QMetaTypeId2<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMatrix> (0xb66c04c0) 0 empty
-Class QMetaTypeId2<QTransform>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTransform> (0xb66c0500) 0 empty
Class QIcon
size=4 align=4
base size=4 base align=4
QIcon (0xb66c0540) 0
-Class QTypeInfo<QIcon>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QIcon> (0xb66c0600) 0 empty
Class QDesignerWidgetBoxInterface::Widget
size=16 align=4
base size=16 base align=4
QDesignerWidgetBoxInterface::Widget (0xb66c0740) 0
-Class QList<QDesignerWidgetBoxInterface::Widget>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QDesignerWidgetBoxInterface::Widget>::<anonymous union> (0xb66c0880) 0
-Class QList<QDesignerWidgetBoxInterface::Widget>
- size=4 align=4
- base size=4 base align=4
-QList<QDesignerWidgetBoxInterface::Widget> (0xb66c0800) 0
Class QDesignerWidgetBoxInterface::Category
size=12 align=4
@@ -2087,10 +1401,6 @@ QDesignerWidgetBoxInterface (0xb66c0640) 0
QPaintDevice (0xb66c0700) 8
vptr=((& QDesignerWidgetBoxInterface::_ZTV27QDesignerWidgetBoxInterface) + 284u)
-Class QMetaTypeId<QDesignerWidgetBoxInterface::Widget>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QDesignerWidgetBoxInterface::Widget> (0xb66c0980) 0 empty
Vtable for QDesignerTaskMenuExtension
QDesignerTaskMenuExtension::_ZTV26QDesignerTaskMenuExtension: 6u entries
@@ -2238,10 +1548,6 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0xb66c0ec0) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0xb66c0f00) 0 empty
Vtable for QDesignerMetaDataBaseItemInterface
QDesignerMetaDataBaseItemInterface::_ZTV34QDesignerMetaDataBaseItemInterface: 10u entries
@@ -2776,25 +2082,9 @@ Class QDesignerCustomWidgetCollectionInterface
QDesignerCustomWidgetCollectionInterface (0xb655ed00) 0 nearly-empty
vptr=((& QDesignerCustomWidgetCollectionInterface::_ZTV40QDesignerCustomWidgetCollectionInterface) + 8u)
-Class <anonymous struct>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct>::<anonymous union> (0xb655ee00) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb655ed80) 0
-Class <anonymous struct>
- size=12 align=4
- base size=12 base align=4
-<anonymous struct> (0xb655eec0) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb655ef80) 0
Class __gconv_trans_data
size=20 align=4
@@ -2816,15 +2106,7 @@ Class __gconv_info
base size=8 base align=4
__gconv_info (0xb64dc0c0) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0xb64dc140) 0
-Class <anonymous union>
- size=44 align=4
- base size=44 base align=4
-<anonymous union> (0xb64dc100) 0
Class _IO_marker
size=12 align=4
@@ -2836,10 +2118,6 @@ Class _IO_FILE
base size=148 base align=4
_IO_FILE (0xb64dc1c0) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb64dc200) 0
Vtable for QFile
QFile::_ZTV5QFile: 31u entries
@@ -2885,80 +2163,28 @@ QFile (0xb64dc240) 0
QObject (0xb64dc2c0) 0
primary-for QIODevice (0xb64dc280)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0xb64dc340) 0
Class QFileInfo
size=4 align=4
base size=4 base align=4
QFileInfo (0xb64dc380) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0xb64dc3c0) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0xb64dc400) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0xb64dc4c0) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0xb64dc440) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0xb64dc500) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0xb64dc580) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0xb64dc600) 0
-Class QHash<QObject*, bool>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QHash<QObject*, bool>::<anonymous union> (0xb64dc740) 0
-Class QHash<QObject*, bool>
- size=4 align=4
- base size=4 base align=4
-QHash<QObject*, bool> (0xb64dc6c0) 0
-Class QHash<QString, QAction*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QHash<QString, QAction*>::<anonymous union> (0xb64dc840) 0
-Class QHash<QString, QAction*>
- size=4 align=4
- base size=4 base align=4
-QHash<QString, QAction*> (0xb64dc7c0) 0
-Class QHash<QString, QActionGroup*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QHash<QString, QActionGroup*>::<anonymous union> (0xb64dc940) 0
-Class QHash<QString, QActionGroup*>
- size=4 align=4
- base size=4 base align=4
-QHash<QString, QActionGroup*> (0xb64dc8c0) 0
Vtable for QAbstractFormBuilder
QAbstractFormBuilder::_ZTV20QAbstractFormBuilder: 48u entries
@@ -3017,15 +2243,7 @@ Class QAbstractFormBuilder
QAbstractFormBuilder (0xb64dc640) 0
vptr=((& QAbstractFormBuilder::_ZTV20QAbstractFormBuilder) + 8u)
-Class QMap<QString, QDesignerCustomWidgetInterface*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QDesignerCustomWidgetInterface*>::<anonymous union> (0xb64dcb80) 0
-Class QMap<QString, QDesignerCustomWidgetInterface*>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QDesignerCustomWidgetInterface*> (0xb64dcb00) 0
Vtable for QFormBuilder
QFormBuilder::_ZTV12QFormBuilder: 49u entries
@@ -3107,25 +2325,9 @@ Class QDesignerContainerExtension
QDesignerContainerExtension (0xb64dcc40) 0 nearly-empty
vptr=((& QDesignerContainerExtension::_ZTV27QDesignerContainerExtension) + 8u)
-Class QHash<QString, QList<QAbstractExtensionFactory*> >::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QHash<QString, QList<QAbstractExtensionFactory*> >::<anonymous union> (0xb64dcf00) 0
-Class QHash<QString, QList<QAbstractExtensionFactory*> >
- size=4 align=4
- base size=4 base align=4
-QHash<QString, QList<QAbstractExtensionFactory*> > (0xb64dce80) 0
-Class QList<QAbstractExtensionFactory*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QAbstractExtensionFactory*>::<anonymous union> (0xb64dc300) 0
-Class QList<QAbstractExtensionFactory*>
- size=4 align=4
- base size=4 base align=4
-QList<QAbstractExtensionFactory*> (0xb64dcf80) 0
Vtable for QExtensionManager
QExtensionManager::_ZTV17QExtensionManager: 24u entries
@@ -3164,53 +2366,13 @@ QExtensionManager (0xb64dcd80) 0
QAbstractExtensionManager (0xb64dce00) 8 nearly-empty
vptr=((& QExtensionManager::_ZTV17QExtensionManager) + 76u)
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0xb64dc780) 0
-Class QVectorTypedData<QPoint>
- size=24 align=4
- base size=24 base align=4
-QVectorTypedData<QPoint> (0xb64dc980) 0
-Class QVectorTypedData<QPointF>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QPointF> (0xb64dca00) 0
-Class QVectorTypedData<QPainterPath::Element>
- size=36 align=4
- base size=36 base align=4
-QVectorTypedData<QPainterPath::Element> (0xb64dcc00) 0
-Class QList<QDesignerWidgetBoxInterface::Widget>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QDesignerWidgetBoxInterface::Widget>::Node (0xb64dce40) 0
-Class QTypeInfo<QDesignerWidgetBoxInterface::Widget>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDesignerWidgetBoxInterface::Widget> (0xb62e7000) 0 empty
-Class QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union> (0xb62e71c0) 0
-Class QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union> (0xb62e7280) 0
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0xb62e7340) 0
-Class QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union> (0xb62e73c0) 0
diff --git a/tests/auto/bic/data/QtDesigner.4.3.2.linux-gcc-ia32.txt b/tests/auto/bic/data/QtDesigner.4.3.2.linux-gcc-ia32.txt
index 5f94e31..a45f55b 100644
--- a/tests/auto/bic/data/QtDesigner.4.3.2.linux-gcc-ia32.txt
+++ b/tests/auto/bic/data/QtDesigner.4.3.2.linux-gcc-ia32.txt
@@ -1,34 +1,8 @@
-Class QUintForSize<4>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<4> (0xb77c7080) 0 empty
-Class QUintForSize<8>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<8> (0xb77c70c0) 0 empty
-Class QUintForType<void*>
- size=1 align=1
- base size=1 base align=1
-QUintForType<void*> (0xb77c7180) 0 empty
- QUintForSize<4> (0xb77c71c0) 0 empty
-Class QIntForSize<4>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<4> (0xb77c7240) 0 empty
-Class QIntForSize<8>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<8> (0xb77c7280) 0 empty
-Class QIntForType<void*>
- size=1 align=1
- base size=1 base align=1
-QIntForType<void*> (0xb77c7340) 0 empty
- QIntForSize<4> (0xb77c7380) 0 empty
Class QSysInfo
size=1 align=1
@@ -50,150 +24,38 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0xb77c7640) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0xb77c7700) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0xb77c7740) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0xb77c7780) 0 empty
-Class QTypeInfo<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned char> (0xb77c77c0) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0xb77c7800) 0 empty
-Class QTypeInfo<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short unsigned int> (0xb77c7840) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0xb77c7880) 0 empty
-Class QTypeInfo<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned int> (0xb77c78c0) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0xb77c7900) 0 empty
-Class QTypeInfo<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long unsigned int> (0xb77c7940) 0 empty
-Class QTypeInfo<long long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long int> (0xb77c7980) 0 empty
-Class QTypeInfo<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long unsigned int> (0xb77c79c0) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0xb77c7a00) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0xb77c7a40) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0xb77c7a80) 0 empty
Class QFlag
size=4 align=4
base size=4 base align=4
QFlag (0xb77c7ac0) 0
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0xb77c7bc0) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0xb77c7c00) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0xb77c7c40) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0xb77c7c80) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0xb77c7cc0) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0xb77c7d00) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0xb77c7d40) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0xb77c7d80) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0xb77c7dc0) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0xb77c7e00) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0xb77c7e40) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0xb77c7e80) 0
-Class QFlags<Qt::TextInteractionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::TextInteractionFlag> (0xb77c7ec0) 0
Class QInternal
size=1 align=1
@@ -211,10 +73,6 @@ Class QGenericReturnArgument
QGenericReturnArgument (0xb77c7fc0) 0
QGenericArgument (0xb72cd000) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0xb72cd1c0) 0
Class QMetaObject
size=16 align=4
@@ -231,10 +89,6 @@ Class QChar
base size=2 base align=2
QChar (0xb72cd280) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0xb72cd300) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -267,10 +121,6 @@ Class QByteRef
base size=8 base align=4
QByteRef (0xb72cd600) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0xb72cd640) 0 empty
Class QString::Null
size=1 align=1
@@ -287,10 +137,6 @@ Class QString
base size=4 base align=4
QString (0xb72cd680) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0xb72cd880) 0
Class QLatin1String
size=4 align=4
@@ -308,10 +154,6 @@ Class QConstString
QConstString (0xb72cd980) 0
QString (0xb72cd9c0) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0xb72cda00) 0 empty
Class QStringRef
size=12 align=4
@@ -379,15 +221,7 @@ Class QListData
base size=4 base align=4
QListData (0xb72cdd40) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0xb72cdc00) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0xb72cd800) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -443,60 +277,36 @@ Class QSize
base size=8 base align=4
QSize (0xb6ec7140) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0xb6ec7340) 0 empty
Class QSizeF
size=16 align=4
base size=16 base align=4
QSizeF (0xb6ec73c0) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0xb6ec75c0) 0 empty
Class QPoint
size=8 align=4
base size=8 base align=4
QPoint (0xb6ec7680) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0xb6ec78c0) 0 empty
Class QPointF
size=16 align=4
base size=16 base align=4
QPointF (0xb6ec7900) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0xb6ec7b40) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0xb6ec7b80) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0xb6ec7c80) 0 empty
Class QRectF
size=32 align=4
base size=32 base align=4
QRectF (0xb6ec7cc0) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0xb6ec7d80) 0 empty
Vtable for QPaintDevice
QPaintDevice::_ZTV12QPaintDevice: 7u entries
@@ -555,10 +365,6 @@ QIODevice (0xb6ec7ec0) 0
QObject (0xb6ec7f00) 0
primary-for QIODevice (0xb6ec7ec0)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0xb6ec7fc0) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -578,25 +384,13 @@ Class QRegExp
base size=4 base align=4
QRegExp (0xb6ec71c0) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0xb6ec7200) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0xb6ec7240) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0xb6ec7300) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0xb6ec7280) 0
Class QStringList
size=4 align=4
@@ -604,80 +398,28 @@ Class QStringList
QStringList (0xb6ec7180) 0
QList<QString> (0xb6ec7400) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0xb6ec7480) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0xb6ec74c0) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0xb6ec7700) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0xb6ec7740) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0xb6ec7780) 0
-Class QColor::<anonymous union>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union> (0xb6ec76c0) 0
Class QColor
size=16 align=4
base size=14 base align=4
QColor (0xb6ec7580) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0xb6ec77c0) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0xb6ec7800) 0
Class wait
size=4 align=4
base size=4 base align=4
wait (0xb6ec7880) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6ec7940) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6ec7980) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb6ec79c0) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6ec7a00) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb6ec7a40) 0
Class timespec
size=8 align=4
@@ -689,80 +431,24 @@ Class timeval
base size=8 base align=4
timeval (0xb6ec7ac0) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb6ec7b00) 0
-Class <anonymous union>
- size=36 align=4
- base size=36 base align=4
-<anonymous union> (0xb6ec7bc0) 0
Class __pthread_internal_slist
size=4 align=4
base size=4 base align=4
__pthread_internal_slist (0xb6ec7c00) 0
-Class <anonymous union>::__pthread_mutex_s::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union>::__pthread_mutex_s::<anonymous union> (0xb6ec7d40) 0
-Class <anonymous union>::__pthread_mutex_s
- size=24 align=4
- base size=24 base align=4
-<anonymous union>::__pthread_mutex_s (0xb6ec7d00) 0
-Class <anonymous union>
- size=24 align=4
- base size=24 base align=4
-<anonymous union> (0xb6ec7c40) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb6ec7e40) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0xb6d42000) 0
-Class <anonymous union>
- size=48 align=4
- base size=48 base align=4
-<anonymous union> (0xb6ec7f40) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb6d42040) 0
-Class <anonymous union>::<anonymous struct>
- size=32 align=4
- base size=32 base align=4
-<anonymous union>::<anonymous struct> (0xb6d420c0) 0
-Class <anonymous union>
- size=32 align=4
- base size=32 base align=4
-<anonymous union> (0xb6d42080) 0
-Class <anonymous union>
- size=8 align=4
- base size=8 base align=4
-<anonymous union> (0xb6d42100) 0
-Class <anonymous union>
- size=20 align=4
- base size=20 base align=4
-<anonymous union> (0xb6d42140) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb6d42180) 0
Class random_data
size=28 align=4
@@ -779,15 +465,7 @@ Class QVectorData
base size=16 base align=4
QVectorData (0xb6d42240) 0
-Class QVector<QPoint>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint>::<anonymous union> (0xb6d42480) 0
-Class QVector<QPoint>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint> (0xb6d42400) 0
Class QPolygon
size=4 align=4
@@ -795,15 +473,7 @@ Class QPolygon
QPolygon (0xb6d424c0) 0
QVector<QPoint> (0xb6d42500) 0
-Class QVector<QPointF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF>::<anonymous union> (0xb6d425c0) 0
-Class QVector<QPointF>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF> (0xb6d42540) 0
Class QPolygonF
size=4 align=4
@@ -826,30 +496,18 @@ Class QLine
base size=16 base align=4
QLine (0xb6d42800) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0xb6d42840) 0 empty
Class QLineF
size=32 align=4
base size=32 base align=4
QLineF (0xb6d42880) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0xb6d428c0) 0 empty
Class QMatrix
size=48 align=4
base size=48 base align=4
QMatrix (0xb6d42900) 0
-Class QTypeInfo<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMatrix> (0xb6d42940) 0 empty
Class QPainterPath::Element
size=20 align=4
@@ -861,25 +519,13 @@ Class QPainterPath
base size=4 base align=4
QPainterPath (0xb6d42980) 0
-Class QVector<QPainterPath::Element>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element>::<anonymous union> (0xb6d42c00) 0
-Class QVector<QPainterPath::Element>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element> (0xb6d42b80) 0
Class QPainterPathPrivate
size=8 align=4
base size=8 base align=4
QPainterPathPrivate (0xb6d42a80) 0
-Class QTypeInfo<QPainterPath::Element>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPainterPath::Element> (0xb6d42c40) 0 empty
Class QPainterPathStroker
size=4 align=4
@@ -891,10 +537,6 @@ Class QTransform
base size=80 base align=4
QTransform (0xb6d42d40) 0
-Class QTypeInfo<QTransform>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTransform> (0xb6d42d80) 0 empty
Class QImageTextKeyLang
size=8 align=4
@@ -919,10 +561,6 @@ QImage (0xb6d42e40) 0
QPaintDevice (0xb6d42e80) 0
primary-for QImage (0xb6d42e40)
-Class QTypeInfo<QImage>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QImage> (0xb6d42fc0) 0 empty
Vtable for QPixmap
QPixmap::_ZTV7QPixmap: 7u entries
@@ -947,45 +585,17 @@ Class QBrush
base size=4 base align=4
QBrush (0xb6d42740) 0
-Class QTypeInfo<QBrush>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBrush> (0xb6d42a40) 0 empty
Class QBrushData
size=108 align=4
base size=105 base align=4
QBrushData (0xb6d42a00) 0
-Class QVector<QPair<double, QColor> >::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPair<double, QColor> >::<anonymous union> (0xb6999000) 0
-Class QVector<QPair<double, QColor> >
- size=4 align=4
- base size=4 base align=4
-QVector<QPair<double, QColor> > (0xb6d42f40) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=32 align=4
- base size=32 base align=4
-QGradient::<anonymous union>::<anonymous struct> (0xb6999080) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=40 align=4
- base size=40 base align=4
-QGradient::<anonymous union>::<anonymous struct> (0xb69990c0) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=24 align=4
- base size=24 base align=4
-QGradient::<anonymous union>::<anonymous struct> (0xb6999100) 0
-Class QGradient::<anonymous union>
- size=40 align=4
- base size=40 base align=4
-QGradient::<anonymous union> (0xb6999040) 0
Class QGradient
size=56 align=4
@@ -1046,10 +656,6 @@ Class QSizePolicy
base size=4 base align=4
QSizePolicy (0xb69995c0) 0
-Class QFlags<QSizePolicy::ControlType>
- size=4 align=4
- base size=4 base align=4
-QFlags<QSizePolicy::ControlType> (0xb69996c0) 0
Class QCursor
size=4 align=4
@@ -1061,10 +667,6 @@ Class QKeySequence
base size=4 base align=4
QKeySequence (0xb6999740) 0
-Class QTypeInfo<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QKeySequence> (0xb6999800) 0 empty
Class QWidgetData
size=64 align=4
@@ -1147,10 +749,6 @@ QWidget (0xb6999880) 0
QPaintDevice (0xb6999900) 8
vptr=((& QWidget::_ZTV7QWidget) + 232u)
-Class QFlags<QWidget::RenderFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QWidget::RenderFlag> (0xb6999b40) 0
Vtable for QDesignerPropertyEditorInterface
QDesignerPropertyEditorInterface::_ZTV32QDesignerPropertyEditorInterface: 70u entries
@@ -1324,300 +922,72 @@ Class QMetaType
base size=0 base align=1
QMetaType (0xb6999e00) 0 empty
-Class QMetaTypeId2<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QString> (0xb6999ec0) 0 empty
-Class QMetaTypeId2<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<int> (0xb6999f00) 0 empty
-Class QMetaTypeId2<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned int> (0xb6999f40) 0 empty
-Class QMetaTypeId2<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<bool> (0xb6999f80) 0 empty
-Class QMetaTypeId2<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<double> (0xb6999fc0) 0 empty
-Class QMetaTypeId2<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QByteArray> (0xb6999300) 0 empty
-Class QMetaTypeId2<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QChar> (0xb6999480) 0 empty
-Class QMetaTypeId2<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long int> (0xb69994c0) 0 empty
-Class QMetaTypeId2<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short int> (0xb6999640) 0 empty
-Class QMetaTypeId2<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<char> (0xb6999680) 0 empty
-Class QMetaTypeId2<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long unsigned int> (0xb6999780) 0 empty
-Class QMetaTypeId2<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short unsigned int> (0xb69997c0) 0 empty
-Class QMetaTypeId2<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned char> (0xb6999940) 0 empty
-Class QMetaTypeId2<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<float> (0xb6999980) 0 empty
-Class QMetaTypeId2<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QObject*> (0xb69999c0) 0 empty
-Class QMetaTypeId2<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QWidget*> (0xb6999a00) 0 empty
-Class QMetaTypeId2<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<void*> (0xb6999a40) 0 empty
-Class QMetaTypeId2<long long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long int> (0xb6999a80) 0 empty
-Class QMetaTypeId2<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long unsigned int> (0xb6999ac0) 0 empty
-Class QMetaTypeId2<QStringList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QStringList> (0xb6999c80) 0 empty
-Class QMetaTypeId2<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitArray> (0xb6999dc0) 0 empty
-Class QMetaTypeId2<QDate>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDate> (0xb6790000) 0 empty
-Class QMetaTypeId2<QTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTime> (0xb6790040) 0 empty
-Class QMetaTypeId2<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDateTime> (0xb6790080) 0 empty
-Class QMetaTypeId2<QUrl>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QUrl> (0xb67900c0) 0 empty
-Class QMetaTypeId2<QLocale>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLocale> (0xb6790100) 0 empty
-Class QMetaTypeId2<QRect>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRect> (0xb6790140) 0 empty
-Class QMetaTypeId2<QRectF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRectF> (0xb6790180) 0 empty
-Class QMetaTypeId2<QSize>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSize> (0xb67901c0) 0 empty
-Class QMetaTypeId2<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizeF> (0xb6790200) 0 empty
-Class QMetaTypeId2<QLine>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLine> (0xb6790240) 0 empty
-Class QMetaTypeId2<QLineF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLineF> (0xb6790280) 0 empty
-Class QMetaTypeId2<QPoint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPoint> (0xb67902c0) 0 empty
-Class QMetaTypeId2<QPointF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPointF> (0xb6790300) 0 empty
-Class QMetaTypeId2<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegExp> (0xb6790340) 0 empty
-Class QMetaTypeId2<QColorGroup>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColorGroup> (0xb6790380) 0 empty
-Class QMetaTypeId2<QFont>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QFont> (0xb67903c0) 0 empty
-Class QMetaTypeId2<QPixmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPixmap> (0xb6790400) 0 empty
-Class QMetaTypeId2<QBrush>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBrush> (0xb6790440) 0 empty
-Class QMetaTypeId2<QColor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColor> (0xb6790480) 0 empty
-Class QMetaTypeId2<QPalette>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPalette> (0xb67904c0) 0 empty
-Class QMetaTypeId2<QIcon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QIcon> (0xb6790500) 0 empty
-Class QMetaTypeId2<QImage>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QImage> (0xb6790540) 0 empty
-Class QMetaTypeId2<QPolygon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPolygon> (0xb6790580) 0 empty
-Class QMetaTypeId2<QRegion>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegion> (0xb67905c0) 0 empty
-Class QMetaTypeId2<QBitmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitmap> (0xb6790600) 0 empty
-Class QMetaTypeId2<QCursor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QCursor> (0xb6790640) 0 empty
-Class QMetaTypeId2<QSizePolicy>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizePolicy> (0xb6790680) 0 empty
-Class QMetaTypeId2<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QKeySequence> (0xb67906c0) 0 empty
-Class QMetaTypeId2<QPen>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPen> (0xb6790700) 0 empty
-Class QMetaTypeId2<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextLength> (0xb6790740) 0 empty
-Class QMetaTypeId2<QTextFormat>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextFormat> (0xb6790780) 0 empty
-Class QMetaTypeId2<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMatrix> (0xb67907c0) 0 empty
-Class QMetaTypeId2<QTransform>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTransform> (0xb6790800) 0 empty
Class QIcon
size=4 align=4
base size=4 base align=4
QIcon (0xb6790840) 0
-Class QTypeInfo<QIcon>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QIcon> (0xb6790900) 0 empty
Class QDesignerWidgetBoxInterface::Widget
size=16 align=4
base size=16 base align=4
QDesignerWidgetBoxInterface::Widget (0xb6790a40) 0
-Class QList<QDesignerWidgetBoxInterface::Widget>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QDesignerWidgetBoxInterface::Widget>::<anonymous union> (0xb6790b80) 0
-Class QList<QDesignerWidgetBoxInterface::Widget>
- size=4 align=4
- base size=4 base align=4
-QList<QDesignerWidgetBoxInterface::Widget> (0xb6790b00) 0
Class QDesignerWidgetBoxInterface::Category
size=12 align=4
@@ -1715,10 +1085,6 @@ QDesignerWidgetBoxInterface (0xb6790940) 0
QPaintDevice (0xb6790a00) 8
vptr=((& QDesignerWidgetBoxInterface::_ZTV27QDesignerWidgetBoxInterface) + 284u)
-Class QMetaTypeId<QDesignerWidgetBoxInterface::Widget>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QDesignerWidgetBoxInterface::Widget> (0xb6790c80) 0 empty
Vtable for QDesignerFormWindowInterface
QDesignerFormWindowInterface::_ZTV28QDesignerFormWindowInterface: 114u entries
@@ -1909,10 +1275,6 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0xb6844040) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0xb6844080) 0 empty
Class QDesignerPromotionInterface::PromotedClass
size=8 align=4
@@ -2512,15 +1874,7 @@ Class QDesignerWidgetDataBaseItemInterface
QDesignerWidgetDataBaseItemInterface (0xb6618600) 0 nearly-empty
vptr=((& QDesignerWidgetDataBaseItemInterface::_ZTV36QDesignerWidgetDataBaseItemInterface) + 8u)
-Class QList<QDesignerWidgetDataBaseItemInterface*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QDesignerWidgetDataBaseItemInterface*>::<anonymous union> (0xb66187c0) 0
-Class QList<QDesignerWidgetDataBaseItemInterface*>
- size=4 align=4
- base size=4 base align=4
-QList<QDesignerWidgetDataBaseItemInterface*> (0xb6618740) 0
Vtable for QDesignerWidgetDataBaseInterface
QDesignerWidgetDataBaseInterface::_ZTV32QDesignerWidgetDataBaseInterface: 22u entries
@@ -2581,65 +1935,17 @@ Class QDesignerFormWindowCursorInterface
QDesignerFormWindowCursorInterface (0xb6618840) 0 nearly-empty
vptr=((& QDesignerFormWindowCursorInterface::_ZTV34QDesignerFormWindowCursorInterface) + 8u)
-Class QPointer<QWidget>
- size=4 align=4
- base size=4 base align=4
-QPointer<QWidget> (0xb66189c0) 0
-Class QPointer<QDesignerWidgetBoxInterface>
- size=4 align=4
- base size=4 base align=4
-QPointer<QDesignerWidgetBoxInterface> (0xb6618a40) 0
-Class QPointer<QDesignerPropertyEditorInterface>
- size=4 align=4
- base size=4 base align=4
-QPointer<QDesignerPropertyEditorInterface> (0xb6618ac0) 0
-Class QPointer<QDesignerFormWindowManagerInterface>
- size=4 align=4
- base size=4 base align=4
-QPointer<QDesignerFormWindowManagerInterface> (0xb6618b40) 0
-Class QPointer<QExtensionManager>
- size=4 align=4
- base size=4 base align=4
-QPointer<QExtensionManager> (0xb6618bc0) 0
-Class QPointer<QDesignerMetaDataBaseInterface>
- size=4 align=4
- base size=4 base align=4
-QPointer<QDesignerMetaDataBaseInterface> (0xb6618c40) 0
-Class QPointer<QDesignerWidgetDataBaseInterface>
- size=4 align=4
- base size=4 base align=4
-QPointer<QDesignerWidgetDataBaseInterface> (0xb6618cc0) 0
-Class QPointer<QDesignerWidgetFactoryInterface>
- size=4 align=4
- base size=4 base align=4
-QPointer<QDesignerWidgetFactoryInterface> (0xb6618d40) 0
-Class QPointer<QDesignerObjectInspectorInterface>
- size=4 align=4
- base size=4 base align=4
-QPointer<QDesignerObjectInspectorInterface> (0xb6618dc0) 0
-Class QPointer<QDesignerBrushManagerInterface>
- size=4 align=4
- base size=4 base align=4
-QPointer<QDesignerBrushManagerInterface> (0xb6618e40) 0
-Class QPointer<QDesignerIconCacheInterface>
- size=4 align=4
- base size=4 base align=4
-QPointer<QDesignerIconCacheInterface> (0xb6618ec0) 0
-Class QPointer<QDesignerActionEditorInterface>
- size=4 align=4
- base size=4 base align=4
-QPointer<QDesignerActionEditorInterface> (0xb6618f40) 0
Vtable for QDesignerFormEditorInterface
QDesignerFormEditorInterface::_ZTV28QDesignerFormEditorInterface: 14u entries
@@ -2776,25 +2082,9 @@ Class QDesignerCustomWidgetCollectionInterface
QDesignerCustomWidgetCollectionInterface (0xb6618880) 0 nearly-empty
vptr=((& QDesignerCustomWidgetCollectionInterface::_ZTV40QDesignerCustomWidgetCollectionInterface) + 8u)
-Class <anonymous struct>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct>::<anonymous union> (0xb6618a00) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6618980) 0
-Class <anonymous struct>
- size=12 align=4
- base size=12 base align=4
-<anonymous struct> (0xb6618a80) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb6618b00) 0
Class __gconv_trans_data
size=20 align=4
@@ -2816,15 +2106,7 @@ Class __gconv_info
base size=8 base align=4
__gconv_info (0xb6618d00) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0xb6618e00) 0
-Class <anonymous union>
- size=44 align=4
- base size=44 base align=4
-<anonymous union> (0xb6618d80) 0
Class _IO_marker
size=12 align=4
@@ -2836,10 +2118,6 @@ Class _IO_FILE
base size=148 base align=4
_IO_FILE (0xb6618f00) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb6618f80) 0
Vtable for QFile
QFile::_ZTV5QFile: 31u entries
@@ -2885,80 +2163,28 @@ QFile (0xb6527000) 0
QObject (0xb6527080) 0
primary-for QIODevice (0xb6527040)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0xb6527100) 0
Class QFileInfo
size=4 align=4
base size=4 base align=4
QFileInfo (0xb6527140) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0xb6527180) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0xb65271c0) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0xb6527280) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0xb6527200) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0xb65272c0) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0xb6527340) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0xb65273c0) 0
-Class QHash<QObject*, bool>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QHash<QObject*, bool>::<anonymous union> (0xb6527500) 0
-Class QHash<QObject*, bool>
- size=4 align=4
- base size=4 base align=4
-QHash<QObject*, bool> (0xb6527480) 0
-Class QHash<QString, QAction*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QHash<QString, QAction*>::<anonymous union> (0xb6527600) 0
-Class QHash<QString, QAction*>
- size=4 align=4
- base size=4 base align=4
-QHash<QString, QAction*> (0xb6527580) 0
-Class QHash<QString, QActionGroup*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QHash<QString, QActionGroup*>::<anonymous union> (0xb6527700) 0
-Class QHash<QString, QActionGroup*>
- size=4 align=4
- base size=4 base align=4
-QHash<QString, QActionGroup*> (0xb6527680) 0
Vtable for QAbstractFormBuilder
QAbstractFormBuilder::_ZTV20QAbstractFormBuilder: 48u entries
@@ -3037,15 +2263,7 @@ Class QDesignerContainerExtension
QDesignerContainerExtension (0xb6527800) 0 nearly-empty
vptr=((& QDesignerContainerExtension::_ZTV27QDesignerContainerExtension) + 8u)
-Class QMap<QString, QDesignerCustomWidgetInterface*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QDesignerCustomWidgetInterface*>::<anonymous union> (0xb6527a80) 0
-Class QMap<QString, QDesignerCustomWidgetInterface*>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QDesignerCustomWidgetInterface*> (0xb6527a00) 0
Vtable for QFormBuilder
QFormBuilder::_ZTV12QFormBuilder: 49u entries
@@ -3107,25 +2325,9 @@ QFormBuilder (0xb6527940) 0
QAbstractFormBuilder (0xb6527980) 0
primary-for QFormBuilder (0xb6527940)
-Class QHash<QString, QList<QAbstractExtensionFactory*> >::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QHash<QString, QList<QAbstractExtensionFactory*> >::<anonymous union> (0xb6527cc0) 0
-Class QHash<QString, QList<QAbstractExtensionFactory*> >
- size=4 align=4
- base size=4 base align=4
-QHash<QString, QList<QAbstractExtensionFactory*> > (0xb6527c40) 0
-Class QList<QAbstractExtensionFactory*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QAbstractExtensionFactory*>::<anonymous union> (0xb6527dc0) 0
-Class QList<QAbstractExtensionFactory*>
- size=4 align=4
- base size=4 base align=4
-QList<QAbstractExtensionFactory*> (0xb6527d40) 0
Vtable for QExtensionManager
QExtensionManager::_ZTV17QExtensionManager: 24u entries
@@ -3164,53 +2366,13 @@ QExtensionManager (0xb6527b40) 0
QAbstractExtensionManager (0xb6527bc0) 8 nearly-empty
vptr=((& QExtensionManager::_ZTV17QExtensionManager) + 76u)
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0xb6527e80) 0
-Class QVectorTypedData<QPoint>
- size=24 align=4
- base size=24 base align=4
-QVectorTypedData<QPoint> (0xb6527f00) 0
-Class QVectorTypedData<QPointF>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QPointF> (0xb6527f80) 0
-Class QVectorTypedData<QPainterPath::Element>
- size=36 align=4
- base size=36 base align=4
-QVectorTypedData<QPainterPath::Element> (0xb65270c0) 0
-Class QList<QDesignerWidgetBoxInterface::Widget>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QDesignerWidgetBoxInterface::Widget>::Node (0xb6527540) 0
-Class QTypeInfo<QDesignerWidgetBoxInterface::Widget>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDesignerWidgetBoxInterface::Widget> (0xb6527740) 0 empty
-Class QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union> (0xb6527b00) 0
-Class QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union> (0xb6527c00) 0
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0xb6527e00) 0
-Class QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union> (0xb61f5040) 0
diff --git a/tests/auto/bic/data/QtDesigner.4.4.0.linux-gcc-ia32.txt b/tests/auto/bic/data/QtDesigner.4.4.0.linux-gcc-ia32.txt
index 2ed7da0..ab115b9 100644
--- a/tests/auto/bic/data/QtDesigner.4.4.0.linux-gcc-ia32.txt
+++ b/tests/auto/bic/data/QtDesigner.4.4.0.linux-gcc-ia32.txt
@@ -1,34 +1,8 @@
-Class QUintForSize<4>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<4> (0xb77a5654) 0 empty
-Class QUintForSize<8>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<8> (0xb77a5690) 0 empty
-Class QUintForType<void*>
- size=1 align=1
- base size=1 base align=1
-QUintForType<void*> (0xb7be5f40) 0 empty
- QUintForSize<4> (0xb77a5708) 0 empty
-Class QIntForSize<4>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<4> (0xb77a5834) 0 empty
-Class QIntForSize<8>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<8> (0xb77a5870) 0 empty
-Class QIntForType<void*>
- size=1 align=1
- base size=1 base align=1
-QIntForType<void*> (0xb77ab100) 0 empty
- QIntForSize<4> (0xb77a58e8) 0 empty
Class QSysInfo
size=1 align=1
@@ -50,80 +24,20 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0xb77b3ce4) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0xb77b3ec4) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0xb77b3fb4) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0xb77ca0b4) 0 empty
-Class QTypeInfo<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned char> (0xb77ca1a4) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0xb77ca294) 0 empty
-Class QTypeInfo<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short unsigned int> (0xb77ca384) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0xb77ca474) 0 empty
-Class QTypeInfo<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned int> (0xb77ca564) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0xb77ca654) 0 empty
-Class QTypeInfo<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long unsigned int> (0xb77ca744) 0 empty
-Class QTypeInfo<long long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long int> (0xb77ca834) 0 empty
-Class QTypeInfo<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long unsigned int> (0xb77ca924) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0xb77caa14) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0xb77cab04) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0xb77cabf4) 0 empty
Class QFlag
size=4 align=4
@@ -140,10 +54,6 @@ Class QChar
base size=2 base align=2
QChar (0xb77e3bf4) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0xb69e88ac) 0 empty
Class QBasicAtomicInt
size=4 align=4
@@ -176,75 +86,19 @@ Class QByteRef
base size=8 base align=4
QByteRef (0xb6a9e474) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0xb68e6564) 0 empty
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0xb68e67f8) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0xb692c12c) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0xb692ca50) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0xb693f384) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0xb693fca8) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0xb69515dc) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0xb6951f00) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0xb6964834) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0xb6972168) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0xb6972a8c) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0xb69873c0) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0xb6987ce4) 0
-Class QFlags<Qt::TextInteractionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::TextInteractionFlag> (0xb699d618) 0
Class QInternal
size=1 align=1
@@ -266,10 +120,6 @@ Class QString
base size=4 base align=4
QString (0xb69b20b4) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0xb68032d0) 0
Class QLatin1String
size=4 align=4
@@ -287,10 +137,6 @@ Class QConstString
QConstString (0xb6706f00) 0
QString (0xb6761708) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0xb6761a14) 0 empty
Class QStringRef
size=12 align=4
@@ -358,10 +204,6 @@ Class QListData
base size=4 base align=4
QListData (0xb65e703c) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0xb6684384) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -386,15 +228,7 @@ Class QTextCodec
QTextCodec (0xb66716cc) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0xb66989d8) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0xb6698960) 0
Class QTextEncoder
size=32 align=4
@@ -417,25 +251,13 @@ Class QGenericReturnArgument
QGenericReturnArgument (0xb66bd400) 0
QGenericArgument (0xb66bcbf4) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0xb64d10f0) 0
Class QMetaObject
size=16 align=4
base size=16 base align=4
QMetaObject (0xb66bcf00) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0xb64e0258) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0xb64e01e0) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -527,10 +349,6 @@ QIODevice (0xb652e280) 0
QObject (0xb652c258) 0
primary-for QIODevice (0xb652e280)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0xb6547528) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -550,25 +368,13 @@ Class QRegExp
base size=4 base align=4
QRegExp (0xb6583474) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0xb65aac6c) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0xb65aad5c) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0xb65b72d0) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0xb65b7258) 0
Class QStringList
size=4 align=4
@@ -576,15 +382,7 @@ Class QStringList
QStringList (0xb65ad380) 0
QList<QString> (0xb65b730c) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0xb63da078) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0xb63da294) 0
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -664,10 +462,6 @@ Class QMutex
base size=4 base align=4
QMutex (0xb64124b0) 0
-Class QMutexLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMutexLocker::<anonymous union> (0xb641d0b4) 0
Class QMutexLocker
size=4 align=4
@@ -747,35 +541,11 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0xb62ed9d8) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0xb62eda8c) 0 empty
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb636ea14) 0
-Class <anonymous struct>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct>::<anonymous union> (0xb636eb04) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb636ea8c) 0
-Class <anonymous struct>
- size=12 align=4
- base size=12 base align=4
-<anonymous struct> (0xb636eb7c) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb636ebf4) 0
Class _IO_marker
size=12 align=4
@@ -787,10 +557,6 @@ Class _IO_FILE
base size=148 base align=4
_IO_FILE (0xb636ec6c) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb636ece4) 0
Vtable for QTextStream
QTextStream::_ZTV11QTextStream: 4u entries
@@ -805,10 +571,6 @@ Class QTextStream
QTextStream (0xb636ed20) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0xb63c74b0) 0
Class QTextStreamManipulator
size=24 align=4
@@ -845,40 +607,16 @@ QTextOStream (0xb61dd4c0) 0
QTextStream (0xb61e8c30) 0
primary-for QTextOStream (0xb61dd4c0)
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0xb61f5690) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0xb61f5708) 0
Class wait
size=4 align=4
base size=4 base align=4
wait (0xb61f5618) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb61f5780) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb61f57f8) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb61f5870) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb61f58e8) 0
Class timespec
size=8 align=4
@@ -890,80 +628,24 @@ Class timeval
base size=8 base align=4
timeval (0xb61f5960) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb61f59d8) 0
-Class <anonymous union>
- size=36 align=4
- base size=36 base align=4
-<anonymous union> (0xb61f5a50) 0
Class __pthread_internal_slist
size=4 align=4
base size=4 base align=4
__pthread_internal_slist (0xb61f5a8c) 0
-Class <anonymous union>::__pthread_mutex_s::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union>::__pthread_mutex_s::<anonymous union> (0xb61f5bb8) 0
-Class <anonymous union>::__pthread_mutex_s
- size=24 align=4
- base size=24 base align=4
-<anonymous union>::__pthread_mutex_s (0xb61f5b40) 0
-Class <anonymous union>
- size=24 align=4
- base size=24 base align=4
-<anonymous union> (0xb61f5b04) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb61f5c30) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0xb61f5d20) 0
-Class <anonymous union>
- size=48 align=4
- base size=48 base align=4
-<anonymous union> (0xb61f5ca8) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb61f5d98) 0
-Class <anonymous union>::<anonymous struct>
- size=32 align=4
- base size=32 base align=4
-<anonymous union>::<anonymous struct> (0xb61f5e88) 0
-Class <anonymous union>
- size=32 align=4
- base size=32 base align=4
-<anonymous union> (0xb61f5e10) 0
-Class <anonymous union>
- size=8 align=4
- base size=8 base align=4
-<anonymous union> (0xb61f5f3c) 0
-Class <anonymous union>
- size=20 align=4
- base size=20 base align=4
-<anonymous union> (0xb61f5fb4) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb620e03c) 0
Class random_data
size=28 align=4
@@ -995,20 +677,8 @@ Class QtConcurrent::ResultItem
base size=8 base align=4
QtConcurrent::ResultItem (0xb6117dd4) 0
-Class QMap<int, QtConcurrent::ResultItem>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<int, QtConcurrent::ResultItem>::<anonymous union> (0xb6133a14) 0
-Class QMap<int, QtConcurrent::ResultItem>
- size=4 align=4
- base size=4 base align=4
-QMap<int, QtConcurrent::ResultItem> (0xb613399c) 0
-Class QMap<int, QtConcurrent::ResultItem>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QMap<int, QtConcurrent::ResultItem>::const_iterator (0xb6133d5c) 0
Class QtConcurrent::ResultIteratorBase
size=8 align=4
@@ -1028,10 +698,6 @@ Class QtConcurrent::ResultStoreBase
QtConcurrent::ResultStoreBase (0xb6133e88) 0
vptr=((& QtConcurrent::ResultStoreBase::_ZTVN12QtConcurrent15ResultStoreBaseE) + 8u)
-Class QMap<int, QtConcurrent::ResultItem>::iterator
- size=4 align=4
- base size=4 base align=4
-QMap<int, QtConcurrent::ResultItem>::iterator (0xb6156528) 0
Vtable for QFutureInterfaceBase
QFutureInterfaceBase::_ZTV20QFutureInterfaceBase: 4u entries
@@ -1046,25 +712,8 @@ Class QFutureInterfaceBase
QFutureInterfaceBase (0xb61565a0) 0
vptr=((& QFutureInterfaceBase::_ZTV20QFutureInterfaceBase) + 8u)
-Vtable for QFutureInterface<void>
-QFutureInterface<void>::_ZTV16QFutureInterfaceIvE: 4u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI16QFutureInterfaceIvE)
-8 QFutureInterface<void>::~QFutureInterface
-12 QFutureInterface<void>::~QFutureInterface
-Class QFutureInterface<void>
- size=8 align=4
- base size=8 base align=4
-QFutureInterface<void> (0xb616bb80) 0
- vptr=((& QFutureInterface<void>::_ZTV16QFutureInterfaceIvE) + 8u)
- QFutureInterfaceBase (0xb61840b4) 0
- primary-for QFutureInterface<void> (0xb616bb80)
-Class QFuture<void>
- size=8 align=4
- base size=8 base align=4
-QFuture<void> (0xb61aa870) 0
Vtable for QFutureWatcherBase
QFutureWatcherBase::_ZTV18QFutureWatcherBase: 16u entries
@@ -1093,34 +742,7 @@ QFutureWatcherBase (0xb5fc9ac0) 0
QObject (0xb5fcff00) 0
primary-for QFutureWatcherBase (0xb5fc9ac0)
-Vtable for QFutureWatcher<void>
-QFutureWatcher<void>::_ZTV14QFutureWatcherIvE: 16u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI14QFutureWatcherIvE)
-8 QFutureWatcherBase::metaObject
-12 QFutureWatcherBase::qt_metacast
-16 QFutureWatcherBase::qt_metacall
-20 QFutureWatcher<void>::~QFutureWatcher
-24 QFutureWatcher<void>::~QFutureWatcher
-28 QFutureWatcherBase::event
-32 QObject::eventFilter
-36 QObject::timerEvent
-40 QObject::childEvent
-44 QObject::customEvent
-48 QFutureWatcherBase::connectNotify
-52 QFutureWatcherBase::disconnectNotify
-56 QFutureWatcher<void>::futureInterface
-60 QFutureWatcher<void>::futureInterface
-Class QFutureWatcher<void>
- size=16 align=4
- base size=16 base align=4
-QFutureWatcher<void> (0xb5fed1c0) 0
- vptr=((& QFutureWatcher<void>::_ZTV14QFutureWatcherIvE) + 8u)
- QFutureWatcherBase (0xb5fed200) 0
- primary-for QFutureWatcher<void> (0xb5fed1c0)
- QObject (0xb5fdea50) 0
- primary-for QFutureWatcherBase (0xb5fed200)
Vtable for QRunnable
QRunnable::_ZTV9QRunnable: 5u entries
@@ -1219,60 +841,14 @@ QtConcurrent::ThreadEngineBase (0xb601b6c0) 0
QRunnable (0xb602ea14) 0
primary-for QtConcurrent::ThreadEngineBase (0xb601b6c0)
-Class QtConcurrent::ThreadEngineStarterBase<void>
- size=4 align=4
- base size=4 base align=4
-QtConcurrent::ThreadEngineStarterBase<void> (0xb60411e0) 0
-Class QtConcurrent::ThreadEngineStarter<void>
- size=4 align=4
- base size=4 base align=4
-QtConcurrent::ThreadEngineStarter<void> (0xb6044040) 0
- QtConcurrent::ThreadEngineStarterBase<void> (0xb6041258) 0
-Vtable for QtConcurrent::ThreadEngine<void>
-QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE: 26u entries
-0 4u
-4 (int (*)(...))0
-8 (int (*)(...))(& _ZTIN12QtConcurrent12ThreadEngineIvEE)
-12 QtConcurrent::ThreadEngine<T>::result [with T = void]
-16 QtConcurrent::ThreadEngine<T>::asynchronousFinish [with T = void]
-20 QtConcurrent::ThreadEngine<void>::~ThreadEngine
-24 QtConcurrent::ThreadEngine<void>::~ThreadEngine
-28 -4u
-32 0u
-36 0u
-40 0u
-44 0u
-48 0u
-52 -4u
-56 0u
-60 (int (*)(...))-0x000000004
-64 (int (*)(...))(& _ZTIN12QtConcurrent12ThreadEngineIvEE)
-68 QtConcurrent::ThreadEngineBase::run
-72 QtConcurrent::ThreadEngine<void>::_ZTv0_n16_N12QtConcurrent12ThreadEngineIvED1Ev
-76 QtConcurrent::ThreadEngine<void>::_ZTv0_n16_N12QtConcurrent12ThreadEngineIvED0Ev
-80 QtConcurrent::ThreadEngineBase::start
-84 QtConcurrent::ThreadEngineBase::finish
-88 QtConcurrent::ThreadEngineBase::threadFunction
-92 QtConcurrent::ThreadEngineBase::shouldStartThread
-96 QtConcurrent::ThreadEngineBase::shouldThrottleThread
-100 QtConcurrent::ThreadEngine<void>::_ZTv0_n40_N12QtConcurrent12ThreadEngineIvE18asynchronousFinishEv
VTT for QtConcurrent::ThreadEngine<void>
QtConcurrent::ThreadEngine<void>::_ZTTN12QtConcurrent12ThreadEngineIvEE: 2u entries
0 ((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 12u)
4 ((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 68u)
-Class QtConcurrent::ThreadEngine<void>
- size=36 align=4
- base size=4 base align=4
-QtConcurrent::ThreadEngine<void> (0xb6044200) 0 nearly-empty
- vptridx=0u vptr=((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 12u)
- QtConcurrent::ThreadEngineBase (0xb6044240) 4 virtual
- vptridx=4u vbaseoffset=-0x00000000c vptr=((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 68u)
- QRunnable (0xb6041708) 4
- primary-for QtConcurrent::ThreadEngineBase (0xb6044240)
Class std::input_iterator_tag
size=1 align=1
@@ -1315,225 +891,49 @@ Class std::__false_type
base size=0 base align=1
std::__false_type (0xb605e0f0) 0 empty
-Class std::__truth_type<true>
- size=1 align=1
- base size=0 base align=1
-std::__truth_type<true> (0xb605e168) 0 empty
-Class std::__is_void<void>
- size=1 align=1
- base size=0 base align=1
-std::__is_void<void> (0xb605e384) 0 empty
-Class std::__is_integer<bool>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<bool> (0xb605e474) 0 empty
-Class std::__is_integer<char>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<char> (0xb605e4ec) 0 empty
-Class std::__is_integer<signed char>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<signed char> (0xb605e564) 0 empty
-Class std::__is_integer<unsigned char>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<unsigned char> (0xb605e5dc) 0 empty
-Class std::__is_integer<wchar_t>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<wchar_t> (0xb605e654) 0 empty
-Class std::__is_integer<short int>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<short int> (0xb605e6cc) 0 empty
-Class std::__is_integer<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<short unsigned int> (0xb605e744) 0 empty
-Class std::__is_integer<int>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<int> (0xb605e7bc) 0 empty
-Class std::__is_integer<unsigned int>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<unsigned int> (0xb605e834) 0 empty
-Class std::__is_integer<long int>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<long int> (0xb605e8ac) 0 empty
-Class std::__is_integer<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<long unsigned int> (0xb605e924) 0 empty
-Class std::__is_integer<long long int>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<long long int> (0xb605e99c) 0 empty
-Class std::__is_integer<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<long long unsigned int> (0xb605ea14) 0 empty
-Class std::__is_floating<float>
- size=1 align=1
- base size=0 base align=1
-std::__is_floating<float> (0xb605eb04) 0 empty
-Class std::__is_floating<double>
- size=1 align=1
- base size=0 base align=1
-std::__is_floating<double> (0xb605eb7c) 0 empty
-Class std::__is_floating<long double>
- size=1 align=1
- base size=0 base align=1
-std::__is_floating<long double> (0xb605ebf4) 0 empty
-Class std::__is_char<char>
- size=1 align=1
- base size=0 base align=1
-std::__is_char<char> (0xb605ef78) 0 empty
-Class std::__is_char<wchar_t>
- size=1 align=1
- base size=0 base align=1
-std::__is_char<wchar_t> (0xb6072000) 0 empty
-Class std::__is_byte<char>
- size=1 align=1
- base size=0 base align=1
-std::__is_byte<char> (0xb60720f0) 0 empty
-Class std::__is_byte<signed char>
- size=1 align=1
- base size=0 base align=1
-std::__is_byte<signed char> (0xb6072168) 0 empty
-Class std::__is_byte<unsigned char>
- size=1 align=1
- base size=0 base align=1
-std::__is_byte<unsigned char> (0xb60721e0) 0 empty
-Class __gnu_cxx::__add_unsigned<char>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__add_unsigned<char> (0xb60723fc) 0 empty
-Class __gnu_cxx::__add_unsigned<signed char>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__add_unsigned<signed char> (0xb6072438) 0 empty
-Class __gnu_cxx::__add_unsigned<short int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__add_unsigned<short int> (0xb6072474) 0 empty
-Class __gnu_cxx::__add_unsigned<int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__add_unsigned<int> (0xb60724b0) 0 empty
-Class __gnu_cxx::__add_unsigned<long int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__add_unsigned<long int> (0xb60724ec) 0 empty
-Class __gnu_cxx::__add_unsigned<long long int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__add_unsigned<long long int> (0xb6072528) 0 empty
-Class __gnu_cxx::__remove_unsigned<char>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__remove_unsigned<char> (0xb60725a0) 0 empty
-Class __gnu_cxx::__remove_unsigned<unsigned char>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__remove_unsigned<unsigned char> (0xb60725dc) 0 empty
-Class __gnu_cxx::__remove_unsigned<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__remove_unsigned<short unsigned int> (0xb6072618) 0 empty
-Class __gnu_cxx::__remove_unsigned<unsigned int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__remove_unsigned<unsigned int> (0xb6072654) 0 empty
-Class __gnu_cxx::__remove_unsigned<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__remove_unsigned<long unsigned int> (0xb6072690) 0 empty
-Class __gnu_cxx::__remove_unsigned<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__remove_unsigned<long long unsigned int> (0xb60726cc) 0 empty
-Class std::iterator<std::output_iterator_tag, void, void, void, void>
- size=1 align=1
- base size=0 base align=1
-std::iterator<std::output_iterator_tag, void, void, void, void> (0xb60970b4) 0 empty
-Class std::__iter_swap<true>
- size=1 align=1
- base size=0 base align=1
-std::__iter_swap<true> (0xb5ed8690) 0 empty
-Class std::__copy_move<false, false, std::random_access_iterator_tag>
- size=1 align=1
- base size=0 base align=1
-std::__copy_move<false, false, std::random_access_iterator_tag> (0xb5ed8ac8) 0 empty
-Class std::__copy_move_backward<false, false, std::random_access_iterator_tag>
- size=1 align=1
- base size=0 base align=1
-std::__copy_move_backward<false, false, std::random_access_iterator_tag> (0xb5ed8ce4) 0 empty
-Class std::__equal<true>
- size=1 align=1
- base size=0 base align=1
-std::__equal<true> (0xb5f1e0f0) 0 empty
-Class std::__lc_rai<std::random_access_iterator_tag, std::random_access_iterator_tag>
- size=1 align=1
- base size=0 base align=1
-std::__lc_rai<std::random_access_iterator_tag, std::random_access_iterator_tag> (0xb5f1e258) 0 empty
-Class std::__lexicographical_compare<true>
- size=1 align=1
- base size=0 base align=1
-std::__lexicographical_compare<true> (0xb5f1e3c0) 0 empty
-Class std::char_traits<char>
- size=1 align=1
- base size=0 base align=1
-std::char_traits<char> (0xb5f1eac8) 0 empty
-Class std::char_traits<wchar_t>
- size=1 align=1
- base size=0 base align=1
-std::char_traits<wchar_t> (0xb5f4e4ec) 0 empty
Class lconv
size=56 align=4
@@ -1550,10 +950,6 @@ Class __sched_param
base size=4 base align=4
__sched_param (0xb5f5f0b4) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb5f5f12c) 0
Class tm
size=44 align=4
@@ -1570,15 +966,7 @@ Class _pthread_cleanup_buffer
base size=16 base align=4
_pthread_cleanup_buffer (0xb5f5f3fc) 0
-Class <anonymous struct>::<anonymous struct>
- size=28 align=4
- base size=28 base align=4
-<anonymous struct>::<anonymous struct> (0xb5f5f564) 0
-Class <anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous struct> (0xb5f5f4ec) 0
Class __pthread_cleanup_frame
size=16 align=4
@@ -1590,32 +978,10 @@ Class __pthread_cleanup_class
base size=16 base align=4
__pthread_cleanup_class (0xb5f5f5dc) 0
-Class std::allocator<void>
- size=1 align=1
- base size=0 base align=1
-std::allocator<void> (0xb5dd5b04) 0 empty
-Class __gnu_cxx::new_allocator<char>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::new_allocator<char> (0xb5dd5dd4) 0 empty
-Class std::allocator<char>
- size=1 align=1
- base size=1 base align=1
-std::allocator<char> (0xb5de5bc0) 0 empty
- __gnu_cxx::new_allocator<char> (0xb5dd5e10) 0 empty
-Class __gnu_cxx::new_allocator<wchar_t>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::new_allocator<wchar_t> (0xb5dd5e4c) 0 empty
-Class std::allocator<wchar_t>
- size=1 align=1
- base size=1 base align=1
-std::allocator<wchar_t> (0xb5de5c80) 0 empty
- __gnu_cxx::new_allocator<wchar_t> (0xb5dd5e88) 0 empty
Vtable for __cxxabiv1::__forced_unwind
__cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE: 5u entries
@@ -1631,82 +997,19 @@ Class __cxxabiv1::__forced_unwind
__cxxabiv1::__forced_unwind (0xb5e050b4) 0 nearly-empty
vptr=((& __cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE) + 8u)
-Class __gnu_cxx::__conditional_type<true, __gnu_cxx::__numeric_traits_integer<int>, __gnu_cxx::__numeric_traits_floating<int> >
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__conditional_type<true, __gnu_cxx::__numeric_traits_integer<int>, __gnu_cxx::__numeric_traits_floating<int> > (0xb5e5a99c) 0 empty
-Class __gnu_cxx::__numeric_traits_integer<int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__numeric_traits_integer<int> (0xb5e5a9d8) 0 empty
-Class __gnu_cxx::__numeric_traits<int>
- size=1 align=1
- base size=1 base align=1
-__gnu_cxx::__numeric_traits<int> (0xb5e89f40) 0 empty
- __gnu_cxx::__numeric_traits_integer<int> (0xb5e5aa14) 0 empty
-Class std::allocator<char>::rebind<char>
- size=1 align=1
- base size=0 base align=1
-std::allocator<char>::rebind<char> (0xb5cfd690) 0 empty
-Class std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Alloc_hider
- size=4 align=4
- base size=4 base align=4
-std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Alloc_hider (0xb5d20500) 0
- std::allocator<char> (0xb5d20540) 0 empty
- __gnu_cxx::new_allocator<char> (0xb5cfd708) 0 empty
-Class std::basic_string<char, std::char_traits<char>, std::allocator<char> >
- size=4 align=4
- base size=4 base align=4
-std::basic_string<char, std::char_traits<char>, std::allocator<char> > (0xb5cfd618) 0
-Class std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep_base
- size=12 align=4
- base size=12 base align=4
-std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep_base (0xb5cfd744) 0
-Class std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep
- size=12 align=4
- base size=12 base align=4
-std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep (0xb5d206c0) 0
- std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep_base (0xb5cfd780) 0
-Class std::allocator<wchar_t>::rebind<wchar_t>
- size=1 align=1
- base size=0 base align=1
-std::allocator<wchar_t>::rebind<wchar_t> (0xb5cfd834) 0 empty
-Class std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Alloc_hider
- size=4 align=4
- base size=4 base align=4
-std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Alloc_hider (0xb5d208c0) 0
- std::allocator<wchar_t> (0xb5d20900) 0 empty
- __gnu_cxx::new_allocator<wchar_t> (0xb5cfd8ac) 0 empty
-Class std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >
- size=4 align=4
- base size=4 base align=4
-std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > (0xb5cfd7bc) 0
-Class std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Rep_base
- size=12 align=4
- base size=12 base align=4
-std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Rep_base (0xb5cfd8e8) 0
-Class std::allocator<wchar_t>::rebind<char>
- size=1 align=1
- base size=0 base align=1
-std::allocator<wchar_t>::rebind<char> (0xb5cfd99c) 0 empty
-Class std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Rep
- size=12 align=4
- base size=12 base align=4
-std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Rep (0xb5d20a80) 0
- std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Rep_base (0xb5cfd924) 0
Class std::locale
size=4 align=4
@@ -1736,97 +1039,16 @@ Class std::locale::_Impl
base size=20 base align=4
std::locale::_Impl (0xb5dc4b7c) 0
-Vtable for std::collate<char>
-std::collate<char>::_ZTVSt7collateIcE: 7u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt7collateIcE)
-8 std::collate<_CharT>::~collate [with _CharT = char]
-12 std::collate<_CharT>::~collate [with _CharT = char]
-16 std::collate<_CharT>::do_compare [with _CharT = char]
-20 std::collate<_CharT>::do_transform [with _CharT = char]
-24 std::collate<_CharT>::do_hash [with _CharT = char]
-
-Class std::collate<char>
- size=12 align=4
- base size=12 base align=4
-std::collate<char> (0xb5bc7a40) 0
- vptr=((& std::collate<char>::_ZTVSt7collateIcE) + 8u)
- std::locale::facet (0xb5bd44ec) 0
- primary-for std::collate<char> (0xb5bc7a40)
-Vtable for std::collate<wchar_t>
-std::collate<wchar_t>::_ZTVSt7collateIwE: 7u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt7collateIwE)
-8 std::collate<_CharT>::~collate [with _CharT = wchar_t]
-12 std::collate<_CharT>::~collate [with _CharT = wchar_t]
-16 std::collate<_CharT>::do_compare [with _CharT = wchar_t]
-20 std::collate<_CharT>::do_transform [with _CharT = wchar_t]
-24 std::collate<_CharT>::do_hash [with _CharT = wchar_t]
-
-Class std::collate<wchar_t>
- size=12 align=4
- base size=12 base align=4
-std::collate<wchar_t> (0xb5bc7b40) 0
- vptr=((& std::collate<wchar_t>::_ZTVSt7collateIwE) + 8u)
- std::locale::facet (0xb5bd45dc) 0
- primary-for std::collate<wchar_t> (0xb5bc7b40)
-Class __gnu_cxx::__conditional_type<true, __gnu_cxx::__numeric_traits_integer<long unsigned int>, __gnu_cxx::__numeric_traits_floating<long unsigned int> >
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__conditional_type<true, __gnu_cxx::__numeric_traits_integer<long unsigned int>, __gnu_cxx::__numeric_traits_floating<long unsigned int> > (0xb5bd4a50) 0 empty
-Class __gnu_cxx::__numeric_traits_integer<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__numeric_traits_integer<long unsigned int> (0xb5bd4a8c) 0 empty
-Class __gnu_cxx::__numeric_traits<long unsigned int>
- size=1 align=1
- base size=1 base align=1
-__gnu_cxx::__numeric_traits<long unsigned int> (0xb5bf1ac0) 0 empty
- __gnu_cxx::__numeric_traits_integer<long unsigned int> (0xb5bd4ac8) 0 empty
-Vtable for std::collate_byname<char>
-std::collate_byname<char>::_ZTVSt14collate_bynameIcE: 7u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt14collate_bynameIcE)
-8 std::collate_byname<_CharT>::~collate_byname [with _CharT = char]
-12 std::collate_byname<_CharT>::~collate_byname [with _CharT = char]
-16 std::collate<_CharT>::do_compare [with _CharT = char]
-20 std::collate<_CharT>::do_transform [with _CharT = char]
-24 std::collate<_CharT>::do_hash [with _CharT = char]
-
-Class std::collate_byname<char>
- size=12 align=4
- base size=12 base align=4
-std::collate_byname<char> (0xb5bf1c00) 0
- vptr=((& std::collate_byname<char>::_ZTVSt14collate_bynameIcE) + 8u)
- std::collate<char> (0xb5bf1c40) 0
- primary-for std::collate_byname<char> (0xb5bf1c00)
- std::locale::facet (0xb5bd4b40) 0
- primary-for std::collate<char> (0xb5bf1c40)
-
-Vtable for std::collate_byname<wchar_t>
-std::collate_byname<wchar_t>::_ZTVSt14collate_bynameIwE: 7u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt14collate_bynameIwE)
-8 std::collate_byname<_CharT>::~collate_byname [with _CharT = wchar_t]
-12 std::collate_byname<_CharT>::~collate_byname [with _CharT = wchar_t]
-16 std::collate<_CharT>::do_compare [with _CharT = wchar_t]
-20 std::collate<_CharT>::do_transform [with _CharT = wchar_t]
-24 std::collate<_CharT>::do_hash [with _CharT = wchar_t]
-
-Class std::collate_byname<wchar_t>
- size=12 align=4
- base size=12 base align=4
-std::collate_byname<wchar_t> (0xb5bf1cc0) 0
- vptr=((& std::collate_byname<wchar_t>::_ZTVSt14collate_bynameIwE) + 8u)
- std::collate<wchar_t> (0xb5bf1d00) 0
- primary-for std::collate_byname<wchar_t> (0xb5bf1cc0)
- std::locale::facet (0xb5bd4c30) 0
- primary-for std::collate<wchar_t> (0xb5bf1d00)
+
+
+
+
+
Vtable for std::ios_base::failure
std::ios_base::failure::_ZTVNSt8ios_base7failureE: 5u entries
@@ -1872,583 +1094,85 @@ Class std::ios_base
std::ios_base (0xb5c099d8) 0
vptr=((& std::ios_base::_ZTVSt8ios_base) + 8u)
-Vtable for std::basic_streambuf<char, std::char_traits<char> >
-std::basic_streambuf<char, std::char_traits<char> >::_ZTVSt15basic_streambufIcSt11char_traitsIcEE: 16u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt15basic_streambufIcSt11char_traitsIcEE)
-8 std::basic_streambuf<_CharT, _Traits>::~basic_streambuf [with _CharT = char, _Traits = std::char_traits<char>]
-12 std::basic_streambuf<_CharT, _Traits>::~basic_streambuf [with _CharT = char, _Traits = std::char_traits<char>]
-16 std::basic_streambuf<_CharT, _Traits>::imbue [with _CharT = char, _Traits = std::char_traits<char>]
-20 std::basic_streambuf<_CharT, _Traits>::setbuf [with _CharT = char, _Traits = std::char_traits<char>]
-24 std::basic_streambuf<_CharT, _Traits>::seekoff [with _CharT = char, _Traits = std::char_traits<char>]
-28 std::basic_streambuf<_CharT, _Traits>::seekpos [with _CharT = char, _Traits = std::char_traits<char>]
-32 std::basic_streambuf<_CharT, _Traits>::sync [with _CharT = char, _Traits = std::char_traits<char>]
-36 std::basic_streambuf<_CharT, _Traits>::showmanyc [with _CharT = char, _Traits = std::char_traits<char>]
-40 std::basic_streambuf<_CharT, _Traits>::xsgetn [with _CharT = char, _Traits = std::char_traits<char>]
-44 std::basic_streambuf<_CharT, _Traits>::underflow [with _CharT = char, _Traits = std::char_traits<char>]
-48 std::basic_streambuf<_CharT, _Traits>::uflow [with _CharT = char, _Traits = std::char_traits<char>]
-52 std::basic_streambuf<_CharT, _Traits>::pbackfail [with _CharT = char, _Traits = std::char_traits<char>]
-56 std::basic_streambuf<_CharT, _Traits>::xsputn [with _CharT = char, _Traits = std::char_traits<char>]
-60 std::basic_streambuf<_CharT, _Traits>::overflow [with _CharT = char, _Traits = std::char_traits<char>]
-
-Class std::basic_streambuf<char, std::char_traits<char> >
- size=32 align=4
- base size=32 base align=4
-std::basic_streambuf<char, std::char_traits<char> > (0xb5c6603c) 0
- vptr=((& std::basic_streambuf<char, std::char_traits<char> >::_ZTVSt15basic_streambufIcSt11char_traitsIcEE) + 8u)
-Vtable for std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >
-std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >::_ZTVSt15basic_streambufIwSt11char_traitsIwEE: 16u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt15basic_streambufIwSt11char_traitsIwEE)
-8 std::basic_streambuf<_CharT, _Traits>::~basic_streambuf [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-12 std::basic_streambuf<_CharT, _Traits>::~basic_streambuf [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-16 std::basic_streambuf<_CharT, _Traits>::imbue [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-20 std::basic_streambuf<_CharT, _Traits>::setbuf [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-24 std::basic_streambuf<_CharT, _Traits>::seekoff [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-28 std::basic_streambuf<_CharT, _Traits>::seekpos [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-32 std::basic_streambuf<_CharT, _Traits>::sync [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-36 std::basic_streambuf<_CharT, _Traits>::showmanyc [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-40 std::basic_streambuf<_CharT, _Traits>::xsgetn [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-44 std::basic_streambuf<_CharT, _Traits>::underflow [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-48 std::basic_streambuf<_CharT, _Traits>::uflow [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-52 std::basic_streambuf<_CharT, _Traits>::pbackfail [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-56 std::basic_streambuf<_CharT, _Traits>::xsputn [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-60 std::basic_streambuf<_CharT, _Traits>::overflow [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-
-Class std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >
- size=32 align=4
- base size=32 base align=4
-std::basic_streambuf<wchar_t, std::char_traits<wchar_t> > (0xb5c662d0) 0
- vptr=((& std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >::_ZTVSt15basic_streambufIwSt11char_traitsIwEE) + 8u)
+
+
Class std::ctype_base
size=1 align=1
base size=0 base align=1
std::ctype_base (0xb5c66564) 0 empty
-Vtable for std::ctype<char>
-std::ctype<char>::_ZTVSt5ctypeIcE: 12u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt5ctypeIcE)
-8 std::ctype<char>::~ctype
-12 std::ctype<char>::~ctype
-16 std::ctype<char>::do_toupper
-20 std::ctype<char>::do_toupper
-24 std::ctype<char>::do_tolower
-28 std::ctype<char>::do_tolower
-32 std::ctype<char>::do_widen
-36 std::ctype<char>::do_widen
-40 std::ctype<char>::do_narrow
-44 std::ctype<char>::do_narrow
-
-Class std::ctype<char>
- size=544 align=4
- base size=542 base align=4
-std::ctype<char> (0xb5ac7550) 0
- vptr=((& std::ctype<char>::_ZTVSt5ctypeIcE) + 8u)
- std::locale::facet (0xb5cb44ec) 0
- primary-for std::ctype<char> (0xb5ac7550)
- std::ctype_base (0xb5cb4528) 0 empty
-
-Vtable for std::__ctype_abstract_base<wchar_t>
-std::__ctype_abstract_base<wchar_t>::_ZTVSt21__ctype_abstract_baseIwE: 16u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt21__ctype_abstract_baseIwE)
-8 std::__ctype_abstract_base<_CharT>::~__ctype_abstract_base [with _CharT = wchar_t]
-12 std::__ctype_abstract_base<_CharT>::~__ctype_abstract_base [with _CharT = wchar_t]
-16 __cxa_pure_virtual
-20 __cxa_pure_virtual
-24 __cxa_pure_virtual
-28 __cxa_pure_virtual
-32 __cxa_pure_virtual
-36 __cxa_pure_virtual
-40 __cxa_pure_virtual
-44 __cxa_pure_virtual
-48 __cxa_pure_virtual
-52 __cxa_pure_virtual
-56 __cxa_pure_virtual
-60 __cxa_pure_virtual
-Class std::__ctype_abstract_base<wchar_t>
- size=8 align=4
- base size=8 base align=4
-std::__ctype_abstract_base<wchar_t> (0xb5ad0e10) 0
- vptr=((& std::__ctype_abstract_base<wchar_t>::_ZTVSt21__ctype_abstract_baseIwE) + 8u)
- std::locale::facet (0xb5ae30b4) 0
- primary-for std::__ctype_abstract_base<wchar_t> (0xb5ad0e10)
- std::ctype_base (0xb5ae30f0) 0 empty
-
-Vtable for std::ctype<wchar_t>
-std::ctype<wchar_t>::_ZTVSt5ctypeIwE: 16u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt5ctypeIwE)
-8 std::ctype<wchar_t>::~ctype
-12 std::ctype<wchar_t>::~ctype
-16 std::ctype<wchar_t>::do_is
-20 std::ctype<wchar_t>::do_is
-24 std::ctype<wchar_t>::do_scan_is
-28 std::ctype<wchar_t>::do_scan_not
-32 std::ctype<wchar_t>::do_toupper
-36 std::ctype<wchar_t>::do_toupper
-40 std::ctype<wchar_t>::do_tolower
-44 std::ctype<wchar_t>::do_tolower
-48 std::ctype<wchar_t>::do_widen
-52 std::ctype<wchar_t>::do_widen
-56 std::ctype<wchar_t>::do_narrow
-60 std::ctype<wchar_t>::do_narrow
-
-Class std::ctype<wchar_t>
- size=1264 align=4
- base size=1264 base align=4
-std::ctype<wchar_t> (0xb5cc3c00) 0
- vptr=((& std::ctype<wchar_t>::_ZTVSt5ctypeIwE) + 8u)
- std::__ctype_abstract_base<wchar_t> (0xb5aeac80) 0
- primary-for std::ctype<wchar_t> (0xb5cc3c00)
- std::locale::facet (0xb5ae31e0) 0
- primary-for std::__ctype_abstract_base<wchar_t> (0xb5aeac80)
- std::ctype_base (0xb5ae321c) 0 empty
-
-Vtable for std::ctype_byname<char>
-std::ctype_byname<char>::_ZTVSt12ctype_bynameIcE: 12u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt12ctype_bynameIcE)
-8 std::ctype_byname<char>::~ctype_byname
-12 std::ctype_byname<char>::~ctype_byname
-16 std::ctype<char>::do_toupper
-20 std::ctype<char>::do_toupper
-24 std::ctype<char>::do_tolower
-28 std::ctype<char>::do_tolower
-32 std::ctype<char>::do_widen
-36 std::ctype<char>::do_widen
-40 std::ctype<char>::do_narrow
-44 std::ctype<char>::do_narrow
-
-Class std::ctype_byname<char>
- size=544 align=4
- base size=542 base align=4
-std::ctype_byname<char> (0xb5cc3dc0) 0
- vptr=((& std::ctype_byname<char>::_ZTVSt12ctype_bynameIcE) + 8u)
- std::ctype<char> (0xb5af4410) 0
- primary-for std::ctype_byname<char> (0xb5cc3dc0)
- std::locale::facet (0xb5af1528) 0
- primary-for std::ctype<char> (0xb5af4410)
- std::ctype_base (0xb5af1564) 0 empty
-
-Vtable for std::ctype_byname<wchar_t>
-std::ctype_byname<wchar_t>::_ZTVSt12ctype_bynameIwE: 16u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt12ctype_bynameIwE)
-8 std::ctype_byname<wchar_t>::~ctype_byname
-12 std::ctype_byname<wchar_t>::~ctype_byname
-16 std::ctype<wchar_t>::do_is
-20 std::ctype<wchar_t>::do_is
-24 std::ctype<wchar_t>::do_scan_is
-28 std::ctype<wchar_t>::do_scan_not
-32 std::ctype<wchar_t>::do_toupper
-36 std::ctype<wchar_t>::do_toupper
-40 std::ctype<wchar_t>::do_tolower
-44 std::ctype<wchar_t>::do_tolower
-48 std::ctype<wchar_t>::do_widen
-52 std::ctype<wchar_t>::do_widen
-56 std::ctype<wchar_t>::do_narrow
-60 std::ctype<wchar_t>::do_narrow
-
-Class std::ctype_byname<wchar_t>
- size=1264 align=4
- base size=1264 base align=4
-std::ctype_byname<wchar_t> (0xb5cc3e40) 0
- vptr=((& std::ctype_byname<wchar_t>::_ZTVSt12ctype_bynameIwE) + 8u)
- std::ctype<wchar_t> (0xb5cc3e80) 0
- primary-for std::ctype_byname<wchar_t> (0xb5cc3e40)
- std::__ctype_abstract_base<wchar_t> (0xb5af4aa0) 0
- primary-for std::ctype<wchar_t> (0xb5cc3e80)
- std::locale::facet (0xb5af16cc) 0
- primary-for std::__ctype_abstract_base<wchar_t> (0xb5af4aa0)
- std::ctype_base (0xb5af1708) 0 empty
+
+
+
+
+
+
+
+
Class std::__num_base
size=1 align=1
base size=0 base align=1
std::__num_base (0xb5afe078) 0 empty
-Vtable for std::numpunct<char>
-std::numpunct<char>::_ZTVSt8numpunctIcE: 9u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt8numpunctIcE)
-8 std::numpunct<_CharT>::~numpunct [with _CharT = char]
-12 std::numpunct<_CharT>::~numpunct [with _CharT = char]
-16 std::numpunct<_CharT>::do_decimal_point [with _CharT = char]
-20 std::numpunct<_CharT>::do_thousands_sep [with _CharT = char]
-24 std::numpunct<_CharT>::do_grouping [with _CharT = char]
-28 std::numpunct<_CharT>::do_truename [with _CharT = char]
-32 std::numpunct<_CharT>::do_falsename [with _CharT = char]
-
-Class std::numpunct<char>
- size=12 align=4
- base size=12 base align=4
-std::numpunct<char> (0xb5afc880) 0
- vptr=((& std::numpunct<char>::_ZTVSt8numpunctIcE) + 8u)
- std::locale::facet (0xb5afe8e8) 0
- primary-for std::numpunct<char> (0xb5afc880)
-Vtable for std::numpunct<wchar_t>
-std::numpunct<wchar_t>::_ZTVSt8numpunctIwE: 9u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt8numpunctIwE)
-8 std::numpunct<_CharT>::~numpunct [with _CharT = wchar_t]
-12 std::numpunct<_CharT>::~numpunct [with _CharT = wchar_t]
-16 std::numpunct<_CharT>::do_decimal_point [with _CharT = wchar_t]
-20 std::numpunct<_CharT>::do_thousands_sep [with _CharT = wchar_t]
-24 std::numpunct<_CharT>::do_grouping [with _CharT = wchar_t]
-28 std::numpunct<_CharT>::do_truename [with _CharT = wchar_t]
-32 std::numpunct<_CharT>::do_falsename [with _CharT = wchar_t]
-
-Class std::numpunct<wchar_t>
- size=12 align=4
- base size=12 base align=4
-std::numpunct<wchar_t> (0xb5afc940) 0
- vptr=((& std::numpunct<wchar_t>::_ZTVSt8numpunctIwE) + 8u)
- std::locale::facet (0xb5afe9d8) 0
- primary-for std::numpunct<wchar_t> (0xb5afc940)
-Class __gnu_cxx::__conditional_type<true, long unsigned int, long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__conditional_type<true, long unsigned int, long long unsigned int> (0xb5b7303c) 0 empty
-Vtable for std::numpunct_byname<char>
-std::numpunct_byname<char>::_ZTVSt15numpunct_bynameIcE: 9u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt15numpunct_bynameIcE)
-8 std::numpunct_byname<_CharT>::~numpunct_byname [with _CharT = char]
-12 std::numpunct_byname<_CharT>::~numpunct_byname [with _CharT = char]
-16 std::numpunct<_CharT>::do_decimal_point [with _CharT = char]
-20 std::numpunct<_CharT>::do_thousands_sep [with _CharT = char]
-24 std::numpunct<_CharT>::do_grouping [with _CharT = char]
-28 std::numpunct<_CharT>::do_truename [with _CharT = char]
-32 std::numpunct<_CharT>::do_falsename [with _CharT = char]
-
-Class std::numpunct_byname<char>
- size=12 align=4
- base size=12 base align=4
-std::numpunct_byname<char> (0xb5b83e80) 0
- vptr=((& std::numpunct_byname<char>::_ZTVSt15numpunct_bynameIcE) + 8u)
- std::numpunct<char> (0xb5b83ec0) 0
- primary-for std::numpunct_byname<char> (0xb5b83e80)
- std::locale::facet (0xb5b73690) 0
- primary-for std::numpunct<char> (0xb5b83ec0)
-
-Vtable for std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >
-std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >::_ZTVSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE: 15u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE)
-8 std::num_get<_CharT, _InIter>::~num_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-12 std::num_get<_CharT, _InIter>::~num_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-16 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-20 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-24 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-28 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-32 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-36 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-40 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-44 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-48 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-52 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-56 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-
-Class std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >
- size=8 align=4
- base size=8 base align=4
-std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > > (0xb5b83f00) 0
- vptr=((& std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >::_ZTVSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE) + 8u)
- std::locale::facet (0xb5b73780) 0
- primary-for std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > > (0xb5b83f00)
-Vtable for std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >
-std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::_ZTVSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE: 12u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE)
-8 std::num_put<_CharT, _OutIter>::~num_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-12 std::num_put<_CharT, _OutIter>::~num_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-16 std::num_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-20 std::num_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-24 std::num_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-28 std::num_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-32 std::num_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-36 std::num_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-40 std::num_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-44 std::num_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-
-Class std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >
- size=8 align=4
- base size=8 base align=4
-std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > > (0xb5b83f80) 0
- vptr=((& std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::_ZTVSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE) + 8u)
- std::locale::facet (0xb5b73870) 0
- primary-for std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > > (0xb5b83f80)
-Vtable for std::numpunct_byname<wchar_t>
-std::numpunct_byname<wchar_t>::_ZTVSt15numpunct_bynameIwE: 9u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt15numpunct_bynameIwE)
-8 std::numpunct_byname<_CharT>::~numpunct_byname [with _CharT = wchar_t]
-12 std::numpunct_byname<_CharT>::~numpunct_byname [with _CharT = wchar_t]
-16 std::numpunct<_CharT>::do_decimal_point [with _CharT = wchar_t]
-20 std::numpunct<_CharT>::do_thousands_sep [with _CharT = wchar_t]
-24 std::numpunct<_CharT>::do_grouping [with _CharT = wchar_t]
-28 std::numpunct<_CharT>::do_truename [with _CharT = wchar_t]
-32 std::numpunct<_CharT>::do_falsename [with _CharT = wchar_t]
-
-Class std::numpunct_byname<wchar_t>
- size=12 align=4
- base size=12 base align=4
-std::numpunct_byname<wchar_t> (0xb5bb8000) 0
- vptr=((& std::numpunct_byname<wchar_t>::_ZTVSt15numpunct_bynameIwE) + 8u)
- std::numpunct<wchar_t> (0xb5bb8040) 0
- primary-for std::numpunct_byname<wchar_t> (0xb5bb8000)
- std::locale::facet (0xb5b73960) 0
- primary-for std::numpunct<wchar_t> (0xb5bb8040)
-
-Vtable for std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >
-std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::_ZTVSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE: 15u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE)
-8 std::num_get<_CharT, _InIter>::~num_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-12 std::num_get<_CharT, _InIter>::~num_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-16 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-20 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-24 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-28 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-32 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-36 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-40 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-44 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-48 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-52 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-56 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-
-Class std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >
- size=8 align=4
- base size=8 base align=4
-std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > > (0xb5bb80c0) 0
- vptr=((& std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::_ZTVSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE) + 8u)
- std::locale::facet (0xb5b73a50) 0
- primary-for std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > > (0xb5bb80c0)
-Vtable for std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >
-std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::_ZTVSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE: 12u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE)
-8 std::num_put<_CharT, _OutIter>::~num_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-12 std::num_put<_CharT, _OutIter>::~num_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-16 std::num_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-20 std::num_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-24 std::num_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-28 std::num_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-32 std::num_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-36 std::num_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-40 std::num_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-44 std::num_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-
-Class std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >
- size=8 align=4
- base size=8 base align=4
-std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > > (0xb5bb8140) 0
- vptr=((& std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::_ZTVSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE) + 8u)
- std::locale::facet (0xb5b73b40) 0
- primary-for std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > > (0xb5bb8140)
-Vtable for std::basic_ios<char, std::char_traits<char> >
-std::basic_ios<char, std::char_traits<char> >::_ZTVSt9basic_iosIcSt11char_traitsIcEE: 4u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt9basic_iosIcSt11char_traitsIcEE)
-8 std::basic_ios<_CharT, _Traits>::~basic_ios [with _CharT = char, _Traits = std::char_traits<char>]
-12 std::basic_ios<_CharT, _Traits>::~basic_ios [with _CharT = char, _Traits = std::char_traits<char>]
-
-Class std::basic_ios<char, std::char_traits<char> >
- size=136 align=4
- base size=136 base align=4
-std::basic_ios<char, std::char_traits<char> > (0xb59e9180) 0
- vptr=((& std::basic_ios<char, std::char_traits<char> >::_ZTVSt9basic_iosIcSt11char_traitsIcEE) + 8u)
- std::ios_base (0xb59e21a4) 0
- primary-for std::basic_ios<char, std::char_traits<char> > (0xb59e9180)
-
-Vtable for std::basic_ios<wchar_t, std::char_traits<wchar_t> >
-std::basic_ios<wchar_t, std::char_traits<wchar_t> >::_ZTVSt9basic_iosIwSt11char_traitsIwEE: 4u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt9basic_iosIwSt11char_traitsIwEE)
-8 std::basic_ios<_CharT, _Traits>::~basic_ios [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-12 std::basic_ios<_CharT, _Traits>::~basic_ios [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-
-Class std::basic_ios<wchar_t, std::char_traits<wchar_t> >
- size=140 align=4
- base size=140 base align=4
-std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb59e91c0) 0
- vptr=((& std::basic_ios<wchar_t, std::char_traits<wchar_t> >::_ZTVSt9basic_iosIwSt11char_traitsIwEE) + 8u)
- std::ios_base (0xb59e2294) 0
- primary-for std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb59e91c0)
-
-Vtable for std::basic_ostream<char, std::char_traits<char> >
-std::basic_ostream<char, std::char_traits<char> >::_ZTVSo: 10u entries
-0 4u
-4 (int (*)(...))0
-8 (int (*)(...))(& _ZTISo)
-12 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = char, _Traits = std::char_traits<char>]
-16 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = char, _Traits = std::char_traits<char>]
-20 -4u
-24 (int (*)(...))-0x000000004
-28 (int (*)(...))(& _ZTISo)
-32 std::basic_ostream<char, std::char_traits<char> >::_ZTv0_n12_NSoD1Ev
-36 std::basic_ostream<char, std::char_traits<char> >::_ZTv0_n12_NSoD0Ev
+
+
+
+
+
+
+
+
+
+
+
+
+
+
VTT for std::basic_ostream<char, std::char_traits<char> >
std::basic_ostream<char, std::char_traits<char> >::_ZTTSo: 2u entries
0 ((& std::basic_ostream<char, std::char_traits<char> >::_ZTVSo) + 12u)
4 ((& std::basic_ostream<char, std::char_traits<char> >::_ZTVSo) + 32u)
-Class std::basic_ostream<char, std::char_traits<char> >
- size=140 align=4
- base size=4 base align=4
-std::basic_ostream<char, std::char_traits<char> > (0xb5a1fe40) 0 nearly-empty
- vptridx=0u vptr=((& std::basic_ostream<char, std::char_traits<char> >::_ZTVSo) + 12u)
- std::basic_ios<char, std::char_traits<char> > (0xb5a1fe80) 4 virtual
- vptridx=4u vbaseoffset=-0x00000000c vptr=((& std::basic_ostream<char, std::char_traits<char> >::_ZTVSo) + 32u)
- std::ios_base (0xb59e2f78) 4
- primary-for std::basic_ios<char, std::char_traits<char> > (0xb5a1fe80)
-
-Class std::basic_ostream<char, std::char_traits<char> >::sentry
- size=8 align=4
- base size=8 base align=4
-std::basic_ostream<char, std::char_traits<char> >::sentry (0xb5a340f0) 0
-Vtable for std::basic_ostream<wchar_t, std::char_traits<wchar_t> >
-std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE: 10u entries
-0 4u
-4 (int (*)(...))0
-8 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE)
-12 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-16 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-20 -4u
-24 (int (*)(...))-0x000000004
-28 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE)
-32 std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n12_NSt13basic_ostreamIwSt11char_traitsIwEED1Ev
-36 std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n12_NSt13basic_ostreamIwSt11char_traitsIwEED0Ev
+
VTT for std::basic_ostream<wchar_t, std::char_traits<wchar_t> >
std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTTSt13basic_ostreamIwSt11char_traitsIwEE: 2u entries
0 ((& std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 12u)
4 ((& std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 32u)
-Class std::basic_ostream<wchar_t, std::char_traits<wchar_t> >
- size=144 align=4
- base size=4 base align=4
-std::basic_ostream<wchar_t, std::char_traits<wchar_t> > (0xb5a1ffc0) 0 nearly-empty
- vptridx=0u vptr=((& std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 12u)
- std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb5a41000) 4 virtual
- vptridx=4u vbaseoffset=-0x00000000c vptr=((& std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 32u)
- std::ios_base (0xb5a3412c) 4
- primary-for std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb5a41000)
-
-Class std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::sentry
- size=8 align=4
- base size=8 base align=4
-std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::sentry (0xb5a342d0) 0
-Vtable for std::basic_istream<char, std::char_traits<char> >
-std::basic_istream<char, std::char_traits<char> >::_ZTVSi: 10u entries
-0 8u
-4 (int (*)(...))0
-8 (int (*)(...))(& _ZTISi)
-12 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = char, _Traits = std::char_traits<char>]
-16 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = char, _Traits = std::char_traits<char>]
-20 -8u
-24 (int (*)(...))-0x000000008
-28 (int (*)(...))(& _ZTISi)
-32 std::basic_istream<char, std::char_traits<char> >::_ZTv0_n12_NSiD1Ev
-36 std::basic_istream<char, std::char_traits<char> >::_ZTv0_n12_NSiD0Ev
+
VTT for std::basic_istream<char, std::char_traits<char> >
std::basic_istream<char, std::char_traits<char> >::_ZTTSi: 2u entries
0 ((& std::basic_istream<char, std::char_traits<char> >::_ZTVSi) + 12u)
4 ((& std::basic_istream<char, std::char_traits<char> >::_ZTVSi) + 32u)
-Class std::basic_istream<char, std::char_traits<char> >
- size=144 align=4
- base size=8 base align=4
-std::basic_istream<char, std::char_traits<char> > (0xb5a41880) 0
- vptridx=0u vptr=((& std::basic_istream<char, std::char_traits<char> >::_ZTVSi) + 12u)
- std::basic_ios<char, std::char_traits<char> > (0xb5a418c0) 8 virtual
- vptridx=4u vbaseoffset=-0x00000000c vptr=((& std::basic_istream<char, std::char_traits<char> >::_ZTVSi) + 32u)
- std::ios_base (0xb5a34834) 8
- primary-for std::basic_ios<char, std::char_traits<char> > (0xb5a418c0)
-
-Vtable for std::basic_istream<wchar_t, std::char_traits<wchar_t> >
-std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_istreamIwSt11char_traitsIwEE: 10u entries
-0 8u
-4 (int (*)(...))0
-8 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE)
-12 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-16 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-20 -8u
-24 (int (*)(...))-0x000000008
-28 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE)
-32 std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n12_NSt13basic_istreamIwSt11char_traitsIwEED1Ev
-36 std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n12_NSt13basic_istreamIwSt11char_traitsIwEED0Ev
+
VTT for std::basic_istream<wchar_t, std::char_traits<wchar_t> >
std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTTSt13basic_istreamIwSt11char_traitsIwEE: 2u entries
0 ((& std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 12u)
4 ((& std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 32u)
-Class std::basic_istream<wchar_t, std::char_traits<wchar_t> >
- size=148 align=4
- base size=8 base align=4
-std::basic_istream<wchar_t, std::char_traits<wchar_t> > (0xb5a41980) 0
- vptridx=0u vptr=((& std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 12u)
- std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb5a419c0) 8 virtual
- vptridx=4u vbaseoffset=-0x00000000c vptr=((& std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 32u)
- std::ios_base (0xb5a34bb8) 8
- primary-for std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb5a419c0)
-
-Class __gnu_cxx::__conditional_type<true, __gnu_cxx::__numeric_traits_integer<short int>, __gnu_cxx::__numeric_traits_floating<short int> >
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__conditional_type<true, __gnu_cxx::__numeric_traits_integer<short int>, __gnu_cxx::__numeric_traits_floating<short int> > (0xb5a8c1e0) 0 empty
-Class __gnu_cxx::__numeric_traits_integer<short int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__numeric_traits_integer<short int> (0xb5a8c21c) 0 empty
-Class __gnu_cxx::__numeric_traits<short int>
- size=1 align=1
- base size=1 base align=1
-__gnu_cxx::__numeric_traits<short int> (0xb5a8f880) 0 empty
- __gnu_cxx::__numeric_traits_integer<short int> (0xb5a8c258) 0 empty
-Class std::basic_istream<char, std::char_traits<char> >::sentry
- size=1 align=1
- base size=1 base align=1
-std::basic_istream<char, std::char_traits<char> >::sentry (0xb5a8c834) 0
-Vtable for std::basic_iostream<char, std::char_traits<char> >
-std::basic_iostream<char, std::char_traits<char> >::_ZTVSd: 15u entries
-0 12u
-4 (int (*)(...))0
-8 (int (*)(...))(& _ZTISd)
-12 std::basic_iostream<_CharT, _Traits>::~basic_iostream [with _CharT = char, _Traits = std::char_traits<char>]
-16 std::basic_iostream<_CharT, _Traits>::~basic_iostream [with _CharT = char, _Traits = std::char_traits<char>]
-20 4u
-24 (int (*)(...))-0x000000008
-28 (int (*)(...))(& _ZTISd)
-32 std::basic_iostream<char, std::char_traits<char> >::_ZThn8_NSdD1Ev
-36 std::basic_iostream<char, std::char_traits<char> >::_ZThn8_NSdD0Ev
-40 -12u
-44 (int (*)(...))-0x00000000c
-48 (int (*)(...))(& _ZTISd)
-52 std::basic_iostream<char, std::char_traits<char> >::_ZTv0_n12_NSdD1Ev
-56 std::basic_iostream<char, std::char_traits<char> >::_ZTv0_n12_NSdD0Ev
+
Construction vtable for std::basic_istream<char, std::char_traits<char> > (0xb58c2780 instance) in std::basic_iostream<char, std::char_traits<char> >
std::basic_iostream<char, std::char_traits<char> >::_ZTCSd0_Si: 10u entries
@@ -2486,44 +1210,8 @@ std::basic_iostream<char, std::char_traits<char> >::_ZTTSd: 7u entries
20 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 52u)
24 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 32u)
-Class std::basic_iostream<char, std::char_traits<char> >
- size=148 align=4
- base size=12 base align=4
-std::basic_iostream<char, std::char_traits<char> > (0xb58d50f0) 0
- vptridx=0u vptr=((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 12u)
- std::basic_istream<char, std::char_traits<char> > (0xb58c2780) 0
- primary-for std::basic_iostream<char, std::char_traits<char> > (0xb58d50f0)
- subvttidx=4u
- std::basic_ios<char, std::char_traits<char> > (0xb58c27c0) 12 virtual
- vptridx=20u vbaseoffset=-0x00000000c vptr=((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 52u)
- std::ios_base (0xb5a8c870) 12
- primary-for std::basic_ios<char, std::char_traits<char> > (0xb58c27c0)
- std::basic_ostream<char, std::char_traits<char> > (0xb58c2800) 8 nearly-empty
- subvttidx=12u vptridx=24u vptr=((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 32u)
- std::basic_ios<char, std::char_traits<char> > (0xb58c27c0) alternative-path
-
-Class std::basic_istream<wchar_t, std::char_traits<wchar_t> >::sentry
- size=1 align=1
- base size=1 base align=1
-std::basic_istream<wchar_t, std::char_traits<wchar_t> >::sentry (0xb5a8cb04) 0
-Vtable for std::basic_iostream<wchar_t, std::char_traits<wchar_t> >
-std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE: 15u entries
-0 12u
-4 (int (*)(...))0
-8 (int (*)(...))(& _ZTISt14basic_iostreamIwSt11char_traitsIwEE)
-12 std::basic_iostream<_CharT, _Traits>::~basic_iostream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-16 std::basic_iostream<_CharT, _Traits>::~basic_iostream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-20 4u
-24 (int (*)(...))-0x000000008
-28 (int (*)(...))(& _ZTISt14basic_iostreamIwSt11char_traitsIwEE)
-32 std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZThn8_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev
-36 std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZThn8_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev
-40 -12u
-44 (int (*)(...))-0x00000000c
-48 (int (*)(...))(& _ZTISt14basic_iostreamIwSt11char_traitsIwEE)
-52 std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n12_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev
-56 std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n12_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev
+
Construction vtable for std::basic_istream<wchar_t, std::char_traits<wchar_t> > (0xb58c2b00 instance) in std::basic_iostream<wchar_t, std::char_traits<wchar_t> >
std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E: 10u entries
@@ -2561,110 +1249,21 @@ std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTTSt14basic_iostream
20 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 52u)
24 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 32u)
-Class std::basic_iostream<wchar_t, std::char_traits<wchar_t> >
- size=152 align=4
- base size=12 base align=4
-std::basic_iostream<wchar_t, std::char_traits<wchar_t> > (0xb58e5190) 0
- vptridx=0u vptr=((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 12u)
- std::basic_istream<wchar_t, std::char_traits<wchar_t> > (0xb58c2b00) 0
- primary-for std::basic_iostream<wchar_t, std::char_traits<wchar_t> > (0xb58e5190)
- subvttidx=4u
- std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb58c2b40) 12 virtual
- vptridx=20u vbaseoffset=-0x00000000c vptr=((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 52u)
- std::ios_base (0xb5a8cb40) 12
- primary-for std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb58c2b40)
- std::basic_ostream<wchar_t, std::char_traits<wchar_t> > (0xb58c2b80) 8 nearly-empty
- subvttidx=12u vptridx=24u vptr=((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 32u)
- std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb58c2b40) alternative-path
-
-Class QVector<double>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<double>::<anonymous union> (0xb58f630c) 0
-Class QVector<double>
- size=4 align=4
- base size=4 base align=4
-QVector<double> (0xb58f6294) 0
-Class QtConcurrent::Median<double>
- size=24 align=4
- base size=22 base align=4
-QtConcurrent::Median<double> (0xb58f621c) 0
+
Class QtConcurrent::BlockSizeManager
size=72 align=4
base size=72 base align=4
QtConcurrent::BlockSizeManager (0xb58f6168) 0
-Class QtConcurrent::ResultReporter<void>
- size=1 align=1
- base size=0 base align=1
-QtConcurrent::ResultReporter<void> (0xb58f66cc) 0 empty
-Class QFlags<QtConcurrent::ReduceOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QtConcurrent::ReduceOption> (0xb58f6f3c) 0
-Class QtConcurrent::SelectSpecialization<void>
- size=1 align=1
- base size=0 base align=1
-QtConcurrent::SelectSpecialization<void> (0xb580f348) 0 empty
-Vtable for QtConcurrent::RunFunctionTaskBase<void>
-QtConcurrent::RunFunctionTaskBase<void>::_ZTVN12QtConcurrent19RunFunctionTaskBaseIvEE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTIN12QtConcurrent19RunFunctionTaskBaseIvEE)
-8 QtConcurrent::RunFunctionTaskBase<void>::~RunFunctionTaskBase
-12 QtConcurrent::RunFunctionTaskBase<void>::~RunFunctionTaskBase
-16 QtConcurrent::RunFunctionTaskBase<T>::run [with T = void]
-20 __cxa_pure_virtual
-24 (int (*)(...))-0x000000008
-28 (int (*)(...))(& _ZTIN12QtConcurrent19RunFunctionTaskBaseIvEE)
-32 QtConcurrent::RunFunctionTaskBase<void>::_ZThn8_N12QtConcurrent19RunFunctionTaskBaseIvE3runEv
-36 QtConcurrent::RunFunctionTaskBase<void>::_ZThn8_N12QtConcurrent19RunFunctionTaskBaseIvED1Ev
-40 QtConcurrent::RunFunctionTaskBase<void>::_ZThn8_N12QtConcurrent19RunFunctionTaskBaseIvED0Ev
-Class QtConcurrent::RunFunctionTaskBase<void>
- size=16 align=4
- base size=16 base align=4
-QtConcurrent::RunFunctionTaskBase<void> (0xb5812910) 0
- vptr=((& QtConcurrent::RunFunctionTaskBase<void>::_ZTVN12QtConcurrent19RunFunctionTaskBaseIvEE) + 8u)
- QFutureInterface<void> (0xb57f9e00) 0
- primary-for QtConcurrent::RunFunctionTaskBase<void> (0xb5812910)
- QFutureInterfaceBase (0xb580f528) 0
- primary-for QFutureInterface<void> (0xb57f9e00)
- QRunnable (0xb580f564) 8
- vptr=((& QtConcurrent::RunFunctionTaskBase<void>::_ZTVN12QtConcurrent19RunFunctionTaskBaseIvEE) + 32u)
-
-Vtable for QtConcurrent::RunFunctionTask<void>
-QtConcurrent::RunFunctionTask<void>::_ZTVN12QtConcurrent15RunFunctionTaskIvEE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTIN12QtConcurrent15RunFunctionTaskIvEE)
-8 QtConcurrent::RunFunctionTask<void>::~RunFunctionTask
-12 QtConcurrent::RunFunctionTask<void>::~RunFunctionTask
-16 QtConcurrent::RunFunctionTask<void>::run
-20 __cxa_pure_virtual
-24 (int (*)(...))-0x000000008
-28 (int (*)(...))(& _ZTIN12QtConcurrent15RunFunctionTaskIvEE)
-32 QtConcurrent::RunFunctionTask<void>::_ZThn8_N12QtConcurrent15RunFunctionTaskIvE3runEv
-36 QtConcurrent::RunFunctionTask<void>::_ZThn8_N12QtConcurrent15RunFunctionTaskIvED1Ev
-40 QtConcurrent::RunFunctionTask<void>::_ZThn8_N12QtConcurrent15RunFunctionTaskIvED0Ev
-Class QtConcurrent::RunFunctionTask<void>
- size=16 align=4
- base size=16 base align=4
-QtConcurrent::RunFunctionTask<void> (0xb57f9e80) 0
- vptr=((& QtConcurrent::RunFunctionTask<void>::_ZTVN12QtConcurrent15RunFunctionTaskIvEE) + 8u)
- QtConcurrent::RunFunctionTaskBase<void> (0xb5812d20) 0
- primary-for QtConcurrent::RunFunctionTask<void> (0xb57f9e80)
- QFutureInterface<void> (0xb57f9ec0) 0
- primary-for QtConcurrent::RunFunctionTaskBase<void> (0xb5812d20)
- QFutureInterfaceBase (0xb580f708) 0
- primary-for QFutureInterface<void> (0xb57f9ec0)
- QRunnable (0xb580f744) 8
- vptr=((& QtConcurrent::RunFunctionTask<void>::_ZTVN12QtConcurrent15RunFunctionTaskIvEE) + 32u)
+
Class QLibraryInfo
size=1 align=1
@@ -2715,50 +1314,22 @@ QFile (0xb5789200) 0
QObject (0xb5773a8c) 0
primary-for QIODevice (0xb5789240)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0xb57a73fc) 0
Class QFileInfo
size=4 align=4
base size=4 base align=4
QFileInfo (0xb57a7fb4) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0xb55c5654) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0xb55c5960) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0xb55d76cc) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0xb55d7654) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0xb55d77bc) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0xb55f9d20) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0xb55f9e10) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -2833,10 +1404,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0xb56380f0) 0
vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0xb56461e0) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -2926,10 +1493,6 @@ Class QDirIterator
QDirIterator (0xb5669384) 0
vptr=((& QDirIterator::_ZTV12QDirIterator) + 8u)
-Class QFlags<QDirIterator::IteratorFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDirIterator::IteratorFlag> (0xb5669b7c) 0
Vtable for QFileSystemWatcher
QFileSystemWatcher::_ZTV18QFileSystemWatcher: 14u entries
@@ -3067,25 +1630,13 @@ Class QLocale::Data
base size=4 base align=2
QLocale::Data (0xb54c7b40) 0
-Class QLocale::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QLocale::<anonymous union> (0xb54c7bb8) 0
Class QLocale
size=4 align=4
base size=4 base align=4
QLocale (0xb56ad924) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0xb54d43c0) 0 empty
-Class QFlags<QLocale::NumberOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLocale::NumberOption> (0xb54d4528) 0
Class QResource
size=4 align=4
@@ -3097,275 +1648,59 @@ Class QMetaType
base size=0 base align=1
QMetaType (0xb54e1e10) 0 empty
-Class QMetaTypeId2<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QString> (0xb5505258) 0 empty
-Class QMetaTypeId2<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<int> (0xb5505438) 0 empty
-Class QMetaTypeId2<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned int> (0xb5505618) 0 empty
-Class QMetaTypeId2<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<bool> (0xb55057f8) 0 empty
-Class QMetaTypeId2<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<double> (0xb55059d8) 0 empty
-Class QMetaTypeId2<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QByteArray> (0xb5505bb8) 0 empty
-Class QMetaTypeId2<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QChar> (0xb5505d98) 0 empty
-Class QMetaTypeId2<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long int> (0xb5505f78) 0 empty
-Class QMetaTypeId2<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short int> (0xb5518168) 0 empty
-Class QMetaTypeId2<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<char> (0xb5518348) 0 empty
-Class QMetaTypeId2<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long unsigned int> (0xb5518528) 0 empty
-Class QMetaTypeId2<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short unsigned int> (0xb5518708) 0 empty
-Class QMetaTypeId2<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned char> (0xb55188e8) 0 empty
-Class QMetaTypeId2<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<float> (0xb5518ac8) 0 empty
-Class QMetaTypeId2<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QObject*> (0xb5518ca8) 0 empty
-Class QMetaTypeId2<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QWidget*> (0xb5518e88) 0 empty
-Class QMetaTypeId2<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<void*> (0xb551e078) 0 empty
-Class QMetaTypeId2<long long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long int> (0xb551e258) 0 empty
-Class QMetaTypeId2<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long unsigned int> (0xb551e438) 0 empty
-Class QMetaTypeId2<QStringList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QStringList> (0xb551e618) 0 empty
-Class QMetaTypeId2<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitArray> (0xb551e7f8) 0 empty
-Class QMetaTypeId2<QDate>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDate> (0xb551e9d8) 0 empty
-Class QMetaTypeId2<QTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTime> (0xb551ebb8) 0 empty
-Class QMetaTypeId2<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDateTime> (0xb551ed98) 0 empty
-Class QMetaTypeId2<QUrl>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QUrl> (0xb551ef78) 0 empty
-Class QMetaTypeId2<QLocale>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLocale> (0xb5526168) 0 empty
-Class QMetaTypeId2<QRect>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRect> (0xb5526348) 0 empty
-Class QMetaTypeId2<QRectF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRectF> (0xb5526528) 0 empty
-Class QMetaTypeId2<QSize>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSize> (0xb5526708) 0 empty
-Class QMetaTypeId2<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizeF> (0xb55268e8) 0 empty
-Class QMetaTypeId2<QLine>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLine> (0xb5526ac8) 0 empty
-Class QMetaTypeId2<QLineF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLineF> (0xb5526ca8) 0 empty
-Class QMetaTypeId2<QPoint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPoint> (0xb5526e88) 0 empty
-Class QMetaTypeId2<QPointF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPointF> (0xb5530078) 0 empty
-Class QMetaTypeId2<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegExp> (0xb5530258) 0 empty
-Class QMetaTypeId2<QColorGroup>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColorGroup> (0xb5530438) 0 empty
-Class QMetaTypeId2<QFont>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QFont> (0xb5530618) 0 empty
-Class QMetaTypeId2<QPixmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPixmap> (0xb55307f8) 0 empty
-Class QMetaTypeId2<QBrush>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBrush> (0xb55309d8) 0 empty
-Class QMetaTypeId2<QColor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColor> (0xb5530bb8) 0 empty
-Class QMetaTypeId2<QPalette>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPalette> (0xb5530d98) 0 empty
-Class QMetaTypeId2<QIcon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QIcon> (0xb5530f78) 0 empty
-Class QMetaTypeId2<QImage>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QImage> (0xb5535168) 0 empty
-Class QMetaTypeId2<QPolygon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPolygon> (0xb5535348) 0 empty
-Class QMetaTypeId2<QRegion>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegion> (0xb5535528) 0 empty
-Class QMetaTypeId2<QBitmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitmap> (0xb5535708) 0 empty
-Class QMetaTypeId2<QCursor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QCursor> (0xb55358e8) 0 empty
-Class QMetaTypeId2<QSizePolicy>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizePolicy> (0xb5535ac8) 0 empty
-Class QMetaTypeId2<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QKeySequence> (0xb5535ca8) 0 empty
-Class QMetaTypeId2<QPen>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPen> (0xb5535e88) 0 empty
-Class QMetaTypeId2<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextLength> (0xb553d078) 0 empty
-Class QMetaTypeId2<QTextFormat>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextFormat> (0xb553d258) 0 empty
-Class QMetaTypeId2<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMatrix> (0xb553d438) 0 empty
-Class QMetaTypeId2<QTransform>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTransform> (0xb553d618) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -3392,45 +1727,17 @@ Class QVariant
base size=12 base align=4
QVariant (0xb553d7f8) 0
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0xb5578294) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0xb557821c) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0xb5578384) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0xb557830c) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0xb55ad708) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0xb55add20) 0 empty
-Class QMetaTypeId2<QList<QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QList<QVariant> > (0xb55adf00) 0 empty
-Class QMetaTypeId2<QMap<QString, QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMap<QString, QVariant> > (0xb53bd0f0) 0 empty
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -3508,15 +1815,7 @@ Class QUrl
base size=4 base align=4
QUrl (0xb5403168) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0xb54170b4) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0xb5428b40) 0 empty
Vtable for QEventLoop
QEventLoop::_ZTV10QEventLoop: 14u entries
@@ -3543,10 +1842,6 @@ QEventLoop (0xb53eaec0) 0
QObject (0xb543b99c) 0
primary-for QEventLoop (0xb53eaec0)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0xb543bfb4) 0
Vtable for QAbstractEventDispatcher
QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 27u entries
@@ -3591,20 +1886,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0xb547321c) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0xb5484618) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0xb5484708) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0xb5484e4c) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -3774,10 +2061,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0xb52cbfb4) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0xb52d9744) 0 empty
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -3889,20 +2172,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0xb5340384) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0xb5340834) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0xb5340924) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0xb5340d5c) 0 empty
Class QMetaProperty
size=20 align=4
@@ -3914,10 +2189,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0xb5357168) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0xb53574b0) 0 empty
Vtable for QMimeData
QMimeData::_ZTV9QMimeData: 17u entries
@@ -4129,10 +2400,6 @@ QLibrary (0xb538dbc0) 0
QObject (0xb53b4e10) 0
primary-for QLibrary (0xb538dbc0)
-Class QFlags<QLibrary::LoadHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLibrary::LoadHint> (0xb51c3d5c) 0
Vtable for QPluginLoader
QPluginLoader::_ZTV13QPluginLoader: 14u entries
@@ -4169,20 +2436,12 @@ Class QReadWriteLock
base size=4 base align=4
QReadWriteLock (0xb51f730c) 0
-Class QReadLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QReadLocker::<anonymous union> (0xb51f799c) 0
Class QReadLocker
size=4 align=4
base size=4 base align=4
QReadLocker (0xb51f7690) 0
-Class QWriteLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QWriteLocker::<anonymous union> (0xb5206e88) 0
Class QWriteLocker
size=4 align=4
@@ -4209,10 +2468,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0xb524e474) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0xb5259168) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -4229,70 +2484,42 @@ Class QDate
base size=4 base align=4
QDate (0xb527f168) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0xb528ab04) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0xb528abf4) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0xb52a1168) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0xb52a1258) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0xb52a8960) 0 empty
Class QPoint
size=8 align=4
base size=8 base align=4
QPoint (0xb52a8b40) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0xb509fa14) 0 empty
Class QPointF
size=16 align=4
base size=16 base align=4
QPointF (0xb50acb40) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0xb50bdac8) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0xb50ceb04) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0xb50ceec4) 0 empty
Class QLineF
size=32 align=4
base size=32 base align=4
QLineF (0xb50fb03c) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0xb50fba50) 0 empty
Class QLinkedListData
size=20 align=4
@@ -4304,40 +2531,24 @@ Class QSize
base size=8 base align=4
QSize (0xb518399c) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0xb4f9ba8c) 0 empty
Class QSizeF
size=16 align=4
base size=16 base align=4
QSizeF (0xb4fb9618) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0xb4fc2708) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0xb4fe4474) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0xb4ffb348) 0 empty
Class QRectF
size=32 align=4
base size=32 base align=4
QRectF (0xb5037f3c) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0xb505a438) 0 empty
Class QSharedData
size=4 align=4
@@ -4385,20 +2596,8 @@ Class QXmlStreamAttribute
base size=53 base align=4
QXmlStreamAttribute (0xb4ef6c30) 0
-Class QTypeInfo<QXmlStreamAttribute>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QXmlStreamAttribute> (0xb4f0f1a4) 0 empty
-Class QVector<QXmlStreamAttribute>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QXmlStreamAttribute>::<anonymous union> (0xb4f0f30c) 0
-Class QVector<QXmlStreamAttribute>
- size=4 align=4
- base size=4 base align=4
-QVector<QXmlStreamAttribute> (0xb4f0f294) 0
Class QXmlStreamAttributes
size=4 align=4
@@ -4411,30 +2610,18 @@ Class QXmlStreamNamespaceDeclaration
base size=28 base align=4
QXmlStreamNamespaceDeclaration (0xb4f0f384) 0
-Class QTypeInfo<QXmlStreamNamespaceDeclaration>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QXmlStreamNamespaceDeclaration> (0xb4f0fd98) 0 empty
Class QXmlStreamNotationDeclaration
size=40 align=4
base size=40 base align=4
QXmlStreamNotationDeclaration (0xb4f0fec4) 0
-Class QTypeInfo<QXmlStreamNotationDeclaration>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QXmlStreamNotationDeclaration> (0xb4f32a8c) 0 empty
Class QXmlStreamEntityDeclaration
size=64 align=4
base size=64 base align=4
QXmlStreamEntityDeclaration (0xb4f32bb8) 0
-Class QTypeInfo<QXmlStreamEntityDeclaration>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QXmlStreamEntityDeclaration> (0xb4f45b40) 0 empty
Vtable for QXmlStreamEntityResolver
QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver: 6u entries
@@ -4573,15 +2760,7 @@ Class QXmlAttributes::Attribute
base size=16 base align=4
QXmlAttributes::Attribute (0xb4dd3168) 0
-Class QList<QXmlAttributes::Attribute>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QXmlAttributes::Attribute>::<anonymous union> (0xb4dd3474) 0
-Class QList<QXmlAttributes::Attribute>
- size=4 align=4
- base size=4 base align=4
-QList<QXmlAttributes::Attribute> (0xb4dd33fc) 0
Vtable for QXmlAttributes
QXmlAttributes::_ZTV14QXmlAttributes: 4u entries
@@ -4941,25 +3120,9 @@ Class QAbstractExtensionManager
QAbstractExtensionManager (0xb4e3f834) 0 nearly-empty
vptr=((& QAbstractExtensionManager::_ZTV25QAbstractExtensionManager) + 8u)
-Class QHash<QString, QList<QAbstractExtensionFactory*> >::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QHash<QString, QList<QAbstractExtensionFactory*> >::<anonymous union> (0xb4e5930c) 0
-Class QHash<QString, QList<QAbstractExtensionFactory*> >
- size=4 align=4
- base size=4 base align=4
-QHash<QString, QList<QAbstractExtensionFactory*> > (0xb4e59294) 0
-Class QList<QAbstractExtensionFactory*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QAbstractExtensionFactory*>::<anonymous union> (0xb4e594b0) 0
-Class QList<QAbstractExtensionFactory*>
- size=4 align=4
- base size=4 base align=4
-QList<QAbstractExtensionFactory*> (0xb4e59438) 0
Vtable for QExtensionManager
QExtensionManager::_ZTV17QExtensionManager: 24u entries
@@ -5014,40 +3177,16 @@ Class QPaintDevice
QPaintDevice (0xb4e59ca8) 0
vptr=((& QPaintDevice::_ZTV12QPaintDevice) + 8u)
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0xb4caea50) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0xb4caeac8) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0xb4caeb40) 0
-Class QColor::<anonymous union>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union> (0xb4cae9d8) 0
Class QColor
size=16 align=4
base size=14 base align=4
QColor (0xb4c965a0) 0
-Class QVector<QPoint>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint>::<anonymous union> (0xb4cbe960) 0
-Class QVector<QPoint>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint> (0xb4cbe8e8) 0
Class QPolygon
size=4 align=4
@@ -5055,15 +3194,7 @@ Class QPolygon
QPolygon (0xb4e8fd40) 0
QVector<QPoint> (0xb4cbe99c) 0
-Class QVector<QPointF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF>::<anonymous union> (0xb4cdea50) 0
-Class QVector<QPointF>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF> (0xb4cde9d8) 0
Class QPolygonF
size=4 align=4
@@ -5086,10 +3217,6 @@ Class QMatrix
base size=48 base align=4
QMatrix (0xb4d18960) 0
-Class QTypeInfo<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMatrix> (0xb4d29fb4) 0 empty
Class QPainterPath::Element
size=20 align=4
@@ -5101,25 +3228,13 @@ Class QPainterPath
base size=4 base align=4
QPainterPath (0xb4d33780) 0
-Class QVector<QPainterPath::Element>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element>::<anonymous union> (0xb4d5e834) 0
-Class QVector<QPainterPath::Element>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element> (0xb4d5e7bc) 0
Class QPainterPathPrivate
size=8 align=4
base size=8 base align=4
QPainterPathPrivate (0xb4d5e438) 0
-Class QTypeInfo<QPainterPath::Element>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPainterPath::Element> (0xb4d5e870) 0 empty
Class QPainterPathStroker
size=4 align=4
@@ -5131,10 +3246,6 @@ Class QTransform
base size=80 base align=4
QTransform (0xb4b980f0) 0
-Class QTypeInfo<QTransform>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTransform> (0xb4ba61e0) 0 empty
Class QImageTextKeyLang
size=8 align=4
@@ -5159,10 +3270,6 @@ QImage (0xb4baac80) 0
QPaintDevice (0xb4bde9d8) 0
primary-for QImage (0xb4baac80)
-Class QTypeInfo<QImage>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QImage> (0xb4c34ec4) 0 empty
Vtable for QPixmap
QPixmap::_ZTV7QPixmap: 7u entries
@@ -5187,45 +3294,17 @@ Class QBrush
base size=4 base align=4
QBrush (0xb4c668e8) 0
-Class QTypeInfo<QBrush>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBrush> (0xb4c773c0) 0 empty
Class QBrushData
size=124 align=4
base size=121 base align=4
QBrushData (0xb4c77654) 0
-Class QVector<QPair<double, QColor> >::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPair<double, QColor> >::<anonymous union> (0xb4c8a30c) 0
-Class QVector<QPair<double, QColor> >
- size=4 align=4
- base size=4 base align=4
-QVector<QPair<double, QColor> > (0xb4c8a294) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=32 align=4
- base size=32 base align=4
-QGradient::<anonymous union>::<anonymous struct> (0xb4c8a3fc) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=40 align=4
- base size=40 base align=4
-QGradient::<anonymous union>::<anonymous struct> (0xb4c8a474) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=24 align=4
- base size=24 base align=4
-QGradient::<anonymous union>::<anonymous struct> (0xb4c8a4ec) 0
-Class QGradient::<anonymous union>
- size=40 align=4
- base size=40 base align=4
-QGradient::<anonymous union> (0xb4c8a384) 0
Class QGradient
size=56 align=4
@@ -5286,10 +3365,6 @@ Class QSizePolicy
base size=4 base align=4
QSizePolicy (0xb4b281a4) 0
-Class QFlags<QSizePolicy::ControlType>
- size=4 align=4
- base size=4 base align=4
-QFlags<QSizePolicy::ControlType> (0xb4b7221c) 0
Class QCursor
size=4 align=4
@@ -5301,10 +3376,6 @@ Class QKeySequence
base size=4 base align=4
QKeySequence (0xb4b89a14) 0
-Class QTypeInfo<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QKeySequence> (0xb4995ce4) 0 empty
Class QWidgetData
size=64 align=4
@@ -5387,10 +3458,6 @@ QWidget (0xb49aeb90) 0
QPaintDevice (0xb4995780) 8
vptr=((& QWidget::_ZTV7QWidget) + 232u)
-Class QFlags<QWidget::RenderFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QWidget::RenderFlag> (0xb49e1348) 0
Vtable for QDesignerActionEditorInterface
QDesignerActionEditorInterface::_ZTV30QDesignerActionEditorInterface: 67u entries
@@ -5525,65 +3592,17 @@ Class QDesignerDnDItemInterface
QDesignerDnDItemInterface (0xb4a8c834) 0 nearly-empty
vptr=((& QDesignerDnDItemInterface::_ZTV25QDesignerDnDItemInterface) + 8u)
-Class QPointer<QWidget>
- size=4 align=4
- base size=4 base align=4
-QPointer<QWidget> (0xb4a8cf78) 0
-Class QPointer<QDesignerWidgetBoxInterface>
- size=4 align=4
- base size=4 base align=4
-QPointer<QDesignerWidgetBoxInterface> (0xb4a8c0f0) 0
-Class QPointer<QDesignerPropertyEditorInterface>
- size=4 align=4
- base size=4 base align=4
-QPointer<QDesignerPropertyEditorInterface> (0xb4a8cf3c) 0
-Class QPointer<QDesignerFormWindowManagerInterface>
- size=4 align=4
- base size=4 base align=4
-QPointer<QDesignerFormWindowManagerInterface> (0xb48a9078) 0
-Class QPointer<QExtensionManager>
- size=4 align=4
- base size=4 base align=4
-QPointer<QExtensionManager> (0xb48a912c) 0
-Class QPointer<QDesignerMetaDataBaseInterface>
- size=4 align=4
- base size=4 base align=4
-QPointer<QDesignerMetaDataBaseInterface> (0xb48a91e0) 0
-Class QPointer<QDesignerWidgetDataBaseInterface>
- size=4 align=4
- base size=4 base align=4
-QPointer<QDesignerWidgetDataBaseInterface> (0xb48a9294) 0
-Class QPointer<QDesignerWidgetFactoryInterface>
- size=4 align=4
- base size=4 base align=4
-QPointer<QDesignerWidgetFactoryInterface> (0xb48a9348) 0
-Class QPointer<QDesignerObjectInspectorInterface>
- size=4 align=4
- base size=4 base align=4
-QPointer<QDesignerObjectInspectorInterface> (0xb48a93fc) 0
-Class QPointer<QDesignerBrushManagerInterface>
- size=4 align=4
- base size=4 base align=4
-QPointer<QDesignerBrushManagerInterface> (0xb48a94b0) 0
-Class QPointer<QDesignerIconCacheInterface>
- size=4 align=4
- base size=4 base align=4
-QPointer<QDesignerIconCacheInterface> (0xb48a9564) 0
-Class QPointer<QDesignerActionEditorInterface>
- size=4 align=4
- base size=4 base align=4
-QPointer<QDesignerActionEditorInterface> (0xb48a9618) 0
Vtable for QDesignerFormEditorInterface
QDesignerFormEditorInterface::_ZTV28QDesignerFormEditorInterface: 14u entries
@@ -6272,25 +4291,13 @@ Class QIcon
base size=4 base align=4
QIcon (0xb4958bf4) 0
-Class QTypeInfo<QIcon>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QIcon> (0xb4971f78) 0 empty
Class QDesignerWidgetBoxInterface::Widget
size=16 align=4
base size=16 base align=4
QDesignerWidgetBoxInterface::Widget (0xb497c12c) 0
-Class QList<QDesignerWidgetBoxInterface::Widget>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QDesignerWidgetBoxInterface::Widget>::<anonymous union> (0xb497cbb8) 0
-Class QList<QDesignerWidgetBoxInterface::Widget>
- size=4 align=4
- base size=4 base align=4
-QList<QDesignerWidgetBoxInterface::Widget> (0xb497cb40) 0
Class QDesignerWidgetBoxInterface::Category
size=12 align=4
@@ -6388,10 +4395,6 @@ QDesignerWidgetBoxInterface (0xb49752c0) 0
QPaintDevice (0xb497c0b4) 8
vptr=((& QDesignerWidgetBoxInterface::_ZTV27QDesignerWidgetBoxInterface) + 284u)
-Class QMetaTypeId<QDesignerWidgetBoxInterface::Widget>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QDesignerWidgetBoxInterface::Widget> (0xb47c04ec) 0 empty
Vtable for QDesignerWidgetDataBaseItemInterface
QDesignerWidgetDataBaseItemInterface::_ZTV36QDesignerWidgetDataBaseItemInterface: 30u entries
@@ -6432,15 +4435,7 @@ Class QDesignerWidgetDataBaseItemInterface
QDesignerWidgetDataBaseItemInterface (0xb47c07f8) 0 nearly-empty
vptr=((& QDesignerWidgetDataBaseItemInterface::_ZTV36QDesignerWidgetDataBaseItemInterface) + 8u)
-Class QList<QDesignerWidgetDataBaseItemInterface*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QDesignerWidgetDataBaseItemInterface*>::<anonymous union> (0xb47c0e10) 0
-Class QList<QDesignerWidgetDataBaseItemInterface*>
- size=4 align=4
- base size=4 base align=4
-QList<QDesignerWidgetDataBaseItemInterface*> (0xb47c0d98) 0
Vtable for QDesignerWidgetDataBaseInterface
QDesignerWidgetDataBaseInterface::_ZTV32QDesignerWidgetDataBaseInterface: 22u entries
@@ -6642,35 +4637,11 @@ Class QDesignerTaskMenuExtension
QDesignerTaskMenuExtension (0xb4818c30) 0 nearly-empty
vptr=((& QDesignerTaskMenuExtension::_ZTV26QDesignerTaskMenuExtension) + 8u)
-Class QHash<QObject*, bool>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QHash<QObject*, bool>::<anonymous union> (0xb4830834) 0
-Class QHash<QObject*, bool>
- size=4 align=4
- base size=4 base align=4
-QHash<QObject*, bool> (0xb48307bc) 0
-Class QHash<QString, QAction*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QHash<QString, QAction*>::<anonymous union> (0xb4830924) 0
-Class QHash<QString, QAction*>
- size=4 align=4
- base size=4 base align=4
-QHash<QString, QAction*> (0xb48308ac) 0
-Class QHash<QString, QActionGroup*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QHash<QString, QActionGroup*>::<anonymous union> (0xb4830a14) 0
-Class QHash<QString, QActionGroup*>
- size=4 align=4
- base size=4 base align=4
-QHash<QString, QActionGroup*> (0xb483099c) 0
Vtable for QAbstractFormBuilder
QAbstractFormBuilder::_ZTV20QAbstractFormBuilder: 48u entries
@@ -6788,15 +4759,7 @@ Class QDesignerCustomWidgetCollectionInterface
QDesignerCustomWidgetCollectionInterface (0xb4876e88) 0 nearly-empty
vptr=((& QDesignerCustomWidgetCollectionInterface::_ZTV40QDesignerCustomWidgetCollectionInterface) + 8u)
-Class QMap<QString, QDesignerCustomWidgetInterface*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QDesignerCustomWidgetInterface*>::<anonymous union> (0xb488c4ec) 0
-Class QMap<QString, QDesignerCustomWidgetInterface*>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QDesignerCustomWidgetInterface*> (0xb488c474) 0
Vtable for QFormBuilder
QFormBuilder::_ZTV12QFormBuilder: 49u entries
@@ -6858,83 +4821,19 @@ QFormBuilder (0xb4853b40) 0
QAbstractFormBuilder (0xb488c384) 0
primary-for QFormBuilder (0xb4853b40)
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0xb46e39d8) 0
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0xb46f6f78) 0
-Class QVectorTypedData<QPoint>
- size=24 align=4
- base size=24 base align=4
-QVectorTypedData<QPoint> (0xb477aa14) 0
-Class QVectorTypedData<QPointF>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QPointF> (0xb458d528) 0
-Class QVectorTypedData<QPainterPath::Element>
- size=36 align=4
- base size=36 base align=4
-QVectorTypedData<QPainterPath::Element> (0xb45af000) 0
-Class QList<QDesignerWidgetBoxInterface::Widget>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QDesignerWidgetBoxInterface::Widget>::Node (0xb45bfc30) 0
-Class QTypeInfo<QDesignerWidgetBoxInterface::Widget>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDesignerWidgetBoxInterface::Widget> (0xb45bfe88) 0 empty
-Class QTypeInfo<QtConcurrent::ResultItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QtConcurrent::ResultItem> (0xb45ffb04) 0 empty
-Class QMap<int, QtConcurrent::ResultItem>::Node
- size=20 align=4
- base size=20 base align=4
-QMap<int, QtConcurrent::ResultItem>::Node (0xb45ffb7c) 0
-Class QMap<int, QtConcurrent::ResultItem>::PayloadNode
- size=16 align=4
- base size=16 base align=4
-QMap<int, QtConcurrent::ResultItem>::PayloadNode (0xb465812c) 0
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0xb4658258) 0
-Class QTypeInfo<QXmlAttributes::Attribute>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QXmlAttributes::Attribute> (0xb46584b0) 0 empty
-Class QList<QXmlAttributes::Attribute>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QXmlAttributes::Attribute>::Node (0xb4658528) 0
-Class QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union> (0xb46588ac) 0
-Class QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union> (0xb4658870) 0
-Class QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union> (0xb4497b40) 0
diff --git a/tests/auto/bic/data/QtGui.4.0.0.aix-gcc-power32.txt b/tests/auto/bic/data/QtGui.4.0.0.aix-gcc-power32.txt
index cf1ee16..9f86ee0 100644
--- a/tests/auto/bic/data/QtGui.4.0.0.aix-gcc-power32.txt
+++ b/tests/auto/bic/data/QtGui.4.0.0.aix-gcc-power32.txt
@@ -53,65 +53,20 @@ Class QBool
size=1 align=1
QBool (0x300b7280) 0
-Class QTypeInfo<bool>
- size=1 align=1
-QTypeInfo<bool> (0x300cd9c0) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
-QTypeInfo<char> (0x300cdf80) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
-QTypeInfo<signed char> (0x300d4540) 0 empty
-Class QTypeInfo<uchar>
- size=1 align=1
-QTypeInfo<uchar> (0x300d4b00) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
-QTypeInfo<short int> (0x300e00c0) 0 empty
-Class QTypeInfo<ushort>
- size=1 align=1
-QTypeInfo<ushort> (0x300e0680) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
-QTypeInfo<int> (0x300e0c40) 0 empty
-Class QTypeInfo<uint>
- size=1 align=1
-QTypeInfo<uint> (0x300eb200) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
-QTypeInfo<long int> (0x300eb7c0) 0 empty
-Class QTypeInfo<ulong>
- size=1 align=1
-QTypeInfo<ulong> (0x300ebd80) 0 empty
-Class QTypeInfo<qint64>
- size=1 align=1
-QTypeInfo<qint64> (0x300f8340) 0 empty
-Class QTypeInfo<quint64>
- size=1 align=1
-QTypeInfo<quint64> (0x300f8900) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
-QTypeInfo<float> (0x300f8ec0) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
-QTypeInfo<double> (0x30104480) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
-QTypeInfo<long double> (0x30104a40) 0 empty
Class QFlag
size=4 align=4
@@ -125,9 +80,6 @@ Class QChar
size=2 align=2
QChar (0x30148980) 0
-Class QTypeInfo<QChar>
- size=1 align=1
-QTypeInfo<QChar> (0x30185980) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -142,13 +94,7 @@ Class sigset_t
size=8 align=4
sigset_t (0x3026ad80) 0
-Class <anonymous struct>
- size=8 align=4
-<anonymous struct> (0x30271200) 0
-Class <anonymous struct>
- size=32 align=8
-<anonymous struct> (0x30271540) 0
Class fsid_t
size=8 align=4
@@ -158,21 +104,9 @@ Class fsid64_t
size=16 align=8
fsid64_t (0x30271c40) 0
-Class <anonymous struct>
- size=52 align=4
-<anonymous struct> (0x302780c0) 0
-Class <anonymous struct>
- size=44 align=4
-<anonymous struct> (0x30278440) 0
-Class <anonymous struct>
- size=112 align=4
-<anonymous struct> (0x302787c0) 0
-Class <anonymous struct>
- size=208 align=4
-<anonymous struct> (0x30278b40) 0
Class _quad
size=8 align=4
@@ -186,17 +120,11 @@ Class adspace_t
size=68 align=4
adspace_t (0x30281e00) 0
-Class <anonymous struct>
- size=24 align=8
-<anonymous struct> (0x302865c0) 0
Class label_t
size=100 align=4
label_t (0x30286d00) 0
-Class <anonymous struct>
- size=4 align=4
-<anonymous struct> (0x3028b780) 0
Class sigset
size=8 align=4
@@ -238,57 +166,18 @@ Class QByteRef
size=8 align=4
QByteRef (0x302b7540) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
-QTypeInfo<QByteArray> (0x30423740) 0 empty
-Class QFlags<Qt::MouseButton>
- size=4 align=4
-QFlags<Qt::MouseButton> (0x30431080) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
-QFlags<Qt::Orientation> (0x30431340) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
-QFlags<Qt::KeyboardModifier> (0x3042cc00) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
-QFlags<Qt::WindowType> (0x30442080) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
-QFlags<Qt::AlignmentFlag> (0x30431a00) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
-QFlags<Qt::ImageConversionFlag> (0x30448800) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
-QFlags<Qt::DockWidgetArea> (0x3046af00) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
-QFlags<Qt::ToolBarArea> (0x3046e200) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
-QFlags<Qt::WindowState> (0x304422c0) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
-QFlags<Qt::DropAction> (0x30474f80) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
-QFlags<Qt::ItemFlag> (0x30479700) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
-QFlags<Qt::MatchFlag> (0x30479a40) 0
Class QInternal
size=1 align=1
@@ -306,9 +195,6 @@ Class QString
size=4 align=4
QString (0x300a1f40) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
-QFlags<QString::SectionFlag> (0x303cf2c0) 0
Class QLatin1String
size=4 align=4
@@ -323,9 +209,6 @@ Class QConstString
QConstString (0x300b7640) 0
QString (0x300b7680) 0
-Class QTypeInfo<QString>
- size=1 align=1
-QTypeInfo<QString> (0x303901c0) 0 empty
Class QListData::Data
size=24 align=4
@@ -335,9 +218,6 @@ Class QListData
size=4 align=4
QListData (0x300732c0) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
-QFlags<QTextCodec::ConversionFlag> (0x302fb500) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -360,13 +240,7 @@ Class QTextCodec
QTextCodec (0x303bab80) 0 nearly-empty
vptr=((&QTextCodec::_ZTV10QTextCodec) + 8)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
-QList<QByteArray>::<anonymous union> (0x30120bc0) 0
-Class QList<QByteArray>
- size=4 align=4
-QList<QByteArray> (0x302cc980) 0
Class QTextEncoder
size=32 align=4
@@ -385,21 +259,12 @@ Class QGenericReturnArgument
QGenericReturnArgument (0x3036a6c0) 0
QGenericArgument (0x3036a700) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
-QMetaObject::<anonymous struct> (0x3009b300) 0
Class QMetaObject
size=16 align=4
QMetaObject (0x3058c900) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
-QList<QObject*>::<anonymous union> (0x30170600) 0
-Class QList<QObject*>
- size=4 align=4
-QList<QObject*> (0x30166f00) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4 entries
@@ -487,9 +352,6 @@ QIODevice (0x30365880) 0
QObject (0x301e4440) 0
primary-for QIODevice (0x30365880)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
-QFlags<QIODevice::OpenModeFlag> (0x301ebec0) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4 entries
@@ -507,38 +369,20 @@ Class QRegExp
size=4 align=4
QRegExp (0x303baa80) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
-QTypeInfo<QRegExp> (0x30148180) 0 empty
Class QStringMatcher
size=1036 align=4
QStringMatcher (0x3012d8c0) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
-QList<QString>::<anonymous union> (0x30104900) 0
-Class QList<QString>
- size=4 align=4
-QList<QString> (0x30104380) 0
Class QStringList
size=4 align=4
QStringList (0x303bab00) 0
QList<QString> (0x300c3280) 0
-Class QList<QString>::Node
- size=4 align=4
-QList<QString>::Node (0x301046c0) 0
-Class QList<QString>::iterator
- size=4 align=4
-QList<QString>::iterator (0x300eba00) 0
-Class QList<QString>::const_iterator
- size=4 align=4
-QList<QString>::const_iterator (0x300eb980) 0
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5 entries
@@ -664,9 +508,6 @@ Class QMapData
size=72 align=4
QMapData (0x304b4140) 0
-Class <anonymous struct>
- size=32 align=4
-<anonymous struct> (0x3052cd00) 0
Vtable for QTextStream
QTextStream::_ZTV11QTextStream: 4 entries
@@ -680,9 +521,6 @@ Class QTextStream
QTextStream (0x3050bbc0) 0
vptr=((&QTextStream::_ZTV11QTextStream) + 8)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
-QFlags<QTextStream::NumberFlag> (0x305082c0) 0
Class QTextStreamManipulator
size=24 align=4
@@ -767,41 +605,20 @@ QFile (0x3057c8c0) 0
QObject (0x3057c980) 0
primary-for QIODevice (0x3057c900)
-Class QFlags<QFile::Permission>
- size=4 align=4
-QFlags<QFile::Permission> (0x3058a380) 0
Class QFileInfo
size=4 align=4
QFileInfo (0x304b0580) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
-QFlags<QFileInfo::Permission> (0x304927c0) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
-QTypeInfo<QFileInfo> (0x30390480) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
-QList<QFileInfo>::<anonymous union> (0x301dfa40) 0
-Class QList<QFileInfo>
- size=4 align=4
-QList<QFileInfo> (0x301df900) 0
Class QDir
size=4 align=4
QDir (0x304b03c0) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
-QFlags<QDir::Filter> (0x30365600) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
-QFlags<QDir::SortFlag> (0x303ac7c0) 0
Vtable for QFileEngine
QFileEngine::_ZTV11QFileEngine: 35 entries
@@ -846,9 +663,6 @@ Class QFileEngine
QFileEngine (0x3057c7c0) 0
vptr=((&QFileEngine::_ZTV11QFileEngine) + 8)
-Class QFlags<QFileEngine::FileFlag>
- size=4 align=4
-QFlags<QFileEngine::FileFlag> (0x3031a080) 0
Vtable for QFileEngineHandler
QFileEngineHandler::_ZTV18QFileEngineHandler: 5 entries
@@ -910,73 +724,22 @@ Class QMetaType
size=1 align=1
QMetaType (0x30079000) 0 empty
-Class QMetaTypeId<QString>
- size=1 align=1
-QMetaTypeId<QString> (0x3011fb00) 0 empty
-Class QMetaTypeId<int>
- size=1 align=1
-QMetaTypeId<int> (0x3013d480) 0 empty
-Class QMetaTypeId<uint_t>
- size=1 align=1
-QMetaTypeId<uint_t> (0x30148440) 0 empty
-Class QMetaTypeId<bool>
- size=1 align=1
-QMetaTypeId<bool> (0x3015dfc0) 0 empty
-Class QMetaTypeId<double>
- size=1 align=1
-QMetaTypeId<double> (0x301937c0) 0 empty
-Class QMetaTypeId<QByteArray>
- size=1 align=1
-QMetaTypeId<QByteArray> (0x301a18c0) 0 empty
-Class QMetaTypeId<QChar>
- size=1 align=1
-QMetaTypeId<QChar> (0x301a5d00) 0 empty
-Class QMetaTypeId<void>
- size=1 align=1
-QMetaTypeId<void> (0x301ad500) 0 empty
-Class QMetaTypeId<long int>
- size=1 align=1
-QMetaTypeId<long int> (0x301add00) 0 empty
-Class QMetaTypeId<short int>
- size=1 align=1
-QMetaTypeId<short int> (0x301b22c0) 0 empty
-Class QMetaTypeId<char>
- size=1 align=1
-QMetaTypeId<char> (0x301b2b00) 0 empty
-Class QMetaTypeId<ulong_t>
- size=1 align=1
-QMetaTypeId<ulong_t> (0x301b6640) 0 empty
-Class QMetaTypeId<ushort_t>
- size=1 align=1
-QMetaTypeId<ushort_t> (0x301b6fc0) 0 empty
-Class QMetaTypeId<uchar_t>
- size=1 align=1
-QMetaTypeId<uchar_t> (0x301b9600) 0 empty
-Class QMetaTypeId<float>
- size=1 align=1
-QMetaTypeId<float> (0x301b9c00) 0 empty
-Class QMetaTypeId<QObject*>
- size=1 align=1
-QMetaTypeId<QObject*> (0x301c1740) 0 empty
-Class QMetaTypeId<QWidget*>
- size=1 align=1
-QMetaTypeId<QWidget*> (0x301d7f80) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -998,69 +761,24 @@ Class QVariant
size=16 align=8
QVariant (0x30166c00) 0
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
-QList<QVariant>::<anonymous union> (0x3057e500) 0
-Class QList<QVariant>
- size=4 align=4
-QList<QVariant> (0x302acd80) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
-QMap<QString, QVariant>::<anonymous union> (0x302ed8c0) 0
-Class QMap<QString, QVariant>
- size=4 align=4
-QMap<QString, QVariant> (0x302b7980) 0
Class QVariantComparisonHelper
size=4 align=4
QVariantComparisonHelper (0x30225880) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
-QTypeInfo<QVariant> (0x303e8900) 0 empty
-Class <anonymous struct>
- size=12 align=4
-<anonymous struct> (0x303dab00) 0
-Class <anonymous struct>
- size=44 align=4
-<anonymous struct> (0x303f70c0) 0
-Class <anonymous struct>
- size=76 align=4
-<anonymous struct> (0x303f7880) 0
-Class <anonymous struct>
- size=36 align=4
-<anonymous struct> (0x303fc640) 0
-Class <anonymous struct>
- size=56 align=4
-<anonymous struct> (0x303fcc40) 0
-Class <anonymous struct>
- size=36 align=4
-<anonymous struct> (0x30414340) 0
-Class <anonymous struct>
- size=28 align=4
-<anonymous struct> (0x30414f00) 0
-Class <anonymous struct>
- size=24 align=4
-<anonymous struct> (0x30486a40) 0
-Class <anonymous struct>
- size=28 align=4
-<anonymous struct> (0x30486d80) 0
-Class <anonymous struct>
- size=28 align=4
-<anonymous struct> (0x30492400) 0
Class lconv
size=56 align=4
@@ -1102,77 +820,41 @@ Class localeinfo_table
size=36 align=4
localeinfo_table (0x303d9cc0) 0
-Class <anonymous struct>
- size=108 align=4
-<anonymous struct> (0x304dc500) 0
Class _LC_charmap_objhdl
size=12 align=4
_LC_charmap_objhdl (0x304dcc80) 0
-Class <anonymous struct>
- size=92 align=4
-<anonymous struct> (0x30561040) 0
Class _LC_monetary_objhdl
size=12 align=4
_LC_monetary_objhdl (0x305614c0) 0
-Class <anonymous struct>
- size=48 align=4
-<anonymous struct> (0x30561800) 0
Class _LC_numeric_objhdl
size=12 align=4
_LC_numeric_objhdl (0x30561d00) 0
-Class <anonymous struct>
- size=56 align=4
-<anonymous struct> (0x30083180) 0
Class _LC_resp_objhdl
size=12 align=4
_LC_resp_objhdl (0x300838c0) 0
-Class <anonymous struct>
- size=248 align=4
-<anonymous struct> (0x30083c40) 0
Class _LC_time_objhdl
size=12 align=4
_LC_time_objhdl (0x3012c400) 0
-Class <anonymous struct>
- size=10 align=2
-<anonymous struct> (0x3012cc40) 0
-Class <anonymous struct>
- size=16 align=4
-<anonymous struct> (0x301df180) 0
-Class <anonymous struct>
- size=16 align=4
-<anonymous struct> (0x301df5c0) 0
-Class <anonymous struct>
- size=20 align=4
-<anonymous struct> (0x303acac0) 0
-Class <anonymous struct>
- size=104 align=4
-<anonymous struct> (0x30504a00) 0
Class _LC_collate_objhdl
size=12 align=4
_LC_collate_objhdl (0x301bfb80) 0
-Class <anonymous struct>
- size=8 align=4
-<anonymous struct> (0x301e8b00) 0
-Class <anonymous struct>
- size=80 align=4
-<anonymous struct> (0x305a0100) 0
Class _LC_ctype_objhdl
size=12 align=4
@@ -1186,17 +868,11 @@ Class _LC_locale_objhdl
size=12 align=4
_LC_locale_objhdl (0x303da600) 0
-Class _LC_object_handle::<anonymous union>
- size=12 align=4
-_LC_object_handle::<anonymous union> (0x305911c0) 0
Class _LC_object_handle
size=20 align=4
_LC_object_handle (0x30591080) 0
-Class <anonymous struct>
- size=24 align=4
-<anonymous struct> (0x3031ed80) 0
Vtable for QSettings
QSettings::_ZTV9QSettings: 14 entries
@@ -1271,13 +947,7 @@ Class QUrl
size=4 align=4
QUrl (0x302256c0) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
-QFlags<QUrl::FormattingOption> (0x306df180) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
-QTypeInfo<QUrl> (0x307c8900) 0 empty
Vtable for QEventLoop
QEventLoop::_ZTV10QEventLoop: 14 entries
@@ -1303,9 +973,6 @@ QEventLoop (0x30802000) 0
QObject (0x30802040) 0
primary-for QEventLoop (0x30802000)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0x30803740) 0
Vtable for QAbstractEventDispatcher
QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 27 entries
@@ -1348,17 +1015,11 @@ Class QModelIndex
size=16 align=4
QModelIndex (0x3049cc80) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
-QTypeInfo<QModelIndex> (0x304eb5c0) 0 empty
Class QPersistentModelIndex
size=4 align=4
QPersistentModelIndex (0x3049cb80) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
-QTypeInfo<QPersistentModelIndex> (0x3002e700) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42 entries
@@ -1524,9 +1185,6 @@ Class QBasicTimer
size=4 align=4
QBasicTimer (0x307fe180) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
-QTypeInfo<QBasicTimer> (0x30803300) 0 empty
Vtable for QEvent
QEvent::_ZTV6QEvent: 4 entries
@@ -1612,17 +1270,11 @@ Class QMetaMethod
size=8 align=4
QMetaMethod (0x30379340) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
-QTypeInfo<QMetaMethod> (0x30880740) 0 empty
Class QMetaEnum
size=8 align=4
QMetaEnum (0x303793c0) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
-QTypeInfo<QMetaEnum> (0x3088be80) 0 empty
Class QMetaProperty
size=20 align=4
@@ -1632,9 +1284,6 @@ Class QMetaClassInfo
size=8 align=4
QMetaClassInfo (0x30379540) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
-QTypeInfo<QMetaClassInfo> (0x308a3780) 0 empty
Vtable for QMimeData
QMimeData::_ZTV9QMimeData: 17 entries
@@ -1902,9 +1551,6 @@ Class QBitRef
size=8 align=4
QBitRef (0x305a6140) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
-QTypeInfo<QBitArray> (0x30864700) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -1922,65 +1568,41 @@ Class QHashDummyValue
size=1 align=1
QHashDummyValue (0x30893ec0) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
-QTypeInfo<QHashDummyValue> (0x30897f00) 0 empty
Class QDate
size=4 align=4
QDate (0x301eb4c0) 0
-Class QTypeInfo<QDate>
- size=1 align=1
-QTypeInfo<QDate> (0x300ebe80) 0 empty
Class QTime
size=4 align=4
QTime (0x301f1e80) 0
-Class QTypeInfo<QTime>
- size=1 align=1
-QTypeInfo<QTime> (0x30368c00) 0 empty
Class QDateTime
size=4 align=4
QDateTime (0x304b0440) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
-QTypeInfo<QDateTime> (0x304d4880) 0 empty
Class QPoint
size=8 align=4
QPoint (0x301f9d40) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
-QTypeInfo<QPoint> (0x307b9180) 0 empty
Class QPointF
size=16 align=8
QPointF (0x30200880) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
-QTypeInfo<QPointF> (0x307efcc0) 0 empty
Class QLine
size=16 align=4
QLine (0x301eb540) 0
-Class QTypeInfo<QLine>
- size=1 align=1
-QTypeInfo<QLine> (0x3098afc0) 0 empty
Class QLineF
size=32 align=8
QLineF (0x301eb600) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
-QTypeInfo<QLineF> (0x30a335c0) 0 empty
Class QLinkedListData
size=20 align=4
@@ -1990,41 +1612,26 @@ Class QLocale
size=4 align=4
QLocale (0x301eb800) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
-QTypeInfo<QLocale> (0x30822c80) 0 empty
Class QSize
size=8 align=4
QSize (0x30200a80) 0
-Class QTypeInfo<QSize>
- size=1 align=1
-QTypeInfo<QSize> (0x30864400) 0 empty
Class QSizeF
size=16 align=8
QSizeF (0x30209200) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
-QTypeInfo<QSizeF> (0x30a33a80) 0 empty
Class QRect
size=16 align=4
QRect (0x30213780) 0
-Class QTypeInfo<QRect>
- size=1 align=1
-QTypeInfo<QRect> (0x30aad700) 0 empty
Class QRectF
size=32 align=8
QRectF (0x302138c0) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
-QTypeInfo<QRectF> (0x30a1fdc0) 0 empty
Class QSharedData
size=4 align=4
@@ -2046,9 +1653,6 @@ Class QKeySequence
size=4 align=4
QKeySequence (0x305580c0) 0
-Class QTypeInfo<QKeySequence>
- size=1 align=1
-QTypeInfo<QKeySequence> (0x30ad4d00) 0 empty
Vtable for QMimeSource
QMimeSource::_ZTV11QMimeSource: 7 entries
@@ -2313,13 +1917,7 @@ Class QInputMethodEvent::Attribute
size=32 align=8
QInputMethodEvent::Attribute (0x307e7800) 0
-Class QList<QInputMethodEvent::Attribute>::<anonymous union>
- size=4 align=4
-QList<QInputMethodEvent::Attribute>::<anonymous union> (0x30a2d6c0) 0
-Class QList<QInputMethodEvent::Attribute>
- size=4 align=4
-QList<QInputMethodEvent::Attribute> (0x307e7ec0) 0
Vtable for QInputMethodEvent
QInputMethodEvent::_ZTV17QInputMethodEvent: 4 entries
@@ -2577,13 +2175,7 @@ Class QAccessible
size=1 align=1
QAccessible (0x30c2af00) 0 empty
-Class QFlags<QAccessible::StateFlag>
- size=4 align=4
-QFlags<QAccessible::StateFlag> (0x30c36000) 0
-Class QFlags<QAccessible::RelationFlag>
- size=4 align=4
-QFlags<QAccessible::RelationFlag> (0x30c3b540) 0
Vtable for QAccessibleInterface
QAccessibleInterface::_ZTV20QAccessibleInterface: 19 entries
@@ -2856,21 +2448,9 @@ Class QPaintDevice
QPaintDevice (0x30bc8900) 0
vptr=((&QPaintDevice::_ZTV12QPaintDevice) + 8)
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
-QColor::<anonymous union>::<anonymous struct> (0x30aadc40) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
-QColor::<anonymous union>::<anonymous struct> (0x30ab3280) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
-QColor::<anonymous union>::<anonymous struct> (0x30aba480) 0
-Class QColor::<anonymous union>
- size=10 align=2
-QColor::<anonymous union> (0x30aadb80) 0
Class QColor
size=16 align=4
@@ -2880,37 +2460,16 @@ Class QBrush
size=4 align=4
QBrush (0x305317c0) 0
-Class QTypeInfo<QBrush>
- size=1 align=1
-QTypeInfo<QBrush> (0x30b2f040) 0 empty
Class QBrushData
size=24 align=4
QBrushData (0x30a77a00) 0
-Class QVector<QGradientStop>::<anonymous union>
- size=4 align=4
-QVector<QGradientStop>::<anonymous union> (0x30a61380) 0
-Class QVector<QGradientStop>
- size=4 align=4
-QVector<QGradientStop> (0x30bb0140) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=32 align=8
-QGradient::<anonymous union>::<anonymous struct> (0x309db5c0) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=40 align=8
-QGradient::<anonymous union>::<anonymous struct> (0x309dba40) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=24 align=8
-QGradient::<anonymous union>::<anonymous struct> (0x309dbec0) 0
-Class QGradient::<anonymous union>
- size=40 align=8
-QGradient::<anonymous union> (0x309db500) 0
Class QGradient
size=64 align=8
@@ -3535,9 +3094,6 @@ QFileDialog (0x30d9d000) 0
QPaintDevice (0x30d9d0c0) 8
vptr=((&QFileDialog::_ZTV11QFileDialog) + 244)
-Class QFlags<QFileDialog::Option>
- size=4 align=4
-QFlags<QFileDialog::Option> (0x30dcd640) 0
Vtable for QFontDialog
QFontDialog::_ZTV11QFontDialog: 66 entries
@@ -4220,9 +3776,6 @@ QImage (0x305472c0) 0
QPaintDevice (0x30c41b80) 0
primary-for QImage (0x305472c0)
-Class QTypeInfo<QImage>
- size=1 align=1
-QTypeInfo<QImage> (0x30e4a500) 0 empty
Vtable for QPixmap
QPixmap::_ZTV7QPixmap: 7 entries
@@ -4264,9 +3817,6 @@ Class QIcon
size=4 align=4
QIcon (0x30536cc0) 0
-Class QTypeInfo<QIcon>
- size=1 align=1
-QTypeInfo<QIcon> (0x30eb0980) 0 empty
Vtable for QIconEngine
QIconEngine::_ZTV11QIconEngine: 9 entries
@@ -4580,13 +4130,7 @@ QActionGroup (0x30fdb180) 0
QObject (0x31016480) 0
primary-for QActionGroup (0x30fdb180)
-Class QList<QAction*>::<anonymous union>
- size=4 align=4
-QList<QAction*>::<anonymous union> (0x30ec74c0) 0
-Class QList<QAction*>
- size=4 align=4
-QList<QAction*> (0x30c8c300) 0
Vtable for QInputContext
QInputContext::_ZTV13QInputContext: 26 entries
@@ -4883,9 +4427,6 @@ QAbstractSpinBox (0x30c2a3c0) 0
QPaintDevice (0x30c2a5c0) 8
vptr=((&QAbstractSpinBox::_ZTV16QAbstractSpinBox) + 252)
-Class QFlags<QAbstractSpinBox::StepEnabledFlag>
- size=4 align=4
-QFlags<QAbstractSpinBox::StepEnabledFlag> (0x309e1bc0) 0
Vtable for QAbstractSlider
QAbstractSlider::_ZTV15QAbstractSlider: 64 entries
@@ -5090,13 +4631,7 @@ QStyle (0x30ccda80) 0
QObject (0x30ced6c0) 0
primary-for QStyle (0x30ccda80)
-Class QFlags<QStyle::StateFlag>
- size=4 align=4
-QFlags<QStyle::StateFlag> (0x30cf8a80) 0
-Class QFlags<QStyle::SubControl>
- size=4 align=4
-QFlags<QStyle::SubControl> (0x30d2f2c0) 0
Vtable for QTabBar
QTabBar::_ZTV7QTabBar: 67 entries
@@ -5364,18 +4899,12 @@ Class QStyleOptionHeader
QStyleOptionHeader (0x310ccb00) 0
QStyleOption (0x310ccb40) 0
-Class QFlags<QStyleOptionButton::ButtonFeature>
- size=4 align=4
-QFlags<QStyleOptionButton::ButtonFeature> (0x310e9400) 0
Class QStyleOptionButton
size=64 align=4
QStyleOptionButton (0x310e8580) 0
QStyleOption (0x310e85c0) 0
-Class QFlags<QStyleOptionTab::CornerWidget>
- size=4 align=4
-QFlags<QStyleOptionTab::CornerWidget> (0x31149980) 0
Class QStyleOptionTab
size=72 align=4
@@ -5392,9 +4921,6 @@ Class QStyleOptionMenuItem
QStyleOptionMenuItem (0x30f8d740) 0
QStyleOption (0x30f8d780) 0
-Class QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature>
- size=4 align=4
-QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature> (0x30f29880) 0
Class QStyleOptionQ3ListViewItem
size=64 align=4
@@ -5443,13 +4969,7 @@ QStyleOptionSpinBox (0x307d5680) 0
QStyleOptionComplex (0x307d56c0) 0
QStyleOption (0x307d57c0) 0
-Class QList<QStyleOptionQ3ListViewItem>::<anonymous union>
- size=4 align=4
-QList<QStyleOptionQ3ListViewItem>::<anonymous union> (0x307e76c0) 0
-Class QList<QStyleOptionQ3ListViewItem>
- size=4 align=4
-QList<QStyleOptionQ3ListViewItem> (0x307e7580) 0
Class QStyleOptionQ3ListView
size=84 align=4
@@ -5457,9 +4977,6 @@ QStyleOptionQ3ListView (0x309d9180) 0
QStyleOptionComplex (0x309d91c0) 0
QStyleOption (0x309d9380) 0
-Class QFlags<QStyleOptionToolButton::ToolButtonFeature>
- size=4 align=4
-QFlags<QStyleOptionToolButton::ToolButtonFeature> (0x30b6fec0) 0
Class QStyleOptionToolButton
size=96 align=4
@@ -5604,9 +5121,6 @@ Class QItemSelectionRange
size=8 align=4
QItemSelectionRange (0x310faec0) 0
-Class QTypeInfo<QItemSelectionRange>
- size=1 align=1
-QTypeInfo<QItemSelectionRange> (0x3116aa80) 0 empty
Vtable for QItemSelectionModel
QItemSelectionModel::_ZTV19QItemSelectionModel: 18 entries
@@ -5636,26 +5150,14 @@ QItemSelectionModel (0x311834c0) 0
QObject (0x31183500) 0
primary-for QItemSelectionModel (0x311834c0)
-Class QFlags<QItemSelectionModel::SelectionFlag>
- size=4 align=4
-QFlags<QItemSelectionModel::SelectionFlag> (0x31187d80) 0
-Class QList<QItemSelectionRange>::<anonymous union>
- size=4 align=4
-QList<QItemSelectionRange>::<anonymous union> (0x3112d340) 0
-Class QList<QItemSelectionRange>
- size=4 align=4
-QList<QItemSelectionRange> (0x3112d200) 0
Class QItemSelection
size=4 align=4
QItemSelection (0x30d9ad80) 0
QList<QItemSelectionRange> (0x31174fc0) 0
-Class QList<QItemSelectionRange>::Node
- size=4 align=4
-QList<QItemSelectionRange>::Node (0x3112d300) 0
Vtable for QAbstractItemView
QAbstractItemView::_ZTV17QAbstractItemView: 103 entries
@@ -5778,9 +5280,6 @@ QAbstractItemView (0x311e8dc0) 0
QPaintDevice (0x311e8ec0) 8
vptr=((&QAbstractItemView::_ZTV17QAbstractItemView) + 392)
-Class QFlags<QAbstractItemView::EditTrigger>
- size=4 align=4
-QFlags<QAbstractItemView::EditTrigger> (0x311f7440) 0
Vtable for QFileIconProvider
QFileIconProvider::_ZTV17QFileIconProvider: 7 entries
@@ -6027,13 +5526,7 @@ Class QItemEditorCreatorBase
QItemEditorCreatorBase (0x3115d940) 0 nearly-empty
vptr=((&QItemEditorCreatorBase::_ZTV22QItemEditorCreatorBase) + 8)
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union>
- size=4 align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union> (0x31149a40) 0
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>
- size=4 align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*> (0x31149540) 0
Vtable for QItemEditorFactory
QItemEditorFactory::_ZTV18QItemEditorFactory: 6 entries
@@ -6049,9 +5542,6 @@ Class QItemEditorFactory
QItemEditorFactory (0x3116f1c0) 0
vptr=((&QItemEditorFactory::_ZTV18QItemEditorFactory) + 8)
-Class QHashNode<QVariant::Type, QItemEditorCreatorBase*>
- size=16 align=4
-QHashNode<QVariant::Type, QItemEditorCreatorBase*> (0x31149680) 0
Vtable for QListView
QListView::_ZTV9QListView: 103 entries
@@ -6176,13 +5666,7 @@ QListView (0x310cc3c0) 0
QPaintDevice (0x310cc500) 8
vptr=((&QListView::_ZTV9QListView) + 392)
-Class QVector<QWidgetItemData>::<anonymous union>
- size=4 align=4
-QVector<QWidgetItemData>::<anonymous union> (0x3107ee40) 0
-Class QVector<QWidgetItemData>
- size=4 align=4
-QVector<QWidgetItemData> (0x3107ec40) 0
Vtable for QListWidgetItem
QListWidgetItem::_ZTV15QListWidgetItem: 11 entries
@@ -6896,21 +6380,9 @@ QTreeView (0x30ea3980) 0
QPaintDevice (0x30ea3ac0) 8
vptr=((&QTreeView::_ZTV9QTreeView) + 400)
-Class QVector<QVector<QWidgetItemData> >::<anonymous union>
- size=4 align=4
-QVector<QVector<QWidgetItemData> >::<anonymous union> (0x30f5cd00) 0
-Class QVector<QVector<QWidgetItemData> >
- size=4 align=4
-QVector<QVector<QWidgetItemData> > (0x30f5c9c0) 0
-Class QList<QTreeWidgetItem*>::<anonymous union>
- size=4 align=4
-QList<QTreeWidgetItem*>::<anonymous union> (0x30f7ab40) 0
-Class QList<QTreeWidgetItem*>
- size=4 align=4
-QList<QTreeWidgetItem*> (0x30f7aa00) 0
Vtable for QTreeWidgetItem
QTreeWidgetItem::_ZTV15QTreeWidgetItem: 10 entries
@@ -6930,17 +6402,8 @@ Class QTreeWidgetItem
QTreeWidgetItem (0x30f51340) 0
vptr=((&QTreeWidgetItem::_ZTV15QTreeWidgetItem) + 8)
-Class QList<QTreeWidgetItem*>::Node
- size=4 align=4
-QList<QTreeWidgetItem*>::Node (0x30f7ab00) 0
-Class QVectorTypedData<QVector<QWidgetItemData> >
- size=20 align=4
-QVectorTypedData<QVector<QWidgetItemData> > (0x30f5cb00) 0
-Class QTypeInfo<QTreeWidgetItem*>
- size=1 align=1
-QTypeInfo<QTreeWidgetItem*> (0x3124bd80) 0 empty
Vtable for QTreeWidget
QTreeWidget::_ZTV11QTreeWidget: 109 entries
@@ -7749,135 +7212,60 @@ Class QColormap
size=4 align=4
QColormap (0x30a74040) 0
-Class QVector<QPoint>::<anonymous union>
- size=4 align=4
-QVector<QPoint>::<anonymous union> (0x30eb0200) 0
-Class QVector<QPoint>
- size=4 align=4
-QVector<QPoint> (0x30eb0000) 0
Class QPolygon
size=4 align=4
QPolygon (0x30547bc0) 0
QVector<QPoint> (0x30e7f4c0) 0
-Class QVectorTypedData<QPoint>
- size=24 align=4
-QVectorTypedData<QPoint> (0x30eb0140) 0
-Class QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union>
- size=4 align=4
-QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union> (0x304e6340) 0
-Class QVector<QPointF>::<anonymous union>
- size=4 align=4
-QVector<QPointF>::<anonymous union> (0x3109d580) 0
-Class QVector<QPointF>
- size=4 align=4
-QVector<QPointF> (0x3109d340) 0
Class QPolygonF
size=4 align=4
QPolygonF (0x3109d300) 0
QVector<QPointF> (0x310a2880) 0
-Class QVectorTypedData<QPointF>
- size=32 align=8
-QVectorTypedData<QPointF> (0x3109d4c0) 0
-Class QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union>
- size=4 align=4
-QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union> (0x313a6040) 0
Class QMatrix
size=48 align=8
QMatrix (0x307ef840) 0
-Class QTypeInfo<QMatrix>
- size=1 align=1
-QTypeInfo<QMatrix> (0x314635c0) 0 empty
Class QTextOption
size=24 align=4
QTextOption (0x3147a800) 0
-Class QFlags<QTextOption::Flag>
- size=4 align=4
-QFlags<QTextOption::Flag> (0x31481040) 0
Class QPen
size=4 align=4
QPen (0x30558c80) 0
-Class QTypeInfo<QPen>
- size=1 align=1
-QTypeInfo<QPen> (0x314ae9c0) 0 empty
Class QPainter
size=4 align=4
QPainter (0x30bc8a00) 0
-Class QVector<QLineF>::<anonymous union>
- size=4 align=4
-QVector<QLineF>::<anonymous union> (0x3156ea00) 0
-Class QVector<QLineF>
- size=4 align=4
-QVector<QLineF> (0x314c5c40) 0
-Class QVectorTypedData<QLineF>
- size=48 align=8
-QVectorTypedData<QLineF> (0x3156e940) 0
-Class QVector<QLine>::<anonymous union>
- size=4 align=4
-QVector<QLine>::<anonymous union> (0x3159d480) 0
-Class QVector<QLine>
- size=4 align=4
-QVector<QLine> (0x314c5e00) 0
-Class QVectorTypedData<QLine>
- size=32 align=4
-QVectorTypedData<QLine> (0x3159d3c0) 0
-Class QVector<QRectF>::<anonymous union>
- size=4 align=4
-QVector<QRectF>::<anonymous union> (0x315e3080) 0
-Class QVector<QRectF>
- size=4 align=4
-QVector<QRectF> (0x314cf100) 0
-Class QVectorTypedData<QRectF>
- size=48 align=8
-QVectorTypedData<QRectF> (0x315dbfc0) 0
-Class QVector<QRect>::<anonymous union>
- size=4 align=4
-QVector<QRect>::<anonymous union> (0x3160ba00) 0
-Class QVector<QRect>
- size=4 align=4
-QVector<QRect> (0x30bd1b40) 0
-Class QVectorTypedData<QRect>
- size=32 align=4
-QVectorTypedData<QRect> (0x3160b940) 0
Class QTextItem
size=1 align=1
QTextItem (0x314b5840) 0 empty
-Class QTypeInfo<QTextItem>
- size=1 align=1
-QTypeInfo<QTextItem> (0x31124bc0) 0 empty
-Class QFlags<QPaintEngine::PaintEngineFeature>
- size=4 align=4
-QFlags<QPaintEngine::PaintEngineFeature> (0x3111c2c0) 0
Vtable for QPaintEngine
QPaintEngine::_ZTV12QPaintEngine: 24 entries
@@ -7911,9 +7299,6 @@ Class QPaintEngine
QPaintEngine (0x3097e900) 0
vptr=((&QPaintEngine::_ZTV12QPaintEngine) + 8)
-Class QFlags<QPaintEngine::DirtyFlag>
- size=4 align=4
-QFlags<QPaintEngine::DirtyFlag> (0x3111c900) 0
Class QPaintEngineState
size=4 align=4
@@ -7927,29 +7312,17 @@ Class QPainterPath
size=4 align=4
QPainterPath (0x30d0fd40) 0
-Class QVector<QPainterPath::Element>::<anonymous union>
- size=4 align=4
-QVector<QPainterPath::Element>::<anonymous union> (0x30d74080) 0
-Class QVector<QPainterPath::Element>
- size=4 align=4
-QVector<QPainterPath::Element> (0x30d71d80) 0
Class QPainterPathPrivate
size=8 align=4
QPainterPathPrivate (0x3082d680) 0
-Class QTypeInfo<QPainterPath::Element>
- size=1 align=1
-QTypeInfo<QPainterPath::Element> (0x30d7fe40) 0 empty
Class QPainterPathStroker
size=4 align=4
QPainterPathStroker (0x308cea40) 0
-Class QVectorTypedData<QPainterPath::Element>
- size=40 align=8
-QVectorTypedData<QPainterPath::Element> (0x30d71ec0) 0
Vtable for QPrinter
QPrinter::_ZTV8QPrinter: 7 entries
@@ -8038,9 +7411,6 @@ QCommonStyle (0x31225280) 0
QObject (0x31225480) 0
primary-for QStyle (0x31225440)
-Class QPointer<QFocusFrame>
- size=4 align=4
-QPointer<QFocusFrame> (0x31430ec0) 0
Vtable for QMotifStyle
QMotifStyle::_ZTV11QMotifStyle: 35 entries
@@ -8353,21 +7723,12 @@ Class QTextLength
size=12 align=4
QTextLength (0x30225540) 0
-Class QSharedDataPointer<QTextFormatPrivate>
- size=4 align=4
-QSharedDataPointer<QTextFormatPrivate> (0x315b50c0) 0
Class QTextFormat
size=8 align=4
QTextFormat (0x30213a00) 0
-Class QVector<QTextLength>::<anonymous union>
- size=4 align=4
-QVector<QTextLength>::<anonymous union> (0x3166cdc0) 0
-Class QVector<QTextLength>
- size=4 align=4
-QVector<QTextLength> (0x315983c0) 0
Class QTextCharFormat
size=8 align=4
@@ -8413,13 +7774,7 @@ Class QTextLayout
size=4 align=4
QTextLayout (0x30d0fa40) 0
-Class QVector<QTextLayout::FormatRange>::<anonymous union>
- size=4 align=4
-QVector<QTextLayout::FormatRange>::<anonymous union> (0x317bab80) 0
-Class QVector<QTextLayout::FormatRange>
- size=4 align=4
-QVector<QTextLayout::FormatRange> (0x317ba100) 0
Class QTextLine
size=8 align=4
@@ -8466,13 +7821,7 @@ QTextDocument (0x315517c0) 0
QObject (0x3160b200) 0
primary-for QTextDocument (0x315517c0)
-Class QFlags<QTextDocument::FindFlag>
- size=4 align=4
-QFlags<QTextDocument::FindFlag> (0x31603940) 0
-Class QSharedDataPointer<QTextCursorPrivate>
- size=4 align=4
-QSharedDataPointer<QTextCursorPrivate> (0x315c7340) 0
Class QTextCursor
size=4 align=4
@@ -8482,13 +7831,7 @@ Class QAbstractTextDocumentLayout::Selection
size=12 align=4
QAbstractTextDocumentLayout::Selection (0x315bccc0) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union>
- size=4 align=4
-QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union> (0x315b8780) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>
- size=4 align=4
-QVector<QAbstractTextDocumentLayout::Selection> (0x315b8580) 0
Class QAbstractTextDocumentLayout::PaintContext
size=56 align=8
@@ -8645,9 +7988,6 @@ QTextFrame (0x3162a4c0) 0
QObject (0x314d8840) 0
primary-for QTextObject (0x314d8800)
-Class QTypeInfo<QTextFrame::iterator>
- size=1 align=1
-QTypeInfo<QTextFrame::iterator> (0x31391400) 0 empty
Class QTextBlock::iterator
size=16 align=4
@@ -8657,21 +7997,12 @@ Class QTextBlock
size=8 align=4
QTextBlock (0x317add40) 0
-Class QTypeInfo<QTextBlock>
- size=1 align=1
-QTypeInfo<QTextBlock> (0x313e3cc0) 0 empty
-Class QTypeInfo<QTextBlock::iterator>
- size=1 align=1
-QTypeInfo<QTextBlock::iterator> (0x312bd340) 0 empty
Class QTextFragment
size=12 align=4
QTextFragment (0x315250c0) 0
-Class QTypeInfo<QTextFragment>
- size=1 align=1
-QTypeInfo<QTextFragment> (0x31260200) 0 empty
Vtable for QTextList
QTextList::_ZTV9QTextList: 17 entries
@@ -9263,9 +8594,6 @@ QDateEdit (0x310f8700) 0
QPaintDevice (0x310f8800) 8
vptr=((&QDateEdit::_ZTV9QDateEdit) + 260)
-Class QFlags<QDateTimeEdit::Section>
- size=4 align=4
-QFlags<QDateTimeEdit::Section> (0x3107e480) 0
Vtable for QDial
QDial::_ZTV5QDial: 64 entries
@@ -9424,9 +8752,6 @@ QDockWidget (0x316cac40) 0
QPaintDevice (0x316cacc0) 8
vptr=((&QDockWidget::_ZTV11QDockWidget) + 232)
-Class QFlags<QDockWidget::DockWidgetFeature>
- size=4 align=4
-QFlags<QDockWidget::DockWidgetFeature> (0x316ef780) 0
Vtable for QFocusFrame
QFocusFrame::_ZTV11QFocusFrame: 63 entries
@@ -11541,63 +10866,18 @@ QWorkspace (0x319218c0) 0
QPaintDevice (0x3192f2c0) 8
vptr=((&QWorkspace::_ZTV10QWorkspace) + 232)
-Class QList<QByteArray>::Node
- size=4 align=4
-QList<QByteArray>::Node (0x30120ac0) 0
-Class QList<QFileInfo>::Node
- size=4 align=4
-QList<QFileInfo>::Node (0x301dfa00) 0
-Class QList<QVariant>::Node
- size=4 align=4
-QList<QVariant>::Node (0x3057e4c0) 0
-Class QTypeInfo<QAction*>
- size=1 align=1
-QTypeInfo<QAction*> (0x31ae9700) 0 empty
-Class QList<QAction*>::Node
- size=4 align=4
-QList<QAction*>::Node (0x30ec7480) 0
-Class QTypeInfo<QStyleOptionQ3ListViewItem>
- size=1 align=1
-QTypeInfo<QStyleOptionQ3ListViewItem> (0x31b48f40) 0 empty
-Class QList<QStyleOptionQ3ListViewItem>::Node
- size=4 align=4
-QList<QStyleOptionQ3ListViewItem>::Node (0x307e7680) 0
-Class QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union>
- size=4 align=4
-QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union> (0x31bd1f40) 0
-Class QVectorTypedData<QTextLength>
- size=28 align=4
-QVectorTypedData<QTextLength> (0x3166cd00) 0
-Class QTypeInfo<QTextLength>
- size=1 align=1
-QTypeInfo<QTextLength> (0x31c13cc0) 0 empty
-Class QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union>
- size=4 align=4
-QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union> (0x31c36840) 0
-Class QVectorTypedData<QTextLayout::FormatRange>
- size=32 align=4
-QVectorTypedData<QTextLayout::FormatRange> (0x317baac0) 0
-Class QTypeInfo<QTextLayout::FormatRange>
- size=1 align=1
-QTypeInfo<QTextLayout::FormatRange> (0x31c8b380) 0 empty
-Class QVectorTypedData<QAbstractTextDocumentLayout::Selection>
- size=28 align=4
-QVectorTypedData<QAbstractTextDocumentLayout::Selection> (0x315b86c0) 0
-Class QTypeInfo<QAbstractTextDocumentLayout::Selection>
- size=1 align=1
-QTypeInfo<QAbstractTextDocumentLayout::Selection> (0x31cc9c00) 0 empty
diff --git a/tests/auto/bic/data/QtGui.4.0.0.linux-gcc-amd64.txt b/tests/auto/bic/data/QtGui.4.0.0.linux-gcc-amd64.txt
index b5a0460..9f17bd7 100644
--- a/tests/auto/bic/data/QtGui.4.0.0.linux-gcc-amd64.txt
+++ b/tests/auto/bic/data/QtGui.4.0.0.linux-gcc-amd64.txt
@@ -59,145 +59,37 @@ Class QBool
base size=1 base align=1
QBool (0x2aaaac2975b0) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0x2aaaad2f34d0) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0x2aaaad2f3770) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0x2aaaad2f3a10) 0 empty
-Class QTypeInfo<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned char> (0x2aaaad2f3cb0) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0x2aaaad2f3f50) 0 empty
-Class QTypeInfo<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short unsigned int> (0x2aaaad304230) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0x2aaaad3044d0) 0 empty
-Class QTypeInfo<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned int> (0x2aaaad304770) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0x2aaaad304a10) 0 empty
-Class QTypeInfo<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long unsigned int> (0x2aaaad304cb0) 0 empty
-Class QTypeInfo<long long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long int> (0x2aaaad304f50) 0 empty
-Class QTypeInfo<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long unsigned int> (0x2aaaad318230) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0x2aaaad3184d0) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0x2aaaad318770) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0x2aaaad318a10) 0 empty
Class QFlag
size=4 align=4
base size=4 base align=4
QFlag (0x2aaaad318c40) 0
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0x2aaaad345d20) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0x2aaaad3c4150) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0x2aaaad3c4540) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0x2aaaad3c4930) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0x2aaaad3c4d20) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0x2aaaad408150) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0x2aaaad408540) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0x2aaaad408930) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0x2aaaad408d20) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0x2aaaad452150) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0x2aaaad452540) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0x2aaaad452930) 0
Class QInternal
size=1 align=1
@@ -215,10 +107,6 @@ Class QGenericReturnArgument
QGenericReturnArgument (0x2aaaad494380) 0
QGenericArgument (0x2aaaad4943f0) 0
-Class QMetaObject::<anonymous struct>
- size=32 align=8
- base size=32 base align=8
-QMetaObject::<anonymous struct> (0x2aaaad494c40) 0
Class QMetaObject
size=32 align=8
@@ -235,10 +123,6 @@ Class QChar
base size=2 base align=2
QChar (0x2aaaad4c78c0) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0x2aaaad502930) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -271,10 +155,6 @@ Class QByteRef
base size=12 base align=8
QByteRef (0x2aaaad621f50) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0x2aaaad6cb000) 0 empty
Class QString::Null
size=1 align=1
@@ -291,10 +171,6 @@ Class QString
base size=8 base align=8
QString (0x2aaaad6cb310) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0x2aaaad6cbb60) 0
Class QLatin1String
size=8 align=8
@@ -312,10 +188,6 @@ Class QConstString
QConstString (0x2aaaad973e00) 0
QString (0x2aaaad973e70) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0x2aaaad98d3f0) 0 empty
Class QListData::Data
size=32 align=8
@@ -327,15 +199,7 @@ Class QListData
base size=8 base align=8
QListData (0x2aaaad9d1310) 0
-Class QList<QObject*>::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QList<QObject*>::<anonymous union> (0x2aaaadaf2230) 0
-Class QList<QObject*>
- size=8 align=8
- base size=8 base align=8
-QList<QObject*> (0x2aaaadaf20e0) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -427,10 +291,6 @@ QIODevice (0x2aaaadb5b690) 0
QObject (0x2aaaadb5b700) 0
primary-for QIODevice (0x2aaaadb5b690)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0x2aaaadb8f230) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -455,10 +315,6 @@ Class QMapData
base size=128 base align=8
QMapData (0x2aaaadc00e00) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0x2aaaadd0ed20) 0
Class QTextCodec::ConverterState
size=32 align=8
@@ -483,15 +339,7 @@ Class QTextCodec
QTextCodec (0x2aaaadd0ea80) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 16u)
-Class QList<QByteArray>::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QList<QByteArray>::<anonymous union> (0x2aaaadd55620) 0
-Class QList<QByteArray>
- size=8 align=8
- base size=8 base align=8
-QList<QByteArray> (0x2aaaadd554d0) 0
Class QTextEncoder
size=40 align=8
@@ -503,30 +351,10 @@ Class QTextDecoder
base size=40 base align=8
QTextDecoder (0x2aaaadd93380) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x2aaaadd937e0) 0
-Class <anonymous struct>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct>::<anonymous union> (0x2aaaadd939a0) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x2aaaadd938c0) 0
-Class <anonymous struct>
- size=16 align=8
- base size=16 base align=8
-<anonymous struct> (0x2aaaadd93a80) 0
-Class <anonymous struct>
- size=16 align=8
- base size=16 base align=8
-<anonymous struct> (0x2aaaadd93b60) 0
Class __gconv_trans_data
size=40 align=8
@@ -548,15 +376,7 @@ Class __gconv_info
base size=16 base align=8
__gconv_info (0x2aaaadd93e70) 0
-Class <anonymous union>::<anonymous struct>
- size=72 align=8
- base size=72 base align=8
-<anonymous union>::<anonymous struct> (0x2aaaaddb0070) 0
-Class <anonymous union>
- size=72 align=8
- base size=72 base align=8
-<anonymous union> (0x2aaaadd93f50) 0
Class _IO_marker
size=24 align=8
@@ -568,10 +388,6 @@ Class _IO_FILE
base size=216 base align=8
_IO_FILE (0x2aaaaddb0150) 0
-Class <anonymous struct>
- size=32 align=8
- base size=32 base align=8
-<anonymous struct> (0x2aaaaddb0230) 0
Vtable for QTextStream
QTextStream::_ZTV11QTextStream: 4u entries
@@ -586,10 +402,6 @@ Class QTextStream
QTextStream (0x2aaaaddb02a0) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 16u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0x2aaaade14540) 0
Class QTextStreamManipulator
size=40 align=8
@@ -680,10 +492,6 @@ QFile (0x2aaaadee7000) 0
QObject (0x2aaaadee70e0) 0
primary-for QIODevice (0x2aaaadee7070)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0x2aaaadee7ee0) 0
Vtable for QTemporaryFile
QTemporaryFile::_ZTV14QTemporaryFile: 31u entries
@@ -736,25 +544,13 @@ Class QRegExp
base size=8 base align=8
QRegExp (0x2aaaadf38cb0) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0x2aaaadf6baf0) 0 empty
Class QStringMatcher
size=1048 align=8
base size=1044 base align=8
QStringMatcher (0x2aaaadf6bd20) 0
-Class QList<QString>::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QList<QString>::<anonymous union> (0x2aaaadf86310) 0
-Class QList<QString>
- size=8 align=8
- base size=8 base align=8
-QList<QString> (0x2aaaadf861c0) 0
Class QStringList
size=8 align=8
@@ -762,15 +558,7 @@ Class QStringList
QStringList (0x2aaaadf86460) 0
QList<QString> (0x2aaaadf864d0) 0
-Class QList<QString>::iterator
- size=8 align=8
- base size=8 base align=8
-QList<QString>::iterator (0x2aaaadfd4310) 0
-Class QList<QString>::const_iterator
- size=8 align=8
- base size=8 base align=8
-QList<QString>::const_iterator (0x2aaaadfd4690) 0
Vtable for QProcess
QProcess::_ZTV8QProcess: 31u entries
@@ -864,145 +652,45 @@ Class QFileInfo
base size=8 base align=8
QFileInfo (0x2aaaae05d000) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0x2aaaae05da80) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0x2aaaae05dee0) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QList<QFileInfo>::<anonymous union> (0x2aaaae09c690) 0
-Class QList<QFileInfo>
- size=8 align=8
- base size=8 base align=8
-QList<QFileInfo> (0x2aaaae09c540) 0
Class QDir
size=8 align=8
base size=8 base align=8
QDir (0x2aaaae09c7e0) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0x2aaaae09ca80) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0x2aaaae09ccb0) 0
Class QUrl
size=8 align=8
base size=8 base align=8
QUrl (0x2aaaae13d9a0) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0x2aaaae13dcb0) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0x2aaaae19dee0) 0 empty
Class QMetaType
size=1 align=1
base size=0 base align=1
QMetaType (0x2aaaae1b9540) 0 empty
-Class QMetaTypeId<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QString> (0x2aaaae1b9c40) 0 empty
-Class QMetaTypeId<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<int> (0x2aaaae1b9e00) 0 empty
-Class QMetaTypeId<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<unsigned int> (0x2aaaae1da000) 0 empty
-Class QMetaTypeId<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<bool> (0x2aaaae1da1c0) 0 empty
-Class QMetaTypeId<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<double> (0x2aaaae1da380) 0 empty
-Class QMetaTypeId<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QByteArray> (0x2aaaae1da540) 0 empty
-Class QMetaTypeId<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QChar> (0x2aaaae1da700) 0 empty
-Class QMetaTypeId<void>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<void> (0x2aaaae1da8c0) 0 empty
-Class QMetaTypeId<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<long int> (0x2aaaae1daa80) 0 empty
-Class QMetaTypeId<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<short int> (0x2aaaae1dac40) 0 empty
-Class QMetaTypeId<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<char> (0x2aaaae1dae00) 0 empty
-Class QMetaTypeId<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<long unsigned int> (0x2aaaae1e5000) 0 empty
-Class QMetaTypeId<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<short unsigned int> (0x2aaaae1e51c0) 0 empty
-Class QMetaTypeId<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<unsigned char> (0x2aaaae1e5380) 0 empty
-Class QMetaTypeId<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<float> (0x2aaaae1e5540) 0 empty
-Class QMetaTypeId<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QObject*> (0x2aaaae1e5700) 0 empty
-Class QMetaTypeId<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QWidget*> (0x2aaaae1e58c0) 0 empty
Class QVariant::PrivateShared
size=16 align=8
@@ -1029,35 +717,15 @@ Class QVariant
base size=16 base align=8
QVariant (0x2aaaae1e5a10) 0
-Class QList<QVariant>::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QList<QVariant>::<anonymous union> (0x2aaaae278bd0) 0
-Class QList<QVariant>
- size=8 align=8
- base size=8 base align=8
-QList<QVariant> (0x2aaaae278a80) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QMap<QString, QVariant>::<anonymous union> (0x2aaaae278f50) 0
-Class QMap<QString, QVariant>
- size=8 align=8
- base size=8 base align=8
-QMap<QString, QVariant> (0x2aaaae278e00) 0
Class QVariantComparisonHelper
size=8 align=8
base size=8 base align=8
QVariantComparisonHelper (0x2aaaae2dd8c0) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0x2aaaae2f5380) 0 empty
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1128,10 +796,6 @@ Class QFileEngine
QFileEngine (0x2aaaae36c770) 0
vptr=((& QFileEngine::_ZTV11QFileEngine) + 16u)
-Class QFlags<QFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileEngine::FileFlag> (0x2aaaae36cb60) 0
Vtable for QFileEngineHandler
QFileEngineHandler::_ZTV18QFileEngineHandler: 5u entries
@@ -1162,90 +826,54 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0x2aaaae3b9460) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0x2aaaae3b9620) 0 empty
Class QPoint
size=8 align=4
base size=8 base align=4
QPoint (0x2aaaae4dd930) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0x2aaaae4ddb60) 0 empty
Class QPointF
size=16 align=8
base size=16 base align=8
QPointF (0x2aaaae511cb0) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0x2aaaae52f230) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0x2aaaae55e4d0) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0x2aaaae55e690) 0 empty
Class QLineF
size=32 align=8
base size=32 base align=8
QLineF (0x2aaaae57af50) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0x2aaaae59d540) 0 empty
Class QSize
size=8 align=4
base size=8 base align=4
QSize (0x2aaaae5c6620) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0x2aaaae5c6d20) 0 empty
Class QSizeF
size=16 align=8
base size=16 base align=8
QSizeF (0x2aaaae5fff50) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0x2aaaae623690) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0x2aaaae657e00) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0x2aaaae692bd0) 0 empty
Class QRectF
size=32 align=8
base size=32 base align=8
QRectF (0x2aaaae713770) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0x2aaaae743700) 0 empty
Class QLinkedListData
size=32 align=8
@@ -1262,10 +890,6 @@ Class QBitRef
base size=12 base align=8
QBitRef (0x2aaaae8b58c0) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0x2aaaae8cd4d0) 0 empty
Class QVectorData
size=16 align=4
@@ -1287,40 +911,24 @@ Class QLocale
base size=8 base align=8
QLocale (0x2aaaae9ed5b0) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0x2aaaaea42070) 0 empty
Class QDate
size=4 align=4
base size=4 base align=4
QDate (0x2aaaaea9c700) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0x2aaaaeac18c0) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0x2aaaaeac1af0) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0x2aaaaeade620) 0 empty
Class QDateTime
size=8 align=8
base size=8 base align=8
QDateTime (0x2aaaaeade850) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0x2aaaaeb063f0) 0 empty
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -1480,10 +1088,6 @@ QEventLoop (0x2aaaaeb64af0) 0
QObject (0x2aaaaeb85000) 0
primary-for QEventLoop (0x2aaaaeb64af0)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0x2aaaaeb853f0) 0
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -1575,20 +1179,12 @@ Class QModelIndex
base size=24 base align=8
QModelIndex (0x2aaaaec014d0) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0x2aaaaec17700) 0 empty
Class QPersistentModelIndex
size=8 align=8
base size=8 base align=8
QPersistentModelIndex (0x2aaaaec17c40) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0x2aaaaec17e70) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -1808,10 +1404,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0x2aaaaecc0540) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0x2aaaaecc0e00) 0 empty
Vtable for QSocketNotifier
QSocketNotifier::_ZTV15QSocketNotifier: 14u entries
@@ -1906,20 +1498,12 @@ Class QMetaMethod
base size=12 base align=8
QMetaMethod (0x2aaaaed04bd0) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0x2aaaaed04690) 0 empty
Class QMetaEnum
size=16 align=8
base size=12 base align=8
QMetaEnum (0x2aaaaed251c0) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0x2aaaaed25690) 0 empty
Class QMetaProperty
size=32 align=8
@@ -1931,10 +1515,6 @@ Class QMetaClassInfo
base size=12 base align=8
QMetaClassInfo (0x2aaaaed25a10) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0x2aaaaed25e00) 0 empty
Vtable for QPluginLoader
QPluginLoader::_ZTV13QPluginLoader: 14u entries
@@ -2057,25 +1637,9 @@ Class QWriteLocker
base size=8 base align=8
QWriteLocker (0x2aaaaedfe770) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x2aaaaee11bd0) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x2aaaaee11cb0) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x2aaaaee11d90) 0
-Class QColor::<anonymous union>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union> (0x2aaaaee11af0) 0
Class QColor
size=16 align=4
@@ -2092,55 +1656,23 @@ Class QPen
base size=8 base align=8
QPen (0x2aaaaee952a0) 0
-Class QTypeInfo<QPen>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPen> (0x2aaaaee95460) 0 empty
Class QBrush
size=8 align=8
base size=8 base align=8
QBrush (0x2aaaaee95770) 0
-Class QTypeInfo<QBrush>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBrush> (0x2aaaaee95bd0) 0 empty
Class QBrushData
size=24 align=4
base size=24 base align=4
QBrushData (0x2aaaaee95e00) 0
-Class QVector<QPair<double, QColor> >::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QVector<QPair<double, QColor> >::<anonymous union> (0x2aaaaeec9620) 0
-Class QVector<QPair<double, QColor> >
- size=8 align=8
- base size=8 base align=8
-QVector<QPair<double, QColor> > (0x2aaaaeec9460) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=32 align=8
- base size=32 base align=8
-QGradient::<anonymous union>::<anonymous struct> (0x2aaaaeec9850) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=40 align=8
- base size=40 base align=8
-QGradient::<anonymous union>::<anonymous struct> (0x2aaaaeec9930) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=24 align=8
- base size=24 base align=8
-QGradient::<anonymous union>::<anonymous struct> (0x2aaaaeec9a10) 0
-Class QGradient::<anonymous union>
- size=40 align=8
- base size=40 base align=8
-QGradient::<anonymous union> (0x2aaaaeec9770) 0
Class QGradient
size=64 align=8
@@ -2170,25 +1702,13 @@ Class QTextLength
base size=16 base align=8
QTextLength (0x2aaaaeec9380) 0
-Class QSharedDataPointer<QTextFormatPrivate>
- size=8 align=8
- base size=8 base align=8
-QSharedDataPointer<QTextFormatPrivate> (0x2aaaaef08000) 0
Class QTextFormat
size=16 align=8
base size=12 base align=8
QTextFormat (0x2aaaaef08d90) 0
-Class QVector<QTextLength>::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QVector<QTextLength>::<anonymous union> (0x2aaaaef3fd20) 0
-Class QVector<QTextLength>
- size=8 align=8
- base size=8 base align=8
-QVector<QTextLength> (0x2aaaaef3fb60) 0
Class QTextCharFormat
size=16 align=8
@@ -2328,10 +1848,6 @@ QTextFrame (0x2aaaaf052850) 0
QObject (0x2aaaaf052930) 0
primary-for QTextObject (0x2aaaaf0528c0)
-Class QTypeInfo<QTextFrame::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFrame::iterator> (0x2aaaaf0ce540) 0 empty
Class QTextBlock::iterator
size=24 align=8
@@ -2343,25 +1859,13 @@ Class QTextBlock
base size=12 base align=8
QTextBlock (0x2aaaaf0ce850) 0
-Class QTypeInfo<QTextBlock>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock> (0x2aaaaf0ffbd0) 0 empty
-Class QTypeInfo<QTextBlock::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock::iterator> (0x2aaaaf0ffe70) 0 empty
Class QTextFragment
size=16 align=8
base size=16 base align=8
QTextFragment (0x2aaaaf1100e0) 0
-Class QTypeInfo<QTextFragment>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFragment> (0x2aaaaf1290e0) 0 empty
Class QFontMetrics
size=8 align=8
@@ -2421,20 +1925,12 @@ QTextDocument (0x2aaaaf167700) 0
QObject (0x2aaaaf167770) 0
primary-for QTextDocument (0x2aaaaf167700)
-Class QFlags<QTextDocument::FindFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextDocument::FindFlag> (0x2aaaaf167b60) 0
Class QTextOption
size=32 align=8
base size=32 base align=8
QTextOption (0x2aaaaf1679a0) 0
-Class QFlags<QTextOption::Flag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextOption::Flag> (0x2aaaaf1a6690) 0
Class QTextTableCell
size=16 align=8
@@ -2485,10 +1981,6 @@ Class QKeySequence
base size=8 base align=8
QKeySequence (0x2aaaaf1f99a0) 0
-Class QTypeInfo<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QKeySequence> (0x2aaaaf1f9310) 0 empty
Vtable for QMimeSource
QMimeSource::_ZTV11QMimeSource: 7u entries
@@ -2771,15 +2263,7 @@ Class QInputMethodEvent::Attribute
base size=32 base align=8
QInputMethodEvent::Attribute (0x2aaaaf313380) 0
-Class QList<QInputMethodEvent::Attribute>::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QList<QInputMethodEvent::Attribute>::<anonymous union> (0x2aaaaf313690) 0
-Class QList<QInputMethodEvent::Attribute>
- size=8 align=8
- base size=8 base align=8
-QList<QInputMethodEvent::Attribute> (0x2aaaaf313540) 0
Vtable for QInputMethodEvent
QInputMethodEvent::_ZTV17QInputMethodEvent: 4u entries
@@ -3063,15 +2547,7 @@ Class QTextLayout
base size=8 base align=8
QTextLayout (0x2aaaaf3cc150) 0
-Class QVector<QTextLayout::FormatRange>::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QVector<QTextLayout::FormatRange>::<anonymous union> (0x2aaaaf3cc5b0) 0
-Class QVector<QTextLayout::FormatRange>
- size=8 align=8
- base size=8 base align=8
-QVector<QTextLayout::FormatRange> (0x2aaaaf3cc3f0) 0
Class QTextLine
size=16 align=8
@@ -3120,10 +2596,6 @@ Class QTextDocumentFragment
base size=8 base align=8
QTextDocumentFragment (0x2aaaaf42fa10) 0
-Class QSharedDataPointer<QTextCursorPrivate>
- size=8 align=8
- base size=8 base align=8
-QSharedDataPointer<QTextCursorPrivate> (0x2aaaaf42fc40) 0
Class QTextCursor
size=8 align=8
@@ -3146,15 +2618,7 @@ Class QAbstractTextDocumentLayout::Selection
base size=24 base align=8
QAbstractTextDocumentLayout::Selection (0x2aaaaf4f8af0) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union> (0x2aaaaf4f8ee0) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>
- size=8 align=8
- base size=8 base align=8
-QVector<QAbstractTextDocumentLayout::Selection> (0x2aaaaf4f8d20) 0
Class QAbstractTextDocumentLayout::PaintContext
size=64 align=8
@@ -3981,10 +3445,6 @@ QFileDialog (0x2aaaaf7da850) 0
QPaintDevice (0x2aaaaf7da9a0) 16
vptr=((& QFileDialog::_ZTV11QFileDialog) + 488u)
-Class QFlags<QFileDialog::Option>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileDialog::Option> (0x2aaaaf7dab60) 0
Vtable for QAbstractPrintDialog
QAbstractPrintDialog::_ZTV20QAbstractPrintDialog: 67u entries
@@ -4504,10 +3964,6 @@ QImage (0x2aaaaf91a380) 0
QPaintDevice (0x2aaaaf91a3f0) 0
primary-for QImage (0x2aaaaf91a380)
-Class QTypeInfo<QImage>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QImage> (0x2aaaaf996460) 0 empty
Vtable for QPixmap
QPixmap::_ZTV7QPixmap: 7u entries
@@ -4732,10 +4188,6 @@ Class QIcon
base size=8 base align=8
QIcon (0x2aaaafa8ecb0) 0
-Class QTypeInfo<QIcon>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QIcon> (0x2aaaafab8770) 0 empty
Vtable for QIconEngine
QIconEngine::_ZTV11QIconEngine: 9u entries
@@ -4887,15 +4339,7 @@ Class QPrintEngine
QPrintEngine (0x2aaaafb441c0) 0 nearly-empty
vptr=((& QPrintEngine::_ZTV12QPrintEngine) + 16u)
-Class QVector<QPoint>::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QVector<QPoint>::<anonymous union> (0x2aaaafb44af0) 0
-Class QVector<QPoint>
- size=8 align=8
- base size=8 base align=8
-QVector<QPoint> (0x2aaaafb44930) 0
Class QPolygon
size=8 align=8
@@ -4903,15 +4347,7 @@ Class QPolygon
QPolygon (0x2aaaafb44bd0) 0
QVector<QPoint> (0x2aaaafb44c40) 0
-Class QVector<QPointF>::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QVector<QPointF>::<anonymous union> (0x2aaaafb96540) 0
-Class QVector<QPointF>
- size=8 align=8
- base size=8 base align=8
-QVector<QPointF> (0x2aaaafb96380) 0
Class QPolygonF
size=8 align=8
@@ -4924,55 +4360,19 @@ Class QMatrix
base size=48 base align=8
QMatrix (0x2aaaafbd0b60) 0
-Class QTypeInfo<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMatrix> (0x2aaaafbf4620) 0 empty
Class QPainter
size=8 align=8
base size=8 base align=8
QPainter (0x2aaaafc0d310) 0
-Class QVector<QLineF>::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QVector<QLineF>::<anonymous union> (0x2aaaafcae380) 0
-Class QVector<QLineF>
- size=8 align=8
- base size=8 base align=8
-QVector<QLineF> (0x2aaaafcae1c0) 0
-Class QVector<QLine>::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QVector<QLine>::<anonymous union> (0x2aaaafcae7e0) 0
-Class QVector<QLine>
- size=8 align=8
- base size=8 base align=8
-QVector<QLine> (0x2aaaafcae620) 0
-Class QVector<QRectF>::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QVector<QRectF>::<anonymous union> (0x2aaaafd00690) 0
-Class QVector<QRectF>
- size=8 align=8
- base size=8 base align=8
-QVector<QRectF> (0x2aaaafd004d0) 0
-Class QVector<QRect>::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QVector<QRect>::<anonymous union> (0x2aaaafd00af0) 0
-Class QVector<QRect>
- size=8 align=8
- base size=8 base align=8
-QVector<QRect> (0x2aaaafd00930) 0
Vtable for QStyle
QStyle::_ZTV6QStyle: 35u entries
@@ -5020,15 +4420,7 @@ QStyle (0x2aaaafdb5cb0) 0
QObject (0x2aaaafdb5d20) 0
primary-for QStyle (0x2aaaafdb5cb0)
-Class QFlags<QStyle::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::StateFlag> (0x2aaaafe09310) 0
-Class QFlags<QStyle::SubControl>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::SubControl> (0x2aaaafe09700) 0
Class QStylePainter
size=24 align=8
@@ -5046,25 +4438,13 @@ Class QPainterPath
base size=8 base align=8
QPainterPath (0x2aaaafe49f50) 0
-Class QVector<QPainterPath::Element>::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QVector<QPainterPath::Element>::<anonymous union> (0x2aaaafe8a000) 0
-Class QVector<QPainterPath::Element>
- size=8 align=8
- base size=8 base align=8
-QVector<QPainterPath::Element> (0x2aaaafe63ee0) 0
Class QPainterPathPrivate
size=16 align=8
base size=16 base align=8
QPainterPathPrivate (0x2aaaafe63b60) 0
-Class QTypeInfo<QPainterPath::Element>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPainterPath::Element> (0x2aaaafe8a150) 0 empty
Class QPainterPathStroker
size=8 align=8
@@ -5076,15 +4456,7 @@ Class QTextItem
base size=0 base align=1
QTextItem (0x2aaaafec79a0) 0 empty
-Class QTypeInfo<QTextItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextItem> (0x2aaaafec7af0) 0 empty
-Class QFlags<QPaintEngine::PaintEngineFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::PaintEngineFeature> (0x2aaaafec7f50) 0
Vtable for QPaintEngine
QPaintEngine::_ZTV12QPaintEngine: 24u entries
@@ -5119,10 +4491,6 @@ Class QPaintEngine
QPaintEngine (0x2aaaafec7d20) 0
vptr=((& QPaintEngine::_ZTV12QPaintEngine) + 16u)
-Class QFlags<QPaintEngine::DirtyFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::DirtyFlag> (0x2aaaaff03b60) 0
Class QPaintEngineState
size=4 align=4
@@ -5134,10 +4502,6 @@ Class QItemSelectionRange
base size=16 base align=8
QItemSelectionRange (0x2aaaaff319a0) 0
-Class QTypeInfo<QItemSelectionRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QItemSelectionRange> (0x2aaaaff86690) 0 empty
Vtable for QItemSelectionModel
QItemSelectionModel::_ZTV19QItemSelectionModel: 18u entries
@@ -5168,20 +4532,8 @@ QItemSelectionModel (0x2aaaaff86bd0) 0
QObject (0x2aaaaff86c40) 0
primary-for QItemSelectionModel (0x2aaaaff86bd0)
-Class QFlags<QItemSelectionModel::SelectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QItemSelectionModel::SelectionFlag> (0x2aaaaffb9380) 0
-Class QList<QItemSelectionRange>::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QList<QItemSelectionRange>::<anonymous union> (0x2aaaaffb9a10) 0
-Class QList<QItemSelectionRange>
- size=8 align=8
- base size=8 base align=8
-QList<QItemSelectionRange> (0x2aaaaffb98c0) 0
Class QItemSelection
size=8 align=8
@@ -5470,10 +4822,6 @@ QAbstractSpinBox (0x2aaab00672a0) 0
QPaintDevice (0x2aaab0067380) 16
vptr=((& QAbstractSpinBox::_ZTV16QAbstractSpinBox) + 504u)
-Class QFlags<QAbstractSpinBox::StepEnabledFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractSpinBox::StepEnabledFlag> (0x2aaab0067c40) 0
Vtable for QAbstractSlider
QAbstractSlider::_ZTV15QAbstractSlider: 64u entries
@@ -5910,10 +5258,6 @@ Class QStyleOptionHeader
QStyleOptionHeader (0x2aaab01a9ee0) 0
QStyleOption (0x2aaab01a9f50) 0
-Class QFlags<QStyleOptionButton::ButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionButton::ButtonFeature> (0x2aaab01cc850) 0
Class QStyleOptionButton
size=88 align=8
@@ -5921,10 +5265,6 @@ Class QStyleOptionButton
QStyleOptionButton (0x2aaab01cc540) 0
QStyleOption (0x2aaab01cc5b0) 0
-Class QFlags<QStyleOptionTab::CornerWidget>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionTab::CornerWidget> (0x2aaab0203310) 0
Class QStyleOptionTab
size=96 align=8
@@ -5944,10 +5284,6 @@ Class QStyleOptionMenuItem
QStyleOptionMenuItem (0x2aaab023b230) 0
QStyleOption (0x2aaab023b2a0) 0
-Class QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature> (0x2aaab023bc40) 0
Class QStyleOptionQ3ListViewItem
size=80 align=8
@@ -6005,15 +5341,7 @@ QStyleOptionSpinBox (0x2aaab02cf7e0) 0
QStyleOptionComplex (0x2aaab02cf850) 0
QStyleOption (0x2aaab02cf8c0) 0
-Class QList<QStyleOptionQ3ListViewItem>::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QList<QStyleOptionQ3ListViewItem>::<anonymous union> (0x2aaab02e43f0) 0
-Class QList<QStyleOptionQ3ListViewItem>
- size=8 align=8
- base size=8 base align=8
-QList<QStyleOptionQ3ListViewItem> (0x2aaab02e42a0) 0
Class QStyleOptionQ3ListView
size=112 align=8
@@ -6022,10 +5350,6 @@ QStyleOptionQ3ListView (0x2aaab02cf2a0) 0
QStyleOptionComplex (0x2aaab02cfa80) 0
QStyleOption (0x2aaab02e4000) 0
-Class QFlags<QStyleOptionToolButton::ToolButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionToolButton::ToolButtonFeature> (0x2aaab02e4e00) 0
Class QStyleOptionToolButton
size=128 align=8
@@ -6213,10 +5537,6 @@ QAbstractItemView (0x2aaab0366f50) 0
QPaintDevice (0x2aaab03910e0) 16
vptr=((& QAbstractItemView::_ZTV17QAbstractItemView) + 784u)
-Class QFlags<QAbstractItemView::EditTrigger>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractItemView::EditTrigger> (0x2aaab0391930) 0
Vtable for QStringListModel
QStringListModel::_ZTV16QStringListModel: 42u entries
@@ -6399,15 +5719,7 @@ QListView (0x2aaab043d380) 0
QPaintDevice (0x2aaab043d5b0) 16
vptr=((& QListView::_ZTV9QListView) + 784u)
-Class QVector<QWidgetItemData>::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QVector<QWidgetItemData>::<anonymous union> (0x2aaab0482070) 0
-Class QVector<QWidgetItemData>
- size=8 align=8
- base size=8 base align=8
-QVector<QWidgetItemData> (0x2aaab043df50) 0
Vtable for QListWidgetItem
QListWidgetItem::_ZTV15QListWidgetItem: 11u entries
@@ -7324,15 +6636,7 @@ Class QItemEditorCreatorBase
QItemEditorCreatorBase (0x2aaab06a8230) 0 nearly-empty
vptr=((& QItemEditorCreatorBase::_ZTV22QItemEditorCreatorBase) + 16u)
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union> (0x2aaab06a8f50) 0
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>
- size=8 align=8
- base size=8 base align=8
-QHash<QVariant::Type, QItemEditorCreatorBase*> (0x2aaab06a8d90) 0
Vtable for QItemEditorFactory
QItemEditorFactory::_ZTV18QItemEditorFactory: 6u entries
@@ -7349,25 +6653,9 @@ Class QItemEditorFactory
QItemEditorFactory (0x2aaab06a8bd0) 0
vptr=((& QItemEditorFactory::_ZTV18QItemEditorFactory) + 16u)
-Class QVector<QVector<QWidgetItemData> >::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QVector<QVector<QWidgetItemData> >::<anonymous union> (0x2aaab06d69a0) 0
-Class QVector<QVector<QWidgetItemData> >
- size=8 align=8
- base size=8 base align=8
-QVector<QVector<QWidgetItemData> > (0x2aaab06d67e0) 0
-Class QList<QTreeWidgetItem*>::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QList<QTreeWidgetItem*>::<anonymous union> (0x2aaab06d6d20) 0
-Class QList<QTreeWidgetItem*>
- size=8 align=8
- base size=8 base align=8
-QList<QTreeWidgetItem*> (0x2aaab06d6bd0) 0
Vtable for QTreeWidgetItem
QTreeWidgetItem::_ZTV15QTreeWidgetItem: 10u entries
@@ -7594,15 +6882,7 @@ Class QAccessible
base size=0 base align=1
QAccessible (0x2aaab07b8620) 0 empty
-Class QFlags<QAccessible::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::StateFlag> (0x2aaab07b87e0) 0
-Class QFlags<QAccessible::RelationFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::RelationFlag> (0x2aaab07b8bd0) 0
Vtable for QAccessibleInterface
QAccessibleInterface::_ZTV20QAccessibleInterface: 19u entries
@@ -8450,15 +7730,7 @@ QActionGroup (0x2aaab0a40d20) 0
QObject (0x2aaab0a40d90) 0
primary-for QActionGroup (0x2aaab0a40d20)
-Class QList<QAction*>::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QList<QAction*>::<anonymous union> (0x2aaab0a5f930) 0
-Class QList<QAction*>
- size=8 align=8
- base size=8 base align=8
-QList<QAction*> (0x2aaab0a5f7e0) 0
Vtable for QSound
QSound::_ZTV6QSound: 14u entries
@@ -8599,10 +7871,6 @@ QCommonStyle (0x2aaab0ac0150) 0
QObject (0x2aaab0ac0230) 0
primary-for QStyle (0x2aaab0ac01c0)
-Class QPointer<QFocusFrame>
- size=8 align=8
- base size=8 base align=8
-QPointer<QFocusFrame> (0x2aaab0ac0a10) 0
Vtable for QMotifStyle
QMotifStyle::_ZTV11QMotifStyle: 35u entries
@@ -10130,10 +9398,6 @@ QDateEdit (0x2aaab0d82930) 0
QPaintDevice (0x2aaab0d82af0) 16
vptr=((& QDateEdit::_ZTV9QDateEdit) + 520u)
-Class QFlags<QDateTimeEdit::Section>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDateTimeEdit::Section> (0x2aaab0da5070) 0
Vtable for QLabel
QLabel::_ZTV6QLabel: 63u entries
@@ -10293,10 +9557,6 @@ QDockWidget (0x2aaab0da5e00) 0
QPaintDevice (0x2aaab0da5ee0) 16
vptr=((& QDockWidget::_ZTV11QDockWidget) + 464u)
-Class QFlags<QDockWidget::DockWidgetFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDockWidget::DockWidgetFeature> (0x2aaab0dfda80) 0
Vtable for QGroupBox
QGroupBox::_ZTV9QGroupBox: 63u entries
@@ -11867,153 +11127,33 @@ QDial (0x2aaab11f4230) 0
QPaintDevice (0x2aaab11f4380) 16
vptr=((& QDial::_ZTV5QDial) + 472u)
-Class QList<QByteArray>::Node
- size=8 align=8
- base size=8 base align=8
-QList<QByteArray>::Node (0x2aaab12a09a0) 0
-Class QList<QString>::Node
- size=8 align=8
- base size=8 base align=8
-QList<QString>::Node (0x2aaab12d7a80) 0
-Class QVectorTypedData<QTextLength>
- size=32 align=8
- base size=32 base align=8
-QVectorTypedData<QTextLength> (0x2aaab136c230) 0
-Class QVectorTypedData<QTextLayout::FormatRange>
- size=40 align=8
- base size=40 base align=8
-QVectorTypedData<QTextLayout::FormatRange> (0x2aaab1387380) 0
-Class QVectorTypedData<QAbstractTextDocumentLayout::Selection>
- size=40 align=8
- base size=40 base align=8
-QVectorTypedData<QAbstractTextDocumentLayout::Selection> (0x2aaab1387e00) 0
-Class QVectorTypedData<QPoint>
- size=24 align=4
- base size=24 base align=4
-QVectorTypedData<QPoint> (0x2aaab13aba80) 0
-Class QVectorTypedData<QPointF>
- size=32 align=8
- base size=32 base align=8
-QVectorTypedData<QPointF> (0x2aaab13d0ee0) 0
-Class QVectorTypedData<QLineF>
- size=48 align=8
- base size=48 base align=8
-QVectorTypedData<QLineF> (0x2aaab1403c40) 0
-Class QVectorTypedData<QLine>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QLine> (0x2aaab140d1c0) 0
-Class QVectorTypedData<QRectF>
- size=48 align=8
- base size=48 base align=8
-QVectorTypedData<QRectF> (0x2aaab140d700) 0
-Class QVectorTypedData<QRect>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QRect> (0x2aaab140dc40) 0
-Class QVectorTypedData<QPainterPath::Element>
- size=40 align=8
- base size=40 base align=8
-QVectorTypedData<QPainterPath::Element> (0x2aaab1424bd0) 0
-Class QList<QTreeWidgetItem*>::Node
- size=8 align=8
- base size=8 base align=8
-QList<QTreeWidgetItem*>::Node (0x2aaab14e4620) 0
-Class QVectorTypedData<QVector<QWidgetItemData> >
- size=24 align=8
- base size=24 base align=8
-QVectorTypedData<QVector<QWidgetItemData> > (0x2aaab14e4d20) 0
-Class QList<QAction*>::Node
- size=8 align=8
- base size=8 base align=8
-QList<QAction*>::Node (0x2aaab1521770) 0
-Class QTypeInfo<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLength> (0x2aaab15bdee0) 0 empty
-Class QTypeInfo<QTextLayout::FormatRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLayout::FormatRange> (0x2aaab15c5b60) 0 empty
-Class QTypeInfo<QAbstractTextDocumentLayout::Selection>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAbstractTextDocumentLayout::Selection> (0x2aaab15d5b60) 0 empty
-Class QHashNode<QVariant::Type, QItemEditorCreatorBase*>
- size=24 align=8
- base size=24 base align=8
-QHashNode<QVariant::Type, QItemEditorCreatorBase*> (0x2aaab1612c40) 0
-Class QTypeInfo<QTreeWidgetItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTreeWidgetItem*> (0x2aaab1629150) 0 empty
-Class QTypeInfo<QAction*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAction*> (0x2aaab163b540) 0 empty
-Class QList<QFileInfo>::Node
- size=8 align=8
- base size=8 base align=8
-QList<QFileInfo>::Node (0x2aaab1649770) 0
-Class QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union> (0x2aaab165b000) 0
-Class QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union> (0x2aaab16862a0) 0
-Class QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union> (0x2aaab16af700) 0
-Class QList<QItemSelectionRange>::Node
- size=8 align=8
- base size=8 base align=8
-QList<QItemSelectionRange>::Node (0x2aaab16dbb60) 0
-Class QTypeInfo<QStyleOptionQ3ListViewItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QStyleOptionQ3ListViewItem> (0x2aaab16f0460) 0 empty
-Class QList<QStyleOptionQ3ListViewItem>::Node
- size=8 align=8
- base size=8 base align=8
-QList<QStyleOptionQ3ListViewItem>::Node (0x2aaab16f05b0) 0
-Class QList<QVariant>::Node
- size=8 align=8
- base size=8 base align=8
-QList<QVariant>::Node (0x2aaab16ffa80) 0
-Class QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union> (0x2aaab17191c0) 0
diff --git a/tests/auto/bic/data/QtGui.4.0.0.linux-gcc-ia32.txt b/tests/auto/bic/data/QtGui.4.0.0.linux-gcc-ia32.txt
index a0538d7..b598748 100644
--- a/tests/auto/bic/data/QtGui.4.0.0.linux-gcc-ia32.txt
+++ b/tests/auto/bic/data/QtGui.4.0.0.linux-gcc-ia32.txt
@@ -59,145 +59,37 @@ Class QBool
base size=1 base align=1
QBool (0x40af7000) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0x40af7140) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0x40af7180) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0x40af71c0) 0 empty
-Class QTypeInfo<uchar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uchar> (0x40af7200) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0x40af7240) 0 empty
-Class QTypeInfo<ushort>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ushort> (0x40af7280) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0x40af72c0) 0 empty
-Class QTypeInfo<uint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uint> (0x40af7300) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0x40af7340) 0 empty
-Class QTypeInfo<ulong>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ulong> (0x40af7380) 0 empty
-Class QTypeInfo<qint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<qint64> (0x40af73c0) 0 empty
-Class QTypeInfo<quint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<quint64> (0x40af7400) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0x40af7440) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0x40af7480) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0x40af74c0) 0 empty
Class QFlag
size=4 align=4
base size=4 base align=4
QFlag (0x40af7500) 0
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0x40af76c0) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0x40af7740) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0x40af77c0) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0x40af7840) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0x40af78c0) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0x40af7940) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0x40af79c0) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0x40af7a40) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0x40af7ac0) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0x40af7b40) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0x40af7bc0) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0x40af7c40) 0
Class QInternal
size=1 align=1
@@ -215,10 +107,6 @@ Class QGenericReturnArgument
QGenericReturnArgument (0x40af7d80) 0
QGenericArgument (0x40af7dc0) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0x40af7fc0) 0
Class QMetaObject
size=16 align=4
@@ -235,10 +123,6 @@ Class QChar
base size=2 base align=2
QChar (0x414060c0) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0x41406180) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -271,10 +155,6 @@ Class QByteRef
base size=8 base align=4
QByteRef (0x41406880) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0x41406900) 0 empty
Class QString::Null
size=1 align=1
@@ -296,10 +176,6 @@ Class QLatin1String
base size=4 base align=4
QLatin1String (0x41406b40) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0x41406c80) 0
Class QCharRef
size=8 align=4
@@ -312,10 +188,6 @@ Class QConstString
QConstString (0x41406e40) 0
QString (0x41406e80) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0x41406f00) 0 empty
Class QListData::Data
size=24 align=4
@@ -327,15 +199,7 @@ Class QListData
base size=4 base align=4
QListData (0x416c4000) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0x416c4440) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0x416c4380) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -427,10 +291,6 @@ QIODevice (0x416c4680) 0
QObject (0x416c46c0) 0
primary-for QIODevice (0x416c4680)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0x416c4800) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -455,10 +315,6 @@ Class QMapData
base size=72 base align=4
QMapData (0x416c4900) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0x416c4ec0) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -483,15 +339,7 @@ Class QTextCodec
QTextCodec (0x416c4dc0) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0x416c4c00) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0x416c4540) 0
Class QTextEncoder
size=32 align=4
@@ -503,30 +351,10 @@ Class QTextDecoder
base size=32 base align=4
QTextDecoder (0x418c1000) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x418c1080) 0
-Class <anonymous struct>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct>::<anonymous union> (0x418c1100) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x418c10c0) 0
-Class <anonymous struct>
- size=12 align=4
- base size=12 base align=4
-<anonymous struct> (0x418c1140) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0x418c1180) 0
Class __gconv_trans_data
size=20 align=4
@@ -548,15 +376,7 @@ Class __gconv_info
base size=8 base align=4
__gconv_info (0x418c1280) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0x418c1300) 0
-Class <anonymous union>
- size=44 align=4
- base size=44 base align=4
-<anonymous union> (0x418c12c0) 0
Class _IO_marker
size=12 align=4
@@ -568,10 +388,6 @@ Class _IO_FILE
base size=148 base align=4
_IO_FILE (0x418c1380) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0x418c13c0) 0
Vtable for QTextStream
QTextStream::_ZTV11QTextStream: 4u entries
@@ -586,10 +402,6 @@ Class QTextStream
QTextStream (0x418c1400) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0x418c1540) 0
Class QTextStreamManipulator
size=24 align=4
@@ -680,10 +492,6 @@ QFile (0x418c1c80) 0
QObject (0x418c1d00) 0
primary-for QIODevice (0x418c1cc0)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0x418c1e00) 0
Vtable for QTemporaryFile
QTemporaryFile::_ZTV14QTemporaryFile: 31u entries
@@ -736,25 +544,13 @@ Class QRegExp
base size=4 base align=4
QRegExp (0x418c1fc0) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0x418c1740) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0x418c1900) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0x419c8080) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0x418c1f40) 0
Class QStringList
size=4 align=4
@@ -762,15 +558,7 @@ Class QStringList
QStringList (0x419c80c0) 0
QList<QString> (0x419c8100) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0x419c8340) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0x419c83c0) 0
Vtable for QProcess
QProcess::_ZTV8QProcess: 31u entries
@@ -864,145 +652,45 @@ Class QFileInfo
base size=4 base align=4
QFileInfo (0x419c8840) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0x419c88c0) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0x419c8900) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0x419c8a40) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0x419c8980) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0x419c8a80) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0x419c8b40) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0x419c8c00) 0
Class QUrl
size=4 align=4
base size=4 base align=4
QUrl (0x419c8c80) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0x419c8d80) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0x419c8dc0) 0 empty
Class QMetaType
size=1 align=1
base size=0 base align=1
QMetaType (0x419c8e00) 0 empty
-Class QMetaTypeId<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QString> (0x419c8e80) 0 empty
-Class QMetaTypeId<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<int> (0x419c8ec0) 0 empty
-Class QMetaTypeId<uint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<uint> (0x419c8f00) 0 empty
-Class QMetaTypeId<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<bool> (0x419c8f40) 0 empty
-Class QMetaTypeId<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<double> (0x419c8f80) 0 empty
-Class QMetaTypeId<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QByteArray> (0x419c8fc0) 0 empty
-Class QMetaTypeId<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QChar> (0x419c8680) 0 empty
-Class QMetaTypeId<void>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<void> (0x419c87c0) 0 empty
-Class QMetaTypeId<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<long int> (0x41b03000) 0 empty
-Class QMetaTypeId<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<short int> (0x41b03040) 0 empty
-Class QMetaTypeId<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<char> (0x41b03080) 0 empty
-Class QMetaTypeId<ulong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<ulong> (0x41b030c0) 0 empty
-Class QMetaTypeId<ushort>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<ushort> (0x41b03100) 0 empty
-Class QMetaTypeId<uchar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<uchar> (0x41b03140) 0 empty
-Class QMetaTypeId<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<float> (0x41b03180) 0 empty
-Class QMetaTypeId<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QObject*> (0x41b031c0) 0 empty
-Class QMetaTypeId<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QWidget*> (0x41b03200) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -1029,35 +717,15 @@ Class QVariant
base size=12 base align=4
QVariant (0x41b03240) 0
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0x41b03800) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0x41b03740) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0x41b03980) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0x41b038c0) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0x41b03bc0) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0x41b03cc0) 0 empty
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1142,10 +810,6 @@ Class QFileEngineHandler
QFileEngineHandler (0x41b03f80) 0 nearly-empty
vptr=((& QFileEngineHandler::_ZTV18QFileEngineHandler) + 8u)
-Class QFlags<QFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileEngine::FileFlag> (0x41b03480) 0
Class QHashData::Node
size=8 align=4
@@ -1162,90 +826,54 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0x41b03d80) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0x41b03e00) 0 empty
Class QPoint
size=8 align=4
base size=8 base align=4
QPoint (0x41c0a4c0) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0x41c0a900) 0 empty
Class QPointF
size=16 align=4
base size=16 base align=4
QPointF (0x41c0a9c0) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0x41c0ae00) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0x41c0af00) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0x41c0af40) 0 empty
Class QLineF
size=32 align=4
base size=32 base align=4
QLineF (0x41c0a500) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0x41c0a600) 0 empty
Class QSize
size=8 align=4
base size=8 base align=4
QSize (0x41c0a800) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0x41c0ad00) 0 empty
Class QSizeF
size=16 align=4
base size=16 base align=4
QSizeF (0x41d2c0c0) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0x41d2c480) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0x41d2c680) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0x41d2c880) 0 empty
Class QRectF
size=32 align=4
base size=32 base align=4
QRectF (0x41d2c980) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0x41d2cb00) 0 empty
Class QLinkedListData
size=20 align=4
@@ -1262,10 +890,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0x41d2c380) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0x41d2c6c0) 0 empty
Class QVectorData
size=16 align=4
@@ -1287,40 +911,24 @@ Class QLocale
base size=4 base align=4
QLocale (0x41f15280) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0x41f152c0) 0 empty
Class QDate
size=4 align=4
base size=4 base align=4
QDate (0x41f15440) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0x41f155c0) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0x41f15600) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0x41f15780) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0x41f157c0) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0x41f15900) 0 empty
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -1480,10 +1088,6 @@ QEventLoop (0x41f15500) 0
QObject (0x41f15640) 0
primary-for QEventLoop (0x41f15500)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0x41f15880) 0
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -1575,20 +1179,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0x42054300) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0x42054400) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0x42054480) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0x42054540) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -1808,10 +1404,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0x42054b00) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0x42054bc0) 0 empty
Vtable for QSocketNotifier
QSocketNotifier::_ZTV15QSocketNotifier: 14u entries
@@ -1906,20 +1498,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0x42054f00) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0x42054f80) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0x42054fc0) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0x42054180) 0 empty
Class QMetaProperty
size=20 align=4
@@ -1931,10 +1515,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0x420544c0) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0x42054740) 0 empty
Vtable for QPluginLoader
QPluginLoader::_ZTV13QPluginLoader: 14u entries
@@ -2057,25 +1637,9 @@ Class QWriteLocker
base size=4 base align=4
QWriteLocker (0x42135580) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x421356c0) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x42135700) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x42135740) 0
-Class QColor::<anonymous union>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union> (0x42135680) 0
Class QColor
size=16 align=4
@@ -2092,55 +1656,23 @@ Class QPen
base size=4 base align=4
QPen (0x42135b80) 0
-Class QTypeInfo<QPen>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPen> (0x42135bc0) 0 empty
Class QBrush
size=4 align=4
base size=4 base align=4
QBrush (0x42135c00) 0
-Class QTypeInfo<QBrush>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBrush> (0x42135c40) 0 empty
Class QBrushData
size=24 align=4
base size=24 base align=4
QBrushData (0x42135c80) 0
-Class QVector<QGradientStop>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QGradientStop>::<anonymous union> (0x42135ec0) 0
-Class QVector<QGradientStop>
- size=4 align=4
- base size=4 base align=4
-QVector<QGradientStop> (0x42135e00) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=32 align=4
- base size=32 base align=4
-QGradient::<anonymous union>::<anonymous struct> (0x42135f40) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=40 align=4
- base size=40 base align=4
-QGradient::<anonymous union>::<anonymous struct> (0x42135f80) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=24 align=4
- base size=24 base align=4
-QGradient::<anonymous union>::<anonymous struct> (0x42135fc0) 0
-Class QGradient::<anonymous union>
- size=40 align=4
- base size=40 base align=4
-QGradient::<anonymous union> (0x42135f00) 0
Class QGradient
size=56 align=4
@@ -2170,25 +1702,13 @@ Class QTextLength
base size=12 base align=4
QTextLength (0x42135d00) 0
-Class QSharedDataPointer<QTextFormatPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextFormatPrivate> (0x4220c1c0) 0
Class QTextFormat
size=8 align=4
base size=8 base align=4
QTextFormat (0x4220c100) 0
-Class QVector<QTextLength>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength>::<anonymous union> (0x4220c440) 0
-Class QVector<QTextLength>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength> (0x4220c380) 0
Class QTextCharFormat
size=8 align=4
@@ -2328,10 +1848,6 @@ QTextFrame (0x4220cb00) 0
QObject (0x4220cb80) 0
primary-for QTextObject (0x4220cb40)
-Class QTypeInfo<QTextFrame::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFrame::iterator> (0x4220ce00) 0 empty
Class QTextBlock::iterator
size=16 align=4
@@ -2343,25 +1859,13 @@ Class QTextBlock
base size=8 base align=4
QTextBlock (0x4220ce40) 0
-Class QTypeInfo<QTextBlock>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock> (0x4220c140) 0 empty
-Class QTypeInfo<QTextBlock::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock::iterator> (0x4220c200) 0 empty
Class QTextFragment
size=12 align=4
base size=12 base align=4
QTextFragment (0x4220c280) 0
-Class QTypeInfo<QTextFragment>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFragment> (0x4230b000) 0 empty
Class QFontMetrics
size=4 align=4
@@ -2426,10 +1930,6 @@ Class QTextOption
base size=24 base align=4
QTextOption (0x4230b340) 0
-Class QFlags<QTextOption::Flag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextOption::Flag> (0x4230b3c0) 0
Class QTextTableCell
size=8 align=4
@@ -2480,10 +1980,6 @@ Class QKeySequence
base size=4 base align=4
QKeySequence (0x4230ba40) 0
-Class QTypeInfo<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QKeySequence> (0x4230bb80) 0 empty
Vtable for QMimeSource
QMimeSource::_ZTV11QMimeSource: 7u entries
@@ -2766,15 +2262,7 @@ Class QInputMethodEvent::Attribute
base size=24 base align=4
QInputMethodEvent::Attribute (0x423d5b00) 0
-Class QList<QInputMethodEvent::Attribute>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute>::<anonymous union> (0x423d5c80) 0
-Class QList<QInputMethodEvent::Attribute>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute> (0x423d5bc0) 0
Vtable for QInputMethodEvent
QInputMethodEvent::_ZTV17QInputMethodEvent: 4u entries
@@ -3058,15 +2546,7 @@ Class QTextLayout
base size=4 base align=4
QTextLayout (0x424469c0) 0
-Class QVector<QTextLayout::FormatRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange>::<anonymous union> (0x42446b80) 0
-Class QVector<QTextLayout::FormatRange>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange> (0x42446ac0) 0
Class QTextLine
size=8 align=4
@@ -3115,10 +2595,6 @@ Class QTextDocumentFragment
base size=4 base align=4
QTextDocumentFragment (0x42446080) 0
-Class QSharedDataPointer<QTextCursorPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextCursorPrivate> (0x42446380) 0
Class QTextCursor
size=4 align=4
@@ -3141,15 +2617,7 @@ Class QAbstractTextDocumentLayout::Selection
base size=12 base align=4
QAbstractTextDocumentLayout::Selection (0x424fa200) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union> (0x424fa3c0) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection> (0x424fa300) 0
Class QAbstractTextDocumentLayout::PaintContext
size=48 align=4
@@ -3976,10 +3444,6 @@ QFileDialog (0x42663440) 0
QPaintDevice (0x42663540) 8
vptr=((& QFileDialog::_ZTV11QFileDialog) + 244u)
-Class QFlags<QFileDialog::Option>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileDialog::Option> (0x426636c0) 0
Vtable for QAbstractPrintDialog
QAbstractPrintDialog::_ZTV20QAbstractPrintDialog: 67u entries
@@ -4499,10 +3963,6 @@ QImage (0x42663f80) 0
QPaintDevice (0x42747000) 0
primary-for QImage (0x42663f80)
-Class QTypeInfo<QImage>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QImage> (0x42747100) 0 empty
Vtable for QPixmap
QPixmap::_ZTV7QPixmap: 7u entries
@@ -4727,10 +4187,6 @@ Class QIcon
base size=4 base align=4
QIcon (0x42747c80) 0
-Class QTypeInfo<QIcon>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QIcon> (0x42747d00) 0 empty
Vtable for QIconEngine
QIconEngine::_ZTV11QIconEngine: 9u entries
@@ -4882,15 +4338,7 @@ Class QPrintEngine
QPrintEngine (0x4283d200) 0 nearly-empty
vptr=((& QPrintEngine::_ZTV12QPrintEngine) + 8u)
-Class QVector<QPoint>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint>::<anonymous union> (0x4283d400) 0
-Class QVector<QPoint>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint> (0x4283d340) 0
Class QPolygon
size=4 align=4
@@ -4898,15 +4346,7 @@ Class QPolygon
QPolygon (0x4283d440) 0
QVector<QPoint> (0x4283d480) 0
-Class QVector<QPointF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF>::<anonymous union> (0x4283d700) 0
-Class QVector<QPointF>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF> (0x4283d640) 0
Class QPolygonF
size=4 align=4
@@ -4919,55 +4359,19 @@ Class QMatrix
base size=48 base align=4
QMatrix (0x4283d900) 0
-Class QTypeInfo<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMatrix> (0x4283d940) 0 empty
Class QPainter
size=4 align=4
base size=4 base align=4
QPainter (0x4283d980) 0
-Class QVector<QLineF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF>::<anonymous union> (0x4283db80) 0
-Class QVector<QLineF>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF> (0x4283dac0) 0
-Class QVector<QLine>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine>::<anonymous union> (0x4283dd00) 0
-Class QVector<QLine>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine> (0x4283dc40) 0
-Class QVector<QRectF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF>::<anonymous union> (0x4283de80) 0
-Class QVector<QRectF>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF> (0x4283ddc0) 0
-Class QVector<QRect>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect>::<anonymous union> (0x4283d180) 0
-Class QVector<QRect>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect> (0x4283df40) 0
Vtable for QStyle
QStyle::_ZTV6QStyle: 35u entries
@@ -5015,15 +4419,7 @@ QStyle (0x4283d240) 0
QObject (0x4283d9c0) 0
primary-for QStyle (0x4283d240)
-Class QFlags<QStyle::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::StateFlag> (0x429b8100) 0
-Class QFlags<QStyle::SubControl>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::SubControl> (0x429b8180) 0
Class QStylePainter
size=12 align=4
@@ -5041,25 +4437,13 @@ Class QPainterPath
base size=4 base align=4
QPainterPath (0x429b8340) 0
-Class QVector<QPainterPath::Element>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element>::<anonymous union> (0x429b8740) 0
-Class QVector<QPainterPath::Element>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element> (0x429b8680) 0
Class QPainterPathPrivate
size=8 align=4
base size=8 base align=4
QPainterPathPrivate (0x429b84c0) 0
-Class QTypeInfo<QPainterPath::Element>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPainterPath::Element> (0x429b8780) 0 empty
Class QPainterPathStroker
size=4 align=4
@@ -5071,15 +4455,7 @@ Class QTextItem
base size=0 base align=1
QTextItem (0x429b8840) 0 empty
-Class QTypeInfo<QTextItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextItem> (0x429b8880) 0 empty
-Class QFlags<QPaintEngine::PaintEngineFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::PaintEngineFeature> (0x429b8980) 0
Vtable for QPaintEngine
QPaintEngine::_ZTV12QPaintEngine: 24u entries
@@ -5114,10 +4490,6 @@ Class QPaintEngine
QPaintEngine (0x429b88c0) 0
vptr=((& QPaintEngine::_ZTV12QPaintEngine) + 8u)
-Class QFlags<QPaintEngine::DirtyFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::DirtyFlag> (0x429b8b00) 0
Class QPaintEngineState
size=4 align=4
@@ -5129,10 +4501,6 @@ Class QItemSelectionRange
base size=8 base align=4
QItemSelectionRange (0x429b8b40) 0
-Class QTypeInfo<QItemSelectionRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QItemSelectionRange> (0x429b8c40) 0 empty
Vtable for QItemSelectionModel
QItemSelectionModel::_ZTV19QItemSelectionModel: 18u entries
@@ -5163,20 +4531,8 @@ QItemSelectionModel (0x429b8cc0) 0
QObject (0x429b8d00) 0
primary-for QItemSelectionModel (0x429b8cc0)
-Class QFlags<QItemSelectionModel::SelectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QItemSelectionModel::SelectionFlag> (0x429b8e00) 0
-Class QList<QItemSelectionRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::<anonymous union> (0x429b8f40) 0
-Class QList<QItemSelectionRange>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange> (0x429b8e80) 0
Class QItemSelection
size=4 align=4
@@ -5465,10 +4821,6 @@ QAbstractSpinBox (0x42ae34c0) 0
QPaintDevice (0x42ae3580) 8
vptr=((& QAbstractSpinBox::_ZTV16QAbstractSpinBox) + 252u)
-Class QFlags<QAbstractSpinBox::StepEnabledFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractSpinBox::StepEnabledFlag> (0x42ae3680) 0
Vtable for QAbstractSlider
QAbstractSlider::_ZTV15QAbstractSlider: 64u entries
@@ -5905,10 +5257,6 @@ Class QStyleOptionHeader
QStyleOptionHeader (0x42bb9100) 0
QStyleOption (0x42bb9140) 0
-Class QFlags<QStyleOptionButton::ButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionButton::ButtonFeature> (0x42bb9380) 0
Class QStyleOptionButton
size=64 align=4
@@ -5916,10 +5264,6 @@ Class QStyleOptionButton
QStyleOptionButton (0x42bb9280) 0
QStyleOption (0x42bb92c0) 0
-Class QFlags<QStyleOptionTab::CornerWidget>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionTab::CornerWidget> (0x42bb95c0) 0
Class QStyleOptionTab
size=72 align=4
@@ -5939,10 +5283,6 @@ Class QStyleOptionMenuItem
QStyleOptionMenuItem (0x42bb9840) 0
QStyleOption (0x42bb9880) 0
-Class QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature> (0x42bb9a80) 0
Class QStyleOptionQ3ListViewItem
size=64 align=4
@@ -6000,15 +5340,7 @@ QStyleOptionSpinBox (0x42c4a100) 0
QStyleOptionComplex (0x42c4a140) 0
QStyleOption (0x42c4a180) 0
-Class QList<QStyleOptionQ3ListViewItem>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::<anonymous union> (0x42c4a480) 0
-Class QList<QStyleOptionQ3ListViewItem>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem> (0x42c4a3c0) 0
Class QStyleOptionQ3ListView
size=84 align=4
@@ -6017,10 +5349,6 @@ QStyleOptionQ3ListView (0x42c4a280) 0
QStyleOptionComplex (0x42c4a2c0) 0
QStyleOption (0x42c4a300) 0
-Class QFlags<QStyleOptionToolButton::ToolButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionToolButton::ToolButtonFeature> (0x42c4a700) 0
Class QStyleOptionToolButton
size=96 align=4
@@ -6208,10 +5536,6 @@ QAbstractItemView (0x42c4ad00) 0
QPaintDevice (0x42c4ae40) 8
vptr=((& QAbstractItemView::_ZTV17QAbstractItemView) + 392u)
-Class QFlags<QAbstractItemView::EditTrigger>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractItemView::EditTrigger> (0x42c4af80) 0
Vtable for QStringListModel
QStringListModel::_ZTV16QStringListModel: 42u entries
@@ -6394,15 +5718,7 @@ QListView (0x42c4a680) 0
QPaintDevice (0x42ce8000) 8
vptr=((& QListView::_ZTV9QListView) + 392u)
-Class QVector<QWidgetItemData>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData>::<anonymous union> (0x42ce8280) 0
-Class QVector<QWidgetItemData>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData> (0x42ce81c0) 0
Vtable for QListWidgetItem
QListWidgetItem::_ZTV15QListWidgetItem: 11u entries
@@ -7319,15 +6635,7 @@ Class QItemEditorCreatorBase
QItemEditorCreatorBase (0x42e04480) 0 nearly-empty
vptr=((& QItemEditorCreatorBase::_ZTV22QItemEditorCreatorBase) + 8u)
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union> (0x42e04780) 0
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*> (0x42e046c0) 0
Vtable for QItemEditorFactory
QItemEditorFactory::_ZTV18QItemEditorFactory: 6u entries
@@ -7344,25 +6652,9 @@ Class QItemEditorFactory
QItemEditorFactory (0x42e04600) 0
vptr=((& QItemEditorFactory::_ZTV18QItemEditorFactory) + 8u)
-Class QVector<QVector<QWidgetItemData> >::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> >::<anonymous union> (0x42e04a00) 0
-Class QVector<QVector<QWidgetItemData> >
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> > (0x42e04940) 0
-Class QList<QTreeWidgetItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::<anonymous union> (0x42e04b80) 0
-Class QList<QTreeWidgetItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*> (0x42e04ac0) 0
Vtable for QTreeWidgetItem
QTreeWidgetItem::_ZTV15QTreeWidgetItem: 10u entries
@@ -7589,15 +6881,7 @@ Class QAccessible
base size=0 base align=1
QAccessible (0x42e04c00) 0 empty
-Class QFlags<QAccessible::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::StateFlag> (0x42ee9000) 0
-Class QFlags<QAccessible::RelationFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::RelationFlag> (0x42ee9080) 0
Vtable for QAccessibleInterface
QAccessibleInterface::_ZTV20QAccessibleInterface: 19u entries
@@ -8445,15 +7729,7 @@ QActionGroup (0x42f84b40) 0
QObject (0x42f84b80) 0
primary-for QActionGroup (0x42f84b40)
-Class QList<QAction*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QAction*>::<anonymous union> (0x42f84d80) 0
-Class QList<QAction*>
- size=4 align=4
- base size=4 base align=4
-QList<QAction*> (0x42f84cc0) 0
Vtable for QSound
QSound::_ZTV6QSound: 14u entries
@@ -8594,10 +7870,6 @@ QCommonStyle (0x42f84300) 0
QObject (0x42f84680) 0
primary-for QStyle (0x42f844c0)
-Class QPointer<QFocusFrame>
- size=4 align=4
- base size=4 base align=4
-QPointer<QFocusFrame> (0x42f84fc0) 0
Vtable for QMotifStyle
QMotifStyle::_ZTV11QMotifStyle: 35u entries
@@ -10125,10 +9397,6 @@ QDateEdit (0x431571c0) 0
QPaintDevice (0x43157a80) 8
vptr=((& QDateEdit::_ZTV9QDateEdit) + 260u)
-Class QFlags<QDateTimeEdit::Section>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDateTimeEdit::Section> (0x43157fc0) 0
Vtable for QLabel
QLabel::_ZTV6QLabel: 63u entries
@@ -10288,10 +9556,6 @@ QDockWidget (0x432021c0) 0
QPaintDevice (0x43202280) 8
vptr=((& QDockWidget::_ZTV11QDockWidget) + 232u)
-Class QFlags<QDockWidget::DockWidgetFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDockWidget::DockWidgetFeature> (0x432023c0) 0
Vtable for QGroupBox
QGroupBox::_ZTV9QGroupBox: 63u entries
@@ -10538,10 +9802,6 @@ QTextEdit (0x43202700) 0
QPaintDevice (0x43202840) 8
vptr=((& QTextEdit::_ZTV9QTextEdit) + 256u)
-Class QFlags<QTextDocument::FindFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextDocument::FindFlag> (0x43202980) 0
Vtable for QProgressBar
QProgressBar::_ZTV12QProgressBar: 64u entries
@@ -11867,153 +11127,33 @@ QDial (0x432dc900) 0
QPaintDevice (0x432dcf80) 8
vptr=((& QDial::_ZTV5QDial) + 236u)
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0x43447500) 0
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0x43447bc0) 0
-Class QVectorTypedData<QTextLength>
- size=28 align=4
- base size=28 base align=4
-QVectorTypedData<QTextLength> (0x43494d80) 0
-Class QVectorTypedData<QTextLayout::FormatRange>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QTextLayout::FormatRange> (0x434d41c0) 0
-Class QVectorTypedData<QAbstractTextDocumentLayout::Selection>
- size=28 align=4
- base size=28 base align=4
-QVectorTypedData<QAbstractTextDocumentLayout::Selection> (0x434d4380) 0
-Class QVectorTypedData<QPoint>
- size=24 align=4
- base size=24 base align=4
-QVectorTypedData<QPoint> (0x434d4880) 0
-Class QVectorTypedData<QPointF>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QPointF> (0x434d4bc0) 0
-Class QVectorTypedData<QLineF>
- size=48 align=4
- base size=48 base align=4
-QVectorTypedData<QLineF> (0x4351d040) 0
-Class QVectorTypedData<QLine>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QLine> (0x4351d180) 0
-Class QVectorTypedData<QRectF>
- size=48 align=4
- base size=48 base align=4
-QVectorTypedData<QRectF> (0x4351d2c0) 0
-Class QVectorTypedData<QRect>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QRect> (0x4351d400) 0
-Class QVectorTypedData<QPainterPath::Element>
- size=36 align=4
- base size=36 base align=4
-QVectorTypedData<QPainterPath::Element> (0x4351d7c0) 0
-Class QList<QTreeWidgetItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::Node (0x43595200) 0
-Class QVectorTypedData<QVector<QWidgetItemData> >
- size=20 align=4
- base size=20 base align=4
-QVectorTypedData<QVector<QWidgetItemData> > (0x43595340) 0
-Class QList<QAction*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QAction*>::Node (0x43595940) 0
-Class QTypeInfo<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLength> (0x435dae80) 0 empty
-Class QTypeInfo<QTextLayout::FormatRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLayout::FormatRange> (0x4361b080) 0 empty
-Class QTypeInfo<QAbstractTextDocumentLayout::Selection>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAbstractTextDocumentLayout::Selection> (0x4361b300) 0 empty
-Class QHashNode<QVariant::Type, QItemEditorCreatorBase*>
- size=16 align=4
- base size=16 base align=4
-QHashNode<QVariant::Type, QItemEditorCreatorBase*> (0x4361bcc0) 0
-Class QTypeInfo<QTreeWidgetItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTreeWidgetItem*> (0x4361bdc0) 0 empty
-Class QTypeInfo<QAction*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAction*> (0x4365b040) 0 empty
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0x4365b300) 0
-Class QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union> (0x4365b440) 0
-Class QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union> (0x4365b5c0) 0
-Class QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union> (0x4365b780) 0
-Class QList<QItemSelectionRange>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::Node (0x4365b940) 0
-Class QTypeInfo<QStyleOptionQ3ListViewItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QStyleOptionQ3ListViewItem> (0x4365bb00) 0 empty
-Class QList<QStyleOptionQ3ListViewItem>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::Node (0x4365bbc0) 0
-Class QList<QVariant>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::Node (0x4365bec0) 0
-Class QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union> (0x436c8180) 0
diff --git a/tests/auto/bic/data/QtGui.4.0.0.linux-gcc-ppc32.txt b/tests/auto/bic/data/QtGui.4.0.0.linux-gcc-ppc32.txt
index d4588a5..6ff4c2c 100644
--- a/tests/auto/bic/data/QtGui.4.0.0.linux-gcc-ppc32.txt
+++ b/tests/auto/bic/data/QtGui.4.0.0.linux-gcc-ppc32.txt
@@ -59,145 +59,37 @@ Class QBool
base size=1 base align=1
QBool (0x30b0b188) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0x30b0b428) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0x30b0b4d0) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0x30b0b578) 0 empty
-Class QTypeInfo<uchar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uchar> (0x30b0b620) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0x30b0b6c8) 0 empty
-Class QTypeInfo<ushort>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ushort> (0x30b0b770) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0x30b0b818) 0 empty
-Class QTypeInfo<uint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uint> (0x30b0b8c0) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0x30b0b968) 0 empty
-Class QTypeInfo<ulong>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ulong> (0x30b0ba10) 0 empty
-Class QTypeInfo<qint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<qint64> (0x30b0bab8) 0 empty
-Class QTypeInfo<quint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<quint64> (0x30b0bb60) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0x30b0bc08) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0x30b0bcb0) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0x30b0bd58) 0 empty
Class QFlag
size=4 align=4
base size=4 base align=4
QFlag (0x30b0bdc8) 0
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0x30b572d8) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0x30b57348) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0x30b573b8) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0x30b57428) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0x30b57498) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0x30b57508) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0x30b57578) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0x30b575e8) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0x30b57658) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0x30b576c8) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0x30b57738) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0x30b577a8) 0
Class QInternal
size=1 align=1
@@ -215,10 +107,6 @@ Class QGenericReturnArgument
QGenericReturnArgument (0x30187a80) 0
QGenericArgument (0x30b578c0) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0x30b57a80) 0
Class QMetaObject
size=16 align=4
@@ -235,10 +123,6 @@ Class QChar
base size=2 base align=2
QChar (0x30b57b60) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0x30b57c08) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -271,10 +155,6 @@ Class QByteRef
base size=8 base align=4
QByteRef (0x314857a8) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0x31485af0) 0 empty
Class QString::Null
size=1 align=1
@@ -296,20 +176,12 @@ Class QLatin1String
base size=4 base align=4
QLatin1String (0x31485d58) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0x315b90a8) 0
Class QCharRef
size=8 align=4
base size=8 base align=4
QCharRef (0x315b90e0) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0x315b9a10) 0 empty
Class QListData::Data
size=24 align=4
@@ -321,15 +193,7 @@ Class QListData
base size=4 base align=4
QListData (0x315b9c08) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0x31706118) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0x31706070) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -421,10 +285,6 @@ QIODevice (0x30187c80) 0
QObject (0x317065b0) 0
primary-for QIODevice (0x30187c80)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0x31706770) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -449,30 +309,10 @@ Class QMapData
base size=72 base align=4
QMapData (0x31706b98) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x31706e70) 0
-Class <anonymous struct>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct>::<anonymous union> (0x318130a8) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x31813038) 0
-Class <anonymous struct>
- size=12 align=4
- base size=12 base align=4
-<anonymous struct> (0x31813118) 0
-Class <anonymous struct>
- size=16 align=8
- base size=16 base align=8
-<anonymous struct> (0x31813188) 0
Class __gconv_trans_data
size=20 align=4
@@ -494,15 +334,7 @@ Class __gconv_info
base size=8 base align=4
__gconv_info (0x318132d8) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0x318133b8) 0
-Class <anonymous union>
- size=44 align=4
- base size=44 base align=4
-<anonymous union> (0x31813348) 0
Class _IO_marker
size=12 align=4
@@ -514,10 +346,6 @@ Class _IO_FILE
base size=152 base align=8
_IO_FILE (0x31813428) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0x31813498) 0
Vtable for QTextStream
QTextStream::_ZTV11QTextStream: 4u entries
@@ -532,10 +360,6 @@ Class QTextStream
QTextStream (0x318134d0) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0x31813690) 0
Class QTextStreamManipulator
size=24 align=4
@@ -596,10 +420,6 @@ QFile (0x30187e00) 0
QObject (0x31813c08) 0
primary-for QIODevice (0x30187e40)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0x31813d90) 0
Vtable for QTemporaryFile
QTemporaryFile::_ZTV14QTemporaryFile: 31u entries
@@ -652,25 +472,13 @@ Class QRegExp
base size=4 base align=4
QRegExp (0x31813ee0) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0x31813f50) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0x31813fc0) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0x318d70e0) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0x318d7038) 0
Class QStringList
size=4 align=4
@@ -770,130 +578,42 @@ Class QFileInfo
base size=4 base align=4
QFileInfo (0x318d78c0) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0x318d7930) 0 empty
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0x318d79d8) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0x318d7af0) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0x318d7b60) 0
Class QUrl
size=4 align=4
base size=4 base align=4
QUrl (0x318d7c08) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0x318d7d20) 0 empty
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0x318d7dc8) 0
Class QMetaType
size=1 align=1
base size=0 base align=1
QMetaType (0x318d7e00) 0 empty
-Class QMetaTypeId<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QString> (0x318d7ee0) 0 empty
-Class QMetaTypeId<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<int> (0x318d7f50) 0 empty
-Class QMetaTypeId<uint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<uint> (0x318d7fc0) 0 empty
-Class QMetaTypeId<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<bool> (0x318d7850) 0 empty
-Class QMetaTypeId<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<double> (0x31998038) 0 empty
-Class QMetaTypeId<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QByteArray> (0x319980a8) 0 empty
-Class QMetaTypeId<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QChar> (0x31998118) 0 empty
-Class QMetaTypeId<void>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<void> (0x31998188) 0 empty
-Class QMetaTypeId<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<long int> (0x319981f8) 0 empty
-Class QMetaTypeId<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<short int> (0x31998268) 0 empty
-Class QMetaTypeId<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<char> (0x319982d8) 0 empty
-Class QMetaTypeId<ulong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<ulong> (0x31998348) 0 empty
-Class QMetaTypeId<ushort>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<ushort> (0x319983b8) 0 empty
-Class QMetaTypeId<uchar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<uchar> (0x31998428) 0 empty
-Class QMetaTypeId<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<float> (0x31998498) 0 empty
-Class QMetaTypeId<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QObject*> (0x31998508) 0 empty
-Class QMetaTypeId<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QWidget*> (0x31998578) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -920,35 +640,15 @@ Class QVariant
base size=16 base align=8
QVariant (0x319985b0) 0
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0x31998b28) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0x31998a80) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0x31998ce8) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0x31998c40) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0x31998ea8) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0x31998fc0) 0 empty
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1033,10 +733,6 @@ Class QFileEngineHandler
QFileEngineHandler (0x31a3e188) 0 nearly-empty
vptr=((& QFileEngineHandler::_ZTV18QFileEngineHandler) + 8u)
-Class QFlags<QFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileEngine::FileFlag> (0x31a3e310) 0
Class QHashData::Node
size=8 align=4
@@ -1053,90 +749,54 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0x31a3e508) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0x31a3e578) 0 empty
Class QPoint
size=8 align=4
base size=8 base align=4
QPoint (0x31a3ec40) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0x31a3e268) 0 empty
Class QPointF
size=16 align=8
base size=16 base align=8
QPointF (0x31a3ee38) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0x31b23268) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0x31b23428) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0x31b23498) 0 empty
Class QLineF
size=32 align=8
base size=32 base align=8
QLineF (0x31b235e8) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0x31b23690) 0 empty
Class QSize
size=8 align=4
base size=8 base align=4
QSize (0x31b23818) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0x31b23b98) 0 empty
Class QSizeF
size=16 align=8
base size=16 base align=8
QSizeF (0x31b23e00) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0x31b231c0) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0x31bc7070) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0x31bc7268) 0 empty
Class QRectF
size=32 align=8
base size=32 base align=8
QRectF (0x31bc7498) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0x31bc7620) 0 empty
Class QLinkedListData
size=20 align=4
@@ -1153,10 +813,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0x31bc7188) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0x31d0b038) 0 empty
Class QVectorData
size=16 align=4
@@ -1178,40 +834,24 @@ Class QLocale
base size=4 base align=4
QLocale (0x31d0b5e8) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0x31d0b658) 0 empty
Class QDate
size=4 align=4
base size=4 base align=4
QDate (0x31d0b850) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0x31d0ba10) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0x31d0ba80) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0x31d0bc08) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0x31d0bc78) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0x31d0bdc8) 0 empty
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -1286,10 +926,6 @@ QTextCodecPlugin (0x3191a380) 0
QFactoryInterface (0x31e4e118) 8 nearly-empty
primary-for QTextCodecFactoryInterface (0x3191a3c0)
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0x31e4e540) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -1409,10 +1045,6 @@ QEventLoop (0x3191a4c0) 0
QObject (0x31e4ea80) 0
primary-for QEventLoop (0x3191a4c0)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0x31e4ec08) 0
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -1489,20 +1121,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0x31ed1070) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0x31ed11f8) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0x31ed12a0) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0x31ed13b8) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -1722,10 +1346,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0x31ed1a80) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0x31ed1b60) 0 empty
Vtable for QSocketNotifier
QSocketNotifier::_ZTV15QSocketNotifier: 14u entries
@@ -1820,20 +1440,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0x31ed1f88) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0x31ed1540) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0x31ed17a8) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0x31ed1c78) 0 empty
Class QMetaProperty
size=20 align=4
@@ -1845,10 +1457,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0x31f72000) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0x31f720a8) 0 empty
Vtable for QPluginLoader
QPluginLoader::_ZTV13QPluginLoader: 14u entries
@@ -1971,25 +1579,9 @@ Class QWriteLocker
base size=4 base align=4
QWriteLocker (0x31f728f8) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x31f72b28) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x31f72b98) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x31f72c08) 0
-Class QColor::<anonymous union>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union> (0x31f72ab8) 0
Class QColor
size=16 align=4
@@ -2006,55 +1598,23 @@ Class QPen
base size=4 base align=4
QPen (0x31f72460) 0
-Class QTypeInfo<QPen>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPen> (0x31f72c40) 0 empty
Class QBrush
size=4 align=4
base size=4 base align=4
QBrush (0x31f72ee0) 0
-Class QTypeInfo<QBrush>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBrush> (0x32023000) 0 empty
Class QBrushData
size=24 align=4
base size=24 base align=4
QBrushData (0x32023070) 0
-Class QVector<QGradientStop>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QGradientStop>::<anonymous union> (0x32023310) 0
-Class QVector<QGradientStop>
- size=4 align=4
- base size=4 base align=4
-QVector<QGradientStop> (0x32023230) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=32 align=8
- base size=32 base align=8
-QGradient::<anonymous union>::<anonymous struct> (0x32023428) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=40 align=8
- base size=40 base align=8
-QGradient::<anonymous union>::<anonymous struct> (0x32023498) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=24 align=8
- base size=24 base align=8
-QGradient::<anonymous union>::<anonymous struct> (0x32023508) 0
-Class QGradient::<anonymous union>
- size=40 align=8
- base size=40 base align=8
-QGradient::<anonymous union> (0x320233b8) 0
Class QGradient
size=64 align=8
@@ -2084,25 +1644,13 @@ Class QTextLength
base size=16 base align=8
QTextLength (0x320235e8) 0
-Class QSharedDataPointer<QTextFormatPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextFormatPrivate> (0x320238f8) 0
Class QTextFormat
size=8 align=4
base size=8 base align=4
QTextFormat (0x320237e0) 0
-Class QVector<QTextLength>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength>::<anonymous union> (0x32023c40) 0
-Class QVector<QTextLength>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength> (0x32023b60) 0
Class QTextCharFormat
size=8 align=4
@@ -2242,10 +1790,6 @@ QTextFrame (0x3191acc0) 0
QObject (0x3210b070) 0
primary-for QTextObject (0x3191ad00)
-Class QTypeInfo<QTextFrame::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFrame::iterator> (0x3210b508) 0 empty
Class QTextBlock::iterator
size=16 align=4
@@ -2257,25 +1801,13 @@ Class QTextBlock
base size=8 base align=4
QTextBlock (0x3210b578) 0
-Class QTypeInfo<QTextBlock>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock> (0x3210b8f8) 0 empty
-Class QTypeInfo<QTextBlock::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock::iterator> (0x3210b9a0) 0 empty
Class QTextFragment
size=12 align=4
base size=12 base align=4
QTextFragment (0x3210ba10) 0
-Class QTypeInfo<QTextFragment>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFragment> (0x3210bbd0) 0 empty
Class QFontMetrics
size=4 align=4
@@ -2340,10 +1872,6 @@ Class QTextOption
base size=28 base align=8
QTextOption (0x3210be00) 0
-Class QFlags<QTextOption::Flag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextOption::Flag> (0x32190070) 0
Class QTextTableCell
size=8 align=4
@@ -2394,10 +1922,6 @@ Class QKeySequence
base size=4 base align=4
QKeySequence (0x321906c8) 0
-Class QTypeInfo<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QKeySequence> (0x32190818) 0 empty
Vtable for QMimeSource
QMimeSource::_ZTV11QMimeSource: 7u entries
@@ -2680,15 +2204,7 @@ Class QInputMethodEvent::Attribute
base size=32 base align=8
QInputMethodEvent::Attribute (0x32225850) 0
-Class QList<QInputMethodEvent::Attribute>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute>::<anonymous union> (0x322259d8) 0
-Class QList<QInputMethodEvent::Attribute>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute> (0x32225930) 0
Vtable for QInputMethodEvent
QInputMethodEvent::_ZTV17QInputMethodEvent: 4u entries
@@ -2705,15 +2221,7 @@ QInputMethodEvent (0x321fc3c0) 0
QEvent (0x32225818) 0
primary-for QInputMethodEvent (0x321fc3c0)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0x32225d20) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0x32225c78) 0
Vtable for QDropEvent
QDropEvent::_ZTV10QDropEvent: 14u entries
@@ -2982,15 +2490,7 @@ Class QTextLayout
base size=4 base align=4
QTextLayout (0x32284d20) 0
-Class QVector<QTextLayout::FormatRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange>::<anonymous union> (0x32284f50) 0
-Class QVector<QTextLayout::FormatRange>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange> (0x32284e70) 0
Class QTextLine
size=8 align=4
@@ -3039,10 +2539,6 @@ Class QTextDocumentFragment
base size=4 base align=4
QTextDocumentFragment (0x322e30e0) 0
-Class QSharedDataPointer<QTextCursorPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextCursorPrivate> (0x322e31f8) 0
Class QTextCursor
size=4 align=4
@@ -3059,15 +2555,7 @@ Class QAbstractTextDocumentLayout::Selection
base size=12 base align=4
QAbstractTextDocumentLayout::Selection (0x322e3380) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union> (0x322e3578) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection> (0x322e3498) 0
Class QAbstractTextDocumentLayout::PaintContext
size=56 align=8
@@ -3894,10 +3382,6 @@ QFileDialog (0x321fcf80) 0
QPaintDevice (0x323c7d20) 8
vptr=((& QFileDialog::_ZTV11QFileDialog) + 244u)
-Class QFlags<QFileDialog::Option>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileDialog::Option> (0x323c7f18) 0
Vtable for QAbstractPrintDialog
QAbstractPrintDialog::_ZTV20QAbstractPrintDialog: 67u entries
@@ -4417,10 +3901,6 @@ QImage (0x3244c540) 0
QPaintDevice (0x32484968) 0
primary-for QImage (0x3244c540)
-Class QTypeInfo<QImage>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QImage> (0x32484b28) 0 empty
Vtable for QPixmap
QPixmap::_ZTV7QPixmap: 7u entries
@@ -4645,10 +4125,6 @@ Class QIcon
base size=4 base align=4
QIcon (0x3252b6c8) 0
-Class QTypeInfo<QIcon>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QIcon> (0x3252b738) 0 empty
Vtable for QIconEngine
QIconEngine::_ZTV11QIconEngine: 9u entries
@@ -4800,15 +4276,7 @@ Class QPrintEngine
QPrintEngine (0x3252b000) 0 nearly-empty
vptr=((& QPrintEngine::_ZTV12QPrintEngine) + 8u)
-Class QVector<QPoint>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint>::<anonymous union> (0x325a1038) 0
-Class QVector<QPoint>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint> (0x3252bab8) 0
Class QPolygon
size=4 align=4
@@ -4816,15 +4284,7 @@ Class QPolygon
QPolygon (0x3244c9c0) 0
QVector<QPoint> (0x325a10a8) 0
-Class QVector<QPointF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF>::<anonymous union> (0x325a1460) 0
-Class QVector<QPointF>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF> (0x325a1380) 0
Class QPolygonF
size=4 align=4
@@ -4837,55 +4297,19 @@ Class QMatrix
base size=48 base align=8
QMatrix (0x325a1770) 0
-Class QTypeInfo<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMatrix> (0x325a17e0) 0 empty
Class QPainter
size=4 align=4
base size=4 base align=4
QPainter (0x325a1888) 0
-Class QVector<QLineF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF>::<anonymous union> (0x325a1b60) 0
-Class QVector<QLineF>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF> (0x325a1a80) 0
-Class QVector<QLine>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine>::<anonymous union> (0x325a1d20) 0
-Class QVector<QLine>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine> (0x325a1c40) 0
-Class QVector<QRectF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF>::<anonymous union> (0x325a1ee0) 0
-Class QVector<QRectF>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF> (0x325a1e00) 0
-Class QVector<QRect>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect>::<anonymous union> (0x3267a070) 0
-Class QVector<QRect>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect> (0x325a1fc0) 0
Vtable for QStyle
QStyle::_ZTV6QStyle: 35u entries
@@ -4933,15 +4357,7 @@ QStyle (0x3244ca40) 0
QObject (0x3267a0e0) 0
primary-for QStyle (0x3244ca40)
-Class QFlags<QStyle::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::StateFlag> (0x3267a2a0) 0
-Class QFlags<QStyle::SubControl>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::SubControl> (0x3267a310) 0
Class QStylePainter
size=12 align=4
@@ -4959,25 +4375,13 @@ Class QPainterPath
base size=4 base align=4
QPainterPath (0x3267a578) 0
-Class QVector<QPainterPath::Element>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element>::<anonymous union> (0x3267aa10) 0
-Class QVector<QPainterPath::Element>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element> (0x3267a930) 0
Class QPainterPathPrivate
size=8 align=4
base size=8 base align=4
QPainterPathPrivate (0x3267a770) 0
-Class QTypeInfo<QPainterPath::Element>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPainterPath::Element> (0x3267aab8) 0 empty
Class QPainterPathStroker
size=4 align=4
@@ -4989,15 +4393,7 @@ Class QTextItem
base size=0 base align=1
QTextItem (0x3267ace8) 0 empty
-Class QTypeInfo<QTextItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextItem> (0x3267ad90) 0 empty
-Class QFlags<QPaintEngine::PaintEngineFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::PaintEngineFeature> (0x3267af18) 0
Vtable for QPaintEngine
QPaintEngine::_ZTV12QPaintEngine: 24u entries
@@ -5032,10 +4428,6 @@ Class QPaintEngine
QPaintEngine (0x3267ae00) 0
vptr=((& QPaintEngine::_ZTV12QPaintEngine) + 8u)
-Class QFlags<QPaintEngine::DirtyFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::DirtyFlag> (0x3267aea8) 0
Class QPaintEngineState
size=4 align=4
@@ -5047,10 +4439,6 @@ Class QItemSelectionRange
base size=8 base align=4
QItemSelectionRange (0x327aa000) 0
-Class QTypeInfo<QItemSelectionRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QItemSelectionRange> (0x327aa2a0) 0 empty
Vtable for QItemSelectionModel
QItemSelectionModel::_ZTV19QItemSelectionModel: 18u entries
@@ -5081,20 +4469,8 @@ QItemSelectionModel (0x3244cb00) 0
QObject (0x327aa348) 0
primary-for QItemSelectionModel (0x3244cb00)
-Class QFlags<QItemSelectionModel::SelectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QItemSelectionModel::SelectionFlag> (0x327aa4d0) 0
-Class QList<QItemSelectionRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::<anonymous union> (0x327aa620) 0
-Class QList<QItemSelectionRange>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange> (0x327aa578) 0
Class QItemSelection
size=4 align=4
@@ -5383,10 +4759,6 @@ QAbstractSpinBox (0x3244ce00) 0
QPaintDevice (0x327aadc8) 8
vptr=((& QAbstractSpinBox::_ZTV16QAbstractSpinBox) + 252u)
-Class QFlags<QAbstractSpinBox::StepEnabledFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractSpinBox::StepEnabledFlag> (0x327aa428) 0
Vtable for QAbstractSlider
QAbstractSlider::_ZTV15QAbstractSlider: 64u entries
@@ -5823,10 +5195,6 @@ Class QStyleOptionHeader
QStyleOptionHeader (0x32874240) 0
QStyleOption (0x32862ea8) 0
-Class QFlags<QStyleOptionButton::ButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionButton::ButtonFeature> (0x32862c40) 0
Class QStyleOptionButton
size=64 align=4
@@ -5834,10 +5202,6 @@ Class QStyleOptionButton
QStyleOptionButton (0x328742c0) 0
QStyleOption (0x32862310) 0
-Class QFlags<QStyleOptionTab::CornerWidget>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionTab::CornerWidget> (0x328e2188) 0
Class QStyleOptionTab
size=72 align=4
@@ -5857,10 +5221,6 @@ Class QStyleOptionMenuItem
QStyleOptionMenuItem (0x328743c0) 0
QStyleOption (0x328e2460) 0
-Class QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature> (0x328e2738) 0
Class QStyleOptionQ3ListViewItem
size=64 align=4
@@ -5918,15 +5278,7 @@ QStyleOptionSpinBox (0x32874640) 0
QStyleOptionComplex (0x32874680) 0
QStyleOption (0x32954118) 0
-Class QList<QStyleOptionQ3ListViewItem>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::<anonymous union> (0x32954498) 0
-Class QList<QStyleOptionQ3ListViewItem>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem> (0x329543f0) 0
Class QStyleOptionQ3ListView
size=84 align=4
@@ -5935,10 +5287,6 @@ QStyleOptionQ3ListView (0x328746c0) 0
QStyleOptionComplex (0x32874700) 0
QStyleOption (0x329542a0) 0
-Class QFlags<QStyleOptionToolButton::ToolButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionToolButton::ToolButtonFeature> (0x32954770) 0
Class QStyleOptionToolButton
size=96 align=4
@@ -6126,10 +5474,6 @@ QAbstractItemView (0x32874980) 0
QPaintDevice (0x32954e70) 8
vptr=((& QAbstractItemView::_ZTV17QAbstractItemView) + 392u)
-Class QFlags<QAbstractItemView::EditTrigger>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractItemView::EditTrigger> (0x32954380) 0
Vtable for QStringListModel
QStringListModel::_ZTV16QStringListModel: 42u entries
@@ -6312,15 +5656,7 @@ QListView (0x32874b80) 0
QPaintDevice (0x32954dc8) 8
vptr=((& QListView::_ZTV9QListView) + 392u)
-Class QVector<QWidgetItemData>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData>::<anonymous union> (0x32a07310) 0
-Class QVector<QWidgetItemData>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData> (0x32a07230) 0
Vtable for QListWidgetItem
QListWidgetItem::_ZTV15QListWidgetItem: 11u entries
@@ -7237,15 +6573,7 @@ Class QItemEditorCreatorBase
QItemEditorCreatorBase (0x32ae8540) 0 nearly-empty
vptr=((& QItemEditorCreatorBase::_ZTV22QItemEditorCreatorBase) + 8u)
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union> (0x32ae88f8) 0
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*> (0x32ae8818) 0
Vtable for QItemEditorFactory
QItemEditorFactory::_ZTV18QItemEditorFactory: 6u entries
@@ -7262,25 +6590,9 @@ Class QItemEditorFactory
QItemEditorFactory (0x32ae8738) 0
vptr=((& QItemEditorFactory::_ZTV18QItemEditorFactory) + 8u)
-Class QVector<QVector<QWidgetItemData> >::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> >::<anonymous union> (0x32ae8ce8) 0
-Class QVector<QVector<QWidgetItemData> >
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> > (0x32ae8c08) 0
-Class QList<QTreeWidgetItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::<anonymous union> (0x32ae8ea8) 0
-Class QList<QTreeWidgetItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*> (0x32ae8e00) 0
Vtable for QTreeWidgetItem
QTreeWidgetItem::_ZTV15QTreeWidgetItem: 10u entries
@@ -7507,15 +6819,7 @@ Class QAccessible
base size=0 base align=1
QAccessible (0x32bd45e8) 0 empty
-Class QFlags<QAccessible::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::StateFlag> (0x32bd46c8) 0
-Class QFlags<QAccessible::RelationFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::RelationFlag> (0x32bd4738) 0
Vtable for QAccessibleInterface
QAccessibleInterface::_ZTV20QAccessibleInterface: 19u entries
@@ -8497,10 +7801,6 @@ QCommonStyle (0x32cbc280) 0
QObject (0x32cb1d58) 0
primary-for QStyle (0x32cbc2c0)
-Class QPointer<QFocusFrame>
- size=4 align=4
- base size=4 base align=4
-QPointer<QFocusFrame> (0x32cb1f50) 0
Vtable for QMotifStyle
QMotifStyle::_ZTV11QMotifStyle: 35u entries
@@ -10028,10 +9328,6 @@ QDateEdit (0x32e19240) 0
QPaintDevice (0x32dd4e70) 8
vptr=((& QDateEdit::_ZTV9QDateEdit) + 260u)
-Class QFlags<QDateTimeEdit::Section>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDateTimeEdit::Section> (0x32dd4268) 0
Vtable for QLabel
QLabel::_ZTV6QLabel: 63u entries
@@ -10191,10 +9487,6 @@ QDockWidget (0x32e19400) 0
QPaintDevice (0x32e6b038) 8
vptr=((& QDockWidget::_ZTV11QDockWidget) + 232u)
-Class QFlags<QDockWidget::DockWidgetFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDockWidget::DockWidgetFeature> (0x32e6b2a0) 0
Vtable for QGroupBox
QGroupBox::_ZTV9QGroupBox: 63u entries
@@ -11738,133 +11030,29 @@ QDial (0x32f930c0) 0
QPaintDevice (0x32f15700) 8
vptr=((& QDial::_ZTV5QDial) + 236u)
-Class QVectorTypedData<QTextLength>
- size=32 align=8
- base size=32 base align=8
-QVectorTypedData<QTextLength> (0x33038f18) 0
-Class QVectorTypedData<QTextLayout::FormatRange>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QTextLayout::FormatRange> (0x330523f0) 0
-Class QVectorTypedData<QAbstractTextDocumentLayout::Selection>
- size=28 align=4
- base size=28 base align=4
-QVectorTypedData<QAbstractTextDocumentLayout::Selection> (0x33052690) 0
-Class QVectorTypedData<QPoint>
- size=24 align=4
- base size=24 base align=4
-QVectorTypedData<QPoint> (0x33052f50) 0
-Class QVectorTypedData<QPointF>
- size=32 align=8
- base size=32 base align=8
-QVectorTypedData<QPointF> (0x3306f578) 0
-Class QVectorTypedData<QLineF>
- size=48 align=8
- base size=48 base align=8
-QVectorTypedData<QLineF> (0x3306fc08) 0
-Class QVectorTypedData<QLine>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QLine> (0x3306fd90) 0
-Class QVectorTypedData<QRectF>
- size=48 align=8
- base size=48 base align=8
-QVectorTypedData<QRectF> (0x330a20e0) 0
-Class QVectorTypedData<QRect>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QRect> (0x330a2268) 0
-Class QVectorTypedData<QPainterPath::Element>
- size=40 align=8
- base size=40 base align=8
-QVectorTypedData<QPainterPath::Element> (0x330a29d8) 0
-Class QList<QTreeWidgetItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::Node (0x33114118) 0
-Class QVectorTypedData<QVector<QWidgetItemData> >
- size=20 align=4
- base size=20 base align=4
-QVectorTypedData<QVector<QWidgetItemData> > (0x33114310) 0
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0x3314b428) 0
-Class QTypeInfo<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLength> (0x3314be00) 0 empty
-Class QTypeInfo<QTextLayout::FormatRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLayout::FormatRange> (0x3316c118) 0 empty
-Class QTypeInfo<QAbstractTextDocumentLayout::Selection>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAbstractTextDocumentLayout::Selection> (0x3316c508) 0 empty
-Class QHashNode<QVariant::Type, QItemEditorCreatorBase*>
- size=16 align=4
- base size=16 base align=4
-QHashNode<QVariant::Type, QItemEditorCreatorBase*> (0x3318b5e8) 0
-Class QTypeInfo<QTreeWidgetItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTreeWidgetItem*> (0x3318b770) 0 empty
-Class QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union> (0x3318be70) 0
-Class QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union> (0x331be348) 0
-Class QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union> (0x331be968) 0
-Class QList<QItemSelectionRange>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::Node (0x331bef88) 0
-Class QTypeInfo<QStyleOptionQ3ListViewItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QStyleOptionQ3ListViewItem> (0x331fa150) 0 empty
-Class QList<QStyleOptionQ3ListViewItem>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::Node (0x331fa1f8) 0
-Class QList<QVariant>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::Node (0x331fa6c8) 0
-Class QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union> (0x331fab98) 0
diff --git a/tests/auto/bic/data/QtGui.4.0.0.macx-gcc-ppc32.txt b/tests/auto/bic/data/QtGui.4.0.0.macx-gcc-ppc32.txt
index 807503e..a729c86 100644
--- a/tests/auto/bic/data/QtGui.4.0.0.macx-gcc-ppc32.txt
+++ b/tests/auto/bic/data/QtGui.4.0.0.macx-gcc-ppc32.txt
@@ -59,75 +59,19 @@ Class QBool
base size=4 base align=4
QBool (0x82e100) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0x82e440) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0x82e500) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0x82e5c0) 0 empty
-Class QTypeInfo<uchar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uchar> (0x82e680) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0x82e740) 0 empty
-Class QTypeInfo<ushort>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ushort> (0x82e800) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0x82e8c0) 0 empty
-Class QTypeInfo<uint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uint> (0x82e980) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0x82ea40) 0 empty
-Class QTypeInfo<ulong>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ulong> (0x82eb00) 0 empty
-Class QTypeInfo<qint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<qint64> (0x82ebc0) 0 empty
-Class QTypeInfo<quint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<quint64> (0x82ec80) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0x82ed40) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0x82ee00) 0 empty
Class QFlag
size=4 align=4
@@ -144,10 +88,6 @@ Class QChar
base size=2 base align=2
QChar (0x87a100) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0x87a200) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -160,10 +100,6 @@ Class QAtomic
QAtomic (0x87a5c0) 0
QBasicAtomic (0x87a600) 0
-Class <anonymous union>
- size=128 align=8
- base size=128 base align=8
-<anonymous union> (0x87a880) 0
Class __darwin_pthread_handler_rec
size=12 align=4
@@ -245,70 +181,18 @@ Class QByteRef
base size=8 base align=4
QByteRef (0x17ad500) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0x17ad8c0) 0 empty
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0x17add80) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0x17ade00) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0x17ade80) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0x17adf00) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0x17adf80) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0x18c2000) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0x18c2080) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0x18c2100) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0x18c2180) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0x18c2200) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0x18c2280) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0x18c2300) 0
Class QInternal
size=1 align=1
@@ -335,10 +219,6 @@ Class QLatin1String
base size=4 base align=4
QLatin1String (0x18c2a40) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0x18c2e80) 0
Class QCharRef
size=8 align=4
@@ -351,10 +231,6 @@ Class QConstString
QConstString (0x1a6aa80) 0
QString (0x1a6aac0) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0x1a6abc0) 0 empty
Class QListData::Data
size=24 align=4
@@ -366,10 +242,6 @@ Class QListData
base size=4 base align=4
QListData (0x1a6ae00) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0x1b65400) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -394,15 +266,7 @@ Class QTextCodec
QTextCodec (0x1b65280) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0x1b65740) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0x1b65680) 0
Class QTextEncoder
size=32 align=4
@@ -425,25 +289,13 @@ Class QGenericReturnArgument
QGenericReturnArgument (0x1b65980) 0
QGenericArgument (0x1b659c0) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0x1b65c80) 0
Class QMetaObject
size=16 align=4
base size=16 base align=4
QMetaObject (0x1b65c00) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0x1b65f00) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0x1b65e40) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -535,10 +387,6 @@ QIODevice (0x1cb2440) 0
QObject (0x1cb2480) 0
primary-for QIODevice (0x1cb2440)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0x1cb26c0) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -558,25 +406,13 @@ Class QRegExp
base size=4 base align=4
QRegExp (0x1cb2d80) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0x1cb2f80) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0x1cb2100) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0x1d9d140) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0x1d9d080) 0
Class QStringList
size=4 align=4
@@ -584,15 +420,7 @@ Class QStringList
QStringList (0x1d9d200) 0
QList<QString> (0x1d9d240) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0x1d9d700) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0x1d9d780) 0
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -748,10 +576,6 @@ Class QTextStream
QTextStream (0x1e21880) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0x1f16280) 0
Class QTextStreamManipulator
size=24 align=4
@@ -842,50 +666,22 @@ QFile (0x1f16f00) 0
QObject (0x1f16f80) 0
primary-for QIODevice (0x1f16f40)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0x1ff9040) 0
Class QFileInfo
size=4 align=4
base size=4 base align=4
QFileInfo (0x1ff9080) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0x1ff9140) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0x1ff91c0) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0x1ff9380) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0x1ff92c0) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0x1ff9440) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0x1ff9580) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0x1ff9640) 0
Vtable for QFileEngine
QFileEngine::_ZTV11QFileEngine: 35u entries
@@ -945,10 +741,6 @@ Class QFileEngineHandler
QFileEngineHandler (0x1ff9880) 0 nearly-empty
vptr=((& QFileEngineHandler::_ZTV18QFileEngineHandler) + 8u)
-Class QFlags<QFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileEngine::FileFlag> (0x1ff9a40) 0
Vtable for QProcess
QProcess::_ZTV8QProcess: 31u entries
@@ -999,90 +791,22 @@ Class QMetaType
base size=0 base align=1
QMetaType (0x1ff9c40) 0 empty
-Class QMetaTypeId<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QString> (0x1ff9d40) 0 empty
-Class QMetaTypeId<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<int> (0x1ff9dc0) 0 empty
-Class QMetaTypeId<uint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<uint> (0x1ff9e40) 0 empty
-Class QMetaTypeId<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<bool> (0x1ff9ec0) 0 empty
-Class QMetaTypeId<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<double> (0x1ff9f40) 0 empty
-Class QMetaTypeId<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QByteArray> (0x1ff9fc0) 0 empty
-Class QMetaTypeId<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QChar> (0x1ff9980) 0 empty
-Class QMetaTypeId<void>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<void> (0x210c000) 0 empty
-Class QMetaTypeId<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<long int> (0x210c080) 0 empty
-Class QMetaTypeId<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<short int> (0x210c100) 0 empty
-Class QMetaTypeId<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<char> (0x210c180) 0 empty
-Class QMetaTypeId<ulong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<ulong> (0x210c200) 0 empty
-Class QMetaTypeId<ushort>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<ushort> (0x210c280) 0 empty
-Class QMetaTypeId<uchar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<uchar> (0x210c300) 0 empty
-Class QMetaTypeId<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<float> (0x210c380) 0 empty
-Class QMetaTypeId<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QObject*> (0x210c400) 0 empty
-Class QMetaTypeId<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QWidget*> (0x210c480) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -1109,50 +833,18 @@ Class QVariant
base size=16 base align=4
QVariant (0x210c4c0) 0
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0x210cb40) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0x210ca80) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0x210cd40) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0x210cc80) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0x210cfc0) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0x210cd80) 0 empty
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0x21df040) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x21df0c0) 0
-Class <anonymous struct>
- size=3156 align=4
- base size=3156 base align=4
-<anonymous struct> (0x21df140) 0
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1230,15 +922,7 @@ Class QUrl
base size=4 base align=4
QUrl (0x21dfa00) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0x21dfc00) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0x21dfc80) 0 empty
Vtable for QEventLoop
QEventLoop::_ZTV10QEventLoop: 14u entries
@@ -1265,10 +949,6 @@ QEventLoop (0x21dfd00) 0
QObject (0x21dfd40) 0
primary-for QEventLoop (0x21dfd00)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0x21dff40) 0
Vtable for QAbstractEventDispatcher
QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 27u entries
@@ -1313,20 +993,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0x22d0080) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0x22d0240) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0x22d0300) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0x22d0440) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -1496,10 +1168,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0x22d0b00) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0x22d0c00) 0 empty
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -1591,20 +1259,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0x237e540) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0x237e600) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0x237e680) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0x237e740) 0 empty
Class QMetaProperty
size=20 align=4
@@ -1616,10 +1276,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0x237e800) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0x237e8c0) 0 empty
Vtable for QMimeData
QMimeData::_ZTV9QMimeData: 17u entries
@@ -1907,10 +1563,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0x24db140) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0x24db280) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -1932,80 +1584,48 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0x24db4c0) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0x24db540) 0 empty
Class QDate
size=4 align=4
base size=4 base align=4
QDate (0x24dbd40) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0x24dbf40) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0x24dbfc0) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0x2604040) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0x26040c0) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0x2604240) 0 empty
Class QPoint
size=8 align=4
base size=8 base align=4
QPoint (0x26042c0) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0x2604740) 0 empty
Class QPointF
size=16 align=8
base size=16 base align=4
QPointF (0x2604900) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0x2604d80) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0x2604f80) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0x2604100) 0 empty
Class QLineF
size=32 align=8
base size=32 base align=4
QLineF (0x2604500) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0x2604680) 0 empty
Class QLinkedListData
size=20 align=4
@@ -2017,50 +1637,30 @@ Class QLocale
base size=4 base align=4
QLocale (0x26ce380) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0x26ce400) 0 empty
Class QSize
size=8 align=4
base size=8 base align=4
QSize (0x26ce540) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0x26ce940) 0 empty
Class QSizeF
size=16 align=8
base size=16 base align=4
QSizeF (0x26cec00) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0x26ce200) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0x26cef40) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0x2810180) 0 empty
Class QRectF
size=32 align=8
base size=32 base align=4
QRectF (0x2810400) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0x28105c0) 0 empty
Class QSharedData
size=4 align=4
@@ -2087,10 +1687,6 @@ Class QKeySequence
base size=4 base align=4
QKeySequence (0x2a17200) 0
-Class QTypeInfo<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QKeySequence> (0x2a17380) 0 empty
Vtable for QMimeSource
QMimeSource::_ZTV11QMimeSource: 7u entries
@@ -2394,15 +1990,7 @@ Class QInputMethodEvent::Attribute
base size=28 base align=4
QInputMethodEvent::Attribute (0x2aacec0) 0
-Class QList<QInputMethodEvent::Attribute>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute>::<anonymous union> (0x2aac480) 0
-Class QList<QInputMethodEvent::Attribute>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute> (0x2aacfc0) 0
Vtable for QInputMethodEvent
QInputMethodEvent::_ZTV17QInputMethodEvent: 4u entries
@@ -2676,15 +2264,7 @@ Class QAccessible
base size=0 base align=1
QAccessible (0x2b4b580) 0 empty
-Class QFlags<QAccessible::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::StateFlag> (0x2b4b6c0) 0
-Class QFlags<QAccessible::RelationFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::RelationFlag> (0x2b4b740) 0
Vtable for QAccessibleInterface
QAccessibleInterface::_ZTV20QAccessibleInterface: 19u entries
@@ -2968,25 +2548,9 @@ Class QPaintDevice
QPaintDevice (0x2bbd9c0) 0
vptr=((& QPaintDevice::_ZTV12QPaintDevice) + 8u)
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x2bbdd00) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x2bbdd80) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x2bbde00) 0
-Class QColor::<anonymous union>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union> (0x2bbdc80) 0
Class QColor
size=16 align=4
@@ -2998,45 +2562,17 @@ Class QBrush
base size=4 base align=4
QBrush (0x2bbd6c0) 0
-Class QTypeInfo<QBrush>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBrush> (0x2bbde40) 0 empty
Class QBrushData
size=24 align=4
base size=24 base align=4
QBrushData (0x2c4a000) 0
-Class QVector<QGradientStop>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QGradientStop>::<anonymous union> (0x2c4a300) 0
-Class QVector<QGradientStop>
- size=4 align=4
- base size=4 base align=4
-QVector<QGradientStop> (0x2c4a200) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=32 align=8
- base size=32 base align=8
-QGradient::<anonymous union>::<anonymous struct> (0x2c4a440) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=40 align=8
- base size=40 base align=8
-QGradient::<anonymous union>::<anonymous struct> (0x2c4a4c0) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=24 align=8
- base size=24 base align=8
-QGradient::<anonymous union>::<anonymous struct> (0x2c4a540) 0
-Class QGradient::<anonymous union>
- size=40 align=8
- base size=40 base align=8
-QGradient::<anonymous union> (0x2c4a3c0) 0
Class QGradient
size=56 align=4
@@ -3681,10 +3217,6 @@ QFileDialog (0x2e82740) 0
QPaintDevice (0x2e82800) 8
vptr=((& QFileDialog::_ZTV11QFileDialog) + 244u)
-Class QFlags<QFileDialog::Option>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileDialog::Option> (0x2e82ac0) 0
Vtable for QFontDialog
QFontDialog::_ZTV11QFontDialog: 66u entries
@@ -4379,10 +3911,6 @@ QImage (0x2f37880) 0
QPaintDevice (0x2f37b40) 0
primary-for QImage (0x2f37880)
-Class QTypeInfo<QImage>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QImage> (0x3020280) 0 empty
Vtable for QPixmap
QPixmap::_ZTV7QPixmap: 7u entries
@@ -4427,10 +3955,6 @@ Class QIcon
base size=4 base align=4
QIcon (0x3020b00) 0
-Class QTypeInfo<QIcon>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QIcon> (0x3020bc0) 0 empty
Vtable for QIconEngine
QIconEngine::_ZTV11QIconEngine: 9u entries
@@ -4760,15 +4284,7 @@ QActionGroup (0x30de9c0) 0
QObject (0x30dec40) 0
primary-for QActionGroup (0x30de9c0)
-Class QList<QAction*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QAction*>::<anonymous union> (0x318c200) 0
-Class QList<QAction*>
- size=4 align=4
- base size=4 base align=4
-QList<QAction*> (0x318c140) 0
Vtable for QInputContext
QInputContext::_ZTV13QInputContext: 25u entries
@@ -5073,10 +4589,6 @@ QAbstractSpinBox (0x318cf80) 0
QPaintDevice (0x318c040) 8
vptr=((& QAbstractSpinBox::_ZTV16QAbstractSpinBox) + 252u)
-Class QFlags<QAbstractSpinBox::StepEnabledFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractSpinBox::StepEnabledFlag> (0x322a040) 0
Vtable for QAbstractSlider
QAbstractSlider::_ZTV15QAbstractSlider: 64u entries
@@ -5284,15 +4796,7 @@ QStyle (0x322a540) 0
QObject (0x322a580) 0
primary-for QStyle (0x322a540)
-Class QFlags<QStyle::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::StateFlag> (0x322a7c0) 0
-Class QFlags<QStyle::SubControl>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::SubControl> (0x322a840) 0
Vtable for QTabBar
QTabBar::_ZTV7QTabBar: 67u entries
@@ -5569,10 +5073,6 @@ Class QStyleOptionHeader
QStyleOptionHeader (0x334f6c0) 0
QStyleOption (0x334f700) 0
-Class QFlags<QStyleOptionButton::ButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionButton::ButtonFeature> (0x334fac0) 0
Class QStyleOptionButton
size=64 align=4
@@ -5580,10 +5080,6 @@ Class QStyleOptionButton
QStyleOptionButton (0x334f900) 0
QStyleOption (0x334f940) 0
-Class QFlags<QStyleOptionTab::CornerWidget>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionTab::CornerWidget> (0x334fe00) 0
Class QStyleOptionTab
size=72 align=4
@@ -5603,10 +5099,6 @@ Class QStyleOptionMenuItem
QStyleOptionMenuItem (0x334fb00) 0
QStyleOption (0x334fd80) 0
-Class QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature> (0x33c3300) 0
Class QStyleOptionQ3ListViewItem
size=64 align=4
@@ -5664,15 +5156,7 @@ QStyleOptionSpinBox (0x3437100) 0
QStyleOptionComplex (0x3437140) 0
QStyleOption (0x3437180) 0
-Class QList<QStyleOptionQ3ListViewItem>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::<anonymous union> (0x3437600) 0
-Class QList<QStyleOptionQ3ListViewItem>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem> (0x3437540) 0
Class QStyleOptionQ3ListView
size=84 align=4
@@ -5681,10 +5165,6 @@ QStyleOptionQ3ListView (0x3437340) 0
QStyleOptionComplex (0x3437380) 0
QStyleOption (0x34373c0) 0
-Class QFlags<QStyleOptionToolButton::ToolButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionToolButton::ToolButtonFeature> (0x3437a00) 0
Class QStyleOptionToolButton
size=96 align=4
@@ -5837,10 +5317,6 @@ Class QItemSelectionRange
base size=8 base align=4
QItemSelectionRange (0x34b63c0) 0
-Class QTypeInfo<QItemSelectionRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QItemSelectionRange> (0x34b66c0) 0 empty
Vtable for QItemSelectionModel
QItemSelectionModel::_ZTV19QItemSelectionModel: 18u entries
@@ -5871,20 +5347,8 @@ QItemSelectionModel (0x34b6780) 0
QObject (0x34b67c0) 0
primary-for QItemSelectionModel (0x34b6780)
-Class QFlags<QItemSelectionModel::SelectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QItemSelectionModel::SelectionFlag> (0x34b6980) 0
-Class QList<QItemSelectionRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::<anonymous union> (0x34b6b00) 0
-Class QList<QItemSelectionRange>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange> (0x34b6a40) 0
Class QItemSelection
size=4 align=4
@@ -6014,10 +5478,6 @@ QAbstractItemView (0x34b6cc0) 0
QPaintDevice (0x34b6dc0) 8
vptr=((& QAbstractItemView::_ZTV17QAbstractItemView) + 392u)
-Class QFlags<QAbstractItemView::EditTrigger>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractItemView::EditTrigger> (0x34b62c0) 0
Vtable for QFileIconProvider
QFileIconProvider::_ZTV17QFileIconProvider: 7u entries
@@ -6269,15 +5729,7 @@ Class QItemEditorCreatorBase
QItemEditorCreatorBase (0x35bc800) 0 nearly-empty
vptr=((& QItemEditorCreatorBase::_ZTV22QItemEditorCreatorBase) + 8u)
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union> (0x35bcc80) 0
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*> (0x35bcb80) 0
Vtable for QItemEditorFactory
QItemEditorFactory::_ZTV18QItemEditorFactory: 6u entries
@@ -6418,15 +5870,7 @@ QListView (0x35bcec0) 0
QPaintDevice (0x35bc0c0) 8
vptr=((& QListView::_ZTV9QListView) + 392u)
-Class QVector<QWidgetItemData>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData>::<anonymous union> (0x3664240) 0
-Class QVector<QWidgetItemData>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData> (0x3664140) 0
Vtable for QListWidgetItem
QListWidgetItem::_ZTV15QListWidgetItem: 11u entries
@@ -7150,25 +6594,9 @@ QTreeView (0x373b600) 0
QPaintDevice (0x373b740) 8
vptr=((& QTreeView::_ZTV9QTreeView) + 400u)
-Class QVector<QVector<QWidgetItemData> >::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> >::<anonymous union> (0x373bb40) 0
-Class QVector<QVector<QWidgetItemData> >
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> > (0x373ba40) 0
-Class QList<QTreeWidgetItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::<anonymous union> (0x373bd40) 0
-Class QList<QTreeWidgetItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*> (0x373bc80) 0
Vtable for QTreeWidgetItem
QTreeWidgetItem::_ZTV15QTreeWidgetItem: 10u entries
@@ -8015,15 +7443,7 @@ Class QColormap
base size=4 base align=4
QColormap (0x3973840) 0
-Class QVector<QPoint>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint>::<anonymous union> (0x3973a40) 0
-Class QVector<QPoint>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint> (0x3973940) 0
Class QPolygon
size=4 align=4
@@ -8031,15 +7451,7 @@ Class QPolygon
QPolygon (0x3973ac0) 0
QVector<QPoint> (0x3973b00) 0
-Class QVector<QPointF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF>::<anonymous union> (0x3973f40) 0
-Class QVector<QPointF>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF> (0x3973e40) 0
Class QPolygonF
size=4 align=4
@@ -8052,90 +7464,38 @@ Class QMatrix
base size=48 base align=4
QMatrix (0x3a44200) 0
-Class QTypeInfo<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMatrix> (0x3a44280) 0 empty
Class QTextOption
size=24 align=4
base size=24 base align=4
QTextOption (0x3a44340) 0
-Class QFlags<QTextOption::Flag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextOption::Flag> (0x3a44440) 0
Class QPen
size=4 align=4
base size=4 base align=4
QPen (0x3a444c0) 0
-Class QTypeInfo<QPen>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPen> (0x3a44540) 0 empty
Class QPainter
size=4 align=4
base size=4 base align=4
QPainter (0x3a445c0) 0
-Class QVector<QLineF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF>::<anonymous union> (0x3a44c80) 0
-Class QVector<QLineF>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF> (0x3a44b80) 0
-Class QVector<QLine>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine>::<anonymous union> (0x3a44e80) 0
-Class QVector<QLine>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine> (0x3a44d80) 0
-Class QVector<QRectF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF>::<anonymous union> (0x3b54040) 0
-Class QVector<QRectF>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF> (0x3a44f80) 0
-Class QVector<QRect>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect>::<anonymous union> (0x3b54240) 0
-Class QVector<QRect>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect> (0x3b54140) 0
Class QTextItem
size=1 align=1
base size=0 base align=1
QTextItem (0x3b542c0) 0 empty
-Class QTypeInfo<QTextItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextItem> (0x3b54380) 0 empty
-Class QFlags<QPaintEngine::PaintEngineFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::PaintEngineFeature> (0x3b54540) 0
Vtable for QPaintEngine
QPaintEngine::_ZTV12QPaintEngine: 24u entries
@@ -8170,10 +7530,6 @@ Class QPaintEngine
QPaintEngine (0x3b54400) 0
vptr=((& QPaintEngine::_ZTV12QPaintEngine) + 8u)
-Class QFlags<QPaintEngine::DirtyFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::DirtyFlag> (0x3b54800) 0
Class QPaintEngineState
size=4 align=4
@@ -8190,25 +7546,13 @@ Class QPainterPath
base size=4 base align=4
QPainterPath (0x3b54840) 0
-Class QVector<QPainterPath::Element>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element>::<anonymous union> (0x3b54d80) 0
-Class QVector<QPainterPath::Element>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element> (0x3b54c80) 0
Class QPainterPathPrivate
size=8 align=4
base size=8 base align=4
QPainterPathPrivate (0x3b54a80) 0
-Class QTypeInfo<QPainterPath::Element>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPainterPath::Element> (0x3b54e40) 0 empty
Class QPainterPathStroker
size=4 align=4
@@ -8306,10 +7650,6 @@ QCommonStyle (0x3c8e640) 0
QObject (0x3c8e6c0) 0
primary-for QStyle (0x3c8e680)
-Class QPointer<QFocusFrame>
- size=4 align=4
- base size=4 base align=4
-QPointer<QFocusFrame> (0x3c8e9c0) 0
Vtable for QMotifStyle
QMotifStyle::_ZTV11QMotifStyle: 35u entries
@@ -8631,25 +7971,13 @@ Class QTextLength
base size=12 base align=4
QTextLength (0x3d2c680) 0
-Class QSharedDataPointer<QTextFormatPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextFormatPrivate> (0x3d2ca00) 0
Class QTextFormat
size=8 align=4
base size=8 base align=4
QTextFormat (0x3d2c8c0) 0
-Class QVector<QTextLength>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength>::<anonymous union> (0x3d2cdc0) 0
-Class QVector<QTextLength>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength> (0x3d2ccc0) 0
Class QTextCharFormat
size=8 align=4
@@ -8704,15 +8032,7 @@ Class QTextLayout
base size=4 base align=4
QTextLayout (0x3e1b140) 0
-Class QVector<QTextLayout::FormatRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange>::<anonymous union> (0x3e1b3c0) 0
-Class QVector<QTextLayout::FormatRange>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange> (0x3e1b2c0) 0
Class QTextLine
size=8 align=4
@@ -8762,10 +8082,6 @@ QTextDocument (0x3e1b6c0) 0
QObject (0x3e1b700) 0
primary-for QTextDocument (0x3e1b6c0)
-Class QSharedDataPointer<QTextCursorPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextCursorPrivate> (0x3e1ba00) 0
Class QTextCursor
size=4 align=4
@@ -8777,15 +8093,7 @@ Class QAbstractTextDocumentLayout::Selection
base size=12 base align=4
QAbstractTextDocumentLayout::Selection (0x3e1bb40) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union> (0x3e1bd80) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection> (0x3e1bc80) 0
Class QAbstractTextDocumentLayout::PaintContext
size=48 align=4
@@ -8952,10 +8260,6 @@ QTextFrame (0x3eeb5c0) 0
QObject (0x3eeb640) 0
primary-for QTextObject (0x3eeb600)
-Class QTypeInfo<QTextFrame::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFrame::iterator> (0x3eebb80) 0 empty
Class QTextBlock::iterator
size=16 align=4
@@ -8967,25 +8271,13 @@ Class QTextBlock
base size=8 base align=4
QTextBlock (0x3eebc40) 0
-Class QTypeInfo<QTextBlock>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock> (0x3eeb3c0) 0 empty
-Class QTypeInfo<QTextBlock::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock::iterator> (0x3f67040) 0 empty
Class QTextFragment
size=12 align=4
base size=12 base align=4
QTextFragment (0x3f67100) 0
-Class QTypeInfo<QTextFragment>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFragment> (0x3f67300) 0 empty
Vtable for QTextList
QTextList::_ZTV9QTextList: 17u entries
@@ -9587,10 +8879,6 @@ QDateEdit (0x3ff1c00) 0
QPaintDevice (0x3ff1d00) 8
vptr=((& QDateEdit::_ZTV9QDateEdit) + 260u)
-Class QFlags<QDateTimeEdit::Section>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDateTimeEdit::Section> (0x3ff1f00) 0
Vtable for QDial
QDial::_ZTV5QDial: 64u entries
@@ -9751,10 +9039,6 @@ QDockWidget (0x40b7040) 0
QPaintDevice (0x40b70c0) 8
vptr=((& QDockWidget::_ZTV11QDockWidget) + 232u)
-Class QFlags<QDockWidget::DockWidgetFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDockWidget::DockWidgetFeature> (0x40b7380) 0
Vtable for QFocusFrame
QFocusFrame::_ZTV11QFocusFrame: 63u entries
@@ -11480,10 +10764,6 @@ QTextEdit (0x4341280) 0
QPaintDevice (0x4341380) 8
vptr=((& QTextEdit::_ZTV9QTextEdit) + 256u)
-Class QFlags<QTextDocument::FindFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextDocument::FindFlag> (0x4341600) 0
Vtable for QTextBrowser
QTextBrowser::_ZTV12QTextBrowser: 74u entries
@@ -11901,153 +11181,33 @@ QWorkspace (0x444b040) 0
QPaintDevice (0x444b0c0) 8
vptr=((& QWorkspace::_ZTV10QWorkspace) + 232u)
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0x44b73c0) 0
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0x44de240) 0
-Class QList<QTreeWidgetItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::Node (0x45d0f00) 0
-Class QVectorTypedData<QVector<QWidgetItemData> >
- size=20 align=4
- base size=20 base align=4
-QVectorTypedData<QVector<QWidgetItemData> > (0x45f7140) 0
-Class QVectorTypedData<QPoint>
- size=24 align=4
- base size=24 base align=4
-QVectorTypedData<QPoint> (0x45f7400) 0
-Class QVectorTypedData<QPointF>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QPointF> (0x45f7b00) 0
-Class QVectorTypedData<QLineF>
- size=48 align=4
- base size=48 base align=4
-QVectorTypedData<QLineF> (0x4629880) 0
-Class QVectorTypedData<QLine>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QLine> (0x4629a40) 0
-Class QVectorTypedData<QRectF>
- size=48 align=4
- base size=48 base align=4
-QVectorTypedData<QRectF> (0x4629c00) 0
-Class QVectorTypedData<QRect>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QRect> (0x4629dc0) 0
-Class QVectorTypedData<QPainterPath::Element>
- size=40 align=4
- base size=40 base align=4
-QVectorTypedData<QPainterPath::Element> (0x464ba40) 0
-Class QVectorTypedData<QTextLength>
- size=28 align=4
- base size=28 base align=4
-QVectorTypedData<QTextLength> (0x464bd00) 0
-Class QVectorTypedData<QTextLayout::FormatRange>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QTextLayout::FormatRange> (0x466d000) 0
-Class QVectorTypedData<QAbstractTextDocumentLayout::Selection>
- size=28 align=4
- base size=28 base align=4
-QVectorTypedData<QAbstractTextDocumentLayout::Selection> (0x466d300) 0
-Class QList<QAction*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QAction*>::Node (0x466df40) 0
-Class QHashNode<QVariant::Type, QItemEditorCreatorBase*>
- size=16 align=4
- base size=16 base align=4
-QHashNode<QVariant::Type, QItemEditorCreatorBase*> (0x47081c0) 0
-Class QTypeInfo<QTreeWidgetItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTreeWidgetItem*> (0x4708380) 0 empty
-Class QTypeInfo<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLength> (0x4708d00) 0 empty
-Class QTypeInfo<QTextLayout::FormatRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLayout::FormatRange> (0x4708f40) 0 empty
-Class QTypeInfo<QAbstractTextDocumentLayout::Selection>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAbstractTextDocumentLayout::Selection> (0x4729380) 0 empty
-Class QTypeInfo<QAction*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAction*> (0x4729880) 0 empty
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0x4729bc0) 0
-Class QList<QVariant>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::Node (0x4729e00) 0
-Class QTypeInfo<QStyleOptionQ3ListViewItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QStyleOptionQ3ListViewItem> (0x474e180) 0 empty
-Class QList<QStyleOptionQ3ListViewItem>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::Node (0x474e240) 0
-Class QList<QItemSelectionRange>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::Node (0x474e600) 0
-Class QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union> (0x474e940) 0
-Class QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union> (0x474e980) 0
-Class QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union> (0x4793640) 0
-Class QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union> (0x4793680) 0
diff --git a/tests/auto/bic/data/QtGui.4.1.0.linux-gcc-ia32.txt b/tests/auto/bic/data/QtGui.4.1.0.linux-gcc-ia32.txt
index 00a725e..d020f63 100644
--- a/tests/auto/bic/data/QtGui.4.1.0.linux-gcc-ia32.txt
+++ b/tests/auto/bic/data/QtGui.4.1.0.linux-gcc-ia32.txt
@@ -18,145 +18,37 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0x40b04000) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0x40b040c0) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0x40b04100) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0x40b04140) 0 empty
-Class QTypeInfo<uchar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uchar> (0x40b04180) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0x40b041c0) 0 empty
-Class QTypeInfo<ushort>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ushort> (0x40b04200) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0x40b04240) 0 empty
-Class QTypeInfo<uint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uint> (0x40b04280) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0x40b042c0) 0 empty
-Class QTypeInfo<ulong>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ulong> (0x40b04300) 0 empty
-Class QTypeInfo<qint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<qint64> (0x40b04340) 0 empty
-Class QTypeInfo<quint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<quint64> (0x40b04380) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0x40b043c0) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0x40b04400) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0x40b04440) 0 empty
Class QFlag
size=4 align=4
base size=4 base align=4
QFlag (0x40b04480) 0
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0x40b04640) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0x40b046c0) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0x40b04740) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0x40b047c0) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0x40b04840) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0x40b048c0) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0x40b04940) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0x40b049c0) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0x40b04a40) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0x40b04ac0) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0x40b04b40) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0x40b04bc0) 0
Class QInternal
size=1 align=1
@@ -174,10 +66,6 @@ Class QGenericReturnArgument
QGenericReturnArgument (0x40b04d00) 0
QGenericArgument (0x40b04d40) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0x40b04f40) 0
Class QMetaObject
size=16 align=4
@@ -194,10 +82,6 @@ Class QChar
base size=2 base align=2
QChar (0x41421040) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0x41421100) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -230,10 +114,6 @@ Class QByteRef
base size=8 base align=4
QByteRef (0x41421800) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0x41421880) 0 empty
Class QString::Null
size=1 align=1
@@ -255,10 +135,6 @@ Class QLatin1String
base size=4 base align=4
QLatin1String (0x41421ac0) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0x41421c00) 0
Class QCharRef
size=8 align=4
@@ -271,10 +147,6 @@ Class QConstString
QConstString (0x41421dc0) 0
QString (0x41421e00) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0x41421e80) 0 empty
Vtable for std::exception
std::exception::_ZTVSt9exception: 5u entries
@@ -337,15 +209,7 @@ Class QListData
base size=4 base align=4
QListData (0x416d5340) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0x416d5780) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0x416d56c0) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -437,10 +301,6 @@ QIODevice (0x416d59c0) 0
QObject (0x416d5a00) 0
primary-for QIODevice (0x416d59c0)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0x416d5b40) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -470,10 +330,6 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0x416d5d00) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0x416d5d40) 0 empty
Class QMapData::Node
size=8 align=4
@@ -485,10 +341,6 @@ Class QMapData
base size=72 base align=4
QMapData (0x418392c0) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0x418398c0) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -513,15 +365,7 @@ Class QTextCodec
QTextCodec (0x418397c0) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0x41839b40) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0x41839a80) 0
Class QTextEncoder
size=32 align=4
@@ -533,30 +377,10 @@ Class QTextDecoder
base size=32 base align=4
QTextDecoder (0x41839c00) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x41839c80) 0
-Class <anonymous struct>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct>::<anonymous union> (0x41839d00) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x41839cc0) 0
-Class <anonymous struct>
- size=12 align=4
- base size=12 base align=4
-<anonymous struct> (0x41839d40) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0x41839d80) 0
Class __gconv_trans_data
size=20 align=4
@@ -578,15 +402,7 @@ Class __gconv_info
base size=8 base align=4
__gconv_info (0x41839e80) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0x41839f00) 0
-Class <anonymous union>
- size=44 align=4
- base size=44 base align=4
-<anonymous union> (0x41839ec0) 0
Class _IO_marker
size=12 align=4
@@ -598,10 +414,6 @@ Class _IO_FILE
base size=148 base align=4
_IO_FILE (0x41839f80) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0x41839fc0) 0
Vtable for QTextStream
QTextStream::_ZTV11QTextStream: 4u entries
@@ -616,10 +428,6 @@ Class QTextStream
QTextStream (0x41839140) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0x419e1000) 0
Class QTextStreamManipulator
size=24 align=4
@@ -656,40 +464,16 @@ QTextOStream (0x419e1340) 0
QTextStream (0x419e1380) 0
primary-for QTextOStream (0x419e1340)
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0x419e1540) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0x419e1580) 0
Class wait
size=4 align=4
base size=4 base align=4
wait (0x419e1500) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x419e15c0) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x419e1600) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0x419e1640) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0x419e1680) 0
Class timespec
size=8 align=4
@@ -701,10 +485,6 @@ Class timeval
base size=8 base align=4
timeval (0x419e1700) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0x419e1740) 0
Class __sched_param
size=4 align=4
@@ -721,45 +501,17 @@ Class __pthread_attr_s
base size=36 base align=4
__pthread_attr_s (0x419e1800) 0
-Class <anonymous struct>
- size=48 align=4
- base size=48 base align=4
-<anonymous struct> (0x419e1840) 0
-Class <anonymous struct>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct> (0x419e1880) 0
-Class <anonymous struct>
- size=24 align=4
- base size=24 base align=4
-<anonymous struct> (0x419e18c0) 0
-Class <anonymous struct>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct> (0x419e1900) 0
Class _pthread_rwlock_t
size=32 align=4
base size=32 base align=4
_pthread_rwlock_t (0x419e1940) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x419e1980) 0
-Class <anonymous struct>
- size=20 align=4
- base size=20 base align=4
-<anonymous struct> (0x419e19c0) 0
-Class <anonymous struct>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct> (0x419e1a00) 0
Class random_data
size=28 align=4
@@ -830,10 +582,6 @@ QFile (0x419e1f40) 0
QObject (0x419e1fc0) 0
primary-for QIODevice (0x419e1f80)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0x419e1ec0) 0
Vtable for QTemporaryFile
QTemporaryFile::_ZTV14QTemporaryFile: 31u entries
@@ -886,50 +634,22 @@ Class QFileInfo
base size=4 base align=4
QFileInfo (0x41b0b180) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0x41b0b200) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0x41b0b240) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0x41b0b380) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0x41b0b2c0) 0
Class QRegExp
size=4 align=4
base size=4 base align=4
QRegExp (0x41b0b3c0) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0x41b0b440) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0x41b0b480) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0x41b0b5c0) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0x41b0b500) 0
Class QStringList
size=4 align=4
@@ -937,30 +657,14 @@ Class QStringList
QStringList (0x41b0b600) 0
QList<QString> (0x41b0b640) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0x41b0b880) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0x41b0b900) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0x41b0bb00) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0x41b0bbc0) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0x41b0bc40) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -1017,10 +721,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0x41b0bc80) 0
vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0x41b0be40) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -1175,110 +875,30 @@ Class QUrl
base size=4 base align=4
QUrl (0x41c26200) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0x41c262c0) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0x41c26300) 0 empty
Class QMetaType
size=1 align=1
base size=0 base align=1
QMetaType (0x41c26340) 0 empty
-Class QMetaTypeId<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QString> (0x41c263c0) 0 empty
-Class QMetaTypeId<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<int> (0x41c26400) 0 empty
-Class QMetaTypeId<uint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<uint> (0x41c26440) 0 empty
-Class QMetaTypeId<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<bool> (0x41c26480) 0 empty
-Class QMetaTypeId<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<double> (0x41c264c0) 0 empty
-Class QMetaTypeId<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QByteArray> (0x41c26500) 0 empty
-Class QMetaTypeId<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QChar> (0x41c26540) 0 empty
-Class QMetaTypeId<void>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<void> (0x41c26580) 0 empty
-Class QMetaTypeId<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<long int> (0x41c265c0) 0 empty
-Class QMetaTypeId<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<short int> (0x41c26600) 0 empty
-Class QMetaTypeId<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<char> (0x41c26640) 0 empty
-Class QMetaTypeId<ulong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<ulong> (0x41c26680) 0 empty
-Class QMetaTypeId<ushort>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<ushort> (0x41c266c0) 0 empty
-Class QMetaTypeId<uchar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<uchar> (0x41c26700) 0 empty
-Class QMetaTypeId<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<float> (0x41c26740) 0 empty
-Class QMetaTypeId<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QObject*> (0x41c26780) 0 empty
-Class QMetaTypeId<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QWidget*> (0x41c267c0) 0 empty
-Class QMetaTypeId<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<void*> (0x41c26800) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -1305,35 +925,15 @@ Class QVariant
base size=12 base align=4
QVariant (0x41c26840) 0
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0x41c26e00) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0x41c26d40) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0x41c26f80) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0x41c26ec0) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0x41c26fc0) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0x41d2a0c0) 0 empty
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1365,80 +965,48 @@ Class QPoint
base size=8 base align=4
QPoint (0x41d2a300) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0x41d2a740) 0 empty
Class QPointF
size=16 align=4
base size=16 base align=4
QPointF (0x41d2a800) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0x41d2ac40) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0x41d2ad40) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0x41d2ad80) 0 empty
Class QLineF
size=32 align=4
base size=32 base align=4
QLineF (0x41d2ae80) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0x41d2af00) 0 empty
Class QSize
size=8 align=4
base size=8 base align=4
QSize (0x41d2a180) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0x41d2a640) 0 empty
Class QSizeF
size=16 align=4
base size=16 base align=4
QSizeF (0x41d2a9c0) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0x41e2d180) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0x41e2d380) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0x41e2d580) 0 empty
Class QRectF
size=32 align=4
base size=32 base align=4
QRectF (0x41e2d680) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0x41e2d800) 0 empty
Class QLinkedListData
size=20 align=4
@@ -1455,10 +1023,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0x41e2de40) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0x41e2dec0) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -1475,40 +1039,24 @@ Class QLocale
base size=4 base align=4
QLocale (0x41e2d440) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0x41e2d4c0) 0 empty
Class QDate
size=4 align=4
base size=4 base align=4
QDate (0x42007080) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0x42007200) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0x42007240) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0x420073c0) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0x42007400) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0x42007540) 0 empty
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -1668,10 +1216,6 @@ QEventLoop (0x42007cc0) 0
QObject (0x42007d00) 0
primary-for QEventLoop (0x42007cc0)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0x42007e40) 0
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -1763,20 +1307,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0x42007d80) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0x4212e040) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0x4212e080) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0x4212e140) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -1996,10 +1532,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0x4212e740) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0x4212e800) 0 empty
Vtable for QSocketNotifier
QSocketNotifier::_ZTV15QSocketNotifier: 14u entries
@@ -2094,20 +1626,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0x4212eb40) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0x4212ebc0) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0x4212ec00) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0x4212ec80) 0 empty
Class QMetaProperty
size=20 align=4
@@ -2119,10 +1643,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0x4212ed00) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0x4212ed80) 0 empty
Vtable for QPluginLoader
QPluginLoader::_ZTV13QPluginLoader: 14u entries
@@ -2245,25 +1765,9 @@ Class QWriteLocker
base size=4 base align=4
QWriteLocker (0x4221c200) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x4221c340) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x4221c380) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x4221c3c0) 0
-Class QColor::<anonymous union>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union> (0x4221c300) 0
Class QColor
size=16 align=4
@@ -2280,55 +1784,23 @@ Class QPen
base size=4 base align=4
QPen (0x4221c800) 0
-Class QTypeInfo<QPen>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPen> (0x4221c940) 0 empty
Class QBrush
size=4 align=4
base size=4 base align=4
QBrush (0x4221c980) 0
-Class QTypeInfo<QBrush>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBrush> (0x4221c9c0) 0 empty
Class QBrushData
size=24 align=4
base size=24 base align=4
QBrushData (0x4221ca00) 0
-Class QVector<QGradientStop>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QGradientStop>::<anonymous union> (0x4221cbc0) 0
-Class QVector<QGradientStop>
- size=4 align=4
- base size=4 base align=4
-QVector<QGradientStop> (0x4221cb00) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=32 align=4
- base size=32 base align=4
-QGradient::<anonymous union>::<anonymous struct> (0x4221cc40) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=40 align=4
- base size=40 base align=4
-QGradient::<anonymous union>::<anonymous struct> (0x4221cc80) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=24 align=4
- base size=24 base align=4
-QGradient::<anonymous union>::<anonymous struct> (0x4221ccc0) 0
-Class QGradient::<anonymous union>
- size=40 align=4
- base size=40 base align=4
-QGradient::<anonymous union> (0x4221cc00) 0
Class QGradient
size=56 align=4
@@ -2358,25 +1830,13 @@ Class QTextLength
base size=12 base align=4
QTextLength (0x4221ce80) 0
-Class QSharedDataPointer<QTextFormatPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextFormatPrivate> (0x4221c780) 0
Class QTextFormat
size=8 align=4
base size=8 base align=4
QTextFormat (0x4221c480) 0
-Class QVector<QTextLength>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength>::<anonymous union> (0x422e3080) 0
-Class QVector<QTextLength>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength> (0x4221cf40) 0
Class QTextCharFormat
size=8 align=4
@@ -2516,10 +1976,6 @@ QTextFrame (0x422e3740) 0
QObject (0x422e37c0) 0
primary-for QTextObject (0x422e3780)
-Class QTypeInfo<QTextFrame::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFrame::iterator> (0x422e3a40) 0 empty
Vtable for QTextBlockUserData
QTextBlockUserData::_ZTV18QTextBlockUserData: 4u entries
@@ -2544,25 +2000,13 @@ Class QTextBlock
base size=8 base align=4
QTextBlock (0x422e3b40) 0
-Class QTypeInfo<QTextBlock>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock> (0x422e3d40) 0 empty
-Class QTypeInfo<QTextBlock::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock::iterator> (0x422e3d80) 0 empty
Class QTextFragment
size=12 align=4
base size=12 base align=4
QTextFragment (0x422e3dc0) 0
-Class QTypeInfo<QTextFragment>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFragment> (0x422e3ec0) 0 empty
Class QFontMetrics
size=4 align=4
@@ -2622,20 +2066,12 @@ QTextDocument (0x422e3840) 0
QObject (0x423e7000) 0
primary-for QTextDocument (0x422e3840)
-Class QFlags<QTextDocument::FindFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextDocument::FindFlag> (0x423e7140) 0
Class QTextOption
size=24 align=4
base size=24 base align=4
QTextOption (0x423e7180) 0
-Class QFlags<QTextOption::Flag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextOption::Flag> (0x423e7200) 0
Class QTextTableCell
size=8 align=4
@@ -2686,10 +2122,6 @@ Class QKeySequence
base size=4 base align=4
QKeySequence (0x423e7880) 0
-Class QTypeInfo<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QKeySequence> (0x423e79c0) 0 empty
Vtable for QMimeSource
QMimeSource::_ZTV11QMimeSource: 7u entries
@@ -2987,15 +2419,7 @@ Class QInputMethodEvent::Attribute
base size=24 base align=4
QInputMethodEvent::Attribute (0x424b6a40) 0
-Class QList<QInputMethodEvent::Attribute>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute>::<anonymous union> (0x424b6bc0) 0
-Class QList<QInputMethodEvent::Attribute>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute> (0x424b6b00) 0
Vtable for QInputMethodEvent
QInputMethodEvent::_ZTV17QInputMethodEvent: 4u entries
@@ -3294,15 +2718,7 @@ Class QTextLayout
base size=4 base align=4
QTextLayout (0x425209c0) 0
-Class QVector<QTextLayout::FormatRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange>::<anonymous union> (0x42520c00) 0
-Class QVector<QTextLayout::FormatRange>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange> (0x42520b40) 0
Class QTextLine
size=8 align=4
@@ -3351,10 +2767,6 @@ Class QTextDocumentFragment
base size=4 base align=4
QTextDocumentFragment (0x42520280) 0
-Class QSharedDataPointer<QTextCursorPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextCursorPrivate> (0x42520580) 0
Class QTextCursor
size=4 align=4
@@ -3377,15 +2789,7 @@ Class QAbstractTextDocumentLayout::Selection
base size=12 base align=4
QAbstractTextDocumentLayout::Selection (0x425cc240) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union> (0x425cc400) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection> (0x425cc340) 0
Class QAbstractTextDocumentLayout::PaintContext
size=48 align=4
@@ -4238,10 +3642,6 @@ QFileDialog (0x42738640) 0
QPaintDevice (0x42738740) 8
vptr=((& QFileDialog::_ZTV11QFileDialog) + 244u)
-Class QFlags<QFileDialog::Option>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileDialog::Option> (0x427388c0) 0
Vtable for QAbstractPrintDialog
QAbstractPrintDialog::_ZTV20QAbstractPrintDialog: 67u entries
@@ -4327,10 +3727,6 @@ QAbstractPrintDialog (0x42738900) 0
QPaintDevice (0x42738a00) 8
vptr=((& QAbstractPrintDialog::_ZTV20QAbstractPrintDialog) + 248u)
-Class QFlags<QAbstractPrintDialog::PrintDialogOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractPrintDialog::PrintDialogOption> (0x42738b40) 0
Vtable for QPrintDialog
QPrintDialog::_ZTV12QPrintDialog: 67u entries
@@ -4766,10 +4162,6 @@ QImage (0x42818240) 0
QPaintDevice (0x42818280) 0
primary-for QImage (0x42818240)
-Class QTypeInfo<QImage>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QImage> (0x42818380) 0 empty
Vtable for QPixmap
QPixmap::_ZTV7QPixmap: 7u entries
@@ -4876,10 +4268,6 @@ QImageIOPlugin (0x42818740) 0
QFactoryInterface (0x42818800) 8 nearly-empty
primary-for QImageIOHandlerFactoryInterface (0x428187c0)
-Class QFlags<QImageIOPlugin::Capability>
- size=4 align=4
- base size=4 base align=4
-QFlags<QImageIOPlugin::Capability> (0x42818900) 0
Vtable for QPicture
QPicture::_ZTV8QPicture: 8u entries
@@ -4999,10 +4387,6 @@ Class QIcon
base size=4 base align=4
QIcon (0x42818f80) 0
-Class QTypeInfo<QIcon>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QIcon> (0x42818100) 0 empty
Vtable for QIconEngine
QIconEngine::_ZTV11QIconEngine: 9u entries
@@ -5154,15 +4538,7 @@ Class QPrintEngine
QPrintEngine (0x4292f540) 0 nearly-empty
vptr=((& QPrintEngine::_ZTV12QPrintEngine) + 8u)
-Class QVector<QPoint>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint>::<anonymous union> (0x4292f740) 0
-Class QVector<QPoint>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint> (0x4292f680) 0
Class QPolygon
size=4 align=4
@@ -5170,15 +4546,7 @@ Class QPolygon
QPolygon (0x4292f780) 0
QVector<QPoint> (0x4292f7c0) 0
-Class QVector<QPointF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF>::<anonymous union> (0x4292fa40) 0
-Class QVector<QPointF>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF> (0x4292f980) 0
Class QPolygonF
size=4 align=4
@@ -5191,60 +4559,20 @@ Class QMatrix
base size=48 base align=4
QMatrix (0x4292fc40) 0
-Class QTypeInfo<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMatrix> (0x4292fc80) 0 empty
Class QPainter
size=4 align=4
base size=4 base align=4
QPainter (0x4292fcc0) 0
-Class QFlags<QPainter::RenderHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPainter::RenderHint> (0x4292fdc0) 0
-Class QVector<QLineF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF>::<anonymous union> (0x4292ff40) 0
-Class QVector<QLineF>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF> (0x4292fe80) 0
-Class QVector<QLine>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine>::<anonymous union> (0x4292f580) 0
-Class QVector<QLine>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine> (0x4292f100) 0
-Class QVector<QRectF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF>::<anonymous union> (0x42a5b100) 0
-Class QVector<QRectF>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF> (0x42a5b040) 0
-Class QVector<QRect>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect>::<anonymous union> (0x42a5b280) 0
-Class QVector<QRect>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect> (0x42a5b1c0) 0
Vtable for QStyle
QStyle::_ZTV6QStyle: 35u entries
@@ -5292,15 +4620,7 @@ QStyle (0x42a5b2c0) 0
QObject (0x42a5b300) 0
primary-for QStyle (0x42a5b2c0)
-Class QFlags<QStyle::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::StateFlag> (0x42a5b440) 0
-Class QFlags<QStyle::SubControl>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::SubControl> (0x42a5b4c0) 0
Class QStylePainter
size=12 align=4
@@ -5318,25 +4638,13 @@ Class QPainterPath
base size=4 base align=4
QPainterPath (0x42a5b680) 0
-Class QVector<QPainterPath::Element>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element>::<anonymous union> (0x42a5ba80) 0
-Class QVector<QPainterPath::Element>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element> (0x42a5b9c0) 0
Class QPainterPathPrivate
size=8 align=4
base size=8 base align=4
QPainterPathPrivate (0x42a5b800) 0
-Class QTypeInfo<QPainterPath::Element>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPainterPath::Element> (0x42a5bac0) 0 empty
Class QPainterPathStroker
size=4 align=4
@@ -5348,15 +4656,7 @@ Class QTextItem
base size=0 base align=1
QTextItem (0x42a5bb80) 0 empty
-Class QTypeInfo<QTextItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextItem> (0x42a5bbc0) 0 empty
-Class QFlags<QPaintEngine::PaintEngineFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::PaintEngineFeature> (0x42a5bcc0) 0
Vtable for QPaintEngine
QPaintEngine::_ZTV12QPaintEngine: 24u entries
@@ -5391,30 +4691,18 @@ Class QPaintEngine
QPaintEngine (0x42a5bc00) 0
vptr=((& QPaintEngine::_ZTV12QPaintEngine) + 8u)
-Class QFlags<QPaintEngine::DirtyFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::DirtyFlag> (0x42a5be40) 0
Class QPaintEngineState
size=4 align=4
base size=4 base align=4
QPaintEngineState (0x42a5bd80) 0
-Class QFlags<QTextItem::RenderFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextItem::RenderFlag> (0x42a5bec0) 0
Class QItemSelectionRange
size=8 align=4
base size=8 base align=4
QItemSelectionRange (0x42a5bf00) 0
-Class QTypeInfo<QItemSelectionRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QItemSelectionRange> (0x42a5b380) 0 empty
Vtable for QItemSelectionModel
QItemSelectionModel::_ZTV19QItemSelectionModel: 18u entries
@@ -5445,20 +4733,8 @@ QItemSelectionModel (0x42a5b780) 0
QObject (0x42a5bc40) 0
primary-for QItemSelectionModel (0x42a5b780)
-Class QFlags<QItemSelectionModel::SelectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QItemSelectionModel::SelectionFlag> (0x42bd4000) 0
-Class QList<QItemSelectionRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::<anonymous union> (0x42bd4140) 0
-Class QList<QItemSelectionRange>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange> (0x42bd4080) 0
Class QItemSelection
size=4 align=4
@@ -5466,10 +4742,6 @@ Class QItemSelection
QItemSelection (0x42bd4180) 0
QList<QItemSelectionRange> (0x42bd41c0) 0
-Class QFlags<QTreeWidgetItemIterator::IteratorFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTreeWidgetItemIterator::IteratorFlag> (0x42bd4300) 0
Class QTreeWidgetItemIterator
size=12 align=4
@@ -5757,10 +5029,6 @@ QAbstractSpinBox (0x42bd49c0) 0
QPaintDevice (0x42bd4a80) 8
vptr=((& QAbstractSpinBox::_ZTV16QAbstractSpinBox) + 252u)
-Class QFlags<QAbstractSpinBox::StepEnabledFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractSpinBox::StepEnabledFlag> (0x42bd4b80) 0
Vtable for QAbstractSlider
QAbstractSlider::_ZTV15QAbstractSlider: 64u entries
@@ -6179,10 +5447,6 @@ Class QStyleOptionFrame
QStyleOptionFrame (0x42cd7280) 0
QStyleOption (0x42cd72c0) 0
-Class QFlags<QStyleOptionFrameV2::FrameFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionFrameV2::FrameFeature> (0x42cd7500) 0
Class QStyleOptionFrameV2
size=56 align=4
@@ -6209,10 +5473,6 @@ Class QStyleOptionHeader
QStyleOptionHeader (0x42cd7980) 0
QStyleOption (0x42cd79c0) 0
-Class QFlags<QStyleOptionButton::ButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionButton::ButtonFeature> (0x42cd7c00) 0
Class QStyleOptionButton
size=64 align=4
@@ -6220,10 +5480,6 @@ Class QStyleOptionButton
QStyleOptionButton (0x42cd7b00) 0
QStyleOption (0x42cd7b40) 0
-Class QFlags<QStyleOptionTab::CornerWidget>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionTab::CornerWidget> (0x42cd7e40) 0
Class QStyleOptionTab
size=72 align=4
@@ -6238,10 +5494,6 @@ QStyleOptionTabV2 (0x42cd7f40) 0
QStyleOptionTab (0x42cd7f80) 0
QStyleOption (0x42cd7fc0) 0
-Class QFlags<QStyleOptionToolBar::ToolBarFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionToolBar::ToolBarFeature> (0x42cd7dc0) 0
Class QStyleOptionToolBar
size=68 align=4
@@ -6268,10 +5520,6 @@ Class QStyleOptionMenuItem
QStyleOptionMenuItem (0x42d8b280) 0
QStyleOption (0x42d8b2c0) 0
-Class QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature> (0x42d8b4c0) 0
Class QStyleOptionQ3ListViewItem
size=64 align=4
@@ -6329,15 +5577,7 @@ QStyleOptionSpinBox (0x42d8bf80) 0
QStyleOptionComplex (0x42d8bfc0) 0
QStyleOption (0x42d8b100) 0
-Class QList<QStyleOptionQ3ListViewItem>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::<anonymous union> (0x42d8be00) 0
-Class QList<QStyleOptionQ3ListViewItem>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem> (0x42d8ba00) 0
Class QStyleOptionQ3ListView
size=84 align=4
@@ -6346,10 +5586,6 @@ QStyleOptionQ3ListView (0x42d8b500) 0
QStyleOptionComplex (0x42d8b640) 0
QStyleOption (0x42d8b780) 0
-Class QFlags<QStyleOptionToolButton::ToolButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionToolButton::ToolButtonFeature> (0x42e0e200) 0
Class QStyleOptionToolButton
size=96 align=4
@@ -6544,10 +5780,6 @@ QAbstractItemView (0x42e0e9c0) 0
QPaintDevice (0x42e0eb00) 8
vptr=((& QAbstractItemView::_ZTV17QAbstractItemView) + 392u)
-Class QFlags<QAbstractItemView::EditTrigger>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractItemView::EditTrigger> (0x42e0ec40) 0
Vtable for QStringListModel
QStringListModel::_ZTV16QStringListModel: 42u entries
@@ -6730,15 +5962,7 @@ QListView (0x42e0ee00) 0
QPaintDevice (0x42e0ef80) 8
vptr=((& QListView::_ZTV9QListView) + 392u)
-Class QVector<QWidgetItemData>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData>::<anonymous union> (0x42e0e940) 0
-Class QVector<QWidgetItemData>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData> (0x42e0e400) 0
Vtable for QListWidgetItem
QListWidgetItem::_ZTV15QListWidgetItem: 11u entries
@@ -7780,15 +7004,7 @@ Class QItemEditorCreatorBase
QItemEditorCreatorBase (0x42fbe480) 0 nearly-empty
vptr=((& QItemEditorCreatorBase::_ZTV22QItemEditorCreatorBase) + 8u)
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union> (0x42fbe780) 0
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*> (0x42fbe6c0) 0
Vtable for QItemEditorFactory
QItemEditorFactory::_ZTV18QItemEditorFactory: 6u entries
@@ -7805,25 +7021,9 @@ Class QItemEditorFactory
QItemEditorFactory (0x42fbe600) 0
vptr=((& QItemEditorFactory::_ZTV18QItemEditorFactory) + 8u)
-Class QVector<QVector<QWidgetItemData> >::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> >::<anonymous union> (0x42fbea00) 0
-Class QVector<QVector<QWidgetItemData> >
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> > (0x42fbe940) 0
-Class QList<QTreeWidgetItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::<anonymous union> (0x42fbeb80) 0
-Class QList<QTreeWidgetItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*> (0x42fbeac0) 0
Vtable for QTreeWidgetItem
QTreeWidgetItem::_ZTV15QTreeWidgetItem: 10u entries
@@ -8050,15 +7250,7 @@ Class QAccessible
base size=0 base align=1
QAccessible (0x42fbec00) 0 empty
-Class QFlags<QAccessible::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::StateFlag> (0x430b0000) 0
-Class QFlags<QAccessible::RelationFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::RelationFlag> (0x430b0080) 0
Vtable for QAccessibleInterface
QAccessibleInterface::_ZTV20QAccessibleInterface: 19u entries
@@ -8906,15 +8098,7 @@ QActionGroup (0x4314db40) 0
QObject (0x4314db80) 0
primary-for QActionGroup (0x4314db40)
-Class QList<QAction*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QAction*>::<anonymous union> (0x4314dd80) 0
-Class QList<QAction*>
- size=4 align=4
- base size=4 base align=4
-QList<QAction*> (0x4314dcc0) 0
Vtable for QSound
QSound::_ZTV6QSound: 14u entries
@@ -9055,10 +8239,6 @@ QCommonStyle (0x4314d300) 0
QObject (0x4314d680) 0
primary-for QStyle (0x4314d4c0)
-Class QPointer<QFocusFrame>
- size=4 align=4
- base size=4 base align=4
-QPointer<QFocusFrame> (0x4314dfc0) 0
Vtable for QMotifStyle
QMotifStyle::_ZTV11QMotifStyle: 35u entries
@@ -10586,10 +9766,6 @@ QDateEdit (0x4332b1c0) 0
QPaintDevice (0x4332ba80) 8
vptr=((& QDateEdit::_ZTV9QDateEdit) + 260u)
-Class QFlags<QDateTimeEdit::Section>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDateTimeEdit::Section> (0x4332bfc0) 0
Vtable for QLabel
QLabel::_ZTV6QLabel: 63u entries
@@ -10749,10 +9925,6 @@ QDockWidget (0x433dc1c0) 0
QPaintDevice (0x433dc280) 8
vptr=((& QDockWidget::_ZTV11QDockWidget) + 232u)
-Class QFlags<QDockWidget::DockWidgetFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDockWidget::DockWidgetFeature> (0x433dc3c0) 0
Vtable for QGroupBox
QGroupBox::_ZTV9QGroupBox: 63u entries
@@ -12323,158 +11495,34 @@ QDial (0x434bb540) 0
QPaintDevice (0x434bbb80) 8
vptr=((& QDial::_ZTV5QDial) + 236u)
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0x4362c600) 0
-Class QTypeInfo<QDebug::Stream*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDebug::Stream*> (0x4362c980) 0 empty
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0x4366f040) 0
-Class QVectorTypedData<QTextLength>
- size=28 align=4
- base size=28 base align=4
-QVectorTypedData<QTextLength> (0x4366ff40) 0
-Class QVectorTypedData<QTextLayout::FormatRange>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QTextLayout::FormatRange> (0x436b5580) 0
-Class QVectorTypedData<QAbstractTextDocumentLayout::Selection>
- size=28 align=4
- base size=28 base align=4
-QVectorTypedData<QAbstractTextDocumentLayout::Selection> (0x436b5740) 0
-Class QVectorTypedData<QPoint>
- size=24 align=4
- base size=24 base align=4
-QVectorTypedData<QPoint> (0x436b5ec0) 0
-Class QVectorTypedData<QPointF>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QPointF> (0x436f4200) 0
-Class QVectorTypedData<QLineF>
- size=48 align=4
- base size=48 base align=4
-QVectorTypedData<QLineF> (0x436f47c0) 0
-Class QVectorTypedData<QLine>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QLine> (0x436f4900) 0
-Class QVectorTypedData<QRectF>
- size=48 align=4
- base size=48 base align=4
-QVectorTypedData<QRectF> (0x436f4a40) 0
-Class QVectorTypedData<QRect>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QRect> (0x436f4b80) 0
-Class QVectorTypedData<QPainterPath::Element>
- size=36 align=4
- base size=36 base align=4
-QVectorTypedData<QPainterPath::Element> (0x436f4f40) 0
-Class QList<QTreeWidgetItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::Node (0x437bb0c0) 0
-Class QVectorTypedData<QVector<QWidgetItemData> >
- size=20 align=4
- base size=20 base align=4
-QVectorTypedData<QVector<QWidgetItemData> > (0x437bb200) 0
-Class QList<QAction*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QAction*>::Node (0x437bb800) 0
-Class QTypeInfo<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLength> (0x437ffcc0) 0 empty
-Class QTypeInfo<QTextLayout::FormatRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLayout::FormatRange> (0x437fff40) 0 empty
-Class QTypeInfo<QAbstractTextDocumentLayout::Selection>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAbstractTextDocumentLayout::Selection> (0x4383d1c0) 0 empty
-Class QHashNode<QVariant::Type, QItemEditorCreatorBase*>
- size=16 align=4
- base size=16 base align=4
-QHashNode<QVariant::Type, QItemEditorCreatorBase*> (0x4383de00) 0
-Class QTypeInfo<QTreeWidgetItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTreeWidgetItem*> (0x4383df00) 0 empty
-Class QTypeInfo<QAction*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAction*> (0x43879180) 0 empty
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0x43879440) 0
-Class QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union> (0x43879580) 0
-Class QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union> (0x43879700) 0
-Class QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union> (0x438798c0) 0
-Class QList<QItemSelectionRange>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::Node (0x43879a80) 0
-Class QTypeInfo<QStyleOptionQ3ListViewItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QStyleOptionQ3ListViewItem> (0x43879c40) 0 empty
-Class QList<QStyleOptionQ3ListViewItem>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::Node (0x43879d00) 0
-Class QList<QVariant>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::Node (0x43879500) 0
-Class QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union> (0x438f02c0) 0
diff --git a/tests/auto/bic/data/QtGui.4.1.0.linux-gcc-ppc32.txt b/tests/auto/bic/data/QtGui.4.1.0.linux-gcc-ppc32.txt
index 850aab8..461c639 100644
--- a/tests/auto/bic/data/QtGui.4.1.0.linux-gcc-ppc32.txt
+++ b/tests/auto/bic/data/QtGui.4.1.0.linux-gcc-ppc32.txt
@@ -18,145 +18,37 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0x3070f968) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0x3070fb60) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0x3070fc08) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0x3070fcb0) 0 empty
-Class QTypeInfo<uchar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uchar> (0x3070fd58) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0x3070fe00) 0 empty
-Class QTypeInfo<ushort>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ushort> (0x3070fea8) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0x3070ff50) 0 empty
-Class QTypeInfo<uint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uint> (0x3073a000) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0x3073a0a8) 0 empty
-Class QTypeInfo<ulong>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ulong> (0x3073a150) 0 empty
-Class QTypeInfo<qint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<qint64> (0x3073a1f8) 0 empty
-Class QTypeInfo<quint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<quint64> (0x3073a2a0) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0x3073a348) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0x3073a3f0) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0x3073a498) 0 empty
Class QFlag
size=4 align=4
base size=4 base align=4
QFlag (0x3073a508) 0
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0x3073aa10) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0x3073aa80) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0x3073aaf0) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0x3073ab60) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0x3073abd0) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0x3073ac40) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0x3073acb0) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0x3073ad20) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0x3073ad90) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0x3073ae00) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0x3073ae70) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0x3073aee0) 0
Class QInternal
size=1 align=1
@@ -174,10 +66,6 @@ Class QGenericReturnArgument
QGenericReturnArgument (0x30187bc0) 0
QGenericArgument (0x31432000) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0x314321c0) 0
Class QMetaObject
size=16 align=4
@@ -194,10 +82,6 @@ Class QChar
base size=2 base align=2
QChar (0x314322a0) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0x31432348) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -230,10 +114,6 @@ Class QByteRef
base size=8 base align=4
QByteRef (0x3151c038) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0x3151c380) 0 empty
Class QString::Null
size=1 align=1
@@ -255,10 +135,6 @@ Class QLatin1String
base size=4 base align=4
QLatin1String (0x3151c930) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0x3151cc78) 0
Class QCharRef
size=8 align=4
@@ -271,10 +147,6 @@ Class QConstString
QConstString (0x30187e00) 0
QString (0x316c8700) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0x316c87e0) 0 empty
Vtable for std::exception
std::exception::_ZTVSt9exception: 5u entries
@@ -337,15 +209,7 @@ Class QListData
base size=4 base align=4
QListData (0x316c8f18) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0x317223b8) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0x31722310) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -437,10 +301,6 @@ QIODevice (0x30187ec0) 0
QObject (0x31722888) 0
primary-for QIODevice (0x30187ec0)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0x31722a80) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -470,10 +330,6 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0x318540a8) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0x31854118) 0 empty
Class QMapData::Node
size=8 align=4
@@ -485,10 +341,6 @@ Class QMapData
base size=72 base align=4
QMapData (0x318548f8) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0x31854fc0) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -513,15 +365,7 @@ Class QTextCodec
QTextCodec (0x31854e70) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0x319971f8) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0x31997150) 0
Class QTextEncoder
size=32 align=4
@@ -533,30 +377,10 @@ Class QTextDecoder
base size=32 base align=4
QTextDecoder (0x31997310) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x319973b8) 0
-Class <anonymous struct>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct>::<anonymous union> (0x31997498) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x31997428) 0
-Class <anonymous struct>
- size=12 align=4
- base size=12 base align=4
-<anonymous struct> (0x31997508) 0
-Class <anonymous struct>
- size=16 align=8
- base size=16 base align=8
-<anonymous struct> (0x31997578) 0
Class __gconv_trans_data
size=20 align=4
@@ -578,15 +402,7 @@ Class __gconv_info
base size=8 base align=4
__gconv_info (0x319976c8) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0x319977a8) 0
-Class <anonymous union>
- size=44 align=4
- base size=44 base align=4
-<anonymous union> (0x31997738) 0
Class _IO_marker
size=12 align=4
@@ -598,10 +414,6 @@ Class _IO_FILE
base size=152 base align=8
_IO_FILE (0x31997818) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0x31997888) 0
Vtable for QTextStream
QTextStream::_ZTV11QTextStream: 4u entries
@@ -616,10 +428,6 @@ Class QTextStream
QTextStream (0x319978c0) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0x31997af0) 0
Class QTextStreamManipulator
size=24 align=4
@@ -656,40 +464,16 @@ QTextOStream (0x3195c0c0) 0
QTextStream (0x31997ea8) 0
primary-for QTextOStream (0x3195c0c0)
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0x31a382a0) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0x31a38310) 0
Class wait
size=4 align=4
base size=4 base align=4
wait (0x31a38230) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x31a38380) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x31a383f0) 0
-Class <anonymous struct>
- size=16 align=8
- base size=16 base align=8
-<anonymous struct> (0x31a38460) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0x31a384d0) 0
Class timespec
size=8 align=4
@@ -701,70 +485,18 @@ Class timeval
base size=8 base align=4
timeval (0x31a38540) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0x31a385b0) 0
-Class <anonymous union>
- size=36 align=4
- base size=36 base align=4
-<anonymous union> (0x31a38620) 0
-Class <anonymous union>::<anonymous struct>
- size=24 align=4
- base size=24 base align=4
-<anonymous union>::<anonymous struct> (0x31a38700) 0
-Class <anonymous union>
- size=24 align=4
- base size=24 base align=4
-<anonymous union> (0x31a38690) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0x31a38770) 0
-Class <anonymous union>::<anonymous struct>
- size=48 align=8
- base size=48 base align=8
-<anonymous union>::<anonymous struct> (0x31a38850) 0
-Class <anonymous union>
- size=48 align=8
- base size=48 base align=8
-<anonymous union> (0x31a387e0) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0x31a388c0) 0
-Class <anonymous union>::<anonymous struct>
- size=32 align=4
- base size=32 base align=4
-<anonymous union>::<anonymous struct> (0x31a389a0) 0
-Class <anonymous union>
- size=32 align=4
- base size=32 base align=4
-<anonymous union> (0x31a38930) 0
-Class <anonymous union>
- size=8 align=4
- base size=8 base align=4
-<anonymous union> (0x31a38a10) 0
-Class <anonymous union>
- size=20 align=4
- base size=20 base align=4
-<anonymous union> (0x31a38a80) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0x31a38af0) 0
Class random_data
size=28 align=4
@@ -835,10 +567,6 @@ QFile (0x3195c100) 0
QObject (0x31af20e0) 0
primary-for QIODevice (0x3195c140)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0x31af2268) 0
Vtable for QTemporaryFile
QTemporaryFile::_ZTV14QTemporaryFile: 31u entries
@@ -891,50 +619,22 @@ Class QFileInfo
base size=4 base align=4
QFileInfo (0x31af23b8) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0x31af2460) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0x31af24d0) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0x31af2658) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0x31af25b0) 0
Class QRegExp
size=4 align=4
base size=4 base align=4
QRegExp (0x31af2700) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0x31af28c0) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0x31af2930) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0x31af2af0) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0x31af2a48) 0
Class QStringList
size=4 align=4
@@ -942,30 +642,14 @@ Class QStringList
QStringList (0x3195c240) 0
QList<QString> (0x31af2b98) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0x31af2fc0) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0x31af21c0) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0x31bf52a0) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0x31bf53b8) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0x31bf5428) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -1022,10 +706,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0x31bf5460) 0
vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0x31bf5690) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -1180,110 +860,30 @@ Class QUrl
base size=4 base align=4
QUrl (0x31bf5b60) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0x31bf5ce8) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0x31bf5d58) 0 empty
Class QMetaType
size=1 align=1
base size=0 base align=1
QMetaType (0x31bf5dc8) 0 empty
-Class QMetaTypeId<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QString> (0x31bf5ee0) 0 empty
-Class QMetaTypeId<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<int> (0x31bf5f88) 0 empty
-Class QMetaTypeId<uint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<uint> (0x31bf57a8) 0 empty
-Class QMetaTypeId<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<bool> (0x31bf5af0) 0 empty
-Class QMetaTypeId<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<double> (0x31cd3070) 0 empty
-Class QMetaTypeId<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QByteArray> (0x31cd3118) 0 empty
-Class QMetaTypeId<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QChar> (0x31cd31c0) 0 empty
-Class QMetaTypeId<void>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<void> (0x31cd3268) 0 empty
-Class QMetaTypeId<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<long int> (0x31cd3310) 0 empty
-Class QMetaTypeId<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<short int> (0x31cd33b8) 0 empty
-Class QMetaTypeId<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<char> (0x31cd3460) 0 empty
-Class QMetaTypeId<ulong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<ulong> (0x31cd3508) 0 empty
-Class QMetaTypeId<ushort>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<ushort> (0x31cd35b0) 0 empty
-Class QMetaTypeId<uchar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<uchar> (0x31cd3658) 0 empty
-Class QMetaTypeId<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<float> (0x31cd3700) 0 empty
-Class QMetaTypeId<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QObject*> (0x31cd37a8) 0 empty
-Class QMetaTypeId<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QWidget*> (0x31cd3850) 0 empty
-Class QMetaTypeId<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<void*> (0x31cd38f8) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -1310,35 +910,15 @@ Class QVariant
base size=16 base align=8
QVariant (0x31cd3968) 0
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0x31cd3f18) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0x31cd3e70) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0x31d50000) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0x31cd3b60) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0x31d501c0) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0x31d502d8) 0 empty
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1370,80 +950,48 @@ Class QPoint
base size=8 base align=4
QPoint (0x31d50850) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0x31d50c40) 0 empty
Class QPointF
size=16 align=8
base size=16 base align=8
QPointF (0x31d50e38) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0x31d50968) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0x31e10000) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0x31e10070) 0 empty
Class QLineF
size=32 align=8
base size=32 base align=8
QLineF (0x31e101c0) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0x31e10268) 0 empty
Class QSize
size=8 align=4
base size=8 base align=4
QSize (0x31e103f0) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0x31e10770) 0 empty
Class QSizeF
size=16 align=8
base size=16 base align=8
QSizeF (0x31e10a48) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0x31e10dc8) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0x31e106c8) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0x31e10cb0) 0 empty
Class QRectF
size=32 align=8
base size=32 base align=8
QRectF (0x31eb91c0) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0x31eb9348) 0 empty
Class QLinkedListData
size=20 align=4
@@ -1460,10 +1008,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0x31eb9d90) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0x31eb9ea8) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -1480,40 +1024,24 @@ Class QLocale
base size=4 base align=4
QLocale (0x3200a118) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0x3200a188) 0 empty
Class QDate
size=4 align=4
base size=4 base align=4
QDate (0x3200a380) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0x3200a540) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0x3200a5b0) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0x3200a7a8) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0x3200a818) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0x3200a968) 0 empty
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -1673,10 +1201,6 @@ QEventLoop (0x3195c780) 0
QObject (0x321012a0) 0
primary-for QEventLoop (0x3195c780)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0x32101428) 0
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -1768,20 +1292,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0x32101d58) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0x32101ee0) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0x32101f50) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0x32101380) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -2001,10 +1517,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0x321a44d0) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0x321a45b0) 0 empty
Vtable for QSocketNotifier
QSocketNotifier::_ZTV15QSocketNotifier: 14u entries
@@ -2099,20 +1611,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0x321a49d8) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0x321a4a80) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0x321a4af0) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0x321a4b98) 0 empty
Class QMetaProperty
size=20 align=4
@@ -2124,10 +1628,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0x321a4c40) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0x321a4ce8) 0 empty
Vtable for QPluginLoader
QPluginLoader::_ZTV13QPluginLoader: 14u entries
@@ -2250,25 +1750,9 @@ Class QWriteLocker
base size=4 base align=4
QWriteLocker (0x3225f3f0) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x3225f620) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x3225f690) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x3225f700) 0
-Class QColor::<anonymous union>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union> (0x3225f5b0) 0
Class QColor
size=16 align=4
@@ -2285,55 +1769,23 @@ Class QPen
base size=4 base align=4
QPen (0x3225fb60) 0
-Class QTypeInfo<QPen>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPen> (0x3225fce8) 0 empty
Class QBrush
size=4 align=4
base size=4 base align=4
QBrush (0x3225fd58) 0
-Class QTypeInfo<QBrush>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBrush> (0x3225fe00) 0 empty
Class QBrushData
size=24 align=4
base size=24 base align=4
QBrushData (0x3225fe70) 0
-Class QVector<QGradientStop>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QGradientStop>::<anonymous union> (0x3225fa10) 0
-Class QVector<QGradientStop>
- size=4 align=4
- base size=4 base align=4
-QVector<QGradientStop> (0x3225ffc0) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=32 align=8
- base size=32 base align=8
-QGradient::<anonymous union>::<anonymous struct> (0x32305000) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=40 align=8
- base size=40 base align=8
-QGradient::<anonymous union>::<anonymous struct> (0x32305070) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=24 align=8
- base size=24 base align=8
-QGradient::<anonymous union>::<anonymous struct> (0x323050e0) 0
-Class QGradient::<anonymous union>
- size=40 align=8
- base size=40 base align=8
-QGradient::<anonymous union> (0x3225fc40) 0
Class QGradient
size=64 align=8
@@ -2363,25 +1815,13 @@ Class QTextLength
base size=16 base align=8
QTextLength (0x323051c0) 0
-Class QSharedDataPointer<QTextFormatPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextFormatPrivate> (0x323054d0) 0
Class QTextFormat
size=8 align=4
base size=8 base align=4
QTextFormat (0x323053b8) 0
-Class QVector<QTextLength>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength>::<anonymous union> (0x32305818) 0
-Class QVector<QTextLength>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength> (0x32305738) 0
Class QTextCharFormat
size=8 align=4
@@ -2521,10 +1961,6 @@ QTextFrame (0x323cb000) 0
QObject (0x32305e38) 0
primary-for QTextObject (0x323cb040)
-Class QTypeInfo<QTextFrame::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFrame::iterator> (0x323e3118) 0 empty
Vtable for QTextBlockUserData
QTextBlockUserData::_ZTV18QTextBlockUserData: 4u entries
@@ -2549,25 +1985,13 @@ Class QTextBlock
base size=8 base align=4
QTextBlock (0x323e32d8) 0
-Class QTypeInfo<QTextBlock>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock> (0x323e3658) 0 empty
-Class QTypeInfo<QTextBlock::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock::iterator> (0x323e3700) 0 empty
Class QTextFragment
size=12 align=4
base size=12 base align=4
QTextFragment (0x323e3770) 0
-Class QTypeInfo<QTextFragment>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFragment> (0x323e3930) 0 empty
Class QFontMetrics
size=4 align=4
@@ -2627,20 +2051,12 @@ QTextDocument (0x323cb080) 0
QObject (0x323e3c08) 0
primary-for QTextDocument (0x323cb080)
-Class QFlags<QTextDocument::FindFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextDocument::FindFlag> (0x323e3dc8) 0
Class QTextOption
size=32 align=8
base size=28 base align=8
QTextOption (0x323e3e00) 0
-Class QFlags<QTextOption::Flag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextOption::Flag> (0x323e3ee0) 0
Class QTextTableCell
size=8 align=4
@@ -2691,10 +2107,6 @@ Class QKeySequence
base size=4 base align=4
QKeySequence (0x324894d0) 0
-Class QTypeInfo<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QKeySequence> (0x32489620) 0 empty
Vtable for QMimeSource
QMimeSource::_ZTV11QMimeSource: 7u entries
@@ -2992,15 +2404,7 @@ Class QInputMethodEvent::Attribute
base size=32 base align=8
QInputMethodEvent::Attribute (0x325227e0) 0
-Class QList<QInputMethodEvent::Attribute>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute>::<anonymous union> (0x32522968) 0
-Class QList<QInputMethodEvent::Attribute>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute> (0x325228c0) 0
Vtable for QInputMethodEvent
QInputMethodEvent::_ZTV17QInputMethodEvent: 4u entries
@@ -3299,15 +2703,7 @@ Class QTextLayout
base size=4 base align=4
QTextLayout (0x32579c08) 0
-Class QVector<QTextLayout::FormatRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange>::<anonymous union> (0x32579ea8) 0
-Class QVector<QTextLayout::FormatRange>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange> (0x32579dc8) 0
Class QTextLine
size=8 align=4
@@ -3356,10 +2752,6 @@ Class QTextDocumentFragment
base size=4 base align=4
QTextDocumentFragment (0x325e2000) 0
-Class QSharedDataPointer<QTextCursorPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextCursorPrivate> (0x325e2118) 0
Class QTextCursor
size=4 align=4
@@ -3382,15 +2774,7 @@ Class QAbstractTextDocumentLayout::Selection
base size=12 base align=4
QAbstractTextDocumentLayout::Selection (0x325e2690) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union> (0x325e2888) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection> (0x325e27a8) 0
Class QAbstractTextDocumentLayout::PaintContext
size=56 align=8
@@ -4243,10 +3627,6 @@ QFileDialog (0x3279a3c0) 0
QPaintDevice (0x327ca3f0) 8
vptr=((& QFileDialog::_ZTV11QFileDialog) + 244u)
-Class QFlags<QFileDialog::Option>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileDialog::Option> (0x327ca620) 0
Vtable for QAbstractPrintDialog
QAbstractPrintDialog::_ZTV20QAbstractPrintDialog: 67u entries
@@ -4332,10 +3712,6 @@ QAbstractPrintDialog (0x3279a4c0) 0
QPaintDevice (0x327ca7a8) 8
vptr=((& QAbstractPrintDialog::_ZTV20QAbstractPrintDialog) + 248u)
-Class QFlags<QAbstractPrintDialog::PrintDialogOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractPrintDialog::PrintDialogOption> (0x327ca9a0) 0
Vtable for QPrintDialog
QPrintDialog::_ZTV12QPrintDialog: 67u entries
@@ -4771,10 +4147,6 @@ QImage (0x3279a980) 0
QPaintDevice (0x328911f8) 0
primary-for QImage (0x3279a980)
-Class QTypeInfo<QImage>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QImage> (0x32891498) 0 empty
Vtable for QPixmap
QPixmap::_ZTV7QPixmap: 7u entries
@@ -4881,10 +4253,6 @@ QImageIOPlugin (0x3279aa40) 0
QFactoryInterface (0x32891a10) 8 nearly-empty
primary-for QImageIOHandlerFactoryInterface (0x3279aa80)
-Class QFlags<QImageIOPlugin::Capability>
- size=4 align=4
- base size=4 base align=4
-QFlags<QImageIOPlugin::Capability> (0x32891c08) 0
Vtable for QPicture
QPicture::_ZTV8QPicture: 8u entries
@@ -5004,10 +4372,6 @@ Class QIcon
base size=4 base align=4
QIcon (0x32981150) 0
-Class QTypeInfo<QIcon>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QIcon> (0x329811c0) 0 empty
Vtable for QIconEngine
QIconEngine::_ZTV11QIconEngine: 9u entries
@@ -5159,15 +4523,7 @@ Class QPrintEngine
QPrintEngine (0x32981d20) 0 nearly-empty
vptr=((& QPrintEngine::_ZTV12QPrintEngine) + 8u)
-Class QVector<QPoint>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint>::<anonymous union> (0x32981070) 0
-Class QVector<QPoint>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint> (0x32981f18) 0
Class QPolygon
size=4 align=4
@@ -5175,15 +4531,7 @@ Class QPolygon
QPolygon (0x3279ae00) 0
QVector<QPoint> (0x32981428) 0
-Class QVector<QPointF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF>::<anonymous union> (0x32a072a0) 0
-Class QVector<QPointF>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF> (0x32a071c0) 0
Class QPolygonF
size=4 align=4
@@ -5196,60 +4544,20 @@ Class QMatrix
base size=48 base align=8
QMatrix (0x32a075b0) 0
-Class QTypeInfo<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMatrix> (0x32a07620) 0 empty
Class QPainter
size=4 align=4
base size=4 base align=4
QPainter (0x32a076c8) 0
-Class QFlags<QPainter::RenderHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPainter::RenderHint> (0x32a07b98) 0
-Class QVector<QLineF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF>::<anonymous union> (0x32a07d20) 0
-Class QVector<QLineF>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF> (0x32a07c40) 0
-Class QVector<QLine>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine>::<anonymous union> (0x32a07ee0) 0
-Class QVector<QLine>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine> (0x32a07e00) 0
-Class QVector<QRectF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF>::<anonymous union> (0x32ae7070) 0
-Class QVector<QRectF>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF> (0x32a07fc0) 0
-Class QVector<QRect>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect>::<anonymous union> (0x32ae7230) 0
-Class QVector<QRect>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect> (0x32ae7150) 0
Vtable for QStyle
QStyle::_ZTV6QStyle: 35u entries
@@ -5297,15 +4605,7 @@ QStyle (0x3279ae80) 0
QObject (0x32ae72a0) 0
primary-for QStyle (0x3279ae80)
-Class QFlags<QStyle::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::StateFlag> (0x32ae7460) 0
-Class QFlags<QStyle::SubControl>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::SubControl> (0x32ae74d0) 0
Class QStylePainter
size=12 align=4
@@ -5323,25 +4623,13 @@ Class QPainterPath
base size=4 base align=4
QPainterPath (0x32ae7738) 0
-Class QVector<QPainterPath::Element>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element>::<anonymous union> (0x32ae7bd0) 0
-Class QVector<QPainterPath::Element>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element> (0x32ae7af0) 0
Class QPainterPathPrivate
size=8 align=4
base size=8 base align=4
QPainterPathPrivate (0x32ae7930) 0
-Class QTypeInfo<QPainterPath::Element>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPainterPath::Element> (0x32ae7c78) 0 empty
Class QPainterPathStroker
size=4 align=4
@@ -5353,15 +4641,7 @@ Class QTextItem
base size=0 base align=1
QTextItem (0x32ae7e70) 0 empty
-Class QTypeInfo<QTextItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextItem> (0x32ae7f18) 0 empty
-Class QFlags<QPaintEngine::PaintEngineFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::PaintEngineFeature> (0x32ae7888) 0
Vtable for QPaintEngine
QPaintEngine::_ZTV12QPaintEngine: 24u entries
@@ -5396,30 +4676,18 @@ Class QPaintEngine
QPaintEngine (0x32ae7f88) 0
vptr=((& QPaintEngine::_ZTV12QPaintEngine) + 8u)
-Class QFlags<QPaintEngine::DirtyFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::DirtyFlag> (0x32bfc1c0) 0
Class QPaintEngineState
size=4 align=4
base size=4 base align=4
QPaintEngineState (0x32bfc118) 0
-Class QFlags<QTextItem::RenderFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextItem::RenderFlag> (0x32bfc230) 0
Class QItemSelectionRange
size=8 align=4
base size=8 base align=4
QItemSelectionRange (0x32bfc268) 0
-Class QTypeInfo<QItemSelectionRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QItemSelectionRange> (0x32bfc508) 0 empty
Vtable for QItemSelectionModel
QItemSelectionModel::_ZTV19QItemSelectionModel: 18u entries
@@ -5450,20 +4718,8 @@ QItemSelectionModel (0x3279af40) 0
QObject (0x32bfc5b0) 0
primary-for QItemSelectionModel (0x3279af40)
-Class QFlags<QItemSelectionModel::SelectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QItemSelectionModel::SelectionFlag> (0x32bfc738) 0
-Class QList<QItemSelectionRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::<anonymous union> (0x32bfc888) 0
-Class QList<QItemSelectionRange>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange> (0x32bfc7e0) 0
Class QItemSelection
size=4 align=4
@@ -5471,10 +4727,6 @@ Class QItemSelection
QItemSelection (0x3279af80) 0
QList<QItemSelectionRange> (0x32bfc930) 0
-Class QFlags<QTreeWidgetItemIterator::IteratorFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTreeWidgetItemIterator::IteratorFlag> (0x32bfcab8) 0
Class QTreeWidgetItemIterator
size=12 align=4
@@ -5762,10 +5014,6 @@ QAbstractSpinBox (0x32cac240) 0
QPaintDevice (0x32cda150) 8
vptr=((& QAbstractSpinBox::_ZTV16QAbstractSpinBox) + 252u)
-Class QFlags<QAbstractSpinBox::StepEnabledFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractSpinBox::StepEnabledFlag> (0x32cda380) 0
Vtable for QAbstractSlider
QAbstractSlider::_ZTV15QAbstractSlider: 64u entries
@@ -6184,10 +5432,6 @@ Class QStyleOptionFrame
QStyleOptionFrame (0x32cac600) 0
QStyleOption (0x32cdaea8) 0
-Class QFlags<QStyleOptionFrameV2::FrameFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionFrameV2::FrameFeature> (0x32cda9d8) 0
Class QStyleOptionFrameV2
size=56 align=4
@@ -6214,10 +5458,6 @@ Class QStyleOptionHeader
QStyleOptionHeader (0x32cac740) 0
QStyleOption (0x32dbf460) 0
-Class QFlags<QStyleOptionButton::ButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionButton::ButtonFeature> (0x32dbf738) 0
Class QStyleOptionButton
size=64 align=4
@@ -6225,10 +5465,6 @@ Class QStyleOptionButton
QStyleOptionButton (0x32cac7c0) 0
QStyleOption (0x32dbf5e8) 0
-Class QFlags<QStyleOptionTab::CornerWidget>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionTab::CornerWidget> (0x32dbf9a0) 0
Class QStyleOptionTab
size=72 align=4
@@ -6243,10 +5479,6 @@ QStyleOptionTabV2 (0x32cac880) 0
QStyleOptionTab (0x32cac8c0) 0
QStyleOption (0x32dbfab8) 0
-Class QFlags<QStyleOptionToolBar::ToolBarFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionToolBar::ToolBarFeature> (0x32dbfe38) 0
Class QStyleOptionToolBar
size=68 align=4
@@ -6273,10 +5505,6 @@ Class QStyleOptionMenuItem
QStyleOptionMenuItem (0x32caca00) 0
QStyleOption (0x32dbfdc8) 0
-Class QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature> (0x32e40268) 0
Class QStyleOptionQ3ListViewItem
size=64 align=4
@@ -6334,15 +5562,7 @@ QStyleOptionSpinBox (0x32cacc80) 0
QStyleOptionComplex (0x32caccc0) 0
QStyleOption (0x32e40f18) 0
-Class QList<QStyleOptionQ3ListViewItem>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::<anonymous union> (0x32e40fc0) 0
-Class QList<QStyleOptionQ3ListViewItem>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem> (0x32e40bd0) 0
Class QStyleOptionQ3ListView
size=84 align=4
@@ -6351,10 +5571,6 @@ QStyleOptionQ3ListView (0x32cacd00) 0
QStyleOptionComplex (0x32cacd40) 0
QStyleOption (0x32e40428) 0
-Class QFlags<QStyleOptionToolButton::ToolButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionToolButton::ToolButtonFeature> (0x32eab2a0) 0
Class QStyleOptionToolButton
size=96 align=4
@@ -6549,10 +5765,6 @@ QAbstractItemView (0x32ef8040) 0
QPaintDevice (0x32eabb60) 8
vptr=((& QAbstractItemView::_ZTV17QAbstractItemView) + 392u)
-Class QFlags<QAbstractItemView::EditTrigger>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractItemView::EditTrigger> (0x32eabd58) 0
Vtable for QStringListModel
QStringListModel::_ZTV16QStringListModel: 42u entries
@@ -6735,15 +5947,7 @@ QListView (0x32ef8240) 0
QPaintDevice (0x32eabee0) 8
vptr=((& QListView::_ZTV9QListView) + 392u)
-Class QVector<QWidgetItemData>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData>::<anonymous union> (0x32f67000) 0
-Class QVector<QWidgetItemData>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData> (0x32eabab8) 0
Vtable for QListWidgetItem
QListWidgetItem::_ZTV15QListWidgetItem: 11u entries
@@ -7785,15 +6989,7 @@ Class QItemEditorCreatorBase
QItemEditorCreatorBase (0x330744d0) 0 nearly-empty
vptr=((& QItemEditorCreatorBase::_ZTV22QItemEditorCreatorBase) + 8u)
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union> (0x330748c0) 0
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*> (0x330747a8) 0
Vtable for QItemEditorFactory
QItemEditorFactory::_ZTV18QItemEditorFactory: 6u entries
@@ -7810,25 +7006,9 @@ Class QItemEditorFactory
QItemEditorFactory (0x330746c8) 0
vptr=((& QItemEditorFactory::_ZTV18QItemEditorFactory) + 8u)
-Class QVector<QVector<QWidgetItemData> >::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> >::<anonymous union> (0x33074d20) 0
-Class QVector<QVector<QWidgetItemData> >
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> > (0x33074c40) 0
-Class QList<QTreeWidgetItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::<anonymous union> (0x33074ea8) 0
-Class QList<QTreeWidgetItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*> (0x33074e00) 0
Vtable for QTreeWidgetItem
QTreeWidgetItem::_ZTV15QTreeWidgetItem: 10u entries
@@ -8055,15 +7235,7 @@ Class QAccessible
base size=0 base align=1
QAccessible (0x3314a5e8) 0 empty
-Class QFlags<QAccessible::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::StateFlag> (0x3314a6c8) 0
-Class QFlags<QAccessible::RelationFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::RelationFlag> (0x3314a738) 0
Vtable for QAccessibleInterface
QAccessibleInterface::_ZTV20QAccessibleInterface: 19u entries
@@ -8911,15 +8083,7 @@ QActionGroup (0x3315b980) 0
QObject (0x33251b98) 0
primary-for QActionGroup (0x3315b980)
-Class QList<QAction*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QAction*>::<anonymous union> (0x33251dc8) 0
-Class QList<QAction*>
- size=4 align=4
- base size=4 base align=4
-QList<QAction*> (0x33251d20) 0
Vtable for QSound
QSound::_ZTV6QSound: 14u entries
@@ -9060,10 +8224,6 @@ QCommonStyle (0x3315ba80) 0
QObject (0x332ff038) 0
primary-for QStyle (0x3315bac0)
-Class QPointer<QFocusFrame>
- size=4 align=4
- base size=4 base align=4
-QPointer<QFocusFrame> (0x332ff230) 0
Vtable for QMotifStyle
QMotifStyle::_ZTV11QMotifStyle: 35u entries
@@ -10591,10 +9751,6 @@ QDateEdit (0x33354a40) 0
QPaintDevice (0x334892d8) 8
vptr=((& QDateEdit::_ZTV9QDateEdit) + 260u)
-Class QFlags<QDateTimeEdit::Section>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDateTimeEdit::Section> (0x33489498) 0
Vtable for QLabel
QLabel::_ZTV6QLabel: 63u entries
@@ -10754,10 +9910,6 @@ QDockWidget (0x33354c00) 0
QPaintDevice (0x334896c8) 8
vptr=((& QDockWidget::_ZTV11QDockWidget) + 232u)
-Class QFlags<QDockWidget::DockWidgetFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDockWidget::DockWidgetFeature> (0x33489930) 0
Vtable for QGroupBox
QGroupBox::_ZTV9QGroupBox: 63u entries
@@ -12328,158 +11480,34 @@ QDial (0x33569900) 0
QPaintDevice (0x3364c9d8) 8
vptr=((& QDial::_ZTV5QDial) + 236u)
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0x33708c40) 0
-Class QTypeInfo<QDebug::Stream*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDebug::Stream*> (0x33724380) 0 empty
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0x33744188) 0
-Class QVectorTypedData<QTextLength>
- size=32 align=8
- base size=32 base align=8
-QVectorTypedData<QTextLength> (0x33772d90) 0
-Class QVectorTypedData<QTextLayout::FormatRange>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QTextLayout::FormatRange> (0x3378ca48) 0
-Class QVectorTypedData<QAbstractTextDocumentLayout::Selection>
- size=28 align=4
- base size=28 base align=4
-QVectorTypedData<QAbstractTextDocumentLayout::Selection> (0x3378cce8) 0
-Class QVectorTypedData<QPoint>
- size=24 align=4
- base size=24 base align=4
-QVectorTypedData<QPoint> (0x337acd90) 0
-Class QVectorTypedData<QPointF>
- size=32 align=8
- base size=32 base align=8
-QVectorTypedData<QPointF> (0x337ca3b8) 0
-Class QVectorTypedData<QLineF>
- size=48 align=8
- base size=48 base align=8
-QVectorTypedData<QLineF> (0x337caf18) 0
-Class QVectorTypedData<QLine>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QLine> (0x337f70a8) 0
-Class QVectorTypedData<QRectF>
- size=48 align=8
- base size=48 base align=8
-QVectorTypedData<QRectF> (0x337f7230) 0
-Class QVectorTypedData<QRect>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QRect> (0x337f73b8) 0
-Class QVectorTypedData<QPainterPath::Element>
- size=40 align=8
- base size=40 base align=8
-QVectorTypedData<QPainterPath::Element> (0x337f7b28) 0
-Class QList<QTreeWidgetItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::Node (0x33888268) 0
-Class QVectorTypedData<QVector<QWidgetItemData> >
- size=20 align=4
- base size=20 base align=4
-QVectorTypedData<QVector<QWidgetItemData> > (0x33888460) 0
-Class QList<QAction*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QAction*>::Node (0x338ac118) 0
-Class QTypeInfo<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLength> (0x338e7b98) 0 empty
-Class QTypeInfo<QTextLayout::FormatRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLayout::FormatRange> (0x338e7f88) 0 empty
-Class QTypeInfo<QAbstractTextDocumentLayout::Selection>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAbstractTextDocumentLayout::Selection> (0x33908380) 0 empty
-Class QHashNode<QVariant::Type, QItemEditorCreatorBase*>
- size=16 align=4
- base size=16 base align=4
-QHashNode<QVariant::Type, QItemEditorCreatorBase*> (0x339278c0) 0
-Class QTypeInfo<QTreeWidgetItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTreeWidgetItem*> (0x33927a48) 0 empty
-Class QTypeInfo<QAction*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAction*> (0x33927f18) 0 empty
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0x3394e380) 0
-Class QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union> (0x3394e578) 0
-Class QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union> (0x3394eaf0) 0
-Class QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union> (0x3398b000) 0
-Class QList<QItemSelectionRange>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::Node (0x3398b620) 0
-Class QTypeInfo<QStyleOptionQ3ListViewItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QStyleOptionQ3ListViewItem> (0x3398b8c0) 0 empty
-Class QList<QStyleOptionQ3ListViewItem>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::Node (0x3398b968) 0
-Class QList<QVariant>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::Node (0x3398be38) 0
-Class QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union> (0x339ba460) 0
diff --git a/tests/auto/bic/data/QtGui.4.1.0.macx-gcc-ia32.txt b/tests/auto/bic/data/QtGui.4.1.0.macx-gcc-ia32.txt
index a7b7870..e85b020 100644
--- a/tests/auto/bic/data/QtGui.4.1.0.macx-gcc-ia32.txt
+++ b/tests/auto/bic/data/QtGui.4.1.0.macx-gcc-ia32.txt
@@ -18,75 +18,19 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0x6952c0) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0x695500) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0x6955c0) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0x695680) 0 empty
-Class QTypeInfo<uchar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uchar> (0x695740) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0x695800) 0 empty
-Class QTypeInfo<ushort>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ushort> (0x6958c0) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0x695980) 0 empty
-Class QTypeInfo<uint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uint> (0x695a40) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0x695b00) 0 empty
-Class QTypeInfo<ulong>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ulong> (0x695bc0) 0 empty
-Class QTypeInfo<qint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<qint64> (0x695c80) 0 empty
-Class QTypeInfo<quint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<quint64> (0x695d40) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0x695e00) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0x695ec0) 0 empty
Class QFlag
size=4 align=4
@@ -103,10 +47,6 @@ Class QChar
base size=2 base align=2
QChar (0x6ca1c0) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0x6ca2c0) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -119,10 +59,6 @@ Class QAtomic
QAtomic (0x6ca9c0) 0
QBasicAtomic (0x6caa00) 0
-Class <anonymous union>
- size=128 align=4
- base size=128 base align=4
-<anonymous union> (0x6cac80) 0
Class __darwin_pthread_handler_rec
size=12 align=4
@@ -204,70 +140,18 @@ Class QByteRef
base size=8 base align=4
QByteRef (0x16af940) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0x16afd00) 0 empty
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0x17b21c0) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0x17b2240) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0x17b22c0) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0x17b2340) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0x17b23c0) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0x17b2440) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0x17b24c0) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0x17b2540) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0x17b25c0) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0x17b2640) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0x17b26c0) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0x17b2740) 0
Class QInternal
size=1 align=1
@@ -294,10 +178,6 @@ Class QLatin1String
base size=4 base align=4
QLatin1String (0x17b2e80) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0x19182c0) 0
Class QCharRef
size=8 align=4
@@ -310,10 +190,6 @@ Class QConstString
QConstString (0x1918ec0) 0
QString (0x1918f00) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0x1a0f000) 0 empty
Vtable for std::exception
std::exception::_ZTVSt9exception: 5u entries
@@ -376,10 +252,6 @@ Class QListData
base size=4 base align=4
QListData (0x1a0f8c0) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0x1a0ff00) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -404,15 +276,7 @@ Class QTextCodec
QTextCodec (0x1a0fd80) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0x1b210c0) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0x1b21000) 0
Class QTextEncoder
size=32 align=4
@@ -435,25 +299,13 @@ Class QGenericReturnArgument
QGenericReturnArgument (0x1b21300) 0
QGenericArgument (0x1b21340) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0x1b21600) 0
Class QMetaObject
size=16 align=4
base size=16 base align=4
QMetaObject (0x1b21580) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0x1b21880) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0x1b217c0) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -545,10 +397,6 @@ QIODevice (0x1b21ec0) 0
QObject (0x1b21f00) 0
primary-for QIODevice (0x1b21ec0)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0x1bee080) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -568,25 +416,13 @@ Class QRegExp
base size=4 base align=4
QRegExp (0x1bee740) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0x1bee940) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0x1bee9c0) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0x1beebc0) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0x1beeb00) 0
Class QStringList
size=4 align=4
@@ -594,15 +430,7 @@ Class QStringList
QStringList (0x1beec80) 0
QList<QString> (0x1beecc0) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0x1c8f140) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0x1c8f1c0) 0
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -736,50 +564,22 @@ QFile (0x1c8f5c0) 0
QObject (0x1c8fac0) 0
primary-for QIODevice (0x1c8f880)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0x1d28140) 0
Class QFileInfo
size=4 align=4
base size=4 base align=4
QFileInfo (0x1d28180) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0x1d28240) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0x1d282c0) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0x1d28480) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0x1d283c0) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0x1d28540) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0x1d28680) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0x1d28700) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -836,10 +636,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0x1d28740) 0
vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0x1d28a00) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -913,10 +709,6 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0x1d28f00) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0x1d28f80) 0 empty
Class QMapData::Node
size=8 align=4
@@ -941,10 +733,6 @@ Class QTextStream
QTextStream (0x1f4f240) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0x1f4f500) 0
Class QTextStreamManipulator
size=24 align=4
@@ -1041,35 +829,15 @@ Class rlimit
base size=16 base align=4
rlimit (0x1f4fb40) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0x1fef780) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0x1fef800) 0
Class wait
size=4 align=4
base size=4 base align=4
wait (0x1fef700) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x1fef880) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x1fef900) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0x1fef980) 0
Class QVectorData
size=16 align=4
@@ -1182,95 +950,23 @@ Class QMetaType
base size=0 base align=1
QMetaType (0x20dc400) 0 empty
-Class QMetaTypeId<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QString> (0x20dc540) 0 empty
-Class QMetaTypeId<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<int> (0x20dc600) 0 empty
-Class QMetaTypeId<uint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<uint> (0x20dc6c0) 0 empty
-Class QMetaTypeId<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<bool> (0x20dc780) 0 empty
-Class QMetaTypeId<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<double> (0x20dc840) 0 empty
-Class QMetaTypeId<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QByteArray> (0x20dc900) 0 empty
-Class QMetaTypeId<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QChar> (0x20dc9c0) 0 empty
-Class QMetaTypeId<void>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<void> (0x20dca80) 0 empty
-Class QMetaTypeId<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<long int> (0x20dcb40) 0 empty
-Class QMetaTypeId<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<short int> (0x20dcc00) 0 empty
-Class QMetaTypeId<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<char> (0x20dccc0) 0 empty
-Class QMetaTypeId<ulong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<ulong> (0x20dcd80) 0 empty
-Class QMetaTypeId<ushort>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<ushort> (0x20dce40) 0 empty
-Class QMetaTypeId<uchar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<uchar> (0x20dcf00) 0 empty
-Class QMetaTypeId<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<float> (0x20dcfc0) 0 empty
-Class QMetaTypeId<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QObject*> (0x20dc380) 0 empty
-Class QMetaTypeId<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QWidget*> (0x212d080) 0 empty
-Class QMetaTypeId<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<void*> (0x212d140) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -1297,50 +993,18 @@ Class QVariant
base size=12 base align=4
QVariant (0x212d1c0) 0
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0x212d840) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0x212d780) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0x212da40) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0x212d980) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0x212dcc0) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0x212de00) 0 empty
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0x212dec0) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x212df40) 0
-Class <anonymous struct>
- size=3156 align=4
- base size=3156 base align=4
-<anonymous struct> (0x212dfc0) 0
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1418,15 +1082,7 @@ Class QUrl
base size=4 base align=4
QUrl (0x21ee680) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0x21ee840) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0x21ee8c0) 0 empty
Vtable for QEventLoop
QEventLoop::_ZTV10QEventLoop: 14u entries
@@ -1453,10 +1109,6 @@ QEventLoop (0x21ee940) 0
QObject (0x21ee980) 0
primary-for QEventLoop (0x21ee940)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0x21eeb80) 0
Vtable for QAbstractEventDispatcher
QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 27u entries
@@ -1501,20 +1153,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0x21eedc0) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0x21eef80) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0x21ee100) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0x21eed40) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -1684,10 +1328,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0x22d06c0) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0x22d07c0) 0 empty
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -1779,20 +1419,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0x2365100) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0x23651c0) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0x2365240) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0x2365300) 0 empty
Class QMetaProperty
size=20 align=4
@@ -1804,10 +1436,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0x23653c0) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0x2365480) 0 empty
Vtable for QMimeData
QMimeData::_ZTV9QMimeData: 17u entries
@@ -2095,10 +1723,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0x23efdc0) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0x23eff00) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -2110,70 +1734,42 @@ Class QDate
base size=4 base align=4
QDate (0x24950c0) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0x24952c0) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0x2495340) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0x2495580) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0x2495600) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0x2495780) 0 empty
Class QPoint
size=8 align=4
base size=8 base align=4
QPoint (0x2495800) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0x2495c80) 0 empty
Class QPointF
size=16 align=4
base size=16 base align=4
QPointF (0x2495f40) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0x2495940) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0x2549140) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0x25491c0) 0 empty
Class QLineF
size=32 align=4
base size=32 base align=4
QLineF (0x2549340) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0x2549400) 0 empty
Class QLinkedListData
size=20 align=4
@@ -2185,50 +1781,30 @@ Class QLocale
base size=4 base align=4
QLocale (0x25499c0) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0x2549a40) 0 empty
Class QSize
size=8 align=4
base size=8 base align=4
QSize (0x2549b80) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0x2549f80) 0 empty
Class QSizeF
size=16 align=4
base size=16 base align=4
QSizeF (0x267a140) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0x267a540) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0x267a9c0) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0x267ab80) 0 empty
Class QRectF
size=32 align=4
base size=32 base align=4
QRectF (0x267ae00) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0x267afc0) 0 empty
Class QSharedData
size=4 align=4
@@ -2250,10 +1826,6 @@ Class QKeySequence
base size=4 base align=4
QKeySequence (0x278e6c0) 0
-Class QTypeInfo<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QKeySequence> (0x278e840) 0 empty
Vtable for QMimeSource
QMimeSource::_ZTV11QMimeSource: 7u entries
@@ -2572,15 +2144,7 @@ Class QInputMethodEvent::Attribute
base size=24 base align=4
QInputMethodEvent::Attribute (0x28b22c0) 0
-Class QList<QInputMethodEvent::Attribute>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute>::<anonymous union> (0x28b2480) 0
-Class QList<QInputMethodEvent::Attribute>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute> (0x28b23c0) 0
Vtable for QInputMethodEvent
QInputMethodEvent::_ZTV17QInputMethodEvent: 4u entries
@@ -2869,15 +2433,7 @@ Class QAccessible
base size=0 base align=1
QAccessible (0x2909e00) 0 empty
-Class QFlags<QAccessible::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::StateFlag> (0x2909f40) 0
-Class QFlags<QAccessible::RelationFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::RelationFlag> (0x2909fc0) 0
Vtable for QAccessibleInterface
QAccessibleInterface::_ZTV20QAccessibleInterface: 19u entries
@@ -3161,25 +2717,9 @@ Class QPaintDevice
QPaintDevice (0x296bc80) 0
vptr=((& QPaintDevice::_ZTV12QPaintDevice) + 8u)
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x29af2c0) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x29af340) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x29af3c0) 0
-Class QColor::<anonymous union>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union> (0x29af240) 0
Class QColor
size=16 align=4
@@ -3191,45 +2731,17 @@ Class QBrush
base size=4 base align=4
QBrush (0x29af680) 0
-Class QTypeInfo<QBrush>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBrush> (0x29af740) 0 empty
Class QBrushData
size=24 align=4
base size=24 base align=4
QBrushData (0x29af7c0) 0
-Class QVector<QGradientStop>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QGradientStop>::<anonymous union> (0x29afa40) 0
-Class QVector<QGradientStop>
- size=4 align=4
- base size=4 base align=4
-QVector<QGradientStop> (0x29af940) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=32 align=4
- base size=32 base align=4
-QGradient::<anonymous union>::<anonymous struct> (0x29afb80) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=40 align=4
- base size=40 base align=4
-QGradient::<anonymous union>::<anonymous struct> (0x29afc00) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=24 align=4
- base size=24 base align=4
-QGradient::<anonymous union>::<anonymous struct> (0x29afc80) 0
-Class QGradient::<anonymous union>
- size=40 align=4
- base size=40 base align=4
-QGradient::<anonymous union> (0x29afb00) 0
Class QGradient
size=56 align=4
@@ -3625,10 +3137,6 @@ QAbstractPrintDialog (0x2b7b740) 0
QPaintDevice (0x2b7b800) 8
vptr=((& QAbstractPrintDialog::_ZTV20QAbstractPrintDialog) + 248u)
-Class QFlags<QAbstractPrintDialog::PrintDialogOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractPrintDialog::PrintDialogOption> (0x2b7ba80) 0
Vtable for QColorDialog
QColorDialog::_ZTV12QColorDialog: 66u entries
@@ -3879,10 +3387,6 @@ QFileDialog (0x2b7bfc0) 0
QPaintDevice (0x2b7b940) 8
vptr=((& QFileDialog::_ZTV11QFileDialog) + 244u)
-Class QFlags<QFileDialog::Option>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileDialog::Option> (0x2c3f200) 0
Vtable for QFontDialog
QFontDialog::_ZTV11QFontDialog: 66u entries
@@ -4577,10 +4081,6 @@ QImage (0x2d097c0) 0
QPaintDevice (0x2d09800) 0
primary-for QImage (0x2d097c0)
-Class QTypeInfo<QImage>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QImage> (0x2d09b00) 0 empty
Vtable for QPixmap
QPixmap::_ZTV7QPixmap: 7u entries
@@ -4625,10 +4125,6 @@ Class QIcon
base size=4 base align=4
QIcon (0x2dc71c0) 0
-Class QTypeInfo<QIcon>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QIcon> (0x2dc7280) 0 empty
Vtable for QIconEngine
QIconEngine::_ZTV11QIconEngine: 9u entries
@@ -4784,10 +4280,6 @@ QImageIOPlugin (0x2e09e80) 0
QFactoryInterface (0x2dc7cc0) 8 nearly-empty
primary-for QImageIOHandlerFactoryInterface (0x2dc7c80)
-Class QFlags<QImageIOPlugin::Capability>
- size=4 align=4
- base size=4 base align=4
-QFlags<QImageIOPlugin::Capability> (0x2dc7f00) 0
Class QImageReader
size=4 align=4
@@ -4963,15 +4455,7 @@ QActionGroup (0x2e5a980) 0
QObject (0x2e5a9c0) 0
primary-for QActionGroup (0x2e5a980)
-Class QList<QAction*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QAction*>::<anonymous union> (0x2e5ac40) 0
-Class QList<QAction*>
- size=4 align=4
- base size=4 base align=4
-QList<QAction*> (0x2e5ab80) 0
Vtable for QInputContext
QInputContext::_ZTV13QInputContext: 25u entries
@@ -5276,10 +4760,6 @@ QAbstractSpinBox (0x2ee4740) 0
QPaintDevice (0x2ee47c0) 8
vptr=((& QAbstractSpinBox::_ZTV16QAbstractSpinBox) + 252u)
-Class QFlags<QAbstractSpinBox::StepEnabledFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractSpinBox::StepEnabledFlag> (0x2ee4a40) 0
Vtable for QAbstractSlider
QAbstractSlider::_ZTV15QAbstractSlider: 64u entries
@@ -5487,15 +4967,7 @@ QStyle (0x2ee4f40) 0
QObject (0x2ee4f80) 0
primary-for QStyle (0x2ee4f40)
-Class QFlags<QStyle::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::StateFlag> (0x2ee4e40) 0
-Class QFlags<QStyle::SubControl>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::SubControl> (0x2fb9040) 0
Vtable for QTabBar
QTabBar::_ZTV7QTabBar: 67u entries
@@ -5754,10 +5226,6 @@ Class QStyleOptionFrame
QStyleOptionFrame (0x2fb9a40) 0
QStyleOption (0x2fb9a80) 0
-Class QFlags<QStyleOptionFrameV2::FrameFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionFrameV2::FrameFeature> (0x2fb9e00) 0
Class QStyleOptionFrameV2
size=56 align=4
@@ -5784,10 +5252,6 @@ Class QStyleOptionHeader
QStyleOptionHeader (0x3062300) 0
QStyleOption (0x3062340) 0
-Class QFlags<QStyleOptionButton::ButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionButton::ButtonFeature> (0x3062700) 0
Class QStyleOptionButton
size=64 align=4
@@ -5795,10 +5259,6 @@ Class QStyleOptionButton
QStyleOptionButton (0x3062540) 0
QStyleOption (0x3062580) 0
-Class QFlags<QStyleOptionTab::CornerWidget>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionTab::CornerWidget> (0x3062a40) 0
Class QStyleOptionTab
size=72 align=4
@@ -5813,10 +5273,6 @@ QStyleOptionTabV2 (0x3062b80) 0
QStyleOptionTab (0x3062bc0) 0
QStyleOption (0x3062c00) 0
-Class QFlags<QStyleOptionToolBar::ToolBarFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionToolBar::ToolBarFeature> (0x3062200) 0
Class QStyleOptionToolBar
size=68 align=4
@@ -5843,10 +5299,6 @@ Class QStyleOptionMenuItem
QStyleOptionMenuItem (0x30db2c0) 0
QStyleOption (0x30db300) 0
-Class QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature> (0x30db680) 0
Class QStyleOptionQ3ListViewItem
size=64 align=4
@@ -5904,15 +5356,7 @@ QStyleOptionSpinBox (0x31394c0) 0
QStyleOptionComplex (0x3139500) 0
QStyleOption (0x3139540) 0
-Class QList<QStyleOptionQ3ListViewItem>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::<anonymous union> (0x31399c0) 0
-Class QList<QStyleOptionQ3ListViewItem>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem> (0x3139900) 0
Class QStyleOptionQ3ListView
size=84 align=4
@@ -5921,10 +5365,6 @@ QStyleOptionQ3ListView (0x3139700) 0
QStyleOptionComplex (0x3139740) 0
QStyleOption (0x3139780) 0
-Class QFlags<QStyleOptionToolButton::ToolButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionToolButton::ToolButtonFeature> (0x3139dc0) 0
Class QStyleOptionToolButton
size=96 align=4
@@ -6084,10 +5524,6 @@ Class QItemSelectionRange
base size=8 base align=4
QItemSelectionRange (0x31a09c0) 0
-Class QTypeInfo<QItemSelectionRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QItemSelectionRange> (0x31a0cc0) 0 empty
Vtable for QItemSelectionModel
QItemSelectionModel::_ZTV19QItemSelectionModel: 18u entries
@@ -6118,20 +5554,8 @@ QItemSelectionModel (0x31a0d80) 0
QObject (0x31a0dc0) 0
primary-for QItemSelectionModel (0x31a0d80)
-Class QFlags<QItemSelectionModel::SelectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QItemSelectionModel::SelectionFlag> (0x31a0f80) 0
-Class QList<QItemSelectionRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::<anonymous union> (0x31a0ec0) 0
-Class QList<QItemSelectionRange>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange> (0x31a0300) 0
Class QItemSelection
size=4 align=4
@@ -6261,10 +5685,6 @@ QAbstractItemView (0x3249180) 0
QPaintDevice (0x3249280) 8
vptr=((& QAbstractItemView::_ZTV17QAbstractItemView) + 392u)
-Class QFlags<QAbstractItemView::EditTrigger>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractItemView::EditTrigger> (0x3249500) 0
Vtable for QAbstractProxyModel
QAbstractProxyModel::_ZTV19QAbstractProxyModel: 47u entries
@@ -6576,15 +5996,7 @@ Class QItemEditorCreatorBase
QItemEditorCreatorBase (0x3249f80) 0 nearly-empty
vptr=((& QItemEditorCreatorBase::_ZTV22QItemEditorCreatorBase) + 8u)
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union> (0x32f7280) 0
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*> (0x32f7140) 0
Vtable for QItemEditorFactory
QItemEditorFactory::_ZTV18QItemEditorFactory: 6u entries
@@ -6725,15 +6137,7 @@ QListView (0x32f7500) 0
QPaintDevice (0x32f7640) 8
vptr=((& QListView::_ZTV9QListView) + 392u)
-Class QVector<QWidgetItemData>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData>::<anonymous union> (0x32f7a80) 0
-Class QVector<QWidgetItemData>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData> (0x32f7980) 0
Vtable for QListWidgetItem
QListWidgetItem::_ZTV15QListWidgetItem: 11u entries
@@ -7522,35 +6926,15 @@ QTreeView (0x338e780) 0
QPaintDevice (0x349a080) 8
vptr=((& QTreeView::_ZTV9QTreeView) + 400u)
-Class QFlags<QTreeWidgetItemIterator::IteratorFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTreeWidgetItemIterator::IteratorFlag> (0x349a340) 0
Class QTreeWidgetItemIterator
size=12 align=4
base size=12 base align=4
QTreeWidgetItemIterator (0x349a240) 0
-Class QVector<QVector<QWidgetItemData> >::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> >::<anonymous union> (0x349a800) 0
-Class QVector<QVector<QWidgetItemData> >
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> > (0x349a700) 0
-Class QList<QTreeWidgetItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::<anonymous union> (0x349a9c0) 0
-Class QList<QTreeWidgetItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*> (0x349a900) 0
Vtable for QTreeWidgetItem
QTreeWidgetItem::_ZTV15QTreeWidgetItem: 10u entries
@@ -8397,15 +7781,7 @@ Class QColormap
base size=4 base align=4
QColormap (0x3679480) 0
-Class QVector<QPoint>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint>::<anonymous union> (0x3679680) 0
-Class QVector<QPoint>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint> (0x3679580) 0
Class QPolygon
size=4 align=4
@@ -8413,15 +7789,7 @@ Class QPolygon
QPolygon (0x3679700) 0
QVector<QPoint> (0x3679740) 0
-Class QVector<QPointF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF>::<anonymous union> (0x3679b80) 0
-Class QVector<QPointF>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF> (0x3679a80) 0
Class QPolygonF
size=4 align=4
@@ -8434,95 +7802,39 @@ Class QMatrix
base size=48 base align=4
QMatrix (0x3679f40) 0
-Class QTypeInfo<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMatrix> (0x3679fc0) 0 empty
Class QTextOption
size=24 align=4
base size=24 base align=4
QTextOption (0x3718000) 0
-Class QFlags<QTextOption::Flag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextOption::Flag> (0x3718100) 0
Class QPen
size=4 align=4
base size=4 base align=4
QPen (0x3718140) 0
-Class QTypeInfo<QPen>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPen> (0x3718300) 0 empty
Class QPainter
size=4 align=4
base size=4 base align=4
QPainter (0x3718380) 0
-Class QFlags<QPainter::RenderHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPainter::RenderHint> (0x3718900) 0
-Class QVector<QLineF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF>::<anonymous union> (0x3718ac0) 0
-Class QVector<QLineF>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF> (0x37189c0) 0
-Class QVector<QLine>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine>::<anonymous union> (0x3718cc0) 0
-Class QVector<QLine>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine> (0x3718bc0) 0
-Class QVector<QRectF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF>::<anonymous union> (0x3718ec0) 0
-Class QVector<QRectF>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF> (0x3718dc0) 0
-Class QVector<QRect>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect>::<anonymous union> (0x3809000) 0
-Class QVector<QRect>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect> (0x3718fc0) 0
Class QTextItem
size=1 align=1
base size=0 base align=1
QTextItem (0x3809080) 0 empty
-Class QTypeInfo<QTextItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextItem> (0x3809140) 0 empty
-Class QFlags<QPaintEngine::PaintEngineFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::PaintEngineFeature> (0x3809300) 0
Vtable for QPaintEngine
QPaintEngine::_ZTV12QPaintEngine: 24u entries
@@ -8557,20 +7869,12 @@ Class QPaintEngine
QPaintEngine (0x38091c0) 0
vptr=((& QPaintEngine::_ZTV12QPaintEngine) + 8u)
-Class QFlags<QPaintEngine::DirtyFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::DirtyFlag> (0x3809540) 0
Class QPaintEngineState
size=4 align=4
base size=4 base align=4
QPaintEngineState (0x3809480) 0
-Class QFlags<QTextItem::RenderFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextItem::RenderFlag> (0x38095c0) 0
Class QPainterPath::Element
size=20 align=4
@@ -8582,25 +7886,13 @@ Class QPainterPath
base size=4 base align=4
QPainterPath (0x3809600) 0
-Class QVector<QPainterPath::Element>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element>::<anonymous union> (0x3809b40) 0
-Class QVector<QPainterPath::Element>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element> (0x3809a40) 0
Class QPainterPathPrivate
size=8 align=4
base size=8 base align=4
QPainterPathPrivate (0x3809840) 0
-Class QTypeInfo<QPainterPath::Element>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPainterPath::Element> (0x3809c00) 0 empty
Class QPainterPathStroker
size=4 align=4
@@ -8698,10 +7990,6 @@ QCommonStyle (0x3945340) 0
QObject (0x39453c0) 0
primary-for QStyle (0x3945380)
-Class QPointer<QFocusFrame>
- size=4 align=4
- base size=4 base align=4
-QPointer<QFocusFrame> (0x39456c0) 0
Vtable for QMotifStyle
QMotifStyle::_ZTV11QMotifStyle: 35u entries
@@ -9023,25 +8311,13 @@ Class QTextLength
base size=12 base align=4
QTextLength (0x39b63c0) 0
-Class QSharedDataPointer<QTextFormatPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextFormatPrivate> (0x39b6740) 0
Class QTextFormat
size=8 align=4
base size=8 base align=4
QTextFormat (0x39b6600) 0
-Class QVector<QTextLength>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength>::<anonymous union> (0x39b6b00) 0
-Class QVector<QTextLength>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength> (0x39b6a00) 0
Class QTextCharFormat
size=8 align=4
@@ -9096,15 +8372,7 @@ Class QTextLayout
base size=4 base align=4
QTextLayout (0x39b6400) 0
-Class QVector<QTextLayout::FormatRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange>::<anonymous union> (0x3aa8180) 0
-Class QVector<QTextLayout::FormatRange>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange> (0x3aa8080) 0
Class QTextLine
size=8 align=4
@@ -9154,15 +8422,7 @@ QTextDocument (0x3aa8480) 0
QObject (0x3aa84c0) 0
primary-for QTextDocument (0x3aa8480)
-Class QFlags<QTextDocument::FindFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextDocument::FindFlag> (0x3aa8700) 0
-Class QSharedDataPointer<QTextCursorPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextCursorPrivate> (0x3aa8840) 0
Class QTextCursor
size=4 align=4
@@ -9174,15 +8434,7 @@ Class QAbstractTextDocumentLayout::Selection
base size=12 base align=4
QAbstractTextDocumentLayout::Selection (0x3aa8980) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union> (0x3aa8bc0) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection> (0x3aa8ac0) 0
Class QAbstractTextDocumentLayout::PaintContext
size=48 align=4
@@ -9344,10 +8596,6 @@ QTextFrame (0x3b5c380) 0
QObject (0x3b5c400) 0
primary-for QTextObject (0x3b5c3c0)
-Class QTypeInfo<QTextFrame::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFrame::iterator> (0x3b5c940) 0 empty
Vtable for QTextBlockUserData
QTextBlockUserData::_ZTV18QTextBlockUserData: 4u entries
@@ -9372,25 +8620,13 @@ Class QTextBlock
base size=8 base align=4
QTextBlock (0x3b5cb80) 0
-Class QTypeInfo<QTextBlock>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock> (0x3b5cf80) 0 empty
-Class QTypeInfo<QTextBlock::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock::iterator> (0x3b5c540) 0 empty
Class QTextFragment
size=12 align=4
base size=12 base align=4
QTextFragment (0x3bb5080) 0
-Class QTypeInfo<QTextFragment>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFragment> (0x3bb5280) 0 empty
Vtable for QSyntaxHighlighter
QSyntaxHighlighter::_ZTV18QSyntaxHighlighter: 15u entries
@@ -10023,10 +9259,6 @@ QDateEdit (0x3c36d80) 0
QPaintDevice (0x3c36e80) 8
vptr=((& QDateEdit::_ZTV9QDateEdit) + 260u)
-Class QFlags<QDateTimeEdit::Section>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDateTimeEdit::Section> (0x3c36580) 0
Vtable for QDial
QDial::_ZTV5QDial: 64u entries
@@ -10187,10 +9419,6 @@ QDockWidget (0x3cda1c0) 0
QPaintDevice (0x3cda240) 8
vptr=((& QDockWidget::_ZTV11QDockWidget) + 232u)
-Class QFlags<QDockWidget::DockWidgetFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDockWidget::DockWidgetFeature> (0x3cda500) 0
Vtable for QFocusFrame
QFocusFrame::_ZTV11QFocusFrame: 63u entries
@@ -12332,158 +11560,34 @@ QWorkspace (0x3fe2140) 0
QPaintDevice (0x3fe21c0) 8
vptr=((& QWorkspace::_ZTV10QWorkspace) + 232u)
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0x405a740) 0
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0x407b5c0) 0
-Class QTypeInfo<QDebug::Stream*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDebug::Stream*> (0x40d3640) 0 empty
-Class QList<QTreeWidgetItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::Node (0x41b3900) 0
-Class QVectorTypedData<QVector<QWidgetItemData> >
- size=20 align=4
- base size=20 base align=4
-QVectorTypedData<QVector<QWidgetItemData> > (0x41b3b40) 0
-Class QVectorTypedData<QPoint>
- size=24 align=4
- base size=24 base align=4
-QVectorTypedData<QPoint> (0x41b3e00) 0
-Class QVectorTypedData<QPointF>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QPointF> (0x41d5500) 0
-Class QVectorTypedData<QLineF>
- size=48 align=4
- base size=48 base align=4
-QVectorTypedData<QLineF> (0x4209840) 0
-Class QVectorTypedData<QLine>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QLine> (0x4209a00) 0
-Class QVectorTypedData<QRectF>
- size=48 align=4
- base size=48 base align=4
-QVectorTypedData<QRectF> (0x4209bc0) 0
-Class QVectorTypedData<QRect>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QRect> (0x4209d80) 0
-Class QVectorTypedData<QPainterPath::Element>
- size=36 align=4
- base size=36 base align=4
-QVectorTypedData<QPainterPath::Element> (0x4224d40) 0
-Class QVectorTypedData<QTextLength>
- size=28 align=4
- base size=28 base align=4
-QVectorTypedData<QTextLength> (0x4242000) 0
-Class QVectorTypedData<QTextLayout::FormatRange>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QTextLayout::FormatRange> (0x4242300) 0
-Class QVectorTypedData<QAbstractTextDocumentLayout::Selection>
- size=28 align=4
- base size=28 base align=4
-QVectorTypedData<QAbstractTextDocumentLayout::Selection> (0x4242980) 0
-Class QList<QAction*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QAction*>::Node (0x42665c0) 0
-Class QHashNode<QVariant::Type, QItemEditorCreatorBase*>
- size=16 align=4
- base size=16 base align=4
-QHashNode<QVariant::Type, QItemEditorCreatorBase*> (0x42d1940) 0
-Class QTypeInfo<QTreeWidgetItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTreeWidgetItem*> (0x42d1c00) 0 empty
-Class QTypeInfo<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLength> (0x42fdac0) 0 empty
-Class QTypeInfo<QTextLayout::FormatRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLayout::FormatRange> (0x42fde40) 0 empty
-Class QTypeInfo<QAbstractTextDocumentLayout::Selection>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAbstractTextDocumentLayout::Selection> (0x431c2c0) 0 empty
-Class QTypeInfo<QAction*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAction*> (0x431c7c0) 0 empty
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0x431cb00) 0
-Class QList<QVariant>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::Node (0x431cd40) 0
-Class QTypeInfo<QStyleOptionQ3ListViewItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QStyleOptionQ3ListViewItem> (0x433e0c0) 0 empty
-Class QList<QStyleOptionQ3ListViewItem>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::Node (0x433e180) 0
-Class QList<QItemSelectionRange>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::Node (0x433e540) 0
-Class QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union> (0x433e9c0) 0
-Class QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union> (0x4373000) 0
-Class QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union> (0x4373700) 0
-Class QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union> (0x43b3080) 0
diff --git a/tests/auto/bic/data/QtGui.4.1.0.macx-gcc-ppc32.txt b/tests/auto/bic/data/QtGui.4.1.0.macx-gcc-ppc32.txt
index 309680e..ef64846 100644
--- a/tests/auto/bic/data/QtGui.4.1.0.macx-gcc-ppc32.txt
+++ b/tests/auto/bic/data/QtGui.4.1.0.macx-gcc-ppc32.txt
@@ -18,75 +18,19 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0x820d40) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0x820f80) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0x84b040) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0x84b100) 0 empty
-Class QTypeInfo<uchar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uchar> (0x84b1c0) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0x84b280) 0 empty
-Class QTypeInfo<ushort>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ushort> (0x84b340) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0x84b400) 0 empty
-Class QTypeInfo<uint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uint> (0x84b4c0) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0x84b580) 0 empty
-Class QTypeInfo<ulong>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ulong> (0x84b640) 0 empty
-Class QTypeInfo<qint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<qint64> (0x84b700) 0 empty
-Class QTypeInfo<quint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<quint64> (0x84b7c0) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0x84b880) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0x84b940) 0 empty
Class QFlag
size=4 align=4
@@ -103,10 +47,6 @@ Class QChar
base size=2 base align=2
QChar (0x84bc40) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0x84bd40) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -119,10 +59,6 @@ Class QAtomic
QAtomic (0x1707140) 0
QBasicAtomic (0x1707180) 0
-Class <anonymous union>
- size=128 align=8
- base size=128 base align=8
-<anonymous union> (0x1707400) 0
Class __darwin_pthread_handler_rec
size=12 align=4
@@ -204,70 +140,18 @@ Class QByteRef
base size=8 base align=4
QByteRef (0x17d50c0) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0x17d5480) 0 empty
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0x17d5940) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0x17d59c0) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0x17d5a40) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0x17d5ac0) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0x17d5b40) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0x17d5bc0) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0x17d5c40) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0x17d5cc0) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0x17d5d40) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0x17d5dc0) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0x17d5e40) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0x17d5ec0) 0
Class QInternal
size=1 align=1
@@ -294,10 +178,6 @@ Class QLatin1String
base size=4 base align=4
QLatin1String (0x1947600) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0x1947a40) 0
Class QCharRef
size=8 align=4
@@ -310,10 +190,6 @@ Class QConstString
QConstString (0x1b15640) 0
QString (0x1b15680) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0x1b15780) 0 empty
Vtable for std::exception
std::exception::_ZTVSt9exception: 5u entries
@@ -376,10 +252,6 @@ Class QListData
base size=4 base align=4
QListData (0x1b15c40) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0x1b77580) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -404,15 +276,7 @@ Class QTextCodec
QTextCodec (0x1b77400) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0x1b778c0) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0x1b77800) 0
Class QTextEncoder
size=32 align=4
@@ -435,25 +299,13 @@ Class QGenericReturnArgument
QGenericReturnArgument (0x1b77b00) 0
QGenericArgument (0x1b77b40) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0x1b77e00) 0
Class QMetaObject
size=16 align=4
base size=16 base align=4
QMetaObject (0x1b77d80) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0x1b77680) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0x1b77fc0) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -545,10 +397,6 @@ QIODevice (0x1cda600) 0
QObject (0x1cda640) 0
primary-for QIODevice (0x1cda600)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0x1cda880) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -568,25 +416,13 @@ Class QRegExp
base size=4 base align=4
QRegExp (0x1cdaf40) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0x1dc5040) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0x1dc50c0) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0x1dc52c0) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0x1dc5200) 0
Class QStringList
size=4 align=4
@@ -594,15 +430,7 @@ Class QStringList
QStringList (0x1dc5380) 0
QList<QString> (0x1dc53c0) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0x1dc5880) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0x1dc5900) 0
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -736,50 +564,22 @@ QFile (0x1e4cb40) 0
QObject (0x1e4cbc0) 0
primary-for QIODevice (0x1e4cb80)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0x1e4cd80) 0
Class QFileInfo
size=4 align=4
base size=4 base align=4
QFileInfo (0x1e4cdc0) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0x1e4ce80) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0x1e4cf00) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0x1f0f000) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0x1e4c180) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0x1f0f0c0) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0x1f0f200) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0x1f0f280) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -836,10 +636,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0x1f0f2c0) 0
vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0x1f0f580) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -913,10 +709,6 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0x1f0fa80) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0x1f0fb00) 0 empty
Class QMapData::Node
size=8 align=4
@@ -941,10 +733,6 @@ Class QTextStream
QTextStream (0x1fe2a80) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0x1fe2d40) 0
Class QTextStreamManipulator
size=24 align=4
@@ -1051,35 +839,15 @@ Class rlimit
base size=16 base align=8
rlimit (0x21afa40) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0x21afb00) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0x21afb80) 0
Class wait
size=4 align=4
base size=4 base align=4
wait (0x21afa80) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x21afc00) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x21afc80) 0
-Class <anonymous struct>
- size=16 align=8
- base size=16 base align=8
-<anonymous struct> (0x21afd00) 0
Class QVectorData
size=16 align=4
@@ -1192,95 +960,23 @@ Class QMetaType
base size=0 base align=1
QMetaType (0x2270740) 0 empty
-Class QMetaTypeId<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QString> (0x2270880) 0 empty
-Class QMetaTypeId<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<int> (0x2270940) 0 empty
-Class QMetaTypeId<uint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<uint> (0x2270a00) 0 empty
-Class QMetaTypeId<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<bool> (0x2270ac0) 0 empty
-Class QMetaTypeId<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<double> (0x2270b80) 0 empty
-Class QMetaTypeId<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QByteArray> (0x2270c40) 0 empty
-Class QMetaTypeId<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QChar> (0x2270d00) 0 empty
-Class QMetaTypeId<void>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<void> (0x2270dc0) 0 empty
-Class QMetaTypeId<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<long int> (0x2270e80) 0 empty
-Class QMetaTypeId<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<short int> (0x2270f40) 0 empty
-Class QMetaTypeId<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<char> (0x2270340) 0 empty
-Class QMetaTypeId<ulong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<ulong> (0x2323000) 0 empty
-Class QMetaTypeId<ushort>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<ushort> (0x23230c0) 0 empty
-Class QMetaTypeId<uchar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<uchar> (0x2323180) 0 empty
-Class QMetaTypeId<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<float> (0x2323240) 0 empty
-Class QMetaTypeId<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QObject*> (0x2323300) 0 empty
-Class QMetaTypeId<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QWidget*> (0x23233c0) 0 empty
-Class QMetaTypeId<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<void*> (0x2323480) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -1307,50 +1003,18 @@ Class QVariant
base size=16 base align=4
QVariant (0x2323500) 0
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0x2323b80) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0x2323ac0) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0x2323d80) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0x2323cc0) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0x23236c0) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0x2323ec0) 0 empty
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0x23f3080) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x23f3100) 0
-Class <anonymous struct>
- size=3156 align=4
- base size=3156 base align=4
-<anonymous struct> (0x23f3180) 0
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1428,15 +1092,7 @@ Class QUrl
base size=4 base align=4
QUrl (0x23f39c0) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0x23f3b80) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0x23f3c00) 0 empty
Vtable for QEventLoop
QEventLoop::_ZTV10QEventLoop: 14u entries
@@ -1463,10 +1119,6 @@ QEventLoop (0x23f3c80) 0
QObject (0x23f3cc0) 0
primary-for QEventLoop (0x23f3c80)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0x23f3ec0) 0
Vtable for QAbstractEventDispatcher
QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 27u entries
@@ -1511,20 +1163,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0x23f3e00) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0x2501180) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0x2501200) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0x2501340) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -1694,10 +1338,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0x2501a40) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0x2501b40) 0 empty
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -1789,20 +1429,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0x25ad500) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0x25ad5c0) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0x25ad640) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0x25ad700) 0 empty
Class QMetaProperty
size=20 align=4
@@ -1814,10 +1446,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0x25ad7c0) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0x25ad880) 0 empty
Vtable for QMimeData
QMimeData::_ZTV9QMimeData: 17u entries
@@ -2105,10 +1733,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0x26fe100) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0x26fe240) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -2120,70 +1744,42 @@ Class QDate
base size=4 base align=4
QDate (0x26fe440) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0x26fe640) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0x26fe6c0) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0x26fe900) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0x26fe980) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0x26feb00) 0 empty
Class QPoint
size=8 align=4
base size=8 base align=4
QPoint (0x26feb80) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0x26fe480) 0 empty
Class QPointF
size=16 align=8
base size=16 base align=4
QPointF (0x26fee40) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0x27b8340) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0x27b8640) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0x27b86c0) 0 empty
Class QLineF
size=32 align=8
base size=32 base align=4
QLineF (0x27b8840) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0x27b8900) 0 empty
Class QLinkedListData
size=20 align=4
@@ -2195,50 +1791,30 @@ Class QLocale
base size=4 base align=4
QLocale (0x27b8ec0) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0x27b8f40) 0 empty
Class QSize
size=8 align=4
base size=8 base align=4
QSize (0x27b8100) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0x29151c0) 0 empty
Class QSizeF
size=16 align=8
base size=16 base align=4
QSizeF (0x2915580) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0x2915980) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0x2915e00) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0x2915fc0) 0 empty
Class QRectF
size=32 align=8
base size=32 base align=4
QRectF (0x29158c0) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0x2a10080) 0 empty
Class QSharedData
size=4 align=4
@@ -2260,10 +1836,6 @@ Class QKeySequence
base size=4 base align=4
QKeySequence (0x2a10a40) 0
-Class QTypeInfo<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QKeySequence> (0x2a10bc0) 0 empty
Vtable for QMimeSource
QMimeSource::_ZTV11QMimeSource: 7u entries
@@ -2582,15 +2154,7 @@ Class QInputMethodEvent::Attribute
base size=28 base align=4
QInputMethodEvent::Attribute (0x2bb1740) 0
-Class QList<QInputMethodEvent::Attribute>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute>::<anonymous union> (0x2bb1900) 0
-Class QList<QInputMethodEvent::Attribute>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute> (0x2bb1840) 0
Vtable for QInputMethodEvent
QInputMethodEvent::_ZTV17QInputMethodEvent: 4u entries
@@ -2879,15 +2443,7 @@ Class QAccessible
base size=0 base align=1
QAccessible (0x2c12bc0) 0 empty
-Class QFlags<QAccessible::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::StateFlag> (0x2c55080) 0
-Class QFlags<QAccessible::RelationFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::RelationFlag> (0x2c55100) 0
Vtable for QAccessibleInterface
QAccessibleInterface::_ZTV20QAccessibleInterface: 19u entries
@@ -3171,25 +2727,9 @@ Class QPaintDevice
QPaintDevice (0x2cc03c0) 0
vptr=((& QPaintDevice::_ZTV12QPaintDevice) + 8u)
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x2cc0700) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x2cc0780) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x2cc0800) 0
-Class QColor::<anonymous union>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union> (0x2cc0680) 0
Class QColor
size=16 align=4
@@ -3201,45 +2741,17 @@ Class QBrush
base size=4 base align=4
QBrush (0x2cc0ac0) 0
-Class QTypeInfo<QBrush>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBrush> (0x2cc0b80) 0 empty
Class QBrushData
size=24 align=4
base size=24 base align=4
QBrushData (0x2cc0c00) 0
-Class QVector<QGradientStop>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QGradientStop>::<anonymous union> (0x2cc0e80) 0
-Class QVector<QGradientStop>
- size=4 align=4
- base size=4 base align=4
-QVector<QGradientStop> (0x2cc0d80) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=32 align=8
- base size=32 base align=8
-QGradient::<anonymous union>::<anonymous struct> (0x2cc0fc0) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=40 align=8
- base size=40 base align=8
-QGradient::<anonymous union>::<anonymous struct> (0x2cc0340) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=24 align=8
- base size=24 base align=8
-QGradient::<anonymous union>::<anonymous struct> (0x2cc0840) 0
-Class QGradient::<anonymous union>
- size=40 align=8
- base size=40 base align=8
-QGradient::<anonymous union> (0x2cc0f40) 0
Class QGradient
size=56 align=4
@@ -3635,10 +3147,6 @@ QAbstractPrintDialog (0x2e97c40) 0
QPaintDevice (0x2e97d00) 8
vptr=((& QAbstractPrintDialog::_ZTV20QAbstractPrintDialog) + 248u)
-Class QFlags<QAbstractPrintDialog::PrintDialogOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractPrintDialog::PrintDialogOption> (0x2e97f80) 0
Vtable for QColorDialog
QColorDialog::_ZTV12QColorDialog: 66u entries
@@ -3889,10 +3397,6 @@ QFileDialog (0x2fbb280) 0
QPaintDevice (0x2fbb340) 8
vptr=((& QFileDialog::_ZTV11QFileDialog) + 244u)
-Class QFlags<QFileDialog::Option>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileDialog::Option> (0x2fbb600) 0
Vtable for QFontDialog
QFontDialog::_ZTV11QFontDialog: 66u entries
@@ -4587,10 +4091,6 @@ QImage (0x3093c00) 0
QPaintDevice (0x3093c40) 0
primary-for QImage (0x3093c00)
-Class QTypeInfo<QImage>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QImage> (0x3093f40) 0 empty
Vtable for QPixmap
QPixmap::_ZTV7QPixmap: 7u entries
@@ -4635,10 +4135,6 @@ Class QIcon
base size=4 base align=4
QIcon (0x3180640) 0
-Class QTypeInfo<QIcon>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QIcon> (0x3180700) 0 empty
Vtable for QIconEngine
QIconEngine::_ZTV11QIconEngine: 9u entries
@@ -4794,10 +4290,6 @@ QImageIOPlugin (0x31fc200) 0
QFactoryInterface (0x3180c40) 8 nearly-empty
primary-for QImageIOHandlerFactoryInterface (0x3180a00)
-Class QFlags<QImageIOPlugin::Capability>
- size=4 align=4
- base size=4 base align=4
-QFlags<QImageIOPlugin::Capability> (0x3205180) 0
Class QImageReader
size=4 align=4
@@ -4973,15 +4465,7 @@ QActionGroup (0x3205dc0) 0
QObject (0x3205e00) 0
primary-for QActionGroup (0x3205dc0)
-Class QList<QAction*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QAction*>::<anonymous union> (0x3205440) 0
-Class QList<QAction*>
- size=4 align=4
- base size=4 base align=4
-QList<QAction*> (0x3205fc0) 0
Vtable for QInputContext
QInputContext::_ZTV13QInputContext: 25u entries
@@ -5286,10 +4770,6 @@ QAbstractSpinBox (0x32e9bc0) 0
QPaintDevice (0x32e9c40) 8
vptr=((& QAbstractSpinBox::_ZTV16QAbstractSpinBox) + 252u)
-Class QFlags<QAbstractSpinBox::StepEnabledFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractSpinBox::StepEnabledFlag> (0x32e9ec0) 0
Vtable for QAbstractSlider
QAbstractSlider::_ZTV15QAbstractSlider: 64u entries
@@ -5497,15 +4977,7 @@ QStyle (0x339e180) 0
QObject (0x339e1c0) 0
primary-for QStyle (0x339e180)
-Class QFlags<QStyle::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::StateFlag> (0x339e400) 0
-Class QFlags<QStyle::SubControl>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::SubControl> (0x339e480) 0
Vtable for QTabBar
QTabBar::_ZTV7QTabBar: 67u entries
@@ -5764,10 +5236,6 @@ Class QStyleOptionFrame
QStyleOptionFrame (0x339ee80) 0
QStyleOption (0x339eec0) 0
-Class QFlags<QStyleOptionFrameV2::FrameFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionFrameV2::FrameFeature> (0x349c080) 0
Class QStyleOptionFrameV2
size=56 align=4
@@ -5794,10 +5262,6 @@ Class QStyleOptionHeader
QStyleOptionHeader (0x349c700) 0
QStyleOption (0x349c740) 0
-Class QFlags<QStyleOptionButton::ButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionButton::ButtonFeature> (0x349cb00) 0
Class QStyleOptionButton
size=64 align=4
@@ -5805,10 +5269,6 @@ Class QStyleOptionButton
QStyleOptionButton (0x349c940) 0
QStyleOption (0x349c980) 0
-Class QFlags<QStyleOptionTab::CornerWidget>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionTab::CornerWidget> (0x349ce40) 0
Class QStyleOptionTab
size=72 align=4
@@ -5823,10 +5283,6 @@ QStyleOptionTabV2 (0x349cf80) 0
QStyleOptionTab (0x349cfc0) 0
QStyleOption (0x349c000) 0
-Class QFlags<QStyleOptionToolBar::ToolBarFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionToolBar::ToolBarFeature> (0x3545240) 0
Class QStyleOptionToolBar
size=68 align=4
@@ -5853,10 +5309,6 @@ Class QStyleOptionMenuItem
QStyleOptionMenuItem (0x3545700) 0
QStyleOption (0x3545740) 0
-Class QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature> (0x3545ac0) 0
Class QStyleOptionQ3ListViewItem
size=64 align=4
@@ -5914,15 +5366,7 @@ QStyleOptionSpinBox (0x35bc900) 0
QStyleOptionComplex (0x35bc940) 0
QStyleOption (0x35bc980) 0
-Class QList<QStyleOptionQ3ListViewItem>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::<anonymous union> (0x35bce00) 0
-Class QList<QStyleOptionQ3ListViewItem>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem> (0x35bcd40) 0
Class QStyleOptionQ3ListView
size=84 align=4
@@ -5931,10 +5375,6 @@ QStyleOptionQ3ListView (0x35bcb40) 0
QStyleOptionComplex (0x35bcb80) 0
QStyleOption (0x35bcbc0) 0
-Class QFlags<QStyleOptionToolButton::ToolButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionToolButton::ToolButtonFeature> (0x35bcf00) 0
Class QStyleOptionToolButton
size=96 align=4
@@ -6094,10 +5534,6 @@ Class QItemSelectionRange
base size=8 base align=4
QItemSelectionRange (0x3621e00) 0
-Class QTypeInfo<QItemSelectionRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QItemSelectionRange> (0x3621b00) 0 empty
Vtable for QItemSelectionModel
QItemSelectionModel::_ZTV19QItemSelectionModel: 18u entries
@@ -6128,20 +5564,8 @@ QItemSelectionModel (0x36c1040) 0
QObject (0x36c1080) 0
primary-for QItemSelectionModel (0x36c1040)
-Class QFlags<QItemSelectionModel::SelectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QItemSelectionModel::SelectionFlag> (0x36c1240) 0
-Class QList<QItemSelectionRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::<anonymous union> (0x36c13c0) 0
-Class QList<QItemSelectionRange>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange> (0x36c1300) 0
Class QItemSelection
size=4 align=4
@@ -6271,10 +5695,6 @@ QAbstractItemView (0x36c1580) 0
QPaintDevice (0x36c1680) 8
vptr=((& QAbstractItemView::_ZTV17QAbstractItemView) + 392u)
-Class QFlags<QAbstractItemView::EditTrigger>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractItemView::EditTrigger> (0x36c1900) 0
Vtable for QAbstractProxyModel
QAbstractProxyModel::_ZTV19QAbstractProxyModel: 47u entries
@@ -6586,15 +6006,7 @@ Class QItemEditorCreatorBase
QItemEditorCreatorBase (0x37b8200) 0 nearly-empty
vptr=((& QItemEditorCreatorBase::_ZTV22QItemEditorCreatorBase) + 8u)
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union> (0x37b86c0) 0
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*> (0x37b8580) 0
Vtable for QItemEditorFactory
QItemEditorFactory::_ZTV18QItemEditorFactory: 6u entries
@@ -6735,15 +6147,7 @@ QListView (0x37b8940) 0
QPaintDevice (0x37b8a80) 8
vptr=((& QListView::_ZTV9QListView) + 392u)
-Class QVector<QWidgetItemData>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData>::<anonymous union> (0x37b8ec0) 0
-Class QVector<QWidgetItemData>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData> (0x37b8dc0) 0
Vtable for QListWidgetItem
QListWidgetItem::_ZTV15QListWidgetItem: 11u entries
@@ -7532,35 +6936,15 @@ QTreeView (0x395a340) 0
QPaintDevice (0x395a480) 8
vptr=((& QTreeView::_ZTV9QTreeView) + 400u)
-Class QFlags<QTreeWidgetItemIterator::IteratorFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTreeWidgetItemIterator::IteratorFlag> (0x395a740) 0
Class QTreeWidgetItemIterator
size=12 align=4
base size=12 base align=4
QTreeWidgetItemIterator (0x395a640) 0
-Class QVector<QVector<QWidgetItemData> >::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> >::<anonymous union> (0x395ac00) 0
-Class QVector<QVector<QWidgetItemData> >
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> > (0x395ab00) 0
-Class QList<QTreeWidgetItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::<anonymous union> (0x395adc0) 0
-Class QList<QTreeWidgetItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*> (0x395ad00) 0
Vtable for QTreeWidgetItem
QTreeWidgetItem::_ZTV15QTreeWidgetItem: 10u entries
@@ -8407,15 +7791,7 @@ Class QColormap
base size=4 base align=4
QColormap (0x3ba9900) 0
-Class QVector<QPoint>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint>::<anonymous union> (0x3ba9b00) 0
-Class QVector<QPoint>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint> (0x3ba9a00) 0
Class QPolygon
size=4 align=4
@@ -8423,15 +7799,7 @@ Class QPolygon
QPolygon (0x3ba9b80) 0
QVector<QPoint> (0x3ba9bc0) 0
-Class QVector<QPointF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF>::<anonymous union> (0x3ba9000) 0
-Class QVector<QPointF>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF> (0x3ba9f00) 0
Class QPolygonF
size=4 align=4
@@ -8444,95 +7812,39 @@ Class QMatrix
base size=48 base align=4
QMatrix (0x3c5a280) 0
-Class QTypeInfo<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMatrix> (0x3c5a300) 0 empty
Class QTextOption
size=24 align=4
base size=24 base align=4
QTextOption (0x3c5a3c0) 0
-Class QFlags<QTextOption::Flag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextOption::Flag> (0x3c5a4c0) 0
Class QPen
size=4 align=4
base size=4 base align=4
QPen (0x3c5a540) 0
-Class QTypeInfo<QPen>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPen> (0x3c5a700) 0 empty
Class QPainter
size=4 align=4
base size=4 base align=4
QPainter (0x3c5a780) 0
-Class QFlags<QPainter::RenderHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPainter::RenderHint> (0x3c5ad00) 0
-Class QVector<QLineF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF>::<anonymous union> (0x3c5aec0) 0
-Class QVector<QLineF>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF> (0x3c5adc0) 0
-Class QVector<QLine>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine>::<anonymous union> (0x3d69000) 0
-Class QVector<QLine>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine> (0x3c5afc0) 0
-Class QVector<QRectF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF>::<anonymous union> (0x3d69200) 0
-Class QVector<QRectF>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF> (0x3d69100) 0
-Class QVector<QRect>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect>::<anonymous union> (0x3d69400) 0
-Class QVector<QRect>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect> (0x3d69300) 0
Class QTextItem
size=1 align=1
base size=0 base align=1
QTextItem (0x3d69480) 0 empty
-Class QTypeInfo<QTextItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextItem> (0x3d69540) 0 empty
-Class QFlags<QPaintEngine::PaintEngineFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::PaintEngineFeature> (0x3d69700) 0
Vtable for QPaintEngine
QPaintEngine::_ZTV12QPaintEngine: 24u entries
@@ -8567,20 +7879,12 @@ Class QPaintEngine
QPaintEngine (0x3d695c0) 0
vptr=((& QPaintEngine::_ZTV12QPaintEngine) + 8u)
-Class QFlags<QPaintEngine::DirtyFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::DirtyFlag> (0x3d699c0) 0
Class QPaintEngineState
size=4 align=4
base size=4 base align=4
QPaintEngineState (0x3d69900) 0
-Class QFlags<QTextItem::RenderFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextItem::RenderFlag> (0x3d69a40) 0
Class QPainterPath::Element
size=24 align=8
@@ -8592,25 +7896,13 @@ Class QPainterPath
base size=4 base align=4
QPainterPath (0x3d69a80) 0
-Class QVector<QPainterPath::Element>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element>::<anonymous union> (0x3d69fc0) 0
-Class QVector<QPainterPath::Element>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element> (0x3d69ec0) 0
Class QPainterPathPrivate
size=8 align=4
base size=8 base align=4
QPainterPathPrivate (0x3d69cc0) 0
-Class QTypeInfo<QPainterPath::Element>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPainterPath::Element> (0x3d69940) 0 empty
Class QPainterPathStroker
size=4 align=4
@@ -8708,10 +8000,6 @@ QCommonStyle (0x3ec7840) 0
QObject (0x3ec78c0) 0
primary-for QStyle (0x3ec7880)
-Class QPointer<QFocusFrame>
- size=4 align=4
- base size=4 base align=4
-QPointer<QFocusFrame> (0x3ec7bc0) 0
Vtable for QMotifStyle
QMotifStyle::_ZTV11QMotifStyle: 35u entries
@@ -9033,25 +8321,13 @@ Class QTextLength
base size=12 base align=4
QTextLength (0x3f7d8c0) 0
-Class QSharedDataPointer<QTextFormatPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextFormatPrivate> (0x3f7dc40) 0
Class QTextFormat
size=8 align=4
base size=8 base align=4
QTextFormat (0x3f7db00) 0
-Class QVector<QTextLength>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength>::<anonymous union> (0x3f7d180) 0
-Class QVector<QTextLength>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength> (0x3f7df00) 0
Class QTextCharFormat
size=8 align=4
@@ -9106,15 +8382,7 @@ Class QTextLayout
base size=4 base align=4
QTextLayout (0x405a340) 0
-Class QVector<QTextLayout::FormatRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange>::<anonymous union> (0x405a640) 0
-Class QVector<QTextLayout::FormatRange>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange> (0x405a540) 0
Class QTextLine
size=8 align=4
@@ -9164,15 +8432,7 @@ QTextDocument (0x405a940) 0
QObject (0x405a980) 0
primary-for QTextDocument (0x405a940)
-Class QFlags<QTextDocument::FindFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextDocument::FindFlag> (0x405abc0) 0
-Class QSharedDataPointer<QTextCursorPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextCursorPrivate> (0x405ad00) 0
Class QTextCursor
size=4 align=4
@@ -9184,15 +8444,7 @@ Class QAbstractTextDocumentLayout::Selection
base size=12 base align=4
QAbstractTextDocumentLayout::Selection (0x405ae40) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union> (0x405ab00) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection> (0x405af80) 0
Class QAbstractTextDocumentLayout::PaintContext
size=48 align=4
@@ -9354,10 +8606,6 @@ QTextFrame (0x41578c0) 0
QObject (0x4157940) 0
primary-for QTextObject (0x4157900)
-Class QTypeInfo<QTextFrame::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFrame::iterator> (0x4157e80) 0 empty
Vtable for QTextBlockUserData
QTextBlockUserData::_ZTV18QTextBlockUserData: 4u entries
@@ -9382,25 +8630,13 @@ Class QTextBlock
base size=8 base align=4
QTextBlock (0x41576c0) 0
-Class QTypeInfo<QTextBlock>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock> (0x41cd380) 0 empty
-Class QTypeInfo<QTextBlock::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock::iterator> (0x41cd440) 0 empty
Class QTextFragment
size=12 align=4
base size=12 base align=4
QTextFragment (0x41cd500) 0
-Class QTypeInfo<QTextFragment>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFragment> (0x41cd700) 0 empty
Vtable for QSyntaxHighlighter
QSyntaxHighlighter::_ZTV18QSyntaxHighlighter: 15u entries
@@ -10033,10 +9269,6 @@ QDateEdit (0x431c100) 0
QPaintDevice (0x431c200) 8
vptr=((& QDateEdit::_ZTV9QDateEdit) + 260u)
-Class QFlags<QDateTimeEdit::Section>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDateTimeEdit::Section> (0x431c400) 0
Vtable for QDial
QDial::_ZTV5QDial: 64u entries
@@ -10197,10 +9429,6 @@ QDockWidget (0x431c6c0) 0
QPaintDevice (0x431c740) 8
vptr=((& QDockWidget::_ZTV11QDockWidget) + 232u)
-Class QFlags<QDockWidget::DockWidgetFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDockWidget::DockWidgetFeature> (0x431ca00) 0
Vtable for QFocusFrame
QFocusFrame::_ZTV11QFocusFrame: 63u entries
@@ -12342,158 +11570,34 @@ QWorkspace (0x469c640) 0
QPaintDevice (0x469c6c0) 8
vptr=((& QWorkspace::_ZTV10QWorkspace) + 232u)
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0x475fbc0) 0
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0x4780a40) 0
-Class QTypeInfo<QDebug::Stream*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDebug::Stream*> (0x47daac0) 0 empty
-Class QList<QTreeWidgetItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::Node (0x48bbd80) 0
-Class QVectorTypedData<QVector<QWidgetItemData> >
- size=20 align=4
- base size=20 base align=4
-QVectorTypedData<QVector<QWidgetItemData> > (0x48bbfc0) 0
-Class QVectorTypedData<QPoint>
- size=24 align=4
- base size=24 base align=4
-QVectorTypedData<QPoint> (0x48df280) 0
-Class QVectorTypedData<QPointF>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QPointF> (0x48df980) 0
-Class QVectorTypedData<QLineF>
- size=48 align=4
- base size=48 base align=4
-QVectorTypedData<QLineF> (0x4919cc0) 0
-Class QVectorTypedData<QLine>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QLine> (0x4919e80) 0
-Class QVectorTypedData<QRectF>
- size=48 align=4
- base size=48 base align=4
-QVectorTypedData<QRectF> (0x4933040) 0
-Class QVectorTypedData<QRect>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QRect> (0x4933200) 0
-Class QVectorTypedData<QPainterPath::Element>
- size=40 align=4
- base size=40 base align=4
-QVectorTypedData<QPainterPath::Element> (0x49541c0) 0
-Class QVectorTypedData<QTextLength>
- size=28 align=4
- base size=28 base align=4
-QVectorTypedData<QTextLength> (0x4954480) 0
-Class QVectorTypedData<QTextLayout::FormatRange>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QTextLayout::FormatRange> (0x4954780) 0
-Class QVectorTypedData<QAbstractTextDocumentLayout::Selection>
- size=28 align=4
- base size=28 base align=4
-QVectorTypedData<QAbstractTextDocumentLayout::Selection> (0x4954e00) 0
-Class QList<QAction*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QAction*>::Node (0x4978a40) 0
-Class QHashNode<QVariant::Type, QItemEditorCreatorBase*>
- size=16 align=4
- base size=16 base align=4
-QHashNode<QVariant::Type, QItemEditorCreatorBase*> (0x49e2dc0) 0
-Class QTypeInfo<QTreeWidgetItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTreeWidgetItem*> (0x4a11040) 0 empty
-Class QTypeInfo<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLength> (0x4a11cc0) 0 empty
-Class QTypeInfo<QTextLayout::FormatRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLayout::FormatRange> (0x4a11f00) 0 empty
-Class QTypeInfo<QAbstractTextDocumentLayout::Selection>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAbstractTextDocumentLayout::Selection> (0x4a30380) 0 empty
-Class QTypeInfo<QAction*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAction*> (0x4a30880) 0 empty
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0x4a30bc0) 0
-Class QList<QVariant>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::Node (0x4a30e00) 0
-Class QTypeInfo<QStyleOptionQ3ListViewItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QStyleOptionQ3ListViewItem> (0x4a55180) 0 empty
-Class QList<QStyleOptionQ3ListViewItem>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::Node (0x4a55240) 0
-Class QList<QItemSelectionRange>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::Node (0x4a55600) 0
-Class QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union> (0x4a55940) 0
-Class QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union> (0x4a55980) 0
-Class QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union> (0x4a98640) 0
-Class QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union> (0x4a98680) 0
diff --git a/tests/auto/bic/data/QtGui.4.1.0.win32-gcc-ia32.txt b/tests/auto/bic/data/QtGui.4.1.0.win32-gcc-ia32.txt
index 1347448..2d15298 100644
--- a/tests/auto/bic/data/QtGui.4.1.0.win32-gcc-ia32.txt
+++ b/tests/auto/bic/data/QtGui.4.1.0.win32-gcc-ia32.txt
@@ -18,80 +18,20 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0xad5e40) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0xaeb680) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0xaeb800) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0xaeb980) 0 empty
-Class QTypeInfo<uchar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uchar> (0xaebb00) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0xaebc80) 0 empty
-Class QTypeInfo<ushort>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ushort> (0xaebe00) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0xaebf80) 0 empty
-Class QTypeInfo<uint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uint> (0xb07100) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0xb07280) 0 empty
-Class QTypeInfo<ulong>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ulong> (0xb07400) 0 empty
-Class QTypeInfo<qint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<qint64> (0xb07580) 0 empty
-Class QTypeInfo<quint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<quint64> (0xb07700) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0xb07880) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0xb07a00) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0xb07b80) 0 empty
Class QFlag
size=4 align=4
@@ -108,10 +48,6 @@ Class QChar
base size=2 base align=2
QChar (0xb4d840) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0xb70cc0) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -139,70 +75,18 @@ Class QByteRef
base size=8 base align=4
QByteRef (0xc34f80) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0xd4bc40) 0 empty
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0xd78100) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0xd783c0) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0xd73c80) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0xd8d100) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0xd78a80) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0xd949c0) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0xdc8140) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0xdc8440) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0xd8d340) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0xdd8180) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0xdd8940) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0xdd8c80) 0
Class QInternal
size=1 align=1
@@ -229,10 +113,6 @@ Class QLatin1String
base size=4 base align=4
QLatin1String (0xeac500) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0xeac940) 0
Class QCharRef
size=8 align=4
@@ -245,10 +125,6 @@ Class QConstString
QConstString (0x11e1880) 0
QString (0x11e18c0) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0x11e1c00) 0 empty
Vtable for std::exception
std::exception::_ZTVSt9exception: 5u entries
@@ -311,10 +187,6 @@ Class QListData
base size=4 base align=4
QListData (0x1279f00) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0x137ce40) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -339,15 +211,7 @@ Class QTextCodec
QTextCodec (0xeac480) 0 nearly-empty
vptr=((&QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0x13c0140) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0xc3da40) 0
Class QTextEncoder
size=32 align=4
@@ -370,25 +234,13 @@ Class QGenericReturnArgument
QGenericReturnArgument (0x13fefc0) 0
QGenericArgument (0x1404000) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0x1418700) 0
Class QMetaObject
size=16 align=4
base size=16 base align=4
QMetaObject (0x1404580) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0x1432f80) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0x1432b80) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -480,10 +332,6 @@ QIODevice (0x137c700) 0
QObject (0x14bb540) 0
primary-for QIODevice (0x137c700)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0x14bb840) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -503,25 +351,13 @@ Class QRegExp
base size=4 base align=4
QRegExp (0xeac380) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0x15884c0) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0x1588840) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0x1588d80) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0x1588c40) 0
Class QStringList
size=4 align=4
@@ -529,15 +365,7 @@ Class QStringList
QStringList (0xeac400) 0
QList<QString> (0x15b6000) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0x1588ec0) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0x1588e80) 0
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -666,50 +494,22 @@ QFile (0x169c840) 0
QObject (0x169c8c0) 0
primary-for QIODevice (0x169c880)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0x16ab100) 0
Class QFileInfo
size=4 align=4
base size=4 base align=4
QFileInfo (0x16d25c0) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0x16d2f00) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0x1700e40) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0x172a300) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0x172a200) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0x16d2440) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0x1758040) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0x172ac00) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -766,10 +566,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0x169c740) 0
vptr=((&QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0x17d7340) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -843,10 +639,6 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0x182cc40) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0x182cd40) 0 empty
Class QMapData::Node
size=8 align=4
@@ -871,10 +663,6 @@ Class QTextStream
QTextStream (0x1a78240) 0
vptr=((&QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0x1a78600) 0
Class QTextStreamManipulator
size=24 align=4
@@ -911,20 +699,8 @@ QTextOStream (0x1b06440) 0
QTextStream (0x1b06480) 0
primary-for QTextOStream (0x1b06440)
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x1b33680) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x1b33800) 0
-Class <anonymous struct>
- size=16 align=8
- base size=16 base align=8
-<anonymous struct> (0x1b525c0) 0
Class QVectorData
size=16 align=4
@@ -1037,95 +813,23 @@ Class QMetaType
base size=0 base align=1
QMetaType (0x1ce0bc0) 0 empty
-Class QMetaTypeId<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QString> (0x1cfad40) 0 empty
-Class QMetaTypeId<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<int> (0x1cfaec0) 0 empty
-Class QMetaTypeId<uint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<uint> (0x1d13040) 0 empty
-Class QMetaTypeId<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<bool> (0x1d131c0) 0 empty
-Class QMetaTypeId<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<double> (0x1d13340) 0 empty
-Class QMetaTypeId<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QByteArray> (0x1d134c0) 0 empty
-Class QMetaTypeId<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QChar> (0x1d13640) 0 empty
-Class QMetaTypeId<void>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<void> (0x1d137c0) 0 empty
-Class QMetaTypeId<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<long int> (0x1d13940) 0 empty
-Class QMetaTypeId<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<short int> (0x1d13ac0) 0 empty
-Class QMetaTypeId<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<char> (0x1d13c40) 0 empty
-Class QMetaTypeId<ulong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<ulong> (0x1d13dc0) 0 empty
-Class QMetaTypeId<ushort>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<ushort> (0x1d13f40) 0 empty
-Class QMetaTypeId<uchar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<uchar> (0x1d310c0) 0 empty
-Class QMetaTypeId<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<float> (0x1d31240) 0 empty
-Class QMetaTypeId<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QObject*> (0x1d313c0) 0 empty
-Class QMetaTypeId<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QWidget*> (0x1d31540) 0 empty
-Class QMetaTypeId<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<void*> (0x1d316c0) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -1152,35 +856,15 @@ Class QVariant
base size=16 base align=8
QVariant (0x14328c0) 0
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0x1dce540) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0x1d43dc0) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0x1dce840) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0x1d43e40) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0x1d43000) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0x1e35280) 0 empty
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1258,15 +942,7 @@ Class QUrl
base size=4 base align=4
QUrl (0x1d31f80) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0x1ed0440) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0x1efff80) 0 empty
Vtable for QEventLoop
QEventLoop::_ZTV10QEventLoop: 14u entries
@@ -1293,10 +969,6 @@ QEventLoop (0x1f2c600) 0
QObject (0x1f2c640) 0
primary-for QEventLoop (0x1f2c600)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0x1f2c940) 0
Vtable for QAbstractEventDispatcher
QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 27u entries
@@ -1341,20 +1013,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0x1f64f40) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0x1f97b40) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0x1f64ec0) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0x1f97e80) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -1524,10 +1188,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0x2003d80) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0x20463c0) 0 empty
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -1620,20 +1280,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0x13fe8c0) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0x20b7900) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0x13fe940) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0x20b7f00) 0 empty
Class QMetaProperty
size=20 align=4
@@ -1645,10 +1297,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0x13fea40) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0x20e4640) 0 empty
Vtable for QMimeData
QMimeData::_ZTV9QMimeData: 17u entries
@@ -1941,10 +1589,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0x2231640) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0x2290040) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -1956,70 +1600,42 @@ Class QDate
base size=4 base align=4
QDate (0x1d31900) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0x22d1900) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0x1d31b00) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0x22f4540) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0x16d24c0) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0x231d300) 0 empty
Class QPoint
size=8 align=4
base size=8 base align=4
QPoint (0x1d31b80) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0x231df40) 0 empty
Class QPointF
size=16 align=8
base size=16 base align=8
QPointF (0x1d31c00) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0x236d180) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0x1d31980) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0x238e600) 0 empty
Class QLineF
size=32 align=8
base size=32 base align=8
QLineF (0x1d31a00) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0x23b8b00) 0 empty
Class QLinkedListData
size=20 align=4
@@ -2031,50 +1647,30 @@ Class QLocale
base size=4 base align=4
QLocale (0x1d31a80) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0x250b300) 0 empty
Class QSize
size=8 align=4
base size=8 base align=4
QSize (0x1d31c80) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0x2539480) 0 empty
Class QSizeF
size=16 align=8
base size=16 base align=8
QSizeF (0x1d31d00) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0x255e9c0) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0x1d31d80) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0x25cc440) 0 empty
Class QRectF
size=32 align=8
base size=32 base align=8
QRectF (0x1d31e00) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0x264b680) 0 empty
Class QSharedData
size=4 align=4
@@ -2096,10 +1692,6 @@ Class QKeySequence
base size=4 base align=4
QKeySequence (0x1dbbc00) 0
-Class QTypeInfo<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QKeySequence> (0x276cc00) 0 empty
Vtable for QMimeSource
QMimeSource::_ZTV11QMimeSource: 7u entries
@@ -2416,15 +2008,7 @@ Class QInputMethodEvent::Attribute
base size=32 base align=8
QInputMethodEvent::Attribute (0x28a73c0) 0
-Class QList<QInputMethodEvent::Attribute>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute>::<anonymous union> (0x28a78c0) 0
-Class QList<QInputMethodEvent::Attribute>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute> (0x28a74c0) 0
Vtable for QInputMethodEvent
QInputMethodEvent::_ZTV17QInputMethodEvent: 4u entries
@@ -2713,15 +2297,7 @@ Class QAccessible
base size=0 base align=1
QAccessible (0x294ae00) 0 empty
-Class QFlags<QAccessible::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::StateFlag> (0x2958e80) 0
-Class QFlags<QAccessible::RelationFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::RelationFlag> (0x29673c0) 0
Vtable for QAccessibleInterface
QAccessibleInterface::_ZTV20QAccessibleInterface: 19u entries
@@ -3007,25 +2583,9 @@ Class QPaintDevice
QPaintDevice (0x271edc0) 0
vptr=((&QPaintDevice::_ZTV12QPaintDevice) + 8u)
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x2a7d540) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x2a7d680) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x2a7d780) 0
-Class QColor::<anonymous union>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union> (0x2a7d4c0) 0
Class QColor
size=16 align=4
@@ -3037,45 +2597,17 @@ Class QBrush
base size=4 base align=4
QBrush (0x1d9cd80) 0
-Class QTypeInfo<QBrush>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBrush> (0x2ad6300) 0 empty
Class QBrushData
size=24 align=4
base size=24 base align=4
QBrushData (0x2aa9b00) 0
-Class QVector<QGradientStop>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QGradientStop>::<anonymous union> (0x2aeb000) 0
-Class QVector<QGradientStop>
- size=4 align=4
- base size=4 base align=4
-QVector<QGradientStop> (0x2ad68c0) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=32 align=8
- base size=32 base align=8
-QGradient::<anonymous union>::<anonymous struct> (0x2aeb280) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=40 align=8
- base size=40 base align=8
-QGradient::<anonymous union>::<anonymous struct> (0x2aeb380) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=24 align=8
- base size=24 base align=8
-QGradient::<anonymous union>::<anonymous struct> (0x2aeb5c0) 0
-Class QGradient::<anonymous union>
- size=40 align=8
- base size=40 base align=8
-QGradient::<anonymous union> (0x2aeb200) 0
Class QGradient
size=64 align=8
@@ -3487,10 +3019,6 @@ QAbstractPrintDialog (0x2e1a680) 0
QPaintDevice (0x2e1a780) 8
vptr=((&QAbstractPrintDialog::_ZTV20QAbstractPrintDialog) + 256u)
-Class QFlags<QAbstractPrintDialog::PrintDialogOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractPrintDialog::PrintDialogOption> (0x2e1aa40) 0
Vtable for QColorDialog
QColorDialog::_ZTV12QColorDialog: 70u entries
@@ -3753,10 +3281,6 @@ QFileDialog (0x2e8ab40) 0
QPaintDevice (0x2e8ac40) 8
vptr=((&QFileDialog::_ZTV11QFileDialog) + 252u)
-Class QFlags<QFileDialog::Option>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileDialog::Option> (0x2eaf600) 0
Vtable for QFontDialog
QFontDialog::_ZTV11QFontDialog: 70u entries
@@ -4485,10 +4009,6 @@ QImage (0x1dbb400) 0
QPaintDevice (0x309a900) 0
primary-for QImage (0x1dbb400)
-Class QTypeInfo<QImage>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QImage> (0x3137b00) 0 empty
Vtable for QPixmap
QPixmap::_ZTV7QPixmap: 9u entries
@@ -4537,10 +4057,6 @@ Class QIcon
base size=4 base align=4
QIcon (0x1dbb200) 0
-Class QTypeInfo<QIcon>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QIcon> (0x31e3bc0) 0 empty
Vtable for QIconEngine
QIconEngine::_ZTV11QIconEngine: 9u entries
@@ -4696,10 +4212,6 @@ QImageIOPlugin (0x321e600) 0
QFactoryInterface (0x321e6c0) 8 nearly-empty
primary-for QImageIOHandlerFactoryInterface (0x321e680)
-Class QFlags<QImageIOPlugin::Capability>
- size=4 align=4
- base size=4 base align=4
-QFlags<QImageIOPlugin::Capability> (0x321e880) 0
Class QImageReader
size=4 align=4
@@ -4877,15 +4389,7 @@ QActionGroup (0x32c7780) 0
QObject (0x3308600) 0
primary-for QActionGroup (0x32c7780)
-Class QList<QAction*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QAction*>::<anonymous union> (0x3308fc0) 0
-Class QList<QAction*>
- size=4 align=4
- base size=4 base align=4
-QList<QAction*> (0x2ca7940) 0
Vtable for QInputContext
QInputContext::_ZTV13QInputContext: 25u entries
@@ -5194,10 +4698,6 @@ QAbstractSpinBox (0x3392ac0) 0
QPaintDevice (0x3392b80) 8
vptr=((&QAbstractSpinBox::_ZTV16QAbstractSpinBox) + 260u)
-Class QFlags<QAbstractSpinBox::StepEnabledFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractSpinBox::StepEnabledFlag> (0x3392f00) 0
Vtable for QAbstractSlider
QAbstractSlider::_ZTV15QAbstractSlider: 68u entries
@@ -5413,15 +4913,7 @@ QStyle (0x2c72700) 0
QObject (0x345b700) 0
primary-for QStyle (0x2c72700)
-Class QFlags<QStyle::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::StateFlag> (0x346f040) 0
-Class QFlags<QStyle::SubControl>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::SubControl> (0x3485100) 0
Vtable for QTabBar
QTabBar::_ZTV7QTabBar: 71u entries
@@ -5692,10 +5184,6 @@ Class QStyleOptionFrame
QStyleOptionFrame (0x35b7500) 0
QStyleOption (0x35b7540) 0
-Class QFlags<QStyleOptionFrameV2::FrameFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionFrameV2::FrameFeature> (0x35b7ac0) 0
Class QStyleOptionFrameV2
size=56 align=4
@@ -5722,10 +5210,6 @@ Class QStyleOptionHeader
QStyleOptionHeader (0x35d9ec0) 0
QStyleOption (0x35d9f00) 0
-Class QFlags<QStyleOptionButton::ButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionButton::ButtonFeature> (0x3621ac0) 0
Class QStyleOptionButton
size=64 align=4
@@ -5733,10 +5217,6 @@ Class QStyleOptionButton
QStyleOptionButton (0x36218c0) 0
QStyleOption (0x3621900) 0
-Class QFlags<QStyleOptionTab::CornerWidget>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionTab::CornerWidget> (0x365d480) 0
Class QStyleOptionTab
size=72 align=4
@@ -5751,10 +5231,6 @@ QStyleOptionTabV2 (0x365dbc0) 0
QStyleOptionTab (0x365dc00) 0
QStyleOption (0x365dc40) 0
-Class QFlags<QStyleOptionToolBar::ToolBarFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionToolBar::ToolBarFeature> (0x36b3440) 0
Class QStyleOptionToolBar
size=68 align=4
@@ -5781,10 +5257,6 @@ Class QStyleOptionMenuItem
QStyleOptionMenuItem (0x37002c0) 0
QStyleOption (0x3700300) 0
-Class QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature> (0x3700e00) 0
Class QStyleOptionQ3ListViewItem
size=64 align=4
@@ -5842,15 +5314,7 @@ QStyleOptionSpinBox (0x3795a00) 0
QStyleOptionComplex (0x3795a40) 0
QStyleOption (0x3795a80) 0
-Class QList<QStyleOptionQ3ListViewItem>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::<anonymous union> (0x37b6200) 0
-Class QList<QStyleOptionQ3ListViewItem>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem> (0x37b6100) 0
Class QStyleOptionQ3ListView
size=84 align=4
@@ -5859,10 +5323,6 @@ QStyleOptionQ3ListView (0x3795f80) 0
QStyleOptionComplex (0x3795fc0) 0
QStyleOption (0x37b6000) 0
-Class QFlags<QStyleOptionToolButton::ToolButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionToolButton::ToolButtonFeature> (0x37b6d40) 0
Class QStyleOptionToolButton
size=96 align=4
@@ -6026,10 +5486,6 @@ Class QItemSelectionRange
base size=8 base align=4
QItemSelectionRange (0x38abd80) 0
-Class QTypeInfo<QItemSelectionRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QItemSelectionRange> (0x39120c0) 0 empty
Vtable for QItemSelectionModel
QItemSelectionModel::_ZTV19QItemSelectionModel: 18u entries
@@ -6060,20 +5516,8 @@ QItemSelectionModel (0x39124c0) 0
QObject (0x3912500) 0
primary-for QItemSelectionModel (0x39124c0)
-Class QFlags<QItemSelectionModel::SelectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QItemSelectionModel::SelectionFlag> (0x3912840) 0
-Class QList<QItemSelectionRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::<anonymous union> (0x393c3c0) 0
-Class QList<QItemSelectionRange>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange> (0x393c2c0) 0
Class QItemSelection
size=4 align=4
@@ -6207,10 +5651,6 @@ QAbstractItemView (0x393ca40) 0
QPaintDevice (0x393cb80) 8
vptr=((&QAbstractItemView::_ZTV17QAbstractItemView) + 400u)
-Class QFlags<QAbstractItemView::EditTrigger>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractItemView::EditTrigger> (0x39955c0) 0
Vtable for QAbstractProxyModel
QAbstractProxyModel::_ZTV19QAbstractProxyModel: 47u entries
@@ -6526,15 +5966,7 @@ Class QItemEditorCreatorBase
QItemEditorCreatorBase (0x3a82a80) 0 nearly-empty
vptr=((&QItemEditorCreatorBase::_ZTV22QItemEditorCreatorBase) + 8u)
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union> (0x3aa5580) 0
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*> (0x3aa5380) 0
Vtable for QItemEditorFactory
QItemEditorFactory::_ZTV18QItemEditorFactory: 6u entries
@@ -6679,15 +6111,7 @@ QListView (0x3aa5d40) 0
QPaintDevice (0x3aa5ec0) 8
vptr=((&QListView::_ZTV9QListView) + 400u)
-Class QVector<QWidgetItemData>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData>::<anonymous union> (0x3afa300) 0
-Class QVector<QWidgetItemData>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData> (0x3afa180) 0
Vtable for QListWidgetItem
QListWidgetItem::_ZTV15QListWidgetItem: 11u entries
@@ -7492,35 +6916,15 @@ QTreeView (0x3cbf500) 0
QPaintDevice (0x3cbf680) 8
vptr=((&QTreeView::_ZTV9QTreeView) + 408u)
-Class QFlags<QTreeWidgetItemIterator::IteratorFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTreeWidgetItemIterator::IteratorFlag> (0x3cfc680) 0
Class QTreeWidgetItemIterator
size=12 align=4
base size=12 base align=4
QTreeWidgetItemIterator (0x3cfc240) 0
-Class QVector<QVector<QWidgetItemData> >::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> >::<anonymous union> (0x3d49440) 0
-Class QVector<QVector<QWidgetItemData> >
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> > (0x3d492c0) 0
-Class QList<QTreeWidgetItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::<anonymous union> (0x3d49640) 0
-Class QList<QTreeWidgetItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*> (0x3d49100) 0
Vtable for QTreeWidgetItem
QTreeWidgetItem::_ZTV15QTreeWidgetItem: 10u entries
@@ -8375,15 +7779,7 @@ Class QColormap
base size=4 base align=4
QColormap (0x2a653c0) 0
-Class QVector<QPoint>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint>::<anonymous union> (0x3ff2a00) 0
-Class QVector<QPoint>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint> (0x3ff2880) 0
Class QPolygon
size=4 align=4
@@ -8391,15 +7787,7 @@ Class QPolygon
QPolygon (0x1dbb500) 0
QVector<QPoint> (0x3ff2b80) 0
-Class QVector<QPointF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF>::<anonymous union> (0x4027e00) 0
-Class QVector<QPointF>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF> (0x4027cc0) 0
Class QPolygonF
size=4 align=4
@@ -8412,95 +7800,39 @@ Class QMatrix
base size=48 base align=8
QMatrix (0x236d140) 0
-Class QTypeInfo<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMatrix> (0x4082bc0) 0 empty
Class QTextOption
size=32 align=8
base size=28 base align=8
QTextOption (0x40a5a40) 0
-Class QFlags<QTextOption::Flag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextOption::Flag> (0x40a5e40) 0
Class QPen
size=4 align=4
base size=4 base align=4
QPen (0x1dbbd00) 0
-Class QTypeInfo<QPen>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPen> (0x410e440) 0 empty
Class QPainter
size=4 align=4
base size=4 base align=4
QPainter (0x271eec0) 0
-Class QFlags<QPainter::RenderHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPainter::RenderHint> (0x410e980) 0
-Class QVector<QLineF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF>::<anonymous union> (0x41db340) 0
-Class QVector<QLineF>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF> (0x412c580) 0
-Class QVector<QLine>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine>::<anonymous union> (0x41db6c0) 0
-Class QVector<QLine>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine> (0x412c640) 0
-Class QVector<QRectF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF>::<anonymous union> (0x421e380) 0
-Class QVector<QRectF>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF> (0x412c780) 0
-Class QVector<QRect>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect>::<anonymous union> (0x421e700) 0
-Class QVector<QRect>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect> (0x274a3c0) 0
Class QTextItem
size=1 align=1
base size=0 base align=1
QTextItem (0x410e7c0) 0 empty
-Class QTypeInfo<QTextItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextItem> (0x42bc9c0) 0 empty
-Class QFlags<QPaintEngine::PaintEngineFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::PaintEngineFeature> (0x42bcf40) 0
Vtable for QPaintEngine
QPaintEngine::_ZTV12QPaintEngine: 26u entries
@@ -8537,20 +7869,12 @@ Class QPaintEngine
QPaintEngine (0x2a35280) 0
vptr=((&QPaintEngine::_ZTV12QPaintEngine) + 8u)
-Class QFlags<QPaintEngine::DirtyFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::DirtyFlag> (0x42d1380) 0
Class QPaintEngineState
size=4 align=4
base size=4 base align=4
QPaintEngineState (0x42bc700) 0
-Class QFlags<QTextItem::RenderFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextItem::RenderFlag> (0x42bc8c0) 0
Class QPainterPath::Element
size=24 align=8
@@ -8562,25 +7886,13 @@ Class QPainterPath
base size=4 base align=4
QPainterPath (0x2bb4100) 0
-Class QVector<QPainterPath::Element>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element>::<anonymous union> (0x43ae9c0) 0
-Class QVector<QPainterPath::Element>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element> (0x43ae840) 0
Class QPainterPathPrivate
size=8 align=4
base size=8 base align=4
QPainterPathPrivate (0x435b340) 0
-Class QTypeInfo<QPainterPath::Element>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPainterPath::Element> (0x43aeb80) 0 empty
Class QPainterPathStroker
size=4 align=4
@@ -8682,10 +7994,6 @@ QCommonStyle (0x4463e40) 0
QObject (0x4463ec0) 0
primary-for QStyle (0x4463e80)
-Class QPointer<QFocusFrame>
- size=4 align=4
- base size=4 base align=4
-QPointer<QFocusFrame> (0x4492600) 0
Vtable for QMotifStyle
QMotifStyle::_ZTV11QMotifStyle: 35u entries
@@ -9007,25 +8315,13 @@ Class QTextLength
base size=16 base align=8
QTextLength (0x1d31f00) 0
-Class QSharedDataPointer<QTextFormatPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextFormatPrivate> (0x458d100) 0
Class QTextFormat
size=8 align=4
base size=8 base align=4
QTextFormat (0x1d31e80) 0
-Class QVector<QTextLength>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength>::<anonymous union> (0x458da80) 0
-Class QVector<QTextLength>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength> (0x4581bc0) 0
Class QTextCharFormat
size=8 align=4
@@ -9080,15 +8376,7 @@ Class QTextLayout
base size=4 base align=4
QTextLayout (0x2ba1e00) 0
-Class QVector<QTextLayout::FormatRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange>::<anonymous union> (0x46e90c0) 0
-Class QVector<QTextLayout::FormatRange>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange> (0x46d0d00) 0
Class QTextLine
size=8 align=4
@@ -9138,15 +8426,7 @@ QTextDocument (0x452fec0) 0
QObject (0x4714900) 0
primary-for QTextDocument (0x452fec0)
-Class QFlags<QTextDocument::FindFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextDocument::FindFlag> (0x4714dc0) 0
-Class QSharedDataPointer<QTextCursorPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextCursorPrivate> (0x477cdc0) 0
Class QTextCursor
size=4 align=4
@@ -9158,15 +8438,7 @@ Class QAbstractTextDocumentLayout::Selection
base size=12 base align=4
QAbstractTextDocumentLayout::Selection (0x47902c0) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union> (0x4790580) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection> (0x4790400) 0
Class QAbstractTextDocumentLayout::PaintContext
size=56 align=8
@@ -9328,10 +8600,6 @@ QTextFrame (0x4714100) 0
QObject (0x481b340) 0
primary-for QTextObject (0x481b300)
-Class QTypeInfo<QTextFrame::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFrame::iterator> (0x48437c0) 0 empty
Vtable for QTextBlockUserData
QTextBlockUserData::_ZTV18QTextBlockUserData: 4u entries
@@ -9356,25 +8624,13 @@ Class QTextBlock
base size=8 base align=4
QTextBlock (0x46d0540) 0
-Class QTypeInfo<QTextBlock>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock> (0x489e040) 0 empty
-Class QTypeInfo<QTextBlock::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock::iterator> (0x489e1c0) 0 empty
Class QTextFragment
size=12 align=4
base size=12 base align=4
QTextFragment (0x47f1600) 0
-Class QTypeInfo<QTextFragment>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFragment> (0x489ec40) 0 empty
Vtable for QSyntaxHighlighter
QSyntaxHighlighter::_ZTV18QSyntaxHighlighter: 15u entries
@@ -10031,10 +9287,6 @@ QDateEdit (0x4a5d080) 0
QPaintDevice (0x4a5d1c0) 8
vptr=((&QDateEdit::_ZTV9QDateEdit) + 268u)
-Class QFlags<QDateTimeEdit::Section>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDateTimeEdit::Section> (0x4a20580) 0
Vtable for QDial
QDial::_ZTV5QDial: 68u entries
@@ -10203,10 +9455,6 @@ QDockWidget (0x4acc200) 0
QPaintDevice (0x4acc2c0) 8
vptr=((&QDockWidget::_ZTV11QDockWidget) + 240u)
-Class QFlags<QDockWidget::DockWidgetFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDockWidget::DockWidgetFeature> (0x4acc780) 0
Vtable for QFocusFrame
QFocusFrame::_ZTV11QFocusFrame: 67u entries
@@ -12452,158 +11700,34 @@ QWorkspace (0x50023c0) 0
QPaintDevice (0x5002480) 8
vptr=((&QWorkspace::_ZTV10QWorkspace) + 240u)
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0x13c0100) 0
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0x1588d40) 0
-Class QTypeInfo<QDebug::Stream*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDebug::Stream*> (0x52a4200) 0 empty
-Class QList<QTreeWidgetItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::Node (0x3d49600) 0
-Class QVectorTypedData<QVector<QWidgetItemData> >
- size=20 align=4
- base size=20 base align=4
-QVectorTypedData<QVector<QWidgetItemData> > (0x3d493c0) 0
-Class QVectorTypedData<QPoint>
- size=24 align=4
- base size=24 base align=4
-QVectorTypedData<QPoint> (0x3ff2980) 0
-Class QVectorTypedData<QPointF>
- size=32 align=8
- base size=32 base align=8
-QVectorTypedData<QPointF> (0x4027d80) 0
-Class QVectorTypedData<QLineF>
- size=48 align=8
- base size=48 base align=8
-QVectorTypedData<QLineF> (0x41db2c0) 0
-Class QVectorTypedData<QLine>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QLine> (0x41db640) 0
-Class QVectorTypedData<QRectF>
- size=48 align=8
- base size=48 base align=8
-QVectorTypedData<QRectF> (0x421e300) 0
-Class QVectorTypedData<QRect>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QRect> (0x421e680) 0
-Class QVectorTypedData<QPainterPath::Element>
- size=40 align=8
- base size=40 base align=8
-QVectorTypedData<QPainterPath::Element> (0x43ae940) 0
-Class QVectorTypedData<QTextLength>
- size=32 align=8
- base size=32 base align=8
-QVectorTypedData<QTextLength> (0x458da00) 0
-Class QVectorTypedData<QTextLayout::FormatRange>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QTextLayout::FormatRange> (0x46e9040) 0
-Class QVectorTypedData<QAbstractTextDocumentLayout::Selection>
- size=28 align=4
- base size=28 base align=4
-QVectorTypedData<QAbstractTextDocumentLayout::Selection> (0x4790500) 0
-Class QList<QAction*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QAction*>::Node (0x3308f80) 0
-Class QHashNode<QVariant::Type, QItemEditorCreatorBase*>
- size=16 align=4
- base size=16 base align=4
-QHashNode<QVariant::Type, QItemEditorCreatorBase*> (0x3aa5500) 0
-Class QTypeInfo<QTreeWidgetItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTreeWidgetItem*> (0x56ff5c0) 0 empty
-Class QTypeInfo<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLength> (0x572c3c0) 0 empty
-Class QTypeInfo<QTextLayout::FormatRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLayout::FormatRange> (0x572c580) 0 empty
-Class QTypeInfo<QAbstractTextDocumentLayout::Selection>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAbstractTextDocumentLayout::Selection> (0x572cac0) 0 empty
-Class QTypeInfo<QAction*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAction*> (0x575d180) 0 empty
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0x172a2c0) 0
-Class QList<QVariant>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::Node (0x1dce500) 0
-Class QTypeInfo<QStyleOptionQ3ListViewItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QStyleOptionQ3ListViewItem> (0x575d6c0) 0 empty
-Class QList<QStyleOptionQ3ListViewItem>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::Node (0x37b61c0) 0
-Class QList<QItemSelectionRange>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::Node (0x393c380) 0
-Class QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union> (0x575de40) 0
-Class QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union> (0x57ba100) 0
-Class QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union> (0x57ba340) 0
-Class QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union> (0x57ba840) 0
diff --git a/tests/auto/bic/data/QtGui.4.2.0.linux-gcc-ia32.txt b/tests/auto/bic/data/QtGui.4.2.0.linux-gcc-ia32.txt
index fc285d1..efcd7b0 100644
--- a/tests/auto/bic/data/QtGui.4.2.0.linux-gcc-ia32.txt
+++ b/tests/auto/bic/data/QtGui.4.2.0.linux-gcc-ia32.txt
@@ -1,34 +1,8 @@
-Class QUintForSize<4>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<4> (0xb7fb7d80) 0 empty
-Class QUintForSize<8>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<8> (0xb7fb7dc0) 0 empty
-Class QUintForType<void*>
- size=1 align=1
- base size=1 base align=1
-QUintForType<void*> (0xb7fb7e80) 0 empty
- QUintForSize<4> (0xb7fb7ec0) 0 empty
-Class QIntForSize<4>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<4> (0xb7fb7f40) 0 empty
-Class QIntForSize<8>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<8> (0xb7fb7f80) 0 empty
-Class QIntForType<void*>
- size=1 align=1
- base size=1 base align=1
-QIntForType<void*> (0xb78c7040) 0 empty
- QIntForSize<4> (0xb78c7080) 0 empty
Class QSysInfo
size=1 align=1
@@ -50,150 +24,38 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0xb78c7300) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0xb78c73c0) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0xb78c7400) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0xb78c7440) 0 empty
-Class QTypeInfo<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned char> (0xb78c7480) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0xb78c74c0) 0 empty
-Class QTypeInfo<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short unsigned int> (0xb78c7500) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0xb78c7540) 0 empty
-Class QTypeInfo<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned int> (0xb78c7580) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0xb78c75c0) 0 empty
-Class QTypeInfo<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long unsigned int> (0xb78c7600) 0 empty
-Class QTypeInfo<long long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long int> (0xb78c7640) 0 empty
-Class QTypeInfo<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long unsigned int> (0xb78c7680) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0xb78c76c0) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0xb78c7700) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0xb78c7740) 0 empty
Class QFlag
size=4 align=4
base size=4 base align=4
QFlag (0xb78c7780) 0
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0xb78c7880) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0xb78c78c0) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0xb78c7900) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0xb78c7940) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0xb78c7980) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0xb78c79c0) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0xb78c7a00) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0xb78c7a40) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0xb78c7a80) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0xb78c7ac0) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0xb78c7b00) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0xb78c7b40) 0
-Class QFlags<Qt::TextInteractionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::TextInteractionFlag> (0xb78c7b80) 0
Class QInternal
size=1 align=1
@@ -211,10 +73,6 @@ Class QGenericReturnArgument
QGenericReturnArgument (0xb78c7c40) 0
QGenericArgument (0xb78c7c80) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0xb78c7e40) 0
Class QMetaObject
size=16 align=4
@@ -231,10 +89,6 @@ Class QChar
base size=2 base align=2
QChar (0xb78c7f00) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0xb78c7f80) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -267,10 +121,6 @@ Class QByteRef
base size=8 base align=4
QByteRef (0xb6bf0280) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0xb6bf02c0) 0 empty
Class QString::Null
size=1 align=1
@@ -287,10 +137,6 @@ Class QString
base size=4 base align=4
QString (0xb6bf0300) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0xb6bf0480) 0
Class QLatin1String
size=4 align=4
@@ -308,10 +154,6 @@ Class QConstString
QConstString (0xb6bf0580) 0
QString (0xb6bf05c0) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0xb6bf0600) 0 empty
Vtable for std::exception
std::exception::_ZTVSt9exception: 5u entries
@@ -374,15 +216,7 @@ Class QListData
base size=4 base align=4
QListData (0xb6bf0900) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0xb6bf0c80) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0xb6bf0c00) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -474,10 +308,6 @@ QIODevice (0xb6bf0e00) 0
QObject (0xb6bf0e40) 0
primary-for QIODevice (0xb6bf0e00)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0xb6bf0f00) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -507,10 +337,6 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0xb6bf07c0) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0xb6bf0880) 0 empty
Class QMapData::Node
size=8 align=4
@@ -522,10 +348,6 @@ Class QMapData
base size=72 base align=4
QMapData (0xb6796580) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0xb6796b00) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -550,15 +372,7 @@ Class QTextCodec
QTextCodec (0xb6796a40) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0xb6796c40) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0xb6796bc0) 0
Class QTextEncoder
size=32 align=4
@@ -570,30 +384,10 @@ Class QTextDecoder
base size=32 base align=4
QTextDecoder (0xb6796cc0) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6796d00) 0
-Class <anonymous struct>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct>::<anonymous union> (0xb6796d80) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6796d40) 0
-Class <anonymous struct>
- size=12 align=4
- base size=12 base align=4
-<anonymous struct> (0xb6796dc0) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb6796e00) 0
Class __gconv_trans_data
size=20 align=4
@@ -615,15 +409,7 @@ Class __gconv_info
base size=8 base align=4
__gconv_info (0xb6796f00) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0xb6796f80) 0
-Class <anonymous union>
- size=44 align=4
- base size=44 base align=4
-<anonymous union> (0xb6796f40) 0
Class _IO_marker
size=12 align=4
@@ -635,10 +421,6 @@ Class _IO_FILE
base size=148 base align=4
_IO_FILE (0xb6796440) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb6796880) 0
Vtable for QTextStream
QTextStream::_ZTV11QTextStream: 4u entries
@@ -653,10 +435,6 @@ Class QTextStream
QTextStream (0xb6796ac0) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0xb651f040) 0
Class QTextStreamManipulator
size=24 align=4
@@ -693,40 +471,16 @@ QTextOStream (0xb651f200) 0
QTextStream (0xb651f240) 0
primary-for QTextOStream (0xb651f200)
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0xb651f300) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0xb651f340) 0
Class wait
size=4 align=4
base size=4 base align=4
wait (0xb651f2c0) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb651f380) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb651f3c0) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb651f400) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb651f440) 0
Class timespec
size=8 align=4
@@ -738,80 +492,24 @@ Class timeval
base size=8 base align=4
timeval (0xb651f4c0) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb651f500) 0
-Class <anonymous union>
- size=36 align=4
- base size=36 base align=4
-<anonymous union> (0xb651f540) 0
Class __pthread_internal_slist
size=4 align=4
base size=4 base align=4
__pthread_internal_slist (0xb651f580) 0
-Class <anonymous union>::__pthread_mutex_s::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union>::__pthread_mutex_s::<anonymous union> (0xb651f640) 0
-Class <anonymous union>::__pthread_mutex_s
- size=24 align=4
- base size=24 base align=4
-<anonymous union>::__pthread_mutex_s (0xb651f600) 0
-Class <anonymous union>
- size=24 align=4
- base size=24 base align=4
-<anonymous union> (0xb651f5c0) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb651f680) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0xb651f700) 0
-Class <anonymous union>
- size=48 align=4
- base size=48 base align=4
-<anonymous union> (0xb651f6c0) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb651f740) 0
-Class <anonymous union>::<anonymous struct>
- size=32 align=4
- base size=32 base align=4
-<anonymous union>::<anonymous struct> (0xb651f7c0) 0
-Class <anonymous union>
- size=32 align=4
- base size=32 base align=4
-<anonymous union> (0xb651f780) 0
-Class <anonymous union>
- size=8 align=4
- base size=8 base align=4
-<anonymous union> (0xb651f800) 0
-Class <anonymous union>
- size=20 align=4
- base size=20 base align=4
-<anonymous union> (0xb651f840) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb651f880) 0
Class random_data
size=28 align=4
@@ -882,10 +580,6 @@ QFile (0xb651fd40) 0
QObject (0xb651fdc0) 0
primary-for QIODevice (0xb651fd80)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0xb651fe40) 0
Vtable for QTemporaryFile
QTemporaryFile::_ZTV14QTemporaryFile: 31u entries
@@ -938,50 +632,22 @@ Class QFileInfo
base size=4 base align=4
QFileInfo (0xb651ffc0) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0xb651f000) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0xb651f1c0) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0xb651fe00) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0xb651f280) 0
Class QRegExp
size=4 align=4
base size=4 base align=4
QRegExp (0xb651ff80) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0xb6500000) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0xb6500040) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0xb6500100) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0xb6500080) 0
Class QStringList
size=4 align=4
@@ -989,30 +655,14 @@ Class QStringList
QStringList (0xb6500140) 0
QList<QString> (0xb6500180) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0xb6500200) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0xb6500240) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0xb6500300) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0xb6500380) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0xb6500400) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -1069,10 +719,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0xb6500440) 0
vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0xb65005c0) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -1184,15 +830,7 @@ Class QLocale
base size=4 base align=4
QLocale (0xb6500880) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0xb65008c0) 0 empty
-Class QFlags<QLocale::NumberOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLocale::NumberOption> (0xb6500900) 0
Vtable for QSystemLocale
QSystemLocale::_ZTV13QSystemLocale: 6u entries
@@ -1287,285 +925,65 @@ Class QUrl
base size=4 base align=4
QUrl (0xb6500c00) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0xb6500c80) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0xb6500cc0) 0 empty
Class QMetaType
size=1 align=1
base size=0 base align=1
QMetaType (0xb6500d00) 0 empty
-Class QMetaTypeId2<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QString> (0xb6500dc0) 0 empty
-Class QMetaTypeId2<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<int> (0xb6500e00) 0 empty
-Class QMetaTypeId2<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned int> (0xb6500e40) 0 empty
-Class QMetaTypeId2<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<bool> (0xb6500e80) 0 empty
-Class QMetaTypeId2<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<double> (0xb6500ec0) 0 empty
-Class QMetaTypeId2<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QByteArray> (0xb6500f00) 0 empty
-Class QMetaTypeId2<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QChar> (0xb6500f40) 0 empty
-Class QMetaTypeId2<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long int> (0xb6500f80) 0 empty
-Class QMetaTypeId2<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short int> (0xb6500fc0) 0 empty
-Class QMetaTypeId2<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<char> (0xb6500540) 0 empty
-Class QMetaTypeId2<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long unsigned int> (0xb6500640) 0 empty
-Class QMetaTypeId2<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short unsigned int> (0xb6500700) 0 empty
-Class QMetaTypeId2<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned char> (0xb6500840) 0 empty
-Class QMetaTypeId2<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<float> (0xb6500980) 0 empty
-Class QMetaTypeId2<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QObject*> (0xb6500b00) 0 empty
-Class QMetaTypeId2<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QWidget*> (0xb6500bc0) 0 empty
-Class QMetaTypeId2<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<void*> (0xb6272000) 0 empty
-Class QMetaTypeId2<long long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long int> (0xb6272040) 0 empty
-Class QMetaTypeId2<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long unsigned int> (0xb6272080) 0 empty
-Class QMetaTypeId2<QStringList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QStringList> (0xb62720c0) 0 empty
-Class QMetaTypeId2<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitArray> (0xb6272100) 0 empty
-Class QMetaTypeId2<QDate>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDate> (0xb6272140) 0 empty
-Class QMetaTypeId2<QTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTime> (0xb6272180) 0 empty
-Class QMetaTypeId2<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDateTime> (0xb62721c0) 0 empty
-Class QMetaTypeId2<QUrl>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QUrl> (0xb6272200) 0 empty
-Class QMetaTypeId2<QLocale>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLocale> (0xb6272240) 0 empty
-Class QMetaTypeId2<QRect>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRect> (0xb6272280) 0 empty
-Class QMetaTypeId2<QRectF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRectF> (0xb62722c0) 0 empty
-Class QMetaTypeId2<QSize>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSize> (0xb6272300) 0 empty
-Class QMetaTypeId2<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizeF> (0xb6272340) 0 empty
-Class QMetaTypeId2<QLine>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLine> (0xb6272380) 0 empty
-Class QMetaTypeId2<QLineF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLineF> (0xb62723c0) 0 empty
-Class QMetaTypeId2<QPoint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPoint> (0xb6272400) 0 empty
-Class QMetaTypeId2<QPointF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPointF> (0xb6272440) 0 empty
-Class QMetaTypeId2<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegExp> (0xb6272480) 0 empty
-Class QMetaTypeId2<QColorGroup>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColorGroup> (0xb62724c0) 0 empty
-Class QMetaTypeId2<QFont>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QFont> (0xb6272500) 0 empty
-Class QMetaTypeId2<QPixmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPixmap> (0xb6272540) 0 empty
-Class QMetaTypeId2<QBrush>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBrush> (0xb6272580) 0 empty
-Class QMetaTypeId2<QColor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColor> (0xb62725c0) 0 empty
-Class QMetaTypeId2<QPalette>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPalette> (0xb6272600) 0 empty
-Class QMetaTypeId2<QIcon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QIcon> (0xb6272640) 0 empty
-Class QMetaTypeId2<QImage>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QImage> (0xb6272680) 0 empty
-Class QMetaTypeId2<QPolygon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPolygon> (0xb62726c0) 0 empty
-Class QMetaTypeId2<QRegion>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegion> (0xb6272700) 0 empty
-Class QMetaTypeId2<QBitmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitmap> (0xb6272740) 0 empty
-Class QMetaTypeId2<QCursor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QCursor> (0xb6272780) 0 empty
-Class QMetaTypeId2<QSizePolicy>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizePolicy> (0xb62727c0) 0 empty
-Class QMetaTypeId2<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QKeySequence> (0xb6272800) 0 empty
-Class QMetaTypeId2<QPen>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPen> (0xb6272840) 0 empty
-Class QMetaTypeId2<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextLength> (0xb6272880) 0 empty
-Class QMetaTypeId2<QTextFormat>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextFormat> (0xb62728c0) 0 empty
-Class QMetaTypeId2<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMatrix> (0xb6272900) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -1592,45 +1010,17 @@ Class QVariant
base size=12 base align=4
QVariant (0xb6272940) 0
-Class QMetaTypeId2<QList<QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QList<QVariant> > (0xb6272b80) 0 empty
-Class QMetaTypeId2<QMap<QString, QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMap<QString, QVariant> > (0xb6272bc0) 0 empty
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0xb6272cc0) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0xb6272c40) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0xb6272dc0) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0xb6272d40) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0xb6272e80) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0xb6272f00) 0 empty
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1662,80 +1052,48 @@ Class QPoint
base size=8 base align=4
QPoint (0xb6272b40) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0xb6272a80) 0 empty
Class QPointF
size=16 align=4
base size=16 base align=4
QPointF (0xb6272e40) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0xb6272fc0) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0xb618b000) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0xb618b040) 0 empty
Class QLineF
size=32 align=4
base size=32 base align=4
QLineF (0xb618b080) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0xb618b0c0) 0 empty
Class QSize
size=8 align=4
base size=8 base align=4
QSize (0xb618b100) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0xb618b300) 0 empty
Class QSizeF
size=16 align=4
base size=16 base align=4
QSizeF (0xb618b380) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0xb618b580) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0xb618b640) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0xb618b740) 0 empty
Class QRectF
size=32 align=4
base size=32 base align=4
QRectF (0xb618b780) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0xb618b840) 0 empty
Class QLinkedListData
size=20 align=4
@@ -1752,10 +1110,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0xb618bc00) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0xb618bc40) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -1772,30 +1126,18 @@ Class QDate
base size=4 base align=4
QDate (0xb618bec0) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0xb618bf80) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0xb618bfc0) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0xb618b1c0) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0xb618b200) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0xb618b2c0) 0 empty
Vtable for QTimeLine
QTimeLine::_ZTV9QTimeLine: 15u entries
@@ -1981,10 +1323,6 @@ QEventLoop (0xb5e01040) 0
QObject (0xb5e01080) 0
primary-for QEventLoop (0xb5e01040)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0xb5e01180) 0
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -2091,20 +1429,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0xb5e01680) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0xb5e016c0) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0xb5e01700) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0xb5e01780) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -2324,10 +1654,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0xb5e01c00) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0xb5e01c40) 0 empty
Vtable for QSocketNotifier
QSocketNotifier::_ZTV15QSocketNotifier: 14u entries
@@ -2422,20 +1748,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0xb5e01ec0) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0xb5e01f00) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0xb5e01f40) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0xb5e01f80) 0 empty
Class QMetaProperty
size=20 align=4
@@ -2447,10 +1765,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0xb5e01000) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0xb5e01100) 0 empty
Vtable for QPluginLoader
QPluginLoader::_ZTV13QPluginLoader: 14u entries
@@ -2507,10 +1821,6 @@ QLibrary (0xb5e01440) 0
QObject (0xb5e01500) 0
primary-for QLibrary (0xb5e01440)
-Class QFlags<QLibrary::LoadHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLibrary::LoadHint> (0xb5e01600) 0
Class QSemaphore
size=4 align=4
@@ -2558,10 +1868,6 @@ Class QMutex
base size=4 base align=4
QMutex (0xb5e01bc0) 0
-Class QMutexLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMutexLocker::<anonymous union> (0xb5e01dc0) 0
Class QMutexLocker
size=4 align=4
@@ -2573,45 +1879,21 @@ Class QReadWriteLock
base size=4 base align=4
QReadWriteLock (0xb5e01e80) 0
-Class QReadLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QReadLocker::<anonymous union> (0xb5d72040) 0
Class QReadLocker
size=4 align=4
base size=4 base align=4
QReadLocker (0xb5d72000) 0
-Class QWriteLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QWriteLocker::<anonymous union> (0xb5d720c0) 0
Class QWriteLocker
size=4 align=4
base size=4 base align=4
QWriteLocker (0xb5d72080) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0xb5d72180) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0xb5d721c0) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0xb5d72200) 0
-Class QColor::<anonymous union>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union> (0xb5d72140) 0
Class QColor
size=16 align=4
@@ -2628,20 +1910,8 @@ Class QPen
base size=4 base align=4
QPen (0xb5d723c0) 0
-Class QTypeInfo<QPen>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPen> (0xb5d72480) 0 empty
-Class QVector<QPoint>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint>::<anonymous union> (0xb5d72540) 0
-Class QVector<QPoint>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint> (0xb5d724c0) 0
Class QPolygon
size=4 align=4
@@ -2649,15 +1919,7 @@ Class QPolygon
QPolygon (0xb5d72580) 0
QVector<QPoint> (0xb5d725c0) 0
-Class QVector<QPointF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF>::<anonymous union> (0xb5d72680) 0
-Class QVector<QPointF>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF> (0xb5d72600) 0
Class QPolygonF
size=4 align=4
@@ -2680,10 +1942,6 @@ Class QMatrix
base size=48 base align=4
QMatrix (0xb5d72880) 0
-Class QTypeInfo<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMatrix> (0xb5d728c0) 0 empty
Vtable for QPaintDevice
QPaintDevice::_ZTV12QPaintDevice: 7u entries
@@ -2724,10 +1982,6 @@ QImage (0xb5d72a40) 0
QPaintDevice (0xb5d72a80) 0
primary-for QImage (0xb5d72a40)
-Class QTypeInfo<QImage>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QImage> (0xb5d72bc0) 0 empty
Vtable for QPixmap
QPixmap::_ZTV7QPixmap: 7u entries
@@ -2752,45 +2006,17 @@ Class QBrush
base size=4 base align=4
QBrush (0xb5d72d80) 0
-Class QTypeInfo<QBrush>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBrush> (0xb5d72dc0) 0 empty
Class QBrushData
size=72 align=4
base size=72 base align=4
QBrushData (0xb5d72e00) 0
-Class QVector<QPair<double, QColor> >::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPair<double, QColor> >::<anonymous union> (0xb5d72f40) 0
-Class QVector<QPair<double, QColor> >
- size=4 align=4
- base size=4 base align=4
-QVector<QPair<double, QColor> > (0xb5d72ec0) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=32 align=4
- base size=32 base align=4
-QGradient::<anonymous union>::<anonymous struct> (0xb5d72fc0) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=40 align=4
- base size=40 base align=4
-QGradient::<anonymous union>::<anonymous struct> (0xb5d72240) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=24 align=4
- base size=24 base align=4
-QGradient::<anonymous union>::<anonymous struct> (0xb5d72280) 0
-Class QGradient::<anonymous union>
- size=40 align=4
- base size=40 base align=4
-QGradient::<anonymous union> (0xb5d72f80) 0
Class QGradient
size=56 align=4
@@ -2820,30 +2046,14 @@ Class QTextLength
base size=12 base align=4
QTextLength (0xb5d72800) 0
-Class QSharedDataPointer<QTextFormatPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextFormatPrivate> (0xb5d72b00) 0
Class QTextFormat
size=8 align=4
base size=8 base align=4
QTextFormat (0xb5d72980) 0
-Class QVector<QTextLength>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength>::<anonymous union> (0xb5d72cc0) 0
-Class QVector<QTextLength>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength> (0xb5d72b40) 0
-Class QFlags<QTextFormat::PageBreakFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextFormat::PageBreakFlag> (0xb5d72d00) 0
Class QTextCharFormat
size=8 align=4
@@ -2983,10 +2193,6 @@ QTextFrame (0xb5b4f580) 0
QObject (0xb5b4f600) 0
primary-for QTextObject (0xb5b4f5c0)
-Class QTypeInfo<QTextFrame::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFrame::iterator> (0xb5b4f740) 0 empty
Vtable for QTextBlockUserData
QTextBlockUserData::_ZTV18QTextBlockUserData: 4u entries
@@ -3011,25 +2217,13 @@ Class QTextBlock
base size=8 base align=4
QTextBlock (0xb5b4f800) 0
-Class QTypeInfo<QTextBlock>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock> (0xb5b4f880) 0 empty
-Class QTypeInfo<QTextBlock::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock::iterator> (0xb5b4f8c0) 0 empty
Class QTextFragment
size=12 align=4
base size=12 base align=4
QTextFragment (0xb5b4f900) 0
-Class QTypeInfo<QTextFragment>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFragment> (0xb5b4f940) 0 empty
Class QFontMetrics
size=4 align=4
@@ -3089,20 +2283,12 @@ QTextDocument (0xb5b4fb00) 0
QObject (0xb5b4fb40) 0
primary-for QTextDocument (0xb5b4fb00)
-Class QFlags<QTextDocument::FindFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextDocument::FindFlag> (0xb5b4fbc0) 0
Class QTextOption
size=24 align=4
base size=24 base align=4
QTextOption (0xb5b4fc00) 0
-Class QFlags<QTextOption::Flag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextOption::Flag> (0xb5b4fc40) 0
Class QTextTableCell
size=8 align=4
@@ -3143,10 +2329,6 @@ Class QKeySequence
base size=4 base align=4
QKeySequence (0xb5b4fe80) 0
-Class QTypeInfo<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QKeySequence> (0xb5b4ff40) 0 empty
Vtable for QMimeSource
QMimeSource::_ZTV11QMimeSource: 7u entries
@@ -3444,15 +2626,7 @@ Class QInputMethodEvent::Attribute
base size=24 base align=4
QInputMethodEvent::Attribute (0xb5ad0c00) 0
-Class QList<QInputMethodEvent::Attribute>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute>::<anonymous union> (0xb5ad0d00) 0
-Class QList<QInputMethodEvent::Attribute>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute> (0xb5ad0c80) 0
Vtable for QInputMethodEvent
QInputMethodEvent::_ZTV17QInputMethodEvent: 4u entries
@@ -3751,15 +2925,7 @@ Class QTextLayout
base size=4 base align=4
QTextLayout (0xb5965480) 0
-Class QVector<QTextLayout::FormatRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange>::<anonymous union> (0xb5965600) 0
-Class QVector<QTextLayout::FormatRange>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange> (0xb5965580) 0
Class QTextLine
size=8 align=4
@@ -3808,10 +2974,6 @@ Class QTextDocumentFragment
base size=4 base align=4
QTextDocumentFragment (0xb5965880) 0
-Class QSharedDataPointer<QTextCursorPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextCursorPrivate> (0xb5965940) 0
Class QTextCursor
size=4 align=4
@@ -3834,15 +2996,7 @@ Class QAbstractTextDocumentLayout::Selection
base size=12 base align=4
QAbstractTextDocumentLayout::Selection (0xb5965b40) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union> (0xb5965c80) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection> (0xb5965c00) 0
Class QAbstractTextDocumentLayout::PaintContext
size=48 align=4
@@ -4206,10 +3360,6 @@ Class QItemSelectionRange
base size=8 base align=4
QItemSelectionRange (0xb5965f80) 0
-Class QTypeInfo<QItemSelectionRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QItemSelectionRange> (0xb5770040) 0 empty
Vtable for QItemSelectionModel
QItemSelectionModel::_ZTV19QItemSelectionModel: 18u entries
@@ -4240,20 +3390,8 @@ QItemSelectionModel (0xb5770080) 0
QObject (0xb57700c0) 0
primary-for QItemSelectionModel (0xb5770080)
-Class QFlags<QItemSelectionModel::SelectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QItemSelectionModel::SelectionFlag> (0xb5770140) 0
-Class QList<QItemSelectionRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::<anonymous union> (0xb5770200) 0
-Class QList<QItemSelectionRange>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange> (0xb5770180) 0
Class QItemSelection
size=4 align=4
@@ -4460,20 +3598,12 @@ QAbstractSpinBox (0xb5770680) 0
QPaintDevice (0xb5770740) 8
vptr=((& QAbstractSpinBox::_ZTV16QAbstractSpinBox) + 252u)
-Class QFlags<QAbstractSpinBox::StepEnabledFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractSpinBox::StepEnabledFlag> (0xb5770800) 0
Class QIcon
size=4 align=4
base size=4 base align=4
QIcon (0xb5770840) 0
-Class QTypeInfo<QIcon>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QIcon> (0xb5770900) 0 empty
Vtable for QAbstractSlider
QAbstractSlider::_ZTV15QAbstractSlider: 64u entries
@@ -4681,15 +3811,7 @@ QStyle (0xb5770c40) 0
QObject (0xb5770c80) 0
primary-for QStyle (0xb5770c40)
-Class QFlags<QStyle::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::StateFlag> (0xb5770d40) 0
-Class QFlags<QStyle::SubControl>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::SubControl> (0xb5770d80) 0
Vtable for QTabBar
QTabBar::_ZTV7QTabBar: 67u entries
@@ -4948,10 +4070,6 @@ Class QStyleOptionFrame
QStyleOptionFrame (0xb5770c00) 0
QStyleOption (0xb5770bc0) 0
-Class QFlags<QStyleOptionFrameV2::FrameFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionFrameV2::FrameFeature> (0xb56ea080) 0
Class QStyleOptionFrameV2
size=56 align=4
@@ -4978,10 +4096,6 @@ Class QStyleOptionHeader
QStyleOptionHeader (0xb56ea300) 0
QStyleOption (0xb56ea340) 0
-Class QFlags<QStyleOptionButton::ButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionButton::ButtonFeature> (0xb56ea4c0) 0
Class QStyleOptionButton
size=64 align=4
@@ -4989,10 +4103,6 @@ Class QStyleOptionButton
QStyleOptionButton (0xb56ea400) 0
QStyleOption (0xb56ea440) 0
-Class QFlags<QStyleOptionTab::CornerWidget>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionTab::CornerWidget> (0xb56ea640) 0
Class QStyleOptionTab
size=72 align=4
@@ -5007,10 +4117,6 @@ QStyleOptionTabV2 (0xb56ea6c0) 0
QStyleOptionTab (0xb56ea700) 0
QStyleOption (0xb56ea740) 0
-Class QFlags<QStyleOptionToolBar::ToolBarFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionToolBar::ToolBarFeature> (0xb56ea8c0) 0
Class QStyleOptionToolBar
size=68 align=4
@@ -5037,10 +4143,6 @@ Class QStyleOptionMenuItem
QStyleOptionMenuItem (0xb56eab00) 0
QStyleOption (0xb56eab40) 0
-Class QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature> (0xb56eac80) 0
Class QStyleOptionQ3ListViewItem
size=64 align=4
@@ -5066,10 +4168,6 @@ Class QStyleOptionViewItem
QStyleOptionViewItem (0xb56eae80) 0
QStyleOption (0xb56eaec0) 0
-Class QFlags<QStyleOptionViewItemV2::ViewItemFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionViewItemV2::ViewItemFeature> (0xb56ea040) 0
Class QStyleOptionViewItemV2
size=84 align=4
@@ -5110,15 +4208,7 @@ QStyleOptionSpinBox (0xb56eac40) 0
QStyleOptionComplex (0xb56eacc0) 0
QStyleOption (0xb56ead80) 0
-Class QList<QStyleOptionQ3ListViewItem>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::<anonymous union> (0xb53ed100) 0
-Class QList<QStyleOptionQ3ListViewItem>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem> (0xb53ed080) 0
Class QStyleOptionQ3ListView
size=84 align=4
@@ -5127,10 +4217,6 @@ QStyleOptionQ3ListView (0xb56eae40) 0
QStyleOptionComplex (0xb56eaf00) 0
QStyleOption (0xb53ed000) 0
-Class QFlags<QStyleOptionToolButton::ToolButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionToolButton::ToolButtonFeature> (0xb53ed2c0) 0
Class QStyleOptionToolButton
size=96 align=4
@@ -5338,10 +4424,6 @@ QAbstractItemView (0xb53eda00) 0
QPaintDevice (0xb53edb40) 8
vptr=((& QAbstractItemView::_ZTV17QAbstractItemView) + 392u)
-Class QFlags<QAbstractItemView::EditTrigger>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractItemView::EditTrigger> (0xb53edc00) 0
Vtable for QListView
QListView::_ZTV9QListView: 103u entries
@@ -6106,10 +5188,6 @@ QMessageBox (0xb52d0580) 0
QPaintDevice (0xb52d0680) 8
vptr=((& QMessageBox::_ZTV11QMessageBox) + 244u)
-Class QFlags<QMessageBox::StandardButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<QMessageBox::StandardButton> (0xb52d0740) 0
Vtable for QProgressDialog
QProgressDialog::_ZTV15QProgressDialog: 66u entries
@@ -6360,10 +5438,6 @@ QFileDialog (0xb52d0a80) 0
QPaintDevice (0xb52d0b80) 8
vptr=((& QFileDialog::_ZTV11QFileDialog) + 244u)
-Class QFlags<QFileDialog::Option>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileDialog::Option> (0xb52d0c40) 0
Vtable for QAbstractPrintDialog
QAbstractPrintDialog::_ZTV20QAbstractPrintDialog: 67u entries
@@ -6449,10 +5523,6 @@ QAbstractPrintDialog (0xb52d0c80) 0
QPaintDevice (0xb52d0d80) 8
vptr=((& QAbstractPrintDialog::_ZTV20QAbstractPrintDialog) + 248u)
-Class QFlags<QAbstractPrintDialog::PrintDialogOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractPrintDialog::PrintDialogOption> (0xb52d0e40) 0
Vtable for QPrintDialog
QPrintDialog::_ZTV12QPrintDialog: 67u entries
@@ -6874,10 +5944,6 @@ QImageIOPlugin (0xb51cf3c0) 0
QFactoryInterface (0xb51cf480) 8 nearly-empty
primary-for QImageIOHandlerFactoryInterface (0xb51cf440)
-Class QFlags<QImageIOPlugin::Capability>
- size=4 align=4
- base size=4 base align=4
-QFlags<QImageIOPlugin::Capability> (0xb51cf500) 0
Vtable for QPicture
QPicture::_ZTV8QPicture: 8u entries
@@ -7225,50 +6291,14 @@ Class QPainter
base size=4 base align=4
QPainter (0xb51cf5c0) 0
-Class QFlags<QPainter::RenderHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPainter::RenderHint> (0xb51cf7c0) 0
-Class QVector<QLineF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF>::<anonymous union> (0xb51cfb80) 0
-Class QVector<QLineF>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF> (0xb51cfa00) 0
-Class QVector<QLine>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine>::<anonymous union> (0xb5143040) 0
-Class QVector<QLine>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine> (0xb51cfe40) 0
-Class QVector<QRectF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF>::<anonymous union> (0xb5143140) 0
-Class QVector<QRectF>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF> (0xb51430c0) 0
-Class QVector<QRect>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect>::<anonymous union> (0xb5143240) 0
-Class QVector<QRect>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect> (0xb51431c0) 0
Class QStylePainter
size=12 align=4
@@ -7286,25 +6316,13 @@ Class QPainterPath
base size=4 base align=4
QPainterPath (0xb5143340) 0
-Class QVector<QPainterPath::Element>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element>::<anonymous union> (0xb51435c0) 0
-Class QVector<QPainterPath::Element>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element> (0xb5143540) 0
Class QPainterPathPrivate
size=8 align=4
base size=8 base align=4
QPainterPathPrivate (0xb5143440) 0
-Class QTypeInfo<QPainterPath::Element>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPainterPath::Element> (0xb5143600) 0 empty
Class QPainterPathStroker
size=4 align=4
@@ -7316,15 +6334,7 @@ Class QTextItem
base size=0 base align=1
QTextItem (0xb5143700) 0 empty
-Class QTypeInfo<QTextItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextItem> (0xb5143740) 0 empty
-Class QFlags<QPaintEngine::PaintEngineFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::PaintEngineFeature> (0xb5143800) 0
Vtable for QPaintEngine
QPaintEngine::_ZTV12QPaintEngine: 24u entries
@@ -7359,25 +6369,13 @@ Class QPaintEngine
QPaintEngine (0xb5143780) 0
vptr=((& QPaintEngine::_ZTV12QPaintEngine) + 8u)
-Class QFlags<QPaintEngine::DirtyFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::DirtyFlag> (0xb5143900) 0
Class QPaintEngineState
size=4 align=4
base size=4 base align=4
QPaintEngineState (0xb5143880) 0
-Class QFlags<QTextItem::RenderFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextItem::RenderFlag> (0xb5143940) 0
-Class QFlags<QTreeWidgetItemIterator::IteratorFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTreeWidgetItemIterator::IteratorFlag> (0xb5143a00) 0
Class QTreeWidgetItemIterator
size=12 align=4
@@ -7467,15 +6465,7 @@ QStringListModel (0xb5143b00) 0
QObject (0xb5143bc0) 0
primary-for QAbstractItemModel (0xb5143b80)
-Class QVector<QWidgetItemData>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData>::<anonymous union> (0xb5143d40) 0
-Class QVector<QWidgetItemData>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData> (0xb5143cc0) 0
Vtable for QListWidgetItem
QListWidgetItem::_ZTV15QListWidgetItem: 11u entries
@@ -7718,15 +6708,7 @@ Class QStandardItem
QStandardItem (0xb5143d80) 0
vptr=((& QStandardItem::_ZTV13QStandardItem) + 8u)
-Class QList<QStandardItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QStandardItem*>::<anonymous union> (0xb4f33180) 0
-Class QList<QStandardItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QStandardItem*> (0xb4f33100) 0
Vtable for QStandardItemModel
QStandardItemModel::_ZTV18QStandardItemModel: 42u entries
@@ -8547,15 +7529,7 @@ Class QItemEditorCreatorBase
QItemEditorCreatorBase (0xb4f33000) 0 nearly-empty
vptr=((& QItemEditorCreatorBase::_ZTV22QItemEditorCreatorBase) + 8u)
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union> (0xb4f33dc0) 0
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*> (0xb4f33ac0) 0
Vtable for QItemEditorFactory
QItemEditorFactory::_ZTV18QItemEditorFactory: 6u entries
@@ -8572,25 +7546,9 @@ Class QItemEditorFactory
QItemEditorFactory (0xb4f33880) 0
vptr=((& QItemEditorFactory::_ZTV18QItemEditorFactory) + 8u)
-Class QVector<QVector<QWidgetItemData> >::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> >::<anonymous union> (0xb4ea7100) 0
-Class QVector<QVector<QWidgetItemData> >
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> > (0xb4ea7080) 0
-Class QList<QTreeWidgetItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::<anonymous union> (0xb4ea7200) 0
-Class QList<QTreeWidgetItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*> (0xb4ea7180) 0
Vtable for QTreeWidgetItem
QTreeWidgetItem::_ZTV15QTreeWidgetItem: 10u entries
@@ -8817,15 +7775,7 @@ Class QAccessible
base size=0 base align=1
QAccessible (0xb4ea7800) 0 empty
-Class QFlags<QAccessible::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::StateFlag> (0xb4ea7880) 0
-Class QFlags<QAccessible::RelationFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::RelationFlag> (0xb4ea78c0) 0
Vtable for QAccessibleInterface
QAccessibleInterface::_ZTV20QAccessibleInterface: 19u entries
@@ -9778,15 +8728,7 @@ QActionGroup (0xb4d95f80) 0
QObject (0xb4d95fc0) 0
primary-for QActionGroup (0xb4d95f80)
-Class QList<QAction*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QAction*>::<anonymous union> (0xb4d95380) 0
-Class QList<QAction*>
- size=4 align=4
- base size=4 base align=4
-QList<QAction*> (0xb4d95180) 0
Vtable for QSound
QSound::_ZTV6QSound: 14u entries
@@ -9956,10 +8898,6 @@ QCommonStyle (0xb4d95f40) 0
QObject (0xb4aec040) 0
primary-for QStyle (0xb4aec000)
-Class QPointer<QFocusFrame>
- size=4 align=4
- base size=4 base align=4
-QPointer<QFocusFrame> (0xb4aec200) 0
Vtable for QMotifStyle
QMotifStyle::_ZTV11QMotifStyle: 35u entries
@@ -10481,15 +9419,7 @@ Class QGraphicsItem
QGraphicsItem (0xb4aecfc0) 0
vptr=((& QGraphicsItem::_ZTV13QGraphicsItem) + 8u)
-Class QFlags<QGraphicsItem::GraphicsItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGraphicsItem::GraphicsItemFlag> (0xb4aec080) 0
-Class QMetaTypeId<QGraphicsItem*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QGraphicsItem*> (0xb4aec1c0) 0 empty
Vtable for QAbstractGraphicsShapeItem
QAbstractGraphicsShapeItem::_ZTV26QAbstractGraphicsShapeItem: 39u entries
@@ -11262,20 +10192,8 @@ QGraphicsView (0xb49d6880) 0
QPaintDevice (0xb49d69c0) 8
vptr=((& QGraphicsView::_ZTV13QGraphicsView) + 252u)
-Class QFlags<QGraphicsView::CacheModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGraphicsView::CacheModeFlag> (0xb49d6a40) 0
-Class QList<QGraphicsItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QGraphicsItem*>::<anonymous union> (0xb49d6b00) 0
-Class QList<QGraphicsItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QGraphicsItem*> (0xb49d6a80) 0
Vtable for QGraphicsSceneEvent
QGraphicsSceneEvent::_ZTV19QGraphicsSceneEvent: 4u entries
@@ -12527,10 +11445,6 @@ QDateEdit (0xb48e3080) 0
QPaintDevice (0xb48e36c0) 8
vptr=((& QDateEdit::_ZTV9QDateEdit) + 260u)
-Class QFlags<QDateTimeEdit::Section>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDateTimeEdit::Section> (0xb48e3840) 0
Vtable for QLabel
QLabel::_ZTV6QLabel: 63u entries
@@ -12690,10 +11604,6 @@ QDockWidget (0xb4815040) 0
QPaintDevice (0xb4815100) 8
vptr=((& QDockWidget::_ZTV11QDockWidget) + 232u)
-Class QFlags<QDockWidget::DockWidgetFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDockWidget::DockWidgetFeature> (0xb48151c0) 0
Vtable for QGroupBox
QGroupBox::_ZTV9QGroupBox: 63u entries
@@ -12851,10 +11761,6 @@ QDialogButtonBox (0xb4815340) 0
QPaintDevice (0xb4815400) 8
vptr=((& QDialogButtonBox::_ZTV16QDialogButtonBox) + 232u)
-Class QFlags<QDialogButtonBox::StandardButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDialogButtonBox::StandardButton> (0xb4815480) 0
Vtable for QMainWindow
QMainWindow::_ZTV11QMainWindow: 64u entries
@@ -13028,10 +11934,6 @@ QTextEdit (0xb4815600) 0
QPaintDevice (0xb4815740) 8
vptr=((& QTextEdit::_ZTV9QTextEdit) + 256u)
-Class QFlags<QTextEdit::AutoFormattingFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextEdit::AutoFormattingFlag> (0xb4815840) 0
Vtable for QProgressBar
QProgressBar::_ZTV12QProgressBar: 64u entries
@@ -14034,10 +12936,6 @@ QFontComboBox (0xb478f600) 0
QPaintDevice (0xb478f700) 8
vptr=((& QFontComboBox::_ZTV13QFontComboBox) + 240u)
-Class QFlags<QFontComboBox::FontFilter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFontComboBox::FontFilter> (0xb478f780) 0
Vtable for QToolBar
QToolBar::_ZTV8QToolBar: 63u entries
@@ -14439,178 +13337,38 @@ QDial (0xb478fd40) 0
QPaintDevice (0xb478fe40) 8
vptr=((& QDial::_ZTV5QDial) + 236u)
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0xb478ff00) 0
-Class QTypeInfo<QDebug::Stream*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDebug::Stream*> (0xb478ff80) 0 empty
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0xb478f040) 0
-Class QVectorTypedData<QPoint>
- size=24 align=4
- base size=24 base align=4
-QVectorTypedData<QPoint> (0xb478f340) 0
-Class QVectorTypedData<QPointF>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QPointF> (0xb478f5c0) 0
-Class QVectorTypedData<QTextLength>
- size=28 align=4
- base size=28 base align=4
-QVectorTypedData<QTextLength> (0xb478f8c0) 0
-Class QVectorTypedData<QTextLayout::FormatRange>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QTextLayout::FormatRange> (0xb478fbc0) 0
-Class QVectorTypedData<QAbstractTextDocumentLayout::Selection>
- size=28 align=4
- base size=28 base align=4
-QVectorTypedData<QAbstractTextDocumentLayout::Selection> (0xb478fe80) 0
-Class QVectorTypedData<QLineF>
- size=48 align=4
- base size=48 base align=4
-QVectorTypedData<QLineF> (0xb4490040) 0
-Class QVectorTypedData<QLine>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QLine> (0xb44900c0) 0
-Class QVectorTypedData<QRectF>
- size=48 align=4
- base size=48 base align=4
-QVectorTypedData<QRectF> (0xb4490140) 0
-Class QVectorTypedData<QRect>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QRect> (0xb44901c0) 0
-Class QVectorTypedData<QPainterPath::Element>
- size=36 align=4
- base size=36 base align=4
-QVectorTypedData<QPainterPath::Element> (0xb4490240) 0
-Class QList<QTreeWidgetItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::Node (0xb4490480) 0
-Class QVectorTypedData<QVector<QWidgetItemData> >
- size=20 align=4
- base size=20 base align=4
-QVectorTypedData<QVector<QWidgetItemData> > (0xb4490500) 0
-Class QList<QAction*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QAction*>::Node (0xb4490600) 0
-Class QTypeInfo<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLength> (0xb4490700) 0 empty
-Class QTypeInfo<QTextLayout::FormatRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLayout::FormatRange> (0xb44907c0) 0 empty
-Class QTypeInfo<QAbstractTextDocumentLayout::Selection>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAbstractTextDocumentLayout::Selection> (0xb44908c0) 0 empty
-Class QTypeInfo<QStandardItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QStandardItem*> (0xb4490980) 0 empty
-Class QHashNode<QVariant::Type, QItemEditorCreatorBase*>
- size=16 align=4
- base size=16 base align=4
-QHashNode<QVariant::Type, QItemEditorCreatorBase*> (0xb4490a00) 0
-Class QTypeInfo<QTreeWidgetItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTreeWidgetItem*> (0xb4490a80) 0 empty
-Class QTypeInfo<QAction*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAction*> (0xb4490b00) 0 empty
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0xb4490b80) 0
-Class QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union> (0xb4490c00) 0
-Class QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union> (0xb4490cc0) 0
-Class QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union> (0xb4490d80) 0
-Class QList<QItemSelectionRange>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::Node (0xb4490e40) 0
-Class QTypeInfo<QStyleOptionQ3ListViewItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QStyleOptionQ3ListViewItem> (0xb4490ec0) 0 empty
-Class QList<QStyleOptionQ3ListViewItem>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::Node (0xb4490f40) 0
-Class QList<QStandardItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QStandardItem*>::Node (0xb4490580) 0
-Class QList<QVariant>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::Node (0xb4490c40) 0
-Class QTypeInfo<QGraphicsItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QGraphicsItem*> (0xb4490d00) 0 empty
-Class QList<QGraphicsItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QGraphicsItem*>::Node (0xb4490dc0) 0
-Class QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union> (0xb427c040) 0
diff --git a/tests/auto/bic/data/QtGui.4.2.0.linux-gcc-ppc32.txt b/tests/auto/bic/data/QtGui.4.2.0.linux-gcc-ppc32.txt
index 5643ae0..f753f64 100644
--- a/tests/auto/bic/data/QtGui.4.2.0.linux-gcc-ppc32.txt
+++ b/tests/auto/bic/data/QtGui.4.2.0.linux-gcc-ppc32.txt
@@ -1,34 +1,8 @@
-Class QUintForSize<4>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<4> (0x305e92d8) 0 empty
-Class QUintForSize<8>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<8> (0x305e9348) 0 empty
-Class QUintForType<void*>
- size=1 align=1
- base size=1 base align=1
-QUintForType<void*> (0x3001bac0) 0 empty
- QUintForSize<4> (0x305e9498) 0 empty
-Class QIntForSize<4>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<4> (0x305e9578) 0 empty
-Class QIntForSize<8>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<8> (0x305e95e8) 0 empty
-Class QIntForType<void*>
- size=1 align=1
- base size=1 base align=1
-QIntForType<void*> (0x3001bb40) 0 empty
- QIntForSize<4> (0x305e9738) 0 empty
Class QSysInfo
size=1 align=1
@@ -50,150 +24,38 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0x305e9ab8) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0x305e9cb0) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0x305e9d58) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0x305e9e00) 0 empty
-Class QTypeInfo<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned char> (0x305e9ea8) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0x305e9f50) 0 empty
-Class QTypeInfo<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short unsigned int> (0x30617000) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0x306170a8) 0 empty
-Class QTypeInfo<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned int> (0x30617150) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0x306171f8) 0 empty
-Class QTypeInfo<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long unsigned int> (0x306172a0) 0 empty
-Class QTypeInfo<long long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long int> (0x30617348) 0 empty
-Class QTypeInfo<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long unsigned int> (0x306173f0) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0x30617498) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0x30617540) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0x306175e8) 0 empty
Class QFlag
size=4 align=4
base size=4 base align=4
QFlag (0x30617658) 0
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0x30617b28) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0x30617b98) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0x30617c08) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0x30617c78) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0x30617ce8) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0x30617d58) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0x30617dc8) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0x30617e38) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0x30617ea8) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0x30617f18) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0x30617f88) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0x31307000) 0
-Class QFlags<Qt::TextInteractionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::TextInteractionFlag> (0x31307070) 0
Class QInternal
size=1 align=1
@@ -211,10 +73,6 @@ Class QGenericReturnArgument
QGenericReturnArgument (0x3001bc80) 0
QGenericArgument (0x31307188) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0x31307348) 0
Class QMetaObject
size=16 align=4
@@ -231,10 +89,6 @@ Class QChar
base size=2 base align=2
QChar (0x31307428) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0x313074d0) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -267,10 +121,6 @@ Class QByteRef
base size=8 base align=4
QByteRef (0x31403230) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0x31403578) 0 empty
Class QString::Null
size=1 align=1
@@ -287,10 +137,6 @@ Class QString
base size=4 base align=4
QString (0x31403620) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0x31403850) 0
Class QLatin1String
size=4 align=4
@@ -308,10 +154,6 @@ Class QConstString
QConstString (0x3001bec0) 0
QString (0x3154f9d8) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0x3154fab8) 0 empty
Vtable for std::exception
std::exception::_ZTVSt9exception: 5u entries
@@ -374,15 +216,7 @@ Class QListData
base size=4 base align=4
QListData (0x31622150) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0x31622690) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0x316225e8) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -474,10 +308,6 @@ QIODevice (0x3001bf80) 0
QObject (0x31622b60) 0
primary-for QIODevice (0x3001bf80)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0x31622d58) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -507,10 +337,6 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0x31750348) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0x317503b8) 0 empty
Class QMapData::Node
size=8 align=4
@@ -522,10 +348,6 @@ Class QMapData
base size=72 base align=4
QMapData (0x31750c08) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0x31893230) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -550,15 +372,7 @@ Class QTextCodec
QTextCodec (0x318930e0) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0x31893508) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0x31893460) 0
Class QTextEncoder
size=32 align=4
@@ -570,30 +384,10 @@ Class QTextDecoder
base size=32 base align=4
QTextDecoder (0x31893620) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x318936c8) 0
-Class <anonymous struct>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct>::<anonymous union> (0x318937a8) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x31893738) 0
-Class <anonymous struct>
- size=12 align=4
- base size=12 base align=4
-<anonymous struct> (0x31893818) 0
-Class <anonymous struct>
- size=16 align=8
- base size=16 base align=8
-<anonymous struct> (0x31893888) 0
Class __gconv_trans_data
size=20 align=4
@@ -615,15 +409,7 @@ Class __gconv_info
base size=8 base align=4
__gconv_info (0x318939d8) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0x31893ab8) 0
-Class <anonymous union>
- size=44 align=4
- base size=44 base align=4
-<anonymous union> (0x31893a48) 0
Class _IO_marker
size=12 align=4
@@ -635,10 +421,6 @@ Class _IO_FILE
base size=152 base align=8
_IO_FILE (0x31893b28) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0x31893b98) 0
Vtable for QTextStream
QTextStream::_ZTV11QTextStream: 4u entries
@@ -653,10 +435,6 @@ Class QTextStream
QTextStream (0x31893bd0) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0x31893e00) 0
Class QTextStreamManipulator
size=24 align=4
@@ -693,40 +471,16 @@ QTextOStream (0x3180c180) 0
QTextStream (0x3194f2d8) 0
primary-for QTextOStream (0x3180c180)
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0x3194f5b0) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0x3194f620) 0
Class wait
size=4 align=4
base size=4 base align=4
wait (0x3194f540) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x3194f690) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x3194f700) 0
-Class <anonymous struct>
- size=16 align=8
- base size=16 base align=8
-<anonymous struct> (0x3194f770) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0x3194f7e0) 0
Class timespec
size=8 align=4
@@ -738,70 +492,18 @@ Class timeval
base size=8 base align=4
timeval (0x3194f850) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0x3194f8c0) 0
-Class <anonymous union>
- size=36 align=4
- base size=36 base align=4
-<anonymous union> (0x3194f930) 0
-Class <anonymous union>::<anonymous struct>
- size=24 align=4
- base size=24 base align=4
-<anonymous union>::<anonymous struct> (0x3194fa10) 0
-Class <anonymous union>
- size=24 align=4
- base size=24 base align=4
-<anonymous union> (0x3194f9a0) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0x3194fa80) 0
-Class <anonymous union>::<anonymous struct>
- size=48 align=8
- base size=48 base align=8
-<anonymous union>::<anonymous struct> (0x3194fb60) 0
-Class <anonymous union>
- size=48 align=8
- base size=48 base align=8
-<anonymous union> (0x3194faf0) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0x3194fbd0) 0
-Class <anonymous union>::<anonymous struct>
- size=32 align=4
- base size=32 base align=4
-<anonymous union>::<anonymous struct> (0x3194fcb0) 0
-Class <anonymous union>
- size=32 align=4
- base size=32 base align=4
-<anonymous union> (0x3194fc40) 0
-Class <anonymous union>
- size=8 align=4
- base size=8 base align=4
-<anonymous union> (0x3194fd20) 0
-Class <anonymous union>
- size=20 align=4
- base size=20 base align=4
-<anonymous union> (0x3194fd90) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0x3194fe00) 0
Class random_data
size=28 align=4
@@ -872,10 +574,6 @@ QFile (0x3180c1c0) 0
QObject (0x319f0658) 0
primary-for QIODevice (0x3180c200)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0x319f07e0) 0
Vtable for QTemporaryFile
QTemporaryFile::_ZTV14QTemporaryFile: 31u entries
@@ -928,50 +626,22 @@ Class QFileInfo
base size=4 base align=4
QFileInfo (0x319f0930) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0x319f09d8) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0x319f0a48) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0x319f0bd0) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0x319f0b28) 0
Class QRegExp
size=4 align=4
base size=4 base align=4
QRegExp (0x319f0c78) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0x319f0e70) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0x319f0ee0) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0x31b3b000) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0x319f05e8) 0
Class QStringList
size=4 align=4
@@ -979,30 +649,14 @@ Class QStringList
QStringList (0x3180c300) 0
QList<QString> (0x31b3b0a8) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0x31b3b4d0) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0x31b3b540) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0x31b3b850) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0x31b3b968) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0x31b3ba10) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -1059,10 +713,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0x31b3ba48) 0
vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0x31b3bcb0) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -1174,15 +824,7 @@ Class QLocale
base size=4 base align=4
QLocale (0x31b3bdc8) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0x31c38038) 0 empty
-Class QFlags<QLocale::NumberOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLocale::NumberOption> (0x31c380e0) 0
Vtable for QSystemLocale
QSystemLocale::_ZTV13QSystemLocale: 6u entries
@@ -1277,285 +919,65 @@ Class QUrl
base size=4 base align=4
QUrl (0x31c384d0) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0x31c38658) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0x31c386c8) 0 empty
Class QMetaType
size=1 align=1
base size=0 base align=1
QMetaType (0x31c38738) 0 empty
-Class QMetaTypeId2<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QString> (0x31c388f8) 0 empty
-Class QMetaTypeId2<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<int> (0x31c389a0) 0 empty
-Class QMetaTypeId2<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned int> (0x31c38a48) 0 empty
-Class QMetaTypeId2<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<bool> (0x31c38af0) 0 empty
-Class QMetaTypeId2<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<double> (0x31c38b98) 0 empty
-Class QMetaTypeId2<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QByteArray> (0x31c38c40) 0 empty
-Class QMetaTypeId2<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QChar> (0x31c38ce8) 0 empty
-Class QMetaTypeId2<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long int> (0x31c38d90) 0 empty
-Class QMetaTypeId2<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short int> (0x31c38e38) 0 empty
-Class QMetaTypeId2<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<char> (0x31c38ee0) 0 empty
-Class QMetaTypeId2<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long unsigned int> (0x31c38f88) 0 empty
-Class QMetaTypeId2<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short unsigned int> (0x31c38348) 0 empty
-Class QMetaTypeId2<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned char> (0x31cd7038) 0 empty
-Class QMetaTypeId2<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<float> (0x31cd70e0) 0 empty
-Class QMetaTypeId2<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QObject*> (0x31cd7188) 0 empty
-Class QMetaTypeId2<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QWidget*> (0x31cd7230) 0 empty
-Class QMetaTypeId2<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<void*> (0x31cd72d8) 0 empty
-Class QMetaTypeId2<long long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long int> (0x31cd7380) 0 empty
-Class QMetaTypeId2<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long unsigned int> (0x31cd7428) 0 empty
-Class QMetaTypeId2<QStringList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QStringList> (0x31cd74d0) 0 empty
-Class QMetaTypeId2<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitArray> (0x31cd7578) 0 empty
-Class QMetaTypeId2<QDate>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDate> (0x31cd7620) 0 empty
-Class QMetaTypeId2<QTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTime> (0x31cd76c8) 0 empty
-Class QMetaTypeId2<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDateTime> (0x31cd7770) 0 empty
-Class QMetaTypeId2<QUrl>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QUrl> (0x31cd7818) 0 empty
-Class QMetaTypeId2<QLocale>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLocale> (0x31cd78c0) 0 empty
-Class QMetaTypeId2<QRect>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRect> (0x31cd7968) 0 empty
-Class QMetaTypeId2<QRectF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRectF> (0x31cd7a10) 0 empty
-Class QMetaTypeId2<QSize>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSize> (0x31cd7ab8) 0 empty
-Class QMetaTypeId2<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizeF> (0x31cd7b60) 0 empty
-Class QMetaTypeId2<QLine>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLine> (0x31cd7c08) 0 empty
-Class QMetaTypeId2<QLineF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLineF> (0x31cd7cb0) 0 empty
-Class QMetaTypeId2<QPoint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPoint> (0x31cd7d58) 0 empty
-Class QMetaTypeId2<QPointF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPointF> (0x31cd7e00) 0 empty
-Class QMetaTypeId2<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegExp> (0x31cd7ea8) 0 empty
-Class QMetaTypeId2<QColorGroup>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColorGroup> (0x31cd7f50) 0 empty
-Class QMetaTypeId2<QFont>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QFont> (0x31cef000) 0 empty
-Class QMetaTypeId2<QPixmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPixmap> (0x31cef0a8) 0 empty
-Class QMetaTypeId2<QBrush>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBrush> (0x31cef150) 0 empty
-Class QMetaTypeId2<QColor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColor> (0x31cef1f8) 0 empty
-Class QMetaTypeId2<QPalette>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPalette> (0x31cef2a0) 0 empty
-Class QMetaTypeId2<QIcon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QIcon> (0x31cef348) 0 empty
-Class QMetaTypeId2<QImage>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QImage> (0x31cef3f0) 0 empty
-Class QMetaTypeId2<QPolygon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPolygon> (0x31cef498) 0 empty
-Class QMetaTypeId2<QRegion>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegion> (0x31cef540) 0 empty
-Class QMetaTypeId2<QBitmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitmap> (0x31cef5e8) 0 empty
-Class QMetaTypeId2<QCursor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QCursor> (0x31cef690) 0 empty
-Class QMetaTypeId2<QSizePolicy>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizePolicy> (0x31cef738) 0 empty
-Class QMetaTypeId2<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QKeySequence> (0x31cef7e0) 0 empty
-Class QMetaTypeId2<QPen>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPen> (0x31cef888) 0 empty
-Class QMetaTypeId2<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextLength> (0x31cef930) 0 empty
-Class QMetaTypeId2<QTextFormat>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextFormat> (0x31cef9d8) 0 empty
-Class QMetaTypeId2<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMatrix> (0x31cefa80) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -1582,45 +1004,17 @@ Class QVariant
base size=16 base align=8
QVariant (0x31cefaf0) 0
-Class QMetaTypeId2<QList<QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QList<QVariant> > (0x31ceff88) 0 empty
-Class QMetaTypeId2<QMap<QString, QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMap<QString, QVariant> > (0x31cefce8) 0 empty
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0x31d40118) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0x31d40070) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0x31d402d8) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0x31d40230) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0x31d403f0) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0x31d40508) 0 empty
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1652,80 +1046,48 @@ Class QPoint
base size=8 base align=4
QPoint (0x31d40a48) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0x31d40e38) 0 empty
Class QPointF
size=16 align=8
base size=16 base align=8
QPointF (0x31d40658) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0x31dfa000) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0x31dfa230) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0x31dfa2a0) 0 empty
Class QLineF
size=32 align=8
base size=32 base align=8
QLineF (0x31dfa3f0) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0x31dfa498) 0 empty
Class QSize
size=8 align=4
base size=8 base align=4
QSize (0x31dfa620) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0x31dfa9a0) 0 empty
Class QSizeF
size=16 align=8
base size=16 base align=8
QSizeF (0x31dfac78) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0x31dfa658) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0x31ea2070) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0x31ea2268) 0 empty
Class QRectF
size=32 align=8
base size=32 base align=8
QRectF (0x31ea2498) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0x31ea2620) 0 empty
Class QLinkedListData
size=20 align=4
@@ -1742,10 +1104,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0x31ea2188) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0x31ff6000) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -1762,30 +1120,18 @@ Class QDate
base size=4 base align=4
QDate (0x31ff63f0) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0x31ff65b0) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0x31ff6620) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0x31ff67e0) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0x31ff6850) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0x31ff69a0) 0 empty
Vtable for QTimeLine
QTimeLine::_ZTV9QTimeLine: 15u entries
@@ -1971,10 +1317,6 @@ QEventLoop (0x3180c880) 0
QObject (0x320b53b8) 0
primary-for QEventLoop (0x3180c880)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0x320b5578) 0
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -2081,20 +1423,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0x320b5fc0) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0x320b59d8) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0x320b5bd0) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0x32162038) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -2314,10 +1648,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0x32162770) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0x32162850) 0 empty
Vtable for QSocketNotifier
QSocketNotifier::_ZTV15QSocketNotifier: 14u entries
@@ -2412,20 +1742,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0x32162c78) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0x32162d20) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0x32162d90) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0x32162e38) 0 empty
Class QMetaProperty
size=20 align=4
@@ -2437,10 +1759,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0x32162ee0) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0x32162f88) 0 empty
Vtable for QPluginLoader
QPluginLoader::_ZTV13QPluginLoader: 14u entries
@@ -2497,10 +1815,6 @@ QLibrary (0x3180cd00) 0
QObject (0x32233070) 0
primary-for QLibrary (0x3180cd00)
-Class QFlags<QLibrary::LoadHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLibrary::LoadHint> (0x322331f8) 0
Class QSemaphore
size=4 align=4
@@ -2548,10 +1862,6 @@ Class QMutex
base size=4 base align=4
QMutex (0x32233498) 0
-Class QMutexLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMutexLocker::<anonymous union> (0x32233620) 0
Class QMutexLocker
size=4 align=4
@@ -2563,45 +1873,21 @@ Class QReadWriteLock
base size=4 base align=4
QReadWriteLock (0x322336c8) 0
-Class QReadLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QReadLocker::<anonymous union> (0x32233770) 0
Class QReadLocker
size=4 align=4
base size=4 base align=4
QReadLocker (0x32233700) 0
-Class QWriteLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QWriteLocker::<anonymous union> (0x32233888) 0
Class QWriteLocker
size=4 align=4
base size=4 base align=4
QWriteLocker (0x32233818) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x32233ab8) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x32233b28) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x32233b98) 0
-Class QColor::<anonymous union>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union> (0x32233a48) 0
Class QColor
size=16 align=4
@@ -2618,20 +1904,8 @@ Class QPen
base size=4 base align=4
QPen (0x32233428) 0
-Class QTypeInfo<QPen>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPen> (0x322ec000) 0 empty
-Class QVector<QPoint>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint>::<anonymous union> (0x322ec1c0) 0
-Class QVector<QPoint>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint> (0x322ec0e0) 0
Class QPolygon
size=4 align=4
@@ -2639,15 +1913,7 @@ Class QPolygon
QPolygon (0x3180cdc0) 0
QVector<QPoint> (0x322ec230) 0
-Class QVector<QPointF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF>::<anonymous union> (0x322ec5e8) 0
-Class QVector<QPointF>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF> (0x322ec508) 0
Class QPolygonF
size=4 align=4
@@ -2670,10 +1936,6 @@ Class QMatrix
base size=48 base align=8
QMatrix (0x322ecaf0) 0
-Class QTypeInfo<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMatrix> (0x322ecb60) 0 empty
Vtable for QPaintDevice
QPaintDevice::_ZTV12QPaintDevice: 7u entries
@@ -2714,10 +1976,6 @@ QImage (0x3180ce80) 0
QPaintDevice (0x322ece70) 0
primary-for QImage (0x3180ce80)
-Class QTypeInfo<QImage>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QImage> (0x323d0038) 0 empty
Vtable for QPixmap
QPixmap::_ZTV7QPixmap: 7u entries
@@ -2742,45 +2000,17 @@ Class QBrush
base size=4 base align=4
QBrush (0x323d02d8) 0
-Class QTypeInfo<QBrush>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBrush> (0x323d0380) 0 empty
Class QBrushData
size=72 align=8
base size=72 base align=8
QBrushData (0x323d03f0) 0
-Class QVector<QPair<double, QColor> >::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPair<double, QColor> >::<anonymous union> (0x323d0620) 0
-Class QVector<QPair<double, QColor> >
- size=4 align=4
- base size=4 base align=4
-QVector<QPair<double, QColor> > (0x323d0540) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=32 align=8
- base size=32 base align=8
-QGradient::<anonymous union>::<anonymous struct> (0x323d0738) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=40 align=8
- base size=40 base align=8
-QGradient::<anonymous union>::<anonymous struct> (0x323d07a8) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=24 align=8
- base size=24 base align=8
-QGradient::<anonymous union>::<anonymous struct> (0x323d0818) 0
-Class QGradient::<anonymous union>
- size=40 align=8
- base size=40 base align=8
-QGradient::<anonymous union> (0x323d06c8) 0
Class QGradient
size=64 align=8
@@ -2810,30 +2040,14 @@ Class QTextLength
base size=16 base align=8
QTextLength (0x323d08f8) 0
-Class QSharedDataPointer<QTextFormatPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextFormatPrivate> (0x323d0c40) 0
Class QTextFormat
size=8 align=4
base size=8 base align=4
QTextFormat (0x323d0af0) 0
-Class QVector<QTextLength>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength>::<anonymous union> (0x323d0f88) 0
-Class QVector<QTextLength>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength> (0x323d0ea8) 0
-Class QFlags<QTextFormat::PageBreakFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextFormat::PageBreakFlag> (0x323d0268) 0
Class QTextCharFormat
size=8 align=4
@@ -2973,10 +2187,6 @@ QTextFrame (0x324b5280) 0
QObject (0x324d6460) 0
primary-for QTextObject (0x324b52c0)
-Class QTypeInfo<QTextFrame::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFrame::iterator> (0x324d68f8) 0 empty
Vtable for QTextBlockUserData
QTextBlockUserData::_ZTV18QTextBlockUserData: 4u entries
@@ -3001,25 +2211,13 @@ Class QTextBlock
base size=8 base align=4
QTextBlock (0x324d6ab8) 0
-Class QTypeInfo<QTextBlock>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock> (0x324d6e38) 0 empty
-Class QTypeInfo<QTextBlock::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock::iterator> (0x324d6ee0) 0 empty
Class QTextFragment
size=12 align=4
base size=12 base align=4
QTextFragment (0x324d6f50) 0
-Class QTypeInfo<QTextFragment>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFragment> (0x32561070) 0 empty
Class QFontMetrics
size=4 align=4
@@ -3079,20 +2277,12 @@ QTextDocument (0x324b5300) 0
QObject (0x32561348) 0
primary-for QTextDocument (0x324b5300)
-Class QFlags<QTextDocument::FindFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextDocument::FindFlag> (0x32561508) 0
Class QTextOption
size=32 align=8
base size=28 base align=8
QTextOption (0x32561540) 0
-Class QFlags<QTextOption::Flag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextOption::Flag> (0x32561620) 0
Class QTextTableCell
size=8 align=4
@@ -3133,10 +2323,6 @@ Class QKeySequence
base size=4 base align=4
QKeySequence (0x32561a80) 0
-Class QTypeInfo<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QKeySequence> (0x32561c08) 0 empty
Vtable for QMimeSource
QMimeSource::_ZTV11QMimeSource: 7u entries
@@ -3434,15 +2620,7 @@ Class QInputMethodEvent::Attribute
base size=32 base align=8
QInputMethodEvent::Attribute (0x32639f50) 0
-Class QList<QInputMethodEvent::Attribute>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute>::<anonymous union> (0x326395e8) 0
-Class QList<QInputMethodEvent::Attribute>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute> (0x326391c0) 0
Vtable for QInputMethodEvent
QInputMethodEvent::_ZTV17QInputMethodEvent: 4u entries
@@ -3741,15 +2919,7 @@ Class QTextLayout
base size=4 base align=4
QTextLayout (0x326fd038) 0
-Class QVector<QTextLayout::FormatRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange>::<anonymous union> (0x326fd2d8) 0
-Class QVector<QTextLayout::FormatRange>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange> (0x326fd1f8) 0
Class QTextLine
size=8 align=4
@@ -3798,10 +2968,6 @@ Class QTextDocumentFragment
base size=4 base align=4
QTextDocumentFragment (0x326fd700) 0
-Class QSharedDataPointer<QTextCursorPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextCursorPrivate> (0x326fd818) 0
Class QTextCursor
size=4 align=4
@@ -3824,15 +2990,7 @@ Class QAbstractTextDocumentLayout::Selection
base size=12 base align=4
QAbstractTextDocumentLayout::Selection (0x326fdd90) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union> (0x326fdf88) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection> (0x326fdea8) 0
Class QAbstractTextDocumentLayout::PaintContext
size=56 align=8
@@ -4196,10 +3354,6 @@ Class QItemSelectionRange
base size=8 base align=4
QItemSelectionRange (0x328f0348) 0
-Class QTypeInfo<QItemSelectionRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QItemSelectionRange> (0x328f0700) 0 empty
Vtable for QItemSelectionModel
QItemSelectionModel::_ZTV19QItemSelectionModel: 18u entries
@@ -4230,20 +3384,8 @@ QItemSelectionModel (0x327de240) 0
QObject (0x328f07a8) 0
primary-for QItemSelectionModel (0x327de240)
-Class QFlags<QItemSelectionModel::SelectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QItemSelectionModel::SelectionFlag> (0x328f0930) 0
-Class QList<QItemSelectionRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::<anonymous union> (0x328f0a80) 0
-Class QList<QItemSelectionRange>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange> (0x328f09d8) 0
Class QItemSelection
size=4 align=4
@@ -4450,20 +3592,12 @@ QAbstractSpinBox (0x327de480) 0
QPaintDevice (0x328f0888) 8
vptr=((& QAbstractSpinBox::_ZTV16QAbstractSpinBox) + 252u)
-Class QFlags<QAbstractSpinBox::StepEnabledFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractSpinBox::StepEnabledFlag> (0x329c40a8) 0
Class QIcon
size=4 align=4
base size=4 base align=4
QIcon (0x329c40e0) 0
-Class QTypeInfo<QIcon>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QIcon> (0x329c41c0) 0 empty
Vtable for QAbstractSlider
QAbstractSlider::_ZTV15QAbstractSlider: 64u entries
@@ -4671,15 +3805,7 @@ QStyle (0x327de6c0) 0
QObject (0x329c4620) 0
primary-for QStyle (0x327de6c0)
-Class QFlags<QStyle::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::StateFlag> (0x329c47e0) 0
-Class QFlags<QStyle::SubControl>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::SubControl> (0x329c4850) 0
Vtable for QTabBar
QTabBar::_ZTV7QTabBar: 67u entries
@@ -4938,10 +4064,6 @@ Class QStyleOptionFrame
QStyleOptionFrame (0x327de940) 0
QStyleOption (0x329c4f18) 0
-Class QFlags<QStyleOptionFrameV2::FrameFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionFrameV2::FrameFeature> (0x329c4738) 0
Class QStyleOptionFrameV2
size=56 align=4
@@ -4968,10 +4090,6 @@ Class QStyleOptionHeader
QStyleOptionHeader (0x327dea80) 0
QStyleOption (0x32ae3310) 0
-Class QFlags<QStyleOptionButton::ButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionButton::ButtonFeature> (0x32ae3508) 0
Class QStyleOptionButton
size=64 align=4
@@ -4979,10 +4097,6 @@ Class QStyleOptionButton
QStyleOptionButton (0x327deb00) 0
QStyleOption (0x32ae3428) 0
-Class QFlags<QStyleOptionTab::CornerWidget>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionTab::CornerWidget> (0x32ae3700) 0
Class QStyleOptionTab
size=72 align=4
@@ -4997,10 +4111,6 @@ QStyleOptionTabV2 (0x327debc0) 0
QStyleOptionTab (0x327dec00) 0
QStyleOption (0x32ae3818) 0
-Class QFlags<QStyleOptionToolBar::ToolBarFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionToolBar::ToolBarFeature> (0x32ae3af0) 0
Class QStyleOptionToolBar
size=68 align=4
@@ -5027,10 +4137,6 @@ Class QStyleOptionMenuItem
QStyleOptionMenuItem (0x327ded40) 0
QStyleOption (0x32ae3d90) 0
-Class QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature> (0x32ae3f88) 0
Class QStyleOptionQ3ListViewItem
size=64 align=4
@@ -5056,10 +4162,6 @@ Class QStyleOptionViewItem
QStyleOptionViewItem (0x327dee40) 0
QStyleOption (0x32ae3f18) 0
-Class QFlags<QStyleOptionViewItemV2::ViewItemFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionViewItemV2::ViewItemFeature> (0x32b93150) 0
Class QStyleOptionViewItemV2
size=84 align=4
@@ -5100,15 +4202,7 @@ QStyleOptionSpinBox (0x32bc2040) 0
QStyleOptionComplex (0x32bc2080) 0
QStyleOption (0x32b93888) 0
-Class QList<QStyleOptionQ3ListViewItem>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::<anonymous union> (0x32b93b28) 0
-Class QList<QStyleOptionQ3ListViewItem>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem> (0x32b93a80) 0
Class QStyleOptionQ3ListView
size=84 align=4
@@ -5117,10 +4211,6 @@ QStyleOptionQ3ListView (0x32bc20c0) 0
QStyleOptionComplex (0x32bc2100) 0
QStyleOption (0x32b939a0) 0
-Class QFlags<QStyleOptionToolButton::ToolButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionToolButton::ToolButtonFeature> (0x32b93d90) 0
Class QStyleOptionToolButton
size=96 align=4
@@ -5328,10 +4418,6 @@ QAbstractItemView (0x32bc24c0) 0
QPaintDevice (0x32c26310) 8
vptr=((& QAbstractItemView::_ZTV17QAbstractItemView) + 392u)
-Class QFlags<QAbstractItemView::EditTrigger>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractItemView::EditTrigger> (0x32c26508) 0
Vtable for QListView
QListView::_ZTV9QListView: 103u entries
@@ -6096,10 +5182,6 @@ QMessageBox (0x32bc2cc0) 0
QPaintDevice (0x32d162d8) 8
vptr=((& QMessageBox::_ZTV11QMessageBox) + 244u)
-Class QFlags<QMessageBox::StandardButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<QMessageBox::StandardButton> (0x32d16508) 0
Vtable for QProgressDialog
QProgressDialog::_ZTV15QProgressDialog: 66u entries
@@ -6350,10 +5432,6 @@ QFileDialog (0x32bc2f00) 0
QPaintDevice (0x32d168f8) 8
vptr=((& QFileDialog::_ZTV11QFileDialog) + 244u)
-Class QFlags<QFileDialog::Option>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileDialog::Option> (0x32d16af0) 0
Vtable for QAbstractPrintDialog
QAbstractPrintDialog::_ZTV20QAbstractPrintDialog: 67u entries
@@ -6439,10 +5517,6 @@ QAbstractPrintDialog (0x32ded000) 0
QPaintDevice (0x32d16c78) 8
vptr=((& QAbstractPrintDialog::_ZTV20QAbstractPrintDialog) + 248u)
-Class QFlags<QAbstractPrintDialog::PrintDialogOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractPrintDialog::PrintDialogOption> (0x32d16e70) 0
Vtable for QPrintDialog
QPrintDialog::_ZTV12QPrintDialog: 67u entries
@@ -6864,10 +5938,6 @@ QImageIOPlugin (0x32ded480) 0
QFactoryInterface (0x32e24700) 8 nearly-empty
primary-for QImageIOHandlerFactoryInterface (0x32ded4c0)
-Class QFlags<QImageIOPlugin::Capability>
- size=4 align=4
- base size=4 base align=4
-QFlags<QImageIOPlugin::Capability> (0x32e248f8) 0
Vtable for QPicture
QPicture::_ZTV8QPicture: 8u entries
@@ -7215,50 +6285,14 @@ Class QPainter
base size=4 base align=4
QPainter (0x32ef4c78) 0
-Class QFlags<QPainter::RenderHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPainter::RenderHint> (0x32ef4d90) 0
-Class QVector<QLineF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF>::<anonymous union> (0x32fb6150) 0
-Class QVector<QLineF>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF> (0x32fb6070) 0
-Class QVector<QLine>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine>::<anonymous union> (0x32fb6310) 0
-Class QVector<QLine>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine> (0x32fb6230) 0
-Class QVector<QRectF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF>::<anonymous union> (0x32fb64d0) 0
-Class QVector<QRectF>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF> (0x32fb63f0) 0
-Class QVector<QRect>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect>::<anonymous union> (0x32fb6690) 0
-Class QVector<QRect>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect> (0x32fb65b0) 0
Class QStylePainter
size=12 align=4
@@ -7276,25 +6310,13 @@ Class QPainterPath
base size=4 base align=4
QPainterPath (0x32fb6930) 0
-Class QVector<QPainterPath::Element>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element>::<anonymous union> (0x32fb6dc8) 0
-Class QVector<QPainterPath::Element>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element> (0x32fb6ce8) 0
Class QPainterPathPrivate
size=8 align=4
base size=8 base align=4
QPainterPathPrivate (0x32fb6b28) 0
-Class QTypeInfo<QPainterPath::Element>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPainterPath::Element> (0x32fb6e70) 0 empty
Class QPainterPathStroker
size=4 align=4
@@ -7306,15 +6328,7 @@ Class QTextItem
base size=0 base align=1
QTextItem (0x330a30a8) 0 empty
-Class QTypeInfo<QTextItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextItem> (0x330a3150) 0 empty
-Class QFlags<QPaintEngine::PaintEngineFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::PaintEngineFeature> (0x330a32d8) 0
Vtable for QPaintEngine
QPaintEngine::_ZTV12QPaintEngine: 24u entries
@@ -7349,25 +6363,13 @@ Class QPaintEngine
QPaintEngine (0x330a31c0) 0
vptr=((& QPaintEngine::_ZTV12QPaintEngine) + 8u)
-Class QFlags<QPaintEngine::DirtyFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::DirtyFlag> (0x330a34d0) 0
Class QPaintEngineState
size=4 align=4
base size=4 base align=4
QPaintEngineState (0x330a3428) 0
-Class QFlags<QTextItem::RenderFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextItem::RenderFlag> (0x330a3540) 0
-Class QFlags<QTreeWidgetItemIterator::IteratorFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTreeWidgetItemIterator::IteratorFlag> (0x330a3658) 0
Class QTreeWidgetItemIterator
size=12 align=4
@@ -7457,15 +6459,7 @@ QStringListModel (0x32ded900) 0
QObject (0x330a3968) 0
primary-for QAbstractItemModel (0x32ded980)
-Class QVector<QWidgetItemData>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData>::<anonymous union> (0x330a3c40) 0
-Class QVector<QWidgetItemData>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData> (0x330a3b60) 0
Vtable for QListWidgetItem
QListWidgetItem::_ZTV15QListWidgetItem: 11u entries
@@ -7708,15 +6702,7 @@ Class QStandardItem
QStandardItem (0x33192348) 0
vptr=((& QStandardItem::_ZTV13QStandardItem) + 8u)
-Class QList<QStandardItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QStandardItem*>::<anonymous union> (0x33192700) 0
-Class QList<QStandardItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QStandardItem*> (0x33192658) 0
Vtable for QStandardItemModel
QStandardItemModel::_ZTV18QStandardItemModel: 42u entries
@@ -8537,15 +7523,7 @@ Class QItemEditorCreatorBase
QItemEditorCreatorBase (0x332f8508) 0 nearly-empty
vptr=((& QItemEditorCreatorBase::_ZTV22QItemEditorCreatorBase) + 8u)
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union> (0x332f8968) 0
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*> (0x332f8850) 0
Vtable for QItemEditorFactory
QItemEditorFactory::_ZTV18QItemEditorFactory: 6u entries
@@ -8562,25 +7540,9 @@ Class QItemEditorFactory
QItemEditorFactory (0x332f8770) 0
vptr=((& QItemEditorFactory::_ZTV18QItemEditorFactory) + 8u)
-Class QVector<QVector<QWidgetItemData> >::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> >::<anonymous union> (0x332f8d58) 0
-Class QVector<QVector<QWidgetItemData> >
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> > (0x332f8c78) 0
-Class QList<QTreeWidgetItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::<anonymous union> (0x332f8ee0) 0
-Class QList<QTreeWidgetItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*> (0x332f8e38) 0
Vtable for QTreeWidgetItem
QTreeWidgetItem::_ZTV15QTreeWidgetItem: 10u entries
@@ -8807,15 +7769,7 @@ Class QAccessible
base size=0 base align=1
QAccessible (0x333e56c8) 0 empty
-Class QFlags<QAccessible::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::StateFlag> (0x333e57a8) 0
-Class QFlags<QAccessible::RelationFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::RelationFlag> (0x333e5818) 0
Vtable for QAccessibleInterface
QAccessibleInterface::_ZTV20QAccessibleInterface: 19u entries
@@ -9768,15 +8722,7 @@ QActionGroup (0x33534240) 0
QObject (0x334fff50) 0
primary-for QActionGroup (0x33534240)
-Class QList<QAction*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QAction*>::<anonymous union> (0x334ffee0) 0
-Class QList<QAction*>
- size=4 align=4
- base size=4 base align=4
-QList<QAction*> (0x334ffa48) 0
Vtable for QSound
QSound::_ZTV6QSound: 14u entries
@@ -9946,10 +8892,6 @@ QCommonStyle (0x335343c0) 0
QObject (0x335cd540) 0
primary-for QStyle (0x33534400)
-Class QPointer<QFocusFrame>
- size=4 align=4
- base size=4 base align=4
-QPointer<QFocusFrame> (0x335cd738) 0
Vtable for QMotifStyle
QMotifStyle::_ZTV11QMotifStyle: 35u entries
@@ -10471,15 +9413,7 @@ Class QGraphicsItem
QGraphicsItem (0x3368e310) 0
vptr=((& QGraphicsItem::_ZTV13QGraphicsItem) + 8u)
-Class QFlags<QGraphicsItem::GraphicsItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGraphicsItem::GraphicsItemFlag> (0x3368e620) 0
-Class QMetaTypeId<QGraphicsItem*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QGraphicsItem*> (0x3368e690) 0 empty
Vtable for QAbstractGraphicsShapeItem
QAbstractGraphicsShapeItem::_ZTV26QAbstractGraphicsShapeItem: 39u entries
@@ -11252,20 +10186,8 @@ QGraphicsView (0x33783100) 0
QPaintDevice (0x33745d20) 8
vptr=((& QGraphicsView::_ZTV13QGraphicsView) + 252u)
-Class QFlags<QGraphicsView::CacheModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGraphicsView::CacheModeFlag> (0x33745f18) 0
-Class QList<QGraphicsItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QGraphicsItem*>::<anonymous union> (0x33745818) 0
-Class QList<QGraphicsItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QGraphicsItem*> (0x33745f88) 0
Vtable for QGraphicsSceneEvent
QGraphicsSceneEvent::_ZTV19QGraphicsSceneEvent: 4u entries
@@ -12517,10 +11439,6 @@ QDateEdit (0x33783e00) 0
QPaintDevice (0x338e7dc8) 8
vptr=((& QDateEdit::_ZTV9QDateEdit) + 260u)
-Class QFlags<QDateTimeEdit::Section>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDateTimeEdit::Section> (0x338e7f88) 0
Vtable for QLabel
QLabel::_ZTV6QLabel: 63u entries
@@ -12680,10 +11598,6 @@ QDockWidget (0x33783fc0) 0
QPaintDevice (0x338e7cb0) 8
vptr=((& QDockWidget::_ZTV11QDockWidget) + 232u)
-Class QFlags<QDockWidget::DockWidgetFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDockWidget::DockWidgetFeature> (0x339b61f8) 0
Vtable for QGroupBox
QGroupBox::_ZTV9QGroupBox: 63u entries
@@ -12841,10 +11755,6 @@ QDialogButtonBox (0x339ac0c0) 0
QPaintDevice (0x339b6428) 8
vptr=((& QDialogButtonBox::_ZTV16QDialogButtonBox) + 232u)
-Class QFlags<QDialogButtonBox::StandardButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDialogButtonBox::StandardButton> (0x339b6620) 0
Vtable for QMainWindow
QMainWindow::_ZTV11QMainWindow: 64u entries
@@ -13018,10 +11928,6 @@ QTextEdit (0x339ac1c0) 0
QPaintDevice (0x339b6850) 8
vptr=((& QTextEdit::_ZTV9QTextEdit) + 256u)
-Class QFlags<QTextEdit::AutoFormattingFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextEdit::AutoFormattingFlag> (0x339b6af0) 0
Vtable for QProgressBar
QProgressBar::_ZTV12QProgressBar: 64u entries
@@ -14024,10 +12930,6 @@ QFontComboBox (0x339acac0) 0
QPaintDevice (0x33abcd90) 8
vptr=((& QFontComboBox::_ZTV13QFontComboBox) + 240u)
-Class QFlags<QFontComboBox::FontFilter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFontComboBox::FontFilter> (0x33bcd1c0) 0
Vtable for QToolBar
QToolBar::_ZTV8QToolBar: 63u entries
@@ -14429,178 +13331,38 @@ QDial (0x339ace00) 0
QPaintDevice (0x33bcd968) 8
vptr=((& QDial::_ZTV5QDial) + 236u)
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0x33ca4ee0) 0
-Class QTypeInfo<QDebug::Stream*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDebug::Stream*> (0x33cc3620) 0 empty
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0x33ce0428) 0
-Class QVectorTypedData<QPoint>
- size=24 align=4
- base size=24 base align=4
-QVectorTypedData<QPoint> (0x33d2f5e8) 0
-Class QVectorTypedData<QPointF>
- size=32 align=8
- base size=32 base align=8
-QVectorTypedData<QPointF> (0x33d2fc08) 0
-Class QVectorTypedData<QTextLength>
- size=32 align=8
- base size=32 base align=8
-QVectorTypedData<QTextLength> (0x33d58850) 0
-Class QVectorTypedData<QTextLayout::FormatRange>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QTextLayout::FormatRange> (0x33d7c508) 0
-Class QVectorTypedData<QAbstractTextDocumentLayout::Selection>
- size=28 align=4
- base size=28 base align=4
-QVectorTypedData<QAbstractTextDocumentLayout::Selection> (0x33d7c7a8) 0
-Class QVectorTypedData<QLineF>
- size=48 align=8
- base size=48 base align=8
-QVectorTypedData<QLineF> (0x33e10770) 0
-Class QVectorTypedData<QLine>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QLine> (0x33e108f8) 0
-Class QVectorTypedData<QRectF>
- size=48 align=8
- base size=48 base align=8
-QVectorTypedData<QRectF> (0x33e10a80) 0
-Class QVectorTypedData<QRect>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QRect> (0x33e10c08) 0
-Class QVectorTypedData<QPainterPath::Element>
- size=40 align=8
- base size=40 base align=8
-QVectorTypedData<QPainterPath::Element> (0x33e10d90) 0
-Class QList<QTreeWidgetItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::Node (0x33e692a0) 0
-Class QVectorTypedData<QVector<QWidgetItemData> >
- size=20 align=4
- base size=20 base align=4
-QVectorTypedData<QVector<QWidgetItemData> > (0x33e69498) 0
-Class QList<QAction*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QAction*>::Node (0x33e8dc08) 0
-Class QTypeInfo<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLength> (0x33f19888) 0 empty
-Class QTypeInfo<QTextLayout::FormatRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLayout::FormatRange> (0x33f19c78) 0 empty
-Class QTypeInfo<QAbstractTextDocumentLayout::Selection>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAbstractTextDocumentLayout::Selection> (0x33f38070) 0 empty
-Class QTypeInfo<QStandardItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QStandardItem*> (0x33f56770) 0 empty
-Class QHashNode<QVariant::Type, QItemEditorCreatorBase*>
- size=16 align=4
- base size=16 base align=4
-QHashNode<QVariant::Type, QItemEditorCreatorBase*> (0x33f56888) 0
-Class QTypeInfo<QTreeWidgetItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTreeWidgetItem*> (0x33f56a10) 0 empty
-Class QTypeInfo<QAction*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAction*> (0x33f77348) 0 empty
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0x33f77a80) 0
-Class QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union> (0x33f77c78) 0
-Class QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union> (0x33fa6230) 0
-Class QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union> (0x33fa67a8) 0
-Class QList<QItemSelectionRange>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::Node (0x33fa6d20) 0
-Class QTypeInfo<QStyleOptionQ3ListViewItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QStyleOptionQ3ListViewItem> (0x33fa6ea8) 0 empty
-Class QList<QStyleOptionQ3ListViewItem>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::Node (0x33fa6f50) 0
-Class QList<QStandardItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QStandardItem*>::Node (0x33fdf268) 0
-Class QList<QVariant>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::Node (0x33fdf6c8) 0
-Class QTypeInfo<QGraphicsItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QGraphicsItem*> (0x33fdf9d8) 0 empty
-Class QList<QGraphicsItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QGraphicsItem*>::Node (0x33fdfa80) 0
-Class QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union> (0x340010a8) 0
diff --git a/tests/auto/bic/data/QtGui.4.2.0.macx-gcc-ia32.txt b/tests/auto/bic/data/QtGui.4.2.0.macx-gcc-ia32.txt
index 5234b84..56819c1 100644
--- a/tests/auto/bic/data/QtGui.4.2.0.macx-gcc-ia32.txt
+++ b/tests/auto/bic/data/QtGui.4.2.0.macx-gcc-ia32.txt
@@ -1,34 +1,8 @@
-Class QUintForSize<4>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<4> (0x6fe2c0) 0 empty
-Class QUintForSize<8>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<8> (0x6fe340) 0 empty
-Class QUintForType<void*>
- size=1 align=1
- base size=1 base align=1
-QUintForType<void*> (0x6fe500) 0 empty
- QUintForSize<4> (0x6fe540) 0 empty
-Class QIntForSize<4>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<4> (0x6fe640) 0 empty
-Class QIntForSize<8>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<8> (0x6fe6c0) 0 empty
-Class QIntForType<void*>
- size=1 align=1
- base size=1 base align=1
-QIntForType<void*> (0x6fe880) 0 empty
- QIntForSize<4> (0x6fe8c0) 0 empty
Class QSysInfo
size=1 align=1
@@ -50,75 +24,19 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0x6fedc0) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0x72b000) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0x72b0c0) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0x72b180) 0 empty
-Class QTypeInfo<uchar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uchar> (0x72b240) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0x72b300) 0 empty
-Class QTypeInfo<ushort>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ushort> (0x72b3c0) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0x72b480) 0 empty
-Class QTypeInfo<uint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uint> (0x72b540) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0x72b600) 0 empty
-Class QTypeInfo<ulong>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ulong> (0x72b6c0) 0 empty
-Class QTypeInfo<qint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<qint64> (0x72b780) 0 empty
-Class QTypeInfo<quint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<quint64> (0x72b840) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0x72b900) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0x72b9c0) 0 empty
Class QFlag
size=4 align=4
@@ -135,10 +53,6 @@ Class QChar
base size=2 base align=2
QChar (0x72bcc0) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0x72bdc0) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -151,10 +65,6 @@ Class QAtomic
QAtomic (0x16e74c0) 0
QBasicAtomic (0x16e7500) 0
-Class <anonymous union>
- size=128 align=4
- base size=128 base align=4
-<anonymous union> (0x16e7780) 0
Class __darwin_pthread_handler_rec
size=12 align=4
@@ -236,75 +146,19 @@ Class QByteRef
base size=8 base align=4
QByteRef (0x17854c0) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0x1785880) 0 empty
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0x1785d00) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0x1785d80) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0x1785e00) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0x1785e80) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0x1785f00) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0x1785f80) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0x1893000) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0x1893080) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0x1893100) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0x1893180) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0x1893200) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0x1893280) 0
-Class QFlags<Qt::TextInteractionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::TextInteractionFlag> (0x1893300) 0
Class QInternal
size=1 align=1
@@ -331,10 +185,6 @@ Class QLatin1String
base size=4 base align=4
QLatin1String (0x1893b00) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0x1893f40) 0
Class QCharRef
size=8 align=4
@@ -347,10 +197,6 @@ Class QConstString
QConstString (0x1a0db40) 0
QString (0x1a0db80) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0x1a0dc80) 0 empty
Vtable for std::exception
std::exception::_ZTVSt9exception: 5u entries
@@ -413,10 +259,6 @@ Class QListData
base size=4 base align=4
QListData (0x1aff4c0) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0x1affb00) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -441,15 +283,7 @@ Class QTextCodec
QTextCodec (0x1aff980) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0x1affe40) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0x1affd80) 0
Class QTextEncoder
size=32 align=4
@@ -472,25 +306,13 @@ Class QGenericReturnArgument
QGenericReturnArgument (0x1aff780) 0
QGenericArgument (0x1affa80) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0x1c17240) 0
Class QMetaObject
size=16 align=4
base size=16 base align=4
QMetaObject (0x1c171c0) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0x1c174c0) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0x1c17400) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -582,10 +404,6 @@ QIODevice (0x1c17b00) 0
QObject (0x1c17b40) 0
primary-for QIODevice (0x1c17b00)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0x1c17d80) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -605,25 +423,13 @@ Class QRegExp
base size=4 base align=4
QRegExp (0x1ceb3c0) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0x1ceb600) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0x1ceb680) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0x1ceb880) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0x1ceb7c0) 0
Class QStringList
size=4 align=4
@@ -631,15 +437,7 @@ Class QStringList
QStringList (0x1ceb940) 0
QList<QString> (0x1ceb980) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0x1cebe40) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0x1cebec0) 0
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -773,50 +571,22 @@ QFile (0x1d8dcc0) 0
QObject (0x1d8dd40) 0
primary-for QIODevice (0x1d8dd00)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0x1d8df00) 0
Class QFileInfo
size=4 align=4
base size=4 base align=4
QFileInfo (0x1d8df40) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0x1d8d280) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0x1d8d780) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0x1e4e100) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0x1e4e040) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0x1e4e1c0) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0x1e4e300) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0x1e4e380) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -873,10 +643,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0x1e4e3c0) 0
vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0x1e4e680) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -950,10 +716,6 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0x1e4eb80) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0x1e4ec00) 0 empty
Class QMapData::Node
size=8 align=4
@@ -978,10 +740,6 @@ Class QTextStream
QTextStream (0x1f07fc0) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0x207d200) 0
Class QTextStreamManipulator
size=24 align=4
@@ -1078,35 +836,15 @@ Class rlimit
base size=16 base align=4
rlimit (0x207dd80) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0x20e4440) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0x20e44c0) 0
Class wait
size=4 align=4
base size=4 base align=4
wait (0x20e43c0) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x20e4540) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x20e45c0) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0x20e4640) 0
Class QVectorData
size=16 align=4
@@ -1244,15 +982,7 @@ Class QLocale
base size=4 base align=4
QLocale (0x2243500) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0x22435c0) 0 empty
-Class QFlags<QLocale::NumberOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLocale::NumberOption> (0x2243680) 0
Vtable for QSystemLocale
QSystemLocale::_ZTV13QSystemLocale: 6u entries
@@ -1279,270 +1009,58 @@ Class QMetaType
base size=0 base align=1
QMetaType (0x2243880) 0 empty
-Class QMetaTypeId2<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QString> (0x2243a80) 0 empty
-Class QMetaTypeId2<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<int> (0x2243b40) 0 empty
-Class QMetaTypeId2<uint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<uint> (0x2243c00) 0 empty
-Class QMetaTypeId2<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<bool> (0x2243cc0) 0 empty
-Class QMetaTypeId2<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<double> (0x2243d80) 0 empty
-Class QMetaTypeId2<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QByteArray> (0x2243e40) 0 empty
-Class QMetaTypeId2<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QChar> (0x2243f00) 0 empty
-Class QMetaTypeId2<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long int> (0x2243fc0) 0 empty
-Class QMetaTypeId2<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short int> (0x2243480) 0 empty
-Class QMetaTypeId2<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<char> (0x22f1040) 0 empty
-Class QMetaTypeId2<ulong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<ulong> (0x22f1100) 0 empty
-Class QMetaTypeId2<ushort>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<ushort> (0x22f11c0) 0 empty
-Class QMetaTypeId2<uchar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<uchar> (0x22f1280) 0 empty
-Class QMetaTypeId2<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<float> (0x22f1340) 0 empty
-Class QMetaTypeId2<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QObject*> (0x22f1400) 0 empty
-Class QMetaTypeId2<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QWidget*> (0x22f14c0) 0 empty
-Class QMetaTypeId2<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<void*> (0x22f1580) 0 empty
-Class QMetaTypeId2<qlonglong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<qlonglong> (0x22f1640) 0 empty
-Class QMetaTypeId2<qulonglong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<qulonglong> (0x22f1700) 0 empty
-Class QMetaTypeId2<QStringList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QStringList> (0x22f17c0) 0 empty
-Class QMetaTypeId2<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitArray> (0x22f1880) 0 empty
-Class QMetaTypeId2<QDate>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDate> (0x22f1940) 0 empty
-Class QMetaTypeId2<QTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTime> (0x22f1a00) 0 empty
-Class QMetaTypeId2<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDateTime> (0x22f1ac0) 0 empty
-Class QMetaTypeId2<QUrl>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QUrl> (0x22f1b80) 0 empty
-Class QMetaTypeId2<QLocale>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLocale> (0x22f1c40) 0 empty
-Class QMetaTypeId2<QRect>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRect> (0x22f1d00) 0 empty
-Class QMetaTypeId2<QRectF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRectF> (0x22f1dc0) 0 empty
-Class QMetaTypeId2<QSize>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSize> (0x22f1e80) 0 empty
-Class QMetaTypeId2<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizeF> (0x22f1f40) 0 empty
-Class QMetaTypeId2<QLine>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLine> (0x230b000) 0 empty
-Class QMetaTypeId2<QLineF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLineF> (0x230b0c0) 0 empty
-Class QMetaTypeId2<QPoint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPoint> (0x230b180) 0 empty
-Class QMetaTypeId2<QPointF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPointF> (0x230b240) 0 empty
-Class QMetaTypeId2<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegExp> (0x230b300) 0 empty
-Class QMetaTypeId2<QColorGroup>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColorGroup> (0x230b3c0) 0 empty
-Class QMetaTypeId2<QFont>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QFont> (0x230b480) 0 empty
-Class QMetaTypeId2<QPixmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPixmap> (0x230b540) 0 empty
-Class QMetaTypeId2<QBrush>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBrush> (0x230b600) 0 empty
-Class QMetaTypeId2<QColor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColor> (0x230b6c0) 0 empty
-Class QMetaTypeId2<QPalette>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPalette> (0x230b780) 0 empty
-Class QMetaTypeId2<QIcon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QIcon> (0x230b840) 0 empty
-Class QMetaTypeId2<QImage>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QImage> (0x230b900) 0 empty
-Class QMetaTypeId2<QPolygon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPolygon> (0x230b9c0) 0 empty
-Class QMetaTypeId2<QRegion>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegion> (0x230ba80) 0 empty
-Class QMetaTypeId2<QBitmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitmap> (0x230bb40) 0 empty
-Class QMetaTypeId2<QCursor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QCursor> (0x230bc00) 0 empty
-Class QMetaTypeId2<QSizePolicy>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizePolicy> (0x230bcc0) 0 empty
-Class QMetaTypeId2<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QKeySequence> (0x230bd80) 0 empty
-Class QMetaTypeId2<QPen>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPen> (0x230be40) 0 empty
-Class QMetaTypeId2<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextLength> (0x230bf00) 0 empty
-Class QMetaTypeId2<QTextFormat>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextFormat> (0x230bfc0) 0 empty
-Class QMetaTypeId2<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMatrix> (0x2326080) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -1569,60 +1087,20 @@ Class QVariant
base size=12 base align=4
QVariant (0x2326100) 0
-Class QMetaTypeId2<QVariantList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QVariantList> (0x2326640) 0 empty
-Class QMetaTypeId2<QVariantMap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QVariantMap> (0x2326700) 0 empty
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0x2326900) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0x2326840) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0x2326b00) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0x2326a40) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0x2326c80) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0x2326dc0) 0 empty
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0x2326e80) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x2326f00) 0
-Class <anonymous struct>
- size=3156 align=4
- base size=3156 base align=4
-<anonymous struct> (0x2326f80) 0
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1700,15 +1178,7 @@ Class QUrl
base size=4 base align=4
QUrl (0x23c9680) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0x23c9840) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0x23c98c0) 0 empty
Vtable for QEventLoop
QEventLoop::_ZTV10QEventLoop: 14u entries
@@ -1735,10 +1205,6 @@ QEventLoop (0x23c9940) 0
QObject (0x23c9980) 0
primary-for QEventLoop (0x23c9940)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0x23c9b80) 0
Vtable for QAbstractEventDispatcher
QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 27u entries
@@ -1783,20 +1249,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0x23c9dc0) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0x23c9f80) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0x23c9100) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0x23c9d40) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -1966,10 +1424,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0x24ce700) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0x24ce800) 0 empty
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -2076,20 +1530,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0x257a280) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0x257a340) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0x257a3c0) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0x257a480) 0 empty
Class QMetaProperty
size=20 align=4
@@ -2101,10 +1547,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0x257a540) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0x257a600) 0 empty
Vtable for QMimeData
QMimeData::_ZTV9QMimeData: 17u entries
@@ -2286,10 +1728,6 @@ QLibrary (0x257afc0) 0
QObject (0x257a7c0) 0
primary-for QLibrary (0x257afc0)
-Class QFlags<QLibrary::LoadHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLibrary::LoadHint> (0x260e000) 0
Vtable for QPluginLoader
QPluginLoader::_ZTV13QPluginLoader: 14u entries
@@ -2326,10 +1764,6 @@ Class QMutex
base size=4 base align=4
QMutex (0x260e340) 0
-Class QMutexLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMutexLocker::<anonymous union> (0x260e500) 0
Class QMutexLocker
size=4 align=4
@@ -2341,20 +1775,12 @@ Class QReadWriteLock
base size=4 base align=4
QReadWriteLock (0x260e5c0) 0
-Class QReadLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QReadLocker::<anonymous union> (0x260e680) 0
Class QReadLocker
size=4 align=4
base size=4 base align=4
QReadLocker (0x260e600) 0
-Class QWriteLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QWriteLocker::<anonymous union> (0x260e7c0) 0
Class QWriteLocker
size=4 align=4
@@ -2412,10 +1838,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0x26cb140) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0x26cb240) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -2427,70 +1849,42 @@ Class QDate
base size=4 base align=4
QDate (0x26cb4c0) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0x26cb6c0) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0x26cb740) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0x26cb940) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0x26cb9c0) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0x26cbb40) 0 empty
Class QPoint
size=8 align=4
base size=8 base align=4
QPoint (0x26cbbc0) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0x26cb580) 0 empty
Class QPointF
size=16 align=4
base size=16 base align=4
QPointF (0x26cbf00) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0x27753c0) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0x27756c0) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0x2775740) 0 empty
Class QLineF
size=32 align=4
base size=32 base align=4
QLineF (0x27758c0) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0x2775980) 0 empty
Class QLinkedListData
size=20 align=4
@@ -2502,40 +1896,24 @@ Class QSize
base size=8 base align=4
QSize (0x2775fc0) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0x286e000) 0 empty
Class QSizeF
size=16 align=4
base size=16 base align=4
QSizeF (0x286e3c0) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0x286e7c0) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0x286ec40) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0x286ee00) 0 empty
Class QRectF
size=32 align=4
base size=32 base align=4
QRectF (0x286e500) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0x286ec80) 0 empty
Class QSharedData
size=4 align=4
@@ -2583,10 +1961,6 @@ Class QKeySequence
base size=4 base align=4
QKeySequence (0x29579c0) 0
-Class QTypeInfo<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QKeySequence> (0x2957b80) 0 empty
Vtable for QMimeSource
QMimeSource::_ZTV11QMimeSource: 7u entries
@@ -2625,15 +1999,7 @@ Class QMacMime
QMacMime (0x2957d80) 0
vptr=((& QMacMime::_ZTV8QMacMime) + 8u)
-Class QList<QMacMime*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QMacMime*>::<anonymous union> (0x2957900) 0
-Class QList<QMacMime*>
- size=4 align=4
- base size=4 base align=4
-QList<QMacMime*> (0x2957540) 0
Vtable for QMacPasteboardMime
QMacPasteboardMime::_ZTV18QMacPasteboardMime: 10u entries
@@ -2934,15 +2300,7 @@ Class QInputMethodEvent::Attribute
base size=24 base align=4
QInputMethodEvent::Attribute (0x2accac0) 0
-Class QList<QInputMethodEvent::Attribute>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute>::<anonymous union> (0x2accc80) 0
-Class QList<QInputMethodEvent::Attribute>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute> (0x2accbc0) 0
Vtable for QInputMethodEvent
QInputMethodEvent::_ZTV17QInputMethodEvent: 4u entries
@@ -3231,15 +2589,7 @@ Class QAccessible
base size=0 base align=1
QAccessible (0x2b51340) 0 empty
-Class QFlags<QAccessible::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::StateFlag> (0x2b51480) 0
-Class QFlags<QAccessible::RelationFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::RelationFlag> (0x2b51500) 0
Vtable for QAccessibleInterface
QAccessibleInterface::_ZTV20QAccessibleInterface: 19u entries
@@ -3628,40 +2978,16 @@ Class QPaintDevice
QPaintDevice (0x2bbcdc0) 0
vptr=((& QPaintDevice::_ZTV12QPaintDevice) + 8u)
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x2bbc880) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x2bbcd40) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x2c24000) 0
-Class QColor::<anonymous union>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union> (0x2bbc4c0) 0
Class QColor
size=16 align=4
base size=14 base align=4
QColor (0x2bbc0c0) 0
-Class QVector<QPoint>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint>::<anonymous union> (0x2c24440) 0
-Class QVector<QPoint>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint> (0x2c24340) 0
Class QPolygon
size=4 align=4
@@ -3669,15 +2995,7 @@ Class QPolygon
QPolygon (0x2c244c0) 0
QVector<QPoint> (0x2c24500) 0
-Class QVector<QPointF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF>::<anonymous union> (0x2c24940) 0
-Class QVector<QPointF>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF> (0x2c24840) 0
Class QPolygonF
size=4 align=4
@@ -3690,10 +3008,6 @@ Class QMatrix
base size=48 base align=4
QMatrix (0x2c24d00) 0
-Class QTypeInfo<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMatrix> (0x2c24d80) 0 empty
Class QImageTextKeyLang
size=8 align=4
@@ -3718,10 +3032,6 @@ QImage (0x2c24f80) 0
QPaintDevice (0x2c24fc0) 0
primary-for QImage (0x2c24f80)
-Class QTypeInfo<QImage>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QImage> (0x2cef2c0) 0 empty
Vtable for QPixmap
QPixmap::_ZTV7QPixmap: 7u entries
@@ -3746,45 +3056,17 @@ Class QBrush
base size=4 base align=4
QBrush (0x2cef800) 0
-Class QTypeInfo<QBrush>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBrush> (0x2cef8c0) 0 empty
Class QBrushData
size=72 align=4
base size=72 base align=4
QBrushData (0x2cef940) 0
-Class QVector<QGradientStop>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QGradientStop>::<anonymous union> (0x2cefbc0) 0
-Class QVector<QGradientStop>
- size=4 align=4
- base size=4 base align=4
-QVector<QGradientStop> (0x2cefac0) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=32 align=4
- base size=32 base align=4
-QGradient::<anonymous union>::<anonymous struct> (0x2cefd00) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=40 align=4
- base size=40 base align=4
-QGradient::<anonymous union>::<anonymous struct> (0x2cefd80) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=24 align=4
- base size=24 base align=4
-QGradient::<anonymous union>::<anonymous struct> (0x2cefe00) 0
-Class QGradient::<anonymous union>
- size=40 align=4
- base size=40 base align=4
-QGradient::<anonymous union> (0x2cefc80) 0
Class QGradient
size=56 align=4
@@ -4180,10 +3462,6 @@ QAbstractPrintDialog (0x2ec68c0) 0
QPaintDevice (0x2ec6980) 8
vptr=((& QAbstractPrintDialog::_ZTV20QAbstractPrintDialog) + 248u)
-Class QFlags<QAbstractPrintDialog::PrintDialogOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractPrintDialog::PrintDialogOption> (0x2ec6c00) 0
Vtable for QColorDialog
QColorDialog::_ZTV12QColorDialog: 66u entries
@@ -4434,10 +3712,6 @@ QFileDialog (0x2fc1000) 0
QPaintDevice (0x2fc10c0) 8
vptr=((& QFileDialog::_ZTV11QFileDialog) + 244u)
-Class QFlags<QFileDialog::Option>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileDialog::Option> (0x2fc1380) 0
Vtable for QFontDialog
QFontDialog::_ZTV11QFontDialog: 66u entries
@@ -4844,10 +4118,6 @@ QMessageBox (0x2fc1e80) 0
QPaintDevice (0x2fc1f40) 8
vptr=((& QMessageBox::_ZTV11QMessageBox) + 244u)
-Class QFlags<QMessageBox::StandardButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<QMessageBox::StandardButton> (0x2fc1d80) 0
Vtable for QPageSetupDialog
QPageSetupDialog::_ZTV16QPageSetupDialog: 67u entries
@@ -5202,25 +4472,13 @@ Class QPainterPath
base size=4 base align=4
QPainterPath (0x30dbb00) 0
-Class QVector<QPainterPath::Element>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element>::<anonymous union> (0x30db480) 0
-Class QVector<QPainterPath::Element>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element> (0x30dbf40) 0
Class QPainterPathPrivate
size=8 align=4
base size=8 base align=4
QPainterPathPrivate (0x30dbd40) 0
-Class QTypeInfo<QPainterPath::Element>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPainterPath::Element> (0x30dbc00) 0 empty
Class QPainterPathStroker
size=4 align=4
@@ -5275,15 +4533,7 @@ Class QGraphicsItem
QGraphicsItem (0x315b300) 0
vptr=((& QGraphicsItem::_ZTV13QGraphicsItem) + 8u)
-Class QFlags<QGraphicsItem::GraphicsItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGraphicsItem::GraphicsItemFlag> (0x315b680) 0
-Class QMetaTypeId<QGraphicsItem*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QGraphicsItem*> (0x315b700) 0 empty
Vtable for QAbstractGraphicsShapeItem
QAbstractGraphicsShapeItem::_ZTV26QAbstractGraphicsShapeItem: 39u entries
@@ -5872,10 +5122,6 @@ Class QPen
base size=4 base align=4
QPen (0x3252140) 0
-Class QTypeInfo<QPen>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPen> (0x32522c0) 0 empty
Vtable for QGraphicsScene
QGraphicsScene::_ZTV14QGraphicsScene: 34u entries
@@ -6044,60 +5290,20 @@ Class QTextOption
base size=24 base align=4
QTextOption (0x3252640) 0
-Class QFlags<QTextOption::Flag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextOption::Flag> (0x3252d40) 0
Class QPainter
size=4 align=4
base size=4 base align=4
QPainter (0x3252f00) 0
-Class QFlags<QPainter::RenderHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPainter::RenderHint> (0x32ed540) 0
-Class QVector<QLineF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF>::<anonymous union> (0x32ed700) 0
-Class QVector<QLineF>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF> (0x32ed600) 0
-Class QVector<QLine>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine>::<anonymous union> (0x32ed900) 0
-Class QVector<QLine>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine> (0x32ed800) 0
-Class QVector<QRectF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF>::<anonymous union> (0x32edb00) 0
-Class QVector<QRectF>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF> (0x32eda00) 0
-Class QVector<QRect>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect>::<anonymous union> (0x32edcc0) 0
-Class QVector<QRect>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect> (0x32edbc0) 0
Vtable for QAbstractScrollArea
QAbstractScrollArea::_ZTV19QAbstractScrollArea: 65u entries
@@ -6352,20 +5558,8 @@ QGraphicsView (0x3427200) 0
QPaintDevice (0x3427300) 8
vptr=((& QGraphicsView::_ZTV13QGraphicsView) + 252u)
-Class QFlags<QGraphicsView::CacheModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGraphicsView::CacheModeFlag> (0x3427540) 0
-Class QList<QGraphicsItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QGraphicsItem*>::<anonymous union> (0x3427680) 0
-Class QList<QGraphicsItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QGraphicsItem*> (0x34275c0) 0
Vtable for QBitmap
QBitmap::_ZTV7QBitmap: 7u entries
@@ -6392,10 +5586,6 @@ Class QIcon
base size=4 base align=4
QIcon (0x3427c00) 0
-Class QTypeInfo<QIcon>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QIcon> (0x3427d40) 0 empty
Vtable for QIconEngine
QIconEngine::_ZTV11QIconEngine: 9u entries
@@ -6551,10 +5741,6 @@ QImageIOPlugin (0x3516c80) 0
QFactoryInterface (0x34f9600) 8 nearly-empty
primary-for QImageIOHandlerFactoryInterface (0x34f95c0)
-Class QFlags<QImageIOPlugin::Capability>
- size=4 align=4
- base size=4 base align=4
-QFlags<QImageIOPlugin::Capability> (0x34f9840) 0
Class QImageReader
size=4 align=4
@@ -6730,15 +5916,7 @@ QActionGroup (0x358c240) 0
QObject (0x358c280) 0
primary-for QActionGroup (0x358c240)
-Class QList<QAction*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QAction*>::<anonymous union> (0x358c500) 0
-Class QList<QAction*>
- size=4 align=4
- base size=4 base align=4
-QList<QAction*> (0x358c440) 0
Vtable for QInputContext
QInputContext::_ZTV13QInputContext: 25u entries
@@ -7043,10 +6221,6 @@ QAbstractSpinBox (0x3664080) 0
QPaintDevice (0x3664100) 8
vptr=((& QAbstractSpinBox::_ZTV16QAbstractSpinBox) + 252u)
-Class QFlags<QAbstractSpinBox::StepEnabledFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractSpinBox::StepEnabledFlag> (0x3664380) 0
Vtable for QAbstractSlider
QAbstractSlider::_ZTV15QAbstractSlider: 64u entries
@@ -7254,15 +6428,7 @@ QStyle (0x3664900) 0
QObject (0x3664940) 0
primary-for QStyle (0x3664900)
-Class QFlags<QStyle::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::StateFlag> (0x3664b80) 0
-Class QFlags<QStyle::SubControl>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::SubControl> (0x3664c00) 0
Vtable for QTabBar
QTabBar::_ZTV7QTabBar: 67u entries
@@ -7521,10 +6687,6 @@ Class QStyleOptionFrame
QStyleOptionFrame (0x378f300) 0
QStyleOption (0x378f340) 0
-Class QFlags<QStyleOptionFrameV2::FrameFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionFrameV2::FrameFeature> (0x378f600) 0
Class QStyleOptionFrameV2
size=56 align=4
@@ -7551,10 +6713,6 @@ Class QStyleOptionHeader
QStyleOptionHeader (0x378fb80) 0
QStyleOption (0x378fbc0) 0
-Class QFlags<QStyleOptionButton::ButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionButton::ButtonFeature> (0x378fe80) 0
Class QStyleOptionButton
size=64 align=4
@@ -7562,10 +6720,6 @@ Class QStyleOptionButton
QStyleOptionButton (0x378fd40) 0
QStyleOption (0x378fd80) 0
-Class QFlags<QStyleOptionTab::CornerWidget>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionTab::CornerWidget> (0x378f900) 0
Class QStyleOptionTab
size=72 align=4
@@ -7580,10 +6734,6 @@ QStyleOptionTabV2 (0x378fec0) 0
QStyleOptionTab (0x382c000) 0
QStyleOption (0x382c040) 0
-Class QFlags<QStyleOptionToolBar::ToolBarFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionToolBar::ToolBarFeature> (0x382c3c0) 0
Class QStyleOptionToolBar
size=68 align=4
@@ -7610,10 +6760,6 @@ Class QStyleOptionMenuItem
QStyleOptionMenuItem (0x382c780) 0
QStyleOption (0x382c7c0) 0
-Class QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature> (0x382ca40) 0
Class QStyleOptionQ3ListViewItem
size=64 align=4
@@ -7639,10 +6785,6 @@ Class QStyleOptionViewItem
QStyleOptionViewItem (0x382ce80) 0
QStyleOption (0x382cec0) 0
-Class QFlags<QStyleOptionViewItemV2::ViewItemFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionViewItemV2::ViewItemFeature> (0x382ca80) 0
Class QStyleOptionViewItemV2
size=84 align=4
@@ -7683,15 +6825,7 @@ QStyleOptionSpinBox (0x38ae880) 0
QStyleOptionComplex (0x38ae8c0) 0
QStyleOption (0x38ae900) 0
-Class QList<QStyleOptionQ3ListViewItem>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::<anonymous union> (0x38aec80) 0
-Class QList<QStyleOptionQ3ListViewItem>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem> (0x38aebc0) 0
Class QStyleOptionQ3ListView
size=84 align=4
@@ -7700,10 +6834,6 @@ QStyleOptionQ3ListView (0x38aea40) 0
QStyleOptionComplex (0x38aea80) 0
QStyleOption (0x38aeac0) 0
-Class QFlags<QStyleOptionToolButton::ToolButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionToolButton::ToolButtonFeature> (0x38ae1c0) 0
Class QStyleOptionToolButton
size=96 align=4
@@ -7794,10 +6924,6 @@ Class QItemSelectionRange
base size=8 base align=4
QItemSelectionRange (0x39369c0) 0
-Class QTypeInfo<QItemSelectionRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QItemSelectionRange> (0x3936e00) 0 empty
Vtable for QItemSelectionModel
QItemSelectionModel::_ZTV19QItemSelectionModel: 18u entries
@@ -7828,20 +6954,8 @@ QItemSelectionModel (0x3936ec0) 0
QObject (0x3936f00) 0
primary-for QItemSelectionModel (0x3936ec0)
-Class QFlags<QItemSelectionModel::SelectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QItemSelectionModel::SelectionFlag> (0x3936500) 0
-Class QList<QItemSelectionRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::<anonymous union> (0x39d90c0) 0
-Class QList<QItemSelectionRange>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange> (0x39d9000) 0
Class QItemSelection
size=4 align=4
@@ -7971,10 +7085,6 @@ QAbstractItemView (0x39d9280) 0
QPaintDevice (0x39d9380) 8
vptr=((& QAbstractItemView::_ZTV17QAbstractItemView) + 392u)
-Class QFlags<QAbstractItemView::EditTrigger>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractItemView::EditTrigger> (0x39d9600) 0
Vtable for QAbstractProxyModel
QAbstractProxyModel::_ZTV19QAbstractProxyModel: 47u entries
@@ -8312,15 +7422,7 @@ Class QItemEditorCreatorBase
QItemEditorCreatorBase (0x3abf080) 0 nearly-empty
vptr=((& QItemEditorCreatorBase::_ZTV22QItemEditorCreatorBase) + 8u)
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union> (0x3abf600) 0
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*> (0x3abf4c0) 0
Vtable for QItemEditorFactory
QItemEditorFactory::_ZTV18QItemEditorFactory: 6u entries
@@ -8461,15 +7563,7 @@ QListView (0x3abf840) 0
QPaintDevice (0x3abf980) 8
vptr=((& QListView::_ZTV9QListView) + 392u)
-Class QVector<QWidgetItemData>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData>::<anonymous union> (0x3abfd80) 0
-Class QVector<QWidgetItemData>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData> (0x3abfc80) 0
Vtable for QListWidgetItem
QListWidgetItem::_ZTV15QListWidgetItem: 11u entries
@@ -8762,15 +7856,7 @@ Class QStandardItem
QStandardItem (0x3b50800) 0
vptr=((& QStandardItem::_ZTV13QStandardItem) + 8u)
-Class QList<QStandardItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QStandardItem*>::<anonymous union> (0x3b50c40) 0
-Class QList<QStandardItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QStandardItem*> (0x3b50b80) 0
Vtable for QStandardItemModel
QStandardItemModel::_ZTV18QStandardItemModel: 42u entries
@@ -9288,35 +8374,15 @@ QTreeView (0x3c6d8c0) 0
QPaintDevice (0x3c6da00) 8
vptr=((& QTreeView::_ZTV9QTreeView) + 400u)
-Class QFlags<QTreeWidgetItemIterator::IteratorFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTreeWidgetItemIterator::IteratorFlag> (0x3c6dcc0) 0
Class QTreeWidgetItemIterator
size=12 align=4
base size=12 base align=4
QTreeWidgetItemIterator (0x3c6dbc0) 0
-Class QVector<QVector<QWidgetItemData> >::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> >::<anonymous union> (0x3c6dfc0) 0
-Class QVector<QVector<QWidgetItemData> >
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> > (0x3c6d380) 0
-Class QList<QTreeWidgetItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::<anonymous union> (0x3d6a180) 0
-Class QList<QTreeWidgetItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*> (0x3d6a0c0) 0
Vtable for QTreeWidgetItem
QTreeWidgetItem::_ZTV15QTreeWidgetItem: 10u entries
@@ -10197,15 +9263,7 @@ Class QTextItem
base size=0 base align=1
QTextItem (0x3eb99c0) 0 empty
-Class QTypeInfo<QTextItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextItem> (0x3f5f000) 0 empty
-Class QFlags<QPaintEngine::PaintEngineFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::PaintEngineFeature> (0x3f5f1c0) 0
Vtable for QPaintEngine
QPaintEngine::_ZTV12QPaintEngine: 24u entries
@@ -10240,20 +9298,12 @@ Class QPaintEngine
QPaintEngine (0x3f5f080) 0
vptr=((& QPaintEngine::_ZTV12QPaintEngine) + 8u)
-Class QFlags<QPaintEngine::DirtyFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::DirtyFlag> (0x3f5f400) 0
Class QPaintEngineState
size=4 align=4
base size=4 base align=4
QPaintEngineState (0x3f5f340) 0
-Class QFlags<QTextItem::RenderFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextItem::RenderFlag> (0x3f5f480) 0
Vtable for QPrinter
QPrinter::_ZTV8QPrinter: 7u entries
@@ -10346,10 +9396,6 @@ QCommonStyle (0x3f5fb40) 0
QObject (0x3f5fbc0) 0
primary-for QStyle (0x3f5fb80)
-Class QPointer<QFocusFrame>
- size=4 align=4
- base size=4 base align=4
-QPointer<QFocusFrame> (0x3f5fec0) 0
Vtable for QMotifStyle
QMotifStyle::_ZTV11QMotifStyle: 35u entries
@@ -10723,30 +9769,14 @@ Class QTextLength
base size=12 base align=4
QTextLength (0x403fdc0) 0
-Class QSharedDataPointer<QTextFormatPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextFormatPrivate> (0x403fa80) 0
Class QTextFormat
size=8 align=4
base size=8 base align=4
QTextFormat (0x403f000) 0
-Class QVector<QTextLength>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength>::<anonymous union> (0x40d2280) 0
-Class QVector<QTextLength>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength> (0x40d2180) 0
-Class QFlags<QTextFormat::PageBreakFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextFormat::PageBreakFlag> (0x40d2380) 0
Class QTextCharFormat
size=8 align=4
@@ -10801,15 +9831,7 @@ Class QTextLayout
base size=4 base align=4
QTextLayout (0x40d28c0) 0
-Class QVector<QTextLayout::FormatRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange>::<anonymous union> (0x40d2bc0) 0
-Class QVector<QTextLayout::FormatRange>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange> (0x40d2ac0) 0
Class QTextLine
size=8 align=4
@@ -10859,15 +9881,7 @@ QTextDocument (0x40d2ec0) 0
QObject (0x40d2f00) 0
primary-for QTextDocument (0x40d2ec0)
-Class QFlags<QTextDocument::FindFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextDocument::FindFlag> (0x41eb000) 0
-Class QSharedDataPointer<QTextCursorPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextCursorPrivate> (0x41eb140) 0
Class QTextCursor
size=4 align=4
@@ -10879,15 +9893,7 @@ Class QAbstractTextDocumentLayout::Selection
base size=12 base align=4
QAbstractTextDocumentLayout::Selection (0x41eb280) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union> (0x41eb4c0) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection> (0x41eb3c0) 0
Class QAbstractTextDocumentLayout::PaintContext
size=48 align=4
@@ -11049,10 +10055,6 @@ QTextFrame (0x41ebe40) 0
QObject (0x41ebec0) 0
primary-for QTextObject (0x41ebe80)
-Class QTypeInfo<QTextFrame::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFrame::iterator> (0x4294240) 0 empty
Vtable for QTextBlockUserData
QTextBlockUserData::_ZTV18QTextBlockUserData: 4u entries
@@ -11077,25 +10079,13 @@ Class QTextBlock
base size=8 base align=4
QTextBlock (0x4294480) 0
-Class QTypeInfo<QTextBlock>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock> (0x4294880) 0 empty
-Class QTypeInfo<QTextBlock::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock::iterator> (0x4294940) 0 empty
Class QTextFragment
size=12 align=4
base size=12 base align=4
QTextFragment (0x4294a00) 0
-Class QTypeInfo<QTextFragment>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFragment> (0x4294c00) 0 empty
Vtable for QSyntaxHighlighter
QSyntaxHighlighter::_ZTV18QSyntaxHighlighter: 15u entries
@@ -12057,10 +11047,6 @@ QDateEdit (0x4476300) 0
QPaintDevice (0x4476400) 8
vptr=((& QDateEdit::_ZTV9QDateEdit) + 260u)
-Class QFlags<QDateTimeEdit::Section>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDateTimeEdit::Section> (0x4476600) 0
Vtable for QDial
QDial::_ZTV5QDial: 64u entries
@@ -12221,10 +11207,6 @@ QDialogButtonBox (0x44768c0) 0
QPaintDevice (0x4476940) 8
vptr=((& QDialogButtonBox::_ZTV16QDialogButtonBox) + 232u)
-Class QFlags<QDialogButtonBox::StandardButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDialogButtonBox::StandardButton> (0x4476b80) 0
Vtable for QDockWidget
QDockWidget::_ZTV11QDockWidget: 63u entries
@@ -12304,10 +11286,6 @@ QDockWidget (0x4476bc0) 0
QPaintDevice (0x4476c40) 8
vptr=((& QDockWidget::_ZTV11QDockWidget) + 232u)
-Class QFlags<QDockWidget::DockWidgetFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDockWidget::DockWidgetFeature> (0x4476f00) 0
Vtable for QFocusFrame
QFocusFrame::_ZTV11QFocusFrame: 63u entries
@@ -12469,10 +11447,6 @@ QFontComboBox (0x4539000) 0
QPaintDevice (0x45390c0) 8
vptr=((& QFontComboBox::_ZTV13QFontComboBox) + 240u)
-Class QFlags<QFontComboBox::FontFilter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFontComboBox::FontFilter> (0x4539300) 0
Vtable for QGroupBox
QGroupBox::_ZTV9QGroupBox: 63u entries
@@ -14041,10 +13015,6 @@ QTextEdit (0x4718600) 0
QPaintDevice (0x4718f80) 8
vptr=((& QTextEdit::_ZTV9QTextEdit) + 256u)
-Class QFlags<QTextEdit::AutoFormattingFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextEdit::AutoFormattingFlag> (0x47c0300) 0
Vtable for QTextBrowser
QTextBrowser::_ZTV12QTextBrowser: 74u entries
@@ -14462,188 +13432,40 @@ QWorkspace (0x47c0ec0) 0
QPaintDevice (0x47c0f40) 8
vptr=((& QWorkspace::_ZTV10QWorkspace) + 232u)
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0x4921700) 0
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0x4941580) 0
-Class QTypeInfo<QDebug::Stream*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDebug::Stream*> (0x499d600) 0 empty
-Class QVectorTypedData<QPoint>
- size=24 align=4
- base size=24 base align=4
-QVectorTypedData<QPoint> (0x49dba80) 0
-Class QVectorTypedData<QPointF>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QPointF> (0x4a09180) 0
-Class QVectorTypedData<QPainterPath::Element>
- size=36 align=4
- base size=36 base align=4
-QVectorTypedData<QPainterPath::Element> (0x4a32880) 0
-Class QVectorTypedData<QLineF>
- size=48 align=4
- base size=48 base align=4
-QVectorTypedData<QLineF> (0x4a52dc0) 0
-Class QVectorTypedData<QLine>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QLine> (0x4a52f80) 0
-Class QVectorTypedData<QRectF>
- size=48 align=4
- base size=48 base align=4
-QVectorTypedData<QRectF> (0x4a6d100) 0
-Class QVectorTypedData<QRect>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QRect> (0x4a6d2c0) 0
-Class QList<QTreeWidgetItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::Node (0x4b47840) 0
-Class QVectorTypedData<QVector<QWidgetItemData> >
- size=20 align=4
- base size=20 base align=4
-QVectorTypedData<QVector<QWidgetItemData> > (0x4b47a80) 0
-Class QVectorTypedData<QTextLength>
- size=28 align=4
- base size=28 base align=4
-QVectorTypedData<QTextLength> (0x4b870c0) 0
-Class QVectorTypedData<QTextLayout::FormatRange>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QTextLayout::FormatRange> (0x4b873c0) 0
-Class QVectorTypedData<QAbstractTextDocumentLayout::Selection>
- size=28 align=4
- base size=28 base align=4
-QVectorTypedData<QAbstractTextDocumentLayout::Selection> (0x4b87a40) 0
-Class QList<QAction*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QAction*>::Node (0x4badd80) 0
-Class QHashNode<QVariant::Type, QItemEditorCreatorBase*>
- size=16 align=4
- base size=16 base align=4
-QHashNode<QVariant::Type, QItemEditorCreatorBase*> (0x4c5d8c0) 0
-Class QTypeInfo<QStandardItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QStandardItem*> (0x4c83200) 0 empty
-Class QTypeInfo<QTreeWidgetItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTreeWidgetItem*> (0x4c83480) 0 empty
-Class QTypeInfo<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLength> (0x4c83a00) 0 empty
-Class QTypeInfo<QTextLayout::FormatRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLayout::FormatRange> (0x4c83d80) 0 empty
-Class QTypeInfo<QAbstractTextDocumentLayout::Selection>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAbstractTextDocumentLayout::Selection> (0x4ca5200) 0 empty
-Class QTypeInfo<QAction*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAction*> (0x4ca5900) 0 empty
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0x4ca5d40) 0
-Class QTypeInfo<QMacMime*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMacMime*> (0x4ca5fc0) 0 empty
-Class QList<QMacMime*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QMacMime*>::Node (0x4cc3080) 0
-Class QList<QVariant>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::Node (0x4cc3300) 0
-Class QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union> (0x4cc3480) 0
-Class QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union> (0x4cc3b80) 0
-Class QTypeInfo<QGraphicsItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QGraphicsItem*> (0x4d091c0) 0 empty
-Class QList<QGraphicsItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QGraphicsItem*>::Node (0x4d09280) 0
-Class QTypeInfo<QStyleOptionQ3ListViewItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QStyleOptionQ3ListViewItem> (0x4d09700) 0 empty
-Class QList<QStyleOptionQ3ListViewItem>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::Node (0x4d097c0) 0
-Class QList<QItemSelectionRange>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::Node (0x4d09b80) 0
-Class QList<QStandardItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QStandardItem*>::Node (0x4d09ec0) 0
-Class QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union> (0x4d2e200) 0
-Class QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union> (0x4d2ecc0) 0
diff --git a/tests/auto/bic/data/QtGui.4.2.0.macx-gcc-ppc32.txt b/tests/auto/bic/data/QtGui.4.2.0.macx-gcc-ppc32.txt
index a8fb4ae..e3dde23 100644
--- a/tests/auto/bic/data/QtGui.4.2.0.macx-gcc-ppc32.txt
+++ b/tests/auto/bic/data/QtGui.4.2.0.macx-gcc-ppc32.txt
@@ -1,34 +1,8 @@
-Class QUintForSize<4>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<4> (0xa32ec0) 0 empty
-Class QUintForSize<8>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<8> (0xa32f40) 0 empty
-Class QUintForType<void*>
- size=1 align=1
- base size=1 base align=1
-QUintForType<void*> (0xa36100) 0 empty
- QUintForSize<4> (0xa36140) 0 empty
-Class QIntForSize<4>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<4> (0xa36240) 0 empty
-Class QIntForSize<8>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<8> (0xa362c0) 0 empty
-Class QIntForType<void*>
- size=1 align=1
- base size=1 base align=1
-QIntForType<void*> (0xa36480) 0 empty
- QIntForSize<4> (0xa364c0) 0 empty
Class QSysInfo
size=1 align=1
@@ -50,75 +24,19 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0xa369c0) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0xa36c00) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0xa36cc0) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0xa36d80) 0 empty
-Class QTypeInfo<uchar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uchar> (0xa36e40) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0xa36f00) 0 empty
-Class QTypeInfo<ushort>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ushort> (0xa36fc0) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0xa69080) 0 empty
-Class QTypeInfo<uint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uint> (0xa69140) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0xa69200) 0 empty
-Class QTypeInfo<ulong>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ulong> (0xa692c0) 0 empty
-Class QTypeInfo<qint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<qint64> (0xa69380) 0 empty
-Class QTypeInfo<quint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<quint64> (0xa69440) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0xa69500) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0xa695c0) 0 empty
Class QFlag
size=4 align=4
@@ -135,10 +53,6 @@ Class QChar
base size=2 base align=2
QChar (0xa698c0) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0xa699c0) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -151,10 +65,6 @@ Class QAtomic
QAtomic (0xa69fc0) 0
QBasicAtomic (0x1743000) 0
-Class <anonymous union>
- size=128 align=8
- base size=128 base align=8
-<anonymous union> (0x1743280) 0
Class __darwin_pthread_handler_rec
size=12 align=4
@@ -236,75 +146,19 @@ Class QByteRef
base size=8 base align=4
QByteRef (0x1743fc0) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0x17d2380) 0 empty
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0x17d2800) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0x17d2880) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0x17d2900) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0x17d2980) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0x17d2a00) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0x17d2a80) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0x17d2b00) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0x17d2b80) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0x17d2c00) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0x17d2c80) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0x17d2d00) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0x17d2d80) 0
-Class QFlags<Qt::TextInteractionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::TextInteractionFlag> (0x17d2e00) 0
Class QInternal
size=1 align=1
@@ -331,10 +185,6 @@ Class QLatin1String
base size=4 base align=4
QLatin1String (0x1966600) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0x1966a40) 0
Class QCharRef
size=8 align=4
@@ -347,10 +197,6 @@ Class QConstString
QConstString (0x1ad0640) 0
QString (0x1ad0680) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0x1ad0780) 0 empty
Vtable for std::exception
std::exception::_ZTVSt9exception: 5u entries
@@ -413,10 +259,6 @@ Class QListData
base size=4 base align=4
QListData (0x1ad0a80) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0x1b47580) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -441,15 +283,7 @@ Class QTextCodec
QTextCodec (0x1b47400) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0x1b478c0) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0x1b47800) 0
Class QTextEncoder
size=32 align=4
@@ -472,25 +306,13 @@ Class QGenericReturnArgument
QGenericReturnArgument (0x1b47b00) 0
QGenericArgument (0x1b47b40) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0x1b47e00) 0
Class QMetaObject
size=16 align=4
base size=16 base align=4
QMetaObject (0x1b47d80) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0x1b47680) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0x1b47fc0) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -582,10 +404,6 @@ QIODevice (0x1c7f600) 0
QObject (0x1c7f640) 0
primary-for QIODevice (0x1c7f600)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0x1c7f880) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -605,25 +423,13 @@ Class QRegExp
base size=4 base align=4
QRegExp (0x1c7ff80) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0x1d540c0) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0x1d54140) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0x1d54340) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0x1d54280) 0
Class QStringList
size=4 align=4
@@ -631,15 +437,7 @@ Class QStringList
QStringList (0x1d54400) 0
QList<QString> (0x1d54440) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0x1d54900) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0x1d54980) 0
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -773,50 +571,22 @@ QFile (0x1dcbc00) 0
QObject (0x1dcbc80) 0
primary-for QIODevice (0x1dcbc40)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0x1dcbe40) 0
Class QFileInfo
size=4 align=4
base size=4 base align=4
QFileInfo (0x1dcbe80) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0x1dcbf40) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0x1dcbfc0) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0x1e80080) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0x1dcbd80) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0x1e80140) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0x1e80280) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0x1e80300) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -873,10 +643,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0x1e80340) 0
vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0x1e80600) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -950,10 +716,6 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0x1e80b00) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0x1e80b80) 0 empty
Class QMapData::Node
size=8 align=4
@@ -978,10 +740,6 @@ Class QTextStream
QTextStream (0x1f3ab40) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0x1f3ae00) 0
Class QTextStreamManipulator
size=24 align=4
@@ -1088,40 +846,16 @@ Class rlimit
base size=16 base align=8
rlimit (0x20dcac0) 0
-Class OSReadSwapInt64(const volatile void*, uintptr_t)::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-OSReadSwapInt64(const volatile void*, uintptr_t)::<anonymous union> (0x20dccc0) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0x2112380) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0x2112400) 0
Class wait
size=4 align=4
base size=4 base align=4
wait (0x2112300) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x2112480) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x2112500) 0
-Class <anonymous struct>
- size=16 align=8
- base size=16 base align=8
-<anonymous struct> (0x2112580) 0
Class QVectorData
size=16 align=4
@@ -1259,15 +993,7 @@ Class QLocale
base size=4 base align=4
QLocale (0x2276480) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0x2276540) 0 empty
-Class QFlags<QLocale::NumberOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLocale::NumberOption> (0x2276600) 0
Vtable for QSystemLocale
QSystemLocale::_ZTV13QSystemLocale: 6u entries
@@ -1294,270 +1020,58 @@ Class QMetaType
base size=0 base align=1
QMetaType (0x2276800) 0 empty
-Class QMetaTypeId2<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QString> (0x2276a00) 0 empty
-Class QMetaTypeId2<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<int> (0x2276ac0) 0 empty
-Class QMetaTypeId2<uint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<uint> (0x2276b80) 0 empty
-Class QMetaTypeId2<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<bool> (0x2276c40) 0 empty
-Class QMetaTypeId2<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<double> (0x2276d00) 0 empty
-Class QMetaTypeId2<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QByteArray> (0x2276dc0) 0 empty
-Class QMetaTypeId2<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QChar> (0x2276e80) 0 empty
-Class QMetaTypeId2<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long int> (0x2276f40) 0 empty
-Class QMetaTypeId2<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short int> (0x2276080) 0 empty
-Class QMetaTypeId2<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<char> (0x2276740) 0 empty
-Class QMetaTypeId2<ulong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<ulong> (0x2321080) 0 empty
-Class QMetaTypeId2<ushort>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<ushort> (0x2321140) 0 empty
-Class QMetaTypeId2<uchar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<uchar> (0x2321200) 0 empty
-Class QMetaTypeId2<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<float> (0x23212c0) 0 empty
-Class QMetaTypeId2<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QObject*> (0x2321380) 0 empty
-Class QMetaTypeId2<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QWidget*> (0x2321440) 0 empty
-Class QMetaTypeId2<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<void*> (0x2321500) 0 empty
-Class QMetaTypeId2<qlonglong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<qlonglong> (0x23215c0) 0 empty
-Class QMetaTypeId2<qulonglong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<qulonglong> (0x2321680) 0 empty
-Class QMetaTypeId2<QStringList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QStringList> (0x2321740) 0 empty
-Class QMetaTypeId2<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitArray> (0x2321800) 0 empty
-Class QMetaTypeId2<QDate>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDate> (0x23218c0) 0 empty
-Class QMetaTypeId2<QTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTime> (0x2321980) 0 empty
-Class QMetaTypeId2<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDateTime> (0x2321a40) 0 empty
-Class QMetaTypeId2<QUrl>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QUrl> (0x2321b00) 0 empty
-Class QMetaTypeId2<QLocale>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLocale> (0x2321bc0) 0 empty
-Class QMetaTypeId2<QRect>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRect> (0x2321c80) 0 empty
-Class QMetaTypeId2<QRectF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRectF> (0x2321d40) 0 empty
-Class QMetaTypeId2<QSize>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSize> (0x2321e00) 0 empty
-Class QMetaTypeId2<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizeF> (0x2321ec0) 0 empty
-Class QMetaTypeId2<QLine>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLine> (0x2321f80) 0 empty
-Class QMetaTypeId2<QLineF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLineF> (0x233c040) 0 empty
-Class QMetaTypeId2<QPoint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPoint> (0x233c100) 0 empty
-Class QMetaTypeId2<QPointF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPointF> (0x233c1c0) 0 empty
-Class QMetaTypeId2<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegExp> (0x233c280) 0 empty
-Class QMetaTypeId2<QColorGroup>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColorGroup> (0x233c340) 0 empty
-Class QMetaTypeId2<QFont>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QFont> (0x233c400) 0 empty
-Class QMetaTypeId2<QPixmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPixmap> (0x233c4c0) 0 empty
-Class QMetaTypeId2<QBrush>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBrush> (0x233c580) 0 empty
-Class QMetaTypeId2<QColor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColor> (0x233c640) 0 empty
-Class QMetaTypeId2<QPalette>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPalette> (0x233c700) 0 empty
-Class QMetaTypeId2<QIcon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QIcon> (0x233c7c0) 0 empty
-Class QMetaTypeId2<QImage>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QImage> (0x233c880) 0 empty
-Class QMetaTypeId2<QPolygon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPolygon> (0x233c940) 0 empty
-Class QMetaTypeId2<QRegion>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegion> (0x233ca00) 0 empty
-Class QMetaTypeId2<QBitmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitmap> (0x233cac0) 0 empty
-Class QMetaTypeId2<QCursor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QCursor> (0x233cb80) 0 empty
-Class QMetaTypeId2<QSizePolicy>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizePolicy> (0x233cc40) 0 empty
-Class QMetaTypeId2<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QKeySequence> (0x233cd00) 0 empty
-Class QMetaTypeId2<QPen>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPen> (0x233cdc0) 0 empty
-Class QMetaTypeId2<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextLength> (0x233ce80) 0 empty
-Class QMetaTypeId2<QTextFormat>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextFormat> (0x233cf40) 0 empty
-Class QMetaTypeId2<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMatrix> (0x2356000) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -1584,60 +1098,20 @@ Class QVariant
base size=16 base align=4
QVariant (0x2356080) 0
-Class QMetaTypeId2<QVariantList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QVariantList> (0x23565c0) 0 empty
-Class QMetaTypeId2<QVariantMap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QVariantMap> (0x2356680) 0 empty
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0x2356880) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0x23567c0) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0x2356a80) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0x23569c0) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0x2356c00) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0x2356d40) 0 empty
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0x2356e00) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x2356e80) 0
-Class <anonymous struct>
- size=3156 align=4
- base size=3156 base align=4
-<anonymous struct> (0x2356f00) 0
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1715,15 +1189,7 @@ Class QUrl
base size=4 base align=4
QUrl (0x240e600) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0x240e7c0) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0x240e840) 0 empty
Vtable for QEventLoop
QEventLoop::_ZTV10QEventLoop: 14u entries
@@ -1750,10 +1216,6 @@ QEventLoop (0x240e8c0) 0
QObject (0x240e900) 0
primary-for QEventLoop (0x240e8c0)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0x240eb00) 0
Vtable for QAbstractEventDispatcher
QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 27u entries
@@ -1798,20 +1260,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0x240ed40) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0x240ef00) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0x240ef80) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0x240e580) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -1981,10 +1435,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0x2500680) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0x2500780) 0 empty
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -2091,20 +1541,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0x25aa200) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0x25aa2c0) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0x25aa340) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0x25aa400) 0 empty
Class QMetaProperty
size=20 align=4
@@ -2116,10 +1558,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0x25aa4c0) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0x25aa580) 0 empty
Vtable for QMimeData
QMimeData::_ZTV9QMimeData: 17u entries
@@ -2301,10 +1739,6 @@ QLibrary (0x25aaf80) 0
QObject (0x25aafc0) 0
primary-for QLibrary (0x25aaf80)
-Class QFlags<QLibrary::LoadHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLibrary::LoadHint> (0x25aaf00) 0
Vtable for QPluginLoader
QPluginLoader::_ZTV13QPluginLoader: 14u entries
@@ -2341,10 +1775,6 @@ Class QMutex
base size=4 base align=4
QMutex (0x264f300) 0
-Class QMutexLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMutexLocker::<anonymous union> (0x264f4c0) 0
Class QMutexLocker
size=4 align=4
@@ -2356,20 +1786,12 @@ Class QReadWriteLock
base size=4 base align=4
QReadWriteLock (0x264f580) 0
-Class QReadLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QReadLocker::<anonymous union> (0x264f640) 0
Class QReadLocker
size=4 align=4
base size=4 base align=4
QReadLocker (0x264f5c0) 0
-Class QWriteLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QWriteLocker::<anonymous union> (0x264f780) 0
Class QWriteLocker
size=4 align=4
@@ -2427,10 +1849,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0x26fc100) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0x26fc200) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -2442,70 +1860,42 @@ Class QDate
base size=4 base align=4
QDate (0x26fc480) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0x26fc680) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0x26fc700) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0x26fc900) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0x26fc980) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0x26fcb00) 0 empty
Class QPoint
size=8 align=4
base size=8 base align=4
QPoint (0x26fcb80) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0x26fc4c0) 0 empty
Class QPointF
size=16 align=8
base size=16 base align=4
QPointF (0x26fce40) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0x27a5340) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0x27a5640) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0x27a56c0) 0 empty
Class QLineF
size=32 align=8
base size=32 base align=4
QLineF (0x27a5840) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0x27a5900) 0 empty
Class QLinkedListData
size=20 align=4
@@ -2517,40 +1907,24 @@ Class QSize
base size=8 base align=4
QSize (0x27a5f40) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0x27a5f80) 0 empty
Class QSizeF
size=16 align=8
base size=16 base align=4
QSizeF (0x289c380) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0x289c780) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0x289cc00) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0x289cdc0) 0 empty
Class QRectF
size=32 align=8
base size=32 base align=4
QRectF (0x289c440) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0x289c6c0) 0 empty
Class QSharedData
size=4 align=4
@@ -2598,10 +1972,6 @@ Class QKeySequence
base size=4 base align=4
QKeySequence (0x2988980) 0
-Class QTypeInfo<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QKeySequence> (0x2988b40) 0 empty
Vtable for QMimeSource
QMimeSource::_ZTV11QMimeSource: 7u entries
@@ -2640,15 +2010,7 @@ Class QMacMime
QMacMime (0x2988d40) 0
vptr=((& QMacMime::_ZTV8QMacMime) + 8u)
-Class QList<QMacMime*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QMacMime*>::<anonymous union> (0x2988840) 0
-Class QList<QMacMime*>
- size=4 align=4
- base size=4 base align=4
-QList<QMacMime*> (0x2988fc0) 0
Vtable for QMacPasteboardMime
QMacPasteboardMime::_ZTV18QMacPasteboardMime: 10u entries
@@ -2949,15 +2311,7 @@ Class QInputMethodEvent::Attribute
base size=28 base align=4
QInputMethodEvent::Attribute (0x2af9ac0) 0
-Class QList<QInputMethodEvent::Attribute>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute>::<anonymous union> (0x2af9c80) 0
-Class QList<QInputMethodEvent::Attribute>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute> (0x2af9bc0) 0
Vtable for QInputMethodEvent
QInputMethodEvent::_ZTV17QInputMethodEvent: 4u entries
@@ -3246,15 +2600,7 @@ Class QAccessible
base size=0 base align=1
QAccessible (0x2b7e340) 0 empty
-Class QFlags<QAccessible::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::StateFlag> (0x2b7e480) 0
-Class QFlags<QAccessible::RelationFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::RelationFlag> (0x2b7e500) 0
Vtable for QAccessibleInterface
QAccessibleInterface::_ZTV20QAccessibleInterface: 19u entries
@@ -3643,40 +2989,16 @@ Class QPaintDevice
QPaintDevice (0x2be9dc0) 0
vptr=((& QPaintDevice::_ZTV12QPaintDevice) + 8u)
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x2be9880) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x2be9d40) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x2c51000) 0
-Class QColor::<anonymous union>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union> (0x2be94c0) 0
Class QColor
size=16 align=4
base size=14 base align=4
QColor (0x2be90c0) 0
-Class QVector<QPoint>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint>::<anonymous union> (0x2c51440) 0
-Class QVector<QPoint>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint> (0x2c51340) 0
Class QPolygon
size=4 align=4
@@ -3684,15 +3006,7 @@ Class QPolygon
QPolygon (0x2c514c0) 0
QVector<QPoint> (0x2c51500) 0
-Class QVector<QPointF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF>::<anonymous union> (0x2c51940) 0
-Class QVector<QPointF>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF> (0x2c51840) 0
Class QPolygonF
size=4 align=4
@@ -3705,10 +3019,6 @@ Class QMatrix
base size=48 base align=4
QMatrix (0x2c51d00) 0
-Class QTypeInfo<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMatrix> (0x2c51d80) 0 empty
Class QImageTextKeyLang
size=8 align=4
@@ -3733,10 +3043,6 @@ QImage (0x2c51f80) 0
QPaintDevice (0x2c51fc0) 0
primary-for QImage (0x2c51f80)
-Class QTypeInfo<QImage>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QImage> (0x2d1d2c0) 0 empty
Vtable for QPixmap
QPixmap::_ZTV7QPixmap: 7u entries
@@ -3761,45 +3067,17 @@ Class QBrush
base size=4 base align=4
QBrush (0x2d1d800) 0
-Class QTypeInfo<QBrush>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBrush> (0x2d1d8c0) 0 empty
Class QBrushData
size=72 align=4
base size=72 base align=4
QBrushData (0x2d1d940) 0
-Class QVector<QGradientStop>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QGradientStop>::<anonymous union> (0x2d1dbc0) 0
-Class QVector<QGradientStop>
- size=4 align=4
- base size=4 base align=4
-QVector<QGradientStop> (0x2d1dac0) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=32 align=8
- base size=32 base align=8
-QGradient::<anonymous union>::<anonymous struct> (0x2d1dd00) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=40 align=8
- base size=40 base align=8
-QGradient::<anonymous union>::<anonymous struct> (0x2d1dd80) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=24 align=8
- base size=24 base align=8
-QGradient::<anonymous union>::<anonymous struct> (0x2d1de00) 0
-Class QGradient::<anonymous union>
- size=40 align=8
- base size=40 base align=8
-QGradient::<anonymous union> (0x2d1dc80) 0
Class QGradient
size=56 align=4
@@ -4195,10 +3473,6 @@ QAbstractPrintDialog (0x2ef78c0) 0
QPaintDevice (0x2ef7980) 8
vptr=((& QAbstractPrintDialog::_ZTV20QAbstractPrintDialog) + 248u)
-Class QFlags<QAbstractPrintDialog::PrintDialogOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractPrintDialog::PrintDialogOption> (0x2ef7c00) 0
Vtable for QColorDialog
QColorDialog::_ZTV12QColorDialog: 66u entries
@@ -4449,10 +3723,6 @@ QFileDialog (0x2ff0000) 0
QPaintDevice (0x2ff00c0) 8
vptr=((& QFileDialog::_ZTV11QFileDialog) + 244u)
-Class QFlags<QFileDialog::Option>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileDialog::Option> (0x2ff0380) 0
Vtable for QFontDialog
QFontDialog::_ZTV11QFontDialog: 66u entries
@@ -4859,10 +4129,6 @@ QMessageBox (0x2ff0e80) 0
QPaintDevice (0x2ff0f40) 8
vptr=((& QMessageBox::_ZTV11QMessageBox) + 244u)
-Class QFlags<QMessageBox::StandardButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<QMessageBox::StandardButton> (0x2ff0d80) 0
Vtable for QPageSetupDialog
QPageSetupDialog::_ZTV16QPageSetupDialog: 67u entries
@@ -5217,25 +4483,13 @@ Class QPainterPath
base size=4 base align=4
QPainterPath (0x310ab00) 0
-Class QVector<QPainterPath::Element>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element>::<anonymous union> (0x310a480) 0
-Class QVector<QPainterPath::Element>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element> (0x310af40) 0
Class QPainterPathPrivate
size=8 align=4
base size=8 base align=4
QPainterPathPrivate (0x310ad40) 0
-Class QTypeInfo<QPainterPath::Element>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPainterPath::Element> (0x310ac00) 0 empty
Class QPainterPathStroker
size=4 align=4
@@ -5290,15 +4544,7 @@ Class QGraphicsItem
QGraphicsItem (0x318a300) 0
vptr=((& QGraphicsItem::_ZTV13QGraphicsItem) + 8u)
-Class QFlags<QGraphicsItem::GraphicsItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGraphicsItem::GraphicsItemFlag> (0x318a680) 0
-Class QMetaTypeId<QGraphicsItem*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QGraphicsItem*> (0x318a700) 0 empty
Vtable for QAbstractGraphicsShapeItem
QAbstractGraphicsShapeItem::_ZTV26QAbstractGraphicsShapeItem: 39u entries
@@ -5887,10 +5133,6 @@ Class QPen
base size=4 base align=4
QPen (0x3284140) 0
-Class QTypeInfo<QPen>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPen> (0x32842c0) 0 empty
Vtable for QGraphicsScene
QGraphicsScene::_ZTV14QGraphicsScene: 34u entries
@@ -6059,60 +5301,20 @@ Class QTextOption
base size=24 base align=4
QTextOption (0x3284640) 0
-Class QFlags<QTextOption::Flag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextOption::Flag> (0x3284d40) 0
Class QPainter
size=4 align=4
base size=4 base align=4
QPainter (0x331c000) 0
-Class QFlags<QPainter::RenderHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPainter::RenderHint> (0x331c580) 0
-Class QVector<QLineF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF>::<anonymous union> (0x331c740) 0
-Class QVector<QLineF>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF> (0x331c640) 0
-Class QVector<QLine>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine>::<anonymous union> (0x331c940) 0
-Class QVector<QLine>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine> (0x331c840) 0
-Class QVector<QRectF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF>::<anonymous union> (0x331cb40) 0
-Class QVector<QRectF>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF> (0x331ca40) 0
-Class QVector<QRect>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect>::<anonymous union> (0x331cd00) 0
-Class QVector<QRect>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect> (0x331cc00) 0
Vtable for QAbstractScrollArea
QAbstractScrollArea::_ZTV19QAbstractScrollArea: 65u entries
@@ -6367,20 +5569,8 @@ QGraphicsView (0x3457240) 0
QPaintDevice (0x3457340) 8
vptr=((& QGraphicsView::_ZTV13QGraphicsView) + 252u)
-Class QFlags<QGraphicsView::CacheModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGraphicsView::CacheModeFlag> (0x3457580) 0
-Class QList<QGraphicsItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QGraphicsItem*>::<anonymous union> (0x34576c0) 0
-Class QList<QGraphicsItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QGraphicsItem*> (0x3457600) 0
Vtable for QBitmap
QBitmap::_ZTV7QBitmap: 7u entries
@@ -6407,10 +5597,6 @@ Class QIcon
base size=4 base align=4
QIcon (0x3457c40) 0
-Class QTypeInfo<QIcon>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QIcon> (0x3457d80) 0 empty
Vtable for QIconEngine
QIconEngine::_ZTV11QIconEngine: 9u entries
@@ -6566,10 +5752,6 @@ QImageIOPlugin (0x3544b80) 0
QFactoryInterface (0x352a640) 8 nearly-empty
primary-for QImageIOHandlerFactoryInterface (0x352a600)
-Class QFlags<QImageIOPlugin::Capability>
- size=4 align=4
- base size=4 base align=4
-QFlags<QImageIOPlugin::Capability> (0x352a880) 0
Class QImageReader
size=4 align=4
@@ -6745,15 +5927,7 @@ QActionGroup (0x35bb280) 0
QObject (0x35bb2c0) 0
primary-for QActionGroup (0x35bb280)
-Class QList<QAction*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QAction*>::<anonymous union> (0x35bb540) 0
-Class QList<QAction*>
- size=4 align=4
- base size=4 base align=4
-QList<QAction*> (0x35bb480) 0
Vtable for QInputContext
QInputContext::_ZTV13QInputContext: 25u entries
@@ -7058,10 +6232,6 @@ QAbstractSpinBox (0x36930c0) 0
QPaintDevice (0x3693140) 8
vptr=((& QAbstractSpinBox::_ZTV16QAbstractSpinBox) + 252u)
-Class QFlags<QAbstractSpinBox::StepEnabledFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractSpinBox::StepEnabledFlag> (0x36933c0) 0
Vtable for QAbstractSlider
QAbstractSlider::_ZTV15QAbstractSlider: 64u entries
@@ -7269,15 +6439,7 @@ QStyle (0x3693940) 0
QObject (0x3693980) 0
primary-for QStyle (0x3693940)
-Class QFlags<QStyle::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::StateFlag> (0x3693bc0) 0
-Class QFlags<QStyle::SubControl>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::SubControl> (0x3693c40) 0
Vtable for QTabBar
QTabBar::_ZTV7QTabBar: 67u entries
@@ -7536,10 +6698,6 @@ Class QStyleOptionFrame
QStyleOptionFrame (0x37bd340) 0
QStyleOption (0x37bd380) 0
-Class QFlags<QStyleOptionFrameV2::FrameFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionFrameV2::FrameFeature> (0x37bd640) 0
Class QStyleOptionFrameV2
size=56 align=4
@@ -7566,10 +6724,6 @@ Class QStyleOptionHeader
QStyleOptionHeader (0x37bdbc0) 0
QStyleOption (0x37bdc00) 0
-Class QFlags<QStyleOptionButton::ButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionButton::ButtonFeature> (0x37bdec0) 0
Class QStyleOptionButton
size=64 align=4
@@ -7577,10 +6731,6 @@ Class QStyleOptionButton
QStyleOptionButton (0x37bdd80) 0
QStyleOption (0x37bddc0) 0
-Class QFlags<QStyleOptionTab::CornerWidget>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionTab::CornerWidget> (0x37bdac0) 0
Class QStyleOptionTab
size=72 align=4
@@ -7595,10 +6745,6 @@ QStyleOptionTabV2 (0x385a000) 0
QStyleOptionTab (0x385a040) 0
QStyleOption (0x385a080) 0
-Class QFlags<QStyleOptionToolBar::ToolBarFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionToolBar::ToolBarFeature> (0x385a400) 0
Class QStyleOptionToolBar
size=68 align=4
@@ -7625,10 +6771,6 @@ Class QStyleOptionMenuItem
QStyleOptionMenuItem (0x385a7c0) 0
QStyleOption (0x385a800) 0
-Class QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature> (0x385aa80) 0
Class QStyleOptionQ3ListViewItem
size=64 align=4
@@ -7654,10 +6796,6 @@ Class QStyleOptionViewItem
QStyleOptionViewItem (0x385aec0) 0
QStyleOption (0x385af00) 0
-Class QFlags<QStyleOptionViewItemV2::ViewItemFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionViewItemV2::ViewItemFeature> (0x385ac40) 0
Class QStyleOptionViewItemV2
size=84 align=4
@@ -7698,15 +6836,7 @@ QStyleOptionSpinBox (0x38dd8c0) 0
QStyleOptionComplex (0x38dd900) 0
QStyleOption (0x38dd940) 0
-Class QList<QStyleOptionQ3ListViewItem>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::<anonymous union> (0x38ddcc0) 0
-Class QList<QStyleOptionQ3ListViewItem>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem> (0x38ddc00) 0
Class QStyleOptionQ3ListView
size=84 align=4
@@ -7715,10 +6845,6 @@ QStyleOptionQ3ListView (0x38dda80) 0
QStyleOptionComplex (0x38ddac0) 0
QStyleOption (0x38ddb00) 0
-Class QFlags<QStyleOptionToolButton::ToolButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionToolButton::ToolButtonFeature> (0x38dd380) 0
Class QStyleOptionToolButton
size=96 align=4
@@ -7809,10 +6935,6 @@ Class QItemSelectionRange
base size=8 base align=4
QItemSelectionRange (0x3961a40) 0
-Class QTypeInfo<QItemSelectionRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QItemSelectionRange> (0x3961e80) 0 empty
Vtable for QItemSelectionModel
QItemSelectionModel::_ZTV19QItemSelectionModel: 18u entries
@@ -7843,20 +6965,8 @@ QItemSelectionModel (0x3961f40) 0
QObject (0x3961f80) 0
primary-for QItemSelectionModel (0x3961f40)
-Class QFlags<QItemSelectionModel::SelectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QItemSelectionModel::SelectionFlag> (0x3961700) 0
-Class QList<QItemSelectionRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::<anonymous union> (0x3a07100) 0
-Class QList<QItemSelectionRange>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange> (0x3a07040) 0
Class QItemSelection
size=4 align=4
@@ -7986,10 +7096,6 @@ QAbstractItemView (0x3a072c0) 0
QPaintDevice (0x3a073c0) 8
vptr=((& QAbstractItemView::_ZTV17QAbstractItemView) + 392u)
-Class QFlags<QAbstractItemView::EditTrigger>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractItemView::EditTrigger> (0x3a07640) 0
Vtable for QAbstractProxyModel
QAbstractProxyModel::_ZTV19QAbstractProxyModel: 47u entries
@@ -8327,15 +7433,7 @@ Class QItemEditorCreatorBase
QItemEditorCreatorBase (0x3aee0c0) 0 nearly-empty
vptr=((& QItemEditorCreatorBase::_ZTV22QItemEditorCreatorBase) + 8u)
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union> (0x3aee640) 0
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*> (0x3aee500) 0
Vtable for QItemEditorFactory
QItemEditorFactory::_ZTV18QItemEditorFactory: 6u entries
@@ -8476,15 +7574,7 @@ QListView (0x3aee880) 0
QPaintDevice (0x3aee9c0) 8
vptr=((& QListView::_ZTV9QListView) + 392u)
-Class QVector<QWidgetItemData>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData>::<anonymous union> (0x3aeedc0) 0
-Class QVector<QWidgetItemData>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData> (0x3aeecc0) 0
Vtable for QListWidgetItem
QListWidgetItem::_ZTV15QListWidgetItem: 11u entries
@@ -8777,15 +7867,7 @@ Class QStandardItem
QStandardItem (0x3b7f840) 0
vptr=((& QStandardItem::_ZTV13QStandardItem) + 8u)
-Class QList<QStandardItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QStandardItem*>::<anonymous union> (0x3b7fc80) 0
-Class QList<QStandardItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QStandardItem*> (0x3b7fbc0) 0
Vtable for QStandardItemModel
QStandardItemModel::_ZTV18QStandardItemModel: 42u entries
@@ -9303,35 +8385,15 @@ QTreeView (0x3c9c900) 0
QPaintDevice (0x3c9ca40) 8
vptr=((& QTreeView::_ZTV9QTreeView) + 400u)
-Class QFlags<QTreeWidgetItemIterator::IteratorFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTreeWidgetItemIterator::IteratorFlag> (0x3c9cd00) 0
Class QTreeWidgetItemIterator
size=12 align=4
base size=12 base align=4
QTreeWidgetItemIterator (0x3c9cc00) 0
-Class QVector<QVector<QWidgetItemData> >::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> >::<anonymous union> (0x3d86000) 0
-Class QVector<QVector<QWidgetItemData> >
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> > (0x3c9c3c0) 0
-Class QList<QTreeWidgetItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::<anonymous union> (0x3d861c0) 0
-Class QList<QTreeWidgetItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*> (0x3d86100) 0
Vtable for QTreeWidgetItem
QTreeWidgetItem::_ZTV15QTreeWidgetItem: 10u entries
@@ -10212,15 +9274,7 @@ Class QTextItem
base size=0 base align=1
QTextItem (0x3ee8b80) 0 empty
-Class QTypeInfo<QTextItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextItem> (0x3f8d040) 0 empty
-Class QFlags<QPaintEngine::PaintEngineFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::PaintEngineFeature> (0x3f8d200) 0
Vtable for QPaintEngine
QPaintEngine::_ZTV12QPaintEngine: 24u entries
@@ -10255,20 +9309,12 @@ Class QPaintEngine
QPaintEngine (0x3f8d0c0) 0
vptr=((& QPaintEngine::_ZTV12QPaintEngine) + 8u)
-Class QFlags<QPaintEngine::DirtyFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::DirtyFlag> (0x3f8d4c0) 0
Class QPaintEngineState
size=4 align=4
base size=4 base align=4
QPaintEngineState (0x3f8d400) 0
-Class QFlags<QTextItem::RenderFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextItem::RenderFlag> (0x3f8d540) 0
Vtable for QPrinter
QPrinter::_ZTV8QPrinter: 7u entries
@@ -10361,10 +9407,6 @@ QCommonStyle (0x3f8dc00) 0
QObject (0x3f8dc80) 0
primary-for QStyle (0x3f8dc40)
-Class QPointer<QFocusFrame>
- size=4 align=4
- base size=4 base align=4
-QPointer<QFocusFrame> (0x3f8df80) 0
Vtable for QMotifStyle
QMotifStyle::_ZTV11QMotifStyle: 35u entries
@@ -10738,30 +9780,14 @@ Class QTextLength
base size=12 base align=4
QTextLength (0x4066e80) 0
-Class QSharedDataPointer<QTextFormatPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextFormatPrivate> (0x4066f40) 0
Class QTextFormat
size=8 align=4
base size=8 base align=4
QTextFormat (0x4066740) 0
-Class QVector<QTextLength>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength>::<anonymous union> (0x40fc380) 0
-Class QVector<QTextLength>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength> (0x40fc280) 0
-Class QFlags<QTextFormat::PageBreakFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextFormat::PageBreakFlag> (0x40fc480) 0
Class QTextCharFormat
size=8 align=4
@@ -10816,15 +9842,7 @@ Class QTextLayout
base size=4 base align=4
QTextLayout (0x40fc9c0) 0
-Class QVector<QTextLayout::FormatRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange>::<anonymous union> (0x40fccc0) 0
-Class QVector<QTextLayout::FormatRange>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange> (0x40fcbc0) 0
Class QTextLine
size=8 align=4
@@ -10874,15 +9892,7 @@ QTextDocument (0x40fcfc0) 0
QObject (0x40fc080) 0
primary-for QTextDocument (0x40fcfc0)
-Class QFlags<QTextDocument::FindFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextDocument::FindFlag> (0x4211100) 0
-Class QSharedDataPointer<QTextCursorPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextCursorPrivate> (0x4211240) 0
Class QTextCursor
size=4 align=4
@@ -10894,15 +9904,7 @@ Class QAbstractTextDocumentLayout::Selection
base size=12 base align=4
QAbstractTextDocumentLayout::Selection (0x4211380) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union> (0x42115c0) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection> (0x42114c0) 0
Class QAbstractTextDocumentLayout::PaintContext
size=48 align=4
@@ -11064,10 +10066,6 @@ QTextFrame (0x4211f40) 0
QObject (0x4211fc0) 0
primary-for QTextObject (0x4211f80)
-Class QTypeInfo<QTextFrame::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFrame::iterator> (0x42c0300) 0 empty
Vtable for QTextBlockUserData
QTextBlockUserData::_ZTV18QTextBlockUserData: 4u entries
@@ -11092,25 +10090,13 @@ Class QTextBlock
base size=8 base align=4
QTextBlock (0x42c0540) 0
-Class QTypeInfo<QTextBlock>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock> (0x42c0940) 0 empty
-Class QTypeInfo<QTextBlock::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock::iterator> (0x42c0a00) 0 empty
Class QTextFragment
size=12 align=4
base size=12 base align=4
QTextFragment (0x42c0ac0) 0
-Class QTypeInfo<QTextFragment>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFragment> (0x42c0cc0) 0 empty
Vtable for QSyntaxHighlighter
QSyntaxHighlighter::_ZTV18QSyntaxHighlighter: 15u entries
@@ -12072,10 +11058,6 @@ QDateEdit (0x44a5400) 0
QPaintDevice (0x44a5500) 8
vptr=((& QDateEdit::_ZTV9QDateEdit) + 260u)
-Class QFlags<QDateTimeEdit::Section>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDateTimeEdit::Section> (0x44a5700) 0
Vtable for QDial
QDial::_ZTV5QDial: 64u entries
@@ -12236,10 +11218,6 @@ QDialogButtonBox (0x44a59c0) 0
QPaintDevice (0x44a5a40) 8
vptr=((& QDialogButtonBox::_ZTV16QDialogButtonBox) + 232u)
-Class QFlags<QDialogButtonBox::StandardButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDialogButtonBox::StandardButton> (0x44a5c80) 0
Vtable for QDockWidget
QDockWidget::_ZTV11QDockWidget: 63u entries
@@ -12319,10 +11297,6 @@ QDockWidget (0x44a5cc0) 0
QPaintDevice (0x44a5d40) 8
vptr=((& QDockWidget::_ZTV11QDockWidget) + 232u)
-Class QFlags<QDockWidget::DockWidgetFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDockWidget::DockWidgetFeature> (0x44a5040) 0
Vtable for QFocusFrame
QFocusFrame::_ZTV11QFocusFrame: 63u entries
@@ -12484,10 +11458,6 @@ QFontComboBox (0x455d100) 0
QPaintDevice (0x455d1c0) 8
vptr=((& QFontComboBox::_ZTV13QFontComboBox) + 240u)
-Class QFlags<QFontComboBox::FontFilter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFontComboBox::FontFilter> (0x455d400) 0
Vtable for QGroupBox
QGroupBox::_ZTV9QGroupBox: 63u entries
@@ -14056,10 +13026,6 @@ QTextEdit (0x473fb80) 0
QPaintDevice (0x47e9080) 8
vptr=((& QTextEdit::_ZTV9QTextEdit) + 256u)
-Class QFlags<QTextEdit::AutoFormattingFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextEdit::AutoFormattingFlag> (0x47e93c0) 0
Vtable for QTextBrowser
QTextBrowser::_ZTV12QTextBrowser: 74u entries
@@ -14477,188 +13443,40 @@ QWorkspace (0x47e9f80) 0
QPaintDevice (0x47e9240) 8
vptr=((& QWorkspace::_ZTV10QWorkspace) + 232u)
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0x494c7c0) 0
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0x496e640) 0
-Class QTypeInfo<QDebug::Stream*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDebug::Stream*> (0x49ca6c0) 0 empty
-Class QVectorTypedData<QPoint>
- size=24 align=4
- base size=24 base align=4
-QVectorTypedData<QPoint> (0x4a08b40) 0
-Class QVectorTypedData<QPointF>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QPointF> (0x4a36240) 0
-Class QVectorTypedData<QPainterPath::Element>
- size=40 align=4
- base size=40 base align=4
-QVectorTypedData<QPainterPath::Element> (0x4a5e940) 0
-Class QVectorTypedData<QLineF>
- size=48 align=4
- base size=48 base align=4
-QVectorTypedData<QLineF> (0x4a7de80) 0
-Class QVectorTypedData<QLine>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QLine> (0x4a9a000) 0
-Class QVectorTypedData<QRectF>
- size=48 align=4
- base size=48 base align=4
-QVectorTypedData<QRectF> (0x4a9a1c0) 0
-Class QVectorTypedData<QRect>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QRect> (0x4a9a380) 0
-Class QList<QTreeWidgetItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::Node (0x4b73900) 0
-Class QVectorTypedData<QVector<QWidgetItemData> >
- size=20 align=4
- base size=20 base align=4
-QVectorTypedData<QVector<QWidgetItemData> > (0x4b73b40) 0
-Class QVectorTypedData<QTextLength>
- size=28 align=4
- base size=28 base align=4
-QVectorTypedData<QTextLength> (0x4bb5180) 0
-Class QVectorTypedData<QTextLayout::FormatRange>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QTextLayout::FormatRange> (0x4bb5480) 0
-Class QVectorTypedData<QAbstractTextDocumentLayout::Selection>
- size=28 align=4
- base size=28 base align=4
-QVectorTypedData<QAbstractTextDocumentLayout::Selection> (0x4bb5b00) 0
-Class QList<QAction*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QAction*>::Node (0x4bdae40) 0
-Class QHashNode<QVariant::Type, QItemEditorCreatorBase*>
- size=16 align=4
- base size=16 base align=4
-QHashNode<QVariant::Type, QItemEditorCreatorBase*> (0x4c86980) 0
-Class QTypeInfo<QStandardItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QStandardItem*> (0x4caf2c0) 0 empty
-Class QTypeInfo<QTreeWidgetItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTreeWidgetItem*> (0x4caf540) 0 empty
-Class QTypeInfo<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLength> (0x4cafac0) 0 empty
-Class QTypeInfo<QTextLayout::FormatRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLayout::FormatRange> (0x4cafe40) 0 empty
-Class QTypeInfo<QAbstractTextDocumentLayout::Selection>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAbstractTextDocumentLayout::Selection> (0x4ccf2c0) 0 empty
-Class QTypeInfo<QAction*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAction*> (0x4ccf9c0) 0 empty
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0x4ccfe00) 0
-Class QTypeInfo<QMacMime*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMacMime*> (0x4cf1080) 0 empty
-Class QList<QMacMime*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QMacMime*>::Node (0x4cf1140) 0
-Class QList<QVariant>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::Node (0x4cf13c0) 0
-Class QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union> (0x4cf1540) 0
-Class QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union> (0x4cf1c40) 0
-Class QTypeInfo<QGraphicsItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QGraphicsItem*> (0x4d34280) 0 empty
-Class QList<QGraphicsItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QGraphicsItem*>::Node (0x4d34340) 0
-Class QTypeInfo<QStyleOptionQ3ListViewItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QStyleOptionQ3ListViewItem> (0x4d347c0) 0 empty
-Class QList<QStyleOptionQ3ListViewItem>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::Node (0x4d34880) 0
-Class QList<QItemSelectionRange>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::Node (0x4d34c40) 0
-Class QList<QStandardItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QStandardItem*>::Node (0x4d34f80) 0
-Class QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union> (0x4d582c0) 0
-Class QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union> (0x4d58d80) 0
diff --git a/tests/auto/bic/data/QtGui.4.2.0.win32-gcc-ia32.txt b/tests/auto/bic/data/QtGui.4.2.0.win32-gcc-ia32.txt
index c443616..d8c3bc2 100644
--- a/tests/auto/bic/data/QtGui.4.2.0.win32-gcc-ia32.txt
+++ b/tests/auto/bic/data/QtGui.4.2.0.win32-gcc-ia32.txt
@@ -1,34 +1,8 @@
-Class QUintForSize<4>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<4> (0xa9db00) 0 empty
-Class QUintForSize<8>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<8> (0xa9dc00) 0 empty
-Class QUintForType<void*>
- size=1 align=1
- base size=1 base align=1
-QUintForType<void*> (0xa9df00) 0 empty
- QUintForSize<4> (0xac2000) 0 empty
-Class QIntForSize<4>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<4> (0xac2180) 0 empty
-Class QIntForSize<8>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<8> (0xac2240) 0 empty
-Class QIntForType<void*>
- size=1 align=1
- base size=1 base align=1
-QIntForType<void*> (0xac24c0) 0 empty
- QIntForSize<4> (0xac2580) 0 empty
Class QSysInfo
size=1 align=1
@@ -50,80 +24,20 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0xaf4380) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0xaf4b80) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0xaf4d00) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0xaf4e80) 0 empty
-Class QTypeInfo<uchar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uchar> (0xb0a000) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0xb0a180) 0 empty
-Class QTypeInfo<ushort>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ushort> (0xb0a300) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0xb0a480) 0 empty
-Class QTypeInfo<uint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uint> (0xb0a600) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0xb0a780) 0 empty
-Class QTypeInfo<ulong>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ulong> (0xb0a900) 0 empty
-Class QTypeInfo<qint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<qint64> (0xb0aa80) 0 empty
-Class QTypeInfo<quint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<quint64> (0xb0ac00) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0xb0ad80) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0xb0af00) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0xb37080) 0 empty
Class QFlag
size=4 align=4
@@ -140,10 +54,6 @@ Class QChar
base size=2 base align=2
QChar (0xb60f00) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0xb97380) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -171,75 +81,19 @@ Class QByteRef
base size=8 base align=4
QByteRef (0xc4bb00) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0xd72780) 0 empty
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0xd84e00) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0xd950c0) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0xd84980) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0xd9be40) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0xd95780) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0xda68c0) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0xdda300) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0xdda600) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0xda1080) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0xde94c0) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0xde9d00) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0xdef080) 0
-Class QFlags<Qt::TextInteractionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::TextInteractionFlag> (0xdef480) 0
Class QInternal
size=1 align=1
@@ -266,10 +120,6 @@ Class QLatin1String
base size=4 base align=4
QLatin1String (0xee0240) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0xee0780) 0
Class QCharRef
size=8 align=4
@@ -282,10 +132,6 @@ Class QConstString
QConstString (0x11f2dc0) 0
QString (0x11f2e00) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0x1260140) 0 empty
Vtable for std::exception
std::exception::_ZTVSt9exception: 5u entries
@@ -348,10 +194,6 @@ Class QListData
base size=4 base align=4
QListData (0x12d71c0) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0x13dc180) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -376,15 +218,7 @@ Class QTextCodec
QTextCodec (0xee01c0) 0 nearly-empty
vptr=((&QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0x1400480) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0xc5d5c0) 0
Class QTextEncoder
size=32 align=4
@@ -407,25 +241,13 @@ Class QGenericReturnArgument
QGenericReturnArgument (0x144d300) 0
QGenericArgument (0x144d340) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0x1462ac0) 0
Class QMetaObject
size=16 align=4
base size=16 base align=4
QMetaObject (0x144d8c0) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0x1493340) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0x1479f40) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -517,10 +339,6 @@ QIODevice (0x13b5a40) 0
QObject (0x150ab40) 0
primary-for QIODevice (0x13b5a40)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0x150ae40) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -540,25 +358,13 @@ Class QRegExp
base size=4 base align=4
QRegExp (0xee00c0) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0x15d8c00) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0x15d8f80) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0x15f04c0) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0x15f0380) 0
Class QStringList
size=4 align=4
@@ -566,15 +372,7 @@ Class QStringList
QStringList (0xee0140) 0
QList<QString> (0x15f0740) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0x15f0600) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0x15f05c0) 0
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -703,50 +501,22 @@ QFile (0x170b080) 0
QObject (0x170b100) 0
primary-for QIODevice (0x170b0c0)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0x170b940) 0
Class QFileInfo
size=4 align=4
base size=4 base align=4
QFileInfo (0x1763140) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0x1763a80) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0x177cac0) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0x177cf80) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0x177ce80) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0x1721fc0) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0x17b7c80) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0x17b7880) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -803,10 +573,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0x16f7f80) 0
vptr=((&QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0x18560c0) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -880,10 +646,6 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0x18cbb80) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0x18cbc80) 0 empty
Class QMapData::Node
size=8 align=4
@@ -908,10 +670,6 @@ Class QTextStream
QTextStream (0x1aff580) 0
vptr=((&QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0x1aff940) 0
Class QTextStreamManipulator
size=24 align=4
@@ -948,20 +706,8 @@ QTextOStream (0x1b8e740) 0
QTextStream (0x1b8e780) 0
primary-for QTextOStream (0x1b8e740)
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x1bc2980) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x1bc2b00) 0
-Class <anonymous struct>
- size=16 align=8
- base size=16 base align=8
-<anonymous struct> (0x1be88c0) 0
Class QVectorData
size=16 align=4
@@ -1099,15 +845,7 @@ Class QLocale
base size=4 base align=4
QLocale (0x1e4ccc0) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0x1e96980) 0 empty
-Class QFlags<QLocale::NumberOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLocale::NumberOption> (0x1e96040) 0
Vtable for QSystemLocale
QSystemLocale::_ZTV13QSystemLocale: 6u entries
@@ -1134,270 +872,58 @@ Class QMetaType
base size=0 base align=1
QMetaType (0x1ef9400) 0 empty
-Class QMetaTypeId2<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QString> (0x1f13840) 0 empty
-Class QMetaTypeId2<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<int> (0x1f139c0) 0 empty
-Class QMetaTypeId2<uint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<uint> (0x1f13b40) 0 empty
-Class QMetaTypeId2<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<bool> (0x1f13cc0) 0 empty
-Class QMetaTypeId2<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<double> (0x1f13e40) 0 empty
-Class QMetaTypeId2<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QByteArray> (0x1f13fc0) 0 empty
-Class QMetaTypeId2<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QChar> (0x1f27140) 0 empty
-Class QMetaTypeId2<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long int> (0x1f272c0) 0 empty
-Class QMetaTypeId2<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short int> (0x1f27440) 0 empty
-Class QMetaTypeId2<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<char> (0x1f275c0) 0 empty
-Class QMetaTypeId2<ulong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<ulong> (0x1f27740) 0 empty
-Class QMetaTypeId2<ushort>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<ushort> (0x1f278c0) 0 empty
-Class QMetaTypeId2<uchar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<uchar> (0x1f27a40) 0 empty
-Class QMetaTypeId2<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<float> (0x1f27bc0) 0 empty
-Class QMetaTypeId2<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QObject*> (0x1f27d40) 0 empty
-Class QMetaTypeId2<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QWidget*> (0x1f27ec0) 0 empty
-Class QMetaTypeId2<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<void*> (0x1f47040) 0 empty
-Class QMetaTypeId2<qlonglong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<qlonglong> (0x1f471c0) 0 empty
-Class QMetaTypeId2<qulonglong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<qulonglong> (0x1f47340) 0 empty
-Class QMetaTypeId2<QStringList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QStringList> (0x1f474c0) 0 empty
-Class QMetaTypeId2<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitArray> (0x1f47640) 0 empty
-Class QMetaTypeId2<QDate>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDate> (0x1f477c0) 0 empty
-Class QMetaTypeId2<QTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTime> (0x1f47940) 0 empty
-Class QMetaTypeId2<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDateTime> (0x1f47ac0) 0 empty
-Class QMetaTypeId2<QUrl>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QUrl> (0x1f47c40) 0 empty
-Class QMetaTypeId2<QLocale>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLocale> (0x1f47dc0) 0 empty
-Class QMetaTypeId2<QRect>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRect> (0x1f47f40) 0 empty
-Class QMetaTypeId2<QRectF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRectF> (0x1f640c0) 0 empty
-Class QMetaTypeId2<QSize>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSize> (0x1f64240) 0 empty
-Class QMetaTypeId2<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizeF> (0x1f643c0) 0 empty
-Class QMetaTypeId2<QLine>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLine> (0x1f64540) 0 empty
-Class QMetaTypeId2<QLineF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLineF> (0x1f646c0) 0 empty
-Class QMetaTypeId2<QPoint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPoint> (0x1f64840) 0 empty
-Class QMetaTypeId2<QPointF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPointF> (0x1f649c0) 0 empty
-Class QMetaTypeId2<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegExp> (0x1f64b40) 0 empty
-Class QMetaTypeId2<QColorGroup>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColorGroup> (0x1f64cc0) 0 empty
-Class QMetaTypeId2<QFont>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QFont> (0x1f64e40) 0 empty
-Class QMetaTypeId2<QPixmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPixmap> (0x1f64fc0) 0 empty
-Class QMetaTypeId2<QBrush>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBrush> (0x1f82140) 0 empty
-Class QMetaTypeId2<QColor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColor> (0x1f822c0) 0 empty
-Class QMetaTypeId2<QPalette>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPalette> (0x1f82440) 0 empty
-Class QMetaTypeId2<QIcon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QIcon> (0x1f825c0) 0 empty
-Class QMetaTypeId2<QImage>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QImage> (0x1f82740) 0 empty
-Class QMetaTypeId2<QPolygon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPolygon> (0x1f828c0) 0 empty
-Class QMetaTypeId2<QRegion>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegion> (0x1f82a40) 0 empty
-Class QMetaTypeId2<QBitmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitmap> (0x1f82bc0) 0 empty
-Class QMetaTypeId2<QCursor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QCursor> (0x1f82d40) 0 empty
-Class QMetaTypeId2<QSizePolicy>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizePolicy> (0x1f82ec0) 0 empty
-Class QMetaTypeId2<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QKeySequence> (0x1fa4040) 0 empty
-Class QMetaTypeId2<QPen>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPen> (0x1fa41c0) 0 empty
-Class QMetaTypeId2<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextLength> (0x1fa4340) 0 empty
-Class QMetaTypeId2<QTextFormat>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextFormat> (0x1fa44c0) 0 empty
-Class QMetaTypeId2<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMatrix> (0x1fa4640) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -1424,45 +950,17 @@ Class QVariant
base size=16 base align=8
QVariant (0x1479c80) 0
-Class QMetaTypeId2<QVariantList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QVariantList> (0x1ff6e00) 0 empty
-Class QMetaTypeId2<QVariantMap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QVariantMap> (0x1ff6fc0) 0 empty
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0x202a480) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0x1fb8540) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0x202a780) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0x1fb85c0) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0x1fa4800) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0x2092100) 0 empty
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1540,15 +1038,7 @@ Class QUrl
base size=4 base align=4
QUrl (0x1f13180) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0x214e440) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0x21ac040) 0 empty
Vtable for QEventLoop
QEventLoop::_ZTV10QEventLoop: 14u entries
@@ -1575,10 +1065,6 @@ QEventLoop (0x21ac6c0) 0
QObject (0x21ac700) 0
primary-for QEventLoop (0x21ac6c0)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0x21aca00) 0
Vtable for QAbstractEventDispatcher
QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 27u entries
@@ -1623,20 +1109,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0x2223200) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0x2223e80) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0x2223180) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0x22502c0) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -1806,10 +1284,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0x22d37c0) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0x22d3e00) 0 empty
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -1917,20 +1391,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0x143fc00) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0x2371bc0) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0x143fc80) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0x23861c0) 0 empty
Class QMetaProperty
size=20 align=4
@@ -1942,10 +1408,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0x143fd80) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0x2386900) 0 empty
Vtable for QMimeData
QMimeData::_ZTV9QMimeData: 17u entries
@@ -2127,10 +1589,6 @@ QLibrary (0x2445040) 0
QObject (0x2445080) 0
primary-for QLibrary (0x2445040)
-Class QFlags<QLibrary::LoadHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLibrary::LoadHint> (0x24452c0) 0
Vtable for QPluginLoader
QPluginLoader::_ZTV13QPluginLoader: 14u entries
@@ -2172,10 +1630,6 @@ Class QMutex
base size=4 base align=4
QMutex (0x24b77c0) 0
-Class QMutexLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMutexLocker::<anonymous union> (0x24e5000) 0
Class QMutexLocker
size=4 align=4
@@ -2187,20 +1641,12 @@ Class QReadWriteLock
base size=4 base align=4
QReadWriteLock (0x24e5e00) 0
-Class QReadLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QReadLocker::<anonymous union> (0x24f7140) 0
Class QReadLocker
size=4 align=4
base size=4 base align=4
QReadLocker (0x24e5fc0) 0
-Class QWriteLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QWriteLocker::<anonymous union> (0x24f7900) 0
Class QWriteLocker
size=4 align=4
@@ -2258,10 +1704,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0x253aac0) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0x2595480) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -2273,70 +1715,42 @@ Class QDate
base size=4 base align=4
QDate (0x1e4cb40) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0x25ed640) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0x1e4cbc0) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0x2615280) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0x1763040) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0x2644040) 0 empty
Class QPoint
size=8 align=4
base size=8 base align=4
QPoint (0x1f13340) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0x2644c80) 0 empty
Class QPointF
size=16 align=8
base size=16 base align=8
QPointF (0x1f13380) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0x266ce40) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0x1f132c0) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0x26b32c0) 0 empty
Class QLineF
size=32 align=8
base size=32 base align=8
QLineF (0x1f13300) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0x26de780) 0 empty
Class QLinkedListData
size=20 align=4
@@ -2348,40 +1762,24 @@ Class QSize
base size=8 base align=4
QSize (0x1f13240) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0x27d0fc0) 0 empty
Class QSizeF
size=16 align=8
base size=16 base align=8
QSizeF (0x1f13280) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0x2822500) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0x1f131c0) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0x28a7000) 0 empty
Class QRectF
size=32 align=8
base size=32 base align=8
QRectF (0x1f13200) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0x292b340) 0 empty
Class QSharedData
size=4 align=4
@@ -2429,10 +1827,6 @@ Class QKeySequence
base size=4 base align=4
QKeySequence (0x1f13700) 0
-Class QTypeInfo<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QKeySequence> (0x2a3d280) 0 empty
Vtable for QMimeSource
QMimeSource::_ZTV11QMimeSource: 7u entries
@@ -2749,15 +2143,7 @@ Class QInputMethodEvent::Attribute
base size=32 base align=8
QInputMethodEvent::Attribute (0x2b3de80) 0
-Class QList<QInputMethodEvent::Attribute>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute>::<anonymous union> (0x2b65380) 0
-Class QList<QInputMethodEvent::Attribute>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute> (0x2b3df80) 0
Vtable for QInputMethodEvent
QInputMethodEvent::_ZTV17QInputMethodEvent: 4u entries
@@ -3046,15 +2432,7 @@ Class QAccessible
base size=0 base align=1
QAccessible (0x2c10bc0) 0 empty
-Class QFlags<QAccessible::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::StateFlag> (0x2c25c40) 0
-Class QFlags<QAccessible::RelationFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::RelationFlag> (0x2c34180) 0
Vtable for QAccessibleInterface
QAccessibleInterface::_ZTV20QAccessibleInterface: 19u entries
@@ -3445,40 +2823,16 @@ Class QPaintDevice
QPaintDevice (0x29bcf80) 0
vptr=((&QPaintDevice::_ZTV12QPaintDevice) + 8u)
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x2d6fdc0) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x2d6ff00) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x2db1000) 0
-Class QColor::<anonymous union>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union> (0x2d6fd40) 0
Class QColor
size=16 align=4
base size=14 base align=4
QColor (0x1f134c0) 0
-Class QVector<QPoint>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint>::<anonymous union> (0x2de0540) 0
-Class QVector<QPoint>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint> (0x2de03c0) 0
Class QPolygon
size=4 align=4
@@ -3486,15 +2840,7 @@ Class QPolygon
QPolygon (0x1f135c0) 0
QVector<QPoint> (0x2de0700) 0
-Class QVector<QPointF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF>::<anonymous union> (0x2e22980) 0
-Class QVector<QPointF>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF> (0x2e22840) 0
Class QPolygonF
size=4 align=4
@@ -3507,10 +2853,6 @@ Class QMatrix
base size=48 base align=8
QMatrix (0x1f13800) 0
-Class QTypeInfo<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMatrix> (0x2e7f800) 0 empty
Class QImageTextKeyLang
size=8 align=4
@@ -3537,10 +2879,6 @@ QImage (0x1f13580) 0
QPaintDevice (0x2ea1cc0) 0
primary-for QImage (0x1f13580)
-Class QTypeInfo<QImage>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QImage> (0x2f59000) 0 empty
Vtable for QPixmap
QPixmap::_ZTV7QPixmap: 9u entries
@@ -3567,45 +2905,17 @@ Class QBrush
base size=4 base align=4
QBrush (0x1f13480) 0
-Class QTypeInfo<QBrush>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBrush> (0x2faea00) 0 empty
Class QBrushData
size=72 align=8
base size=72 base align=8
QBrushData (0x2fae1c0) 0
-Class QVector<QGradientStop>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QGradientStop>::<anonymous union> (0x2fcd900) 0
-Class QVector<QGradientStop>
- size=4 align=4
- base size=4 base align=4
-QVector<QGradientStop> (0x2fcd080) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=32 align=8
- base size=32 base align=8
-QGradient::<anonymous union>::<anonymous struct> (0x2fcdb40) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=40 align=8
- base size=40 base align=8
-QGradient::<anonymous union>::<anonymous struct> (0x2fcdc40) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=24 align=8
- base size=24 base align=8
-QGradient::<anonymous union>::<anonymous struct> (0x2fcde80) 0
-Class QGradient::<anonymous union>
- size=40 align=8
- base size=40 base align=8
-QGradient::<anonymous union> (0x2fcdac0) 0
Class QGradient
size=64 align=8
@@ -4017,10 +3327,6 @@ QAbstractPrintDialog (0x3358080) 0
QPaintDevice (0x3358180) 8
vptr=((&QAbstractPrintDialog::_ZTV20QAbstractPrintDialog) + 256u)
-Class QFlags<QAbstractPrintDialog::PrintDialogOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractPrintDialog::PrintDialogOption> (0x3358440) 0
Vtable for QColorDialog
QColorDialog::_ZTV12QColorDialog: 70u entries
@@ -4283,10 +3589,6 @@ QFileDialog (0x33d09c0) 0
QPaintDevice (0x33d0ac0) 8
vptr=((&QFileDialog::_ZTV11QFileDialog) + 252u)
-Class QFlags<QFileDialog::Option>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileDialog::Option> (0x3400480) 0
Vtable for QFontDialog
QFontDialog::_ZTV11QFontDialog: 70u entries
@@ -4713,10 +4015,6 @@ QMessageBox (0x3573900) 0
QPaintDevice (0x3573a00) 8
vptr=((&QMessageBox::_ZTV11QMessageBox) + 252u)
-Class QFlags<QMessageBox::StandardButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<QMessageBox::StandardButton> (0x358b680) 0
Vtable for QPageSetupDialog
QPageSetupDialog::_ZTV16QPageSetupDialog: 71u entries
@@ -5087,25 +4385,13 @@ Class QPainterPath
base size=4 base align=4
QPainterPath (0x2e5ba80) 0
-Class QVector<QPainterPath::Element>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element>::<anonymous union> (0x36cb980) 0
-Class QVector<QPainterPath::Element>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element> (0x36cb800) 0
Class QPainterPathPrivate
size=8 align=4
base size=8 base align=4
QPainterPathPrivate (0x36b41c0) 0
-Class QTypeInfo<QPainterPath::Element>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPainterPath::Element> (0x36cbb40) 0 empty
Class QPainterPathStroker
size=4 align=4
@@ -5160,15 +4446,7 @@ Class QGraphicsItem
QGraphicsItem (0x3734540) 0
vptr=((&QGraphicsItem::_ZTV13QGraphicsItem) + 8u)
-Class QFlags<QGraphicsItem::GraphicsItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGraphicsItem::GraphicsItemFlag> (0x3734680) 0
-Class QMetaTypeId<QGraphicsItem*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QGraphicsItem*> (0x376c580) 0 empty
Vtable for QAbstractGraphicsShapeItem
QAbstractGraphicsShapeItem::_ZTV26QAbstractGraphicsShapeItem: 39u entries
@@ -5757,10 +5035,6 @@ Class QPen
base size=4 base align=4
QPen (0x1f13740) 0
-Class QTypeInfo<QPen>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPen> (0x389fe00) 0 empty
Vtable for QGraphicsScene
QGraphicsScene::_ZTV14QGraphicsScene: 34u entries
@@ -5929,60 +5203,20 @@ Class QTextOption
base size=28 base align=8
QTextOption (0x3940a00) 0
-Class QFlags<QTextOption::Flag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextOption::Flag> (0x3940e40) 0
Class QPainter
size=4 align=4
base size=4 base align=4
QPainter (0x29ee080) 0
-Class QFlags<QPainter::RenderHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPainter::RenderHint> (0x399aa00) 0
-Class QVector<QLineF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF>::<anonymous union> (0x3a5c3c0) 0
-Class QVector<QLineF>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF> (0x39b27c0) 0
-Class QVector<QLine>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine>::<anonymous union> (0x3a5c740) 0
-Class QVector<QLine>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine> (0x39b2880) 0
-Class QVector<QRectF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF>::<anonymous union> (0x3a9b400) 0
-Class QVector<QRectF>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF> (0x39b29c0) 0
-Class QVector<QRect>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect>::<anonymous union> (0x3a9b700) 0
-Class QVector<QRect>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect> (0x29f7700) 0
Vtable for QAbstractScrollArea
QAbstractScrollArea::_ZTV19QAbstractScrollArea: 69u entries
@@ -6249,20 +5483,8 @@ QGraphicsView (0x3745a40) 0
QPaintDevice (0x3b65c40) 8
vptr=((&QGraphicsView::_ZTV13QGraphicsView) + 260u)
-Class QFlags<QGraphicsView::CacheModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGraphicsView::CacheModeFlag> (0x3b9d1c0) 0
-Class QList<QGraphicsItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QGraphicsItem*>::<anonymous union> (0x3c05440) 0
-Class QList<QGraphicsItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QGraphicsItem*> (0x3734a80) 0
Vtable for QBitmap
QBitmap::_ZTV7QBitmap: 9u entries
@@ -6291,10 +5513,6 @@ Class QIcon
base size=4 base align=4
QIcon (0x1f13540) 0
-Class QTypeInfo<QIcon>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QIcon> (0x3c91400) 0 empty
Vtable for QIconEngine
QIconEngine::_ZTV11QIconEngine: 9u entries
@@ -6450,10 +5668,6 @@ QImageIOPlugin (0x3caffc0) 0
QFactoryInterface (0x3cce080) 8 nearly-empty
primary-for QImageIOHandlerFactoryInterface (0x3cce040)
-Class QFlags<QImageIOPlugin::Capability>
- size=4 align=4
- base size=4 base align=4
-QFlags<QImageIOPlugin::Capability> (0x3cce240) 0
Class QImageReader
size=4 align=4
@@ -6631,15 +5845,7 @@ QActionGroup (0x3d9f1c0) 0
QObject (0x3dde540) 0
primary-for QActionGroup (0x3d9f1c0)
-Class QList<QAction*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QAction*>::<anonymous union> (0x3e07000) 0
-Class QList<QAction*>
- size=4 align=4
- base size=4 base align=4
-QList<QAction*> (0x31e2d80) 0
Vtable for QInputContext
QInputContext::_ZTV13QInputContext: 25u entries
@@ -6948,10 +6154,6 @@ QAbstractSpinBox (0x3ec8100) 0
QPaintDevice (0x3ec81c0) 8
vptr=((&QAbstractSpinBox::_ZTV16QAbstractSpinBox) + 260u)
-Class QFlags<QAbstractSpinBox::StepEnabledFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractSpinBox::StepEnabledFlag> (0x3ec86c0) 0
Vtable for QAbstractSlider
QAbstractSlider::_ZTV15QAbstractSlider: 68u entries
@@ -7167,15 +6369,7 @@ QStyle (0x31b09c0) 0
QObject (0x3f91340) 0
primary-for QStyle (0x31b09c0)
-Class QFlags<QStyle::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::StateFlag> (0x3f91c80) 0
-Class QFlags<QStyle::SubControl>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::SubControl> (0x3fb5e40) 0
Vtable for QTabBar
QTabBar::_ZTV7QTabBar: 71u entries
@@ -7446,10 +6640,6 @@ Class QStyleOptionFrame
QStyleOptionFrame (0x4115f40) 0
QStyleOption (0x4115f80) 0
-Class QFlags<QStyleOptionFrameV2::FrameFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionFrameV2::FrameFeature> (0x412b440) 0
Class QStyleOptionFrameV2
size=56 align=4
@@ -7476,10 +6666,6 @@ Class QStyleOptionHeader
QStyleOptionHeader (0x4173740) 0
QStyleOption (0x4173780) 0
-Class QFlags<QStyleOptionButton::ButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionButton::ButtonFeature> (0x4198240) 0
Class QStyleOptionButton
size=64 align=4
@@ -7487,10 +6673,6 @@ Class QStyleOptionButton
QStyleOptionButton (0x41980c0) 0
QStyleOption (0x4198100) 0
-Class QFlags<QStyleOptionTab::CornerWidget>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionTab::CornerWidget> (0x4198b80) 0
Class QStyleOptionTab
size=72 align=4
@@ -7505,10 +6687,6 @@ QStyleOptionTabV2 (0x41f02c0) 0
QStyleOptionTab (0x41f0300) 0
QStyleOption (0x41f0340) 0
-Class QFlags<QStyleOptionToolBar::ToolBarFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionToolBar::ToolBarFeature> (0x41f0a80) 0
Class QStyleOptionToolBar
size=68 align=4
@@ -7535,10 +6713,6 @@ Class QStyleOptionMenuItem
QStyleOptionMenuItem (0x4240800) 0
QStyleOption (0x4240840) 0
-Class QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature> (0x4290240) 0
Class QStyleOptionQ3ListViewItem
size=64 align=4
@@ -7564,10 +6738,6 @@ Class QStyleOptionViewItem
QStyleOptionViewItem (0x42dd240) 0
QStyleOption (0x42dd280) 0
-Class QFlags<QStyleOptionViewItemV2::ViewItemFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionViewItemV2::ViewItemFeature> (0x42dd940) 0
Class QStyleOptionViewItemV2
size=84 align=4
@@ -7608,15 +6778,7 @@ QStyleOptionSpinBox (0x435c5c0) 0
QStyleOptionComplex (0x435c600) 0
QStyleOption (0x435c640) 0
-Class QList<QStyleOptionQ3ListViewItem>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::<anonymous union> (0x435cc80) 0
-Class QList<QStyleOptionQ3ListViewItem>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem> (0x435cb80) 0
Class QStyleOptionQ3ListView
size=84 align=4
@@ -7625,10 +6787,6 @@ QStyleOptionQ3ListView (0x435cac0) 0
QStyleOptionComplex (0x435cb00) 0
QStyleOption (0x435cb40) 0
-Class QFlags<QStyleOptionToolButton::ToolButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionToolButton::ToolButtonFeature> (0x438f740) 0
Class QStyleOptionToolButton
size=96 align=4
@@ -7719,10 +6877,6 @@ Class QItemSelectionRange
base size=8 base align=4
QItemSelectionRange (0x4467380) 0
-Class QTypeInfo<QItemSelectionRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QItemSelectionRange> (0x44959c0) 0 empty
Vtable for QItemSelectionModel
QItemSelectionModel::_ZTV19QItemSelectionModel: 18u entries
@@ -7753,20 +6907,8 @@ QItemSelectionModel (0x4495dc0) 0
QObject (0x4495e00) 0
primary-for QItemSelectionModel (0x4495dc0)
-Class QFlags<QItemSelectionModel::SelectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QItemSelectionModel::SelectionFlag> (0x44d2140) 0
-Class QList<QItemSelectionRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::<anonymous union> (0x44d2fc0) 0
-Class QList<QItemSelectionRange>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange> (0x44d2ec0) 0
Class QItemSelection
size=4 align=4
@@ -7900,10 +7042,6 @@ QAbstractItemView (0x4525640) 0
QPaintDevice (0x4525780) 8
vptr=((&QAbstractItemView::_ZTV17QAbstractItemView) + 400u)
-Class QFlags<QAbstractItemView::EditTrigger>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractItemView::EditTrigger> (0x454e480) 0
Vtable for QAbstractProxyModel
QAbstractProxyModel::_ZTV19QAbstractProxyModel: 47u entries
@@ -8245,15 +7383,7 @@ Class QItemEditorCreatorBase
QItemEditorCreatorBase (0x46a4200) 0 nearly-empty
vptr=((&QItemEditorCreatorBase::_ZTV22QItemEditorCreatorBase) + 8u)
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union> (0x46a4f00) 0
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*> (0x46a4d00) 0
Vtable for QItemEditorFactory
QItemEditorFactory::_ZTV18QItemEditorFactory: 6u entries
@@ -8398,15 +7528,7 @@ QListView (0x46c3680) 0
QPaintDevice (0x46c3800) 8
vptr=((&QListView::_ZTV9QListView) + 400u)
-Class QVector<QWidgetItemData>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData>::<anonymous union> (0x46e2e40) 0
-Class QVector<QWidgetItemData>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData> (0x46e2cc0) 0
Vtable for QListWidgetItem
QListWidgetItem::_ZTV15QListWidgetItem: 11u entries
@@ -8703,15 +7825,7 @@ Class QStandardItem
QStandardItem (0x481b3c0) 0
vptr=((&QStandardItem::_ZTV13QStandardItem) + 8u)
-Class QList<QStandardItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QStandardItem*>::<anonymous union> (0x48cf880) 0
-Class QList<QStandardItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QStandardItem*> (0x481b8c0) 0
Vtable for QStandardItemModel
QStandardItemModel::_ZTV18QStandardItemModel: 42u entries
@@ -9241,35 +8355,15 @@ QTreeView (0x4a4e980) 0
QPaintDevice (0x4a4eb00) 8
vptr=((&QTreeView::_ZTV9QTreeView) + 408u)
-Class QFlags<QTreeWidgetItemIterator::IteratorFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTreeWidgetItemIterator::IteratorFlag> (0x4a7aec0) 0
Class QTreeWidgetItemIterator
size=12 align=4
base size=12 base align=4
QTreeWidgetItemIterator (0x4a7aa80) 0
-Class QVector<QVector<QWidgetItemData> >::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> >::<anonymous union> (0x4aafcc0) 0
-Class QVector<QVector<QWidgetItemData> >
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> > (0x4aafb40) 0
-Class QList<QTreeWidgetItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::<anonymous union> (0x4aaff00) 0
-Class QList<QTreeWidgetItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*> (0x4aaf9c0) 0
Vtable for QTreeWidgetItem
QTreeWidgetItem::_ZTV15QTreeWidgetItem: 10u entries
@@ -10158,15 +9252,7 @@ Class QTextItem
base size=0 base align=1
QTextItem (0x399a840) 0 empty
-Class QTypeInfo<QTextItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextItem> (0x4e12ec0) 0 empty
-Class QFlags<QPaintEngine::PaintEngineFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::PaintEngineFeature> (0x4e3a4c0) 0
Vtable for QPaintEngine
QPaintEngine::_ZTV12QPaintEngine: 26u entries
@@ -10203,20 +9289,12 @@ Class QPaintEngine
QPaintEngine (0x2d1eb00) 0
vptr=((&QPaintEngine::_ZTV12QPaintEngine) + 8u)
-Class QFlags<QPaintEngine::DirtyFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::DirtyFlag> (0x4e3a940) 0
Class QPaintEngineState
size=4 align=4
base size=4 base align=4
QPaintEngineState (0x4e12c40) 0
-Class QFlags<QTextItem::RenderFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextItem::RenderFlag> (0x4e12dc0) 0
Vtable for QPrinter
QPrinter::_ZTV8QPrinter: 9u entries
@@ -10313,10 +9391,6 @@ QCommonStyle (0x4f8bc40) 0
QObject (0x4f8bcc0) 0
primary-for QStyle (0x4f8bc80)
-Class QPointer<QFocusFrame>
- size=4 align=4
- base size=4 base align=4
-QPointer<QFocusFrame> (0x4fc5500) 0
Vtable for QMotifStyle
QMotifStyle::_ZTV11QMotifStyle: 35u entries
@@ -10690,30 +9764,14 @@ Class QTextLength
base size=16 base align=8
QTextLength (0x1f13780) 0
-Class QSharedDataPointer<QTextFormatPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextFormatPrivate> (0x5135f80) 0
Class QTextFormat
size=8 align=4
base size=8 base align=4
QTextFormat (0x1f137c0) 0
-Class QVector<QTextLength>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength>::<anonymous union> (0x5149900) 0
-Class QVector<QTextLength>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength> (0x5135a80) 0
-Class QFlags<QTextFormat::PageBreakFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextFormat::PageBreakFlag> (0x5135600) 0
Class QTextCharFormat
size=8 align=4
@@ -10768,15 +9826,7 @@ Class QTextLayout
base size=4 base align=4
QTextLayout (0x30bcdc0) 0
-Class QVector<QTextLayout::FormatRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange>::<anonymous union> (0x52e1780) 0
-Class QVector<QTextLayout::FormatRange>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange> (0x52e1400) 0
Class QTextLine
size=8 align=4
@@ -10826,15 +9876,7 @@ QTextDocument (0x3827300) 0
QObject (0x530efc0) 0
primary-for QTextDocument (0x3827300)
-Class QFlags<QTextDocument::FindFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextDocument::FindFlag> (0x5323500) 0
-Class QSharedDataPointer<QTextCursorPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextCursorPrivate> (0x5394700) 0
Class QTextCursor
size=4 align=4
@@ -10846,15 +9888,7 @@ Class QAbstractTextDocumentLayout::Selection
base size=12 base align=4
QAbstractTextDocumentLayout::Selection (0x5394c00) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union> (0x5394ec0) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection> (0x5394d40) 0
Class QAbstractTextDocumentLayout::PaintContext
size=56 align=8
@@ -11016,10 +10050,6 @@ QTextFrame (0x530e7c0) 0
QObject (0x543b180) 0
primary-for QTextObject (0x543b140)
-Class QTypeInfo<QTextFrame::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFrame::iterator> (0x5463700) 0 empty
Vtable for QTextBlockUserData
QTextBlockUserData::_ZTV18QTextBlockUserData: 4u entries
@@ -11044,25 +10074,13 @@ Class QTextBlock
base size=8 base align=4
QTextBlock (0x52bbc40) 0
-Class QTypeInfo<QTextBlock>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock> (0x5494f80) 0 empty
-Class QTypeInfo<QTextBlock::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock::iterator> (0x54af100) 0 empty
Class QTextFragment
size=12 align=4
base size=12 base align=4
QTextFragment (0x5402280) 0
-Class QTypeInfo<QTextFragment>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFragment> (0x54afb80) 0 empty
Vtable for QSyntaxHighlighter
QSyntaxHighlighter::_ZTV18QSyntaxHighlighter: 15u entries
@@ -12056,10 +11074,6 @@ QDateEdit (0x576e940) 0
QPaintDevice (0x576ea80) 8
vptr=((&QDateEdit::_ZTV9QDateEdit) + 268u)
-Class QFlags<QDateTimeEdit::Section>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDateTimeEdit::Section> (0x5743c40) 0
Vtable for QDial
QDial::_ZTV5QDial: 68u entries
@@ -12228,10 +11242,6 @@ QDialogButtonBox (0x57dfbc0) 0
QPaintDevice (0x57dfc80) 8
vptr=((&QDialogButtonBox::_ZTV16QDialogButtonBox) + 240u)
-Class QFlags<QDialogButtonBox::StandardButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDialogButtonBox::StandardButton> (0x57dfd80) 0
Vtable for QDockWidget
QDockWidget::_ZTV11QDockWidget: 67u entries
@@ -12315,10 +11325,6 @@ QDockWidget (0x5835a00) 0
QPaintDevice (0x5835ac0) 8
vptr=((&QDockWidget::_ZTV11QDockWidget) + 240u)
-Class QFlags<QDockWidget::DockWidgetFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDockWidget::DockWidgetFeature> (0x5835f40) 0
Vtable for QFocusFrame
QFocusFrame::_ZTV11QFocusFrame: 67u entries
@@ -12488,10 +11494,6 @@ QFontComboBox (0x59123c0) 0
QPaintDevice (0x59124c0) 8
vptr=((&QFontComboBox::_ZTV13QFontComboBox) + 248u)
-Class QFlags<QFontComboBox::FontFilter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFontComboBox::FontFilter> (0x59128c0) 0
Vtable for QGroupBox
QGroupBox::_ZTV9QGroupBox: 67u entries
@@ -14136,10 +13138,6 @@ QTextEdit (0x54afdc0) 0
QPaintDevice (0x5d6cb00) 8
vptr=((&QTextEdit::_ZTV9QTextEdit) + 264u)
-Class QFlags<QTextEdit::AutoFormattingFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextEdit::AutoFormattingFlag> (0x5d972c0) 0
Vtable for QTextBrowser
QTextBrowser::_ZTV12QTextBrowser: 78u entries
@@ -14577,178 +13575,38 @@ QWorkspace (0x5f2ae40) 0
QPaintDevice (0x5f2af00) 8
vptr=((&QWorkspace::_ZTV10QWorkspace) + 240u)
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0x1400440) 0
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0x15f0480) 0
-Class QTypeInfo<QDebug::Stream*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDebug::Stream*> (0x621e100) 0 empty
-Class QVectorTypedData<QPoint>
- size=24 align=4
- base size=24 base align=4
-QVectorTypedData<QPoint> (0x2de04c0) 0
-Class QVectorTypedData<QPointF>
- size=32 align=8
- base size=32 base align=8
-QVectorTypedData<QPointF> (0x2e22900) 0
-Class QVectorTypedData<QPainterPath::Element>
- size=40 align=8
- base size=40 base align=8
-QVectorTypedData<QPainterPath::Element> (0x36cb900) 0
-Class QVectorTypedData<QLineF>
- size=48 align=8
- base size=48 base align=8
-QVectorTypedData<QLineF> (0x3a5c340) 0
-Class QVectorTypedData<QLine>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QLine> (0x3a5c6c0) 0
-Class QVectorTypedData<QRectF>
- size=48 align=8
- base size=48 base align=8
-QVectorTypedData<QRectF> (0x3a9b380) 0
-Class QVectorTypedData<QRect>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QRect> (0x3a9b680) 0
-Class QList<QTreeWidgetItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::Node (0x4aafec0) 0
-Class QVectorTypedData<QVector<QWidgetItemData> >
- size=20 align=4
- base size=20 base align=4
-QVectorTypedData<QVector<QWidgetItemData> > (0x4aafc40) 0
-Class QVectorTypedData<QTextLength>
- size=32 align=8
- base size=32 base align=8
-QVectorTypedData<QTextLength> (0x5149880) 0
-Class QVectorTypedData<QTextLayout::FormatRange>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QTextLayout::FormatRange> (0x52e1700) 0
-Class QVectorTypedData<QAbstractTextDocumentLayout::Selection>
- size=28 align=4
- base size=28 base align=4
-QVectorTypedData<QAbstractTextDocumentLayout::Selection> (0x5394e40) 0
-Class QList<QAction*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QAction*>::Node (0x3ddefc0) 0
-Class QHashNode<QVariant::Type, QItemEditorCreatorBase*>
- size=16 align=4
- base size=16 base align=4
-QHashNode<QVariant::Type, QItemEditorCreatorBase*> (0x46a4e80) 0
-Class QTypeInfo<QStandardItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QStandardItem*> (0x6839c40) 0 empty
-Class QTypeInfo<QTreeWidgetItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTreeWidgetItem*> (0x6839fc0) 0 empty
-Class QTypeInfo<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLength> (0x686e800) 0 empty
-Class QTypeInfo<QTextLayout::FormatRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLayout::FormatRange> (0x686e9c0) 0 empty
-Class QTypeInfo<QAbstractTextDocumentLayout::Selection>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAbstractTextDocumentLayout::Selection> (0x686ef00) 0 empty
-Class QTypeInfo<QAction*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAction*> (0x6896940) 0 empty
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0x177cf40) 0
-Class QList<QVariant>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::Node (0x202a440) 0
-Class QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union> (0x6896fc0) 0
-Class QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union> (0x68cb280) 0
-Class QTypeInfo<QGraphicsItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QGraphicsItem*> (0x68cb4c0) 0 empty
-Class QList<QGraphicsItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QGraphicsItem*>::Node (0x3c05400) 0
-Class QTypeInfo<QStyleOptionQ3ListViewItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QStyleOptionQ3ListViewItem> (0x68cb740) 0 empty
-Class QList<QStyleOptionQ3ListViewItem>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::Node (0x435cc40) 0
-Class QList<QItemSelectionRange>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::Node (0x44d2f80) 0
-Class QList<QStandardItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QStandardItem*>::Node (0x48cf840) 0
-Class QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union> (0x68cbe40) 0
-Class QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union> (0x697e400) 0
diff --git a/tests/auto/bic/data/QtGui.4.3.0.linux-gcc-ia32.txt b/tests/auto/bic/data/QtGui.4.3.0.linux-gcc-ia32.txt
index 9eac0b0..1d72f2a 100644
--- a/tests/auto/bic/data/QtGui.4.3.0.linux-gcc-ia32.txt
+++ b/tests/auto/bic/data/QtGui.4.3.0.linux-gcc-ia32.txt
@@ -1,34 +1,8 @@
-Class QUintForSize<4>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<4> (0xb7f02d80) 0 empty
-Class QUintForSize<8>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<8> (0xb7f02dc0) 0 empty
-Class QUintForType<void*>
- size=1 align=1
- base size=1 base align=1
-QUintForType<void*> (0xb7f02e80) 0 empty
- QUintForSize<4> (0xb7f02ec0) 0 empty
-Class QIntForSize<4>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<4> (0xb7f02f40) 0 empty
-Class QIntForSize<8>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<8> (0xb7f02f80) 0 empty
-Class QIntForType<void*>
- size=1 align=1
- base size=1 base align=1
-QIntForType<void*> (0xb77fd040) 0 empty
- QIntForSize<4> (0xb77fd080) 0 empty
Class QSysInfo
size=1 align=1
@@ -50,150 +24,38 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0xb77fd340) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0xb77fd400) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0xb77fd440) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0xb77fd480) 0 empty
-Class QTypeInfo<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned char> (0xb77fd4c0) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0xb77fd500) 0 empty
-Class QTypeInfo<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short unsigned int> (0xb77fd540) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0xb77fd580) 0 empty
-Class QTypeInfo<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned int> (0xb77fd5c0) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0xb77fd600) 0 empty
-Class QTypeInfo<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long unsigned int> (0xb77fd640) 0 empty
-Class QTypeInfo<long long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long int> (0xb77fd680) 0 empty
-Class QTypeInfo<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long unsigned int> (0xb77fd6c0) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0xb77fd700) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0xb77fd740) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0xb77fd780) 0 empty
Class QFlag
size=4 align=4
base size=4 base align=4
QFlag (0xb77fd7c0) 0
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0xb77fd8c0) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0xb77fd900) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0xb77fd940) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0xb77fd980) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0xb77fd9c0) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0xb77fda00) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0xb77fda40) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0xb77fda80) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0xb77fdac0) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0xb77fdb00) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0xb77fdb40) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0xb77fdb80) 0
-Class QFlags<Qt::TextInteractionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::TextInteractionFlag> (0xb77fdbc0) 0
Class QInternal
size=1 align=1
@@ -211,10 +73,6 @@ Class QGenericReturnArgument
QGenericReturnArgument (0xb77fdcc0) 0
QGenericArgument (0xb77fdd00) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0xb77fdec0) 0
Class QMetaObject
size=16 align=4
@@ -231,10 +89,6 @@ Class QChar
base size=2 base align=2
QChar (0xb77fdf80) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0xb6b21000) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -267,10 +121,6 @@ Class QByteRef
base size=8 base align=4
QByteRef (0xb6b21300) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0xb6b21340) 0 empty
Class QString::Null
size=1 align=1
@@ -287,10 +137,6 @@ Class QString
base size=4 base align=4
QString (0xb6b21380) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0xb6b21580) 0
Class QLatin1String
size=4 align=4
@@ -308,10 +154,6 @@ Class QConstString
QConstString (0xb6b21680) 0
QString (0xb6b216c0) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0xb6b21700) 0 empty
Class QStringRef
size=12 align=4
@@ -379,15 +221,7 @@ Class QListData
base size=4 base align=4
QListData (0xb6b21a40) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0xb6b21dc0) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0xb6b21d40) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -463,10 +297,6 @@ QLibrary (0xb6b214c0) 0
QObject (0xb6b21500) 0
primary-for QLibrary (0xb6b214c0)
-Class QFlags<QLibrary::LoadHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLibrary::LoadHint> (0xb6b21840) 0
Class QUuid
size=16 align=4
@@ -514,10 +344,6 @@ QIODevice (0xb6b21c00) 0
QObject (0xb6b21e40) 0
primary-for QIODevice (0xb6b21c00)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0xb6541000) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -537,25 +363,13 @@ Class QRegExp
base size=4 base align=4
QRegExp (0xb65410c0) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0xb6541100) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0xb6541140) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0xb6541200) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0xb6541180) 0
Class QStringList
size=4 align=4
@@ -563,15 +377,7 @@ Class QStringList
QStringList (0xb6541240) 0
QList<QString> (0xb6541280) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0xb6541300) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0xb6541340) 0
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -627,10 +433,6 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0xb65416c0) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0xb6541700) 0 empty
Class QCryptographicHash
size=4 align=4
@@ -642,75 +444,35 @@ Class QDate
base size=4 base align=4
QDate (0xb6541c40) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0xb6541d00) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0xb6541d40) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0xb6541e00) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0xb6541e40) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0xb6541f00) 0 empty
Class QByteArrayMatcher
size=1032 align=4
base size=1032 base align=4
QByteArrayMatcher (0xb6541f40) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0xb6541fc0) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0xb6541080) 0
Class wait
size=4 align=4
base size=4 base align=4
wait (0xb6541f80) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6541440) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6541580) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb6541ac0) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6541c80) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb6541cc0) 0
Class timespec
size=8 align=4
@@ -722,80 +484,24 @@ Class timeval
base size=8 base align=4
timeval (0xb6541dc0) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb6541e80) 0
-Class <anonymous union>
- size=36 align=4
- base size=36 base align=4
-<anonymous union> (0xb6541ec0) 0
Class __pthread_internal_slist
size=4 align=4
base size=4 base align=4
__pthread_internal_slist (0xb650a000) 0
-Class <anonymous union>::__pthread_mutex_s::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union>::__pthread_mutex_s::<anonymous union> (0xb650a0c0) 0
-Class <anonymous union>::__pthread_mutex_s
- size=24 align=4
- base size=24 base align=4
-<anonymous union>::__pthread_mutex_s (0xb650a080) 0
-Class <anonymous union>
- size=24 align=4
- base size=24 base align=4
-<anonymous union> (0xb650a040) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb650a100) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0xb650a180) 0
-Class <anonymous union>
- size=48 align=4
- base size=48 base align=4
-<anonymous union> (0xb650a140) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb650a1c0) 0
-Class <anonymous union>::<anonymous struct>
- size=32 align=4
- base size=32 base align=4
-<anonymous union>::<anonymous struct> (0xb650a240) 0
-Class <anonymous union>
- size=32 align=4
- base size=32 base align=4
-<anonymous union> (0xb650a200) 0
-Class <anonymous union>
- size=8 align=4
- base size=8 base align=4
-<anonymous union> (0xb650a280) 0
-Class <anonymous union>
- size=20 align=4
- base size=20 base align=4
-<anonymous union> (0xb650a2c0) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb650a300) 0
Class random_data
size=28 align=4
@@ -817,20 +523,12 @@ Class QSize
base size=8 base align=4
QSize (0xb650a580) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0xb650a780) 0 empty
Class QSizeF
size=16 align=4
base size=16 base align=4
QSizeF (0xb650a800) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0xb650aa00) 0 empty
Class QLinkedListData
size=20 align=4
@@ -842,15 +540,7 @@ Class QLocale
base size=4 base align=4
QLocale (0xb650adc0) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0xb650ae00) 0 empty
-Class QFlags<QLocale::NumberOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLocale::NumberOption> (0xb650ae40) 0
Vtable for QSystemLocale
QSystemLocale::_ZTV13QSystemLocale: 6u entries
@@ -887,60 +577,36 @@ Class QPoint
base size=8 base align=4
QPoint (0xb613d040) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0xb613d280) 0 empty
Class QPointF
size=16 align=4
base size=16 base align=4
QPointF (0xb613d2c0) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0xb613d500) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0xb613d640) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0xb613d740) 0 empty
Class QRectF
size=32 align=4
base size=32 base align=4
QRectF (0xb613d780) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0xb613d840) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0xb613d880) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0xb613d8c0) 0 empty
Class QLineF
size=32 align=4
base size=32 base align=4
QLineF (0xb613d900) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0xb613d940) 0 empty
Vtable for QTimeLine
QTimeLine::_ZTV9QTimeLine: 15u entries
@@ -978,10 +644,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0xb613dcc0) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0xb613dd00) 0 empty
Class QLibraryInfo
size=1 align=1
@@ -993,290 +655,66 @@ Class QUrl
base size=4 base align=4
QUrl (0xb613de40) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0xb613dec0) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0xb613df00) 0 empty
Class QMetaType
size=1 align=1
base size=0 base align=1
QMetaType (0xb613df40) 0 empty
-Class QMetaTypeId2<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QString> (0xb613d080) 0 empty
-Class QMetaTypeId2<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<int> (0xb613d0c0) 0 empty
-Class QMetaTypeId2<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned int> (0xb613d100) 0 empty
-Class QMetaTypeId2<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<bool> (0xb613d140) 0 empty
-Class QMetaTypeId2<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<double> (0xb613d180) 0 empty
-Class QMetaTypeId2<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QByteArray> (0xb613d1c0) 0 empty
-Class QMetaTypeId2<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QChar> (0xb613d200) 0 empty
-Class QMetaTypeId2<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long int> (0xb613d240) 0 empty
-Class QMetaTypeId2<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short int> (0xb613d300) 0 empty
-Class QMetaTypeId2<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<char> (0xb613d340) 0 empty
-Class QMetaTypeId2<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long unsigned int> (0xb613d380) 0 empty
-Class QMetaTypeId2<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short unsigned int> (0xb613d3c0) 0 empty
-Class QMetaTypeId2<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned char> (0xb613d400) 0 empty
-Class QMetaTypeId2<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<float> (0xb613d440) 0 empty
-Class QMetaTypeId2<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QObject*> (0xb613d480) 0 empty
-Class QMetaTypeId2<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QWidget*> (0xb613d4c0) 0 empty
-Class QMetaTypeId2<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<void*> (0xb613d680) 0 empty
-Class QMetaTypeId2<long long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long int> (0xb613d6c0) 0 empty
-Class QMetaTypeId2<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long unsigned int> (0xb613d700) 0 empty
-Class QMetaTypeId2<QStringList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QStringList> (0xb613d7c0) 0 empty
-Class QMetaTypeId2<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitArray> (0xb613d800) 0 empty
-Class QMetaTypeId2<QDate>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDate> (0xb613db40) 0 empty
-Class QMetaTypeId2<QTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTime> (0xb5fae000) 0 empty
-Class QMetaTypeId2<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDateTime> (0xb5fae040) 0 empty
-Class QMetaTypeId2<QUrl>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QUrl> (0xb5fae080) 0 empty
-Class QMetaTypeId2<QLocale>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLocale> (0xb5fae0c0) 0 empty
-Class QMetaTypeId2<QRect>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRect> (0xb5fae100) 0 empty
-Class QMetaTypeId2<QRectF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRectF> (0xb5fae140) 0 empty
-Class QMetaTypeId2<QSize>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSize> (0xb5fae180) 0 empty
-Class QMetaTypeId2<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizeF> (0xb5fae1c0) 0 empty
-Class QMetaTypeId2<QLine>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLine> (0xb5fae200) 0 empty
-Class QMetaTypeId2<QLineF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLineF> (0xb5fae240) 0 empty
-Class QMetaTypeId2<QPoint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPoint> (0xb5fae280) 0 empty
-Class QMetaTypeId2<QPointF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPointF> (0xb5fae2c0) 0 empty
-Class QMetaTypeId2<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegExp> (0xb5fae300) 0 empty
-Class QMetaTypeId2<QColorGroup>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColorGroup> (0xb5fae340) 0 empty
-Class QMetaTypeId2<QFont>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QFont> (0xb5fae380) 0 empty
-Class QMetaTypeId2<QPixmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPixmap> (0xb5fae3c0) 0 empty
-Class QMetaTypeId2<QBrush>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBrush> (0xb5fae400) 0 empty
-Class QMetaTypeId2<QColor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColor> (0xb5fae440) 0 empty
-Class QMetaTypeId2<QPalette>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPalette> (0xb5fae480) 0 empty
-Class QMetaTypeId2<QIcon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QIcon> (0xb5fae4c0) 0 empty
-Class QMetaTypeId2<QImage>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QImage> (0xb5fae500) 0 empty
-Class QMetaTypeId2<QPolygon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPolygon> (0xb5fae540) 0 empty
-Class QMetaTypeId2<QRegion>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegion> (0xb5fae580) 0 empty
-Class QMetaTypeId2<QBitmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitmap> (0xb5fae5c0) 0 empty
-Class QMetaTypeId2<QCursor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QCursor> (0xb5fae600) 0 empty
-Class QMetaTypeId2<QSizePolicy>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizePolicy> (0xb5fae640) 0 empty
-Class QMetaTypeId2<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QKeySequence> (0xb5fae680) 0 empty
-Class QMetaTypeId2<QPen>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPen> (0xb5fae6c0) 0 empty
-Class QMetaTypeId2<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextLength> (0xb5fae700) 0 empty
-Class QMetaTypeId2<QTextFormat>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextFormat> (0xb5fae740) 0 empty
-Class QMetaTypeId2<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMatrix> (0xb5fae780) 0 empty
-Class QMetaTypeId2<QTransform>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTransform> (0xb5fae7c0) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -1303,45 +741,17 @@ Class QVariant
base size=12 base align=4
QVariant (0xb5fae800) 0
-Class QMetaTypeId2<QList<QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QList<QVariant> > (0xb5faea80) 0 empty
-Class QMetaTypeId2<QMap<QString, QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMap<QString, QVariant> > (0xb5faeac0) 0 empty
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0xb5faebc0) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0xb5faeb40) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0xb5faecc0) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0xb5faec40) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0xb5faed40) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0xb5faedc0) 0 empty
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1368,25 +778,9 @@ QSettings (0xb5faee00) 0
QObject (0xb5faee40) 0
primary-for QSettings (0xb5faee00)
-Class <anonymous struct>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct>::<anonymous union> (0xb5faef40) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb5faef00) 0
-Class <anonymous struct>
- size=12 align=4
- base size=12 base align=4
-<anonymous struct> (0xb5faef80) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb5faefc0) 0
Class __gconv_trans_data
size=20 align=4
@@ -1408,15 +802,7 @@ Class __gconv_info
base size=8 base align=4
__gconv_info (0xb5faea00) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0xb5faee80) 0
-Class <anonymous union>
- size=44 align=4
- base size=44 base align=4
-<anonymous union> (0xb5faea40) 0
Class _IO_marker
size=12 align=4
@@ -1428,10 +814,6 @@ Class _IO_FILE
base size=148 base align=4
_IO_FILE (0xb5e8d000) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb5e8d040) 0
Vtable for QFile
QFile::_ZTV5QFile: 31u entries
@@ -1477,10 +859,6 @@ QFile (0xb5e8d080) 0
QObject (0xb5e8d100) 0
primary-for QIODevice (0xb5e8d0c0)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0xb5e8d180) 0
Vtable for QTemporaryFile
QTemporaryFile::_ZTV14QTemporaryFile: 31u entries
@@ -1533,40 +911,16 @@ Class QFileInfo
base size=4 base align=4
QFileInfo (0xb5e8d300) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0xb5e8d340) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0xb5e8d380) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0xb5e8d440) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0xb5e8d3c0) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0xb5e8d480) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0xb5e8d500) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0xb5e8d580) 0
Vtable for QProcess
QProcess::_ZTV8QProcess: 31u entries
@@ -1650,10 +1004,6 @@ Class QDirIterator
QDirIterator (0xb5e8d7c0) 0
vptr=((& QDirIterator::_ZTV12QDirIterator) + 8u)
-Class QFlags<QDirIterator::IteratorFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDirIterator::IteratorFlag> (0xb5e8d880) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -1710,10 +1060,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0xb5e8d8c0) 0
vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0xb5e8da40) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -1747,10 +1093,6 @@ Class QAbstractFileEngineIterator
QAbstractFileEngineIterator (0xb5e8db00) 0
vptr=((& QAbstractFileEngineIterator::_ZTV27QAbstractFileEngineIterator) + 8u)
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0xb5e8dc40) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -1775,15 +1117,7 @@ Class QTextCodec
QTextCodec (0xb5e8db80) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0xb5e8dd80) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0xb5e8dd00) 0
Class QTextEncoder
size=32 align=4
@@ -1808,10 +1142,6 @@ Class QTextStream
QTextStream (0xb5e8de40) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0xb5e8df00) 0
Class QTextStreamManipulator
size=24 align=4
@@ -1958,20 +1288,12 @@ Class QReadWriteLock
base size=4 base align=4
QReadWriteLock (0xb5ccc0c0) 0
-Class QReadLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QReadLocker::<anonymous union> (0xb5ccc140) 0
Class QReadLocker
size=4 align=4
base size=4 base align=4
QReadLocker (0xb5ccc100) 0
-Class QWriteLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QWriteLocker::<anonymous union> (0xb5ccc1c0) 0
Class QWriteLocker
size=4 align=4
@@ -1983,10 +1305,6 @@ Class QMutex
base size=4 base align=4
QMutex (0xb5ccc200) 0
-Class QMutexLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMutexLocker::<anonymous union> (0xb5ccc280) 0
Class QMutexLocker
size=4 align=4
@@ -2066,10 +1384,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0xb5ccc580) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0xb5ccc5c0) 0 empty
Vtable for QMimeData
QMimeData::_ZTV9QMimeData: 17u entries
@@ -2104,20 +1418,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0xb5ccc6c0) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0xb5ccc700) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0xb5ccc740) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0xb5ccc7c0) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -2357,10 +1663,6 @@ QEventLoop (0xb5cccc40) 0
QObject (0xb5cccc80) 0
primary-for QEventLoop (0xb5cccc40)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0xb5cccd80) 0
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -2555,20 +1857,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0xb5ccce00) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0xb5cccec0) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0xb5cccf80) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0xb5a48000) 0 empty
Class QMetaProperty
size=20 align=4
@@ -2580,10 +1874,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0xb5a48080) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0xb5a480c0) 0 empty
Vtable for QTextCodecFactoryInterface
QTextCodecFactoryInterface::_ZTV26QTextCodecFactoryInterface: 6u entries
@@ -2726,25 +2016,13 @@ QImageIOPlugin (0xb5a48500) 0
QFactoryInterface (0xb5a485c0) 8 nearly-empty
primary-for QImageIOHandlerFactoryInterface (0xb5a48580)
-Class QFlags<QImageIOPlugin::Capability>
- size=4 align=4
- base size=4 base align=4
-QFlags<QImageIOPlugin::Capability> (0xb5a48640) 0
Class QImageReader
size=4 align=4
base size=4 base align=4
QImageReader (0xb5a48680) 0
-Class QVector<QPoint>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint>::<anonymous union> (0xb5a48740) 0
-Class QVector<QPoint>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint> (0xb5a486c0) 0
Class QPolygon
size=4 align=4
@@ -2752,15 +2030,7 @@ Class QPolygon
QPolygon (0xb5a48780) 0
QVector<QPoint> (0xb5a487c0) 0
-Class QVector<QPointF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF>::<anonymous union> (0xb5a48880) 0
-Class QVector<QPointF>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF> (0xb5a48800) 0
Class QPolygonF
size=4 align=4
@@ -2783,10 +2053,6 @@ Class QMatrix
base size=48 base align=4
QMatrix (0xb5a48ac0) 0
-Class QTypeInfo<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMatrix> (0xb5a48b00) 0 empty
Class QPainterPath::Element
size=20 align=4
@@ -2798,25 +2064,13 @@ Class QPainterPath
base size=4 base align=4
QPainterPath (0xb5a48b40) 0
-Class QVector<QPainterPath::Element>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element>::<anonymous union> (0xb5a48dc0) 0
-Class QVector<QPainterPath::Element>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element> (0xb5a48d40) 0
Class QPainterPathPrivate
size=8 align=4
base size=8 base align=4
QPainterPathPrivate (0xb5a48c40) 0
-Class QTypeInfo<QPainterPath::Element>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPainterPath::Element> (0xb5a48e00) 0 empty
Class QPainterPathStroker
size=4 align=4
@@ -2828,10 +2082,6 @@ Class QTransform
base size=80 base align=4
QTransform (0xb5a48f00) 0
-Class QTypeInfo<QTransform>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTransform> (0xb5a48f40) 0 empty
Vtable for QPaintDevice
QPaintDevice::_ZTV12QPaintDevice: 7u entries
@@ -2872,30 +2122,10 @@ QImage (0xb5a483c0) 0
QPaintDevice (0xb5a48480) 0
primary-for QImage (0xb5a483c0)
-Class QTypeInfo<QImage>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QImage> (0xb5a48980) 0 empty
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0xb5a48a40) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0xb5a48bc0) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0xb5a48c00) 0
-Class QColor::<anonymous union>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union> (0xb5a48a00) 0
Class QColor
size=16 align=4
@@ -3083,10 +2313,6 @@ Class QIcon
base size=4 base align=4
QIcon (0xb5827940) 0
-Class QTypeInfo<QIcon>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QIcon> (0xb5827a00) 0 empty
Vtable for QPicture
QPicture::_ZTV8QPicture: 8u entries
@@ -3225,10 +2451,6 @@ Class QKeySequence
base size=4 base align=4
QKeySequence (0xb5827f40) 0
-Class QTypeInfo<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QKeySequence> (0xb5827000) 0 empty
Vtable for QMimeSource
QMimeSource::_ZTV11QMimeSource: 7u entries
@@ -3526,15 +2748,7 @@ Class QInputMethodEvent::Attribute
base size=24 base align=4
QInputMethodEvent::Attribute (0xb576c840) 0
-Class QList<QInputMethodEvent::Attribute>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute>::<anonymous union> (0xb576c940) 0
-Class QList<QInputMethodEvent::Attribute>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute> (0xb576c8c0) 0
Vtable for QInputMethodEvent
QInputMethodEvent::_ZTV17QInputMethodEvent: 4u entries
@@ -3823,20 +3037,8 @@ Class QAccessible
base size=0 base align=1
QAccessible (0xb57e9040) 0 empty
-Class QFlags<QAccessible::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::StateFlag> (0xb57e90c0) 0
-Class QFlags<QAccessible::RelationFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::RelationFlag> (0xb57e9100) 0
-Class QMetaTypeId<QSet<QAccessible::Method> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QSet<QAccessible::Method> > (0xb57e9140) 0 empty
Vtable for QAccessibleInterface
QAccessibleInterface::_ZTV20QAccessibleInterface: 19u entries
@@ -3867,20 +3069,8 @@ QAccessibleInterface (0xb57e9200) 0 nearly-empty
vptr=((& QAccessibleInterface::_ZTV20QAccessibleInterface) + 8u)
QAccessible (0xb57e9240) 0 empty
-Class QHash<QAccessible::Method, QHashDummyValue>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QHash<QAccessible::Method, QHashDummyValue>::<anonymous union> (0xb57e93c0) 0
-Class QHash<QAccessible::Method, QHashDummyValue>
- size=4 align=4
- base size=4 base align=4
-QHash<QAccessible::Method, QHashDummyValue> (0xb57e9340) 0
-Class QSet<QAccessible::Method>
- size=4 align=4
- base size=4 base align=4
-QSet<QAccessible::Method> (0xb57e92c0) 0
Vtable for QAccessibleInterfaceEx
QAccessibleInterfaceEx::_ZTV22QAccessibleInterfaceEx: 22u entries
@@ -4402,55 +3592,23 @@ Class QPen
base size=4 base align=4
QPen (0xb569f500) 0
-Class QTypeInfo<QPen>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPen> (0xb569f5c0) 0 empty
Class QBrush
size=4 align=4
base size=4 base align=4
QBrush (0xb569f600) 0
-Class QTypeInfo<QBrush>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBrush> (0xb569f640) 0 empty
Class QBrushData
size=108 align=4
base size=105 base align=4
QBrushData (0xb569f680) 0
-Class QVector<QPair<double, QColor> >::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPair<double, QColor> >::<anonymous union> (0xb569f7c0) 0
-Class QVector<QPair<double, QColor> >
- size=4 align=4
- base size=4 base align=4
-QVector<QPair<double, QColor> > (0xb569f740) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=32 align=4
- base size=32 base align=4
-QGradient::<anonymous union>::<anonymous struct> (0xb569f840) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=40 align=4
- base size=40 base align=4
-QGradient::<anonymous union>::<anonymous struct> (0xb569f880) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=24 align=4
- base size=24 base align=4
-QGradient::<anonymous union>::<anonymous struct> (0xb569f8c0) 0
-Class QGradient::<anonymous union>
- size=40 align=4
- base size=40 base align=4
-QGradient::<anonymous union> (0xb569f800) 0
Class QGradient
size=56 align=4
@@ -4480,30 +3638,14 @@ Class QTextLength
base size=12 base align=4
QTextLength (0xb569fa80) 0
-Class QSharedDataPointer<QTextFormatPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextFormatPrivate> (0xb569fbc0) 0
Class QTextFormat
size=8 align=4
base size=8 base align=4
QTextFormat (0xb569fb40) 0
-Class QVector<QTextLength>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength>::<anonymous union> (0xb569fd40) 0
-Class QVector<QTextLength>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength> (0xb569fcc0) 0
-Class QFlags<QTextFormat::PageBreakFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextFormat::PageBreakFlag> (0xb569fd80) 0
Class QTextCharFormat
size=8 align=4
@@ -4643,10 +3785,6 @@ QTextFrame (0xb569fc40) 0
QObject (0xb541c040) 0
primary-for QTextObject (0xb541c000)
-Class QTypeInfo<QTextFrame::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFrame::iterator> (0xb541c180) 0 empty
Vtable for QTextBlockUserData
QTextBlockUserData::_ZTV18QTextBlockUserData: 4u entries
@@ -4671,25 +3809,13 @@ Class QTextBlock
base size=8 base align=4
QTextBlock (0xb541c240) 0
-Class QTypeInfo<QTextBlock>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock> (0xb541c2c0) 0 empty
-Class QTypeInfo<QTextBlock::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock::iterator> (0xb541c300) 0 empty
Class QTextFragment
size=12 align=4
base size=12 base align=4
QTextFragment (0xb541c340) 0
-Class QTypeInfo<QTextFragment>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFragment> (0xb541c380) 0 empty
Class QTextDocumentFragment
size=4 align=4
@@ -4756,10 +3882,6 @@ QTextTable (0xb541c500) 0
QObject (0xb541c5c0) 0
primary-for QTextObject (0xb541c580)
-Class QSharedDataPointer<QTextCursorPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextCursorPrivate> (0xb541c740) 0
Class QTextCursor
size=4 align=4
@@ -4808,10 +3930,6 @@ Class QTextOption
base size=24 base align=4
QTextOption (0xb541c980) 0
-Class QFlags<QTextOption::Flag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextOption::Flag> (0xb541c9c0) 0
Class QTextInlineObject
size=8 align=4
@@ -4828,15 +3946,7 @@ Class QTextLayout
base size=4 base align=4
QTextLayout (0xb541ca40) 0
-Class QVector<QTextLayout::FormatRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange>::<anonymous union> (0xb541cbc0) 0
-Class QVector<QTextLayout::FormatRange>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange> (0xb541cb40) 0
Class QTextLine
size=8 align=4
@@ -4886,10 +3996,6 @@ QTextDocument (0xb541cd00) 0
QObject (0xb541cd40) 0
primary-for QTextDocument (0xb541cd00)
-Class QFlags<QTextDocument::FindFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextDocument::FindFlag> (0xb541cdc0) 0
Class QPalette
size=8 align=4
@@ -4907,15 +4013,7 @@ Class QAbstractTextDocumentLayout::Selection
base size=12 base align=4
QAbstractTextDocumentLayout::Selection (0xb541cfc0) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union> (0xb541c700) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection> (0xb541c480) 0
Class QAbstractTextDocumentLayout::PaintContext
size=48 align=4
@@ -4977,10 +4075,6 @@ Class QSizePolicy
base size=4 base align=4
QSizePolicy (0xb541ce40) 0
-Class QFlags<QSizePolicy::ControlType>
- size=4 align=4
- base size=4 base align=4
-QFlags<QSizePolicy::ControlType> (0xb53c00c0) 0
Vtable for QStyle
QStyle::_ZTV6QStyle: 35u entries
@@ -5028,15 +4122,7 @@ QStyle (0xb53c0100) 0
QObject (0xb53c0140) 0
primary-for QStyle (0xb53c0100)
-Class QFlags<QStyle::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::StateFlag> (0xb53c0200) 0
-Class QFlags<QStyle::SubControl>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::SubControl> (0xb53c0240) 0
Vtable for QCommonStyle
QCommonStyle::_ZTV12QCommonStyle: 35u entries
@@ -5242,10 +4328,6 @@ QWindowsXPStyle (0xb53c0780) 0
QObject (0xb53c0880) 0
primary-for QStyle (0xb53c0840)
-Class QPointer<QFocusFrame>
- size=4 align=4
- base size=4 base align=4
-QPointer<QFocusFrame> (0xb53c0a40) 0
Vtable for QMotifStyle
QMotifStyle::_ZTV11QMotifStyle: 35u entries
@@ -5541,10 +4623,6 @@ QWidget (0xb53c0040) 0
QPaintDevice (0xb53c01c0) 8
vptr=((& QWidget::_ZTV7QWidget) + 232u)
-Class QFlags<QWidget::RenderFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QWidget::RenderFlag> (0xb53c0480) 0
Vtable for QValidator
QValidator::_ZTV10QValidator: 16u entries
@@ -5745,10 +4823,6 @@ QAbstractSpinBox (0xb51a4140) 0
QPaintDevice (0xb51a4200) 8
vptr=((& QAbstractSpinBox::_ZTV16QAbstractSpinBox) + 252u)
-Class QFlags<QAbstractSpinBox::StepEnabledFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractSpinBox::StepEnabledFlag> (0xb51a4280) 0
Vtable for QAbstractSlider
QAbstractSlider::_ZTV15QAbstractSlider: 64u entries
@@ -6167,10 +5241,6 @@ Class QStyleOptionFrame
QStyleOptionFrame (0xb51a4ac0) 0
QStyleOption (0xb51a4b00) 0
-Class QFlags<QStyleOptionFrameV2::FrameFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionFrameV2::FrameFeature> (0xb51a4c80) 0
Class QStyleOptionFrameV2
size=56 align=4
@@ -6197,10 +5267,6 @@ Class QStyleOptionHeader
QStyleOptionHeader (0xb51a4f00) 0
QStyleOption (0xb51a4f40) 0
-Class QFlags<QStyleOptionButton::ButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionButton::ButtonFeature> (0xb51a4240) 0
Class QStyleOptionButton
size=64 align=4
@@ -6208,10 +5274,6 @@ Class QStyleOptionButton
QStyleOptionButton (0xb51a4000) 0
QStyleOption (0xb51a4100) 0
-Class QFlags<QStyleOptionTab::CornerWidget>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionTab::CornerWidget> (0xb51a46c0) 0
Class QStyleOptionTab
size=72 align=4
@@ -6226,10 +5288,6 @@ QStyleOptionTabV2 (0xb51a4840) 0
QStyleOptionTab (0xb51a4980) 0
QStyleOption (0xb51a4a80) 0
-Class QFlags<QStyleOptionToolBar::ToolBarFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionToolBar::ToolBarFeature> (0xb51a4fc0) 0
Class QStyleOptionToolBar
size=68 align=4
@@ -6256,10 +5314,6 @@ Class QStyleOptionMenuItem
QStyleOptionMenuItem (0xb4ee8200) 0
QStyleOption (0xb4ee8240) 0
-Class QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature> (0xb4ee8380) 0
Class QStyleOptionQ3ListViewItem
size=64 align=4
@@ -6292,10 +5346,6 @@ Class QStyleOptionViewItem
QStyleOptionViewItem (0xb4ee86c0) 0
QStyleOption (0xb4ee8700) 0
-Class QFlags<QStyleOptionViewItemV2::ViewItemFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionViewItemV2::ViewItemFeature> (0xb4ee8880) 0
Class QStyleOptionViewItemV2
size=84 align=4
@@ -6351,15 +5401,7 @@ QStyleOptionSpinBox (0xb4ee8f80) 0
QStyleOptionComplex (0xb4ee8fc0) 0
QStyleOption (0xb4ee8000) 0
-Class QList<QStyleOptionQ3ListViewItem>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::<anonymous union> (0xb4ee8540) 0
-Class QList<QStyleOptionQ3ListViewItem>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem> (0xb4ee83c0) 0
Class QStyleOptionQ3ListView
size=84 align=4
@@ -6368,10 +5410,6 @@ QStyleOptionQ3ListView (0xb4ee8100) 0
QStyleOptionComplex (0xb4ee8280) 0
QStyleOption (0xb4ee8340) 0
-Class QFlags<QStyleOptionToolButton::ToolButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionToolButton::ToolButtonFeature> (0xb4ee8e00) 0
Class QStyleOptionToolButton
size=96 align=4
@@ -6488,10 +5526,6 @@ Class QStyleFactory
base size=0 base align=1
QStyleFactory (0xb4fd0780) 0 empty
-Class QFlags<QTreeWidgetItemIterator::IteratorFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTreeWidgetItemIterator::IteratorFlag> (0xb4fd0840) 0
Class QTreeWidgetItemIterator
size=12 align=4
@@ -6663,10 +5697,6 @@ Class QItemSelectionRange
base size=8 base align=4
QItemSelectionRange (0xb4fd0b40) 0
-Class QTypeInfo<QItemSelectionRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QItemSelectionRange> (0xb4fd0bc0) 0 empty
Vtable for QItemSelectionModel
QItemSelectionModel::_ZTV19QItemSelectionModel: 18u entries
@@ -6697,20 +5727,8 @@ QItemSelectionModel (0xb4fd0c00) 0
QObject (0xb4fd0c40) 0
primary-for QItemSelectionModel (0xb4fd0c00)
-Class QFlags<QItemSelectionModel::SelectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QItemSelectionModel::SelectionFlag> (0xb4fd0cc0) 0
-Class QList<QItemSelectionRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::<anonymous union> (0xb4fd0d80) 0
-Class QList<QItemSelectionRange>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange> (0xb4fd0d00) 0
Class QItemSelection
size=4 align=4
@@ -6872,10 +5890,6 @@ QAbstractItemView (0xb4fd0f00) 0
QPaintDevice (0xb4fd0180) 8
vptr=((& QAbstractItemView::_ZTV17QAbstractItemView) + 392u)
-Class QFlags<QAbstractItemView::EditTrigger>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractItemView::EditTrigger> (0xb4fd03c0) 0
Vtable for QListView
QListView::_ZTV9QListView: 103u entries
@@ -7140,15 +6154,7 @@ Class QItemEditorCreatorBase
QItemEditorCreatorBase (0xb4d1e280) 0 nearly-empty
vptr=((& QItemEditorCreatorBase::_ZTV22QItemEditorCreatorBase) + 8u)
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union> (0xb4d1e540) 0
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*> (0xb4d1e4c0) 0
Vtable for QItemEditorFactory
QItemEditorFactory::_ZTV18QItemEditorFactory: 6u entries
@@ -7296,15 +6302,7 @@ Class QTableWidgetSelectionRange
base size=16 base align=4
QTableWidgetSelectionRange (0xb4d1e800) 0
-Class QVector<QWidgetItemData>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData>::<anonymous union> (0xb4d1e940) 0
-Class QVector<QWidgetItemData>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData> (0xb4d1e8c0) 0
Vtable for QTableWidgetItem
QTableWidgetItem::_ZTV16QTableWidgetItem: 10u entries
@@ -7790,15 +6788,7 @@ Class QStandardItem
QStandardItem (0xb4d1edc0) 0
vptr=((& QStandardItem::_ZTV13QStandardItem) + 8u)
-Class QList<QStandardItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QStandardItem*>::<anonymous union> (0xb4c75100) 0
-Class QList<QStandardItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QStandardItem*> (0xb4c75080) 0
Vtable for QStandardItemModel
QStandardItemModel::_ZTV18QStandardItemModel: 42u entries
@@ -7926,25 +6916,9 @@ QDirModel (0xb4c75300) 0
QObject (0xb4c75380) 0
primary-for QAbstractItemModel (0xb4c75340)
-Class QVector<QVector<QWidgetItemData> >::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> >::<anonymous union> (0xb4c75500) 0
-Class QVector<QVector<QWidgetItemData> >
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> > (0xb4c75480) 0
-Class QList<QTreeWidgetItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::<anonymous union> (0xb4c75600) 0
-Class QList<QTreeWidgetItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*> (0xb4c75580) 0
Vtable for QTreeWidgetItem
QTreeWidgetItem::_ZTV15QTreeWidgetItem: 10u entries
@@ -8540,15 +7514,7 @@ QActionGroup (0xb4c75440) 0
QObject (0xb4c75540) 0
primary-for QActionGroup (0xb4c75440)
-Class QList<QAction*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QAction*>::<anonymous union> (0xb4c75b40) 0
-Class QList<QAction*>
- size=4 align=4
- base size=4 base align=4
-QList<QAction*> (0xb4c75880) 0
Vtable for QLayoutItem
QLayoutItem::_ZTV11QLayoutItem: 18u entries
@@ -9687,10 +8653,6 @@ QMdiArea (0xb47f60c0) 0
QPaintDevice (0xb47f6200) 8
vptr=((& QMdiArea::_ZTV8QMdiArea) + 240u)
-Class QFlags<QMdiArea::AreaOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QMdiArea::AreaOption> (0xb47f6280) 0
Vtable for QAbstractButton
QAbstractButton::_ZTV15QAbstractButton: 66u entries
@@ -10012,10 +8974,6 @@ QMdiSubWindow (0xb47f66c0) 0
QPaintDevice (0xb47f6780) 8
vptr=((& QMdiSubWindow::_ZTV13QMdiSubWindow) + 232u)
-Class QFlags<QMdiSubWindow::SubWindowOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QMdiSubWindow::SubWindowOption> (0xb47f6800) 0
Vtable for QCalendarWidget
QCalendarWidget::_ZTV15QCalendarWidget: 64u entries
@@ -10493,10 +9451,6 @@ QDialogButtonBox (0xb47f6f80) 0
QPaintDevice (0xb47f6240) 8
vptr=((& QDialogButtonBox::_ZTV16QDialogButtonBox) + 232u)
-Class QFlags<QDialogButtonBox::StandardButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDialogButtonBox::StandardButton> (0xb47f63c0) 0
Vtable for QDockWidget
QDockWidget::_ZTV11QDockWidget: 63u entries
@@ -10576,10 +9530,6 @@ QDockWidget (0xb47f6540) 0
QPaintDevice (0xb47f6980) 8
vptr=((& QDockWidget::_ZTV11QDockWidget) + 232u)
-Class QFlags<QDockWidget::DockWidgetFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDockWidget::DockWidgetFeature> (0xb47f6c40) 0
Vtable for QScrollArea
QScrollArea::_ZTV11QScrollArea: 65u entries
@@ -10930,10 +9880,6 @@ QDateEdit (0xb47b6440) 0
QPaintDevice (0xb47b6580) 8
vptr=((& QDateEdit::_ZTV9QDateEdit) + 260u)
-Class QFlags<QDateTimeEdit::Section>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDateTimeEdit::Section> (0xb47b6600) 0
Vtable for QFontComboBox
QFontComboBox::_ZTV13QFontComboBox: 65u entries
@@ -11017,10 +9963,6 @@ QFontComboBox (0xb47b6640) 0
QPaintDevice (0xb47b6740) 8
vptr=((& QFontComboBox::_ZTV13QFontComboBox) + 240u)
-Class QFlags<QFontComboBox::FontFilter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFontComboBox::FontFilter> (0xb47b67c0) 0
Vtable for QToolBox
QToolBox::_ZTV8QToolBox: 65u entries
@@ -11275,10 +10217,6 @@ QTextEdit (0xb47b6ac0) 0
QPaintDevice (0xb47b6c00) 8
vptr=((& QTextEdit::_ZTV9QTextEdit) + 256u)
-Class QFlags<QTextEdit::AutoFormattingFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextEdit::AutoFormattingFlag> (0xb47b6d00) 0
Vtable for QTextBrowser
QTextBrowser::_ZTV12QTextBrowser: 74u entries
@@ -12210,10 +11148,6 @@ QMainWindow (0xb44ff980) 0
QPaintDevice (0xb44ffa40) 8
vptr=((& QMainWindow::_ZTV11QMainWindow) + 236u)
-Class QFlags<QMainWindow::DockOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QMainWindow::DockOption> (0xb44ffac0) 0
Vtable for QDial
QDial::_ZTV5QDial: 64u entries
@@ -12786,20 +11720,8 @@ Class QGraphicsItem
QGraphicsItem (0xb44485c0) 0
vptr=((& QGraphicsItem::_ZTV13QGraphicsItem) + 8u)
-Class QFlags<QGraphicsItem::GraphicsItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGraphicsItem::GraphicsItemFlag> (0xb44486c0) 0
-Class QMetaTypeId<QGraphicsItem*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QGraphicsItem*> (0xb4448700) 0 empty
-Class QMetaTypeId<QGraphicsScene*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QGraphicsScene*> (0xb44487c0) 0 empty
Vtable for QAbstractGraphicsShapeItem
QAbstractGraphicsShapeItem::_ZTV26QAbstractGraphicsShapeItem: 39u entries
@@ -13361,50 +12283,14 @@ Class QPainter
base size=4 base align=4
QPainter (0xb4448480) 0
-Class QFlags<QPainter::RenderHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPainter::RenderHint> (0xb4448600) 0
-Class QVector<QLineF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF>::<anonymous union> (0xb4448a00) 0
-Class QVector<QLineF>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF> (0xb4448680) 0
-Class QVector<QLine>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine>::<anonymous union> (0xb4448dc0) 0
-Class QVector<QLine>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine> (0xb4448c00) 0
-Class QVector<QRectF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF>::<anonymous union> (0xb43bc040) 0
-Class QVector<QRectF>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF> (0xb4448f80) 0
-Class QVector<QRect>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect>::<anonymous union> (0xb43bc140) 0
-Class QVector<QRect>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect> (0xb43bc0c0) 0
Vtable for QGraphicsScene
QGraphicsScene::_ZTV14QGraphicsScene: 34u entries
@@ -13451,20 +12337,8 @@ QGraphicsScene (0xb43bc180) 0
QObject (0xb43bc1c0) 0
primary-for QGraphicsScene (0xb43bc180)
-Class QFlags<QGraphicsScene::SceneLayer>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGraphicsScene::SceneLayer> (0xb43bc2c0) 0
-Class QList<QGraphicsItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QGraphicsItem*>::<anonymous union> (0xb43bc380) 0
-Class QList<QGraphicsItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QGraphicsItem*> (0xb43bc300) 0
Vtable for QGraphicsView
QGraphicsView::_ZTV13QGraphicsView: 68u entries
@@ -13553,15 +12427,7 @@ QGraphicsView (0xb43bc3c0) 0
QPaintDevice (0xb43bc500) 8
vptr=((& QGraphicsView::_ZTV13QGraphicsView) + 252u)
-Class QFlags<QGraphicsView::CacheModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGraphicsView::CacheModeFlag> (0xb43bc5c0) 0
-Class QFlags<QGraphicsView::OptimizationFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGraphicsView::OptimizationFlag> (0xb43bc600) 0
Vtable for QGraphicsItemAnimation
QGraphicsItemAnimation::_ZTV22QGraphicsItemAnimation: 16u entries
@@ -13921,10 +12787,6 @@ QAbstractPrintDialog (0xb43bcb40) 0
QPaintDevice (0xb43bcc40) 8
vptr=((& QAbstractPrintDialog::_ZTV20QAbstractPrintDialog) + 248u)
-Class QFlags<QAbstractPrintDialog::PrintDialogOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractPrintDialog::PrintDialogOption> (0xb43bcd00) 0
Vtable for QPrintDialog
QPrintDialog::_ZTV12QPrintDialog: 67u entries
@@ -14183,10 +13045,6 @@ QWizard (0xb43bc580) 0
QPaintDevice (0xb43bcb00) 8
vptr=((& QWizard::_ZTV7QWizard) + 260u)
-Class QFlags<QWizard::WizardOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QWizard::WizardOption> (0xb43bccc0) 0
Vtable for QWizardPage
QWizardPage::_ZTV11QWizardPage: 68u entries
@@ -14354,10 +13212,6 @@ QFileDialog (0xb4192100) 0
QPaintDevice (0xb4192200) 8
vptr=((& QFileDialog::_ZTV11QFileDialog) + 244u)
-Class QFlags<QFileDialog::Option>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileDialog::Option> (0xb41922c0) 0
Vtable for QFontDialog
QFontDialog::_ZTV11QFontDialog: 66u entries
@@ -14694,10 +13548,6 @@ QMessageBox (0xb41927c0) 0
QPaintDevice (0xb41928c0) 8
vptr=((& QMessageBox::_ZTV11QMessageBox) + 244u)
-Class QFlags<QMessageBox::StandardButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<QMessageBox::StandardButton> (0xb4192980) 0
Vtable for QColorDialog
QColorDialog::_ZTV12QColorDialog: 66u entries
@@ -15173,15 +14023,7 @@ Class QTextItem
base size=0 base align=1
QTextItem (0xb40cb300) 0 empty
-Class QTypeInfo<QTextItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextItem> (0xb40cb340) 0 empty
-Class QFlags<QPaintEngine::PaintEngineFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::PaintEngineFeature> (0xb40cb400) 0
Vtable for QPaintEngine
QPaintEngine::_ZTV12QPaintEngine: 24u entries
@@ -15216,20 +14058,12 @@ Class QPaintEngine
QPaintEngine (0xb40cb380) 0
vptr=((& QPaintEngine::_ZTV12QPaintEngine) + 8u)
-Class QFlags<QPaintEngine::DirtyFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::DirtyFlag> (0xb40cb500) 0
Class QPaintEngineState
size=4 align=4
base size=4 base align=4
QPaintEngineState (0xb40cb480) 0
-Class QFlags<QTextItem::RenderFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextItem::RenderFlag> (0xb40cb540) 0
Vtable for QInputContext
QInputContext::_ZTV13QInputContext: 26u entries
@@ -15336,188 +14170,40 @@ QInputContextPlugin (0xb40cb740) 0
QFactoryInterface (0xb40cb800) 8 nearly-empty
primary-for QInputContextFactoryInterface (0xb40cb7c0)
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0xb40cb8c0) 0
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0xb40cb940) 0
-Class QVectorTypedData<QPoint>
- size=24 align=4
- base size=24 base align=4
-QVectorTypedData<QPoint> (0xb40cb9c0) 0
-Class QVectorTypedData<QPointF>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QPointF> (0xb40cba40) 0
-Class QVectorTypedData<QPainterPath::Element>
- size=36 align=4
- base size=36 base align=4
-QVectorTypedData<QPainterPath::Element> (0xb40cbac0) 0
-Class QVectorTypedData<QTextLength>
- size=28 align=4
- base size=28 base align=4
-QVectorTypedData<QTextLength> (0xb40cbc40) 0
-Class QVectorTypedData<QTextLayout::FormatRange>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QTextLayout::FormatRange> (0xb40cbcc0) 0
-Class QVectorTypedData<QAbstractTextDocumentLayout::Selection>
- size=28 align=4
- base size=28 base align=4
-QVectorTypedData<QAbstractTextDocumentLayout::Selection> (0xb40cbd40) 0
-Class QList<QTreeWidgetItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::Node (0xb40cbf40) 0
-Class QVectorTypedData<QVector<QWidgetItemData> >
- size=20 align=4
- base size=20 base align=4
-QVectorTypedData<QVector<QWidgetItemData> > (0xb40cbfc0) 0
-Class QList<QAction*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QAction*>::Node (0xb40cb100) 0
-Class QVectorTypedData<QLineF>
- size=48 align=4
- base size=48 base align=4
-QVectorTypedData<QLineF> (0xb40cb4c0) 0
-Class QVectorTypedData<QLine>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QLine> (0xb40cb700) 0
-Class QVectorTypedData<QRectF>
- size=48 align=4
- base size=48 base align=4
-QVectorTypedData<QRectF> (0xb40cbb40) 0
-Class QVectorTypedData<QRect>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QRect> (0xb3c80040) 0
-Class QMetaTypeId2<QSet<QAccessible::Method> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSet<QAccessible::Method> > (0xb3c80100) 0 empty
-Class QHashNode<QAccessible::Method, QHashDummyValue>
- size=16 align=4
- base size=13 base align=4
-QHashNode<QAccessible::Method, QHashDummyValue> (0xb3c80180) 0
-Class QTypeInfo<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLength> (0xb3c80200) 0 empty
-Class QTypeInfo<QTextLayout::FormatRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLayout::FormatRange> (0xb3c802c0) 0 empty
-Class QTypeInfo<QAbstractTextDocumentLayout::Selection>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAbstractTextDocumentLayout::Selection> (0xb3c803c0) 0 empty
-Class QHashNode<QVariant::Type, QItemEditorCreatorBase*>
- size=16 align=4
- base size=16 base align=4
-QHashNode<QVariant::Type, QItemEditorCreatorBase*> (0xb3c80480) 0
-Class QTypeInfo<QStandardItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QStandardItem*> (0xb3c80500) 0 empty
-Class QTypeInfo<QTreeWidgetItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTreeWidgetItem*> (0xb3c80580) 0 empty
-Class QTypeInfo<QAction*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAction*> (0xb3c80600) 0 empty
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0xb3c80680) 0
-Class QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union> (0xb3c80700) 0
-Class QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union> (0xb3c807c0) 0
-Class QList<QVariant>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::Node (0xb3c80880) 0
-Class QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union> (0xb3c80940) 0
-Class QTypeInfo<QStyleOptionQ3ListViewItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QStyleOptionQ3ListViewItem> (0xb3c80a00) 0 empty
-Class QList<QStyleOptionQ3ListViewItem>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::Node (0xb3c80a80) 0
-Class QList<QItemSelectionRange>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::Node (0xb3c80b40) 0
-Class QList<QStandardItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QStandardItem*>::Node (0xb3c80c00) 0
-Class QTypeInfo<QGraphicsItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QGraphicsItem*> (0xb3c80c80) 0 empty
-Class QList<QGraphicsItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QGraphicsItem*>::Node (0xb3c80d00) 0
-Class QHashDummyNode<QAccessible::Method, QHashDummyValue>
- size=12 align=4
- base size=12 base align=4
-QHashDummyNode<QAccessible::Method, QHashDummyValue> (0xb3c80d80) 0
-Class QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union> (0xb3c80e00) 0
diff --git a/tests/auto/bic/data/QtGui.4.3.1.linux-gcc-ia32.txt b/tests/auto/bic/data/QtGui.4.3.1.linux-gcc-ia32.txt
index 74254cb..a9d6878 100644
--- a/tests/auto/bic/data/QtGui.4.3.1.linux-gcc-ia32.txt
+++ b/tests/auto/bic/data/QtGui.4.3.1.linux-gcc-ia32.txt
@@ -1,34 +1,8 @@
-Class QUintForSize<4>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<4> (0xb7f34d80) 0 empty
-Class QUintForSize<8>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<8> (0xb7f34dc0) 0 empty
-Class QUintForType<void*>
- size=1 align=1
- base size=1 base align=1
-QUintForType<void*> (0xb7f34e80) 0 empty
- QUintForSize<4> (0xb7f34ec0) 0 empty
-Class QIntForSize<4>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<4> (0xb7f34f40) 0 empty
-Class QIntForSize<8>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<8> (0xb7f34f80) 0 empty
-Class QIntForType<void*>
- size=1 align=1
- base size=1 base align=1
-QIntForType<void*> (0xb7430040) 0 empty
- QIntForSize<4> (0xb7430080) 0 empty
Class QSysInfo
size=1 align=1
@@ -50,80 +24,20 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0xb7430340) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0xb7430400) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0xb7430440) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0xb7430480) 0 empty
-Class QTypeInfo<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned char> (0xb74304c0) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0xb7430500) 0 empty
-Class QTypeInfo<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short unsigned int> (0xb7430540) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0xb7430580) 0 empty
-Class QTypeInfo<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned int> (0xb74305c0) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0xb7430600) 0 empty
-Class QTypeInfo<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long unsigned int> (0xb7430640) 0 empty
-Class QTypeInfo<long long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long int> (0xb7430680) 0 empty
-Class QTypeInfo<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long unsigned int> (0xb74306c0) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0xb7430700) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0xb7430740) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0xb7430780) 0 empty
Class QFlag
size=4 align=4
@@ -161,10 +75,6 @@ Class QByteRef
base size=8 base align=4
QByteRef (0xb7430bc0) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0xb7430c00) 0 empty
Vtable for std::exception
std::exception::_ZTVSt9exception: 5u entries
@@ -227,70 +137,18 @@ Class QListData
base size=4 base align=4
QListData (0xb7430f00) 0
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0xb69bf100) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0xb69bf140) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0xb69bf180) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0xb69bf1c0) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0xb69bf200) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0xb69bf240) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0xb69bf280) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0xb69bf2c0) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0xb69bf300) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0xb69bf340) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0xb69bf380) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0xb69bf3c0) 0
-Class QFlags<Qt::TextInteractionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::TextInteractionFlag> (0xb69bf400) 0
Class QInternal
size=1 align=1
@@ -308,10 +166,6 @@ Class QGenericReturnArgument
QGenericReturnArgument (0xb69bf500) 0
QGenericArgument (0xb69bf540) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0xb69bf700) 0
Class QMetaObject
size=16 align=4
@@ -328,10 +182,6 @@ Class QChar
base size=2 base align=2
QChar (0xb69bf7c0) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0xb69bf840) 0 empty
Class QString::Null
size=1 align=1
@@ -348,10 +198,6 @@ Class QString
base size=4 base align=4
QString (0xb69bf880) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0xb69bfa80) 0
Class QLatin1String
size=4 align=4
@@ -369,25 +215,13 @@ Class QConstString
QConstString (0xb69bfb40) 0
QString (0xb69bfb80) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0xb69bfbc0) 0 empty
Class QStringRef
size=12 align=4
base size=12 base align=4
QStringRef (0xb69bfc00) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0xb69bfd40) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0xb69bfcc0) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -479,10 +313,6 @@ QIODevice (0xb69bff80) 0
QObject (0xb69bffc0) 0
primary-for QIODevice (0xb69bff80)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0xb69bf000) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -502,275 +332,59 @@ Class QMetaType
base size=0 base align=1
QMetaType (0xb69bfa00) 0 empty
-Class QMetaTypeId2<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QString> (0xb65a2000) 0 empty
-Class QMetaTypeId2<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<int> (0xb65a2040) 0 empty
-Class QMetaTypeId2<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned int> (0xb65a2080) 0 empty
-Class QMetaTypeId2<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<bool> (0xb65a20c0) 0 empty
-Class QMetaTypeId2<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<double> (0xb65a2100) 0 empty
-Class QMetaTypeId2<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QByteArray> (0xb65a2140) 0 empty
-Class QMetaTypeId2<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QChar> (0xb65a2180) 0 empty
-Class QMetaTypeId2<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long int> (0xb65a21c0) 0 empty
-Class QMetaTypeId2<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short int> (0xb65a2200) 0 empty
-Class QMetaTypeId2<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<char> (0xb65a2240) 0 empty
-Class QMetaTypeId2<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long unsigned int> (0xb65a2280) 0 empty
-Class QMetaTypeId2<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short unsigned int> (0xb65a22c0) 0 empty
-Class QMetaTypeId2<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned char> (0xb65a2300) 0 empty
-Class QMetaTypeId2<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<float> (0xb65a2340) 0 empty
-Class QMetaTypeId2<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QObject*> (0xb65a2380) 0 empty
-Class QMetaTypeId2<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QWidget*> (0xb65a23c0) 0 empty
-Class QMetaTypeId2<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<void*> (0xb65a2400) 0 empty
-Class QMetaTypeId2<long long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long int> (0xb65a2440) 0 empty
-Class QMetaTypeId2<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long unsigned int> (0xb65a2480) 0 empty
-Class QMetaTypeId2<QStringList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QStringList> (0xb65a24c0) 0 empty
-Class QMetaTypeId2<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitArray> (0xb65a2500) 0 empty
-Class QMetaTypeId2<QDate>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDate> (0xb65a2540) 0 empty
-Class QMetaTypeId2<QTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTime> (0xb65a2580) 0 empty
-Class QMetaTypeId2<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDateTime> (0xb65a25c0) 0 empty
-Class QMetaTypeId2<QUrl>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QUrl> (0xb65a2600) 0 empty
-Class QMetaTypeId2<QLocale>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLocale> (0xb65a2640) 0 empty
-Class QMetaTypeId2<QRect>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRect> (0xb65a2680) 0 empty
-Class QMetaTypeId2<QRectF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRectF> (0xb65a26c0) 0 empty
-Class QMetaTypeId2<QSize>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSize> (0xb65a2700) 0 empty
-Class QMetaTypeId2<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizeF> (0xb65a2740) 0 empty
-Class QMetaTypeId2<QLine>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLine> (0xb65a2780) 0 empty
-Class QMetaTypeId2<QLineF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLineF> (0xb65a27c0) 0 empty
-Class QMetaTypeId2<QPoint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPoint> (0xb65a2800) 0 empty
-Class QMetaTypeId2<QPointF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPointF> (0xb65a2840) 0 empty
-Class QMetaTypeId2<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegExp> (0xb65a2880) 0 empty
-Class QMetaTypeId2<QColorGroup>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColorGroup> (0xb65a28c0) 0 empty
-Class QMetaTypeId2<QFont>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QFont> (0xb65a2900) 0 empty
-Class QMetaTypeId2<QPixmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPixmap> (0xb65a2940) 0 empty
-Class QMetaTypeId2<QBrush>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBrush> (0xb65a2980) 0 empty
-Class QMetaTypeId2<QColor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColor> (0xb65a29c0) 0 empty
-Class QMetaTypeId2<QPalette>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPalette> (0xb65a2a00) 0 empty
-Class QMetaTypeId2<QIcon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QIcon> (0xb65a2a40) 0 empty
-Class QMetaTypeId2<QImage>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QImage> (0xb65a2a80) 0 empty
-Class QMetaTypeId2<QPolygon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPolygon> (0xb65a2ac0) 0 empty
-Class QMetaTypeId2<QRegion>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegion> (0xb65a2b00) 0 empty
-Class QMetaTypeId2<QBitmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitmap> (0xb65a2b40) 0 empty
-Class QMetaTypeId2<QCursor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QCursor> (0xb65a2b80) 0 empty
-Class QMetaTypeId2<QSizePolicy>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizePolicy> (0xb65a2bc0) 0 empty
-Class QMetaTypeId2<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QKeySequence> (0xb65a2c00) 0 empty
-Class QMetaTypeId2<QPen>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPen> (0xb65a2c40) 0 empty
-Class QMetaTypeId2<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextLength> (0xb65a2c80) 0 empty
-Class QMetaTypeId2<QTextFormat>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextFormat> (0xb65a2cc0) 0 empty
-Class QMetaTypeId2<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMatrix> (0xb65a2d00) 0 empty
-Class QMetaTypeId2<QTransform>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTransform> (0xb65a2d40) 0 empty
Class QMapData::Node
size=8 align=4
@@ -807,45 +421,17 @@ Class QVariant
base size=12 base align=4
QVariant (0xb65e3200) 0
-Class QMetaTypeId2<QList<QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QList<QVariant> > (0xb65e3480) 0 empty
-Class QMetaTypeId2<QMap<QString, QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMap<QString, QVariant> > (0xb65e34c0) 0 empty
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0xb65e35c0) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0xb65e3540) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0xb65e36c0) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0xb65e3640) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0xb65e3740) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0xb65e37c0) 0 empty
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -972,10 +558,6 @@ QEventLoop (0xb65e3c40) 0
QObject (0xb65e3c80) 0
primary-for QEventLoop (0xb65e3c40)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0xb65e3d80) 0
Vtable for QCoreApplication
QCoreApplication::_ZTV16QCoreApplication: 16u entries
@@ -1009,10 +591,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0xb65e3f40) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0xb65e3f80) 0 empty
Vtable for QTimer
QTimer::_ZTV6QTimer: 14u entries
@@ -1069,20 +647,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0xb65e3440) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0xb65e3340) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0xb65e3400) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0xb65e3840) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -1277,20 +847,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0xb63df080) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0xb63df0c0) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0xb63df100) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0xb63df140) 0 empty
Class QMetaProperty
size=20 align=4
@@ -1302,10 +864,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0xb63df1c0) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0xb63df200) 0 empty
Vtable for QSocketNotifier
QSocketNotifier::_ZTV15QSocketNotifier: 14u entries
@@ -1408,100 +966,48 @@ Class QSize
base size=8 base align=4
QSize (0xb63df500) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0xb63df700) 0 empty
Class QSizeF
size=16 align=4
base size=16 base align=4
QSizeF (0xb63df780) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0xb63df980) 0 empty
Class QPoint
size=8 align=4
base size=8 base align=4
QPoint (0xb63dfa40) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0xb63dfc80) 0 empty
Class QPointF
size=16 align=4
base size=16 base align=4
QPointF (0xb63dfcc0) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0xb63dff00) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0xb63dff40) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0xb63df040) 0 empty
Class QRectF
size=32 align=4
base size=32 base align=4
QRectF (0xb63df2c0) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0xb63df380) 0 empty
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0xb63df540) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0xb63df580) 0
Class wait
size=4 align=4
base size=4 base align=4
wait (0xb63df440) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb63df5c0) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb63df600) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb63df640) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb63df680) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb63df6c0) 0
Class timespec
size=8 align=4
@@ -1513,80 +1019,24 @@ Class timeval
base size=8 base align=4
timeval (0xb63df800) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb63df840) 0
-Class <anonymous union>
- size=36 align=4
- base size=36 base align=4
-<anonymous union> (0xb63df880) 0
Class __pthread_internal_slist
size=4 align=4
base size=4 base align=4
__pthread_internal_slist (0xb63df8c0) 0
-Class <anonymous union>::__pthread_mutex_s::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union>::__pthread_mutex_s::<anonymous union> (0xb63dfa80) 0
-Class <anonymous union>::__pthread_mutex_s
- size=24 align=4
- base size=24 base align=4
-<anonymous union>::__pthread_mutex_s (0xb63df940) 0
-Class <anonymous union>
- size=24 align=4
- base size=24 base align=4
-<anonymous union> (0xb63df900) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb63dfac0) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0xb63dfb40) 0
-Class <anonymous union>
- size=48 align=4
- base size=48 base align=4
-<anonymous union> (0xb63dfb00) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb63dfb80) 0
-Class <anonymous union>::<anonymous struct>
- size=32 align=4
- base size=32 base align=4
-<anonymous union>::<anonymous struct> (0xb63dfc00) 0
-Class <anonymous union>
- size=32 align=4
- base size=32 base align=4
-<anonymous union> (0xb63dfbc0) 0
-Class <anonymous union>
- size=8 align=4
- base size=8 base align=4
-<anonymous union> (0xb63dfc40) 0
-Class <anonymous union>
- size=20 align=4
- base size=20 base align=4
-<anonymous union> (0xb63dfd00) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb63dfd40) 0
Class random_data
size=28 align=4
@@ -1618,35 +1068,19 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0xb62001c0) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0xb6200200) 0 empty
Class QRegExp
size=4 align=4
base size=4 base align=4
QRegExp (0xb6200980) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0xb62009c0) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0xb6200a00) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0xb6200ac0) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0xb6200a40) 0
Class QStringList
size=4 align=4
@@ -1654,15 +1088,7 @@ Class QStringList
QStringList (0xb6200b00) 0
QList<QString> (0xb6200b40) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0xb6200bc0) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0xb6200c00) 0
Vtable for QTimeLine
QTimeLine::_ZTV9QTimeLine: 15u entries
@@ -1695,15 +1121,7 @@ Class QLocale
base size=4 base align=4
QLocale (0xb6200e00) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0xb6200e40) 0 empty
-Class QFlags<QLocale::NumberOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLocale::NumberOption> (0xb6200e80) 0
Vtable for QSystemLocale
QSystemLocale::_ZTV13QSystemLocale: 6u entries
@@ -1730,10 +1148,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0xb5fdc000) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0xb5fdc040) 0 empty
Class QCryptographicHash
size=4 align=4
@@ -1750,20 +1164,12 @@ Class QLine
base size=16 base align=4
QLine (0xb5fdc480) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0xb5fdc4c0) 0 empty
Class QLineF
size=32 align=4
base size=32 base align=4
QLineF (0xb5fdc500) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0xb5fdc540) 0 empty
Class QSharedData
size=4 align=4
@@ -1775,30 +1181,18 @@ Class QDate
base size=4 base align=4
QDate (0xb5fdc6c0) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0xb5fdc780) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0xb5fdc7c0) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0xb5fdc880) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0xb5fdc8c0) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0xb5fdc980) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -1810,20 +1204,12 @@ Class QReadWriteLock
base size=4 base align=4
QReadWriteLock (0xb5fdca00) 0
-Class QReadLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QReadLocker::<anonymous union> (0xb5fdca80) 0
Class QReadLocker
size=4 align=4
base size=4 base align=4
QReadLocker (0xb5fdca40) 0
-Class QWriteLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QWriteLocker::<anonymous union> (0xb5fdcb00) 0
Class QWriteLocker
size=4 align=4
@@ -1876,20 +1262,12 @@ Class QMutex
base size=4 base align=4
QMutex (0xb5fdcd40) 0
-Class QMutexLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMutexLocker::<anonymous union> (0xb5fdcdc0) 0
Class QMutexLocker
size=4 align=4
base size=4 base align=4
QMutexLocker (0xb5fdcd80) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0xb5fdcec0) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -1914,15 +1292,7 @@ Class QTextCodec
QTextCodec (0xb5fdce00) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0xb5fdc3c0) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0xb5fdcf80) 0
Class QTextEncoder
size=32 align=4
@@ -1934,25 +1304,9 @@ Class QTextDecoder
base size=32 base align=4
QTextDecoder (0xb5fdc740) 0
-Class <anonymous struct>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct>::<anonymous union> (0xb5fdc840) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb5fdc800) 0
-Class <anonymous struct>
- size=12 align=4
- base size=12 base align=4
-<anonymous struct> (0xb5fdc900) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb5fdc940) 0
Class __gconv_trans_data
size=20 align=4
@@ -1974,15 +1328,7 @@ Class __gconv_info
base size=8 base align=4
__gconv_info (0xb5dcd000) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0xb5dcd080) 0
-Class <anonymous union>
- size=44 align=4
- base size=44 base align=4
-<anonymous union> (0xb5dcd040) 0
Class _IO_marker
size=12 align=4
@@ -1994,10 +1340,6 @@ Class _IO_FILE
base size=148 base align=4
_IO_FILE (0xb5dcd100) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb5dcd140) 0
Vtable for QTextStream
QTextStream::_ZTV11QTextStream: 4u entries
@@ -2012,10 +1354,6 @@ Class QTextStream
QTextStream (0xb5dcd180) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0xb5dcd240) 0
Class QTextStreamManipulator
size=24 align=4
@@ -2131,35 +1469,15 @@ QFile (0xb5dcd680) 0
QObject (0xb5dcd700) 0
primary-for QIODevice (0xb5dcd6c0)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0xb5dcd780) 0
Class QFileInfo
size=4 align=4
base size=4 base align=4
QFileInfo (0xb5dcd7c0) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0xb5dcd800) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0xb5dcd840) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0xb5dcd900) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0xb5dcd880) 0
Vtable for QTemporaryFile
QTemporaryFile::_ZTV14QTemporaryFile: 31u entries
@@ -2212,15 +1530,7 @@ Class QDir
base size=4 base align=4
QDir (0xb5dcda80) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0xb5dcdb00) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0xb5dcdb80) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -2277,10 +1587,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0xb5dcdbc0) 0
vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0xb5dcdd40) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -2409,15 +1715,7 @@ Class QUrl
base size=4 base align=4
QUrl (0xb5dcd200) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0xb5dcd480) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0xb5dcd580) 0 empty
Vtable for QDirIterator
QDirIterator::_ZTV12QDirIterator: 4u entries
@@ -2432,10 +1730,6 @@ Class QDirIterator
QDirIterator (0xb5dcd640) 0
vptr=((& QDirIterator::_ZTV12QDirIterator) + 8u)
-Class QFlags<QDirIterator::IteratorFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDirIterator::IteratorFlag> (0xb5dcda40) 0
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -2541,10 +1835,6 @@ QLibrary (0xb5c3d140) 0
QObject (0xb5c3d180) 0
primary-for QLibrary (0xb5c3d140)
-Class QFlags<QLibrary::LoadHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLibrary::LoadHint> (0xb5c3d200) 0
Vtable for QPluginLoader
QPluginLoader::_ZTV13QPluginLoader: 14u entries
@@ -2674,10 +1964,6 @@ Class QSizePolicy
base size=4 base align=4
QSizePolicy (0xb5c3d740) 0
-Class QFlags<QSizePolicy::ControlType>
- size=4 align=4
- base size=4 base align=4
-QFlags<QSizePolicy::ControlType> (0xb5c3d840) 0
Vtable for QLayoutItem
QLayoutItem::_ZTV11QLayoutItem: 18u entries
@@ -3103,40 +2389,16 @@ Class QPaintDevice
QPaintDevice (0xb5c3d480) 0
vptr=((& QPaintDevice::_ZTV12QPaintDevice) + 8u)
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0xb5c3d800) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0xb5c3d8c0) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0xb5c3d980) 0
-Class QColor::<anonymous union>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union> (0xb5c3d7c0) 0
Class QColor
size=16 align=4
base size=14 base align=4
QColor (0xb5c3d700) 0
-Class QVector<QPoint>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint>::<anonymous union> (0xb5c3dcc0) 0
-Class QVector<QPoint>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint> (0xb5c3da40) 0
Class QPolygon
size=4 align=4
@@ -3144,15 +2406,7 @@ Class QPolygon
QPolygon (0xb5c3de00) 0
QVector<QPoint> (0xb5c3df80) 0
-Class QVector<QPointF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF>::<anonymous union> (0xb59ff080) 0
-Class QVector<QPointF>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF> (0xb59ff000) 0
Class QPolygonF
size=4 align=4
@@ -3175,10 +2429,6 @@ Class QMatrix
base size=48 base align=4
QMatrix (0xb59ff2c0) 0
-Class QTypeInfo<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMatrix> (0xb59ff300) 0 empty
Class QPainterPath::Element
size=20 align=4
@@ -3190,25 +2440,13 @@ Class QPainterPath
base size=4 base align=4
QPainterPath (0xb59ff340) 0
-Class QVector<QPainterPath::Element>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element>::<anonymous union> (0xb59ff5c0) 0
-Class QVector<QPainterPath::Element>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element> (0xb59ff540) 0
Class QPainterPathPrivate
size=8 align=4
base size=8 base align=4
QPainterPathPrivate (0xb59ff440) 0
-Class QTypeInfo<QPainterPath::Element>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPainterPath::Element> (0xb59ff600) 0 empty
Class QPainterPathStroker
size=4 align=4
@@ -3220,10 +2458,6 @@ Class QTransform
base size=80 base align=4
QTransform (0xb59ff700) 0
-Class QTypeInfo<QTransform>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTransform> (0xb59ff740) 0 empty
Class QImageTextKeyLang
size=8 align=4
@@ -3248,10 +2482,6 @@ QImage (0xb59ff800) 0
QPaintDevice (0xb59ff840) 0
primary-for QImage (0xb59ff800)
-Class QTypeInfo<QImage>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QImage> (0xb59ff980) 0 empty
Vtable for QPixmap
QPixmap::_ZTV7QPixmap: 7u entries
@@ -3276,45 +2506,17 @@ Class QBrush
base size=4 base align=4
QBrush (0xb59ffb40) 0
-Class QTypeInfo<QBrush>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBrush> (0xb59ffbc0) 0 empty
Class QBrushData
size=108 align=4
base size=105 base align=4
QBrushData (0xb59ffc00) 0
-Class QVector<QPair<double, QColor> >::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPair<double, QColor> >::<anonymous union> (0xb59ffd40) 0
-Class QVector<QPair<double, QColor> >
- size=4 align=4
- base size=4 base align=4
-QVector<QPair<double, QColor> > (0xb59ffcc0) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=32 align=4
- base size=32 base align=4
-QGradient::<anonymous union>::<anonymous struct> (0xb59ffdc0) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=40 align=4
- base size=40 base align=4
-QGradient::<anonymous union>::<anonymous struct> (0xb59ffe00) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=24 align=4
- base size=24 base align=4
-QGradient::<anonymous union>::<anonymous struct> (0xb59ffe40) 0
-Class QGradient::<anonymous union>
- size=40 align=4
- base size=40 base align=4
-QGradient::<anonymous union> (0xb59ffd80) 0
Class QGradient
size=56 align=4
@@ -3380,10 +2582,6 @@ Class QKeySequence
base size=4 base align=4
QKeySequence (0xb59ffa80) 0
-Class QTypeInfo<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QKeySequence> (0xb59ffac0) 0 empty
Class QWidgetData
size=64 align=4
@@ -3466,10 +2664,6 @@ QWidget (0xb59ffc80) 0
QPaintDevice (0xb584c040) 8
vptr=((& QWidget::_ZTV7QWidget) + 232u)
-Class QFlags<QWidget::RenderFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QWidget::RenderFlag> (0xb584c240) 0
Class QToolTip
size=1 align=1
@@ -3558,10 +2752,6 @@ Class QIcon
base size=4 base align=4
QIcon (0xb584c4c0) 0
-Class QTypeInfo<QIcon>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QIcon> (0xb584c580) 0 empty
Vtable for QAction
QAction::_ZTV7QAction: 14u entries
@@ -3613,15 +2803,7 @@ QActionGroup (0xb584c6c0) 0
QObject (0xb584c700) 0
primary-for QActionGroup (0xb584c6c0)
-Class QList<QAction*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QAction*>::<anonymous union> (0xb584c840) 0
-Class QList<QAction*>
- size=4 align=4
- base size=4 base align=4
-QList<QAction*> (0xb584c7c0) 0
Vtable for QShortcut
QShortcut::_ZTV9QShortcut: 14u entries
@@ -3961,15 +3143,7 @@ Class QInputMethodEvent::Attribute
base size=24 base align=4
QInputMethodEvent::Attribute (0xb56181c0) 0
-Class QList<QInputMethodEvent::Attribute>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute>::<anonymous union> (0xb56182c0) 0
-Class QList<QInputMethodEvent::Attribute>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute> (0xb5618240) 0
Vtable for QInputMethodEvent
QInputMethodEvent::_ZTV17QInputMethodEvent: 4u entries
@@ -4663,10 +3837,6 @@ QAbstractPrintDialog (0xb54cb100) 0
QPaintDevice (0xb54cb200) 8
vptr=((& QAbstractPrintDialog::_ZTV20QAbstractPrintDialog) + 248u)
-Class QFlags<QAbstractPrintDialog::PrintDialogOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractPrintDialog::PrintDialogOption> (0xb54cb2c0) 0
Vtable for QPrintDialog
QPrintDialog::_ZTV12QPrintDialog: 67u entries
@@ -4837,10 +4007,6 @@ QMessageBox (0xb54cb4c0) 0
QPaintDevice (0xb54cb5c0) 8
vptr=((& QMessageBox::_ZTV11QMessageBox) + 244u)
-Class QFlags<QMessageBox::StandardButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<QMessageBox::StandardButton> (0xb54cb680) 0
Vtable for QProgressDialog
QProgressDialog::_ZTV15QProgressDialog: 66u entries
@@ -5091,10 +4257,6 @@ QFileDialog (0xb54cb9c0) 0
QPaintDevice (0xb54cbac0) 8
vptr=((& QFileDialog::_ZTV11QFileDialog) + 244u)
-Class QFlags<QFileDialog::Option>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileDialog::Option> (0xb54cbb80) 0
Vtable for QErrorMessage
QErrorMessage::_ZTV13QErrorMessage: 66u entries
@@ -5505,10 +4667,6 @@ QWizard (0xb54cb800) 0
QPaintDevice (0xb54cbe40) 8
vptr=((& QWizard::_ZTV7QWizard) + 260u)
-Class QFlags<QWizard::WizardOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QWizard::WizardOption> (0xb54cbf80) 0
Vtable for QWizardPage
QWizardPage::_ZTV11QWizardPage: 68u entries
@@ -5850,10 +5008,6 @@ Class QItemSelectionRange
base size=8 base align=4
QItemSelectionRange (0xb5434600) 0
-Class QTypeInfo<QItemSelectionRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QItemSelectionRange> (0xb5434680) 0 empty
Vtable for QItemSelectionModel
QItemSelectionModel::_ZTV19QItemSelectionModel: 18u entries
@@ -5884,20 +5038,8 @@ QItemSelectionModel (0xb54346c0) 0
QObject (0xb5434700) 0
primary-for QItemSelectionModel (0xb54346c0)
-Class QFlags<QItemSelectionModel::SelectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QItemSelectionModel::SelectionFlag> (0xb5434780) 0
-Class QList<QItemSelectionRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::<anonymous union> (0xb5434840) 0
-Class QList<QItemSelectionRange>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange> (0xb54347c0) 0
Class QItemSelection
size=4 align=4
@@ -6104,10 +5246,6 @@ QAbstractSpinBox (0xb5434cc0) 0
QPaintDevice (0xb5434d80) 8
vptr=((& QAbstractSpinBox::_ZTV16QAbstractSpinBox) + 252u)
-Class QFlags<QAbstractSpinBox::StepEnabledFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractSpinBox::StepEnabledFlag> (0xb5434e00) 0
Vtable for QAbstractSlider
QAbstractSlider::_ZTV15QAbstractSlider: 64u entries
@@ -6315,15 +5453,7 @@ QStyle (0xb54345c0) 0
QObject (0xb5434740) 0
primary-for QStyle (0xb54345c0)
-Class QFlags<QStyle::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::StateFlag> (0xb5434a80) 0
-Class QFlags<QStyle::SubControl>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::SubControl> (0xb5434b80) 0
Vtable for QTabBar
QTabBar::_ZTV7QTabBar: 67u entries
@@ -6582,10 +5712,6 @@ Class QStyleOptionFrame
QStyleOptionFrame (0xb51c0440) 0
QStyleOption (0xb51c0480) 0
-Class QFlags<QStyleOptionFrameV2::FrameFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionFrameV2::FrameFeature> (0xb51c0600) 0
Class QStyleOptionFrameV2
size=56 align=4
@@ -6612,10 +5738,6 @@ Class QStyleOptionHeader
QStyleOptionHeader (0xb51c0880) 0
QStyleOption (0xb51c08c0) 0
-Class QFlags<QStyleOptionButton::ButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionButton::ButtonFeature> (0xb51c0a40) 0
Class QStyleOptionButton
size=64 align=4
@@ -6623,10 +5745,6 @@ Class QStyleOptionButton
QStyleOptionButton (0xb51c0980) 0
QStyleOption (0xb51c09c0) 0
-Class QFlags<QStyleOptionTab::CornerWidget>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionTab::CornerWidget> (0xb51c0bc0) 0
Class QStyleOptionTab
size=72 align=4
@@ -6641,10 +5759,6 @@ QStyleOptionTabV2 (0xb51c0c40) 0
QStyleOptionTab (0xb51c0c80) 0
QStyleOption (0xb51c0cc0) 0
-Class QFlags<QStyleOptionToolBar::ToolBarFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionToolBar::ToolBarFeature> (0xb51c0e40) 0
Class QStyleOptionToolBar
size=68 align=4
@@ -6671,10 +5785,6 @@ Class QStyleOptionMenuItem
QStyleOptionMenuItem (0xb51c0300) 0
QStyleOption (0xb51c0400) 0
-Class QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature> (0xb51c0780) 0
Class QStyleOptionQ3ListViewItem
size=64 align=4
@@ -6707,10 +5817,6 @@ Class QStyleOptionViewItem
QStyleOptionViewItem (0xb50cc000) 0
QStyleOption (0xb50cc040) 0
-Class QFlags<QStyleOptionViewItemV2::ViewItemFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionViewItemV2::ViewItemFeature> (0xb50cc1c0) 0
Class QStyleOptionViewItemV2
size=84 align=4
@@ -6766,15 +5872,7 @@ QStyleOptionSpinBox (0xb50cc8c0) 0
QStyleOptionComplex (0xb50cc900) 0
QStyleOption (0xb50cc940) 0
-Class QList<QStyleOptionQ3ListViewItem>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::<anonymous union> (0xb50ccb40) 0
-Class QList<QStyleOptionQ3ListViewItem>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem> (0xb50ccac0) 0
Class QStyleOptionQ3ListView
size=84 align=4
@@ -6783,10 +5881,6 @@ QStyleOptionQ3ListView (0xb50cc9c0) 0
QStyleOptionComplex (0xb50cca00) 0
QStyleOption (0xb50cca40) 0
-Class QFlags<QStyleOptionToolButton::ToolButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionToolButton::ToolButtonFeature> (0xb50ccd00) 0
Class QStyleOptionToolButton
size=96 align=4
@@ -7000,10 +6094,6 @@ QAbstractItemView (0xb4f8b080) 0
QPaintDevice (0xb4f8b1c0) 8
vptr=((& QAbstractItemView::_ZTV17QAbstractItemView) + 392u)
-Class QFlags<QAbstractItemView::EditTrigger>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractItemView::EditTrigger> (0xb4f8b280) 0
Vtable for QListView
QListView::_ZTV9QListView: 103u entries
@@ -7384,20 +6474,8 @@ Class QAccessible
base size=0 base align=1
QAccessible (0xb4f8bb80) 0 empty
-Class QFlags<QAccessible::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::StateFlag> (0xb4f8bc00) 0
-Class QFlags<QAccessible::RelationFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::RelationFlag> (0xb4f8bc40) 0
-Class QMetaTypeId<QSet<QAccessible::Method> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QSet<QAccessible::Method> > (0xb4f8bc80) 0 empty
Vtable for QAccessibleInterface
QAccessibleInterface::_ZTV20QAccessibleInterface: 19u entries
@@ -7428,20 +6506,8 @@ QAccessibleInterface (0xb4f8bd40) 0 nearly-empty
vptr=((& QAccessibleInterface::_ZTV20QAccessibleInterface) + 8u)
QAccessible (0xb4f8bd80) 0 empty
-Class QHash<QAccessible::Method, QHashDummyValue>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QHash<QAccessible::Method, QHashDummyValue>::<anonymous union> (0xb4f8bf00) 0
-Class QHash<QAccessible::Method, QHashDummyValue>
- size=4 align=4
- base size=4 base align=4
-QHash<QAccessible::Method, QHashDummyValue> (0xb4f8be80) 0
-Class QSet<QAccessible::Method>
- size=4 align=4
- base size=4 base align=4
-QSet<QAccessible::Method> (0xb4f8be00) 0
Vtable for QAccessibleInterfaceEx
QAccessibleInterfaceEx::_ZTV22QAccessibleInterfaceEx: 22u entries
@@ -8862,10 +7928,6 @@ QDateEdit (0xb4d85980) 0
QPaintDevice (0xb4d85ac0) 8
vptr=((& QDateEdit::_ZTV9QDateEdit) + 260u)
-Class QFlags<QDateTimeEdit::Section>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDateTimeEdit::Section> (0xb4d85b40) 0
Vtable for QButtonGroup
QButtonGroup::_ZTV12QButtonGroup: 14u entries
@@ -8970,10 +8032,6 @@ QDockWidget (0xb4d85c40) 0
QPaintDevice (0xb4d85d00) 8
vptr=((& QDockWidget::_ZTV11QDockWidget) + 232u)
-Class QFlags<QDockWidget::DockWidgetFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDockWidget::DockWidgetFeature> (0xb4d85dc0) 0
Vtable for QMainWindow
QMainWindow::_ZTV11QMainWindow: 64u entries
@@ -9054,10 +8112,6 @@ QMainWindow (0xb4d85e00) 0
QPaintDevice (0xb4d85ec0) 8
vptr=((& QMainWindow::_ZTV11QMainWindow) + 236u)
-Class QFlags<QMainWindow::DockOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QMainWindow::DockOption> (0xb4d85f40) 0
Vtable for QMenu
QMenu::_ZTV5QMenu: 63u entries
@@ -9867,10 +8921,6 @@ QFontComboBox (0xb4cf4900) 0
QPaintDevice (0xb4cf4a00) 8
vptr=((& QFontComboBox::_ZTV13QFontComboBox) + 240u)
-Class QFlags<QFontComboBox::FontFilter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFontComboBox::FontFilter> (0xb4cf4a80) 0
Vtable for QToolBox
QToolBox::_ZTV8QToolBox: 65u entries
@@ -10277,10 +9327,6 @@ QMdiArea (0xb4cf4000) 0
QPaintDevice (0xb4cf4700) 8
vptr=((& QMdiArea::_ZTV8QMdiArea) + 240u)
-Class QFlags<QMdiArea::AreaOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QMdiArea::AreaOption> (0xb4cf4880) 0
Vtable for QLabel
QLabel::_ZTV6QLabel: 63u entries
@@ -10597,10 +9643,6 @@ QMdiSubWindow (0xb4a65300) 0
QPaintDevice (0xb4a653c0) 8
vptr=((& QMdiSubWindow::_ZTV13QMdiSubWindow) + 232u)
-Class QFlags<QMdiSubWindow::SubWindowOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QMdiSubWindow::SubWindowOption> (0xb4a65440) 0
Vtable for QMenuItem
QMenuItem::_ZTV9QMenuItem: 14u entries
@@ -10672,60 +9714,32 @@ QTextDocument (0xb4a65640) 0
QObject (0xb4a65680) 0
primary-for QTextDocument (0xb4a65640)
-Class QFlags<QTextDocument::FindFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextDocument::FindFlag> (0xb4a65700) 0
Class QTextOption
size=24 align=4
base size=24 base align=4
QTextOption (0xb4a65740) 0
-Class QFlags<QTextOption::Flag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextOption::Flag> (0xb4a65780) 0
Class QPen
size=4 align=4
base size=4 base align=4
QPen (0xb4a657c0) 0
-Class QTypeInfo<QPen>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPen> (0xb4a65880) 0 empty
Class QTextLength
size=12 align=4
base size=12 base align=4
QTextLength (0xb4a658c0) 0
-Class QSharedDataPointer<QTextFormatPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextFormatPrivate> (0xb4a65a00) 0
Class QTextFormat
size=8 align=4
base size=8 base align=4
QTextFormat (0xb4a65980) 0
-Class QVector<QTextLength>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength>::<anonymous union> (0xb4a65b80) 0
-Class QVector<QTextLength>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength> (0xb4a65b00) 0
-Class QFlags<QTextFormat::PageBreakFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextFormat::PageBreakFlag> (0xb4a65bc0) 0
Class QTextCharFormat
size=8 align=4
@@ -10765,10 +9779,6 @@ QTextTableFormat (0xb4a65ec0) 0
QTextFrameFormat (0xb4a65f00) 0
QTextFormat (0xb4a65f40) 0
-Class QSharedDataPointer<QTextCursorPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextCursorPrivate> (0xb4a65040) 0
Class QTextCursor
size=4 align=4
@@ -10875,10 +9885,6 @@ QTextFrame (0xb4a65840) 0
QObject (0xb4a65940) 0
primary-for QTextObject (0xb4a65900)
-Class QTypeInfo<QTextFrame::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFrame::iterator> (0xb4a65fc0) 0 empty
Vtable for QTextBlockUserData
QTextBlockUserData::_ZTV18QTextBlockUserData: 4u entries
@@ -10903,25 +9909,13 @@ Class QTextBlock
base size=8 base align=4
QTextBlock (0xb4870080) 0
-Class QTypeInfo<QTextBlock>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock> (0xb4870100) 0 empty
-Class QTypeInfo<QTextBlock::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock::iterator> (0xb4870140) 0 empty
Class QTextFragment
size=12 align=4
base size=12 base align=4
QTextFragment (0xb4870180) 0
-Class QTypeInfo<QTextFragment>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFragment> (0xb48701c0) 0 empty
Class QTextInlineObject
size=8 align=4
@@ -10938,15 +9932,7 @@ Class QTextLayout
base size=4 base align=4
QTextLayout (0xb4870240) 0
-Class QVector<QTextLayout::FormatRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange>::<anonymous union> (0xb48703c0) 0
-Class QVector<QTextLayout::FormatRange>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange> (0xb4870340) 0
Class QTextLine
size=8 align=4
@@ -11046,10 +10032,6 @@ QTextEdit (0xb4870440) 0
QPaintDevice (0xb4870580) 8
vptr=((& QTextEdit::_ZTV9QTextEdit) + 256u)
-Class QFlags<QTextEdit::AutoFormattingFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextEdit::AutoFormattingFlag> (0xb4870680) 0
Vtable for QLCDNumber
QLCDNumber::_ZTV10QLCDNumber: 63u entries
@@ -11289,10 +10271,6 @@ QDialogButtonBox (0xb48709c0) 0
QPaintDevice (0xb4870a80) 8
vptr=((& QDialogButtonBox::_ZTV16QDialogButtonBox) + 232u)
-Class QFlags<QDialogButtonBox::StandardButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDialogButtonBox::StandardButton> (0xb4870b00) 0
Vtable for QCalendarWidget
QCalendarWidget::_ZTV15QCalendarWidget: 64u entries
@@ -11556,15 +10534,7 @@ Class QAbstractTextDocumentLayout::Selection
base size=12 base align=4
QAbstractTextDocumentLayout::Selection (0xb4870980) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union> (0xb4870fc0) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection> (0xb4870c80) 0
Class QAbstractTextDocumentLayout::PaintContext
size=48 align=4
@@ -11788,20 +10758,8 @@ Class QGraphicsItem
QGraphicsItem (0xb47ca6c0) 0
vptr=((& QGraphicsItem::_ZTV13QGraphicsItem) + 8u)
-Class QFlags<QGraphicsItem::GraphicsItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGraphicsItem::GraphicsItemFlag> (0xb47ca7c0) 0
-Class QMetaTypeId<QGraphicsItem*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QGraphicsItem*> (0xb47ca800) 0 empty
-Class QMetaTypeId<QGraphicsScene*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QGraphicsScene*> (0xb47ca8c0) 0 empty
Vtable for QAbstractGraphicsShapeItem
QAbstractGraphicsShapeItem::_ZTV26QAbstractGraphicsShapeItem: 39u entries
@@ -12363,50 +11321,14 @@ Class QPainter
base size=4 base align=4
QPainter (0xb47ca780) 0
-Class QFlags<QPainter::RenderHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPainter::RenderHint> (0xb47caa00) 0
-Class QVector<QLineF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF>::<anonymous union> (0xb47cae00) 0
-Class QVector<QLineF>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF> (0xb47cac00) 0
-Class QVector<QLine>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine>::<anonymous union> (0xb4564040) 0
-Class QVector<QLine>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine> (0xb47caf80) 0
-Class QVector<QRectF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF>::<anonymous union> (0xb4564140) 0
-Class QVector<QRectF>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF> (0xb45640c0) 0
-Class QVector<QRect>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect>::<anonymous union> (0xb4564240) 0
-Class QVector<QRect>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect> (0xb45641c0) 0
Vtable for QGraphicsScene
QGraphicsScene::_ZTV14QGraphicsScene: 34u entries
@@ -12453,20 +11375,8 @@ QGraphicsScene (0xb4564280) 0
QObject (0xb45642c0) 0
primary-for QGraphicsScene (0xb4564280)
-Class QFlags<QGraphicsScene::SceneLayer>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGraphicsScene::SceneLayer> (0xb45643c0) 0
-Class QList<QGraphicsItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QGraphicsItem*>::<anonymous union> (0xb4564480) 0
-Class QList<QGraphicsItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QGraphicsItem*> (0xb4564400) 0
Vtable for QGraphicsView
QGraphicsView::_ZTV13QGraphicsView: 68u entries
@@ -12555,15 +11465,7 @@ QGraphicsView (0xb45644c0) 0
QPaintDevice (0xb4564600) 8
vptr=((& QGraphicsView::_ZTV13QGraphicsView) + 252u)
-Class QFlags<QGraphicsView::CacheModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGraphicsView::CacheModeFlag> (0xb45646c0) 0
-Class QFlags<QGraphicsView::OptimizationFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGraphicsView::OptimizationFlag> (0xb4564700) 0
Vtable for QGraphicsSceneEvent
QGraphicsSceneEvent::_ZTV19QGraphicsSceneEvent: 4u entries
@@ -12957,10 +11859,6 @@ QImageIOPlugin (0xb44ee140) 0
QFactoryInterface (0xb44ee200) 8 nearly-empty
primary-for QImageIOHandlerFactoryInterface (0xb44ee1c0)
-Class QFlags<QImageIOPlugin::Capability>
- size=4 align=4
- base size=4 base align=4
-QFlags<QImageIOPlugin::Capability> (0xb44ee280) 0
Class QImageReader
size=4 align=4
@@ -13412,10 +12310,6 @@ Class QStyleFactory
base size=0 base align=1
QStyleFactory (0xb44eea40) 0 empty
-Class QPointer<QFocusFrame>
- size=4 align=4
- base size=4 base align=4
-QPointer<QFocusFrame> (0xb44eee80) 0
Vtable for QMotifStyle
QMotifStyle::_ZTV11QMotifStyle: 35u entries
@@ -13876,15 +12770,7 @@ Class QStandardItem
QStandardItem (0xb43e6b00) 0
vptr=((& QStandardItem::_ZTV13QStandardItem) + 8u)
-Class QList<QStandardItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QStandardItem*>::<anonymous union> (0xb43e6dc0) 0
-Class QList<QStandardItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QStandardItem*> (0xb43e6d40) 0
Vtable for QStandardItemModel
QStandardItemModel::_ZTV18QStandardItemModel: 42u entries
@@ -13998,15 +12884,7 @@ QStringListModel (0xb43e6f00) 0
QObject (0xb43e6fc0) 0
primary-for QAbstractItemModel (0xb43e6f80)
-Class QVector<QWidgetItemData>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData>::<anonymous union> (0xb43e6540) 0
-Class QVector<QWidgetItemData>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData> (0xb43e6240) 0
Vtable for QListWidgetItem
QListWidgetItem::_ZTV15QListWidgetItem: 11u entries
@@ -14530,35 +13408,15 @@ QTreeView (0xb413c580) 0
QPaintDevice (0xb413c700) 8
vptr=((& QTreeView::_ZTV9QTreeView) + 400u)
-Class QFlags<QTreeWidgetItemIterator::IteratorFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTreeWidgetItemIterator::IteratorFlag> (0xb413c800) 0
Class QTreeWidgetItemIterator
size=12 align=4
base size=12 base align=4
QTreeWidgetItemIterator (0xb413c780) 0
-Class QVector<QVector<QWidgetItemData> >::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> >::<anonymous union> (0xb413c940) 0
-Class QVector<QVector<QWidgetItemData> >
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> > (0xb413c8c0) 0
-Class QList<QTreeWidgetItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::<anonymous union> (0xb413ca40) 0
-Class QList<QTreeWidgetItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*> (0xb413c9c0) 0
Vtable for QTreeWidgetItem
QTreeWidgetItem::_ZTV15QTreeWidgetItem: 10u entries
@@ -14726,15 +13584,7 @@ Class QItemEditorCreatorBase
QItemEditorCreatorBase (0xb413cd00) 0 nearly-empty
vptr=((& QItemEditorCreatorBase::_ZTV22QItemEditorCreatorBase) + 8u)
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union> (0xb413cfc0) 0
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*> (0xb413cf40) 0
Vtable for QItemEditorFactory
QItemEditorFactory::_ZTV18QItemEditorFactory: 6u entries
@@ -15254,15 +14104,7 @@ Class QTextItem
base size=0 base align=1
QTextItem (0xb40f0700) 0 empty
-Class QTypeInfo<QTextItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextItem> (0xb40f0740) 0 empty
-Class QFlags<QPaintEngine::PaintEngineFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::PaintEngineFeature> (0xb40f0800) 0
Vtable for QPaintEngine
QPaintEngine::_ZTV12QPaintEngine: 24u entries
@@ -15297,20 +14139,12 @@ Class QPaintEngine
QPaintEngine (0xb40f0780) 0
vptr=((& QPaintEngine::_ZTV12QPaintEngine) + 8u)
-Class QFlags<QPaintEngine::DirtyFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::DirtyFlag> (0xb40f0900) 0
Class QPaintEngineState
size=4 align=4
base size=4 base align=4
QPaintEngineState (0xb40f0880) 0
-Class QFlags<QTextItem::RenderFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextItem::RenderFlag> (0xb40f0940) 0
Class QColormap
size=4 align=4
@@ -15336,188 +14170,40 @@ Class QPrintEngine
QPrintEngine (0xb40f09c0) 0 nearly-empty
vptr=((& QPrintEngine::_ZTV12QPrintEngine) + 8u)
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0xb40f0a80) 0
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0xb40f0b00) 0
-Class QVectorTypedData<QPoint>
- size=24 align=4
- base size=24 base align=4
-QVectorTypedData<QPoint> (0xb40f0b80) 0
-Class QVectorTypedData<QPointF>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QPointF> (0xb40f0c00) 0
-Class QVectorTypedData<QPainterPath::Element>
- size=36 align=4
- base size=36 base align=4
-QVectorTypedData<QPainterPath::Element> (0xb40f0c80) 0
-Class QList<QAction*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QAction*>::Node (0xb40f0e00) 0
-Class QVectorTypedData<QTextLength>
- size=28 align=4
- base size=28 base align=4
-QVectorTypedData<QTextLength> (0xb40f0e80) 0
-Class QVectorTypedData<QTextLayout::FormatRange>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QTextLayout::FormatRange> (0xb40f0f00) 0
-Class QVectorTypedData<QAbstractTextDocumentLayout::Selection>
- size=28 align=4
- base size=28 base align=4
-QVectorTypedData<QAbstractTextDocumentLayout::Selection> (0xb40f0f80) 0
-Class QVectorTypedData<QLineF>
- size=48 align=4
- base size=48 base align=4
-QVectorTypedData<QLineF> (0xb40f04c0) 0
-Class QVectorTypedData<QLine>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QLine> (0xb40f07c0) 0
-Class QVectorTypedData<QRectF>
- size=48 align=4
- base size=48 base align=4
-QVectorTypedData<QRectF> (0xb40f08c0) 0
-Class QVectorTypedData<QRect>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QRect> (0xb40f0d00) 0
-Class QList<QTreeWidgetItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::Node (0xb3cd81c0) 0
-Class QVectorTypedData<QVector<QWidgetItemData> >
- size=20 align=4
- base size=20 base align=4
-QVectorTypedData<QVector<QWidgetItemData> > (0xb3cd8240) 0
-Class QMetaTypeId2<QSet<QAccessible::Method> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSet<QAccessible::Method> > (0xb3cd8300) 0 empty
-Class QHashNode<QAccessible::Method, QHashDummyValue>
- size=16 align=4
- base size=13 base align=4
-QHashNode<QAccessible::Method, QHashDummyValue> (0xb3cd8380) 0
-Class QTypeInfo<QAction*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAction*> (0xb3cd8400) 0 empty
-Class QTypeInfo<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLength> (0xb3cd8480) 0 empty
-Class QTypeInfo<QTextLayout::FormatRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLayout::FormatRange> (0xb3cd8540) 0 empty
-Class QTypeInfo<QAbstractTextDocumentLayout::Selection>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAbstractTextDocumentLayout::Selection> (0xb3cd8640) 0 empty
-Class QTypeInfo<QStandardItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QStandardItem*> (0xb3cd8700) 0 empty
-Class QTypeInfo<QTreeWidgetItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTreeWidgetItem*> (0xb3cd8780) 0 empty
-Class QHashNode<QVariant::Type, QItemEditorCreatorBase*>
- size=16 align=4
- base size=16 base align=4
-QHashNode<QVariant::Type, QItemEditorCreatorBase*> (0xb3cd8800) 0
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0xb3cd8880) 0
-Class QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union> (0xb3cd8900) 0
-Class QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union> (0xb3cd89c0) 0
-Class QList<QItemSelectionRange>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::Node (0xb3cd8a80) 0
-Class QTypeInfo<QStyleOptionQ3ListViewItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QStyleOptionQ3ListViewItem> (0xb3cd8b00) 0 empty
-Class QList<QStyleOptionQ3ListViewItem>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::Node (0xb3cd8b80) 0
-Class QList<QVariant>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::Node (0xb3cd8c40) 0
-Class QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union> (0xb3cd8d00) 0
-Class QTypeInfo<QGraphicsItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QGraphicsItem*> (0xb3cd8dc0) 0 empty
-Class QList<QGraphicsItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QGraphicsItem*>::Node (0xb3cd8e40) 0
-Class QList<QStandardItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QStandardItem*>::Node (0xb3cd8ec0) 0
-Class QHashDummyNode<QAccessible::Method, QHashDummyValue>
- size=12 align=4
- base size=12 base align=4
-QHashDummyNode<QAccessible::Method, QHashDummyValue> (0xb3cd8f80) 0
-Class QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union> (0xb3cd8340) 0
diff --git a/tests/auto/bic/data/QtGui.4.3.2.linux-gcc-ia32.txt b/tests/auto/bic/data/QtGui.4.3.2.linux-gcc-ia32.txt
index 7fffbea..bdcd182 100644
--- a/tests/auto/bic/data/QtGui.4.3.2.linux-gcc-ia32.txt
+++ b/tests/auto/bic/data/QtGui.4.3.2.linux-gcc-ia32.txt
@@ -1,34 +1,8 @@
-Class QUintForSize<4>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<4> (0xb7facd80) 0 empty
-Class QUintForSize<8>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<8> (0xb7facdc0) 0 empty
-Class QUintForType<void*>
- size=1 align=1
- base size=1 base align=1
-QUintForType<void*> (0xb7face80) 0 empty
- QUintForSize<4> (0xb7facec0) 0 empty
-Class QIntForSize<4>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<4> (0xb7facf40) 0 empty
-Class QIntForSize<8>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<8> (0xb7facf80) 0 empty
-Class QIntForType<void*>
- size=1 align=1
- base size=1 base align=1
-QIntForType<void*> (0xb78a7040) 0 empty
- QIntForSize<4> (0xb78a7080) 0 empty
Class QSysInfo
size=1 align=1
@@ -50,150 +24,38 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0xb78a7340) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0xb78a7400) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0xb78a7440) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0xb78a7480) 0 empty
-Class QTypeInfo<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned char> (0xb78a74c0) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0xb78a7500) 0 empty
-Class QTypeInfo<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short unsigned int> (0xb78a7540) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0xb78a7580) 0 empty
-Class QTypeInfo<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned int> (0xb78a75c0) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0xb78a7600) 0 empty
-Class QTypeInfo<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long unsigned int> (0xb78a7640) 0 empty
-Class QTypeInfo<long long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long int> (0xb78a7680) 0 empty
-Class QTypeInfo<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long unsigned int> (0xb78a76c0) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0xb78a7700) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0xb78a7740) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0xb78a7780) 0 empty
Class QFlag
size=4 align=4
base size=4 base align=4
QFlag (0xb78a77c0) 0
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0xb78a78c0) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0xb78a7900) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0xb78a7940) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0xb78a7980) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0xb78a79c0) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0xb78a7a00) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0xb78a7a40) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0xb78a7a80) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0xb78a7ac0) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0xb78a7b00) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0xb78a7b40) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0xb78a7b80) 0
-Class QFlags<Qt::TextInteractionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::TextInteractionFlag> (0xb78a7bc0) 0
Class QInternal
size=1 align=1
@@ -211,10 +73,6 @@ Class QGenericReturnArgument
QGenericReturnArgument (0xb78a7cc0) 0
QGenericArgument (0xb78a7d00) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0xb78a7ec0) 0
Class QMetaObject
size=16 align=4
@@ -231,10 +89,6 @@ Class QChar
base size=2 base align=2
QChar (0xb78a7f80) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0xb6bcb000) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -267,10 +121,6 @@ Class QByteRef
base size=8 base align=4
QByteRef (0xb6bcb300) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0xb6bcb340) 0 empty
Class QString::Null
size=1 align=1
@@ -287,10 +137,6 @@ Class QString
base size=4 base align=4
QString (0xb6bcb380) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0xb6bcb580) 0
Class QLatin1String
size=4 align=4
@@ -308,10 +154,6 @@ Class QConstString
QConstString (0xb6bcb680) 0
QString (0xb6bcb6c0) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0xb6bcb700) 0 empty
Class QStringRef
size=12 align=4
@@ -379,15 +221,7 @@ Class QListData
base size=4 base align=4
QListData (0xb6bcba40) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0xb6bcbdc0) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0xb6bcbd40) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -463,10 +297,6 @@ QLibrary (0xb6bcb4c0) 0
QObject (0xb6bcb500) 0
primary-for QLibrary (0xb6bcb4c0)
-Class QFlags<QLibrary::LoadHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLibrary::LoadHint> (0xb6bcb840) 0
Class QUuid
size=16 align=4
@@ -514,10 +344,6 @@ QIODevice (0xb6bcbc00) 0
QObject (0xb6bcbe40) 0
primary-for QIODevice (0xb6bcbc00)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0xb65ec000) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -537,25 +363,13 @@ Class QRegExp
base size=4 base align=4
QRegExp (0xb65ec0c0) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0xb65ec100) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0xb65ec140) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0xb65ec200) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0xb65ec180) 0
Class QStringList
size=4 align=4
@@ -563,15 +377,7 @@ Class QStringList
QStringList (0xb65ec240) 0
QList<QString> (0xb65ec280) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0xb65ec300) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0xb65ec340) 0
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -627,10 +433,6 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0xb65ec6c0) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0xb65ec700) 0 empty
Class QCryptographicHash
size=4 align=4
@@ -642,75 +444,35 @@ Class QDate
base size=4 base align=4
QDate (0xb65ecc40) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0xb65ecd00) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0xb65ecd40) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0xb65ece00) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0xb65ece40) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0xb65ecf00) 0 empty
Class QByteArrayMatcher
size=1032 align=4
base size=1032 base align=4
QByteArrayMatcher (0xb65ecf40) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0xb65ecfc0) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0xb65ec080) 0
Class wait
size=4 align=4
base size=4 base align=4
wait (0xb65ecf80) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb65ec440) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb65ec580) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb65ecac0) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb65ecc80) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb65eccc0) 0
Class timespec
size=8 align=4
@@ -722,80 +484,24 @@ Class timeval
base size=8 base align=4
timeval (0xb65ecdc0) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb65ece80) 0
-Class <anonymous union>
- size=36 align=4
- base size=36 base align=4
-<anonymous union> (0xb65ecec0) 0
Class __pthread_internal_slist
size=4 align=4
base size=4 base align=4
__pthread_internal_slist (0xb65b4000) 0
-Class <anonymous union>::__pthread_mutex_s::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union>::__pthread_mutex_s::<anonymous union> (0xb65b40c0) 0
-Class <anonymous union>::__pthread_mutex_s
- size=24 align=4
- base size=24 base align=4
-<anonymous union>::__pthread_mutex_s (0xb65b4080) 0
-Class <anonymous union>
- size=24 align=4
- base size=24 base align=4
-<anonymous union> (0xb65b4040) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb65b4100) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0xb65b4180) 0
-Class <anonymous union>
- size=48 align=4
- base size=48 base align=4
-<anonymous union> (0xb65b4140) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb65b41c0) 0
-Class <anonymous union>::<anonymous struct>
- size=32 align=4
- base size=32 base align=4
-<anonymous union>::<anonymous struct> (0xb65b4240) 0
-Class <anonymous union>
- size=32 align=4
- base size=32 base align=4
-<anonymous union> (0xb65b4200) 0
-Class <anonymous union>
- size=8 align=4
- base size=8 base align=4
-<anonymous union> (0xb65b4280) 0
-Class <anonymous union>
- size=20 align=4
- base size=20 base align=4
-<anonymous union> (0xb65b42c0) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb65b4300) 0
Class random_data
size=28 align=4
@@ -817,20 +523,12 @@ Class QSize
base size=8 base align=4
QSize (0xb65b4580) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0xb65b4780) 0 empty
Class QSizeF
size=16 align=4
base size=16 base align=4
QSizeF (0xb65b4800) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0xb65b4a00) 0 empty
Class QLinkedListData
size=20 align=4
@@ -842,15 +540,7 @@ Class QLocale
base size=4 base align=4
QLocale (0xb65b4dc0) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0xb65b4e00) 0 empty
-Class QFlags<QLocale::NumberOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLocale::NumberOption> (0xb65b4e40) 0
Vtable for QSystemLocale
QSystemLocale::_ZTV13QSystemLocale: 6u entries
@@ -887,60 +577,36 @@ Class QPoint
base size=8 base align=4
QPoint (0xb61e7040) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0xb61e7280) 0 empty
Class QPointF
size=16 align=4
base size=16 base align=4
QPointF (0xb61e72c0) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0xb61e7500) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0xb61e7640) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0xb61e7740) 0 empty
Class QRectF
size=32 align=4
base size=32 base align=4
QRectF (0xb61e7780) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0xb61e7840) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0xb61e7880) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0xb61e78c0) 0 empty
Class QLineF
size=32 align=4
base size=32 base align=4
QLineF (0xb61e7900) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0xb61e7940) 0 empty
Vtable for QTimeLine
QTimeLine::_ZTV9QTimeLine: 15u entries
@@ -978,10 +644,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0xb61e7cc0) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0xb61e7d00) 0 empty
Class QLibraryInfo
size=1 align=1
@@ -993,290 +655,66 @@ Class QUrl
base size=4 base align=4
QUrl (0xb61e7e40) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0xb61e7ec0) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0xb61e7f00) 0 empty
Class QMetaType
size=1 align=1
base size=0 base align=1
QMetaType (0xb61e7f40) 0 empty
-Class QMetaTypeId2<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QString> (0xb61e7080) 0 empty
-Class QMetaTypeId2<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<int> (0xb61e70c0) 0 empty
-Class QMetaTypeId2<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned int> (0xb61e7100) 0 empty
-Class QMetaTypeId2<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<bool> (0xb61e7140) 0 empty
-Class QMetaTypeId2<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<double> (0xb61e7180) 0 empty
-Class QMetaTypeId2<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QByteArray> (0xb61e71c0) 0 empty
-Class QMetaTypeId2<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QChar> (0xb61e7200) 0 empty
-Class QMetaTypeId2<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long int> (0xb61e7240) 0 empty
-Class QMetaTypeId2<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short int> (0xb61e7300) 0 empty
-Class QMetaTypeId2<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<char> (0xb61e7340) 0 empty
-Class QMetaTypeId2<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long unsigned int> (0xb61e7380) 0 empty
-Class QMetaTypeId2<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short unsigned int> (0xb61e73c0) 0 empty
-Class QMetaTypeId2<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned char> (0xb61e7400) 0 empty
-Class QMetaTypeId2<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<float> (0xb61e7440) 0 empty
-Class QMetaTypeId2<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QObject*> (0xb61e7480) 0 empty
-Class QMetaTypeId2<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QWidget*> (0xb61e74c0) 0 empty
-Class QMetaTypeId2<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<void*> (0xb61e7680) 0 empty
-Class QMetaTypeId2<long long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long int> (0xb61e76c0) 0 empty
-Class QMetaTypeId2<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long unsigned int> (0xb61e7700) 0 empty
-Class QMetaTypeId2<QStringList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QStringList> (0xb61e77c0) 0 empty
-Class QMetaTypeId2<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitArray> (0xb61e7800) 0 empty
-Class QMetaTypeId2<QDate>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDate> (0xb61e7b40) 0 empty
-Class QMetaTypeId2<QTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTime> (0xb6058000) 0 empty
-Class QMetaTypeId2<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDateTime> (0xb6058040) 0 empty
-Class QMetaTypeId2<QUrl>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QUrl> (0xb6058080) 0 empty
-Class QMetaTypeId2<QLocale>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLocale> (0xb60580c0) 0 empty
-Class QMetaTypeId2<QRect>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRect> (0xb6058100) 0 empty
-Class QMetaTypeId2<QRectF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRectF> (0xb6058140) 0 empty
-Class QMetaTypeId2<QSize>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSize> (0xb6058180) 0 empty
-Class QMetaTypeId2<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizeF> (0xb60581c0) 0 empty
-Class QMetaTypeId2<QLine>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLine> (0xb6058200) 0 empty
-Class QMetaTypeId2<QLineF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLineF> (0xb6058240) 0 empty
-Class QMetaTypeId2<QPoint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPoint> (0xb6058280) 0 empty
-Class QMetaTypeId2<QPointF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPointF> (0xb60582c0) 0 empty
-Class QMetaTypeId2<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegExp> (0xb6058300) 0 empty
-Class QMetaTypeId2<QColorGroup>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColorGroup> (0xb6058340) 0 empty
-Class QMetaTypeId2<QFont>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QFont> (0xb6058380) 0 empty
-Class QMetaTypeId2<QPixmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPixmap> (0xb60583c0) 0 empty
-Class QMetaTypeId2<QBrush>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBrush> (0xb6058400) 0 empty
-Class QMetaTypeId2<QColor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColor> (0xb6058440) 0 empty
-Class QMetaTypeId2<QPalette>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPalette> (0xb6058480) 0 empty
-Class QMetaTypeId2<QIcon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QIcon> (0xb60584c0) 0 empty
-Class QMetaTypeId2<QImage>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QImage> (0xb6058500) 0 empty
-Class QMetaTypeId2<QPolygon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPolygon> (0xb6058540) 0 empty
-Class QMetaTypeId2<QRegion>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegion> (0xb6058580) 0 empty
-Class QMetaTypeId2<QBitmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitmap> (0xb60585c0) 0 empty
-Class QMetaTypeId2<QCursor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QCursor> (0xb6058600) 0 empty
-Class QMetaTypeId2<QSizePolicy>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizePolicy> (0xb6058640) 0 empty
-Class QMetaTypeId2<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QKeySequence> (0xb6058680) 0 empty
-Class QMetaTypeId2<QPen>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPen> (0xb60586c0) 0 empty
-Class QMetaTypeId2<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextLength> (0xb6058700) 0 empty
-Class QMetaTypeId2<QTextFormat>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextFormat> (0xb6058740) 0 empty
-Class QMetaTypeId2<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMatrix> (0xb6058780) 0 empty
-Class QMetaTypeId2<QTransform>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTransform> (0xb60587c0) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -1303,45 +741,17 @@ Class QVariant
base size=12 base align=4
QVariant (0xb6058800) 0
-Class QMetaTypeId2<QList<QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QList<QVariant> > (0xb6058a80) 0 empty
-Class QMetaTypeId2<QMap<QString, QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMap<QString, QVariant> > (0xb6058ac0) 0 empty
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0xb6058bc0) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0xb6058b40) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0xb6058cc0) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0xb6058c40) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0xb6058d40) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0xb6058dc0) 0 empty
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1368,25 +778,9 @@ QSettings (0xb6058e00) 0
QObject (0xb6058e40) 0
primary-for QSettings (0xb6058e00)
-Class <anonymous struct>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct>::<anonymous union> (0xb6058f40) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6058f00) 0
-Class <anonymous struct>
- size=12 align=4
- base size=12 base align=4
-<anonymous struct> (0xb6058f80) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb6058fc0) 0
Class __gconv_trans_data
size=20 align=4
@@ -1408,15 +802,7 @@ Class __gconv_info
base size=8 base align=4
__gconv_info (0xb6058a00) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0xb6058e80) 0
-Class <anonymous union>
- size=44 align=4
- base size=44 base align=4
-<anonymous union> (0xb6058a40) 0
Class _IO_marker
size=12 align=4
@@ -1428,10 +814,6 @@ Class _IO_FILE
base size=148 base align=4
_IO_FILE (0xb5f37000) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb5f37040) 0
Vtable for QFile
QFile::_ZTV5QFile: 31u entries
@@ -1477,10 +859,6 @@ QFile (0xb5f37080) 0
QObject (0xb5f37100) 0
primary-for QIODevice (0xb5f370c0)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0xb5f37180) 0
Vtable for QTemporaryFile
QTemporaryFile::_ZTV14QTemporaryFile: 31u entries
@@ -1533,40 +911,16 @@ Class QFileInfo
base size=4 base align=4
QFileInfo (0xb5f37300) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0xb5f37340) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0xb5f37380) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0xb5f37440) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0xb5f373c0) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0xb5f37480) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0xb5f37500) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0xb5f37580) 0
Vtable for QProcess
QProcess::_ZTV8QProcess: 31u entries
@@ -1650,10 +1004,6 @@ Class QDirIterator
QDirIterator (0xb5f377c0) 0
vptr=((& QDirIterator::_ZTV12QDirIterator) + 8u)
-Class QFlags<QDirIterator::IteratorFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDirIterator::IteratorFlag> (0xb5f37880) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -1710,10 +1060,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0xb5f378c0) 0
vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0xb5f37a40) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -1747,10 +1093,6 @@ Class QAbstractFileEngineIterator
QAbstractFileEngineIterator (0xb5f37b00) 0
vptr=((& QAbstractFileEngineIterator::_ZTV27QAbstractFileEngineIterator) + 8u)
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0xb5f37c40) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -1775,15 +1117,7 @@ Class QTextCodec
QTextCodec (0xb5f37b80) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0xb5f37d80) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0xb5f37d00) 0
Class QTextEncoder
size=32 align=4
@@ -1808,10 +1142,6 @@ Class QTextStream
QTextStream (0xb5f37e40) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0xb5f37f00) 0
Class QTextStreamManipulator
size=24 align=4
@@ -1958,20 +1288,12 @@ Class QReadWriteLock
base size=4 base align=4
QReadWriteLock (0xb5d760c0) 0
-Class QReadLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QReadLocker::<anonymous union> (0xb5d76140) 0
Class QReadLocker
size=4 align=4
base size=4 base align=4
QReadLocker (0xb5d76100) 0
-Class QWriteLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QWriteLocker::<anonymous union> (0xb5d761c0) 0
Class QWriteLocker
size=4 align=4
@@ -1983,10 +1305,6 @@ Class QMutex
base size=4 base align=4
QMutex (0xb5d76200) 0
-Class QMutexLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMutexLocker::<anonymous union> (0xb5d76280) 0
Class QMutexLocker
size=4 align=4
@@ -2066,10 +1384,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0xb5d76580) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0xb5d765c0) 0 empty
Vtable for QMimeData
QMimeData::_ZTV9QMimeData: 17u entries
@@ -2104,20 +1418,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0xb5d766c0) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0xb5d76700) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0xb5d76740) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0xb5d767c0) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -2357,10 +1663,6 @@ QEventLoop (0xb5d76c40) 0
QObject (0xb5d76c80) 0
primary-for QEventLoop (0xb5d76c40)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0xb5d76d80) 0
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -2555,20 +1857,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0xb5d76e00) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0xb5d76ec0) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0xb5d76f80) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0xb5af3000) 0 empty
Class QMetaProperty
size=20 align=4
@@ -2580,10 +1874,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0xb5af3080) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0xb5af30c0) 0 empty
Vtable for QTextCodecFactoryInterface
QTextCodecFactoryInterface::_ZTV26QTextCodecFactoryInterface: 6u entries
@@ -2726,25 +2016,13 @@ QImageIOPlugin (0xb5af3500) 0
QFactoryInterface (0xb5af35c0) 8 nearly-empty
primary-for QImageIOHandlerFactoryInterface (0xb5af3580)
-Class QFlags<QImageIOPlugin::Capability>
- size=4 align=4
- base size=4 base align=4
-QFlags<QImageIOPlugin::Capability> (0xb5af3640) 0
Class QImageReader
size=4 align=4
base size=4 base align=4
QImageReader (0xb5af3680) 0
-Class QVector<QPoint>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint>::<anonymous union> (0xb5af3740) 0
-Class QVector<QPoint>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint> (0xb5af36c0) 0
Class QPolygon
size=4 align=4
@@ -2752,15 +2030,7 @@ Class QPolygon
QPolygon (0xb5af3780) 0
QVector<QPoint> (0xb5af37c0) 0
-Class QVector<QPointF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF>::<anonymous union> (0xb5af3880) 0
-Class QVector<QPointF>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF> (0xb5af3800) 0
Class QPolygonF
size=4 align=4
@@ -2783,10 +2053,6 @@ Class QMatrix
base size=48 base align=4
QMatrix (0xb5af3ac0) 0
-Class QTypeInfo<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMatrix> (0xb5af3b00) 0 empty
Class QPainterPath::Element
size=20 align=4
@@ -2798,25 +2064,13 @@ Class QPainterPath
base size=4 base align=4
QPainterPath (0xb5af3b40) 0
-Class QVector<QPainterPath::Element>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element>::<anonymous union> (0xb5af3dc0) 0
-Class QVector<QPainterPath::Element>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element> (0xb5af3d40) 0
Class QPainterPathPrivate
size=8 align=4
base size=8 base align=4
QPainterPathPrivate (0xb5af3c40) 0
-Class QTypeInfo<QPainterPath::Element>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPainterPath::Element> (0xb5af3e00) 0 empty
Class QPainterPathStroker
size=4 align=4
@@ -2828,10 +2082,6 @@ Class QTransform
base size=80 base align=4
QTransform (0xb5af3f00) 0
-Class QTypeInfo<QTransform>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTransform> (0xb5af3f40) 0 empty
Vtable for QPaintDevice
QPaintDevice::_ZTV12QPaintDevice: 7u entries
@@ -2872,30 +2122,10 @@ QImage (0xb5af33c0) 0
QPaintDevice (0xb5af3480) 0
primary-for QImage (0xb5af33c0)
-Class QTypeInfo<QImage>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QImage> (0xb5af3980) 0 empty
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0xb5af3a40) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0xb5af3bc0) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0xb5af3c00) 0
-Class QColor::<anonymous union>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union> (0xb5af3a00) 0
Class QColor
size=16 align=4
@@ -3083,10 +2313,6 @@ Class QIcon
base size=4 base align=4
QIcon (0xb58d1940) 0
-Class QTypeInfo<QIcon>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QIcon> (0xb58d1a00) 0 empty
Vtable for QPicture
QPicture::_ZTV8QPicture: 8u entries
@@ -3225,10 +2451,6 @@ Class QKeySequence
base size=4 base align=4
QKeySequence (0xb58d1f40) 0
-Class QTypeInfo<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QKeySequence> (0xb58d1000) 0 empty
Vtable for QMimeSource
QMimeSource::_ZTV11QMimeSource: 7u entries
@@ -3526,15 +2748,7 @@ Class QInputMethodEvent::Attribute
base size=24 base align=4
QInputMethodEvent::Attribute (0xb5816840) 0
-Class QList<QInputMethodEvent::Attribute>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute>::<anonymous union> (0xb5816940) 0
-Class QList<QInputMethodEvent::Attribute>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute> (0xb58168c0) 0
Vtable for QInputMethodEvent
QInputMethodEvent::_ZTV17QInputMethodEvent: 4u entries
@@ -3823,20 +3037,8 @@ Class QAccessible
base size=0 base align=1
QAccessible (0xb5893040) 0 empty
-Class QFlags<QAccessible::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::StateFlag> (0xb58930c0) 0
-Class QFlags<QAccessible::RelationFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::RelationFlag> (0xb5893100) 0
-Class QMetaTypeId<QSet<QAccessible::Method> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QSet<QAccessible::Method> > (0xb5893140) 0 empty
Vtable for QAccessibleInterface
QAccessibleInterface::_ZTV20QAccessibleInterface: 19u entries
@@ -3867,20 +3069,8 @@ QAccessibleInterface (0xb5893200) 0 nearly-empty
vptr=((& QAccessibleInterface::_ZTV20QAccessibleInterface) + 8u)
QAccessible (0xb5893240) 0 empty
-Class QHash<QAccessible::Method, QHashDummyValue>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QHash<QAccessible::Method, QHashDummyValue>::<anonymous union> (0xb58933c0) 0
-Class QHash<QAccessible::Method, QHashDummyValue>
- size=4 align=4
- base size=4 base align=4
-QHash<QAccessible::Method, QHashDummyValue> (0xb5893340) 0
-Class QSet<QAccessible::Method>
- size=4 align=4
- base size=4 base align=4
-QSet<QAccessible::Method> (0xb58932c0) 0
Vtable for QAccessibleInterfaceEx
QAccessibleInterfaceEx::_ZTV22QAccessibleInterfaceEx: 22u entries
@@ -4402,55 +3592,23 @@ Class QPen
base size=4 base align=4
QPen (0xb5749500) 0
-Class QTypeInfo<QPen>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPen> (0xb57495c0) 0 empty
Class QBrush
size=4 align=4
base size=4 base align=4
QBrush (0xb5749600) 0
-Class QTypeInfo<QBrush>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBrush> (0xb5749680) 0 empty
Class QBrushData
size=108 align=4
base size=105 base align=4
QBrushData (0xb57496c0) 0
-Class QVector<QPair<double, QColor> >::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPair<double, QColor> >::<anonymous union> (0xb5749800) 0
-Class QVector<QPair<double, QColor> >
- size=4 align=4
- base size=4 base align=4
-QVector<QPair<double, QColor> > (0xb5749780) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=32 align=4
- base size=32 base align=4
-QGradient::<anonymous union>::<anonymous struct> (0xb5749880) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=40 align=4
- base size=40 base align=4
-QGradient::<anonymous union>::<anonymous struct> (0xb57498c0) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=24 align=4
- base size=24 base align=4
-QGradient::<anonymous union>::<anonymous struct> (0xb5749900) 0
-Class QGradient::<anonymous union>
- size=40 align=4
- base size=40 base align=4
-QGradient::<anonymous union> (0xb5749840) 0
Class QGradient
size=56 align=4
@@ -4480,30 +3638,14 @@ Class QTextLength
base size=12 base align=4
QTextLength (0xb5749ac0) 0
-Class QSharedDataPointer<QTextFormatPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextFormatPrivate> (0xb5749c00) 0
Class QTextFormat
size=8 align=4
base size=8 base align=4
QTextFormat (0xb5749b80) 0
-Class QVector<QTextLength>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength>::<anonymous union> (0xb5749d80) 0
-Class QVector<QTextLength>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength> (0xb5749d00) 0
-Class QFlags<QTextFormat::PageBreakFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextFormat::PageBreakFlag> (0xb5749dc0) 0
Class QTextCharFormat
size=8 align=4
@@ -4643,10 +3785,6 @@ QTextFrame (0xb5749c80) 0
QObject (0xb54c7040) 0
primary-for QTextObject (0xb54c7000)
-Class QTypeInfo<QTextFrame::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFrame::iterator> (0xb54c7180) 0 empty
Vtable for QTextBlockUserData
QTextBlockUserData::_ZTV18QTextBlockUserData: 4u entries
@@ -4671,25 +3809,13 @@ Class QTextBlock
base size=8 base align=4
QTextBlock (0xb54c7240) 0
-Class QTypeInfo<QTextBlock>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock> (0xb54c72c0) 0 empty
-Class QTypeInfo<QTextBlock::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock::iterator> (0xb54c7300) 0 empty
Class QTextFragment
size=12 align=4
base size=12 base align=4
QTextFragment (0xb54c7340) 0
-Class QTypeInfo<QTextFragment>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFragment> (0xb54c7380) 0 empty
Class QTextDocumentFragment
size=4 align=4
@@ -4756,10 +3882,6 @@ QTextTable (0xb54c7500) 0
QObject (0xb54c75c0) 0
primary-for QTextObject (0xb54c7580)
-Class QSharedDataPointer<QTextCursorPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextCursorPrivate> (0xb54c7740) 0
Class QTextCursor
size=4 align=4
@@ -4808,10 +3930,6 @@ Class QTextOption
base size=24 base align=4
QTextOption (0xb54c7980) 0
-Class QFlags<QTextOption::Flag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextOption::Flag> (0xb54c79c0) 0
Class QTextInlineObject
size=8 align=4
@@ -4828,15 +3946,7 @@ Class QTextLayout
base size=4 base align=4
QTextLayout (0xb54c7a40) 0
-Class QVector<QTextLayout::FormatRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange>::<anonymous union> (0xb54c7bc0) 0
-Class QVector<QTextLayout::FormatRange>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange> (0xb54c7b40) 0
Class QTextLine
size=8 align=4
@@ -4886,10 +3996,6 @@ QTextDocument (0xb54c7d00) 0
QObject (0xb54c7d40) 0
primary-for QTextDocument (0xb54c7d00)
-Class QFlags<QTextDocument::FindFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextDocument::FindFlag> (0xb54c7dc0) 0
Class QPalette
size=8 align=4
@@ -4907,15 +4013,7 @@ Class QAbstractTextDocumentLayout::Selection
base size=12 base align=4
QAbstractTextDocumentLayout::Selection (0xb54c7fc0) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union> (0xb54c7700) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection> (0xb54c7480) 0
Class QAbstractTextDocumentLayout::PaintContext
size=48 align=4
@@ -4977,10 +4075,6 @@ Class QSizePolicy
base size=4 base align=4
QSizePolicy (0xb54c7e40) 0
-Class QFlags<QSizePolicy::ControlType>
- size=4 align=4
- base size=4 base align=4
-QFlags<QSizePolicy::ControlType> (0xb546b0c0) 0
Vtable for QStyle
QStyle::_ZTV6QStyle: 35u entries
@@ -5028,15 +4122,7 @@ QStyle (0xb546b100) 0
QObject (0xb546b140) 0
primary-for QStyle (0xb546b100)
-Class QFlags<QStyle::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::StateFlag> (0xb546b200) 0
-Class QFlags<QStyle::SubControl>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::SubControl> (0xb546b240) 0
Vtable for QCommonStyle
QCommonStyle::_ZTV12QCommonStyle: 35u entries
@@ -5242,10 +4328,6 @@ QWindowsXPStyle (0xb546b780) 0
QObject (0xb546b880) 0
primary-for QStyle (0xb546b840)
-Class QPointer<QFocusFrame>
- size=4 align=4
- base size=4 base align=4
-QPointer<QFocusFrame> (0xb546ba40) 0
Vtable for QMotifStyle
QMotifStyle::_ZTV11QMotifStyle: 35u entries
@@ -5541,10 +4623,6 @@ QWidget (0xb546b040) 0
QPaintDevice (0xb546b1c0) 8
vptr=((& QWidget::_ZTV7QWidget) + 232u)
-Class QFlags<QWidget::RenderFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QWidget::RenderFlag> (0xb546b480) 0
Vtable for QValidator
QValidator::_ZTV10QValidator: 16u entries
@@ -5745,10 +4823,6 @@ QAbstractSpinBox (0xb5250140) 0
QPaintDevice (0xb5250200) 8
vptr=((& QAbstractSpinBox::_ZTV16QAbstractSpinBox) + 252u)
-Class QFlags<QAbstractSpinBox::StepEnabledFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractSpinBox::StepEnabledFlag> (0xb5250280) 0
Vtable for QAbstractSlider
QAbstractSlider::_ZTV15QAbstractSlider: 64u entries
@@ -6167,10 +5241,6 @@ Class QStyleOptionFrame
QStyleOptionFrame (0xb5250ac0) 0
QStyleOption (0xb5250b00) 0
-Class QFlags<QStyleOptionFrameV2::FrameFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionFrameV2::FrameFeature> (0xb5250c80) 0
Class QStyleOptionFrameV2
size=56 align=4
@@ -6197,10 +5267,6 @@ Class QStyleOptionHeader
QStyleOptionHeader (0xb5250f00) 0
QStyleOption (0xb5250f40) 0
-Class QFlags<QStyleOptionButton::ButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionButton::ButtonFeature> (0xb5250240) 0
Class QStyleOptionButton
size=64 align=4
@@ -6208,10 +5274,6 @@ Class QStyleOptionButton
QStyleOptionButton (0xb5250000) 0
QStyleOption (0xb5250100) 0
-Class QFlags<QStyleOptionTab::CornerWidget>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionTab::CornerWidget> (0xb52506c0) 0
Class QStyleOptionTab
size=72 align=4
@@ -6226,10 +5288,6 @@ QStyleOptionTabV2 (0xb5250840) 0
QStyleOptionTab (0xb5250980) 0
QStyleOption (0xb5250a80) 0
-Class QFlags<QStyleOptionToolBar::ToolBarFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionToolBar::ToolBarFeature> (0xb5250fc0) 0
Class QStyleOptionToolBar
size=68 align=4
@@ -6256,10 +5314,6 @@ Class QStyleOptionMenuItem
QStyleOptionMenuItem (0xb4f93200) 0
QStyleOption (0xb4f93240) 0
-Class QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature> (0xb4f93380) 0
Class QStyleOptionQ3ListViewItem
size=64 align=4
@@ -6292,10 +5346,6 @@ Class QStyleOptionViewItem
QStyleOptionViewItem (0xb4f936c0) 0
QStyleOption (0xb4f93700) 0
-Class QFlags<QStyleOptionViewItemV2::ViewItemFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionViewItemV2::ViewItemFeature> (0xb4f93880) 0
Class QStyleOptionViewItemV2
size=84 align=4
@@ -6351,15 +5401,7 @@ QStyleOptionSpinBox (0xb4f93f80) 0
QStyleOptionComplex (0xb4f93fc0) 0
QStyleOption (0xb4f93000) 0
-Class QList<QStyleOptionQ3ListViewItem>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::<anonymous union> (0xb4f93540) 0
-Class QList<QStyleOptionQ3ListViewItem>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem> (0xb4f933c0) 0
Class QStyleOptionQ3ListView
size=84 align=4
@@ -6368,10 +5410,6 @@ QStyleOptionQ3ListView (0xb4f93100) 0
QStyleOptionComplex (0xb4f93280) 0
QStyleOption (0xb4f93340) 0
-Class QFlags<QStyleOptionToolButton::ToolButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionToolButton::ToolButtonFeature> (0xb4f93e00) 0
Class QStyleOptionToolButton
size=96 align=4
@@ -6488,10 +5526,6 @@ Class QStyleFactory
base size=0 base align=1
QStyleFactory (0xb507a780) 0 empty
-Class QFlags<QTreeWidgetItemIterator::IteratorFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTreeWidgetItemIterator::IteratorFlag> (0xb507a840) 0
Class QTreeWidgetItemIterator
size=12 align=4
@@ -6663,10 +5697,6 @@ Class QItemSelectionRange
base size=8 base align=4
QItemSelectionRange (0xb507ab40) 0
-Class QTypeInfo<QItemSelectionRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QItemSelectionRange> (0xb507abc0) 0 empty
Vtable for QItemSelectionModel
QItemSelectionModel::_ZTV19QItemSelectionModel: 18u entries
@@ -6697,20 +5727,8 @@ QItemSelectionModel (0xb507ac00) 0
QObject (0xb507ac40) 0
primary-for QItemSelectionModel (0xb507ac00)
-Class QFlags<QItemSelectionModel::SelectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QItemSelectionModel::SelectionFlag> (0xb507acc0) 0
-Class QList<QItemSelectionRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::<anonymous union> (0xb507ad80) 0
-Class QList<QItemSelectionRange>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange> (0xb507ad00) 0
Class QItemSelection
size=4 align=4
@@ -6872,10 +5890,6 @@ QAbstractItemView (0xb507af00) 0
QPaintDevice (0xb507a180) 8
vptr=((& QAbstractItemView::_ZTV17QAbstractItemView) + 392u)
-Class QFlags<QAbstractItemView::EditTrigger>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractItemView::EditTrigger> (0xb507a3c0) 0
Vtable for QListView
QListView::_ZTV9QListView: 103u entries
@@ -7140,15 +6154,7 @@ Class QItemEditorCreatorBase
QItemEditorCreatorBase (0xb4dc8280) 0 nearly-empty
vptr=((& QItemEditorCreatorBase::_ZTV22QItemEditorCreatorBase) + 8u)
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union> (0xb4dc8540) 0
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*> (0xb4dc84c0) 0
Vtable for QItemEditorFactory
QItemEditorFactory::_ZTV18QItemEditorFactory: 6u entries
@@ -7296,15 +6302,7 @@ Class QTableWidgetSelectionRange
base size=16 base align=4
QTableWidgetSelectionRange (0xb4dc8800) 0
-Class QVector<QWidgetItemData>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData>::<anonymous union> (0xb4dc8940) 0
-Class QVector<QWidgetItemData>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData> (0xb4dc88c0) 0
Vtable for QTableWidgetItem
QTableWidgetItem::_ZTV16QTableWidgetItem: 10u entries
@@ -7790,15 +6788,7 @@ Class QStandardItem
QStandardItem (0xb4dc8dc0) 0
vptr=((& QStandardItem::_ZTV13QStandardItem) + 8u)
-Class QList<QStandardItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QStandardItem*>::<anonymous union> (0xb4d21100) 0
-Class QList<QStandardItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QStandardItem*> (0xb4d21080) 0
Vtable for QStandardItemModel
QStandardItemModel::_ZTV18QStandardItemModel: 42u entries
@@ -7926,25 +6916,9 @@ QDirModel (0xb4d21300) 0
QObject (0xb4d21380) 0
primary-for QAbstractItemModel (0xb4d21340)
-Class QVector<QVector<QWidgetItemData> >::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> >::<anonymous union> (0xb4d21500) 0
-Class QVector<QVector<QWidgetItemData> >
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> > (0xb4d21480) 0
-Class QList<QTreeWidgetItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::<anonymous union> (0xb4d21600) 0
-Class QList<QTreeWidgetItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*> (0xb4d21580) 0
Vtable for QTreeWidgetItem
QTreeWidgetItem::_ZTV15QTreeWidgetItem: 10u entries
@@ -8540,15 +7514,7 @@ QActionGroup (0xb4d21440) 0
QObject (0xb4d21540) 0
primary-for QActionGroup (0xb4d21440)
-Class QList<QAction*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QAction*>::<anonymous union> (0xb4d21b40) 0
-Class QList<QAction*>
- size=4 align=4
- base size=4 base align=4
-QList<QAction*> (0xb4d21880) 0
Vtable for QLayoutItem
QLayoutItem::_ZTV11QLayoutItem: 18u entries
@@ -9687,10 +8653,6 @@ QMdiArea (0xb48a00c0) 0
QPaintDevice (0xb48a0200) 8
vptr=((& QMdiArea::_ZTV8QMdiArea) + 240u)
-Class QFlags<QMdiArea::AreaOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QMdiArea::AreaOption> (0xb48a0280) 0
Vtable for QAbstractButton
QAbstractButton::_ZTV15QAbstractButton: 66u entries
@@ -10012,10 +8974,6 @@ QMdiSubWindow (0xb48a06c0) 0
QPaintDevice (0xb48a0780) 8
vptr=((& QMdiSubWindow::_ZTV13QMdiSubWindow) + 232u)
-Class QFlags<QMdiSubWindow::SubWindowOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QMdiSubWindow::SubWindowOption> (0xb48a0800) 0
Vtable for QCalendarWidget
QCalendarWidget::_ZTV15QCalendarWidget: 64u entries
@@ -10493,10 +9451,6 @@ QDialogButtonBox (0xb48a0f80) 0
QPaintDevice (0xb48a0240) 8
vptr=((& QDialogButtonBox::_ZTV16QDialogButtonBox) + 232u)
-Class QFlags<QDialogButtonBox::StandardButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDialogButtonBox::StandardButton> (0xb48a03c0) 0
Vtable for QDockWidget
QDockWidget::_ZTV11QDockWidget: 63u entries
@@ -10576,10 +9530,6 @@ QDockWidget (0xb48a0540) 0
QPaintDevice (0xb48a0980) 8
vptr=((& QDockWidget::_ZTV11QDockWidget) + 232u)
-Class QFlags<QDockWidget::DockWidgetFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDockWidget::DockWidgetFeature> (0xb48a0c40) 0
Vtable for QScrollArea
QScrollArea::_ZTV11QScrollArea: 65u entries
@@ -10930,10 +9880,6 @@ QDateEdit (0xb4862440) 0
QPaintDevice (0xb4862580) 8
vptr=((& QDateEdit::_ZTV9QDateEdit) + 260u)
-Class QFlags<QDateTimeEdit::Section>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDateTimeEdit::Section> (0xb4862600) 0
Vtable for QFontComboBox
QFontComboBox::_ZTV13QFontComboBox: 65u entries
@@ -11017,10 +9963,6 @@ QFontComboBox (0xb4862640) 0
QPaintDevice (0xb4862740) 8
vptr=((& QFontComboBox::_ZTV13QFontComboBox) + 240u)
-Class QFlags<QFontComboBox::FontFilter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFontComboBox::FontFilter> (0xb48627c0) 0
Vtable for QToolBox
QToolBox::_ZTV8QToolBox: 65u entries
@@ -11275,10 +10217,6 @@ QTextEdit (0xb4862ac0) 0
QPaintDevice (0xb4862c00) 8
vptr=((& QTextEdit::_ZTV9QTextEdit) + 256u)
-Class QFlags<QTextEdit::AutoFormattingFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextEdit::AutoFormattingFlag> (0xb4862d00) 0
Vtable for QTextBrowser
QTextBrowser::_ZTV12QTextBrowser: 74u entries
@@ -12210,10 +11148,6 @@ QMainWindow (0xb45aa980) 0
QPaintDevice (0xb45aaa40) 8
vptr=((& QMainWindow::_ZTV11QMainWindow) + 236u)
-Class QFlags<QMainWindow::DockOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QMainWindow::DockOption> (0xb45aaac0) 0
Vtable for QDial
QDial::_ZTV5QDial: 64u entries
@@ -12786,20 +11720,8 @@ Class QGraphicsItem
QGraphicsItem (0xb44f35c0) 0
vptr=((& QGraphicsItem::_ZTV13QGraphicsItem) + 8u)
-Class QFlags<QGraphicsItem::GraphicsItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGraphicsItem::GraphicsItemFlag> (0xb44f36c0) 0
-Class QMetaTypeId<QGraphicsItem*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QGraphicsItem*> (0xb44f3700) 0 empty
-Class QMetaTypeId<QGraphicsScene*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QGraphicsScene*> (0xb44f37c0) 0 empty
Vtable for QAbstractGraphicsShapeItem
QAbstractGraphicsShapeItem::_ZTV26QAbstractGraphicsShapeItem: 39u entries
@@ -13361,50 +12283,14 @@ Class QPainter
base size=4 base align=4
QPainter (0xb44f3480) 0
-Class QFlags<QPainter::RenderHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPainter::RenderHint> (0xb44f3600) 0
-Class QVector<QLineF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF>::<anonymous union> (0xb44f3a00) 0
-Class QVector<QLineF>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF> (0xb44f3680) 0
-Class QVector<QLine>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine>::<anonymous union> (0xb44f3dc0) 0
-Class QVector<QLine>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine> (0xb44f3c00) 0
-Class QVector<QRectF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF>::<anonymous union> (0xb4468040) 0
-Class QVector<QRectF>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF> (0xb44f3f80) 0
-Class QVector<QRect>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect>::<anonymous union> (0xb4468140) 0
-Class QVector<QRect>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect> (0xb44680c0) 0
Vtable for QGraphicsScene
QGraphicsScene::_ZTV14QGraphicsScene: 34u entries
@@ -13451,20 +12337,8 @@ QGraphicsScene (0xb4468180) 0
QObject (0xb44681c0) 0
primary-for QGraphicsScene (0xb4468180)
-Class QFlags<QGraphicsScene::SceneLayer>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGraphicsScene::SceneLayer> (0xb44682c0) 0
-Class QList<QGraphicsItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QGraphicsItem*>::<anonymous union> (0xb4468380) 0
-Class QList<QGraphicsItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QGraphicsItem*> (0xb4468300) 0
Vtable for QGraphicsView
QGraphicsView::_ZTV13QGraphicsView: 68u entries
@@ -13553,15 +12427,7 @@ QGraphicsView (0xb44683c0) 0
QPaintDevice (0xb4468500) 8
vptr=((& QGraphicsView::_ZTV13QGraphicsView) + 252u)
-Class QFlags<QGraphicsView::CacheModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGraphicsView::CacheModeFlag> (0xb44685c0) 0
-Class QFlags<QGraphicsView::OptimizationFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGraphicsView::OptimizationFlag> (0xb4468600) 0
Vtable for QGraphicsItemAnimation
QGraphicsItemAnimation::_ZTV22QGraphicsItemAnimation: 16u entries
@@ -13921,10 +12787,6 @@ QAbstractPrintDialog (0xb4468b40) 0
QPaintDevice (0xb4468c40) 8
vptr=((& QAbstractPrintDialog::_ZTV20QAbstractPrintDialog) + 248u)
-Class QFlags<QAbstractPrintDialog::PrintDialogOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractPrintDialog::PrintDialogOption> (0xb4468d00) 0
Vtable for QPrintDialog
QPrintDialog::_ZTV12QPrintDialog: 67u entries
@@ -14183,10 +13045,6 @@ QWizard (0xb4468580) 0
QPaintDevice (0xb4468b00) 8
vptr=((& QWizard::_ZTV7QWizard) + 260u)
-Class QFlags<QWizard::WizardOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QWizard::WizardOption> (0xb4468cc0) 0
Vtable for QWizardPage
QWizardPage::_ZTV11QWizardPage: 68u entries
@@ -14354,10 +13212,6 @@ QFileDialog (0xb423d100) 0
QPaintDevice (0xb423d200) 8
vptr=((& QFileDialog::_ZTV11QFileDialog) + 244u)
-Class QFlags<QFileDialog::Option>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileDialog::Option> (0xb423d2c0) 0
Vtable for QFontDialog
QFontDialog::_ZTV11QFontDialog: 66u entries
@@ -14694,10 +13548,6 @@ QMessageBox (0xb423d7c0) 0
QPaintDevice (0xb423d8c0) 8
vptr=((& QMessageBox::_ZTV11QMessageBox) + 244u)
-Class QFlags<QMessageBox::StandardButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<QMessageBox::StandardButton> (0xb423d980) 0
Vtable for QColorDialog
QColorDialog::_ZTV12QColorDialog: 66u entries
@@ -15173,15 +14023,7 @@ Class QTextItem
base size=0 base align=1
QTextItem (0xb4178300) 0 empty
-Class QTypeInfo<QTextItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextItem> (0xb4178340) 0 empty
-Class QFlags<QPaintEngine::PaintEngineFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::PaintEngineFeature> (0xb4178400) 0
Vtable for QPaintEngine
QPaintEngine::_ZTV12QPaintEngine: 24u entries
@@ -15216,20 +14058,12 @@ Class QPaintEngine
QPaintEngine (0xb4178380) 0
vptr=((& QPaintEngine::_ZTV12QPaintEngine) + 8u)
-Class QFlags<QPaintEngine::DirtyFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::DirtyFlag> (0xb4178500) 0
Class QPaintEngineState
size=4 align=4
base size=4 base align=4
QPaintEngineState (0xb4178480) 0
-Class QFlags<QTextItem::RenderFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextItem::RenderFlag> (0xb4178540) 0
Vtable for QInputContext
QInputContext::_ZTV13QInputContext: 26u entries
@@ -15336,188 +14170,40 @@ QInputContextPlugin (0xb4178740) 0
QFactoryInterface (0xb4178800) 8 nearly-empty
primary-for QInputContextFactoryInterface (0xb41787c0)
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0xb41788c0) 0
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0xb4178940) 0
-Class QVectorTypedData<QPoint>
- size=24 align=4
- base size=24 base align=4
-QVectorTypedData<QPoint> (0xb41789c0) 0
-Class QVectorTypedData<QPointF>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QPointF> (0xb4178a40) 0
-Class QVectorTypedData<QPainterPath::Element>
- size=36 align=4
- base size=36 base align=4
-QVectorTypedData<QPainterPath::Element> (0xb4178ac0) 0
-Class QVectorTypedData<QTextLength>
- size=28 align=4
- base size=28 base align=4
-QVectorTypedData<QTextLength> (0xb4178c40) 0
-Class QVectorTypedData<QTextLayout::FormatRange>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QTextLayout::FormatRange> (0xb4178cc0) 0
-Class QVectorTypedData<QAbstractTextDocumentLayout::Selection>
- size=28 align=4
- base size=28 base align=4
-QVectorTypedData<QAbstractTextDocumentLayout::Selection> (0xb4178d40) 0
-Class QList<QTreeWidgetItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::Node (0xb4178f40) 0
-Class QVectorTypedData<QVector<QWidgetItemData> >
- size=20 align=4
- base size=20 base align=4
-QVectorTypedData<QVector<QWidgetItemData> > (0xb4178fc0) 0
-Class QList<QAction*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QAction*>::Node (0xb4178100) 0
-Class QVectorTypedData<QLineF>
- size=48 align=4
- base size=48 base align=4
-QVectorTypedData<QLineF> (0xb41784c0) 0
-Class QVectorTypedData<QLine>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QLine> (0xb4178700) 0
-Class QVectorTypedData<QRectF>
- size=48 align=4
- base size=48 base align=4
-QVectorTypedData<QRectF> (0xb4178b40) 0
-Class QVectorTypedData<QRect>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QRect> (0xb3d2c040) 0
-Class QMetaTypeId2<QSet<QAccessible::Method> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSet<QAccessible::Method> > (0xb3d2c100) 0 empty
-Class QHashNode<QAccessible::Method, QHashDummyValue>
- size=16 align=4
- base size=13 base align=4
-QHashNode<QAccessible::Method, QHashDummyValue> (0xb3d2c180) 0
-Class QTypeInfo<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLength> (0xb3d2c200) 0 empty
-Class QTypeInfo<QTextLayout::FormatRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLayout::FormatRange> (0xb3d2c2c0) 0 empty
-Class QTypeInfo<QAbstractTextDocumentLayout::Selection>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAbstractTextDocumentLayout::Selection> (0xb3d2c3c0) 0 empty
-Class QHashNode<QVariant::Type, QItemEditorCreatorBase*>
- size=16 align=4
- base size=16 base align=4
-QHashNode<QVariant::Type, QItemEditorCreatorBase*> (0xb3d2c480) 0
-Class QTypeInfo<QStandardItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QStandardItem*> (0xb3d2c500) 0 empty
-Class QTypeInfo<QTreeWidgetItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTreeWidgetItem*> (0xb3d2c580) 0 empty
-Class QTypeInfo<QAction*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAction*> (0xb3d2c600) 0 empty
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0xb3d2c680) 0
-Class QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union> (0xb3d2c700) 0
-Class QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union> (0xb3d2c7c0) 0
-Class QList<QVariant>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::Node (0xb3d2c880) 0
-Class QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union> (0xb3d2c940) 0
-Class QTypeInfo<QStyleOptionQ3ListViewItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QStyleOptionQ3ListViewItem> (0xb3d2ca00) 0 empty
-Class QList<QStyleOptionQ3ListViewItem>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::Node (0xb3d2ca80) 0
-Class QList<QItemSelectionRange>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::Node (0xb3d2cb40) 0
-Class QList<QStandardItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QStandardItem*>::Node (0xb3d2cc00) 0
-Class QTypeInfo<QGraphicsItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QGraphicsItem*> (0xb3d2cc80) 0 empty
-Class QList<QGraphicsItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QGraphicsItem*>::Node (0xb3d2cd00) 0
-Class QHashDummyNode<QAccessible::Method, QHashDummyValue>
- size=12 align=4
- base size=12 base align=4
-QHashDummyNode<QAccessible::Method, QHashDummyValue> (0xb3d2cd80) 0
-Class QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union> (0xb3d2ce00) 0
diff --git a/tests/auto/bic/data/QtGui.4.4.0.linux-gcc-ia32.txt b/tests/auto/bic/data/QtGui.4.4.0.linux-gcc-ia32.txt
index 255a42e..e03d6c7 100644
--- a/tests/auto/bic/data/QtGui.4.4.0.linux-gcc-ia32.txt
+++ b/tests/auto/bic/data/QtGui.4.4.0.linux-gcc-ia32.txt
@@ -1,34 +1,8 @@
-Class QUintForSize<4>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<4> (0xb78b3294) 0 empty
-Class QUintForSize<8>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<8> (0xb78b32d0) 0 empty
-Class QUintForType<void*>
- size=1 align=1
- base size=1 base align=1
-QUintForType<void*> (0xb7ca2c40) 0 empty
- QUintForSize<4> (0xb78b3348) 0 empty
-Class QIntForSize<4>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<4> (0xb78b3474) 0 empty
-Class QIntForSize<8>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<8> (0xb78b34b0) 0 empty
-Class QIntForType<void*>
- size=1 align=1
- base size=1 base align=1
-QIntForType<void*> (0xb7ca2e00) 0 empty
- QIntForSize<4> (0xb78b3528) 0 empty
Class QSysInfo
size=1 align=1
@@ -50,80 +24,20 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0xb6a76924) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0xb6a76b04) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0xb6a76bf4) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0xb6a76ce4) 0 empty
-Class QTypeInfo<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned char> (0xb6a76dd4) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0xb6a76ec4) 0 empty
-Class QTypeInfo<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short unsigned int> (0xb6a76fb4) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0xb6a8e0b4) 0 empty
-Class QTypeInfo<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned int> (0xb6a8e1a4) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0xb6a8e294) 0 empty
-Class QTypeInfo<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long unsigned int> (0xb6a8e384) 0 empty
-Class QTypeInfo<long long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long int> (0xb6a8e474) 0 empty
-Class QTypeInfo<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long unsigned int> (0xb6a8e564) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0xb6a8e654) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0xb6a8e744) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0xb6a8e834) 0 empty
Class QFlag
size=4 align=4
@@ -140,10 +54,6 @@ Class QChar
base size=2 base align=2
QChar (0xb6aab834) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0xb6ad44ec) 0 empty
Class QBasicAtomicInt
size=4 align=4
@@ -176,75 +86,19 @@ Class QByteRef
base size=8 base align=4
QByteRef (0xb698a0b4) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0xb69d81a4) 0 empty
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0xb69d8438) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0xb69d8d5c) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0xb6a1f690) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0xb6a1ffb4) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0xb6a348e8) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0xb6a3e21c) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0xb6a3eb40) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0xb6a54474) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0xb6a54d98) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0xb6a666cc) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0xb6877000) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0xb6877924) 0
-Class QFlags<Qt::TextInteractionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::TextInteractionFlag> (0xb688c258) 0
Class QInternal
size=1 align=1
@@ -266,10 +120,6 @@ Class QString
base size=4 base align=4
QString (0xb688cce4) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0xb68e0f78) 0
Class QLatin1String
size=4 align=4
@@ -287,10 +137,6 @@ Class QConstString
QConstString (0xb6805c00) 0
QString (0xb6859348) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0xb6859654) 0 empty
Class QStringRef
size=12 align=4
@@ -358,10 +204,6 @@ Class QListData
base size=4 base align=4
QListData (0xb66bdd20) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0xb6766fb4) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -386,15 +228,7 @@ Class QTextCodec
QTextCodec (0xb676630c) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0xb6585618) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0xb65855a0) 0
Class QTextEncoder
size=32 align=4
@@ -417,25 +251,13 @@ Class QGenericReturnArgument
QGenericReturnArgument (0xb65b3100) 0
QGenericArgument (0xb65aa834) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0xb65aad20) 0
Class QMetaObject
size=16 align=4
base size=16 base align=4
QMetaObject (0xb65aab40) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0xb65c1e88) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0xb65c1e10) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -527,10 +349,6 @@ QIODevice (0xb6600f80) 0
QObject (0xb6602e88) 0
primary-for QIODevice (0xb6600f80)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0xb6637168) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -550,25 +368,13 @@ Class QRegExp
base size=4 base align=4
QRegExp (0xb64820b4) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0xb64978ac) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0xb649799c) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0xb6497f00) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0xb6497e88) 0
Class QStringList
size=4 align=4
@@ -576,15 +382,7 @@ Class QStringList
QStringList (0xb64a6080) 0
QList<QString> (0xb6497f3c) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0xb64c3ca8) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0xb64c3ec4) 0
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -664,10 +462,6 @@ Class QMutex
base size=4 base align=4
QMutex (0xb65090f0) 0
-Class QMutexLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMutexLocker::<anonymous union> (0xb6509ce4) 0
Class QMutexLocker
size=4 align=4
@@ -747,35 +541,11 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0xb63d7618) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0xb63d76cc) 0 empty
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6265654) 0
-Class <anonymous struct>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct>::<anonymous union> (0xb6265744) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb62656cc) 0
-Class <anonymous struct>
- size=12 align=4
- base size=12 base align=4
-<anonymous struct> (0xb62657bc) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb6265834) 0
Class _IO_marker
size=12 align=4
@@ -787,10 +557,6 @@ Class _IO_FILE
base size=148 base align=4
_IO_FILE (0xb62658ac) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb6265924) 0
Vtable for QTextStream
QTextStream::_ZTV11QTextStream: 4u entries
@@ -805,10 +571,6 @@ Class QTextStream
QTextStream (0xb6265960) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0xb62b40f0) 0
Class QTextStreamManipulator
size=24 align=4
@@ -845,40 +607,16 @@ QTextOStream (0xb62d91c0) 0
QTextStream (0xb62d5870) 0
primary-for QTextOStream (0xb62d91c0)
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0xb62e42d0) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0xb62e4348) 0
Class wait
size=4 align=4
base size=4 base align=4
wait (0xb62e4258) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb62e43c0) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb62e4438) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb62e44b0) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb62e4528) 0
Class timespec
size=8 align=4
@@ -890,80 +628,24 @@ Class timeval
base size=8 base align=4
timeval (0xb62e45a0) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb62e4618) 0
-Class <anonymous union>
- size=36 align=4
- base size=36 base align=4
-<anonymous union> (0xb62e4690) 0
Class __pthread_internal_slist
size=4 align=4
base size=4 base align=4
__pthread_internal_slist (0xb62e46cc) 0
-Class <anonymous union>::__pthread_mutex_s::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union>::__pthread_mutex_s::<anonymous union> (0xb62e47f8) 0
-Class <anonymous union>::__pthread_mutex_s
- size=24 align=4
- base size=24 base align=4
-<anonymous union>::__pthread_mutex_s (0xb62e4780) 0
-Class <anonymous union>
- size=24 align=4
- base size=24 base align=4
-<anonymous union> (0xb62e4744) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb62e4870) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0xb62e4960) 0
-Class <anonymous union>
- size=48 align=4
- base size=48 base align=4
-<anonymous union> (0xb62e48e8) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb62e49d8) 0
-Class <anonymous union>::<anonymous struct>
- size=32 align=4
- base size=32 base align=4
-<anonymous union>::<anonymous struct> (0xb62e4ac8) 0
-Class <anonymous union>
- size=32 align=4
- base size=32 base align=4
-<anonymous union> (0xb62e4a50) 0
-Class <anonymous union>
- size=8 align=4
- base size=8 base align=4
-<anonymous union> (0xb62e4b7c) 0
-Class <anonymous union>
- size=20 align=4
- base size=20 base align=4
-<anonymous union> (0xb62e4bf4) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb62e4c6c) 0
Class random_data
size=28 align=4
@@ -995,20 +677,8 @@ Class QtConcurrent::ResultItem
base size=8 base align=4
QtConcurrent::ResultItem (0xb6207a14) 0
-Class QMap<int, QtConcurrent::ResultItem>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<int, QtConcurrent::ResultItem>::<anonymous union> (0xb6220654) 0
-Class QMap<int, QtConcurrent::ResultItem>
- size=4 align=4
- base size=4 base align=4
-QMap<int, QtConcurrent::ResultItem> (0xb62205dc) 0
-Class QMap<int, QtConcurrent::ResultItem>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QMap<int, QtConcurrent::ResultItem>::const_iterator (0xb622099c) 0
Class QtConcurrent::ResultIteratorBase
size=8 align=4
@@ -1028,10 +698,6 @@ Class QtConcurrent::ResultStoreBase
QtConcurrent::ResultStoreBase (0xb6220ac8) 0
vptr=((& QtConcurrent::ResultStoreBase::_ZTVN12QtConcurrent15ResultStoreBaseE) + 8u)
-Class QMap<int, QtConcurrent::ResultItem>::iterator
- size=4 align=4
- base size=4 base align=4
-QMap<int, QtConcurrent::ResultItem>::iterator (0xb624a168) 0
Vtable for QFutureInterfaceBase
QFutureInterfaceBase::_ZTV20QFutureInterfaceBase: 4u entries
@@ -1046,25 +712,8 @@ Class QFutureInterfaceBase
QFutureInterfaceBase (0xb624a1e0) 0
vptr=((& QFutureInterfaceBase::_ZTV20QFutureInterfaceBase) + 8u)
-Vtable for QFutureInterface<void>
-QFutureInterface<void>::_ZTV16QFutureInterfaceIvE: 4u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI16QFutureInterfaceIvE)
-8 QFutureInterface<void>::~QFutureInterface
-12 QFutureInterface<void>::~QFutureInterface
-Class QFutureInterface<void>
- size=8 align=4
- base size=8 base align=4
-QFutureInterface<void> (0xb6063880) 0
- vptr=((& QFutureInterface<void>::_ZTV16QFutureInterfaceIvE) + 8u)
- QFutureInterfaceBase (0xb624ad20) 0
- primary-for QFutureInterface<void> (0xb6063880)
-Class QFuture<void>
- size=8 align=4
- base size=8 base align=4
-QFuture<void> (0xb60984b0) 0
Vtable for QFutureWatcherBase
QFutureWatcherBase::_ZTV18QFutureWatcherBase: 16u entries
@@ -1093,34 +742,7 @@ QFutureWatcherBase (0xb60ba7c0) 0
QObject (0xb60bbb40) 0
primary-for QFutureWatcherBase (0xb60ba7c0)
-Vtable for QFutureWatcher<void>
-QFutureWatcher<void>::_ZTV14QFutureWatcherIvE: 16u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI14QFutureWatcherIvE)
-8 QFutureWatcherBase::metaObject
-12 QFutureWatcherBase::qt_metacast
-16 QFutureWatcherBase::qt_metacall
-20 QFutureWatcher<void>::~QFutureWatcher
-24 QFutureWatcher<void>::~QFutureWatcher
-28 QFutureWatcherBase::event
-32 QObject::eventFilter
-36 QObject::timerEvent
-40 QObject::childEvent
-44 QObject::customEvent
-48 QFutureWatcherBase::connectNotify
-52 QFutureWatcherBase::disconnectNotify
-56 QFutureWatcher<void>::futureInterface
-60 QFutureWatcher<void>::futureInterface
-Class QFutureWatcher<void>
- size=16 align=4
- base size=16 base align=4
-QFutureWatcher<void> (0xb60baec0) 0
- vptr=((& QFutureWatcher<void>::_ZTV14QFutureWatcherIvE) + 8u)
- QFutureWatcherBase (0xb60baf00) 0
- primary-for QFutureWatcher<void> (0xb60baec0)
- QObject (0xb60cf654) 0
- primary-for QFutureWatcherBase (0xb60baf00)
Vtable for QRunnable
QRunnable::_ZTV9QRunnable: 5u entries
@@ -1219,60 +841,14 @@ QtConcurrent::ThreadEngineBase (0xb61113c0) 0
QRunnable (0xb611c654) 0
primary-for QtConcurrent::ThreadEngineBase (0xb61113c0)
-Class QtConcurrent::ThreadEngineStarterBase<void>
- size=4 align=4
- base size=4 base align=4
-QtConcurrent::ThreadEngineStarterBase<void> (0xb611ce4c) 0
-Class QtConcurrent::ThreadEngineStarter<void>
- size=4 align=4
- base size=4 base align=4
-QtConcurrent::ThreadEngineStarter<void> (0xb6111d40) 0
- QtConcurrent::ThreadEngineStarterBase<void> (0xb611cec4) 0
-Vtable for QtConcurrent::ThreadEngine<void>
-QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE: 26u entries
-0 4u
-4 (int (*)(...))0
-8 (int (*)(...))(& _ZTIN12QtConcurrent12ThreadEngineIvEE)
-12 QtConcurrent::ThreadEngine<T>::result [with T = void]
-16 QtConcurrent::ThreadEngine<T>::asynchronousFinish [with T = void]
-20 QtConcurrent::ThreadEngine<void>::~ThreadEngine
-24 QtConcurrent::ThreadEngine<void>::~ThreadEngine
-28 -4u
-32 0u
-36 0u
-40 0u
-44 0u
-48 0u
-52 -4u
-56 0u
-60 (int (*)(...))-0x000000004
-64 (int (*)(...))(& _ZTIN12QtConcurrent12ThreadEngineIvEE)
-68 QtConcurrent::ThreadEngineBase::run
-72 QtConcurrent::ThreadEngine<void>::_ZTv0_n16_N12QtConcurrent12ThreadEngineIvED1Ev
-76 QtConcurrent::ThreadEngine<void>::_ZTv0_n16_N12QtConcurrent12ThreadEngineIvED0Ev
-80 QtConcurrent::ThreadEngineBase::start
-84 QtConcurrent::ThreadEngineBase::finish
-88 QtConcurrent::ThreadEngineBase::threadFunction
-92 QtConcurrent::ThreadEngineBase::shouldStartThread
-96 QtConcurrent::ThreadEngineBase::shouldThrottleThread
-100 QtConcurrent::ThreadEngine<void>::_ZTv0_n40_N12QtConcurrent12ThreadEngineIvE18asynchronousFinishEv
VTT for QtConcurrent::ThreadEngine<void>
QtConcurrent::ThreadEngine<void>::_ZTTN12QtConcurrent12ThreadEngineIvEE: 2u entries
0 ((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 12u)
4 ((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 68u)
-Class QtConcurrent::ThreadEngine<void>
- size=36 align=4
- base size=4 base align=4
-QtConcurrent::ThreadEngine<void> (0xb6111f00) 0 nearly-empty
- vptridx=0u vptr=((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 12u)
- QtConcurrent::ThreadEngineBase (0xb6111f40) 4 virtual
- vptridx=4u vbaseoffset=-0x00000000c vptr=((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 68u)
- QRunnable (0xb612f348) 4
- primary-for QtConcurrent::ThreadEngineBase (0xb6111f40)
Class std::input_iterator_tag
size=1 align=1
@@ -1315,225 +891,49 @@ Class std::__false_type
base size=0 base align=1
std::__false_type (0xb612fd98) 0 empty
-Class std::__truth_type<true>
- size=1 align=1
- base size=0 base align=1
-std::__truth_type<true> (0xb612fe10) 0 empty
-Class std::__is_void<void>
- size=1 align=1
- base size=0 base align=1
-std::__is_void<void> (0xb612f4b0) 0 empty
-Class std::__is_integer<bool>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<bool> (0xb614e0b4) 0 empty
-Class std::__is_integer<char>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<char> (0xb614e12c) 0 empty
-Class std::__is_integer<signed char>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<signed char> (0xb614e1a4) 0 empty
-Class std::__is_integer<unsigned char>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<unsigned char> (0xb614e21c) 0 empty
-Class std::__is_integer<wchar_t>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<wchar_t> (0xb614e294) 0 empty
-Class std::__is_integer<short int>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<short int> (0xb614e30c) 0 empty
-Class std::__is_integer<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<short unsigned int> (0xb614e384) 0 empty
-Class std::__is_integer<int>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<int> (0xb614e3fc) 0 empty
-Class std::__is_integer<unsigned int>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<unsigned int> (0xb614e474) 0 empty
-Class std::__is_integer<long int>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<long int> (0xb614e4ec) 0 empty
-Class std::__is_integer<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<long unsigned int> (0xb614e564) 0 empty
-Class std::__is_integer<long long int>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<long long int> (0xb614e5dc) 0 empty
-Class std::__is_integer<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<long long unsigned int> (0xb614e654) 0 empty
-Class std::__is_floating<float>
- size=1 align=1
- base size=0 base align=1
-std::__is_floating<float> (0xb614e744) 0 empty
-Class std::__is_floating<double>
- size=1 align=1
- base size=0 base align=1
-std::__is_floating<double> (0xb614e7bc) 0 empty
-Class std::__is_floating<long double>
- size=1 align=1
- base size=0 base align=1
-std::__is_floating<long double> (0xb614e834) 0 empty
-Class std::__is_char<char>
- size=1 align=1
- base size=0 base align=1
-std::__is_char<char> (0xb614ebb8) 0 empty
-Class std::__is_char<wchar_t>
- size=1 align=1
- base size=0 base align=1
-std::__is_char<wchar_t> (0xb614ec30) 0 empty
-Class std::__is_byte<char>
- size=1 align=1
- base size=0 base align=1
-std::__is_byte<char> (0xb614ed20) 0 empty
-Class std::__is_byte<signed char>
- size=1 align=1
- base size=0 base align=1
-std::__is_byte<signed char> (0xb614ed98) 0 empty
-Class std::__is_byte<unsigned char>
- size=1 align=1
- base size=0 base align=1
-std::__is_byte<unsigned char> (0xb614ee10) 0 empty
-Class __gnu_cxx::__add_unsigned<char>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__add_unsigned<char> (0xb5f6303c) 0 empty
-Class __gnu_cxx::__add_unsigned<signed char>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__add_unsigned<signed char> (0xb5f63078) 0 empty
-Class __gnu_cxx::__add_unsigned<short int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__add_unsigned<short int> (0xb5f630b4) 0 empty
-Class __gnu_cxx::__add_unsigned<int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__add_unsigned<int> (0xb5f630f0) 0 empty
-Class __gnu_cxx::__add_unsigned<long int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__add_unsigned<long int> (0xb5f6312c) 0 empty
-Class __gnu_cxx::__add_unsigned<long long int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__add_unsigned<long long int> (0xb5f63168) 0 empty
-Class __gnu_cxx::__remove_unsigned<char>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__remove_unsigned<char> (0xb5f631e0) 0 empty
-Class __gnu_cxx::__remove_unsigned<unsigned char>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__remove_unsigned<unsigned char> (0xb5f6321c) 0 empty
-Class __gnu_cxx::__remove_unsigned<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__remove_unsigned<short unsigned int> (0xb5f63258) 0 empty
-Class __gnu_cxx::__remove_unsigned<unsigned int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__remove_unsigned<unsigned int> (0xb5f63294) 0 empty
-Class __gnu_cxx::__remove_unsigned<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__remove_unsigned<long unsigned int> (0xb5f632d0) 0 empty
-Class __gnu_cxx::__remove_unsigned<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__remove_unsigned<long long unsigned int> (0xb5f6330c) 0 empty
-Class std::iterator<std::output_iterator_tag, void, void, void, void>
- size=1 align=1
- base size=0 base align=1
-std::iterator<std::output_iterator_tag, void, void, void, void> (0xb5f63ce4) 0 empty
-Class std::__iter_swap<true>
- size=1 align=1
- base size=0 base align=1
-std::__iter_swap<true> (0xb5fdb2d0) 0 empty
-Class std::__copy_move<false, false, std::random_access_iterator_tag>
- size=1 align=1
- base size=0 base align=1
-std::__copy_move<false, false, std::random_access_iterator_tag> (0xb5fdb708) 0 empty
-Class std::__copy_move_backward<false, false, std::random_access_iterator_tag>
- size=1 align=1
- base size=0 base align=1
-std::__copy_move_backward<false, false, std::random_access_iterator_tag> (0xb5fdb924) 0 empty
-Class std::__equal<true>
- size=1 align=1
- base size=0 base align=1
-std::__equal<true> (0xb5fdbd20) 0 empty
-Class std::__lc_rai<std::random_access_iterator_tag, std::random_access_iterator_tag>
- size=1 align=1
- base size=0 base align=1
-std::__lc_rai<std::random_access_iterator_tag, std::random_access_iterator_tag> (0xb5fdbe88) 0 empty
-Class std::__lexicographical_compare<true>
- size=1 align=1
- base size=0 base align=1
-std::__lexicographical_compare<true> (0xb6018000) 0 empty
-Class std::char_traits<char>
- size=1 align=1
- base size=0 base align=1
-std::char_traits<char> (0xb6018708) 0 empty
-Class std::char_traits<wchar_t>
- size=1 align=1
- base size=0 base align=1
-std::char_traits<wchar_t> (0xb603b12c) 0 empty
Class lconv
size=56 align=4
@@ -1550,10 +950,6 @@ Class __sched_param
base size=4 base align=4
__sched_param (0xb603dce4) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb603dd5c) 0
Class tm
size=44 align=4
@@ -1570,15 +966,7 @@ Class _pthread_cleanup_buffer
base size=16 base align=4
_pthread_cleanup_buffer (0xb5e6a03c) 0
-Class <anonymous struct>::<anonymous struct>
- size=28 align=4
- base size=28 base align=4
-<anonymous struct>::<anonymous struct> (0xb5e6a1a4) 0
-Class <anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous struct> (0xb5e6a12c) 0
Class __pthread_cleanup_frame
size=16 align=4
@@ -1590,32 +978,10 @@ Class __pthread_cleanup_class
base size=16 base align=4
__pthread_cleanup_class (0xb5e6a21c) 0
-Class std::allocator<void>
- size=1 align=1
- base size=0 base align=1
-std::allocator<void> (0xb5ec6744) 0 empty
-Class __gnu_cxx::new_allocator<char>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::new_allocator<char> (0xb5ec6a14) 0 empty
-Class std::allocator<char>
- size=1 align=1
- base size=1 base align=1
-std::allocator<char> (0xb5ed38c0) 0 empty
- __gnu_cxx::new_allocator<char> (0xb5ec6a50) 0 empty
-Class __gnu_cxx::new_allocator<wchar_t>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::new_allocator<wchar_t> (0xb5ec6a8c) 0 empty
-Class std::allocator<wchar_t>
- size=1 align=1
- base size=1 base align=1
-std::allocator<wchar_t> (0xb5ed3980) 0 empty
- __gnu_cxx::new_allocator<wchar_t> (0xb5ec6ac8) 0 empty
Vtable for __cxxabiv1::__forced_unwind
__cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE: 5u entries
@@ -1631,82 +997,19 @@ Class __cxxabiv1::__forced_unwind
__cxxabiv1::__forced_unwind (0xb5ec6ce4) 0 nearly-empty
vptr=((& __cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE) + 8u)
-Class __gnu_cxx::__conditional_type<true, __gnu_cxx::__numeric_traits_integer<int>, __gnu_cxx::__numeric_traits_floating<int> >
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__conditional_type<true, __gnu_cxx::__numeric_traits_integer<int>, __gnu_cxx::__numeric_traits_floating<int> > (0xb5d785dc) 0 empty
-Class __gnu_cxx::__numeric_traits_integer<int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__numeric_traits_integer<int> (0xb5d78618) 0 empty
-Class __gnu_cxx::__numeric_traits<int>
- size=1 align=1
- base size=1 base align=1
-__gnu_cxx::__numeric_traits<int> (0xb5d7ac40) 0 empty
- __gnu_cxx::__numeric_traits_integer<int> (0xb5d78654) 0 empty
-Class std::allocator<char>::rebind<char>
- size=1 align=1
- base size=0 base align=1
-std::allocator<char>::rebind<char> (0xb5dfe2d0) 0 empty
-Class std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Alloc_hider
- size=4 align=4
- base size=4 base align=4
-std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Alloc_hider (0xb5e13200) 0
- std::allocator<char> (0xb5e13240) 0 empty
- __gnu_cxx::new_allocator<char> (0xb5dfe348) 0 empty
-Class std::basic_string<char, std::char_traits<char>, std::allocator<char> >
- size=4 align=4
- base size=4 base align=4
-std::basic_string<char, std::char_traits<char>, std::allocator<char> > (0xb5dfe258) 0
-Class std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep_base
- size=12 align=4
- base size=12 base align=4
-std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep_base (0xb5dfe384) 0
-Class std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep
- size=12 align=4
- base size=12 base align=4
-std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep (0xb5e133c0) 0
- std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep_base (0xb5dfe3c0) 0
-Class std::allocator<wchar_t>::rebind<wchar_t>
- size=1 align=1
- base size=0 base align=1
-std::allocator<wchar_t>::rebind<wchar_t> (0xb5dfe474) 0 empty
-Class std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Alloc_hider
- size=4 align=4
- base size=4 base align=4
-std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Alloc_hider (0xb5e135c0) 0
- std::allocator<wchar_t> (0xb5e13600) 0 empty
- __gnu_cxx::new_allocator<wchar_t> (0xb5dfe4ec) 0 empty
-Class std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >
- size=4 align=4
- base size=4 base align=4
-std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > (0xb5dfe3fc) 0
-Class std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Rep_base
- size=12 align=4
- base size=12 base align=4
-std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Rep_base (0xb5dfe528) 0
-Class std::allocator<wchar_t>::rebind<char>
- size=1 align=1
- base size=0 base align=1
-std::allocator<wchar_t>::rebind<char> (0xb5dfe5dc) 0 empty
-Class std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Rep
- size=12 align=4
- base size=12 base align=4
-std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Rep (0xb5e13780) 0
- std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Rep_base (0xb5dfe564) 0
Class std::locale
size=4 align=4
@@ -1736,97 +1039,16 @@ Class std::locale::_Impl
base size=20 base align=4
std::locale::_Impl (0xb5cb5780) 0
-Vtable for std::collate<char>
-std::collate<char>::_ZTVSt7collateIcE: 7u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt7collateIcE)
-8 std::collate<_CharT>::~collate [with _CharT = char]
-12 std::collate<_CharT>::~collate [with _CharT = char]
-16 std::collate<_CharT>::do_compare [with _CharT = char]
-20 std::collate<_CharT>::do_transform [with _CharT = char]
-24 std::collate<_CharT>::do_hash [with _CharT = char]
-Class std::collate<char>
- size=12 align=4
- base size=12 base align=4
-std::collate<char> (0xb5cc1740) 0
- vptr=((& std::collate<char>::_ZTVSt7collateIcE) + 8u)
- std::locale::facet (0xb5ccd12c) 0
- primary-for std::collate<char> (0xb5cc1740)
-
-Vtable for std::collate<wchar_t>
-std::collate<wchar_t>::_ZTVSt7collateIwE: 7u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt7collateIwE)
-8 std::collate<_CharT>::~collate [with _CharT = wchar_t]
-12 std::collate<_CharT>::~collate [with _CharT = wchar_t]
-16 std::collate<_CharT>::do_compare [with _CharT = wchar_t]
-20 std::collate<_CharT>::do_transform [with _CharT = wchar_t]
-24 std::collate<_CharT>::do_hash [with _CharT = wchar_t]
-
-Class std::collate<wchar_t>
- size=12 align=4
- base size=12 base align=4
-std::collate<wchar_t> (0xb5cc1840) 0
- vptr=((& std::collate<wchar_t>::_ZTVSt7collateIwE) + 8u)
- std::locale::facet (0xb5ccd21c) 0
- primary-for std::collate<wchar_t> (0xb5cc1840)
-Class __gnu_cxx::__conditional_type<true, __gnu_cxx::__numeric_traits_integer<long unsigned int>, __gnu_cxx::__numeric_traits_floating<long unsigned int> >
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__conditional_type<true, __gnu_cxx::__numeric_traits_integer<long unsigned int>, __gnu_cxx::__numeric_traits_floating<long unsigned int> > (0xb5ccd690) 0 empty
-Class __gnu_cxx::__numeric_traits_integer<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__numeric_traits_integer<long unsigned int> (0xb5ccd6cc) 0 empty
-Class __gnu_cxx::__numeric_traits<long unsigned int>
- size=1 align=1
- base size=1 base align=1
-__gnu_cxx::__numeric_traits<long unsigned int> (0xb5ce57c0) 0 empty
- __gnu_cxx::__numeric_traits_integer<long unsigned int> (0xb5ccd708) 0 empty
-Vtable for std::collate_byname<char>
-std::collate_byname<char>::_ZTVSt14collate_bynameIcE: 7u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt14collate_bynameIcE)
-8 std::collate_byname<_CharT>::~collate_byname [with _CharT = char]
-12 std::collate_byname<_CharT>::~collate_byname [with _CharT = char]
-16 std::collate<_CharT>::do_compare [with _CharT = char]
-20 std::collate<_CharT>::do_transform [with _CharT = char]
-24 std::collate<_CharT>::do_hash [with _CharT = char]
-Class std::collate_byname<char>
- size=12 align=4
- base size=12 base align=4
-std::collate_byname<char> (0xb5ce5900) 0
- vptr=((& std::collate_byname<char>::_ZTVSt14collate_bynameIcE) + 8u)
- std::collate<char> (0xb5ce5940) 0
- primary-for std::collate_byname<char> (0xb5ce5900)
- std::locale::facet (0xb5ccd780) 0
- primary-for std::collate<char> (0xb5ce5940)
-
-Vtable for std::collate_byname<wchar_t>
-std::collate_byname<wchar_t>::_ZTVSt14collate_bynameIwE: 7u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt14collate_bynameIwE)
-8 std::collate_byname<_CharT>::~collate_byname [with _CharT = wchar_t]
-12 std::collate_byname<_CharT>::~collate_byname [with _CharT = wchar_t]
-16 std::collate<_CharT>::do_compare [with _CharT = wchar_t]
-20 std::collate<_CharT>::do_transform [with _CharT = wchar_t]
-24 std::collate<_CharT>::do_hash [with _CharT = wchar_t]
-
-Class std::collate_byname<wchar_t>
- size=12 align=4
- base size=12 base align=4
-std::collate_byname<wchar_t> (0xb5ce59c0) 0
- vptr=((& std::collate_byname<wchar_t>::_ZTVSt14collate_bynameIwE) + 8u)
- std::collate<wchar_t> (0xb5ce5a00) 0
- primary-for std::collate_byname<wchar_t> (0xb5ce59c0)
- std::locale::facet (0xb5ccd870) 0
- primary-for std::collate<wchar_t> (0xb5ce5a00)
+
+
+
+
Vtable for std::ios_base::failure
std::ios_base::failure::_ZTVNSt8ios_base7failureE: 5u entries
@@ -1872,583 +1094,85 @@ Class std::ios_base
std::ios_base (0xb5cfb618) 0
vptr=((& std::ios_base::_ZTVSt8ios_base) + 8u)
-Vtable for std::basic_streambuf<char, std::char_traits<char> >
-std::basic_streambuf<char, std::char_traits<char> >::_ZTVSt15basic_streambufIcSt11char_traitsIcEE: 16u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt15basic_streambufIcSt11char_traitsIcEE)
-8 std::basic_streambuf<_CharT, _Traits>::~basic_streambuf [with _CharT = char, _Traits = std::char_traits<char>]
-12 std::basic_streambuf<_CharT, _Traits>::~basic_streambuf [with _CharT = char, _Traits = std::char_traits<char>]
-16 std::basic_streambuf<_CharT, _Traits>::imbue [with _CharT = char, _Traits = std::char_traits<char>]
-20 std::basic_streambuf<_CharT, _Traits>::setbuf [with _CharT = char, _Traits = std::char_traits<char>]
-24 std::basic_streambuf<_CharT, _Traits>::seekoff [with _CharT = char, _Traits = std::char_traits<char>]
-28 std::basic_streambuf<_CharT, _Traits>::seekpos [with _CharT = char, _Traits = std::char_traits<char>]
-32 std::basic_streambuf<_CharT, _Traits>::sync [with _CharT = char, _Traits = std::char_traits<char>]
-36 std::basic_streambuf<_CharT, _Traits>::showmanyc [with _CharT = char, _Traits = std::char_traits<char>]
-40 std::basic_streambuf<_CharT, _Traits>::xsgetn [with _CharT = char, _Traits = std::char_traits<char>]
-44 std::basic_streambuf<_CharT, _Traits>::underflow [with _CharT = char, _Traits = std::char_traits<char>]
-48 std::basic_streambuf<_CharT, _Traits>::uflow [with _CharT = char, _Traits = std::char_traits<char>]
-52 std::basic_streambuf<_CharT, _Traits>::pbackfail [with _CharT = char, _Traits = std::char_traits<char>]
-56 std::basic_streambuf<_CharT, _Traits>::xsputn [with _CharT = char, _Traits = std::char_traits<char>]
-60 std::basic_streambuf<_CharT, _Traits>::overflow [with _CharT = char, _Traits = std::char_traits<char>]
-
-Class std::basic_streambuf<char, std::char_traits<char> >
- size=32 align=4
- base size=32 base align=4
-std::basic_streambuf<char, std::char_traits<char> > (0xb5d2bca8) 0
- vptr=((& std::basic_streambuf<char, std::char_traits<char> >::_ZTVSt15basic_streambufIcSt11char_traitsIcEE) + 8u)
-
-Vtable for std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >
-std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >::_ZTVSt15basic_streambufIwSt11char_traitsIwEE: 16u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt15basic_streambufIwSt11char_traitsIwEE)
-8 std::basic_streambuf<_CharT, _Traits>::~basic_streambuf [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-12 std::basic_streambuf<_CharT, _Traits>::~basic_streambuf [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-16 std::basic_streambuf<_CharT, _Traits>::imbue [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-20 std::basic_streambuf<_CharT, _Traits>::setbuf [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-24 std::basic_streambuf<_CharT, _Traits>::seekoff [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-28 std::basic_streambuf<_CharT, _Traits>::seekpos [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-32 std::basic_streambuf<_CharT, _Traits>::sync [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-36 std::basic_streambuf<_CharT, _Traits>::showmanyc [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-40 std::basic_streambuf<_CharT, _Traits>::xsgetn [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-44 std::basic_streambuf<_CharT, _Traits>::underflow [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-48 std::basic_streambuf<_CharT, _Traits>::uflow [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-52 std::basic_streambuf<_CharT, _Traits>::pbackfail [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-56 std::basic_streambuf<_CharT, _Traits>::xsputn [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-60 std::basic_streambuf<_CharT, _Traits>::overflow [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-
-Class std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >
- size=32 align=4
- base size=32 base align=4
-std::basic_streambuf<wchar_t, std::char_traits<wchar_t> > (0xb5d2bf3c) 0
- vptr=((& std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >::_ZTVSt15basic_streambufIwSt11char_traitsIwEE) + 8u)
+
+
+
Class std::ctype_base
size=1 align=1
base size=0 base align=1
std::ctype_base (0xb5d2bd98) 0 empty
-Vtable for std::ctype<char>
-std::ctype<char>::_ZTVSt5ctypeIcE: 12u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt5ctypeIcE)
-8 std::ctype<char>::~ctype
-12 std::ctype<char>::~ctype
-16 std::ctype<char>::do_toupper
-20 std::ctype<char>::do_toupper
-24 std::ctype<char>::do_tolower
-28 std::ctype<char>::do_tolower
-32 std::ctype<char>::do_widen
-36 std::ctype<char>::do_widen
-40 std::ctype<char>::do_narrow
-44 std::ctype<char>::do_narrow
-
-Class std::ctype<char>
- size=544 align=4
- base size=542 base align=4
-std::ctype<char> (0xb5bb24b0) 0
- vptr=((& std::ctype<char>::_ZTVSt5ctypeIcE) + 8u)
- std::locale::facet (0xb5bae12c) 0
- primary-for std::ctype<char> (0xb5bb24b0)
- std::ctype_base (0xb5bae168) 0 empty
-
-Vtable for std::__ctype_abstract_base<wchar_t>
-std::__ctype_abstract_base<wchar_t>::_ZTVSt21__ctype_abstract_baseIwE: 16u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt21__ctype_abstract_baseIwE)
-8 std::__ctype_abstract_base<_CharT>::~__ctype_abstract_base [with _CharT = wchar_t]
-12 std::__ctype_abstract_base<_CharT>::~__ctype_abstract_base [with _CharT = wchar_t]
-16 __cxa_pure_virtual
-20 __cxa_pure_virtual
-24 __cxa_pure_virtual
-28 __cxa_pure_virtual
-32 __cxa_pure_virtual
-36 __cxa_pure_virtual
-40 __cxa_pure_virtual
-44 __cxa_pure_virtual
-48 __cxa_pure_virtual
-52 __cxa_pure_virtual
-56 __cxa_pure_virtual
-60 __cxa_pure_virtual
-Class std::__ctype_abstract_base<wchar_t>
- size=8 align=4
- base size=8 base align=4
-std::__ctype_abstract_base<wchar_t> (0xb5bbad70) 0
- vptr=((& std::__ctype_abstract_base<wchar_t>::_ZTVSt21__ctype_abstract_baseIwE) + 8u)
- std::locale::facet (0xb5bcace4) 0
- primary-for std::__ctype_abstract_base<wchar_t> (0xb5bbad70)
- std::ctype_base (0xb5bcad20) 0 empty
-
-Vtable for std::ctype<wchar_t>
-std::ctype<wchar_t>::_ZTVSt5ctypeIwE: 16u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt5ctypeIwE)
-8 std::ctype<wchar_t>::~ctype
-12 std::ctype<wchar_t>::~ctype
-16 std::ctype<wchar_t>::do_is
-20 std::ctype<wchar_t>::do_is
-24 std::ctype<wchar_t>::do_scan_is
-28 std::ctype<wchar_t>::do_scan_not
-32 std::ctype<wchar_t>::do_toupper
-36 std::ctype<wchar_t>::do_toupper
-40 std::ctype<wchar_t>::do_tolower
-44 std::ctype<wchar_t>::do_tolower
-48 std::ctype<wchar_t>::do_widen
-52 std::ctype<wchar_t>::do_widen
-56 std::ctype<wchar_t>::do_narrow
-60 std::ctype<wchar_t>::do_narrow
-
-Class std::ctype<wchar_t>
- size=1264 align=4
- base size=1264 base align=4
-std::ctype<wchar_t> (0xb5bbb900) 0
- vptr=((& std::ctype<wchar_t>::_ZTVSt5ctypeIwE) + 8u)
- std::__ctype_abstract_base<wchar_t> (0xb5bd4be0) 0
- primary-for std::ctype<wchar_t> (0xb5bbb900)
- std::locale::facet (0xb5bcae10) 0
- primary-for std::__ctype_abstract_base<wchar_t> (0xb5bd4be0)
- std::ctype_base (0xb5bcae4c) 0 empty
-
-Vtable for std::ctype_byname<char>
-std::ctype_byname<char>::_ZTVSt12ctype_bynameIcE: 12u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt12ctype_bynameIcE)
-8 std::ctype_byname<char>::~ctype_byname
-12 std::ctype_byname<char>::~ctype_byname
-16 std::ctype<char>::do_toupper
-20 std::ctype<char>::do_toupper
-24 std::ctype<char>::do_tolower
-28 std::ctype<char>::do_tolower
-32 std::ctype<char>::do_widen
-36 std::ctype<char>::do_widen
-40 std::ctype<char>::do_narrow
-44 std::ctype<char>::do_narrow
-
-Class std::ctype_byname<char>
- size=544 align=4
- base size=542 base align=4
-std::ctype_byname<char> (0xb5bbbac0) 0
- vptr=((& std::ctype_byname<char>::_ZTVSt12ctype_bynameIcE) + 8u)
- std::ctype<char> (0xb5bde370) 0
- primary-for std::ctype_byname<char> (0xb5bbbac0)
- std::locale::facet (0xb5bdc168) 0
- primary-for std::ctype<char> (0xb5bde370)
- std::ctype_base (0xb5bdc1a4) 0 empty
-
-Vtable for std::ctype_byname<wchar_t>
-std::ctype_byname<wchar_t>::_ZTVSt12ctype_bynameIwE: 16u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt12ctype_bynameIwE)
-8 std::ctype_byname<wchar_t>::~ctype_byname
-12 std::ctype_byname<wchar_t>::~ctype_byname
-16 std::ctype<wchar_t>::do_is
-20 std::ctype<wchar_t>::do_is
-24 std::ctype<wchar_t>::do_scan_is
-28 std::ctype<wchar_t>::do_scan_not
-32 std::ctype<wchar_t>::do_toupper
-36 std::ctype<wchar_t>::do_toupper
-40 std::ctype<wchar_t>::do_tolower
-44 std::ctype<wchar_t>::do_tolower
-48 std::ctype<wchar_t>::do_widen
-52 std::ctype<wchar_t>::do_widen
-56 std::ctype<wchar_t>::do_narrow
-60 std::ctype<wchar_t>::do_narrow
-
-Class std::ctype_byname<wchar_t>
- size=1264 align=4
- base size=1264 base align=4
-std::ctype_byname<wchar_t> (0xb5bbbb40) 0
- vptr=((& std::ctype_byname<wchar_t>::_ZTVSt12ctype_bynameIwE) + 8u)
- std::ctype<wchar_t> (0xb5bbbb80) 0
- primary-for std::ctype_byname<wchar_t> (0xb5bbbb40)
- std::__ctype_abstract_base<wchar_t> (0xb5bdea00) 0
- primary-for std::ctype<wchar_t> (0xb5bbbb80)
- std::locale::facet (0xb5bdc30c) 0
- primary-for std::__ctype_abstract_base<wchar_t> (0xb5bdea00)
- std::ctype_base (0xb5bdc348) 0 empty
+
+
+
+
+
+
+
+
Class std::__num_base
size=1 align=1
base size=0 base align=1
std::__num_base (0xb5bdcd5c) 0 empty
-Vtable for std::numpunct<char>
-std::numpunct<char>::_ZTVSt8numpunctIcE: 9u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt8numpunctIcE)
-8 std::numpunct<_CharT>::~numpunct [with _CharT = char]
-12 std::numpunct<_CharT>::~numpunct [with _CharT = char]
-16 std::numpunct<_CharT>::do_decimal_point [with _CharT = char]
-20 std::numpunct<_CharT>::do_thousands_sep [with _CharT = char]
-24 std::numpunct<_CharT>::do_grouping [with _CharT = char]
-28 std::numpunct<_CharT>::do_truename [with _CharT = char]
-32 std::numpunct<_CharT>::do_falsename [with _CharT = char]
-Class std::numpunct<char>
- size=12 align=4
- base size=12 base align=4
-std::numpunct<char> (0xb5bf0580) 0
- vptr=((& std::numpunct<char>::_ZTVSt8numpunctIcE) + 8u)
- std::locale::facet (0xb5bec528) 0
- primary-for std::numpunct<char> (0xb5bf0580)
-
-Vtable for std::numpunct<wchar_t>
-std::numpunct<wchar_t>::_ZTVSt8numpunctIwE: 9u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt8numpunctIwE)
-8 std::numpunct<_CharT>::~numpunct [with _CharT = wchar_t]
-12 std::numpunct<_CharT>::~numpunct [with _CharT = wchar_t]
-16 std::numpunct<_CharT>::do_decimal_point [with _CharT = wchar_t]
-20 std::numpunct<_CharT>::do_thousands_sep [with _CharT = wchar_t]
-24 std::numpunct<_CharT>::do_grouping [with _CharT = wchar_t]
-28 std::numpunct<_CharT>::do_truename [with _CharT = wchar_t]
-32 std::numpunct<_CharT>::do_falsename [with _CharT = wchar_t]
-
-Class std::numpunct<wchar_t>
- size=12 align=4
- base size=12 base align=4
-std::numpunct<wchar_t> (0xb5bf0640) 0
- vptr=((& std::numpunct<wchar_t>::_ZTVSt8numpunctIwE) + 8u)
- std::locale::facet (0xb5bec618) 0
- primary-for std::numpunct<wchar_t> (0xb5bf0640)
-Class __gnu_cxx::__conditional_type<true, long unsigned int, long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__conditional_type<true, long unsigned int, long long unsigned int> (0xb5c28c6c) 0 empty
-Vtable for std::numpunct_byname<char>
-std::numpunct_byname<char>::_ZTVSt15numpunct_bynameIcE: 9u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt15numpunct_bynameIcE)
-8 std::numpunct_byname<_CharT>::~numpunct_byname [with _CharT = char]
-12 std::numpunct_byname<_CharT>::~numpunct_byname [with _CharT = char]
-16 std::numpunct<_CharT>::do_decimal_point [with _CharT = char]
-20 std::numpunct<_CharT>::do_thousands_sep [with _CharT = char]
-24 std::numpunct<_CharT>::do_grouping [with _CharT = char]
-28 std::numpunct<_CharT>::do_truename [with _CharT = char]
-32 std::numpunct<_CharT>::do_falsename [with _CharT = char]
-Class std::numpunct_byname<char>
- size=12 align=4
- base size=12 base align=4
-std::numpunct_byname<char> (0xb5a74b80) 0
- vptr=((& std::numpunct_byname<char>::_ZTVSt15numpunct_bynameIcE) + 8u)
- std::numpunct<char> (0xb5a74bc0) 0
- primary-for std::numpunct_byname<char> (0xb5a74b80)
- std::locale::facet (0xb5a7d294) 0
- primary-for std::numpunct<char> (0xb5a74bc0)
-
-Vtable for std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >
-std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >::_ZTVSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE: 15u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE)
-8 std::num_get<_CharT, _InIter>::~num_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-12 std::num_get<_CharT, _InIter>::~num_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-16 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-20 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-24 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-28 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-32 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-36 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-40 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-44 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-48 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-52 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-56 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-
-Class std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >
- size=8 align=4
- base size=8 base align=4
-std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > > (0xb5a74c00) 0
- vptr=((& std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >::_ZTVSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE) + 8u)
- std::locale::facet (0xb5a7d384) 0
- primary-for std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > > (0xb5a74c00)
-
-Vtable for std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >
-std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::_ZTVSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE: 12u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE)
-8 std::num_put<_CharT, _OutIter>::~num_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-12 std::num_put<_CharT, _OutIter>::~num_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-16 std::num_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-20 std::num_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-24 std::num_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-28 std::num_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-32 std::num_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-36 std::num_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-40 std::num_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-44 std::num_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-
-Class std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >
- size=8 align=4
- base size=8 base align=4
-std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > > (0xb5a74c80) 0
- vptr=((& std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::_ZTVSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE) + 8u)
- std::locale::facet (0xb5a7d474) 0
- primary-for std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > > (0xb5a74c80)
-
-Vtable for std::numpunct_byname<wchar_t>
-std::numpunct_byname<wchar_t>::_ZTVSt15numpunct_bynameIwE: 9u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt15numpunct_bynameIwE)
-8 std::numpunct_byname<_CharT>::~numpunct_byname [with _CharT = wchar_t]
-12 std::numpunct_byname<_CharT>::~numpunct_byname [with _CharT = wchar_t]
-16 std::numpunct<_CharT>::do_decimal_point [with _CharT = wchar_t]
-20 std::numpunct<_CharT>::do_thousands_sep [with _CharT = wchar_t]
-24 std::numpunct<_CharT>::do_grouping [with _CharT = wchar_t]
-28 std::numpunct<_CharT>::do_truename [with _CharT = wchar_t]
-32 std::numpunct<_CharT>::do_falsename [with _CharT = wchar_t]
-
-Class std::numpunct_byname<wchar_t>
- size=12 align=4
- base size=12 base align=4
-std::numpunct_byname<wchar_t> (0xb5a74d00) 0
- vptr=((& std::numpunct_byname<wchar_t>::_ZTVSt15numpunct_bynameIwE) + 8u)
- std::numpunct<wchar_t> (0xb5a74d40) 0
- primary-for std::numpunct_byname<wchar_t> (0xb5a74d00)
- std::locale::facet (0xb5a7d564) 0
- primary-for std::numpunct<wchar_t> (0xb5a74d40)
-
-Vtable for std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >
-std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::_ZTVSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE: 15u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE)
-8 std::num_get<_CharT, _InIter>::~num_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-12 std::num_get<_CharT, _InIter>::~num_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-16 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-20 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-24 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-28 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-32 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-36 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-40 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-44 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-48 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-52 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-56 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-
-Class std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >
- size=8 align=4
- base size=8 base align=4
-std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > > (0xb5a74dc0) 0
- vptr=((& std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::_ZTVSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE) + 8u)
- std::locale::facet (0xb5a7d654) 0
- primary-for std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > > (0xb5a74dc0)
-
-Vtable for std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >
-std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::_ZTVSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE: 12u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE)
-8 std::num_put<_CharT, _OutIter>::~num_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-12 std::num_put<_CharT, _OutIter>::~num_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-16 std::num_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-20 std::num_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-24 std::num_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-28 std::num_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-32 std::num_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-36 std::num_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-40 std::num_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-44 std::num_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-
-Class std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >
- size=8 align=4
- base size=8 base align=4
-std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > > (0xb5a74e40) 0
- vptr=((& std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::_ZTVSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE) + 8u)
- std::locale::facet (0xb5a7d744) 0
- primary-for std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > > (0xb5a74e40)
-
-Vtable for std::basic_ios<char, std::char_traits<char> >
-std::basic_ios<char, std::char_traits<char> >::_ZTVSt9basic_iosIcSt11char_traitsIcEE: 4u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt9basic_iosIcSt11char_traitsIcEE)
-8 std::basic_ios<_CharT, _Traits>::~basic_ios [with _CharT = char, _Traits = std::char_traits<char>]
-12 std::basic_ios<_CharT, _Traits>::~basic_ios [with _CharT = char, _Traits = std::char_traits<char>]
-
-Class std::basic_ios<char, std::char_traits<char> >
- size=136 align=4
- base size=136 base align=4
-std::basic_ios<char, std::char_traits<char> > (0xb5abfe80) 0
- vptr=((& std::basic_ios<char, std::char_traits<char> >::_ZTVSt9basic_iosIcSt11char_traitsIcEE) + 8u)
- std::ios_base (0xb5a7df3c) 0
- primary-for std::basic_ios<char, std::char_traits<char> > (0xb5abfe80)
-
-Vtable for std::basic_ios<wchar_t, std::char_traits<wchar_t> >
-std::basic_ios<wchar_t, std::char_traits<wchar_t> >::_ZTVSt9basic_iosIwSt11char_traitsIwEE: 4u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt9basic_iosIwSt11char_traitsIwEE)
-8 std::basic_ios<_CharT, _Traits>::~basic_ios [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-12 std::basic_ios<_CharT, _Traits>::~basic_ios [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-
-Class std::basic_ios<wchar_t, std::char_traits<wchar_t> >
- size=140 align=4
- base size=140 base align=4
-std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb5abfec0) 0
- vptr=((& std::basic_ios<wchar_t, std::char_traits<wchar_t> >::_ZTVSt9basic_iosIwSt11char_traitsIwEE) + 8u)
- std::ios_base (0xb5a7d348) 0
- primary-for std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb5abfec0)
-
-Vtable for std::basic_ostream<char, std::char_traits<char> >
-std::basic_ostream<char, std::char_traits<char> >::_ZTVSo: 10u entries
-0 4u
-4 (int (*)(...))0
-8 (int (*)(...))(& _ZTISo)
-12 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = char, _Traits = std::char_traits<char>]
-16 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = char, _Traits = std::char_traits<char>]
-20 -4u
-24 (int (*)(...))-0x000000004
-28 (int (*)(...))(& _ZTISo)
-32 std::basic_ostream<char, std::char_traits<char> >::_ZTv0_n12_NSoD1Ev
-36 std::basic_ostream<char, std::char_traits<char> >::_ZTv0_n12_NSoD0Ev
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
VTT for std::basic_ostream<char, std::char_traits<char> >
std::basic_ostream<char, std::char_traits<char> >::_ZTTSo: 2u entries
0 ((& std::basic_ostream<char, std::char_traits<char> >::_ZTVSo) + 12u)
4 ((& std::basic_ostream<char, std::char_traits<char> >::_ZTVSo) + 32u)
-Class std::basic_ostream<char, std::char_traits<char> >
- size=140 align=4
- base size=4 base align=4
-std::basic_ostream<char, std::char_traits<char> > (0xb5b10b40) 0 nearly-empty
- vptridx=0u vptr=((& std::basic_ostream<char, std::char_traits<char> >::_ZTVSo) + 12u)
- std::basic_ios<char, std::char_traits<char> > (0xb5b10b80) 4 virtual
- vptridx=4u vbaseoffset=-0x00000000c vptr=((& std::basic_ostream<char, std::char_traits<char> >::_ZTVSo) + 32u)
- std::ios_base (0xb5aefb40) 4
- primary-for std::basic_ios<char, std::char_traits<char> > (0xb5b10b80)
-
-Class std::basic_ostream<char, std::char_traits<char> >::sentry
- size=8 align=4
- base size=8 base align=4
-std::basic_ostream<char, std::char_traits<char> >::sentry (0xb5aefd20) 0
-Vtable for std::basic_ostream<wchar_t, std::char_traits<wchar_t> >
-std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE: 10u entries
-0 4u
-4 (int (*)(...))0
-8 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE)
-12 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-16 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-20 -4u
-24 (int (*)(...))-0x000000004
-28 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE)
-32 std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n12_NSt13basic_ostreamIwSt11char_traitsIwEED1Ev
-36 std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n12_NSt13basic_ostreamIwSt11char_traitsIwEED0Ev
+
VTT for std::basic_ostream<wchar_t, std::char_traits<wchar_t> >
std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTTSt13basic_ostreamIwSt11char_traitsIwEE: 2u entries
0 ((& std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 12u)
4 ((& std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 32u)
-Class std::basic_ostream<wchar_t, std::char_traits<wchar_t> >
- size=144 align=4
- base size=4 base align=4
-std::basic_ostream<wchar_t, std::char_traits<wchar_t> > (0xb5b10cc0) 0 nearly-empty
- vptridx=0u vptr=((& std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 12u)
- std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb5b10d00) 4 virtual
- vptridx=4u vbaseoffset=-0x00000000c vptr=((& std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 32u)
- std::ios_base (0xb5aefd5c) 4
- primary-for std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb5b10d00)
-
-Class std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::sentry
- size=8 align=4
- base size=8 base align=4
-std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::sentry (0xb5aeff00) 0
-Vtable for std::basic_istream<char, std::char_traits<char> >
-std::basic_istream<char, std::char_traits<char> >::_ZTVSi: 10u entries
-0 8u
-4 (int (*)(...))0
-8 (int (*)(...))(& _ZTISi)
-12 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = char, _Traits = std::char_traits<char>]
-16 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = char, _Traits = std::char_traits<char>]
-20 -8u
-24 (int (*)(...))-0x000000008
-28 (int (*)(...))(& _ZTISi)
-32 std::basic_istream<char, std::char_traits<char> >::_ZTv0_n12_NSiD1Ev
-36 std::basic_istream<char, std::char_traits<char> >::_ZTv0_n12_NSiD0Ev
+
VTT for std::basic_istream<char, std::char_traits<char> >
std::basic_istream<char, std::char_traits<char> >::_ZTTSi: 2u entries
0 ((& std::basic_istream<char, std::char_traits<char> >::_ZTVSi) + 12u)
4 ((& std::basic_istream<char, std::char_traits<char> >::_ZTVSi) + 32u)
-Class std::basic_istream<char, std::char_traits<char> >
- size=144 align=4
- base size=8 base align=4
-std::basic_istream<char, std::char_traits<char> > (0xb5b4f580) 0
- vptridx=0u vptr=((& std::basic_istream<char, std::char_traits<char> >::_ZTVSi) + 12u)
- std::basic_ios<char, std::char_traits<char> > (0xb5b4f5c0) 8 virtual
- vptridx=4u vbaseoffset=-0x00000000c vptr=((& std::basic_istream<char, std::char_traits<char> >::_ZTVSi) + 32u)
- std::ios_base (0xb5b513fc) 8
- primary-for std::basic_ios<char, std::char_traits<char> > (0xb5b4f5c0)
-
-Vtable for std::basic_istream<wchar_t, std::char_traits<wchar_t> >
-std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_istreamIwSt11char_traitsIwEE: 10u entries
-0 8u
-4 (int (*)(...))0
-8 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE)
-12 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-16 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-20 -8u
-24 (int (*)(...))-0x000000008
-28 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE)
-32 std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n12_NSt13basic_istreamIwSt11char_traitsIwEED1Ev
-36 std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n12_NSt13basic_istreamIwSt11char_traitsIwEED0Ev
+
VTT for std::basic_istream<wchar_t, std::char_traits<wchar_t> >
std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTTSt13basic_istreamIwSt11char_traitsIwEE: 2u entries
0 ((& std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 12u)
4 ((& std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 32u)
-Class std::basic_istream<wchar_t, std::char_traits<wchar_t> >
- size=148 align=4
- base size=8 base align=4
-std::basic_istream<wchar_t, std::char_traits<wchar_t> > (0xb5b4f680) 0
- vptridx=0u vptr=((& std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 12u)
- std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb5b4f6c0) 8 virtual
- vptridx=4u vbaseoffset=-0x00000000c vptr=((& std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 32u)
- std::ios_base (0xb5b51780) 8
- primary-for std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb5b4f6c0)
-
-Class __gnu_cxx::__conditional_type<true, __gnu_cxx::__numeric_traits_integer<short int>, __gnu_cxx::__numeric_traits_floating<short int> >
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__conditional_type<true, __gnu_cxx::__numeric_traits_integer<short int>, __gnu_cxx::__numeric_traits_floating<short int> > (0xb5b51e88) 0 empty
-Class __gnu_cxx::__numeric_traits_integer<short int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__numeric_traits_integer<short int> (0xb5b51ec4) 0 empty
-Class __gnu_cxx::__numeric_traits<short int>
- size=1 align=1
- base size=1 base align=1
-__gnu_cxx::__numeric_traits<short int> (0xb597d580) 0 empty
- __gnu_cxx::__numeric_traits_integer<short int> (0xb5b51f00) 0 empty
-Class std::basic_istream<char, std::char_traits<char> >::sentry
- size=1 align=1
- base size=1 base align=1
-std::basic_istream<char, std::char_traits<char> >::sentry (0xb59953c0) 0
-Vtable for std::basic_iostream<char, std::char_traits<char> >
-std::basic_iostream<char, std::char_traits<char> >::_ZTVSd: 15u entries
-0 12u
-4 (int (*)(...))0
-8 (int (*)(...))(& _ZTISd)
-12 std::basic_iostream<_CharT, _Traits>::~basic_iostream [with _CharT = char, _Traits = std::char_traits<char>]
-16 std::basic_iostream<_CharT, _Traits>::~basic_iostream [with _CharT = char, _Traits = std::char_traits<char>]
-20 4u
-24 (int (*)(...))-0x000000008
-28 (int (*)(...))(& _ZTISd)
-32 std::basic_iostream<char, std::char_traits<char> >::_ZThn8_NSdD1Ev
-36 std::basic_iostream<char, std::char_traits<char> >::_ZThn8_NSdD0Ev
-40 -12u
-44 (int (*)(...))-0x00000000c
-48 (int (*)(...))(& _ZTISd)
-52 std::basic_iostream<char, std::char_traits<char> >::_ZTv0_n12_NSdD1Ev
-56 std::basic_iostream<char, std::char_traits<char> >::_ZTv0_n12_NSdD0Ev
+
Construction vtable for std::basic_istream<char, std::char_traits<char> > (0xb59b7480 instance) in std::basic_iostream<char, std::char_traits<char> >
std::basic_iostream<char, std::char_traits<char> >::_ZTCSd0_Si: 10u entries
@@ -2486,44 +1210,8 @@ std::basic_iostream<char, std::char_traits<char> >::_ZTTSd: 7u entries
20 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 52u)
24 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 32u)
-Class std::basic_iostream<char, std::char_traits<char> >
- size=148 align=4
- base size=12 base align=4
-std::basic_iostream<char, std::char_traits<char> > (0xb59c7050) 0
- vptridx=0u vptr=((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 12u)
- std::basic_istream<char, std::char_traits<char> > (0xb59b7480) 0
- primary-for std::basic_iostream<char, std::char_traits<char> > (0xb59c7050)
- subvttidx=4u
- std::basic_ios<char, std::char_traits<char> > (0xb59b74c0) 12 virtual
- vptridx=20u vbaseoffset=-0x00000000c vptr=((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 52u)
- std::ios_base (0xb59953fc) 12
- primary-for std::basic_ios<char, std::char_traits<char> > (0xb59b74c0)
- std::basic_ostream<char, std::char_traits<char> > (0xb59b7500) 8 nearly-empty
- subvttidx=12u vptridx=24u vptr=((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 32u)
- std::basic_ios<char, std::char_traits<char> > (0xb59b74c0) alternative-path
-
-Class std::basic_istream<wchar_t, std::char_traits<wchar_t> >::sentry
- size=1 align=1
- base size=1 base align=1
-std::basic_istream<wchar_t, std::char_traits<wchar_t> >::sentry (0xb5995690) 0
-Vtable for std::basic_iostream<wchar_t, std::char_traits<wchar_t> >
-std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE: 15u entries
-0 12u
-4 (int (*)(...))0
-8 (int (*)(...))(& _ZTISt14basic_iostreamIwSt11char_traitsIwEE)
-12 std::basic_iostream<_CharT, _Traits>::~basic_iostream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-16 std::basic_iostream<_CharT, _Traits>::~basic_iostream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-20 4u
-24 (int (*)(...))-0x000000008
-28 (int (*)(...))(& _ZTISt14basic_iostreamIwSt11char_traitsIwEE)
-32 std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZThn8_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev
-36 std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZThn8_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev
-40 -12u
-44 (int (*)(...))-0x00000000c
-48 (int (*)(...))(& _ZTISt14basic_iostreamIwSt11char_traitsIwEE)
-52 std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n12_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev
-56 std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n12_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev
+
Construction vtable for std::basic_istream<wchar_t, std::char_traits<wchar_t> > (0xb59b7800 instance) in std::basic_iostream<wchar_t, std::char_traits<wchar_t> >
std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E: 10u entries
@@ -2561,110 +1249,21 @@ std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTTSt14basic_iostream
20 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 52u)
24 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 32u)
-Class std::basic_iostream<wchar_t, std::char_traits<wchar_t> >
- size=152 align=4
- base size=12 base align=4
-std::basic_iostream<wchar_t, std::char_traits<wchar_t> > (0xb59d50f0) 0
- vptridx=0u vptr=((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 12u)
- std::basic_istream<wchar_t, std::char_traits<wchar_t> > (0xb59b7800) 0
- primary-for std::basic_iostream<wchar_t, std::char_traits<wchar_t> > (0xb59d50f0)
- subvttidx=4u
- std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb59b7840) 12 virtual
- vptridx=20u vbaseoffset=-0x00000000c vptr=((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 52u)
- std::ios_base (0xb59956cc) 12
- primary-for std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb59b7840)
- std::basic_ostream<wchar_t, std::char_traits<wchar_t> > (0xb59b7880) 8 nearly-empty
- subvttidx=12u vptridx=24u vptr=((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 32u)
- std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb59b7840) alternative-path
-
-Class QVector<double>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<double>::<anonymous union> (0xb5995fb4) 0
-Class QVector<double>
- size=4 align=4
- base size=4 base align=4
-QVector<double> (0xb5995f3c) 0
-Class QtConcurrent::Median<double>
- size=24 align=4
- base size=22 base align=4
-QtConcurrent::Median<double> (0xb5995ec4) 0
+
Class QtConcurrent::BlockSizeManager
size=72 align=4
base size=72 base align=4
QtConcurrent::BlockSizeManager (0xb5995e10) 0
-Class QtConcurrent::ResultReporter<void>
- size=1 align=1
- base size=0 base align=1
-QtConcurrent::ResultReporter<void> (0xb59fa294) 0 empty
-Class QFlags<QtConcurrent::ReduceOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QtConcurrent::ReduceOption> (0xb59fab04) 0
-Class QtConcurrent::SelectSpecialization<void>
- size=1 align=1
- base size=0 base align=1
-QtConcurrent::SelectSpecialization<void> (0xb58dff78) 0 empty
-Vtable for QtConcurrent::RunFunctionTaskBase<void>
-QtConcurrent::RunFunctionTaskBase<void>::_ZTVN12QtConcurrent19RunFunctionTaskBaseIvEE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTIN12QtConcurrent19RunFunctionTaskBaseIvEE)
-8 QtConcurrent::RunFunctionTaskBase<void>::~RunFunctionTaskBase
-12 QtConcurrent::RunFunctionTaskBase<void>::~RunFunctionTaskBase
-16 QtConcurrent::RunFunctionTaskBase<T>::run [with T = void]
-20 __cxa_pure_virtual
-24 (int (*)(...))-0x000000008
-28 (int (*)(...))(& _ZTIN12QtConcurrent19RunFunctionTaskBaseIvEE)
-32 QtConcurrent::RunFunctionTaskBase<void>::_ZThn8_N12QtConcurrent19RunFunctionTaskBaseIvE3runEv
-36 QtConcurrent::RunFunctionTaskBase<void>::_ZThn8_N12QtConcurrent19RunFunctionTaskBaseIvED1Ev
-40 QtConcurrent::RunFunctionTaskBase<void>::_ZThn8_N12QtConcurrent19RunFunctionTaskBaseIvED0Ev
-Class QtConcurrent::RunFunctionTaskBase<void>
- size=16 align=4
- base size=16 base align=4
-QtConcurrent::RunFunctionTaskBase<void> (0xb58ff870) 0
- vptr=((& QtConcurrent::RunFunctionTaskBase<void>::_ZTVN12QtConcurrent19RunFunctionTaskBaseIvEE) + 8u)
- QFutureInterface<void> (0xb58f2b00) 0
- primary-for QtConcurrent::RunFunctionTaskBase<void> (0xb58ff870)
- QFutureInterfaceBase (0xb5906168) 0
- primary-for QFutureInterface<void> (0xb58f2b00)
- QRunnable (0xb59061a4) 8
- vptr=((& QtConcurrent::RunFunctionTaskBase<void>::_ZTVN12QtConcurrent19RunFunctionTaskBaseIvEE) + 32u)
-
-Vtable for QtConcurrent::RunFunctionTask<void>
-QtConcurrent::RunFunctionTask<void>::_ZTVN12QtConcurrent15RunFunctionTaskIvEE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTIN12QtConcurrent15RunFunctionTaskIvEE)
-8 QtConcurrent::RunFunctionTask<void>::~RunFunctionTask
-12 QtConcurrent::RunFunctionTask<void>::~RunFunctionTask
-16 QtConcurrent::RunFunctionTask<void>::run
-20 __cxa_pure_virtual
-24 (int (*)(...))-0x000000008
-28 (int (*)(...))(& _ZTIN12QtConcurrent15RunFunctionTaskIvEE)
-32 QtConcurrent::RunFunctionTask<void>::_ZThn8_N12QtConcurrent15RunFunctionTaskIvE3runEv
-36 QtConcurrent::RunFunctionTask<void>::_ZThn8_N12QtConcurrent15RunFunctionTaskIvED1Ev
-40 QtConcurrent::RunFunctionTask<void>::_ZThn8_N12QtConcurrent15RunFunctionTaskIvED0Ev
-Class QtConcurrent::RunFunctionTask<void>
- size=16 align=4
- base size=16 base align=4
-QtConcurrent::RunFunctionTask<void> (0xb58f2b80) 0
- vptr=((& QtConcurrent::RunFunctionTask<void>::_ZTVN12QtConcurrent15RunFunctionTaskIvEE) + 8u)
- QtConcurrent::RunFunctionTaskBase<void> (0xb58ffc80) 0
- primary-for QtConcurrent::RunFunctionTask<void> (0xb58f2b80)
- QFutureInterface<void> (0xb58f2bc0) 0
- primary-for QtConcurrent::RunFunctionTaskBase<void> (0xb58ffc80)
- QFutureInterfaceBase (0xb5906348) 0
- primary-for QFutureInterface<void> (0xb58f2bc0)
- QRunnable (0xb5906384) 8
- vptr=((& QtConcurrent::RunFunctionTask<void>::_ZTVN12QtConcurrent15RunFunctionTaskIvEE) + 32u)
+
Class QLibraryInfo
size=1 align=1
@@ -2715,50 +1314,22 @@ QFile (0xb5853f00) 0
QObject (0xb56696cc) 0
primary-for QIODevice (0xb5853f40)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0xb569503c) 0
Class QFileInfo
size=4 align=4
base size=4 base align=4
QFileInfo (0xb5695bf4) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0xb56b8294) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0xb56b85a0) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0xb56c730c) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0xb56c7294) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0xb56c73fc) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0xb56e7960) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0xb56e7a50) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -2833,10 +1404,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0xb5717d20) 0
vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0xb5727e10) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -2926,10 +1493,6 @@ Class QDirIterator
QDirIterator (0xb57467f8) 0
vptr=((& QDirIterator::_ZTV12QDirIterator) + 8u)
-Class QFlags<QDirIterator::IteratorFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDirIterator::IteratorFlag> (0xb575a7bc) 0
Vtable for QFileSystemWatcher
QFileSystemWatcher::_ZTV18QFileSystemWatcher: 14u entries
@@ -3067,25 +1630,13 @@ Class QLocale::Data
base size=4 base align=2
QLocale::Data (0xb55bd780) 0
-Class QLocale::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QLocale::<anonymous union> (0xb55bd7f8) 0
Class QLocale
size=4 align=4
base size=4 base align=4
QLocale (0xb559c564) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0xb55c2000) 0 empty
-Class QFlags<QLocale::NumberOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLocale::NumberOption> (0xb55c2168) 0
Class QResource
size=4 align=4
@@ -3097,275 +1648,59 @@ Class QMetaType
base size=0 base align=1
QMetaType (0xb55daa50) 0 empty
-Class QMetaTypeId2<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QString> (0xb55dae88) 0 empty
-Class QMetaTypeId2<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<int> (0xb55fc078) 0 empty
-Class QMetaTypeId2<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned int> (0xb55fc258) 0 empty
-Class QMetaTypeId2<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<bool> (0xb55fc438) 0 empty
-Class QMetaTypeId2<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<double> (0xb55fc618) 0 empty
-Class QMetaTypeId2<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QByteArray> (0xb55fc7f8) 0 empty
-Class QMetaTypeId2<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QChar> (0xb55fc9d8) 0 empty
-Class QMetaTypeId2<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long int> (0xb55fcbb8) 0 empty
-Class QMetaTypeId2<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short int> (0xb55fcd98) 0 empty
-Class QMetaTypeId2<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<char> (0xb55fcf78) 0 empty
-Class QMetaTypeId2<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long unsigned int> (0xb5605168) 0 empty
-Class QMetaTypeId2<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short unsigned int> (0xb5605348) 0 empty
-Class QMetaTypeId2<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned char> (0xb5605528) 0 empty
-Class QMetaTypeId2<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<float> (0xb5605708) 0 empty
-Class QMetaTypeId2<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QObject*> (0xb56058e8) 0 empty
-Class QMetaTypeId2<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QWidget*> (0xb5605ac8) 0 empty
-Class QMetaTypeId2<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<void*> (0xb5605ca8) 0 empty
-Class QMetaTypeId2<long long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long int> (0xb5605e88) 0 empty
-Class QMetaTypeId2<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long unsigned int> (0xb560b078) 0 empty
-Class QMetaTypeId2<QStringList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QStringList> (0xb560b258) 0 empty
-Class QMetaTypeId2<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitArray> (0xb560b438) 0 empty
-Class QMetaTypeId2<QDate>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDate> (0xb560b618) 0 empty
-Class QMetaTypeId2<QTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTime> (0xb560b7f8) 0 empty
-Class QMetaTypeId2<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDateTime> (0xb560b9d8) 0 empty
-Class QMetaTypeId2<QUrl>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QUrl> (0xb560bbb8) 0 empty
-Class QMetaTypeId2<QLocale>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLocale> (0xb560bd98) 0 empty
-Class QMetaTypeId2<QRect>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRect> (0xb560bf78) 0 empty
-Class QMetaTypeId2<QRectF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRectF> (0xb5615168) 0 empty
-Class QMetaTypeId2<QSize>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSize> (0xb5615348) 0 empty
-Class QMetaTypeId2<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizeF> (0xb5615528) 0 empty
-Class QMetaTypeId2<QLine>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLine> (0xb5615708) 0 empty
-Class QMetaTypeId2<QLineF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLineF> (0xb56158e8) 0 empty
-Class QMetaTypeId2<QPoint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPoint> (0xb5615ac8) 0 empty
-Class QMetaTypeId2<QPointF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPointF> (0xb5615ca8) 0 empty
-Class QMetaTypeId2<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegExp> (0xb5615e88) 0 empty
-Class QMetaTypeId2<QColorGroup>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColorGroup> (0xb561e078) 0 empty
-Class QMetaTypeId2<QFont>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QFont> (0xb561e258) 0 empty
-Class QMetaTypeId2<QPixmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPixmap> (0xb561e438) 0 empty
-Class QMetaTypeId2<QBrush>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBrush> (0xb561e618) 0 empty
-Class QMetaTypeId2<QColor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColor> (0xb561e7f8) 0 empty
-Class QMetaTypeId2<QPalette>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPalette> (0xb561e9d8) 0 empty
-Class QMetaTypeId2<QIcon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QIcon> (0xb561ebb8) 0 empty
-Class QMetaTypeId2<QImage>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QImage> (0xb561ed98) 0 empty
-Class QMetaTypeId2<QPolygon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPolygon> (0xb561ef78) 0 empty
-Class QMetaTypeId2<QRegion>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegion> (0xb5625168) 0 empty
-Class QMetaTypeId2<QBitmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitmap> (0xb5625348) 0 empty
-Class QMetaTypeId2<QCursor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QCursor> (0xb5625528) 0 empty
-Class QMetaTypeId2<QSizePolicy>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizePolicy> (0xb5625708) 0 empty
-Class QMetaTypeId2<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QKeySequence> (0xb56258e8) 0 empty
-Class QMetaTypeId2<QPen>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPen> (0xb5625ac8) 0 empty
-Class QMetaTypeId2<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextLength> (0xb5625ca8) 0 empty
-Class QMetaTypeId2<QTextFormat>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextFormat> (0xb5625e88) 0 empty
-Class QMetaTypeId2<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMatrix> (0xb562c078) 0 empty
-Class QMetaTypeId2<QTransform>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTransform> (0xb562c258) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -3392,45 +1727,17 @@ Class QVariant
base size=12 base align=4
QVariant (0xb562c438) 0
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0xb5457ec4) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0xb5457e4c) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0xb5457fb4) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0xb5457f3c) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0xb5497348) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0xb5497960) 0 empty
-Class QMetaTypeId2<QList<QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QList<QVariant> > (0xb5497b40) 0 empty
-Class QMetaTypeId2<QMap<QString, QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMap<QString, QVariant> > (0xb5497d20) 0 empty
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -3508,15 +1815,7 @@ Class QUrl
base size=4 base align=4
QUrl (0xb54e8dd4) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0xb54f2ce4) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0xb551c780) 0 empty
Vtable for QEventLoop
QEventLoop::_ZTV10QEventLoop: 14u entries
@@ -3543,10 +1842,6 @@ QEventLoop (0xb54e4bc0) 0
QObject (0xb552d5dc) 0
primary-for QEventLoop (0xb54e4bc0)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0xb552dbf4) 0
Vtable for QAbstractEventDispatcher
QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 27u entries
@@ -3591,20 +1886,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0xb5550e88) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0xb536b258) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0xb536b348) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0xb536ba8c) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -3774,10 +2061,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0xb53b9bf4) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0xb53c8384) 0 empty
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -3889,20 +2172,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0xb53fffb4) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0xb5433474) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0xb5433564) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0xb543399c) 0 empty
Class QMetaProperty
size=20 align=4
@@ -3914,10 +2189,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0xb5433d98) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0xb54480f0) 0 empty
Vtable for QMimeData
QMimeData::_ZTV9QMimeData: 17u entries
@@ -4129,10 +2400,6 @@ QLibrary (0xb52838c0) 0
QObject (0xb52a0a50) 0
primary-for QLibrary (0xb52838c0)
-Class QFlags<QLibrary::LoadHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLibrary::LoadHint> (0xb52af99c) 0
Vtable for QPluginLoader
QPluginLoader::_ZTV13QPluginLoader: 14u entries
@@ -4169,20 +2436,12 @@ Class QReadWriteLock
base size=4 base align=4
QReadWriteLock (0xb52ddf3c) 0
-Class QReadLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QReadLocker::<anonymous union> (0xb52e75dc) 0
Class QReadLocker
size=4 align=4
base size=4 base align=4
QReadLocker (0xb52e72d0) 0
-Class QWriteLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QWriteLocker::<anonymous union> (0xb52f0ac8) 0
Class QWriteLocker
size=4 align=4
@@ -4209,10 +2468,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0xb53390b4) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0xb5339d98) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -4229,70 +2484,42 @@ Class QDate
base size=4 base align=4
QDate (0xb5347d98) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0xb5157744) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0xb5157834) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0xb5161e10) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0xb5161f00) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0xb5172564) 0 empty
Class QPoint
size=8 align=4
base size=8 base align=4
QPoint (0xb5172744) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0xb51885a0) 0 empty
Class QPointF
size=16 align=4
base size=16 base align=4
QPointF (0xb5197780) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0xb51a4690) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0xb51ba744) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0xb51bab04) 0 empty
Class QLineF
size=32 align=4
base size=32 base align=4
QLineF (0xb51dac6c) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0xb51e8690) 0 empty
Class QLinkedListData
size=20 align=4
@@ -4304,40 +2531,24 @@ Class QSize
base size=8 base align=4
QSize (0xb50795dc) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0xb5084654) 0 empty
Class QSizeF
size=16 align=4
base size=16 base align=4
QSizeF (0xb50a2258) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0xb50aa294) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0xb50cb0b4) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0xb50d9258) 0 empty
Class QRectF
size=32 align=4
base size=32 base align=4
QRectF (0xb5120b7c) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0xb4f42078) 0 empty
Class QSharedData
size=4 align=4
@@ -4385,20 +2596,8 @@ Class QXmlStreamAttribute
base size=53 base align=4
QXmlStreamAttribute (0xb4fe3870) 0
-Class QTypeInfo<QXmlStreamAttribute>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QXmlStreamAttribute> (0xb4fece10) 0 empty
-Class QVector<QXmlStreamAttribute>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QXmlStreamAttribute>::<anonymous union> (0xb4fecf78) 0
-Class QVector<QXmlStreamAttribute>
- size=4 align=4
- base size=4 base align=4
-QVector<QXmlStreamAttribute> (0xb4fecf00) 0
Class QXmlStreamAttributes
size=4 align=4
@@ -4411,30 +2610,18 @@ Class QXmlStreamNamespaceDeclaration
base size=28 base align=4
QXmlStreamNamespaceDeclaration (0xb4fec000) 0
-Class QTypeInfo<QXmlStreamNamespaceDeclaration>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QXmlStreamNamespaceDeclaration> (0xb500f9d8) 0 empty
Class QXmlStreamNotationDeclaration
size=40 align=4
base size=40 base align=4
QXmlStreamNotationDeclaration (0xb500fb04) 0
-Class QTypeInfo<QXmlStreamNotationDeclaration>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QXmlStreamNotationDeclaration> (0xb501d6cc) 0 empty
Class QXmlStreamEntityDeclaration
size=64 align=4
base size=64 base align=4
QXmlStreamEntityDeclaration (0xb501d7f8) 0
-Class QTypeInfo<QXmlStreamEntityDeclaration>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QXmlStreamEntityDeclaration> (0xb4e2f780) 0 empty
Vtable for QXmlStreamEntityResolver
QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver: 6u entries
@@ -4461,25 +2648,9 @@ Class QXmlStreamWriter
base size=4 base align=4
QXmlStreamWriter (0xb4e6003c) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0xb4e7df78) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0xb4e85000) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0xb4e85078) 0
-Class QColor::<anonymous union>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union> (0xb4e7df00) 0
Class QColor
size=16 align=4
@@ -4501,10 +2672,6 @@ Class QKeySequence
base size=4 base align=4
QKeySequence (0xb4ea7ec4) 0
-Class QTypeInfo<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QKeySequence> (0xb4ed203c) 0 empty
Vtable for QMimeSource
QMimeSource::_ZTV11QMimeSource: 7u entries
@@ -4802,15 +2969,7 @@ Class QInputMethodEvent::Attribute
base size=24 base align=4
QInputMethodEvent::Attribute (0xb4d4f078) 0
-Class QList<QInputMethodEvent::Attribute>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute>::<anonymous union> (0xb4d4f960) 0
-Class QList<QInputMethodEvent::Attribute>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute> (0xb4d4f8e8) 0
Vtable for QInputMethodEvent
QInputMethodEvent::_ZTV17QInputMethodEvent: 4u entries
@@ -5099,20 +3258,8 @@ Class QAccessible
base size=0 base align=1
QAccessible (0xb4da49d8) 0 empty
-Class QFlags<QAccessible::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::StateFlag> (0xb4db7258) 0
-Class QFlags<QAccessible::RelationFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::RelationFlag> (0xb4db7e88) 0
-Class QMetaTypeId<QSet<QAccessible::Method> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QSet<QAccessible::Method> > (0xb4dd1a50) 0 empty
Vtable for QAccessibleInterface
QAccessibleInterface::_ZTV20QAccessibleInterface: 19u entries
@@ -5143,20 +3290,8 @@ QAccessibleInterface (0xb4d9b9c0) 0 nearly-empty
vptr=((& QAccessibleInterface::_ZTV20QAccessibleInterface) + 8u)
QAccessible (0xb4dd1e4c) 0 empty
-Class QHash<QAccessible::Method, QHashDummyValue>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QHash<QAccessible::Method, QHashDummyValue>::<anonymous union> (0xb4de299c) 0
-Class QHash<QAccessible::Method, QHashDummyValue>
- size=4 align=4
- base size=4 base align=4
-QHash<QAccessible::Method, QHashDummyValue> (0xb4de2924) 0
-Class QSet<QAccessible::Method>
- size=4 align=4
- base size=4 base align=4
-QSet<QAccessible::Method> (0xb4de28ac) 0
Vtable for QAccessibleInterfaceEx
QAccessibleInterfaceEx::_ZTV22QAccessibleInterfaceEx: 22u entries
@@ -5669,15 +3804,7 @@ Class QPaintDevice
QPaintDevice (0xb4c7603c) 0
vptr=((& QPaintDevice::_ZTV12QPaintDevice) + 8u)
-Class QVector<QPoint>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint>::<anonymous union> (0xb4c835a0) 0
-Class QVector<QPoint>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint> (0xb4c83528) 0
Class QPolygon
size=4 align=4
@@ -5685,15 +3812,7 @@ Class QPolygon
QPolygon (0xb4c46d80) 0
QVector<QPoint> (0xb4c835dc) 0
-Class QVector<QPointF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF>::<anonymous union> (0xb4ca7690) 0
-Class QVector<QPointF>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF> (0xb4ca7618) 0
Class QPolygonF
size=4 align=4
@@ -5706,10 +3825,6 @@ Class QMatrix
base size=48 base align=4
QMatrix (0xb4cc55dc) 0
-Class QTypeInfo<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMatrix> (0xb4cd6c30) 0 empty
Class QPainterPath::Element
size=20 align=4
@@ -5721,25 +3836,13 @@ Class QPainterPath
base size=4 base align=4
QPainterPath (0xb4ce53fc) 0
-Class QVector<QPainterPath::Element>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element>::<anonymous union> (0xb4d0a4b0) 0
-Class QVector<QPainterPath::Element>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element> (0xb4d0a438) 0
Class QPainterPathPrivate
size=8 align=4
base size=8 base align=4
QPainterPathPrivate (0xb4d0a0b4) 0
-Class QTypeInfo<QPainterPath::Element>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPainterPath::Element> (0xb4d0a4ec) 0 empty
Class QPainterPathStroker
size=4 align=4
@@ -5751,10 +3854,6 @@ Class QTransform
base size=80 base align=4
QTransform (0xb4b34d5c) 0
-Class QTypeInfo<QTransform>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTransform> (0xb4b47e4c) 0 empty
Class QImageTextKeyLang
size=8 align=4
@@ -5779,10 +3878,6 @@ QImage (0xb4b66900) 0
QPaintDevice (0xb4b8c654) 0
primary-for QImage (0xb4b66900)
-Class QTypeInfo<QImage>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QImage> (0xb4be1b40) 0 empty
Vtable for QPixmap
QPixmap::_ZTV7QPixmap: 7u entries
@@ -5807,45 +3902,17 @@ Class QBrush
base size=4 base align=4
QBrush (0xb4c13564) 0
-Class QTypeInfo<QBrush>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBrush> (0xb4c2203c) 0 empty
Class QBrushData
size=124 align=4
base size=121 base align=4
QBrushData (0xb4c222d0) 0
-Class QVector<QPair<double, QColor> >::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPair<double, QColor> >::<anonymous union> (0xb4c22f78) 0
-Class QVector<QPair<double, QColor> >
- size=4 align=4
- base size=4 base align=4
-QVector<QPair<double, QColor> > (0xb4c22f00) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=32 align=4
- base size=32 base align=4
-QGradient::<anonymous union>::<anonymous struct> (0xb4a4903c) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=40 align=4
- base size=40 base align=4
-QGradient::<anonymous union>::<anonymous struct> (0xb4a490b4) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=24 align=4
- base size=24 base align=4
-QGradient::<anonymous union>::<anonymous struct> (0xb4a4912c) 0
-Class QGradient::<anonymous union>
- size=40 align=4
- base size=40 base align=4
-QGradient::<anonymous union> (0xb4c22ec4) 0
Class QGradient
size=56 align=4
@@ -5906,10 +3973,6 @@ Class QSizePolicy
base size=4 base align=4
QSizePolicy (0xb4ac6e10) 0
-Class QFlags<QSizePolicy::ControlType>
- size=4 align=4
- base size=4 base align=4
-QFlags<QSizePolicy::ControlType> (0xb4b1ce88) 0
Class QCursor
size=4 align=4
@@ -5997,10 +4060,6 @@ QWidget (0xb493cb90) 0
QPaintDevice (0xb4936708) 8
vptr=((& QWidget::_ZTV7QWidget) + 232u)
-Class QFlags<QWidget::RenderFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QWidget::RenderFlag> (0xb4982654) 0
Vtable for QDialog
QDialog::_ZTV7QDialog: 66u entries
@@ -6251,10 +4310,6 @@ QAbstractPrintDialog (0xb4a15400) 0
QPaintDevice (0xb4a207bc) 8
vptr=((& QAbstractPrintDialog::_ZTV20QAbstractPrintDialog) + 248u)
-Class QFlags<QAbstractPrintDialog::PrintDialogOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractPrintDialog::PrintDialogOption> (0xb4a2d99c) 0
Vtable for QColorDialog
QColorDialog::_ZTV12QColorDialog: 66u entries
@@ -6505,20 +4560,12 @@ QFileDialog (0xb4a15e80) 0
QPaintDevice (0xb48671e0) 8
vptr=((& QFileDialog::_ZTV11QFileDialog) + 244u)
-Class QFlags<QFileDialog::Option>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileDialog::Option> (0xb487830c) 0
Class QIcon
size=4 align=4
base size=4 base align=4
QIcon (0xb48986cc) 0
-Class QTypeInfo<QIcon>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QIcon> (0xb48b1a8c) 0 empty
Vtable for QFileSystemModel
QFileSystemModel::_ZTV16QFileSystemModel: 42u entries
@@ -6980,10 +5027,6 @@ QMessageBox (0xb472d280) 0
QPaintDevice (0xb472b960) 8
vptr=((& QMessageBox::_ZTV11QMessageBox) + 244u)
-Class QFlags<QMessageBox::StandardButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<QMessageBox::StandardButton> (0xb47467bc) 0
Vtable for QPageSetupDialog
QPageSetupDialog::_ZTV16QPageSetupDialog: 67u entries
@@ -7488,10 +5531,6 @@ QWizard (0xb479d680) 0
QPaintDevice (0xb47adfb4) 8
vptr=((& QWizard::_ZTV7QWizard) + 260u)
-Class QFlags<QWizard::WizardOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QWizard::WizardOption> (0xb47d62d0) 0
Vtable for QWizardPage
QWizardPage::_ZTV11QWizardPage: 68u entries
@@ -7624,10 +5663,6 @@ Class QGraphicsItem
QGraphicsItem (0xb47f1bf4) 0
vptr=((& QGraphicsItem::_ZTV13QGraphicsItem) + 8u)
-Class QFlags<QGraphicsItem::GraphicsItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGraphicsItem::GraphicsItemFlag> (0xb462030c) 0
Vtable for QAbstractGraphicsShapeItem
QAbstractGraphicsShapeItem::_ZTV26QAbstractGraphicsShapeItem: 39u entries
@@ -8184,15 +6219,7 @@ QGraphicsItemGroup (0xb46a4040) 0
QGraphicsItem (0xb469ca14) 0
primary-for QGraphicsItemGroup (0xb46a4040)
-Class QMetaTypeId<QGraphicsItem*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QGraphicsItem*> (0xb46ab21c) 0 empty
-Class QMetaTypeId<QGraphicsScene*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QGraphicsScene*> (0xb46ab3c0) 0 empty
Vtable for QGraphicsLayoutItem
QGraphicsLayoutItem::_ZTV19QGraphicsLayoutItem: 8u entries
@@ -8544,10 +6571,6 @@ Class QPen
base size=4 base align=4
QPen (0xb4527564) 0
-Class QTypeInfo<QPen>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPen> (0xb4527dd4) 0 empty
Vtable for QGraphicsScene
QGraphicsScene::_ZTV14QGraphicsScene: 34u entries
@@ -8594,20 +6617,8 @@ QGraphicsScene (0xb470f6c0) 0
QObject (0xb4537000) 0
primary-for QGraphicsScene (0xb470f6c0)
-Class QFlags<QGraphicsScene::SceneLayer>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGraphicsScene::SceneLayer> (0xb4537d98) 0
-Class QList<QGraphicsItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QGraphicsItem*>::<anonymous union> (0xb455c7bc) 0
-Class QList<QGraphicsItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QGraphicsItem*> (0xb455c744) 0
Vtable for QGraphicsSceneEvent
QGraphicsSceneEvent::_ZTV19QGraphicsSceneEvent: 4u entries
@@ -8770,65 +6781,21 @@ Class QTextOption
base size=24 base align=4
QTextOption (0xb45b33c0) 0
-Class QFlags<QTextOption::Flag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextOption::Flag> (0xb45c0b40) 0
-Class QMetaTypeId<QTextOption::Tab>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QTextOption::Tab> (0xb45e112c) 0 empty
Class QPainter
size=4 align=4
base size=4 base align=4
QPainter (0xb45e1438) 0
-Class QFlags<QPainter::RenderHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPainter::RenderHint> (0xb45e1f00) 0
-Class QVector<QLineF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF>::<anonymous union> (0xb4446960) 0
-Class QVector<QLineF>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF> (0xb44468e8) 0
-Class QVector<QLine>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine>::<anonymous union> (0xb4446ac8) 0
-Class QVector<QLine>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine> (0xb4446a50) 0
-Class QVector<QRectF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF>::<anonymous union> (0xb447921c) 0
-Class QVector<QRectF>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF> (0xb44791a4) 0
-Class QVector<QRect>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect>::<anonymous union> (0xb4479384) 0
-Class QVector<QRect>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect> (0xb447930c) 0
Vtable for QAbstractScrollArea
QAbstractScrollArea::_ZTV19QAbstractScrollArea: 65u entries
@@ -9083,15 +7050,7 @@ QGraphicsView (0xb44ee480) 0
QPaintDevice (0xb44f5ca8) 8
vptr=((& QGraphicsView::_ZTV13QGraphicsView) + 252u)
-Class QFlags<QGraphicsView::CacheModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGraphicsView::CacheModeFlag> (0xb43214ec) 0
-Class QFlags<QGraphicsView::OptimizationFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGraphicsView::OptimizationFlag> (0xb433412c) 0
Vtable for QBitmap
QBitmap::_ZTV7QBitmap: 7u entries
@@ -9346,10 +7305,6 @@ QImageIOPlugin (0xb439eaf0) 0
QFactoryInterface (0xb43a1528) 8 nearly-empty
primary-for QImageIOHandlerFactoryInterface (0xb436df00)
-Class QFlags<QImageIOPlugin::Capability>
- size=4 align=4
- base size=4 base align=4
-QFlags<QImageIOPlugin::Capability> (0xb43a121c) 0
Class QImageReader
size=4 align=4
@@ -9525,15 +7480,7 @@ QActionGroup (0xb422a580) 0
QObject (0xb42360f0) 0
primary-for QActionGroup (0xb422a580)
-Class QList<QAction*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QAction*>::<anonymous union> (0xb4236f3c) 0
-Class QList<QAction*>
- size=4 align=4
- base size=4 base align=4
-QList<QAction*> (0xb4236ec4) 0
Vtable for QInputContext
QInputContext::_ZTV13QInputContext: 26u entries
@@ -9839,10 +7786,6 @@ QAbstractSpinBox (0xb4274d00) 0
QPaintDevice (0xb42a66cc) 8
vptr=((& QAbstractSpinBox::_ZTV16QAbstractSpinBox) + 252u)
-Class QFlags<QAbstractSpinBox::StepEnabledFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractSpinBox::StepEnabledFlag> (0xb42b9870) 0
Vtable for QAbstractSlider
QAbstractSlider::_ZTV15QAbstractSlider: 64u entries
@@ -10050,15 +7993,7 @@ QStyle (0xb42c7a00) 0
QObject (0xb4301d5c) 0
primary-for QStyle (0xb42c7a00)
-Class QFlags<QStyle::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::StateFlag> (0xb412f6cc) 0
-Class QFlags<QStyle::SubControl>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::SubControl> (0xb414530c) 0
Vtable for QTabBar
QTabBar::_ZTV7QTabBar: 67u entries
@@ -10317,10 +8252,6 @@ Class QStyleOptionFrame
QStyleOptionFrame (0xb41c1040) 0
QStyleOption (0xb41c012c) 0
-Class QFlags<QStyleOptionFrameV2::FrameFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionFrameV2::FrameFeature> (0xb41c08e8) 0
Class QStyleOptionFrameV2
size=56 align=4
@@ -10347,10 +8278,6 @@ Class QStyleOptionHeader
QStyleOptionHeader (0xb41c1ac0) 0
QStyleOption (0xb41e98ac) 0
-Class QFlags<QStyleOptionButton::ButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionButton::ButtonFeature> (0xb41fe258) 0
Class QStyleOptionButton
size=64 align=4
@@ -10358,10 +8285,6 @@ Class QStyleOptionButton
QStyleOptionButton (0xb41c1d80) 0
QStyleOption (0xb41e90f0) 0
-Class QFlags<QStyleOptionTab::CornerWidget>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionTab::CornerWidget> (0xb42167bc) 0
Class QStyleOptionTab
size=72 align=4
@@ -10376,10 +8299,6 @@ QStyleOptionTabV2 (0xb420c3c0) 0
QStyleOptionTab (0xb420c400) 0
QStyleOption (0xb40307f8) 0
-Class QFlags<QStyleOptionToolBar::ToolBarFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionToolBar::ToolBarFeature> (0xb40494b0) 0
Class QStyleOptionToolBar
size=68 align=4
@@ -10406,10 +8325,6 @@ Class QStyleOptionMenuItem
QStyleOptionMenuItem (0xb420cd00) 0
QStyleOption (0xb4063e88) 0
-Class QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature> (0xb40767f8) 0
Class QStyleOptionQ3ListViewItem
size=64 align=4
@@ -10442,10 +8357,6 @@ Class QStyleOptionViewItem
QStyleOptionViewItem (0xb40869c0) 0
QStyleOption (0xb40a8a50) 0
-Class QFlags<QStyleOptionViewItemV2::ViewItemFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionViewItemV2::ViewItemFeature> (0xb40bc258) 0
Class QStyleOptionViewItemV2
size=84 align=4
@@ -10510,15 +8421,7 @@ QStyleOptionSpinBox (0xb4104600) 0
QStyleOptionComplex (0xb4104640) 0
QStyleOption (0xb4107b04) 0
-Class QList<QStyleOptionQ3ListViewItem>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::<anonymous union> (0xb411a21c) 0
-Class QList<QStyleOptionQ3ListViewItem>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem> (0xb411a1a4) 0
Class QStyleOptionQ3ListView
size=84 align=4
@@ -10527,10 +8430,6 @@ QStyleOptionQ3ListView (0xb4104880) 0
QStyleOptionComplex (0xb41048c0) 0
QStyleOption (0xb411a0b4) 0
-Class QFlags<QStyleOptionToolButton::ToolButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionToolButton::ToolButtonFeature> (0xb411ab40) 0
Class QStyleOptionToolButton
size=96 align=4
@@ -10627,10 +8526,6 @@ Class QItemSelectionRange
base size=8 base align=4
QItemSelectionRange (0xb3f9b654) 0
-Class QTypeInfo<QItemSelectionRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QItemSelectionRange> (0xb3fce1e0) 0 empty
Vtable for QItemSelectionModel
QItemSelectionModel::_ZTV19QItemSelectionModel: 18u entries
@@ -10661,20 +8556,8 @@ QItemSelectionModel (0xb3f94bc0) 0
QObject (0xb3fce654) 0
primary-for QItemSelectionModel (0xb3f94bc0)
-Class QFlags<QItemSelectionModel::SelectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QItemSelectionModel::SelectionFlag> (0xb3fde924) 0
-Class QList<QItemSelectionRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::<anonymous union> (0xb3ff75a0) 0
-Class QList<QItemSelectionRange>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange> (0xb3ff7528) 0
Class QItemSelection
size=4 align=4
@@ -10804,10 +8687,6 @@ QAbstractItemView (0xb4014180) 0
QPaintDevice (0xb3ff7924) 8
vptr=((& QAbstractItemView::_ZTV17QAbstractItemView) + 392u)
-Class QFlags<QAbstractItemView::EditTrigger>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractItemView::EditTrigger> (0xb3e34708) 0
Vtable for QAbstractProxyModel
QAbstractProxyModel::_ZTV19QAbstractProxyModel: 47u entries
@@ -11270,15 +9149,7 @@ Class QItemEditorCreatorBase
QItemEditorCreatorBase (0xb3ed4294) 0 nearly-empty
vptr=((& QItemEditorCreatorBase::_ZTV22QItemEditorCreatorBase) + 8u)
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union> (0xb3ed4d98) 0
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*> (0xb3ed4d20) 0
Vtable for QItemEditorFactory
QItemEditorFactory::_ZTV18QItemEditorFactory: 6u entries
@@ -11419,15 +9290,7 @@ QListView (0xb3edd140) 0
QPaintDevice (0xb3ef1000) 8
vptr=((& QListView::_ZTV9QListView) + 392u)
-Class QVector<void*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<void*>::<anonymous union> (0xb3f0c780) 0
-Class QVector<void*>
- size=4 align=4
- base size=4 base align=4
-QVector<void*> (0xb3f0c708) 0
Vtable for QListWidgetItem
QListWidgetItem::_ZTV15QListWidgetItem: 11u entries
@@ -11720,15 +9583,7 @@ Class QStandardItem
QStandardItem (0xb3d8c744) 0
vptr=((& QStandardItem::_ZTV13QStandardItem) + 8u)
-Class QList<QStandardItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QStandardItem*>::<anonymous union> (0xb3df3168) 0
-Class QList<QStandardItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QStandardItem*> (0xb3df30f0) 0
Vtable for QStandardItemModel
QStandardItemModel::_ZTV18QStandardItemModel: 42u entries
@@ -12007,15 +9862,7 @@ Class QTableWidgetSelectionRange
base size=16 base align=4
QTableWidgetSelectionRange (0xb3c62528) 0
-Class QVector<QWidgetItemData>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData>::<anonymous union> (0xb3c71294) 0
-Class QVector<QWidgetItemData>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData> (0xb3c7121c) 0
Vtable for QTableWidgetItem
QTableWidgetItem::_ZTV16QTableWidgetItem: 10u entries
@@ -12292,35 +10139,15 @@ QTreeView (0xb3cbe380) 0
QPaintDevice (0xb3cc6258) 8
vptr=((& QTreeView::_ZTV9QTreeView) + 400u)
-Class QFlags<QTreeWidgetItemIterator::IteratorFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTreeWidgetItemIterator::IteratorFlag> (0xb3ce8a14) 0
Class QTreeWidgetItemIterator
size=12 align=4
base size=12 base align=4
QTreeWidgetItemIterator (0xb3ce8000) 0
-Class QVector<QVector<QWidgetItemData> >::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> >::<anonymous union> (0xb3b1c474) 0
-Class QVector<QVector<QWidgetItemData> >
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> > (0xb3b1c3fc) 0
-Class QList<QTreeWidgetItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::<anonymous union> (0xb3b1c8ac) 0
-Class QList<QTreeWidgetItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*> (0xb3b1c834) 0
Vtable for QTreeWidgetItem
QTreeWidgetItem::_ZTV15QTreeWidgetItem: 10u entries
@@ -13296,15 +11123,7 @@ Class QTextItem
base size=0 base align=1
QTextItem (0xb3ad2a8c) 0 empty
-Class QTypeInfo<QTextItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextItem> (0xb3ad2ce4) 0 empty
-Class QFlags<QPaintEngine::PaintEngineFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::PaintEngineFeature> (0xb3ae1564) 0
Vtable for QPaintEngine
QPaintEngine::_ZTV12QPaintEngine: 24u entries
@@ -13339,20 +11158,12 @@ Class QPaintEngine
QPaintEngine (0xb3ad2dd4) 0
vptr=((& QPaintEngine::_ZTV12QPaintEngine) + 8u)
-Class QFlags<QPaintEngine::DirtyFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::DirtyFlag> (0xb3afb744) 0
Class QPaintEngineState
size=4 align=4
base size=4 base align=4
QPaintEngineState (0xb3afb3fc) 0
-Class QFlags<QTextItem::RenderFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextItem::RenderFlag> (0xb3b10438) 0
Vtable for QPrinter
QPrinter::_ZTV8QPrinter: 7u entries
@@ -13450,10 +11261,6 @@ QCommonStyle (0xb3afdf00) 0
QObject (0xb398bac8) 0
primary-for QStyle (0xb3afdf40)
-Class QPointer<QFocusFrame>
- size=4 align=4
- base size=4 base align=4
-QPointer<QFocusFrame> (0xb399add4) 0
Vtable for QMotifStyle
QMotifStyle::_ZTV11QMotifStyle: 35u entries
@@ -13985,30 +11792,14 @@ Class QTextLength
base size=12 base align=4
QTextLength (0xb383e7f8) 0
-Class QSharedDataPointer<QTextFormatPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextFormatPrivate> (0xb3858258) 0
Class QTextFormat
size=8 align=4
base size=8 base align=4
QTextFormat (0xb384aac8) 0
-Class QVector<QTextLength>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength>::<anonymous union> (0xb387b708) 0
-Class QVector<QTextLength>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength> (0xb387b690) 0
-Class QFlags<QTextFormat::PageBreakFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextFormat::PageBreakFlag> (0xb389b438) 0
Class QTextCharFormat
size=8 align=4
@@ -14070,15 +11861,7 @@ Class QTextLayout
base size=4 base align=4
QTextLayout (0xb3744294) 0
-Class QVector<QTextLayout::FormatRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange>::<anonymous union> (0xb3744fb4) 0
-Class QVector<QTextLayout::FormatRange>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange> (0xb3744f3c) 0
Class QTextLine
size=8 align=4
@@ -14128,15 +11911,7 @@ QTextDocument (0xb372dd40) 0
QObject (0xb3761f78) 0
primary-for QTextDocument (0xb372dd40)
-Class QFlags<QTextDocument::FindFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextDocument::FindFlag> (0xb37728e8) 0
-Class QSharedDataPointer<QTextCursorPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextCursorPrivate> (0xb37a8618) 0
Class QTextCursor
size=4 align=4
@@ -14148,15 +11923,7 @@ Class QAbstractTextDocumentLayout::Selection
base size=12 base align=4
QAbstractTextDocumentLayout::Selection (0xb37a88ac) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union> (0xb37a8ca8) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection> (0xb37a8c30) 0
Class QAbstractTextDocumentLayout::PaintContext
size=48 align=4
@@ -14318,10 +12085,6 @@ QTextFrame (0xb378ef40) 0
QObject (0xb37f8d98) 0
primary-for QTextObject (0xb378ef80)
-Class QTypeInfo<QTextFrame::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFrame::iterator> (0xb361f744) 0 empty
Vtable for QTextBlockUserData
QTextBlockUserData::_ZTV18QTextBlockUserData: 4u entries
@@ -14346,25 +12109,13 @@ Class QTextBlock
base size=8 base align=4
QTextBlock (0xb361fc30) 0
-Class QTypeInfo<QTextBlock>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock> (0xb363f744) 0 empty
-Class QTypeInfo<QTextBlock::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock::iterator> (0xb363f834) 0 empty
Class QTextFragment
size=12 align=4
base size=12 base align=4
QTextFragment (0xb363f9d8) 0
-Class QTypeInfo<QTextFragment>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFragment> (0xb364cd98) 0 empty
Vtable for QSyntaxHighlighter
QSyntaxHighlighter::_ZTV18QSyntaxHighlighter: 15u entries
@@ -15494,10 +13245,6 @@ QDateEdit (0xb359b580) 0
QPaintDevice (0xb35b6834) 8
vptr=((& QDateEdit::_ZTV9QDateEdit) + 260u)
-Class QFlags<QDateTimeEdit::Section>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDateTimeEdit::Section> (0xb35cd078) 0
Vtable for QDial
QDial::_ZTV5QDial: 64u entries
@@ -15658,10 +13405,6 @@ QDialogButtonBox (0xb359bc00) 0
QPaintDevice (0xb35f1a50) 8
vptr=((& QDialogButtonBox::_ZTV16QDialogButtonBox) + 232u)
-Class QFlags<QDialogButtonBox::StandardButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDialogButtonBox::StandardButton> (0xb3601e88) 0
Vtable for QDockWidget
QDockWidget::_ZTV11QDockWidget: 63u entries
@@ -15741,10 +13484,6 @@ QDockWidget (0xb359bf80) 0
QPaintDevice (0xb3415a50) 8
vptr=((& QDockWidget::_ZTV11QDockWidget) + 232u)
-Class QFlags<QDockWidget::DockWidgetFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDockWidget::DockWidgetFeature> (0xb34430f0) 0
Vtable for QFocusFrame
QFocusFrame::_ZTV11QFocusFrame: 63u entries
@@ -15906,10 +13645,6 @@ QFontComboBox (0xb342d640) 0
QPaintDevice (0xb3465a8c) 8
vptr=((& QFontComboBox::_ZTV13QFontComboBox) + 240u)
-Class QFlags<QFontComboBox::FontFilter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFontComboBox::FontFilter> (0xb3475a50) 0
Vtable for QGroupBox
QGroupBox::_ZTV9QGroupBox: 63u entries
@@ -16228,10 +13963,6 @@ QMainWindow (0xb34c8380) 0
QPaintDevice (0xb34d5924) 8
vptr=((& QMainWindow::_ZTV11QMainWindow) + 236u)
-Class QFlags<QMainWindow::DockOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QMainWindow::DockOption> (0xb34eaac8) 0
Vtable for QMdiArea
QMdiArea::_ZTV8QMdiArea: 65u entries
@@ -16317,10 +14048,6 @@ QMdiArea (0xb34c8700) 0
QPaintDevice (0xb34fa690) 8
vptr=((& QMdiArea::_ZTV8QMdiArea) + 240u)
-Class QFlags<QMdiArea::AreaOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QMdiArea::AreaOption> (0xb331cb04) 0
Vtable for QMdiSubWindow
QMdiSubWindow::_ZTV13QMdiSubWindow: 63u entries
@@ -16400,10 +14127,6 @@ QMdiSubWindow (0xb34c8b00) 0
QPaintDevice (0xb332c6cc) 8
vptr=((& QMdiSubWindow::_ZTV13QMdiSubWindow) + 232u)
-Class QFlags<QMdiSubWindow::SubWindowOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QMdiSubWindow::SubWindowOption> (0xb33517bc) 0
Vtable for QMenu
QMenu::_ZTV5QMenu: 63u entries
@@ -16681,10 +14404,6 @@ QTextEdit (0xb32147c0) 0
QPaintDevice (0xb32223fc) 8
vptr=((& QTextEdit::_ZTV9QTextEdit) + 256u)
-Class QFlags<QTextEdit::AutoFormattingFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextEdit::AutoFormattingFlag> (0xb325f384) 0
Vtable for QPlainTextEdit
QPlainTextEdit::_ZTV14QPlainTextEdit: 69u entries
@@ -18196,203 +15915,43 @@ QWorkspace (0xb31cf7c0) 0
QPaintDevice (0xb31f20f0) 8
vptr=((& QWorkspace::_ZTV10QWorkspace) + 232u)
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0xb305b564) 0
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0xb3070b04) 0
-Class QVectorTypedData<QPoint>
- size=24 align=4
- base size=24 base align=4
-QVectorTypedData<QPoint> (0xb2f24e4c) 0
-Class QVectorTypedData<QPointF>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QPointF> (0xb2f3c924) 0
-Class QVectorTypedData<QPainterPath::Element>
- size=36 align=4
- base size=36 base align=4
-QVectorTypedData<QPainterPath::Element> (0xb2f593fc) 0
-Class QVectorTypedData<QLineF>
- size=48 align=4
- base size=48 base align=4
-QVectorTypedData<QLineF> (0xb2fcec30) 0
-Class QVectorTypedData<QLine>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QLine> (0xb2fcee10) 0
-Class QVectorTypedData<QRectF>
- size=48 align=4
- base size=48 base align=4
-QVectorTypedData<QRectF> (0xb2fce03c) 0
-Class QVectorTypedData<QRect>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QRect> (0xb2fe31a4) 0
-Class QList<QTreeWidgetItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::Node (0xb2ea3960) 0
-Class QVectorTypedData<QVector<QWidgetItemData> >
- size=20 align=4
- base size=20 base align=4
-QVectorTypedData<QVector<QWidgetItemData> > (0xb2ea3b40) 0
-Class QVectorTypedData<QTextLength>
- size=28 align=4
- base size=28 base align=4
-QVectorTypedData<QTextLength> (0xb2ed1ce4) 0
-Class QVectorTypedData<QTextLayout::FormatRange>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QTextLayout::FormatRange> (0xb2ee9168) 0
-Class QVectorTypedData<QAbstractTextDocumentLayout::Selection>
- size=28 align=4
- base size=28 base align=4
-QVectorTypedData<QAbstractTextDocumentLayout::Selection> (0xb2ee9b40) 0
-Class QList<QAction*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QAction*>::Node (0xb2cec870) 0
-Class QTypeInfo<QtConcurrent::ResultItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QtConcurrent::ResultItem> (0xb2d29d20) 0 empty
-Class QMap<int, QtConcurrent::ResultItem>::Node
- size=20 align=4
- base size=20 base align=4
-QMap<int, QtConcurrent::ResultItem>::Node (0xb2d29d98) 0
-Class QMetaTypeId2<QSet<QAccessible::Method> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSet<QAccessible::Method> > (0xb2d55ca8) 0 empty
-Class QHashNode<QAccessible::Method, QHashDummyValue>
- size=16 align=4
- base size=13 base align=4
-QHashNode<QAccessible::Method, QHashDummyValue> (0xb2d55fb4) 0
-Class QHashNode<QVariant::Type, QItemEditorCreatorBase*>
- size=16 align=4
- base size=16 base align=4
-QHashNode<QVariant::Type, QItemEditorCreatorBase*> (0xb2d9cbb8) 0
-Class QTypeInfo<QStandardItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QStandardItem*> (0xb2dc0168) 0 empty
-Class QTypeInfo<QTreeWidgetItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTreeWidgetItem*> (0xb2dc04b0) 0 empty
-Class QTypeInfo<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLength> (0xb2dc0d5c) 0 empty
-Class QTypeInfo<QTextLayout::FormatRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLayout::FormatRange> (0xb2bc61a4) 0 empty
-Class QTypeInfo<QAbstractTextDocumentLayout::Selection>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAbstractTextDocumentLayout::Selection> (0xb2bc6744) 0 empty
-Class QTypeInfo<QAction*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAction*> (0xb2bd57f8) 0 empty
-Class QMap<int, QtConcurrent::ResultItem>::PayloadNode
- size=16 align=4
- base size=16 base align=4
-QMap<int, QtConcurrent::ResultItem>::PayloadNode (0xb2bd5e4c) 0
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0xb2bd5f78) 0
-Class QList<QVariant>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::Node (0xb2be51e0) 0
-Class QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union> (0xb2be599c) 0
-Class QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union> (0xb2c1a0f0) 0
-Class QTypeInfo<QGraphicsItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QGraphicsItem*> (0xb2c1a870) 0 empty
-Class QList<QGraphicsItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QGraphicsItem*>::Node (0xb2c1a8e8) 0
-Class QTypeInfo<QStyleOptionQ3ListViewItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QStyleOptionQ3ListViewItem> (0xb2c1ad98) 0 empty
-Class QList<QStyleOptionQ3ListViewItem>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::Node (0xb2c1ae10) 0
-Class QList<QItemSelectionRange>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::Node (0xb2c52258) 0
-Class QList<QStandardItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QStandardItem*>::Node (0xb2c52690) 0
-Class QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union> (0xb2c52a14) 0
-Class QHashDummyNode<QAccessible::Method, QHashDummyValue>
- size=12 align=4
- base size=12 base align=4
-QHashDummyNode<QAccessible::Method, QHashDummyValue> (0xb2c529d8) 0
-Class QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union> (0xb2c88654) 0
diff --git a/tests/auto/bic/data/QtNetwork.4.0.0.aix-gcc-power32.txt b/tests/auto/bic/data/QtNetwork.4.0.0.aix-gcc-power32.txt
index 2072f0a..a7b7925 100644
--- a/tests/auto/bic/data/QtNetwork.4.0.0.aix-gcc-power32.txt
+++ b/tests/auto/bic/data/QtNetwork.4.0.0.aix-gcc-power32.txt
@@ -53,65 +53,20 @@ Class QBool
size=1 align=1
QBool (0x300b7280) 0
-Class QTypeInfo<bool>
- size=1 align=1
-QTypeInfo<bool> (0x300cd9c0) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
-QTypeInfo<char> (0x300cdf80) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
-QTypeInfo<signed char> (0x300d4540) 0 empty
-Class QTypeInfo<uchar>
- size=1 align=1
-QTypeInfo<uchar> (0x300d4b00) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
-QTypeInfo<short int> (0x300e00c0) 0 empty
-Class QTypeInfo<ushort>
- size=1 align=1
-QTypeInfo<ushort> (0x300e0680) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
-QTypeInfo<int> (0x300e0c40) 0 empty
-Class QTypeInfo<uint>
- size=1 align=1
-QTypeInfo<uint> (0x300eb200) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
-QTypeInfo<long int> (0x300eb7c0) 0 empty
-Class QTypeInfo<ulong>
- size=1 align=1
-QTypeInfo<ulong> (0x300ebd80) 0 empty
-Class QTypeInfo<qint64>
- size=1 align=1
-QTypeInfo<qint64> (0x300f8340) 0 empty
-Class QTypeInfo<quint64>
- size=1 align=1
-QTypeInfo<quint64> (0x300f8900) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
-QTypeInfo<float> (0x300f8ec0) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
-QTypeInfo<double> (0x30104480) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
-QTypeInfo<long double> (0x30104a40) 0 empty
Class QFlag
size=4 align=4
@@ -125,9 +80,6 @@ Class QChar
size=2 align=2
QChar (0x30148980) 0
-Class QTypeInfo<QChar>
- size=1 align=1
-QTypeInfo<QChar> (0x30185980) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -142,13 +94,7 @@ Class sigset_t
size=8 align=4
sigset_t (0x3026ad80) 0
-Class <anonymous struct>
- size=8 align=4
-<anonymous struct> (0x30271200) 0
-Class <anonymous struct>
- size=32 align=8
-<anonymous struct> (0x30271540) 0
Class fsid_t
size=8 align=4
@@ -158,21 +104,9 @@ Class fsid64_t
size=16 align=8
fsid64_t (0x30271c40) 0
-Class <anonymous struct>
- size=52 align=4
-<anonymous struct> (0x302780c0) 0
-Class <anonymous struct>
- size=44 align=4
-<anonymous struct> (0x30278440) 0
-Class <anonymous struct>
- size=112 align=4
-<anonymous struct> (0x302787c0) 0
-Class <anonymous struct>
- size=208 align=4
-<anonymous struct> (0x30278b40) 0
Class _quad
size=8 align=4
@@ -186,17 +120,11 @@ Class adspace_t
size=68 align=4
adspace_t (0x30281e00) 0
-Class <anonymous struct>
- size=24 align=8
-<anonymous struct> (0x302865c0) 0
Class label_t
size=100 align=4
label_t (0x30286d00) 0
-Class <anonymous struct>
- size=4 align=4
-<anonymous struct> (0x3028b780) 0
Class sigset
size=8 align=4
@@ -238,57 +166,18 @@ Class QByteRef
size=8 align=4
QByteRef (0x302b7540) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
-QTypeInfo<QByteArray> (0x30423740) 0 empty
-Class QFlags<Qt::MouseButton>
- size=4 align=4
-QFlags<Qt::MouseButton> (0x30431080) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
-QFlags<Qt::Orientation> (0x30431340) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
-QFlags<Qt::KeyboardModifier> (0x3042cc00) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
-QFlags<Qt::WindowType> (0x30442080) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
-QFlags<Qt::AlignmentFlag> (0x30431a00) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
-QFlags<Qt::ImageConversionFlag> (0x30448800) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
-QFlags<Qt::DockWidgetArea> (0x3046af00) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
-QFlags<Qt::ToolBarArea> (0x3046e200) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
-QFlags<Qt::WindowState> (0x304422c0) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
-QFlags<Qt::DropAction> (0x30474f80) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
-QFlags<Qt::ItemFlag> (0x30479700) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
-QFlags<Qt::MatchFlag> (0x30479a40) 0
Class QInternal
size=1 align=1
@@ -306,9 +195,6 @@ Class QString
size=4 align=4
QString (0x300a1f40) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
-QFlags<QString::SectionFlag> (0x303cf2c0) 0
Class QLatin1String
size=4 align=4
@@ -323,9 +209,6 @@ Class QConstString
QConstString (0x300b7640) 0
QString (0x300b7680) 0
-Class QTypeInfo<QString>
- size=1 align=1
-QTypeInfo<QString> (0x303901c0) 0 empty
Class QListData::Data
size=24 align=4
@@ -335,9 +218,6 @@ Class QListData
size=4 align=4
QListData (0x300732c0) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
-QFlags<QTextCodec::ConversionFlag> (0x302fb500) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -360,13 +240,7 @@ Class QTextCodec
QTextCodec (0x303bab80) 0 nearly-empty
vptr=((&QTextCodec::_ZTV10QTextCodec) + 8)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
-QList<QByteArray>::<anonymous union> (0x30120bc0) 0
-Class QList<QByteArray>
- size=4 align=4
-QList<QByteArray> (0x302cc980) 0
Class QTextEncoder
size=32 align=4
@@ -385,21 +259,12 @@ Class QGenericReturnArgument
QGenericReturnArgument (0x3036a6c0) 0
QGenericArgument (0x3036a700) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
-QMetaObject::<anonymous struct> (0x3009b300) 0
Class QMetaObject
size=16 align=4
QMetaObject (0x3058c900) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
-QList<QObject*>::<anonymous union> (0x30170600) 0
-Class QList<QObject*>
- size=4 align=4
-QList<QObject*> (0x30166f00) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4 entries
@@ -487,9 +352,6 @@ QIODevice (0x30365880) 0
QObject (0x301e4440) 0
primary-for QIODevice (0x30365880)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
-QFlags<QIODevice::OpenModeFlag> (0x301ebec0) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4 entries
@@ -507,38 +369,20 @@ Class QRegExp
size=4 align=4
QRegExp (0x303baa80) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
-QTypeInfo<QRegExp> (0x30148180) 0 empty
Class QStringMatcher
size=1036 align=4
QStringMatcher (0x3012d8c0) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
-QList<QString>::<anonymous union> (0x30104900) 0
-Class QList<QString>
- size=4 align=4
-QList<QString> (0x30104380) 0
Class QStringList
size=4 align=4
QStringList (0x303bab00) 0
QList<QString> (0x300c3280) 0
-Class QList<QString>::Node
- size=4 align=4
-QList<QString>::Node (0x301046c0) 0
-Class QList<QString>::iterator
- size=4 align=4
-QList<QString>::iterator (0x300eba00) 0
-Class QList<QString>::const_iterator
- size=4 align=4
-QList<QString>::const_iterator (0x300eb980) 0
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5 entries
@@ -664,9 +508,6 @@ Class QMapData
size=72 align=4
QMapData (0x304b4140) 0
-Class <anonymous struct>
- size=32 align=4
-<anonymous struct> (0x3052cd00) 0
Vtable for QTextStream
QTextStream::_ZTV11QTextStream: 4 entries
@@ -680,9 +521,6 @@ Class QTextStream
QTextStream (0x3050bbc0) 0
vptr=((&QTextStream::_ZTV11QTextStream) + 8)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
-QFlags<QTextStream::NumberFlag> (0x305082c0) 0
Class QTextStreamManipulator
size=24 align=4
@@ -767,41 +605,20 @@ QFile (0x3057c8c0) 0
QObject (0x3057c980) 0
primary-for QIODevice (0x3057c900)
-Class QFlags<QFile::Permission>
- size=4 align=4
-QFlags<QFile::Permission> (0x3058a380) 0
Class QFileInfo
size=4 align=4
QFileInfo (0x304b0580) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
-QFlags<QFileInfo::Permission> (0x304927c0) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
-QTypeInfo<QFileInfo> (0x30390480) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
-QList<QFileInfo>::<anonymous union> (0x301dfa40) 0
-Class QList<QFileInfo>
- size=4 align=4
-QList<QFileInfo> (0x301df900) 0
Class QDir
size=4 align=4
QDir (0x304b03c0) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
-QFlags<QDir::Filter> (0x30365600) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
-QFlags<QDir::SortFlag> (0x303ac7c0) 0
Vtable for QFileEngine
QFileEngine::_ZTV11QFileEngine: 35 entries
@@ -846,9 +663,6 @@ Class QFileEngine
QFileEngine (0x3057c7c0) 0
vptr=((&QFileEngine::_ZTV11QFileEngine) + 8)
-Class QFlags<QFileEngine::FileFlag>
- size=4 align=4
-QFlags<QFileEngine::FileFlag> (0x3031a080) 0
Vtable for QFileEngineHandler
QFileEngineHandler::_ZTV18QFileEngineHandler: 5 entries
@@ -910,73 +724,22 @@ Class QMetaType
size=1 align=1
QMetaType (0x30079000) 0 empty
-Class QMetaTypeId<QString>
- size=1 align=1
-QMetaTypeId<QString> (0x3011fb00) 0 empty
-Class QMetaTypeId<int>
- size=1 align=1
-QMetaTypeId<int> (0x3013d480) 0 empty
-Class QMetaTypeId<uint_t>
- size=1 align=1
-QMetaTypeId<uint_t> (0x30148440) 0 empty
-Class QMetaTypeId<bool>
- size=1 align=1
-QMetaTypeId<bool> (0x3015dfc0) 0 empty
-Class QMetaTypeId<double>
- size=1 align=1
-QMetaTypeId<double> (0x301937c0) 0 empty
-Class QMetaTypeId<QByteArray>
- size=1 align=1
-QMetaTypeId<QByteArray> (0x301a18c0) 0 empty
-Class QMetaTypeId<QChar>
- size=1 align=1
-QMetaTypeId<QChar> (0x301a5d00) 0 empty
-Class QMetaTypeId<void>
- size=1 align=1
-QMetaTypeId<void> (0x301ad500) 0 empty
-Class QMetaTypeId<long int>
- size=1 align=1
-QMetaTypeId<long int> (0x301add00) 0 empty
-Class QMetaTypeId<short int>
- size=1 align=1
-QMetaTypeId<short int> (0x301b22c0) 0 empty
-Class QMetaTypeId<char>
- size=1 align=1
-QMetaTypeId<char> (0x301b2b00) 0 empty
-Class QMetaTypeId<ulong_t>
- size=1 align=1
-QMetaTypeId<ulong_t> (0x301b6640) 0 empty
-Class QMetaTypeId<ushort_t>
- size=1 align=1
-QMetaTypeId<ushort_t> (0x301b6fc0) 0 empty
-Class QMetaTypeId<uchar_t>
- size=1 align=1
-QMetaTypeId<uchar_t> (0x301b9600) 0 empty
-Class QMetaTypeId<float>
- size=1 align=1
-QMetaTypeId<float> (0x301b9c00) 0 empty
-Class QMetaTypeId<QObject*>
- size=1 align=1
-QMetaTypeId<QObject*> (0x301c1740) 0 empty
-Class QMetaTypeId<QWidget*>
- size=1 align=1
-QMetaTypeId<QWidget*> (0x301d7f80) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -998,69 +761,24 @@ Class QVariant
size=16 align=8
QVariant (0x30166c00) 0
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
-QList<QVariant>::<anonymous union> (0x3057e500) 0
-Class QList<QVariant>
- size=4 align=4
-QList<QVariant> (0x302acd80) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
-QMap<QString, QVariant>::<anonymous union> (0x302ed8c0) 0
-Class QMap<QString, QVariant>
- size=4 align=4
-QMap<QString, QVariant> (0x302b7980) 0
Class QVariantComparisonHelper
size=4 align=4
QVariantComparisonHelper (0x30225880) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
-QTypeInfo<QVariant> (0x303e8900) 0 empty
-Class <anonymous struct>
- size=12 align=4
-<anonymous struct> (0x303dab00) 0
-Class <anonymous struct>
- size=44 align=4
-<anonymous struct> (0x303f70c0) 0
-Class <anonymous struct>
- size=76 align=4
-<anonymous struct> (0x303f7880) 0
-Class <anonymous struct>
- size=36 align=4
-<anonymous struct> (0x303fc640) 0
-Class <anonymous struct>
- size=56 align=4
-<anonymous struct> (0x303fcc40) 0
-Class <anonymous struct>
- size=36 align=4
-<anonymous struct> (0x30414340) 0
-Class <anonymous struct>
- size=28 align=4
-<anonymous struct> (0x30414f00) 0
-Class <anonymous struct>
- size=24 align=4
-<anonymous struct> (0x30486a40) 0
-Class <anonymous struct>
- size=28 align=4
-<anonymous struct> (0x30486d80) 0
-Class <anonymous struct>
- size=28 align=4
-<anonymous struct> (0x30492400) 0
Class lconv
size=56 align=4
@@ -1102,77 +820,41 @@ Class localeinfo_table
size=36 align=4
localeinfo_table (0x303d9cc0) 0
-Class <anonymous struct>
- size=108 align=4
-<anonymous struct> (0x304dc500) 0
Class _LC_charmap_objhdl
size=12 align=4
_LC_charmap_objhdl (0x304dcc80) 0
-Class <anonymous struct>
- size=92 align=4
-<anonymous struct> (0x30561040) 0
Class _LC_monetary_objhdl
size=12 align=4
_LC_monetary_objhdl (0x305614c0) 0
-Class <anonymous struct>
- size=48 align=4
-<anonymous struct> (0x30561800) 0
Class _LC_numeric_objhdl
size=12 align=4
_LC_numeric_objhdl (0x30561d00) 0
-Class <anonymous struct>
- size=56 align=4
-<anonymous struct> (0x30083180) 0
Class _LC_resp_objhdl
size=12 align=4
_LC_resp_objhdl (0x300838c0) 0
-Class <anonymous struct>
- size=248 align=4
-<anonymous struct> (0x30083c40) 0
Class _LC_time_objhdl
size=12 align=4
_LC_time_objhdl (0x3012c400) 0
-Class <anonymous struct>
- size=10 align=2
-<anonymous struct> (0x3012cc40) 0
-Class <anonymous struct>
- size=16 align=4
-<anonymous struct> (0x301df180) 0
-Class <anonymous struct>
- size=16 align=4
-<anonymous struct> (0x301df5c0) 0
-Class <anonymous struct>
- size=20 align=4
-<anonymous struct> (0x303acac0) 0
-Class <anonymous struct>
- size=104 align=4
-<anonymous struct> (0x30504a00) 0
Class _LC_collate_objhdl
size=12 align=4
_LC_collate_objhdl (0x301bfb80) 0
-Class <anonymous struct>
- size=8 align=4
-<anonymous struct> (0x301e8b00) 0
-Class <anonymous struct>
- size=80 align=4
-<anonymous struct> (0x305a0100) 0
Class _LC_ctype_objhdl
size=12 align=4
@@ -1186,17 +868,11 @@ Class _LC_locale_objhdl
size=12 align=4
_LC_locale_objhdl (0x303da600) 0
-Class _LC_object_handle::<anonymous union>
- size=12 align=4
-_LC_object_handle::<anonymous union> (0x305911c0) 0
Class _LC_object_handle
size=20 align=4
_LC_object_handle (0x30591080) 0
-Class <anonymous struct>
- size=24 align=4
-<anonymous struct> (0x3031ed80) 0
Vtable for QSettings
QSettings::_ZTV9QSettings: 14 entries
@@ -1271,13 +947,7 @@ Class QUrl
size=4 align=4
QUrl (0x302256c0) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
-QFlags<QUrl::FormattingOption> (0x306df180) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
-QTypeInfo<QUrl> (0x307c8900) 0 empty
Vtable for QEventLoop
QEventLoop::_ZTV10QEventLoop: 14 entries
@@ -1303,9 +973,6 @@ QEventLoop (0x30802000) 0
QObject (0x30802040) 0
primary-for QEventLoop (0x30802000)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0x30803740) 0
Vtable for QAbstractEventDispatcher
QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 27 entries
@@ -1348,17 +1015,11 @@ Class QModelIndex
size=16 align=4
QModelIndex (0x3049cc80) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
-QTypeInfo<QModelIndex> (0x304eb5c0) 0 empty
Class QPersistentModelIndex
size=4 align=4
QPersistentModelIndex (0x3049cb80) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
-QTypeInfo<QPersistentModelIndex> (0x3002e700) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42 entries
@@ -1524,9 +1185,6 @@ Class QBasicTimer
size=4 align=4
QBasicTimer (0x307fe180) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
-QTypeInfo<QBasicTimer> (0x30803300) 0 empty
Vtable for QEvent
QEvent::_ZTV6QEvent: 4 entries
@@ -1612,17 +1270,11 @@ Class QMetaMethod
size=8 align=4
QMetaMethod (0x30379340) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
-QTypeInfo<QMetaMethod> (0x30880740) 0 empty
Class QMetaEnum
size=8 align=4
QMetaEnum (0x303793c0) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
-QTypeInfo<QMetaEnum> (0x3088be80) 0 empty
Class QMetaProperty
size=20 align=4
@@ -1632,9 +1284,6 @@ Class QMetaClassInfo
size=8 align=4
QMetaClassInfo (0x30379540) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
-QTypeInfo<QMetaClassInfo> (0x308a3780) 0 empty
Vtable for QMimeData
QMimeData::_ZTV9QMimeData: 17 entries
@@ -1902,9 +1551,6 @@ Class QBitRef
size=8 align=4
QBitRef (0x305a6140) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
-QTypeInfo<QBitArray> (0x30864700) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -1922,65 +1568,41 @@ Class QHashDummyValue
size=1 align=1
QHashDummyValue (0x30893ec0) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
-QTypeInfo<QHashDummyValue> (0x30897f00) 0 empty
Class QDate
size=4 align=4
QDate (0x301eb4c0) 0
-Class QTypeInfo<QDate>
- size=1 align=1
-QTypeInfo<QDate> (0x300ebe80) 0 empty
Class QTime
size=4 align=4
QTime (0x301f1e80) 0
-Class QTypeInfo<QTime>
- size=1 align=1
-QTypeInfo<QTime> (0x30368c00) 0 empty
Class QDateTime
size=4 align=4
QDateTime (0x304b0440) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
-QTypeInfo<QDateTime> (0x304d4880) 0 empty
Class QPoint
size=8 align=4
QPoint (0x301f9d40) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
-QTypeInfo<QPoint> (0x307b9180) 0 empty
Class QPointF
size=16 align=8
QPointF (0x30200880) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
-QTypeInfo<QPointF> (0x307efcc0) 0 empty
Class QLine
size=16 align=4
QLine (0x301eb540) 0
-Class QTypeInfo<QLine>
- size=1 align=1
-QTypeInfo<QLine> (0x3098afc0) 0 empty
Class QLineF
size=32 align=8
QLineF (0x301eb600) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
-QTypeInfo<QLineF> (0x30a335c0) 0 empty
Class QLinkedListData
size=20 align=4
@@ -1990,41 +1612,26 @@ Class QLocale
size=4 align=4
QLocale (0x301eb800) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
-QTypeInfo<QLocale> (0x30822c80) 0 empty
Class QSize
size=8 align=4
QSize (0x30200a80) 0
-Class QTypeInfo<QSize>
- size=1 align=1
-QTypeInfo<QSize> (0x30864400) 0 empty
Class QSizeF
size=16 align=8
QSizeF (0x30209200) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
-QTypeInfo<QSizeF> (0x30a33a80) 0 empty
Class QRect
size=16 align=4
QRect (0x30213780) 0
-Class QTypeInfo<QRect>
- size=1 align=1
-QTypeInfo<QRect> (0x30aad700) 0 empty
Class QRectF
size=32 align=8
QRectF (0x302138c0) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
-QTypeInfo<QRectF> (0x30a1fdc0) 0 empty
Class QSharedData
size=4 align=4
@@ -2326,11 +1933,5 @@ QUdpSocket (0x308c1040) 0
QObject (0x308c16c0) 0
primary-for QIODevice (0x308c1340)
-Class QList<QByteArray>::Node
- size=4 align=4
-QList<QByteArray>::Node (0x30120ac0) 0
-Class QList<QFileInfo>::Node
- size=4 align=4
-QList<QFileInfo>::Node (0x301dfa00) 0
diff --git a/tests/auto/bic/data/QtNetwork.4.0.0.linux-gcc-amd64.txt b/tests/auto/bic/data/QtNetwork.4.0.0.linux-gcc-amd64.txt
index 0942e9c..1d0c56c 100644
--- a/tests/auto/bic/data/QtNetwork.4.0.0.linux-gcc-amd64.txt
+++ b/tests/auto/bic/data/QtNetwork.4.0.0.linux-gcc-amd64.txt
@@ -59,145 +59,37 @@ Class QBool
base size=1 base align=1
QBool (0x2aaaac20f1c0) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0x2aaaac2260e0) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0x2aaaac226380) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0x2aaaac226620) 0 empty
-Class QTypeInfo<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned char> (0x2aaaac2268c0) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0x2aaaac226b60) 0 empty
-Class QTypeInfo<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short unsigned int> (0x2aaaac226e00) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0x2aaaac2370e0) 0 empty
-Class QTypeInfo<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned int> (0x2aaaac237380) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0x2aaaac237620) 0 empty
-Class QTypeInfo<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long unsigned int> (0x2aaaac2378c0) 0 empty
-Class QTypeInfo<long long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long int> (0x2aaaac237b60) 0 empty
-Class QTypeInfo<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long unsigned int> (0x2aaaac237e00) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0x2aaaac2490e0) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0x2aaaac249380) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0x2aaaac249620) 0 empty
Class QFlag
size=4 align=4
base size=4 base align=4
QFlag (0x2aaaac249850) 0
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0x2aaaac275930) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0x2aaaac275d20) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0x2aaaac301150) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0x2aaaac301540) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0x2aaaac301930) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0x2aaaac301d20) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0x2aaaac346150) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0x2aaaac346540) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0x2aaaac346930) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0x2aaaac346d20) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0x2aaaac393150) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0x2aaaac393540) 0
Class QInternal
size=1 align=1
@@ -215,10 +107,6 @@ Class QGenericReturnArgument
QGenericReturnArgument (0x2aaaac393f50) 0
QGenericArgument (0x2aaaac3c3000) 0
-Class QMetaObject::<anonymous struct>
- size=32 align=8
- base size=32 base align=8
-QMetaObject::<anonymous struct> (0x2aaaac3c3850) 0
Class QMetaObject
size=32 align=8
@@ -235,10 +123,6 @@ Class QChar
base size=2 base align=2
QChar (0x2aaaac3fb4d0) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0x2aaaac431540) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -271,10 +155,6 @@ Class QByteRef
base size=12 base align=8
QByteRef (0x2aaaac552b60) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0x2aaaac5dfbd0) 0 empty
Class QString::Null
size=1 align=1
@@ -291,10 +171,6 @@ Class QString
base size=8 base align=8
QString (0x2aaaac5dfee0) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0x2aaaac659770) 0
Class QLatin1String
size=8 align=8
@@ -312,10 +188,6 @@ Class QConstString
QConstString (0x2aaaac8a9a10) 0
QString (0x2aaaac8a9a80) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0x2aaaac8bd000) 0 empty
Class QListData::Data
size=32 align=8
@@ -327,15 +199,7 @@ Class QListData
base size=8 base align=8
QListData (0x2aaaac8e0ee0) 0
-Class QList<QObject*>::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QList<QObject*>::<anonymous union> (0x2aaaaca00e00) 0
-Class QList<QObject*>
- size=8 align=8
- base size=8 base align=8
-QList<QObject*> (0x2aaaaca00cb0) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -427,10 +291,6 @@ QIODevice (0x2aaaaca8d2a0) 0
QObject (0x2aaaaca8d310) 0
primary-for QIODevice (0x2aaaaca8d2a0)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0x2aaaaca8de70) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -455,10 +315,6 @@ Class QMapData
base size=128 base align=8
QMapData (0x2aaaacb2fa10) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0x2aaaacc4b930) 0
Class QTextCodec::ConverterState
size=32 align=8
@@ -483,15 +339,7 @@ Class QTextCodec
QTextCodec (0x2aaaacc4b690) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 16u)
-Class QList<QByteArray>::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QList<QByteArray>::<anonymous union> (0x2aaaacc89230) 0
-Class QList<QByteArray>
- size=8 align=8
- base size=8 base align=8
-QList<QByteArray> (0x2aaaacc890e0) 0
Class QTextEncoder
size=40 align=8
@@ -503,30 +351,10 @@ Class QTextDecoder
base size=40 base align=8
QTextDecoder (0x2aaaacc89f50) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x2aaaaccc53f0) 0
-Class <anonymous struct>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct>::<anonymous union> (0x2aaaaccc55b0) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x2aaaaccc54d0) 0
-Class <anonymous struct>
- size=16 align=8
- base size=16 base align=8
-<anonymous struct> (0x2aaaaccc5690) 0
-Class <anonymous struct>
- size=16 align=8
- base size=16 base align=8
-<anonymous struct> (0x2aaaaccc5770) 0
Class __gconv_trans_data
size=40 align=8
@@ -548,15 +376,7 @@ Class __gconv_info
base size=16 base align=8
__gconv_info (0x2aaaaccc5a80) 0
-Class <anonymous union>::<anonymous struct>
- size=72 align=8
- base size=72 base align=8
-<anonymous union>::<anonymous struct> (0x2aaaaccc5c40) 0
-Class <anonymous union>
- size=72 align=8
- base size=72 base align=8
-<anonymous union> (0x2aaaaccc5b60) 0
Class _IO_marker
size=24 align=8
@@ -568,10 +388,6 @@ Class _IO_FILE
base size=216 base align=8
_IO_FILE (0x2aaaaccc5d20) 0
-Class <anonymous struct>
- size=32 align=8
- base size=32 base align=8
-<anonymous struct> (0x2aaaaccc5e00) 0
Vtable for QTextStream
QTextStream::_ZTV11QTextStream: 4u entries
@@ -586,10 +402,6 @@ Class QTextStream
QTextStream (0x2aaaaccc5e70) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 16u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0x2aaaacd47150) 0
Class QTextStreamManipulator
size=40 align=8
@@ -680,10 +492,6 @@ QFile (0x2aaaace11bd0) 0
QObject (0x2aaaace11cb0) 0
primary-for QIODevice (0x2aaaace11c40)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0x2aaaace47a80) 0
Vtable for QTemporaryFile
QTemporaryFile::_ZTV14QTemporaryFile: 31u entries
@@ -736,25 +544,13 @@ Class QRegExp
base size=8 base align=8
QRegExp (0x2aaaace768c0) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0x2aaaace9e700) 0 empty
Class QStringMatcher
size=1048 align=8
base size=1044 base align=8
QStringMatcher (0x2aaaace9e930) 0
-Class QList<QString>::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QList<QString>::<anonymous union> (0x2aaaace9eee0) 0
-Class QList<QString>
- size=8 align=8
- base size=8 base align=8
-QList<QString> (0x2aaaace9ed90) 0
Class QStringList
size=8 align=8
@@ -762,15 +558,7 @@ Class QStringList
QStringList (0x2aaaaced5070) 0
QList<QString> (0x2aaaaced50e0) 0
-Class QList<QString>::iterator
- size=8 align=8
- base size=8 base align=8
-QList<QString>::iterator (0x2aaaacef8ee0) 0
-Class QList<QString>::const_iterator
- size=8 align=8
- base size=8 base align=8
-QList<QString>::const_iterator (0x2aaaacf172a0) 0
Vtable for QProcess
QProcess::_ZTV8QProcess: 31u entries
@@ -864,145 +652,45 @@ Class QFileInfo
base size=8 base align=8
QFileInfo (0x2aaaacf6ac40) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0x2aaaacfa8690) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0x2aaaacfa8af0) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QList<QFileInfo>::<anonymous union> (0x2aaaacfd12a0) 0
-Class QList<QFileInfo>
- size=8 align=8
- base size=8 base align=8
-QList<QFileInfo> (0x2aaaacfd1150) 0
Class QDir
size=8 align=8
base size=8 base align=8
QDir (0x2aaaacfd13f0) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0x2aaaacfd1690) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0x2aaaacfd18c0) 0
Class QUrl
size=8 align=8
base size=8 base align=8
QUrl (0x2aaaad0765b0) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0x2aaaad0768c0) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0x2aaaad0d5af0) 0 empty
Class QMetaType
size=1 align=1
base size=0 base align=1
QMetaType (0x2aaaad0f1150) 0 empty
-Class QMetaTypeId<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QString> (0x2aaaad0f1850) 0 empty
-Class QMetaTypeId<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<int> (0x2aaaad0f1a10) 0 empty
-Class QMetaTypeId<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<unsigned int> (0x2aaaad0f1bd0) 0 empty
-Class QMetaTypeId<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<bool> (0x2aaaad0f1d90) 0 empty
-Class QMetaTypeId<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<double> (0x2aaaad0f1f50) 0 empty
-Class QMetaTypeId<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QByteArray> (0x2aaaad10a150) 0 empty
-Class QMetaTypeId<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QChar> (0x2aaaad10a310) 0 empty
-Class QMetaTypeId<void>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<void> (0x2aaaad10a4d0) 0 empty
-Class QMetaTypeId<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<long int> (0x2aaaad10a690) 0 empty
-Class QMetaTypeId<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<short int> (0x2aaaad10a850) 0 empty
-Class QMetaTypeId<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<char> (0x2aaaad10aa10) 0 empty
-Class QMetaTypeId<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<long unsigned int> (0x2aaaad10abd0) 0 empty
-Class QMetaTypeId<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<short unsigned int> (0x2aaaad10ad90) 0 empty
-Class QMetaTypeId<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<unsigned char> (0x2aaaad10af50) 0 empty
-Class QMetaTypeId<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<float> (0x2aaaad117150) 0 empty
-Class QMetaTypeId<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QObject*> (0x2aaaad117310) 0 empty
-Class QMetaTypeId<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QWidget*> (0x2aaaad1174d0) 0 empty
Class QVariant::PrivateShared
size=16 align=8
@@ -1029,35 +717,15 @@ Class QVariant
base size=16 base align=8
QVariant (0x2aaaad117620) 0
-Class QList<QVariant>::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QList<QVariant>::<anonymous union> (0x2aaaad1aa7e0) 0
-Class QList<QVariant>
- size=8 align=8
- base size=8 base align=8
-QList<QVariant> (0x2aaaad1aa690) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QMap<QString, QVariant>::<anonymous union> (0x2aaaad1aab60) 0
-Class QMap<QString, QVariant>
- size=8 align=8
- base size=8 base align=8
-QMap<QString, QVariant> (0x2aaaad1aaa10) 0
Class QVariantComparisonHelper
size=8 align=8
base size=8 base align=8
QVariantComparisonHelper (0x2aaaad2184d0) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0x2aaaad218f50) 0 empty
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1128,10 +796,6 @@ Class QFileEngine
QFileEngine (0x2aaaad29b380) 0
vptr=((& QFileEngine::_ZTV11QFileEngine) + 16u)
-Class QFlags<QFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileEngine::FileFlag> (0x2aaaad29b770) 0
Vtable for QFileEngineHandler
QFileEngineHandler::_ZTV18QFileEngineHandler: 5u entries
@@ -1162,90 +826,54 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0x2aaaad2f5070) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0x2aaaad2f5230) 0 empty
Class QPoint
size=8 align=4
base size=8 base align=4
QPoint (0x2aaaad417540) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0x2aaaad417d20) 0 empty
Class QPointF
size=16 align=8
base size=16 base align=8
QPointF (0x2aaaad4458c0) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0x2aaaad445af0) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0x2aaaad4900e0) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0x2aaaad4902a0) 0 empty
Class QLineF
size=32 align=8
base size=32 base align=8
QLineF (0x2aaaad4adb60) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0x2aaaad4d1150) 0 empty
Class QSize
size=8 align=4
base size=8 base align=4
QSize (0x2aaaad4fc230) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0x2aaaad4fc930) 0 empty
Class QSizeF
size=16 align=8
base size=16 base align=8
QSizeF (0x2aaaad533b60) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0x2aaaad533f50) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0x2aaaad583a10) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0x2aaaad5ba7e0) 0 empty
Class QRectF
size=32 align=8
base size=32 base align=8
QRectF (0x2aaaad646380) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0x2aaaad676310) 0 empty
Class QLinkedListData
size=32 align=8
@@ -1262,10 +890,6 @@ Class QBitRef
base size=12 base align=8
QBitRef (0x2aaaad7ea4d0) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0x2aaaad8000e0) 0 empty
Class QVectorData
size=16 align=4
@@ -1287,40 +911,24 @@ Class QLocale
base size=8 base align=8
QLocale (0x2aaaad9201c0) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0x2aaaad920c40) 0 empty
Class QDate
size=4 align=4
base size=4 base align=4
QDate (0x2aaaad9cc310) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0x2aaaad9eb4d0) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0x2aaaad9eb700) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0x2aaaada11230) 0 empty
Class QDateTime
size=8 align=8
base size=8 base align=8
QDateTime (0x2aaaada11460) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0x2aaaada38000) 0 empty
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -1480,10 +1088,6 @@ QEventLoop (0x2aaaada98bd0) 0
QObject (0x2aaaada98c40) 0
primary-for QEventLoop (0x2aaaada98bd0)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0x2aaaada98e70) 0
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -1575,20 +1179,12 @@ Class QModelIndex
base size=24 base align=8
QModelIndex (0x2aaaadb310e0) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0x2aaaadb4b310) 0 empty
Class QPersistentModelIndex
size=8 align=8
base size=8 base align=8
QPersistentModelIndex (0x2aaaadb4b850) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0x2aaaadb4ba80) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -1808,10 +1404,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0x2aaaadbf80e0) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0x2aaaadbf89a0) 0 empty
Vtable for QSocketNotifier
QSocketNotifier::_ZTV15QSocketNotifier: 14u entries
@@ -1906,20 +1498,12 @@ Class QMetaMethod
base size=12 base align=8
QMetaMethod (0x2aaaadc547e0) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0x2aaaadc54bd0) 0 empty
Class QMetaEnum
size=16 align=8
base size=12 base align=8
QMetaEnum (0x2aaaadc54e00) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0x2aaaadc7e2a0) 0 empty
Class QMetaProperty
size=32 align=8
@@ -1931,10 +1515,6 @@ Class QMetaClassInfo
base size=12 base align=8
QMetaClassInfo (0x2aaaadc7e620) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0x2aaaadc7ea10) 0 empty
Vtable for QPluginLoader
QPluginLoader::_ZTV13QPluginLoader: 14u entries
@@ -2362,18 +1942,6 @@ QTcpSocket (0x2aaaade3c460) 0
QObject (0x2aaaade3c5b0) 0
primary-for QIODevice (0x2aaaade3c540)
-Class QList<QByteArray>::Node
- size=8 align=8
- base size=8 base align=8
-QList<QByteArray>::Node (0x2aaaaded5b60) 0
-Class QList<QString>::Node
- size=8 align=8
- base size=8 base align=8
-QList<QString>::Node (0x2aaaadf0dc40) 0
-Class QList<QFileInfo>::Node
- size=8 align=8
- base size=8 base align=8
-QList<QFileInfo>::Node (0x2aaaae004770) 0
diff --git a/tests/auto/bic/data/QtNetwork.4.0.0.linux-gcc-ia32.txt b/tests/auto/bic/data/QtNetwork.4.0.0.linux-gcc-ia32.txt
index cd6c35e..ee89343 100644
--- a/tests/auto/bic/data/QtNetwork.4.0.0.linux-gcc-ia32.txt
+++ b/tests/auto/bic/data/QtNetwork.4.0.0.linux-gcc-ia32.txt
@@ -59,145 +59,37 @@ Class QBool
base size=1 base align=1
QBool (0x4001ef40) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0x4001ed80) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0x40abd000) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0x40abd040) 0 empty
-Class QTypeInfo<uchar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uchar> (0x40abd080) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0x40abd0c0) 0 empty
-Class QTypeInfo<ushort>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ushort> (0x40abd100) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0x40abd140) 0 empty
-Class QTypeInfo<uint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uint> (0x40abd180) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0x40abd1c0) 0 empty
-Class QTypeInfo<ulong>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ulong> (0x40abd200) 0 empty
-Class QTypeInfo<qint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<qint64> (0x40abd240) 0 empty
-Class QTypeInfo<quint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<quint64> (0x40abd280) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0x40abd2c0) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0x40abd300) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0x40abd340) 0 empty
Class QFlag
size=4 align=4
base size=4 base align=4
QFlag (0x40abd380) 0
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0x40abd540) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0x40abd5c0) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0x40abd640) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0x40abd6c0) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0x40abd740) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0x40abd7c0) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0x40abd840) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0x40abd8c0) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0x40abd940) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0x40abd9c0) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0x40abda40) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0x40abdac0) 0
Class QInternal
size=1 align=1
@@ -215,10 +107,6 @@ Class QGenericReturnArgument
QGenericReturnArgument (0x40abdc00) 0
QGenericArgument (0x40abdc40) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0x40abde40) 0
Class QMetaObject
size=16 align=4
@@ -235,10 +123,6 @@ Class QChar
base size=2 base align=2
QChar (0x40abdf40) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0x40bd1000) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -271,10 +155,6 @@ Class QByteRef
base size=8 base align=4
QByteRef (0x40bd1700) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0x40bd1780) 0 empty
Class QString::Null
size=1 align=1
@@ -296,10 +176,6 @@ Class QLatin1String
base size=4 base align=4
QLatin1String (0x40bd19c0) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0x40bd1b00) 0
Class QCharRef
size=8 align=4
@@ -312,10 +188,6 @@ Class QConstString
QConstString (0x40bd1cc0) 0
QString (0x40bd1d00) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0x40bd1d80) 0 empty
Class QListData::Data
size=24 align=4
@@ -327,15 +199,7 @@ Class QListData
base size=4 base align=4
QListData (0x40bd1e80) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0x40e772c0) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0x40e77200) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -427,10 +291,6 @@ QIODevice (0x40e77500) 0
QObject (0x40e77540) 0
primary-for QIODevice (0x40e77500)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0x40e77680) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -455,10 +315,6 @@ Class QMapData
base size=72 base align=4
QMapData (0x40e77780) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0x40e77d40) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -483,15 +339,7 @@ Class QTextCodec
QTextCodec (0x40e77c40) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0x40e77fc0) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0x40e77f00) 0
Class QTextEncoder
size=32 align=4
@@ -503,30 +351,10 @@ Class QTextDecoder
base size=32 base align=4
QTextDecoder (0x40e773c0) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x40e77700) 0
-Class <anonymous struct>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct>::<anonymous union> (0x40e77cc0) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x40e77a80) 0
-Class <anonymous struct>
- size=12 align=4
- base size=12 base align=4
-<anonymous struct> (0x40e77d80) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0x41066000) 0
Class __gconv_trans_data
size=20 align=4
@@ -548,15 +376,7 @@ Class __gconv_info
base size=8 base align=4
__gconv_info (0x41066100) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0x41066180) 0
-Class <anonymous union>
- size=44 align=4
- base size=44 base align=4
-<anonymous union> (0x41066140) 0
Class _IO_marker
size=12 align=4
@@ -568,10 +388,6 @@ Class _IO_FILE
base size=148 base align=4
_IO_FILE (0x41066200) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0x41066240) 0
Vtable for QTextStream
QTextStream::_ZTV11QTextStream: 4u entries
@@ -586,10 +402,6 @@ Class QTextStream
QTextStream (0x41066280) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0x410663c0) 0
Class QTextStreamManipulator
size=24 align=4
@@ -680,10 +492,6 @@ QFile (0x41066b00) 0
QObject (0x41066b80) 0
primary-for QIODevice (0x41066b40)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0x41066c80) 0
Vtable for QTemporaryFile
QTemporaryFile::_ZTV14QTemporaryFile: 31u entries
@@ -736,25 +544,13 @@ Class QRegExp
base size=4 base align=4
QRegExp (0x41066e40) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0x41066ec0) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0x41066f00) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0x410665c0) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0x41066f80) 0
Class QStringList
size=4 align=4
@@ -762,15 +558,7 @@ Class QStringList
QStringList (0x41066780) 0
QList<QString> (0x41066bc0) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0x411761c0) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0x41176240) 0
Vtable for QProcess
QProcess::_ZTV8QProcess: 31u entries
@@ -864,145 +652,45 @@ Class QFileInfo
base size=4 base align=4
QFileInfo (0x411766c0) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0x41176740) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0x41176780) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0x411768c0) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0x41176800) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0x41176900) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0x411769c0) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0x41176a80) 0
Class QUrl
size=4 align=4
base size=4 base align=4
QUrl (0x41176b00) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0x41176c00) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0x41176c40) 0 empty
Class QMetaType
size=1 align=1
base size=0 base align=1
QMetaType (0x41176c80) 0 empty
-Class QMetaTypeId<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QString> (0x41176d00) 0 empty
-Class QMetaTypeId<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<int> (0x41176d40) 0 empty
-Class QMetaTypeId<uint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<uint> (0x41176d80) 0 empty
-Class QMetaTypeId<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<bool> (0x41176dc0) 0 empty
-Class QMetaTypeId<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<double> (0x41176e00) 0 empty
-Class QMetaTypeId<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QByteArray> (0x41176e40) 0 empty
-Class QMetaTypeId<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QChar> (0x41176e80) 0 empty
-Class QMetaTypeId<void>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<void> (0x41176ec0) 0 empty
-Class QMetaTypeId<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<long int> (0x41176f00) 0 empty
-Class QMetaTypeId<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<short int> (0x41176f40) 0 empty
-Class QMetaTypeId<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<char> (0x41176f80) 0 empty
-Class QMetaTypeId<ulong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<ulong> (0x41176fc0) 0 empty
-Class QMetaTypeId<ushort>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<ushort> (0x41176500) 0 empty
-Class QMetaTypeId<uchar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<uchar> (0x41176640) 0 empty
-Class QMetaTypeId<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<float> (0x412a2000) 0 empty
-Class QMetaTypeId<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QObject*> (0x412a2040) 0 empty
-Class QMetaTypeId<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QWidget*> (0x412a2080) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -1029,35 +717,15 @@ Class QVariant
base size=12 base align=4
QVariant (0x412a20c0) 0
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0x412a2680) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0x412a25c0) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0x412a2800) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0x412a2740) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0x412a2a40) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0x412a2b40) 0 empty
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1142,10 +810,6 @@ Class QFileEngineHandler
QFileEngineHandler (0x412a2e00) 0 nearly-empty
vptr=((& QFileEngineHandler::_ZTV18QFileEngineHandler) + 8u)
-Class QFlags<QFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileEngine::FileFlag> (0x412a2f00) 0
Class QHashData::Node
size=8 align=4
@@ -1162,90 +826,54 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0x412a2200) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0x412a2280) 0 empty
Class QPoint
size=8 align=4
base size=8 base align=4
QPoint (0x413ad340) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0x413ad780) 0 empty
Class QPointF
size=16 align=4
base size=16 base align=4
QPointF (0x413ad840) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0x413adc80) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0x413add80) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0x413addc0) 0 empty
Class QLineF
size=32 align=4
base size=32 base align=4
QLineF (0x413adec0) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0x413adf40) 0 empty
Class QSize
size=8 align=4
base size=8 base align=4
QSize (0x413ad380) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0x413ad880) 0 empty
Class QSizeF
size=16 align=4
base size=16 base align=4
QSizeF (0x413adb00) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0x414e2280) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0x414e2480) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0x414e2680) 0 empty
Class QRectF
size=32 align=4
base size=32 base align=4
QRectF (0x414e2780) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0x414e2900) 0 empty
Class QLinkedListData
size=20 align=4
@@ -1262,10 +890,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0x414e2f40) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0x414e2fc0) 0 empty
Class QVectorData
size=16 align=4
@@ -1287,40 +911,24 @@ Class QLocale
base size=4 base align=4
QLocale (0x416e3100) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0x416e3140) 0 empty
Class QDate
size=4 align=4
base size=4 base align=4
QDate (0x416e32c0) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0x416e3440) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0x416e3480) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0x416e3600) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0x416e3640) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0x416e3780) 0 empty
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -1480,10 +1088,6 @@ QEventLoop (0x416e3f00) 0
QObject (0x416e3f40) 0
primary-for QEventLoop (0x416e3f00)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0x416e3380) 0
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -1575,20 +1179,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0x417fa100) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0x417fa200) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0x417fa280) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0x417fa340) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -1808,10 +1404,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0x417fa900) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0x417fa9c0) 0 empty
Vtable for QSocketNotifier
QSocketNotifier::_ZTV15QSocketNotifier: 14u entries
@@ -1906,20 +1498,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0x417fad00) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0x417fad80) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0x417fadc0) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0x417fae40) 0 empty
Class QMetaProperty
size=20 align=4
@@ -1931,10 +1515,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0x417faec0) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0x417faf40) 0 empty
Vtable for QPluginLoader
QPluginLoader::_ZTV13QPluginLoader: 14u entries
@@ -2362,18 +1942,6 @@ QTcpSocket (0x418f6f40) 0
QObject (0x418f6100) 0
primary-for QIODevice (0x418f6fc0)
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0x419f72c0) 0
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0x419f7980) 0
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0x41a7ab80) 0
diff --git a/tests/auto/bic/data/QtNetwork.4.0.0.linux-gcc-ppc32.txt b/tests/auto/bic/data/QtNetwork.4.0.0.linux-gcc-ppc32.txt
index f08e983..f8bb41e 100644
--- a/tests/auto/bic/data/QtNetwork.4.0.0.linux-gcc-ppc32.txt
+++ b/tests/auto/bic/data/QtNetwork.4.0.0.linux-gcc-ppc32.txt
@@ -59,145 +59,37 @@ Class QBool
base size=1 base align=1
QBool (0x30ac3188) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0x30ac3428) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0x30ac34d0) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0x30ac3578) 0 empty
-Class QTypeInfo<uchar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uchar> (0x30ac3620) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0x30ac36c8) 0 empty
-Class QTypeInfo<ushort>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ushort> (0x30ac3770) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0x30ac3818) 0 empty
-Class QTypeInfo<uint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uint> (0x30ac38c0) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0x30ac3968) 0 empty
-Class QTypeInfo<ulong>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ulong> (0x30ac3a10) 0 empty
-Class QTypeInfo<qint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<qint64> (0x30ac3ab8) 0 empty
-Class QTypeInfo<quint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<quint64> (0x30ac3b60) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0x30ac3c08) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0x30ac3cb0) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0x30ac3d58) 0 empty
Class QFlag
size=4 align=4
base size=4 base align=4
QFlag (0x30ac3dc8) 0
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0x30b0c2d8) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0x30b0c348) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0x30b0c3b8) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0x30b0c428) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0x30b0c498) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0x30b0c508) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0x30b0c578) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0x30b0c5e8) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0x30b0c658) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0x30b0c6c8) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0x30b0c738) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0x30b0c7a8) 0
Class QInternal
size=1 align=1
@@ -215,10 +107,6 @@ Class QGenericReturnArgument
QGenericReturnArgument (0x30187980) 0
QGenericArgument (0x30b0c8c0) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0x30b0ca80) 0
Class QMetaObject
size=16 align=4
@@ -235,10 +123,6 @@ Class QChar
base size=2 base align=2
QChar (0x30b0cb60) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0x30b0cc08) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -271,10 +155,6 @@ Class QByteRef
base size=8 base align=4
QByteRef (0x30c1a7a8) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0x30c1aaf0) 0 empty
Class QString::Null
size=1 align=1
@@ -296,20 +176,12 @@ Class QLatin1String
base size=4 base align=4
QLatin1String (0x30c1ad58) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0x30d4f0a8) 0
Class QCharRef
size=8 align=4
base size=8 base align=4
QCharRef (0x30d4f0e0) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0x30d4fa10) 0 empty
Class QListData::Data
size=24 align=4
@@ -321,15 +193,7 @@ Class QListData
base size=4 base align=4
QListData (0x30d4fc08) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0x30e98118) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0x30e98070) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -421,10 +285,6 @@ QIODevice (0x30187b80) 0
QObject (0x30e985b0) 0
primary-for QIODevice (0x30187b80)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0x30e98770) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -449,30 +309,10 @@ Class QMapData
base size=72 base align=4
QMapData (0x30e98b98) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x30e98e70) 0
-Class <anonymous struct>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct>::<anonymous union> (0x30fa60a8) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x30fa6038) 0
-Class <anonymous struct>
- size=12 align=4
- base size=12 base align=4
-<anonymous struct> (0x30fa6118) 0
-Class <anonymous struct>
- size=16 align=8
- base size=16 base align=8
-<anonymous struct> (0x30fa6188) 0
Class __gconv_trans_data
size=20 align=4
@@ -494,15 +334,7 @@ Class __gconv_info
base size=8 base align=4
__gconv_info (0x30fa62d8) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0x30fa63b8) 0
-Class <anonymous union>
- size=44 align=4
- base size=44 base align=4
-<anonymous union> (0x30fa6348) 0
Class _IO_marker
size=12 align=4
@@ -514,10 +346,6 @@ Class _IO_FILE
base size=152 base align=8
_IO_FILE (0x30fa6428) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0x30fa6498) 0
Vtable for QTextStream
QTextStream::_ZTV11QTextStream: 4u entries
@@ -532,10 +360,6 @@ Class QTextStream
QTextStream (0x30fa64d0) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0x30fa6690) 0
Class QTextStreamManipulator
size=24 align=4
@@ -596,10 +420,6 @@ QFile (0x30187d00) 0
QObject (0x30fa6c08) 0
primary-for QIODevice (0x30187d40)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0x30fa6d90) 0
Vtable for QTemporaryFile
QTemporaryFile::_ZTV14QTemporaryFile: 31u entries
@@ -652,25 +472,13 @@ Class QRegExp
base size=4 base align=4
QRegExp (0x30fa6ee0) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0x30fa6f50) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0x30fa6fc0) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0x3106c0e0) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0x3106c038) 0
Class QStringList
size=4 align=4
@@ -770,130 +578,42 @@ Class QFileInfo
base size=4 base align=4
QFileInfo (0x3106c8c0) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0x3106c930) 0 empty
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0x3106c9d8) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0x3106caf0) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0x3106cb60) 0
Class QUrl
size=4 align=4
base size=4 base align=4
QUrl (0x3106cc08) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0x3106cd20) 0 empty
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0x3106cdc8) 0
Class QMetaType
size=1 align=1
base size=0 base align=1
QMetaType (0x3106ce00) 0 empty
-Class QMetaTypeId<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QString> (0x3106cee0) 0 empty
-Class QMetaTypeId<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<int> (0x3106cf50) 0 empty
-Class QMetaTypeId<uint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<uint> (0x3106cfc0) 0 empty
-Class QMetaTypeId<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<bool> (0x3106c850) 0 empty
-Class QMetaTypeId<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<double> (0x3112e038) 0 empty
-Class QMetaTypeId<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QByteArray> (0x3112e0a8) 0 empty
-Class QMetaTypeId<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QChar> (0x3112e118) 0 empty
-Class QMetaTypeId<void>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<void> (0x3112e188) 0 empty
-Class QMetaTypeId<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<long int> (0x3112e1f8) 0 empty
-Class QMetaTypeId<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<short int> (0x3112e268) 0 empty
-Class QMetaTypeId<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<char> (0x3112e2d8) 0 empty
-Class QMetaTypeId<ulong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<ulong> (0x3112e348) 0 empty
-Class QMetaTypeId<ushort>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<ushort> (0x3112e3b8) 0 empty
-Class QMetaTypeId<uchar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<uchar> (0x3112e428) 0 empty
-Class QMetaTypeId<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<float> (0x3112e498) 0 empty
-Class QMetaTypeId<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QObject*> (0x3112e508) 0 empty
-Class QMetaTypeId<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QWidget*> (0x3112e578) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -920,35 +640,15 @@ Class QVariant
base size=16 base align=8
QVariant (0x3112e5b0) 0
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0x3112eb28) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0x3112ea80) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0x3112ece8) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0x3112ec40) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0x3112eea8) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0x3112efc0) 0 empty
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1033,10 +733,6 @@ Class QFileEngineHandler
QFileEngineHandler (0x311d4188) 0 nearly-empty
vptr=((& QFileEngineHandler::_ZTV18QFileEngineHandler) + 8u)
-Class QFlags<QFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileEngine::FileFlag> (0x311d4310) 0
Class QHashData::Node
size=8 align=4
@@ -1053,90 +749,54 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0x311d4508) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0x311d4578) 0 empty
Class QPoint
size=8 align=4
base size=8 base align=4
QPoint (0x311d4c40) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0x311d4268) 0 empty
Class QPointF
size=16 align=8
base size=16 base align=8
QPointF (0x311d4e38) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0x312ba268) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0x312ba428) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0x312ba498) 0 empty
Class QLineF
size=32 align=8
base size=32 base align=8
QLineF (0x312ba5e8) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0x312ba690) 0 empty
Class QSize
size=8 align=4
base size=8 base align=4
QSize (0x312ba818) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0x312bab98) 0 empty
Class QSizeF
size=16 align=8
base size=16 base align=8
QSizeF (0x312bae00) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0x312ba1c0) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0x3135c070) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0x3135c268) 0 empty
Class QRectF
size=32 align=8
base size=32 base align=8
QRectF (0x3135c498) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0x3135c620) 0 empty
Class QLinkedListData
size=20 align=4
@@ -1153,10 +813,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0x3135c188) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0x3149f038) 0 empty
Class QVectorData
size=16 align=4
@@ -1178,40 +834,24 @@ Class QLocale
base size=4 base align=4
QLocale (0x3149f5e8) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0x3149f658) 0 empty
Class QDate
size=4 align=4
base size=4 base align=4
QDate (0x3149f850) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0x3149fa10) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0x3149fa80) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0x3149fc08) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0x3149fc78) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0x3149fdc8) 0 empty
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -1286,10 +926,6 @@ QTextCodecPlugin (0x311a3280) 0
QFactoryInterface (0x315e3118) 8 nearly-empty
primary-for QTextCodecFactoryInterface (0x311a32c0)
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0x315e3540) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -1409,10 +1045,6 @@ QEventLoop (0x311a33c0) 0
QObject (0x315e3a80) 0
primary-for QEventLoop (0x311a33c0)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0x315e3c08) 0
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -1489,20 +1121,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0x31667070) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0x316671f8) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0x316672a0) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0x316673b8) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -1722,10 +1346,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0x31667a80) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0x31667b60) 0 empty
Vtable for QSocketNotifier
QSocketNotifier::_ZTV15QSocketNotifier: 14u entries
@@ -1820,20 +1440,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0x31667f88) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0x31667540) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0x316677a8) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0x31667c78) 0 empty
Class QMetaProperty
size=20 align=4
@@ -1845,10 +1457,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0x31709000) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0x317090a8) 0 empty
Vtable for QPluginLoader
QPluginLoader::_ZTV13QPluginLoader: 14u entries
@@ -2276,8 +1884,4 @@ QTcpSocket (0x311a3b00) 0
QObject (0x317c6348) 0
primary-for QIODevice (0x311a3b80)
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0x31892150) 0
diff --git a/tests/auto/bic/data/QtNetwork.4.0.0.macx-gcc-ppc32.txt b/tests/auto/bic/data/QtNetwork.4.0.0.macx-gcc-ppc32.txt
index 4556f1d..949efd0 100644
--- a/tests/auto/bic/data/QtNetwork.4.0.0.macx-gcc-ppc32.txt
+++ b/tests/auto/bic/data/QtNetwork.4.0.0.macx-gcc-ppc32.txt
@@ -59,75 +59,19 @@ Class QBool
base size=4 base align=4
QBool (0x7c2480) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0x7c27c0) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0x7c2880) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0x7c2940) 0 empty
-Class QTypeInfo<uchar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uchar> (0x7c2a00) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0x7c2ac0) 0 empty
-Class QTypeInfo<ushort>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ushort> (0x7c2b80) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0x7c2c40) 0 empty
-Class QTypeInfo<uint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uint> (0x7c2d00) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0x7c2dc0) 0 empty
-Class QTypeInfo<ulong>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ulong> (0x7c2e80) 0 empty
-Class QTypeInfo<qint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<qint64> (0x7c2f40) 0 empty
-Class QTypeInfo<quint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<quint64> (0x7c2140) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0x807080) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0x807140) 0 empty
Class QFlag
size=4 align=4
@@ -144,10 +88,6 @@ Class QChar
base size=2 base align=2
QChar (0x807440) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0x807540) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -160,10 +100,6 @@ Class QAtomic
QAtomic (0x807900) 0
QBasicAtomic (0x807940) 0
-Class <anonymous union>
- size=128 align=8
- base size=128 base align=8
-<anonymous union> (0x807bc0) 0
Class __darwin_pthread_handler_rec
size=12 align=4
@@ -245,70 +181,18 @@ Class QByteRef
base size=8 base align=4
QByteRef (0xec9840) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0xec9c00) 0 empty
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0xff60c0) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0xff6140) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0xff61c0) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0xff6240) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0xff62c0) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0xff6340) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0xff63c0) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0xff6440) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0xff64c0) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0xff6540) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0xff65c0) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0xff6640) 0
Class QInternal
size=1 align=1
@@ -335,10 +219,6 @@ Class QLatin1String
base size=4 base align=4
QLatin1String (0xff6d80) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0x11811c0) 0
Class QCharRef
size=8 align=4
@@ -351,10 +231,6 @@ Class QConstString
QConstString (0x1181dc0) 0
QString (0x1181e00) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0x1181f00) 0 empty
Class QListData::Data
size=24 align=4
@@ -366,10 +242,6 @@ Class QListData
base size=4 base align=4
QListData (0x12a1140) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0x12a1740) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -394,15 +266,7 @@ Class QTextCodec
QTextCodec (0x12a15c0) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0x12a1a80) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0x12a19c0) 0
Class QTextEncoder
size=32 align=4
@@ -425,25 +289,13 @@ Class QGenericReturnArgument
QGenericReturnArgument (0x12a1cc0) 0
QGenericArgument (0x12a1d00) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0x12a1fc0) 0
Class QMetaObject
size=16 align=4
base size=16 base align=4
QMetaObject (0x12a1f40) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0x1405180) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0x14050c0) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -535,10 +387,6 @@ QIODevice (0x14057c0) 0
QObject (0x1405800) 0
primary-for QIODevice (0x14057c0)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0x1405a40) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -558,25 +406,13 @@ Class QRegExp
base size=4 base align=4
QRegExp (0x14f1000) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0x14f1200) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0x14f1280) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0x14f1480) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0x14f13c0) 0
Class QStringList
size=4 align=4
@@ -584,15 +420,7 @@ Class QStringList
QStringList (0x14f1540) 0
QList<QString> (0x14f1580) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0x14f1a40) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0x14f1ac0) 0
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -748,10 +576,6 @@ Class QTextStream
QTextStream (0x1680300) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0x16805c0) 0
Class QTextStreamManipulator
size=24 align=4
@@ -842,50 +666,22 @@ QFile (0x1713180) 0
QObject (0x1713200) 0
primary-for QIODevice (0x17131c0)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0x17133c0) 0
Class QFileInfo
size=4 align=4
base size=4 base align=4
QFileInfo (0x1713400) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0x17134c0) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0x1713540) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0x1713700) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0x1713640) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0x17137c0) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0x1713900) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0x17139c0) 0
Vtable for QFileEngine
QFileEngine::_ZTV11QFileEngine: 35u entries
@@ -945,10 +741,6 @@ Class QFileEngineHandler
QFileEngineHandler (0x1713c00) 0 nearly-empty
vptr=((& QFileEngineHandler::_ZTV18QFileEngineHandler) + 8u)
-Class QFlags<QFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileEngine::FileFlag> (0x1713dc0) 0
Vtable for QProcess
QProcess::_ZTV8QProcess: 31u entries
@@ -999,90 +791,22 @@ Class QMetaType
base size=0 base align=1
QMetaType (0x1713fc0) 0 empty
-Class QMetaTypeId<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QString> (0x1713f40) 0 empty
-Class QMetaTypeId<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<int> (0x187b040) 0 empty
-Class QMetaTypeId<uint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<uint> (0x187b0c0) 0 empty
-Class QMetaTypeId<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<bool> (0x187b140) 0 empty
-Class QMetaTypeId<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<double> (0x187b1c0) 0 empty
-Class QMetaTypeId<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QByteArray> (0x187b240) 0 empty
-Class QMetaTypeId<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QChar> (0x187b2c0) 0 empty
-Class QMetaTypeId<void>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<void> (0x187b340) 0 empty
-Class QMetaTypeId<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<long int> (0x187b3c0) 0 empty
-Class QMetaTypeId<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<short int> (0x187b440) 0 empty
-Class QMetaTypeId<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<char> (0x187b4c0) 0 empty
-Class QMetaTypeId<ulong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<ulong> (0x187b540) 0 empty
-Class QMetaTypeId<ushort>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<ushort> (0x187b5c0) 0 empty
-Class QMetaTypeId<uchar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<uchar> (0x187b640) 0 empty
-Class QMetaTypeId<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<float> (0x187b6c0) 0 empty
-Class QMetaTypeId<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QObject*> (0x187b740) 0 empty
-Class QMetaTypeId<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QWidget*> (0x187b7c0) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -1109,50 +833,18 @@ Class QVariant
base size=16 base align=4
QVariant (0x187b800) 0
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0x187be80) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0x187bdc0) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0x187bac0) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0x187bfc0) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0x191a1c0) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0x191a300) 0 empty
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0x191a3c0) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x191a440) 0
-Class <anonymous struct>
- size=3156 align=4
- base size=3156 base align=4
-<anonymous struct> (0x191a4c0) 0
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1230,15 +922,7 @@ Class QUrl
base size=4 base align=4
QUrl (0x191ad80) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0x191af80) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0x191a080) 0 empty
Vtable for QEventLoop
QEventLoop::_ZTV10QEventLoop: 14u entries
@@ -1265,10 +949,6 @@ QEventLoop (0x191a900) 0
QObject (0x191ac80) 0
primary-for QEventLoop (0x191a900)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0x1a201c0) 0
Vtable for QAbstractEventDispatcher
QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 27u entries
@@ -1313,20 +993,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0x1a20400) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0x1a205c0) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0x1a20680) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0x1a207c0) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -1496,10 +1168,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0x1a20e80) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0x1a20f80) 0 empty
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -1591,20 +1259,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0x1ae6900) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0x1ae69c0) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0x1ae6a40) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0x1ae6b00) 0 empty
Class QMetaProperty
size=20 align=4
@@ -1616,10 +1276,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0x1ae6bc0) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0x1ae6c80) 0 empty
Vtable for QMimeData
QMimeData::_ZTV9QMimeData: 17u entries
@@ -1907,10 +1563,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0x1c33480) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0x1c335c0) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -1932,80 +1584,48 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0x1c33800) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0x1c33880) 0 empty
Class QDate
size=4 align=4
base size=4 base align=4
QDate (0x1d32040) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0x1d32240) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0x1d322c0) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0x1d32480) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0x1d32500) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0x1d32680) 0 empty
Class QPoint
size=8 align=4
base size=8 base align=4
QPoint (0x1d32700) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0x1d32b80) 0 empty
Class QPointF
size=16 align=8
base size=16 base align=4
QPointF (0x1d32d40) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0x1d32540) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0x1d32a40) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0x1d32d80) 0 empty
Class QLineF
size=32 align=8
base size=32 base align=4
QLineF (0x1e13040) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0x1e13100) 0 empty
Class QLinkedListData
size=20 align=4
@@ -2017,50 +1637,30 @@ Class QLocale
base size=4 base align=4
QLocale (0x1e136c0) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0x1e13740) 0 empty
Class QSize
size=8 align=4
base size=8 base align=4
QSize (0x1e13880) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0x1e13c80) 0 empty
Class QSizeF
size=16 align=8
base size=16 base align=4
QSizeF (0x1e13f40) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0x1e13bc0) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0x1f47300) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0x1f474c0) 0 empty
Class QRectF
size=32 align=8
base size=32 base align=4
QRectF (0x1f47740) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0x1f47900) 0 empty
Class QSharedData
size=4 align=4
@@ -2377,18 +1977,6 @@ QUdpSocket (0x22272c0) 0
QObject (0x2227380) 0
primary-for QIODevice (0x2227340)
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0x2298580) 0
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0x22bb400) 0
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0x2370540) 0
diff --git a/tests/auto/bic/data/QtNetwork.4.1.0.linux-gcc-ia32.txt b/tests/auto/bic/data/QtNetwork.4.1.0.linux-gcc-ia32.txt
index dea6c49..b4ba11b 100644
--- a/tests/auto/bic/data/QtNetwork.4.1.0.linux-gcc-ia32.txt
+++ b/tests/auto/bic/data/QtNetwork.4.1.0.linux-gcc-ia32.txt
@@ -18,145 +18,37 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0x4001ee80) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0x4001ef40) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0x4001ef80) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0x4001efc0) 0 empty
-Class QTypeInfo<uchar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uchar> (0x40ac6000) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0x40ac6040) 0 empty
-Class QTypeInfo<ushort>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ushort> (0x40ac6080) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0x40ac60c0) 0 empty
-Class QTypeInfo<uint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uint> (0x40ac6100) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0x40ac6140) 0 empty
-Class QTypeInfo<ulong>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ulong> (0x40ac6180) 0 empty
-Class QTypeInfo<qint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<qint64> (0x40ac61c0) 0 empty
-Class QTypeInfo<quint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<quint64> (0x40ac6200) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0x40ac6240) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0x40ac6280) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0x40ac62c0) 0 empty
Class QFlag
size=4 align=4
base size=4 base align=4
QFlag (0x40ac6300) 0
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0x40ac64c0) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0x40ac6540) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0x40ac65c0) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0x40ac6640) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0x40ac66c0) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0x40ac6740) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0x40ac67c0) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0x40ac6840) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0x40ac68c0) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0x40ac6940) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0x40ac69c0) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0x40ac6a40) 0
Class QInternal
size=1 align=1
@@ -174,10 +66,6 @@ Class QGenericReturnArgument
QGenericReturnArgument (0x40ac6b80) 0
QGenericArgument (0x40ac6bc0) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0x40ac6dc0) 0
Class QMetaObject
size=16 align=4
@@ -194,10 +82,6 @@ Class QChar
base size=2 base align=2
QChar (0x40ac6ec0) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0x40ac6f80) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -230,10 +114,6 @@ Class QByteRef
base size=8 base align=4
QByteRef (0x40bde680) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0x40bde700) 0 empty
Class QString::Null
size=1 align=1
@@ -255,10 +135,6 @@ Class QLatin1String
base size=4 base align=4
QLatin1String (0x40bde940) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0x40bdea80) 0
Class QCharRef
size=8 align=4
@@ -271,10 +147,6 @@ Class QConstString
QConstString (0x40bdec40) 0
QString (0x40bdec80) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0x40bded00) 0 empty
Vtable for std::exception
std::exception::_ZTVSt9exception: 5u entries
@@ -337,15 +209,7 @@ Class QListData
base size=4 base align=4
QListData (0x40e6e180) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0x40e6e5c0) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0x40e6e500) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -437,10 +301,6 @@ QIODevice (0x40e6e800) 0
QObject (0x40e6e840) 0
primary-for QIODevice (0x40e6e800)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0x40e6e980) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -470,10 +330,6 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0x40e6eb40) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0x40e6eb80) 0 empty
Class QMapData::Node
size=8 align=4
@@ -485,10 +341,6 @@ Class QMapData
base size=72 base align=4
QMapData (0x41030100) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0x41030700) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -513,15 +365,7 @@ Class QTextCodec
QTextCodec (0x41030600) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0x41030980) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0x410308c0) 0
Class QTextEncoder
size=32 align=4
@@ -533,30 +377,10 @@ Class QTextDecoder
base size=32 base align=4
QTextDecoder (0x41030a40) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x41030ac0) 0
-Class <anonymous struct>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct>::<anonymous union> (0x41030b40) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x41030b00) 0
-Class <anonymous struct>
- size=12 align=4
- base size=12 base align=4
-<anonymous struct> (0x41030b80) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0x41030bc0) 0
Class __gconv_trans_data
size=20 align=4
@@ -578,15 +402,7 @@ Class __gconv_info
base size=8 base align=4
__gconv_info (0x41030cc0) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0x41030d40) 0
-Class <anonymous union>
- size=44 align=4
- base size=44 base align=4
-<anonymous union> (0x41030d00) 0
Class _IO_marker
size=12 align=4
@@ -598,10 +414,6 @@ Class _IO_FILE
base size=148 base align=4
_IO_FILE (0x41030dc0) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0x41030e00) 0
Vtable for QTextStream
QTextStream::_ZTV11QTextStream: 4u entries
@@ -616,10 +428,6 @@ Class QTextStream
QTextStream (0x41030e40) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0x41030f80) 0
Class QTextStreamManipulator
size=24 align=4
@@ -656,40 +464,16 @@ QTextOStream (0x4118b1c0) 0
QTextStream (0x4118b200) 0
primary-for QTextOStream (0x4118b1c0)
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0x4118b3c0) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0x4118b400) 0
Class wait
size=4 align=4
base size=4 base align=4
wait (0x4118b380) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x4118b440) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x4118b480) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0x4118b4c0) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0x4118b500) 0
Class timespec
size=8 align=4
@@ -701,10 +485,6 @@ Class timeval
base size=8 base align=4
timeval (0x4118b580) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0x4118b5c0) 0
Class __sched_param
size=4 align=4
@@ -721,45 +501,17 @@ Class __pthread_attr_s
base size=36 base align=4
__pthread_attr_s (0x4118b680) 0
-Class <anonymous struct>
- size=48 align=4
- base size=48 base align=4
-<anonymous struct> (0x4118b6c0) 0
-Class <anonymous struct>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct> (0x4118b700) 0
-Class <anonymous struct>
- size=24 align=4
- base size=24 base align=4
-<anonymous struct> (0x4118b740) 0
-Class <anonymous struct>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct> (0x4118b780) 0
Class _pthread_rwlock_t
size=32 align=4
base size=32 base align=4
_pthread_rwlock_t (0x4118b7c0) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x4118b800) 0
-Class <anonymous struct>
- size=20 align=4
- base size=20 base align=4
-<anonymous struct> (0x4118b840) 0
-Class <anonymous struct>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct> (0x4118b880) 0
Class random_data
size=28 align=4
@@ -830,10 +582,6 @@ QFile (0x4118bdc0) 0
QObject (0x4118be40) 0
primary-for QIODevice (0x4118be00)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0x4118bf40) 0
Vtable for QTemporaryFile
QTemporaryFile::_ZTV14QTemporaryFile: 31u entries
@@ -886,50 +634,22 @@ Class QFileInfo
base size=4 base align=4
QFileInfo (0x4118be80) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0x412c9040) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0x412c9080) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0x412c91c0) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0x412c9100) 0
Class QRegExp
size=4 align=4
base size=4 base align=4
QRegExp (0x412c9200) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0x412c9280) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0x412c92c0) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0x412c9400) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0x412c9340) 0
Class QStringList
size=4 align=4
@@ -937,30 +657,14 @@ Class QStringList
QStringList (0x412c9440) 0
QList<QString> (0x412c9480) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0x412c96c0) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0x412c9740) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0x412c9940) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0x412c9a00) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0x412c9a80) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -1017,10 +721,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0x412c9ac0) 0
vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0x412c9c80) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -1175,110 +875,30 @@ Class QUrl
base size=4 base align=4
QUrl (0x413da000) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0x413da0c0) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0x413da100) 0 empty
Class QMetaType
size=1 align=1
base size=0 base align=1
QMetaType (0x413da140) 0 empty
-Class QMetaTypeId<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QString> (0x413da1c0) 0 empty
-Class QMetaTypeId<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<int> (0x413da200) 0 empty
-Class QMetaTypeId<uint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<uint> (0x413da240) 0 empty
-Class QMetaTypeId<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<bool> (0x413da280) 0 empty
-Class QMetaTypeId<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<double> (0x413da2c0) 0 empty
-Class QMetaTypeId<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QByteArray> (0x413da300) 0 empty
-Class QMetaTypeId<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QChar> (0x413da340) 0 empty
-Class QMetaTypeId<void>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<void> (0x413da380) 0 empty
-Class QMetaTypeId<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<long int> (0x413da3c0) 0 empty
-Class QMetaTypeId<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<short int> (0x413da400) 0 empty
-Class QMetaTypeId<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<char> (0x413da440) 0 empty
-Class QMetaTypeId<ulong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<ulong> (0x413da480) 0 empty
-Class QMetaTypeId<ushort>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<ushort> (0x413da4c0) 0 empty
-Class QMetaTypeId<uchar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<uchar> (0x413da500) 0 empty
-Class QMetaTypeId<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<float> (0x413da540) 0 empty
-Class QMetaTypeId<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QObject*> (0x413da580) 0 empty
-Class QMetaTypeId<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QWidget*> (0x413da5c0) 0 empty
-Class QMetaTypeId<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<void*> (0x413da600) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -1305,35 +925,15 @@ Class QVariant
base size=12 base align=4
QVariant (0x413da640) 0
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0x413dac00) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0x413dab40) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0x413dad80) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0x413dacc0) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0x413dafc0) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0x413da900) 0 empty
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1365,80 +965,48 @@ Class QPoint
base size=8 base align=4
QPoint (0x414e3180) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0x414e35c0) 0 empty
Class QPointF
size=16 align=4
base size=16 base align=4
QPointF (0x414e3680) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0x414e3ac0) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0x414e3bc0) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0x414e3c00) 0 empty
Class QLineF
size=32 align=4
base size=32 base align=4
QLineF (0x414e3d00) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0x414e3d80) 0 empty
Class QSize
size=8 align=4
base size=8 base align=4
QSize (0x414e3e80) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0x414e3340) 0 empty
Class QSizeF
size=16 align=4
base size=16 base align=4
QSizeF (0x414e36c0) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0x414e3ec0) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0x415cf140) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0x415cf340) 0 empty
Class QRectF
size=32 align=4
base size=32 base align=4
QRectF (0x415cf440) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0x415cf5c0) 0 empty
Class QLinkedListData
size=20 align=4
@@ -1455,10 +1023,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0x415cfc00) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0x415cfc80) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -1475,40 +1039,24 @@ Class QLocale
base size=4 base align=4
QLocale (0x415cfec0) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0x415cff00) 0 empty
Class QDate
size=4 align=4
base size=4 base align=4
QDate (0x415cf280) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0x417e1000) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0x417e1040) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0x417e11c0) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0x417e1200) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0x417e1340) 0 empty
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -1668,10 +1216,6 @@ QEventLoop (0x417e1ac0) 0
QObject (0x417e1b00) 0
primary-for QEventLoop (0x417e1ac0)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0x417e1c40) 0
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -1763,20 +1307,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0x417e1740) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0x417e1b80) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0x417e1cc0) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0x417e1ec0) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -1996,10 +1532,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0x418d8580) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0x418d8640) 0 empty
Vtable for QSocketNotifier
QSocketNotifier::_ZTV15QSocketNotifier: 14u entries
@@ -2094,20 +1626,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0x418d8980) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0x418d8a00) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0x418d8a40) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0x418d8ac0) 0 empty
Class QMetaProperty
size=20 align=4
@@ -2119,10 +1643,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0x418d8b40) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0x418d8bc0) 0 empty
Vtable for QPluginLoader
QPluginLoader::_ZTV13QPluginLoader: 14u entries
@@ -2555,23 +2075,7 @@ QTcpSocket (0x419c1c40) 0
QObject (0x419c1d00) 0
primary-for QIODevice (0x419c1cc0)
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0x41ab8180) 0
-Class QTypeInfo<QDebug::Stream*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDebug::Stream*> (0x41ab8500) 0 empty
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0x41ab8bc0) 0
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0x41b32b00) 0
diff --git a/tests/auto/bic/data/QtNetwork.4.1.0.linux-gcc-ppc32.txt b/tests/auto/bic/data/QtNetwork.4.1.0.linux-gcc-ppc32.txt
index 5b1bbdc..3253146 100644
--- a/tests/auto/bic/data/QtNetwork.4.1.0.linux-gcc-ppc32.txt
+++ b/tests/auto/bic/data/QtNetwork.4.1.0.linux-gcc-ppc32.txt
@@ -18,145 +18,37 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0x306c4818) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0x306c4a10) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0x306c4ab8) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0x306c4b60) 0 empty
-Class QTypeInfo<uchar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uchar> (0x306c4c08) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0x306c4cb0) 0 empty
-Class QTypeInfo<ushort>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ushort> (0x306c4d58) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0x306c4e00) 0 empty
-Class QTypeInfo<uint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uint> (0x306c4ea8) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0x306c4f50) 0 empty
-Class QTypeInfo<ulong>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ulong> (0x306f2000) 0 empty
-Class QTypeInfo<qint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<qint64> (0x306f20a8) 0 empty
-Class QTypeInfo<quint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<quint64> (0x306f2150) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0x306f21f8) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0x306f22a0) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0x306f2348) 0 empty
Class QFlag
size=4 align=4
base size=4 base align=4
QFlag (0x306f23b8) 0
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0x306f28c0) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0x306f2930) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0x306f29a0) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0x306f2a10) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0x306f2a80) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0x306f2af0) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0x306f2b60) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0x306f2bd0) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0x306f2c40) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0x306f2cb0) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0x306f2d20) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0x306f2d90) 0
Class QInternal
size=1 align=1
@@ -174,10 +66,6 @@ Class QGenericReturnArgument
QGenericReturnArgument (0x30187ac0) 0
QGenericArgument (0x306f2ea8) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0x30bcc070) 0
Class QMetaObject
size=16 align=4
@@ -194,10 +82,6 @@ Class QChar
base size=2 base align=2
QChar (0x30bcc150) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0x30bcc1f8) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -230,10 +114,6 @@ Class QByteRef
base size=8 base align=4
QByteRef (0x30bccee0) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0x30cb6230) 0 empty
Class QString::Null
size=1 align=1
@@ -255,10 +135,6 @@ Class QLatin1String
base size=4 base align=4
QLatin1String (0x30cb67e0) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0x30cb6b28) 0
Class QCharRef
size=8 align=4
@@ -271,10 +147,6 @@ Class QConstString
QConstString (0x30187d00) 0
QString (0x30e5b5b0) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0x30e5b690) 0 empty
Vtable for std::exception
std::exception::_ZTVSt9exception: 5u entries
@@ -337,15 +209,7 @@ Class QListData
base size=4 base align=4
QListData (0x30e5bdc8) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0x30f2a230) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0x30f2a188) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -437,10 +301,6 @@ QIODevice (0x30187dc0) 0
QObject (0x30f2a700) 0
primary-for QIODevice (0x30187dc0)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0x30f2a8f8) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -470,10 +330,6 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0x30f2a4d0) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0x30f2ac08) 0 empty
Class QMapData::Node
size=8 align=4
@@ -485,10 +341,6 @@ Class QMapData
base size=72 base align=4
QMapData (0x30ff27a8) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0x30ff2e70) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -513,15 +365,7 @@ Class QTextCodec
QTextCodec (0x30ff2d20) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0x31133070) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0x30ff2f50) 0
Class QTextEncoder
size=32 align=4
@@ -533,30 +377,10 @@ Class QTextDecoder
base size=32 base align=4
QTextDecoder (0x31133188) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x31133230) 0
-Class <anonymous struct>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct>::<anonymous union> (0x31133310) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x311332a0) 0
-Class <anonymous struct>
- size=12 align=4
- base size=12 base align=4
-<anonymous struct> (0x31133380) 0
-Class <anonymous struct>
- size=16 align=8
- base size=16 base align=8
-<anonymous struct> (0x311333f0) 0
Class __gconv_trans_data
size=20 align=4
@@ -578,15 +402,7 @@ Class __gconv_info
base size=8 base align=4
__gconv_info (0x31133540) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0x31133620) 0
-Class <anonymous union>
- size=44 align=4
- base size=44 base align=4
-<anonymous union> (0x311335b0) 0
Class _IO_marker
size=12 align=4
@@ -598,10 +414,6 @@ Class _IO_FILE
base size=152 base align=8
_IO_FILE (0x31133690) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0x31133700) 0
Vtable for QTextStream
QTextStream::_ZTV11QTextStream: 4u entries
@@ -616,10 +428,6 @@ Class QTextStream
QTextStream (0x31133738) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0x31133968) 0
Class QTextStreamManipulator
size=24 align=4
@@ -656,40 +464,16 @@ QTextOStream (0x30187fc0) 0
QTextStream (0x31133ee0) 0
primary-for QTextOStream (0x30187fc0)
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0x311d5118) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0x311d5188) 0
Class wait
size=4 align=4
base size=4 base align=4
wait (0x311d50a8) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x311d51f8) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x311d5268) 0
-Class <anonymous struct>
- size=16 align=8
- base size=16 base align=8
-<anonymous struct> (0x311d52d8) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0x311d5348) 0
Class timespec
size=8 align=4
@@ -701,70 +485,18 @@ Class timeval
base size=8 base align=4
timeval (0x311d53b8) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0x311d5428) 0
-Class <anonymous union>
- size=36 align=4
- base size=36 base align=4
-<anonymous union> (0x311d5498) 0
-Class <anonymous union>::<anonymous struct>
- size=24 align=4
- base size=24 base align=4
-<anonymous union>::<anonymous struct> (0x311d5578) 0
-Class <anonymous union>
- size=24 align=4
- base size=24 base align=4
-<anonymous union> (0x311d5508) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0x311d55e8) 0
-Class <anonymous union>::<anonymous struct>
- size=48 align=8
- base size=48 base align=8
-<anonymous union>::<anonymous struct> (0x311d56c8) 0
-Class <anonymous union>
- size=48 align=8
- base size=48 base align=8
-<anonymous union> (0x311d5658) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0x311d5738) 0
-Class <anonymous union>::<anonymous struct>
- size=32 align=4
- base size=32 base align=4
-<anonymous union>::<anonymous struct> (0x311d5818) 0
-Class <anonymous union>
- size=32 align=4
- base size=32 base align=4
-<anonymous union> (0x311d57a8) 0
-Class <anonymous union>
- size=8 align=4
- base size=8 base align=4
-<anonymous union> (0x311d5888) 0
-Class <anonymous union>
- size=20 align=4
- base size=20 base align=4
-<anonymous union> (0x311d58f8) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0x311d5968) 0
Class random_data
size=28 align=4
@@ -835,10 +567,6 @@ QFile (0x312b3000) 0
QObject (0x311d5f88) 0
primary-for QIODevice (0x312b3040)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0x312c30e0) 0
Vtable for QTemporaryFile
QTemporaryFile::_ZTV14QTemporaryFile: 31u entries
@@ -891,50 +619,22 @@ Class QFileInfo
base size=4 base align=4
QFileInfo (0x312c3230) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0x312c32d8) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0x312c3348) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0x312c34d0) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0x312c3428) 0
Class QRegExp
size=4 align=4
base size=4 base align=4
QRegExp (0x312c3578) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0x312c3738) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0x312c37a8) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0x312c3968) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0x312c38c0) 0
Class QStringList
size=4 align=4
@@ -942,30 +642,14 @@ Class QStringList
QStringList (0x312b3140) 0
QList<QString> (0x312c3a10) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0x312c3e38) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0x312c3ea8) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0x31390150) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0x31390268) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0x313902d8) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -1022,10 +706,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0x31390310) 0
vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0x31390540) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -1180,110 +860,30 @@ Class QUrl
base size=4 base align=4
QUrl (0x31390a10) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0x31390b98) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0x31390c08) 0 empty
Class QMetaType
size=1 align=1
base size=0 base align=1
QMetaType (0x31390c78) 0 empty
-Class QMetaTypeId<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QString> (0x31390d90) 0 empty
-Class QMetaTypeId<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<int> (0x31390e38) 0 empty
-Class QMetaTypeId<uint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<uint> (0x31390ee0) 0 empty
-Class QMetaTypeId<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<bool> (0x31390f88) 0 empty
-Class QMetaTypeId<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<double> (0x31390658) 0 empty
-Class QMetaTypeId<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QByteArray> (0x313909a0) 0 empty
-Class QMetaTypeId<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QChar> (0x31467070) 0 empty
-Class QMetaTypeId<void>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<void> (0x31467118) 0 empty
-Class QMetaTypeId<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<long int> (0x314671c0) 0 empty
-Class QMetaTypeId<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<short int> (0x31467268) 0 empty
-Class QMetaTypeId<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<char> (0x31467310) 0 empty
-Class QMetaTypeId<ulong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<ulong> (0x314673b8) 0 empty
-Class QMetaTypeId<ushort>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<ushort> (0x31467460) 0 empty
-Class QMetaTypeId<uchar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<uchar> (0x31467508) 0 empty
-Class QMetaTypeId<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<float> (0x314675b0) 0 empty
-Class QMetaTypeId<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QObject*> (0x31467658) 0 empty
-Class QMetaTypeId<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QWidget*> (0x31467700) 0 empty
-Class QMetaTypeId<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<void*> (0x314677a8) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -1310,35 +910,15 @@ Class QVariant
base size=16 base align=8
QVariant (0x31467818) 0
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0x31467dc8) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0x31467d20) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0x31467f88) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0x31467ee0) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0x31504000) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0x31504118) 0 empty
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1370,80 +950,48 @@ Class QPoint
base size=8 base align=4
QPoint (0x31504690) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0x31504a80) 0 empty
Class QPointF
size=16 align=8
base size=16 base align=8
QPointF (0x31504c78) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0x315046c8) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0x31504d90) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0x31504e70) 0 empty
Class QLineF
size=32 align=8
base size=32 base align=8
QLineF (0x315aa070) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0x315aa118) 0 empty
Class QSize
size=8 align=4
base size=8 base align=4
QSize (0x315aa2a0) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0x315aa620) 0 empty
Class QSizeF
size=16 align=8
base size=16 base align=8
QSizeF (0x315aa8f8) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0x315aac78) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0x315aa2d8) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0x315aa578) 0 empty
Class QRectF
size=32 align=8
base size=32 base align=8
QRectF (0x3168a070) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0x3168a1f8) 0 empty
Class QLinkedListData
size=20 align=4
@@ -1460,10 +1008,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0x3168ac40) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0x3168ad58) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -1480,40 +1024,24 @@ Class QLocale
base size=4 base align=4
QLocale (0x3168a658) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0x317d4038) 0 empty
Class QDate
size=4 align=4
base size=4 base align=4
QDate (0x317d4230) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0x317d43f0) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0x317d4460) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0x317d4658) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0x317d46c8) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0x317d4818) 0 empty
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -1673,10 +1201,6 @@ QEventLoop (0x312b3680) 0
QObject (0x318a4118) 0
primary-for QEventLoop (0x312b3680)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0x318a42a0) 0
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -1768,20 +1292,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0x318a4bd0) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0x318a4d58) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0x318a4dc8) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0x318a4ee0) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -2001,10 +1517,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0x31957348) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0x31957428) 0 empty
Vtable for QSocketNotifier
QSocketNotifier::_ZTV15QSocketNotifier: 14u entries
@@ -2099,20 +1611,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0x31957850) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0x319578f8) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0x31957968) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0x31957a10) 0 empty
Class QMetaProperty
size=20 align=4
@@ -2124,10 +1628,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0x31957ab8) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0x31957b60) 0 empty
Vtable for QPluginLoader
QPluginLoader::_ZTV13QPluginLoader: 14u entries
@@ -2560,23 +2060,7 @@ QTcpSocket (0x312b3e80) 0
QObject (0x31a02620) 0
primary-for QIODevice (0x312b3f00)
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0x31b0a1c0) 0
-Class QTypeInfo<QDebug::Stream*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDebug::Stream*> (0x31b0a8f8) 0 empty
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0x31b25700) 0
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0x31bb0188) 0
diff --git a/tests/auto/bic/data/QtNetwork.4.1.0.macx-gcc-ia32.txt b/tests/auto/bic/data/QtNetwork.4.1.0.macx-gcc-ia32.txt
index e4e3b80..cf3fa19 100644
--- a/tests/auto/bic/data/QtNetwork.4.1.0.macx-gcc-ia32.txt
+++ b/tests/auto/bic/data/QtNetwork.4.1.0.macx-gcc-ia32.txt
@@ -18,75 +18,19 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0x62ee00) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0x652040) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0x652100) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0x6521c0) 0 empty
-Class QTypeInfo<uchar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uchar> (0x652280) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0x652340) 0 empty
-Class QTypeInfo<ushort>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ushort> (0x652400) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0x6524c0) 0 empty
-Class QTypeInfo<uint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uint> (0x652580) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0x652640) 0 empty
-Class QTypeInfo<ulong>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ulong> (0x652700) 0 empty
-Class QTypeInfo<qint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<qint64> (0x6527c0) 0 empty
-Class QTypeInfo<quint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<quint64> (0x652880) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0x652940) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0x652a00) 0 empty
Class QFlag
size=4 align=4
@@ -103,10 +47,6 @@ Class QChar
base size=2 base align=2
QChar (0x652d00) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0x652e00) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -119,10 +59,6 @@ Class QAtomic
QAtomic (0x6be500) 0
QBasicAtomic (0x6be540) 0
-Class <anonymous union>
- size=128 align=4
- base size=128 base align=4
-<anonymous union> (0x6be7c0) 0
Class __darwin_pthread_handler_rec
size=12 align=4
@@ -204,70 +140,18 @@ Class QByteRef
base size=8 base align=4
QByteRef (0xe70480) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0xe70840) 0 empty
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0xe70d00) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0xe70d80) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0xe70e00) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0xe70e80) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0xe70f00) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0xe70f80) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0xf79000) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0xf79080) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0xf79100) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0xf79180) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0xf79200) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0xf79280) 0
Class QInternal
size=1 align=1
@@ -294,10 +178,6 @@ Class QLatin1String
base size=4 base align=4
QLatin1String (0xf799c0) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0xf79e00) 0
Class QCharRef
size=8 align=4
@@ -310,10 +190,6 @@ Class QConstString
QConstString (0x1113a00) 0
QString (0x1113a40) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0x1113b40) 0 empty
Vtable for std::exception
std::exception::_ZTVSt9exception: 5u entries
@@ -376,10 +252,6 @@ Class QListData
base size=4 base align=4
QListData (0x11b5380) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0x11b59c0) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -404,15 +276,7 @@ Class QTextCodec
QTextCodec (0x11b5840) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0x11b5d00) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0x11b5c40) 0
Class QTextEncoder
size=32 align=4
@@ -435,25 +299,13 @@ Class QGenericReturnArgument
QGenericReturnArgument (0x11b5f40) 0
QGenericArgument (0x11b5f80) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0x12cc140) 0
Class QMetaObject
size=16 align=4
base size=16 base align=4
QMetaObject (0x12cc0c0) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0x12cc3c0) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0x12cc300) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -545,10 +397,6 @@ QIODevice (0x12cca00) 0
QObject (0x12cca40) 0
primary-for QIODevice (0x12cca00)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0x12ccc80) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -568,25 +416,13 @@ Class QRegExp
base size=4 base align=4
QRegExp (0x139b240) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0x139b440) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0x139b4c0) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0x139b6c0) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0x139b600) 0
Class QStringList
size=4 align=4
@@ -594,15 +430,7 @@ Class QStringList
QStringList (0x139b780) 0
QList<QString> (0x139b7c0) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0x139bc80) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0x139bd00) 0
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -736,50 +564,22 @@ QFile (0x1442b40) 0
QObject (0x1442bc0) 0
primary-for QIODevice (0x1442b80)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0x1442d80) 0
Class QFileInfo
size=4 align=4
base size=4 base align=4
QFileInfo (0x1442dc0) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0x1442e80) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0x1442f00) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0x1442700) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0x1442100) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0x1502040) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0x1502180) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0x1502200) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -836,10 +636,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0x1502240) 0
vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0x1502500) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -913,10 +709,6 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0x1502a00) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0x1502a80) 0 empty
Class QMapData::Node
size=8 align=4
@@ -941,10 +733,6 @@ Class QTextStream
QTextStream (0x15a9e00) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0x1723000) 0
Class QTextStreamManipulator
size=24 align=4
@@ -1041,35 +829,15 @@ Class rlimit
base size=16 base align=4
rlimit (0x1723b80) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0x17792c0) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0x1779340) 0
Class wait
size=4 align=4
base size=4 base align=4
wait (0x1779240) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x17793c0) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x1779440) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0x17794c0) 0
Class QVectorData
size=16 align=4
@@ -1182,95 +950,23 @@ Class QMetaType
base size=0 base align=1
QMetaType (0x1779f40) 0 empty
-Class QMetaTypeId<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QString> (0x1779ec0) 0 empty
-Class QMetaTypeId<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<int> (0x1895080) 0 empty
-Class QMetaTypeId<uint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<uint> (0x1895140) 0 empty
-Class QMetaTypeId<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<bool> (0x1895200) 0 empty
-Class QMetaTypeId<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<double> (0x18952c0) 0 empty
-Class QMetaTypeId<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QByteArray> (0x1895380) 0 empty
-Class QMetaTypeId<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QChar> (0x1895440) 0 empty
-Class QMetaTypeId<void>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<void> (0x1895500) 0 empty
-Class QMetaTypeId<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<long int> (0x18955c0) 0 empty
-Class QMetaTypeId<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<short int> (0x1895680) 0 empty
-Class QMetaTypeId<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<char> (0x1895740) 0 empty
-Class QMetaTypeId<ulong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<ulong> (0x1895800) 0 empty
-Class QMetaTypeId<ushort>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<ushort> (0x18958c0) 0 empty
-Class QMetaTypeId<uchar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<uchar> (0x1895980) 0 empty
-Class QMetaTypeId<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<float> (0x1895a40) 0 empty
-Class QMetaTypeId<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QObject*> (0x1895b00) 0 empty
-Class QMetaTypeId<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QWidget*> (0x1895bc0) 0 empty
-Class QMetaTypeId<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<void*> (0x1895c80) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -1297,50 +993,18 @@ Class QVariant
base size=12 base align=4
QVariant (0x1895d00) 0
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0x18e6280) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0x18e61c0) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0x18e6480) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0x18e63c0) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0x18e6700) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0x18e6840) 0 empty
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0x18e6900) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x18e6980) 0
-Class <anonymous struct>
- size=3156 align=4
- base size=3156 base align=4
-<anonymous struct> (0x18e6a00) 0
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1418,15 +1082,7 @@ Class QUrl
base size=4 base align=4
QUrl (0x19a5140) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0x19a5300) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0x19a5380) 0 empty
Vtable for QEventLoop
QEventLoop::_ZTV10QEventLoop: 14u entries
@@ -1453,10 +1109,6 @@ QEventLoop (0x19a5400) 0
QObject (0x19a5440) 0
primary-for QEventLoop (0x19a5400)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0x19a5640) 0
Vtable for QAbstractEventDispatcher
QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 27u entries
@@ -1501,20 +1153,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0x19a5880) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0x19a5a40) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0x19a5ac0) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0x19a5c00) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -1684,10 +1328,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0x1a87180) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0x1a87280) 0 empty
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -1779,20 +1419,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0x1a87e40) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0x1a87f00) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0x1a87f80) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0x1a87400) 0 empty
Class QMetaProperty
size=20 align=4
@@ -1804,10 +1436,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0x1a87880) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0x1a87b40) 0 empty
Vtable for QMimeData
QMimeData::_ZTV9QMimeData: 17u entries
@@ -2095,10 +1723,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0x1b9e900) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0x1b9ea40) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -2110,70 +1734,42 @@ Class QDate
base size=4 base align=4
QDate (0x1b9ec40) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0x1b9ee40) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0x1b9eec0) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0x1b9efc0) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0x1c52040) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0x1c521c0) 0 empty
Class QPoint
size=8 align=4
base size=8 base align=4
QPoint (0x1c52240) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0x1c526c0) 0 empty
Class QPointF
size=16 align=4
base size=16 base align=4
QPointF (0x1c52980) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0x1c52e00) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0x1c52380) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0x1c52480) 0 empty
Class QLineF
size=32 align=4
base size=32 base align=4
QLineF (0x1c52ac0) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0x1c52c40) 0 empty
Class QLinkedListData
size=20 align=4
@@ -2185,50 +1781,30 @@ Class QLocale
base size=4 base align=4
QLocale (0x1cee500) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0x1cee580) 0 empty
Class QSize
size=8 align=4
base size=8 base align=4
QSize (0x1cee6c0) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0x1ceeac0) 0 empty
Class QSizeF
size=16 align=4
base size=16 base align=4
QSizeF (0x1ceee80) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0x1cee980) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0x1e0f340) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0x1e0f500) 0 empty
Class QRectF
size=32 align=4
base size=32 base align=4
QRectF (0x1e0f780) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0x1e0f940) 0 empty
Class QSharedData
size=4 align=4
@@ -2545,23 +2121,7 @@ QUdpSocket (0x1f87b80) 0
QObject (0x2020000) 0
primary-for QIODevice (0x1f87f00)
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0x207b540) 0
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0x209e3c0) 0
-Class QTypeInfo<QDebug::Stream*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDebug::Stream*> (0x20ec440) 0 empty
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0x214f580) 0
diff --git a/tests/auto/bic/data/QtNetwork.4.1.0.macx-gcc-ppc32.txt b/tests/auto/bic/data/QtNetwork.4.1.0.macx-gcc-ppc32.txt
index e22209c..4ebdf92 100644
--- a/tests/auto/bic/data/QtNetwork.4.1.0.macx-gcc-ppc32.txt
+++ b/tests/auto/bic/data/QtNetwork.4.1.0.macx-gcc-ppc32.txt
@@ -18,75 +18,19 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0x7c8840) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0x7c8a80) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0x7c8b40) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0x7c8c00) 0 empty
-Class QTypeInfo<uchar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uchar> (0x7c8cc0) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0x7c8d80) 0 empty
-Class QTypeInfo<ushort>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ushort> (0x7c8e40) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0x7c8f00) 0 empty
-Class QTypeInfo<uint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uint> (0x7c8fc0) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0x7ff080) 0 empty
-Class QTypeInfo<ulong>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ulong> (0x7ff140) 0 empty
-Class QTypeInfo<qint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<qint64> (0x7ff200) 0 empty
-Class QTypeInfo<quint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<quint64> (0x7ff2c0) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0x7ff380) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0x7ff440) 0 empty
Class QFlag
size=4 align=4
@@ -103,10 +47,6 @@ Class QChar
base size=2 base align=2
QChar (0x7ff740) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0x7ff840) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -119,10 +59,6 @@ Class QAtomic
QAtomic (0x7ffc40) 0
QBasicAtomic (0x7ffc80) 0
-Class <anonymous union>
- size=128 align=8
- base size=128 base align=8
-<anonymous union> (0x7fff00) 0
Class __darwin_pthread_handler_rec
size=12 align=4
@@ -204,70 +140,18 @@ Class QByteRef
base size=8 base align=4
QByteRef (0xec7bc0) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0xec7f80) 0 empty
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0xfbd440) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0xfbd4c0) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0xfbd540) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0xfbd5c0) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0xfbd640) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0xfbd6c0) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0xfbd740) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0xfbd7c0) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0xfbd840) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0xfbd8c0) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0xfbd940) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0xfbd9c0) 0
Class QInternal
size=1 align=1
@@ -294,10 +178,6 @@ Class QLatin1String
base size=4 base align=4
QLatin1String (0x1163100) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0x1163540) 0
Class QCharRef
size=8 align=4
@@ -310,10 +190,6 @@ Class QConstString
QConstString (0x129e140) 0
QString (0x129e180) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0x129e280) 0 empty
Vtable for std::exception
std::exception::_ZTVSt9exception: 5u entries
@@ -376,10 +252,6 @@ Class QListData
base size=4 base align=4
QListData (0x129eb40) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0x13b9000) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -404,15 +276,7 @@ Class QTextCodec
QTextCodec (0x129efc0) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0x13b9340) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0x13b9280) 0
Class QTextEncoder
size=32 align=4
@@ -435,25 +299,13 @@ Class QGenericReturnArgument
QGenericReturnArgument (0x13b9580) 0
QGenericArgument (0x13b95c0) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0x13b9880) 0
Class QMetaObject
size=16 align=4
base size=16 base align=4
QMetaObject (0x13b9800) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0x13b9b00) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0x13b9a40) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -545,10 +397,6 @@ QIODevice (0x1494080) 0
QObject (0x14940c0) 0
primary-for QIODevice (0x1494080)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0x1494300) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -568,25 +416,13 @@ Class QRegExp
base size=4 base align=4
QRegExp (0x14949c0) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0x1494bc0) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0x1494c40) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0x1494e40) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0x1494d80) 0
Class QStringList
size=4 align=4
@@ -594,15 +430,7 @@ Class QStringList
QStringList (0x1494f00) 0
QList<QString> (0x1494f40) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0x1575380) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0x1575400) 0
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -736,50 +564,22 @@ QFile (0x16005c0) 0
QObject (0x1600640) 0
primary-for QIODevice (0x1600600)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0x1600800) 0
Class QFileInfo
size=4 align=4
base size=4 base align=4
QFileInfo (0x1600840) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0x1600900) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0x1600980) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0x1600b40) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0x1600a80) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0x1600c00) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0x1600d40) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0x1600dc0) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -836,10 +636,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0x1600e00) 0
vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0x170f040) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -913,10 +709,6 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0x170f540) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0x170f5c0) 0 empty
Class QMapData::Node
size=8 align=4
@@ -941,10 +733,6 @@ Class QTextStream
QTextStream (0x1809540) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0x1809800) 0
Class QTextStreamManipulator
size=24 align=4
@@ -1051,35 +839,15 @@ Class rlimit
base size=16 base align=8
rlimit (0x193d4c0) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0x193d580) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0x193d600) 0
Class wait
size=4 align=4
base size=4 base align=4
wait (0x193d500) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x193d680) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x193d700) 0
-Class <anonymous struct>
- size=16 align=8
- base size=16 base align=8
-<anonymous struct> (0x193d780) 0
Class QVectorData
size=16 align=4
@@ -1192,95 +960,23 @@ Class QMetaType
base size=0 base align=1
QMetaType (0x1a641c0) 0 empty
-Class QMetaTypeId<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QString> (0x1a64300) 0 empty
-Class QMetaTypeId<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<int> (0x1a643c0) 0 empty
-Class QMetaTypeId<uint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<uint> (0x1a64480) 0 empty
-Class QMetaTypeId<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<bool> (0x1a64540) 0 empty
-Class QMetaTypeId<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<double> (0x1a64600) 0 empty
-Class QMetaTypeId<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QByteArray> (0x1a646c0) 0 empty
-Class QMetaTypeId<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QChar> (0x1a64780) 0 empty
-Class QMetaTypeId<void>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<void> (0x1a64840) 0 empty
-Class QMetaTypeId<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<long int> (0x1a64900) 0 empty
-Class QMetaTypeId<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<short int> (0x1a649c0) 0 empty
-Class QMetaTypeId<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<char> (0x1a64a80) 0 empty
-Class QMetaTypeId<ulong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<ulong> (0x1a64b40) 0 empty
-Class QMetaTypeId<ushort>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<ushort> (0x1a64c00) 0 empty
-Class QMetaTypeId<uchar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<uchar> (0x1a64cc0) 0 empty
-Class QMetaTypeId<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<float> (0x1a64d80) 0 empty
-Class QMetaTypeId<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QObject*> (0x1a64e40) 0 empty
-Class QMetaTypeId<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QWidget*> (0x1a64f00) 0 empty
-Class QMetaTypeId<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<void*> (0x1a64fc0) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -1307,50 +1003,18 @@ Class QVariant
base size=16 base align=4
QVariant (0x1aa6000) 0
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0x1aa6680) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0x1aa65c0) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0x1aa6880) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0x1aa67c0) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0x1aa6b00) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0x1aa6c40) 0 empty
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0x1aa6d00) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x1aa6d80) 0
-Class <anonymous struct>
- size=3156 align=4
- base size=3156 base align=4
-<anonymous struct> (0x1aa6e00) 0
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1428,15 +1092,7 @@ Class QUrl
base size=4 base align=4
QUrl (0x1bc0480) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0x1bc0640) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0x1bc06c0) 0 empty
Vtable for QEventLoop
QEventLoop::_ZTV10QEventLoop: 14u entries
@@ -1463,10 +1119,6 @@ QEventLoop (0x1bc0740) 0
QObject (0x1bc0780) 0
primary-for QEventLoop (0x1bc0740)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0x1bc0980) 0
Vtable for QAbstractEventDispatcher
QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 27u entries
@@ -1511,20 +1163,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0x1bc0bc0) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0x1bc0d80) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0x1bc0e00) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0x1bc0f40) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -1694,10 +1338,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0x1cb3500) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0x1cb3600) 0 empty
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -1789,20 +1429,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0x1cb3d40) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0x1d49000) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0x1d49080) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0x1d49140) 0 empty
Class QMetaProperty
size=20 align=4
@@ -1814,10 +1446,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0x1d49200) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0x1d492c0) 0 empty
Vtable for QMimeData
QMimeData::_ZTV9QMimeData: 17u entries
@@ -2105,10 +1733,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0x1dfbc40) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0x1dfbd80) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -2120,70 +1744,42 @@ Class QDate
base size=4 base align=4
QDate (0x1dfbf80) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0x1ebe0c0) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0x1ebe140) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0x1ebe380) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0x1ebe400) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0x1ebe580) 0 empty
Class QPoint
size=8 align=4
base size=8 base align=4
QPoint (0x1ebe600) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0x1ebea80) 0 empty
Class QPointF
size=16 align=8
base size=16 base align=4
QPointF (0x1ebed40) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0x1ebe640) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0x1ebef80) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0x1f60040) 0 empty
Class QLineF
size=32 align=8
base size=32 base align=4
QLineF (0x1f601c0) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0x1f60280) 0 empty
Class QLinkedListData
size=20 align=4
@@ -2195,50 +1791,30 @@ Class QLocale
base size=4 base align=4
QLocale (0x1f60840) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0x1f608c0) 0 empty
Class QSize
size=8 align=4
base size=8 base align=4
QSize (0x1f60a00) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0x1f60e00) 0 empty
Class QSizeF
size=16 align=8
base size=16 base align=4
QSizeF (0x1f60d40) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0x20c33c0) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0x20c3840) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0x20c3a00) 0 empty
Class QRectF
size=32 align=8
base size=32 base align=4
QRectF (0x20c3c80) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0x20c3e40) 0 empty
Class QSharedData
size=4 align=4
@@ -2555,23 +2131,7 @@ QUdpSocket (0x231e300) 0
QObject (0x231e3c0) 0
primary-for QIODevice (0x231e380)
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0x2390880) 0
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0x23af700) 0
-Class QTypeInfo<QDebug::Stream*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDebug::Stream*> (0x2402780) 0 empty
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0x24678c0) 0
diff --git a/tests/auto/bic/data/QtNetwork.4.1.0.win32-gcc-ia32.txt b/tests/auto/bic/data/QtNetwork.4.1.0.win32-gcc-ia32.txt
index e841de6..a55e5f0 100644
--- a/tests/auto/bic/data/QtNetwork.4.1.0.win32-gcc-ia32.txt
+++ b/tests/auto/bic/data/QtNetwork.4.1.0.win32-gcc-ia32.txt
@@ -18,80 +18,20 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0xad5e40) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0xaeb680) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0xaeb800) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0xaeb980) 0 empty
-Class QTypeInfo<uchar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uchar> (0xaebb00) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0xaebc80) 0 empty
-Class QTypeInfo<ushort>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ushort> (0xaebe00) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0xaebf80) 0 empty
-Class QTypeInfo<uint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uint> (0xb07100) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0xb07280) 0 empty
-Class QTypeInfo<ulong>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ulong> (0xb07400) 0 empty
-Class QTypeInfo<qint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<qint64> (0xb07580) 0 empty
-Class QTypeInfo<quint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<quint64> (0xb07700) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0xb07880) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0xb07a00) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0xb07b80) 0 empty
Class QFlag
size=4 align=4
@@ -108,10 +48,6 @@ Class QChar
base size=2 base align=2
QChar (0xb4d840) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0xb70cc0) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -139,70 +75,18 @@ Class QByteRef
base size=8 base align=4
QByteRef (0xc34f80) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0xd4bc40) 0 empty
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0xd78100) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0xd783c0) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0xd73c80) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0xd8d100) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0xd78a80) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0xd949c0) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0xdc8140) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0xdc8440) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0xd8d340) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0xdd8180) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0xdd8940) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0xdd8c80) 0
Class QInternal
size=1 align=1
@@ -229,10 +113,6 @@ Class QLatin1String
base size=4 base align=4
QLatin1String (0xeac500) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0xeac940) 0
Class QCharRef
size=8 align=4
@@ -245,10 +125,6 @@ Class QConstString
QConstString (0x11e1880) 0
QString (0x11e18c0) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0x11e1c00) 0 empty
Vtable for std::exception
std::exception::_ZTVSt9exception: 5u entries
@@ -311,10 +187,6 @@ Class QListData
base size=4 base align=4
QListData (0x1279f00) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0x137ae40) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -339,15 +211,7 @@ Class QTextCodec
QTextCodec (0xeac480) 0 nearly-empty
vptr=((&QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0x13be140) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0xc3da40) 0
Class QTextEncoder
size=32 align=4
@@ -370,25 +234,13 @@ Class QGenericReturnArgument
QGenericReturnArgument (0x13fcfc0) 0
QGenericArgument (0x1402000) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0x1419700) 0
Class QMetaObject
size=16 align=4
base size=16 base align=4
QMetaObject (0x1402580) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0x1433f80) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0x1433b80) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -480,10 +332,6 @@ QIODevice (0x137a700) 0
QObject (0x14bd540) 0
primary-for QIODevice (0x137a700)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0x14bd840) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -503,25 +351,13 @@ Class QRegExp
base size=4 base align=4
QRegExp (0xeac380) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0x158c4c0) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0x158c840) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0x158cd80) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0x158cc40) 0
Class QStringList
size=4 align=4
@@ -529,15 +365,7 @@ Class QStringList
QStringList (0xeac400) 0
QList<QString> (0x15b9000) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0x158cec0) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0x158ce80) 0
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -666,50 +494,22 @@ QFile (0x16a0840) 0
QObject (0x16a08c0) 0
primary-for QIODevice (0x16a0880)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0x16af100) 0
Class QFileInfo
size=4 align=4
base size=4 base align=4
QFileInfo (0x16d65c0) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0x16d6f00) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0x1704e40) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0x172e300) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0x172e200) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0x16d6440) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0x175c040) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0x172ec00) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -766,10 +566,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0x16a0740) 0
vptr=((&QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0x17db340) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -843,10 +639,6 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0x1830c40) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0x1830d40) 0 empty
Class QMapData::Node
size=8 align=4
@@ -871,10 +663,6 @@ Class QTextStream
QTextStream (0x1a78240) 0
vptr=((&QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0x1a78600) 0
Class QTextStreamManipulator
size=24 align=4
@@ -911,20 +699,8 @@ QTextOStream (0x1b06440) 0
QTextStream (0x1b06480) 0
primary-for QTextOStream (0x1b06440)
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x1b33680) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x1b33800) 0
-Class <anonymous struct>
- size=16 align=8
- base size=16 base align=8
-<anonymous struct> (0x1b525c0) 0
Class QVectorData
size=16 align=4
@@ -1037,95 +813,23 @@ Class QMetaType
base size=0 base align=1
QMetaType (0x1ce8bc0) 0 empty
-Class QMetaTypeId<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QString> (0x1d02d40) 0 empty
-Class QMetaTypeId<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<int> (0x1d02ec0) 0 empty
-Class QMetaTypeId<uint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<uint> (0x1d1a040) 0 empty
-Class QMetaTypeId<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<bool> (0x1d1a1c0) 0 empty
-Class QMetaTypeId<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<double> (0x1d1a340) 0 empty
-Class QMetaTypeId<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QByteArray> (0x1d1a4c0) 0 empty
-Class QMetaTypeId<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QChar> (0x1d1a640) 0 empty
-Class QMetaTypeId<void>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<void> (0x1d1a7c0) 0 empty
-Class QMetaTypeId<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<long int> (0x1d1a940) 0 empty
-Class QMetaTypeId<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<short int> (0x1d1aac0) 0 empty
-Class QMetaTypeId<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<char> (0x1d1ac40) 0 empty
-Class QMetaTypeId<ulong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<ulong> (0x1d1adc0) 0 empty
-Class QMetaTypeId<ushort>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<ushort> (0x1d1af40) 0 empty
-Class QMetaTypeId<uchar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<uchar> (0x1d380c0) 0 empty
-Class QMetaTypeId<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<float> (0x1d38240) 0 empty
-Class QMetaTypeId<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QObject*> (0x1d383c0) 0 empty
-Class QMetaTypeId<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QWidget*> (0x1d38540) 0 empty
-Class QMetaTypeId<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<void*> (0x1d386c0) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -1152,35 +856,15 @@ Class QVariant
base size=16 base align=8
QVariant (0x14338c0) 0
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0x1dd5540) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0x1d4adc0) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0x1dd5840) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0x1d4ae40) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0x1d4a000) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0x1e3b280) 0 empty
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1258,15 +942,7 @@ Class QUrl
base size=4 base align=4
QUrl (0x1d38f80) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0x1ed6440) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0x1f08f80) 0 empty
Vtable for QEventLoop
QEventLoop::_ZTV10QEventLoop: 14u entries
@@ -1293,10 +969,6 @@ QEventLoop (0x1f35600) 0
QObject (0x1f35640) 0
primary-for QEventLoop (0x1f35600)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0x1f35940) 0
Vtable for QAbstractEventDispatcher
QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 27u entries
@@ -1341,20 +1013,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0x1f6df40) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0x1fa0b40) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0x1f6dec0) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0x1fa0e80) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -1524,10 +1188,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0x2011d80) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0x20503c0) 0 empty
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -1620,20 +1280,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0x13fc8c0) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0x20be900) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0x13fc940) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0x20bef00) 0 empty
Class QMetaProperty
size=20 align=4
@@ -1645,10 +1297,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0x13fca40) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0x20eb640) 0 empty
Vtable for QMimeData
QMimeData::_ZTV9QMimeData: 17u entries
@@ -1941,10 +1589,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0x2237640) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0x2296040) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -1956,70 +1600,42 @@ Class QDate
base size=4 base align=4
QDate (0x1d38900) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0x22d4900) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0x1d38b00) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0x22f7540) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0x16d64c0) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0x2320300) 0 empty
Class QPoint
size=8 align=4
base size=8 base align=4
QPoint (0x1d38b80) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0x2320f40) 0 empty
Class QPointF
size=16 align=8
base size=16 base align=8
QPointF (0x1d38c00) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0x236e180) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0x1d38980) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0x238f600) 0 empty
Class QLineF
size=32 align=8
base size=32 base align=8
QLineF (0x1d38a00) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0x23b9b00) 0 empty
Class QLinkedListData
size=20 align=4
@@ -2031,50 +1647,30 @@ Class QLocale
base size=4 base align=4
QLocale (0x1d38a80) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0x2509300) 0 empty
Class QSize
size=8 align=4
base size=8 base align=4
QSize (0x1d38c80) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0x2537480) 0 empty
Class QSizeF
size=16 align=8
base size=16 base align=8
QSizeF (0x1d38d00) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0x255d9c0) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0x1d38d80) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0x25cc440) 0 empty
Class QRectF
size=32 align=8
base size=32 base align=8
QRectF (0x1d38e00) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0x264a680) 0 empty
Class QSharedData
size=4 align=4
@@ -2391,23 +1987,7 @@ QUdpSocket (0x2826e00) 0
QObject (0x2826ec0) 0
primary-for QIODevice (0x2826e80)
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0x13be100) 0
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0x158cd40) 0
-Class QTypeInfo<QDebug::Stream*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDebug::Stream*> (0x29f0d40) 0 empty
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0x172e2c0) 0
diff --git a/tests/auto/bic/data/QtNetwork.4.2.0.linux-gcc-ia32.txt b/tests/auto/bic/data/QtNetwork.4.2.0.linux-gcc-ia32.txt
index 448bbad..0992a30 100644
--- a/tests/auto/bic/data/QtNetwork.4.2.0.linux-gcc-ia32.txt
+++ b/tests/auto/bic/data/QtNetwork.4.2.0.linux-gcc-ia32.txt
@@ -1,34 +1,8 @@
-Class QUintForSize<4>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<4> (0xb7f07bc0) 0 empty
-Class QUintForSize<8>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<8> (0xb7f07c00) 0 empty
-Class QUintForType<void*>
- size=1 align=1
- base size=1 base align=1
-QUintForType<void*> (0xb7f07cc0) 0 empty
- QUintForSize<4> (0xb7f07d00) 0 empty
-Class QIntForSize<4>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<4> (0xb7f07d80) 0 empty
-Class QIntForSize<8>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<8> (0xb7f07dc0) 0 empty
-Class QIntForType<void*>
- size=1 align=1
- base size=1 base align=1
-QIntForType<void*> (0xb7f07e80) 0 empty
- QIntForSize<4> (0xb7f07ec0) 0 empty
Class QSysInfo
size=1 align=1
@@ -50,150 +24,38 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0xb77d0140) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0xb77d0200) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0xb77d0240) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0xb77d0280) 0 empty
-Class QTypeInfo<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned char> (0xb77d02c0) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0xb77d0300) 0 empty
-Class QTypeInfo<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short unsigned int> (0xb77d0340) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0xb77d0380) 0 empty
-Class QTypeInfo<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned int> (0xb77d03c0) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0xb77d0400) 0 empty
-Class QTypeInfo<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long unsigned int> (0xb77d0440) 0 empty
-Class QTypeInfo<long long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long int> (0xb77d0480) 0 empty
-Class QTypeInfo<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long unsigned int> (0xb77d04c0) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0xb77d0500) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0xb77d0540) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0xb77d0580) 0 empty
Class QFlag
size=4 align=4
base size=4 base align=4
QFlag (0xb77d05c0) 0
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0xb77d06c0) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0xb77d0700) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0xb77d0740) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0xb77d0780) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0xb77d07c0) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0xb77d0800) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0xb77d0840) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0xb77d0880) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0xb77d08c0) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0xb77d0900) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0xb77d0940) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0xb77d0980) 0
-Class QFlags<Qt::TextInteractionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::TextInteractionFlag> (0xb77d09c0) 0
Class QInternal
size=1 align=1
@@ -211,10 +73,6 @@ Class QGenericReturnArgument
QGenericReturnArgument (0xb77d0a80) 0
QGenericArgument (0xb77d0ac0) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0xb77d0c80) 0
Class QMetaObject
size=16 align=4
@@ -231,10 +89,6 @@ Class QChar
base size=2 base align=2
QChar (0xb77d0d40) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0xb77d0dc0) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -267,10 +121,6 @@ Class QByteRef
base size=8 base align=4
QByteRef (0xb732e0c0) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0xb732e100) 0 empty
Class QString::Null
size=1 align=1
@@ -287,10 +137,6 @@ Class QString
base size=4 base align=4
QString (0xb732e140) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0xb732e2c0) 0
Class QLatin1String
size=4 align=4
@@ -308,10 +154,6 @@ Class QConstString
QConstString (0xb732e3c0) 0
QString (0xb732e400) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0xb732e440) 0 empty
Vtable for std::exception
std::exception::_ZTVSt9exception: 5u entries
@@ -374,15 +216,7 @@ Class QListData
base size=4 base align=4
QListData (0xb732e740) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0xb732eac0) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0xb732ea40) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -474,10 +308,6 @@ QIODevice (0xb732ec40) 0
QObject (0xb732ec80) 0
primary-for QIODevice (0xb732ec40)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0xb732ed40) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -507,10 +337,6 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0xb732eec0) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0xb732ef00) 0 empty
Class QMapData::Node
size=8 align=4
@@ -522,10 +348,6 @@ Class QMapData
base size=72 base align=4
QMapData (0xb6eba3c0) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0xb6eba940) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -550,15 +372,7 @@ Class QTextCodec
QTextCodec (0xb6eba880) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0xb6ebaa80) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0xb6ebaa00) 0
Class QTextEncoder
size=32 align=4
@@ -570,30 +384,10 @@ Class QTextDecoder
base size=32 base align=4
QTextDecoder (0xb6ebab00) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6ebab40) 0
-Class <anonymous struct>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct>::<anonymous union> (0xb6ebabc0) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6ebab80) 0
-Class <anonymous struct>
- size=12 align=4
- base size=12 base align=4
-<anonymous struct> (0xb6ebac00) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb6ebac40) 0
Class __gconv_trans_data
size=20 align=4
@@ -615,15 +409,7 @@ Class __gconv_info
base size=8 base align=4
__gconv_info (0xb6ebad40) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0xb6ebadc0) 0
-Class <anonymous union>
- size=44 align=4
- base size=44 base align=4
-<anonymous union> (0xb6ebad80) 0
Class _IO_marker
size=12 align=4
@@ -635,10 +421,6 @@ Class _IO_FILE
base size=148 base align=4
_IO_FILE (0xb6ebae40) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb6ebae80) 0
Vtable for QTextStream
QTextStream::_ZTV11QTextStream: 4u entries
@@ -653,10 +435,6 @@ Class QTextStream
QTextStream (0xb6ebaec0) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0xb6ebaf80) 0
Class QTextStreamManipulator
size=24 align=4
@@ -693,40 +471,16 @@ QTextOStream (0xb6ebaf40) 0
QTextStream (0xb6e77000) 0
primary-for QTextOStream (0xb6ebaf40)
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0xb6e770c0) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0xb6e77100) 0
Class wait
size=4 align=4
base size=4 base align=4
wait (0xb6e77080) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6e77140) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6e77180) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb6e771c0) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb6e77200) 0
Class timespec
size=8 align=4
@@ -738,80 +492,24 @@ Class timeval
base size=8 base align=4
timeval (0xb6e77280) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb6e772c0) 0
-Class <anonymous union>
- size=36 align=4
- base size=36 base align=4
-<anonymous union> (0xb6e77300) 0
Class __pthread_internal_slist
size=4 align=4
base size=4 base align=4
__pthread_internal_slist (0xb6e77340) 0
-Class <anonymous union>::__pthread_mutex_s::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union>::__pthread_mutex_s::<anonymous union> (0xb6e77400) 0
-Class <anonymous union>::__pthread_mutex_s
- size=24 align=4
- base size=24 base align=4
-<anonymous union>::__pthread_mutex_s (0xb6e773c0) 0
-Class <anonymous union>
- size=24 align=4
- base size=24 base align=4
-<anonymous union> (0xb6e77380) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb6e77440) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0xb6e774c0) 0
-Class <anonymous union>
- size=48 align=4
- base size=48 base align=4
-<anonymous union> (0xb6e77480) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb6e77500) 0
-Class <anonymous union>::<anonymous struct>
- size=32 align=4
- base size=32 base align=4
-<anonymous union>::<anonymous struct> (0xb6e77580) 0
-Class <anonymous union>
- size=32 align=4
- base size=32 base align=4
-<anonymous union> (0xb6e77540) 0
-Class <anonymous union>
- size=8 align=4
- base size=8 base align=4
-<anonymous union> (0xb6e775c0) 0
-Class <anonymous union>
- size=20 align=4
- base size=20 base align=4
-<anonymous union> (0xb6e77600) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb6e77640) 0
Class random_data
size=28 align=4
@@ -882,10 +580,6 @@ QFile (0xb6e77b00) 0
QObject (0xb6e77b80) 0
primary-for QIODevice (0xb6e77b40)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0xb6e77c00) 0
Vtable for QTemporaryFile
QTemporaryFile::_ZTV14QTemporaryFile: 31u entries
@@ -938,50 +632,22 @@ Class QFileInfo
base size=4 base align=4
QFileInfo (0xb6e77d80) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0xb6e77dc0) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0xb6e77e00) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0xb6e77ec0) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0xb6e77e40) 0
Class QRegExp
size=4 align=4
base size=4 base align=4
QRegExp (0xb6e77f00) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0xb6e77f40) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0xb6e77f80) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0xb6e77ac0) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0xb6e77fc0) 0
Class QStringList
size=4 align=4
@@ -989,30 +655,14 @@ Class QStringList
QStringList (0xb6e77bc0) 0
QList<QString> (0xb6e77d40) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0xb6c42040) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0xb6c42080) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0xb6c42140) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0xb6c421c0) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0xb6c42240) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -1069,10 +719,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0xb6c42280) 0
vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0xb6c42400) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -1184,15 +830,7 @@ Class QLocale
base size=4 base align=4
QLocale (0xb6c426c0) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0xb6c42700) 0 empty
-Class QFlags<QLocale::NumberOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLocale::NumberOption> (0xb6c42740) 0
Vtable for QSystemLocale
QSystemLocale::_ZTV13QSystemLocale: 6u entries
@@ -1287,285 +925,65 @@ Class QUrl
base size=4 base align=4
QUrl (0xb6c42a40) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0xb6c42ac0) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0xb6c42b00) 0 empty
Class QMetaType
size=1 align=1
base size=0 base align=1
QMetaType (0xb6c42b40) 0 empty
-Class QMetaTypeId2<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QString> (0xb6c42c00) 0 empty
-Class QMetaTypeId2<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<int> (0xb6c42c40) 0 empty
-Class QMetaTypeId2<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned int> (0xb6c42c80) 0 empty
-Class QMetaTypeId2<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<bool> (0xb6c42cc0) 0 empty
-Class QMetaTypeId2<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<double> (0xb6c42d00) 0 empty
-Class QMetaTypeId2<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QByteArray> (0xb6c42d40) 0 empty
-Class QMetaTypeId2<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QChar> (0xb6c42d80) 0 empty
-Class QMetaTypeId2<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long int> (0xb6c42dc0) 0 empty
-Class QMetaTypeId2<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short int> (0xb6c42e00) 0 empty
-Class QMetaTypeId2<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<char> (0xb6c42e40) 0 empty
-Class QMetaTypeId2<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long unsigned int> (0xb6c42e80) 0 empty
-Class QMetaTypeId2<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short unsigned int> (0xb6c42ec0) 0 empty
-Class QMetaTypeId2<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned char> (0xb6c42f00) 0 empty
-Class QMetaTypeId2<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<float> (0xb6c42f40) 0 empty
-Class QMetaTypeId2<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QObject*> (0xb6c42f80) 0 empty
-Class QMetaTypeId2<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QWidget*> (0xb6c42fc0) 0 empty
-Class QMetaTypeId2<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<void*> (0xb6c42380) 0 empty
-Class QMetaTypeId2<long long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long int> (0xb6c42480) 0 empty
-Class QMetaTypeId2<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long unsigned int> (0xb6c42540) 0 empty
-Class QMetaTypeId2<QStringList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QStringList> (0xb6c42680) 0 empty
-Class QMetaTypeId2<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitArray> (0xb6c427c0) 0 empty
-Class QMetaTypeId2<QDate>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDate> (0xb6c42940) 0 empty
-Class QMetaTypeId2<QTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTime> (0xb6c42a00) 0 empty
-Class QMetaTypeId2<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDateTime> (0xb6995000) 0 empty
-Class QMetaTypeId2<QUrl>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QUrl> (0xb6995040) 0 empty
-Class QMetaTypeId2<QLocale>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLocale> (0xb6995080) 0 empty
-Class QMetaTypeId2<QRect>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRect> (0xb69950c0) 0 empty
-Class QMetaTypeId2<QRectF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRectF> (0xb6995100) 0 empty
-Class QMetaTypeId2<QSize>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSize> (0xb6995140) 0 empty
-Class QMetaTypeId2<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizeF> (0xb6995180) 0 empty
-Class QMetaTypeId2<QLine>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLine> (0xb69951c0) 0 empty
-Class QMetaTypeId2<QLineF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLineF> (0xb6995200) 0 empty
-Class QMetaTypeId2<QPoint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPoint> (0xb6995240) 0 empty
-Class QMetaTypeId2<QPointF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPointF> (0xb6995280) 0 empty
-Class QMetaTypeId2<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegExp> (0xb69952c0) 0 empty
-Class QMetaTypeId2<QColorGroup>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColorGroup> (0xb6995300) 0 empty
-Class QMetaTypeId2<QFont>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QFont> (0xb6995340) 0 empty
-Class QMetaTypeId2<QPixmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPixmap> (0xb6995380) 0 empty
-Class QMetaTypeId2<QBrush>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBrush> (0xb69953c0) 0 empty
-Class QMetaTypeId2<QColor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColor> (0xb6995400) 0 empty
-Class QMetaTypeId2<QPalette>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPalette> (0xb6995440) 0 empty
-Class QMetaTypeId2<QIcon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QIcon> (0xb6995480) 0 empty
-Class QMetaTypeId2<QImage>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QImage> (0xb69954c0) 0 empty
-Class QMetaTypeId2<QPolygon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPolygon> (0xb6995500) 0 empty
-Class QMetaTypeId2<QRegion>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegion> (0xb6995540) 0 empty
-Class QMetaTypeId2<QBitmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitmap> (0xb6995580) 0 empty
-Class QMetaTypeId2<QCursor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QCursor> (0xb69955c0) 0 empty
-Class QMetaTypeId2<QSizePolicy>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizePolicy> (0xb6995600) 0 empty
-Class QMetaTypeId2<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QKeySequence> (0xb6995640) 0 empty
-Class QMetaTypeId2<QPen>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPen> (0xb6995680) 0 empty
-Class QMetaTypeId2<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextLength> (0xb69956c0) 0 empty
-Class QMetaTypeId2<QTextFormat>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextFormat> (0xb6995700) 0 empty
-Class QMetaTypeId2<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMatrix> (0xb6995740) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -1592,45 +1010,17 @@ Class QVariant
base size=12 base align=4
QVariant (0xb6995780) 0
-Class QMetaTypeId2<QList<QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QList<QVariant> > (0xb69959c0) 0 empty
-Class QMetaTypeId2<QMap<QString, QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMap<QString, QVariant> > (0xb6995a00) 0 empty
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0xb6995b00) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0xb6995a80) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0xb6995c00) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0xb6995b80) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0xb6995cc0) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0xb6995d40) 0 empty
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1662,80 +1052,48 @@ Class QPoint
base size=8 base align=4
QPoint (0xb6995f00) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0xb6995900) 0 empty
Class QPointF
size=16 align=4
base size=16 base align=4
QPointF (0xb6995940) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0xb69958c0) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0xb6995980) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0xb6995c80) 0 empty
Class QLineF
size=32 align=4
base size=32 base align=4
QLineF (0xb6995e00) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0xb6995e40) 0 empty
Class QSize
size=8 align=4
base size=8 base align=4
QSize (0xb6995f40) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0xb6995fc0) 0 empty
Class QSizeF
size=16 align=4
base size=16 base align=4
QSizeF (0xb6905000) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0xb6905200) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0xb69052c0) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0xb69053c0) 0 empty
Class QRectF
size=32 align=4
base size=32 base align=4
QRectF (0xb6905400) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0xb69054c0) 0 empty
Class QLinkedListData
size=20 align=4
@@ -1752,10 +1110,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0xb6905880) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0xb69058c0) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -1772,30 +1126,18 @@ Class QDate
base size=4 base align=4
QDate (0xb6905b40) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0xb6905c00) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0xb6905c40) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0xb6905d00) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0xb6905d40) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0xb6905e00) 0 empty
Vtable for QTimeLine
QTimeLine::_ZTV9QTimeLine: 15u entries
@@ -1981,10 +1323,6 @@ QEventLoop (0xb6905bc0) 0
QObject (0xb6905c80) 0
primary-for QEventLoop (0xb6905bc0)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0xb6905d80) 0
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -2091,20 +1429,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0xb6760400) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0xb6760440) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0xb6760480) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0xb6760500) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -2324,10 +1654,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0xb6760980) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0xb67609c0) 0 empty
Vtable for QSocketNotifier
QSocketNotifier::_ZTV15QSocketNotifier: 14u entries
@@ -2422,20 +1748,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0xb6760c40) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0xb6760c80) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0xb6760cc0) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0xb6760d00) 0 empty
Class QMetaProperty
size=20 align=4
@@ -2447,10 +1765,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0xb6760d80) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0xb6760dc0) 0 empty
Vtable for QPluginLoader
QPluginLoader::_ZTV13QPluginLoader: 14u entries
@@ -2507,10 +1821,6 @@ QLibrary (0xb6760f00) 0
QObject (0xb6760f40) 0
primary-for QLibrary (0xb6760f00)
-Class QFlags<QLibrary::LoadHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLibrary::LoadHint> (0xb6760fc0) 0
Class QSemaphore
size=4 align=4
@@ -2558,10 +1868,6 @@ Class QMutex
base size=4 base align=4
QMutex (0xb67604c0) 0
-Class QMutexLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMutexLocker::<anonymous union> (0xb67606c0) 0
Class QMutexLocker
size=4 align=4
@@ -2573,20 +1879,12 @@ Class QReadWriteLock
base size=4 base align=4
QReadWriteLock (0xb67607c0) 0
-Class QReadLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QReadLocker::<anonymous union> (0xb6760940) 0
Class QReadLocker
size=4 align=4
base size=4 base align=4
QReadLocker (0xb6760880) 0
-Class QWriteLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QWriteLocker::<anonymous union> (0xb6760b40) 0
Class QWriteLocker
size=4 align=4
@@ -2731,20 +2029,12 @@ Class QNetworkAddressEntry
base size=4 base align=4
QNetworkAddressEntry (0xb64ad380) 0
-Class QSharedDataPointer<QNetworkInterfacePrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QNetworkInterfacePrivate> (0xb64ad440) 0
Class QNetworkInterface
size=4 align=4
base size=4 base align=4
QNetworkInterface (0xb64ad3c0) 0
-Class QFlags<QNetworkInterface::InterfaceFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QNetworkInterface::InterfaceFlag> (0xb64ad480) 0
Class QHostInfo
size=4 align=4
@@ -2878,10 +2168,6 @@ QUdpSocket (0xb64ad7c0) 0
QObject (0xb64ad880) 0
primary-for QIODevice (0xb64ad840)
-Class QFlags<QUdpSocket::BindFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUdpSocket::BindFlag> (0xb64ad900) 0
Vtable for QTcpSocket
QTcpSocket::_ZTV10QTcpSocket: 30u entries
@@ -2928,23 +2214,7 @@ QTcpSocket (0xb64ad940) 0
QObject (0xb64ada00) 0
primary-for QIODevice (0xb64ad9c0)
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0xb64adac0) 0
-Class QTypeInfo<QDebug::Stream*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDebug::Stream*> (0xb64adb40) 0 empty
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0xb64adbc0) 0
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0xb64adc40) 0
diff --git a/tests/auto/bic/data/QtNetwork.4.2.0.linux-gcc-ppc32.txt b/tests/auto/bic/data/QtNetwork.4.2.0.linux-gcc-ppc32.txt
index 9190183..b09d8ce 100644
--- a/tests/auto/bic/data/QtNetwork.4.2.0.linux-gcc-ppc32.txt
+++ b/tests/auto/bic/data/QtNetwork.4.2.0.linux-gcc-ppc32.txt
@@ -1,34 +1,8 @@
-Class QUintForSize<4>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<4> (0x30592e38) 0 empty
-Class QUintForSize<8>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<8> (0x30592ea8) 0 empty
-Class QUintForType<void*>
- size=1 align=1
- base size=1 base align=1
-QUintForType<void*> (0x3001b9c0) 0 empty
- QUintForSize<4> (0x30596000) 0 empty
-Class QIntForSize<4>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<4> (0x305960e0) 0 empty
-Class QIntForSize<8>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<8> (0x30596150) 0 empty
-Class QIntForType<void*>
- size=1 align=1
- base size=1 base align=1
-QIntForType<void*> (0x3001ba40) 0 empty
- QIntForSize<4> (0x305962a0) 0 empty
Class QSysInfo
size=1 align=1
@@ -50,150 +24,38 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0x30596620) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0x30596818) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0x305968c0) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0x30596968) 0 empty
-Class QTypeInfo<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned char> (0x30596a10) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0x30596ab8) 0 empty
-Class QTypeInfo<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short unsigned int> (0x30596b60) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0x30596c08) 0 empty
-Class QTypeInfo<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned int> (0x30596cb0) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0x30596d58) 0 empty
-Class QTypeInfo<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long unsigned int> (0x30596e00) 0 empty
-Class QTypeInfo<long long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long int> (0x30596ea8) 0 empty
-Class QTypeInfo<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long unsigned int> (0x30596f50) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0x305ca000) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0x305ca0a8) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0x305ca150) 0 empty
Class QFlag
size=4 align=4
base size=4 base align=4
QFlag (0x305ca1c0) 0
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0x305ca690) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0x305ca700) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0x305ca770) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0x305ca7e0) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0x305ca850) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0x305ca8c0) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0x305ca930) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0x305ca9a0) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0x305caa10) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0x305caa80) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0x305caaf0) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0x305cab60) 0
-Class QFlags<Qt::TextInteractionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::TextInteractionFlag> (0x305cabd0) 0
Class QInternal
size=1 align=1
@@ -211,10 +73,6 @@ Class QGenericReturnArgument
QGenericReturnArgument (0x3001bb80) 0
QGenericArgument (0x305cace8) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0x305caea8) 0
Class QMetaObject
size=16 align=4
@@ -231,10 +89,6 @@ Class QChar
base size=2 base align=2
QChar (0x305caf88) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0x30aee038) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -267,10 +121,6 @@ Class QByteRef
base size=8 base align=4
QByteRef (0x30aeed90) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0x30bbc0e0) 0 empty
Class QString::Null
size=1 align=1
@@ -287,10 +137,6 @@ Class QString
base size=4 base align=4
QString (0x30bbc188) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0x30bbc3b8) 0
Class QLatin1String
size=4 align=4
@@ -308,10 +154,6 @@ Class QConstString
QConstString (0x3001bdc0) 0
QString (0x30d54540) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0x30d54620) 0 empty
Vtable for std::exception
std::exception::_ZTVSt9exception: 5u entries
@@ -374,15 +216,7 @@ Class QListData
base size=4 base align=4
QListData (0x30d54d20) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0x30e48188) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0x30e480e0) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -474,10 +308,6 @@ QIODevice (0x3001be80) 0
QObject (0x30e48658) 0
primary-for QIODevice (0x3001be80)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0x30e48850) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -507,10 +337,6 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0x30e48f88) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0x30e482d8) 0 empty
Class QMapData::Node
size=8 align=4
@@ -522,10 +348,6 @@ Class QMapData
base size=72 base align=4
QMapData (0x30f05770) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0x30f05e00) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -550,15 +372,7 @@ Class QTextCodec
QTextCodec (0x30f05cb0) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0x3104e000) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0x30f05a10) 0
Class QTextEncoder
size=32 align=4
@@ -570,30 +384,10 @@ Class QTextDecoder
base size=32 base align=4
QTextDecoder (0x3104e118) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x3104e1c0) 0
-Class <anonymous struct>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct>::<anonymous union> (0x3104e2a0) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x3104e230) 0
-Class <anonymous struct>
- size=12 align=4
- base size=12 base align=4
-<anonymous struct> (0x3104e310) 0
-Class <anonymous struct>
- size=16 align=8
- base size=16 base align=8
-<anonymous struct> (0x3104e380) 0
Class __gconv_trans_data
size=20 align=4
@@ -615,15 +409,7 @@ Class __gconv_info
base size=8 base align=4
__gconv_info (0x3104e4d0) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0x3104e5b0) 0
-Class <anonymous union>
- size=44 align=4
- base size=44 base align=4
-<anonymous union> (0x3104e540) 0
Class _IO_marker
size=12 align=4
@@ -635,10 +421,6 @@ Class _IO_FILE
base size=152 base align=8
_IO_FILE (0x3104e620) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0x3104e690) 0
Vtable for QTextStream
QTextStream::_ZTV11QTextStream: 4u entries
@@ -653,10 +435,6 @@ Class QTextStream
QTextStream (0x3104e6c8) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0x3104e8f8) 0
Class QTextStreamManipulator
size=24 align=4
@@ -693,40 +471,16 @@ QTextOStream (0x310b0080) 0
QTextStream (0x3104ee70) 0
primary-for QTextOStream (0x310b0080)
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0x310f40a8) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0x310f4118) 0
Class wait
size=4 align=4
base size=4 base align=4
wait (0x310f4038) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x310f4188) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x310f41f8) 0
-Class <anonymous struct>
- size=16 align=8
- base size=16 base align=8
-<anonymous struct> (0x310f4268) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0x310f42d8) 0
Class timespec
size=8 align=4
@@ -738,70 +492,18 @@ Class timeval
base size=8 base align=4
timeval (0x310f4348) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0x310f43b8) 0
-Class <anonymous union>
- size=36 align=4
- base size=36 base align=4
-<anonymous union> (0x310f4428) 0
-Class <anonymous union>::<anonymous struct>
- size=24 align=4
- base size=24 base align=4
-<anonymous union>::<anonymous struct> (0x310f4508) 0
-Class <anonymous union>
- size=24 align=4
- base size=24 base align=4
-<anonymous union> (0x310f4498) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0x310f4578) 0
-Class <anonymous union>::<anonymous struct>
- size=48 align=8
- base size=48 base align=8
-<anonymous union>::<anonymous struct> (0x310f4658) 0
-Class <anonymous union>
- size=48 align=8
- base size=48 base align=8
-<anonymous union> (0x310f45e8) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0x310f46c8) 0
-Class <anonymous union>::<anonymous struct>
- size=32 align=4
- base size=32 base align=4
-<anonymous union>::<anonymous struct> (0x310f47a8) 0
-Class <anonymous union>
- size=32 align=4
- base size=32 base align=4
-<anonymous union> (0x310f4738) 0
-Class <anonymous union>
- size=8 align=4
- base size=8 base align=4
-<anonymous union> (0x310f4818) 0
-Class <anonymous union>
- size=20 align=4
- base size=20 base align=4
-<anonymous union> (0x310f4888) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0x310f48f8) 0
Class random_data
size=28 align=4
@@ -872,10 +574,6 @@ QFile (0x310b00c0) 0
QObject (0x311f61c0) 0
primary-for QIODevice (0x310b0100)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0x311f6348) 0
Vtable for QTemporaryFile
QTemporaryFile::_ZTV14QTemporaryFile: 31u entries
@@ -928,50 +626,22 @@ Class QFileInfo
base size=4 base align=4
QFileInfo (0x311f6498) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0x311f6540) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0x311f65b0) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0x311f6738) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0x311f6690) 0
Class QRegExp
size=4 align=4
base size=4 base align=4
QRegExp (0x311f67e0) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0x311f69d8) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0x311f6a48) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0x311f6c08) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0x311f6b60) 0
Class QStringList
size=4 align=4
@@ -979,30 +649,14 @@ Class QStringList
QStringList (0x310b0200) 0
QList<QString> (0x311f6cb0) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0x312ed038) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0x312ed0a8) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0x312ed3b8) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0x312ed4d0) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0x312ed578) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -1059,10 +713,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0x312ed5b0) 0
vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0x312ed818) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -1174,15 +824,7 @@ Class QLocale
base size=4 base align=4
QLocale (0x312edbd0) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0x312edc78) 0 empty
-Class QFlags<QLocale::NumberOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLocale::NumberOption> (0x312edd20) 0
Vtable for QSystemLocale
QSystemLocale::_ZTV13QSystemLocale: 6u entries
@@ -1277,285 +919,65 @@ Class QUrl
base size=4 base align=4
QUrl (0x312ede38) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0x31404118) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0x31404188) 0 empty
Class QMetaType
size=1 align=1
base size=0 base align=1
QMetaType (0x314041f8) 0 empty
-Class QMetaTypeId2<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QString> (0x314043b8) 0 empty
-Class QMetaTypeId2<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<int> (0x31404460) 0 empty
-Class QMetaTypeId2<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned int> (0x31404508) 0 empty
-Class QMetaTypeId2<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<bool> (0x314045b0) 0 empty
-Class QMetaTypeId2<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<double> (0x31404658) 0 empty
-Class QMetaTypeId2<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QByteArray> (0x31404700) 0 empty
-Class QMetaTypeId2<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QChar> (0x314047a8) 0 empty
-Class QMetaTypeId2<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long int> (0x31404850) 0 empty
-Class QMetaTypeId2<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short int> (0x314048f8) 0 empty
-Class QMetaTypeId2<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<char> (0x314049a0) 0 empty
-Class QMetaTypeId2<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long unsigned int> (0x31404a48) 0 empty
-Class QMetaTypeId2<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short unsigned int> (0x31404af0) 0 empty
-Class QMetaTypeId2<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned char> (0x31404b98) 0 empty
-Class QMetaTypeId2<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<float> (0x31404c40) 0 empty
-Class QMetaTypeId2<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QObject*> (0x31404ce8) 0 empty
-Class QMetaTypeId2<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QWidget*> (0x31404d90) 0 empty
-Class QMetaTypeId2<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<void*> (0x31404e38) 0 empty
-Class QMetaTypeId2<long long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long int> (0x31404ee0) 0 empty
-Class QMetaTypeId2<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long unsigned int> (0x31404f88) 0 empty
-Class QMetaTypeId2<QStringList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QStringList> (0x3145d038) 0 empty
-Class QMetaTypeId2<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitArray> (0x3145d0e0) 0 empty
-Class QMetaTypeId2<QDate>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDate> (0x3145d188) 0 empty
-Class QMetaTypeId2<QTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTime> (0x3145d230) 0 empty
-Class QMetaTypeId2<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDateTime> (0x3145d2d8) 0 empty
-Class QMetaTypeId2<QUrl>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QUrl> (0x3145d380) 0 empty
-Class QMetaTypeId2<QLocale>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLocale> (0x3145d428) 0 empty
-Class QMetaTypeId2<QRect>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRect> (0x3145d4d0) 0 empty
-Class QMetaTypeId2<QRectF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRectF> (0x3145d578) 0 empty
-Class QMetaTypeId2<QSize>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSize> (0x3145d620) 0 empty
-Class QMetaTypeId2<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizeF> (0x3145d6c8) 0 empty
-Class QMetaTypeId2<QLine>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLine> (0x3145d770) 0 empty
-Class QMetaTypeId2<QLineF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLineF> (0x3145d818) 0 empty
-Class QMetaTypeId2<QPoint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPoint> (0x3145d8c0) 0 empty
-Class QMetaTypeId2<QPointF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPointF> (0x3145d968) 0 empty
-Class QMetaTypeId2<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegExp> (0x3145da10) 0 empty
-Class QMetaTypeId2<QColorGroup>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColorGroup> (0x3145dab8) 0 empty
-Class QMetaTypeId2<QFont>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QFont> (0x3145db60) 0 empty
-Class QMetaTypeId2<QPixmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPixmap> (0x3145dc08) 0 empty
-Class QMetaTypeId2<QBrush>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBrush> (0x3145dcb0) 0 empty
-Class QMetaTypeId2<QColor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColor> (0x3145dd58) 0 empty
-Class QMetaTypeId2<QPalette>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPalette> (0x3145de00) 0 empty
-Class QMetaTypeId2<QIcon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QIcon> (0x3145dea8) 0 empty
-Class QMetaTypeId2<QImage>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QImage> (0x3145df50) 0 empty
-Class QMetaTypeId2<QPolygon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPolygon> (0x31475000) 0 empty
-Class QMetaTypeId2<QRegion>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegion> (0x314750a8) 0 empty
-Class QMetaTypeId2<QBitmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitmap> (0x31475150) 0 empty
-Class QMetaTypeId2<QCursor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QCursor> (0x314751f8) 0 empty
-Class QMetaTypeId2<QSizePolicy>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizePolicy> (0x314752a0) 0 empty
-Class QMetaTypeId2<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QKeySequence> (0x31475348) 0 empty
-Class QMetaTypeId2<QPen>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPen> (0x314753f0) 0 empty
-Class QMetaTypeId2<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextLength> (0x31475498) 0 empty
-Class QMetaTypeId2<QTextFormat>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextFormat> (0x31475540) 0 empty
-Class QMetaTypeId2<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMatrix> (0x314755e8) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -1582,45 +1004,17 @@ Class QVariant
base size=16 base align=8
QVariant (0x31475658) 0
-Class QMetaTypeId2<QList<QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QList<QVariant> > (0x31475af0) 0 empty
-Class QMetaTypeId2<QMap<QString, QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMap<QString, QVariant> > (0x31475b98) 0 empty
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0x31475d58) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0x31475cb0) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0x31475f18) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0x31475e70) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0x31475850) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0x31508038) 0 empty
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1652,80 +1046,48 @@ Class QPoint
base size=8 base align=4
QPoint (0x31508578) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0x31508968) 0 empty
Class QPointF
size=16 align=8
base size=16 base align=8
QPointF (0x31508b60) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0x31508f50) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0x315087e0) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0x315088c0) 0 empty
Class QLineF
size=32 align=8
base size=32 base align=8
QLineF (0x31508dc8) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0x315bf000) 0 empty
Class QSize
size=8 align=4
base size=8 base align=4
QSize (0x315bf188) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0x315bf508) 0 empty
Class QSizeF
size=16 align=8
base size=16 base align=8
QSizeF (0x315bf7e0) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0x315bfb60) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0x315bfee0) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0x315bf310) 0 empty
Class QRectF
size=32 align=8
base size=32 base align=8
QRectF (0x315bfab8) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0x3169e070) 0 empty
Class QLinkedListData
size=20 align=4
@@ -1742,10 +1104,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0x3169eab8) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0x3169eb98) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -1762,30 +1120,18 @@ Class QDate
base size=4 base align=4
QDate (0x3169ef88) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0x317bf0a8) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0x317bf118) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0x317bf2d8) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0x317bf348) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0x317bf498) 0 empty
Vtable for QTimeLine
QTimeLine::_ZTV9QTimeLine: 15u entries
@@ -1971,10 +1317,6 @@ QEventLoop (0x310b0780) 0
QObject (0x317bf5b0) 0
primary-for QEventLoop (0x310b0780)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0x31871038) 0
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -2081,20 +1423,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0x31871a80) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0x31871c08) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0x31871c78) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0x31871d90) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -2314,10 +1648,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0x3193b230) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0x3193b310) 0 empty
Vtable for QSocketNotifier
QSocketNotifier::_ZTV15QSocketNotifier: 14u entries
@@ -2412,20 +1742,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0x3193b738) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0x3193b7e0) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0x3193b850) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0x3193b8f8) 0 empty
Class QMetaProperty
size=20 align=4
@@ -2437,10 +1759,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0x3193b9a0) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0x3193ba48) 0 empty
Vtable for QPluginLoader
QPluginLoader::_ZTV13QPluginLoader: 14u entries
@@ -2497,10 +1815,6 @@ QLibrary (0x310b0c00) 0
QObject (0x3193bd20) 0
primary-for QLibrary (0x310b0c00)
-Class QFlags<QLibrary::LoadHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLibrary::LoadHint> (0x3193bea8) 0
Class QSemaphore
size=4 align=4
@@ -2548,10 +1862,6 @@ Class QMutex
base size=4 base align=4
QMutex (0x3193bb60) 0
-Class QMutexLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMutexLocker::<anonymous union> (0x319fe118) 0
Class QMutexLocker
size=4 align=4
@@ -2563,20 +1873,12 @@ Class QReadWriteLock
base size=4 base align=4
QReadWriteLock (0x319fe1c0) 0
-Class QReadLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QReadLocker::<anonymous union> (0x319fe268) 0
Class QReadLocker
size=4 align=4
base size=4 base align=4
QReadLocker (0x319fe1f8) 0
-Class QWriteLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QWriteLocker::<anonymous union> (0x319fe380) 0
Class QWriteLocker
size=4 align=4
@@ -2721,20 +2023,12 @@ Class QNetworkAddressEntry
base size=4 base align=4
QNetworkAddressEntry (0x319fec08) 0
-Class QSharedDataPointer<QNetworkInterfacePrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QNetworkInterfacePrivate> (0x319fee00) 0
Class QNetworkInterface
size=4 align=4
base size=4 base align=4
QNetworkInterface (0x319fec40) 0
-Class QFlags<QNetworkInterface::InterfaceFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QNetworkInterface::InterfaceFlag> (0x319feee0) 0
Class QHostInfo
size=4 align=4
@@ -2868,10 +2162,6 @@ QUdpSocket (0x310b0f00) 0
QObject (0x31abf1c0) 0
primary-for QIODevice (0x310b0f80)
-Class QFlags<QUdpSocket::BindFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUdpSocket::BindFlag> (0x31abf348) 0
Vtable for QTcpSocket
QTcpSocket::_ZTV10QTcpSocket: 30u entries
@@ -2918,23 +2208,7 @@ QTcpSocket (0x310b0fc0) 0
QObject (0x31abf380) 0
primary-for QIODevice (0x31af1040)
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0x31b428f8) 0
-Class QTypeInfo<QDebug::Stream*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDebug::Stream*> (0x31b5d038) 0 empty
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0x31b5de38) 0
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0x31c00968) 0
diff --git a/tests/auto/bic/data/QtNetwork.4.2.0.macx-gcc-ia32.txt b/tests/auto/bic/data/QtNetwork.4.2.0.macx-gcc-ia32.txt
index dd66da6..885d3cef 100644
--- a/tests/auto/bic/data/QtNetwork.4.2.0.macx-gcc-ia32.txt
+++ b/tests/auto/bic/data/QtNetwork.4.2.0.macx-gcc-ia32.txt
@@ -1,34 +1,8 @@
-Class QUintForSize<4>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<4> (0x697f80) 0 empty
-Class QUintForSize<8>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<8> (0x699000) 0 empty
-Class QUintForType<void*>
- size=1 align=1
- base size=1 base align=1
-QUintForType<void*> (0x6991c0) 0 empty
- QUintForSize<4> (0x699200) 0 empty
-Class QIntForSize<4>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<4> (0x699300) 0 empty
-Class QIntForSize<8>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<8> (0x699380) 0 empty
-Class QIntForType<void*>
- size=1 align=1
- base size=1 base align=1
-QIntForType<void*> (0x699540) 0 empty
- QIntForSize<4> (0x699580) 0 empty
Class QSysInfo
size=1 align=1
@@ -50,75 +24,19 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0x699a80) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0x699cc0) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0x699d80) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0x699e40) 0 empty
-Class QTypeInfo<uchar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uchar> (0x699f00) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0x699fc0) 0 empty
-Class QTypeInfo<ushort>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ushort> (0x6cc080) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0x6cc140) 0 empty
-Class QTypeInfo<uint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uint> (0x6cc200) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0x6cc2c0) 0 empty
-Class QTypeInfo<ulong>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ulong> (0x6cc380) 0 empty
-Class QTypeInfo<qint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<qint64> (0x6cc440) 0 empty
-Class QTypeInfo<quint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<quint64> (0x6cc500) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0x6cc5c0) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0x6cc680) 0 empty
Class QFlag
size=4 align=4
@@ -135,10 +53,6 @@ Class QChar
base size=2 base align=2
QChar (0x6cc980) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0x6cca80) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -151,10 +65,6 @@ Class QAtomic
QAtomic (0xe5a180) 0
QBasicAtomic (0xe5a1c0) 0
-Class <anonymous union>
- size=128 align=4
- base size=128 base align=4
-<anonymous union> (0xe5a440) 0
Class __darwin_pthread_handler_rec
size=12 align=4
@@ -236,75 +146,19 @@ Class QByteRef
base size=8 base align=4
QByteRef (0xef1180) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0xef1540) 0 empty
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0xef19c0) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0xef1a40) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0xef1ac0) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0xef1b40) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0xef1bc0) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0xef1c40) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0xef1cc0) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0xef1d40) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0xef1dc0) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0xef1e40) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0xef1ec0) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0xef1f40) 0
-Class QFlags<Qt::TextInteractionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::TextInteractionFlag> (0xef1fc0) 0
Class QInternal
size=1 align=1
@@ -331,10 +185,6 @@ Class QLatin1String
base size=4 base align=4
QLatin1String (0x10467c0) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0x1046c00) 0
Class QCharRef
size=8 align=4
@@ -347,10 +197,6 @@ Class QConstString
QConstString (0x11f6800) 0
QString (0x11f6840) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0x11f6940) 0 empty
Vtable for std::exception
std::exception::_ZTVSt9exception: 5u entries
@@ -413,10 +259,6 @@ Class QListData
base size=4 base align=4
QListData (0x1266100) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0x1266740) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -441,15 +283,7 @@ Class QTextCodec
QTextCodec (0x12665c0) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0x1266a80) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0x12669c0) 0
Class QTextEncoder
size=32 align=4
@@ -472,25 +306,13 @@ Class QGenericReturnArgument
QGenericReturnArgument (0x1266cc0) 0
QGenericArgument (0x1266d00) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0x1266fc0) 0
Class QMetaObject
size=16 align=4
base size=16 base align=4
QMetaObject (0x1266f40) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0x1397180) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0x13970c0) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -582,10 +404,6 @@ QIODevice (0x13977c0) 0
QObject (0x1397800) 0
primary-for QIODevice (0x13977c0)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0x1397a40) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -605,25 +423,13 @@ Class QRegExp
base size=4 base align=4
QRegExp (0x1470040) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0x1470280) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0x1470300) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0x1470500) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0x1470440) 0
Class QStringList
size=4 align=4
@@ -631,15 +437,7 @@ Class QStringList
QStringList (0x14705c0) 0
QList<QString> (0x1470600) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0x1470ac0) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0x1470b40) 0
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -773,50 +571,22 @@ QFile (0x14fd940) 0
QObject (0x14fd9c0) 0
primary-for QIODevice (0x14fd980)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0x14fdb80) 0
Class QFileInfo
size=4 align=4
base size=4 base align=4
QFileInfo (0x14fdbc0) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0x14fdc80) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0x14fdd00) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0x14fdec0) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0x14fde00) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0x14fdf80) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0x14fdac0) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0x15f3040) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -873,10 +643,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0x15f3080) 0
vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0x15f3340) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -950,10 +716,6 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0x15f3840) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0x15f38c0) 0 empty
Class QMapData::Node
size=8 align=4
@@ -978,10 +740,6 @@ Class QTextStream
QTextStream (0x1673c80) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0x1673f40) 0
Class QTextStreamManipulator
size=24 align=4
@@ -1078,35 +836,15 @@ Class rlimit
base size=16 base align=4
rlimit (0x180ca00) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0x1850100) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0x1850180) 0
Class wait
size=4 align=4
base size=4 base align=4
wait (0x1850080) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x1850200) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x1850280) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0x1850300) 0
Class QVectorData
size=16 align=4
@@ -1244,15 +982,7 @@ Class QLocale
base size=4 base align=4
QLocale (0x19ca140) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0x19ca200) 0 empty
-Class QFlags<QLocale::NumberOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLocale::NumberOption> (0x19ca2c0) 0
Vtable for QSystemLocale
QSystemLocale::_ZTV13QSystemLocale: 6u entries
@@ -1279,270 +1009,58 @@ Class QMetaType
base size=0 base align=1
QMetaType (0x19ca4c0) 0 empty
-Class QMetaTypeId2<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QString> (0x19ca6c0) 0 empty
-Class QMetaTypeId2<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<int> (0x19ca780) 0 empty
-Class QMetaTypeId2<uint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<uint> (0x19ca840) 0 empty
-Class QMetaTypeId2<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<bool> (0x19ca900) 0 empty
-Class QMetaTypeId2<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<double> (0x19ca9c0) 0 empty
-Class QMetaTypeId2<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QByteArray> (0x19caa80) 0 empty
-Class QMetaTypeId2<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QChar> (0x19cab40) 0 empty
-Class QMetaTypeId2<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long int> (0x19cac00) 0 empty
-Class QMetaTypeId2<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short int> (0x19cacc0) 0 empty
-Class QMetaTypeId2<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<char> (0x19cad80) 0 empty
-Class QMetaTypeId2<ulong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<ulong> (0x19cae40) 0 empty
-Class QMetaTypeId2<ushort>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<ushort> (0x19caf00) 0 empty
-Class QMetaTypeId2<uchar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<uchar> (0x19cafc0) 0 empty
-Class QMetaTypeId2<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<float> (0x1a5e000) 0 empty
-Class QMetaTypeId2<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QObject*> (0x1a5e0c0) 0 empty
-Class QMetaTypeId2<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QWidget*> (0x1a5e180) 0 empty
-Class QMetaTypeId2<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<void*> (0x1a5e240) 0 empty
-Class QMetaTypeId2<qlonglong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<qlonglong> (0x1a5e300) 0 empty
-Class QMetaTypeId2<qulonglong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<qulonglong> (0x1a5e3c0) 0 empty
-Class QMetaTypeId2<QStringList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QStringList> (0x1a5e480) 0 empty
-Class QMetaTypeId2<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitArray> (0x1a5e540) 0 empty
-Class QMetaTypeId2<QDate>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDate> (0x1a5e600) 0 empty
-Class QMetaTypeId2<QTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTime> (0x1a5e6c0) 0 empty
-Class QMetaTypeId2<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDateTime> (0x1a5e780) 0 empty
-Class QMetaTypeId2<QUrl>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QUrl> (0x1a5e840) 0 empty
-Class QMetaTypeId2<QLocale>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLocale> (0x1a5e900) 0 empty
-Class QMetaTypeId2<QRect>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRect> (0x1a5e9c0) 0 empty
-Class QMetaTypeId2<QRectF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRectF> (0x1a5ea80) 0 empty
-Class QMetaTypeId2<QSize>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSize> (0x1a5eb40) 0 empty
-Class QMetaTypeId2<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizeF> (0x1a5ec00) 0 empty
-Class QMetaTypeId2<QLine>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLine> (0x1a5ecc0) 0 empty
-Class QMetaTypeId2<QLineF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLineF> (0x1a5ed80) 0 empty
-Class QMetaTypeId2<QPoint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPoint> (0x1a5ee40) 0 empty
-Class QMetaTypeId2<QPointF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPointF> (0x1a5ef00) 0 empty
-Class QMetaTypeId2<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegExp> (0x1a5efc0) 0 empty
-Class QMetaTypeId2<QColorGroup>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColorGroup> (0x1a79080) 0 empty
-Class QMetaTypeId2<QFont>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QFont> (0x1a79140) 0 empty
-Class QMetaTypeId2<QPixmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPixmap> (0x1a79200) 0 empty
-Class QMetaTypeId2<QBrush>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBrush> (0x1a792c0) 0 empty
-Class QMetaTypeId2<QColor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColor> (0x1a79380) 0 empty
-Class QMetaTypeId2<QPalette>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPalette> (0x1a79440) 0 empty
-Class QMetaTypeId2<QIcon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QIcon> (0x1a79500) 0 empty
-Class QMetaTypeId2<QImage>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QImage> (0x1a795c0) 0 empty
-Class QMetaTypeId2<QPolygon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPolygon> (0x1a79680) 0 empty
-Class QMetaTypeId2<QRegion>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegion> (0x1a79740) 0 empty
-Class QMetaTypeId2<QBitmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitmap> (0x1a79800) 0 empty
-Class QMetaTypeId2<QCursor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QCursor> (0x1a798c0) 0 empty
-Class QMetaTypeId2<QSizePolicy>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizePolicy> (0x1a79980) 0 empty
-Class QMetaTypeId2<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QKeySequence> (0x1a79a40) 0 empty
-Class QMetaTypeId2<QPen>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPen> (0x1a79b00) 0 empty
-Class QMetaTypeId2<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextLength> (0x1a79bc0) 0 empty
-Class QMetaTypeId2<QTextFormat>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextFormat> (0x1a79c80) 0 empty
-Class QMetaTypeId2<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMatrix> (0x1a79d40) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -1569,60 +1087,20 @@ Class QVariant
base size=12 base align=4
QVariant (0x1a79dc0) 0
-Class QMetaTypeId2<QVariantList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QVariantList> (0x1ab6280) 0 empty
-Class QMetaTypeId2<QVariantMap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QVariantMap> (0x1ab6340) 0 empty
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0x1ab6540) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0x1ab6480) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0x1ab6740) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0x1ab6680) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0x1ab68c0) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0x1ab6a00) 0 empty
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0x1ab6ac0) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x1ab6b40) 0
-Class <anonymous struct>
- size=3156 align=4
- base size=3156 base align=4
-<anonymous struct> (0x1ab6bc0) 0
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1700,15 +1178,7 @@ Class QUrl
base size=4 base align=4
QUrl (0x1b742c0) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0x1b74480) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0x1b74500) 0 empty
Vtable for QEventLoop
QEventLoop::_ZTV10QEventLoop: 14u entries
@@ -1735,10 +1205,6 @@ QEventLoop (0x1b74580) 0
QObject (0x1b745c0) 0
primary-for QEventLoop (0x1b74580)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0x1b747c0) 0
Vtable for QAbstractEventDispatcher
QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 27u entries
@@ -1783,20 +1249,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0x1b74a00) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0x1b74bc0) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0x1b74c40) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0x1b74d80) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -1966,10 +1424,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0x1c69380) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0x1c69480) 0 empty
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -2076,20 +1530,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0x1c69d40) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0x1ceb000) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0x1ceb080) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0x1ceb140) 0 empty
Class QMetaProperty
size=20 align=4
@@ -2101,10 +1547,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0x1ceb200) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0x1ceb2c0) 0 empty
Vtable for QMimeData
QMimeData::_ZTV9QMimeData: 17u entries
@@ -2286,10 +1728,6 @@ QLibrary (0x1cebc80) 0
QObject (0x1cebcc0) 0
primary-for QLibrary (0x1cebc80)
-Class QFlags<QLibrary::LoadHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLibrary::LoadHint> (0x1cebe80) 0
Vtable for QPluginLoader
QPluginLoader::_ZTV13QPluginLoader: 14u entries
@@ -2326,10 +1764,6 @@ Class QMutex
base size=4 base align=4
QMutex (0x1cebfc0) 0
-Class QMutexLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMutexLocker::<anonymous union> (0x1dad180) 0
Class QMutexLocker
size=4 align=4
@@ -2341,20 +1775,12 @@ Class QReadWriteLock
base size=4 base align=4
QReadWriteLock (0x1dad240) 0
-Class QReadLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QReadLocker::<anonymous union> (0x1dad300) 0
Class QReadLocker
size=4 align=4
base size=4 base align=4
QReadLocker (0x1dad280) 0
-Class QWriteLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QWriteLocker::<anonymous union> (0x1dad440) 0
Class QWriteLocker
size=4 align=4
@@ -2412,10 +1838,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0x1dade40) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0x1dadf40) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -2427,70 +1849,42 @@ Class QDate
base size=4 base align=4
QDate (0x1e3e180) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0x1e3e380) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0x1e3e400) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0x1e3e600) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0x1e3e680) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0x1e3e800) 0 empty
Class QPoint
size=8 align=4
base size=8 base align=4
QPoint (0x1e3e880) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0x1e3ed00) 0 empty
Class QPointF
size=16 align=4
base size=16 base align=4
QPointF (0x1e3efc0) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0x1e3ea40) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0x1eeb1c0) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0x1eeb240) 0 empty
Class QLineF
size=32 align=4
base size=32 base align=4
QLineF (0x1eeb3c0) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0x1eeb480) 0 empty
Class QLinkedListData
size=20 align=4
@@ -2502,40 +1896,24 @@ Class QSize
base size=8 base align=4
QSize (0x1eebac0) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0x1eebec0) 0 empty
Class QSizeF
size=16 align=4
base size=16 base align=4
QSizeF (0x1ffa080) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0x1ffa480) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0x1ffa900) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0x1ffaac0) 0 empty
Class QRectF
size=32 align=4
base size=32 base align=4
QRectF (0x1ffad40) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0x1ffaf00) 0 empty
Class QSharedData
size=4 align=4
@@ -2760,20 +2138,12 @@ Class QNetworkAddressEntry
base size=4 base align=4
QNetworkAddressEntry (0x21eb000) 0
-Class QSharedDataPointer<QNetworkInterfacePrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QNetworkInterfacePrivate> (0x21eb200) 0
Class QNetworkInterface
size=4 align=4
base size=4 base align=4
QNetworkInterface (0x21eb040) 0
-Class QFlags<QNetworkInterface::InterfaceFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QNetworkInterface::InterfaceFlag> (0x21eb300) 0
Class QNetworkProxy
size=4 align=4
@@ -2898,28 +2268,8 @@ QUdpSocket (0x21eb700) 0
QObject (0x21eb7c0) 0
primary-for QIODevice (0x21eb780)
-Class QFlags<QUdpSocket::BindFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUdpSocket::BindFlag> (0x21eb980) 0
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0x22b5040) 0
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0x22b5ec0) 0
-Class QTypeInfo<QDebug::Stream*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDebug::Stream*> (0x2301f40) 0 empty
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0x23a3380) 0
diff --git a/tests/auto/bic/data/QtNetwork.4.2.0.macx-gcc-ppc32.txt b/tests/auto/bic/data/QtNetwork.4.2.0.macx-gcc-ppc32.txt
index 73d5922..65d9c0f 100644
--- a/tests/auto/bic/data/QtNetwork.4.2.0.macx-gcc-ppc32.txt
+++ b/tests/auto/bic/data/QtNetwork.4.2.0.macx-gcc-ppc32.txt
@@ -1,34 +1,8 @@
-Class QUintForSize<4>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<4> (0x9cab80) 0 empty
-Class QUintForSize<8>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<8> (0x9cac00) 0 empty
-Class QUintForType<void*>
- size=1 align=1
- base size=1 base align=1
-QUintForType<void*> (0x9cadc0) 0 empty
- QUintForSize<4> (0x9cae00) 0 empty
-Class QIntForSize<4>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<4> (0x9caf00) 0 empty
-Class QIntForSize<8>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<8> (0x9caf80) 0 empty
-Class QIntForType<void*>
- size=1 align=1
- base size=1 base align=1
-QIntForType<void*> (0x9d1140) 0 empty
- QIntForSize<4> (0x9d1180) 0 empty
Class QSysInfo
size=1 align=1
@@ -50,75 +24,19 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0x9d1680) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0x9d18c0) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0x9d1980) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0x9d1a40) 0 empty
-Class QTypeInfo<uchar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uchar> (0x9d1b00) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0x9d1bc0) 0 empty
-Class QTypeInfo<ushort>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ushort> (0x9d1c80) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0x9d1d40) 0 empty
-Class QTypeInfo<uint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uint> (0x9d1e00) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0x9d1ec0) 0 empty
-Class QTypeInfo<ulong>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ulong> (0x9d1f80) 0 empty
-Class QTypeInfo<qint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<qint64> (0xa0d040) 0 empty
-Class QTypeInfo<quint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<quint64> (0xa0d100) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0xa0d1c0) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0xa0d280) 0 empty
Class QFlag
size=4 align=4
@@ -135,10 +53,6 @@ Class QChar
base size=2 base align=2
QChar (0xa0d580) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0xa0d680) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -151,10 +65,6 @@ Class QAtomic
QAtomic (0xa0dc80) 0
QBasicAtomic (0xa0dcc0) 0
-Class <anonymous union>
- size=128 align=8
- base size=128 base align=8
-<anonymous union> (0xa0df40) 0
Class __darwin_pthread_handler_rec
size=12 align=4
@@ -236,75 +146,19 @@ Class QByteRef
base size=8 base align=4
QByteRef (0xeb9c80) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0xf91040) 0 empty
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0xf914c0) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0xf91540) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0xf915c0) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0xf91640) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0xf916c0) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0xf91740) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0xf917c0) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0xf91840) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0xf918c0) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0xf91940) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0xf919c0) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0xf91a40) 0
-Class QFlags<Qt::TextInteractionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::TextInteractionFlag> (0xf91ac0) 0
Class QInternal
size=1 align=1
@@ -331,10 +185,6 @@ Class QLatin1String
base size=4 base align=4
QLatin1String (0x111f280) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0x111f6c0) 0
Class QCharRef
size=8 align=4
@@ -347,10 +197,6 @@ Class QConstString
QConstString (0x123e300) 0
QString (0x123e340) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0x123e440) 0 empty
Vtable for std::exception
std::exception::_ZTVSt9exception: 5u entries
@@ -413,10 +259,6 @@ Class QListData
base size=4 base align=4
QListData (0x123ecc0) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0x1340200) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -441,15 +283,7 @@ Class QTextCodec
QTextCodec (0x1340080) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0x1340540) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0x1340480) 0
Class QTextEncoder
size=32 align=4
@@ -472,25 +306,13 @@ Class QGenericReturnArgument
QGenericReturnArgument (0x1340780) 0
QGenericArgument (0x13407c0) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0x1340a80) 0
Class QMetaObject
size=16 align=4
base size=16 base align=4
QMetaObject (0x1340a00) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0x1340d00) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0x1340c40) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -582,10 +404,6 @@ QIODevice (0x1410240) 0
QObject (0x1410280) 0
primary-for QIODevice (0x1410240)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0x14104c0) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -605,25 +423,13 @@ Class QRegExp
base size=4 base align=4
QRegExp (0x1410bc0) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0x1410e00) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0x1410e80) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0x14c7000) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0x1410fc0) 0
Class QStringList
size=4 align=4
@@ -631,15 +437,7 @@ Class QStringList
QStringList (0x14c70c0) 0
QList<QString> (0x14c7100) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0x14c75c0) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0x14c7640) 0
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -773,50 +571,22 @@ QFile (0x153d800) 0
QObject (0x153d880) 0
primary-for QIODevice (0x153d840)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0x153da40) 0
Class QFileInfo
size=4 align=4
base size=4 base align=4
QFileInfo (0x153da80) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0x153db40) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0x153dbc0) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0x153dd80) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0x153dcc0) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0x153de40) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0x153df80) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0x153d980) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -873,10 +643,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0x164b000) 0
vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0x164b2c0) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -950,10 +716,6 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0x164b7c0) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0x164b840) 0 empty
Class QMapData::Node
size=8 align=4
@@ -978,10 +740,6 @@ Class QTextStream
QTextStream (0x171c7c0) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0x171ca80) 0
Class QTextStreamManipulator
size=24 align=4
@@ -1088,40 +846,16 @@ Class rlimit
base size=16 base align=8
rlimit (0x1851740) 0
-Class OSReadSwapInt64(const volatile void*, uintptr_t)::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-OSReadSwapInt64(const volatile void*, uintptr_t)::<anonymous union> (0x1851940) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0x187f040) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0x187f0c0) 0
Class wait
size=4 align=4
base size=4 base align=4
wait (0x1851140) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x187f140) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x187f1c0) 0
-Class <anonymous struct>
- size=16 align=8
- base size=16 base align=8
-<anonymous struct> (0x187f240) 0
Class QVectorData
size=16 align=4
@@ -1259,15 +993,7 @@ Class QLocale
base size=4 base align=4
QLocale (0x1a070c0) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0x1a07180) 0 empty
-Class QFlags<QLocale::NumberOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLocale::NumberOption> (0x1a07240) 0
Vtable for QSystemLocale
QSystemLocale::_ZTV13QSystemLocale: 6u entries
@@ -1294,270 +1020,58 @@ Class QMetaType
base size=0 base align=1
QMetaType (0x1a07440) 0 empty
-Class QMetaTypeId2<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QString> (0x1a07640) 0 empty
-Class QMetaTypeId2<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<int> (0x1a07700) 0 empty
-Class QMetaTypeId2<uint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<uint> (0x1a077c0) 0 empty
-Class QMetaTypeId2<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<bool> (0x1a07880) 0 empty
-Class QMetaTypeId2<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<double> (0x1a07940) 0 empty
-Class QMetaTypeId2<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QByteArray> (0x1a07a00) 0 empty
-Class QMetaTypeId2<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QChar> (0x1a07ac0) 0 empty
-Class QMetaTypeId2<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long int> (0x1a07b80) 0 empty
-Class QMetaTypeId2<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short int> (0x1a07c40) 0 empty
-Class QMetaTypeId2<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<char> (0x1a07d00) 0 empty
-Class QMetaTypeId2<ulong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<ulong> (0x1a07dc0) 0 empty
-Class QMetaTypeId2<ushort>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<ushort> (0x1a07e80) 0 empty
-Class QMetaTypeId2<uchar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<uchar> (0x1a07f40) 0 empty
-Class QMetaTypeId2<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<float> (0x1a07040) 0 empty
-Class QMetaTypeId2<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QObject*> (0x1a8a040) 0 empty
-Class QMetaTypeId2<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QWidget*> (0x1a8a100) 0 empty
-Class QMetaTypeId2<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<void*> (0x1a8a1c0) 0 empty
-Class QMetaTypeId2<qlonglong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<qlonglong> (0x1a8a280) 0 empty
-Class QMetaTypeId2<qulonglong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<qulonglong> (0x1a8a340) 0 empty
-Class QMetaTypeId2<QStringList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QStringList> (0x1a8a400) 0 empty
-Class QMetaTypeId2<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitArray> (0x1a8a4c0) 0 empty
-Class QMetaTypeId2<QDate>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDate> (0x1a8a580) 0 empty
-Class QMetaTypeId2<QTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTime> (0x1a8a640) 0 empty
-Class QMetaTypeId2<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDateTime> (0x1a8a700) 0 empty
-Class QMetaTypeId2<QUrl>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QUrl> (0x1a8a7c0) 0 empty
-Class QMetaTypeId2<QLocale>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLocale> (0x1a8a880) 0 empty
-Class QMetaTypeId2<QRect>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRect> (0x1a8a940) 0 empty
-Class QMetaTypeId2<QRectF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRectF> (0x1a8aa00) 0 empty
-Class QMetaTypeId2<QSize>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSize> (0x1a8aac0) 0 empty
-Class QMetaTypeId2<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizeF> (0x1a8ab80) 0 empty
-Class QMetaTypeId2<QLine>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLine> (0x1a8ac40) 0 empty
-Class QMetaTypeId2<QLineF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLineF> (0x1a8ad00) 0 empty
-Class QMetaTypeId2<QPoint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPoint> (0x1a8adc0) 0 empty
-Class QMetaTypeId2<QPointF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPointF> (0x1a8ae80) 0 empty
-Class QMetaTypeId2<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegExp> (0x1a8af40) 0 empty
-Class QMetaTypeId2<QColorGroup>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColorGroup> (0x1aa9000) 0 empty
-Class QMetaTypeId2<QFont>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QFont> (0x1aa90c0) 0 empty
-Class QMetaTypeId2<QPixmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPixmap> (0x1aa9180) 0 empty
-Class QMetaTypeId2<QBrush>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBrush> (0x1aa9240) 0 empty
-Class QMetaTypeId2<QColor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColor> (0x1aa9300) 0 empty
-Class QMetaTypeId2<QPalette>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPalette> (0x1aa93c0) 0 empty
-Class QMetaTypeId2<QIcon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QIcon> (0x1aa9480) 0 empty
-Class QMetaTypeId2<QImage>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QImage> (0x1aa9540) 0 empty
-Class QMetaTypeId2<QPolygon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPolygon> (0x1aa9600) 0 empty
-Class QMetaTypeId2<QRegion>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegion> (0x1aa96c0) 0 empty
-Class QMetaTypeId2<QBitmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitmap> (0x1aa9780) 0 empty
-Class QMetaTypeId2<QCursor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QCursor> (0x1aa9840) 0 empty
-Class QMetaTypeId2<QSizePolicy>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizePolicy> (0x1aa9900) 0 empty
-Class QMetaTypeId2<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QKeySequence> (0x1aa99c0) 0 empty
-Class QMetaTypeId2<QPen>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPen> (0x1aa9a80) 0 empty
-Class QMetaTypeId2<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextLength> (0x1aa9b40) 0 empty
-Class QMetaTypeId2<QTextFormat>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextFormat> (0x1aa9c00) 0 empty
-Class QMetaTypeId2<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMatrix> (0x1aa9cc0) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -1584,60 +1098,20 @@ Class QVariant
base size=16 base align=4
QVariant (0x1aa9d40) 0
-Class QMetaTypeId2<QVariantList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QVariantList> (0x1af5180) 0 empty
-Class QMetaTypeId2<QVariantMap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QVariantMap> (0x1af5240) 0 empty
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0x1af5440) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0x1af5380) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0x1af5640) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0x1af5580) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0x1af57c0) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0x1af5900) 0 empty
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0x1af59c0) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x1af5a40) 0
-Class <anonymous struct>
- size=3156 align=4
- base size=3156 base align=4
-<anonymous struct> (0x1af5ac0) 0
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1715,15 +1189,7 @@ Class QUrl
base size=4 base align=4
QUrl (0x1ba5240) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0x1ba5400) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0x1ba5480) 0 empty
Vtable for QEventLoop
QEventLoop::_ZTV10QEventLoop: 14u entries
@@ -1750,10 +1216,6 @@ QEventLoop (0x1ba5500) 0
QObject (0x1ba5540) 0
primary-for QEventLoop (0x1ba5500)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0x1ba5740) 0
Vtable for QAbstractEventDispatcher
QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 27u entries
@@ -1798,20 +1260,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0x1ba5980) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0x1ba5b40) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0x1ba5bc0) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0x1ba5d00) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -1981,10 +1435,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0x1c8e300) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0x1c8e400) 0 empty
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -2091,20 +1541,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0x1c8ea00) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0x1c8ed40) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0x1d1c000) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0x1d1c0c0) 0 empty
Class QMetaProperty
size=20 align=4
@@ -2116,10 +1558,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0x1d1c180) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0x1d1c240) 0 empty
Vtable for QMimeData
QMimeData::_ZTV9QMimeData: 17u entries
@@ -2301,10 +1739,6 @@ QLibrary (0x1d1cc40) 0
QObject (0x1d1cc80) 0
primary-for QLibrary (0x1d1cc40)
-Class QFlags<QLibrary::LoadHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLibrary::LoadHint> (0x1d1ce40) 0
Vtable for QPluginLoader
QPluginLoader::_ZTV13QPluginLoader: 14u entries
@@ -2341,10 +1775,6 @@ Class QMutex
base size=4 base align=4
QMutex (0x1d1cd80) 0
-Class QMutexLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMutexLocker::<anonymous union> (0x1ddf140) 0
Class QMutexLocker
size=4 align=4
@@ -2356,20 +1786,12 @@ Class QReadWriteLock
base size=4 base align=4
QReadWriteLock (0x1ddf200) 0
-Class QReadLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QReadLocker::<anonymous union> (0x1ddf2c0) 0
Class QReadLocker
size=4 align=4
base size=4 base align=4
QReadLocker (0x1ddf240) 0
-Class QWriteLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QWriteLocker::<anonymous union> (0x1ddf400) 0
Class QWriteLocker
size=4 align=4
@@ -2427,10 +1849,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0x1ddfe00) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0x1ddff00) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -2442,70 +1860,42 @@ Class QDate
base size=4 base align=4
QDate (0x1e6e140) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0x1e6e340) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0x1e6e3c0) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0x1e6e5c0) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0x1e6e640) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0x1e6e7c0) 0 empty
Class QPoint
size=8 align=4
base size=8 base align=4
QPoint (0x1e6e840) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0x1e6ecc0) 0 empty
Class QPointF
size=16 align=8
base size=16 base align=4
QPointF (0x1e6ef80) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0x1e6ea00) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0x1f23180) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0x1f23200) 0 empty
Class QLineF
size=32 align=8
base size=32 base align=4
QLineF (0x1f23380) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0x1f23440) 0 empty
Class QLinkedListData
size=20 align=4
@@ -2517,40 +1907,24 @@ Class QSize
base size=8 base align=4
QSize (0x1f23a80) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0x1f23e80) 0 empty
Class QSizeF
size=16 align=8
base size=16 base align=4
QSizeF (0x2027040) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0x2027440) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0x20278c0) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0x2027a80) 0 empty
Class QRectF
size=32 align=8
base size=32 base align=4
QRectF (0x2027d00) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0x2027ec0) 0 empty
Class QSharedData
size=4 align=4
@@ -2775,20 +2149,12 @@ Class QNetworkAddressEntry
base size=4 base align=4
QNetworkAddressEntry (0x213af80) 0
-Class QSharedDataPointer<QNetworkInterfacePrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QNetworkInterfacePrivate> (0x221d1c0) 0
Class QNetworkInterface
size=4 align=4
base size=4 base align=4
QNetworkInterface (0x221d000) 0
-Class QFlags<QNetworkInterface::InterfaceFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QNetworkInterface::InterfaceFlag> (0x221d2c0) 0
Class QNetworkProxy
size=4 align=4
@@ -2913,28 +2279,8 @@ QUdpSocket (0x221d6c0) 0
QObject (0x221d780) 0
primary-for QIODevice (0x221d740)
-Class QFlags<QUdpSocket::BindFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUdpSocket::BindFlag> (0x221d940) 0
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0x22e3000) 0
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0x22e3e80) 0
-Class QTypeInfo<QDebug::Stream*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDebug::Stream*> (0x232ff00) 0 empty
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0x23cf340) 0
diff --git a/tests/auto/bic/data/QtNetwork.4.2.0.win32-gcc-ia32.txt b/tests/auto/bic/data/QtNetwork.4.2.0.win32-gcc-ia32.txt
index 9b2f4ca..00c2a1c 100644
--- a/tests/auto/bic/data/QtNetwork.4.2.0.win32-gcc-ia32.txt
+++ b/tests/auto/bic/data/QtNetwork.4.2.0.win32-gcc-ia32.txt
@@ -1,34 +1,8 @@
-Class QUintForSize<4>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<4> (0xa9db00) 0 empty
-Class QUintForSize<8>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<8> (0xa9dc00) 0 empty
-Class QUintForType<void*>
- size=1 align=1
- base size=1 base align=1
-QUintForType<void*> (0xa9df00) 0 empty
- QUintForSize<4> (0xac3000) 0 empty
-Class QIntForSize<4>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<4> (0xac3180) 0 empty
-Class QIntForSize<8>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<8> (0xac3240) 0 empty
-Class QIntForType<void*>
- size=1 align=1
- base size=1 base align=1
-QIntForType<void*> (0xac34c0) 0 empty
- QIntForSize<4> (0xac3580) 0 empty
Class QSysInfo
size=1 align=1
@@ -50,80 +24,20 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0xaf3380) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0xaf3b80) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0xaf3d00) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0xaf3e80) 0 empty
-Class QTypeInfo<uchar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uchar> (0xb0b000) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0xb0b180) 0 empty
-Class QTypeInfo<ushort>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ushort> (0xb0b300) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0xb0b480) 0 empty
-Class QTypeInfo<uint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uint> (0xb0b600) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0xb0b780) 0 empty
-Class QTypeInfo<ulong>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ulong> (0xb0b900) 0 empty
-Class QTypeInfo<qint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<qint64> (0xb0ba80) 0 empty
-Class QTypeInfo<quint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<quint64> (0xb0bc00) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0xb0bd80) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0xb0bf00) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0xb37080) 0 empty
Class QFlag
size=4 align=4
@@ -140,10 +54,6 @@ Class QChar
base size=2 base align=2
QChar (0xb60f00) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0xb97380) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -171,75 +81,19 @@ Class QByteRef
base size=8 base align=4
QByteRef (0xc4bb00) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0xd72780) 0 empty
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0xd84e00) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0xd940c0) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0xd84980) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0xd9ae40) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0xd94780) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0xda58c0) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0xdd9300) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0xdd9600) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0xda0080) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0xde94c0) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0xde9d00) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0xdef080) 0
-Class QFlags<Qt::TextInteractionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::TextInteractionFlag> (0xdef480) 0
Class QInternal
size=1 align=1
@@ -266,10 +120,6 @@ Class QLatin1String
base size=4 base align=4
QLatin1String (0xee0240) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0xee0780) 0
Class QCharRef
size=8 align=4
@@ -282,10 +132,6 @@ Class QConstString
QConstString (0x11f3dc0) 0
QString (0x11f3e00) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0x1260140) 0 empty
Vtable for std::exception
std::exception::_ZTVSt9exception: 5u entries
@@ -348,10 +194,6 @@ Class QListData
base size=4 base align=4
QListData (0x12d61c0) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0x13dc180) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -376,15 +218,7 @@ Class QTextCodec
QTextCodec (0xee01c0) 0 nearly-empty
vptr=((&QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0x1400480) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0xc5d5c0) 0
Class QTextEncoder
size=32 align=4
@@ -407,25 +241,13 @@ Class QGenericReturnArgument
QGenericReturnArgument (0x144b300) 0
QGenericArgument (0x144b340) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0x1460ac0) 0
Class QMetaObject
size=16 align=4
base size=16 base align=4
QMetaObject (0x144b8c0) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0x1490340) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0x1476f40) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -517,10 +339,6 @@ QIODevice (0x13b5a40) 0
QObject (0x150ab40) 0
primary-for QIODevice (0x13b5a40)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0x150ae40) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -540,25 +358,13 @@ Class QRegExp
base size=4 base align=4
QRegExp (0xee00c0) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0x15d9c00) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0x15d9f80) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0x15f14c0) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0x15f1380) 0
Class QStringList
size=4 align=4
@@ -566,15 +372,7 @@ Class QStringList
QStringList (0xee0140) 0
QList<QString> (0x15f1740) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0x15f1600) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0x15f15c0) 0
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -703,50 +501,22 @@ QFile (0x1708080) 0
QObject (0x1708100) 0
primary-for QIODevice (0x17080c0)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0x1708940) 0
Class QFileInfo
size=4 align=4
base size=4 base align=4
QFileInfo (0x1760140) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0x1760a80) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0x1779ac0) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0x1779f80) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0x1779e80) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0x171efc0) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0x17b4c80) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0x17b4880) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -803,10 +573,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0x16f5f80) 0
vptr=((&QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0x18540c0) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -880,10 +646,6 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0x18bbb80) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0x18bbc80) 0 empty
Class QMapData::Node
size=8 align=4
@@ -908,10 +670,6 @@ Class QTextStream
QTextStream (0x1afb580) 0
vptr=((&QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0x1afb940) 0
Class QTextStreamManipulator
size=24 align=4
@@ -948,20 +706,8 @@ QTextOStream (0x1b89740) 0
QTextStream (0x1b89780) 0
primary-for QTextOStream (0x1b89740)
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x1bbd980) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x1bbdb00) 0
-Class <anonymous struct>
- size=16 align=8
- base size=16 base align=8
-<anonymous struct> (0x1be98c0) 0
Class QVectorData
size=16 align=4
@@ -1099,15 +845,7 @@ Class QLocale
base size=4 base align=4
QLocale (0x1e50cc0) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0x1e99980) 0 empty
-Class QFlags<QLocale::NumberOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLocale::NumberOption> (0x1e99040) 0
Vtable for QSystemLocale
QSystemLocale::_ZTV13QSystemLocale: 6u entries
@@ -1134,270 +872,58 @@ Class QMetaType
base size=0 base align=1
QMetaType (0x1efb400) 0 empty
-Class QMetaTypeId2<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QString> (0x1f1c840) 0 empty
-Class QMetaTypeId2<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<int> (0x1f1c9c0) 0 empty
-Class QMetaTypeId2<uint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<uint> (0x1f1cb40) 0 empty
-Class QMetaTypeId2<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<bool> (0x1f1ccc0) 0 empty
-Class QMetaTypeId2<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<double> (0x1f1ce40) 0 empty
-Class QMetaTypeId2<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QByteArray> (0x1f1cfc0) 0 empty
-Class QMetaTypeId2<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QChar> (0x1f30140) 0 empty
-Class QMetaTypeId2<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long int> (0x1f302c0) 0 empty
-Class QMetaTypeId2<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short int> (0x1f30440) 0 empty
-Class QMetaTypeId2<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<char> (0x1f305c0) 0 empty
-Class QMetaTypeId2<ulong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<ulong> (0x1f30740) 0 empty
-Class QMetaTypeId2<ushort>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<ushort> (0x1f308c0) 0 empty
-Class QMetaTypeId2<uchar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<uchar> (0x1f30a40) 0 empty
-Class QMetaTypeId2<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<float> (0x1f30bc0) 0 empty
-Class QMetaTypeId2<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QObject*> (0x1f30d40) 0 empty
-Class QMetaTypeId2<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QWidget*> (0x1f30ec0) 0 empty
-Class QMetaTypeId2<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<void*> (0x1f50040) 0 empty
-Class QMetaTypeId2<qlonglong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<qlonglong> (0x1f501c0) 0 empty
-Class QMetaTypeId2<qulonglong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<qulonglong> (0x1f50340) 0 empty
-Class QMetaTypeId2<QStringList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QStringList> (0x1f504c0) 0 empty
-Class QMetaTypeId2<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitArray> (0x1f50640) 0 empty
-Class QMetaTypeId2<QDate>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDate> (0x1f507c0) 0 empty
-Class QMetaTypeId2<QTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTime> (0x1f50940) 0 empty
-Class QMetaTypeId2<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDateTime> (0x1f50ac0) 0 empty
-Class QMetaTypeId2<QUrl>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QUrl> (0x1f50c40) 0 empty
-Class QMetaTypeId2<QLocale>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLocale> (0x1f50dc0) 0 empty
-Class QMetaTypeId2<QRect>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRect> (0x1f50f40) 0 empty
-Class QMetaTypeId2<QRectF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRectF> (0x1f6d0c0) 0 empty
-Class QMetaTypeId2<QSize>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSize> (0x1f6d240) 0 empty
-Class QMetaTypeId2<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizeF> (0x1f6d3c0) 0 empty
-Class QMetaTypeId2<QLine>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLine> (0x1f6d540) 0 empty
-Class QMetaTypeId2<QLineF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLineF> (0x1f6d6c0) 0 empty
-Class QMetaTypeId2<QPoint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPoint> (0x1f6d840) 0 empty
-Class QMetaTypeId2<QPointF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPointF> (0x1f6d9c0) 0 empty
-Class QMetaTypeId2<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegExp> (0x1f6db40) 0 empty
-Class QMetaTypeId2<QColorGroup>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColorGroup> (0x1f6dcc0) 0 empty
-Class QMetaTypeId2<QFont>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QFont> (0x1f6de40) 0 empty
-Class QMetaTypeId2<QPixmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPixmap> (0x1f6dfc0) 0 empty
-Class QMetaTypeId2<QBrush>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBrush> (0x1f8c140) 0 empty
-Class QMetaTypeId2<QColor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColor> (0x1f8c2c0) 0 empty
-Class QMetaTypeId2<QPalette>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPalette> (0x1f8c440) 0 empty
-Class QMetaTypeId2<QIcon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QIcon> (0x1f8c5c0) 0 empty
-Class QMetaTypeId2<QImage>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QImage> (0x1f8c740) 0 empty
-Class QMetaTypeId2<QPolygon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPolygon> (0x1f8c8c0) 0 empty
-Class QMetaTypeId2<QRegion>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegion> (0x1f8ca40) 0 empty
-Class QMetaTypeId2<QBitmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitmap> (0x1f8cbc0) 0 empty
-Class QMetaTypeId2<QCursor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QCursor> (0x1f8cd40) 0 empty
-Class QMetaTypeId2<QSizePolicy>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizePolicy> (0x1f8cec0) 0 empty
-Class QMetaTypeId2<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QKeySequence> (0x1fae040) 0 empty
-Class QMetaTypeId2<QPen>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPen> (0x1fae1c0) 0 empty
-Class QMetaTypeId2<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextLength> (0x1fae340) 0 empty
-Class QMetaTypeId2<QTextFormat>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextFormat> (0x1fae4c0) 0 empty
-Class QMetaTypeId2<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMatrix> (0x1fae640) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -1424,45 +950,17 @@ Class QVariant
base size=16 base align=8
QVariant (0x1476c80) 0
-Class QMetaTypeId2<QVariantList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QVariantList> (0x2000e00) 0 empty
-Class QMetaTypeId2<QVariantMap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QVariantMap> (0x2000fc0) 0 empty
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0x2034480) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0x1fc2540) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0x2034780) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0x1fc25c0) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0x1fae800) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0x209c100) 0 empty
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1540,15 +1038,7 @@ Class QUrl
base size=4 base align=4
QUrl (0x1f1c180) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0x2158440) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0x21b6040) 0 empty
Vtable for QEventLoop
QEventLoop::_ZTV10QEventLoop: 14u entries
@@ -1575,10 +1065,6 @@ QEventLoop (0x21b66c0) 0
QObject (0x21b6700) 0
primary-for QEventLoop (0x21b66c0)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0x21b6a00) 0
Vtable for QAbstractEventDispatcher
QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 27u entries
@@ -1623,20 +1109,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0x222d200) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0x222de80) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0x222d180) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0x225a2c0) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -1806,10 +1284,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0x22dd7c0) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0x22dde00) 0 empty
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -1917,20 +1391,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0x143fc00) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0x237bbc0) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0x143fc80) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0x23901c0) 0 empty
Class QMetaProperty
size=20 align=4
@@ -1942,10 +1408,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0x143fd80) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0x2390900) 0 empty
Vtable for QMimeData
QMimeData::_ZTV9QMimeData: 17u entries
@@ -2127,10 +1589,6 @@ QLibrary (0x2451040) 0
QObject (0x2451080) 0
primary-for QLibrary (0x2451040)
-Class QFlags<QLibrary::LoadHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLibrary::LoadHint> (0x24512c0) 0
Vtable for QPluginLoader
QPluginLoader::_ZTV13QPluginLoader: 14u entries
@@ -2172,10 +1630,6 @@ Class QMutex
base size=4 base align=4
QMutex (0x24c17c0) 0
-Class QMutexLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMutexLocker::<anonymous union> (0x24ee000) 0
Class QMutexLocker
size=4 align=4
@@ -2187,20 +1641,12 @@ Class QReadWriteLock
base size=4 base align=4
QReadWriteLock (0x24eee00) 0
-Class QReadLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QReadLocker::<anonymous union> (0x2500140) 0
Class QReadLocker
size=4 align=4
base size=4 base align=4
QReadLocker (0x24eefc0) 0
-Class QWriteLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QWriteLocker::<anonymous union> (0x2500900) 0
Class QWriteLocker
size=4 align=4
@@ -2258,10 +1704,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0x2543ac0) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0x259e480) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -2273,70 +1715,42 @@ Class QDate
base size=4 base align=4
QDate (0x1e50b40) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0x25f3640) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0x1e50bc0) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0x261b280) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0x1760040) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0x2648040) 0 empty
Class QPoint
size=8 align=4
base size=8 base align=4
QPoint (0x1f1c340) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0x2648c80) 0 empty
Class QPointF
size=16 align=8
base size=16 base align=8
QPointF (0x1f1c380) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0x266ee40) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0x1f1c2c0) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0x26b42c0) 0 empty
Class QLineF
size=32 align=8
base size=32 base align=8
QLineF (0x1f1c300) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0x26df780) 0 empty
Class QLinkedListData
size=20 align=4
@@ -2348,40 +1762,24 @@ Class QSize
base size=8 base align=4
QSize (0x1f1c240) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0x27d0fc0) 0 empty
Class QSizeF
size=16 align=8
base size=16 base align=8
QSizeF (0x1f1c280) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0x2823500) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0x1f1c1c0) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0x28b7000) 0 empty
Class QRectF
size=32 align=8
base size=32 base align=8
QRectF (0x1f1c200) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0x292b340) 0 empty
Class QSharedData
size=4 align=4
@@ -2606,20 +2004,12 @@ Class QNetworkAddressEntry
base size=4 base align=4
QNetworkAddressEntry (0x2add380) 0
-Class QSharedDataPointer<QNetworkInterfacePrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QNetworkInterfacePrivate> (0x2addc80) 0
Class QNetworkInterface
size=4 align=4
base size=4 base align=4
QNetworkInterface (0x2add700) 0
-Class QFlags<QNetworkInterface::InterfaceFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QNetworkInterface::InterfaceFlag> (0x2add940) 0
Class QNetworkProxy
size=4 align=4
@@ -2744,28 +2134,8 @@ QUdpSocket (0x2b42700) 0
QObject (0x2b427c0) 0
primary-for QIODevice (0x2b42780)
-Class QFlags<QUdpSocket::BindFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUdpSocket::BindFlag> (0x2b429c0) 0
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0x1400440) 0
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0x15f1480) 0
-Class QTypeInfo<QDebug::Stream*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDebug::Stream*> (0x2d46d80) 0 empty
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0x1779f40) 0
diff --git a/tests/auto/bic/data/QtNetwork.4.3.0.linux-gcc-ia32.txt b/tests/auto/bic/data/QtNetwork.4.3.0.linux-gcc-ia32.txt
index c567de7..45d9480 100644
--- a/tests/auto/bic/data/QtNetwork.4.3.0.linux-gcc-ia32.txt
+++ b/tests/auto/bic/data/QtNetwork.4.3.0.linux-gcc-ia32.txt
@@ -1,34 +1,8 @@
-Class QUintForSize<4>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<4> (0xb7f8fbc0) 0 empty
-Class QUintForSize<8>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<8> (0xb7f8fc00) 0 empty
-Class QUintForType<void*>
- size=1 align=1
- base size=1 base align=1
-QUintForType<void*> (0xb7f8fcc0) 0 empty
- QUintForSize<4> (0xb7f8fd00) 0 empty
-Class QIntForSize<4>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<4> (0xb7f8fd80) 0 empty
-Class QIntForSize<8>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<8> (0xb7f8fdc0) 0 empty
-Class QIntForType<void*>
- size=1 align=1
- base size=1 base align=1
-QIntForType<void*> (0xb7f8fe80) 0 empty
- QIntForSize<4> (0xb7f8fec0) 0 empty
Class QSysInfo
size=1 align=1
@@ -50,150 +24,38 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0xb783e180) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0xb783e240) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0xb783e280) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0xb783e2c0) 0 empty
-Class QTypeInfo<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned char> (0xb783e300) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0xb783e340) 0 empty
-Class QTypeInfo<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short unsigned int> (0xb783e380) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0xb783e3c0) 0 empty
-Class QTypeInfo<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned int> (0xb783e400) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0xb783e440) 0 empty
-Class QTypeInfo<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long unsigned int> (0xb783e480) 0 empty
-Class QTypeInfo<long long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long int> (0xb783e4c0) 0 empty
-Class QTypeInfo<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long unsigned int> (0xb783e500) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0xb783e540) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0xb783e580) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0xb783e5c0) 0 empty
Class QFlag
size=4 align=4
base size=4 base align=4
QFlag (0xb783e600) 0
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0xb783e700) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0xb783e740) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0xb783e780) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0xb783e7c0) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0xb783e800) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0xb783e840) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0xb783e880) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0xb783e8c0) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0xb783e900) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0xb783e940) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0xb783e980) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0xb783e9c0) 0
-Class QFlags<Qt::TextInteractionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::TextInteractionFlag> (0xb783ea00) 0
Class QInternal
size=1 align=1
@@ -211,10 +73,6 @@ Class QGenericReturnArgument
QGenericReturnArgument (0xb783eb00) 0
QGenericArgument (0xb783eb40) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0xb783ed00) 0
Class QMetaObject
size=16 align=4
@@ -231,10 +89,6 @@ Class QChar
base size=2 base align=2
QChar (0xb783edc0) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0xb783ee40) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -267,10 +121,6 @@ Class QByteRef
base size=8 base align=4
QByteRef (0xb73a5140) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0xb73a5180) 0 empty
Class QString::Null
size=1 align=1
@@ -287,10 +137,6 @@ Class QString
base size=4 base align=4
QString (0xb73a51c0) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0xb73a53c0) 0
Class QLatin1String
size=4 align=4
@@ -308,10 +154,6 @@ Class QConstString
QConstString (0xb73a54c0) 0
QString (0xb73a5500) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0xb73a5540) 0 empty
Class QStringRef
size=12 align=4
@@ -379,15 +221,7 @@ Class QListData
base size=4 base align=4
QListData (0xb73a5880) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0xb73a5c00) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0xb73a5b80) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -463,10 +297,6 @@ QLibrary (0xb73a5e40) 0
QObject (0xb73a5e80) 0
primary-for QLibrary (0xb73a5e40)
-Class QFlags<QLibrary::LoadHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLibrary::LoadHint> (0xb73a5f00) 0
Class QUuid
size=16 align=4
@@ -514,10 +344,6 @@ QIODevice (0xb73a5fc0) 0
QObject (0xb73a5300) 0
primary-for QIODevice (0xb73a5fc0)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0xb73a5680) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -537,25 +363,13 @@ Class QRegExp
base size=4 base align=4
QRegExp (0xb73a5800) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0xb73a5a40) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0xb73a5c80) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0xb6dfe000) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0xb73a5d00) 0
Class QStringList
size=4 align=4
@@ -563,15 +377,7 @@ Class QStringList
QStringList (0xb6dfe040) 0
QList<QString> (0xb6dfe080) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0xb6dfe100) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0xb6dfe140) 0
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -627,10 +433,6 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0xb6dfe4c0) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0xb6dfe500) 0 empty
Class QCryptographicHash
size=4 align=4
@@ -642,75 +444,35 @@ Class QDate
base size=4 base align=4
QDate (0xb6dfea40) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0xb6dfeb00) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0xb6dfeb40) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0xb6dfec00) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0xb6dfec40) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0xb6dfed00) 0 empty
Class QByteArrayMatcher
size=1032 align=4
base size=1032 base align=4
QByteArrayMatcher (0xb6dfed40) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0xb6dfedc0) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0xb6dfee00) 0
Class wait
size=4 align=4
base size=4 base align=4
wait (0xb6dfed80) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6dfee40) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6dfee80) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb6dfeec0) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6dfef00) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb6dfef40) 0
Class timespec
size=8 align=4
@@ -722,80 +484,24 @@ Class timeval
base size=8 base align=4
timeval (0xb6dfefc0) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb6dfe240) 0
-Class <anonymous union>
- size=36 align=4
- base size=36 base align=4
-<anonymous union> (0xb6dfe380) 0
Class __pthread_internal_slist
size=4 align=4
base size=4 base align=4
__pthread_internal_slist (0xb6dfe8c0) 0
-Class <anonymous union>::__pthread_mutex_s::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union>::__pthread_mutex_s::<anonymous union> (0xb6dfeb80) 0
-Class <anonymous union>::__pthread_mutex_s
- size=24 align=4
- base size=24 base align=4
-<anonymous union>::__pthread_mutex_s (0xb6dfeac0) 0
-Class <anonymous union>
- size=24 align=4
- base size=24 base align=4
-<anonymous union> (0xb6dfea80) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb6dfebc0) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0xb6dfecc0) 0
-Class <anonymous union>
- size=48 align=4
- base size=48 base align=4
-<anonymous union> (0xb6dfec80) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb6d5d000) 0
-Class <anonymous union>::<anonymous struct>
- size=32 align=4
- base size=32 base align=4
-<anonymous union>::<anonymous struct> (0xb6d5d080) 0
-Class <anonymous union>
- size=32 align=4
- base size=32 base align=4
-<anonymous union> (0xb6d5d040) 0
-Class <anonymous union>
- size=8 align=4
- base size=8 base align=4
-<anonymous union> (0xb6d5d0c0) 0
-Class <anonymous union>
- size=20 align=4
- base size=20 base align=4
-<anonymous union> (0xb6d5d100) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb6d5d140) 0
Class random_data
size=28 align=4
@@ -817,20 +523,12 @@ Class QSize
base size=8 base align=4
QSize (0xb6d5d3c0) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0xb6d5d5c0) 0 empty
Class QSizeF
size=16 align=4
base size=16 base align=4
QSizeF (0xb6d5d640) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0xb6d5d840) 0 empty
Class QLinkedListData
size=20 align=4
@@ -842,15 +540,7 @@ Class QLocale
base size=4 base align=4
QLocale (0xb6d5dc00) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0xb6d5dc40) 0 empty
-Class QFlags<QLocale::NumberOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLocale::NumberOption> (0xb6d5dc80) 0
Vtable for QSystemLocale
QSystemLocale::_ZTV13QSystemLocale: 6u entries
@@ -887,60 +577,36 @@ Class QPoint
base size=8 base align=4
QPoint (0xb6d5d740) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0xb6d5d800) 0 empty
Class QPointF
size=16 align=4
base size=16 base align=4
QPointF (0xb6d5d780) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0xb6d5d7c0) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0xb69de080) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0xb69de180) 0 empty
Class QRectF
size=32 align=4
base size=32 base align=4
QRectF (0xb69de1c0) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0xb69de280) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0xb69de2c0) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0xb69de300) 0 empty
Class QLineF
size=32 align=4
base size=32 base align=4
QLineF (0xb69de340) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0xb69de380) 0 empty
Vtable for QTimeLine
QTimeLine::_ZTV9QTimeLine: 15u entries
@@ -978,10 +644,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0xb69de700) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0xb69de740) 0 empty
Class QLibraryInfo
size=1 align=1
@@ -993,290 +655,66 @@ Class QUrl
base size=4 base align=4
QUrl (0xb69de880) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0xb69de900) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0xb69de940) 0 empty
Class QMetaType
size=1 align=1
base size=0 base align=1
QMetaType (0xb69de980) 0 empty
-Class QMetaTypeId2<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QString> (0xb69dea40) 0 empty
-Class QMetaTypeId2<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<int> (0xb69dea80) 0 empty
-Class QMetaTypeId2<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned int> (0xb69deac0) 0 empty
-Class QMetaTypeId2<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<bool> (0xb69deb00) 0 empty
-Class QMetaTypeId2<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<double> (0xb69deb40) 0 empty
-Class QMetaTypeId2<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QByteArray> (0xb69deb80) 0 empty
-Class QMetaTypeId2<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QChar> (0xb69debc0) 0 empty
-Class QMetaTypeId2<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long int> (0xb69dec00) 0 empty
-Class QMetaTypeId2<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short int> (0xb69dec40) 0 empty
-Class QMetaTypeId2<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<char> (0xb69dec80) 0 empty
-Class QMetaTypeId2<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long unsigned int> (0xb69decc0) 0 empty
-Class QMetaTypeId2<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short unsigned int> (0xb69ded00) 0 empty
-Class QMetaTypeId2<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned char> (0xb69ded40) 0 empty
-Class QMetaTypeId2<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<float> (0xb69ded80) 0 empty
-Class QMetaTypeId2<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QObject*> (0xb69dedc0) 0 empty
-Class QMetaTypeId2<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QWidget*> (0xb69dee00) 0 empty
-Class QMetaTypeId2<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<void*> (0xb69dee40) 0 empty
-Class QMetaTypeId2<long long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long int> (0xb69dee80) 0 empty
-Class QMetaTypeId2<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long unsigned int> (0xb69deec0) 0 empty
-Class QMetaTypeId2<QStringList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QStringList> (0xb69def00) 0 empty
-Class QMetaTypeId2<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitArray> (0xb69def40) 0 empty
-Class QMetaTypeId2<QDate>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDate> (0xb69def80) 0 empty
-Class QMetaTypeId2<QTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTime> (0xb69defc0) 0 empty
-Class QMetaTypeId2<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDateTime> (0xb69de0c0) 0 empty
-Class QMetaTypeId2<QUrl>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QUrl> (0xb69de100) 0 empty
-Class QMetaTypeId2<QLocale>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLocale> (0xb69de140) 0 empty
-Class QMetaTypeId2<QRect>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRect> (0xb69de200) 0 empty
-Class QMetaTypeId2<QRectF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRectF> (0xb69de240) 0 empty
-Class QMetaTypeId2<QSize>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSize> (0xb69de580) 0 empty
-Class QMetaTypeId2<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizeF> (0xb6808000) 0 empty
-Class QMetaTypeId2<QLine>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLine> (0xb6808040) 0 empty
-Class QMetaTypeId2<QLineF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLineF> (0xb6808080) 0 empty
-Class QMetaTypeId2<QPoint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPoint> (0xb68080c0) 0 empty
-Class QMetaTypeId2<QPointF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPointF> (0xb6808100) 0 empty
-Class QMetaTypeId2<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegExp> (0xb6808140) 0 empty
-Class QMetaTypeId2<QColorGroup>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColorGroup> (0xb6808180) 0 empty
-Class QMetaTypeId2<QFont>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QFont> (0xb68081c0) 0 empty
-Class QMetaTypeId2<QPixmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPixmap> (0xb6808200) 0 empty
-Class QMetaTypeId2<QBrush>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBrush> (0xb6808240) 0 empty
-Class QMetaTypeId2<QColor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColor> (0xb6808280) 0 empty
-Class QMetaTypeId2<QPalette>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPalette> (0xb68082c0) 0 empty
-Class QMetaTypeId2<QIcon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QIcon> (0xb6808300) 0 empty
-Class QMetaTypeId2<QImage>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QImage> (0xb6808340) 0 empty
-Class QMetaTypeId2<QPolygon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPolygon> (0xb6808380) 0 empty
-Class QMetaTypeId2<QRegion>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegion> (0xb68083c0) 0 empty
-Class QMetaTypeId2<QBitmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitmap> (0xb6808400) 0 empty
-Class QMetaTypeId2<QCursor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QCursor> (0xb6808440) 0 empty
-Class QMetaTypeId2<QSizePolicy>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizePolicy> (0xb6808480) 0 empty
-Class QMetaTypeId2<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QKeySequence> (0xb68084c0) 0 empty
-Class QMetaTypeId2<QPen>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPen> (0xb6808500) 0 empty
-Class QMetaTypeId2<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextLength> (0xb6808540) 0 empty
-Class QMetaTypeId2<QTextFormat>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextFormat> (0xb6808580) 0 empty
-Class QMetaTypeId2<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMatrix> (0xb68085c0) 0 empty
-Class QMetaTypeId2<QTransform>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTransform> (0xb6808600) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -1303,45 +741,17 @@ Class QVariant
base size=12 base align=4
QVariant (0xb6808640) 0
-Class QMetaTypeId2<QList<QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QList<QVariant> > (0xb68088c0) 0 empty
-Class QMetaTypeId2<QMap<QString, QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMap<QString, QVariant> > (0xb6808900) 0 empty
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0xb6808a00) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0xb6808980) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0xb6808b00) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0xb6808a80) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0xb6808b80) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0xb6808c00) 0 empty
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1368,25 +778,9 @@ QSettings (0xb6808c40) 0
QObject (0xb6808c80) 0
primary-for QSettings (0xb6808c40)
-Class <anonymous struct>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct>::<anonymous union> (0xb6808d80) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6808d40) 0
-Class <anonymous struct>
- size=12 align=4
- base size=12 base align=4
-<anonymous struct> (0xb6808dc0) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb6808e00) 0
Class __gconv_trans_data
size=20 align=4
@@ -1408,15 +802,7 @@ Class __gconv_info
base size=8 base align=4
__gconv_info (0xb6808f00) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0xb6808f80) 0
-Class <anonymous union>
- size=44 align=4
- base size=44 base align=4
-<anonymous union> (0xb6808f40) 0
Class _IO_marker
size=12 align=4
@@ -1428,10 +814,6 @@ Class _IO_FILE
base size=148 base align=4
_IO_FILE (0xb6808780) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb68087c0) 0
Vtable for QFile
QFile::_ZTV5QFile: 31u entries
@@ -1477,10 +859,6 @@ QFile (0xb6808800) 0
QObject (0xb6808880) 0
primary-for QIODevice (0xb6808840)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0xb6808d00) 0
Vtable for QTemporaryFile
QTemporaryFile::_ZTV14QTemporaryFile: 31u entries
@@ -1533,40 +911,16 @@ Class QFileInfo
base size=4 base align=4
QFileInfo (0xb671f100) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0xb671f140) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0xb671f180) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0xb671f240) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0xb671f1c0) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0xb671f280) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0xb671f300) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0xb671f380) 0
Vtable for QProcess
QProcess::_ZTV8QProcess: 31u entries
@@ -1650,10 +1004,6 @@ Class QDirIterator
QDirIterator (0xb671f5c0) 0
vptr=((& QDirIterator::_ZTV12QDirIterator) + 8u)
-Class QFlags<QDirIterator::IteratorFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDirIterator::IteratorFlag> (0xb671f680) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -1710,10 +1060,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0xb671f6c0) 0
vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0xb671f840) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -1747,10 +1093,6 @@ Class QAbstractFileEngineIterator
QAbstractFileEngineIterator (0xb671f900) 0
vptr=((& QAbstractFileEngineIterator::_ZTV27QAbstractFileEngineIterator) + 8u)
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0xb671fa40) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -1775,15 +1117,7 @@ Class QTextCodec
QTextCodec (0xb671f980) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0xb671fb80) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0xb671fb00) 0
Class QTextEncoder
size=32 align=4
@@ -1808,10 +1142,6 @@ Class QTextStream
QTextStream (0xb671fc40) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0xb671fd00) 0
Class QTextStreamManipulator
size=24 align=4
@@ -1958,20 +1288,12 @@ Class QReadWriteLock
base size=4 base align=4
QReadWriteLock (0xb671fa00) 0
-Class QReadLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QReadLocker::<anonymous union> (0xb671fcc0) 0
Class QReadLocker
size=4 align=4
base size=4 base align=4
QReadLocker (0xb671fa80) 0
-Class QWriteLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QWriteLocker::<anonymous union> (0xb671ff40) 0
Class QWriteLocker
size=4 align=4
@@ -1983,10 +1305,6 @@ Class QMutex
base size=4 base align=4
QMutex (0xb653d000) 0
-Class QMutexLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMutexLocker::<anonymous union> (0xb653d080) 0
Class QMutexLocker
size=4 align=4
@@ -2066,10 +1384,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0xb653d380) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0xb653d3c0) 0 empty
Vtable for QMimeData
QMimeData::_ZTV9QMimeData: 17u entries
@@ -2104,20 +1418,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0xb653d4c0) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0xb653d500) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0xb653d540) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0xb653d5c0) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -2357,10 +1663,6 @@ QEventLoop (0xb653da40) 0
QObject (0xb653da80) 0
primary-for QEventLoop (0xb653da40)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0xb653db80) 0
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -2555,20 +1857,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0xb653d880) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0xb653d940) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0xb653da00) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0xb653db00) 0 empty
Class QMetaProperty
size=20 align=4
@@ -2580,10 +1874,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0xb653dcc0) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0xb653dd80) 0 empty
Vtable for QTextCodecFactoryInterface
QTextCodecFactoryInterface::_ZTV26QTextCodecFactoryInterface: 6u entries
@@ -2742,10 +2032,6 @@ QUdpSocket (0xb64a9340) 0
QObject (0xb64a9400) 0
primary-for QIODevice (0xb64a93c0)
-Class QFlags<QUdpSocket::BindFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUdpSocket::BindFlag> (0xb64a9480) 0
Class QSslCertificate
size=4 align=4
@@ -2802,10 +2088,6 @@ QTcpSocket (0xb64a9540) 0
QObject (0xb64a9600) 0
primary-for QIODevice (0xb64a95c0)
-Class QMetaTypeId<QList<QSslError> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QList<QSslError> > (0xb64a9680) 0 empty
Vtable for QSslSocket
QSslSocket::_ZTV10QSslSocket: 30u entries
@@ -2864,20 +2146,12 @@ Class QNetworkAddressEntry
base size=4 base align=4
QNetworkAddressEntry (0xb64a9900) 0
-Class QSharedDataPointer<QNetworkInterfacePrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QNetworkInterfacePrivate> (0xb64a99c0) 0
Class QNetworkInterface
size=4 align=4
base size=4 base align=4
QNetworkInterface (0xb64a9940) 0
-Class QFlags<QNetworkInterface::InterfaceFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QNetworkInterface::InterfaceFlag> (0xb64a9a00) 0
Class QSslKey
size=4 align=4
@@ -3056,38 +2330,10 @@ QTcpServer (0xb64a9fc0) 0
QObject (0xb64a9100) 0
primary-for QTcpServer (0xb64a9fc0)
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0xb64a9280) 0
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0xb64a9640) 0
-Class QList<QSslError>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QSslError>::<anonymous union> (0xb64a9cc0) 0
-Class QList<QSslError>
- size=4 align=4
- base size=4 base align=4
-QList<QSslError> (0xb64a9b40) 0
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0xb64a9e40) 0
-Class QTypeInfo<QSslError>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSslError> (0xb612c000) 0 empty
-Class QList<QSslError>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QSslError>::Node (0xb612c080) 0
diff --git a/tests/auto/bic/data/QtNetwork.4.3.1.linux-gcc-ia32.txt b/tests/auto/bic/data/QtNetwork.4.3.1.linux-gcc-ia32.txt
index 2b8d36d..c326a48 100644
--- a/tests/auto/bic/data/QtNetwork.4.3.1.linux-gcc-ia32.txt
+++ b/tests/auto/bic/data/QtNetwork.4.3.1.linux-gcc-ia32.txt
@@ -1,34 +1,8 @@
-Class QUintForSize<4>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<4> (0xb7f4dbc0) 0 empty
-Class QUintForSize<8>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<8> (0xb7f4dc00) 0 empty
-Class QUintForType<void*>
- size=1 align=1
- base size=1 base align=1
-QUintForType<void*> (0xb7f4dcc0) 0 empty
- QUintForSize<4> (0xb7f4dd00) 0 empty
-Class QIntForSize<4>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<4> (0xb7f4dd80) 0 empty
-Class QIntForSize<8>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<8> (0xb7f4ddc0) 0 empty
-Class QIntForType<void*>
- size=1 align=1
- base size=1 base align=1
-QIntForType<void*> (0xb7f4de80) 0 empty
- QIntForSize<4> (0xb7f4dec0) 0 empty
Class QSysInfo
size=1 align=1
@@ -50,80 +24,20 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0xb73fc180) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0xb73fc240) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0xb73fc280) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0xb73fc2c0) 0 empty
-Class QTypeInfo<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned char> (0xb73fc300) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0xb73fc340) 0 empty
-Class QTypeInfo<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short unsigned int> (0xb73fc380) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0xb73fc3c0) 0 empty
-Class QTypeInfo<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned int> (0xb73fc400) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0xb73fc440) 0 empty
-Class QTypeInfo<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long unsigned int> (0xb73fc480) 0 empty
-Class QTypeInfo<long long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long int> (0xb73fc4c0) 0 empty
-Class QTypeInfo<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long unsigned int> (0xb73fc500) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0xb73fc540) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0xb73fc580) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0xb73fc5c0) 0 empty
Class QFlag
size=4 align=4
@@ -161,10 +75,6 @@ Class QByteRef
base size=8 base align=4
QByteRef (0xb73fca00) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0xb73fca40) 0 empty
Vtable for std::exception
std::exception::_ZTVSt9exception: 5u entries
@@ -227,70 +137,18 @@ Class QListData
base size=4 base align=4
QListData (0xb73fcd40) 0
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0xb73fcb40) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0xb73fcc00) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0xb73fccc0) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0xb73fcf00) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0xb73fcf40) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0xb723a000) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0xb723a040) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0xb723a080) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0xb723a0c0) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0xb723a100) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0xb723a140) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0xb723a180) 0
-Class QFlags<Qt::TextInteractionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::TextInteractionFlag> (0xb723a1c0) 0
Class QInternal
size=1 align=1
@@ -308,10 +166,6 @@ Class QGenericReturnArgument
QGenericReturnArgument (0xb723a2c0) 0
QGenericArgument (0xb723a300) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0xb723a4c0) 0
Class QMetaObject
size=16 align=4
@@ -328,10 +182,6 @@ Class QChar
base size=2 base align=2
QChar (0xb723a580) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0xb723a600) 0 empty
Class QString::Null
size=1 align=1
@@ -348,10 +198,6 @@ Class QString
base size=4 base align=4
QString (0xb723a640) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0xb723a840) 0
Class QLatin1String
size=4 align=4
@@ -369,25 +215,13 @@ Class QConstString
QConstString (0xb723a900) 0
QString (0xb723a940) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0xb723a980) 0 empty
Class QStringRef
size=12 align=4
base size=12 base align=4
QStringRef (0xb723a9c0) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0xb723ab00) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0xb723aa80) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -479,10 +313,6 @@ QIODevice (0xb723ad40) 0
QObject (0xb723ad80) 0
primary-for QIODevice (0xb723ad40)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0xb723ae40) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -502,275 +332,59 @@ Class QMetaType
base size=0 base align=1
QMetaType (0xb723af00) 0 empty
-Class QMetaTypeId2<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QString> (0xb723afc0) 0 empty
-Class QMetaTypeId2<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<int> (0xb723a780) 0 empty
-Class QMetaTypeId2<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned int> (0xb723a7c0) 0 empty
-Class QMetaTypeId2<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<bool> (0xb723ab80) 0 empty
-Class QMetaTypeId2<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<double> (0xb723ac00) 0 empty
-Class QMetaTypeId2<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QByteArray> (0xb723adc0) 0 empty
-Class QMetaTypeId2<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QChar> (0xb723aec0) 0 empty
-Class QMetaTypeId2<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long int> (0xb6f88000) 0 empty
-Class QMetaTypeId2<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short int> (0xb6f88040) 0 empty
-Class QMetaTypeId2<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<char> (0xb6f88080) 0 empty
-Class QMetaTypeId2<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long unsigned int> (0xb6f880c0) 0 empty
-Class QMetaTypeId2<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short unsigned int> (0xb6f88100) 0 empty
-Class QMetaTypeId2<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned char> (0xb6f88140) 0 empty
-Class QMetaTypeId2<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<float> (0xb6f88180) 0 empty
-Class QMetaTypeId2<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QObject*> (0xb6f881c0) 0 empty
-Class QMetaTypeId2<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QWidget*> (0xb6f88200) 0 empty
-Class QMetaTypeId2<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<void*> (0xb6f88240) 0 empty
-Class QMetaTypeId2<long long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long int> (0xb6f88280) 0 empty
-Class QMetaTypeId2<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long unsigned int> (0xb6f882c0) 0 empty
-Class QMetaTypeId2<QStringList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QStringList> (0xb6f88300) 0 empty
-Class QMetaTypeId2<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitArray> (0xb6f88340) 0 empty
-Class QMetaTypeId2<QDate>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDate> (0xb6f88380) 0 empty
-Class QMetaTypeId2<QTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTime> (0xb6f883c0) 0 empty
-Class QMetaTypeId2<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDateTime> (0xb6f88400) 0 empty
-Class QMetaTypeId2<QUrl>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QUrl> (0xb6f88440) 0 empty
-Class QMetaTypeId2<QLocale>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLocale> (0xb6f88480) 0 empty
-Class QMetaTypeId2<QRect>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRect> (0xb6f884c0) 0 empty
-Class QMetaTypeId2<QRectF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRectF> (0xb6f88500) 0 empty
-Class QMetaTypeId2<QSize>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSize> (0xb6f88540) 0 empty
-Class QMetaTypeId2<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizeF> (0xb6f88580) 0 empty
-Class QMetaTypeId2<QLine>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLine> (0xb6f885c0) 0 empty
-Class QMetaTypeId2<QLineF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLineF> (0xb6f88600) 0 empty
-Class QMetaTypeId2<QPoint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPoint> (0xb6f88640) 0 empty
-Class QMetaTypeId2<QPointF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPointF> (0xb6f88680) 0 empty
-Class QMetaTypeId2<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegExp> (0xb6f886c0) 0 empty
-Class QMetaTypeId2<QColorGroup>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColorGroup> (0xb6f88700) 0 empty
-Class QMetaTypeId2<QFont>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QFont> (0xb6f88740) 0 empty
-Class QMetaTypeId2<QPixmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPixmap> (0xb6f88780) 0 empty
-Class QMetaTypeId2<QBrush>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBrush> (0xb6f887c0) 0 empty
-Class QMetaTypeId2<QColor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColor> (0xb6f88800) 0 empty
-Class QMetaTypeId2<QPalette>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPalette> (0xb6f88840) 0 empty
-Class QMetaTypeId2<QIcon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QIcon> (0xb6f88880) 0 empty
-Class QMetaTypeId2<QImage>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QImage> (0xb6f888c0) 0 empty
-Class QMetaTypeId2<QPolygon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPolygon> (0xb6f88900) 0 empty
-Class QMetaTypeId2<QRegion>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegion> (0xb6f88940) 0 empty
-Class QMetaTypeId2<QBitmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitmap> (0xb6f88980) 0 empty
-Class QMetaTypeId2<QCursor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QCursor> (0xb6f889c0) 0 empty
-Class QMetaTypeId2<QSizePolicy>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizePolicy> (0xb6f88a00) 0 empty
-Class QMetaTypeId2<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QKeySequence> (0xb6f88a40) 0 empty
-Class QMetaTypeId2<QPen>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPen> (0xb6f88a80) 0 empty
-Class QMetaTypeId2<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextLength> (0xb6f88ac0) 0 empty
-Class QMetaTypeId2<QTextFormat>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextFormat> (0xb6f88b00) 0 empty
-Class QMetaTypeId2<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMatrix> (0xb6f88b40) 0 empty
-Class QMetaTypeId2<QTransform>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTransform> (0xb6f88b80) 0 empty
Class QMapData::Node
size=8 align=4
@@ -807,45 +421,17 @@ Class QVariant
base size=12 base align=4
QVariant (0xb6e5b000) 0
-Class QMetaTypeId2<QList<QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QList<QVariant> > (0xb6e5b280) 0 empty
-Class QMetaTypeId2<QMap<QString, QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMap<QString, QVariant> > (0xb6e5b2c0) 0 empty
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0xb6e5b3c0) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0xb6e5b340) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0xb6e5b4c0) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0xb6e5b440) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0xb6e5b540) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0xb6e5b5c0) 0 empty
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -972,10 +558,6 @@ QEventLoop (0xb6e5ba40) 0
QObject (0xb6e5ba80) 0
primary-for QEventLoop (0xb6e5ba40)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0xb6e5bb80) 0
Vtable for QCoreApplication
QCoreApplication::_ZTV16QCoreApplication: 16u entries
@@ -1009,10 +591,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0xb6e5bd40) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0xb6e5bd80) 0 empty
Vtable for QTimer
QTimer::_ZTV6QTimer: 14u entries
@@ -1069,20 +647,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0xb6e5bf40) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0xb6e5bf80) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0xb6e5bfc0) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0xb6e5b180) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -1277,20 +847,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0xb6e5bb00) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0xb6e5bc40) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0xb6e5bc80) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0xb6e5bcc0) 0 empty
Class QMetaProperty
size=20 align=4
@@ -1302,10 +864,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0xb6e5bf00) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0xb6bdf000) 0 empty
Vtable for QSocketNotifier
QSocketNotifier::_ZTV15QSocketNotifier: 14u entries
@@ -1408,100 +966,48 @@ Class QSize
base size=8 base align=4
QSize (0xb6bdf300) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0xb6bdf500) 0 empty
Class QSizeF
size=16 align=4
base size=16 base align=4
QSizeF (0xb6bdf580) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0xb6bdf780) 0 empty
Class QPoint
size=8 align=4
base size=8 base align=4
QPoint (0xb6bdf840) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0xb6bdfa80) 0 empty
Class QPointF
size=16 align=4
base size=16 base align=4
QPointF (0xb6bdfac0) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0xb6bdfd00) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0xb6bdfd40) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0xb6bdfe40) 0 empty
Class QRectF
size=32 align=4
base size=32 base align=4
QRectF (0xb6bdfe80) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0xb6bdff40) 0 empty
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0xb6bdffc0) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0xb6bdf0c0) 0
Class wait
size=4 align=4
base size=4 base align=4
wait (0xb6bdff80) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6bdf180) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6bdf240) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb6bdf340) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6bdf380) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb6bdf3c0) 0
Class timespec
size=8 align=4
@@ -1513,80 +1019,24 @@ Class timeval
base size=8 base align=4
timeval (0xb6bdf440) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb6bdf480) 0
-Class <anonymous union>
- size=36 align=4
- base size=36 base align=4
-<anonymous union> (0xb6bdf4c0) 0
Class __pthread_internal_slist
size=4 align=4
base size=4 base align=4
__pthread_internal_slist (0xb6bdf5c0) 0
-Class <anonymous union>::__pthread_mutex_s::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union>::__pthread_mutex_s::<anonymous union> (0xb6bdf680) 0
-Class <anonymous union>::__pthread_mutex_s
- size=24 align=4
- base size=24 base align=4
-<anonymous union>::__pthread_mutex_s (0xb6bdf640) 0
-Class <anonymous union>
- size=24 align=4
- base size=24 base align=4
-<anonymous union> (0xb6bdf600) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb6bdf6c0) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0xb6bdf740) 0
-Class <anonymous union>
- size=48 align=4
- base size=48 base align=4
-<anonymous union> (0xb6bdf700) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb6bdf880) 0
-Class <anonymous union>::<anonymous struct>
- size=32 align=4
- base size=32 base align=4
-<anonymous union>::<anonymous struct> (0xb6bdf900) 0
-Class <anonymous union>
- size=32 align=4
- base size=32 base align=4
-<anonymous union> (0xb6bdf8c0) 0
-Class <anonymous union>
- size=8 align=4
- base size=8 base align=4
-<anonymous union> (0xb6bdf940) 0
-Class <anonymous union>
- size=20 align=4
- base size=20 base align=4
-<anonymous union> (0xb6bdf980) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb6bdf9c0) 0
Class random_data
size=28 align=4
@@ -1618,35 +1068,19 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0xb6a0e000) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0xb6a0e040) 0 empty
Class QRegExp
size=4 align=4
base size=4 base align=4
QRegExp (0xb6a0e7c0) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0xb6a0e800) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0xb6a0e840) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0xb6a0e900) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0xb6a0e880) 0
Class QStringList
size=4 align=4
@@ -1654,15 +1088,7 @@ Class QStringList
QStringList (0xb6a0e940) 0
QList<QString> (0xb6a0e980) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0xb6a0ea00) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0xb6a0ea40) 0
Vtable for QTimeLine
QTimeLine::_ZTV9QTimeLine: 15u entries
@@ -1695,15 +1121,7 @@ Class QLocale
base size=4 base align=4
QLocale (0xb6a0ec40) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0xb6a0ec80) 0 empty
-Class QFlags<QLocale::NumberOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLocale::NumberOption> (0xb6a0ecc0) 0
Vtable for QSystemLocale
QSystemLocale::_ZTV13QSystemLocale: 6u entries
@@ -1730,10 +1148,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0xb6a0ef00) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0xb6a0ef40) 0 empty
Class QCryptographicHash
size=4 align=4
@@ -1750,20 +1164,12 @@ Class QLine
base size=16 base align=4
QLine (0xb68162c0) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0xb6816300) 0 empty
Class QLineF
size=32 align=4
base size=32 base align=4
QLineF (0xb6816340) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0xb6816380) 0 empty
Class QSharedData
size=4 align=4
@@ -1775,30 +1181,18 @@ Class QDate
base size=4 base align=4
QDate (0xb6816500) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0xb68165c0) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0xb6816600) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0xb68166c0) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0xb6816700) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0xb68167c0) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -1810,20 +1204,12 @@ Class QReadWriteLock
base size=4 base align=4
QReadWriteLock (0xb6816840) 0
-Class QReadLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QReadLocker::<anonymous union> (0xb68168c0) 0
Class QReadLocker
size=4 align=4
base size=4 base align=4
QReadLocker (0xb6816880) 0
-Class QWriteLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QWriteLocker::<anonymous union> (0xb6816940) 0
Class QWriteLocker
size=4 align=4
@@ -1876,20 +1262,12 @@ Class QMutex
base size=4 base align=4
QMutex (0xb6816b80) 0
-Class QMutexLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMutexLocker::<anonymous union> (0xb6816c00) 0
Class QMutexLocker
size=4 align=4
base size=4 base align=4
QMutexLocker (0xb6816bc0) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0xb6816d00) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -1914,15 +1292,7 @@ Class QTextCodec
QTextCodec (0xb6816c40) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0xb6816e40) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0xb6816dc0) 0
Class QTextEncoder
size=32 align=4
@@ -1934,25 +1304,9 @@ Class QTextDecoder
base size=32 base align=4
QTextDecoder (0xb6816ec0) 0
-Class <anonymous struct>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct>::<anonymous union> (0xb6816f40) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6816f00) 0
-Class <anonymous struct>
- size=12 align=4
- base size=12 base align=4
-<anonymous struct> (0xb6816f80) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb6816fc0) 0
Class __gconv_trans_data
size=20 align=4
@@ -1974,15 +1328,7 @@ Class __gconv_info
base size=8 base align=4
__gconv_info (0xb6816640) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0xb6816740) 0
-Class <anonymous union>
- size=44 align=4
- base size=44 base align=4
-<anonymous union> (0xb6816680) 0
Class _IO_marker
size=12 align=4
@@ -1994,10 +1340,6 @@ Class _IO_FILE
base size=148 base align=4
_IO_FILE (0xb6816a40) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb6816cc0) 0
Vtable for QTextStream
QTextStream::_ZTV11QTextStream: 4u entries
@@ -2012,10 +1354,6 @@ Class QTextStream
QTextStream (0xb6816d40) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0xb65c2080) 0
Class QTextStreamManipulator
size=24 align=4
@@ -2131,35 +1469,15 @@ QFile (0xb65c24c0) 0
QObject (0xb65c2540) 0
primary-for QIODevice (0xb65c2500)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0xb65c25c0) 0
Class QFileInfo
size=4 align=4
base size=4 base align=4
QFileInfo (0xb65c2600) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0xb65c2640) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0xb65c2680) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0xb65c2740) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0xb65c26c0) 0
Vtable for QTemporaryFile
QTemporaryFile::_ZTV14QTemporaryFile: 31u entries
@@ -2212,15 +1530,7 @@ Class QDir
base size=4 base align=4
QDir (0xb65c28c0) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0xb65c2940) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0xb65c29c0) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -2277,10 +1587,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0xb65c2a00) 0
vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0xb65c2b80) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -2409,15 +1715,7 @@ Class QUrl
base size=4 base align=4
QUrl (0xb65c2e80) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0xb65c2f00) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0xb65c2f40) 0 empty
Vtable for QDirIterator
QDirIterator::_ZTV12QDirIterator: 4u entries
@@ -2432,10 +1730,6 @@ Class QDirIterator
QDirIterator (0xb65c2f80) 0
vptr=((& QDirIterator::_ZTV12QDirIterator) + 8u)
-Class QFlags<QDirIterator::IteratorFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDirIterator::IteratorFlag> (0xb65c2200) 0
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -2541,10 +1835,6 @@ QLibrary (0xb65c2d40) 0
QObject (0xb65c2e40) 0
primary-for QLibrary (0xb65c2d40)
-Class QFlags<QLibrary::LoadHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLibrary::LoadHint> (0xb65c2fc0) 0
Vtable for QPluginLoader
QPluginLoader::_ZTV13QPluginLoader: 14u entries
@@ -2896,10 +2186,6 @@ Class QSslCipher
base size=4 base align=4
QSslCipher (0xb6468cc0) 0
-Class QMetaTypeId<QList<QSslError> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QList<QSslError> > (0xb6468d00) 0 empty
Vtable for QSslSocket
QSslSocket::_ZTV10QSslSocket: 30u entries
@@ -2986,20 +2272,12 @@ Class QNetworkAddressEntry
base size=4 base align=4
QNetworkAddressEntry (0xb6468100) 0
-Class QSharedDataPointer<QNetworkInterfacePrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QNetworkInterfacePrivate> (0xb6468400) 0
Class QNetworkInterface
size=4 align=4
base size=4 base align=4
QNetworkInterface (0xb6468240) 0
-Class QFlags<QNetworkInterface::InterfaceFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QNetworkInterface::InterfaceFlag> (0xb64683c0) 0
Vtable for QUdpSocket
QUdpSocket::_ZTV10QUdpSocket: 30u entries
@@ -3046,48 +2324,16 @@ QUdpSocket (0xb64684c0) 0
QObject (0xb6468900) 0
primary-for QIODevice (0xb6468840)
-Class QFlags<QUdpSocket::BindFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUdpSocket::BindFlag> (0xb64689c0) 0
Class QSslKey
size=4 align=4
base size=4 base align=4
QSslKey (0xb6468a80) 0
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0xb6468c40) 0
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0xb6468fc0) 0
-Class QList<QSslError>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QSslError>::<anonymous union> (0xb6273140) 0
-Class QList<QSslError>
- size=4 align=4
- base size=4 base align=4
-QList<QSslError> (0xb62730c0) 0
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0xb62731c0) 0
-Class QTypeInfo<QSslError>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSslError> (0xb6273240) 0 empty
-Class QList<QSslError>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QSslError>::Node (0xb62732c0) 0
diff --git a/tests/auto/bic/data/QtNetwork.4.3.2.linux-gcc-ia32.txt b/tests/auto/bic/data/QtNetwork.4.3.2.linux-gcc-ia32.txt
index 6d3b148..9ea28ae 100644
--- a/tests/auto/bic/data/QtNetwork.4.3.2.linux-gcc-ia32.txt
+++ b/tests/auto/bic/data/QtNetwork.4.3.2.linux-gcc-ia32.txt
@@ -1,34 +1,8 @@
-Class QUintForSize<4>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<4> (0xb7fa1bc0) 0 empty
-Class QUintForSize<8>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<8> (0xb7fa1c00) 0 empty
-Class QUintForType<void*>
- size=1 align=1
- base size=1 base align=1
-QUintForType<void*> (0xb7fa1cc0) 0 empty
- QUintForSize<4> (0xb7fa1d00) 0 empty
-Class QIntForSize<4>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<4> (0xb7fa1d80) 0 empty
-Class QIntForSize<8>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<8> (0xb7fa1dc0) 0 empty
-Class QIntForType<void*>
- size=1 align=1
- base size=1 base align=1
-QIntForType<void*> (0xb7fa1e80) 0 empty
- QIntForSize<4> (0xb7fa1ec0) 0 empty
Class QSysInfo
size=1 align=1
@@ -50,150 +24,38 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0xb7850180) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0xb7850240) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0xb7850280) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0xb78502c0) 0 empty
-Class QTypeInfo<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned char> (0xb7850300) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0xb7850340) 0 empty
-Class QTypeInfo<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short unsigned int> (0xb7850380) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0xb78503c0) 0 empty
-Class QTypeInfo<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned int> (0xb7850400) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0xb7850440) 0 empty
-Class QTypeInfo<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long unsigned int> (0xb7850480) 0 empty
-Class QTypeInfo<long long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long int> (0xb78504c0) 0 empty
-Class QTypeInfo<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long unsigned int> (0xb7850500) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0xb7850540) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0xb7850580) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0xb78505c0) 0 empty
Class QFlag
size=4 align=4
base size=4 base align=4
QFlag (0xb7850600) 0
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0xb7850700) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0xb7850740) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0xb7850780) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0xb78507c0) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0xb7850800) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0xb7850840) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0xb7850880) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0xb78508c0) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0xb7850900) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0xb7850940) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0xb7850980) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0xb78509c0) 0
-Class QFlags<Qt::TextInteractionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::TextInteractionFlag> (0xb7850a00) 0
Class QInternal
size=1 align=1
@@ -211,10 +73,6 @@ Class QGenericReturnArgument
QGenericReturnArgument (0xb7850b00) 0
QGenericArgument (0xb7850b40) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0xb7850d00) 0
Class QMetaObject
size=16 align=4
@@ -231,10 +89,6 @@ Class QChar
base size=2 base align=2
QChar (0xb7850dc0) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0xb7850e40) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -267,10 +121,6 @@ Class QByteRef
base size=8 base align=4
QByteRef (0xb73b7140) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0xb73b7180) 0 empty
Class QString::Null
size=1 align=1
@@ -287,10 +137,6 @@ Class QString
base size=4 base align=4
QString (0xb73b71c0) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0xb73b73c0) 0
Class QLatin1String
size=4 align=4
@@ -308,10 +154,6 @@ Class QConstString
QConstString (0xb73b74c0) 0
QString (0xb73b7500) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0xb73b7540) 0 empty
Class QStringRef
size=12 align=4
@@ -379,15 +221,7 @@ Class QListData
base size=4 base align=4
QListData (0xb73b7880) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0xb73b7c00) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0xb73b7b80) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -463,10 +297,6 @@ QLibrary (0xb73b7e40) 0
QObject (0xb73b7e80) 0
primary-for QLibrary (0xb73b7e40)
-Class QFlags<QLibrary::LoadHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLibrary::LoadHint> (0xb73b7f00) 0
Class QUuid
size=16 align=4
@@ -514,10 +344,6 @@ QIODevice (0xb73b7fc0) 0
QObject (0xb73b7300) 0
primary-for QIODevice (0xb73b7fc0)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0xb73b7680) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -537,25 +363,13 @@ Class QRegExp
base size=4 base align=4
QRegExp (0xb73b7800) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0xb73b7a40) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0xb73b7c80) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0xb6e10000) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0xb73b7d00) 0
Class QStringList
size=4 align=4
@@ -563,15 +377,7 @@ Class QStringList
QStringList (0xb6e10040) 0
QList<QString> (0xb6e10080) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0xb6e10100) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0xb6e10140) 0
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -627,10 +433,6 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0xb6e104c0) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0xb6e10500) 0 empty
Class QCryptographicHash
size=4 align=4
@@ -642,75 +444,35 @@ Class QDate
base size=4 base align=4
QDate (0xb6e10a40) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0xb6e10b00) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0xb6e10b40) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0xb6e10c00) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0xb6e10c40) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0xb6e10d00) 0 empty
Class QByteArrayMatcher
size=1032 align=4
base size=1032 base align=4
QByteArrayMatcher (0xb6e10d40) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0xb6e10dc0) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0xb6e10e00) 0
Class wait
size=4 align=4
base size=4 base align=4
wait (0xb6e10d80) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6e10e40) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6e10e80) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb6e10ec0) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6e10f00) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb6e10f40) 0
Class timespec
size=8 align=4
@@ -722,80 +484,24 @@ Class timeval
base size=8 base align=4
timeval (0xb6e10fc0) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb6e10240) 0
-Class <anonymous union>
- size=36 align=4
- base size=36 base align=4
-<anonymous union> (0xb6e10380) 0
Class __pthread_internal_slist
size=4 align=4
base size=4 base align=4
__pthread_internal_slist (0xb6e108c0) 0
-Class <anonymous union>::__pthread_mutex_s::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union>::__pthread_mutex_s::<anonymous union> (0xb6e10b80) 0
-Class <anonymous union>::__pthread_mutex_s
- size=24 align=4
- base size=24 base align=4
-<anonymous union>::__pthread_mutex_s (0xb6e10ac0) 0
-Class <anonymous union>
- size=24 align=4
- base size=24 base align=4
-<anonymous union> (0xb6e10a80) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb6e10bc0) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0xb6e10cc0) 0
-Class <anonymous union>
- size=48 align=4
- base size=48 base align=4
-<anonymous union> (0xb6e10c80) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb6d6f000) 0
-Class <anonymous union>::<anonymous struct>
- size=32 align=4
- base size=32 base align=4
-<anonymous union>::<anonymous struct> (0xb6d6f080) 0
-Class <anonymous union>
- size=32 align=4
- base size=32 base align=4
-<anonymous union> (0xb6d6f040) 0
-Class <anonymous union>
- size=8 align=4
- base size=8 base align=4
-<anonymous union> (0xb6d6f0c0) 0
-Class <anonymous union>
- size=20 align=4
- base size=20 base align=4
-<anonymous union> (0xb6d6f100) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb6d6f140) 0
Class random_data
size=28 align=4
@@ -817,20 +523,12 @@ Class QSize
base size=8 base align=4
QSize (0xb6d6f3c0) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0xb6d6f5c0) 0 empty
Class QSizeF
size=16 align=4
base size=16 base align=4
QSizeF (0xb6d6f640) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0xb6d6f840) 0 empty
Class QLinkedListData
size=20 align=4
@@ -842,15 +540,7 @@ Class QLocale
base size=4 base align=4
QLocale (0xb6d6fc00) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0xb6d6fc40) 0 empty
-Class QFlags<QLocale::NumberOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLocale::NumberOption> (0xb6d6fc80) 0
Vtable for QSystemLocale
QSystemLocale::_ZTV13QSystemLocale: 6u entries
@@ -887,60 +577,36 @@ Class QPoint
base size=8 base align=4
QPoint (0xb6d6f740) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0xb6d6f800) 0 empty
Class QPointF
size=16 align=4
base size=16 base align=4
QPointF (0xb6d6f780) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0xb6d6f7c0) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0xb69f0080) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0xb69f0180) 0 empty
Class QRectF
size=32 align=4
base size=32 base align=4
QRectF (0xb69f01c0) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0xb69f0280) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0xb69f02c0) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0xb69f0300) 0 empty
Class QLineF
size=32 align=4
base size=32 base align=4
QLineF (0xb69f0340) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0xb69f0380) 0 empty
Vtable for QTimeLine
QTimeLine::_ZTV9QTimeLine: 15u entries
@@ -978,10 +644,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0xb69f0700) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0xb69f0740) 0 empty
Class QLibraryInfo
size=1 align=1
@@ -993,290 +655,66 @@ Class QUrl
base size=4 base align=4
QUrl (0xb69f0880) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0xb69f0900) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0xb69f0940) 0 empty
Class QMetaType
size=1 align=1
base size=0 base align=1
QMetaType (0xb69f0980) 0 empty
-Class QMetaTypeId2<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QString> (0xb69f0a40) 0 empty
-Class QMetaTypeId2<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<int> (0xb69f0a80) 0 empty
-Class QMetaTypeId2<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned int> (0xb69f0ac0) 0 empty
-Class QMetaTypeId2<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<bool> (0xb69f0b00) 0 empty
-Class QMetaTypeId2<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<double> (0xb69f0b40) 0 empty
-Class QMetaTypeId2<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QByteArray> (0xb69f0b80) 0 empty
-Class QMetaTypeId2<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QChar> (0xb69f0bc0) 0 empty
-Class QMetaTypeId2<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long int> (0xb69f0c00) 0 empty
-Class QMetaTypeId2<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short int> (0xb69f0c40) 0 empty
-Class QMetaTypeId2<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<char> (0xb69f0c80) 0 empty
-Class QMetaTypeId2<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long unsigned int> (0xb69f0cc0) 0 empty
-Class QMetaTypeId2<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short unsigned int> (0xb69f0d00) 0 empty
-Class QMetaTypeId2<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned char> (0xb69f0d40) 0 empty
-Class QMetaTypeId2<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<float> (0xb69f0d80) 0 empty
-Class QMetaTypeId2<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QObject*> (0xb69f0dc0) 0 empty
-Class QMetaTypeId2<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QWidget*> (0xb69f0e00) 0 empty
-Class QMetaTypeId2<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<void*> (0xb69f0e40) 0 empty
-Class QMetaTypeId2<long long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long int> (0xb69f0e80) 0 empty
-Class QMetaTypeId2<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long unsigned int> (0xb69f0ec0) 0 empty
-Class QMetaTypeId2<QStringList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QStringList> (0xb69f0f00) 0 empty
-Class QMetaTypeId2<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitArray> (0xb69f0f40) 0 empty
-Class QMetaTypeId2<QDate>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDate> (0xb69f0f80) 0 empty
-Class QMetaTypeId2<QTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTime> (0xb69f0fc0) 0 empty
-Class QMetaTypeId2<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDateTime> (0xb69f00c0) 0 empty
-Class QMetaTypeId2<QUrl>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QUrl> (0xb69f0100) 0 empty
-Class QMetaTypeId2<QLocale>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLocale> (0xb69f0140) 0 empty
-Class QMetaTypeId2<QRect>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRect> (0xb69f0200) 0 empty
-Class QMetaTypeId2<QRectF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRectF> (0xb69f0240) 0 empty
-Class QMetaTypeId2<QSize>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSize> (0xb69f0580) 0 empty
-Class QMetaTypeId2<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizeF> (0xb681a000) 0 empty
-Class QMetaTypeId2<QLine>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLine> (0xb681a040) 0 empty
-Class QMetaTypeId2<QLineF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLineF> (0xb681a080) 0 empty
-Class QMetaTypeId2<QPoint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPoint> (0xb681a0c0) 0 empty
-Class QMetaTypeId2<QPointF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPointF> (0xb681a100) 0 empty
-Class QMetaTypeId2<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegExp> (0xb681a140) 0 empty
-Class QMetaTypeId2<QColorGroup>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColorGroup> (0xb681a180) 0 empty
-Class QMetaTypeId2<QFont>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QFont> (0xb681a1c0) 0 empty
-Class QMetaTypeId2<QPixmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPixmap> (0xb681a200) 0 empty
-Class QMetaTypeId2<QBrush>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBrush> (0xb681a240) 0 empty
-Class QMetaTypeId2<QColor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColor> (0xb681a280) 0 empty
-Class QMetaTypeId2<QPalette>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPalette> (0xb681a2c0) 0 empty
-Class QMetaTypeId2<QIcon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QIcon> (0xb681a300) 0 empty
-Class QMetaTypeId2<QImage>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QImage> (0xb681a340) 0 empty
-Class QMetaTypeId2<QPolygon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPolygon> (0xb681a380) 0 empty
-Class QMetaTypeId2<QRegion>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegion> (0xb681a3c0) 0 empty
-Class QMetaTypeId2<QBitmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitmap> (0xb681a400) 0 empty
-Class QMetaTypeId2<QCursor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QCursor> (0xb681a440) 0 empty
-Class QMetaTypeId2<QSizePolicy>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizePolicy> (0xb681a480) 0 empty
-Class QMetaTypeId2<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QKeySequence> (0xb681a4c0) 0 empty
-Class QMetaTypeId2<QPen>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPen> (0xb681a500) 0 empty
-Class QMetaTypeId2<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextLength> (0xb681a540) 0 empty
-Class QMetaTypeId2<QTextFormat>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextFormat> (0xb681a580) 0 empty
-Class QMetaTypeId2<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMatrix> (0xb681a5c0) 0 empty
-Class QMetaTypeId2<QTransform>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTransform> (0xb681a600) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -1303,45 +741,17 @@ Class QVariant
base size=12 base align=4
QVariant (0xb681a640) 0
-Class QMetaTypeId2<QList<QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QList<QVariant> > (0xb681a8c0) 0 empty
-Class QMetaTypeId2<QMap<QString, QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMap<QString, QVariant> > (0xb681a900) 0 empty
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0xb681aa00) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0xb681a980) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0xb681ab00) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0xb681aa80) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0xb681ab80) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0xb681ac00) 0 empty
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1368,25 +778,9 @@ QSettings (0xb681ac40) 0
QObject (0xb681ac80) 0
primary-for QSettings (0xb681ac40)
-Class <anonymous struct>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct>::<anonymous union> (0xb681ad80) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb681ad40) 0
-Class <anonymous struct>
- size=12 align=4
- base size=12 base align=4
-<anonymous struct> (0xb681adc0) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb681ae00) 0
Class __gconv_trans_data
size=20 align=4
@@ -1408,15 +802,7 @@ Class __gconv_info
base size=8 base align=4
__gconv_info (0xb681af00) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0xb681af80) 0
-Class <anonymous union>
- size=44 align=4
- base size=44 base align=4
-<anonymous union> (0xb681af40) 0
Class _IO_marker
size=12 align=4
@@ -1428,10 +814,6 @@ Class _IO_FILE
base size=148 base align=4
_IO_FILE (0xb681a780) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb681a7c0) 0
Vtable for QFile
QFile::_ZTV5QFile: 31u entries
@@ -1477,10 +859,6 @@ QFile (0xb681a800) 0
QObject (0xb681a880) 0
primary-for QIODevice (0xb681a840)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0xb681ad00) 0
Vtable for QTemporaryFile
QTemporaryFile::_ZTV14QTemporaryFile: 31u entries
@@ -1533,40 +911,16 @@ Class QFileInfo
base size=4 base align=4
QFileInfo (0xb6731100) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0xb6731140) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0xb6731180) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0xb6731240) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0xb67311c0) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0xb6731280) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0xb6731300) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0xb6731380) 0
Vtable for QProcess
QProcess::_ZTV8QProcess: 31u entries
@@ -1650,10 +1004,6 @@ Class QDirIterator
QDirIterator (0xb67315c0) 0
vptr=((& QDirIterator::_ZTV12QDirIterator) + 8u)
-Class QFlags<QDirIterator::IteratorFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDirIterator::IteratorFlag> (0xb6731680) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -1710,10 +1060,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0xb67316c0) 0
vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0xb6731840) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -1747,10 +1093,6 @@ Class QAbstractFileEngineIterator
QAbstractFileEngineIterator (0xb6731900) 0
vptr=((& QAbstractFileEngineIterator::_ZTV27QAbstractFileEngineIterator) + 8u)
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0xb6731a40) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -1775,15 +1117,7 @@ Class QTextCodec
QTextCodec (0xb6731980) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0xb6731b80) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0xb6731b00) 0
Class QTextEncoder
size=32 align=4
@@ -1808,10 +1142,6 @@ Class QTextStream
QTextStream (0xb6731c40) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0xb6731d00) 0
Class QTextStreamManipulator
size=24 align=4
@@ -1958,20 +1288,12 @@ Class QReadWriteLock
base size=4 base align=4
QReadWriteLock (0xb6731a00) 0
-Class QReadLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QReadLocker::<anonymous union> (0xb6731cc0) 0
Class QReadLocker
size=4 align=4
base size=4 base align=4
QReadLocker (0xb6731a80) 0
-Class QWriteLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QWriteLocker::<anonymous union> (0xb6731f40) 0
Class QWriteLocker
size=4 align=4
@@ -1983,10 +1305,6 @@ Class QMutex
base size=4 base align=4
QMutex (0xb654f000) 0
-Class QMutexLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMutexLocker::<anonymous union> (0xb654f080) 0
Class QMutexLocker
size=4 align=4
@@ -2066,10 +1384,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0xb654f380) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0xb654f3c0) 0 empty
Vtable for QMimeData
QMimeData::_ZTV9QMimeData: 17u entries
@@ -2104,20 +1418,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0xb654f4c0) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0xb654f500) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0xb654f540) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0xb654f5c0) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -2357,10 +1663,6 @@ QEventLoop (0xb654fa40) 0
QObject (0xb654fa80) 0
primary-for QEventLoop (0xb654fa40)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0xb654fb80) 0
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -2555,20 +1857,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0xb654f880) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0xb654f940) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0xb654fa00) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0xb654fb00) 0 empty
Class QMetaProperty
size=20 align=4
@@ -2580,10 +1874,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0xb654fcc0) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0xb654fd80) 0 empty
Vtable for QTextCodecFactoryInterface
QTextCodecFactoryInterface::_ZTV26QTextCodecFactoryInterface: 6u entries
@@ -2742,10 +2032,6 @@ QUdpSocket (0xb64bb340) 0
QObject (0xb64bb400) 0
primary-for QIODevice (0xb64bb3c0)
-Class QFlags<QUdpSocket::BindFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUdpSocket::BindFlag> (0xb64bb480) 0
Class QSslCertificate
size=4 align=4
@@ -2802,10 +2088,6 @@ QTcpSocket (0xb64bb540) 0
QObject (0xb64bb600) 0
primary-for QIODevice (0xb64bb5c0)
-Class QMetaTypeId<QList<QSslError> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QList<QSslError> > (0xb64bb680) 0 empty
Vtable for QSslSocket
QSslSocket::_ZTV10QSslSocket: 30u entries
@@ -2864,20 +2146,12 @@ Class QNetworkAddressEntry
base size=4 base align=4
QNetworkAddressEntry (0xb64bb900) 0
-Class QSharedDataPointer<QNetworkInterfacePrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QNetworkInterfacePrivate> (0xb64bb9c0) 0
Class QNetworkInterface
size=4 align=4
base size=4 base align=4
QNetworkInterface (0xb64bb940) 0
-Class QFlags<QNetworkInterface::InterfaceFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QNetworkInterface::InterfaceFlag> (0xb64bba00) 0
Class QSslKey
size=4 align=4
@@ -3056,38 +2330,10 @@ QTcpServer (0xb64bbfc0) 0
QObject (0xb64bb100) 0
primary-for QTcpServer (0xb64bbfc0)
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0xb64bb280) 0
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0xb64bb640) 0
-Class QList<QSslError>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QSslError>::<anonymous union> (0xb64bbcc0) 0
-Class QList<QSslError>
- size=4 align=4
- base size=4 base align=4
-QList<QSslError> (0xb64bbb40) 0
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0xb64bbe40) 0
-Class QTypeInfo<QSslError>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSslError> (0xb613f000) 0 empty
-Class QList<QSslError>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QSslError>::Node (0xb613f080) 0
diff --git a/tests/auto/bic/data/QtNetwork.4.4.0.linux-gcc-ia32.txt b/tests/auto/bic/data/QtNetwork.4.4.0.linux-gcc-ia32.txt
index 0c22422..c13de66 100644
--- a/tests/auto/bic/data/QtNetwork.4.4.0.linux-gcc-ia32.txt
+++ b/tests/auto/bic/data/QtNetwork.4.4.0.linux-gcc-ia32.txt
@@ -1,34 +1,8 @@
-Class QUintForSize<4>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<4> (0xb77b7f3c) 0 empty
-Class QUintForSize<8>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<8> (0xb77b7f78) 0 empty
-Class QUintForType<void*>
- size=1 align=1
- base size=1 base align=1
-QUintForType<void*> (0xb7c12b40) 0 empty
- QUintForSize<4> (0xb77bc000) 0 empty
-Class QIntForSize<4>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<4> (0xb77bc12c) 0 empty
-Class QIntForSize<8>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<8> (0xb77bc168) 0 empty
-Class QIntForType<void*>
- size=1 align=1
- base size=1 base align=1
-QIntForType<void*> (0xb7c12d00) 0 empty
- QIntForSize<4> (0xb77bc1e0) 0 empty
Class QSysInfo
size=1 align=1
@@ -50,80 +24,20 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0xb77cf5dc) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0xb77cf7bc) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0xb77cf8ac) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0xb77cf99c) 0 empty
-Class QTypeInfo<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned char> (0xb77cfa8c) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0xb77cfb7c) 0 empty
-Class QTypeInfo<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short unsigned int> (0xb77cfc6c) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0xb77cfd5c) 0 empty
-Class QTypeInfo<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned int> (0xb77cfe4c) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0xb77cff3c) 0 empty
-Class QTypeInfo<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long unsigned int> (0xb77e903c) 0 empty
-Class QTypeInfo<long long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long int> (0xb77e912c) 0 empty
-Class QTypeInfo<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long unsigned int> (0xb77e921c) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0xb77e930c) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0xb77e93fc) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0xb77e94ec) 0 empty
Class QFlag
size=4 align=4
@@ -140,10 +54,6 @@ Class QChar
base size=2 base align=2
QChar (0xb78064ec) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0xb782c1a4) 0 empty
Class QBasicAtomicInt
size=4 align=4
@@ -176,75 +86,19 @@ Class QByteRef
base size=8 base align=4
QByteRef (0xb6ac8d5c) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0xb6b0be4c) 0 empty
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0xb69240f0) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0xb6924a14) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0xb6967348) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0xb6967c6c) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0xb69795a0) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0xb6979ec4) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0xb698c7f8) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0xb699b12c) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0xb699ba50) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0xb69af384) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0xb69afca8) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0xb69c35dc) 0
-Class QFlags<Qt::TextInteractionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::TextInteractionFlag> (0xb69c3f00) 0
Class QInternal
size=1 align=1
@@ -266,10 +120,6 @@ Class QString
base size=4 base align=4
QString (0xb69db99c) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0xb6826c30) 0
Class QLatin1String
size=4 align=4
@@ -287,10 +137,6 @@ Class QConstString
QConstString (0xb6752b00) 0
QString (0xb67a0000) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0xb67a030c) 0 empty
Class QStringRef
size=12 align=4
@@ -358,10 +204,6 @@ Class QListData
base size=4 base align=4
QListData (0xb680a9d8) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0xb66b4c6c) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -386,15 +228,7 @@ Class QTextCodec
QTextCodec (0xb6675fb4) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0xb66cd2d0) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0xb66cd258) 0
Class QTextEncoder
size=32 align=4
@@ -417,25 +251,13 @@ Class QGenericReturnArgument
QGenericReturnArgument (0xb66f8000) 0
QGenericArgument (0xb66f54ec) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0xb66f59d8) 0
Class QMetaObject
size=16 align=4
base size=16 base align=4
QMetaObject (0xb66f57f8) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0xb6709b40) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0xb6709ac8) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -527,10 +349,6 @@ QIODevice (0xb654ae80) 0
QObject (0xb654cb40) 0
primary-for QIODevice (0xb654ae80)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0xb6567e4c) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -550,25 +368,13 @@ Class QRegExp
base size=4 base align=4
QRegExp (0xb65aed5c) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0xb65df564) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0xb65df654) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0xb65dfbb8) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0xb65dfb40) 0
Class QStringList
size=4 align=4
@@ -576,15 +382,7 @@ Class QStringList
QStringList (0xb65bcf80) 0
QList<QString> (0xb65dfbf4) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0xb660e960) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0xb660eb7c) 0
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -664,10 +462,6 @@ Class QMutex
base size=4 base align=4
QMutex (0xb6436e4c) 0
-Class QMutexLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMutexLocker::<anonymous union> (0xb644999c) 0
Class QMutexLocker
size=4 align=4
@@ -747,35 +541,11 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0xb631f2d0) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0xb631f384) 0 empty
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb63b730c) 0
-Class <anonymous struct>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct>::<anonymous union> (0xb63b73fc) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb63b7384) 0
-Class <anonymous struct>
- size=12 align=4
- base size=12 base align=4
-<anonymous struct> (0xb63b7474) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb63b74ec) 0
Class _IO_marker
size=12 align=4
@@ -787,10 +557,6 @@ Class _IO_FILE
base size=148 base align=4
_IO_FILE (0xb63b7564) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb63b75dc) 0
Vtable for QTextStream
QTextStream::_ZTV11QTextStream: 4u entries
@@ -805,10 +571,6 @@ Class QTextStream
QTextStream (0xb63b7618) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0xb63f4d98) 0
Class QTextStreamManipulator
size=24 align=4
@@ -845,40 +607,16 @@ QTextOStream (0xb62220c0) 0
QTextStream (0xb62204ec) 0
primary-for QTextOStream (0xb62220c0)
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0xb6220fb4) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0xb6231000) 0
Class wait
size=4 align=4
base size=4 base align=4
wait (0xb6220f3c) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6231078) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb62310f0) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb6231168) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb62311e0) 0
Class timespec
size=8 align=4
@@ -890,80 +628,24 @@ Class timeval
base size=8 base align=4
timeval (0xb6231258) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb62312d0) 0
-Class <anonymous union>
- size=36 align=4
- base size=36 base align=4
-<anonymous union> (0xb6231348) 0
Class __pthread_internal_slist
size=4 align=4
base size=4 base align=4
__pthread_internal_slist (0xb6231384) 0
-Class <anonymous union>::__pthread_mutex_s::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union>::__pthread_mutex_s::<anonymous union> (0xb62314b0) 0
-Class <anonymous union>::__pthread_mutex_s
- size=24 align=4
- base size=24 base align=4
-<anonymous union>::__pthread_mutex_s (0xb6231438) 0
-Class <anonymous union>
- size=24 align=4
- base size=24 base align=4
-<anonymous union> (0xb62313fc) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb6231528) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0xb6231618) 0
-Class <anonymous union>
- size=48 align=4
- base size=48 base align=4
-<anonymous union> (0xb62315a0) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb6231690) 0
-Class <anonymous union>::<anonymous struct>
- size=32 align=4
- base size=32 base align=4
-<anonymous union>::<anonymous struct> (0xb6231780) 0
-Class <anonymous union>
- size=32 align=4
- base size=32 base align=4
-<anonymous union> (0xb6231708) 0
-Class <anonymous union>
- size=8 align=4
- base size=8 base align=4
-<anonymous union> (0xb6231834) 0
-Class <anonymous union>
- size=20 align=4
- base size=20 base align=4
-<anonymous union> (0xb62318ac) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb6231924) 0
Class random_data
size=28 align=4
@@ -995,20 +677,8 @@ Class QtConcurrent::ResultItem
base size=8 base align=4
QtConcurrent::ResultItem (0xb614d6cc) 0
-Class QMap<int, QtConcurrent::ResultItem>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<int, QtConcurrent::ResultItem>::<anonymous union> (0xb616530c) 0
-Class QMap<int, QtConcurrent::ResultItem>
- size=4 align=4
- base size=4 base align=4
-QMap<int, QtConcurrent::ResultItem> (0xb6165294) 0
-Class QMap<int, QtConcurrent::ResultItem>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QMap<int, QtConcurrent::ResultItem>::const_iterator (0xb6165654) 0
Class QtConcurrent::ResultIteratorBase
size=8 align=4
@@ -1028,10 +698,6 @@ Class QtConcurrent::ResultStoreBase
QtConcurrent::ResultStoreBase (0xb6165780) 0
vptr=((& QtConcurrent::ResultStoreBase::_ZTVN12QtConcurrent15ResultStoreBaseE) + 8u)
-Class QMap<int, QtConcurrent::ResultItem>::iterator
- size=4 align=4
- base size=4 base align=4
-QMap<int, QtConcurrent::ResultItem>::iterator (0xb6165e88) 0
Vtable for QFutureInterfaceBase
QFutureInterfaceBase::_ZTV20QFutureInterfaceBase: 4u entries
@@ -1046,25 +712,8 @@ Class QFutureInterfaceBase
QFutureInterfaceBase (0xb6165f00) 0
vptr=((& QFutureInterfaceBase::_ZTV20QFutureInterfaceBase) + 8u)
-Vtable for QFutureInterface<void>
-QFutureInterface<void>::_ZTV16QFutureInterfaceIvE: 4u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI16QFutureInterfaceIvE)
-8 QFutureInterface<void>::~QFutureInterface
-12 QFutureInterface<void>::~QFutureInterface
-Class QFutureInterface<void>
- size=8 align=4
- base size=8 base align=4
-QFutureInterface<void> (0xb61a8780) 0
- vptr=((& QFutureInterface<void>::_ZTV16QFutureInterfaceIvE) + 8u)
- QFutureInterfaceBase (0xb619a9d8) 0
- primary-for QFutureInterface<void> (0xb61a8780)
-Class QFuture<void>
- size=8 align=4
- base size=8 base align=4
-QFuture<void> (0xb61e7168) 0
Vtable for QFutureWatcherBase
QFutureWatcherBase::_ZTV18QFutureWatcherBase: 16u entries
@@ -1093,34 +742,7 @@ QFutureWatcherBase (0xb62006c0) 0
QObject (0xb62017f8) 0
primary-for QFutureWatcherBase (0xb62006c0)
-Vtable for QFutureWatcher<void>
-QFutureWatcher<void>::_ZTV14QFutureWatcherIvE: 16u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI14QFutureWatcherIvE)
-8 QFutureWatcherBase::metaObject
-12 QFutureWatcherBase::qt_metacast
-16 QFutureWatcherBase::qt_metacall
-20 QFutureWatcher<void>::~QFutureWatcher
-24 QFutureWatcher<void>::~QFutureWatcher
-28 QFutureWatcherBase::event
-32 QObject::eventFilter
-36 QObject::timerEvent
-40 QObject::childEvent
-44 QObject::customEvent
-48 QFutureWatcherBase::connectNotify
-52 QFutureWatcherBase::disconnectNotify
-56 QFutureWatcher<void>::futureInterface
-60 QFutureWatcher<void>::futureInterface
-Class QFutureWatcher<void>
- size=16 align=4
- base size=16 base align=4
-QFutureWatcher<void> (0xb6200dc0) 0
- vptr=((& QFutureWatcher<void>::_ZTV14QFutureWatcherIvE) + 8u)
- QFutureWatcherBase (0xb6200e00) 0
- primary-for QFutureWatcher<void> (0xb6200dc0)
- QObject (0xb601a30c) 0
- primary-for QFutureWatcherBase (0xb6200e00)
Vtable for QRunnable
QRunnable::_ZTV9QRunnable: 5u entries
@@ -1219,60 +841,14 @@ QtConcurrent::ThreadEngineBase (0xb605d2c0) 0
QRunnable (0xb606230c) 0
primary-for QtConcurrent::ThreadEngineBase (0xb605d2c0)
-Class QtConcurrent::ThreadEngineStarterBase<void>
- size=4 align=4
- base size=4 base align=4
-QtConcurrent::ThreadEngineStarterBase<void> (0xb6062b04) 0
-Class QtConcurrent::ThreadEngineStarter<void>
- size=4 align=4
- base size=4 base align=4
-QtConcurrent::ThreadEngineStarter<void> (0xb605dc40) 0
- QtConcurrent::ThreadEngineStarterBase<void> (0xb6062b7c) 0
-Vtable for QtConcurrent::ThreadEngine<void>
-QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE: 26u entries
-0 4u
-4 (int (*)(...))0
-8 (int (*)(...))(& _ZTIN12QtConcurrent12ThreadEngineIvEE)
-12 QtConcurrent::ThreadEngine<T>::result [with T = void]
-16 QtConcurrent::ThreadEngine<T>::asynchronousFinish [with T = void]
-20 QtConcurrent::ThreadEngine<void>::~ThreadEngine
-24 QtConcurrent::ThreadEngine<void>::~ThreadEngine
-28 -4u
-32 0u
-36 0u
-40 0u
-44 0u
-48 0u
-52 -4u
-56 0u
-60 (int (*)(...))-0x000000004
-64 (int (*)(...))(& _ZTIN12QtConcurrent12ThreadEngineIvEE)
-68 QtConcurrent::ThreadEngineBase::run
-72 QtConcurrent::ThreadEngine<void>::_ZTv0_n16_N12QtConcurrent12ThreadEngineIvED1Ev
-76 QtConcurrent::ThreadEngine<void>::_ZTv0_n16_N12QtConcurrent12ThreadEngineIvED0Ev
-80 QtConcurrent::ThreadEngineBase::start
-84 QtConcurrent::ThreadEngineBase::finish
-88 QtConcurrent::ThreadEngineBase::threadFunction
-92 QtConcurrent::ThreadEngineBase::shouldStartThread
-96 QtConcurrent::ThreadEngineBase::shouldThrottleThread
-100 QtConcurrent::ThreadEngine<void>::_ZTv0_n40_N12QtConcurrent12ThreadEngineIvE18asynchronousFinishEv
VTT for QtConcurrent::ThreadEngine<void>
QtConcurrent::ThreadEngine<void>::_ZTTN12QtConcurrent12ThreadEngineIvEE: 2u entries
0 ((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 12u)
4 ((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 68u)
-Class QtConcurrent::ThreadEngine<void>
- size=36 align=4
- base size=4 base align=4
-QtConcurrent::ThreadEngine<void> (0xb605de00) 0 nearly-empty
- vptridx=0u vptr=((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 12u)
- QtConcurrent::ThreadEngineBase (0xb605de40) 4 virtual
- vptridx=4u vbaseoffset=-0x00000000c vptr=((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 68u)
- QRunnable (0xb6078000) 4
- primary-for QtConcurrent::ThreadEngineBase (0xb605de40)
Class std::input_iterator_tag
size=1 align=1
@@ -1315,225 +891,49 @@ Class std::__false_type
base size=0 base align=1
std::__false_type (0xb6078a50) 0 empty
-Class std::__truth_type<true>
- size=1 align=1
- base size=0 base align=1
-std::__truth_type<true> (0xb6078ac8) 0 empty
-Class std::__is_void<void>
- size=1 align=1
- base size=0 base align=1
-std::__is_void<void> (0xb6078ce4) 0 empty
-Class std::__is_integer<bool>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<bool> (0xb6078dd4) 0 empty
-Class std::__is_integer<char>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<char> (0xb6078e4c) 0 empty
-Class std::__is_integer<signed char>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<signed char> (0xb6078ec4) 0 empty
-Class std::__is_integer<unsigned char>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<unsigned char> (0xb6078f3c) 0 empty
-Class std::__is_integer<wchar_t>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<wchar_t> (0xb6078fb4) 0 empty
-Class std::__is_integer<short int>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<short int> (0xb6078168) 0 empty
-Class std::__is_integer<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<short unsigned int> (0xb609903c) 0 empty
-Class std::__is_integer<int>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<int> (0xb60990b4) 0 empty
-Class std::__is_integer<unsigned int>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<unsigned int> (0xb609912c) 0 empty
-Class std::__is_integer<long int>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<long int> (0xb60991a4) 0 empty
-Class std::__is_integer<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<long unsigned int> (0xb609921c) 0 empty
-Class std::__is_integer<long long int>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<long long int> (0xb6099294) 0 empty
-Class std::__is_integer<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<long long unsigned int> (0xb609930c) 0 empty
-Class std::__is_floating<float>
- size=1 align=1
- base size=0 base align=1
-std::__is_floating<float> (0xb60993fc) 0 empty
-Class std::__is_floating<double>
- size=1 align=1
- base size=0 base align=1
-std::__is_floating<double> (0xb6099474) 0 empty
-Class std::__is_floating<long double>
- size=1 align=1
- base size=0 base align=1
-std::__is_floating<long double> (0xb60994ec) 0 empty
-Class std::__is_char<char>
- size=1 align=1
- base size=0 base align=1
-std::__is_char<char> (0xb6099870) 0 empty
-Class std::__is_char<wchar_t>
- size=1 align=1
- base size=0 base align=1
-std::__is_char<wchar_t> (0xb60998e8) 0 empty
-Class std::__is_byte<char>
- size=1 align=1
- base size=0 base align=1
-std::__is_byte<char> (0xb60999d8) 0 empty
-Class std::__is_byte<signed char>
- size=1 align=1
- base size=0 base align=1
-std::__is_byte<signed char> (0xb6099a50) 0 empty
-Class std::__is_byte<unsigned char>
- size=1 align=1
- base size=0 base align=1
-std::__is_byte<unsigned char> (0xb6099ac8) 0 empty
-Class __gnu_cxx::__add_unsigned<char>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__add_unsigned<char> (0xb6099ce4) 0 empty
-Class __gnu_cxx::__add_unsigned<signed char>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__add_unsigned<signed char> (0xb6099d20) 0 empty
-Class __gnu_cxx::__add_unsigned<short int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__add_unsigned<short int> (0xb6099d5c) 0 empty
-Class __gnu_cxx::__add_unsigned<int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__add_unsigned<int> (0xb6099d98) 0 empty
-Class __gnu_cxx::__add_unsigned<long int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__add_unsigned<long int> (0xb6099dd4) 0 empty
-Class __gnu_cxx::__add_unsigned<long long int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__add_unsigned<long long int> (0xb6099e10) 0 empty
-Class __gnu_cxx::__remove_unsigned<char>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__remove_unsigned<char> (0xb6099e88) 0 empty
-Class __gnu_cxx::__remove_unsigned<unsigned char>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__remove_unsigned<unsigned char> (0xb6099ec4) 0 empty
-Class __gnu_cxx::__remove_unsigned<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__remove_unsigned<short unsigned int> (0xb6099f00) 0 empty
-Class __gnu_cxx::__remove_unsigned<unsigned int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__remove_unsigned<unsigned int> (0xb6099f3c) 0 empty
-Class __gnu_cxx::__remove_unsigned<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__remove_unsigned<long unsigned int> (0xb6099f78) 0 empty
-Class __gnu_cxx::__remove_unsigned<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__remove_unsigned<long long unsigned int> (0xb6099fb4) 0 empty
-Class std::iterator<std::output_iterator_tag, void, void, void, void>
- size=1 align=1
- base size=0 base align=1
-std::iterator<std::output_iterator_tag, void, void, void, void> (0xb60ae99c) 0 empty
-Class std::__iter_swap<true>
- size=1 align=1
- base size=0 base align=1
-std::__iter_swap<true> (0xb60ddf78) 0 empty
-Class std::__copy_move<false, false, std::random_access_iterator_tag>
- size=1 align=1
- base size=0 base align=1
-std::__copy_move<false, false, std::random_access_iterator_tag> (0xb5f2d3c0) 0 empty
-Class std::__copy_move_backward<false, false, std::random_access_iterator_tag>
- size=1 align=1
- base size=0 base align=1
-std::__copy_move_backward<false, false, std::random_access_iterator_tag> (0xb5f2d5dc) 0 empty
-Class std::__equal<true>
- size=1 align=1
- base size=0 base align=1
-std::__equal<true> (0xb5f2d9d8) 0 empty
-Class std::__lc_rai<std::random_access_iterator_tag, std::random_access_iterator_tag>
- size=1 align=1
- base size=0 base align=1
-std::__lc_rai<std::random_access_iterator_tag, std::random_access_iterator_tag> (0xb5f2db40) 0 empty
-Class std::__lexicographical_compare<true>
- size=1 align=1
- base size=0 base align=1
-std::__lexicographical_compare<true> (0xb5f2dca8) 0 empty
-Class std::char_traits<char>
- size=1 align=1
- base size=0 base align=1
-std::char_traits<char> (0xb5f72384) 0 empty
-Class std::char_traits<wchar_t>
- size=1 align=1
- base size=0 base align=1
-std::char_traits<wchar_t> (0xb5f7add4) 0 empty
Class lconv
size=56 align=4
@@ -1550,10 +950,6 @@ Class __sched_param
base size=4 base align=4
__sched_param (0xb5f8899c) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb5f88a14) 0
Class tm
size=44 align=4
@@ -1570,15 +966,7 @@ Class _pthread_cleanup_buffer
base size=16 base align=4
_pthread_cleanup_buffer (0xb5f88ce4) 0
-Class <anonymous struct>::<anonymous struct>
- size=28 align=4
- base size=28 base align=4
-<anonymous struct>::<anonymous struct> (0xb5f88e4c) 0
-Class <anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous struct> (0xb5f88dd4) 0
Class __pthread_cleanup_frame
size=16 align=4
@@ -1590,32 +978,10 @@ Class __pthread_cleanup_class
base size=16 base align=4
__pthread_cleanup_class (0xb5f88ec4) 0
-Class std::allocator<void>
- size=1 align=1
- base size=0 base align=1
-std::allocator<void> (0xb60113fc) 0 empty
-Class __gnu_cxx::new_allocator<char>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::new_allocator<char> (0xb60116cc) 0 empty
-Class std::allocator<char>
- size=1 align=1
- base size=1 base align=1
-std::allocator<char> (0xb5e097c0) 0 empty
- __gnu_cxx::new_allocator<char> (0xb6011708) 0 empty
-Class __gnu_cxx::new_allocator<wchar_t>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::new_allocator<wchar_t> (0xb6011744) 0 empty
-Class std::allocator<wchar_t>
- size=1 align=1
- base size=1 base align=1
-std::allocator<wchar_t> (0xb5e09880) 0 empty
- __gnu_cxx::new_allocator<wchar_t> (0xb6011780) 0 empty
Vtable for __cxxabiv1::__forced_unwind
__cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE: 5u entries
@@ -1631,82 +997,19 @@ Class __cxxabiv1::__forced_unwind
__cxxabiv1::__forced_unwind (0xb601199c) 0 nearly-empty
vptr=((& __cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE) + 8u)
-Class __gnu_cxx::__conditional_type<true, __gnu_cxx::__numeric_traits_integer<int>, __gnu_cxx::__numeric_traits_floating<int> >
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__conditional_type<true, __gnu_cxx::__numeric_traits_integer<int>, __gnu_cxx::__numeric_traits_floating<int> > (0xb5eb2294) 0 empty
-Class __gnu_cxx::__numeric_traits_integer<int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__numeric_traits_integer<int> (0xb5eb22d0) 0 empty
-Class __gnu_cxx::__numeric_traits<int>
- size=1 align=1
- base size=1 base align=1
-__gnu_cxx::__numeric_traits<int> (0xb5eaeb40) 0 empty
- __gnu_cxx::__numeric_traits_integer<int> (0xb5eb230c) 0 empty
-Class std::allocator<char>::rebind<char>
- size=1 align=1
- base size=0 base align=1
-std::allocator<char>::rebind<char> (0xb5ee5f78) 0 empty
-Class std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Alloc_hider
- size=4 align=4
- base size=4 base align=4
-std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Alloc_hider (0xb5d48100) 0
- std::allocator<char> (0xb5d48140) 0 empty
- __gnu_cxx::new_allocator<char> (0xb5ee5fb4) 0 empty
-Class std::basic_string<char, std::char_traits<char>, std::allocator<char> >
- size=4 align=4
- base size=4 base align=4
-std::basic_string<char, std::char_traits<char>, std::allocator<char> > (0xb5ee5f00) 0
-Class std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep_base
- size=12 align=4
- base size=12 base align=4
-std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep_base (0xb5d8a000) 0
-Class std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep
- size=12 align=4
- base size=12 base align=4
-std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep (0xb5d482c0) 0
- std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep_base (0xb5d8a03c) 0
-Class std::allocator<wchar_t>::rebind<wchar_t>
- size=1 align=1
- base size=0 base align=1
-std::allocator<wchar_t>::rebind<wchar_t> (0xb5d8a0f0) 0 empty
-Class std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Alloc_hider
- size=4 align=4
- base size=4 base align=4
-std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Alloc_hider (0xb5d484c0) 0
- std::allocator<wchar_t> (0xb5d48500) 0 empty
- __gnu_cxx::new_allocator<wchar_t> (0xb5d8a168) 0 empty
-Class std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >
- size=4 align=4
- base size=4 base align=4
-std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > (0xb5d8a078) 0
-Class std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Rep_base
- size=12 align=4
- base size=12 base align=4
-std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Rep_base (0xb5d8a1a4) 0
-Class std::allocator<wchar_t>::rebind<char>
- size=1 align=1
- base size=0 base align=1
-std::allocator<wchar_t>::rebind<char> (0xb5d8a258) 0 empty
-Class std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Rep
- size=12 align=4
- base size=12 base align=4
-std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Rep (0xb5d48680) 0
- std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Rep_base (0xb5d8a1e0) 0
Class std::locale
size=4 align=4
@@ -1736,97 +1039,16 @@ Class std::locale::_Impl
base size=20 base align=4
std::locale::_Impl (0xb5dec438) 0
-Vtable for std::collate<char>
-std::collate<char>::_ZTVSt7collateIcE: 7u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt7collateIcE)
-8 std::collate<_CharT>::~collate [with _CharT = char]
-12 std::collate<_CharT>::~collate [with _CharT = char]
-16 std::collate<_CharT>::do_compare [with _CharT = char]
-20 std::collate<_CharT>::do_transform [with _CharT = char]
-24 std::collate<_CharT>::do_hash [with _CharT = char]
-
-Class std::collate<char>
- size=12 align=4
- base size=12 base align=4
-std::collate<char> (0xb5df6640) 0
- vptr=((& std::collate<char>::_ZTVSt7collateIcE) + 8u)
- std::locale::facet (0xb5df2dd4) 0
- primary-for std::collate<char> (0xb5df6640)
-Vtable for std::collate<wchar_t>
-std::collate<wchar_t>::_ZTVSt7collateIwE: 7u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt7collateIwE)
-8 std::collate<_CharT>::~collate [with _CharT = wchar_t]
-12 std::collate<_CharT>::~collate [with _CharT = wchar_t]
-16 std::collate<_CharT>::do_compare [with _CharT = wchar_t]
-20 std::collate<_CharT>::do_transform [with _CharT = wchar_t]
-24 std::collate<_CharT>::do_hash [with _CharT = wchar_t]
-
-Class std::collate<wchar_t>
- size=12 align=4
- base size=12 base align=4
-std::collate<wchar_t> (0xb5df6740) 0
- vptr=((& std::collate<wchar_t>::_ZTVSt7collateIwE) + 8u)
- std::locale::facet (0xb5df2ec4) 0
- primary-for std::collate<wchar_t> (0xb5df6740)
-Class __gnu_cxx::__conditional_type<true, __gnu_cxx::__numeric_traits_integer<long unsigned int>, __gnu_cxx::__numeric_traits_floating<long unsigned int> >
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__conditional_type<true, __gnu_cxx::__numeric_traits_integer<long unsigned int>, __gnu_cxx::__numeric_traits_floating<long unsigned int> > (0xb5c112d0) 0 empty
-Class __gnu_cxx::__numeric_traits_integer<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__numeric_traits_integer<long unsigned int> (0xb5c1130c) 0 empty
-Class __gnu_cxx::__numeric_traits<long unsigned int>
- size=1 align=1
- base size=1 base align=1
-__gnu_cxx::__numeric_traits<long unsigned int> (0xb5c186c0) 0 empty
- __gnu_cxx::__numeric_traits_integer<long unsigned int> (0xb5c11348) 0 empty
-Vtable for std::collate_byname<char>
-std::collate_byname<char>::_ZTVSt14collate_bynameIcE: 7u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt14collate_bynameIcE)
-8 std::collate_byname<_CharT>::~collate_byname [with _CharT = char]
-12 std::collate_byname<_CharT>::~collate_byname [with _CharT = char]
-16 std::collate<_CharT>::do_compare [with _CharT = char]
-20 std::collate<_CharT>::do_transform [with _CharT = char]
-24 std::collate<_CharT>::do_hash [with _CharT = char]
-
-Class std::collate_byname<char>
- size=12 align=4
- base size=12 base align=4
-std::collate_byname<char> (0xb5c18800) 0
- vptr=((& std::collate_byname<char>::_ZTVSt14collate_bynameIcE) + 8u)
- std::collate<char> (0xb5c18840) 0
- primary-for std::collate_byname<char> (0xb5c18800)
- std::locale::facet (0xb5c113c0) 0
- primary-for std::collate<char> (0xb5c18840)
-
-Vtable for std::collate_byname<wchar_t>
-std::collate_byname<wchar_t>::_ZTVSt14collate_bynameIwE: 7u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt14collate_bynameIwE)
-8 std::collate_byname<_CharT>::~collate_byname [with _CharT = wchar_t]
-12 std::collate_byname<_CharT>::~collate_byname [with _CharT = wchar_t]
-16 std::collate<_CharT>::do_compare [with _CharT = wchar_t]
-20 std::collate<_CharT>::do_transform [with _CharT = wchar_t]
-24 std::collate<_CharT>::do_hash [with _CharT = wchar_t]
-
-Class std::collate_byname<wchar_t>
- size=12 align=4
- base size=12 base align=4
-std::collate_byname<wchar_t> (0xb5c188c0) 0
- vptr=((& std::collate_byname<wchar_t>::_ZTVSt14collate_bynameIwE) + 8u)
- std::collate<wchar_t> (0xb5c18900) 0
- primary-for std::collate_byname<wchar_t> (0xb5c188c0)
- std::locale::facet (0xb5c114b0) 0
- primary-for std::collate<wchar_t> (0xb5c18900)
+
+
+
+
+
Vtable for std::ios_base::failure
std::ios_base::failure::_ZTVNSt8ios_base7failureE: 5u entries
@@ -1872,583 +1094,85 @@ Class std::ios_base
std::ios_base (0xb5c312d0) 0
vptr=((& std::ios_base::_ZTVSt8ios_base) + 8u)
-Vtable for std::basic_streambuf<char, std::char_traits<char> >
-std::basic_streambuf<char, std::char_traits<char> >::_ZTVSt15basic_streambufIcSt11char_traitsIcEE: 16u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt15basic_streambufIcSt11char_traitsIcEE)
-8 std::basic_streambuf<_CharT, _Traits>::~basic_streambuf [with _CharT = char, _Traits = std::char_traits<char>]
-12 std::basic_streambuf<_CharT, _Traits>::~basic_streambuf [with _CharT = char, _Traits = std::char_traits<char>]
-16 std::basic_streambuf<_CharT, _Traits>::imbue [with _CharT = char, _Traits = std::char_traits<char>]
-20 std::basic_streambuf<_CharT, _Traits>::setbuf [with _CharT = char, _Traits = std::char_traits<char>]
-24 std::basic_streambuf<_CharT, _Traits>::seekoff [with _CharT = char, _Traits = std::char_traits<char>]
-28 std::basic_streambuf<_CharT, _Traits>::seekpos [with _CharT = char, _Traits = std::char_traits<char>]
-32 std::basic_streambuf<_CharT, _Traits>::sync [with _CharT = char, _Traits = std::char_traits<char>]
-36 std::basic_streambuf<_CharT, _Traits>::showmanyc [with _CharT = char, _Traits = std::char_traits<char>]
-40 std::basic_streambuf<_CharT, _Traits>::xsgetn [with _CharT = char, _Traits = std::char_traits<char>]
-44 std::basic_streambuf<_CharT, _Traits>::underflow [with _CharT = char, _Traits = std::char_traits<char>]
-48 std::basic_streambuf<_CharT, _Traits>::uflow [with _CharT = char, _Traits = std::char_traits<char>]
-52 std::basic_streambuf<_CharT, _Traits>::pbackfail [with _CharT = char, _Traits = std::char_traits<char>]
-56 std::basic_streambuf<_CharT, _Traits>::xsputn [with _CharT = char, _Traits = std::char_traits<char>]
-60 std::basic_streambuf<_CharT, _Traits>::overflow [with _CharT = char, _Traits = std::char_traits<char>]
-
-Class std::basic_streambuf<char, std::char_traits<char> >
- size=32 align=4
- base size=32 base align=4
-std::basic_streambuf<char, std::char_traits<char> > (0xb5c71960) 0
- vptr=((& std::basic_streambuf<char, std::char_traits<char> >::_ZTVSt15basic_streambufIcSt11char_traitsIcEE) + 8u)
-Vtable for std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >
-std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >::_ZTVSt15basic_streambufIwSt11char_traitsIwEE: 16u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt15basic_streambufIwSt11char_traitsIwEE)
-8 std::basic_streambuf<_CharT, _Traits>::~basic_streambuf [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-12 std::basic_streambuf<_CharT, _Traits>::~basic_streambuf [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-16 std::basic_streambuf<_CharT, _Traits>::imbue [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-20 std::basic_streambuf<_CharT, _Traits>::setbuf [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-24 std::basic_streambuf<_CharT, _Traits>::seekoff [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-28 std::basic_streambuf<_CharT, _Traits>::seekpos [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-32 std::basic_streambuf<_CharT, _Traits>::sync [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-36 std::basic_streambuf<_CharT, _Traits>::showmanyc [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-40 std::basic_streambuf<_CharT, _Traits>::xsgetn [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-44 std::basic_streambuf<_CharT, _Traits>::underflow [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-48 std::basic_streambuf<_CharT, _Traits>::uflow [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-52 std::basic_streambuf<_CharT, _Traits>::pbackfail [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-56 std::basic_streambuf<_CharT, _Traits>::xsputn [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-60 std::basic_streambuf<_CharT, _Traits>::overflow [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-
-Class std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >
- size=32 align=4
- base size=32 base align=4
-std::basic_streambuf<wchar_t, std::char_traits<wchar_t> > (0xb5c71bf4) 0
- vptr=((& std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >::_ZTVSt15basic_streambufIwSt11char_traitsIwEE) + 8u)
+
+
Class std::ctype_base
size=1 align=1
base size=0 base align=1
std::ctype_base (0xb5c71e88) 0 empty
-Vtable for std::ctype<char>
-std::ctype<char>::_ZTVSt5ctypeIcE: 12u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt5ctypeIcE)
-8 std::ctype<char>::~ctype
-12 std::ctype<char>::~ctype
-16 std::ctype<char>::do_toupper
-20 std::ctype<char>::do_toupper
-24 std::ctype<char>::do_tolower
-28 std::ctype<char>::do_tolower
-32 std::ctype<char>::do_widen
-36 std::ctype<char>::do_widen
-40 std::ctype<char>::do_narrow
-44 std::ctype<char>::do_narrow
-
-Class std::ctype<char>
- size=544 align=4
- base size=542 base align=4
-std::ctype<char> (0xb5ce2fa0) 0
- vptr=((& std::ctype<char>::_ZTVSt5ctypeIcE) + 8u)
- std::locale::facet (0xb5cb6dd4) 0
- primary-for std::ctype<char> (0xb5ce2fa0)
- std::ctype_base (0xb5cb6e10) 0 empty
-
-Vtable for std::__ctype_abstract_base<wchar_t>
-std::__ctype_abstract_base<wchar_t>::_ZTVSt21__ctype_abstract_baseIwE: 16u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt21__ctype_abstract_baseIwE)
-8 std::__ctype_abstract_base<_CharT>::~__ctype_abstract_base [with _CharT = wchar_t]
-12 std::__ctype_abstract_base<_CharT>::~__ctype_abstract_base [with _CharT = wchar_t]
-16 __cxa_pure_virtual
-20 __cxa_pure_virtual
-24 __cxa_pure_virtual
-28 __cxa_pure_virtual
-32 __cxa_pure_virtual
-36 __cxa_pure_virtual
-40 __cxa_pure_virtual
-44 __cxa_pure_virtual
-48 __cxa_pure_virtual
-52 __cxa_pure_virtual
-56 __cxa_pure_virtual
-60 __cxa_pure_virtual
-Class std::__ctype_abstract_base<wchar_t>
- size=8 align=4
- base size=8 base align=4
-std::__ctype_abstract_base<wchar_t> (0xb5cf1870) 0
- vptr=((& std::__ctype_abstract_base<wchar_t>::_ZTVSt21__ctype_abstract_baseIwE) + 8u)
- std::locale::facet (0xb5b0299c) 0
- primary-for std::__ctype_abstract_base<wchar_t> (0xb5cf1870)
- std::ctype_base (0xb5b029d8) 0 empty
-
-Vtable for std::ctype<wchar_t>
-std::ctype<wchar_t>::_ZTVSt5ctypeIwE: 16u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt5ctypeIwE)
-8 std::ctype<wchar_t>::~ctype
-12 std::ctype<wchar_t>::~ctype
-16 std::ctype<wchar_t>::do_is
-20 std::ctype<wchar_t>::do_is
-24 std::ctype<wchar_t>::do_scan_is
-28 std::ctype<wchar_t>::do_scan_not
-32 std::ctype<wchar_t>::do_toupper
-36 std::ctype<wchar_t>::do_toupper
-40 std::ctype<wchar_t>::do_tolower
-44 std::ctype<wchar_t>::do_tolower
-48 std::ctype<wchar_t>::do_widen
-52 std::ctype<wchar_t>::do_widen
-56 std::ctype<wchar_t>::do_narrow
-60 std::ctype<wchar_t>::do_narrow
-
-Class std::ctype<wchar_t>
- size=1264 align=4
- base size=1264 base align=4
-std::ctype<wchar_t> (0xb5cf5800) 0
- vptr=((& std::ctype<wchar_t>::_ZTVSt5ctypeIwE) + 8u)
- std::__ctype_abstract_base<wchar_t> (0xb5b0c6e0) 0
- primary-for std::ctype<wchar_t> (0xb5cf5800)
- std::locale::facet (0xb5b02ac8) 0
- primary-for std::__ctype_abstract_base<wchar_t> (0xb5b0c6e0)
- std::ctype_base (0xb5b02b04) 0 empty
-
-Vtable for std::ctype_byname<char>
-std::ctype_byname<char>::_ZTVSt12ctype_bynameIcE: 12u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt12ctype_bynameIcE)
-8 std::ctype_byname<char>::~ctype_byname
-12 std::ctype_byname<char>::~ctype_byname
-16 std::ctype<char>::do_toupper
-20 std::ctype<char>::do_toupper
-24 std::ctype<char>::do_tolower
-28 std::ctype<char>::do_tolower
-32 std::ctype<char>::do_widen
-36 std::ctype<char>::do_widen
-40 std::ctype<char>::do_narrow
-44 std::ctype<char>::do_narrow
-
-Class std::ctype_byname<char>
- size=544 align=4
- base size=542 base align=4
-std::ctype_byname<char> (0xb5cf59c0) 0
- vptr=((& std::ctype_byname<char>::_ZTVSt12ctype_bynameIcE) + 8u)
- std::ctype<char> (0xb5b13e60) 0
- primary-for std::ctype_byname<char> (0xb5cf59c0)
- std::locale::facet (0xb5b12e10) 0
- primary-for std::ctype<char> (0xb5b13e60)
- std::ctype_base (0xb5b12e4c) 0 empty
-
-Vtable for std::ctype_byname<wchar_t>
-std::ctype_byname<wchar_t>::_ZTVSt12ctype_bynameIwE: 16u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt12ctype_bynameIwE)
-8 std::ctype_byname<wchar_t>::~ctype_byname
-12 std::ctype_byname<wchar_t>::~ctype_byname
-16 std::ctype<wchar_t>::do_is
-20 std::ctype<wchar_t>::do_is
-24 std::ctype<wchar_t>::do_scan_is
-28 std::ctype<wchar_t>::do_scan_not
-32 std::ctype<wchar_t>::do_toupper
-36 std::ctype<wchar_t>::do_toupper
-40 std::ctype<wchar_t>::do_tolower
-44 std::ctype<wchar_t>::do_tolower
-48 std::ctype<wchar_t>::do_widen
-52 std::ctype<wchar_t>::do_widen
-56 std::ctype<wchar_t>::do_narrow
-60 std::ctype<wchar_t>::do_narrow
-
-Class std::ctype_byname<wchar_t>
- size=1264 align=4
- base size=1264 base align=4
-std::ctype_byname<wchar_t> (0xb5cf5a40) 0
- vptr=((& std::ctype_byname<wchar_t>::_ZTVSt12ctype_bynameIwE) + 8u)
- std::ctype<wchar_t> (0xb5cf5a80) 0
- primary-for std::ctype_byname<wchar_t> (0xb5cf5a40)
- std::__ctype_abstract_base<wchar_t> (0xb5b174b0) 0
- primary-for std::ctype<wchar_t> (0xb5cf5a80)
- std::locale::facet (0xb5b12fb4) 0
- primary-for std::__ctype_abstract_base<wchar_t> (0xb5b174b0)
- std::ctype_base (0xb5b12d5c) 0 empty
+
+
+
+
+
+
+
+
Class std::__num_base
size=1 align=1
base size=0 base align=1
std::__num_base (0xb5b1a99c) 0 empty
-Vtable for std::numpunct<char>
-std::numpunct<char>::_ZTVSt8numpunctIcE: 9u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt8numpunctIcE)
-8 std::numpunct<_CharT>::~numpunct [with _CharT = char]
-12 std::numpunct<_CharT>::~numpunct [with _CharT = char]
-16 std::numpunct<_CharT>::do_decimal_point [with _CharT = char]
-20 std::numpunct<_CharT>::do_thousands_sep [with _CharT = char]
-24 std::numpunct<_CharT>::do_grouping [with _CharT = char]
-28 std::numpunct<_CharT>::do_truename [with _CharT = char]
-32 std::numpunct<_CharT>::do_falsename [with _CharT = char]
-
-Class std::numpunct<char>
- size=12 align=4
- base size=12 base align=4
-std::numpunct<char> (0xb5b25480) 0
- vptr=((& std::numpunct<char>::_ZTVSt8numpunctIcE) + 8u)
- std::locale::facet (0xb5b2c1e0) 0
- primary-for std::numpunct<char> (0xb5b25480)
-Vtable for std::numpunct<wchar_t>
-std::numpunct<wchar_t>::_ZTVSt8numpunctIwE: 9u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt8numpunctIwE)
-8 std::numpunct<_CharT>::~numpunct [with _CharT = wchar_t]
-12 std::numpunct<_CharT>::~numpunct [with _CharT = wchar_t]
-16 std::numpunct<_CharT>::do_decimal_point [with _CharT = wchar_t]
-20 std::numpunct<_CharT>::do_thousands_sep [with _CharT = wchar_t]
-24 std::numpunct<_CharT>::do_grouping [with _CharT = wchar_t]
-28 std::numpunct<_CharT>::do_truename [with _CharT = wchar_t]
-32 std::numpunct<_CharT>::do_falsename [with _CharT = wchar_t]
-
-Class std::numpunct<wchar_t>
- size=12 align=4
- base size=12 base align=4
-std::numpunct<wchar_t> (0xb5b25540) 0
- vptr=((& std::numpunct<wchar_t>::_ZTVSt8numpunctIwE) + 8u)
- std::locale::facet (0xb5b2c2d0) 0
- primary-for std::numpunct<wchar_t> (0xb5b25540)
-Class __gnu_cxx::__conditional_type<true, long unsigned int, long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__conditional_type<true, long unsigned int, long long unsigned int> (0xb5b63924) 0 empty
-Vtable for std::numpunct_byname<char>
-std::numpunct_byname<char>::_ZTVSt15numpunct_bynameIcE: 9u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt15numpunct_bynameIcE)
-8 std::numpunct_byname<_CharT>::~numpunct_byname [with _CharT = char]
-12 std::numpunct_byname<_CharT>::~numpunct_byname [with _CharT = char]
-16 std::numpunct<_CharT>::do_decimal_point [with _CharT = char]
-20 std::numpunct<_CharT>::do_thousands_sep [with _CharT = char]
-24 std::numpunct<_CharT>::do_grouping [with _CharT = char]
-28 std::numpunct<_CharT>::do_truename [with _CharT = char]
-32 std::numpunct<_CharT>::do_falsename [with _CharT = char]
-
-Class std::numpunct_byname<char>
- size=12 align=4
- base size=12 base align=4
-std::numpunct_byname<char> (0xb5ba9a80) 0
- vptr=((& std::numpunct_byname<char>::_ZTVSt15numpunct_bynameIcE) + 8u)
- std::numpunct<char> (0xb5ba9ac0) 0
- primary-for std::numpunct_byname<char> (0xb5ba9a80)
- std::locale::facet (0xb5b63f78) 0
- primary-for std::numpunct<char> (0xb5ba9ac0)
-
-Vtable for std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >
-std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >::_ZTVSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE: 15u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE)
-8 std::num_get<_CharT, _InIter>::~num_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-12 std::num_get<_CharT, _InIter>::~num_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-16 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-20 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-24 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-28 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-32 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-36 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-40 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-44 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-48 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-52 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-56 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-
-Class std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >
- size=8 align=4
- base size=8 base align=4
-std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > > (0xb5ba9b00) 0
- vptr=((& std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >::_ZTVSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE) + 8u)
- std::locale::facet (0xb5bc103c) 0
- primary-for std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > > (0xb5ba9b00)
-Vtable for std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >
-std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::_ZTVSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE: 12u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE)
-8 std::num_put<_CharT, _OutIter>::~num_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-12 std::num_put<_CharT, _OutIter>::~num_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-16 std::num_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-20 std::num_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-24 std::num_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-28 std::num_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-32 std::num_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-36 std::num_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-40 std::num_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-44 std::num_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-
-Class std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >
- size=8 align=4
- base size=8 base align=4
-std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > > (0xb5ba9b80) 0
- vptr=((& std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::_ZTVSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE) + 8u)
- std::locale::facet (0xb5bc112c) 0
- primary-for std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > > (0xb5ba9b80)
-Vtable for std::numpunct_byname<wchar_t>
-std::numpunct_byname<wchar_t>::_ZTVSt15numpunct_bynameIwE: 9u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt15numpunct_bynameIwE)
-8 std::numpunct_byname<_CharT>::~numpunct_byname [with _CharT = wchar_t]
-12 std::numpunct_byname<_CharT>::~numpunct_byname [with _CharT = wchar_t]
-16 std::numpunct<_CharT>::do_decimal_point [with _CharT = wchar_t]
-20 std::numpunct<_CharT>::do_thousands_sep [with _CharT = wchar_t]
-24 std::numpunct<_CharT>::do_grouping [with _CharT = wchar_t]
-28 std::numpunct<_CharT>::do_truename [with _CharT = wchar_t]
-32 std::numpunct<_CharT>::do_falsename [with _CharT = wchar_t]
-
-Class std::numpunct_byname<wchar_t>
- size=12 align=4
- base size=12 base align=4
-std::numpunct_byname<wchar_t> (0xb5ba9c00) 0
- vptr=((& std::numpunct_byname<wchar_t>::_ZTVSt15numpunct_bynameIwE) + 8u)
- std::numpunct<wchar_t> (0xb5ba9c40) 0
- primary-for std::numpunct_byname<wchar_t> (0xb5ba9c00)
- std::locale::facet (0xb5bc121c) 0
- primary-for std::numpunct<wchar_t> (0xb5ba9c40)
-
-Vtable for std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >
-std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::_ZTVSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE: 15u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE)
-8 std::num_get<_CharT, _InIter>::~num_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-12 std::num_get<_CharT, _InIter>::~num_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-16 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-20 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-24 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-28 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-32 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-36 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-40 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-44 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-48 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-52 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-56 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-
-Class std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >
- size=8 align=4
- base size=8 base align=4
-std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > > (0xb5ba9cc0) 0
- vptr=((& std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::_ZTVSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE) + 8u)
- std::locale::facet (0xb5bc130c) 0
- primary-for std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > > (0xb5ba9cc0)
-Vtable for std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >
-std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::_ZTVSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE: 12u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE)
-8 std::num_put<_CharT, _OutIter>::~num_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-12 std::num_put<_CharT, _OutIter>::~num_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-16 std::num_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-20 std::num_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-24 std::num_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-28 std::num_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-32 std::num_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-36 std::num_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-40 std::num_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-44 std::num_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-
-Class std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >
- size=8 align=4
- base size=8 base align=4
-std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > > (0xb5ba9d40) 0
- vptr=((& std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::_ZTVSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE) + 8u)
- std::locale::facet (0xb5bc13fc) 0
- primary-for std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > > (0xb5ba9d40)
-Vtable for std::basic_ios<char, std::char_traits<char> >
-std::basic_ios<char, std::char_traits<char> >::_ZTVSt9basic_iosIcSt11char_traitsIcEE: 4u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt9basic_iosIcSt11char_traitsIcEE)
-8 std::basic_ios<_CharT, _Traits>::~basic_ios [with _CharT = char, _Traits = std::char_traits<char>]
-12 std::basic_ios<_CharT, _Traits>::~basic_ios [with _CharT = char, _Traits = std::char_traits<char>]
-
-Class std::basic_ios<char, std::char_traits<char> >
- size=136 align=4
- base size=136 base align=4
-std::basic_ios<char, std::char_traits<char> > (0xb5bfed80) 0
- vptr=((& std::basic_ios<char, std::char_traits<char> >::_ZTVSt9basic_iosIcSt11char_traitsIcEE) + 8u)
- std::ios_base (0xb5bc1bf4) 0
- primary-for std::basic_ios<char, std::char_traits<char> > (0xb5bfed80)
-
-Vtable for std::basic_ios<wchar_t, std::char_traits<wchar_t> >
-std::basic_ios<wchar_t, std::char_traits<wchar_t> >::_ZTVSt9basic_iosIwSt11char_traitsIwEE: 4u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt9basic_iosIwSt11char_traitsIwEE)
-8 std::basic_ios<_CharT, _Traits>::~basic_ios [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-12 std::basic_ios<_CharT, _Traits>::~basic_ios [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-
-Class std::basic_ios<wchar_t, std::char_traits<wchar_t> >
- size=140 align=4
- base size=140 base align=4
-std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb5bfedc0) 0
- vptr=((& std::basic_ios<wchar_t, std::char_traits<wchar_t> >::_ZTVSt9basic_iosIwSt11char_traitsIwEE) + 8u)
- std::ios_base (0xb5bc1ce4) 0
- primary-for std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb5bfedc0)
-
-Vtable for std::basic_ostream<char, std::char_traits<char> >
-std::basic_ostream<char, std::char_traits<char> >::_ZTVSo: 10u entries
-0 4u
-4 (int (*)(...))0
-8 (int (*)(...))(& _ZTISo)
-12 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = char, _Traits = std::char_traits<char>]
-16 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = char, _Traits = std::char_traits<char>]
-20 -4u
-24 (int (*)(...))-0x000000004
-28 (int (*)(...))(& _ZTISo)
-32 std::basic_ostream<char, std::char_traits<char> >::_ZTv0_n12_NSoD1Ev
-36 std::basic_ostream<char, std::char_traits<char> >::_ZTv0_n12_NSoD0Ev
+
+
+
+
+
+
+
+
+
+
+
+
+
+
VTT for std::basic_ostream<char, std::char_traits<char> >
std::basic_ostream<char, std::char_traits<char> >::_ZTTSo: 2u entries
0 ((& std::basic_ostream<char, std::char_traits<char> >::_ZTVSo) + 12u)
4 ((& std::basic_ostream<char, std::char_traits<char> >::_ZTVSo) + 32u)
-Class std::basic_ostream<char, std::char_traits<char> >
- size=140 align=4
- base size=4 base align=4
-std::basic_ostream<char, std::char_traits<char> > (0xb5a48a40) 0 nearly-empty
- vptridx=0u vptr=((& std::basic_ostream<char, std::char_traits<char> >::_ZTVSo) + 12u)
- std::basic_ios<char, std::char_traits<char> > (0xb5a48a80) 4 virtual
- vptridx=4u vbaseoffset=-0x00000000c vptr=((& std::basic_ostream<char, std::char_traits<char> >::_ZTVSo) + 32u)
- std::ios_base (0xb5a2a7f8) 4
- primary-for std::basic_ios<char, std::char_traits<char> > (0xb5a48a80)
-
-Class std::basic_ostream<char, std::char_traits<char> >::sentry
- size=8 align=4
- base size=8 base align=4
-std::basic_ostream<char, std::char_traits<char> >::sentry (0xb5a2a9d8) 0
-Vtable for std::basic_ostream<wchar_t, std::char_traits<wchar_t> >
-std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE: 10u entries
-0 4u
-4 (int (*)(...))0
-8 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE)
-12 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-16 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-20 -4u
-24 (int (*)(...))-0x000000004
-28 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE)
-32 std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n12_NSt13basic_ostreamIwSt11char_traitsIwEED1Ev
-36 std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n12_NSt13basic_ostreamIwSt11char_traitsIwEED0Ev
+
VTT for std::basic_ostream<wchar_t, std::char_traits<wchar_t> >
std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTTSt13basic_ostreamIwSt11char_traitsIwEE: 2u entries
0 ((& std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 12u)
4 ((& std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 32u)
-Class std::basic_ostream<wchar_t, std::char_traits<wchar_t> >
- size=144 align=4
- base size=4 base align=4
-std::basic_ostream<wchar_t, std::char_traits<wchar_t> > (0xb5a48bc0) 0 nearly-empty
- vptridx=0u vptr=((& std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 12u)
- std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb5a48c00) 4 virtual
- vptridx=4u vbaseoffset=-0x00000000c vptr=((& std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 32u)
- std::ios_base (0xb5a2aa14) 4
- primary-for std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb5a48c00)
-
-Class std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::sentry
- size=8 align=4
- base size=8 base align=4
-std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::sentry (0xb5a2abb8) 0
-Vtable for std::basic_istream<char, std::char_traits<char> >
-std::basic_istream<char, std::char_traits<char> >::_ZTVSi: 10u entries
-0 8u
-4 (int (*)(...))0
-8 (int (*)(...))(& _ZTISi)
-12 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = char, _Traits = std::char_traits<char>]
-16 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = char, _Traits = std::char_traits<char>]
-20 -8u
-24 (int (*)(...))-0x000000008
-28 (int (*)(...))(& _ZTISi)
-32 std::basic_istream<char, std::char_traits<char> >::_ZTv0_n12_NSiD1Ev
-36 std::basic_istream<char, std::char_traits<char> >::_ZTv0_n12_NSiD0Ev
+
VTT for std::basic_istream<char, std::char_traits<char> >
std::basic_istream<char, std::char_traits<char> >::_ZTTSi: 2u entries
0 ((& std::basic_istream<char, std::char_traits<char> >::_ZTVSi) + 12u)
4 ((& std::basic_istream<char, std::char_traits<char> >::_ZTVSi) + 32u)
-Class std::basic_istream<char, std::char_traits<char> >
- size=144 align=4
- base size=8 base align=4
-std::basic_istream<char, std::char_traits<char> > (0xb5a87480) 0
- vptridx=0u vptr=((& std::basic_istream<char, std::char_traits<char> >::_ZTVSi) + 12u)
- std::basic_ios<char, std::char_traits<char> > (0xb5a874c0) 8 virtual
- vptridx=4u vbaseoffset=-0x00000000c vptr=((& std::basic_istream<char, std::char_traits<char> >::_ZTVSi) + 32u)
- std::ios_base (0xb5a890b4) 8
- primary-for std::basic_ios<char, std::char_traits<char> > (0xb5a874c0)
-
-Vtable for std::basic_istream<wchar_t, std::char_traits<wchar_t> >
-std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_istreamIwSt11char_traitsIwEE: 10u entries
-0 8u
-4 (int (*)(...))0
-8 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE)
-12 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-16 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-20 -8u
-24 (int (*)(...))-0x000000008
-28 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE)
-32 std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n12_NSt13basic_istreamIwSt11char_traitsIwEED1Ev
-36 std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n12_NSt13basic_istreamIwSt11char_traitsIwEED0Ev
+
VTT for std::basic_istream<wchar_t, std::char_traits<wchar_t> >
std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTTSt13basic_istreamIwSt11char_traitsIwEE: 2u entries
0 ((& std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 12u)
4 ((& std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 32u)
-Class std::basic_istream<wchar_t, std::char_traits<wchar_t> >
- size=148 align=4
- base size=8 base align=4
-std::basic_istream<wchar_t, std::char_traits<wchar_t> > (0xb5a87580) 0
- vptridx=0u vptr=((& std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 12u)
- std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb5a875c0) 8 virtual
- vptridx=4u vbaseoffset=-0x00000000c vptr=((& std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 32u)
- std::ios_base (0xb5a89438) 8
- primary-for std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb5a875c0)
-
-Class __gnu_cxx::__conditional_type<true, __gnu_cxx::__numeric_traits_integer<short int>, __gnu_cxx::__numeric_traits_floating<short int> >
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__conditional_type<true, __gnu_cxx::__numeric_traits_integer<short int>, __gnu_cxx::__numeric_traits_floating<short int> > (0xb5a89b40) 0 empty
-Class __gnu_cxx::__numeric_traits_integer<short int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__numeric_traits_integer<short int> (0xb5a89b7c) 0 empty
-Class __gnu_cxx::__numeric_traits<short int>
- size=1 align=1
- base size=1 base align=1
-__gnu_cxx::__numeric_traits<short int> (0xb5ab4480) 0 empty
- __gnu_cxx::__numeric_traits_integer<short int> (0xb5a89bb8) 0 empty
-Class std::basic_istream<char, std::char_traits<char> >::sentry
- size=1 align=1
- base size=1 base align=1
-std::basic_istream<char, std::char_traits<char> >::sentry (0xb5aea078) 0
-Vtable for std::basic_iostream<char, std::char_traits<char> >
-std::basic_iostream<char, std::char_traits<char> >::_ZTVSd: 15u entries
-0 12u
-4 (int (*)(...))0
-8 (int (*)(...))(& _ZTISd)
-12 std::basic_iostream<_CharT, _Traits>::~basic_iostream [with _CharT = char, _Traits = std::char_traits<char>]
-16 std::basic_iostream<_CharT, _Traits>::~basic_iostream [with _CharT = char, _Traits = std::char_traits<char>]
-20 4u
-24 (int (*)(...))-0x000000008
-28 (int (*)(...))(& _ZTISd)
-32 std::basic_iostream<char, std::char_traits<char> >::_ZThn8_NSdD1Ev
-36 std::basic_iostream<char, std::char_traits<char> >::_ZThn8_NSdD0Ev
-40 -12u
-44 (int (*)(...))-0x00000000c
-48 (int (*)(...))(& _ZTISd)
-52 std::basic_iostream<char, std::char_traits<char> >::_ZTv0_n12_NSdD1Ev
-56 std::basic_iostream<char, std::char_traits<char> >::_ZTv0_n12_NSdD0Ev
+
Construction vtable for std::basic_istream<char, std::char_traits<char> > (0xb5aef380 instance) in std::basic_iostream<char, std::char_traits<char> >
std::basic_iostream<char, std::char_traits<char> >::_ZTCSd0_Si: 10u entries
@@ -2486,44 +1210,8 @@ std::basic_iostream<char, std::char_traits<char> >::_ZTTSd: 7u entries
20 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 52u)
24 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 32u)
-Class std::basic_iostream<char, std::char_traits<char> >
- size=148 align=4
- base size=12 base align=4
-std::basic_iostream<char, std::char_traits<char> > (0xb5afab40) 0
- vptridx=0u vptr=((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 12u)
- std::basic_istream<char, std::char_traits<char> > (0xb5aef380) 0
- primary-for std::basic_iostream<char, std::char_traits<char> > (0xb5afab40)
- subvttidx=4u
- std::basic_ios<char, std::char_traits<char> > (0xb5aef3c0) 12 virtual
- vptridx=20u vbaseoffset=-0x00000000c vptr=((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 52u)
- std::ios_base (0xb5aea0b4) 12
- primary-for std::basic_ios<char, std::char_traits<char> > (0xb5aef3c0)
- std::basic_ostream<char, std::char_traits<char> > (0xb5aef400) 8 nearly-empty
- subvttidx=12u vptridx=24u vptr=((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 32u)
- std::basic_ios<char, std::char_traits<char> > (0xb5aef3c0) alternative-path
-
-Class std::basic_istream<wchar_t, std::char_traits<wchar_t> >::sentry
- size=1 align=1
- base size=1 base align=1
-std::basic_istream<wchar_t, std::char_traits<wchar_t> >::sentry (0xb5aea348) 0
-Vtable for std::basic_iostream<wchar_t, std::char_traits<wchar_t> >
-std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE: 15u entries
-0 12u
-4 (int (*)(...))0
-8 (int (*)(...))(& _ZTISt14basic_iostreamIwSt11char_traitsIwEE)
-12 std::basic_iostream<_CharT, _Traits>::~basic_iostream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-16 std::basic_iostream<_CharT, _Traits>::~basic_iostream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-20 4u
-24 (int (*)(...))-0x000000008
-28 (int (*)(...))(& _ZTISt14basic_iostreamIwSt11char_traitsIwEE)
-32 std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZThn8_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev
-36 std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZThn8_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev
-40 -12u
-44 (int (*)(...))-0x00000000c
-48 (int (*)(...))(& _ZTISt14basic_iostreamIwSt11char_traitsIwEE)
-52 std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n12_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev
-56 std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n12_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev
+
Construction vtable for std::basic_istream<wchar_t, std::char_traits<wchar_t> > (0xb5aef700 instance) in std::basic_iostream<wchar_t, std::char_traits<wchar_t> >
std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E: 10u entries
@@ -2561,110 +1249,21 @@ std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTTSt14basic_iostream
20 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 52u)
24 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 32u)
-Class std::basic_iostream<wchar_t, std::char_traits<wchar_t> >
- size=152 align=4
- base size=12 base align=4
-std::basic_iostream<wchar_t, std::char_traits<wchar_t> > (0xb5902be0) 0
- vptridx=0u vptr=((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 12u)
- std::basic_istream<wchar_t, std::char_traits<wchar_t> > (0xb5aef700) 0
- primary-for std::basic_iostream<wchar_t, std::char_traits<wchar_t> > (0xb5902be0)
- subvttidx=4u
- std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb5aef740) 12 virtual
- vptridx=20u vbaseoffset=-0x00000000c vptr=((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 52u)
- std::ios_base (0xb5aea384) 12
- primary-for std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb5aef740)
- std::basic_ostream<wchar_t, std::char_traits<wchar_t> > (0xb5aef780) 8 nearly-empty
- subvttidx=12u vptridx=24u vptr=((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 32u)
- std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb5aef740) alternative-path
-
-Class QVector<double>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<double>::<anonymous union> (0xb5aeac6c) 0
-Class QVector<double>
- size=4 align=4
- base size=4 base align=4
-QVector<double> (0xb5aeabf4) 0
-Class QtConcurrent::Median<double>
- size=24 align=4
- base size=22 base align=4
-QtConcurrent::Median<double> (0xb5aeab7c) 0
+
Class QtConcurrent::BlockSizeManager
size=72 align=4
base size=72 base align=4
QtConcurrent::BlockSizeManager (0xb5aeaac8) 0
-Class QtConcurrent::ResultReporter<void>
- size=1 align=1
- base size=0 base align=1
-QtConcurrent::ResultReporter<void> (0xb5aea438) 0 empty
-Class QFlags<QtConcurrent::ReduceOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QtConcurrent::ReduceOption> (0xb59347bc) 0
-Class QtConcurrent::SelectSpecialization<void>
- size=1 align=1
- base size=0 base align=1
-QtConcurrent::SelectSpecialization<void> (0xb581cc30) 0 empty
-Vtable for QtConcurrent::RunFunctionTaskBase<void>
-QtConcurrent::RunFunctionTaskBase<void>::_ZTVN12QtConcurrent19RunFunctionTaskBaseIvEE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTIN12QtConcurrent19RunFunctionTaskBaseIvEE)
-8 QtConcurrent::RunFunctionTaskBase<void>::~RunFunctionTaskBase
-12 QtConcurrent::RunFunctionTaskBase<void>::~RunFunctionTaskBase
-16 QtConcurrent::RunFunctionTaskBase<T>::run [with T = void]
-20 __cxa_pure_virtual
-24 (int (*)(...))-0x000000008
-28 (int (*)(...))(& _ZTIN12QtConcurrent19RunFunctionTaskBaseIvEE)
-32 QtConcurrent::RunFunctionTaskBase<void>::_ZThn8_N12QtConcurrent19RunFunctionTaskBaseIvE3runEv
-36 QtConcurrent::RunFunctionTaskBase<void>::_ZThn8_N12QtConcurrent19RunFunctionTaskBaseIvED1Ev
-40 QtConcurrent::RunFunctionTaskBase<void>::_ZThn8_N12QtConcurrent19RunFunctionTaskBaseIvED0Ev
-Class QtConcurrent::RunFunctionTaskBase<void>
- size=16 align=4
- base size=16 base align=4
-QtConcurrent::RunFunctionTaskBase<void> (0xb583a370) 0
- vptr=((& QtConcurrent::RunFunctionTaskBase<void>::_ZTVN12QtConcurrent19RunFunctionTaskBaseIvEE) + 8u)
- QFutureInterface<void> (0xb582aa00) 0
- primary-for QtConcurrent::RunFunctionTaskBase<void> (0xb583a370)
- QFutureInterfaceBase (0xb581ce10) 0
- primary-for QFutureInterface<void> (0xb582aa00)
- QRunnable (0xb581ce4c) 8
- vptr=((& QtConcurrent::RunFunctionTaskBase<void>::_ZTVN12QtConcurrent19RunFunctionTaskBaseIvEE) + 32u)
-
-Vtable for QtConcurrent::RunFunctionTask<void>
-QtConcurrent::RunFunctionTask<void>::_ZTVN12QtConcurrent15RunFunctionTaskIvEE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTIN12QtConcurrent15RunFunctionTaskIvEE)
-8 QtConcurrent::RunFunctionTask<void>::~RunFunctionTask
-12 QtConcurrent::RunFunctionTask<void>::~RunFunctionTask
-16 QtConcurrent::RunFunctionTask<void>::run
-20 __cxa_pure_virtual
-24 (int (*)(...))-0x000000008
-28 (int (*)(...))(& _ZTIN12QtConcurrent15RunFunctionTaskIvEE)
-32 QtConcurrent::RunFunctionTask<void>::_ZThn8_N12QtConcurrent15RunFunctionTaskIvE3runEv
-36 QtConcurrent::RunFunctionTask<void>::_ZThn8_N12QtConcurrent15RunFunctionTaskIvED1Ev
-40 QtConcurrent::RunFunctionTask<void>::_ZThn8_N12QtConcurrent15RunFunctionTaskIvED0Ev
-Class QtConcurrent::RunFunctionTask<void>
- size=16 align=4
- base size=16 base align=4
-QtConcurrent::RunFunctionTask<void> (0xb582aa80) 0
- vptr=((& QtConcurrent::RunFunctionTask<void>::_ZTVN12QtConcurrent15RunFunctionTaskIvEE) + 8u)
- QtConcurrent::RunFunctionTaskBase<void> (0xb583a780) 0
- primary-for QtConcurrent::RunFunctionTask<void> (0xb582aa80)
- QFutureInterface<void> (0xb582aac0) 0
- primary-for QtConcurrent::RunFunctionTaskBase<void> (0xb583a780)
- QFutureInterfaceBase (0xb581cf00) 0
- primary-for QFutureInterface<void> (0xb582aac0)
- QRunnable (0xb583f000) 8
- vptr=((& QtConcurrent::RunFunctionTask<void>::_ZTVN12QtConcurrent15RunFunctionTaskIvEE) + 32u)
+
Class QLibraryInfo
size=1 align=1
@@ -2715,50 +1314,22 @@ QFile (0xb578de00) 0
QObject (0xb57a7384) 0
primary-for QIODevice (0xb578de40)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0xb57bece4) 0
Class QFileInfo
size=4 align=4
base size=4 base align=4
QFileInfo (0xb57d18ac) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0xb57e2f3c) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0xb57f4258) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0xb57f4fb4) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0xb57f4f3c) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0xb56160b4) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0xb5622618) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0xb5622708) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -2833,10 +1404,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0xb56529d8) 0
vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0xb5663ac8) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -2926,10 +1493,6 @@ Class QDirIterator
QDirIterator (0xb5683ca8) 0
vptr=((& QDirIterator::_ZTV12QDirIterator) + 8u)
-Class QFlags<QDirIterator::IteratorFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDirIterator::IteratorFlag> (0xb5691474) 0
Vtable for QFileSystemWatcher
QFileSystemWatcher::_ZTV18QFileSystemWatcher: 14u entries
@@ -3067,25 +1630,13 @@ Class QLocale::Data
base size=4 base align=2
QLocale::Data (0xb56f5438) 0
-Class QLocale::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QLocale::<anonymous union> (0xb56f54b0) 0
Class QLocale
size=4 align=4
base size=4 base align=4
QLocale (0xb56d521c) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0xb56f5ca8) 0 empty
-Class QFlags<QLocale::NumberOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLocale::NumberOption> (0xb56f5e10) 0
Class QResource
size=4 align=4
@@ -3097,275 +1648,59 @@ Class QMetaType
base size=0 base align=1
QMetaType (0xb5510708) 0 empty
-Class QMetaTypeId2<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QString> (0xb5510b40) 0 empty
-Class QMetaTypeId2<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<int> (0xb5510d20) 0 empty
-Class QMetaTypeId2<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned int> (0xb5510f00) 0 empty
-Class QMetaTypeId2<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<bool> (0xb552e0f0) 0 empty
-Class QMetaTypeId2<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<double> (0xb552e2d0) 0 empty
-Class QMetaTypeId2<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QByteArray> (0xb552e4b0) 0 empty
-Class QMetaTypeId2<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QChar> (0xb552e690) 0 empty
-Class QMetaTypeId2<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long int> (0xb552e870) 0 empty
-Class QMetaTypeId2<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short int> (0xb552ea50) 0 empty
-Class QMetaTypeId2<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<char> (0xb552ec30) 0 empty
-Class QMetaTypeId2<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long unsigned int> (0xb552ee10) 0 empty
-Class QMetaTypeId2<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short unsigned int> (0xb5538000) 0 empty
-Class QMetaTypeId2<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned char> (0xb55381e0) 0 empty
-Class QMetaTypeId2<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<float> (0xb55383c0) 0 empty
-Class QMetaTypeId2<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QObject*> (0xb55385a0) 0 empty
-Class QMetaTypeId2<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QWidget*> (0xb5538780) 0 empty
-Class QMetaTypeId2<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<void*> (0xb5538960) 0 empty
-Class QMetaTypeId2<long long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long int> (0xb5538b40) 0 empty
-Class QMetaTypeId2<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long unsigned int> (0xb5538d20) 0 empty
-Class QMetaTypeId2<QStringList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QStringList> (0xb5538f00) 0 empty
-Class QMetaTypeId2<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitArray> (0xb553e0f0) 0 empty
-Class QMetaTypeId2<QDate>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDate> (0xb553e2d0) 0 empty
-Class QMetaTypeId2<QTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTime> (0xb553e4b0) 0 empty
-Class QMetaTypeId2<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDateTime> (0xb553e690) 0 empty
-Class QMetaTypeId2<QUrl>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QUrl> (0xb553e870) 0 empty
-Class QMetaTypeId2<QLocale>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLocale> (0xb553ea50) 0 empty
-Class QMetaTypeId2<QRect>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRect> (0xb553ec30) 0 empty
-Class QMetaTypeId2<QRectF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRectF> (0xb553ee10) 0 empty
-Class QMetaTypeId2<QSize>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSize> (0xb5548000) 0 empty
-Class QMetaTypeId2<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizeF> (0xb55481e0) 0 empty
-Class QMetaTypeId2<QLine>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLine> (0xb55483c0) 0 empty
-Class QMetaTypeId2<QLineF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLineF> (0xb55485a0) 0 empty
-Class QMetaTypeId2<QPoint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPoint> (0xb5548780) 0 empty
-Class QMetaTypeId2<QPointF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPointF> (0xb5548960) 0 empty
-Class QMetaTypeId2<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegExp> (0xb5548b40) 0 empty
-Class QMetaTypeId2<QColorGroup>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColorGroup> (0xb5548d20) 0 empty
-Class QMetaTypeId2<QFont>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QFont> (0xb5548f00) 0 empty
-Class QMetaTypeId2<QPixmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPixmap> (0xb554f0f0) 0 empty
-Class QMetaTypeId2<QBrush>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBrush> (0xb554f2d0) 0 empty
-Class QMetaTypeId2<QColor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColor> (0xb554f4b0) 0 empty
-Class QMetaTypeId2<QPalette>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPalette> (0xb554f690) 0 empty
-Class QMetaTypeId2<QIcon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QIcon> (0xb554f870) 0 empty
-Class QMetaTypeId2<QImage>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QImage> (0xb554fa50) 0 empty
-Class QMetaTypeId2<QPolygon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPolygon> (0xb554fc30) 0 empty
-Class QMetaTypeId2<QRegion>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegion> (0xb554fe10) 0 empty
-Class QMetaTypeId2<QBitmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitmap> (0xb5556000) 0 empty
-Class QMetaTypeId2<QCursor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QCursor> (0xb55561e0) 0 empty
-Class QMetaTypeId2<QSizePolicy>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizePolicy> (0xb55563c0) 0 empty
-Class QMetaTypeId2<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QKeySequence> (0xb55565a0) 0 empty
-Class QMetaTypeId2<QPen>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPen> (0xb5556780) 0 empty
-Class QMetaTypeId2<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextLength> (0xb5556960) 0 empty
-Class QMetaTypeId2<QTextFormat>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextFormat> (0xb5556b40) 0 empty
-Class QMetaTypeId2<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMatrix> (0xb5556d20) 0 empty
-Class QMetaTypeId2<QTransform>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTransform> (0xb5556f00) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -3392,45 +1727,17 @@ Class QVariant
base size=12 base align=4
QVariant (0xb555e0f0) 0
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0xb558fb7c) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0xb558fb04) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0xb558fc6c) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0xb558fbf4) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0xb55d2000) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0xb55d2618) 0 empty
-Class QMetaTypeId2<QList<QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QList<QVariant> > (0xb55d27f8) 0 empty
-Class QMetaTypeId2<QMap<QString, QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMap<QString, QVariant> > (0xb55d29d8) 0 empty
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -3508,15 +1815,7 @@ Class QUrl
base size=4 base align=4
QUrl (0xb541fa8c) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0xb542899c) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0xb5454438) 0 empty
Vtable for QEventLoop
QEventLoop::_ZTV10QEventLoop: 14u entries
@@ -3543,10 +1842,6 @@ QEventLoop (0xb5421ac0) 0
QObject (0xb5464294) 0
primary-for QEventLoop (0xb5421ac0)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0xb54648ac) 0
Vtable for QAbstractEventDispatcher
QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 27u entries
@@ -3591,20 +1886,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0xb5488b40) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0xb54a0f00) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0xb54a9000) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0xb54a9744) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -3774,10 +2061,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0xb54f58ac) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0xb52ff03c) 0 empty
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -3889,20 +2172,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0xb5337c6c) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0xb536c12c) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0xb536c21c) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0xb536c654) 0 empty
Class QMetaProperty
size=20 align=4
@@ -3914,10 +2189,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0xb536ca50) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0xb536cd98) 0 empty
Vtable for QMimeData
QMimeData::_ZTV9QMimeData: 17u entries
@@ -4129,10 +2400,6 @@ QLibrary (0xb53bc7c0) 0
QObject (0xb53dd6cc) 0
primary-for QLibrary (0xb53bc7c0)
-Class QFlags<QLibrary::LoadHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLibrary::LoadHint> (0xb53ec618) 0
Vtable for QPluginLoader
QPluginLoader::_ZTV13QPluginLoader: 14u entries
@@ -4169,20 +2436,12 @@ Class QReadWriteLock
base size=4 base align=4
QReadWriteLock (0xb5217bf4) 0
-Class QReadLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QReadLocker::<anonymous union> (0xb5224294) 0
Class QReadLocker
size=4 align=4
base size=4 base align=4
QReadLocker (0xb5217f78) 0
-Class QWriteLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QWriteLocker::<anonymous union> (0xb522c780) 0
Class QWriteLocker
size=4 align=4
@@ -4209,10 +2468,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0xb5264d5c) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0xb5273a50) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -4229,70 +2484,42 @@ Class QDate
base size=4 base align=4
QDate (0xb5285a50) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0xb52b23fc) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0xb52b24ec) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0xb52bca50) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0xb52bcb40) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0xb52d21e0) 0 empty
Class QPoint
size=8 align=4
base size=8 base align=4
QPoint (0xb52d23c0) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0xb52e31a4) 0 empty
Class QPointF
size=16 align=4
base size=16 base align=4
QPointF (0xb50d8438) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0xb50e0294) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0xb50f83fc) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0xb50f87bc) 0 empty
Class QLineF
size=32 align=4
base size=32 base align=4
QLineF (0xb5116924) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0xb5123348) 0 empty
Class QLinkedListData
size=20 align=4
@@ -4304,40 +2531,24 @@ Class QSize
base size=8 base align=4
QSize (0xb51b7294) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0xb51bf294) 0 empty
Class QSizeF
size=16 align=4
base size=16 base align=4
QSizeF (0xb51d1f00) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0xb4fe17f8) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0xb4ffdd5c) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0xb5019c30) 0 empty
Class QRectF
size=32 align=4
base size=32 base align=4
QRectF (0xb505d834) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0xb5078d5c) 0 empty
Class QSharedData
size=4 align=4
@@ -4385,20 +2596,8 @@ Class QXmlStreamAttribute
base size=53 base align=4
QXmlStreamAttribute (0xb4f1d528) 0
-Class QTypeInfo<QXmlStreamAttribute>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QXmlStreamAttribute> (0xb4f26a8c) 0 empty
-Class QVector<QXmlStreamAttribute>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QXmlStreamAttribute>::<anonymous union> (0xb4f26bf4) 0
-Class QVector<QXmlStreamAttribute>
- size=4 align=4
- base size=4 base align=4
-QVector<QXmlStreamAttribute> (0xb4f26b7c) 0
Class QXmlStreamAttributes
size=4 align=4
@@ -4411,30 +2610,18 @@ Class QXmlStreamNamespaceDeclaration
base size=28 base align=4
QXmlStreamNamespaceDeclaration (0xb4f26c6c) 0
-Class QTypeInfo<QXmlStreamNamespaceDeclaration>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QXmlStreamNamespaceDeclaration> (0xb4f49690) 0 empty
Class QXmlStreamNotationDeclaration
size=40 align=4
base size=40 base align=4
QXmlStreamNotationDeclaration (0xb4f497bc) 0
-Class QTypeInfo<QXmlStreamNotationDeclaration>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QXmlStreamNotationDeclaration> (0xb4f59384) 0 empty
Class QXmlStreamEntityDeclaration
size=64 align=4
base size=64 base align=4
QXmlStreamEntityDeclaration (0xb4f594b0) 0
-Class QTypeInfo<QXmlStreamEntityDeclaration>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QXmlStreamEntityDeclaration> (0xb4f6e438) 0 empty
Vtable for QXmlStreamEntityResolver
QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver: 6u entries
@@ -4616,20 +2803,12 @@ QNetworkAccessManager (0xb4fbd7c0) 0
QObject (0xb4dec0f0) 0
primary-for QNetworkAccessManager (0xb4fbd7c0)
-Class QSharedDataPointer<QNetworkCookiePrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QNetworkCookiePrivate> (0xb4dff0f0) 0
Class QNetworkCookie
size=4 align=4
base size=4 base align=4
QNetworkCookie (0xb4decac8) 0
-Class QTypeInfo<QNetworkCookie>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QNetworkCookie> (0xb4dff30c) 0 empty
Vtable for QNetworkCookieJar
QNetworkCookieJar::_ZTV17QNetworkCookieJar: 16u entries
@@ -4658,30 +2837,14 @@ QNetworkCookieJar (0xb4fbdc00) 0
QObject (0xb4dff3fc) 0
primary-for QNetworkCookieJar (0xb4fbdc00)
-Class QMetaTypeId<QNetworkCookie>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QNetworkCookie> (0xb4dfffb4) 0 empty
-Class QMetaTypeId<QList<QNetworkCookie> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QList<QNetworkCookie> > (0xb4e140f0) 0 empty
-Class QSharedDataPointer<QNetworkRequestPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QNetworkRequestPrivate> (0xb4e14780) 0
Class QNetworkRequest
size=4 align=4
base size=4 base align=4
QNetworkRequest (0xb4e14294) 0
-Class QMetaTypeId<QNetworkRequest>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QNetworkRequest> (0xb4e14960) 0 empty
Vtable for QNetworkReply
QNetworkReply::_ZTV13QNetworkReply: 33u entries
@@ -4797,20 +2960,12 @@ Class QNetworkAddressEntry
base size=4 base align=4
QNetworkAddressEntry (0xb4e68618) 0
-Class QSharedDataPointer<QNetworkInterfacePrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QNetworkInterfacePrivate> (0xb4e751a4) 0
Class QNetworkInterface
size=4 align=4
base size=4 base align=4
QNetworkInterface (0xb4e688e8) 0
-Class QFlags<QNetworkInterface::InterfaceFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QNetworkInterface::InterfaceFlag> (0xb4e752d0) 0
Class QNetworkProxy
size=4 align=4
@@ -5006,10 +3161,6 @@ QUdpSocket (0xb4e8ecc0) 0
QObject (0xb4ece780) 0
primary-for QIODevice (0xb4e8ed40)
-Class QFlags<QUdpSocket::BindFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUdpSocket::BindFlag> (0xb4cdf618) 0
Class QSslCertificate
size=4 align=4
@@ -5073,10 +3224,6 @@ QSslSocket (0xb4ce22c0) 0
QObject (0xb4d00b7c) 0
primary-for QIODevice (0xb4ce2380)
-Class QMetaTypeId<QList<QSslError> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QList<QSslError> > (0xb4d0efb4) 0 empty
Class QSslConfiguration
size=4 align=4
@@ -5088,68 +3235,16 @@ Class QSslKey
base size=4 base align=4
QSslKey (0xb4d237bc) 0
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0xb4d7d21c) 0
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0xb4d8f7bc) 0
-Class QTypeInfo<QtConcurrent::ResultItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QtConcurrent::ResultItem> (0xb4c4b9d8) 0 empty
-Class QMap<int, QtConcurrent::ResultItem>::Node
- size=20 align=4
- base size=20 base align=4
-QMap<int, QtConcurrent::ResultItem>::Node (0xb4c4ba50) 0
-Class QList<QNetworkCookie>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QNetworkCookie>::<anonymous union> (0xb4c6d564) 0
-Class QList<QNetworkCookie>
- size=4 align=4
- base size=4 base align=4
-QList<QNetworkCookie> (0xb4c6d4ec) 0
-Class QList<QSslError>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QSslError>::<anonymous union> (0xb4c6dd5c) 0
-Class QList<QSslError>
- size=4 align=4
- base size=4 base align=4
-QList<QSslError> (0xb4c6dce4) 0
-Class QMap<int, QtConcurrent::ResultItem>::PayloadNode
- size=16 align=4
- base size=16 base align=4
-QMap<int, QtConcurrent::ResultItem>::PayloadNode (0xb4ca52d0) 0
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0xb4ca53fc) 0
-Class QList<QNetworkCookie>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QNetworkCookie>::Node (0xb4cbc744) 0
-Class QTypeInfo<QSslError>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSslError> (0xb4cbc99c) 0 empty
-Class QList<QSslError>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QSslError>::Node (0xb4cbca14) 0
diff --git a/tests/auto/bic/data/QtOpenGL.4.0.0.aix-gcc-power32.txt b/tests/auto/bic/data/QtOpenGL.4.0.0.aix-gcc-power32.txt
index 2639cec..2aedf18 100644
--- a/tests/auto/bic/data/QtOpenGL.4.0.0.aix-gcc-power32.txt
+++ b/tests/auto/bic/data/QtOpenGL.4.0.0.aix-gcc-power32.txt
@@ -53,65 +53,20 @@ Class QBool
size=1 align=1
QBool (0x300b7280) 0
-Class QTypeInfo<bool>
- size=1 align=1
-QTypeInfo<bool> (0x300cd9c0) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
-QTypeInfo<char> (0x300cdf80) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
-QTypeInfo<signed char> (0x300d4540) 0 empty
-Class QTypeInfo<uchar>
- size=1 align=1
-QTypeInfo<uchar> (0x300d4b00) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
-QTypeInfo<short int> (0x300e00c0) 0 empty
-Class QTypeInfo<ushort>
- size=1 align=1
-QTypeInfo<ushort> (0x300e0680) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
-QTypeInfo<int> (0x300e0c40) 0 empty
-Class QTypeInfo<uint>
- size=1 align=1
-QTypeInfo<uint> (0x300eb200) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
-QTypeInfo<long int> (0x300eb7c0) 0 empty
-Class QTypeInfo<ulong>
- size=1 align=1
-QTypeInfo<ulong> (0x300ebd80) 0 empty
-Class QTypeInfo<qint64>
- size=1 align=1
-QTypeInfo<qint64> (0x300f8340) 0 empty
-Class QTypeInfo<quint64>
- size=1 align=1
-QTypeInfo<quint64> (0x300f8900) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
-QTypeInfo<float> (0x300f8ec0) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
-QTypeInfo<double> (0x30104480) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
-QTypeInfo<long double> (0x30104a40) 0 empty
Class QFlag
size=4 align=4
@@ -125,9 +80,6 @@ Class QChar
size=2 align=2
QChar (0x30148980) 0
-Class QTypeInfo<QChar>
- size=1 align=1
-QTypeInfo<QChar> (0x30185980) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -142,13 +94,7 @@ Class sigset_t
size=8 align=4
sigset_t (0x3026ad80) 0
-Class <anonymous struct>
- size=8 align=4
-<anonymous struct> (0x30271200) 0
-Class <anonymous struct>
- size=32 align=8
-<anonymous struct> (0x30271540) 0
Class fsid_t
size=8 align=4
@@ -158,21 +104,9 @@ Class fsid64_t
size=16 align=8
fsid64_t (0x30271c40) 0
-Class <anonymous struct>
- size=52 align=4
-<anonymous struct> (0x302780c0) 0
-Class <anonymous struct>
- size=44 align=4
-<anonymous struct> (0x30278440) 0
-Class <anonymous struct>
- size=112 align=4
-<anonymous struct> (0x302787c0) 0
-Class <anonymous struct>
- size=208 align=4
-<anonymous struct> (0x30278b40) 0
Class _quad
size=8 align=4
@@ -186,17 +120,11 @@ Class adspace_t
size=68 align=4
adspace_t (0x30281e00) 0
-Class <anonymous struct>
- size=24 align=8
-<anonymous struct> (0x302865c0) 0
Class label_t
size=100 align=4
label_t (0x30286d00) 0
-Class <anonymous struct>
- size=4 align=4
-<anonymous struct> (0x3028b780) 0
Class sigset
size=8 align=4
@@ -238,57 +166,18 @@ Class QByteRef
size=8 align=4
QByteRef (0x302b7540) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
-QTypeInfo<QByteArray> (0x30423740) 0 empty
-Class QFlags<Qt::MouseButton>
- size=4 align=4
-QFlags<Qt::MouseButton> (0x30431080) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
-QFlags<Qt::Orientation> (0x30431340) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
-QFlags<Qt::KeyboardModifier> (0x3042cc00) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
-QFlags<Qt::WindowType> (0x30442080) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
-QFlags<Qt::AlignmentFlag> (0x30431a00) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
-QFlags<Qt::ImageConversionFlag> (0x30448800) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
-QFlags<Qt::DockWidgetArea> (0x3046af00) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
-QFlags<Qt::ToolBarArea> (0x3046e200) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
-QFlags<Qt::WindowState> (0x304422c0) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
-QFlags<Qt::DropAction> (0x30474f80) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
-QFlags<Qt::ItemFlag> (0x30479700) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
-QFlags<Qt::MatchFlag> (0x30479a40) 0
Class QInternal
size=1 align=1
@@ -306,9 +195,6 @@ Class QString
size=4 align=4
QString (0x300a1f40) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
-QFlags<QString::SectionFlag> (0x303cf2c0) 0
Class QLatin1String
size=4 align=4
@@ -323,9 +209,6 @@ Class QConstString
QConstString (0x300b7640) 0
QString (0x300b7680) 0
-Class QTypeInfo<QString>
- size=1 align=1
-QTypeInfo<QString> (0x303901c0) 0 empty
Class QListData::Data
size=24 align=4
@@ -335,9 +218,6 @@ Class QListData
size=4 align=4
QListData (0x300732c0) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
-QFlags<QTextCodec::ConversionFlag> (0x302fb500) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -360,13 +240,7 @@ Class QTextCodec
QTextCodec (0x303bab80) 0 nearly-empty
vptr=((&QTextCodec::_ZTV10QTextCodec) + 8)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
-QList<QByteArray>::<anonymous union> (0x30120bc0) 0
-Class QList<QByteArray>
- size=4 align=4
-QList<QByteArray> (0x302cc980) 0
Class QTextEncoder
size=32 align=4
@@ -385,21 +259,12 @@ Class QGenericReturnArgument
QGenericReturnArgument (0x3036a6c0) 0
QGenericArgument (0x3036a700) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
-QMetaObject::<anonymous struct> (0x3009b300) 0
Class QMetaObject
size=16 align=4
QMetaObject (0x3058c900) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
-QList<QObject*>::<anonymous union> (0x30170600) 0
-Class QList<QObject*>
- size=4 align=4
-QList<QObject*> (0x30166f00) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4 entries
@@ -487,9 +352,6 @@ QIODevice (0x30365880) 0
QObject (0x301e4440) 0
primary-for QIODevice (0x30365880)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
-QFlags<QIODevice::OpenModeFlag> (0x301ebec0) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4 entries
@@ -507,38 +369,20 @@ Class QRegExp
size=4 align=4
QRegExp (0x303baa80) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
-QTypeInfo<QRegExp> (0x30148180) 0 empty
Class QStringMatcher
size=1036 align=4
QStringMatcher (0x3012d8c0) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
-QList<QString>::<anonymous union> (0x30104900) 0
-Class QList<QString>
- size=4 align=4
-QList<QString> (0x30104380) 0
Class QStringList
size=4 align=4
QStringList (0x303bab00) 0
QList<QString> (0x300c3280) 0
-Class QList<QString>::Node
- size=4 align=4
-QList<QString>::Node (0x301046c0) 0
-Class QList<QString>::iterator
- size=4 align=4
-QList<QString>::iterator (0x300eba00) 0
-Class QList<QString>::const_iterator
- size=4 align=4
-QList<QString>::const_iterator (0x300eb980) 0
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5 entries
@@ -664,9 +508,6 @@ Class QMapData
size=72 align=4
QMapData (0x304b4140) 0
-Class <anonymous struct>
- size=32 align=4
-<anonymous struct> (0x3052cd00) 0
Vtable for QTextStream
QTextStream::_ZTV11QTextStream: 4 entries
@@ -680,9 +521,6 @@ Class QTextStream
QTextStream (0x3050bbc0) 0
vptr=((&QTextStream::_ZTV11QTextStream) + 8)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
-QFlags<QTextStream::NumberFlag> (0x305082c0) 0
Class QTextStreamManipulator
size=24 align=4
@@ -767,41 +605,20 @@ QFile (0x3057c8c0) 0
QObject (0x3057c980) 0
primary-for QIODevice (0x3057c900)
-Class QFlags<QFile::Permission>
- size=4 align=4
-QFlags<QFile::Permission> (0x3058a380) 0
Class QFileInfo
size=4 align=4
QFileInfo (0x304b0580) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
-QFlags<QFileInfo::Permission> (0x304927c0) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
-QTypeInfo<QFileInfo> (0x30390480) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
-QList<QFileInfo>::<anonymous union> (0x301dfa40) 0
-Class QList<QFileInfo>
- size=4 align=4
-QList<QFileInfo> (0x301df900) 0
Class QDir
size=4 align=4
QDir (0x304b03c0) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
-QFlags<QDir::Filter> (0x30365600) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
-QFlags<QDir::SortFlag> (0x303ac7c0) 0
Vtable for QFileEngine
QFileEngine::_ZTV11QFileEngine: 35 entries
@@ -846,9 +663,6 @@ Class QFileEngine
QFileEngine (0x3057c7c0) 0
vptr=((&QFileEngine::_ZTV11QFileEngine) + 8)
-Class QFlags<QFileEngine::FileFlag>
- size=4 align=4
-QFlags<QFileEngine::FileFlag> (0x3031a080) 0
Vtable for QFileEngineHandler
QFileEngineHandler::_ZTV18QFileEngineHandler: 5 entries
@@ -910,73 +724,22 @@ Class QMetaType
size=1 align=1
QMetaType (0x30079000) 0 empty
-Class QMetaTypeId<QString>
- size=1 align=1
-QMetaTypeId<QString> (0x3011fb00) 0 empty
-Class QMetaTypeId<int>
- size=1 align=1
-QMetaTypeId<int> (0x3013d480) 0 empty
-Class QMetaTypeId<uint_t>
- size=1 align=1
-QMetaTypeId<uint_t> (0x30148440) 0 empty
-Class QMetaTypeId<bool>
- size=1 align=1
-QMetaTypeId<bool> (0x3015dfc0) 0 empty
-Class QMetaTypeId<double>
- size=1 align=1
-QMetaTypeId<double> (0x301937c0) 0 empty
-Class QMetaTypeId<QByteArray>
- size=1 align=1
-QMetaTypeId<QByteArray> (0x301a18c0) 0 empty
-Class QMetaTypeId<QChar>
- size=1 align=1
-QMetaTypeId<QChar> (0x301a5d00) 0 empty
-Class QMetaTypeId<void>
- size=1 align=1
-QMetaTypeId<void> (0x301ad500) 0 empty
-Class QMetaTypeId<long int>
- size=1 align=1
-QMetaTypeId<long int> (0x301add00) 0 empty
-Class QMetaTypeId<short int>
- size=1 align=1
-QMetaTypeId<short int> (0x301b22c0) 0 empty
-Class QMetaTypeId<char>
- size=1 align=1
-QMetaTypeId<char> (0x301b2b00) 0 empty
-Class QMetaTypeId<ulong_t>
- size=1 align=1
-QMetaTypeId<ulong_t> (0x301b6640) 0 empty
-Class QMetaTypeId<ushort_t>
- size=1 align=1
-QMetaTypeId<ushort_t> (0x301b6fc0) 0 empty
-Class QMetaTypeId<uchar_t>
- size=1 align=1
-QMetaTypeId<uchar_t> (0x301b9600) 0 empty
-Class QMetaTypeId<float>
- size=1 align=1
-QMetaTypeId<float> (0x301b9c00) 0 empty
-Class QMetaTypeId<QObject*>
- size=1 align=1
-QMetaTypeId<QObject*> (0x301c1740) 0 empty
-Class QMetaTypeId<QWidget*>
- size=1 align=1
-QMetaTypeId<QWidget*> (0x301d7f80) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -998,69 +761,24 @@ Class QVariant
size=16 align=8
QVariant (0x30166c00) 0
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
-QList<QVariant>::<anonymous union> (0x3057e500) 0
-Class QList<QVariant>
- size=4 align=4
-QList<QVariant> (0x302acd80) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
-QMap<QString, QVariant>::<anonymous union> (0x302ed8c0) 0
-Class QMap<QString, QVariant>
- size=4 align=4
-QMap<QString, QVariant> (0x302b7980) 0
Class QVariantComparisonHelper
size=4 align=4
QVariantComparisonHelper (0x30225880) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
-QTypeInfo<QVariant> (0x303e8900) 0 empty
-Class <anonymous struct>
- size=12 align=4
-<anonymous struct> (0x303dab00) 0
-Class <anonymous struct>
- size=44 align=4
-<anonymous struct> (0x303f70c0) 0
-Class <anonymous struct>
- size=76 align=4
-<anonymous struct> (0x303f7880) 0
-Class <anonymous struct>
- size=36 align=4
-<anonymous struct> (0x303fc640) 0
-Class <anonymous struct>
- size=56 align=4
-<anonymous struct> (0x303fcc40) 0
-Class <anonymous struct>
- size=36 align=4
-<anonymous struct> (0x30414340) 0
-Class <anonymous struct>
- size=28 align=4
-<anonymous struct> (0x30414f00) 0
-Class <anonymous struct>
- size=24 align=4
-<anonymous struct> (0x30486a40) 0
-Class <anonymous struct>
- size=28 align=4
-<anonymous struct> (0x30486d80) 0
-Class <anonymous struct>
- size=28 align=4
-<anonymous struct> (0x30492400) 0
Class lconv
size=56 align=4
@@ -1102,77 +820,41 @@ Class localeinfo_table
size=36 align=4
localeinfo_table (0x303d9cc0) 0
-Class <anonymous struct>
- size=108 align=4
-<anonymous struct> (0x304dc500) 0
Class _LC_charmap_objhdl
size=12 align=4
_LC_charmap_objhdl (0x304dcc80) 0
-Class <anonymous struct>
- size=92 align=4
-<anonymous struct> (0x30561040) 0
Class _LC_monetary_objhdl
size=12 align=4
_LC_monetary_objhdl (0x305614c0) 0
-Class <anonymous struct>
- size=48 align=4
-<anonymous struct> (0x30561800) 0
Class _LC_numeric_objhdl
size=12 align=4
_LC_numeric_objhdl (0x30561d00) 0
-Class <anonymous struct>
- size=56 align=4
-<anonymous struct> (0x30083180) 0
Class _LC_resp_objhdl
size=12 align=4
_LC_resp_objhdl (0x300838c0) 0
-Class <anonymous struct>
- size=248 align=4
-<anonymous struct> (0x30083c40) 0
Class _LC_time_objhdl
size=12 align=4
_LC_time_objhdl (0x3012c400) 0
-Class <anonymous struct>
- size=10 align=2
-<anonymous struct> (0x3012cc40) 0
-Class <anonymous struct>
- size=16 align=4
-<anonymous struct> (0x301df180) 0
-Class <anonymous struct>
- size=16 align=4
-<anonymous struct> (0x301df5c0) 0
-Class <anonymous struct>
- size=20 align=4
-<anonymous struct> (0x303acac0) 0
-Class <anonymous struct>
- size=104 align=4
-<anonymous struct> (0x30504a00) 0
Class _LC_collate_objhdl
size=12 align=4
_LC_collate_objhdl (0x301bfb80) 0
-Class <anonymous struct>
- size=8 align=4
-<anonymous struct> (0x301e8b00) 0
-Class <anonymous struct>
- size=80 align=4
-<anonymous struct> (0x305a0100) 0
Class _LC_ctype_objhdl
size=12 align=4
@@ -1186,17 +868,11 @@ Class _LC_locale_objhdl
size=12 align=4
_LC_locale_objhdl (0x303da600) 0
-Class _LC_object_handle::<anonymous union>
- size=12 align=4
-_LC_object_handle::<anonymous union> (0x305911c0) 0
Class _LC_object_handle
size=20 align=4
_LC_object_handle (0x30591080) 0
-Class <anonymous struct>
- size=24 align=4
-<anonymous struct> (0x3031ed80) 0
Vtable for QSettings
QSettings::_ZTV9QSettings: 14 entries
@@ -1271,13 +947,7 @@ Class QUrl
size=4 align=4
QUrl (0x302256c0) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
-QFlags<QUrl::FormattingOption> (0x306df180) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
-QTypeInfo<QUrl> (0x307c8900) 0 empty
Vtable for QEventLoop
QEventLoop::_ZTV10QEventLoop: 14 entries
@@ -1303,9 +973,6 @@ QEventLoop (0x30802000) 0
QObject (0x30802040) 0
primary-for QEventLoop (0x30802000)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0x30803740) 0
Vtable for QAbstractEventDispatcher
QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 27 entries
@@ -1348,17 +1015,11 @@ Class QModelIndex
size=16 align=4
QModelIndex (0x3049cc80) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
-QTypeInfo<QModelIndex> (0x304eb5c0) 0 empty
Class QPersistentModelIndex
size=4 align=4
QPersistentModelIndex (0x3049cb80) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
-QTypeInfo<QPersistentModelIndex> (0x3002e700) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42 entries
@@ -1524,9 +1185,6 @@ Class QBasicTimer
size=4 align=4
QBasicTimer (0x307fe180) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
-QTypeInfo<QBasicTimer> (0x30803300) 0 empty
Vtable for QEvent
QEvent::_ZTV6QEvent: 4 entries
@@ -1612,17 +1270,11 @@ Class QMetaMethod
size=8 align=4
QMetaMethod (0x30379340) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
-QTypeInfo<QMetaMethod> (0x30880740) 0 empty
Class QMetaEnum
size=8 align=4
QMetaEnum (0x303793c0) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
-QTypeInfo<QMetaEnum> (0x3088be80) 0 empty
Class QMetaProperty
size=20 align=4
@@ -1632,9 +1284,6 @@ Class QMetaClassInfo
size=8 align=4
QMetaClassInfo (0x30379540) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
-QTypeInfo<QMetaClassInfo> (0x308a3780) 0 empty
Vtable for QMimeData
QMimeData::_ZTV9QMimeData: 17 entries
@@ -1902,9 +1551,6 @@ Class QBitRef
size=8 align=4
QBitRef (0x305a6140) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
-QTypeInfo<QBitArray> (0x30864700) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -1922,65 +1568,41 @@ Class QHashDummyValue
size=1 align=1
QHashDummyValue (0x30893ec0) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
-QTypeInfo<QHashDummyValue> (0x30897f00) 0 empty
Class QDate
size=4 align=4
QDate (0x301eb4c0) 0
-Class QTypeInfo<QDate>
- size=1 align=1
-QTypeInfo<QDate> (0x300ebe80) 0 empty
Class QTime
size=4 align=4
QTime (0x301f1e80) 0
-Class QTypeInfo<QTime>
- size=1 align=1
-QTypeInfo<QTime> (0x30368c00) 0 empty
Class QDateTime
size=4 align=4
QDateTime (0x304b0440) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
-QTypeInfo<QDateTime> (0x304d4880) 0 empty
Class QPoint
size=8 align=4
QPoint (0x301f9d40) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
-QTypeInfo<QPoint> (0x307b9180) 0 empty
Class QPointF
size=16 align=8
QPointF (0x30200880) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
-QTypeInfo<QPointF> (0x307efcc0) 0 empty
Class QLine
size=16 align=4
QLine (0x301eb540) 0
-Class QTypeInfo<QLine>
- size=1 align=1
-QTypeInfo<QLine> (0x3098afc0) 0 empty
Class QLineF
size=32 align=8
QLineF (0x301eb600) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
-QTypeInfo<QLineF> (0x30a335c0) 0 empty
Class QLinkedListData
size=20 align=4
@@ -1990,41 +1612,26 @@ Class QLocale
size=4 align=4
QLocale (0x301eb800) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
-QTypeInfo<QLocale> (0x30822c80) 0 empty
Class QSize
size=8 align=4
QSize (0x30200a80) 0
-Class QTypeInfo<QSize>
- size=1 align=1
-QTypeInfo<QSize> (0x30864400) 0 empty
Class QSizeF
size=16 align=8
QSizeF (0x30209200) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
-QTypeInfo<QSizeF> (0x30a33a80) 0 empty
Class QRect
size=16 align=4
QRect (0x30213780) 0
-Class QTypeInfo<QRect>
- size=1 align=1
-QTypeInfo<QRect> (0x30aad700) 0 empty
Class QRectF
size=32 align=8
QRectF (0x302138c0) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
-QTypeInfo<QRectF> (0x30a1fdc0) 0 empty
Class QSharedData
size=4 align=4
@@ -2046,9 +1653,6 @@ Class QKeySequence
size=4 align=4
QKeySequence (0x305580c0) 0
-Class QTypeInfo<QKeySequence>
- size=1 align=1
-QTypeInfo<QKeySequence> (0x30ad4d00) 0 empty
Vtable for QMimeSource
QMimeSource::_ZTV11QMimeSource: 7 entries
@@ -2313,13 +1917,7 @@ Class QInputMethodEvent::Attribute
size=32 align=8
QInputMethodEvent::Attribute (0x307e7800) 0
-Class QList<QInputMethodEvent::Attribute>::<anonymous union>
- size=4 align=4
-QList<QInputMethodEvent::Attribute>::<anonymous union> (0x30a2d6c0) 0
-Class QList<QInputMethodEvent::Attribute>
- size=4 align=4
-QList<QInputMethodEvent::Attribute> (0x307e7ec0) 0
Vtable for QInputMethodEvent
QInputMethodEvent::_ZTV17QInputMethodEvent: 4 entries
@@ -2577,13 +2175,7 @@ Class QAccessible
size=1 align=1
QAccessible (0x30c2af00) 0 empty
-Class QFlags<QAccessible::StateFlag>
- size=4 align=4
-QFlags<QAccessible::StateFlag> (0x30c36000) 0
-Class QFlags<QAccessible::RelationFlag>
- size=4 align=4
-QFlags<QAccessible::RelationFlag> (0x30c3b540) 0
Vtable for QAccessibleInterface
QAccessibleInterface::_ZTV20QAccessibleInterface: 19 entries
@@ -2856,21 +2448,9 @@ Class QPaintDevice
QPaintDevice (0x30bc8900) 0
vptr=((&QPaintDevice::_ZTV12QPaintDevice) + 8)
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
-QColor::<anonymous union>::<anonymous struct> (0x30aadc40) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
-QColor::<anonymous union>::<anonymous struct> (0x30ab3280) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
-QColor::<anonymous union>::<anonymous struct> (0x30aba480) 0
-Class QColor::<anonymous union>
- size=10 align=2
-QColor::<anonymous union> (0x30aadb80) 0
Class QColor
size=16 align=4
@@ -2880,37 +2460,16 @@ Class QBrush
size=4 align=4
QBrush (0x305317c0) 0
-Class QTypeInfo<QBrush>
- size=1 align=1
-QTypeInfo<QBrush> (0x30b2f040) 0 empty
Class QBrushData
size=24 align=4
QBrushData (0x30a77a00) 0
-Class QVector<QGradientStop>::<anonymous union>
- size=4 align=4
-QVector<QGradientStop>::<anonymous union> (0x30a61380) 0
-Class QVector<QGradientStop>
- size=4 align=4
-QVector<QGradientStop> (0x30bb0140) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=32 align=8
-QGradient::<anonymous union>::<anonymous struct> (0x309db5c0) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=40 align=8
-QGradient::<anonymous union>::<anonymous struct> (0x309dba40) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=24 align=8
-QGradient::<anonymous union>::<anonymous struct> (0x309dbec0) 0
-Class QGradient::<anonymous union>
- size=40 align=8
-QGradient::<anonymous union> (0x309db500) 0
Class QGradient
size=64 align=8
@@ -3535,9 +3094,6 @@ QFileDialog (0x30d9d000) 0
QPaintDevice (0x30d9d0c0) 8
vptr=((&QFileDialog::_ZTV11QFileDialog) + 244)
-Class QFlags<QFileDialog::Option>
- size=4 align=4
-QFlags<QFileDialog::Option> (0x30dcd640) 0
Vtable for QFontDialog
QFontDialog::_ZTV11QFontDialog: 66 entries
@@ -4220,9 +3776,6 @@ QImage (0x305472c0) 0
QPaintDevice (0x30c41b80) 0
primary-for QImage (0x305472c0)
-Class QTypeInfo<QImage>
- size=1 align=1
-QTypeInfo<QImage> (0x30e4a500) 0 empty
Vtable for QPixmap
QPixmap::_ZTV7QPixmap: 7 entries
@@ -4264,9 +3817,6 @@ Class QIcon
size=4 align=4
QIcon (0x30536cc0) 0
-Class QTypeInfo<QIcon>
- size=1 align=1
-QTypeInfo<QIcon> (0x30eb0980) 0 empty
Vtable for QIconEngine
QIconEngine::_ZTV11QIconEngine: 9 entries
@@ -4580,13 +4130,7 @@ QActionGroup (0x30fdb180) 0
QObject (0x31016480) 0
primary-for QActionGroup (0x30fdb180)
-Class QList<QAction*>::<anonymous union>
- size=4 align=4
-QList<QAction*>::<anonymous union> (0x30ec74c0) 0
-Class QList<QAction*>
- size=4 align=4
-QList<QAction*> (0x30c8c300) 0
Vtable for QInputContext
QInputContext::_ZTV13QInputContext: 26 entries
@@ -4883,9 +4427,6 @@ QAbstractSpinBox (0x30c2a3c0) 0
QPaintDevice (0x30c2a5c0) 8
vptr=((&QAbstractSpinBox::_ZTV16QAbstractSpinBox) + 252)
-Class QFlags<QAbstractSpinBox::StepEnabledFlag>
- size=4 align=4
-QFlags<QAbstractSpinBox::StepEnabledFlag> (0x309e1bc0) 0
Vtable for QAbstractSlider
QAbstractSlider::_ZTV15QAbstractSlider: 64 entries
@@ -5090,13 +4631,7 @@ QStyle (0x30ccda80) 0
QObject (0x30ced6c0) 0
primary-for QStyle (0x30ccda80)
-Class QFlags<QStyle::StateFlag>
- size=4 align=4
-QFlags<QStyle::StateFlag> (0x30cf8a80) 0
-Class QFlags<QStyle::SubControl>
- size=4 align=4
-QFlags<QStyle::SubControl> (0x30d2f2c0) 0
Vtable for QTabBar
QTabBar::_ZTV7QTabBar: 67 entries
@@ -5364,18 +4899,12 @@ Class QStyleOptionHeader
QStyleOptionHeader (0x310ccb00) 0
QStyleOption (0x310ccb40) 0
-Class QFlags<QStyleOptionButton::ButtonFeature>
- size=4 align=4
-QFlags<QStyleOptionButton::ButtonFeature> (0x310e9400) 0
Class QStyleOptionButton
size=64 align=4
QStyleOptionButton (0x310e8580) 0
QStyleOption (0x310e85c0) 0
-Class QFlags<QStyleOptionTab::CornerWidget>
- size=4 align=4
-QFlags<QStyleOptionTab::CornerWidget> (0x31149980) 0
Class QStyleOptionTab
size=72 align=4
@@ -5392,9 +4921,6 @@ Class QStyleOptionMenuItem
QStyleOptionMenuItem (0x30f8d740) 0
QStyleOption (0x30f8d780) 0
-Class QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature>
- size=4 align=4
-QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature> (0x30f29880) 0
Class QStyleOptionQ3ListViewItem
size=64 align=4
@@ -5443,13 +4969,7 @@ QStyleOptionSpinBox (0x307d5680) 0
QStyleOptionComplex (0x307d56c0) 0
QStyleOption (0x307d57c0) 0
-Class QList<QStyleOptionQ3ListViewItem>::<anonymous union>
- size=4 align=4
-QList<QStyleOptionQ3ListViewItem>::<anonymous union> (0x307e76c0) 0
-Class QList<QStyleOptionQ3ListViewItem>
- size=4 align=4
-QList<QStyleOptionQ3ListViewItem> (0x307e7580) 0
Class QStyleOptionQ3ListView
size=84 align=4
@@ -5457,9 +4977,6 @@ QStyleOptionQ3ListView (0x309d9180) 0
QStyleOptionComplex (0x309d91c0) 0
QStyleOption (0x309d9380) 0
-Class QFlags<QStyleOptionToolButton::ToolButtonFeature>
- size=4 align=4
-QFlags<QStyleOptionToolButton::ToolButtonFeature> (0x30b6fec0) 0
Class QStyleOptionToolButton
size=96 align=4
@@ -5604,9 +5121,6 @@ Class QItemSelectionRange
size=8 align=4
QItemSelectionRange (0x310faec0) 0
-Class QTypeInfo<QItemSelectionRange>
- size=1 align=1
-QTypeInfo<QItemSelectionRange> (0x3116aa80) 0 empty
Vtable for QItemSelectionModel
QItemSelectionModel::_ZTV19QItemSelectionModel: 18 entries
@@ -5636,26 +5150,14 @@ QItemSelectionModel (0x311834c0) 0
QObject (0x31183500) 0
primary-for QItemSelectionModel (0x311834c0)
-Class QFlags<QItemSelectionModel::SelectionFlag>
- size=4 align=4
-QFlags<QItemSelectionModel::SelectionFlag> (0x31187d80) 0
-Class QList<QItemSelectionRange>::<anonymous union>
- size=4 align=4
-QList<QItemSelectionRange>::<anonymous union> (0x3112d340) 0
-Class QList<QItemSelectionRange>
- size=4 align=4
-QList<QItemSelectionRange> (0x3112d200) 0
Class QItemSelection
size=4 align=4
QItemSelection (0x30d9ad80) 0
QList<QItemSelectionRange> (0x31174fc0) 0
-Class QList<QItemSelectionRange>::Node
- size=4 align=4
-QList<QItemSelectionRange>::Node (0x3112d300) 0
Vtable for QAbstractItemView
QAbstractItemView::_ZTV17QAbstractItemView: 103 entries
@@ -5778,9 +5280,6 @@ QAbstractItemView (0x311e8dc0) 0
QPaintDevice (0x311e8ec0) 8
vptr=((&QAbstractItemView::_ZTV17QAbstractItemView) + 392)
-Class QFlags<QAbstractItemView::EditTrigger>
- size=4 align=4
-QFlags<QAbstractItemView::EditTrigger> (0x311f7440) 0
Vtable for QFileIconProvider
QFileIconProvider::_ZTV17QFileIconProvider: 7 entries
@@ -6027,13 +5526,7 @@ Class QItemEditorCreatorBase
QItemEditorCreatorBase (0x3115d940) 0 nearly-empty
vptr=((&QItemEditorCreatorBase::_ZTV22QItemEditorCreatorBase) + 8)
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union>
- size=4 align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union> (0x31149a40) 0
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>
- size=4 align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*> (0x31149540) 0
Vtable for QItemEditorFactory
QItemEditorFactory::_ZTV18QItemEditorFactory: 6 entries
@@ -6049,9 +5542,6 @@ Class QItemEditorFactory
QItemEditorFactory (0x3116f1c0) 0
vptr=((&QItemEditorFactory::_ZTV18QItemEditorFactory) + 8)
-Class QHashNode<QVariant::Type, QItemEditorCreatorBase*>
- size=16 align=4
-QHashNode<QVariant::Type, QItemEditorCreatorBase*> (0x31149680) 0
Vtable for QListView
QListView::_ZTV9QListView: 103 entries
@@ -6176,13 +5666,7 @@ QListView (0x310cc3c0) 0
QPaintDevice (0x310cc500) 8
vptr=((&QListView::_ZTV9QListView) + 392)
-Class QVector<QWidgetItemData>::<anonymous union>
- size=4 align=4
-QVector<QWidgetItemData>::<anonymous union> (0x3107ee40) 0
-Class QVector<QWidgetItemData>
- size=4 align=4
-QVector<QWidgetItemData> (0x3107ec40) 0
Vtable for QListWidgetItem
QListWidgetItem::_ZTV15QListWidgetItem: 11 entries
@@ -6896,21 +6380,9 @@ QTreeView (0x30ea3980) 0
QPaintDevice (0x30ea3ac0) 8
vptr=((&QTreeView::_ZTV9QTreeView) + 400)
-Class QVector<QVector<QWidgetItemData> >::<anonymous union>
- size=4 align=4
-QVector<QVector<QWidgetItemData> >::<anonymous union> (0x30f5cd00) 0
-Class QVector<QVector<QWidgetItemData> >
- size=4 align=4
-QVector<QVector<QWidgetItemData> > (0x30f5c9c0) 0
-Class QList<QTreeWidgetItem*>::<anonymous union>
- size=4 align=4
-QList<QTreeWidgetItem*>::<anonymous union> (0x30f7ab40) 0
-Class QList<QTreeWidgetItem*>
- size=4 align=4
-QList<QTreeWidgetItem*> (0x30f7aa00) 0
Vtable for QTreeWidgetItem
QTreeWidgetItem::_ZTV15QTreeWidgetItem: 10 entries
@@ -6930,17 +6402,8 @@ Class QTreeWidgetItem
QTreeWidgetItem (0x30f51340) 0
vptr=((&QTreeWidgetItem::_ZTV15QTreeWidgetItem) + 8)
-Class QList<QTreeWidgetItem*>::Node
- size=4 align=4
-QList<QTreeWidgetItem*>::Node (0x30f7ab00) 0
-Class QVectorTypedData<QVector<QWidgetItemData> >
- size=20 align=4
-QVectorTypedData<QVector<QWidgetItemData> > (0x30f5cb00) 0
-Class QTypeInfo<QTreeWidgetItem*>
- size=1 align=1
-QTypeInfo<QTreeWidgetItem*> (0x3124bd80) 0 empty
Vtable for QTreeWidget
QTreeWidget::_ZTV11QTreeWidget: 109 entries
@@ -7749,135 +7212,60 @@ Class QColormap
size=4 align=4
QColormap (0x30a74040) 0
-Class QVector<QPoint>::<anonymous union>
- size=4 align=4
-QVector<QPoint>::<anonymous union> (0x30eb0200) 0
-Class QVector<QPoint>
- size=4 align=4
-QVector<QPoint> (0x30eb0000) 0
Class QPolygon
size=4 align=4
QPolygon (0x30547bc0) 0
QVector<QPoint> (0x30e7f4c0) 0
-Class QVectorTypedData<QPoint>
- size=24 align=4
-QVectorTypedData<QPoint> (0x30eb0140) 0
-Class QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union>
- size=4 align=4
-QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union> (0x304e6340) 0
-Class QVector<QPointF>::<anonymous union>
- size=4 align=4
-QVector<QPointF>::<anonymous union> (0x3109d580) 0
-Class QVector<QPointF>
- size=4 align=4
-QVector<QPointF> (0x3109d340) 0
Class QPolygonF
size=4 align=4
QPolygonF (0x3109d300) 0
QVector<QPointF> (0x310a2880) 0
-Class QVectorTypedData<QPointF>
- size=32 align=8
-QVectorTypedData<QPointF> (0x3109d4c0) 0
-Class QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union>
- size=4 align=4
-QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union> (0x313a6040) 0
Class QMatrix
size=48 align=8
QMatrix (0x307ef840) 0
-Class QTypeInfo<QMatrix>
- size=1 align=1
-QTypeInfo<QMatrix> (0x314635c0) 0 empty
Class QTextOption
size=24 align=4
QTextOption (0x3147a800) 0
-Class QFlags<QTextOption::Flag>
- size=4 align=4
-QFlags<QTextOption::Flag> (0x31481040) 0
Class QPen
size=4 align=4
QPen (0x30558c80) 0
-Class QTypeInfo<QPen>
- size=1 align=1
-QTypeInfo<QPen> (0x314ae9c0) 0 empty
Class QPainter
size=4 align=4
QPainter (0x30bc8a00) 0
-Class QVector<QLineF>::<anonymous union>
- size=4 align=4
-QVector<QLineF>::<anonymous union> (0x3156ea00) 0
-Class QVector<QLineF>
- size=4 align=4
-QVector<QLineF> (0x314c5c40) 0
-Class QVectorTypedData<QLineF>
- size=48 align=8
-QVectorTypedData<QLineF> (0x3156e940) 0
-Class QVector<QLine>::<anonymous union>
- size=4 align=4
-QVector<QLine>::<anonymous union> (0x3159d480) 0
-Class QVector<QLine>
- size=4 align=4
-QVector<QLine> (0x314c5e00) 0
-Class QVectorTypedData<QLine>
- size=32 align=4
-QVectorTypedData<QLine> (0x3159d3c0) 0
-Class QVector<QRectF>::<anonymous union>
- size=4 align=4
-QVector<QRectF>::<anonymous union> (0x315e3080) 0
-Class QVector<QRectF>
- size=4 align=4
-QVector<QRectF> (0x314cf100) 0
-Class QVectorTypedData<QRectF>
- size=48 align=8
-QVectorTypedData<QRectF> (0x315dbfc0) 0
-Class QVector<QRect>::<anonymous union>
- size=4 align=4
-QVector<QRect>::<anonymous union> (0x3160ba00) 0
-Class QVector<QRect>
- size=4 align=4
-QVector<QRect> (0x30bd1b40) 0
-Class QVectorTypedData<QRect>
- size=32 align=4
-QVectorTypedData<QRect> (0x3160b940) 0
Class QTextItem
size=1 align=1
QTextItem (0x314b5840) 0 empty
-Class QTypeInfo<QTextItem>
- size=1 align=1
-QTypeInfo<QTextItem> (0x31124bc0) 0 empty
-Class QFlags<QPaintEngine::PaintEngineFeature>
- size=4 align=4
-QFlags<QPaintEngine::PaintEngineFeature> (0x3111c2c0) 0
Vtable for QPaintEngine
QPaintEngine::_ZTV12QPaintEngine: 24 entries
@@ -7911,9 +7299,6 @@ Class QPaintEngine
QPaintEngine (0x3097e900) 0
vptr=((&QPaintEngine::_ZTV12QPaintEngine) + 8)
-Class QFlags<QPaintEngine::DirtyFlag>
- size=4 align=4
-QFlags<QPaintEngine::DirtyFlag> (0x3111c900) 0
Class QPaintEngineState
size=4 align=4
@@ -7927,29 +7312,17 @@ Class QPainterPath
size=4 align=4
QPainterPath (0x30d0fd40) 0
-Class QVector<QPainterPath::Element>::<anonymous union>
- size=4 align=4
-QVector<QPainterPath::Element>::<anonymous union> (0x30d74080) 0
-Class QVector<QPainterPath::Element>
- size=4 align=4
-QVector<QPainterPath::Element> (0x30d71d80) 0
Class QPainterPathPrivate
size=8 align=4
QPainterPathPrivate (0x3082d680) 0
-Class QTypeInfo<QPainterPath::Element>
- size=1 align=1
-QTypeInfo<QPainterPath::Element> (0x30d7fe40) 0 empty
Class QPainterPathStroker
size=4 align=4
QPainterPathStroker (0x308cea40) 0
-Class QVectorTypedData<QPainterPath::Element>
- size=40 align=8
-QVectorTypedData<QPainterPath::Element> (0x30d71ec0) 0
Vtable for QPrinter
QPrinter::_ZTV8QPrinter: 7 entries
@@ -8038,9 +7411,6 @@ QCommonStyle (0x31225280) 0
QObject (0x31225480) 0
primary-for QStyle (0x31225440)
-Class QPointer<QFocusFrame>
- size=4 align=4
-QPointer<QFocusFrame> (0x31430ec0) 0
Vtable for QMotifStyle
QMotifStyle::_ZTV11QMotifStyle: 35 entries
@@ -8353,21 +7723,12 @@ Class QTextLength
size=12 align=4
QTextLength (0x30225540) 0
-Class QSharedDataPointer<QTextFormatPrivate>
- size=4 align=4
-QSharedDataPointer<QTextFormatPrivate> (0x315b50c0) 0
Class QTextFormat
size=8 align=4
QTextFormat (0x30213a00) 0
-Class QVector<QTextLength>::<anonymous union>
- size=4 align=4
-QVector<QTextLength>::<anonymous union> (0x3166cdc0) 0
-Class QVector<QTextLength>
- size=4 align=4
-QVector<QTextLength> (0x315983c0) 0
Class QTextCharFormat
size=8 align=4
@@ -8413,13 +7774,7 @@ Class QTextLayout
size=4 align=4
QTextLayout (0x30d0fa40) 0
-Class QVector<QTextLayout::FormatRange>::<anonymous union>
- size=4 align=4
-QVector<QTextLayout::FormatRange>::<anonymous union> (0x317bab80) 0
-Class QVector<QTextLayout::FormatRange>
- size=4 align=4
-QVector<QTextLayout::FormatRange> (0x317ba100) 0
Class QTextLine
size=8 align=4
@@ -8466,13 +7821,7 @@ QTextDocument (0x315517c0) 0
QObject (0x3160b200) 0
primary-for QTextDocument (0x315517c0)
-Class QFlags<QTextDocument::FindFlag>
- size=4 align=4
-QFlags<QTextDocument::FindFlag> (0x31603940) 0
-Class QSharedDataPointer<QTextCursorPrivate>
- size=4 align=4
-QSharedDataPointer<QTextCursorPrivate> (0x315c7340) 0
Class QTextCursor
size=4 align=4
@@ -8482,13 +7831,7 @@ Class QAbstractTextDocumentLayout::Selection
size=12 align=4
QAbstractTextDocumentLayout::Selection (0x315bccc0) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union>
- size=4 align=4
-QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union> (0x315b8780) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>
- size=4 align=4
-QVector<QAbstractTextDocumentLayout::Selection> (0x315b8580) 0
Class QAbstractTextDocumentLayout::PaintContext
size=56 align=8
@@ -8645,9 +7988,6 @@ QTextFrame (0x3162a4c0) 0
QObject (0x314d8840) 0
primary-for QTextObject (0x314d8800)
-Class QTypeInfo<QTextFrame::iterator>
- size=1 align=1
-QTypeInfo<QTextFrame::iterator> (0x31391400) 0 empty
Class QTextBlock::iterator
size=16 align=4
@@ -8657,21 +7997,12 @@ Class QTextBlock
size=8 align=4
QTextBlock (0x317add40) 0
-Class QTypeInfo<QTextBlock>
- size=1 align=1
-QTypeInfo<QTextBlock> (0x313e3cc0) 0 empty
-Class QTypeInfo<QTextBlock::iterator>
- size=1 align=1
-QTypeInfo<QTextBlock::iterator> (0x312bd340) 0 empty
Class QTextFragment
size=12 align=4
QTextFragment (0x315250c0) 0
-Class QTypeInfo<QTextFragment>
- size=1 align=1
-QTypeInfo<QTextFragment> (0x31260200) 0 empty
Vtable for QTextList
QTextList::_ZTV9QTextList: 17 entries
@@ -9263,9 +8594,6 @@ QDateEdit (0x310f8700) 0
QPaintDevice (0x310f8800) 8
vptr=((&QDateEdit::_ZTV9QDateEdit) + 260)
-Class QFlags<QDateTimeEdit::Section>
- size=4 align=4
-QFlags<QDateTimeEdit::Section> (0x3107e480) 0
Vtable for QDial
QDial::_ZTV5QDial: 64 entries
@@ -9424,9 +8752,6 @@ QDockWidget (0x316cac40) 0
QPaintDevice (0x316cacc0) 8
vptr=((&QDockWidget::_ZTV11QDockWidget) + 232)
-Class QFlags<QDockWidget::DockWidgetFeature>
- size=4 align=4
-QFlags<QDockWidget::DockWidgetFeature> (0x316ef780) 0
Vtable for QFocusFrame
QFocusFrame::_ZTV11QFocusFrame: 63 entries
@@ -11549,9 +10874,6 @@ Class QGLColormap
size=4 align=4
QGLColormap (0x319d2a40) 0
-Class QFlags<QGL::FormatOption>
- size=4 align=4
-QFlags<QGL::FormatOption> (0x319f5a80) 0
Class QGLFormat
size=4 align=4
@@ -11663,63 +10985,18 @@ QGLWidget (0x30e6bac0) 0
QPaintDevice (0x31b25200) 8
vptr=((&QGLWidget::_ZTV9QGLWidget) + 272)
-Class QList<QByteArray>::Node
- size=4 align=4
-QList<QByteArray>::Node (0x30120ac0) 0
-Class QList<QFileInfo>::Node
- size=4 align=4
-QList<QFileInfo>::Node (0x301dfa00) 0
-Class QList<QVariant>::Node
- size=4 align=4
-QList<QVariant>::Node (0x3057e4c0) 0
-Class QTypeInfo<QAction*>
- size=1 align=1
-QTypeInfo<QAction*> (0x31c8b440) 0 empty
-Class QList<QAction*>::Node
- size=4 align=4
-QList<QAction*>::Node (0x30ec7480) 0
-Class QTypeInfo<QStyleOptionQ3ListViewItem>
- size=1 align=1
-QTypeInfo<QStyleOptionQ3ListViewItem> (0x31ce8ec0) 0 empty
-Class QList<QStyleOptionQ3ListViewItem>::Node
- size=4 align=4
-QList<QStyleOptionQ3ListViewItem>::Node (0x307e7680) 0
-Class QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union>
- size=4 align=4
-QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union> (0x31d72580) 0
-Class QVectorTypedData<QTextLength>
- size=28 align=4
-QVectorTypedData<QTextLength> (0x3166cd00) 0
-Class QTypeInfo<QTextLength>
- size=1 align=1
-QTypeInfo<QTextLength> (0x31db89c0) 0 empty
-Class QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union>
- size=4 align=4
-QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union> (0x31dd9540) 0
-Class QVectorTypedData<QTextLayout::FormatRange>
- size=32 align=4
-QVectorTypedData<QTextLayout::FormatRange> (0x317baac0) 0
-Class QTypeInfo<QTextLayout::FormatRange>
- size=1 align=1
-QTypeInfo<QTextLayout::FormatRange> (0x31e2e740) 0 empty
-Class QVectorTypedData<QAbstractTextDocumentLayout::Selection>
- size=28 align=4
-QVectorTypedData<QAbstractTextDocumentLayout::Selection> (0x315b86c0) 0
-Class QTypeInfo<QAbstractTextDocumentLayout::Selection>
- size=1 align=1
-QTypeInfo<QAbstractTextDocumentLayout::Selection> (0x31e6cfc0) 0 empty
diff --git a/tests/auto/bic/data/QtOpenGL.4.0.0.linux-gcc-amd64.txt b/tests/auto/bic/data/QtOpenGL.4.0.0.linux-gcc-amd64.txt
index ee892ce..5693e93 100644
--- a/tests/auto/bic/data/QtOpenGL.4.0.0.linux-gcc-amd64.txt
+++ b/tests/auto/bic/data/QtOpenGL.4.0.0.linux-gcc-amd64.txt
@@ -59,145 +59,37 @@ Class QBool
base size=1 base align=1
QBool (0x2aaaad406a10) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0x2aaaad421930) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0x2aaaad421bd0) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0x2aaaad421e70) 0 empty
-Class QTypeInfo<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned char> (0x2aaaad438150) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0x2aaaad4383f0) 0 empty
-Class QTypeInfo<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short unsigned int> (0x2aaaad438690) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0x2aaaad438930) 0 empty
-Class QTypeInfo<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned int> (0x2aaaad438bd0) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0x2aaaad438e70) 0 empty
-Class QTypeInfo<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long unsigned int> (0x2aaaad449150) 0 empty
-Class QTypeInfo<long long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long int> (0x2aaaad4493f0) 0 empty
-Class QTypeInfo<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long unsigned int> (0x2aaaad449690) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0x2aaaad449930) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0x2aaaad449bd0) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0x2aaaad449e70) 0 empty
Class QFlag
size=4 align=4
base size=4 base align=4
QFlag (0x2aaaad45c0e0) 0
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0x2aaaad4e61c0) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0x2aaaad4e65b0) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0x2aaaad4e69a0) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0x2aaaad4e6d90) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0x2aaaad52d1c0) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0x2aaaad52d5b0) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0x2aaaad52d9a0) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0x2aaaad52dd90) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0x2aaaad5741c0) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0x2aaaad5745b0) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0x2aaaad5749a0) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0x2aaaad574d90) 0
Class QInternal
size=1 align=1
@@ -215,10 +107,6 @@ Class QGenericReturnArgument
QGenericReturnArgument (0x2aaaad5c07e0) 0
QGenericArgument (0x2aaaad5c0850) 0
-Class QMetaObject::<anonymous struct>
- size=32 align=8
- base size=32 base align=8
-QMetaObject::<anonymous struct> (0x2aaaad5d40e0) 0
Class QMetaObject
size=32 align=8
@@ -235,10 +123,6 @@ Class QChar
base size=2 base align=2
QChar (0x2aaaad5fcd20) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0x2aaaad62dd90) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -271,10 +155,6 @@ Class QByteRef
base size=12 base align=8
QByteRef (0x2aaaad7683f0) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0x2aaaad7fa460) 0 empty
Class QString::Null
size=1 align=1
@@ -291,10 +171,6 @@ Class QString
base size=8 base align=8
QString (0x2aaaad7fa770) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0x2aaaad885000) 0
Class QLatin1String
size=8 align=8
@@ -312,10 +188,6 @@ Class QConstString
QConstString (0x2aaaadabe2a0) 0
QString (0x2aaaadabe310) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0x2aaaadabe850) 0 empty
Class QListData::Data
size=32 align=8
@@ -327,15 +199,7 @@ Class QListData
base size=8 base align=8
QListData (0x2aaaadafa770) 0
-Class QList<QObject*>::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QList<QObject*>::<anonymous union> (0x2aaaadc1e690) 0
-Class QList<QObject*>
- size=8 align=8
- base size=8 base align=8
-QList<QObject*> (0x2aaaadc1e540) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -427,10 +291,6 @@ QIODevice (0x2aaaadc8daf0) 0
QObject (0x2aaaadc8db60) 0
primary-for QIODevice (0x2aaaadc8daf0)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0x2aaaadcbf690) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -455,10 +315,6 @@ Class QMapData
base size=128 base align=8
QMapData (0x2aaaadd4b2a0) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0x2aaaade661c0) 0
Class QTextCodec::ConverterState
size=32 align=8
@@ -483,15 +339,7 @@ Class QTextCodec
QTextCodec (0x2aaaade40ee0) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 16u)
-Class QList<QByteArray>::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QList<QByteArray>::<anonymous union> (0x2aaaade86a80) 0
-Class QList<QByteArray>
- size=8 align=8
- base size=8 base align=8
-QList<QByteArray> (0x2aaaade86930) 0
Class QTextEncoder
size=40 align=8
@@ -503,30 +351,10 @@ Class QTextDecoder
base size=40 base align=8
QTextDecoder (0x2aaaadec17e0) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x2aaaadec1c40) 0
-Class <anonymous struct>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct>::<anonymous union> (0x2aaaadec1e00) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x2aaaadec1d20) 0
-Class <anonymous struct>
- size=16 align=8
- base size=16 base align=8
-<anonymous struct> (0x2aaaadec1ee0) 0
-Class <anonymous struct>
- size=16 align=8
- base size=16 base align=8
-<anonymous struct> (0x2aaaadedd000) 0
Class __gconv_trans_data
size=40 align=8
@@ -548,15 +376,7 @@ Class __gconv_info
base size=16 base align=8
__gconv_info (0x2aaaadedd310) 0
-Class <anonymous union>::<anonymous struct>
- size=72 align=8
- base size=72 base align=8
-<anonymous union>::<anonymous struct> (0x2aaaadedd4d0) 0
-Class <anonymous union>
- size=72 align=8
- base size=72 base align=8
-<anonymous union> (0x2aaaadedd3f0) 0
Class _IO_marker
size=24 align=8
@@ -568,10 +388,6 @@ Class _IO_FILE
base size=216 base align=8
_IO_FILE (0x2aaaadedd5b0) 0
-Class <anonymous struct>
- size=32 align=8
- base size=32 base align=8
-<anonymous struct> (0x2aaaadedd690) 0
Vtable for QTextStream
QTextStream::_ZTV11QTextStream: 4u entries
@@ -586,10 +402,6 @@ Class QTextStream
QTextStream (0x2aaaadedd700) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 16u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0x2aaaadf449a0) 0
Class QTextStreamManipulator
size=40 align=8
@@ -680,10 +492,6 @@ QFile (0x2aaaae01a460) 0
QObject (0x2aaaae01a540) 0
primary-for QIODevice (0x2aaaae01a4d0)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0x2aaaae04d310) 0
Vtable for QTemporaryFile
QTemporaryFile::_ZTV14QTemporaryFile: 31u entries
@@ -736,25 +544,13 @@ Class QRegExp
base size=8 base align=8
QRegExp (0x2aaaae08d0e0) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0x2aaaae08df50) 0 empty
Class QStringMatcher
size=1048 align=8
base size=1044 base align=8
QStringMatcher (0x2aaaae0b11c0) 0
-Class QList<QString>::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QList<QString>::<anonymous union> (0x2aaaae0b1770) 0
-Class QList<QString>
- size=8 align=8
- base size=8 base align=8
-QList<QString> (0x2aaaae0b1620) 0
Class QStringList
size=8 align=8
@@ -762,15 +558,7 @@ Class QStringList
QStringList (0x2aaaae0b18c0) 0
QList<QString> (0x2aaaae0b1930) 0
-Class QList<QString>::iterator
- size=8 align=8
- base size=8 base align=8
-QList<QString>::iterator (0x2aaaae108770) 0
-Class QList<QString>::const_iterator
- size=8 align=8
- base size=8 base align=8
-QList<QString>::const_iterator (0x2aaaae108af0) 0
Vtable for QProcess
QProcess::_ZTV8QProcess: 31u entries
@@ -864,145 +652,45 @@ Class QFileInfo
base size=8 base align=8
QFileInfo (0x2aaaae190460) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0x2aaaae190ee0) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0x2aaaae1ce380) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QList<QFileInfo>::<anonymous union> (0x2aaaae1ceaf0) 0
-Class QList<QFileInfo>
- size=8 align=8
- base size=8 base align=8
-QList<QFileInfo> (0x2aaaae1ce9a0) 0
Class QDir
size=8 align=8
base size=8 base align=8
QDir (0x2aaaae1cec40) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0x2aaaae1ceee0) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0x2aaaae231150) 0
Class QUrl
size=8 align=8
base size=8 base align=8
QUrl (0x2aaaae26ae00) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0x2aaaae2af150) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0x2aaaae2eb380) 0 empty
Class QMetaType
size=1 align=1
base size=0 base align=1
QMetaType (0x2aaaae2eb9a0) 0 empty
-Class QMetaTypeId<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QString> (0x2aaaae30f0e0) 0 empty
-Class QMetaTypeId<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<int> (0x2aaaae30f2a0) 0 empty
-Class QMetaTypeId<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<unsigned int> (0x2aaaae30f460) 0 empty
-Class QMetaTypeId<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<bool> (0x2aaaae30f620) 0 empty
-Class QMetaTypeId<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<double> (0x2aaaae30f7e0) 0 empty
-Class QMetaTypeId<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QByteArray> (0x2aaaae30f9a0) 0 empty
-Class QMetaTypeId<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QChar> (0x2aaaae30fb60) 0 empty
-Class QMetaTypeId<void>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<void> (0x2aaaae30fd20) 0 empty
-Class QMetaTypeId<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<long int> (0x2aaaae30fee0) 0 empty
-Class QMetaTypeId<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<short int> (0x2aaaae31c0e0) 0 empty
-Class QMetaTypeId<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<char> (0x2aaaae31c2a0) 0 empty
-Class QMetaTypeId<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<long unsigned int> (0x2aaaae31c460) 0 empty
-Class QMetaTypeId<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<short unsigned int> (0x2aaaae31c620) 0 empty
-Class QMetaTypeId<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<unsigned char> (0x2aaaae31c7e0) 0 empty
-Class QMetaTypeId<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<float> (0x2aaaae31c9a0) 0 empty
-Class QMetaTypeId<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QObject*> (0x2aaaae31cb60) 0 empty
-Class QMetaTypeId<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QWidget*> (0x2aaaae31cd20) 0 empty
Class QVariant::PrivateShared
size=16 align=8
@@ -1029,35 +717,15 @@ Class QVariant
base size=16 base align=8
QVariant (0x2aaaae31ce70) 0
-Class QList<QVariant>::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QList<QVariant>::<anonymous union> (0x2aaaae3c8070) 0
-Class QList<QVariant>
- size=8 align=8
- base size=8 base align=8
-QList<QVariant> (0x2aaaae3b3ee0) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QMap<QString, QVariant>::<anonymous union> (0x2aaaae3c83f0) 0
-Class QMap<QString, QVariant>
- size=8 align=8
- base size=8 base align=8
-QMap<QString, QVariant> (0x2aaaae3c82a0) 0
Class QVariantComparisonHelper
size=8 align=8
base size=8 base align=8
QVariantComparisonHelper (0x2aaaae416d20) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0x2aaaae42f7e0) 0 empty
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1128,10 +796,6 @@ Class QFileEngine
QFileEngine (0x2aaaae4a5c40) 0
vptr=((& QFileEngine::_ZTV11QFileEngine) + 16u)
-Class QFlags<QFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileEngine::FileFlag> (0x2aaaae4a5e70) 0
Vtable for QFileEngineHandler
QFileEngineHandler::_ZTV18QFileEngineHandler: 5u entries
@@ -1162,90 +826,54 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0x2aaaae4ec8c0) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0x2aaaae4eca80) 0 empty
Class QPoint
size=8 align=4
base size=8 base align=4
QPoint (0x2aaaae610d90) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0x2aaaae62d3f0) 0 empty
Class QPointF
size=16 align=8
base size=16 base align=8
QPointF (0x2aaaae65b150) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0x2aaaae65b930) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0x2aaaae68d930) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0x2aaaae68daf0) 0 empty
Class QLineF
size=32 align=8
base size=32 base align=8
QLineF (0x2aaaae6bf3f0) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0x2aaaae6bf9a0) 0 empty
Class QSize
size=8 align=4
base size=8 base align=4
QSize (0x2aaaae6f7a80) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0x2aaaae6f7d90) 0 empty
Class QSizeF
size=16 align=8
base size=16 base align=8
QSizeF (0x2aaaae7493f0) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0x2aaaae749af0) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0x2aaaae7a02a0) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0x2aaaae7d3070) 0 empty
Class QRectF
size=32 align=8
base size=32 base align=8
QRectF (0x2aaaae844bd0) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0x2aaaae875b60) 0 empty
Class QLinkedListData
size=32 align=8
@@ -1262,10 +890,6 @@ Class QBitRef
base size=12 base align=8
QBitRef (0x2aaaae9e2d20) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0x2aaaae9ff930) 0 empty
Class QVectorData
size=16 align=4
@@ -1287,40 +911,24 @@ Class QLocale
base size=8 base align=8
QLocale (0x2aaaaeb20a10) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0x2aaaaeb6a4d0) 0 empty
Class QDate
size=4 align=4
base size=4 base align=4
QDate (0x2aaaaebcdb60) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0x2aaaaebf3d20) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0x2aaaaebf3f50) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0x2aaaaec11b60) 0 empty
Class QDateTime
size=8 align=8
base size=8 base align=8
QDateTime (0x2aaaaec11d90) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0x2aaaaec35850) 0 empty
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -1480,10 +1088,6 @@ QEventLoop (0x2aaaaecba3f0) 0
QObject (0x2aaaaecba460) 0
primary-for QEventLoop (0x2aaaaecba3f0)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0x2aaaaecba850) 0
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -1575,20 +1179,12 @@ Class QModelIndex
base size=24 base align=8
QModelIndex (0x2aaaaed32930) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0x2aaaaed4db60) 0 empty
Class QPersistentModelIndex
size=8 align=8
base size=8 base align=8
QPersistentModelIndex (0x2aaaaed5f0e0) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0x2aaaaed5f310) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -1808,10 +1404,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0x2aaaaedf49a0) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0x2aaaaee0c230) 0 empty
Vtable for QSocketNotifier
QSocketNotifier::_ZTV15QSocketNotifier: 14u entries
@@ -1906,20 +1498,12 @@ Class QMetaMethod
base size=12 base align=8
QMetaMethod (0x2aaaaee57000) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0x2aaaaee573f0) 0 empty
Class QMetaEnum
size=16 align=8
base size=12 base align=8
QMetaEnum (0x2aaaaee57620) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0x2aaaaee57af0) 0 empty
Class QMetaProperty
size=32 align=8
@@ -1931,10 +1515,6 @@ Class QMetaClassInfo
base size=12 base align=8
QMetaClassInfo (0x2aaaaee57e70) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0x2aaaaee772a0) 0 empty
Vtable for QPluginLoader
QPluginLoader::_ZTV13QPluginLoader: 14u entries
@@ -2057,25 +1637,9 @@ Class QWriteLocker
base size=8 base align=8
QWriteLocker (0x2aaaaef2abd0) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x2aaaaef7b070) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x2aaaaef7b150) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x2aaaaef7b230) 0
-Class QColor::<anonymous union>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union> (0x2aaaaef45f50) 0
Class QColor
size=16 align=4
@@ -2092,55 +1656,23 @@ Class QPen
base size=8 base align=8
QPen (0x2aaaaefc8700) 0
-Class QTypeInfo<QPen>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPen> (0x2aaaaefc88c0) 0 empty
Class QBrush
size=8 align=8
base size=8 base align=8
QBrush (0x2aaaaefc8bd0) 0
-Class QTypeInfo<QBrush>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBrush> (0x2aaaaeff9070) 0 empty
Class QBrushData
size=24 align=4
base size=24 base align=4
QBrushData (0x2aaaaeff92a0) 0
-Class QVector<QPair<double, QColor> >::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QVector<QPair<double, QColor> >::<anonymous union> (0x2aaaaeff9a80) 0
-Class QVector<QPair<double, QColor> >
- size=8 align=8
- base size=8 base align=8
-QVector<QPair<double, QColor> > (0x2aaaaeff98c0) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=32 align=8
- base size=32 base align=8
-QGradient::<anonymous union>::<anonymous struct> (0x2aaaaeff9cb0) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=40 align=8
- base size=40 base align=8
-QGradient::<anonymous union>::<anonymous struct> (0x2aaaaeff9d90) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=24 align=8
- base size=24 base align=8
-QGradient::<anonymous union>::<anonymous struct> (0x2aaaaeff9e70) 0
-Class QGradient::<anonymous union>
- size=40 align=8
- base size=40 base align=8
-QGradient::<anonymous union> (0x2aaaaeff9bd0) 0
Class QGradient
size=64 align=8
@@ -2170,25 +1702,13 @@ Class QTextLength
base size=16 base align=8
QTextLength (0x2aaaaf0303f0) 0
-Class QSharedDataPointer<QTextFormatPrivate>
- size=8 align=8
- base size=8 base align=8
-QSharedDataPointer<QTextFormatPrivate> (0x2aaaaf052380) 0
Class QTextFormat
size=16 align=8
base size=12 base align=8
QTextFormat (0x2aaaaf052150) 0
-Class QVector<QTextLength>::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QVector<QTextLength>::<anonymous union> (0x2aaaaf0900e0) 0
-Class QVector<QTextLength>
- size=8 align=8
- base size=8 base align=8
-QVector<QTextLength> (0x2aaaaf0524d0) 0
Class QTextCharFormat
size=16 align=8
@@ -2328,10 +1848,6 @@ QTextFrame (0x2aaaaf1becb0) 0
QObject (0x2aaaaf1bed90) 0
primary-for QTextObject (0x2aaaaf1bed20)
-Class QTypeInfo<QTextFrame::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFrame::iterator> (0x2aaaaf1ff9a0) 0 empty
Class QTextBlock::iterator
size=24 align=8
@@ -2343,25 +1859,13 @@ Class QTextBlock
base size=12 base align=8
QTextBlock (0x2aaaaf1ffcb0) 0
-Class QTypeInfo<QTextBlock>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock> (0x2aaaaf243070) 0 empty
-Class QTypeInfo<QTextBlock::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock::iterator> (0x2aaaaf243310) 0 empty
Class QTextFragment
size=16 align=8
base size=16 base align=8
QTextFragment (0x2aaaaf243540) 0
-Class QTypeInfo<QTextFragment>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFragment> (0x2aaaaf259540) 0 empty
Class QFontMetrics
size=8 align=8
@@ -2421,20 +1925,12 @@ QTextDocument (0x2aaaaf27eb60) 0
QObject (0x2aaaaf27ebd0) 0
primary-for QTextDocument (0x2aaaaf27eb60)
-Class QFlags<QTextDocument::FindFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextDocument::FindFlag> (0x2aaaaf27e690) 0
Class QTextOption
size=32 align=8
base size=32 base align=8
QTextOption (0x2aaaaf2d03f0) 0
-Class QFlags<QTextOption::Flag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextOption::Flag> (0x2aaaaf2d0af0) 0
Class QTextTableCell
size=16 align=8
@@ -2485,10 +1981,6 @@ Class QKeySequence
base size=8 base align=8
QKeySequence (0x2aaaaf32ee00) 0
-Class QTypeInfo<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QKeySequence> (0x2aaaaf36a230) 0 empty
Vtable for QMimeSource
QMimeSource::_ZTV11QMimeSource: 7u entries
@@ -2771,15 +2263,7 @@ Class QInputMethodEvent::Attribute
base size=32 base align=8
QInputMethodEvent::Attribute (0x2aaaaf446850) 0
-Class QList<QInputMethodEvent::Attribute>::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QList<QInputMethodEvent::Attribute>::<anonymous union> (0x2aaaaf446b60) 0
-Class QList<QInputMethodEvent::Attribute>
- size=8 align=8
- base size=8 base align=8
-QList<QInputMethodEvent::Attribute> (0x2aaaaf446a10) 0
Vtable for QInputMethodEvent
QInputMethodEvent::_ZTV17QInputMethodEvent: 4u entries
@@ -3063,15 +2547,7 @@ Class QTextLayout
base size=8 base align=8
QTextLayout (0x2aaaaf5025b0) 0
-Class QVector<QTextLayout::FormatRange>::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QVector<QTextLayout::FormatRange>::<anonymous union> (0x2aaaaf502a10) 0
-Class QVector<QTextLayout::FormatRange>
- size=8 align=8
- base size=8 base align=8
-QVector<QTextLayout::FormatRange> (0x2aaaaf502850) 0
Class QTextLine
size=16 align=8
@@ -3120,10 +2596,6 @@ Class QTextDocumentFragment
base size=8 base align=8
QTextDocumentFragment (0x2aaaaf563e70) 0
-Class QSharedDataPointer<QTextCursorPrivate>
- size=8 align=8
- base size=8 base align=8
-QSharedDataPointer<QTextCursorPrivate> (0x2aaaaf59a0e0) 0
Class QTextCursor
size=8 align=8
@@ -3146,15 +2618,7 @@ Class QAbstractTextDocumentLayout::Selection
base size=24 base align=8
QAbstractTextDocumentLayout::Selection (0x2aaaaf62bf50) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union> (0x2aaaaf642380) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>
- size=8 align=8
- base size=8 base align=8
-QVector<QAbstractTextDocumentLayout::Selection> (0x2aaaaf6421c0) 0
Class QAbstractTextDocumentLayout::PaintContext
size=64 align=8
@@ -3981,10 +3445,6 @@ QFileDialog (0x2aaaaf90ecb0) 0
QPaintDevice (0x2aaaaf90ee00) 16
vptr=((& QFileDialog::_ZTV11QFileDialog) + 488u)
-Class QFlags<QFileDialog::Option>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileDialog::Option> (0x2aaaaf94d3f0) 0
Vtable for QAbstractPrintDialog
QAbstractPrintDialog::_ZTV20QAbstractPrintDialog: 67u entries
@@ -4504,10 +3964,6 @@ QImage (0x2aaaafa4c7e0) 0
QPaintDevice (0x2aaaafa4c850) 0
primary-for QImage (0x2aaaafa4c7e0)
-Class QTypeInfo<QImage>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QImage> (0x2aaaafac88c0) 0 empty
Vtable for QPixmap
QPixmap::_ZTV7QPixmap: 7u entries
@@ -4732,10 +4188,6 @@ Class QIcon
base size=8 base align=8
QIcon (0x2aaaafbd5070) 0
-Class QTypeInfo<QIcon>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QIcon> (0x2aaaafbd5bd0) 0 empty
Vtable for QIconEngine
QIconEngine::_ZTV11QIconEngine: 9u entries
@@ -4887,15 +4339,7 @@ Class QPrintEngine
QPrintEngine (0x2aaaafc75620) 0 nearly-empty
vptr=((& QPrintEngine::_ZTV12QPrintEngine) + 16u)
-Class QVector<QPoint>::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QVector<QPoint>::<anonymous union> (0x2aaaafc75f50) 0
-Class QVector<QPoint>
- size=8 align=8
- base size=8 base align=8
-QVector<QPoint> (0x2aaaafc75d90) 0
Class QPolygon
size=8 align=8
@@ -4903,15 +4347,7 @@ Class QPolygon
QPolygon (0x2aaaafcad000) 0
QVector<QPoint> (0x2aaaafcad070) 0
-Class QVector<QPointF>::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QVector<QPointF>::<anonymous union> (0x2aaaafcc79a0) 0
-Class QVector<QPointF>
- size=8 align=8
- base size=8 base align=8
-QVector<QPointF> (0x2aaaafcc77e0) 0
Class QPolygonF
size=8 align=8
@@ -4924,55 +4360,19 @@ Class QMatrix
base size=48 base align=8
QMatrix (0x2aaaafd0f000) 0
-Class QTypeInfo<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMatrix> (0x2aaaafd0fa80) 0 empty
Class QPainter
size=8 align=8
base size=8 base align=8
QPainter (0x2aaaafd3d770) 0
-Class QVector<QLineF>::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QVector<QLineF>::<anonymous union> (0x2aaaafde07e0) 0
-Class QVector<QLineF>
- size=8 align=8
- base size=8 base align=8
-QVector<QLineF> (0x2aaaafde0620) 0
-Class QVector<QLine>::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QVector<QLine>::<anonymous union> (0x2aaaafde0c40) 0
-Class QVector<QLine>
- size=8 align=8
- base size=8 base align=8
-QVector<QLine> (0x2aaaafde0a80) 0
-Class QVector<QRectF>::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QVector<QRectF>::<anonymous union> (0x2aaaafe30af0) 0
-Class QVector<QRectF>
- size=8 align=8
- base size=8 base align=8
-QVector<QRectF> (0x2aaaafe30930) 0
-Class QVector<QRect>::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QVector<QRect>::<anonymous union> (0x2aaaafe30f50) 0
-Class QVector<QRect>
- size=8 align=8
- base size=8 base align=8
-QVector<QRect> (0x2aaaafe30d90) 0
Vtable for QStyle
QStyle::_ZTV6QStyle: 35u entries
@@ -5020,15 +4420,7 @@ QStyle (0x2aaaafefe150) 0
QObject (0x2aaaafefe1c0) 0
primary-for QStyle (0x2aaaafefe150)
-Class QFlags<QStyle::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::StateFlag> (0x2aaaafefe7e0) 0
-Class QFlags<QStyle::SubControl>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::SubControl> (0x2aaaafefebd0) 0
Class QStylePainter
size=24 align=8
@@ -5046,25 +4438,13 @@ Class QPainterPath
base size=8 base align=8
QPainterPath (0x2aaaaff8c3f0) 0
-Class QVector<QPainterPath::Element>::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QVector<QPainterPath::Element>::<anonymous union> (0x2aaaaffbf460) 0
-Class QVector<QPainterPath::Element>
- size=8 align=8
- base size=8 base align=8
-QVector<QPainterPath::Element> (0x2aaaaffbf2a0) 0
Class QPainterPathPrivate
size=16 align=8
base size=16 base align=8
QPainterPathPrivate (0x2aaaaff8c5b0) 0
-Class QTypeInfo<QPainterPath::Element>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPainterPath::Element> (0x2aaaaffbf5b0) 0 empty
Class QPainterPathStroker
size=8 align=8
@@ -5076,15 +4456,7 @@ Class QTextItem
base size=0 base align=1
QTextItem (0x2aaaafff6e00) 0 empty
-Class QTypeInfo<QTextItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextItem> (0x2aaaafff6f50) 0 empty
-Class QFlags<QPaintEngine::PaintEngineFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::PaintEngineFeature> (0x2aaab00143f0) 0
Vtable for QPaintEngine
QPaintEngine::_ZTV12QPaintEngine: 24u entries
@@ -5119,10 +4491,6 @@ Class QPaintEngine
QPaintEngine (0x2aaab00141c0) 0
vptr=((& QPaintEngine::_ZTV12QPaintEngine) + 16u)
-Class QFlags<QPaintEngine::DirtyFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::DirtyFlag> (0x2aaab00145b0) 0
Class QPaintEngineState
size=4 align=4
@@ -5134,10 +4502,6 @@ Class QItemSelectionRange
base size=16 base align=8
QItemSelectionRange (0x2aaab005ce00) 0
-Class QTypeInfo<QItemSelectionRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QItemSelectionRange> (0x2aaab00b8af0) 0 empty
Vtable for QItemSelectionModel
QItemSelectionModel::_ZTV19QItemSelectionModel: 18u entries
@@ -5168,20 +4532,8 @@ QItemSelectionModel (0x2aaab00da070) 0
QObject (0x2aaab00da0e0) 0
primary-for QItemSelectionModel (0x2aaab00da070)
-Class QFlags<QItemSelectionModel::SelectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QItemSelectionModel::SelectionFlag> (0x2aaab00da850) 0
-Class QList<QItemSelectionRange>::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QList<QItemSelectionRange>::<anonymous union> (0x2aaab00daee0) 0
-Class QList<QItemSelectionRange>
- size=8 align=8
- base size=8 base align=8
-QList<QItemSelectionRange> (0x2aaab00dad90) 0
Class QItemSelection
size=8 align=8
@@ -5470,10 +4822,6 @@ QAbstractSpinBox (0x2aaab0190770) 0
QPaintDevice (0x2aaab0190850) 16
vptr=((& QAbstractSpinBox::_ZTV16QAbstractSpinBox) + 504u)
-Class QFlags<QAbstractSpinBox::StepEnabledFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractSpinBox::StepEnabledFlag> (0x2aaab01c4070) 0
Vtable for QAbstractSlider
QAbstractSlider::_ZTV15QAbstractSlider: 64u entries
@@ -5910,10 +5258,6 @@ Class QStyleOptionHeader
QStyleOptionHeader (0x2aaab02f72a0) 0
QStyleOption (0x2aaab02f7310) 0
-Class QFlags<QStyleOptionButton::ButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionButton::ButtonFeature> (0x2aaab02f7cb0) 0
Class QStyleOptionButton
size=88 align=8
@@ -5921,10 +5265,6 @@ Class QStyleOptionButton
QStyleOptionButton (0x2aaab02f79a0) 0
QStyleOption (0x2aaab02f7a10) 0
-Class QFlags<QStyleOptionTab::CornerWidget>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionTab::CornerWidget> (0x2aaab032b770) 0
Class QStyleOptionTab
size=96 align=8
@@ -5944,10 +5284,6 @@ Class QStyleOptionMenuItem
QStyleOptionMenuItem (0x2aaab0367700) 0
QStyleOption (0x2aaab0367770) 0
-Class QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature> (0x2aaab038c000) 0
Class QStyleOptionQ3ListViewItem
size=80 align=8
@@ -6005,15 +5341,7 @@ QStyleOptionSpinBox (0x2aaab03fdcb0) 0
QStyleOptionComplex (0x2aaab03fdd20) 0
QStyleOption (0x2aaab03fdd90) 0
-Class QList<QStyleOptionQ3ListViewItem>::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QList<QStyleOptionQ3ListViewItem>::<anonymous union> (0x2aaab0419850) 0
-Class QList<QStyleOptionQ3ListViewItem>
- size=8 align=8
- base size=8 base align=8
-QList<QStyleOptionQ3ListViewItem> (0x2aaab0419700) 0
Class QStyleOptionQ3ListView
size=112 align=8
@@ -6022,10 +5350,6 @@ QStyleOptionQ3ListView (0x2aaab0419380) 0
QStyleOptionComplex (0x2aaab04193f0) 0
QStyleOption (0x2aaab0419460) 0
-Class QFlags<QStyleOptionToolButton::ToolButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionToolButton::ToolButtonFeature> (0x2aaab04511c0) 0
Class QStyleOptionToolButton
size=128 align=8
@@ -6213,10 +5537,6 @@ QAbstractItemView (0x2aaab04c33f0) 0
QPaintDevice (0x2aaab04c35b0) 16
vptr=((& QAbstractItemView::_ZTV17QAbstractItemView) + 784u)
-Class QFlags<QAbstractItemView::EditTrigger>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractItemView::EditTrigger> (0x2aaab04c3e00) 0
Vtable for QStringListModel
QStringListModel::_ZTV16QStringListModel: 42u entries
@@ -6399,15 +5719,7 @@ QListView (0x2aaab0563850) 0
QPaintDevice (0x2aaab0563a80) 16
vptr=((& QListView::_ZTV9QListView) + 784u)
-Class QVector<QWidgetItemData>::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QVector<QWidgetItemData>::<anonymous union> (0x2aaab05a6540) 0
-Class QVector<QWidgetItemData>
- size=8 align=8
- base size=8 base align=8
-QVector<QWidgetItemData> (0x2aaab05a6380) 0
Vtable for QListWidgetItem
QListWidgetItem::_ZTV15QListWidgetItem: 11u entries
@@ -7324,15 +6636,7 @@ Class QItemEditorCreatorBase
QItemEditorCreatorBase (0x2aaab07d9690) 0 nearly-empty
vptr=((& QItemEditorCreatorBase::_ZTV22QItemEditorCreatorBase) + 16u)
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union> (0x2aaab07ee380) 0
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>
- size=8 align=8
- base size=8 base align=8
-QHash<QVariant::Type, QItemEditorCreatorBase*> (0x2aaab07ee1c0) 0
Vtable for QItemEditorFactory
QItemEditorFactory::_ZTV18QItemEditorFactory: 6u entries
@@ -7349,25 +6653,9 @@ Class QItemEditorFactory
QItemEditorFactory (0x2aaab07ee000) 0
vptr=((& QItemEditorFactory::_ZTV18QItemEditorFactory) + 16u)
-Class QVector<QVector<QWidgetItemData> >::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QVector<QVector<QWidgetItemData> >::<anonymous union> (0x2aaab07eee70) 0
-Class QVector<QVector<QWidgetItemData> >
- size=8 align=8
- base size=8 base align=8
-QVector<QVector<QWidgetItemData> > (0x2aaab07eecb0) 0
-Class QList<QTreeWidgetItem*>::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QList<QTreeWidgetItem*>::<anonymous union> (0x2aaab084c070) 0
-Class QList<QTreeWidgetItem*>
- size=8 align=8
- base size=8 base align=8
-QList<QTreeWidgetItem*> (0x2aaab07ee690) 0
Vtable for QTreeWidgetItem
QTreeWidgetItem::_ZTV15QTreeWidgetItem: 10u entries
@@ -7594,15 +6882,7 @@ Class QAccessible
base size=0 base align=1
QAccessible (0x2aaab08eca80) 0 empty
-Class QFlags<QAccessible::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::StateFlag> (0x2aaab08ecc40) 0
-Class QFlags<QAccessible::RelationFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::RelationFlag> (0x2aaab092e000) 0
Vtable for QAccessibleInterface
QAccessibleInterface::_ZTV20QAccessibleInterface: 19u entries
@@ -8450,15 +7730,7 @@ QActionGroup (0x2aaab0b861c0) 0
QObject (0x2aaab0b86230) 0
primary-for QActionGroup (0x2aaab0b861c0)
-Class QList<QAction*>::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QList<QAction*>::<anonymous union> (0x2aaab0b86e00) 0
-Class QList<QAction*>
- size=8 align=8
- base size=8 base align=8
-QList<QAction*> (0x2aaab0b86cb0) 0
Vtable for QSound
QSound::_ZTV6QSound: 14u entries
@@ -8599,10 +7871,6 @@ QCommonStyle (0x2aaab0bf25b0) 0
QObject (0x2aaab0bf2690) 0
primary-for QStyle (0x2aaab0bf2620)
-Class QPointer<QFocusFrame>
- size=8 align=8
- base size=8 base align=8
-QPointer<QFocusFrame> (0x2aaab0bf2e70) 0
Vtable for QMotifStyle
QMotifStyle::_ZTV11QMotifStyle: 35u entries
@@ -10130,10 +9398,6 @@ QDateEdit (0x2aaab0eb2e00) 0
QPaintDevice (0x2aaab0eb2070) 16
vptr=((& QDateEdit::_ZTV9QDateEdit) + 520u)
-Class QFlags<QDateTimeEdit::Section>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDateTimeEdit::Section> (0x2aaab0ed6540) 0
Vtable for QLabel
QLabel::_ZTV6QLabel: 63u entries
@@ -10293,10 +9557,6 @@ QDockWidget (0x2aaab0f1e230) 0
QPaintDevice (0x2aaab0f1e310) 16
vptr=((& QDockWidget::_ZTV11QDockWidget) + 464u)
-Class QFlags<QDockWidget::DockWidgetFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDockWidget::DockWidgetFeature> (0x2aaab0f1eee0) 0
Vtable for QGroupBox
QGroupBox::_ZTV9QGroupBox: 63u entries
@@ -11877,10 +11137,6 @@ Class QGLColormap
base size=8 base align=8
QGLColormap (0x2aaab13210e0) 0
-Class QFlags<QGL::FormatOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGL::FormatOption> (0x2aaab1354620) 0
Class QGLFormat
size=8 align=8
@@ -11995,153 +11251,33 @@ QGLWidget (0x2aaab1354af0) 0
QPaintDevice (0x2aaab163e000) 16
vptr=((& QGLWidget::_ZTV9QGLWidget) + 544u)
-Class QList<QByteArray>::Node
- size=8 align=8
- base size=8 base align=8
-QList<QByteArray>::Node (0x2aaab170e4d0) 0
-Class QList<QString>::Node
- size=8 align=8
- base size=8 base align=8
-QList<QString>::Node (0x2aaab174b5b0) 0
-Class QVectorTypedData<QTextLength>
- size=32 align=8
- base size=32 base align=8
-QVectorTypedData<QTextLength> (0x2aaab17d1d20) 0
-Class QVectorTypedData<QTextLayout::FormatRange>
- size=40 align=8
- base size=40 base align=8
-QVectorTypedData<QTextLayout::FormatRange> (0x2aaab17ebe70) 0
-Class QVectorTypedData<QAbstractTextDocumentLayout::Selection>
- size=40 align=8
- base size=40 base align=8
-QVectorTypedData<QAbstractTextDocumentLayout::Selection> (0x2aaab17f7930) 0
-Class QVectorTypedData<QPoint>
- size=24 align=4
- base size=24 base align=4
-QVectorTypedData<QPoint> (0x2aaab181b5b0) 0
-Class QVectorTypedData<QPointF>
- size=32 align=8
- base size=32 base align=8
-QVectorTypedData<QPointF> (0x2aaab1841a10) 0
-Class QVectorTypedData<QLineF>
- size=48 align=8
- base size=48 base align=8
-QVectorTypedData<QLineF> (0x2aaab1871770) 0
-Class QVectorTypedData<QLine>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QLine> (0x2aaab1871cb0) 0
-Class QVectorTypedData<QRectF>
- size=48 align=8
- base size=48 base align=8
-QVectorTypedData<QRectF> (0x2aaab187d230) 0
-Class QVectorTypedData<QRect>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QRect> (0x2aaab187d770) 0
-Class QVectorTypedData<QPainterPath::Element>
- size=40 align=8
- base size=40 base align=8
-QVectorTypedData<QPainterPath::Element> (0x2aaab1895700) 0
-Class QList<QTreeWidgetItem*>::Node
- size=8 align=8
- base size=8 base align=8
-QList<QTreeWidgetItem*>::Node (0x2aaab1955150) 0
-Class QVectorTypedData<QVector<QWidgetItemData> >
- size=24 align=8
- base size=24 base align=8
-QVectorTypedData<QVector<QWidgetItemData> > (0x2aaab1955850) 0
-Class QList<QAction*>::Node
- size=8 align=8
- base size=8 base align=8
-QList<QAction*>::Node (0x2aaab19912a0) 0
-Class QTypeInfo<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLength> (0x2aaab1a36770) 0 empty
-Class QTypeInfo<QTextLayout::FormatRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLayout::FormatRange> (0x2aaab1a403f0) 0 empty
-Class QTypeInfo<QAbstractTextDocumentLayout::Selection>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAbstractTextDocumentLayout::Selection> (0x2aaab1a503f0) 0 empty
-Class QHashNode<QVariant::Type, QItemEditorCreatorBase*>
- size=24 align=8
- base size=24 base align=8
-QHashNode<QVariant::Type, QItemEditorCreatorBase*> (0x2aaab1a964d0) 0
-Class QTypeInfo<QTreeWidgetItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTreeWidgetItem*> (0x2aaab1a96a10) 0 empty
-Class QTypeInfo<QAction*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAction*> (0x2aaab1aa3d90) 0 empty
-Class QList<QFileInfo>::Node
- size=8 align=8
- base size=8 base align=8
-QList<QFileInfo>::Node (0x2aaab1ac8460) 0
-Class QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union> (0x2aaab1ac8d20) 0
-Class QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union> (0x2aaab1aec150) 0
-Class QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union> (0x2aaab1b2e3f0) 0
-Class QList<QItemSelectionRange>::Node
- size=8 align=8
- base size=8 base align=8
-QList<QItemSelectionRange>::Node (0x2aaab1b59850) 0
-Class QTypeInfo<QStyleOptionQ3ListViewItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QStyleOptionQ3ListViewItem> (0x2aaab1b6f150) 0 empty
-Class QList<QStyleOptionQ3ListViewItem>::Node
- size=8 align=8
- base size=8 base align=8
-QList<QStyleOptionQ3ListViewItem>::Node (0x2aaab1b6f2a0) 0
-Class QList<QVariant>::Node
- size=8 align=8
- base size=8 base align=8
-QList<QVariant>::Node (0x2aaab1b7e770) 0
-Class QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union> (0x2aaab1b8ee70) 0
diff --git a/tests/auto/bic/data/QtOpenGL.4.0.0.linux-gcc-ia32.txt b/tests/auto/bic/data/QtOpenGL.4.0.0.linux-gcc-ia32.txt
index 50caea3..155c41e 100644
--- a/tests/auto/bic/data/QtOpenGL.4.0.0.linux-gcc-ia32.txt
+++ b/tests/auto/bic/data/QtOpenGL.4.0.0.linux-gcc-ia32.txt
@@ -59,145 +59,37 @@ Class QBool
base size=1 base align=1
QBool (0x40b66000) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0x40b66140) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0x40b66180) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0x40b661c0) 0 empty
-Class QTypeInfo<uchar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uchar> (0x40b66200) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0x40b66240) 0 empty
-Class QTypeInfo<ushort>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ushort> (0x40b66280) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0x40b662c0) 0 empty
-Class QTypeInfo<uint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uint> (0x40b66300) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0x40b66340) 0 empty
-Class QTypeInfo<ulong>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ulong> (0x40b66380) 0 empty
-Class QTypeInfo<qint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<qint64> (0x40b663c0) 0 empty
-Class QTypeInfo<quint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<quint64> (0x40b66400) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0x40b66440) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0x40b66480) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0x40b664c0) 0 empty
Class QFlag
size=4 align=4
base size=4 base align=4
QFlag (0x40b66500) 0
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0x40b666c0) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0x40b66740) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0x40b667c0) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0x40b66840) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0x40b668c0) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0x40b66940) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0x40b669c0) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0x40b66a40) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0x40b66ac0) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0x40b66b40) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0x40b66bc0) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0x40b66c40) 0
Class QInternal
size=1 align=1
@@ -215,10 +107,6 @@ Class QGenericReturnArgument
QGenericReturnArgument (0x40b66d80) 0
QGenericArgument (0x40b66dc0) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0x40b66fc0) 0
Class QMetaObject
size=16 align=4
@@ -235,10 +123,6 @@ Class QChar
base size=2 base align=2
QChar (0x414760c0) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0x41476180) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -271,10 +155,6 @@ Class QByteRef
base size=8 base align=4
QByteRef (0x41476880) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0x41476900) 0 empty
Class QString::Null
size=1 align=1
@@ -296,10 +176,6 @@ Class QLatin1String
base size=4 base align=4
QLatin1String (0x41476b40) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0x41476c80) 0
Class QCharRef
size=8 align=4
@@ -312,10 +188,6 @@ Class QConstString
QConstString (0x41476e40) 0
QString (0x41476e80) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0x41476f00) 0 empty
Class QListData::Data
size=24 align=4
@@ -327,15 +199,7 @@ Class QListData
base size=4 base align=4
QListData (0x41735000) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0x41735440) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0x41735380) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -427,10 +291,6 @@ QIODevice (0x41735680) 0
QObject (0x417356c0) 0
primary-for QIODevice (0x41735680)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0x41735800) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -455,10 +315,6 @@ Class QMapData
base size=72 base align=4
QMapData (0x41735900) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0x41735ec0) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -483,15 +339,7 @@ Class QTextCodec
QTextCodec (0x41735dc0) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0x41735c00) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0x41735540) 0
Class QTextEncoder
size=32 align=4
@@ -503,30 +351,10 @@ Class QTextDecoder
base size=32 base align=4
QTextDecoder (0x41931000) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x41931080) 0
-Class <anonymous struct>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct>::<anonymous union> (0x41931100) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x419310c0) 0
-Class <anonymous struct>
- size=12 align=4
- base size=12 base align=4
-<anonymous struct> (0x41931140) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0x41931180) 0
Class __gconv_trans_data
size=20 align=4
@@ -548,15 +376,7 @@ Class __gconv_info
base size=8 base align=4
__gconv_info (0x41931280) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0x41931300) 0
-Class <anonymous union>
- size=44 align=4
- base size=44 base align=4
-<anonymous union> (0x419312c0) 0
Class _IO_marker
size=12 align=4
@@ -568,10 +388,6 @@ Class _IO_FILE
base size=148 base align=4
_IO_FILE (0x41931380) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0x419313c0) 0
Vtable for QTextStream
QTextStream::_ZTV11QTextStream: 4u entries
@@ -586,10 +402,6 @@ Class QTextStream
QTextStream (0x41931400) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0x41931540) 0
Class QTextStreamManipulator
size=24 align=4
@@ -680,10 +492,6 @@ QFile (0x41931c80) 0
QObject (0x41931d00) 0
primary-for QIODevice (0x41931cc0)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0x41931e00) 0
Vtable for QTemporaryFile
QTemporaryFile::_ZTV14QTemporaryFile: 31u entries
@@ -736,25 +544,13 @@ Class QRegExp
base size=4 base align=4
QRegExp (0x41931fc0) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0x41931740) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0x41931900) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0x41a2f080) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0x41931f40) 0
Class QStringList
size=4 align=4
@@ -762,15 +558,7 @@ Class QStringList
QStringList (0x41a2f0c0) 0
QList<QString> (0x41a2f100) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0x41a2f340) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0x41a2f3c0) 0
Vtable for QProcess
QProcess::_ZTV8QProcess: 31u entries
@@ -864,145 +652,45 @@ Class QFileInfo
base size=4 base align=4
QFileInfo (0x41a2f840) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0x41a2f8c0) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0x41a2f900) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0x41a2fa40) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0x41a2f980) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0x41a2fa80) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0x41a2fb40) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0x41a2fc00) 0
Class QUrl
size=4 align=4
base size=4 base align=4
QUrl (0x41a2fc80) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0x41a2fd80) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0x41a2fdc0) 0 empty
Class QMetaType
size=1 align=1
base size=0 base align=1
QMetaType (0x41a2fe00) 0 empty
-Class QMetaTypeId<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QString> (0x41a2fe80) 0 empty
-Class QMetaTypeId<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<int> (0x41a2fec0) 0 empty
-Class QMetaTypeId<uint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<uint> (0x41a2ff00) 0 empty
-Class QMetaTypeId<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<bool> (0x41a2ff40) 0 empty
-Class QMetaTypeId<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<double> (0x41a2ff80) 0 empty
-Class QMetaTypeId<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QByteArray> (0x41a2ffc0) 0 empty
-Class QMetaTypeId<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QChar> (0x41a2f680) 0 empty
-Class QMetaTypeId<void>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<void> (0x41a2f7c0) 0 empty
-Class QMetaTypeId<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<long int> (0x41b73000) 0 empty
-Class QMetaTypeId<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<short int> (0x41b73040) 0 empty
-Class QMetaTypeId<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<char> (0x41b73080) 0 empty
-Class QMetaTypeId<ulong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<ulong> (0x41b730c0) 0 empty
-Class QMetaTypeId<ushort>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<ushort> (0x41b73100) 0 empty
-Class QMetaTypeId<uchar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<uchar> (0x41b73140) 0 empty
-Class QMetaTypeId<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<float> (0x41b73180) 0 empty
-Class QMetaTypeId<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QObject*> (0x41b731c0) 0 empty
-Class QMetaTypeId<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QWidget*> (0x41b73200) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -1029,35 +717,15 @@ Class QVariant
base size=12 base align=4
QVariant (0x41b73240) 0
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0x41b73800) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0x41b73740) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0x41b73980) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0x41b738c0) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0x41b73bc0) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0x41b73cc0) 0 empty
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1142,10 +810,6 @@ Class QFileEngineHandler
QFileEngineHandler (0x41b73f80) 0 nearly-empty
vptr=((& QFileEngineHandler::_ZTV18QFileEngineHandler) + 8u)
-Class QFlags<QFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileEngine::FileFlag> (0x41b73480) 0
Class QHashData::Node
size=8 align=4
@@ -1162,90 +826,54 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0x41b73d80) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0x41b73e00) 0 empty
Class QPoint
size=8 align=4
base size=8 base align=4
QPoint (0x41c774c0) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0x41c77900) 0 empty
Class QPointF
size=16 align=4
base size=16 base align=4
QPointF (0x41c779c0) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0x41c77e00) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0x41c77f00) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0x41c77f40) 0 empty
Class QLineF
size=32 align=4
base size=32 base align=4
QLineF (0x41c77500) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0x41c77600) 0 empty
Class QSize
size=8 align=4
base size=8 base align=4
QSize (0x41c77800) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0x41c77d00) 0 empty
Class QSizeF
size=16 align=4
base size=16 base align=4
QSizeF (0x41d9c0c0) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0x41d9c480) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0x41d9c680) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0x41d9c880) 0 empty
Class QRectF
size=32 align=4
base size=32 base align=4
QRectF (0x41d9c980) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0x41d9cb00) 0 empty
Class QLinkedListData
size=20 align=4
@@ -1262,10 +890,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0x41d9c380) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0x41d9c6c0) 0 empty
Class QVectorData
size=16 align=4
@@ -1287,40 +911,24 @@ Class QLocale
base size=4 base align=4
QLocale (0x41f85280) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0x41f852c0) 0 empty
Class QDate
size=4 align=4
base size=4 base align=4
QDate (0x41f85440) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0x41f855c0) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0x41f85600) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0x41f85780) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0x41f857c0) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0x41f85900) 0 empty
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -1480,10 +1088,6 @@ QEventLoop (0x41f85500) 0
QObject (0x41f85640) 0
primary-for QEventLoop (0x41f85500)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0x41f85880) 0
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -1575,20 +1179,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0x420c1300) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0x420c1400) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0x420c1480) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0x420c1540) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -1808,10 +1404,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0x420c1b00) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0x420c1bc0) 0 empty
Vtable for QSocketNotifier
QSocketNotifier::_ZTV15QSocketNotifier: 14u entries
@@ -1906,20 +1498,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0x420c1f00) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0x420c1f80) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0x420c1fc0) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0x420c1180) 0 empty
Class QMetaProperty
size=20 align=4
@@ -1931,10 +1515,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0x420c14c0) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0x420c1740) 0 empty
Vtable for QPluginLoader
QPluginLoader::_ZTV13QPluginLoader: 14u entries
@@ -2057,25 +1637,9 @@ Class QWriteLocker
base size=4 base align=4
QWriteLocker (0x421a6580) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x421a66c0) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x421a6700) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x421a6740) 0
-Class QColor::<anonymous union>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union> (0x421a6680) 0
Class QColor
size=16 align=4
@@ -2092,55 +1656,23 @@ Class QPen
base size=4 base align=4
QPen (0x421a6b80) 0
-Class QTypeInfo<QPen>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPen> (0x421a6bc0) 0 empty
Class QBrush
size=4 align=4
base size=4 base align=4
QBrush (0x421a6c00) 0
-Class QTypeInfo<QBrush>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBrush> (0x421a6c40) 0 empty
Class QBrushData
size=24 align=4
base size=24 base align=4
QBrushData (0x421a6c80) 0
-Class QVector<QGradientStop>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QGradientStop>::<anonymous union> (0x421a6ec0) 0
-Class QVector<QGradientStop>
- size=4 align=4
- base size=4 base align=4
-QVector<QGradientStop> (0x421a6e00) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=32 align=4
- base size=32 base align=4
-QGradient::<anonymous union>::<anonymous struct> (0x421a6f40) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=40 align=4
- base size=40 base align=4
-QGradient::<anonymous union>::<anonymous struct> (0x421a6f80) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=24 align=4
- base size=24 base align=4
-QGradient::<anonymous union>::<anonymous struct> (0x421a6fc0) 0
-Class QGradient::<anonymous union>
- size=40 align=4
- base size=40 base align=4
-QGradient::<anonymous union> (0x421a6f00) 0
Class QGradient
size=56 align=4
@@ -2170,25 +1702,13 @@ Class QTextLength
base size=12 base align=4
QTextLength (0x421a6d00) 0
-Class QSharedDataPointer<QTextFormatPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextFormatPrivate> (0x4227b1c0) 0
Class QTextFormat
size=8 align=4
base size=8 base align=4
QTextFormat (0x4227b100) 0
-Class QVector<QTextLength>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength>::<anonymous union> (0x4227b440) 0
-Class QVector<QTextLength>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength> (0x4227b380) 0
Class QTextCharFormat
size=8 align=4
@@ -2328,10 +1848,6 @@ QTextFrame (0x4227bb00) 0
QObject (0x4227bb80) 0
primary-for QTextObject (0x4227bb40)
-Class QTypeInfo<QTextFrame::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFrame::iterator> (0x4227be00) 0 empty
Class QTextBlock::iterator
size=16 align=4
@@ -2343,25 +1859,13 @@ Class QTextBlock
base size=8 base align=4
QTextBlock (0x4227be40) 0
-Class QTypeInfo<QTextBlock>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock> (0x4227b140) 0 empty
-Class QTypeInfo<QTextBlock::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock::iterator> (0x4227b200) 0 empty
Class QTextFragment
size=12 align=4
base size=12 base align=4
QTextFragment (0x4227b280) 0
-Class QTypeInfo<QTextFragment>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFragment> (0x4237b000) 0 empty
Class QFontMetrics
size=4 align=4
@@ -2426,10 +1930,6 @@ Class QTextOption
base size=24 base align=4
QTextOption (0x4237b340) 0
-Class QFlags<QTextOption::Flag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextOption::Flag> (0x4237b3c0) 0
Class QTextTableCell
size=8 align=4
@@ -2480,10 +1980,6 @@ Class QKeySequence
base size=4 base align=4
QKeySequence (0x4237ba40) 0
-Class QTypeInfo<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QKeySequence> (0x4237bb80) 0 empty
Vtable for QMimeSource
QMimeSource::_ZTV11QMimeSource: 7u entries
@@ -2766,15 +2262,7 @@ Class QInputMethodEvent::Attribute
base size=24 base align=4
QInputMethodEvent::Attribute (0x42445b00) 0
-Class QList<QInputMethodEvent::Attribute>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute>::<anonymous union> (0x42445c80) 0
-Class QList<QInputMethodEvent::Attribute>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute> (0x42445bc0) 0
Vtable for QInputMethodEvent
QInputMethodEvent::_ZTV17QInputMethodEvent: 4u entries
@@ -3058,15 +2546,7 @@ Class QTextLayout
base size=4 base align=4
QTextLayout (0x424b69c0) 0
-Class QVector<QTextLayout::FormatRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange>::<anonymous union> (0x424b6b80) 0
-Class QVector<QTextLayout::FormatRange>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange> (0x424b6ac0) 0
Class QTextLine
size=8 align=4
@@ -3115,10 +2595,6 @@ Class QTextDocumentFragment
base size=4 base align=4
QTextDocumentFragment (0x424b6080) 0
-Class QSharedDataPointer<QTextCursorPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextCursorPrivate> (0x424b6380) 0
Class QTextCursor
size=4 align=4
@@ -3141,15 +2617,7 @@ Class QAbstractTextDocumentLayout::Selection
base size=12 base align=4
QAbstractTextDocumentLayout::Selection (0x4256b200) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union> (0x4256b3c0) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection> (0x4256b300) 0
Class QAbstractTextDocumentLayout::PaintContext
size=48 align=4
@@ -3976,10 +3444,6 @@ QFileDialog (0x426d2440) 0
QPaintDevice (0x426d2540) 8
vptr=((& QFileDialog::_ZTV11QFileDialog) + 244u)
-Class QFlags<QFileDialog::Option>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileDialog::Option> (0x426d26c0) 0
Vtable for QAbstractPrintDialog
QAbstractPrintDialog::_ZTV20QAbstractPrintDialog: 67u entries
@@ -4499,10 +3963,6 @@ QImage (0x426d2f80) 0
QPaintDevice (0x427b7000) 0
primary-for QImage (0x426d2f80)
-Class QTypeInfo<QImage>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QImage> (0x427b7100) 0 empty
Vtable for QPixmap
QPixmap::_ZTV7QPixmap: 7u entries
@@ -4727,10 +4187,6 @@ Class QIcon
base size=4 base align=4
QIcon (0x427b7c80) 0
-Class QTypeInfo<QIcon>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QIcon> (0x427b7d00) 0 empty
Vtable for QIconEngine
QIconEngine::_ZTV11QIconEngine: 9u entries
@@ -4882,15 +4338,7 @@ Class QPrintEngine
QPrintEngine (0x428ae200) 0 nearly-empty
vptr=((& QPrintEngine::_ZTV12QPrintEngine) + 8u)
-Class QVector<QPoint>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint>::<anonymous union> (0x428ae400) 0
-Class QVector<QPoint>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint> (0x428ae340) 0
Class QPolygon
size=4 align=4
@@ -4898,15 +4346,7 @@ Class QPolygon
QPolygon (0x428ae440) 0
QVector<QPoint> (0x428ae480) 0
-Class QVector<QPointF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF>::<anonymous union> (0x428ae700) 0
-Class QVector<QPointF>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF> (0x428ae640) 0
Class QPolygonF
size=4 align=4
@@ -4919,55 +4359,19 @@ Class QMatrix
base size=48 base align=4
QMatrix (0x428ae900) 0
-Class QTypeInfo<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMatrix> (0x428ae940) 0 empty
Class QPainter
size=4 align=4
base size=4 base align=4
QPainter (0x428ae980) 0
-Class QVector<QLineF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF>::<anonymous union> (0x428aeb80) 0
-Class QVector<QLineF>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF> (0x428aeac0) 0
-Class QVector<QLine>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine>::<anonymous union> (0x428aed00) 0
-Class QVector<QLine>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine> (0x428aec40) 0
-Class QVector<QRectF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF>::<anonymous union> (0x428aee80) 0
-Class QVector<QRectF>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF> (0x428aedc0) 0
-Class QVector<QRect>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect>::<anonymous union> (0x428ae180) 0
-Class QVector<QRect>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect> (0x428aef40) 0
Vtable for QStyle
QStyle::_ZTV6QStyle: 35u entries
@@ -5015,15 +4419,7 @@ QStyle (0x428ae240) 0
QObject (0x428ae9c0) 0
primary-for QStyle (0x428ae240)
-Class QFlags<QStyle::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::StateFlag> (0x42a28100) 0
-Class QFlags<QStyle::SubControl>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::SubControl> (0x42a28180) 0
Class QStylePainter
size=12 align=4
@@ -5041,25 +4437,13 @@ Class QPainterPath
base size=4 base align=4
QPainterPath (0x42a28340) 0
-Class QVector<QPainterPath::Element>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element>::<anonymous union> (0x42a28740) 0
-Class QVector<QPainterPath::Element>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element> (0x42a28680) 0
Class QPainterPathPrivate
size=8 align=4
base size=8 base align=4
QPainterPathPrivate (0x42a284c0) 0
-Class QTypeInfo<QPainterPath::Element>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPainterPath::Element> (0x42a28780) 0 empty
Class QPainterPathStroker
size=4 align=4
@@ -5071,15 +4455,7 @@ Class QTextItem
base size=0 base align=1
QTextItem (0x42a28840) 0 empty
-Class QTypeInfo<QTextItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextItem> (0x42a28880) 0 empty
-Class QFlags<QPaintEngine::PaintEngineFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::PaintEngineFeature> (0x42a28980) 0
Vtable for QPaintEngine
QPaintEngine::_ZTV12QPaintEngine: 24u entries
@@ -5114,10 +4490,6 @@ Class QPaintEngine
QPaintEngine (0x42a288c0) 0
vptr=((& QPaintEngine::_ZTV12QPaintEngine) + 8u)
-Class QFlags<QPaintEngine::DirtyFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::DirtyFlag> (0x42a28b00) 0
Class QPaintEngineState
size=4 align=4
@@ -5129,10 +4501,6 @@ Class QItemSelectionRange
base size=8 base align=4
QItemSelectionRange (0x42a28b40) 0
-Class QTypeInfo<QItemSelectionRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QItemSelectionRange> (0x42a28c40) 0 empty
Vtable for QItemSelectionModel
QItemSelectionModel::_ZTV19QItemSelectionModel: 18u entries
@@ -5163,20 +4531,8 @@ QItemSelectionModel (0x42a28cc0) 0
QObject (0x42a28d00) 0
primary-for QItemSelectionModel (0x42a28cc0)
-Class QFlags<QItemSelectionModel::SelectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QItemSelectionModel::SelectionFlag> (0x42a28e00) 0
-Class QList<QItemSelectionRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::<anonymous union> (0x42a28f40) 0
-Class QList<QItemSelectionRange>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange> (0x42a28e80) 0
Class QItemSelection
size=4 align=4
@@ -5465,10 +4821,6 @@ QAbstractSpinBox (0x42b534c0) 0
QPaintDevice (0x42b53580) 8
vptr=((& QAbstractSpinBox::_ZTV16QAbstractSpinBox) + 252u)
-Class QFlags<QAbstractSpinBox::StepEnabledFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractSpinBox::StepEnabledFlag> (0x42b53680) 0
Vtable for QAbstractSlider
QAbstractSlider::_ZTV15QAbstractSlider: 64u entries
@@ -5905,10 +5257,6 @@ Class QStyleOptionHeader
QStyleOptionHeader (0x42c29100) 0
QStyleOption (0x42c29140) 0
-Class QFlags<QStyleOptionButton::ButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionButton::ButtonFeature> (0x42c29380) 0
Class QStyleOptionButton
size=64 align=4
@@ -5916,10 +5264,6 @@ Class QStyleOptionButton
QStyleOptionButton (0x42c29280) 0
QStyleOption (0x42c292c0) 0
-Class QFlags<QStyleOptionTab::CornerWidget>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionTab::CornerWidget> (0x42c295c0) 0
Class QStyleOptionTab
size=72 align=4
@@ -5939,10 +5283,6 @@ Class QStyleOptionMenuItem
QStyleOptionMenuItem (0x42c29840) 0
QStyleOption (0x42c29880) 0
-Class QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature> (0x42c29a80) 0
Class QStyleOptionQ3ListViewItem
size=64 align=4
@@ -6000,15 +5340,7 @@ QStyleOptionSpinBox (0x42cba100) 0
QStyleOptionComplex (0x42cba140) 0
QStyleOption (0x42cba180) 0
-Class QList<QStyleOptionQ3ListViewItem>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::<anonymous union> (0x42cba480) 0
-Class QList<QStyleOptionQ3ListViewItem>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem> (0x42cba3c0) 0
Class QStyleOptionQ3ListView
size=84 align=4
@@ -6017,10 +5349,6 @@ QStyleOptionQ3ListView (0x42cba280) 0
QStyleOptionComplex (0x42cba2c0) 0
QStyleOption (0x42cba300) 0
-Class QFlags<QStyleOptionToolButton::ToolButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionToolButton::ToolButtonFeature> (0x42cba700) 0
Class QStyleOptionToolButton
size=96 align=4
@@ -6208,10 +5536,6 @@ QAbstractItemView (0x42cbad00) 0
QPaintDevice (0x42cbae40) 8
vptr=((& QAbstractItemView::_ZTV17QAbstractItemView) + 392u)
-Class QFlags<QAbstractItemView::EditTrigger>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractItemView::EditTrigger> (0x42cbaf80) 0
Vtable for QStringListModel
QStringListModel::_ZTV16QStringListModel: 42u entries
@@ -6394,15 +5718,7 @@ QListView (0x42cba680) 0
QPaintDevice (0x42d57000) 8
vptr=((& QListView::_ZTV9QListView) + 392u)
-Class QVector<QWidgetItemData>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData>::<anonymous union> (0x42d57280) 0
-Class QVector<QWidgetItemData>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData> (0x42d571c0) 0
Vtable for QListWidgetItem
QListWidgetItem::_ZTV15QListWidgetItem: 11u entries
@@ -7319,15 +6635,7 @@ Class QItemEditorCreatorBase
QItemEditorCreatorBase (0x42e73480) 0 nearly-empty
vptr=((& QItemEditorCreatorBase::_ZTV22QItemEditorCreatorBase) + 8u)
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union> (0x42e73780) 0
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*> (0x42e736c0) 0
Vtable for QItemEditorFactory
QItemEditorFactory::_ZTV18QItemEditorFactory: 6u entries
@@ -7344,25 +6652,9 @@ Class QItemEditorFactory
QItemEditorFactory (0x42e73600) 0
vptr=((& QItemEditorFactory::_ZTV18QItemEditorFactory) + 8u)
-Class QVector<QVector<QWidgetItemData> >::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> >::<anonymous union> (0x42e73a00) 0
-Class QVector<QVector<QWidgetItemData> >
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> > (0x42e73940) 0
-Class QList<QTreeWidgetItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::<anonymous union> (0x42e73b80) 0
-Class QList<QTreeWidgetItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*> (0x42e73ac0) 0
Vtable for QTreeWidgetItem
QTreeWidgetItem::_ZTV15QTreeWidgetItem: 10u entries
@@ -7589,15 +6881,7 @@ Class QAccessible
base size=0 base align=1
QAccessible (0x42e73c00) 0 empty
-Class QFlags<QAccessible::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::StateFlag> (0x42f5a000) 0
-Class QFlags<QAccessible::RelationFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::RelationFlag> (0x42f5a080) 0
Vtable for QAccessibleInterface
QAccessibleInterface::_ZTV20QAccessibleInterface: 19u entries
@@ -8445,15 +7729,7 @@ QActionGroup (0x42ff4b40) 0
QObject (0x42ff4b80) 0
primary-for QActionGroup (0x42ff4b40)
-Class QList<QAction*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QAction*>::<anonymous union> (0x42ff4d80) 0
-Class QList<QAction*>
- size=4 align=4
- base size=4 base align=4
-QList<QAction*> (0x42ff4cc0) 0
Vtable for QSound
QSound::_ZTV6QSound: 14u entries
@@ -8594,10 +7870,6 @@ QCommonStyle (0x42ff4300) 0
QObject (0x42ff4680) 0
primary-for QStyle (0x42ff44c0)
-Class QPointer<QFocusFrame>
- size=4 align=4
- base size=4 base align=4
-QPointer<QFocusFrame> (0x42ff4fc0) 0
Vtable for QMotifStyle
QMotifStyle::_ZTV11QMotifStyle: 35u entries
@@ -10125,10 +9397,6 @@ QDateEdit (0x431c61c0) 0
QPaintDevice (0x431c6a80) 8
vptr=((& QDateEdit::_ZTV9QDateEdit) + 260u)
-Class QFlags<QDateTimeEdit::Section>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDateTimeEdit::Section> (0x431c6fc0) 0
Vtable for QLabel
QLabel::_ZTV6QLabel: 63u entries
@@ -10288,10 +9556,6 @@ QDockWidget (0x432721c0) 0
QPaintDevice (0x43272280) 8
vptr=((& QDockWidget::_ZTV11QDockWidget) + 232u)
-Class QFlags<QDockWidget::DockWidgetFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDockWidget::DockWidgetFeature> (0x432723c0) 0
Vtable for QGroupBox
QGroupBox::_ZTV9QGroupBox: 63u entries
@@ -10538,10 +9802,6 @@ QTextEdit (0x43272700) 0
QPaintDevice (0x43272840) 8
vptr=((& QTextEdit::_ZTV9QTextEdit) + 256u)
-Class QFlags<QTextDocument::FindFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextDocument::FindFlag> (0x43272980) 0
Vtable for QProgressBar
QProgressBar::_ZTV12QProgressBar: 64u entries
@@ -11877,10 +11137,6 @@ Class QGLColormap
base size=4 base align=4
QGLColormap (0x4346f080) 0
-Class QFlags<QGL::FormatOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGL::FormatOption> (0x4346f180) 0
Class QGLFormat
size=4 align=4
@@ -11995,153 +11251,33 @@ QGLWidget (0x4346f3c0) 0
QPaintDevice (0x4346f480) 8
vptr=((& QGLWidget::_ZTV9QGLWidget) + 272u)
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0x436078c0) 0
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0x43607f80) 0
-Class QVectorTypedData<QTextLength>
- size=28 align=4
- base size=28 base align=4
-QVectorTypedData<QTextLength> (0x43695140) 0
-Class QVectorTypedData<QTextLayout::FormatRange>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QTextLayout::FormatRange> (0x43695580) 0
-Class QVectorTypedData<QAbstractTextDocumentLayout::Selection>
- size=28 align=4
- base size=28 base align=4
-QVectorTypedData<QAbstractTextDocumentLayout::Selection> (0x43695740) 0
-Class QVectorTypedData<QPoint>
- size=24 align=4
- base size=24 base align=4
-QVectorTypedData<QPoint> (0x43695c40) 0
-Class QVectorTypedData<QPointF>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QPointF> (0x43695f80) 0
-Class QVectorTypedData<QLineF>
- size=48 align=4
- base size=48 base align=4
-QVectorTypedData<QLineF> (0x436d5400) 0
-Class QVectorTypedData<QLine>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QLine> (0x436d5540) 0
-Class QVectorTypedData<QRectF>
- size=48 align=4
- base size=48 base align=4
-QVectorTypedData<QRectF> (0x436d5680) 0
-Class QVectorTypedData<QRect>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QRect> (0x436d57c0) 0
-Class QVectorTypedData<QPainterPath::Element>
- size=36 align=4
- base size=36 base align=4
-QVectorTypedData<QPainterPath::Element> (0x436d5b80) 0
-Class QList<QTreeWidgetItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::Node (0x437555c0) 0
-Class QVectorTypedData<QVector<QWidgetItemData> >
- size=20 align=4
- base size=20 base align=4
-QVectorTypedData<QVector<QWidgetItemData> > (0x43755700) 0
-Class QList<QAction*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QAction*>::Node (0x43755d00) 0
-Class QTypeInfo<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLength> (0x437dd380) 0 empty
-Class QTypeInfo<QTextLayout::FormatRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLayout::FormatRange> (0x437dd580) 0 empty
-Class QTypeInfo<QAbstractTextDocumentLayout::Selection>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAbstractTextDocumentLayout::Selection> (0x437dd800) 0 empty
-Class QHashNode<QVariant::Type, QItemEditorCreatorBase*>
- size=16 align=4
- base size=16 base align=4
-QHashNode<QVariant::Type, QItemEditorCreatorBase*> (0x438171c0) 0
-Class QTypeInfo<QTreeWidgetItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTreeWidgetItem*> (0x438172c0) 0 empty
-Class QTypeInfo<QAction*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAction*> (0x43817580) 0 empty
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0x438178c0) 0
-Class QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union> (0x43817a00) 0
-Class QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union> (0x43817b80) 0
-Class QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union> (0x43817d40) 0
-Class QList<QItemSelectionRange>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::Node (0x43817f00) 0
-Class QTypeInfo<QStyleOptionQ3ListViewItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QStyleOptionQ3ListViewItem> (0x43817b00) 0 empty
-Class QList<QStyleOptionQ3ListViewItem>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::Node (0x43817d80) 0
-Class QList<QVariant>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::Node (0x438902c0) 0
-Class QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union> (0x43890700) 0
diff --git a/tests/auto/bic/data/QtOpenGL.4.0.0.linux-gcc-ppc32.txt b/tests/auto/bic/data/QtOpenGL.4.0.0.linux-gcc-ppc32.txt
index 57dbbaa..b25928c 100644
--- a/tests/auto/bic/data/QtOpenGL.4.0.0.linux-gcc-ppc32.txt
+++ b/tests/auto/bic/data/QtOpenGL.4.0.0.linux-gcc-ppc32.txt
@@ -59,145 +59,37 @@ Class QBool
base size=1 base align=1
QBool (0x30b739a0) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0x30b73c40) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0x30b73ce8) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0x30b73d90) 0 empty
-Class QTypeInfo<uchar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uchar> (0x30b73e38) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0x30b73ee0) 0 empty
-Class QTypeInfo<ushort>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ushort> (0x30b73f88) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0x30b73578) 0 empty
-Class QTypeInfo<uint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uint> (0x313ca038) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0x313ca0e0) 0 empty
-Class QTypeInfo<ulong>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ulong> (0x313ca188) 0 empty
-Class QTypeInfo<qint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<qint64> (0x313ca230) 0 empty
-Class QTypeInfo<quint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<quint64> (0x313ca2d8) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0x313ca380) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0x313ca428) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0x313ca4d0) 0 empty
Class QFlag
size=4 align=4
base size=4 base align=4
QFlag (0x313ca540) 0
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0x313caa48) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0x313caab8) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0x313cab28) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0x313cab98) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0x313cac08) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0x313cac78) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0x313cace8) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0x313cad58) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0x313cadc8) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0x313cae38) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0x313caea8) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0x313caf18) 0
Class QInternal
size=1 align=1
@@ -215,10 +107,6 @@ Class QGenericReturnArgument
QGenericReturnArgument (0x30187a80) 0
QGenericArgument (0x31492038) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0x314921f8) 0
Class QMetaObject
size=16 align=4
@@ -235,10 +123,6 @@ Class QChar
base size=2 base align=2
QChar (0x314922d8) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0x31492380) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -271,10 +155,6 @@ Class QByteRef
base size=8 base align=4
QByteRef (0x31492f18) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0x31561268) 0 empty
Class QString::Null
size=1 align=1
@@ -296,20 +176,12 @@ Class QLatin1String
base size=4 base align=4
QLatin1String (0x315614d0) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0x31561818) 0
Class QCharRef
size=8 align=4
base size=8 base align=4
QCharRef (0x31561850) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0x316c1188) 0 empty
Class QListData::Data
size=24 align=4
@@ -321,15 +193,7 @@ Class QListData
base size=4 base align=4
QListData (0x316c1380) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0x316c18c0) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0x316c1818) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -421,10 +285,6 @@ QIODevice (0x30187c80) 0
QObject (0x316c1d58) 0
primary-for QIODevice (0x30187c80)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0x316c1f18) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -449,30 +309,10 @@ Class QMapData
base size=72 base align=4
QMapData (0x317dd268) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x317dd7a8) 0
-Class <anonymous struct>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct>::<anonymous union> (0x317dd888) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x317dd818) 0
-Class <anonymous struct>
- size=12 align=4
- base size=12 base align=4
-<anonymous struct> (0x317dd8f8) 0
-Class <anonymous struct>
- size=16 align=8
- base size=16 base align=8
-<anonymous struct> (0x317dd968) 0
Class __gconv_trans_data
size=20 align=4
@@ -494,15 +334,7 @@ Class __gconv_info
base size=8 base align=4
__gconv_info (0x317ddab8) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0x317ddb98) 0
-Class <anonymous union>
- size=44 align=4
- base size=44 base align=4
-<anonymous union> (0x317ddb28) 0
Class _IO_marker
size=12 align=4
@@ -514,10 +346,6 @@ Class _IO_FILE
base size=152 base align=8
_IO_FILE (0x317ddc08) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0x317ddc78) 0
Vtable for QTextStream
QTextStream::_ZTV11QTextStream: 4u entries
@@ -532,10 +360,6 @@ Class QTextStream
QTextStream (0x317ddcb0) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0x317dde70) 0
Class QTextStreamManipulator
size=24 align=4
@@ -596,10 +420,6 @@ QFile (0x30187e00) 0
QObject (0x318d0348) 0
primary-for QIODevice (0x30187e40)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0x318d04d0) 0
Vtable for QTemporaryFile
QTemporaryFile::_ZTV14QTemporaryFile: 31u entries
@@ -652,25 +472,13 @@ Class QRegExp
base size=4 base align=4
QRegExp (0x318d0620) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0x318d0690) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0x318d0700) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0x318d08c0) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0x318d0818) 0
Class QStringList
size=4 align=4
@@ -770,130 +578,42 @@ Class QFileInfo
base size=4 base align=4
QFileInfo (0x318d0f18) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0x319ac038) 0 empty
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0x319ac0e0) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0x319ac1f8) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0x319ac268) 0
Class QUrl
size=4 align=4
base size=4 base align=4
QUrl (0x319ac310) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0x319ac428) 0 empty
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0x319ac4d0) 0
Class QMetaType
size=1 align=1
base size=0 base align=1
QMetaType (0x319ac508) 0 empty
-Class QMetaTypeId<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QString> (0x319ac5e8) 0 empty
-Class QMetaTypeId<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<int> (0x319ac658) 0 empty
-Class QMetaTypeId<uint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<uint> (0x319ac6c8) 0 empty
-Class QMetaTypeId<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<bool> (0x319ac738) 0 empty
-Class QMetaTypeId<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<double> (0x319ac7a8) 0 empty
-Class QMetaTypeId<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QByteArray> (0x319ac818) 0 empty
-Class QMetaTypeId<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QChar> (0x319ac888) 0 empty
-Class QMetaTypeId<void>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<void> (0x319ac8f8) 0 empty
-Class QMetaTypeId<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<long int> (0x319ac968) 0 empty
-Class QMetaTypeId<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<short int> (0x319ac9d8) 0 empty
-Class QMetaTypeId<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<char> (0x319aca48) 0 empty
-Class QMetaTypeId<ulong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<ulong> (0x319acab8) 0 empty
-Class QMetaTypeId<ushort>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<ushort> (0x319acb28) 0 empty
-Class QMetaTypeId<uchar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<uchar> (0x319acb98) 0 empty
-Class QMetaTypeId<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<float> (0x319acc08) 0 empty
-Class QMetaTypeId<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QObject*> (0x319acc78) 0 empty
-Class QMetaTypeId<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QWidget*> (0x319acce8) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -920,35 +640,15 @@ Class QVariant
base size=16 base align=8
QVariant (0x319acd20) 0
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0x31a501c0) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0x31a50118) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0x31a50380) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0x31a502d8) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0x31a50540) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0x31a50658) 0 empty
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1033,10 +733,6 @@ Class QFileEngineHandler
QFileEngineHandler (0x31a509a0) 0 nearly-empty
vptr=((& QFileEngineHandler::_ZTV18QFileEngineHandler) + 8u)
-Class QFlags<QFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileEngine::FileFlag> (0x31a50b28) 0
Class QHashData::Node
size=8 align=4
@@ -1053,90 +749,54 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0x31a50d20) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0x31a50d90) 0 empty
Class QPoint
size=8 align=4
base size=8 base align=4
QPoint (0x31afb310) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0x31afb700) 0 empty
Class QPointF
size=16 align=8
base size=16 base align=8
QPointF (0x31afb888) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0x31afbc78) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0x31afbe38) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0x31afbea8) 0 empty
Class QLineF
size=32 align=8
base size=32 base align=8
QLineF (0x31afb038) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0x31afb428) 0 empty
Class QSize
size=8 align=4
base size=8 base align=4
QSize (0x31afb930) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0x31bfc0a8) 0 empty
Class QSizeF
size=16 align=8
base size=16 base align=8
QSizeF (0x31bfc310) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0x31bfc690) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0x31bfc9a0) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0x31bfcb98) 0 empty
Class QRectF
size=32 align=8
base size=32 base align=8
QRectF (0x31bfcdc8) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0x31bfcf50) 0 empty
Class QLinkedListData
size=20 align=4
@@ -1153,10 +813,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0x31cf86c8) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0x31cf87e0) 0 empty
Class QVectorData
size=16 align=4
@@ -1178,40 +834,24 @@ Class QLocale
base size=4 base align=4
QLocale (0x31cf8d90) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0x31cf8e00) 0 empty
Class QDate
size=4 align=4
base size=4 base align=4
QDate (0x31cf80e0) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0x31e85188) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0x31e851f8) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0x31e85380) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0x31e853f0) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0x31e85540) 0 empty
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -1286,10 +926,6 @@ QTextCodecPlugin (0x31993380) 0
QFactoryInterface (0x31e85a10) 8 nearly-empty
primary-for QTextCodecFactoryInterface (0x319933c0)
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0x31e85e38) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -1409,10 +1045,6 @@ QEventLoop (0x319934c0) 0
QObject (0x31f0d0a8) 0
primary-for QEventLoop (0x319934c0)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0x31f0d230) 0
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -1489,20 +1121,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0x31f0d930) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0x31f0dab8) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0x31f0db60) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0x31f0dc78) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -1722,10 +1346,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0x31faf0e0) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0x31faf1c0) 0 empty
Vtable for QSocketNotifier
QSocketNotifier::_ZTV15QSocketNotifier: 14u entries
@@ -1820,20 +1440,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0x31faf5e8) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0x31faf690) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0x31faf700) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0x31faf7a8) 0 empty
Class QMetaProperty
size=20 align=4
@@ -1845,10 +1457,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0x31faf850) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0x31faf8f8) 0 empty
Vtable for QPluginLoader
QPluginLoader::_ZTV13QPluginLoader: 14u entries
@@ -1971,25 +1579,9 @@ Class QWriteLocker
base size=4 base align=4
QWriteLocker (0x31faff18) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x320411f8) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x32041268) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x320412d8) 0
-Class QColor::<anonymous union>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union> (0x32041188) 0
Class QColor
size=16 align=4
@@ -2006,55 +1598,23 @@ Class QPen
base size=4 base align=4
QPen (0x32041700) 0
-Class QTypeInfo<QPen>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPen> (0x32041770) 0 empty
Class QBrush
size=4 align=4
base size=4 base align=4
QBrush (0x320417e0) 0
-Class QTypeInfo<QBrush>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBrush> (0x32041850) 0 empty
Class QBrushData
size=24 align=4
base size=24 base align=4
QBrushData (0x320418c0) 0
-Class QVector<QGradientStop>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QGradientStop>::<anonymous union> (0x32041b60) 0
-Class QVector<QGradientStop>
- size=4 align=4
- base size=4 base align=4
-QVector<QGradientStop> (0x32041a80) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=32 align=8
- base size=32 base align=8
-QGradient::<anonymous union>::<anonymous struct> (0x32041c78) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=40 align=8
- base size=40 base align=8
-QGradient::<anonymous union>::<anonymous struct> (0x32041ce8) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=24 align=8
- base size=24 base align=8
-QGradient::<anonymous union>::<anonymous struct> (0x32041d58) 0
-Class QGradient::<anonymous union>
- size=40 align=8
- base size=40 base align=8
-QGradient::<anonymous union> (0x32041c08) 0
Class QGradient
size=64 align=8
@@ -2084,25 +1644,13 @@ Class QTextLength
base size=16 base align=8
QTextLength (0x32041e38) 0
-Class QSharedDataPointer<QTextFormatPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextFormatPrivate> (0x32041a10) 0
Class QTextFormat
size=8 align=4
base size=8 base align=4
QTextFormat (0x32041380) 0
-Class QVector<QTextLength>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength>::<anonymous union> (0x320f12a0) 0
-Class QVector<QTextLength>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength> (0x320f11c0) 0
Class QTextCharFormat
size=8 align=4
@@ -2242,10 +1790,6 @@ QTextFrame (0x31993cc0) 0
QObject (0x320f18c0) 0
primary-for QTextObject (0x31993d00)
-Class QTypeInfo<QTextFrame::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFrame::iterator> (0x320f1d58) 0 empty
Class QTextBlock::iterator
size=16 align=4
@@ -2257,25 +1801,13 @@ Class QTextBlock
base size=8 base align=4
QTextBlock (0x320f1dc8) 0
-Class QTypeInfo<QTextBlock>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock> (0x321bf038) 0 empty
-Class QTypeInfo<QTextBlock::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock::iterator> (0x321bf0e0) 0 empty
Class QTextFragment
size=12 align=4
base size=12 base align=4
QTextFragment (0x321bf150) 0
-Class QTypeInfo<QTextFragment>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFragment> (0x321bf310) 0 empty
Class QFontMetrics
size=4 align=4
@@ -2340,10 +1872,6 @@ Class QTextOption
base size=28 base align=8
QTextOption (0x321bf770) 0
-Class QFlags<QTextOption::Flag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextOption::Flag> (0x321bf850) 0
Class QTextTableCell
size=8 align=4
@@ -2394,10 +1922,6 @@ Class QKeySequence
base size=4 base align=4
QKeySequence (0x321bfea8) 0
-Class QTypeInfo<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QKeySequence> (0x321bf540) 0 empty
Vtable for QMimeSource
QMimeSource::_ZTV11QMimeSource: 7u entries
@@ -2680,15 +2204,7 @@ Class QInputMethodEvent::Attribute
base size=32 base align=8
QInputMethodEvent::Attribute (0x32261700) 0
-Class QList<QInputMethodEvent::Attribute>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute>::<anonymous union> (0x32261d90) 0
-Class QList<QInputMethodEvent::Attribute>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute> (0x32261a48) 0
Vtable for QInputMethodEvent
QInputMethodEvent::_ZTV17QInputMethodEvent: 4u entries
@@ -2705,15 +2221,7 @@ QInputMethodEvent (0x322763c0) 0
QEvent (0x322615e8) 0
primary-for QInputMethodEvent (0x322763c0)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0x322cd2a0) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0x322cd1f8) 0
Vtable for QDropEvent
QDropEvent::_ZTV10QDropEvent: 14u entries
@@ -2982,15 +2490,7 @@ Class QTextLayout
base size=4 base align=4
QTextLayout (0x3231b2a0) 0
-Class QVector<QTextLayout::FormatRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange>::<anonymous union> (0x3231b4d0) 0
-Class QVector<QTextLayout::FormatRange>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange> (0x3231b3f0) 0
Class QTextLine
size=8 align=4
@@ -3039,10 +2539,6 @@ Class QTextDocumentFragment
base size=4 base align=4
QTextDocumentFragment (0x3231b8f8) 0
-Class QSharedDataPointer<QTextCursorPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextCursorPrivate> (0x3231ba10) 0
Class QTextCursor
size=4 align=4
@@ -3059,15 +2555,7 @@ Class QAbstractTextDocumentLayout::Selection
base size=12 base align=4
QAbstractTextDocumentLayout::Selection (0x3231bb98) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union> (0x3231bd90) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection> (0x3231bcb0) 0
Class QAbstractTextDocumentLayout::PaintContext
size=56 align=8
@@ -3894,10 +3382,6 @@ QFileDialog (0x32276f80) 0
QPaintDevice (0x324a6380) 8
vptr=((& QFileDialog::_ZTV11QFileDialog) + 244u)
-Class QFlags<QFileDialog::Option>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileDialog::Option> (0x324a6578) 0
Vtable for QAbstractPrintDialog
QAbstractPrintDialog::_ZTV20QAbstractPrintDialog: 67u entries
@@ -4417,10 +3901,6 @@ QImage (0x324c3540) 0
QPaintDevice (0x324a6fc0) 0
primary-for QImage (0x324c3540)
-Class QTypeInfo<QImage>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QImage> (0x32555188) 0 empty
Vtable for QPixmap
QPixmap::_ZTV7QPixmap: 7u entries
@@ -4645,10 +4125,6 @@ Class QIcon
base size=4 base align=4
QIcon (0x32555f88) 0
-Class QTypeInfo<QIcon>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QIcon> (0x325550e0) 0 empty
Vtable for QIconEngine
QIconEngine::_ZTV11QIconEngine: 9u entries
@@ -4800,15 +4276,7 @@ Class QPrintEngine
QPrintEngine (0x325f25b0) 0 nearly-empty
vptr=((& QPrintEngine::_ZTV12QPrintEngine) + 8u)
-Class QVector<QPoint>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint>::<anonymous union> (0x325f2888) 0
-Class QVector<QPoint>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint> (0x325f27a8) 0
Class QPolygon
size=4 align=4
@@ -4816,15 +4284,7 @@ Class QPolygon
QPolygon (0x324c39c0) 0
QVector<QPoint> (0x325f28f8) 0
-Class QVector<QPointF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF>::<anonymous union> (0x325f2cb0) 0
-Class QVector<QPointF>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF> (0x325f2bd0) 0
Class QPolygonF
size=4 align=4
@@ -4837,55 +4297,19 @@ Class QMatrix
base size=48 base align=8
QMatrix (0x325f2fc0) 0
-Class QTypeInfo<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMatrix> (0x325f2230) 0 empty
Class QPainter
size=4 align=4
base size=4 base align=4
QPainter (0x3267e000) 0
-Class QVector<QLineF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF>::<anonymous union> (0x3267e2d8) 0
-Class QVector<QLineF>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF> (0x3267e1f8) 0
-Class QVector<QLine>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine>::<anonymous union> (0x3267e498) 0
-Class QVector<QLine>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine> (0x3267e3b8) 0
-Class QVector<QRectF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF>::<anonymous union> (0x3267e658) 0
-Class QVector<QRectF>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF> (0x3267e578) 0
-Class QVector<QRect>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect>::<anonymous union> (0x3267e818) 0
-Class QVector<QRect>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect> (0x3267e738) 0
Vtable for QStyle
QStyle::_ZTV6QStyle: 35u entries
@@ -4933,15 +4357,7 @@ QStyle (0x324c3a40) 0
QObject (0x3267e888) 0
primary-for QStyle (0x324c3a40)
-Class QFlags<QStyle::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::StateFlag> (0x3267ea48) 0
-Class QFlags<QStyle::SubControl>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::SubControl> (0x3267eab8) 0
Class QStylePainter
size=12 align=4
@@ -4959,25 +4375,13 @@ Class QPainterPath
base size=4 base align=4
QPainterPath (0x3267ed20) 0
-Class QVector<QPainterPath::Element>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element>::<anonymous union> (0x327b50e0) 0
-Class QVector<QPainterPath::Element>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element> (0x327b5000) 0
Class QPainterPathPrivate
size=8 align=4
base size=8 base align=4
QPainterPathPrivate (0x3267ef18) 0
-Class QTypeInfo<QPainterPath::Element>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPainterPath::Element> (0x327b5188) 0 empty
Class QPainterPathStroker
size=4 align=4
@@ -4989,15 +4393,7 @@ Class QTextItem
base size=0 base align=1
QTextItem (0x327b53b8) 0 empty
-Class QTypeInfo<QTextItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextItem> (0x327b5460) 0 empty
-Class QFlags<QPaintEngine::PaintEngineFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::PaintEngineFeature> (0x327b55e8) 0
Vtable for QPaintEngine
QPaintEngine::_ZTV12QPaintEngine: 24u entries
@@ -5032,10 +4428,6 @@ Class QPaintEngine
QPaintEngine (0x327b54d0) 0
vptr=((& QPaintEngine::_ZTV12QPaintEngine) + 8u)
-Class QFlags<QPaintEngine::DirtyFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::DirtyFlag> (0x327b57e0) 0
Class QPaintEngineState
size=4 align=4
@@ -5047,10 +4439,6 @@ Class QItemSelectionRange
base size=8 base align=4
QItemSelectionRange (0x327b5818) 0
-Class QTypeInfo<QItemSelectionRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QItemSelectionRange> (0x327b5ab8) 0 empty
Vtable for QItemSelectionModel
QItemSelectionModel::_ZTV19QItemSelectionModel: 18u entries
@@ -5081,20 +4469,8 @@ QItemSelectionModel (0x324c3b00) 0
QObject (0x327b5b60) 0
primary-for QItemSelectionModel (0x324c3b00)
-Class QFlags<QItemSelectionModel::SelectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QItemSelectionModel::SelectionFlag> (0x327b5ce8) 0
-Class QList<QItemSelectionRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::<anonymous union> (0x327b5e38) 0
-Class QList<QItemSelectionRange>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange> (0x327b5d90) 0
Class QItemSelection
size=4 align=4
@@ -5383,10 +4759,6 @@ QAbstractSpinBox (0x324c3e00) 0
QPaintDevice (0x328884d0) 8
vptr=((& QAbstractSpinBox::_ZTV16QAbstractSpinBox) + 252u)
-Class QFlags<QAbstractSpinBox::StepEnabledFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractSpinBox::StepEnabledFlag> (0x32888700) 0
Vtable for QAbstractSlider
QAbstractSlider::_ZTV15QAbstractSlider: 64u entries
@@ -5823,10 +5195,6 @@ Class QStyleOptionHeader
QStyleOptionHeader (0x328ec240) 0
QStyleOption (0x3292d508) 0
-Class QFlags<QStyleOptionButton::ButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionButton::ButtonFeature> (0x3292d7e0) 0
Class QStyleOptionButton
size=64 align=4
@@ -5834,10 +5202,6 @@ Class QStyleOptionButton
QStyleOptionButton (0x328ec2c0) 0
QStyleOption (0x3292d690) 0
-Class QFlags<QStyleOptionTab::CornerWidget>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionTab::CornerWidget> (0x3292da48) 0
Class QStyleOptionTab
size=72 align=4
@@ -5857,10 +5221,6 @@ Class QStyleOptionMenuItem
QStyleOptionMenuItem (0x328ec3c0) 0
QStyleOption (0x3292dd20) 0
-Class QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature> (0x3292d0e0) 0
Class QStyleOptionQ3ListViewItem
size=64 align=4
@@ -5918,15 +5278,7 @@ QStyleOptionSpinBox (0x328ec640) 0
QStyleOptionComplex (0x328ec680) 0
QStyleOption (0x329a89d8) 0
-Class QList<QStyleOptionQ3ListViewItem>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::<anonymous union> (0x329a8d58) 0
-Class QList<QStyleOptionQ3ListViewItem>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem> (0x329a8cb0) 0
Class QStyleOptionQ3ListView
size=84 align=4
@@ -5935,10 +5287,6 @@ QStyleOptionQ3ListView (0x328ec6c0) 0
QStyleOptionComplex (0x328ec700) 0
QStyleOption (0x329a8b60) 0
-Class QFlags<QStyleOptionToolButton::ToolButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionToolButton::ToolButtonFeature> (0x329a81f8) 0
Class QStyleOptionToolButton
size=96 align=4
@@ -6126,10 +5474,6 @@ QAbstractItemView (0x328ec980) 0
QPaintDevice (0x32a13460) 8
vptr=((& QAbstractItemView::_ZTV17QAbstractItemView) + 392u)
-Class QFlags<QAbstractItemView::EditTrigger>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractItemView::EditTrigger> (0x32a13658) 0
Vtable for QStringListModel
QStringListModel::_ZTV16QStringListModel: 42u entries
@@ -6312,15 +5656,7 @@ QListView (0x328ecb80) 0
QPaintDevice (0x32a137e0) 8
vptr=((& QListView::_ZTV9QListView) + 392u)
-Class QVector<QWidgetItemData>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData>::<anonymous union> (0x32a13b60) 0
-Class QVector<QWidgetItemData>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData> (0x32a13a80) 0
Vtable for QListWidgetItem
QListWidgetItem::_ZTV15QListWidgetItem: 11u entries
@@ -7237,15 +6573,7 @@ Class QItemEditorCreatorBase
QItemEditorCreatorBase (0x32ad8e00) 0 nearly-empty
vptr=((& QItemEditorCreatorBase::_ZTV22QItemEditorCreatorBase) + 8u)
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union> (0x32ad8b98) 0
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*> (0x32ad8428) 0
Vtable for QItemEditorFactory
QItemEditorFactory::_ZTV18QItemEditorFactory: 6u entries
@@ -7262,25 +6590,9 @@ Class QItemEditorFactory
QItemEditorFactory (0x32ad80a8) 0
vptr=((& QItemEditorFactory::_ZTV18QItemEditorFactory) + 8u)
-Class QVector<QVector<QWidgetItemData> >::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> >::<anonymous union> (0x32bc9348) 0
-Class QVector<QVector<QWidgetItemData> >
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> > (0x32bc9268) 0
-Class QList<QTreeWidgetItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::<anonymous union> (0x32bc9508) 0
-Class QList<QTreeWidgetItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*> (0x32bc9460) 0
Vtable for QTreeWidgetItem
QTreeWidgetItem::_ZTV15QTreeWidgetItem: 10u entries
@@ -7507,15 +6819,7 @@ Class QAccessible
base size=0 base align=1
QAccessible (0x32bc9e38) 0 empty
-Class QFlags<QAccessible::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::StateFlag> (0x32bc9f18) 0
-Class QFlags<QAccessible::RelationFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::RelationFlag> (0x32bc9f88) 0
Vtable for QAccessibleInterface
QAccessibleInterface::_ZTV20QAccessibleInterface: 19u entries
@@ -8497,10 +7801,6 @@ QCommonStyle (0x32d35280) 0
QObject (0x32d8e348) 0
primary-for QStyle (0x32d352c0)
-Class QPointer<QFocusFrame>
- size=4 align=4
- base size=4 base align=4
-QPointer<QFocusFrame> (0x32d8e540) 0
Vtable for QMotifStyle
QMotifStyle::_ZTV11QMotifStyle: 35u entries
@@ -10028,10 +9328,6 @@ QDateEdit (0x32e92240) 0
QPaintDevice (0x32e9b4d0) 8
vptr=((& QDateEdit::_ZTV9QDateEdit) + 260u)
-Class QFlags<QDateTimeEdit::Section>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDateTimeEdit::Section> (0x32e9b690) 0
Vtable for QLabel
QLabel::_ZTV6QLabel: 63u entries
@@ -10191,10 +9487,6 @@ QDockWidget (0x32e92400) 0
QPaintDevice (0x32e9b8c0) 8
vptr=((& QDockWidget::_ZTV11QDockWidget) + 232u)
-Class QFlags<QDockWidget::DockWidgetFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDockWidget::DockWidgetFeature> (0x32e9bb28) 0
Vtable for QGroupBox
QGroupBox::_ZTV9QGroupBox: 63u entries
@@ -11748,10 +11040,6 @@ Class QGLColormap
base size=4 base align=4
QGLColormap (0x32fe68c0) 0
-Class QFlags<QGL::FormatOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGL::FormatOption> (0x32fe6a48) 0
Class QGLFormat
size=4 align=4
@@ -11866,133 +11154,29 @@ QGLWidget (0x3300e180) 0
QPaintDevice (0x32fe6d20) 8
vptr=((& QGLWidget::_ZTV9QGLWidget) + 272u)
-Class QVectorTypedData<QTextLength>
- size=32 align=8
- base size=32 base align=8
-QVectorTypedData<QTextLength> (0x33276bd0) 0
-Class QVectorTypedData<QTextLayout::FormatRange>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QTextLayout::FormatRange> (0x332900a8) 0
-Class QVectorTypedData<QAbstractTextDocumentLayout::Selection>
- size=28 align=4
- base size=28 base align=4
-QVectorTypedData<QAbstractTextDocumentLayout::Selection> (0x33290348) 0
-Class QVectorTypedData<QPoint>
- size=24 align=4
- base size=24 base align=4
-QVectorTypedData<QPoint> (0x33290c08) 0
-Class QVectorTypedData<QPointF>
- size=32 align=8
- base size=32 base align=8
-QVectorTypedData<QPointF> (0x332ba230) 0
-Class QVectorTypedData<QLineF>
- size=48 align=8
- base size=48 base align=8
-QVectorTypedData<QLineF> (0x332ba8c0) 0
-Class QVectorTypedData<QLine>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QLine> (0x332baa48) 0
-Class QVectorTypedData<QRectF>
- size=48 align=8
- base size=48 base align=8
-QVectorTypedData<QRectF> (0x332bad90) 0
-Class QVectorTypedData<QRect>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QRect> (0x332baf18) 0
-Class QVectorTypedData<QPainterPath::Element>
- size=40 align=8
- base size=40 base align=8
-QVectorTypedData<QPainterPath::Element> (0x332dd690) 0
-Class QList<QTreeWidgetItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::Node (0x33333dc8) 0
-Class QVectorTypedData<QVector<QWidgetItemData> >
- size=20 align=4
- base size=20 base align=4
-QVectorTypedData<QVector<QWidgetItemData> > (0x33333fc0) 0
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0x3338b3f0) 0
-Class QTypeInfo<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLength> (0x3338bdc8) 0 empty
-Class QTypeInfo<QTextLayout::FormatRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLayout::FormatRange> (0x333aa0e0) 0 empty
-Class QTypeInfo<QAbstractTextDocumentLayout::Selection>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAbstractTextDocumentLayout::Selection> (0x333aa4d0) 0 empty
-Class QHashNode<QVariant::Type, QItemEditorCreatorBase*>
- size=16 align=4
- base size=16 base align=4
-QHashNode<QVariant::Type, QItemEditorCreatorBase*> (0x333c95b0) 0
-Class QTypeInfo<QTreeWidgetItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTreeWidgetItem*> (0x333c9738) 0 empty
-Class QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union> (0x333c9f18) 0
-Class QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union> (0x333fd3f0) 0
-Class QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union> (0x333fda10) 0
-Class QList<QItemSelectionRange>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::Node (0x333fd428) 0
-Class QTypeInfo<QStyleOptionQ3ListViewItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QStyleOptionQ3ListViewItem> (0x3343b1f8) 0 empty
-Class QList<QStyleOptionQ3ListViewItem>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::Node (0x3343b2a0) 0
-Class QList<QVariant>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::Node (0x3343b770) 0
-Class QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union> (0x3343bc40) 0
diff --git a/tests/auto/bic/data/QtOpenGL.4.0.0.macx-gcc-ppc32.txt b/tests/auto/bic/data/QtOpenGL.4.0.0.macx-gcc-ppc32.txt
index 2f5d4dc..23530d1 100644
--- a/tests/auto/bic/data/QtOpenGL.4.0.0.macx-gcc-ppc32.txt
+++ b/tests/auto/bic/data/QtOpenGL.4.0.0.macx-gcc-ppc32.txt
@@ -59,75 +59,19 @@ Class QBool
base size=4 base align=4
QBool (0x87ccc0) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0x87c500) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0x1720000) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0x17200c0) 0 empty
-Class QTypeInfo<uchar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uchar> (0x1720180) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0x1720240) 0 empty
-Class QTypeInfo<ushort>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ushort> (0x1720300) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0x17203c0) 0 empty
-Class QTypeInfo<uint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uint> (0x1720480) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0x1720540) 0 empty
-Class QTypeInfo<ulong>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ulong> (0x1720600) 0 empty
-Class QTypeInfo<qint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<qint64> (0x17206c0) 0 empty
-Class QTypeInfo<quint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<quint64> (0x1720780) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0x1720840) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0x1720900) 0 empty
Class QFlag
size=4 align=4
@@ -144,10 +88,6 @@ Class QChar
base size=2 base align=2
QChar (0x1720c00) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0x1720d00) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -160,10 +100,6 @@ Class QAtomic
QAtomic (0x17b90c0) 0
QBasicAtomic (0x17b9100) 0
-Class <anonymous union>
- size=128 align=8
- base size=128 base align=8
-<anonymous union> (0x17b9380) 0
Class __darwin_pthread_handler_rec
size=12 align=4
@@ -245,70 +181,18 @@ Class QByteRef
base size=8 base align=4
QByteRef (0x1863000) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0x18633c0) 0 empty
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0x1863880) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0x1863900) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0x1863980) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0x1863a00) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0x1863a80) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0x1863b00) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0x1863b80) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0x1863c00) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0x1863c80) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0x1863d00) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0x1863d80) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0x1863e00) 0
Class QInternal
size=1 align=1
@@ -335,10 +219,6 @@ Class QLatin1String
base size=4 base align=4
QLatin1String (0x1a0d540) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0x1a0d980) 0
Class QCharRef
size=8 align=4
@@ -351,10 +231,6 @@ Class QConstString
QConstString (0x1b9a580) 0
QString (0x1b9a5c0) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0x1b9a6c0) 0 empty
Class QListData::Data
size=24 align=4
@@ -366,10 +242,6 @@ Class QListData
base size=4 base align=4
QListData (0x1b9a900) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0x1b9af00) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -394,15 +266,7 @@ Class QTextCodec
QTextCodec (0x1b9ad80) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0x1cc5180) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0x1cc50c0) 0
Class QTextEncoder
size=32 align=4
@@ -425,25 +289,13 @@ Class QGenericReturnArgument
QGenericReturnArgument (0x1cc53c0) 0
QGenericArgument (0x1cc5400) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0x1cc56c0) 0
Class QMetaObject
size=16 align=4
base size=16 base align=4
QMetaObject (0x1cc5640) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0x1cc5940) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0x1cc5880) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -535,10 +387,6 @@ QIODevice (0x1cc5f80) 0
QObject (0x1cc5fc0) 0
primary-for QIODevice (0x1cc5f80)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0x1dab180) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -558,25 +406,13 @@ Class QRegExp
base size=4 base align=4
QRegExp (0x1dab840) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0x1daba40) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0x1dabac0) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0x1dabcc0) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0x1dabc00) 0
Class QStringList
size=4 align=4
@@ -584,15 +420,7 @@ Class QStringList
QStringList (0x1dabd80) 0
QList<QString> (0x1dabdc0) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0x1e65200) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0x1e65280) 0
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -748,10 +576,6 @@ Class QTextStream
QTextStream (0x1ed8b00) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0x1ed8dc0) 0
Class QTextStreamManipulator
size=24 align=4
@@ -842,50 +666,22 @@ QFile (0x1ff49c0) 0
QObject (0x1ff4a40) 0
primary-for QIODevice (0x1ff4a00)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0x1ff4c00) 0
Class QFileInfo
size=4 align=4
base size=4 base align=4
QFileInfo (0x1ff4c40) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0x1ff4d00) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0x1ff4d80) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0x1ff4f40) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0x1ff4e80) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0x1ff4200) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0x210a080) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0x210a140) 0
Vtable for QFileEngine
QFileEngine::_ZTV11QFileEngine: 35u entries
@@ -945,10 +741,6 @@ Class QFileEngineHandler
QFileEngineHandler (0x210a380) 0 nearly-empty
vptr=((& QFileEngineHandler::_ZTV18QFileEngineHandler) + 8u)
-Class QFlags<QFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileEngine::FileFlag> (0x210a540) 0
Vtable for QProcess
QProcess::_ZTV8QProcess: 31u entries
@@ -999,90 +791,22 @@ Class QMetaType
base size=0 base align=1
QMetaType (0x210a740) 0 empty
-Class QMetaTypeId<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QString> (0x210a840) 0 empty
-Class QMetaTypeId<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<int> (0x210a8c0) 0 empty
-Class QMetaTypeId<uint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<uint> (0x210a940) 0 empty
-Class QMetaTypeId<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<bool> (0x210a9c0) 0 empty
-Class QMetaTypeId<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<double> (0x210aa40) 0 empty
-Class QMetaTypeId<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QByteArray> (0x210aac0) 0 empty
-Class QMetaTypeId<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QChar> (0x210ab40) 0 empty
-Class QMetaTypeId<void>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<void> (0x210abc0) 0 empty
-Class QMetaTypeId<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<long int> (0x210ac40) 0 empty
-Class QMetaTypeId<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<short int> (0x210acc0) 0 empty
-Class QMetaTypeId<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<char> (0x210ad40) 0 empty
-Class QMetaTypeId<ulong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<ulong> (0x210adc0) 0 empty
-Class QMetaTypeId<ushort>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<ushort> (0x210ae40) 0 empty
-Class QMetaTypeId<uchar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<uchar> (0x210aec0) 0 empty
-Class QMetaTypeId<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<float> (0x210af40) 0 empty
-Class QMetaTypeId<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QObject*> (0x210afc0) 0 empty
-Class QMetaTypeId<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QWidget*> (0x210a480) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -1109,50 +833,18 @@ Class QVariant
base size=16 base align=4
QVariant (0x210a6c0) 0
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0x21b8640) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0x21b8580) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0x21b8840) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0x21b8780) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0x21b8ac0) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0x21b8c00) 0 empty
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0x21b8cc0) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x21b8d40) 0
-Class <anonymous struct>
- size=3156 align=4
- base size=3156 base align=4
-<anonymous struct> (0x21b8dc0) 0
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1230,15 +922,7 @@ Class QUrl
base size=4 base align=4
QUrl (0x22be4c0) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0x22be6c0) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0x22be740) 0 empty
Vtable for QEventLoop
QEventLoop::_ZTV10QEventLoop: 14u entries
@@ -1265,10 +949,6 @@ QEventLoop (0x22be7c0) 0
QObject (0x22be800) 0
primary-for QEventLoop (0x22be7c0)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0x22bea00) 0
Vtable for QAbstractEventDispatcher
QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 27u entries
@@ -1313,20 +993,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0x22bec40) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0x22bee00) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0x22beec0) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0x22be040) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -1496,10 +1168,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0x238d580) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0x238d680) 0 empty
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -1591,20 +1259,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0x238ddc0) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0x2437040) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0x24370c0) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0x2437180) 0 empty
Class QMetaProperty
size=20 align=4
@@ -1616,10 +1276,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0x2437240) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0x2437300) 0 empty
Vtable for QMimeData
QMimeData::_ZTV9QMimeData: 17u entries
@@ -1907,10 +1563,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0x24e2c80) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0x24e2dc0) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -1932,80 +1584,48 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0x24e24c0) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0x2589040) 0 empty
Class QDate
size=4 align=4
base size=4 base align=4
QDate (0x2589840) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0x2589a40) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0x2589ac0) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0x2589c80) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0x2589d00) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0x2589e80) 0 empty
Class QPoint
size=8 align=4
base size=8 base align=4
QPoint (0x2589f00) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0x2589fc0) 0 empty
Class QPointF
size=16 align=8
base size=16 base align=4
QPointF (0x26ac180) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0x26ac600) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0x26ac800) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0x26ac880) 0 empty
Class QLineF
size=32 align=8
base size=32 base align=4
QLineF (0x26aca00) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0x26acac0) 0 empty
Class QLinkedListData
size=20 align=4
@@ -2017,50 +1637,30 @@ Class QLocale
base size=4 base align=4
QLocale (0x26ac2c0) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0x26ac3c0) 0 empty
Class QSize
size=8 align=4
base size=8 base align=4
QSize (0x280d000) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0x280d400) 0 empty
Class QSizeF
size=16 align=8
base size=16 base align=4
QSizeF (0x280d6c0) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0x280dac0) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0x280de40) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0x280d040) 0 empty
Class QRectF
size=32 align=8
base size=32 base align=4
QRectF (0x280d880) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0x280df00) 0 empty
Class QSharedData
size=4 align=4
@@ -2087,10 +1687,6 @@ Class QKeySequence
base size=4 base align=4
QKeySequence (0x2917d00) 0
-Class QTypeInfo<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QKeySequence> (0x2917e80) 0 empty
Vtable for QMimeSource
QMimeSource::_ZTV11QMimeSource: 7u entries
@@ -2394,15 +1990,7 @@ Class QInputMethodEvent::Attribute
base size=28 base align=4
QInputMethodEvent::Attribute (0x2b42900) 0
-Class QList<QInputMethodEvent::Attribute>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute>::<anonymous union> (0x2b42ac0) 0
-Class QList<QInputMethodEvent::Attribute>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute> (0x2b42a00) 0
Vtable for QInputMethodEvent
QInputMethodEvent::_ZTV17QInputMethodEvent: 4u entries
@@ -2676,15 +2264,7 @@ Class QAccessible
base size=0 base align=1
QAccessible (0x2ba2d80) 0 empty
-Class QFlags<QAccessible::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::StateFlag> (0x2be10c0) 0
-Class QFlags<QAccessible::RelationFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::RelationFlag> (0x2be1140) 0
Vtable for QAccessibleInterface
QAccessibleInterface::_ZTV20QAccessibleInterface: 19u entries
@@ -2968,25 +2548,9 @@ Class QPaintDevice
QPaintDevice (0x2c4d400) 0
vptr=((& QPaintDevice::_ZTV12QPaintDevice) + 8u)
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x2c4d740) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x2c4d7c0) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x2c4d840) 0
-Class QColor::<anonymous union>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union> (0x2c4d6c0) 0
Class QColor
size=16 align=4
@@ -2998,45 +2562,17 @@ Class QBrush
base size=4 base align=4
QBrush (0x2c4db00) 0
-Class QTypeInfo<QBrush>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBrush> (0x2c4dbc0) 0 empty
Class QBrushData
size=24 align=4
base size=24 base align=4
QBrushData (0x2c4dc40) 0
-Class QVector<QGradientStop>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QGradientStop>::<anonymous union> (0x2c4df40) 0
-Class QVector<QGradientStop>
- size=4 align=4
- base size=4 base align=4
-QVector<QGradientStop> (0x2c4de40) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=32 align=8
- base size=32 base align=8
-QGradient::<anonymous union>::<anonymous struct> (0x2c4d540) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=40 align=8
- base size=40 base align=8
-QGradient::<anonymous union>::<anonymous struct> (0x2c4d900) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=24 align=8
- base size=24 base align=8
-QGradient::<anonymous union>::<anonymous struct> (0x2c4ddc0) 0
-Class QGradient::<anonymous union>
- size=40 align=8
- base size=40 base align=8
-QGradient::<anonymous union> (0x2c4d100) 0
Class QGradient
size=56 align=4
@@ -3681,10 +3217,6 @@ QFileDialog (0x2f241c0) 0
QPaintDevice (0x2f24280) 8
vptr=((& QFileDialog::_ZTV11QFileDialog) + 244u)
-Class QFlags<QFileDialog::Option>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileDialog::Option> (0x2f24540) 0
Vtable for QFontDialog
QFontDialog::_ZTV11QFontDialog: 66u entries
@@ -4379,10 +3911,6 @@ QImage (0x3010b40) 0
QPaintDevice (0x3010b80) 0
primary-for QImage (0x3010b40)
-Class QTypeInfo<QImage>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QImage> (0x3010e80) 0 empty
Vtable for QPixmap
QPixmap::_ZTV7QPixmap: 7u entries
@@ -4427,10 +3955,6 @@ Class QIcon
base size=4 base align=4
QIcon (0x30fa4c0) 0
-Class QTypeInfo<QIcon>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QIcon> (0x30fa580) 0 empty
Vtable for QIconEngine
QIconEngine::_ZTV11QIconEngine: 9u entries
@@ -4760,15 +4284,7 @@ QActionGroup (0x3167c00) 0
QObject (0x3167c40) 0
primary-for QActionGroup (0x3167c00)
-Class QList<QAction*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QAction*>::<anonymous union> (0x3167ec0) 0
-Class QList<QAction*>
- size=4 align=4
- base size=4 base align=4
-QList<QAction*> (0x3167e00) 0
Vtable for QInputContext
QInputContext::_ZTV13QInputContext: 25u entries
@@ -5073,10 +4589,6 @@ QAbstractSpinBox (0x3239a00) 0
QPaintDevice (0x3239a80) 8
vptr=((& QAbstractSpinBox::_ZTV16QAbstractSpinBox) + 252u)
-Class QFlags<QAbstractSpinBox::StepEnabledFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractSpinBox::StepEnabledFlag> (0x3239d00) 0
Vtable for QAbstractSlider
QAbstractSlider::_ZTV15QAbstractSlider: 64u entries
@@ -5284,15 +4796,7 @@ QStyle (0x3239e80) 0
QObject (0x32f0000) 0
primary-for QStyle (0x3239e80)
-Class QFlags<QStyle::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::StateFlag> (0x32f0240) 0
-Class QFlags<QStyle::SubControl>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::SubControl> (0x32f02c0) 0
Vtable for QTabBar
QTabBar::_ZTV7QTabBar: 67u entries
@@ -5569,10 +5073,6 @@ Class QStyleOptionHeader
QStyleOptionHeader (0x33d4140) 0
QStyleOption (0x33d4180) 0
-Class QFlags<QStyleOptionButton::ButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionButton::ButtonFeature> (0x33d4540) 0
Class QStyleOptionButton
size=64 align=4
@@ -5580,10 +5080,6 @@ Class QStyleOptionButton
QStyleOptionButton (0x33d4380) 0
QStyleOption (0x33d43c0) 0
-Class QFlags<QStyleOptionTab::CornerWidget>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionTab::CornerWidget> (0x33d4880) 0
Class QStyleOptionTab
size=72 align=4
@@ -5603,10 +5099,6 @@ Class QStyleOptionMenuItem
QStyleOptionMenuItem (0x33d4c00) 0
QStyleOption (0x33d4c40) 0
-Class QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature> (0x33d4fc0) 0
Class QStyleOptionQ3ListViewItem
size=64 align=4
@@ -5664,15 +5156,7 @@ QStyleOptionSpinBox (0x346fd80) 0
QStyleOptionComplex (0x346fdc0) 0
QStyleOption (0x346fe00) 0
-Class QList<QStyleOptionQ3ListViewItem>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::<anonymous union> (0x34b9040) 0
-Class QList<QStyleOptionQ3ListViewItem>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem> (0x346fc80) 0
Class QStyleOptionQ3ListView
size=84 align=4
@@ -5681,10 +5165,6 @@ QStyleOptionQ3ListView (0x346ffc0) 0
QStyleOptionComplex (0x346f140) 0
QStyleOption (0x346f340) 0
-Class QFlags<QStyleOptionToolButton::ToolButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionToolButton::ToolButtonFeature> (0x34b9440) 0
Class QStyleOptionToolButton
size=96 align=4
@@ -5837,10 +5317,6 @@ Class QItemSelectionRange
base size=8 base align=4
QItemSelectionRange (0x34b9140) 0
-Class QTypeInfo<QItemSelectionRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QItemSelectionRange> (0x3594140) 0 empty
Vtable for QItemSelectionModel
QItemSelectionModel::_ZTV19QItemSelectionModel: 18u entries
@@ -5871,20 +5347,8 @@ QItemSelectionModel (0x3594200) 0
QObject (0x3594240) 0
primary-for QItemSelectionModel (0x3594200)
-Class QFlags<QItemSelectionModel::SelectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QItemSelectionModel::SelectionFlag> (0x3594400) 0
-Class QList<QItemSelectionRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::<anonymous union> (0x3594580) 0
-Class QList<QItemSelectionRange>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange> (0x35944c0) 0
Class QItemSelection
size=4 align=4
@@ -6014,10 +5478,6 @@ QAbstractItemView (0x3594740) 0
QPaintDevice (0x3594840) 8
vptr=((& QAbstractItemView::_ZTV17QAbstractItemView) + 392u)
-Class QFlags<QAbstractItemView::EditTrigger>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractItemView::EditTrigger> (0x3594ac0) 0
Vtable for QFileIconProvider
QFileIconProvider::_ZTV17QFileIconProvider: 7u entries
@@ -6269,15 +5729,7 @@ Class QItemEditorCreatorBase
QItemEditorCreatorBase (0x3674240) 0 nearly-empty
vptr=((& QItemEditorCreatorBase::_ZTV22QItemEditorCreatorBase) + 8u)
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union> (0x36746c0) 0
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*> (0x36745c0) 0
Vtable for QItemEditorFactory
QItemEditorFactory::_ZTV18QItemEditorFactory: 6u entries
@@ -6418,15 +5870,7 @@ QListView (0x3674900) 0
QPaintDevice (0x3674a40) 8
vptr=((& QListView::_ZTV9QListView) + 392u)
-Class QVector<QWidgetItemData>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData>::<anonymous union> (0x3674e80) 0
-Class QVector<QWidgetItemData>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData> (0x3674d80) 0
Vtable for QListWidgetItem
QListWidgetItem::_ZTV15QListWidgetItem: 11u entries
@@ -7150,25 +6594,9 @@ QTreeView (0x380a080) 0
QPaintDevice (0x380a1c0) 8
vptr=((& QTreeView::_ZTV9QTreeView) + 400u)
-Class QVector<QVector<QWidgetItemData> >::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> >::<anonymous union> (0x380a5c0) 0
-Class QVector<QVector<QWidgetItemData> >
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> > (0x380a4c0) 0
-Class QList<QTreeWidgetItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::<anonymous union> (0x380a7c0) 0
-Class QList<QTreeWidgetItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*> (0x380a700) 0
Vtable for QTreeWidgetItem
QTreeWidgetItem::_ZTV15QTreeWidgetItem: 10u entries
@@ -8015,15 +7443,7 @@ Class QColormap
base size=4 base align=4
QColormap (0x3a49280) 0
-Class QVector<QPoint>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint>::<anonymous union> (0x3a49480) 0
-Class QVector<QPoint>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint> (0x3a49380) 0
Class QPolygon
size=4 align=4
@@ -8031,15 +7451,7 @@ Class QPolygon
QPolygon (0x3a49500) 0
QVector<QPoint> (0x3a49540) 0
-Class QVector<QPointF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF>::<anonymous union> (0x3a49980) 0
-Class QVector<QPointF>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF> (0x3a49880) 0
Class QPolygonF
size=4 align=4
@@ -8052,90 +7464,38 @@ Class QMatrix
base size=48 base align=4
QMatrix (0x3a49d40) 0
-Class QTypeInfo<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMatrix> (0x3a49dc0) 0 empty
Class QTextOption
size=24 align=4
base size=24 base align=4
QTextOption (0x3a49e80) 0
-Class QFlags<QTextOption::Flag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextOption::Flag> (0x3a49f80) 0
Class QPen
size=4 align=4
base size=4 base align=4
QPen (0x3a49040) 0
-Class QTypeInfo<QPen>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPen> (0x3b0f040) 0 empty
Class QPainter
size=4 align=4
base size=4 base align=4
QPainter (0x3b0f0c0) 0
-Class QVector<QLineF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF>::<anonymous union> (0x3b0f780) 0
-Class QVector<QLineF>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF> (0x3b0f680) 0
-Class QVector<QLine>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine>::<anonymous union> (0x3b0f980) 0
-Class QVector<QLine>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine> (0x3b0f880) 0
-Class QVector<QRectF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF>::<anonymous union> (0x3b0fb80) 0
-Class QVector<QRectF>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF> (0x3b0fa80) 0
-Class QVector<QRect>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect>::<anonymous union> (0x3b0fd80) 0
-Class QVector<QRect>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect> (0x3b0fc80) 0
Class QTextItem
size=1 align=1
base size=0 base align=1
QTextItem (0x3b0fe00) 0 empty
-Class QTypeInfo<QTextItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextItem> (0x3b0fec0) 0 empty
-Class QFlags<QPaintEngine::PaintEngineFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::PaintEngineFeature> (0x3c67000) 0
Vtable for QPaintEngine
QPaintEngine::_ZTV12QPaintEngine: 24u entries
@@ -8170,10 +7530,6 @@ Class QPaintEngine
QPaintEngine (0x3b0ff40) 0
vptr=((& QPaintEngine::_ZTV12QPaintEngine) + 8u)
-Class QFlags<QPaintEngine::DirtyFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::DirtyFlag> (0x3c672c0) 0
Class QPaintEngineState
size=4 align=4
@@ -8190,25 +7546,13 @@ Class QPainterPath
base size=4 base align=4
QPainterPath (0x3c67300) 0
-Class QVector<QPainterPath::Element>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element>::<anonymous union> (0x3c67840) 0
-Class QVector<QPainterPath::Element>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element> (0x3c67740) 0
Class QPainterPathPrivate
size=8 align=4
base size=8 base align=4
QPainterPathPrivate (0x3c67540) 0
-Class QTypeInfo<QPainterPath::Element>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPainterPath::Element> (0x3c67900) 0 empty
Class QPainterPathStroker
size=4 align=4
@@ -8306,10 +7650,6 @@ QCommonStyle (0x3d3f0c0) 0
QObject (0x3d3f140) 0
primary-for QStyle (0x3d3f100)
-Class QPointer<QFocusFrame>
- size=4 align=4
- base size=4 base align=4
-QPointer<QFocusFrame> (0x3d3f440) 0
Vtable for QMotifStyle
QMotifStyle::_ZTV11QMotifStyle: 35u entries
@@ -8631,25 +7971,13 @@ Class QTextLength
base size=12 base align=4
QTextLength (0x3dba100) 0
-Class QSharedDataPointer<QTextFormatPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextFormatPrivate> (0x3dba480) 0
Class QTextFormat
size=8 align=4
base size=8 base align=4
QTextFormat (0x3dba340) 0
-Class QVector<QTextLength>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength>::<anonymous union> (0x3dba840) 0
-Class QVector<QTextLength>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength> (0x3dba740) 0
Class QTextCharFormat
size=8 align=4
@@ -8704,15 +8032,7 @@ Class QTextLayout
base size=4 base align=4
QTextLayout (0x3dbadc0) 0
-Class QVector<QTextLayout::FormatRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange>::<anonymous union> (0x3dba140) 0
-Class QVector<QTextLayout::FormatRange>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange> (0x3dbaf40) 0
Class QTextLine
size=8 align=4
@@ -8762,10 +8082,6 @@ QTextDocument (0x3ee11c0) 0
QObject (0x3ee1200) 0
primary-for QTextDocument (0x3ee11c0)
-Class QSharedDataPointer<QTextCursorPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextCursorPrivate> (0x3ee1500) 0
Class QTextCursor
size=4 align=4
@@ -8777,15 +8093,7 @@ Class QAbstractTextDocumentLayout::Selection
base size=12 base align=4
QAbstractTextDocumentLayout::Selection (0x3ee1640) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union> (0x3ee1880) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection> (0x3ee1780) 0
Class QAbstractTextDocumentLayout::PaintContext
size=48 align=4
@@ -8952,10 +8260,6 @@ QTextFrame (0x3f89040) 0
QObject (0x3f890c0) 0
primary-for QTextObject (0x3f89080)
-Class QTypeInfo<QTextFrame::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFrame::iterator> (0x3f89600) 0 empty
Class QTextBlock::iterator
size=16 align=4
@@ -8967,25 +8271,13 @@ Class QTextBlock
base size=8 base align=4
QTextBlock (0x3f896c0) 0
-Class QTypeInfo<QTextBlock>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock> (0x3f89ac0) 0 empty
-Class QTypeInfo<QTextBlock::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock::iterator> (0x3f89b80) 0 empty
Class QTextFragment
size=12 align=4
base size=12 base align=4
QTextFragment (0x3f89c40) 0
-Class QTypeInfo<QTextFragment>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFragment> (0x3f89e40) 0 empty
Vtable for QTextList
QTextList::_ZTV9QTextList: 17u entries
@@ -9587,10 +8879,6 @@ QDateEdit (0x40b7680) 0
QPaintDevice (0x40b7780) 8
vptr=((& QDateEdit::_ZTV9QDateEdit) + 260u)
-Class QFlags<QDateTimeEdit::Section>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDateTimeEdit::Section> (0x40b7980) 0
Vtable for QDial
QDial::_ZTV5QDial: 64u entries
@@ -9751,10 +9039,6 @@ QDockWidget (0x40b7c40) 0
QPaintDevice (0x40b7cc0) 8
vptr=((& QDockWidget::_ZTV11QDockWidget) + 232u)
-Class QFlags<QDockWidget::DockWidgetFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDockWidget::DockWidgetFeature> (0x40b7f80) 0
Vtable for QFocusFrame
QFocusFrame::_ZTV11QFocusFrame: 63u entries
@@ -11480,10 +10764,6 @@ QTextEdit (0x433fec0) 0
QPaintDevice (0x433ffc0) 8
vptr=((& QTextEdit::_ZTV9QTextEdit) + 256u)
-Class QFlags<QTextDocument::FindFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextDocument::FindFlag> (0x440d080) 0
Vtable for QTextBrowser
QTextBrowser::_ZTV12QTextBrowser: 74u entries
@@ -11911,10 +11191,6 @@ Class QGLColormap
base size=4 base align=4
QGLColormap (0x440dec0) 0
-Class QFlags<QGL::FormatOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGL::FormatOption> (0x440d540) 0
Class QGLFormat
size=4 align=4
@@ -12028,153 +11304,33 @@ QGLWidget (0x45e5180) 0
QPaintDevice (0x45e5200) 8
vptr=((& QGLWidget::_ZTV9QGLWidget) + 272u)
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0x4678500) 0
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0x469d380) 0
-Class QList<QTreeWidgetItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::Node (0x47b9040) 0
-Class QVectorTypedData<QVector<QWidgetItemData> >
- size=20 align=4
- base size=20 base align=4
-QVectorTypedData<QVector<QWidgetItemData> > (0x47b9280) 0
-Class QVectorTypedData<QPoint>
- size=24 align=4
- base size=24 base align=4
-QVectorTypedData<QPoint> (0x47b9540) 0
-Class QVectorTypedData<QPointF>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QPointF> (0x47b9c40) 0
-Class QVectorTypedData<QLineF>
- size=48 align=4
- base size=48 base align=4
-QVectorTypedData<QLineF> (0x47ea9c0) 0
-Class QVectorTypedData<QLine>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QLine> (0x47eab80) 0
-Class QVectorTypedData<QRectF>
- size=48 align=4
- base size=48 base align=4
-QVectorTypedData<QRectF> (0x47ead40) 0
-Class QVectorTypedData<QRect>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QRect> (0x47eaf00) 0
-Class QVectorTypedData<QPainterPath::Element>
- size=40 align=4
- base size=40 base align=4
-QVectorTypedData<QPainterPath::Element> (0x480cb80) 0
-Class QVectorTypedData<QTextLength>
- size=28 align=4
- base size=28 base align=4
-QVectorTypedData<QTextLength> (0x480ce40) 0
-Class QVectorTypedData<QTextLayout::FormatRange>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QTextLayout::FormatRange> (0x482d140) 0
-Class QVectorTypedData<QAbstractTextDocumentLayout::Selection>
- size=28 align=4
- base size=28 base align=4
-QVectorTypedData<QAbstractTextDocumentLayout::Selection> (0x482d440) 0
-Class QList<QAction*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QAction*>::Node (0x4852080) 0
-Class QHashNode<QVariant::Type, QItemEditorCreatorBase*>
- size=16 align=4
- base size=16 base align=4
-QHashNode<QVariant::Type, QItemEditorCreatorBase*> (0x48c1680) 0
-Class QTypeInfo<QTreeWidgetItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTreeWidgetItem*> (0x48c1840) 0 empty
-Class QTypeInfo<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLength> (0x48ec180) 0 empty
-Class QTypeInfo<QTextLayout::FormatRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLayout::FormatRange> (0x48ec3c0) 0 empty
-Class QTypeInfo<QAbstractTextDocumentLayout::Selection>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAbstractTextDocumentLayout::Selection> (0x48ec840) 0 empty
-Class QTypeInfo<QAction*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAction*> (0x48ecd40) 0 empty
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0x490b180) 0
-Class QList<QVariant>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::Node (0x490b3c0) 0
-Class QTypeInfo<QStyleOptionQ3ListViewItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QStyleOptionQ3ListViewItem> (0x490b740) 0 empty
-Class QList<QStyleOptionQ3ListViewItem>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::Node (0x490b800) 0
-Class QList<QItemSelectionRange>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::Node (0x490bbc0) 0
-Class QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union> (0x490bf00) 0
-Class QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union> (0x4942580) 0
-Class QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union> (0x4942c80) 0
-Class QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union> (0x49895c0) 0
diff --git a/tests/auto/bic/data/QtOpenGL.4.1.0.linux-gcc-ia32.txt b/tests/auto/bic/data/QtOpenGL.4.1.0.linux-gcc-ia32.txt
index 0a07c75..c455fe7 100644
--- a/tests/auto/bic/data/QtOpenGL.4.1.0.linux-gcc-ia32.txt
+++ b/tests/auto/bic/data/QtOpenGL.4.1.0.linux-gcc-ia32.txt
@@ -18,145 +18,37 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0x40b74000) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0x40b740c0) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0x40b74100) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0x40b74140) 0 empty
-Class QTypeInfo<uchar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uchar> (0x40b74180) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0x40b741c0) 0 empty
-Class QTypeInfo<ushort>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ushort> (0x40b74200) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0x40b74240) 0 empty
-Class QTypeInfo<uint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uint> (0x40b74280) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0x40b742c0) 0 empty
-Class QTypeInfo<ulong>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ulong> (0x40b74300) 0 empty
-Class QTypeInfo<qint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<qint64> (0x40b74340) 0 empty
-Class QTypeInfo<quint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<quint64> (0x40b74380) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0x40b743c0) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0x40b74400) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0x40b74440) 0 empty
Class QFlag
size=4 align=4
base size=4 base align=4
QFlag (0x40b74480) 0
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0x40b74640) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0x40b746c0) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0x40b74740) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0x40b747c0) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0x40b74840) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0x40b748c0) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0x40b74940) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0x40b749c0) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0x40b74a40) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0x40b74ac0) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0x40b74b40) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0x40b74bc0) 0
Class QInternal
size=1 align=1
@@ -174,10 +66,6 @@ Class QGenericReturnArgument
QGenericReturnArgument (0x40b74d00) 0
QGenericArgument (0x40b74d40) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0x40b74f40) 0
Class QMetaObject
size=16 align=4
@@ -194,10 +82,6 @@ Class QChar
base size=2 base align=2
QChar (0x41491040) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0x41491100) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -230,10 +114,6 @@ Class QByteRef
base size=8 base align=4
QByteRef (0x41491800) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0x41491880) 0 empty
Class QString::Null
size=1 align=1
@@ -255,10 +135,6 @@ Class QLatin1String
base size=4 base align=4
QLatin1String (0x41491ac0) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0x41491c00) 0
Class QCharRef
size=8 align=4
@@ -271,10 +147,6 @@ Class QConstString
QConstString (0x41491dc0) 0
QString (0x41491e00) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0x41491e80) 0 empty
Vtable for std::exception
std::exception::_ZTVSt9exception: 5u entries
@@ -337,15 +209,7 @@ Class QListData
base size=4 base align=4
QListData (0x41746340) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0x41746780) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0x417466c0) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -437,10 +301,6 @@ QIODevice (0x417469c0) 0
QObject (0x41746a00) 0
primary-for QIODevice (0x417469c0)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0x41746b40) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -470,10 +330,6 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0x41746d00) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0x41746d40) 0 empty
Class QMapData::Node
size=8 align=4
@@ -485,10 +341,6 @@ Class QMapData
base size=72 base align=4
QMapData (0x418a92c0) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0x418a98c0) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -513,15 +365,7 @@ Class QTextCodec
QTextCodec (0x418a97c0) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0x418a9b40) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0x418a9a80) 0
Class QTextEncoder
size=32 align=4
@@ -533,30 +377,10 @@ Class QTextDecoder
base size=32 base align=4
QTextDecoder (0x418a9c00) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x418a9c80) 0
-Class <anonymous struct>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct>::<anonymous union> (0x418a9d00) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x418a9cc0) 0
-Class <anonymous struct>
- size=12 align=4
- base size=12 base align=4
-<anonymous struct> (0x418a9d40) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0x418a9d80) 0
Class __gconv_trans_data
size=20 align=4
@@ -578,15 +402,7 @@ Class __gconv_info
base size=8 base align=4
__gconv_info (0x418a9e80) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0x418a9f00) 0
-Class <anonymous union>
- size=44 align=4
- base size=44 base align=4
-<anonymous union> (0x418a9ec0) 0
Class _IO_marker
size=12 align=4
@@ -598,10 +414,6 @@ Class _IO_FILE
base size=148 base align=4
_IO_FILE (0x418a9f80) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0x418a9fc0) 0
Vtable for QTextStream
QTextStream::_ZTV11QTextStream: 4u entries
@@ -616,10 +428,6 @@ Class QTextStream
QTextStream (0x418a9140) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0x41a48000) 0
Class QTextStreamManipulator
size=24 align=4
@@ -656,40 +464,16 @@ QTextOStream (0x41a48340) 0
QTextStream (0x41a48380) 0
primary-for QTextOStream (0x41a48340)
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0x41a48540) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0x41a48580) 0
Class wait
size=4 align=4
base size=4 base align=4
wait (0x41a48500) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x41a485c0) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x41a48600) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0x41a48640) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0x41a48680) 0
Class timespec
size=8 align=4
@@ -701,10 +485,6 @@ Class timeval
base size=8 base align=4
timeval (0x41a48700) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0x41a48740) 0
Class __sched_param
size=4 align=4
@@ -721,45 +501,17 @@ Class __pthread_attr_s
base size=36 base align=4
__pthread_attr_s (0x41a48800) 0
-Class <anonymous struct>
- size=48 align=4
- base size=48 base align=4
-<anonymous struct> (0x41a48840) 0
-Class <anonymous struct>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct> (0x41a48880) 0
-Class <anonymous struct>
- size=24 align=4
- base size=24 base align=4
-<anonymous struct> (0x41a488c0) 0
-Class <anonymous struct>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct> (0x41a48900) 0
Class _pthread_rwlock_t
size=32 align=4
base size=32 base align=4
_pthread_rwlock_t (0x41a48940) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x41a48980) 0
-Class <anonymous struct>
- size=20 align=4
- base size=20 base align=4
-<anonymous struct> (0x41a489c0) 0
-Class <anonymous struct>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct> (0x41a48a00) 0
Class random_data
size=28 align=4
@@ -830,10 +582,6 @@ QFile (0x41a48f40) 0
QObject (0x41a48fc0) 0
primary-for QIODevice (0x41a48f80)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0x41a48ec0) 0
Vtable for QTemporaryFile
QTemporaryFile::_ZTV14QTemporaryFile: 31u entries
@@ -886,50 +634,22 @@ Class QFileInfo
base size=4 base align=4
QFileInfo (0x41b7b180) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0x41b7b200) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0x41b7b240) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0x41b7b380) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0x41b7b2c0) 0
Class QRegExp
size=4 align=4
base size=4 base align=4
QRegExp (0x41b7b3c0) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0x41b7b440) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0x41b7b480) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0x41b7b5c0) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0x41b7b500) 0
Class QStringList
size=4 align=4
@@ -937,30 +657,14 @@ Class QStringList
QStringList (0x41b7b600) 0
QList<QString> (0x41b7b640) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0x41b7b880) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0x41b7b900) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0x41b7bb00) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0x41b7bbc0) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0x41b7bc40) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -1017,10 +721,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0x41b7bc80) 0
vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0x41b7be40) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -1175,110 +875,30 @@ Class QUrl
base size=4 base align=4
QUrl (0x41c97200) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0x41c972c0) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0x41c97300) 0 empty
Class QMetaType
size=1 align=1
base size=0 base align=1
QMetaType (0x41c97340) 0 empty
-Class QMetaTypeId<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QString> (0x41c973c0) 0 empty
-Class QMetaTypeId<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<int> (0x41c97400) 0 empty
-Class QMetaTypeId<uint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<uint> (0x41c97440) 0 empty
-Class QMetaTypeId<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<bool> (0x41c97480) 0 empty
-Class QMetaTypeId<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<double> (0x41c974c0) 0 empty
-Class QMetaTypeId<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QByteArray> (0x41c97500) 0 empty
-Class QMetaTypeId<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QChar> (0x41c97540) 0 empty
-Class QMetaTypeId<void>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<void> (0x41c97580) 0 empty
-Class QMetaTypeId<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<long int> (0x41c975c0) 0 empty
-Class QMetaTypeId<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<short int> (0x41c97600) 0 empty
-Class QMetaTypeId<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<char> (0x41c97640) 0 empty
-Class QMetaTypeId<ulong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<ulong> (0x41c97680) 0 empty
-Class QMetaTypeId<ushort>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<ushort> (0x41c976c0) 0 empty
-Class QMetaTypeId<uchar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<uchar> (0x41c97700) 0 empty
-Class QMetaTypeId<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<float> (0x41c97740) 0 empty
-Class QMetaTypeId<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QObject*> (0x41c97780) 0 empty
-Class QMetaTypeId<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QWidget*> (0x41c977c0) 0 empty
-Class QMetaTypeId<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<void*> (0x41c97800) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -1305,35 +925,15 @@ Class QVariant
base size=12 base align=4
QVariant (0x41c97840) 0
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0x41c97e00) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0x41c97d40) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0x41c97f80) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0x41c97ec0) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0x41c97fc0) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0x41d980c0) 0 empty
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1365,80 +965,48 @@ Class QPoint
base size=8 base align=4
QPoint (0x41d98300) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0x41d98740) 0 empty
Class QPointF
size=16 align=4
base size=16 base align=4
QPointF (0x41d98800) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0x41d98c40) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0x41d98d40) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0x41d98d80) 0 empty
Class QLineF
size=32 align=4
base size=32 base align=4
QLineF (0x41d98e80) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0x41d98f00) 0 empty
Class QSize
size=8 align=4
base size=8 base align=4
QSize (0x41d98180) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0x41d98640) 0 empty
Class QSizeF
size=16 align=4
base size=16 base align=4
QSizeF (0x41d989c0) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0x41e9d180) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0x41e9d380) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0x41e9d580) 0 empty
Class QRectF
size=32 align=4
base size=32 base align=4
QRectF (0x41e9d680) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0x41e9d800) 0 empty
Class QLinkedListData
size=20 align=4
@@ -1455,10 +1023,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0x41e9de40) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0x41e9dec0) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -1475,40 +1039,24 @@ Class QLocale
base size=4 base align=4
QLocale (0x41e9d440) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0x41e9d4c0) 0 empty
Class QDate
size=4 align=4
base size=4 base align=4
QDate (0x42078080) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0x42078200) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0x42078240) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0x420783c0) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0x42078400) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0x42078540) 0 empty
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -1668,10 +1216,6 @@ QEventLoop (0x42078cc0) 0
QObject (0x42078d00) 0
primary-for QEventLoop (0x42078cc0)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0x42078e40) 0
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -1763,20 +1307,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0x42078d80) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0x4218f040) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0x4218f080) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0x4218f140) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -1996,10 +1532,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0x4218f740) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0x4218f800) 0 empty
Vtable for QSocketNotifier
QSocketNotifier::_ZTV15QSocketNotifier: 14u entries
@@ -2094,20 +1626,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0x4218fb40) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0x4218fbc0) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0x4218fc00) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0x4218fc80) 0 empty
Class QMetaProperty
size=20 align=4
@@ -2119,10 +1643,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0x4218fd00) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0x4218fd80) 0 empty
Vtable for QPluginLoader
QPluginLoader::_ZTV13QPluginLoader: 14u entries
@@ -2245,25 +1765,9 @@ Class QWriteLocker
base size=4 base align=4
QWriteLocker (0x4228c200) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x4228c340) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x4228c380) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x4228c3c0) 0
-Class QColor::<anonymous union>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union> (0x4228c300) 0
Class QColor
size=16 align=4
@@ -2280,55 +1784,23 @@ Class QPen
base size=4 base align=4
QPen (0x4228c800) 0
-Class QTypeInfo<QPen>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPen> (0x4228c940) 0 empty
Class QBrush
size=4 align=4
base size=4 base align=4
QBrush (0x4228c980) 0
-Class QTypeInfo<QBrush>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBrush> (0x4228c9c0) 0 empty
Class QBrushData
size=24 align=4
base size=24 base align=4
QBrushData (0x4228ca00) 0
-Class QVector<QGradientStop>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QGradientStop>::<anonymous union> (0x4228cbc0) 0
-Class QVector<QGradientStop>
- size=4 align=4
- base size=4 base align=4
-QVector<QGradientStop> (0x4228cb00) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=32 align=4
- base size=32 base align=4
-QGradient::<anonymous union>::<anonymous struct> (0x4228cc40) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=40 align=4
- base size=40 base align=4
-QGradient::<anonymous union>::<anonymous struct> (0x4228cc80) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=24 align=4
- base size=24 base align=4
-QGradient::<anonymous union>::<anonymous struct> (0x4228ccc0) 0
-Class QGradient::<anonymous union>
- size=40 align=4
- base size=40 base align=4
-QGradient::<anonymous union> (0x4228cc00) 0
Class QGradient
size=56 align=4
@@ -2358,25 +1830,13 @@ Class QTextLength
base size=12 base align=4
QTextLength (0x4228ce80) 0
-Class QSharedDataPointer<QTextFormatPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextFormatPrivate> (0x4228c780) 0
Class QTextFormat
size=8 align=4
base size=8 base align=4
QTextFormat (0x4228c480) 0
-Class QVector<QTextLength>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength>::<anonymous union> (0x42353080) 0
-Class QVector<QTextLength>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength> (0x4228cf40) 0
Class QTextCharFormat
size=8 align=4
@@ -2516,10 +1976,6 @@ QTextFrame (0x42353740) 0
QObject (0x423537c0) 0
primary-for QTextObject (0x42353780)
-Class QTypeInfo<QTextFrame::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFrame::iterator> (0x42353a40) 0 empty
Vtable for QTextBlockUserData
QTextBlockUserData::_ZTV18QTextBlockUserData: 4u entries
@@ -2544,25 +2000,13 @@ Class QTextBlock
base size=8 base align=4
QTextBlock (0x42353b40) 0
-Class QTypeInfo<QTextBlock>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock> (0x42353d40) 0 empty
-Class QTypeInfo<QTextBlock::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock::iterator> (0x42353d80) 0 empty
Class QTextFragment
size=12 align=4
base size=12 base align=4
QTextFragment (0x42353dc0) 0
-Class QTypeInfo<QTextFragment>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFragment> (0x42353ec0) 0 empty
Class QFontMetrics
size=4 align=4
@@ -2622,20 +2066,12 @@ QTextDocument (0x42353840) 0
QObject (0x42458000) 0
primary-for QTextDocument (0x42353840)
-Class QFlags<QTextDocument::FindFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextDocument::FindFlag> (0x42458140) 0
Class QTextOption
size=24 align=4
base size=24 base align=4
QTextOption (0x42458180) 0
-Class QFlags<QTextOption::Flag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextOption::Flag> (0x42458200) 0
Class QTextTableCell
size=8 align=4
@@ -2686,10 +2122,6 @@ Class QKeySequence
base size=4 base align=4
QKeySequence (0x42458880) 0
-Class QTypeInfo<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QKeySequence> (0x424589c0) 0 empty
Vtable for QMimeSource
QMimeSource::_ZTV11QMimeSource: 7u entries
@@ -2987,15 +2419,7 @@ Class QInputMethodEvent::Attribute
base size=24 base align=4
QInputMethodEvent::Attribute (0x42526a40) 0
-Class QList<QInputMethodEvent::Attribute>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute>::<anonymous union> (0x42526bc0) 0
-Class QList<QInputMethodEvent::Attribute>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute> (0x42526b00) 0
Vtable for QInputMethodEvent
QInputMethodEvent::_ZTV17QInputMethodEvent: 4u entries
@@ -3294,15 +2718,7 @@ Class QTextLayout
base size=4 base align=4
QTextLayout (0x425889c0) 0
-Class QVector<QTextLayout::FormatRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange>::<anonymous union> (0x42588c00) 0
-Class QVector<QTextLayout::FormatRange>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange> (0x42588b40) 0
Class QTextLine
size=8 align=4
@@ -3351,10 +2767,6 @@ Class QTextDocumentFragment
base size=4 base align=4
QTextDocumentFragment (0x42588280) 0
-Class QSharedDataPointer<QTextCursorPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextCursorPrivate> (0x42588580) 0
Class QTextCursor
size=4 align=4
@@ -3377,15 +2789,7 @@ Class QAbstractTextDocumentLayout::Selection
base size=12 base align=4
QAbstractTextDocumentLayout::Selection (0x4263b240) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union> (0x4263b400) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection> (0x4263b340) 0
Class QAbstractTextDocumentLayout::PaintContext
size=48 align=4
@@ -4238,10 +3642,6 @@ QFileDialog (0x427a9640) 0
QPaintDevice (0x427a9740) 8
vptr=((& QFileDialog::_ZTV11QFileDialog) + 244u)
-Class QFlags<QFileDialog::Option>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileDialog::Option> (0x427a98c0) 0
Vtable for QAbstractPrintDialog
QAbstractPrintDialog::_ZTV20QAbstractPrintDialog: 67u entries
@@ -4327,10 +3727,6 @@ QAbstractPrintDialog (0x427a9900) 0
QPaintDevice (0x427a9a00) 8
vptr=((& QAbstractPrintDialog::_ZTV20QAbstractPrintDialog) + 248u)
-Class QFlags<QAbstractPrintDialog::PrintDialogOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractPrintDialog::PrintDialogOption> (0x427a9b40) 0
Vtable for QPrintDialog
QPrintDialog::_ZTV12QPrintDialog: 67u entries
@@ -4766,10 +4162,6 @@ QImage (0x4287f240) 0
QPaintDevice (0x4287f280) 0
primary-for QImage (0x4287f240)
-Class QTypeInfo<QImage>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QImage> (0x4287f380) 0 empty
Vtable for QPixmap
QPixmap::_ZTV7QPixmap: 7u entries
@@ -4876,10 +4268,6 @@ QImageIOPlugin (0x4287f740) 0
QFactoryInterface (0x4287f800) 8 nearly-empty
primary-for QImageIOHandlerFactoryInterface (0x4287f7c0)
-Class QFlags<QImageIOPlugin::Capability>
- size=4 align=4
- base size=4 base align=4
-QFlags<QImageIOPlugin::Capability> (0x4287f900) 0
Vtable for QPicture
QPicture::_ZTV8QPicture: 8u entries
@@ -4999,10 +4387,6 @@ Class QIcon
base size=4 base align=4
QIcon (0x4287ff80) 0
-Class QTypeInfo<QIcon>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QIcon> (0x4287f100) 0 empty
Vtable for QIconEngine
QIconEngine::_ZTV11QIconEngine: 9u entries
@@ -5154,15 +4538,7 @@ Class QPrintEngine
QPrintEngine (0x4299f540) 0 nearly-empty
vptr=((& QPrintEngine::_ZTV12QPrintEngine) + 8u)
-Class QVector<QPoint>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint>::<anonymous union> (0x4299f740) 0
-Class QVector<QPoint>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint> (0x4299f680) 0
Class QPolygon
size=4 align=4
@@ -5170,15 +4546,7 @@ Class QPolygon
QPolygon (0x4299f780) 0
QVector<QPoint> (0x4299f7c0) 0
-Class QVector<QPointF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF>::<anonymous union> (0x4299fa40) 0
-Class QVector<QPointF>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF> (0x4299f980) 0
Class QPolygonF
size=4 align=4
@@ -5191,60 +4559,20 @@ Class QMatrix
base size=48 base align=4
QMatrix (0x4299fc40) 0
-Class QTypeInfo<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMatrix> (0x4299fc80) 0 empty
Class QPainter
size=4 align=4
base size=4 base align=4
QPainter (0x4299fcc0) 0
-Class QFlags<QPainter::RenderHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPainter::RenderHint> (0x4299fdc0) 0
-Class QVector<QLineF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF>::<anonymous union> (0x4299ff40) 0
-Class QVector<QLineF>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF> (0x4299fe80) 0
-Class QVector<QLine>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine>::<anonymous union> (0x4299f580) 0
-Class QVector<QLine>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine> (0x4299f100) 0
-Class QVector<QRectF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF>::<anonymous union> (0x42acc100) 0
-Class QVector<QRectF>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF> (0x42acc040) 0
-Class QVector<QRect>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect>::<anonymous union> (0x42acc280) 0
-Class QVector<QRect>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect> (0x42acc1c0) 0
Vtable for QStyle
QStyle::_ZTV6QStyle: 35u entries
@@ -5292,15 +4620,7 @@ QStyle (0x42acc2c0) 0
QObject (0x42acc300) 0
primary-for QStyle (0x42acc2c0)
-Class QFlags<QStyle::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::StateFlag> (0x42acc440) 0
-Class QFlags<QStyle::SubControl>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::SubControl> (0x42acc4c0) 0
Class QStylePainter
size=12 align=4
@@ -5318,25 +4638,13 @@ Class QPainterPath
base size=4 base align=4
QPainterPath (0x42acc680) 0
-Class QVector<QPainterPath::Element>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element>::<anonymous union> (0x42acca80) 0
-Class QVector<QPainterPath::Element>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element> (0x42acc9c0) 0
Class QPainterPathPrivate
size=8 align=4
base size=8 base align=4
QPainterPathPrivate (0x42acc800) 0
-Class QTypeInfo<QPainterPath::Element>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPainterPath::Element> (0x42accac0) 0 empty
Class QPainterPathStroker
size=4 align=4
@@ -5348,15 +4656,7 @@ Class QTextItem
base size=0 base align=1
QTextItem (0x42accb80) 0 empty
-Class QTypeInfo<QTextItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextItem> (0x42accbc0) 0 empty
-Class QFlags<QPaintEngine::PaintEngineFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::PaintEngineFeature> (0x42acccc0) 0
Vtable for QPaintEngine
QPaintEngine::_ZTV12QPaintEngine: 24u entries
@@ -5391,30 +4691,18 @@ Class QPaintEngine
QPaintEngine (0x42accc00) 0
vptr=((& QPaintEngine::_ZTV12QPaintEngine) + 8u)
-Class QFlags<QPaintEngine::DirtyFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::DirtyFlag> (0x42acce40) 0
Class QPaintEngineState
size=4 align=4
base size=4 base align=4
QPaintEngineState (0x42accd80) 0
-Class QFlags<QTextItem::RenderFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextItem::RenderFlag> (0x42accec0) 0
Class QItemSelectionRange
size=8 align=4
base size=8 base align=4
QItemSelectionRange (0x42accf00) 0
-Class QTypeInfo<QItemSelectionRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QItemSelectionRange> (0x42acc380) 0 empty
Vtable for QItemSelectionModel
QItemSelectionModel::_ZTV19QItemSelectionModel: 18u entries
@@ -5445,20 +4733,8 @@ QItemSelectionModel (0x42acc780) 0
QObject (0x42accc40) 0
primary-for QItemSelectionModel (0x42acc780)
-Class QFlags<QItemSelectionModel::SelectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QItemSelectionModel::SelectionFlag> (0x42c44000) 0
-Class QList<QItemSelectionRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::<anonymous union> (0x42c44140) 0
-Class QList<QItemSelectionRange>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange> (0x42c44080) 0
Class QItemSelection
size=4 align=4
@@ -5466,10 +4742,6 @@ Class QItemSelection
QItemSelection (0x42c44180) 0
QList<QItemSelectionRange> (0x42c441c0) 0
-Class QFlags<QTreeWidgetItemIterator::IteratorFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTreeWidgetItemIterator::IteratorFlag> (0x42c44300) 0
Class QTreeWidgetItemIterator
size=12 align=4
@@ -5757,10 +5029,6 @@ QAbstractSpinBox (0x42c449c0) 0
QPaintDevice (0x42c44a80) 8
vptr=((& QAbstractSpinBox::_ZTV16QAbstractSpinBox) + 252u)
-Class QFlags<QAbstractSpinBox::StepEnabledFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractSpinBox::StepEnabledFlag> (0x42c44b80) 0
Vtable for QAbstractSlider
QAbstractSlider::_ZTV15QAbstractSlider: 64u entries
@@ -6179,10 +5447,6 @@ Class QStyleOptionFrame
QStyleOptionFrame (0x42d66280) 0
QStyleOption (0x42d662c0) 0
-Class QFlags<QStyleOptionFrameV2::FrameFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionFrameV2::FrameFeature> (0x42d66500) 0
Class QStyleOptionFrameV2
size=56 align=4
@@ -6209,10 +5473,6 @@ Class QStyleOptionHeader
QStyleOptionHeader (0x42d66980) 0
QStyleOption (0x42d669c0) 0
-Class QFlags<QStyleOptionButton::ButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionButton::ButtonFeature> (0x42d66c00) 0
Class QStyleOptionButton
size=64 align=4
@@ -6220,10 +5480,6 @@ Class QStyleOptionButton
QStyleOptionButton (0x42d66b00) 0
QStyleOption (0x42d66b40) 0
-Class QFlags<QStyleOptionTab::CornerWidget>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionTab::CornerWidget> (0x42d66e40) 0
Class QStyleOptionTab
size=72 align=4
@@ -6238,10 +5494,6 @@ QStyleOptionTabV2 (0x42d66f40) 0
QStyleOptionTab (0x42d66f80) 0
QStyleOption (0x42d66fc0) 0
-Class QFlags<QStyleOptionToolBar::ToolBarFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionToolBar::ToolBarFeature> (0x42d66dc0) 0
Class QStyleOptionToolBar
size=68 align=4
@@ -6268,10 +5520,6 @@ Class QStyleOptionMenuItem
QStyleOptionMenuItem (0x42dfc280) 0
QStyleOption (0x42dfc2c0) 0
-Class QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature> (0x42dfc4c0) 0
Class QStyleOptionQ3ListViewItem
size=64 align=4
@@ -6329,15 +5577,7 @@ QStyleOptionSpinBox (0x42dfcf80) 0
QStyleOptionComplex (0x42dfcfc0) 0
QStyleOption (0x42dfc100) 0
-Class QList<QStyleOptionQ3ListViewItem>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::<anonymous union> (0x42dfce00) 0
-Class QList<QStyleOptionQ3ListViewItem>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem> (0x42dfca00) 0
Class QStyleOptionQ3ListView
size=84 align=4
@@ -6346,10 +5586,6 @@ QStyleOptionQ3ListView (0x42dfc500) 0
QStyleOptionComplex (0x42dfc640) 0
QStyleOption (0x42dfc780) 0
-Class QFlags<QStyleOptionToolButton::ToolButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionToolButton::ToolButtonFeature> (0x42e7e200) 0
Class QStyleOptionToolButton
size=96 align=4
@@ -6544,10 +5780,6 @@ QAbstractItemView (0x42e7e9c0) 0
QPaintDevice (0x42e7eb00) 8
vptr=((& QAbstractItemView::_ZTV17QAbstractItemView) + 392u)
-Class QFlags<QAbstractItemView::EditTrigger>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractItemView::EditTrigger> (0x42e7ec40) 0
Vtable for QStringListModel
QStringListModel::_ZTV16QStringListModel: 42u entries
@@ -6730,15 +5962,7 @@ QListView (0x42e7ee00) 0
QPaintDevice (0x42e7ef80) 8
vptr=((& QListView::_ZTV9QListView) + 392u)
-Class QVector<QWidgetItemData>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData>::<anonymous union> (0x42e7e940) 0
-Class QVector<QWidgetItemData>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData> (0x42e7e400) 0
Vtable for QListWidgetItem
QListWidgetItem::_ZTV15QListWidgetItem: 11u entries
@@ -7780,15 +7004,7 @@ Class QItemEditorCreatorBase
QItemEditorCreatorBase (0x4302e480) 0 nearly-empty
vptr=((& QItemEditorCreatorBase::_ZTV22QItemEditorCreatorBase) + 8u)
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union> (0x4302e780) 0
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*> (0x4302e6c0) 0
Vtable for QItemEditorFactory
QItemEditorFactory::_ZTV18QItemEditorFactory: 6u entries
@@ -7805,25 +7021,9 @@ Class QItemEditorFactory
QItemEditorFactory (0x4302e600) 0
vptr=((& QItemEditorFactory::_ZTV18QItemEditorFactory) + 8u)
-Class QVector<QVector<QWidgetItemData> >::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> >::<anonymous union> (0x4302ea00) 0
-Class QVector<QVector<QWidgetItemData> >
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> > (0x4302e940) 0
-Class QList<QTreeWidgetItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::<anonymous union> (0x4302eb80) 0
-Class QList<QTreeWidgetItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*> (0x4302eac0) 0
Vtable for QTreeWidgetItem
QTreeWidgetItem::_ZTV15QTreeWidgetItem: 10u entries
@@ -8050,15 +7250,7 @@ Class QAccessible
base size=0 base align=1
QAccessible (0x4302ec00) 0 empty
-Class QFlags<QAccessible::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::StateFlag> (0x43121000) 0
-Class QFlags<QAccessible::RelationFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::RelationFlag> (0x43121080) 0
Vtable for QAccessibleInterface
QAccessibleInterface::_ZTV20QAccessibleInterface: 19u entries
@@ -8906,15 +8098,7 @@ QActionGroup (0x431beb40) 0
QObject (0x431beb80) 0
primary-for QActionGroup (0x431beb40)
-Class QList<QAction*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QAction*>::<anonymous union> (0x431bed80) 0
-Class QList<QAction*>
- size=4 align=4
- base size=4 base align=4
-QList<QAction*> (0x431becc0) 0
Vtable for QSound
QSound::_ZTV6QSound: 14u entries
@@ -9055,10 +8239,6 @@ QCommonStyle (0x431be300) 0
QObject (0x431be680) 0
primary-for QStyle (0x431be4c0)
-Class QPointer<QFocusFrame>
- size=4 align=4
- base size=4 base align=4
-QPointer<QFocusFrame> (0x431befc0) 0
Vtable for QMotifStyle
QMotifStyle::_ZTV11QMotifStyle: 35u entries
@@ -10586,10 +9766,6 @@ QDateEdit (0x4339b1c0) 0
QPaintDevice (0x4339ba80) 8
vptr=((& QDateEdit::_ZTV9QDateEdit) + 260u)
-Class QFlags<QDateTimeEdit::Section>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDateTimeEdit::Section> (0x4339bfc0) 0
Vtable for QLabel
QLabel::_ZTV6QLabel: 63u entries
@@ -10749,10 +9925,6 @@ QDockWidget (0x4344b1c0) 0
QPaintDevice (0x4344b280) 8
vptr=((& QDockWidget::_ZTV11QDockWidget) + 232u)
-Class QFlags<QDockWidget::DockWidgetFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDockWidget::DockWidgetFeature> (0x4344b3c0) 0
Vtable for QGroupBox
QGroupBox::_ZTV9QGroupBox: 63u entries
@@ -12333,10 +11505,6 @@ Class QGLColormap
base size=4 base align=4
QGLColormap (0x4352af00) 0
-Class QFlags<QGL::FormatOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGL::FormatOption> (0x4365c0c0) 0
Class QGLFormat
size=4 align=4
@@ -12469,158 +11637,34 @@ QGLPixelBuffer (0x4365c480) 0
QPaintDevice (0x4365c4c0) 0
primary-for QGLPixelBuffer (0x4365c480)
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0x437f1a80) 0
-Class QTypeInfo<QDebug::Stream*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDebug::Stream*> (0x437f1e00) 0 empty
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0x438314c0) 0
-Class QVectorTypedData<QTextLength>
- size=28 align=4
- base size=28 base align=4
-QVectorTypedData<QTextLength> (0x438803c0) 0
-Class QVectorTypedData<QTextLayout::FormatRange>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QTextLayout::FormatRange> (0x43880a00) 0
-Class QVectorTypedData<QAbstractTextDocumentLayout::Selection>
- size=28 align=4
- base size=28 base align=4
-QVectorTypedData<QAbstractTextDocumentLayout::Selection> (0x43880bc0) 0
-Class QVectorTypedData<QPoint>
- size=24 align=4
- base size=24 base align=4
-QVectorTypedData<QPoint> (0x438ba340) 0
-Class QVectorTypedData<QPointF>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QPointF> (0x438ba680) 0
-Class QVectorTypedData<QLineF>
- size=48 align=4
- base size=48 base align=4
-QVectorTypedData<QLineF> (0x438bac40) 0
-Class QVectorTypedData<QLine>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QLine> (0x438bad80) 0
-Class QVectorTypedData<QRectF>
- size=48 align=4
- base size=48 base align=4
-QVectorTypedData<QRectF> (0x438baec0) 0
-Class QVectorTypedData<QRect>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QRect> (0x43900000) 0
-Class QVectorTypedData<QPainterPath::Element>
- size=36 align=4
- base size=36 base align=4
-QVectorTypedData<QPainterPath::Element> (0x439003c0) 0
-Class QList<QTreeWidgetItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::Node (0x43982540) 0
-Class QVectorTypedData<QVector<QWidgetItemData> >
- size=20 align=4
- base size=20 base align=4
-QVectorTypedData<QVector<QWidgetItemData> > (0x43982680) 0
-Class QList<QAction*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QAction*>::Node (0x43982c80) 0
-Class QTypeInfo<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLength> (0x43a0f280) 0 empty
-Class QTypeInfo<QTextLayout::FormatRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLayout::FormatRange> (0x43a0f500) 0 empty
-Class QTypeInfo<QAbstractTextDocumentLayout::Selection>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAbstractTextDocumentLayout::Selection> (0x43a0f780) 0 empty
-Class QHashNode<QVariant::Type, QItemEditorCreatorBase*>
- size=16 align=4
- base size=16 base align=4
-QHashNode<QVariant::Type, QItemEditorCreatorBase*> (0x43a423c0) 0
-Class QTypeInfo<QTreeWidgetItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTreeWidgetItem*> (0x43a424c0) 0 empty
-Class QTypeInfo<QAction*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAction*> (0x43a42780) 0 empty
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0x43a42ac0) 0
-Class QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union> (0x43a42c00) 0
-Class QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union> (0x43a42d80) 0
-Class QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union> (0x43a42f40) 0
-Class QList<QItemSelectionRange>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::Node (0x43a42dc0) 0
-Class QTypeInfo<QStyleOptionQ3ListViewItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QStyleOptionQ3ListViewItem> (0x43abe100) 0 empty
-Class QList<QStyleOptionQ3ListViewItem>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::Node (0x43abe1c0) 0
-Class QList<QVariant>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::Node (0x43abe4c0) 0
-Class QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union> (0x43abe900) 0
diff --git a/tests/auto/bic/data/QtOpenGL.4.1.0.linux-gcc-ppc32.txt b/tests/auto/bic/data/QtOpenGL.4.1.0.linux-gcc-ppc32.txt
index 74bf8e8..cc8e74c 100644
--- a/tests/auto/bic/data/QtOpenGL.4.1.0.linux-gcc-ppc32.txt
+++ b/tests/auto/bic/data/QtOpenGL.4.1.0.linux-gcc-ppc32.txt
@@ -18,145 +18,37 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0x3078b380) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0x3078b578) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0x3078b620) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0x3078b6c8) 0 empty
-Class QTypeInfo<uchar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uchar> (0x3078b770) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0x3078b818) 0 empty
-Class QTypeInfo<ushort>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ushort> (0x3078b8c0) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0x3078b968) 0 empty
-Class QTypeInfo<uint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uint> (0x3078ba10) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0x3078bab8) 0 empty
-Class QTypeInfo<ulong>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ulong> (0x3078bb60) 0 empty
-Class QTypeInfo<qint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<qint64> (0x3078bc08) 0 empty
-Class QTypeInfo<quint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<quint64> (0x3078bcb0) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0x3078bd58) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0x3078be00) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0x3078bea8) 0 empty
Class QFlag
size=4 align=4
base size=4 base align=4
QFlag (0x3078bf18) 0
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0x313e3428) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0x313e3498) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0x313e3508) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0x313e3578) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0x313e35e8) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0x313e3658) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0x313e36c8) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0x313e3738) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0x313e37a8) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0x313e3818) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0x313e3888) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0x313e38f8) 0
Class QInternal
size=1 align=1
@@ -174,10 +66,6 @@ Class QGenericReturnArgument
QGenericReturnArgument (0x30187bc0) 0
QGenericArgument (0x313e3a10) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0x313e3bd0) 0
Class QMetaObject
size=16 align=4
@@ -194,10 +82,6 @@ Class QChar
base size=2 base align=2
QChar (0x313e3cb0) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0x313e3d58) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -230,10 +114,6 @@ Class QByteRef
base size=8 base align=4
QByteRef (0x31519a48) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0x31519d90) 0 empty
Class QString::Null
size=1 align=1
@@ -255,10 +135,6 @@ Class QLatin1String
base size=4 base align=4
QLatin1String (0x31666348) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0x31666690) 0
Class QCharRef
size=8 align=4
@@ -271,10 +147,6 @@ Class QConstString
QConstString (0x30187e00) 0
QString (0x31756118) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0x317561f8) 0 empty
Vtable for std::exception
std::exception::_ZTVSt9exception: 5u entries
@@ -337,15 +209,7 @@ Class QListData
base size=4 base align=4
QListData (0x31756930) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0x31756e70) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0x31756dc8) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -437,10 +301,6 @@ QIODevice (0x30187ec0) 0
QObject (0x3184f230) 0
primary-for QIODevice (0x30187ec0)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0x3184f428) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -470,10 +330,6 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0x3184fb60) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0x3184fbd0) 0 empty
Class QMapData::Node
size=8 align=4
@@ -485,10 +341,6 @@ Class QMapData
base size=72 base align=4
QMapData (0x318e5310) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0x318e59d8) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -513,15 +365,7 @@ Class QTextCodec
QTextCodec (0x318e5888) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0x318e5cb0) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0x318e5c08) 0
Class QTextEncoder
size=32 align=4
@@ -533,30 +377,10 @@ Class QTextDecoder
base size=32 base align=4
QTextDecoder (0x318e5dc8) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x318e5e70) 0
-Class <anonymous struct>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct>::<anonymous union> (0x318e5f50) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x318e5ee0) 0
-Class <anonymous struct>
- size=12 align=4
- base size=12 base align=4
-<anonymous struct> (0x318e5fc0) 0
-Class <anonymous struct>
- size=16 align=8
- base size=16 base align=8
-<anonymous struct> (0x318e55e8) 0
Class __gconv_trans_data
size=20 align=4
@@ -578,15 +402,7 @@ Class __gconv_info
base size=8 base align=4
__gconv_info (0x31a480a8) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0x31a48188) 0
-Class <anonymous union>
- size=44 align=4
- base size=44 base align=4
-<anonymous union> (0x31a48118) 0
Class _IO_marker
size=12 align=4
@@ -598,10 +414,6 @@ Class _IO_FILE
base size=152 base align=8
_IO_FILE (0x31a481f8) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0x31a48268) 0
Vtable for QTextStream
QTextStream::_ZTV11QTextStream: 4u entries
@@ -616,10 +428,6 @@ Class QTextStream
QTextStream (0x31a482a0) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0x31a484d0) 0
Class QTextStreamManipulator
size=24 align=4
@@ -656,40 +464,16 @@ QTextOStream (0x319d50c0) 0
QTextStream (0x31a48a48) 0
primary-for QTextOStream (0x319d50c0)
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0x31a48d20) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0x31a48d90) 0
Class wait
size=4 align=4
base size=4 base align=4
wait (0x31a48cb0) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x31a48e00) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x31a48e70) 0
-Class <anonymous struct>
- size=16 align=8
- base size=16 base align=8
-<anonymous struct> (0x31a48ee0) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0x31a48f50) 0
Class timespec
size=8 align=4
@@ -701,70 +485,18 @@ Class timeval
base size=8 base align=4
timeval (0x31a48fc0) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0x31a48888) 0
-Class <anonymous union>
- size=36 align=4
- base size=36 base align=4
-<anonymous union> (0x31ad4000) 0
-Class <anonymous union>::<anonymous struct>
- size=24 align=4
- base size=24 base align=4
-<anonymous union>::<anonymous struct> (0x31ad40e0) 0
-Class <anonymous union>
- size=24 align=4
- base size=24 base align=4
-<anonymous union> (0x31ad4070) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0x31ad4150) 0
-Class <anonymous union>::<anonymous struct>
- size=48 align=8
- base size=48 base align=8
-<anonymous union>::<anonymous struct> (0x31ad4230) 0
-Class <anonymous union>
- size=48 align=8
- base size=48 base align=8
-<anonymous union> (0x31ad41c0) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0x31ad42a0) 0
-Class <anonymous union>::<anonymous struct>
- size=32 align=4
- base size=32 base align=4
-<anonymous union>::<anonymous struct> (0x31ad4380) 0
-Class <anonymous union>
- size=32 align=4
- base size=32 base align=4
-<anonymous union> (0x31ad4310) 0
-Class <anonymous union>
- size=8 align=4
- base size=8 base align=4
-<anonymous union> (0x31ad43f0) 0
-Class <anonymous union>
- size=20 align=4
- base size=20 base align=4
-<anonymous union> (0x31ad4460) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0x31ad44d0) 0
Class random_data
size=28 align=4
@@ -835,10 +567,6 @@ QFile (0x319d5100) 0
QObject (0x31ad4af0) 0
primary-for QIODevice (0x319d5140)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0x31ad4c78) 0
Vtable for QTemporaryFile
QTemporaryFile::_ZTV14QTemporaryFile: 31u entries
@@ -891,50 +619,22 @@ Class QFileInfo
base size=4 base align=4
QFileInfo (0x31ad4dc8) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0x31ad4e70) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0x31ad4ee0) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0x31ad4d58) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0x31ad4fc0) 0
Class QRegExp
size=4 align=4
base size=4 base align=4
QRegExp (0x31c07070) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0x31c07230) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0x31c072a0) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0x31c07460) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0x31c073b8) 0
Class QStringList
size=4 align=4
@@ -942,30 +642,14 @@ Class QStringList
QStringList (0x319d5240) 0
QList<QString> (0x31c07508) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0x31c07930) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0x31c079a0) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0x31c07cb0) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0x31c07dc8) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0x31c07e38) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -1022,10 +706,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0x31c07e70) 0
vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0x31cc40a8) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -1180,110 +860,30 @@ Class QUrl
base size=4 base align=4
QUrl (0x31cc4578) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0x31cc4700) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0x31cc4770) 0 empty
Class QMetaType
size=1 align=1
base size=0 base align=1
QMetaType (0x31cc47e0) 0 empty
-Class QMetaTypeId<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QString> (0x31cc48f8) 0 empty
-Class QMetaTypeId<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<int> (0x31cc49a0) 0 empty
-Class QMetaTypeId<uint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<uint> (0x31cc4a48) 0 empty
-Class QMetaTypeId<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<bool> (0x31cc4af0) 0 empty
-Class QMetaTypeId<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<double> (0x31cc4b98) 0 empty
-Class QMetaTypeId<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QByteArray> (0x31cc4c40) 0 empty
-Class QMetaTypeId<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QChar> (0x31cc4ce8) 0 empty
-Class QMetaTypeId<void>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<void> (0x31cc4d90) 0 empty
-Class QMetaTypeId<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<long int> (0x31cc4e38) 0 empty
-Class QMetaTypeId<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<short int> (0x31cc4ee0) 0 empty
-Class QMetaTypeId<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<char> (0x31cc4f88) 0 empty
-Class QMetaTypeId<ulong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<ulong> (0x31cc41c0) 0 empty
-Class QMetaTypeId<ushort>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<ushort> (0x31cc4508) 0 empty
-Class QMetaTypeId<uchar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<uchar> (0x31d54070) 0 empty
-Class QMetaTypeId<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<float> (0x31d54118) 0 empty
-Class QMetaTypeId<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QObject*> (0x31d541c0) 0 empty
-Class QMetaTypeId<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QWidget*> (0x31d54268) 0 empty
-Class QMetaTypeId<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<void*> (0x31d54310) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -1310,35 +910,15 @@ Class QVariant
base size=16 base align=8
QVariant (0x31d54380) 0
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0x31d54930) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0x31d54888) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0x31d54af0) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0x31d54a48) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0x31d54cb0) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0x31d54dc8) 0 empty
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1370,80 +950,48 @@ Class QPoint
base size=8 base align=4
QPoint (0x31e31188) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0x31e31578) 0 empty
Class QPointF
size=16 align=8
base size=16 base align=8
QPointF (0x31e31770) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0x31e31b60) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0x31e31d90) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0x31e31e00) 0 empty
Class QLineF
size=32 align=8
base size=32 base align=8
QLineF (0x31e31f50) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0x31e311c0) 0 empty
Class QSize
size=8 align=4
base size=8 base align=4
QSize (0x31e314d0) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0x31ecb000) 0 empty
Class QSizeF
size=16 align=8
base size=16 base align=8
QSizeF (0x31ecb2d8) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0x31ecb658) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0x31ecb9d8) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0x31ecbbd0) 0 empty
Class QRectF
size=32 align=8
base size=32 base align=8
QRectF (0x31ecbe00) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0x31ecbf88) 0 empty
Class QLinkedListData
size=20 align=4
@@ -1460,10 +1008,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0x31fcb738) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0x31fcb850) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -1480,40 +1024,24 @@ Class QLocale
base size=4 base align=4
QLocale (0x31fcbb60) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0x31fcbbd0) 0 empty
Class QDate
size=4 align=4
base size=4 base align=4
QDate (0x31fcbdc8) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0x31fcbf88) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0x31fcb150) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0x32116118) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0x32116188) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0x321162d8) 0 empty
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -1673,10 +1201,6 @@ QEventLoop (0x319d5780) 0
QObject (0x32116e38) 0
primary-for QEventLoop (0x319d5780)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0x32116fc0) 0
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -1768,20 +1292,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0x321bd658) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0x321bd7e0) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0x321bd850) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0x321bd968) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -2001,10 +1517,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0x321bd188) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0x321bd8c0) 0 empty
Vtable for QSocketNotifier
QSocketNotifier::_ZTV15QSocketNotifier: 14u entries
@@ -2099,20 +1611,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0x3226e310) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0x3226e3b8) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0x3226e428) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0x3226e4d0) 0 empty
Class QMetaProperty
size=20 align=4
@@ -2124,10 +1628,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0x3226e578) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0x3226e620) 0 empty
Vtable for QPluginLoader
QPluginLoader::_ZTV13QPluginLoader: 14u entries
@@ -2250,25 +1750,9 @@ Class QWriteLocker
base size=4 base align=4
QWriteLocker (0x3226ef18) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x3231d000) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x3231d070) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x3231d0e0) 0
-Class QColor::<anonymous union>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union> (0x3226e9a0) 0
Class QColor
size=16 align=4
@@ -2285,55 +1769,23 @@ Class QPen
base size=4 base align=4
QPen (0x3231d540) 0
-Class QTypeInfo<QPen>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPen> (0x3231d6c8) 0 empty
Class QBrush
size=4 align=4
base size=4 base align=4
QBrush (0x3231d738) 0
-Class QTypeInfo<QBrush>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBrush> (0x3231d7e0) 0 empty
Class QBrushData
size=24 align=4
base size=24 base align=4
QBrushData (0x3231d850) 0
-Class QVector<QGradientStop>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QGradientStop>::<anonymous union> (0x3231da80) 0
-Class QVector<QGradientStop>
- size=4 align=4
- base size=4 base align=4
-QVector<QGradientStop> (0x3231d9a0) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=32 align=8
- base size=32 base align=8
-QGradient::<anonymous union>::<anonymous struct> (0x3231db98) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=40 align=8
- base size=40 base align=8
-QGradient::<anonymous union>::<anonymous struct> (0x3231dc08) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=24 align=8
- base size=24 base align=8
-QGradient::<anonymous union>::<anonymous struct> (0x3231dc78) 0
-Class QGradient::<anonymous union>
- size=40 align=8
- base size=40 base align=8
-QGradient::<anonymous union> (0x3231db28) 0
Class QGradient
size=64 align=8
@@ -2363,25 +1815,13 @@ Class QTextLength
base size=16 base align=8
QTextLength (0x3231dd58) 0
-Class QSharedDataPointer<QTextFormatPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextFormatPrivate> (0x3231d188) 0
Class QTextFormat
size=8 align=4
base size=8 base align=4
QTextFormat (0x3231df50) 0
-Class QVector<QTextLength>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength>::<anonymous union> (0x323b5118) 0
-Class QVector<QTextLength>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength> (0x323b5038) 0
Class QTextCharFormat
size=8 align=4
@@ -2521,10 +1961,6 @@ QTextFrame (0x32445000) 0
QObject (0x323b5738) 0
primary-for QTextObject (0x32445040)
-Class QTypeInfo<QTextFrame::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFrame::iterator> (0x323b5bd0) 0 empty
Vtable for QTextBlockUserData
QTextBlockUserData::_ZTV18QTextBlockUserData: 4u entries
@@ -2549,25 +1985,13 @@ Class QTextBlock
base size=8 base align=4
QTextBlock (0x323b5d90) 0
-Class QTypeInfo<QTextBlock>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock> (0x32482070) 0 empty
-Class QTypeInfo<QTextBlock::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock::iterator> (0x32482118) 0 empty
Class QTextFragment
size=12 align=4
base size=12 base align=4
QTextFragment (0x32482188) 0
-Class QTypeInfo<QTextFragment>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFragment> (0x32482348) 0 empty
Class QFontMetrics
size=4 align=4
@@ -2627,20 +2051,12 @@ QTextDocument (0x32445080) 0
QObject (0x32482620) 0
primary-for QTextDocument (0x32445080)
-Class QFlags<QTextDocument::FindFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextDocument::FindFlag> (0x324827e0) 0
Class QTextOption
size=32 align=8
base size=28 base align=8
QTextOption (0x32482818) 0
-Class QFlags<QTextOption::Flag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextOption::Flag> (0x324828f8) 0
Class QTextTableCell
size=8 align=4
@@ -2691,10 +2107,6 @@ Class QKeySequence
base size=4 base align=4
QKeySequence (0x32482f50) 0
-Class QTypeInfo<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QKeySequence> (0x32482b28) 0 empty
Vtable for QMimeSource
QMimeSource::_ZTV11QMimeSource: 7u entries
@@ -2992,15 +2404,7 @@ Class QInputMethodEvent::Attribute
base size=32 base align=8
QInputMethodEvent::Attribute (0x325b00a8) 0
-Class QList<QInputMethodEvent::Attribute>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute>::<anonymous union> (0x325b0230) 0
-Class QList<QInputMethodEvent::Attribute>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute> (0x325b0188) 0
Vtable for QInputMethodEvent
QInputMethodEvent::_ZTV17QInputMethodEvent: 4u entries
@@ -3299,15 +2703,7 @@ Class QTextLayout
base size=4 base align=4
QTextLayout (0x32613498) 0
-Class QVector<QTextLayout::FormatRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange>::<anonymous union> (0x32613738) 0
-Class QVector<QTextLayout::FormatRange>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange> (0x32613658) 0
Class QTextLine
size=8 align=4
@@ -3356,10 +2752,6 @@ Class QTextDocumentFragment
base size=4 base align=4
QTextDocumentFragment (0x32613b60) 0
-Class QSharedDataPointer<QTextCursorPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextCursorPrivate> (0x32613c78) 0
Class QTextCursor
size=4 align=4
@@ -3382,15 +2774,7 @@ Class QAbstractTextDocumentLayout::Selection
base size=12 base align=4
QAbstractTextDocumentLayout::Selection (0x326c8038) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union> (0x326c8230) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection> (0x326c8150) 0
Class QAbstractTextDocumentLayout::PaintContext
size=56 align=8
@@ -4243,10 +3627,6 @@ QFileDialog (0x328143c0) 0
QPaintDevice (0x327b4f18) 8
vptr=((& QFileDialog::_ZTV11QFileDialog) + 244u)
-Class QFlags<QFileDialog::Option>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileDialog::Option> (0x327b4a80) 0
Vtable for QAbstractPrintDialog
QAbstractPrintDialog::_ZTV20QAbstractPrintDialog: 67u entries
@@ -4332,10 +3712,6 @@ QAbstractPrintDialog (0x328144c0) 0
QPaintDevice (0x328980e0) 8
vptr=((& QAbstractPrintDialog::_ZTV20QAbstractPrintDialog) + 248u)
-Class QFlags<QAbstractPrintDialog::PrintDialogOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractPrintDialog::PrintDialogOption> (0x328982d8) 0
Vtable for QPrintDialog
QPrintDialog::_ZTV12QPrintDialog: 67u entries
@@ -4771,10 +4147,6 @@ QImage (0x32814980) 0
QPaintDevice (0x32898d20) 0
primary-for QImage (0x32814980)
-Class QTypeInfo<QImage>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QImage> (0x32898fc0) 0 empty
Vtable for QPixmap
QPixmap::_ZTV7QPixmap: 7u entries
@@ -4881,10 +4253,6 @@ QImageIOPlugin (0x32814a40) 0
QFactoryInterface (0x32990348) 8 nearly-empty
primary-for QImageIOHandlerFactoryInterface (0x32814a80)
-Class QFlags<QImageIOPlugin::Capability>
- size=4 align=4
- base size=4 base align=4
-QFlags<QImageIOPlugin::Capability> (0x32990540) 0
Vtable for QPicture
QPicture::_ZTV8QPicture: 8u entries
@@ -5004,10 +4372,6 @@ Class QIcon
base size=4 base align=4
QIcon (0x32990d20) 0
-Class QTypeInfo<QIcon>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QIcon> (0x32990d90) 0 empty
Vtable for QIconEngine
QIconEngine::_ZTV11QIconEngine: 9u entries
@@ -5159,15 +4523,7 @@ Class QPrintEngine
QPrintEngine (0x32a29690) 0 nearly-empty
vptr=((& QPrintEngine::_ZTV12QPrintEngine) + 8u)
-Class QVector<QPoint>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint>::<anonymous union> (0x32a29968) 0
-Class QVector<QPoint>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint> (0x32a29888) 0
Class QPolygon
size=4 align=4
@@ -5175,15 +4531,7 @@ Class QPolygon
QPolygon (0x32814e00) 0
QVector<QPoint> (0x32a299d8) 0
-Class QVector<QPointF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF>::<anonymous union> (0x32a29d90) 0
-Class QVector<QPointF>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF> (0x32a29cb0) 0
Class QPolygonF
size=4 align=4
@@ -5196,60 +4544,20 @@ Class QMatrix
base size=48 base align=8
QMatrix (0x32a29770) 0
-Class QTypeInfo<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMatrix> (0x32abb038) 0 empty
Class QPainter
size=4 align=4
base size=4 base align=4
QPainter (0x32abb0e0) 0
-Class QFlags<QPainter::RenderHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPainter::RenderHint> (0x32abb5b0) 0
-Class QVector<QLineF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF>::<anonymous union> (0x32abb738) 0
-Class QVector<QLineF>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF> (0x32abb658) 0
-Class QVector<QLine>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine>::<anonymous union> (0x32abb8f8) 0
-Class QVector<QLine>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine> (0x32abb818) 0
-Class QVector<QRectF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF>::<anonymous union> (0x32abbab8) 0
-Class QVector<QRectF>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF> (0x32abb9d8) 0
-Class QVector<QRect>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect>::<anonymous union> (0x32abbc78) 0
-Class QVector<QRect>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect> (0x32abbb98) 0
Vtable for QStyle
QStyle::_ZTV6QStyle: 35u entries
@@ -5297,15 +4605,7 @@ QStyle (0x32814e80) 0
QObject (0x32abbce8) 0
primary-for QStyle (0x32814e80)
-Class QFlags<QStyle::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::StateFlag> (0x32abbea8) 0
-Class QFlags<QStyle::SubControl>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::SubControl> (0x32abbf18) 0
Class QStylePainter
size=12 align=4
@@ -5323,25 +4623,13 @@ Class QPainterPath
base size=4 base align=4
QPainterPath (0x32c11118) 0
-Class QVector<QPainterPath::Element>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element>::<anonymous union> (0x32c115b0) 0
-Class QVector<QPainterPath::Element>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element> (0x32c114d0) 0
Class QPainterPathPrivate
size=8 align=4
base size=8 base align=4
QPainterPathPrivate (0x32c11310) 0
-Class QTypeInfo<QPainterPath::Element>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPainterPath::Element> (0x32c11658) 0 empty
Class QPainterPathStroker
size=4 align=4
@@ -5353,15 +4641,7 @@ Class QTextItem
base size=0 base align=1
QTextItem (0x32c11850) 0 empty
-Class QTypeInfo<QTextItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextItem> (0x32c118f8) 0 empty
-Class QFlags<QPaintEngine::PaintEngineFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::PaintEngineFeature> (0x32c11a80) 0
Vtable for QPaintEngine
QPaintEngine::_ZTV12QPaintEngine: 24u entries
@@ -5396,30 +4676,18 @@ Class QPaintEngine
QPaintEngine (0x32c11968) 0
vptr=((& QPaintEngine::_ZTV12QPaintEngine) + 8u)
-Class QFlags<QPaintEngine::DirtyFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::DirtyFlag> (0x32c11c78) 0
Class QPaintEngineState
size=4 align=4
base size=4 base align=4
QPaintEngineState (0x32c11bd0) 0
-Class QFlags<QTextItem::RenderFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextItem::RenderFlag> (0x32c11ce8) 0
Class QItemSelectionRange
size=8 align=4
base size=8 base align=4
QItemSelectionRange (0x32c11d20) 0
-Class QTypeInfo<QItemSelectionRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QItemSelectionRange> (0x32c11fc0) 0 empty
Vtable for QItemSelectionModel
QItemSelectionModel::_ZTV19QItemSelectionModel: 18u entries
@@ -5450,20 +4718,8 @@ QItemSelectionModel (0x32814f40) 0
QObject (0x32c11a10) 0
primary-for QItemSelectionModel (0x32814f40)
-Class QFlags<QItemSelectionModel::SelectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QItemSelectionModel::SelectionFlag> (0x32cdf0e0) 0
-Class QList<QItemSelectionRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::<anonymous union> (0x32cdf230) 0
-Class QList<QItemSelectionRange>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange> (0x32cdf188) 0
Class QItemSelection
size=4 align=4
@@ -5471,10 +4727,6 @@ Class QItemSelection
QItemSelection (0x32814f80) 0
QList<QItemSelectionRange> (0x32cdf2d8) 0
-Class QFlags<QTreeWidgetItemIterator::IteratorFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTreeWidgetItemIterator::IteratorFlag> (0x32cdf460) 0
Class QTreeWidgetItemIterator
size=12 align=4
@@ -5762,10 +5014,6 @@ QAbstractSpinBox (0x32d25240) 0
QPaintDevice (0x32cdfcb0) 8
vptr=((& QAbstractSpinBox::_ZTV16QAbstractSpinBox) + 252u)
-Class QFlags<QAbstractSpinBox::StepEnabledFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractSpinBox::StepEnabledFlag> (0x32cdfee0) 0
Vtable for QAbstractSlider
QAbstractSlider::_ZTV15QAbstractSlider: 64u entries
@@ -6184,10 +5432,6 @@ Class QStyleOptionFrame
QStyleOptionFrame (0x32d25600) 0
QStyleOption (0x32da97e0) 0
-Class QFlags<QStyleOptionFrameV2::FrameFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionFrameV2::FrameFeature> (0x32da9a80) 0
Class QStyleOptionFrameV2
size=56 align=4
@@ -6214,10 +5458,6 @@ Class QStyleOptionHeader
QStyleOptionHeader (0x32d25740) 0
QStyleOption (0x32da9fc0) 0
-Class QFlags<QStyleOptionButton::ButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionButton::ButtonFeature> (0x32e5f0a8) 0
Class QStyleOptionButton
size=64 align=4
@@ -6225,10 +5465,6 @@ Class QStyleOptionButton
QStyleOptionButton (0x32d257c0) 0
QStyleOption (0x32da9a10) 0
-Class QFlags<QStyleOptionTab::CornerWidget>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionTab::CornerWidget> (0x32e5f310) 0
Class QStyleOptionTab
size=72 align=4
@@ -6243,10 +5479,6 @@ QStyleOptionTabV2 (0x32d25880) 0
QStyleOptionTab (0x32d258c0) 0
QStyleOption (0x32e5f428) 0
-Class QFlags<QStyleOptionToolBar::ToolBarFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionToolBar::ToolBarFeature> (0x32e5f7a8) 0
Class QStyleOptionToolBar
size=68 align=4
@@ -6273,10 +5505,6 @@ Class QStyleOptionMenuItem
QStyleOptionMenuItem (0x32d25a00) 0
QStyleOption (0x32e5fb28) 0
-Class QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature> (0x32e5fe00) 0
Class QStyleOptionQ3ListViewItem
size=64 align=4
@@ -6334,15 +5562,7 @@ QStyleOptionSpinBox (0x32d25c80) 0
QStyleOptionComplex (0x32d25cc0) 0
QStyleOption (0x32ee7818) 0
-Class QList<QStyleOptionQ3ListViewItem>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::<anonymous union> (0x32ee7b98) 0
-Class QList<QStyleOptionQ3ListViewItem>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem> (0x32ee7af0) 0
Class QStyleOptionQ3ListView
size=84 align=4
@@ -6351,10 +5571,6 @@ QStyleOptionQ3ListView (0x32d25d00) 0
QStyleOptionComplex (0x32d25d40) 0
QStyleOption (0x32ee79a0) 0
-Class QFlags<QStyleOptionToolButton::ToolButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionToolButton::ToolButtonFeature> (0x32ee7e70) 0
Class QStyleOptionToolButton
size=96 align=4
@@ -6549,10 +5765,6 @@ QAbstractItemView (0x32f71040) 0
QPaintDevice (0x32f5d460) 8
vptr=((& QAbstractItemView::_ZTV17QAbstractItemView) + 392u)
-Class QFlags<QAbstractItemView::EditTrigger>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractItemView::EditTrigger> (0x32f5d658) 0
Vtable for QStringListModel
QStringListModel::_ZTV16QStringListModel: 42u entries
@@ -6735,15 +5947,7 @@ QListView (0x32f71240) 0
QPaintDevice (0x32f5d7e0) 8
vptr=((& QListView::_ZTV9QListView) + 392u)
-Class QVector<QWidgetItemData>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData>::<anonymous union> (0x32f5db60) 0
-Class QVector<QWidgetItemData>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData> (0x32f5da80) 0
Vtable for QListWidgetItem
QListWidgetItem::_ZTV15QListWidgetItem: 11u entries
@@ -7785,15 +6989,7 @@ Class QItemEditorCreatorBase
QItemEditorCreatorBase (0x33031498) 0 nearly-empty
vptr=((& QItemEditorCreatorBase::_ZTV22QItemEditorCreatorBase) + 8u)
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union> (0x3313f1f8) 0
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*> (0x3313f0e0) 0
Vtable for QItemEditorFactory
QItemEditorFactory::_ZTV18QItemEditorFactory: 6u entries
@@ -7810,25 +7006,9 @@ Class QItemEditorFactory
QItemEditorFactory (0x3313f000) 0
vptr=((& QItemEditorFactory::_ZTV18QItemEditorFactory) + 8u)
-Class QVector<QVector<QWidgetItemData> >::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> >::<anonymous union> (0x3313f658) 0
-Class QVector<QVector<QWidgetItemData> >
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> > (0x3313f578) 0
-Class QList<QTreeWidgetItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::<anonymous union> (0x3313f7e0) 0
-Class QList<QTreeWidgetItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*> (0x3313f738) 0
Vtable for QTreeWidgetItem
QTreeWidgetItem::_ZTV15QTreeWidgetItem: 10u entries
@@ -8055,15 +7235,7 @@ Class QAccessible
base size=0 base align=1
QAccessible (0x3313f968) 0 empty
-Class QFlags<QAccessible::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::StateFlag> (0x331e8000) 0
-Class QFlags<QAccessible::RelationFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::RelationFlag> (0x331e8070) 0
Vtable for QAccessibleInterface
QAccessibleInterface::_ZTV20QAccessibleInterface: 19u entries
@@ -8911,15 +8083,7 @@ QActionGroup (0x331d3980) 0
QObject (0x332ea540) 0
primary-for QActionGroup (0x331d3980)
-Class QList<QAction*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QAction*>::<anonymous union> (0x332ea770) 0
-Class QList<QAction*>
- size=4 align=4
- base size=4 base align=4
-QList<QAction*> (0x332ea6c8) 0
Vtable for QSound
QSound::_ZTV6QSound: 14u entries
@@ -9060,10 +8224,6 @@ QCommonStyle (0x331d3a80) 0
QObject (0x332eabd0) 0
primary-for QStyle (0x331d3ac0)
-Class QPointer<QFocusFrame>
- size=4 align=4
- base size=4 base align=4
-QPointer<QFocusFrame> (0x332eadc8) 0
Vtable for QMotifStyle
QMotifStyle::_ZTV11QMotifStyle: 35u entries
@@ -10591,10 +9751,6 @@ QDateEdit (0x333cca40) 0
QPaintDevice (0x3348de38) 8
vptr=((& QDateEdit::_ZTV9QDateEdit) + 260u)
-Class QFlags<QDateTimeEdit::Section>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDateTimeEdit::Section> (0x3348d0a8) 0
Vtable for QLabel
QLabel::_ZTV6QLabel: 63u entries
@@ -10754,10 +9910,6 @@ QDockWidget (0x333ccc00) 0
QPaintDevice (0x3353d000) 8
vptr=((& QDockWidget::_ZTV11QDockWidget) + 232u)
-Class QFlags<QDockWidget::DockWidgetFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDockWidget::DockWidgetFeature> (0x3353d268) 0
Vtable for QGroupBox
QGroupBox::_ZTV9QGroupBox: 63u entries
@@ -12338,10 +11490,6 @@ Class QGLColormap
base size=4 base align=4
QGLColormap (0x3371b4d0) 0
-Class QFlags<QGL::FormatOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGL::FormatOption> (0x3371b658) 0
Class QGLFormat
size=4 align=4
@@ -12474,158 +11622,34 @@ QGLPixelBuffer (0x335e2a40) 0
QPaintDevice (0x3371baf0) 0
primary-for QGLPixelBuffer (0x335e2a40)
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0x3394ec78) 0
-Class QTypeInfo<QDebug::Stream*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDebug::Stream*> (0x3396a3b8) 0 empty
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0x3398c1c0) 0
-Class QVectorTypedData<QTextLength>
- size=32 align=8
- base size=32 base align=8
-QVectorTypedData<QTextLength> (0x339b7dc8) 0
-Class QVectorTypedData<QTextLayout::FormatRange>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QTextLayout::FormatRange> (0x339d6a80) 0
-Class QVectorTypedData<QAbstractTextDocumentLayout::Selection>
- size=28 align=4
- base size=28 base align=4
-QVectorTypedData<QAbstractTextDocumentLayout::Selection> (0x339d6d20) 0
-Class QVectorTypedData<QPoint>
- size=24 align=4
- base size=24 base align=4
-QVectorTypedData<QPoint> (0x339f4dc8) 0
-Class QVectorTypedData<QPointF>
- size=32 align=8
- base size=32 base align=8
-QVectorTypedData<QPointF> (0x33a103f0) 0
-Class QVectorTypedData<QLineF>
- size=48 align=8
- base size=48 base align=8
-QVectorTypedData<QLineF> (0x33a10f50) 0
-Class QVectorTypedData<QLine>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QLine> (0x33a3d0e0) 0
-Class QVectorTypedData<QRectF>
- size=48 align=8
- base size=48 base align=8
-QVectorTypedData<QRectF> (0x33a3d268) 0
-Class QVectorTypedData<QRect>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QRect> (0x33a3d3f0) 0
-Class QVectorTypedData<QPainterPath::Element>
- size=40 align=8
- base size=40 base align=8
-QVectorTypedData<QPainterPath::Element> (0x33a3db60) 0
-Class QList<QTreeWidgetItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::Node (0x33acd2a0) 0
-Class QVectorTypedData<QVector<QWidgetItemData> >
- size=20 align=4
- base size=20 base align=4
-QVectorTypedData<QVector<QWidgetItemData> > (0x33acd498) 0
-Class QList<QAction*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QAction*>::Node (0x33af1150) 0
-Class QTypeInfo<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLength> (0x33b29ee0) 0 empty
-Class QTypeInfo<QTextLayout::FormatRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLayout::FormatRange> (0x33b512d8) 0 empty
-Class QTypeInfo<QAbstractTextDocumentLayout::Selection>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAbstractTextDocumentLayout::Selection> (0x33b516c8) 0 empty
-Class QHashNode<QVariant::Type, QItemEditorCreatorBase*>
- size=16 align=4
- base size=16 base align=4
-QHashNode<QVariant::Type, QItemEditorCreatorBase*> (0x33b70c08) 0
-Class QTypeInfo<QTreeWidgetItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTreeWidgetItem*> (0x33b70d90) 0 empty
-Class QTypeInfo<QAction*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAction*> (0x33b93230) 0 empty
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0x33b937a8) 0
-Class QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union> (0x33b939a0) 0
-Class QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union> (0x33b93f18) 0
-Class QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union> (0x33bd0460) 0
-Class QList<QItemSelectionRange>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::Node (0x33bd0a80) 0
-Class QTypeInfo<QStyleOptionQ3ListViewItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QStyleOptionQ3ListViewItem> (0x33bd0d20) 0 empty
-Class QList<QStyleOptionQ3ListViewItem>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::Node (0x33bd0dc8) 0
-Class QList<QVariant>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::Node (0x33c00230) 0
-Class QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union> (0x33c00888) 0
diff --git a/tests/auto/bic/data/QtOpenGL.4.1.0.macx-gcc-ia32.txt b/tests/auto/bic/data/QtOpenGL.4.1.0.macx-gcc-ia32.txt
index e8197c4..fe400d4 100644
--- a/tests/auto/bic/data/QtOpenGL.4.1.0.macx-gcc-ia32.txt
+++ b/tests/auto/bic/data/QtOpenGL.4.1.0.macx-gcc-ia32.txt
@@ -18,75 +18,19 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0x1678240) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0x1678480) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0x1678540) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0x1678600) 0 empty
-Class QTypeInfo<uchar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uchar> (0x16786c0) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0x1678780) 0 empty
-Class QTypeInfo<ushort>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ushort> (0x1678840) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0x1678900) 0 empty
-Class QTypeInfo<uint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uint> (0x16789c0) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0x1678a80) 0 empty
-Class QTypeInfo<ulong>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ulong> (0x1678b40) 0 empty
-Class QTypeInfo<qint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<qint64> (0x1678c00) 0 empty
-Class QTypeInfo<quint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<quint64> (0x1678cc0) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0x1678d80) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0x1678e40) 0 empty
Class QFlag
size=4 align=4
@@ -103,10 +47,6 @@ Class QChar
base size=2 base align=2
QChar (0x16bb140) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0x16bb240) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -119,10 +59,6 @@ Class QAtomic
QAtomic (0x16bb940) 0
QBasicAtomic (0x16bb980) 0
-Class <anonymous union>
- size=128 align=4
- base size=128 base align=4
-<anonymous union> (0x16bbc00) 0
Class __darwin_pthread_handler_rec
size=12 align=4
@@ -204,70 +140,18 @@ Class QByteRef
base size=8 base align=4
QByteRef (0x174a8c0) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0x174ac80) 0 empty
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0x184e140) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0x184e1c0) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0x184e240) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0x184e2c0) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0x184e340) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0x184e3c0) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0x184e440) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0x184e4c0) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0x184e540) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0x184e5c0) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0x184e640) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0x184e6c0) 0
Class QInternal
size=1 align=1
@@ -294,10 +178,6 @@ Class QLatin1String
base size=4 base align=4
QLatin1String (0x184ee00) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0x19b4240) 0
Class QCharRef
size=8 align=4
@@ -310,10 +190,6 @@ Class QConstString
QConstString (0x19b4e40) 0
QString (0x19b4e80) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0x19b4f80) 0 empty
Vtable for std::exception
std::exception::_ZTVSt9exception: 5u entries
@@ -376,10 +252,6 @@ Class QListData
base size=4 base align=4
QListData (0x1ab2840) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0x1ab2e80) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -404,15 +276,7 @@ Class QTextCodec
QTextCodec (0x1ab2d00) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0x1bbc040) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0x1ab2e00) 0
Class QTextEncoder
size=32 align=4
@@ -435,25 +299,13 @@ Class QGenericReturnArgument
QGenericReturnArgument (0x1bbc280) 0
QGenericArgument (0x1bbc2c0) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0x1bbc580) 0
Class QMetaObject
size=16 align=4
base size=16 base align=4
QMetaObject (0x1bbc500) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0x1bbc800) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0x1bbc740) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -545,10 +397,6 @@ QIODevice (0x1bbce40) 0
QObject (0x1bbce80) 0
primary-for QIODevice (0x1bbce40)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0x1c88000) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -568,25 +416,13 @@ Class QRegExp
base size=4 base align=4
QRegExp (0x1c886c0) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0x1c888c0) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0x1c88940) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0x1c88b40) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0x1c88a80) 0
Class QStringList
size=4 align=4
@@ -594,15 +430,7 @@ Class QStringList
QStringList (0x1c88c00) 0
QList<QString> (0x1c88c40) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0x1d2c0c0) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0x1d2c140) 0
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -736,50 +564,22 @@ QFile (0x1d2cf80) 0
QObject (0x1d2c540) 0
primary-for QIODevice (0x1d2cfc0)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0x1dc20c0) 0
Class QFileInfo
size=4 align=4
base size=4 base align=4
QFileInfo (0x1dc2100) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0x1dc21c0) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0x1dc2240) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0x1dc2400) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0x1dc2340) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0x1dc24c0) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0x1dc2600) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0x1dc2680) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -836,10 +636,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0x1dc26c0) 0
vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0x1dc2980) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -913,10 +709,6 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0x1dc2e80) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0x1dc2f00) 0 empty
Class QMapData::Node
size=8 align=4
@@ -941,10 +733,6 @@ Class QTextStream
QTextStream (0x1fea1c0) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0x1fea480) 0
Class QTextStreamManipulator
size=24 align=4
@@ -1041,35 +829,15 @@ Class rlimit
base size=16 base align=4
rlimit (0x1fea3c0) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0x208b700) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0x208b780) 0
Class wait
size=4 align=4
base size=4 base align=4
wait (0x208b680) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x208b800) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x208b880) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0x208b900) 0
Class QVectorData
size=16 align=4
@@ -1182,95 +950,23 @@ Class QMetaType
base size=0 base align=1
QMetaType (0x2181340) 0 empty
-Class QMetaTypeId<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QString> (0x2181480) 0 empty
-Class QMetaTypeId<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<int> (0x2181540) 0 empty
-Class QMetaTypeId<uint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<uint> (0x2181600) 0 empty
-Class QMetaTypeId<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<bool> (0x21816c0) 0 empty
-Class QMetaTypeId<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<double> (0x2181780) 0 empty
-Class QMetaTypeId<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QByteArray> (0x2181840) 0 empty
-Class QMetaTypeId<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QChar> (0x2181900) 0 empty
-Class QMetaTypeId<void>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<void> (0x21819c0) 0 empty
-Class QMetaTypeId<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<long int> (0x2181a80) 0 empty
-Class QMetaTypeId<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<short int> (0x2181b40) 0 empty
-Class QMetaTypeId<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<char> (0x2181c00) 0 empty
-Class QMetaTypeId<ulong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<ulong> (0x2181cc0) 0 empty
-Class QMetaTypeId<ushort>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<ushort> (0x2181d80) 0 empty
-Class QMetaTypeId<uchar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<uchar> (0x2181e40) 0 empty
-Class QMetaTypeId<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<float> (0x2181f00) 0 empty
-Class QMetaTypeId<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QObject*> (0x2181fc0) 0 empty
-Class QMetaTypeId<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QWidget*> (0x21c6000) 0 empty
-Class QMetaTypeId<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<void*> (0x21c60c0) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -1297,50 +993,18 @@ Class QVariant
base size=12 base align=4
QVariant (0x21c6140) 0
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0x21c67c0) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0x21c6700) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0x21c69c0) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0x21c6900) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0x21c6c40) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0x21c6d80) 0 empty
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0x21c6e40) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x21c6ec0) 0
-Class <anonymous struct>
- size=3156 align=4
- base size=3156 base align=4
-<anonymous struct> (0x21c6f40) 0
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1418,15 +1082,7 @@ Class QUrl
base size=4 base align=4
QUrl (0x2298600) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0x22987c0) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0x2298840) 0 empty
Vtable for QEventLoop
QEventLoop::_ZTV10QEventLoop: 14u entries
@@ -1453,10 +1109,6 @@ QEventLoop (0x22988c0) 0
QObject (0x2298900) 0
primary-for QEventLoop (0x22988c0)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0x2298b00) 0
Vtable for QAbstractEventDispatcher
QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 27u entries
@@ -1501,20 +1153,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0x2298d40) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0x2298f00) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0x2298f80) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0x2298580) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -1684,10 +1328,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0x2364640) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0x2364740) 0 empty
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -1779,20 +1419,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0x23f7080) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0x23f7140) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0x23f71c0) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0x23f7280) 0 empty
Class QMetaProperty
size=20 align=4
@@ -1804,10 +1436,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0x23f7340) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0x23f7400) 0 empty
Vtable for QMimeData
QMimeData::_ZTV9QMimeData: 17u entries
@@ -2095,10 +1723,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0x2488d40) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0x2488e80) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -2110,70 +1734,42 @@ Class QDate
base size=4 base align=4
QDate (0x2515040) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0x2515240) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0x25152c0) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0x2515500) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0x2515580) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0x2515700) 0 empty
Class QPoint
size=8 align=4
base size=8 base align=4
QPoint (0x2515780) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0x2515c00) 0 empty
Class QPointF
size=16 align=4
base size=16 base align=4
QPointF (0x2515ec0) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0x2515840) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0x25c00c0) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0x25c0140) 0 empty
Class QLineF
size=32 align=4
base size=32 base align=4
QLineF (0x25c02c0) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0x25c0380) 0 empty
Class QLinkedListData
size=20 align=4
@@ -2185,50 +1781,30 @@ Class QLocale
base size=4 base align=4
QLocale (0x25c0940) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0x25c09c0) 0 empty
Class QSize
size=8 align=4
base size=8 base align=4
QSize (0x25c0b00) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0x25c0f00) 0 empty
Class QSizeF
size=16 align=4
base size=16 base align=4
QSizeF (0x26fc0c0) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0x26fc4c0) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0x26fc940) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0x26fcb00) 0 empty
Class QRectF
size=32 align=4
base size=32 base align=4
QRectF (0x26fcd80) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0x26fcf40) 0 empty
Class QSharedData
size=4 align=4
@@ -2250,10 +1826,6 @@ Class QKeySequence
base size=4 base align=4
QKeySequence (0x283b640) 0
-Class QTypeInfo<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QKeySequence> (0x283b7c0) 0 empty
Vtable for QMimeSource
QMimeSource::_ZTV11QMimeSource: 7u entries
@@ -2572,15 +2144,7 @@ Class QInputMethodEvent::Attribute
base size=24 base align=4
QInputMethodEvent::Attribute (0x2930200) 0
-Class QList<QInputMethodEvent::Attribute>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute>::<anonymous union> (0x29303c0) 0
-Class QList<QInputMethodEvent::Attribute>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute> (0x2930300) 0
Vtable for QInputMethodEvent
QInputMethodEvent::_ZTV17QInputMethodEvent: 4u entries
@@ -2869,15 +2433,7 @@ Class QAccessible
base size=0 base align=1
QAccessible (0x298cd40) 0 empty
-Class QFlags<QAccessible::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::StateFlag> (0x298ce80) 0
-Class QFlags<QAccessible::RelationFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::RelationFlag> (0x298cf00) 0
Vtable for QAccessibleInterface
QAccessibleInterface::_ZTV20QAccessibleInterface: 19u entries
@@ -3161,25 +2717,9 @@ Class QPaintDevice
QPaintDevice (0x29ec880) 0
vptr=((& QPaintDevice::_ZTV12QPaintDevice) + 8u)
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x2a2d240) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x2a2d2c0) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x2a2d340) 0
-Class QColor::<anonymous union>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union> (0x2a2d1c0) 0
Class QColor
size=16 align=4
@@ -3191,45 +2731,17 @@ Class QBrush
base size=4 base align=4
QBrush (0x2a2d600) 0
-Class QTypeInfo<QBrush>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBrush> (0x2a2d6c0) 0 empty
Class QBrushData
size=24 align=4
base size=24 base align=4
QBrushData (0x2a2d740) 0
-Class QVector<QGradientStop>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QGradientStop>::<anonymous union> (0x2a2d9c0) 0
-Class QVector<QGradientStop>
- size=4 align=4
- base size=4 base align=4
-QVector<QGradientStop> (0x2a2d8c0) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=32 align=4
- base size=32 base align=4
-QGradient::<anonymous union>::<anonymous struct> (0x2a2db00) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=40 align=4
- base size=40 base align=4
-QGradient::<anonymous union>::<anonymous struct> (0x2a2db80) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=24 align=4
- base size=24 base align=4
-QGradient::<anonymous union>::<anonymous struct> (0x2a2dc00) 0
-Class QGradient::<anonymous union>
- size=40 align=4
- base size=40 base align=4
-QGradient::<anonymous union> (0x2a2da80) 0
Class QGradient
size=56 align=4
@@ -3625,10 +3137,6 @@ QAbstractPrintDialog (0x2c066c0) 0
QPaintDevice (0x2c06780) 8
vptr=((& QAbstractPrintDialog::_ZTV20QAbstractPrintDialog) + 248u)
-Class QFlags<QAbstractPrintDialog::PrintDialogOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractPrintDialog::PrintDialogOption> (0x2c06a00) 0
Vtable for QColorDialog
QColorDialog::_ZTV12QColorDialog: 66u entries
@@ -3879,10 +3387,6 @@ QFileDialog (0x2c06f40) 0
QPaintDevice (0x2c06340) 8
vptr=((& QFileDialog::_ZTV11QFileDialog) + 244u)
-Class QFlags<QFileDialog::Option>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileDialog::Option> (0x2cc1180) 0
Vtable for QFontDialog
QFontDialog::_ZTV11QFontDialog: 66u entries
@@ -4577,10 +4081,6 @@ QImage (0x2d82740) 0
QPaintDevice (0x2d82780) 0
primary-for QImage (0x2d82740)
-Class QTypeInfo<QImage>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QImage> (0x2d82a80) 0 empty
Vtable for QPixmap
QPixmap::_ZTV7QPixmap: 7u entries
@@ -4625,10 +4125,6 @@ Class QIcon
base size=4 base align=4
QIcon (0x2e3f140) 0
-Class QTypeInfo<QIcon>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QIcon> (0x2e3f200) 0 empty
Vtable for QIconEngine
QIconEngine::_ZTV11QIconEngine: 9u entries
@@ -4784,10 +4280,6 @@ QImageIOPlugin (0x2e80e80) 0
QFactoryInterface (0x2e3fc40) 8 nearly-empty
primary-for QImageIOHandlerFactoryInterface (0x2e3fc00)
-Class QFlags<QImageIOPlugin::Capability>
- size=4 align=4
- base size=4 base align=4
-QFlags<QImageIOPlugin::Capability> (0x2e3fe80) 0
Class QImageReader
size=4 align=4
@@ -4963,15 +4455,7 @@ QActionGroup (0x2ed5880) 0
QObject (0x2ed58c0) 0
primary-for QActionGroup (0x2ed5880)
-Class QList<QAction*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QAction*>::<anonymous union> (0x2ed5b40) 0
-Class QList<QAction*>
- size=4 align=4
- base size=4 base align=4
-QList<QAction*> (0x2ed5a80) 0
Vtable for QInputContext
QInputContext::_ZTV13QInputContext: 25u entries
@@ -5276,10 +4760,6 @@ QAbstractSpinBox (0x2f5d6c0) 0
QPaintDevice (0x2f5d740) 8
vptr=((& QAbstractSpinBox::_ZTV16QAbstractSpinBox) + 252u)
-Class QFlags<QAbstractSpinBox::StepEnabledFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractSpinBox::StepEnabledFlag> (0x2f5d9c0) 0
Vtable for QAbstractSlider
QAbstractSlider::_ZTV15QAbstractSlider: 64u entries
@@ -5487,15 +4967,7 @@ QStyle (0x2f5dec0) 0
QObject (0x2f5df00) 0
primary-for QStyle (0x2f5dec0)
-Class QFlags<QStyle::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::StateFlag> (0x2f5d880) 0
-Class QFlags<QStyle::SubControl>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::SubControl> (0x2f5ddc0) 0
Vtable for QTabBar
QTabBar::_ZTV7QTabBar: 67u entries
@@ -5754,10 +5226,6 @@ Class QStyleOptionFrame
QStyleOptionFrame (0x303b9c0) 0
QStyleOption (0x303ba00) 0
-Class QFlags<QStyleOptionFrameV2::FrameFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionFrameV2::FrameFeature> (0x303bd80) 0
Class QStyleOptionFrameV2
size=56 align=4
@@ -5784,10 +5252,6 @@ Class QStyleOptionHeader
QStyleOptionHeader (0x30d8240) 0
QStyleOption (0x30d8280) 0
-Class QFlags<QStyleOptionButton::ButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionButton::ButtonFeature> (0x30d8640) 0
Class QStyleOptionButton
size=64 align=4
@@ -5795,10 +5259,6 @@ Class QStyleOptionButton
QStyleOptionButton (0x30d8480) 0
QStyleOption (0x30d84c0) 0
-Class QFlags<QStyleOptionTab::CornerWidget>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionTab::CornerWidget> (0x30d8980) 0
Class QStyleOptionTab
size=72 align=4
@@ -5813,10 +5273,6 @@ QStyleOptionTabV2 (0x30d8ac0) 0
QStyleOptionTab (0x30d8b00) 0
QStyleOption (0x30d8b40) 0
-Class QFlags<QStyleOptionToolBar::ToolBarFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionToolBar::ToolBarFeature> (0x30d8f80) 0
Class QStyleOptionToolBar
size=68 align=4
@@ -5843,10 +5299,6 @@ Class QStyleOptionMenuItem
QStyleOptionMenuItem (0x3152240) 0
QStyleOption (0x3152280) 0
-Class QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature> (0x3152600) 0
Class QStyleOptionQ3ListViewItem
size=64 align=4
@@ -5904,15 +5356,7 @@ QStyleOptionSpinBox (0x31af440) 0
QStyleOptionComplex (0x31af480) 0
QStyleOption (0x31af4c0) 0
-Class QList<QStyleOptionQ3ListViewItem>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::<anonymous union> (0x31af940) 0
-Class QList<QStyleOptionQ3ListViewItem>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem> (0x31af880) 0
Class QStyleOptionQ3ListView
size=84 align=4
@@ -5921,10 +5365,6 @@ QStyleOptionQ3ListView (0x31af680) 0
QStyleOptionComplex (0x31af6c0) 0
QStyleOption (0x31af700) 0
-Class QFlags<QStyleOptionToolButton::ToolButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionToolButton::ToolButtonFeature> (0x31afd40) 0
Class QStyleOptionToolButton
size=96 align=4
@@ -6084,10 +5524,6 @@ Class QItemSelectionRange
base size=8 base align=4
QItemSelectionRange (0x3217940) 0
-Class QTypeInfo<QItemSelectionRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QItemSelectionRange> (0x3217c40) 0 empty
Vtable for QItemSelectionModel
QItemSelectionModel::_ZTV19QItemSelectionModel: 18u entries
@@ -6118,20 +5554,8 @@ QItemSelectionModel (0x3217d00) 0
QObject (0x3217d40) 0
primary-for QItemSelectionModel (0x3217d00)
-Class QFlags<QItemSelectionModel::SelectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QItemSelectionModel::SelectionFlag> (0x3217f00) 0
-Class QList<QItemSelectionRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::<anonymous union> (0x3217640) 0
-Class QList<QItemSelectionRange>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange> (0x3217fc0) 0
Class QItemSelection
size=4 align=4
@@ -6261,10 +5685,6 @@ QAbstractItemView (0x32bf100) 0
QPaintDevice (0x32bf200) 8
vptr=((& QAbstractItemView::_ZTV17QAbstractItemView) + 392u)
-Class QFlags<QAbstractItemView::EditTrigger>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractItemView::EditTrigger> (0x32bf480) 0
Vtable for QAbstractProxyModel
QAbstractProxyModel::_ZTV19QAbstractProxyModel: 47u entries
@@ -6576,15 +5996,7 @@ Class QItemEditorCreatorBase
QItemEditorCreatorBase (0x32bff00) 0 nearly-empty
vptr=((& QItemEditorCreatorBase::_ZTV22QItemEditorCreatorBase) + 8u)
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union> (0x3370200) 0
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*> (0x33700c0) 0
Vtable for QItemEditorFactory
QItemEditorFactory::_ZTV18QItemEditorFactory: 6u entries
@@ -6725,15 +6137,7 @@ QListView (0x3370480) 0
QPaintDevice (0x33705c0) 8
vptr=((& QListView::_ZTV9QListView) + 392u)
-Class QVector<QWidgetItemData>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData>::<anonymous union> (0x3370a00) 0
-Class QVector<QWidgetItemData>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData> (0x3370900) 0
Vtable for QListWidgetItem
QListWidgetItem::_ZTV15QListWidgetItem: 11u entries
@@ -7522,35 +6926,15 @@ QTreeView (0x340b500) 0
QPaintDevice (0x34ef000) 8
vptr=((& QTreeView::_ZTV9QTreeView) + 400u)
-Class QFlags<QTreeWidgetItemIterator::IteratorFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTreeWidgetItemIterator::IteratorFlag> (0x34ef2c0) 0
Class QTreeWidgetItemIterator
size=12 align=4
base size=12 base align=4
QTreeWidgetItemIterator (0x34ef1c0) 0
-Class QVector<QVector<QWidgetItemData> >::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> >::<anonymous union> (0x34ef780) 0
-Class QVector<QVector<QWidgetItemData> >
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> > (0x34ef680) 0
-Class QList<QTreeWidgetItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::<anonymous union> (0x34ef940) 0
-Class QList<QTreeWidgetItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*> (0x34ef880) 0
Vtable for QTreeWidgetItem
QTreeWidgetItem::_ZTV15QTreeWidgetItem: 10u entries
@@ -8397,15 +7781,7 @@ Class QColormap
base size=4 base align=4
QColormap (0x36ee400) 0
-Class QVector<QPoint>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint>::<anonymous union> (0x36ee600) 0
-Class QVector<QPoint>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint> (0x36ee500) 0
Class QPolygon
size=4 align=4
@@ -8413,15 +7789,7 @@ Class QPolygon
QPolygon (0x36ee680) 0
QVector<QPoint> (0x36ee6c0) 0
-Class QVector<QPointF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF>::<anonymous union> (0x36eeb00) 0
-Class QVector<QPointF>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF> (0x36eea00) 0
Class QPolygonF
size=4 align=4
@@ -8434,95 +7802,39 @@ Class QMatrix
base size=48 base align=4
QMatrix (0x36eeec0) 0
-Class QTypeInfo<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMatrix> (0x36eef40) 0 empty
Class QTextOption
size=24 align=4
base size=24 base align=4
QTextOption (0x36ee000) 0
-Class QFlags<QTextOption::Flag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextOption::Flag> (0x3792080) 0
Class QPen
size=4 align=4
base size=4 base align=4
QPen (0x37920c0) 0
-Class QTypeInfo<QPen>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPen> (0x3792280) 0 empty
Class QPainter
size=4 align=4
base size=4 base align=4
QPainter (0x3792300) 0
-Class QFlags<QPainter::RenderHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPainter::RenderHint> (0x3792880) 0
-Class QVector<QLineF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF>::<anonymous union> (0x3792a40) 0
-Class QVector<QLineF>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF> (0x3792940) 0
-Class QVector<QLine>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine>::<anonymous union> (0x3792c40) 0
-Class QVector<QLine>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine> (0x3792b40) 0
-Class QVector<QRectF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF>::<anonymous union> (0x3792e40) 0
-Class QVector<QRectF>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF> (0x3792d40) 0
-Class QVector<QRect>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect>::<anonymous union> (0x37921c0) 0
-Class QVector<QRect>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect> (0x3792f40) 0
Class QTextItem
size=1 align=1
base size=0 base align=1
QTextItem (0x38e4000) 0 empty
-Class QTypeInfo<QTextItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextItem> (0x38e40c0) 0 empty
-Class QFlags<QPaintEngine::PaintEngineFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::PaintEngineFeature> (0x38e4280) 0
Vtable for QPaintEngine
QPaintEngine::_ZTV12QPaintEngine: 24u entries
@@ -8557,20 +7869,12 @@ Class QPaintEngine
QPaintEngine (0x38e4140) 0
vptr=((& QPaintEngine::_ZTV12QPaintEngine) + 8u)
-Class QFlags<QPaintEngine::DirtyFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::DirtyFlag> (0x38e44c0) 0
Class QPaintEngineState
size=4 align=4
base size=4 base align=4
QPaintEngineState (0x38e4400) 0
-Class QFlags<QTextItem::RenderFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextItem::RenderFlag> (0x38e4540) 0
Class QPainterPath::Element
size=20 align=4
@@ -8582,25 +7886,13 @@ Class QPainterPath
base size=4 base align=4
QPainterPath (0x38e4580) 0
-Class QVector<QPainterPath::Element>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element>::<anonymous union> (0x38e4ac0) 0
-Class QVector<QPainterPath::Element>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element> (0x38e49c0) 0
Class QPainterPathPrivate
size=8 align=4
base size=8 base align=4
QPainterPathPrivate (0x38e47c0) 0
-Class QTypeInfo<QPainterPath::Element>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPainterPath::Element> (0x38e4b80) 0 empty
Class QPainterPathStroker
size=4 align=4
@@ -8698,10 +7990,6 @@ QCommonStyle (0x39bc2c0) 0
QObject (0x39bc340) 0
primary-for QStyle (0x39bc300)
-Class QPointer<QFocusFrame>
- size=4 align=4
- base size=4 base align=4
-QPointer<QFocusFrame> (0x39bc640) 0
Vtable for QMotifStyle
QMotifStyle::_ZTV11QMotifStyle: 35u entries
@@ -9023,25 +8311,13 @@ Class QTextLength
base size=12 base align=4
QTextLength (0x3a2c340) 0
-Class QSharedDataPointer<QTextFormatPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextFormatPrivate> (0x3a2c6c0) 0
Class QTextFormat
size=8 align=4
base size=8 base align=4
QTextFormat (0x3a2c580) 0
-Class QVector<QTextLength>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength>::<anonymous union> (0x3a2ca80) 0
-Class QVector<QTextLength>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength> (0x3a2c980) 0
Class QTextCharFormat
size=8 align=4
@@ -9096,15 +8372,7 @@ Class QTextLayout
base size=4 base align=4
QTextLayout (0x3a2c000) 0
-Class QVector<QTextLayout::FormatRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange>::<anonymous union> (0x3b1d100) 0
-Class QVector<QTextLayout::FormatRange>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange> (0x3b1d000) 0
Class QTextLine
size=8 align=4
@@ -9154,15 +8422,7 @@ QTextDocument (0x3b1d400) 0
QObject (0x3b1d440) 0
primary-for QTextDocument (0x3b1d400)
-Class QFlags<QTextDocument::FindFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextDocument::FindFlag> (0x3b1d680) 0
-Class QSharedDataPointer<QTextCursorPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextCursorPrivate> (0x3b1d7c0) 0
Class QTextCursor
size=4 align=4
@@ -9174,15 +8434,7 @@ Class QAbstractTextDocumentLayout::Selection
base size=12 base align=4
QAbstractTextDocumentLayout::Selection (0x3b1d900) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union> (0x3b1db40) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection> (0x3b1da40) 0
Class QAbstractTextDocumentLayout::PaintContext
size=48 align=4
@@ -9344,10 +8596,6 @@ QTextFrame (0x3bd1300) 0
QObject (0x3bd1380) 0
primary-for QTextObject (0x3bd1340)
-Class QTypeInfo<QTextFrame::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFrame::iterator> (0x3bd18c0) 0 empty
Vtable for QTextBlockUserData
QTextBlockUserData::_ZTV18QTextBlockUserData: 4u entries
@@ -9372,25 +8620,13 @@ Class QTextBlock
base size=8 base align=4
QTextBlock (0x3bd1b00) 0
-Class QTypeInfo<QTextBlock>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock> (0x3bd1f00) 0 empty
-Class QTypeInfo<QTextBlock::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock::iterator> (0x3bd1fc0) 0 empty
Class QTextFragment
size=12 align=4
base size=12 base align=4
QTextFragment (0x3c2b000) 0
-Class QTypeInfo<QTextFragment>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFragment> (0x3c2b200) 0 empty
Vtable for QSyntaxHighlighter
QSyntaxHighlighter::_ZTV18QSyntaxHighlighter: 15u entries
@@ -10023,10 +9259,6 @@ QDateEdit (0x3caed00) 0
QPaintDevice (0x3caee00) 8
vptr=((& QDateEdit::_ZTV9QDateEdit) + 260u)
-Class QFlags<QDateTimeEdit::Section>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDateTimeEdit::Section> (0x3cae040) 0
Vtable for QDial
QDial::_ZTV5QDial: 64u entries
@@ -10187,10 +9419,6 @@ QDockWidget (0x3d5c140) 0
QPaintDevice (0x3d5c1c0) 8
vptr=((& QDockWidget::_ZTV11QDockWidget) + 232u)
-Class QFlags<QDockWidget::DockWidgetFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDockWidget::DockWidgetFeature> (0x3d5c480) 0
Vtable for QFocusFrame
QFocusFrame::_ZTV11QFocusFrame: 63u entries
@@ -12342,10 +11570,6 @@ Class QGLColormap
base size=4 base align=4
QGLColormap (0x4066300) 0
-Class QFlags<QGL::FormatOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGL::FormatOption> (0x40664c0) 0
Class QGLFormat
size=4 align=4
@@ -12477,158 +11701,34 @@ QGLPixelBuffer (0x4066a40) 0
QPaintDevice (0x4066a80) 0
primary-for QGLPixelBuffer (0x4066a40)
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0x41e1e40) 0
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0x4203cc0) 0
-Class QTypeInfo<QDebug::Stream*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDebug::Stream*> (0x4258d40) 0 empty
-Class QList<QTreeWidgetItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::Node (0x435a000) 0
-Class QVectorTypedData<QVector<QWidgetItemData> >
- size=20 align=4
- base size=20 base align=4
-QVectorTypedData<QVector<QWidgetItemData> > (0x435a240) 0
-Class QVectorTypedData<QPoint>
- size=24 align=4
- base size=24 base align=4
-QVectorTypedData<QPoint> (0x435a500) 0
-Class QVectorTypedData<QPointF>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QPointF> (0x435ac00) 0
-Class QVectorTypedData<QLineF>
- size=48 align=4
- base size=48 base align=4
-QVectorTypedData<QLineF> (0x438bf40) 0
-Class QVectorTypedData<QLine>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QLine> (0x43b0100) 0
-Class QVectorTypedData<QRectF>
- size=48 align=4
- base size=48 base align=4
-QVectorTypedData<QRectF> (0x43b02c0) 0
-Class QVectorTypedData<QRect>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QRect> (0x43b0480) 0
-Class QVectorTypedData<QPainterPath::Element>
- size=36 align=4
- base size=36 base align=4
-QVectorTypedData<QPainterPath::Element> (0x43cb440) 0
-Class QVectorTypedData<QTextLength>
- size=28 align=4
- base size=28 base align=4
-QVectorTypedData<QTextLength> (0x43cb700) 0
-Class QVectorTypedData<QTextLayout::FormatRange>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QTextLayout::FormatRange> (0x43cba00) 0
-Class QVectorTypedData<QAbstractTextDocumentLayout::Selection>
- size=28 align=4
- base size=28 base align=4
-QVectorTypedData<QAbstractTextDocumentLayout::Selection> (0x43ee080) 0
-Class QList<QAction*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QAction*>::Node (0x43eecc0) 0
-Class QHashNode<QVariant::Type, QItemEditorCreatorBase*>
- size=16 align=4
- base size=16 base align=4
-QHashNode<QVariant::Type, QItemEditorCreatorBase*> (0x44823c0) 0
-Class QTypeInfo<QTreeWidgetItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTreeWidgetItem*> (0x4482680) 0 empty
-Class QTypeInfo<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLength> (0x44a7540) 0 empty
-Class QTypeInfo<QTextLayout::FormatRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLayout::FormatRange> (0x44a78c0) 0 empty
-Class QTypeInfo<QAbstractTextDocumentLayout::Selection>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAbstractTextDocumentLayout::Selection> (0x44a7d40) 0 empty
-Class QTypeInfo<QAction*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAction*> (0x44c6240) 0 empty
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0x44c6680) 0
-Class QList<QVariant>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::Node (0x44c68c0) 0
-Class QTypeInfo<QStyleOptionQ3ListViewItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QStyleOptionQ3ListViewItem> (0x44c6c40) 0 empty
-Class QList<QStyleOptionQ3ListViewItem>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::Node (0x44c6d00) 0
-Class QList<QItemSelectionRange>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::Node (0x44e80c0) 0
-Class QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union> (0x44e8540) 0
-Class QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union> (0x44e8c40) 0
-Class QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union> (0x452c240) 0
-Class QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union> (0x452cc80) 0
diff --git a/tests/auto/bic/data/QtOpenGL.4.1.0.macx-gcc-ppc32.txt b/tests/auto/bic/data/QtOpenGL.4.1.0.macx-gcc-ppc32.txt
index b75730c..405f769 100644
--- a/tests/auto/bic/data/QtOpenGL.4.1.0.macx-gcc-ppc32.txt
+++ b/tests/auto/bic/data/QtOpenGL.4.1.0.macx-gcc-ppc32.txt
@@ -18,75 +18,19 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0x16f8b40) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0x16f8d80) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0x16f8e40) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0x16f8f00) 0 empty
-Class QTypeInfo<uchar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uchar> (0x16f8fc0) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0x1727080) 0 empty
-Class QTypeInfo<ushort>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ushort> (0x1727140) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0x1727200) 0 empty
-Class QTypeInfo<uint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uint> (0x17272c0) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0x1727380) 0 empty
-Class QTypeInfo<ulong>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ulong> (0x1727440) 0 empty
-Class QTypeInfo<qint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<qint64> (0x1727500) 0 empty
-Class QTypeInfo<quint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<quint64> (0x17275c0) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0x1727680) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0x1727740) 0 empty
Class QFlag
size=4 align=4
@@ -103,10 +47,6 @@ Class QChar
base size=2 base align=2
QChar (0x1727a40) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0x1727b40) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -119,10 +59,6 @@ Class QAtomic
QAtomic (0x1727f40) 0
QBasicAtomic (0x1727f80) 0
-Class <anonymous union>
- size=128 align=8
- base size=128 base align=8
-<anonymous union> (0x17d3200) 0
Class __darwin_pthread_handler_rec
size=12 align=4
@@ -204,70 +140,18 @@ Class QByteRef
base size=8 base align=4
QByteRef (0x17d3ec0) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0x1879280) 0 empty
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0x1879740) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0x18797c0) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0x1879840) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0x18798c0) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0x1879940) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0x18799c0) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0x1879a40) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0x1879ac0) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0x1879b40) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0x1879bc0) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0x1879c40) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0x1879cc0) 0
Class QInternal
size=1 align=1
@@ -294,10 +178,6 @@ Class QLatin1String
base size=4 base align=4
QLatin1String (0x1a75400) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0x1a75840) 0
Class QCharRef
size=8 align=4
@@ -310,10 +190,6 @@ Class QConstString
QConstString (0x1bb5440) 0
QString (0x1bb5480) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0x1bb5580) 0 empty
Vtable for std::exception
std::exception::_ZTVSt9exception: 5u entries
@@ -376,10 +252,6 @@ Class QListData
base size=4 base align=4
QListData (0x1bb5e40) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0x1c81380) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -404,15 +276,7 @@ Class QTextCodec
QTextCodec (0x1c81200) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0x1c816c0) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0x1c81600) 0
Class QTextEncoder
size=32 align=4
@@ -435,25 +299,13 @@ Class QGenericReturnArgument
QGenericReturnArgument (0x1c81900) 0
QGenericArgument (0x1c81940) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0x1c81c00) 0
Class QMetaObject
size=16 align=4
base size=16 base align=4
QMetaObject (0x1c81b80) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0x1c81e80) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0x1c81dc0) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -545,10 +397,6 @@ QIODevice (0x1d8e3c0) 0
QObject (0x1d8e400) 0
primary-for QIODevice (0x1d8e3c0)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0x1d8e640) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -568,25 +416,13 @@ Class QRegExp
base size=4 base align=4
QRegExp (0x1d8ed00) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0x1d8ef00) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0x1d8ef80) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0x1e660c0) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0x1e66000) 0
Class QStringList
size=4 align=4
@@ -594,15 +430,7 @@ Class QStringList
QStringList (0x1e66180) 0
QList<QString> (0x1e661c0) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0x1e66680) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0x1e66700) 0
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -736,50 +564,22 @@ QFile (0x1eea900) 0
QObject (0x1eea980) 0
primary-for QIODevice (0x1eea940)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0x1eeab40) 0
Class QFileInfo
size=4 align=4
base size=4 base align=4
QFileInfo (0x1eeab80) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0x1eeac40) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0x1eeacc0) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0x1eeae80) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0x1eeadc0) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0x1eeaf40) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0x1fd8000) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0x1fd8080) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -836,10 +636,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0x1fd80c0) 0
vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0x1fd8380) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -913,10 +709,6 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0x1fd8880) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0x1fd8900) 0 empty
Class QMapData::Node
size=8 align=4
@@ -941,10 +733,6 @@ Class QTextStream
QTextStream (0x20f3840) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0x20f3b00) 0
Class QTextStreamManipulator
size=24 align=4
@@ -1051,35 +839,15 @@ Class rlimit
base size=16 base align=8
rlimit (0x2249800) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0x22498c0) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0x2249940) 0
Class wait
size=4 align=4
base size=4 base align=4
wait (0x2249840) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x22499c0) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x2249a40) 0
-Class <anonymous struct>
- size=16 align=8
- base size=16 base align=8
-<anonymous struct> (0x2249ac0) 0
Class QVectorData
size=16 align=4
@@ -1192,95 +960,23 @@ Class QMetaType
base size=0 base align=1
QMetaType (0x232b540) 0 empty
-Class QMetaTypeId<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QString> (0x232b680) 0 empty
-Class QMetaTypeId<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<int> (0x232b740) 0 empty
-Class QMetaTypeId<uint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<uint> (0x232b800) 0 empty
-Class QMetaTypeId<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<bool> (0x232b8c0) 0 empty
-Class QMetaTypeId<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<double> (0x232b980) 0 empty
-Class QMetaTypeId<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QByteArray> (0x232ba40) 0 empty
-Class QMetaTypeId<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QChar> (0x232bb00) 0 empty
-Class QMetaTypeId<void>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<void> (0x232bbc0) 0 empty
-Class QMetaTypeId<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<long int> (0x232bc80) 0 empty
-Class QMetaTypeId<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<short int> (0x232bd40) 0 empty
-Class QMetaTypeId<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<char> (0x232be00) 0 empty
-Class QMetaTypeId<ulong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<ulong> (0x232bec0) 0 empty
-Class QMetaTypeId<ushort>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<ushort> (0x232bf80) 0 empty
-Class QMetaTypeId<uchar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<uchar> (0x232b2c0) 0 empty
-Class QMetaTypeId<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<float> (0x23b9040) 0 empty
-Class QMetaTypeId<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QObject*> (0x23b9100) 0 empty
-Class QMetaTypeId<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QWidget*> (0x23b91c0) 0 empty
-Class QMetaTypeId<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<void*> (0x23b9280) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -1307,50 +1003,18 @@ Class QVariant
base size=16 base align=4
QVariant (0x23b9300) 0
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0x23b9980) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0x23b98c0) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0x23b9b80) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0x23b9ac0) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0x23b9e00) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0x23b9f40) 0 empty
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0x23b94c0) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x23b95c0) 0
-Class <anonymous struct>
- size=3156 align=4
- base size=3156 base align=4
-<anonymous struct> (0x23b9bc0) 0
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1428,15 +1092,7 @@ Class QUrl
base size=4 base align=4
QUrl (0x24917c0) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0x2491980) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0x2491a00) 0 empty
Vtable for QEventLoop
QEventLoop::_ZTV10QEventLoop: 14u entries
@@ -1463,10 +1119,6 @@ QEventLoop (0x2491a80) 0
QObject (0x2491ac0) 0
primary-for QEventLoop (0x2491a80)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0x2491cc0) 0
Vtable for QAbstractEventDispatcher
QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 27u entries
@@ -1511,20 +1163,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0x2491f00) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0x2491c00) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0x2591000) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0x2591140) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -1694,10 +1338,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0x2591840) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0x2591940) 0 empty
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -1789,20 +1429,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0x2645240) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0x2645300) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0x2645380) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0x2645440) 0 empty
Class QMetaProperty
size=20 align=4
@@ -1814,10 +1446,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0x2645500) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0x26455c0) 0 empty
Vtable for QMimeData
QMimeData::_ZTV9QMimeData: 17u entries
@@ -2105,10 +1733,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0x26def80) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0x278f040) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -2120,70 +1744,42 @@ Class QDate
base size=4 base align=4
QDate (0x278f240) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0x278f440) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0x278f4c0) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0x278f700) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0x278f780) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0x278f900) 0 empty
Class QPoint
size=8 align=4
base size=8 base align=4
QPoint (0x278f980) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0x278fe00) 0 empty
Class QPointF
size=16 align=8
base size=16 base align=4
QPointF (0x278f5c0) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0x278fd40) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0x283b2c0) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0x283b340) 0 empty
Class QLineF
size=32 align=8
base size=32 base align=4
QLineF (0x283b4c0) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0x283b580) 0 empty
Class QLinkedListData
size=20 align=4
@@ -2195,50 +1791,30 @@ Class QLocale
base size=4 base align=4
QLocale (0x283bb40) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0x283bbc0) 0 empty
Class QSize
size=8 align=4
base size=8 base align=4
QSize (0x283bd00) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0x283be40) 0 empty
Class QSizeF
size=16 align=8
base size=16 base align=4
QSizeF (0x299f2c0) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0x299f6c0) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0x299fb40) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0x299fd00) 0 empty
Class QRectF
size=32 align=8
base size=32 base align=4
QRectF (0x299ff80) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0x299f500) 0 empty
Class QSharedData
size=4 align=4
@@ -2260,10 +1836,6 @@ Class QKeySequence
base size=4 base align=4
QKeySequence (0x2aaa840) 0
-Class QTypeInfo<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QKeySequence> (0x2aaa9c0) 0 empty
Vtable for QMimeSource
QMimeSource::_ZTV11QMimeSource: 7u entries
@@ -2582,15 +2154,7 @@ Class QInputMethodEvent::Attribute
base size=28 base align=4
QInputMethodEvent::Attribute (0x2c354c0) 0
-Class QList<QInputMethodEvent::Attribute>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute>::<anonymous union> (0x2c35680) 0
-Class QList<QInputMethodEvent::Attribute>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute> (0x2c355c0) 0
Vtable for QInputMethodEvent
QInputMethodEvent::_ZTV17QInputMethodEvent: 4u entries
@@ -2879,15 +2443,7 @@ Class QAccessible
base size=0 base align=1
QAccessible (0x2c98080) 0 empty
-Class QFlags<QAccessible::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::StateFlag> (0x2c98800) 0
-Class QFlags<QAccessible::RelationFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::RelationFlag> (0x2c98b00) 0
Vtable for QAccessibleInterface
QAccessibleInterface::_ZTV20QAccessibleInterface: 19u entries
@@ -3171,25 +2727,9 @@ Class QPaintDevice
QPaintDevice (0x2d4a180) 0
vptr=((& QPaintDevice::_ZTV12QPaintDevice) + 8u)
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x2d4a4c0) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x2d4a540) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x2d4a5c0) 0
-Class QColor::<anonymous union>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union> (0x2d4a440) 0
Class QColor
size=16 align=4
@@ -3201,45 +2741,17 @@ Class QBrush
base size=4 base align=4
QBrush (0x2d4a880) 0
-Class QTypeInfo<QBrush>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBrush> (0x2d4a940) 0 empty
Class QBrushData
size=24 align=4
base size=24 base align=4
QBrushData (0x2d4a9c0) 0
-Class QVector<QGradientStop>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QGradientStop>::<anonymous union> (0x2d4ac40) 0
-Class QVector<QGradientStop>
- size=4 align=4
- base size=4 base align=4
-QVector<QGradientStop> (0x2d4ab40) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=32 align=8
- base size=32 base align=8
-QGradient::<anonymous union>::<anonymous struct> (0x2d4ad80) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=40 align=8
- base size=40 base align=8
-QGradient::<anonymous union>::<anonymous struct> (0x2d4ae00) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=24 align=8
- base size=24 base align=8
-QGradient::<anonymous union>::<anonymous struct> (0x2d4ae80) 0
-Class QGradient::<anonymous union>
- size=40 align=8
- base size=40 base align=8
-QGradient::<anonymous union> (0x2d4ad00) 0
Class QGradient
size=56 align=4
@@ -3635,10 +3147,6 @@ QAbstractPrintDialog (0x2f4a900) 0
QPaintDevice (0x2f4a9c0) 8
vptr=((& QAbstractPrintDialog::_ZTV20QAbstractPrintDialog) + 248u)
-Class QFlags<QAbstractPrintDialog::PrintDialogOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractPrintDialog::PrintDialogOption> (0x2f4ac40) 0
Vtable for QColorDialog
QColorDialog::_ZTV12QColorDialog: 66u entries
@@ -3889,10 +3397,6 @@ QFileDialog (0x303d040) 0
QPaintDevice (0x303d100) 8
vptr=((& QFileDialog::_ZTV11QFileDialog) + 244u)
-Class QFlags<QFileDialog::Option>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileDialog::Option> (0x303d3c0) 0
Vtable for QFontDialog
QFontDialog::_ZTV11QFontDialog: 66u entries
@@ -4587,10 +4091,6 @@ QImage (0x313b9c0) 0
QPaintDevice (0x313ba00) 0
primary-for QImage (0x313b9c0)
-Class QTypeInfo<QImage>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QImage> (0x313bd00) 0 empty
Vtable for QPixmap
QPixmap::_ZTV7QPixmap: 7u entries
@@ -4635,10 +4135,6 @@ Class QIcon
base size=4 base align=4
QIcon (0x32173c0) 0
-Class QTypeInfo<QIcon>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QIcon> (0x3217480) 0 empty
Vtable for QIconEngine
QIconEngine::_ZTV11QIconEngine: 9u entries
@@ -4794,10 +4290,6 @@ QImageIOPlugin (0x326f200) 0
QFactoryInterface (0x3217ec0) 8 nearly-empty
primary-for QImageIOHandlerFactoryInterface (0x3217e80)
-Class QFlags<QImageIOPlugin::Capability>
- size=4 align=4
- base size=4 base align=4
-QFlags<QImageIOPlugin::Capability> (0x3217bc0) 0
Class QImageReader
size=4 align=4
@@ -4973,15 +4465,7 @@ QActionGroup (0x32a3b80) 0
QObject (0x32a3bc0) 0
primary-for QActionGroup (0x32a3b80)
-Class QList<QAction*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QAction*>::<anonymous union> (0x32a3e40) 0
-Class QList<QAction*>
- size=4 align=4
- base size=4 base align=4
-QList<QAction*> (0x32a3d80) 0
Vtable for QInputContext
QInputContext::_ZTV13QInputContext: 25u entries
@@ -5286,10 +4770,6 @@ QAbstractSpinBox (0x3369940) 0
QPaintDevice (0x33699c0) 8
vptr=((& QAbstractSpinBox::_ZTV16QAbstractSpinBox) + 252u)
-Class QFlags<QAbstractSpinBox::StepEnabledFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractSpinBox::StepEnabledFlag> (0x3369c40) 0
Vtable for QAbstractSlider
QAbstractSlider::_ZTV15QAbstractSlider: 64u entries
@@ -5497,15 +4977,7 @@ QStyle (0x33698c0) 0
QObject (0x3369b00) 0
primary-for QStyle (0x33698c0)
-Class QFlags<QStyle::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::StateFlag> (0x34331c0) 0
-Class QFlags<QStyle::SubControl>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::SubControl> (0x3433240) 0
Vtable for QTabBar
QTabBar::_ZTV7QTabBar: 67u entries
@@ -5764,10 +5236,6 @@ Class QStyleOptionFrame
QStyleOptionFrame (0x3433c40) 0
QStyleOption (0x3433c80) 0
-Class QFlags<QStyleOptionFrameV2::FrameFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionFrameV2::FrameFeature> (0x3433100) 0
Class QStyleOptionFrameV2
size=56 align=4
@@ -5794,10 +5262,6 @@ Class QStyleOptionHeader
QStyleOptionHeader (0x35414c0) 0
QStyleOption (0x3541500) 0
-Class QFlags<QStyleOptionButton::ButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionButton::ButtonFeature> (0x35418c0) 0
Class QStyleOptionButton
size=64 align=4
@@ -5805,10 +5269,6 @@ Class QStyleOptionButton
QStyleOptionButton (0x3541700) 0
QStyleOption (0x3541740) 0
-Class QFlags<QStyleOptionTab::CornerWidget>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionTab::CornerWidget> (0x3541c00) 0
Class QStyleOptionTab
size=72 align=4
@@ -5823,10 +5283,6 @@ QStyleOptionTabV2 (0x3541d40) 0
QStyleOptionTab (0x3541d80) 0
QStyleOption (0x3541dc0) 0
-Class QFlags<QStyleOptionToolBar::ToolBarFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionToolBar::ToolBarFeature> (0x35bb000) 0
Class QStyleOptionToolBar
size=68 align=4
@@ -5853,10 +5309,6 @@ Class QStyleOptionMenuItem
QStyleOptionMenuItem (0x35bb4c0) 0
QStyleOption (0x35bb500) 0
-Class QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature> (0x35bb880) 0
Class QStyleOptionQ3ListViewItem
size=64 align=4
@@ -5914,15 +5366,7 @@ QStyleOptionSpinBox (0x363b6c0) 0
QStyleOptionComplex (0x363b700) 0
QStyleOption (0x363b740) 0
-Class QList<QStyleOptionQ3ListViewItem>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::<anonymous union> (0x363bbc0) 0
-Class QList<QStyleOptionQ3ListViewItem>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem> (0x363bb00) 0
Class QStyleOptionQ3ListView
size=84 align=4
@@ -5931,10 +5375,6 @@ QStyleOptionQ3ListView (0x363b900) 0
QStyleOptionComplex (0x363b940) 0
QStyleOption (0x363b980) 0
-Class QFlags<QStyleOptionToolButton::ToolButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionToolButton::ToolButtonFeature> (0x363bfc0) 0
Class QStyleOptionToolButton
size=96 align=4
@@ -6094,10 +5534,6 @@ Class QItemSelectionRange
base size=8 base align=4
QItemSelectionRange (0x36acbc0) 0
-Class QTypeInfo<QItemSelectionRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QItemSelectionRange> (0x36acec0) 0 empty
Vtable for QItemSelectionModel
QItemSelectionModel::_ZTV19QItemSelectionModel: 18u entries
@@ -6128,20 +5564,8 @@ QItemSelectionModel (0x36acf80) 0
QObject (0x36acfc0) 0
primary-for QItemSelectionModel (0x36acf80)
-Class QFlags<QItemSelectionModel::SelectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QItemSelectionModel::SelectionFlag> (0x374a000) 0
-Class QList<QItemSelectionRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::<anonymous union> (0x374a180) 0
-Class QList<QItemSelectionRange>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange> (0x374a0c0) 0
Class QItemSelection
size=4 align=4
@@ -6271,10 +5695,6 @@ QAbstractItemView (0x374a340) 0
QPaintDevice (0x374a440) 8
vptr=((& QAbstractItemView::_ZTV17QAbstractItemView) + 392u)
-Class QFlags<QAbstractItemView::EditTrigger>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractItemView::EditTrigger> (0x374a6c0) 0
Vtable for QAbstractProxyModel
QAbstractProxyModel::_ZTV19QAbstractProxyModel: 47u entries
@@ -6586,15 +6006,7 @@ Class QItemEditorCreatorBase
QItemEditorCreatorBase (0x374ae40) 0 nearly-empty
vptr=((& QItemEditorCreatorBase::_ZTV22QItemEditorCreatorBase) + 8u)
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union> (0x3845480) 0
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*> (0x3845340) 0
Vtable for QItemEditorFactory
QItemEditorFactory::_ZTV18QItemEditorFactory: 6u entries
@@ -6735,15 +6147,7 @@ QListView (0x3845700) 0
QPaintDevice (0x3845840) 8
vptr=((& QListView::_ZTV9QListView) + 392u)
-Class QVector<QWidgetItemData>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData>::<anonymous union> (0x3845c80) 0
-Class QVector<QWidgetItemData>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData> (0x3845b80) 0
Vtable for QListWidgetItem
QListWidgetItem::_ZTV15QListWidgetItem: 11u entries
@@ -7532,35 +6936,15 @@ QTreeView (0x39ed140) 0
QPaintDevice (0x39ed280) 8
vptr=((& QTreeView::_ZTV9QTreeView) + 400u)
-Class QFlags<QTreeWidgetItemIterator::IteratorFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTreeWidgetItemIterator::IteratorFlag> (0x39ed540) 0
Class QTreeWidgetItemIterator
size=12 align=4
base size=12 base align=4
QTreeWidgetItemIterator (0x39ed440) 0
-Class QVector<QVector<QWidgetItemData> >::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> >::<anonymous union> (0x39eda00) 0
-Class QVector<QVector<QWidgetItemData> >
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> > (0x39ed900) 0
-Class QList<QTreeWidgetItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::<anonymous union> (0x39edbc0) 0
-Class QList<QTreeWidgetItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*> (0x39edb00) 0
Vtable for QTreeWidgetItem
QTreeWidgetItem::_ZTV15QTreeWidgetItem: 10u entries
@@ -8407,15 +7791,7 @@ Class QColormap
base size=4 base align=4
QColormap (0x3c38680) 0
-Class QVector<QPoint>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint>::<anonymous union> (0x3c38880) 0
-Class QVector<QPoint>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint> (0x3c38780) 0
Class QPolygon
size=4 align=4
@@ -8423,15 +7799,7 @@ Class QPolygon
QPolygon (0x3c38900) 0
QVector<QPoint> (0x3c38940) 0
-Class QVector<QPointF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF>::<anonymous union> (0x3c38d80) 0
-Class QVector<QPointF>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF> (0x3c38c80) 0
Class QPolygonF
size=4 align=4
@@ -8444,95 +7812,39 @@ Class QMatrix
base size=48 base align=4
QMatrix (0x3cd9080) 0
-Class QTypeInfo<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMatrix> (0x3cd9100) 0 empty
Class QTextOption
size=24 align=4
base size=24 base align=4
QTextOption (0x3cd91c0) 0
-Class QFlags<QTextOption::Flag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextOption::Flag> (0x3cd92c0) 0
Class QPen
size=4 align=4
base size=4 base align=4
QPen (0x3cd9340) 0
-Class QTypeInfo<QPen>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPen> (0x3cd9500) 0 empty
Class QPainter
size=4 align=4
base size=4 base align=4
QPainter (0x3cd9580) 0
-Class QFlags<QPainter::RenderHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPainter::RenderHint> (0x3cd9b00) 0
-Class QVector<QLineF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF>::<anonymous union> (0x3cd9cc0) 0
-Class QVector<QLineF>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF> (0x3cd9bc0) 0
-Class QVector<QLine>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine>::<anonymous union> (0x3cd9ec0) 0
-Class QVector<QLine>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine> (0x3cd9dc0) 0
-Class QVector<QRectF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF>::<anonymous union> (0x3e03000) 0
-Class QVector<QRectF>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF> (0x3cd9fc0) 0
-Class QVector<QRect>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect>::<anonymous union> (0x3e03200) 0
-Class QVector<QRect>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect> (0x3e03100) 0
Class QTextItem
size=1 align=1
base size=0 base align=1
QTextItem (0x3e03280) 0 empty
-Class QTypeInfo<QTextItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextItem> (0x3e03340) 0 empty
-Class QFlags<QPaintEngine::PaintEngineFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::PaintEngineFeature> (0x3e03500) 0
Vtable for QPaintEngine
QPaintEngine::_ZTV12QPaintEngine: 24u entries
@@ -8567,20 +7879,12 @@ Class QPaintEngine
QPaintEngine (0x3e033c0) 0
vptr=((& QPaintEngine::_ZTV12QPaintEngine) + 8u)
-Class QFlags<QPaintEngine::DirtyFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::DirtyFlag> (0x3e037c0) 0
Class QPaintEngineState
size=4 align=4
base size=4 base align=4
QPaintEngineState (0x3e03700) 0
-Class QFlags<QTextItem::RenderFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextItem::RenderFlag> (0x3e03840) 0
Class QPainterPath::Element
size=24 align=8
@@ -8592,25 +7896,13 @@ Class QPainterPath
base size=4 base align=4
QPainterPath (0x3e03880) 0
-Class QVector<QPainterPath::Element>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element>::<anonymous union> (0x3e03dc0) 0
-Class QVector<QPainterPath::Element>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element> (0x3e03cc0) 0
Class QPainterPathPrivate
size=8 align=4
base size=8 base align=4
QPainterPathPrivate (0x3e03ac0) 0
-Class QTypeInfo<QPainterPath::Element>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPainterPath::Element> (0x3e03e80) 0 empty
Class QPainterPathStroker
size=4 align=4
@@ -8708,10 +8000,6 @@ QCommonStyle (0x3f57640) 0
QObject (0x3f576c0) 0
primary-for QStyle (0x3f57680)
-Class QPointer<QFocusFrame>
- size=4 align=4
- base size=4 base align=4
-QPointer<QFocusFrame> (0x3f579c0) 0
Vtable for QMotifStyle
QMotifStyle::_ZTV11QMotifStyle: 35u entries
@@ -9033,25 +8321,13 @@ Class QTextLength
base size=12 base align=4
QTextLength (0x4001680) 0
-Class QSharedDataPointer<QTextFormatPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextFormatPrivate> (0x4001a00) 0
Class QTextFormat
size=8 align=4
base size=8 base align=4
QTextFormat (0x40018c0) 0
-Class QVector<QTextLength>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength>::<anonymous union> (0x4001dc0) 0
-Class QVector<QTextLength>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength> (0x4001cc0) 0
Class QTextCharFormat
size=8 align=4
@@ -9106,15 +8382,7 @@ Class QTextLayout
base size=4 base align=4
QTextLayout (0x40f8140) 0
-Class QVector<QTextLayout::FormatRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange>::<anonymous union> (0x40f8440) 0
-Class QVector<QTextLayout::FormatRange>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange> (0x40f8340) 0
Class QTextLine
size=8 align=4
@@ -9164,15 +8432,7 @@ QTextDocument (0x40f8740) 0
QObject (0x40f8780) 0
primary-for QTextDocument (0x40f8740)
-Class QFlags<QTextDocument::FindFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextDocument::FindFlag> (0x40f89c0) 0
-Class QSharedDataPointer<QTextCursorPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextCursorPrivate> (0x40f8b00) 0
Class QTextCursor
size=4 align=4
@@ -9184,15 +8444,7 @@ Class QAbstractTextDocumentLayout::Selection
base size=12 base align=4
QAbstractTextDocumentLayout::Selection (0x40f8c40) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union> (0x40f8e80) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection> (0x40f8d80) 0
Class QAbstractTextDocumentLayout::PaintContext
size=48 align=4
@@ -9354,10 +8606,6 @@ QTextFrame (0x41d8640) 0
QObject (0x41d86c0) 0
primary-for QTextObject (0x41d8680)
-Class QTypeInfo<QTextFrame::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFrame::iterator> (0x41d8c00) 0 empty
Vtable for QTextBlockUserData
QTextBlockUserData::_ZTV18QTextBlockUserData: 4u entries
@@ -9382,25 +8630,13 @@ Class QTextBlock
base size=8 base align=4
QTextBlock (0x41d8e40) 0
-Class QTypeInfo<QTextBlock>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock> (0x4250180) 0 empty
-Class QTypeInfo<QTextBlock::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock::iterator> (0x4250240) 0 empty
Class QTextFragment
size=12 align=4
base size=12 base align=4
QTextFragment (0x4250300) 0
-Class QTypeInfo<QTextFragment>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFragment> (0x4250500) 0 empty
Vtable for QSyntaxHighlighter
QSyntaxHighlighter::_ZTV18QSyntaxHighlighter: 15u entries
@@ -10033,10 +9269,6 @@ QDateEdit (0x42c7380) 0
QPaintDevice (0x42c7f40) 8
vptr=((& QDateEdit::_ZTV9QDateEdit) + 260u)
-Class QFlags<QDateTimeEdit::Section>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDateTimeEdit::Section> (0x439a1c0) 0
Vtable for QDial
QDial::_ZTV5QDial: 64u entries
@@ -10197,10 +9429,6 @@ QDockWidget (0x439a480) 0
QPaintDevice (0x439a500) 8
vptr=((& QDockWidget::_ZTV11QDockWidget) + 232u)
-Class QFlags<QDockWidget::DockWidgetFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDockWidget::DockWidgetFeature> (0x439a7c0) 0
Vtable for QFocusFrame
QFocusFrame::_ZTV11QFocusFrame: 63u entries
@@ -12352,10 +11580,6 @@ Class QGLColormap
base size=4 base align=4
QGLColormap (0x472b640) 0
-Class QFlags<QGL::FormatOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGL::FormatOption> (0x472b800) 0
Class QGLFormat
size=4 align=4
@@ -12487,158 +11711,34 @@ QGLPixelBuffer (0x472bd80) 0
QPaintDevice (0x472bdc0) 0
primary-for QGLPixelBuffer (0x472bd80)
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0x4945140) 0
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0x4945fc0) 0
-Class QTypeInfo<QDebug::Stream*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDebug::Stream*> (0x49be040) 0 empty
-Class QList<QTreeWidgetItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::Node (0x4aa6300) 0
-Class QVectorTypedData<QVector<QWidgetItemData> >
- size=20 align=4
- base size=20 base align=4
-QVectorTypedData<QVector<QWidgetItemData> > (0x4aa6540) 0
-Class QVectorTypedData<QPoint>
- size=24 align=4
- base size=24 base align=4
-QVectorTypedData<QPoint> (0x4aa6800) 0
-Class QVectorTypedData<QPointF>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QPointF> (0x4aa6f00) 0
-Class QVectorTypedData<QLineF>
- size=48 align=4
- base size=48 base align=4
-QVectorTypedData<QLineF> (0x4afd240) 0
-Class QVectorTypedData<QLine>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QLine> (0x4afd400) 0
-Class QVectorTypedData<QRectF>
- size=48 align=4
- base size=48 base align=4
-QVectorTypedData<QRectF> (0x4afd5c0) 0
-Class QVectorTypedData<QRect>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QRect> (0x4afd780) 0
-Class QVectorTypedData<QPainterPath::Element>
- size=40 align=4
- base size=40 base align=4
-QVectorTypedData<QPainterPath::Element> (0x4b18740) 0
-Class QVectorTypedData<QTextLength>
- size=28 align=4
- base size=28 base align=4
-QVectorTypedData<QTextLength> (0x4b18a00) 0
-Class QVectorTypedData<QTextLayout::FormatRange>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QTextLayout::FormatRange> (0x4b18d00) 0
-Class QVectorTypedData<QAbstractTextDocumentLayout::Selection>
- size=28 align=4
- base size=28 base align=4
-QVectorTypedData<QAbstractTextDocumentLayout::Selection> (0x4b3d380) 0
-Class QList<QAction*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QAction*>::Node (0x4b3dfc0) 0
-Class QHashNode<QVariant::Type, QItemEditorCreatorBase*>
- size=16 align=4
- base size=16 base align=4
-QHashNode<QVariant::Type, QItemEditorCreatorBase*> (0x4bd16c0) 0
-Class QTypeInfo<QTreeWidgetItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTreeWidgetItem*> (0x4bd1980) 0 empty
-Class QTypeInfo<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLength> (0x4bfa5c0) 0 empty
-Class QTypeInfo<QTextLayout::FormatRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLayout::FormatRange> (0x4bfa800) 0 empty
-Class QTypeInfo<QAbstractTextDocumentLayout::Selection>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAbstractTextDocumentLayout::Selection> (0x4bfac80) 0 empty
-Class QTypeInfo<QAction*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAction*> (0x4c16180) 0 empty
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0x4c165c0) 0
-Class QList<QVariant>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::Node (0x4c16800) 0
-Class QTypeInfo<QStyleOptionQ3ListViewItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QStyleOptionQ3ListViewItem> (0x4c16b80) 0 empty
-Class QList<QStyleOptionQ3ListViewItem>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::Node (0x4c16c40) 0
-Class QList<QItemSelectionRange>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::Node (0x4c3c000) 0
-Class QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union> (0x4c3c340) 0
-Class QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union> (0x4c3ca40) 0
-Class QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union> (0x4c84000) 0
-Class QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union> (0x4c84a40) 0
diff --git a/tests/auto/bic/data/QtOpenGL.4.1.0.win32-gcc-ia32.txt b/tests/auto/bic/data/QtOpenGL.4.1.0.win32-gcc-ia32.txt
index 01a355e..54d9e39 100644
--- a/tests/auto/bic/data/QtOpenGL.4.1.0.win32-gcc-ia32.txt
+++ b/tests/auto/bic/data/QtOpenGL.4.1.0.win32-gcc-ia32.txt
@@ -18,80 +18,20 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0xad5e40) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0xaeb680) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0xaeb800) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0xaeb980) 0 empty
-Class QTypeInfo<uchar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uchar> (0xaebb00) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0xaebc80) 0 empty
-Class QTypeInfo<ushort>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ushort> (0xaebe00) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0xaebf80) 0 empty
-Class QTypeInfo<uint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uint> (0xb07100) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0xb07280) 0 empty
-Class QTypeInfo<ulong>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ulong> (0xb07400) 0 empty
-Class QTypeInfo<qint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<qint64> (0xb07580) 0 empty
-Class QTypeInfo<quint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<quint64> (0xb07700) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0xb07880) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0xb07a00) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0xb07b80) 0 empty
Class QFlag
size=4 align=4
@@ -108,10 +48,6 @@ Class QChar
base size=2 base align=2
QChar (0xb4d840) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0xb70cc0) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -139,70 +75,18 @@ Class QByteRef
base size=8 base align=4
QByteRef (0xc34f80) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0xd4bc40) 0 empty
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0xd78100) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0xd783c0) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0xd73c80) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0xd8d100) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0xd78a80) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0xd949c0) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0xdc8140) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0xdc8440) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0xd8d340) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0xdd8180) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0xdd8940) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0xdd8c80) 0
Class QInternal
size=1 align=1
@@ -229,10 +113,6 @@ Class QLatin1String
base size=4 base align=4
QLatin1String (0xeac500) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0xeac940) 0
Class QCharRef
size=8 align=4
@@ -245,10 +125,6 @@ Class QConstString
QConstString (0x11e1880) 0
QString (0x11e18c0) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0x11e1c00) 0 empty
Vtable for std::exception
std::exception::_ZTVSt9exception: 5u entries
@@ -311,10 +187,6 @@ Class QListData
base size=4 base align=4
QListData (0x1279f00) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0x137ce40) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -339,15 +211,7 @@ Class QTextCodec
QTextCodec (0xeac480) 0 nearly-empty
vptr=((&QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0x13c0140) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0xc3da40) 0
Class QTextEncoder
size=32 align=4
@@ -370,25 +234,13 @@ Class QGenericReturnArgument
QGenericReturnArgument (0x13fefc0) 0
QGenericArgument (0x1404000) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0x1417700) 0
Class QMetaObject
size=16 align=4
base size=16 base align=4
QMetaObject (0x1404580) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0x1431f80) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0x1431b80) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -480,10 +332,6 @@ QIODevice (0x137c700) 0
QObject (0x14ba540) 0
primary-for QIODevice (0x137c700)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0x14ba840) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -503,25 +351,13 @@ Class QRegExp
base size=4 base align=4
QRegExp (0xeac380) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0x15884c0) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0x1588840) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0x1588d80) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0x1588c40) 0
Class QStringList
size=4 align=4
@@ -529,15 +365,7 @@ Class QStringList
QStringList (0xeac400) 0
QList<QString> (0x15b5000) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0x1588ec0) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0x1588e80) 0
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -666,50 +494,22 @@ QFile (0x169c840) 0
QObject (0x169c8c0) 0
primary-for QIODevice (0x169c880)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0x16ab100) 0
Class QFileInfo
size=4 align=4
base size=4 base align=4
QFileInfo (0x16d25c0) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0x16d2f00) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0x1700e40) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0x172a300) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0x172a200) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0x16d2440) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0x1758040) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0x172ac00) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -766,10 +566,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0x169c740) 0
vptr=((&QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0x17d7340) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -843,10 +639,6 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0x182cc40) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0x182cd40) 0 empty
Class QMapData::Node
size=8 align=4
@@ -871,10 +663,6 @@ Class QTextStream
QTextStream (0x1a69240) 0
vptr=((&QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0x1a69600) 0
Class QTextStreamManipulator
size=24 align=4
@@ -911,20 +699,8 @@ QTextOStream (0x1af7440) 0
QTextStream (0x1af7480) 0
primary-for QTextOStream (0x1af7440)
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x1b24680) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x1b24800) 0
-Class <anonymous struct>
- size=16 align=8
- base size=16 base align=8
-<anonymous struct> (0x1b435c0) 0
Class QVectorData
size=16 align=4
@@ -1037,95 +813,23 @@ Class QMetaType
base size=0 base align=1
QMetaType (0x1cdebc0) 0 empty
-Class QMetaTypeId<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QString> (0x1cf8d40) 0 empty
-Class QMetaTypeId<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<int> (0x1cf8ec0) 0 empty
-Class QMetaTypeId<uint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<uint> (0x1d0a040) 0 empty
-Class QMetaTypeId<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<bool> (0x1d0a1c0) 0 empty
-Class QMetaTypeId<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<double> (0x1d0a340) 0 empty
-Class QMetaTypeId<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QByteArray> (0x1d0a4c0) 0 empty
-Class QMetaTypeId<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QChar> (0x1d0a640) 0 empty
-Class QMetaTypeId<void>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<void> (0x1d0a7c0) 0 empty
-Class QMetaTypeId<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<long int> (0x1d0a940) 0 empty
-Class QMetaTypeId<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<short int> (0x1d0aac0) 0 empty
-Class QMetaTypeId<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<char> (0x1d0ac40) 0 empty
-Class QMetaTypeId<ulong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<ulong> (0x1d0adc0) 0 empty
-Class QMetaTypeId<ushort>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<ushort> (0x1d0af40) 0 empty
-Class QMetaTypeId<uchar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<uchar> (0x1d280c0) 0 empty
-Class QMetaTypeId<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<float> (0x1d28240) 0 empty
-Class QMetaTypeId<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QObject*> (0x1d283c0) 0 empty
-Class QMetaTypeId<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QWidget*> (0x1d28540) 0 empty
-Class QMetaTypeId<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<void*> (0x1d286c0) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -1152,35 +856,15 @@ Class QVariant
base size=16 base align=8
QVariant (0x14318c0) 0
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0x1dc5540) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0x1d3adc0) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0x1dc5840) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0x1d3ae40) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0x1d3a000) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0x1e2c280) 0 empty
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1258,15 +942,7 @@ Class QUrl
base size=4 base align=4
QUrl (0x1d28f80) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0x1ec7440) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0x1ef6f80) 0 empty
Vtable for QEventLoop
QEventLoop::_ZTV10QEventLoop: 14u entries
@@ -1293,10 +969,6 @@ QEventLoop (0x1f23600) 0
QObject (0x1f23640) 0
primary-for QEventLoop (0x1f23600)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0x1f23940) 0
Vtable for QAbstractEventDispatcher
QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 27u entries
@@ -1341,20 +1013,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0x1f5bf40) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0x1f8eb40) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0x1f5bec0) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0x1f8ee80) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -1524,10 +1188,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0x1ffad80) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0x203e3c0) 0 empty
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -1620,20 +1280,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0x13fe8c0) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0x20ad900) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0x13fe940) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0x20adf00) 0 empty
Class QMetaProperty
size=20 align=4
@@ -1645,10 +1297,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0x13fea40) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0x20db640) 0 empty
Vtable for QMimeData
QMimeData::_ZTV9QMimeData: 17u entries
@@ -1941,10 +1589,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0x2223640) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0x2283040) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -1956,70 +1600,42 @@ Class QDate
base size=4 base align=4
QDate (0x1d28900) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0x22c3900) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0x1d28b00) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0x22e6540) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0x16d24c0) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0x230f300) 0 empty
Class QPoint
size=8 align=4
base size=8 base align=4
QPoint (0x1d28b80) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0x230ff40) 0 empty
Class QPointF
size=16 align=8
base size=16 base align=8
QPointF (0x1d28c00) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0x235d180) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0x1d28980) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0x237e600) 0 empty
Class QLineF
size=32 align=8
base size=32 base align=8
QLineF (0x1d28a00) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0x23a9b00) 0 empty
Class QLinkedListData
size=20 align=4
@@ -2031,50 +1647,30 @@ Class QLocale
base size=4 base align=4
QLocale (0x1d28a80) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0x24f7300) 0 empty
Class QSize
size=8 align=4
base size=8 base align=4
QSize (0x1d28c80) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0x2524480) 0 empty
Class QSizeF
size=16 align=8
base size=16 base align=8
QSizeF (0x1d28d00) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0x25499c0) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0x1d28d80) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0x25b8440) 0 empty
Class QRectF
size=32 align=8
base size=32 base align=8
QRectF (0x1d28e00) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0x2637680) 0 empty
Class QSharedData
size=4 align=4
@@ -2096,10 +1692,6 @@ Class QKeySequence
base size=4 base align=4
QKeySequence (0x1db2c00) 0
-Class QTypeInfo<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QKeySequence> (0x275bc00) 0 empty
Vtable for QMimeSource
QMimeSource::_ZTV11QMimeSource: 7u entries
@@ -2416,15 +2008,7 @@ Class QInputMethodEvent::Attribute
base size=32 base align=8
QInputMethodEvent::Attribute (0x28973c0) 0
-Class QList<QInputMethodEvent::Attribute>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute>::<anonymous union> (0x28978c0) 0
-Class QList<QInputMethodEvent::Attribute>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute> (0x28974c0) 0
Vtable for QInputMethodEvent
QInputMethodEvent::_ZTV17QInputMethodEvent: 4u entries
@@ -2713,15 +2297,7 @@ Class QAccessible
base size=0 base align=1
QAccessible (0x293be00) 0 empty
-Class QFlags<QAccessible::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::StateFlag> (0x2959e80) 0
-Class QFlags<QAccessible::RelationFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::RelationFlag> (0x29673c0) 0
Vtable for QAccessibleInterface
QAccessibleInterface::_ZTV20QAccessibleInterface: 19u entries
@@ -3007,25 +2583,9 @@ Class QPaintDevice
QPaintDevice (0x2707dc0) 0
vptr=((&QPaintDevice::_ZTV12QPaintDevice) + 8u)
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x2a77540) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x2a77680) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x2a77780) 0
-Class QColor::<anonymous union>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union> (0x2a774c0) 0
Class QColor
size=16 align=4
@@ -3037,45 +2597,17 @@ Class QBrush
base size=4 base align=4
QBrush (0x1d93d80) 0
-Class QTypeInfo<QBrush>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBrush> (0x2acf300) 0 empty
Class QBrushData
size=24 align=4
base size=24 base align=4
QBrushData (0x2aa2b00) 0
-Class QVector<QGradientStop>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QGradientStop>::<anonymous union> (0x2ae4000) 0
-Class QVector<QGradientStop>
- size=4 align=4
- base size=4 base align=4
-QVector<QGradientStop> (0x2acf8c0) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=32 align=8
- base size=32 base align=8
-QGradient::<anonymous union>::<anonymous struct> (0x2ae4280) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=40 align=8
- base size=40 base align=8
-QGradient::<anonymous union>::<anonymous struct> (0x2ae4380) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=24 align=8
- base size=24 base align=8
-QGradient::<anonymous union>::<anonymous struct> (0x2ae45c0) 0
-Class QGradient::<anonymous union>
- size=40 align=8
- base size=40 base align=8
-QGradient::<anonymous union> (0x2ae4200) 0
Class QGradient
size=64 align=8
@@ -3487,10 +3019,6 @@ QAbstractPrintDialog (0x2e10680) 0
QPaintDevice (0x2e10780) 8
vptr=((&QAbstractPrintDialog::_ZTV20QAbstractPrintDialog) + 256u)
-Class QFlags<QAbstractPrintDialog::PrintDialogOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractPrintDialog::PrintDialogOption> (0x2e10a40) 0
Vtable for QColorDialog
QColorDialog::_ZTV12QColorDialog: 70u entries
@@ -3753,10 +3281,6 @@ QFileDialog (0x2e80b40) 0
QPaintDevice (0x2e80c40) 8
vptr=((&QFileDialog::_ZTV11QFileDialog) + 252u)
-Class QFlags<QFileDialog::Option>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileDialog::Option> (0x2ea5600) 0
Vtable for QFontDialog
QFontDialog::_ZTV11QFontDialog: 70u entries
@@ -4485,10 +4009,6 @@ QImage (0x1db2400) 0
QPaintDevice (0x308b900) 0
primary-for QImage (0x1db2400)
-Class QTypeInfo<QImage>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QImage> (0x3122b00) 0 empty
Vtable for QPixmap
QPixmap::_ZTV7QPixmap: 9u entries
@@ -4537,10 +4057,6 @@ Class QIcon
base size=4 base align=4
QIcon (0x1db2200) 0
-Class QTypeInfo<QIcon>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QIcon> (0x31cebc0) 0 empty
Vtable for QIconEngine
QIconEngine::_ZTV11QIconEngine: 9u entries
@@ -4696,10 +4212,6 @@ QImageIOPlugin (0x3209600) 0
QFactoryInterface (0x32096c0) 8 nearly-empty
primary-for QImageIOHandlerFactoryInterface (0x3209680)
-Class QFlags<QImageIOPlugin::Capability>
- size=4 align=4
- base size=4 base align=4
-QFlags<QImageIOPlugin::Capability> (0x3209880) 0
Class QImageReader
size=4 align=4
@@ -4877,15 +4389,7 @@ QActionGroup (0x32b2780) 0
QObject (0x32f7600) 0
primary-for QActionGroup (0x32b2780)
-Class QList<QAction*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QAction*>::<anonymous union> (0x32f7fc0) 0
-Class QList<QAction*>
- size=4 align=4
- base size=4 base align=4
-QList<QAction*> (0x2c9c940) 0
Vtable for QInputContext
QInputContext::_ZTV13QInputContext: 25u entries
@@ -5194,10 +4698,6 @@ QAbstractSpinBox (0x3384ac0) 0
QPaintDevice (0x3384b80) 8
vptr=((&QAbstractSpinBox::_ZTV16QAbstractSpinBox) + 260u)
-Class QFlags<QAbstractSpinBox::StepEnabledFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractSpinBox::StepEnabledFlag> (0x3384f00) 0
Vtable for QAbstractSlider
QAbstractSlider::_ZTV15QAbstractSlider: 68u entries
@@ -5413,15 +4913,7 @@ QStyle (0x2c68700) 0
QObject (0x3448700) 0
primary-for QStyle (0x2c68700)
-Class QFlags<QStyle::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::StateFlag> (0x3457040) 0
-Class QFlags<QStyle::SubControl>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::SubControl> (0x346d100) 0
Vtable for QTabBar
QTabBar::_ZTV7QTabBar: 71u entries
@@ -5692,10 +5184,6 @@ Class QStyleOptionFrame
QStyleOptionFrame (0x359d500) 0
QStyleOption (0x359d540) 0
-Class QFlags<QStyleOptionFrameV2::FrameFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionFrameV2::FrameFeature> (0x359dac0) 0
Class QStyleOptionFrameV2
size=56 align=4
@@ -5722,10 +5210,6 @@ Class QStyleOptionHeader
QStyleOptionHeader (0x35bfec0) 0
QStyleOption (0x35bff00) 0
-Class QFlags<QStyleOptionButton::ButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionButton::ButtonFeature> (0x3607ac0) 0
Class QStyleOptionButton
size=64 align=4
@@ -5733,10 +5217,6 @@ Class QStyleOptionButton
QStyleOptionButton (0x36078c0) 0
QStyleOption (0x3607900) 0
-Class QFlags<QStyleOptionTab::CornerWidget>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionTab::CornerWidget> (0x3643480) 0
Class QStyleOptionTab
size=72 align=4
@@ -5751,10 +5231,6 @@ QStyleOptionTabV2 (0x3643bc0) 0
QStyleOptionTab (0x3643c00) 0
QStyleOption (0x3643c40) 0
-Class QFlags<QStyleOptionToolBar::ToolBarFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionToolBar::ToolBarFeature> (0x3699440) 0
Class QStyleOptionToolBar
size=68 align=4
@@ -5781,10 +5257,6 @@ Class QStyleOptionMenuItem
QStyleOptionMenuItem (0x36e62c0) 0
QStyleOption (0x36e6300) 0
-Class QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature> (0x36e6e00) 0
Class QStyleOptionQ3ListViewItem
size=64 align=4
@@ -5842,15 +5314,7 @@ QStyleOptionSpinBox (0x377ba00) 0
QStyleOptionComplex (0x377ba40) 0
QStyleOption (0x377ba80) 0
-Class QList<QStyleOptionQ3ListViewItem>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::<anonymous union> (0x379d200) 0
-Class QList<QStyleOptionQ3ListViewItem>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem> (0x379d100) 0
Class QStyleOptionQ3ListView
size=84 align=4
@@ -5859,10 +5323,6 @@ QStyleOptionQ3ListView (0x377bf80) 0
QStyleOptionComplex (0x377bfc0) 0
QStyleOption (0x379d000) 0
-Class QFlags<QStyleOptionToolButton::ToolButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionToolButton::ToolButtonFeature> (0x379dd40) 0
Class QStyleOptionToolButton
size=96 align=4
@@ -6026,10 +5486,6 @@ Class QItemSelectionRange
base size=8 base align=4
QItemSelectionRange (0x3896d80) 0
-Class QTypeInfo<QItemSelectionRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QItemSelectionRange> (0x38fb0c0) 0 empty
Vtable for QItemSelectionModel
QItemSelectionModel::_ZTV19QItemSelectionModel: 18u entries
@@ -6060,20 +5516,8 @@ QItemSelectionModel (0x38fb4c0) 0
QObject (0x38fb500) 0
primary-for QItemSelectionModel (0x38fb4c0)
-Class QFlags<QItemSelectionModel::SelectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QItemSelectionModel::SelectionFlag> (0x38fb840) 0
-Class QList<QItemSelectionRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::<anonymous union> (0x39253c0) 0
-Class QList<QItemSelectionRange>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange> (0x39252c0) 0
Class QItemSelection
size=4 align=4
@@ -6207,10 +5651,6 @@ QAbstractItemView (0x3925a40) 0
QPaintDevice (0x3925b80) 8
vptr=((&QAbstractItemView::_ZTV17QAbstractItemView) + 400u)
-Class QFlags<QAbstractItemView::EditTrigger>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractItemView::EditTrigger> (0x397e5c0) 0
Vtable for QAbstractProxyModel
QAbstractProxyModel::_ZTV19QAbstractProxyModel: 47u entries
@@ -6526,15 +5966,7 @@ Class QItemEditorCreatorBase
QItemEditorCreatorBase (0x3a6ba80) 0 nearly-empty
vptr=((&QItemEditorCreatorBase::_ZTV22QItemEditorCreatorBase) + 8u)
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union> (0x3a8f580) 0
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*> (0x3a8f380) 0
Vtable for QItemEditorFactory
QItemEditorFactory::_ZTV18QItemEditorFactory: 6u entries
@@ -6679,15 +6111,7 @@ QListView (0x3a8fd40) 0
QPaintDevice (0x3a8fec0) 8
vptr=((&QListView::_ZTV9QListView) + 400u)
-Class QVector<QWidgetItemData>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData>::<anonymous union> (0x3ae7300) 0
-Class QVector<QWidgetItemData>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData> (0x3ae7180) 0
Vtable for QListWidgetItem
QListWidgetItem::_ZTV15QListWidgetItem: 11u entries
@@ -7492,35 +6916,15 @@ QTreeView (0x3cb3500) 0
QPaintDevice (0x3cb3680) 8
vptr=((&QTreeView::_ZTV9QTreeView) + 408u)
-Class QFlags<QTreeWidgetItemIterator::IteratorFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTreeWidgetItemIterator::IteratorFlag> (0x3cf0680) 0
Class QTreeWidgetItemIterator
size=12 align=4
base size=12 base align=4
QTreeWidgetItemIterator (0x3cf0240) 0
-Class QVector<QVector<QWidgetItemData> >::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> >::<anonymous union> (0x3d41440) 0
-Class QVector<QVector<QWidgetItemData> >
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> > (0x3d412c0) 0
-Class QList<QTreeWidgetItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::<anonymous union> (0x3d41640) 0
-Class QList<QTreeWidgetItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*> (0x3d41100) 0
Vtable for QTreeWidgetItem
QTreeWidgetItem::_ZTV15QTreeWidgetItem: 10u entries
@@ -8375,15 +7779,7 @@ Class QColormap
base size=4 base align=4
QColormap (0x2a5f3c0) 0
-Class QVector<QPoint>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint>::<anonymous union> (0x3fe5a00) 0
-Class QVector<QPoint>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint> (0x3fe5880) 0
Class QPolygon
size=4 align=4
@@ -8391,15 +7787,7 @@ Class QPolygon
QPolygon (0x1db2500) 0
QVector<QPoint> (0x3fe5b80) 0
-Class QVector<QPointF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF>::<anonymous union> (0x401be00) 0
-Class QVector<QPointF>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF> (0x401bcc0) 0
Class QPolygonF
size=4 align=4
@@ -8412,95 +7800,39 @@ Class QMatrix
base size=48 base align=8
QMatrix (0x235d140) 0
-Class QTypeInfo<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMatrix> (0x4076bc0) 0 empty
Class QTextOption
size=32 align=8
base size=28 base align=8
QTextOption (0x4099a40) 0
-Class QFlags<QTextOption::Flag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextOption::Flag> (0x4099e40) 0
Class QPen
size=4 align=4
base size=4 base align=4
QPen (0x1db2d00) 0
-Class QTypeInfo<QPen>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPen> (0x4101440) 0 empty
Class QPainter
size=4 align=4
base size=4 base align=4
QPainter (0x2707ec0) 0
-Class QFlags<QPainter::RenderHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPainter::RenderHint> (0x4101980) 0
-Class QVector<QLineF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF>::<anonymous union> (0x41ce340) 0
-Class QVector<QLineF>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF> (0x411f580) 0
-Class QVector<QLine>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine>::<anonymous union> (0x41ce6c0) 0
-Class QVector<QLine>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine> (0x411f640) 0
-Class QVector<QRectF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF>::<anonymous union> (0x4211380) 0
-Class QVector<QRectF>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF> (0x411f780) 0
-Class QVector<QRect>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect>::<anonymous union> (0x4211700) 0
-Class QVector<QRect>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect> (0x27323c0) 0
Class QTextItem
size=1 align=1
base size=0 base align=1
QTextItem (0x41017c0) 0 empty
-Class QTypeInfo<QTextItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextItem> (0x42af9c0) 0 empty
-Class QFlags<QPaintEngine::PaintEngineFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::PaintEngineFeature> (0x42aff40) 0
Vtable for QPaintEngine
QPaintEngine::_ZTV12QPaintEngine: 26u entries
@@ -8537,20 +7869,12 @@ Class QPaintEngine
QPaintEngine (0x2a37280) 0
vptr=((&QPaintEngine::_ZTV12QPaintEngine) + 8u)
-Class QFlags<QPaintEngine::DirtyFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::DirtyFlag> (0x42c4380) 0
Class QPaintEngineState
size=4 align=4
base size=4 base align=4
QPaintEngineState (0x42af700) 0
-Class QFlags<QTextItem::RenderFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextItem::RenderFlag> (0x42af8c0) 0
Class QPainterPath::Element
size=24 align=8
@@ -8562,25 +7886,13 @@ Class QPainterPath
base size=4 base align=4
QPainterPath (0x2bac100) 0
-Class QVector<QPainterPath::Element>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element>::<anonymous union> (0x43a09c0) 0
-Class QVector<QPainterPath::Element>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element> (0x43a0840) 0
Class QPainterPathPrivate
size=8 align=4
base size=8 base align=4
QPainterPathPrivate (0x434e340) 0
-Class QTypeInfo<QPainterPath::Element>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPainterPath::Element> (0x43a0b80) 0 empty
Class QPainterPathStroker
size=4 align=4
@@ -8682,10 +7994,6 @@ QCommonStyle (0x4467e40) 0
QObject (0x4467ec0) 0
primary-for QStyle (0x4467e80)
-Class QPointer<QFocusFrame>
- size=4 align=4
- base size=4 base align=4
-QPointer<QFocusFrame> (0x4494600) 0
Vtable for QMotifStyle
QMotifStyle::_ZTV11QMotifStyle: 35u entries
@@ -9007,25 +8315,13 @@ Class QTextLength
base size=16 base align=8
QTextLength (0x1d28f00) 0
-Class QSharedDataPointer<QTextFormatPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextFormatPrivate> (0x4591100) 0
Class QTextFormat
size=8 align=4
base size=8 base align=4
QTextFormat (0x1d28e80) 0
-Class QVector<QTextLength>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength>::<anonymous union> (0x4591a80) 0
-Class QVector<QTextLength>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength> (0x4585bc0) 0
Class QTextCharFormat
size=8 align=4
@@ -9080,15 +8376,7 @@ Class QTextLayout
base size=4 base align=4
QTextLayout (0x2b99e00) 0
-Class QVector<QTextLayout::FormatRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange>::<anonymous union> (0x46e90c0) 0
-Class QVector<QTextLayout::FormatRange>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange> (0x46d0d00) 0
Class QTextLine
size=8 align=4
@@ -9138,15 +8426,7 @@ QTextDocument (0x4532ec0) 0
QObject (0x4714900) 0
primary-for QTextDocument (0x4532ec0)
-Class QFlags<QTextDocument::FindFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextDocument::FindFlag> (0x4714dc0) 0
-Class QSharedDataPointer<QTextCursorPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextCursorPrivate> (0x477edc0) 0
Class QTextCursor
size=4 align=4
@@ -9158,15 +8438,7 @@ Class QAbstractTextDocumentLayout::Selection
base size=12 base align=4
QAbstractTextDocumentLayout::Selection (0x47922c0) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union> (0x4792580) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection> (0x4792400) 0
Class QAbstractTextDocumentLayout::PaintContext
size=56 align=8
@@ -9328,10 +8600,6 @@ QTextFrame (0x4714100) 0
QObject (0x480d340) 0
primary-for QTextObject (0x480d300)
-Class QTypeInfo<QTextFrame::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFrame::iterator> (0x48357c0) 0 empty
Vtable for QTextBlockUserData
QTextBlockUserData::_ZTV18QTextBlockUserData: 4u entries
@@ -9356,25 +8624,13 @@ Class QTextBlock
base size=8 base align=4
QTextBlock (0x46d0540) 0
-Class QTypeInfo<QTextBlock>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock> (0x488e040) 0 empty
-Class QTypeInfo<QTextBlock::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock::iterator> (0x488e1c0) 0 empty
Class QTextFragment
size=12 align=4
base size=12 base align=4
QTextFragment (0x47e2600) 0
-Class QTypeInfo<QTextFragment>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFragment> (0x488ec40) 0 empty
Vtable for QSyntaxHighlighter
QSyntaxHighlighter::_ZTV18QSyntaxHighlighter: 15u entries
@@ -10031,10 +9287,6 @@ QDateEdit (0x4a50080) 0
QPaintDevice (0x4a501c0) 8
vptr=((&QDateEdit::_ZTV9QDateEdit) + 268u)
-Class QFlags<QDateTimeEdit::Section>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDateTimeEdit::Section> (0x4a13580) 0
Vtable for QDial
QDial::_ZTV5QDial: 68u entries
@@ -10203,10 +9455,6 @@ QDockWidget (0x4ac0200) 0
QPaintDevice (0x4ac02c0) 8
vptr=((&QDockWidget::_ZTV11QDockWidget) + 240u)
-Class QFlags<QDockWidget::DockWidgetFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDockWidget::DockWidgetFeature> (0x4ac0780) 0
Vtable for QFocusFrame
QFocusFrame::_ZTV11QFocusFrame: 67u entries
@@ -12547,30 +11795,14 @@ Class _EXCEPTION_POINTERS
base size=8 base align=4
_EXCEPTION_POINTERS (0x50efd40) 0
-Class _LARGE_INTEGER::<anonymous struct>
- size=8 align=4
- base size=8 base align=4
-_LARGE_INTEGER::<anonymous struct> (0x50eff80) 0
-Class _LARGE_INTEGER::<anonymous struct>
- size=8 align=4
- base size=8 base align=4
-_LARGE_INTEGER::<anonymous struct> (0x50f50c0) 0
Class _LARGE_INTEGER
size=8 align=8
base size=8 base align=8
_LARGE_INTEGER (0x50eff00) 0
-Class _ULARGE_INTEGER::<anonymous struct>
- size=8 align=4
- base size=8 base align=4
-_ULARGE_INTEGER::<anonymous struct> (0x50f5300) 0
-Class _ULARGE_INTEGER::<anonymous struct>
- size=8 align=4
- base size=8 base align=4
-_ULARGE_INTEGER::<anonymous struct> (0x50f53c0) 0
Class _ULARGE_INTEGER
size=8 align=8
@@ -12767,10 +11999,6 @@ Class _SINGLE_LIST_ENTRY
base size=4 base align=4
_SINGLE_LIST_ENTRY (0x5172780) 0
-Class _SLIST_HEADER::<anonymous struct>
- size=8 align=4
- base size=8 base align=4
-_SLIST_HEADER::<anonymous struct> (0x5172a80) 0
Class _SLIST_HEADER
size=8 align=8
@@ -12857,70 +12085,26 @@ Class _IMAGE_ROM_HEADERS
base size=76 base align=4
_IMAGE_ROM_HEADERS (0x51a2d00) 0
-Class _IMAGE_SECTION_HEADER::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-_IMAGE_SECTION_HEADER::<anonymous union> (0x51a2ec0) 0
Class _IMAGE_SECTION_HEADER
size=40 align=4
base size=40 base align=4
_IMAGE_SECTION_HEADER (0x51a2e40) 0
-Class _IMAGE_SYMBOL::<anonymous union>::<anonymous struct>
- size=8 align=2
- base size=8 base align=2
-_IMAGE_SYMBOL::<anonymous union>::<anonymous struct> (0x2df13c0) 0
-Class _IMAGE_SYMBOL::<anonymous union>
- size=8 align=2
- base size=8 base align=2
-_IMAGE_SYMBOL::<anonymous union> (0x2df1300) 0
Class _IMAGE_SYMBOL
size=18 align=2
base size=18 base align=2
_IMAGE_SYMBOL (0x2df1280) 0
-Class _IMAGE_AUX_SYMBOL::<anonymous struct>::<anonymous union>::<anonymous struct>
- size=4 align=2
- base size=4 base align=2
-_IMAGE_AUX_SYMBOL::<anonymous struct>::<anonymous union>::<anonymous struct> (0x2df1880) 0
-Class _IMAGE_AUX_SYMBOL::<anonymous struct>::<anonymous union>
- size=4 align=2
- base size=4 base align=2
-_IMAGE_AUX_SYMBOL::<anonymous struct>::<anonymous union> (0x2df1800) 0
-Class _IMAGE_AUX_SYMBOL::<anonymous struct>::<anonymous union>::<anonymous struct>
- size=8 align=2
- base size=8 base align=2
-_IMAGE_AUX_SYMBOL::<anonymous struct>::<anonymous union>::<anonymous struct> (0x2df1ac0) 0
-Class _IMAGE_AUX_SYMBOL::<anonymous struct>::<anonymous union>::<anonymous struct>
- size=8 align=2
- base size=8 base align=2
-_IMAGE_AUX_SYMBOL::<anonymous struct>::<anonymous union>::<anonymous struct> (0x2df1c40) 0
-Class _IMAGE_AUX_SYMBOL::<anonymous struct>::<anonymous union>
- size=8 align=2
- base size=8 base align=2
-_IMAGE_AUX_SYMBOL::<anonymous struct>::<anonymous union> (0x2df1a40) 0
-Class _IMAGE_AUX_SYMBOL::<anonymous struct>
- size=18 align=2
- base size=18 base align=2
-_IMAGE_AUX_SYMBOL::<anonymous struct> (0x2df1740) 0
-Class _IMAGE_AUX_SYMBOL::<anonymous struct>
- size=18 align=1
- base size=18 base align=1
-_IMAGE_AUX_SYMBOL::<anonymous struct> (0x2df1ec0) 0
-Class _IMAGE_AUX_SYMBOL::<anonymous struct>
- size=16 align=2
- base size=16 base align=2
-_IMAGE_AUX_SYMBOL::<anonymous struct> (0x2df1f80) 0
Class _IMAGE_AUX_SYMBOL
size=18 align=2
@@ -12932,10 +12116,6 @@ Class _IMAGE_COFF_SYMBOLS_HEADER
base size=32 base align=2
_IMAGE_COFF_SYMBOLS_HEADER (0x51f1140) 0
-Class _IMAGE_RELOCATION::<anonymous union>
- size=4 align=2
- base size=4 base align=2
-_IMAGE_RELOCATION::<anonymous union> (0x51f14c0) 0
Class _IMAGE_RELOCATION
size=10 align=2
@@ -12947,10 +12127,6 @@ Class _IMAGE_BASE_RELOCATION
base size=8 base align=4
_IMAGE_BASE_RELOCATION (0x51f16c0) 0
-Class _IMAGE_LINENUMBER::<anonymous union>
- size=4 align=2
- base size=4 base align=2
-_IMAGE_LINENUMBER::<anonymous union> (0x51f18c0) 0
Class _IMAGE_LINENUMBER
size=6 align=2
@@ -12972,30 +12148,18 @@ Class _IMAGE_IMPORT_BY_NAME
base size=4 base align=2
_IMAGE_IMPORT_BY_NAME (0x51f1f80) 0
-Class _IMAGE_THUNK_DATA32::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-_IMAGE_THUNK_DATA32::<anonymous union> (0x5205180) 0
Class _IMAGE_THUNK_DATA32
size=4 align=4
base size=4 base align=4
_IMAGE_THUNK_DATA32 (0x5205100) 0
-Class _IMAGE_THUNK_DATA64::<anonymous union>
- size=8 align=4
- base size=8 base align=4
-_IMAGE_THUNK_DATA64::<anonymous union> (0x5205480) 0
Class _IMAGE_THUNK_DATA64
size=8 align=4
base size=8 base align=4
_IMAGE_THUNK_DATA64 (0x5205400) 0
-Class _IMAGE_IMPORT_DESCRIPTOR::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-_IMAGE_IMPORT_DESCRIPTOR::<anonymous union> (0x5205740) 0
Class _IMAGE_IMPORT_DESCRIPTOR
size=20 align=4
@@ -13027,25 +12191,9 @@ Class _IMAGE_RESOURCE_DIRECTORY
base size=16 base align=4
_IMAGE_RESOURCE_DIRECTORY (0x5219140) 0
-Class _IMAGE_RESOURCE_DIRECTORY_ENTRY::<anonymous union>::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-_IMAGE_RESOURCE_DIRECTORY_ENTRY::<anonymous union>::<anonymous struct> (0x5219400) 0
-Class _IMAGE_RESOURCE_DIRECTORY_ENTRY::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-_IMAGE_RESOURCE_DIRECTORY_ENTRY::<anonymous union> (0x5219380) 0
-Class _IMAGE_RESOURCE_DIRECTORY_ENTRY::<anonymous union>::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-_IMAGE_RESOURCE_DIRECTORY_ENTRY::<anonymous union>::<anonymous struct> (0x5219680) 0
-Class _IMAGE_RESOURCE_DIRECTORY_ENTRY::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-_IMAGE_RESOURCE_DIRECTORY_ENTRY::<anonymous union> (0x52195c0) 0
Class _IMAGE_RESOURCE_DIRECTORY_ENTRY
size=8 align=4
@@ -13102,45 +12250,21 @@ Class _IMAGE_SEPARATE_DEBUG_HEADER
base size=48 base align=4
_IMAGE_SEPARATE_DEBUG_HEADER (0x522cc40) 0
-Class _NT_TIB::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-_NT_TIB::<anonymous union> (0x523b580) 0
Class _NT_TIB
size=28 align=4
base size=28 base align=4
_NT_TIB (0x523b380) 0
-Class _REPARSE_DATA_BUFFER::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-_REPARSE_DATA_BUFFER::<anonymous union>::<anonymous struct> (0x523b940) 0
-Class _REPARSE_DATA_BUFFER::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-_REPARSE_DATA_BUFFER::<anonymous union>::<anonymous struct> (0x523bb80) 0
-Class _REPARSE_DATA_BUFFER::<anonymous union>::<anonymous struct>
- size=1 align=1
- base size=1 base align=1
-_REPARSE_DATA_BUFFER::<anonymous union>::<anonymous struct> (0x523bc80) 0
-Class _REPARSE_DATA_BUFFER::<anonymous union>
- size=10 align=2
- base size=10 base align=2
-_REPARSE_DATA_BUFFER::<anonymous union> (0x523b8c0) 0
Class _REPARSE_DATA_BUFFER
size=20 align=4
base size=20 base align=4
_REPARSE_DATA_BUFFER (0x523b7c0) 0
-Class _REPARSE_GUID_DATA_BUFFER::<anonymous struct>
- size=1 align=1
- base size=1 base align=1
-_REPARSE_GUID_DATA_BUFFER::<anonymous struct> (0x523bf40) 0
Class _REPARSE_GUID_DATA_BUFFER
size=28 align=4
@@ -13207,10 +12331,6 @@ Class _JOBOBJECT_JOBSET_INFORMATION
base size=4 base align=4
_JOBOBJECT_JOBSET_INFORMATION (0x5260400) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x5260fc0) 0
Class _POWER_ACTION_POLICY
size=12 align=4
@@ -13412,10 +12532,6 @@ Class tagPOINTS
base size=4 base align=2
tagPOINTS (0x52b0140) 0
-Class _CHAR_INFO::<anonymous union>
- size=2 align=2
- base size=2 base align=2
-_CHAR_INFO::<anonymous union> (0x52b0f80) 0
Class _CHAR_INFO
size=4 align=2
@@ -13447,10 +12563,6 @@ Class _CONSOLE_SCREEN_BUFFER_INFO
base size=22 base align=2
_CONSOLE_SCREEN_BUFFER_INFO (0x52b3800) 0
-Class _KEY_EVENT_RECORD::<anonymous union>
- size=2 align=2
- base size=2 base align=2
-_KEY_EVENT_RECORD::<anonymous union> (0x52b3c00) 0
Class _KEY_EVENT_RECORD
size=16 align=1
@@ -13477,10 +12589,6 @@ Class _FOCUS_EVENT_RECORD
base size=4 base align=4
_FOCUS_EVENT_RECORD (0x52c5200) 0
-Class _INPUT_RECORD::<anonymous union>
- size=16 align=4
- base size=16 base align=4
-_INPUT_RECORD::<anonymous union> (0x52c53c0) 0
Class _INPUT_RECORD
size=20 align=4
@@ -13567,10 +12675,6 @@ Class _RIP_INFO
base size=8 base align=4
_RIP_INFO (0x53316c0) 0
-Class _DEBUG_EVENT::<anonymous union>
- size=84 align=4
- base size=84 base align=4
-_DEBUG_EVENT::<anonymous union> (0x53319c0) 0
Class _DEBUG_EVENT
size=96 align=4
@@ -13642,15 +12746,7 @@ Class tagHW_PROFILE_INFOW
base size=244 base align=4
tagHW_PROFILE_INFOW (0x5352b00) 0
-Class _SYSTEM_INFO::<anonymous union>::<anonymous struct>
- size=4 align=2
- base size=4 base align=2
-_SYSTEM_INFO::<anonymous union>::<anonymous struct> (0x5352e80) 0
-Class _SYSTEM_INFO::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-_SYSTEM_INFO::<anonymous union> (0x5352dc0) 0
Class _SYSTEM_INFO
size=36 align=4
@@ -13672,40 +12768,16 @@ Class _MEMORYSTATUS
base size=32 base align=4
_MEMORYSTATUS (0x5362840) 0
-Class _LDT_ENTRY::<anonymous union>::<anonymous struct>
- size=4 align=1
- base size=4 base align=1
-_LDT_ENTRY::<anonymous union>::<anonymous struct> (0x5362fc0) 0
-Class _LDT_ENTRY::<anonymous union>::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-_LDT_ENTRY::<anonymous union>::<anonymous struct> (0x536c1c0) 0
-Class _LDT_ENTRY::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-_LDT_ENTRY::<anonymous union> (0x5362f40) 0
Class _LDT_ENTRY
size=8 align=4
base size=8 base align=4
_LDT_ENTRY (0x5362e40) 0
-Class _PROCESS_HEAP_ENTRY::<anonymous union>::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-_PROCESS_HEAP_ENTRY::<anonymous union>::<anonymous struct> (0x536c840) 0
-Class _PROCESS_HEAP_ENTRY::<anonymous union>::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-_PROCESS_HEAP_ENTRY::<anonymous union>::<anonymous struct> (0x536c9c0) 0
-Class _PROCESS_HEAP_ENTRY::<anonymous union>
- size=16 align=4
- base size=16 base align=4
-_PROCESS_HEAP_ENTRY::<anonymous union> (0x536c7c0) 0
Class _PROCESS_HEAP_ENTRY
size=28 align=4
@@ -13782,60 +12854,28 @@ Class tagCIEXYZTRIPLE
base size=36 base align=4
tagCIEXYZTRIPLE (0x5481980) 0
-Class <anonymous struct>
- size=108 align=4
- base size=108 base align=4
-<anonymous struct> (0x5481b80) 0
Class tagFONTSIGNATURE
size=24 align=4
base size=24 base align=4
tagFONTSIGNATURE (0x548c200) 0
-Class <anonymous struct>
- size=32 align=4
- base size=32 base align=4
-<anonymous struct> (0x548c3c0) 0
Class tagCOLORADJUSTMENT
size=24 align=2
base size=24 base align=2
tagCOLORADJUSTMENT (0x548c5c0) 0
-Class _devicemodeA::<anonymous union>::<anonymous struct>
- size=16 align=2
- base size=16 base align=2
-_devicemodeA::<anonymous union>::<anonymous struct> (0x548ccc0) 0
-Class _devicemodeA::<anonymous union>
- size=16 align=4
- base size=16 base align=4
-_devicemodeA::<anonymous union> (0x548cc40) 0
-Class _devicemodeA::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-_devicemodeA::<anonymous union> (0x5497380) 0
Class _devicemodeA
size=156 align=4
base size=156 base align=4
_devicemodeA (0x548ca40) 0
-Class _devicemodeW::<anonymous union>::<anonymous struct>
- size=16 align=2
- base size=16 base align=2
-_devicemodeW::<anonymous union>::<anonymous struct> (0x5497900) 0
-Class _devicemodeW::<anonymous union>
- size=16 align=4
- base size=16 base align=4
-_devicemodeW::<anonymous union> (0x5497880) 0
-Class _devicemodeW::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-_devicemodeW::<anonymous union> (0x5497a80) 0
Class _devicemodeW
size=220 align=4
@@ -14537,25 +13577,13 @@ Class tagDELETEITEMSTRUCT
base size=20 base align=4
tagDELETEITEMSTRUCT (0x56a5180) 0
-Class <anonymous struct>
- size=18 align=2
- base size=18 base align=2
-<anonymous struct> (0x56a5340) 0
-Class <anonymous struct>
- size=18 align=2
- base size=18 base align=2
-<anonymous struct> (0x56a54c0) 0
Class tagDRAWITEMSTRUCT
size=48 align=4
base size=48 base align=4
tagDRAWITEMSTRUCT (0x56a5700) 0
-Class <anonymous struct>
- size=20 align=4
- base size=20 base align=4
-<anonymous struct> (0x56a59c0) 0
Class tagPAINTSTRUCT
size=64 align=4
@@ -14617,30 +13645,14 @@ Class _WINDOWPLACEMENT
base size=44 base align=4
_WINDOWPLACEMENT (0x56c7580) 0
-Class <anonymous struct>
- size=4 align=2
- base size=4 base align=2
-<anonymous struct> (0x56c7800) 0
-Class <anonymous struct>
- size=6 align=2
- base size=6 base align=2
-<anonymous struct> (0x56c7940) 0
Class tagHELPINFO
size=28 align=4
base size=28 base align=4
tagHELPINFO (0x56c7c80) 0
-Class <anonymous struct>
- size=40 align=4
- base size=40 base align=4
-<anonymous struct> (0x56c7f40) 0
-Class <anonymous struct>
- size=40 align=4
- base size=40 base align=4
-<anonymous struct> (0x56d5300) 0
Class tagUSEROBJECTFLAGS
size=12 align=4
@@ -14874,10 +13886,6 @@ Class tagKBDLLHOOKSTRUCT
base size=20 base align=4
tagKBDLLHOOKSTRUCT (0x5734180) 0
-Class <anonymous struct>
- size=24 align=4
- base size=24 base align=4
-<anonymous struct> (0x573bb00) 0
Class _cpinfo
size=20 align=4
@@ -15084,35 +14092,11 @@ Class _SERVICE_FAILURE_ACTIONSW
base size=20 base align=4
_SERVICE_FAILURE_ACTIONSW (0x58de900) 0
-Class <anonymous struct>
- size=2 align=2
- base size=2 base align=2
-<anonymous struct> (0x58ffb00) 0
-Class <anonymous struct>
- size=4 align=2
- base size=4 base align=2
-<anonymous struct> (0x58ffcc0) 0
-Class <anonymous struct>
- size=6 align=2
- base size=6 base align=2
-<anonymous struct> (0x58ffe80) 0
-Class <anonymous struct>
- size=6 align=2
- base size=6 base align=2
-<anonymous struct> (0x5906000) 0
-Class <anonymous struct>
- size=4 align=2
- base size=4 base align=2
-<anonymous struct> (0x5906100) 0
-Class <anonymous struct>
- size=6 align=2
- base size=6 base align=2
-<anonymous struct> (0x5906200) 0
Class HCONVLIST__
size=4 align=4
@@ -15244,20 +14228,8 @@ Class tagIMEMENUITEMINFOW
base size=192 base align=4
tagIMEMENUITEMINFOW (0x5955480) 0
-Class mmtime_tag::<anonymous union>::<anonymous struct>
- size=8 align=1
- base size=8 base align=1
-mmtime_tag::<anonymous union>::<anonymous struct> (0x599c200) 0
-Class mmtime_tag::<anonymous union>::<anonymous struct>
- size=4 align=1
- base size=4 base align=1
-mmtime_tag::<anonymous union>::<anonymous struct> (0x599c380) 0
-Class mmtime_tag::<anonymous union>
- size=8 align=1
- base size=8 base align=1
-mmtime_tag::<anonymous union> (0x599c100) 0
Class mmtime_tag
size=12 align=1
@@ -15429,100 +14401,48 @@ Class tagMIXERCAPSW
base size=80 base align=1
tagMIXERCAPSW (0x59e7040) 0
-Class tagMIXERLINEA::<anonymous struct>
- size=48 align=1
- base size=48 base align=1
-tagMIXERLINEA::<anonymous struct> (0x59e74c0) 0
Class tagMIXERLINEA
size=168 align=1
base size=168 base align=1
tagMIXERLINEA (0x59e71c0) 0
-Class tagMIXERLINEW::<anonymous struct>
- size=80 align=1
- base size=80 base align=1
-tagMIXERLINEW::<anonymous struct> (0x59e7780) 0
Class tagMIXERLINEW
size=280 align=1
base size=280 base align=1
tagMIXERLINEW (0x59e7700) 0
-Class tagMIXERCONTROLA::<anonymous union>::<anonymous struct>
- size=8 align=1
- base size=8 base align=1
-tagMIXERCONTROLA::<anonymous union>::<anonymous struct> (0x59e7b40) 0
-Class tagMIXERCONTROLA::<anonymous union>::<anonymous struct>
- size=8 align=1
- base size=8 base align=1
-tagMIXERCONTROLA::<anonymous union>::<anonymous struct> (0x59e7c80) 0
-Class tagMIXERCONTROLA::<anonymous union>
- size=24 align=1
- base size=24 base align=1
-tagMIXERCONTROLA::<anonymous union> (0x59e7ac0) 0
-Class tagMIXERCONTROLA::<anonymous union>
- size=24 align=1
- base size=24 base align=1
-tagMIXERCONTROLA::<anonymous union> (0x59e7e80) 0
Class tagMIXERCONTROLA
size=148 align=1
base size=148 base align=1
tagMIXERCONTROLA (0x59e7940) 0
-Class tagMIXERCONTROLW::<anonymous union>::<anonymous struct>
- size=8 align=1
- base size=8 base align=1
-tagMIXERCONTROLW::<anonymous union>::<anonymous struct> (0x59fb240) 0
-Class tagMIXERCONTROLW::<anonymous union>::<anonymous struct>
- size=8 align=1
- base size=8 base align=1
-tagMIXERCONTROLW::<anonymous union>::<anonymous struct> (0x59fb300) 0
-Class tagMIXERCONTROLW::<anonymous union>
- size=24 align=1
- base size=24 base align=1
-tagMIXERCONTROLW::<anonymous union> (0x59fb1c0) 0
-Class tagMIXERCONTROLW::<anonymous union>
- size=24 align=1
- base size=24 base align=1
-tagMIXERCONTROLW::<anonymous union> (0x59fb440) 0
Class tagMIXERCONTROLW
size=228 align=1
base size=228 base align=1
tagMIXERCONTROLW (0x59fb140) 0
-Class tagMIXERLINECONTROLSA::<anonymous union>
- size=4 align=1
- base size=4 base align=1
-tagMIXERLINECONTROLSA::<anonymous union> (0x59fb6c0) 0
Class tagMIXERLINECONTROLSA
size=24 align=1
base size=24 base align=1
tagMIXERLINECONTROLSA (0x59fb640) 0
-Class tagMIXERLINECONTROLSW::<anonymous union>
- size=4 align=1
- base size=4 base align=1
-tagMIXERLINECONTROLSW::<anonymous union> (0x59fb9c0) 0
Class tagMIXERLINECONTROLSW
size=24 align=1
base size=24 base align=1
tagMIXERLINECONTROLSW (0x59fb940) 0
-Class tMIXERCONTROLDETAILS::<anonymous union>
- size=4 align=1
- base size=4 base align=1
-tMIXERCONTROLDETAILS::<anonymous union> (0x59fbc40) 0
Class tMIXERCONTROLDETAILS
size=24 align=1
@@ -15879,15 +14799,7 @@ Class _RPC_POLICY
base size=12 base align=4
_RPC_POLICY (0x5aeab00) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x5aead40) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x5aeae80) 0
Class _RPC_SECURITY_QOS
size=16 align=4
@@ -15904,10 +14816,6 @@ Class _SEC_WINNT_AUTH_IDENTITY_A
base size=28 base align=4
_SEC_WINNT_AUTH_IDENTITY_A (0x5af6440) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0x5af6580) 0
Class _RPC_PROTSEQ_VECTORA
size=8 align=4
@@ -15934,10 +14842,6 @@ Class _RPC_MESSAGE
base size=44 base align=4
_RPC_MESSAGE (0x5b2e5c0) 0
-Class <anonymous struct>
- size=12 align=4
- base size=12 base align=4
-<anonymous struct> (0x5b2ea00) 0
Class _RPC_PROTSEQ_ENDPOINT
size=8 align=4
@@ -16064,15 +14968,7 @@ Class tagDEVNAMES
base size=8 base align=1
tagDEVNAMES (0x5b9d640) 0
-Class <anonymous struct>
- size=40 align=1
- base size=40 base align=1
-<anonymous struct> (0x5b9d880) 0
-Class <anonymous struct>
- size=40 align=1
- base size=40 base align=1
-<anonymous struct> (0x5b9db00) 0
Class tagOFNA
size=76 align=1
@@ -16319,15 +15215,7 @@ Class _PRINTPROCESSOR_INFO_1W
base size=4 base align=4
_PRINTPROCESSOR_INFO_1W (0x5c1e3c0) 0
-Class _PRINTER_NOTIFY_INFO_DATA::<anonymous union>::<anonymous struct>
- size=8 align=4
- base size=8 base align=4
-_PRINTER_NOTIFY_INFO_DATA::<anonymous union>::<anonymous struct> (0x5c1e6c0) 0
-Class _PRINTER_NOTIFY_INFO_DATA::<anonymous union>
- size=8 align=4
- base size=8 base align=4
-_PRINTER_NOTIFY_INFO_DATA::<anonymous union> (0x5c1e600) 0
Class _PRINTER_NOTIFY_INFO_DATA
size=20 align=4
@@ -16414,20 +15302,8 @@ Class protoent
base size=12 base align=4
protoent (0x5c91a80) 0
-Class in_addr::<anonymous union>::<anonymous struct>
- size=4 align=1
- base size=4 base align=1
-in_addr::<anonymous union>::<anonymous struct> (0x5ca7900) 0
-Class in_addr::<anonymous union>::<anonymous struct>
- size=4 align=2
- base size=4 base align=2
-in_addr::<anonymous union>::<anonymous struct> (0x5ca7b00) 0
-Class in_addr::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-in_addr::<anonymous union> (0x5ca7880) 0
Class in_addr
size=4 align=4
@@ -16564,55 +15440,23 @@ Class _WSAPROTOCOL_INFOW
base size=628 base align=4
_WSAPROTOCOL_INFOW (0x5cfff40) 0
-Class _WSACOMPLETION::<anonymous union>::<anonymous struct>
- size=12 align=4
- base size=12 base align=4
-_WSACOMPLETION::<anonymous union>::<anonymous struct> (0x5d0f4c0) 0
-Class _WSACOMPLETION::<anonymous union>::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-_WSACOMPLETION::<anonymous union>::<anonymous struct> (0x5d0f5c0) 0
-Class _WSACOMPLETION::<anonymous union>::<anonymous struct>
- size=8 align=4
- base size=8 base align=4
-_WSACOMPLETION::<anonymous union>::<anonymous struct> (0x5d0f680) 0
-Class _WSACOMPLETION::<anonymous union>::<anonymous struct>
- size=12 align=4
- base size=12 base align=4
-_WSACOMPLETION::<anonymous union>::<anonymous struct> (0x5d0f7c0) 0
-Class _WSACOMPLETION::<anonymous union>
- size=12 align=4
- base size=12 base align=4
-_WSACOMPLETION::<anonymous union> (0x5d0f440) 0
Class _WSACOMPLETION
size=16 align=4
base size=16 base align=4
_WSACOMPLETION (0x5d0f3c0) 0
-Class <anonymous struct>
- size=12 align=4
- base size=12 base align=4
-<anonymous struct> (0x5d40ac0) 0
-Class <anonymous struct>
- size=12 align=4
- base size=12 base align=4
-<anonymous struct> (0x5d5d180) 0
Class _SCONTEXT_QUEUE
size=8 align=4
base size=8 base align=4
_SCONTEXT_QUEUE (0x5d5d240) 0
-Class <anonymous struct>
- size=24 align=4
- base size=24 base align=4
-<anonymous struct> (0x5d5d640) 0
Class _MIDL_STUB_MESSAGE
size=180 align=4
@@ -16659,10 +15503,6 @@ Class _NDR_CS_ROUTINES
base size=8 base align=4
_NDR_CS_ROUTINES (0x5d7abc0) 0
-Class _MIDL_STUB_DESC::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-_MIDL_STUB_DESC::<anonymous union> (0x5d7ad40) 0
Class _MIDL_STUB_DESC
size=80 align=4
@@ -16694,15 +15534,7 @@ Class _FULL_PTR_TO_REFID_ELEMENT
base size=16 base align=4
_FULL_PTR_TO_REFID_ELEMENT (0x5d8dbc0) 0
-Class _FULL_PTR_XLAT_TABLES::<anonymous struct>
- size=12 align=4
- base size=12 base align=4
-_FULL_PTR_XLAT_TABLES::<anonymous struct> (0x5d8dd40) 0
-Class _FULL_PTR_XLAT_TABLES::<anonymous struct>
- size=12 align=4
- base size=12 base align=4
-_FULL_PTR_XLAT_TABLES::<anonymous struct> (0x5d8df00) 0
Class _FULL_PTR_XLAT_TABLES
size=32 align=4
@@ -16719,10 +15551,6 @@ Class _FLAGGED_WORD_BLOB
base size=12 base align=4
_FLAGGED_WORD_BLOB (0x5ddda80) 0
-Class tagCY::<anonymous struct>
- size=8 align=4
- base size=8 base align=4
-tagCY::<anonymous struct> (0x5de8000) 0
Class tagCY
size=8 align=8
@@ -16759,25 +15587,9 @@ Class _HYPER_SIZEDARR
base size=8 base align=4
_HYPER_SIZEDARR (0x5df1780) 0
-Class tagDEC::<anonymous union>::<anonymous struct>
- size=2 align=1
- base size=2 base align=1
-tagDEC::<anonymous union>::<anonymous struct> (0x5df19c0) 0
-Class tagDEC::<anonymous union>
- size=2 align=2
- base size=2 base align=2
-tagDEC::<anonymous union> (0x5df1940) 0
-Class tagDEC::<anonymous union>::<anonymous struct>
- size=8 align=4
- base size=8 base align=4
-tagDEC::<anonymous union>::<anonymous struct> (0x5df1b80) 0
-Class tagDEC::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-tagDEC::<anonymous union> (0x5df1b00) 0
Class tagDEC
size=16 align=8
@@ -16886,10 +15698,6 @@ Class tagBIND_OPTS2
base size=32 base align=4
tagBIND_OPTS2 (0x5e46400) 0
-Class tagSTGMEDIUM::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-tagSTGMEDIUM::<anonymous union> (0x5e46740) 0
Class tagSTGMEDIUM
size=12 align=4
@@ -17011,20 +15819,12 @@ Class tagCAPROPVARIANT
base size=8 base align=4
tagCAPROPVARIANT (0x5e64f00) 0
-Class tagPROPVARIANT::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-tagPROPVARIANT::<anonymous union> (0x5e7d040) 0
Class tagPROPVARIANT
size=16 align=8
base size=16 base align=8
tagPROPVARIANT (0x5e64e40) 0
-Class tagPROPSPEC::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-tagPROPSPEC::<anonymous union> (0x5e7dd40) 0
Class tagPROPSPEC
size=8 align=4
@@ -18116,10 +16916,6 @@ Class _wireSAFEARR_HAVEIID
base size=24 base align=4
_wireSAFEARR_HAVEIID (0x609dd40) 0
-Class _wireSAFEARRAY_UNION::<anonymous union>
- size=24 align=4
- base size=24 base align=4
-_wireSAFEARRAY_UNION::<anonymous union> (0x609df00) 0
Class _wireSAFEARRAY_UNION
size=28 align=4
@@ -18136,45 +16932,21 @@ Class tagSAFEARRAY
base size=24 base align=4
tagSAFEARRAY (0x60ad5c0) 0
-Class tagVARIANT::<anonymous union>::<anonymous struct>::<anonymous union>::<anonymous struct>
- size=8 align=4
- base size=8 base align=4
-tagVARIANT::<anonymous union>::<anonymous struct>::<anonymous union>::<anonymous struct> (0x60adb00) 0
-Class tagVARIANT::<anonymous union>::<anonymous struct>::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-tagVARIANT::<anonymous union>::<anonymous struct>::<anonymous union> (0x60ad8c0) 0
-Class tagVARIANT::<anonymous union>::<anonymous struct>
- size=16 align=8
- base size=16 base align=8
-tagVARIANT::<anonymous union>::<anonymous struct> (0x60ad840) 0
-Class tagVARIANT::<anonymous union>
- size=16 align=8
- base size=16 base align=8
-tagVARIANT::<anonymous union> (0x60ad7c0) 0
Class tagVARIANT
size=16 align=8
base size=16 base align=8
tagVARIANT (0x60ad740) 0
-Class _wireVARIANT::<anonymous union>
- size=16 align=8
- base size=16 base align=8
-_wireVARIANT::<anonymous union> (0x60ade40) 0
Class _wireVARIANT
size=32 align=8
base size=32 base align=8
_wireVARIANT (0x609d680) 0
-Class tagTYPEDESC::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-tagTYPEDESC::<anonymous union> (0x60d33c0) 0
Class tagTYPEDESC
size=8 align=4
@@ -18201,10 +16973,6 @@ Class tagIDLDESC
base size=8 base align=4
tagIDLDESC (0x60d3a80) 0
-Class tagELEMDESC::<anonymous union>
- size=8 align=4
- base size=8 base align=4
-tagELEMDESC::<anonymous union> (0x60d3cc0) 0
Class tagELEMDESC
size=16 align=4
@@ -18231,10 +16999,6 @@ Class tagFUNCDESC
base size=52 base align=4
tagFUNCDESC (0x60e2ec0) 0
-Class tagVARDESC::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-tagVARDESC::<anonymous union> (0x60eb540) 0
Class tagVARDESC
size=36 align=4
@@ -18590,15 +17354,7 @@ Class tagINTERFACEDATA
base size=8 base align=4
tagINTERFACEDATA (0x61650c0) 0
-Class <anonymous struct>
- size=18 align=2
- base size=18 base align=2
-<anonymous struct> (0x6165280) 0
-Class <anonymous struct>
- size=24 align=4
- base size=24 base align=4
-<anonymous struct> (0x6165400) 0
Class tagOleMenuGroupWidths
size=24 align=4
@@ -19092,10 +17848,6 @@ Class _OLESTREAMVTBL
base size=8 base align=4
_OLESTREAMVTBL (0x62accc0) 0
-Class QFlags<QGL::FormatOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGL::FormatOption> (0x62fa8c0) 0
Class QGLFormat
size=4 align=4
@@ -19233,158 +17985,34 @@ QGLPixelBuffer (0x63a9fc0) 0
QPaintDevice (0x63f8640) 0
primary-for QGLPixelBuffer (0x63a9fc0)
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0x13c0100) 0
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0x1588d40) 0
-Class QTypeInfo<QDebug::Stream*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDebug::Stream*> (0x6605f40) 0 empty
-Class QList<QTreeWidgetItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::Node (0x3d41600) 0
-Class QVectorTypedData<QVector<QWidgetItemData> >
- size=20 align=4
- base size=20 base align=4
-QVectorTypedData<QVector<QWidgetItemData> > (0x3d413c0) 0
-Class QVectorTypedData<QPoint>
- size=24 align=4
- base size=24 base align=4
-QVectorTypedData<QPoint> (0x3fe5980) 0
-Class QVectorTypedData<QPointF>
- size=32 align=8
- base size=32 base align=8
-QVectorTypedData<QPointF> (0x401bd80) 0
-Class QVectorTypedData<QLineF>
- size=48 align=8
- base size=48 base align=8
-QVectorTypedData<QLineF> (0x41ce2c0) 0
-Class QVectorTypedData<QLine>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QLine> (0x41ce640) 0
-Class QVectorTypedData<QRectF>
- size=48 align=8
- base size=48 base align=8
-QVectorTypedData<QRectF> (0x4211300) 0
-Class QVectorTypedData<QRect>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QRect> (0x4211680) 0
-Class QVectorTypedData<QPainterPath::Element>
- size=40 align=8
- base size=40 base align=8
-QVectorTypedData<QPainterPath::Element> (0x43a0940) 0
-Class QVectorTypedData<QTextLength>
- size=32 align=8
- base size=32 base align=8
-QVectorTypedData<QTextLength> (0x4591a00) 0
-Class QVectorTypedData<QTextLayout::FormatRange>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QTextLayout::FormatRange> (0x46e9040) 0
-Class QVectorTypedData<QAbstractTextDocumentLayout::Selection>
- size=28 align=4
- base size=28 base align=4
-QVectorTypedData<QAbstractTextDocumentLayout::Selection> (0x4792500) 0
-Class QList<QAction*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QAction*>::Node (0x32f7f80) 0
-Class QHashNode<QVariant::Type, QItemEditorCreatorBase*>
- size=16 align=4
- base size=16 base align=4
-QHashNode<QVariant::Type, QItemEditorCreatorBase*> (0x3a8f500) 0
-Class QTypeInfo<QTreeWidgetItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTreeWidgetItem*> (0x6ac6700) 0 empty
-Class QTypeInfo<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLength> (0x6af5500) 0 empty
-Class QTypeInfo<QTextLayout::FormatRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLayout::FormatRange> (0x6af56c0) 0 empty
-Class QTypeInfo<QAbstractTextDocumentLayout::Selection>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAbstractTextDocumentLayout::Selection> (0x6af5c00) 0 empty
-Class QTypeInfo<QAction*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAction*> (0x6b232c0) 0 empty
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0x172a2c0) 0
-Class QList<QVariant>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::Node (0x1dc5500) 0
-Class QTypeInfo<QStyleOptionQ3ListViewItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QStyleOptionQ3ListViewItem> (0x6b239c0) 0 empty
-Class QList<QStyleOptionQ3ListViewItem>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::Node (0x379d1c0) 0
-Class QList<QItemSelectionRange>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::Node (0x3925380) 0
-Class QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union> (0x6b63140) 0
-Class QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union> (0x6b63400) 0
-Class QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union> (0x6b63640) 0
-Class QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union> (0x6b63b40) 0
diff --git a/tests/auto/bic/data/QtOpenGL.4.2.0.linux-gcc-ia32.txt b/tests/auto/bic/data/QtOpenGL.4.2.0.linux-gcc-ia32.txt
index 62150ed..01586e6 100644
--- a/tests/auto/bic/data/QtOpenGL.4.2.0.linux-gcc-ia32.txt
+++ b/tests/auto/bic/data/QtOpenGL.4.2.0.linux-gcc-ia32.txt
@@ -1,34 +1,8 @@
-Class QUintForSize<4>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<4> (0xb7fbed80) 0 empty
-Class QUintForSize<8>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<8> (0xb7fbedc0) 0 empty
-Class QUintForType<void*>
- size=1 align=1
- base size=1 base align=1
-QUintForType<void*> (0xb7fbee80) 0 empty
- QUintForSize<4> (0xb7fbeec0) 0 empty
-Class QIntForSize<4>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<4> (0xb7fbef40) 0 empty
-Class QIntForSize<8>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<8> (0xb7fbef80) 0 empty
-Class QIntForType<void*>
- size=1 align=1
- base size=1 base align=1
-QIntForType<void*> (0xb793e040) 0 empty
- QIntForSize<4> (0xb793e080) 0 empty
Class QSysInfo
size=1 align=1
@@ -50,150 +24,38 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0xb793e300) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0xb793e3c0) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0xb793e400) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0xb793e440) 0 empty
-Class QTypeInfo<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned char> (0xb793e480) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0xb793e4c0) 0 empty
-Class QTypeInfo<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short unsigned int> (0xb793e500) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0xb793e540) 0 empty
-Class QTypeInfo<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned int> (0xb793e580) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0xb793e5c0) 0 empty
-Class QTypeInfo<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long unsigned int> (0xb793e600) 0 empty
-Class QTypeInfo<long long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long int> (0xb793e640) 0 empty
-Class QTypeInfo<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long unsigned int> (0xb793e680) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0xb793e6c0) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0xb793e700) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0xb793e740) 0 empty
Class QFlag
size=4 align=4
base size=4 base align=4
QFlag (0xb793e780) 0
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0xb793e880) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0xb793e8c0) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0xb793e900) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0xb793e940) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0xb793e980) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0xb793e9c0) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0xb793ea00) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0xb793ea40) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0xb793ea80) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0xb793eac0) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0xb793eb00) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0xb793eb40) 0
-Class QFlags<Qt::TextInteractionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::TextInteractionFlag> (0xb793eb80) 0
Class QInternal
size=1 align=1
@@ -211,10 +73,6 @@ Class QGenericReturnArgument
QGenericReturnArgument (0xb793ec40) 0
QGenericArgument (0xb793ec80) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0xb793ee40) 0
Class QMetaObject
size=16 align=4
@@ -231,10 +89,6 @@ Class QChar
base size=2 base align=2
QChar (0xb793ef00) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0xb793ef80) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -267,10 +121,6 @@ Class QByteRef
base size=8 base align=4
QByteRef (0xb6a68280) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0xb6a682c0) 0 empty
Class QString::Null
size=1 align=1
@@ -287,10 +137,6 @@ Class QString
base size=4 base align=4
QString (0xb6a68300) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0xb6a68480) 0
Class QLatin1String
size=4 align=4
@@ -308,10 +154,6 @@ Class QConstString
QConstString (0xb6a68580) 0
QString (0xb6a685c0) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0xb6a68600) 0 empty
Vtable for std::exception
std::exception::_ZTVSt9exception: 5u entries
@@ -374,15 +216,7 @@ Class QListData
base size=4 base align=4
QListData (0xb6a68900) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0xb6a68c80) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0xb6a68c00) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -474,10 +308,6 @@ QIODevice (0xb6a68e00) 0
QObject (0xb6a68e40) 0
primary-for QIODevice (0xb6a68e00)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0xb6a68f00) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -507,10 +337,6 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0xb6a687c0) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0xb6a68880) 0 empty
Class QMapData::Node
size=8 align=4
@@ -522,10 +348,6 @@ Class QMapData
base size=72 base align=4
QMapData (0xb680f580) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0xb680fb00) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -550,15 +372,7 @@ Class QTextCodec
QTextCodec (0xb680fa40) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0xb680fc40) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0xb680fbc0) 0
Class QTextEncoder
size=32 align=4
@@ -570,30 +384,10 @@ Class QTextDecoder
base size=32 base align=4
QTextDecoder (0xb680fcc0) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb680fd00) 0
-Class <anonymous struct>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct>::<anonymous union> (0xb680fd80) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb680fd40) 0
-Class <anonymous struct>
- size=12 align=4
- base size=12 base align=4
-<anonymous struct> (0xb680fdc0) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb680fe00) 0
Class __gconv_trans_data
size=20 align=4
@@ -615,15 +409,7 @@ Class __gconv_info
base size=8 base align=4
__gconv_info (0xb680ff00) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0xb680ff80) 0
-Class <anonymous union>
- size=44 align=4
- base size=44 base align=4
-<anonymous union> (0xb680ff40) 0
Class _IO_marker
size=12 align=4
@@ -635,10 +421,6 @@ Class _IO_FILE
base size=148 base align=4
_IO_FILE (0xb680f440) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb680f880) 0
Vtable for QTextStream
QTextStream::_ZTV11QTextStream: 4u entries
@@ -653,10 +435,6 @@ Class QTextStream
QTextStream (0xb680fac0) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0xb659f040) 0
Class QTextStreamManipulator
size=24 align=4
@@ -693,40 +471,16 @@ QTextOStream (0xb659f200) 0
QTextStream (0xb659f240) 0
primary-for QTextOStream (0xb659f200)
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0xb659f300) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0xb659f340) 0
Class wait
size=4 align=4
base size=4 base align=4
wait (0xb659f2c0) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb659f380) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb659f3c0) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb659f400) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb659f440) 0
Class timespec
size=8 align=4
@@ -738,80 +492,24 @@ Class timeval
base size=8 base align=4
timeval (0xb659f4c0) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb659f500) 0
-Class <anonymous union>
- size=36 align=4
- base size=36 base align=4
-<anonymous union> (0xb659f540) 0
Class __pthread_internal_slist
size=4 align=4
base size=4 base align=4
__pthread_internal_slist (0xb659f580) 0
-Class <anonymous union>::__pthread_mutex_s::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union>::__pthread_mutex_s::<anonymous union> (0xb659f640) 0
-Class <anonymous union>::__pthread_mutex_s
- size=24 align=4
- base size=24 base align=4
-<anonymous union>::__pthread_mutex_s (0xb659f600) 0
-Class <anonymous union>
- size=24 align=4
- base size=24 base align=4
-<anonymous union> (0xb659f5c0) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb659f680) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0xb659f700) 0
-Class <anonymous union>
- size=48 align=4
- base size=48 base align=4
-<anonymous union> (0xb659f6c0) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb659f740) 0
-Class <anonymous union>::<anonymous struct>
- size=32 align=4
- base size=32 base align=4
-<anonymous union>::<anonymous struct> (0xb659f7c0) 0
-Class <anonymous union>
- size=32 align=4
- base size=32 base align=4
-<anonymous union> (0xb659f780) 0
-Class <anonymous union>
- size=8 align=4
- base size=8 base align=4
-<anonymous union> (0xb659f800) 0
-Class <anonymous union>
- size=20 align=4
- base size=20 base align=4
-<anonymous union> (0xb659f840) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb659f880) 0
Class random_data
size=28 align=4
@@ -882,10 +580,6 @@ QFile (0xb659fd40) 0
QObject (0xb659fdc0) 0
primary-for QIODevice (0xb659fd80)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0xb659fe40) 0
Vtable for QTemporaryFile
QTemporaryFile::_ZTV14QTemporaryFile: 31u entries
@@ -938,50 +632,22 @@ Class QFileInfo
base size=4 base align=4
QFileInfo (0xb659ffc0) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0xb659f000) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0xb659f1c0) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0xb659fe00) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0xb659f280) 0
Class QRegExp
size=4 align=4
base size=4 base align=4
QRegExp (0xb659ff80) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0xb6378000) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0xb6378040) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0xb6378100) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0xb6378080) 0
Class QStringList
size=4 align=4
@@ -989,30 +655,14 @@ Class QStringList
QStringList (0xb6378140) 0
QList<QString> (0xb6378180) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0xb6378200) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0xb6378240) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0xb6378300) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0xb6378380) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0xb6378400) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -1069,10 +719,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0xb6378440) 0
vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0xb63785c0) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -1184,15 +830,7 @@ Class QLocale
base size=4 base align=4
QLocale (0xb6378880) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0xb63788c0) 0 empty
-Class QFlags<QLocale::NumberOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLocale::NumberOption> (0xb6378900) 0
Vtable for QSystemLocale
QSystemLocale::_ZTV13QSystemLocale: 6u entries
@@ -1287,285 +925,65 @@ Class QUrl
base size=4 base align=4
QUrl (0xb6378c00) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0xb6378c80) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0xb6378cc0) 0 empty
Class QMetaType
size=1 align=1
base size=0 base align=1
QMetaType (0xb6378d00) 0 empty
-Class QMetaTypeId2<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QString> (0xb6378dc0) 0 empty
-Class QMetaTypeId2<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<int> (0xb6378e00) 0 empty
-Class QMetaTypeId2<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned int> (0xb6378e40) 0 empty
-Class QMetaTypeId2<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<bool> (0xb6378e80) 0 empty
-Class QMetaTypeId2<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<double> (0xb6378ec0) 0 empty
-Class QMetaTypeId2<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QByteArray> (0xb6378f00) 0 empty
-Class QMetaTypeId2<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QChar> (0xb6378f40) 0 empty
-Class QMetaTypeId2<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long int> (0xb6378f80) 0 empty
-Class QMetaTypeId2<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short int> (0xb6378fc0) 0 empty
-Class QMetaTypeId2<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<char> (0xb6378540) 0 empty
-Class QMetaTypeId2<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long unsigned int> (0xb6378640) 0 empty
-Class QMetaTypeId2<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short unsigned int> (0xb6378700) 0 empty
-Class QMetaTypeId2<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned char> (0xb6378840) 0 empty
-Class QMetaTypeId2<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<float> (0xb6378980) 0 empty
-Class QMetaTypeId2<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QObject*> (0xb6378b00) 0 empty
-Class QMetaTypeId2<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QWidget*> (0xb6378bc0) 0 empty
-Class QMetaTypeId2<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<void*> (0xb62f0000) 0 empty
-Class QMetaTypeId2<long long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long int> (0xb62f0040) 0 empty
-Class QMetaTypeId2<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long unsigned int> (0xb62f0080) 0 empty
-Class QMetaTypeId2<QStringList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QStringList> (0xb62f00c0) 0 empty
-Class QMetaTypeId2<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitArray> (0xb62f0100) 0 empty
-Class QMetaTypeId2<QDate>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDate> (0xb62f0140) 0 empty
-Class QMetaTypeId2<QTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTime> (0xb62f0180) 0 empty
-Class QMetaTypeId2<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDateTime> (0xb62f01c0) 0 empty
-Class QMetaTypeId2<QUrl>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QUrl> (0xb62f0200) 0 empty
-Class QMetaTypeId2<QLocale>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLocale> (0xb62f0240) 0 empty
-Class QMetaTypeId2<QRect>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRect> (0xb62f0280) 0 empty
-Class QMetaTypeId2<QRectF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRectF> (0xb62f02c0) 0 empty
-Class QMetaTypeId2<QSize>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSize> (0xb62f0300) 0 empty
-Class QMetaTypeId2<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizeF> (0xb62f0340) 0 empty
-Class QMetaTypeId2<QLine>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLine> (0xb62f0380) 0 empty
-Class QMetaTypeId2<QLineF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLineF> (0xb62f03c0) 0 empty
-Class QMetaTypeId2<QPoint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPoint> (0xb62f0400) 0 empty
-Class QMetaTypeId2<QPointF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPointF> (0xb62f0440) 0 empty
-Class QMetaTypeId2<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegExp> (0xb62f0480) 0 empty
-Class QMetaTypeId2<QColorGroup>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColorGroup> (0xb62f04c0) 0 empty
-Class QMetaTypeId2<QFont>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QFont> (0xb62f0500) 0 empty
-Class QMetaTypeId2<QPixmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPixmap> (0xb62f0540) 0 empty
-Class QMetaTypeId2<QBrush>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBrush> (0xb62f0580) 0 empty
-Class QMetaTypeId2<QColor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColor> (0xb62f05c0) 0 empty
-Class QMetaTypeId2<QPalette>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPalette> (0xb62f0600) 0 empty
-Class QMetaTypeId2<QIcon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QIcon> (0xb62f0640) 0 empty
-Class QMetaTypeId2<QImage>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QImage> (0xb62f0680) 0 empty
-Class QMetaTypeId2<QPolygon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPolygon> (0xb62f06c0) 0 empty
-Class QMetaTypeId2<QRegion>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegion> (0xb62f0700) 0 empty
-Class QMetaTypeId2<QBitmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitmap> (0xb62f0740) 0 empty
-Class QMetaTypeId2<QCursor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QCursor> (0xb62f0780) 0 empty
-Class QMetaTypeId2<QSizePolicy>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizePolicy> (0xb62f07c0) 0 empty
-Class QMetaTypeId2<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QKeySequence> (0xb62f0800) 0 empty
-Class QMetaTypeId2<QPen>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPen> (0xb62f0840) 0 empty
-Class QMetaTypeId2<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextLength> (0xb62f0880) 0 empty
-Class QMetaTypeId2<QTextFormat>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextFormat> (0xb62f08c0) 0 empty
-Class QMetaTypeId2<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMatrix> (0xb62f0900) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -1592,45 +1010,17 @@ Class QVariant
base size=12 base align=4
QVariant (0xb62f0940) 0
-Class QMetaTypeId2<QList<QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QList<QVariant> > (0xb62f0b80) 0 empty
-Class QMetaTypeId2<QMap<QString, QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMap<QString, QVariant> > (0xb62f0bc0) 0 empty
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0xb62f0cc0) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0xb62f0c40) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0xb62f0dc0) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0xb62f0d40) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0xb62f0e80) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0xb62f0f00) 0 empty
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1662,80 +1052,48 @@ Class QPoint
base size=8 base align=4
QPoint (0xb62f0b40) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0xb62f0a80) 0 empty
Class QPointF
size=16 align=4
base size=16 base align=4
QPointF (0xb62f0e40) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0xb62f0fc0) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0xb6203000) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0xb6203040) 0 empty
Class QLineF
size=32 align=4
base size=32 base align=4
QLineF (0xb6203080) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0xb62030c0) 0 empty
Class QSize
size=8 align=4
base size=8 base align=4
QSize (0xb6203100) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0xb6203300) 0 empty
Class QSizeF
size=16 align=4
base size=16 base align=4
QSizeF (0xb6203380) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0xb6203580) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0xb6203640) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0xb6203740) 0 empty
Class QRectF
size=32 align=4
base size=32 base align=4
QRectF (0xb6203780) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0xb6203840) 0 empty
Class QLinkedListData
size=20 align=4
@@ -1752,10 +1110,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0xb6203c00) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0xb6203c40) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -1772,30 +1126,18 @@ Class QDate
base size=4 base align=4
QDate (0xb6203ec0) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0xb6203f80) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0xb6203fc0) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0xb62031c0) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0xb6203200) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0xb62032c0) 0 empty
Vtable for QTimeLine
QTimeLine::_ZTV9QTimeLine: 15u entries
@@ -1981,10 +1323,6 @@ QEventLoop (0xb5e7e040) 0
QObject (0xb5e7e080) 0
primary-for QEventLoop (0xb5e7e040)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0xb5e7e180) 0
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -2091,20 +1429,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0xb5e7e680) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0xb5e7e6c0) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0xb5e7e700) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0xb5e7e780) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -2324,10 +1654,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0xb5e7ec00) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0xb5e7ec40) 0 empty
Vtable for QSocketNotifier
QSocketNotifier::_ZTV15QSocketNotifier: 14u entries
@@ -2422,20 +1748,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0xb5e7eec0) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0xb5e7ef00) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0xb5e7ef40) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0xb5e7ef80) 0 empty
Class QMetaProperty
size=20 align=4
@@ -2447,10 +1765,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0xb5e7e000) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0xb5e7e100) 0 empty
Vtable for QPluginLoader
QPluginLoader::_ZTV13QPluginLoader: 14u entries
@@ -2507,10 +1821,6 @@ QLibrary (0xb5e7e440) 0
QObject (0xb5e7e500) 0
primary-for QLibrary (0xb5e7e440)
-Class QFlags<QLibrary::LoadHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLibrary::LoadHint> (0xb5e7e600) 0
Class QSemaphore
size=4 align=4
@@ -2558,10 +1868,6 @@ Class QMutex
base size=4 base align=4
QMutex (0xb5e7ebc0) 0
-Class QMutexLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMutexLocker::<anonymous union> (0xb5e7edc0) 0
Class QMutexLocker
size=4 align=4
@@ -2573,45 +1879,21 @@ Class QReadWriteLock
base size=4 base align=4
QReadWriteLock (0xb5e7ee80) 0
-Class QReadLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QReadLocker::<anonymous union> (0xb5dea040) 0
Class QReadLocker
size=4 align=4
base size=4 base align=4
QReadLocker (0xb5dea000) 0
-Class QWriteLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QWriteLocker::<anonymous union> (0xb5dea0c0) 0
Class QWriteLocker
size=4 align=4
base size=4 base align=4
QWriteLocker (0xb5dea080) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0xb5dea180) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0xb5dea1c0) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0xb5dea200) 0
-Class QColor::<anonymous union>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union> (0xb5dea140) 0
Class QColor
size=16 align=4
@@ -2628,20 +1910,8 @@ Class QPen
base size=4 base align=4
QPen (0xb5dea3c0) 0
-Class QTypeInfo<QPen>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPen> (0xb5dea480) 0 empty
-Class QVector<QPoint>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint>::<anonymous union> (0xb5dea540) 0
-Class QVector<QPoint>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint> (0xb5dea4c0) 0
Class QPolygon
size=4 align=4
@@ -2649,15 +1919,7 @@ Class QPolygon
QPolygon (0xb5dea580) 0
QVector<QPoint> (0xb5dea5c0) 0
-Class QVector<QPointF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF>::<anonymous union> (0xb5dea680) 0
-Class QVector<QPointF>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF> (0xb5dea600) 0
Class QPolygonF
size=4 align=4
@@ -2680,10 +1942,6 @@ Class QMatrix
base size=48 base align=4
QMatrix (0xb5dea880) 0
-Class QTypeInfo<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMatrix> (0xb5dea8c0) 0 empty
Vtable for QPaintDevice
QPaintDevice::_ZTV12QPaintDevice: 7u entries
@@ -2724,10 +1982,6 @@ QImage (0xb5deaa40) 0
QPaintDevice (0xb5deaa80) 0
primary-for QImage (0xb5deaa40)
-Class QTypeInfo<QImage>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QImage> (0xb5deabc0) 0 empty
Vtable for QPixmap
QPixmap::_ZTV7QPixmap: 7u entries
@@ -2752,45 +2006,17 @@ Class QBrush
base size=4 base align=4
QBrush (0xb5dead80) 0
-Class QTypeInfo<QBrush>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBrush> (0xb5deadc0) 0 empty
Class QBrushData
size=72 align=4
base size=72 base align=4
QBrushData (0xb5deae00) 0
-Class QVector<QPair<double, QColor> >::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPair<double, QColor> >::<anonymous union> (0xb5deaf40) 0
-Class QVector<QPair<double, QColor> >
- size=4 align=4
- base size=4 base align=4
-QVector<QPair<double, QColor> > (0xb5deaec0) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=32 align=4
- base size=32 base align=4
-QGradient::<anonymous union>::<anonymous struct> (0xb5deafc0) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=40 align=4
- base size=40 base align=4
-QGradient::<anonymous union>::<anonymous struct> (0xb5dea240) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=24 align=4
- base size=24 base align=4
-QGradient::<anonymous union>::<anonymous struct> (0xb5dea280) 0
-Class QGradient::<anonymous union>
- size=40 align=4
- base size=40 base align=4
-QGradient::<anonymous union> (0xb5deaf80) 0
Class QGradient
size=56 align=4
@@ -2820,30 +2046,14 @@ Class QTextLength
base size=12 base align=4
QTextLength (0xb5dea800) 0
-Class QSharedDataPointer<QTextFormatPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextFormatPrivate> (0xb5deab00) 0
Class QTextFormat
size=8 align=4
base size=8 base align=4
QTextFormat (0xb5dea980) 0
-Class QVector<QTextLength>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength>::<anonymous union> (0xb5deacc0) 0
-Class QVector<QTextLength>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength> (0xb5deab40) 0
-Class QFlags<QTextFormat::PageBreakFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextFormat::PageBreakFlag> (0xb5dead00) 0
Class QTextCharFormat
size=8 align=4
@@ -2983,10 +2193,6 @@ QTextFrame (0xb5bc6580) 0
QObject (0xb5bc6600) 0
primary-for QTextObject (0xb5bc65c0)
-Class QTypeInfo<QTextFrame::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFrame::iterator> (0xb5bc6740) 0 empty
Vtable for QTextBlockUserData
QTextBlockUserData::_ZTV18QTextBlockUserData: 4u entries
@@ -3011,25 +2217,13 @@ Class QTextBlock
base size=8 base align=4
QTextBlock (0xb5bc6800) 0
-Class QTypeInfo<QTextBlock>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock> (0xb5bc6880) 0 empty
-Class QTypeInfo<QTextBlock::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock::iterator> (0xb5bc68c0) 0 empty
Class QTextFragment
size=12 align=4
base size=12 base align=4
QTextFragment (0xb5bc6900) 0
-Class QTypeInfo<QTextFragment>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFragment> (0xb5bc6940) 0 empty
Class QFontMetrics
size=4 align=4
@@ -3089,20 +2283,12 @@ QTextDocument (0xb5bc6b00) 0
QObject (0xb5bc6b40) 0
primary-for QTextDocument (0xb5bc6b00)
-Class QFlags<QTextDocument::FindFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextDocument::FindFlag> (0xb5bc6bc0) 0
Class QTextOption
size=24 align=4
base size=24 base align=4
QTextOption (0xb5bc6c00) 0
-Class QFlags<QTextOption::Flag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextOption::Flag> (0xb5bc6c40) 0
Class QTextTableCell
size=8 align=4
@@ -3143,10 +2329,6 @@ Class QKeySequence
base size=4 base align=4
QKeySequence (0xb5bc6e80) 0
-Class QTypeInfo<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QKeySequence> (0xb5bc6f40) 0 empty
Vtable for QMimeSource
QMimeSource::_ZTV11QMimeSource: 7u entries
@@ -3444,15 +2626,7 @@ Class QInputMethodEvent::Attribute
base size=24 base align=4
QInputMethodEvent::Attribute (0xb5948c00) 0
-Class QList<QInputMethodEvent::Attribute>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute>::<anonymous union> (0xb5948d00) 0
-Class QList<QInputMethodEvent::Attribute>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute> (0xb5948c80) 0
Vtable for QInputMethodEvent
QInputMethodEvent::_ZTV17QInputMethodEvent: 4u entries
@@ -3751,15 +2925,7 @@ Class QTextLayout
base size=4 base align=4
QTextLayout (0xb59dd480) 0
-Class QVector<QTextLayout::FormatRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange>::<anonymous union> (0xb59dd600) 0
-Class QVector<QTextLayout::FormatRange>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange> (0xb59dd580) 0
Class QTextLine
size=8 align=4
@@ -3808,10 +2974,6 @@ Class QTextDocumentFragment
base size=4 base align=4
QTextDocumentFragment (0xb59dd880) 0
-Class QSharedDataPointer<QTextCursorPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextCursorPrivate> (0xb59dd940) 0
Class QTextCursor
size=4 align=4
@@ -3834,15 +2996,7 @@ Class QAbstractTextDocumentLayout::Selection
base size=12 base align=4
QAbstractTextDocumentLayout::Selection (0xb59ddb40) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union> (0xb59ddc80) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection> (0xb59ddc00) 0
Class QAbstractTextDocumentLayout::PaintContext
size=48 align=4
@@ -4206,10 +3360,6 @@ Class QItemSelectionRange
base size=8 base align=4
QItemSelectionRange (0xb59ddf80) 0
-Class QTypeInfo<QItemSelectionRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QItemSelectionRange> (0xb57ee040) 0 empty
Vtable for QItemSelectionModel
QItemSelectionModel::_ZTV19QItemSelectionModel: 18u entries
@@ -4240,20 +3390,8 @@ QItemSelectionModel (0xb57ee080) 0
QObject (0xb57ee0c0) 0
primary-for QItemSelectionModel (0xb57ee080)
-Class QFlags<QItemSelectionModel::SelectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QItemSelectionModel::SelectionFlag> (0xb57ee140) 0
-Class QList<QItemSelectionRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::<anonymous union> (0xb57ee200) 0
-Class QList<QItemSelectionRange>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange> (0xb57ee180) 0
Class QItemSelection
size=4 align=4
@@ -4460,20 +3598,12 @@ QAbstractSpinBox (0xb57ee680) 0
QPaintDevice (0xb57ee740) 8
vptr=((& QAbstractSpinBox::_ZTV16QAbstractSpinBox) + 252u)
-Class QFlags<QAbstractSpinBox::StepEnabledFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractSpinBox::StepEnabledFlag> (0xb57ee800) 0
Class QIcon
size=4 align=4
base size=4 base align=4
QIcon (0xb57ee840) 0
-Class QTypeInfo<QIcon>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QIcon> (0xb57ee900) 0 empty
Vtable for QAbstractSlider
QAbstractSlider::_ZTV15QAbstractSlider: 64u entries
@@ -4681,15 +3811,7 @@ QStyle (0xb57eec40) 0
QObject (0xb57eec80) 0
primary-for QStyle (0xb57eec40)
-Class QFlags<QStyle::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::StateFlag> (0xb57eed40) 0
-Class QFlags<QStyle::SubControl>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::SubControl> (0xb57eed80) 0
Vtable for QTabBar
QTabBar::_ZTV7QTabBar: 67u entries
@@ -4948,10 +4070,6 @@ Class QStyleOptionFrame
QStyleOptionFrame (0xb57eec00) 0
QStyleOption (0xb57eebc0) 0
-Class QFlags<QStyleOptionFrameV2::FrameFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionFrameV2::FrameFeature> (0xb5560080) 0
Class QStyleOptionFrameV2
size=56 align=4
@@ -4978,10 +4096,6 @@ Class QStyleOptionHeader
QStyleOptionHeader (0xb5560300) 0
QStyleOption (0xb5560340) 0
-Class QFlags<QStyleOptionButton::ButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionButton::ButtonFeature> (0xb55604c0) 0
Class QStyleOptionButton
size=64 align=4
@@ -4989,10 +4103,6 @@ Class QStyleOptionButton
QStyleOptionButton (0xb5560400) 0
QStyleOption (0xb5560440) 0
-Class QFlags<QStyleOptionTab::CornerWidget>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionTab::CornerWidget> (0xb5560640) 0
Class QStyleOptionTab
size=72 align=4
@@ -5007,10 +4117,6 @@ QStyleOptionTabV2 (0xb55606c0) 0
QStyleOptionTab (0xb5560700) 0
QStyleOption (0xb5560740) 0
-Class QFlags<QStyleOptionToolBar::ToolBarFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionToolBar::ToolBarFeature> (0xb55608c0) 0
Class QStyleOptionToolBar
size=68 align=4
@@ -5037,10 +4143,6 @@ Class QStyleOptionMenuItem
QStyleOptionMenuItem (0xb5560b00) 0
QStyleOption (0xb5560b40) 0
-Class QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature> (0xb5560c80) 0
Class QStyleOptionQ3ListViewItem
size=64 align=4
@@ -5066,10 +4168,6 @@ Class QStyleOptionViewItem
QStyleOptionViewItem (0xb5560e80) 0
QStyleOption (0xb5560ec0) 0
-Class QFlags<QStyleOptionViewItemV2::ViewItemFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionViewItemV2::ViewItemFeature> (0xb5560040) 0
Class QStyleOptionViewItemV2
size=84 align=4
@@ -5110,15 +4208,7 @@ QStyleOptionSpinBox (0xb5560c40) 0
QStyleOptionComplex (0xb5560cc0) 0
QStyleOption (0xb5560d80) 0
-Class QList<QStyleOptionQ3ListViewItem>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::<anonymous union> (0xb5466100) 0
-Class QList<QStyleOptionQ3ListViewItem>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem> (0xb5466080) 0
Class QStyleOptionQ3ListView
size=84 align=4
@@ -5127,10 +4217,6 @@ QStyleOptionQ3ListView (0xb5560e40) 0
QStyleOptionComplex (0xb5560f00) 0
QStyleOption (0xb5466000) 0
-Class QFlags<QStyleOptionToolButton::ToolButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionToolButton::ToolButtonFeature> (0xb54662c0) 0
Class QStyleOptionToolButton
size=96 align=4
@@ -5338,10 +4424,6 @@ QAbstractItemView (0xb5466a00) 0
QPaintDevice (0xb5466b40) 8
vptr=((& QAbstractItemView::_ZTV17QAbstractItemView) + 392u)
-Class QFlags<QAbstractItemView::EditTrigger>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractItemView::EditTrigger> (0xb5466c00) 0
Vtable for QListView
QListView::_ZTV9QListView: 103u entries
@@ -6106,10 +5188,6 @@ QMessageBox (0xb5368580) 0
QPaintDevice (0xb5368680) 8
vptr=((& QMessageBox::_ZTV11QMessageBox) + 244u)
-Class QFlags<QMessageBox::StandardButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<QMessageBox::StandardButton> (0xb5368740) 0
Vtable for QProgressDialog
QProgressDialog::_ZTV15QProgressDialog: 66u entries
@@ -6360,10 +5438,6 @@ QFileDialog (0xb5368a80) 0
QPaintDevice (0xb5368b80) 8
vptr=((& QFileDialog::_ZTV11QFileDialog) + 244u)
-Class QFlags<QFileDialog::Option>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileDialog::Option> (0xb5368c40) 0
Vtable for QAbstractPrintDialog
QAbstractPrintDialog::_ZTV20QAbstractPrintDialog: 67u entries
@@ -6449,10 +5523,6 @@ QAbstractPrintDialog (0xb5368c80) 0
QPaintDevice (0xb5368d80) 8
vptr=((& QAbstractPrintDialog::_ZTV20QAbstractPrintDialog) + 248u)
-Class QFlags<QAbstractPrintDialog::PrintDialogOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractPrintDialog::PrintDialogOption> (0xb5368e40) 0
Vtable for QPrintDialog
QPrintDialog::_ZTV12QPrintDialog: 67u entries
@@ -6874,10 +5944,6 @@ QImageIOPlugin (0xb524e3c0) 0
QFactoryInterface (0xb524e480) 8 nearly-empty
primary-for QImageIOHandlerFactoryInterface (0xb524e440)
-Class QFlags<QImageIOPlugin::Capability>
- size=4 align=4
- base size=4 base align=4
-QFlags<QImageIOPlugin::Capability> (0xb524e500) 0
Vtable for QPicture
QPicture::_ZTV8QPicture: 8u entries
@@ -7225,50 +6291,14 @@ Class QPainter
base size=4 base align=4
QPainter (0xb524e5c0) 0
-Class QFlags<QPainter::RenderHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPainter::RenderHint> (0xb524e7c0) 0
-Class QVector<QLineF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF>::<anonymous union> (0xb524eb80) 0
-Class QVector<QLineF>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF> (0xb524ea00) 0
-Class QVector<QLine>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine>::<anonymous union> (0xb51ba040) 0
-Class QVector<QLine>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine> (0xb524ee40) 0
-Class QVector<QRectF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF>::<anonymous union> (0xb51ba140) 0
-Class QVector<QRectF>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF> (0xb51ba0c0) 0
-Class QVector<QRect>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect>::<anonymous union> (0xb51ba240) 0
-Class QVector<QRect>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect> (0xb51ba1c0) 0
Class QStylePainter
size=12 align=4
@@ -7286,25 +6316,13 @@ Class QPainterPath
base size=4 base align=4
QPainterPath (0xb51ba340) 0
-Class QVector<QPainterPath::Element>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element>::<anonymous union> (0xb51ba5c0) 0
-Class QVector<QPainterPath::Element>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element> (0xb51ba540) 0
Class QPainterPathPrivate
size=8 align=4
base size=8 base align=4
QPainterPathPrivate (0xb51ba440) 0
-Class QTypeInfo<QPainterPath::Element>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPainterPath::Element> (0xb51ba600) 0 empty
Class QPainterPathStroker
size=4 align=4
@@ -7316,15 +6334,7 @@ Class QTextItem
base size=0 base align=1
QTextItem (0xb51ba700) 0 empty
-Class QTypeInfo<QTextItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextItem> (0xb51ba740) 0 empty
-Class QFlags<QPaintEngine::PaintEngineFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::PaintEngineFeature> (0xb51ba800) 0
Vtable for QPaintEngine
QPaintEngine::_ZTV12QPaintEngine: 24u entries
@@ -7359,25 +6369,13 @@ Class QPaintEngine
QPaintEngine (0xb51ba780) 0
vptr=((& QPaintEngine::_ZTV12QPaintEngine) + 8u)
-Class QFlags<QPaintEngine::DirtyFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::DirtyFlag> (0xb51ba900) 0
Class QPaintEngineState
size=4 align=4
base size=4 base align=4
QPaintEngineState (0xb51ba880) 0
-Class QFlags<QTextItem::RenderFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextItem::RenderFlag> (0xb51ba940) 0
-Class QFlags<QTreeWidgetItemIterator::IteratorFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTreeWidgetItemIterator::IteratorFlag> (0xb51baa00) 0
Class QTreeWidgetItemIterator
size=12 align=4
@@ -7467,15 +6465,7 @@ QStringListModel (0xb51bab00) 0
QObject (0xb51babc0) 0
primary-for QAbstractItemModel (0xb51bab80)
-Class QVector<QWidgetItemData>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData>::<anonymous union> (0xb51bad40) 0
-Class QVector<QWidgetItemData>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData> (0xb51bacc0) 0
Vtable for QListWidgetItem
QListWidgetItem::_ZTV15QListWidgetItem: 11u entries
@@ -7718,15 +6708,7 @@ Class QStandardItem
QStandardItem (0xb51bad80) 0
vptr=((& QStandardItem::_ZTV13QStandardItem) + 8u)
-Class QList<QStandardItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QStandardItem*>::<anonymous union> (0xb4fab180) 0
-Class QList<QStandardItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QStandardItem*> (0xb4fab100) 0
Vtable for QStandardItemModel
QStandardItemModel::_ZTV18QStandardItemModel: 42u entries
@@ -8547,15 +7529,7 @@ Class QItemEditorCreatorBase
QItemEditorCreatorBase (0xb4fab000) 0 nearly-empty
vptr=((& QItemEditorCreatorBase::_ZTV22QItemEditorCreatorBase) + 8u)
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union> (0xb4fabdc0) 0
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*> (0xb4fabac0) 0
Vtable for QItemEditorFactory
QItemEditorFactory::_ZTV18QItemEditorFactory: 6u entries
@@ -8572,25 +7546,9 @@ Class QItemEditorFactory
QItemEditorFactory (0xb4fab880) 0
vptr=((& QItemEditorFactory::_ZTV18QItemEditorFactory) + 8u)
-Class QVector<QVector<QWidgetItemData> >::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> >::<anonymous union> (0xb4d1e100) 0
-Class QVector<QVector<QWidgetItemData> >
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> > (0xb4d1e080) 0
-Class QList<QTreeWidgetItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::<anonymous union> (0xb4d1e200) 0
-Class QList<QTreeWidgetItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*> (0xb4d1e180) 0
Vtable for QTreeWidgetItem
QTreeWidgetItem::_ZTV15QTreeWidgetItem: 10u entries
@@ -8817,15 +7775,7 @@ Class QAccessible
base size=0 base align=1
QAccessible (0xb4d1e800) 0 empty
-Class QFlags<QAccessible::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::StateFlag> (0xb4d1e880) 0
-Class QFlags<QAccessible::RelationFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::RelationFlag> (0xb4d1e8c0) 0
Vtable for QAccessibleInterface
QAccessibleInterface::_ZTV20QAccessibleInterface: 19u entries
@@ -9778,15 +8728,7 @@ QActionGroup (0xb4c0df80) 0
QObject (0xb4c0dfc0) 0
primary-for QActionGroup (0xb4c0df80)
-Class QList<QAction*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QAction*>::<anonymous union> (0xb4c0d380) 0
-Class QList<QAction*>
- size=4 align=4
- base size=4 base align=4
-QList<QAction*> (0xb4c0d180) 0
Vtable for QSound
QSound::_ZTV6QSound: 14u entries
@@ -9956,10 +8898,6 @@ QCommonStyle (0xb4c0df40) 0
QObject (0xb4b63040) 0
primary-for QStyle (0xb4b63000)
-Class QPointer<QFocusFrame>
- size=4 align=4
- base size=4 base align=4
-QPointer<QFocusFrame> (0xb4b63200) 0
Vtable for QMotifStyle
QMotifStyle::_ZTV11QMotifStyle: 35u entries
@@ -10481,15 +9419,7 @@ Class QGraphicsItem
QGraphicsItem (0xb4b63fc0) 0
vptr=((& QGraphicsItem::_ZTV13QGraphicsItem) + 8u)
-Class QFlags<QGraphicsItem::GraphicsItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGraphicsItem::GraphicsItemFlag> (0xb4b63080) 0
-Class QMetaTypeId<QGraphicsItem*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QGraphicsItem*> (0xb4b631c0) 0 empty
Vtable for QAbstractGraphicsShapeItem
QAbstractGraphicsShapeItem::_ZTV26QAbstractGraphicsShapeItem: 39u entries
@@ -11262,20 +10192,8 @@ QGraphicsView (0xb4a4d880) 0
QPaintDevice (0xb4a4d9c0) 8
vptr=((& QGraphicsView::_ZTV13QGraphicsView) + 252u)
-Class QFlags<QGraphicsView::CacheModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGraphicsView::CacheModeFlag> (0xb4a4da40) 0
-Class QList<QGraphicsItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QGraphicsItem*>::<anonymous union> (0xb4a4db00) 0
-Class QList<QGraphicsItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QGraphicsItem*> (0xb4a4da80) 0
Vtable for QGraphicsSceneEvent
QGraphicsSceneEvent::_ZTV19QGraphicsSceneEvent: 4u entries
@@ -12527,10 +11445,6 @@ QDateEdit (0xb495b080) 0
QPaintDevice (0xb495b6c0) 8
vptr=((& QDateEdit::_ZTV9QDateEdit) + 260u)
-Class QFlags<QDateTimeEdit::Section>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDateTimeEdit::Section> (0xb495b840) 0
Vtable for QLabel
QLabel::_ZTV6QLabel: 63u entries
@@ -12690,10 +11604,6 @@ QDockWidget (0xb488d040) 0
QPaintDevice (0xb488d100) 8
vptr=((& QDockWidget::_ZTV11QDockWidget) + 232u)
-Class QFlags<QDockWidget::DockWidgetFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDockWidget::DockWidgetFeature> (0xb488d1c0) 0
Vtable for QGroupBox
QGroupBox::_ZTV9QGroupBox: 63u entries
@@ -12851,10 +11761,6 @@ QDialogButtonBox (0xb488d340) 0
QPaintDevice (0xb488d400) 8
vptr=((& QDialogButtonBox::_ZTV16QDialogButtonBox) + 232u)
-Class QFlags<QDialogButtonBox::StandardButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDialogButtonBox::StandardButton> (0xb488d480) 0
Vtable for QMainWindow
QMainWindow::_ZTV11QMainWindow: 64u entries
@@ -13028,10 +11934,6 @@ QTextEdit (0xb488d600) 0
QPaintDevice (0xb488d740) 8
vptr=((& QTextEdit::_ZTV9QTextEdit) + 256u)
-Class QFlags<QTextEdit::AutoFormattingFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextEdit::AutoFormattingFlag> (0xb488d840) 0
Vtable for QProgressBar
QProgressBar::_ZTV12QProgressBar: 64u entries
@@ -14034,10 +12936,6 @@ QFontComboBox (0xb4606600) 0
QPaintDevice (0xb4606700) 8
vptr=((& QFontComboBox::_ZTV13QFontComboBox) + 240u)
-Class QFlags<QFontComboBox::FontFilter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFontComboBox::FontFilter> (0xb4606780) 0
Vtable for QToolBar
QToolBar::_ZTV8QToolBar: 63u entries
@@ -14449,20 +13347,12 @@ Class QGLColormap
base size=4 base align=4
QGLColormap (0xb4606ec0) 0
-Class QFlags<QGL::FormatOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGL::FormatOption> (0xb4606f40) 0
Class QGLFormat
size=4 align=4
base size=4 base align=4
QGLFormat (0xb4606f80) 0
-Class QFlags<QGLFormat::OpenGLVersionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGLFormat::OpenGLVersionFlag> (0xb4606040) 0
Vtable for QGLContext
QGLContext::_ZTV10QGLContext: 11u entries
@@ -14608,178 +13498,38 @@ QGLPixelBuffer (0xb4606d00) 0
QPaintDevice (0xb4606e80) 0
primary-for QGLPixelBuffer (0xb4606d00)
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0xb42df040) 0
-Class QTypeInfo<QDebug::Stream*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDebug::Stream*> (0xb42df0c0) 0 empty
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0xb42df140) 0
-Class QVectorTypedData<QPoint>
- size=24 align=4
- base size=24 base align=4
-QVectorTypedData<QPoint> (0xb42df1c0) 0
-Class QVectorTypedData<QPointF>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QPointF> (0xb42df240) 0
-Class QVectorTypedData<QTextLength>
- size=28 align=4
- base size=28 base align=4
-QVectorTypedData<QTextLength> (0xb42df2c0) 0
-Class QVectorTypedData<QTextLayout::FormatRange>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QTextLayout::FormatRange> (0xb42df340) 0
-Class QVectorTypedData<QAbstractTextDocumentLayout::Selection>
- size=28 align=4
- base size=28 base align=4
-QVectorTypedData<QAbstractTextDocumentLayout::Selection> (0xb42df3c0) 0
-Class QVectorTypedData<QLineF>
- size=48 align=4
- base size=48 base align=4
-QVectorTypedData<QLineF> (0xb42df440) 0
-Class QVectorTypedData<QLine>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QLine> (0xb42df4c0) 0
-Class QVectorTypedData<QRectF>
- size=48 align=4
- base size=48 base align=4
-QVectorTypedData<QRectF> (0xb42df540) 0
-Class QVectorTypedData<QRect>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QRect> (0xb42df5c0) 0
-Class QVectorTypedData<QPainterPath::Element>
- size=36 align=4
- base size=36 base align=4
-QVectorTypedData<QPainterPath::Element> (0xb42df640) 0
-Class QList<QTreeWidgetItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::Node (0xb42df880) 0
-Class QVectorTypedData<QVector<QWidgetItemData> >
- size=20 align=4
- base size=20 base align=4
-QVectorTypedData<QVector<QWidgetItemData> > (0xb42df900) 0
-Class QList<QAction*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QAction*>::Node (0xb42dfa00) 0
-Class QTypeInfo<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLength> (0xb42dfb00) 0 empty
-Class QTypeInfo<QTextLayout::FormatRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLayout::FormatRange> (0xb42dfbc0) 0 empty
-Class QTypeInfo<QAbstractTextDocumentLayout::Selection>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAbstractTextDocumentLayout::Selection> (0xb42dfcc0) 0 empty
-Class QTypeInfo<QStandardItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QStandardItem*> (0xb42dfd80) 0 empty
-Class QHashNode<QVariant::Type, QItemEditorCreatorBase*>
- size=16 align=4
- base size=16 base align=4
-QHashNode<QVariant::Type, QItemEditorCreatorBase*> (0xb42dfe00) 0
-Class QTypeInfo<QTreeWidgetItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTreeWidgetItem*> (0xb42dfe80) 0 empty
-Class QTypeInfo<QAction*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAction*> (0xb42dff00) 0 empty
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0xb42dff80) 0
-Class QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union> (0xb42df980) 0
-Class QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union> (0xb42dfdc0) 0
-Class QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union> (0xb42dffc0) 0
-Class QList<QItemSelectionRange>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::Node (0xb4047080) 0
-Class QTypeInfo<QStyleOptionQ3ListViewItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QStyleOptionQ3ListViewItem> (0xb4047100) 0 empty
-Class QList<QStyleOptionQ3ListViewItem>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::Node (0xb4047180) 0
-Class QList<QStandardItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QStandardItem*>::Node (0xb4047240) 0
-Class QList<QVariant>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::Node (0xb4047300) 0
-Class QTypeInfo<QGraphicsItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QGraphicsItem*> (0xb4047380) 0 empty
-Class QList<QGraphicsItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QGraphicsItem*>::Node (0xb4047400) 0
-Class QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union> (0xb4047480) 0
diff --git a/tests/auto/bic/data/QtOpenGL.4.2.0.linux-gcc-ppc32.txt b/tests/auto/bic/data/QtOpenGL.4.2.0.linux-gcc-ppc32.txt
index 47e21c9..b2e5041 100644
--- a/tests/auto/bic/data/QtOpenGL.4.2.0.linux-gcc-ppc32.txt
+++ b/tests/auto/bic/data/QtOpenGL.4.2.0.linux-gcc-ppc32.txt
@@ -1,34 +1,8 @@
-Class QUintForSize<4>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<4> (0x32285460) 0 empty
-Class QUintForSize<8>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<8> (0x322854d0) 0 empty
-Class QUintForType<void*>
- size=1 align=1
- base size=1 base align=1
-QUintForType<void*> (0x3001bac0) 0 empty
- QUintForSize<4> (0x32285620) 0 empty
-Class QIntForSize<4>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<4> (0x32285700) 0 empty
-Class QIntForSize<8>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<8> (0x32285770) 0 empty
-Class QIntForType<void*>
- size=1 align=1
- base size=1 base align=1
-QIntForType<void*> (0x3001bb40) 0 empty
- QIntForSize<4> (0x322858c0) 0 empty
Class QSysInfo
size=1 align=1
@@ -50,150 +24,38 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0x32285c40) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0x32285e38) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0x32285ee0) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0x32285f88) 0 empty
-Class QTypeInfo<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned char> (0x322ad038) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0x322ad0e0) 0 empty
-Class QTypeInfo<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short unsigned int> (0x322ad188) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0x322ad230) 0 empty
-Class QTypeInfo<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned int> (0x322ad2d8) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0x322ad380) 0 empty
-Class QTypeInfo<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long unsigned int> (0x322ad428) 0 empty
-Class QTypeInfo<long long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long int> (0x322ad4d0) 0 empty
-Class QTypeInfo<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long unsigned int> (0x322ad578) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0x322ad620) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0x322ad6c8) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0x322ad770) 0 empty
Class QFlag
size=4 align=4
base size=4 base align=4
QFlag (0x322ad7e0) 0
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0x322adcb0) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0x322add20) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0x322add90) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0x322ade00) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0x322ade70) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0x322adee0) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0x322adf50) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0x322adfc0) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0x32363038) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0x323630a8) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0x32363118) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0x32363188) 0
-Class QFlags<Qt::TextInteractionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::TextInteractionFlag> (0x323631f8) 0
Class QInternal
size=1 align=1
@@ -211,10 +73,6 @@ Class QGenericReturnArgument
QGenericReturnArgument (0x3001bc80) 0
QGenericArgument (0x32363310) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0x323634d0) 0
Class QMetaObject
size=16 align=4
@@ -231,10 +89,6 @@ Class QChar
base size=2 base align=2
QChar (0x323635b0) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0x32363658) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -267,10 +121,6 @@ Class QByteRef
base size=8 base align=4
QByteRef (0x324743b8) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0x32474700) 0 empty
Class QString::Null
size=1 align=1
@@ -287,10 +137,6 @@ Class QString
base size=4 base align=4
QString (0x324747a8) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0x324749d8) 0
Class QLatin1String
size=4 align=4
@@ -308,10 +154,6 @@ Class QConstString
QConstString (0x3001bec0) 0
QString (0x3259fb60) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0x3259fc40) 0 empty
Vtable for std::exception
std::exception::_ZTVSt9exception: 5u entries
@@ -374,15 +216,7 @@ Class QListData
base size=4 base align=4
QListData (0x32697310) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0x32697850) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0x326977a8) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -474,10 +308,6 @@ QIODevice (0x3001bf80) 0
QObject (0x32697d20) 0
primary-for QIODevice (0x3001bf80)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0x32697f18) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -507,10 +337,6 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0x327b6508) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0x327b6578) 0 empty
Class QMapData::Node
size=8 align=4
@@ -522,10 +348,6 @@ Class QMapData
base size=72 base align=4
QMapData (0x327b6dc8) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0x328c33f0) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -550,15 +372,7 @@ Class QTextCodec
QTextCodec (0x328c32a0) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0x328c36c8) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0x328c3620) 0
Class QTextEncoder
size=32 align=4
@@ -570,30 +384,10 @@ Class QTextDecoder
base size=32 base align=4
QTextDecoder (0x328c37e0) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x328c3888) 0
-Class <anonymous struct>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct>::<anonymous union> (0x328c3968) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x328c38f8) 0
-Class <anonymous struct>
- size=12 align=4
- base size=12 base align=4
-<anonymous struct> (0x328c39d8) 0
-Class <anonymous struct>
- size=16 align=8
- base size=16 base align=8
-<anonymous struct> (0x328c3a48) 0
Class __gconv_trans_data
size=20 align=4
@@ -615,15 +409,7 @@ Class __gconv_info
base size=8 base align=4
__gconv_info (0x328c3b98) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0x328c3c78) 0
-Class <anonymous union>
- size=44 align=4
- base size=44 base align=4
-<anonymous union> (0x328c3c08) 0
Class _IO_marker
size=12 align=4
@@ -635,10 +421,6 @@ Class _IO_FILE
base size=152 base align=8
_IO_FILE (0x328c3ce8) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0x328c3d58) 0
Vtable for QTextStream
QTextStream::_ZTV11QTextStream: 4u entries
@@ -653,10 +435,6 @@ Class QTextStream
QTextStream (0x328c3d90) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0x328c3fc0) 0
Class QTextStreamManipulator
size=24 align=4
@@ -693,40 +471,16 @@ QTextOStream (0x32884180) 0
QTextStream (0x329c2460) 0
primary-for QTextOStream (0x32884180)
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0x329c2738) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0x329c27a8) 0
Class wait
size=4 align=4
base size=4 base align=4
wait (0x329c26c8) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x329c2818) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x329c2888) 0
-Class <anonymous struct>
- size=16 align=8
- base size=16 base align=8
-<anonymous struct> (0x329c28f8) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0x329c2968) 0
Class timespec
size=8 align=4
@@ -738,70 +492,18 @@ Class timeval
base size=8 base align=4
timeval (0x329c29d8) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0x329c2a48) 0
-Class <anonymous union>
- size=36 align=4
- base size=36 base align=4
-<anonymous union> (0x329c2ab8) 0
-Class <anonymous union>::<anonymous struct>
- size=24 align=4
- base size=24 base align=4
-<anonymous union>::<anonymous struct> (0x329c2b98) 0
-Class <anonymous union>
- size=24 align=4
- base size=24 base align=4
-<anonymous union> (0x329c2b28) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0x329c2c08) 0
-Class <anonymous union>::<anonymous struct>
- size=48 align=8
- base size=48 base align=8
-<anonymous union>::<anonymous struct> (0x329c2ce8) 0
-Class <anonymous union>
- size=48 align=8
- base size=48 base align=8
-<anonymous union> (0x329c2c78) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0x329c2d58) 0
-Class <anonymous union>::<anonymous struct>
- size=32 align=4
- base size=32 base align=4
-<anonymous union>::<anonymous struct> (0x329c2e38) 0
-Class <anonymous union>
- size=32 align=4
- base size=32 base align=4
-<anonymous union> (0x329c2dc8) 0
-Class <anonymous union>
- size=8 align=4
- base size=8 base align=4
-<anonymous union> (0x329c2ea8) 0
-Class <anonymous union>
- size=20 align=4
- base size=20 base align=4
-<anonymous union> (0x329c2f18) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0x329c2f88) 0
Class random_data
size=28 align=4
@@ -872,10 +574,6 @@ QFile (0x328841c0) 0
QObject (0x32a157e0) 0
primary-for QIODevice (0x32884200)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0x32a15968) 0
Vtable for QTemporaryFile
QTemporaryFile::_ZTV14QTemporaryFile: 31u entries
@@ -928,50 +626,22 @@ Class QFileInfo
base size=4 base align=4
QFileInfo (0x32a15ab8) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0x32a15b60) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0x32a15bd0) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0x32a15d58) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0x32a15cb0) 0
Class QRegExp
size=4 align=4
base size=4 base align=4
QRegExp (0x32a15e00) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0x32a15770) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0x32a15a48) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0x32bb5188) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0x32bb50e0) 0
Class QStringList
size=4 align=4
@@ -979,30 +649,14 @@ Class QStringList
QStringList (0x32884300) 0
QList<QString> (0x32bb5230) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0x32bb5658) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0x32bb56c8) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0x32bb59d8) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0x32bb5af0) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0x32bb5b98) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -1059,10 +713,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0x32bb5bd0) 0
vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0x32bb5e38) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -1174,15 +824,7 @@ Class QLocale
base size=4 base align=4
QLocale (0x32c70188) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0x32c70230) 0 empty
-Class QFlags<QLocale::NumberOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLocale::NumberOption> (0x32c702d8) 0
Vtable for QSystemLocale
QSystemLocale::_ZTV13QSystemLocale: 6u entries
@@ -1277,285 +919,65 @@ Class QUrl
base size=4 base align=4
QUrl (0x32c706c8) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0x32c70850) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0x32c708c0) 0 empty
Class QMetaType
size=1 align=1
base size=0 base align=1
QMetaType (0x32c70930) 0 empty
-Class QMetaTypeId2<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QString> (0x32c70af0) 0 empty
-Class QMetaTypeId2<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<int> (0x32c70b98) 0 empty
-Class QMetaTypeId2<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned int> (0x32c70c40) 0 empty
-Class QMetaTypeId2<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<bool> (0x32c70ce8) 0 empty
-Class QMetaTypeId2<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<double> (0x32c70d90) 0 empty
-Class QMetaTypeId2<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QByteArray> (0x32c70e38) 0 empty
-Class QMetaTypeId2<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QChar> (0x32c70ee0) 0 empty
-Class QMetaTypeId2<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long int> (0x32c70f88) 0 empty
-Class QMetaTypeId2<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short int> (0x32c70118) 0 empty
-Class QMetaTypeId2<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<char> (0x32c70658) 0 empty
-Class QMetaTypeId2<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long unsigned int> (0x32d49070) 0 empty
-Class QMetaTypeId2<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short unsigned int> (0x32d49118) 0 empty
-Class QMetaTypeId2<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned char> (0x32d491c0) 0 empty
-Class QMetaTypeId2<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<float> (0x32d49268) 0 empty
-Class QMetaTypeId2<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QObject*> (0x32d49310) 0 empty
-Class QMetaTypeId2<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QWidget*> (0x32d493b8) 0 empty
-Class QMetaTypeId2<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<void*> (0x32d49460) 0 empty
-Class QMetaTypeId2<long long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long int> (0x32d49508) 0 empty
-Class QMetaTypeId2<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long unsigned int> (0x32d495b0) 0 empty
-Class QMetaTypeId2<QStringList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QStringList> (0x32d49658) 0 empty
-Class QMetaTypeId2<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitArray> (0x32d49700) 0 empty
-Class QMetaTypeId2<QDate>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDate> (0x32d497a8) 0 empty
-Class QMetaTypeId2<QTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTime> (0x32d49850) 0 empty
-Class QMetaTypeId2<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDateTime> (0x32d498f8) 0 empty
-Class QMetaTypeId2<QUrl>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QUrl> (0x32d499a0) 0 empty
-Class QMetaTypeId2<QLocale>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLocale> (0x32d49a48) 0 empty
-Class QMetaTypeId2<QRect>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRect> (0x32d49af0) 0 empty
-Class QMetaTypeId2<QRectF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRectF> (0x32d49b98) 0 empty
-Class QMetaTypeId2<QSize>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSize> (0x32d49c40) 0 empty
-Class QMetaTypeId2<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizeF> (0x32d49ce8) 0 empty
-Class QMetaTypeId2<QLine>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLine> (0x32d49d90) 0 empty
-Class QMetaTypeId2<QLineF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLineF> (0x32d49e38) 0 empty
-Class QMetaTypeId2<QPoint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPoint> (0x32d49ee0) 0 empty
-Class QMetaTypeId2<QPointF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPointF> (0x32d49f88) 0 empty
-Class QMetaTypeId2<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegExp> (0x32d63038) 0 empty
-Class QMetaTypeId2<QColorGroup>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColorGroup> (0x32d630e0) 0 empty
-Class QMetaTypeId2<QFont>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QFont> (0x32d63188) 0 empty
-Class QMetaTypeId2<QPixmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPixmap> (0x32d63230) 0 empty
-Class QMetaTypeId2<QBrush>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBrush> (0x32d632d8) 0 empty
-Class QMetaTypeId2<QColor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColor> (0x32d63380) 0 empty
-Class QMetaTypeId2<QPalette>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPalette> (0x32d63428) 0 empty
-Class QMetaTypeId2<QIcon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QIcon> (0x32d634d0) 0 empty
-Class QMetaTypeId2<QImage>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QImage> (0x32d63578) 0 empty
-Class QMetaTypeId2<QPolygon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPolygon> (0x32d63620) 0 empty
-Class QMetaTypeId2<QRegion>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegion> (0x32d636c8) 0 empty
-Class QMetaTypeId2<QBitmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitmap> (0x32d63770) 0 empty
-Class QMetaTypeId2<QCursor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QCursor> (0x32d63818) 0 empty
-Class QMetaTypeId2<QSizePolicy>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizePolicy> (0x32d638c0) 0 empty
-Class QMetaTypeId2<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QKeySequence> (0x32d63968) 0 empty
-Class QMetaTypeId2<QPen>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPen> (0x32d63a10) 0 empty
-Class QMetaTypeId2<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextLength> (0x32d63ab8) 0 empty
-Class QMetaTypeId2<QTextFormat>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextFormat> (0x32d63b60) 0 empty
-Class QMetaTypeId2<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMatrix> (0x32d63c08) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -1582,45 +1004,17 @@ Class QVariant
base size=16 base align=8
QVariant (0x32d63c78) 0
-Class QMetaTypeId2<QList<QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QList<QVariant> > (0x32db5038) 0 empty
-Class QMetaTypeId2<QMap<QString, QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMap<QString, QVariant> > (0x32db50e0) 0 empty
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0x32db52a0) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0x32db51f8) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0x32db5460) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0x32db53b8) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0x32db5578) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0x32db5690) 0 empty
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1652,80 +1046,48 @@ Class QPoint
base size=8 base align=4
QPoint (0x32db5bd0) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0x32db5fc0) 0 empty
Class QPointF
size=16 align=8
base size=16 base align=8
QPointF (0x32db5e38) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0x32e722d8) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0x32e72508) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0x32e72578) 0 empty
Class QLineF
size=32 align=8
base size=32 base align=8
QLineF (0x32e726c8) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0x32e72770) 0 empty
Class QSize
size=8 align=4
base size=8 base align=4
QSize (0x32e728f8) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0x32e72c78) 0 empty
Class QSizeF
size=16 align=8
base size=16 base align=8
QSizeF (0x32e72f50) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0x32e729a0) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0x32f081f8) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0x32f083f0) 0 empty
Class QRectF
size=32 align=8
base size=32 base align=8
QRectF (0x32f08620) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0x32f087a8) 0 empty
Class QLinkedListData
size=20 align=4
@@ -1742,10 +1104,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0x330630a8) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0x33063188) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -1762,30 +1120,18 @@ Class QDate
base size=4 base align=4
QDate (0x33063578) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0x33063738) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0x330637a8) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0x33063968) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0x330639d8) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0x33063b28) 0 empty
Vtable for QTimeLine
QTimeLine::_ZTV9QTimeLine: 15u entries
@@ -1971,10 +1317,6 @@ QEventLoop (0x32884880) 0
QObject (0x33117578) 0
primary-for QEventLoop (0x32884880)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0x33117738) 0
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -2081,20 +1423,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0x33117b98) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0x331cf070) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0x331cf0e0) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0x331cf1f8) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -2314,10 +1648,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0x331cf930) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0x331cfa10) 0 empty
Vtable for QSocketNotifier
QSocketNotifier::_ZTV15QSocketNotifier: 14u entries
@@ -2412,20 +1742,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0x331cfe38) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0x331cfee0) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0x331cff50) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0x331cf150) 0 empty
Class QMetaProperty
size=20 align=4
@@ -2437,10 +1759,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0x331cf620) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0x331cfb28) 0 empty
Vtable for QPluginLoader
QPluginLoader::_ZTV13QPluginLoader: 14u entries
@@ -2497,10 +1815,6 @@ QLibrary (0x32884d00) 0
QObject (0x3329a230) 0
primary-for QLibrary (0x32884d00)
-Class QFlags<QLibrary::LoadHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLibrary::LoadHint> (0x3329a3b8) 0
Class QSemaphore
size=4 align=4
@@ -2548,10 +1862,6 @@ Class QMutex
base size=4 base align=4
QMutex (0x3329a658) 0
-Class QMutexLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMutexLocker::<anonymous union> (0x3329a7e0) 0
Class QMutexLocker
size=4 align=4
@@ -2563,45 +1873,21 @@ Class QReadWriteLock
base size=4 base align=4
QReadWriteLock (0x3329a888) 0
-Class QReadLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QReadLocker::<anonymous union> (0x3329a930) 0
Class QReadLocker
size=4 align=4
base size=4 base align=4
QReadLocker (0x3329a8c0) 0
-Class QWriteLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QWriteLocker::<anonymous union> (0x3329aa48) 0
Class QWriteLocker
size=4 align=4
base size=4 base align=4
QWriteLocker (0x3329a9d8) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x3329ac78) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x3329ace8) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x3329ad58) 0
-Class QColor::<anonymous union>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union> (0x3329ac08) 0
Class QColor
size=16 align=4
@@ -2618,20 +1904,8 @@ Class QPen
base size=4 base align=4
QPen (0x3335a070) 0
-Class QTypeInfo<QPen>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPen> (0x3335a1f8) 0 empty
-Class QVector<QPoint>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint>::<anonymous union> (0x3335a3b8) 0
-Class QVector<QPoint>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint> (0x3335a2d8) 0
Class QPolygon
size=4 align=4
@@ -2639,15 +1913,7 @@ Class QPolygon
QPolygon (0x32884dc0) 0
QVector<QPoint> (0x3335a428) 0
-Class QVector<QPointF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF>::<anonymous union> (0x3335a7e0) 0
-Class QVector<QPointF>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF> (0x3335a700) 0
Class QPolygonF
size=4 align=4
@@ -2670,10 +1936,6 @@ Class QMatrix
base size=48 base align=8
QMatrix (0x3335ace8) 0
-Class QTypeInfo<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMatrix> (0x3335ad58) 0 empty
Vtable for QPaintDevice
QPaintDevice::_ZTV12QPaintDevice: 7u entries
@@ -2714,10 +1976,6 @@ QImage (0x32884e80) 0
QPaintDevice (0x3335ab60) 0
primary-for QImage (0x32884e80)
-Class QTypeInfo<QImage>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QImage> (0x334331f8) 0 empty
Vtable for QPixmap
QPixmap::_ZTV7QPixmap: 7u entries
@@ -2742,45 +2000,17 @@ Class QBrush
base size=4 base align=4
QBrush (0x33433498) 0
-Class QTypeInfo<QBrush>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBrush> (0x33433540) 0 empty
Class QBrushData
size=72 align=8
base size=72 base align=8
QBrushData (0x334335b0) 0
-Class QVector<QPair<double, QColor> >::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPair<double, QColor> >::<anonymous union> (0x334337e0) 0
-Class QVector<QPair<double, QColor> >
- size=4 align=4
- base size=4 base align=4
-QVector<QPair<double, QColor> > (0x33433700) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=32 align=8
- base size=32 base align=8
-QGradient::<anonymous union>::<anonymous struct> (0x334338f8) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=40 align=8
- base size=40 base align=8
-QGradient::<anonymous union>::<anonymous struct> (0x33433968) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=24 align=8
- base size=24 base align=8
-QGradient::<anonymous union>::<anonymous struct> (0x334339d8) 0
-Class QGradient::<anonymous union>
- size=40 align=8
- base size=40 base align=8
-QGradient::<anonymous union> (0x33433888) 0
Class QGradient
size=64 align=8
@@ -2810,30 +2040,14 @@ Class QTextLength
base size=16 base align=8
QTextLength (0x33433ab8) 0
-Class QSharedDataPointer<QTextFormatPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextFormatPrivate> (0x33433e00) 0
Class QTextFormat
size=8 align=4
base size=8 base align=4
QTextFormat (0x33433cb0) 0
-Class QVector<QTextLength>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength>::<anonymous union> (0x33433b60) 0
-Class QVector<QTextLength>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength> (0x33433348) 0
-Class QFlags<QTextFormat::PageBreakFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextFormat::PageBreakFlag> (0x334fe000) 0
Class QTextCharFormat
size=8 align=4
@@ -2973,10 +2187,6 @@ QTextFrame (0x3352f280) 0
QObject (0x334fe5e8) 0
primary-for QTextObject (0x3352f2c0)
-Class QTypeInfo<QTextFrame::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFrame::iterator> (0x334fea80) 0 empty
Vtable for QTextBlockUserData
QTextBlockUserData::_ZTV18QTextBlockUserData: 4u entries
@@ -3001,25 +2211,13 @@ Class QTextBlock
base size=8 base align=4
QTextBlock (0x334fec40) 0
-Class QTypeInfo<QTextBlock>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock> (0x334fefc0) 0 empty
-Class QTypeInfo<QTextBlock::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock::iterator> (0x334fe700) 0 empty
Class QTextFragment
size=12 align=4
base size=12 base align=4
QTextFragment (0x335d5038) 0
-Class QTypeInfo<QTextFragment>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFragment> (0x335d51f8) 0 empty
Class QFontMetrics
size=4 align=4
@@ -3079,20 +2277,12 @@ QTextDocument (0x3352f300) 0
QObject (0x335d54d0) 0
primary-for QTextDocument (0x3352f300)
-Class QFlags<QTextDocument::FindFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextDocument::FindFlag> (0x335d5690) 0
Class QTextOption
size=32 align=8
base size=28 base align=8
QTextOption (0x335d56c8) 0
-Class QFlags<QTextOption::Flag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextOption::Flag> (0x335d57a8) 0
Class QTextTableCell
size=8 align=4
@@ -3133,10 +2323,6 @@ Class QKeySequence
base size=4 base align=4
QKeySequence (0x335d5c08) 0
-Class QTypeInfo<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QKeySequence> (0x335d5d90) 0 empty
Vtable for QMimeSource
QMimeSource::_ZTV11QMimeSource: 7u entries
@@ -3434,15 +2620,7 @@ Class QInputMethodEvent::Attribute
base size=32 base align=8
QInputMethodEvent::Attribute (0x336a66c8) 0
-Class QList<QInputMethodEvent::Attribute>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute>::<anonymous union> (0x336a6d58) 0
-Class QList<QInputMethodEvent::Attribute>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute> (0x336a6a10) 0
Vtable for QInputMethodEvent
QInputMethodEvent::_ZTV17QInputMethodEvent: 4u entries
@@ -3741,15 +2919,7 @@ Class QTextLayout
base size=4 base align=4
QTextLayout (0x3376c1f8) 0
-Class QVector<QTextLayout::FormatRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange>::<anonymous union> (0x3376c498) 0
-Class QVector<QTextLayout::FormatRange>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange> (0x3376c3b8) 0
Class QTextLine
size=8 align=4
@@ -3798,10 +2968,6 @@ Class QTextDocumentFragment
base size=4 base align=4
QTextDocumentFragment (0x3376c8c0) 0
-Class QSharedDataPointer<QTextCursorPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextCursorPrivate> (0x3376c9d8) 0
Class QTextCursor
size=4 align=4
@@ -3824,15 +2990,7 @@ Class QAbstractTextDocumentLayout::Selection
base size=12 base align=4
QAbstractTextDocumentLayout::Selection (0x3376cf50) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union> (0x33827000) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection> (0x3376c2d8) 0
Class QAbstractTextDocumentLayout::PaintContext
size=56 align=8
@@ -4196,10 +3354,6 @@ Class QItemSelectionRange
base size=8 base align=4
QItemSelectionRange (0x3392c4d0) 0
-Class QTypeInfo<QItemSelectionRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QItemSelectionRange> (0x3392c888) 0 empty
Vtable for QItemSelectionModel
QItemSelectionModel::_ZTV19QItemSelectionModel: 18u entries
@@ -4230,20 +3384,8 @@ QItemSelectionModel (0x3384e240) 0
QObject (0x3392c930) 0
primary-for QItemSelectionModel (0x3384e240)
-Class QFlags<QItemSelectionModel::SelectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QItemSelectionModel::SelectionFlag> (0x3392cab8) 0
-Class QList<QItemSelectionRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::<anonymous union> (0x3392cc08) 0
-Class QList<QItemSelectionRange>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange> (0x3392cb60) 0
Class QItemSelection
size=4 align=4
@@ -4450,20 +3592,12 @@ QAbstractSpinBox (0x3384e480) 0
QPaintDevice (0x33a260a8) 8
vptr=((& QAbstractSpinBox::_ZTV16QAbstractSpinBox) + 252u)
-Class QFlags<QAbstractSpinBox::StepEnabledFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractSpinBox::StepEnabledFlag> (0x33a262a0) 0
Class QIcon
size=4 align=4
base size=4 base align=4
QIcon (0x33a262d8) 0
-Class QTypeInfo<QIcon>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QIcon> (0x33a263b8) 0 empty
Vtable for QAbstractSlider
QAbstractSlider::_ZTV15QAbstractSlider: 64u entries
@@ -4671,15 +3805,7 @@ QStyle (0x3384e6c0) 0
QObject (0x33a26818) 0
primary-for QStyle (0x3384e6c0)
-Class QFlags<QStyle::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::StateFlag> (0x33a269d8) 0
-Class QFlags<QStyle::SubControl>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::SubControl> (0x33a26a48) 0
Vtable for QTabBar
QTabBar::_ZTV7QTabBar: 67u entries
@@ -4938,10 +4064,6 @@ Class QStyleOptionFrame
QStyleOptionFrame (0x3384e940) 0
QStyleOption (0x33a26658) 0
-Class QFlags<QStyleOptionFrameV2::FrameFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionFrameV2::FrameFeature> (0x33b51070) 0
Class QStyleOptionFrameV2
size=56 align=4
@@ -4968,10 +4090,6 @@ Class QStyleOptionHeader
QStyleOptionHeader (0x3384ea80) 0
QStyleOption (0x33b514d0) 0
-Class QFlags<QStyleOptionButton::ButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionButton::ButtonFeature> (0x33b516c8) 0
Class QStyleOptionButton
size=64 align=4
@@ -4979,10 +4097,6 @@ Class QStyleOptionButton
QStyleOptionButton (0x3384eb00) 0
QStyleOption (0x33b515e8) 0
-Class QFlags<QStyleOptionTab::CornerWidget>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionTab::CornerWidget> (0x33b518c0) 0
Class QStyleOptionTab
size=72 align=4
@@ -4997,10 +4111,6 @@ QStyleOptionTabV2 (0x3384ebc0) 0
QStyleOptionTab (0x3384ec00) 0
QStyleOption (0x33b519d8) 0
-Class QFlags<QStyleOptionToolBar::ToolBarFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionToolBar::ToolBarFeature> (0x33b51cb0) 0
Class QStyleOptionToolBar
size=68 align=4
@@ -5027,10 +4137,6 @@ Class QStyleOptionMenuItem
QStyleOptionMenuItem (0x3384ed40) 0
QStyleOption (0x33b51f50) 0
-Class QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature> (0x33b51700) 0
Class QStyleOptionQ3ListViewItem
size=64 align=4
@@ -5056,10 +4162,6 @@ Class QStyleOptionViewItem
QStyleOptionViewItem (0x3384ee40) 0
QStyleOption (0x33c00150) 0
-Class QFlags<QStyleOptionViewItemV2::ViewItemFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionViewItemV2::ViewItemFeature> (0x33c00348) 0
Class QStyleOptionViewItemV2
size=84 align=4
@@ -5100,15 +4202,7 @@ QStyleOptionSpinBox (0x33c3d040) 0
QStyleOptionComplex (0x33c3d080) 0
QStyleOption (0x33c00a80) 0
-Class QList<QStyleOptionQ3ListViewItem>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::<anonymous union> (0x33c00d20) 0
-Class QList<QStyleOptionQ3ListViewItem>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem> (0x33c00c78) 0
Class QStyleOptionQ3ListView
size=84 align=4
@@ -5117,10 +4211,6 @@ QStyleOptionQ3ListView (0x33c3d0c0) 0
QStyleOptionComplex (0x33c3d100) 0
QStyleOption (0x33c00b98) 0
-Class QFlags<QStyleOptionToolButton::ToolButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionToolButton::ToolButtonFeature> (0x33c00f88) 0
Class QStyleOptionToolButton
size=96 align=4
@@ -5328,10 +4418,6 @@ QAbstractItemView (0x33c3d4c0) 0
QPaintDevice (0x33c96508) 8
vptr=((& QAbstractItemView::_ZTV17QAbstractItemView) + 392u)
-Class QFlags<QAbstractItemView::EditTrigger>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractItemView::EditTrigger> (0x33c96700) 0
Vtable for QListView
QListView::_ZTV9QListView: 103u entries
@@ -6096,10 +5182,6 @@ QMessageBox (0x33c3dcc0) 0
QPaintDevice (0x33d7e498) 8
vptr=((& QMessageBox::_ZTV11QMessageBox) + 244u)
-Class QFlags<QMessageBox::StandardButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<QMessageBox::StandardButton> (0x33d7e6c8) 0
Vtable for QProgressDialog
QProgressDialog::_ZTV15QProgressDialog: 66u entries
@@ -6350,10 +5432,6 @@ QFileDialog (0x33c3df00) 0
QPaintDevice (0x33d7eab8) 8
vptr=((& QFileDialog::_ZTV11QFileDialog) + 244u)
-Class QFlags<QFileDialog::Option>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileDialog::Option> (0x33d7ecb0) 0
Vtable for QAbstractPrintDialog
QAbstractPrintDialog::_ZTV20QAbstractPrintDialog: 67u entries
@@ -6439,10 +5517,6 @@ QAbstractPrintDialog (0x33e67000) 0
QPaintDevice (0x33d7ee38) 8
vptr=((& QAbstractPrintDialog::_ZTV20QAbstractPrintDialog) + 248u)
-Class QFlags<QAbstractPrintDialog::PrintDialogOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractPrintDialog::PrintDialogOption> (0x33d7e1c0) 0
Vtable for QPrintDialog
QPrintDialog::_ZTV12QPrintDialog: 67u entries
@@ -6864,10 +5938,6 @@ QImageIOPlugin (0x33e67480) 0
QFactoryInterface (0x33e928c0) 8 nearly-empty
primary-for QImageIOHandlerFactoryInterface (0x33e674c0)
-Class QFlags<QImageIOPlugin::Capability>
- size=4 align=4
- base size=4 base align=4
-QFlags<QImageIOPlugin::Capability> (0x33e92ab8) 0
Vtable for QPicture
QPicture::_ZTV8QPicture: 8u entries
@@ -7215,50 +6285,14 @@ Class QPainter
base size=4 base align=4
QPainter (0x33f63e38) 0
-Class QFlags<QPainter::RenderHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPainter::RenderHint> (0x34015150) 0
-Class QVector<QLineF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF>::<anonymous union> (0x340152d8) 0
-Class QVector<QLineF>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF> (0x340151f8) 0
-Class QVector<QLine>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine>::<anonymous union> (0x34015498) 0
-Class QVector<QLine>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine> (0x340153b8) 0
-Class QVector<QRectF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF>::<anonymous union> (0x34015658) 0
-Class QVector<QRectF>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF> (0x34015578) 0
-Class QVector<QRect>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect>::<anonymous union> (0x34015818) 0
-Class QVector<QRect>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect> (0x34015738) 0
Class QStylePainter
size=12 align=4
@@ -7276,25 +6310,13 @@ Class QPainterPath
base size=4 base align=4
QPainterPath (0x34015ab8) 0
-Class QVector<QPainterPath::Element>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element>::<anonymous union> (0x34015f50) 0
-Class QVector<QPainterPath::Element>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element> (0x34015e70) 0
Class QPainterPathPrivate
size=8 align=4
base size=8 base align=4
QPainterPathPrivate (0x34015cb0) 0
-Class QTypeInfo<QPainterPath::Element>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPainterPath::Element> (0x34015b98) 0 empty
Class QPainterPathStroker
size=4 align=4
@@ -7306,15 +6328,7 @@ Class QTextItem
base size=0 base align=1
QTextItem (0x34104230) 0 empty
-Class QTypeInfo<QTextItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextItem> (0x341042d8) 0 empty
-Class QFlags<QPaintEngine::PaintEngineFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::PaintEngineFeature> (0x34104460) 0
Vtable for QPaintEngine
QPaintEngine::_ZTV12QPaintEngine: 24u entries
@@ -7349,25 +6363,13 @@ Class QPaintEngine
QPaintEngine (0x34104348) 0
vptr=((& QPaintEngine::_ZTV12QPaintEngine) + 8u)
-Class QFlags<QPaintEngine::DirtyFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::DirtyFlag> (0x34104658) 0
Class QPaintEngineState
size=4 align=4
base size=4 base align=4
QPaintEngineState (0x341045b0) 0
-Class QFlags<QTextItem::RenderFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextItem::RenderFlag> (0x341046c8) 0
-Class QFlags<QTreeWidgetItemIterator::IteratorFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTreeWidgetItemIterator::IteratorFlag> (0x341047e0) 0
Class QTreeWidgetItemIterator
size=12 align=4
@@ -7457,15 +6459,7 @@ QStringListModel (0x33e67900) 0
QObject (0x34104af0) 0
primary-for QAbstractItemModel (0x33e67980)
-Class QVector<QWidgetItemData>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData>::<anonymous union> (0x34104dc8) 0
-Class QVector<QWidgetItemData>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData> (0x34104ce8) 0
Vtable for QListWidgetItem
QListWidgetItem::_ZTV15QListWidgetItem: 11u entries
@@ -7708,15 +6702,7 @@ Class QStandardItem
QStandardItem (0x341f7508) 0
vptr=((& QStandardItem::_ZTV13QStandardItem) + 8u)
-Class QList<QStandardItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QStandardItem*>::<anonymous union> (0x341f78c0) 0
-Class QList<QStandardItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QStandardItem*> (0x341f7818) 0
Vtable for QStandardItemModel
QStandardItemModel::_ZTV18QStandardItemModel: 42u entries
@@ -8537,15 +7523,7 @@ Class QItemEditorCreatorBase
QItemEditorCreatorBase (0x343616c8) 0 nearly-empty
vptr=((& QItemEditorCreatorBase::_ZTV22QItemEditorCreatorBase) + 8u)
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union> (0x34361b28) 0
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*> (0x34361a10) 0
Vtable for QItemEditorFactory
QItemEditorFactory::_ZTV18QItemEditorFactory: 6u entries
@@ -8562,25 +7540,9 @@ Class QItemEditorFactory
QItemEditorFactory (0x34361930) 0
vptr=((& QItemEditorFactory::_ZTV18QItemEditorFactory) + 8u)
-Class QVector<QVector<QWidgetItemData> >::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> >::<anonymous union> (0x34361f18) 0
-Class QVector<QVector<QWidgetItemData> >
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> > (0x34361e38) 0
-Class QList<QTreeWidgetItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::<anonymous union> (0x343615b0) 0
-Class QList<QTreeWidgetItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*> (0x34361070) 0
Vtable for QTreeWidgetItem
QTreeWidgetItem::_ZTV15QTreeWidgetItem: 10u entries
@@ -8807,15 +7769,7 @@ Class QAccessible
base size=0 base align=1
QAccessible (0x34424888) 0 empty
-Class QFlags<QAccessible::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::StateFlag> (0x34424968) 0
-Class QFlags<QAccessible::RelationFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::RelationFlag> (0x344249d8) 0
Vtable for QAccessibleInterface
QAccessibleInterface::_ZTV20QAccessibleInterface: 19u entries
@@ -9768,15 +8722,7 @@ QActionGroup (0x345ae240) 0
QObject (0x34577c08) 0
primary-for QActionGroup (0x345ae240)
-Class QList<QAction*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QAction*>::<anonymous union> (0x3462d188) 0
-Class QList<QAction*>
- size=4 align=4
- base size=4 base align=4
-QList<QAction*> (0x3462d0e0) 0
Vtable for QSound
QSound::_ZTV6QSound: 14u entries
@@ -9946,10 +8892,6 @@ QCommonStyle (0x345ae3c0) 0
QObject (0x3462d700) 0
primary-for QStyle (0x345ae400)
-Class QPointer<QFocusFrame>
- size=4 align=4
- base size=4 base align=4
-QPointer<QFocusFrame> (0x3462d8f8) 0
Vtable for QMotifStyle
QMotifStyle::_ZTV11QMotifStyle: 35u entries
@@ -10471,15 +9413,7 @@ Class QGraphicsItem
QGraphicsItem (0x347014d0) 0
vptr=((& QGraphicsItem::_ZTV13QGraphicsItem) + 8u)
-Class QFlags<QGraphicsItem::GraphicsItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGraphicsItem::GraphicsItemFlag> (0x347017e0) 0
-Class QMetaTypeId<QGraphicsItem*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QGraphicsItem*> (0x34701850) 0 empty
Vtable for QAbstractGraphicsShapeItem
QAbstractGraphicsShapeItem::_ZTV26QAbstractGraphicsShapeItem: 39u entries
@@ -11252,20 +10186,8 @@ QGraphicsView (0x347fc100) 0
QPaintDevice (0x347abee0) 8
vptr=((& QGraphicsView::_ZTV13QGraphicsView) + 252u)
-Class QFlags<QGraphicsView::CacheModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGraphicsView::CacheModeFlag> (0x347abc78) 0
-Class QList<QGraphicsItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QGraphicsItem*>::<anonymous union> (0x34845070) 0
-Class QList<QGraphicsItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QGraphicsItem*> (0x347abfc0) 0
Vtable for QGraphicsSceneEvent
QGraphicsSceneEvent::_ZTV19QGraphicsSceneEvent: 4u entries
@@ -12517,10 +11439,6 @@ QDateEdit (0x347fce00) 0
QPaintDevice (0x3494af88) 8
vptr=((& QDateEdit::_ZTV9QDateEdit) + 260u)
-Class QFlags<QDateTimeEdit::Section>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDateTimeEdit::Section> (0x3494a8f8) 0
Vtable for QLabel
QLabel::_ZTV6QLabel: 63u entries
@@ -12680,10 +11598,6 @@ QDockWidget (0x347fcfc0) 0
QPaintDevice (0x34a1d150) 8
vptr=((& QDockWidget::_ZTV11QDockWidget) + 232u)
-Class QFlags<QDockWidget::DockWidgetFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDockWidget::DockWidgetFeature> (0x34a1d3b8) 0
Vtable for QGroupBox
QGroupBox::_ZTV9QGroupBox: 63u entries
@@ -12841,10 +11755,6 @@ QDialogButtonBox (0x34a270c0) 0
QPaintDevice (0x34a1d5e8) 8
vptr=((& QDialogButtonBox::_ZTV16QDialogButtonBox) + 232u)
-Class QFlags<QDialogButtonBox::StandardButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDialogButtonBox::StandardButton> (0x34a1d7e0) 0
Vtable for QMainWindow
QMainWindow::_ZTV11QMainWindow: 64u entries
@@ -13018,10 +11928,6 @@ QTextEdit (0x34a271c0) 0
QPaintDevice (0x34a1da10) 8
vptr=((& QTextEdit::_ZTV9QTextEdit) + 256u)
-Class QFlags<QTextEdit::AutoFormattingFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextEdit::AutoFormattingFlag> (0x34a1dcb0) 0
Vtable for QProgressBar
QProgressBar::_ZTV12QProgressBar: 64u entries
@@ -14024,10 +12930,6 @@ QFontComboBox (0x34a27ac0) 0
QPaintDevice (0x34c3a188) 8
vptr=((& QFontComboBox::_ZTV13QFontComboBox) + 240u)
-Class QFlags<QFontComboBox::FontFilter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFontComboBox::FontFilter> (0x34c3a380) 0
Vtable for QToolBar
QToolBar::_ZTV8QToolBar: 63u entries
@@ -14439,20 +13341,12 @@ Class QGLColormap
base size=4 base align=4
QGLColormap (0x34c3acb0) 0
-Class QFlags<QGL::FormatOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGL::FormatOption> (0x34c3ae38) 0
Class QGLFormat
size=4 align=4
base size=4 base align=4
QGLFormat (0x34c3ae70) 0
-Class QFlags<QGLFormat::OpenGLVersionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGLFormat::OpenGLVersionFlag> (0x34c3a070) 0
Vtable for QGLContext
QGLContext::_ZTV10QGLContext: 11u entries
@@ -14598,178 +13492,38 @@ QGLPixelBuffer (0x34a27f80) 0
QPaintDevice (0x34ea8268) 0
primary-for QGLPixelBuffer (0x34a27f80)
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0x34f1b818) 0
-Class QTypeInfo<QDebug::Stream*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDebug::Stream*> (0x34f1bf50) 0 empty
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0x34f38d58) 0
-Class QVectorTypedData<QPoint>
- size=24 align=4
- base size=24 base align=4
-QVectorTypedData<QPoint> (0x34f88f18) 0
-Class QVectorTypedData<QPointF>
- size=32 align=8
- base size=32 base align=8
-QVectorTypedData<QPointF> (0x34fa3540) 0
-Class QVectorTypedData<QTextLength>
- size=32 align=8
- base size=32 base align=8
-QVectorTypedData<QTextLength> (0x34fd6188) 0
-Class QVectorTypedData<QTextLayout::FormatRange>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QTextLayout::FormatRange> (0x34fd6e38) 0
-Class QVectorTypedData<QAbstractTextDocumentLayout::Selection>
- size=28 align=4
- base size=28 base align=4
-QVectorTypedData<QAbstractTextDocumentLayout::Selection> (0x34ff50e0) 0
-Class QVectorTypedData<QLineF>
- size=48 align=8
- base size=48 base align=8
-QVectorTypedData<QLineF> (0x350880a8) 0
-Class QVectorTypedData<QLine>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QLine> (0x35088230) 0
-Class QVectorTypedData<QRectF>
- size=48 align=8
- base size=48 base align=8
-QVectorTypedData<QRectF> (0x350883b8) 0
-Class QVectorTypedData<QRect>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QRect> (0x35088540) 0
-Class QVectorTypedData<QPainterPath::Element>
- size=40 align=8
- base size=40 base align=8
-QVectorTypedData<QPainterPath::Element> (0x350886c8) 0
-Class QList<QTreeWidgetItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::Node (0x350bfbd0) 0
-Class QVectorTypedData<QVector<QWidgetItemData> >
- size=20 align=4
- base size=20 base align=4
-QVectorTypedData<QVector<QWidgetItemData> > (0x350bfdc8) 0
-Class QList<QAction*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QAction*>::Node (0x35112508) 0
-Class QTypeInfo<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLength> (0x351937e0) 0 empty
-Class QTypeInfo<QTextLayout::FormatRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLayout::FormatRange> (0x35193bd0) 0 empty
-Class QTypeInfo<QAbstractTextDocumentLayout::Selection>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAbstractTextDocumentLayout::Selection> (0x35193fc0) 0 empty
-Class QTypeInfo<QStandardItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QStandardItem*> (0x351cf6c8) 0 empty
-Class QHashNode<QVariant::Type, QItemEditorCreatorBase*>
- size=16 align=4
- base size=16 base align=4
-QHashNode<QVariant::Type, QItemEditorCreatorBase*> (0x351cf7e0) 0
-Class QTypeInfo<QTreeWidgetItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTreeWidgetItem*> (0x351cf968) 0 empty
-Class QTypeInfo<QAction*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAction*> (0x351f02a0) 0 empty
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0x351f0b98) 0
-Class QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union> (0x351f0d90) 0
-Class QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union> (0x3521c348) 0
-Class QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union> (0x3521c8c0) 0
-Class QList<QItemSelectionRange>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::Node (0x3521ce38) 0
-Class QTypeInfo<QStyleOptionQ3ListViewItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QStyleOptionQ3ListViewItem> (0x3521cfc0) 0 empty
-Class QList<QStyleOptionQ3ListViewItem>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::Node (0x3521c850) 0
-Class QList<QStandardItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QStandardItem*>::Node (0x35258380) 0
-Class QList<QVariant>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::Node (0x352587e0) 0
-Class QTypeInfo<QGraphicsItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QGraphicsItem*> (0x35258af0) 0 empty
-Class QList<QGraphicsItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QGraphicsItem*>::Node (0x35258b98) 0
-Class QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union> (0x352781c0) 0
diff --git a/tests/auto/bic/data/QtOpenGL.4.2.0.macx-gcc-ia32.txt b/tests/auto/bic/data/QtOpenGL.4.2.0.macx-gcc-ia32.txt
index bf1d004..96a46d3 100644
--- a/tests/auto/bic/data/QtOpenGL.4.2.0.macx-gcc-ia32.txt
+++ b/tests/auto/bic/data/QtOpenGL.4.2.0.macx-gcc-ia32.txt
@@ -1,34 +1,8 @@
-Class QUintForSize<4>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<4> (0x1721500) 0 empty
-Class QUintForSize<8>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<8> (0x1721580) 0 empty
-Class QUintForType<void*>
- size=1 align=1
- base size=1 base align=1
-QUintForType<void*> (0x1721740) 0 empty
- QUintForSize<4> (0x1721780) 0 empty
-Class QIntForSize<4>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<4> (0x1721880) 0 empty
-Class QIntForSize<8>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<8> (0x1721900) 0 empty
-Class QIntForType<void*>
- size=1 align=1
- base size=1 base align=1
-QIntForType<void*> (0x1721ac0) 0 empty
- QIntForSize<4> (0x1721b00) 0 empty
Class QSysInfo
size=1 align=1
@@ -50,75 +24,19 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0x1749000) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0x1749240) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0x1749300) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0x17493c0) 0 empty
-Class QTypeInfo<uchar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uchar> (0x1749480) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0x1749540) 0 empty
-Class QTypeInfo<ushort>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ushort> (0x1749600) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0x17496c0) 0 empty
-Class QTypeInfo<uint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uint> (0x1749780) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0x1749840) 0 empty
-Class QTypeInfo<ulong>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ulong> (0x1749900) 0 empty
-Class QTypeInfo<qint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<qint64> (0x17499c0) 0 empty
-Class QTypeInfo<quint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<quint64> (0x1749a80) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0x1749b40) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0x1749c00) 0 empty
Class QFlag
size=4 align=4
@@ -135,10 +53,6 @@ Class QChar
base size=2 base align=2
QChar (0x1749f00) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0x17ad000) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -151,10 +65,6 @@ Class QAtomic
QAtomic (0x17ad700) 0
QBasicAtomic (0x17ad740) 0
-Class <anonymous union>
- size=128 align=4
- base size=128 base align=4
-<anonymous union> (0x17ad9c0) 0
Class __darwin_pthread_handler_rec
size=12 align=4
@@ -236,75 +146,19 @@ Class QByteRef
base size=8 base align=4
QByteRef (0x183d700) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0x183dac0) 0 empty
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0x183df40) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0x183dfc0) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0x193b040) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0x193b0c0) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0x193b140) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0x193b1c0) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0x193b240) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0x193b2c0) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0x193b340) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0x193b3c0) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0x193b440) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0x193b4c0) 0
-Class QFlags<Qt::TextInteractionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::TextInteractionFlag> (0x193b540) 0
Class QInternal
size=1 align=1
@@ -331,10 +185,6 @@ Class QLatin1String
base size=4 base align=4
QLatin1String (0x193bd40) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0x1aa1140) 0
Class QCharRef
size=8 align=4
@@ -347,10 +197,6 @@ Class QConstString
QConstString (0x1aa1d80) 0
QString (0x1aa1dc0) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0x1aa1ec0) 0 empty
Vtable for std::exception
std::exception::_ZTVSt9exception: 5u entries
@@ -413,10 +259,6 @@ Class QListData
base size=4 base align=4
QListData (0x1bac740) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0x1bacd80) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -441,15 +283,7 @@ Class QTextCodec
QTextCodec (0x1bacc00) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0x1baca00) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0x1bac1c0) 0
Class QTextEncoder
size=32 align=4
@@ -472,25 +306,13 @@ Class QGenericReturnArgument
QGenericReturnArgument (0x1cda180) 0
QGenericArgument (0x1cda1c0) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0x1cda480) 0
Class QMetaObject
size=16 align=4
base size=16 base align=4
QMetaObject (0x1cda400) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0x1cda700) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0x1cda640) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -582,10 +404,6 @@ QIODevice (0x1cdad40) 0
QObject (0x1cdad80) 0
primary-for QIODevice (0x1cdad40)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0x1cdafc0) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -605,25 +423,13 @@ Class QRegExp
base size=4 base align=4
QRegExp (0x1da2600) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0x1da2840) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0x1da28c0) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0x1da2ac0) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0x1da2a00) 0
Class QStringList
size=4 align=4
@@ -631,15 +437,7 @@ Class QStringList
QStringList (0x1da2b80) 0
QList<QString> (0x1da2bc0) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0x1e37040) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0x1e370c0) 0
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -773,50 +571,22 @@ QFile (0x1e37f00) 0
QObject (0x1e37f80) 0
primary-for QIODevice (0x1e37f40)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0x1ee1000) 0
Class QFileInfo
size=4 align=4
base size=4 base align=4
QFileInfo (0x1ee1040) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0x1ee1100) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0x1ee1180) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0x1ee1340) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0x1ee1280) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0x1ee1400) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0x1ee1540) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0x1ee15c0) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -873,10 +643,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0x1ee1600) 0
vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0x1ee18c0) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -950,10 +716,6 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0x1ee1dc0) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0x1ee1e40) 0 empty
Class QMapData::Node
size=8 align=4
@@ -978,10 +740,6 @@ Class QTextStream
QTextStream (0x2115180) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0x2115440) 0
Class QTextStreamManipulator
size=24 align=4
@@ -1078,35 +836,15 @@ Class rlimit
base size=16 base align=4
rlimit (0x2115fc0) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0x21b2680) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0x21b2700) 0
Class wait
size=4 align=4
base size=4 base align=4
wait (0x21b2600) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x21b2780) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x21b2800) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0x21b2880) 0
Class QVectorData
size=16 align=4
@@ -1244,15 +982,7 @@ Class QLocale
base size=4 base align=4
QLocale (0x22d1780) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0x22d1840) 0 empty
-Class QFlags<QLocale::NumberOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLocale::NumberOption> (0x22d1900) 0
Vtable for QSystemLocale
QSystemLocale::_ZTV13QSystemLocale: 6u entries
@@ -1279,270 +1009,58 @@ Class QMetaType
base size=0 base align=1
QMetaType (0x22d1b00) 0 empty
-Class QMetaTypeId2<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QString> (0x22d1d00) 0 empty
-Class QMetaTypeId2<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<int> (0x22d1dc0) 0 empty
-Class QMetaTypeId2<uint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<uint> (0x22d1e80) 0 empty
-Class QMetaTypeId2<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<bool> (0x22d1f40) 0 empty
-Class QMetaTypeId2<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<double> (0x22d1200) 0 empty
-Class QMetaTypeId2<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QByteArray> (0x22d1700) 0 empty
-Class QMetaTypeId2<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QChar> (0x23c2040) 0 empty
-Class QMetaTypeId2<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long int> (0x23c2100) 0 empty
-Class QMetaTypeId2<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short int> (0x23c21c0) 0 empty
-Class QMetaTypeId2<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<char> (0x23c2280) 0 empty
-Class QMetaTypeId2<ulong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<ulong> (0x23c2340) 0 empty
-Class QMetaTypeId2<ushort>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<ushort> (0x23c2400) 0 empty
-Class QMetaTypeId2<uchar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<uchar> (0x23c24c0) 0 empty
-Class QMetaTypeId2<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<float> (0x23c2580) 0 empty
-Class QMetaTypeId2<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QObject*> (0x23c2640) 0 empty
-Class QMetaTypeId2<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QWidget*> (0x23c2700) 0 empty
-Class QMetaTypeId2<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<void*> (0x23c27c0) 0 empty
-Class QMetaTypeId2<qlonglong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<qlonglong> (0x23c2880) 0 empty
-Class QMetaTypeId2<qulonglong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<qulonglong> (0x23c2940) 0 empty
-Class QMetaTypeId2<QStringList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QStringList> (0x23c2a00) 0 empty
-Class QMetaTypeId2<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitArray> (0x23c2ac0) 0 empty
-Class QMetaTypeId2<QDate>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDate> (0x23c2b80) 0 empty
-Class QMetaTypeId2<QTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTime> (0x23c2c40) 0 empty
-Class QMetaTypeId2<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDateTime> (0x23c2d00) 0 empty
-Class QMetaTypeId2<QUrl>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QUrl> (0x23c2dc0) 0 empty
-Class QMetaTypeId2<QLocale>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLocale> (0x23c2e80) 0 empty
-Class QMetaTypeId2<QRect>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRect> (0x23c2f40) 0 empty
-Class QMetaTypeId2<QRectF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRectF> (0x23db000) 0 empty
-Class QMetaTypeId2<QSize>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSize> (0x23db0c0) 0 empty
-Class QMetaTypeId2<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizeF> (0x23db180) 0 empty
-Class QMetaTypeId2<QLine>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLine> (0x23db240) 0 empty
-Class QMetaTypeId2<QLineF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLineF> (0x23db300) 0 empty
-Class QMetaTypeId2<QPoint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPoint> (0x23db3c0) 0 empty
-Class QMetaTypeId2<QPointF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPointF> (0x23db480) 0 empty
-Class QMetaTypeId2<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegExp> (0x23db540) 0 empty
-Class QMetaTypeId2<QColorGroup>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColorGroup> (0x23db600) 0 empty
-Class QMetaTypeId2<QFont>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QFont> (0x23db6c0) 0 empty
-Class QMetaTypeId2<QPixmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPixmap> (0x23db780) 0 empty
-Class QMetaTypeId2<QBrush>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBrush> (0x23db840) 0 empty
-Class QMetaTypeId2<QColor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColor> (0x23db900) 0 empty
-Class QMetaTypeId2<QPalette>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPalette> (0x23db9c0) 0 empty
-Class QMetaTypeId2<QIcon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QIcon> (0x23dba80) 0 empty
-Class QMetaTypeId2<QImage>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QImage> (0x23dbb40) 0 empty
-Class QMetaTypeId2<QPolygon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPolygon> (0x23dbc00) 0 empty
-Class QMetaTypeId2<QRegion>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegion> (0x23dbcc0) 0 empty
-Class QMetaTypeId2<QBitmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitmap> (0x23dbd80) 0 empty
-Class QMetaTypeId2<QCursor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QCursor> (0x23dbe40) 0 empty
-Class QMetaTypeId2<QSizePolicy>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizePolicy> (0x23dbf00) 0 empty
-Class QMetaTypeId2<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QKeySequence> (0x23dbfc0) 0 empty
-Class QMetaTypeId2<QPen>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPen> (0x23f6080) 0 empty
-Class QMetaTypeId2<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextLength> (0x23f6140) 0 empty
-Class QMetaTypeId2<QTextFormat>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextFormat> (0x23f6200) 0 empty
-Class QMetaTypeId2<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMatrix> (0x23f62c0) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -1569,60 +1087,20 @@ Class QVariant
base size=12 base align=4
QVariant (0x23f6340) 0
-Class QMetaTypeId2<QVariantList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QVariantList> (0x23f6880) 0 empty
-Class QMetaTypeId2<QVariantMap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QVariantMap> (0x23f6940) 0 empty
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0x23f6b40) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0x23f6a80) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0x23f6d40) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0x23f6c80) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0x23f6ec0) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0x23f6500) 0 empty
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0x23f6680) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x2493000) 0
-Class <anonymous struct>
- size=3156 align=4
- base size=3156 base align=4
-<anonymous struct> (0x2493080) 0
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1700,15 +1178,7 @@ Class QUrl
base size=4 base align=4
QUrl (0x24938c0) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0x2493a80) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0x2493b00) 0 empty
Vtable for QEventLoop
QEventLoop::_ZTV10QEventLoop: 14u entries
@@ -1735,10 +1205,6 @@ QEventLoop (0x2493b80) 0
QObject (0x2493bc0) 0
primary-for QEventLoop (0x2493b80)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0x2493dc0) 0
Vtable for QAbstractEventDispatcher
QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 27u entries
@@ -1783,20 +1249,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0x2493340) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0x257e080) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0x257e100) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0x257e240) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -1966,10 +1424,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0x257e980) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0x257ea80) 0 empty
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -2076,20 +1530,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0x261b5c0) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0x261b680) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0x261b700) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0x261b7c0) 0 empty
Class QMetaProperty
size=20 align=4
@@ -2101,10 +1547,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0x261b880) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0x261b940) 0 empty
Vtable for QMimeData
QMimeData::_ZTV9QMimeData: 17u entries
@@ -2286,10 +1728,6 @@ QLibrary (0x26b30c0) 0
QObject (0x26b3100) 0
primary-for QLibrary (0x26b30c0)
-Class QFlags<QLibrary::LoadHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLibrary::LoadHint> (0x26b32c0) 0
Vtable for QPluginLoader
QPluginLoader::_ZTV13QPluginLoader: 14u entries
@@ -2326,10 +1764,6 @@ Class QMutex
base size=4 base align=4
QMutex (0x26b3600) 0
-Class QMutexLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMutexLocker::<anonymous union> (0x26b37c0) 0
Class QMutexLocker
size=4 align=4
@@ -2341,20 +1775,12 @@ Class QReadWriteLock
base size=4 base align=4
QReadWriteLock (0x26b3880) 0
-Class QReadLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QReadLocker::<anonymous union> (0x26b3940) 0
Class QReadLocker
size=4 align=4
base size=4 base align=4
QReadLocker (0x26b38c0) 0
-Class QWriteLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QWriteLocker::<anonymous union> (0x26b3a80) 0
Class QWriteLocker
size=4 align=4
@@ -2412,10 +1838,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0x2772380) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0x2772480) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -2427,70 +1849,42 @@ Class QDate
base size=4 base align=4
QDate (0x2772700) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0x2772900) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0x2772980) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0x2772b80) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0x2772c00) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0x2772d80) 0 empty
Class QPoint
size=8 align=4
base size=8 base align=4
QPoint (0x2772e00) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0x2772e40) 0 empty
Class QPointF
size=16 align=4
base size=16 base align=4
QPointF (0x280a1c0) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0x280a640) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0x280a940) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0x280a9c0) 0 empty
Class QLineF
size=32 align=4
base size=32 base align=4
QLineF (0x280ab40) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0x280ac00) 0 empty
Class QLinkedListData
size=20 align=4
@@ -2502,40 +1896,24 @@ Class QSize
base size=8 base align=4
QSize (0x2917000) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0x2917400) 0 empty
Class QSizeF
size=16 align=4
base size=16 base align=4
QSizeF (0x29177c0) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0x2917bc0) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0x29170c0) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0x2917340) 0 empty
Class QRectF
size=32 align=4
base size=32 base align=4
QRectF (0x29e3080) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0x29e3240) 0 empty
Class QSharedData
size=4 align=4
@@ -2583,10 +1961,6 @@ Class QKeySequence
base size=4 base align=4
QKeySequence (0x29e3c80) 0
-Class QTypeInfo<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QKeySequence> (0x29e3e40) 0 empty
Vtable for QMimeSource
QMimeSource::_ZTV11QMimeSource: 7u entries
@@ -2625,15 +1999,7 @@ Class QMacMime
QMacMime (0x29e3140) 0
vptr=((& QMacMime::_ZTV8QMacMime) + 8u)
-Class QList<QMacMime*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QMacMime*>::<anonymous union> (0x2ae1100) 0
-Class QList<QMacMime*>
- size=4 align=4
- base size=4 base align=4
-QList<QMacMime*> (0x2ae1040) 0
Vtable for QMacPasteboardMime
QMacPasteboardMime::_ZTV18QMacPasteboardMime: 10u entries
@@ -2934,15 +2300,7 @@ Class QInputMethodEvent::Attribute
base size=24 base align=4
QInputMethodEvent::Attribute (0x2b74d80) 0
-Class QList<QInputMethodEvent::Attribute>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute>::<anonymous union> (0x2b74f40) 0
-Class QList<QInputMethodEvent::Attribute>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute> (0x2b74e80) 0
Vtable for QInputMethodEvent
QInputMethodEvent::_ZTV17QInputMethodEvent: 4u entries
@@ -3231,15 +2589,7 @@ Class QAccessible
base size=0 base align=1
QAccessible (0x2bfc600) 0 empty
-Class QFlags<QAccessible::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::StateFlag> (0x2bfc740) 0
-Class QFlags<QAccessible::RelationFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::RelationFlag> (0x2bfc7c0) 0
Vtable for QAccessibleInterface
QAccessibleInterface::_ZTV20QAccessibleInterface: 19u entries
@@ -3628,40 +2978,16 @@ Class QPaintDevice
QPaintDevice (0x2c60340) 0
vptr=((& QPaintDevice::_ZTV12QPaintDevice) + 8u)
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x2cbd140) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x2cbd1c0) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x2cbd240) 0
-Class QColor::<anonymous union>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union> (0x2cbd0c0) 0
Class QColor
size=16 align=4
base size=14 base align=4
QColor (0x2cbd040) 0
-Class QVector<QPoint>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint>::<anonymous union> (0x2cbd680) 0
-Class QVector<QPoint>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint> (0x2cbd580) 0
Class QPolygon
size=4 align=4
@@ -3669,15 +2995,7 @@ Class QPolygon
QPolygon (0x2cbd700) 0
QVector<QPoint> (0x2cbd740) 0
-Class QVector<QPointF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF>::<anonymous union> (0x2cbdb80) 0
-Class QVector<QPointF>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF> (0x2cbda80) 0
Class QPolygonF
size=4 align=4
@@ -3690,10 +3008,6 @@ Class QMatrix
base size=48 base align=4
QMatrix (0x2cbdf40) 0
-Class QTypeInfo<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMatrix> (0x2cbdfc0) 0 empty
Class QImageTextKeyLang
size=8 align=4
@@ -3718,10 +3032,6 @@ QImage (0x2d65140) 0
QPaintDevice (0x2d65180) 0
primary-for QImage (0x2d65140)
-Class QTypeInfo<QImage>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QImage> (0x2d65540) 0 empty
Vtable for QPixmap
QPixmap::_ZTV7QPixmap: 7u entries
@@ -3746,45 +3056,17 @@ Class QBrush
base size=4 base align=4
QBrush (0x2d65a80) 0
-Class QTypeInfo<QBrush>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBrush> (0x2d65b40) 0 empty
Class QBrushData
size=72 align=4
base size=72 base align=4
QBrushData (0x2d65bc0) 0
-Class QVector<QGradientStop>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QGradientStop>::<anonymous union> (0x2d65e40) 0
-Class QVector<QGradientStop>
- size=4 align=4
- base size=4 base align=4
-QVector<QGradientStop> (0x2d65d40) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=32 align=4
- base size=32 base align=4
-QGradient::<anonymous union>::<anonymous struct> (0x2d65f80) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=40 align=4
- base size=40 base align=4
-QGradient::<anonymous union>::<anonymous struct> (0x2d65200) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=24 align=4
- base size=24 base align=4
-QGradient::<anonymous union>::<anonymous struct> (0x2d65380) 0
-Class QGradient::<anonymous union>
- size=40 align=4
- base size=40 base align=4
-QGradient::<anonymous union> (0x2d65f00) 0
Class QGradient
size=56 align=4
@@ -4180,10 +3462,6 @@ QAbstractPrintDialog (0x2f59c80) 0
QPaintDevice (0x2f59d40) 8
vptr=((& QAbstractPrintDialog::_ZTV20QAbstractPrintDialog) + 248u)
-Class QFlags<QAbstractPrintDialog::PrintDialogOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractPrintDialog::PrintDialogOption> (0x2f59fc0) 0
Vtable for QColorDialog
QColorDialog::_ZTV12QColorDialog: 66u entries
@@ -4434,10 +3712,6 @@ QFileDialog (0x305c280) 0
QPaintDevice (0x305c340) 8
vptr=((& QFileDialog::_ZTV11QFileDialog) + 244u)
-Class QFlags<QFileDialog::Option>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileDialog::Option> (0x305c600) 0
Vtable for QFontDialog
QFontDialog::_ZTV11QFontDialog: 66u entries
@@ -4844,10 +4118,6 @@ QMessageBox (0x305c900) 0
QPaintDevice (0x3134000) 8
vptr=((& QMessageBox::_ZTV11QMessageBox) + 244u)
-Class QFlags<QMessageBox::StandardButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<QMessageBox::StandardButton> (0x3134280) 0
Vtable for QPageSetupDialog
QPageSetupDialog::_ZTV16QPageSetupDialog: 67u entries
@@ -5202,25 +4472,13 @@ Class QPainterPath
base size=4 base align=4
QPainterPath (0x3134dc0) 0
-Class QVector<QPainterPath::Element>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element>::<anonymous union> (0x31e8100) 0
-Class QVector<QPainterPath::Element>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element> (0x31e8000) 0
Class QPainterPathPrivate
size=8 align=4
base size=8 base align=4
QPainterPathPrivate (0x3134100) 0
-Class QTypeInfo<QPainterPath::Element>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPainterPath::Element> (0x31e81c0) 0 empty
Class QPainterPathStroker
size=4 align=4
@@ -5275,15 +4533,7 @@ Class QGraphicsItem
QGraphicsItem (0x31e8540) 0
vptr=((& QGraphicsItem::_ZTV13QGraphicsItem) + 8u)
-Class QFlags<QGraphicsItem::GraphicsItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGraphicsItem::GraphicsItemFlag> (0x31e88c0) 0
-Class QMetaTypeId<QGraphicsItem*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QGraphicsItem*> (0x31e8940) 0 empty
Vtable for QAbstractGraphicsShapeItem
QAbstractGraphicsShapeItem::_ZTV26QAbstractGraphicsShapeItem: 39u entries
@@ -5872,10 +5122,6 @@ Class QPen
base size=4 base align=4
QPen (0x32e9400) 0
-Class QTypeInfo<QPen>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPen> (0x32e9580) 0 empty
Vtable for QGraphicsScene
QGraphicsScene::_ZTV14QGraphicsScene: 34u entries
@@ -6044,60 +5290,20 @@ Class QTextOption
base size=24 base align=4
QTextOption (0x3366100) 0
-Class QFlags<QTextOption::Flag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextOption::Flag> (0x3366200) 0
Class QPainter
size=4 align=4
base size=4 base align=4
QPainter (0x3366240) 0
-Class QFlags<QPainter::RenderHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPainter::RenderHint> (0x33667c0) 0
-Class QVector<QLineF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF>::<anonymous union> (0x3366980) 0
-Class QVector<QLineF>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF> (0x3366880) 0
-Class QVector<QLine>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine>::<anonymous union> (0x3366b80) 0
-Class QVector<QLine>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine> (0x3366a80) 0
-Class QVector<QRectF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF>::<anonymous union> (0x3366d80) 0
-Class QVector<QRectF>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF> (0x3366c80) 0
-Class QVector<QRect>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect>::<anonymous union> (0x3366f40) 0
-Class QVector<QRect>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect> (0x3366e40) 0
Vtable for QAbstractScrollArea
QAbstractScrollArea::_ZTV19QAbstractScrollArea: 65u entries
@@ -6352,20 +5558,8 @@ QGraphicsView (0x34b3480) 0
QPaintDevice (0x34b3580) 8
vptr=((& QGraphicsView::_ZTV13QGraphicsView) + 252u)
-Class QFlags<QGraphicsView::CacheModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGraphicsView::CacheModeFlag> (0x34b37c0) 0
-Class QList<QGraphicsItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QGraphicsItem*>::<anonymous union> (0x34b3900) 0
-Class QList<QGraphicsItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QGraphicsItem*> (0x34b3840) 0
Vtable for QBitmap
QBitmap::_ZTV7QBitmap: 7u entries
@@ -6392,10 +5586,6 @@ Class QIcon
base size=4 base align=4
QIcon (0x34b3e80) 0
-Class QTypeInfo<QIcon>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QIcon> (0x34b3fc0) 0 empty
Vtable for QIconEngine
QIconEngine::_ZTV11QIconEngine: 9u entries
@@ -6551,10 +5741,6 @@ QImageIOPlugin (0x359ac80) 0
QFactoryInterface (0x35798c0) 8 nearly-empty
primary-for QImageIOHandlerFactoryInterface (0x3579880)
-Class QFlags<QImageIOPlugin::Capability>
- size=4 align=4
- base size=4 base align=4
-QFlags<QImageIOPlugin::Capability> (0x3579b00) 0
Class QImageReader
size=4 align=4
@@ -6730,15 +5916,7 @@ QActionGroup (0x36294c0) 0
QObject (0x3629500) 0
primary-for QActionGroup (0x36294c0)
-Class QList<QAction*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QAction*>::<anonymous union> (0x3629780) 0
-Class QList<QAction*>
- size=4 align=4
- base size=4 base align=4
-QList<QAction*> (0x36296c0) 0
Vtable for QInputContext
QInputContext::_ZTV13QInputContext: 25u entries
@@ -7043,10 +6221,6 @@ QAbstractSpinBox (0x36d0300) 0
QPaintDevice (0x36d0380) 8
vptr=((& QAbstractSpinBox::_ZTV16QAbstractSpinBox) + 252u)
-Class QFlags<QAbstractSpinBox::StepEnabledFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractSpinBox::StepEnabledFlag> (0x36d0600) 0
Vtable for QAbstractSlider
QAbstractSlider::_ZTV15QAbstractSlider: 64u entries
@@ -7254,15 +6428,7 @@ QStyle (0x36d0b80) 0
QObject (0x36d0bc0) 0
primary-for QStyle (0x36d0b80)
-Class QFlags<QStyle::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::StateFlag> (0x36d0e00) 0
-Class QFlags<QStyle::SubControl>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::SubControl> (0x36d0e80) 0
Vtable for QTabBar
QTabBar::_ZTV7QTabBar: 67u entries
@@ -7521,10 +6687,6 @@ Class QStyleOptionFrame
QStyleOptionFrame (0x37ed580) 0
QStyleOption (0x37ed5c0) 0
-Class QFlags<QStyleOptionFrameV2::FrameFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionFrameV2::FrameFeature> (0x37ed880) 0
Class QStyleOptionFrameV2
size=56 align=4
@@ -7551,10 +6713,6 @@ Class QStyleOptionHeader
QStyleOptionHeader (0x37ede00) 0
QStyleOption (0x37ede40) 0
-Class QFlags<QStyleOptionButton::ButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionButton::ButtonFeature> (0x37ed600) 0
Class QStyleOptionButton
size=64 align=4
@@ -7562,10 +6720,6 @@ Class QStyleOptionButton
QStyleOptionButton (0x37edfc0) 0
QStyleOption (0x37ed080) 0
-Class QFlags<QStyleOptionTab::CornerWidget>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionTab::CornerWidget> (0x3891140) 0
Class QStyleOptionTab
size=72 align=4
@@ -7580,10 +6734,6 @@ QStyleOptionTabV2 (0x3891280) 0
QStyleOptionTab (0x38912c0) 0
QStyleOption (0x3891300) 0
-Class QFlags<QStyleOptionToolBar::ToolBarFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionToolBar::ToolBarFeature> (0x3891680) 0
Class QStyleOptionToolBar
size=68 align=4
@@ -7610,10 +6760,6 @@ Class QStyleOptionMenuItem
QStyleOptionMenuItem (0x3891a40) 0
QStyleOption (0x3891a80) 0
-Class QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature> (0x3891d00) 0
Class QStyleOptionQ3ListViewItem
size=64 align=4
@@ -7639,10 +6785,6 @@ Class QStyleOptionViewItem
QStyleOptionViewItem (0x3891880) 0
QStyleOption (0x3891ac0) 0
-Class QFlags<QStyleOptionViewItemV2::ViewItemFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionViewItemV2::ViewItemFeature> (0x3926180) 0
Class QStyleOptionViewItemV2
size=84 align=4
@@ -7683,15 +6825,7 @@ QStyleOptionSpinBox (0x3926b00) 0
QStyleOptionComplex (0x3926b40) 0
QStyleOption (0x3926b80) 0
-Class QList<QStyleOptionQ3ListViewItem>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::<anonymous union> (0x3926f00) 0
-Class QList<QStyleOptionQ3ListViewItem>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem> (0x3926e40) 0
Class QStyleOptionQ3ListView
size=84 align=4
@@ -7700,10 +6834,6 @@ QStyleOptionQ3ListView (0x3926cc0) 0
QStyleOptionComplex (0x3926d00) 0
QStyleOption (0x3926d40) 0
-Class QFlags<QStyleOptionToolButton::ToolButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionToolButton::ToolButtonFeature> (0x3990000) 0
Class QStyleOptionToolButton
size=96 align=4
@@ -7794,10 +6924,6 @@ Class QItemSelectionRange
base size=8 base align=4
QItemSelectionRange (0x3990c80) 0
-Class QTypeInfo<QItemSelectionRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QItemSelectionRange> (0x3990600) 0 empty
Vtable for QItemSelectionModel
QItemSelectionModel::_ZTV19QItemSelectionModel: 18u entries
@@ -7828,20 +6954,8 @@ QItemSelectionModel (0x3990c00) 0
QObject (0x3a35000) 0
primary-for QItemSelectionModel (0x3990c00)
-Class QFlags<QItemSelectionModel::SelectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QItemSelectionModel::SelectionFlag> (0x3a351c0) 0
-Class QList<QItemSelectionRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::<anonymous union> (0x3a35340) 0
-Class QList<QItemSelectionRange>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange> (0x3a35280) 0
Class QItemSelection
size=4 align=4
@@ -7971,10 +7085,6 @@ QAbstractItemView (0x3a35500) 0
QPaintDevice (0x3a35600) 8
vptr=((& QAbstractItemView::_ZTV17QAbstractItemView) + 392u)
-Class QFlags<QAbstractItemView::EditTrigger>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractItemView::EditTrigger> (0x3a35880) 0
Vtable for QAbstractProxyModel
QAbstractProxyModel::_ZTV19QAbstractProxyModel: 47u entries
@@ -8312,15 +7422,7 @@ Class QItemEditorCreatorBase
QItemEditorCreatorBase (0x3b25300) 0 nearly-empty
vptr=((& QItemEditorCreatorBase::_ZTV22QItemEditorCreatorBase) + 8u)
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union> (0x3b25880) 0
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*> (0x3b25740) 0
Vtable for QItemEditorFactory
QItemEditorFactory::_ZTV18QItemEditorFactory: 6u entries
@@ -8461,15 +7563,7 @@ QListView (0x3b25ac0) 0
QPaintDevice (0x3b25c00) 8
vptr=((& QListView::_ZTV9QListView) + 392u)
-Class QVector<QWidgetItemData>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData>::<anonymous union> (0x3b25000) 0
-Class QVector<QWidgetItemData>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData> (0x3b25f00) 0
Vtable for QListWidgetItem
QListWidgetItem::_ZTV15QListWidgetItem: 11u entries
@@ -8762,15 +7856,7 @@ Class QStandardItem
QStandardItem (0x3bb7a40) 0
vptr=((& QStandardItem::_ZTV13QStandardItem) + 8u)
-Class QList<QStandardItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QStandardItem*>::<anonymous union> (0x3bb7e80) 0
-Class QList<QStandardItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QStandardItem*> (0x3bb7dc0) 0
Vtable for QStandardItemModel
QStandardItemModel::_ZTV18QStandardItemModel: 42u entries
@@ -9288,35 +8374,15 @@ QTreeView (0x3ce0b40) 0
QPaintDevice (0x3ce0c80) 8
vptr=((& QTreeView::_ZTV9QTreeView) + 400u)
-Class QFlags<QTreeWidgetItemIterator::IteratorFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTreeWidgetItemIterator::IteratorFlag> (0x3ce0f40) 0
Class QTreeWidgetItemIterator
size=12 align=4
base size=12 base align=4
QTreeWidgetItemIterator (0x3ce0e40) 0
-Class QVector<QVector<QWidgetItemData> >::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> >::<anonymous union> (0x3dca240) 0
-Class QVector<QVector<QWidgetItemData> >
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> > (0x3dca140) 0
-Class QList<QTreeWidgetItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::<anonymous union> (0x3dca400) 0
-Class QList<QTreeWidgetItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*> (0x3dca340) 0
Vtable for QTreeWidgetItem
QTreeWidgetItem::_ZTV15QTreeWidgetItem: 10u entries
@@ -10197,15 +9263,7 @@ Class QTextItem
base size=0 base align=1
QTextItem (0x3fce1c0) 0 empty
-Class QTypeInfo<QTextItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextItem> (0x3fce280) 0 empty
-Class QFlags<QPaintEngine::PaintEngineFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::PaintEngineFeature> (0x3fce440) 0
Vtable for QPaintEngine
QPaintEngine::_ZTV12QPaintEngine: 24u entries
@@ -10240,20 +9298,12 @@ Class QPaintEngine
QPaintEngine (0x3fce300) 0
vptr=((& QPaintEngine::_ZTV12QPaintEngine) + 8u)
-Class QFlags<QPaintEngine::DirtyFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::DirtyFlag> (0x3fce680) 0
Class QPaintEngineState
size=4 align=4
base size=4 base align=4
QPaintEngineState (0x3fce5c0) 0
-Class QFlags<QTextItem::RenderFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextItem::RenderFlag> (0x3fce700) 0
Vtable for QPrinter
QPrinter::_ZTV8QPrinter: 7u entries
@@ -10346,10 +9396,6 @@ QCommonStyle (0x3fcedc0) 0
QObject (0x3fcee40) 0
primary-for QStyle (0x3fcee00)
-Class QPointer<QFocusFrame>
- size=4 align=4
- base size=4 base align=4
-QPointer<QFocusFrame> (0x3fce880) 0
Vtable for QMotifStyle
QMotifStyle::_ZTV11QMotifStyle: 35u entries
@@ -10723,30 +9769,14 @@ Class QTextLength
base size=12 base align=4
QTextLength (0x40b4280) 0
-Class QSharedDataPointer<QTextFormatPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextFormatPrivate> (0x413e180) 0
Class QTextFormat
size=8 align=4
base size=8 base align=4
QTextFormat (0x413e000) 0
-Class QVector<QTextLength>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength>::<anonymous union> (0x413e540) 0
-Class QVector<QTextLength>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength> (0x413e440) 0
-Class QFlags<QTextFormat::PageBreakFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextFormat::PageBreakFlag> (0x413e640) 0
Class QTextCharFormat
size=8 align=4
@@ -10801,15 +9831,7 @@ Class QTextLayout
base size=4 base align=4
QTextLayout (0x413eb80) 0
-Class QVector<QTextLayout::FormatRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange>::<anonymous union> (0x413ee80) 0
-Class QVector<QTextLayout::FormatRange>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange> (0x413ed80) 0
Class QTextLine
size=8 align=4
@@ -10859,15 +9881,7 @@ QTextDocument (0x4250040) 0
QObject (0x4250080) 0
primary-for QTextDocument (0x4250040)
-Class QFlags<QTextDocument::FindFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextDocument::FindFlag> (0x4250280) 0
-Class QSharedDataPointer<QTextCursorPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextCursorPrivate> (0x42503c0) 0
Class QTextCursor
size=4 align=4
@@ -10879,15 +9893,7 @@ Class QAbstractTextDocumentLayout::Selection
base size=12 base align=4
QAbstractTextDocumentLayout::Selection (0x4250500) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union> (0x4250740) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection> (0x4250640) 0
Class QAbstractTextDocumentLayout::PaintContext
size=48 align=4
@@ -11049,10 +10055,6 @@ QTextFrame (0x4250840) 0
QObject (0x4250cc0) 0
primary-for QTextObject (0x4250a00)
-Class QTypeInfo<QTextFrame::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFrame::iterator> (0x43064c0) 0 empty
Vtable for QTextBlockUserData
QTextBlockUserData::_ZTV18QTextBlockUserData: 4u entries
@@ -11077,25 +10079,13 @@ Class QTextBlock
base size=8 base align=4
QTextBlock (0x4306700) 0
-Class QTypeInfo<QTextBlock>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock> (0x4306b00) 0 empty
-Class QTypeInfo<QTextBlock::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock::iterator> (0x4306bc0) 0 empty
Class QTextFragment
size=12 align=4
base size=12 base align=4
QTextFragment (0x4306c80) 0
-Class QTypeInfo<QTextFragment>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFragment> (0x4306e80) 0 empty
Vtable for QSyntaxHighlighter
QSyntaxHighlighter::_ZTV18QSyntaxHighlighter: 15u entries
@@ -12057,10 +11047,6 @@ QDateEdit (0x44e5580) 0
QPaintDevice (0x44e5680) 8
vptr=((& QDateEdit::_ZTV9QDateEdit) + 260u)
-Class QFlags<QDateTimeEdit::Section>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDateTimeEdit::Section> (0x44e5880) 0
Vtable for QDial
QDial::_ZTV5QDial: 64u entries
@@ -12221,10 +11207,6 @@ QDialogButtonBox (0x44e5b40) 0
QPaintDevice (0x44e5bc0) 8
vptr=((& QDialogButtonBox::_ZTV16QDialogButtonBox) + 232u)
-Class QFlags<QDialogButtonBox::StandardButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDialogButtonBox::StandardButton> (0x44e5e00) 0
Vtable for QDockWidget
QDockWidget::_ZTV11QDockWidget: 63u entries
@@ -12304,10 +11286,6 @@ QDockWidget (0x44e5e40) 0
QPaintDevice (0x44e5ec0) 8
vptr=((& QDockWidget::_ZTV11QDockWidget) + 232u)
-Class QFlags<QDockWidget::DockWidgetFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDockWidget::DockWidgetFeature> (0x4597000) 0
Vtable for QFocusFrame
QFocusFrame::_ZTV11QFocusFrame: 63u entries
@@ -12469,10 +11447,6 @@ QFontComboBox (0x4597280) 0
QPaintDevice (0x4597340) 8
vptr=((& QFontComboBox::_ZTV13QFontComboBox) + 240u)
-Class QFlags<QFontComboBox::FontFilter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFontComboBox::FontFilter> (0x4597580) 0
Vtable for QGroupBox
QGroupBox::_ZTV9QGroupBox: 63u entries
@@ -14041,10 +13015,6 @@ QTextEdit (0x4835140) 0
QPaintDevice (0x4835240) 8
vptr=((& QTextEdit::_ZTV9QTextEdit) + 256u)
-Class QFlags<QTextEdit::AutoFormattingFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextEdit::AutoFormattingFlag> (0x4835580) 0
Vtable for QTextBrowser
QTextBrowser::_ZTV12QTextBrowser: 74u entries
@@ -14472,20 +13442,12 @@ Class QGLColormap
base size=4 base align=4
QGLColormap (0x4931200) 0
-Class QFlags<QGL::FormatOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGL::FormatOption> (0x49313c0) 0
Class QGLFormat
size=4 align=4
base size=4 base align=4
QGLFormat (0x4931400) 0
-Class QFlags<QGLFormat::OpenGLVersionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGLFormat::OpenGLVersionFlag> (0x49315c0) 0
Vtable for QGLContext
QGLContext::_ZTV10QGLContext: 10u entries
@@ -14630,188 +13592,40 @@ QGLPixelBuffer (0x4931b80) 0
QPaintDevice (0x4931bc0) 0
primary-for QGLPixelBuffer (0x4931b80)
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0x4af82c0) 0
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0x4b20140) 0
-Class QTypeInfo<QDebug::Stream*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDebug::Stream*> (0x4b761c0) 0 empty
-Class QVectorTypedData<QPoint>
- size=24 align=4
- base size=24 base align=4
-QVectorTypedData<QPoint> (0x4bb3640) 0
-Class QVectorTypedData<QPointF>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QPointF> (0x4bb3d40) 0
-Class QVectorTypedData<QPainterPath::Element>
- size=36 align=4
- base size=36 base align=4
-QVectorTypedData<QPainterPath::Element> (0x4c0d440) 0
-Class QVectorTypedData<QLineF>
- size=48 align=4
- base size=48 base align=4
-QVectorTypedData<QLineF> (0x4c2c940) 0
-Class QVectorTypedData<QLine>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QLine> (0x4c2cb00) 0
-Class QVectorTypedData<QRectF>
- size=48 align=4
- base size=48 base align=4
-QVectorTypedData<QRectF> (0x4c2ccc0) 0
-Class QVectorTypedData<QRect>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QRect> (0x4c2ce80) 0
-Class QList<QTreeWidgetItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::Node (0x4d22400) 0
-Class QVectorTypedData<QVector<QWidgetItemData> >
- size=20 align=4
- base size=20 base align=4
-QVectorTypedData<QVector<QWidgetItemData> > (0x4d22640) 0
-Class QVectorTypedData<QTextLength>
- size=28 align=4
- base size=28 base align=4
-QVectorTypedData<QTextLength> (0x4d42c80) 0
-Class QVectorTypedData<QTextLayout::FormatRange>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QTextLayout::FormatRange> (0x4d42f80) 0
-Class QVectorTypedData<QAbstractTextDocumentLayout::Selection>
- size=28 align=4
- base size=28 base align=4
-QVectorTypedData<QAbstractTextDocumentLayout::Selection> (0x4d64600) 0
-Class QList<QAction*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QAction*>::Node (0x4d87940) 0
-Class QHashNode<QVariant::Type, QItemEditorCreatorBase*>
- size=16 align=4
- base size=16 base align=4
-QHashNode<QVariant::Type, QItemEditorCreatorBase*> (0x4e35b80) 0
-Class QTypeInfo<QStandardItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QStandardItem*> (0x4e614c0) 0 empty
-Class QTypeInfo<QTreeWidgetItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTreeWidgetItem*> (0x4e61740) 0 empty
-Class QTypeInfo<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLength> (0x4e61cc0) 0 empty
-Class QTypeInfo<QTextLayout::FormatRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLayout::FormatRange> (0x4e7e040) 0 empty
-Class QTypeInfo<QAbstractTextDocumentLayout::Selection>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAbstractTextDocumentLayout::Selection> (0x4e7e4c0) 0 empty
-Class QTypeInfo<QAction*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAction*> (0x4e7ebc0) 0 empty
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0x4e9c200) 0
-Class QTypeInfo<QMacMime*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMacMime*> (0x4e9c480) 0 empty
-Class QList<QMacMime*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QMacMime*>::Node (0x4e9c540) 0
-Class QList<QVariant>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::Node (0x4e9c7c0) 0
-Class QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union> (0x4e9c940) 0
-Class QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union> (0x4e9c980) 0
-Class QTypeInfo<QGraphicsItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QGraphicsItem*> (0x4ee4680) 0 empty
-Class QList<QGraphicsItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QGraphicsItem*>::Node (0x4ee4740) 0
-Class QTypeInfo<QStyleOptionQ3ListViewItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QStyleOptionQ3ListViewItem> (0x4ee4bc0) 0 empty
-Class QList<QStyleOptionQ3ListViewItem>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::Node (0x4ee4c80) 0
-Class QList<QItemSelectionRange>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::Node (0x4f08040) 0
-Class QList<QStandardItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QStandardItem*>::Node (0x4f08380) 0
-Class QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union> (0x4f086c0) 0
-Class QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union> (0x4f3b100) 0
diff --git a/tests/auto/bic/data/QtOpenGL.4.2.0.macx-gcc-ppc32.txt b/tests/auto/bic/data/QtOpenGL.4.2.0.macx-gcc-ppc32.txt
index 6008f75..d2c8ab3 100644
--- a/tests/auto/bic/data/QtOpenGL.4.2.0.macx-gcc-ppc32.txt
+++ b/tests/auto/bic/data/QtOpenGL.4.2.0.macx-gcc-ppc32.txt
@@ -1,34 +1,8 @@
-Class QUintForSize<4>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<4> (0x17190c0) 0 empty
-Class QUintForSize<8>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<8> (0x1719140) 0 empty
-Class QUintForType<void*>
- size=1 align=1
- base size=1 base align=1
-QUintForType<void*> (0x1719300) 0 empty
- QUintForSize<4> (0x1719340) 0 empty
-Class QIntForSize<4>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<4> (0x1719440) 0 empty
-Class QIntForSize<8>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<8> (0x17194c0) 0 empty
-Class QIntForType<void*>
- size=1 align=1
- base size=1 base align=1
-QIntForType<void*> (0x1719680) 0 empty
- QIntForSize<4> (0x17196c0) 0 empty
Class QSysInfo
size=1 align=1
@@ -50,75 +24,19 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0x1719bc0) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0x1719e00) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0x1719ec0) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0x1719f80) 0 empty
-Class QTypeInfo<uchar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uchar> (0x174a040) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0x174a100) 0 empty
-Class QTypeInfo<ushort>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ushort> (0x174a1c0) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0x174a280) 0 empty
-Class QTypeInfo<uint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uint> (0x174a340) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0x174a400) 0 empty
-Class QTypeInfo<ulong>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ulong> (0x174a4c0) 0 empty
-Class QTypeInfo<qint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<qint64> (0x174a580) 0 empty
-Class QTypeInfo<quint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<quint64> (0x174a640) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0x174a700) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0x174a7c0) 0 empty
Class QFlag
size=4 align=4
@@ -135,10 +53,6 @@ Class QChar
base size=2 base align=2
QChar (0x174aac0) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0x174abc0) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -151,10 +65,6 @@ Class QAtomic
QAtomic (0x17ca1c0) 0
QBasicAtomic (0x17ca200) 0
-Class <anonymous union>
- size=128 align=8
- base size=128 base align=8
-<anonymous union> (0x17ca480) 0
Class __darwin_pthread_handler_rec
size=12 align=4
@@ -236,75 +146,19 @@ Class QByteRef
base size=8 base align=4
QByteRef (0x185d1c0) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0x185d580) 0 empty
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0x185da00) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0x185da80) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0x185db00) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0x185db80) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0x185dc00) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0x185dc80) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0x185dd00) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0x185dd80) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0x185de00) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0x185de80) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0x185df00) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0x185df80) 0
-Class QFlags<Qt::TextInteractionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::TextInteractionFlag> (0x19ab000) 0
Class QInternal
size=1 align=1
@@ -331,10 +185,6 @@ Class QLatin1String
base size=4 base align=4
QLatin1String (0x19ab800) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0x19abc40) 0
Class QCharRef
size=8 align=4
@@ -347,10 +197,6 @@ Class QConstString
QConstString (0x1b66840) 0
QString (0x1b66880) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0x1b66980) 0 empty
Vtable for std::exception
std::exception::_ZTVSt9exception: 5u entries
@@ -413,10 +259,6 @@ Class QListData
base size=4 base align=4
QListData (0x1bd4180) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0x1bd47c0) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -441,15 +283,7 @@ Class QTextCodec
QTextCodec (0x1bd4640) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0x1bd4b00) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0x1bd4a40) 0
Class QTextEncoder
size=32 align=4
@@ -472,25 +306,13 @@ Class QGenericReturnArgument
QGenericReturnArgument (0x1bd4d40) 0
QGenericArgument (0x1bd4d80) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0x1bd4440) 0
Class QMetaObject
size=16 align=4
base size=16 base align=4
QMetaObject (0x1bd4fc0) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0x1d071c0) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0x1d07100) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -582,10 +404,6 @@ QIODevice (0x1d07800) 0
QObject (0x1d07840) 0
primary-for QIODevice (0x1d07800)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0x1d07a80) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -605,25 +423,13 @@ Class QRegExp
base size=4 base align=4
QRegExp (0x1dc6080) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0x1dc62c0) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0x1dc6340) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0x1dc6540) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0x1dc6480) 0
Class QStringList
size=4 align=4
@@ -631,15 +437,7 @@ Class QStringList
QStringList (0x1dc6600) 0
QList<QString> (0x1dc6640) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0x1dc6b00) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0x1dc6b80) 0
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -773,50 +571,22 @@ QFile (0x1e62e00) 0
QObject (0x1e62e80) 0
primary-for QIODevice (0x1e62e40)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0x1e62440) 0
Class QFileInfo
size=4 align=4
base size=4 base align=4
QFileInfo (0x1e62540) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0x1f09040) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0x1f090c0) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0x1f09280) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0x1f091c0) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0x1f09340) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0x1f09480) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0x1f09500) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -873,10 +643,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0x1f09540) 0
vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0x1f09800) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -950,10 +716,6 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0x1f09d00) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0x1f09d80) 0 empty
Class QMapData::Node
size=8 align=4
@@ -978,10 +740,6 @@ Class QTextStream
QTextStream (0x1fd1d40) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0x1fd1400) 0
Class QTextStreamManipulator
size=24 align=4
@@ -1088,40 +846,16 @@ Class rlimit
base size=16 base align=8
rlimit (0x2164cc0) 0
-Class OSReadSwapInt64(const volatile void*, uintptr_t)::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-OSReadSwapInt64(const volatile void*, uintptr_t)::<anonymous union> (0x2164ec0) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0x21a8580) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0x21a8600) 0
Class wait
size=4 align=4
base size=4 base align=4
wait (0x21a8500) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x21a8680) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x21a8700) 0
-Class <anonymous struct>
- size=16 align=8
- base size=16 base align=8
-<anonymous struct> (0x21a8780) 0
Class QVectorData
size=16 align=4
@@ -1259,15 +993,7 @@ Class QLocale
base size=4 base align=4
QLocale (0x22ce6c0) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0x22ce780) 0 empty
-Class QFlags<QLocale::NumberOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLocale::NumberOption> (0x22ce840) 0
Vtable for QSystemLocale
QSystemLocale::_ZTV13QSystemLocale: 6u entries
@@ -1294,270 +1020,58 @@ Class QMetaType
base size=0 base align=1
QMetaType (0x22cea40) 0 empty
-Class QMetaTypeId2<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QString> (0x22cec40) 0 empty
-Class QMetaTypeId2<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<int> (0x22ced00) 0 empty
-Class QMetaTypeId2<uint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<uint> (0x22cedc0) 0 empty
-Class QMetaTypeId2<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<bool> (0x22cee80) 0 empty
-Class QMetaTypeId2<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<double> (0x22cef40) 0 empty
-Class QMetaTypeId2<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QByteArray> (0x22ce140) 0 empty
-Class QMetaTypeId2<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QChar> (0x22ce640) 0 empty
-Class QMetaTypeId2<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long int> (0x23b5040) 0 empty
-Class QMetaTypeId2<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short int> (0x23b5100) 0 empty
-Class QMetaTypeId2<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<char> (0x23b51c0) 0 empty
-Class QMetaTypeId2<ulong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<ulong> (0x23b5280) 0 empty
-Class QMetaTypeId2<ushort>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<ushort> (0x23b5340) 0 empty
-Class QMetaTypeId2<uchar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<uchar> (0x23b5400) 0 empty
-Class QMetaTypeId2<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<float> (0x23b54c0) 0 empty
-Class QMetaTypeId2<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QObject*> (0x23b5580) 0 empty
-Class QMetaTypeId2<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QWidget*> (0x23b5640) 0 empty
-Class QMetaTypeId2<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<void*> (0x23b5700) 0 empty
-Class QMetaTypeId2<qlonglong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<qlonglong> (0x23b57c0) 0 empty
-Class QMetaTypeId2<qulonglong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<qulonglong> (0x23b5880) 0 empty
-Class QMetaTypeId2<QStringList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QStringList> (0x23b5940) 0 empty
-Class QMetaTypeId2<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitArray> (0x23b5a00) 0 empty
-Class QMetaTypeId2<QDate>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDate> (0x23b5ac0) 0 empty
-Class QMetaTypeId2<QTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTime> (0x23b5b80) 0 empty
-Class QMetaTypeId2<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDateTime> (0x23b5c40) 0 empty
-Class QMetaTypeId2<QUrl>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QUrl> (0x23b5d00) 0 empty
-Class QMetaTypeId2<QLocale>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLocale> (0x23b5dc0) 0 empty
-Class QMetaTypeId2<QRect>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRect> (0x23b5e80) 0 empty
-Class QMetaTypeId2<QRectF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRectF> (0x23b5f40) 0 empty
-Class QMetaTypeId2<QSize>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSize> (0x23d0000) 0 empty
-Class QMetaTypeId2<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizeF> (0x23d00c0) 0 empty
-Class QMetaTypeId2<QLine>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLine> (0x23d0180) 0 empty
-Class QMetaTypeId2<QLineF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLineF> (0x23d0240) 0 empty
-Class QMetaTypeId2<QPoint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPoint> (0x23d0300) 0 empty
-Class QMetaTypeId2<QPointF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPointF> (0x23d03c0) 0 empty
-Class QMetaTypeId2<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegExp> (0x23d0480) 0 empty
-Class QMetaTypeId2<QColorGroup>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColorGroup> (0x23d0540) 0 empty
-Class QMetaTypeId2<QFont>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QFont> (0x23d0600) 0 empty
-Class QMetaTypeId2<QPixmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPixmap> (0x23d06c0) 0 empty
-Class QMetaTypeId2<QBrush>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBrush> (0x23d0780) 0 empty
-Class QMetaTypeId2<QColor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColor> (0x23d0840) 0 empty
-Class QMetaTypeId2<QPalette>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPalette> (0x23d0900) 0 empty
-Class QMetaTypeId2<QIcon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QIcon> (0x23d09c0) 0 empty
-Class QMetaTypeId2<QImage>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QImage> (0x23d0a80) 0 empty
-Class QMetaTypeId2<QPolygon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPolygon> (0x23d0b40) 0 empty
-Class QMetaTypeId2<QRegion>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegion> (0x23d0c00) 0 empty
-Class QMetaTypeId2<QBitmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitmap> (0x23d0cc0) 0 empty
-Class QMetaTypeId2<QCursor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QCursor> (0x23d0d80) 0 empty
-Class QMetaTypeId2<QSizePolicy>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizePolicy> (0x23d0e40) 0 empty
-Class QMetaTypeId2<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QKeySequence> (0x23d0f00) 0 empty
-Class QMetaTypeId2<QPen>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPen> (0x23d0fc0) 0 empty
-Class QMetaTypeId2<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextLength> (0x23eb080) 0 empty
-Class QMetaTypeId2<QTextFormat>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextFormat> (0x23eb140) 0 empty
-Class QMetaTypeId2<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMatrix> (0x23eb200) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -1584,60 +1098,20 @@ Class QVariant
base size=16 base align=4
QVariant (0x23eb280) 0
-Class QMetaTypeId2<QVariantList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QVariantList> (0x23eb7c0) 0 empty
-Class QMetaTypeId2<QVariantMap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QVariantMap> (0x23eb880) 0 empty
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0x23eba80) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0x23eb9c0) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0x23ebc80) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0x23ebbc0) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0x23ebe00) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0x23ebf40) 0 empty
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0x23eb440) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x23eb540) 0
-Class <anonymous struct>
- size=3156 align=4
- base size=3156 base align=4
-<anonymous struct> (0x23ebd00) 0
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1715,15 +1189,7 @@ Class QUrl
base size=4 base align=4
QUrl (0x2489800) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0x24899c0) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0x2489a40) 0 empty
Vtable for QEventLoop
QEventLoop::_ZTV10QEventLoop: 14u entries
@@ -1750,10 +1216,6 @@ QEventLoop (0x2489ac0) 0
QObject (0x2489b00) 0
primary-for QEventLoop (0x2489ac0)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0x2489d00) 0
Vtable for QAbstractEventDispatcher
QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 27u entries
@@ -1798,20 +1260,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0x2489f40) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0x2489ec0) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0x2578040) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0x2578180) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -1981,10 +1435,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0x25788c0) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0x25789c0) 0 empty
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -2091,20 +1541,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0x26134c0) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0x2613580) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0x2613600) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0x26136c0) 0 empty
Class QMetaProperty
size=20 align=4
@@ -2116,10 +1558,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0x2613780) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0x2613840) 0 empty
Vtable for QMimeData
QMimeData::_ZTV9QMimeData: 17u entries
@@ -2301,10 +1739,6 @@ QLibrary (0x26b1000) 0
QObject (0x26b1040) 0
primary-for QLibrary (0x26b1000)
-Class QFlags<QLibrary::LoadHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLibrary::LoadHint> (0x26b1200) 0
Vtable for QPluginLoader
QPluginLoader::_ZTV13QPluginLoader: 14u entries
@@ -2341,10 +1775,6 @@ Class QMutex
base size=4 base align=4
QMutex (0x26b1540) 0
-Class QMutexLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMutexLocker::<anonymous union> (0x26b1700) 0
Class QMutexLocker
size=4 align=4
@@ -2356,20 +1786,12 @@ Class QReadWriteLock
base size=4 base align=4
QReadWriteLock (0x26b17c0) 0
-Class QReadLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QReadLocker::<anonymous union> (0x26b1880) 0
Class QReadLocker
size=4 align=4
base size=4 base align=4
QReadLocker (0x26b1800) 0
-Class QWriteLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QWriteLocker::<anonymous union> (0x26b19c0) 0
Class QWriteLocker
size=4 align=4
@@ -2427,10 +1849,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0x2768300) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0x2768400) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -2442,70 +1860,42 @@ Class QDate
base size=4 base align=4
QDate (0x2768680) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0x2768880) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0x2768900) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0x2768b00) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0x2768b80) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0x2768d00) 0 empty
Class QPoint
size=8 align=4
base size=8 base align=4
QPoint (0x2768d80) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0x2768c40) 0 empty
Class QPointF
size=16 align=8
base size=16 base align=4
QPointF (0x280a140) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0x280a5c0) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0x280a8c0) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0x280a940) 0 empty
Class QLineF
size=32 align=8
base size=32 base align=4
QLineF (0x280aac0) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0x280ab80) 0 empty
Class QLinkedListData
size=20 align=4
@@ -2517,40 +1907,24 @@ Class QSize
base size=8 base align=4
QSize (0x280a500) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0x290c340) 0 empty
Class QSizeF
size=16 align=8
base size=16 base align=4
QSizeF (0x290c700) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0x290cb00) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0x290cf80) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0x290c200) 0 empty
Class QRectF
size=32 align=8
base size=32 base align=4
QRectF (0x29d8000) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0x29d81c0) 0 empty
Class QSharedData
size=4 align=4
@@ -2598,10 +1972,6 @@ Class QKeySequence
base size=4 base align=4
QKeySequence (0x29d8c00) 0
-Class QTypeInfo<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QKeySequence> (0x29d8dc0) 0 empty
Vtable for QMimeSource
QMimeSource::_ZTV11QMimeSource: 7u entries
@@ -2640,15 +2010,7 @@ Class QMacMime
QMacMime (0x29d8fc0) 0
vptr=((& QMacMime::_ZTV8QMacMime) + 8u)
-Class QList<QMacMime*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QMacMime*>::<anonymous union> (0x2ad4080) 0
-Class QList<QMacMime*>
- size=4 align=4
- base size=4 base align=4
-QList<QMacMime*> (0x29d8f40) 0
Vtable for QMacPasteboardMime
QMacPasteboardMime::_ZTV18QMacPasteboardMime: 10u entries
@@ -2949,15 +2311,7 @@ Class QInputMethodEvent::Attribute
base size=28 base align=4
QInputMethodEvent::Attribute (0x2b64d40) 0
-Class QList<QInputMethodEvent::Attribute>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute>::<anonymous union> (0x2b64f00) 0
-Class QList<QInputMethodEvent::Attribute>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute> (0x2b64e40) 0
Vtable for QInputMethodEvent
QInputMethodEvent::_ZTV17QInputMethodEvent: 4u entries
@@ -3246,15 +2600,7 @@ Class QAccessible
base size=0 base align=1
QAccessible (0x2bea5c0) 0 empty
-Class QFlags<QAccessible::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::StateFlag> (0x2bea700) 0
-Class QFlags<QAccessible::RelationFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::RelationFlag> (0x2bea780) 0
Vtable for QAccessibleInterface
QAccessibleInterface::_ZTV20QAccessibleInterface: 19u entries
@@ -3643,40 +2989,16 @@ Class QPaintDevice
QPaintDevice (0x2c520c0) 0
vptr=((& QPaintDevice::_ZTV12QPaintDevice) + 8u)
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x2cb0100) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x2cb0180) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x2cb0200) 0
-Class QColor::<anonymous union>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union> (0x2cb0080) 0
Class QColor
size=16 align=4
base size=14 base align=4
QColor (0x2cb0000) 0
-Class QVector<QPoint>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint>::<anonymous union> (0x2cb0640) 0
-Class QVector<QPoint>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint> (0x2cb0540) 0
Class QPolygon
size=4 align=4
@@ -3684,15 +3006,7 @@ Class QPolygon
QPolygon (0x2cb06c0) 0
QVector<QPoint> (0x2cb0700) 0
-Class QVector<QPointF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF>::<anonymous union> (0x2cb0b40) 0
-Class QVector<QPointF>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF> (0x2cb0a40) 0
Class QPolygonF
size=4 align=4
@@ -3705,10 +3019,6 @@ Class QMatrix
base size=48 base align=4
QMatrix (0x2cb0f00) 0
-Class QTypeInfo<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMatrix> (0x2cb0f80) 0 empty
Class QImageTextKeyLang
size=8 align=4
@@ -3733,10 +3043,6 @@ QImage (0x2d58100) 0
QPaintDevice (0x2d58140) 0
primary-for QImage (0x2d58100)
-Class QTypeInfo<QImage>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QImage> (0x2d58500) 0 empty
Vtable for QPixmap
QPixmap::_ZTV7QPixmap: 7u entries
@@ -3761,45 +3067,17 @@ Class QBrush
base size=4 base align=4
QBrush (0x2d58a40) 0
-Class QTypeInfo<QBrush>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBrush> (0x2d58b00) 0 empty
Class QBrushData
size=72 align=4
base size=72 base align=4
QBrushData (0x2d58b80) 0
-Class QVector<QGradientStop>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QGradientStop>::<anonymous union> (0x2d58e00) 0
-Class QVector<QGradientStop>
- size=4 align=4
- base size=4 base align=4
-QVector<QGradientStop> (0x2d58d00) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=32 align=8
- base size=32 base align=8
-QGradient::<anonymous union>::<anonymous struct> (0x2d58f40) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=40 align=8
- base size=40 base align=8
-QGradient::<anonymous union>::<anonymous struct> (0x2d58fc0) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=24 align=8
- base size=24 base align=8
-QGradient::<anonymous union>::<anonymous struct> (0x2d58240) 0
-Class QGradient::<anonymous union>
- size=40 align=8
- base size=40 base align=8
-QGradient::<anonymous union> (0x2d58ec0) 0
Class QGradient
size=56 align=4
@@ -4195,10 +3473,6 @@ QAbstractPrintDialog (0x2f54c00) 0
QPaintDevice (0x2f54cc0) 8
vptr=((& QAbstractPrintDialog::_ZTV20QAbstractPrintDialog) + 248u)
-Class QFlags<QAbstractPrintDialog::PrintDialogOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractPrintDialog::PrintDialogOption> (0x2f54f40) 0
Vtable for QColorDialog
QColorDialog::_ZTV12QColorDialog: 66u entries
@@ -4449,10 +3723,6 @@ QFileDialog (0x3056240) 0
QPaintDevice (0x3056300) 8
vptr=((& QFileDialog::_ZTV11QFileDialog) + 244u)
-Class QFlags<QFileDialog::Option>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileDialog::Option> (0x30565c0) 0
Vtable for QFontDialog
QFontDialog::_ZTV11QFontDialog: 66u entries
@@ -4859,10 +4129,6 @@ QMessageBox (0x30568c0) 0
QPaintDevice (0x3056fc0) 8
vptr=((& QMessageBox::_ZTV11QMessageBox) + 244u)
-Class QFlags<QMessageBox::StandardButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<QMessageBox::StandardButton> (0x313e240) 0
Vtable for QPageSetupDialog
QPageSetupDialog::_ZTV16QPageSetupDialog: 67u entries
@@ -5217,25 +4483,13 @@ Class QPainterPath
base size=4 base align=4
QPainterPath (0x313ed80) 0
-Class QVector<QPainterPath::Element>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element>::<anonymous union> (0x31eb0c0) 0
-Class QVector<QPainterPath::Element>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element> (0x313ef00) 0
Class QPainterPathPrivate
size=8 align=4
base size=8 base align=4
QPainterPathPrivate (0x313efc0) 0
-Class QTypeInfo<QPainterPath::Element>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPainterPath::Element> (0x31eb180) 0 empty
Class QPainterPathStroker
size=4 align=4
@@ -5290,15 +4544,7 @@ Class QGraphicsItem
QGraphicsItem (0x31eb500) 0
vptr=((& QGraphicsItem::_ZTV13QGraphicsItem) + 8u)
-Class QFlags<QGraphicsItem::GraphicsItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGraphicsItem::GraphicsItemFlag> (0x31eb880) 0
-Class QMetaTypeId<QGraphicsItem*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QGraphicsItem*> (0x31eb900) 0 empty
Vtable for QAbstractGraphicsShapeItem
QAbstractGraphicsShapeItem::_ZTV26QAbstractGraphicsShapeItem: 39u entries
@@ -5887,10 +5133,6 @@ Class QPen
base size=4 base align=4
QPen (0x32ec3c0) 0
-Class QTypeInfo<QPen>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPen> (0x32ec540) 0 empty
Vtable for QGraphicsScene
QGraphicsScene::_ZTV14QGraphicsScene: 34u entries
@@ -6059,60 +5301,20 @@ Class QTextOption
base size=24 base align=4
QTextOption (0x33690c0) 0
-Class QFlags<QTextOption::Flag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextOption::Flag> (0x33691c0) 0
Class QPainter
size=4 align=4
base size=4 base align=4
QPainter (0x3369240) 0
-Class QFlags<QPainter::RenderHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPainter::RenderHint> (0x33697c0) 0
-Class QVector<QLineF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF>::<anonymous union> (0x3369980) 0
-Class QVector<QLineF>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF> (0x3369880) 0
-Class QVector<QLine>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine>::<anonymous union> (0x3369b80) 0
-Class QVector<QLine>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine> (0x3369a80) 0
-Class QVector<QRectF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF>::<anonymous union> (0x3369d80) 0
-Class QVector<QRectF>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF> (0x3369c80) 0
-Class QVector<QRect>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect>::<anonymous union> (0x3369f40) 0
-Class QVector<QRect>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect> (0x3369e40) 0
Vtable for QAbstractScrollArea
QAbstractScrollArea::_ZTV19QAbstractScrollArea: 65u entries
@@ -6367,20 +5569,8 @@ QGraphicsView (0x34b7480) 0
QPaintDevice (0x34b7580) 8
vptr=((& QGraphicsView::_ZTV13QGraphicsView) + 252u)
-Class QFlags<QGraphicsView::CacheModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGraphicsView::CacheModeFlag> (0x34b77c0) 0
-Class QList<QGraphicsItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QGraphicsItem*>::<anonymous union> (0x34b7900) 0
-Class QList<QGraphicsItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QGraphicsItem*> (0x34b7840) 0
Vtable for QBitmap
QBitmap::_ZTV7QBitmap: 7u entries
@@ -6407,10 +5597,6 @@ Class QIcon
base size=4 base align=4
QIcon (0x34b7e80) 0
-Class QTypeInfo<QIcon>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QIcon> (0x34b7fc0) 0 empty
Vtable for QIconEngine
QIconEngine::_ZTV11QIconEngine: 9u entries
@@ -6566,10 +5752,6 @@ QImageIOPlugin (0x35bdb80) 0
QFactoryInterface (0x359e8c0) 8 nearly-empty
primary-for QImageIOHandlerFactoryInterface (0x359e880)
-Class QFlags<QImageIOPlugin::Capability>
- size=4 align=4
- base size=4 base align=4
-QFlags<QImageIOPlugin::Capability> (0x359eb00) 0
Class QImageReader
size=4 align=4
@@ -6745,15 +5927,7 @@ QActionGroup (0x364d4c0) 0
QObject (0x364d500) 0
primary-for QActionGroup (0x364d4c0)
-Class QList<QAction*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QAction*>::<anonymous union> (0x364d780) 0
-Class QList<QAction*>
- size=4 align=4
- base size=4 base align=4
-QList<QAction*> (0x364d6c0) 0
Vtable for QInputContext
QInputContext::_ZTV13QInputContext: 25u entries
@@ -7058,10 +6232,6 @@ QAbstractSpinBox (0x36f3300) 0
QPaintDevice (0x36f3380) 8
vptr=((& QAbstractSpinBox::_ZTV16QAbstractSpinBox) + 252u)
-Class QFlags<QAbstractSpinBox::StepEnabledFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractSpinBox::StepEnabledFlag> (0x36f3600) 0
Vtable for QAbstractSlider
QAbstractSlider::_ZTV15QAbstractSlider: 64u entries
@@ -7269,15 +6439,7 @@ QStyle (0x36f3b80) 0
QObject (0x36f3bc0) 0
primary-for QStyle (0x36f3b80)
-Class QFlags<QStyle::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::StateFlag> (0x36f3e00) 0
-Class QFlags<QStyle::SubControl>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::SubControl> (0x36f3e80) 0
Vtable for QTabBar
QTabBar::_ZTV7QTabBar: 67u entries
@@ -7536,10 +6698,6 @@ Class QStyleOptionFrame
QStyleOptionFrame (0x3812580) 0
QStyleOption (0x38125c0) 0
-Class QFlags<QStyleOptionFrameV2::FrameFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionFrameV2::FrameFeature> (0x3812880) 0
Class QStyleOptionFrameV2
size=56 align=4
@@ -7566,10 +6724,6 @@ Class QStyleOptionHeader
QStyleOptionHeader (0x3812e00) 0
QStyleOption (0x3812e40) 0
-Class QFlags<QStyleOptionButton::ButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionButton::ButtonFeature> (0x3812600) 0
Class QStyleOptionButton
size=64 align=4
@@ -7577,10 +6731,6 @@ Class QStyleOptionButton
QStyleOptionButton (0x3812fc0) 0
QStyleOption (0x3812080) 0
-Class QFlags<QStyleOptionTab::CornerWidget>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionTab::CornerWidget> (0x38b3140) 0
Class QStyleOptionTab
size=72 align=4
@@ -7595,10 +6745,6 @@ QStyleOptionTabV2 (0x38b3280) 0
QStyleOptionTab (0x38b32c0) 0
QStyleOption (0x38b3300) 0
-Class QFlags<QStyleOptionToolBar::ToolBarFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionToolBar::ToolBarFeature> (0x38b3680) 0
Class QStyleOptionToolBar
size=68 align=4
@@ -7625,10 +6771,6 @@ Class QStyleOptionMenuItem
QStyleOptionMenuItem (0x38b3a40) 0
QStyleOption (0x38b3a80) 0
-Class QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature> (0x38b3d00) 0
Class QStyleOptionQ3ListViewItem
size=64 align=4
@@ -7654,10 +6796,6 @@ Class QStyleOptionViewItem
QStyleOptionViewItem (0x38b3880) 0
QStyleOption (0x38b3ac0) 0
-Class QFlags<QStyleOptionViewItemV2::ViewItemFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionViewItemV2::ViewItemFeature> (0x3949180) 0
Class QStyleOptionViewItemV2
size=84 align=4
@@ -7698,15 +6836,7 @@ QStyleOptionSpinBox (0x3949b00) 0
QStyleOptionComplex (0x3949b40) 0
QStyleOption (0x3949b80) 0
-Class QList<QStyleOptionQ3ListViewItem>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::<anonymous union> (0x3949f00) 0
-Class QList<QStyleOptionQ3ListViewItem>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem> (0x3949e40) 0
Class QStyleOptionQ3ListView
size=84 align=4
@@ -7715,10 +6845,6 @@ QStyleOptionQ3ListView (0x3949cc0) 0
QStyleOptionComplex (0x3949d00) 0
QStyleOption (0x3949d40) 0
-Class QFlags<QStyleOptionToolButton::ToolButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionToolButton::ToolButtonFeature> (0x39b3000) 0
Class QStyleOptionToolButton
size=96 align=4
@@ -7809,10 +6935,6 @@ Class QItemSelectionRange
base size=8 base align=4
QItemSelectionRange (0x39b3c80) 0
-Class QTypeInfo<QItemSelectionRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QItemSelectionRange> (0x39b3600) 0 empty
Vtable for QItemSelectionModel
QItemSelectionModel::_ZTV19QItemSelectionModel: 18u entries
@@ -7843,20 +6965,8 @@ QItemSelectionModel (0x39b3c00) 0
QObject (0x3a58000) 0
primary-for QItemSelectionModel (0x39b3c00)
-Class QFlags<QItemSelectionModel::SelectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QItemSelectionModel::SelectionFlag> (0x3a581c0) 0
-Class QList<QItemSelectionRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::<anonymous union> (0x3a58340) 0
-Class QList<QItemSelectionRange>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange> (0x3a58280) 0
Class QItemSelection
size=4 align=4
@@ -7986,10 +7096,6 @@ QAbstractItemView (0x3a58500) 0
QPaintDevice (0x3a58600) 8
vptr=((& QAbstractItemView::_ZTV17QAbstractItemView) + 392u)
-Class QFlags<QAbstractItemView::EditTrigger>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractItemView::EditTrigger> (0x3a58880) 0
Vtable for QAbstractProxyModel
QAbstractProxyModel::_ZTV19QAbstractProxyModel: 47u entries
@@ -8327,15 +7433,7 @@ Class QItemEditorCreatorBase
QItemEditorCreatorBase (0x3b47300) 0 nearly-empty
vptr=((& QItemEditorCreatorBase::_ZTV22QItemEditorCreatorBase) + 8u)
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union> (0x3b47880) 0
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*> (0x3b47740) 0
Vtable for QItemEditorFactory
QItemEditorFactory::_ZTV18QItemEditorFactory: 6u entries
@@ -8476,15 +7574,7 @@ QListView (0x3b47ac0) 0
QPaintDevice (0x3b47c00) 8
vptr=((& QListView::_ZTV9QListView) + 392u)
-Class QVector<QWidgetItemData>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData>::<anonymous union> (0x3b47000) 0
-Class QVector<QWidgetItemData>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData> (0x3b47f00) 0
Vtable for QListWidgetItem
QListWidgetItem::_ZTV15QListWidgetItem: 11u entries
@@ -8777,15 +7867,7 @@ Class QStandardItem
QStandardItem (0x3bdaa40) 0
vptr=((& QStandardItem::_ZTV13QStandardItem) + 8u)
-Class QList<QStandardItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QStandardItem*>::<anonymous union> (0x3bdae80) 0
-Class QList<QStandardItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QStandardItem*> (0x3bdadc0) 0
Vtable for QStandardItemModel
QStandardItemModel::_ZTV18QStandardItemModel: 42u entries
@@ -9303,35 +8385,15 @@ QTreeView (0x3d01b40) 0
QPaintDevice (0x3d01c80) 8
vptr=((& QTreeView::_ZTV9QTreeView) + 400u)
-Class QFlags<QTreeWidgetItemIterator::IteratorFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTreeWidgetItemIterator::IteratorFlag> (0x3d01f40) 0
Class QTreeWidgetItemIterator
size=12 align=4
base size=12 base align=4
QTreeWidgetItemIterator (0x3d01e40) 0
-Class QVector<QVector<QWidgetItemData> >::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> >::<anonymous union> (0x3ded240) 0
-Class QVector<QVector<QWidgetItemData> >
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> > (0x3ded140) 0
-Class QList<QTreeWidgetItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::<anonymous union> (0x3ded400) 0
-Class QList<QTreeWidgetItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*> (0x3ded340) 0
Vtable for QTreeWidgetItem
QTreeWidgetItem::_ZTV15QTreeWidgetItem: 10u entries
@@ -10212,15 +9274,7 @@ Class QTextItem
base size=0 base align=1
QTextItem (0x3fef1c0) 0 empty
-Class QTypeInfo<QTextItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextItem> (0x3fef280) 0 empty
-Class QFlags<QPaintEngine::PaintEngineFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::PaintEngineFeature> (0x3fef440) 0
Vtable for QPaintEngine
QPaintEngine::_ZTV12QPaintEngine: 24u entries
@@ -10255,20 +9309,12 @@ Class QPaintEngine
QPaintEngine (0x3fef300) 0
vptr=((& QPaintEngine::_ZTV12QPaintEngine) + 8u)
-Class QFlags<QPaintEngine::DirtyFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::DirtyFlag> (0x3fef700) 0
Class QPaintEngineState
size=4 align=4
base size=4 base align=4
QPaintEngineState (0x3fef640) 0
-Class QFlags<QTextItem::RenderFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextItem::RenderFlag> (0x3fef780) 0
Vtable for QPrinter
QPrinter::_ZTV8QPrinter: 7u entries
@@ -10361,10 +9407,6 @@ QCommonStyle (0x3fefe40) 0
QObject (0x3fefec0) 0
primary-for QStyle (0x3fefe80)
-Class QPointer<QFocusFrame>
- size=4 align=4
- base size=4 base align=4
-QPointer<QFocusFrame> (0x3feff80) 0
Vtable for QMotifStyle
QMotifStyle::_ZTV11QMotifStyle: 35u entries
@@ -10738,30 +9780,14 @@ Class QTextLength
base size=12 base align=4
QTextLength (0x40d0500) 0
-Class QSharedDataPointer<QTextFormatPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextFormatPrivate> (0x415e200) 0
Class QTextFormat
size=8 align=4
base size=8 base align=4
QTextFormat (0x415e080) 0
-Class QVector<QTextLength>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength>::<anonymous union> (0x415e5c0) 0
-Class QVector<QTextLength>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength> (0x415e4c0) 0
-Class QFlags<QTextFormat::PageBreakFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextFormat::PageBreakFlag> (0x415e6c0) 0
Class QTextCharFormat
size=8 align=4
@@ -10816,15 +9842,7 @@ Class QTextLayout
base size=4 base align=4
QTextLayout (0x415ec00) 0
-Class QVector<QTextLayout::FormatRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange>::<anonymous union> (0x415ef00) 0
-Class QVector<QTextLayout::FormatRange>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange> (0x415ee00) 0
Class QTextLine
size=8 align=4
@@ -10874,15 +9892,7 @@ QTextDocument (0x4270100) 0
QObject (0x4270140) 0
primary-for QTextDocument (0x4270100)
-Class QFlags<QTextDocument::FindFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextDocument::FindFlag> (0x4270340) 0
-Class QSharedDataPointer<QTextCursorPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextCursorPrivate> (0x4270480) 0
Class QTextCursor
size=4 align=4
@@ -10894,15 +9904,7 @@ Class QAbstractTextDocumentLayout::Selection
base size=12 base align=4
QAbstractTextDocumentLayout::Selection (0x42705c0) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union> (0x4270800) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection> (0x4270700) 0
Class QAbstractTextDocumentLayout::PaintContext
size=48 align=4
@@ -11064,10 +10066,6 @@ QTextFrame (0x4270d80) 0
QObject (0x4321000) 0
primary-for QTextObject (0x4270f80)
-Class QTypeInfo<QTextFrame::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFrame::iterator> (0x4321540) 0 empty
Vtable for QTextBlockUserData
QTextBlockUserData::_ZTV18QTextBlockUserData: 4u entries
@@ -11092,25 +10090,13 @@ Class QTextBlock
base size=8 base align=4
QTextBlock (0x4321780) 0
-Class QTypeInfo<QTextBlock>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock> (0x4321b80) 0 empty
-Class QTypeInfo<QTextBlock::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock::iterator> (0x4321c40) 0 empty
Class QTextFragment
size=12 align=4
base size=12 base align=4
QTextFragment (0x4321d00) 0
-Class QTypeInfo<QTextFragment>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFragment> (0x4321f00) 0 empty
Vtable for QSyntaxHighlighter
QSyntaxHighlighter::_ZTV18QSyntaxHighlighter: 15u entries
@@ -12072,10 +11058,6 @@ QDateEdit (0x44fb600) 0
QPaintDevice (0x44fb700) 8
vptr=((& QDateEdit::_ZTV9QDateEdit) + 260u)
-Class QFlags<QDateTimeEdit::Section>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDateTimeEdit::Section> (0x44fb900) 0
Vtable for QDial
QDial::_ZTV5QDial: 64u entries
@@ -12236,10 +11218,6 @@ QDialogButtonBox (0x44fbbc0) 0
QPaintDevice (0x44fbc40) 8
vptr=((& QDialogButtonBox::_ZTV16QDialogButtonBox) + 232u)
-Class QFlags<QDialogButtonBox::StandardButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDialogButtonBox::StandardButton> (0x44fbe80) 0
Vtable for QDockWidget
QDockWidget::_ZTV11QDockWidget: 63u entries
@@ -12319,10 +11297,6 @@ QDockWidget (0x44fbec0) 0
QPaintDevice (0x44fbf40) 8
vptr=((& QDockWidget::_ZTV11QDockWidget) + 232u)
-Class QFlags<QDockWidget::DockWidgetFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDockWidget::DockWidgetFeature> (0x45b7080) 0
Vtable for QFocusFrame
QFocusFrame::_ZTV11QFocusFrame: 63u entries
@@ -12484,10 +11458,6 @@ QFontComboBox (0x45b7300) 0
QPaintDevice (0x45b73c0) 8
vptr=((& QFontComboBox::_ZTV13QFontComboBox) + 240u)
-Class QFlags<QFontComboBox::FontFilter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFontComboBox::FontFilter> (0x45b7600) 0
Vtable for QGroupBox
QGroupBox::_ZTV9QGroupBox: 63u entries
@@ -14056,10 +13026,6 @@ QTextEdit (0x484a1c0) 0
QPaintDevice (0x484a2c0) 8
vptr=((& QTextEdit::_ZTV9QTextEdit) + 256u)
-Class QFlags<QTextEdit::AutoFormattingFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextEdit::AutoFormattingFlag> (0x484a600) 0
Vtable for QTextBrowser
QTextBrowser::_ZTV12QTextBrowser: 74u entries
@@ -14487,20 +13453,12 @@ Class QGLColormap
base size=4 base align=4
QGLColormap (0x4951280) 0
-Class QFlags<QGL::FormatOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGL::FormatOption> (0x4951440) 0
Class QGLFormat
size=4 align=4
base size=4 base align=4
QGLFormat (0x4951480) 0
-Class QFlags<QGLFormat::OpenGLVersionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGLFormat::OpenGLVersionFlag> (0x4951640) 0
Vtable for QGLContext
QGLContext::_ZTV10QGLContext: 10u entries
@@ -14645,188 +13603,40 @@ QGLPixelBuffer (0x4951c00) 0
QPaintDevice (0x4951c40) 0
primary-for QGLPixelBuffer (0x4951c00)
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0x4b18340) 0
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0x4b411c0) 0
-Class QTypeInfo<QDebug::Stream*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDebug::Stream*> (0x4b95240) 0 empty
-Class QVectorTypedData<QPoint>
- size=24 align=4
- base size=24 base align=4
-QVectorTypedData<QPoint> (0x4bd36c0) 0
-Class QVectorTypedData<QPointF>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QPointF> (0x4bd3dc0) 0
-Class QVectorTypedData<QPainterPath::Element>
- size=40 align=4
- base size=40 base align=4
-QVectorTypedData<QPainterPath::Element> (0x4c2c4c0) 0
-Class QVectorTypedData<QLineF>
- size=48 align=4
- base size=48 base align=4
-QVectorTypedData<QLineF> (0x4c4a9c0) 0
-Class QVectorTypedData<QLine>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QLine> (0x4c4ab80) 0
-Class QVectorTypedData<QRectF>
- size=48 align=4
- base size=48 base align=4
-QVectorTypedData<QRectF> (0x4c4ad40) 0
-Class QVectorTypedData<QRect>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QRect> (0x4c4af00) 0
-Class QList<QTreeWidgetItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::Node (0x4d33480) 0
-Class QVectorTypedData<QVector<QWidgetItemData> >
- size=20 align=4
- base size=20 base align=4
-QVectorTypedData<QVector<QWidgetItemData> > (0x4d336c0) 0
-Class QVectorTypedData<QTextLength>
- size=28 align=4
- base size=28 base align=4
-QVectorTypedData<QTextLength> (0x4d52d00) 0
-Class QVectorTypedData<QTextLayout::FormatRange>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QTextLayout::FormatRange> (0x4d83000) 0
-Class QVectorTypedData<QAbstractTextDocumentLayout::Selection>
- size=28 align=4
- base size=28 base align=4
-QVectorTypedData<QAbstractTextDocumentLayout::Selection> (0x4d83680) 0
-Class QList<QAction*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QAction*>::Node (0x4da79c0) 0
-Class QHashNode<QVariant::Type, QItemEditorCreatorBase*>
- size=16 align=4
- base size=16 base align=4
-QHashNode<QVariant::Type, QItemEditorCreatorBase*> (0x4e54c00) 0
-Class QTypeInfo<QStandardItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QStandardItem*> (0x4e83540) 0 empty
-Class QTypeInfo<QTreeWidgetItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTreeWidgetItem*> (0x4e837c0) 0 empty
-Class QTypeInfo<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLength> (0x4e83d40) 0 empty
-Class QTypeInfo<QTextLayout::FormatRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLayout::FormatRange> (0x4ea00c0) 0 empty
-Class QTypeInfo<QAbstractTextDocumentLayout::Selection>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAbstractTextDocumentLayout::Selection> (0x4ea0540) 0 empty
-Class QTypeInfo<QAction*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAction*> (0x4ea0c40) 0 empty
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0x4ebe280) 0
-Class QTypeInfo<QMacMime*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMacMime*> (0x4ebe500) 0 empty
-Class QList<QMacMime*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QMacMime*>::Node (0x4ebe5c0) 0
-Class QList<QVariant>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::Node (0x4ebe840) 0
-Class QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union> (0x4ebe9c0) 0
-Class QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union> (0x4ef1000) 0
-Class QTypeInfo<QGraphicsItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QGraphicsItem*> (0x4ef1740) 0 empty
-Class QList<QGraphicsItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QGraphicsItem*>::Node (0x4ef1800) 0
-Class QTypeInfo<QStyleOptionQ3ListViewItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QStyleOptionQ3ListViewItem> (0x4ef1c80) 0 empty
-Class QList<QStyleOptionQ3ListViewItem>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::Node (0x4ef1d40) 0
-Class QList<QItemSelectionRange>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::Node (0x4f280c0) 0
-Class QList<QStandardItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QStandardItem*>::Node (0x4f28400) 0
-Class QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union> (0x4f28740) 0
-Class QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union> (0x4f5a180) 0
diff --git a/tests/auto/bic/data/QtOpenGL.4.2.0.win32-gcc-ia32.txt b/tests/auto/bic/data/QtOpenGL.4.2.0.win32-gcc-ia32.txt
index dcbaefb..b312b0a 100644
--- a/tests/auto/bic/data/QtOpenGL.4.2.0.win32-gcc-ia32.txt
+++ b/tests/auto/bic/data/QtOpenGL.4.2.0.win32-gcc-ia32.txt
@@ -1,34 +1,8 @@
-Class QUintForSize<4>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<4> (0xa9db00) 0 empty
-Class QUintForSize<8>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<8> (0xa9dc00) 0 empty
-Class QUintForType<void*>
- size=1 align=1
- base size=1 base align=1
-QUintForType<void*> (0xa9df00) 0 empty
- QUintForSize<4> (0xac3000) 0 empty
-Class QIntForSize<4>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<4> (0xac3180) 0 empty
-Class QIntForSize<8>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<8> (0xac3240) 0 empty
-Class QIntForType<void*>
- size=1 align=1
- base size=1 base align=1
-QIntForType<void*> (0xac34c0) 0 empty
- QIntForSize<4> (0xac3580) 0 empty
Class QSysInfo
size=1 align=1
@@ -50,80 +24,20 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0xaf4380) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0xaf4b80) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0xaf4d00) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0xaf4e80) 0 empty
-Class QTypeInfo<uchar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uchar> (0xb0a000) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0xb0a180) 0 empty
-Class QTypeInfo<ushort>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ushort> (0xb0a300) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0xb0a480) 0 empty
-Class QTypeInfo<uint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uint> (0xb0a600) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0xb0a780) 0 empty
-Class QTypeInfo<ulong>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ulong> (0xb0a900) 0 empty
-Class QTypeInfo<qint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<qint64> (0xb0aa80) 0 empty
-Class QTypeInfo<quint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<quint64> (0xb0ac00) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0xb0ad80) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0xb0af00) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0xb36080) 0 empty
Class QFlag
size=4 align=4
@@ -140,10 +54,6 @@ Class QChar
base size=2 base align=2
QChar (0xb60f00) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0xb97380) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -171,75 +81,19 @@ Class QByteRef
base size=8 base align=4
QByteRef (0xc4ab00) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0xd72780) 0 empty
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0xd84e00) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0xd940c0) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0xd84980) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0xd9ae40) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0xd94780) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0xda58c0) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0xdd9300) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0xdd9600) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0xda0080) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0xde94c0) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0xde9d00) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0xdef080) 0
-Class QFlags<Qt::TextInteractionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::TextInteractionFlag> (0xdef480) 0
Class QInternal
size=1 align=1
@@ -266,10 +120,6 @@ Class QLatin1String
base size=4 base align=4
QLatin1String (0xee1240) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0xee1780) 0
Class QCharRef
size=8 align=4
@@ -282,10 +132,6 @@ Class QConstString
QConstString (0x11f2dc0) 0
QString (0x11f2e00) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0x1260140) 0 empty
Vtable for std::exception
std::exception::_ZTVSt9exception: 5u entries
@@ -348,10 +194,6 @@ Class QListData
base size=4 base align=4
QListData (0x12d61c0) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0x13db180) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -376,15 +218,7 @@ Class QTextCodec
QTextCodec (0xee11c0) 0 nearly-empty
vptr=((&QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0x13ff480) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0xc5c5c0) 0
Class QTextEncoder
size=32 align=4
@@ -407,25 +241,13 @@ Class QGenericReturnArgument
QGenericReturnArgument (0x144a300) 0
QGenericArgument (0x144a340) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0x1460ac0) 0
Class QMetaObject
size=16 align=4
base size=16 base align=4
QMetaObject (0x144a8c0) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0x1490340) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0x1476f40) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -517,10 +339,6 @@ QIODevice (0x13b4a40) 0
QObject (0x150ab40) 0
primary-for QIODevice (0x13b4a40)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0x150ae40) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -540,25 +358,13 @@ Class QRegExp
base size=4 base align=4
QRegExp (0xee10c0) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0x15d8c00) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0x15d8f80) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0x15f04c0) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0x15f0380) 0
Class QStringList
size=4 align=4
@@ -566,15 +372,7 @@ Class QStringList
QStringList (0xee1140) 0
QList<QString> (0x15f0740) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0x15f0600) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0x15f05c0) 0
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -703,50 +501,22 @@ QFile (0x1709080) 0
QObject (0x1709100) 0
primary-for QIODevice (0x17090c0)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0x1709940) 0
Class QFileInfo
size=4 align=4
base size=4 base align=4
QFileInfo (0x1762140) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0x1762a80) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0x177bac0) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0x177bf80) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0x177be80) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0x171ffc0) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0x17b6c80) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0x17b6880) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -803,10 +573,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0x16f8f80) 0
vptr=((&QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0x18550c0) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -880,10 +646,6 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0x18bbb80) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0x18bbc80) 0 empty
Class QMapData::Node
size=8 align=4
@@ -908,10 +670,6 @@ Class QTextStream
QTextStream (0x1aff580) 0
vptr=((&QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0x1aff940) 0
Class QTextStreamManipulator
size=24 align=4
@@ -948,20 +706,8 @@ QTextOStream (0x1b90740) 0
QTextStream (0x1b90780) 0
primary-for QTextOStream (0x1b90740)
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x1bc4980) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x1bc4b00) 0
-Class <anonymous struct>
- size=16 align=8
- base size=16 base align=8
-<anonymous struct> (0x1be28c0) 0
Class QVectorData
size=16 align=4
@@ -1099,15 +845,7 @@ Class QLocale
base size=4 base align=4
QLocale (0x1e4acc0) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0x1e91980) 0 empty
-Class QFlags<QLocale::NumberOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLocale::NumberOption> (0x1e91040) 0
Vtable for QSystemLocale
QSystemLocale::_ZTV13QSystemLocale: 6u entries
@@ -1134,270 +872,58 @@ Class QMetaType
base size=0 base align=1
QMetaType (0x1ef3400) 0 empty
-Class QMetaTypeId2<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QString> (0x1f16840) 0 empty
-Class QMetaTypeId2<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<int> (0x1f169c0) 0 empty
-Class QMetaTypeId2<uint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<uint> (0x1f16b40) 0 empty
-Class QMetaTypeId2<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<bool> (0x1f16cc0) 0 empty
-Class QMetaTypeId2<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<double> (0x1f16e40) 0 empty
-Class QMetaTypeId2<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QByteArray> (0x1f16fc0) 0 empty
-Class QMetaTypeId2<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QChar> (0x1f2a140) 0 empty
-Class QMetaTypeId2<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long int> (0x1f2a2c0) 0 empty
-Class QMetaTypeId2<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short int> (0x1f2a440) 0 empty
-Class QMetaTypeId2<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<char> (0x1f2a5c0) 0 empty
-Class QMetaTypeId2<ulong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<ulong> (0x1f2a740) 0 empty
-Class QMetaTypeId2<ushort>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<ushort> (0x1f2a8c0) 0 empty
-Class QMetaTypeId2<uchar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<uchar> (0x1f2aa40) 0 empty
-Class QMetaTypeId2<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<float> (0x1f2abc0) 0 empty
-Class QMetaTypeId2<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QObject*> (0x1f2ad40) 0 empty
-Class QMetaTypeId2<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QWidget*> (0x1f2aec0) 0 empty
-Class QMetaTypeId2<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<void*> (0x1f4a040) 0 empty
-Class QMetaTypeId2<qlonglong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<qlonglong> (0x1f4a1c0) 0 empty
-Class QMetaTypeId2<qulonglong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<qulonglong> (0x1f4a340) 0 empty
-Class QMetaTypeId2<QStringList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QStringList> (0x1f4a4c0) 0 empty
-Class QMetaTypeId2<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitArray> (0x1f4a640) 0 empty
-Class QMetaTypeId2<QDate>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDate> (0x1f4a7c0) 0 empty
-Class QMetaTypeId2<QTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTime> (0x1f4a940) 0 empty
-Class QMetaTypeId2<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDateTime> (0x1f4aac0) 0 empty
-Class QMetaTypeId2<QUrl>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QUrl> (0x1f4ac40) 0 empty
-Class QMetaTypeId2<QLocale>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLocale> (0x1f4adc0) 0 empty
-Class QMetaTypeId2<QRect>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRect> (0x1f4af40) 0 empty
-Class QMetaTypeId2<QRectF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRectF> (0x1f670c0) 0 empty
-Class QMetaTypeId2<QSize>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSize> (0x1f67240) 0 empty
-Class QMetaTypeId2<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizeF> (0x1f673c0) 0 empty
-Class QMetaTypeId2<QLine>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLine> (0x1f67540) 0 empty
-Class QMetaTypeId2<QLineF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLineF> (0x1f676c0) 0 empty
-Class QMetaTypeId2<QPoint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPoint> (0x1f67840) 0 empty
-Class QMetaTypeId2<QPointF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPointF> (0x1f679c0) 0 empty
-Class QMetaTypeId2<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegExp> (0x1f67b40) 0 empty
-Class QMetaTypeId2<QColorGroup>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColorGroup> (0x1f67cc0) 0 empty
-Class QMetaTypeId2<QFont>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QFont> (0x1f67e40) 0 empty
-Class QMetaTypeId2<QPixmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPixmap> (0x1f67fc0) 0 empty
-Class QMetaTypeId2<QBrush>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBrush> (0x1f86140) 0 empty
-Class QMetaTypeId2<QColor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColor> (0x1f862c0) 0 empty
-Class QMetaTypeId2<QPalette>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPalette> (0x1f86440) 0 empty
-Class QMetaTypeId2<QIcon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QIcon> (0x1f865c0) 0 empty
-Class QMetaTypeId2<QImage>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QImage> (0x1f86740) 0 empty
-Class QMetaTypeId2<QPolygon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPolygon> (0x1f868c0) 0 empty
-Class QMetaTypeId2<QRegion>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegion> (0x1f86a40) 0 empty
-Class QMetaTypeId2<QBitmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitmap> (0x1f86bc0) 0 empty
-Class QMetaTypeId2<QCursor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QCursor> (0x1f86d40) 0 empty
-Class QMetaTypeId2<QSizePolicy>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizePolicy> (0x1f86ec0) 0 empty
-Class QMetaTypeId2<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QKeySequence> (0x1fa8040) 0 empty
-Class QMetaTypeId2<QPen>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPen> (0x1fa81c0) 0 empty
-Class QMetaTypeId2<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextLength> (0x1fa8340) 0 empty
-Class QMetaTypeId2<QTextFormat>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextFormat> (0x1fa84c0) 0 empty
-Class QMetaTypeId2<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMatrix> (0x1fa8640) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -1424,45 +950,17 @@ Class QVariant
base size=16 base align=8
QVariant (0x1476c80) 0
-Class QMetaTypeId2<QVariantList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QVariantList> (0x1ffae00) 0 empty
-Class QMetaTypeId2<QVariantMap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QVariantMap> (0x1ffafc0) 0 empty
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0x202e480) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0x1fbc540) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0x202e780) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0x1fbc5c0) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0x1fa8800) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0x2096100) 0 empty
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1540,15 +1038,7 @@ Class QUrl
base size=4 base align=4
QUrl (0x1f16180) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0x2152440) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0x21b0040) 0 empty
Vtable for QEventLoop
QEventLoop::_ZTV10QEventLoop: 14u entries
@@ -1575,10 +1065,6 @@ QEventLoop (0x21b06c0) 0
QObject (0x21b0700) 0
primary-for QEventLoop (0x21b06c0)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0x21b0a00) 0
Vtable for QAbstractEventDispatcher
QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 27u entries
@@ -1623,20 +1109,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0x2228200) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0x2228e80) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0x2228180) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0x22542c0) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -1806,10 +1284,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0x22d77c0) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0x22d7e00) 0 empty
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -1917,20 +1391,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0x143fc00) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0x2376bc0) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0x143fc80) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0x238b1c0) 0 empty
Class QMetaProperty
size=20 align=4
@@ -1942,10 +1408,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0x143fd80) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0x238b900) 0 empty
Vtable for QMimeData
QMimeData::_ZTV9QMimeData: 17u entries
@@ -2127,10 +1589,6 @@ QLibrary (0x2449040) 0
QObject (0x2449080) 0
primary-for QLibrary (0x2449040)
-Class QFlags<QLibrary::LoadHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLibrary::LoadHint> (0x24492c0) 0
Vtable for QPluginLoader
QPluginLoader::_ZTV13QPluginLoader: 14u entries
@@ -2172,10 +1630,6 @@ Class QMutex
base size=4 base align=4
QMutex (0x24b97c0) 0
-Class QMutexLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMutexLocker::<anonymous union> (0x24e7000) 0
Class QMutexLocker
size=4 align=4
@@ -2187,20 +1641,12 @@ Class QReadWriteLock
base size=4 base align=4
QReadWriteLock (0x24e7e00) 0
-Class QReadLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QReadLocker::<anonymous union> (0x24f8140) 0
Class QReadLocker
size=4 align=4
base size=4 base align=4
QReadLocker (0x24e7fc0) 0
-Class QWriteLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QWriteLocker::<anonymous union> (0x24f8900) 0
Class QWriteLocker
size=4 align=4
@@ -2258,10 +1704,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0x253cac0) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0x2597480) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -2273,70 +1715,42 @@ Class QDate
base size=4 base align=4
QDate (0x1e4ab40) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0x25ee640) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0x1e4abc0) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0x2616280) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0x1762040) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0x2644040) 0 empty
Class QPoint
size=8 align=4
base size=8 base align=4
QPoint (0x1f16340) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0x2644c80) 0 empty
Class QPointF
size=16 align=8
base size=16 base align=8
QPointF (0x1f16380) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0x266be40) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0x1f162c0) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0x26b22c0) 0 empty
Class QLineF
size=32 align=8
base size=32 base align=8
QLineF (0x1f16300) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0x26dd780) 0 empty
Class QLinkedListData
size=20 align=4
@@ -2348,40 +1762,24 @@ Class QSize
base size=8 base align=4
QSize (0x1f16240) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0x27cefc0) 0 empty
Class QSizeF
size=16 align=8
base size=16 base align=8
QSizeF (0x1f16280) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0x2821500) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0x1f161c0) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0x28a7000) 0 empty
Class QRectF
size=32 align=8
base size=32 base align=8
QRectF (0x1f16200) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0x292c340) 0 empty
Class QSharedData
size=4 align=4
@@ -2429,10 +1827,6 @@ Class QKeySequence
base size=4 base align=4
QKeySequence (0x1f16700) 0
-Class QTypeInfo<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QKeySequence> (0x2a45280) 0 empty
Vtable for QMimeSource
QMimeSource::_ZTV11QMimeSource: 7u entries
@@ -2749,15 +2143,7 @@ Class QInputMethodEvent::Attribute
base size=32 base align=8
QInputMethodEvent::Attribute (0x2b3de80) 0
-Class QList<QInputMethodEvent::Attribute>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute>::<anonymous union> (0x2b65380) 0
-Class QList<QInputMethodEvent::Attribute>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute> (0x2b3df80) 0
Vtable for QInputMethodEvent
QInputMethodEvent::_ZTV17QInputMethodEvent: 4u entries
@@ -3046,15 +2432,7 @@ Class QAccessible
base size=0 base align=1
QAccessible (0x2c10bc0) 0 empty
-Class QFlags<QAccessible::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::StateFlag> (0x2c25c40) 0
-Class QFlags<QAccessible::RelationFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::RelationFlag> (0x2c34180) 0
Vtable for QAccessibleInterface
QAccessibleInterface::_ZTV20QAccessibleInterface: 19u entries
@@ -3445,40 +2823,16 @@ Class QPaintDevice
QPaintDevice (0x29bef80) 0
vptr=((&QPaintDevice::_ZTV12QPaintDevice) + 8u)
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x2d6adc0) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x2d6af00) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x2dad000) 0
-Class QColor::<anonymous union>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union> (0x2d6ad40) 0
Class QColor
size=16 align=4
base size=14 base align=4
QColor (0x1f164c0) 0
-Class QVector<QPoint>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint>::<anonymous union> (0x2ddc540) 0
-Class QVector<QPoint>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint> (0x2ddc3c0) 0
Class QPolygon
size=4 align=4
@@ -3486,15 +2840,7 @@ Class QPolygon
QPolygon (0x1f165c0) 0
QVector<QPoint> (0x2ddc700) 0
-Class QVector<QPointF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF>::<anonymous union> (0x2e1d980) 0
-Class QVector<QPointF>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF> (0x2e1d840) 0
Class QPolygonF
size=4 align=4
@@ -3507,10 +2853,6 @@ Class QMatrix
base size=48 base align=8
QMatrix (0x1f16800) 0
-Class QTypeInfo<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMatrix> (0x2e79800) 0 empty
Class QImageTextKeyLang
size=8 align=4
@@ -3537,10 +2879,6 @@ QImage (0x1f16580) 0
QPaintDevice (0x2e9bcc0) 0
primary-for QImage (0x1f16580)
-Class QTypeInfo<QImage>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QImage> (0x2f56000) 0 empty
Vtable for QPixmap
QPixmap::_ZTV7QPixmap: 9u entries
@@ -3567,45 +2905,17 @@ Class QBrush
base size=4 base align=4
QBrush (0x1f16480) 0
-Class QTypeInfo<QBrush>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBrush> (0x2faaa00) 0 empty
Class QBrushData
size=72 align=8
base size=72 base align=8
QBrushData (0x2faa1c0) 0
-Class QVector<QGradientStop>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QGradientStop>::<anonymous union> (0x2fc9900) 0
-Class QVector<QGradientStop>
- size=4 align=4
- base size=4 base align=4
-QVector<QGradientStop> (0x2fc9080) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=32 align=8
- base size=32 base align=8
-QGradient::<anonymous union>::<anonymous struct> (0x2fc9b40) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=40 align=8
- base size=40 base align=8
-QGradient::<anonymous union>::<anonymous struct> (0x2fc9c40) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=24 align=8
- base size=24 base align=8
-QGradient::<anonymous union>::<anonymous struct> (0x2fc9e80) 0
-Class QGradient::<anonymous union>
- size=40 align=8
- base size=40 base align=8
-QGradient::<anonymous union> (0x2fc9ac0) 0
Class QGradient
size=64 align=8
@@ -4017,10 +3327,6 @@ QAbstractPrintDialog (0x3353080) 0
QPaintDevice (0x3353180) 8
vptr=((&QAbstractPrintDialog::_ZTV20QAbstractPrintDialog) + 256u)
-Class QFlags<QAbstractPrintDialog::PrintDialogOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractPrintDialog::PrintDialogOption> (0x3353440) 0
Vtable for QColorDialog
QColorDialog::_ZTV12QColorDialog: 70u entries
@@ -4283,10 +3589,6 @@ QFileDialog (0x33ca9c0) 0
QPaintDevice (0x33caac0) 8
vptr=((&QFileDialog::_ZTV11QFileDialog) + 252u)
-Class QFlags<QFileDialog::Option>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileDialog::Option> (0x33f6480) 0
Vtable for QFontDialog
QFontDialog::_ZTV11QFontDialog: 70u entries
@@ -4713,10 +4015,6 @@ QMessageBox (0x3567900) 0
QPaintDevice (0x3567a00) 8
vptr=((&QMessageBox::_ZTV11QMessageBox) + 252u)
-Class QFlags<QMessageBox::StandardButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<QMessageBox::StandardButton> (0x357f680) 0
Vtable for QPageSetupDialog
QPageSetupDialog::_ZTV16QPageSetupDialog: 71u entries
@@ -5087,25 +4385,13 @@ Class QPainterPath
base size=4 base align=4
QPainterPath (0x2e55a80) 0
-Class QVector<QPainterPath::Element>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element>::<anonymous union> (0x36c4980) 0
-Class QVector<QPainterPath::Element>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element> (0x36c4800) 0
Class QPainterPathPrivate
size=8 align=4
base size=8 base align=4
QPainterPathPrivate (0x36ad1c0) 0
-Class QTypeInfo<QPainterPath::Element>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPainterPath::Element> (0x36c4b40) 0 empty
Class QPainterPathStroker
size=4 align=4
@@ -5160,15 +4446,7 @@ Class QGraphicsItem
QGraphicsItem (0x372c540) 0
vptr=((&QGraphicsItem::_ZTV13QGraphicsItem) + 8u)
-Class QFlags<QGraphicsItem::GraphicsItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGraphicsItem::GraphicsItemFlag> (0x372c680) 0
-Class QMetaTypeId<QGraphicsItem*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QGraphicsItem*> (0x3764580) 0 empty
Vtable for QAbstractGraphicsShapeItem
QAbstractGraphicsShapeItem::_ZTV26QAbstractGraphicsShapeItem: 39u entries
@@ -5757,10 +5035,6 @@ Class QPen
base size=4 base align=4
QPen (0x1f16740) 0
-Class QTypeInfo<QPen>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPen> (0x3895e00) 0 empty
Vtable for QGraphicsScene
QGraphicsScene::_ZTV14QGraphicsScene: 34u entries
@@ -5929,60 +5203,20 @@ Class QTextOption
base size=28 base align=8
QTextOption (0x3930a00) 0
-Class QFlags<QTextOption::Flag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextOption::Flag> (0x3930e40) 0
Class QPainter
size=4 align=4
base size=4 base align=4
QPainter (0x29f0080) 0
-Class QFlags<QPainter::RenderHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPainter::RenderHint> (0x398ea00) 0
-Class QVector<QLineF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF>::<anonymous union> (0x3a4f3c0) 0
-Class QVector<QLineF>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF> (0x39a57c0) 0
-Class QVector<QLine>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine>::<anonymous union> (0x3a4f740) 0
-Class QVector<QLine>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine> (0x39a5880) 0
-Class QVector<QRectF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF>::<anonymous union> (0x3a8f400) 0
-Class QVector<QRectF>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF> (0x39a59c0) 0
-Class QVector<QRect>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect>::<anonymous union> (0x3a8f700) 0
-Class QVector<QRect>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect> (0x2a00700) 0
Vtable for QAbstractScrollArea
QAbstractScrollArea::_ZTV19QAbstractScrollArea: 69u entries
@@ -6249,20 +5483,8 @@ QGraphicsView (0x373da40) 0
QPaintDevice (0x3b59c40) 8
vptr=((&QGraphicsView::_ZTV13QGraphicsView) + 260u)
-Class QFlags<QGraphicsView::CacheModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGraphicsView::CacheModeFlag> (0x3b921c0) 0
-Class QList<QGraphicsItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QGraphicsItem*>::<anonymous union> (0x3bfa440) 0
-Class QList<QGraphicsItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QGraphicsItem*> (0x372ca80) 0
Vtable for QBitmap
QBitmap::_ZTV7QBitmap: 9u entries
@@ -6291,10 +5513,6 @@ Class QIcon
base size=4 base align=4
QIcon (0x1f16540) 0
-Class QTypeInfo<QIcon>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QIcon> (0x3c86400) 0 empty
Vtable for QIconEngine
QIconEngine::_ZTV11QIconEngine: 9u entries
@@ -6450,10 +5668,6 @@ QImageIOPlugin (0x3ca5fc0) 0
QFactoryInterface (0x3cc4080) 8 nearly-empty
primary-for QImageIOHandlerFactoryInterface (0x3cc4040)
-Class QFlags<QImageIOPlugin::Capability>
- size=4 align=4
- base size=4 base align=4
-QFlags<QImageIOPlugin::Capability> (0x3cc4240) 0
Class QImageReader
size=4 align=4
@@ -6631,15 +5845,7 @@ QActionGroup (0x3d951c0) 0
QObject (0x3dd4540) 0
primary-for QActionGroup (0x3d951c0)
-Class QList<QAction*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QAction*>::<anonymous union> (0x3dfd000) 0
-Class QList<QAction*>
- size=4 align=4
- base size=4 base align=4
-QList<QAction*> (0x31dbd80) 0
Vtable for QInputContext
QInputContext::_ZTV13QInputContext: 25u entries
@@ -6948,10 +6154,6 @@ QAbstractSpinBox (0x3ebe100) 0
QPaintDevice (0x3ebe1c0) 8
vptr=((&QAbstractSpinBox::_ZTV16QAbstractSpinBox) + 260u)
-Class QFlags<QAbstractSpinBox::StepEnabledFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractSpinBox::StepEnabledFlag> (0x3ebe6c0) 0
Vtable for QAbstractSlider
QAbstractSlider::_ZTV15QAbstractSlider: 68u entries
@@ -7167,15 +6369,7 @@ QStyle (0x31a99c0) 0
QObject (0x3f87340) 0
primary-for QStyle (0x31a99c0)
-Class QFlags<QStyle::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::StateFlag> (0x3f87c80) 0
-Class QFlags<QStyle::SubControl>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::SubControl> (0x3face40) 0
Vtable for QTabBar
QTabBar::_ZTV7QTabBar: 71u entries
@@ -7446,10 +6640,6 @@ Class QStyleOptionFrame
QStyleOptionFrame (0x410ef40) 0
QStyleOption (0x410ef80) 0
-Class QFlags<QStyleOptionFrameV2::FrameFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionFrameV2::FrameFeature> (0x4124440) 0
Class QStyleOptionFrameV2
size=56 align=4
@@ -7476,10 +6666,6 @@ Class QStyleOptionHeader
QStyleOptionHeader (0x416d740) 0
QStyleOption (0x416d780) 0
-Class QFlags<QStyleOptionButton::ButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionButton::ButtonFeature> (0x4192240) 0
Class QStyleOptionButton
size=64 align=4
@@ -7487,10 +6673,6 @@ Class QStyleOptionButton
QStyleOptionButton (0x41920c0) 0
QStyleOption (0x4192100) 0
-Class QFlags<QStyleOptionTab::CornerWidget>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionTab::CornerWidget> (0x4192b80) 0
Class QStyleOptionTab
size=72 align=4
@@ -7505,10 +6687,6 @@ QStyleOptionTabV2 (0x41ea2c0) 0
QStyleOptionTab (0x41ea300) 0
QStyleOption (0x41ea340) 0
-Class QFlags<QStyleOptionToolBar::ToolBarFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionToolBar::ToolBarFeature> (0x41eaa80) 0
Class QStyleOptionToolBar
size=68 align=4
@@ -7535,10 +6713,6 @@ Class QStyleOptionMenuItem
QStyleOptionMenuItem (0x423a800) 0
QStyleOption (0x423a840) 0
-Class QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature> (0x428a240) 0
Class QStyleOptionQ3ListViewItem
size=64 align=4
@@ -7564,10 +6738,6 @@ Class QStyleOptionViewItem
QStyleOptionViewItem (0x42d6240) 0
QStyleOption (0x42d6280) 0
-Class QFlags<QStyleOptionViewItemV2::ViewItemFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionViewItemV2::ViewItemFeature> (0x42d6940) 0
Class QStyleOptionViewItemV2
size=84 align=4
@@ -7608,15 +6778,7 @@ QStyleOptionSpinBox (0x43585c0) 0
QStyleOptionComplex (0x4358600) 0
QStyleOption (0x4358640) 0
-Class QList<QStyleOptionQ3ListViewItem>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::<anonymous union> (0x4358c80) 0
-Class QList<QStyleOptionQ3ListViewItem>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem> (0x4358b80) 0
Class QStyleOptionQ3ListView
size=84 align=4
@@ -7625,10 +6787,6 @@ QStyleOptionQ3ListView (0x4358ac0) 0
QStyleOptionComplex (0x4358b00) 0
QStyleOption (0x4358b40) 0
-Class QFlags<QStyleOptionToolButton::ToolButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionToolButton::ToolButtonFeature> (0x438c740) 0
Class QStyleOptionToolButton
size=96 align=4
@@ -7719,10 +6877,6 @@ Class QItemSelectionRange
base size=8 base align=4
QItemSelectionRange (0x4462380) 0
-Class QTypeInfo<QItemSelectionRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QItemSelectionRange> (0x448c9c0) 0 empty
Vtable for QItemSelectionModel
QItemSelectionModel::_ZTV19QItemSelectionModel: 18u entries
@@ -7753,20 +6907,8 @@ QItemSelectionModel (0x448cdc0) 0
QObject (0x448ce00) 0
primary-for QItemSelectionModel (0x448cdc0)
-Class QFlags<QItemSelectionModel::SelectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QItemSelectionModel::SelectionFlag> (0x44c8140) 0
-Class QList<QItemSelectionRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::<anonymous union> (0x44c8fc0) 0
-Class QList<QItemSelectionRange>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange> (0x44c8ec0) 0
Class QItemSelection
size=4 align=4
@@ -7900,10 +7042,6 @@ QAbstractItemView (0x451a640) 0
QPaintDevice (0x451a780) 8
vptr=((&QAbstractItemView::_ZTV17QAbstractItemView) + 400u)
-Class QFlags<QAbstractItemView::EditTrigger>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractItemView::EditTrigger> (0x4543480) 0
Vtable for QAbstractProxyModel
QAbstractProxyModel::_ZTV19QAbstractProxyModel: 47u entries
@@ -8245,15 +7383,7 @@ Class QItemEditorCreatorBase
QItemEditorCreatorBase (0x469e200) 0 nearly-empty
vptr=((&QItemEditorCreatorBase::_ZTV22QItemEditorCreatorBase) + 8u)
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union> (0x469ef00) 0
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*> (0x469ed00) 0
Vtable for QItemEditorFactory
QItemEditorFactory::_ZTV18QItemEditorFactory: 6u entries
@@ -8398,15 +7528,7 @@ QListView (0x46bd680) 0
QPaintDevice (0x46bd800) 8
vptr=((&QListView::_ZTV9QListView) + 400u)
-Class QVector<QWidgetItemData>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData>::<anonymous union> (0x46dbe40) 0
-Class QVector<QWidgetItemData>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData> (0x46dbcc0) 0
Vtable for QListWidgetItem
QListWidgetItem::_ZTV15QListWidgetItem: 11u entries
@@ -8703,15 +7825,7 @@ Class QStandardItem
QStandardItem (0x48153c0) 0
vptr=((&QStandardItem::_ZTV13QStandardItem) + 8u)
-Class QList<QStandardItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QStandardItem*>::<anonymous union> (0x48cf880) 0
-Class QList<QStandardItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QStandardItem*> (0x48158c0) 0
Vtable for QStandardItemModel
QStandardItemModel::_ZTV18QStandardItemModel: 42u entries
@@ -9241,35 +8355,15 @@ QTreeView (0x4a3b980) 0
QPaintDevice (0x4a3bb00) 8
vptr=((&QTreeView::_ZTV9QTreeView) + 408u)
-Class QFlags<QTreeWidgetItemIterator::IteratorFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTreeWidgetItemIterator::IteratorFlag> (0x4a67ec0) 0
Class QTreeWidgetItemIterator
size=12 align=4
base size=12 base align=4
QTreeWidgetItemIterator (0x4a67a80) 0
-Class QVector<QVector<QWidgetItemData> >::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> >::<anonymous union> (0x4a9ccc0) 0
-Class QVector<QVector<QWidgetItemData> >
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> > (0x4a9cb40) 0
-Class QList<QTreeWidgetItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::<anonymous union> (0x4a9cf00) 0
-Class QList<QTreeWidgetItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*> (0x4a9c9c0) 0
Vtable for QTreeWidgetItem
QTreeWidgetItem::_ZTV15QTreeWidgetItem: 10u entries
@@ -10158,15 +9252,7 @@ Class QTextItem
base size=0 base align=1
QTextItem (0x398e840) 0 empty
-Class QTypeInfo<QTextItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextItem> (0x4e0fec0) 0 empty
-Class QFlags<QPaintEngine::PaintEngineFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::PaintEngineFeature> (0x4e3a4c0) 0
Vtable for QPaintEngine
QPaintEngine::_ZTV12QPaintEngine: 26u entries
@@ -10203,20 +9289,12 @@ Class QPaintEngine
QPaintEngine (0x2d1cb00) 0
vptr=((&QPaintEngine::_ZTV12QPaintEngine) + 8u)
-Class QFlags<QPaintEngine::DirtyFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::DirtyFlag> (0x4e3a940) 0
Class QPaintEngineState
size=4 align=4
base size=4 base align=4
QPaintEngineState (0x4e0fc40) 0
-Class QFlags<QTextItem::RenderFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextItem::RenderFlag> (0x4e0fdc0) 0
Vtable for QPrinter
QPrinter::_ZTV8QPrinter: 9u entries
@@ -10313,10 +9391,6 @@ QCommonStyle (0x4f7dc40) 0
QObject (0x4f7dcc0) 0
primary-for QStyle (0x4f7dc80)
-Class QPointer<QFocusFrame>
- size=4 align=4
- base size=4 base align=4
-QPointer<QFocusFrame> (0x4fb6500) 0
Vtable for QMotifStyle
QMotifStyle::_ZTV11QMotifStyle: 35u entries
@@ -10690,30 +9764,14 @@ Class QTextLength
base size=16 base align=8
QTextLength (0x1f16780) 0
-Class QSharedDataPointer<QTextFormatPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextFormatPrivate> (0x512bf80) 0
Class QTextFormat
size=8 align=4
base size=8 base align=4
QTextFormat (0x1f167c0) 0
-Class QVector<QTextLength>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength>::<anonymous union> (0x513e900) 0
-Class QVector<QTextLength>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength> (0x512ba80) 0
-Class QFlags<QTextFormat::PageBreakFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextFormat::PageBreakFlag> (0x512b600) 0
Class QTextCharFormat
size=8 align=4
@@ -10768,15 +9826,7 @@ Class QTextLayout
base size=4 base align=4
QTextLayout (0x30b4dc0) 0
-Class QVector<QTextLayout::FormatRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange>::<anonymous union> (0x52d3780) 0
-Class QVector<QTextLayout::FormatRange>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange> (0x52d3400) 0
Class QTextLine
size=8 align=4
@@ -10826,15 +9876,7 @@ QTextDocument (0x381d300) 0
QObject (0x5300fc0) 0
primary-for QTextDocument (0x381d300)
-Class QFlags<QTextDocument::FindFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextDocument::FindFlag> (0x5315500) 0
-Class QSharedDataPointer<QTextCursorPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextCursorPrivate> (0x5385700) 0
Class QTextCursor
size=4 align=4
@@ -10846,15 +9888,7 @@ Class QAbstractTextDocumentLayout::Selection
base size=12 base align=4
QAbstractTextDocumentLayout::Selection (0x5385c00) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union> (0x5385ec0) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection> (0x5385d40) 0
Class QAbstractTextDocumentLayout::PaintContext
size=56 align=8
@@ -11016,10 +10050,6 @@ QTextFrame (0x53007c0) 0
QObject (0x542c180) 0
primary-for QTextObject (0x542c140)
-Class QTypeInfo<QTextFrame::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFrame::iterator> (0x5455700) 0 empty
Vtable for QTextBlockUserData
QTextBlockUserData::_ZTV18QTextBlockUserData: 4u entries
@@ -11044,25 +10074,13 @@ Class QTextBlock
base size=8 base align=4
QTextBlock (0x52aec40) 0
-Class QTypeInfo<QTextBlock>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock> (0x5486f80) 0 empty
-Class QTypeInfo<QTextBlock::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock::iterator> (0x54a1100) 0 empty
Class QTextFragment
size=12 align=4
base size=12 base align=4
QTextFragment (0x53f5280) 0
-Class QTypeInfo<QTextFragment>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFragment> (0x54a1b80) 0 empty
Vtable for QSyntaxHighlighter
QSyntaxHighlighter::_ZTV18QSyntaxHighlighter: 15u entries
@@ -12056,10 +11074,6 @@ QDateEdit (0x5765940) 0
QPaintDevice (0x5765a80) 8
vptr=((&QDateEdit::_ZTV9QDateEdit) + 268u)
-Class QFlags<QDateTimeEdit::Section>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDateTimeEdit::Section> (0x573bc40) 0
Vtable for QDial
QDial::_ZTV5QDial: 68u entries
@@ -12228,10 +11242,6 @@ QDialogButtonBox (0x57d6bc0) 0
QPaintDevice (0x57d6c80) 8
vptr=((&QDialogButtonBox::_ZTV16QDialogButtonBox) + 240u)
-Class QFlags<QDialogButtonBox::StandardButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDialogButtonBox::StandardButton> (0x57d6d80) 0
Vtable for QDockWidget
QDockWidget::_ZTV11QDockWidget: 67u entries
@@ -12315,10 +11325,6 @@ QDockWidget (0x582ca00) 0
QPaintDevice (0x582cac0) 8
vptr=((&QDockWidget::_ZTV11QDockWidget) + 240u)
-Class QFlags<QDockWidget::DockWidgetFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDockWidget::DockWidgetFeature> (0x582cf40) 0
Vtable for QFocusFrame
QFocusFrame::_ZTV11QFocusFrame: 67u entries
@@ -12488,10 +11494,6 @@ QFontComboBox (0x590a3c0) 0
QPaintDevice (0x590a4c0) 8
vptr=((&QFontComboBox::_ZTV13QFontComboBox) + 248u)
-Class QFlags<QFontComboBox::FontFilter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFontComboBox::FontFilter> (0x590a8c0) 0
Vtable for QGroupBox
QGroupBox::_ZTV9QGroupBox: 67u entries
@@ -14136,10 +13138,6 @@ QTextEdit (0x54a1dc0) 0
QPaintDevice (0x5d66b00) 8
vptr=((&QTextEdit::_ZTV9QTextEdit) + 264u)
-Class QFlags<QTextEdit::AutoFormattingFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextEdit::AutoFormattingFlag> (0x5d912c0) 0
Vtable for QTextBrowser
QTextBrowser::_ZTV12QTextBrowser: 78u entries
@@ -14672,30 +13670,14 @@ Class _EXCEPTION_POINTERS
base size=8 base align=4
_EXCEPTION_POINTERS (0x60688c0) 0
-Class _LARGE_INTEGER::<anonymous struct>
- size=8 align=4
- base size=8 base align=4
-_LARGE_INTEGER::<anonymous struct> (0x6068b00) 0
-Class _LARGE_INTEGER::<anonymous struct>
- size=8 align=4
- base size=8 base align=4
-_LARGE_INTEGER::<anonymous struct> (0x6068c40) 0
Class _LARGE_INTEGER
size=8 align=8
base size=8 base align=8
_LARGE_INTEGER (0x6068a80) 0
-Class _ULARGE_INTEGER::<anonymous struct>
- size=8 align=4
- base size=8 base align=4
-_ULARGE_INTEGER::<anonymous struct> (0x6068e80) 0
-Class _ULARGE_INTEGER::<anonymous struct>
- size=8 align=4
- base size=8 base align=4
-_ULARGE_INTEGER::<anonymous struct> (0x6068f40) 0
Class _ULARGE_INTEGER
size=8 align=8
@@ -14892,10 +13874,6 @@ Class _SINGLE_LIST_ENTRY
base size=4 base align=4
_SINGLE_LIST_ENTRY (0x60be300) 0
-Class _SLIST_HEADER::<anonymous struct>
- size=8 align=4
- base size=8 base align=4
-_SLIST_HEADER::<anonymous struct> (0x60be600) 0
Class _SLIST_HEADER
size=8 align=8
@@ -14982,70 +13960,26 @@ Class _IMAGE_ROM_HEADERS
base size=76 base align=4
_IMAGE_ROM_HEADERS (0x60ef880) 0
-Class _IMAGE_SECTION_HEADER::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-_IMAGE_SECTION_HEADER::<anonymous union> (0x60efa40) 0
Class _IMAGE_SECTION_HEADER
size=40 align=4
base size=40 base align=4
_IMAGE_SECTION_HEADER (0x60ef9c0) 0
-Class _IMAGE_SYMBOL::<anonymous union>::<anonymous struct>
- size=8 align=2
- base size=8 base align=2
-_IMAGE_SYMBOL::<anonymous union>::<anonymous struct> (0x60eff40) 0
-Class _IMAGE_SYMBOL::<anonymous union>
- size=8 align=2
- base size=8 base align=2
-_IMAGE_SYMBOL::<anonymous union> (0x60efe80) 0
Class _IMAGE_SYMBOL
size=18 align=2
base size=18 base align=2
_IMAGE_SYMBOL (0x60efe00) 0
-Class _IMAGE_AUX_SYMBOL::<anonymous struct>::<anonymous union>::<anonymous struct>
- size=4 align=2
- base size=4 base align=2
-_IMAGE_AUX_SYMBOL::<anonymous struct>::<anonymous union>::<anonymous struct> (0x60fc400) 0
-Class _IMAGE_AUX_SYMBOL::<anonymous struct>::<anonymous union>
- size=4 align=2
- base size=4 base align=2
-_IMAGE_AUX_SYMBOL::<anonymous struct>::<anonymous union> (0x60fc380) 0
-Class _IMAGE_AUX_SYMBOL::<anonymous struct>::<anonymous union>::<anonymous struct>
- size=8 align=2
- base size=8 base align=2
-_IMAGE_AUX_SYMBOL::<anonymous struct>::<anonymous union>::<anonymous struct> (0x60fc640) 0
-Class _IMAGE_AUX_SYMBOL::<anonymous struct>::<anonymous union>::<anonymous struct>
- size=8 align=2
- base size=8 base align=2
-_IMAGE_AUX_SYMBOL::<anonymous struct>::<anonymous union>::<anonymous struct> (0x60fc7c0) 0
-Class _IMAGE_AUX_SYMBOL::<anonymous struct>::<anonymous union>
- size=8 align=2
- base size=8 base align=2
-_IMAGE_AUX_SYMBOL::<anonymous struct>::<anonymous union> (0x60fc5c0) 0
-Class _IMAGE_AUX_SYMBOL::<anonymous struct>
- size=18 align=2
- base size=18 base align=2
-_IMAGE_AUX_SYMBOL::<anonymous struct> (0x60fc2c0) 0
-Class _IMAGE_AUX_SYMBOL::<anonymous struct>
- size=18 align=1
- base size=18 base align=1
-_IMAGE_AUX_SYMBOL::<anonymous struct> (0x60fca40) 0
-Class _IMAGE_AUX_SYMBOL::<anonymous struct>
- size=16 align=2
- base size=16 base align=2
-_IMAGE_AUX_SYMBOL::<anonymous struct> (0x60fcb00) 0
Class _IMAGE_AUX_SYMBOL
size=18 align=2
@@ -15057,10 +13991,6 @@ Class _IMAGE_COFF_SYMBOLS_HEADER
base size=32 base align=2
_IMAGE_COFF_SYMBOLS_HEADER (0x60fccc0) 0
-Class _IMAGE_RELOCATION::<anonymous union>
- size=4 align=2
- base size=4 base align=2
-_IMAGE_RELOCATION::<anonymous union> (0x610f040) 0
Class _IMAGE_RELOCATION
size=10 align=2
@@ -15072,10 +14002,6 @@ Class _IMAGE_BASE_RELOCATION
base size=8 base align=4
_IMAGE_BASE_RELOCATION (0x610f240) 0
-Class _IMAGE_LINENUMBER::<anonymous union>
- size=4 align=2
- base size=4 base align=2
-_IMAGE_LINENUMBER::<anonymous union> (0x610f440) 0
Class _IMAGE_LINENUMBER
size=6 align=2
@@ -15097,30 +14023,18 @@ Class _IMAGE_IMPORT_BY_NAME
base size=4 base align=2
_IMAGE_IMPORT_BY_NAME (0x610fb00) 0
-Class _IMAGE_THUNK_DATA32::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-_IMAGE_THUNK_DATA32::<anonymous union> (0x610fd00) 0
Class _IMAGE_THUNK_DATA32
size=4 align=4
base size=4 base align=4
_IMAGE_THUNK_DATA32 (0x610fc80) 0
-Class _IMAGE_THUNK_DATA64::<anonymous union>
- size=8 align=4
- base size=8 base align=4
-_IMAGE_THUNK_DATA64::<anonymous union> (0x6125000) 0
Class _IMAGE_THUNK_DATA64
size=8 align=4
base size=8 base align=4
_IMAGE_THUNK_DATA64 (0x610ff80) 0
-Class _IMAGE_IMPORT_DESCRIPTOR::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-_IMAGE_IMPORT_DESCRIPTOR::<anonymous union> (0x61252c0) 0
Class _IMAGE_IMPORT_DESCRIPTOR
size=20 align=4
@@ -15152,25 +14066,9 @@ Class _IMAGE_RESOURCE_DIRECTORY
base size=16 base align=4
_IMAGE_RESOURCE_DIRECTORY (0x6125cc0) 0
-Class _IMAGE_RESOURCE_DIRECTORY_ENTRY::<anonymous union>::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-_IMAGE_RESOURCE_DIRECTORY_ENTRY::<anonymous union>::<anonymous struct> (0x6125f80) 0
-Class _IMAGE_RESOURCE_DIRECTORY_ENTRY::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-_IMAGE_RESOURCE_DIRECTORY_ENTRY::<anonymous union> (0x6125f00) 0
-Class _IMAGE_RESOURCE_DIRECTORY_ENTRY::<anonymous union>::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-_IMAGE_RESOURCE_DIRECTORY_ENTRY::<anonymous union>::<anonymous struct> (0x6136200) 0
-Class _IMAGE_RESOURCE_DIRECTORY_ENTRY::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-_IMAGE_RESOURCE_DIRECTORY_ENTRY::<anonymous union> (0x6136140) 0
Class _IMAGE_RESOURCE_DIRECTORY_ENTRY
size=8 align=4
@@ -15227,45 +14125,21 @@ Class _IMAGE_SEPARATE_DEBUG_HEADER
base size=48 base align=4
_IMAGE_SEPARATE_DEBUG_HEADER (0x614a7c0) 0
-Class _NT_TIB::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-_NT_TIB::<anonymous union> (0x6155100) 0
Class _NT_TIB
size=28 align=4
base size=28 base align=4
_NT_TIB (0x614af00) 0
-Class _REPARSE_DATA_BUFFER::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-_REPARSE_DATA_BUFFER::<anonymous union>::<anonymous struct> (0x61554c0) 0
-Class _REPARSE_DATA_BUFFER::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-_REPARSE_DATA_BUFFER::<anonymous union>::<anonymous struct> (0x6155700) 0
-Class _REPARSE_DATA_BUFFER::<anonymous union>::<anonymous struct>
- size=1 align=1
- base size=1 base align=1
-_REPARSE_DATA_BUFFER::<anonymous union>::<anonymous struct> (0x6155800) 0
-Class _REPARSE_DATA_BUFFER::<anonymous union>
- size=10 align=2
- base size=10 base align=2
-_REPARSE_DATA_BUFFER::<anonymous union> (0x6155440) 0
Class _REPARSE_DATA_BUFFER
size=20 align=4
base size=20 base align=4
_REPARSE_DATA_BUFFER (0x6155340) 0
-Class _REPARSE_GUID_DATA_BUFFER::<anonymous struct>
- size=1 align=1
- base size=1 base align=1
-_REPARSE_GUID_DATA_BUFFER::<anonymous struct> (0x6155ac0) 0
Class _REPARSE_GUID_DATA_BUFFER
size=28 align=4
@@ -15332,10 +14206,6 @@ Class _JOBOBJECT_JOBSET_INFORMATION
base size=4 base align=4
_JOBOBJECT_JOBSET_INFORMATION (0x6181f80) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x6191b40) 0
Class _POWER_ACTION_POLICY
size=12 align=4
@@ -15537,10 +14407,6 @@ Class tagPOINTS
base size=4 base align=2
tagPOINTS (0x61cecc0) 0
-Class _CHAR_INFO::<anonymous union>
- size=2 align=2
- base size=2 base align=2
-_CHAR_INFO::<anonymous union> (0x61dfb00) 0
Class _CHAR_INFO
size=4 align=2
@@ -15572,10 +14438,6 @@ Class _CONSOLE_SCREEN_BUFFER_INFO
base size=22 base align=2
_CONSOLE_SCREEN_BUFFER_INFO (0x61e7380) 0
-Class _KEY_EVENT_RECORD::<anonymous union>
- size=2 align=2
- base size=2 base align=2
-_KEY_EVENT_RECORD::<anonymous union> (0x61e7780) 0
Class _KEY_EVENT_RECORD
size=16 align=1
@@ -15602,10 +14464,6 @@ Class _FOCUS_EVENT_RECORD
base size=4 base align=4
_FOCUS_EVENT_RECORD (0x61e7d80) 0
-Class _INPUT_RECORD::<anonymous union>
- size=16 align=4
- base size=16 base align=4
-_INPUT_RECORD::<anonymous union> (0x61e7f40) 0
Class _INPUT_RECORD
size=20 align=4
@@ -15692,10 +14550,6 @@ Class _RIP_INFO
base size=8 base align=4
_RIP_INFO (0x6254240) 0
-Class _DEBUG_EVENT::<anonymous union>
- size=84 align=4
- base size=84 base align=4
-_DEBUG_EVENT::<anonymous union> (0x6254540) 0
Class _DEBUG_EVENT
size=96 align=4
@@ -15767,15 +14621,7 @@ Class tagHW_PROFILE_INFOW
base size=244 base align=4
tagHW_PROFILE_INFOW (0x6274680) 0
-Class _SYSTEM_INFO::<anonymous union>::<anonymous struct>
- size=4 align=2
- base size=4 base align=2
-_SYSTEM_INFO::<anonymous union>::<anonymous struct> (0x6274a00) 0
-Class _SYSTEM_INFO::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-_SYSTEM_INFO::<anonymous union> (0x6274940) 0
Class _SYSTEM_INFO
size=36 align=4
@@ -15797,40 +14643,16 @@ Class _MEMORYSTATUS
base size=32 base align=4
_MEMORYSTATUS (0x62823c0) 0
-Class _LDT_ENTRY::<anonymous union>::<anonymous struct>
- size=4 align=1
- base size=4 base align=1
-_LDT_ENTRY::<anonymous union>::<anonymous struct> (0x6282b40) 0
-Class _LDT_ENTRY::<anonymous union>::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-_LDT_ENTRY::<anonymous union>::<anonymous struct> (0x6282d40) 0
-Class _LDT_ENTRY::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-_LDT_ENTRY::<anonymous union> (0x6282ac0) 0
Class _LDT_ENTRY
size=8 align=4
base size=8 base align=4
_LDT_ENTRY (0x62829c0) 0
-Class _PROCESS_HEAP_ENTRY::<anonymous union>::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-_PROCESS_HEAP_ENTRY::<anonymous union>::<anonymous struct> (0x628d3c0) 0
-Class _PROCESS_HEAP_ENTRY::<anonymous union>::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-_PROCESS_HEAP_ENTRY::<anonymous union>::<anonymous struct> (0x628d540) 0
-Class _PROCESS_HEAP_ENTRY::<anonymous union>
- size=16 align=4
- base size=16 base align=4
-_PROCESS_HEAP_ENTRY::<anonymous union> (0x628d340) 0
Class _PROCESS_HEAP_ENTRY
size=28 align=4
@@ -15907,60 +14729,28 @@ Class tagCIEXYZTRIPLE
base size=36 base align=4
tagCIEXYZTRIPLE (0x63e4500) 0
-Class <anonymous struct>
- size=108 align=4
- base size=108 base align=4
-<anonymous struct> (0x63e4700) 0
Class tagFONTSIGNATURE
size=24 align=4
base size=24 base align=4
tagFONTSIGNATURE (0x63e4d80) 0
-Class <anonymous struct>
- size=32 align=4
- base size=32 base align=4
-<anonymous struct> (0x63e4f40) 0
Class tagCOLORADJUSTMENT
size=24 align=2
base size=24 base align=2
tagCOLORADJUSTMENT (0x63f1140) 0
-Class _devicemodeA::<anonymous union>::<anonymous struct>
- size=16 align=2
- base size=16 base align=2
-_devicemodeA::<anonymous union>::<anonymous struct> (0x63f1840) 0
-Class _devicemodeA::<anonymous union>
- size=16 align=4
- base size=16 base align=4
-_devicemodeA::<anonymous union> (0x63f17c0) 0
-Class _devicemodeA::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-_devicemodeA::<anonymous union> (0x63f1f00) 0
Class _devicemodeA
size=156 align=4
base size=156 base align=4
_devicemodeA (0x63f15c0) 0
-Class _devicemodeW::<anonymous union>::<anonymous struct>
- size=16 align=2
- base size=16 base align=2
-_devicemodeW::<anonymous union>::<anonymous struct> (0x63fd480) 0
-Class _devicemodeW::<anonymous union>
- size=16 align=4
- base size=16 base align=4
-_devicemodeW::<anonymous union> (0x63fd400) 0
-Class _devicemodeW::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-_devicemodeW::<anonymous union> (0x63fd600) 0
Class _devicemodeW
size=220 align=4
@@ -16662,25 +15452,13 @@ Class tagDELETEITEMSTRUCT
base size=20 base align=4
tagDELETEITEMSTRUCT (0x6603cc0) 0
-Class <anonymous struct>
- size=18 align=2
- base size=18 base align=2
-<anonymous struct> (0x6603e80) 0
-Class <anonymous struct>
- size=18 align=2
- base size=18 base align=2
-<anonymous struct> (0x6613000) 0
Class tagDRAWITEMSTRUCT
size=48 align=4
base size=48 base align=4
tagDRAWITEMSTRUCT (0x6613240) 0
-Class <anonymous struct>
- size=20 align=4
- base size=20 base align=4
-<anonymous struct> (0x6613500) 0
Class tagPAINTSTRUCT
size=64 align=4
@@ -16742,30 +15520,14 @@ Class _WINDOWPLACEMENT
base size=44 base align=4
_WINDOWPLACEMENT (0x66340c0) 0
-Class <anonymous struct>
- size=4 align=2
- base size=4 base align=2
-<anonymous struct> (0x6634340) 0
-Class <anonymous struct>
- size=6 align=2
- base size=6 base align=2
-<anonymous struct> (0x6634480) 0
Class tagHELPINFO
size=28 align=4
base size=28 base align=4
tagHELPINFO (0x66347c0) 0
-Class <anonymous struct>
- size=40 align=4
- base size=40 base align=4
-<anonymous struct> (0x6634a80) 0
-Class <anonymous struct>
- size=40 align=4
- base size=40 base align=4
-<anonymous struct> (0x6634e40) 0
Class tagUSEROBJECTFLAGS
size=12 align=4
@@ -16999,10 +15761,6 @@ Class tagKBDLLHOOKSTRUCT
base size=20 base align=4
tagKBDLLHOOKSTRUCT (0x6695cc0) 0
-Class <anonymous struct>
- size=24 align=4
- base size=24 base align=4
-<anonymous struct> (0x66a4640) 0
Class _cpinfo
size=20 align=4
@@ -17209,35 +15967,11 @@ Class _SERVICE_FAILURE_ACTIONSW
base size=20 base align=4
_SERVICE_FAILURE_ACTIONSW (0x6806440) 0
-Class <anonymous struct>
- size=2 align=2
- base size=2 base align=2
-<anonymous struct> (0x6823640) 0
-Class <anonymous struct>
- size=4 align=2
- base size=4 base align=2
-<anonymous struct> (0x6823800) 0
-Class <anonymous struct>
- size=6 align=2
- base size=6 base align=2
-<anonymous struct> (0x68239c0) 0
-Class <anonymous struct>
- size=6 align=2
- base size=6 base align=2
-<anonymous struct> (0x6823b40) 0
-Class <anonymous struct>
- size=4 align=2
- base size=4 base align=2
-<anonymous struct> (0x6823c40) 0
-Class <anonymous struct>
- size=6 align=2
- base size=6 base align=2
-<anonymous struct> (0x6823d40) 0
Class HCONVLIST__
size=4 align=4
@@ -17369,20 +16103,8 @@ Class tagIMEMENUITEMINFOW
base size=192 base align=4
tagIMEMENUITEMINFOW (0x686dfc0) 0
-Class mmtime_tag::<anonymous union>::<anonymous struct>
- size=8 align=1
- base size=8 base align=1
-mmtime_tag::<anonymous union>::<anonymous struct> (0x68bbd40) 0
-Class mmtime_tag::<anonymous union>::<anonymous struct>
- size=4 align=1
- base size=4 base align=1
-mmtime_tag::<anonymous union>::<anonymous struct> (0x68bbec0) 0
-Class mmtime_tag::<anonymous union>
- size=8 align=1
- base size=8 base align=1
-mmtime_tag::<anonymous union> (0x68bbc40) 0
Class mmtime_tag
size=12 align=1
@@ -17554,100 +16276,48 @@ Class tagMIXERCAPSW
base size=80 base align=1
tagMIXERCAPSW (0x6902b80) 0
-Class tagMIXERLINEA::<anonymous struct>
- size=48 align=1
- base size=48 base align=1
-tagMIXERLINEA::<anonymous struct> (0x6915000) 0
Class tagMIXERLINEA
size=168 align=1
base size=168 base align=1
tagMIXERLINEA (0x6902d00) 0
-Class tagMIXERLINEW::<anonymous struct>
- size=80 align=1
- base size=80 base align=1
-tagMIXERLINEW::<anonymous struct> (0x69152c0) 0
Class tagMIXERLINEW
size=280 align=1
base size=280 base align=1
tagMIXERLINEW (0x6915240) 0
-Class tagMIXERCONTROLA::<anonymous union>::<anonymous struct>
- size=8 align=1
- base size=8 base align=1
-tagMIXERCONTROLA::<anonymous union>::<anonymous struct> (0x6915680) 0
-Class tagMIXERCONTROLA::<anonymous union>::<anonymous struct>
- size=8 align=1
- base size=8 base align=1
-tagMIXERCONTROLA::<anonymous union>::<anonymous struct> (0x69157c0) 0
-Class tagMIXERCONTROLA::<anonymous union>
- size=24 align=1
- base size=24 base align=1
-tagMIXERCONTROLA::<anonymous union> (0x6915600) 0
-Class tagMIXERCONTROLA::<anonymous union>
- size=24 align=1
- base size=24 base align=1
-tagMIXERCONTROLA::<anonymous union> (0x69159c0) 0
Class tagMIXERCONTROLA
size=148 align=1
base size=148 base align=1
tagMIXERCONTROLA (0x6915480) 0
-Class tagMIXERCONTROLW::<anonymous union>::<anonymous struct>
- size=8 align=1
- base size=8 base align=1
-tagMIXERCONTROLW::<anonymous union>::<anonymous struct> (0x6915d80) 0
-Class tagMIXERCONTROLW::<anonymous union>::<anonymous struct>
- size=8 align=1
- base size=8 base align=1
-tagMIXERCONTROLW::<anonymous union>::<anonymous struct> (0x6915e40) 0
-Class tagMIXERCONTROLW::<anonymous union>
- size=24 align=1
- base size=24 base align=1
-tagMIXERCONTROLW::<anonymous union> (0x6915d00) 0
-Class tagMIXERCONTROLW::<anonymous union>
- size=24 align=1
- base size=24 base align=1
-tagMIXERCONTROLW::<anonymous union> (0x6915f80) 0
Class tagMIXERCONTROLW
size=228 align=1
base size=228 base align=1
tagMIXERCONTROLW (0x6915c80) 0
-Class tagMIXERLINECONTROLSA::<anonymous union>
- size=4 align=1
- base size=4 base align=1
-tagMIXERLINECONTROLSA::<anonymous union> (0x6930200) 0
Class tagMIXERLINECONTROLSA
size=24 align=1
base size=24 base align=1
tagMIXERLINECONTROLSA (0x6930180) 0
-Class tagMIXERLINECONTROLSW::<anonymous union>
- size=4 align=1
- base size=4 base align=1
-tagMIXERLINECONTROLSW::<anonymous union> (0x6930500) 0
Class tagMIXERLINECONTROLSW
size=24 align=1
base size=24 base align=1
tagMIXERLINECONTROLSW (0x6930480) 0
-Class tMIXERCONTROLDETAILS::<anonymous union>
- size=4 align=1
- base size=4 base align=1
-tMIXERCONTROLDETAILS::<anonymous union> (0x6930780) 0
Class tMIXERCONTROLDETAILS
size=24 align=1
@@ -18004,15 +16674,7 @@ Class _RPC_POLICY
base size=12 base align=4
_RPC_POLICY (0x6a095c0) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x6a09800) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x6a09940) 0
Class _RPC_SECURITY_QOS
size=16 align=4
@@ -18029,10 +16691,6 @@ Class _SEC_WINNT_AUTH_IDENTITY_A
base size=28 base align=4
_SEC_WINNT_AUTH_IDENTITY_A (0x6a09f00) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0x6a21040) 0
Class _RPC_PROTSEQ_VECTORA
size=8 align=4
@@ -18059,10 +16717,6 @@ Class _RPC_MESSAGE
base size=44 base align=4
_RPC_MESSAGE (0x6a58080) 0
-Class <anonymous struct>
- size=12 align=4
- base size=12 base align=4
-<anonymous struct> (0x6a584c0) 0
Class _RPC_PROTSEQ_ENDPOINT
size=8 align=4
@@ -18189,15 +16843,7 @@ Class tagDEVNAMES
base size=8 base align=1
tagDEVNAMES (0x6ad0100) 0
-Class <anonymous struct>
- size=40 align=1
- base size=40 base align=1
-<anonymous struct> (0x6ad0340) 0
-Class <anonymous struct>
- size=40 align=1
- base size=40 base align=1
-<anonymous struct> (0x6ad05c0) 0
Class tagOFNA
size=76 align=1
@@ -18444,15 +17090,7 @@ Class _PRINTPROCESSOR_INFO_1W
base size=4 base align=4
_PRINTPROCESSOR_INFO_1W (0x6b69e80) 0
-Class _PRINTER_NOTIFY_INFO_DATA::<anonymous union>::<anonymous struct>
- size=8 align=4
- base size=8 base align=4
-_PRINTER_NOTIFY_INFO_DATA::<anonymous union>::<anonymous struct> (0x6b76180) 0
-Class _PRINTER_NOTIFY_INFO_DATA::<anonymous union>
- size=8 align=4
- base size=8 base align=4
-_PRINTER_NOTIFY_INFO_DATA::<anonymous union> (0x6b760c0) 0
Class _PRINTER_NOTIFY_INFO_DATA
size=20 align=4
@@ -18539,20 +17177,8 @@ Class protoent
base size=12 base align=4
protoent (0x6bd2540) 0
-Class in_addr::<anonymous union>::<anonymous struct>
- size=4 align=1
- base size=4 base align=1
-in_addr::<anonymous union>::<anonymous struct> (0x6bd83c0) 0
-Class in_addr::<anonymous union>::<anonymous struct>
- size=4 align=2
- base size=4 base align=2
-in_addr::<anonymous union>::<anonymous struct> (0x6bd85c0) 0
-Class in_addr::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-in_addr::<anonymous union> (0x6bd8340) 0
Class in_addr
size=4 align=4
@@ -18689,55 +17315,23 @@ Class _WSAPROTOCOL_INFOW
base size=628 base align=4
_WSAPROTOCOL_INFOW (0x6c34a00) 0
-Class _WSACOMPLETION::<anonymous union>::<anonymous struct>
- size=12 align=4
- base size=12 base align=4
-_WSACOMPLETION::<anonymous union>::<anonymous struct> (0x6c34f80) 0
-Class _WSACOMPLETION::<anonymous union>::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-_WSACOMPLETION::<anonymous union>::<anonymous struct> (0x6c45080) 0
-Class _WSACOMPLETION::<anonymous union>::<anonymous struct>
- size=8 align=4
- base size=8 base align=4
-_WSACOMPLETION::<anonymous union>::<anonymous struct> (0x6c45140) 0
-Class _WSACOMPLETION::<anonymous union>::<anonymous struct>
- size=12 align=4
- base size=12 base align=4
-_WSACOMPLETION::<anonymous union>::<anonymous struct> (0x6c45280) 0
-Class _WSACOMPLETION::<anonymous union>
- size=12 align=4
- base size=12 base align=4
-_WSACOMPLETION::<anonymous union> (0x6c34f00) 0
Class _WSACOMPLETION
size=16 align=4
base size=16 base align=4
_WSACOMPLETION (0x6c34e80) 0
-Class <anonymous struct>
- size=12 align=4
- base size=12 base align=4
-<anonymous struct> (0x6c79580) 0
-Class <anonymous struct>
- size=12 align=4
- base size=12 base align=4
-<anonymous struct> (0x6c8dc40) 0
Class _SCONTEXT_QUEUE
size=8 align=4
base size=8 base align=4
_SCONTEXT_QUEUE (0x6c8dd00) 0
-Class <anonymous struct>
- size=24 align=4
- base size=24 base align=4
-<anonymous struct> (0x6c92100) 0
Class _MIDL_STUB_MESSAGE
size=180 align=4
@@ -18784,10 +17378,6 @@ Class _NDR_CS_ROUTINES
base size=8 base align=4
_NDR_CS_ROUTINES (0x6cb3680) 0
-Class _MIDL_STUB_DESC::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-_MIDL_STUB_DESC::<anonymous union> (0x6cb3800) 0
Class _MIDL_STUB_DESC
size=80 align=4
@@ -18819,15 +17409,7 @@ Class _FULL_PTR_TO_REFID_ELEMENT
base size=16 base align=4
_FULL_PTR_TO_REFID_ELEMENT (0x6cc4680) 0
-Class _FULL_PTR_XLAT_TABLES::<anonymous struct>
- size=12 align=4
- base size=12 base align=4
-_FULL_PTR_XLAT_TABLES::<anonymous struct> (0x6cc4800) 0
-Class _FULL_PTR_XLAT_TABLES::<anonymous struct>
- size=12 align=4
- base size=12 base align=4
-_FULL_PTR_XLAT_TABLES::<anonymous struct> (0x6cc49c0) 0
Class _FULL_PTR_XLAT_TABLES
size=32 align=4
@@ -18844,10 +17426,6 @@ Class _FLAGGED_WORD_BLOB
base size=12 base align=4
_FLAGGED_WORD_BLOB (0x6d11540) 0
-Class tagCY::<anonymous struct>
- size=8 align=4
- base size=8 base align=4
-tagCY::<anonymous struct> (0x6d11ac0) 0
Class tagCY
size=8 align=8
@@ -18884,25 +17462,9 @@ Class _HYPER_SIZEDARR
base size=8 base align=4
_HYPER_SIZEDARR (0x6d2a240) 0
-Class tagDEC::<anonymous union>::<anonymous struct>
- size=2 align=1
- base size=2 base align=1
-tagDEC::<anonymous union>::<anonymous struct> (0x6d2a480) 0
-Class tagDEC::<anonymous union>
- size=2 align=2
- base size=2 base align=2
-tagDEC::<anonymous union> (0x6d2a400) 0
-Class tagDEC::<anonymous union>::<anonymous struct>
- size=8 align=4
- base size=8 base align=4
-tagDEC::<anonymous union>::<anonymous struct> (0x6d2a640) 0
-Class tagDEC::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-tagDEC::<anonymous union> (0x6d2a5c0) 0
Class tagDEC
size=16 align=8
@@ -19011,10 +17573,6 @@ Class tagBIND_OPTS2
base size=32 base align=4
tagBIND_OPTS2 (0x6d6bec0) 0
-Class tagSTGMEDIUM::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-tagSTGMEDIUM::<anonymous union> (0x6d7e200) 0
Class tagSTGMEDIUM
size=12 align=4
@@ -19136,20 +17694,12 @@ Class tagCAPROPVARIANT
base size=8 base align=4
tagCAPROPVARIANT (0x6d9b9c0) 0
-Class tagPROPVARIANT::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-tagPROPVARIANT::<anonymous union> (0x6d9bb00) 0
Class tagPROPVARIANT
size=16 align=8
base size=16 base align=8
tagPROPVARIANT (0x6d9b900) 0
-Class tagPROPSPEC::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-tagPROPSPEC::<anonymous union> (0x6daf800) 0
Class tagPROPSPEC
size=8 align=4
@@ -20241,10 +18791,6 @@ Class _wireSAFEARR_HAVEIID
base size=24 base align=4
_wireSAFEARR_HAVEIID (0x6fdf740) 0
-Class _wireSAFEARRAY_UNION::<anonymous union>
- size=24 align=4
- base size=24 base align=4
-_wireSAFEARRAY_UNION::<anonymous union> (0x6fdf900) 0
Class _wireSAFEARRAY_UNION
size=28 align=4
@@ -20261,45 +18807,21 @@ Class tagSAFEARRAY
base size=24 base align=4
tagSAFEARRAY (0x6fdffc0) 0
-Class tagVARIANT::<anonymous union>::<anonymous struct>::<anonymous union>::<anonymous struct>
- size=8 align=4
- base size=8 base align=4
-tagVARIANT::<anonymous union>::<anonymous struct>::<anonymous union>::<anonymous struct> (0x6fed500) 0
-Class tagVARIANT::<anonymous union>::<anonymous struct>::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-tagVARIANT::<anonymous union>::<anonymous struct>::<anonymous union> (0x6fed2c0) 0
-Class tagVARIANT::<anonymous union>::<anonymous struct>
- size=16 align=8
- base size=16 base align=8
-tagVARIANT::<anonymous union>::<anonymous struct> (0x6fed240) 0
-Class tagVARIANT::<anonymous union>
- size=16 align=8
- base size=16 base align=8
-tagVARIANT::<anonymous union> (0x6fed1c0) 0
Class tagVARIANT
size=16 align=8
base size=16 base align=8
tagVARIANT (0x6fed140) 0
-Class _wireVARIANT::<anonymous union>
- size=16 align=8
- base size=16 base align=8
-_wireVARIANT::<anonymous union> (0x6fed840) 0
Class _wireVARIANT
size=32 align=8
base size=32 base align=8
_wireVARIANT (0x6fdf080) 0
-Class tagTYPEDESC::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-tagTYPEDESC::<anonymous union> (0x6feddc0) 0
Class tagTYPEDESC
size=8 align=4
@@ -20326,10 +18848,6 @@ Class tagIDLDESC
base size=8 base align=4
tagIDLDESC (0x7006480) 0
-Class tagELEMDESC::<anonymous union>
- size=8 align=4
- base size=8 base align=4
-tagELEMDESC::<anonymous union> (0x70066c0) 0
Class tagELEMDESC
size=16 align=4
@@ -20356,10 +18874,6 @@ Class tagFUNCDESC
base size=52 base align=4
tagFUNCDESC (0x701a8c0) 0
-Class tagVARDESC::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-tagVARDESC::<anonymous union> (0x701af40) 0
Class tagVARDESC
size=36 align=4
@@ -20715,15 +19229,7 @@ Class tagINTERFACEDATA
base size=8 base align=4
tagINTERFACEDATA (0x7089ac0) 0
-Class <anonymous struct>
- size=18 align=2
- base size=18 base align=2
-<anonymous struct> (0x7089c80) 0
-Class <anonymous struct>
- size=24 align=4
- base size=24 base align=4
-<anonymous struct> (0x7089e00) 0
Class tagOleMenuGroupWidths
size=24 align=4
@@ -21217,20 +19723,12 @@ Class _OLESTREAMVTBL
base size=8 base align=4
_OLESTREAMVTBL (0x71e16c0) 0
-Class QFlags<QGL::FormatOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGL::FormatOption> (0x600e300) 0
Class QGLFormat
size=4 align=4
base size=4 base align=4
QGLFormat (0x600e700) 0
-Class QFlags<QGLFormat::OpenGLVersionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGLFormat::OpenGLVersionFlag> (0x72b95c0) 0
Vtable for QGLContext
QGLContext::_ZTV10QGLContext: 10u entries
@@ -21383,178 +19881,38 @@ QGLPixelBuffer (0x7306300) 0
QPaintDevice (0x7366280) 0
primary-for QGLPixelBuffer (0x7306300)
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0x13ff440) 0
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0x15f0480) 0
-Class QTypeInfo<QDebug::Stream*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDebug::Stream*> (0x75c2f00) 0 empty
-Class QVectorTypedData<QPoint>
- size=24 align=4
- base size=24 base align=4
-QVectorTypedData<QPoint> (0x2ddc4c0) 0
-Class QVectorTypedData<QPointF>
- size=32 align=8
- base size=32 base align=8
-QVectorTypedData<QPointF> (0x2e1d900) 0
-Class QVectorTypedData<QPainterPath::Element>
- size=40 align=8
- base size=40 base align=8
-QVectorTypedData<QPainterPath::Element> (0x36c4900) 0
-Class QVectorTypedData<QLineF>
- size=48 align=8
- base size=48 base align=8
-QVectorTypedData<QLineF> (0x3a4f340) 0
-Class QVectorTypedData<QLine>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QLine> (0x3a4f6c0) 0
-Class QVectorTypedData<QRectF>
- size=48 align=8
- base size=48 base align=8
-QVectorTypedData<QRectF> (0x3a8f380) 0
-Class QVectorTypedData<QRect>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QRect> (0x3a8f680) 0
-Class QList<QTreeWidgetItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::Node (0x4a9cec0) 0
-Class QVectorTypedData<QVector<QWidgetItemData> >
- size=20 align=4
- base size=20 base align=4
-QVectorTypedData<QVector<QWidgetItemData> > (0x4a9cc40) 0
-Class QVectorTypedData<QTextLength>
- size=32 align=8
- base size=32 base align=8
-QVectorTypedData<QTextLength> (0x513e880) 0
-Class QVectorTypedData<QTextLayout::FormatRange>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QTextLayout::FormatRange> (0x52d3700) 0
-Class QVectorTypedData<QAbstractTextDocumentLayout::Selection>
- size=28 align=4
- base size=28 base align=4
-QVectorTypedData<QAbstractTextDocumentLayout::Selection> (0x5385e40) 0
-Class QList<QAction*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QAction*>::Node (0x3dd4fc0) 0
-Class QHashNode<QVariant::Type, QItemEditorCreatorBase*>
- size=16 align=4
- base size=16 base align=4
-QHashNode<QVariant::Type, QItemEditorCreatorBase*> (0x469ee80) 0
-Class QTypeInfo<QStandardItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QStandardItem*> (0x7c93240) 0 empty
-Class QTypeInfo<QTreeWidgetItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTreeWidgetItem*> (0x7c935c0) 0 empty
-Class QTypeInfo<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLength> (0x7c93e00) 0 empty
-Class QTypeInfo<QTextLayout::FormatRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLayout::FormatRange> (0x7c93fc0) 0 empty
-Class QTypeInfo<QAbstractTextDocumentLayout::Selection>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAbstractTextDocumentLayout::Selection> (0x7cc0500) 0 empty
-Class QTypeInfo<QAction*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAction*> (0x7cc0f40) 0 empty
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0x177bf40) 0
-Class QList<QVariant>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::Node (0x202e440) 0
-Class QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union> (0x7ceb940) 0
-Class QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union> (0x7cebc00) 0
-Class QTypeInfo<QGraphicsItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QGraphicsItem*> (0x7cebe40) 0 empty
-Class QList<QGraphicsItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QGraphicsItem*>::Node (0x3bfa400) 0
-Class QTypeInfo<QStyleOptionQ3ListViewItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QStyleOptionQ3ListViewItem> (0x7d740c0) 0 empty
-Class QList<QStyleOptionQ3ListViewItem>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::Node (0x4358c40) 0
-Class QList<QItemSelectionRange>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::Node (0x44c8f80) 0
-Class QList<QStandardItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QStandardItem*>::Node (0x48cf840) 0
-Class QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union> (0x7d747c0) 0
-Class QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union> (0x7d74d80) 0
diff --git a/tests/auto/bic/data/QtOpenGL.4.3.0.linux-gcc-ia32.txt b/tests/auto/bic/data/QtOpenGL.4.3.0.linux-gcc-ia32.txt
index 369f40e..32cf29f 100644
--- a/tests/auto/bic/data/QtOpenGL.4.3.0.linux-gcc-ia32.txt
+++ b/tests/auto/bic/data/QtOpenGL.4.3.0.linux-gcc-ia32.txt
@@ -1,34 +1,8 @@
-Class QUintForSize<4>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<4> (0xb7fcdd80) 0 empty
-Class QUintForSize<8>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<8> (0xb7fcddc0) 0 empty
-Class QUintForType<void*>
- size=1 align=1
- base size=1 base align=1
-QUintForType<void*> (0xb7fcde80) 0 empty
- QUintForSize<4> (0xb7fcdec0) 0 empty
-Class QIntForSize<4>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<4> (0xb7fcdf40) 0 empty
-Class QIntForSize<8>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<8> (0xb7fcdf80) 0 empty
-Class QIntForType<void*>
- size=1 align=1
- base size=1 base align=1
-QIntForType<void*> (0xb5acb040) 0 empty
- QIntForSize<4> (0xb5acb080) 0 empty
Class QSysInfo
size=1 align=1
@@ -50,150 +24,38 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0xb5acb340) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0xb5acb400) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0xb5acb440) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0xb5acb480) 0 empty
-Class QTypeInfo<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned char> (0xb5acb4c0) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0xb5acb500) 0 empty
-Class QTypeInfo<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short unsigned int> (0xb5acb540) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0xb5acb580) 0 empty
-Class QTypeInfo<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned int> (0xb5acb5c0) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0xb5acb600) 0 empty
-Class QTypeInfo<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long unsigned int> (0xb5acb640) 0 empty
-Class QTypeInfo<long long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long int> (0xb5acb680) 0 empty
-Class QTypeInfo<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long unsigned int> (0xb5acb6c0) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0xb5acb700) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0xb5acb740) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0xb5acb780) 0 empty
Class QFlag
size=4 align=4
base size=4 base align=4
QFlag (0xb5acb7c0) 0
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0xb5acb8c0) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0xb5acb900) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0xb5acb940) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0xb5acb980) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0xb5acb9c0) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0xb5acba00) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0xb5acba40) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0xb5acba80) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0xb5acbac0) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0xb5acbb00) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0xb5acbb40) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0xb5acbb80) 0
-Class QFlags<Qt::TextInteractionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::TextInteractionFlag> (0xb5acbbc0) 0
Class QInternal
size=1 align=1
@@ -211,10 +73,6 @@ Class QGenericReturnArgument
QGenericReturnArgument (0xb5acbcc0) 0
QGenericArgument (0xb5acbd00) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0xb5acbec0) 0
Class QMetaObject
size=16 align=4
@@ -231,10 +89,6 @@ Class QChar
base size=2 base align=2
QChar (0xb5acbf80) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0xb5a0f000) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -267,10 +121,6 @@ Class QByteRef
base size=8 base align=4
QByteRef (0xb5a0f300) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0xb5a0f340) 0 empty
Class QString::Null
size=1 align=1
@@ -287,10 +137,6 @@ Class QString
base size=4 base align=4
QString (0xb5a0f380) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0xb5a0f580) 0
Class QLatin1String
size=4 align=4
@@ -308,10 +154,6 @@ Class QConstString
QConstString (0xb5a0f680) 0
QString (0xb5a0f6c0) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0xb5a0f700) 0 empty
Class QStringRef
size=12 align=4
@@ -379,15 +221,7 @@ Class QListData
base size=4 base align=4
QListData (0xb5a0fa40) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0xb5a0fdc0) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0xb5a0fd40) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -463,10 +297,6 @@ QLibrary (0xb5a0f4c0) 0
QObject (0xb5a0f500) 0
primary-for QLibrary (0xb5a0f4c0)
-Class QFlags<QLibrary::LoadHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLibrary::LoadHint> (0xb5a0f840) 0
Class QUuid
size=16 align=4
@@ -514,10 +344,6 @@ QIODevice (0xb5a0fc00) 0
QObject (0xb5a0fe40) 0
primary-for QIODevice (0xb5a0fc00)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0xb5631000) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -537,25 +363,13 @@ Class QRegExp
base size=4 base align=4
QRegExp (0xb56310c0) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0xb5631100) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0xb5631140) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0xb5631200) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0xb5631180) 0
Class QStringList
size=4 align=4
@@ -563,15 +377,7 @@ Class QStringList
QStringList (0xb5631240) 0
QList<QString> (0xb5631280) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0xb5631300) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0xb5631340) 0
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -627,10 +433,6 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0xb56316c0) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0xb5631700) 0 empty
Class QCryptographicHash
size=4 align=4
@@ -642,75 +444,35 @@ Class QDate
base size=4 base align=4
QDate (0xb5631c40) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0xb5631d00) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0xb5631d40) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0xb5631e00) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0xb5631e40) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0xb5631f00) 0 empty
Class QByteArrayMatcher
size=1032 align=4
base size=1032 base align=4
QByteArrayMatcher (0xb5631f40) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0xb5631fc0) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0xb5631080) 0
Class wait
size=4 align=4
base size=4 base align=4
wait (0xb5631f80) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb5631440) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb5631580) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb5631ac0) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb5631c80) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb5631cc0) 0
Class timespec
size=8 align=4
@@ -722,80 +484,24 @@ Class timeval
base size=8 base align=4
timeval (0xb5631dc0) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb5631e80) 0
-Class <anonymous union>
- size=36 align=4
- base size=36 base align=4
-<anonymous union> (0xb5631ec0) 0
Class __pthread_internal_slist
size=4 align=4
base size=4 base align=4
__pthread_internal_slist (0xb53f2000) 0
-Class <anonymous union>::__pthread_mutex_s::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union>::__pthread_mutex_s::<anonymous union> (0xb53f20c0) 0
-Class <anonymous union>::__pthread_mutex_s
- size=24 align=4
- base size=24 base align=4
-<anonymous union>::__pthread_mutex_s (0xb53f2080) 0
-Class <anonymous union>
- size=24 align=4
- base size=24 base align=4
-<anonymous union> (0xb53f2040) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb53f2100) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0xb53f2180) 0
-Class <anonymous union>
- size=48 align=4
- base size=48 base align=4
-<anonymous union> (0xb53f2140) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb53f21c0) 0
-Class <anonymous union>::<anonymous struct>
- size=32 align=4
- base size=32 base align=4
-<anonymous union>::<anonymous struct> (0xb53f2240) 0
-Class <anonymous union>
- size=32 align=4
- base size=32 base align=4
-<anonymous union> (0xb53f2200) 0
-Class <anonymous union>
- size=8 align=4
- base size=8 base align=4
-<anonymous union> (0xb53f2280) 0
-Class <anonymous union>
- size=20 align=4
- base size=20 base align=4
-<anonymous union> (0xb53f22c0) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb53f2300) 0
Class random_data
size=28 align=4
@@ -817,20 +523,12 @@ Class QSize
base size=8 base align=4
QSize (0xb53f2580) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0xb53f2780) 0 empty
Class QSizeF
size=16 align=4
base size=16 base align=4
QSizeF (0xb53f2800) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0xb53f2a00) 0 empty
Class QLinkedListData
size=20 align=4
@@ -842,15 +540,7 @@ Class QLocale
base size=4 base align=4
QLocale (0xb53f2dc0) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0xb53f2e00) 0 empty
-Class QFlags<QLocale::NumberOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLocale::NumberOption> (0xb53f2e40) 0
Vtable for QSystemLocale
QSystemLocale::_ZTV13QSystemLocale: 6u entries
@@ -887,60 +577,36 @@ Class QPoint
base size=8 base align=4
QPoint (0xb522c040) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0xb522c280) 0 empty
Class QPointF
size=16 align=4
base size=16 base align=4
QPointF (0xb522c2c0) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0xb522c500) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0xb522c640) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0xb522c740) 0 empty
Class QRectF
size=32 align=4
base size=32 base align=4
QRectF (0xb522c780) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0xb522c840) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0xb522c880) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0xb522c8c0) 0 empty
Class QLineF
size=32 align=4
base size=32 base align=4
QLineF (0xb522c900) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0xb522c940) 0 empty
Vtable for QTimeLine
QTimeLine::_ZTV9QTimeLine: 15u entries
@@ -978,10 +644,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0xb522ccc0) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0xb522cd00) 0 empty
Class QLibraryInfo
size=1 align=1
@@ -993,290 +655,66 @@ Class QUrl
base size=4 base align=4
QUrl (0xb522ce40) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0xb522cec0) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0xb522cf00) 0 empty
Class QMetaType
size=1 align=1
base size=0 base align=1
QMetaType (0xb522cf40) 0 empty
-Class QMetaTypeId2<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QString> (0xb522c080) 0 empty
-Class QMetaTypeId2<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<int> (0xb522c0c0) 0 empty
-Class QMetaTypeId2<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned int> (0xb522c100) 0 empty
-Class QMetaTypeId2<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<bool> (0xb522c140) 0 empty
-Class QMetaTypeId2<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<double> (0xb522c180) 0 empty
-Class QMetaTypeId2<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QByteArray> (0xb522c1c0) 0 empty
-Class QMetaTypeId2<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QChar> (0xb522c200) 0 empty
-Class QMetaTypeId2<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long int> (0xb522c240) 0 empty
-Class QMetaTypeId2<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short int> (0xb522c300) 0 empty
-Class QMetaTypeId2<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<char> (0xb522c340) 0 empty
-Class QMetaTypeId2<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long unsigned int> (0xb522c380) 0 empty
-Class QMetaTypeId2<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short unsigned int> (0xb522c3c0) 0 empty
-Class QMetaTypeId2<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned char> (0xb522c400) 0 empty
-Class QMetaTypeId2<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<float> (0xb522c440) 0 empty
-Class QMetaTypeId2<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QObject*> (0xb522c480) 0 empty
-Class QMetaTypeId2<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QWidget*> (0xb522c4c0) 0 empty
-Class QMetaTypeId2<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<void*> (0xb522c680) 0 empty
-Class QMetaTypeId2<long long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long int> (0xb522c6c0) 0 empty
-Class QMetaTypeId2<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long unsigned int> (0xb522c700) 0 empty
-Class QMetaTypeId2<QStringList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QStringList> (0xb522c7c0) 0 empty
-Class QMetaTypeId2<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitArray> (0xb522c800) 0 empty
-Class QMetaTypeId2<QDate>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDate> (0xb522cb40) 0 empty
-Class QMetaTypeId2<QTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTime> (0xb509e000) 0 empty
-Class QMetaTypeId2<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDateTime> (0xb509e040) 0 empty
-Class QMetaTypeId2<QUrl>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QUrl> (0xb509e080) 0 empty
-Class QMetaTypeId2<QLocale>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLocale> (0xb509e0c0) 0 empty
-Class QMetaTypeId2<QRect>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRect> (0xb509e100) 0 empty
-Class QMetaTypeId2<QRectF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRectF> (0xb509e140) 0 empty
-Class QMetaTypeId2<QSize>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSize> (0xb509e180) 0 empty
-Class QMetaTypeId2<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizeF> (0xb509e1c0) 0 empty
-Class QMetaTypeId2<QLine>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLine> (0xb509e200) 0 empty
-Class QMetaTypeId2<QLineF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLineF> (0xb509e240) 0 empty
-Class QMetaTypeId2<QPoint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPoint> (0xb509e280) 0 empty
-Class QMetaTypeId2<QPointF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPointF> (0xb509e2c0) 0 empty
-Class QMetaTypeId2<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegExp> (0xb509e300) 0 empty
-Class QMetaTypeId2<QColorGroup>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColorGroup> (0xb509e340) 0 empty
-Class QMetaTypeId2<QFont>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QFont> (0xb509e380) 0 empty
-Class QMetaTypeId2<QPixmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPixmap> (0xb509e3c0) 0 empty
-Class QMetaTypeId2<QBrush>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBrush> (0xb509e400) 0 empty
-Class QMetaTypeId2<QColor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColor> (0xb509e440) 0 empty
-Class QMetaTypeId2<QPalette>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPalette> (0xb509e480) 0 empty
-Class QMetaTypeId2<QIcon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QIcon> (0xb509e4c0) 0 empty
-Class QMetaTypeId2<QImage>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QImage> (0xb509e500) 0 empty
-Class QMetaTypeId2<QPolygon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPolygon> (0xb509e540) 0 empty
-Class QMetaTypeId2<QRegion>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegion> (0xb509e580) 0 empty
-Class QMetaTypeId2<QBitmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitmap> (0xb509e5c0) 0 empty
-Class QMetaTypeId2<QCursor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QCursor> (0xb509e600) 0 empty
-Class QMetaTypeId2<QSizePolicy>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizePolicy> (0xb509e640) 0 empty
-Class QMetaTypeId2<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QKeySequence> (0xb509e680) 0 empty
-Class QMetaTypeId2<QPen>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPen> (0xb509e6c0) 0 empty
-Class QMetaTypeId2<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextLength> (0xb509e700) 0 empty
-Class QMetaTypeId2<QTextFormat>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextFormat> (0xb509e740) 0 empty
-Class QMetaTypeId2<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMatrix> (0xb509e780) 0 empty
-Class QMetaTypeId2<QTransform>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTransform> (0xb509e7c0) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -1303,45 +741,17 @@ Class QVariant
base size=12 base align=4
QVariant (0xb509e800) 0
-Class QMetaTypeId2<QList<QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QList<QVariant> > (0xb509ea80) 0 empty
-Class QMetaTypeId2<QMap<QString, QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMap<QString, QVariant> > (0xb509eac0) 0 empty
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0xb509ebc0) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0xb509eb40) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0xb509ecc0) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0xb509ec40) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0xb509ed40) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0xb509edc0) 0 empty
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1368,25 +778,9 @@ QSettings (0xb509ee00) 0
QObject (0xb509ee40) 0
primary-for QSettings (0xb509ee00)
-Class <anonymous struct>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct>::<anonymous union> (0xb509ef40) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb509ef00) 0
-Class <anonymous struct>
- size=12 align=4
- base size=12 base align=4
-<anonymous struct> (0xb509ef80) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb509efc0) 0
Class __gconv_trans_data
size=20 align=4
@@ -1408,15 +802,7 @@ Class __gconv_info
base size=8 base align=4
__gconv_info (0xb509ea00) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0xb509ee80) 0
-Class <anonymous union>
- size=44 align=4
- base size=44 base align=4
-<anonymous union> (0xb509ea40) 0
Class _IO_marker
size=12 align=4
@@ -1428,10 +814,6 @@ Class _IO_FILE
base size=148 base align=4
_IO_FILE (0xb4f7d000) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb4f7d040) 0
Vtable for QFile
QFile::_ZTV5QFile: 31u entries
@@ -1477,10 +859,6 @@ QFile (0xb4f7d080) 0
QObject (0xb4f7d100) 0
primary-for QIODevice (0xb4f7d0c0)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0xb4f7d180) 0
Vtable for QTemporaryFile
QTemporaryFile::_ZTV14QTemporaryFile: 31u entries
@@ -1533,40 +911,16 @@ Class QFileInfo
base size=4 base align=4
QFileInfo (0xb4f7d300) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0xb4f7d340) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0xb4f7d380) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0xb4f7d440) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0xb4f7d3c0) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0xb4f7d480) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0xb4f7d500) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0xb4f7d580) 0
Vtable for QProcess
QProcess::_ZTV8QProcess: 31u entries
@@ -1650,10 +1004,6 @@ Class QDirIterator
QDirIterator (0xb4f7d7c0) 0
vptr=((& QDirIterator::_ZTV12QDirIterator) + 8u)
-Class QFlags<QDirIterator::IteratorFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDirIterator::IteratorFlag> (0xb4f7d880) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -1710,10 +1060,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0xb4f7d8c0) 0
vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0xb4f7da40) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -1747,10 +1093,6 @@ Class QAbstractFileEngineIterator
QAbstractFileEngineIterator (0xb4f7db00) 0
vptr=((& QAbstractFileEngineIterator::_ZTV27QAbstractFileEngineIterator) + 8u)
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0xb4f7dc40) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -1775,15 +1117,7 @@ Class QTextCodec
QTextCodec (0xb4f7db80) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0xb4f7dd80) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0xb4f7dd00) 0
Class QTextEncoder
size=32 align=4
@@ -1808,10 +1142,6 @@ Class QTextStream
QTextStream (0xb4f7de40) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0xb4f7df00) 0
Class QTextStreamManipulator
size=24 align=4
@@ -1958,20 +1288,12 @@ Class QReadWriteLock
base size=4 base align=4
QReadWriteLock (0xb4bbc0c0) 0
-Class QReadLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QReadLocker::<anonymous union> (0xb4bbc140) 0
Class QReadLocker
size=4 align=4
base size=4 base align=4
QReadLocker (0xb4bbc100) 0
-Class QWriteLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QWriteLocker::<anonymous union> (0xb4bbc1c0) 0
Class QWriteLocker
size=4 align=4
@@ -1983,10 +1305,6 @@ Class QMutex
base size=4 base align=4
QMutex (0xb4bbc200) 0
-Class QMutexLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMutexLocker::<anonymous union> (0xb4bbc280) 0
Class QMutexLocker
size=4 align=4
@@ -2066,10 +1384,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0xb4bbc580) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0xb4bbc5c0) 0 empty
Vtable for QMimeData
QMimeData::_ZTV9QMimeData: 17u entries
@@ -2104,20 +1418,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0xb4bbc6c0) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0xb4bbc700) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0xb4bbc740) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0xb4bbc7c0) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -2357,10 +1663,6 @@ QEventLoop (0xb4bbcc40) 0
QObject (0xb4bbcc80) 0
primary-for QEventLoop (0xb4bbcc40)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0xb4bbcd80) 0
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -2555,20 +1857,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0xb4bbce00) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0xb4bbcec0) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0xb4bbcf80) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0xb4b38000) 0 empty
Class QMetaProperty
size=20 align=4
@@ -2580,10 +1874,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0xb4b38080) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0xb4b380c0) 0 empty
Vtable for QTextCodecFactoryInterface
QTextCodecFactoryInterface::_ZTV26QTextCodecFactoryInterface: 6u entries
@@ -2726,25 +2016,13 @@ QImageIOPlugin (0xb4b38500) 0
QFactoryInterface (0xb4b385c0) 8 nearly-empty
primary-for QImageIOHandlerFactoryInterface (0xb4b38580)
-Class QFlags<QImageIOPlugin::Capability>
- size=4 align=4
- base size=4 base align=4
-QFlags<QImageIOPlugin::Capability> (0xb4b38640) 0
Class QImageReader
size=4 align=4
base size=4 base align=4
QImageReader (0xb4b38680) 0
-Class QVector<QPoint>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint>::<anonymous union> (0xb4b38740) 0
-Class QVector<QPoint>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint> (0xb4b386c0) 0
Class QPolygon
size=4 align=4
@@ -2752,15 +2030,7 @@ Class QPolygon
QPolygon (0xb4b38780) 0
QVector<QPoint> (0xb4b387c0) 0
-Class QVector<QPointF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF>::<anonymous union> (0xb4b38880) 0
-Class QVector<QPointF>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF> (0xb4b38800) 0
Class QPolygonF
size=4 align=4
@@ -2783,10 +2053,6 @@ Class QMatrix
base size=48 base align=4
QMatrix (0xb4b38ac0) 0
-Class QTypeInfo<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMatrix> (0xb4b38b00) 0 empty
Class QPainterPath::Element
size=20 align=4
@@ -2798,25 +2064,13 @@ Class QPainterPath
base size=4 base align=4
QPainterPath (0xb4b38b40) 0
-Class QVector<QPainterPath::Element>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element>::<anonymous union> (0xb4b38dc0) 0
-Class QVector<QPainterPath::Element>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element> (0xb4b38d40) 0
Class QPainterPathPrivate
size=8 align=4
base size=8 base align=4
QPainterPathPrivate (0xb4b38c40) 0
-Class QTypeInfo<QPainterPath::Element>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPainterPath::Element> (0xb4b38e00) 0 empty
Class QPainterPathStroker
size=4 align=4
@@ -2828,10 +2082,6 @@ Class QTransform
base size=80 base align=4
QTransform (0xb4b38f00) 0
-Class QTypeInfo<QTransform>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTransform> (0xb4b38f40) 0 empty
Vtable for QPaintDevice
QPaintDevice::_ZTV12QPaintDevice: 7u entries
@@ -2872,30 +2122,10 @@ QImage (0xb4b383c0) 0
QPaintDevice (0xb4b38480) 0
primary-for QImage (0xb4b383c0)
-Class QTypeInfo<QImage>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QImage> (0xb4b38980) 0 empty
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0xb4b38a40) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0xb4b38bc0) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0xb4b38c00) 0
-Class QColor::<anonymous union>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union> (0xb4b38a00) 0
Class QColor
size=16 align=4
@@ -3083,10 +2313,6 @@ Class QIcon
base size=4 base align=4
QIcon (0xb4915940) 0
-Class QTypeInfo<QIcon>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QIcon> (0xb4915a00) 0 empty
Vtable for QPicture
QPicture::_ZTV8QPicture: 8u entries
@@ -3225,10 +2451,6 @@ Class QKeySequence
base size=4 base align=4
QKeySequence (0xb4915f40) 0
-Class QTypeInfo<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QKeySequence> (0xb4915000) 0 empty
Vtable for QMimeSource
QMimeSource::_ZTV11QMimeSource: 7u entries
@@ -3526,15 +2748,7 @@ Class QInputMethodEvent::Attribute
base size=24 base align=4
QInputMethodEvent::Attribute (0xb485c840) 0
-Class QList<QInputMethodEvent::Attribute>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute>::<anonymous union> (0xb485c940) 0
-Class QList<QInputMethodEvent::Attribute>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute> (0xb485c8c0) 0
Vtable for QInputMethodEvent
QInputMethodEvent::_ZTV17QInputMethodEvent: 4u entries
@@ -3823,20 +3037,8 @@ Class QAccessible
base size=0 base align=1
QAccessible (0xb46d7040) 0 empty
-Class QFlags<QAccessible::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::StateFlag> (0xb46d70c0) 0
-Class QFlags<QAccessible::RelationFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::RelationFlag> (0xb46d7100) 0
-Class QMetaTypeId<QSet<QAccessible::Method> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QSet<QAccessible::Method> > (0xb46d7140) 0 empty
Vtable for QAccessibleInterface
QAccessibleInterface::_ZTV20QAccessibleInterface: 19u entries
@@ -3867,20 +3069,8 @@ QAccessibleInterface (0xb46d7200) 0 nearly-empty
vptr=((& QAccessibleInterface::_ZTV20QAccessibleInterface) + 8u)
QAccessible (0xb46d7240) 0 empty
-Class QHash<QAccessible::Method, QHashDummyValue>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QHash<QAccessible::Method, QHashDummyValue>::<anonymous union> (0xb46d73c0) 0
-Class QHash<QAccessible::Method, QHashDummyValue>
- size=4 align=4
- base size=4 base align=4
-QHash<QAccessible::Method, QHashDummyValue> (0xb46d7340) 0
-Class QSet<QAccessible::Method>
- size=4 align=4
- base size=4 base align=4
-QSet<QAccessible::Method> (0xb46d72c0) 0
Vtable for QAccessibleInterfaceEx
QAccessibleInterfaceEx::_ZTV22QAccessibleInterfaceEx: 22u entries
@@ -4402,55 +3592,23 @@ Class QPen
base size=4 base align=4
QPen (0xb478f500) 0
-Class QTypeInfo<QPen>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPen> (0xb478f5c0) 0 empty
Class QBrush
size=4 align=4
base size=4 base align=4
QBrush (0xb478f600) 0
-Class QTypeInfo<QBrush>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBrush> (0xb478f640) 0 empty
Class QBrushData
size=108 align=4
base size=105 base align=4
QBrushData (0xb478f680) 0
-Class QVector<QPair<double, QColor> >::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPair<double, QColor> >::<anonymous union> (0xb478f7c0) 0
-Class QVector<QPair<double, QColor> >
- size=4 align=4
- base size=4 base align=4
-QVector<QPair<double, QColor> > (0xb478f740) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=32 align=4
- base size=32 base align=4
-QGradient::<anonymous union>::<anonymous struct> (0xb478f840) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=40 align=4
- base size=40 base align=4
-QGradient::<anonymous union>::<anonymous struct> (0xb478f880) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=24 align=4
- base size=24 base align=4
-QGradient::<anonymous union>::<anonymous struct> (0xb478f8c0) 0
-Class QGradient::<anonymous union>
- size=40 align=4
- base size=40 base align=4
-QGradient::<anonymous union> (0xb478f800) 0
Class QGradient
size=56 align=4
@@ -4480,30 +3638,14 @@ Class QTextLength
base size=12 base align=4
QTextLength (0xb478fa80) 0
-Class QSharedDataPointer<QTextFormatPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextFormatPrivate> (0xb478fbc0) 0
Class QTextFormat
size=8 align=4
base size=8 base align=4
QTextFormat (0xb478fb40) 0
-Class QVector<QTextLength>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength>::<anonymous union> (0xb478fd40) 0
-Class QVector<QTextLength>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength> (0xb478fcc0) 0
-Class QFlags<QTextFormat::PageBreakFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextFormat::PageBreakFlag> (0xb478fd80) 0
Class QTextCharFormat
size=8 align=4
@@ -4643,10 +3785,6 @@ QTextFrame (0xb478fc40) 0
QObject (0xb450b040) 0
primary-for QTextObject (0xb450b000)
-Class QTypeInfo<QTextFrame::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFrame::iterator> (0xb450b180) 0 empty
Vtable for QTextBlockUserData
QTextBlockUserData::_ZTV18QTextBlockUserData: 4u entries
@@ -4671,25 +3809,13 @@ Class QTextBlock
base size=8 base align=4
QTextBlock (0xb450b240) 0
-Class QTypeInfo<QTextBlock>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock> (0xb450b2c0) 0 empty
-Class QTypeInfo<QTextBlock::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock::iterator> (0xb450b300) 0 empty
Class QTextFragment
size=12 align=4
base size=12 base align=4
QTextFragment (0xb450b340) 0
-Class QTypeInfo<QTextFragment>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFragment> (0xb450b380) 0 empty
Class QTextDocumentFragment
size=4 align=4
@@ -4756,10 +3882,6 @@ QTextTable (0xb450b500) 0
QObject (0xb450b5c0) 0
primary-for QTextObject (0xb450b580)
-Class QSharedDataPointer<QTextCursorPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextCursorPrivate> (0xb450b740) 0
Class QTextCursor
size=4 align=4
@@ -4808,10 +3930,6 @@ Class QTextOption
base size=24 base align=4
QTextOption (0xb450b980) 0
-Class QFlags<QTextOption::Flag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextOption::Flag> (0xb450b9c0) 0
Class QTextInlineObject
size=8 align=4
@@ -4828,15 +3946,7 @@ Class QTextLayout
base size=4 base align=4
QTextLayout (0xb450ba40) 0
-Class QVector<QTextLayout::FormatRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange>::<anonymous union> (0xb450bbc0) 0
-Class QVector<QTextLayout::FormatRange>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange> (0xb450bb40) 0
Class QTextLine
size=8 align=4
@@ -4886,10 +3996,6 @@ QTextDocument (0xb450bd00) 0
QObject (0xb450bd40) 0
primary-for QTextDocument (0xb450bd00)
-Class QFlags<QTextDocument::FindFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextDocument::FindFlag> (0xb450bdc0) 0
Class QPalette
size=8 align=4
@@ -4907,15 +4013,7 @@ Class QAbstractTextDocumentLayout::Selection
base size=12 base align=4
QAbstractTextDocumentLayout::Selection (0xb450bfc0) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union> (0xb450b700) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection> (0xb450b480) 0
Class QAbstractTextDocumentLayout::PaintContext
size=48 align=4
@@ -4977,10 +4075,6 @@ Class QSizePolicy
base size=4 base align=4
QSizePolicy (0xb450be40) 0
-Class QFlags<QSizePolicy::ControlType>
- size=4 align=4
- base size=4 base align=4
-QFlags<QSizePolicy::ControlType> (0xb42b00c0) 0
Vtable for QStyle
QStyle::_ZTV6QStyle: 35u entries
@@ -5028,15 +4122,7 @@ QStyle (0xb42b0100) 0
QObject (0xb42b0140) 0
primary-for QStyle (0xb42b0100)
-Class QFlags<QStyle::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::StateFlag> (0xb42b0200) 0
-Class QFlags<QStyle::SubControl>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::SubControl> (0xb42b0240) 0
Vtable for QCommonStyle
QCommonStyle::_ZTV12QCommonStyle: 35u entries
@@ -5242,10 +4328,6 @@ QWindowsXPStyle (0xb42b0780) 0
QObject (0xb42b0880) 0
primary-for QStyle (0xb42b0840)
-Class QPointer<QFocusFrame>
- size=4 align=4
- base size=4 base align=4
-QPointer<QFocusFrame> (0xb42b0a40) 0
Vtable for QMotifStyle
QMotifStyle::_ZTV11QMotifStyle: 35u entries
@@ -5541,10 +4623,6 @@ QWidget (0xb42b0040) 0
QPaintDevice (0xb42b01c0) 8
vptr=((& QWidget::_ZTV7QWidget) + 232u)
-Class QFlags<QWidget::RenderFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QWidget::RenderFlag> (0xb42b0480) 0
Vtable for QValidator
QValidator::_ZTV10QValidator: 16u entries
@@ -5745,10 +4823,6 @@ QAbstractSpinBox (0xb4094140) 0
QPaintDevice (0xb4094200) 8
vptr=((& QAbstractSpinBox::_ZTV16QAbstractSpinBox) + 252u)
-Class QFlags<QAbstractSpinBox::StepEnabledFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractSpinBox::StepEnabledFlag> (0xb4094280) 0
Vtable for QAbstractSlider
QAbstractSlider::_ZTV15QAbstractSlider: 64u entries
@@ -6167,10 +5241,6 @@ Class QStyleOptionFrame
QStyleOptionFrame (0xb4094ac0) 0
QStyleOption (0xb4094b00) 0
-Class QFlags<QStyleOptionFrameV2::FrameFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionFrameV2::FrameFeature> (0xb4094c80) 0
Class QStyleOptionFrameV2
size=56 align=4
@@ -6197,10 +5267,6 @@ Class QStyleOptionHeader
QStyleOptionHeader (0xb4094f00) 0
QStyleOption (0xb4094f40) 0
-Class QFlags<QStyleOptionButton::ButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionButton::ButtonFeature> (0xb4094240) 0
Class QStyleOptionButton
size=64 align=4
@@ -6208,10 +5274,6 @@ Class QStyleOptionButton
QStyleOptionButton (0xb4094000) 0
QStyleOption (0xb4094100) 0
-Class QFlags<QStyleOptionTab::CornerWidget>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionTab::CornerWidget> (0xb40946c0) 0
Class QStyleOptionTab
size=72 align=4
@@ -6226,10 +5288,6 @@ QStyleOptionTabV2 (0xb4094840) 0
QStyleOptionTab (0xb4094980) 0
QStyleOption (0xb4094a80) 0
-Class QFlags<QStyleOptionToolBar::ToolBarFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionToolBar::ToolBarFeature> (0xb4094fc0) 0
Class QStyleOptionToolBar
size=68 align=4
@@ -6256,10 +5314,6 @@ Class QStyleOptionMenuItem
QStyleOptionMenuItem (0xb3fd9200) 0
QStyleOption (0xb3fd9240) 0
-Class QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature> (0xb3fd9380) 0
Class QStyleOptionQ3ListViewItem
size=64 align=4
@@ -6292,10 +5346,6 @@ Class QStyleOptionViewItem
QStyleOptionViewItem (0xb3fd96c0) 0
QStyleOption (0xb3fd9700) 0
-Class QFlags<QStyleOptionViewItemV2::ViewItemFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionViewItemV2::ViewItemFeature> (0xb3fd9880) 0
Class QStyleOptionViewItemV2
size=84 align=4
@@ -6351,15 +5401,7 @@ QStyleOptionSpinBox (0xb3fd9f80) 0
QStyleOptionComplex (0xb3fd9fc0) 0
QStyleOption (0xb3fd9000) 0
-Class QList<QStyleOptionQ3ListViewItem>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::<anonymous union> (0xb3fd9540) 0
-Class QList<QStyleOptionQ3ListViewItem>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem> (0xb3fd93c0) 0
Class QStyleOptionQ3ListView
size=84 align=4
@@ -6368,10 +5410,6 @@ QStyleOptionQ3ListView (0xb3fd9100) 0
QStyleOptionComplex (0xb3fd9280) 0
QStyleOption (0xb3fd9340) 0
-Class QFlags<QStyleOptionToolButton::ToolButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionToolButton::ToolButtonFeature> (0xb3fd9e00) 0
Class QStyleOptionToolButton
size=96 align=4
@@ -6488,10 +5526,6 @@ Class QStyleFactory
base size=0 base align=1
QStyleFactory (0xb3ec0780) 0 empty
-Class QFlags<QTreeWidgetItemIterator::IteratorFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTreeWidgetItemIterator::IteratorFlag> (0xb3ec0840) 0
Class QTreeWidgetItemIterator
size=12 align=4
@@ -6663,10 +5697,6 @@ Class QItemSelectionRange
base size=8 base align=4
QItemSelectionRange (0xb3ec0b40) 0
-Class QTypeInfo<QItemSelectionRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QItemSelectionRange> (0xb3ec0bc0) 0 empty
Vtable for QItemSelectionModel
QItemSelectionModel::_ZTV19QItemSelectionModel: 18u entries
@@ -6697,20 +5727,8 @@ QItemSelectionModel (0xb3ec0c00) 0
QObject (0xb3ec0c40) 0
primary-for QItemSelectionModel (0xb3ec0c00)
-Class QFlags<QItemSelectionModel::SelectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QItemSelectionModel::SelectionFlag> (0xb3ec0cc0) 0
-Class QList<QItemSelectionRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::<anonymous union> (0xb3ec0d80) 0
-Class QList<QItemSelectionRange>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange> (0xb3ec0d00) 0
Class QItemSelection
size=4 align=4
@@ -6872,10 +5890,6 @@ QAbstractItemView (0xb3ec0f00) 0
QPaintDevice (0xb3ec0180) 8
vptr=((& QAbstractItemView::_ZTV17QAbstractItemView) + 392u)
-Class QFlags<QAbstractItemView::EditTrigger>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractItemView::EditTrigger> (0xb3ec03c0) 0
Vtable for QListView
QListView::_ZTV9QListView: 103u entries
@@ -7140,15 +6154,7 @@ Class QItemEditorCreatorBase
QItemEditorCreatorBase (0xb3e0e280) 0 nearly-empty
vptr=((& QItemEditorCreatorBase::_ZTV22QItemEditorCreatorBase) + 8u)
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union> (0xb3e0e540) 0
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*> (0xb3e0e4c0) 0
Vtable for QItemEditorFactory
QItemEditorFactory::_ZTV18QItemEditorFactory: 6u entries
@@ -7296,15 +6302,7 @@ Class QTableWidgetSelectionRange
base size=16 base align=4
QTableWidgetSelectionRange (0xb3e0e800) 0
-Class QVector<QWidgetItemData>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData>::<anonymous union> (0xb3e0e940) 0
-Class QVector<QWidgetItemData>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData> (0xb3e0e8c0) 0
Vtable for QTableWidgetItem
QTableWidgetItem::_ZTV16QTableWidgetItem: 10u entries
@@ -7790,15 +6788,7 @@ Class QStandardItem
QStandardItem (0xb3e0edc0) 0
vptr=((& QStandardItem::_ZTV13QStandardItem) + 8u)
-Class QList<QStandardItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QStandardItem*>::<anonymous union> (0xb3b65100) 0
-Class QList<QStandardItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QStandardItem*> (0xb3b65080) 0
Vtable for QStandardItemModel
QStandardItemModel::_ZTV18QStandardItemModel: 42u entries
@@ -7926,25 +6916,9 @@ QDirModel (0xb3b65300) 0
QObject (0xb3b65380) 0
primary-for QAbstractItemModel (0xb3b65340)
-Class QVector<QVector<QWidgetItemData> >::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> >::<anonymous union> (0xb3b65500) 0
-Class QVector<QVector<QWidgetItemData> >
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> > (0xb3b65480) 0
-Class QList<QTreeWidgetItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::<anonymous union> (0xb3b65600) 0
-Class QList<QTreeWidgetItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*> (0xb3b65580) 0
Vtable for QTreeWidgetItem
QTreeWidgetItem::_ZTV15QTreeWidgetItem: 10u entries
@@ -8540,15 +7514,7 @@ QActionGroup (0xb3b65440) 0
QObject (0xb3b65540) 0
primary-for QActionGroup (0xb3b65440)
-Class QList<QAction*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QAction*>::<anonymous union> (0xb3b65b40) 0
-Class QList<QAction*>
- size=4 align=4
- base size=4 base align=4
-QList<QAction*> (0xb3b65880) 0
Vtable for QLayoutItem
QLayoutItem::_ZTV11QLayoutItem: 18u entries
@@ -9687,10 +8653,6 @@ QMdiArea (0xb38e50c0) 0
QPaintDevice (0xb38e5200) 8
vptr=((& QMdiArea::_ZTV8QMdiArea) + 240u)
-Class QFlags<QMdiArea::AreaOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QMdiArea::AreaOption> (0xb38e5280) 0
Vtable for QAbstractButton
QAbstractButton::_ZTV15QAbstractButton: 66u entries
@@ -10012,10 +8974,6 @@ QMdiSubWindow (0xb38e56c0) 0
QPaintDevice (0xb38e5780) 8
vptr=((& QMdiSubWindow::_ZTV13QMdiSubWindow) + 232u)
-Class QFlags<QMdiSubWindow::SubWindowOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QMdiSubWindow::SubWindowOption> (0xb38e5800) 0
Vtable for QCalendarWidget
QCalendarWidget::_ZTV15QCalendarWidget: 64u entries
@@ -10493,10 +9451,6 @@ QDialogButtonBox (0xb38e5f80) 0
QPaintDevice (0xb38e5240) 8
vptr=((& QDialogButtonBox::_ZTV16QDialogButtonBox) + 232u)
-Class QFlags<QDialogButtonBox::StandardButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDialogButtonBox::StandardButton> (0xb38e53c0) 0
Vtable for QDockWidget
QDockWidget::_ZTV11QDockWidget: 63u entries
@@ -10576,10 +9530,6 @@ QDockWidget (0xb38e5540) 0
QPaintDevice (0xb38e5980) 8
vptr=((& QDockWidget::_ZTV11QDockWidget) + 232u)
-Class QFlags<QDockWidget::DockWidgetFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDockWidget::DockWidgetFeature> (0xb38e5c40) 0
Vtable for QScrollArea
QScrollArea::_ZTV11QScrollArea: 65u entries
@@ -10930,10 +9880,6 @@ QDateEdit (0xb36a7440) 0
QPaintDevice (0xb36a7580) 8
vptr=((& QDateEdit::_ZTV9QDateEdit) + 260u)
-Class QFlags<QDateTimeEdit::Section>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDateTimeEdit::Section> (0xb36a7600) 0
Vtable for QFontComboBox
QFontComboBox::_ZTV13QFontComboBox: 65u entries
@@ -11017,10 +9963,6 @@ QFontComboBox (0xb36a7640) 0
QPaintDevice (0xb36a7740) 8
vptr=((& QFontComboBox::_ZTV13QFontComboBox) + 240u)
-Class QFlags<QFontComboBox::FontFilter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFontComboBox::FontFilter> (0xb36a77c0) 0
Vtable for QToolBox
QToolBox::_ZTV8QToolBox: 65u entries
@@ -11275,10 +10217,6 @@ QTextEdit (0xb36a7ac0) 0
QPaintDevice (0xb36a7c00) 8
vptr=((& QTextEdit::_ZTV9QTextEdit) + 256u)
-Class QFlags<QTextEdit::AutoFormattingFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextEdit::AutoFormattingFlag> (0xb36a7d00) 0
Vtable for QTextBrowser
QTextBrowser::_ZTV12QTextBrowser: 74u entries
@@ -12210,10 +11148,6 @@ QMainWindow (0xb35ee980) 0
QPaintDevice (0xb35eea40) 8
vptr=((& QMainWindow::_ZTV11QMainWindow) + 236u)
-Class QFlags<QMainWindow::DockOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QMainWindow::DockOption> (0xb35eeac0) 0
Vtable for QDial
QDial::_ZTV5QDial: 64u entries
@@ -12786,20 +11720,8 @@ Class QGraphicsItem
QGraphicsItem (0xb35385c0) 0
vptr=((& QGraphicsItem::_ZTV13QGraphicsItem) + 8u)
-Class QFlags<QGraphicsItem::GraphicsItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGraphicsItem::GraphicsItemFlag> (0xb35386c0) 0
-Class QMetaTypeId<QGraphicsItem*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QGraphicsItem*> (0xb3538700) 0 empty
-Class QMetaTypeId<QGraphicsScene*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QGraphicsScene*> (0xb35387c0) 0 empty
Vtable for QAbstractGraphicsShapeItem
QAbstractGraphicsShapeItem::_ZTV26QAbstractGraphicsShapeItem: 39u entries
@@ -13361,50 +12283,14 @@ Class QPainter
base size=4 base align=4
QPainter (0xb3538480) 0
-Class QFlags<QPainter::RenderHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPainter::RenderHint> (0xb3538600) 0
-Class QVector<QLineF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF>::<anonymous union> (0xb3538a00) 0
-Class QVector<QLineF>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF> (0xb3538680) 0
-Class QVector<QLine>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine>::<anonymous union> (0xb3538dc0) 0
-Class QVector<QLine>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine> (0xb3538c00) 0
-Class QVector<QRectF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF>::<anonymous union> (0xb32ab040) 0
-Class QVector<QRectF>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF> (0xb3538f80) 0
-Class QVector<QRect>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect>::<anonymous union> (0xb32ab140) 0
-Class QVector<QRect>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect> (0xb32ab0c0) 0
Vtable for QGraphicsScene
QGraphicsScene::_ZTV14QGraphicsScene: 34u entries
@@ -13451,20 +12337,8 @@ QGraphicsScene (0xb32ab180) 0
QObject (0xb32ab1c0) 0
primary-for QGraphicsScene (0xb32ab180)
-Class QFlags<QGraphicsScene::SceneLayer>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGraphicsScene::SceneLayer> (0xb32ab2c0) 0
-Class QList<QGraphicsItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QGraphicsItem*>::<anonymous union> (0xb32ab380) 0
-Class QList<QGraphicsItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QGraphicsItem*> (0xb32ab300) 0
Vtable for QGraphicsView
QGraphicsView::_ZTV13QGraphicsView: 68u entries
@@ -13553,15 +12427,7 @@ QGraphicsView (0xb32ab3c0) 0
QPaintDevice (0xb32ab500) 8
vptr=((& QGraphicsView::_ZTV13QGraphicsView) + 252u)
-Class QFlags<QGraphicsView::CacheModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGraphicsView::CacheModeFlag> (0xb32ab5c0) 0
-Class QFlags<QGraphicsView::OptimizationFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGraphicsView::OptimizationFlag> (0xb32ab600) 0
Vtable for QGraphicsItemAnimation
QGraphicsItemAnimation::_ZTV22QGraphicsItemAnimation: 16u entries
@@ -13921,10 +12787,6 @@ QAbstractPrintDialog (0xb32abb40) 0
QPaintDevice (0xb32abc40) 8
vptr=((& QAbstractPrintDialog::_ZTV20QAbstractPrintDialog) + 248u)
-Class QFlags<QAbstractPrintDialog::PrintDialogOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractPrintDialog::PrintDialogOption> (0xb32abd00) 0
Vtable for QPrintDialog
QPrintDialog::_ZTV12QPrintDialog: 67u entries
@@ -14183,10 +13045,6 @@ QWizard (0xb32ab580) 0
QPaintDevice (0xb32abb00) 8
vptr=((& QWizard::_ZTV7QWizard) + 260u)
-Class QFlags<QWizard::WizardOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QWizard::WizardOption> (0xb32abcc0) 0
Vtable for QWizardPage
QWizardPage::_ZTV11QWizardPage: 68u entries
@@ -14354,10 +13212,6 @@ QFileDialog (0xb3082100) 0
QPaintDevice (0xb3082200) 8
vptr=((& QFileDialog::_ZTV11QFileDialog) + 244u)
-Class QFlags<QFileDialog::Option>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileDialog::Option> (0xb30822c0) 0
Vtable for QFontDialog
QFontDialog::_ZTV11QFontDialog: 66u entries
@@ -14694,10 +13548,6 @@ QMessageBox (0xb30827c0) 0
QPaintDevice (0xb30828c0) 8
vptr=((& QMessageBox::_ZTV11QMessageBox) + 244u)
-Class QFlags<QMessageBox::StandardButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<QMessageBox::StandardButton> (0xb3082980) 0
Vtable for QColorDialog
QColorDialog::_ZTV12QColorDialog: 66u entries
@@ -15173,15 +14023,7 @@ Class QTextItem
base size=0 base align=1
QTextItem (0xb2fbb300) 0 empty
-Class QTypeInfo<QTextItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextItem> (0xb2fbb340) 0 empty
-Class QFlags<QPaintEngine::PaintEngineFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::PaintEngineFeature> (0xb2fbb400) 0
Vtable for QPaintEngine
QPaintEngine::_ZTV12QPaintEngine: 24u entries
@@ -15216,20 +14058,12 @@ Class QPaintEngine
QPaintEngine (0xb2fbb380) 0
vptr=((& QPaintEngine::_ZTV12QPaintEngine) + 8u)
-Class QFlags<QPaintEngine::DirtyFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::DirtyFlag> (0xb2fbb500) 0
Class QPaintEngineState
size=4 align=4
base size=4 base align=4
QPaintEngineState (0xb2fbb480) 0
-Class QFlags<QTextItem::RenderFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextItem::RenderFlag> (0xb2fbb540) 0
Vtable for QInputContext
QInputContext::_ZTV13QInputContext: 26u entries
@@ -15346,25 +14180,13 @@ Class QGLColormap
base size=4 base align=4
QGLColormap (0xb2fbb880) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb2fbb900) 0
-Class QFlags<QGL::FormatOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGL::FormatOption> (0xb2fbb940) 0
Class QGLFormat
size=4 align=4
base size=4 base align=4
QGLFormat (0xb2fbb980) 0
-Class QFlags<QGLFormat::OpenGLVersionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGLFormat::OpenGLVersionFlag> (0xb2fbba40) 0
Vtable for QGLContext
QGLContext::_ZTV10QGLContext: 11u entries
@@ -15510,188 +14332,40 @@ QGLFramebufferObject (0xb2fbbd40) 0
QPaintDevice (0xb2fbbd80) 0
primary-for QGLFramebufferObject (0xb2fbbd40)
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0xb2fbbe80) 0
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0xb2fbbf00) 0
-Class QVectorTypedData<QPoint>
- size=24 align=4
- base size=24 base align=4
-QVectorTypedData<QPoint> (0xb2fbbf80) 0
-Class QVectorTypedData<QPointF>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QPointF> (0xb2fbb000) 0
-Class QVectorTypedData<QPainterPath::Element>
- size=36 align=4
- base size=36 base align=4
-QVectorTypedData<QPainterPath::Element> (0xb2fbb1c0) 0
-Class QVectorTypedData<QTextLength>
- size=28 align=4
- base size=28 base align=4
-QVectorTypedData<QTextLength> (0xb2fbb700) 0
-Class QVectorTypedData<QTextLayout::FormatRange>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QTextLayout::FormatRange> (0xb2fbb9c0) 0
-Class QVectorTypedData<QAbstractTextDocumentLayout::Selection>
- size=28 align=4
- base size=28 base align=4
-QVectorTypedData<QAbstractTextDocumentLayout::Selection> (0xb2fbbac0) 0
-Class QList<QTreeWidgetItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::Node (0xb2aa9100) 0
-Class QVectorTypedData<QVector<QWidgetItemData> >
- size=20 align=4
- base size=20 base align=4
-QVectorTypedData<QVector<QWidgetItemData> > (0xb2aa9180) 0
-Class QList<QAction*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QAction*>::Node (0xb2aa9200) 0
-Class QVectorTypedData<QLineF>
- size=48 align=4
- base size=48 base align=4
-QVectorTypedData<QLineF> (0xb2aa9380) 0
-Class QVectorTypedData<QLine>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QLine> (0xb2aa9400) 0
-Class QVectorTypedData<QRectF>
- size=48 align=4
- base size=48 base align=4
-QVectorTypedData<QRectF> (0xb2aa9480) 0
-Class QVectorTypedData<QRect>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QRect> (0xb2aa9500) 0
-Class QMetaTypeId2<QSet<QAccessible::Method> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSet<QAccessible::Method> > (0xb2aa95c0) 0 empty
-Class QHashNode<QAccessible::Method, QHashDummyValue>
- size=16 align=4
- base size=13 base align=4
-QHashNode<QAccessible::Method, QHashDummyValue> (0xb2aa9640) 0
-Class QTypeInfo<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLength> (0xb2aa96c0) 0 empty
-Class QTypeInfo<QTextLayout::FormatRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLayout::FormatRange> (0xb2aa9780) 0 empty
-Class QTypeInfo<QAbstractTextDocumentLayout::Selection>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAbstractTextDocumentLayout::Selection> (0xb2aa9880) 0 empty
-Class QHashNode<QVariant::Type, QItemEditorCreatorBase*>
- size=16 align=4
- base size=16 base align=4
-QHashNode<QVariant::Type, QItemEditorCreatorBase*> (0xb2aa9940) 0
-Class QTypeInfo<QStandardItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QStandardItem*> (0xb2aa99c0) 0 empty
-Class QTypeInfo<QTreeWidgetItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTreeWidgetItem*> (0xb2aa9a40) 0 empty
-Class QTypeInfo<QAction*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAction*> (0xb2aa9ac0) 0 empty
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0xb2aa9b40) 0
-Class QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union> (0xb2aa9bc0) 0
-Class QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union> (0xb2aa9c80) 0
-Class QList<QVariant>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::Node (0xb2aa9d40) 0
-Class QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union> (0xb2aa9e00) 0
-Class QTypeInfo<QStyleOptionQ3ListViewItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QStyleOptionQ3ListViewItem> (0xb2aa9ec0) 0 empty
-Class QList<QStyleOptionQ3ListViewItem>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::Node (0xb2aa9f40) 0
-Class QList<QItemSelectionRange>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::Node (0xb2aa9280) 0
-Class QList<QStandardItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QStandardItem*>::Node (0xb2aa9900) 0
-Class QTypeInfo<QGraphicsItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QGraphicsItem*> (0xb2aa9c00) 0 empty
-Class QList<QGraphicsItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QGraphicsItem*>::Node (0xb2aa9cc0) 0
-Class QHashDummyNode<QAccessible::Method, QHashDummyValue>
- size=12 align=4
- base size=12 base align=4
-QHashDummyNode<QAccessible::Method, QHashDummyValue> (0xb2aa9e40) 0
-Class QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union> (0xb2931040) 0
diff --git a/tests/auto/bic/data/QtOpenGL.4.3.1.linux-gcc-ia32.txt b/tests/auto/bic/data/QtOpenGL.4.3.1.linux-gcc-ia32.txt
index 45ee928..282b429 100644
--- a/tests/auto/bic/data/QtOpenGL.4.3.1.linux-gcc-ia32.txt
+++ b/tests/auto/bic/data/QtOpenGL.4.3.1.linux-gcc-ia32.txt
@@ -1,34 +1,8 @@
-Class QUintForSize<4>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<4> (0xb7fa1d80) 0 empty
-Class QUintForSize<8>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<8> (0xb7fa1dc0) 0 empty
-Class QUintForType<void*>
- size=1 align=1
- base size=1 base align=1
-QUintForType<void*> (0xb7fa1e80) 0 empty
- QUintForSize<4> (0xb7fa1ec0) 0 empty
-Class QIntForSize<4>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<4> (0xb7fa1f40) 0 empty
-Class QIntForSize<8>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<8> (0xb7fa1f80) 0 empty
-Class QIntForType<void*>
- size=1 align=1
- base size=1 base align=1
-QIntForType<void*> (0xb5aa1040) 0 empty
- QIntForSize<4> (0xb5aa1080) 0 empty
Class QSysInfo
size=1 align=1
@@ -50,80 +24,20 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0xb5aa1340) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0xb5aa1400) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0xb5aa1440) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0xb5aa1480) 0 empty
-Class QTypeInfo<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned char> (0xb5aa14c0) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0xb5aa1500) 0 empty
-Class QTypeInfo<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short unsigned int> (0xb5aa1540) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0xb5aa1580) 0 empty
-Class QTypeInfo<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned int> (0xb5aa15c0) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0xb5aa1600) 0 empty
-Class QTypeInfo<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long unsigned int> (0xb5aa1640) 0 empty
-Class QTypeInfo<long long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long int> (0xb5aa1680) 0 empty
-Class QTypeInfo<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long unsigned int> (0xb5aa16c0) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0xb5aa1700) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0xb5aa1740) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0xb5aa1780) 0 empty
Class QFlag
size=4 align=4
@@ -161,10 +75,6 @@ Class QByteRef
base size=8 base align=4
QByteRef (0xb5aa1bc0) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0xb5aa1c00) 0 empty
Vtable for std::exception
std::exception::_ZTVSt9exception: 5u entries
@@ -227,70 +137,18 @@ Class QListData
base size=4 base align=4
QListData (0xb5aa1f00) 0
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0xb5a53100) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0xb5a53140) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0xb5a53180) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0xb5a531c0) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0xb5a53200) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0xb5a53240) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0xb5a53280) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0xb5a532c0) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0xb5a53300) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0xb5a53340) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0xb5a53380) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0xb5a533c0) 0
-Class QFlags<Qt::TextInteractionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::TextInteractionFlag> (0xb5a53400) 0
Class QInternal
size=1 align=1
@@ -308,10 +166,6 @@ Class QGenericReturnArgument
QGenericReturnArgument (0xb5a53500) 0
QGenericArgument (0xb5a53540) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0xb5a53700) 0
Class QMetaObject
size=16 align=4
@@ -328,10 +182,6 @@ Class QChar
base size=2 base align=2
QChar (0xb5a537c0) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0xb5a53840) 0 empty
Class QString::Null
size=1 align=1
@@ -348,10 +198,6 @@ Class QString
base size=4 base align=4
QString (0xb5a53880) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0xb5a53a80) 0
Class QLatin1String
size=4 align=4
@@ -369,25 +215,13 @@ Class QConstString
QConstString (0xb5a53b40) 0
QString (0xb5a53b80) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0xb5a53bc0) 0 empty
Class QStringRef
size=12 align=4
base size=12 base align=4
QStringRef (0xb5a53c00) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0xb5a53d40) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0xb5a53cc0) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -479,10 +313,6 @@ QIODevice (0xb5a53f80) 0
QObject (0xb5a53fc0) 0
primary-for QIODevice (0xb5a53f80)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0xb5a53000) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -502,275 +332,59 @@ Class QMetaType
base size=0 base align=1
QMetaType (0xb5a53a00) 0 empty
-Class QMetaTypeId2<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QString> (0xb5635000) 0 empty
-Class QMetaTypeId2<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<int> (0xb5635040) 0 empty
-Class QMetaTypeId2<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned int> (0xb5635080) 0 empty
-Class QMetaTypeId2<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<bool> (0xb56350c0) 0 empty
-Class QMetaTypeId2<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<double> (0xb5635100) 0 empty
-Class QMetaTypeId2<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QByteArray> (0xb5635140) 0 empty
-Class QMetaTypeId2<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QChar> (0xb5635180) 0 empty
-Class QMetaTypeId2<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long int> (0xb56351c0) 0 empty
-Class QMetaTypeId2<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short int> (0xb5635200) 0 empty
-Class QMetaTypeId2<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<char> (0xb5635240) 0 empty
-Class QMetaTypeId2<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long unsigned int> (0xb5635280) 0 empty
-Class QMetaTypeId2<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short unsigned int> (0xb56352c0) 0 empty
-Class QMetaTypeId2<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned char> (0xb5635300) 0 empty
-Class QMetaTypeId2<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<float> (0xb5635340) 0 empty
-Class QMetaTypeId2<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QObject*> (0xb5635380) 0 empty
-Class QMetaTypeId2<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QWidget*> (0xb56353c0) 0 empty
-Class QMetaTypeId2<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<void*> (0xb5635400) 0 empty
-Class QMetaTypeId2<long long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long int> (0xb5635440) 0 empty
-Class QMetaTypeId2<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long unsigned int> (0xb5635480) 0 empty
-Class QMetaTypeId2<QStringList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QStringList> (0xb56354c0) 0 empty
-Class QMetaTypeId2<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitArray> (0xb5635500) 0 empty
-Class QMetaTypeId2<QDate>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDate> (0xb5635540) 0 empty
-Class QMetaTypeId2<QTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTime> (0xb5635580) 0 empty
-Class QMetaTypeId2<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDateTime> (0xb56355c0) 0 empty
-Class QMetaTypeId2<QUrl>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QUrl> (0xb5635600) 0 empty
-Class QMetaTypeId2<QLocale>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLocale> (0xb5635640) 0 empty
-Class QMetaTypeId2<QRect>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRect> (0xb5635680) 0 empty
-Class QMetaTypeId2<QRectF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRectF> (0xb56356c0) 0 empty
-Class QMetaTypeId2<QSize>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSize> (0xb5635700) 0 empty
-Class QMetaTypeId2<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizeF> (0xb5635740) 0 empty
-Class QMetaTypeId2<QLine>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLine> (0xb5635780) 0 empty
-Class QMetaTypeId2<QLineF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLineF> (0xb56357c0) 0 empty
-Class QMetaTypeId2<QPoint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPoint> (0xb5635800) 0 empty
-Class QMetaTypeId2<QPointF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPointF> (0xb5635840) 0 empty
-Class QMetaTypeId2<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegExp> (0xb5635880) 0 empty
-Class QMetaTypeId2<QColorGroup>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColorGroup> (0xb56358c0) 0 empty
-Class QMetaTypeId2<QFont>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QFont> (0xb5635900) 0 empty
-Class QMetaTypeId2<QPixmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPixmap> (0xb5635940) 0 empty
-Class QMetaTypeId2<QBrush>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBrush> (0xb5635980) 0 empty
-Class QMetaTypeId2<QColor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColor> (0xb56359c0) 0 empty
-Class QMetaTypeId2<QPalette>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPalette> (0xb5635a00) 0 empty
-Class QMetaTypeId2<QIcon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QIcon> (0xb5635a40) 0 empty
-Class QMetaTypeId2<QImage>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QImage> (0xb5635a80) 0 empty
-Class QMetaTypeId2<QPolygon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPolygon> (0xb5635ac0) 0 empty
-Class QMetaTypeId2<QRegion>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegion> (0xb5635b00) 0 empty
-Class QMetaTypeId2<QBitmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitmap> (0xb5635b40) 0 empty
-Class QMetaTypeId2<QCursor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QCursor> (0xb5635b80) 0 empty
-Class QMetaTypeId2<QSizePolicy>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizePolicy> (0xb5635bc0) 0 empty
-Class QMetaTypeId2<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QKeySequence> (0xb5635c00) 0 empty
-Class QMetaTypeId2<QPen>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPen> (0xb5635c40) 0 empty
-Class QMetaTypeId2<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextLength> (0xb5635c80) 0 empty
-Class QMetaTypeId2<QTextFormat>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextFormat> (0xb5635cc0) 0 empty
-Class QMetaTypeId2<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMatrix> (0xb5635d00) 0 empty
-Class QMetaTypeId2<QTransform>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTransform> (0xb5635d40) 0 empty
Class QMapData::Node
size=8 align=4
@@ -807,45 +421,17 @@ Class QVariant
base size=12 base align=4
QVariant (0xb5678200) 0
-Class QMetaTypeId2<QList<QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QList<QVariant> > (0xb5678480) 0 empty
-Class QMetaTypeId2<QMap<QString, QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMap<QString, QVariant> > (0xb56784c0) 0 empty
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0xb56785c0) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0xb5678540) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0xb56786c0) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0xb5678640) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0xb5678740) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0xb56787c0) 0 empty
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -972,10 +558,6 @@ QEventLoop (0xb5678c40) 0
QObject (0xb5678c80) 0
primary-for QEventLoop (0xb5678c40)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0xb5678d80) 0
Vtable for QCoreApplication
QCoreApplication::_ZTV16QCoreApplication: 16u entries
@@ -1009,10 +591,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0xb5678f40) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0xb5678f80) 0 empty
Vtable for QTimer
QTimer::_ZTV6QTimer: 14u entries
@@ -1069,20 +647,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0xb5678440) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0xb5678340) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0xb5678400) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0xb5678840) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -1277,20 +847,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0xb5472080) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0xb54720c0) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0xb5472100) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0xb5472140) 0 empty
Class QMetaProperty
size=20 align=4
@@ -1302,10 +864,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0xb54721c0) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0xb5472200) 0 empty
Vtable for QSocketNotifier
QSocketNotifier::_ZTV15QSocketNotifier: 14u entries
@@ -1408,100 +966,48 @@ Class QSize
base size=8 base align=4
QSize (0xb5472500) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0xb5472700) 0 empty
Class QSizeF
size=16 align=4
base size=16 base align=4
QSizeF (0xb5472780) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0xb5472980) 0 empty
Class QPoint
size=8 align=4
base size=8 base align=4
QPoint (0xb5472a40) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0xb5472c80) 0 empty
Class QPointF
size=16 align=4
base size=16 base align=4
QPointF (0xb5472cc0) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0xb5472f00) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0xb5472f40) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0xb5472040) 0 empty
Class QRectF
size=32 align=4
base size=32 base align=4
QRectF (0xb54722c0) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0xb5472380) 0 empty
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0xb5472540) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0xb5472580) 0
Class wait
size=4 align=4
base size=4 base align=4
wait (0xb5472440) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb54725c0) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb5472600) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb5472640) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb5472680) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb54726c0) 0
Class timespec
size=8 align=4
@@ -1513,80 +1019,24 @@ Class timeval
base size=8 base align=4
timeval (0xb5472800) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb5472840) 0
-Class <anonymous union>
- size=36 align=4
- base size=36 base align=4
-<anonymous union> (0xb5472880) 0
Class __pthread_internal_slist
size=4 align=4
base size=4 base align=4
__pthread_internal_slist (0xb54728c0) 0
-Class <anonymous union>::__pthread_mutex_s::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union>::__pthread_mutex_s::<anonymous union> (0xb5472a80) 0
-Class <anonymous union>::__pthread_mutex_s
- size=24 align=4
- base size=24 base align=4
-<anonymous union>::__pthread_mutex_s (0xb5472940) 0
-Class <anonymous union>
- size=24 align=4
- base size=24 base align=4
-<anonymous union> (0xb5472900) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb5472ac0) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0xb5472b40) 0
-Class <anonymous union>
- size=48 align=4
- base size=48 base align=4
-<anonymous union> (0xb5472b00) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb5472b80) 0
-Class <anonymous union>::<anonymous struct>
- size=32 align=4
- base size=32 base align=4
-<anonymous union>::<anonymous struct> (0xb5472c00) 0
-Class <anonymous union>
- size=32 align=4
- base size=32 base align=4
-<anonymous union> (0xb5472bc0) 0
-Class <anonymous union>
- size=8 align=4
- base size=8 base align=4
-<anonymous union> (0xb5472c40) 0
-Class <anonymous union>
- size=20 align=4
- base size=20 base align=4
-<anonymous union> (0xb5472d00) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb5472d40) 0
Class random_data
size=28 align=4
@@ -1618,35 +1068,19 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0xb50941c0) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0xb5094200) 0 empty
Class QRegExp
size=4 align=4
base size=4 base align=4
QRegExp (0xb5094980) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0xb50949c0) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0xb5094a00) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0xb5094ac0) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0xb5094a40) 0
Class QStringList
size=4 align=4
@@ -1654,15 +1088,7 @@ Class QStringList
QStringList (0xb5094b00) 0
QList<QString> (0xb5094b40) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0xb5094bc0) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0xb5094c00) 0
Vtable for QTimeLine
QTimeLine::_ZTV9QTimeLine: 15u entries
@@ -1695,15 +1121,7 @@ Class QLocale
base size=4 base align=4
QLocale (0xb5094e00) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0xb5094e40) 0 empty
-Class QFlags<QLocale::NumberOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLocale::NumberOption> (0xb5094e80) 0
Vtable for QSystemLocale
QSystemLocale::_ZTV13QSystemLocale: 6u entries
@@ -1730,10 +1148,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0xb5074000) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0xb5074040) 0 empty
Class QCryptographicHash
size=4 align=4
@@ -1750,20 +1164,12 @@ Class QLine
base size=16 base align=4
QLine (0xb5074480) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0xb50744c0) 0 empty
Class QLineF
size=32 align=4
base size=32 base align=4
QLineF (0xb5074500) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0xb5074540) 0 empty
Class QSharedData
size=4 align=4
@@ -1775,30 +1181,18 @@ Class QDate
base size=4 base align=4
QDate (0xb50746c0) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0xb5074780) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0xb50747c0) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0xb5074880) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0xb50748c0) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0xb5074980) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -1810,20 +1204,12 @@ Class QReadWriteLock
base size=4 base align=4
QReadWriteLock (0xb5074a00) 0
-Class QReadLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QReadLocker::<anonymous union> (0xb5074a80) 0
Class QReadLocker
size=4 align=4
base size=4 base align=4
QReadLocker (0xb5074a40) 0
-Class QWriteLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QWriteLocker::<anonymous union> (0xb5074b00) 0
Class QWriteLocker
size=4 align=4
@@ -1876,20 +1262,12 @@ Class QMutex
base size=4 base align=4
QMutex (0xb5074d40) 0
-Class QMutexLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMutexLocker::<anonymous union> (0xb5074dc0) 0
Class QMutexLocker
size=4 align=4
base size=4 base align=4
QMutexLocker (0xb5074d80) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0xb5074ec0) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -1914,15 +1292,7 @@ Class QTextCodec
QTextCodec (0xb5074e00) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0xb50743c0) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0xb5074f80) 0
Class QTextEncoder
size=32 align=4
@@ -1934,25 +1304,9 @@ Class QTextDecoder
base size=32 base align=4
QTextDecoder (0xb5074740) 0
-Class <anonymous struct>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct>::<anonymous union> (0xb5074840) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb5074800) 0
-Class <anonymous struct>
- size=12 align=4
- base size=12 base align=4
-<anonymous struct> (0xb5074900) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb5074940) 0
Class __gconv_trans_data
size=20 align=4
@@ -1974,15 +1328,7 @@ Class __gconv_info
base size=8 base align=4
__gconv_info (0xb4e5f000) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0xb4e5f080) 0
-Class <anonymous union>
- size=44 align=4
- base size=44 base align=4
-<anonymous union> (0xb4e5f040) 0
Class _IO_marker
size=12 align=4
@@ -1994,10 +1340,6 @@ Class _IO_FILE
base size=148 base align=4
_IO_FILE (0xb4e5f100) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb4e5f140) 0
Vtable for QTextStream
QTextStream::_ZTV11QTextStream: 4u entries
@@ -2012,10 +1354,6 @@ Class QTextStream
QTextStream (0xb4e5f180) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0xb4e5f240) 0
Class QTextStreamManipulator
size=24 align=4
@@ -2131,35 +1469,15 @@ QFile (0xb4e5f680) 0
QObject (0xb4e5f700) 0
primary-for QIODevice (0xb4e5f6c0)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0xb4e5f780) 0
Class QFileInfo
size=4 align=4
base size=4 base align=4
QFileInfo (0xb4e5f7c0) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0xb4e5f800) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0xb4e5f840) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0xb4e5f900) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0xb4e5f880) 0
Vtable for QTemporaryFile
QTemporaryFile::_ZTV14QTemporaryFile: 31u entries
@@ -2212,15 +1530,7 @@ Class QDir
base size=4 base align=4
QDir (0xb4e5fa80) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0xb4e5fb00) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0xb4e5fb80) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -2277,10 +1587,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0xb4e5fbc0) 0
vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0xb4e5fd40) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -2409,15 +1715,7 @@ Class QUrl
base size=4 base align=4
QUrl (0xb4e5f200) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0xb4e5f480) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0xb4e5f580) 0 empty
Vtable for QDirIterator
QDirIterator::_ZTV12QDirIterator: 4u entries
@@ -2432,10 +1730,6 @@ Class QDirIterator
QDirIterator (0xb4e5f640) 0
vptr=((& QDirIterator::_ZTV12QDirIterator) + 8u)
-Class QFlags<QDirIterator::IteratorFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDirIterator::IteratorFlag> (0xb4e5fa40) 0
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -2541,10 +1835,6 @@ QLibrary (0xb4ad1140) 0
QObject (0xb4ad1180) 0
primary-for QLibrary (0xb4ad1140)
-Class QFlags<QLibrary::LoadHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLibrary::LoadHint> (0xb4ad1200) 0
Vtable for QPluginLoader
QPluginLoader::_ZTV13QPluginLoader: 14u entries
@@ -2674,10 +1964,6 @@ Class QSizePolicy
base size=4 base align=4
QSizePolicy (0xb4ad1740) 0
-Class QFlags<QSizePolicy::ControlType>
- size=4 align=4
- base size=4 base align=4
-QFlags<QSizePolicy::ControlType> (0xb4ad1840) 0
Vtable for QLayoutItem
QLayoutItem::_ZTV11QLayoutItem: 18u entries
@@ -3103,40 +2389,16 @@ Class QPaintDevice
QPaintDevice (0xb4ad1480) 0
vptr=((& QPaintDevice::_ZTV12QPaintDevice) + 8u)
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0xb4ad1800) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0xb4ad18c0) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0xb4ad1980) 0
-Class QColor::<anonymous union>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union> (0xb4ad17c0) 0
Class QColor
size=16 align=4
base size=14 base align=4
QColor (0xb4ad1700) 0
-Class QVector<QPoint>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint>::<anonymous union> (0xb4ad1cc0) 0
-Class QVector<QPoint>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint> (0xb4ad1a40) 0
Class QPolygon
size=4 align=4
@@ -3144,15 +2406,7 @@ Class QPolygon
QPolygon (0xb4ad1e00) 0
QVector<QPoint> (0xb4ad1f80) 0
-Class QVector<QPointF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF>::<anonymous union> (0xb4893080) 0
-Class QVector<QPointF>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF> (0xb4893000) 0
Class QPolygonF
size=4 align=4
@@ -3175,10 +2429,6 @@ Class QMatrix
base size=48 base align=4
QMatrix (0xb48932c0) 0
-Class QTypeInfo<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMatrix> (0xb4893300) 0 empty
Class QPainterPath::Element
size=20 align=4
@@ -3190,25 +2440,13 @@ Class QPainterPath
base size=4 base align=4
QPainterPath (0xb4893340) 0
-Class QVector<QPainterPath::Element>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element>::<anonymous union> (0xb48935c0) 0
-Class QVector<QPainterPath::Element>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element> (0xb4893540) 0
Class QPainterPathPrivate
size=8 align=4
base size=8 base align=4
QPainterPathPrivate (0xb4893440) 0
-Class QTypeInfo<QPainterPath::Element>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPainterPath::Element> (0xb4893600) 0 empty
Class QPainterPathStroker
size=4 align=4
@@ -3220,10 +2458,6 @@ Class QTransform
base size=80 base align=4
QTransform (0xb4893700) 0
-Class QTypeInfo<QTransform>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTransform> (0xb4893740) 0 empty
Class QImageTextKeyLang
size=8 align=4
@@ -3248,10 +2482,6 @@ QImage (0xb4893800) 0
QPaintDevice (0xb4893840) 0
primary-for QImage (0xb4893800)
-Class QTypeInfo<QImage>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QImage> (0xb4893980) 0 empty
Vtable for QPixmap
QPixmap::_ZTV7QPixmap: 7u entries
@@ -3276,45 +2506,17 @@ Class QBrush
base size=4 base align=4
QBrush (0xb4893b40) 0
-Class QTypeInfo<QBrush>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBrush> (0xb4893bc0) 0 empty
Class QBrushData
size=108 align=4
base size=105 base align=4
QBrushData (0xb4893c00) 0
-Class QVector<QPair<double, QColor> >::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPair<double, QColor> >::<anonymous union> (0xb4893d40) 0
-Class QVector<QPair<double, QColor> >
- size=4 align=4
- base size=4 base align=4
-QVector<QPair<double, QColor> > (0xb4893cc0) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=32 align=4
- base size=32 base align=4
-QGradient::<anonymous union>::<anonymous struct> (0xb4893dc0) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=40 align=4
- base size=40 base align=4
-QGradient::<anonymous union>::<anonymous struct> (0xb4893e00) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=24 align=4
- base size=24 base align=4
-QGradient::<anonymous union>::<anonymous struct> (0xb4893e40) 0
-Class QGradient::<anonymous union>
- size=40 align=4
- base size=40 base align=4
-QGradient::<anonymous union> (0xb4893d80) 0
Class QGradient
size=56 align=4
@@ -3380,10 +2582,6 @@ Class QKeySequence
base size=4 base align=4
QKeySequence (0xb4893a80) 0
-Class QTypeInfo<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QKeySequence> (0xb4893ac0) 0 empty
Class QWidgetData
size=64 align=4
@@ -3466,10 +2664,6 @@ QWidget (0xb4893c80) 0
QPaintDevice (0xb46e2040) 8
vptr=((& QWidget::_ZTV7QWidget) + 232u)
-Class QFlags<QWidget::RenderFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QWidget::RenderFlag> (0xb46e2240) 0
Class QToolTip
size=1 align=1
@@ -3558,10 +2752,6 @@ Class QIcon
base size=4 base align=4
QIcon (0xb46e24c0) 0
-Class QTypeInfo<QIcon>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QIcon> (0xb46e2580) 0 empty
Vtable for QAction
QAction::_ZTV7QAction: 14u entries
@@ -3613,15 +2803,7 @@ QActionGroup (0xb46e26c0) 0
QObject (0xb46e2700) 0
primary-for QActionGroup (0xb46e26c0)
-Class QList<QAction*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QAction*>::<anonymous union> (0xb46e2840) 0
-Class QList<QAction*>
- size=4 align=4
- base size=4 base align=4
-QList<QAction*> (0xb46e27c0) 0
Vtable for QShortcut
QShortcut::_ZTV9QShortcut: 14u entries
@@ -3961,15 +3143,7 @@ Class QInputMethodEvent::Attribute
base size=24 base align=4
QInputMethodEvent::Attribute (0xb44ad1c0) 0
-Class QList<QInputMethodEvent::Attribute>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute>::<anonymous union> (0xb44ad2c0) 0
-Class QList<QInputMethodEvent::Attribute>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute> (0xb44ad240) 0
Vtable for QInputMethodEvent
QInputMethodEvent::_ZTV17QInputMethodEvent: 4u entries
@@ -4663,10 +3837,6 @@ QAbstractPrintDialog (0xb455d100) 0
QPaintDevice (0xb455d200) 8
vptr=((& QAbstractPrintDialog::_ZTV20QAbstractPrintDialog) + 248u)
-Class QFlags<QAbstractPrintDialog::PrintDialogOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractPrintDialog::PrintDialogOption> (0xb455d2c0) 0
Vtable for QPrintDialog
QPrintDialog::_ZTV12QPrintDialog: 67u entries
@@ -4837,10 +4007,6 @@ QMessageBox (0xb455d4c0) 0
QPaintDevice (0xb455d5c0) 8
vptr=((& QMessageBox::_ZTV11QMessageBox) + 244u)
-Class QFlags<QMessageBox::StandardButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<QMessageBox::StandardButton> (0xb455d680) 0
Vtable for QProgressDialog
QProgressDialog::_ZTV15QProgressDialog: 66u entries
@@ -5091,10 +4257,6 @@ QFileDialog (0xb455d9c0) 0
QPaintDevice (0xb455dac0) 8
vptr=((& QFileDialog::_ZTV11QFileDialog) + 244u)
-Class QFlags<QFileDialog::Option>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileDialog::Option> (0xb455db80) 0
Vtable for QErrorMessage
QErrorMessage::_ZTV13QErrorMessage: 66u entries
@@ -5505,10 +4667,6 @@ QWizard (0xb455d800) 0
QPaintDevice (0xb455de40) 8
vptr=((& QWizard::_ZTV7QWizard) + 260u)
-Class QFlags<QWizard::WizardOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QWizard::WizardOption> (0xb455df80) 0
Vtable for QWizardPage
QWizardPage::_ZTV11QWizardPage: 68u entries
@@ -5850,10 +5008,6 @@ Class QItemSelectionRange
base size=8 base align=4
QItemSelectionRange (0xb42ca600) 0
-Class QTypeInfo<QItemSelectionRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QItemSelectionRange> (0xb42ca680) 0 empty
Vtable for QItemSelectionModel
QItemSelectionModel::_ZTV19QItemSelectionModel: 18u entries
@@ -5884,20 +5038,8 @@ QItemSelectionModel (0xb42ca6c0) 0
QObject (0xb42ca700) 0
primary-for QItemSelectionModel (0xb42ca6c0)
-Class QFlags<QItemSelectionModel::SelectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QItemSelectionModel::SelectionFlag> (0xb42ca780) 0
-Class QList<QItemSelectionRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::<anonymous union> (0xb42ca840) 0
-Class QList<QItemSelectionRange>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange> (0xb42ca7c0) 0
Class QItemSelection
size=4 align=4
@@ -6104,10 +5246,6 @@ QAbstractSpinBox (0xb42cacc0) 0
QPaintDevice (0xb42cad80) 8
vptr=((& QAbstractSpinBox::_ZTV16QAbstractSpinBox) + 252u)
-Class QFlags<QAbstractSpinBox::StepEnabledFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractSpinBox::StepEnabledFlag> (0xb42cae00) 0
Vtable for QAbstractSlider
QAbstractSlider::_ZTV15QAbstractSlider: 64u entries
@@ -6315,15 +5453,7 @@ QStyle (0xb42ca5c0) 0
QObject (0xb42ca740) 0
primary-for QStyle (0xb42ca5c0)
-Class QFlags<QStyle::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::StateFlag> (0xb42caa80) 0
-Class QFlags<QStyle::SubControl>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::SubControl> (0xb42cab80) 0
Vtable for QTabBar
QTabBar::_ZTV7QTabBar: 67u entries
@@ -6582,10 +5712,6 @@ Class QStyleOptionFrame
QStyleOptionFrame (0xb4254440) 0
QStyleOption (0xb4254480) 0
-Class QFlags<QStyleOptionFrameV2::FrameFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionFrameV2::FrameFeature> (0xb4254600) 0
Class QStyleOptionFrameV2
size=56 align=4
@@ -6612,10 +5738,6 @@ Class QStyleOptionHeader
QStyleOptionHeader (0xb4254880) 0
QStyleOption (0xb42548c0) 0
-Class QFlags<QStyleOptionButton::ButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionButton::ButtonFeature> (0xb4254a40) 0
Class QStyleOptionButton
size=64 align=4
@@ -6623,10 +5745,6 @@ Class QStyleOptionButton
QStyleOptionButton (0xb4254980) 0
QStyleOption (0xb42549c0) 0
-Class QFlags<QStyleOptionTab::CornerWidget>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionTab::CornerWidget> (0xb4254bc0) 0
Class QStyleOptionTab
size=72 align=4
@@ -6641,10 +5759,6 @@ QStyleOptionTabV2 (0xb4254c40) 0
QStyleOptionTab (0xb4254c80) 0
QStyleOption (0xb4254cc0) 0
-Class QFlags<QStyleOptionToolBar::ToolBarFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionToolBar::ToolBarFeature> (0xb4254e40) 0
Class QStyleOptionToolBar
size=68 align=4
@@ -6671,10 +5785,6 @@ Class QStyleOptionMenuItem
QStyleOptionMenuItem (0xb4254300) 0
QStyleOption (0xb4254400) 0
-Class QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature> (0xb4254780) 0
Class QStyleOptionQ3ListViewItem
size=64 align=4
@@ -6707,10 +5817,6 @@ Class QStyleOptionViewItem
QStyleOptionViewItem (0xb3f58000) 0
QStyleOption (0xb3f58040) 0
-Class QFlags<QStyleOptionViewItemV2::ViewItemFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionViewItemV2::ViewItemFeature> (0xb3f581c0) 0
Class QStyleOptionViewItemV2
size=84 align=4
@@ -6766,15 +5872,7 @@ QStyleOptionSpinBox (0xb3f588c0) 0
QStyleOptionComplex (0xb3f58900) 0
QStyleOption (0xb3f58940) 0
-Class QList<QStyleOptionQ3ListViewItem>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::<anonymous union> (0xb3f58b40) 0
-Class QList<QStyleOptionQ3ListViewItem>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem> (0xb3f58ac0) 0
Class QStyleOptionQ3ListView
size=84 align=4
@@ -6783,10 +5881,6 @@ QStyleOptionQ3ListView (0xb3f589c0) 0
QStyleOptionComplex (0xb3f58a00) 0
QStyleOption (0xb3f58a40) 0
-Class QFlags<QStyleOptionToolButton::ToolButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionToolButton::ToolButtonFeature> (0xb3f58d00) 0
Class QStyleOptionToolButton
size=96 align=4
@@ -7000,10 +6094,6 @@ QAbstractItemView (0xb4020080) 0
QPaintDevice (0xb40201c0) 8
vptr=((& QAbstractItemView::_ZTV17QAbstractItemView) + 392u)
-Class QFlags<QAbstractItemView::EditTrigger>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractItemView::EditTrigger> (0xb4020280) 0
Vtable for QListView
QListView::_ZTV9QListView: 103u entries
@@ -7384,20 +6474,8 @@ Class QAccessible
base size=0 base align=1
QAccessible (0xb4020b80) 0 empty
-Class QFlags<QAccessible::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::StateFlag> (0xb4020c00) 0
-Class QFlags<QAccessible::RelationFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::RelationFlag> (0xb4020c40) 0
-Class QMetaTypeId<QSet<QAccessible::Method> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QSet<QAccessible::Method> > (0xb4020c80) 0 empty
Vtable for QAccessibleInterface
QAccessibleInterface::_ZTV20QAccessibleInterface: 19u entries
@@ -7428,20 +6506,8 @@ QAccessibleInterface (0xb4020d40) 0 nearly-empty
vptr=((& QAccessibleInterface::_ZTV20QAccessibleInterface) + 8u)
QAccessible (0xb4020d80) 0 empty
-Class QHash<QAccessible::Method, QHashDummyValue>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QHash<QAccessible::Method, QHashDummyValue>::<anonymous union> (0xb4020f00) 0
-Class QHash<QAccessible::Method, QHashDummyValue>
- size=4 align=4
- base size=4 base align=4
-QHash<QAccessible::Method, QHashDummyValue> (0xb4020e80) 0
-Class QSet<QAccessible::Method>
- size=4 align=4
- base size=4 base align=4
-QSet<QAccessible::Method> (0xb4020e00) 0
Vtable for QAccessibleInterfaceEx
QAccessibleInterfaceEx::_ZTV22QAccessibleInterfaceEx: 22u entries
@@ -8862,10 +7928,6 @@ QDateEdit (0xb3e19980) 0
QPaintDevice (0xb3e19ac0) 8
vptr=((& QDateEdit::_ZTV9QDateEdit) + 260u)
-Class QFlags<QDateTimeEdit::Section>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDateTimeEdit::Section> (0xb3e19b40) 0
Vtable for QButtonGroup
QButtonGroup::_ZTV12QButtonGroup: 14u entries
@@ -8970,10 +8032,6 @@ QDockWidget (0xb3e19c40) 0
QPaintDevice (0xb3e19d00) 8
vptr=((& QDockWidget::_ZTV11QDockWidget) + 232u)
-Class QFlags<QDockWidget::DockWidgetFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDockWidget::DockWidgetFeature> (0xb3e19dc0) 0
Vtable for QMainWindow
QMainWindow::_ZTV11QMainWindow: 64u entries
@@ -9054,10 +8112,6 @@ QMainWindow (0xb3e19e00) 0
QPaintDevice (0xb3e19ec0) 8
vptr=((& QMainWindow::_ZTV11QMainWindow) + 236u)
-Class QFlags<QMainWindow::DockOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QMainWindow::DockOption> (0xb3e19f40) 0
Vtable for QMenu
QMenu::_ZTV5QMenu: 63u entries
@@ -9867,10 +8921,6 @@ QFontComboBox (0xb3b88900) 0
QPaintDevice (0xb3b88a00) 8
vptr=((& QFontComboBox::_ZTV13QFontComboBox) + 240u)
-Class QFlags<QFontComboBox::FontFilter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFontComboBox::FontFilter> (0xb3b88a80) 0
Vtable for QToolBox
QToolBox::_ZTV8QToolBox: 65u entries
@@ -10277,10 +9327,6 @@ QMdiArea (0xb3b88000) 0
QPaintDevice (0xb3b88700) 8
vptr=((& QMdiArea::_ZTV8QMdiArea) + 240u)
-Class QFlags<QMdiArea::AreaOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QMdiArea::AreaOption> (0xb3b88880) 0
Vtable for QLabel
QLabel::_ZTV6QLabel: 63u entries
@@ -10597,10 +9643,6 @@ QMdiSubWindow (0xb3af8300) 0
QPaintDevice (0xb3af83c0) 8
vptr=((& QMdiSubWindow::_ZTV13QMdiSubWindow) + 232u)
-Class QFlags<QMdiSubWindow::SubWindowOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QMdiSubWindow::SubWindowOption> (0xb3af8440) 0
Vtable for QMenuItem
QMenuItem::_ZTV9QMenuItem: 14u entries
@@ -10672,60 +9714,32 @@ QTextDocument (0xb3af8640) 0
QObject (0xb3af8680) 0
primary-for QTextDocument (0xb3af8640)
-Class QFlags<QTextDocument::FindFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextDocument::FindFlag> (0xb3af8700) 0
Class QTextOption
size=24 align=4
base size=24 base align=4
QTextOption (0xb3af8740) 0
-Class QFlags<QTextOption::Flag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextOption::Flag> (0xb3af8780) 0
Class QPen
size=4 align=4
base size=4 base align=4
QPen (0xb3af87c0) 0
-Class QTypeInfo<QPen>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPen> (0xb3af8880) 0 empty
Class QTextLength
size=12 align=4
base size=12 base align=4
QTextLength (0xb3af88c0) 0
-Class QSharedDataPointer<QTextFormatPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextFormatPrivate> (0xb3af8a00) 0
Class QTextFormat
size=8 align=4
base size=8 base align=4
QTextFormat (0xb3af8980) 0
-Class QVector<QTextLength>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength>::<anonymous union> (0xb3af8b80) 0
-Class QVector<QTextLength>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength> (0xb3af8b00) 0
-Class QFlags<QTextFormat::PageBreakFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextFormat::PageBreakFlag> (0xb3af8bc0) 0
Class QTextCharFormat
size=8 align=4
@@ -10765,10 +9779,6 @@ QTextTableFormat (0xb3af8ec0) 0
QTextFrameFormat (0xb3af8f00) 0
QTextFormat (0xb3af8f40) 0
-Class QSharedDataPointer<QTextCursorPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextCursorPrivate> (0xb3af8040) 0
Class QTextCursor
size=4 align=4
@@ -10875,10 +9885,6 @@ QTextFrame (0xb3af8840) 0
QObject (0xb3af8940) 0
primary-for QTextObject (0xb3af8900)
-Class QTypeInfo<QTextFrame::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFrame::iterator> (0xb3af8fc0) 0 empty
Vtable for QTextBlockUserData
QTextBlockUserData::_ZTV18QTextBlockUserData: 4u entries
@@ -10903,25 +9909,13 @@ Class QTextBlock
base size=8 base align=4
QTextBlock (0xb3904080) 0
-Class QTypeInfo<QTextBlock>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock> (0xb3904100) 0 empty
-Class QTypeInfo<QTextBlock::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock::iterator> (0xb3904140) 0 empty
Class QTextFragment
size=12 align=4
base size=12 base align=4
QTextFragment (0xb3904180) 0
-Class QTypeInfo<QTextFragment>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFragment> (0xb39041c0) 0 empty
Class QTextInlineObject
size=8 align=4
@@ -10938,15 +9932,7 @@ Class QTextLayout
base size=4 base align=4
QTextLayout (0xb3904240) 0
-Class QVector<QTextLayout::FormatRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange>::<anonymous union> (0xb39043c0) 0
-Class QVector<QTextLayout::FormatRange>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange> (0xb3904340) 0
Class QTextLine
size=8 align=4
@@ -11046,10 +10032,6 @@ QTextEdit (0xb3904440) 0
QPaintDevice (0xb3904580) 8
vptr=((& QTextEdit::_ZTV9QTextEdit) + 256u)
-Class QFlags<QTextEdit::AutoFormattingFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextEdit::AutoFormattingFlag> (0xb3904680) 0
Vtable for QLCDNumber
QLCDNumber::_ZTV10QLCDNumber: 63u entries
@@ -11289,10 +10271,6 @@ QDialogButtonBox (0xb39049c0) 0
QPaintDevice (0xb3904a80) 8
vptr=((& QDialogButtonBox::_ZTV16QDialogButtonBox) + 232u)
-Class QFlags<QDialogButtonBox::StandardButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDialogButtonBox::StandardButton> (0xb3904b00) 0
Vtable for QCalendarWidget
QCalendarWidget::_ZTV15QCalendarWidget: 64u entries
@@ -11556,15 +10534,7 @@ Class QAbstractTextDocumentLayout::Selection
base size=12 base align=4
QAbstractTextDocumentLayout::Selection (0xb3904980) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union> (0xb3904fc0) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection> (0xb3904c80) 0
Class QAbstractTextDocumentLayout::PaintContext
size=48 align=4
@@ -11788,20 +10758,8 @@ Class QGraphicsItem
QGraphicsItem (0xb365f6c0) 0
vptr=((& QGraphicsItem::_ZTV13QGraphicsItem) + 8u)
-Class QFlags<QGraphicsItem::GraphicsItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGraphicsItem::GraphicsItemFlag> (0xb365f7c0) 0
-Class QMetaTypeId<QGraphicsItem*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QGraphicsItem*> (0xb365f800) 0 empty
-Class QMetaTypeId<QGraphicsScene*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QGraphicsScene*> (0xb365f8c0) 0 empty
Vtable for QAbstractGraphicsShapeItem
QAbstractGraphicsShapeItem::_ZTV26QAbstractGraphicsShapeItem: 39u entries
@@ -12363,50 +11321,14 @@ Class QPainter
base size=4 base align=4
QPainter (0xb365f780) 0
-Class QFlags<QPainter::RenderHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPainter::RenderHint> (0xb365fa00) 0
-Class QVector<QLineF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF>::<anonymous union> (0xb365fe00) 0
-Class QVector<QLineF>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF> (0xb365fc00) 0
-Class QVector<QLine>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine>::<anonymous union> (0xb35f9040) 0
-Class QVector<QLine>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine> (0xb365ff80) 0
-Class QVector<QRectF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF>::<anonymous union> (0xb35f9140) 0
-Class QVector<QRectF>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF> (0xb35f90c0) 0
-Class QVector<QRect>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect>::<anonymous union> (0xb35f9240) 0
-Class QVector<QRect>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect> (0xb35f91c0) 0
Vtable for QGraphicsScene
QGraphicsScene::_ZTV14QGraphicsScene: 34u entries
@@ -12453,20 +11375,8 @@ QGraphicsScene (0xb35f9280) 0
QObject (0xb35f92c0) 0
primary-for QGraphicsScene (0xb35f9280)
-Class QFlags<QGraphicsScene::SceneLayer>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGraphicsScene::SceneLayer> (0xb35f93c0) 0
-Class QList<QGraphicsItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QGraphicsItem*>::<anonymous union> (0xb35f9480) 0
-Class QList<QGraphicsItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QGraphicsItem*> (0xb35f9400) 0
Vtable for QGraphicsView
QGraphicsView::_ZTV13QGraphicsView: 68u entries
@@ -12555,15 +11465,7 @@ QGraphicsView (0xb35f94c0) 0
QPaintDevice (0xb35f9600) 8
vptr=((& QGraphicsView::_ZTV13QGraphicsView) + 252u)
-Class QFlags<QGraphicsView::CacheModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGraphicsView::CacheModeFlag> (0xb35f96c0) 0
-Class QFlags<QGraphicsView::OptimizationFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGraphicsView::OptimizationFlag> (0xb35f9700) 0
Vtable for QGraphicsSceneEvent
QGraphicsSceneEvent::_ZTV19QGraphicsSceneEvent: 4u entries
@@ -12957,10 +11859,6 @@ QImageIOPlugin (0xb3381140) 0
QFactoryInterface (0xb3381200) 8 nearly-empty
primary-for QImageIOHandlerFactoryInterface (0xb33811c0)
-Class QFlags<QImageIOPlugin::Capability>
- size=4 align=4
- base size=4 base align=4
-QFlags<QImageIOPlugin::Capability> (0xb3381280) 0
Class QImageReader
size=4 align=4
@@ -13412,10 +12310,6 @@ Class QStyleFactory
base size=0 base align=1
QStyleFactory (0xb3381a40) 0 empty
-Class QPointer<QFocusFrame>
- size=4 align=4
- base size=4 base align=4
-QPointer<QFocusFrame> (0xb3381e80) 0
Vtable for QMotifStyle
QMotifStyle::_ZTV11QMotifStyle: 35u entries
@@ -13876,15 +12770,7 @@ Class QStandardItem
QStandardItem (0xb327ab00) 0
vptr=((& QStandardItem::_ZTV13QStandardItem) + 8u)
-Class QList<QStandardItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QStandardItem*>::<anonymous union> (0xb327adc0) 0
-Class QList<QStandardItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QStandardItem*> (0xb327ad40) 0
Vtable for QStandardItemModel
QStandardItemModel::_ZTV18QStandardItemModel: 42u entries
@@ -13998,15 +12884,7 @@ QStringListModel (0xb327af00) 0
QObject (0xb327afc0) 0
primary-for QAbstractItemModel (0xb327af80)
-Class QVector<QWidgetItemData>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData>::<anonymous union> (0xb327a540) 0
-Class QVector<QWidgetItemData>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData> (0xb327a240) 0
Vtable for QListWidgetItem
QListWidgetItem::_ZTV15QListWidgetItem: 11u entries
@@ -14530,35 +13408,15 @@ QTreeView (0xb31cf580) 0
QPaintDevice (0xb31cf700) 8
vptr=((& QTreeView::_ZTV9QTreeView) + 400u)
-Class QFlags<QTreeWidgetItemIterator::IteratorFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTreeWidgetItemIterator::IteratorFlag> (0xb31cf800) 0
Class QTreeWidgetItemIterator
size=12 align=4
base size=12 base align=4
QTreeWidgetItemIterator (0xb31cf780) 0
-Class QVector<QVector<QWidgetItemData> >::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> >::<anonymous union> (0xb31cf940) 0
-Class QVector<QVector<QWidgetItemData> >
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> > (0xb31cf8c0) 0
-Class QList<QTreeWidgetItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::<anonymous union> (0xb31cfa40) 0
-Class QList<QTreeWidgetItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*> (0xb31cf9c0) 0
Vtable for QTreeWidgetItem
QTreeWidgetItem::_ZTV15QTreeWidgetItem: 10u entries
@@ -14726,15 +13584,7 @@ Class QItemEditorCreatorBase
QItemEditorCreatorBase (0xb31cfd00) 0 nearly-empty
vptr=((& QItemEditorCreatorBase::_ZTV22QItemEditorCreatorBase) + 8u)
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union> (0xb31cffc0) 0
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*> (0xb31cff40) 0
Vtable for QItemEditorFactory
QItemEditorFactory::_ZTV18QItemEditorFactory: 6u entries
@@ -15254,15 +14104,7 @@ Class QTextItem
base size=0 base align=1
QTextItem (0xb2f83700) 0 empty
-Class QTypeInfo<QTextItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextItem> (0xb2f83740) 0 empty
-Class QFlags<QPaintEngine::PaintEngineFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::PaintEngineFeature> (0xb2f83800) 0
Vtable for QPaintEngine
QPaintEngine::_ZTV12QPaintEngine: 24u entries
@@ -15297,20 +14139,12 @@ Class QPaintEngine
QPaintEngine (0xb2f83780) 0
vptr=((& QPaintEngine::_ZTV12QPaintEngine) + 8u)
-Class QFlags<QPaintEngine::DirtyFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::DirtyFlag> (0xb2f83900) 0
Class QPaintEngineState
size=4 align=4
base size=4 base align=4
QPaintEngineState (0xb2f83880) 0
-Class QFlags<QTextItem::RenderFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextItem::RenderFlag> (0xb2f83940) 0
Class QColormap
size=4 align=4
@@ -15346,25 +14180,13 @@ Class QGLColormap
base size=4 base align=4
QGLColormap (0xb2f83a40) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb2f83ac0) 0
-Class QFlags<QGL::FormatOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGL::FormatOption> (0xb2f83b00) 0
Class QGLFormat
size=4 align=4
base size=4 base align=4
QGLFormat (0xb2f83b40) 0
-Class QFlags<QGLFormat::OpenGLVersionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGLFormat::OpenGLVersionFlag> (0xb2f83c00) 0
Vtable for QGLContext
QGLContext::_ZTV10QGLContext: 11u entries
@@ -15510,188 +14332,40 @@ QGLFramebufferObject (0xb2f83f00) 0
QPaintDevice (0xb2f83f40) 0
primary-for QGLFramebufferObject (0xb2f83f00)
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0xb2f832c0) 0
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0xb2f83680) 0
-Class QVectorTypedData<QPoint>
- size=24 align=4
- base size=24 base align=4
-QVectorTypedData<QPoint> (0xb2f83840) 0
-Class QVectorTypedData<QPointF>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QPointF> (0xb2f83a00) 0
-Class QVectorTypedData<QPainterPath::Element>
- size=36 align=4
- base size=36 base align=4
-QVectorTypedData<QPainterPath::Element> (0xb2f83bc0) 0
-Class QList<QAction*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QAction*>::Node (0xb2a89000) 0
-Class QVectorTypedData<QTextLength>
- size=28 align=4
- base size=28 base align=4
-QVectorTypedData<QTextLength> (0xb2a89080) 0
-Class QVectorTypedData<QTextLayout::FormatRange>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QTextLayout::FormatRange> (0xb2a89100) 0
-Class QVectorTypedData<QAbstractTextDocumentLayout::Selection>
- size=28 align=4
- base size=28 base align=4
-QVectorTypedData<QAbstractTextDocumentLayout::Selection> (0xb2a89180) 0
-Class QVectorTypedData<QLineF>
- size=48 align=4
- base size=48 base align=4
-QVectorTypedData<QLineF> (0xb2a89300) 0
-Class QVectorTypedData<QLine>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QLine> (0xb2a89380) 0
-Class QVectorTypedData<QRectF>
- size=48 align=4
- base size=48 base align=4
-QVectorTypedData<QRectF> (0xb2a89400) 0
-Class QVectorTypedData<QRect>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QRect> (0xb2a89480) 0
-Class QList<QTreeWidgetItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::Node (0xb2a89680) 0
-Class QVectorTypedData<QVector<QWidgetItemData> >
- size=20 align=4
- base size=20 base align=4
-QVectorTypedData<QVector<QWidgetItemData> > (0xb2a89700) 0
-Class QMetaTypeId2<QSet<QAccessible::Method> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSet<QAccessible::Method> > (0xb2a897c0) 0 empty
-Class QHashNode<QAccessible::Method, QHashDummyValue>
- size=16 align=4
- base size=13 base align=4
-QHashNode<QAccessible::Method, QHashDummyValue> (0xb2a89840) 0
-Class QTypeInfo<QAction*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAction*> (0xb2a898c0) 0 empty
-Class QTypeInfo<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLength> (0xb2a89940) 0 empty
-Class QTypeInfo<QTextLayout::FormatRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLayout::FormatRange> (0xb2a89a00) 0 empty
-Class QTypeInfo<QAbstractTextDocumentLayout::Selection>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAbstractTextDocumentLayout::Selection> (0xb2a89b00) 0 empty
-Class QTypeInfo<QStandardItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QStandardItem*> (0xb2a89bc0) 0 empty
-Class QTypeInfo<QTreeWidgetItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTreeWidgetItem*> (0xb2a89c40) 0 empty
-Class QHashNode<QVariant::Type, QItemEditorCreatorBase*>
- size=16 align=4
- base size=16 base align=4
-QHashNode<QVariant::Type, QItemEditorCreatorBase*> (0xb2a89cc0) 0
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0xb2a89d40) 0
-Class QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union> (0xb2a89dc0) 0
-Class QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union> (0xb2a89e80) 0
-Class QList<QItemSelectionRange>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::Node (0xb2a89f40) 0
-Class QTypeInfo<QStyleOptionQ3ListViewItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QStyleOptionQ3ListViewItem> (0xb2a89fc0) 0 empty
-Class QList<QStyleOptionQ3ListViewItem>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::Node (0xb2a89280) 0
-Class QList<QVariant>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::Node (0xb2a89d80) 0
-Class QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union> (0xb2a89e40) 0
-Class QTypeInfo<QGraphicsItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QGraphicsItem*> (0xb2903000) 0 empty
-Class QList<QGraphicsItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QGraphicsItem*>::Node (0xb2903080) 0
-Class QList<QStandardItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QStandardItem*>::Node (0xb2903100) 0
-Class QHashDummyNode<QAccessible::Method, QHashDummyValue>
- size=12 align=4
- base size=12 base align=4
-QHashDummyNode<QAccessible::Method, QHashDummyValue> (0xb29031c0) 0
-Class QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union> (0xb2903240) 0
diff --git a/tests/auto/bic/data/QtOpenGL.4.3.2.linux-gcc-ia32.txt b/tests/auto/bic/data/QtOpenGL.4.3.2.linux-gcc-ia32.txt
index ccdf2c8..640e4a7 100644
--- a/tests/auto/bic/data/QtOpenGL.4.3.2.linux-gcc-ia32.txt
+++ b/tests/auto/bic/data/QtOpenGL.4.3.2.linux-gcc-ia32.txt
@@ -1,34 +1,8 @@
-Class QUintForSize<4>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<4> (0xb7f91d80) 0 empty
-Class QUintForSize<8>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<8> (0xb7f91dc0) 0 empty
-Class QUintForType<void*>
- size=1 align=1
- base size=1 base align=1
-QUintForType<void*> (0xb7f91e80) 0 empty
- QUintForSize<4> (0xb7f91ec0) 0 empty
-Class QIntForSize<4>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<4> (0xb7f91f40) 0 empty
-Class QIntForSize<8>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<8> (0xb7f91f80) 0 empty
-Class QIntForType<void*>
- size=1 align=1
- base size=1 base align=1
-QIntForType<void*> (0xb5a8f040) 0 empty
- QIntForSize<4> (0xb5a8f080) 0 empty
Class QSysInfo
size=1 align=1
@@ -50,150 +24,38 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0xb5a8f340) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0xb5a8f400) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0xb5a8f440) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0xb5a8f480) 0 empty
-Class QTypeInfo<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned char> (0xb5a8f4c0) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0xb5a8f500) 0 empty
-Class QTypeInfo<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short unsigned int> (0xb5a8f540) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0xb5a8f580) 0 empty
-Class QTypeInfo<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned int> (0xb5a8f5c0) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0xb5a8f600) 0 empty
-Class QTypeInfo<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long unsigned int> (0xb5a8f640) 0 empty
-Class QTypeInfo<long long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long int> (0xb5a8f680) 0 empty
-Class QTypeInfo<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long unsigned int> (0xb5a8f6c0) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0xb5a8f700) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0xb5a8f740) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0xb5a8f780) 0 empty
Class QFlag
size=4 align=4
base size=4 base align=4
QFlag (0xb5a8f7c0) 0
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0xb5a8f8c0) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0xb5a8f900) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0xb5a8f940) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0xb5a8f980) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0xb5a8f9c0) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0xb5a8fa00) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0xb5a8fa40) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0xb5a8fa80) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0xb5a8fac0) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0xb5a8fb00) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0xb5a8fb40) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0xb5a8fb80) 0
-Class QFlags<Qt::TextInteractionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::TextInteractionFlag> (0xb5a8fbc0) 0
Class QInternal
size=1 align=1
@@ -211,10 +73,6 @@ Class QGenericReturnArgument
QGenericReturnArgument (0xb5a8fcc0) 0
QGenericArgument (0xb5a8fd00) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0xb5a8fec0) 0
Class QMetaObject
size=16 align=4
@@ -231,10 +89,6 @@ Class QChar
base size=2 base align=2
QChar (0xb5a8ff80) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0xb59d3000) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -267,10 +121,6 @@ Class QByteRef
base size=8 base align=4
QByteRef (0xb59d3300) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0xb59d3340) 0 empty
Class QString::Null
size=1 align=1
@@ -287,10 +137,6 @@ Class QString
base size=4 base align=4
QString (0xb59d3380) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0xb59d3580) 0
Class QLatin1String
size=4 align=4
@@ -308,10 +154,6 @@ Class QConstString
QConstString (0xb59d3680) 0
QString (0xb59d36c0) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0xb59d3700) 0 empty
Class QStringRef
size=12 align=4
@@ -379,15 +221,7 @@ Class QListData
base size=4 base align=4
QListData (0xb59d3a40) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0xb59d3dc0) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0xb59d3d40) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -463,10 +297,6 @@ QLibrary (0xb59d34c0) 0
QObject (0xb59d3500) 0
primary-for QLibrary (0xb59d34c0)
-Class QFlags<QLibrary::LoadHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLibrary::LoadHint> (0xb59d3840) 0
Class QUuid
size=16 align=4
@@ -514,10 +344,6 @@ QIODevice (0xb59d3c00) 0
QObject (0xb59d3e40) 0
primary-for QIODevice (0xb59d3c00)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0xb55f5000) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -537,25 +363,13 @@ Class QRegExp
base size=4 base align=4
QRegExp (0xb55f50c0) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0xb55f5100) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0xb55f5140) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0xb55f5200) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0xb55f5180) 0
Class QStringList
size=4 align=4
@@ -563,15 +377,7 @@ Class QStringList
QStringList (0xb55f5240) 0
QList<QString> (0xb55f5280) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0xb55f5300) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0xb55f5340) 0
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -627,10 +433,6 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0xb55f56c0) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0xb55f5700) 0 empty
Class QCryptographicHash
size=4 align=4
@@ -642,75 +444,35 @@ Class QDate
base size=4 base align=4
QDate (0xb55f5c40) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0xb55f5d00) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0xb55f5d40) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0xb55f5e00) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0xb55f5e40) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0xb55f5f00) 0 empty
Class QByteArrayMatcher
size=1032 align=4
base size=1032 base align=4
QByteArrayMatcher (0xb55f5f40) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0xb55f5fc0) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0xb55f5080) 0
Class wait
size=4 align=4
base size=4 base align=4
wait (0xb55f5f80) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb55f5440) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb55f5580) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb55f5ac0) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb55f5c80) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb55f5cc0) 0
Class timespec
size=8 align=4
@@ -722,80 +484,24 @@ Class timeval
base size=8 base align=4
timeval (0xb55f5dc0) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb55f5e80) 0
-Class <anonymous union>
- size=36 align=4
- base size=36 base align=4
-<anonymous union> (0xb55f5ec0) 0
Class __pthread_internal_slist
size=4 align=4
base size=4 base align=4
__pthread_internal_slist (0xb53b7000) 0
-Class <anonymous union>::__pthread_mutex_s::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union>::__pthread_mutex_s::<anonymous union> (0xb53b70c0) 0
-Class <anonymous union>::__pthread_mutex_s
- size=24 align=4
- base size=24 base align=4
-<anonymous union>::__pthread_mutex_s (0xb53b7080) 0
-Class <anonymous union>
- size=24 align=4
- base size=24 base align=4
-<anonymous union> (0xb53b7040) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb53b7100) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0xb53b7180) 0
-Class <anonymous union>
- size=48 align=4
- base size=48 base align=4
-<anonymous union> (0xb53b7140) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb53b71c0) 0
-Class <anonymous union>::<anonymous struct>
- size=32 align=4
- base size=32 base align=4
-<anonymous union>::<anonymous struct> (0xb53b7240) 0
-Class <anonymous union>
- size=32 align=4
- base size=32 base align=4
-<anonymous union> (0xb53b7200) 0
-Class <anonymous union>
- size=8 align=4
- base size=8 base align=4
-<anonymous union> (0xb53b7280) 0
-Class <anonymous union>
- size=20 align=4
- base size=20 base align=4
-<anonymous union> (0xb53b72c0) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb53b7300) 0
Class random_data
size=28 align=4
@@ -817,20 +523,12 @@ Class QSize
base size=8 base align=4
QSize (0xb53b7580) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0xb53b7780) 0 empty
Class QSizeF
size=16 align=4
base size=16 base align=4
QSizeF (0xb53b7800) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0xb53b7a00) 0 empty
Class QLinkedListData
size=20 align=4
@@ -842,15 +540,7 @@ Class QLocale
base size=4 base align=4
QLocale (0xb53b7dc0) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0xb53b7e00) 0 empty
-Class QFlags<QLocale::NumberOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLocale::NumberOption> (0xb53b7e40) 0
Vtable for QSystemLocale
QSystemLocale::_ZTV13QSystemLocale: 6u entries
@@ -887,60 +577,36 @@ Class QPoint
base size=8 base align=4
QPoint (0xb51f0040) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0xb51f0280) 0 empty
Class QPointF
size=16 align=4
base size=16 base align=4
QPointF (0xb51f02c0) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0xb51f0500) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0xb51f0640) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0xb51f0740) 0 empty
Class QRectF
size=32 align=4
base size=32 base align=4
QRectF (0xb51f0780) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0xb51f0840) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0xb51f0880) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0xb51f08c0) 0 empty
Class QLineF
size=32 align=4
base size=32 base align=4
QLineF (0xb51f0900) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0xb51f0940) 0 empty
Vtable for QTimeLine
QTimeLine::_ZTV9QTimeLine: 15u entries
@@ -978,10 +644,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0xb51f0cc0) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0xb51f0d00) 0 empty
Class QLibraryInfo
size=1 align=1
@@ -993,290 +655,66 @@ Class QUrl
base size=4 base align=4
QUrl (0xb51f0e40) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0xb51f0ec0) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0xb51f0f00) 0 empty
Class QMetaType
size=1 align=1
base size=0 base align=1
QMetaType (0xb51f0f40) 0 empty
-Class QMetaTypeId2<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QString> (0xb51f0080) 0 empty
-Class QMetaTypeId2<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<int> (0xb51f00c0) 0 empty
-Class QMetaTypeId2<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned int> (0xb51f0100) 0 empty
-Class QMetaTypeId2<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<bool> (0xb51f0140) 0 empty
-Class QMetaTypeId2<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<double> (0xb51f0180) 0 empty
-Class QMetaTypeId2<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QByteArray> (0xb51f01c0) 0 empty
-Class QMetaTypeId2<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QChar> (0xb51f0200) 0 empty
-Class QMetaTypeId2<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long int> (0xb51f0240) 0 empty
-Class QMetaTypeId2<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short int> (0xb51f0300) 0 empty
-Class QMetaTypeId2<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<char> (0xb51f0340) 0 empty
-Class QMetaTypeId2<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long unsigned int> (0xb51f0380) 0 empty
-Class QMetaTypeId2<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short unsigned int> (0xb51f03c0) 0 empty
-Class QMetaTypeId2<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned char> (0xb51f0400) 0 empty
-Class QMetaTypeId2<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<float> (0xb51f0440) 0 empty
-Class QMetaTypeId2<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QObject*> (0xb51f0480) 0 empty
-Class QMetaTypeId2<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QWidget*> (0xb51f04c0) 0 empty
-Class QMetaTypeId2<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<void*> (0xb51f0680) 0 empty
-Class QMetaTypeId2<long long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long int> (0xb51f06c0) 0 empty
-Class QMetaTypeId2<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long unsigned int> (0xb51f0700) 0 empty
-Class QMetaTypeId2<QStringList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QStringList> (0xb51f07c0) 0 empty
-Class QMetaTypeId2<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitArray> (0xb51f0800) 0 empty
-Class QMetaTypeId2<QDate>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDate> (0xb51f0b40) 0 empty
-Class QMetaTypeId2<QTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTime> (0xb5062000) 0 empty
-Class QMetaTypeId2<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDateTime> (0xb5062040) 0 empty
-Class QMetaTypeId2<QUrl>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QUrl> (0xb5062080) 0 empty
-Class QMetaTypeId2<QLocale>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLocale> (0xb50620c0) 0 empty
-Class QMetaTypeId2<QRect>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRect> (0xb5062100) 0 empty
-Class QMetaTypeId2<QRectF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRectF> (0xb5062140) 0 empty
-Class QMetaTypeId2<QSize>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSize> (0xb5062180) 0 empty
-Class QMetaTypeId2<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizeF> (0xb50621c0) 0 empty
-Class QMetaTypeId2<QLine>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLine> (0xb5062200) 0 empty
-Class QMetaTypeId2<QLineF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLineF> (0xb5062240) 0 empty
-Class QMetaTypeId2<QPoint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPoint> (0xb5062280) 0 empty
-Class QMetaTypeId2<QPointF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPointF> (0xb50622c0) 0 empty
-Class QMetaTypeId2<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegExp> (0xb5062300) 0 empty
-Class QMetaTypeId2<QColorGroup>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColorGroup> (0xb5062340) 0 empty
-Class QMetaTypeId2<QFont>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QFont> (0xb5062380) 0 empty
-Class QMetaTypeId2<QPixmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPixmap> (0xb50623c0) 0 empty
-Class QMetaTypeId2<QBrush>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBrush> (0xb5062400) 0 empty
-Class QMetaTypeId2<QColor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColor> (0xb5062440) 0 empty
-Class QMetaTypeId2<QPalette>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPalette> (0xb5062480) 0 empty
-Class QMetaTypeId2<QIcon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QIcon> (0xb50624c0) 0 empty
-Class QMetaTypeId2<QImage>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QImage> (0xb5062500) 0 empty
-Class QMetaTypeId2<QPolygon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPolygon> (0xb5062540) 0 empty
-Class QMetaTypeId2<QRegion>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegion> (0xb5062580) 0 empty
-Class QMetaTypeId2<QBitmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitmap> (0xb50625c0) 0 empty
-Class QMetaTypeId2<QCursor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QCursor> (0xb5062600) 0 empty
-Class QMetaTypeId2<QSizePolicy>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizePolicy> (0xb5062640) 0 empty
-Class QMetaTypeId2<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QKeySequence> (0xb5062680) 0 empty
-Class QMetaTypeId2<QPen>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPen> (0xb50626c0) 0 empty
-Class QMetaTypeId2<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextLength> (0xb5062700) 0 empty
-Class QMetaTypeId2<QTextFormat>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextFormat> (0xb5062740) 0 empty
-Class QMetaTypeId2<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMatrix> (0xb5062780) 0 empty
-Class QMetaTypeId2<QTransform>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTransform> (0xb50627c0) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -1303,45 +741,17 @@ Class QVariant
base size=12 base align=4
QVariant (0xb5062800) 0
-Class QMetaTypeId2<QList<QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QList<QVariant> > (0xb5062a80) 0 empty
-Class QMetaTypeId2<QMap<QString, QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMap<QString, QVariant> > (0xb5062ac0) 0 empty
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0xb5062bc0) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0xb5062b40) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0xb5062cc0) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0xb5062c40) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0xb5062d40) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0xb5062dc0) 0 empty
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1368,25 +778,9 @@ QSettings (0xb5062e00) 0
QObject (0xb5062e40) 0
primary-for QSettings (0xb5062e00)
-Class <anonymous struct>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct>::<anonymous union> (0xb5062f40) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb5062f00) 0
-Class <anonymous struct>
- size=12 align=4
- base size=12 base align=4
-<anonymous struct> (0xb5062f80) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb5062fc0) 0
Class __gconv_trans_data
size=20 align=4
@@ -1408,15 +802,7 @@ Class __gconv_info
base size=8 base align=4
__gconv_info (0xb5062a00) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0xb5062e80) 0
-Class <anonymous union>
- size=44 align=4
- base size=44 base align=4
-<anonymous union> (0xb5062a40) 0
Class _IO_marker
size=12 align=4
@@ -1428,10 +814,6 @@ Class _IO_FILE
base size=148 base align=4
_IO_FILE (0xb4f42000) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb4f42040) 0
Vtable for QFile
QFile::_ZTV5QFile: 31u entries
@@ -1477,10 +859,6 @@ QFile (0xb4f42080) 0
QObject (0xb4f42100) 0
primary-for QIODevice (0xb4f420c0)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0xb4f42180) 0
Vtable for QTemporaryFile
QTemporaryFile::_ZTV14QTemporaryFile: 31u entries
@@ -1533,40 +911,16 @@ Class QFileInfo
base size=4 base align=4
QFileInfo (0xb4f42300) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0xb4f42340) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0xb4f42380) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0xb4f42440) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0xb4f423c0) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0xb4f42480) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0xb4f42500) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0xb4f42580) 0
Vtable for QProcess
QProcess::_ZTV8QProcess: 31u entries
@@ -1650,10 +1004,6 @@ Class QDirIterator
QDirIterator (0xb4f427c0) 0
vptr=((& QDirIterator::_ZTV12QDirIterator) + 8u)
-Class QFlags<QDirIterator::IteratorFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDirIterator::IteratorFlag> (0xb4f42880) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -1710,10 +1060,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0xb4f428c0) 0
vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0xb4f42a40) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -1747,10 +1093,6 @@ Class QAbstractFileEngineIterator
QAbstractFileEngineIterator (0xb4f42b00) 0
vptr=((& QAbstractFileEngineIterator::_ZTV27QAbstractFileEngineIterator) + 8u)
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0xb4f42c40) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -1775,15 +1117,7 @@ Class QTextCodec
QTextCodec (0xb4f42b80) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0xb4f42d80) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0xb4f42d00) 0
Class QTextEncoder
size=32 align=4
@@ -1808,10 +1142,6 @@ Class QTextStream
QTextStream (0xb4f42e40) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0xb4f42f00) 0
Class QTextStreamManipulator
size=24 align=4
@@ -1958,20 +1288,12 @@ Class QReadWriteLock
base size=4 base align=4
QReadWriteLock (0xb4b800c0) 0
-Class QReadLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QReadLocker::<anonymous union> (0xb4b80140) 0
Class QReadLocker
size=4 align=4
base size=4 base align=4
QReadLocker (0xb4b80100) 0
-Class QWriteLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QWriteLocker::<anonymous union> (0xb4b801c0) 0
Class QWriteLocker
size=4 align=4
@@ -1983,10 +1305,6 @@ Class QMutex
base size=4 base align=4
QMutex (0xb4b80200) 0
-Class QMutexLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMutexLocker::<anonymous union> (0xb4b80280) 0
Class QMutexLocker
size=4 align=4
@@ -2066,10 +1384,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0xb4b80580) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0xb4b805c0) 0 empty
Vtable for QMimeData
QMimeData::_ZTV9QMimeData: 17u entries
@@ -2104,20 +1418,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0xb4b806c0) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0xb4b80700) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0xb4b80740) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0xb4b807c0) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -2357,10 +1663,6 @@ QEventLoop (0xb4b80c40) 0
QObject (0xb4b80c80) 0
primary-for QEventLoop (0xb4b80c40)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0xb4b80d80) 0
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -2555,20 +1857,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0xb4b80e00) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0xb4b80ec0) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0xb4b80f80) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0xb4afc000) 0 empty
Class QMetaProperty
size=20 align=4
@@ -2580,10 +1874,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0xb4afc080) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0xb4afc0c0) 0 empty
Vtable for QTextCodecFactoryInterface
QTextCodecFactoryInterface::_ZTV26QTextCodecFactoryInterface: 6u entries
@@ -2726,25 +2016,13 @@ QImageIOPlugin (0xb4afc500) 0
QFactoryInterface (0xb4afc5c0) 8 nearly-empty
primary-for QImageIOHandlerFactoryInterface (0xb4afc580)
-Class QFlags<QImageIOPlugin::Capability>
- size=4 align=4
- base size=4 base align=4
-QFlags<QImageIOPlugin::Capability> (0xb4afc640) 0
Class QImageReader
size=4 align=4
base size=4 base align=4
QImageReader (0xb4afc680) 0
-Class QVector<QPoint>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint>::<anonymous union> (0xb4afc740) 0
-Class QVector<QPoint>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint> (0xb4afc6c0) 0
Class QPolygon
size=4 align=4
@@ -2752,15 +2030,7 @@ Class QPolygon
QPolygon (0xb4afc780) 0
QVector<QPoint> (0xb4afc7c0) 0
-Class QVector<QPointF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF>::<anonymous union> (0xb4afc880) 0
-Class QVector<QPointF>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF> (0xb4afc800) 0
Class QPolygonF
size=4 align=4
@@ -2783,10 +2053,6 @@ Class QMatrix
base size=48 base align=4
QMatrix (0xb4afcac0) 0
-Class QTypeInfo<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMatrix> (0xb4afcb00) 0 empty
Class QPainterPath::Element
size=20 align=4
@@ -2798,25 +2064,13 @@ Class QPainterPath
base size=4 base align=4
QPainterPath (0xb4afcb40) 0
-Class QVector<QPainterPath::Element>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element>::<anonymous union> (0xb4afcdc0) 0
-Class QVector<QPainterPath::Element>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element> (0xb4afcd40) 0
Class QPainterPathPrivate
size=8 align=4
base size=8 base align=4
QPainterPathPrivate (0xb4afcc40) 0
-Class QTypeInfo<QPainterPath::Element>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPainterPath::Element> (0xb4afce00) 0 empty
Class QPainterPathStroker
size=4 align=4
@@ -2828,10 +2082,6 @@ Class QTransform
base size=80 base align=4
QTransform (0xb4afcf00) 0
-Class QTypeInfo<QTransform>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTransform> (0xb4afcf40) 0 empty
Vtable for QPaintDevice
QPaintDevice::_ZTV12QPaintDevice: 7u entries
@@ -2872,30 +2122,10 @@ QImage (0xb4afc3c0) 0
QPaintDevice (0xb4afc480) 0
primary-for QImage (0xb4afc3c0)
-Class QTypeInfo<QImage>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QImage> (0xb4afc980) 0 empty
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0xb4afca40) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0xb4afcbc0) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0xb4afcc00) 0
-Class QColor::<anonymous union>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union> (0xb4afca00) 0
Class QColor
size=16 align=4
@@ -3083,10 +2313,6 @@ Class QIcon
base size=4 base align=4
QIcon (0xb48d9940) 0
-Class QTypeInfo<QIcon>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QIcon> (0xb48d9a00) 0 empty
Vtable for QPicture
QPicture::_ZTV8QPicture: 8u entries
@@ -3225,10 +2451,6 @@ Class QKeySequence
base size=4 base align=4
QKeySequence (0xb48d9f40) 0
-Class QTypeInfo<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QKeySequence> (0xb48d9000) 0 empty
Vtable for QMimeSource
QMimeSource::_ZTV11QMimeSource: 7u entries
@@ -3526,15 +2748,7 @@ Class QInputMethodEvent::Attribute
base size=24 base align=4
QInputMethodEvent::Attribute (0xb4820840) 0
-Class QList<QInputMethodEvent::Attribute>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute>::<anonymous union> (0xb4820940) 0
-Class QList<QInputMethodEvent::Attribute>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute> (0xb48208c0) 0
Vtable for QInputMethodEvent
QInputMethodEvent::_ZTV17QInputMethodEvent: 4u entries
@@ -3823,20 +3037,8 @@ Class QAccessible
base size=0 base align=1
QAccessible (0xb469c040) 0 empty
-Class QFlags<QAccessible::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::StateFlag> (0xb469c0c0) 0
-Class QFlags<QAccessible::RelationFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::RelationFlag> (0xb469c100) 0
-Class QMetaTypeId<QSet<QAccessible::Method> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QSet<QAccessible::Method> > (0xb469c140) 0 empty
Vtable for QAccessibleInterface
QAccessibleInterface::_ZTV20QAccessibleInterface: 19u entries
@@ -3867,20 +3069,8 @@ QAccessibleInterface (0xb469c200) 0 nearly-empty
vptr=((& QAccessibleInterface::_ZTV20QAccessibleInterface) + 8u)
QAccessible (0xb469c240) 0 empty
-Class QHash<QAccessible::Method, QHashDummyValue>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QHash<QAccessible::Method, QHashDummyValue>::<anonymous union> (0xb469c3c0) 0
-Class QHash<QAccessible::Method, QHashDummyValue>
- size=4 align=4
- base size=4 base align=4
-QHash<QAccessible::Method, QHashDummyValue> (0xb469c340) 0
-Class QSet<QAccessible::Method>
- size=4 align=4
- base size=4 base align=4
-QSet<QAccessible::Method> (0xb469c2c0) 0
Vtable for QAccessibleInterfaceEx
QAccessibleInterfaceEx::_ZTV22QAccessibleInterfaceEx: 22u entries
@@ -4402,55 +3592,23 @@ Class QPen
base size=4 base align=4
QPen (0xb4753500) 0
-Class QTypeInfo<QPen>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPen> (0xb47535c0) 0 empty
Class QBrush
size=4 align=4
base size=4 base align=4
QBrush (0xb4753600) 0
-Class QTypeInfo<QBrush>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBrush> (0xb4753680) 0 empty
Class QBrushData
size=108 align=4
base size=105 base align=4
QBrushData (0xb47536c0) 0
-Class QVector<QPair<double, QColor> >::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPair<double, QColor> >::<anonymous union> (0xb4753800) 0
-Class QVector<QPair<double, QColor> >
- size=4 align=4
- base size=4 base align=4
-QVector<QPair<double, QColor> > (0xb4753780) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=32 align=4
- base size=32 base align=4
-QGradient::<anonymous union>::<anonymous struct> (0xb4753880) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=40 align=4
- base size=40 base align=4
-QGradient::<anonymous union>::<anonymous struct> (0xb47538c0) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=24 align=4
- base size=24 base align=4
-QGradient::<anonymous union>::<anonymous struct> (0xb4753900) 0
-Class QGradient::<anonymous union>
- size=40 align=4
- base size=40 base align=4
-QGradient::<anonymous union> (0xb4753840) 0
Class QGradient
size=56 align=4
@@ -4480,30 +3638,14 @@ Class QTextLength
base size=12 base align=4
QTextLength (0xb4753ac0) 0
-Class QSharedDataPointer<QTextFormatPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextFormatPrivate> (0xb4753c00) 0
Class QTextFormat
size=8 align=4
base size=8 base align=4
QTextFormat (0xb4753b80) 0
-Class QVector<QTextLength>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength>::<anonymous union> (0xb4753d80) 0
-Class QVector<QTextLength>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength> (0xb4753d00) 0
-Class QFlags<QTextFormat::PageBreakFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextFormat::PageBreakFlag> (0xb4753dc0) 0
Class QTextCharFormat
size=8 align=4
@@ -4643,10 +3785,6 @@ QTextFrame (0xb4753c80) 0
QObject (0xb44d0040) 0
primary-for QTextObject (0xb44d0000)
-Class QTypeInfo<QTextFrame::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFrame::iterator> (0xb44d0180) 0 empty
Vtable for QTextBlockUserData
QTextBlockUserData::_ZTV18QTextBlockUserData: 4u entries
@@ -4671,25 +3809,13 @@ Class QTextBlock
base size=8 base align=4
QTextBlock (0xb44d0240) 0
-Class QTypeInfo<QTextBlock>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock> (0xb44d02c0) 0 empty
-Class QTypeInfo<QTextBlock::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock::iterator> (0xb44d0300) 0 empty
Class QTextFragment
size=12 align=4
base size=12 base align=4
QTextFragment (0xb44d0340) 0
-Class QTypeInfo<QTextFragment>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFragment> (0xb44d0380) 0 empty
Class QTextDocumentFragment
size=4 align=4
@@ -4756,10 +3882,6 @@ QTextTable (0xb44d0500) 0
QObject (0xb44d05c0) 0
primary-for QTextObject (0xb44d0580)
-Class QSharedDataPointer<QTextCursorPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextCursorPrivate> (0xb44d0740) 0
Class QTextCursor
size=4 align=4
@@ -4808,10 +3930,6 @@ Class QTextOption
base size=24 base align=4
QTextOption (0xb44d0980) 0
-Class QFlags<QTextOption::Flag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextOption::Flag> (0xb44d09c0) 0
Class QTextInlineObject
size=8 align=4
@@ -4828,15 +3946,7 @@ Class QTextLayout
base size=4 base align=4
QTextLayout (0xb44d0a40) 0
-Class QVector<QTextLayout::FormatRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange>::<anonymous union> (0xb44d0bc0) 0
-Class QVector<QTextLayout::FormatRange>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange> (0xb44d0b40) 0
Class QTextLine
size=8 align=4
@@ -4886,10 +3996,6 @@ QTextDocument (0xb44d0d00) 0
QObject (0xb44d0d40) 0
primary-for QTextDocument (0xb44d0d00)
-Class QFlags<QTextDocument::FindFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextDocument::FindFlag> (0xb44d0dc0) 0
Class QPalette
size=8 align=4
@@ -4907,15 +4013,7 @@ Class QAbstractTextDocumentLayout::Selection
base size=12 base align=4
QAbstractTextDocumentLayout::Selection (0xb44d0fc0) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union> (0xb44d0700) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection> (0xb44d0480) 0
Class QAbstractTextDocumentLayout::PaintContext
size=48 align=4
@@ -4977,10 +4075,6 @@ Class QSizePolicy
base size=4 base align=4
QSizePolicy (0xb44d0e40) 0
-Class QFlags<QSizePolicy::ControlType>
- size=4 align=4
- base size=4 base align=4
-QFlags<QSizePolicy::ControlType> (0xb42750c0) 0
Vtable for QStyle
QStyle::_ZTV6QStyle: 35u entries
@@ -5028,15 +4122,7 @@ QStyle (0xb4275100) 0
QObject (0xb4275140) 0
primary-for QStyle (0xb4275100)
-Class QFlags<QStyle::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::StateFlag> (0xb4275200) 0
-Class QFlags<QStyle::SubControl>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::SubControl> (0xb4275240) 0
Vtable for QCommonStyle
QCommonStyle::_ZTV12QCommonStyle: 35u entries
@@ -5242,10 +4328,6 @@ QWindowsXPStyle (0xb4275780) 0
QObject (0xb4275880) 0
primary-for QStyle (0xb4275840)
-Class QPointer<QFocusFrame>
- size=4 align=4
- base size=4 base align=4
-QPointer<QFocusFrame> (0xb4275a40) 0
Vtable for QMotifStyle
QMotifStyle::_ZTV11QMotifStyle: 35u entries
@@ -5541,10 +4623,6 @@ QWidget (0xb4275040) 0
QPaintDevice (0xb42751c0) 8
vptr=((& QWidget::_ZTV7QWidget) + 232u)
-Class QFlags<QWidget::RenderFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QWidget::RenderFlag> (0xb4275480) 0
Vtable for QValidator
QValidator::_ZTV10QValidator: 16u entries
@@ -5745,10 +4823,6 @@ QAbstractSpinBox (0xb405a140) 0
QPaintDevice (0xb405a200) 8
vptr=((& QAbstractSpinBox::_ZTV16QAbstractSpinBox) + 252u)
-Class QFlags<QAbstractSpinBox::StepEnabledFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractSpinBox::StepEnabledFlag> (0xb405a280) 0
Vtable for QAbstractSlider
QAbstractSlider::_ZTV15QAbstractSlider: 64u entries
@@ -6167,10 +5241,6 @@ Class QStyleOptionFrame
QStyleOptionFrame (0xb405aac0) 0
QStyleOption (0xb405ab00) 0
-Class QFlags<QStyleOptionFrameV2::FrameFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionFrameV2::FrameFeature> (0xb405ac80) 0
Class QStyleOptionFrameV2
size=56 align=4
@@ -6197,10 +5267,6 @@ Class QStyleOptionHeader
QStyleOptionHeader (0xb405af00) 0
QStyleOption (0xb405af40) 0
-Class QFlags<QStyleOptionButton::ButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionButton::ButtonFeature> (0xb405a240) 0
Class QStyleOptionButton
size=64 align=4
@@ -6208,10 +5274,6 @@ Class QStyleOptionButton
QStyleOptionButton (0xb405a000) 0
QStyleOption (0xb405a100) 0
-Class QFlags<QStyleOptionTab::CornerWidget>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionTab::CornerWidget> (0xb405a6c0) 0
Class QStyleOptionTab
size=72 align=4
@@ -6226,10 +5288,6 @@ QStyleOptionTabV2 (0xb405a840) 0
QStyleOptionTab (0xb405a980) 0
QStyleOption (0xb405aa80) 0
-Class QFlags<QStyleOptionToolBar::ToolBarFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionToolBar::ToolBarFeature> (0xb405afc0) 0
Class QStyleOptionToolBar
size=68 align=4
@@ -6256,10 +5314,6 @@ Class QStyleOptionMenuItem
QStyleOptionMenuItem (0xb3f9d200) 0
QStyleOption (0xb3f9d240) 0
-Class QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature> (0xb3f9d380) 0
Class QStyleOptionQ3ListViewItem
size=64 align=4
@@ -6292,10 +5346,6 @@ Class QStyleOptionViewItem
QStyleOptionViewItem (0xb3f9d6c0) 0
QStyleOption (0xb3f9d700) 0
-Class QFlags<QStyleOptionViewItemV2::ViewItemFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionViewItemV2::ViewItemFeature> (0xb3f9d880) 0
Class QStyleOptionViewItemV2
size=84 align=4
@@ -6351,15 +5401,7 @@ QStyleOptionSpinBox (0xb3f9df80) 0
QStyleOptionComplex (0xb3f9dfc0) 0
QStyleOption (0xb3f9d000) 0
-Class QList<QStyleOptionQ3ListViewItem>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::<anonymous union> (0xb3f9d540) 0
-Class QList<QStyleOptionQ3ListViewItem>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem> (0xb3f9d3c0) 0
Class QStyleOptionQ3ListView
size=84 align=4
@@ -6368,10 +5410,6 @@ QStyleOptionQ3ListView (0xb3f9d100) 0
QStyleOptionComplex (0xb3f9d280) 0
QStyleOption (0xb3f9d340) 0
-Class QFlags<QStyleOptionToolButton::ToolButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionToolButton::ToolButtonFeature> (0xb3f9de00) 0
Class QStyleOptionToolButton
size=96 align=4
@@ -6488,10 +5526,6 @@ Class QStyleFactory
base size=0 base align=1
QStyleFactory (0xb3e84780) 0 empty
-Class QFlags<QTreeWidgetItemIterator::IteratorFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTreeWidgetItemIterator::IteratorFlag> (0xb3e84840) 0
Class QTreeWidgetItemIterator
size=12 align=4
@@ -6663,10 +5697,6 @@ Class QItemSelectionRange
base size=8 base align=4
QItemSelectionRange (0xb3e84b40) 0
-Class QTypeInfo<QItemSelectionRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QItemSelectionRange> (0xb3e84bc0) 0 empty
Vtable for QItemSelectionModel
QItemSelectionModel::_ZTV19QItemSelectionModel: 18u entries
@@ -6697,20 +5727,8 @@ QItemSelectionModel (0xb3e84c00) 0
QObject (0xb3e84c40) 0
primary-for QItemSelectionModel (0xb3e84c00)
-Class QFlags<QItemSelectionModel::SelectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QItemSelectionModel::SelectionFlag> (0xb3e84cc0) 0
-Class QList<QItemSelectionRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::<anonymous union> (0xb3e84d80) 0
-Class QList<QItemSelectionRange>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange> (0xb3e84d00) 0
Class QItemSelection
size=4 align=4
@@ -6872,10 +5890,6 @@ QAbstractItemView (0xb3e84f00) 0
QPaintDevice (0xb3e84180) 8
vptr=((& QAbstractItemView::_ZTV17QAbstractItemView) + 392u)
-Class QFlags<QAbstractItemView::EditTrigger>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractItemView::EditTrigger> (0xb3e843c0) 0
Vtable for QListView
QListView::_ZTV9QListView: 103u entries
@@ -7140,15 +6154,7 @@ Class QItemEditorCreatorBase
QItemEditorCreatorBase (0xb3dd3280) 0 nearly-empty
vptr=((& QItemEditorCreatorBase::_ZTV22QItemEditorCreatorBase) + 8u)
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union> (0xb3dd3540) 0
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*> (0xb3dd34c0) 0
Vtable for QItemEditorFactory
QItemEditorFactory::_ZTV18QItemEditorFactory: 6u entries
@@ -7296,15 +6302,7 @@ Class QTableWidgetSelectionRange
base size=16 base align=4
QTableWidgetSelectionRange (0xb3dd3800) 0
-Class QVector<QWidgetItemData>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData>::<anonymous union> (0xb3dd3940) 0
-Class QVector<QWidgetItemData>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData> (0xb3dd38c0) 0
Vtable for QTableWidgetItem
QTableWidgetItem::_ZTV16QTableWidgetItem: 10u entries
@@ -7790,15 +6788,7 @@ Class QStandardItem
QStandardItem (0xb3dd3dc0) 0
vptr=((& QStandardItem::_ZTV13QStandardItem) + 8u)
-Class QList<QStandardItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QStandardItem*>::<anonymous union> (0xb3b2b100) 0
-Class QList<QStandardItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QStandardItem*> (0xb3b2b080) 0
Vtable for QStandardItemModel
QStandardItemModel::_ZTV18QStandardItemModel: 42u entries
@@ -7926,25 +6916,9 @@ QDirModel (0xb3b2b300) 0
QObject (0xb3b2b380) 0
primary-for QAbstractItemModel (0xb3b2b340)
-Class QVector<QVector<QWidgetItemData> >::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> >::<anonymous union> (0xb3b2b500) 0
-Class QVector<QVector<QWidgetItemData> >
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> > (0xb3b2b480) 0
-Class QList<QTreeWidgetItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::<anonymous union> (0xb3b2b600) 0
-Class QList<QTreeWidgetItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*> (0xb3b2b580) 0
Vtable for QTreeWidgetItem
QTreeWidgetItem::_ZTV15QTreeWidgetItem: 10u entries
@@ -8540,15 +7514,7 @@ QActionGroup (0xb3b2b440) 0
QObject (0xb3b2b540) 0
primary-for QActionGroup (0xb3b2b440)
-Class QList<QAction*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QAction*>::<anonymous union> (0xb3b2bb40) 0
-Class QList<QAction*>
- size=4 align=4
- base size=4 base align=4
-QList<QAction*> (0xb3b2b880) 0
Vtable for QLayoutItem
QLayoutItem::_ZTV11QLayoutItem: 18u entries
@@ -9687,10 +8653,6 @@ QMdiArea (0xb38a90c0) 0
QPaintDevice (0xb38a9200) 8
vptr=((& QMdiArea::_ZTV8QMdiArea) + 240u)
-Class QFlags<QMdiArea::AreaOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QMdiArea::AreaOption> (0xb38a9280) 0
Vtable for QAbstractButton
QAbstractButton::_ZTV15QAbstractButton: 66u entries
@@ -10012,10 +8974,6 @@ QMdiSubWindow (0xb38a96c0) 0
QPaintDevice (0xb38a9780) 8
vptr=((& QMdiSubWindow::_ZTV13QMdiSubWindow) + 232u)
-Class QFlags<QMdiSubWindow::SubWindowOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QMdiSubWindow::SubWindowOption> (0xb38a9800) 0
Vtable for QCalendarWidget
QCalendarWidget::_ZTV15QCalendarWidget: 64u entries
@@ -10493,10 +9451,6 @@ QDialogButtonBox (0xb38a9f80) 0
QPaintDevice (0xb38a9240) 8
vptr=((& QDialogButtonBox::_ZTV16QDialogButtonBox) + 232u)
-Class QFlags<QDialogButtonBox::StandardButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDialogButtonBox::StandardButton> (0xb38a93c0) 0
Vtable for QDockWidget
QDockWidget::_ZTV11QDockWidget: 63u entries
@@ -10576,10 +9530,6 @@ QDockWidget (0xb38a9540) 0
QPaintDevice (0xb38a9980) 8
vptr=((& QDockWidget::_ZTV11QDockWidget) + 232u)
-Class QFlags<QDockWidget::DockWidgetFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDockWidget::DockWidgetFeature> (0xb38a9c40) 0
Vtable for QScrollArea
QScrollArea::_ZTV11QScrollArea: 65u entries
@@ -10930,10 +9880,6 @@ QDateEdit (0xb366c440) 0
QPaintDevice (0xb366c580) 8
vptr=((& QDateEdit::_ZTV9QDateEdit) + 260u)
-Class QFlags<QDateTimeEdit::Section>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDateTimeEdit::Section> (0xb366c600) 0
Vtable for QFontComboBox
QFontComboBox::_ZTV13QFontComboBox: 65u entries
@@ -11017,10 +9963,6 @@ QFontComboBox (0xb366c640) 0
QPaintDevice (0xb366c740) 8
vptr=((& QFontComboBox::_ZTV13QFontComboBox) + 240u)
-Class QFlags<QFontComboBox::FontFilter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFontComboBox::FontFilter> (0xb366c7c0) 0
Vtable for QToolBox
QToolBox::_ZTV8QToolBox: 65u entries
@@ -11275,10 +10217,6 @@ QTextEdit (0xb366cac0) 0
QPaintDevice (0xb366cc00) 8
vptr=((& QTextEdit::_ZTV9QTextEdit) + 256u)
-Class QFlags<QTextEdit::AutoFormattingFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextEdit::AutoFormattingFlag> (0xb366cd00) 0
Vtable for QTextBrowser
QTextBrowser::_ZTV12QTextBrowser: 74u entries
@@ -12210,10 +11148,6 @@ QMainWindow (0xb35b3980) 0
QPaintDevice (0xb35b3a40) 8
vptr=((& QMainWindow::_ZTV11QMainWindow) + 236u)
-Class QFlags<QMainWindow::DockOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QMainWindow::DockOption> (0xb35b3ac0) 0
Vtable for QDial
QDial::_ZTV5QDial: 64u entries
@@ -12786,20 +11720,8 @@ Class QGraphicsItem
QGraphicsItem (0xb34fe5c0) 0
vptr=((& QGraphicsItem::_ZTV13QGraphicsItem) + 8u)
-Class QFlags<QGraphicsItem::GraphicsItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGraphicsItem::GraphicsItemFlag> (0xb34fe6c0) 0
-Class QMetaTypeId<QGraphicsItem*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QGraphicsItem*> (0xb34fe700) 0 empty
-Class QMetaTypeId<QGraphicsScene*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QGraphicsScene*> (0xb34fe7c0) 0 empty
Vtable for QAbstractGraphicsShapeItem
QAbstractGraphicsShapeItem::_ZTV26QAbstractGraphicsShapeItem: 39u entries
@@ -13361,50 +12283,14 @@ Class QPainter
base size=4 base align=4
QPainter (0xb34fe480) 0
-Class QFlags<QPainter::RenderHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPainter::RenderHint> (0xb34fe600) 0
-Class QVector<QLineF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF>::<anonymous union> (0xb34fea00) 0
-Class QVector<QLineF>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF> (0xb34fe680) 0
-Class QVector<QLine>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine>::<anonymous union> (0xb34fedc0) 0
-Class QVector<QLine>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine> (0xb34fec00) 0
-Class QVector<QRectF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF>::<anonymous union> (0xb3271040) 0
-Class QVector<QRectF>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF> (0xb34fef80) 0
-Class QVector<QRect>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect>::<anonymous union> (0xb3271140) 0
-Class QVector<QRect>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect> (0xb32710c0) 0
Vtable for QGraphicsScene
QGraphicsScene::_ZTV14QGraphicsScene: 34u entries
@@ -13451,20 +12337,8 @@ QGraphicsScene (0xb3271180) 0
QObject (0xb32711c0) 0
primary-for QGraphicsScene (0xb3271180)
-Class QFlags<QGraphicsScene::SceneLayer>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGraphicsScene::SceneLayer> (0xb32712c0) 0
-Class QList<QGraphicsItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QGraphicsItem*>::<anonymous union> (0xb3271380) 0
-Class QList<QGraphicsItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QGraphicsItem*> (0xb3271300) 0
Vtable for QGraphicsView
QGraphicsView::_ZTV13QGraphicsView: 68u entries
@@ -13553,15 +12427,7 @@ QGraphicsView (0xb32713c0) 0
QPaintDevice (0xb3271500) 8
vptr=((& QGraphicsView::_ZTV13QGraphicsView) + 252u)
-Class QFlags<QGraphicsView::CacheModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGraphicsView::CacheModeFlag> (0xb32715c0) 0
-Class QFlags<QGraphicsView::OptimizationFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGraphicsView::OptimizationFlag> (0xb3271600) 0
Vtable for QGraphicsItemAnimation
QGraphicsItemAnimation::_ZTV22QGraphicsItemAnimation: 16u entries
@@ -13921,10 +12787,6 @@ QAbstractPrintDialog (0xb3271b40) 0
QPaintDevice (0xb3271c40) 8
vptr=((& QAbstractPrintDialog::_ZTV20QAbstractPrintDialog) + 248u)
-Class QFlags<QAbstractPrintDialog::PrintDialogOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractPrintDialog::PrintDialogOption> (0xb3271d00) 0
Vtable for QPrintDialog
QPrintDialog::_ZTV12QPrintDialog: 67u entries
@@ -14183,10 +13045,6 @@ QWizard (0xb3271580) 0
QPaintDevice (0xb3271b00) 8
vptr=((& QWizard::_ZTV7QWizard) + 260u)
-Class QFlags<QWizard::WizardOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QWizard::WizardOption> (0xb3271cc0) 0
Vtable for QWizardPage
QWizardPage::_ZTV11QWizardPage: 68u entries
@@ -14354,10 +13212,6 @@ QFileDialog (0xb3046100) 0
QPaintDevice (0xb3046200) 8
vptr=((& QFileDialog::_ZTV11QFileDialog) + 244u)
-Class QFlags<QFileDialog::Option>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileDialog::Option> (0xb30462c0) 0
Vtable for QFontDialog
QFontDialog::_ZTV11QFontDialog: 66u entries
@@ -14694,10 +13548,6 @@ QMessageBox (0xb30467c0) 0
QPaintDevice (0xb30468c0) 8
vptr=((& QMessageBox::_ZTV11QMessageBox) + 244u)
-Class QFlags<QMessageBox::StandardButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<QMessageBox::StandardButton> (0xb3046980) 0
Vtable for QColorDialog
QColorDialog::_ZTV12QColorDialog: 66u entries
@@ -15173,15 +14023,7 @@ Class QTextItem
base size=0 base align=1
QTextItem (0xb2f82300) 0 empty
-Class QTypeInfo<QTextItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextItem> (0xb2f82340) 0 empty
-Class QFlags<QPaintEngine::PaintEngineFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::PaintEngineFeature> (0xb2f82400) 0
Vtable for QPaintEngine
QPaintEngine::_ZTV12QPaintEngine: 24u entries
@@ -15216,20 +14058,12 @@ Class QPaintEngine
QPaintEngine (0xb2f82380) 0
vptr=((& QPaintEngine::_ZTV12QPaintEngine) + 8u)
-Class QFlags<QPaintEngine::DirtyFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::DirtyFlag> (0xb2f82500) 0
Class QPaintEngineState
size=4 align=4
base size=4 base align=4
QPaintEngineState (0xb2f82480) 0
-Class QFlags<QTextItem::RenderFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextItem::RenderFlag> (0xb2f82540) 0
Vtable for QInputContext
QInputContext::_ZTV13QInputContext: 26u entries
@@ -15346,25 +14180,13 @@ Class QGLColormap
base size=4 base align=4
QGLColormap (0xb2f82880) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb2f82900) 0
-Class QFlags<QGL::FormatOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGL::FormatOption> (0xb2f82940) 0
Class QGLFormat
size=4 align=4
base size=4 base align=4
QGLFormat (0xb2f82980) 0
-Class QFlags<QGLFormat::OpenGLVersionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGLFormat::OpenGLVersionFlag> (0xb2f82a40) 0
Vtable for QGLContext
QGLContext::_ZTV10QGLContext: 11u entries
@@ -15510,188 +14332,40 @@ QGLFramebufferObject (0xb2f82d40) 0
QPaintDevice (0xb2f82d80) 0
primary-for QGLFramebufferObject (0xb2f82d40)
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0xb2f82e80) 0
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0xb2f82f00) 0
-Class QVectorTypedData<QPoint>
- size=24 align=4
- base size=24 base align=4
-QVectorTypedData<QPoint> (0xb2f82f80) 0
-Class QVectorTypedData<QPointF>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QPointF> (0xb2f82000) 0
-Class QVectorTypedData<QPainterPath::Element>
- size=36 align=4
- base size=36 base align=4
-QVectorTypedData<QPainterPath::Element> (0xb2f821c0) 0
-Class QVectorTypedData<QTextLength>
- size=28 align=4
- base size=28 base align=4
-QVectorTypedData<QTextLength> (0xb2f82700) 0
-Class QVectorTypedData<QTextLayout::FormatRange>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QTextLayout::FormatRange> (0xb2f829c0) 0
-Class QVectorTypedData<QAbstractTextDocumentLayout::Selection>
- size=28 align=4
- base size=28 base align=4
-QVectorTypedData<QAbstractTextDocumentLayout::Selection> (0xb2f82ac0) 0
-Class QList<QTreeWidgetItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::Node (0xb2a6e100) 0
-Class QVectorTypedData<QVector<QWidgetItemData> >
- size=20 align=4
- base size=20 base align=4
-QVectorTypedData<QVector<QWidgetItemData> > (0xb2a6e180) 0
-Class QList<QAction*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QAction*>::Node (0xb2a6e200) 0
-Class QVectorTypedData<QLineF>
- size=48 align=4
- base size=48 base align=4
-QVectorTypedData<QLineF> (0xb2a6e380) 0
-Class QVectorTypedData<QLine>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QLine> (0xb2a6e400) 0
-Class QVectorTypedData<QRectF>
- size=48 align=4
- base size=48 base align=4
-QVectorTypedData<QRectF> (0xb2a6e480) 0
-Class QVectorTypedData<QRect>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QRect> (0xb2a6e500) 0
-Class QMetaTypeId2<QSet<QAccessible::Method> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSet<QAccessible::Method> > (0xb2a6e5c0) 0 empty
-Class QHashNode<QAccessible::Method, QHashDummyValue>
- size=16 align=4
- base size=13 base align=4
-QHashNode<QAccessible::Method, QHashDummyValue> (0xb2a6e640) 0
-Class QTypeInfo<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLength> (0xb2a6e6c0) 0 empty
-Class QTypeInfo<QTextLayout::FormatRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLayout::FormatRange> (0xb2a6e780) 0 empty
-Class QTypeInfo<QAbstractTextDocumentLayout::Selection>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAbstractTextDocumentLayout::Selection> (0xb2a6e880) 0 empty
-Class QHashNode<QVariant::Type, QItemEditorCreatorBase*>
- size=16 align=4
- base size=16 base align=4
-QHashNode<QVariant::Type, QItemEditorCreatorBase*> (0xb2a6e940) 0
-Class QTypeInfo<QStandardItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QStandardItem*> (0xb2a6e9c0) 0 empty
-Class QTypeInfo<QTreeWidgetItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTreeWidgetItem*> (0xb2a6ea40) 0 empty
-Class QTypeInfo<QAction*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAction*> (0xb2a6eac0) 0 empty
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0xb2a6eb40) 0
-Class QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union> (0xb2a6ebc0) 0
-Class QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union> (0xb2a6ec80) 0
-Class QList<QVariant>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::Node (0xb2a6ed40) 0
-Class QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union> (0xb2a6ee00) 0
-Class QTypeInfo<QStyleOptionQ3ListViewItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QStyleOptionQ3ListViewItem> (0xb2a6eec0) 0 empty
-Class QList<QStyleOptionQ3ListViewItem>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::Node (0xb2a6ef40) 0
-Class QList<QItemSelectionRange>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::Node (0xb2a6e280) 0
-Class QList<QStandardItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QStandardItem*>::Node (0xb2a6e900) 0
-Class QTypeInfo<QGraphicsItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QGraphicsItem*> (0xb2a6ec00) 0 empty
-Class QList<QGraphicsItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QGraphicsItem*>::Node (0xb2a6ecc0) 0
-Class QHashDummyNode<QAccessible::Method, QHashDummyValue>
- size=12 align=4
- base size=12 base align=4
-QHashDummyNode<QAccessible::Method, QHashDummyValue> (0xb2a6ee40) 0
-Class QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union> (0xb28f5040) 0
diff --git a/tests/auto/bic/data/QtOpenGL.4.4.0.linux-gcc-ia32.txt b/tests/auto/bic/data/QtOpenGL.4.4.0.linux-gcc-ia32.txt
index 708f7f3..7490f82 100644
--- a/tests/auto/bic/data/QtOpenGL.4.4.0.linux-gcc-ia32.txt
+++ b/tests/auto/bic/data/QtOpenGL.4.4.0.linux-gcc-ia32.txt
@@ -1,34 +1,8 @@
-Class QUintForSize<4>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<4> (0xb6bbc8ac) 0 empty
-Class QUintForSize<8>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<8> (0xb6bbc8e8) 0 empty
-Class QUintForType<void*>
- size=1 align=1
- base size=1 base align=1
-QUintForType<void*> (0xb7d6cc40) 0 empty
- QUintForSize<4> (0xb6bbc960) 0 empty
-Class QIntForSize<4>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<4> (0xb6bbca8c) 0 empty
-Class QIntForSize<8>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<8> (0xb6bbcac8) 0 empty
-Class QIntForType<void*>
- size=1 align=1
- base size=1 base align=1
-QIntForType<void*> (0xb7d6ce00) 0 empty
- QIntForSize<4> (0xb6bbcb40) 0 empty
Class QSysInfo
size=1 align=1
@@ -50,80 +24,20 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0xb6bc8f3c) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0xb6bde12c) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0xb6bde21c) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0xb6bde30c) 0 empty
-Class QTypeInfo<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned char> (0xb6bde3fc) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0xb6bde4ec) 0 empty
-Class QTypeInfo<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short unsigned int> (0xb6bde5dc) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0xb6bde6cc) 0 empty
-Class QTypeInfo<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned int> (0xb6bde7bc) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0xb6bde8ac) 0 empty
-Class QTypeInfo<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long unsigned int> (0xb6bde99c) 0 empty
-Class QTypeInfo<long long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long int> (0xb6bdea8c) 0 empty
-Class QTypeInfo<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long unsigned int> (0xb6bdeb7c) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0xb6bdec6c) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0xb6bded5c) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0xb6bdee4c) 0 empty
Class QFlag
size=4 align=4
@@ -140,10 +54,6 @@ Class QChar
base size=2 base align=2
QChar (0xb6bf6e4c) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0xb6c2ab04) 0 empty
Class QBasicAtomicInt
size=4 align=4
@@ -176,75 +86,19 @@ Class QByteRef
base size=8 base align=4
QByteRef (0xb6a476cc) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0xb6a8a7bc) 0 empty
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0xb6a8aa50) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0xb68d5384) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0xb68d5ca8) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0xb68e95dc) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0xb68e9f00) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0xb68fa834) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0xb6905168) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0xb6905a8c) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0xb691b3c0) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0xb691bce4) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0xb692d618) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0xb692df3c) 0
-Class QFlags<Qt::TextInteractionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::TextInteractionFlag> (0xb6944870) 0
Class QInternal
size=1 align=1
@@ -266,10 +120,6 @@ Class QString
base size=4 base align=4
QString (0xb695430c) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0xb67a25a0) 0
Class QLatin1String
size=4 align=4
@@ -287,10 +137,6 @@ Class QConstString
QConstString (0xb66c2c00) 0
QString (0xb6706960) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0xb6706c6c) 0 empty
Class QStringRef
size=12 align=4
@@ -358,10 +204,6 @@ Class QListData
base size=4 base align=4
QListData (0xb678e294) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0xb662d5dc) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -386,15 +228,7 @@ Class QTextCodec
QTextCodec (0xb660d924) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0xb663ec30) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0xb663ebb8) 0
Class QTextEncoder
size=32 align=4
@@ -417,25 +251,13 @@ Class QGenericReturnArgument
QGenericReturnArgument (0xb6670100) 0
QGenericArgument (0xb6664e4c) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0xb6672348) 0
Class QMetaObject
size=16 align=4
base size=16 base align=4
QMetaObject (0xb6672168) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0xb66874b0) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0xb6687438) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -527,10 +349,6 @@ QIODevice (0xb64bef80) 0
QObject (0xb64cf4b0) 0
primary-for QIODevice (0xb64bef80)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0xb64ef780) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -550,25 +368,13 @@ Class QRegExp
base size=4 base align=4
QRegExp (0xb65286cc) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0xb6552ec4) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0xb6552fb4) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0xb655f528) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0xb655f4b0) 0
Class QStringList
size=4 align=4
@@ -576,15 +382,7 @@ Class QStringList
QStringList (0xb6564080) 0
QList<QString> (0xb655f564) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0xb658a2d0) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0xb658a4ec) 0
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -664,10 +462,6 @@ Class QMutex
base size=4 base align=4
QMutex (0xb63b9780) 0
-Class QMutexLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMutexLocker::<anonymous union> (0xb63c530c) 0
Class QMutexLocker
size=4 align=4
@@ -747,35 +541,11 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0xb6293c30) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0xb6293ce4) 0 empty
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb630bc6c) 0
-Class <anonymous struct>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct>::<anonymous union> (0xb630bd5c) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb630bce4) 0
-Class <anonymous struct>
- size=12 align=4
- base size=12 base align=4
-<anonymous struct> (0xb630bdd4) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb630be4c) 0
Class _IO_marker
size=12 align=4
@@ -787,10 +557,6 @@ Class _IO_FILE
base size=148 base align=4
_IO_FILE (0xb630bec4) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb630bf3c) 0
Vtable for QTextStream
QTextStream::_ZTV11QTextStream: 4u entries
@@ -805,10 +571,6 @@ Class QTextStream
QTextStream (0xb630bf78) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0xb636f708) 0
Class QTextStreamManipulator
size=24 align=4
@@ -845,40 +607,16 @@ QTextOStream (0xb61961c0) 0
QTextStream (0xb6387e88) 0
primary-for QTextOStream (0xb61961c0)
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0xb619c924) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0xb619c99c) 0
Class wait
size=4 align=4
base size=4 base align=4
wait (0xb619c8ac) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb619ca14) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb619ca8c) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb619cb04) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb619cb7c) 0
Class timespec
size=8 align=4
@@ -890,80 +628,24 @@ Class timeval
base size=8 base align=4
timeval (0xb619cbf4) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb619cc6c) 0
-Class <anonymous union>
- size=36 align=4
- base size=36 base align=4
-<anonymous union> (0xb619cce4) 0
Class __pthread_internal_slist
size=4 align=4
base size=4 base align=4
__pthread_internal_slist (0xb619cd20) 0
-Class <anonymous union>::__pthread_mutex_s::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union>::__pthread_mutex_s::<anonymous union> (0xb619ce4c) 0
-Class <anonymous union>::__pthread_mutex_s
- size=24 align=4
- base size=24 base align=4
-<anonymous union>::__pthread_mutex_s (0xb619cdd4) 0
-Class <anonymous union>
- size=24 align=4
- base size=24 base align=4
-<anonymous union> (0xb619cd98) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb619cec4) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0xb619cfb4) 0
-Class <anonymous union>
- size=48 align=4
- base size=48 base align=4
-<anonymous union> (0xb619cf3c) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb61b6000) 0
-Class <anonymous union>::<anonymous struct>
- size=32 align=4
- base size=32 base align=4
-<anonymous union>::<anonymous struct> (0xb61b60f0) 0
-Class <anonymous union>
- size=32 align=4
- base size=32 base align=4
-<anonymous union> (0xb61b6078) 0
-Class <anonymous union>
- size=8 align=4
- base size=8 base align=4
-<anonymous union> (0xb61b61a4) 0
-Class <anonymous union>
- size=20 align=4
- base size=20 base align=4
-<anonymous union> (0xb61b621c) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb61b6294) 0
Class random_data
size=28 align=4
@@ -995,20 +677,8 @@ Class QtConcurrent::ResultItem
base size=8 base align=4
QtConcurrent::ResultItem (0xb60d7000) 0
-Class QMap<int, QtConcurrent::ResultItem>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<int, QtConcurrent::ResultItem>::<anonymous union> (0xb60d7c6c) 0
-Class QMap<int, QtConcurrent::ResultItem>
- size=4 align=4
- base size=4 base align=4
-QMap<int, QtConcurrent::ResultItem> (0xb60d7bf4) 0
-Class QMap<int, QtConcurrent::ResultItem>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QMap<int, QtConcurrent::ResultItem>::const_iterator (0xb60d7fb4) 0
Class QtConcurrent::ResultIteratorBase
size=8 align=4
@@ -1028,10 +698,6 @@ Class QtConcurrent::ResultStoreBase
QtConcurrent::ResultStoreBase (0xb60f50b4) 0
vptr=((& QtConcurrent::ResultStoreBase::_ZTVN12QtConcurrent15ResultStoreBaseE) + 8u)
-Class QMap<int, QtConcurrent::ResultItem>::iterator
- size=4 align=4
- base size=4 base align=4
-QMap<int, QtConcurrent::ResultItem>::iterator (0xb60f57bc) 0
Vtable for QFutureInterfaceBase
QFutureInterfaceBase::_ZTV20QFutureInterfaceBase: 4u entries
@@ -1046,25 +712,8 @@ Class QFutureInterfaceBase
QFutureInterfaceBase (0xb60f5834) 0
vptr=((& QFutureInterfaceBase::_ZTV20QFutureInterfaceBase) + 8u)
-Vtable for QFutureInterface<void>
-QFutureInterface<void>::_ZTV16QFutureInterfaceIvE: 4u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI16QFutureInterfaceIvE)
-8 QFutureInterface<void>::~QFutureInterface
-12 QFutureInterface<void>::~QFutureInterface
-Class QFutureInterface<void>
- size=8 align=4
- base size=8 base align=4
-QFutureInterface<void> (0xb6121880) 0
- vptr=((& QFutureInterface<void>::_ZTV16QFutureInterfaceIvE) + 8u)
- QFutureInterfaceBase (0xb612030c) 0
- primary-for QFutureInterface<void> (0xb6121880)
-Class QFuture<void>
- size=8 align=4
- base size=8 base align=4
-QFuture<void> (0xb614dac8) 0
Vtable for QFutureWatcherBase
QFutureWatcherBase::_ZTV18QFutureWatcherBase: 16u entries
@@ -1093,34 +742,7 @@ QFutureWatcherBase (0xb61777c0) 0
QObject (0xb6181168) 0
primary-for QFutureWatcherBase (0xb61777c0)
-Vtable for QFutureWatcher<void>
-QFutureWatcher<void>::_ZTV14QFutureWatcherIvE: 16u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI14QFutureWatcherIvE)
-8 QFutureWatcherBase::metaObject
-12 QFutureWatcherBase::qt_metacast
-16 QFutureWatcherBase::qt_metacall
-20 QFutureWatcher<void>::~QFutureWatcher
-24 QFutureWatcher<void>::~QFutureWatcher
-28 QFutureWatcherBase::event
-32 QObject::eventFilter
-36 QObject::timerEvent
-40 QObject::childEvent
-44 QObject::customEvent
-48 QFutureWatcherBase::connectNotify
-52 QFutureWatcherBase::disconnectNotify
-56 QFutureWatcher<void>::futureInterface
-60 QFutureWatcher<void>::futureInterface
-Class QFutureWatcher<void>
- size=16 align=4
- base size=16 base align=4
-QFutureWatcher<void> (0xb6177ec0) 0
- vptr=((& QFutureWatcher<void>::_ZTV14QFutureWatcherIvE) + 8u)
- QFutureWatcherBase (0xb6177f00) 0
- primary-for QFutureWatcher<void> (0xb6177ec0)
- QObject (0xb6181ca8) 0
- primary-for QFutureWatcherBase (0xb6177f00)
Vtable for QRunnable
QRunnable::_ZTV9QRunnable: 5u entries
@@ -1219,60 +841,14 @@ QtConcurrent::ThreadEngineBase (0xb5fce3c0) 0
QRunnable (0xb5fd1c6c) 0
primary-for QtConcurrent::ThreadEngineBase (0xb5fce3c0)
-Class QtConcurrent::ThreadEngineStarterBase<void>
- size=4 align=4
- base size=4 base align=4
-QtConcurrent::ThreadEngineStarterBase<void> (0xb5fde438) 0
-Class QtConcurrent::ThreadEngineStarter<void>
- size=4 align=4
- base size=4 base align=4
-QtConcurrent::ThreadEngineStarter<void> (0xb5fced40) 0
- QtConcurrent::ThreadEngineStarterBase<void> (0xb5fde4b0) 0
-Vtable for QtConcurrent::ThreadEngine<void>
-QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE: 26u entries
-0 4u
-4 (int (*)(...))0
-8 (int (*)(...))(& _ZTIN12QtConcurrent12ThreadEngineIvEE)
-12 QtConcurrent::ThreadEngine<T>::result [with T = void]
-16 QtConcurrent::ThreadEngine<T>::asynchronousFinish [with T = void]
-20 QtConcurrent::ThreadEngine<void>::~ThreadEngine
-24 QtConcurrent::ThreadEngine<void>::~ThreadEngine
-28 -4u
-32 0u
-36 0u
-40 0u
-44 0u
-48 0u
-52 -4u
-56 0u
-60 (int (*)(...))-0x000000004
-64 (int (*)(...))(& _ZTIN12QtConcurrent12ThreadEngineIvEE)
-68 QtConcurrent::ThreadEngineBase::run
-72 QtConcurrent::ThreadEngine<void>::_ZTv0_n16_N12QtConcurrent12ThreadEngineIvED1Ev
-76 QtConcurrent::ThreadEngine<void>::_ZTv0_n16_N12QtConcurrent12ThreadEngineIvED0Ev
-80 QtConcurrent::ThreadEngineBase::start
-84 QtConcurrent::ThreadEngineBase::finish
-88 QtConcurrent::ThreadEngineBase::threadFunction
-92 QtConcurrent::ThreadEngineBase::shouldStartThread
-96 QtConcurrent::ThreadEngineBase::shouldThrottleThread
-100 QtConcurrent::ThreadEngine<void>::_ZTv0_n40_N12QtConcurrent12ThreadEngineIvE18asynchronousFinishEv
VTT for QtConcurrent::ThreadEngine<void>
QtConcurrent::ThreadEngine<void>::_ZTTN12QtConcurrent12ThreadEngineIvEE: 2u entries
0 ((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 12u)
4 ((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 68u)
-Class QtConcurrent::ThreadEngine<void>
- size=36 align=4
- base size=4 base align=4
-QtConcurrent::ThreadEngine<void> (0xb5fcef00) 0 nearly-empty
- vptridx=0u vptr=((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 12u)
- QtConcurrent::ThreadEngineBase (0xb5fcef40) 4 virtual
- vptridx=4u vbaseoffset=-0x00000000c vptr=((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 68u)
- QRunnable (0xb5fde960) 4
- primary-for QtConcurrent::ThreadEngineBase (0xb5fcef40)
Class std::input_iterator_tag
size=1 align=1
@@ -1315,225 +891,49 @@ Class std::__false_type
base size=0 base align=1
std::__false_type (0xb5ffc348) 0 empty
-Class std::__truth_type<true>
- size=1 align=1
- base size=0 base align=1
-std::__truth_type<true> (0xb5ffc3c0) 0 empty
-Class std::__is_void<void>
- size=1 align=1
- base size=0 base align=1
-std::__is_void<void> (0xb5ffc5dc) 0 empty
-Class std::__is_integer<bool>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<bool> (0xb5ffc6cc) 0 empty
-Class std::__is_integer<char>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<char> (0xb5ffc744) 0 empty
-Class std::__is_integer<signed char>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<signed char> (0xb5ffc7bc) 0 empty
-Class std::__is_integer<unsigned char>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<unsigned char> (0xb5ffc834) 0 empty
-Class std::__is_integer<wchar_t>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<wchar_t> (0xb5ffc8ac) 0 empty
-Class std::__is_integer<short int>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<short int> (0xb5ffc924) 0 empty
-Class std::__is_integer<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<short unsigned int> (0xb5ffc99c) 0 empty
-Class std::__is_integer<int>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<int> (0xb5ffca14) 0 empty
-Class std::__is_integer<unsigned int>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<unsigned int> (0xb5ffca8c) 0 empty
-Class std::__is_integer<long int>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<long int> (0xb5ffcb04) 0 empty
-Class std::__is_integer<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<long unsigned int> (0xb5ffcb7c) 0 empty
-Class std::__is_integer<long long int>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<long long int> (0xb5ffcbf4) 0 empty
-Class std::__is_integer<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<long long unsigned int> (0xb5ffcc6c) 0 empty
-Class std::__is_floating<float>
- size=1 align=1
- base size=0 base align=1
-std::__is_floating<float> (0xb5ffcd5c) 0 empty
-Class std::__is_floating<double>
- size=1 align=1
- base size=0 base align=1
-std::__is_floating<double> (0xb5ffcdd4) 0 empty
-Class std::__is_floating<long double>
- size=1 align=1
- base size=0 base align=1
-std::__is_floating<long double> (0xb5ffce4c) 0 empty
-Class std::__is_char<char>
- size=1 align=1
- base size=0 base align=1
-std::__is_char<char> (0xb60161e0) 0 empty
-Class std::__is_char<wchar_t>
- size=1 align=1
- base size=0 base align=1
-std::__is_char<wchar_t> (0xb6016258) 0 empty
-Class std::__is_byte<char>
- size=1 align=1
- base size=0 base align=1
-std::__is_byte<char> (0xb6016348) 0 empty
-Class std::__is_byte<signed char>
- size=1 align=1
- base size=0 base align=1
-std::__is_byte<signed char> (0xb60163c0) 0 empty
-Class std::__is_byte<unsigned char>
- size=1 align=1
- base size=0 base align=1
-std::__is_byte<unsigned char> (0xb6016438) 0 empty
-Class __gnu_cxx::__add_unsigned<char>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__add_unsigned<char> (0xb6016654) 0 empty
-Class __gnu_cxx::__add_unsigned<signed char>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__add_unsigned<signed char> (0xb6016690) 0 empty
-Class __gnu_cxx::__add_unsigned<short int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__add_unsigned<short int> (0xb60166cc) 0 empty
-Class __gnu_cxx::__add_unsigned<int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__add_unsigned<int> (0xb6016708) 0 empty
-Class __gnu_cxx::__add_unsigned<long int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__add_unsigned<long int> (0xb6016744) 0 empty
-Class __gnu_cxx::__add_unsigned<long long int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__add_unsigned<long long int> (0xb6016780) 0 empty
-Class __gnu_cxx::__remove_unsigned<char>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__remove_unsigned<char> (0xb60167f8) 0 empty
-Class __gnu_cxx::__remove_unsigned<unsigned char>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__remove_unsigned<unsigned char> (0xb6016834) 0 empty
-Class __gnu_cxx::__remove_unsigned<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__remove_unsigned<short unsigned int> (0xb6016870) 0 empty
-Class __gnu_cxx::__remove_unsigned<unsigned int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__remove_unsigned<unsigned int> (0xb60168ac) 0 empty
-Class __gnu_cxx::__remove_unsigned<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__remove_unsigned<long unsigned int> (0xb60168e8) 0 empty
-Class __gnu_cxx::__remove_unsigned<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__remove_unsigned<long long unsigned int> (0xb6016924) 0 empty
-Class std::iterator<std::output_iterator_tag, void, void, void, void>
- size=1 align=1
- base size=0 base align=1
-std::iterator<std::output_iterator_tag, void, void, void, void> (0xb603830c) 0 empty
-Class std::__iter_swap<true>
- size=1 align=1
- base size=0 base align=1
-std::__iter_swap<true> (0xb607b8e8) 0 empty
-Class std::__copy_move<false, false, std::random_access_iterator_tag>
- size=1 align=1
- base size=0 base align=1
-std::__copy_move<false, false, std::random_access_iterator_tag> (0xb607bd20) 0 empty
-Class std::__copy_move_backward<false, false, std::random_access_iterator_tag>
- size=1 align=1
- base size=0 base align=1
-std::__copy_move_backward<false, false, std::random_access_iterator_tag> (0xb607bf3c) 0 empty
-Class std::__equal<true>
- size=1 align=1
- base size=0 base align=1
-std::__equal<true> (0xb5ebc348) 0 empty
-Class std::__lc_rai<std::random_access_iterator_tag, std::random_access_iterator_tag>
- size=1 align=1
- base size=0 base align=1
-std::__lc_rai<std::random_access_iterator_tag, std::random_access_iterator_tag> (0xb5ebc4b0) 0 empty
-Class std::__lexicographical_compare<true>
- size=1 align=1
- base size=0 base align=1
-std::__lexicographical_compare<true> (0xb5ebc618) 0 empty
-Class std::char_traits<char>
- size=1 align=1
- base size=0 base align=1
-std::char_traits<char> (0xb5ebcd20) 0 empty
-Class std::char_traits<wchar_t>
- size=1 align=1
- base size=0 base align=1
-std::char_traits<wchar_t> (0xb5ef6744) 0 empty
Class lconv
size=56 align=4
@@ -1550,10 +950,6 @@ Class __sched_param
base size=4 base align=4
__sched_param (0xb5f0230c) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb5f02384) 0
Class tm
size=44 align=4
@@ -1570,15 +966,7 @@ Class _pthread_cleanup_buffer
base size=16 base align=4
_pthread_cleanup_buffer (0xb5f02654) 0
-Class <anonymous struct>::<anonymous struct>
- size=28 align=4
- base size=28 base align=4
-<anonymous struct>::<anonymous struct> (0xb5f027bc) 0
-Class <anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous struct> (0xb5f02744) 0
Class __pthread_cleanup_frame
size=16 align=4
@@ -1590,32 +978,10 @@ Class __pthread_cleanup_class
base size=16 base align=4
__pthread_cleanup_class (0xb5f02834) 0
-Class std::allocator<void>
- size=1 align=1
- base size=0 base align=1
-std::allocator<void> (0xb5f7cd5c) 0 empty
-Class __gnu_cxx::new_allocator<char>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::new_allocator<char> (0xb5d9c03c) 0 empty
-Class std::allocator<char>
- size=1 align=1
- base size=1 base align=1
-std::allocator<char> (0xb5f8f8c0) 0 empty
- __gnu_cxx::new_allocator<char> (0xb5d9c078) 0 empty
-Class __gnu_cxx::new_allocator<wchar_t>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::new_allocator<wchar_t> (0xb5d9c0b4) 0 empty
-Class std::allocator<wchar_t>
- size=1 align=1
- base size=1 base align=1
-std::allocator<wchar_t> (0xb5f8f980) 0 empty
- __gnu_cxx::new_allocator<wchar_t> (0xb5d9c0f0) 0 empty
Vtable for __cxxabiv1::__forced_unwind
__cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE: 5u entries
@@ -1631,82 +997,19 @@ Class __cxxabiv1::__forced_unwind
__cxxabiv1::__forced_unwind (0xb5d9c30c) 0 nearly-empty
vptr=((& __cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE) + 8u)
-Class __gnu_cxx::__conditional_type<true, __gnu_cxx::__numeric_traits_integer<int>, __gnu_cxx::__numeric_traits_floating<int> >
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__conditional_type<true, __gnu_cxx::__numeric_traits_integer<int>, __gnu_cxx::__numeric_traits_floating<int> > (0xb5dfbbf4) 0 empty
-Class __gnu_cxx::__numeric_traits_integer<int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__numeric_traits_integer<int> (0xb5dfbc30) 0 empty
-Class __gnu_cxx::__numeric_traits<int>
- size=1 align=1
- base size=1 base align=1
-__gnu_cxx::__numeric_traits<int> (0xb5e37c40) 0 empty
- __gnu_cxx::__numeric_traits_integer<int> (0xb5dfbc6c) 0 empty
-Class std::allocator<char>::rebind<char>
- size=1 align=1
- base size=0 base align=1
-std::allocator<char>::rebind<char> (0xb5c9a8e8) 0 empty
-Class std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Alloc_hider
- size=4 align=4
- base size=4 base align=4
-std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Alloc_hider (0xb5cd1200) 0
- std::allocator<char> (0xb5cd1240) 0 empty
- __gnu_cxx::new_allocator<char> (0xb5c9a960) 0 empty
-Class std::basic_string<char, std::char_traits<char>, std::allocator<char> >
- size=4 align=4
- base size=4 base align=4
-std::basic_string<char, std::char_traits<char>, std::allocator<char> > (0xb5c9a870) 0
-Class std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep_base
- size=12 align=4
- base size=12 base align=4
-std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep_base (0xb5c9a99c) 0
-Class std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep
- size=12 align=4
- base size=12 base align=4
-std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep (0xb5cd13c0) 0
- std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep_base (0xb5c9a9d8) 0
-Class std::allocator<wchar_t>::rebind<wchar_t>
- size=1 align=1
- base size=0 base align=1
-std::allocator<wchar_t>::rebind<wchar_t> (0xb5c9aa8c) 0 empty
-Class std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Alloc_hider
- size=4 align=4
- base size=4 base align=4
-std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Alloc_hider (0xb5cd15c0) 0
- std::allocator<wchar_t> (0xb5cd1600) 0 empty
- __gnu_cxx::new_allocator<wchar_t> (0xb5c9ab04) 0 empty
-Class std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >
- size=4 align=4
- base size=4 base align=4
-std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > (0xb5c9aa14) 0
-Class std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Rep_base
- size=12 align=4
- base size=12 base align=4
-std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Rep_base (0xb5c9ab40) 0
-Class std::allocator<wchar_t>::rebind<char>
- size=1 align=1
- base size=0 base align=1
-std::allocator<wchar_t>::rebind<char> (0xb5c9abf4) 0 empty
-Class std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Rep
- size=12 align=4
- base size=12 base align=4
-std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Rep (0xb5cd1780) 0
- std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Rep_base (0xb5c9ab7c) 0
Class std::locale
size=4 align=4
@@ -1736,97 +1039,16 @@ Class std::locale::_Impl
base size=20 base align=4
std::locale::_Impl (0xb5d6bdd4) 0
-Vtable for std::collate<char>
-std::collate<char>::_ZTVSt7collateIcE: 7u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt7collateIcE)
-8 std::collate<_CharT>::~collate [with _CharT = char]
-12 std::collate<_CharT>::~collate [with _CharT = char]
-16 std::collate<_CharT>::do_compare [with _CharT = char]
-20 std::collate<_CharT>::do_transform [with _CharT = char]
-24 std::collate<_CharT>::do_hash [with _CharT = char]
-Class std::collate<char>
- size=12 align=4
- base size=12 base align=4
-std::collate<char> (0xb5d80740) 0
- vptr=((& std::collate<char>::_ZTVSt7collateIcE) + 8u)
- std::locale::facet (0xb5d7f744) 0
- primary-for std::collate<char> (0xb5d80740)
-
-Vtable for std::collate<wchar_t>
-std::collate<wchar_t>::_ZTVSt7collateIwE: 7u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt7collateIwE)
-8 std::collate<_CharT>::~collate [with _CharT = wchar_t]
-12 std::collate<_CharT>::~collate [with _CharT = wchar_t]
-16 std::collate<_CharT>::do_compare [with _CharT = wchar_t]
-20 std::collate<_CharT>::do_transform [with _CharT = wchar_t]
-24 std::collate<_CharT>::do_hash [with _CharT = wchar_t]
-
-Class std::collate<wchar_t>
- size=12 align=4
- base size=12 base align=4
-std::collate<wchar_t> (0xb5d80840) 0
- vptr=((& std::collate<wchar_t>::_ZTVSt7collateIwE) + 8u)
- std::locale::facet (0xb5d7f834) 0
- primary-for std::collate<wchar_t> (0xb5d80840)
-Class __gnu_cxx::__conditional_type<true, __gnu_cxx::__numeric_traits_integer<long unsigned int>, __gnu_cxx::__numeric_traits_floating<long unsigned int> >
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__conditional_type<true, __gnu_cxx::__numeric_traits_integer<long unsigned int>, __gnu_cxx::__numeric_traits_floating<long unsigned int> > (0xb5d7fca8) 0 empty
-Class __gnu_cxx::__numeric_traits_integer<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__numeric_traits_integer<long unsigned int> (0xb5d7fce4) 0 empty
-Class __gnu_cxx::__numeric_traits<long unsigned int>
- size=1 align=1
- base size=1 base align=1
-__gnu_cxx::__numeric_traits<long unsigned int> (0xb5b9e7c0) 0 empty
- __gnu_cxx::__numeric_traits_integer<long unsigned int> (0xb5d7fd20) 0 empty
-Vtable for std::collate_byname<char>
-std::collate_byname<char>::_ZTVSt14collate_bynameIcE: 7u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt14collate_bynameIcE)
-8 std::collate_byname<_CharT>::~collate_byname [with _CharT = char]
-12 std::collate_byname<_CharT>::~collate_byname [with _CharT = char]
-16 std::collate<_CharT>::do_compare [with _CharT = char]
-20 std::collate<_CharT>::do_transform [with _CharT = char]
-24 std::collate<_CharT>::do_hash [with _CharT = char]
-Class std::collate_byname<char>
- size=12 align=4
- base size=12 base align=4
-std::collate_byname<char> (0xb5b9e900) 0
- vptr=((& std::collate_byname<char>::_ZTVSt14collate_bynameIcE) + 8u)
- std::collate<char> (0xb5b9e940) 0
- primary-for std::collate_byname<char> (0xb5b9e900)
- std::locale::facet (0xb5d7fd98) 0
- primary-for std::collate<char> (0xb5b9e940)
-
-Vtable for std::collate_byname<wchar_t>
-std::collate_byname<wchar_t>::_ZTVSt14collate_bynameIwE: 7u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt14collate_bynameIwE)
-8 std::collate_byname<_CharT>::~collate_byname [with _CharT = wchar_t]
-12 std::collate_byname<_CharT>::~collate_byname [with _CharT = wchar_t]
-16 std::collate<_CharT>::do_compare [with _CharT = wchar_t]
-20 std::collate<_CharT>::do_transform [with _CharT = wchar_t]
-24 std::collate<_CharT>::do_hash [with _CharT = wchar_t]
-
-Class std::collate_byname<wchar_t>
- size=12 align=4
- base size=12 base align=4
-std::collate_byname<wchar_t> (0xb5b9e9c0) 0
- vptr=((& std::collate_byname<wchar_t>::_ZTVSt14collate_bynameIwE) + 8u)
- std::collate<wchar_t> (0xb5b9ea00) 0
- primary-for std::collate_byname<wchar_t> (0xb5b9e9c0)
- std::locale::facet (0xb5d7fe88) 0
- primary-for std::collate<wchar_t> (0xb5b9ea00)
+
+
+
+
Vtable for std::ios_base::failure
std::ios_base::failure::_ZTVNSt8ios_base7failureE: 5u entries
@@ -1872,583 +1094,85 @@ Class std::ios_base
std::ios_base (0xb5bafc30) 0
vptr=((& std::ios_base::_ZTVSt8ios_base) + 8u)
-Vtable for std::basic_streambuf<char, std::char_traits<char> >
-std::basic_streambuf<char, std::char_traits<char> >::_ZTVSt15basic_streambufIcSt11char_traitsIcEE: 16u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt15basic_streambufIcSt11char_traitsIcEE)
-8 std::basic_streambuf<_CharT, _Traits>::~basic_streambuf [with _CharT = char, _Traits = std::char_traits<char>]
-12 std::basic_streambuf<_CharT, _Traits>::~basic_streambuf [with _CharT = char, _Traits = std::char_traits<char>]
-16 std::basic_streambuf<_CharT, _Traits>::imbue [with _CharT = char, _Traits = std::char_traits<char>]
-20 std::basic_streambuf<_CharT, _Traits>::setbuf [with _CharT = char, _Traits = std::char_traits<char>]
-24 std::basic_streambuf<_CharT, _Traits>::seekoff [with _CharT = char, _Traits = std::char_traits<char>]
-28 std::basic_streambuf<_CharT, _Traits>::seekpos [with _CharT = char, _Traits = std::char_traits<char>]
-32 std::basic_streambuf<_CharT, _Traits>::sync [with _CharT = char, _Traits = std::char_traits<char>]
-36 std::basic_streambuf<_CharT, _Traits>::showmanyc [with _CharT = char, _Traits = std::char_traits<char>]
-40 std::basic_streambuf<_CharT, _Traits>::xsgetn [with _CharT = char, _Traits = std::char_traits<char>]
-44 std::basic_streambuf<_CharT, _Traits>::underflow [with _CharT = char, _Traits = std::char_traits<char>]
-48 std::basic_streambuf<_CharT, _Traits>::uflow [with _CharT = char, _Traits = std::char_traits<char>]
-52 std::basic_streambuf<_CharT, _Traits>::pbackfail [with _CharT = char, _Traits = std::char_traits<char>]
-56 std::basic_streambuf<_CharT, _Traits>::xsputn [with _CharT = char, _Traits = std::char_traits<char>]
-60 std::basic_streambuf<_CharT, _Traits>::overflow [with _CharT = char, _Traits = std::char_traits<char>]
-
-Class std::basic_streambuf<char, std::char_traits<char> >
- size=32 align=4
- base size=32 base align=4
-std::basic_streambuf<char, std::char_traits<char> > (0xb5c032d0) 0
- vptr=((& std::basic_streambuf<char, std::char_traits<char> >::_ZTVSt15basic_streambufIcSt11char_traitsIcEE) + 8u)
-
-Vtable for std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >
-std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >::_ZTVSt15basic_streambufIwSt11char_traitsIwEE: 16u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt15basic_streambufIwSt11char_traitsIwEE)
-8 std::basic_streambuf<_CharT, _Traits>::~basic_streambuf [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-12 std::basic_streambuf<_CharT, _Traits>::~basic_streambuf [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-16 std::basic_streambuf<_CharT, _Traits>::imbue [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-20 std::basic_streambuf<_CharT, _Traits>::setbuf [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-24 std::basic_streambuf<_CharT, _Traits>::seekoff [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-28 std::basic_streambuf<_CharT, _Traits>::seekpos [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-32 std::basic_streambuf<_CharT, _Traits>::sync [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-36 std::basic_streambuf<_CharT, _Traits>::showmanyc [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-40 std::basic_streambuf<_CharT, _Traits>::xsgetn [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-44 std::basic_streambuf<_CharT, _Traits>::underflow [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-48 std::basic_streambuf<_CharT, _Traits>::uflow [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-52 std::basic_streambuf<_CharT, _Traits>::pbackfail [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-56 std::basic_streambuf<_CharT, _Traits>::xsputn [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-60 std::basic_streambuf<_CharT, _Traits>::overflow [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-
-Class std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >
- size=32 align=4
- base size=32 base align=4
-std::basic_streambuf<wchar_t, std::char_traits<wchar_t> > (0xb5c03564) 0
- vptr=((& std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >::_ZTVSt15basic_streambufIwSt11char_traitsIwEE) + 8u)
+
+
+
Class std::ctype_base
size=1 align=1
base size=0 base align=1
std::ctype_base (0xb5c037f8) 0 empty
-Vtable for std::ctype<char>
-std::ctype<char>::_ZTVSt5ctypeIcE: 12u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt5ctypeIcE)
-8 std::ctype<char>::~ctype
-12 std::ctype<char>::~ctype
-16 std::ctype<char>::do_toupper
-20 std::ctype<char>::do_toupper
-24 std::ctype<char>::do_tolower
-28 std::ctype<char>::do_tolower
-32 std::ctype<char>::do_widen
-36 std::ctype<char>::do_widen
-40 std::ctype<char>::do_narrow
-44 std::ctype<char>::do_narrow
-
-Class std::ctype<char>
- size=544 align=4
- base size=542 base align=4
-std::ctype<char> (0xb5c6f4b0) 0
- vptr=((& std::ctype<char>::_ZTVSt5ctypeIcE) + 8u)
- std::locale::facet (0xb5c5a744) 0
- primary-for std::ctype<char> (0xb5c6f4b0)
- std::ctype_base (0xb5c5a780) 0 empty
-
-Vtable for std::__ctype_abstract_base<wchar_t>
-std::__ctype_abstract_base<wchar_t>::_ZTVSt21__ctype_abstract_baseIwE: 16u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt21__ctype_abstract_baseIwE)
-8 std::__ctype_abstract_base<_CharT>::~__ctype_abstract_base [with _CharT = wchar_t]
-12 std::__ctype_abstract_base<_CharT>::~__ctype_abstract_base [with _CharT = wchar_t]
-16 __cxa_pure_virtual
-20 __cxa_pure_virtual
-24 __cxa_pure_virtual
-28 __cxa_pure_virtual
-32 __cxa_pure_virtual
-36 __cxa_pure_virtual
-40 __cxa_pure_virtual
-44 __cxa_pure_virtual
-48 __cxa_pure_virtual
-52 __cxa_pure_virtual
-56 __cxa_pure_virtual
-60 __cxa_pure_virtual
-Class std::__ctype_abstract_base<wchar_t>
- size=8 align=4
- base size=8 base align=4
-std::__ctype_abstract_base<wchar_t> (0xb5c77d70) 0
- vptr=((& std::__ctype_abstract_base<wchar_t>::_ZTVSt21__ctype_abstract_baseIwE) + 8u)
- std::locale::facet (0xb5c8930c) 0
- primary-for std::__ctype_abstract_base<wchar_t> (0xb5c77d70)
- std::ctype_base (0xb5c89348) 0 empty
-
-Vtable for std::ctype<wchar_t>
-std::ctype<wchar_t>::_ZTVSt5ctypeIwE: 16u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt5ctypeIwE)
-8 std::ctype<wchar_t>::~ctype
-12 std::ctype<wchar_t>::~ctype
-16 std::ctype<wchar_t>::do_is
-20 std::ctype<wchar_t>::do_is
-24 std::ctype<wchar_t>::do_scan_is
-28 std::ctype<wchar_t>::do_scan_not
-32 std::ctype<wchar_t>::do_toupper
-36 std::ctype<wchar_t>::do_toupper
-40 std::ctype<wchar_t>::do_tolower
-44 std::ctype<wchar_t>::do_tolower
-48 std::ctype<wchar_t>::do_widen
-52 std::ctype<wchar_t>::do_widen
-56 std::ctype<wchar_t>::do_narrow
-60 std::ctype<wchar_t>::do_narrow
-
-Class std::ctype<wchar_t>
- size=1264 align=4
- base size=1264 base align=4
-std::ctype<wchar_t> (0xb5c79900) 0
- vptr=((& std::ctype<wchar_t>::_ZTVSt5ctypeIwE) + 8u)
- std::__ctype_abstract_base<wchar_t> (0xb5a91be0) 0
- primary-for std::ctype<wchar_t> (0xb5c79900)
- std::locale::facet (0xb5c89438) 0
- primary-for std::__ctype_abstract_base<wchar_t> (0xb5a91be0)
- std::ctype_base (0xb5c89474) 0 empty
-
-Vtable for std::ctype_byname<char>
-std::ctype_byname<char>::_ZTVSt12ctype_bynameIcE: 12u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt12ctype_bynameIcE)
-8 std::ctype_byname<char>::~ctype_byname
-12 std::ctype_byname<char>::~ctype_byname
-16 std::ctype<char>::do_toupper
-20 std::ctype<char>::do_toupper
-24 std::ctype<char>::do_tolower
-28 std::ctype<char>::do_tolower
-32 std::ctype<char>::do_widen
-36 std::ctype<char>::do_widen
-40 std::ctype<char>::do_narrow
-44 std::ctype<char>::do_narrow
-
-Class std::ctype_byname<char>
- size=544 align=4
- base size=542 base align=4
-std::ctype_byname<char> (0xb5c79ac0) 0
- vptr=((& std::ctype_byname<char>::_ZTVSt12ctype_bynameIcE) + 8u)
- std::ctype<char> (0xb5a9a370) 0
- primary-for std::ctype_byname<char> (0xb5c79ac0)
- std::locale::facet (0xb5a98780) 0
- primary-for std::ctype<char> (0xb5a9a370)
- std::ctype_base (0xb5a987bc) 0 empty
-
-Vtable for std::ctype_byname<wchar_t>
-std::ctype_byname<wchar_t>::_ZTVSt12ctype_bynameIwE: 16u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt12ctype_bynameIwE)
-8 std::ctype_byname<wchar_t>::~ctype_byname
-12 std::ctype_byname<wchar_t>::~ctype_byname
-16 std::ctype<wchar_t>::do_is
-20 std::ctype<wchar_t>::do_is
-24 std::ctype<wchar_t>::do_scan_is
-28 std::ctype<wchar_t>::do_scan_not
-32 std::ctype<wchar_t>::do_toupper
-36 std::ctype<wchar_t>::do_toupper
-40 std::ctype<wchar_t>::do_tolower
-44 std::ctype<wchar_t>::do_tolower
-48 std::ctype<wchar_t>::do_widen
-52 std::ctype<wchar_t>::do_widen
-56 std::ctype<wchar_t>::do_narrow
-60 std::ctype<wchar_t>::do_narrow
-
-Class std::ctype_byname<wchar_t>
- size=1264 align=4
- base size=1264 base align=4
-std::ctype_byname<wchar_t> (0xb5c79b40) 0
- vptr=((& std::ctype_byname<wchar_t>::_ZTVSt12ctype_bynameIwE) + 8u)
- std::ctype<wchar_t> (0xb5c79b80) 0
- primary-for std::ctype_byname<wchar_t> (0xb5c79b40)
- std::__ctype_abstract_base<wchar_t> (0xb5a9aa00) 0
- primary-for std::ctype<wchar_t> (0xb5c79b80)
- std::locale::facet (0xb5a98924) 0
- primary-for std::__ctype_abstract_base<wchar_t> (0xb5a9aa00)
- std::ctype_base (0xb5a98960) 0 empty
+
+
+
+
+
+
+
+
Class std::__num_base
size=1 align=1
base size=0 base align=1
std::__num_base (0xb5aa42d0) 0 empty
-Vtable for std::numpunct<char>
-std::numpunct<char>::_ZTVSt8numpunctIcE: 9u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt8numpunctIcE)
-8 std::numpunct<_CharT>::~numpunct [with _CharT = char]
-12 std::numpunct<_CharT>::~numpunct [with _CharT = char]
-16 std::numpunct<_CharT>::do_decimal_point [with _CharT = char]
-20 std::numpunct<_CharT>::do_thousands_sep [with _CharT = char]
-24 std::numpunct<_CharT>::do_grouping [with _CharT = char]
-28 std::numpunct<_CharT>::do_truename [with _CharT = char]
-32 std::numpunct<_CharT>::do_falsename [with _CharT = char]
-Class std::numpunct<char>
- size=12 align=4
- base size=12 base align=4
-std::numpunct<char> (0xb5aac580) 0
- vptr=((& std::numpunct<char>::_ZTVSt8numpunctIcE) + 8u)
- std::locale::facet (0xb5aa4b40) 0
- primary-for std::numpunct<char> (0xb5aac580)
-
-Vtable for std::numpunct<wchar_t>
-std::numpunct<wchar_t>::_ZTVSt8numpunctIwE: 9u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt8numpunctIwE)
-8 std::numpunct<_CharT>::~numpunct [with _CharT = wchar_t]
-12 std::numpunct<_CharT>::~numpunct [with _CharT = wchar_t]
-16 std::numpunct<_CharT>::do_decimal_point [with _CharT = wchar_t]
-20 std::numpunct<_CharT>::do_thousands_sep [with _CharT = wchar_t]
-24 std::numpunct<_CharT>::do_grouping [with _CharT = wchar_t]
-28 std::numpunct<_CharT>::do_truename [with _CharT = wchar_t]
-32 std::numpunct<_CharT>::do_falsename [with _CharT = wchar_t]
-
-Class std::numpunct<wchar_t>
- size=12 align=4
- base size=12 base align=4
-std::numpunct<wchar_t> (0xb5aac640) 0
- vptr=((& std::numpunct<wchar_t>::_ZTVSt8numpunctIwE) + 8u)
- std::locale::facet (0xb5aa4c30) 0
- primary-for std::numpunct<wchar_t> (0xb5aac640)
-Class __gnu_cxx::__conditional_type<true, long unsigned int, long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__conditional_type<true, long unsigned int, long long unsigned int> (0xb5b15294) 0 empty
-Vtable for std::numpunct_byname<char>
-std::numpunct_byname<char>::_ZTVSt15numpunct_bynameIcE: 9u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt15numpunct_bynameIcE)
-8 std::numpunct_byname<_CharT>::~numpunct_byname [with _CharT = char]
-12 std::numpunct_byname<_CharT>::~numpunct_byname [with _CharT = char]
-16 std::numpunct<_CharT>::do_decimal_point [with _CharT = char]
-20 std::numpunct<_CharT>::do_thousands_sep [with _CharT = char]
-24 std::numpunct<_CharT>::do_grouping [with _CharT = char]
-28 std::numpunct<_CharT>::do_truename [with _CharT = char]
-32 std::numpunct<_CharT>::do_falsename [with _CharT = char]
-Class std::numpunct_byname<char>
- size=12 align=4
- base size=12 base align=4
-std::numpunct_byname<char> (0xb5b31b80) 0
- vptr=((& std::numpunct_byname<char>::_ZTVSt15numpunct_bynameIcE) + 8u)
- std::numpunct<char> (0xb5b31bc0) 0
- primary-for std::numpunct_byname<char> (0xb5b31b80)
- std::locale::facet (0xb5b158e8) 0
- primary-for std::numpunct<char> (0xb5b31bc0)
-
-Vtable for std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >
-std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >::_ZTVSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE: 15u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE)
-8 std::num_get<_CharT, _InIter>::~num_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-12 std::num_get<_CharT, _InIter>::~num_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-16 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-20 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-24 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-28 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-32 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-36 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-40 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-44 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-48 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-52 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-56 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-
-Class std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >
- size=8 align=4
- base size=8 base align=4
-std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > > (0xb5b31c00) 0
- vptr=((& std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >::_ZTVSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE) + 8u)
- std::locale::facet (0xb5b159d8) 0
- primary-for std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > > (0xb5b31c00)
-
-Vtable for std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >
-std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::_ZTVSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE: 12u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE)
-8 std::num_put<_CharT, _OutIter>::~num_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-12 std::num_put<_CharT, _OutIter>::~num_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-16 std::num_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-20 std::num_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-24 std::num_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-28 std::num_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-32 std::num_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-36 std::num_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-40 std::num_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-44 std::num_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-
-Class std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >
- size=8 align=4
- base size=8 base align=4
-std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > > (0xb5b31c80) 0
- vptr=((& std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::_ZTVSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE) + 8u)
- std::locale::facet (0xb5b15ac8) 0
- primary-for std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > > (0xb5b31c80)
-
-Vtable for std::numpunct_byname<wchar_t>
-std::numpunct_byname<wchar_t>::_ZTVSt15numpunct_bynameIwE: 9u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt15numpunct_bynameIwE)
-8 std::numpunct_byname<_CharT>::~numpunct_byname [with _CharT = wchar_t]
-12 std::numpunct_byname<_CharT>::~numpunct_byname [with _CharT = wchar_t]
-16 std::numpunct<_CharT>::do_decimal_point [with _CharT = wchar_t]
-20 std::numpunct<_CharT>::do_thousands_sep [with _CharT = wchar_t]
-24 std::numpunct<_CharT>::do_grouping [with _CharT = wchar_t]
-28 std::numpunct<_CharT>::do_truename [with _CharT = wchar_t]
-32 std::numpunct<_CharT>::do_falsename [with _CharT = wchar_t]
-
-Class std::numpunct_byname<wchar_t>
- size=12 align=4
- base size=12 base align=4
-std::numpunct_byname<wchar_t> (0xb5b31d00) 0
- vptr=((& std::numpunct_byname<wchar_t>::_ZTVSt15numpunct_bynameIwE) + 8u)
- std::numpunct<wchar_t> (0xb5b31d40) 0
- primary-for std::numpunct_byname<wchar_t> (0xb5b31d00)
- std::locale::facet (0xb5b15bb8) 0
- primary-for std::numpunct<wchar_t> (0xb5b31d40)
-
-Vtable for std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >
-std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::_ZTVSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE: 15u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE)
-8 std::num_get<_CharT, _InIter>::~num_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-12 std::num_get<_CharT, _InIter>::~num_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-16 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-20 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-24 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-28 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-32 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-36 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-40 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-44 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-48 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-52 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-56 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-
-Class std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >
- size=8 align=4
- base size=8 base align=4
-std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > > (0xb5b31dc0) 0
- vptr=((& std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::_ZTVSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE) + 8u)
- std::locale::facet (0xb5b15ca8) 0
- primary-for std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > > (0xb5b31dc0)
-
-Vtable for std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >
-std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::_ZTVSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE: 12u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE)
-8 std::num_put<_CharT, _OutIter>::~num_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-12 std::num_put<_CharT, _OutIter>::~num_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-16 std::num_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-20 std::num_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-24 std::num_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-28 std::num_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-32 std::num_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-36 std::num_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-40 std::num_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-44 std::num_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-
-Class std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >
- size=8 align=4
- base size=8 base align=4
-std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > > (0xb5b31e40) 0
- vptr=((& std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::_ZTVSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE) + 8u)
- std::locale::facet (0xb5b15d98) 0
- primary-for std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > > (0xb5b31e40)
-
-Vtable for std::basic_ios<char, std::char_traits<char> >
-std::basic_ios<char, std::char_traits<char> >::_ZTVSt9basic_iosIcSt11char_traitsIcEE: 4u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt9basic_iosIcSt11char_traitsIcEE)
-8 std::basic_ios<_CharT, _Traits>::~basic_ios [with _CharT = char, _Traits = std::char_traits<char>]
-12 std::basic_ios<_CharT, _Traits>::~basic_ios [with _CharT = char, _Traits = std::char_traits<char>]
-
-Class std::basic_ios<char, std::char_traits<char> >
- size=136 align=4
- base size=136 base align=4
-std::basic_ios<char, std::char_traits<char> > (0xb5b7be80) 0
- vptr=((& std::basic_ios<char, std::char_traits<char> >::_ZTVSt9basic_iosIcSt11char_traitsIcEE) + 8u)
- std::ios_base (0xb5b853fc) 0
- primary-for std::basic_ios<char, std::char_traits<char> > (0xb5b7be80)
-
-Vtable for std::basic_ios<wchar_t, std::char_traits<wchar_t> >
-std::basic_ios<wchar_t, std::char_traits<wchar_t> >::_ZTVSt9basic_iosIwSt11char_traitsIwEE: 4u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt9basic_iosIwSt11char_traitsIwEE)
-8 std::basic_ios<_CharT, _Traits>::~basic_ios [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-12 std::basic_ios<_CharT, _Traits>::~basic_ios [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-
-Class std::basic_ios<wchar_t, std::char_traits<wchar_t> >
- size=140 align=4
- base size=140 base align=4
-std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb5b7bec0) 0
- vptr=((& std::basic_ios<wchar_t, std::char_traits<wchar_t> >::_ZTVSt9basic_iosIwSt11char_traitsIwEE) + 8u)
- std::ios_base (0xb5b854ec) 0
- primary-for std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb5b7bec0)
-
-Vtable for std::basic_ostream<char, std::char_traits<char> >
-std::basic_ostream<char, std::char_traits<char> >::_ZTVSo: 10u entries
-0 4u
-4 (int (*)(...))0
-8 (int (*)(...))(& _ZTISo)
-12 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = char, _Traits = std::char_traits<char>]
-16 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = char, _Traits = std::char_traits<char>]
-20 -4u
-24 (int (*)(...))-0x000000004
-28 (int (*)(...))(& _ZTISo)
-32 std::basic_ostream<char, std::char_traits<char> >::_ZTv0_n12_NSoD1Ev
-36 std::basic_ostream<char, std::char_traits<char> >::_ZTv0_n12_NSoD0Ev
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
VTT for std::basic_ostream<char, std::char_traits<char> >
std::basic_ostream<char, std::char_traits<char> >::_ZTTSo: 2u entries
0 ((& std::basic_ostream<char, std::char_traits<char> >::_ZTVSo) + 12u)
4 ((& std::basic_ostream<char, std::char_traits<char> >::_ZTVSo) + 32u)
-Class std::basic_ostream<char, std::char_traits<char> >
- size=140 align=4
- base size=4 base align=4
-std::basic_ostream<char, std::char_traits<char> > (0xb59cbb40) 0 nearly-empty
- vptridx=0u vptr=((& std::basic_ostream<char, std::char_traits<char> >::_ZTVSo) + 12u)
- std::basic_ios<char, std::char_traits<char> > (0xb59cbb80) 4 virtual
- vptridx=4u vbaseoffset=-0x00000000c vptr=((& std::basic_ostream<char, std::char_traits<char> >::_ZTVSo) + 32u)
- std::ios_base (0xb59cf168) 4
- primary-for std::basic_ios<char, std::char_traits<char> > (0xb59cbb80)
-
-Class std::basic_ostream<char, std::char_traits<char> >::sentry
- size=8 align=4
- base size=8 base align=4
-std::basic_ostream<char, std::char_traits<char> >::sentry (0xb59cf348) 0
-Vtable for std::basic_ostream<wchar_t, std::char_traits<wchar_t> >
-std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE: 10u entries
-0 4u
-4 (int (*)(...))0
-8 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE)
-12 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-16 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-20 -4u
-24 (int (*)(...))-0x000000004
-28 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE)
-32 std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n12_NSt13basic_ostreamIwSt11char_traitsIwEED1Ev
-36 std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n12_NSt13basic_ostreamIwSt11char_traitsIwEED0Ev
+
VTT for std::basic_ostream<wchar_t, std::char_traits<wchar_t> >
std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTTSt13basic_ostreamIwSt11char_traitsIwEE: 2u entries
0 ((& std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 12u)
4 ((& std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 32u)
-Class std::basic_ostream<wchar_t, std::char_traits<wchar_t> >
- size=144 align=4
- base size=4 base align=4
-std::basic_ostream<wchar_t, std::char_traits<wchar_t> > (0xb59cbcc0) 0 nearly-empty
- vptridx=0u vptr=((& std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 12u)
- std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb59cbd00) 4 virtual
- vptridx=4u vbaseoffset=-0x00000000c vptr=((& std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 32u)
- std::ios_base (0xb59cf384) 4
- primary-for std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb59cbd00)
-
-Class std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::sentry
- size=8 align=4
- base size=8 base align=4
-std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::sentry (0xb59cf528) 0
-Vtable for std::basic_istream<char, std::char_traits<char> >
-std::basic_istream<char, std::char_traits<char> >::_ZTVSi: 10u entries
-0 8u
-4 (int (*)(...))0
-8 (int (*)(...))(& _ZTISi)
-12 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = char, _Traits = std::char_traits<char>]
-16 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = char, _Traits = std::char_traits<char>]
-20 -8u
-24 (int (*)(...))-0x000000008
-28 (int (*)(...))(& _ZTISi)
-32 std::basic_istream<char, std::char_traits<char> >::_ZTv0_n12_NSiD1Ev
-36 std::basic_istream<char, std::char_traits<char> >::_ZTv0_n12_NSiD0Ev
+
VTT for std::basic_istream<char, std::char_traits<char> >
std::basic_istream<char, std::char_traits<char> >::_ZTTSi: 2u entries
0 ((& std::basic_istream<char, std::char_traits<char> >::_ZTVSi) + 12u)
4 ((& std::basic_istream<char, std::char_traits<char> >::_ZTVSi) + 32u)
-Class std::basic_istream<char, std::char_traits<char> >
- size=144 align=4
- base size=8 base align=4
-std::basic_istream<char, std::char_traits<char> > (0xb5a0d580) 0
- vptridx=0u vptr=((& std::basic_istream<char, std::char_traits<char> >::_ZTVSi) + 12u)
- std::basic_ios<char, std::char_traits<char> > (0xb5a0d5c0) 8 virtual
- vptridx=4u vbaseoffset=-0x00000000c vptr=((& std::basic_istream<char, std::char_traits<char> >::_ZTVSi) + 32u)
- std::ios_base (0xb59cfa8c) 8
- primary-for std::basic_ios<char, std::char_traits<char> > (0xb5a0d5c0)
-
-Vtable for std::basic_istream<wchar_t, std::char_traits<wchar_t> >
-std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_istreamIwSt11char_traitsIwEE: 10u entries
-0 8u
-4 (int (*)(...))0
-8 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE)
-12 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-16 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-20 -8u
-24 (int (*)(...))-0x000000008
-28 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE)
-32 std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n12_NSt13basic_istreamIwSt11char_traitsIwEED1Ev
-36 std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n12_NSt13basic_istreamIwSt11char_traitsIwEED0Ev
+
VTT for std::basic_istream<wchar_t, std::char_traits<wchar_t> >
std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTTSt13basic_istreamIwSt11char_traitsIwEE: 2u entries
0 ((& std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 12u)
4 ((& std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 32u)
-Class std::basic_istream<wchar_t, std::char_traits<wchar_t> >
- size=148 align=4
- base size=8 base align=4
-std::basic_istream<wchar_t, std::char_traits<wchar_t> > (0xb5a0d680) 0
- vptridx=0u vptr=((& std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 12u)
- std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb5a0d6c0) 8 virtual
- vptridx=4u vbaseoffset=-0x00000000c vptr=((& std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 32u)
- std::ios_base (0xb59cfe10) 8
- primary-for std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb5a0d6c0)
-
-Class __gnu_cxx::__conditional_type<true, __gnu_cxx::__numeric_traits_integer<short int>, __gnu_cxx::__numeric_traits_floating<short int> >
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__conditional_type<true, __gnu_cxx::__numeric_traits_integer<short int>, __gnu_cxx::__numeric_traits_floating<short int> > (0xb5a2d438) 0 empty
-Class __gnu_cxx::__numeric_traits_integer<short int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__numeric_traits_integer<short int> (0xb5a2d474) 0 empty
-Class __gnu_cxx::__numeric_traits<short int>
- size=1 align=1
- base size=1 base align=1
-__gnu_cxx::__numeric_traits<short int> (0xb5a39580) 0 empty
- __gnu_cxx::__numeric_traits_integer<short int> (0xb5a2d4b0) 0 empty
-Class std::basic_istream<char, std::char_traits<char> >::sentry
- size=1 align=1
- base size=1 base align=1
-std::basic_istream<char, std::char_traits<char> >::sentry (0xb5a2da8c) 0
-Vtable for std::basic_iostream<char, std::char_traits<char> >
-std::basic_iostream<char, std::char_traits<char> >::_ZTVSd: 15u entries
-0 12u
-4 (int (*)(...))0
-8 (int (*)(...))(& _ZTISd)
-12 std::basic_iostream<_CharT, _Traits>::~basic_iostream [with _CharT = char, _Traits = std::char_traits<char>]
-16 std::basic_iostream<_CharT, _Traits>::~basic_iostream [with _CharT = char, _Traits = std::char_traits<char>]
-20 4u
-24 (int (*)(...))-0x000000008
-28 (int (*)(...))(& _ZTISd)
-32 std::basic_iostream<char, std::char_traits<char> >::_ZThn8_NSdD1Ev
-36 std::basic_iostream<char, std::char_traits<char> >::_ZThn8_NSdD0Ev
-40 -12u
-44 (int (*)(...))-0x00000000c
-48 (int (*)(...))(& _ZTISd)
-52 std::basic_iostream<char, std::char_traits<char> >::_ZTv0_n12_NSdD1Ev
-56 std::basic_iostream<char, std::char_traits<char> >::_ZTv0_n12_NSdD0Ev
+
Construction vtable for std::basic_istream<char, std::char_traits<char> > (0xb5a73480 instance) in std::basic_iostream<char, std::char_traits<char> >
std::basic_iostream<char, std::char_traits<char> >::_ZTCSd0_Si: 10u entries
@@ -2486,44 +1210,8 @@ std::basic_iostream<char, std::char_traits<char> >::_ZTTSd: 7u entries
20 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 52u)
24 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 32u)
-Class std::basic_iostream<char, std::char_traits<char> >
- size=148 align=4
- base size=12 base align=4
-std::basic_iostream<char, std::char_traits<char> > (0xb5a83050) 0
- vptridx=0u vptr=((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 12u)
- std::basic_istream<char, std::char_traits<char> > (0xb5a73480) 0
- primary-for std::basic_iostream<char, std::char_traits<char> > (0xb5a83050)
- subvttidx=4u
- std::basic_ios<char, std::char_traits<char> > (0xb5a734c0) 12 virtual
- vptridx=20u vbaseoffset=-0x00000000c vptr=((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 52u)
- std::ios_base (0xb5a2dac8) 12
- primary-for std::basic_ios<char, std::char_traits<char> > (0xb5a734c0)
- std::basic_ostream<char, std::char_traits<char> > (0xb5a73500) 8 nearly-empty
- subvttidx=12u vptridx=24u vptr=((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 32u)
- std::basic_ios<char, std::char_traits<char> > (0xb5a734c0) alternative-path
-
-Class std::basic_istream<wchar_t, std::char_traits<wchar_t> >::sentry
- size=1 align=1
- base size=1 base align=1
-std::basic_istream<wchar_t, std::char_traits<wchar_t> >::sentry (0xb5a2dd5c) 0
-Vtable for std::basic_iostream<wchar_t, std::char_traits<wchar_t> >
-std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE: 15u entries
-0 12u
-4 (int (*)(...))0
-8 (int (*)(...))(& _ZTISt14basic_iostreamIwSt11char_traitsIwEE)
-12 std::basic_iostream<_CharT, _Traits>::~basic_iostream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-16 std::basic_iostream<_CharT, _Traits>::~basic_iostream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-20 4u
-24 (int (*)(...))-0x000000008
-28 (int (*)(...))(& _ZTISt14basic_iostreamIwSt11char_traitsIwEE)
-32 std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZThn8_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev
-36 std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZThn8_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev
-40 -12u
-44 (int (*)(...))-0x00000000c
-48 (int (*)(...))(& _ZTISt14basic_iostreamIwSt11char_traitsIwEE)
-52 std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n12_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev
-56 std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n12_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev
+
Construction vtable for std::basic_istream<wchar_t, std::char_traits<wchar_t> > (0xb5a73800 instance) in std::basic_iostream<wchar_t, std::char_traits<wchar_t> >
std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E: 10u entries
@@ -2561,110 +1249,21 @@ std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTTSt14basic_iostream
20 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 52u)
24 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 32u)
-Class std::basic_iostream<wchar_t, std::char_traits<wchar_t> >
- size=152 align=4
- base size=12 base align=4
-std::basic_iostream<wchar_t, std::char_traits<wchar_t> > (0xb588d0f0) 0
- vptridx=0u vptr=((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 12u)
- std::basic_istream<wchar_t, std::char_traits<wchar_t> > (0xb5a73800) 0
- primary-for std::basic_iostream<wchar_t, std::char_traits<wchar_t> > (0xb588d0f0)
- subvttidx=4u
- std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb5a73840) 12 virtual
- vptridx=20u vbaseoffset=-0x00000000c vptr=((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 52u)
- std::ios_base (0xb5a2dd98) 12
- primary-for std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb5a73840)
- std::basic_ostream<wchar_t, std::char_traits<wchar_t> > (0xb5a73880) 8 nearly-empty
- subvttidx=12u vptridx=24u vptr=((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 32u)
- std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb5a73840) alternative-path
-
-Class QVector<double>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<double>::<anonymous union> (0xb5897564) 0
-Class QVector<double>
- size=4 align=4
- base size=4 base align=4
-QVector<double> (0xb58974ec) 0
-Class QtConcurrent::Median<double>
- size=24 align=4
- base size=22 base align=4
-QtConcurrent::Median<double> (0xb5897474) 0
+
Class QtConcurrent::BlockSizeManager
size=72 align=4
base size=72 base align=4
QtConcurrent::BlockSizeManager (0xb58973c0) 0
-Class QtConcurrent::ResultReporter<void>
- size=1 align=1
- base size=0 base align=1
-QtConcurrent::ResultReporter<void> (0xb5897924) 0 empty
-Class QFlags<QtConcurrent::ReduceOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QtConcurrent::ReduceOption> (0xb58cf0f0) 0
-Class QtConcurrent::SelectSpecialization<void>
- size=1 align=1
- base size=0 base align=1
-QtConcurrent::SelectSpecialization<void> (0xb57b35a0) 0 empty
-Vtable for QtConcurrent::RunFunctionTaskBase<void>
-QtConcurrent::RunFunctionTaskBase<void>::_ZTVN12QtConcurrent19RunFunctionTaskBaseIvEE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTIN12QtConcurrent19RunFunctionTaskBaseIvEE)
-8 QtConcurrent::RunFunctionTaskBase<void>::~RunFunctionTaskBase
-12 QtConcurrent::RunFunctionTaskBase<void>::~RunFunctionTaskBase
-16 QtConcurrent::RunFunctionTaskBase<T>::run [with T = void]
-20 __cxa_pure_virtual
-24 (int (*)(...))-0x000000008
-28 (int (*)(...))(& _ZTIN12QtConcurrent19RunFunctionTaskBaseIvEE)
-32 QtConcurrent::RunFunctionTaskBase<void>::_ZThn8_N12QtConcurrent19RunFunctionTaskBaseIvE3runEv
-36 QtConcurrent::RunFunctionTaskBase<void>::_ZThn8_N12QtConcurrent19RunFunctionTaskBaseIvED1Ev
-40 QtConcurrent::RunFunctionTaskBase<void>::_ZThn8_N12QtConcurrent19RunFunctionTaskBaseIvED0Ev
-Class QtConcurrent::RunFunctionTaskBase<void>
- size=16 align=4
- base size=16 base align=4
-QtConcurrent::RunFunctionTaskBase<void> (0xb57bd870) 0
- vptr=((& QtConcurrent::RunFunctionTaskBase<void>::_ZTVN12QtConcurrent19RunFunctionTaskBaseIvEE) + 8u)
- QFutureInterface<void> (0xb57aeb00) 0
- primary-for QtConcurrent::RunFunctionTaskBase<void> (0xb57bd870)
- QFutureInterfaceBase (0xb57b3780) 0
- primary-for QFutureInterface<void> (0xb57aeb00)
- QRunnable (0xb57b37bc) 8
- vptr=((& QtConcurrent::RunFunctionTaskBase<void>::_ZTVN12QtConcurrent19RunFunctionTaskBaseIvEE) + 32u)
-
-Vtable for QtConcurrent::RunFunctionTask<void>
-QtConcurrent::RunFunctionTask<void>::_ZTVN12QtConcurrent15RunFunctionTaskIvEE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTIN12QtConcurrent15RunFunctionTaskIvEE)
-8 QtConcurrent::RunFunctionTask<void>::~RunFunctionTask
-12 QtConcurrent::RunFunctionTask<void>::~RunFunctionTask
-16 QtConcurrent::RunFunctionTask<void>::run
-20 __cxa_pure_virtual
-24 (int (*)(...))-0x000000008
-28 (int (*)(...))(& _ZTIN12QtConcurrent15RunFunctionTaskIvEE)
-32 QtConcurrent::RunFunctionTask<void>::_ZThn8_N12QtConcurrent15RunFunctionTaskIvE3runEv
-36 QtConcurrent::RunFunctionTask<void>::_ZThn8_N12QtConcurrent15RunFunctionTaskIvED1Ev
-40 QtConcurrent::RunFunctionTask<void>::_ZThn8_N12QtConcurrent15RunFunctionTaskIvED0Ev
-Class QtConcurrent::RunFunctionTask<void>
- size=16 align=4
- base size=16 base align=4
-QtConcurrent::RunFunctionTask<void> (0xb57aeb80) 0
- vptr=((& QtConcurrent::RunFunctionTask<void>::_ZTVN12QtConcurrent15RunFunctionTaskIvEE) + 8u)
- QtConcurrent::RunFunctionTaskBase<void> (0xb57bdc80) 0
- primary-for QtConcurrent::RunFunctionTask<void> (0xb57aeb80)
- QFutureInterface<void> (0xb57aebc0) 0
- primary-for QtConcurrent::RunFunctionTaskBase<void> (0xb57bdc80)
- QFutureInterfaceBase (0xb57b3960) 0
- primary-for QFutureInterface<void> (0xb57aebc0)
- QRunnable (0xb57b399c) 8
- vptr=((& QtConcurrent::RunFunctionTask<void>::_ZTVN12QtConcurrent15RunFunctionTaskIvEE) + 32u)
+
Class QLibraryInfo
size=1 align=1
@@ -2715,50 +1314,22 @@ QFile (0xb570ff00) 0
QObject (0xb5715ce4) 0
primary-for QIODevice (0xb570ff40)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0xb574d654) 0
Class QFileInfo
size=4 align=4
base size=4 base align=4
QFileInfo (0xb575d21c) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0xb576d8ac) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0xb576dbb8) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0xb577f924) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0xb577f8ac) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0xb577fa14) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0xb55a0f78) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0xb55b503c) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -2833,10 +1404,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0xb55dd348) 0
vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0xb55ec438) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -2926,10 +1493,6 @@ Class QDirIterator
QDirIterator (0xb56135dc) 0
vptr=((& QDirIterator::_ZTV12QDirIterator) + 8u)
-Class QFlags<QDirIterator::IteratorFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDirIterator::IteratorFlag> (0xb5613dd4) 0
Vtable for QFileSystemWatcher
QFileSystemWatcher::_ZTV18QFileSystemWatcher: 14u entries
@@ -3067,25 +1630,13 @@ Class QLocale::Data
base size=4 base align=2
QLocale::Data (0xb5670d98) 0
-Class QLocale::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QLocale::<anonymous union> (0xb5670e10) 0
Class QLocale
size=4 align=4
base size=4 base align=4
QLocale (0xb5653bb8) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0xb567f618) 0 empty
-Class QFlags<QLocale::NumberOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLocale::NumberOption> (0xb567f780) 0
Class QResource
size=4 align=4
@@ -3097,275 +1648,59 @@ Class QMetaType
base size=0 base align=1
QMetaType (0xb54a3078) 0 empty
-Class QMetaTypeId2<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QString> (0xb54a34b0) 0 empty
-Class QMetaTypeId2<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<int> (0xb54a3690) 0 empty
-Class QMetaTypeId2<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned int> (0xb54a3870) 0 empty
-Class QMetaTypeId2<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<bool> (0xb54a3a50) 0 empty
-Class QMetaTypeId2<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<double> (0xb54a3c30) 0 empty
-Class QMetaTypeId2<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QByteArray> (0xb54a3e10) 0 empty
-Class QMetaTypeId2<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QChar> (0xb54ba000) 0 empty
-Class QMetaTypeId2<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long int> (0xb54ba1e0) 0 empty
-Class QMetaTypeId2<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short int> (0xb54ba3c0) 0 empty
-Class QMetaTypeId2<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<char> (0xb54ba5a0) 0 empty
-Class QMetaTypeId2<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long unsigned int> (0xb54ba780) 0 empty
-Class QMetaTypeId2<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short unsigned int> (0xb54ba960) 0 empty
-Class QMetaTypeId2<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned char> (0xb54bab40) 0 empty
-Class QMetaTypeId2<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<float> (0xb54bad20) 0 empty
-Class QMetaTypeId2<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QObject*> (0xb54baf00) 0 empty
-Class QMetaTypeId2<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QWidget*> (0xb54c10f0) 0 empty
-Class QMetaTypeId2<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<void*> (0xb54c12d0) 0 empty
-Class QMetaTypeId2<long long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long int> (0xb54c14b0) 0 empty
-Class QMetaTypeId2<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long unsigned int> (0xb54c1690) 0 empty
-Class QMetaTypeId2<QStringList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QStringList> (0xb54c1870) 0 empty
-Class QMetaTypeId2<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitArray> (0xb54c1a50) 0 empty
-Class QMetaTypeId2<QDate>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDate> (0xb54c1c30) 0 empty
-Class QMetaTypeId2<QTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTime> (0xb54c1e10) 0 empty
-Class QMetaTypeId2<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDateTime> (0xb54c8000) 0 empty
-Class QMetaTypeId2<QUrl>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QUrl> (0xb54c81e0) 0 empty
-Class QMetaTypeId2<QLocale>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLocale> (0xb54c83c0) 0 empty
-Class QMetaTypeId2<QRect>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRect> (0xb54c85a0) 0 empty
-Class QMetaTypeId2<QRectF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRectF> (0xb54c8780) 0 empty
-Class QMetaTypeId2<QSize>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSize> (0xb54c8960) 0 empty
-Class QMetaTypeId2<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizeF> (0xb54c8b40) 0 empty
-Class QMetaTypeId2<QLine>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLine> (0xb54c8d20) 0 empty
-Class QMetaTypeId2<QLineF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLineF> (0xb54c8f00) 0 empty
-Class QMetaTypeId2<QPoint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPoint> (0xb54d30f0) 0 empty
-Class QMetaTypeId2<QPointF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPointF> (0xb54d32d0) 0 empty
-Class QMetaTypeId2<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegExp> (0xb54d34b0) 0 empty
-Class QMetaTypeId2<QColorGroup>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColorGroup> (0xb54d3690) 0 empty
-Class QMetaTypeId2<QFont>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QFont> (0xb54d3870) 0 empty
-Class QMetaTypeId2<QPixmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPixmap> (0xb54d3a50) 0 empty
-Class QMetaTypeId2<QBrush>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBrush> (0xb54d3c30) 0 empty
-Class QMetaTypeId2<QColor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColor> (0xb54d3e10) 0 empty
-Class QMetaTypeId2<QPalette>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPalette> (0xb54d7000) 0 empty
-Class QMetaTypeId2<QIcon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QIcon> (0xb54d71e0) 0 empty
-Class QMetaTypeId2<QImage>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QImage> (0xb54d73c0) 0 empty
-Class QMetaTypeId2<QPolygon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPolygon> (0xb54d75a0) 0 empty
-Class QMetaTypeId2<QRegion>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegion> (0xb54d7780) 0 empty
-Class QMetaTypeId2<QBitmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitmap> (0xb54d7960) 0 empty
-Class QMetaTypeId2<QCursor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QCursor> (0xb54d7b40) 0 empty
-Class QMetaTypeId2<QSizePolicy>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizePolicy> (0xb54d7d20) 0 empty
-Class QMetaTypeId2<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QKeySequence> (0xb54d7f00) 0 empty
-Class QMetaTypeId2<QPen>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPen> (0xb54e00f0) 0 empty
-Class QMetaTypeId2<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextLength> (0xb54e02d0) 0 empty
-Class QMetaTypeId2<QTextFormat>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextFormat> (0xb54e04b0) 0 empty
-Class QMetaTypeId2<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMatrix> (0xb54e0690) 0 empty
-Class QMetaTypeId2<QTransform>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTransform> (0xb54e0870) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -3392,45 +1727,17 @@ Class QVariant
base size=12 base align=4
QVariant (0xb54e0a50) 0
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0xb551d4ec) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0xb551d474) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0xb551d5dc) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0xb551d564) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0xb5550960) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0xb5550f78) 0 empty
-Class QMetaTypeId2<QList<QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QList<QVariant> > (0xb5564168) 0 empty
-Class QMetaTypeId2<QMap<QString, QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMap<QString, QVariant> > (0xb5564348) 0 empty
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -3508,15 +1815,7 @@ Class QUrl
base size=4 base align=4
QUrl (0xb53ac3c0) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0xb53b930c) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0xb53d1d98) 0 empty
Vtable for QEventLoop
QEventLoop::_ZTV10QEventLoop: 14u entries
@@ -3543,10 +1842,6 @@ QEventLoop (0xb53a0bc0) 0
QObject (0xb53e4bf4) 0
primary-for QEventLoop (0xb53a0bc0)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0xb53f421c) 0
Vtable for QAbstractEventDispatcher
QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 27u entries
@@ -3591,20 +1886,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0xb5419474) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0xb542a870) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0xb542a960) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0xb54330b4) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -3774,10 +2061,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0xb548321c) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0xb548399c) 0 empty
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -3889,20 +2172,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0xb52c15dc) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0xb52c1a8c) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0xb52c1b7c) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0xb52c1fb4) 0 empty
Class QMetaProperty
size=20 align=4
@@ -3914,10 +2189,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0xb52fa3c0) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0xb52fa708) 0 empty
Vtable for QMimeData
QMimeData::_ZTV9QMimeData: 17u entries
@@ -4129,10 +2400,6 @@ QLibrary (0xb53448c0) 0
QObject (0xb536803c) 0
primary-for QLibrary (0xb53448c0)
-Class QFlags<QLibrary::LoadHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLibrary::LoadHint> (0xb5368fb4) 0
Vtable for QPluginLoader
QPluginLoader::_ZTV13QPluginLoader: 14u entries
@@ -4169,20 +2436,12 @@ Class QReadWriteLock
base size=4 base align=4
QReadWriteLock (0xb519b564) 0
-Class QReadLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QReadLocker::<anonymous union> (0xb519bbf4) 0
Class QReadLocker
size=4 align=4
base size=4 base align=4
QReadLocker (0xb519b8e8) 0
-Class QWriteLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QWriteLocker::<anonymous union> (0xb51b30f0) 0
Class QWriteLocker
size=4 align=4
@@ -4209,10 +2468,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0xb51f26cc) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0xb51fc3c0) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -4229,70 +2484,42 @@ Class QDate
base size=4 base align=4
QDate (0xb52223c0) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0xb5231d5c) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0xb5231e4c) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0xb52443c0) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0xb52444b0) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0xb524ebb8) 0 empty
Class QPoint
size=8 align=4
base size=8 base align=4
QPoint (0xb524ed98) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0xb5264c6c) 0 empty
Class QPointF
size=16 align=4
base size=16 base align=4
QPointF (0xb5270d98) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0xb5060d20) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0xb5071d5c) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0xb508312c) 0 empty
Class QLineF
size=32 align=4
base size=32 base align=4
QLineF (0xb509e294) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0xb509eca8) 0 empty
Class QLinkedListData
size=20 align=4
@@ -4304,40 +2531,24 @@ Class QSize
base size=8 base align=4
QSize (0xb511abf4) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0xb5140ce4) 0 empty
Class QSizeF
size=16 align=4
base size=16 base align=4
QSizeF (0xb515c870) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0xb4f6799c) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0xb4f856cc) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0xb4f9e5a0) 0 empty
Class QRectF
size=32 align=4
base size=32 base align=4
QRectF (0xb4fe51a4) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0xb4ffe6cc) 0 empty
Class QSharedData
size=4 align=4
@@ -4385,20 +2596,8 @@ Class QXmlStreamAttribute
base size=53 base align=4
QXmlStreamAttribute (0xb4e96e88) 0
-Class QTypeInfo<QXmlStreamAttribute>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QXmlStreamAttribute> (0xb4eb03fc) 0 empty
-Class QVector<QXmlStreamAttribute>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QXmlStreamAttribute>::<anonymous union> (0xb4eb0564) 0
-Class QVector<QXmlStreamAttribute>
- size=4 align=4
- base size=4 base align=4
-QVector<QXmlStreamAttribute> (0xb4eb04ec) 0
Class QXmlStreamAttributes
size=4 align=4
@@ -4411,30 +2610,18 @@ Class QXmlStreamNamespaceDeclaration
base size=28 base align=4
QXmlStreamNamespaceDeclaration (0xb4eb05dc) 0
-Class QTypeInfo<QXmlStreamNamespaceDeclaration>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QXmlStreamNamespaceDeclaration> (0xb4ed6000) 0 empty
Class QXmlStreamNotationDeclaration
size=40 align=4
base size=40 base align=4
QXmlStreamNotationDeclaration (0xb4ed612c) 0
-Class QTypeInfo<QXmlStreamNotationDeclaration>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QXmlStreamNotationDeclaration> (0xb4ed6ce4) 0 empty
Class QXmlStreamEntityDeclaration
size=64 align=4
base size=64 base align=4
QXmlStreamEntityDeclaration (0xb4ed6e10) 0
-Class QTypeInfo<QXmlStreamEntityDeclaration>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QXmlStreamEntityDeclaration> (0xb4ee7d98) 0 empty
Vtable for QXmlStreamEntityResolver
QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver: 6u entries
@@ -4461,25 +2648,9 @@ Class QXmlStreamWriter
base size=4 base align=4
QXmlStreamWriter (0xb4f17654) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0xb4f3d5a0) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0xb4f3d618) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0xb4f3d690) 0
-Class QColor::<anonymous union>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union> (0xb4f3d528) 0
Class QColor
size=16 align=4
@@ -4501,10 +2672,6 @@ Class QKeySequence
base size=4 base align=4
QKeySequence (0xb4d723fc) 0
-Class QTypeInfo<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QKeySequence> (0xb4d7c6cc) 0 empty
Vtable for QMimeSource
QMimeSource::_ZTV11QMimeSource: 7u entries
@@ -4802,15 +2969,7 @@ Class QInputMethodEvent::Attribute
base size=24 base align=4
QInputMethodEvent::Attribute (0xb4e09690) 0
-Class QList<QInputMethodEvent::Attribute>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute>::<anonymous union> (0xb4e09f78) 0
-Class QList<QInputMethodEvent::Attribute>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute> (0xb4e09f00) 0
Vtable for QInputMethodEvent
QInputMethodEvent::_ZTV17QInputMethodEvent: 4u entries
@@ -5099,20 +3258,8 @@ Class QAccessible
base size=0 base align=1
QAccessible (0xb4c60780) 0 empty
-Class QFlags<QAccessible::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::StateFlag> (0xb4c6e870) 0
-Class QFlags<QAccessible::RelationFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::RelationFlag> (0xb4c824b0) 0
-Class QMetaTypeId<QSet<QAccessible::Method> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QSet<QAccessible::Method> > (0xb4c93078) 0 empty
Vtable for QAccessibleInterface
QAccessibleInterface::_ZTV20QAccessibleInterface: 19u entries
@@ -5143,20 +3290,8 @@ QAccessibleInterface (0xb4e589c0) 0 nearly-empty
vptr=((& QAccessibleInterface::_ZTV20QAccessibleInterface) + 8u)
QAccessible (0xb4c93474) 0 empty
-Class QHash<QAccessible::Method, QHashDummyValue>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QHash<QAccessible::Method, QHashDummyValue>::<anonymous union> (0xb4c93fb4) 0
-Class QHash<QAccessible::Method, QHashDummyValue>
- size=4 align=4
- base size=4 base align=4
-QHash<QAccessible::Method, QHashDummyValue> (0xb4c93f3c) 0
-Class QSet<QAccessible::Method>
- size=4 align=4
- base size=4 base align=4
-QSet<QAccessible::Method> (0xb4c93ec4) 0
Vtable for QAccessibleInterfaceEx
QAccessibleInterfaceEx::_ZTV22QAccessibleInterfaceEx: 22u entries
@@ -5669,15 +3804,7 @@ Class QPaintDevice
QPaintDevice (0xb4d2e690) 0
vptr=((& QPaintDevice::_ZTV12QPaintDevice) + 8u)
-Class QVector<QPoint>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint>::<anonymous union> (0xb4d40bb8) 0
-Class QVector<QPoint>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint> (0xb4d40b40) 0
Class QPolygon
size=4 align=4
@@ -5685,15 +3812,7 @@ Class QPolygon
QPolygon (0xb4d04d80) 0
QVector<QPoint> (0xb4d40bf4) 0
-Class QVector<QPointF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF>::<anonymous union> (0xb4d5cca8) 0
-Class QVector<QPointF>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF> (0xb4d5cc30) 0
Class QPolygonF
size=4 align=4
@@ -5706,10 +3825,6 @@ Class QMatrix
base size=48 base align=4
QMatrix (0xb4b7dbf4) 0
-Class QTypeInfo<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMatrix> (0xb4b98258) 0 empty
Class QPainterPath::Element
size=20 align=4
@@ -5721,25 +3836,13 @@ Class QPainterPath
base size=4 base align=4
QPainterPath (0xb4b98a14) 0
-Class QVector<QPainterPath::Element>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element>::<anonymous union> (0xb4bc2ac8) 0
-Class QVector<QPainterPath::Element>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element> (0xb4bc2a50) 0
Class QPainterPathPrivate
size=8 align=4
base size=8 base align=4
QPainterPathPrivate (0xb4bc26cc) 0
-Class QTypeInfo<QPainterPath::Element>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPainterPath::Element> (0xb4bc2b04) 0 empty
Class QPainterPathStroker
size=4 align=4
@@ -5751,10 +3854,6 @@ Class QTransform
base size=80 base align=4
QTransform (0xb4bf9384) 0
-Class QTypeInfo<QTransform>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTransform> (0xb4c09474) 0 empty
Class QImageTextKeyLang
size=8 align=4
@@ -5779,10 +3878,6 @@ QImage (0xb4c24900) 0
QPaintDevice (0xb4c41c6c) 0
primary-for QImage (0xb4c24900)
-Class QTypeInfo<QImage>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QImage> (0xb4aa5168) 0 empty
Vtable for QPixmap
QPixmap::_ZTV7QPixmap: 7u entries
@@ -5807,45 +3902,17 @@ Class QBrush
base size=4 base align=4
QBrush (0xb4accb7c) 0
-Class QTypeInfo<QBrush>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBrush> (0xb4ad8690) 0 empty
Class QBrushData
size=124 align=4
base size=121 base align=4
QBrushData (0xb4ad8924) 0
-Class QVector<QPair<double, QColor> >::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPair<double, QColor> >::<anonymous union> (0xb4af15a0) 0
-Class QVector<QPair<double, QColor> >
- size=4 align=4
- base size=4 base align=4
-QVector<QPair<double, QColor> > (0xb4af1528) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=32 align=4
- base size=32 base align=4
-QGradient::<anonymous union>::<anonymous struct> (0xb4af1690) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=40 align=4
- base size=40 base align=4
-QGradient::<anonymous union>::<anonymous struct> (0xb4af1708) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=24 align=4
- base size=24 base align=4
-QGradient::<anonymous union>::<anonymous struct> (0xb4af1780) 0
-Class QGradient::<anonymous union>
- size=40 align=4
- base size=40 base align=4
-QGradient::<anonymous union> (0xb4af1618) 0
Class QGradient
size=56 align=4
@@ -5906,10 +3973,6 @@ Class QSizePolicy
base size=4 base align=4
QSizePolicy (0xb498f438) 0
-Class QFlags<QSizePolicy::ControlType>
- size=4 align=4
- base size=4 base align=4
-QFlags<QSizePolicy::ControlType> (0xb49db4b0) 0
Class QCursor
size=4 align=4
@@ -5997,10 +4060,6 @@ QWidget (0xb49f8b90) 0
QPaintDevice (0xb49e9d20) 8
vptr=((& QWidget::_ZTV7QWidget) + 232u)
-Class QFlags<QWidget::RenderFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QWidget::RenderFlag> (0xb4a2fe10) 0
Vtable for QDialog
QDialog::_ZTV7QDialog: 66u entries
@@ -6251,10 +4310,6 @@ QAbstractPrintDialog (0xb48ce400) 0
QPaintDevice (0xb48cfe10) 8
vptr=((& QAbstractPrintDialog::_ZTV20QAbstractPrintDialog) + 248u)
-Class QFlags<QAbstractPrintDialog::PrintDialogOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractPrintDialog::PrintDialogOption> (0xb48e3fb4) 0
Vtable for QColorDialog
QColorDialog::_ZTV12QColorDialog: 66u entries
@@ -6505,20 +4560,12 @@ QFileDialog (0xb48cee80) 0
QPaintDevice (0xb49207f8) 8
vptr=((& QFileDialog::_ZTV11QFileDialog) + 244u)
-Class QFlags<QFileDialog::Option>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileDialog::Option> (0xb4932924) 0
Class QIcon
size=4 align=4
base size=4 base align=4
QIcon (0xb4953ce4) 0
-Class QTypeInfo<QIcon>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QIcon> (0xb47740b4) 0 empty
Vtable for QFileSystemModel
QFileSystemModel::_ZTV16QFileSystemModel: 42u entries
@@ -6980,10 +5027,6 @@ QMessageBox (0xb47f1280) 0
QPaintDevice (0xb47eafb4) 8
vptr=((& QMessageBox::_ZTV11QMessageBox) + 244u)
-Class QFlags<QMessageBox::StandardButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<QMessageBox::StandardButton> (0xb4806dd4) 0
Vtable for QPageSetupDialog
QPageSetupDialog::_ZTV16QPageSetupDialog: 67u entries
@@ -7488,10 +5531,6 @@ QWizard (0xb4653680) 0
QPaintDevice (0xb46735a0) 8
vptr=((& QWizard::_ZTV7QWizard) + 260u)
-Class QFlags<QWizard::WizardOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QWizard::WizardOption> (0xb4680924) 0
Vtable for QWizardPage
QWizardPage::_ZTV11QWizardPage: 68u entries
@@ -7624,10 +5663,6 @@ Class QGraphicsItem
QGraphicsItem (0xb46af1e0) 0
vptr=((& QGraphicsItem::_ZTV13QGraphicsItem) + 8u)
-Class QFlags<QGraphicsItem::GraphicsItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGraphicsItem::GraphicsItemFlag> (0xb46da924) 0
Vtable for QAbstractGraphicsShapeItem
QAbstractGraphicsShapeItem::_ZTV26QAbstractGraphicsShapeItem: 39u entries
@@ -8184,15 +6219,7 @@ QGraphicsItemGroup (0xb4560040) 0
QGraphicsItem (0xb4562000) 0
primary-for QGraphicsItemGroup (0xb4560040)
-Class QMetaTypeId<QGraphicsItem*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QGraphicsItem*> (0xb4562870) 0 empty
-Class QMetaTypeId<QGraphicsScene*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QGraphicsScene*> (0xb4562a14) 0 empty
Vtable for QGraphicsLayoutItem
QGraphicsLayoutItem::_ZTV19QGraphicsLayoutItem: 8u entries
@@ -8544,10 +6571,6 @@ Class QPen
base size=4 base align=4
QPen (0xb45dfb7c) 0
-Class QTypeInfo<QPen>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPen> (0xb45ec3fc) 0 empty
Vtable for QGraphicsScene
QGraphicsScene::_ZTV14QGraphicsScene: 34u entries
@@ -8594,20 +6617,8 @@ QGraphicsScene (0xb45cc6c0) 0
QObject (0xb45ec690) 0
primary-for QGraphicsScene (0xb45cc6c0)
-Class QFlags<QGraphicsScene::SceneLayer>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGraphicsScene::SceneLayer> (0xb4610384) 0
-Class QList<QGraphicsItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QGraphicsItem*>::<anonymous union> (0xb4610dd4) 0
-Class QList<QGraphicsItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QGraphicsItem*> (0xb4610d5c) 0
Vtable for QGraphicsSceneEvent
QGraphicsSceneEvent::_ZTV19QGraphicsSceneEvent: 4u entries
@@ -8770,65 +6781,21 @@ Class QTextOption
base size=24 base align=4
QTextOption (0xb4465a50) 0
-Class QFlags<QTextOption::Flag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextOption::Flag> (0xb4487168) 0
-Class QMetaTypeId<QTextOption::Tab>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QTextOption::Tab> (0xb4496744) 0 empty
Class QPainter
size=4 align=4
base size=4 base align=4
QPainter (0xb4496a50) 0
-Class QFlags<QPainter::RenderHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPainter::RenderHint> (0xb44da528) 0
-Class QVector<QLineF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF>::<anonymous union> (0xb44f8f78) 0
-Class QVector<QLineF>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF> (0xb44f8f00) 0
-Class QVector<QLine>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine>::<anonymous union> (0xb451c0f0) 0
-Class QVector<QLine>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine> (0xb451c078) 0
-Class QVector<QRectF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF>::<anonymous union> (0xb451c834) 0
-Class QVector<QRectF>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF> (0xb451c7bc) 0
-Class QVector<QRect>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect>::<anonymous union> (0xb451c99c) 0
-Class QVector<QRect>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect> (0xb451c924) 0
Vtable for QAbstractScrollArea
QAbstractScrollArea::_ZTV19QAbstractScrollArea: 65u entries
@@ -9083,15 +7050,7 @@ QGraphicsView (0xb43ac480) 0
QPaintDevice (0xb43c0294) 8
vptr=((& QGraphicsView::_ZTV13QGraphicsView) + 252u)
-Class QFlags<QGraphicsView::CacheModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGraphicsView::CacheModeFlag> (0xb43dab40) 0
-Class QFlags<QGraphicsView::OptimizationFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGraphicsView::OptimizationFlag> (0xb43e9744) 0
Vtable for QBitmap
QBitmap::_ZTV7QBitmap: 7u entries
@@ -9346,10 +7305,6 @@ QImageIOPlugin (0xb425daf0) 0
QFactoryInterface (0xb4257b7c) 8 nearly-empty
primary-for QImageIOHandlerFactoryInterface (0xb442af00)
-Class QFlags<QImageIOPlugin::Capability>
- size=4 align=4
- base size=4 base align=4
-QFlags<QImageIOPlugin::Capability> (0xb42695a0) 0
Class QImageReader
size=4 align=4
@@ -9525,15 +7480,7 @@ QActionGroup (0xb42e6580) 0
QObject (0xb42f1708) 0
primary-for QActionGroup (0xb42e6580)
-Class QList<QAction*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QAction*>::<anonymous union> (0xb42ff528) 0
-Class QList<QAction*>
- size=4 align=4
- base size=4 base align=4
-QList<QAction*> (0xb42ff4b0) 0
Vtable for QInputContext
QInputContext::_ZTV13QInputContext: 26u entries
@@ -9839,10 +7786,6 @@ QAbstractSpinBox (0xb4330d00) 0
QPaintDevice (0xb415fce4) 8
vptr=((& QAbstractSpinBox::_ZTV16QAbstractSpinBox) + 252u)
-Class QFlags<QAbstractSpinBox::StepEnabledFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractSpinBox::StepEnabledFlag> (0xb416de88) 0
Vtable for QAbstractSlider
QAbstractSlider::_ZTV15QAbstractSlider: 64u entries
@@ -10050,15 +7993,7 @@ QStyle (0xb4186a00) 0
QObject (0xb41c4384) 0
primary-for QStyle (0xb4186a00)
-Class QFlags<QStyle::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::StateFlag> (0xb41e5d20) 0
-Class QFlags<QStyle::SubControl>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::SubControl> (0xb41f9924) 0
Vtable for QTabBar
QTabBar::_ZTV7QTabBar: 67u entries
@@ -10317,10 +8252,6 @@ Class QStyleOptionFrame
QStyleOptionFrame (0xb407e040) 0
QStyleOption (0xb4079780) 0
-Class QFlags<QStyleOptionFrameV2::FrameFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionFrameV2::FrameFeature> (0xb4079f3c) 0
Class QStyleOptionFrameV2
size=56 align=4
@@ -10347,10 +8278,6 @@ Class QStyleOptionHeader
QStyleOptionHeader (0xb407eac0) 0
QStyleOption (0xb409dec4) 0
-Class QFlags<QStyleOptionButton::ButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionButton::ButtonFeature> (0xb40b18ac) 0
Class QStyleOptionButton
size=64 align=4
@@ -10358,10 +8285,6 @@ Class QStyleOptionButton
QStyleOptionButton (0xb407ed80) 0
QStyleOption (0xb40b15a0) 0
-Class QFlags<QStyleOptionTab::CornerWidget>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionTab::CornerWidget> (0xb40c9dd4) 0
Class QStyleOptionTab
size=72 align=4
@@ -10376,10 +8299,6 @@ QStyleOptionTabV2 (0xb40ca3c0) 0
QStyleOptionTab (0xb40ca400) 0
QStyleOption (0xb40e6e4c) 0
-Class QFlags<QStyleOptionToolBar::ToolBarFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionToolBar::ToolBarFeature> (0xb4102ac8) 0
Class QStyleOptionToolBar
size=68 align=4
@@ -10406,10 +8325,6 @@ Class QStyleOptionMenuItem
QStyleOptionMenuItem (0xb40cad00) 0
QStyleOption (0xb412f474) 0
-Class QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature> (0xb412fe10) 0
Class QStyleOptionQ3ListViewItem
size=64 align=4
@@ -10442,10 +8357,6 @@ Class QStyleOptionViewItem
QStyleOptionViewItem (0xb41429c0) 0
QStyleOption (0xb3f7003c) 0
-Class QFlags<QStyleOptionViewItemV2::ViewItemFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionViewItemV2::ViewItemFeature> (0xb3f708ac) 0
Class QStyleOptionViewItemV2
size=84 align=4
@@ -10510,15 +8421,7 @@ QStyleOptionSpinBox (0xb3fc2600) 0
QStyleOptionComplex (0xb3fc2640) 0
QStyleOption (0xb3fd3078) 0
-Class QList<QStyleOptionQ3ListViewItem>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::<anonymous union> (0xb3fd3870) 0
-Class QList<QStyleOptionQ3ListViewItem>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem> (0xb3fd37f8) 0
Class QStyleOptionQ3ListView
size=84 align=4
@@ -10527,10 +8430,6 @@ QStyleOptionQ3ListView (0xb3fc2880) 0
QStyleOptionComplex (0xb3fc28c0) 0
QStyleOption (0xb3fd3708) 0
-Class QFlags<QStyleOptionToolButton::ToolButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionToolButton::ToolButtonFeature> (0xb3ff30f0) 0
Class QStyleOptionToolButton
size=96 align=4
@@ -10627,10 +8526,6 @@ Class QItemSelectionRange
base size=8 base align=4
QItemSelectionRange (0xb3e4fc6c) 0
-Class QTypeInfo<QItemSelectionRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QItemSelectionRange> (0xb3e7e7f8) 0 empty
Vtable for QItemSelectionModel
QItemSelectionModel::_ZTV19QItemSelectionModel: 18u entries
@@ -10661,20 +8556,8 @@ QItemSelectionModel (0xb3e52bc0) 0
QObject (0xb3e7ec6c) 0
primary-for QItemSelectionModel (0xb3e52bc0)
-Class QFlags<QItemSelectionModel::SelectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QItemSelectionModel::SelectionFlag> (0xb3e95f3c) 0
-Class QList<QItemSelectionRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::<anonymous union> (0xb3ea9bb8) 0
-Class QList<QItemSelectionRange>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange> (0xb3ea9b40) 0
Class QItemSelection
size=4 align=4
@@ -10804,10 +8687,6 @@ QAbstractItemView (0xb3ed1180) 0
QPaintDevice (0xb3ea9f3c) 8
vptr=((& QAbstractItemView::_ZTV17QAbstractItemView) + 392u)
-Class QFlags<QAbstractItemView::EditTrigger>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractItemView::EditTrigger> (0xb3ee9d5c) 0
Vtable for QAbstractProxyModel
QAbstractProxyModel::_ZTV19QAbstractProxyModel: 47u entries
@@ -11270,15 +9149,7 @@ Class QItemEditorCreatorBase
QItemEditorCreatorBase (0xb3d898e8) 0 nearly-empty
vptr=((& QItemEditorCreatorBase::_ZTV22QItemEditorCreatorBase) + 8u)
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union> (0xb3d98384) 0
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*> (0xb3d9830c) 0
Vtable for QItemEditorFactory
QItemEditorFactory::_ZTV18QItemEditorFactory: 6u entries
@@ -11419,15 +9290,7 @@ QListView (0xb3d9a140) 0
QPaintDevice (0xb3d98690) 8
vptr=((& QListView::_ZTV9QListView) + 392u)
-Class QVector<void*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<void*>::<anonymous union> (0xb3dc0dd4) 0
-Class QVector<void*>
- size=4 align=4
- base size=4 base align=4
-QVector<void*> (0xb3dc0d5c) 0
Vtable for QListWidgetItem
QListWidgetItem::_ZTV15QListWidgetItem: 11u entries
@@ -11720,15 +9583,7 @@ Class QStandardItem
QStandardItem (0xb3e37d98) 0
vptr=((& QStandardItem::_ZTV13QStandardItem) + 8u)
-Class QList<QStandardItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QStandardItem*>::<anonymous union> (0xb3cae780) 0
-Class QList<QStandardItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QStandardItem*> (0xb3cae708) 0
Vtable for QStandardItemModel
QStandardItemModel::_ZTV18QStandardItemModel: 42u entries
@@ -12007,15 +9862,7 @@ Class QTableWidgetSelectionRange
base size=16 base align=4
QTableWidgetSelectionRange (0xb3d15b7c) 0
-Class QVector<QWidgetItemData>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData>::<anonymous union> (0xb3d268ac) 0
-Class QVector<QWidgetItemData>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData> (0xb3d26834) 0
Vtable for QTableWidgetItem
QTableWidgetItem::_ZTV16QTableWidgetItem: 10u entries
@@ -12292,35 +10139,15 @@ QTreeView (0xb3b7c380) 0
QPaintDevice (0xb3b80870) 8
vptr=((& QTreeView::_ZTV9QTreeView) + 400u)
-Class QFlags<QTreeWidgetItemIterator::IteratorFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTreeWidgetItemIterator::IteratorFlag> (0xb3bab03c) 0
Class QTreeWidgetItemIterator
size=12 align=4
base size=12 base align=4
QTreeWidgetItemIterator (0xb3ba2618) 0
-Class QVector<QVector<QWidgetItemData> >::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> >::<anonymous union> (0xb3bd7a8c) 0
-Class QVector<QVector<QWidgetItemData> >
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> > (0xb3bd7a14) 0
-Class QList<QTreeWidgetItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::<anonymous union> (0xb3bd7ec4) 0
-Class QList<QTreeWidgetItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*> (0xb3bd7e4c) 0
Vtable for QTreeWidgetItem
QTreeWidgetItem::_ZTV15QTreeWidgetItem: 10u entries
@@ -13296,15 +11123,7 @@ Class QTextItem
base size=0 base align=1
QTextItem (0xb39960b4) 0 empty
-Class QTypeInfo<QTextItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextItem> (0xb399630c) 0 empty
-Class QFlags<QPaintEngine::PaintEngineFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::PaintEngineFeature> (0xb3996b7c) 0
Vtable for QPaintEngine
QPaintEngine::_ZTV12QPaintEngine: 24u entries
@@ -13339,20 +11158,12 @@ Class QPaintEngine
QPaintEngine (0xb39963fc) 0
vptr=((& QPaintEngine::_ZTV12QPaintEngine) + 8u)
-Class QFlags<QPaintEngine::DirtyFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::DirtyFlag> (0xb39b1d5c) 0
Class QPaintEngineState
size=4 align=4
base size=4 base align=4
QPaintEngineState (0xb39b1a14) 0
-Class QFlags<QTextItem::RenderFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextItem::RenderFlag> (0xb39c4a50) 0
Vtable for QPrinter
QPrinter::_ZTV8QPrinter: 7u entries
@@ -13450,10 +11261,6 @@ QCommonStyle (0xb39b9f00) 0
QObject (0xb38500f0) 0
primary-for QStyle (0xb39b9f40)
-Class QPointer<QFocusFrame>
- size=4 align=4
- base size=4 base align=4
-QPointer<QFocusFrame> (0xb38643c0) 0
Vtable for QMotifStyle
QMotifStyle::_ZTV11QMotifStyle: 35u entries
@@ -13985,30 +11792,14 @@ Class QTextLength
base size=12 base align=4
QTextLength (0xb38f4e10) 0
-Class QSharedDataPointer<QTextFormatPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextFormatPrivate> (0xb390c870) 0
Class QTextFormat
size=8 align=4
base size=8 base align=4
QTextFormat (0xb390c0f0) 0
-Class QVector<QTextLength>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength>::<anonymous union> (0xb392fd20) 0
-Class QVector<QTextLength>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength> (0xb392fca8) 0
-Class QFlags<QTextFormat::PageBreakFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextFormat::PageBreakFlag> (0xb3755a50) 0
Class QTextCharFormat
size=8 align=4
@@ -14070,15 +11861,7 @@ Class QTextLayout
base size=4 base align=4
QTextLayout (0xb37fd8ac) 0
-Class QVector<QTextLayout::FormatRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange>::<anonymous union> (0xb380a5dc) 0
-Class QVector<QTextLayout::FormatRange>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange> (0xb380a564) 0
Class QTextLine
size=8 align=4
@@ -14128,15 +11911,7 @@ QTextDocument (0xb37ead40) 0
QObject (0xb38275a0) 0
primary-for QTextDocument (0xb37ead40)
-Class QFlags<QTextDocument::FindFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextDocument::FindFlag> (0xb3827f3c) 0
-Class QSharedDataPointer<QTextCursorPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextCursorPrivate> (0xb3658c30) 0
Class QTextCursor
size=4 align=4
@@ -14148,15 +11923,7 @@ Class QAbstractTextDocumentLayout::Selection
base size=12 base align=4
QAbstractTextDocumentLayout::Selection (0xb3658ec4) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union> (0xb367c294) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection> (0xb367c21c) 0
Class QAbstractTextDocumentLayout::PaintContext
size=48 align=4
@@ -14318,10 +12085,6 @@ QTextFrame (0xb364df40) 0
QObject (0xb36c1384) 0
primary-for QTextObject (0xb364df80)
-Class QTypeInfo<QTextFrame::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFrame::iterator> (0xb36d9d5c) 0 empty
Vtable for QTextBlockUserData
QTextBlockUserData::_ZTV18QTextBlockUserData: 4u entries
@@ -14346,25 +12109,13 @@ Class QTextBlock
base size=8 base align=4
QTextBlock (0xb36e3258) 0
-Class QTypeInfo<QTextBlock>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock> (0xb36f6d5c) 0 empty
-Class QTypeInfo<QTextBlock::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock::iterator> (0xb36f6e4c) 0 empty
Class QTextFragment
size=12 align=4
base size=12 base align=4
QTextFragment (0xb3703000) 0
-Class QTypeInfo<QTextFragment>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFragment> (0xb370d3c0) 0 empty
Vtable for QSyntaxHighlighter
QSyntaxHighlighter::_ZTV18QSyntaxHighlighter: 15u entries
@@ -15494,10 +13245,6 @@ QDateEdit (0xb3458580) 0
QPaintDevice (0xb346fe4c) 8
vptr=((& QDateEdit::_ZTV9QDateEdit) + 260u)
-Class QFlags<QDateTimeEdit::Section>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDateTimeEdit::Section> (0xb34826cc) 0
Vtable for QDial
QDial::_ZTV5QDial: 64u entries
@@ -15658,10 +13405,6 @@ QDialogButtonBox (0xb3458c00) 0
QPaintDevice (0xb34b503c) 8
vptr=((& QDialogButtonBox::_ZTV16QDialogButtonBox) + 232u)
-Class QFlags<QDialogButtonBox::StandardButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDialogButtonBox::StandardButton> (0xb34c7474) 0
Vtable for QDockWidget
QDockWidget::_ZTV11QDockWidget: 63u entries
@@ -15741,10 +13484,6 @@ QDockWidget (0xb3458f80) 0
QPaintDevice (0xb34e8078) 8
vptr=((& QDockWidget::_ZTV11QDockWidget) + 232u)
-Class QFlags<QDockWidget::DockWidgetFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDockWidget::DockWidgetFeature> (0xb34f9708) 0
Vtable for QFocusFrame
QFocusFrame::_ZTV11QFocusFrame: 63u entries
@@ -15906,10 +13645,6 @@ QFontComboBox (0xb34eb640) 0
QPaintDevice (0xb352e078) 8
vptr=((& QFontComboBox::_ZTV13QFontComboBox) + 240u)
-Class QFlags<QFontComboBox::FontFilter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFontComboBox::FontFilter> (0xb353e03c) 0
Vtable for QGroupBox
QGroupBox::_ZTV9QGroupBox: 63u entries
@@ -16228,10 +13963,6 @@ QMainWindow (0xb3385380) 0
QPaintDevice (0xb338cf78) 8
vptr=((& QMainWindow::_ZTV11QMainWindow) + 236u)
-Class QFlags<QMainWindow::DockOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QMainWindow::DockOption> (0xb33af0b4) 0
Vtable for QMdiArea
QMdiArea::_ZTV8QMdiArea: 65u entries
@@ -16317,10 +14048,6 @@ QMdiArea (0xb3385700) 0
QPaintDevice (0xb33afca8) 8
vptr=((& QMdiArea::_ZTV8QMdiArea) + 240u)
-Class QFlags<QMdiArea::AreaOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QMdiArea::AreaOption> (0xb33e20f0) 0
Vtable for QMdiSubWindow
QMdiSubWindow::_ZTV13QMdiSubWindow: 63u entries
@@ -16400,10 +14127,6 @@ QMdiSubWindow (0xb3385b00) 0
QPaintDevice (0xb33e2ce4) 8
vptr=((& QMdiSubWindow::_ZTV13QMdiSubWindow) + 232u)
-Class QFlags<QMdiSubWindow::SubWindowOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QMdiSubWindow::SubWindowOption> (0xb3404e10) 0
Vtable for QMenu
QMenu::_ZTV5QMenu: 63u entries
@@ -16681,10 +14404,6 @@ QTextEdit (0xb32d07c0) 0
QPaintDevice (0xb32d6a50) 8
vptr=((& QTextEdit::_ZTV9QTextEdit) + 256u)
-Class QFlags<QTextEdit::AutoFormattingFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextEdit::AutoFormattingFlag> (0xb331a99c) 0
Vtable for QPlainTextEdit
QPlainTextEdit::_ZTV14QPlainTextEdit: 69u entries
@@ -18206,25 +15925,13 @@ Class QGLColormap
base size=4 base align=4
QGLColormap (0xb30bc708) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb30cf0f0) 0
-Class QFlags<QGL::FormatOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGL::FormatOption> (0xb30cf1a4) 0
Class QGLFormat
size=4 align=4
base size=4 base align=4
QGLFormat (0xb30cfac8) 0
-Class QFlags<QGLFormat::OpenGLVersionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGLFormat::OpenGLVersionFlag> (0xb2e92528) 0
Vtable for QGLContext
QGLContext::_ZTV10QGLContext: 11u entries
@@ -18370,203 +16077,43 @@ QGLPixelBuffer (0xb2ec5680) 0
QPaintDevice (0xb2ee2ca8) 0
primary-for QGLPixelBuffer (0xb2ec5680)
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0xb2d447bc) 0
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0xb2d5cd5c) 0
-Class QVectorTypedData<QPoint>
- size=24 align=4
- base size=24 base align=4
-QVectorTypedData<QPoint> (0xb2e2a078) 0
-Class QVectorTypedData<QPointF>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QPointF> (0xb2e2ab7c) 0
-Class QVectorTypedData<QPainterPath::Element>
- size=36 align=4
- base size=36 base align=4
-QVectorTypedData<QPainterPath::Element> (0xb2c49654) 0
-Class QVectorTypedData<QLineF>
- size=48 align=4
- base size=48 base align=4
-QVectorTypedData<QLineF> (0xb2cbee88) 0
-Class QVectorTypedData<QLine>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QLine> (0xb2cd303c) 0
-Class QVectorTypedData<QRectF>
- size=48 align=4
- base size=48 base align=4
-QVectorTypedData<QRectF> (0xb2cd321c) 0
-Class QVectorTypedData<QRect>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QRect> (0xb2cd33fc) 0
-Class QList<QTreeWidgetItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::Node (0xb2b94bb8) 0
-Class QVectorTypedData<QVector<QWidgetItemData> >
- size=20 align=4
- base size=20 base align=4
-QVectorTypedData<QVector<QWidgetItemData> > (0xb2b94d98) 0
-Class QVectorTypedData<QTextLength>
- size=28 align=4
- base size=28 base align=4
-QVectorTypedData<QTextLength> (0xb2bbff3c) 0
-Class QVectorTypedData<QTextLayout::FormatRange>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QTextLayout::FormatRange> (0xb2bd83c0) 0
-Class QVectorTypedData<QAbstractTextDocumentLayout::Selection>
- size=28 align=4
- base size=28 base align=4
-QVectorTypedData<QAbstractTextDocumentLayout::Selection> (0xb2bd8d98) 0
-Class QList<QAction*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QAction*>::Node (0xb2c1dac8) 0
-Class QTypeInfo<QtConcurrent::ResultItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QtConcurrent::ResultItem> (0xb2a67a50) 0 empty
-Class QMap<int, QtConcurrent::ResultItem>::Node
- size=20 align=4
- base size=20 base align=4
-QMap<int, QtConcurrent::ResultItem>::Node (0xb2a67ac8) 0
-Class QMetaTypeId2<QSet<QAccessible::Method> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSet<QAccessible::Method> > (0xb2a8d9d8) 0 empty
-Class QHashNode<QAccessible::Method, QHashDummyValue>
- size=16 align=4
- base size=13 base align=4
-QHashNode<QAccessible::Method, QHashDummyValue> (0xb2a8dce4) 0
-Class QHashNode<QVariant::Type, QItemEditorCreatorBase*>
- size=16 align=4
- base size=16 base align=4
-QHashNode<QVariant::Type, QItemEditorCreatorBase*> (0xb2add8e8) 0
-Class QTypeInfo<QStandardItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QStandardItem*> (0xb2addec4) 0 empty
-Class QTypeInfo<QTreeWidgetItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTreeWidgetItem*> (0xb2b041e0) 0 empty
-Class QTypeInfo<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLength> (0xb2b04a8c) 0 empty
-Class QTypeInfo<QTextLayout::FormatRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLayout::FormatRange> (0xb2b04ec4) 0 empty
-Class QTypeInfo<QAbstractTextDocumentLayout::Selection>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAbstractTextDocumentLayout::Selection> (0xb2b10474) 0 empty
-Class QTypeInfo<QAction*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAction*> (0xb2b1e528) 0 empty
-Class QMap<int, QtConcurrent::ResultItem>::PayloadNode
- size=16 align=4
- base size=16 base align=4
-QMap<int, QtConcurrent::ResultItem>::PayloadNode (0xb2b1ef3c) 0
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0xb2b2c078) 0
-Class QList<QVariant>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::Node (0xb2b2c2d0) 0
-Class QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union> (0xb2b2ca8c) 0
-Class QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union> (0xb29601e0) 0
-Class QTypeInfo<QGraphicsItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QGraphicsItem*> (0xb2960960) 0 empty
-Class QList<QGraphicsItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QGraphicsItem*>::Node (0xb29609d8) 0
-Class QTypeInfo<QStyleOptionQ3ListViewItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QStyleOptionQ3ListViewItem> (0xb2960e88) 0 empty
-Class QList<QStyleOptionQ3ListViewItem>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::Node (0xb2960f00) 0
-Class QList<QItemSelectionRange>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::Node (0xb299e348) 0
-Class QList<QStandardItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QStandardItem*>::Node (0xb299e780) 0
-Class QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union> (0xb299eb04) 0
-Class QHashDummyNode<QAccessible::Method, QHashDummyValue>
- size=12 align=4
- base size=12 base align=4
-QHashDummyNode<QAccessible::Method, QHashDummyValue> (0xb29d40b4) 0
-Class QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union> (0xb29d4744) 0
diff --git a/tests/auto/bic/data/QtScript.4.3.0.linux-gcc-ia32.txt b/tests/auto/bic/data/QtScript.4.3.0.linux-gcc-ia32.txt
index 929e8bf..b37e2db 100644
--- a/tests/auto/bic/data/QtScript.4.3.0.linux-gcc-ia32.txt
+++ b/tests/auto/bic/data/QtScript.4.3.0.linux-gcc-ia32.txt
@@ -1,34 +1,8 @@
-Class QUintForSize<4>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<4> (0xb7f46bc0) 0 empty
-Class QUintForSize<8>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<8> (0xb7f46c00) 0 empty
-Class QUintForType<void*>
- size=1 align=1
- base size=1 base align=1
-QUintForType<void*> (0xb7f46d00) 0 empty
- QUintForSize<4> (0xb7f46d40) 0 empty
-Class QIntForSize<4>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<4> (0xb7f46dc0) 0 empty
-Class QIntForSize<8>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<8> (0xb7f46e00) 0 empty
-Class QIntForType<void*>
- size=1 align=1
- base size=1 base align=1
-QIntForType<void*> (0xb7f46f00) 0 empty
- QIntForSize<4> (0xb7f46f40) 0 empty
Class QSysInfo
size=1 align=1
@@ -50,150 +24,38 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0xb737c2c0) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0xb737c380) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0xb737c3c0) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0xb737c400) 0 empty
-Class QTypeInfo<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned char> (0xb737c440) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0xb737c480) 0 empty
-Class QTypeInfo<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short unsigned int> (0xb737c4c0) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0xb737c500) 0 empty
-Class QTypeInfo<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned int> (0xb737c540) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0xb737c580) 0 empty
-Class QTypeInfo<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long unsigned int> (0xb737c5c0) 0 empty
-Class QTypeInfo<long long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long int> (0xb737c600) 0 empty
-Class QTypeInfo<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long unsigned int> (0xb737c640) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0xb737c680) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0xb737c6c0) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0xb737c700) 0 empty
Class QFlag
size=4 align=4
base size=4 base align=4
QFlag (0xb737c740) 0
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0xb737c900) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0xb737c980) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0xb737ca00) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0xb737ca80) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0xb737cb00) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0xb737cb80) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0xb737cc00) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0xb737cc80) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0xb737cd00) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0xb737cd80) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0xb737ce00) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0xb737ce80) 0
-Class QFlags<Qt::TextInteractionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::TextInteractionFlag> (0xb737cf00) 0
Class QInternal
size=1 align=1
@@ -211,10 +73,6 @@ Class QGenericReturnArgument
QGenericReturnArgument (0xb7288040) 0
QGenericArgument (0xb7288080) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0xb7288280) 0
Class QMetaObject
size=16 align=4
@@ -231,10 +89,6 @@ Class QChar
base size=2 base align=2
QChar (0xb7288380) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0xb7288440) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -267,10 +121,6 @@ Class QByteRef
base size=8 base align=4
QByteRef (0xb7288b80) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0xb7288c00) 0 empty
Class QString::Null
size=1 align=1
@@ -287,10 +137,6 @@ Class QString
base size=4 base align=4
QString (0xb7288c40) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0xb7288f00) 0
Class QLatin1String
size=4 align=4
@@ -308,10 +154,6 @@ Class QConstString
QConstString (0xb708b240) 0
QString (0xb708b280) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0xb708b300) 0 empty
Class QStringRef
size=12 align=4
@@ -379,15 +221,7 @@ Class QListData
base size=4 base align=4
QListData (0xb708b980) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0xb708bdc0) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0xb708bd00) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -479,10 +313,6 @@ QIODevice (0xb708bb40) 0
QObject (0xb708be40) 0
primary-for QIODevice (0xb708bb40)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0xb6eff080) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -512,10 +342,6 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0xb6eff280) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0xb6eff2c0) 0 empty
Class QMapData::Node
size=8 align=4
@@ -527,10 +353,6 @@ Class QMapData
base size=72 base align=4
QMapData (0xb6effa00) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0xb6efffc0) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -555,15 +377,7 @@ Class QTextCodec
QTextCodec (0xb6effec0) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0xb6cd1100) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0xb6cd1040) 0
Class QTextEncoder
size=32 align=4
@@ -575,30 +389,10 @@ Class QTextDecoder
base size=32 base align=4
QTextDecoder (0xb6cd11c0) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6cd1240) 0
-Class <anonymous struct>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct>::<anonymous union> (0xb6cd12c0) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6cd1280) 0
-Class <anonymous struct>
- size=12 align=4
- base size=12 base align=4
-<anonymous struct> (0xb6cd1300) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb6cd1340) 0
Class __gconv_trans_data
size=20 align=4
@@ -620,15 +414,7 @@ Class __gconv_info
base size=8 base align=4
__gconv_info (0xb6cd1440) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0xb6cd14c0) 0
-Class <anonymous union>
- size=44 align=4
- base size=44 base align=4
-<anonymous union> (0xb6cd1480) 0
Class _IO_marker
size=12 align=4
@@ -640,10 +426,6 @@ Class _IO_FILE
base size=148 base align=4
_IO_FILE (0xb6cd1540) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb6cd1580) 0
Vtable for QTextStream
QTextStream::_ZTV11QTextStream: 4u entries
@@ -658,10 +440,6 @@ Class QTextStream
QTextStream (0xb6cd15c0) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0xb6cd1700) 0
Class QTextStreamManipulator
size=24 align=4
@@ -698,40 +476,16 @@ QTextOStream (0xb6cd1a40) 0
QTextStream (0xb6cd1a80) 0
primary-for QTextOStream (0xb6cd1a40)
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0xb6cd1c40) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0xb6cd1c80) 0
Class wait
size=4 align=4
base size=4 base align=4
wait (0xb6cd1c00) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6cd1cc0) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6cd1d00) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb6cd1d40) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb6cd1d80) 0
Class timespec
size=8 align=4
@@ -743,10 +497,6 @@ Class timeval
base size=8 base align=4
timeval (0xb6cd1e00) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb6cd1e40) 0
Class __sched_param
size=4 align=4
@@ -763,45 +513,17 @@ Class __pthread_attr_s
base size=36 base align=4
__pthread_attr_s (0xb6cd1f00) 0
-Class <anonymous struct>
- size=48 align=4
- base size=48 base align=4
-<anonymous struct> (0xb6cd1f40) 0
-Class <anonymous struct>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct> (0xb6cd1f80) 0
-Class <anonymous struct>
- size=24 align=4
- base size=24 base align=4
-<anonymous struct> (0xb6cd1fc0) 0
-Class <anonymous struct>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct> (0xb6cd1640) 0
Class _pthread_rwlock_t
size=32 align=4
base size=32 base align=4
_pthread_rwlock_t (0xb6cd1900) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6cd1ac0) 0
-Class <anonymous struct>
- size=20 align=4
- base size=20 base align=4
-<anonymous struct> (0xb6b7c000) 0
-Class <anonymous struct>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct> (0xb6b7c040) 0
Class random_data
size=28 align=4
@@ -872,10 +594,6 @@ QFile (0xb6b7c7c0) 0
QObject (0xb6b7c840) 0
primary-for QIODevice (0xb6b7c800)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0xb6b7c940) 0
Vtable for QTemporaryFile
QTemporaryFile::_ZTV14QTemporaryFile: 31u entries
@@ -928,50 +646,22 @@ Class QFileInfo
base size=4 base align=4
QFileInfo (0xb6b7cb00) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0xb6b7cb80) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0xb6b7cbc0) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0xb6b7cd00) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0xb6b7cc40) 0
Class QRegExp
size=4 align=4
base size=4 base align=4
QRegExp (0xb6b7cd40) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0xb6b7cdc0) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0xb6b7ce00) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0xb6b7cf40) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0xb6b7ce80) 0
Class QStringList
size=4 align=4
@@ -979,30 +669,14 @@ Class QStringList
QStringList (0xb6b7cf80) 0
QList<QString> (0xb6b7cfc0) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0xb6962140) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0xb69621c0) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0xb69623c0) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0xb6962480) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0xb6962540) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -1059,10 +733,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0xb6962580) 0
vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0xb6962780) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -1192,15 +862,7 @@ Class QLocale
base size=4 base align=4
QLocale (0xb6962bc0) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0xb6962c00) 0 empty
-Class QFlags<QLocale::NumberOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLocale::NumberOption> (0xb6962c80) 0
Vtable for QSystemLocale
QSystemLocale::_ZTV13QSystemLocale: 6u entries
@@ -1235,10 +897,6 @@ Class QDirIterator
QDirIterator (0xb6962dc0) 0
vptr=((& QDirIterator::_ZTV12QDirIterator) + 8u)
-Class QFlags<QDirIterator::IteratorFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDirIterator::IteratorFlag> (0xb6962f00) 0
Vtable for QBuffer
QBuffer::_ZTV7QBuffer: 30u entries
@@ -1313,290 +971,66 @@ Class QUrl
base size=4 base align=4
QUrl (0xb6962b40) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0xb68a8000) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0xb68a8040) 0 empty
Class QMetaType
size=1 align=1
base size=0 base align=1
QMetaType (0xb68a8080) 0 empty
-Class QMetaTypeId2<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QString> (0xb68a8140) 0 empty
-Class QMetaTypeId2<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<int> (0xb68a8180) 0 empty
-Class QMetaTypeId2<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned int> (0xb68a81c0) 0 empty
-Class QMetaTypeId2<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<bool> (0xb68a8200) 0 empty
-Class QMetaTypeId2<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<double> (0xb68a8240) 0 empty
-Class QMetaTypeId2<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QByteArray> (0xb68a8280) 0 empty
-Class QMetaTypeId2<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QChar> (0xb68a82c0) 0 empty
-Class QMetaTypeId2<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long int> (0xb68a8300) 0 empty
-Class QMetaTypeId2<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short int> (0xb68a8340) 0 empty
-Class QMetaTypeId2<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<char> (0xb68a8380) 0 empty
-Class QMetaTypeId2<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long unsigned int> (0xb68a83c0) 0 empty
-Class QMetaTypeId2<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short unsigned int> (0xb68a8400) 0 empty
-Class QMetaTypeId2<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned char> (0xb68a8440) 0 empty
-Class QMetaTypeId2<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<float> (0xb68a8480) 0 empty
-Class QMetaTypeId2<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QObject*> (0xb68a84c0) 0 empty
-Class QMetaTypeId2<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QWidget*> (0xb68a8500) 0 empty
-Class QMetaTypeId2<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<void*> (0xb68a8540) 0 empty
-Class QMetaTypeId2<long long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long int> (0xb68a8580) 0 empty
-Class QMetaTypeId2<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long unsigned int> (0xb68a85c0) 0 empty
-Class QMetaTypeId2<QStringList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QStringList> (0xb68a8600) 0 empty
-Class QMetaTypeId2<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitArray> (0xb68a8640) 0 empty
-Class QMetaTypeId2<QDate>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDate> (0xb68a8680) 0 empty
-Class QMetaTypeId2<QTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTime> (0xb68a86c0) 0 empty
-Class QMetaTypeId2<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDateTime> (0xb68a8700) 0 empty
-Class QMetaTypeId2<QUrl>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QUrl> (0xb68a8740) 0 empty
-Class QMetaTypeId2<QLocale>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLocale> (0xb68a8780) 0 empty
-Class QMetaTypeId2<QRect>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRect> (0xb68a87c0) 0 empty
-Class QMetaTypeId2<QRectF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRectF> (0xb68a8800) 0 empty
-Class QMetaTypeId2<QSize>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSize> (0xb68a8840) 0 empty
-Class QMetaTypeId2<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizeF> (0xb68a8880) 0 empty
-Class QMetaTypeId2<QLine>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLine> (0xb68a88c0) 0 empty
-Class QMetaTypeId2<QLineF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLineF> (0xb68a8900) 0 empty
-Class QMetaTypeId2<QPoint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPoint> (0xb68a8940) 0 empty
-Class QMetaTypeId2<QPointF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPointF> (0xb68a8980) 0 empty
-Class QMetaTypeId2<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegExp> (0xb68a89c0) 0 empty
-Class QMetaTypeId2<QColorGroup>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColorGroup> (0xb68a8a00) 0 empty
-Class QMetaTypeId2<QFont>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QFont> (0xb68a8a40) 0 empty
-Class QMetaTypeId2<QPixmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPixmap> (0xb68a8a80) 0 empty
-Class QMetaTypeId2<QBrush>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBrush> (0xb68a8ac0) 0 empty
-Class QMetaTypeId2<QColor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColor> (0xb68a8b00) 0 empty
-Class QMetaTypeId2<QPalette>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPalette> (0xb68a8b40) 0 empty
-Class QMetaTypeId2<QIcon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QIcon> (0xb68a8b80) 0 empty
-Class QMetaTypeId2<QImage>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QImage> (0xb68a8bc0) 0 empty
-Class QMetaTypeId2<QPolygon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPolygon> (0xb68a8c00) 0 empty
-Class QMetaTypeId2<QRegion>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegion> (0xb68a8c40) 0 empty
-Class QMetaTypeId2<QBitmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitmap> (0xb68a8c80) 0 empty
-Class QMetaTypeId2<QCursor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QCursor> (0xb68a8cc0) 0 empty
-Class QMetaTypeId2<QSizePolicy>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizePolicy> (0xb68a8d00) 0 empty
-Class QMetaTypeId2<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QKeySequence> (0xb68a8d40) 0 empty
-Class QMetaTypeId2<QPen>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPen> (0xb68a8d80) 0 empty
-Class QMetaTypeId2<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextLength> (0xb68a8dc0) 0 empty
-Class QMetaTypeId2<QTextFormat>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextFormat> (0xb68a8e00) 0 empty
-Class QMetaTypeId2<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMatrix> (0xb68a8e40) 0 empty
-Class QMetaTypeId2<QTransform>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTransform> (0xb68a8e80) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -1623,45 +1057,17 @@ Class QVariant
base size=12 base align=4
QVariant (0xb68a8ec0) 0
-Class QMetaTypeId2<QList<QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QList<QVariant> > (0xb673e3c0) 0 empty
-Class QMetaTypeId2<QMap<QString, QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMap<QString, QVariant> > (0xb673e400) 0 empty
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0xb673e580) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0xb673e4c0) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0xb673e700) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0xb673e640) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0xb673e7c0) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0xb673e8c0) 0 empty
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1693,80 +1099,48 @@ Class QPoint
base size=8 base align=4
QPoint (0xb673eb00) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0xb673ef40) 0 empty
Class QPointF
size=16 align=4
base size=16 base align=4
QPointF (0xb673e000) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0xb673ec40) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0xb673ee40) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0xb673eec0) 0 empty
Class QLineF
size=32 align=4
base size=32 base align=4
QLineF (0xb66480c0) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0xb6648140) 0 empty
Class QSize
size=8 align=4
base size=8 base align=4
QSize (0xb6648240) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0xb6648600) 0 empty
Class QSizeF
size=16 align=4
base size=16 base align=4
QSizeF (0xb6648740) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0xb6648b00) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0xb6648d00) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0xb6648f00) 0 empty
Class QRectF
size=32 align=4
base size=32 base align=4
QRectF (0xb6648280) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0xb6648480) 0 empty
Class QLinkedListData
size=20 align=4
@@ -1783,10 +1157,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0xb65e8380) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0xb65e8400) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -1808,30 +1178,18 @@ Class QDate
base size=4 base align=4
QDate (0xb65e8780) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0xb65e8900) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0xb65e8940) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0xb65e8ac0) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0xb65e8b00) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0xb65e8c40) 0 empty
Vtable for QTimeLine
QTimeLine::_ZTV9QTimeLine: 15u entries
@@ -2017,10 +1375,6 @@ QEventLoop (0xb650e200) 0
QObject (0xb650e240) 0
primary-for QEventLoop (0xb650e200)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0xb650e3c0) 0
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -2127,20 +1481,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0xb650eac0) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0xb650ebc0) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0xb650ec00) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0xb650ecc0) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -2360,10 +1706,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0xb650e940) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0xb650ec40) 0 empty
Vtable for QSocketNotifier
QSocketNotifier::_ZTV15QSocketNotifier: 14u entries
@@ -2458,20 +1800,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0xb6422280) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0xb6422300) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0xb6422340) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0xb64223c0) 0 empty
Class QMetaProperty
size=20 align=4
@@ -2483,10 +1817,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0xb6422440) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0xb64224c0) 0 empty
Vtable for QPluginLoader
QPluginLoader::_ZTV13QPluginLoader: 14u entries
@@ -2543,10 +1873,6 @@ QLibrary (0xb64226c0) 0
QObject (0xb6422700) 0
primary-for QLibrary (0xb64226c0)
-Class QFlags<QLibrary::LoadHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLibrary::LoadHint> (0xb6422800) 0
Class QSemaphore
size=4 align=4
@@ -2594,10 +1920,6 @@ Class QMutex
base size=4 base align=4
QMutex (0xb6422a80) 0
-Class QMutexLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMutexLocker::<anonymous union> (0xb6422b40) 0
Class QMutexLocker
size=4 align=4
@@ -2609,20 +1931,12 @@ Class QReadWriteLock
base size=4 base align=4
QReadWriteLock (0xb6422c00) 0
-Class QReadLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QReadLocker::<anonymous union> (0xb6422c80) 0
Class QReadLocker
size=4 align=4
base size=4 base align=4
QReadLocker (0xb6422c40) 0
-Class QWriteLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QWriteLocker::<anonymous union> (0xb6422d80) 0
Class QWriteLocker
size=4 align=4
@@ -2634,25 +1948,9 @@ Class QScriptValue
base size=4 base align=4
QScriptValue (0xb6422e40) 0
-Class QFlags<QScriptValue::ResolveFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QScriptValue::ResolveFlag> (0xb6422f00) 0
-Class QFlags<QScriptValue::PropertyFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QScriptValue::PropertyFlag> (0xb6422fc0) 0
-Class QList<QScriptValue>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QScriptValue>::<anonymous union> (0xb6422a00) 0
-Class QList<QScriptValue>
- size=4 align=4
- base size=4 base align=4
-QList<QScriptValue> (0xb6422200) 0
Class QScriptContext
size=4 align=4
@@ -2684,10 +1982,6 @@ QScriptEngine (0xb6127080) 0
QObject (0xb61270c0) 0
primary-for QScriptEngine (0xb6127080)
-Class QFlags<QScriptEngine::QObjectWrapOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QScriptEngine::QObjectWrapOption> (0xb6127380) 0
Vtable for QScriptExtensionInterface
QScriptExtensionInterface::_ZTV25QScriptExtensionInterface: 6u entries
@@ -2753,28 +2047,8 @@ Class QScriptValueIterator
base size=4 base align=4
QScriptValueIterator (0xb6127680) 0
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0xb61a3cc0) 0
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0xb61e4640) 0
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0xb60b5200) 0
-Class QTypeInfo<QScriptValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QScriptValue> (0xb60b5340) 0 empty
-Class QList<QScriptValue>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QScriptValue>::Node (0xb60b5400) 0
diff --git a/tests/auto/bic/data/QtScript.4.3.0.macx-gcc-ia32.txt b/tests/auto/bic/data/QtScript.4.3.0.macx-gcc-ia32.txt
index 9c87f57..7d61f35 100644
--- a/tests/auto/bic/data/QtScript.4.3.0.macx-gcc-ia32.txt
+++ b/tests/auto/bic/data/QtScript.4.3.0.macx-gcc-ia32.txt
@@ -1,34 +1,8 @@
-Class QUintForSize<4>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<4> (0x66d2c0) 0 empty
-Class QUintForSize<8>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<8> (0x66d340) 0 empty
-Class QUintForType<void*>
- size=1 align=1
- base size=1 base align=1
-QUintForType<void*> (0x66d500) 0 empty
- QUintForSize<4> (0x66d540) 0 empty
-Class QIntForSize<4>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<4> (0x66d640) 0 empty
-Class QIntForSize<8>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<8> (0x66d6c0) 0 empty
-Class QIntForType<void*>
- size=1 align=1
- base size=1 base align=1
-QIntForType<void*> (0x66d880) 0 empty
- QIntForSize<4> (0x66d8c0) 0 empty
Class QSysInfo
size=1 align=1
@@ -50,145 +24,37 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0x66de80) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0x6980c0) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0x698180) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0x698240) 0 empty
-Class QTypeInfo<uchar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uchar> (0x698300) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0x6983c0) 0 empty
-Class QTypeInfo<ushort>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ushort> (0x698480) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0x698540) 0 empty
-Class QTypeInfo<uint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uint> (0x698600) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0x6986c0) 0 empty
-Class QTypeInfo<ulong>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ulong> (0x698780) 0 empty
-Class QTypeInfo<qint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<qint64> (0x698840) 0 empty
-Class QTypeInfo<quint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<quint64> (0x698900) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0x6989c0) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0x698a80) 0 empty
Class QFlag
size=4 align=4
base size=4 base align=4
QFlag (0x698b00) 0
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0xec0100) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0xec0180) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0xec0200) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0xec0280) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0xec0300) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0xec0380) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0xec0400) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0xec0480) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0xec0500) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0xec0580) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0xec0600) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0xec0680) 0
-Class QFlags<Qt::TextInteractionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::TextInteractionFlag> (0xec0700) 0
Class QInternal
size=1 align=1
@@ -206,10 +72,6 @@ Class QGenericReturnArgument
QGenericReturnArgument (0xec0880) 0
QGenericArgument (0xec08c0) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0xec0b80) 0
Class QMetaObject
size=16 align=4
@@ -226,10 +88,6 @@ Class QChar
base size=2 base align=2
QChar (0xec0cc0) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0xec0dc0) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -242,10 +100,6 @@ Class QAtomic
QAtomic (0xfc64c0) 0
QBasicAtomic (0xfc6500) 0
-Class <anonymous union>
- size=128 align=4
- base size=128 base align=4
-<anonymous union> (0xfc6780) 0
Class __darwin_pthread_handler_rec
size=12 align=4
@@ -312,10 +166,6 @@ Class QByteRef
base size=8 base align=4
QByteRef (0x106a440) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0x106a800) 0 empty
Class QString::Null
size=1 align=1
@@ -337,10 +187,6 @@ Class QLatin1String
base size=4 base align=4
QLatin1String (0x11ae040) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0x11ae480) 0
Class QCharRef
size=8 align=4
@@ -353,10 +199,6 @@ Class QConstString
QConstString (0x12ea0c0) 0
QString (0x12ea100) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0x12ea200) 0 empty
Class QStringRef
size=12 align=4
@@ -424,15 +266,7 @@ Class QListData
base size=4 base align=4
QListData (0x12eadc0) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0x13e7340) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0x13e7280) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -524,10 +358,6 @@ QIODevice (0x13e7a00) 0
QObject (0x13e7a40) 0
primary-for QIODevice (0x13e7a00)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0x13e7c40) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -557,10 +387,6 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0x14de440) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0x14de4c0) 0 empty
Class QMapData::Node
size=8 align=4
@@ -572,10 +398,6 @@ Class QMapData
base size=72 base align=4
QMapData (0x1581280) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0x1581a40) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -600,15 +422,7 @@ Class QTextCodec
QTextCodec (0x15818c0) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0x1581d80) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0x1581cc0) 0
Class QTextEncoder
size=32 align=4
@@ -643,10 +457,6 @@ Class QTextStream
QTextStream (0x16f5040) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0x16f5300) 0
Class QTextStreamManipulator
size=24 align=4
@@ -818,35 +628,15 @@ Class rlimit
base size=16 base align=4
rlimit (0x17671c0) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0x1767380) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0x1767400) 0
Class wait
size=4 align=4
base size=4 base align=4
wait (0x1767300) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x1767540) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x17675c0) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0x1767640) 0
Class QVectorData
size=16 align=4
@@ -907,10 +697,6 @@ QFile (0x18842c0) 0
QObject (0x1884340) 0
primary-for QIODevice (0x1884300)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0x1884500) 0
Vtable for QTemporaryFile
QTemporaryFile::_ZTV14QTemporaryFile: 31u entries
@@ -963,50 +749,22 @@ Class QFileInfo
base size=4 base align=4
QFileInfo (0x1884740) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0x1884800) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0x1884880) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0x1884a40) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0x1884980) 0
Class QRegExp
size=4 align=4
base size=4 base align=4
QRegExp (0x1884b00) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0x1884d40) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0x1884dc0) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0x1884fc0) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0x1884f00) 0
Class QStringList
size=4 align=4
@@ -1014,30 +772,14 @@ Class QStringList
QStringList (0x18846c0) 0
QList<QString> (0x1994000) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0x19944c0) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0x1994540) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0x1994840) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0x1994980) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0x1994a00) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -1094,10 +836,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0x1994a40) 0
vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0x1994d00) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -1227,15 +965,7 @@ Class QLocale
base size=4 base align=4
QLocale (0x1a5f300) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0x1a5f400) 0 empty
-Class QFlags<QLocale::NumberOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLocale::NumberOption> (0x1a5f4c0) 0
Vtable for QSystemLocale
QSystemLocale::_ZTV13QSystemLocale: 6u entries
@@ -1270,10 +1000,6 @@ Class QDirIterator
QDirIterator (0x1a5f740) 0
vptr=((& QDirIterator::_ZTV12QDirIterator) + 8u)
-Class QFlags<QDirIterator::IteratorFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDirIterator::IteratorFlag> (0x1a5f940) 0
Vtable for QBuffer
QBuffer::_ZTV7QBuffer: 30u entries
@@ -1348,290 +1074,66 @@ Class QUrl
base size=4 base align=4
QUrl (0x1a5fcc0) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0x1a5fe80) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0x1a5ff00) 0 empty
Class QMetaType
size=1 align=1
base size=0 base align=1
QMetaType (0x1a5ff80) 0 empty
-Class QMetaTypeId2<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QString> (0x1b7f000) 0 empty
-Class QMetaTypeId2<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<int> (0x1b7f0c0) 0 empty
-Class QMetaTypeId2<uint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<uint> (0x1b7f180) 0 empty
-Class QMetaTypeId2<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<bool> (0x1b7f240) 0 empty
-Class QMetaTypeId2<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<double> (0x1b7f300) 0 empty
-Class QMetaTypeId2<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QByteArray> (0x1b7f3c0) 0 empty
-Class QMetaTypeId2<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QChar> (0x1b7f480) 0 empty
-Class QMetaTypeId2<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long int> (0x1b7f540) 0 empty
-Class QMetaTypeId2<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short int> (0x1b7f600) 0 empty
-Class QMetaTypeId2<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<char> (0x1b7f6c0) 0 empty
-Class QMetaTypeId2<ulong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<ulong> (0x1b7f780) 0 empty
-Class QMetaTypeId2<ushort>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<ushort> (0x1b7f840) 0 empty
-Class QMetaTypeId2<uchar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<uchar> (0x1b7f900) 0 empty
-Class QMetaTypeId2<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<float> (0x1b7f9c0) 0 empty
-Class QMetaTypeId2<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QObject*> (0x1b7fa80) 0 empty
-Class QMetaTypeId2<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QWidget*> (0x1b7fb40) 0 empty
-Class QMetaTypeId2<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<void*> (0x1b7fc00) 0 empty
-Class QMetaTypeId2<qlonglong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<qlonglong> (0x1b7fcc0) 0 empty
-Class QMetaTypeId2<qulonglong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<qulonglong> (0x1b7fd80) 0 empty
-Class QMetaTypeId2<QStringList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QStringList> (0x1b7fe40) 0 empty
-Class QMetaTypeId2<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitArray> (0x1b7ff00) 0 empty
-Class QMetaTypeId2<QDate>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDate> (0x1b7ffc0) 0 empty
-Class QMetaTypeId2<QTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTime> (0x1b9a080) 0 empty
-Class QMetaTypeId2<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDateTime> (0x1b9a140) 0 empty
-Class QMetaTypeId2<QUrl>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QUrl> (0x1b9a200) 0 empty
-Class QMetaTypeId2<QLocale>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLocale> (0x1b9a2c0) 0 empty
-Class QMetaTypeId2<QRect>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRect> (0x1b9a380) 0 empty
-Class QMetaTypeId2<QRectF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRectF> (0x1b9a440) 0 empty
-Class QMetaTypeId2<QSize>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSize> (0x1b9a500) 0 empty
-Class QMetaTypeId2<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizeF> (0x1b9a5c0) 0 empty
-Class QMetaTypeId2<QLine>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLine> (0x1b9a680) 0 empty
-Class QMetaTypeId2<QLineF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLineF> (0x1b9a740) 0 empty
-Class QMetaTypeId2<QPoint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPoint> (0x1b9a800) 0 empty
-Class QMetaTypeId2<QPointF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPointF> (0x1b9a8c0) 0 empty
-Class QMetaTypeId2<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegExp> (0x1b9a980) 0 empty
-Class QMetaTypeId2<QColorGroup>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColorGroup> (0x1b9aa40) 0 empty
-Class QMetaTypeId2<QFont>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QFont> (0x1b9ab00) 0 empty
-Class QMetaTypeId2<QPixmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPixmap> (0x1b9abc0) 0 empty
-Class QMetaTypeId2<QBrush>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBrush> (0x1b9ac80) 0 empty
-Class QMetaTypeId2<QColor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColor> (0x1b9ad40) 0 empty
-Class QMetaTypeId2<QPalette>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPalette> (0x1b9ae00) 0 empty
-Class QMetaTypeId2<QIcon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QIcon> (0x1b9aec0) 0 empty
-Class QMetaTypeId2<QImage>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QImage> (0x1b9af80) 0 empty
-Class QMetaTypeId2<QPolygon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPolygon> (0x1bb6040) 0 empty
-Class QMetaTypeId2<QRegion>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegion> (0x1bb6100) 0 empty
-Class QMetaTypeId2<QBitmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitmap> (0x1bb61c0) 0 empty
-Class QMetaTypeId2<QCursor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QCursor> (0x1bb6280) 0 empty
-Class QMetaTypeId2<QSizePolicy>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizePolicy> (0x1bb6340) 0 empty
-Class QMetaTypeId2<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QKeySequence> (0x1bb6400) 0 empty
-Class QMetaTypeId2<QPen>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPen> (0x1bb64c0) 0 empty
-Class QMetaTypeId2<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextLength> (0x1bb6580) 0 empty
-Class QMetaTypeId2<QTextFormat>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextFormat> (0x1bb6640) 0 empty
-Class QMetaTypeId2<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMatrix> (0x1bb6700) 0 empty
-Class QMetaTypeId2<QTransform>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTransform> (0x1bb67c0) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -1658,65 +1160,21 @@ Class QVariant
base size=12 base align=4
QVariant (0x1bb6840) 0
-Class QMetaTypeId2<QVariantList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QVariantList> (0x1bb6e00) 0 empty
-Class QMetaTypeId2<QVariantMap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QVariantMap> (0x1bb6ec0) 0 empty
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0x1bb6b80) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0x1bb6a00) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0x1c23180) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0x1c230c0) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0x1c23280) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0x1c233c0) 0 empty
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0x1c23480) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x1c23500) 0
-Class <anonymous struct>
- size=20 align=4
- base size=20 base align=4
-<anonymous struct> (0x1c23580) 0
-Class <anonymous struct>
- size=3164 align=4
- base size=3164 base align=4
-<anonymous struct> (0x1c23600) 0
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1748,80 +1206,48 @@ Class QPoint
base size=8 base align=4
QPoint (0x1c23d00) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0x1c23e40) 0 empty
Class QPointF
size=16 align=4
base size=16 base align=4
QPointF (0x1cf41c0) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0x1cf4640) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0x1cf4940) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0x1cf49c0) 0 empty
Class QLineF
size=32 align=4
base size=32 base align=4
QLineF (0x1cf4b40) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0x1cf4c00) 0 empty
Class QSize
size=8 align=4
base size=8 base align=4
QSize (0x1cf4dc0) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0x1cf4400) 0 empty
Class QSizeF
size=16 align=4
base size=16 base align=4
QSizeF (0x1d991c0) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0x1d995c0) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0x1d99a40) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0x1d99c00) 0 empty
Class QRectF
size=32 align=4
base size=32 base align=4
QRectF (0x1d99e80) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0x1d99280) 0 empty
Class QLinkedListData
size=20 align=4
@@ -1838,10 +1264,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0x1eb1b00) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0x1eb1c00) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -1863,30 +1285,18 @@ Class QDate
base size=4 base align=4
QDate (0x1fa9200) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0x1fa9400) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0x1fa9480) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0x1fa9680) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0x1fa9700) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0x1fa9880) 0 empty
Vtable for QTimeLine
QTimeLine::_ZTV9QTimeLine: 15u entries
@@ -2072,10 +1482,6 @@ QEventLoop (0x2069600) 0
QObject (0x2069640) 0
primary-for QEventLoop (0x2069600)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0x2069840) 0
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -2182,20 +1588,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0x2123180) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0x2123340) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0x21233c0) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0x2123500) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -2415,10 +1813,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0x2123f40) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0x2123740) 0 empty
Vtable for QSocketNotifier
QSocketNotifier::_ZTV15QSocketNotifier: 14u entries
@@ -2513,20 +1907,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0x21de440) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0x21de500) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0x21de580) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0x21de640) 0 empty
Class QMetaProperty
size=20 align=4
@@ -2538,10 +1924,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0x21de700) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0x21de7c0) 0 empty
Vtable for QPluginLoader
QPluginLoader::_ZTV13QPluginLoader: 14u entries
@@ -2598,10 +1980,6 @@ QLibrary (0x21deb40) 0
QObject (0x21deb80) 0
primary-for QLibrary (0x21deb40)
-Class QFlags<QLibrary::LoadHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLibrary::LoadHint> (0x21ded40) 0
Class QSemaphore
size=4 align=4
@@ -2649,10 +2027,6 @@ Class QMutex
base size=4 base align=4
QMutex (0x21de1c0) 0
-Class QMutexLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMutexLocker::<anonymous union> (0x22a10c0) 0
Class QMutexLocker
size=4 align=4
@@ -2664,20 +2038,12 @@ Class QReadWriteLock
base size=4 base align=4
QReadWriteLock (0x22a1180) 0
-Class QReadLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QReadLocker::<anonymous union> (0x22a1240) 0
Class QReadLocker
size=4 align=4
base size=4 base align=4
QReadLocker (0x22a11c0) 0
-Class QWriteLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QWriteLocker::<anonymous union> (0x22a1380) 0
Class QWriteLocker
size=4 align=4
@@ -2689,25 +2055,9 @@ Class QScriptValue
base size=4 base align=4
QScriptValue (0x22a1480) 0
-Class QList<QScriptValue>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QScriptValue>::<anonymous union> (0x22a1680) 0
-Class QList<QScriptValue>
- size=4 align=4
- base size=4 base align=4
-QList<QScriptValue> (0x22a15c0) 0
-Class QFlags<QScriptValue::ResolveFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QScriptValue::ResolveFlag> (0x22a1780) 0
-Class QFlags<QScriptValue::PropertyFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QScriptValue::PropertyFlag> (0x22a1800) 0
Class QScriptContext
size=4 align=4
@@ -2739,10 +2089,6 @@ QScriptEngine (0x22a18c0) 0
QObject (0x22a1900) 0
primary-for QScriptEngine (0x22a18c0)
-Class QFlags<QScriptEngine::QObjectWrapOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QScriptEngine::QObjectWrapOption> (0x22a1c40) 0
Vtable for QScriptExtensionInterface
QScriptExtensionInterface::_ZTV25QScriptExtensionInterface: 6u entries
@@ -2808,28 +2154,8 @@ Class QScriptValueIterator
base size=4 base align=4
QScriptValueIterator (0x22a1d80) 0
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0x23c3c80) 0
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0x24012c0) 0
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0x24d6540) 0
-Class QTypeInfo<QScriptValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QScriptValue> (0x24d67c0) 0 empty
-Class QList<QScriptValue>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QScriptValue>::Node (0x24d6880) 0
diff --git a/tests/auto/bic/data/QtScript.4.4.0.linux-gcc-ia32.txt b/tests/auto/bic/data/QtScript.4.4.0.linux-gcc-ia32.txt
index fb70146..a7dd5c7 100644
--- a/tests/auto/bic/data/QtScript.4.4.0.linux-gcc-ia32.txt
+++ b/tests/auto/bic/data/QtScript.4.4.0.linux-gcc-ia32.txt
@@ -1,34 +1,8 @@
-Class QUintForSize<4>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<4> (0xb782b03c) 0 empty
-Class QUintForSize<8>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<8> (0xb782b078) 0 empty
-Class QUintForType<void*>
- size=1 align=1
- base size=1 base align=1
-QUintForType<void*> (0xb7c89b40) 0 empty
- QUintForSize<4> (0xb782b0f0) 0 empty
-Class QIntForSize<4>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<4> (0xb782b21c) 0 empty
-Class QIntForSize<8>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<8> (0xb782b258) 0 empty
-Class QIntForType<void*>
- size=1 align=1
- base size=1 base align=1
-QIntForType<void*> (0xb7c89d00) 0 empty
- QIntForSize<4> (0xb782b2d0) 0 empty
Class QSysInfo
size=1 align=1
@@ -50,80 +24,20 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0xb783f6cc) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0xb783f8ac) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0xb783f99c) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0xb783fa8c) 0 empty
-Class QTypeInfo<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned char> (0xb783fb7c) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0xb783fc6c) 0 empty
-Class QTypeInfo<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short unsigned int> (0xb783fd5c) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0xb783fe4c) 0 empty
-Class QTypeInfo<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned int> (0xb783ff3c) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0xb785a03c) 0 empty
-Class QTypeInfo<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long unsigned int> (0xb785a12c) 0 empty
-Class QTypeInfo<long long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long int> (0xb785a21c) 0 empty
-Class QTypeInfo<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long unsigned int> (0xb785a30c) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0xb785a3fc) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0xb785a4ec) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0xb785a5dc) 0 empty
Class QFlag
size=4 align=4
@@ -140,10 +54,6 @@ Class QChar
base size=2 base align=2
QChar (0xb78765dc) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0xb789c294) 0 empty
Class QBasicAtomicInt
size=4 align=4
@@ -176,75 +86,19 @@ Class QByteRef
base size=8 base align=4
QByteRef (0xb6b3ae4c) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0xb6b7bf3c) 0 empty
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0xb6b941e0) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0xb6b94b04) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0xb69d8438) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0xb69d8d5c) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0xb69eb690) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0xb69ebfb4) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0xb69fe8e8) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0xb6a0d21c) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0xb6a0db40) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0xb6a21474) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0xb6a21d98) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0xb6a356cc) 0
-Class QFlags<Qt::TextInteractionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::TextInteractionFlag> (0xb6a46000) 0
Class QInternal
size=1 align=1
@@ -266,10 +120,6 @@ Class QString
base size=4 base align=4
QString (0xb6a46a8c) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0xb6898d20) 0
Class QLatin1String
size=4 align=4
@@ -287,10 +137,6 @@ Class QConstString
QConstString (0xb67c3b00) 0
QString (0xb68110f0) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0xb68113fc) 0 empty
Class QStringRef
size=12 align=4
@@ -358,10 +204,6 @@ Class QListData
base size=4 base align=4
QListData (0xb687aac8) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0xb6721d5c) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -386,15 +228,7 @@ Class QTextCodec
QTextCodec (0xb67210b4) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0xb673d3c0) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0xb673d348) 0
Class QTextEncoder
size=32 align=4
@@ -417,25 +251,13 @@ Class QGenericReturnArgument
QGenericReturnArgument (0xb6769000) 0
QGenericArgument (0xb67625dc) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0xb6762ac8) 0
Class QMetaObject
size=16 align=4
base size=16 base align=4
QMetaObject (0xb67628e8) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0xb6779c30) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0xb6779bb8) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -527,10 +349,6 @@ QIODevice (0xb65bae80) 0
QObject (0xb65bcc30) 0
primary-for QIODevice (0xb65bae80)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0xb65d7f3c) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -550,25 +368,13 @@ Class QRegExp
base size=4 base align=4
QRegExp (0xb661de4c) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0xb6651654) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0xb6651744) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0xb6651ca8) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0xb6651c30) 0
Class QStringList
size=4 align=4
@@ -576,15 +382,7 @@ Class QStringList
QStringList (0xb662cf80) 0
QList<QString> (0xb6651ce4) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0xb667da50) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0xb667dc6c) 0
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -664,10 +462,6 @@ Class QMutex
base size=4 base align=4
QMutex (0xb64a8f3c) 0
-Class QMutexLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMutexLocker::<anonymous union> (0xb64bba8c) 0
Class QMutexLocker
size=4 align=4
@@ -747,35 +541,11 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0xb638e3c0) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0xb638e474) 0 empty
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb64253fc) 0
-Class <anonymous struct>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct>::<anonymous union> (0xb64254ec) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6425474) 0
-Class <anonymous struct>
- size=12 align=4
- base size=12 base align=4
-<anonymous struct> (0xb6425564) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb64255dc) 0
Class _IO_marker
size=12 align=4
@@ -787,10 +557,6 @@ Class _IO_FILE
base size=148 base align=4
_IO_FILE (0xb6425654) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb64256cc) 0
Vtable for QTextStream
QTextStream::_ZTV11QTextStream: 4u entries
@@ -805,10 +571,6 @@ Class QTextStream
QTextStream (0xb6425708) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0xb6465e88) 0
Class QTextStreamManipulator
size=24 align=4
@@ -845,40 +607,16 @@ QTextOStream (0xb62930c0) 0
QTextStream (0xb628f5dc) 0
primary-for QTextOStream (0xb62930c0)
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0xb62a1078) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0xb62a10f0) 0
Class wait
size=4 align=4
base size=4 base align=4
wait (0xb62a1000) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb62a1168) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb62a11e0) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb62a1258) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb62a12d0) 0
Class timespec
size=8 align=4
@@ -890,80 +628,24 @@ Class timeval
base size=8 base align=4
timeval (0xb62a1348) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb62a13c0) 0
-Class <anonymous union>
- size=36 align=4
- base size=36 base align=4
-<anonymous union> (0xb62a1438) 0
Class __pthread_internal_slist
size=4 align=4
base size=4 base align=4
__pthread_internal_slist (0xb62a1474) 0
-Class <anonymous union>::__pthread_mutex_s::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union>::__pthread_mutex_s::<anonymous union> (0xb62a15a0) 0
-Class <anonymous union>::__pthread_mutex_s
- size=24 align=4
- base size=24 base align=4
-<anonymous union>::__pthread_mutex_s (0xb62a1528) 0
-Class <anonymous union>
- size=24 align=4
- base size=24 base align=4
-<anonymous union> (0xb62a14ec) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb62a1618) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0xb62a1708) 0
-Class <anonymous union>
- size=48 align=4
- base size=48 base align=4
-<anonymous union> (0xb62a1690) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb62a1780) 0
-Class <anonymous union>::<anonymous struct>
- size=32 align=4
- base size=32 base align=4
-<anonymous union>::<anonymous struct> (0xb62a1870) 0
-Class <anonymous union>
- size=32 align=4
- base size=32 base align=4
-<anonymous union> (0xb62a17f8) 0
-Class <anonymous union>
- size=8 align=4
- base size=8 base align=4
-<anonymous union> (0xb62a1924) 0
-Class <anonymous union>
- size=20 align=4
- base size=20 base align=4
-<anonymous union> (0xb62a199c) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb62a1a14) 0
Class random_data
size=28 align=4
@@ -995,20 +677,8 @@ Class QtConcurrent::ResultItem
base size=8 base align=4
QtConcurrent::ResultItem (0xb61be7bc) 0
-Class QMap<int, QtConcurrent::ResultItem>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<int, QtConcurrent::ResultItem>::<anonymous union> (0xb61d53fc) 0
-Class QMap<int, QtConcurrent::ResultItem>
- size=4 align=4
- base size=4 base align=4
-QMap<int, QtConcurrent::ResultItem> (0xb61d5384) 0
-Class QMap<int, QtConcurrent::ResultItem>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QMap<int, QtConcurrent::ResultItem>::const_iterator (0xb61d5744) 0
Class QtConcurrent::ResultIteratorBase
size=8 align=4
@@ -1028,10 +698,6 @@ Class QtConcurrent::ResultStoreBase
QtConcurrent::ResultStoreBase (0xb61d5870) 0
vptr=((& QtConcurrent::ResultStoreBase::_ZTVN12QtConcurrent15ResultStoreBaseE) + 8u)
-Class QMap<int, QtConcurrent::ResultItem>::iterator
- size=4 align=4
- base size=4 base align=4
-QMap<int, QtConcurrent::ResultItem>::iterator (0xb61d5f78) 0
Vtable for QFutureInterfaceBase
QFutureInterfaceBase::_ZTV20QFutureInterfaceBase: 4u entries
@@ -1046,25 +712,8 @@ Class QFutureInterfaceBase
QFutureInterfaceBase (0xb61d5708) 0
vptr=((& QFutureInterfaceBase::_ZTV20QFutureInterfaceBase) + 8u)
-Vtable for QFutureInterface<void>
-QFutureInterface<void>::_ZTV16QFutureInterfaceIvE: 4u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI16QFutureInterfaceIvE)
-8 QFutureInterface<void>::~QFutureInterface
-12 QFutureInterface<void>::~QFutureInterface
-Class QFutureInterface<void>
- size=8 align=4
- base size=8 base align=4
-QFutureInterface<void> (0xb6219780) 0
- vptr=((& QFutureInterface<void>::_ZTV16QFutureInterfaceIvE) + 8u)
- QFutureInterfaceBase (0xb620bac8) 0
- primary-for QFutureInterface<void> (0xb6219780)
-Class QFuture<void>
- size=8 align=4
- base size=8 base align=4
-QFuture<void> (0xb6256258) 0
Vtable for QFutureWatcherBase
QFutureWatcherBase::_ZTV18QFutureWatcherBase: 16u entries
@@ -1093,34 +742,7 @@ QFutureWatcherBase (0xb62726c0) 0
QObject (0xb62718e8) 0
primary-for QFutureWatcherBase (0xb62726c0)
-Vtable for QFutureWatcher<void>
-QFutureWatcher<void>::_ZTV14QFutureWatcherIvE: 16u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI14QFutureWatcherIvE)
-8 QFutureWatcherBase::metaObject
-12 QFutureWatcherBase::qt_metacast
-16 QFutureWatcherBase::qt_metacall
-20 QFutureWatcher<void>::~QFutureWatcher
-24 QFutureWatcher<void>::~QFutureWatcher
-28 QFutureWatcherBase::event
-32 QObject::eventFilter
-36 QObject::timerEvent
-40 QObject::childEvent
-44 QObject::customEvent
-48 QFutureWatcherBase::connectNotify
-52 QFutureWatcherBase::disconnectNotify
-56 QFutureWatcher<void>::futureInterface
-60 QFutureWatcher<void>::futureInterface
-Class QFutureWatcher<void>
- size=16 align=4
- base size=16 base align=4
-QFutureWatcher<void> (0xb6272dc0) 0
- vptr=((& QFutureWatcher<void>::_ZTV14QFutureWatcherIvE) + 8u)
- QFutureWatcherBase (0xb6272e00) 0
- primary-for QFutureWatcher<void> (0xb6272dc0)
- QObject (0xb608b3fc) 0
- primary-for QFutureWatcherBase (0xb6272e00)
Vtable for QRunnable
QRunnable::_ZTV9QRunnable: 5u entries
@@ -1219,60 +841,14 @@ QtConcurrent::ThreadEngineBase (0xb60cd2c0) 0
QRunnable (0xb60d33fc) 0
primary-for QtConcurrent::ThreadEngineBase (0xb60cd2c0)
-Class QtConcurrent::ThreadEngineStarterBase<void>
- size=4 align=4
- base size=4 base align=4
-QtConcurrent::ThreadEngineStarterBase<void> (0xb60d3bf4) 0
-Class QtConcurrent::ThreadEngineStarter<void>
- size=4 align=4
- base size=4 base align=4
-QtConcurrent::ThreadEngineStarter<void> (0xb60cdc40) 0
- QtConcurrent::ThreadEngineStarterBase<void> (0xb60d3c6c) 0
-Vtable for QtConcurrent::ThreadEngine<void>
-QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE: 26u entries
-0 4u
-4 (int (*)(...))0
-8 (int (*)(...))(& _ZTIN12QtConcurrent12ThreadEngineIvEE)
-12 QtConcurrent::ThreadEngine<T>::result [with T = void]
-16 QtConcurrent::ThreadEngine<T>::asynchronousFinish [with T = void]
-20 QtConcurrent::ThreadEngine<void>::~ThreadEngine
-24 QtConcurrent::ThreadEngine<void>::~ThreadEngine
-28 -4u
-32 0u
-36 0u
-40 0u
-44 0u
-48 0u
-52 -4u
-56 0u
-60 (int (*)(...))-0x000000004
-64 (int (*)(...))(& _ZTIN12QtConcurrent12ThreadEngineIvEE)
-68 QtConcurrent::ThreadEngineBase::run
-72 QtConcurrent::ThreadEngine<void>::_ZTv0_n16_N12QtConcurrent12ThreadEngineIvED1Ev
-76 QtConcurrent::ThreadEngine<void>::_ZTv0_n16_N12QtConcurrent12ThreadEngineIvED0Ev
-80 QtConcurrent::ThreadEngineBase::start
-84 QtConcurrent::ThreadEngineBase::finish
-88 QtConcurrent::ThreadEngineBase::threadFunction
-92 QtConcurrent::ThreadEngineBase::shouldStartThread
-96 QtConcurrent::ThreadEngineBase::shouldThrottleThread
-100 QtConcurrent::ThreadEngine<void>::_ZTv0_n40_N12QtConcurrent12ThreadEngineIvE18asynchronousFinishEv
VTT for QtConcurrent::ThreadEngine<void>
QtConcurrent::ThreadEngine<void>::_ZTTN12QtConcurrent12ThreadEngineIvEE: 2u entries
0 ((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 12u)
4 ((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 68u)
-Class QtConcurrent::ThreadEngine<void>
- size=36 align=4
- base size=4 base align=4
-QtConcurrent::ThreadEngine<void> (0xb60cde00) 0 nearly-empty
- vptridx=0u vptr=((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 12u)
- QtConcurrent::ThreadEngineBase (0xb60cde40) 4 virtual
- vptridx=4u vbaseoffset=-0x00000000c vptr=((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 68u)
- QRunnable (0xb60e80f0) 4
- primary-for QtConcurrent::ThreadEngineBase (0xb60cde40)
Class std::input_iterator_tag
size=1 align=1
@@ -1315,225 +891,49 @@ Class std::__false_type
base size=0 base align=1
std::__false_type (0xb60e8b40) 0 empty
-Class std::__truth_type<true>
- size=1 align=1
- base size=0 base align=1
-std::__truth_type<true> (0xb60e8bb8) 0 empty
-Class std::__is_void<void>
- size=1 align=1
- base size=0 base align=1
-std::__is_void<void> (0xb60e8dd4) 0 empty
-Class std::__is_integer<bool>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<bool> (0xb60e8ec4) 0 empty
-Class std::__is_integer<char>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<char> (0xb60e8f3c) 0 empty
-Class std::__is_integer<signed char>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<signed char> (0xb60e8fb4) 0 empty
-Class std::__is_integer<unsigned char>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<unsigned char> (0xb60e8258) 0 empty
-Class std::__is_integer<wchar_t>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<wchar_t> (0xb610903c) 0 empty
-Class std::__is_integer<short int>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<short int> (0xb61090b4) 0 empty
-Class std::__is_integer<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<short unsigned int> (0xb610912c) 0 empty
-Class std::__is_integer<int>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<int> (0xb61091a4) 0 empty
-Class std::__is_integer<unsigned int>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<unsigned int> (0xb610921c) 0 empty
-Class std::__is_integer<long int>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<long int> (0xb6109294) 0 empty
-Class std::__is_integer<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<long unsigned int> (0xb610930c) 0 empty
-Class std::__is_integer<long long int>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<long long int> (0xb6109384) 0 empty
-Class std::__is_integer<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<long long unsigned int> (0xb61093fc) 0 empty
-Class std::__is_floating<float>
- size=1 align=1
- base size=0 base align=1
-std::__is_floating<float> (0xb61094ec) 0 empty
-Class std::__is_floating<double>
- size=1 align=1
- base size=0 base align=1
-std::__is_floating<double> (0xb6109564) 0 empty
-Class std::__is_floating<long double>
- size=1 align=1
- base size=0 base align=1
-std::__is_floating<long double> (0xb61095dc) 0 empty
-Class std::__is_char<char>
- size=1 align=1
- base size=0 base align=1
-std::__is_char<char> (0xb6109960) 0 empty
-Class std::__is_char<wchar_t>
- size=1 align=1
- base size=0 base align=1
-std::__is_char<wchar_t> (0xb61099d8) 0 empty
-Class std::__is_byte<char>
- size=1 align=1
- base size=0 base align=1
-std::__is_byte<char> (0xb6109ac8) 0 empty
-Class std::__is_byte<signed char>
- size=1 align=1
- base size=0 base align=1
-std::__is_byte<signed char> (0xb6109b40) 0 empty
-Class std::__is_byte<unsigned char>
- size=1 align=1
- base size=0 base align=1
-std::__is_byte<unsigned char> (0xb6109bb8) 0 empty
-Class __gnu_cxx::__add_unsigned<char>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__add_unsigned<char> (0xb6109dd4) 0 empty
-Class __gnu_cxx::__add_unsigned<signed char>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__add_unsigned<signed char> (0xb6109e10) 0 empty
-Class __gnu_cxx::__add_unsigned<short int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__add_unsigned<short int> (0xb6109e4c) 0 empty
-Class __gnu_cxx::__add_unsigned<int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__add_unsigned<int> (0xb6109e88) 0 empty
-Class __gnu_cxx::__add_unsigned<long int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__add_unsigned<long int> (0xb6109ec4) 0 empty
-Class __gnu_cxx::__add_unsigned<long long int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__add_unsigned<long long int> (0xb6109f00) 0 empty
-Class __gnu_cxx::__remove_unsigned<char>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__remove_unsigned<char> (0xb6109f78) 0 empty
-Class __gnu_cxx::__remove_unsigned<unsigned char>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__remove_unsigned<unsigned char> (0xb6109fb4) 0 empty
-Class __gnu_cxx::__remove_unsigned<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__remove_unsigned<short unsigned int> (0xb611e000) 0 empty
-Class __gnu_cxx::__remove_unsigned<unsigned int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__remove_unsigned<unsigned int> (0xb611e03c) 0 empty
-Class __gnu_cxx::__remove_unsigned<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__remove_unsigned<long unsigned int> (0xb611e078) 0 empty
-Class __gnu_cxx::__remove_unsigned<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__remove_unsigned<long long unsigned int> (0xb611e0b4) 0 empty
-Class std::iterator<std::output_iterator_tag, void, void, void, void>
- size=1 align=1
- base size=0 base align=1
-std::iterator<std::output_iterator_tag, void, void, void, void> (0xb611ea8c) 0 empty
-Class std::__iter_swap<true>
- size=1 align=1
- base size=0 base align=1
-std::__iter_swap<true> (0xb5f99078) 0 empty
-Class std::__copy_move<false, false, std::random_access_iterator_tag>
- size=1 align=1
- base size=0 base align=1
-std::__copy_move<false, false, std::random_access_iterator_tag> (0xb5f994b0) 0 empty
-Class std::__copy_move_backward<false, false, std::random_access_iterator_tag>
- size=1 align=1
- base size=0 base align=1
-std::__copy_move_backward<false, false, std::random_access_iterator_tag> (0xb5f996cc) 0 empty
-Class std::__equal<true>
- size=1 align=1
- base size=0 base align=1
-std::__equal<true> (0xb5f99ac8) 0 empty
-Class std::__lc_rai<std::random_access_iterator_tag, std::random_access_iterator_tag>
- size=1 align=1
- base size=0 base align=1
-std::__lc_rai<std::random_access_iterator_tag, std::random_access_iterator_tag> (0xb5f99c30) 0 empty
-Class std::__lexicographical_compare<true>
- size=1 align=1
- base size=0 base align=1
-std::__lexicographical_compare<true> (0xb5f99d98) 0 empty
-Class std::char_traits<char>
- size=1 align=1
- base size=0 base align=1
-std::char_traits<char> (0xb5fd7474) 0 empty
-Class std::char_traits<wchar_t>
- size=1 align=1
- base size=0 base align=1
-std::char_traits<wchar_t> (0xb5febec4) 0 empty
Class lconv
size=56 align=4
@@ -1550,10 +950,6 @@ Class __sched_param
base size=4 base align=4
__sched_param (0xb5ff7a8c) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb5ff7b04) 0
Class tm
size=44 align=4
@@ -1570,15 +966,7 @@ Class _pthread_cleanup_buffer
base size=16 base align=4
_pthread_cleanup_buffer (0xb5ff7dd4) 0
-Class <anonymous struct>::<anonymous struct>
- size=28 align=4
- base size=28 base align=4
-<anonymous struct>::<anonymous struct> (0xb5ff7f3c) 0
-Class <anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous struct> (0xb5ff7ec4) 0
Class __pthread_cleanup_frame
size=16 align=4
@@ -1590,32 +978,10 @@ Class __pthread_cleanup_class
base size=16 base align=4
__pthread_cleanup_class (0xb5ff7fb4) 0
-Class std::allocator<void>
- size=1 align=1
- base size=0 base align=1
-std::allocator<void> (0xb60814ec) 0 empty
-Class __gnu_cxx::new_allocator<char>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::new_allocator<char> (0xb60817bc) 0 empty
-Class std::allocator<char>
- size=1 align=1
- base size=1 base align=1
-std::allocator<char> (0xb5e7b7c0) 0 empty
- __gnu_cxx::new_allocator<char> (0xb60817f8) 0 empty
-Class __gnu_cxx::new_allocator<wchar_t>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::new_allocator<wchar_t> (0xb6081834) 0 empty
-Class std::allocator<wchar_t>
- size=1 align=1
- base size=1 base align=1
-std::allocator<wchar_t> (0xb5e7b880) 0 empty
- __gnu_cxx::new_allocator<wchar_t> (0xb6081870) 0 empty
Vtable for __cxxabiv1::__forced_unwind
__cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE: 5u entries
@@ -1631,82 +997,19 @@ Class __cxxabiv1::__forced_unwind
__cxxabiv1::__forced_unwind (0xb6081a8c) 0 nearly-empty
vptr=((& __cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE) + 8u)
-Class __gnu_cxx::__conditional_type<true, __gnu_cxx::__numeric_traits_integer<int>, __gnu_cxx::__numeric_traits_floating<int> >
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__conditional_type<true, __gnu_cxx::__numeric_traits_integer<int>, __gnu_cxx::__numeric_traits_floating<int> > (0xb5f24384) 0 empty
-Class __gnu_cxx::__numeric_traits_integer<int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__numeric_traits_integer<int> (0xb5f243c0) 0 empty
-Class __gnu_cxx::__numeric_traits<int>
- size=1 align=1
- base size=1 base align=1
-__gnu_cxx::__numeric_traits<int> (0xb5f20b40) 0 empty
- __gnu_cxx::__numeric_traits_integer<int> (0xb5f243fc) 0 empty
-Class std::allocator<char>::rebind<char>
- size=1 align=1
- base size=0 base align=1
-std::allocator<char>::rebind<char> (0xb5dbb078) 0 empty
-Class std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Alloc_hider
- size=4 align=4
- base size=4 base align=4
-std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Alloc_hider (0xb5db9100) 0
- std::allocator<char> (0xb5db9140) 0 empty
- __gnu_cxx::new_allocator<char> (0xb5dbb0f0) 0 empty
-Class std::basic_string<char, std::char_traits<char>, std::allocator<char> >
- size=4 align=4
- base size=4 base align=4
-std::basic_string<char, std::char_traits<char>, std::allocator<char> > (0xb5dbb000) 0
-Class std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep_base
- size=12 align=4
- base size=12 base align=4
-std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep_base (0xb5dbb12c) 0
-Class std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep
- size=12 align=4
- base size=12 base align=4
-std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep (0xb5db92c0) 0
- std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep_base (0xb5dbb168) 0
-Class std::allocator<wchar_t>::rebind<wchar_t>
- size=1 align=1
- base size=0 base align=1
-std::allocator<wchar_t>::rebind<wchar_t> (0xb5dbb21c) 0 empty
-Class std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Alloc_hider
- size=4 align=4
- base size=4 base align=4
-std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Alloc_hider (0xb5db94c0) 0
- std::allocator<wchar_t> (0xb5db9500) 0 empty
- __gnu_cxx::new_allocator<wchar_t> (0xb5dbb294) 0 empty
-Class std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >
- size=4 align=4
- base size=4 base align=4
-std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > (0xb5dbb1a4) 0
-Class std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Rep_base
- size=12 align=4
- base size=12 base align=4
-std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Rep_base (0xb5dbb2d0) 0
-Class std::allocator<wchar_t>::rebind<char>
- size=1 align=1
- base size=0 base align=1
-std::allocator<wchar_t>::rebind<char> (0xb5dbb384) 0 empty
-Class std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Rep
- size=12 align=4
- base size=12 base align=4
-std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Rep (0xb5db9680) 0
- std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Rep_base (0xb5dbb30c) 0
Class std::locale
size=4 align=4
@@ -1736,97 +1039,16 @@ Class std::locale::_Impl
base size=20 base align=4
std::locale::_Impl (0xb5e5d528) 0
-Vtable for std::collate<char>
-std::collate<char>::_ZTVSt7collateIcE: 7u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt7collateIcE)
-8 std::collate<_CharT>::~collate [with _CharT = char]
-12 std::collate<_CharT>::~collate [with _CharT = char]
-16 std::collate<_CharT>::do_compare [with _CharT = char]
-20 std::collate<_CharT>::do_transform [with _CharT = char]
-24 std::collate<_CharT>::do_hash [with _CharT = char]
-
-Class std::collate<char>
- size=12 align=4
- base size=12 base align=4
-std::collate<char> (0xb5e68640) 0
- vptr=((& std::collate<char>::_ZTVSt7collateIcE) + 8u)
- std::locale::facet (0xb5e64ec4) 0
- primary-for std::collate<char> (0xb5e68640)
-Vtable for std::collate<wchar_t>
-std::collate<wchar_t>::_ZTVSt7collateIwE: 7u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt7collateIwE)
-8 std::collate<_CharT>::~collate [with _CharT = wchar_t]
-12 std::collate<_CharT>::~collate [with _CharT = wchar_t]
-16 std::collate<_CharT>::do_compare [with _CharT = wchar_t]
-20 std::collate<_CharT>::do_transform [with _CharT = wchar_t]
-24 std::collate<_CharT>::do_hash [with _CharT = wchar_t]
-
-Class std::collate<wchar_t>
- size=12 align=4
- base size=12 base align=4
-std::collate<wchar_t> (0xb5e68740) 0
- vptr=((& std::collate<wchar_t>::_ZTVSt7collateIwE) + 8u)
- std::locale::facet (0xb5e64fb4) 0
- primary-for std::collate<wchar_t> (0xb5e68740)
-Class __gnu_cxx::__conditional_type<true, __gnu_cxx::__numeric_traits_integer<long unsigned int>, __gnu_cxx::__numeric_traits_floating<long unsigned int> >
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__conditional_type<true, __gnu_cxx::__numeric_traits_integer<long unsigned int>, __gnu_cxx::__numeric_traits_floating<long unsigned int> > (0xb5c7c3fc) 0 empty
-Class __gnu_cxx::__numeric_traits_integer<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__numeric_traits_integer<long unsigned int> (0xb5c7c438) 0 empty
-Class __gnu_cxx::__numeric_traits<long unsigned int>
- size=1 align=1
- base size=1 base align=1
-__gnu_cxx::__numeric_traits<long unsigned int> (0xb5c896c0) 0 empty
- __gnu_cxx::__numeric_traits_integer<long unsigned int> (0xb5c7c474) 0 empty
-Vtable for std::collate_byname<char>
-std::collate_byname<char>::_ZTVSt14collate_bynameIcE: 7u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt14collate_bynameIcE)
-8 std::collate_byname<_CharT>::~collate_byname [with _CharT = char]
-12 std::collate_byname<_CharT>::~collate_byname [with _CharT = char]
-16 std::collate<_CharT>::do_compare [with _CharT = char]
-20 std::collate<_CharT>::do_transform [with _CharT = char]
-24 std::collate<_CharT>::do_hash [with _CharT = char]
-
-Class std::collate_byname<char>
- size=12 align=4
- base size=12 base align=4
-std::collate_byname<char> (0xb5c89800) 0
- vptr=((& std::collate_byname<char>::_ZTVSt14collate_bynameIcE) + 8u)
- std::collate<char> (0xb5c89840) 0
- primary-for std::collate_byname<char> (0xb5c89800)
- std::locale::facet (0xb5c7c4ec) 0
- primary-for std::collate<char> (0xb5c89840)
-
-Vtable for std::collate_byname<wchar_t>
-std::collate_byname<wchar_t>::_ZTVSt14collate_bynameIwE: 7u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt14collate_bynameIwE)
-8 std::collate_byname<_CharT>::~collate_byname [with _CharT = wchar_t]
-12 std::collate_byname<_CharT>::~collate_byname [with _CharT = wchar_t]
-16 std::collate<_CharT>::do_compare [with _CharT = wchar_t]
-20 std::collate<_CharT>::do_transform [with _CharT = wchar_t]
-24 std::collate<_CharT>::do_hash [with _CharT = wchar_t]
-
-Class std::collate_byname<wchar_t>
- size=12 align=4
- base size=12 base align=4
-std::collate_byname<wchar_t> (0xb5c898c0) 0
- vptr=((& std::collate_byname<wchar_t>::_ZTVSt14collate_bynameIwE) + 8u)
- std::collate<wchar_t> (0xb5c89900) 0
- primary-for std::collate_byname<wchar_t> (0xb5c898c0)
- std::locale::facet (0xb5c7c5dc) 0
- primary-for std::collate<wchar_t> (0xb5c89900)
+
+
+
+
+
Vtable for std::ios_base::failure
std::ios_base::failure::_ZTVNSt8ios_base7failureE: 5u entries
@@ -1872,583 +1094,85 @@ Class std::ios_base
std::ios_base (0xb5ca33c0) 0
vptr=((& std::ios_base::_ZTVSt8ios_base) + 8u)
-Vtable for std::basic_streambuf<char, std::char_traits<char> >
-std::basic_streambuf<char, std::char_traits<char> >::_ZTVSt15basic_streambufIcSt11char_traitsIcEE: 16u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt15basic_streambufIcSt11char_traitsIcEE)
-8 std::basic_streambuf<_CharT, _Traits>::~basic_streambuf [with _CharT = char, _Traits = std::char_traits<char>]
-12 std::basic_streambuf<_CharT, _Traits>::~basic_streambuf [with _CharT = char, _Traits = std::char_traits<char>]
-16 std::basic_streambuf<_CharT, _Traits>::imbue [with _CharT = char, _Traits = std::char_traits<char>]
-20 std::basic_streambuf<_CharT, _Traits>::setbuf [with _CharT = char, _Traits = std::char_traits<char>]
-24 std::basic_streambuf<_CharT, _Traits>::seekoff [with _CharT = char, _Traits = std::char_traits<char>]
-28 std::basic_streambuf<_CharT, _Traits>::seekpos [with _CharT = char, _Traits = std::char_traits<char>]
-32 std::basic_streambuf<_CharT, _Traits>::sync [with _CharT = char, _Traits = std::char_traits<char>]
-36 std::basic_streambuf<_CharT, _Traits>::showmanyc [with _CharT = char, _Traits = std::char_traits<char>]
-40 std::basic_streambuf<_CharT, _Traits>::xsgetn [with _CharT = char, _Traits = std::char_traits<char>]
-44 std::basic_streambuf<_CharT, _Traits>::underflow [with _CharT = char, _Traits = std::char_traits<char>]
-48 std::basic_streambuf<_CharT, _Traits>::uflow [with _CharT = char, _Traits = std::char_traits<char>]
-52 std::basic_streambuf<_CharT, _Traits>::pbackfail [with _CharT = char, _Traits = std::char_traits<char>]
-56 std::basic_streambuf<_CharT, _Traits>::xsputn [with _CharT = char, _Traits = std::char_traits<char>]
-60 std::basic_streambuf<_CharT, _Traits>::overflow [with _CharT = char, _Traits = std::char_traits<char>]
-
-Class std::basic_streambuf<char, std::char_traits<char> >
- size=32 align=4
- base size=32 base align=4
-std::basic_streambuf<char, std::char_traits<char> > (0xb5ce2a50) 0
- vptr=((& std::basic_streambuf<char, std::char_traits<char> >::_ZTVSt15basic_streambufIcSt11char_traitsIcEE) + 8u)
-Vtable for std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >
-std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >::_ZTVSt15basic_streambufIwSt11char_traitsIwEE: 16u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt15basic_streambufIwSt11char_traitsIwEE)
-8 std::basic_streambuf<_CharT, _Traits>::~basic_streambuf [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-12 std::basic_streambuf<_CharT, _Traits>::~basic_streambuf [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-16 std::basic_streambuf<_CharT, _Traits>::imbue [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-20 std::basic_streambuf<_CharT, _Traits>::setbuf [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-24 std::basic_streambuf<_CharT, _Traits>::seekoff [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-28 std::basic_streambuf<_CharT, _Traits>::seekpos [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-32 std::basic_streambuf<_CharT, _Traits>::sync [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-36 std::basic_streambuf<_CharT, _Traits>::showmanyc [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-40 std::basic_streambuf<_CharT, _Traits>::xsgetn [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-44 std::basic_streambuf<_CharT, _Traits>::underflow [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-48 std::basic_streambuf<_CharT, _Traits>::uflow [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-52 std::basic_streambuf<_CharT, _Traits>::pbackfail [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-56 std::basic_streambuf<_CharT, _Traits>::xsputn [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-60 std::basic_streambuf<_CharT, _Traits>::overflow [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-
-Class std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >
- size=32 align=4
- base size=32 base align=4
-std::basic_streambuf<wchar_t, std::char_traits<wchar_t> > (0xb5ce2ce4) 0
- vptr=((& std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >::_ZTVSt15basic_streambufIwSt11char_traitsIwEE) + 8u)
+
+
Class std::ctype_base
size=1 align=1
base size=0 base align=1
std::ctype_base (0xb5ce2f78) 0 empty
-Vtable for std::ctype<char>
-std::ctype<char>::_ZTVSt5ctypeIcE: 12u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt5ctypeIcE)
-8 std::ctype<char>::~ctype
-12 std::ctype<char>::~ctype
-16 std::ctype<char>::do_toupper
-20 std::ctype<char>::do_toupper
-24 std::ctype<char>::do_tolower
-28 std::ctype<char>::do_tolower
-32 std::ctype<char>::do_widen
-36 std::ctype<char>::do_widen
-40 std::ctype<char>::do_narrow
-44 std::ctype<char>::do_narrow
-
-Class std::ctype<char>
- size=544 align=4
- base size=542 base align=4
-std::ctype<char> (0xb5d58050) 0
- vptr=((& std::ctype<char>::_ZTVSt5ctypeIcE) + 8u)
- std::locale::facet (0xb5d28ec4) 0
- primary-for std::ctype<char> (0xb5d58050)
- std::ctype_base (0xb5d28f00) 0 empty
-
-Vtable for std::__ctype_abstract_base<wchar_t>
-std::__ctype_abstract_base<wchar_t>::_ZTVSt21__ctype_abstract_baseIwE: 16u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt21__ctype_abstract_baseIwE)
-8 std::__ctype_abstract_base<_CharT>::~__ctype_abstract_base [with _CharT = wchar_t]
-12 std::__ctype_abstract_base<_CharT>::~__ctype_abstract_base [with _CharT = wchar_t]
-16 __cxa_pure_virtual
-20 __cxa_pure_virtual
-24 __cxa_pure_virtual
-28 __cxa_pure_virtual
-32 __cxa_pure_virtual
-36 __cxa_pure_virtual
-40 __cxa_pure_virtual
-44 __cxa_pure_virtual
-48 __cxa_pure_virtual
-52 __cxa_pure_virtual
-56 __cxa_pure_virtual
-60 __cxa_pure_virtual
-Class std::__ctype_abstract_base<wchar_t>
- size=8 align=4
- base size=8 base align=4
-std::__ctype_abstract_base<wchar_t> (0xb5d61910) 0
- vptr=((& std::__ctype_abstract_base<wchar_t>::_ZTVSt21__ctype_abstract_baseIwE) + 8u)
- std::locale::facet (0xb5d71a8c) 0
- primary-for std::__ctype_abstract_base<wchar_t> (0xb5d61910)
- std::ctype_base (0xb5d71ac8) 0 empty
-
-Vtable for std::ctype<wchar_t>
-std::ctype<wchar_t>::_ZTVSt5ctypeIwE: 16u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt5ctypeIwE)
-8 std::ctype<wchar_t>::~ctype
-12 std::ctype<wchar_t>::~ctype
-16 std::ctype<wchar_t>::do_is
-20 std::ctype<wchar_t>::do_is
-24 std::ctype<wchar_t>::do_scan_is
-28 std::ctype<wchar_t>::do_scan_not
-32 std::ctype<wchar_t>::do_toupper
-36 std::ctype<wchar_t>::do_toupper
-40 std::ctype<wchar_t>::do_tolower
-44 std::ctype<wchar_t>::do_tolower
-48 std::ctype<wchar_t>::do_widen
-52 std::ctype<wchar_t>::do_widen
-56 std::ctype<wchar_t>::do_narrow
-60 std::ctype<wchar_t>::do_narrow
-
-Class std::ctype<wchar_t>
- size=1264 align=4
- base size=1264 base align=4
-std::ctype<wchar_t> (0xb5d66800) 0
- vptr=((& std::ctype<wchar_t>::_ZTVSt5ctypeIwE) + 8u)
- std::__ctype_abstract_base<wchar_t> (0xb5b7d780) 0
- primary-for std::ctype<wchar_t> (0xb5d66800)
- std::locale::facet (0xb5d71bb8) 0
- primary-for std::__ctype_abstract_base<wchar_t> (0xb5b7d780)
- std::ctype_base (0xb5d71bf4) 0 empty
-
-Vtable for std::ctype_byname<char>
-std::ctype_byname<char>::_ZTVSt12ctype_bynameIcE: 12u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt12ctype_bynameIcE)
-8 std::ctype_byname<char>::~ctype_byname
-12 std::ctype_byname<char>::~ctype_byname
-16 std::ctype<char>::do_toupper
-20 std::ctype<char>::do_toupper
-24 std::ctype<char>::do_tolower
-28 std::ctype<char>::do_tolower
-32 std::ctype<char>::do_widen
-36 std::ctype<char>::do_widen
-40 std::ctype<char>::do_narrow
-44 std::ctype<char>::do_narrow
-
-Class std::ctype_byname<char>
- size=544 align=4
- base size=542 base align=4
-std::ctype_byname<char> (0xb5d669c0) 0
- vptr=((& std::ctype_byname<char>::_ZTVSt12ctype_bynameIcE) + 8u)
- std::ctype<char> (0xb5b84f00) 0
- primary-for std::ctype_byname<char> (0xb5d669c0)
- std::locale::facet (0xb5b83f00) 0
- primary-for std::ctype<char> (0xb5b84f00)
- std::ctype_base (0xb5b83f3c) 0 empty
-
-Vtable for std::ctype_byname<wchar_t>
-std::ctype_byname<wchar_t>::_ZTVSt12ctype_bynameIwE: 16u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt12ctype_bynameIwE)
-8 std::ctype_byname<wchar_t>::~ctype_byname
-12 std::ctype_byname<wchar_t>::~ctype_byname
-16 std::ctype<wchar_t>::do_is
-20 std::ctype<wchar_t>::do_is
-24 std::ctype<wchar_t>::do_scan_is
-28 std::ctype<wchar_t>::do_scan_not
-32 std::ctype<wchar_t>::do_toupper
-36 std::ctype<wchar_t>::do_toupper
-40 std::ctype<wchar_t>::do_tolower
-44 std::ctype<wchar_t>::do_tolower
-48 std::ctype<wchar_t>::do_widen
-52 std::ctype<wchar_t>::do_widen
-56 std::ctype<wchar_t>::do_narrow
-60 std::ctype<wchar_t>::do_narrow
-
-Class std::ctype_byname<wchar_t>
- size=1264 align=4
- base size=1264 base align=4
-std::ctype_byname<wchar_t> (0xb5d66a40) 0
- vptr=((& std::ctype_byname<wchar_t>::_ZTVSt12ctype_bynameIwE) + 8u)
- std::ctype<wchar_t> (0xb5d66a80) 0
- primary-for std::ctype_byname<wchar_t> (0xb5d66a40)
- std::__ctype_abstract_base<wchar_t> (0xb5b88550) 0
- primary-for std::ctype<wchar_t> (0xb5d66a80)
- std::locale::facet (0xb5b8a078) 0
- primary-for std::__ctype_abstract_base<wchar_t> (0xb5b88550)
- std::ctype_base (0xb5b8a0b4) 0 empty
+
+
+
+
+
+
+
+
Class std::__num_base
size=1 align=1
base size=0 base align=1
std::__num_base (0xb5b8aac8) 0 empty
-Vtable for std::numpunct<char>
-std::numpunct<char>::_ZTVSt8numpunctIcE: 9u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt8numpunctIcE)
-8 std::numpunct<_CharT>::~numpunct [with _CharT = char]
-12 std::numpunct<_CharT>::~numpunct [with _CharT = char]
-16 std::numpunct<_CharT>::do_decimal_point [with _CharT = char]
-20 std::numpunct<_CharT>::do_thousands_sep [with _CharT = char]
-24 std::numpunct<_CharT>::do_grouping [with _CharT = char]
-28 std::numpunct<_CharT>::do_truename [with _CharT = char]
-32 std::numpunct<_CharT>::do_falsename [with _CharT = char]
-
-Class std::numpunct<char>
- size=12 align=4
- base size=12 base align=4
-std::numpunct<char> (0xb5b96480) 0
- vptr=((& std::numpunct<char>::_ZTVSt8numpunctIcE) + 8u)
- std::locale::facet (0xb5b9c2d0) 0
- primary-for std::numpunct<char> (0xb5b96480)
-Vtable for std::numpunct<wchar_t>
-std::numpunct<wchar_t>::_ZTVSt8numpunctIwE: 9u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt8numpunctIwE)
-8 std::numpunct<_CharT>::~numpunct [with _CharT = wchar_t]
-12 std::numpunct<_CharT>::~numpunct [with _CharT = wchar_t]
-16 std::numpunct<_CharT>::do_decimal_point [with _CharT = wchar_t]
-20 std::numpunct<_CharT>::do_thousands_sep [with _CharT = wchar_t]
-24 std::numpunct<_CharT>::do_grouping [with _CharT = wchar_t]
-28 std::numpunct<_CharT>::do_truename [with _CharT = wchar_t]
-32 std::numpunct<_CharT>::do_falsename [with _CharT = wchar_t]
-
-Class std::numpunct<wchar_t>
- size=12 align=4
- base size=12 base align=4
-std::numpunct<wchar_t> (0xb5b96540) 0
- vptr=((& std::numpunct<wchar_t>::_ZTVSt8numpunctIwE) + 8u)
- std::locale::facet (0xb5b9c3c0) 0
- primary-for std::numpunct<wchar_t> (0xb5b96540)
-Class __gnu_cxx::__conditional_type<true, long unsigned int, long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__conditional_type<true, long unsigned int, long long unsigned int> (0xb5bd2a14) 0 empty
-Vtable for std::numpunct_byname<char>
-std::numpunct_byname<char>::_ZTVSt15numpunct_bynameIcE: 9u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt15numpunct_bynameIcE)
-8 std::numpunct_byname<_CharT>::~numpunct_byname [with _CharT = char]
-12 std::numpunct_byname<_CharT>::~numpunct_byname [with _CharT = char]
-16 std::numpunct<_CharT>::do_decimal_point [with _CharT = char]
-20 std::numpunct<_CharT>::do_thousands_sep [with _CharT = char]
-24 std::numpunct<_CharT>::do_grouping [with _CharT = char]
-28 std::numpunct<_CharT>::do_truename [with _CharT = char]
-32 std::numpunct<_CharT>::do_falsename [with _CharT = char]
-
-Class std::numpunct_byname<char>
- size=12 align=4
- base size=12 base align=4
-std::numpunct_byname<char> (0xb5c1aa80) 0
- vptr=((& std::numpunct_byname<char>::_ZTVSt15numpunct_bynameIcE) + 8u)
- std::numpunct<char> (0xb5c1aac0) 0
- primary-for std::numpunct_byname<char> (0xb5c1aa80)
- std::locale::facet (0xb5c3103c) 0
- primary-for std::numpunct<char> (0xb5c1aac0)
-
-Vtable for std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >
-std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >::_ZTVSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE: 15u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE)
-8 std::num_get<_CharT, _InIter>::~num_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-12 std::num_get<_CharT, _InIter>::~num_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-16 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-20 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-24 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-28 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-32 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-36 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-40 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-44 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-48 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-52 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-56 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-
-Class std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >
- size=8 align=4
- base size=8 base align=4
-std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > > (0xb5c1ab00) 0
- vptr=((& std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >::_ZTVSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE) + 8u)
- std::locale::facet (0xb5c3112c) 0
- primary-for std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > > (0xb5c1ab00)
-Vtable for std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >
-std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::_ZTVSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE: 12u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE)
-8 std::num_put<_CharT, _OutIter>::~num_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-12 std::num_put<_CharT, _OutIter>::~num_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-16 std::num_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-20 std::num_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-24 std::num_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-28 std::num_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-32 std::num_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-36 std::num_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-40 std::num_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-44 std::num_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-
-Class std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >
- size=8 align=4
- base size=8 base align=4
-std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > > (0xb5c1ab80) 0
- vptr=((& std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::_ZTVSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE) + 8u)
- std::locale::facet (0xb5c3121c) 0
- primary-for std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > > (0xb5c1ab80)
-Vtable for std::numpunct_byname<wchar_t>
-std::numpunct_byname<wchar_t>::_ZTVSt15numpunct_bynameIwE: 9u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt15numpunct_bynameIwE)
-8 std::numpunct_byname<_CharT>::~numpunct_byname [with _CharT = wchar_t]
-12 std::numpunct_byname<_CharT>::~numpunct_byname [with _CharT = wchar_t]
-16 std::numpunct<_CharT>::do_decimal_point [with _CharT = wchar_t]
-20 std::numpunct<_CharT>::do_thousands_sep [with _CharT = wchar_t]
-24 std::numpunct<_CharT>::do_grouping [with _CharT = wchar_t]
-28 std::numpunct<_CharT>::do_truename [with _CharT = wchar_t]
-32 std::numpunct<_CharT>::do_falsename [with _CharT = wchar_t]
-
-Class std::numpunct_byname<wchar_t>
- size=12 align=4
- base size=12 base align=4
-std::numpunct_byname<wchar_t> (0xb5c1ac00) 0
- vptr=((& std::numpunct_byname<wchar_t>::_ZTVSt15numpunct_bynameIwE) + 8u)
- std::numpunct<wchar_t> (0xb5c1ac40) 0
- primary-for std::numpunct_byname<wchar_t> (0xb5c1ac00)
- std::locale::facet (0xb5c3130c) 0
- primary-for std::numpunct<wchar_t> (0xb5c1ac40)
-
-Vtable for std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >
-std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::_ZTVSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE: 15u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE)
-8 std::num_get<_CharT, _InIter>::~num_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-12 std::num_get<_CharT, _InIter>::~num_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-16 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-20 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-24 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-28 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-32 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-36 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-40 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-44 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-48 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-52 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-56 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-
-Class std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >
- size=8 align=4
- base size=8 base align=4
-std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > > (0xb5c1acc0) 0
- vptr=((& std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::_ZTVSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE) + 8u)
- std::locale::facet (0xb5c313fc) 0
- primary-for std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > > (0xb5c1acc0)
-Vtable for std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >
-std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::_ZTVSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE: 12u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE)
-8 std::num_put<_CharT, _OutIter>::~num_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-12 std::num_put<_CharT, _OutIter>::~num_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-16 std::num_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-20 std::num_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-24 std::num_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-28 std::num_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-32 std::num_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-36 std::num_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-40 std::num_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-44 std::num_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-
-Class std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >
- size=8 align=4
- base size=8 base align=4
-std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > > (0xb5c1ad40) 0
- vptr=((& std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::_ZTVSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE) + 8u)
- std::locale::facet (0xb5c314ec) 0
- primary-for std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > > (0xb5c1ad40)
-Vtable for std::basic_ios<char, std::char_traits<char> >
-std::basic_ios<char, std::char_traits<char> >::_ZTVSt9basic_iosIcSt11char_traitsIcEE: 4u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt9basic_iosIcSt11char_traitsIcEE)
-8 std::basic_ios<_CharT, _Traits>::~basic_ios [with _CharT = char, _Traits = std::char_traits<char>]
-12 std::basic_ios<_CharT, _Traits>::~basic_ios [with _CharT = char, _Traits = std::char_traits<char>]
-
-Class std::basic_ios<char, std::char_traits<char> >
- size=136 align=4
- base size=136 base align=4
-std::basic_ios<char, std::char_traits<char> > (0xb5c6fd80) 0
- vptr=((& std::basic_ios<char, std::char_traits<char> >::_ZTVSt9basic_iosIcSt11char_traitsIcEE) + 8u)
- std::ios_base (0xb5c31ce4) 0
- primary-for std::basic_ios<char, std::char_traits<char> > (0xb5c6fd80)
-
-Vtable for std::basic_ios<wchar_t, std::char_traits<wchar_t> >
-std::basic_ios<wchar_t, std::char_traits<wchar_t> >::_ZTVSt9basic_iosIwSt11char_traitsIwEE: 4u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt9basic_iosIwSt11char_traitsIwEE)
-8 std::basic_ios<_CharT, _Traits>::~basic_ios [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-12 std::basic_ios<_CharT, _Traits>::~basic_ios [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-
-Class std::basic_ios<wchar_t, std::char_traits<wchar_t> >
- size=140 align=4
- base size=140 base align=4
-std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb5c6fdc0) 0
- vptr=((& std::basic_ios<wchar_t, std::char_traits<wchar_t> >::_ZTVSt9basic_iosIwSt11char_traitsIwEE) + 8u)
- std::ios_base (0xb5c31dd4) 0
- primary-for std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb5c6fdc0)
-
-Vtable for std::basic_ostream<char, std::char_traits<char> >
-std::basic_ostream<char, std::char_traits<char> >::_ZTVSo: 10u entries
-0 4u
-4 (int (*)(...))0
-8 (int (*)(...))(& _ZTISo)
-12 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = char, _Traits = std::char_traits<char>]
-16 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = char, _Traits = std::char_traits<char>]
-20 -4u
-24 (int (*)(...))-0x000000004
-28 (int (*)(...))(& _ZTISo)
-32 std::basic_ostream<char, std::char_traits<char> >::_ZTv0_n12_NSoD1Ev
-36 std::basic_ostream<char, std::char_traits<char> >::_ZTv0_n12_NSoD0Ev
+
+
+
+
+
+
+
+
+
+
+
+
+
+
VTT for std::basic_ostream<char, std::char_traits<char> >
std::basic_ostream<char, std::char_traits<char> >::_ZTTSo: 2u entries
0 ((& std::basic_ostream<char, std::char_traits<char> >::_ZTVSo) + 12u)
4 ((& std::basic_ostream<char, std::char_traits<char> >::_ZTVSo) + 32u)
-Class std::basic_ostream<char, std::char_traits<char> >
- size=140 align=4
- base size=4 base align=4
-std::basic_ostream<char, std::char_traits<char> > (0xb5ab7a40) 0 nearly-empty
- vptridx=0u vptr=((& std::basic_ostream<char, std::char_traits<char> >::_ZTVSo) + 12u)
- std::basic_ios<char, std::char_traits<char> > (0xb5ab7a80) 4 virtual
- vptridx=4u vbaseoffset=-0x00000000c vptr=((& std::basic_ostream<char, std::char_traits<char> >::_ZTVSo) + 32u)
- std::ios_base (0xb5a9a8e8) 4
- primary-for std::basic_ios<char, std::char_traits<char> > (0xb5ab7a80)
-
-Class std::basic_ostream<char, std::char_traits<char> >::sentry
- size=8 align=4
- base size=8 base align=4
-std::basic_ostream<char, std::char_traits<char> >::sentry (0xb5a9aac8) 0
-Vtable for std::basic_ostream<wchar_t, std::char_traits<wchar_t> >
-std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE: 10u entries
-0 4u
-4 (int (*)(...))0
-8 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE)
-12 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-16 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-20 -4u
-24 (int (*)(...))-0x000000004
-28 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE)
-32 std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n12_NSt13basic_ostreamIwSt11char_traitsIwEED1Ev
-36 std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n12_NSt13basic_ostreamIwSt11char_traitsIwEED0Ev
+
VTT for std::basic_ostream<wchar_t, std::char_traits<wchar_t> >
std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTTSt13basic_ostreamIwSt11char_traitsIwEE: 2u entries
0 ((& std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 12u)
4 ((& std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 32u)
-Class std::basic_ostream<wchar_t, std::char_traits<wchar_t> >
- size=144 align=4
- base size=4 base align=4
-std::basic_ostream<wchar_t, std::char_traits<wchar_t> > (0xb5ab7bc0) 0 nearly-empty
- vptridx=0u vptr=((& std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 12u)
- std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb5ab7c00) 4 virtual
- vptridx=4u vbaseoffset=-0x00000000c vptr=((& std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 32u)
- std::ios_base (0xb5a9ab04) 4
- primary-for std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb5ab7c00)
-
-Class std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::sentry
- size=8 align=4
- base size=8 base align=4
-std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::sentry (0xb5a9aca8) 0
-Vtable for std::basic_istream<char, std::char_traits<char> >
-std::basic_istream<char, std::char_traits<char> >::_ZTVSi: 10u entries
-0 8u
-4 (int (*)(...))0
-8 (int (*)(...))(& _ZTISi)
-12 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = char, _Traits = std::char_traits<char>]
-16 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = char, _Traits = std::char_traits<char>]
-20 -8u
-24 (int (*)(...))-0x000000008
-28 (int (*)(...))(& _ZTISi)
-32 std::basic_istream<char, std::char_traits<char> >::_ZTv0_n12_NSiD1Ev
-36 std::basic_istream<char, std::char_traits<char> >::_ZTv0_n12_NSiD0Ev
+
VTT for std::basic_istream<char, std::char_traits<char> >
std::basic_istream<char, std::char_traits<char> >::_ZTTSi: 2u entries
0 ((& std::basic_istream<char, std::char_traits<char> >::_ZTVSi) + 12u)
4 ((& std::basic_istream<char, std::char_traits<char> >::_ZTVSi) + 32u)
-Class std::basic_istream<char, std::char_traits<char> >
- size=144 align=4
- base size=8 base align=4
-std::basic_istream<char, std::char_traits<char> > (0xb5af8480) 0
- vptridx=0u vptr=((& std::basic_istream<char, std::char_traits<char> >::_ZTVSi) + 12u)
- std::basic_ios<char, std::char_traits<char> > (0xb5af84c0) 8 virtual
- vptridx=4u vbaseoffset=-0x00000000c vptr=((& std::basic_istream<char, std::char_traits<char> >::_ZTVSi) + 32u)
- std::ios_base (0xb5af91a4) 8
- primary-for std::basic_ios<char, std::char_traits<char> > (0xb5af84c0)
-
-Vtable for std::basic_istream<wchar_t, std::char_traits<wchar_t> >
-std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_istreamIwSt11char_traitsIwEE: 10u entries
-0 8u
-4 (int (*)(...))0
-8 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE)
-12 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-16 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-20 -8u
-24 (int (*)(...))-0x000000008
-28 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE)
-32 std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n12_NSt13basic_istreamIwSt11char_traitsIwEED1Ev
-36 std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n12_NSt13basic_istreamIwSt11char_traitsIwEED0Ev
+
VTT for std::basic_istream<wchar_t, std::char_traits<wchar_t> >
std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTTSt13basic_istreamIwSt11char_traitsIwEE: 2u entries
0 ((& std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 12u)
4 ((& std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 32u)
-Class std::basic_istream<wchar_t, std::char_traits<wchar_t> >
- size=148 align=4
- base size=8 base align=4
-std::basic_istream<wchar_t, std::char_traits<wchar_t> > (0xb5af8580) 0
- vptridx=0u vptr=((& std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 12u)
- std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb5af85c0) 8 virtual
- vptridx=4u vbaseoffset=-0x00000000c vptr=((& std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 32u)
- std::ios_base (0xb5af9528) 8
- primary-for std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb5af85c0)
-
-Class __gnu_cxx::__conditional_type<true, __gnu_cxx::__numeric_traits_integer<short int>, __gnu_cxx::__numeric_traits_floating<short int> >
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__conditional_type<true, __gnu_cxx::__numeric_traits_integer<short int>, __gnu_cxx::__numeric_traits_floating<short int> > (0xb5af9c30) 0 empty
-Class __gnu_cxx::__numeric_traits_integer<short int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__numeric_traits_integer<short int> (0xb5af9c6c) 0 empty
-Class __gnu_cxx::__numeric_traits<short int>
- size=1 align=1
- base size=1 base align=1
-__gnu_cxx::__numeric_traits<short int> (0xb5b25480) 0 empty
- __gnu_cxx::__numeric_traits_integer<short int> (0xb5af9ca8) 0 empty
-Class std::basic_istream<char, std::char_traits<char> >::sentry
- size=1 align=1
- base size=1 base align=1
-std::basic_istream<char, std::char_traits<char> >::sentry (0xb5b54168) 0
-Vtable for std::basic_iostream<char, std::char_traits<char> >
-std::basic_iostream<char, std::char_traits<char> >::_ZTVSd: 15u entries
-0 12u
-4 (int (*)(...))0
-8 (int (*)(...))(& _ZTISd)
-12 std::basic_iostream<_CharT, _Traits>::~basic_iostream [with _CharT = char, _Traits = std::char_traits<char>]
-16 std::basic_iostream<_CharT, _Traits>::~basic_iostream [with _CharT = char, _Traits = std::char_traits<char>]
-20 4u
-24 (int (*)(...))-0x000000008
-28 (int (*)(...))(& _ZTISd)
-32 std::basic_iostream<char, std::char_traits<char> >::_ZThn8_NSdD1Ev
-36 std::basic_iostream<char, std::char_traits<char> >::_ZThn8_NSdD0Ev
-40 -12u
-44 (int (*)(...))-0x00000000c
-48 (int (*)(...))(& _ZTISd)
-52 std::basic_iostream<char, std::char_traits<char> >::_ZTv0_n12_NSdD1Ev
-56 std::basic_iostream<char, std::char_traits<char> >::_ZTv0_n12_NSdD0Ev
+
Construction vtable for std::basic_istream<char, std::char_traits<char> > (0xb5b61380 instance) in std::basic_iostream<char, std::char_traits<char> >
std::basic_iostream<char, std::char_traits<char> >::_ZTCSd0_Si: 10u entries
@@ -2486,44 +1210,8 @@ std::basic_iostream<char, std::char_traits<char> >::_ZTTSd: 7u entries
20 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 52u)
24 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 32u)
-Class std::basic_iostream<char, std::char_traits<char> >
- size=148 align=4
- base size=12 base align=4
-std::basic_iostream<char, std::char_traits<char> > (0xb5b69be0) 0
- vptridx=0u vptr=((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 12u)
- std::basic_istream<char, std::char_traits<char> > (0xb5b61380) 0
- primary-for std::basic_iostream<char, std::char_traits<char> > (0xb5b69be0)
- subvttidx=4u
- std::basic_ios<char, std::char_traits<char> > (0xb5b613c0) 12 virtual
- vptridx=20u vbaseoffset=-0x00000000c vptr=((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 52u)
- std::ios_base (0xb5b541a4) 12
- primary-for std::basic_ios<char, std::char_traits<char> > (0xb5b613c0)
- std::basic_ostream<char, std::char_traits<char> > (0xb5b61400) 8 nearly-empty
- subvttidx=12u vptridx=24u vptr=((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 32u)
- std::basic_ios<char, std::char_traits<char> > (0xb5b613c0) alternative-path
-
-Class std::basic_istream<wchar_t, std::char_traits<wchar_t> >::sentry
- size=1 align=1
- base size=1 base align=1
-std::basic_istream<wchar_t, std::char_traits<wchar_t> >::sentry (0xb5b54438) 0
-Vtable for std::basic_iostream<wchar_t, std::char_traits<wchar_t> >
-std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE: 15u entries
-0 12u
-4 (int (*)(...))0
-8 (int (*)(...))(& _ZTISt14basic_iostreamIwSt11char_traitsIwEE)
-12 std::basic_iostream<_CharT, _Traits>::~basic_iostream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-16 std::basic_iostream<_CharT, _Traits>::~basic_iostream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-20 4u
-24 (int (*)(...))-0x000000008
-28 (int (*)(...))(& _ZTISt14basic_iostreamIwSt11char_traitsIwEE)
-32 std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZThn8_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev
-36 std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZThn8_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev
-40 -12u
-44 (int (*)(...))-0x00000000c
-48 (int (*)(...))(& _ZTISt14basic_iostreamIwSt11char_traitsIwEE)
-52 std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n12_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev
-56 std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n12_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev
+
Construction vtable for std::basic_istream<wchar_t, std::char_traits<wchar_t> > (0xb5b61700 instance) in std::basic_iostream<wchar_t, std::char_traits<wchar_t> >
std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E: 10u entries
@@ -2561,110 +1249,21 @@ std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTTSt14basic_iostream
20 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 52u)
24 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 32u)
-Class std::basic_iostream<wchar_t, std::char_traits<wchar_t> >
- size=152 align=4
- base size=12 base align=4
-std::basic_iostream<wchar_t, std::char_traits<wchar_t> > (0xb5b77c80) 0
- vptridx=0u vptr=((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 12u)
- std::basic_istream<wchar_t, std::char_traits<wchar_t> > (0xb5b61700) 0
- primary-for std::basic_iostream<wchar_t, std::char_traits<wchar_t> > (0xb5b77c80)
- subvttidx=4u
- std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb5b61740) 12 virtual
- vptridx=20u vbaseoffset=-0x00000000c vptr=((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 52u)
- std::ios_base (0xb5b54474) 12
- primary-for std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb5b61740)
- std::basic_ostream<wchar_t, std::char_traits<wchar_t> > (0xb5b61780) 8 nearly-empty
- subvttidx=12u vptridx=24u vptr=((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 32u)
- std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb5b61740) alternative-path
-
-Class QVector<double>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<double>::<anonymous union> (0xb5b54d5c) 0
-Class QVector<double>
- size=4 align=4
- base size=4 base align=4
-QVector<double> (0xb5b54ce4) 0
-Class QtConcurrent::Median<double>
- size=24 align=4
- base size=22 base align=4
-QtConcurrent::Median<double> (0xb5b54c6c) 0
+
Class QtConcurrent::BlockSizeManager
size=72 align=4
base size=72 base align=4
QtConcurrent::BlockSizeManager (0xb5b54bb8) 0
-Class QtConcurrent::ResultReporter<void>
- size=1 align=1
- base size=0 base align=1
-QtConcurrent::ResultReporter<void> (0xb59a003c) 0 empty
-Class QFlags<QtConcurrent::ReduceOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QtConcurrent::ReduceOption> (0xb59a08ac) 0
-Class QtConcurrent::SelectSpecialization<void>
- size=1 align=1
- base size=0 base align=1
-QtConcurrent::SelectSpecialization<void> (0xb588bd20) 0 empty
-Vtable for QtConcurrent::RunFunctionTaskBase<void>
-QtConcurrent::RunFunctionTaskBase<void>::_ZTVN12QtConcurrent19RunFunctionTaskBaseIvEE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTIN12QtConcurrent19RunFunctionTaskBaseIvEE)
-8 QtConcurrent::RunFunctionTaskBase<void>::~RunFunctionTaskBase
-12 QtConcurrent::RunFunctionTaskBase<void>::~RunFunctionTaskBase
-16 QtConcurrent::RunFunctionTaskBase<T>::run [with T = void]
-20 __cxa_pure_virtual
-24 (int (*)(...))-0x000000008
-28 (int (*)(...))(& _ZTIN12QtConcurrent19RunFunctionTaskBaseIvEE)
-32 QtConcurrent::RunFunctionTaskBase<void>::_ZThn8_N12QtConcurrent19RunFunctionTaskBaseIvE3runEv
-36 QtConcurrent::RunFunctionTaskBase<void>::_ZThn8_N12QtConcurrent19RunFunctionTaskBaseIvED1Ev
-40 QtConcurrent::RunFunctionTaskBase<void>::_ZThn8_N12QtConcurrent19RunFunctionTaskBaseIvED0Ev
-Class QtConcurrent::RunFunctionTaskBase<void>
- size=16 align=4
- base size=16 base align=4
-QtConcurrent::RunFunctionTaskBase<void> (0xb58aa410) 0
- vptr=((& QtConcurrent::RunFunctionTaskBase<void>::_ZTVN12QtConcurrent19RunFunctionTaskBaseIvEE) + 8u)
- QFutureInterface<void> (0xb589ba00) 0
- primary-for QtConcurrent::RunFunctionTaskBase<void> (0xb58aa410)
- QFutureInterfaceBase (0xb588bf00) 0
- primary-for QFutureInterface<void> (0xb589ba00)
- QRunnable (0xb588bf3c) 8
- vptr=((& QtConcurrent::RunFunctionTaskBase<void>::_ZTVN12QtConcurrent19RunFunctionTaskBaseIvEE) + 32u)
-
-Vtable for QtConcurrent::RunFunctionTask<void>
-QtConcurrent::RunFunctionTask<void>::_ZTVN12QtConcurrent15RunFunctionTaskIvEE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTIN12QtConcurrent15RunFunctionTaskIvEE)
-8 QtConcurrent::RunFunctionTask<void>::~RunFunctionTask
-12 QtConcurrent::RunFunctionTask<void>::~RunFunctionTask
-16 QtConcurrent::RunFunctionTask<void>::run
-20 __cxa_pure_virtual
-24 (int (*)(...))-0x000000008
-28 (int (*)(...))(& _ZTIN12QtConcurrent15RunFunctionTaskIvEE)
-32 QtConcurrent::RunFunctionTask<void>::_ZThn8_N12QtConcurrent15RunFunctionTaskIvE3runEv
-36 QtConcurrent::RunFunctionTask<void>::_ZThn8_N12QtConcurrent15RunFunctionTaskIvED1Ev
-40 QtConcurrent::RunFunctionTask<void>::_ZThn8_N12QtConcurrent15RunFunctionTaskIvED0Ev
-Class QtConcurrent::RunFunctionTask<void>
- size=16 align=4
- base size=16 base align=4
-QtConcurrent::RunFunctionTask<void> (0xb589ba80) 0
- vptr=((& QtConcurrent::RunFunctionTask<void>::_ZTVN12QtConcurrent15RunFunctionTaskIvEE) + 8u)
- QtConcurrent::RunFunctionTaskBase<void> (0xb58aa820) 0
- primary-for QtConcurrent::RunFunctionTask<void> (0xb589ba80)
- QFutureInterface<void> (0xb589bac0) 0
- primary-for QtConcurrent::RunFunctionTaskBase<void> (0xb58aa820)
- QFutureInterfaceBase (0xb58b00f0) 0
- primary-for QFutureInterface<void> (0xb589bac0)
- QRunnable (0xb58b012c) 8
- vptr=((& QtConcurrent::RunFunctionTask<void>::_ZTVN12QtConcurrent15RunFunctionTaskIvEE) + 32u)
+
Class QLibraryInfo
size=1 align=1
@@ -2715,50 +1314,22 @@ QFile (0xb57fee00) 0
QObject (0xb5815474) 0
primary-for QIODevice (0xb57fee40)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0xb582de10) 0
Class QFileInfo
size=4 align=4
base size=4 base align=4
QFileInfo (0xb584199c) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0xb585f03c) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0xb585f348) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0xb58720b4) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0xb587203c) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0xb58721a4) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0xb5691708) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0xb56917f8) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -2833,10 +1404,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0xb56c3ac8) 0
vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0xb56d4bb8) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -2926,10 +1493,6 @@ Class QDirIterator
QDirIterator (0xb56f0dd4) 0
vptr=((& QDirIterator::_ZTV12QDirIterator) + 8u)
-Class QFlags<QDirIterator::IteratorFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDirIterator::IteratorFlag> (0xb5702564) 0
Vtable for QFileSystemWatcher
QFileSystemWatcher::_ZTV18QFileSystemWatcher: 14u entries
@@ -3067,25 +1630,13 @@ Class QLocale::Data
base size=4 base align=2
QLocale::Data (0xb5766528) 0
-Class QLocale::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QLocale::<anonymous union> (0xb57665a0) 0
Class QLocale
size=4 align=4
base size=4 base align=4
QLocale (0xb574530c) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0xb5766d98) 0 empty
-Class QFlags<QLocale::NumberOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLocale::NumberOption> (0xb5766f00) 0
Class QResource
size=4 align=4
@@ -3097,275 +1648,59 @@ Class QMetaType
base size=0 base align=1
QMetaType (0xb55817f8) 0 empty
-Class QMetaTypeId2<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QString> (0xb5581c30) 0 empty
-Class QMetaTypeId2<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<int> (0xb5581e10) 0 empty
-Class QMetaTypeId2<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned int> (0xb559f000) 0 empty
-Class QMetaTypeId2<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<bool> (0xb559f1e0) 0 empty
-Class QMetaTypeId2<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<double> (0xb559f3c0) 0 empty
-Class QMetaTypeId2<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QByteArray> (0xb559f5a0) 0 empty
-Class QMetaTypeId2<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QChar> (0xb559f780) 0 empty
-Class QMetaTypeId2<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long int> (0xb559f960) 0 empty
-Class QMetaTypeId2<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short int> (0xb559fb40) 0 empty
-Class QMetaTypeId2<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<char> (0xb559fd20) 0 empty
-Class QMetaTypeId2<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long unsigned int> (0xb559ff00) 0 empty
-Class QMetaTypeId2<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short unsigned int> (0xb55a90f0) 0 empty
-Class QMetaTypeId2<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned char> (0xb55a92d0) 0 empty
-Class QMetaTypeId2<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<float> (0xb55a94b0) 0 empty
-Class QMetaTypeId2<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QObject*> (0xb55a9690) 0 empty
-Class QMetaTypeId2<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QWidget*> (0xb55a9870) 0 empty
-Class QMetaTypeId2<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<void*> (0xb55a9a50) 0 empty
-Class QMetaTypeId2<long long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long int> (0xb55a9c30) 0 empty
-Class QMetaTypeId2<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long unsigned int> (0xb55a9e10) 0 empty
-Class QMetaTypeId2<QStringList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QStringList> (0xb55ae000) 0 empty
-Class QMetaTypeId2<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitArray> (0xb55ae1e0) 0 empty
-Class QMetaTypeId2<QDate>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDate> (0xb55ae3c0) 0 empty
-Class QMetaTypeId2<QTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTime> (0xb55ae5a0) 0 empty
-Class QMetaTypeId2<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDateTime> (0xb55ae780) 0 empty
-Class QMetaTypeId2<QUrl>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QUrl> (0xb55ae960) 0 empty
-Class QMetaTypeId2<QLocale>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLocale> (0xb55aeb40) 0 empty
-Class QMetaTypeId2<QRect>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRect> (0xb55aed20) 0 empty
-Class QMetaTypeId2<QRectF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRectF> (0xb55aef00) 0 empty
-Class QMetaTypeId2<QSize>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSize> (0xb55b90f0) 0 empty
-Class QMetaTypeId2<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizeF> (0xb55b92d0) 0 empty
-Class QMetaTypeId2<QLine>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLine> (0xb55b94b0) 0 empty
-Class QMetaTypeId2<QLineF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLineF> (0xb55b9690) 0 empty
-Class QMetaTypeId2<QPoint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPoint> (0xb55b9870) 0 empty
-Class QMetaTypeId2<QPointF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPointF> (0xb55b9a50) 0 empty
-Class QMetaTypeId2<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegExp> (0xb55b9c30) 0 empty
-Class QMetaTypeId2<QColorGroup>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColorGroup> (0xb55b9e10) 0 empty
-Class QMetaTypeId2<QFont>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QFont> (0xb55c0000) 0 empty
-Class QMetaTypeId2<QPixmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPixmap> (0xb55c01e0) 0 empty
-Class QMetaTypeId2<QBrush>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBrush> (0xb55c03c0) 0 empty
-Class QMetaTypeId2<QColor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColor> (0xb55c05a0) 0 empty
-Class QMetaTypeId2<QPalette>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPalette> (0xb55c0780) 0 empty
-Class QMetaTypeId2<QIcon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QIcon> (0xb55c0960) 0 empty
-Class QMetaTypeId2<QImage>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QImage> (0xb55c0b40) 0 empty
-Class QMetaTypeId2<QPolygon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPolygon> (0xb55c0d20) 0 empty
-Class QMetaTypeId2<QRegion>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegion> (0xb55c0f00) 0 empty
-Class QMetaTypeId2<QBitmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitmap> (0xb55c70f0) 0 empty
-Class QMetaTypeId2<QCursor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QCursor> (0xb55c72d0) 0 empty
-Class QMetaTypeId2<QSizePolicy>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizePolicy> (0xb55c74b0) 0 empty
-Class QMetaTypeId2<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QKeySequence> (0xb55c7690) 0 empty
-Class QMetaTypeId2<QPen>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPen> (0xb55c7870) 0 empty
-Class QMetaTypeId2<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextLength> (0xb55c7a50) 0 empty
-Class QMetaTypeId2<QTextFormat>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextFormat> (0xb55c7c30) 0 empty
-Class QMetaTypeId2<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMatrix> (0xb55c7e10) 0 empty
-Class QMetaTypeId2<QTransform>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTransform> (0xb55ce000) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -3392,45 +1727,17 @@ Class QVariant
base size=12 base align=4
QVariant (0xb55ce1e0) 0
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0xb5600c6c) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0xb5600bf4) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0xb5600d5c) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0xb5600ce4) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0xb563f0f0) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0xb563f708) 0 empty
-Class QMetaTypeId2<QList<QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QList<QVariant> > (0xb563f8e8) 0 empty
-Class QMetaTypeId2<QMap<QString, QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMap<QString, QVariant> > (0xb563fac8) 0 empty
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -3508,15 +1815,7 @@ Class QUrl
base size=4 base align=4
QUrl (0xb548eb7c) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0xb5499a8c) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0xb54c5528) 0 empty
Vtable for QEventLoop
QEventLoop::_ZTV10QEventLoop: 14u entries
@@ -3543,10 +1842,6 @@ QEventLoop (0xb5492ac0) 0
QObject (0xb54d4384) 0
primary-for QEventLoop (0xb5492ac0)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0xb54d499c) 0
Vtable for QAbstractEventDispatcher
QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 27u entries
@@ -3591,20 +1886,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0xb54f9c30) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0xb5518000) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0xb55180f0) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0xb5518834) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -3774,10 +2061,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0xb556599c) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0xb536f12c) 0 empty
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -3889,20 +2172,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0xb53a8d5c) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0xb53dc21c) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0xb53dc30c) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0xb53dc744) 0 empty
Class QMetaProperty
size=20 align=4
@@ -3914,10 +2189,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0xb53dcb40) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0xb53dce88) 0 empty
Vtable for QMimeData
QMimeData::_ZTV9QMimeData: 17u entries
@@ -4129,10 +2400,6 @@ QLibrary (0xb542e7c0) 0
QObject (0xb544c7bc) 0
primary-for QLibrary (0xb542e7c0)
-Class QFlags<QLibrary::LoadHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLibrary::LoadHint> (0xb545b708) 0
Vtable for QPluginLoader
QPluginLoader::_ZTV13QPluginLoader: 14u entries
@@ -4169,20 +2436,12 @@ Class QReadWriteLock
base size=4 base align=4
QReadWriteLock (0xb5288ce4) 0
-Class QReadLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QReadLocker::<anonymous union> (0xb5295384) 0
Class QReadLocker
size=4 align=4
base size=4 base align=4
QReadLocker (0xb5295078) 0
-Class QWriteLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QWriteLocker::<anonymous union> (0xb529d870) 0
Class QWriteLocker
size=4 align=4
@@ -4209,10 +2468,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0xb52d5e4c) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0xb52e5b40) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -4229,70 +2484,42 @@ Class QDate
base size=4 base align=4
QDate (0xb52f5b40) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0xb53234ec) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0xb53235dc) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0xb532db40) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0xb532dc30) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0xb53412d0) 0 empty
Class QPoint
size=8 align=4
base size=8 base align=4
QPoint (0xb53414b0) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0xb53542d0) 0 empty
Class QPointF
size=16 align=4
base size=16 base align=4
QPointF (0xb5366528) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0xb51513c0) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0xb51684ec) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0xb51688ac) 0 empty
Class QLineF
size=32 align=4
base size=32 base align=4
QLineF (0xb5187a14) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0xb5194438) 0 empty
Class QLinkedListData
size=20 align=4
@@ -4304,40 +2531,24 @@ Class QSize
base size=8 base align=4
QSize (0xb5226384) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0xb522f3c0) 0 empty
Class QSizeF
size=16 align=4
base size=16 base align=4
QSizeF (0xb504f000) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0xb504fe88) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0xb506ce4c) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0xb5087d5c) 0 empty
Class QRectF
size=32 align=4
base size=32 base align=4
QRectF (0xb50ce924) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0xb50e9e4c) 0 empty
Class QSharedData
size=4 align=4
@@ -4385,20 +2596,8 @@ Class QXmlStreamAttribute
base size=53 base align=4
QXmlStreamAttribute (0xb4f8e618) 0
-Class QTypeInfo<QXmlStreamAttribute>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QXmlStreamAttribute> (0xb4f97b7c) 0 empty
-Class QVector<QXmlStreamAttribute>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QXmlStreamAttribute>::<anonymous union> (0xb4f97ce4) 0
-Class QVector<QXmlStreamAttribute>
- size=4 align=4
- base size=4 base align=4
-QVector<QXmlStreamAttribute> (0xb4f97c6c) 0
Class QXmlStreamAttributes
size=4 align=4
@@ -4411,30 +2610,18 @@ Class QXmlStreamNamespaceDeclaration
base size=28 base align=4
QXmlStreamNamespaceDeclaration (0xb4f97d5c) 0
-Class QTypeInfo<QXmlStreamNamespaceDeclaration>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QXmlStreamNamespaceDeclaration> (0xb4fba780) 0 empty
Class QXmlStreamNotationDeclaration
size=40 align=4
base size=40 base align=4
QXmlStreamNotationDeclaration (0xb4fba8ac) 0
-Class QTypeInfo<QXmlStreamNotationDeclaration>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QXmlStreamNotationDeclaration> (0xb4fc9474) 0 empty
Class QXmlStreamEntityDeclaration
size=64 align=4
base size=64 base align=4
QXmlStreamEntityDeclaration (0xb4fc95a0) 0
-Class QTypeInfo<QXmlStreamEntityDeclaration>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QXmlStreamEntityDeclaration> (0xb4fdc528) 0 empty
Vtable for QXmlStreamEntityResolver
QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver: 6u entries
@@ -4471,25 +2658,9 @@ Class QScriptValue
base size=4 base align=4
QScriptValue (0xb5010870) 0
-Class QFlags<QScriptValue::ResolveFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QScriptValue::ResolveFlag> (0xb50237f8) 0
-Class QFlags<QScriptValue::PropertyFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QScriptValue::PropertyFlag> (0xb50238e8) 0
-Class QList<QScriptValue>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QScriptValue>::<anonymous union> (0xb5023d20) 0
-Class QList<QScriptValue>
- size=4 align=4
- base size=4 base align=4
-QList<QScriptValue> (0xb5023ca8) 0
Vtable for QScriptClass
QScriptClass::_ZTV12QScriptClass: 13u entries
@@ -4513,10 +2684,6 @@ Class QScriptClass
QScriptClass (0xb4e507bc) 0
vptr=((& QScriptClass::_ZTV12QScriptClass) + 8u)
-Class QFlags<QScriptClass::QueryFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QScriptClass::QueryFlag> (0xb4e631a4) 0
Vtable for QScriptClassPropertyIterator
QScriptClassPropertyIterator::_ZTV28QScriptClassPropertyIterator: 13u entries
@@ -4580,10 +2747,6 @@ QScriptEngine (0xb5035700) 0
QObject (0xb4e88870) 0
primary-for QScriptEngine (0xb5035700)
-Class QFlags<QScriptEngine::QObjectWrapOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QScriptEngine::QObjectWrapOption> (0xb4e9e5dc) 0
Vtable for QScriptEngineAgent
QScriptEngineAgent::_ZTV18QScriptEngineAgent: 15u entries
@@ -4668,43 +2831,11 @@ Class QScriptValueIterator
base size=4 base align=4
QScriptValueIterator (0xb4edd30c) 0
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0xb4f21dd4) 0
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0xb4d4d384) 0
-Class QTypeInfo<QtConcurrent::ResultItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QtConcurrent::ResultItem> (0xb4df3ec4) 0 empty
-Class QMap<int, QtConcurrent::ResultItem>::Node
- size=20 align=4
- base size=20 base align=4
-QMap<int, QtConcurrent::ResultItem>::Node (0xb4df3f3c) 0
-Class QMap<int, QtConcurrent::ResultItem>::PayloadNode
- size=16 align=4
- base size=16 base align=4
-QMap<int, QtConcurrent::ResultItem>::PayloadNode (0xb4e373fc) 0
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0xb4e37528) 0
-Class QTypeInfo<QScriptValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QScriptValue> (0xb4e37780) 0 empty
-Class QList<QScriptValue>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QScriptValue>::Node (0xb4e377f8) 0
diff --git a/tests/auto/bic/data/QtSql.4.0.0.aix-gcc-power32.txt b/tests/auto/bic/data/QtSql.4.0.0.aix-gcc-power32.txt
index 74a08e0..2bf0214 100644
--- a/tests/auto/bic/data/QtSql.4.0.0.aix-gcc-power32.txt
+++ b/tests/auto/bic/data/QtSql.4.0.0.aix-gcc-power32.txt
@@ -53,65 +53,20 @@ Class QBool
size=1 align=1
QBool (0x300b7280) 0
-Class QTypeInfo<bool>
- size=1 align=1
-QTypeInfo<bool> (0x300cd9c0) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
-QTypeInfo<char> (0x300cdf80) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
-QTypeInfo<signed char> (0x300d4540) 0 empty
-Class QTypeInfo<uchar>
- size=1 align=1
-QTypeInfo<uchar> (0x300d4b00) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
-QTypeInfo<short int> (0x300e00c0) 0 empty
-Class QTypeInfo<ushort>
- size=1 align=1
-QTypeInfo<ushort> (0x300e0680) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
-QTypeInfo<int> (0x300e0c40) 0 empty
-Class QTypeInfo<uint>
- size=1 align=1
-QTypeInfo<uint> (0x300eb200) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
-QTypeInfo<long int> (0x300eb7c0) 0 empty
-Class QTypeInfo<ulong>
- size=1 align=1
-QTypeInfo<ulong> (0x300ebd80) 0 empty
-Class QTypeInfo<qint64>
- size=1 align=1
-QTypeInfo<qint64> (0x300f8340) 0 empty
-Class QTypeInfo<quint64>
- size=1 align=1
-QTypeInfo<quint64> (0x300f8900) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
-QTypeInfo<float> (0x300f8ec0) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
-QTypeInfo<double> (0x30104480) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
-QTypeInfo<long double> (0x30104a40) 0 empty
Class QFlag
size=4 align=4
@@ -125,9 +80,6 @@ Class QChar
size=2 align=2
QChar (0x30148980) 0
-Class QTypeInfo<QChar>
- size=1 align=1
-QTypeInfo<QChar> (0x30185980) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -142,13 +94,7 @@ Class sigset_t
size=8 align=4
sigset_t (0x3026ad80) 0
-Class <anonymous struct>
- size=8 align=4
-<anonymous struct> (0x30271200) 0
-Class <anonymous struct>
- size=32 align=8
-<anonymous struct> (0x30271540) 0
Class fsid_t
size=8 align=4
@@ -158,21 +104,9 @@ Class fsid64_t
size=16 align=8
fsid64_t (0x30271c40) 0
-Class <anonymous struct>
- size=52 align=4
-<anonymous struct> (0x302780c0) 0
-Class <anonymous struct>
- size=44 align=4
-<anonymous struct> (0x30278440) 0
-Class <anonymous struct>
- size=112 align=4
-<anonymous struct> (0x302787c0) 0
-Class <anonymous struct>
- size=208 align=4
-<anonymous struct> (0x30278b40) 0
Class _quad
size=8 align=4
@@ -186,17 +120,11 @@ Class adspace_t
size=68 align=4
adspace_t (0x30281e00) 0
-Class <anonymous struct>
- size=24 align=8
-<anonymous struct> (0x302865c0) 0
Class label_t
size=100 align=4
label_t (0x30286d00) 0
-Class <anonymous struct>
- size=4 align=4
-<anonymous struct> (0x3028b780) 0
Class sigset
size=8 align=4
@@ -238,57 +166,18 @@ Class QByteRef
size=8 align=4
QByteRef (0x302b7540) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
-QTypeInfo<QByteArray> (0x30423740) 0 empty
-Class QFlags<Qt::MouseButton>
- size=4 align=4
-QFlags<Qt::MouseButton> (0x30431080) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
-QFlags<Qt::Orientation> (0x30431340) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
-QFlags<Qt::KeyboardModifier> (0x3042cc00) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
-QFlags<Qt::WindowType> (0x30442080) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
-QFlags<Qt::AlignmentFlag> (0x30431a00) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
-QFlags<Qt::ImageConversionFlag> (0x30448800) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
-QFlags<Qt::DockWidgetArea> (0x3046af00) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
-QFlags<Qt::ToolBarArea> (0x3046e200) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
-QFlags<Qt::WindowState> (0x304422c0) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
-QFlags<Qt::DropAction> (0x30474f80) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
-QFlags<Qt::ItemFlag> (0x30479700) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
-QFlags<Qt::MatchFlag> (0x30479a40) 0
Class QInternal
size=1 align=1
@@ -306,9 +195,6 @@ Class QString
size=4 align=4
QString (0x300a1f40) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
-QFlags<QString::SectionFlag> (0x303cf2c0) 0
Class QLatin1String
size=4 align=4
@@ -323,9 +209,6 @@ Class QConstString
QConstString (0x300b7640) 0
QString (0x300b7680) 0
-Class QTypeInfo<QString>
- size=1 align=1
-QTypeInfo<QString> (0x303901c0) 0 empty
Class QListData::Data
size=24 align=4
@@ -335,9 +218,6 @@ Class QListData
size=4 align=4
QListData (0x300732c0) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
-QFlags<QTextCodec::ConversionFlag> (0x302fb500) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -360,13 +240,7 @@ Class QTextCodec
QTextCodec (0x303bab80) 0 nearly-empty
vptr=((&QTextCodec::_ZTV10QTextCodec) + 8)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
-QList<QByteArray>::<anonymous union> (0x30120bc0) 0
-Class QList<QByteArray>
- size=4 align=4
-QList<QByteArray> (0x302cc980) 0
Class QTextEncoder
size=32 align=4
@@ -385,21 +259,12 @@ Class QGenericReturnArgument
QGenericReturnArgument (0x3036a6c0) 0
QGenericArgument (0x3036a700) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
-QMetaObject::<anonymous struct> (0x3009b300) 0
Class QMetaObject
size=16 align=4
QMetaObject (0x3058c900) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
-QList<QObject*>::<anonymous union> (0x30170600) 0
-Class QList<QObject*>
- size=4 align=4
-QList<QObject*> (0x30166f00) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4 entries
@@ -487,9 +352,6 @@ QIODevice (0x30365880) 0
QObject (0x301e4440) 0
primary-for QIODevice (0x30365880)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
-QFlags<QIODevice::OpenModeFlag> (0x301ebec0) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4 entries
@@ -507,38 +369,20 @@ Class QRegExp
size=4 align=4
QRegExp (0x303baa80) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
-QTypeInfo<QRegExp> (0x30148180) 0 empty
Class QStringMatcher
size=1036 align=4
QStringMatcher (0x3012d8c0) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
-QList<QString>::<anonymous union> (0x30104900) 0
-Class QList<QString>
- size=4 align=4
-QList<QString> (0x30104380) 0
Class QStringList
size=4 align=4
QStringList (0x303bab00) 0
QList<QString> (0x300c3280) 0
-Class QList<QString>::Node
- size=4 align=4
-QList<QString>::Node (0x301046c0) 0
-Class QList<QString>::iterator
- size=4 align=4
-QList<QString>::iterator (0x300eba00) 0
-Class QList<QString>::const_iterator
- size=4 align=4
-QList<QString>::const_iterator (0x300eb980) 0
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5 entries
@@ -664,9 +508,6 @@ Class QMapData
size=72 align=4
QMapData (0x304b4140) 0
-Class <anonymous struct>
- size=32 align=4
-<anonymous struct> (0x3052cd00) 0
Vtable for QTextStream
QTextStream::_ZTV11QTextStream: 4 entries
@@ -680,9 +521,6 @@ Class QTextStream
QTextStream (0x3050bbc0) 0
vptr=((&QTextStream::_ZTV11QTextStream) + 8)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
-QFlags<QTextStream::NumberFlag> (0x305082c0) 0
Class QTextStreamManipulator
size=24 align=4
@@ -767,41 +605,20 @@ QFile (0x3057c8c0) 0
QObject (0x3057c980) 0
primary-for QIODevice (0x3057c900)
-Class QFlags<QFile::Permission>
- size=4 align=4
-QFlags<QFile::Permission> (0x3058a380) 0
Class QFileInfo
size=4 align=4
QFileInfo (0x304b0580) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
-QFlags<QFileInfo::Permission> (0x304927c0) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
-QTypeInfo<QFileInfo> (0x30390480) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
-QList<QFileInfo>::<anonymous union> (0x301dfa40) 0
-Class QList<QFileInfo>
- size=4 align=4
-QList<QFileInfo> (0x301df900) 0
Class QDir
size=4 align=4
QDir (0x304b03c0) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
-QFlags<QDir::Filter> (0x30365600) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
-QFlags<QDir::SortFlag> (0x303ac7c0) 0
Vtable for QFileEngine
QFileEngine::_ZTV11QFileEngine: 35 entries
@@ -846,9 +663,6 @@ Class QFileEngine
QFileEngine (0x3057c7c0) 0
vptr=((&QFileEngine::_ZTV11QFileEngine) + 8)
-Class QFlags<QFileEngine::FileFlag>
- size=4 align=4
-QFlags<QFileEngine::FileFlag> (0x3031a080) 0
Vtable for QFileEngineHandler
QFileEngineHandler::_ZTV18QFileEngineHandler: 5 entries
@@ -910,73 +724,22 @@ Class QMetaType
size=1 align=1
QMetaType (0x30079000) 0 empty
-Class QMetaTypeId<QString>
- size=1 align=1
-QMetaTypeId<QString> (0x3011fb00) 0 empty
-Class QMetaTypeId<int>
- size=1 align=1
-QMetaTypeId<int> (0x3013d480) 0 empty
-Class QMetaTypeId<uint_t>
- size=1 align=1
-QMetaTypeId<uint_t> (0x30148440) 0 empty
-Class QMetaTypeId<bool>
- size=1 align=1
-QMetaTypeId<bool> (0x3015dfc0) 0 empty
-Class QMetaTypeId<double>
- size=1 align=1
-QMetaTypeId<double> (0x301937c0) 0 empty
-Class QMetaTypeId<QByteArray>
- size=1 align=1
-QMetaTypeId<QByteArray> (0x301a18c0) 0 empty
-Class QMetaTypeId<QChar>
- size=1 align=1
-QMetaTypeId<QChar> (0x301a5d00) 0 empty
-Class QMetaTypeId<void>
- size=1 align=1
-QMetaTypeId<void> (0x301ad500) 0 empty
-Class QMetaTypeId<long int>
- size=1 align=1
-QMetaTypeId<long int> (0x301add00) 0 empty
-Class QMetaTypeId<short int>
- size=1 align=1
-QMetaTypeId<short int> (0x301b22c0) 0 empty
-Class QMetaTypeId<char>
- size=1 align=1
-QMetaTypeId<char> (0x301b2b00) 0 empty
-Class QMetaTypeId<ulong_t>
- size=1 align=1
-QMetaTypeId<ulong_t> (0x301b6640) 0 empty
-Class QMetaTypeId<ushort_t>
- size=1 align=1
-QMetaTypeId<ushort_t> (0x301b6fc0) 0 empty
-Class QMetaTypeId<uchar_t>
- size=1 align=1
-QMetaTypeId<uchar_t> (0x301b9600) 0 empty
-Class QMetaTypeId<float>
- size=1 align=1
-QMetaTypeId<float> (0x301b9c00) 0 empty
-Class QMetaTypeId<QObject*>
- size=1 align=1
-QMetaTypeId<QObject*> (0x301c1740) 0 empty
-Class QMetaTypeId<QWidget*>
- size=1 align=1
-QMetaTypeId<QWidget*> (0x301d7f80) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -998,69 +761,24 @@ Class QVariant
size=16 align=8
QVariant (0x30166c00) 0
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
-QList<QVariant>::<anonymous union> (0x3057e500) 0
-Class QList<QVariant>
- size=4 align=4
-QList<QVariant> (0x302acd80) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
-QMap<QString, QVariant>::<anonymous union> (0x302ed8c0) 0
-Class QMap<QString, QVariant>
- size=4 align=4
-QMap<QString, QVariant> (0x302b7980) 0
Class QVariantComparisonHelper
size=4 align=4
QVariantComparisonHelper (0x30225880) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
-QTypeInfo<QVariant> (0x303e8900) 0 empty
-Class <anonymous struct>
- size=12 align=4
-<anonymous struct> (0x303dab00) 0
-Class <anonymous struct>
- size=44 align=4
-<anonymous struct> (0x303f70c0) 0
-Class <anonymous struct>
- size=76 align=4
-<anonymous struct> (0x303f7880) 0
-Class <anonymous struct>
- size=36 align=4
-<anonymous struct> (0x303fc640) 0
-Class <anonymous struct>
- size=56 align=4
-<anonymous struct> (0x303fcc40) 0
-Class <anonymous struct>
- size=36 align=4
-<anonymous struct> (0x30414340) 0
-Class <anonymous struct>
- size=28 align=4
-<anonymous struct> (0x30414f00) 0
-Class <anonymous struct>
- size=24 align=4
-<anonymous struct> (0x30486a40) 0
-Class <anonymous struct>
- size=28 align=4
-<anonymous struct> (0x30486d80) 0
-Class <anonymous struct>
- size=28 align=4
-<anonymous struct> (0x30492400) 0
Class lconv
size=56 align=4
@@ -1102,77 +820,41 @@ Class localeinfo_table
size=36 align=4
localeinfo_table (0x303d9cc0) 0
-Class <anonymous struct>
- size=108 align=4
-<anonymous struct> (0x304dc500) 0
Class _LC_charmap_objhdl
size=12 align=4
_LC_charmap_objhdl (0x304dcc80) 0
-Class <anonymous struct>
- size=92 align=4
-<anonymous struct> (0x30561040) 0
Class _LC_monetary_objhdl
size=12 align=4
_LC_monetary_objhdl (0x305614c0) 0
-Class <anonymous struct>
- size=48 align=4
-<anonymous struct> (0x30561800) 0
Class _LC_numeric_objhdl
size=12 align=4
_LC_numeric_objhdl (0x30561d00) 0
-Class <anonymous struct>
- size=56 align=4
-<anonymous struct> (0x30083180) 0
Class _LC_resp_objhdl
size=12 align=4
_LC_resp_objhdl (0x300838c0) 0
-Class <anonymous struct>
- size=248 align=4
-<anonymous struct> (0x30083c40) 0
Class _LC_time_objhdl
size=12 align=4
_LC_time_objhdl (0x3012c400) 0
-Class <anonymous struct>
- size=10 align=2
-<anonymous struct> (0x3012cc40) 0
-Class <anonymous struct>
- size=16 align=4
-<anonymous struct> (0x301df180) 0
-Class <anonymous struct>
- size=16 align=4
-<anonymous struct> (0x301df5c0) 0
-Class <anonymous struct>
- size=20 align=4
-<anonymous struct> (0x303acac0) 0
-Class <anonymous struct>
- size=104 align=4
-<anonymous struct> (0x30504a00) 0
Class _LC_collate_objhdl
size=12 align=4
_LC_collate_objhdl (0x301bfb80) 0
-Class <anonymous struct>
- size=8 align=4
-<anonymous struct> (0x301e8b00) 0
-Class <anonymous struct>
- size=80 align=4
-<anonymous struct> (0x305a0100) 0
Class _LC_ctype_objhdl
size=12 align=4
@@ -1186,17 +868,11 @@ Class _LC_locale_objhdl
size=12 align=4
_LC_locale_objhdl (0x303da600) 0
-Class _LC_object_handle::<anonymous union>
- size=12 align=4
-_LC_object_handle::<anonymous union> (0x305911c0) 0
Class _LC_object_handle
size=20 align=4
_LC_object_handle (0x30591080) 0
-Class <anonymous struct>
- size=24 align=4
-<anonymous struct> (0x3031ed80) 0
Vtable for QSettings
QSettings::_ZTV9QSettings: 14 entries
@@ -1271,13 +947,7 @@ Class QUrl
size=4 align=4
QUrl (0x302256c0) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
-QFlags<QUrl::FormattingOption> (0x306df180) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
-QTypeInfo<QUrl> (0x307c8900) 0 empty
Vtable for QEventLoop
QEventLoop::_ZTV10QEventLoop: 14 entries
@@ -1303,9 +973,6 @@ QEventLoop (0x30802000) 0
QObject (0x30802040) 0
primary-for QEventLoop (0x30802000)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0x30803740) 0
Vtable for QAbstractEventDispatcher
QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 27 entries
@@ -1348,17 +1015,11 @@ Class QModelIndex
size=16 align=4
QModelIndex (0x3049cc80) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
-QTypeInfo<QModelIndex> (0x304eb5c0) 0 empty
Class QPersistentModelIndex
size=4 align=4
QPersistentModelIndex (0x3049cb80) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
-QTypeInfo<QPersistentModelIndex> (0x3002e700) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42 entries
@@ -1524,9 +1185,6 @@ Class QBasicTimer
size=4 align=4
QBasicTimer (0x307fe180) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
-QTypeInfo<QBasicTimer> (0x30803300) 0 empty
Vtable for QEvent
QEvent::_ZTV6QEvent: 4 entries
@@ -1612,17 +1270,11 @@ Class QMetaMethod
size=8 align=4
QMetaMethod (0x30379340) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
-QTypeInfo<QMetaMethod> (0x30880740) 0 empty
Class QMetaEnum
size=8 align=4
QMetaEnum (0x303793c0) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
-QTypeInfo<QMetaEnum> (0x3088be80) 0 empty
Class QMetaProperty
size=20 align=4
@@ -1632,9 +1284,6 @@ Class QMetaClassInfo
size=8 align=4
QMetaClassInfo (0x30379540) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
-QTypeInfo<QMetaClassInfo> (0x308a3780) 0 empty
Vtable for QMimeData
QMimeData::_ZTV9QMimeData: 17 entries
@@ -1902,9 +1551,6 @@ Class QBitRef
size=8 align=4
QBitRef (0x305a6140) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
-QTypeInfo<QBitArray> (0x30864700) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -1922,65 +1568,41 @@ Class QHashDummyValue
size=1 align=1
QHashDummyValue (0x30893ec0) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
-QTypeInfo<QHashDummyValue> (0x30897f00) 0 empty
Class QDate
size=4 align=4
QDate (0x301eb4c0) 0
-Class QTypeInfo<QDate>
- size=1 align=1
-QTypeInfo<QDate> (0x300ebe80) 0 empty
Class QTime
size=4 align=4
QTime (0x301f1e80) 0
-Class QTypeInfo<QTime>
- size=1 align=1
-QTypeInfo<QTime> (0x30368c00) 0 empty
Class QDateTime
size=4 align=4
QDateTime (0x304b0440) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
-QTypeInfo<QDateTime> (0x304d4880) 0 empty
Class QPoint
size=8 align=4
QPoint (0x301f9d40) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
-QTypeInfo<QPoint> (0x307b9180) 0 empty
Class QPointF
size=16 align=8
QPointF (0x30200880) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
-QTypeInfo<QPointF> (0x307efcc0) 0 empty
Class QLine
size=16 align=4
QLine (0x301eb540) 0
-Class QTypeInfo<QLine>
- size=1 align=1
-QTypeInfo<QLine> (0x3098afc0) 0 empty
Class QLineF
size=32 align=8
QLineF (0x301eb600) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
-QTypeInfo<QLineF> (0x30a335c0) 0 empty
Class QLinkedListData
size=20 align=4
@@ -1990,41 +1612,26 @@ Class QLocale
size=4 align=4
QLocale (0x301eb800) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
-QTypeInfo<QLocale> (0x30822c80) 0 empty
Class QSize
size=8 align=4
QSize (0x30200a80) 0
-Class QTypeInfo<QSize>
- size=1 align=1
-QTypeInfo<QSize> (0x30864400) 0 empty
Class QSizeF
size=16 align=8
QSizeF (0x30209200) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
-QTypeInfo<QSizeF> (0x30a33a80) 0 empty
Class QRect
size=16 align=4
QRect (0x30213780) 0
-Class QTypeInfo<QRect>
- size=1 align=1
-QTypeInfo<QRect> (0x30aad700) 0 empty
Class QRectF
size=32 align=8
QRectF (0x302138c0) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
-QTypeInfo<QRectF> (0x30a1fdc0) 0 empty
Class QSharedData
size=4 align=4
@@ -2034,9 +1641,6 @@ Class QVectorData
size=16 align=4
QVectorData (0x30ad4ec0) 0
-Class QFlags<QSql::ParamTypeFlag>
- size=4 align=4
-QFlags<QSql::ParamTypeFlag> (0x30bc8b80) 0
Class QSqlRecord
size=4 align=4
@@ -2165,13 +1769,7 @@ Class QSqlField
size=24 align=8
QSqlField (0x30b1b040) 0
-Class QList<bool>::<anonymous union>
- size=4 align=4
-QList<bool>::<anonymous union> (0x304d4240) 0
-Class QList<bool>
- size=4 align=4
-QList<bool> (0x304d8ac0) 0
Class QSqlIndex
size=16 align=4
@@ -2423,11 +2021,5 @@ QSqlRelationalTableModel (0x30b5e180) 0
QObject (0x30b5e2c0) 0
primary-for QAbstractItemModel (0x30b5e280)
-Class QList<QByteArray>::Node
- size=4 align=4
-QList<QByteArray>::Node (0x30120ac0) 0
-Class QList<QFileInfo>::Node
- size=4 align=4
-QList<QFileInfo>::Node (0x301dfa00) 0
diff --git a/tests/auto/bic/data/QtSql.4.0.0.linux-gcc-amd64.txt b/tests/auto/bic/data/QtSql.4.0.0.linux-gcc-amd64.txt
index 0bb960a..07ab0ee 100644
--- a/tests/auto/bic/data/QtSql.4.0.0.linux-gcc-amd64.txt
+++ b/tests/auto/bic/data/QtSql.4.0.0.linux-gcc-amd64.txt
@@ -59,145 +59,37 @@ Class QBool
base size=1 base align=1
QBool (0x2aaaac200930) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0x2aaaac219850) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0x2aaaac219af0) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0x2aaaac219d90) 0 empty
-Class QTypeInfo<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned char> (0x2aaaac22f070) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0x2aaaac22f310) 0 empty
-Class QTypeInfo<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short unsigned int> (0x2aaaac22f5b0) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0x2aaaac22f850) 0 empty
-Class QTypeInfo<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned int> (0x2aaaac22faf0) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0x2aaaac22fd90) 0 empty
-Class QTypeInfo<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long unsigned int> (0x2aaaac242070) 0 empty
-Class QTypeInfo<long long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long int> (0x2aaaac242310) 0 empty
-Class QTypeInfo<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long unsigned int> (0x2aaaac2425b0) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0x2aaaac242850) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0x2aaaac242af0) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0x2aaaac242d90) 0 empty
Class QFlag
size=4 align=4
base size=4 base align=4
QFlag (0x2aaaac255000) 0
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0x2aaaac2e10e0) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0x2aaaac2e14d0) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0x2aaaac2e18c0) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0x2aaaac2e1cb0) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0x2aaaac3250e0) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0x2aaaac3254d0) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0x2aaaac3258c0) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0x2aaaac325cb0) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0x2aaaac36c0e0) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0x2aaaac36c4d0) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0x2aaaac36c8c0) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0x2aaaac36ccb0) 0
Class QInternal
size=1 align=1
@@ -215,10 +107,6 @@ Class QGenericReturnArgument
QGenericReturnArgument (0x2aaaac3b8700) 0
QGenericArgument (0x2aaaac3b8770) 0
-Class QMetaObject::<anonymous struct>
- size=32 align=8
- base size=32 base align=8
-QMetaObject::<anonymous struct> (0x2aaaac3df000) 0
Class QMetaObject
size=32 align=8
@@ -235,10 +123,6 @@ Class QChar
base size=2 base align=2
QChar (0x2aaaac3f3c40) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0x2aaaac426cb0) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -271,10 +155,6 @@ Class QByteRef
base size=12 base align=8
QByteRef (0x2aaaac55e310) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0x2aaaac5f2380) 0 empty
Class QString::Null
size=1 align=1
@@ -291,10 +171,6 @@ Class QString
base size=8 base align=8
QString (0x2aaaac5f2690) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0x2aaaac5f2ee0) 0
Class QLatin1String
size=8 align=8
@@ -312,10 +188,6 @@ Class QConstString
QConstString (0x2aaaac8b21c0) 0
QString (0x2aaaac8b2230) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0x2aaaac8b2770) 0 empty
Class QListData::Data
size=32 align=8
@@ -327,15 +199,7 @@ Class QListData
base size=8 base align=8
QListData (0x2aaaac8f3690) 0
-Class QList<QObject*>::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QList<QObject*>::<anonymous union> (0x2aaaaca155b0) 0
-Class QList<QObject*>
- size=8 align=8
- base size=8 base align=8
-QList<QObject*> (0x2aaaaca15460) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -427,10 +291,6 @@ QIODevice (0x2aaaaca84a10) 0
QObject (0x2aaaaca84a80) 0
primary-for QIODevice (0x2aaaaca84a10)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0x2aaaacab75b0) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -455,10 +315,6 @@ Class QMapData
base size=128 base align=8
QMapData (0x2aaaacb421c0) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0x2aaaacc5e0e0) 0
Class QTextCodec::ConverterState
size=32 align=8
@@ -483,15 +339,7 @@ Class QTextCodec
QTextCodec (0x2aaaacc37e00) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 16u)
-Class QList<QByteArray>::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QList<QByteArray>::<anonymous union> (0x2aaaacc7d9a0) 0
-Class QList<QByteArray>
- size=8 align=8
- base size=8 base align=8
-QList<QByteArray> (0x2aaaacc7d850) 0
Class QTextEncoder
size=40 align=8
@@ -503,30 +351,10 @@ Class QTextDecoder
base size=40 base align=8
QTextDecoder (0x2aaaaccb9700) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x2aaaaccb9b60) 0
-Class <anonymous struct>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct>::<anonymous union> (0x2aaaaccb9d20) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x2aaaaccb9c40) 0
-Class <anonymous struct>
- size=16 align=8
- base size=16 base align=8
-<anonymous struct> (0x2aaaaccb9e00) 0
-Class <anonymous struct>
- size=16 align=8
- base size=16 base align=8
-<anonymous struct> (0x2aaaaccb9ee0) 0
Class __gconv_trans_data
size=40 align=8
@@ -548,15 +376,7 @@ Class __gconv_info
base size=16 base align=8
__gconv_info (0x2aaaaccd4230) 0
-Class <anonymous union>::<anonymous struct>
- size=72 align=8
- base size=72 base align=8
-<anonymous union>::<anonymous struct> (0x2aaaaccd43f0) 0
-Class <anonymous union>
- size=72 align=8
- base size=72 base align=8
-<anonymous union> (0x2aaaaccd4310) 0
Class _IO_marker
size=24 align=8
@@ -568,10 +388,6 @@ Class _IO_FILE
base size=216 base align=8
_IO_FILE (0x2aaaaccd44d0) 0
-Class <anonymous struct>
- size=32 align=8
- base size=32 base align=8
-<anonymous struct> (0x2aaaaccd45b0) 0
Vtable for QTextStream
QTextStream::_ZTV11QTextStream: 4u entries
@@ -586,10 +402,6 @@ Class QTextStream
QTextStream (0x2aaaaccd4620) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 16u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0x2aaaacd3d8c0) 0
Class QTextStreamManipulator
size=40 align=8
@@ -680,10 +492,6 @@ QFile (0x2aaaace21380) 0
QObject (0x2aaaace21460) 0
primary-for QIODevice (0x2aaaace213f0)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0x2aaaace53230) 0
Vtable for QTemporaryFile
QTemporaryFile::_ZTV14QTemporaryFile: 31u entries
@@ -736,25 +544,13 @@ Class QRegExp
base size=8 base align=8
QRegExp (0x2aaaace84000) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0x2aaaace84e70) 0 empty
Class QStringMatcher
size=1048 align=8
base size=1044 base align=8
QStringMatcher (0x2aaaacea90e0) 0
-Class QList<QString>::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QList<QString>::<anonymous union> (0x2aaaacea9690) 0
-Class QList<QString>
- size=8 align=8
- base size=8 base align=8
-QList<QString> (0x2aaaacea9540) 0
Class QStringList
size=8 align=8
@@ -762,15 +558,7 @@ Class QStringList
QStringList (0x2aaaacea97e0) 0
QList<QString> (0x2aaaacea9850) 0
-Class QList<QString>::iterator
- size=8 align=8
- base size=8 base align=8
-QList<QString>::iterator (0x2aaaaceff690) 0
-Class QList<QString>::const_iterator
- size=8 align=8
- base size=8 base align=8
-QList<QString>::const_iterator (0x2aaaaceffa10) 0
Vtable for QProcess
QProcess::_ZTV8QProcess: 31u entries
@@ -864,145 +652,45 @@ Class QFileInfo
base size=8 base align=8
QFileInfo (0x2aaaacf85380) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0x2aaaacf85e00) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0x2aaaacfc22a0) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QList<QFileInfo>::<anonymous union> (0x2aaaacfc2a10) 0
-Class QList<QFileInfo>
- size=8 align=8
- base size=8 base align=8
-QList<QFileInfo> (0x2aaaacfc28c0) 0
Class QDir
size=8 align=8
base size=8 base align=8
QDir (0x2aaaacfc2b60) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0x2aaaacfc2e00) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0x2aaaad025070) 0
Class QUrl
size=8 align=8
base size=8 base align=8
QUrl (0x2aaaad060d20) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0x2aaaad0a9070) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0x2aaaad0e12a0) 0 empty
Class QMetaType
size=1 align=1
base size=0 base align=1
QMetaType (0x2aaaad0e18c0) 0 empty
-Class QMetaTypeId<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QString> (0x2aaaad105000) 0 empty
-Class QMetaTypeId<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<int> (0x2aaaad1051c0) 0 empty
-Class QMetaTypeId<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<unsigned int> (0x2aaaad105380) 0 empty
-Class QMetaTypeId<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<bool> (0x2aaaad105540) 0 empty
-Class QMetaTypeId<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<double> (0x2aaaad105700) 0 empty
-Class QMetaTypeId<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QByteArray> (0x2aaaad1058c0) 0 empty
-Class QMetaTypeId<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QChar> (0x2aaaad105a80) 0 empty
-Class QMetaTypeId<void>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<void> (0x2aaaad105c40) 0 empty
-Class QMetaTypeId<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<long int> (0x2aaaad105e00) 0 empty
-Class QMetaTypeId<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<short int> (0x2aaaad112000) 0 empty
-Class QMetaTypeId<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<char> (0x2aaaad1121c0) 0 empty
-Class QMetaTypeId<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<long unsigned int> (0x2aaaad112380) 0 empty
-Class QMetaTypeId<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<short unsigned int> (0x2aaaad112540) 0 empty
-Class QMetaTypeId<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<unsigned char> (0x2aaaad112700) 0 empty
-Class QMetaTypeId<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<float> (0x2aaaad1128c0) 0 empty
-Class QMetaTypeId<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QObject*> (0x2aaaad112a80) 0 empty
-Class QMetaTypeId<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QWidget*> (0x2aaaad112c40) 0 empty
Class QVariant::PrivateShared
size=16 align=8
@@ -1029,35 +717,15 @@ Class QVariant
base size=16 base align=8
QVariant (0x2aaaad112d90) 0
-Class QList<QVariant>::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QList<QVariant>::<anonymous union> (0x2aaaad1a0f50) 0
-Class QList<QVariant>
- size=8 align=8
- base size=8 base align=8
-QList<QVariant> (0x2aaaad1a0e00) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QMap<QString, QVariant>::<anonymous union> (0x2aaaad1d0310) 0
-Class QMap<QString, QVariant>
- size=8 align=8
- base size=8 base align=8
-QMap<QString, QVariant> (0x2aaaad1d01c0) 0
Class QVariantComparisonHelper
size=8 align=8
base size=8 base align=8
QVariantComparisonHelper (0x2aaaad210c40) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0x2aaaad228700) 0 empty
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1128,10 +796,6 @@ Class QFileEngine
QFileEngine (0x2aaaad294b60) 0
vptr=((& QFileEngine::_ZTV11QFileEngine) + 16u)
-Class QFlags<QFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileEngine::FileFlag> (0x2aaaad294f50) 0
Vtable for QFileEngineHandler
QFileEngineHandler::_ZTV18QFileEngineHandler: 5u entries
@@ -1162,90 +826,54 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0x2aaaad2dc7e0) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0x2aaaad2dc9a0) 0 empty
Class QPoint
size=8 align=4
base size=8 base align=4
QPoint (0x2aaaad407cb0) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0x2aaaad425230) 0 empty
Class QPointF
size=16 align=8
base size=16 base align=8
QPointF (0x2aaaad453070) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0x2aaaad453850) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0x2aaaad484850) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0x2aaaad484a10) 0 empty
Class QLineF
size=32 align=8
base size=32 base align=8
QLineF (0x2aaaad4b8310) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0x2aaaad4b88c0) 0 empty
Class QSize
size=8 align=4
base size=8 base align=4
QSize (0x2aaaad4f09a0) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0x2aaaad4f0bd0) 0 empty
Class QSizeF
size=16 align=8
base size=16 base align=8
QSizeF (0x2aaaad541310) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0x2aaaad541a10) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0x2aaaad5901c0) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0x2aaaad5903f0) 0 empty
Class QRectF
size=32 align=8
base size=32 base align=8
QRectF (0x2aaaad63caf0) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0x2aaaad66ba80) 0 empty
Class QLinkedListData
size=32 align=8
@@ -1262,10 +890,6 @@ Class QBitRef
base size=12 base align=8
QBitRef (0x2aaaad7dec40) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0x2aaaad7f5850) 0 empty
Class QVectorData
size=16 align=4
@@ -1287,40 +911,24 @@ Class QLocale
base size=8 base align=8
QLocale (0x2aaaad917930) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0x2aaaad9623f0) 0 empty
Class QDate
size=4 align=4
base size=4 base align=4
QDate (0x2aaaad9bda80) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0x2aaaad9e3c40) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0x2aaaad9e3e70) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0x2aaaada0b9a0) 0 empty
Class QDateTime
size=8 align=8
base size=8 base align=8
QDateTime (0x2aaaada0bbd0) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0x2aaaada2b770) 0 empty
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -1480,10 +1088,6 @@ QEventLoop (0x2aaaadab1310) 0
QObject (0x2aaaadab1380) 0
primary-for QEventLoop (0x2aaaadab1310)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0x2aaaadab1770) 0
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -1575,20 +1179,12 @@ Class QModelIndex
base size=24 base align=8
QModelIndex (0x2aaaadb2a850) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0x2aaaadb45a80) 0 empty
Class QPersistentModelIndex
size=8 align=8
base size=8 base align=8
QPersistentModelIndex (0x2aaaadb58000) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0x2aaaadb58230) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -1808,10 +1404,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0x2aaaadbe98c0) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0x2aaaadc23150) 0 empty
Vtable for QSocketNotifier
QSocketNotifier::_ZTV15QSocketNotifier: 14u entries
@@ -1906,20 +1498,12 @@ Class QMetaMethod
base size=12 base align=8
QMetaMethod (0x2aaaadc4df50) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0x2aaaadc73310) 0 empty
Class QMetaEnum
size=16 align=8
base size=12 base align=8
QMetaEnum (0x2aaaadc73540) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0x2aaaadc73a10) 0 empty
Class QMetaProperty
size=32 align=8
@@ -1931,10 +1515,6 @@ Class QMetaClassInfo
base size=12 base align=8
QMetaClassInfo (0x2aaaadc73d90) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0x2aaaadc8f1c0) 0 empty
Vtable for QPluginLoader
QPluginLoader::_ZTV13QPluginLoader: 14u entries
@@ -2062,15 +1642,7 @@ Class QSqlRecord
base size=8 base align=8
QSqlRecord (0x2aaaadd3c460) 0
-Class QList<bool>::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QList<bool>::<anonymous union> (0x2aaaadd3cb60) 0
-Class QList<bool>
- size=8 align=8
- base size=8 base align=8
-QList<bool> (0x2aaaadd3ca10) 0
Class QSqlIndex
size=32 align=8
@@ -2078,10 +1650,6 @@ Class QSqlIndex
QSqlIndex (0x2aaaadd3c7e0) 0
QSqlRecord (0x2aaaadd3c850) 0
-Class QFlags<QSql::ParamTypeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QSql::ParamTypeFlag> (0x2aaaadd892a0) 0
Vtable for QSqlResult
QSqlResult::_ZTV10QSqlResult: 29u entries
@@ -2464,18 +2032,6 @@ QSqlRelationalTableModel (0x2aaaade85d20) 0
QObject (0x2aaaade85f50) 0
primary-for QAbstractItemModel (0x2aaaade85ee0)
-Class QList<QByteArray>::Node
- size=8 align=8
- base size=8 base align=8
-QList<QByteArray>::Node (0x2aaaadf445b0) 0
-Class QList<QString>::Node
- size=8 align=8
- base size=8 base align=8
-QList<QString>::Node (0x2aaaadf7f690) 0
-Class QList<QFileInfo>::Node
- size=8 align=8
- base size=8 base align=8
-QList<QFileInfo>::Node (0x2aaaae0c3380) 0
diff --git a/tests/auto/bic/data/QtSql.4.0.0.linux-gcc-ia32.txt b/tests/auto/bic/data/QtSql.4.0.0.linux-gcc-ia32.txt
index 9357a01..10ecbeb 100644
--- a/tests/auto/bic/data/QtSql.4.0.0.linux-gcc-ia32.txt
+++ b/tests/auto/bic/data/QtSql.4.0.0.linux-gcc-ia32.txt
@@ -59,145 +59,37 @@ Class QBool
base size=1 base align=1
QBool (0x4001ef40) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0x4001ed80) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0x40abe000) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0x40abe040) 0 empty
-Class QTypeInfo<uchar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uchar> (0x40abe080) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0x40abe0c0) 0 empty
-Class QTypeInfo<ushort>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ushort> (0x40abe100) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0x40abe140) 0 empty
-Class QTypeInfo<uint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uint> (0x40abe180) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0x40abe1c0) 0 empty
-Class QTypeInfo<ulong>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ulong> (0x40abe200) 0 empty
-Class QTypeInfo<qint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<qint64> (0x40abe240) 0 empty
-Class QTypeInfo<quint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<quint64> (0x40abe280) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0x40abe2c0) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0x40abe300) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0x40abe340) 0 empty
Class QFlag
size=4 align=4
base size=4 base align=4
QFlag (0x40abe380) 0
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0x40abe540) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0x40abe5c0) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0x40abe640) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0x40abe6c0) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0x40abe740) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0x40abe7c0) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0x40abe840) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0x40abe8c0) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0x40abe940) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0x40abe9c0) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0x40abea40) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0x40abeac0) 0
Class QInternal
size=1 align=1
@@ -215,10 +107,6 @@ Class QGenericReturnArgument
QGenericReturnArgument (0x40abec00) 0
QGenericArgument (0x40abec40) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0x40abee40) 0
Class QMetaObject
size=16 align=4
@@ -235,10 +123,6 @@ Class QChar
base size=2 base align=2
QChar (0x40abef40) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0x40bd1000) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -271,10 +155,6 @@ Class QByteRef
base size=8 base align=4
QByteRef (0x40bd1700) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0x40bd1780) 0 empty
Class QString::Null
size=1 align=1
@@ -296,10 +176,6 @@ Class QLatin1String
base size=4 base align=4
QLatin1String (0x40bd19c0) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0x40bd1b00) 0
Class QCharRef
size=8 align=4
@@ -312,10 +188,6 @@ Class QConstString
QConstString (0x40bd1cc0) 0
QString (0x40bd1d00) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0x40bd1d80) 0 empty
Class QListData::Data
size=24 align=4
@@ -327,15 +199,7 @@ Class QListData
base size=4 base align=4
QListData (0x40bd1e80) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0x40e772c0) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0x40e77200) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -427,10 +291,6 @@ QIODevice (0x40e77500) 0
QObject (0x40e77540) 0
primary-for QIODevice (0x40e77500)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0x40e77680) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -455,10 +315,6 @@ Class QMapData
base size=72 base align=4
QMapData (0x40e77780) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0x40e77d40) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -483,15 +339,7 @@ Class QTextCodec
QTextCodec (0x40e77c40) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0x40e77fc0) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0x40e77f00) 0
Class QTextEncoder
size=32 align=4
@@ -503,30 +351,10 @@ Class QTextDecoder
base size=32 base align=4
QTextDecoder (0x40e773c0) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x40e77700) 0
-Class <anonymous struct>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct>::<anonymous union> (0x40e77cc0) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x40e77a80) 0
-Class <anonymous struct>
- size=12 align=4
- base size=12 base align=4
-<anonymous struct> (0x40e77d80) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0x41066000) 0
Class __gconv_trans_data
size=20 align=4
@@ -548,15 +376,7 @@ Class __gconv_info
base size=8 base align=4
__gconv_info (0x41066100) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0x41066180) 0
-Class <anonymous union>
- size=44 align=4
- base size=44 base align=4
-<anonymous union> (0x41066140) 0
Class _IO_marker
size=12 align=4
@@ -568,10 +388,6 @@ Class _IO_FILE
base size=148 base align=4
_IO_FILE (0x41066200) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0x41066240) 0
Vtable for QTextStream
QTextStream::_ZTV11QTextStream: 4u entries
@@ -586,10 +402,6 @@ Class QTextStream
QTextStream (0x41066280) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0x410663c0) 0
Class QTextStreamManipulator
size=24 align=4
@@ -680,10 +492,6 @@ QFile (0x41066b00) 0
QObject (0x41066b80) 0
primary-for QIODevice (0x41066b40)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0x41066c80) 0
Vtable for QTemporaryFile
QTemporaryFile::_ZTV14QTemporaryFile: 31u entries
@@ -736,25 +544,13 @@ Class QRegExp
base size=4 base align=4
QRegExp (0x41066e40) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0x41066ec0) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0x41066f00) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0x410665c0) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0x41066f80) 0
Class QStringList
size=4 align=4
@@ -762,15 +558,7 @@ Class QStringList
QStringList (0x41066780) 0
QList<QString> (0x41066bc0) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0x411761c0) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0x41176240) 0
Vtable for QProcess
QProcess::_ZTV8QProcess: 31u entries
@@ -864,145 +652,45 @@ Class QFileInfo
base size=4 base align=4
QFileInfo (0x411766c0) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0x41176740) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0x41176780) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0x411768c0) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0x41176800) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0x41176900) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0x411769c0) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0x41176a80) 0
Class QUrl
size=4 align=4
base size=4 base align=4
QUrl (0x41176b00) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0x41176c00) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0x41176c40) 0 empty
Class QMetaType
size=1 align=1
base size=0 base align=1
QMetaType (0x41176c80) 0 empty
-Class QMetaTypeId<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QString> (0x41176d00) 0 empty
-Class QMetaTypeId<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<int> (0x41176d40) 0 empty
-Class QMetaTypeId<uint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<uint> (0x41176d80) 0 empty
-Class QMetaTypeId<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<bool> (0x41176dc0) 0 empty
-Class QMetaTypeId<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<double> (0x41176e00) 0 empty
-Class QMetaTypeId<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QByteArray> (0x41176e40) 0 empty
-Class QMetaTypeId<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QChar> (0x41176e80) 0 empty
-Class QMetaTypeId<void>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<void> (0x41176ec0) 0 empty
-Class QMetaTypeId<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<long int> (0x41176f00) 0 empty
-Class QMetaTypeId<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<short int> (0x41176f40) 0 empty
-Class QMetaTypeId<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<char> (0x41176f80) 0 empty
-Class QMetaTypeId<ulong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<ulong> (0x41176fc0) 0 empty
-Class QMetaTypeId<ushort>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<ushort> (0x41176500) 0 empty
-Class QMetaTypeId<uchar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<uchar> (0x41176640) 0 empty
-Class QMetaTypeId<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<float> (0x412a2000) 0 empty
-Class QMetaTypeId<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QObject*> (0x412a2040) 0 empty
-Class QMetaTypeId<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QWidget*> (0x412a2080) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -1029,35 +717,15 @@ Class QVariant
base size=12 base align=4
QVariant (0x412a20c0) 0
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0x412a2680) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0x412a25c0) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0x412a2800) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0x412a2740) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0x412a2a40) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0x412a2b40) 0 empty
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1142,10 +810,6 @@ Class QFileEngineHandler
QFileEngineHandler (0x412a2e00) 0 nearly-empty
vptr=((& QFileEngineHandler::_ZTV18QFileEngineHandler) + 8u)
-Class QFlags<QFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileEngine::FileFlag> (0x412a2f00) 0
Class QHashData::Node
size=8 align=4
@@ -1162,90 +826,54 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0x412a2200) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0x412a2280) 0 empty
Class QPoint
size=8 align=4
base size=8 base align=4
QPoint (0x413ad340) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0x413ad780) 0 empty
Class QPointF
size=16 align=4
base size=16 base align=4
QPointF (0x413ad840) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0x413adc80) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0x413add80) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0x413addc0) 0 empty
Class QLineF
size=32 align=4
base size=32 base align=4
QLineF (0x413adec0) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0x413adf40) 0 empty
Class QSize
size=8 align=4
base size=8 base align=4
QSize (0x413ad380) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0x413ad880) 0 empty
Class QSizeF
size=16 align=4
base size=16 base align=4
QSizeF (0x413adb00) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0x414e2280) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0x414e2480) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0x414e2680) 0 empty
Class QRectF
size=32 align=4
base size=32 base align=4
QRectF (0x414e2780) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0x414e2900) 0 empty
Class QLinkedListData
size=20 align=4
@@ -1262,10 +890,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0x414e2f40) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0x414e2fc0) 0 empty
Class QVectorData
size=16 align=4
@@ -1287,40 +911,24 @@ Class QLocale
base size=4 base align=4
QLocale (0x416e3100) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0x416e3140) 0 empty
Class QDate
size=4 align=4
base size=4 base align=4
QDate (0x416e32c0) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0x416e3440) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0x416e3480) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0x416e3600) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0x416e3640) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0x416e3780) 0 empty
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -1480,10 +1088,6 @@ QEventLoop (0x416e3f00) 0
QObject (0x416e3f40) 0
primary-for QEventLoop (0x416e3f00)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0x416e3380) 0
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -1575,20 +1179,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0x417fa100) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0x417fa200) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0x417fa280) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0x417fa340) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -1808,10 +1404,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0x417fa900) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0x417fa9c0) 0 empty
Vtable for QSocketNotifier
QSocketNotifier::_ZTV15QSocketNotifier: 14u entries
@@ -1906,20 +1498,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0x417fad00) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0x417fad80) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0x417fadc0) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0x417fae40) 0 empty
Class QMetaProperty
size=20 align=4
@@ -1931,10 +1515,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0x417faec0) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0x417faf40) 0 empty
Vtable for QPluginLoader
QPluginLoader::_ZTV13QPluginLoader: 14u entries
@@ -2062,15 +1642,7 @@ Class QSqlRecord
base size=4 base align=4
QSqlRecord (0x418f6480) 0
-Class QList<bool>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<bool>::<anonymous union> (0x418f6680) 0
-Class QList<bool>
- size=4 align=4
- base size=4 base align=4
-QList<bool> (0x418f65c0) 0
Class QSqlIndex
size=16 align=4
@@ -2078,10 +1650,6 @@ Class QSqlIndex
QSqlIndex (0x418f64c0) 0
QSqlRecord (0x418f6500) 0
-Class QFlags<QSql::ParamTypeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QSql::ParamTypeFlag> (0x418f6740) 0
Vtable for QSqlResult
QSqlResult::_ZTV10QSqlResult: 29u entries
@@ -2464,18 +2032,6 @@ QSqlRelationalTableModel (0x419db000) 0
QObject (0x419db140) 0
primary-for QAbstractItemModel (0x419db100)
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0x41a22680) 0
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0x41a22d40) 0
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0x41ae8100) 0
diff --git a/tests/auto/bic/data/QtSql.4.0.0.linux-gcc-ppc32.txt b/tests/auto/bic/data/QtSql.4.0.0.linux-gcc-ppc32.txt
index a279f27..76e4171 100644
--- a/tests/auto/bic/data/QtSql.4.0.0.linux-gcc-ppc32.txt
+++ b/tests/auto/bic/data/QtSql.4.0.0.linux-gcc-ppc32.txt
@@ -59,145 +59,37 @@ Class QBool
base size=1 base align=1
QBool (0x30ab7540) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0x30ab77e0) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0x30ab7888) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0x30ab7930) 0 empty
-Class QTypeInfo<uchar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uchar> (0x30ab79d8) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0x30ab7a80) 0 empty
-Class QTypeInfo<ushort>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ushort> (0x30ab7b28) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0x30ab7bd0) 0 empty
-Class QTypeInfo<uint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uint> (0x30ab7c78) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0x30ab7d20) 0 empty
-Class QTypeInfo<ulong>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ulong> (0x30ab7dc8) 0 empty
-Class QTypeInfo<qint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<qint64> (0x30ab7e70) 0 empty
-Class QTypeInfo<quint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<quint64> (0x30ab7f18) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0x30ab7fc0) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0x30af3000) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0x30af30a8) 0 empty
Class QFlag
size=4 align=4
base size=4 base align=4
QFlag (0x30af3118) 0
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0x30af3620) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0x30af3690) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0x30af3700) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0x30af3770) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0x30af37e0) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0x30af3850) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0x30af38c0) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0x30af3930) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0x30af39a0) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0x30af3a10) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0x30af3a80) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0x30af3af0) 0
Class QInternal
size=1 align=1
@@ -215,10 +107,6 @@ Class QGenericReturnArgument
QGenericReturnArgument (0x30187980) 0
QGenericArgument (0x30af3c08) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0x30af3dc8) 0
Class QMetaObject
size=16 align=4
@@ -235,10 +123,6 @@ Class QChar
base size=2 base align=2
QChar (0x30af3ea8) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0x30af3f50) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -271,10 +155,6 @@ Class QByteRef
base size=8 base align=4
QByteRef (0x30bf0af0) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0x30bf0e38) 0 empty
Class QString::Null
size=1 align=1
@@ -296,20 +176,12 @@ Class QLatin1String
base size=4 base align=4
QLatin1String (0x30d190a8) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0x30d193f0) 0
Class QCharRef
size=8 align=4
base size=8 base align=4
QCharRef (0x30d19428) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0x30d19d58) 0 empty
Class QListData::Data
size=24 align=4
@@ -321,15 +193,7 @@ Class QListData
base size=4 base align=4
QListData (0x30d19f50) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0x30e0f498) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0x30e0f3f0) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -421,10 +285,6 @@ QIODevice (0x30187b80) 0
QObject (0x30e0f930) 0
primary-for QIODevice (0x30187b80)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0x30e0faf0) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -449,30 +309,10 @@ Class QMapData
base size=72 base align=4
QMapData (0x30e0ff18) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x30f1e348) 0
-Class <anonymous struct>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct>::<anonymous union> (0x30f1e428) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x30f1e3b8) 0
-Class <anonymous struct>
- size=12 align=4
- base size=12 base align=4
-<anonymous struct> (0x30f1e498) 0
-Class <anonymous struct>
- size=16 align=8
- base size=16 base align=8
-<anonymous struct> (0x30f1e508) 0
Class __gconv_trans_data
size=20 align=4
@@ -494,15 +334,7 @@ Class __gconv_info
base size=8 base align=4
__gconv_info (0x30f1e658) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0x30f1e738) 0
-Class <anonymous union>
- size=44 align=4
- base size=44 base align=4
-<anonymous union> (0x30f1e6c8) 0
Class _IO_marker
size=12 align=4
@@ -514,10 +346,6 @@ Class _IO_FILE
base size=152 base align=8
_IO_FILE (0x30f1e7a8) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0x30f1e818) 0
Vtable for QTextStream
QTextStream::_ZTV11QTextStream: 4u entries
@@ -532,10 +360,6 @@ Class QTextStream
QTextStream (0x30f1e850) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0x30f1ea10) 0
Class QTextStreamManipulator
size=24 align=4
@@ -596,10 +420,6 @@ QFile (0x30187d00) 0
QObject (0x30f1ef88) 0
primary-for QIODevice (0x30187d40)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0x3103f0a8) 0
Vtable for QTemporaryFile
QTemporaryFile::_ZTV14QTemporaryFile: 31u entries
@@ -652,25 +472,13 @@ Class QRegExp
base size=4 base align=4
QRegExp (0x3103f1f8) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0x3103f268) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0x3103f2d8) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0x3103f498) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0x3103f3f0) 0
Class QStringList
size=4 align=4
@@ -770,130 +578,42 @@ Class QFileInfo
base size=4 base align=4
QFileInfo (0x3103fc78) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0x3103fce8) 0 empty
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0x3103fd90) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0x3103fea8) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0x3103ff18) 0
Class QUrl
size=4 align=4
base size=4 base align=4
QUrl (0x3103ffc0) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0x31114000) 0 empty
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0x311140a8) 0
Class QMetaType
size=1 align=1
base size=0 base align=1
QMetaType (0x311140e0) 0 empty
-Class QMetaTypeId<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QString> (0x311141c0) 0 empty
-Class QMetaTypeId<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<int> (0x31114230) 0 empty
-Class QMetaTypeId<uint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<uint> (0x311142a0) 0 empty
-Class QMetaTypeId<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<bool> (0x31114310) 0 empty
-Class QMetaTypeId<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<double> (0x31114380) 0 empty
-Class QMetaTypeId<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QByteArray> (0x311143f0) 0 empty
-Class QMetaTypeId<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QChar> (0x31114460) 0 empty
-Class QMetaTypeId<void>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<void> (0x311144d0) 0 empty
-Class QMetaTypeId<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<long int> (0x31114540) 0 empty
-Class QMetaTypeId<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<short int> (0x311145b0) 0 empty
-Class QMetaTypeId<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<char> (0x31114620) 0 empty
-Class QMetaTypeId<ulong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<ulong> (0x31114690) 0 empty
-Class QMetaTypeId<ushort>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<ushort> (0x31114700) 0 empty
-Class QMetaTypeId<uchar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<uchar> (0x31114770) 0 empty
-Class QMetaTypeId<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<float> (0x311147e0) 0 empty
-Class QMetaTypeId<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QObject*> (0x31114850) 0 empty
-Class QMetaTypeId<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QWidget*> (0x311148c0) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -920,35 +640,15 @@ Class QVariant
base size=16 base align=8
QVariant (0x311148f8) 0
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0x31114e70) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0x31114dc8) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0x31114af0) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0x31114f88) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0x311a30e0) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0x311a31f8) 0 empty
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1033,10 +733,6 @@ Class QFileEngineHandler
QFileEngineHandler (0x311a3540) 0 nearly-empty
vptr=((& QFileEngineHandler::_ZTV18QFileEngineHandler) + 8u)
-Class QFlags<QFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileEngine::FileFlag> (0x311a36c8) 0
Class QHashData::Node
size=8 align=4
@@ -1053,90 +749,54 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0x311a38c0) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0x311a3930) 0 empty
Class QPoint
size=8 align=4
base size=8 base align=4
QPoint (0x311a3000) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0x3129c188) 0 empty
Class QPointF
size=16 align=8
base size=16 base align=8
QPointF (0x3129c310) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0x3129c700) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0x3129c8c0) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0x3129c930) 0 empty
Class QLineF
size=32 align=8
base size=32 base align=8
QLineF (0x3129ca80) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0x3129cb28) 0 empty
Class QSize
size=8 align=4
base size=8 base align=4
QSize (0x3129ccb0) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0x3129c070) 0 empty
Class QSizeF
size=16 align=8
base size=16 base align=8
QSizeF (0x3129cd58) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0x3133d118) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0x3133d428) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0x3133d620) 0 empty
Class QRectF
size=32 align=8
base size=32 base align=8
QRectF (0x3133d850) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0x3133d9d8) 0 empty
Class QLinkedListData
size=20 align=4
@@ -1153,10 +813,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0x31486268) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0x31486380) 0 empty
Class QVectorData
size=16 align=4
@@ -1178,40 +834,24 @@ Class QLocale
base size=4 base align=4
QLocale (0x31486930) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0x314869a0) 0 empty
Class QDate
size=4 align=4
base size=4 base align=4
QDate (0x31486b98) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0x31486d58) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0x31486dc8) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0x31486f50) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0x31486fc0) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0x31486e70) 0 empty
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -1286,10 +926,6 @@ QTextCodecPlugin (0x311ac280) 0
QFactoryInterface (0x315cb498) 8 nearly-empty
primary-for QTextCodecFactoryInterface (0x311ac2c0)
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0x315cb8c0) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -1409,10 +1045,6 @@ QEventLoop (0x311ac3c0) 0
QObject (0x315cbe00) 0
primary-for QEventLoop (0x311ac3c0)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0x315cbf88) 0
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -1489,20 +1121,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0x31652428) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0x316525b0) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0x31652658) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0x31652770) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -1722,10 +1346,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0x31652e38) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0x31652f18) 0 empty
Vtable for QSocketNotifier
QSocketNotifier::_ZTV15QSocketNotifier: 14u entries
@@ -1820,20 +1440,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0x316ef118) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0x316ef1c0) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0x316ef230) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0x316ef2d8) 0 empty
Class QMetaProperty
size=20 align=4
@@ -1845,10 +1457,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0x316ef380) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0x316ef428) 0 empty
Vtable for QPluginLoader
QPluginLoader::_ZTV13QPluginLoader: 14u entries
@@ -1976,15 +1584,7 @@ Class QSqlRecord
base size=4 base align=4
QSqlRecord (0x316efd20) 0
-Class QList<bool>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<bool>::<anonymous union> (0x316efee0) 0
-Class QList<bool>
- size=4 align=4
- base size=4 base align=4
-QList<bool> (0x316efe38) 0
Class QSqlIndex
size=16 align=4
@@ -1992,10 +1592,6 @@ Class QSqlIndex
QSqlIndex (0x311ac800) 0
QSqlRecord (0x316efd58) 0
-Class QFlags<QSql::ParamTypeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QSql::ParamTypeFlag> (0x316ef540) 0
Vtable for QSqlResult
QSqlResult::_ZTV10QSqlResult: 29u entries
@@ -2378,8 +1974,4 @@ QSqlRelationalTableModel (0x311acb40) 0
QObject (0x3179db60) 0
primary-for QAbstractItemModel (0x311acc40)
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0x318b9b98) 0
diff --git a/tests/auto/bic/data/QtSql.4.0.0.macx-gcc-ppc32.txt b/tests/auto/bic/data/QtSql.4.0.0.macx-gcc-ppc32.txt
index 6cc4886..719d47f 100644
--- a/tests/auto/bic/data/QtSql.4.0.0.macx-gcc-ppc32.txt
+++ b/tests/auto/bic/data/QtSql.4.0.0.macx-gcc-ppc32.txt
@@ -59,75 +59,19 @@ Class QBool
base size=4 base align=4
QBool (0x7b8880) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0x7b8bc0) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0x7b8c80) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0x7b8d40) 0 empty
-Class QTypeInfo<uchar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uchar> (0x7b8e00) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0x7b8ec0) 0 empty
-Class QTypeInfo<ushort>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ushort> (0x7b8f80) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0x7b8300) 0 empty
-Class QTypeInfo<uint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uint> (0x7fe040) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0x7fe100) 0 empty
-Class QTypeInfo<ulong>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ulong> (0x7fe1c0) 0 empty
-Class QTypeInfo<qint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<qint64> (0x7fe280) 0 empty
-Class QTypeInfo<quint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<quint64> (0x7fe340) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0x7fe400) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0x7fe4c0) 0 empty
Class QFlag
size=4 align=4
@@ -144,10 +88,6 @@ Class QChar
base size=2 base align=2
QChar (0x7fe7c0) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0x7fe8c0) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -160,10 +100,6 @@ Class QAtomic
QAtomic (0x7fec80) 0
QBasicAtomic (0x7fecc0) 0
-Class <anonymous union>
- size=128 align=8
- base size=128 base align=8
-<anonymous union> (0x7fef40) 0
Class __darwin_pthread_handler_rec
size=12 align=4
@@ -245,70 +181,18 @@ Class QByteRef
base size=8 base align=4
QByteRef (0xebcbc0) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0xebcf80) 0 empty
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0xfb3440) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0xfb34c0) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0xfb3540) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0xfb35c0) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0xfb3640) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0xfb36c0) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0xfb3740) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0xfb37c0) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0xfb3840) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0xfb38c0) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0xfb3940) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0xfb39c0) 0
Class QInternal
size=1 align=1
@@ -335,10 +219,6 @@ Class QLatin1String
base size=4 base align=4
QLatin1String (0x1155100) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0x1155540) 0
Class QCharRef
size=8 align=4
@@ -351,10 +231,6 @@ Class QConstString
QConstString (0x128e140) 0
QString (0x128e180) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0x128e280) 0 empty
Class QListData::Data
size=24 align=4
@@ -366,10 +242,6 @@ Class QListData
base size=4 base align=4
QListData (0x128e4c0) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0x128eac0) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -394,15 +266,7 @@ Class QTextCodec
QTextCodec (0x128e940) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0x128ee00) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0x128ed40) 0
Class QTextEncoder
size=32 align=4
@@ -425,25 +289,13 @@ Class QGenericReturnArgument
QGenericReturnArgument (0x128ea40) 0
QGenericArgument (0x128ebc0) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0x13e8280) 0
Class QMetaObject
size=16 align=4
base size=16 base align=4
QMetaObject (0x13e8200) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0x13e8500) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0x13e8440) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -535,10 +387,6 @@ QIODevice (0x13e8b40) 0
QObject (0x13e8b80) 0
primary-for QIODevice (0x13e8b40)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0x13e8dc0) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -558,25 +406,13 @@ Class QRegExp
base size=4 base align=4
QRegExp (0x14cf3c0) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0x14cf5c0) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0x14cf640) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0x14cf840) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0x14cf780) 0
Class QStringList
size=4 align=4
@@ -584,15 +420,7 @@ Class QStringList
QStringList (0x14cf900) 0
QList<QString> (0x14cf940) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0x14cfe00) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0x14cfe80) 0
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -748,10 +576,6 @@ Class QTextStream
QTextStream (0x165a680) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0x165a940) 0
Class QTextStreamManipulator
size=24 align=4
@@ -842,50 +666,22 @@ QFile (0x16f8540) 0
QObject (0x16f85c0) 0
primary-for QIODevice (0x16f8580)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0x16f8780) 0
Class QFileInfo
size=4 align=4
base size=4 base align=4
QFileInfo (0x16f87c0) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0x16f8880) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0x16f8900) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0x16f8ac0) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0x16f8a00) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0x16f8b80) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0x16f8cc0) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0x16f8d80) 0
Vtable for QFileEngine
QFileEngine::_ZTV11QFileEngine: 35u entries
@@ -945,10 +741,6 @@ Class QFileEngineHandler
QFileEngineHandler (0x16f8fc0) 0 nearly-empty
vptr=((& QFileEngineHandler::_ZTV18QFileEngineHandler) + 8u)
-Class QFlags<QFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileEngine::FileFlag> (0x18480c0) 0
Vtable for QProcess
QProcess::_ZTV8QProcess: 31u entries
@@ -999,90 +791,22 @@ Class QMetaType
base size=0 base align=1
QMetaType (0x18482c0) 0 empty
-Class QMetaTypeId<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QString> (0x18483c0) 0 empty
-Class QMetaTypeId<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<int> (0x1848440) 0 empty
-Class QMetaTypeId<uint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<uint> (0x18484c0) 0 empty
-Class QMetaTypeId<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<bool> (0x1848540) 0 empty
-Class QMetaTypeId<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<double> (0x18485c0) 0 empty
-Class QMetaTypeId<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QByteArray> (0x1848640) 0 empty
-Class QMetaTypeId<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QChar> (0x18486c0) 0 empty
-Class QMetaTypeId<void>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<void> (0x1848740) 0 empty
-Class QMetaTypeId<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<long int> (0x18487c0) 0 empty
-Class QMetaTypeId<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<short int> (0x1848840) 0 empty
-Class QMetaTypeId<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<char> (0x18488c0) 0 empty
-Class QMetaTypeId<ulong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<ulong> (0x1848940) 0 empty
-Class QMetaTypeId<ushort>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<ushort> (0x18489c0) 0 empty
-Class QMetaTypeId<uchar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<uchar> (0x1848a40) 0 empty
-Class QMetaTypeId<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<float> (0x1848ac0) 0 empty
-Class QMetaTypeId<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QObject*> (0x1848b40) 0 empty
-Class QMetaTypeId<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QWidget*> (0x1848bc0) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -1109,50 +833,18 @@ Class QVariant
base size=16 base align=4
QVariant (0x1848c00) 0
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0x1902100) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0x1902040) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0x1902300) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0x1902240) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0x1902580) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0x19026c0) 0 empty
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0x1902780) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x1902800) 0
-Class <anonymous struct>
- size=3156 align=4
- base size=3156 base align=4
-<anonymous struct> (0x1902880) 0
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1230,15 +922,7 @@ Class QUrl
base size=4 base align=4
QUrl (0x19ce000) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0x19ce200) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0x19ce280) 0 empty
Vtable for QEventLoop
QEventLoop::_ZTV10QEventLoop: 14u entries
@@ -1265,10 +949,6 @@ QEventLoop (0x19ce300) 0
QObject (0x19ce340) 0
primary-for QEventLoop (0x19ce300)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0x19ce540) 0
Vtable for QAbstractEventDispatcher
QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 27u entries
@@ -1313,20 +993,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0x19ce780) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0x19ce940) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0x19cea00) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0x19ceb40) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -1496,10 +1168,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0x1ac00c0) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0x1ac01c0) 0 empty
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -1591,20 +1259,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0x1ac0d00) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0x1ac0dc0) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0x1ac0e40) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0x1ac0f00) 0 empty
Class QMetaProperty
size=20 align=4
@@ -1616,10 +1276,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0x1ac0fc0) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0x1ac04c0) 0 empty
Vtable for QMimeData
QMimeData::_ZTV9QMimeData: 17u entries
@@ -1907,10 +1563,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0x1c02840) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0x1c02980) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -1932,80 +1584,48 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0x1c02bc0) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0x1c02c40) 0 empty
Class QDate
size=4 align=4
base size=4 base align=4
QDate (0x1c94400) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0x1c94600) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0x1c94680) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0x1c94840) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0x1c948c0) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0x1c94a40) 0 empty
Class QPoint
size=8 align=4
base size=8 base align=4
QPoint (0x1c94ac0) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0x1c94f40) 0 empty
Class QPointF
size=16 align=8
base size=16 base align=4
QPointF (0x1c94740) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0x1c94e80) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0x1dd61c0) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0x1dd6240) 0 empty
Class QLineF
size=32 align=8
base size=32 base align=4
QLineF (0x1dd63c0) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0x1dd6480) 0 empty
Class QLinkedListData
size=20 align=4
@@ -2017,50 +1637,30 @@ Class QLocale
base size=4 base align=4
QLocale (0x1dd6a40) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0x1dd6ac0) 0 empty
Class QSize
size=8 align=4
base size=8 base align=4
QSize (0x1dd6c00) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0x1dd68c0) 0 empty
Class QSizeF
size=16 align=8
base size=16 base align=4
QSizeF (0x1f2f0c0) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0x1f2f4c0) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0x1f2f840) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0x1f2fa00) 0 empty
Class QRectF
size=32 align=8
base size=32 base align=4
QRectF (0x1f2fc80) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0x1f2fe40) 0 empty
Class QSharedData
size=4 align=4
@@ -2072,10 +1672,6 @@ Class QVectorData
base size=16 base align=4
QVectorData (0x20bb100) 0
-Class QFlags<QSql::ParamTypeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QSql::ParamTypeFlag> (0x20bb680) 0
Class QSqlRecord
size=4 align=4
@@ -2213,15 +1809,7 @@ Class QSqlField
base size=20 base align=4
QSqlField (0x20bb800) 0
-Class QList<bool>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<bool>::<anonymous union> (0x2212180) 0
-Class QList<bool>
- size=4 align=4
- base size=4 base align=4
-QList<bool> (0x22120c0) 0
Class QSqlIndex
size=16 align=4
@@ -2479,18 +2067,6 @@ QSqlRelationalTableModel (0x2212900) 0
QObject (0x2212a40) 0
primary-for QAbstractItemModel (0x2212a00)
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0x22e0bc0) 0
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0x22fea40) 0
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0x23d5000) 0
diff --git a/tests/auto/bic/data/QtSql.4.1.0.linux-gcc-ia32.txt b/tests/auto/bic/data/QtSql.4.1.0.linux-gcc-ia32.txt
index 94e2655..ac830a7 100644
--- a/tests/auto/bic/data/QtSql.4.1.0.linux-gcc-ia32.txt
+++ b/tests/auto/bic/data/QtSql.4.1.0.linux-gcc-ia32.txt
@@ -18,145 +18,37 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0x4001ee80) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0x4001ef40) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0x4001ef80) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0x4001efc0) 0 empty
-Class QTypeInfo<uchar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uchar> (0x40ac6000) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0x40ac6040) 0 empty
-Class QTypeInfo<ushort>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ushort> (0x40ac6080) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0x40ac60c0) 0 empty
-Class QTypeInfo<uint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uint> (0x40ac6100) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0x40ac6140) 0 empty
-Class QTypeInfo<ulong>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ulong> (0x40ac6180) 0 empty
-Class QTypeInfo<qint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<qint64> (0x40ac61c0) 0 empty
-Class QTypeInfo<quint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<quint64> (0x40ac6200) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0x40ac6240) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0x40ac6280) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0x40ac62c0) 0 empty
Class QFlag
size=4 align=4
base size=4 base align=4
QFlag (0x40ac6300) 0
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0x40ac64c0) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0x40ac6540) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0x40ac65c0) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0x40ac6640) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0x40ac66c0) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0x40ac6740) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0x40ac67c0) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0x40ac6840) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0x40ac68c0) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0x40ac6940) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0x40ac69c0) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0x40ac6a40) 0
Class QInternal
size=1 align=1
@@ -174,10 +66,6 @@ Class QGenericReturnArgument
QGenericReturnArgument (0x40ac6b80) 0
QGenericArgument (0x40ac6bc0) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0x40ac6dc0) 0
Class QMetaObject
size=16 align=4
@@ -194,10 +82,6 @@ Class QChar
base size=2 base align=2
QChar (0x40ac6ec0) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0x40ac6f80) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -230,10 +114,6 @@ Class QByteRef
base size=8 base align=4
QByteRef (0x40bde680) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0x40bde700) 0 empty
Class QString::Null
size=1 align=1
@@ -255,10 +135,6 @@ Class QLatin1String
base size=4 base align=4
QLatin1String (0x40bde940) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0x40bdea80) 0
Class QCharRef
size=8 align=4
@@ -271,10 +147,6 @@ Class QConstString
QConstString (0x40bdec40) 0
QString (0x40bdec80) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0x40bded00) 0 empty
Vtable for std::exception
std::exception::_ZTVSt9exception: 5u entries
@@ -337,15 +209,7 @@ Class QListData
base size=4 base align=4
QListData (0x40e6d180) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0x40e6d5c0) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0x40e6d500) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -437,10 +301,6 @@ QIODevice (0x40e6d800) 0
QObject (0x40e6d840) 0
primary-for QIODevice (0x40e6d800)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0x40e6d980) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -470,10 +330,6 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0x40e6db40) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0x40e6db80) 0 empty
Class QMapData::Node
size=8 align=4
@@ -485,10 +341,6 @@ Class QMapData
base size=72 base align=4
QMapData (0x41030100) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0x41030700) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -513,15 +365,7 @@ Class QTextCodec
QTextCodec (0x41030600) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0x41030980) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0x410308c0) 0
Class QTextEncoder
size=32 align=4
@@ -533,30 +377,10 @@ Class QTextDecoder
base size=32 base align=4
QTextDecoder (0x41030a40) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x41030ac0) 0
-Class <anonymous struct>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct>::<anonymous union> (0x41030b40) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x41030b00) 0
-Class <anonymous struct>
- size=12 align=4
- base size=12 base align=4
-<anonymous struct> (0x41030b80) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0x41030bc0) 0
Class __gconv_trans_data
size=20 align=4
@@ -578,15 +402,7 @@ Class __gconv_info
base size=8 base align=4
__gconv_info (0x41030cc0) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0x41030d40) 0
-Class <anonymous union>
- size=44 align=4
- base size=44 base align=4
-<anonymous union> (0x41030d00) 0
Class _IO_marker
size=12 align=4
@@ -598,10 +414,6 @@ Class _IO_FILE
base size=148 base align=4
_IO_FILE (0x41030dc0) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0x41030e00) 0
Vtable for QTextStream
QTextStream::_ZTV11QTextStream: 4u entries
@@ -616,10 +428,6 @@ Class QTextStream
QTextStream (0x41030e40) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0x41030f80) 0
Class QTextStreamManipulator
size=24 align=4
@@ -656,40 +464,16 @@ QTextOStream (0x4118b1c0) 0
QTextStream (0x4118b200) 0
primary-for QTextOStream (0x4118b1c0)
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0x4118b3c0) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0x4118b400) 0
Class wait
size=4 align=4
base size=4 base align=4
wait (0x4118b380) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x4118b440) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x4118b480) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0x4118b4c0) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0x4118b500) 0
Class timespec
size=8 align=4
@@ -701,10 +485,6 @@ Class timeval
base size=8 base align=4
timeval (0x4118b580) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0x4118b5c0) 0
Class __sched_param
size=4 align=4
@@ -721,45 +501,17 @@ Class __pthread_attr_s
base size=36 base align=4
__pthread_attr_s (0x4118b680) 0
-Class <anonymous struct>
- size=48 align=4
- base size=48 base align=4
-<anonymous struct> (0x4118b6c0) 0
-Class <anonymous struct>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct> (0x4118b700) 0
-Class <anonymous struct>
- size=24 align=4
- base size=24 base align=4
-<anonymous struct> (0x4118b740) 0
-Class <anonymous struct>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct> (0x4118b780) 0
Class _pthread_rwlock_t
size=32 align=4
base size=32 base align=4
_pthread_rwlock_t (0x4118b7c0) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x4118b800) 0
-Class <anonymous struct>
- size=20 align=4
- base size=20 base align=4
-<anonymous struct> (0x4118b840) 0
-Class <anonymous struct>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct> (0x4118b880) 0
Class random_data
size=28 align=4
@@ -830,10 +582,6 @@ QFile (0x4118bdc0) 0
QObject (0x4118be40) 0
primary-for QIODevice (0x4118be00)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0x4118bf40) 0
Vtable for QTemporaryFile
QTemporaryFile::_ZTV14QTemporaryFile: 31u entries
@@ -886,50 +634,22 @@ Class QFileInfo
base size=4 base align=4
QFileInfo (0x4118be80) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0x412ca040) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0x412ca080) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0x412ca1c0) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0x412ca100) 0
Class QRegExp
size=4 align=4
base size=4 base align=4
QRegExp (0x412ca200) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0x412ca280) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0x412ca2c0) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0x412ca400) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0x412ca340) 0
Class QStringList
size=4 align=4
@@ -937,30 +657,14 @@ Class QStringList
QStringList (0x412ca440) 0
QList<QString> (0x412ca480) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0x412ca6c0) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0x412ca740) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0x412ca940) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0x412caa00) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0x412caa80) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -1017,10 +721,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0x412caac0) 0
vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0x412cac80) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -1175,110 +875,30 @@ Class QUrl
base size=4 base align=4
QUrl (0x413db000) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0x413db0c0) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0x413db100) 0 empty
Class QMetaType
size=1 align=1
base size=0 base align=1
QMetaType (0x413db140) 0 empty
-Class QMetaTypeId<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QString> (0x413db1c0) 0 empty
-Class QMetaTypeId<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<int> (0x413db200) 0 empty
-Class QMetaTypeId<uint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<uint> (0x413db240) 0 empty
-Class QMetaTypeId<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<bool> (0x413db280) 0 empty
-Class QMetaTypeId<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<double> (0x413db2c0) 0 empty
-Class QMetaTypeId<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QByteArray> (0x413db300) 0 empty
-Class QMetaTypeId<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QChar> (0x413db340) 0 empty
-Class QMetaTypeId<void>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<void> (0x413db380) 0 empty
-Class QMetaTypeId<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<long int> (0x413db3c0) 0 empty
-Class QMetaTypeId<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<short int> (0x413db400) 0 empty
-Class QMetaTypeId<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<char> (0x413db440) 0 empty
-Class QMetaTypeId<ulong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<ulong> (0x413db480) 0 empty
-Class QMetaTypeId<ushort>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<ushort> (0x413db4c0) 0 empty
-Class QMetaTypeId<uchar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<uchar> (0x413db500) 0 empty
-Class QMetaTypeId<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<float> (0x413db540) 0 empty
-Class QMetaTypeId<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QObject*> (0x413db580) 0 empty
-Class QMetaTypeId<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QWidget*> (0x413db5c0) 0 empty
-Class QMetaTypeId<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<void*> (0x413db600) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -1305,35 +925,15 @@ Class QVariant
base size=12 base align=4
QVariant (0x413db640) 0
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0x413dbc00) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0x413dbb40) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0x413dbd80) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0x413dbcc0) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0x413dbfc0) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0x413db900) 0 empty
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1365,80 +965,48 @@ Class QPoint
base size=8 base align=4
QPoint (0x414e3180) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0x414e35c0) 0 empty
Class QPointF
size=16 align=4
base size=16 base align=4
QPointF (0x414e3680) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0x414e3ac0) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0x414e3bc0) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0x414e3c00) 0 empty
Class QLineF
size=32 align=4
base size=32 base align=4
QLineF (0x414e3d00) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0x414e3d80) 0 empty
Class QSize
size=8 align=4
base size=8 base align=4
QSize (0x414e3e80) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0x414e3340) 0 empty
Class QSizeF
size=16 align=4
base size=16 base align=4
QSizeF (0x414e36c0) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0x414e3ec0) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0x415cf140) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0x415cf340) 0 empty
Class QRectF
size=32 align=4
base size=32 base align=4
QRectF (0x415cf440) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0x415cf5c0) 0 empty
Class QLinkedListData
size=20 align=4
@@ -1455,10 +1023,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0x415cfc00) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0x415cfc80) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -1475,40 +1039,24 @@ Class QLocale
base size=4 base align=4
QLocale (0x415cfec0) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0x415cff00) 0 empty
Class QDate
size=4 align=4
base size=4 base align=4
QDate (0x415cf280) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0x417e2000) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0x417e2040) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0x417e21c0) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0x417e2200) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0x417e2340) 0 empty
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -1668,10 +1216,6 @@ QEventLoop (0x417e2ac0) 0
QObject (0x417e2b00) 0
primary-for QEventLoop (0x417e2ac0)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0x417e2c40) 0
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -1763,20 +1307,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0x417e2740) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0x417e2b80) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0x417e2cc0) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0x417e2ec0) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -1996,10 +1532,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0x418d8580) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0x418d8640) 0 empty
Vtable for QSocketNotifier
QSocketNotifier::_ZTV15QSocketNotifier: 14u entries
@@ -2094,20 +1626,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0x418d8980) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0x418d8a00) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0x418d8a40) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0x418d8ac0) 0 empty
Class QMetaProperty
size=20 align=4
@@ -2119,10 +1643,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0x418d8b40) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0x418d8bc0) 0 empty
Vtable for QPluginLoader
QPluginLoader::_ZTV13QPluginLoader: 14u entries
@@ -2250,15 +1770,7 @@ Class QSqlRecord
base size=4 base align=4
QSqlRecord (0x419c1140) 0
-Class QList<bool>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<bool>::<anonymous union> (0x419c1340) 0
-Class QList<bool>
- size=4 align=4
- base size=4 base align=4
-QList<bool> (0x419c1280) 0
Class QSqlIndex
size=16 align=4
@@ -2266,10 +1778,6 @@ Class QSqlIndex
QSqlIndex (0x419c1180) 0
QSqlRecord (0x419c11c0) 0
-Class QFlags<QSql::ParamTypeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QSql::ParamTypeFlag> (0x419c1400) 0
Vtable for QSqlResult
QSqlResult::_ZTV10QSqlResult: 29u entries
@@ -2652,23 +2160,7 @@ QSqlRelationalTableModel (0x419c1f00) 0
QObject (0x419c1480) 0
primary-for QAbstractItemModel (0x419c1200)
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0x41ad5500) 0
-Class QTypeInfo<QDebug::Stream*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDebug::Stream*> (0x41ad5880) 0 empty
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0x41ad5f40) 0
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0x41b95040) 0
diff --git a/tests/auto/bic/data/QtSql.4.1.0.linux-gcc-ppc32.txt b/tests/auto/bic/data/QtSql.4.1.0.linux-gcc-ppc32.txt
index 69c196d..f3b5d86 100644
--- a/tests/auto/bic/data/QtSql.4.1.0.linux-gcc-ppc32.txt
+++ b/tests/auto/bic/data/QtSql.4.1.0.linux-gcc-ppc32.txt
@@ -18,145 +18,37 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0x306c54d0) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0x306c56c8) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0x306c5770) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0x306c5818) 0 empty
-Class QTypeInfo<uchar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uchar> (0x306c58c0) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0x306c5968) 0 empty
-Class QTypeInfo<ushort>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ushort> (0x306c5a10) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0x306c5ab8) 0 empty
-Class QTypeInfo<uint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uint> (0x306c5b60) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0x306c5c08) 0 empty
-Class QTypeInfo<ulong>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ulong> (0x306c5cb0) 0 empty
-Class QTypeInfo<qint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<qint64> (0x306c5d58) 0 empty
-Class QTypeInfo<quint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<quint64> (0x306c5e00) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0x306c5ea8) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0x306c5f50) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0x306fa000) 0 empty
Class QFlag
size=4 align=4
base size=4 base align=4
QFlag (0x306fa070) 0
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0x306fa578) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0x306fa5e8) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0x306fa658) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0x306fa6c8) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0x306fa738) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0x306fa7a8) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0x306fa818) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0x306fa888) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0x306fa8f8) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0x306fa968) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0x306fa9d8) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0x306faa48) 0
Class QInternal
size=1 align=1
@@ -174,10 +66,6 @@ Class QGenericReturnArgument
QGenericReturnArgument (0x30187ac0) 0
QGenericArgument (0x306fab60) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0x306fad20) 0
Class QMetaObject
size=16 align=4
@@ -194,10 +82,6 @@ Class QChar
base size=2 base align=2
QChar (0x306fae00) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0x306faea8) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -230,10 +114,6 @@ Class QByteRef
base size=8 base align=4
QByteRef (0x30c0fb98) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0x30c0fee0) 0 empty
Class QString::Null
size=1 align=1
@@ -255,10 +135,6 @@ Class QLatin1String
base size=4 base align=4
QLatin1String (0x30d40498) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0x30d407e0) 0
Class QCharRef
size=8 align=4
@@ -271,10 +147,6 @@ Class QConstString
QConstString (0x30187d00) 0
QString (0x30e68268) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0x30e68348) 0 empty
Vtable for std::exception
std::exception::_ZTVSt9exception: 5u entries
@@ -337,15 +209,7 @@ Class QListData
base size=4 base align=4
QListData (0x30e68a80) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0x30e68fc0) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0x30e68f18) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -437,10 +301,6 @@ QIODevice (0x30187dc0) 0
QObject (0x30f583b8) 0
primary-for QIODevice (0x30187dc0)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0x30f585b0) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -470,10 +330,6 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0x30f58ce8) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0x30f58d58) 0 empty
Class QMapData::Node
size=8 align=4
@@ -485,10 +341,6 @@ Class QMapData
base size=72 base align=4
QMapData (0x30ffc460) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0x30ffcb28) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -513,15 +365,7 @@ Class QTextCodec
QTextCodec (0x30ffc9d8) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0x30ffce00) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0x30ffcd58) 0
Class QTextEncoder
size=32 align=4
@@ -533,30 +377,10 @@ Class QTextDecoder
base size=32 base align=4
QTextDecoder (0x30ffcf18) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x30ffcfc0) 0
-Class <anonymous struct>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct>::<anonymous union> (0x30ffcc08) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x30ffc738) 0
-Class <anonymous struct>
- size=12 align=4
- base size=12 base align=4
-<anonymous struct> (0x3115d038) 0
-Class <anonymous struct>
- size=16 align=8
- base size=16 base align=8
-<anonymous struct> (0x3115d0a8) 0
Class __gconv_trans_data
size=20 align=4
@@ -578,15 +402,7 @@ Class __gconv_info
base size=8 base align=4
__gconv_info (0x3115d1f8) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0x3115d2d8) 0
-Class <anonymous union>
- size=44 align=4
- base size=44 base align=4
-<anonymous union> (0x3115d268) 0
Class _IO_marker
size=12 align=4
@@ -598,10 +414,6 @@ Class _IO_FILE
base size=152 base align=8
_IO_FILE (0x3115d348) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0x3115d3b8) 0
Vtable for QTextStream
QTextStream::_ZTV11QTextStream: 4u entries
@@ -616,10 +428,6 @@ Class QTextStream
QTextStream (0x3115d3f0) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0x3115d620) 0
Class QTextStreamManipulator
size=24 align=4
@@ -656,40 +464,16 @@ QTextOStream (0x30187fc0) 0
QTextStream (0x3115db98) 0
primary-for QTextOStream (0x30187fc0)
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0x3115de70) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0x3115dee0) 0
Class wait
size=4 align=4
base size=4 base align=4
wait (0x3115de00) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x3115df50) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x3115dfc0) 0
-Class <anonymous struct>
- size=16 align=8
- base size=16 base align=8
-<anonymous struct> (0x3115d9d8) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0x311e6000) 0
Class timespec
size=8 align=4
@@ -701,70 +485,18 @@ Class timeval
base size=8 base align=4
timeval (0x311e6070) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0x311e60e0) 0
-Class <anonymous union>
- size=36 align=4
- base size=36 base align=4
-<anonymous union> (0x311e6150) 0
-Class <anonymous union>::<anonymous struct>
- size=24 align=4
- base size=24 base align=4
-<anonymous union>::<anonymous struct> (0x311e6230) 0
-Class <anonymous union>
- size=24 align=4
- base size=24 base align=4
-<anonymous union> (0x311e61c0) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0x311e62a0) 0
-Class <anonymous union>::<anonymous struct>
- size=48 align=8
- base size=48 base align=8
-<anonymous union>::<anonymous struct> (0x311e6380) 0
-Class <anonymous union>
- size=48 align=8
- base size=48 base align=8
-<anonymous union> (0x311e6310) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0x311e63f0) 0
-Class <anonymous union>::<anonymous struct>
- size=32 align=4
- base size=32 base align=4
-<anonymous union>::<anonymous struct> (0x311e64d0) 0
-Class <anonymous union>
- size=32 align=4
- base size=32 base align=4
-<anonymous union> (0x311e6460) 0
-Class <anonymous union>
- size=8 align=4
- base size=8 base align=4
-<anonymous union> (0x311e6540) 0
-Class <anonymous union>
- size=20 align=4
- base size=20 base align=4
-<anonymous union> (0x311e65b0) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0x311e6620) 0
Class random_data
size=28 align=4
@@ -835,10 +567,6 @@ QFile (0x312b3000) 0
QObject (0x311e6c40) 0
primary-for QIODevice (0x312b3040)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0x311e6dc8) 0
Vtable for QTemporaryFile
QTemporaryFile::_ZTV14QTemporaryFile: 31u entries
@@ -891,50 +619,22 @@ Class QFileInfo
base size=4 base align=4
QFileInfo (0x311e6f18) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0x311e6fc0) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0x311e6d20) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0x3130e118) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0x3130e070) 0
Class QRegExp
size=4 align=4
base size=4 base align=4
QRegExp (0x3130e1c0) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0x3130e380) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0x3130e3f0) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0x3130e5b0) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0x3130e508) 0
Class QStringList
size=4 align=4
@@ -942,30 +642,14 @@ Class QStringList
QStringList (0x312b3140) 0
QList<QString> (0x3130e658) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0x3130ea80) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0x3130eaf0) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0x3130ee00) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0x3130ef18) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0x3130ef88) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -1022,10 +706,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0x3130efc0) 0
vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0x313d21f8) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -1180,110 +860,30 @@ Class QUrl
base size=4 base align=4
QUrl (0x313d26c8) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0x313d2850) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0x313d28c0) 0 empty
Class QMetaType
size=1 align=1
base size=0 base align=1
QMetaType (0x313d2930) 0 empty
-Class QMetaTypeId<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QString> (0x313d2a48) 0 empty
-Class QMetaTypeId<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<int> (0x313d2af0) 0 empty
-Class QMetaTypeId<uint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<uint> (0x313d2b98) 0 empty
-Class QMetaTypeId<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<bool> (0x313d2c40) 0 empty
-Class QMetaTypeId<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<double> (0x313d2ce8) 0 empty
-Class QMetaTypeId<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QByteArray> (0x313d2d90) 0 empty
-Class QMetaTypeId<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QChar> (0x313d2e38) 0 empty
-Class QMetaTypeId<void>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<void> (0x313d2ee0) 0 empty
-Class QMetaTypeId<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<long int> (0x313d2f88) 0 empty
-Class QMetaTypeId<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<short int> (0x313d2310) 0 empty
-Class QMetaTypeId<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<char> (0x313d2658) 0 empty
-Class QMetaTypeId<ulong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<ulong> (0x3146b070) 0 empty
-Class QMetaTypeId<ushort>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<ushort> (0x3146b118) 0 empty
-Class QMetaTypeId<uchar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<uchar> (0x3146b1c0) 0 empty
-Class QMetaTypeId<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<float> (0x3146b268) 0 empty
-Class QMetaTypeId<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QObject*> (0x3146b310) 0 empty
-Class QMetaTypeId<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QWidget*> (0x3146b3b8) 0 empty
-Class QMetaTypeId<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<void*> (0x3146b460) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -1310,35 +910,15 @@ Class QVariant
base size=16 base align=8
QVariant (0x3146b4d0) 0
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0x3146ba80) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0x3146b9d8) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0x3146bc40) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0x3146bb98) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0x3146be00) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0x3146bf18) 0 empty
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1370,80 +950,48 @@ Class QPoint
base size=8 base align=4
QPoint (0x31543310) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0x31543700) 0 empty
Class QPointF
size=16 align=8
base size=16 base align=8
QPointF (0x315438f8) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0x31543ce8) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0x31543f18) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0x31543f88) 0 empty
Class QLineF
size=32 align=8
base size=32 base align=8
QLineF (0x31543498) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0x315435e8) 0 empty
Class QSize
size=8 align=4
base size=8 base align=4
QSize (0x31543b60) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0x315e4268) 0 empty
Class QSizeF
size=16 align=8
base size=16 base align=8
QSizeF (0x315e4540) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0x315e48c0) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0x315e4c40) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0x315e4e38) 0 empty
Class QRectF
size=32 align=8
base size=32 base align=8
QRectF (0x315e40e0) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0x315e4658) 0 empty
Class QLinkedListData
size=20 align=4
@@ -1460,10 +1008,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0x316dd888) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0x316dd9a0) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -1480,40 +1024,24 @@ Class QLocale
base size=4 base align=4
QLocale (0x316ddcb0) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0x316ddd20) 0 empty
Class QDate
size=4 align=4
base size=4 base align=4
QDate (0x316ddf18) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0x31828038) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0x318280a8) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0x318282a0) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0x31828310) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0x31828460) 0 empty
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -1673,10 +1201,6 @@ QEventLoop (0x312b3680) 0
QObject (0x31828fc0) 0
primary-for QEventLoop (0x312b3680)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0x31828818) 0
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -1768,20 +1292,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0x318de818) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0x318de9a0) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0x318dea10) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0x318deb28) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -2001,10 +1517,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0x318decb0) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0x3197f038) 0 empty
Vtable for QSocketNotifier
QSocketNotifier::_ZTV15QSocketNotifier: 14u entries
@@ -2099,20 +1611,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0x3197f460) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0x3197f508) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0x3197f578) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0x3197f620) 0 empty
Class QMetaProperty
size=20 align=4
@@ -2124,10 +1628,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0x3197f6c8) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0x3197f770) 0 empty
Vtable for QPluginLoader
QPluginLoader::_ZTV13QPluginLoader: 14u entries
@@ -2255,15 +1755,7 @@ Class QSqlRecord
base size=4 base align=4
QSqlRecord (0x3197fd58) 0
-Class QList<bool>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<bool>::<anonymous union> (0x31a27188) 0
-Class QList<bool>
- size=4 align=4
- base size=4 base align=4
-QList<bool> (0x31a270e0) 0
Class QSqlIndex
size=16 align=4
@@ -2271,10 +1763,6 @@ Class QSqlIndex
QSqlIndex (0x312b3b40) 0
QSqlRecord (0x31a27000) 0
-Class QFlags<QSql::ParamTypeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QSql::ParamTypeFlag> (0x31a272d8) 0
Vtable for QSqlResult
QSqlResult::_ZTV10QSqlResult: 29u entries
@@ -2657,23 +2145,7 @@ QSqlRelationalTableModel (0x312b3e80) 0
QObject (0x31a27ee0) 0
primary-for QAbstractItemModel (0x312b3f80)
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0x31b38038) 0
-Class QTypeInfo<QDebug::Stream*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDebug::Stream*> (0x31b38770) 0 empty
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0x31b52578) 0
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0x31bda3f0) 0
diff --git a/tests/auto/bic/data/QtSql.4.1.0.macx-gcc-ia32.txt b/tests/auto/bic/data/QtSql.4.1.0.macx-gcc-ia32.txt
index e3da0c7..cc0eca0 100644
--- a/tests/auto/bic/data/QtSql.4.1.0.macx-gcc-ia32.txt
+++ b/tests/auto/bic/data/QtSql.4.1.0.macx-gcc-ia32.txt
@@ -18,75 +18,19 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0x62ea00) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0x62ec40) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0x62ed00) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0x62edc0) 0 empty
-Class QTypeInfo<uchar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uchar> (0x62ee80) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0x62ef40) 0 empty
-Class QTypeInfo<ushort>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ushort> (0x65c000) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0x65c0c0) 0 empty
-Class QTypeInfo<uint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uint> (0x65c180) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0x65c240) 0 empty
-Class QTypeInfo<ulong>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ulong> (0x65c300) 0 empty
-Class QTypeInfo<qint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<qint64> (0x65c3c0) 0 empty
-Class QTypeInfo<quint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<quint64> (0x65c480) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0x65c540) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0x65c600) 0 empty
Class QFlag
size=4 align=4
@@ -103,10 +47,6 @@ Class QChar
base size=2 base align=2
QChar (0x65c900) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0x65ca00) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -119,10 +59,6 @@ Class QAtomic
QAtomic (0xde8100) 0
QBasicAtomic (0xde8140) 0
-Class <anonymous union>
- size=128 align=4
- base size=128 base align=4
-<anonymous union> (0xde83c0) 0
Class __darwin_pthread_handler_rec
size=12 align=4
@@ -204,70 +140,18 @@ Class QByteRef
base size=8 base align=4
QByteRef (0xe86080) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0xe86440) 0 empty
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0xe86900) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0xe86980) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0xe86a00) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0xe86a80) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0xe86b00) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0xe86b80) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0xe86c00) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0xe86c80) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0xe86d00) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0xe86d80) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0xe86e00) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0xe86e80) 0
Class QInternal
size=1 align=1
@@ -294,10 +178,6 @@ Class QLatin1String
base size=4 base align=4
QLatin1String (0xffa5c0) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0xffaa00) 0
Class QCharRef
size=8 align=4
@@ -310,10 +190,6 @@ Class QConstString
QConstString (0x116b600) 0
QString (0x116b640) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0x116b740) 0 empty
Vtable for std::exception
std::exception::_ZTVSt9exception: 5u entries
@@ -376,10 +252,6 @@ Class QListData
base size=4 base align=4
QListData (0x116ba40) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0x11cb580) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -404,15 +276,7 @@ Class QTextCodec
QTextCodec (0x11cb400) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0x11cb8c0) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0x11cb800) 0
Class QTextEncoder
size=32 align=4
@@ -435,25 +299,13 @@ Class QGenericReturnArgument
QGenericReturnArgument (0x11cbb00) 0
QGenericArgument (0x11cbb40) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0x11cbe00) 0
Class QMetaObject
size=16 align=4
base size=16 base align=4
QMetaObject (0x11cbd80) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0x11cb680) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0x11cbfc0) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -545,10 +397,6 @@ QIODevice (0x12fe600) 0
QObject (0x12fe640) 0
primary-for QIODevice (0x12fe600)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0x12fe880) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -568,25 +416,13 @@ Class QRegExp
base size=4 base align=4
QRegExp (0x12fef40) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0x13cf040) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0x13cf0c0) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0x13cf2c0) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0x13cf200) 0
Class QStringList
size=4 align=4
@@ -594,15 +430,7 @@ Class QStringList
QStringList (0x13cf380) 0
QList<QString> (0x13cf3c0) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0x13cf880) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0x13cf900) 0
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -736,50 +564,22 @@ QFile (0x144e6c0) 0
QObject (0x144e740) 0
primary-for QIODevice (0x144e700)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0x144e900) 0
Class QFileInfo
size=4 align=4
base size=4 base align=4
QFileInfo (0x144e940) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0x144ea00) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0x144ea80) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0x144ec40) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0x144eb80) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0x144ed00) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0x144ee40) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0x144eec0) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -836,10 +636,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0x144ef00) 0
vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0x1561100) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -913,10 +709,6 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0x1561600) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0x1561680) 0 empty
Class QMapData::Node
size=8 align=4
@@ -941,10 +733,6 @@ Class QTextStream
QTextStream (0x15bca00) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0x15bccc0) 0
Class QTextStreamManipulator
size=24 align=4
@@ -1041,35 +829,15 @@ Class rlimit
base size=16 base align=4
rlimit (0x1750740) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0x1750f00) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0x1750f80) 0
Class wait
size=4 align=4
base size=4 base align=4
wait (0x1750e80) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x1750200) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x1781040) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0x17810c0) 0
Class QVectorData
size=16 align=4
@@ -1182,95 +950,23 @@ Class QMetaType
base size=0 base align=1
QMetaType (0x1781b40) 0 empty
-Class QMetaTypeId<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QString> (0x1781c80) 0 empty
-Class QMetaTypeId<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<int> (0x1781d40) 0 empty
-Class QMetaTypeId<uint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<uint> (0x1781e00) 0 empty
-Class QMetaTypeId<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<bool> (0x1781ec0) 0 empty
-Class QMetaTypeId<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<double> (0x1781f80) 0 empty
-Class QMetaTypeId<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QByteArray> (0x17818c0) 0 empty
-Class QMetaTypeId<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QChar> (0x189e040) 0 empty
-Class QMetaTypeId<void>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<void> (0x189e100) 0 empty
-Class QMetaTypeId<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<long int> (0x189e1c0) 0 empty
-Class QMetaTypeId<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<short int> (0x189e280) 0 empty
-Class QMetaTypeId<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<char> (0x189e340) 0 empty
-Class QMetaTypeId<ulong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<ulong> (0x189e400) 0 empty
-Class QMetaTypeId<ushort>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<ushort> (0x189e4c0) 0 empty
-Class QMetaTypeId<uchar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<uchar> (0x189e580) 0 empty
-Class QMetaTypeId<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<float> (0x189e640) 0 empty
-Class QMetaTypeId<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QObject*> (0x189e700) 0 empty
-Class QMetaTypeId<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QWidget*> (0x189e7c0) 0 empty
-Class QMetaTypeId<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<void*> (0x189e880) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -1297,50 +993,18 @@ Class QVariant
base size=12 base align=4
QVariant (0x189e900) 0
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0x189ef80) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0x189eec0) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0x1928080) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0x189ec40) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0x1928300) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0x1928440) 0 empty
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0x1928500) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x1928580) 0
-Class <anonymous struct>
- size=3156 align=4
- base size=3156 base align=4
-<anonymous struct> (0x1928600) 0
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1418,15 +1082,7 @@ Class QUrl
base size=4 base align=4
QUrl (0x1928e40) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0x19280c0) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0x19288c0) 0 empty
Vtable for QEventLoop
QEventLoop::_ZTV10QEventLoop: 14u entries
@@ -1453,10 +1109,6 @@ QEventLoop (0x1928dc0) 0
QObject (0x1a02000) 0
primary-for QEventLoop (0x1928dc0)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0x1a02200) 0
Vtable for QAbstractEventDispatcher
QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 27u entries
@@ -1501,20 +1153,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0x1a02440) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0x1a02600) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0x1a02680) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0x1a027c0) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -1684,10 +1328,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0x1a02ec0) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0x1a02fc0) 0 empty
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -1779,20 +1419,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0x1ab59c0) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0x1ab5a80) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0x1ab5b00) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0x1ab5bc0) 0 empty
Class QMetaProperty
size=20 align=4
@@ -1804,10 +1436,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0x1ab5c80) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0x1ab5d40) 0 empty
Vtable for QMimeData
QMimeData::_ZTV9QMimeData: 17u entries
@@ -2095,10 +1723,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0x1bc64c0) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0x1bc6600) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -2110,70 +1734,42 @@ Class QDate
base size=4 base align=4
QDate (0x1bc6800) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0x1bc6a00) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0x1bc6a80) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0x1bc6cc0) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0x1bc6d40) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0x1bc6ec0) 0 empty
Class QPoint
size=8 align=4
base size=8 base align=4
QPoint (0x1bc6f40) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0x1c7a040) 0 empty
Class QPointF
size=16 align=4
base size=16 base align=4
QPointF (0x1c7a300) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0x1c7a780) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0x1c7aa80) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0x1c7ab00) 0 empty
Class QLineF
size=32 align=4
base size=32 base align=4
QLineF (0x1c7ac80) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0x1c7ad40) 0 empty
Class QLinkedListData
size=20 align=4
@@ -2185,60 +1781,36 @@ Class QLocale
base size=4 base align=4
QLocale (0x1d7b0c0) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0x1d7b140) 0 empty
Class QSize
size=8 align=4
base size=8 base align=4
QSize (0x1d7b280) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0x1d7b680) 0 empty
Class QSizeF
size=16 align=4
base size=16 base align=4
QSizeF (0x1d7ba40) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0x1d7be40) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0x1d7bc80) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0x1e42080) 0 empty
Class QRectF
size=32 align=4
base size=32 base align=4
QRectF (0x1e42300) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0x1e424c0) 0 empty
Class QSharedData
size=4 align=4
base size=4 base align=4
QSharedData (0x1e428c0) 0
-Class QFlags<QSql::ParamTypeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QSql::ParamTypeFlag> (0x1e42c40) 0
Class QSqlRecord
size=4 align=4
@@ -2376,15 +1948,7 @@ Class QSqlField
base size=16 base align=4
QSqlField (0x1fbd500) 0
-Class QList<bool>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<bool>::<anonymous union> (0x1fbd780) 0
-Class QList<bool>
- size=4 align=4
- base size=4 base align=4
-QList<bool> (0x1fbd6c0) 0
Class QSqlIndex
size=16 align=4
@@ -2642,23 +2206,7 @@ QSqlRelationalTableModel (0x1fbdf00) 0
QObject (0x1fbd180) 0
primary-for QAbstractItemModel (0x1fbd000)
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0x20b5380) 0
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0x20de200) 0
-Class QTypeInfo<QDebug::Stream*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDebug::Stream*> (0x2125280) 0 empty
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0x2189840) 0
diff --git a/tests/auto/bic/data/QtSql.4.1.0.macx-gcc-ppc32.txt b/tests/auto/bic/data/QtSql.4.1.0.macx-gcc-ppc32.txt
index 86e0c40..6508207 100644
--- a/tests/auto/bic/data/QtSql.4.1.0.macx-gcc-ppc32.txt
+++ b/tests/auto/bic/data/QtSql.4.1.0.macx-gcc-ppc32.txt
@@ -18,75 +18,19 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0x7cd440) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0x7cd680) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0x7cd740) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0x7cd800) 0 empty
-Class QTypeInfo<uchar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uchar> (0x7cd8c0) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0x7cd980) 0 empty
-Class QTypeInfo<ushort>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ushort> (0x7cda40) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0x7cdb00) 0 empty
-Class QTypeInfo<uint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uint> (0x7cdbc0) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0x7cdc80) 0 empty
-Class QTypeInfo<ulong>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ulong> (0x7cdd40) 0 empty
-Class QTypeInfo<qint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<qint64> (0x7cde00) 0 empty
-Class QTypeInfo<quint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<quint64> (0x7cdec0) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0x7cdf80) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0x80d040) 0 empty
Class QFlag
size=4 align=4
@@ -103,10 +47,6 @@ Class QChar
base size=2 base align=2
QChar (0x80d340) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0x80d440) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -119,10 +59,6 @@ Class QAtomic
QAtomic (0x80d840) 0
QBasicAtomic (0x80d880) 0
-Class <anonymous union>
- size=128 align=8
- base size=128 base align=8
-<anonymous union> (0x80db00) 0
Class __darwin_pthread_handler_rec
size=12 align=4
@@ -204,70 +140,18 @@ Class QByteRef
base size=8 base align=4
QByteRef (0xee67c0) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0xee6b80) 0 empty
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0x100b040) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0x100b0c0) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0x100b140) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0x100b1c0) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0x100b240) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0x100b2c0) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0x100b340) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0x100b3c0) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0x100b440) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0x100b4c0) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0x100b540) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0x100b5c0) 0
Class QInternal
size=1 align=1
@@ -294,10 +178,6 @@ Class QLatin1String
base size=4 base align=4
QLatin1String (0x100bd00) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0x11a0140) 0
Class QCharRef
size=8 align=4
@@ -310,10 +190,6 @@ Class QConstString
QConstString (0x11a0d40) 0
QString (0x11a0d80) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0x11a0e80) 0 empty
Vtable for std::exception
std::exception::_ZTVSt9exception: 5u entries
@@ -376,10 +252,6 @@ Class QListData
base size=4 base align=4
QListData (0x12bc740) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0x12bcd40) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -404,15 +276,7 @@ Class QTextCodec
QTextCodec (0x12bcbc0) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0x12bc580) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0x12bcfc0) 0
Class QTextEncoder
size=32 align=4
@@ -435,25 +299,13 @@ Class QGenericReturnArgument
QGenericReturnArgument (0x1401140) 0
QGenericArgument (0x1401180) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0x1401440) 0
Class QMetaObject
size=16 align=4
base size=16 base align=4
QMetaObject (0x14013c0) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0x14016c0) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0x1401600) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -545,10 +397,6 @@ QIODevice (0x1401d00) 0
QObject (0x1401d40) 0
primary-for QIODevice (0x1401d00)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0x1401f80) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -568,25 +416,13 @@ Class QRegExp
base size=4 base align=4
QRegExp (0x14e0580) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0x14e0780) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0x14e0800) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0x14e0a00) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0x14e0940) 0
Class QStringList
size=4 align=4
@@ -594,15 +430,7 @@ Class QStringList
QStringList (0x14e0ac0) 0
QList<QString> (0x14e0b00) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0x14e0fc0) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0x1591000) 0
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -736,50 +564,22 @@ QFile (0x16131c0) 0
QObject (0x1613240) 0
primary-for QIODevice (0x1613200)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0x1613400) 0
Class QFileInfo
size=4 align=4
base size=4 base align=4
QFileInfo (0x1613440) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0x1613500) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0x1613580) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0x1613740) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0x1613680) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0x1613800) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0x1613940) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0x16139c0) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -836,10 +636,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0x1613a00) 0
vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0x1613cc0) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -913,10 +709,6 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0x17400c0) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0x1740140) 0 empty
Class QMapData::Node
size=8 align=4
@@ -941,10 +733,6 @@ Class QTextStream
QTextStream (0x18b1100) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0x18b13c0) 0
Class QTextStreamManipulator
size=24 align=4
@@ -1051,35 +839,15 @@ Class rlimit
base size=16 base align=8
rlimit (0x194a0c0) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0x194a180) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0x194a200) 0
Class wait
size=4 align=4
base size=4 base align=4
wait (0x194a100) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x194a280) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x194a300) 0
-Class <anonymous struct>
- size=16 align=8
- base size=16 base align=8
-<anonymous struct> (0x194a380) 0
Class QVectorData
size=16 align=4
@@ -1192,95 +960,23 @@ Class QMetaType
base size=0 base align=1
QMetaType (0x194ae40) 0 empty
-Class QMetaTypeId<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QString> (0x194af80) 0 empty
-Class QMetaTypeId<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<int> (0x194abc0) 0 empty
-Class QMetaTypeId<uint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<uint> (0x1a8f040) 0 empty
-Class QMetaTypeId<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<bool> (0x1a8f100) 0 empty
-Class QMetaTypeId<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<double> (0x1a8f1c0) 0 empty
-Class QMetaTypeId<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QByteArray> (0x1a8f280) 0 empty
-Class QMetaTypeId<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QChar> (0x1a8f340) 0 empty
-Class QMetaTypeId<void>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<void> (0x1a8f400) 0 empty
-Class QMetaTypeId<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<long int> (0x1a8f4c0) 0 empty
-Class QMetaTypeId<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<short int> (0x1a8f580) 0 empty
-Class QMetaTypeId<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<char> (0x1a8f640) 0 empty
-Class QMetaTypeId<ulong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<ulong> (0x1a8f700) 0 empty
-Class QMetaTypeId<ushort>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<ushort> (0x1a8f7c0) 0 empty
-Class QMetaTypeId<uchar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<uchar> (0x1a8f880) 0 empty
-Class QMetaTypeId<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<float> (0x1a8f940) 0 empty
-Class QMetaTypeId<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QObject*> (0x1a8fa00) 0 empty
-Class QMetaTypeId<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QWidget*> (0x1a8fac0) 0 empty
-Class QMetaTypeId<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<void*> (0x1a8fb80) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -1307,50 +1003,18 @@ Class QVariant
base size=16 base align=4
QVariant (0x1a8fc00) 0
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0x1af3180) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0x1af30c0) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0x1af3380) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0x1af32c0) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0x1af3600) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0x1af3740) 0 empty
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0x1af3800) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x1af3880) 0
-Class <anonymous struct>
- size=3156 align=4
- base size=3156 base align=4
-<anonymous struct> (0x1af3900) 0
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1428,15 +1092,7 @@ Class QUrl
base size=4 base align=4
QUrl (0x1bdb000) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0x1bdb1c0) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0x1bdb240) 0 empty
Vtable for QEventLoop
QEventLoop::_ZTV10QEventLoop: 14u entries
@@ -1463,10 +1119,6 @@ QEventLoop (0x1bdb2c0) 0
QObject (0x1bdb300) 0
primary-for QEventLoop (0x1bdb2c0)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0x1bdb500) 0
Vtable for QAbstractEventDispatcher
QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 27u entries
@@ -1511,20 +1163,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0x1bdb740) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0x1bdb900) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0x1bdb980) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0x1bdbac0) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -1694,10 +1338,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0x1cef040) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0x1cef140) 0 empty
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -1789,20 +1429,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0x1cefd00) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0x1cefdc0) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0x1cefe40) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0x1ceff00) 0 empty
Class QMetaProperty
size=20 align=4
@@ -1814,10 +1446,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0x1ceffc0) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0x1cef5c0) 0 empty
Vtable for QMimeData
QMimeData::_ZTV9QMimeData: 17u entries
@@ -2105,10 +1733,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0x1e2b840) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0x1e2b980) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -2120,70 +1744,42 @@ Class QDate
base size=4 base align=4
QDate (0x1e2bb80) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0x1e2bd80) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0x1e2be00) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0x1e2bbc0) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0x1e2be80) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0x1eec0c0) 0 empty
Class QPoint
size=8 align=4
base size=8 base align=4
QPoint (0x1eec140) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0x1eec5c0) 0 empty
Class QPointF
size=16 align=8
base size=16 base align=4
QPointF (0x1eec880) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0x1eecd00) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0x1eec000) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0x1eec200) 0 empty
Class QLineF
size=32 align=8
base size=32 base align=4
QLineF (0x1eec500) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0x1eec9c0) 0 empty
Class QLinkedListData
size=20 align=4
@@ -2195,60 +1791,36 @@ Class QLocale
base size=4 base align=4
QLocale (0x1fb9440) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0x1fb94c0) 0 empty
Class QSize
size=8 align=4
base size=8 base align=4
QSize (0x1fb9600) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0x1fb9a00) 0 empty
Class QSizeF
size=16 align=8
base size=16 base align=4
QSizeF (0x1fb9dc0) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0x1fb97c0) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0x20df280) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0x20df440) 0 empty
Class QRectF
size=32 align=8
base size=32 base align=4
QRectF (0x20df6c0) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0x20df880) 0 empty
Class QSharedData
size=4 align=4
base size=4 base align=4
QSharedData (0x20dfc80) 0
-Class QFlags<QSql::ParamTypeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QSql::ParamTypeFlag> (0x20df2c0) 0
Class QSqlRecord
size=4 align=4
@@ -2386,15 +1958,7 @@ Class QSqlField
base size=20 base align=4
QSqlField (0x2286880) 0
-Class QList<bool>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<bool>::<anonymous union> (0x2286b00) 0
-Class QList<bool>
- size=4 align=4
- base size=4 base align=4
-QList<bool> (0x2286a40) 0
Class QSqlIndex
size=16 align=4
@@ -2652,23 +2216,7 @@ QSqlRelationalTableModel (0x2366080) 0
QObject (0x23661c0) 0
primary-for QAbstractItemModel (0x2366180)
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0x23d06c0) 0
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0x23ee540) 0
-Class QTypeInfo<QDebug::Stream*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDebug::Stream*> (0x24425c0) 0 empty
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0x24a1b80) 0
diff --git a/tests/auto/bic/data/QtSql.4.1.0.win32-gcc-ia32.txt b/tests/auto/bic/data/QtSql.4.1.0.win32-gcc-ia32.txt
index c33efe4..9f80f3d 100644
--- a/tests/auto/bic/data/QtSql.4.1.0.win32-gcc-ia32.txt
+++ b/tests/auto/bic/data/QtSql.4.1.0.win32-gcc-ia32.txt
@@ -18,80 +18,20 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0xad5e40) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0xaeb680) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0xaeb800) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0xaeb980) 0 empty
-Class QTypeInfo<uchar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uchar> (0xaebb00) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0xaebc80) 0 empty
-Class QTypeInfo<ushort>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ushort> (0xaebe00) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0xaebf80) 0 empty
-Class QTypeInfo<uint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uint> (0xb07100) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0xb07280) 0 empty
-Class QTypeInfo<ulong>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ulong> (0xb07400) 0 empty
-Class QTypeInfo<qint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<qint64> (0xb07580) 0 empty
-Class QTypeInfo<quint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<quint64> (0xb07700) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0xb07880) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0xb07a00) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0xb07b80) 0 empty
Class QFlag
size=4 align=4
@@ -108,10 +48,6 @@ Class QChar
base size=2 base align=2
QChar (0xb4d840) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0xb70cc0) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -139,70 +75,18 @@ Class QByteRef
base size=8 base align=4
QByteRef (0xc34f80) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0xd4bc40) 0 empty
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0xd78100) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0xd783c0) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0xd73c80) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0xd8d100) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0xd78a80) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0xd949c0) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0xdc8140) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0xdc8440) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0xd8d340) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0xdd8180) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0xdd8940) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0xdd8c80) 0
Class QInternal
size=1 align=1
@@ -229,10 +113,6 @@ Class QLatin1String
base size=4 base align=4
QLatin1String (0xeac500) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0xeac940) 0
Class QCharRef
size=8 align=4
@@ -245,10 +125,6 @@ Class QConstString
QConstString (0x11e1880) 0
QString (0x11e18c0) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0x11e1c00) 0 empty
Vtable for std::exception
std::exception::_ZTVSt9exception: 5u entries
@@ -311,10 +187,6 @@ Class QListData
base size=4 base align=4
QListData (0x1279f00) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0x137ae40) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -339,15 +211,7 @@ Class QTextCodec
QTextCodec (0xeac480) 0 nearly-empty
vptr=((&QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0x13be140) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0xc3da40) 0
Class QTextEncoder
size=32 align=4
@@ -370,25 +234,13 @@ Class QGenericReturnArgument
QGenericReturnArgument (0x13fcfc0) 0
QGenericArgument (0x1402000) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0x1419700) 0
Class QMetaObject
size=16 align=4
base size=16 base align=4
QMetaObject (0x1402580) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0x1433f80) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0x1433b80) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -480,10 +332,6 @@ QIODevice (0x137a700) 0
QObject (0x14bc540) 0
primary-for QIODevice (0x137a700)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0x14bc840) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -503,25 +351,13 @@ Class QRegExp
base size=4 base align=4
QRegExp (0xeac380) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0x158b4c0) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0x158b840) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0x158bd80) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0x158bc40) 0
Class QStringList
size=4 align=4
@@ -529,15 +365,7 @@ Class QStringList
QStringList (0xeac400) 0
QList<QString> (0x15b8000) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0x158bec0) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0x158be80) 0
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -666,50 +494,22 @@ QFile (0x169f840) 0
QObject (0x169f8c0) 0
primary-for QIODevice (0x169f880)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0x16ae100) 0
Class QFileInfo
size=4 align=4
base size=4 base align=4
QFileInfo (0x16d55c0) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0x16d5f00) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0x1703e40) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0x172d300) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0x172d200) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0x16d5440) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0x175b040) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0x172dc00) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -766,10 +566,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0x169f740) 0
vptr=((&QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0x17da340) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -843,10 +639,6 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0x182fc40) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0x182fd40) 0 empty
Class QMapData::Node
size=8 align=4
@@ -871,10 +663,6 @@ Class QTextStream
QTextStream (0x1a78240) 0
vptr=((&QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0x1a78600) 0
Class QTextStreamManipulator
size=24 align=4
@@ -911,20 +699,8 @@ QTextOStream (0x1b06440) 0
QTextStream (0x1b06480) 0
primary-for QTextOStream (0x1b06440)
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x1b33680) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x1b33800) 0
-Class <anonymous struct>
- size=16 align=8
- base size=16 base align=8
-<anonymous struct> (0x1b525c0) 0
Class QVectorData
size=16 align=4
@@ -1037,95 +813,23 @@ Class QMetaType
base size=0 base align=1
QMetaType (0x1ce8bc0) 0 empty
-Class QMetaTypeId<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QString> (0x1d02d40) 0 empty
-Class QMetaTypeId<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<int> (0x1d02ec0) 0 empty
-Class QMetaTypeId<uint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<uint> (0x1d19040) 0 empty
-Class QMetaTypeId<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<bool> (0x1d191c0) 0 empty
-Class QMetaTypeId<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<double> (0x1d19340) 0 empty
-Class QMetaTypeId<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QByteArray> (0x1d194c0) 0 empty
-Class QMetaTypeId<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QChar> (0x1d19640) 0 empty
-Class QMetaTypeId<void>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<void> (0x1d197c0) 0 empty
-Class QMetaTypeId<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<long int> (0x1d19940) 0 empty
-Class QMetaTypeId<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<short int> (0x1d19ac0) 0 empty
-Class QMetaTypeId<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<char> (0x1d19c40) 0 empty
-Class QMetaTypeId<ulong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<ulong> (0x1d19dc0) 0 empty
-Class QMetaTypeId<ushort>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<ushort> (0x1d19f40) 0 empty
-Class QMetaTypeId<uchar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<uchar> (0x1d380c0) 0 empty
-Class QMetaTypeId<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<float> (0x1d38240) 0 empty
-Class QMetaTypeId<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QObject*> (0x1d383c0) 0 empty
-Class QMetaTypeId<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QWidget*> (0x1d38540) 0 empty
-Class QMetaTypeId<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<void*> (0x1d386c0) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -1152,35 +856,15 @@ Class QVariant
base size=16 base align=8
QVariant (0x14338c0) 0
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0x1dd4540) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0x1d4adc0) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0x1dd4840) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0x1d4ae40) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0x1d4a000) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0x1e3a280) 0 empty
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1258,15 +942,7 @@ Class QUrl
base size=4 base align=4
QUrl (0x1d38f80) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0x1ed6440) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0x1f07f80) 0 empty
Vtable for QEventLoop
QEventLoop::_ZTV10QEventLoop: 14u entries
@@ -1293,10 +969,6 @@ QEventLoop (0x1f34600) 0
QObject (0x1f34640) 0
primary-for QEventLoop (0x1f34600)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0x1f34940) 0
Vtable for QAbstractEventDispatcher
QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 27u entries
@@ -1341,20 +1013,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0x1f6cf40) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0x1f9fb40) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0x1f6cec0) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0x1f9fe80) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -1524,10 +1188,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0x200fd80) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0x204f3c0) 0 empty
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -1620,20 +1280,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0x13fc8c0) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0x20be900) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0x13fc940) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0x20bef00) 0 empty
Class QMetaProperty
size=20 align=4
@@ -1645,10 +1297,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0x13fca40) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0x20eb640) 0 empty
Vtable for QMimeData
QMimeData::_ZTV9QMimeData: 17u entries
@@ -1941,10 +1589,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0x2239640) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0x2298040) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -1956,70 +1600,42 @@ Class QDate
base size=4 base align=4
QDate (0x1d38900) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0x22d9900) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0x1d38b00) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0x22fc540) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0x16d54c0) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0x2325300) 0 empty
Class QPoint
size=8 align=4
base size=8 base align=4
QPoint (0x1d38b80) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0x2325f40) 0 empty
Class QPointF
size=16 align=8
base size=16 base align=8
QPointF (0x1d38c00) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0x2373180) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0x1d38980) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0x2394600) 0 empty
Class QLineF
size=32 align=8
base size=32 base align=8
QLineF (0x1d38a00) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0x23beb00) 0 empty
Class QLinkedListData
size=20 align=4
@@ -2031,60 +1647,36 @@ Class QLocale
base size=4 base align=4
QLocale (0x1d38a80) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0x250c300) 0 empty
Class QSize
size=8 align=4
base size=8 base align=4
QSize (0x1d38c80) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0x253a480) 0 empty
Class QSizeF
size=16 align=8
base size=16 base align=8
QSizeF (0x1d38d00) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0x255f9c0) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0x1d38d80) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0x25cd440) 0 empty
Class QRectF
size=32 align=8
base size=32 base align=8
QRectF (0x1d38e00) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0x264b680) 0 empty
Class QSharedData
size=4 align=4
base size=4 base align=4
QSharedData (0x26f3500) 0
-Class QFlags<QSql::ParamTypeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QSql::ParamTypeFlag> (0x2740040) 0
Class QSqlRecord
size=4 align=4
@@ -2222,15 +1814,7 @@ Class QSqlField
base size=20 base align=8
QSqlField (0x2740780) 0
-Class QList<bool>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<bool>::<anonymous union> (0x27e6b40) 0
-Class QList<bool>
- size=4 align=4
- base size=4 base align=4
-QList<bool> (0x27e6a00) 0
Class QSqlIndex
size=16 align=4
@@ -2488,23 +2072,7 @@ QSqlRelationalTableModel (0x2862fc0) 0
QObject (0x28a2100) 0
primary-for QAbstractItemModel (0x28a20c0)
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0x13be100) 0
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0x158bd40) 0
-Class QTypeInfo<QDebug::Stream*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDebug::Stream*> (0x2a36b40) 0 empty
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0x172d2c0) 0
diff --git a/tests/auto/bic/data/QtSql.4.2.0.linux-gcc-ia32.txt b/tests/auto/bic/data/QtSql.4.2.0.linux-gcc-ia32.txt
index 5312c4f..83683ec 100644
--- a/tests/auto/bic/data/QtSql.4.2.0.linux-gcc-ia32.txt
+++ b/tests/auto/bic/data/QtSql.4.2.0.linux-gcc-ia32.txt
@@ -1,34 +1,8 @@
-Class QUintForSize<4>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<4> (0xb7ef6bc0) 0 empty
-Class QUintForSize<8>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<8> (0xb7ef6c00) 0 empty
-Class QUintForType<void*>
- size=1 align=1
- base size=1 base align=1
-QUintForType<void*> (0xb7ef6cc0) 0 empty
- QUintForSize<4> (0xb7ef6d00) 0 empty
-Class QIntForSize<4>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<4> (0xb7ef6d80) 0 empty
-Class QIntForSize<8>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<8> (0xb7ef6dc0) 0 empty
-Class QIntForType<void*>
- size=1 align=1
- base size=1 base align=1
-QIntForType<void*> (0xb7ef6e80) 0 empty
- QIntForSize<4> (0xb7ef6ec0) 0 empty
Class QSysInfo
size=1 align=1
@@ -50,150 +24,38 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0xb77bf140) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0xb77bf200) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0xb77bf240) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0xb77bf280) 0 empty
-Class QTypeInfo<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned char> (0xb77bf2c0) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0xb77bf300) 0 empty
-Class QTypeInfo<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short unsigned int> (0xb77bf340) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0xb77bf380) 0 empty
-Class QTypeInfo<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned int> (0xb77bf3c0) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0xb77bf400) 0 empty
-Class QTypeInfo<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long unsigned int> (0xb77bf440) 0 empty
-Class QTypeInfo<long long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long int> (0xb77bf480) 0 empty
-Class QTypeInfo<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long unsigned int> (0xb77bf4c0) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0xb77bf500) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0xb77bf540) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0xb77bf580) 0 empty
Class QFlag
size=4 align=4
base size=4 base align=4
QFlag (0xb77bf5c0) 0
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0xb77bf6c0) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0xb77bf700) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0xb77bf740) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0xb77bf780) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0xb77bf7c0) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0xb77bf800) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0xb77bf840) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0xb77bf880) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0xb77bf8c0) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0xb77bf900) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0xb77bf940) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0xb77bf980) 0
-Class QFlags<Qt::TextInteractionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::TextInteractionFlag> (0xb77bf9c0) 0
Class QInternal
size=1 align=1
@@ -211,10 +73,6 @@ Class QGenericReturnArgument
QGenericReturnArgument (0xb77bfa80) 0
QGenericArgument (0xb77bfac0) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0xb77bfc80) 0
Class QMetaObject
size=16 align=4
@@ -231,10 +89,6 @@ Class QChar
base size=2 base align=2
QChar (0xb77bfd40) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0xb77bfdc0) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -267,10 +121,6 @@ Class QByteRef
base size=8 base align=4
QByteRef (0xb731d0c0) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0xb731d100) 0 empty
Class QString::Null
size=1 align=1
@@ -287,10 +137,6 @@ Class QString
base size=4 base align=4
QString (0xb731d140) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0xb731d2c0) 0
Class QLatin1String
size=4 align=4
@@ -308,10 +154,6 @@ Class QConstString
QConstString (0xb731d3c0) 0
QString (0xb731d400) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0xb731d440) 0 empty
Vtable for std::exception
std::exception::_ZTVSt9exception: 5u entries
@@ -374,15 +216,7 @@ Class QListData
base size=4 base align=4
QListData (0xb731d740) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0xb731dac0) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0xb731da40) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -474,10 +308,6 @@ QIODevice (0xb731dc40) 0
QObject (0xb731dc80) 0
primary-for QIODevice (0xb731dc40)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0xb731dd40) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -507,10 +337,6 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0xb731dec0) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0xb731df00) 0 empty
Class QMapData::Node
size=8 align=4
@@ -522,10 +348,6 @@ Class QMapData
base size=72 base align=4
QMapData (0xb6ea93c0) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0xb6ea9940) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -550,15 +372,7 @@ Class QTextCodec
QTextCodec (0xb6ea9880) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0xb6ea9a80) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0xb6ea9a00) 0
Class QTextEncoder
size=32 align=4
@@ -570,30 +384,10 @@ Class QTextDecoder
base size=32 base align=4
QTextDecoder (0xb6ea9b00) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6ea9b40) 0
-Class <anonymous struct>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct>::<anonymous union> (0xb6ea9bc0) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6ea9b80) 0
-Class <anonymous struct>
- size=12 align=4
- base size=12 base align=4
-<anonymous struct> (0xb6ea9c00) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb6ea9c40) 0
Class __gconv_trans_data
size=20 align=4
@@ -615,15 +409,7 @@ Class __gconv_info
base size=8 base align=4
__gconv_info (0xb6ea9d40) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0xb6ea9dc0) 0
-Class <anonymous union>
- size=44 align=4
- base size=44 base align=4
-<anonymous union> (0xb6ea9d80) 0
Class _IO_marker
size=12 align=4
@@ -635,10 +421,6 @@ Class _IO_FILE
base size=148 base align=4
_IO_FILE (0xb6ea9e40) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb6ea9e80) 0
Vtable for QTextStream
QTextStream::_ZTV11QTextStream: 4u entries
@@ -653,10 +435,6 @@ Class QTextStream
QTextStream (0xb6ea9ec0) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0xb6ea9f80) 0
Class QTextStreamManipulator
size=24 align=4
@@ -693,40 +471,16 @@ QTextOStream (0xb6ea9f40) 0
QTextStream (0xb6e65000) 0
primary-for QTextOStream (0xb6ea9f40)
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0xb6e650c0) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0xb6e65100) 0
Class wait
size=4 align=4
base size=4 base align=4
wait (0xb6e65080) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6e65140) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6e65180) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb6e651c0) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb6e65200) 0
Class timespec
size=8 align=4
@@ -738,80 +492,24 @@ Class timeval
base size=8 base align=4
timeval (0xb6e65280) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb6e652c0) 0
-Class <anonymous union>
- size=36 align=4
- base size=36 base align=4
-<anonymous union> (0xb6e65300) 0
Class __pthread_internal_slist
size=4 align=4
base size=4 base align=4
__pthread_internal_slist (0xb6e65340) 0
-Class <anonymous union>::__pthread_mutex_s::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union>::__pthread_mutex_s::<anonymous union> (0xb6e65400) 0
-Class <anonymous union>::__pthread_mutex_s
- size=24 align=4
- base size=24 base align=4
-<anonymous union>::__pthread_mutex_s (0xb6e653c0) 0
-Class <anonymous union>
- size=24 align=4
- base size=24 base align=4
-<anonymous union> (0xb6e65380) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb6e65440) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0xb6e654c0) 0
-Class <anonymous union>
- size=48 align=4
- base size=48 base align=4
-<anonymous union> (0xb6e65480) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb6e65500) 0
-Class <anonymous union>::<anonymous struct>
- size=32 align=4
- base size=32 base align=4
-<anonymous union>::<anonymous struct> (0xb6e65580) 0
-Class <anonymous union>
- size=32 align=4
- base size=32 base align=4
-<anonymous union> (0xb6e65540) 0
-Class <anonymous union>
- size=8 align=4
- base size=8 base align=4
-<anonymous union> (0xb6e655c0) 0
-Class <anonymous union>
- size=20 align=4
- base size=20 base align=4
-<anonymous union> (0xb6e65600) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb6e65640) 0
Class random_data
size=28 align=4
@@ -882,10 +580,6 @@ QFile (0xb6e65b00) 0
QObject (0xb6e65b80) 0
primary-for QIODevice (0xb6e65b40)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0xb6e65c00) 0
Vtable for QTemporaryFile
QTemporaryFile::_ZTV14QTemporaryFile: 31u entries
@@ -938,50 +632,22 @@ Class QFileInfo
base size=4 base align=4
QFileInfo (0xb6e65d80) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0xb6e65dc0) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0xb6e65e00) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0xb6e65ec0) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0xb6e65e40) 0
Class QRegExp
size=4 align=4
base size=4 base align=4
QRegExp (0xb6e65f00) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0xb6e65f40) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0xb6e65f80) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0xb6e65ac0) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0xb6e65fc0) 0
Class QStringList
size=4 align=4
@@ -989,30 +655,14 @@ Class QStringList
QStringList (0xb6e65bc0) 0
QList<QString> (0xb6e65d40) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0xb6c30040) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0xb6c30080) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0xb6c30140) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0xb6c301c0) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0xb6c30240) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -1069,10 +719,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0xb6c30280) 0
vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0xb6c30400) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -1184,15 +830,7 @@ Class QLocale
base size=4 base align=4
QLocale (0xb6c306c0) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0xb6c30700) 0 empty
-Class QFlags<QLocale::NumberOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLocale::NumberOption> (0xb6c30740) 0
Vtable for QSystemLocale
QSystemLocale::_ZTV13QSystemLocale: 6u entries
@@ -1287,285 +925,65 @@ Class QUrl
base size=4 base align=4
QUrl (0xb6c30a40) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0xb6c30ac0) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0xb6c30b00) 0 empty
Class QMetaType
size=1 align=1
base size=0 base align=1
QMetaType (0xb6c30b40) 0 empty
-Class QMetaTypeId2<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QString> (0xb6c30c00) 0 empty
-Class QMetaTypeId2<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<int> (0xb6c30c40) 0 empty
-Class QMetaTypeId2<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned int> (0xb6c30c80) 0 empty
-Class QMetaTypeId2<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<bool> (0xb6c30cc0) 0 empty
-Class QMetaTypeId2<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<double> (0xb6c30d00) 0 empty
-Class QMetaTypeId2<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QByteArray> (0xb6c30d40) 0 empty
-Class QMetaTypeId2<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QChar> (0xb6c30d80) 0 empty
-Class QMetaTypeId2<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long int> (0xb6c30dc0) 0 empty
-Class QMetaTypeId2<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short int> (0xb6c30e00) 0 empty
-Class QMetaTypeId2<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<char> (0xb6c30e40) 0 empty
-Class QMetaTypeId2<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long unsigned int> (0xb6c30e80) 0 empty
-Class QMetaTypeId2<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short unsigned int> (0xb6c30ec0) 0 empty
-Class QMetaTypeId2<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned char> (0xb6c30f00) 0 empty
-Class QMetaTypeId2<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<float> (0xb6c30f40) 0 empty
-Class QMetaTypeId2<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QObject*> (0xb6c30f80) 0 empty
-Class QMetaTypeId2<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QWidget*> (0xb6c30fc0) 0 empty
-Class QMetaTypeId2<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<void*> (0xb6c30380) 0 empty
-Class QMetaTypeId2<long long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long int> (0xb6c30480) 0 empty
-Class QMetaTypeId2<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long unsigned int> (0xb6c30540) 0 empty
-Class QMetaTypeId2<QStringList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QStringList> (0xb6c30680) 0 empty
-Class QMetaTypeId2<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitArray> (0xb6c307c0) 0 empty
-Class QMetaTypeId2<QDate>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDate> (0xb6c30940) 0 empty
-Class QMetaTypeId2<QTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTime> (0xb6c30a00) 0 empty
-Class QMetaTypeId2<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDateTime> (0xb6983000) 0 empty
-Class QMetaTypeId2<QUrl>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QUrl> (0xb6983040) 0 empty
-Class QMetaTypeId2<QLocale>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLocale> (0xb6983080) 0 empty
-Class QMetaTypeId2<QRect>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRect> (0xb69830c0) 0 empty
-Class QMetaTypeId2<QRectF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRectF> (0xb6983100) 0 empty
-Class QMetaTypeId2<QSize>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSize> (0xb6983140) 0 empty
-Class QMetaTypeId2<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizeF> (0xb6983180) 0 empty
-Class QMetaTypeId2<QLine>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLine> (0xb69831c0) 0 empty
-Class QMetaTypeId2<QLineF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLineF> (0xb6983200) 0 empty
-Class QMetaTypeId2<QPoint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPoint> (0xb6983240) 0 empty
-Class QMetaTypeId2<QPointF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPointF> (0xb6983280) 0 empty
-Class QMetaTypeId2<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegExp> (0xb69832c0) 0 empty
-Class QMetaTypeId2<QColorGroup>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColorGroup> (0xb6983300) 0 empty
-Class QMetaTypeId2<QFont>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QFont> (0xb6983340) 0 empty
-Class QMetaTypeId2<QPixmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPixmap> (0xb6983380) 0 empty
-Class QMetaTypeId2<QBrush>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBrush> (0xb69833c0) 0 empty
-Class QMetaTypeId2<QColor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColor> (0xb6983400) 0 empty
-Class QMetaTypeId2<QPalette>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPalette> (0xb6983440) 0 empty
-Class QMetaTypeId2<QIcon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QIcon> (0xb6983480) 0 empty
-Class QMetaTypeId2<QImage>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QImage> (0xb69834c0) 0 empty
-Class QMetaTypeId2<QPolygon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPolygon> (0xb6983500) 0 empty
-Class QMetaTypeId2<QRegion>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegion> (0xb6983540) 0 empty
-Class QMetaTypeId2<QBitmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitmap> (0xb6983580) 0 empty
-Class QMetaTypeId2<QCursor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QCursor> (0xb69835c0) 0 empty
-Class QMetaTypeId2<QSizePolicy>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizePolicy> (0xb6983600) 0 empty
-Class QMetaTypeId2<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QKeySequence> (0xb6983640) 0 empty
-Class QMetaTypeId2<QPen>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPen> (0xb6983680) 0 empty
-Class QMetaTypeId2<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextLength> (0xb69836c0) 0 empty
-Class QMetaTypeId2<QTextFormat>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextFormat> (0xb6983700) 0 empty
-Class QMetaTypeId2<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMatrix> (0xb6983740) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -1592,45 +1010,17 @@ Class QVariant
base size=12 base align=4
QVariant (0xb6983780) 0
-Class QMetaTypeId2<QList<QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QList<QVariant> > (0xb69839c0) 0 empty
-Class QMetaTypeId2<QMap<QString, QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMap<QString, QVariant> > (0xb6983a00) 0 empty
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0xb6983b00) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0xb6983a80) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0xb6983c00) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0xb6983b80) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0xb6983cc0) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0xb6983d40) 0 empty
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1662,80 +1052,48 @@ Class QPoint
base size=8 base align=4
QPoint (0xb6983f00) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0xb6983900) 0 empty
Class QPointF
size=16 align=4
base size=16 base align=4
QPointF (0xb6983940) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0xb69838c0) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0xb6983980) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0xb6983c80) 0 empty
Class QLineF
size=32 align=4
base size=32 base align=4
QLineF (0xb6983e00) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0xb6983e40) 0 empty
Class QSize
size=8 align=4
base size=8 base align=4
QSize (0xb6983f40) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0xb6983fc0) 0 empty
Class QSizeF
size=16 align=4
base size=16 base align=4
QSizeF (0xb68f3000) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0xb68f3200) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0xb68f32c0) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0xb68f33c0) 0 empty
Class QRectF
size=32 align=4
base size=32 base align=4
QRectF (0xb68f3400) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0xb68f34c0) 0 empty
Class QLinkedListData
size=20 align=4
@@ -1752,10 +1110,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0xb68f3880) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0xb68f38c0) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -1772,30 +1126,18 @@ Class QDate
base size=4 base align=4
QDate (0xb68f3b40) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0xb68f3c00) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0xb68f3c40) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0xb68f3d00) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0xb68f3d40) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0xb68f3e00) 0 empty
Vtable for QTimeLine
QTimeLine::_ZTV9QTimeLine: 15u entries
@@ -1981,10 +1323,6 @@ QEventLoop (0xb68f3bc0) 0
QObject (0xb68f3c80) 0
primary-for QEventLoop (0xb68f3bc0)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0xb68f3d80) 0
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -2091,20 +1429,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0xb674f400) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0xb674f440) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0xb674f480) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0xb674f500) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -2324,10 +1654,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0xb674f980) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0xb674f9c0) 0 empty
Vtable for QSocketNotifier
QSocketNotifier::_ZTV15QSocketNotifier: 14u entries
@@ -2422,20 +1748,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0xb674fc40) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0xb674fc80) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0xb674fcc0) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0xb674fd00) 0 empty
Class QMetaProperty
size=20 align=4
@@ -2447,10 +1765,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0xb674fd80) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0xb674fdc0) 0 empty
Vtable for QPluginLoader
QPluginLoader::_ZTV13QPluginLoader: 14u entries
@@ -2507,10 +1821,6 @@ QLibrary (0xb674ff00) 0
QObject (0xb674ff40) 0
primary-for QLibrary (0xb674ff00)
-Class QFlags<QLibrary::LoadHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLibrary::LoadHint> (0xb674ffc0) 0
Class QSemaphore
size=4 align=4
@@ -2558,10 +1868,6 @@ Class QMutex
base size=4 base align=4
QMutex (0xb674f4c0) 0
-Class QMutexLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMutexLocker::<anonymous union> (0xb674f6c0) 0
Class QMutexLocker
size=4 align=4
@@ -2573,20 +1879,12 @@ Class QReadWriteLock
base size=4 base align=4
QReadWriteLock (0xb674f7c0) 0
-Class QReadLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QReadLocker::<anonymous union> (0xb674f940) 0
Class QReadLocker
size=4 align=4
base size=4 base align=4
QReadLocker (0xb674f880) 0
-Class QWriteLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QWriteLocker::<anonymous union> (0xb674fb40) 0
Class QWriteLocker
size=4 align=4
@@ -2598,15 +1896,7 @@ Class QSqlRecord
base size=4 base align=4
QSqlRecord (0xb674fc00) 0
-Class QList<bool>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<bool>::<anonymous union> (0xb649b0c0) 0
-Class QList<bool>
- size=4 align=4
- base size=4 base align=4
-QList<bool> (0xb649b040) 0
Class QSqlIndex
size=16 align=4
@@ -2614,10 +1904,6 @@ Class QSqlIndex
QSqlIndex (0xb674fe80) 0
QSqlRecord (0xb674ff80) 0
-Class QFlags<QSql::ParamTypeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QSql::ParamTypeFlag> (0xb649b100) 0
Vtable for QSqlResult
QSqlResult::_ZTV10QSqlResult: 29u entries
@@ -3000,23 +2286,7 @@ QSqlRelationalTableModel (0xb649b9c0) 0
QObject (0xb649bb00) 0
primary-for QAbstractItemModel (0xb649bac0)
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0xb649bbc0) 0
-Class QTypeInfo<QDebug::Stream*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDebug::Stream*> (0xb649bc40) 0 empty
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0xb649bcc0) 0
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0xb649bd40) 0
diff --git a/tests/auto/bic/data/QtSql.4.2.0.linux-gcc-ppc32.txt b/tests/auto/bic/data/QtSql.4.2.0.linux-gcc-ppc32.txt
index 63901fd..39a80b7 100644
--- a/tests/auto/bic/data/QtSql.4.2.0.linux-gcc-ppc32.txt
+++ b/tests/auto/bic/data/QtSql.4.2.0.linux-gcc-ppc32.txt
@@ -1,34 +1,8 @@
-Class QUintForSize<4>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<4> (0x305925b0) 0 empty
-Class QUintForSize<8>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<8> (0x30592620) 0 empty
-Class QUintForType<void*>
- size=1 align=1
- base size=1 base align=1
-QUintForType<void*> (0x3001b9c0) 0 empty
- QUintForSize<4> (0x30592770) 0 empty
-Class QIntForSize<4>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<4> (0x30592850) 0 empty
-Class QIntForSize<8>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<8> (0x305928c0) 0 empty
-Class QIntForType<void*>
- size=1 align=1
- base size=1 base align=1
-QIntForType<void*> (0x3001ba40) 0 empty
- QIntForSize<4> (0x30592a10) 0 empty
Class QSysInfo
size=1 align=1
@@ -50,150 +24,38 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0x30592d90) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0x30592f88) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0x305b6038) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0x305b60e0) 0 empty
-Class QTypeInfo<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned char> (0x305b6188) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0x305b6230) 0 empty
-Class QTypeInfo<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short unsigned int> (0x305b62d8) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0x305b6380) 0 empty
-Class QTypeInfo<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned int> (0x305b6428) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0x305b64d0) 0 empty
-Class QTypeInfo<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long unsigned int> (0x305b6578) 0 empty
-Class QTypeInfo<long long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long int> (0x305b6620) 0 empty
-Class QTypeInfo<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long unsigned int> (0x305b66c8) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0x305b6770) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0x305b6818) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0x305b68c0) 0 empty
Class QFlag
size=4 align=4
base size=4 base align=4
QFlag (0x305b6930) 0
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0x305b6e00) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0x305b6e70) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0x305b6ee0) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0x305b6f50) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0x305b6fc0) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0x30651038) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0x306510a8) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0x30651118) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0x30651188) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0x306511f8) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0x30651268) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0x306512d8) 0
-Class QFlags<Qt::TextInteractionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::TextInteractionFlag> (0x30651348) 0
Class QInternal
size=1 align=1
@@ -211,10 +73,6 @@ Class QGenericReturnArgument
QGenericReturnArgument (0x3001bb80) 0
QGenericArgument (0x30651460) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0x30651620) 0
Class QMetaObject
size=16 align=4
@@ -231,10 +89,6 @@ Class QChar
base size=2 base align=2
QChar (0x30651700) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0x306517a8) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -267,10 +121,6 @@ Class QByteRef
base size=8 base align=4
QByteRef (0x30b72508) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0x30b72850) 0 empty
Class QString::Null
size=1 align=1
@@ -287,10 +137,6 @@ Class QString
base size=4 base align=4
QString (0x30b728f8) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0x30b72b28) 0
Class QLatin1String
size=4 align=4
@@ -308,10 +154,6 @@ Class QConstString
QConstString (0x3001bdc0) 0
QString (0x30ca6cb0) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0x30ca6d90) 0 empty
Vtable for std::exception
std::exception::_ZTVSt9exception: 5u entries
@@ -374,15 +216,7 @@ Class QListData
base size=4 base align=4
QListData (0x30d9e498) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0x30d9e9d8) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0x30d9e930) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -474,10 +308,6 @@ QIODevice (0x3001be80) 0
QObject (0x30d9eea8) 0
primary-for QIODevice (0x3001be80)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0x30d9e700) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -507,10 +337,6 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0x30eb8658) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0x30eb86c8) 0 empty
Class QMapData::Node
size=8 align=4
@@ -522,10 +348,6 @@ Class QMapData
base size=72 base align=4
QMapData (0x30eb8f18) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0x30f96540) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -550,15 +372,7 @@ Class QTextCodec
QTextCodec (0x30f963f0) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0x30f96818) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0x30f96770) 0
Class QTextEncoder
size=32 align=4
@@ -570,30 +384,10 @@ Class QTextDecoder
base size=32 base align=4
QTextDecoder (0x30f96930) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x30f969d8) 0
-Class <anonymous struct>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct>::<anonymous union> (0x30f96ab8) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x30f96a48) 0
-Class <anonymous struct>
- size=12 align=4
- base size=12 base align=4
-<anonymous struct> (0x30f96b28) 0
-Class <anonymous struct>
- size=16 align=8
- base size=16 base align=8
-<anonymous struct> (0x30f96b98) 0
Class __gconv_trans_data
size=20 align=4
@@ -615,15 +409,7 @@ Class __gconv_info
base size=8 base align=4
__gconv_info (0x30f96ce8) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0x30f96dc8) 0
-Class <anonymous union>
- size=44 align=4
- base size=44 base align=4
-<anonymous union> (0x30f96d58) 0
Class _IO_marker
size=12 align=4
@@ -635,10 +421,6 @@ Class _IO_FILE
base size=152 base align=8
_IO_FILE (0x30f96e38) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0x30f96ea8) 0
Vtable for QTextStream
QTextStream::_ZTV11QTextStream: 4u entries
@@ -653,10 +435,6 @@ Class QTextStream
QTextStream (0x30f96ee0) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0x310c1038) 0
Class QTextStreamManipulator
size=24 align=4
@@ -693,40 +471,16 @@ QTextOStream (0x310af080) 0
QTextStream (0x310c15b0) 0
primary-for QTextOStream (0x310af080)
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0x310c1888) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0x310c18f8) 0
Class wait
size=4 align=4
base size=4 base align=4
wait (0x310c1818) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x310c1968) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x310c19d8) 0
-Class <anonymous struct>
- size=16 align=8
- base size=16 base align=8
-<anonymous struct> (0x310c1a48) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0x310c1ab8) 0
Class timespec
size=8 align=4
@@ -738,70 +492,18 @@ Class timeval
base size=8 base align=4
timeval (0x310c1b28) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0x310c1b98) 0
-Class <anonymous union>
- size=36 align=4
- base size=36 base align=4
-<anonymous union> (0x310c1c08) 0
-Class <anonymous union>::<anonymous struct>
- size=24 align=4
- base size=24 base align=4
-<anonymous union>::<anonymous struct> (0x310c1ce8) 0
-Class <anonymous union>
- size=24 align=4
- base size=24 base align=4
-<anonymous union> (0x310c1c78) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0x310c1d58) 0
-Class <anonymous union>::<anonymous struct>
- size=48 align=8
- base size=48 base align=8
-<anonymous union>::<anonymous struct> (0x310c1e38) 0
-Class <anonymous union>
- size=48 align=8
- base size=48 base align=8
-<anonymous union> (0x310c1dc8) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0x310c1ea8) 0
-Class <anonymous union>::<anonymous struct>
- size=32 align=4
- base size=32 base align=4
-<anonymous union>::<anonymous struct> (0x310c1f88) 0
-Class <anonymous union>
- size=32 align=4
- base size=32 base align=4
-<anonymous union> (0x310c1f18) 0
-Class <anonymous union>
- size=8 align=4
- base size=8 base align=4
-<anonymous union> (0x310c13f0) 0
-Class <anonymous union>
- size=20 align=4
- base size=20 base align=4
-<anonymous union> (0x3110b000) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0x3110b070) 0
Class random_data
size=28 align=4
@@ -872,10 +574,6 @@ QFile (0x310af0c0) 0
QObject (0x3110b930) 0
primary-for QIODevice (0x310af100)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0x3110bab8) 0
Vtable for QTemporaryFile
QTemporaryFile::_ZTV14QTemporaryFile: 31u entries
@@ -928,50 +626,22 @@ Class QFileInfo
base size=4 base align=4
QFileInfo (0x3110bc08) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0x3110bcb0) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0x3110bd20) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0x3110bea8) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0x3110be00) 0
Class QRegExp
size=4 align=4
base size=4 base align=4
QRegExp (0x3110bf50) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0x312b60a8) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0x312b6118) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0x312b62d8) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0x312b6230) 0
Class QStringList
size=4 align=4
@@ -979,30 +649,14 @@ Class QStringList
QStringList (0x310af200) 0
QList<QString> (0x312b6380) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0x312b67a8) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0x312b6818) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0x312b6b28) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0x312b6c40) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0x312b6ce8) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -1059,10 +713,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0x312b6d20) 0
vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0x312b6f88) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -1174,15 +824,7 @@ Class QLocale
base size=4 base align=4
QLocale (0x31371310) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0x313713b8) 0 empty
-Class QFlags<QLocale::NumberOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLocale::NumberOption> (0x31371460) 0
Vtable for QSystemLocale
QSystemLocale::_ZTV13QSystemLocale: 6u entries
@@ -1277,285 +919,65 @@ Class QUrl
base size=4 base align=4
QUrl (0x31371850) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0x313719d8) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0x31371a48) 0 empty
Class QMetaType
size=1 align=1
base size=0 base align=1
QMetaType (0x31371ab8) 0 empty
-Class QMetaTypeId2<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QString> (0x31371c78) 0 empty
-Class QMetaTypeId2<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<int> (0x31371d20) 0 empty
-Class QMetaTypeId2<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned int> (0x31371dc8) 0 empty
-Class QMetaTypeId2<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<bool> (0x31371e70) 0 empty
-Class QMetaTypeId2<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<double> (0x31371f18) 0 empty
-Class QMetaTypeId2<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QByteArray> (0x31371fc0) 0 empty
-Class QMetaTypeId2<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QChar> (0x313712a0) 0 empty
-Class QMetaTypeId2<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long int> (0x313717e0) 0 empty
-Class QMetaTypeId2<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short int> (0x31450070) 0 empty
-Class QMetaTypeId2<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<char> (0x31450118) 0 empty
-Class QMetaTypeId2<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long unsigned int> (0x314501c0) 0 empty
-Class QMetaTypeId2<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short unsigned int> (0x31450268) 0 empty
-Class QMetaTypeId2<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned char> (0x31450310) 0 empty
-Class QMetaTypeId2<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<float> (0x314503b8) 0 empty
-Class QMetaTypeId2<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QObject*> (0x31450460) 0 empty
-Class QMetaTypeId2<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QWidget*> (0x31450508) 0 empty
-Class QMetaTypeId2<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<void*> (0x314505b0) 0 empty
-Class QMetaTypeId2<long long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long int> (0x31450658) 0 empty
-Class QMetaTypeId2<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long unsigned int> (0x31450700) 0 empty
-Class QMetaTypeId2<QStringList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QStringList> (0x314507a8) 0 empty
-Class QMetaTypeId2<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitArray> (0x31450850) 0 empty
-Class QMetaTypeId2<QDate>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDate> (0x314508f8) 0 empty
-Class QMetaTypeId2<QTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTime> (0x314509a0) 0 empty
-Class QMetaTypeId2<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDateTime> (0x31450a48) 0 empty
-Class QMetaTypeId2<QUrl>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QUrl> (0x31450af0) 0 empty
-Class QMetaTypeId2<QLocale>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLocale> (0x31450b98) 0 empty
-Class QMetaTypeId2<QRect>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRect> (0x31450c40) 0 empty
-Class QMetaTypeId2<QRectF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRectF> (0x31450ce8) 0 empty
-Class QMetaTypeId2<QSize>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSize> (0x31450d90) 0 empty
-Class QMetaTypeId2<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizeF> (0x31450e38) 0 empty
-Class QMetaTypeId2<QLine>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLine> (0x31450ee0) 0 empty
-Class QMetaTypeId2<QLineF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLineF> (0x31450f88) 0 empty
-Class QMetaTypeId2<QPoint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPoint> (0x3146a038) 0 empty
-Class QMetaTypeId2<QPointF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPointF> (0x3146a0e0) 0 empty
-Class QMetaTypeId2<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegExp> (0x3146a188) 0 empty
-Class QMetaTypeId2<QColorGroup>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColorGroup> (0x3146a230) 0 empty
-Class QMetaTypeId2<QFont>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QFont> (0x3146a2d8) 0 empty
-Class QMetaTypeId2<QPixmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPixmap> (0x3146a380) 0 empty
-Class QMetaTypeId2<QBrush>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBrush> (0x3146a428) 0 empty
-Class QMetaTypeId2<QColor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColor> (0x3146a4d0) 0 empty
-Class QMetaTypeId2<QPalette>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPalette> (0x3146a578) 0 empty
-Class QMetaTypeId2<QIcon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QIcon> (0x3146a620) 0 empty
-Class QMetaTypeId2<QImage>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QImage> (0x3146a6c8) 0 empty
-Class QMetaTypeId2<QPolygon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPolygon> (0x3146a770) 0 empty
-Class QMetaTypeId2<QRegion>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegion> (0x3146a818) 0 empty
-Class QMetaTypeId2<QBitmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitmap> (0x3146a8c0) 0 empty
-Class QMetaTypeId2<QCursor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QCursor> (0x3146a968) 0 empty
-Class QMetaTypeId2<QSizePolicy>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizePolicy> (0x3146aa10) 0 empty
-Class QMetaTypeId2<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QKeySequence> (0x3146aab8) 0 empty
-Class QMetaTypeId2<QPen>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPen> (0x3146ab60) 0 empty
-Class QMetaTypeId2<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextLength> (0x3146ac08) 0 empty
-Class QMetaTypeId2<QTextFormat>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextFormat> (0x3146acb0) 0 empty
-Class QMetaTypeId2<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMatrix> (0x3146ad58) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -1582,45 +1004,17 @@ Class QVariant
base size=16 base align=8
QVariant (0x3146adc8) 0
-Class QMetaTypeId2<QList<QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QList<QVariant> > (0x314aa1c0) 0 empty
-Class QMetaTypeId2<QMap<QString, QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMap<QString, QVariant> > (0x314aa268) 0 empty
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0x314aa428) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0x314aa380) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0x314aa5e8) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0x314aa540) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0x314aa700) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0x314aa818) 0 empty
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1652,80 +1046,48 @@ Class QPoint
base size=8 base align=4
QPoint (0x314aad58) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0x314aad90) 0 empty
Class QPointF
size=16 align=8
base size=16 base align=8
QPointF (0x315720a8) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0x31572498) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0x315726c8) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0x31572738) 0 empty
Class QLineF
size=32 align=8
base size=32 base align=8
QLineF (0x31572888) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0x31572930) 0 empty
Class QSize
size=8 align=4
base size=8 base align=4
QSize (0x31572ab8) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0x31572e38) 0 empty
Class QSizeF
size=16 align=8
base size=16 base align=8
QSizeF (0x31572310) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0x31572d90) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0x31605348) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0x31605540) 0 empty
Class QRectF
size=32 align=8
base size=32 base align=8
QRectF (0x31605770) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0x316058f8) 0 empty
Class QLinkedListData
size=20 align=4
@@ -1742,10 +1104,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0x317671f8) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0x317672d8) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -1762,30 +1120,18 @@ Class QDate
base size=4 base align=4
QDate (0x317676c8) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0x31767888) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0x317678f8) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0x31767ab8) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0x31767b28) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0x31767c78) 0 empty
Vtable for QTimeLine
QTimeLine::_ZTV9QTimeLine: 15u entries
@@ -1971,10 +1317,6 @@ QEventLoop (0x310af780) 0
QObject (0x3181e700) 0
primary-for QEventLoop (0x310af780)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0x3181e8c0) 0
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -2081,20 +1423,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0x318ca038) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0x318ca1c0) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0x318ca230) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0x318ca348) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -2314,10 +1648,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0x318caa80) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0x318cab60) 0 empty
Vtable for QSocketNotifier
QSocketNotifier::_ZTV15QSocketNotifier: 14u entries
@@ -2412,20 +1742,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0x318caf88) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0x318ca4d0) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0x318ca770) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0x318cac78) 0 empty
Class QMetaProperty
size=20 align=4
@@ -2437,10 +1759,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0x3199a000) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0x3199a0a8) 0 empty
Vtable for QPluginLoader
QPluginLoader::_ZTV13QPluginLoader: 14u entries
@@ -2497,10 +1815,6 @@ QLibrary (0x310afc00) 0
QObject (0x3199a380) 0
primary-for QLibrary (0x310afc00)
-Class QFlags<QLibrary::LoadHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLibrary::LoadHint> (0x3199a508) 0
Class QSemaphore
size=4 align=4
@@ -2548,10 +1862,6 @@ Class QMutex
base size=4 base align=4
QMutex (0x3199a7a8) 0
-Class QMutexLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMutexLocker::<anonymous union> (0x3199a930) 0
Class QMutexLocker
size=4 align=4
@@ -2563,20 +1873,12 @@ Class QReadWriteLock
base size=4 base align=4
QReadWriteLock (0x3199a9d8) 0
-Class QReadLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QReadLocker::<anonymous union> (0x3199aa80) 0
Class QReadLocker
size=4 align=4
base size=4 base align=4
QReadLocker (0x3199aa10) 0
-Class QWriteLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QWriteLocker::<anonymous union> (0x3199ab98) 0
Class QWriteLocker
size=4 align=4
@@ -2588,15 +1890,7 @@ Class QSqlRecord
base size=4 base align=4
QSqlRecord (0x3199ac40) 0
-Class QList<bool>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<bool>::<anonymous union> (0x3199ae00) 0
-Class QList<bool>
- size=4 align=4
- base size=4 base align=4
-QList<bool> (0x3199ad58) 0
Class QSqlIndex
size=16 align=4
@@ -2604,10 +1898,6 @@ Class QSqlIndex
QSqlIndex (0x310afc80) 0
QSqlRecord (0x3199ac78) 0
-Class QFlags<QSql::ParamTypeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QSql::ParamTypeFlag> (0x3199af50) 0
Vtable for QSqlResult
QSqlResult::_ZTV10QSqlResult: 29u entries
@@ -2990,23 +2280,7 @@ QSqlRelationalTableModel (0x310affc0) 0
QObject (0x31a62a48) 0
primary-for QAbstractItemModel (0x31aee0c0)
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0x31b38f18) 0
-Class QTypeInfo<QDebug::Stream*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDebug::Stream*> (0x31b54658) 0 empty
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0x31b6c460) 0
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0x31bf1b98) 0
diff --git a/tests/auto/bic/data/QtSql.4.2.0.macx-gcc-ia32.txt b/tests/auto/bic/data/QtSql.4.2.0.macx-gcc-ia32.txt
index 38716ab..fcb4662 100644
--- a/tests/auto/bic/data/QtSql.4.2.0.macx-gcc-ia32.txt
+++ b/tests/auto/bic/data/QtSql.4.2.0.macx-gcc-ia32.txt
@@ -1,34 +1,8 @@
-Class QUintForSize<4>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<4> (0x697580) 0 empty
-Class QUintForSize<8>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<8> (0x697600) 0 empty
-Class QUintForType<void*>
- size=1 align=1
- base size=1 base align=1
-QUintForType<void*> (0x6977c0) 0 empty
- QUintForSize<4> (0x697800) 0 empty
-Class QIntForSize<4>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<4> (0x697900) 0 empty
-Class QIntForSize<8>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<8> (0x697980) 0 empty
-Class QIntForType<void*>
- size=1 align=1
- base size=1 base align=1
-QIntForType<void*> (0x697b40) 0 empty
- QIntForSize<4> (0x697b80) 0 empty
Class QSysInfo
size=1 align=1
@@ -50,75 +24,19 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0x6bd080) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0x6bd2c0) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0x6bd380) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0x6bd440) 0 empty
-Class QTypeInfo<uchar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uchar> (0x6bd500) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0x6bd5c0) 0 empty
-Class QTypeInfo<ushort>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ushort> (0x6bd680) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0x6bd740) 0 empty
-Class QTypeInfo<uint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uint> (0x6bd800) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0x6bd8c0) 0 empty
-Class QTypeInfo<ulong>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ulong> (0x6bd980) 0 empty
-Class QTypeInfo<qint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<qint64> (0x6bda40) 0 empty
-Class QTypeInfo<quint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<quint64> (0x6bdb00) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0x6bdbc0) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0x6bdc80) 0 empty
Class QFlag
size=4 align=4
@@ -135,10 +53,6 @@ Class QChar
base size=2 base align=2
QChar (0x6bdf80) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0x718080) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -151,10 +65,6 @@ Class QAtomic
QAtomic (0x718780) 0
QBasicAtomic (0x7187c0) 0
-Class <anonymous union>
- size=128 align=4
- base size=128 base align=4
-<anonymous union> (0x718a40) 0
Class __darwin_pthread_handler_rec
size=12 align=4
@@ -236,75 +146,19 @@ Class QByteRef
base size=8 base align=4
QByteRef (0xeb3780) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0xeb3b40) 0 empty
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0xeb3fc0) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0xfb8040) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0xfb80c0) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0xfb8140) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0xfb81c0) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0xfb8240) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0xfb82c0) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0xfb8340) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0xfb83c0) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0xfb8440) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0xfb84c0) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0xfb8540) 0
-Class QFlags<Qt::TextInteractionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::TextInteractionFlag> (0xfb85c0) 0
Class QInternal
size=1 align=1
@@ -331,10 +185,6 @@ Class QLatin1String
base size=4 base align=4
QLatin1String (0xfb8dc0) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0x11201c0) 0
Class QCharRef
size=8 align=4
@@ -347,10 +197,6 @@ Class QConstString
QConstString (0x1120e00) 0
QString (0x1120e40) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0x1120f40) 0 empty
Vtable for std::exception
std::exception::_ZTVSt9exception: 5u entries
@@ -413,10 +259,6 @@ Class QListData
base size=4 base align=4
QListData (0x12337c0) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0x1233e00) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -441,15 +283,7 @@ Class QTextCodec
QTextCodec (0x1233c80) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0x1233f00) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0x1233640) 0
Class QTextEncoder
size=32 align=4
@@ -472,25 +306,13 @@ Class QGenericReturnArgument
QGenericReturnArgument (0x1353200) 0
QGenericArgument (0x1353240) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0x1353500) 0
Class QMetaObject
size=16 align=4
base size=16 base align=4
QMetaObject (0x1353480) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0x1353780) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0x13536c0) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -582,10 +404,6 @@ QIODevice (0x1353dc0) 0
QObject (0x1353e00) 0
primary-for QIODevice (0x1353dc0)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0x1353a80) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -605,25 +423,13 @@ Class QRegExp
base size=4 base align=4
QRegExp (0x1428680) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0x14288c0) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0x1428940) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0x1428b40) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0x1428a80) 0
Class QStringList
size=4 align=4
@@ -631,15 +437,7 @@ Class QStringList
QStringList (0x1428c00) 0
QList<QString> (0x1428c40) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0x14c40c0) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0x14c4140) 0
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -773,50 +571,22 @@ QFile (0x14c4f80) 0
QObject (0x14c4540) 0
primary-for QIODevice (0x14c4fc0)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0x155e0c0) 0
Class QFileInfo
size=4 align=4
base size=4 base align=4
QFileInfo (0x155e100) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0x155e1c0) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0x155e240) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0x155e400) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0x155e340) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0x155e4c0) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0x155e600) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0x155e680) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -873,10 +643,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0x155e6c0) 0
vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0x155e980) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -950,10 +716,6 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0x155ee80) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0x155ef00) 0 empty
Class QMapData::Node
size=8 align=4
@@ -978,10 +740,6 @@ Class QTextStream
QTextStream (0x179d200) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0x179d4c0) 0
Class QTextStreamManipulator
size=24 align=4
@@ -1078,35 +836,15 @@ Class rlimit
base size=16 base align=4
rlimit (0x179d800) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0x1840700) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0x1840780) 0
Class wait
size=4 align=4
base size=4 base align=4
wait (0x1840680) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x1840800) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x1840880) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0x1840900) 0
Class QVectorData
size=16 align=4
@@ -1244,15 +982,7 @@ Class QLocale
base size=4 base align=4
QLocale (0x195c800) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0x195c8c0) 0 empty
-Class QFlags<QLocale::NumberOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLocale::NumberOption> (0x195c980) 0
Vtable for QSystemLocale
QSystemLocale::_ZTV13QSystemLocale: 6u entries
@@ -1279,270 +1009,58 @@ Class QMetaType
base size=0 base align=1
QMetaType (0x195cb80) 0 empty
-Class QMetaTypeId2<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QString> (0x195cd80) 0 empty
-Class QMetaTypeId2<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<int> (0x195ce40) 0 empty
-Class QMetaTypeId2<uint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<uint> (0x195cf00) 0 empty
-Class QMetaTypeId2<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<bool> (0x195cfc0) 0 empty
-Class QMetaTypeId2<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<double> (0x195c580) 0 empty
-Class QMetaTypeId2<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QByteArray> (0x1a54000) 0 empty
-Class QMetaTypeId2<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QChar> (0x1a540c0) 0 empty
-Class QMetaTypeId2<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long int> (0x1a54180) 0 empty
-Class QMetaTypeId2<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short int> (0x1a54240) 0 empty
-Class QMetaTypeId2<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<char> (0x1a54300) 0 empty
-Class QMetaTypeId2<ulong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<ulong> (0x1a543c0) 0 empty
-Class QMetaTypeId2<ushort>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<ushort> (0x1a54480) 0 empty
-Class QMetaTypeId2<uchar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<uchar> (0x1a54540) 0 empty
-Class QMetaTypeId2<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<float> (0x1a54600) 0 empty
-Class QMetaTypeId2<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QObject*> (0x1a546c0) 0 empty
-Class QMetaTypeId2<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QWidget*> (0x1a54780) 0 empty
-Class QMetaTypeId2<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<void*> (0x1a54840) 0 empty
-Class QMetaTypeId2<qlonglong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<qlonglong> (0x1a54900) 0 empty
-Class QMetaTypeId2<qulonglong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<qulonglong> (0x1a549c0) 0 empty
-Class QMetaTypeId2<QStringList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QStringList> (0x1a54a80) 0 empty
-Class QMetaTypeId2<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitArray> (0x1a54b40) 0 empty
-Class QMetaTypeId2<QDate>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDate> (0x1a54c00) 0 empty
-Class QMetaTypeId2<QTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTime> (0x1a54cc0) 0 empty
-Class QMetaTypeId2<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDateTime> (0x1a54d80) 0 empty
-Class QMetaTypeId2<QUrl>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QUrl> (0x1a54e40) 0 empty
-Class QMetaTypeId2<QLocale>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLocale> (0x1a54f00) 0 empty
-Class QMetaTypeId2<QRect>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRect> (0x1a54fc0) 0 empty
-Class QMetaTypeId2<QRectF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRectF> (0x1a6e080) 0 empty
-Class QMetaTypeId2<QSize>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSize> (0x1a6e140) 0 empty
-Class QMetaTypeId2<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizeF> (0x1a6e200) 0 empty
-Class QMetaTypeId2<QLine>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLine> (0x1a6e2c0) 0 empty
-Class QMetaTypeId2<QLineF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLineF> (0x1a6e380) 0 empty
-Class QMetaTypeId2<QPoint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPoint> (0x1a6e440) 0 empty
-Class QMetaTypeId2<QPointF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPointF> (0x1a6e500) 0 empty
-Class QMetaTypeId2<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegExp> (0x1a6e5c0) 0 empty
-Class QMetaTypeId2<QColorGroup>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColorGroup> (0x1a6e680) 0 empty
-Class QMetaTypeId2<QFont>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QFont> (0x1a6e740) 0 empty
-Class QMetaTypeId2<QPixmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPixmap> (0x1a6e800) 0 empty
-Class QMetaTypeId2<QBrush>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBrush> (0x1a6e8c0) 0 empty
-Class QMetaTypeId2<QColor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColor> (0x1a6e980) 0 empty
-Class QMetaTypeId2<QPalette>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPalette> (0x1a6ea40) 0 empty
-Class QMetaTypeId2<QIcon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QIcon> (0x1a6eb00) 0 empty
-Class QMetaTypeId2<QImage>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QImage> (0x1a6ebc0) 0 empty
-Class QMetaTypeId2<QPolygon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPolygon> (0x1a6ec80) 0 empty
-Class QMetaTypeId2<QRegion>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegion> (0x1a6ed40) 0 empty
-Class QMetaTypeId2<QBitmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitmap> (0x1a6ee00) 0 empty
-Class QMetaTypeId2<QCursor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QCursor> (0x1a6eec0) 0 empty
-Class QMetaTypeId2<QSizePolicy>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizePolicy> (0x1a6ef80) 0 empty
-Class QMetaTypeId2<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QKeySequence> (0x1a89040) 0 empty
-Class QMetaTypeId2<QPen>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPen> (0x1a89100) 0 empty
-Class QMetaTypeId2<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextLength> (0x1a891c0) 0 empty
-Class QMetaTypeId2<QTextFormat>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextFormat> (0x1a89280) 0 empty
-Class QMetaTypeId2<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMatrix> (0x1a89340) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -1569,60 +1087,20 @@ Class QVariant
base size=12 base align=4
QVariant (0x1a893c0) 0
-Class QMetaTypeId2<QVariantList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QVariantList> (0x1a89900) 0 empty
-Class QMetaTypeId2<QVariantMap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QVariantMap> (0x1a899c0) 0 empty
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0x1a89bc0) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0x1a89b00) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0x1a89dc0) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0x1a89d00) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0x1a89f40) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0x1a89680) 0 empty
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0x1b26000) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x1b26080) 0
-Class <anonymous struct>
- size=3156 align=4
- base size=3156 base align=4
-<anonymous struct> (0x1b26100) 0
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1700,15 +1178,7 @@ Class QUrl
base size=4 base align=4
QUrl (0x1b26940) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0x1b26b00) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0x1b26b80) 0 empty
Vtable for QEventLoop
QEventLoop::_ZTV10QEventLoop: 14u entries
@@ -1735,10 +1205,6 @@ QEventLoop (0x1b26c00) 0
QObject (0x1b26c40) 0
primary-for QEventLoop (0x1b26c00)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0x1b26e40) 0
Vtable for QAbstractEventDispatcher
QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 27u entries
@@ -1783,20 +1249,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0x1b26540) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0x1c0d100) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0x1c0d180) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0x1c0d2c0) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -1966,10 +1424,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0x1c0da00) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0x1c0db00) 0 empty
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -2076,20 +1530,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0x1cc1640) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0x1cc1700) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0x1cc1780) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0x1cc1840) 0 empty
Class QMetaProperty
size=20 align=4
@@ -2101,10 +1547,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0x1cc1900) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0x1cc19c0) 0 empty
Vtable for QMimeData
QMimeData::_ZTV9QMimeData: 17u entries
@@ -2286,10 +1728,6 @@ QLibrary (0x1d53140) 0
QObject (0x1d53180) 0
primary-for QLibrary (0x1d53140)
-Class QFlags<QLibrary::LoadHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLibrary::LoadHint> (0x1d53340) 0
Vtable for QPluginLoader
QPluginLoader::_ZTV13QPluginLoader: 14u entries
@@ -2326,10 +1764,6 @@ Class QMutex
base size=4 base align=4
QMutex (0x1d53680) 0
-Class QMutexLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMutexLocker::<anonymous union> (0x1d53840) 0
Class QMutexLocker
size=4 align=4
@@ -2341,20 +1775,12 @@ Class QReadWriteLock
base size=4 base align=4
QReadWriteLock (0x1d53900) 0
-Class QReadLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QReadLocker::<anonymous union> (0x1d539c0) 0
Class QReadLocker
size=4 align=4
base size=4 base align=4
QReadLocker (0x1d53940) 0
-Class QWriteLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QWriteLocker::<anonymous union> (0x1d53b00) 0
Class QWriteLocker
size=4 align=4
@@ -2412,10 +1838,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0x1e17400) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0x1e17500) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -2427,70 +1849,42 @@ Class QDate
base size=4 base align=4
QDate (0x1e17780) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0x1e17980) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0x1e17a00) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0x1e17c00) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0x1e17c80) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0x1e17e00) 0 empty
Class QPoint
size=8 align=4
base size=8 base align=4
QPoint (0x1e17e80) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0x1e17f40) 0 empty
Class QPointF
size=16 align=4
base size=16 base align=4
QPointF (0x1ec0240) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0x1ec06c0) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0x1ec09c0) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0x1ec0a40) 0 empty
Class QLineF
size=32 align=4
base size=32 base align=4
QLineF (0x1ec0bc0) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0x1ec0c80) 0 empty
Class QLinkedListData
size=20 align=4
@@ -2502,40 +1896,24 @@ Class QSize
base size=8 base align=4
QSize (0x1fc9080) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0x1fc9480) 0 empty
Class QSizeF
size=16 align=4
base size=16 base align=4
QSizeF (0x1fc9840) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0x1fc9c40) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0x1fc9240) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0x1fc9900) 0 empty
Class QRectF
size=32 align=4
base size=32 base align=4
QRectF (0x2058100) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0x20582c0) 0 empty
Class QSharedData
size=4 align=4
@@ -2568,10 +1946,6 @@ QTimeLine (0x2058780) 0
QObject (0x20587c0) 0
primary-for QTimeLine (0x2058780)
-Class QFlags<QSql::ParamTypeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QSql::ParamTypeFlag> (0x2058a80) 0
Class QSqlRecord
size=4 align=4
@@ -2709,15 +2083,7 @@ Class QSqlField
base size=16 base align=4
QSqlField (0x21b0280) 0
-Class QList<bool>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<bool>::<anonymous union> (0x21b0500) 0
-Class QList<bool>
- size=4 align=4
- base size=4 base align=4
-QList<bool> (0x21b0440) 0
Class QSqlIndex
size=16 align=4
@@ -2975,23 +2341,7 @@ QSqlRelationalTableModel (0x21b0c80) 0
QObject (0x21b0dc0) 0
primary-for QAbstractItemModel (0x21b0d80)
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0x22aa500) 0
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0x22cd380) 0
-Class QTypeInfo<QDebug::Stream*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDebug::Stream*> (0x231a400) 0 empty
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0x239a3c0) 0
diff --git a/tests/auto/bic/data/QtSql.4.2.0.macx-gcc-ppc32.txt b/tests/auto/bic/data/QtSql.4.2.0.macx-gcc-ppc32.txt
index 0677e90..c99f8e2 100644
--- a/tests/auto/bic/data/QtSql.4.2.0.macx-gcc-ppc32.txt
+++ b/tests/auto/bic/data/QtSql.4.2.0.macx-gcc-ppc32.txt
@@ -1,34 +1,8 @@
-Class QUintForSize<4>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<4> (0x9ca180) 0 empty
-Class QUintForSize<8>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<8> (0x9ca200) 0 empty
-Class QUintForType<void*>
- size=1 align=1
- base size=1 base align=1
-QUintForType<void*> (0x9ca3c0) 0 empty
- QUintForSize<4> (0x9ca400) 0 empty
-Class QIntForSize<4>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<4> (0x9ca500) 0 empty
-Class QIntForSize<8>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<8> (0x9ca580) 0 empty
-Class QIntForType<void*>
- size=1 align=1
- base size=1 base align=1
-QIntForType<void*> (0x9ca740) 0 empty
- QIntForSize<4> (0x9ca780) 0 empty
Class QSysInfo
size=1 align=1
@@ -50,75 +24,19 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0x9cac80) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0x9caec0) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0x9caf80) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0x9fb040) 0 empty
-Class QTypeInfo<uchar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uchar> (0x9fb100) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0x9fb1c0) 0 empty
-Class QTypeInfo<ushort>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ushort> (0x9fb280) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0x9fb340) 0 empty
-Class QTypeInfo<uint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uint> (0x9fb400) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0x9fb4c0) 0 empty
-Class QTypeInfo<ulong>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ulong> (0x9fb580) 0 empty
-Class QTypeInfo<qint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<qint64> (0x9fb640) 0 empty
-Class QTypeInfo<quint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<quint64> (0x9fb700) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0x9fb7c0) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0x9fb880) 0 empty
Class QFlag
size=4 align=4
@@ -135,10 +53,6 @@ Class QChar
base size=2 base align=2
QChar (0x9fbb80) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0x9fbc80) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -151,10 +65,6 @@ Class QAtomic
QAtomic (0xa78280) 0
QBasicAtomic (0xa782c0) 0
-Class <anonymous union>
- size=128 align=8
- base size=128 base align=8
-<anonymous union> (0xa78540) 0
Class __darwin_pthread_handler_rec
size=12 align=4
@@ -236,75 +146,19 @@ Class QByteRef
base size=8 base align=4
QByteRef (0xf1a280) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0xf1a640) 0 empty
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0xf1aac0) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0xf1ab40) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0xf1abc0) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0xf1ac40) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0xf1acc0) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0xf1ad40) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0xf1adc0) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0xf1ae40) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0xf1aec0) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0xf1af40) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0xf1afc0) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0x105e040) 0
-Class QFlags<Qt::TextInteractionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::TextInteractionFlag> (0x105e0c0) 0
Class QInternal
size=1 align=1
@@ -331,10 +185,6 @@ Class QLatin1String
base size=4 base align=4
QLatin1String (0x105e8c0) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0x105ed00) 0
Class QCharRef
size=8 align=4
@@ -347,10 +197,6 @@ Class QConstString
QConstString (0x11d8900) 0
QString (0x11d8940) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0x11d8a40) 0 empty
Vtable for std::exception
std::exception::_ZTVSt9exception: 5u entries
@@ -413,10 +259,6 @@ Class QListData
base size=4 base align=4
QListData (0x1292240) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0x1292880) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -441,15 +283,7 @@ Class QTextCodec
QTextCodec (0x1292700) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0x1292bc0) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0x1292b00) 0
Class QTextEncoder
size=32 align=4
@@ -472,25 +306,13 @@ Class QGenericReturnArgument
QGenericReturnArgument (0x1292e00) 0
QGenericArgument (0x1292e40) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0x13b4000) 0
Class QMetaObject
size=16 align=4
base size=16 base align=4
QMetaObject (0x1292800) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0x13b4280) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0x13b41c0) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -582,10 +404,6 @@ QIODevice (0x13b48c0) 0
QObject (0x13b4900) 0
primary-for QIODevice (0x13b48c0)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0x13b4b40) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -605,25 +423,13 @@ Class QRegExp
base size=4 base align=4
QRegExp (0x1483140) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0x1483380) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0x1483400) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0x1483600) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0x1483540) 0
Class QStringList
size=4 align=4
@@ -631,15 +437,7 @@ Class QStringList
QStringList (0x14836c0) 0
QList<QString> (0x1483700) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0x1483bc0) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0x1483c40) 0
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -773,50 +571,22 @@ QFile (0x1529f00) 0
QObject (0x1529f80) 0
primary-for QIODevice (0x1529f40)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0x15a6000) 0
Class QFileInfo
size=4 align=4
base size=4 base align=4
QFileInfo (0x15a6040) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0x15a6100) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0x15a6180) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0x15a6340) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0x15a6280) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0x15a6400) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0x15a6540) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0x15a65c0) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -873,10 +643,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0x15a6600) 0
vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0x15a68c0) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -950,10 +716,6 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0x15a6dc0) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0x15a6e40) 0 empty
Class QMapData::Node
size=8 align=4
@@ -978,10 +740,6 @@ Class QTextStream
QTextStream (0x169ae00) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0x181f000) 0
Class QTextStreamManipulator
size=24 align=4
@@ -1088,40 +846,16 @@ Class rlimit
base size=16 base align=8
rlimit (0x181fd80) 0
-Class OSReadSwapInt64(const volatile void*, uintptr_t)::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-OSReadSwapInt64(const volatile void*, uintptr_t)::<anonymous union> (0x181ff80) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0x186e640) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0x186e6c0) 0
Class wait
size=4 align=4
base size=4 base align=4
wait (0x186e5c0) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x186e740) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x186e7c0) 0
-Class <anonymous struct>
- size=16 align=8
- base size=16 base align=8
-<anonymous struct> (0x186e840) 0
Class QVectorData
size=16 align=4
@@ -1259,15 +993,7 @@ Class QLocale
base size=4 base align=4
QLocale (0x1992780) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0x1992840) 0 empty
-Class QFlags<QLocale::NumberOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLocale::NumberOption> (0x1992900) 0
Vtable for QSystemLocale
QSystemLocale::_ZTV13QSystemLocale: 6u entries
@@ -1294,270 +1020,58 @@ Class QMetaType
base size=0 base align=1
QMetaType (0x1992b00) 0 empty
-Class QMetaTypeId2<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QString> (0x1992d00) 0 empty
-Class QMetaTypeId2<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<int> (0x1992dc0) 0 empty
-Class QMetaTypeId2<uint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<uint> (0x1992e80) 0 empty
-Class QMetaTypeId2<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<bool> (0x1992f40) 0 empty
-Class QMetaTypeId2<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<double> (0x1992200) 0 empty
-Class QMetaTypeId2<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QByteArray> (0x1992700) 0 empty
-Class QMetaTypeId2<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QChar> (0x1a80040) 0 empty
-Class QMetaTypeId2<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long int> (0x1a80100) 0 empty
-Class QMetaTypeId2<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short int> (0x1a801c0) 0 empty
-Class QMetaTypeId2<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<char> (0x1a80280) 0 empty
-Class QMetaTypeId2<ulong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<ulong> (0x1a80340) 0 empty
-Class QMetaTypeId2<ushort>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<ushort> (0x1a80400) 0 empty
-Class QMetaTypeId2<uchar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<uchar> (0x1a804c0) 0 empty
-Class QMetaTypeId2<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<float> (0x1a80580) 0 empty
-Class QMetaTypeId2<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QObject*> (0x1a80640) 0 empty
-Class QMetaTypeId2<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QWidget*> (0x1a80700) 0 empty
-Class QMetaTypeId2<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<void*> (0x1a807c0) 0 empty
-Class QMetaTypeId2<qlonglong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<qlonglong> (0x1a80880) 0 empty
-Class QMetaTypeId2<qulonglong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<qulonglong> (0x1a80940) 0 empty
-Class QMetaTypeId2<QStringList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QStringList> (0x1a80a00) 0 empty
-Class QMetaTypeId2<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitArray> (0x1a80ac0) 0 empty
-Class QMetaTypeId2<QDate>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDate> (0x1a80b80) 0 empty
-Class QMetaTypeId2<QTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTime> (0x1a80c40) 0 empty
-Class QMetaTypeId2<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDateTime> (0x1a80d00) 0 empty
-Class QMetaTypeId2<QUrl>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QUrl> (0x1a80dc0) 0 empty
-Class QMetaTypeId2<QLocale>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLocale> (0x1a80e80) 0 empty
-Class QMetaTypeId2<QRect>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRect> (0x1a80f40) 0 empty
-Class QMetaTypeId2<QRectF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRectF> (0x1a9f000) 0 empty
-Class QMetaTypeId2<QSize>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSize> (0x1a9f0c0) 0 empty
-Class QMetaTypeId2<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizeF> (0x1a9f180) 0 empty
-Class QMetaTypeId2<QLine>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLine> (0x1a9f240) 0 empty
-Class QMetaTypeId2<QLineF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLineF> (0x1a9f300) 0 empty
-Class QMetaTypeId2<QPoint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPoint> (0x1a9f3c0) 0 empty
-Class QMetaTypeId2<QPointF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPointF> (0x1a9f480) 0 empty
-Class QMetaTypeId2<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegExp> (0x1a9f540) 0 empty
-Class QMetaTypeId2<QColorGroup>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColorGroup> (0x1a9f600) 0 empty
-Class QMetaTypeId2<QFont>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QFont> (0x1a9f6c0) 0 empty
-Class QMetaTypeId2<QPixmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPixmap> (0x1a9f780) 0 empty
-Class QMetaTypeId2<QBrush>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBrush> (0x1a9f840) 0 empty
-Class QMetaTypeId2<QColor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColor> (0x1a9f900) 0 empty
-Class QMetaTypeId2<QPalette>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPalette> (0x1a9f9c0) 0 empty
-Class QMetaTypeId2<QIcon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QIcon> (0x1a9fa80) 0 empty
-Class QMetaTypeId2<QImage>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QImage> (0x1a9fb40) 0 empty
-Class QMetaTypeId2<QPolygon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPolygon> (0x1a9fc00) 0 empty
-Class QMetaTypeId2<QRegion>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegion> (0x1a9fcc0) 0 empty
-Class QMetaTypeId2<QBitmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitmap> (0x1a9fd80) 0 empty
-Class QMetaTypeId2<QCursor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QCursor> (0x1a9fe40) 0 empty
-Class QMetaTypeId2<QSizePolicy>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizePolicy> (0x1a9ff00) 0 empty
-Class QMetaTypeId2<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QKeySequence> (0x1a9ffc0) 0 empty
-Class QMetaTypeId2<QPen>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPen> (0x1ab9080) 0 empty
-Class QMetaTypeId2<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextLength> (0x1ab9140) 0 empty
-Class QMetaTypeId2<QTextFormat>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextFormat> (0x1ab9200) 0 empty
-Class QMetaTypeId2<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMatrix> (0x1ab92c0) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -1584,60 +1098,20 @@ Class QVariant
base size=16 base align=4
QVariant (0x1ab9340) 0
-Class QMetaTypeId2<QVariantList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QVariantList> (0x1ab9880) 0 empty
-Class QMetaTypeId2<QVariantMap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QVariantMap> (0x1ab9940) 0 empty
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0x1ab9b40) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0x1ab9a80) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0x1ab9d40) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0x1ab9c80) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0x1ab9ec0) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0x1ab9500) 0 empty
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0x1ab9680) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x1b57000) 0
-Class <anonymous struct>
- size=3156 align=4
- base size=3156 base align=4
-<anonymous struct> (0x1b57080) 0
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1715,15 +1189,7 @@ Class QUrl
base size=4 base align=4
QUrl (0x1b578c0) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0x1b57a80) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0x1b57b00) 0 empty
Vtable for QEventLoop
QEventLoop::_ZTV10QEventLoop: 14u entries
@@ -1750,10 +1216,6 @@ QEventLoop (0x1b57b80) 0
QObject (0x1b57bc0) 0
primary-for QEventLoop (0x1b57b80)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0x1b57dc0) 0
Vtable for QAbstractEventDispatcher
QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 27u entries
@@ -1798,20 +1260,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0x1b57340) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0x1c41080) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0x1c41100) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0x1c41240) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -1981,10 +1435,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0x1c41980) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0x1c41a80) 0 empty
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -2091,20 +1541,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0x1cf45c0) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0x1cf4680) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0x1cf4700) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0x1cf47c0) 0 empty
Class QMetaProperty
size=20 align=4
@@ -2116,10 +1558,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0x1cf4880) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0x1cf4940) 0 empty
Vtable for QMimeData
QMimeData::_ZTV9QMimeData: 17u entries
@@ -2301,10 +1739,6 @@ QLibrary (0x1d89100) 0
QObject (0x1d89140) 0
primary-for QLibrary (0x1d89100)
-Class QFlags<QLibrary::LoadHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLibrary::LoadHint> (0x1d89300) 0
Vtable for QPluginLoader
QPluginLoader::_ZTV13QPluginLoader: 14u entries
@@ -2341,10 +1775,6 @@ Class QMutex
base size=4 base align=4
QMutex (0x1d89640) 0
-Class QMutexLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMutexLocker::<anonymous union> (0x1d89800) 0
Class QMutexLocker
size=4 align=4
@@ -2356,20 +1786,12 @@ Class QReadWriteLock
base size=4 base align=4
QReadWriteLock (0x1d898c0) 0
-Class QReadLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QReadLocker::<anonymous union> (0x1d89980) 0
Class QReadLocker
size=4 align=4
base size=4 base align=4
QReadLocker (0x1d89900) 0
-Class QWriteLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QWriteLocker::<anonymous union> (0x1d89ac0) 0
Class QWriteLocker
size=4 align=4
@@ -2427,10 +1849,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0x1e473c0) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0x1e474c0) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -2442,70 +1860,42 @@ Class QDate
base size=4 base align=4
QDate (0x1e47740) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0x1e47940) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0x1e479c0) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0x1e47bc0) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0x1e47c40) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0x1e47dc0) 0 empty
Class QPoint
size=8 align=4
base size=8 base align=4
QPoint (0x1e47e40) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0x1e47e80) 0 empty
Class QPointF
size=16 align=8
base size=16 base align=4
QPointF (0x1ef0200) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0x1ef0680) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0x1ef0980) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0x1ef0a00) 0 empty
Class QLineF
size=32 align=8
base size=32 base align=4
QLineF (0x1ef0b80) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0x1ef0c40) 0 empty
Class QLinkedListData
size=20 align=4
@@ -2517,40 +1907,24 @@ Class QSize
base size=8 base align=4
QSize (0x1ff6040) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0x1ff6440) 0 empty
Class QSizeF
size=16 align=8
base size=16 base align=4
QSizeF (0x1ff6800) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0x1ff6c00) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0x1ff6180) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0x1ff6840) 0 empty
Class QRectF
size=32 align=8
base size=32 base align=4
QRectF (0x20880c0) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0x2088280) 0 empty
Class QSharedData
size=4 align=4
@@ -2583,10 +1957,6 @@ QTimeLine (0x2088740) 0
QObject (0x2088780) 0
primary-for QTimeLine (0x2088740)
-Class QFlags<QSql::ParamTypeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QSql::ParamTypeFlag> (0x2088a40) 0
Class QSqlRecord
size=4 align=4
@@ -2724,15 +2094,7 @@ Class QSqlField
base size=20 base align=4
QSqlField (0x21df240) 0
-Class QList<bool>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<bool>::<anonymous union> (0x21df4c0) 0
-Class QList<bool>
- size=4 align=4
- base size=4 base align=4
-QList<bool> (0x21df400) 0
Class QSqlIndex
size=16 align=4
@@ -2990,23 +2352,7 @@ QSqlRelationalTableModel (0x21dfc40) 0
QObject (0x21dfd80) 0
primary-for QAbstractItemModel (0x21dfd40)
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0x22d84c0) 0
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0x22fb340) 0
-Class QTypeInfo<QDebug::Stream*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDebug::Stream*> (0x23483c0) 0 empty
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0x23c7380) 0
diff --git a/tests/auto/bic/data/QtSql.4.2.0.win32-gcc-ia32.txt b/tests/auto/bic/data/QtSql.4.2.0.win32-gcc-ia32.txt
index c266659..8f02ceb 100644
--- a/tests/auto/bic/data/QtSql.4.2.0.win32-gcc-ia32.txt
+++ b/tests/auto/bic/data/QtSql.4.2.0.win32-gcc-ia32.txt
@@ -1,34 +1,8 @@
-Class QUintForSize<4>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<4> (0xa9db00) 0 empty
-Class QUintForSize<8>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<8> (0xa9dc00) 0 empty
-Class QUintForType<void*>
- size=1 align=1
- base size=1 base align=1
-QUintForType<void*> (0xa9df00) 0 empty
- QUintForSize<4> (0xac3000) 0 empty
-Class QIntForSize<4>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<4> (0xac3180) 0 empty
-Class QIntForSize<8>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<8> (0xac3240) 0 empty
-Class QIntForType<void*>
- size=1 align=1
- base size=1 base align=1
-QIntForType<void*> (0xac34c0) 0 empty
- QIntForSize<4> (0xac3580) 0 empty
Class QSysInfo
size=1 align=1
@@ -50,80 +24,20 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0xaf3380) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0xaf3b80) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0xaf3d00) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0xaf3e80) 0 empty
-Class QTypeInfo<uchar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uchar> (0xb0b000) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0xb0b180) 0 empty
-Class QTypeInfo<ushort>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ushort> (0xb0b300) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0xb0b480) 0 empty
-Class QTypeInfo<uint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uint> (0xb0b600) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0xb0b780) 0 empty
-Class QTypeInfo<ulong>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ulong> (0xb0b900) 0 empty
-Class QTypeInfo<qint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<qint64> (0xb0ba80) 0 empty
-Class QTypeInfo<quint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<quint64> (0xb0bc00) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0xb0bd80) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0xb0bf00) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0xb37080) 0 empty
Class QFlag
size=4 align=4
@@ -140,10 +54,6 @@ Class QChar
base size=2 base align=2
QChar (0xb60f00) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0xb97380) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -171,75 +81,19 @@ Class QByteRef
base size=8 base align=4
QByteRef (0xc4bb00) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0xd71780) 0 empty
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0xd83e00) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0xd930c0) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0xd83980) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0xd99e40) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0xd93780) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0xda58c0) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0xdda300) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0xdda600) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0xd9f080) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0xdeb4c0) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0xdebd00) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0xdf1080) 0
-Class QFlags<Qt::TextInteractionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::TextInteractionFlag> (0xdf1480) 0
Class QInternal
size=1 align=1
@@ -266,10 +120,6 @@ Class QLatin1String
base size=4 base align=4
QLatin1String (0xee1240) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0xee1780) 0
Class QCharRef
size=8 align=4
@@ -282,10 +132,6 @@ Class QConstString
QConstString (0x11f3dc0) 0
QString (0x11f3e00) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0x1260140) 0 empty
Vtable for std::exception
std::exception::_ZTVSt9exception: 5u entries
@@ -348,10 +194,6 @@ Class QListData
base size=4 base align=4
QListData (0x12d71c0) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0x13dc180) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -376,15 +218,7 @@ Class QTextCodec
QTextCodec (0xee11c0) 0 nearly-empty
vptr=((&QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0x1400480) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0xc5d5c0) 0
Class QTextEncoder
size=32 align=4
@@ -407,25 +241,13 @@ Class QGenericReturnArgument
QGenericReturnArgument (0x144b300) 0
QGenericArgument (0x144b340) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0x1460ac0) 0
Class QMetaObject
size=16 align=4
base size=16 base align=4
QMetaObject (0x144b8c0) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0x1490340) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0x1476f40) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -517,10 +339,6 @@ QIODevice (0x13b5a40) 0
QObject (0x150ab40) 0
primary-for QIODevice (0x13b5a40)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0x150ae40) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -540,25 +358,13 @@ Class QRegExp
base size=4 base align=4
QRegExp (0xee10c0) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0x15d9c00) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0x15d9f80) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0x15f14c0) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0x15f1380) 0
Class QStringList
size=4 align=4
@@ -566,15 +372,7 @@ Class QStringList
QStringList (0xee1140) 0
QList<QString> (0x15f1740) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0x15f1600) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0x15f15c0) 0
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -703,50 +501,22 @@ QFile (0x1707080) 0
QObject (0x1707100) 0
primary-for QIODevice (0x17070c0)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0x1707940) 0
Class QFileInfo
size=4 align=4
base size=4 base align=4
QFileInfo (0x175f140) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0x175fa80) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0x1778ac0) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0x1778f80) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0x1778e80) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0x171dfc0) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0x17b3c80) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0x17b3880) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -803,10 +573,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0x16f6f80) 0
vptr=((&QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0x18520c0) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -880,10 +646,6 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0x18cbb80) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0x18cbc80) 0 empty
Class QMapData::Node
size=8 align=4
@@ -908,10 +670,6 @@ Class QTextStream
QTextStream (0x1b06580) 0
vptr=((&QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0x1b06940) 0
Class QTextStreamManipulator
size=24 align=4
@@ -948,20 +706,8 @@ QTextOStream (0x1b97740) 0
QTextStream (0x1b97780) 0
primary-for QTextOStream (0x1b97740)
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x1bcb980) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x1bcbb00) 0
-Class <anonymous struct>
- size=16 align=8
- base size=16 base align=8
-<anonymous struct> (0x1bf18c0) 0
Class QVectorData
size=16 align=4
@@ -1099,15 +845,7 @@ Class QLocale
base size=4 base align=4
QLocale (0x1e59cc0) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0x1ea3980) 0 empty
-Class QFlags<QLocale::NumberOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLocale::NumberOption> (0x1ea3040) 0
Vtable for QSystemLocale
QSystemLocale::_ZTV13QSystemLocale: 6u entries
@@ -1134,270 +872,58 @@ Class QMetaType
base size=0 base align=1
QMetaType (0x1f04400) 0 empty
-Class QMetaTypeId2<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QString> (0x1f27840) 0 empty
-Class QMetaTypeId2<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<int> (0x1f279c0) 0 empty
-Class QMetaTypeId2<uint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<uint> (0x1f27b40) 0 empty
-Class QMetaTypeId2<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<bool> (0x1f27cc0) 0 empty
-Class QMetaTypeId2<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<double> (0x1f27e40) 0 empty
-Class QMetaTypeId2<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QByteArray> (0x1f27fc0) 0 empty
-Class QMetaTypeId2<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QChar> (0x1f3b140) 0 empty
-Class QMetaTypeId2<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long int> (0x1f3b2c0) 0 empty
-Class QMetaTypeId2<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short int> (0x1f3b440) 0 empty
-Class QMetaTypeId2<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<char> (0x1f3b5c0) 0 empty
-Class QMetaTypeId2<ulong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<ulong> (0x1f3b740) 0 empty
-Class QMetaTypeId2<ushort>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<ushort> (0x1f3b8c0) 0 empty
-Class QMetaTypeId2<uchar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<uchar> (0x1f3ba40) 0 empty
-Class QMetaTypeId2<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<float> (0x1f3bbc0) 0 empty
-Class QMetaTypeId2<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QObject*> (0x1f3bd40) 0 empty
-Class QMetaTypeId2<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QWidget*> (0x1f3bec0) 0 empty
-Class QMetaTypeId2<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<void*> (0x1f5c040) 0 empty
-Class QMetaTypeId2<qlonglong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<qlonglong> (0x1f5c1c0) 0 empty
-Class QMetaTypeId2<qulonglong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<qulonglong> (0x1f5c340) 0 empty
-Class QMetaTypeId2<QStringList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QStringList> (0x1f5c4c0) 0 empty
-Class QMetaTypeId2<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitArray> (0x1f5c640) 0 empty
-Class QMetaTypeId2<QDate>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDate> (0x1f5c7c0) 0 empty
-Class QMetaTypeId2<QTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTime> (0x1f5c940) 0 empty
-Class QMetaTypeId2<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDateTime> (0x1f5cac0) 0 empty
-Class QMetaTypeId2<QUrl>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QUrl> (0x1f5cc40) 0 empty
-Class QMetaTypeId2<QLocale>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLocale> (0x1f5cdc0) 0 empty
-Class QMetaTypeId2<QRect>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRect> (0x1f5cf40) 0 empty
-Class QMetaTypeId2<QRectF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRectF> (0x1f790c0) 0 empty
-Class QMetaTypeId2<QSize>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSize> (0x1f79240) 0 empty
-Class QMetaTypeId2<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizeF> (0x1f793c0) 0 empty
-Class QMetaTypeId2<QLine>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLine> (0x1f79540) 0 empty
-Class QMetaTypeId2<QLineF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLineF> (0x1f796c0) 0 empty
-Class QMetaTypeId2<QPoint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPoint> (0x1f79840) 0 empty
-Class QMetaTypeId2<QPointF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPointF> (0x1f799c0) 0 empty
-Class QMetaTypeId2<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegExp> (0x1f79b40) 0 empty
-Class QMetaTypeId2<QColorGroup>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColorGroup> (0x1f79cc0) 0 empty
-Class QMetaTypeId2<QFont>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QFont> (0x1f79e40) 0 empty
-Class QMetaTypeId2<QPixmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPixmap> (0x1f79fc0) 0 empty
-Class QMetaTypeId2<QBrush>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBrush> (0x1f98140) 0 empty
-Class QMetaTypeId2<QColor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColor> (0x1f982c0) 0 empty
-Class QMetaTypeId2<QPalette>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPalette> (0x1f98440) 0 empty
-Class QMetaTypeId2<QIcon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QIcon> (0x1f985c0) 0 empty
-Class QMetaTypeId2<QImage>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QImage> (0x1f98740) 0 empty
-Class QMetaTypeId2<QPolygon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPolygon> (0x1f988c0) 0 empty
-Class QMetaTypeId2<QRegion>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegion> (0x1f98a40) 0 empty
-Class QMetaTypeId2<QBitmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitmap> (0x1f98bc0) 0 empty
-Class QMetaTypeId2<QCursor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QCursor> (0x1f98d40) 0 empty
-Class QMetaTypeId2<QSizePolicy>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizePolicy> (0x1f98ec0) 0 empty
-Class QMetaTypeId2<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QKeySequence> (0x1fba040) 0 empty
-Class QMetaTypeId2<QPen>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPen> (0x1fba1c0) 0 empty
-Class QMetaTypeId2<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextLength> (0x1fba340) 0 empty
-Class QMetaTypeId2<QTextFormat>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextFormat> (0x1fba4c0) 0 empty
-Class QMetaTypeId2<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMatrix> (0x1fba640) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -1424,45 +950,17 @@ Class QVariant
base size=16 base align=8
QVariant (0x1476c80) 0
-Class QMetaTypeId2<QVariantList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QVariantList> (0x2010e00) 0 empty
-Class QMetaTypeId2<QVariantMap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QVariantMap> (0x2010fc0) 0 empty
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0x2040480) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0x1fce540) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0x2040780) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0x1fce5c0) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0x1fba800) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0x20a8100) 0 empty
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1540,15 +1038,7 @@ Class QUrl
base size=4 base align=4
QUrl (0x1f27180) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0x2164440) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0x21c2040) 0 empty
Vtable for QEventLoop
QEventLoop::_ZTV10QEventLoop: 14u entries
@@ -1575,10 +1065,6 @@ QEventLoop (0x21c26c0) 0
QObject (0x21c2700) 0
primary-for QEventLoop (0x21c26c0)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0x21c2a00) 0
Vtable for QAbstractEventDispatcher
QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 27u entries
@@ -1623,20 +1109,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0x2239200) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0x2239e80) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0x2239180) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0x22662c0) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -1806,10 +1284,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0x22e97c0) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0x22e9e00) 0 empty
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -1917,20 +1391,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0x143fc00) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0x2388bc0) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0x143fc80) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0x239d1c0) 0 empty
Class QMetaProperty
size=20 align=4
@@ -1942,10 +1408,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0x143fd80) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0x239d900) 0 empty
Vtable for QMimeData
QMimeData::_ZTV9QMimeData: 17u entries
@@ -2127,10 +1589,6 @@ QLibrary (0x245e040) 0
QObject (0x245e080) 0
primary-for QLibrary (0x245e040)
-Class QFlags<QLibrary::LoadHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLibrary::LoadHint> (0x245e2c0) 0
Vtable for QPluginLoader
QPluginLoader::_ZTV13QPluginLoader: 14u entries
@@ -2172,10 +1630,6 @@ Class QMutex
base size=4 base align=4
QMutex (0x24cf7c0) 0
-Class QMutexLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMutexLocker::<anonymous union> (0x24fc000) 0
Class QMutexLocker
size=4 align=4
@@ -2187,20 +1641,12 @@ Class QReadWriteLock
base size=4 base align=4
QReadWriteLock (0x24fce00) 0
-Class QReadLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QReadLocker::<anonymous union> (0x250d140) 0
Class QReadLocker
size=4 align=4
base size=4 base align=4
QReadLocker (0x24fcfc0) 0
-Class QWriteLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QWriteLocker::<anonymous union> (0x250d900) 0
Class QWriteLocker
size=4 align=4
@@ -2258,10 +1704,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0x2550ac0) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0x25ab480) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -2273,70 +1715,42 @@ Class QDate
base size=4 base align=4
QDate (0x1e59b40) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0x2603640) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0x1e59bc0) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0x262b280) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0x175f040) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0x2659040) 0 empty
Class QPoint
size=8 align=4
base size=8 base align=4
QPoint (0x1f27340) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0x2659c80) 0 empty
Class QPointF
size=16 align=8
base size=16 base align=8
QPointF (0x1f27380) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0x267de40) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0x1f272c0) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0x26c32c0) 0 empty
Class QLineF
size=32 align=8
base size=32 base align=8
QLineF (0x1f27300) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0x26ee780) 0 empty
Class QLinkedListData
size=20 align=4
@@ -2348,40 +1762,24 @@ Class QSize
base size=8 base align=4
QSize (0x1f27240) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0x27dffc0) 0 empty
Class QSizeF
size=16 align=8
base size=16 base align=8
QSizeF (0x1f27280) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0x2831500) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0x1f271c0) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0x28a7000) 0 empty
Class QRectF
size=32 align=8
base size=32 base align=8
QRectF (0x1f27200) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0x292b340) 0 empty
Class QSharedData
size=4 align=4
@@ -2414,10 +1812,6 @@ QTimeLine (0x299f700) 0
QObject (0x299f740) 0
primary-for QTimeLine (0x299f700)
-Class QFlags<QSql::ParamTypeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QSql::ParamTypeFlag> (0x29ee200) 0
Class QSqlRecord
size=4 align=4
@@ -2555,15 +1949,7 @@ Class QSqlField
base size=20 base align=8
QSqlField (0x29ee940) 0
-Class QList<bool>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<bool>::<anonymous union> (0x2abc040) 0
-Class QList<bool>
- size=4 align=4
- base size=4 base align=4
-QList<bool> (0x2aa0f00) 0
Class QSqlIndex
size=16 align=4
@@ -2821,23 +2207,7 @@ QSqlRelationalTableModel (0x2b42680) 0
QObject (0x2b427c0) 0
primary-for QAbstractItemModel (0x2b42780)
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0x1400440) 0
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0x15f1480) 0
-Class QTypeInfo<QDebug::Stream*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDebug::Stream*> (0x2d366c0) 0 empty
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0x1778f40) 0
diff --git a/tests/auto/bic/data/QtSql.4.3.0.linux-gcc-ia32.txt b/tests/auto/bic/data/QtSql.4.3.0.linux-gcc-ia32.txt
index 2bd1018..69eb922 100644
--- a/tests/auto/bic/data/QtSql.4.3.0.linux-gcc-ia32.txt
+++ b/tests/auto/bic/data/QtSql.4.3.0.linux-gcc-ia32.txt
@@ -1,34 +1,8 @@
-Class QUintForSize<4>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<4> (0xb7f8fbc0) 0 empty
-Class QUintForSize<8>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<8> (0xb7f8fc00) 0 empty
-Class QUintForType<void*>
- size=1 align=1
- base size=1 base align=1
-QUintForType<void*> (0xb7f8fcc0) 0 empty
- QUintForSize<4> (0xb7f8fd00) 0 empty
-Class QIntForSize<4>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<4> (0xb7f8fd80) 0 empty
-Class QIntForSize<8>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<8> (0xb7f8fdc0) 0 empty
-Class QIntForType<void*>
- size=1 align=1
- base size=1 base align=1
-QIntForType<void*> (0xb7f8fe80) 0 empty
- QIntForSize<4> (0xb7f8fec0) 0 empty
Class QSysInfo
size=1 align=1
@@ -50,150 +24,38 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0xb783c180) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0xb783c240) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0xb783c280) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0xb783c2c0) 0 empty
-Class QTypeInfo<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned char> (0xb783c300) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0xb783c340) 0 empty
-Class QTypeInfo<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short unsigned int> (0xb783c380) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0xb783c3c0) 0 empty
-Class QTypeInfo<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned int> (0xb783c400) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0xb783c440) 0 empty
-Class QTypeInfo<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long unsigned int> (0xb783c480) 0 empty
-Class QTypeInfo<long long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long int> (0xb783c4c0) 0 empty
-Class QTypeInfo<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long unsigned int> (0xb783c500) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0xb783c540) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0xb783c580) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0xb783c5c0) 0 empty
Class QFlag
size=4 align=4
base size=4 base align=4
QFlag (0xb783c600) 0
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0xb783c700) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0xb783c740) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0xb783c780) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0xb783c7c0) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0xb783c800) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0xb783c840) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0xb783c880) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0xb783c8c0) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0xb783c900) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0xb783c940) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0xb783c980) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0xb783c9c0) 0
-Class QFlags<Qt::TextInteractionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::TextInteractionFlag> (0xb783ca00) 0
Class QInternal
size=1 align=1
@@ -211,10 +73,6 @@ Class QGenericReturnArgument
QGenericReturnArgument (0xb783cb00) 0
QGenericArgument (0xb783cb40) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0xb783cd00) 0
Class QMetaObject
size=16 align=4
@@ -231,10 +89,6 @@ Class QChar
base size=2 base align=2
QChar (0xb783cdc0) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0xb783ce40) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -267,10 +121,6 @@ Class QByteRef
base size=8 base align=4
QByteRef (0xb73a2140) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0xb73a2180) 0 empty
Class QString::Null
size=1 align=1
@@ -287,10 +137,6 @@ Class QString
base size=4 base align=4
QString (0xb73a21c0) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0xb73a23c0) 0
Class QLatin1String
size=4 align=4
@@ -308,10 +154,6 @@ Class QConstString
QConstString (0xb73a24c0) 0
QString (0xb73a2500) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0xb73a2540) 0 empty
Class QStringRef
size=12 align=4
@@ -379,15 +221,7 @@ Class QListData
base size=4 base align=4
QListData (0xb73a2880) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0xb73a2c00) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0xb73a2b80) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -463,10 +297,6 @@ QLibrary (0xb73a2e40) 0
QObject (0xb73a2e80) 0
primary-for QLibrary (0xb73a2e40)
-Class QFlags<QLibrary::LoadHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLibrary::LoadHint> (0xb73a2f00) 0
Class QUuid
size=16 align=4
@@ -514,10 +344,6 @@ QIODevice (0xb73a2fc0) 0
QObject (0xb73a2300) 0
primary-for QIODevice (0xb73a2fc0)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0xb73a2680) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -537,25 +363,13 @@ Class QRegExp
base size=4 base align=4
QRegExp (0xb73a2800) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0xb73a2a40) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0xb73a2c80) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0xb6dfb000) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0xb73a2d00) 0
Class QStringList
size=4 align=4
@@ -563,15 +377,7 @@ Class QStringList
QStringList (0xb6dfb040) 0
QList<QString> (0xb6dfb080) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0xb6dfb100) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0xb6dfb140) 0
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -627,10 +433,6 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0xb6dfb4c0) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0xb6dfb500) 0 empty
Class QCryptographicHash
size=4 align=4
@@ -642,75 +444,35 @@ Class QDate
base size=4 base align=4
QDate (0xb6dfba40) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0xb6dfbb00) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0xb6dfbb40) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0xb6dfbc00) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0xb6dfbc40) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0xb6dfbd00) 0 empty
Class QByteArrayMatcher
size=1032 align=4
base size=1032 base align=4
QByteArrayMatcher (0xb6dfbd40) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0xb6dfbdc0) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0xb6dfbe00) 0
Class wait
size=4 align=4
base size=4 base align=4
wait (0xb6dfbd80) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6dfbe40) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6dfbe80) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb6dfbec0) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6dfbf00) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb6dfbf40) 0
Class timespec
size=8 align=4
@@ -722,80 +484,24 @@ Class timeval
base size=8 base align=4
timeval (0xb6dfbfc0) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb6dfb240) 0
-Class <anonymous union>
- size=36 align=4
- base size=36 base align=4
-<anonymous union> (0xb6dfb380) 0
Class __pthread_internal_slist
size=4 align=4
base size=4 base align=4
__pthread_internal_slist (0xb6dfb8c0) 0
-Class <anonymous union>::__pthread_mutex_s::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union>::__pthread_mutex_s::<anonymous union> (0xb6dfbb80) 0
-Class <anonymous union>::__pthread_mutex_s
- size=24 align=4
- base size=24 base align=4
-<anonymous union>::__pthread_mutex_s (0xb6dfbac0) 0
-Class <anonymous union>
- size=24 align=4
- base size=24 base align=4
-<anonymous union> (0xb6dfba80) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb6dfbbc0) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0xb6dfbcc0) 0
-Class <anonymous union>
- size=48 align=4
- base size=48 base align=4
-<anonymous union> (0xb6dfbc80) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb6d5b000) 0
-Class <anonymous union>::<anonymous struct>
- size=32 align=4
- base size=32 base align=4
-<anonymous union>::<anonymous struct> (0xb6d5b080) 0
-Class <anonymous union>
- size=32 align=4
- base size=32 base align=4
-<anonymous union> (0xb6d5b040) 0
-Class <anonymous union>
- size=8 align=4
- base size=8 base align=4
-<anonymous union> (0xb6d5b0c0) 0
-Class <anonymous union>
- size=20 align=4
- base size=20 base align=4
-<anonymous union> (0xb6d5b100) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb6d5b140) 0
Class random_data
size=28 align=4
@@ -817,20 +523,12 @@ Class QSize
base size=8 base align=4
QSize (0xb6d5b3c0) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0xb6d5b5c0) 0 empty
Class QSizeF
size=16 align=4
base size=16 base align=4
QSizeF (0xb6d5b640) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0xb6d5b840) 0 empty
Class QLinkedListData
size=20 align=4
@@ -842,15 +540,7 @@ Class QLocale
base size=4 base align=4
QLocale (0xb6d5bc00) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0xb6d5bc40) 0 empty
-Class QFlags<QLocale::NumberOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLocale::NumberOption> (0xb6d5bc80) 0
Vtable for QSystemLocale
QSystemLocale::_ZTV13QSystemLocale: 6u entries
@@ -887,60 +577,36 @@ Class QPoint
base size=8 base align=4
QPoint (0xb6d5b740) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0xb6d5b800) 0 empty
Class QPointF
size=16 align=4
base size=16 base align=4
QPointF (0xb6d5b780) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0xb6d5b7c0) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0xb6bdc080) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0xb6bdc180) 0 empty
Class QRectF
size=32 align=4
base size=32 base align=4
QRectF (0xb6bdc1c0) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0xb6bdc280) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0xb6bdc2c0) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0xb6bdc300) 0 empty
Class QLineF
size=32 align=4
base size=32 base align=4
QLineF (0xb6bdc340) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0xb6bdc380) 0 empty
Vtable for QTimeLine
QTimeLine::_ZTV9QTimeLine: 15u entries
@@ -978,10 +644,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0xb6bdc700) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0xb6bdc740) 0 empty
Class QLibraryInfo
size=1 align=1
@@ -993,290 +655,66 @@ Class QUrl
base size=4 base align=4
QUrl (0xb6bdc880) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0xb6bdc900) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0xb6bdc940) 0 empty
Class QMetaType
size=1 align=1
base size=0 base align=1
QMetaType (0xb6bdc980) 0 empty
-Class QMetaTypeId2<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QString> (0xb6bdca40) 0 empty
-Class QMetaTypeId2<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<int> (0xb6bdca80) 0 empty
-Class QMetaTypeId2<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned int> (0xb6bdcac0) 0 empty
-Class QMetaTypeId2<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<bool> (0xb6bdcb00) 0 empty
-Class QMetaTypeId2<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<double> (0xb6bdcb40) 0 empty
-Class QMetaTypeId2<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QByteArray> (0xb6bdcb80) 0 empty
-Class QMetaTypeId2<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QChar> (0xb6bdcbc0) 0 empty
-Class QMetaTypeId2<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long int> (0xb6bdcc00) 0 empty
-Class QMetaTypeId2<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short int> (0xb6bdcc40) 0 empty
-Class QMetaTypeId2<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<char> (0xb6bdcc80) 0 empty
-Class QMetaTypeId2<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long unsigned int> (0xb6bdccc0) 0 empty
-Class QMetaTypeId2<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short unsigned int> (0xb6bdcd00) 0 empty
-Class QMetaTypeId2<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned char> (0xb6bdcd40) 0 empty
-Class QMetaTypeId2<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<float> (0xb6bdcd80) 0 empty
-Class QMetaTypeId2<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QObject*> (0xb6bdcdc0) 0 empty
-Class QMetaTypeId2<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QWidget*> (0xb6bdce00) 0 empty
-Class QMetaTypeId2<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<void*> (0xb6bdce40) 0 empty
-Class QMetaTypeId2<long long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long int> (0xb6bdce80) 0 empty
-Class QMetaTypeId2<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long unsigned int> (0xb6bdcec0) 0 empty
-Class QMetaTypeId2<QStringList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QStringList> (0xb6bdcf00) 0 empty
-Class QMetaTypeId2<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitArray> (0xb6bdcf40) 0 empty
-Class QMetaTypeId2<QDate>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDate> (0xb6bdcf80) 0 empty
-Class QMetaTypeId2<QTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTime> (0xb6bdcfc0) 0 empty
-Class QMetaTypeId2<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDateTime> (0xb6bdc0c0) 0 empty
-Class QMetaTypeId2<QUrl>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QUrl> (0xb6bdc100) 0 empty
-Class QMetaTypeId2<QLocale>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLocale> (0xb6bdc140) 0 empty
-Class QMetaTypeId2<QRect>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRect> (0xb6bdc200) 0 empty
-Class QMetaTypeId2<QRectF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRectF> (0xb6bdc240) 0 empty
-Class QMetaTypeId2<QSize>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSize> (0xb6bdc580) 0 empty
-Class QMetaTypeId2<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizeF> (0xb6805000) 0 empty
-Class QMetaTypeId2<QLine>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLine> (0xb6805040) 0 empty
-Class QMetaTypeId2<QLineF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLineF> (0xb6805080) 0 empty
-Class QMetaTypeId2<QPoint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPoint> (0xb68050c0) 0 empty
-Class QMetaTypeId2<QPointF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPointF> (0xb6805100) 0 empty
-Class QMetaTypeId2<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegExp> (0xb6805140) 0 empty
-Class QMetaTypeId2<QColorGroup>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColorGroup> (0xb6805180) 0 empty
-Class QMetaTypeId2<QFont>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QFont> (0xb68051c0) 0 empty
-Class QMetaTypeId2<QPixmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPixmap> (0xb6805200) 0 empty
-Class QMetaTypeId2<QBrush>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBrush> (0xb6805240) 0 empty
-Class QMetaTypeId2<QColor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColor> (0xb6805280) 0 empty
-Class QMetaTypeId2<QPalette>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPalette> (0xb68052c0) 0 empty
-Class QMetaTypeId2<QIcon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QIcon> (0xb6805300) 0 empty
-Class QMetaTypeId2<QImage>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QImage> (0xb6805340) 0 empty
-Class QMetaTypeId2<QPolygon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPolygon> (0xb6805380) 0 empty
-Class QMetaTypeId2<QRegion>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegion> (0xb68053c0) 0 empty
-Class QMetaTypeId2<QBitmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitmap> (0xb6805400) 0 empty
-Class QMetaTypeId2<QCursor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QCursor> (0xb6805440) 0 empty
-Class QMetaTypeId2<QSizePolicy>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizePolicy> (0xb6805480) 0 empty
-Class QMetaTypeId2<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QKeySequence> (0xb68054c0) 0 empty
-Class QMetaTypeId2<QPen>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPen> (0xb6805500) 0 empty
-Class QMetaTypeId2<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextLength> (0xb6805540) 0 empty
-Class QMetaTypeId2<QTextFormat>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextFormat> (0xb6805580) 0 empty
-Class QMetaTypeId2<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMatrix> (0xb68055c0) 0 empty
-Class QMetaTypeId2<QTransform>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTransform> (0xb6805600) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -1303,45 +741,17 @@ Class QVariant
base size=12 base align=4
QVariant (0xb6805640) 0
-Class QMetaTypeId2<QList<QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QList<QVariant> > (0xb68058c0) 0 empty
-Class QMetaTypeId2<QMap<QString, QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMap<QString, QVariant> > (0xb6805900) 0 empty
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0xb6805a00) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0xb6805980) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0xb6805b00) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0xb6805a80) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0xb6805b80) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0xb6805c00) 0 empty
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1368,25 +778,9 @@ QSettings (0xb6805c40) 0
QObject (0xb6805c80) 0
primary-for QSettings (0xb6805c40)
-Class <anonymous struct>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct>::<anonymous union> (0xb6805d80) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6805d40) 0
-Class <anonymous struct>
- size=12 align=4
- base size=12 base align=4
-<anonymous struct> (0xb6805dc0) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb6805e00) 0
Class __gconv_trans_data
size=20 align=4
@@ -1408,15 +802,7 @@ Class __gconv_info
base size=8 base align=4
__gconv_info (0xb6805f00) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0xb6805f80) 0
-Class <anonymous union>
- size=44 align=4
- base size=44 base align=4
-<anonymous union> (0xb6805f40) 0
Class _IO_marker
size=12 align=4
@@ -1428,10 +814,6 @@ Class _IO_FILE
base size=148 base align=4
_IO_FILE (0xb6805780) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb68057c0) 0
Vtable for QFile
QFile::_ZTV5QFile: 31u entries
@@ -1477,10 +859,6 @@ QFile (0xb6805800) 0
QObject (0xb6805880) 0
primary-for QIODevice (0xb6805840)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0xb6805d00) 0
Vtable for QTemporaryFile
QTemporaryFile::_ZTV14QTemporaryFile: 31u entries
@@ -1533,40 +911,16 @@ Class QFileInfo
base size=4 base align=4
QFileInfo (0xb671d100) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0xb671d140) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0xb671d180) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0xb671d240) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0xb671d1c0) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0xb671d280) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0xb671d300) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0xb671d380) 0
Vtable for QProcess
QProcess::_ZTV8QProcess: 31u entries
@@ -1650,10 +1004,6 @@ Class QDirIterator
QDirIterator (0xb671d5c0) 0
vptr=((& QDirIterator::_ZTV12QDirIterator) + 8u)
-Class QFlags<QDirIterator::IteratorFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDirIterator::IteratorFlag> (0xb671d680) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -1710,10 +1060,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0xb671d6c0) 0
vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0xb671d840) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -1747,10 +1093,6 @@ Class QAbstractFileEngineIterator
QAbstractFileEngineIterator (0xb671d900) 0
vptr=((& QAbstractFileEngineIterator::_ZTV27QAbstractFileEngineIterator) + 8u)
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0xb671da40) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -1775,15 +1117,7 @@ Class QTextCodec
QTextCodec (0xb671d980) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0xb671db80) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0xb671db00) 0
Class QTextEncoder
size=32 align=4
@@ -1808,10 +1142,6 @@ Class QTextStream
QTextStream (0xb671dc40) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0xb671dd00) 0
Class QTextStreamManipulator
size=24 align=4
@@ -1958,20 +1288,12 @@ Class QReadWriteLock
base size=4 base align=4
QReadWriteLock (0xb671da00) 0
-Class QReadLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QReadLocker::<anonymous union> (0xb671dcc0) 0
Class QReadLocker
size=4 align=4
base size=4 base align=4
QReadLocker (0xb671da80) 0
-Class QWriteLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QWriteLocker::<anonymous union> (0xb671df40) 0
Class QWriteLocker
size=4 align=4
@@ -1983,10 +1305,6 @@ Class QMutex
base size=4 base align=4
QMutex (0xb653a000) 0
-Class QMutexLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMutexLocker::<anonymous union> (0xb653a080) 0
Class QMutexLocker
size=4 align=4
@@ -2066,10 +1384,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0xb653a380) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0xb653a3c0) 0 empty
Vtable for QMimeData
QMimeData::_ZTV9QMimeData: 17u entries
@@ -2104,20 +1418,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0xb653a4c0) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0xb653a500) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0xb653a540) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0xb653a5c0) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -2357,10 +1663,6 @@ QEventLoop (0xb653aa40) 0
QObject (0xb653aa80) 0
primary-for QEventLoop (0xb653aa40)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0xb653ab80) 0
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -2555,20 +1857,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0xb653a880) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0xb653a940) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0xb653aa00) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0xb653ab00) 0 empty
Class QMetaProperty
size=20 align=4
@@ -2580,10 +1874,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0xb653acc0) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0xb653ad80) 0 empty
Vtable for QTextCodecFactoryInterface
QTextCodecFactoryInterface::_ZTV26QTextCodecFactoryInterface: 6u entries
@@ -2644,10 +1934,6 @@ QTextCodecPlugin (0xb64a7000) 0
QFactoryInterface (0xb64a70c0) 8 nearly-empty
primary-for QTextCodecFactoryInterface (0xb64a7080)
-Class QFlags<QSql::ParamTypeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QSql::ParamTypeFlag> (0xb64a7180) 0
Class QSqlRecord
size=4 align=4
@@ -2987,15 +2273,7 @@ QSqlDriver (0xb64a7a80) 0
QObject (0xb64a7ac0) 0
primary-for QSqlDriver (0xb64a7a80)
-Class QList<bool>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<bool>::<anonymous union> (0xb64a7c80) 0
-Class QList<bool>
- size=4 align=4
- base size=4 base align=4
-QList<bool> (0xb64a7c00) 0
Class QSqlIndex
size=16 align=4
@@ -3051,18 +2329,6 @@ Class QSqlField
base size=16 base align=4
QSqlField (0xb64a7dc0) 0
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0xb64a7e40) 0
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0xb64a7ec0) 0
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0xb64a7f40) 0
diff --git a/tests/auto/bic/data/QtSql.4.3.1.linux-gcc-ia32.txt b/tests/auto/bic/data/QtSql.4.3.1.linux-gcc-ia32.txt
index e79f2ef..be62690 100644
--- a/tests/auto/bic/data/QtSql.4.3.1.linux-gcc-ia32.txt
+++ b/tests/auto/bic/data/QtSql.4.3.1.linux-gcc-ia32.txt
@@ -1,34 +1,8 @@
-Class QUintForSize<4>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<4> (0xb7facbc0) 0 empty
-Class QUintForSize<8>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<8> (0xb7facc00) 0 empty
-Class QUintForType<void*>
- size=1 align=1
- base size=1 base align=1
-QUintForType<void*> (0xb7faccc0) 0 empty
- QUintForSize<4> (0xb7facd00) 0 empty
-Class QIntForSize<4>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<4> (0xb7facd80) 0 empty
-Class QIntForSize<8>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<8> (0xb7facdc0) 0 empty
-Class QIntForType<void*>
- size=1 align=1
- base size=1 base align=1
-QIntForType<void*> (0xb7face80) 0 empty
- QIntForSize<4> (0xb7facec0) 0 empty
Class QSysInfo
size=1 align=1
@@ -50,80 +24,20 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0xb7459180) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0xb7459240) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0xb7459280) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0xb74592c0) 0 empty
-Class QTypeInfo<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned char> (0xb7459300) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0xb7459340) 0 empty
-Class QTypeInfo<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short unsigned int> (0xb7459380) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0xb74593c0) 0 empty
-Class QTypeInfo<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned int> (0xb7459400) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0xb7459440) 0 empty
-Class QTypeInfo<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long unsigned int> (0xb7459480) 0 empty
-Class QTypeInfo<long long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long int> (0xb74594c0) 0 empty
-Class QTypeInfo<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long unsigned int> (0xb7459500) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0xb7459540) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0xb7459580) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0xb74595c0) 0 empty
Class QFlag
size=4 align=4
@@ -161,10 +75,6 @@ Class QByteRef
base size=8 base align=4
QByteRef (0xb7459a00) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0xb7459a40) 0 empty
Vtable for std::exception
std::exception::_ZTVSt9exception: 5u entries
@@ -227,70 +137,18 @@ Class QListData
base size=4 base align=4
QListData (0xb7459d40) 0
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0xb7459b40) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0xb7459c00) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0xb7459cc0) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0xb7459f00) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0xb7459f40) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0xb7297000) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0xb7297040) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0xb7297080) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0xb72970c0) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0xb7297100) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0xb7297140) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0xb7297180) 0
-Class QFlags<Qt::TextInteractionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::TextInteractionFlag> (0xb72971c0) 0
Class QInternal
size=1 align=1
@@ -308,10 +166,6 @@ Class QGenericReturnArgument
QGenericReturnArgument (0xb72972c0) 0
QGenericArgument (0xb7297300) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0xb72974c0) 0
Class QMetaObject
size=16 align=4
@@ -328,10 +182,6 @@ Class QChar
base size=2 base align=2
QChar (0xb7297580) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0xb7297600) 0 empty
Class QString::Null
size=1 align=1
@@ -348,10 +198,6 @@ Class QString
base size=4 base align=4
QString (0xb7297640) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0xb7297840) 0
Class QLatin1String
size=4 align=4
@@ -369,25 +215,13 @@ Class QConstString
QConstString (0xb7297900) 0
QString (0xb7297940) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0xb7297980) 0 empty
Class QStringRef
size=12 align=4
base size=12 base align=4
QStringRef (0xb72979c0) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0xb7297b00) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0xb7297a80) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -479,10 +313,6 @@ QIODevice (0xb7297d40) 0
QObject (0xb7297d80) 0
primary-for QIODevice (0xb7297d40)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0xb7297e40) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -502,275 +332,59 @@ Class QMetaType
base size=0 base align=1
QMetaType (0xb7297f00) 0 empty
-Class QMetaTypeId2<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QString> (0xb7297fc0) 0 empty
-Class QMetaTypeId2<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<int> (0xb7297780) 0 empty
-Class QMetaTypeId2<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned int> (0xb72977c0) 0 empty
-Class QMetaTypeId2<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<bool> (0xb7297b80) 0 empty
-Class QMetaTypeId2<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<double> (0xb7297c00) 0 empty
-Class QMetaTypeId2<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QByteArray> (0xb7297dc0) 0 empty
-Class QMetaTypeId2<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QChar> (0xb7297ec0) 0 empty
-Class QMetaTypeId2<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long int> (0xb6fe4000) 0 empty
-Class QMetaTypeId2<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short int> (0xb6fe4040) 0 empty
-Class QMetaTypeId2<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<char> (0xb6fe4080) 0 empty
-Class QMetaTypeId2<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long unsigned int> (0xb6fe40c0) 0 empty
-Class QMetaTypeId2<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short unsigned int> (0xb6fe4100) 0 empty
-Class QMetaTypeId2<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned char> (0xb6fe4140) 0 empty
-Class QMetaTypeId2<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<float> (0xb6fe4180) 0 empty
-Class QMetaTypeId2<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QObject*> (0xb6fe41c0) 0 empty
-Class QMetaTypeId2<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QWidget*> (0xb6fe4200) 0 empty
-Class QMetaTypeId2<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<void*> (0xb6fe4240) 0 empty
-Class QMetaTypeId2<long long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long int> (0xb6fe4280) 0 empty
-Class QMetaTypeId2<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long unsigned int> (0xb6fe42c0) 0 empty
-Class QMetaTypeId2<QStringList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QStringList> (0xb6fe4300) 0 empty
-Class QMetaTypeId2<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitArray> (0xb6fe4340) 0 empty
-Class QMetaTypeId2<QDate>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDate> (0xb6fe4380) 0 empty
-Class QMetaTypeId2<QTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTime> (0xb6fe43c0) 0 empty
-Class QMetaTypeId2<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDateTime> (0xb6fe4400) 0 empty
-Class QMetaTypeId2<QUrl>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QUrl> (0xb6fe4440) 0 empty
-Class QMetaTypeId2<QLocale>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLocale> (0xb6fe4480) 0 empty
-Class QMetaTypeId2<QRect>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRect> (0xb6fe44c0) 0 empty
-Class QMetaTypeId2<QRectF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRectF> (0xb6fe4500) 0 empty
-Class QMetaTypeId2<QSize>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSize> (0xb6fe4540) 0 empty
-Class QMetaTypeId2<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizeF> (0xb6fe4580) 0 empty
-Class QMetaTypeId2<QLine>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLine> (0xb6fe45c0) 0 empty
-Class QMetaTypeId2<QLineF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLineF> (0xb6fe4600) 0 empty
-Class QMetaTypeId2<QPoint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPoint> (0xb6fe4640) 0 empty
-Class QMetaTypeId2<QPointF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPointF> (0xb6fe4680) 0 empty
-Class QMetaTypeId2<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegExp> (0xb6fe46c0) 0 empty
-Class QMetaTypeId2<QColorGroup>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColorGroup> (0xb6fe4700) 0 empty
-Class QMetaTypeId2<QFont>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QFont> (0xb6fe4740) 0 empty
-Class QMetaTypeId2<QPixmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPixmap> (0xb6fe4780) 0 empty
-Class QMetaTypeId2<QBrush>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBrush> (0xb6fe47c0) 0 empty
-Class QMetaTypeId2<QColor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColor> (0xb6fe4800) 0 empty
-Class QMetaTypeId2<QPalette>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPalette> (0xb6fe4840) 0 empty
-Class QMetaTypeId2<QIcon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QIcon> (0xb6fe4880) 0 empty
-Class QMetaTypeId2<QImage>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QImage> (0xb6fe48c0) 0 empty
-Class QMetaTypeId2<QPolygon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPolygon> (0xb6fe4900) 0 empty
-Class QMetaTypeId2<QRegion>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegion> (0xb6fe4940) 0 empty
-Class QMetaTypeId2<QBitmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitmap> (0xb6fe4980) 0 empty
-Class QMetaTypeId2<QCursor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QCursor> (0xb6fe49c0) 0 empty
-Class QMetaTypeId2<QSizePolicy>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizePolicy> (0xb6fe4a00) 0 empty
-Class QMetaTypeId2<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QKeySequence> (0xb6fe4a40) 0 empty
-Class QMetaTypeId2<QPen>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPen> (0xb6fe4a80) 0 empty
-Class QMetaTypeId2<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextLength> (0xb6fe4ac0) 0 empty
-Class QMetaTypeId2<QTextFormat>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextFormat> (0xb6fe4b00) 0 empty
-Class QMetaTypeId2<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMatrix> (0xb6fe4b40) 0 empty
-Class QMetaTypeId2<QTransform>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTransform> (0xb6fe4b80) 0 empty
Class QMapData::Node
size=8 align=4
@@ -807,45 +421,17 @@ Class QVariant
base size=12 base align=4
QVariant (0xb6eb8000) 0
-Class QMetaTypeId2<QList<QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QList<QVariant> > (0xb6eb8280) 0 empty
-Class QMetaTypeId2<QMap<QString, QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMap<QString, QVariant> > (0xb6eb82c0) 0 empty
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0xb6eb83c0) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0xb6eb8340) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0xb6eb84c0) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0xb6eb8440) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0xb6eb8540) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0xb6eb85c0) 0 empty
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -972,10 +558,6 @@ QEventLoop (0xb6eb8a40) 0
QObject (0xb6eb8a80) 0
primary-for QEventLoop (0xb6eb8a40)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0xb6eb8b80) 0
Vtable for QCoreApplication
QCoreApplication::_ZTV16QCoreApplication: 16u entries
@@ -1009,10 +591,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0xb6eb8d40) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0xb6eb8d80) 0 empty
Vtable for QTimer
QTimer::_ZTV6QTimer: 14u entries
@@ -1069,20 +647,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0xb6eb8f40) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0xb6eb8f80) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0xb6eb8fc0) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0xb6eb8180) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -1277,20 +847,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0xb6eb8b00) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0xb6eb8c40) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0xb6eb8c80) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0xb6eb8cc0) 0 empty
Class QMetaProperty
size=20 align=4
@@ -1302,10 +864,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0xb6eb8f00) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0xb6c3c000) 0 empty
Vtable for QSocketNotifier
QSocketNotifier::_ZTV15QSocketNotifier: 14u entries
@@ -1408,100 +966,48 @@ Class QSize
base size=8 base align=4
QSize (0xb6c3c300) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0xb6c3c500) 0 empty
Class QSizeF
size=16 align=4
base size=16 base align=4
QSizeF (0xb6c3c580) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0xb6c3c780) 0 empty
Class QPoint
size=8 align=4
base size=8 base align=4
QPoint (0xb6c3c840) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0xb6c3ca80) 0 empty
Class QPointF
size=16 align=4
base size=16 base align=4
QPointF (0xb6c3cac0) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0xb6c3cd00) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0xb6c3cd40) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0xb6c3ce40) 0 empty
Class QRectF
size=32 align=4
base size=32 base align=4
QRectF (0xb6c3ce80) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0xb6c3cf40) 0 empty
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0xb6c3cfc0) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0xb6c3c0c0) 0
Class wait
size=4 align=4
base size=4 base align=4
wait (0xb6c3cf80) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6c3c180) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6c3c240) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb6c3c340) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6c3c380) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb6c3c3c0) 0
Class timespec
size=8 align=4
@@ -1513,80 +1019,24 @@ Class timeval
base size=8 base align=4
timeval (0xb6c3c440) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb6c3c480) 0
-Class <anonymous union>
- size=36 align=4
- base size=36 base align=4
-<anonymous union> (0xb6c3c4c0) 0
Class __pthread_internal_slist
size=4 align=4
base size=4 base align=4
__pthread_internal_slist (0xb6c3c5c0) 0
-Class <anonymous union>::__pthread_mutex_s::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union>::__pthread_mutex_s::<anonymous union> (0xb6c3c680) 0
-Class <anonymous union>::__pthread_mutex_s
- size=24 align=4
- base size=24 base align=4
-<anonymous union>::__pthread_mutex_s (0xb6c3c640) 0
-Class <anonymous union>
- size=24 align=4
- base size=24 base align=4
-<anonymous union> (0xb6c3c600) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb6c3c6c0) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0xb6c3c740) 0
-Class <anonymous union>
- size=48 align=4
- base size=48 base align=4
-<anonymous union> (0xb6c3c700) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb6c3c880) 0
-Class <anonymous union>::<anonymous struct>
- size=32 align=4
- base size=32 base align=4
-<anonymous union>::<anonymous struct> (0xb6c3c900) 0
-Class <anonymous union>
- size=32 align=4
- base size=32 base align=4
-<anonymous union> (0xb6c3c8c0) 0
-Class <anonymous union>
- size=8 align=4
- base size=8 base align=4
-<anonymous union> (0xb6c3c940) 0
-Class <anonymous union>
- size=20 align=4
- base size=20 base align=4
-<anonymous union> (0xb6c3c980) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb6c3c9c0) 0
Class random_data
size=28 align=4
@@ -1618,35 +1068,19 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0xb6a6a000) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0xb6a6a040) 0 empty
Class QRegExp
size=4 align=4
base size=4 base align=4
QRegExp (0xb6a6a7c0) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0xb6a6a800) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0xb6a6a840) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0xb6a6a900) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0xb6a6a880) 0
Class QStringList
size=4 align=4
@@ -1654,15 +1088,7 @@ Class QStringList
QStringList (0xb6a6a940) 0
QList<QString> (0xb6a6a980) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0xb6a6aa00) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0xb6a6aa40) 0
Vtable for QTimeLine
QTimeLine::_ZTV9QTimeLine: 15u entries
@@ -1695,15 +1121,7 @@ Class QLocale
base size=4 base align=4
QLocale (0xb6a6ac40) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0xb6a6ac80) 0 empty
-Class QFlags<QLocale::NumberOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLocale::NumberOption> (0xb6a6acc0) 0
Vtable for QSystemLocale
QSystemLocale::_ZTV13QSystemLocale: 6u entries
@@ -1730,10 +1148,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0xb6a6af00) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0xb6a6af40) 0 empty
Class QCryptographicHash
size=4 align=4
@@ -1750,20 +1164,12 @@ Class QLine
base size=16 base align=4
QLine (0xb68732c0) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0xb6873300) 0 empty
Class QLineF
size=32 align=4
base size=32 base align=4
QLineF (0xb6873340) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0xb6873380) 0 empty
Class QSharedData
size=4 align=4
@@ -1775,30 +1181,18 @@ Class QDate
base size=4 base align=4
QDate (0xb6873500) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0xb68735c0) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0xb6873600) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0xb68736c0) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0xb6873700) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0xb68737c0) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -1810,20 +1204,12 @@ Class QReadWriteLock
base size=4 base align=4
QReadWriteLock (0xb6873840) 0
-Class QReadLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QReadLocker::<anonymous union> (0xb68738c0) 0
Class QReadLocker
size=4 align=4
base size=4 base align=4
QReadLocker (0xb6873880) 0
-Class QWriteLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QWriteLocker::<anonymous union> (0xb6873940) 0
Class QWriteLocker
size=4 align=4
@@ -1876,20 +1262,12 @@ Class QMutex
base size=4 base align=4
QMutex (0xb6873b80) 0
-Class QMutexLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMutexLocker::<anonymous union> (0xb6873c00) 0
Class QMutexLocker
size=4 align=4
base size=4 base align=4
QMutexLocker (0xb6873bc0) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0xb6873d00) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -1914,15 +1292,7 @@ Class QTextCodec
QTextCodec (0xb6873c40) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0xb6873e40) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0xb6873dc0) 0
Class QTextEncoder
size=32 align=4
@@ -1934,25 +1304,9 @@ Class QTextDecoder
base size=32 base align=4
QTextDecoder (0xb6873ec0) 0
-Class <anonymous struct>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct>::<anonymous union> (0xb6873f40) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6873f00) 0
-Class <anonymous struct>
- size=12 align=4
- base size=12 base align=4
-<anonymous struct> (0xb6873f80) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb6873fc0) 0
Class __gconv_trans_data
size=20 align=4
@@ -1974,15 +1328,7 @@ Class __gconv_info
base size=8 base align=4
__gconv_info (0xb6873640) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0xb6873740) 0
-Class <anonymous union>
- size=44 align=4
- base size=44 base align=4
-<anonymous union> (0xb6873680) 0
Class _IO_marker
size=12 align=4
@@ -1994,10 +1340,6 @@ Class _IO_FILE
base size=148 base align=4
_IO_FILE (0xb6873a40) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb6873cc0) 0
Vtable for QTextStream
QTextStream::_ZTV11QTextStream: 4u entries
@@ -2012,10 +1354,6 @@ Class QTextStream
QTextStream (0xb6873d40) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0xb661f080) 0
Class QTextStreamManipulator
size=24 align=4
@@ -2131,35 +1469,15 @@ QFile (0xb661f4c0) 0
QObject (0xb661f540) 0
primary-for QIODevice (0xb661f500)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0xb661f5c0) 0
Class QFileInfo
size=4 align=4
base size=4 base align=4
QFileInfo (0xb661f600) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0xb661f640) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0xb661f680) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0xb661f740) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0xb661f6c0) 0
Vtable for QTemporaryFile
QTemporaryFile::_ZTV14QTemporaryFile: 31u entries
@@ -2212,15 +1530,7 @@ Class QDir
base size=4 base align=4
QDir (0xb661f8c0) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0xb661f940) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0xb661f9c0) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -2277,10 +1587,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0xb661fa00) 0
vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0xb661fb80) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -2409,15 +1715,7 @@ Class QUrl
base size=4 base align=4
QUrl (0xb661fe80) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0xb661ff00) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0xb661ff40) 0 empty
Vtable for QDirIterator
QDirIterator::_ZTV12QDirIterator: 4u entries
@@ -2432,10 +1730,6 @@ Class QDirIterator
QDirIterator (0xb661ff80) 0
vptr=((& QDirIterator::_ZTV12QDirIterator) + 8u)
-Class QFlags<QDirIterator::IteratorFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDirIterator::IteratorFlag> (0xb661f200) 0
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -2541,10 +1835,6 @@ QLibrary (0xb661fd40) 0
QObject (0xb661fe40) 0
primary-for QLibrary (0xb661fd40)
-Class QFlags<QLibrary::LoadHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLibrary::LoadHint> (0xb661ffc0) 0
Vtable for QPluginLoader
QPluginLoader::_ZTV13QPluginLoader: 14u entries
@@ -2654,15 +1944,7 @@ Class QSqlRecord
base size=4 base align=4
QSqlRecord (0xb64c4480) 0
-Class QList<bool>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<bool>::<anonymous union> (0xb64c4600) 0
-Class QList<bool>
- size=4 align=4
- base size=4 base align=4
-QList<bool> (0xb64c4580) 0
Class QSqlIndex
size=16 align=4
@@ -2675,10 +1957,6 @@ Class QSqlError
base size=16 base align=4
QSqlError (0xb64c4640) 0
-Class QFlags<QSql::ParamTypeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QSql::ParamTypeFlag> (0xb64c4680) 0
Vtable for QSqlResult
QSqlResult::_ZTV10QSqlResult: 29u entries
@@ -3051,18 +2329,6 @@ QSqlRelationalTableModel (0xb64c4f00) 0
QObject (0xb64c4100) 0
primary-for QAbstractItemModel (0xb64c4080)
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0xb64c43c0) 0
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0xb64c4540) 0
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0xb64c4800) 0
diff --git a/tests/auto/bic/data/QtSql.4.3.2.linux-gcc-ia32.txt b/tests/auto/bic/data/QtSql.4.3.2.linux-gcc-ia32.txt
index 85ec1d3..c8900a9 100644
--- a/tests/auto/bic/data/QtSql.4.3.2.linux-gcc-ia32.txt
+++ b/tests/auto/bic/data/QtSql.4.3.2.linux-gcc-ia32.txt
@@ -1,34 +1,8 @@
-Class QUintForSize<4>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<4> (0xb7f1dbc0) 0 empty
-Class QUintForSize<8>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<8> (0xb7f1dc00) 0 empty
-Class QUintForType<void*>
- size=1 align=1
- base size=1 base align=1
-QUintForType<void*> (0xb7f1dcc0) 0 empty
- QUintForSize<4> (0xb7f1dd00) 0 empty
-Class QIntForSize<4>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<4> (0xb7f1dd80) 0 empty
-Class QIntForSize<8>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<8> (0xb7f1ddc0) 0 empty
-Class QIntForType<void*>
- size=1 align=1
- base size=1 base align=1
-QIntForType<void*> (0xb7f1de80) 0 empty
- QIntForSize<4> (0xb7f1dec0) 0 empty
Class QSysInfo
size=1 align=1
@@ -50,150 +24,38 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0xb77ca180) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0xb77ca240) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0xb77ca280) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0xb77ca2c0) 0 empty
-Class QTypeInfo<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned char> (0xb77ca300) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0xb77ca340) 0 empty
-Class QTypeInfo<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short unsigned int> (0xb77ca380) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0xb77ca3c0) 0 empty
-Class QTypeInfo<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned int> (0xb77ca400) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0xb77ca440) 0 empty
-Class QTypeInfo<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long unsigned int> (0xb77ca480) 0 empty
-Class QTypeInfo<long long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long int> (0xb77ca4c0) 0 empty
-Class QTypeInfo<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long unsigned int> (0xb77ca500) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0xb77ca540) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0xb77ca580) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0xb77ca5c0) 0 empty
Class QFlag
size=4 align=4
base size=4 base align=4
QFlag (0xb77ca600) 0
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0xb77ca700) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0xb77ca740) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0xb77ca780) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0xb77ca7c0) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0xb77ca800) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0xb77ca840) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0xb77ca880) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0xb77ca8c0) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0xb77ca900) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0xb77ca940) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0xb77ca980) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0xb77ca9c0) 0
-Class QFlags<Qt::TextInteractionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::TextInteractionFlag> (0xb77caa00) 0
Class QInternal
size=1 align=1
@@ -211,10 +73,6 @@ Class QGenericReturnArgument
QGenericReturnArgument (0xb77cab00) 0
QGenericArgument (0xb77cab40) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0xb77cad00) 0
Class QMetaObject
size=16 align=4
@@ -231,10 +89,6 @@ Class QChar
base size=2 base align=2
QChar (0xb77cadc0) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0xb77cae40) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -267,10 +121,6 @@ Class QByteRef
base size=8 base align=4
QByteRef (0xb7330140) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0xb7330180) 0 empty
Class QString::Null
size=1 align=1
@@ -287,10 +137,6 @@ Class QString
base size=4 base align=4
QString (0xb73301c0) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0xb73303c0) 0
Class QLatin1String
size=4 align=4
@@ -308,10 +154,6 @@ Class QConstString
QConstString (0xb73304c0) 0
QString (0xb7330500) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0xb7330540) 0 empty
Class QStringRef
size=12 align=4
@@ -379,15 +221,7 @@ Class QListData
base size=4 base align=4
QListData (0xb7330880) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0xb7330c00) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0xb7330b80) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -463,10 +297,6 @@ QLibrary (0xb7330e40) 0
QObject (0xb7330e80) 0
primary-for QLibrary (0xb7330e40)
-Class QFlags<QLibrary::LoadHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLibrary::LoadHint> (0xb7330f00) 0
Class QUuid
size=16 align=4
@@ -514,10 +344,6 @@ QIODevice (0xb7330fc0) 0
QObject (0xb7330300) 0
primary-for QIODevice (0xb7330fc0)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0xb7330680) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -537,25 +363,13 @@ Class QRegExp
base size=4 base align=4
QRegExp (0xb7330800) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0xb7330a40) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0xb7330c80) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0xb6d89000) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0xb7330d00) 0
Class QStringList
size=4 align=4
@@ -563,15 +377,7 @@ Class QStringList
QStringList (0xb6d89040) 0
QList<QString> (0xb6d89080) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0xb6d89100) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0xb6d89140) 0
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -627,10 +433,6 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0xb6d894c0) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0xb6d89500) 0 empty
Class QCryptographicHash
size=4 align=4
@@ -642,75 +444,35 @@ Class QDate
base size=4 base align=4
QDate (0xb6d89a40) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0xb6d89b00) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0xb6d89b40) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0xb6d89c00) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0xb6d89c40) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0xb6d89d00) 0 empty
Class QByteArrayMatcher
size=1032 align=4
base size=1032 base align=4
QByteArrayMatcher (0xb6d89d40) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0xb6d89dc0) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0xb6d89e00) 0
Class wait
size=4 align=4
base size=4 base align=4
wait (0xb6d89d80) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6d89e40) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6d89e80) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb6d89ec0) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6d89f00) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb6d89f40) 0
Class timespec
size=8 align=4
@@ -722,80 +484,24 @@ Class timeval
base size=8 base align=4
timeval (0xb6d89fc0) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb6d89240) 0
-Class <anonymous union>
- size=36 align=4
- base size=36 base align=4
-<anonymous union> (0xb6d89380) 0
Class __pthread_internal_slist
size=4 align=4
base size=4 base align=4
__pthread_internal_slist (0xb6d898c0) 0
-Class <anonymous union>::__pthread_mutex_s::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union>::__pthread_mutex_s::<anonymous union> (0xb6d89b80) 0
-Class <anonymous union>::__pthread_mutex_s
- size=24 align=4
- base size=24 base align=4
-<anonymous union>::__pthread_mutex_s (0xb6d89ac0) 0
-Class <anonymous union>
- size=24 align=4
- base size=24 base align=4
-<anonymous union> (0xb6d89a80) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb6d89bc0) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0xb6d89cc0) 0
-Class <anonymous union>
- size=48 align=4
- base size=48 base align=4
-<anonymous union> (0xb6d89c80) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb6ce9000) 0
-Class <anonymous union>::<anonymous struct>
- size=32 align=4
- base size=32 base align=4
-<anonymous union>::<anonymous struct> (0xb6ce9080) 0
-Class <anonymous union>
- size=32 align=4
- base size=32 base align=4
-<anonymous union> (0xb6ce9040) 0
-Class <anonymous union>
- size=8 align=4
- base size=8 base align=4
-<anonymous union> (0xb6ce90c0) 0
-Class <anonymous union>
- size=20 align=4
- base size=20 base align=4
-<anonymous union> (0xb6ce9100) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb6ce9140) 0
Class random_data
size=28 align=4
@@ -817,20 +523,12 @@ Class QSize
base size=8 base align=4
QSize (0xb6ce93c0) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0xb6ce95c0) 0 empty
Class QSizeF
size=16 align=4
base size=16 base align=4
QSizeF (0xb6ce9640) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0xb6ce9840) 0 empty
Class QLinkedListData
size=20 align=4
@@ -842,15 +540,7 @@ Class QLocale
base size=4 base align=4
QLocale (0xb6ce9c00) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0xb6ce9c40) 0 empty
-Class QFlags<QLocale::NumberOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLocale::NumberOption> (0xb6ce9c80) 0
Vtable for QSystemLocale
QSystemLocale::_ZTV13QSystemLocale: 6u entries
@@ -887,60 +577,36 @@ Class QPoint
base size=8 base align=4
QPoint (0xb6ce9740) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0xb6ce9800) 0 empty
Class QPointF
size=16 align=4
base size=16 base align=4
QPointF (0xb6ce9780) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0xb6ce97c0) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0xb6b6a080) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0xb6b6a180) 0 empty
Class QRectF
size=32 align=4
base size=32 base align=4
QRectF (0xb6b6a1c0) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0xb6b6a280) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0xb6b6a2c0) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0xb6b6a300) 0 empty
Class QLineF
size=32 align=4
base size=32 base align=4
QLineF (0xb6b6a340) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0xb6b6a380) 0 empty
Vtable for QTimeLine
QTimeLine::_ZTV9QTimeLine: 15u entries
@@ -978,10 +644,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0xb6b6a700) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0xb6b6a740) 0 empty
Class QLibraryInfo
size=1 align=1
@@ -993,290 +655,66 @@ Class QUrl
base size=4 base align=4
QUrl (0xb6b6a880) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0xb6b6a900) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0xb6b6a940) 0 empty
Class QMetaType
size=1 align=1
base size=0 base align=1
QMetaType (0xb6b6a980) 0 empty
-Class QMetaTypeId2<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QString> (0xb6b6aa40) 0 empty
-Class QMetaTypeId2<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<int> (0xb6b6aa80) 0 empty
-Class QMetaTypeId2<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned int> (0xb6b6aac0) 0 empty
-Class QMetaTypeId2<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<bool> (0xb6b6ab00) 0 empty
-Class QMetaTypeId2<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<double> (0xb6b6ab40) 0 empty
-Class QMetaTypeId2<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QByteArray> (0xb6b6ab80) 0 empty
-Class QMetaTypeId2<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QChar> (0xb6b6abc0) 0 empty
-Class QMetaTypeId2<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long int> (0xb6b6ac00) 0 empty
-Class QMetaTypeId2<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short int> (0xb6b6ac40) 0 empty
-Class QMetaTypeId2<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<char> (0xb6b6ac80) 0 empty
-Class QMetaTypeId2<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long unsigned int> (0xb6b6acc0) 0 empty
-Class QMetaTypeId2<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short unsigned int> (0xb6b6ad00) 0 empty
-Class QMetaTypeId2<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned char> (0xb6b6ad40) 0 empty
-Class QMetaTypeId2<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<float> (0xb6b6ad80) 0 empty
-Class QMetaTypeId2<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QObject*> (0xb6b6adc0) 0 empty
-Class QMetaTypeId2<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QWidget*> (0xb6b6ae00) 0 empty
-Class QMetaTypeId2<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<void*> (0xb6b6ae40) 0 empty
-Class QMetaTypeId2<long long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long int> (0xb6b6ae80) 0 empty
-Class QMetaTypeId2<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long unsigned int> (0xb6b6aec0) 0 empty
-Class QMetaTypeId2<QStringList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QStringList> (0xb6b6af00) 0 empty
-Class QMetaTypeId2<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitArray> (0xb6b6af40) 0 empty
-Class QMetaTypeId2<QDate>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDate> (0xb6b6af80) 0 empty
-Class QMetaTypeId2<QTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTime> (0xb6b6afc0) 0 empty
-Class QMetaTypeId2<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDateTime> (0xb6b6a0c0) 0 empty
-Class QMetaTypeId2<QUrl>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QUrl> (0xb6b6a100) 0 empty
-Class QMetaTypeId2<QLocale>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLocale> (0xb6b6a140) 0 empty
-Class QMetaTypeId2<QRect>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRect> (0xb6b6a200) 0 empty
-Class QMetaTypeId2<QRectF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRectF> (0xb6b6a240) 0 empty
-Class QMetaTypeId2<QSize>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSize> (0xb6b6a580) 0 empty
-Class QMetaTypeId2<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizeF> (0xb6793000) 0 empty
-Class QMetaTypeId2<QLine>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLine> (0xb6793040) 0 empty
-Class QMetaTypeId2<QLineF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLineF> (0xb6793080) 0 empty
-Class QMetaTypeId2<QPoint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPoint> (0xb67930c0) 0 empty
-Class QMetaTypeId2<QPointF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPointF> (0xb6793100) 0 empty
-Class QMetaTypeId2<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegExp> (0xb6793140) 0 empty
-Class QMetaTypeId2<QColorGroup>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColorGroup> (0xb6793180) 0 empty
-Class QMetaTypeId2<QFont>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QFont> (0xb67931c0) 0 empty
-Class QMetaTypeId2<QPixmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPixmap> (0xb6793200) 0 empty
-Class QMetaTypeId2<QBrush>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBrush> (0xb6793240) 0 empty
-Class QMetaTypeId2<QColor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColor> (0xb6793280) 0 empty
-Class QMetaTypeId2<QPalette>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPalette> (0xb67932c0) 0 empty
-Class QMetaTypeId2<QIcon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QIcon> (0xb6793300) 0 empty
-Class QMetaTypeId2<QImage>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QImage> (0xb6793340) 0 empty
-Class QMetaTypeId2<QPolygon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPolygon> (0xb6793380) 0 empty
-Class QMetaTypeId2<QRegion>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegion> (0xb67933c0) 0 empty
-Class QMetaTypeId2<QBitmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitmap> (0xb6793400) 0 empty
-Class QMetaTypeId2<QCursor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QCursor> (0xb6793440) 0 empty
-Class QMetaTypeId2<QSizePolicy>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizePolicy> (0xb6793480) 0 empty
-Class QMetaTypeId2<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QKeySequence> (0xb67934c0) 0 empty
-Class QMetaTypeId2<QPen>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPen> (0xb6793500) 0 empty
-Class QMetaTypeId2<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextLength> (0xb6793540) 0 empty
-Class QMetaTypeId2<QTextFormat>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextFormat> (0xb6793580) 0 empty
-Class QMetaTypeId2<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMatrix> (0xb67935c0) 0 empty
-Class QMetaTypeId2<QTransform>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTransform> (0xb6793600) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -1303,45 +741,17 @@ Class QVariant
base size=12 base align=4
QVariant (0xb6793640) 0
-Class QMetaTypeId2<QList<QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QList<QVariant> > (0xb67938c0) 0 empty
-Class QMetaTypeId2<QMap<QString, QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMap<QString, QVariant> > (0xb6793900) 0 empty
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0xb6793a00) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0xb6793980) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0xb6793b00) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0xb6793a80) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0xb6793b80) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0xb6793c00) 0 empty
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1368,25 +778,9 @@ QSettings (0xb6793c40) 0
QObject (0xb6793c80) 0
primary-for QSettings (0xb6793c40)
-Class <anonymous struct>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct>::<anonymous union> (0xb6793d80) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6793d40) 0
-Class <anonymous struct>
- size=12 align=4
- base size=12 base align=4
-<anonymous struct> (0xb6793dc0) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb6793e00) 0
Class __gconv_trans_data
size=20 align=4
@@ -1408,15 +802,7 @@ Class __gconv_info
base size=8 base align=4
__gconv_info (0xb6793f00) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0xb6793f80) 0
-Class <anonymous union>
- size=44 align=4
- base size=44 base align=4
-<anonymous union> (0xb6793f40) 0
Class _IO_marker
size=12 align=4
@@ -1428,10 +814,6 @@ Class _IO_FILE
base size=148 base align=4
_IO_FILE (0xb6793780) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb67937c0) 0
Vtable for QFile
QFile::_ZTV5QFile: 31u entries
@@ -1477,10 +859,6 @@ QFile (0xb6793800) 0
QObject (0xb6793880) 0
primary-for QIODevice (0xb6793840)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0xb6793d00) 0
Vtable for QTemporaryFile
QTemporaryFile::_ZTV14QTemporaryFile: 31u entries
@@ -1533,40 +911,16 @@ Class QFileInfo
base size=4 base align=4
QFileInfo (0xb66ab100) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0xb66ab140) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0xb66ab180) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0xb66ab240) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0xb66ab1c0) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0xb66ab280) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0xb66ab300) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0xb66ab380) 0
Vtable for QProcess
QProcess::_ZTV8QProcess: 31u entries
@@ -1650,10 +1004,6 @@ Class QDirIterator
QDirIterator (0xb66ab5c0) 0
vptr=((& QDirIterator::_ZTV12QDirIterator) + 8u)
-Class QFlags<QDirIterator::IteratorFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDirIterator::IteratorFlag> (0xb66ab680) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -1710,10 +1060,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0xb66ab6c0) 0
vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0xb66ab840) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -1747,10 +1093,6 @@ Class QAbstractFileEngineIterator
QAbstractFileEngineIterator (0xb66ab900) 0
vptr=((& QAbstractFileEngineIterator::_ZTV27QAbstractFileEngineIterator) + 8u)
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0xb66aba40) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -1775,15 +1117,7 @@ Class QTextCodec
QTextCodec (0xb66ab980) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0xb66abb80) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0xb66abb00) 0
Class QTextEncoder
size=32 align=4
@@ -1808,10 +1142,6 @@ Class QTextStream
QTextStream (0xb66abc40) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0xb66abd00) 0
Class QTextStreamManipulator
size=24 align=4
@@ -1958,20 +1288,12 @@ Class QReadWriteLock
base size=4 base align=4
QReadWriteLock (0xb66aba00) 0
-Class QReadLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QReadLocker::<anonymous union> (0xb66abcc0) 0
Class QReadLocker
size=4 align=4
base size=4 base align=4
QReadLocker (0xb66aba80) 0
-Class QWriteLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QWriteLocker::<anonymous union> (0xb66abf40) 0
Class QWriteLocker
size=4 align=4
@@ -1983,10 +1305,6 @@ Class QMutex
base size=4 base align=4
QMutex (0xb64c8000) 0
-Class QMutexLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMutexLocker::<anonymous union> (0xb64c8080) 0
Class QMutexLocker
size=4 align=4
@@ -2066,10 +1384,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0xb64c8380) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0xb64c83c0) 0 empty
Vtable for QMimeData
QMimeData::_ZTV9QMimeData: 17u entries
@@ -2104,20 +1418,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0xb64c84c0) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0xb64c8500) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0xb64c8540) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0xb64c85c0) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -2357,10 +1663,6 @@ QEventLoop (0xb64c8a40) 0
QObject (0xb64c8a80) 0
primary-for QEventLoop (0xb64c8a40)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0xb64c8b80) 0
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -2555,20 +1857,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0xb64c8880) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0xb64c8940) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0xb64c8a00) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0xb64c8b00) 0 empty
Class QMetaProperty
size=20 align=4
@@ -2580,10 +1874,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0xb64c8cc0) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0xb64c8d80) 0 empty
Vtable for QTextCodecFactoryInterface
QTextCodecFactoryInterface::_ZTV26QTextCodecFactoryInterface: 6u entries
@@ -2644,10 +1934,6 @@ QTextCodecPlugin (0xb6436000) 0
QFactoryInterface (0xb64360c0) 8 nearly-empty
primary-for QTextCodecFactoryInterface (0xb6436080)
-Class QFlags<QSql::ParamTypeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QSql::ParamTypeFlag> (0xb6436180) 0
Class QSqlRecord
size=4 align=4
@@ -2987,15 +2273,7 @@ QSqlDriver (0xb6436a80) 0
QObject (0xb6436ac0) 0
primary-for QSqlDriver (0xb6436a80)
-Class QList<bool>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<bool>::<anonymous union> (0xb6436c80) 0
-Class QList<bool>
- size=4 align=4
- base size=4 base align=4
-QList<bool> (0xb6436c00) 0
Class QSqlIndex
size=16 align=4
@@ -3051,18 +2329,6 @@ Class QSqlField
base size=16 base align=4
QSqlField (0xb6436dc0) 0
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0xb6436e40) 0
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0xb6436ec0) 0
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0xb6436f40) 0
diff --git a/tests/auto/bic/data/QtSql.4.4.0.linux-gcc-ia32.txt b/tests/auto/bic/data/QtSql.4.4.0.linux-gcc-ia32.txt
index fe662bf..4f5248d 100644
--- a/tests/auto/bic/data/QtSql.4.4.0.linux-gcc-ia32.txt
+++ b/tests/auto/bic/data/QtSql.4.4.0.linux-gcc-ia32.txt
@@ -1,34 +1,8 @@
-Class QUintForSize<4>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<4> (0xb78223fc) 0 empty
-Class QUintForSize<8>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<8> (0xb7822438) 0 empty
-Class QUintForType<void*>
- size=1 align=1
- base size=1 base align=1
-QUintForType<void*> (0xb7c81b40) 0 empty
- QUintForSize<4> (0xb78224b0) 0 empty
-Class QIntForSize<4>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<4> (0xb78225dc) 0 empty
-Class QIntForSize<8>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<8> (0xb7822618) 0 empty
-Class QIntForType<void*>
- size=1 align=1
- base size=1 base align=1
-QIntForType<void*> (0xb7c81d00) 0 empty
- QIntForSize<4> (0xb7822690) 0 empty
Class QSysInfo
size=1 align=1
@@ -50,80 +24,20 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0xb7836a8c) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0xb7836c6c) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0xb7836d5c) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0xb7836e4c) 0 empty
-Class QTypeInfo<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned char> (0xb7836f3c) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0xb784b03c) 0 empty
-Class QTypeInfo<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short unsigned int> (0xb784b12c) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0xb784b21c) 0 empty
-Class QTypeInfo<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned int> (0xb784b30c) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0xb784b3fc) 0 empty
-Class QTypeInfo<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long unsigned int> (0xb784b4ec) 0 empty
-Class QTypeInfo<long long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long int> (0xb784b5dc) 0 empty
-Class QTypeInfo<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long unsigned int> (0xb784b6cc) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0xb784b7bc) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0xb784b8ac) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0xb784b99c) 0 empty
Class QFlag
size=4 align=4
@@ -140,10 +54,6 @@ Class QChar
base size=2 base align=2
QChar (0xb786899c) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0xb7894654) 0 empty
Class QBasicAtomicInt
size=4 align=4
@@ -176,75 +86,19 @@ Class QByteRef
base size=8 base align=4
QByteRef (0xb6b3921c) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0xb6b8430c) 0 empty
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0xb6b845a0) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0xb6b84ec4) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0xb69cf7f8) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0xb69db12c) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0xb69dba50) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0xb69ee384) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0xb69eeca8) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0xb6a015dc) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0xb6a01f00) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0xb6a16834) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0xb6a24168) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0xb6a24a8c) 0
-Class QFlags<Qt::TextInteractionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::TextInteractionFlag> (0xb6a3c3c0) 0
Class QInternal
size=1 align=1
@@ -266,10 +120,6 @@ Class QString
base size=4 base align=4
QString (0xb6a3ce4c) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0xb689e078) 0
Class QLatin1String
size=4 align=4
@@ -287,10 +137,6 @@ Class QConstString
QConstString (0xb67beb00) 0
QString (0xb68054b0) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0xb68057bc) 0 empty
Class QStringRef
size=12 align=4
@@ -358,10 +204,6 @@ Class QListData
base size=4 base align=4
QListData (0xb686ae88) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0xb672212c) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -386,15 +228,7 @@ Class QTextCodec
QTextCodec (0xb6716474) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0xb6735780) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0xb6735708) 0
Class QTextEncoder
size=32 align=4
@@ -417,25 +251,13 @@ Class QGenericReturnArgument
QGenericReturnArgument (0xb6763000) 0
QGenericArgument (0xb675999c) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0xb6759e88) 0
Class QMetaObject
size=16 align=4
base size=16 base align=4
QMetaObject (0xb6759ca8) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0xb677e000) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0xb6770f78) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -527,10 +349,6 @@ QIODevice (0xb65b4e80) 0
QObject (0xb65cb000) 0
primary-for QIODevice (0xb65b4e80)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0xb65e72d0) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -550,25 +368,13 @@ Class QRegExp
base size=4 base align=4
QRegExp (0xb662521c) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0xb6648a14) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0xb6648b04) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0xb6656078) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0xb6656000) 0
Class QStringList
size=4 align=4
@@ -576,15 +382,7 @@ Class QStringList
QStringList (0xb6626f80) 0
QList<QString> (0xb66560b4) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0xb6671e10) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0xb668903c) 0
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -664,10 +462,6 @@ Class QMutex
base size=4 base align=4
QMutex (0xb64af258) 0
-Class QMutexLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMutexLocker::<anonymous union> (0xb64afe4c) 0
Class QMutexLocker
size=4 align=4
@@ -747,35 +541,11 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0xb6386780) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0xb6386834) 0 empty
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb64167bc) 0
-Class <anonymous struct>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct>::<anonymous union> (0xb64168ac) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6416834) 0
-Class <anonymous struct>
- size=12 align=4
- base size=12 base align=4
-<anonymous struct> (0xb6416924) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb641699c) 0
Class _IO_marker
size=12 align=4
@@ -787,10 +557,6 @@ Class _IO_FILE
base size=148 base align=4
_IO_FILE (0xb6416a14) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb6416a8c) 0
Vtable for QTextStream
QTextStream::_ZTV11QTextStream: 4u entries
@@ -805,10 +571,6 @@ Class QTextStream
QTextStream (0xb6416ac8) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0xb6466258) 0
Class QTextStreamManipulator
size=24 align=4
@@ -845,40 +607,16 @@ QTextOStream (0xb628c0c0) 0
QTextStream (0xb62859d8) 0
primary-for QTextOStream (0xb628c0c0)
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0xb6295438) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0xb62954b0) 0
Class wait
size=4 align=4
base size=4 base align=4
wait (0xb62953c0) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6295528) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb62955a0) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb6295618) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb6295690) 0
Class timespec
size=8 align=4
@@ -890,80 +628,24 @@ Class timeval
base size=8 base align=4
timeval (0xb6295708) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb6295780) 0
-Class <anonymous union>
- size=36 align=4
- base size=36 base align=4
-<anonymous union> (0xb62957f8) 0
Class __pthread_internal_slist
size=4 align=4
base size=4 base align=4
__pthread_internal_slist (0xb6295834) 0
-Class <anonymous union>::__pthread_mutex_s::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union>::__pthread_mutex_s::<anonymous union> (0xb6295960) 0
-Class <anonymous union>::__pthread_mutex_s
- size=24 align=4
- base size=24 base align=4
-<anonymous union>::__pthread_mutex_s (0xb62958e8) 0
-Class <anonymous union>
- size=24 align=4
- base size=24 base align=4
-<anonymous union> (0xb62958ac) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb62959d8) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0xb6295ac8) 0
-Class <anonymous union>
- size=48 align=4
- base size=48 base align=4
-<anonymous union> (0xb6295a50) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb6295b40) 0
-Class <anonymous union>::<anonymous struct>
- size=32 align=4
- base size=32 base align=4
-<anonymous union>::<anonymous struct> (0xb6295c30) 0
-Class <anonymous union>
- size=32 align=4
- base size=32 base align=4
-<anonymous union> (0xb6295bb8) 0
-Class <anonymous union>
- size=8 align=4
- base size=8 base align=4
-<anonymous union> (0xb6295ce4) 0
-Class <anonymous union>
- size=20 align=4
- base size=20 base align=4
-<anonymous union> (0xb6295d5c) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb6295dd4) 0
Class random_data
size=28 align=4
@@ -995,20 +677,8 @@ Class QtConcurrent::ResultItem
base size=8 base align=4
QtConcurrent::ResultItem (0xb61b4b7c) 0
-Class QMap<int, QtConcurrent::ResultItem>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<int, QtConcurrent::ResultItem>::<anonymous union> (0xb61cd7bc) 0
-Class QMap<int, QtConcurrent::ResultItem>
- size=4 align=4
- base size=4 base align=4
-QMap<int, QtConcurrent::ResultItem> (0xb61cd744) 0
-Class QMap<int, QtConcurrent::ResultItem>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QMap<int, QtConcurrent::ResultItem>::const_iterator (0xb61cdb04) 0
Class QtConcurrent::ResultIteratorBase
size=8 align=4
@@ -1028,10 +698,6 @@ Class QtConcurrent::ResultStoreBase
QtConcurrent::ResultStoreBase (0xb61cdc30) 0
vptr=((& QtConcurrent::ResultStoreBase::_ZTVN12QtConcurrent15ResultStoreBaseE) + 8u)
-Class QMap<int, QtConcurrent::ResultItem>::iterator
- size=4 align=4
- base size=4 base align=4
-QMap<int, QtConcurrent::ResultItem>::iterator (0xb61f62d0) 0
Vtable for QFutureInterfaceBase
QFutureInterfaceBase::_ZTV20QFutureInterfaceBase: 4u entries
@@ -1046,25 +712,8 @@ Class QFutureInterfaceBase
QFutureInterfaceBase (0xb61f6348) 0
vptr=((& QFutureInterfaceBase::_ZTV20QFutureInterfaceBase) + 8u)
-Vtable for QFutureInterface<void>
-QFutureInterface<void>::_ZTV16QFutureInterfaceIvE: 4u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI16QFutureInterfaceIvE)
-8 QFutureInterface<void>::~QFutureInterface
-12 QFutureInterface<void>::~QFutureInterface
-Class QFutureInterface<void>
- size=8 align=4
- base size=8 base align=4
-QFutureInterface<void> (0xb6212780) 0
- vptr=((& QFutureInterface<void>::_ZTV16QFutureInterfaceIvE) + 8u)
- QFutureInterfaceBase (0xb61f6e88) 0
- primary-for QFutureInterface<void> (0xb6212780)
-Class QFuture<void>
- size=8 align=4
- base size=8 base align=4
-QFuture<void> (0xb6247618) 0
Vtable for QFutureWatcherBase
QFutureWatcherBase::_ZTV18QFutureWatcherBase: 16u entries
@@ -1093,34 +742,7 @@ QFutureWatcherBase (0xb626b6c0) 0
QObject (0xb6269ca8) 0
primary-for QFutureWatcherBase (0xb626b6c0)
-Vtable for QFutureWatcher<void>
-QFutureWatcher<void>::_ZTV14QFutureWatcherIvE: 16u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI14QFutureWatcherIvE)
-8 QFutureWatcherBase::metaObject
-12 QFutureWatcherBase::qt_metacast
-16 QFutureWatcherBase::qt_metacall
-20 QFutureWatcher<void>::~QFutureWatcher
-24 QFutureWatcher<void>::~QFutureWatcher
-28 QFutureWatcherBase::event
-32 QObject::eventFilter
-36 QObject::timerEvent
-40 QObject::childEvent
-44 QObject::customEvent
-48 QFutureWatcherBase::connectNotify
-52 QFutureWatcherBase::disconnectNotify
-56 QFutureWatcher<void>::futureInterface
-60 QFutureWatcher<void>::futureInterface
-Class QFutureWatcher<void>
- size=16 align=4
- base size=16 base align=4
-QFutureWatcher<void> (0xb626bdc0) 0
- vptr=((& QFutureWatcher<void>::_ZTV14QFutureWatcherIvE) + 8u)
- QFutureWatcherBase (0xb626be00) 0
- primary-for QFutureWatcher<void> (0xb626bdc0)
- QObject (0xb62817bc) 0
- primary-for QFutureWatcherBase (0xb626be00)
Vtable for QRunnable
QRunnable::_ZTV9QRunnable: 5u entries
@@ -1219,60 +841,14 @@ QtConcurrent::ThreadEngineBase (0xb60c72c0) 0
QRunnable (0xb60c97bc) 0
primary-for QtConcurrent::ThreadEngineBase (0xb60c72c0)
-Class QtConcurrent::ThreadEngineStarterBase<void>
- size=4 align=4
- base size=4 base align=4
-QtConcurrent::ThreadEngineStarterBase<void> (0xb60c9fb4) 0
-Class QtConcurrent::ThreadEngineStarter<void>
- size=4 align=4
- base size=4 base align=4
-QtConcurrent::ThreadEngineStarter<void> (0xb60c7c40) 0
- QtConcurrent::ThreadEngineStarterBase<void> (0xb60df000) 0
-Vtable for QtConcurrent::ThreadEngine<void>
-QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE: 26u entries
-0 4u
-4 (int (*)(...))0
-8 (int (*)(...))(& _ZTIN12QtConcurrent12ThreadEngineIvEE)
-12 QtConcurrent::ThreadEngine<T>::result [with T = void]
-16 QtConcurrent::ThreadEngine<T>::asynchronousFinish [with T = void]
-20 QtConcurrent::ThreadEngine<void>::~ThreadEngine
-24 QtConcurrent::ThreadEngine<void>::~ThreadEngine
-28 -4u
-32 0u
-36 0u
-40 0u
-44 0u
-48 0u
-52 -4u
-56 0u
-60 (int (*)(...))-0x000000004
-64 (int (*)(...))(& _ZTIN12QtConcurrent12ThreadEngineIvEE)
-68 QtConcurrent::ThreadEngineBase::run
-72 QtConcurrent::ThreadEngine<void>::_ZTv0_n16_N12QtConcurrent12ThreadEngineIvED1Ev
-76 QtConcurrent::ThreadEngine<void>::_ZTv0_n16_N12QtConcurrent12ThreadEngineIvED0Ev
-80 QtConcurrent::ThreadEngineBase::start
-84 QtConcurrent::ThreadEngineBase::finish
-88 QtConcurrent::ThreadEngineBase::threadFunction
-92 QtConcurrent::ThreadEngineBase::shouldStartThread
-96 QtConcurrent::ThreadEngineBase::shouldThrottleThread
-100 QtConcurrent::ThreadEngine<void>::_ZTv0_n40_N12QtConcurrent12ThreadEngineIvE18asynchronousFinishEv
VTT for QtConcurrent::ThreadEngine<void>
QtConcurrent::ThreadEngine<void>::_ZTTN12QtConcurrent12ThreadEngineIvEE: 2u entries
0 ((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 12u)
4 ((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 68u)
-Class QtConcurrent::ThreadEngine<void>
- size=36 align=4
- base size=4 base align=4
-QtConcurrent::ThreadEngine<void> (0xb60c7e00) 0 nearly-empty
- vptridx=0u vptr=((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 12u)
- QtConcurrent::ThreadEngineBase (0xb60c7e40) 4 virtual
- vptridx=4u vbaseoffset=-0x00000000c vptr=((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 68u)
- QRunnable (0xb60df4b0) 4
- primary-for QtConcurrent::ThreadEngineBase (0xb60c7e40)
Class std::input_iterator_tag
size=1 align=1
@@ -1315,225 +891,49 @@ Class std::__false_type
base size=0 base align=1
std::__false_type (0xb60dff00) 0 empty
-Class std::__truth_type<true>
- size=1 align=1
- base size=0 base align=1
-std::__truth_type<true> (0xb60dff78) 0 empty
-Class std::__is_void<void>
- size=1 align=1
- base size=0 base align=1
-std::__is_void<void> (0xb60fd12c) 0 empty
-Class std::__is_integer<bool>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<bool> (0xb60fd21c) 0 empty
-Class std::__is_integer<char>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<char> (0xb60fd294) 0 empty
-Class std::__is_integer<signed char>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<signed char> (0xb60fd30c) 0 empty
-Class std::__is_integer<unsigned char>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<unsigned char> (0xb60fd384) 0 empty
-Class std::__is_integer<wchar_t>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<wchar_t> (0xb60fd3fc) 0 empty
-Class std::__is_integer<short int>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<short int> (0xb60fd474) 0 empty
-Class std::__is_integer<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<short unsigned int> (0xb60fd4ec) 0 empty
-Class std::__is_integer<int>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<int> (0xb60fd564) 0 empty
-Class std::__is_integer<unsigned int>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<unsigned int> (0xb60fd5dc) 0 empty
-Class std::__is_integer<long int>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<long int> (0xb60fd654) 0 empty
-Class std::__is_integer<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<long unsigned int> (0xb60fd6cc) 0 empty
-Class std::__is_integer<long long int>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<long long int> (0xb60fd744) 0 empty
-Class std::__is_integer<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<long long unsigned int> (0xb60fd7bc) 0 empty
-Class std::__is_floating<float>
- size=1 align=1
- base size=0 base align=1
-std::__is_floating<float> (0xb60fd8ac) 0 empty
-Class std::__is_floating<double>
- size=1 align=1
- base size=0 base align=1
-std::__is_floating<double> (0xb60fd924) 0 empty
-Class std::__is_floating<long double>
- size=1 align=1
- base size=0 base align=1
-std::__is_floating<long double> (0xb60fd99c) 0 empty
-Class std::__is_char<char>
- size=1 align=1
- base size=0 base align=1
-std::__is_char<char> (0xb60fdd20) 0 empty
-Class std::__is_char<wchar_t>
- size=1 align=1
- base size=0 base align=1
-std::__is_char<wchar_t> (0xb60fdd98) 0 empty
-Class std::__is_byte<char>
- size=1 align=1
- base size=0 base align=1
-std::__is_byte<char> (0xb60fde88) 0 empty
-Class std::__is_byte<signed char>
- size=1 align=1
- base size=0 base align=1
-std::__is_byte<signed char> (0xb60fdf00) 0 empty
-Class std::__is_byte<unsigned char>
- size=1 align=1
- base size=0 base align=1
-std::__is_byte<unsigned char> (0xb60fdf78) 0 empty
-Class __gnu_cxx::__add_unsigned<char>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__add_unsigned<char> (0xb61101a4) 0 empty
-Class __gnu_cxx::__add_unsigned<signed char>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__add_unsigned<signed char> (0xb61101e0) 0 empty
-Class __gnu_cxx::__add_unsigned<short int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__add_unsigned<short int> (0xb611021c) 0 empty
-Class __gnu_cxx::__add_unsigned<int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__add_unsigned<int> (0xb6110258) 0 empty
-Class __gnu_cxx::__add_unsigned<long int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__add_unsigned<long int> (0xb6110294) 0 empty
-Class __gnu_cxx::__add_unsigned<long long int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__add_unsigned<long long int> (0xb61102d0) 0 empty
-Class __gnu_cxx::__remove_unsigned<char>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__remove_unsigned<char> (0xb6110348) 0 empty
-Class __gnu_cxx::__remove_unsigned<unsigned char>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__remove_unsigned<unsigned char> (0xb6110384) 0 empty
-Class __gnu_cxx::__remove_unsigned<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__remove_unsigned<short unsigned int> (0xb61103c0) 0 empty
-Class __gnu_cxx::__remove_unsigned<unsigned int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__remove_unsigned<unsigned int> (0xb61103fc) 0 empty
-Class __gnu_cxx::__remove_unsigned<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__remove_unsigned<long unsigned int> (0xb6110438) 0 empty
-Class __gnu_cxx::__remove_unsigned<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__remove_unsigned<long long unsigned int> (0xb6110474) 0 empty
-Class std::iterator<std::output_iterator_tag, void, void, void, void>
- size=1 align=1
- base size=0 base align=1
-std::iterator<std::output_iterator_tag, void, void, void, void> (0xb6110e4c) 0 empty
-Class std::__iter_swap<true>
- size=1 align=1
- base size=0 base align=1
-std::__iter_swap<true> (0xb6178438) 0 empty
-Class std::__copy_move<false, false, std::random_access_iterator_tag>
- size=1 align=1
- base size=0 base align=1
-std::__copy_move<false, false, std::random_access_iterator_tag> (0xb6178870) 0 empty
-Class std::__copy_move_backward<false, false, std::random_access_iterator_tag>
- size=1 align=1
- base size=0 base align=1
-std::__copy_move_backward<false, false, std::random_access_iterator_tag> (0xb6178a8c) 0 empty
-Class std::__equal<true>
- size=1 align=1
- base size=0 base align=1
-std::__equal<true> (0xb6178e88) 0 empty
-Class std::__lc_rai<std::random_access_iterator_tag, std::random_access_iterator_tag>
- size=1 align=1
- base size=0 base align=1
-std::__lc_rai<std::random_access_iterator_tag, std::random_access_iterator_tag> (0xb5fc1000) 0 empty
-Class std::__lexicographical_compare<true>
- size=1 align=1
- base size=0 base align=1
-std::__lexicographical_compare<true> (0xb5fc1168) 0 empty
-Class std::char_traits<char>
- size=1 align=1
- base size=0 base align=1
-std::char_traits<char> (0xb5fc1870) 0 empty
-Class std::char_traits<wchar_t>
- size=1 align=1
- base size=0 base align=1
-std::char_traits<wchar_t> (0xb5fec294) 0 empty
Class lconv
size=56 align=4
@@ -1550,10 +950,6 @@ Class __sched_param
base size=4 base align=4
__sched_param (0xb5feee4c) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb5feeec4) 0
Class tm
size=44 align=4
@@ -1570,15 +966,7 @@ Class _pthread_cleanup_buffer
base size=16 base align=4
_pthread_cleanup_buffer (0xb60181a4) 0
-Class <anonymous struct>::<anonymous struct>
- size=28 align=4
- base size=28 base align=4
-<anonymous struct>::<anonymous struct> (0xb601830c) 0
-Class <anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous struct> (0xb6018294) 0
Class __pthread_cleanup_frame
size=16 align=4
@@ -1590,32 +978,10 @@ Class __pthread_cleanup_class
base size=16 base align=4
__pthread_cleanup_class (0xb6018384) 0
-Class std::allocator<void>
- size=1 align=1
- base size=0 base align=1
-std::allocator<void> (0xb60738ac) 0 empty
-Class __gnu_cxx::new_allocator<char>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::new_allocator<char> (0xb6073b7c) 0 empty
-Class std::allocator<char>
- size=1 align=1
- base size=1 base align=1
-std::allocator<char> (0xb5e747c0) 0 empty
- __gnu_cxx::new_allocator<char> (0xb6073bb8) 0 empty
-Class __gnu_cxx::new_allocator<wchar_t>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::new_allocator<wchar_t> (0xb6073bf4) 0 empty
-Class std::allocator<wchar_t>
- size=1 align=1
- base size=1 base align=1
-std::allocator<wchar_t> (0xb5e74880) 0 empty
- __gnu_cxx::new_allocator<wchar_t> (0xb6073c30) 0 empty
Vtable for __cxxabiv1::__forced_unwind
__cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE: 5u entries
@@ -1631,82 +997,19 @@ Class __cxxabiv1::__forced_unwind
__cxxabiv1::__forced_unwind (0xb6073e4c) 0 nearly-empty
vptr=((& __cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE) + 8u)
-Class __gnu_cxx::__conditional_type<true, __gnu_cxx::__numeric_traits_integer<int>, __gnu_cxx::__numeric_traits_floating<int> >
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__conditional_type<true, __gnu_cxx::__numeric_traits_integer<int>, __gnu_cxx::__numeric_traits_floating<int> > (0xb5f16744) 0 empty
-Class __gnu_cxx::__numeric_traits_integer<int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__numeric_traits_integer<int> (0xb5f16780) 0 empty
-Class __gnu_cxx::__numeric_traits<int>
- size=1 align=1
- base size=1 base align=1
-__gnu_cxx::__numeric_traits<int> (0xb5f19b40) 0 empty
- __gnu_cxx::__numeric_traits_integer<int> (0xb5f167bc) 0 empty
-Class std::allocator<char>::rebind<char>
- size=1 align=1
- base size=0 base align=1
-std::allocator<char>::rebind<char> (0xb5d94438) 0 empty
-Class std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Alloc_hider
- size=4 align=4
- base size=4 base align=4
-std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Alloc_hider (0xb5db2100) 0
- std::allocator<char> (0xb5db2140) 0 empty
- __gnu_cxx::new_allocator<char> (0xb5d944b0) 0 empty
-Class std::basic_string<char, std::char_traits<char>, std::allocator<char> >
- size=4 align=4
- base size=4 base align=4
-std::basic_string<char, std::char_traits<char>, std::allocator<char> > (0xb5d943c0) 0
-Class std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep_base
- size=12 align=4
- base size=12 base align=4
-std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep_base (0xb5d944ec) 0
-Class std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep
- size=12 align=4
- base size=12 base align=4
-std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep (0xb5db22c0) 0
- std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep_base (0xb5d94528) 0
-Class std::allocator<wchar_t>::rebind<wchar_t>
- size=1 align=1
- base size=0 base align=1
-std::allocator<wchar_t>::rebind<wchar_t> (0xb5d945dc) 0 empty
-Class std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Alloc_hider
- size=4 align=4
- base size=4 base align=4
-std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Alloc_hider (0xb5db24c0) 0
- std::allocator<wchar_t> (0xb5db2500) 0 empty
- __gnu_cxx::new_allocator<wchar_t> (0xb5d94654) 0 empty
-Class std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >
- size=4 align=4
- base size=4 base align=4
-std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > (0xb5d94564) 0
-Class std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Rep_base
- size=12 align=4
- base size=12 base align=4
-std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Rep_base (0xb5d94690) 0
-Class std::allocator<wchar_t>::rebind<char>
- size=1 align=1
- base size=0 base align=1
-std::allocator<wchar_t>::rebind<char> (0xb5d94744) 0 empty
-Class std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Rep
- size=12 align=4
- base size=12 base align=4
-std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Rep (0xb5db2680) 0
- std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Rep_base (0xb5d946cc) 0
Class std::locale
size=4 align=4
@@ -1736,97 +1039,16 @@ Class std::locale::_Impl
base size=20 base align=4
std::locale::_Impl (0xb5e528e8) 0
-Vtable for std::collate<char>
-std::collate<char>::_ZTVSt7collateIcE: 7u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt7collateIcE)
-8 std::collate<_CharT>::~collate [with _CharT = char]
-12 std::collate<_CharT>::~collate [with _CharT = char]
-16 std::collate<_CharT>::do_compare [with _CharT = char]
-20 std::collate<_CharT>::do_transform [with _CharT = char]
-24 std::collate<_CharT>::do_hash [with _CharT = char]
-
-Class std::collate<char>
- size=12 align=4
- base size=12 base align=4
-std::collate<char> (0xb5e60640) 0
- vptr=((& std::collate<char>::_ZTVSt7collateIcE) + 8u)
- std::locale::facet (0xb5e64294) 0
- primary-for std::collate<char> (0xb5e60640)
-Vtable for std::collate<wchar_t>
-std::collate<wchar_t>::_ZTVSt7collateIwE: 7u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt7collateIwE)
-8 std::collate<_CharT>::~collate [with _CharT = wchar_t]
-12 std::collate<_CharT>::~collate [with _CharT = wchar_t]
-16 std::collate<_CharT>::do_compare [with _CharT = wchar_t]
-20 std::collate<_CharT>::do_transform [with _CharT = wchar_t]
-24 std::collate<_CharT>::do_hash [with _CharT = wchar_t]
-
-Class std::collate<wchar_t>
- size=12 align=4
- base size=12 base align=4
-std::collate<wchar_t> (0xb5e60740) 0
- vptr=((& std::collate<wchar_t>::_ZTVSt7collateIwE) + 8u)
- std::locale::facet (0xb5e64384) 0
- primary-for std::collate<wchar_t> (0xb5e60740)
-Class __gnu_cxx::__conditional_type<true, __gnu_cxx::__numeric_traits_integer<long unsigned int>, __gnu_cxx::__numeric_traits_floating<long unsigned int> >
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__conditional_type<true, __gnu_cxx::__numeric_traits_integer<long unsigned int>, __gnu_cxx::__numeric_traits_floating<long unsigned int> > (0xb5e647f8) 0 empty
-Class __gnu_cxx::__numeric_traits_integer<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__numeric_traits_integer<long unsigned int> (0xb5e64834) 0 empty
-Class __gnu_cxx::__numeric_traits<long unsigned int>
- size=1 align=1
- base size=1 base align=1
-__gnu_cxx::__numeric_traits<long unsigned int> (0xb5c816c0) 0 empty
- __gnu_cxx::__numeric_traits_integer<long unsigned int> (0xb5e64870) 0 empty
-Vtable for std::collate_byname<char>
-std::collate_byname<char>::_ZTVSt14collate_bynameIcE: 7u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt14collate_bynameIcE)
-8 std::collate_byname<_CharT>::~collate_byname [with _CharT = char]
-12 std::collate_byname<_CharT>::~collate_byname [with _CharT = char]
-16 std::collate<_CharT>::do_compare [with _CharT = char]
-20 std::collate<_CharT>::do_transform [with _CharT = char]
-24 std::collate<_CharT>::do_hash [with _CharT = char]
-
-Class std::collate_byname<char>
- size=12 align=4
- base size=12 base align=4
-std::collate_byname<char> (0xb5c81800) 0
- vptr=((& std::collate_byname<char>::_ZTVSt14collate_bynameIcE) + 8u)
- std::collate<char> (0xb5c81840) 0
- primary-for std::collate_byname<char> (0xb5c81800)
- std::locale::facet (0xb5e648e8) 0
- primary-for std::collate<char> (0xb5c81840)
-
-Vtable for std::collate_byname<wchar_t>
-std::collate_byname<wchar_t>::_ZTVSt14collate_bynameIwE: 7u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt14collate_bynameIwE)
-8 std::collate_byname<_CharT>::~collate_byname [with _CharT = wchar_t]
-12 std::collate_byname<_CharT>::~collate_byname [with _CharT = wchar_t]
-16 std::collate<_CharT>::do_compare [with _CharT = wchar_t]
-20 std::collate<_CharT>::do_transform [with _CharT = wchar_t]
-24 std::collate<_CharT>::do_hash [with _CharT = wchar_t]
-
-Class std::collate_byname<wchar_t>
- size=12 align=4
- base size=12 base align=4
-std::collate_byname<wchar_t> (0xb5c818c0) 0
- vptr=((& std::collate_byname<wchar_t>::_ZTVSt14collate_bynameIwE) + 8u)
- std::collate<wchar_t> (0xb5c81900) 0
- primary-for std::collate_byname<wchar_t> (0xb5c818c0)
- std::locale::facet (0xb5e649d8) 0
- primary-for std::collate<wchar_t> (0xb5c81900)
+
+
+
+
+
Vtable for std::ios_base::failure
std::ios_base::failure::_ZTVNSt8ios_base7failureE: 5u entries
@@ -1872,583 +1094,85 @@ Class std::ios_base
std::ios_base (0xb5c96780) 0
vptr=((& std::ios_base::_ZTVSt8ios_base) + 8u)
-Vtable for std::basic_streambuf<char, std::char_traits<char> >
-std::basic_streambuf<char, std::char_traits<char> >::_ZTVSt15basic_streambufIcSt11char_traitsIcEE: 16u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt15basic_streambufIcSt11char_traitsIcEE)
-8 std::basic_streambuf<_CharT, _Traits>::~basic_streambuf [with _CharT = char, _Traits = std::char_traits<char>]
-12 std::basic_streambuf<_CharT, _Traits>::~basic_streambuf [with _CharT = char, _Traits = std::char_traits<char>]
-16 std::basic_streambuf<_CharT, _Traits>::imbue [with _CharT = char, _Traits = std::char_traits<char>]
-20 std::basic_streambuf<_CharT, _Traits>::setbuf [with _CharT = char, _Traits = std::char_traits<char>]
-24 std::basic_streambuf<_CharT, _Traits>::seekoff [with _CharT = char, _Traits = std::char_traits<char>]
-28 std::basic_streambuf<_CharT, _Traits>::seekpos [with _CharT = char, _Traits = std::char_traits<char>]
-32 std::basic_streambuf<_CharT, _Traits>::sync [with _CharT = char, _Traits = std::char_traits<char>]
-36 std::basic_streambuf<_CharT, _Traits>::showmanyc [with _CharT = char, _Traits = std::char_traits<char>]
-40 std::basic_streambuf<_CharT, _Traits>::xsgetn [with _CharT = char, _Traits = std::char_traits<char>]
-44 std::basic_streambuf<_CharT, _Traits>::underflow [with _CharT = char, _Traits = std::char_traits<char>]
-48 std::basic_streambuf<_CharT, _Traits>::uflow [with _CharT = char, _Traits = std::char_traits<char>]
-52 std::basic_streambuf<_CharT, _Traits>::pbackfail [with _CharT = char, _Traits = std::char_traits<char>]
-56 std::basic_streambuf<_CharT, _Traits>::xsputn [with _CharT = char, _Traits = std::char_traits<char>]
-60 std::basic_streambuf<_CharT, _Traits>::overflow [with _CharT = char, _Traits = std::char_traits<char>]
-
-Class std::basic_streambuf<char, std::char_traits<char> >
- size=32 align=4
- base size=32 base align=4
-std::basic_streambuf<char, std::char_traits<char> > (0xb5cc9e10) 0
- vptr=((& std::basic_streambuf<char, std::char_traits<char> >::_ZTVSt15basic_streambufIcSt11char_traitsIcEE) + 8u)
-Vtable for std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >
-std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >::_ZTVSt15basic_streambufIwSt11char_traitsIwEE: 16u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt15basic_streambufIwSt11char_traitsIwEE)
-8 std::basic_streambuf<_CharT, _Traits>::~basic_streambuf [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-12 std::basic_streambuf<_CharT, _Traits>::~basic_streambuf [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-16 std::basic_streambuf<_CharT, _Traits>::imbue [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-20 std::basic_streambuf<_CharT, _Traits>::setbuf [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-24 std::basic_streambuf<_CharT, _Traits>::seekoff [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-28 std::basic_streambuf<_CharT, _Traits>::seekpos [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-32 std::basic_streambuf<_CharT, _Traits>::sync [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-36 std::basic_streambuf<_CharT, _Traits>::showmanyc [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-40 std::basic_streambuf<_CharT, _Traits>::xsgetn [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-44 std::basic_streambuf<_CharT, _Traits>::underflow [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-48 std::basic_streambuf<_CharT, _Traits>::uflow [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-52 std::basic_streambuf<_CharT, _Traits>::pbackfail [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-56 std::basic_streambuf<_CharT, _Traits>::xsputn [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-60 std::basic_streambuf<_CharT, _Traits>::overflow [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-
-Class std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >
- size=32 align=4
- base size=32 base align=4
-std::basic_streambuf<wchar_t, std::char_traits<wchar_t> > (0xb5cc9ec4) 0
- vptr=((& std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >::_ZTVSt15basic_streambufIwSt11char_traitsIwEE) + 8u)
+
+
Class std::ctype_base
size=1 align=1
base size=0 base align=1
std::ctype_base (0xb5cc9f3c) 0 empty
-Vtable for std::ctype<char>
-std::ctype<char>::_ZTVSt5ctypeIcE: 12u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt5ctypeIcE)
-8 std::ctype<char>::~ctype
-12 std::ctype<char>::~ctype
-16 std::ctype<char>::do_toupper
-20 std::ctype<char>::do_toupper
-24 std::ctype<char>::do_tolower
-28 std::ctype<char>::do_tolower
-32 std::ctype<char>::do_widen
-36 std::ctype<char>::do_widen
-40 std::ctype<char>::do_narrow
-44 std::ctype<char>::do_narrow
-
-Class std::ctype<char>
- size=544 align=4
- base size=542 base align=4
-std::ctype<char> (0xb5d52050) 0
- vptr=((& std::ctype<char>::_ZTVSt5ctypeIcE) + 8u)
- std::locale::facet (0xb5d4c294) 0
- primary-for std::ctype<char> (0xb5d52050)
- std::ctype_base (0xb5d4c2d0) 0 empty
-
-Vtable for std::__ctype_abstract_base<wchar_t>
-std::__ctype_abstract_base<wchar_t>::_ZTVSt21__ctype_abstract_baseIwE: 16u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt21__ctype_abstract_baseIwE)
-8 std::__ctype_abstract_base<_CharT>::~__ctype_abstract_base [with _CharT = wchar_t]
-12 std::__ctype_abstract_base<_CharT>::~__ctype_abstract_base [with _CharT = wchar_t]
-16 __cxa_pure_virtual
-20 __cxa_pure_virtual
-24 __cxa_pure_virtual
-28 __cxa_pure_virtual
-32 __cxa_pure_virtual
-36 __cxa_pure_virtual
-40 __cxa_pure_virtual
-44 __cxa_pure_virtual
-48 __cxa_pure_virtual
-52 __cxa_pure_virtual
-56 __cxa_pure_virtual
-60 __cxa_pure_virtual
-Class std::__ctype_abstract_base<wchar_t>
- size=8 align=4
- base size=8 base align=4
-std::__ctype_abstract_base<wchar_t> (0xb5d5a910) 0
- vptr=((& std::__ctype_abstract_base<wchar_t>::_ZTVSt21__ctype_abstract_baseIwE) + 8u)
- std::locale::facet (0xb5d6ae4c) 0
- primary-for std::__ctype_abstract_base<wchar_t> (0xb5d5a910)
- std::ctype_base (0xb5d6ae88) 0 empty
-
-Vtable for std::ctype<wchar_t>
-std::ctype<wchar_t>::_ZTVSt5ctypeIwE: 16u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt5ctypeIwE)
-8 std::ctype<wchar_t>::~ctype
-12 std::ctype<wchar_t>::~ctype
-16 std::ctype<wchar_t>::do_is
-20 std::ctype<wchar_t>::do_is
-24 std::ctype<wchar_t>::do_scan_is
-28 std::ctype<wchar_t>::do_scan_not
-32 std::ctype<wchar_t>::do_toupper
-36 std::ctype<wchar_t>::do_toupper
-40 std::ctype<wchar_t>::do_tolower
-44 std::ctype<wchar_t>::do_tolower
-48 std::ctype<wchar_t>::do_widen
-52 std::ctype<wchar_t>::do_widen
-56 std::ctype<wchar_t>::do_narrow
-60 std::ctype<wchar_t>::do_narrow
-
-Class std::ctype<wchar_t>
- size=1264 align=4
- base size=1264 base align=4
-std::ctype<wchar_t> (0xb5d5f800) 0
- vptr=((& std::ctype<wchar_t>::_ZTVSt5ctypeIwE) + 8u)
- std::__ctype_abstract_base<wchar_t> (0xb5b76780) 0
- primary-for std::ctype<wchar_t> (0xb5d5f800)
- std::locale::facet (0xb5d6af78) 0
- primary-for std::__ctype_abstract_base<wchar_t> (0xb5b76780)
- std::ctype_base (0xb5d6afb4) 0 empty
-
-Vtable for std::ctype_byname<char>
-std::ctype_byname<char>::_ZTVSt12ctype_bynameIcE: 12u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt12ctype_bynameIcE)
-8 std::ctype_byname<char>::~ctype_byname
-12 std::ctype_byname<char>::~ctype_byname
-16 std::ctype<char>::do_toupper
-20 std::ctype<char>::do_toupper
-24 std::ctype<char>::do_tolower
-28 std::ctype<char>::do_tolower
-32 std::ctype<char>::do_widen
-36 std::ctype<char>::do_widen
-40 std::ctype<char>::do_narrow
-44 std::ctype<char>::do_narrow
-
-Class std::ctype_byname<char>
- size=544 align=4
- base size=542 base align=4
-std::ctype_byname<char> (0xb5d5f9c0) 0
- vptr=((& std::ctype_byname<char>::_ZTVSt12ctype_bynameIcE) + 8u)
- std::ctype<char> (0xb5b7df00) 0
- primary-for std::ctype_byname<char> (0xb5d5f9c0)
- std::locale::facet (0xb5b7e2d0) 0
- primary-for std::ctype<char> (0xb5b7df00)
- std::ctype_base (0xb5b7e30c) 0 empty
-
-Vtable for std::ctype_byname<wchar_t>
-std::ctype_byname<wchar_t>::_ZTVSt12ctype_bynameIwE: 16u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt12ctype_bynameIwE)
-8 std::ctype_byname<wchar_t>::~ctype_byname
-12 std::ctype_byname<wchar_t>::~ctype_byname
-16 std::ctype<wchar_t>::do_is
-20 std::ctype<wchar_t>::do_is
-24 std::ctype<wchar_t>::do_scan_is
-28 std::ctype<wchar_t>::do_scan_not
-32 std::ctype<wchar_t>::do_toupper
-36 std::ctype<wchar_t>::do_toupper
-40 std::ctype<wchar_t>::do_tolower
-44 std::ctype<wchar_t>::do_tolower
-48 std::ctype<wchar_t>::do_widen
-52 std::ctype<wchar_t>::do_widen
-56 std::ctype<wchar_t>::do_narrow
-60 std::ctype<wchar_t>::do_narrow
-
-Class std::ctype_byname<wchar_t>
- size=1264 align=4
- base size=1264 base align=4
-std::ctype_byname<wchar_t> (0xb5d5fa40) 0
- vptr=((& std::ctype_byname<wchar_t>::_ZTVSt12ctype_bynameIwE) + 8u)
- std::ctype<wchar_t> (0xb5d5fa80) 0
- primary-for std::ctype_byname<wchar_t> (0xb5d5fa40)
- std::__ctype_abstract_base<wchar_t> (0xb5b82550) 0
- primary-for std::ctype<wchar_t> (0xb5d5fa80)
- std::locale::facet (0xb5b7e474) 0
- primary-for std::__ctype_abstract_base<wchar_t> (0xb5b82550)
- std::ctype_base (0xb5b7e4b0) 0 empty
+
+
+
+
+
+
+
+
Class std::__num_base
size=1 align=1
base size=0 base align=1
std::__num_base (0xb5b7eec4) 0 empty
-Vtable for std::numpunct<char>
-std::numpunct<char>::_ZTVSt8numpunctIcE: 9u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt8numpunctIcE)
-8 std::numpunct<_CharT>::~numpunct [with _CharT = char]
-12 std::numpunct<_CharT>::~numpunct [with _CharT = char]
-16 std::numpunct<_CharT>::do_decimal_point [with _CharT = char]
-20 std::numpunct<_CharT>::do_thousands_sep [with _CharT = char]
-24 std::numpunct<_CharT>::do_grouping [with _CharT = char]
-28 std::numpunct<_CharT>::do_truename [with _CharT = char]
-32 std::numpunct<_CharT>::do_falsename [with _CharT = char]
-
-Class std::numpunct<char>
- size=12 align=4
- base size=12 base align=4
-std::numpunct<char> (0xb5b90480) 0
- vptr=((& std::numpunct<char>::_ZTVSt8numpunctIcE) + 8u)
- std::locale::facet (0xb5b8d690) 0
- primary-for std::numpunct<char> (0xb5b90480)
-Vtable for std::numpunct<wchar_t>
-std::numpunct<wchar_t>::_ZTVSt8numpunctIwE: 9u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt8numpunctIwE)
-8 std::numpunct<_CharT>::~numpunct [with _CharT = wchar_t]
-12 std::numpunct<_CharT>::~numpunct [with _CharT = wchar_t]
-16 std::numpunct<_CharT>::do_decimal_point [with _CharT = wchar_t]
-20 std::numpunct<_CharT>::do_thousands_sep [with _CharT = wchar_t]
-24 std::numpunct<_CharT>::do_grouping [with _CharT = wchar_t]
-28 std::numpunct<_CharT>::do_truename [with _CharT = wchar_t]
-32 std::numpunct<_CharT>::do_falsename [with _CharT = wchar_t]
-
-Class std::numpunct<wchar_t>
- size=12 align=4
- base size=12 base align=4
-std::numpunct<wchar_t> (0xb5b90540) 0
- vptr=((& std::numpunct<wchar_t>::_ZTVSt8numpunctIwE) + 8u)
- std::locale::facet (0xb5b8d780) 0
- primary-for std::numpunct<wchar_t> (0xb5b90540)
-Class __gnu_cxx::__conditional_type<true, long unsigned int, long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__conditional_type<true, long unsigned int, long long unsigned int> (0xb5bc5dd4) 0 empty
-Vtable for std::numpunct_byname<char>
-std::numpunct_byname<char>::_ZTVSt15numpunct_bynameIcE: 9u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt15numpunct_bynameIcE)
-8 std::numpunct_byname<_CharT>::~numpunct_byname [with _CharT = char]
-12 std::numpunct_byname<_CharT>::~numpunct_byname [with _CharT = char]
-16 std::numpunct<_CharT>::do_decimal_point [with _CharT = char]
-20 std::numpunct<_CharT>::do_thousands_sep [with _CharT = char]
-24 std::numpunct<_CharT>::do_grouping [with _CharT = char]
-28 std::numpunct<_CharT>::do_truename [with _CharT = char]
-32 std::numpunct<_CharT>::do_falsename [with _CharT = char]
-
-Class std::numpunct_byname<char>
- size=12 align=4
- base size=12 base align=4
-std::numpunct_byname<char> (0xb5c13a80) 0
- vptr=((& std::numpunct_byname<char>::_ZTVSt15numpunct_bynameIcE) + 8u)
- std::numpunct<char> (0xb5c13ac0) 0
- primary-for std::numpunct_byname<char> (0xb5c13a80)
- std::locale::facet (0xb5c183fc) 0
- primary-for std::numpunct<char> (0xb5c13ac0)
-
-Vtable for std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >
-std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >::_ZTVSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE: 15u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE)
-8 std::num_get<_CharT, _InIter>::~num_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-12 std::num_get<_CharT, _InIter>::~num_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-16 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-20 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-24 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-28 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-32 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-36 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-40 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-44 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-48 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-52 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-56 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-
-Class std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >
- size=8 align=4
- base size=8 base align=4
-std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > > (0xb5c13b00) 0
- vptr=((& std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >::_ZTVSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE) + 8u)
- std::locale::facet (0xb5c184ec) 0
- primary-for std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > > (0xb5c13b00)
-Vtable for std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >
-std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::_ZTVSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE: 12u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE)
-8 std::num_put<_CharT, _OutIter>::~num_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-12 std::num_put<_CharT, _OutIter>::~num_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-16 std::num_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-20 std::num_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-24 std::num_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-28 std::num_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-32 std::num_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-36 std::num_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-40 std::num_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-44 std::num_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-
-Class std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >
- size=8 align=4
- base size=8 base align=4
-std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > > (0xb5c13b80) 0
- vptr=((& std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::_ZTVSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE) + 8u)
- std::locale::facet (0xb5c185dc) 0
- primary-for std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > > (0xb5c13b80)
-Vtable for std::numpunct_byname<wchar_t>
-std::numpunct_byname<wchar_t>::_ZTVSt15numpunct_bynameIwE: 9u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt15numpunct_bynameIwE)
-8 std::numpunct_byname<_CharT>::~numpunct_byname [with _CharT = wchar_t]
-12 std::numpunct_byname<_CharT>::~numpunct_byname [with _CharT = wchar_t]
-16 std::numpunct<_CharT>::do_decimal_point [with _CharT = wchar_t]
-20 std::numpunct<_CharT>::do_thousands_sep [with _CharT = wchar_t]
-24 std::numpunct<_CharT>::do_grouping [with _CharT = wchar_t]
-28 std::numpunct<_CharT>::do_truename [with _CharT = wchar_t]
-32 std::numpunct<_CharT>::do_falsename [with _CharT = wchar_t]
-
-Class std::numpunct_byname<wchar_t>
- size=12 align=4
- base size=12 base align=4
-std::numpunct_byname<wchar_t> (0xb5c13c00) 0
- vptr=((& std::numpunct_byname<wchar_t>::_ZTVSt15numpunct_bynameIwE) + 8u)
- std::numpunct<wchar_t> (0xb5c13c40) 0
- primary-for std::numpunct_byname<wchar_t> (0xb5c13c00)
- std::locale::facet (0xb5c186cc) 0
- primary-for std::numpunct<wchar_t> (0xb5c13c40)
-
-Vtable for std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >
-std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::_ZTVSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE: 15u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE)
-8 std::num_get<_CharT, _InIter>::~num_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-12 std::num_get<_CharT, _InIter>::~num_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-16 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-20 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-24 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-28 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-32 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-36 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-40 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-44 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-48 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-52 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-56 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-
-Class std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >
- size=8 align=4
- base size=8 base align=4
-std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > > (0xb5c13cc0) 0
- vptr=((& std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::_ZTVSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE) + 8u)
- std::locale::facet (0xb5c187bc) 0
- primary-for std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > > (0xb5c13cc0)
-Vtable for std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >
-std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::_ZTVSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE: 12u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE)
-8 std::num_put<_CharT, _OutIter>::~num_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-12 std::num_put<_CharT, _OutIter>::~num_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-16 std::num_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-20 std::num_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-24 std::num_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-28 std::num_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-32 std::num_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-36 std::num_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-40 std::num_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-44 std::num_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-
-Class std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >
- size=8 align=4
- base size=8 base align=4
-std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > > (0xb5c13d40) 0
- vptr=((& std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::_ZTVSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE) + 8u)
- std::locale::facet (0xb5c188ac) 0
- primary-for std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > > (0xb5c13d40)
-Vtable for std::basic_ios<char, std::char_traits<char> >
-std::basic_ios<char, std::char_traits<char> >::_ZTVSt9basic_iosIcSt11char_traitsIcEE: 4u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt9basic_iosIcSt11char_traitsIcEE)
-8 std::basic_ios<_CharT, _Traits>::~basic_ios [with _CharT = char, _Traits = std::char_traits<char>]
-12 std::basic_ios<_CharT, _Traits>::~basic_ios [with _CharT = char, _Traits = std::char_traits<char>]
-
-Class std::basic_ios<char, std::char_traits<char> >
- size=136 align=4
- base size=136 base align=4
-std::basic_ios<char, std::char_traits<char> > (0xb5c68d80) 0
- vptr=((& std::basic_ios<char, std::char_traits<char> >::_ZTVSt9basic_iosIcSt11char_traitsIcEE) + 8u)
- std::ios_base (0xb5c18780) 0
- primary-for std::basic_ios<char, std::char_traits<char> > (0xb5c68d80)
-
-Vtable for std::basic_ios<wchar_t, std::char_traits<wchar_t> >
-std::basic_ios<wchar_t, std::char_traits<wchar_t> >::_ZTVSt9basic_iosIwSt11char_traitsIwEE: 4u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt9basic_iosIwSt11char_traitsIwEE)
-8 std::basic_ios<_CharT, _Traits>::~basic_ios [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-12 std::basic_ios<_CharT, _Traits>::~basic_ios [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-
-Class std::basic_ios<wchar_t, std::char_traits<wchar_t> >
- size=140 align=4
- base size=140 base align=4
-std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb5c68dc0) 0
- vptr=((& std::basic_ios<wchar_t, std::char_traits<wchar_t> >::_ZTVSt9basic_iosIwSt11char_traitsIwEE) + 8u)
- std::ios_base (0xb5a7d03c) 0
- primary-for std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb5c68dc0)
-
-Vtable for std::basic_ostream<char, std::char_traits<char> >
-std::basic_ostream<char, std::char_traits<char> >::_ZTVSo: 10u entries
-0 4u
-4 (int (*)(...))0
-8 (int (*)(...))(& _ZTISo)
-12 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = char, _Traits = std::char_traits<char>]
-16 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = char, _Traits = std::char_traits<char>]
-20 -4u
-24 (int (*)(...))-0x000000004
-28 (int (*)(...))(& _ZTISo)
-32 std::basic_ostream<char, std::char_traits<char> >::_ZTv0_n12_NSoD1Ev
-36 std::basic_ostream<char, std::char_traits<char> >::_ZTv0_n12_NSoD0Ev
+
+
+
+
+
+
+
+
+
+
+
+
+
+
VTT for std::basic_ostream<char, std::char_traits<char> >
std::basic_ostream<char, std::char_traits<char> >::_ZTTSo: 2u entries
0 ((& std::basic_ostream<char, std::char_traits<char> >::_ZTVSo) + 12u)
4 ((& std::basic_ostream<char, std::char_traits<char> >::_ZTVSo) + 32u)
-Class std::basic_ostream<char, std::char_traits<char> >
- size=140 align=4
- base size=4 base align=4
-std::basic_ostream<char, std::char_traits<char> > (0xb5ab0a40) 0 nearly-empty
- vptridx=0u vptr=((& std::basic_ostream<char, std::char_traits<char> >::_ZTVSo) + 12u)
- std::basic_ios<char, std::char_traits<char> > (0xb5ab0a80) 4 virtual
- vptridx=4u vbaseoffset=-0x00000000c vptr=((& std::basic_ostream<char, std::char_traits<char> >::_ZTVSo) + 32u)
- std::ios_base (0xb5a7dd20) 4
- primary-for std::basic_ios<char, std::char_traits<char> > (0xb5ab0a80)
-
-Class std::basic_ostream<char, std::char_traits<char> >::sentry
- size=8 align=4
- base size=8 base align=4
-std::basic_ostream<char, std::char_traits<char> >::sentry (0xb5a7df00) 0
-Vtable for std::basic_ostream<wchar_t, std::char_traits<wchar_t> >
-std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE: 10u entries
-0 4u
-4 (int (*)(...))0
-8 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE)
-12 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-16 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-20 -4u
-24 (int (*)(...))-0x000000004
-28 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE)
-32 std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n12_NSt13basic_ostreamIwSt11char_traitsIwEED1Ev
-36 std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n12_NSt13basic_ostreamIwSt11char_traitsIwEED0Ev
+
VTT for std::basic_ostream<wchar_t, std::char_traits<wchar_t> >
std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTTSt13basic_ostreamIwSt11char_traitsIwEE: 2u entries
0 ((& std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 12u)
4 ((& std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 32u)
-Class std::basic_ostream<wchar_t, std::char_traits<wchar_t> >
- size=144 align=4
- base size=4 base align=4
-std::basic_ostream<wchar_t, std::char_traits<wchar_t> > (0xb5ab0bc0) 0 nearly-empty
- vptridx=0u vptr=((& std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 12u)
- std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb5ab0c00) 4 virtual
- vptridx=4u vbaseoffset=-0x00000000c vptr=((& std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 32u)
- std::ios_base (0xb5a7df3c) 4
- primary-for std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb5ab0c00)
-
-Class std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::sentry
- size=8 align=4
- base size=8 base align=4
-std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::sentry (0xb5ad7000) 0
-Vtable for std::basic_istream<char, std::char_traits<char> >
-std::basic_istream<char, std::char_traits<char> >::_ZTVSi: 10u entries
-0 8u
-4 (int (*)(...))0
-8 (int (*)(...))(& _ZTISi)
-12 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = char, _Traits = std::char_traits<char>]
-16 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = char, _Traits = std::char_traits<char>]
-20 -8u
-24 (int (*)(...))-0x000000008
-28 (int (*)(...))(& _ZTISi)
-32 std::basic_istream<char, std::char_traits<char> >::_ZTv0_n12_NSiD1Ev
-36 std::basic_istream<char, std::char_traits<char> >::_ZTv0_n12_NSiD0Ev
+
VTT for std::basic_istream<char, std::char_traits<char> >
std::basic_istream<char, std::char_traits<char> >::_ZTTSi: 2u entries
0 ((& std::basic_istream<char, std::char_traits<char> >::_ZTVSi) + 12u)
4 ((& std::basic_istream<char, std::char_traits<char> >::_ZTVSi) + 32u)
-Class std::basic_istream<char, std::char_traits<char> >
- size=144 align=4
- base size=8 base align=4
-std::basic_istream<char, std::char_traits<char> > (0xb5af2480) 0
- vptridx=0u vptr=((& std::basic_istream<char, std::char_traits<char> >::_ZTVSi) + 12u)
- std::basic_ios<char, std::char_traits<char> > (0xb5af24c0) 8 virtual
- vptridx=4u vbaseoffset=-0x00000000c vptr=((& std::basic_istream<char, std::char_traits<char> >::_ZTVSi) + 32u)
- std::ios_base (0xb5ad7564) 8
- primary-for std::basic_ios<char, std::char_traits<char> > (0xb5af24c0)
-
-Vtable for std::basic_istream<wchar_t, std::char_traits<wchar_t> >
-std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_istreamIwSt11char_traitsIwEE: 10u entries
-0 8u
-4 (int (*)(...))0
-8 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE)
-12 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-16 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-20 -8u
-24 (int (*)(...))-0x000000008
-28 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE)
-32 std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n12_NSt13basic_istreamIwSt11char_traitsIwEED1Ev
-36 std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n12_NSt13basic_istreamIwSt11char_traitsIwEED0Ev
+
VTT for std::basic_istream<wchar_t, std::char_traits<wchar_t> >
std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTTSt13basic_istreamIwSt11char_traitsIwEE: 2u entries
0 ((& std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 12u)
4 ((& std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 32u)
-Class std::basic_istream<wchar_t, std::char_traits<wchar_t> >
- size=148 align=4
- base size=8 base align=4
-std::basic_istream<wchar_t, std::char_traits<wchar_t> > (0xb5af2580) 0
- vptridx=0u vptr=((& std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 12u)
- std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb5af25c0) 8 virtual
- vptridx=4u vbaseoffset=-0x00000000c vptr=((& std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 32u)
- std::ios_base (0xb5ad78e8) 8
- primary-for std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb5af25c0)
-
-Class __gnu_cxx::__conditional_type<true, __gnu_cxx::__numeric_traits_integer<short int>, __gnu_cxx::__numeric_traits_floating<short int> >
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__conditional_type<true, __gnu_cxx::__numeric_traits_integer<short int>, __gnu_cxx::__numeric_traits_floating<short int> > (0xb5ad7654) 0 empty
-Class __gnu_cxx::__numeric_traits_integer<short int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__numeric_traits_integer<short int> (0xb5ad799c) 0 empty
-Class __gnu_cxx::__numeric_traits<short int>
- size=1 align=1
- base size=1 base align=1
-__gnu_cxx::__numeric_traits<short int> (0xb5b1e480) 0 empty
- __gnu_cxx::__numeric_traits_integer<short int> (0xb5ad7fb4) 0 empty
-Class std::basic_istream<char, std::char_traits<char> >::sentry
- size=1 align=1
- base size=1 base align=1
-std::basic_istream<char, std::char_traits<char> >::sentry (0xb5b235a0) 0
-Vtable for std::basic_iostream<char, std::char_traits<char> >
-std::basic_iostream<char, std::char_traits<char> >::_ZTVSd: 15u entries
-0 12u
-4 (int (*)(...))0
-8 (int (*)(...))(& _ZTISd)
-12 std::basic_iostream<_CharT, _Traits>::~basic_iostream [with _CharT = char, _Traits = std::char_traits<char>]
-16 std::basic_iostream<_CharT, _Traits>::~basic_iostream [with _CharT = char, _Traits = std::char_traits<char>]
-20 4u
-24 (int (*)(...))-0x000000008
-28 (int (*)(...))(& _ZTISd)
-32 std::basic_iostream<char, std::char_traits<char> >::_ZThn8_NSdD1Ev
-36 std::basic_iostream<char, std::char_traits<char> >::_ZThn8_NSdD0Ev
-40 -12u
-44 (int (*)(...))-0x00000000c
-48 (int (*)(...))(& _ZTISd)
-52 std::basic_iostream<char, std::char_traits<char> >::_ZTv0_n12_NSdD1Ev
-56 std::basic_iostream<char, std::char_traits<char> >::_ZTv0_n12_NSdD0Ev
+
Construction vtable for std::basic_istream<char, std::char_traits<char> > (0xb5b5a380 instance) in std::basic_iostream<char, std::char_traits<char> >
std::basic_iostream<char, std::char_traits<char> >::_ZTCSd0_Si: 10u entries
@@ -2486,44 +1210,8 @@ std::basic_iostream<char, std::char_traits<char> >::_ZTTSd: 7u entries
20 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 52u)
24 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 32u)
-Class std::basic_iostream<char, std::char_traits<char> >
- size=148 align=4
- base size=12 base align=4
-std::basic_iostream<char, std::char_traits<char> > (0xb5b62be0) 0
- vptridx=0u vptr=((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 12u)
- std::basic_istream<char, std::char_traits<char> > (0xb5b5a380) 0
- primary-for std::basic_iostream<char, std::char_traits<char> > (0xb5b62be0)
- subvttidx=4u
- std::basic_ios<char, std::char_traits<char> > (0xb5b5a3c0) 12 virtual
- vptridx=20u vbaseoffset=-0x00000000c vptr=((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 52u)
- std::ios_base (0xb5b235dc) 12
- primary-for std::basic_ios<char, std::char_traits<char> > (0xb5b5a3c0)
- std::basic_ostream<char, std::char_traits<char> > (0xb5b5a400) 8 nearly-empty
- subvttidx=12u vptridx=24u vptr=((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 32u)
- std::basic_ios<char, std::char_traits<char> > (0xb5b5a3c0) alternative-path
-
-Class std::basic_istream<wchar_t, std::char_traits<wchar_t> >::sentry
- size=1 align=1
- base size=1 base align=1
-std::basic_istream<wchar_t, std::char_traits<wchar_t> >::sentry (0xb5b23870) 0
-Vtable for std::basic_iostream<wchar_t, std::char_traits<wchar_t> >
-std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE: 15u entries
-0 12u
-4 (int (*)(...))0
-8 (int (*)(...))(& _ZTISt14basic_iostreamIwSt11char_traitsIwEE)
-12 std::basic_iostream<_CharT, _Traits>::~basic_iostream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-16 std::basic_iostream<_CharT, _Traits>::~basic_iostream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-20 4u
-24 (int (*)(...))-0x000000008
-28 (int (*)(...))(& _ZTISt14basic_iostreamIwSt11char_traitsIwEE)
-32 std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZThn8_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev
-36 std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZThn8_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev
-40 -12u
-44 (int (*)(...))-0x00000000c
-48 (int (*)(...))(& _ZTISt14basic_iostreamIwSt11char_traitsIwEE)
-52 std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n12_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev
-56 std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n12_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev
+
Construction vtable for std::basic_istream<wchar_t, std::char_traits<wchar_t> > (0xb5b5a700 instance) in std::basic_iostream<wchar_t, std::char_traits<wchar_t> >
std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E: 10u entries
@@ -2561,110 +1249,21 @@ std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTTSt14basic_iostream
20 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 52u)
24 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 32u)
-Class std::basic_iostream<wchar_t, std::char_traits<wchar_t> >
- size=152 align=4
- base size=12 base align=4
-std::basic_iostream<wchar_t, std::char_traits<wchar_t> > (0xb5b70c80) 0
- vptridx=0u vptr=((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 12u)
- std::basic_istream<wchar_t, std::char_traits<wchar_t> > (0xb5b5a700) 0
- primary-for std::basic_iostream<wchar_t, std::char_traits<wchar_t> > (0xb5b70c80)
- subvttidx=4u
- std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb5b5a740) 12 virtual
- vptridx=20u vbaseoffset=-0x00000000c vptr=((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 52u)
- std::ios_base (0xb5b238ac) 12
- primary-for std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb5b5a740)
- std::basic_ostream<wchar_t, std::char_traits<wchar_t> > (0xb5b5a780) 8 nearly-empty
- subvttidx=12u vptridx=24u vptr=((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 32u)
- std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb5b5a740) alternative-path
-
-Class QVector<double>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<double>::<anonymous union> (0xb598503c) 0
-Class QVector<double>
- size=4 align=4
- base size=4 base align=4
-QVector<double> (0xb5b23960) 0
-Class QtConcurrent::Median<double>
- size=24 align=4
- base size=22 base align=4
-QtConcurrent::Median<double> (0xb5b23690) 0
+
Class QtConcurrent::BlockSizeManager
size=72 align=4
base size=72 base align=4
QtConcurrent::BlockSizeManager (0xb5b23000) 0
-Class QtConcurrent::ResultReporter<void>
- size=1 align=1
- base size=0 base align=1
-QtConcurrent::ResultReporter<void> (0xb59853fc) 0 empty
-Class QFlags<QtConcurrent::ReduceOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QtConcurrent::ReduceOption> (0xb5985c6c) 0
-Class QtConcurrent::SelectSpecialization<void>
- size=1 align=1
- base size=0 base align=1
-QtConcurrent::SelectSpecialization<void> (0xb58a10f0) 0 empty
-Vtable for QtConcurrent::RunFunctionTaskBase<void>
-QtConcurrent::RunFunctionTaskBase<void>::_ZTVN12QtConcurrent19RunFunctionTaskBaseIvEE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTIN12QtConcurrent19RunFunctionTaskBaseIvEE)
-8 QtConcurrent::RunFunctionTaskBase<void>::~RunFunctionTaskBase
-12 QtConcurrent::RunFunctionTaskBase<void>::~RunFunctionTaskBase
-16 QtConcurrent::RunFunctionTaskBase<T>::run [with T = void]
-20 __cxa_pure_virtual
-24 (int (*)(...))-0x000000008
-28 (int (*)(...))(& _ZTIN12QtConcurrent19RunFunctionTaskBaseIvEE)
-32 QtConcurrent::RunFunctionTaskBase<void>::_ZThn8_N12QtConcurrent19RunFunctionTaskBaseIvE3runEv
-36 QtConcurrent::RunFunctionTaskBase<void>::_ZThn8_N12QtConcurrent19RunFunctionTaskBaseIvED1Ev
-40 QtConcurrent::RunFunctionTaskBase<void>::_ZThn8_N12QtConcurrent19RunFunctionTaskBaseIvED0Ev
-Class QtConcurrent::RunFunctionTaskBase<void>
- size=16 align=4
- base size=16 base align=4
-QtConcurrent::RunFunctionTaskBase<void> (0xb58a5410) 0
- vptr=((& QtConcurrent::RunFunctionTaskBase<void>::_ZTVN12QtConcurrent19RunFunctionTaskBaseIvEE) + 8u)
- QFutureInterface<void> (0xb5894a00) 0
- primary-for QtConcurrent::RunFunctionTaskBase<void> (0xb58a5410)
- QFutureInterfaceBase (0xb58a12d0) 0
- primary-for QFutureInterface<void> (0xb5894a00)
- QRunnable (0xb58a130c) 8
- vptr=((& QtConcurrent::RunFunctionTaskBase<void>::_ZTVN12QtConcurrent19RunFunctionTaskBaseIvEE) + 32u)
-
-Vtable for QtConcurrent::RunFunctionTask<void>
-QtConcurrent::RunFunctionTask<void>::_ZTVN12QtConcurrent15RunFunctionTaskIvEE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTIN12QtConcurrent15RunFunctionTaskIvEE)
-8 QtConcurrent::RunFunctionTask<void>::~RunFunctionTask
-12 QtConcurrent::RunFunctionTask<void>::~RunFunctionTask
-16 QtConcurrent::RunFunctionTask<void>::run
-20 __cxa_pure_virtual
-24 (int (*)(...))-0x000000008
-28 (int (*)(...))(& _ZTIN12QtConcurrent15RunFunctionTaskIvEE)
-32 QtConcurrent::RunFunctionTask<void>::_ZThn8_N12QtConcurrent15RunFunctionTaskIvE3runEv
-36 QtConcurrent::RunFunctionTask<void>::_ZThn8_N12QtConcurrent15RunFunctionTaskIvED1Ev
-40 QtConcurrent::RunFunctionTask<void>::_ZThn8_N12QtConcurrent15RunFunctionTaskIvED0Ev
-Class QtConcurrent::RunFunctionTask<void>
- size=16 align=4
- base size=16 base align=4
-QtConcurrent::RunFunctionTask<void> (0xb5894a80) 0
- vptr=((& QtConcurrent::RunFunctionTask<void>::_ZTVN12QtConcurrent15RunFunctionTaskIvEE) + 8u)
- QtConcurrent::RunFunctionTaskBase<void> (0xb58a5820) 0
- primary-for QtConcurrent::RunFunctionTask<void> (0xb5894a80)
- QFutureInterface<void> (0xb5894ac0) 0
- primary-for QtConcurrent::RunFunctionTaskBase<void> (0xb58a5820)
- QFutureInterfaceBase (0xb58a14b0) 0
- primary-for QFutureInterface<void> (0xb5894ac0)
- QRunnable (0xb58a14ec) 8
- vptr=((& QtConcurrent::RunFunctionTask<void>::_ZTVN12QtConcurrent15RunFunctionTaskIvEE) + 32u)
+
Class QLibraryInfo
size=1 align=1
@@ -2715,50 +1314,22 @@ QFile (0xb57f7e00) 0
QObject (0xb5805834) 0
primary-for QIODevice (0xb57f7e40)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0xb58341a4) 0
Class QFileInfo
size=4 align=4
base size=4 base align=4
QFileInfo (0xb5834d5c) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0xb58563fc) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0xb5856708) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0xb5866474) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0xb58663fc) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0xb5866564) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0xb5687ac8) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0xb5687bb8) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -2833,10 +1404,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0xb56b8e88) 0
vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0xb56c8f78) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -2926,10 +1493,6 @@ Class QDirIterator
QDirIterator (0xb56f712c) 0
vptr=((& QDirIterator::_ZTV12QDirIterator) + 8u)
-Class QFlags<QDirIterator::IteratorFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDirIterator::IteratorFlag> (0xb56f7924) 0
Vtable for QFileSystemWatcher
QFileSystemWatcher::_ZTV18QFileSystemWatcher: 14u entries
@@ -3067,25 +1630,13 @@ Class QLocale::Data
base size=4 base align=2
QLocale::Data (0xb575e8e8) 0
-Class QLocale::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QLocale::<anonymous union> (0xb575e960) 0
Class QLocale
size=4 align=4
base size=4 base align=4
QLocale (0xb573d6cc) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0xb5764168) 0 empty
-Class QFlags<QLocale::NumberOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLocale::NumberOption> (0xb57642d0) 0
Class QResource
size=4 align=4
@@ -3097,275 +1648,59 @@ Class QMetaType
base size=0 base align=1
QMetaType (0xb5572bb8) 0 empty
-Class QMetaTypeId2<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QString> (0xb5597000) 0 empty
-Class QMetaTypeId2<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<int> (0xb55971e0) 0 empty
-Class QMetaTypeId2<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned int> (0xb55973c0) 0 empty
-Class QMetaTypeId2<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<bool> (0xb55975a0) 0 empty
-Class QMetaTypeId2<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<double> (0xb5597780) 0 empty
-Class QMetaTypeId2<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QByteArray> (0xb5597960) 0 empty
-Class QMetaTypeId2<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QChar> (0xb5597b40) 0 empty
-Class QMetaTypeId2<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long int> (0xb5597d20) 0 empty
-Class QMetaTypeId2<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short int> (0xb5597f00) 0 empty
-Class QMetaTypeId2<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<char> (0xb55a10f0) 0 empty
-Class QMetaTypeId2<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long unsigned int> (0xb55a12d0) 0 empty
-Class QMetaTypeId2<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short unsigned int> (0xb55a14b0) 0 empty
-Class QMetaTypeId2<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned char> (0xb55a1690) 0 empty
-Class QMetaTypeId2<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<float> (0xb55a1870) 0 empty
-Class QMetaTypeId2<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QObject*> (0xb55a1a50) 0 empty
-Class QMetaTypeId2<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QWidget*> (0xb55a1c30) 0 empty
-Class QMetaTypeId2<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<void*> (0xb55a1e10) 0 empty
-Class QMetaTypeId2<long long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long int> (0xb55a6000) 0 empty
-Class QMetaTypeId2<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long unsigned int> (0xb55a61e0) 0 empty
-Class QMetaTypeId2<QStringList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QStringList> (0xb55a63c0) 0 empty
-Class QMetaTypeId2<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitArray> (0xb55a65a0) 0 empty
-Class QMetaTypeId2<QDate>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDate> (0xb55a6780) 0 empty
-Class QMetaTypeId2<QTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTime> (0xb55a6960) 0 empty
-Class QMetaTypeId2<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDateTime> (0xb55a6b40) 0 empty
-Class QMetaTypeId2<QUrl>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QUrl> (0xb55a6d20) 0 empty
-Class QMetaTypeId2<QLocale>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLocale> (0xb55a6f00) 0 empty
-Class QMetaTypeId2<QRect>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRect> (0xb55ae0f0) 0 empty
-Class QMetaTypeId2<QRectF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRectF> (0xb55ae2d0) 0 empty
-Class QMetaTypeId2<QSize>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSize> (0xb55ae4b0) 0 empty
-Class QMetaTypeId2<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizeF> (0xb55ae690) 0 empty
-Class QMetaTypeId2<QLine>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLine> (0xb55ae870) 0 empty
-Class QMetaTypeId2<QLineF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLineF> (0xb55aea50) 0 empty
-Class QMetaTypeId2<QPoint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPoint> (0xb55aec30) 0 empty
-Class QMetaTypeId2<QPointF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPointF> (0xb55aee10) 0 empty
-Class QMetaTypeId2<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegExp> (0xb55b9000) 0 empty
-Class QMetaTypeId2<QColorGroup>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColorGroup> (0xb55b91e0) 0 empty
-Class QMetaTypeId2<QFont>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QFont> (0xb55b93c0) 0 empty
-Class QMetaTypeId2<QPixmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPixmap> (0xb55b95a0) 0 empty
-Class QMetaTypeId2<QBrush>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBrush> (0xb55b9780) 0 empty
-Class QMetaTypeId2<QColor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColor> (0xb55b9960) 0 empty
-Class QMetaTypeId2<QPalette>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPalette> (0xb55b9b40) 0 empty
-Class QMetaTypeId2<QIcon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QIcon> (0xb55b9d20) 0 empty
-Class QMetaTypeId2<QImage>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QImage> (0xb55b9f00) 0 empty
-Class QMetaTypeId2<QPolygon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPolygon> (0xb55bd0f0) 0 empty
-Class QMetaTypeId2<QRegion>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegion> (0xb55bd2d0) 0 empty
-Class QMetaTypeId2<QBitmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitmap> (0xb55bd4b0) 0 empty
-Class QMetaTypeId2<QCursor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QCursor> (0xb55bd690) 0 empty
-Class QMetaTypeId2<QSizePolicy>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizePolicy> (0xb55bd870) 0 empty
-Class QMetaTypeId2<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QKeySequence> (0xb55bda50) 0 empty
-Class QMetaTypeId2<QPen>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPen> (0xb55bdc30) 0 empty
-Class QMetaTypeId2<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextLength> (0xb55bde10) 0 empty
-Class QMetaTypeId2<QTextFormat>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextFormat> (0xb55c6000) 0 empty
-Class QMetaTypeId2<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMatrix> (0xb55c61e0) 0 empty
-Class QMetaTypeId2<QTransform>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTransform> (0xb55c63c0) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -3392,45 +1727,17 @@ Class QVariant
base size=12 base align=4
QVariant (0xb55c65a0) 0
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0xb560203c) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0xb55f6fb4) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0xb560212c) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0xb56020b4) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0xb56354b0) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0xb5635ac8) 0 empty
-Class QMetaTypeId2<QList<QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QList<QVariant> > (0xb5635ca8) 0 empty
-Class QMetaTypeId2<QMap<QString, QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMap<QString, QVariant> > (0xb5635e88) 0 empty
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -3508,15 +1815,7 @@ Class QUrl
base size=4 base align=4
QUrl (0xb5486f3c) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0xb5490e4c) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0xb54b98e8) 0 empty
Vtable for QEventLoop
QEventLoop::_ZTV10QEventLoop: 14u entries
@@ -3543,10 +1842,6 @@ QEventLoop (0xb548bac0) 0
QObject (0xb54c7744) 0
primary-for QEventLoop (0xb548bac0)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0xb54c7d5c) 0
Vtable for QAbstractEventDispatcher
QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 27u entries
@@ -3591,20 +1886,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0xb54e9870) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0xb55103c0) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0xb55104b0) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0xb5510bf4) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -3774,10 +2061,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0xb555ed5c) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0xb53674ec) 0 empty
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -3889,20 +2172,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0xb53d012c) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0xb53d05dc) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0xb53d06cc) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0xb53d0b04) 0 empty
Class QMetaProperty
size=20 align=4
@@ -3914,10 +2189,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0xb53d0f00) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0xb53e6258) 0 empty
Vtable for QMimeData
QMimeData::_ZTV9QMimeData: 17u entries
@@ -4129,10 +2400,6 @@ QLibrary (0xb54267c0) 0
QObject (0xb5441bb8) 0
primary-for QLibrary (0xb54267c0)
-Class QFlags<QLibrary::LoadHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLibrary::LoadHint> (0xb5450b04) 0
Vtable for QPluginLoader
QPluginLoader::_ZTV13QPluginLoader: 14u entries
@@ -4169,20 +2436,12 @@ Class QReadWriteLock
base size=4 base align=4
QReadWriteLock (0xb52870b4) 0
-Class QReadLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QReadLocker::<anonymous union> (0xb5287744) 0
Class QReadLocker
size=4 align=4
base size=4 base align=4
QReadLocker (0xb5287438) 0
-Class QWriteLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QWriteLocker::<anonymous union> (0xb5294c30) 0
Class QWriteLocker
size=4 align=4
@@ -4209,10 +2468,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0xb52dc21c) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0xb52dcf00) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -4229,70 +2484,42 @@ Class QDate
base size=4 base align=4
QDate (0xb52e8f00) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0xb531b8ac) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0xb531b99c) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0xb5322f78) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0xb532e000) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0xb5335708) 0 empty
Class QPoint
size=8 align=4
base size=8 base align=4
QPoint (0xb53358e8) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0xb534d744) 0 empty
Class QPointF
size=16 align=4
base size=16 base align=4
QPointF (0xb535b8e8) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0xb5149834) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0xb515c8ac) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0xb515cc6c) 0 empty
Class QLineF
size=32 align=4
base size=32 base align=4
QLineF (0xb517cdd4) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0xb518a7f8) 0 empty
Class QLinkedListData
size=20 align=4
@@ -4304,40 +2531,24 @@ Class QSize
base size=8 base align=4
QSize (0xb5216744) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0xb5228834) 0 empty
Class QSizeF
size=16 align=4
base size=16 base align=4
QSizeF (0xb50453c0) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0xb504e438) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0xb506d21c) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0xb50890f0) 0 empty
Class QRectF
size=32 align=4
base size=32 base align=4
QRectF (0xb50c3ce4) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0xb50e71e0) 0 empty
Class QSharedData
size=4 align=4
@@ -4385,20 +2596,8 @@ Class QXmlStreamAttribute
base size=53 base align=4
QXmlStreamAttribute (0xb4f859d8) 0
-Class QTypeInfo<QXmlStreamAttribute>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QXmlStreamAttribute> (0xb4f8ef78) 0 empty
-Class QVector<QXmlStreamAttribute>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QXmlStreamAttribute>::<anonymous union> (0xb4f9d0b4) 0
-Class QVector<QXmlStreamAttribute>
- size=4 align=4
- base size=4 base align=4
-QVector<QXmlStreamAttribute> (0xb4f9d03c) 0
Class QXmlStreamAttributes
size=4 align=4
@@ -4411,30 +2610,18 @@ Class QXmlStreamNamespaceDeclaration
base size=28 base align=4
QXmlStreamNamespaceDeclaration (0xb4f9d12c) 0
-Class QTypeInfo<QXmlStreamNamespaceDeclaration>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QXmlStreamNamespaceDeclaration> (0xb4f9db40) 0 empty
Class QXmlStreamNotationDeclaration
size=40 align=4
base size=40 base align=4
QXmlStreamNotationDeclaration (0xb4f9dc6c) 0
-Class QTypeInfo<QXmlStreamNotationDeclaration>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QXmlStreamNotationDeclaration> (0xb4fbe834) 0 empty
Class QXmlStreamEntityDeclaration
size=64 align=4
base size=64 base align=4
QXmlStreamEntityDeclaration (0xb4fbe960) 0
-Class QTypeInfo<QXmlStreamEntityDeclaration>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QXmlStreamEntityDeclaration> (0xb4fd08e8) 0 empty
Vtable for QXmlStreamEntityResolver
QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver: 6u entries
@@ -4461,10 +2648,6 @@ Class QXmlStreamWriter
base size=4 base align=4
QXmlStreamWriter (0xb50021a4) 0
-Class QFlags<QSql::ParamTypeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QSql::ParamTypeFlag> (0xb5002780) 0
Class QSqlRecord
size=4 align=4
@@ -4602,15 +2785,7 @@ Class QSqlField
base size=16 base align=4
QSqlField (0xb4e5fd20) 0
-Class QList<bool>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<bool>::<anonymous union> (0xb4e68d20) 0
-Class QList<bool>
- size=4 align=4
- base size=4 base align=4
-QList<bool> (0xb4e68ca8) 0
Class QSqlIndex
size=16 align=4
@@ -4868,33 +3043,9 @@ QSqlRelationalTableModel (0xb4ea27c0) 0
QObject (0xb4ec7708) 0
primary-for QAbstractItemModel (0xb4ea28c0)
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0xb4f205dc) 0
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0xb4f34b7c) 0
-Class QTypeInfo<QtConcurrent::ResultItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QtConcurrent::ResultItem> (0xb4de9294) 0 empty
-Class QMap<int, QtConcurrent::ResultItem>::Node
- size=20 align=4
- base size=20 base align=4
-QMap<int, QtConcurrent::ResultItem>::Node (0xb4de930c) 0
-Class QMap<int, QtConcurrent::ResultItem>::PayloadNode
- size=16 align=4
- base size=16 base align=4
-QMap<int, QtConcurrent::ResultItem>::PayloadNode (0xb4e0b12c) 0
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0xb4e0b258) 0
diff --git a/tests/auto/bic/data/QtSvg.4.1.0.linux-gcc-ia32.txt b/tests/auto/bic/data/QtSvg.4.1.0.linux-gcc-ia32.txt
index 63cd665..9b5c58b 100644
--- a/tests/auto/bic/data/QtSvg.4.1.0.linux-gcc-ia32.txt
+++ b/tests/auto/bic/data/QtSvg.4.1.0.linux-gcc-ia32.txt
@@ -18,145 +18,37 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0xb7f5ef00) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0xb7f5efc0) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0xb7879000) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0xb7879040) 0 empty
-Class QTypeInfo<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned char> (0xb7879080) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0xb78790c0) 0 empty
-Class QTypeInfo<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short unsigned int> (0xb7879100) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0xb7879140) 0 empty
-Class QTypeInfo<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned int> (0xb7879180) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0xb78791c0) 0 empty
-Class QTypeInfo<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long unsigned int> (0xb7879200) 0 empty
-Class QTypeInfo<long long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long int> (0xb7879240) 0 empty
-Class QTypeInfo<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long unsigned int> (0xb7879280) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0xb78792c0) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0xb7879300) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0xb7879340) 0 empty
Class QFlag
size=4 align=4
base size=4 base align=4
QFlag (0xb7879380) 0
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0xb7879480) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0xb78794c0) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0xb7879500) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0xb7879540) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0xb7879580) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0xb78795c0) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0xb7879600) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0xb7879640) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0xb7879680) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0xb78796c0) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0xb7879700) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0xb7879740) 0
Class QInternal
size=1 align=1
@@ -174,10 +66,6 @@ Class QGenericReturnArgument
QGenericReturnArgument (0xb7879840) 0
QGenericArgument (0xb7879880) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0xb7879a40) 0
Class QMetaObject
size=16 align=4
@@ -194,10 +82,6 @@ Class QChar
base size=2 base align=2
QChar (0xb7879b00) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0xb7879b80) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -230,10 +114,6 @@ Class QByteRef
base size=8 base align=4
QByteRef (0xb7879e80) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0xb7879ec0) 0 empty
Class QString::Null
size=1 align=1
@@ -250,10 +130,6 @@ Class QString
base size=4 base align=4
QString (0xb7879f00) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0xb6a6b040) 0
Class QLatin1String
size=4 align=4
@@ -271,10 +147,6 @@ Class QConstString
QConstString (0xb6a6b140) 0
QString (0xb6a6b180) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0xb6a6b1c0) 0 empty
Vtable for std::exception
std::exception::_ZTVSt9exception: 5u entries
@@ -337,15 +209,7 @@ Class QListData
base size=4 base align=4
QListData (0xb6a6b4c0) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0xb6a6b840) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0xb6a6b7c0) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -437,10 +301,6 @@ QIODevice (0xb6a6b9c0) 0
QObject (0xb6a6ba00) 0
primary-for QIODevice (0xb6a6b9c0)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0xb6a6bac0) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -470,10 +330,6 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0xb6a6bc40) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0xb6a6bc80) 0 empty
Class QMapData::Node
size=8 align=4
@@ -485,10 +341,6 @@ Class QMapData
base size=72 base align=4
QMapData (0xb6714180) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0xb6714700) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -513,15 +365,7 @@ Class QTextCodec
QTextCodec (0xb6714640) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0xb6714840) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0xb67147c0) 0
Class QTextEncoder
size=32 align=4
@@ -533,30 +377,10 @@ Class QTextDecoder
base size=32 base align=4
QTextDecoder (0xb67148c0) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6714900) 0
-Class <anonymous struct>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct>::<anonymous union> (0xb6714980) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6714940) 0
-Class <anonymous struct>
- size=12 align=4
- base size=12 base align=4
-<anonymous struct> (0xb67149c0) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb6714a00) 0
Class __gconv_trans_data
size=20 align=4
@@ -578,15 +402,7 @@ Class __gconv_info
base size=8 base align=4
__gconv_info (0xb6714b00) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0xb6714b80) 0
-Class <anonymous union>
- size=44 align=4
- base size=44 base align=4
-<anonymous union> (0xb6714b40) 0
Class _IO_marker
size=12 align=4
@@ -598,10 +414,6 @@ Class _IO_FILE
base size=148 base align=4
_IO_FILE (0xb6714c00) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb6714c40) 0
Vtable for QTextStream
QTextStream::_ZTV11QTextStream: 4u entries
@@ -616,10 +428,6 @@ Class QTextStream
QTextStream (0xb6714c80) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0xb6714d40) 0
Class QTextStreamManipulator
size=24 align=4
@@ -656,40 +464,16 @@ QTextOStream (0xb6714f00) 0
QTextStream (0xb6714f40) 0
primary-for QTextOStream (0xb6714f00)
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0xb6714040) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0xb6714480) 0
Class wait
size=4 align=4
base size=4 base align=4
wait (0xb6714fc0) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb67146c0) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6714740) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb6714d00) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb6714ec0) 0
Class timespec
size=8 align=4
@@ -701,80 +485,24 @@ Class timeval
base size=8 base align=4
timeval (0xb64be000) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb64be040) 0
-Class <anonymous union>
- size=36 align=4
- base size=36 base align=4
-<anonymous union> (0xb64be080) 0
Class __pthread_internal_slist
size=4 align=4
base size=4 base align=4
__pthread_internal_slist (0xb64be0c0) 0
-Class <anonymous union>::__pthread_mutex_s::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union>::__pthread_mutex_s::<anonymous union> (0xb64be180) 0
-Class <anonymous union>::__pthread_mutex_s
- size=24 align=4
- base size=24 base align=4
-<anonymous union>::__pthread_mutex_s (0xb64be140) 0
-Class <anonymous union>
- size=24 align=4
- base size=24 base align=4
-<anonymous union> (0xb64be100) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb64be1c0) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0xb64be240) 0
-Class <anonymous union>
- size=48 align=4
- base size=48 base align=4
-<anonymous union> (0xb64be200) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb64be280) 0
-Class <anonymous union>::<anonymous struct>
- size=32 align=4
- base size=32 base align=4
-<anonymous union>::<anonymous struct> (0xb64be300) 0
-Class <anonymous union>
- size=32 align=4
- base size=32 base align=4
-<anonymous union> (0xb64be2c0) 0
-Class <anonymous union>
- size=8 align=4
- base size=8 base align=4
-<anonymous union> (0xb64be340) 0
-Class <anonymous union>
- size=20 align=4
- base size=20 base align=4
-<anonymous union> (0xb64be380) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb64be3c0) 0
Class random_data
size=28 align=4
@@ -845,10 +573,6 @@ QFile (0xb64be740) 0
QObject (0xb64be7c0) 0
primary-for QIODevice (0xb64be780)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0xb64be840) 0
Vtable for QTemporaryFile
QTemporaryFile::_ZTV14QTemporaryFile: 31u entries
@@ -901,50 +625,22 @@ Class QFileInfo
base size=4 base align=4
QFileInfo (0xb64be9c0) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0xb64bea00) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0xb64bea40) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0xb64beb00) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0xb64bea80) 0
Class QRegExp
size=4 align=4
base size=4 base align=4
QRegExp (0xb64beb40) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0xb64beb80) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0xb64bebc0) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0xb64bec80) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0xb64bec00) 0
Class QStringList
size=4 align=4
@@ -952,30 +648,14 @@ Class QStringList
QStringList (0xb64becc0) 0
QList<QString> (0xb64bed00) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0xb64bed80) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0xb64bedc0) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0xb64bee80) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0xb64bef00) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0xb64bef80) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -1032,10 +712,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0xb64befc0) 0
vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0xb6492080) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -1190,110 +866,30 @@ Class QUrl
base size=4 base align=4
QUrl (0xb6492440) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0xb64924c0) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0xb6492500) 0 empty
Class QMetaType
size=1 align=1
base size=0 base align=1
QMetaType (0xb6492540) 0 empty
-Class QMetaTypeId<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QString> (0xb64925c0) 0 empty
-Class QMetaTypeId<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<int> (0xb6492600) 0 empty
-Class QMetaTypeId<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<unsigned int> (0xb6492640) 0 empty
-Class QMetaTypeId<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<bool> (0xb6492680) 0 empty
-Class QMetaTypeId<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<double> (0xb64926c0) 0 empty
-Class QMetaTypeId<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QByteArray> (0xb6492700) 0 empty
-Class QMetaTypeId<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QChar> (0xb6492740) 0 empty
-Class QMetaTypeId<void>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<void> (0xb6492780) 0 empty
-Class QMetaTypeId<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<long int> (0xb64927c0) 0 empty
-Class QMetaTypeId<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<short int> (0xb6492800) 0 empty
-Class QMetaTypeId<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<char> (0xb6492840) 0 empty
-Class QMetaTypeId<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<long unsigned int> (0xb6492880) 0 empty
-Class QMetaTypeId<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<short unsigned int> (0xb64928c0) 0 empty
-Class QMetaTypeId<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<unsigned char> (0xb6492900) 0 empty
-Class QMetaTypeId<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<float> (0xb6492940) 0 empty
-Class QMetaTypeId<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QObject*> (0xb6492980) 0 empty
-Class QMetaTypeId<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QWidget*> (0xb64929c0) 0 empty
-Class QMetaTypeId<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<void*> (0xb6492a00) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -1320,35 +916,15 @@ Class QVariant
base size=12 base align=4
QVariant (0xb6492a40) 0
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0xb6492d40) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0xb6492cc0) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0xb6492e40) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0xb6492dc0) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0xb6492fc0) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0xb6492100) 0 empty
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1380,80 +956,48 @@ Class QPoint
base size=8 base align=4
QPoint (0xb6492bc0) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0xb6492c00) 0 empty
Class QPointF
size=16 align=4
base size=16 base align=4
QPointF (0xb6492c40) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0xb6492e80) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0xb6492f40) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0xb6225000) 0 empty
Class QLineF
size=32 align=4
base size=32 base align=4
QLineF (0xb6225040) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0xb6225080) 0 empty
Class QSize
size=8 align=4
base size=8 base align=4
QSize (0xb62250c0) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0xb62252c0) 0 empty
Class QSizeF
size=16 align=4
base size=16 base align=4
QSizeF (0xb6225340) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0xb6225540) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0xb6225600) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0xb6225700) 0 empty
Class QRectF
size=32 align=4
base size=32 base align=4
QRectF (0xb6225740) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0xb6225800) 0 empty
Class QLinkedListData
size=20 align=4
@@ -1470,10 +1014,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0xb6225bc0) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0xb6225c00) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -1490,40 +1030,24 @@ Class QLocale
base size=4 base align=4
QLocale (0xb6225dc0) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0xb6225e00) 0 empty
Class QDate
size=4 align=4
base size=4 base align=4
QDate (0xb6225f80) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0xb6225140) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0xb6225180) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0xb6225240) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0xb6225280) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0xb6225100) 0 empty
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -1683,10 +1207,6 @@ QEventLoop (0xb5ed3080) 0
QObject (0xb5ed30c0) 0
primary-for QEventLoop (0xb5ed3080)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0xb5ed31c0) 0
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -1778,20 +1298,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0xb5ed3600) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0xb5ed3640) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0xb5ed3680) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0xb5ed3700) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -2011,10 +1523,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0xb5ed3b80) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0xb5ed3bc0) 0 empty
Vtable for QSocketNotifier
QSocketNotifier::_ZTV15QSocketNotifier: 14u entries
@@ -2109,20 +1617,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0xb5ed3e40) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0xb5ed3e80) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0xb5ed3ec0) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0xb5ed3f00) 0 empty
Class QMetaProperty
size=20 align=4
@@ -2134,10 +1634,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0xb5ed3f80) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0xb5ed3fc0) 0 empty
Vtable for QPluginLoader
QPluginLoader::_ZTV13QPluginLoader: 14u entries
@@ -2260,25 +1756,9 @@ Class QWriteLocker
base size=4 base align=4
QWriteLocker (0xb5ed3d40) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0xb5e1a040) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0xb5e1a080) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0xb5e1a0c0) 0
-Class QColor::<anonymous union>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union> (0xb5e1a000) 0
Class QColor
size=16 align=4
@@ -2295,55 +1775,23 @@ Class QPen
base size=4 base align=4
QPen (0xb5e1a280) 0
-Class QTypeInfo<QPen>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPen> (0xb5e1a340) 0 empty
Class QBrush
size=4 align=4
base size=4 base align=4
QBrush (0xb5e1a380) 0
-Class QTypeInfo<QBrush>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBrush> (0xb5e1a3c0) 0 empty
Class QBrushData
size=24 align=4
base size=24 base align=4
QBrushData (0xb5e1a400) 0
-Class QVector<QPair<double, QColor> >::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPair<double, QColor> >::<anonymous union> (0xb5e1a540) 0
-Class QVector<QPair<double, QColor> >
- size=4 align=4
- base size=4 base align=4
-QVector<QPair<double, QColor> > (0xb5e1a4c0) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=32 align=4
- base size=32 base align=4
-QGradient::<anonymous union>::<anonymous struct> (0xb5e1a5c0) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=40 align=4
- base size=40 base align=4
-QGradient::<anonymous union>::<anonymous struct> (0xb5e1a600) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=24 align=4
- base size=24 base align=4
-QGradient::<anonymous union>::<anonymous struct> (0xb5e1a640) 0
-Class QGradient::<anonymous union>
- size=40 align=4
- base size=40 base align=4
-QGradient::<anonymous union> (0xb5e1a580) 0
Class QGradient
size=56 align=4
@@ -2373,25 +1821,13 @@ Class QTextLength
base size=12 base align=4
QTextLength (0xb5e1a800) 0
-Class QSharedDataPointer<QTextFormatPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextFormatPrivate> (0xb5e1a940) 0
Class QTextFormat
size=8 align=4
base size=8 base align=4
QTextFormat (0xb5e1a8c0) 0
-Class QVector<QTextLength>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength>::<anonymous union> (0xb5e1aac0) 0
-Class QVector<QTextLength>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength> (0xb5e1aa40) 0
Class QTextCharFormat
size=8 align=4
@@ -2531,10 +1967,6 @@ QTextFrame (0xb5e1a200) 0
QObject (0xb5e1a2c0) 0
primary-for QTextObject (0xb5e1a240)
-Class QTypeInfo<QTextFrame::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFrame::iterator> (0xb5e1a880) 0 empty
Vtable for QTextBlockUserData
QTextBlockUserData::_ZTV18QTextBlockUserData: 4u entries
@@ -2559,25 +1991,13 @@ Class QTextBlock
base size=8 base align=4
QTextBlock (0xb5e1a9c0) 0
-Class QTypeInfo<QTextBlock>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock> (0xb5d60000) 0 empty
-Class QTypeInfo<QTextBlock::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock::iterator> (0xb5d60040) 0 empty
Class QTextFragment
size=12 align=4
base size=12 base align=4
QTextFragment (0xb5d60080) 0
-Class QTypeInfo<QTextFragment>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFragment> (0xb5d600c0) 0 empty
Class QFontMetrics
size=4 align=4
@@ -2637,20 +2057,12 @@ QTextDocument (0xb5d60280) 0
QObject (0xb5d602c0) 0
primary-for QTextDocument (0xb5d60280)
-Class QFlags<QTextDocument::FindFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextDocument::FindFlag> (0xb5d60380) 0
Class QTextOption
size=24 align=4
base size=24 base align=4
QTextOption (0xb5d603c0) 0
-Class QFlags<QTextOption::Flag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextOption::Flag> (0xb5d60400) 0
Class QTextTableCell
size=8 align=4
@@ -2701,10 +2113,6 @@ Class QKeySequence
base size=4 base align=4
QKeySequence (0xb5d60780) 0
-Class QTypeInfo<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QKeySequence> (0xb5d60840) 0 empty
Vtable for QMimeSource
QMimeSource::_ZTV11QMimeSource: 7u entries
@@ -3002,15 +2410,7 @@ Class QInputMethodEvent::Attribute
base size=24 base align=4
QInputMethodEvent::Attribute (0xb5c72200) 0
-Class QList<QInputMethodEvent::Attribute>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute>::<anonymous union> (0xb5c72300) 0
-Class QList<QInputMethodEvent::Attribute>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute> (0xb5c72280) 0
Vtable for QInputMethodEvent
QInputMethodEvent::_ZTV17QInputMethodEvent: 4u entries
@@ -3309,15 +2709,7 @@ Class QTextLayout
base size=4 base align=4
QTextLayout (0xb5c72240) 0
-Class QVector<QTextLayout::FormatRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange>::<anonymous union> (0xb5c72800) 0
-Class QVector<QTextLayout::FormatRange>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange> (0xb5c725c0) 0
Class QTextLine
size=8 align=4
@@ -3366,10 +2758,6 @@ Class QTextDocumentFragment
base size=4 base align=4
QTextDocumentFragment (0xb5c72ec0) 0
-Class QSharedDataPointer<QTextCursorPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextCursorPrivate> (0xb5b19040) 0
Class QTextCursor
size=4 align=4
@@ -3392,15 +2780,7 @@ Class QAbstractTextDocumentLayout::Selection
base size=12 base align=4
QAbstractTextDocumentLayout::Selection (0xb5b19240) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union> (0xb5b19380) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection> (0xb5b19300) 0
Class QAbstractTextDocumentLayout::PaintContext
size=48 align=4
@@ -4253,10 +3633,6 @@ QFileDialog (0xb5b19c00) 0
QPaintDevice (0xb58dc040) 8
vptr=((& QFileDialog::_ZTV11QFileDialog) + 244u)
-Class QFlags<QFileDialog::Option>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileDialog::Option> (0xb58dc100) 0
Vtable for QAbstractPrintDialog
QAbstractPrintDialog::_ZTV20QAbstractPrintDialog: 67u entries
@@ -4342,10 +3718,6 @@ QAbstractPrintDialog (0xb58dc140) 0
QPaintDevice (0xb58dc240) 8
vptr=((& QAbstractPrintDialog::_ZTV20QAbstractPrintDialog) + 248u)
-Class QFlags<QAbstractPrintDialog::PrintDialogOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractPrintDialog::PrintDialogOption> (0xb58dc300) 0
Vtable for QPrintDialog
QPrintDialog::_ZTV12QPrintDialog: 67u entries
@@ -4781,10 +4153,6 @@ QImage (0xb58dcb00) 0
QPaintDevice (0xb58dcb40) 0
primary-for QImage (0xb58dcb00)
-Class QTypeInfo<QImage>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QImage> (0xb58dcc00) 0 empty
Vtable for QPixmap
QPixmap::_ZTV7QPixmap: 7u entries
@@ -4891,10 +4259,6 @@ QImageIOPlugin (0xb58dcf40) 0
QFactoryInterface (0xb58dc0c0) 8 nearly-empty
primary-for QImageIOHandlerFactoryInterface (0xb58dcfc0)
-Class QFlags<QImageIOPlugin::Capability>
- size=4 align=4
- base size=4 base align=4
-QFlags<QImageIOPlugin::Capability> (0xb58dc2c0) 0
Vtable for QPicture
QPicture::_ZTV8QPicture: 8u entries
@@ -5014,10 +4378,6 @@ Class QIcon
base size=4 base align=4
QIcon (0xb583b140) 0
-Class QTypeInfo<QIcon>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QIcon> (0xb583b1c0) 0 empty
Vtable for QIconEngine
QIconEngine::_ZTV11QIconEngine: 9u entries
@@ -5169,15 +4529,7 @@ Class QPrintEngine
QPrintEngine (0xb583b880) 0 nearly-empty
vptr=((& QPrintEngine::_ZTV12QPrintEngine) + 8u)
-Class QVector<QPoint>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint>::<anonymous union> (0xb583b980) 0
-Class QVector<QPoint>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint> (0xb583b900) 0
Class QPolygon
size=4 align=4
@@ -5185,15 +4537,7 @@ Class QPolygon
QPolygon (0xb583b9c0) 0
QVector<QPoint> (0xb583ba00) 0
-Class QVector<QPointF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF>::<anonymous union> (0xb583bac0) 0
-Class QVector<QPointF>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF> (0xb583ba40) 0
Class QPolygonF
size=4 align=4
@@ -5206,60 +4550,20 @@ Class QMatrix
base size=48 base align=4
QMatrix (0xb583bb80) 0
-Class QTypeInfo<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMatrix> (0xb583bbc0) 0 empty
Class QPainter
size=4 align=4
base size=4 base align=4
QPainter (0xb583bc00) 0
-Class QFlags<QPainter::RenderHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPainter::RenderHint> (0xb583bc80) 0
-Class QVector<QLineF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF>::<anonymous union> (0xb583bd80) 0
-Class QVector<QLineF>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF> (0xb583bd00) 0
-Class QVector<QLine>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine>::<anonymous union> (0xb583be80) 0
-Class QVector<QLine>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine> (0xb583be00) 0
-Class QVector<QRectF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF>::<anonymous union> (0xb583bf80) 0
-Class QVector<QRectF>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF> (0xb583bf00) 0
-Class QVector<QRect>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect>::<anonymous union> (0xb583b340) 0
-Class QVector<QRect>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect> (0xb583b100) 0
Vtable for QStyle
QStyle::_ZTV6QStyle: 35u entries
@@ -5307,15 +4611,7 @@ QStyle (0xb583b4c0) 0
QObject (0xb583b600) 0
primary-for QStyle (0xb583b4c0)
-Class QFlags<QStyle::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::StateFlag> (0xb583b8c0) 0
-Class QFlags<QStyle::SubControl>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::SubControl> (0xb583bc40) 0
Class QStylePainter
size=12 align=4
@@ -5333,25 +4629,13 @@ Class QPainterPath
base size=4 base align=4
QPainterPath (0xb56140c0) 0
-Class QVector<QPainterPath::Element>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element>::<anonymous union> (0xb5614340) 0
-Class QVector<QPainterPath::Element>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element> (0xb56142c0) 0
Class QPainterPathPrivate
size=8 align=4
base size=8 base align=4
QPainterPathPrivate (0xb56141c0) 0
-Class QTypeInfo<QPainterPath::Element>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPainterPath::Element> (0xb5614380) 0 empty
Class QPainterPathStroker
size=4 align=4
@@ -5363,15 +4647,7 @@ Class QTextItem
base size=0 base align=1
QTextItem (0xb5614440) 0 empty
-Class QTypeInfo<QTextItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextItem> (0xb5614480) 0 empty
-Class QFlags<QPaintEngine::PaintEngineFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::PaintEngineFeature> (0xb5614540) 0
Vtable for QPaintEngine
QPaintEngine::_ZTV12QPaintEngine: 24u entries
@@ -5406,30 +4682,18 @@ Class QPaintEngine
QPaintEngine (0xb56144c0) 0
vptr=((& QPaintEngine::_ZTV12QPaintEngine) + 8u)
-Class QFlags<QPaintEngine::DirtyFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::DirtyFlag> (0xb5614640) 0
Class QPaintEngineState
size=4 align=4
base size=4 base align=4
QPaintEngineState (0xb56145c0) 0
-Class QFlags<QTextItem::RenderFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextItem::RenderFlag> (0xb5614680) 0
Class QItemSelectionRange
size=8 align=4
base size=8 base align=4
QItemSelectionRange (0xb56146c0) 0
-Class QTypeInfo<QItemSelectionRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QItemSelectionRange> (0xb5614700) 0 empty
Vtable for QItemSelectionModel
QItemSelectionModel::_ZTV19QItemSelectionModel: 18u entries
@@ -5460,20 +4724,8 @@ QItemSelectionModel (0xb5614740) 0
QObject (0xb5614780) 0
primary-for QItemSelectionModel (0xb5614740)
-Class QFlags<QItemSelectionModel::SelectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QItemSelectionModel::SelectionFlag> (0xb5614800) 0
-Class QList<QItemSelectionRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::<anonymous union> (0xb56148c0) 0
-Class QList<QItemSelectionRange>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange> (0xb5614840) 0
Class QItemSelection
size=4 align=4
@@ -5481,10 +4733,6 @@ Class QItemSelection
QItemSelection (0xb5614900) 0
QList<QItemSelectionRange> (0xb5614940) 0
-Class QFlags<QTreeWidgetItemIterator::IteratorFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTreeWidgetItemIterator::IteratorFlag> (0xb5614a00) 0
Class QTreeWidgetItemIterator
size=12 align=4
@@ -5772,10 +5020,6 @@ QAbstractSpinBox (0xb5614f80) 0
QPaintDevice (0xb5614180) 8
vptr=((& QAbstractSpinBox::_ZTV16QAbstractSpinBox) + 252u)
-Class QFlags<QAbstractSpinBox::StepEnabledFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractSpinBox::StepEnabledFlag> (0xb5614500) 0
Vtable for QAbstractSlider
QAbstractSlider::_ZTV15QAbstractSlider: 64u entries
@@ -6194,10 +5438,6 @@ Class QStyleOptionFrame
QStyleOptionFrame (0xb5384540) 0
QStyleOption (0xb5384580) 0
-Class QFlags<QStyleOptionFrameV2::FrameFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionFrameV2::FrameFeature> (0xb5384700) 0
Class QStyleOptionFrameV2
size=56 align=4
@@ -6224,10 +5464,6 @@ Class QStyleOptionHeader
QStyleOptionHeader (0xb5384980) 0
QStyleOption (0xb53849c0) 0
-Class QFlags<QStyleOptionButton::ButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionButton::ButtonFeature> (0xb5384b40) 0
Class QStyleOptionButton
size=64 align=4
@@ -6235,10 +5471,6 @@ Class QStyleOptionButton
QStyleOptionButton (0xb5384a80) 0
QStyleOption (0xb5384ac0) 0
-Class QFlags<QStyleOptionTab::CornerWidget>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionTab::CornerWidget> (0xb5384cc0) 0
Class QStyleOptionTab
size=72 align=4
@@ -6253,10 +5485,6 @@ QStyleOptionTabV2 (0xb5384d40) 0
QStyleOptionTab (0xb5384d80) 0
QStyleOption (0xb5384dc0) 0
-Class QFlags<QStyleOptionToolBar::ToolBarFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionToolBar::ToolBarFeature> (0xb5384f40) 0
Class QStyleOptionToolBar
size=68 align=4
@@ -6283,10 +5511,6 @@ Class QStyleOptionMenuItem
QStyleOptionMenuItem (0xb53845c0) 0
QStyleOption (0xb53846c0) 0
-Class QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature> (0xb5384a40) 0
Class QStyleOptionQ3ListViewItem
size=64 align=4
@@ -6344,15 +5568,7 @@ QStyleOptionSpinBox (0xb52a63c0) 0
QStyleOptionComplex (0xb52a6400) 0
QStyleOption (0xb52a6440) 0
-Class QList<QStyleOptionQ3ListViewItem>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::<anonymous union> (0xb52a6640) 0
-Class QList<QStyleOptionQ3ListViewItem>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem> (0xb52a65c0) 0
Class QStyleOptionQ3ListView
size=84 align=4
@@ -6361,10 +5577,6 @@ QStyleOptionQ3ListView (0xb52a64c0) 0
QStyleOptionComplex (0xb52a6500) 0
QStyleOption (0xb52a6540) 0
-Class QFlags<QStyleOptionToolButton::ToolButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionToolButton::ToolButtonFeature> (0xb52a6800) 0
Class QStyleOptionToolButton
size=96 align=4
@@ -6559,10 +5771,6 @@ QAbstractItemView (0xb52a6d80) 0
QPaintDevice (0xb52a6ec0) 8
vptr=((& QAbstractItemView::_ZTV17QAbstractItemView) + 392u)
-Class QFlags<QAbstractItemView::EditTrigger>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractItemView::EditTrigger> (0xb52a6f80) 0
Vtable for QStringListModel
QStringListModel::_ZTV16QStringListModel: 42u entries
@@ -6745,15 +5953,7 @@ QListView (0xb52a6240) 0
QPaintDevice (0xb52a67c0) 8
vptr=((& QListView::_ZTV9QListView) + 392u)
-Class QVector<QWidgetItemData>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData>::<anonymous union> (0xb52a6d40) 0
-Class QVector<QWidgetItemData>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData> (0xb52a6a80) 0
Vtable for QListWidgetItem
QListWidgetItem::_ZTV15QListWidgetItem: 11u entries
@@ -7795,15 +6995,7 @@ Class QItemEditorCreatorBase
QItemEditorCreatorBase (0xb5194fc0) 0 nearly-empty
vptr=((& QItemEditorCreatorBase::_ZTV22QItemEditorCreatorBase) + 8u)
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union> (0xb509f200) 0
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*> (0xb509f180) 0
Vtable for QItemEditorFactory
QItemEditorFactory::_ZTV18QItemEditorFactory: 6u entries
@@ -7820,25 +7012,9 @@ Class QItemEditorFactory
QItemEditorFactory (0xb509f100) 0
vptr=((& QItemEditorFactory::_ZTV18QItemEditorFactory) + 8u)
-Class QVector<QVector<QWidgetItemData> >::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> >::<anonymous union> (0xb509f3c0) 0
-Class QVector<QVector<QWidgetItemData> >
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> > (0xb509f340) 0
-Class QList<QTreeWidgetItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::<anonymous union> (0xb509f4c0) 0
-Class QList<QTreeWidgetItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*> (0xb509f440) 0
Vtable for QTreeWidgetItem
QTreeWidgetItem::_ZTV15QTreeWidgetItem: 10u entries
@@ -8065,15 +7241,7 @@ Class QAccessible
base size=0 base align=1
QAccessible (0xb509fac0) 0 empty
-Class QFlags<QAccessible::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::StateFlag> (0xb509fb40) 0
-Class QFlags<QAccessible::RelationFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::RelationFlag> (0xb509fb80) 0
Vtable for QAccessibleInterface
QAccessibleInterface::_ZTV20QAccessibleInterface: 19u entries
@@ -8921,15 +8089,7 @@ QActionGroup (0xb4f83e00) 0
QObject (0xb4f83e40) 0
primary-for QActionGroup (0xb4f83e00)
-Class QList<QAction*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QAction*>::<anonymous union> (0xb4f83f80) 0
-Class QList<QAction*>
- size=4 align=4
- base size=4 base align=4
-QList<QAction*> (0xb4f83f00) 0
Vtable for QSound
QSound::_ZTV6QSound: 14u entries
@@ -9070,10 +8230,6 @@ QCommonStyle (0xb4f83640) 0
QObject (0xb4f83900) 0
primary-for QStyle (0xb4f83780)
-Class QPointer<QFocusFrame>
- size=4 align=4
- base size=4 base align=4
-QPointer<QFocusFrame> (0xb4f83dc0) 0
Vtable for QMotifStyle
QMotifStyle::_ZTV11QMotifStyle: 35u entries
@@ -10601,10 +9757,6 @@ QDateEdit (0xb4d959c0) 0
QPaintDevice (0xb4d95b00) 8
vptr=((& QDateEdit::_ZTV9QDateEdit) + 260u)
-Class QFlags<QDateTimeEdit::Section>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDateTimeEdit::Section> (0xb4d95b80) 0
Vtable for QLabel
QLabel::_ZTV6QLabel: 63u entries
@@ -10764,10 +9916,6 @@ QDockWidget (0xb4d95d40) 0
QPaintDevice (0xb4d95e00) 8
vptr=((& QDockWidget::_ZTV11QDockWidget) + 232u)
-Class QFlags<QDockWidget::DockWidgetFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDockWidget::DockWidgetFeature> (0xb4d95ec0) 0
Vtable for QGroupBox
QGroupBox::_ZTV9QGroupBox: 63u entries
@@ -12441,158 +11589,34 @@ QSvgWidget (0xb4a6e700) 0
QPaintDevice (0xb4a6e7c0) 8
vptr=((& QSvgWidget::_ZTV10QSvgWidget) + 232u)
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0xb4a6e880) 0
-Class QTypeInfo<QDebug::Stream*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDebug::Stream*> (0xb4a6e900) 0 empty
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0xb4a6e980) 0
-Class QVectorTypedData<QTextLength>
- size=28 align=4
- base size=28 base align=4
-QVectorTypedData<QTextLength> (0xb4a6ea00) 0
-Class QVectorTypedData<QTextLayout::FormatRange>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QTextLayout::FormatRange> (0xb4a6ea80) 0
-Class QVectorTypedData<QAbstractTextDocumentLayout::Selection>
- size=28 align=4
- base size=28 base align=4
-QVectorTypedData<QAbstractTextDocumentLayout::Selection> (0xb4a6eb00) 0
-Class QVectorTypedData<QPoint>
- size=24 align=4
- base size=24 base align=4
-QVectorTypedData<QPoint> (0xb4a6eb80) 0
-Class QVectorTypedData<QPointF>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QPointF> (0xb4a6ec00) 0
-Class QVectorTypedData<QLineF>
- size=48 align=4
- base size=48 base align=4
-QVectorTypedData<QLineF> (0xb4a6ec80) 0
-Class QVectorTypedData<QLine>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QLine> (0xb4a6ed00) 0
-Class QVectorTypedData<QRectF>
- size=48 align=4
- base size=48 base align=4
-QVectorTypedData<QRectF> (0xb4a6ed80) 0
-Class QVectorTypedData<QRect>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QRect> (0xb4a6ee00) 0
-Class QVectorTypedData<QPainterPath::Element>
- size=36 align=4
- base size=36 base align=4
-QVectorTypedData<QPainterPath::Element> (0xb4a6ee80) 0
-Class QList<QTreeWidgetItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::Node (0xb4a6ef00) 0
-Class QVectorTypedData<QVector<QWidgetItemData> >
- size=20 align=4
- base size=20 base align=4
-QVectorTypedData<QVector<QWidgetItemData> > (0xb4a6ef80) 0
-Class QList<QAction*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QAction*>::Node (0xb4a6e000) 0
-Class QTypeInfo<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLength> (0xb4a6e140) 0 empty
-Class QTypeInfo<QTextLayout::FormatRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLayout::FormatRange> (0xb4a6e440) 0 empty
-Class QTypeInfo<QAbstractTextDocumentLayout::Selection>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAbstractTextDocumentLayout::Selection> (0xb4939000) 0 empty
-Class QHashNode<QVariant::Type, QItemEditorCreatorBase*>
- size=16 align=4
- base size=16 base align=4
-QHashNode<QVariant::Type, QItemEditorCreatorBase*> (0xb4939140) 0
-Class QTypeInfo<QTreeWidgetItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTreeWidgetItem*> (0xb49391c0) 0 empty
-Class QTypeInfo<QAction*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAction*> (0xb4939240) 0 empty
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0xb49392c0) 0
-Class QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union> (0xb4939340) 0
-Class QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union> (0xb4939400) 0
-Class QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union> (0xb49394c0) 0
-Class QList<QItemSelectionRange>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::Node (0xb4939580) 0
-Class QTypeInfo<QStyleOptionQ3ListViewItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QStyleOptionQ3ListViewItem> (0xb4939640) 0 empty
-Class QList<QStyleOptionQ3ListViewItem>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::Node (0xb49396c0) 0
-Class QList<QVariant>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::Node (0xb49397c0) 0
-Class QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union> (0xb4939980) 0
diff --git a/tests/auto/bic/data/QtSvg.4.1.0.win32-gcc-ia32.txt b/tests/auto/bic/data/QtSvg.4.1.0.win32-gcc-ia32.txt
index c4dac94..087876a 100644
--- a/tests/auto/bic/data/QtSvg.4.1.0.win32-gcc-ia32.txt
+++ b/tests/auto/bic/data/QtSvg.4.1.0.win32-gcc-ia32.txt
@@ -18,80 +18,20 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0xad4e40) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0xaea680) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0xaea800) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0xaea980) 0 empty
-Class QTypeInfo<uchar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uchar> (0xaeab00) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0xaeac80) 0 empty
-Class QTypeInfo<ushort>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ushort> (0xaeae00) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0xaeaf80) 0 empty
-Class QTypeInfo<uint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uint> (0xb07100) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0xb07280) 0 empty
-Class QTypeInfo<ulong>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ulong> (0xb07400) 0 empty
-Class QTypeInfo<qint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<qint64> (0xb07580) 0 empty
-Class QTypeInfo<quint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<quint64> (0xb07700) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0xb07880) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0xb07a00) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0xb07b80) 0 empty
Class QFlag
size=4 align=4
@@ -108,10 +48,6 @@ Class QChar
base size=2 base align=2
QChar (0xb4d840) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0xb71cc0) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -139,70 +75,18 @@ Class QByteRef
base size=8 base align=4
QByteRef (0xc34f80) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0xd4bc40) 0 empty
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0xd78100) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0xd783c0) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0xd73c80) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0xd8d100) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0xd78a80) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0xd949c0) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0xdc8140) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0xdc8440) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0xd8d340) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0xdd8180) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0xdd8940) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0xdd8c80) 0
Class QInternal
size=1 align=1
@@ -229,10 +113,6 @@ Class QLatin1String
base size=4 base align=4
QLatin1String (0xeac500) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0xeac940) 0
Class QCharRef
size=8 align=4
@@ -245,10 +125,6 @@ Class QConstString
QConstString (0x11e1880) 0
QString (0x11e18c0) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0x11e1c00) 0 empty
Vtable for std::exception
std::exception::_ZTVSt9exception: 5u entries
@@ -311,10 +187,6 @@ Class QListData
base size=4 base align=4
QListData (0x1279f00) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0x137ce40) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -339,15 +211,7 @@ Class QTextCodec
QTextCodec (0xeac480) 0 nearly-empty
vptr=((&QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0x13c0140) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0xc3da40) 0
Class QTextEncoder
size=32 align=4
@@ -370,25 +234,13 @@ Class QGenericReturnArgument
QGenericReturnArgument (0x13fefc0) 0
QGenericArgument (0x1404000) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0x1417700) 0
Class QMetaObject
size=16 align=4
base size=16 base align=4
QMetaObject (0x1404580) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0x1432f80) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0x1432b80) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -480,10 +332,6 @@ QIODevice (0x137c700) 0
QObject (0x14bb540) 0
primary-for QIODevice (0x137c700)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0x14bb840) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -503,25 +351,13 @@ Class QRegExp
base size=4 base align=4
QRegExp (0xeac380) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0x15884c0) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0x1588840) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0x1588d80) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0x1588c40) 0
Class QStringList
size=4 align=4
@@ -529,15 +365,7 @@ Class QStringList
QStringList (0xeac400) 0
QList<QString> (0x15b6000) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0x1588ec0) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0x1588e80) 0
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -666,50 +494,22 @@ QFile (0x169c840) 0
QObject (0x169c8c0) 0
primary-for QIODevice (0x169c880)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0x16ab100) 0
Class QFileInfo
size=4 align=4
base size=4 base align=4
QFileInfo (0x16d25c0) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0x16d2f00) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0x1700e40) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0x172a300) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0x172a200) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0x16d2440) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0x1758040) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0x172ac00) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -766,10 +566,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0x169c740) 0
vptr=((&QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0x17d7340) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -843,10 +639,6 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0x182cc40) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0x182cd40) 0 empty
Class QMapData::Node
size=8 align=4
@@ -871,10 +663,6 @@ Class QTextStream
QTextStream (0x1a79240) 0
vptr=((&QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0x1a79600) 0
Class QTextStreamManipulator
size=24 align=4
@@ -911,20 +699,8 @@ QTextOStream (0x1b07440) 0
QTextStream (0x1b07480) 0
primary-for QTextOStream (0x1b07440)
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x1b34680) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x1b34800) 0
-Class <anonymous struct>
- size=16 align=8
- base size=16 base align=8
-<anonymous struct> (0x1b535c0) 0
Class QVectorData
size=16 align=4
@@ -1037,95 +813,23 @@ Class QMetaType
base size=0 base align=1
QMetaType (0x1cecbc0) 0 empty
-Class QMetaTypeId<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QString> (0x1d06d40) 0 empty
-Class QMetaTypeId<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<int> (0x1d06ec0) 0 empty
-Class QMetaTypeId<uint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<uint> (0x1d1e040) 0 empty
-Class QMetaTypeId<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<bool> (0x1d1e1c0) 0 empty
-Class QMetaTypeId<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<double> (0x1d1e340) 0 empty
-Class QMetaTypeId<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QByteArray> (0x1d1e4c0) 0 empty
-Class QMetaTypeId<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QChar> (0x1d1e640) 0 empty
-Class QMetaTypeId<void>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<void> (0x1d1e7c0) 0 empty
-Class QMetaTypeId<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<long int> (0x1d1e940) 0 empty
-Class QMetaTypeId<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<short int> (0x1d1eac0) 0 empty
-Class QMetaTypeId<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<char> (0x1d1ec40) 0 empty
-Class QMetaTypeId<ulong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<ulong> (0x1d1edc0) 0 empty
-Class QMetaTypeId<ushort>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<ushort> (0x1d1ef40) 0 empty
-Class QMetaTypeId<uchar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<uchar> (0x1d3b0c0) 0 empty
-Class QMetaTypeId<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<float> (0x1d3b240) 0 empty
-Class QMetaTypeId<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QObject*> (0x1d3b3c0) 0 empty
-Class QMetaTypeId<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QWidget*> (0x1d3b540) 0 empty
-Class QMetaTypeId<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<void*> (0x1d3b6c0) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -1152,35 +856,15 @@ Class QVariant
base size=16 base align=8
QVariant (0x14328c0) 0
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0x1dd7540) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0x1d4ddc0) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0x1dd7840) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0x1d4de40) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0x1d4d000) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0x1e3e280) 0 empty
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1258,15 +942,7 @@ Class QUrl
base size=4 base align=4
QUrl (0x1d3bf80) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0x1ed9440) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0x1f08f80) 0 empty
Vtable for QEventLoop
QEventLoop::_ZTV10QEventLoop: 14u entries
@@ -1293,10 +969,6 @@ QEventLoop (0x1f35600) 0
QObject (0x1f35640) 0
primary-for QEventLoop (0x1f35600)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0x1f35940) 0
Vtable for QAbstractEventDispatcher
QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 27u entries
@@ -1341,20 +1013,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0x1f6df40) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0x1fa0b40) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0x1f6dec0) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0x1fa0e80) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -1524,10 +1188,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0x2010d80) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0x204f3c0) 0 empty
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -1620,20 +1280,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0x13fe8c0) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0x20c0900) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0x13fe940) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0x20c0f00) 0 empty
Class QMetaProperty
size=20 align=4
@@ -1645,10 +1297,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0x13fea40) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0x20ee640) 0 empty
Vtable for QMimeData
QMimeData::_ZTV9QMimeData: 17u entries
@@ -1941,10 +1589,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0x223c640) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0x229b040) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -1956,70 +1600,42 @@ Class QDate
base size=4 base align=4
QDate (0x1d3b900) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0x22dc900) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0x1d3bb00) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0x22ff540) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0x16d24c0) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0x2328300) 0 empty
Class QPoint
size=8 align=4
base size=8 base align=4
QPoint (0x1d3bb80) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0x2328f40) 0 empty
Class QPointF
size=16 align=8
base size=16 base align=8
QPointF (0x1d3bc00) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0x2376180) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0x1d3b980) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0x2397600) 0 empty
Class QLineF
size=32 align=8
base size=32 base align=8
QLineF (0x1d3ba00) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0x23c1b00) 0 empty
Class QLinkedListData
size=20 align=4
@@ -2031,50 +1647,30 @@ Class QLocale
base size=4 base align=4
QLocale (0x1d3ba80) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0x2510300) 0 empty
Class QSize
size=8 align=4
base size=8 base align=4
QSize (0x1d3bc80) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0x253e480) 0 empty
Class QSizeF
size=16 align=8
base size=16 base align=8
QSizeF (0x1d3bd00) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0x25639c0) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0x1d3bd80) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0x25d2440) 0 empty
Class QRectF
size=32 align=8
base size=32 base align=8
QRectF (0x1d3be00) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0x2651680) 0 empty
Class QSharedData
size=4 align=4
@@ -2096,10 +1692,6 @@ Class QKeySequence
base size=4 base align=4
QKeySequence (0x1dc5c00) 0
-Class QTypeInfo<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QKeySequence> (0x2779c00) 0 empty
Vtable for QMimeSource
QMimeSource::_ZTV11QMimeSource: 7u entries
@@ -2416,15 +2008,7 @@ Class QInputMethodEvent::Attribute
base size=32 base align=8
QInputMethodEvent::Attribute (0x28a73c0) 0
-Class QList<QInputMethodEvent::Attribute>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute>::<anonymous union> (0x28a78c0) 0
-Class QList<QInputMethodEvent::Attribute>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute> (0x28a74c0) 0
Vtable for QInputMethodEvent
QInputMethodEvent::_ZTV17QInputMethodEvent: 4u entries
@@ -2713,15 +2297,7 @@ Class QAccessible
base size=0 base align=1
QAccessible (0x294be00) 0 empty
-Class QFlags<QAccessible::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::StateFlag> (0x2968e80) 0
-Class QFlags<QAccessible::RelationFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::RelationFlag> (0x29793c0) 0
Vtable for QAccessibleInterface
QAccessibleInterface::_ZTV20QAccessibleInterface: 19u entries
@@ -3007,25 +2583,9 @@ Class QPaintDevice
QPaintDevice (0x2721dc0) 0
vptr=((&QPaintDevice::_ZTV12QPaintDevice) + 8u)
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x2a7f540) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x2a7f680) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x2a7f780) 0
-Class QColor::<anonymous union>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union> (0x2a7f4c0) 0
Class QColor
size=16 align=4
@@ -3037,45 +2597,17 @@ Class QBrush
base size=4 base align=4
QBrush (0x1da6d80) 0
-Class QTypeInfo<QBrush>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBrush> (0x2ad7300) 0 empty
Class QBrushData
size=24 align=4
base size=24 base align=4
QBrushData (0x2aaab00) 0
-Class QVector<QGradientStop>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QGradientStop>::<anonymous union> (0x2aec000) 0
-Class QVector<QGradientStop>
- size=4 align=4
- base size=4 base align=4
-QVector<QGradientStop> (0x2ad78c0) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=32 align=8
- base size=32 base align=8
-QGradient::<anonymous union>::<anonymous struct> (0x2aec280) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=40 align=8
- base size=40 base align=8
-QGradient::<anonymous union>::<anonymous struct> (0x2aec380) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=24 align=8
- base size=24 base align=8
-QGradient::<anonymous union>::<anonymous struct> (0x2aec5c0) 0
-Class QGradient::<anonymous union>
- size=40 align=8
- base size=40 base align=8
-QGradient::<anonymous union> (0x2aec200) 0
Class QGradient
size=64 align=8
@@ -3487,10 +3019,6 @@ QAbstractPrintDialog (0x2e19680) 0
QPaintDevice (0x2e19780) 8
vptr=((&QAbstractPrintDialog::_ZTV20QAbstractPrintDialog) + 256u)
-Class QFlags<QAbstractPrintDialog::PrintDialogOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractPrintDialog::PrintDialogOption> (0x2e19a40) 0
Vtable for QColorDialog
QColorDialog::_ZTV12QColorDialog: 70u entries
@@ -3753,10 +3281,6 @@ QFileDialog (0x2e89b40) 0
QPaintDevice (0x2e89c40) 8
vptr=((&QFileDialog::_ZTV11QFileDialog) + 252u)
-Class QFlags<QFileDialog::Option>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileDialog::Option> (0x2eae600) 0
Vtable for QFontDialog
QFontDialog::_ZTV11QFontDialog: 70u entries
@@ -4485,10 +4009,6 @@ QImage (0x1dc5400) 0
QPaintDevice (0x3097900) 0
primary-for QImage (0x1dc5400)
-Class QTypeInfo<QImage>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QImage> (0x3134b00) 0 empty
Vtable for QPixmap
QPixmap::_ZTV7QPixmap: 9u entries
@@ -4537,10 +4057,6 @@ Class QIcon
base size=4 base align=4
QIcon (0x1dc5200) 0
-Class QTypeInfo<QIcon>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QIcon> (0x31e2bc0) 0 empty
Vtable for QIconEngine
QIconEngine::_ZTV11QIconEngine: 9u entries
@@ -4696,10 +4212,6 @@ QImageIOPlugin (0x321d600) 0
QFactoryInterface (0x321d6c0) 8 nearly-empty
primary-for QImageIOHandlerFactoryInterface (0x321d680)
-Class QFlags<QImageIOPlugin::Capability>
- size=4 align=4
- base size=4 base align=4
-QFlags<QImageIOPlugin::Capability> (0x321d880) 0
Class QImageReader
size=4 align=4
@@ -4877,15 +4389,7 @@ QActionGroup (0x32c7780) 0
QObject (0x330a600) 0
primary-for QActionGroup (0x32c7780)
-Class QList<QAction*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QAction*>::<anonymous union> (0x330afc0) 0
-Class QList<QAction*>
- size=4 align=4
- base size=4 base align=4
-QList<QAction*> (0x2ca3940) 0
Vtable for QInputContext
QInputContext::_ZTV13QInputContext: 25u entries
@@ -5194,10 +4698,6 @@ QAbstractSpinBox (0x3396ac0) 0
QPaintDevice (0x3396b80) 8
vptr=((&QAbstractSpinBox::_ZTV16QAbstractSpinBox) + 260u)
-Class QFlags<QAbstractSpinBox::StepEnabledFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractSpinBox::StepEnabledFlag> (0x3396f00) 0
Vtable for QAbstractSlider
QAbstractSlider::_ZTV15QAbstractSlider: 68u entries
@@ -5413,15 +4913,7 @@ QStyle (0x2c6f700) 0
QObject (0x345e700) 0
primary-for QStyle (0x2c6f700)
-Class QFlags<QStyle::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::StateFlag> (0x346d040) 0
-Class QFlags<QStyle::SubControl>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::SubControl> (0x3483100) 0
Vtable for QTabBar
QTabBar::_ZTV7QTabBar: 71u entries
@@ -5692,10 +5184,6 @@ Class QStyleOptionFrame
QStyleOptionFrame (0x35b0500) 0
QStyleOption (0x35b0540) 0
-Class QFlags<QStyleOptionFrameV2::FrameFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionFrameV2::FrameFeature> (0x35b0ac0) 0
Class QStyleOptionFrameV2
size=56 align=4
@@ -5722,10 +5210,6 @@ Class QStyleOptionHeader
QStyleOptionHeader (0x35d2ec0) 0
QStyleOption (0x35d2f00) 0
-Class QFlags<QStyleOptionButton::ButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionButton::ButtonFeature> (0x361aac0) 0
Class QStyleOptionButton
size=64 align=4
@@ -5733,10 +5217,6 @@ Class QStyleOptionButton
QStyleOptionButton (0x361a8c0) 0
QStyleOption (0x361a900) 0
-Class QFlags<QStyleOptionTab::CornerWidget>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionTab::CornerWidget> (0x3656480) 0
Class QStyleOptionTab
size=72 align=4
@@ -5751,10 +5231,6 @@ QStyleOptionTabV2 (0x3656bc0) 0
QStyleOptionTab (0x3656c00) 0
QStyleOption (0x3656c40) 0
-Class QFlags<QStyleOptionToolBar::ToolBarFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionToolBar::ToolBarFeature> (0x36ab440) 0
Class QStyleOptionToolBar
size=68 align=4
@@ -5781,10 +5257,6 @@ Class QStyleOptionMenuItem
QStyleOptionMenuItem (0x36f72c0) 0
QStyleOption (0x36f7300) 0
-Class QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature> (0x36f7e00) 0
Class QStyleOptionQ3ListViewItem
size=64 align=4
@@ -5842,15 +5314,7 @@ QStyleOptionSpinBox (0x378ca00) 0
QStyleOptionComplex (0x378ca40) 0
QStyleOption (0x378ca80) 0
-Class QList<QStyleOptionQ3ListViewItem>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::<anonymous union> (0x37ae200) 0
-Class QList<QStyleOptionQ3ListViewItem>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem> (0x37ae100) 0
Class QStyleOptionQ3ListView
size=84 align=4
@@ -5859,10 +5323,6 @@ QStyleOptionQ3ListView (0x378cf80) 0
QStyleOptionComplex (0x378cfc0) 0
QStyleOption (0x37ae000) 0
-Class QFlags<QStyleOptionToolButton::ToolButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionToolButton::ToolButtonFeature> (0x37aed40) 0
Class QStyleOptionToolButton
size=96 align=4
@@ -6026,10 +5486,6 @@ Class QItemSelectionRange
base size=8 base align=4
QItemSelectionRange (0x38a5d80) 0
-Class QTypeInfo<QItemSelectionRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QItemSelectionRange> (0x39080c0) 0 empty
Vtable for QItemSelectionModel
QItemSelectionModel::_ZTV19QItemSelectionModel: 18u entries
@@ -6060,20 +5516,8 @@ QItemSelectionModel (0x39084c0) 0
QObject (0x3908500) 0
primary-for QItemSelectionModel (0x39084c0)
-Class QFlags<QItemSelectionModel::SelectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QItemSelectionModel::SelectionFlag> (0x3908840) 0
-Class QList<QItemSelectionRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::<anonymous union> (0x39313c0) 0
-Class QList<QItemSelectionRange>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange> (0x39312c0) 0
Class QItemSelection
size=4 align=4
@@ -6207,10 +5651,6 @@ QAbstractItemView (0x3931a40) 0
QPaintDevice (0x3931b80) 8
vptr=((&QAbstractItemView::_ZTV17QAbstractItemView) + 400u)
-Class QFlags<QAbstractItemView::EditTrigger>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractItemView::EditTrigger> (0x398a5c0) 0
Vtable for QAbstractProxyModel
QAbstractProxyModel::_ZTV19QAbstractProxyModel: 47u entries
@@ -6526,15 +5966,7 @@ Class QItemEditorCreatorBase
QItemEditorCreatorBase (0x3a79a80) 0 nearly-empty
vptr=((&QItemEditorCreatorBase::_ZTV22QItemEditorCreatorBase) + 8u)
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union> (0x3a9c580) 0
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*> (0x3a9c380) 0
Vtable for QItemEditorFactory
QItemEditorFactory::_ZTV18QItemEditorFactory: 6u entries
@@ -6679,15 +6111,7 @@ QListView (0x3a9cd40) 0
QPaintDevice (0x3a9cec0) 8
vptr=((&QListView::_ZTV9QListView) + 400u)
-Class QVector<QWidgetItemData>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData>::<anonymous union> (0x3af5300) 0
-Class QVector<QWidgetItemData>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData> (0x3af5180) 0
Vtable for QListWidgetItem
QListWidgetItem::_ZTV15QListWidgetItem: 11u entries
@@ -7492,35 +6916,15 @@ QTreeView (0x3cc1500) 0
QPaintDevice (0x3cc1680) 8
vptr=((&QTreeView::_ZTV9QTreeView) + 408u)
-Class QFlags<QTreeWidgetItemIterator::IteratorFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTreeWidgetItemIterator::IteratorFlag> (0x3cfe680) 0
Class QTreeWidgetItemIterator
size=12 align=4
base size=12 base align=4
QTreeWidgetItemIterator (0x3cfe240) 0
-Class QVector<QVector<QWidgetItemData> >::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> >::<anonymous union> (0x3d4f440) 0
-Class QVector<QVector<QWidgetItemData> >
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> > (0x3d4f2c0) 0
-Class QList<QTreeWidgetItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::<anonymous union> (0x3d4f640) 0
-Class QList<QTreeWidgetItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*> (0x3d4f100) 0
Vtable for QTreeWidgetItem
QTreeWidgetItem::_ZTV15QTreeWidgetItem: 10u entries
@@ -8375,15 +7779,7 @@ Class QColormap
base size=4 base align=4
QColormap (0x2a673c0) 0
-Class QVector<QPoint>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint>::<anonymous union> (0x3ff2a00) 0
-Class QVector<QPoint>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint> (0x3ff2880) 0
Class QPolygon
size=4 align=4
@@ -8391,15 +7787,7 @@ Class QPolygon
QPolygon (0x1dc5500) 0
QVector<QPoint> (0x3ff2b80) 0
-Class QVector<QPointF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF>::<anonymous union> (0x4027e00) 0
-Class QVector<QPointF>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF> (0x4027cc0) 0
Class QPolygonF
size=4 align=4
@@ -8412,95 +7800,39 @@ Class QMatrix
base size=48 base align=8
QMatrix (0x2376140) 0
-Class QTypeInfo<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMatrix> (0x4083bc0) 0 empty
Class QTextOption
size=32 align=8
base size=28 base align=8
QTextOption (0x40a6a40) 0
-Class QFlags<QTextOption::Flag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextOption::Flag> (0x40a6e40) 0
Class QPen
size=4 align=4
base size=4 base align=4
QPen (0x1dc5d00) 0
-Class QTypeInfo<QPen>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPen> (0x410d440) 0 empty
Class QPainter
size=4 align=4
base size=4 base align=4
QPainter (0x2721ec0) 0
-Class QFlags<QPainter::RenderHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPainter::RenderHint> (0x410d980) 0
-Class QVector<QLineF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF>::<anonymous union> (0x41da340) 0
-Class QVector<QLineF>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF> (0x412a580) 0
-Class QVector<QLine>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine>::<anonymous union> (0x41da6c0) 0
-Class QVector<QLine>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine> (0x412a640) 0
-Class QVector<QRectF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF>::<anonymous union> (0x421d380) 0
-Class QVector<QRectF>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF> (0x412a780) 0
-Class QVector<QRect>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect>::<anonymous union> (0x421d700) 0
-Class QVector<QRect>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect> (0x274e3c0) 0
Class QTextItem
size=1 align=1
base size=0 base align=1
QTextItem (0x410d7c0) 0 empty
-Class QTypeInfo<QTextItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextItem> (0x42bb9c0) 0 empty
-Class QFlags<QPaintEngine::PaintEngineFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::PaintEngineFeature> (0x42bbf40) 0
Vtable for QPaintEngine
QPaintEngine::_ZTV12QPaintEngine: 26u entries
@@ -8537,20 +7869,12 @@ Class QPaintEngine
QPaintEngine (0x2a4a280) 0
vptr=((&QPaintEngine::_ZTV12QPaintEngine) + 8u)
-Class QFlags<QPaintEngine::DirtyFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::DirtyFlag> (0x42d0380) 0
Class QPaintEngineState
size=4 align=4
base size=4 base align=4
QPaintEngineState (0x42bb700) 0
-Class QFlags<QTextItem::RenderFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextItem::RenderFlag> (0x42bb8c0) 0
Class QPainterPath::Element
size=24 align=8
@@ -8562,25 +7886,13 @@ Class QPainterPath
base size=4 base align=4
QPainterPath (0x2bb4100) 0
-Class QVector<QPainterPath::Element>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element>::<anonymous union> (0x43ab9c0) 0
-Class QVector<QPainterPath::Element>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element> (0x43ab840) 0
Class QPainterPathPrivate
size=8 align=4
base size=8 base align=4
QPainterPathPrivate (0x4359340) 0
-Class QTypeInfo<QPainterPath::Element>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPainterPath::Element> (0x43abb80) 0 empty
Class QPainterPathStroker
size=4 align=4
@@ -8682,10 +7994,6 @@ QCommonStyle (0x4472e40) 0
QObject (0x4472ec0) 0
primary-for QStyle (0x4472e80)
-Class QPointer<QFocusFrame>
- size=4 align=4
- base size=4 base align=4
-QPointer<QFocusFrame> (0x44a1600) 0
Vtable for QMotifStyle
QMotifStyle::_ZTV11QMotifStyle: 35u entries
@@ -9007,25 +8315,13 @@ Class QTextLength
base size=16 base align=8
QTextLength (0x1d3bf00) 0
-Class QSharedDataPointer<QTextFormatPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextFormatPrivate> (0x4598100) 0
Class QTextFormat
size=8 align=4
base size=8 base align=4
QTextFormat (0x1d3be80) 0
-Class QVector<QTextLength>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength>::<anonymous union> (0x4598a80) 0
-Class QVector<QTextLength>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength> (0x458cbc0) 0
Class QTextCharFormat
size=8 align=4
@@ -9080,15 +8376,7 @@ Class QTextLayout
base size=4 base align=4
QTextLayout (0x2ba1e00) 0
-Class QVector<QTextLayout::FormatRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange>::<anonymous union> (0x46f00c0) 0
-Class QVector<QTextLayout::FormatRange>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange> (0x46d7d00) 0
Class QTextLine
size=8 align=4
@@ -9138,15 +8426,7 @@ QTextDocument (0x453dec0) 0
QObject (0x471b900) 0
primary-for QTextDocument (0x453dec0)
-Class QFlags<QTextDocument::FindFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextDocument::FindFlag> (0x471bdc0) 0
-Class QSharedDataPointer<QTextCursorPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextCursorPrivate> (0x4785dc0) 0
Class QTextCursor
size=4 align=4
@@ -9158,15 +8438,7 @@ Class QAbstractTextDocumentLayout::Selection
base size=12 base align=4
QAbstractTextDocumentLayout::Selection (0x47992c0) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union> (0x4799580) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection> (0x4799400) 0
Class QAbstractTextDocumentLayout::PaintContext
size=56 align=8
@@ -9328,10 +8600,6 @@ QTextFrame (0x471b100) 0
QObject (0x4814340) 0
primary-for QTextObject (0x4814300)
-Class QTypeInfo<QTextFrame::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFrame::iterator> (0x483c7c0) 0 empty
Vtable for QTextBlockUserData
QTextBlockUserData::_ZTV18QTextBlockUserData: 4u entries
@@ -9356,25 +8624,13 @@ Class QTextBlock
base size=8 base align=4
QTextBlock (0x46d7540) 0
-Class QTypeInfo<QTextBlock>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock> (0x489e040) 0 empty
-Class QTypeInfo<QTextBlock::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock::iterator> (0x489e1c0) 0 empty
Class QTextFragment
size=12 align=4
base size=12 base align=4
QTextFragment (0x47e9600) 0
-Class QTypeInfo<QTextFragment>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFragment> (0x489ec40) 0 empty
Vtable for QSyntaxHighlighter
QSyntaxHighlighter::_ZTV18QSyntaxHighlighter: 15u entries
@@ -10031,10 +9287,6 @@ QDateEdit (0x4a54080) 0
QPaintDevice (0x4a541c0) 8
vptr=((&QDateEdit::_ZTV9QDateEdit) + 268u)
-Class QFlags<QDateTimeEdit::Section>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDateTimeEdit::Section> (0x4a12580) 0
Vtable for QDial
QDial::_ZTV5QDial: 68u entries
@@ -10203,10 +9455,6 @@ QDockWidget (0x4ac4200) 0
QPaintDevice (0x4ac42c0) 8
vptr=((&QDockWidget::_ZTV11QDockWidget) + 240u)
-Class QFlags<QDockWidget::DockWidgetFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDockWidget::DockWidgetFeature> (0x4ac4780) 0
Vtable for QFocusFrame
QFocusFrame::_ZTV11QFocusFrame: 67u entries
@@ -12559,158 +11807,34 @@ QSvgWidget (0x51d6980) 0
QPaintDevice (0x51d6a40) 8
vptr=((&QSvgWidget::_ZTV10QSvgWidget) + 240u)
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0x13c0100) 0
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0x1588d40) 0
-Class QTypeInfo<QDebug::Stream*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDebug::Stream*> (0x544d280) 0 empty
-Class QList<QTreeWidgetItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::Node (0x3d4f600) 0
-Class QVectorTypedData<QVector<QWidgetItemData> >
- size=20 align=4
- base size=20 base align=4
-QVectorTypedData<QVector<QWidgetItemData> > (0x3d4f3c0) 0
-Class QVectorTypedData<QPoint>
- size=24 align=4
- base size=24 base align=4
-QVectorTypedData<QPoint> (0x3ff2980) 0
-Class QVectorTypedData<QPointF>
- size=32 align=8
- base size=32 base align=8
-QVectorTypedData<QPointF> (0x4027d80) 0
-Class QVectorTypedData<QLineF>
- size=48 align=8
- base size=48 base align=8
-QVectorTypedData<QLineF> (0x41da2c0) 0
-Class QVectorTypedData<QLine>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QLine> (0x41da640) 0
-Class QVectorTypedData<QRectF>
- size=48 align=8
- base size=48 base align=8
-QVectorTypedData<QRectF> (0x421d300) 0
-Class QVectorTypedData<QRect>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QRect> (0x421d680) 0
-Class QVectorTypedData<QPainterPath::Element>
- size=40 align=8
- base size=40 base align=8
-QVectorTypedData<QPainterPath::Element> (0x43ab940) 0
-Class QVectorTypedData<QTextLength>
- size=32 align=8
- base size=32 base align=8
-QVectorTypedData<QTextLength> (0x4598a00) 0
-Class QVectorTypedData<QTextLayout::FormatRange>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QTextLayout::FormatRange> (0x46f0040) 0
-Class QVectorTypedData<QAbstractTextDocumentLayout::Selection>
- size=28 align=4
- base size=28 base align=4
-QVectorTypedData<QAbstractTextDocumentLayout::Selection> (0x4799500) 0
-Class QList<QAction*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QAction*>::Node (0x330af80) 0
-Class QHashNode<QVariant::Type, QItemEditorCreatorBase*>
- size=16 align=4
- base size=16 base align=4
-QHashNode<QVariant::Type, QItemEditorCreatorBase*> (0x3a9c500) 0
-Class QTypeInfo<QTreeWidgetItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTreeWidgetItem*> (0x58a19c0) 0 empty
-Class QTypeInfo<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLength> (0x58dd7c0) 0 empty
-Class QTypeInfo<QTextLayout::FormatRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLayout::FormatRange> (0x58dd980) 0 empty
-Class QTypeInfo<QAbstractTextDocumentLayout::Selection>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAbstractTextDocumentLayout::Selection> (0x58ddec0) 0 empty
-Class QTypeInfo<QAction*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAction*> (0x5906580) 0 empty
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0x172a2c0) 0
-Class QList<QVariant>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::Node (0x1dd7500) 0
-Class QTypeInfo<QStyleOptionQ3ListViewItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QStyleOptionQ3ListViewItem> (0x5906b80) 0 empty
-Class QList<QStyleOptionQ3ListViewItem>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::Node (0x37ae1c0) 0
-Class QList<QItemSelectionRange>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::Node (0x3931380) 0
-Class QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union> (0x5951300) 0
-Class QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union> (0x59515c0) 0
-Class QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union> (0x5951800) 0
-Class QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union> (0x59e70c0) 0
diff --git a/tests/auto/bic/data/QtSvg.4.2.0.linux-gcc-ia32.txt b/tests/auto/bic/data/QtSvg.4.2.0.linux-gcc-ia32.txt
index 6079e12..c229400 100644
--- a/tests/auto/bic/data/QtSvg.4.2.0.linux-gcc-ia32.txt
+++ b/tests/auto/bic/data/QtSvg.4.2.0.linux-gcc-ia32.txt
@@ -1,34 +1,8 @@
-Class QUintForSize<4>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<4> (0xb7f31d80) 0 empty
-Class QUintForSize<8>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<8> (0xb7f31dc0) 0 empty
-Class QUintForType<void*>
- size=1 align=1
- base size=1 base align=1
-QUintForType<void*> (0xb7f31e80) 0 empty
- QUintForSize<4> (0xb7f31ec0) 0 empty
-Class QIntForSize<4>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<4> (0xb7f31f40) 0 empty
-Class QIntForSize<8>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<8> (0xb7f31f80) 0 empty
-Class QIntForType<void*>
- size=1 align=1
- base size=1 base align=1
-QIntForType<void*> (0xb7845040) 0 empty
- QIntForSize<4> (0xb7845080) 0 empty
Class QSysInfo
size=1 align=1
@@ -50,150 +24,38 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0xb7845300) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0xb78453c0) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0xb7845400) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0xb7845440) 0 empty
-Class QTypeInfo<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned char> (0xb7845480) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0xb78454c0) 0 empty
-Class QTypeInfo<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short unsigned int> (0xb7845500) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0xb7845540) 0 empty
-Class QTypeInfo<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned int> (0xb7845580) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0xb78455c0) 0 empty
-Class QTypeInfo<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long unsigned int> (0xb7845600) 0 empty
-Class QTypeInfo<long long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long int> (0xb7845640) 0 empty
-Class QTypeInfo<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long unsigned int> (0xb7845680) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0xb78456c0) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0xb7845700) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0xb7845740) 0 empty
Class QFlag
size=4 align=4
base size=4 base align=4
QFlag (0xb7845780) 0
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0xb7845880) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0xb78458c0) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0xb7845900) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0xb7845940) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0xb7845980) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0xb78459c0) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0xb7845a00) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0xb7845a40) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0xb7845a80) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0xb7845ac0) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0xb7845b00) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0xb7845b40) 0
-Class QFlags<Qt::TextInteractionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::TextInteractionFlag> (0xb7845b80) 0
Class QInternal
size=1 align=1
@@ -211,10 +73,6 @@ Class QGenericReturnArgument
QGenericReturnArgument (0xb7845c40) 0
QGenericArgument (0xb7845c80) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0xb7845e40) 0
Class QMetaObject
size=16 align=4
@@ -231,10 +89,6 @@ Class QChar
base size=2 base align=2
QChar (0xb7845f00) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0xb7845f80) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -267,10 +121,6 @@ Class QByteRef
base size=8 base align=4
QByteRef (0xb6b6e280) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0xb6b6e2c0) 0 empty
Class QString::Null
size=1 align=1
@@ -287,10 +137,6 @@ Class QString
base size=4 base align=4
QString (0xb6b6e300) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0xb6b6e480) 0
Class QLatin1String
size=4 align=4
@@ -308,10 +154,6 @@ Class QConstString
QConstString (0xb6b6e580) 0
QString (0xb6b6e5c0) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0xb6b6e600) 0 empty
Vtable for std::exception
std::exception::_ZTVSt9exception: 5u entries
@@ -374,15 +216,7 @@ Class QListData
base size=4 base align=4
QListData (0xb6b6e900) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0xb6b6ec80) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0xb6b6ec00) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -474,10 +308,6 @@ QIODevice (0xb6b6ee00) 0
QObject (0xb6b6ee40) 0
primary-for QIODevice (0xb6b6ee00)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0xb6b6ef00) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -507,10 +337,6 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0xb6b6e7c0) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0xb6b6e880) 0 empty
Class QMapData::Node
size=8 align=4
@@ -522,10 +348,6 @@ Class QMapData
base size=72 base align=4
QMapData (0xb6714580) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0xb6714b00) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -550,15 +372,7 @@ Class QTextCodec
QTextCodec (0xb6714a40) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0xb6714c40) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0xb6714bc0) 0
Class QTextEncoder
size=32 align=4
@@ -570,30 +384,10 @@ Class QTextDecoder
base size=32 base align=4
QTextDecoder (0xb6714cc0) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6714d00) 0
-Class <anonymous struct>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct>::<anonymous union> (0xb6714d80) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6714d40) 0
-Class <anonymous struct>
- size=12 align=4
- base size=12 base align=4
-<anonymous struct> (0xb6714dc0) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb6714e00) 0
Class __gconv_trans_data
size=20 align=4
@@ -615,15 +409,7 @@ Class __gconv_info
base size=8 base align=4
__gconv_info (0xb6714f00) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0xb6714f80) 0
-Class <anonymous union>
- size=44 align=4
- base size=44 base align=4
-<anonymous union> (0xb6714f40) 0
Class _IO_marker
size=12 align=4
@@ -635,10 +421,6 @@ Class _IO_FILE
base size=148 base align=4
_IO_FILE (0xb6714440) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb6714880) 0
Vtable for QTextStream
QTextStream::_ZTV11QTextStream: 4u entries
@@ -653,10 +435,6 @@ Class QTextStream
QTextStream (0xb6714ac0) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0xb649d040) 0
Class QTextStreamManipulator
size=24 align=4
@@ -693,40 +471,16 @@ QTextOStream (0xb649d200) 0
QTextStream (0xb649d240) 0
primary-for QTextOStream (0xb649d200)
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0xb649d300) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0xb649d340) 0
Class wait
size=4 align=4
base size=4 base align=4
wait (0xb649d2c0) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb649d380) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb649d3c0) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb649d400) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb649d440) 0
Class timespec
size=8 align=4
@@ -738,80 +492,24 @@ Class timeval
base size=8 base align=4
timeval (0xb649d4c0) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb649d500) 0
-Class <anonymous union>
- size=36 align=4
- base size=36 base align=4
-<anonymous union> (0xb649d540) 0
Class __pthread_internal_slist
size=4 align=4
base size=4 base align=4
__pthread_internal_slist (0xb649d580) 0
-Class <anonymous union>::__pthread_mutex_s::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union>::__pthread_mutex_s::<anonymous union> (0xb649d640) 0
-Class <anonymous union>::__pthread_mutex_s
- size=24 align=4
- base size=24 base align=4
-<anonymous union>::__pthread_mutex_s (0xb649d600) 0
-Class <anonymous union>
- size=24 align=4
- base size=24 base align=4
-<anonymous union> (0xb649d5c0) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb649d680) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0xb649d700) 0
-Class <anonymous union>
- size=48 align=4
- base size=48 base align=4
-<anonymous union> (0xb649d6c0) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb649d740) 0
-Class <anonymous union>::<anonymous struct>
- size=32 align=4
- base size=32 base align=4
-<anonymous union>::<anonymous struct> (0xb649d7c0) 0
-Class <anonymous union>
- size=32 align=4
- base size=32 base align=4
-<anonymous union> (0xb649d780) 0
-Class <anonymous union>
- size=8 align=4
- base size=8 base align=4
-<anonymous union> (0xb649d800) 0
-Class <anonymous union>
- size=20 align=4
- base size=20 base align=4
-<anonymous union> (0xb649d840) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb649d880) 0
Class random_data
size=28 align=4
@@ -882,10 +580,6 @@ QFile (0xb649dd40) 0
QObject (0xb649ddc0) 0
primary-for QIODevice (0xb649dd80)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0xb649de40) 0
Vtable for QTemporaryFile
QTemporaryFile::_ZTV14QTemporaryFile: 31u entries
@@ -938,50 +632,22 @@ Class QFileInfo
base size=4 base align=4
QFileInfo (0xb649dfc0) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0xb649d000) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0xb649d1c0) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0xb649de00) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0xb649d280) 0
Class QRegExp
size=4 align=4
base size=4 base align=4
QRegExp (0xb649df80) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0xb647e000) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0xb647e040) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0xb647e100) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0xb647e080) 0
Class QStringList
size=4 align=4
@@ -989,30 +655,14 @@ Class QStringList
QStringList (0xb647e140) 0
QList<QString> (0xb647e180) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0xb647e200) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0xb647e240) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0xb647e300) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0xb647e380) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0xb647e400) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -1069,10 +719,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0xb647e440) 0
vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0xb647e5c0) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -1184,15 +830,7 @@ Class QLocale
base size=4 base align=4
QLocale (0xb647e880) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0xb647e8c0) 0 empty
-Class QFlags<QLocale::NumberOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLocale::NumberOption> (0xb647e900) 0
Vtable for QSystemLocale
QSystemLocale::_ZTV13QSystemLocale: 6u entries
@@ -1287,285 +925,65 @@ Class QUrl
base size=4 base align=4
QUrl (0xb647ec00) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0xb647ec80) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0xb647ecc0) 0 empty
Class QMetaType
size=1 align=1
base size=0 base align=1
QMetaType (0xb647ed00) 0 empty
-Class QMetaTypeId2<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QString> (0xb647edc0) 0 empty
-Class QMetaTypeId2<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<int> (0xb647ee00) 0 empty
-Class QMetaTypeId2<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned int> (0xb647ee40) 0 empty
-Class QMetaTypeId2<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<bool> (0xb647ee80) 0 empty
-Class QMetaTypeId2<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<double> (0xb647eec0) 0 empty
-Class QMetaTypeId2<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QByteArray> (0xb647ef00) 0 empty
-Class QMetaTypeId2<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QChar> (0xb647ef40) 0 empty
-Class QMetaTypeId2<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long int> (0xb647ef80) 0 empty
-Class QMetaTypeId2<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short int> (0xb647efc0) 0 empty
-Class QMetaTypeId2<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<char> (0xb647e540) 0 empty
-Class QMetaTypeId2<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long unsigned int> (0xb647e640) 0 empty
-Class QMetaTypeId2<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short unsigned int> (0xb647e700) 0 empty
-Class QMetaTypeId2<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned char> (0xb647e840) 0 empty
-Class QMetaTypeId2<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<float> (0xb647e980) 0 empty
-Class QMetaTypeId2<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QObject*> (0xb647eb00) 0 empty
-Class QMetaTypeId2<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QWidget*> (0xb647ebc0) 0 empty
-Class QMetaTypeId2<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<void*> (0xb61f0000) 0 empty
-Class QMetaTypeId2<long long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long int> (0xb61f0040) 0 empty
-Class QMetaTypeId2<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long unsigned int> (0xb61f0080) 0 empty
-Class QMetaTypeId2<QStringList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QStringList> (0xb61f00c0) 0 empty
-Class QMetaTypeId2<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitArray> (0xb61f0100) 0 empty
-Class QMetaTypeId2<QDate>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDate> (0xb61f0140) 0 empty
-Class QMetaTypeId2<QTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTime> (0xb61f0180) 0 empty
-Class QMetaTypeId2<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDateTime> (0xb61f01c0) 0 empty
-Class QMetaTypeId2<QUrl>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QUrl> (0xb61f0200) 0 empty
-Class QMetaTypeId2<QLocale>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLocale> (0xb61f0240) 0 empty
-Class QMetaTypeId2<QRect>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRect> (0xb61f0280) 0 empty
-Class QMetaTypeId2<QRectF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRectF> (0xb61f02c0) 0 empty
-Class QMetaTypeId2<QSize>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSize> (0xb61f0300) 0 empty
-Class QMetaTypeId2<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizeF> (0xb61f0340) 0 empty
-Class QMetaTypeId2<QLine>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLine> (0xb61f0380) 0 empty
-Class QMetaTypeId2<QLineF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLineF> (0xb61f03c0) 0 empty
-Class QMetaTypeId2<QPoint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPoint> (0xb61f0400) 0 empty
-Class QMetaTypeId2<QPointF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPointF> (0xb61f0440) 0 empty
-Class QMetaTypeId2<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegExp> (0xb61f0480) 0 empty
-Class QMetaTypeId2<QColorGroup>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColorGroup> (0xb61f04c0) 0 empty
-Class QMetaTypeId2<QFont>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QFont> (0xb61f0500) 0 empty
-Class QMetaTypeId2<QPixmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPixmap> (0xb61f0540) 0 empty
-Class QMetaTypeId2<QBrush>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBrush> (0xb61f0580) 0 empty
-Class QMetaTypeId2<QColor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColor> (0xb61f05c0) 0 empty
-Class QMetaTypeId2<QPalette>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPalette> (0xb61f0600) 0 empty
-Class QMetaTypeId2<QIcon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QIcon> (0xb61f0640) 0 empty
-Class QMetaTypeId2<QImage>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QImage> (0xb61f0680) 0 empty
-Class QMetaTypeId2<QPolygon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPolygon> (0xb61f06c0) 0 empty
-Class QMetaTypeId2<QRegion>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegion> (0xb61f0700) 0 empty
-Class QMetaTypeId2<QBitmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitmap> (0xb61f0740) 0 empty
-Class QMetaTypeId2<QCursor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QCursor> (0xb61f0780) 0 empty
-Class QMetaTypeId2<QSizePolicy>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizePolicy> (0xb61f07c0) 0 empty
-Class QMetaTypeId2<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QKeySequence> (0xb61f0800) 0 empty
-Class QMetaTypeId2<QPen>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPen> (0xb61f0840) 0 empty
-Class QMetaTypeId2<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextLength> (0xb61f0880) 0 empty
-Class QMetaTypeId2<QTextFormat>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextFormat> (0xb61f08c0) 0 empty
-Class QMetaTypeId2<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMatrix> (0xb61f0900) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -1592,45 +1010,17 @@ Class QVariant
base size=12 base align=4
QVariant (0xb61f0940) 0
-Class QMetaTypeId2<QList<QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QList<QVariant> > (0xb61f0b80) 0 empty
-Class QMetaTypeId2<QMap<QString, QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMap<QString, QVariant> > (0xb61f0bc0) 0 empty
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0xb61f0cc0) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0xb61f0c40) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0xb61f0dc0) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0xb61f0d40) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0xb61f0e80) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0xb61f0f00) 0 empty
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1662,80 +1052,48 @@ Class QPoint
base size=8 base align=4
QPoint (0xb61f0b40) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0xb61f0a80) 0 empty
Class QPointF
size=16 align=4
base size=16 base align=4
QPointF (0xb61f0e40) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0xb61f0fc0) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0xb6109000) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0xb6109040) 0 empty
Class QLineF
size=32 align=4
base size=32 base align=4
QLineF (0xb6109080) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0xb61090c0) 0 empty
Class QSize
size=8 align=4
base size=8 base align=4
QSize (0xb6109100) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0xb6109300) 0 empty
Class QSizeF
size=16 align=4
base size=16 base align=4
QSizeF (0xb6109380) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0xb6109580) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0xb6109640) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0xb6109740) 0 empty
Class QRectF
size=32 align=4
base size=32 base align=4
QRectF (0xb6109780) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0xb6109840) 0 empty
Class QLinkedListData
size=20 align=4
@@ -1752,10 +1110,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0xb6109c00) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0xb6109c40) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -1772,30 +1126,18 @@ Class QDate
base size=4 base align=4
QDate (0xb6109ec0) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0xb6109f80) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0xb6109fc0) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0xb61091c0) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0xb6109200) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0xb61092c0) 0 empty
Vtable for QTimeLine
QTimeLine::_ZTV9QTimeLine: 15u entries
@@ -1981,10 +1323,6 @@ QEventLoop (0xb5d7f040) 0
QObject (0xb5d7f080) 0
primary-for QEventLoop (0xb5d7f040)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0xb5d7f180) 0
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -2091,20 +1429,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0xb5d7f680) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0xb5d7f6c0) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0xb5d7f700) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0xb5d7f780) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -2324,10 +1654,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0xb5d7fc00) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0xb5d7fc40) 0 empty
Vtable for QSocketNotifier
QSocketNotifier::_ZTV15QSocketNotifier: 14u entries
@@ -2422,20 +1748,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0xb5d7fec0) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0xb5d7ff00) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0xb5d7ff40) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0xb5d7ff80) 0 empty
Class QMetaProperty
size=20 align=4
@@ -2447,10 +1765,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0xb5d7f000) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0xb5d7f100) 0 empty
Vtable for QPluginLoader
QPluginLoader::_ZTV13QPluginLoader: 14u entries
@@ -2507,10 +1821,6 @@ QLibrary (0xb5d7f440) 0
QObject (0xb5d7f500) 0
primary-for QLibrary (0xb5d7f440)
-Class QFlags<QLibrary::LoadHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLibrary::LoadHint> (0xb5d7f600) 0
Class QSemaphore
size=4 align=4
@@ -2558,10 +1868,6 @@ Class QMutex
base size=4 base align=4
QMutex (0xb5d7fbc0) 0
-Class QMutexLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMutexLocker::<anonymous union> (0xb5d7fdc0) 0
Class QMutexLocker
size=4 align=4
@@ -2573,45 +1879,21 @@ Class QReadWriteLock
base size=4 base align=4
QReadWriteLock (0xb5d7fe80) 0
-Class QReadLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QReadLocker::<anonymous union> (0xb5cf1040) 0
Class QReadLocker
size=4 align=4
base size=4 base align=4
QReadLocker (0xb5cf1000) 0
-Class QWriteLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QWriteLocker::<anonymous union> (0xb5cf10c0) 0
Class QWriteLocker
size=4 align=4
base size=4 base align=4
QWriteLocker (0xb5cf1080) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0xb5cf1180) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0xb5cf11c0) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0xb5cf1200) 0
-Class QColor::<anonymous union>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union> (0xb5cf1140) 0
Class QColor
size=16 align=4
@@ -2628,20 +1910,8 @@ Class QPen
base size=4 base align=4
QPen (0xb5cf13c0) 0
-Class QTypeInfo<QPen>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPen> (0xb5cf1480) 0 empty
-Class QVector<QPoint>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint>::<anonymous union> (0xb5cf1540) 0
-Class QVector<QPoint>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint> (0xb5cf14c0) 0
Class QPolygon
size=4 align=4
@@ -2649,15 +1919,7 @@ Class QPolygon
QPolygon (0xb5cf1580) 0
QVector<QPoint> (0xb5cf15c0) 0
-Class QVector<QPointF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF>::<anonymous union> (0xb5cf1680) 0
-Class QVector<QPointF>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF> (0xb5cf1600) 0
Class QPolygonF
size=4 align=4
@@ -2680,10 +1942,6 @@ Class QMatrix
base size=48 base align=4
QMatrix (0xb5cf1880) 0
-Class QTypeInfo<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMatrix> (0xb5cf18c0) 0 empty
Vtable for QPaintDevice
QPaintDevice::_ZTV12QPaintDevice: 7u entries
@@ -2724,10 +1982,6 @@ QImage (0xb5cf1a40) 0
QPaintDevice (0xb5cf1a80) 0
primary-for QImage (0xb5cf1a40)
-Class QTypeInfo<QImage>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QImage> (0xb5cf1bc0) 0 empty
Vtable for QPixmap
QPixmap::_ZTV7QPixmap: 7u entries
@@ -2752,45 +2006,17 @@ Class QBrush
base size=4 base align=4
QBrush (0xb5cf1d80) 0
-Class QTypeInfo<QBrush>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBrush> (0xb5cf1dc0) 0 empty
Class QBrushData
size=72 align=4
base size=72 base align=4
QBrushData (0xb5cf1e00) 0
-Class QVector<QPair<double, QColor> >::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPair<double, QColor> >::<anonymous union> (0xb5cf1f40) 0
-Class QVector<QPair<double, QColor> >
- size=4 align=4
- base size=4 base align=4
-QVector<QPair<double, QColor> > (0xb5cf1ec0) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=32 align=4
- base size=32 base align=4
-QGradient::<anonymous union>::<anonymous struct> (0xb5cf1fc0) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=40 align=4
- base size=40 base align=4
-QGradient::<anonymous union>::<anonymous struct> (0xb5cf1240) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=24 align=4
- base size=24 base align=4
-QGradient::<anonymous union>::<anonymous struct> (0xb5cf1280) 0
-Class QGradient::<anonymous union>
- size=40 align=4
- base size=40 base align=4
-QGradient::<anonymous union> (0xb5cf1f80) 0
Class QGradient
size=56 align=4
@@ -2820,30 +2046,14 @@ Class QTextLength
base size=12 base align=4
QTextLength (0xb5cf1800) 0
-Class QSharedDataPointer<QTextFormatPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextFormatPrivate> (0xb5cf1b00) 0
Class QTextFormat
size=8 align=4
base size=8 base align=4
QTextFormat (0xb5cf1980) 0
-Class QVector<QTextLength>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength>::<anonymous union> (0xb5cf1cc0) 0
-Class QVector<QTextLength>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength> (0xb5cf1b40) 0
-Class QFlags<QTextFormat::PageBreakFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextFormat::PageBreakFlag> (0xb5cf1d00) 0
Class QTextCharFormat
size=8 align=4
@@ -2983,10 +2193,6 @@ QTextFrame (0xb5acc580) 0
QObject (0xb5acc600) 0
primary-for QTextObject (0xb5acc5c0)
-Class QTypeInfo<QTextFrame::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFrame::iterator> (0xb5acc740) 0 empty
Vtable for QTextBlockUserData
QTextBlockUserData::_ZTV18QTextBlockUserData: 4u entries
@@ -3011,25 +2217,13 @@ Class QTextBlock
base size=8 base align=4
QTextBlock (0xb5acc800) 0
-Class QTypeInfo<QTextBlock>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock> (0xb5acc880) 0 empty
-Class QTypeInfo<QTextBlock::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock::iterator> (0xb5acc8c0) 0 empty
Class QTextFragment
size=12 align=4
base size=12 base align=4
QTextFragment (0xb5acc900) 0
-Class QTypeInfo<QTextFragment>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFragment> (0xb5acc940) 0 empty
Class QFontMetrics
size=4 align=4
@@ -3089,20 +2283,12 @@ QTextDocument (0xb5accb00) 0
QObject (0xb5accb40) 0
primary-for QTextDocument (0xb5accb00)
-Class QFlags<QTextDocument::FindFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextDocument::FindFlag> (0xb5accbc0) 0
Class QTextOption
size=24 align=4
base size=24 base align=4
QTextOption (0xb5accc00) 0
-Class QFlags<QTextOption::Flag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextOption::Flag> (0xb5accc40) 0
Class QTextTableCell
size=8 align=4
@@ -3143,10 +2329,6 @@ Class QKeySequence
base size=4 base align=4
QKeySequence (0xb5acce80) 0
-Class QTypeInfo<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QKeySequence> (0xb5accf40) 0 empty
Vtable for QMimeSource
QMimeSource::_ZTV11QMimeSource: 7u entries
@@ -3444,15 +2626,7 @@ Class QInputMethodEvent::Attribute
base size=24 base align=4
QInputMethodEvent::Attribute (0xb5a4ec00) 0
-Class QList<QInputMethodEvent::Attribute>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute>::<anonymous union> (0xb5a4ed00) 0
-Class QList<QInputMethodEvent::Attribute>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute> (0xb5a4ec80) 0
Vtable for QInputMethodEvent
QInputMethodEvent::_ZTV17QInputMethodEvent: 4u entries
@@ -3751,15 +2925,7 @@ Class QTextLayout
base size=4 base align=4
QTextLayout (0xb58e3480) 0
-Class QVector<QTextLayout::FormatRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange>::<anonymous union> (0xb58e3600) 0
-Class QVector<QTextLayout::FormatRange>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange> (0xb58e3580) 0
Class QTextLine
size=8 align=4
@@ -3808,10 +2974,6 @@ Class QTextDocumentFragment
base size=4 base align=4
QTextDocumentFragment (0xb58e3880) 0
-Class QSharedDataPointer<QTextCursorPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextCursorPrivate> (0xb58e3940) 0
Class QTextCursor
size=4 align=4
@@ -3834,15 +2996,7 @@ Class QAbstractTextDocumentLayout::Selection
base size=12 base align=4
QAbstractTextDocumentLayout::Selection (0xb58e3b40) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union> (0xb58e3c80) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection> (0xb58e3c00) 0
Class QAbstractTextDocumentLayout::PaintContext
size=48 align=4
@@ -4206,10 +3360,6 @@ Class QItemSelectionRange
base size=8 base align=4
QItemSelectionRange (0xb58e3f80) 0
-Class QTypeInfo<QItemSelectionRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QItemSelectionRange> (0xb56ef040) 0 empty
Vtable for QItemSelectionModel
QItemSelectionModel::_ZTV19QItemSelectionModel: 18u entries
@@ -4240,20 +3390,8 @@ QItemSelectionModel (0xb56ef080) 0
QObject (0xb56ef0c0) 0
primary-for QItemSelectionModel (0xb56ef080)
-Class QFlags<QItemSelectionModel::SelectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QItemSelectionModel::SelectionFlag> (0xb56ef140) 0
-Class QList<QItemSelectionRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::<anonymous union> (0xb56ef200) 0
-Class QList<QItemSelectionRange>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange> (0xb56ef180) 0
Class QItemSelection
size=4 align=4
@@ -4460,20 +3598,12 @@ QAbstractSpinBox (0xb56ef680) 0
QPaintDevice (0xb56ef740) 8
vptr=((& QAbstractSpinBox::_ZTV16QAbstractSpinBox) + 252u)
-Class QFlags<QAbstractSpinBox::StepEnabledFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractSpinBox::StepEnabledFlag> (0xb56ef800) 0
Class QIcon
size=4 align=4
base size=4 base align=4
QIcon (0xb56ef840) 0
-Class QTypeInfo<QIcon>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QIcon> (0xb56ef900) 0 empty
Vtable for QAbstractSlider
QAbstractSlider::_ZTV15QAbstractSlider: 64u entries
@@ -4681,15 +3811,7 @@ QStyle (0xb56efc40) 0
QObject (0xb56efc80) 0
primary-for QStyle (0xb56efc40)
-Class QFlags<QStyle::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::StateFlag> (0xb56efd40) 0
-Class QFlags<QStyle::SubControl>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::SubControl> (0xb56efd80) 0
Vtable for QTabBar
QTabBar::_ZTV7QTabBar: 67u entries
@@ -4948,10 +4070,6 @@ Class QStyleOptionFrame
QStyleOptionFrame (0xb56efc00) 0
QStyleOption (0xb56efbc0) 0
-Class QFlags<QStyleOptionFrameV2::FrameFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionFrameV2::FrameFeature> (0xb5466080) 0
Class QStyleOptionFrameV2
size=56 align=4
@@ -4978,10 +4096,6 @@ Class QStyleOptionHeader
QStyleOptionHeader (0xb5466300) 0
QStyleOption (0xb5466340) 0
-Class QFlags<QStyleOptionButton::ButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionButton::ButtonFeature> (0xb54664c0) 0
Class QStyleOptionButton
size=64 align=4
@@ -4989,10 +4103,6 @@ Class QStyleOptionButton
QStyleOptionButton (0xb5466400) 0
QStyleOption (0xb5466440) 0
-Class QFlags<QStyleOptionTab::CornerWidget>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionTab::CornerWidget> (0xb5466640) 0
Class QStyleOptionTab
size=72 align=4
@@ -5007,10 +4117,6 @@ QStyleOptionTabV2 (0xb54666c0) 0
QStyleOptionTab (0xb5466700) 0
QStyleOption (0xb5466740) 0
-Class QFlags<QStyleOptionToolBar::ToolBarFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionToolBar::ToolBarFeature> (0xb54668c0) 0
Class QStyleOptionToolBar
size=68 align=4
@@ -5037,10 +4143,6 @@ Class QStyleOptionMenuItem
QStyleOptionMenuItem (0xb5466b00) 0
QStyleOption (0xb5466b40) 0
-Class QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature> (0xb5466c80) 0
Class QStyleOptionQ3ListViewItem
size=64 align=4
@@ -5066,10 +4168,6 @@ Class QStyleOptionViewItem
QStyleOptionViewItem (0xb5466e80) 0
QStyleOption (0xb5466ec0) 0
-Class QFlags<QStyleOptionViewItemV2::ViewItemFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionViewItemV2::ViewItemFeature> (0xb5466040) 0
Class QStyleOptionViewItemV2
size=84 align=4
@@ -5110,15 +4208,7 @@ QStyleOptionSpinBox (0xb5466c40) 0
QStyleOptionComplex (0xb5466cc0) 0
QStyleOption (0xb5466d80) 0
-Class QList<QStyleOptionQ3ListViewItem>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::<anonymous union> (0xb536b100) 0
-Class QList<QStyleOptionQ3ListViewItem>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem> (0xb536b080) 0
Class QStyleOptionQ3ListView
size=84 align=4
@@ -5127,10 +4217,6 @@ QStyleOptionQ3ListView (0xb5466e40) 0
QStyleOptionComplex (0xb5466f00) 0
QStyleOption (0xb536b000) 0
-Class QFlags<QStyleOptionToolButton::ToolButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionToolButton::ToolButtonFeature> (0xb536b2c0) 0
Class QStyleOptionToolButton
size=96 align=4
@@ -5338,10 +4424,6 @@ QAbstractItemView (0xb536ba00) 0
QPaintDevice (0xb536bb40) 8
vptr=((& QAbstractItemView::_ZTV17QAbstractItemView) + 392u)
-Class QFlags<QAbstractItemView::EditTrigger>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractItemView::EditTrigger> (0xb536bc00) 0
Vtable for QListView
QListView::_ZTV9QListView: 103u entries
@@ -6106,10 +5188,6 @@ QMessageBox (0xb524e580) 0
QPaintDevice (0xb524e680) 8
vptr=((& QMessageBox::_ZTV11QMessageBox) + 244u)
-Class QFlags<QMessageBox::StandardButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<QMessageBox::StandardButton> (0xb524e740) 0
Vtable for QProgressDialog
QProgressDialog::_ZTV15QProgressDialog: 66u entries
@@ -6360,10 +5438,6 @@ QFileDialog (0xb524ea80) 0
QPaintDevice (0xb524eb80) 8
vptr=((& QFileDialog::_ZTV11QFileDialog) + 244u)
-Class QFlags<QFileDialog::Option>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileDialog::Option> (0xb524ec40) 0
Vtable for QAbstractPrintDialog
QAbstractPrintDialog::_ZTV20QAbstractPrintDialog: 67u entries
@@ -6449,10 +5523,6 @@ QAbstractPrintDialog (0xb524ec80) 0
QPaintDevice (0xb524ed80) 8
vptr=((& QAbstractPrintDialog::_ZTV20QAbstractPrintDialog) + 248u)
-Class QFlags<QAbstractPrintDialog::PrintDialogOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractPrintDialog::PrintDialogOption> (0xb524ee40) 0
Vtable for QPrintDialog
QPrintDialog::_ZTV12QPrintDialog: 67u entries
@@ -6874,10 +5944,6 @@ QImageIOPlugin (0xb514d3c0) 0
QFactoryInterface (0xb514d480) 8 nearly-empty
primary-for QImageIOHandlerFactoryInterface (0xb514d440)
-Class QFlags<QImageIOPlugin::Capability>
- size=4 align=4
- base size=4 base align=4
-QFlags<QImageIOPlugin::Capability> (0xb514d500) 0
Vtable for QPicture
QPicture::_ZTV8QPicture: 8u entries
@@ -7225,50 +6291,14 @@ Class QPainter
base size=4 base align=4
QPainter (0xb514d5c0) 0
-Class QFlags<QPainter::RenderHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPainter::RenderHint> (0xb514d7c0) 0
-Class QVector<QLineF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF>::<anonymous union> (0xb514db80) 0
-Class QVector<QLineF>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF> (0xb514da00) 0
-Class QVector<QLine>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine>::<anonymous union> (0xb50c0040) 0
-Class QVector<QLine>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine> (0xb514de40) 0
-Class QVector<QRectF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF>::<anonymous union> (0xb50c0140) 0
-Class QVector<QRectF>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF> (0xb50c00c0) 0
-Class QVector<QRect>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect>::<anonymous union> (0xb50c0240) 0
-Class QVector<QRect>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect> (0xb50c01c0) 0
Class QStylePainter
size=12 align=4
@@ -7286,25 +6316,13 @@ Class QPainterPath
base size=4 base align=4
QPainterPath (0xb50c0340) 0
-Class QVector<QPainterPath::Element>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element>::<anonymous union> (0xb50c05c0) 0
-Class QVector<QPainterPath::Element>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element> (0xb50c0540) 0
Class QPainterPathPrivate
size=8 align=4
base size=8 base align=4
QPainterPathPrivate (0xb50c0440) 0
-Class QTypeInfo<QPainterPath::Element>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPainterPath::Element> (0xb50c0600) 0 empty
Class QPainterPathStroker
size=4 align=4
@@ -7316,15 +6334,7 @@ Class QTextItem
base size=0 base align=1
QTextItem (0xb50c0700) 0 empty
-Class QTypeInfo<QTextItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextItem> (0xb50c0740) 0 empty
-Class QFlags<QPaintEngine::PaintEngineFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::PaintEngineFeature> (0xb50c0800) 0
Vtable for QPaintEngine
QPaintEngine::_ZTV12QPaintEngine: 24u entries
@@ -7359,25 +6369,13 @@ Class QPaintEngine
QPaintEngine (0xb50c0780) 0
vptr=((& QPaintEngine::_ZTV12QPaintEngine) + 8u)
-Class QFlags<QPaintEngine::DirtyFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::DirtyFlag> (0xb50c0900) 0
Class QPaintEngineState
size=4 align=4
base size=4 base align=4
QPaintEngineState (0xb50c0880) 0
-Class QFlags<QTextItem::RenderFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextItem::RenderFlag> (0xb50c0940) 0
-Class QFlags<QTreeWidgetItemIterator::IteratorFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTreeWidgetItemIterator::IteratorFlag> (0xb50c0a00) 0
Class QTreeWidgetItemIterator
size=12 align=4
@@ -7467,15 +6465,7 @@ QStringListModel (0xb50c0b00) 0
QObject (0xb50c0bc0) 0
primary-for QAbstractItemModel (0xb50c0b80)
-Class QVector<QWidgetItemData>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData>::<anonymous union> (0xb50c0d40) 0
-Class QVector<QWidgetItemData>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData> (0xb50c0cc0) 0
Vtable for QListWidgetItem
QListWidgetItem::_ZTV15QListWidgetItem: 11u entries
@@ -7718,15 +6708,7 @@ Class QStandardItem
QStandardItem (0xb50c0d80) 0
vptr=((& QStandardItem::_ZTV13QStandardItem) + 8u)
-Class QList<QStandardItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QStandardItem*>::<anonymous union> (0xb4eb0180) 0
-Class QList<QStandardItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QStandardItem*> (0xb4eb0100) 0
Vtable for QStandardItemModel
QStandardItemModel::_ZTV18QStandardItemModel: 42u entries
@@ -8547,15 +7529,7 @@ Class QItemEditorCreatorBase
QItemEditorCreatorBase (0xb4eb0000) 0 nearly-empty
vptr=((& QItemEditorCreatorBase::_ZTV22QItemEditorCreatorBase) + 8u)
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union> (0xb4eb0dc0) 0
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*> (0xb4eb0ac0) 0
Vtable for QItemEditorFactory
QItemEditorFactory::_ZTV18QItemEditorFactory: 6u entries
@@ -8572,25 +7546,9 @@ Class QItemEditorFactory
QItemEditorFactory (0xb4eb0880) 0
vptr=((& QItemEditorFactory::_ZTV18QItemEditorFactory) + 8u)
-Class QVector<QVector<QWidgetItemData> >::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> >::<anonymous union> (0xb4e24100) 0
-Class QVector<QVector<QWidgetItemData> >
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> > (0xb4e24080) 0
-Class QList<QTreeWidgetItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::<anonymous union> (0xb4e24200) 0
-Class QList<QTreeWidgetItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*> (0xb4e24180) 0
Vtable for QTreeWidgetItem
QTreeWidgetItem::_ZTV15QTreeWidgetItem: 10u entries
@@ -8817,15 +7775,7 @@ Class QAccessible
base size=0 base align=1
QAccessible (0xb4e24800) 0 empty
-Class QFlags<QAccessible::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::StateFlag> (0xb4e24880) 0
-Class QFlags<QAccessible::RelationFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::RelationFlag> (0xb4e248c0) 0
Vtable for QAccessibleInterface
QAccessibleInterface::_ZTV20QAccessibleInterface: 19u entries
@@ -9778,15 +8728,7 @@ QActionGroup (0xb4d12f80) 0
QObject (0xb4d12fc0) 0
primary-for QActionGroup (0xb4d12f80)
-Class QList<QAction*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QAction*>::<anonymous union> (0xb4d12380) 0
-Class QList<QAction*>
- size=4 align=4
- base size=4 base align=4
-QList<QAction*> (0xb4d12180) 0
Vtable for QSound
QSound::_ZTV6QSound: 14u entries
@@ -9956,10 +8898,6 @@ QCommonStyle (0xb4d12f40) 0
QObject (0xb4a69040) 0
primary-for QStyle (0xb4a69000)
-Class QPointer<QFocusFrame>
- size=4 align=4
- base size=4 base align=4
-QPointer<QFocusFrame> (0xb4a69200) 0
Vtable for QMotifStyle
QMotifStyle::_ZTV11QMotifStyle: 35u entries
@@ -10481,15 +9419,7 @@ Class QGraphicsItem
QGraphicsItem (0xb4a69fc0) 0
vptr=((& QGraphicsItem::_ZTV13QGraphicsItem) + 8u)
-Class QFlags<QGraphicsItem::GraphicsItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGraphicsItem::GraphicsItemFlag> (0xb4a69080) 0
-Class QMetaTypeId<QGraphicsItem*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QGraphicsItem*> (0xb4a691c0) 0 empty
Vtable for QAbstractGraphicsShapeItem
QAbstractGraphicsShapeItem::_ZTV26QAbstractGraphicsShapeItem: 39u entries
@@ -11262,20 +10192,8 @@ QGraphicsView (0xb4953880) 0
QPaintDevice (0xb49539c0) 8
vptr=((& QGraphicsView::_ZTV13QGraphicsView) + 252u)
-Class QFlags<QGraphicsView::CacheModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGraphicsView::CacheModeFlag> (0xb4953a40) 0
-Class QList<QGraphicsItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QGraphicsItem*>::<anonymous union> (0xb4953b00) 0
-Class QList<QGraphicsItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QGraphicsItem*> (0xb4953a80) 0
Vtable for QGraphicsSceneEvent
QGraphicsSceneEvent::_ZTV19QGraphicsSceneEvent: 4u entries
@@ -12527,10 +11445,6 @@ QDateEdit (0xb4861080) 0
QPaintDevice (0xb48616c0) 8
vptr=((& QDateEdit::_ZTV9QDateEdit) + 260u)
-Class QFlags<QDateTimeEdit::Section>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDateTimeEdit::Section> (0xb4861840) 0
Vtable for QLabel
QLabel::_ZTV6QLabel: 63u entries
@@ -12690,10 +11604,6 @@ QDockWidget (0xb4793040) 0
QPaintDevice (0xb4793100) 8
vptr=((& QDockWidget::_ZTV11QDockWidget) + 232u)
-Class QFlags<QDockWidget::DockWidgetFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDockWidget::DockWidgetFeature> (0xb47931c0) 0
Vtable for QGroupBox
QGroupBox::_ZTV9QGroupBox: 63u entries
@@ -12851,10 +11761,6 @@ QDialogButtonBox (0xb4793340) 0
QPaintDevice (0xb4793400) 8
vptr=((& QDialogButtonBox::_ZTV16QDialogButtonBox) + 232u)
-Class QFlags<QDialogButtonBox::StandardButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDialogButtonBox::StandardButton> (0xb4793480) 0
Vtable for QMainWindow
QMainWindow::_ZTV11QMainWindow: 64u entries
@@ -13028,10 +11934,6 @@ QTextEdit (0xb4793600) 0
QPaintDevice (0xb4793740) 8
vptr=((& QTextEdit::_ZTV9QTextEdit) + 256u)
-Class QFlags<QTextEdit::AutoFormattingFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextEdit::AutoFormattingFlag> (0xb4793840) 0
Vtable for QProgressBar
QProgressBar::_ZTV12QProgressBar: 64u entries
@@ -14034,10 +12936,6 @@ QFontComboBox (0xb470d600) 0
QPaintDevice (0xb470d700) 8
vptr=((& QFontComboBox::_ZTV13QFontComboBox) + 240u)
-Class QFlags<QFontComboBox::FontFilter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFontComboBox::FontFilter> (0xb470d780) 0
Vtable for QToolBar
QToolBar::_ZTV8QToolBar: 63u entries
@@ -14611,178 +13509,38 @@ QGraphicsSvgItem (0xb445ca00) 0
QGraphicsItem (0xb445cb40) 8
vptr=((& QGraphicsSvgItem::_ZTV16QGraphicsSvgItem) + 76u)
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0xb445cc80) 0
-Class QTypeInfo<QDebug::Stream*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDebug::Stream*> (0xb445ce80) 0 empty
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0xb439d040) 0
-Class QVectorTypedData<QPoint>
- size=24 align=4
- base size=24 base align=4
-QVectorTypedData<QPoint> (0xb439d0c0) 0
-Class QVectorTypedData<QPointF>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QPointF> (0xb439d140) 0
-Class QVectorTypedData<QTextLength>
- size=28 align=4
- base size=28 base align=4
-QVectorTypedData<QTextLength> (0xb439d1c0) 0
-Class QVectorTypedData<QTextLayout::FormatRange>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QTextLayout::FormatRange> (0xb439d240) 0
-Class QVectorTypedData<QAbstractTextDocumentLayout::Selection>
- size=28 align=4
- base size=28 base align=4
-QVectorTypedData<QAbstractTextDocumentLayout::Selection> (0xb439d2c0) 0
-Class QVectorTypedData<QLineF>
- size=48 align=4
- base size=48 base align=4
-QVectorTypedData<QLineF> (0xb439d340) 0
-Class QVectorTypedData<QLine>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QLine> (0xb439d3c0) 0
-Class QVectorTypedData<QRectF>
- size=48 align=4
- base size=48 base align=4
-QVectorTypedData<QRectF> (0xb439d440) 0
-Class QVectorTypedData<QRect>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QRect> (0xb439d4c0) 0
-Class QVectorTypedData<QPainterPath::Element>
- size=36 align=4
- base size=36 base align=4
-QVectorTypedData<QPainterPath::Element> (0xb439d540) 0
-Class QList<QTreeWidgetItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::Node (0xb439d780) 0
-Class QVectorTypedData<QVector<QWidgetItemData> >
- size=20 align=4
- base size=20 base align=4
-QVectorTypedData<QVector<QWidgetItemData> > (0xb439d800) 0
-Class QList<QAction*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QAction*>::Node (0xb439d900) 0
-Class QTypeInfo<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLength> (0xb439da00) 0 empty
-Class QTypeInfo<QTextLayout::FormatRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLayout::FormatRange> (0xb439dac0) 0 empty
-Class QTypeInfo<QAbstractTextDocumentLayout::Selection>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAbstractTextDocumentLayout::Selection> (0xb439dbc0) 0 empty
-Class QTypeInfo<QStandardItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QStandardItem*> (0xb439dc80) 0 empty
-Class QHashNode<QVariant::Type, QItemEditorCreatorBase*>
- size=16 align=4
- base size=16 base align=4
-QHashNode<QVariant::Type, QItemEditorCreatorBase*> (0xb439dd00) 0
-Class QTypeInfo<QTreeWidgetItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTreeWidgetItem*> (0xb439dd80) 0 empty
-Class QTypeInfo<QAction*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAction*> (0xb439de00) 0 empty
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0xb439de80) 0
-Class QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union> (0xb439df00) 0
-Class QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union> (0xb439dfc0) 0
-Class QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union> (0xb439d880) 0
-Class QList<QItemSelectionRange>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::Node (0xb439dec0) 0
-Class QTypeInfo<QStyleOptionQ3ListViewItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QStyleOptionQ3ListViewItem> (0xb439df80) 0 empty
-Class QList<QStyleOptionQ3ListViewItem>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::Node (0xb40d4040) 0
-Class QList<QStandardItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QStandardItem*>::Node (0xb40d4100) 0
-Class QList<QVariant>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::Node (0xb40d41c0) 0
-Class QTypeInfo<QGraphicsItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QGraphicsItem*> (0xb40d4240) 0 empty
-Class QList<QGraphicsItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QGraphicsItem*>::Node (0xb40d42c0) 0
-Class QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union> (0xb40d4480) 0
diff --git a/tests/auto/bic/data/QtSvg.4.2.0.linux-gcc-ppc32.txt b/tests/auto/bic/data/QtSvg.4.2.0.linux-gcc-ppc32.txt
index f4c20db..06800ad 100644
--- a/tests/auto/bic/data/QtSvg.4.2.0.linux-gcc-ppc32.txt
+++ b/tests/auto/bic/data/QtSvg.4.2.0.linux-gcc-ppc32.txt
@@ -1,34 +1,8 @@
-Class QUintForSize<4>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<4> (0x305ed3f0) 0 empty
-Class QUintForSize<8>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<8> (0x305ed460) 0 empty
-Class QUintForType<void*>
- size=1 align=1
- base size=1 base align=1
-QUintForType<void*> (0x3001bac0) 0 empty
- QUintForSize<4> (0x305ed5b0) 0 empty
-Class QIntForSize<4>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<4> (0x305ed690) 0 empty
-Class QIntForSize<8>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<8> (0x305ed700) 0 empty
-Class QIntForType<void*>
- size=1 align=1
- base size=1 base align=1
-QIntForType<void*> (0x3001bb40) 0 empty
- QIntForSize<4> (0x305ed850) 0 empty
Class QSysInfo
size=1 align=1
@@ -50,150 +24,38 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0x305edbd0) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0x305eddc8) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0x305ede70) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0x305edf18) 0 empty
-Class QTypeInfo<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned char> (0x305edfc0) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0x30616070) 0 empty
-Class QTypeInfo<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short unsigned int> (0x30616118) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0x306161c0) 0 empty
-Class QTypeInfo<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned int> (0x30616268) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0x30616310) 0 empty
-Class QTypeInfo<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long unsigned int> (0x306163b8) 0 empty
-Class QTypeInfo<long long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long int> (0x30616460) 0 empty
-Class QTypeInfo<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long unsigned int> (0x30616508) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0x306165b0) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0x30616658) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0x30616700) 0 empty
Class QFlag
size=4 align=4
base size=4 base align=4
QFlag (0x30616770) 0
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0x30616c40) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0x30616cb0) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0x30616d20) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0x30616d90) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0x30616e00) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0x30616e70) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0x30616ee0) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0x30616f50) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0x30616fc0) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0x312f8038) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0x312f80a8) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0x312f8118) 0
-Class QFlags<Qt::TextInteractionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::TextInteractionFlag> (0x312f8188) 0
Class QInternal
size=1 align=1
@@ -211,10 +73,6 @@ Class QGenericReturnArgument
QGenericReturnArgument (0x3001bc80) 0
QGenericArgument (0x312f82a0) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0x312f8460) 0
Class QMetaObject
size=16 align=4
@@ -231,10 +89,6 @@ Class QChar
base size=2 base align=2
QChar (0x312f8540) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0x312f85e8) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -267,10 +121,6 @@ Class QByteRef
base size=8 base align=4
QByteRef (0x31404348) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0x31404690) 0 empty
Class QString::Null
size=1 align=1
@@ -287,10 +137,6 @@ Class QString
base size=4 base align=4
QString (0x31404738) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0x31404968) 0
Class QLatin1String
size=4 align=4
@@ -308,10 +154,6 @@ Class QConstString
QConstString (0x3001bec0) 0
QString (0x31528af0) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0x31528bd0) 0 empty
Vtable for std::exception
std::exception::_ZTVSt9exception: 5u entries
@@ -374,15 +216,7 @@ Class QListData
base size=4 base align=4
QListData (0x31622268) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0x316227a8) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0x31622700) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -474,10 +308,6 @@ QIODevice (0x3001bf80) 0
QObject (0x31622c78) 0
primary-for QIODevice (0x3001bf80)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0x31622e70) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -507,10 +337,6 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0x3174d498) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0x3174d508) 0 empty
Class QMapData::Node
size=8 align=4
@@ -522,10 +348,6 @@ Class QMapData
base size=72 base align=4
QMapData (0x3174dd58) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0x31871348) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -550,15 +372,7 @@ Class QTextCodec
QTextCodec (0x318711f8) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0x31871620) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0x31871578) 0
Class QTextEncoder
size=32 align=4
@@ -570,30 +384,10 @@ Class QTextDecoder
base size=32 base align=4
QTextDecoder (0x31871738) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x318717e0) 0
-Class <anonymous struct>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct>::<anonymous union> (0x318718c0) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x31871850) 0
-Class <anonymous struct>
- size=12 align=4
- base size=12 base align=4
-<anonymous struct> (0x31871930) 0
-Class <anonymous struct>
- size=16 align=8
- base size=16 base align=8
-<anonymous struct> (0x318719a0) 0
Class __gconv_trans_data
size=20 align=4
@@ -615,15 +409,7 @@ Class __gconv_info
base size=8 base align=4
__gconv_info (0x31871af0) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0x31871bd0) 0
-Class <anonymous union>
- size=44 align=4
- base size=44 base align=4
-<anonymous union> (0x31871b60) 0
Class _IO_marker
size=12 align=4
@@ -635,10 +421,6 @@ Class _IO_FILE
base size=152 base align=8
_IO_FILE (0x31871c40) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0x31871cb0) 0
Vtable for QTextStream
QTextStream::_ZTV11QTextStream: 4u entries
@@ -653,10 +435,6 @@ Class QTextStream
QTextStream (0x31871ce8) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0x31871f18) 0
Class QTextStreamManipulator
size=24 align=4
@@ -693,40 +471,16 @@ QTextOStream (0x31810180) 0
QTextStream (0x319473f0) 0
primary-for QTextOStream (0x31810180)
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0x319476c8) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0x31947738) 0
Class wait
size=4 align=4
base size=4 base align=4
wait (0x31947658) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x319477a8) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x31947818) 0
-Class <anonymous struct>
- size=16 align=8
- base size=16 base align=8
-<anonymous struct> (0x31947888) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0x319478f8) 0
Class timespec
size=8 align=4
@@ -738,70 +492,18 @@ Class timeval
base size=8 base align=4
timeval (0x31947968) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0x319479d8) 0
-Class <anonymous union>
- size=36 align=4
- base size=36 base align=4
-<anonymous union> (0x31947a48) 0
-Class <anonymous union>::<anonymous struct>
- size=24 align=4
- base size=24 base align=4
-<anonymous union>::<anonymous struct> (0x31947b28) 0
-Class <anonymous union>
- size=24 align=4
- base size=24 base align=4
-<anonymous union> (0x31947ab8) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0x31947b98) 0
-Class <anonymous union>::<anonymous struct>
- size=48 align=8
- base size=48 base align=8
-<anonymous union>::<anonymous struct> (0x31947c78) 0
-Class <anonymous union>
- size=48 align=8
- base size=48 base align=8
-<anonymous union> (0x31947c08) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0x31947ce8) 0
-Class <anonymous union>::<anonymous struct>
- size=32 align=4
- base size=32 base align=4
-<anonymous union>::<anonymous struct> (0x31947dc8) 0
-Class <anonymous union>
- size=32 align=4
- base size=32 base align=4
-<anonymous union> (0x31947d58) 0
-Class <anonymous union>
- size=8 align=4
- base size=8 base align=4
-<anonymous union> (0x31947e38) 0
-Class <anonymous union>
- size=20 align=4
- base size=20 base align=4
-<anonymous union> (0x31947ea8) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0x31947f18) 0
Class random_data
size=28 align=4
@@ -872,10 +574,6 @@ QFile (0x318101c0) 0
QObject (0x319a0770) 0
primary-for QIODevice (0x31810200)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0x319a08f8) 0
Vtable for QTemporaryFile
QTemporaryFile::_ZTV14QTemporaryFile: 31u entries
@@ -928,50 +626,22 @@ Class QFileInfo
base size=4 base align=4
QFileInfo (0x319a0a48) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0x319a0af0) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0x319a0b60) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0x319a0ce8) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0x319a0c40) 0
Class QRegExp
size=4 align=4
base size=4 base align=4
QRegExp (0x319a0d90) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0x319a0f88) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0x319a0700) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0x31b3e118) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0x31b3e070) 0
Class QStringList
size=4 align=4
@@ -979,30 +649,14 @@ Class QStringList
QStringList (0x31810300) 0
QList<QString> (0x31b3e1c0) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0x31b3e5e8) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0x31b3e658) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0x31b3e968) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0x31b3ea80) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0x31b3eb28) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -1059,10 +713,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0x31b3eb60) 0
vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0x31b3edc8) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -1174,15 +824,7 @@ Class QLocale
base size=4 base align=4
QLocale (0x31c0e0e0) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0x31c0e188) 0 empty
-Class QFlags<QLocale::NumberOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLocale::NumberOption> (0x31c0e230) 0
Vtable for QSystemLocale
QSystemLocale::_ZTV13QSystemLocale: 6u entries
@@ -1277,285 +919,65 @@ Class QUrl
base size=4 base align=4
QUrl (0x31c0e620) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0x31c0e7a8) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0x31c0e818) 0 empty
Class QMetaType
size=1 align=1
base size=0 base align=1
QMetaType (0x31c0e888) 0 empty
-Class QMetaTypeId2<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QString> (0x31c0ea48) 0 empty
-Class QMetaTypeId2<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<int> (0x31c0eaf0) 0 empty
-Class QMetaTypeId2<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned int> (0x31c0eb98) 0 empty
-Class QMetaTypeId2<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<bool> (0x31c0ec40) 0 empty
-Class QMetaTypeId2<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<double> (0x31c0ece8) 0 empty
-Class QMetaTypeId2<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QByteArray> (0x31c0ed90) 0 empty
-Class QMetaTypeId2<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QChar> (0x31c0ee38) 0 empty
-Class QMetaTypeId2<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long int> (0x31c0eee0) 0 empty
-Class QMetaTypeId2<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short int> (0x31c0ef88) 0 empty
-Class QMetaTypeId2<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<char> (0x31c0e348) 0 empty
-Class QMetaTypeId2<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long unsigned int> (0x31cd9000) 0 empty
-Class QMetaTypeId2<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short unsigned int> (0x31cd90a8) 0 empty
-Class QMetaTypeId2<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned char> (0x31cd9150) 0 empty
-Class QMetaTypeId2<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<float> (0x31cd91f8) 0 empty
-Class QMetaTypeId2<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QObject*> (0x31cd92a0) 0 empty
-Class QMetaTypeId2<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QWidget*> (0x31cd9348) 0 empty
-Class QMetaTypeId2<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<void*> (0x31cd93f0) 0 empty
-Class QMetaTypeId2<long long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long int> (0x31cd9498) 0 empty
-Class QMetaTypeId2<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long unsigned int> (0x31cd9540) 0 empty
-Class QMetaTypeId2<QStringList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QStringList> (0x31cd95e8) 0 empty
-Class QMetaTypeId2<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitArray> (0x31cd9690) 0 empty
-Class QMetaTypeId2<QDate>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDate> (0x31cd9738) 0 empty
-Class QMetaTypeId2<QTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTime> (0x31cd97e0) 0 empty
-Class QMetaTypeId2<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDateTime> (0x31cd9888) 0 empty
-Class QMetaTypeId2<QUrl>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QUrl> (0x31cd9930) 0 empty
-Class QMetaTypeId2<QLocale>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLocale> (0x31cd99d8) 0 empty
-Class QMetaTypeId2<QRect>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRect> (0x31cd9a80) 0 empty
-Class QMetaTypeId2<QRectF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRectF> (0x31cd9b28) 0 empty
-Class QMetaTypeId2<QSize>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSize> (0x31cd9bd0) 0 empty
-Class QMetaTypeId2<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizeF> (0x31cd9c78) 0 empty
-Class QMetaTypeId2<QLine>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLine> (0x31cd9d20) 0 empty
-Class QMetaTypeId2<QLineF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLineF> (0x31cd9dc8) 0 empty
-Class QMetaTypeId2<QPoint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPoint> (0x31cd9e70) 0 empty
-Class QMetaTypeId2<QPointF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPointF> (0x31cd9f18) 0 empty
-Class QMetaTypeId2<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegExp> (0x31cd9fc0) 0 empty
-Class QMetaTypeId2<QColorGroup>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColorGroup> (0x31cf1070) 0 empty
-Class QMetaTypeId2<QFont>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QFont> (0x31cf1118) 0 empty
-Class QMetaTypeId2<QPixmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPixmap> (0x31cf11c0) 0 empty
-Class QMetaTypeId2<QBrush>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBrush> (0x31cf1268) 0 empty
-Class QMetaTypeId2<QColor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColor> (0x31cf1310) 0 empty
-Class QMetaTypeId2<QPalette>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPalette> (0x31cf13b8) 0 empty
-Class QMetaTypeId2<QIcon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QIcon> (0x31cf1460) 0 empty
-Class QMetaTypeId2<QImage>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QImage> (0x31cf1508) 0 empty
-Class QMetaTypeId2<QPolygon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPolygon> (0x31cf15b0) 0 empty
-Class QMetaTypeId2<QRegion>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegion> (0x31cf1658) 0 empty
-Class QMetaTypeId2<QBitmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitmap> (0x31cf1700) 0 empty
-Class QMetaTypeId2<QCursor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QCursor> (0x31cf17a8) 0 empty
-Class QMetaTypeId2<QSizePolicy>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizePolicy> (0x31cf1850) 0 empty
-Class QMetaTypeId2<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QKeySequence> (0x31cf18f8) 0 empty
-Class QMetaTypeId2<QPen>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPen> (0x31cf19a0) 0 empty
-Class QMetaTypeId2<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextLength> (0x31cf1a48) 0 empty
-Class QMetaTypeId2<QTextFormat>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextFormat> (0x31cf1af0) 0 empty
-Class QMetaTypeId2<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMatrix> (0x31cf1b98) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -1582,45 +1004,17 @@ Class QVariant
base size=16 base align=8
QVariant (0x31cf1c08) 0
-Class QMetaTypeId2<QList<QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QList<QVariant> > (0x31cf1ee0) 0 empty
-Class QMetaTypeId2<QMap<QString, QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMap<QString, QVariant> > (0x31d40070) 0 empty
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0x31d40230) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0x31d40188) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0x31d403f0) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0x31d40348) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0x31d40508) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0x31d40620) 0 empty
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1652,80 +1046,48 @@ Class QPoint
base size=8 base align=4
QPoint (0x31d40b60) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0x31d40f50) 0 empty
Class QPointF
size=16 align=8
base size=16 base align=8
QPointF (0x31d40ce8) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0x31dfd1f8) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0x31dfd428) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0x31dfd498) 0 empty
Class QLineF
size=32 align=8
base size=32 base align=8
QLineF (0x31dfd5e8) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0x31dfd690) 0 empty
Class QSize
size=8 align=4
base size=8 base align=4
QSize (0x31dfd818) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0x31dfdb98) 0 empty
Class QSizeF
size=16 align=8
base size=16 base align=8
QSizeF (0x31dfde70) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0x31dfd8c0) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0x31e97188) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0x31e97380) 0 empty
Class QRectF
size=32 align=8
base size=32 base align=8
QRectF (0x31e975b0) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0x31e97738) 0 empty
Class QLinkedListData
size=20 align=4
@@ -1742,10 +1104,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0x31fef038) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0x31fef118) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -1762,30 +1120,18 @@ Class QDate
base size=4 base align=4
QDate (0x31fef508) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0x31fef6c8) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0x31fef738) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0x31fef8f8) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0x31fef968) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0x31fefab8) 0 empty
Vtable for QTimeLine
QTimeLine::_ZTV9QTimeLine: 15u entries
@@ -1971,10 +1317,6 @@ QEventLoop (0x31810880) 0
QObject (0x320b3508) 0
primary-for QEventLoop (0x31810880)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0x320b36c8) 0
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -2081,20 +1423,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0x320b38f8) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0x3215e000) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0x3215e070) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0x3215e188) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -2314,10 +1648,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0x3215e8c0) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0x3215e9a0) 0 empty
Vtable for QSocketNotifier
QSocketNotifier::_ZTV15QSocketNotifier: 14u entries
@@ -2412,20 +1742,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0x3215edc8) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0x3215ee70) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0x3215eee0) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0x3215ef88) 0 empty
Class QMetaProperty
size=20 align=4
@@ -2437,10 +1759,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0x3215e310) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0x3215e738) 0 empty
Vtable for QPluginLoader
QPluginLoader::_ZTV13QPluginLoader: 14u entries
@@ -2497,10 +1815,6 @@ QLibrary (0x31810d00) 0
QObject (0x322231c0) 0
primary-for QLibrary (0x31810d00)
-Class QFlags<QLibrary::LoadHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLibrary::LoadHint> (0x32223348) 0
Class QSemaphore
size=4 align=4
@@ -2548,10 +1862,6 @@ Class QMutex
base size=4 base align=4
QMutex (0x322235e8) 0
-Class QMutexLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMutexLocker::<anonymous union> (0x32223770) 0
Class QMutexLocker
size=4 align=4
@@ -2563,45 +1873,21 @@ Class QReadWriteLock
base size=4 base align=4
QReadWriteLock (0x32223818) 0
-Class QReadLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QReadLocker::<anonymous union> (0x322238c0) 0
Class QReadLocker
size=4 align=4
base size=4 base align=4
QReadLocker (0x32223850) 0
-Class QWriteLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QWriteLocker::<anonymous union> (0x322239d8) 0
Class QWriteLocker
size=4 align=4
base size=4 base align=4
QWriteLocker (0x32223968) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x32223c08) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x32223c78) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x32223ce8) 0
-Class QColor::<anonymous union>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union> (0x32223b98) 0
Class QColor
size=16 align=4
@@ -2618,20 +1904,8 @@ Class QPen
base size=4 base align=4
QPen (0x322e6000) 0
-Class QTypeInfo<QPen>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPen> (0x322e6188) 0 empty
-Class QVector<QPoint>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint>::<anonymous union> (0x322e6348) 0
-Class QVector<QPoint>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint> (0x322e6268) 0
Class QPolygon
size=4 align=4
@@ -2639,15 +1913,7 @@ Class QPolygon
QPolygon (0x31810dc0) 0
QVector<QPoint> (0x322e63b8) 0
-Class QVector<QPointF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF>::<anonymous union> (0x322e6770) 0
-Class QVector<QPointF>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF> (0x322e6690) 0
Class QPolygonF
size=4 align=4
@@ -2670,10 +1936,6 @@ Class QMatrix
base size=48 base align=8
QMatrix (0x322e6c78) 0
-Class QTypeInfo<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMatrix> (0x322e6ce8) 0 empty
Vtable for QPaintDevice
QPaintDevice::_ZTV12QPaintDevice: 7u entries
@@ -2714,10 +1976,6 @@ QImage (0x31810e80) 0
QPaintDevice (0x322e6070) 0
primary-for QImage (0x31810e80)
-Class QTypeInfo<QImage>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QImage> (0x323bf188) 0 empty
Vtable for QPixmap
QPixmap::_ZTV7QPixmap: 7u entries
@@ -2742,45 +2000,17 @@ Class QBrush
base size=4 base align=4
QBrush (0x323bf428) 0
-Class QTypeInfo<QBrush>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBrush> (0x323bf4d0) 0 empty
Class QBrushData
size=72 align=8
base size=72 base align=8
QBrushData (0x323bf540) 0
-Class QVector<QPair<double, QColor> >::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPair<double, QColor> >::<anonymous union> (0x323bf770) 0
-Class QVector<QPair<double, QColor> >
- size=4 align=4
- base size=4 base align=4
-QVector<QPair<double, QColor> > (0x323bf690) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=32 align=8
- base size=32 base align=8
-QGradient::<anonymous union>::<anonymous struct> (0x323bf888) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=40 align=8
- base size=40 base align=8
-QGradient::<anonymous union>::<anonymous struct> (0x323bf8f8) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=24 align=8
- base size=24 base align=8
-QGradient::<anonymous union>::<anonymous struct> (0x323bf968) 0
-Class QGradient::<anonymous union>
- size=40 align=8
- base size=40 base align=8
-QGradient::<anonymous union> (0x323bf818) 0
Class QGradient
size=64 align=8
@@ -2810,30 +2040,14 @@ Class QTextLength
base size=16 base align=8
QTextLength (0x323bfa48) 0
-Class QSharedDataPointer<QTextFormatPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextFormatPrivate> (0x323bfd90) 0
Class QTextFormat
size=8 align=4
base size=8 base align=4
QTextFormat (0x323bfc40) 0
-Class QVector<QTextLength>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength>::<anonymous union> (0x323bf620) 0
-Class QVector<QTextLength>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength> (0x323bf000) 0
-Class QFlags<QTextFormat::PageBreakFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextFormat::PageBreakFlag> (0x323bfe38) 0
Class QTextCharFormat
size=8 align=4
@@ -2973,10 +2187,6 @@ QTextFrame (0x324ba280) 0
QObject (0x324a6578) 0
primary-for QTextObject (0x324ba2c0)
-Class QTypeInfo<QTextFrame::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFrame::iterator> (0x324a6a10) 0 empty
Vtable for QTextBlockUserData
QTextBlockUserData::_ZTV18QTextBlockUserData: 4u entries
@@ -3001,25 +2211,13 @@ Class QTextBlock
base size=8 base align=4
QTextBlock (0x324a6bd0) 0
-Class QTypeInfo<QTextBlock>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock> (0x324a6f50) 0 empty
-Class QTypeInfo<QTextBlock::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock::iterator> (0x324a6268) 0 empty
Class QTextFragment
size=12 align=4
base size=12 base align=4
QTextFragment (0x324a6690) 0
-Class QTypeInfo<QTextFragment>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFragment> (0x3255d188) 0 empty
Class QFontMetrics
size=4 align=4
@@ -3079,20 +2277,12 @@ QTextDocument (0x324ba300) 0
QObject (0x3255d460) 0
primary-for QTextDocument (0x324ba300)
-Class QFlags<QTextDocument::FindFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextDocument::FindFlag> (0x3255d620) 0
Class QTextOption
size=32 align=8
base size=28 base align=8
QTextOption (0x3255d658) 0
-Class QFlags<QTextOption::Flag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextOption::Flag> (0x3255d738) 0
Class QTextTableCell
size=8 align=4
@@ -3133,10 +2323,6 @@ Class QKeySequence
base size=4 base align=4
QKeySequence (0x3255db98) 0
-Class QTypeInfo<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QKeySequence> (0x3255dd20) 0 empty
Vtable for QMimeSource
QMimeSource::_ZTV11QMimeSource: 7u entries
@@ -3434,15 +2620,7 @@ Class QInputMethodEvent::Attribute
base size=32 base align=8
QInputMethodEvent::Attribute (0x32631348) 0
-Class QList<QInputMethodEvent::Attribute>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute>::<anonymous union> (0x32631ab8) 0
-Class QList<QInputMethodEvent::Attribute>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute> (0x32631770) 0
Vtable for QInputMethodEvent
QInputMethodEvent::_ZTV17QInputMethodEvent: 4u entries
@@ -3741,15 +2919,7 @@ Class QTextLayout
base size=4 base align=4
QTextLayout (0x326f9188) 0
-Class QVector<QTextLayout::FormatRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange>::<anonymous union> (0x326f9428) 0
-Class QVector<QTextLayout::FormatRange>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange> (0x326f9348) 0
Class QTextLine
size=8 align=4
@@ -3798,10 +2968,6 @@ Class QTextDocumentFragment
base size=4 base align=4
QTextDocumentFragment (0x326f9850) 0
-Class QSharedDataPointer<QTextCursorPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextCursorPrivate> (0x326f9968) 0
Class QTextCursor
size=4 align=4
@@ -3824,15 +2990,7 @@ Class QAbstractTextDocumentLayout::Selection
base size=12 base align=4
QAbstractTextDocumentLayout::Selection (0x326f9ee0) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union> (0x326f9a48) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection> (0x326f9000) 0
Class QAbstractTextDocumentLayout::PaintContext
size=56 align=8
@@ -4196,10 +3354,6 @@ Class QItemSelectionRange
base size=8 base align=4
QItemSelectionRange (0x328db460) 0
-Class QTypeInfo<QItemSelectionRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QItemSelectionRange> (0x328db818) 0 empty
Vtable for QItemSelectionModel
QItemSelectionModel::_ZTV19QItemSelectionModel: 18u entries
@@ -4230,20 +3384,8 @@ QItemSelectionModel (0x327e2240) 0
QObject (0x328db8c0) 0
primary-for QItemSelectionModel (0x327e2240)
-Class QFlags<QItemSelectionModel::SelectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QItemSelectionModel::SelectionFlag> (0x328dba48) 0
-Class QList<QItemSelectionRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::<anonymous union> (0x328dbb98) 0
-Class QList<QItemSelectionRange>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange> (0x328dbaf0) 0
Class QItemSelection
size=4 align=4
@@ -4450,20 +3592,12 @@ QAbstractSpinBox (0x327e2480) 0
QPaintDevice (0x329b7000) 8
vptr=((& QAbstractSpinBox::_ZTV16QAbstractSpinBox) + 252u)
-Class QFlags<QAbstractSpinBox::StepEnabledFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractSpinBox::StepEnabledFlag> (0x329b71f8) 0
Class QIcon
size=4 align=4
base size=4 base align=4
QIcon (0x329b7230) 0
-Class QTypeInfo<QIcon>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QIcon> (0x329b7310) 0 empty
Vtable for QAbstractSlider
QAbstractSlider::_ZTV15QAbstractSlider: 64u entries
@@ -4671,15 +3805,7 @@ QStyle (0x327e26c0) 0
QObject (0x329b7770) 0
primary-for QStyle (0x327e26c0)
-Class QFlags<QStyle::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::StateFlag> (0x329b7930) 0
-Class QFlags<QStyle::SubControl>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::SubControl> (0x329b79a0) 0
Vtable for QTabBar
QTabBar::_ZTV7QTabBar: 67u entries
@@ -4938,10 +4064,6 @@ Class QStyleOptionFrame
QStyleOptionFrame (0x327e2940) 0
QStyleOption (0x329b7460) 0
-Class QFlags<QStyleOptionFrameV2::FrameFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionFrameV2::FrameFeature> (0x329b7f88) 0
Class QStyleOptionFrameV2
size=56 align=4
@@ -4968,10 +4090,6 @@ Class QStyleOptionHeader
QStyleOptionHeader (0x327e2a80) 0
QStyleOption (0x32ae3428) 0
-Class QFlags<QStyleOptionButton::ButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionButton::ButtonFeature> (0x32ae3620) 0
Class QStyleOptionButton
size=64 align=4
@@ -4979,10 +4097,6 @@ Class QStyleOptionButton
QStyleOptionButton (0x327e2b00) 0
QStyleOption (0x32ae3540) 0
-Class QFlags<QStyleOptionTab::CornerWidget>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionTab::CornerWidget> (0x32ae3818) 0
Class QStyleOptionTab
size=72 align=4
@@ -4997,10 +4111,6 @@ QStyleOptionTabV2 (0x327e2bc0) 0
QStyleOptionTab (0x327e2c00) 0
QStyleOption (0x32ae3930) 0
-Class QFlags<QStyleOptionToolBar::ToolBarFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionToolBar::ToolBarFeature> (0x32ae3c08) 0
Class QStyleOptionToolBar
size=68 align=4
@@ -5027,10 +4137,6 @@ Class QStyleOptionMenuItem
QStyleOptionMenuItem (0x327e2d40) 0
QStyleOption (0x32ae3ea8) 0
-Class QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature> (0x32ae3460) 0
Class QStyleOptionQ3ListViewItem
size=64 align=4
@@ -5056,10 +4162,6 @@ Class QStyleOptionViewItem
QStyleOptionViewItem (0x327e2e40) 0
QStyleOption (0x32b8d0e0) 0
-Class QFlags<QStyleOptionViewItemV2::ViewItemFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionViewItemV2::ViewItemFeature> (0x32b8d2d8) 0
Class QStyleOptionViewItemV2
size=84 align=4
@@ -5100,15 +4202,7 @@ QStyleOptionSpinBox (0x32bc6040) 0
QStyleOptionComplex (0x32bc6080) 0
QStyleOption (0x32b8da10) 0
-Class QList<QStyleOptionQ3ListViewItem>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::<anonymous union> (0x32b8dcb0) 0
-Class QList<QStyleOptionQ3ListViewItem>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem> (0x32b8dc08) 0
Class QStyleOptionQ3ListView
size=84 align=4
@@ -5117,10 +4211,6 @@ QStyleOptionQ3ListView (0x32bc60c0) 0
QStyleOptionComplex (0x32bc6100) 0
QStyleOption (0x32b8db28) 0
-Class QFlags<QStyleOptionToolButton::ToolButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionToolButton::ToolButtonFeature> (0x32b8df18) 0
Class QStyleOptionToolButton
size=96 align=4
@@ -5328,10 +4418,6 @@ QAbstractItemView (0x32bc64c0) 0
QPaintDevice (0x32c26460) 8
vptr=((& QAbstractItemView::_ZTV17QAbstractItemView) + 392u)
-Class QFlags<QAbstractItemView::EditTrigger>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractItemView::EditTrigger> (0x32c26658) 0
Vtable for QListView
QListView::_ZTV9QListView: 103u entries
@@ -6096,10 +5182,6 @@ QMessageBox (0x32bc6cc0) 0
QPaintDevice (0x32d0d3f0) 8
vptr=((& QMessageBox::_ZTV11QMessageBox) + 244u)
-Class QFlags<QMessageBox::StandardButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<QMessageBox::StandardButton> (0x32d0d620) 0
Vtable for QProgressDialog
QProgressDialog::_ZTV15QProgressDialog: 66u entries
@@ -6350,10 +5432,6 @@ QFileDialog (0x32bc6f00) 0
QPaintDevice (0x32d0da10) 8
vptr=((& QFileDialog::_ZTV11QFileDialog) + 244u)
-Class QFlags<QFileDialog::Option>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileDialog::Option> (0x32d0dc08) 0
Vtable for QAbstractPrintDialog
QAbstractPrintDialog::_ZTV20QAbstractPrintDialog: 67u entries
@@ -6439,10 +5517,6 @@ QAbstractPrintDialog (0x32df1000) 0
QPaintDevice (0x32d0dd90) 8
vptr=((& QAbstractPrintDialog::_ZTV20QAbstractPrintDialog) + 248u)
-Class QFlags<QAbstractPrintDialog::PrintDialogOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractPrintDialog::PrintDialogOption> (0x32d0df88) 0
Vtable for QPrintDialog
QPrintDialog::_ZTV12QPrintDialog: 67u entries
@@ -6864,10 +5938,6 @@ QImageIOPlugin (0x32df1480) 0
QFactoryInterface (0x32e22850) 8 nearly-empty
primary-for QImageIOHandlerFactoryInterface (0x32df14c0)
-Class QFlags<QImageIOPlugin::Capability>
- size=4 align=4
- base size=4 base align=4
-QFlags<QImageIOPlugin::Capability> (0x32e22a48) 0
Vtable for QPicture
QPicture::_ZTV8QPicture: 8u entries
@@ -7215,50 +6285,14 @@ Class QPainter
base size=4 base align=4
QPainter (0x32ef1dc8) 0
-Class QFlags<QPainter::RenderHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPainter::RenderHint> (0x32fa30e0) 0
-Class QVector<QLineF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF>::<anonymous union> (0x32fa3268) 0
-Class QVector<QLineF>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF> (0x32fa3188) 0
-Class QVector<QLine>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine>::<anonymous union> (0x32fa3428) 0
-Class QVector<QLine>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine> (0x32fa3348) 0
-Class QVector<QRectF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF>::<anonymous union> (0x32fa35e8) 0
-Class QVector<QRectF>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF> (0x32fa3508) 0
-Class QVector<QRect>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect>::<anonymous union> (0x32fa37a8) 0
-Class QVector<QRect>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect> (0x32fa36c8) 0
Class QStylePainter
size=12 align=4
@@ -7276,25 +6310,13 @@ Class QPainterPath
base size=4 base align=4
QPainterPath (0x32fa3a48) 0
-Class QVector<QPainterPath::Element>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element>::<anonymous union> (0x32fa3ee0) 0
-Class QVector<QPainterPath::Element>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element> (0x32fa3e00) 0
Class QPainterPathPrivate
size=8 align=4
base size=8 base align=4
QPainterPathPrivate (0x32fa3c40) 0
-Class QTypeInfo<QPainterPath::Element>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPainterPath::Element> (0x32fa3f88) 0 empty
Class QPainterPathStroker
size=4 align=4
@@ -7306,15 +6328,7 @@ Class QTextItem
base size=0 base align=1
QTextItem (0x330a11c0) 0 empty
-Class QTypeInfo<QTextItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextItem> (0x330a1268) 0 empty
-Class QFlags<QPaintEngine::PaintEngineFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::PaintEngineFeature> (0x330a13f0) 0
Vtable for QPaintEngine
QPaintEngine::_ZTV12QPaintEngine: 24u entries
@@ -7349,25 +6363,13 @@ Class QPaintEngine
QPaintEngine (0x330a12d8) 0
vptr=((& QPaintEngine::_ZTV12QPaintEngine) + 8u)
-Class QFlags<QPaintEngine::DirtyFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::DirtyFlag> (0x330a15e8) 0
Class QPaintEngineState
size=4 align=4
base size=4 base align=4
QPaintEngineState (0x330a1540) 0
-Class QFlags<QTextItem::RenderFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextItem::RenderFlag> (0x330a1658) 0
-Class QFlags<QTreeWidgetItemIterator::IteratorFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTreeWidgetItemIterator::IteratorFlag> (0x330a1770) 0
Class QTreeWidgetItemIterator
size=12 align=4
@@ -7457,15 +6459,7 @@ QStringListModel (0x32df1900) 0
QObject (0x330a1a80) 0
primary-for QAbstractItemModel (0x32df1980)
-Class QVector<QWidgetItemData>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData>::<anonymous union> (0x330a1d58) 0
-Class QVector<QWidgetItemData>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData> (0x330a1c78) 0
Vtable for QListWidgetItem
QListWidgetItem::_ZTV15QListWidgetItem: 11u entries
@@ -7708,15 +6702,7 @@ Class QStandardItem
QStandardItem (0x3318a498) 0
vptr=((& QStandardItem::_ZTV13QStandardItem) + 8u)
-Class QList<QStandardItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QStandardItem*>::<anonymous union> (0x3318a850) 0
-Class QList<QStandardItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QStandardItem*> (0x3318a7a8) 0
Vtable for QStandardItemModel
QStandardItemModel::_ZTV18QStandardItemModel: 42u entries
@@ -8537,15 +7523,7 @@ Class QItemEditorCreatorBase
QItemEditorCreatorBase (0x332ed658) 0 nearly-empty
vptr=((& QItemEditorCreatorBase::_ZTV22QItemEditorCreatorBase) + 8u)
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union> (0x332edab8) 0
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*> (0x332ed9a0) 0
Vtable for QItemEditorFactory
QItemEditorFactory::_ZTV18QItemEditorFactory: 6u entries
@@ -8562,25 +7540,9 @@ Class QItemEditorFactory
QItemEditorFactory (0x332ed8c0) 0
vptr=((& QItemEditorFactory::_ZTV18QItemEditorFactory) + 8u)
-Class QVector<QVector<QWidgetItemData> >::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> >::<anonymous union> (0x332edea8) 0
-Class QVector<QVector<QWidgetItemData> >
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> > (0x332eddc8) 0
-Class QList<QTreeWidgetItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::<anonymous union> (0x332ed268) 0
-Class QList<QTreeWidgetItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*> (0x332edf88) 0
Vtable for QTreeWidgetItem
QTreeWidgetItem::_ZTV15QTreeWidgetItem: 10u entries
@@ -8807,15 +7769,7 @@ Class QAccessible
base size=0 base align=1
QAccessible (0x333c97e0) 0 empty
-Class QFlags<QAccessible::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::StateFlag> (0x333c98c0) 0
-Class QFlags<QAccessible::RelationFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::RelationFlag> (0x333c9930) 0
Vtable for QAccessibleInterface
QAccessibleInterface::_ZTV20QAccessibleInterface: 19u entries
@@ -9768,15 +8722,7 @@ QActionGroup (0x33538240) 0
QObject (0x33503818) 0
primary-for QActionGroup (0x33538240)
-Class QList<QAction*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QAction*>::<anonymous union> (0x335bf0e0) 0
-Class QList<QAction*>
- size=4 align=4
- base size=4 base align=4
-QList<QAction*> (0x335bf038) 0
Vtable for QSound
QSound::_ZTV6QSound: 14u entries
@@ -9946,10 +8892,6 @@ QCommonStyle (0x335383c0) 0
QObject (0x335bf658) 0
primary-for QStyle (0x33538400)
-Class QPointer<QFocusFrame>
- size=4 align=4
- base size=4 base align=4
-QPointer<QFocusFrame> (0x335bf850) 0
Vtable for QMotifStyle
QMotifStyle::_ZTV11QMotifStyle: 35u entries
@@ -10471,15 +9413,7 @@ Class QGraphicsItem
QGraphicsItem (0x3368d460) 0
vptr=((& QGraphicsItem::_ZTV13QGraphicsItem) + 8u)
-Class QFlags<QGraphicsItem::GraphicsItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGraphicsItem::GraphicsItemFlag> (0x3368d770) 0
-Class QMetaTypeId<QGraphicsItem*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QGraphicsItem*> (0x3368d7e0) 0 empty
Vtable for QAbstractGraphicsShapeItem
QAbstractGraphicsShapeItem::_ZTV26QAbstractGraphicsShapeItem: 39u entries
@@ -11252,20 +10186,8 @@ QGraphicsView (0x33787100) 0
QPaintDevice (0x33738e38) 8
vptr=((& QGraphicsView::_ZTV13QGraphicsView) + 252u)
-Class QFlags<QGraphicsView::CacheModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGraphicsView::CacheModeFlag> (0x33738930) 0
-Class QList<QGraphicsItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QGraphicsItem*>::<anonymous union> (0x337cf000) 0
-Class QList<QGraphicsItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QGraphicsItem*> (0x33738bd0) 0
Vtable for QGraphicsSceneEvent
QGraphicsSceneEvent::_ZTV19QGraphicsSceneEvent: 4u entries
@@ -12517,10 +11439,6 @@ QDateEdit (0x33787e00) 0
QPaintDevice (0x338c9f18) 8
vptr=((& QDateEdit::_ZTV9QDateEdit) + 260u)
-Class QFlags<QDateTimeEdit::Section>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDateTimeEdit::Section> (0x338c96c8) 0
Vtable for QLabel
QLabel::_ZTV6QLabel: 63u entries
@@ -12680,10 +11598,6 @@ QDockWidget (0x33787fc0) 0
QPaintDevice (0x339a90a8) 8
vptr=((& QDockWidget::_ZTV11QDockWidget) + 232u)
-Class QFlags<QDockWidget::DockWidgetFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDockWidget::DockWidgetFeature> (0x339a9310) 0
Vtable for QGroupBox
QGroupBox::_ZTV9QGroupBox: 63u entries
@@ -12841,10 +11755,6 @@ QDialogButtonBox (0x339b10c0) 0
QPaintDevice (0x339a9540) 8
vptr=((& QDialogButtonBox::_ZTV16QDialogButtonBox) + 232u)
-Class QFlags<QDialogButtonBox::StandardButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDialogButtonBox::StandardButton> (0x339a9738) 0
Vtable for QMainWindow
QMainWindow::_ZTV11QMainWindow: 64u entries
@@ -13018,10 +11928,6 @@ QTextEdit (0x339b11c0) 0
QPaintDevice (0x339a9968) 8
vptr=((& QTextEdit::_ZTV9QTextEdit) + 256u)
-Class QFlags<QTextEdit::AutoFormattingFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextEdit::AutoFormattingFlag> (0x339a9c08) 0
Vtable for QProgressBar
QProgressBar::_ZTV12QProgressBar: 64u entries
@@ -14024,10 +12930,6 @@ QFontComboBox (0x339b1ac0) 0
QPaintDevice (0x33bc6118) 8
vptr=((& QFontComboBox::_ZTV13QFontComboBox) + 240u)
-Class QFlags<QFontComboBox::FontFilter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFontComboBox::FontFilter> (0x33bc6310) 0
Vtable for QToolBar
QToolBar::_ZTV8QToolBar: 63u entries
@@ -14601,178 +13503,38 @@ QGraphicsSvgItem (0x33ca4400) 0
QGraphicsItem (0x33d2fe00) 8
vptr=((& QGraphicsSvgItem::_ZTV16QGraphicsSvgItem) + 76u)
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0x33dd3700) 0
-Class QTypeInfo<QDebug::Stream*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDebug::Stream*> (0x33dd3e38) 0 empty
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0x33deec40) 0
-Class QVectorTypedData<QPoint>
- size=24 align=4
- base size=24 base align=4
-QVectorTypedData<QPoint> (0x33e3fe00) 0
-Class QVectorTypedData<QPointF>
- size=32 align=8
- base size=32 base align=8
-QVectorTypedData<QPointF> (0x33e5e428) 0
-Class QVectorTypedData<QTextLength>
- size=32 align=8
- base size=32 base align=8
-QVectorTypedData<QTextLength> (0x33e8b070) 0
-Class QVectorTypedData<QTextLayout::FormatRange>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QTextLayout::FormatRange> (0x33e8bd20) 0
-Class QVectorTypedData<QAbstractTextDocumentLayout::Selection>
- size=28 align=4
- base size=28 base align=4
-QVectorTypedData<QAbstractTextDocumentLayout::Selection> (0x33e8bfc0) 0
-Class QVectorTypedData<QLineF>
- size=48 align=8
- base size=48 base align=8
-QVectorTypedData<QLineF> (0x33f31f88) 0
-Class QVectorTypedData<QLine>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QLine> (0x33f4e118) 0
-Class QVectorTypedData<QRectF>
- size=48 align=8
- base size=48 base align=8
-QVectorTypedData<QRectF> (0x33f4e2a0) 0
-Class QVectorTypedData<QRect>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QRect> (0x33f4e428) 0
-Class QVectorTypedData<QPainterPath::Element>
- size=40 align=8
- base size=40 base align=8
-QVectorTypedData<QPainterPath::Element> (0x33f4e5b0) 0
-Class QList<QTreeWidgetItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::Node (0x33f86ab8) 0
-Class QVectorTypedData<QVector<QWidgetItemData> >
- size=20 align=4
- base size=20 base align=4
-QVectorTypedData<QVector<QWidgetItemData> > (0x33f86cb0) 0
-Class QList<QAction*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QAction*>::Node (0x33fca3f0) 0
-Class QTypeInfo<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLength> (0x3404b2a0) 0 empty
-Class QTypeInfo<QTextLayout::FormatRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLayout::FormatRange> (0x3404b690) 0 empty
-Class QTypeInfo<QAbstractTextDocumentLayout::Selection>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAbstractTextDocumentLayout::Selection> (0x3404ba80) 0 empty
-Class QTypeInfo<QStandardItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QStandardItem*> (0x34080188) 0 empty
-Class QHashNode<QVariant::Type, QItemEditorCreatorBase*>
- size=16 align=4
- base size=16 base align=4
-QHashNode<QVariant::Type, QItemEditorCreatorBase*> (0x340802a0) 0
-Class QTypeInfo<QTreeWidgetItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTreeWidgetItem*> (0x34080428) 0 empty
-Class QTypeInfo<QAction*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAction*> (0x34080d90) 0 empty
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0x340a7540) 0
-Class QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union> (0x340a7738) 0
-Class QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union> (0x340a7d58) 0
-Class QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union> (0x340e61f8) 0
-Class QList<QItemSelectionRange>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::Node (0x340e6770) 0
-Class QTypeInfo<QStyleOptionQ3ListViewItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QStyleOptionQ3ListViewItem> (0x340e68f8) 0 empty
-Class QList<QStyleOptionQ3ListViewItem>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::Node (0x340e69a0) 0
-Class QList<QStandardItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QStandardItem*>::Node (0x340e6d90) 0
-Class QList<QVariant>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::Node (0x34115188) 0
-Class QTypeInfo<QGraphicsItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QGraphicsItem*> (0x34115498) 0 empty
-Class QList<QGraphicsItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QGraphicsItem*>::Node (0x34115540) 0
-Class QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union> (0x34115ea8) 0
diff --git a/tests/auto/bic/data/QtSvg.4.2.0.macx-gcc-ia32.txt b/tests/auto/bic/data/QtSvg.4.2.0.macx-gcc-ia32.txt
index 068a6b8..17e7491 100644
--- a/tests/auto/bic/data/QtSvg.4.2.0.macx-gcc-ia32.txt
+++ b/tests/auto/bic/data/QtSvg.4.2.0.macx-gcc-ia32.txt
@@ -1,34 +1,8 @@
-Class QUintForSize<4>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<4> (0x702cc0) 0 empty
-Class QUintForSize<8>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<8> (0x702d40) 0 empty
-Class QUintForType<void*>
- size=1 align=1
- base size=1 base align=1
-QUintForType<void*> (0x702f00) 0 empty
- QUintForSize<4> (0x702f40) 0 empty
-Class QIntForSize<4>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<4> (0x708040) 0 empty
-Class QIntForSize<8>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<8> (0x7080c0) 0 empty
-Class QIntForType<void*>
- size=1 align=1
- base size=1 base align=1
-QIntForType<void*> (0x708280) 0 empty
- QIntForSize<4> (0x7082c0) 0 empty
Class QSysInfo
size=1 align=1
@@ -50,75 +24,19 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0x7087c0) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0x708a00) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0x708ac0) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0x708b80) 0 empty
-Class QTypeInfo<uchar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uchar> (0x708c40) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0x708d00) 0 empty
-Class QTypeInfo<ushort>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ushort> (0x708dc0) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0x708e80) 0 empty
-Class QTypeInfo<uint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uint> (0x708f40) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0x168d000) 0 empty
-Class QTypeInfo<ulong>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ulong> (0x168d0c0) 0 empty
-Class QTypeInfo<qint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<qint64> (0x168d180) 0 empty
-Class QTypeInfo<quint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<quint64> (0x168d240) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0x168d300) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0x168d3c0) 0 empty
Class QFlag
size=4 align=4
@@ -135,10 +53,6 @@ Class QChar
base size=2 base align=2
QChar (0x168d6c0) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0x168d7c0) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -151,10 +65,6 @@ Class QAtomic
QAtomic (0x168dec0) 0
QBasicAtomic (0x168df00) 0
-Class <anonymous union>
- size=128 align=4
- base size=128 base align=4
-<anonymous union> (0x171a180) 0
Class __darwin_pthread_handler_rec
size=12 align=4
@@ -236,75 +146,19 @@ Class QByteRef
base size=8 base align=4
QByteRef (0x171aec0) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0x17ad280) 0 empty
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0x17ad700) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0x17ad780) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0x17ad800) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0x17ad880) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0x17ad900) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0x17ad980) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0x17ada00) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0x17ada80) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0x17adb00) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0x17adb80) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0x17adc00) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0x17adc80) 0
-Class QFlags<Qt::TextInteractionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::TextInteractionFlag> (0x17add00) 0
Class QInternal
size=1 align=1
@@ -331,10 +185,6 @@ Class QLatin1String
base size=4 base align=4
QLatin1String (0x195d4c0) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0x195d900) 0
Class QCharRef
size=8 align=4
@@ -347,10 +197,6 @@ Class QConstString
QConstString (0x1aaa540) 0
QString (0x1aaa580) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0x1aaa680) 0 empty
Vtable for std::exception
std::exception::_ZTVSt9exception: 5u entries
@@ -413,10 +259,6 @@ Class QListData
base size=4 base align=4
QListData (0x1aaaf00) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0x1b20480) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -441,15 +283,7 @@ Class QTextCodec
QTextCodec (0x1b20300) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0x1b207c0) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0x1b20700) 0
Class QTextEncoder
size=32 align=4
@@ -472,25 +306,13 @@ Class QGenericReturnArgument
QGenericReturnArgument (0x1b20a00) 0
QGenericArgument (0x1b20a40) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0x1b20d00) 0
Class QMetaObject
size=16 align=4
base size=16 base align=4
QMetaObject (0x1b20c80) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0x1b20f80) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0x1b20ec0) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -582,10 +404,6 @@ QIODevice (0x1c58500) 0
QObject (0x1c58540) 0
primary-for QIODevice (0x1c58500)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0x1c58780) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -605,25 +423,13 @@ Class QRegExp
base size=4 base align=4
QRegExp (0x1c58e80) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0x1c58b40) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0x1d2b040) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0x1d2b240) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0x1d2b180) 0
Class QStringList
size=4 align=4
@@ -631,15 +437,7 @@ Class QStringList
QStringList (0x1d2b300) 0
QList<QString> (0x1d2b340) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0x1d2b800) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0x1d2b880) 0
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -773,50 +571,22 @@ QFile (0x1da4640) 0
QObject (0x1da46c0) 0
primary-for QIODevice (0x1da4680)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0x1da4880) 0
Class QFileInfo
size=4 align=4
base size=4 base align=4
QFileInfo (0x1da48c0) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0x1da4980) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0x1da4a00) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0x1da4bc0) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0x1da4b00) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0x1da4c80) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0x1da4dc0) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0x1da4e40) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -873,10 +643,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0x1da4e80) 0
vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0x1ec8040) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -950,10 +716,6 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0x1ec8540) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0x1ec85c0) 0 empty
Class QMapData::Node
size=8 align=4
@@ -978,10 +740,6 @@ Class QTextStream
QTextStream (0x1f2a9c0) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0x1f2ac80) 0
Class QTextStreamManipulator
size=24 align=4
@@ -1078,35 +836,15 @@ Class rlimit
base size=16 base align=4
rlimit (0x20c3700) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0x20c3e80) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0x20c3f00) 0
Class wait
size=4 align=4
base size=4 base align=4
wait (0x20c3e00) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x20c3f80) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x20c31c0) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0x20f4040) 0
Class QVectorData
size=16 align=4
@@ -1244,15 +982,7 @@ Class QLocale
base size=4 base align=4
QLocale (0x20f4f40) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0x20f49c0) 0 empty
-Class QFlags<QLocale::NumberOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLocale::NumberOption> (0x20f4ec0) 0
Vtable for QSystemLocale
QSystemLocale::_ZTV13QSystemLocale: 6u entries
@@ -1279,270 +1009,58 @@ Class QMetaType
base size=0 base align=1
QMetaType (0x22ca1c0) 0 empty
-Class QMetaTypeId2<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QString> (0x22ca3c0) 0 empty
-Class QMetaTypeId2<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<int> (0x22ca480) 0 empty
-Class QMetaTypeId2<uint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<uint> (0x22ca540) 0 empty
-Class QMetaTypeId2<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<bool> (0x22ca600) 0 empty
-Class QMetaTypeId2<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<double> (0x22ca6c0) 0 empty
-Class QMetaTypeId2<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QByteArray> (0x22ca780) 0 empty
-Class QMetaTypeId2<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QChar> (0x22ca840) 0 empty
-Class QMetaTypeId2<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long int> (0x22ca900) 0 empty
-Class QMetaTypeId2<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short int> (0x22ca9c0) 0 empty
-Class QMetaTypeId2<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<char> (0x22caa80) 0 empty
-Class QMetaTypeId2<ulong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<ulong> (0x22cab40) 0 empty
-Class QMetaTypeId2<ushort>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<ushort> (0x22cac00) 0 empty
-Class QMetaTypeId2<uchar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<uchar> (0x22cacc0) 0 empty
-Class QMetaTypeId2<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<float> (0x22cad80) 0 empty
-Class QMetaTypeId2<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QObject*> (0x22cae40) 0 empty
-Class QMetaTypeId2<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QWidget*> (0x22caf00) 0 empty
-Class QMetaTypeId2<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<void*> (0x22cafc0) 0 empty
-Class QMetaTypeId2<qlonglong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<qlonglong> (0x22ff040) 0 empty
-Class QMetaTypeId2<qulonglong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<qulonglong> (0x22ff100) 0 empty
-Class QMetaTypeId2<QStringList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QStringList> (0x22ff1c0) 0 empty
-Class QMetaTypeId2<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitArray> (0x22ff280) 0 empty
-Class QMetaTypeId2<QDate>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDate> (0x22ff340) 0 empty
-Class QMetaTypeId2<QTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTime> (0x22ff400) 0 empty
-Class QMetaTypeId2<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDateTime> (0x22ff4c0) 0 empty
-Class QMetaTypeId2<QUrl>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QUrl> (0x22ff580) 0 empty
-Class QMetaTypeId2<QLocale>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLocale> (0x22ff640) 0 empty
-Class QMetaTypeId2<QRect>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRect> (0x22ff700) 0 empty
-Class QMetaTypeId2<QRectF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRectF> (0x22ff7c0) 0 empty
-Class QMetaTypeId2<QSize>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSize> (0x22ff880) 0 empty
-Class QMetaTypeId2<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizeF> (0x22ff940) 0 empty
-Class QMetaTypeId2<QLine>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLine> (0x22ffa00) 0 empty
-Class QMetaTypeId2<QLineF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLineF> (0x22ffac0) 0 empty
-Class QMetaTypeId2<QPoint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPoint> (0x22ffb80) 0 empty
-Class QMetaTypeId2<QPointF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPointF> (0x22ffc40) 0 empty
-Class QMetaTypeId2<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegExp> (0x22ffd00) 0 empty
-Class QMetaTypeId2<QColorGroup>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColorGroup> (0x22ffdc0) 0 empty
-Class QMetaTypeId2<QFont>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QFont> (0x22ffe80) 0 empty
-Class QMetaTypeId2<QPixmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPixmap> (0x22fff40) 0 empty
-Class QMetaTypeId2<QBrush>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBrush> (0x231a000) 0 empty
-Class QMetaTypeId2<QColor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColor> (0x231a0c0) 0 empty
-Class QMetaTypeId2<QPalette>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPalette> (0x231a180) 0 empty
-Class QMetaTypeId2<QIcon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QIcon> (0x231a240) 0 empty
-Class QMetaTypeId2<QImage>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QImage> (0x231a300) 0 empty
-Class QMetaTypeId2<QPolygon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPolygon> (0x231a3c0) 0 empty
-Class QMetaTypeId2<QRegion>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegion> (0x231a480) 0 empty
-Class QMetaTypeId2<QBitmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitmap> (0x231a540) 0 empty
-Class QMetaTypeId2<QCursor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QCursor> (0x231a600) 0 empty
-Class QMetaTypeId2<QSizePolicy>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizePolicy> (0x231a6c0) 0 empty
-Class QMetaTypeId2<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QKeySequence> (0x231a780) 0 empty
-Class QMetaTypeId2<QPen>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPen> (0x231a840) 0 empty
-Class QMetaTypeId2<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextLength> (0x231a900) 0 empty
-Class QMetaTypeId2<QTextFormat>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextFormat> (0x231a9c0) 0 empty
-Class QMetaTypeId2<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMatrix> (0x231aa80) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -1569,60 +1087,20 @@ Class QVariant
base size=12 base align=4
QVariant (0x231ab00) 0
-Class QMetaTypeId2<QVariantList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QVariantList> (0x231ad40) 0 empty
-Class QMetaTypeId2<QVariantMap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QVariantMap> (0x2372000) 0 empty
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0x2372200) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0x2372140) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0x2372400) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0x2372340) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0x2372580) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0x23726c0) 0 empty
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0x2372780) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x2372800) 0
-Class <anonymous struct>
- size=3156 align=4
- base size=3156 base align=4
-<anonymous struct> (0x2372880) 0
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1700,15 +1178,7 @@ Class QUrl
base size=4 base align=4
QUrl (0x2372cc0) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0x2427180) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0x2427200) 0 empty
Vtable for QEventLoop
QEventLoop::_ZTV10QEventLoop: 14u entries
@@ -1735,10 +1205,6 @@ QEventLoop (0x2427280) 0
QObject (0x24272c0) 0
primary-for QEventLoop (0x2427280)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0x24274c0) 0
Vtable for QAbstractEventDispatcher
QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 27u entries
@@ -1783,20 +1249,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0x2427700) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0x24278c0) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0x2427940) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0x2427a80) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -1966,10 +1424,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0x252b040) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0x252b140) 0 empty
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -2076,20 +1530,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0x252be80) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0x252bf40) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0x252bfc0) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0x252b5c0) 0 empty
Class QMetaProperty
size=20 align=4
@@ -2101,10 +1547,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0x252ba00) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0x2599000) 0 empty
Vtable for QMimeData
QMimeData::_ZTV9QMimeData: 17u entries
@@ -2286,10 +1728,6 @@ QLibrary (0x25999c0) 0
QObject (0x2599a00) 0
primary-for QLibrary (0x25999c0)
-Class QFlags<QLibrary::LoadHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLibrary::LoadHint> (0x2599bc0) 0
Vtable for QPluginLoader
QPluginLoader::_ZTV13QPluginLoader: 14u entries
@@ -2326,10 +1764,6 @@ Class QMutex
base size=4 base align=4
QMutex (0x2599f00) 0
-Class QMutexLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMutexLocker::<anonymous union> (0x2599640) 0
Class QMutexLocker
size=4 align=4
@@ -2341,20 +1775,12 @@ Class QReadWriteLock
base size=4 base align=4
QReadWriteLock (0x2599b00) 0
-Class QReadLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QReadLocker::<anonymous union> (0x265c040) 0
Class QReadLocker
size=4 align=4
base size=4 base align=4
QReadLocker (0x2599d00) 0
-Class QWriteLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QWriteLocker::<anonymous union> (0x265c180) 0
Class QWriteLocker
size=4 align=4
@@ -2412,10 +1838,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0x265cb80) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0x265cc80) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -2427,70 +1849,42 @@ Class QDate
base size=4 base align=4
QDate (0x265cf00) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0x2721040) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0x27210c0) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0x27212c0) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0x2721340) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0x27214c0) 0 empty
Class QPoint
size=8 align=4
base size=8 base align=4
QPoint (0x2721540) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0x27219c0) 0 empty
Class QPointF
size=16 align=4
base size=16 base align=4
QPointF (0x2721c80) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0x2721400) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0x2721e40) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0x2721f40) 0 empty
Class QLineF
size=32 align=4
base size=32 base align=4
QLineF (0x27aa100) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0x27aa1c0) 0 empty
Class QLinkedListData
size=20 align=4
@@ -2502,40 +1896,24 @@ Class QSize
base size=8 base align=4
QSize (0x27aa800) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0x27aac00) 0 empty
Class QSizeF
size=16 align=4
base size=16 base align=4
QSizeF (0x27aafc0) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0x289f000) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0x289f480) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0x289f640) 0 empty
Class QRectF
size=32 align=4
base size=32 base align=4
QRectF (0x289f8c0) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0x289fa80) 0 empty
Class QSharedData
size=4 align=4
@@ -2583,10 +1961,6 @@ Class QKeySequence
base size=4 base align=4
QKeySequence (0x29da380) 0
-Class QTypeInfo<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QKeySequence> (0x29da540) 0 empty
Vtable for QMimeSource
QMimeSource::_ZTV11QMimeSource: 7u entries
@@ -2625,15 +1999,7 @@ Class QMacMime
QMacMime (0x29da740) 0
vptr=((& QMacMime::_ZTV8QMacMime) + 8u)
-Class QList<QMacMime*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QMacMime*>::<anonymous union> (0x29daa80) 0
-Class QList<QMacMime*>
- size=4 align=4
- base size=4 base align=4
-QList<QMacMime*> (0x29da9c0) 0
Vtable for QMacPasteboardMime
QMacPasteboardMime::_ZTV18QMacPasteboardMime: 10u entries
@@ -2934,15 +2300,7 @@ Class QInputMethodEvent::Attribute
base size=24 base align=4
QInputMethodEvent::Attribute (0x2adb380) 0
-Class QList<QInputMethodEvent::Attribute>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute>::<anonymous union> (0x2adb540) 0
-Class QList<QInputMethodEvent::Attribute>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute> (0x2adb480) 0
Vtable for QInputMethodEvent
QInputMethodEvent::_ZTV17QInputMethodEvent: 4u entries
@@ -3231,15 +2589,7 @@ Class QAccessible
base size=0 base align=1
QAccessible (0x2b31f40) 0 empty
-Class QFlags<QAccessible::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::StateFlag> (0x2b313c0) 0
-Class QFlags<QAccessible::RelationFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::RelationFlag> (0x2b316c0) 0
Vtable for QAccessibleInterface
QAccessibleInterface::_ZTV20QAccessibleInterface: 19u entries
@@ -3628,40 +2978,16 @@ Class QPaintDevice
QPaintDevice (0x2bd76c0) 0
vptr=((& QPaintDevice::_ZTV12QPaintDevice) + 8u)
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x2bd7a00) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x2bd7a80) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x2bd7b00) 0
-Class QColor::<anonymous union>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union> (0x2bd7980) 0
Class QColor
size=16 align=4
base size=14 base align=4
QColor (0x2bd7900) 0
-Class QVector<QPoint>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint>::<anonymous union> (0x2bd7f40) 0
-Class QVector<QPoint>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint> (0x2bd7e40) 0
Class QPolygon
size=4 align=4
@@ -3669,15 +2995,7 @@ Class QPolygon
QPolygon (0x2bd7fc0) 0
QVector<QPoint> (0x2bd7180) 0
-Class QVector<QPointF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF>::<anonymous union> (0x2c612c0) 0
-Class QVector<QPointF>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF> (0x2c611c0) 0
Class QPolygonF
size=4 align=4
@@ -3690,10 +3008,6 @@ Class QMatrix
base size=48 base align=4
QMatrix (0x2c61680) 0
-Class QTypeInfo<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMatrix> (0x2c61700) 0 empty
Class QImageTextKeyLang
size=8 align=4
@@ -3718,10 +3032,6 @@ QImage (0x2c61900) 0
QPaintDevice (0x2c61940) 0
primary-for QImage (0x2c61900)
-Class QTypeInfo<QImage>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QImage> (0x2c61d00) 0 empty
Vtable for QPixmap
QPixmap::_ZTV7QPixmap: 7u entries
@@ -3746,45 +3056,17 @@ Class QBrush
base size=4 base align=4
QBrush (0x2c61fc0) 0
-Class QTypeInfo<QBrush>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBrush> (0x2d5c080) 0 empty
Class QBrushData
size=72 align=4
base size=72 base align=4
QBrushData (0x2d5c100) 0
-Class QVector<QGradientStop>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QGradientStop>::<anonymous union> (0x2d5c380) 0
-Class QVector<QGradientStop>
- size=4 align=4
- base size=4 base align=4
-QVector<QGradientStop> (0x2d5c280) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=32 align=4
- base size=32 base align=4
-QGradient::<anonymous union>::<anonymous struct> (0x2d5c4c0) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=40 align=4
- base size=40 base align=4
-QGradient::<anonymous union>::<anonymous struct> (0x2d5c540) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=24 align=4
- base size=24 base align=4
-QGradient::<anonymous union>::<anonymous struct> (0x2d5c5c0) 0
-Class QGradient::<anonymous union>
- size=40 align=4
- base size=40 base align=4
-QGradient::<anonymous union> (0x2d5c440) 0
Class QGradient
size=56 align=4
@@ -4180,10 +3462,6 @@ QAbstractPrintDialog (0x2f6d280) 0
QPaintDevice (0x2f6d340) 8
vptr=((& QAbstractPrintDialog::_ZTV20QAbstractPrintDialog) + 248u)
-Class QFlags<QAbstractPrintDialog::PrintDialogOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractPrintDialog::PrintDialogOption> (0x2f6d5c0) 0
Vtable for QColorDialog
QColorDialog::_ZTV12QColorDialog: 66u entries
@@ -4434,10 +3712,6 @@ QFileDialog (0x2f6db00) 0
QPaintDevice (0x2f6dbc0) 8
vptr=((& QFileDialog::_ZTV11QFileDialog) + 244u)
-Class QFlags<QFileDialog::Option>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileDialog::Option> (0x2f6de80) 0
Vtable for QFontDialog
QFontDialog::_ZTV11QFontDialog: 66u entries
@@ -4844,10 +4118,6 @@ QMessageBox (0x3018800) 0
QPaintDevice (0x30188c0) 8
vptr=((& QMessageBox::_ZTV11QMessageBox) + 244u)
-Class QFlags<QMessageBox::StandardButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<QMessageBox::StandardButton> (0x3018b40) 0
Vtable for QPageSetupDialog
QPageSetupDialog::_ZTV16QPageSetupDialog: 67u entries
@@ -5202,25 +4472,13 @@ Class QPainterPath
base size=4 base align=4
QPainterPath (0x3111480) 0
-Class QVector<QPainterPath::Element>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element>::<anonymous union> (0x31119c0) 0
-Class QVector<QPainterPath::Element>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element> (0x31118c0) 0
Class QPainterPathPrivate
size=8 align=4
base size=8 base align=4
QPainterPathPrivate (0x31116c0) 0
-Class QTypeInfo<QPainterPath::Element>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPainterPath::Element> (0x3111a80) 0 empty
Class QPainterPathStroker
size=4 align=4
@@ -5275,15 +4533,7 @@ Class QGraphicsItem
QGraphicsItem (0x3111e00) 0
vptr=((& QGraphicsItem::_ZTV13QGraphicsItem) + 8u)
-Class QFlags<QGraphicsItem::GraphicsItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGraphicsItem::GraphicsItemFlag> (0x3111f80) 0
-Class QMetaTypeId<QGraphicsItem*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QGraphicsItem*> (0x31c2040) 0 empty
Vtable for QAbstractGraphicsShapeItem
QAbstractGraphicsShapeItem::_ZTV26QAbstractGraphicsShapeItem: 39u entries
@@ -5872,10 +5122,6 @@ Class QPen
base size=4 base align=4
QPen (0x323bbc0) 0
-Class QTypeInfo<QPen>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPen> (0x323bd40) 0 empty
Vtable for QGraphicsScene
QGraphicsScene::_ZTV14QGraphicsScene: 34u entries
@@ -6044,60 +5290,20 @@ Class QTextOption
base size=24 base align=4
QTextOption (0x32a4a00) 0
-Class QFlags<QTextOption::Flag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextOption::Flag> (0x32a4b00) 0
Class QPainter
size=4 align=4
base size=4 base align=4
QPainter (0x32a4b40) 0
-Class QFlags<QPainter::RenderHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPainter::RenderHint> (0x32a4600) 0
-Class QVector<QLineF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF>::<anonymous union> (0x33650c0) 0
-Class QVector<QLineF>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF> (0x32a4c80) 0
-Class QVector<QLine>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine>::<anonymous union> (0x33652c0) 0
-Class QVector<QLine>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine> (0x33651c0) 0
-Class QVector<QRectF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF>::<anonymous union> (0x33654c0) 0
-Class QVector<QRectF>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF> (0x33653c0) 0
-Class QVector<QRect>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect>::<anonymous union> (0x3365680) 0
-Class QVector<QRect>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect> (0x3365580) 0
Vtable for QAbstractScrollArea
QAbstractScrollArea::_ZTV19QAbstractScrollArea: 65u entries
@@ -6352,20 +5558,8 @@ QGraphicsView (0x3365c40) 0
QPaintDevice (0x3365d40) 8
vptr=((& QGraphicsView::_ZTV13QGraphicsView) + 252u)
-Class QFlags<QGraphicsView::CacheModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGraphicsView::CacheModeFlag> (0x3365f80) 0
-Class QList<QGraphicsItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QGraphicsItem*>::<anonymous union> (0x3486000) 0
-Class QList<QGraphicsItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QGraphicsItem*> (0x3365880) 0
Vtable for QBitmap
QBitmap::_ZTV7QBitmap: 7u entries
@@ -6392,10 +5586,6 @@ Class QIcon
base size=4 base align=4
QIcon (0x3486580) 0
-Class QTypeInfo<QIcon>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QIcon> (0x34866c0) 0 empty
Vtable for QIconEngine
QIconEngine::_ZTV11QIconEngine: 9u entries
@@ -6551,10 +5741,6 @@ QImageIOPlugin (0x351ec80) 0
QFactoryInterface (0x3486c00) 8 nearly-empty
primary-for QImageIOHandlerFactoryInterface (0x34869c0)
-Class QFlags<QImageIOPlugin::Capability>
- size=4 align=4
- base size=4 base align=4
-QFlags<QImageIOPlugin::Capability> (0x3526180) 0
Class QImageReader
size=4 align=4
@@ -6730,15 +5916,7 @@ QActionGroup (0x3526e00) 0
QObject (0x3526e40) 0
primary-for QActionGroup (0x3526e00)
-Class QList<QAction*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QAction*>::<anonymous union> (0x35264c0) 0
-Class QList<QAction*>
- size=4 align=4
- base size=4 base align=4
-QList<QAction*> (0x3526040) 0
Vtable for QInputContext
QInputContext::_ZTV13QInputContext: 25u entries
@@ -7043,10 +6221,6 @@ QAbstractSpinBox (0x361cc00) 0
QPaintDevice (0x361cc80) 8
vptr=((& QAbstractSpinBox::_ZTV16QAbstractSpinBox) + 252u)
-Class QFlags<QAbstractSpinBox::StepEnabledFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractSpinBox::StepEnabledFlag> (0x361cf00) 0
Vtable for QAbstractSlider
QAbstractSlider::_ZTV15QAbstractSlider: 64u entries
@@ -7254,15 +6428,7 @@ QStyle (0x36c4240) 0
QObject (0x36c4280) 0
primary-for QStyle (0x36c4240)
-Class QFlags<QStyle::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::StateFlag> (0x36c44c0) 0
-Class QFlags<QStyle::SubControl>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::SubControl> (0x36c4540) 0
Vtable for QTabBar
QTabBar::_ZTV7QTabBar: 67u entries
@@ -7521,10 +6687,6 @@ Class QStyleOptionFrame
QStyleOptionFrame (0x36c4e40) 0
QStyleOption (0x36c4e80) 0
-Class QFlags<QStyleOptionFrameV2::FrameFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionFrameV2::FrameFeature> (0x36c4940) 0
Class QStyleOptionFrameV2
size=56 align=4
@@ -7551,10 +6713,6 @@ Class QStyleOptionHeader
QStyleOptionHeader (0x37c9480) 0
QStyleOption (0x37c94c0) 0
-Class QFlags<QStyleOptionButton::ButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionButton::ButtonFeature> (0x37c9780) 0
Class QStyleOptionButton
size=64 align=4
@@ -7562,10 +6720,6 @@ Class QStyleOptionButton
QStyleOptionButton (0x37c9640) 0
QStyleOption (0x37c9680) 0
-Class QFlags<QStyleOptionTab::CornerWidget>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionTab::CornerWidget> (0x37c9a40) 0
Class QStyleOptionTab
size=72 align=4
@@ -7580,10 +6734,6 @@ QStyleOptionTabV2 (0x37c9b80) 0
QStyleOptionTab (0x37c9bc0) 0
QStyleOption (0x37c9c00) 0
-Class QFlags<QStyleOptionToolBar::ToolBarFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionToolBar::ToolBarFeature> (0x37c9f80) 0
Class QStyleOptionToolBar
size=68 align=4
@@ -7610,10 +6760,6 @@ Class QStyleOptionMenuItem
QStyleOptionMenuItem (0x38640c0) 0
QStyleOption (0x3864100) 0
-Class QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature> (0x3864380) 0
Class QStyleOptionQ3ListViewItem
size=64 align=4
@@ -7639,10 +6785,6 @@ Class QStyleOptionViewItem
QStyleOptionViewItem (0x38647c0) 0
QStyleOption (0x3864800) 0
-Class QFlags<QStyleOptionViewItemV2::ViewItemFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionViewItemV2::ViewItemFeature> (0x3864ac0) 0
Class QStyleOptionViewItemV2
size=84 align=4
@@ -7683,15 +6825,7 @@ QStyleOptionSpinBox (0x38e4180) 0
QStyleOptionComplex (0x38e41c0) 0
QStyleOption (0x38e4200) 0
-Class QList<QStyleOptionQ3ListViewItem>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::<anonymous union> (0x38e4580) 0
-Class QList<QStyleOptionQ3ListViewItem>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem> (0x38e44c0) 0
Class QStyleOptionQ3ListView
size=84 align=4
@@ -7700,10 +6834,6 @@ QStyleOptionQ3ListView (0x38e4340) 0
QStyleOptionComplex (0x38e4380) 0
QStyleOption (0x38e43c0) 0
-Class QFlags<QStyleOptionToolButton::ToolButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionToolButton::ToolButtonFeature> (0x38e4900) 0
Class QStyleOptionToolButton
size=96 align=4
@@ -7794,10 +6924,6 @@ Class QItemSelectionRange
base size=8 base align=4
QItemSelectionRange (0x39622c0) 0
-Class QTypeInfo<QItemSelectionRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QItemSelectionRange> (0x3962700) 0 empty
Vtable for QItemSelectionModel
QItemSelectionModel::_ZTV19QItemSelectionModel: 18u entries
@@ -7828,20 +6954,8 @@ QItemSelectionModel (0x39627c0) 0
QObject (0x3962800) 0
primary-for QItemSelectionModel (0x39627c0)
-Class QFlags<QItemSelectionModel::SelectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QItemSelectionModel::SelectionFlag> (0x39629c0) 0
-Class QList<QItemSelectionRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::<anonymous union> (0x3962b40) 0
-Class QList<QItemSelectionRange>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange> (0x3962a80) 0
Class QItemSelection
size=4 align=4
@@ -7971,10 +7085,6 @@ QAbstractItemView (0x3962d00) 0
QPaintDevice (0x3962e00) 8
vptr=((& QAbstractItemView::_ZTV17QAbstractItemView) + 392u)
-Class QFlags<QAbstractItemView::EditTrigger>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractItemView::EditTrigger> (0x3962f40) 0
Vtable for QAbstractProxyModel
QAbstractProxyModel::_ZTV19QAbstractProxyModel: 47u entries
@@ -8312,15 +7422,7 @@ Class QItemEditorCreatorBase
QItemEditorCreatorBase (0x3a41bc0) 0 nearly-empty
vptr=((& QItemEditorCreatorBase::_ZTV22QItemEditorCreatorBase) + 8u)
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union> (0x3a41b40) 0
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*> (0x3a41140) 0
Vtable for QItemEditorFactory
QItemEditorFactory::_ZTV18QItemEditorFactory: 6u entries
@@ -8461,15 +7563,7 @@ QListView (0x3aed180) 0
QPaintDevice (0x3aed2c0) 8
vptr=((& QListView::_ZTV9QListView) + 392u)
-Class QVector<QWidgetItemData>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData>::<anonymous union> (0x3aed6c0) 0
-Class QVector<QWidgetItemData>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData> (0x3aed5c0) 0
Vtable for QListWidgetItem
QListWidgetItem::_ZTV15QListWidgetItem: 11u entries
@@ -8762,15 +7856,7 @@ Class QStandardItem
QStandardItem (0x3ba5180) 0
vptr=((& QStandardItem::_ZTV13QStandardItem) + 8u)
-Class QList<QStandardItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QStandardItem*>::<anonymous union> (0x3ba55c0) 0
-Class QList<QStandardItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QStandardItem*> (0x3ba5500) 0
Vtable for QStandardItemModel
QStandardItemModel::_ZTV18QStandardItemModel: 42u entries
@@ -9288,35 +8374,15 @@ QTreeView (0x3cee240) 0
QPaintDevice (0x3cee380) 8
vptr=((& QTreeView::_ZTV9QTreeView) + 400u)
-Class QFlags<QTreeWidgetItemIterator::IteratorFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTreeWidgetItemIterator::IteratorFlag> (0x3cee640) 0
Class QTreeWidgetItemIterator
size=12 align=4
base size=12 base align=4
QTreeWidgetItemIterator (0x3cee540) 0
-Class QVector<QVector<QWidgetItemData> >::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> >::<anonymous union> (0x3ceeac0) 0
-Class QVector<QVector<QWidgetItemData> >
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> > (0x3cee9c0) 0
-Class QList<QTreeWidgetItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::<anonymous union> (0x3ceec80) 0
-Class QList<QTreeWidgetItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*> (0x3ceebc0) 0
Vtable for QTreeWidgetItem
QTreeWidgetItem::_ZTV15QTreeWidgetItem: 10u entries
@@ -10197,15 +9263,7 @@ Class QTextItem
base size=0 base align=1
QTextItem (0x3efca80) 0 empty
-Class QTypeInfo<QTextItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextItem> (0x3efcb40) 0 empty
-Class QFlags<QPaintEngine::PaintEngineFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::PaintEngineFeature> (0x3efcd00) 0
Vtable for QPaintEngine
QPaintEngine::_ZTV12QPaintEngine: 24u entries
@@ -10240,20 +9298,12 @@ Class QPaintEngine
QPaintEngine (0x3efcbc0) 0
vptr=((& QPaintEngine::_ZTV12QPaintEngine) + 8u)
-Class QFlags<QPaintEngine::DirtyFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::DirtyFlag> (0x3efcf40) 0
Class QPaintEngineState
size=4 align=4
base size=4 base align=4
QPaintEngineState (0x3efce80) 0
-Class QFlags<QTextItem::RenderFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextItem::RenderFlag> (0x3efcfc0) 0
Vtable for QPrinter
QPrinter::_ZTV8QPrinter: 7u entries
@@ -10346,10 +9396,6 @@ QCommonStyle (0x3ff6440) 0
QObject (0x3ff64c0) 0
primary-for QStyle (0x3ff6480)
-Class QPointer<QFocusFrame>
- size=4 align=4
- base size=4 base align=4
-QPointer<QFocusFrame> (0x3ff67c0) 0
Vtable for QMotifStyle
QMotifStyle::_ZTV11QMotifStyle: 35u entries
@@ -10723,30 +9769,14 @@ Class QTextLength
base size=12 base align=4
QTextLength (0x408d6c0) 0
-Class QSharedDataPointer<QTextFormatPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextFormatPrivate> (0x408da80) 0
Class QTextFormat
size=8 align=4
base size=8 base align=4
QTextFormat (0x408d900) 0
-Class QVector<QTextLength>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength>::<anonymous union> (0x408de40) 0
-Class QVector<QTextLength>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength> (0x408dd40) 0
-Class QFlags<QTextFormat::PageBreakFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextFormat::PageBreakFlag> (0x408df40) 0
Class QTextCharFormat
size=8 align=4
@@ -10801,15 +9831,7 @@ Class QTextLayout
base size=4 base align=4
QTextLayout (0x4168280) 0
-Class QVector<QTextLayout::FormatRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange>::<anonymous union> (0x4168580) 0
-Class QVector<QTextLayout::FormatRange>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange> (0x4168480) 0
Class QTextLine
size=8 align=4
@@ -10859,15 +9881,7 @@ QTextDocument (0x4168880) 0
QObject (0x41688c0) 0
primary-for QTextDocument (0x4168880)
-Class QFlags<QTextDocument::FindFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextDocument::FindFlag> (0x4168ac0) 0
-Class QSharedDataPointer<QTextCursorPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextCursorPrivate> (0x4168c00) 0
Class QTextCursor
size=4 align=4
@@ -10879,15 +9893,7 @@ Class QAbstractTextDocumentLayout::Selection
base size=12 base align=4
QAbstractTextDocumentLayout::Selection (0x4168d40) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union> (0x4168f80) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection> (0x4168e80) 0
Class QAbstractTextDocumentLayout::PaintContext
size=48 align=4
@@ -11049,10 +10055,6 @@ QTextFrame (0x4253780) 0
QObject (0x4253800) 0
primary-for QTextObject (0x42537c0)
-Class QTypeInfo<QTextFrame::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFrame::iterator> (0x4253d40) 0 empty
Vtable for QTextBlockUserData
QTextBlockUserData::_ZTV18QTextBlockUserData: 4u entries
@@ -11077,25 +10079,13 @@ Class QTextBlock
base size=8 base align=4
QTextBlock (0x4253f80) 0
-Class QTypeInfo<QTextBlock>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock> (0x42c2280) 0 empty
-Class QTypeInfo<QTextBlock::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock::iterator> (0x42c2340) 0 empty
Class QTextFragment
size=12 align=4
base size=12 base align=4
QTextFragment (0x42c2400) 0
-Class QTypeInfo<QTextFragment>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFragment> (0x42c2600) 0 empty
Vtable for QSyntaxHighlighter
QSyntaxHighlighter::_ZTV18QSyntaxHighlighter: 15u entries
@@ -12057,10 +11047,6 @@ QDateEdit (0x43eee00) 0
QPaintDevice (0x43eef00) 8
vptr=((& QDateEdit::_ZTV9QDateEdit) + 260u)
-Class QFlags<QDateTimeEdit::Section>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDateTimeEdit::Section> (0x43eed00) 0
Vtable for QDial
QDial::_ZTV5QDial: 64u entries
@@ -12221,10 +11207,6 @@ QDialogButtonBox (0x44bc240) 0
QPaintDevice (0x44bc2c0) 8
vptr=((& QDialogButtonBox::_ZTV16QDialogButtonBox) + 232u)
-Class QFlags<QDialogButtonBox::StandardButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDialogButtonBox::StandardButton> (0x44bc500) 0
Vtable for QDockWidget
QDockWidget::_ZTV11QDockWidget: 63u entries
@@ -12304,10 +11286,6 @@ QDockWidget (0x44bc540) 0
QPaintDevice (0x44bc5c0) 8
vptr=((& QDockWidget::_ZTV11QDockWidget) + 232u)
-Class QFlags<QDockWidget::DockWidgetFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDockWidget::DockWidgetFeature> (0x44bc880) 0
Vtable for QFocusFrame
QFocusFrame::_ZTV11QFocusFrame: 63u entries
@@ -12469,10 +11447,6 @@ QFontComboBox (0x44bcb00) 0
QPaintDevice (0x44bcbc0) 8
vptr=((& QFontComboBox::_ZTV13QFontComboBox) + 240u)
-Class QFlags<QFontComboBox::FontFilter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFontComboBox::FontFilter> (0x44bce00) 0
Vtable for QGroupBox
QGroupBox::_ZTV9QGroupBox: 63u entries
@@ -14041,10 +13015,6 @@ QTextEdit (0x475e9c0) 0
QPaintDevice (0x475eac0) 8
vptr=((& QTextEdit::_ZTV9QTextEdit) + 256u)
-Class QFlags<QTextEdit::AutoFormattingFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextEdit::AutoFormattingFlag> (0x475ee00) 0
Vtable for QTextBrowser
QTextBrowser::_ZTV12QTextBrowser: 74u entries
@@ -14634,188 +13604,40 @@ QSvgWidget (0x49ba980) 0
QPaintDevice (0x49baa00) 8
vptr=((& QSvgWidget::_ZTV10QSvgWidget) + 232u)
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0x4a7c280) 0
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0x4aa6100) 0
-Class QTypeInfo<QDebug::Stream*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDebug::Stream*> (0x4af6180) 0 empty
-Class QVectorTypedData<QPoint>
- size=24 align=4
- base size=24 base align=4
-QVectorTypedData<QPoint> (0x4b38600) 0
-Class QVectorTypedData<QPointF>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QPointF> (0x4b38d00) 0
-Class QVectorTypedData<QPainterPath::Element>
- size=36 align=4
- base size=36 base align=4
-QVectorTypedData<QPainterPath::Element> (0x4b8f400) 0
-Class QVectorTypedData<QLineF>
- size=48 align=4
- base size=48 base align=4
-QVectorTypedData<QLineF> (0x4bad900) 0
-Class QVectorTypedData<QLine>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QLine> (0x4badac0) 0
-Class QVectorTypedData<QRectF>
- size=48 align=4
- base size=48 base align=4
-QVectorTypedData<QRectF> (0x4badc80) 0
-Class QVectorTypedData<QRect>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QRect> (0x4bade40) 0
-Class QList<QTreeWidgetItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::Node (0x4ca43c0) 0
-Class QVectorTypedData<QVector<QWidgetItemData> >
- size=20 align=4
- base size=20 base align=4
-QVectorTypedData<QVector<QWidgetItemData> > (0x4ca4600) 0
-Class QVectorTypedData<QTextLength>
- size=28 align=4
- base size=28 base align=4
-QVectorTypedData<QTextLength> (0x4cc3c40) 0
-Class QVectorTypedData<QTextLayout::FormatRange>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QTextLayout::FormatRange> (0x4cc3f40) 0
-Class QVectorTypedData<QAbstractTextDocumentLayout::Selection>
- size=28 align=4
- base size=28 base align=4
-QVectorTypedData<QAbstractTextDocumentLayout::Selection> (0x4ce75c0) 0
-Class QList<QAction*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QAction*>::Node (0x4d07900) 0
-Class QHashNode<QVariant::Type, QItemEditorCreatorBase*>
- size=16 align=4
- base size=16 base align=4
-QHashNode<QVariant::Type, QItemEditorCreatorBase*> (0x4dbf680) 0
-Class QTypeInfo<QStandardItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QStandardItem*> (0x4dbf600) 0 empty
-Class QTypeInfo<QTreeWidgetItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTreeWidgetItem*> (0x4de7240) 0 empty
-Class QTypeInfo<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLength> (0x4de77c0) 0 empty
-Class QTypeInfo<QTextLayout::FormatRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLayout::FormatRange> (0x4de7b40) 0 empty
-Class QTypeInfo<QAbstractTextDocumentLayout::Selection>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAbstractTextDocumentLayout::Selection> (0x4de7fc0) 0 empty
-Class QTypeInfo<QAction*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAction*> (0x4e036c0) 0 empty
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0x4e03bc0) 0
-Class QTypeInfo<QMacMime*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMacMime*> (0x4e03e40) 0 empty
-Class QList<QMacMime*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QMacMime*>::Node (0x4e03f00) 0
-Class QList<QVariant>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::Node (0x4e27180) 0
-Class QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union> (0x4e27300) 0
-Class QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union> (0x4e27a00) 0
-Class QTypeInfo<QGraphicsItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QGraphicsItem*> (0x4e6b040) 0 empty
-Class QList<QGraphicsItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QGraphicsItem*>::Node (0x4e6b100) 0
-Class QTypeInfo<QStyleOptionQ3ListViewItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QStyleOptionQ3ListViewItem> (0x4e6b580) 0 empty
-Class QList<QStyleOptionQ3ListViewItem>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::Node (0x4e6b640) 0
-Class QList<QItemSelectionRange>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::Node (0x4e6ba00) 0
-Class QList<QStandardItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QStandardItem*>::Node (0x4e6bd40) 0
-Class QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union> (0x4e8e080) 0
-Class QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union> (0x4e8ef00) 0
diff --git a/tests/auto/bic/data/QtSvg.4.2.0.macx-gcc-ppc32.txt b/tests/auto/bic/data/QtSvg.4.2.0.macx-gcc-ppc32.txt
index 8cbc112..4e180e5 100644
--- a/tests/auto/bic/data/QtSvg.4.2.0.macx-gcc-ppc32.txt
+++ b/tests/auto/bic/data/QtSvg.4.2.0.macx-gcc-ppc32.txt
@@ -1,34 +1,8 @@
-Class QUintForSize<4>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<4> (0xa378c0) 0 empty
-Class QUintForSize<8>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<8> (0xa37940) 0 empty
-Class QUintForType<void*>
- size=1 align=1
- base size=1 base align=1
-QUintForType<void*> (0xa37b00) 0 empty
- QUintForSize<4> (0xa37b40) 0 empty
-Class QIntForSize<4>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<4> (0xa37c40) 0 empty
-Class QIntForSize<8>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<8> (0xa37cc0) 0 empty
-Class QIntForType<void*>
- size=1 align=1
- base size=1 base align=1
-QIntForType<void*> (0xa37e80) 0 empty
- QIntForSize<4> (0xa37ec0) 0 empty
Class QSysInfo
size=1 align=1
@@ -50,75 +24,19 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0xa453c0) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0xa45600) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0xa456c0) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0xa45780) 0 empty
-Class QTypeInfo<uchar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uchar> (0xa45840) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0xa45900) 0 empty
-Class QTypeInfo<ushort>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ushort> (0xa459c0) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0xa45a80) 0 empty
-Class QTypeInfo<uint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uint> (0xa45b40) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0xa45c00) 0 empty
-Class QTypeInfo<ulong>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ulong> (0xa45cc0) 0 empty
-Class QTypeInfo<qint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<qint64> (0xa45d80) 0 empty
-Class QTypeInfo<quint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<quint64> (0xa45e40) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0xa45f00) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0xa45fc0) 0 empty
Class QFlag
size=4 align=4
@@ -135,10 +53,6 @@ Class QChar
base size=2 base align=2
QChar (0xa7f2c0) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0xa7f3c0) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -151,10 +65,6 @@ Class QAtomic
QAtomic (0xa7f9c0) 0
QBasicAtomic (0xa7fa00) 0
-Class <anonymous union>
- size=128 align=8
- base size=128 base align=8
-<anonymous union> (0xa7fc80) 0
Class __darwin_pthread_handler_rec
size=12 align=4
@@ -236,75 +146,19 @@ Class QByteRef
base size=8 base align=4
QByteRef (0x17709c0) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0x1770d80) 0 empty
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0x1872200) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0x1872280) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0x1872300) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0x1872380) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0x1872400) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0x1872480) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0x1872500) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0x1872580) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0x1872600) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0x1872680) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0x1872700) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0x1872780) 0
-Class QFlags<Qt::TextInteractionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::TextInteractionFlag> (0x1872800) 0
Class QInternal
size=1 align=1
@@ -331,10 +185,6 @@ Class QLatin1String
base size=4 base align=4
QLatin1String (0x1872ac0) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0x19e8400) 0
Class QCharRef
size=8 align=4
@@ -347,10 +197,6 @@ Class QConstString
QConstString (0x1aee040) 0
QString (0x1aee080) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0x1aee180) 0 empty
Vtable for std::exception
std::exception::_ZTVSt9exception: 5u entries
@@ -413,10 +259,6 @@ Class QListData
base size=4 base align=4
QListData (0x1aeea00) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0x1aee640) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -441,15 +283,7 @@ Class QTextCodec
QTextCodec (0x1aeeec0) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0x1c0c240) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0x1c0c180) 0
Class QTextEncoder
size=32 align=4
@@ -472,25 +306,13 @@ Class QGenericReturnArgument
QGenericReturnArgument (0x1c0c480) 0
QGenericArgument (0x1c0c4c0) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0x1c0c780) 0
Class QMetaObject
size=16 align=4
base size=16 base align=4
QMetaObject (0x1c0c700) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0x1c0ca00) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0x1c0c940) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -582,10 +404,6 @@ QIODevice (0x1c0cb80) 0
QObject (0x1c0cd00) 0
primary-for QIODevice (0x1c0cb80)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0x1cd1200) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -605,25 +423,13 @@ Class QRegExp
base size=4 base align=4
QRegExp (0x1cd1900) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0x1cd1b40) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0x1cd1bc0) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0x1cd1dc0) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0x1cd1d00) 0
Class QStringList
size=4 align=4
@@ -631,15 +437,7 @@ Class QStringList
QStringList (0x1cd1e80) 0
QList<QString> (0x1cd1ec0) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0x1d8b300) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0x1d8b380) 0
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -773,50 +571,22 @@ QFile (0x1e09540) 0
QObject (0x1e095c0) 0
primary-for QIODevice (0x1e09580)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0x1e09780) 0
Class QFileInfo
size=4 align=4
base size=4 base align=4
QFileInfo (0x1e097c0) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0x1e09880) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0x1e09900) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0x1e09ac0) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0x1e09a00) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0x1e09b80) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0x1e09cc0) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0x1e09d40) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -873,10 +643,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0x1e09d80) 0
vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0x1e09f80) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -950,10 +716,6 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0x1f094c0) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0x1f09540) 0 empty
Class QMapData::Node
size=8 align=4
@@ -978,10 +740,6 @@ Class QTextStream
QTextStream (0x1fe0500) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0x1fe07c0) 0
Class QTextStreamManipulator
size=24 align=4
@@ -1088,40 +846,16 @@ Class rlimit
base size=16 base align=8
rlimit (0x20fc440) 0
-Class OSReadSwapInt64(const volatile void*, uintptr_t)::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-OSReadSwapInt64(const volatile void*, uintptr_t)::<anonymous union> (0x20fc640) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0x20fcd80) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0x20fce00) 0
Class wait
size=4 align=4
base size=4 base align=4
wait (0x20fcd00) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x20fce80) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x20fcf00) 0
-Class <anonymous struct>
- size=16 align=8
- base size=16 base align=8
-<anonymous struct> (0x20fcf80) 0
Class QVectorData
size=16 align=4
@@ -1259,15 +993,7 @@ Class QLocale
base size=4 base align=4
QLocale (0x2131ec0) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0x2131f80) 0 empty
-Class QFlags<QLocale::NumberOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLocale::NumberOption> (0x2131ac0) 0
Vtable for QSystemLocale
QSystemLocale::_ZTV13QSystemLocale: 6u entries
@@ -1294,270 +1020,58 @@ Class QMetaType
base size=0 base align=1
QMetaType (0x22fc140) 0 empty
-Class QMetaTypeId2<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QString> (0x22fc340) 0 empty
-Class QMetaTypeId2<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<int> (0x22fc400) 0 empty
-Class QMetaTypeId2<uint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<uint> (0x22fc4c0) 0 empty
-Class QMetaTypeId2<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<bool> (0x22fc580) 0 empty
-Class QMetaTypeId2<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<double> (0x22fc640) 0 empty
-Class QMetaTypeId2<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QByteArray> (0x22fc700) 0 empty
-Class QMetaTypeId2<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QChar> (0x22fc7c0) 0 empty
-Class QMetaTypeId2<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long int> (0x22fc880) 0 empty
-Class QMetaTypeId2<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short int> (0x22fc940) 0 empty
-Class QMetaTypeId2<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<char> (0x22fca00) 0 empty
-Class QMetaTypeId2<ulong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<ulong> (0x22fcac0) 0 empty
-Class QMetaTypeId2<ushort>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<ushort> (0x22fcb80) 0 empty
-Class QMetaTypeId2<uchar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<uchar> (0x22fcc40) 0 empty
-Class QMetaTypeId2<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<float> (0x22fcd00) 0 empty
-Class QMetaTypeId2<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QObject*> (0x22fcdc0) 0 empty
-Class QMetaTypeId2<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QWidget*> (0x22fce80) 0 empty
-Class QMetaTypeId2<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<void*> (0x22fcf40) 0 empty
-Class QMetaTypeId2<qlonglong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<qlonglong> (0x22fc080) 0 empty
-Class QMetaTypeId2<qulonglong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<qulonglong> (0x232f080) 0 empty
-Class QMetaTypeId2<QStringList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QStringList> (0x232f140) 0 empty
-Class QMetaTypeId2<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitArray> (0x232f200) 0 empty
-Class QMetaTypeId2<QDate>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDate> (0x232f2c0) 0 empty
-Class QMetaTypeId2<QTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTime> (0x232f380) 0 empty
-Class QMetaTypeId2<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDateTime> (0x232f440) 0 empty
-Class QMetaTypeId2<QUrl>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QUrl> (0x232f500) 0 empty
-Class QMetaTypeId2<QLocale>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLocale> (0x232f5c0) 0 empty
-Class QMetaTypeId2<QRect>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRect> (0x232f680) 0 empty
-Class QMetaTypeId2<QRectF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRectF> (0x232f740) 0 empty
-Class QMetaTypeId2<QSize>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSize> (0x232f800) 0 empty
-Class QMetaTypeId2<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizeF> (0x232f8c0) 0 empty
-Class QMetaTypeId2<QLine>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLine> (0x232f980) 0 empty
-Class QMetaTypeId2<QLineF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLineF> (0x232fa40) 0 empty
-Class QMetaTypeId2<QPoint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPoint> (0x232fb00) 0 empty
-Class QMetaTypeId2<QPointF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPointF> (0x232fbc0) 0 empty
-Class QMetaTypeId2<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegExp> (0x232fc80) 0 empty
-Class QMetaTypeId2<QColorGroup>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColorGroup> (0x232fd40) 0 empty
-Class QMetaTypeId2<QFont>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QFont> (0x232fe00) 0 empty
-Class QMetaTypeId2<QPixmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPixmap> (0x232fec0) 0 empty
-Class QMetaTypeId2<QBrush>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBrush> (0x232ff80) 0 empty
-Class QMetaTypeId2<QColor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColor> (0x234b040) 0 empty
-Class QMetaTypeId2<QPalette>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPalette> (0x234b100) 0 empty
-Class QMetaTypeId2<QIcon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QIcon> (0x234b1c0) 0 empty
-Class QMetaTypeId2<QImage>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QImage> (0x234b280) 0 empty
-Class QMetaTypeId2<QPolygon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPolygon> (0x234b340) 0 empty
-Class QMetaTypeId2<QRegion>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegion> (0x234b400) 0 empty
-Class QMetaTypeId2<QBitmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitmap> (0x234b4c0) 0 empty
-Class QMetaTypeId2<QCursor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QCursor> (0x234b580) 0 empty
-Class QMetaTypeId2<QSizePolicy>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizePolicy> (0x234b640) 0 empty
-Class QMetaTypeId2<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QKeySequence> (0x234b700) 0 empty
-Class QMetaTypeId2<QPen>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPen> (0x234b7c0) 0 empty
-Class QMetaTypeId2<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextLength> (0x234b880) 0 empty
-Class QMetaTypeId2<QTextFormat>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextFormat> (0x234b940) 0 empty
-Class QMetaTypeId2<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMatrix> (0x234ba00) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -1584,60 +1098,20 @@ Class QVariant
base size=16 base align=4
QVariant (0x234ba80) 0
-Class QMetaTypeId2<QVariantList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QVariantList> (0x234bfc0) 0 empty
-Class QMetaTypeId2<QVariantMap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QVariantMap> (0x234bd40) 0 empty
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0x23a3180) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0x23a30c0) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0x23a3380) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0x23a32c0) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0x23a3500) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0x23a3640) 0 empty
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0x23a3700) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x23a3780) 0
-Class <anonymous struct>
- size=3156 align=4
- base size=3156 base align=4
-<anonymous struct> (0x23a3800) 0
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1715,15 +1189,7 @@ Class QUrl
base size=4 base align=4
QUrl (0x23a3ac0) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0x245e100) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0x245e180) 0 empty
Vtable for QEventLoop
QEventLoop::_ZTV10QEventLoop: 14u entries
@@ -1750,10 +1216,6 @@ QEventLoop (0x245e200) 0
QObject (0x245e240) 0
primary-for QEventLoop (0x245e200)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0x245e440) 0
Vtable for QAbstractEventDispatcher
QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 27u entries
@@ -1798,20 +1260,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0x245e680) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0x245e840) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0x245e8c0) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0x245ea00) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -1981,10 +1435,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0x245ee80) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0x25680c0) 0 empty
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -2091,20 +1541,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0x2568e00) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0x2568ec0) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0x2568f40) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0x2568240) 0 empty
Class QMetaProperty
size=20 align=4
@@ -2116,10 +1558,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0x25686c0) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0x2568a00) 0 empty
Vtable for QMimeData
QMimeData::_ZTV9QMimeData: 17u entries
@@ -2301,10 +1739,6 @@ QLibrary (0x25cb980) 0
QObject (0x25cb9c0) 0
primary-for QLibrary (0x25cb980)
-Class QFlags<QLibrary::LoadHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLibrary::LoadHint> (0x25cbb80) 0
Vtable for QPluginLoader
QPluginLoader::_ZTV13QPluginLoader: 14u entries
@@ -2341,10 +1775,6 @@ Class QMutex
base size=4 base align=4
QMutex (0x25cbec0) 0
-Class QMutexLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMutexLocker::<anonymous union> (0x25cb440) 0
Class QMutexLocker
size=4 align=4
@@ -2356,20 +1786,12 @@ Class QReadWriteLock
base size=4 base align=4
QReadWriteLock (0x25cb900) 0
-Class QReadLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QReadLocker::<anonymous union> (0x268d000) 0
Class QReadLocker
size=4 align=4
base size=4 base align=4
QReadLocker (0x25cbac0) 0
-Class QWriteLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QWriteLocker::<anonymous union> (0x268d140) 0
Class QWriteLocker
size=4 align=4
@@ -2427,10 +1849,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0x268db40) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0x268dc40) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -2442,70 +1860,42 @@ Class QDate
base size=4 base align=4
QDate (0x268dec0) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0x274f000) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0x274f080) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0x274f280) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0x274f300) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0x274f480) 0 empty
Class QPoint
size=8 align=4
base size=8 base align=4
QPoint (0x274f500) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0x274f980) 0 empty
Class QPointF
size=16 align=8
base size=16 base align=4
QPointF (0x274fc40) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0x274f340) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0x274fd80) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0x274fe80) 0 empty
Class QLineF
size=32 align=8
base size=32 base align=4
QLineF (0x27d90c0) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0x27d9180) 0 empty
Class QLinkedListData
size=20 align=4
@@ -2517,40 +1907,24 @@ Class QSize
base size=8 base align=4
QSize (0x27d97c0) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0x27d9bc0) 0 empty
Class QSizeF
size=16 align=8
base size=16 base align=4
QSizeF (0x27d9f80) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0x27d9fc0) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0x28cd440) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0x28cd600) 0 empty
Class QRectF
size=32 align=8
base size=32 base align=4
QRectF (0x28cd880) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0x28cda40) 0 empty
Class QSharedData
size=4 align=4
@@ -2598,10 +1972,6 @@ Class QKeySequence
base size=4 base align=4
QKeySequence (0x2a1b340) 0
-Class QTypeInfo<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QKeySequence> (0x2a1b500) 0 empty
Vtable for QMimeSource
QMimeSource::_ZTV11QMimeSource: 7u entries
@@ -2640,15 +2010,7 @@ Class QMacMime
QMacMime (0x2a1b700) 0
vptr=((& QMacMime::_ZTV8QMacMime) + 8u)
-Class QList<QMacMime*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QMacMime*>::<anonymous union> (0x2a1ba40) 0
-Class QList<QMacMime*>
- size=4 align=4
- base size=4 base align=4
-QList<QMacMime*> (0x2a1b980) 0
Vtable for QMacPasteboardMime
QMacPasteboardMime::_ZTV18QMacPasteboardMime: 10u entries
@@ -2949,15 +2311,7 @@ Class QInputMethodEvent::Attribute
base size=28 base align=4
QInputMethodEvent::Attribute (0x2b0a380) 0
-Class QList<QInputMethodEvent::Attribute>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute>::<anonymous union> (0x2b0a540) 0
-Class QList<QInputMethodEvent::Attribute>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute> (0x2b0a480) 0
Vtable for QInputMethodEvent
QInputMethodEvent::_ZTV17QInputMethodEvent: 4u entries
@@ -3246,15 +2600,7 @@ Class QAccessible
base size=0 base align=1
QAccessible (0x2b5ff40) 0 empty
-Class QFlags<QAccessible::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::StateFlag> (0x2b5f3c0) 0
-Class QFlags<QAccessible::RelationFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::RelationFlag> (0x2b5f6c0) 0
Vtable for QAccessibleInterface
QAccessibleInterface::_ZTV20QAccessibleInterface: 19u entries
@@ -3643,40 +2989,16 @@ Class QPaintDevice
QPaintDevice (0x2c066c0) 0
vptr=((& QPaintDevice::_ZTV12QPaintDevice) + 8u)
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x2c06a00) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x2c06a80) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x2c06b00) 0
-Class QColor::<anonymous union>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union> (0x2c06980) 0
Class QColor
size=16 align=4
base size=14 base align=4
QColor (0x2c06900) 0
-Class QVector<QPoint>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint>::<anonymous union> (0x2c06f40) 0
-Class QVector<QPoint>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint> (0x2c06e40) 0
Class QPolygon
size=4 align=4
@@ -3684,15 +3006,7 @@ Class QPolygon
QPolygon (0x2c06fc0) 0
QVector<QPoint> (0x2c06180) 0
-Class QVector<QPointF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF>::<anonymous union> (0x2c8f2c0) 0
-Class QVector<QPointF>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF> (0x2c8f1c0) 0
Class QPolygonF
size=4 align=4
@@ -3705,10 +3019,6 @@ Class QMatrix
base size=48 base align=4
QMatrix (0x2c8f680) 0
-Class QTypeInfo<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMatrix> (0x2c8f700) 0 empty
Class QImageTextKeyLang
size=8 align=4
@@ -3733,10 +3043,6 @@ QImage (0x2c8f900) 0
QPaintDevice (0x2c8f940) 0
primary-for QImage (0x2c8f900)
-Class QTypeInfo<QImage>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QImage> (0x2c8fd00) 0 empty
Vtable for QPixmap
QPixmap::_ZTV7QPixmap: 7u entries
@@ -3761,45 +3067,17 @@ Class QBrush
base size=4 base align=4
QBrush (0x2c8ffc0) 0
-Class QTypeInfo<QBrush>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBrush> (0x2d81080) 0 empty
Class QBrushData
size=72 align=4
base size=72 base align=4
QBrushData (0x2d81100) 0
-Class QVector<QGradientStop>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QGradientStop>::<anonymous union> (0x2d81380) 0
-Class QVector<QGradientStop>
- size=4 align=4
- base size=4 base align=4
-QVector<QGradientStop> (0x2d81280) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=32 align=8
- base size=32 base align=8
-QGradient::<anonymous union>::<anonymous struct> (0x2d814c0) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=40 align=8
- base size=40 base align=8
-QGradient::<anonymous union>::<anonymous struct> (0x2d81540) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=24 align=8
- base size=24 base align=8
-QGradient::<anonymous union>::<anonymous struct> (0x2d815c0) 0
-Class QGradient::<anonymous union>
- size=40 align=8
- base size=40 base align=8
-QGradient::<anonymous union> (0x2d81440) 0
Class QGradient
size=56 align=4
@@ -4195,10 +3473,6 @@ QAbstractPrintDialog (0x2f91280) 0
QPaintDevice (0x2f91340) 8
vptr=((& QAbstractPrintDialog::_ZTV20QAbstractPrintDialog) + 248u)
-Class QFlags<QAbstractPrintDialog::PrintDialogOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractPrintDialog::PrintDialogOption> (0x2f915c0) 0
Vtable for QColorDialog
QColorDialog::_ZTV12QColorDialog: 66u entries
@@ -4449,10 +3723,6 @@ QFileDialog (0x2f91b00) 0
QPaintDevice (0x2f91bc0) 8
vptr=((& QFileDialog::_ZTV11QFileDialog) + 244u)
-Class QFlags<QFileDialog::Option>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileDialog::Option> (0x2f91e80) 0
Vtable for QFontDialog
QFontDialog::_ZTV11QFontDialog: 66u entries
@@ -4859,10 +4129,6 @@ QMessageBox (0x3048800) 0
QPaintDevice (0x30488c0) 8
vptr=((& QMessageBox::_ZTV11QMessageBox) + 244u)
-Class QFlags<QMessageBox::StandardButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<QMessageBox::StandardButton> (0x3048b40) 0
Vtable for QPageSetupDialog
QPageSetupDialog::_ZTV16QPageSetupDialog: 67u entries
@@ -5217,25 +4483,13 @@ Class QPainterPath
base size=4 base align=4
QPainterPath (0x313e480) 0
-Class QVector<QPainterPath::Element>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element>::<anonymous union> (0x313e9c0) 0
-Class QVector<QPainterPath::Element>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element> (0x313e8c0) 0
Class QPainterPathPrivate
size=8 align=4
base size=8 base align=4
QPainterPathPrivate (0x313e6c0) 0
-Class QTypeInfo<QPainterPath::Element>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPainterPath::Element> (0x313ea80) 0 empty
Class QPainterPathStroker
size=4 align=4
@@ -5290,15 +4544,7 @@ Class QGraphicsItem
QGraphicsItem (0x313ee00) 0
vptr=((& QGraphicsItem::_ZTV13QGraphicsItem) + 8u)
-Class QFlags<QGraphicsItem::GraphicsItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGraphicsItem::GraphicsItemFlag> (0x313ef80) 0
-Class QMetaTypeId<QGraphicsItem*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QGraphicsItem*> (0x31ed040) 0 empty
Vtable for QAbstractGraphicsShapeItem
QAbstractGraphicsShapeItem::_ZTV26QAbstractGraphicsShapeItem: 39u entries
@@ -5887,10 +5133,6 @@ Class QPen
base size=4 base align=4
QPen (0x3266bc0) 0
-Class QTypeInfo<QPen>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPen> (0x3266d40) 0 empty
Vtable for QGraphicsScene
QGraphicsScene::_ZTV14QGraphicsScene: 34u entries
@@ -6059,60 +5301,20 @@ Class QTextOption
base size=24 base align=4
QTextOption (0x32d0a00) 0
-Class QFlags<QTextOption::Flag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextOption::Flag> (0x32d0b00) 0
Class QPainter
size=4 align=4
base size=4 base align=4
QPainter (0x32d0b80) 0
-Class QFlags<QPainter::RenderHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPainter::RenderHint> (0x32d07c0) 0
-Class QVector<QLineF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF>::<anonymous union> (0x3391100) 0
-Class QVector<QLineF>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF> (0x3391000) 0
-Class QVector<QLine>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine>::<anonymous union> (0x3391300) 0
-Class QVector<QLine>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine> (0x3391200) 0
-Class QVector<QRectF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF>::<anonymous union> (0x3391500) 0
-Class QVector<QRectF>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF> (0x3391400) 0
-Class QVector<QRect>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect>::<anonymous union> (0x33916c0) 0
-Class QVector<QRect>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect> (0x33915c0) 0
Vtable for QAbstractScrollArea
QAbstractScrollArea::_ZTV19QAbstractScrollArea: 65u entries
@@ -6367,20 +5569,8 @@ QGraphicsView (0x3391c80) 0
QPaintDevice (0x3391d80) 8
vptr=((& QGraphicsView::_ZTV13QGraphicsView) + 252u)
-Class QFlags<QGraphicsView::CacheModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGraphicsView::CacheModeFlag> (0x3391fc0) 0
-Class QList<QGraphicsItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QGraphicsItem*>::<anonymous union> (0x34b1040) 0
-Class QList<QGraphicsItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QGraphicsItem*> (0x3391b80) 0
Vtable for QBitmap
QBitmap::_ZTV7QBitmap: 7u entries
@@ -6407,10 +5597,6 @@ Class QIcon
base size=4 base align=4
QIcon (0x34b15c0) 0
-Class QTypeInfo<QIcon>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QIcon> (0x34b1700) 0 empty
Vtable for QIconEngine
QIconEngine::_ZTV11QIconEngine: 9u entries
@@ -6566,10 +5752,6 @@ QImageIOPlugin (0x3549b80) 0
QFactoryInterface (0x34b1e40) 8 nearly-empty
primary-for QImageIOHandlerFactoryInterface (0x34b1c40)
-Class QFlags<QImageIOPlugin::Capability>
- size=4 align=4
- base size=4 base align=4
-QFlags<QImageIOPlugin::Capability> (0x35511c0) 0
Class QImageReader
size=4 align=4
@@ -6745,15 +5927,7 @@ QActionGroup (0x3551e40) 0
QObject (0x3551e80) 0
primary-for QActionGroup (0x3551e40)
-Class QList<QAction*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QAction*>::<anonymous union> (0x3551600) 0
-Class QList<QAction*>
- size=4 align=4
- base size=4 base align=4
-QList<QAction*> (0x3551380) 0
Vtable for QInputContext
QInputContext::_ZTV13QInputContext: 25u entries
@@ -7058,10 +6232,6 @@ QAbstractSpinBox (0x3647c40) 0
QPaintDevice (0x3647cc0) 8
vptr=((& QAbstractSpinBox::_ZTV16QAbstractSpinBox) + 252u)
-Class QFlags<QAbstractSpinBox::StepEnabledFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractSpinBox::StepEnabledFlag> (0x3647f40) 0
Vtable for QAbstractSlider
QAbstractSlider::_ZTV15QAbstractSlider: 64u entries
@@ -7269,15 +6439,7 @@ QStyle (0x36ef280) 0
QObject (0x36ef2c0) 0
primary-for QStyle (0x36ef280)
-Class QFlags<QStyle::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::StateFlag> (0x36ef500) 0
-Class QFlags<QStyle::SubControl>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::SubControl> (0x36ef580) 0
Vtable for QTabBar
QTabBar::_ZTV7QTabBar: 67u entries
@@ -7536,10 +6698,6 @@ Class QStyleOptionFrame
QStyleOptionFrame (0x36efe80) 0
QStyleOption (0x36efec0) 0
-Class QFlags<QStyleOptionFrameV2::FrameFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionFrameV2::FrameFeature> (0x36efbc0) 0
Class QStyleOptionFrameV2
size=56 align=4
@@ -7566,10 +6724,6 @@ Class QStyleOptionHeader
QStyleOptionHeader (0x37f14c0) 0
QStyleOption (0x37f1500) 0
-Class QFlags<QStyleOptionButton::ButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionButton::ButtonFeature> (0x37f17c0) 0
Class QStyleOptionButton
size=64 align=4
@@ -7577,10 +6731,6 @@ Class QStyleOptionButton
QStyleOptionButton (0x37f1680) 0
QStyleOption (0x37f16c0) 0
-Class QFlags<QStyleOptionTab::CornerWidget>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionTab::CornerWidget> (0x37f1a80) 0
Class QStyleOptionTab
size=72 align=4
@@ -7595,10 +6745,6 @@ QStyleOptionTabV2 (0x37f1bc0) 0
QStyleOptionTab (0x37f1c00) 0
QStyleOption (0x37f1c40) 0
-Class QFlags<QStyleOptionToolBar::ToolBarFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionToolBar::ToolBarFeature> (0x37f1fc0) 0
Class QStyleOptionToolBar
size=68 align=4
@@ -7625,10 +6771,6 @@ Class QStyleOptionMenuItem
QStyleOptionMenuItem (0x388d100) 0
QStyleOption (0x388d140) 0
-Class QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature> (0x388d3c0) 0
Class QStyleOptionQ3ListViewItem
size=64 align=4
@@ -7654,10 +6796,6 @@ Class QStyleOptionViewItem
QStyleOptionViewItem (0x388d800) 0
QStyleOption (0x388d840) 0
-Class QFlags<QStyleOptionViewItemV2::ViewItemFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionViewItemV2::ViewItemFeature> (0x388db00) 0
Class QStyleOptionViewItemV2
size=84 align=4
@@ -7698,15 +6836,7 @@ QStyleOptionSpinBox (0x390d200) 0
QStyleOptionComplex (0x390d240) 0
QStyleOption (0x390d280) 0
-Class QList<QStyleOptionQ3ListViewItem>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::<anonymous union> (0x390d600) 0
-Class QList<QStyleOptionQ3ListViewItem>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem> (0x390d540) 0
Class QStyleOptionQ3ListView
size=84 align=4
@@ -7715,10 +6845,6 @@ QStyleOptionQ3ListView (0x390d3c0) 0
QStyleOptionComplex (0x390d400) 0
QStyleOption (0x390d440) 0
-Class QFlags<QStyleOptionToolButton::ToolButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionToolButton::ToolButtonFeature> (0x390d980) 0
Class QStyleOptionToolButton
size=96 align=4
@@ -7809,10 +6935,6 @@ Class QItemSelectionRange
base size=8 base align=4
QItemSelectionRange (0x398b340) 0
-Class QTypeInfo<QItemSelectionRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QItemSelectionRange> (0x398b780) 0 empty
Vtable for QItemSelectionModel
QItemSelectionModel::_ZTV19QItemSelectionModel: 18u entries
@@ -7843,20 +6965,8 @@ QItemSelectionModel (0x398b840) 0
QObject (0x398b880) 0
primary-for QItemSelectionModel (0x398b840)
-Class QFlags<QItemSelectionModel::SelectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QItemSelectionModel::SelectionFlag> (0x398ba40) 0
-Class QList<QItemSelectionRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::<anonymous union> (0x398bbc0) 0
-Class QList<QItemSelectionRange>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange> (0x398bb00) 0
Class QItemSelection
size=4 align=4
@@ -7986,10 +7096,6 @@ QAbstractItemView (0x398bd80) 0
QPaintDevice (0x398be80) 8
vptr=((& QAbstractItemView::_ZTV17QAbstractItemView) + 392u)
-Class QFlags<QAbstractItemView::EditTrigger>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractItemView::EditTrigger> (0x3a59000) 0
Vtable for QAbstractProxyModel
QAbstractProxyModel::_ZTV19QAbstractProxyModel: 47u entries
@@ -8327,15 +7433,7 @@ Class QItemEditorCreatorBase
QItemEditorCreatorBase (0x3a59c00) 0 nearly-empty
vptr=((& QItemEditorCreatorBase::_ZTV22QItemEditorCreatorBase) + 8u)
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union> (0x3a59d00) 0
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*> (0x3a59300) 0
Vtable for QItemEditorFactory
QItemEditorFactory::_ZTV18QItemEditorFactory: 6u entries
@@ -8476,15 +7574,7 @@ QListView (0x3b0f1c0) 0
QPaintDevice (0x3b0f300) 8
vptr=((& QListView::_ZTV9QListView) + 392u)
-Class QVector<QWidgetItemData>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData>::<anonymous union> (0x3b0f700) 0
-Class QVector<QWidgetItemData>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData> (0x3b0f600) 0
Vtable for QListWidgetItem
QListWidgetItem::_ZTV15QListWidgetItem: 11u entries
@@ -8777,15 +7867,7 @@ Class QStandardItem
QStandardItem (0x3bce1c0) 0
vptr=((& QStandardItem::_ZTV13QStandardItem) + 8u)
-Class QList<QStandardItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QStandardItem*>::<anonymous union> (0x3bce600) 0
-Class QList<QStandardItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QStandardItem*> (0x3bce540) 0
Vtable for QStandardItemModel
QStandardItemModel::_ZTV18QStandardItemModel: 42u entries
@@ -9303,35 +8385,15 @@ QTreeView (0x3d0c280) 0
QPaintDevice (0x3d0c3c0) 8
vptr=((& QTreeView::_ZTV9QTreeView) + 400u)
-Class QFlags<QTreeWidgetItemIterator::IteratorFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTreeWidgetItemIterator::IteratorFlag> (0x3d0c680) 0
Class QTreeWidgetItemIterator
size=12 align=4
base size=12 base align=4
QTreeWidgetItemIterator (0x3d0c580) 0
-Class QVector<QVector<QWidgetItemData> >::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> >::<anonymous union> (0x3d0cb00) 0
-Class QVector<QVector<QWidgetItemData> >
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> > (0x3d0ca00) 0
-Class QList<QTreeWidgetItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::<anonymous union> (0x3d0ccc0) 0
-Class QList<QTreeWidgetItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*> (0x3d0cc00) 0
Vtable for QTreeWidgetItem
QTreeWidgetItem::_ZTV15QTreeWidgetItem: 10u entries
@@ -10212,15 +9274,7 @@ Class QTextItem
base size=0 base align=1
QTextItem (0x3f24ac0) 0 empty
-Class QTypeInfo<QTextItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextItem> (0x3f24b80) 0 empty
-Class QFlags<QPaintEngine::PaintEngineFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::PaintEngineFeature> (0x3f24d40) 0
Vtable for QPaintEngine
QPaintEngine::_ZTV12QPaintEngine: 24u entries
@@ -10255,20 +9309,12 @@ Class QPaintEngine
QPaintEngine (0x3f24c00) 0
vptr=((& QPaintEngine::_ZTV12QPaintEngine) + 8u)
-Class QFlags<QPaintEngine::DirtyFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::DirtyFlag> (0x3f24180) 0
Class QPaintEngineState
size=4 align=4
base size=4 base align=4
QPaintEngineState (0x3f24f40) 0
-Class QFlags<QTextItem::RenderFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextItem::RenderFlag> (0x3f24480) 0
Vtable for QPrinter
QPrinter::_ZTV8QPrinter: 7u entries
@@ -10361,10 +9407,6 @@ QCommonStyle (0x400f540) 0
QObject (0x400f5c0) 0
primary-for QStyle (0x400f580)
-Class QPointer<QFocusFrame>
- size=4 align=4
- base size=4 base align=4
-QPointer<QFocusFrame> (0x400f8c0) 0
Vtable for QMotifStyle
QMotifStyle::_ZTV11QMotifStyle: 35u entries
@@ -10738,30 +9780,14 @@ Class QTextLength
base size=12 base align=4
QTextLength (0x40ac7c0) 0
-Class QSharedDataPointer<QTextFormatPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextFormatPrivate> (0x40acb80) 0
Class QTextFormat
size=8 align=4
base size=8 base align=4
QTextFormat (0x40aca00) 0
-Class QVector<QTextLength>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength>::<anonymous union> (0x40acf40) 0
-Class QVector<QTextLength>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength> (0x40ace40) 0
-Class QFlags<QTextFormat::PageBreakFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextFormat::PageBreakFlag> (0x40ac240) 0
Class QTextCharFormat
size=8 align=4
@@ -10816,15 +9842,7 @@ Class QTextLayout
base size=4 base align=4
QTextLayout (0x4189340) 0
-Class QVector<QTextLayout::FormatRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange>::<anonymous union> (0x4189640) 0
-Class QVector<QTextLayout::FormatRange>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange> (0x4189540) 0
Class QTextLine
size=8 align=4
@@ -10874,15 +9892,7 @@ QTextDocument (0x4189940) 0
QObject (0x4189980) 0
primary-for QTextDocument (0x4189940)
-Class QFlags<QTextDocument::FindFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextDocument::FindFlag> (0x4189b80) 0
-Class QSharedDataPointer<QTextCursorPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextCursorPrivate> (0x4189cc0) 0
Class QTextCursor
size=4 align=4
@@ -10894,15 +9904,7 @@ Class QAbstractTextDocumentLayout::Selection
base size=12 base align=4
QAbstractTextDocumentLayout::Selection (0x4189e00) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union> (0x4189880) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection> (0x4189f40) 0
Class QAbstractTextDocumentLayout::PaintContext
size=48 align=4
@@ -11064,10 +10066,6 @@ QTextFrame (0x426e880) 0
QObject (0x426e900) 0
primary-for QTextObject (0x426e8c0)
-Class QTypeInfo<QTextFrame::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFrame::iterator> (0x426ee40) 0 empty
Vtable for QTextBlockUserData
QTextBlockUserData::_ZTV18QTextBlockUserData: 4u entries
@@ -11092,25 +10090,13 @@ Class QTextBlock
base size=8 base align=4
QTextBlock (0x426e480) 0
-Class QTypeInfo<QTextBlock>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock> (0x42e4340) 0 empty
-Class QTypeInfo<QTextBlock::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock::iterator> (0x42e4400) 0 empty
Class QTextFragment
size=12 align=4
base size=12 base align=4
QTextFragment (0x42e44c0) 0
-Class QTypeInfo<QTextFragment>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFragment> (0x42e46c0) 0 empty
Vtable for QSyntaxHighlighter
QSyntaxHighlighter::_ZTV18QSyntaxHighlighter: 15u entries
@@ -12072,10 +11058,6 @@ QDateEdit (0x4408ec0) 0
QPaintDevice (0x4408fc0) 8
vptr=((& QDateEdit::_ZTV9QDateEdit) + 260u)
-Class QFlags<QDateTimeEdit::Section>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDateTimeEdit::Section> (0x44cf040) 0
Vtable for QDial
QDial::_ZTV5QDial: 64u entries
@@ -12236,10 +11218,6 @@ QDialogButtonBox (0x44cf300) 0
QPaintDevice (0x44cf380) 8
vptr=((& QDialogButtonBox::_ZTV16QDialogButtonBox) + 232u)
-Class QFlags<QDialogButtonBox::StandardButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDialogButtonBox::StandardButton> (0x44cf5c0) 0
Vtable for QDockWidget
QDockWidget::_ZTV11QDockWidget: 63u entries
@@ -12319,10 +11297,6 @@ QDockWidget (0x44cf600) 0
QPaintDevice (0x44cf680) 8
vptr=((& QDockWidget::_ZTV11QDockWidget) + 232u)
-Class QFlags<QDockWidget::DockWidgetFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDockWidget::DockWidgetFeature> (0x44cf940) 0
Vtable for QFocusFrame
QFocusFrame::_ZTV11QFocusFrame: 63u entries
@@ -12484,10 +11458,6 @@ QFontComboBox (0x44cfbc0) 0
QPaintDevice (0x44cfc80) 8
vptr=((& QFontComboBox::_ZTV13QFontComboBox) + 240u)
-Class QFlags<QFontComboBox::FontFilter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFontComboBox::FontFilter> (0x44cfec0) 0
Vtable for QGroupBox
QGroupBox::_ZTV9QGroupBox: 63u entries
@@ -14056,10 +13026,6 @@ QTextEdit (0x4786ac0) 0
QPaintDevice (0x4786bc0) 8
vptr=((& QTextEdit::_ZTV9QTextEdit) + 256u)
-Class QFlags<QTextEdit::AutoFormattingFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextEdit::AutoFormattingFlag> (0x4786f00) 0
Vtable for QTextBrowser
QTextBrowser::_ZTV12QTextBrowser: 74u entries
@@ -14649,188 +13615,40 @@ QSvgWidget (0x49e0a40) 0
QPaintDevice (0x49e0ac0) 8
vptr=((& QSvgWidget::_ZTV10QSvgWidget) + 232u)
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0x4aa2340) 0
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0x4acb1c0) 0
-Class QTypeInfo<QDebug::Stream*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDebug::Stream*> (0x4b1f240) 0 empty
-Class QVectorTypedData<QPoint>
- size=24 align=4
- base size=24 base align=4
-QVectorTypedData<QPoint> (0x4b5f6c0) 0
-Class QVectorTypedData<QPointF>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QPointF> (0x4b5fdc0) 0
-Class QVectorTypedData<QPainterPath::Element>
- size=40 align=4
- base size=40 base align=4
-QVectorTypedData<QPainterPath::Element> (0x4bb74c0) 0
-Class QVectorTypedData<QLineF>
- size=48 align=4
- base size=48 base align=4
-QVectorTypedData<QLineF> (0x4bd49c0) 0
-Class QVectorTypedData<QLine>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QLine> (0x4bd4b80) 0
-Class QVectorTypedData<QRectF>
- size=48 align=4
- base size=48 base align=4
-QVectorTypedData<QRectF> (0x4bd4d40) 0
-Class QVectorTypedData<QRect>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QRect> (0x4bd4f00) 0
-Class QList<QTreeWidgetItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::Node (0x4ccc480) 0
-Class QVectorTypedData<QVector<QWidgetItemData> >
- size=20 align=4
- base size=20 base align=4
-QVectorTypedData<QVector<QWidgetItemData> > (0x4ccc6c0) 0
-Class QVectorTypedData<QTextLength>
- size=28 align=4
- base size=28 base align=4
-QVectorTypedData<QTextLength> (0x4cebd00) 0
-Class QVectorTypedData<QTextLayout::FormatRange>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QTextLayout::FormatRange> (0x4d0d000) 0
-Class QVectorTypedData<QAbstractTextDocumentLayout::Selection>
- size=28 align=4
- base size=28 base align=4
-QVectorTypedData<QAbstractTextDocumentLayout::Selection> (0x4d0d680) 0
-Class QList<QAction*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QAction*>::Node (0x4d309c0) 0
-Class QHashNode<QVariant::Type, QItemEditorCreatorBase*>
- size=16 align=4
- base size=16 base align=4
-QHashNode<QVariant::Type, QItemEditorCreatorBase*> (0x4de4740) 0
-Class QTypeInfo<QStandardItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QStandardItem*> (0x4e0b080) 0 empty
-Class QTypeInfo<QTreeWidgetItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTreeWidgetItem*> (0x4e0b300) 0 empty
-Class QTypeInfo<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLength> (0x4e0b880) 0 empty
-Class QTypeInfo<QTextLayout::FormatRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLayout::FormatRange> (0x4e0bc00) 0 empty
-Class QTypeInfo<QAbstractTextDocumentLayout::Selection>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAbstractTextDocumentLayout::Selection> (0x4e27080) 0 empty
-Class QTypeInfo<QAction*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAction*> (0x4e27780) 0 empty
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0x4e27c80) 0
-Class QTypeInfo<QMacMime*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMacMime*> (0x4e27f00) 0 empty
-Class QList<QMacMime*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QMacMime*>::Node (0x4e27fc0) 0
-Class QList<QVariant>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::Node (0x4e4c240) 0
-Class QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union> (0x4e4c3c0) 0
-Class QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union> (0x4e4cac0) 0
-Class QTypeInfo<QGraphicsItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QGraphicsItem*> (0x4e91100) 0 empty
-Class QList<QGraphicsItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QGraphicsItem*>::Node (0x4e911c0) 0
-Class QTypeInfo<QStyleOptionQ3ListViewItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QStyleOptionQ3ListViewItem> (0x4e91640) 0 empty
-Class QList<QStyleOptionQ3ListViewItem>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::Node (0x4e91700) 0
-Class QList<QItemSelectionRange>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::Node (0x4e91ac0) 0
-Class QList<QStandardItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QStandardItem*>::Node (0x4e91e00) 0
-Class QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union> (0x4eb6140) 0
-Class QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union> (0x4eb6fc0) 0
diff --git a/tests/auto/bic/data/QtSvg.4.2.0.win32-gcc-ia32.txt b/tests/auto/bic/data/QtSvg.4.2.0.win32-gcc-ia32.txt
index c434f46..dcbff57 100644
--- a/tests/auto/bic/data/QtSvg.4.2.0.win32-gcc-ia32.txt
+++ b/tests/auto/bic/data/QtSvg.4.2.0.win32-gcc-ia32.txt
@@ -1,34 +1,8 @@
-Class QUintForSize<4>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<4> (0xa9db00) 0 empty
-Class QUintForSize<8>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<8> (0xa9dc00) 0 empty
-Class QUintForType<void*>
- size=1 align=1
- base size=1 base align=1
-QUintForType<void*> (0xa9df00) 0 empty
- QUintForSize<4> (0xac2000) 0 empty
-Class QIntForSize<4>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<4> (0xac2180) 0 empty
-Class QIntForSize<8>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<8> (0xac2240) 0 empty
-Class QIntForType<void*>
- size=1 align=1
- base size=1 base align=1
-QIntForType<void*> (0xac24c0) 0 empty
- QIntForSize<4> (0xac2580) 0 empty
Class QSysInfo
size=1 align=1
@@ -50,80 +24,20 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0xaf4380) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0xaf4b80) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0xaf4d00) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0xaf4e80) 0 empty
-Class QTypeInfo<uchar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uchar> (0xb0a000) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0xb0a180) 0 empty
-Class QTypeInfo<ushort>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ushort> (0xb0a300) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0xb0a480) 0 empty
-Class QTypeInfo<uint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uint> (0xb0a600) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0xb0a780) 0 empty
-Class QTypeInfo<ulong>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ulong> (0xb0a900) 0 empty
-Class QTypeInfo<qint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<qint64> (0xb0aa80) 0 empty
-Class QTypeInfo<quint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<quint64> (0xb0ac00) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0xb0ad80) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0xb0af00) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0xb36080) 0 empty
Class QFlag
size=4 align=4
@@ -140,10 +54,6 @@ Class QChar
base size=2 base align=2
QChar (0xb60f00) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0xb97380) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -171,75 +81,19 @@ Class QByteRef
base size=8 base align=4
QByteRef (0xc4bb00) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0xd72780) 0 empty
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0xd84e00) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0xd940c0) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0xd84980) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0xd9ae40) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0xd94780) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0xda58c0) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0xdd9300) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0xdd9600) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0xda0080) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0xde94c0) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0xde9d00) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0xdef080) 0
-Class QFlags<Qt::TextInteractionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::TextInteractionFlag> (0xdef480) 0
Class QInternal
size=1 align=1
@@ -266,10 +120,6 @@ Class QLatin1String
base size=4 base align=4
QLatin1String (0xee0240) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0xee0780) 0
Class QCharRef
size=8 align=4
@@ -282,10 +132,6 @@ Class QConstString
QConstString (0x11f3dc0) 0
QString (0x11f3e00) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0x1260140) 0 empty
Vtable for std::exception
std::exception::_ZTVSt9exception: 5u entries
@@ -348,10 +194,6 @@ Class QListData
base size=4 base align=4
QListData (0x12d61c0) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0x13dc180) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -376,15 +218,7 @@ Class QTextCodec
QTextCodec (0xee01c0) 0 nearly-empty
vptr=((&QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0x1400480) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0xc5d5c0) 0
Class QTextEncoder
size=32 align=4
@@ -407,25 +241,13 @@ Class QGenericReturnArgument
QGenericReturnArgument (0x144b300) 0
QGenericArgument (0x144b340) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0x1460ac0) 0
Class QMetaObject
size=16 align=4
base size=16 base align=4
QMetaObject (0x144b8c0) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0x1490340) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0x1476f40) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -517,10 +339,6 @@ QIODevice (0x13b5a40) 0
QObject (0x150ab40) 0
primary-for QIODevice (0x13b5a40)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0x150ae40) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -540,25 +358,13 @@ Class QRegExp
base size=4 base align=4
QRegExp (0xee00c0) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0x15d9c00) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0x15d9f80) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0x15f14c0) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0x15f1380) 0
Class QStringList
size=4 align=4
@@ -566,15 +372,7 @@ Class QStringList
QStringList (0xee0140) 0
QList<QString> (0x15f1740) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0x15f1600) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0x15f15c0) 0
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -703,50 +501,22 @@ QFile (0x1705080) 0
QObject (0x1705100) 0
primary-for QIODevice (0x17050c0)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0x1705940) 0
Class QFileInfo
size=4 align=4
base size=4 base align=4
QFileInfo (0x175d140) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0x175da80) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0x1776ac0) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0x1776f80) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0x1776e80) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0x171bfc0) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0x17b1c80) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0x17b1880) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -803,10 +573,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0x16f5f80) 0
vptr=((&QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0x184e0c0) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -880,10 +646,6 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0x18bbb80) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0x18bbc80) 0 empty
Class QMapData::Node
size=8 align=4
@@ -908,10 +670,6 @@ Class QTextStream
QTextStream (0x1afb580) 0
vptr=((&QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0x1afb940) 0
Class QTextStreamManipulator
size=24 align=4
@@ -948,20 +706,8 @@ QTextOStream (0x1b8c740) 0
QTextStream (0x1b8c780) 0
primary-for QTextOStream (0x1b8c740)
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x1bc1980) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x1bc1b00) 0
-Class <anonymous struct>
- size=16 align=8
- base size=16 base align=8
-<anonymous struct> (0x1be78c0) 0
Class QVectorData
size=16 align=4
@@ -1099,15 +845,7 @@ Class QLocale
base size=4 base align=4
QLocale (0x1e50cc0) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0x1e98980) 0 empty
-Class QFlags<QLocale::NumberOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLocale::NumberOption> (0x1e98040) 0
Vtable for QSystemLocale
QSystemLocale::_ZTV13QSystemLocale: 6u entries
@@ -1134,270 +872,58 @@ Class QMetaType
base size=0 base align=1
QMetaType (0x1ef9400) 0 empty
-Class QMetaTypeId2<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QString> (0x1f19840) 0 empty
-Class QMetaTypeId2<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<int> (0x1f199c0) 0 empty
-Class QMetaTypeId2<uint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<uint> (0x1f19b40) 0 empty
-Class QMetaTypeId2<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<bool> (0x1f19cc0) 0 empty
-Class QMetaTypeId2<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<double> (0x1f19e40) 0 empty
-Class QMetaTypeId2<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QByteArray> (0x1f19fc0) 0 empty
-Class QMetaTypeId2<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QChar> (0x1f2d140) 0 empty
-Class QMetaTypeId2<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long int> (0x1f2d2c0) 0 empty
-Class QMetaTypeId2<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short int> (0x1f2d440) 0 empty
-Class QMetaTypeId2<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<char> (0x1f2d5c0) 0 empty
-Class QMetaTypeId2<ulong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<ulong> (0x1f2d740) 0 empty
-Class QMetaTypeId2<ushort>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<ushort> (0x1f2d8c0) 0 empty
-Class QMetaTypeId2<uchar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<uchar> (0x1f2da40) 0 empty
-Class QMetaTypeId2<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<float> (0x1f2dbc0) 0 empty
-Class QMetaTypeId2<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QObject*> (0x1f2dd40) 0 empty
-Class QMetaTypeId2<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QWidget*> (0x1f2dec0) 0 empty
-Class QMetaTypeId2<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<void*> (0x1f4d040) 0 empty
-Class QMetaTypeId2<qlonglong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<qlonglong> (0x1f4d1c0) 0 empty
-Class QMetaTypeId2<qulonglong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<qulonglong> (0x1f4d340) 0 empty
-Class QMetaTypeId2<QStringList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QStringList> (0x1f4d4c0) 0 empty
-Class QMetaTypeId2<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitArray> (0x1f4d640) 0 empty
-Class QMetaTypeId2<QDate>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDate> (0x1f4d7c0) 0 empty
-Class QMetaTypeId2<QTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTime> (0x1f4d940) 0 empty
-Class QMetaTypeId2<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDateTime> (0x1f4dac0) 0 empty
-Class QMetaTypeId2<QUrl>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QUrl> (0x1f4dc40) 0 empty
-Class QMetaTypeId2<QLocale>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLocale> (0x1f4ddc0) 0 empty
-Class QMetaTypeId2<QRect>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRect> (0x1f4df40) 0 empty
-Class QMetaTypeId2<QRectF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRectF> (0x1f6a0c0) 0 empty
-Class QMetaTypeId2<QSize>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSize> (0x1f6a240) 0 empty
-Class QMetaTypeId2<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizeF> (0x1f6a3c0) 0 empty
-Class QMetaTypeId2<QLine>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLine> (0x1f6a540) 0 empty
-Class QMetaTypeId2<QLineF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLineF> (0x1f6a6c0) 0 empty
-Class QMetaTypeId2<QPoint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPoint> (0x1f6a840) 0 empty
-Class QMetaTypeId2<QPointF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPointF> (0x1f6a9c0) 0 empty
-Class QMetaTypeId2<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegExp> (0x1f6ab40) 0 empty
-Class QMetaTypeId2<QColorGroup>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColorGroup> (0x1f6acc0) 0 empty
-Class QMetaTypeId2<QFont>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QFont> (0x1f6ae40) 0 empty
-Class QMetaTypeId2<QPixmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPixmap> (0x1f6afc0) 0 empty
-Class QMetaTypeId2<QBrush>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBrush> (0x1f89140) 0 empty
-Class QMetaTypeId2<QColor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColor> (0x1f892c0) 0 empty
-Class QMetaTypeId2<QPalette>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPalette> (0x1f89440) 0 empty
-Class QMetaTypeId2<QIcon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QIcon> (0x1f895c0) 0 empty
-Class QMetaTypeId2<QImage>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QImage> (0x1f89740) 0 empty
-Class QMetaTypeId2<QPolygon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPolygon> (0x1f898c0) 0 empty
-Class QMetaTypeId2<QRegion>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegion> (0x1f89a40) 0 empty
-Class QMetaTypeId2<QBitmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitmap> (0x1f89bc0) 0 empty
-Class QMetaTypeId2<QCursor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QCursor> (0x1f89d40) 0 empty
-Class QMetaTypeId2<QSizePolicy>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizePolicy> (0x1f89ec0) 0 empty
-Class QMetaTypeId2<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QKeySequence> (0x1fab040) 0 empty
-Class QMetaTypeId2<QPen>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPen> (0x1fab1c0) 0 empty
-Class QMetaTypeId2<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextLength> (0x1fab340) 0 empty
-Class QMetaTypeId2<QTextFormat>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextFormat> (0x1fab4c0) 0 empty
-Class QMetaTypeId2<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMatrix> (0x1fab640) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -1424,45 +950,17 @@ Class QVariant
base size=16 base align=8
QVariant (0x1476c80) 0
-Class QMetaTypeId2<QVariantList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QVariantList> (0x1ffde00) 0 empty
-Class QMetaTypeId2<QVariantMap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QVariantMap> (0x1ffdfc0) 0 empty
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0x2031480) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0x1fbf540) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0x2031780) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0x1fbf5c0) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0x1fab800) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0x2099100) 0 empty
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1540,15 +1038,7 @@ Class QUrl
base size=4 base align=4
QUrl (0x1f19180) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0x2155440) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0x21b3040) 0 empty
Vtable for QEventLoop
QEventLoop::_ZTV10QEventLoop: 14u entries
@@ -1575,10 +1065,6 @@ QEventLoop (0x21b36c0) 0
QObject (0x21b3700) 0
primary-for QEventLoop (0x21b36c0)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0x21b3a00) 0
Vtable for QAbstractEventDispatcher
QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 27u entries
@@ -1623,20 +1109,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0x222b200) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0x222be80) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0x222b180) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0x22542c0) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -1806,10 +1284,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0x22d77c0) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0x22d7e00) 0 empty
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -1917,20 +1391,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0x143fc00) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0x237abc0) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0x143fc80) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0x238f1c0) 0 empty
Class QMetaProperty
size=20 align=4
@@ -1942,10 +1408,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0x143fd80) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0x238f900) 0 empty
Vtable for QMimeData
QMimeData::_ZTV9QMimeData: 17u entries
@@ -2127,10 +1589,6 @@ QLibrary (0x244d040) 0
QObject (0x244d080) 0
primary-for QLibrary (0x244d040)
-Class QFlags<QLibrary::LoadHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLibrary::LoadHint> (0x244d2c0) 0
Vtable for QPluginLoader
QPluginLoader::_ZTV13QPluginLoader: 14u entries
@@ -2172,10 +1630,6 @@ Class QMutex
base size=4 base align=4
QMutex (0x24be7c0) 0
-Class QMutexLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMutexLocker::<anonymous union> (0x24eb000) 0
Class QMutexLocker
size=4 align=4
@@ -2187,20 +1641,12 @@ Class QReadWriteLock
base size=4 base align=4
QReadWriteLock (0x24ebe00) 0
-Class QReadLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QReadLocker::<anonymous union> (0x24fc140) 0
Class QReadLocker
size=4 align=4
base size=4 base align=4
QReadLocker (0x24ebfc0) 0
-Class QWriteLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QWriteLocker::<anonymous union> (0x24fc900) 0
Class QWriteLocker
size=4 align=4
@@ -2258,10 +1704,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0x253eac0) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0x2599480) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -2273,70 +1715,42 @@ Class QDate
base size=4 base align=4
QDate (0x1e50b40) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0x25f1640) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0x1e50bc0) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0x2619280) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0x175d040) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0x2648040) 0 empty
Class QPoint
size=8 align=4
base size=8 base align=4
QPoint (0x1f19340) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0x2648c80) 0 empty
Class QPointF
size=16 align=8
base size=16 base align=8
QPointF (0x1f19380) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0x2670e40) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0x1f192c0) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0x26b72c0) 0 empty
Class QLineF
size=32 align=8
base size=32 base align=8
QLineF (0x1f19300) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0x26e2780) 0 empty
Class QLinkedListData
size=20 align=4
@@ -2348,40 +1762,24 @@ Class QSize
base size=8 base align=4
QSize (0x1f19240) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0x27d3fc0) 0 empty
Class QSizeF
size=16 align=8
base size=16 base align=8
QSizeF (0x1f19280) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0x2826500) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0x1f191c0) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0x28b7000) 0 empty
Class QRectF
size=32 align=8
base size=32 base align=8
QRectF (0x1f19200) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0x293d340) 0 empty
Class QSharedData
size=4 align=4
@@ -2429,10 +1827,6 @@ Class QKeySequence
base size=4 base align=4
QKeySequence (0x1f19700) 0
-Class QTypeInfo<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QKeySequence> (0x2a4e280) 0 empty
Vtable for QMimeSource
QMimeSource::_ZTV11QMimeSource: 7u entries
@@ -2749,15 +2143,7 @@ Class QInputMethodEvent::Attribute
base size=32 base align=8
QInputMethodEvent::Attribute (0x2b46e80) 0
-Class QList<QInputMethodEvent::Attribute>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute>::<anonymous union> (0x2b6e380) 0
-Class QList<QInputMethodEvent::Attribute>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute> (0x2b46f80) 0
Vtable for QInputMethodEvent
QInputMethodEvent::_ZTV17QInputMethodEvent: 4u entries
@@ -3046,15 +2432,7 @@ Class QAccessible
base size=0 base align=1
QAccessible (0x2c1abc0) 0 empty
-Class QFlags<QAccessible::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::StateFlag> (0x2c2fc40) 0
-Class QFlags<QAccessible::RelationFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::RelationFlag> (0x2c3d180) 0
Vtable for QAccessibleInterface
QAccessibleInterface::_ZTV20QAccessibleInterface: 19u entries
@@ -3445,40 +2823,16 @@ Class QPaintDevice
QPaintDevice (0x29cff80) 0
vptr=((&QPaintDevice::_ZTV12QPaintDevice) + 8u)
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x2d73dc0) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x2d73f00) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0x2db4000) 0
-Class QColor::<anonymous union>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union> (0x2d73d40) 0
Class QColor
size=16 align=4
base size=14 base align=4
QColor (0x1f194c0) 0
-Class QVector<QPoint>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint>::<anonymous union> (0x2de2540) 0
-Class QVector<QPoint>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint> (0x2de23c0) 0
Class QPolygon
size=4 align=4
@@ -3486,15 +2840,7 @@ Class QPolygon
QPolygon (0x1f195c0) 0
QVector<QPoint> (0x2de2700) 0
-Class QVector<QPointF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF>::<anonymous union> (0x2e1e980) 0
-Class QVector<QPointF>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF> (0x2e1e840) 0
Class QPolygonF
size=4 align=4
@@ -3507,10 +2853,6 @@ Class QMatrix
base size=48 base align=8
QMatrix (0x1f19800) 0
-Class QTypeInfo<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMatrix> (0x2e7b800) 0 empty
Class QImageTextKeyLang
size=8 align=4
@@ -3537,10 +2879,6 @@ QImage (0x1f19580) 0
QPaintDevice (0x2e9dcc0) 0
primary-for QImage (0x1f19580)
-Class QTypeInfo<QImage>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QImage> (0x2f59000) 0 empty
Vtable for QPixmap
QPixmap::_ZTV7QPixmap: 9u entries
@@ -3567,45 +2905,17 @@ Class QBrush
base size=4 base align=4
QBrush (0x1f19480) 0
-Class QTypeInfo<QBrush>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBrush> (0x2faca00) 0 empty
Class QBrushData
size=72 align=8
base size=72 base align=8
QBrushData (0x2fac1c0) 0
-Class QVector<QGradientStop>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QGradientStop>::<anonymous union> (0x2fcb900) 0
-Class QVector<QGradientStop>
- size=4 align=4
- base size=4 base align=4
-QVector<QGradientStop> (0x2fcb080) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=32 align=8
- base size=32 base align=8
-QGradient::<anonymous union>::<anonymous struct> (0x2fcbb40) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=40 align=8
- base size=40 base align=8
-QGradient::<anonymous union>::<anonymous struct> (0x2fcbc40) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=24 align=8
- base size=24 base align=8
-QGradient::<anonymous union>::<anonymous struct> (0x2fcbe80) 0
-Class QGradient::<anonymous union>
- size=40 align=8
- base size=40 base align=8
-QGradient::<anonymous union> (0x2fcbac0) 0
Class QGradient
size=64 align=8
@@ -4017,10 +3327,6 @@ QAbstractPrintDialog (0x3353080) 0
QPaintDevice (0x3353180) 8
vptr=((&QAbstractPrintDialog::_ZTV20QAbstractPrintDialog) + 256u)
-Class QFlags<QAbstractPrintDialog::PrintDialogOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractPrintDialog::PrintDialogOption> (0x3353440) 0
Vtable for QColorDialog
QColorDialog::_ZTV12QColorDialog: 70u entries
@@ -4283,10 +3589,6 @@ QFileDialog (0x33c99c0) 0
QPaintDevice (0x33c9ac0) 8
vptr=((&QFileDialog::_ZTV11QFileDialog) + 252u)
-Class QFlags<QFileDialog::Option>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileDialog::Option> (0x33fa480) 0
Vtable for QFontDialog
QFontDialog::_ZTV11QFontDialog: 70u entries
@@ -4713,10 +4015,6 @@ QMessageBox (0x3567900) 0
QPaintDevice (0x3567a00) 8
vptr=((&QMessageBox::_ZTV11QMessageBox) + 252u)
-Class QFlags<QMessageBox::StandardButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<QMessageBox::StandardButton> (0x357c680) 0
Vtable for QPageSetupDialog
QPageSetupDialog::_ZTV16QPageSetupDialog: 71u entries
@@ -5087,25 +4385,13 @@ Class QPainterPath
base size=4 base align=4
QPainterPath (0x2e57a80) 0
-Class QVector<QPainterPath::Element>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element>::<anonymous union> (0x36c5980) 0
-Class QVector<QPainterPath::Element>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element> (0x36c5800) 0
Class QPainterPathPrivate
size=8 align=4
base size=8 base align=4
QPainterPathPrivate (0x36aa1c0) 0
-Class QTypeInfo<QPainterPath::Element>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPainterPath::Element> (0x36c5b40) 0 empty
Class QPainterPathStroker
size=4 align=4
@@ -5160,15 +4446,7 @@ Class QGraphicsItem
QGraphicsItem (0x372d540) 0
vptr=((&QGraphicsItem::_ZTV13QGraphicsItem) + 8u)
-Class QFlags<QGraphicsItem::GraphicsItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGraphicsItem::GraphicsItemFlag> (0x372d680) 0
-Class QMetaTypeId<QGraphicsItem*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QGraphicsItem*> (0x3765580) 0 empty
Vtable for QAbstractGraphicsShapeItem
QAbstractGraphicsShapeItem::_ZTV26QAbstractGraphicsShapeItem: 39u entries
@@ -5757,10 +5035,6 @@ Class QPen
base size=4 base align=4
QPen (0x1f19740) 0
-Class QTypeInfo<QPen>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPen> (0x3897e00) 0 empty
Vtable for QGraphicsScene
QGraphicsScene::_ZTV14QGraphicsScene: 34u entries
@@ -5929,60 +5203,20 @@ Class QTextOption
base size=28 base align=8
QTextOption (0x3936a00) 0
-Class QFlags<QTextOption::Flag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextOption::Flag> (0x3936e40) 0
Class QPainter
size=4 align=4
base size=4 base align=4
QPainter (0x2a00080) 0
-Class QFlags<QPainter::RenderHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPainter::RenderHint> (0x3994a00) 0
-Class QVector<QLineF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF>::<anonymous union> (0x3a523c0) 0
-Class QVector<QLineF>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF> (0x39a97c0) 0
-Class QVector<QLine>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine>::<anonymous union> (0x3a52740) 0
-Class QVector<QLine>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine> (0x39a9880) 0
-Class QVector<QRectF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF>::<anonymous union> (0x3a92400) 0
-Class QVector<QRectF>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF> (0x39a99c0) 0
-Class QVector<QRect>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect>::<anonymous union> (0x3a92700) 0
-Class QVector<QRect>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect> (0x2a09700) 0
Vtable for QAbstractScrollArea
QAbstractScrollArea::_ZTV19QAbstractScrollArea: 69u entries
@@ -6249,20 +5483,8 @@ QGraphicsView (0x373ea40) 0
QPaintDevice (0x3b5cc40) 8
vptr=((&QGraphicsView::_ZTV13QGraphicsView) + 260u)
-Class QFlags<QGraphicsView::CacheModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGraphicsView::CacheModeFlag> (0x3b951c0) 0
-Class QList<QGraphicsItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QGraphicsItem*>::<anonymous union> (0x3bfd440) 0
-Class QList<QGraphicsItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QGraphicsItem*> (0x372da80) 0
Vtable for QBitmap
QBitmap::_ZTV7QBitmap: 9u entries
@@ -6291,10 +5513,6 @@ Class QIcon
base size=4 base align=4
QIcon (0x1f19540) 0
-Class QTypeInfo<QIcon>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QIcon> (0x3c89400) 0 empty
Vtable for QIconEngine
QIconEngine::_ZTV11QIconEngine: 9u entries
@@ -6450,10 +5668,6 @@ QImageIOPlugin (0x3ca8fc0) 0
QFactoryInterface (0x3cc7080) 8 nearly-empty
primary-for QImageIOHandlerFactoryInterface (0x3cc7040)
-Class QFlags<QImageIOPlugin::Capability>
- size=4 align=4
- base size=4 base align=4
-QFlags<QImageIOPlugin::Capability> (0x3cc7240) 0
Class QImageReader
size=4 align=4
@@ -6631,15 +5845,7 @@ QActionGroup (0x3d981c0) 0
QObject (0x3dd7540) 0
primary-for QActionGroup (0x3d981c0)
-Class QList<QAction*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QAction*>::<anonymous union> (0x3e00000) 0
-Class QList<QAction*>
- size=4 align=4
- base size=4 base align=4
-QList<QAction*> (0x31dad80) 0
Vtable for QInputContext
QInputContext::_ZTV13QInputContext: 25u entries
@@ -6948,10 +6154,6 @@ QAbstractSpinBox (0x3ec1100) 0
QPaintDevice (0x3ec11c0) 8
vptr=((&QAbstractSpinBox::_ZTV16QAbstractSpinBox) + 260u)
-Class QFlags<QAbstractSpinBox::StepEnabledFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractSpinBox::StepEnabledFlag> (0x3ec16c0) 0
Vtable for QAbstractSlider
QAbstractSlider::_ZTV15QAbstractSlider: 68u entries
@@ -7167,15 +6369,7 @@ QStyle (0x31a89c0) 0
QObject (0x3f8a340) 0
primary-for QStyle (0x31a89c0)
-Class QFlags<QStyle::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::StateFlag> (0x3f8ac80) 0
-Class QFlags<QStyle::SubControl>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::SubControl> (0x3fafe40) 0
Vtable for QTabBar
QTabBar::_ZTV7QTabBar: 71u entries
@@ -7446,10 +6640,6 @@ Class QStyleOptionFrame
QStyleOptionFrame (0x4111f40) 0
QStyleOption (0x4111f80) 0
-Class QFlags<QStyleOptionFrameV2::FrameFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionFrameV2::FrameFeature> (0x4127440) 0
Class QStyleOptionFrameV2
size=56 align=4
@@ -7476,10 +6666,6 @@ Class QStyleOptionHeader
QStyleOptionHeader (0x416f740) 0
QStyleOption (0x416f780) 0
-Class QFlags<QStyleOptionButton::ButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionButton::ButtonFeature> (0x4195240) 0
Class QStyleOptionButton
size=64 align=4
@@ -7487,10 +6673,6 @@ Class QStyleOptionButton
QStyleOptionButton (0x41950c0) 0
QStyleOption (0x4195100) 0
-Class QFlags<QStyleOptionTab::CornerWidget>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionTab::CornerWidget> (0x4195b80) 0
Class QStyleOptionTab
size=72 align=4
@@ -7505,10 +6687,6 @@ QStyleOptionTabV2 (0x41ed2c0) 0
QStyleOptionTab (0x41ed300) 0
QStyleOption (0x41ed340) 0
-Class QFlags<QStyleOptionToolBar::ToolBarFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionToolBar::ToolBarFeature> (0x41eda80) 0
Class QStyleOptionToolBar
size=68 align=4
@@ -7535,10 +6713,6 @@ Class QStyleOptionMenuItem
QStyleOptionMenuItem (0x423c800) 0
QStyleOption (0x423c840) 0
-Class QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature> (0x428c240) 0
Class QStyleOptionQ3ListViewItem
size=64 align=4
@@ -7564,10 +6738,6 @@ Class QStyleOptionViewItem
QStyleOptionViewItem (0x42d9240) 0
QStyleOption (0x42d9280) 0
-Class QFlags<QStyleOptionViewItemV2::ViewItemFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionViewItemV2::ViewItemFeature> (0x42d9940) 0
Class QStyleOptionViewItemV2
size=84 align=4
@@ -7608,15 +6778,7 @@ QStyleOptionSpinBox (0x435b5c0) 0
QStyleOptionComplex (0x435b600) 0
QStyleOption (0x435b640) 0
-Class QList<QStyleOptionQ3ListViewItem>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::<anonymous union> (0x435bc80) 0
-Class QList<QStyleOptionQ3ListViewItem>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem> (0x435bb80) 0
Class QStyleOptionQ3ListView
size=84 align=4
@@ -7625,10 +6787,6 @@ QStyleOptionQ3ListView (0x435bac0) 0
QStyleOptionComplex (0x435bb00) 0
QStyleOption (0x435bb40) 0
-Class QFlags<QStyleOptionToolButton::ToolButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionToolButton::ToolButtonFeature> (0x438f740) 0
Class QStyleOptionToolButton
size=96 align=4
@@ -7719,10 +6877,6 @@ Class QItemSelectionRange
base size=8 base align=4
QItemSelectionRange (0x4466380) 0
-Class QTypeInfo<QItemSelectionRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QItemSelectionRange> (0x44909c0) 0 empty
Vtable for QItemSelectionModel
QItemSelectionModel::_ZTV19QItemSelectionModel: 18u entries
@@ -7753,20 +6907,8 @@ QItemSelectionModel (0x4490dc0) 0
QObject (0x4490e00) 0
primary-for QItemSelectionModel (0x4490dc0)
-Class QFlags<QItemSelectionModel::SelectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QItemSelectionModel::SelectionFlag> (0x44cc140) 0
-Class QList<QItemSelectionRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::<anonymous union> (0x44ccfc0) 0
-Class QList<QItemSelectionRange>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange> (0x44ccec0) 0
Class QItemSelection
size=4 align=4
@@ -7900,10 +7042,6 @@ QAbstractItemView (0x451f640) 0
QPaintDevice (0x451f780) 8
vptr=((&QAbstractItemView::_ZTV17QAbstractItemView) + 400u)
-Class QFlags<QAbstractItemView::EditTrigger>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractItemView::EditTrigger> (0x4548480) 0
Vtable for QAbstractProxyModel
QAbstractProxyModel::_ZTV19QAbstractProxyModel: 47u entries
@@ -8245,15 +7383,7 @@ Class QItemEditorCreatorBase
QItemEditorCreatorBase (0x46a1200) 0 nearly-empty
vptr=((&QItemEditorCreatorBase::_ZTV22QItemEditorCreatorBase) + 8u)
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union> (0x46a1f00) 0
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*> (0x46a1d00) 0
Vtable for QItemEditorFactory
QItemEditorFactory::_ZTV18QItemEditorFactory: 6u entries
@@ -8398,15 +7528,7 @@ QListView (0x46c0680) 0
QPaintDevice (0x46c0800) 8
vptr=((&QListView::_ZTV9QListView) + 400u)
-Class QVector<QWidgetItemData>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData>::<anonymous union> (0x46dde40) 0
-Class QVector<QWidgetItemData>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData> (0x46ddcc0) 0
Vtable for QListWidgetItem
QListWidgetItem::_ZTV15QListWidgetItem: 11u entries
@@ -8703,15 +7825,7 @@ Class QStandardItem
QStandardItem (0x48163c0) 0
vptr=((&QStandardItem::_ZTV13QStandardItem) + 8u)
-Class QList<QStandardItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QStandardItem*>::<anonymous union> (0x48cf880) 0
-Class QList<QStandardItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QStandardItem*> (0x48168c0) 0
Vtable for QStandardItemModel
QStandardItemModel::_ZTV18QStandardItemModel: 42u entries
@@ -9241,35 +8355,15 @@ QTreeView (0x4a3d980) 0
QPaintDevice (0x4a3db00) 8
vptr=((&QTreeView::_ZTV9QTreeView) + 408u)
-Class QFlags<QTreeWidgetItemIterator::IteratorFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTreeWidgetItemIterator::IteratorFlag> (0x4a68ec0) 0
Class QTreeWidgetItemIterator
size=12 align=4
base size=12 base align=4
QTreeWidgetItemIterator (0x4a68a80) 0
-Class QVector<QVector<QWidgetItemData> >::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> >::<anonymous union> (0x4a9ccc0) 0
-Class QVector<QVector<QWidgetItemData> >
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> > (0x4a9cb40) 0
-Class QList<QTreeWidgetItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::<anonymous union> (0x4a9cf00) 0
-Class QList<QTreeWidgetItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*> (0x4a9c9c0) 0
Vtable for QTreeWidgetItem
QTreeWidgetItem::_ZTV15QTreeWidgetItem: 10u entries
@@ -10158,15 +9252,7 @@ Class QTextItem
base size=0 base align=1
QTextItem (0x3994840) 0 empty
-Class QTypeInfo<QTextItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextItem> (0x4e0dec0) 0 empty
-Class QFlags<QPaintEngine::PaintEngineFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::PaintEngineFeature> (0x4e384c0) 0
Vtable for QPaintEngine
QPaintEngine::_ZTV12QPaintEngine: 26u entries
@@ -10203,20 +9289,12 @@ Class QPaintEngine
QPaintEngine (0x2d27b00) 0
vptr=((&QPaintEngine::_ZTV12QPaintEngine) + 8u)
-Class QFlags<QPaintEngine::DirtyFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::DirtyFlag> (0x4e38940) 0
Class QPaintEngineState
size=4 align=4
base size=4 base align=4
QPaintEngineState (0x4e0dc40) 0
-Class QFlags<QTextItem::RenderFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextItem::RenderFlag> (0x4e0ddc0) 0
Vtable for QPrinter
QPrinter::_ZTV8QPrinter: 9u entries
@@ -10313,10 +9391,6 @@ QCommonStyle (0x4f7bc40) 0
QObject (0x4f7bcc0) 0
primary-for QStyle (0x4f7bc80)
-Class QPointer<QFocusFrame>
- size=4 align=4
- base size=4 base align=4
-QPointer<QFocusFrame> (0x4fb3500) 0
Vtable for QMotifStyle
QMotifStyle::_ZTV11QMotifStyle: 35u entries
@@ -10690,30 +9764,14 @@ Class QTextLength
base size=16 base align=8
QTextLength (0x1f19780) 0
-Class QSharedDataPointer<QTextFormatPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextFormatPrivate> (0x5129f80) 0
Class QTextFormat
size=8 align=4
base size=8 base align=4
QTextFormat (0x1f197c0) 0
-Class QVector<QTextLength>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength>::<anonymous union> (0x513c900) 0
-Class QVector<QTextLength>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength> (0x5129a80) 0
-Class QFlags<QTextFormat::PageBreakFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextFormat::PageBreakFlag> (0x5129600) 0
Class QTextCharFormat
size=8 align=4
@@ -10768,15 +9826,7 @@ Class QTextLayout
base size=4 base align=4
QTextLayout (0x30b7dc0) 0
-Class QVector<QTextLayout::FormatRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange>::<anonymous union> (0x52d3780) 0
-Class QVector<QTextLayout::FormatRange>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange> (0x52d3400) 0
Class QTextLine
size=8 align=4
@@ -10826,15 +9876,7 @@ QTextDocument (0x381e300) 0
QObject (0x5300fc0) 0
primary-for QTextDocument (0x381e300)
-Class QFlags<QTextDocument::FindFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextDocument::FindFlag> (0x5315500) 0
-Class QSharedDataPointer<QTextCursorPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextCursorPrivate> (0x5385700) 0
Class QTextCursor
size=4 align=4
@@ -10846,15 +9888,7 @@ Class QAbstractTextDocumentLayout::Selection
base size=12 base align=4
QAbstractTextDocumentLayout::Selection (0x5385c00) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union> (0x5385ec0) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection> (0x5385d40) 0
Class QAbstractTextDocumentLayout::PaintContext
size=56 align=8
@@ -11016,10 +10050,6 @@ QTextFrame (0x53007c0) 0
QObject (0x542c180) 0
primary-for QTextObject (0x542c140)
-Class QTypeInfo<QTextFrame::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFrame::iterator> (0x5455700) 0 empty
Vtable for QTextBlockUserData
QTextBlockUserData::_ZTV18QTextBlockUserData: 4u entries
@@ -11044,25 +10074,13 @@ Class QTextBlock
base size=8 base align=4
QTextBlock (0x52aec40) 0
-Class QTypeInfo<QTextBlock>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock> (0x5486f80) 0 empty
-Class QTypeInfo<QTextBlock::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock::iterator> (0x54a1100) 0 empty
Class QTextFragment
size=12 align=4
base size=12 base align=4
QTextFragment (0x53f5280) 0
-Class QTypeInfo<QTextFragment>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFragment> (0x54a1b80) 0 empty
Vtable for QSyntaxHighlighter
QSyntaxHighlighter::_ZTV18QSyntaxHighlighter: 15u entries
@@ -12056,10 +11074,6 @@ QDateEdit (0x5765940) 0
QPaintDevice (0x5765a80) 8
vptr=((&QDateEdit::_ZTV9QDateEdit) + 268u)
-Class QFlags<QDateTimeEdit::Section>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDateTimeEdit::Section> (0x573bc40) 0
Vtable for QDial
QDial::_ZTV5QDial: 68u entries
@@ -12228,10 +11242,6 @@ QDialogButtonBox (0x57d6bc0) 0
QPaintDevice (0x57d6c80) 8
vptr=((&QDialogButtonBox::_ZTV16QDialogButtonBox) + 240u)
-Class QFlags<QDialogButtonBox::StandardButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDialogButtonBox::StandardButton> (0x57d6d80) 0
Vtable for QDockWidget
QDockWidget::_ZTV11QDockWidget: 67u entries
@@ -12315,10 +11325,6 @@ QDockWidget (0x582ba00) 0
QPaintDevice (0x582bac0) 8
vptr=((&QDockWidget::_ZTV11QDockWidget) + 240u)
-Class QFlags<QDockWidget::DockWidgetFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDockWidget::DockWidgetFeature> (0x582bf40) 0
Vtable for QFocusFrame
QFocusFrame::_ZTV11QFocusFrame: 67u entries
@@ -12488,10 +11494,6 @@ QFontComboBox (0x59093c0) 0
QPaintDevice (0x59094c0) 8
vptr=((&QFontComboBox::_ZTV13QFontComboBox) + 248u)
-Class QFlags<QFontComboBox::FontFilter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFontComboBox::FontFilter> (0x59098c0) 0
Vtable for QGroupBox
QGroupBox::_ZTV9QGroupBox: 67u entries
@@ -14136,10 +13138,6 @@ QTextEdit (0x54a1dc0) 0
QPaintDevice (0x5d6cb00) 8
vptr=((&QTextEdit::_ZTV9QTextEdit) + 264u)
-Class QFlags<QTextEdit::AutoFormattingFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextEdit::AutoFormattingFlag> (0x5d972c0) 0
Vtable for QTextBrowser
QTextBrowser::_ZTV12QTextBrowser: 78u entries
@@ -14753,178 +13751,38 @@ QSvgWidget (0x61270c0) 0
QPaintDevice (0x6127180) 8
vptr=((&QSvgWidget::_ZTV10QSvgWidget) + 240u)
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0x1400440) 0
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0x15f1480) 0
-Class QTypeInfo<QDebug::Stream*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDebug::Stream*> (0x639be00) 0 empty
-Class QVectorTypedData<QPoint>
- size=24 align=4
- base size=24 base align=4
-QVectorTypedData<QPoint> (0x2de24c0) 0
-Class QVectorTypedData<QPointF>
- size=32 align=8
- base size=32 base align=8
-QVectorTypedData<QPointF> (0x2e1e900) 0
-Class QVectorTypedData<QPainterPath::Element>
- size=40 align=8
- base size=40 base align=8
-QVectorTypedData<QPainterPath::Element> (0x36c5900) 0
-Class QVectorTypedData<QLineF>
- size=48 align=8
- base size=48 base align=8
-QVectorTypedData<QLineF> (0x3a52340) 0
-Class QVectorTypedData<QLine>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QLine> (0x3a526c0) 0
-Class QVectorTypedData<QRectF>
- size=48 align=8
- base size=48 base align=8
-QVectorTypedData<QRectF> (0x3a92380) 0
-Class QVectorTypedData<QRect>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QRect> (0x3a92680) 0
-Class QList<QTreeWidgetItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::Node (0x4a9cec0) 0
-Class QVectorTypedData<QVector<QWidgetItemData> >
- size=20 align=4
- base size=20 base align=4
-QVectorTypedData<QVector<QWidgetItemData> > (0x4a9cc40) 0
-Class QVectorTypedData<QTextLength>
- size=32 align=8
- base size=32 base align=8
-QVectorTypedData<QTextLength> (0x513c880) 0
-Class QVectorTypedData<QTextLayout::FormatRange>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QTextLayout::FormatRange> (0x52d3700) 0
-Class QVectorTypedData<QAbstractTextDocumentLayout::Selection>
- size=28 align=4
- base size=28 base align=4
-QVectorTypedData<QAbstractTextDocumentLayout::Selection> (0x5385e40) 0
-Class QList<QAction*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QAction*>::Node (0x3dd7fc0) 0
-Class QHashNode<QVariant::Type, QItemEditorCreatorBase*>
- size=16 align=4
- base size=16 base align=4
-QHashNode<QVariant::Type, QItemEditorCreatorBase*> (0x46a1e80) 0
-Class QTypeInfo<QStandardItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QStandardItem*> (0x6a25cc0) 0 empty
-Class QTypeInfo<QTreeWidgetItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTreeWidgetItem*> (0x6a59040) 0 empty
-Class QTypeInfo<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLength> (0x6a59880) 0 empty
-Class QTypeInfo<QTextLayout::FormatRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLayout::FormatRange> (0x6a59a40) 0 empty
-Class QTypeInfo<QAbstractTextDocumentLayout::Selection>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAbstractTextDocumentLayout::Selection> (0x6a59f80) 0 empty
-Class QTypeInfo<QAction*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAction*> (0x6a829c0) 0 empty
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0x1776f40) 0
-Class QList<QVariant>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::Node (0x2031440) 0
-Class QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union> (0x6abb100) 0
-Class QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union> (0x6abb3c0) 0
-Class QTypeInfo<QGraphicsItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QGraphicsItem*> (0x6abb600) 0 empty
-Class QList<QGraphicsItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QGraphicsItem*>::Node (0x3bfd400) 0
-Class QTypeInfo<QStyleOptionQ3ListViewItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QStyleOptionQ3ListViewItem> (0x6abb880) 0 empty
-Class QList<QStyleOptionQ3ListViewItem>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::Node (0x435bc40) 0
-Class QList<QItemSelectionRange>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::Node (0x44ccf80) 0
-Class QList<QStandardItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QStandardItem*>::Node (0x48cf840) 0
-Class QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union> (0x6abbf80) 0
-Class QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union> (0x6b51900) 0
diff --git a/tests/auto/bic/data/QtSvg.4.3.0.linux-gcc-ia32.txt b/tests/auto/bic/data/QtSvg.4.3.0.linux-gcc-ia32.txt
index 0ceb568..7b63289 100644
--- a/tests/auto/bic/data/QtSvg.4.3.0.linux-gcc-ia32.txt
+++ b/tests/auto/bic/data/QtSvg.4.3.0.linux-gcc-ia32.txt
@@ -1,34 +1,8 @@
-Class QUintForSize<4>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<4> (0xb7f40e40) 0 empty
-Class QUintForSize<8>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<8> (0xb7f40e80) 0 empty
-Class QUintForType<void*>
- size=1 align=1
- base size=1 base align=1
-QUintForType<void*> (0xb7f40f40) 0 empty
- QUintForSize<4> (0xb7f40f80) 0 empty
-Class QIntForSize<4>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<4> (0xb7840000) 0 empty
-Class QIntForSize<8>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<8> (0xb7840040) 0 empty
-Class QIntForType<void*>
- size=1 align=1
- base size=1 base align=1
-QIntForType<void*> (0xb7840100) 0 empty
- QIntForSize<4> (0xb7840140) 0 empty
Class QSysInfo
size=1 align=1
@@ -50,150 +24,38 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0xb7840400) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0xb78404c0) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0xb7840500) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0xb7840540) 0 empty
-Class QTypeInfo<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned char> (0xb7840580) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0xb78405c0) 0 empty
-Class QTypeInfo<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short unsigned int> (0xb7840600) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0xb7840640) 0 empty
-Class QTypeInfo<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned int> (0xb7840680) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0xb78406c0) 0 empty
-Class QTypeInfo<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long unsigned int> (0xb7840700) 0 empty
-Class QTypeInfo<long long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long int> (0xb7840740) 0 empty
-Class QTypeInfo<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long unsigned int> (0xb7840780) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0xb78407c0) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0xb7840800) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0xb7840840) 0 empty
Class QFlag
size=4 align=4
base size=4 base align=4
QFlag (0xb7840880) 0
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0xb7840980) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0xb78409c0) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0xb7840a00) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0xb7840a40) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0xb7840a80) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0xb7840ac0) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0xb7840b00) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0xb7840b40) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0xb7840b80) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0xb7840bc0) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0xb7840c00) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0xb7840c40) 0
-Class QFlags<Qt::TextInteractionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::TextInteractionFlag> (0xb7840c80) 0
Class QInternal
size=1 align=1
@@ -211,10 +73,6 @@ Class QGenericReturnArgument
QGenericReturnArgument (0xb7840d80) 0
QGenericArgument (0xb7840dc0) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0xb7840f80) 0
Class QMetaObject
size=16 align=4
@@ -231,10 +89,6 @@ Class QChar
base size=2 base align=2
QChar (0xb5b3b040) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0xb5b3b0c0) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -267,10 +121,6 @@ Class QByteRef
base size=8 base align=4
QByteRef (0xb5b3b3c0) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0xb5b3b400) 0 empty
Class QString::Null
size=1 align=1
@@ -287,10 +137,6 @@ Class QString
base size=4 base align=4
QString (0xb5b3b440) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0xb5b3b640) 0
Class QLatin1String
size=4 align=4
@@ -308,10 +154,6 @@ Class QConstString
QConstString (0xb5b3b740) 0
QString (0xb5b3b780) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0xb5b3b7c0) 0 empty
Class QStringRef
size=12 align=4
@@ -379,15 +221,7 @@ Class QListData
base size=4 base align=4
QListData (0xb5b3bb00) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0xb5b3be80) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0xb5b3be00) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -463,10 +297,6 @@ QLibrary (0xb5b3b9c0) 0
QObject (0xb5b3ba80) 0
primary-for QLibrary (0xb5b3b9c0)
-Class QFlags<QLibrary::LoadHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLibrary::LoadHint> (0xb5b3bcc0) 0
Class QUuid
size=16 align=4
@@ -514,10 +344,6 @@ QIODevice (0xb576c000) 0
QObject (0xb576c040) 0
primary-for QIODevice (0xb576c000)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0xb576c100) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -537,25 +363,13 @@ Class QRegExp
base size=4 base align=4
QRegExp (0xb576c1c0) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0xb576c200) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0xb576c240) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0xb576c300) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0xb576c280) 0
Class QStringList
size=4 align=4
@@ -563,15 +377,7 @@ Class QStringList
QStringList (0xb576c340) 0
QList<QString> (0xb576c380) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0xb576c400) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0xb576c440) 0
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -627,10 +433,6 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0xb576c7c0) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0xb576c800) 0 empty
Class QCryptographicHash
size=4 align=4
@@ -642,75 +444,35 @@ Class QDate
base size=4 base align=4
QDate (0xb576cd40) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0xb576ce00) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0xb576ce40) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0xb576cf00) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0xb576cf40) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0xb576c080) 0 empty
Class QByteArrayMatcher
size=1032 align=4
base size=1032 base align=4
QByteArrayMatcher (0xb576c180) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0xb576c680) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0xb576cbc0) 0
Class wait
size=4 align=4
base size=4 base align=4
wait (0xb576c540) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb576cd80) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb576cdc0) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb576ce80) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb576cec0) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb576cf80) 0
Class timespec
size=8 align=4
@@ -722,80 +484,24 @@ Class timeval
base size=8 base align=4
timeval (0xb554a000) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb554a040) 0
-Class <anonymous union>
- size=36 align=4
- base size=36 base align=4
-<anonymous union> (0xb554a080) 0
Class __pthread_internal_slist
size=4 align=4
base size=4 base align=4
__pthread_internal_slist (0xb554a0c0) 0
-Class <anonymous union>::__pthread_mutex_s::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union>::__pthread_mutex_s::<anonymous union> (0xb554a180) 0
-Class <anonymous union>::__pthread_mutex_s
- size=24 align=4
- base size=24 base align=4
-<anonymous union>::__pthread_mutex_s (0xb554a140) 0
-Class <anonymous union>
- size=24 align=4
- base size=24 base align=4
-<anonymous union> (0xb554a100) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb554a1c0) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0xb554a240) 0
-Class <anonymous union>
- size=48 align=4
- base size=48 base align=4
-<anonymous union> (0xb554a200) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb554a280) 0
-Class <anonymous union>::<anonymous struct>
- size=32 align=4
- base size=32 base align=4
-<anonymous union>::<anonymous struct> (0xb554a300) 0
-Class <anonymous union>
- size=32 align=4
- base size=32 base align=4
-<anonymous union> (0xb554a2c0) 0
-Class <anonymous union>
- size=8 align=4
- base size=8 base align=4
-<anonymous union> (0xb554a340) 0
-Class <anonymous union>
- size=20 align=4
- base size=20 base align=4
-<anonymous union> (0xb554a380) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb554a3c0) 0
Class random_data
size=28 align=4
@@ -817,20 +523,12 @@ Class QSize
base size=8 base align=4
QSize (0xb554a640) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0xb554a840) 0 empty
Class QSizeF
size=16 align=4
base size=16 base align=4
QSizeF (0xb554a8c0) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0xb554aac0) 0 empty
Class QLinkedListData
size=20 align=4
@@ -842,15 +540,7 @@ Class QLocale
base size=4 base align=4
QLocale (0xb554ae80) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0xb554aec0) 0 empty
-Class QFlags<QLocale::NumberOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLocale::NumberOption> (0xb554af00) 0
Vtable for QSystemLocale
QSystemLocale::_ZTV13QSystemLocale: 6u entries
@@ -887,60 +577,36 @@ Class QPoint
base size=8 base align=4
QPoint (0xb5366100) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0xb5366340) 0 empty
Class QPointF
size=16 align=4
base size=16 base align=4
QPointF (0xb5366380) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0xb53665c0) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0xb5366700) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0xb5366800) 0 empty
Class QRectF
size=32 align=4
base size=32 base align=4
QRectF (0xb5366840) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0xb5366900) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0xb5366940) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0xb5366980) 0 empty
Class QLineF
size=32 align=4
base size=32 base align=4
QLineF (0xb53669c0) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0xb5366a00) 0 empty
Vtable for QTimeLine
QTimeLine::_ZTV9QTimeLine: 15u entries
@@ -978,10 +644,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0xb5366d80) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0xb5366dc0) 0 empty
Class QLibraryInfo
size=1 align=1
@@ -993,290 +655,66 @@ Class QUrl
base size=4 base align=4
QUrl (0xb5366f00) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0xb5366f80) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0xb5366fc0) 0 empty
Class QMetaType
size=1 align=1
base size=0 base align=1
QMetaType (0xb5366140) 0 empty
-Class QMetaTypeId2<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QString> (0xb5366200) 0 empty
-Class QMetaTypeId2<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<int> (0xb5366240) 0 empty
-Class QMetaTypeId2<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned int> (0xb5366280) 0 empty
-Class QMetaTypeId2<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<bool> (0xb53662c0) 0 empty
-Class QMetaTypeId2<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<double> (0xb5366300) 0 empty
-Class QMetaTypeId2<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QByteArray> (0xb53663c0) 0 empty
-Class QMetaTypeId2<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QChar> (0xb5366400) 0 empty
-Class QMetaTypeId2<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long int> (0xb5366440) 0 empty
-Class QMetaTypeId2<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short int> (0xb5366480) 0 empty
-Class QMetaTypeId2<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<char> (0xb53664c0) 0 empty
-Class QMetaTypeId2<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long unsigned int> (0xb5366500) 0 empty
-Class QMetaTypeId2<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short unsigned int> (0xb5366540) 0 empty
-Class QMetaTypeId2<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned char> (0xb5366580) 0 empty
-Class QMetaTypeId2<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<float> (0xb5366740) 0 empty
-Class QMetaTypeId2<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QObject*> (0xb5366780) 0 empty
-Class QMetaTypeId2<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QWidget*> (0xb53667c0) 0 empty
-Class QMetaTypeId2<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<void*> (0xb5366880) 0 empty
-Class QMetaTypeId2<long long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long int> (0xb53668c0) 0 empty
-Class QMetaTypeId2<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long unsigned int> (0xb5366c00) 0 empty
-Class QMetaTypeId2<QStringList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QStringList> (0xb4fee000) 0 empty
-Class QMetaTypeId2<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitArray> (0xb4fee040) 0 empty
-Class QMetaTypeId2<QDate>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDate> (0xb4fee080) 0 empty
-Class QMetaTypeId2<QTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTime> (0xb4fee0c0) 0 empty
-Class QMetaTypeId2<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDateTime> (0xb4fee100) 0 empty
-Class QMetaTypeId2<QUrl>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QUrl> (0xb4fee140) 0 empty
-Class QMetaTypeId2<QLocale>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLocale> (0xb4fee180) 0 empty
-Class QMetaTypeId2<QRect>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRect> (0xb4fee1c0) 0 empty
-Class QMetaTypeId2<QRectF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRectF> (0xb4fee200) 0 empty
-Class QMetaTypeId2<QSize>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSize> (0xb4fee240) 0 empty
-Class QMetaTypeId2<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizeF> (0xb4fee280) 0 empty
-Class QMetaTypeId2<QLine>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLine> (0xb4fee2c0) 0 empty
-Class QMetaTypeId2<QLineF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLineF> (0xb4fee300) 0 empty
-Class QMetaTypeId2<QPoint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPoint> (0xb4fee340) 0 empty
-Class QMetaTypeId2<QPointF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPointF> (0xb4fee380) 0 empty
-Class QMetaTypeId2<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegExp> (0xb4fee3c0) 0 empty
-Class QMetaTypeId2<QColorGroup>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColorGroup> (0xb4fee400) 0 empty
-Class QMetaTypeId2<QFont>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QFont> (0xb4fee440) 0 empty
-Class QMetaTypeId2<QPixmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPixmap> (0xb4fee480) 0 empty
-Class QMetaTypeId2<QBrush>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBrush> (0xb4fee4c0) 0 empty
-Class QMetaTypeId2<QColor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColor> (0xb4fee500) 0 empty
-Class QMetaTypeId2<QPalette>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPalette> (0xb4fee540) 0 empty
-Class QMetaTypeId2<QIcon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QIcon> (0xb4fee580) 0 empty
-Class QMetaTypeId2<QImage>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QImage> (0xb4fee5c0) 0 empty
-Class QMetaTypeId2<QPolygon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPolygon> (0xb4fee600) 0 empty
-Class QMetaTypeId2<QRegion>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegion> (0xb4fee640) 0 empty
-Class QMetaTypeId2<QBitmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitmap> (0xb4fee680) 0 empty
-Class QMetaTypeId2<QCursor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QCursor> (0xb4fee6c0) 0 empty
-Class QMetaTypeId2<QSizePolicy>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizePolicy> (0xb4fee700) 0 empty
-Class QMetaTypeId2<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QKeySequence> (0xb4fee740) 0 empty
-Class QMetaTypeId2<QPen>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPen> (0xb4fee780) 0 empty
-Class QMetaTypeId2<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextLength> (0xb4fee7c0) 0 empty
-Class QMetaTypeId2<QTextFormat>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextFormat> (0xb4fee800) 0 empty
-Class QMetaTypeId2<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMatrix> (0xb4fee840) 0 empty
-Class QMetaTypeId2<QTransform>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTransform> (0xb4fee880) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -1303,45 +741,17 @@ Class QVariant
base size=12 base align=4
QVariant (0xb4fee8c0) 0
-Class QMetaTypeId2<QList<QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QList<QVariant> > (0xb4feeb40) 0 empty
-Class QMetaTypeId2<QMap<QString, QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMap<QString, QVariant> > (0xb4feeb80) 0 empty
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0xb4feec80) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0xb4feec00) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0xb4feed80) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0xb4feed00) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0xb4feee00) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0xb4feee80) 0 empty
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1368,25 +778,9 @@ QSettings (0xb4feeec0) 0
QObject (0xb4feef00) 0
primary-for QSettings (0xb4feeec0)
-Class <anonymous struct>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct>::<anonymous union> (0xb4feea00) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb4feefc0) 0
-Class <anonymous struct>
- size=12 align=4
- base size=12 base align=4
-<anonymous struct> (0xb4feea40) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb4feea80) 0
Class __gconv_trans_data
size=20 align=4
@@ -1408,15 +802,7 @@ Class __gconv_info
base size=8 base align=4
__gconv_info (0xb4feef80) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0xb4ecd040) 0
-Class <anonymous union>
- size=44 align=4
- base size=44 base align=4
-<anonymous union> (0xb4ecd000) 0
Class _IO_marker
size=12 align=4
@@ -1428,10 +814,6 @@ Class _IO_FILE
base size=148 base align=4
_IO_FILE (0xb4ecd0c0) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb4ecd100) 0
Vtable for QFile
QFile::_ZTV5QFile: 31u entries
@@ -1477,10 +859,6 @@ QFile (0xb4ecd140) 0
QObject (0xb4ecd1c0) 0
primary-for QIODevice (0xb4ecd180)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0xb4ecd240) 0
Vtable for QTemporaryFile
QTemporaryFile::_ZTV14QTemporaryFile: 31u entries
@@ -1533,40 +911,16 @@ Class QFileInfo
base size=4 base align=4
QFileInfo (0xb4ecd3c0) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0xb4ecd400) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0xb4ecd440) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0xb4ecd500) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0xb4ecd480) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0xb4ecd540) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0xb4ecd5c0) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0xb4ecd640) 0
Vtable for QProcess
QProcess::_ZTV8QProcess: 31u entries
@@ -1650,10 +1004,6 @@ Class QDirIterator
QDirIterator (0xb4ecd880) 0
vptr=((& QDirIterator::_ZTV12QDirIterator) + 8u)
-Class QFlags<QDirIterator::IteratorFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDirIterator::IteratorFlag> (0xb4ecd940) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -1710,10 +1060,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0xb4ecd980) 0
vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0xb4ecdb00) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -1747,10 +1093,6 @@ Class QAbstractFileEngineIterator
QAbstractFileEngineIterator (0xb4ecdbc0) 0
vptr=((& QAbstractFileEngineIterator::_ZTV27QAbstractFileEngineIterator) + 8u)
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0xb4ecdd00) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -1775,15 +1117,7 @@ Class QTextCodec
QTextCodec (0xb4ecdc40) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0xb4ecde40) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0xb4ecddc0) 0
Class QTextEncoder
size=32 align=4
@@ -1808,10 +1142,6 @@ Class QTextStream
QTextStream (0xb4ecdf00) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0xb4ecdfc0) 0
Class QTextStreamManipulator
size=24 align=4
@@ -1958,20 +1288,12 @@ Class QReadWriteLock
base size=4 base align=4
QReadWriteLock (0xb4cf91c0) 0
-Class QReadLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QReadLocker::<anonymous union> (0xb4cf9240) 0
Class QReadLocker
size=4 align=4
base size=4 base align=4
QReadLocker (0xb4cf9200) 0
-Class QWriteLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QWriteLocker::<anonymous union> (0xb4cf92c0) 0
Class QWriteLocker
size=4 align=4
@@ -1983,10 +1305,6 @@ Class QMutex
base size=4 base align=4
QMutex (0xb4cf9300) 0
-Class QMutexLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMutexLocker::<anonymous union> (0xb4cf9380) 0
Class QMutexLocker
size=4 align=4
@@ -2066,10 +1384,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0xb4cf9680) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0xb4cf96c0) 0 empty
Vtable for QMimeData
QMimeData::_ZTV9QMimeData: 17u entries
@@ -2104,20 +1418,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0xb4cf97c0) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0xb4cf9800) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0xb4cf9840) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0xb4cf98c0) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -2357,10 +1663,6 @@ QEventLoop (0xb4cf9d40) 0
QObject (0xb4cf9d80) 0
primary-for QEventLoop (0xb4cf9d40)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0xb4cf9e80) 0
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -2555,20 +1857,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0xb4a78040) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0xb4a78080) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0xb4a780c0) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0xb4a78100) 0 empty
Class QMetaProperty
size=20 align=4
@@ -2580,10 +1874,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0xb4a78180) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0xb4a781c0) 0 empty
Vtable for QTextCodecFactoryInterface
QTextCodecFactoryInterface::_ZTV26QTextCodecFactoryInterface: 6u entries
@@ -2726,25 +2016,13 @@ QImageIOPlugin (0xb4a78600) 0
QFactoryInterface (0xb4a786c0) 8 nearly-empty
primary-for QImageIOHandlerFactoryInterface (0xb4a78680)
-Class QFlags<QImageIOPlugin::Capability>
- size=4 align=4
- base size=4 base align=4
-QFlags<QImageIOPlugin::Capability> (0xb4a78740) 0
Class QImageReader
size=4 align=4
base size=4 base align=4
QImageReader (0xb4a78780) 0
-Class QVector<QPoint>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint>::<anonymous union> (0xb4a78840) 0
-Class QVector<QPoint>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint> (0xb4a787c0) 0
Class QPolygon
size=4 align=4
@@ -2752,15 +2030,7 @@ Class QPolygon
QPolygon (0xb4a78880) 0
QVector<QPoint> (0xb4a788c0) 0
-Class QVector<QPointF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF>::<anonymous union> (0xb4a78980) 0
-Class QVector<QPointF>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF> (0xb4a78900) 0
Class QPolygonF
size=4 align=4
@@ -2783,10 +2053,6 @@ Class QMatrix
base size=48 base align=4
QMatrix (0xb4a78bc0) 0
-Class QTypeInfo<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMatrix> (0xb4a78c00) 0 empty
Class QPainterPath::Element
size=20 align=4
@@ -2798,25 +2064,13 @@ Class QPainterPath
base size=4 base align=4
QPainterPath (0xb4a78c40) 0
-Class QVector<QPainterPath::Element>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element>::<anonymous union> (0xb4a78ec0) 0
-Class QVector<QPainterPath::Element>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element> (0xb4a78e40) 0
Class QPainterPathPrivate
size=8 align=4
base size=8 base align=4
QPainterPathPrivate (0xb4a78d40) 0
-Class QTypeInfo<QPainterPath::Element>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPainterPath::Element> (0xb4a78f00) 0 empty
Class QPainterPathStroker
size=4 align=4
@@ -2828,10 +2082,6 @@ Class QTransform
base size=80 base align=4
QTransform (0xb4a78000) 0
-Class QTypeInfo<QTransform>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTransform> (0xb4a78280) 0 empty
Vtable for QPaintDevice
QPaintDevice::_ZTV12QPaintDevice: 7u entries
@@ -2872,30 +2122,10 @@ QImage (0xb4a78a80) 0
QPaintDevice (0xb4a78ac0) 0
primary-for QImage (0xb4a78a80)
-Class QTypeInfo<QImage>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QImage> (0xb4a78b00) 0 empty
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0xb4869000) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0xb4869040) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0xb4869080) 0
-Class QColor::<anonymous union>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union> (0xb4a78d00) 0
Class QColor
size=16 align=4
@@ -3083,10 +2313,6 @@ Class QIcon
base size=4 base align=4
QIcon (0xb4869a00) 0
-Class QTypeInfo<QIcon>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QIcon> (0xb4869ac0) 0 empty
Vtable for QPicture
QPicture::_ZTV8QPicture: 8u entries
@@ -3225,10 +2451,6 @@ Class QKeySequence
base size=4 base align=4
QKeySequence (0xb48690c0) 0
-Class QTypeInfo<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QKeySequence> (0xb4869100) 0 empty
Vtable for QMimeSource
QMimeSource::_ZTV11QMimeSource: 7u entries
@@ -3526,15 +2748,7 @@ Class QInputMethodEvent::Attribute
base size=24 base align=4
QInputMethodEvent::Attribute (0xb479d940) 0
-Class QList<QInputMethodEvent::Attribute>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute>::<anonymous union> (0xb479da40) 0
-Class QList<QInputMethodEvent::Attribute>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute> (0xb479d9c0) 0
Vtable for QInputMethodEvent
QInputMethodEvent::_ZTV17QInputMethodEvent: 4u entries
@@ -3823,20 +3037,8 @@ Class QAccessible
base size=0 base align=1
QAccessible (0xb4828140) 0 empty
-Class QFlags<QAccessible::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::StateFlag> (0xb48281c0) 0
-Class QFlags<QAccessible::RelationFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::RelationFlag> (0xb4828200) 0
-Class QMetaTypeId<QSet<QAccessible::Method> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QSet<QAccessible::Method> > (0xb4828240) 0 empty
Vtable for QAccessibleInterface
QAccessibleInterface::_ZTV20QAccessibleInterface: 19u entries
@@ -3867,20 +3069,8 @@ QAccessibleInterface (0xb4828300) 0 nearly-empty
vptr=((& QAccessibleInterface::_ZTV20QAccessibleInterface) + 8u)
QAccessible (0xb4828340) 0 empty
-Class QHash<QAccessible::Method, QHashDummyValue>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QHash<QAccessible::Method, QHashDummyValue>::<anonymous union> (0xb48284c0) 0
-Class QHash<QAccessible::Method, QHashDummyValue>
- size=4 align=4
- base size=4 base align=4
-QHash<QAccessible::Method, QHashDummyValue> (0xb4828440) 0
-Class QSet<QAccessible::Method>
- size=4 align=4
- base size=4 base align=4
-QSet<QAccessible::Method> (0xb48283c0) 0
Vtable for QAccessibleInterfaceEx
QAccessibleInterfaceEx::_ZTV22QAccessibleInterfaceEx: 22u entries
@@ -4402,55 +3592,23 @@ Class QPen
base size=4 base align=4
QPen (0xb46db640) 0
-Class QTypeInfo<QPen>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPen> (0xb46db700) 0 empty
Class QBrush
size=4 align=4
base size=4 base align=4
QBrush (0xb46db740) 0
-Class QTypeInfo<QBrush>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBrush> (0xb46db780) 0 empty
Class QBrushData
size=108 align=4
base size=105 base align=4
QBrushData (0xb46db7c0) 0
-Class QVector<QPair<double, QColor> >::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPair<double, QColor> >::<anonymous union> (0xb46db900) 0
-Class QVector<QPair<double, QColor> >
- size=4 align=4
- base size=4 base align=4
-QVector<QPair<double, QColor> > (0xb46db880) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=32 align=4
- base size=32 base align=4
-QGradient::<anonymous union>::<anonymous struct> (0xb46db980) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=40 align=4
- base size=40 base align=4
-QGradient::<anonymous union>::<anonymous struct> (0xb46db9c0) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=24 align=4
- base size=24 base align=4
-QGradient::<anonymous union>::<anonymous struct> (0xb46dba00) 0
-Class QGradient::<anonymous union>
- size=40 align=4
- base size=40 base align=4
-QGradient::<anonymous union> (0xb46db940) 0
Class QGradient
size=56 align=4
@@ -4480,30 +3638,14 @@ Class QTextLength
base size=12 base align=4
QTextLength (0xb46dbbc0) 0
-Class QSharedDataPointer<QTextFormatPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextFormatPrivate> (0xb46dbd00) 0
Class QTextFormat
size=8 align=4
base size=8 base align=4
QTextFormat (0xb46dbc80) 0
-Class QVector<QTextLength>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength>::<anonymous union> (0xb46dbe80) 0
-Class QVector<QTextLength>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength> (0xb46dbe00) 0
-Class QFlags<QTextFormat::PageBreakFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextFormat::PageBreakFlag> (0xb46dbec0) 0
Class QTextCharFormat
size=8 align=4
@@ -4643,10 +3785,6 @@ QTextFrame (0xb44560c0) 0
QObject (0xb4456140) 0
primary-for QTextObject (0xb4456100)
-Class QTypeInfo<QTextFrame::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFrame::iterator> (0xb4456280) 0 empty
Vtable for QTextBlockUserData
QTextBlockUserData::_ZTV18QTextBlockUserData: 4u entries
@@ -4671,25 +3809,13 @@ Class QTextBlock
base size=8 base align=4
QTextBlock (0xb4456340) 0
-Class QTypeInfo<QTextBlock>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock> (0xb44563c0) 0 empty
-Class QTypeInfo<QTextBlock::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock::iterator> (0xb4456400) 0 empty
Class QTextFragment
size=12 align=4
base size=12 base align=4
QTextFragment (0xb4456440) 0
-Class QTypeInfo<QTextFragment>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFragment> (0xb4456480) 0 empty
Class QTextDocumentFragment
size=4 align=4
@@ -4756,10 +3882,6 @@ QTextTable (0xb4456600) 0
QObject (0xb44566c0) 0
primary-for QTextObject (0xb4456680)
-Class QSharedDataPointer<QTextCursorPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextCursorPrivate> (0xb4456840) 0
Class QTextCursor
size=4 align=4
@@ -4808,10 +3930,6 @@ Class QTextOption
base size=24 base align=4
QTextOption (0xb4456a80) 0
-Class QFlags<QTextOption::Flag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextOption::Flag> (0xb4456ac0) 0
Class QTextInlineObject
size=8 align=4
@@ -4828,15 +3946,7 @@ Class QTextLayout
base size=4 base align=4
QTextLayout (0xb4456b40) 0
-Class QVector<QTextLayout::FormatRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange>::<anonymous union> (0xb4456cc0) 0
-Class QVector<QTextLayout::FormatRange>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange> (0xb4456c40) 0
Class QTextLine
size=8 align=4
@@ -4886,10 +3996,6 @@ QTextDocument (0xb4456e00) 0
QObject (0xb4456e40) 0
primary-for QTextDocument (0xb4456e00)
-Class QFlags<QTextDocument::FindFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextDocument::FindFlag> (0xb4456ec0) 0
Class QPalette
size=8 align=4
@@ -4907,15 +4013,7 @@ Class QAbstractTextDocumentLayout::Selection
base size=12 base align=4
QAbstractTextDocumentLayout::Selection (0xb4456700) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union> (0xb4456d80) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection> (0xb44569c0) 0
Class QAbstractTextDocumentLayout::PaintContext
size=48 align=4
@@ -4977,10 +4075,6 @@ Class QSizePolicy
base size=4 base align=4
QSizePolicy (0xb43f4080) 0
-Class QFlags<QSizePolicy::ControlType>
- size=4 align=4
- base size=4 base align=4
-QFlags<QSizePolicy::ControlType> (0xb43f4180) 0
Vtable for QStyle
QStyle::_ZTV6QStyle: 35u entries
@@ -5028,15 +4122,7 @@ QStyle (0xb43f41c0) 0
QObject (0xb43f4200) 0
primary-for QStyle (0xb43f41c0)
-Class QFlags<QStyle::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::StateFlag> (0xb43f42c0) 0
-Class QFlags<QStyle::SubControl>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::SubControl> (0xb43f4300) 0
Vtable for QCommonStyle
QCommonStyle::_ZTV12QCommonStyle: 35u entries
@@ -5242,10 +4328,6 @@ QWindowsXPStyle (0xb43f4840) 0
QObject (0xb43f4940) 0
primary-for QStyle (0xb43f4900)
-Class QPointer<QFocusFrame>
- size=4 align=4
- base size=4 base align=4
-QPointer<QFocusFrame> (0xb43f4b00) 0
Vtable for QMotifStyle
QMotifStyle::_ZTV11QMotifStyle: 35u entries
@@ -5541,10 +4623,6 @@ QWidget (0xb43f4280) 0
QPaintDevice (0xb43f4540) 8
vptr=((& QWidget::_ZTV7QWidget) + 232u)
-Class QFlags<QWidget::RenderFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QWidget::RenderFlag> (0xb43f4800) 0
Vtable for QValidator
QValidator::_ZTV10QValidator: 16u entries
@@ -5745,10 +4823,6 @@ QAbstractSpinBox (0xb41d9240) 0
QPaintDevice (0xb41d9300) 8
vptr=((& QAbstractSpinBox::_ZTV16QAbstractSpinBox) + 252u)
-Class QFlags<QAbstractSpinBox::StepEnabledFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractSpinBox::StepEnabledFlag> (0xb41d9380) 0
Vtable for QAbstractSlider
QAbstractSlider::_ZTV15QAbstractSlider: 64u entries
@@ -6167,10 +5241,6 @@ Class QStyleOptionFrame
QStyleOptionFrame (0xb41d9bc0) 0
QStyleOption (0xb41d9c00) 0
-Class QFlags<QStyleOptionFrameV2::FrameFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionFrameV2::FrameFeature> (0xb41d9d80) 0
Class QStyleOptionFrameV2
size=56 align=4
@@ -6197,10 +5267,6 @@ Class QStyleOptionHeader
QStyleOptionHeader (0xb41d9000) 0
QStyleOption (0xb41d9100) 0
-Class QFlags<QStyleOptionButton::ButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionButton::ButtonFeature> (0xb41d9680) 0
Class QStyleOptionButton
size=64 align=4
@@ -6208,10 +5274,6 @@ Class QStyleOptionButton
QStyleOptionButton (0xb41d9340) 0
QStyleOption (0xb41d94c0) 0
-Class QFlags<QStyleOptionTab::CornerWidget>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionTab::CornerWidget> (0xb41d9a80) 0
Class QStyleOptionTab
size=72 align=4
@@ -6226,10 +5288,6 @@ QStyleOptionTabV2 (0xb41d9b80) 0
QStyleOptionTab (0xb41d9c40) 0
QStyleOption (0xb41d9d40) 0
-Class QFlags<QStyleOptionToolBar::ToolBarFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionToolBar::ToolBarFeature> (0xb3f210c0) 0
Class QStyleOptionToolBar
size=68 align=4
@@ -6256,10 +5314,6 @@ Class QStyleOptionMenuItem
QStyleOptionMenuItem (0xb3f21300) 0
QStyleOption (0xb3f21340) 0
-Class QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature> (0xb3f21480) 0
Class QStyleOptionQ3ListViewItem
size=64 align=4
@@ -6292,10 +5346,6 @@ Class QStyleOptionViewItem
QStyleOptionViewItem (0xb3f217c0) 0
QStyleOption (0xb3f21800) 0
-Class QFlags<QStyleOptionViewItemV2::ViewItemFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionViewItemV2::ViewItemFeature> (0xb3f21980) 0
Class QStyleOptionViewItemV2
size=84 align=4
@@ -6351,15 +5401,7 @@ QStyleOptionSpinBox (0xb3f21080) 0
QStyleOptionComplex (0xb3f21100) 0
QStyleOption (0xb3f21200) 0
-Class QList<QStyleOptionQ3ListViewItem>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::<anonymous union> (0xb3f21840) 0
-Class QList<QStyleOptionQ3ListViewItem>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem> (0xb3f21580) 0
Class QStyleOptionQ3ListView
size=84 align=4
@@ -6368,10 +5410,6 @@ QStyleOptionQ3ListView (0xb3f21380) 0
QStyleOptionComplex (0xb3f21440) 0
QStyleOption (0xb3f214c0) 0
-Class QFlags<QStyleOptionToolButton::ToolButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionToolButton::ToolButtonFeature> (0xb3ff2040) 0
Class QStyleOptionToolButton
size=96 align=4
@@ -6488,10 +5526,6 @@ Class QStyleFactory
base size=0 base align=1
QStyleFactory (0xb3ff28c0) 0 empty
-Class QFlags<QTreeWidgetItemIterator::IteratorFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTreeWidgetItemIterator::IteratorFlag> (0xb3ff2980) 0
Class QTreeWidgetItemIterator
size=12 align=4
@@ -6663,10 +5697,6 @@ Class QItemSelectionRange
base size=8 base align=4
QItemSelectionRange (0xb3ff2c80) 0
-Class QTypeInfo<QItemSelectionRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QItemSelectionRange> (0xb3ff2d00) 0 empty
Vtable for QItemSelectionModel
QItemSelectionModel::_ZTV19QItemSelectionModel: 18u entries
@@ -6697,20 +5727,8 @@ QItemSelectionModel (0xb3ff2d40) 0
QObject (0xb3ff2d80) 0
primary-for QItemSelectionModel (0xb3ff2d40)
-Class QFlags<QItemSelectionModel::SelectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QItemSelectionModel::SelectionFlag> (0xb3ff2e00) 0
-Class QList<QItemSelectionRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::<anonymous union> (0xb3ff2ec0) 0
-Class QList<QItemSelectionRange>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange> (0xb3ff2e40) 0
Class QItemSelection
size=4 align=4
@@ -6872,10 +5890,6 @@ QAbstractItemView (0xb3ff2000) 0
QPaintDevice (0xb3ff2500) 8
vptr=((& QAbstractItemView::_ZTV17QAbstractItemView) + 392u)
-Class QFlags<QAbstractItemView::EditTrigger>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractItemView::EditTrigger> (0xb3ff2880) 0
Vtable for QListView
QListView::_ZTV9QListView: 103u entries
@@ -7140,15 +6154,7 @@ Class QItemEditorCreatorBase
QItemEditorCreatorBase (0xb3d5d340) 0 nearly-empty
vptr=((& QItemEditorCreatorBase::_ZTV22QItemEditorCreatorBase) + 8u)
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union> (0xb3d5d600) 0
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*> (0xb3d5d580) 0
Vtable for QItemEditorFactory
QItemEditorFactory::_ZTV18QItemEditorFactory: 6u entries
@@ -7296,15 +6302,7 @@ Class QTableWidgetSelectionRange
base size=16 base align=4
QTableWidgetSelectionRange (0xb3d5d8c0) 0
-Class QVector<QWidgetItemData>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData>::<anonymous union> (0xb3d5da00) 0
-Class QVector<QWidgetItemData>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData> (0xb3d5d980) 0
Vtable for QTableWidgetItem
QTableWidgetItem::_ZTV16QTableWidgetItem: 10u entries
@@ -7790,15 +6788,7 @@ Class QStandardItem
QStandardItem (0xb3c8b080) 0
vptr=((& QStandardItem::_ZTV13QStandardItem) + 8u)
-Class QList<QStandardItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QStandardItem*>::<anonymous union> (0xb3c8b240) 0
-Class QList<QStandardItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QStandardItem*> (0xb3c8b1c0) 0
Vtable for QStandardItemModel
QStandardItemModel::_ZTV18QStandardItemModel: 42u entries
@@ -7926,25 +6916,9 @@ QDirModel (0xb3c8b440) 0
QObject (0xb3c8b4c0) 0
primary-for QAbstractItemModel (0xb3c8b480)
-Class QVector<QVector<QWidgetItemData> >::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> >::<anonymous union> (0xb3c8b640) 0
-Class QVector<QVector<QWidgetItemData> >
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> > (0xb3c8b5c0) 0
-Class QList<QTreeWidgetItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::<anonymous union> (0xb3c8b740) 0
-Class QList<QTreeWidgetItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*> (0xb3c8b6c0) 0
Vtable for QTreeWidgetItem
QTreeWidgetItem::_ZTV15QTreeWidgetItem: 10u entries
@@ -8540,15 +7514,7 @@ QActionGroup (0xb3c8b780) 0
QObject (0xb3c8b9c0) 0
primary-for QActionGroup (0xb3c8b780)
-Class QList<QAction*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QAction*>::<anonymous union> (0xb3c8bfc0) 0
-Class QList<QAction*>
- size=4 align=4
- base size=4 base align=4
-QList<QAction*> (0xb3c8bc80) 0
Vtable for QLayoutItem
QLayoutItem::_ZTV11QLayoutItem: 18u entries
@@ -9687,10 +8653,6 @@ QMdiArea (0xb38311c0) 0
QPaintDevice (0xb3831300) 8
vptr=((& QMdiArea::_ZTV8QMdiArea) + 240u)
-Class QFlags<QMdiArea::AreaOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QMdiArea::AreaOption> (0xb3831380) 0
Vtable for QAbstractButton
QAbstractButton::_ZTV15QAbstractButton: 66u entries
@@ -10012,10 +8974,6 @@ QMdiSubWindow (0xb38317c0) 0
QPaintDevice (0xb3831880) 8
vptr=((& QMdiSubWindow::_ZTV13QMdiSubWindow) + 232u)
-Class QFlags<QMdiSubWindow::SubWindowOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QMdiSubWindow::SubWindowOption> (0xb3831900) 0
Vtable for QCalendarWidget
QCalendarWidget::_ZTV15QCalendarWidget: 64u entries
@@ -10493,10 +9451,6 @@ QDialogButtonBox (0xb3831040) 0
QPaintDevice (0xb38314c0) 8
vptr=((& QDialogButtonBox::_ZTV16QDialogButtonBox) + 232u)
-Class QFlags<QDialogButtonBox::StandardButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDialogButtonBox::StandardButton> (0xb3831640) 0
Vtable for QDockWidget
QDockWidget::_ZTV11QDockWidget: 63u entries
@@ -10576,10 +9530,6 @@ QDockWidget (0xb3831780) 0
QPaintDevice (0xb3831c00) 8
vptr=((& QDockWidget::_ZTV11QDockWidget) + 232u)
-Class QFlags<QDockWidget::DockWidgetFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDockWidget::DockWidgetFeature> (0xb3831e80) 0
Vtable for QScrollArea
QScrollArea::_ZTV11QScrollArea: 65u entries
@@ -10930,10 +9880,6 @@ QDateEdit (0xb37f9500) 0
QPaintDevice (0xb37f9640) 8
vptr=((& QDateEdit::_ZTV9QDateEdit) + 260u)
-Class QFlags<QDateTimeEdit::Section>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDateTimeEdit::Section> (0xb37f96c0) 0
Vtable for QFontComboBox
QFontComboBox::_ZTV13QFontComboBox: 65u entries
@@ -11017,10 +9963,6 @@ QFontComboBox (0xb37f9700) 0
QPaintDevice (0xb37f9800) 8
vptr=((& QFontComboBox::_ZTV13QFontComboBox) + 240u)
-Class QFlags<QFontComboBox::FontFilter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFontComboBox::FontFilter> (0xb37f9880) 0
Vtable for QToolBox
QToolBox::_ZTV8QToolBox: 65u entries
@@ -11275,10 +10217,6 @@ QTextEdit (0xb37f9b80) 0
QPaintDevice (0xb37f9cc0) 8
vptr=((& QTextEdit::_ZTV9QTextEdit) + 256u)
-Class QFlags<QTextEdit::AutoFormattingFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextEdit::AutoFormattingFlag> (0xb37f9dc0) 0
Vtable for QTextBrowser
QTextBrowser::_ZTV12QTextBrowser: 74u entries
@@ -12210,10 +11148,6 @@ QMainWindow (0xb352fa80) 0
QPaintDevice (0xb352fb40) 8
vptr=((& QMainWindow::_ZTV11QMainWindow) + 236u)
-Class QFlags<QMainWindow::DockOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QMainWindow::DockOption> (0xb352fbc0) 0
Vtable for QDial
QDial::_ZTV5QDial: 64u entries
@@ -12786,20 +11720,8 @@ Class QGraphicsItem
QGraphicsItem (0xb3481700) 0
vptr=((& QGraphicsItem::_ZTV13QGraphicsItem) + 8u)
-Class QFlags<QGraphicsItem::GraphicsItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGraphicsItem::GraphicsItemFlag> (0xb3481800) 0
-Class QMetaTypeId<QGraphicsItem*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QGraphicsItem*> (0xb3481840) 0 empty
-Class QMetaTypeId<QGraphicsScene*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QGraphicsScene*> (0xb3481900) 0 empty
Vtable for QAbstractGraphicsShapeItem
QAbstractGraphicsShapeItem::_ZTV26QAbstractGraphicsShapeItem: 39u entries
@@ -13361,50 +12283,14 @@ Class QPainter
base size=4 base align=4
QPainter (0xb3481780) 0
-Class QFlags<QPainter::RenderHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPainter::RenderHint> (0xb3481740) 0
-Class QVector<QLineF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF>::<anonymous union> (0xb3481d40) 0
-Class QVector<QLineF>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF> (0xb3481b40) 0
-Class QVector<QLine>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine>::<anonymous union> (0xb33e5000) 0
-Class QVector<QLine>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine> (0xb3481f00) 0
-Class QVector<QRectF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF>::<anonymous union> (0xb33e5100) 0
-Class QVector<QRectF>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF> (0xb33e5080) 0
-Class QVector<QRect>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect>::<anonymous union> (0xb33e5200) 0
-Class QVector<QRect>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect> (0xb33e5180) 0
Vtable for QGraphicsScene
QGraphicsScene::_ZTV14QGraphicsScene: 34u entries
@@ -13451,20 +12337,8 @@ QGraphicsScene (0xb33e5240) 0
QObject (0xb33e5280) 0
primary-for QGraphicsScene (0xb33e5240)
-Class QFlags<QGraphicsScene::SceneLayer>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGraphicsScene::SceneLayer> (0xb33e5380) 0
-Class QList<QGraphicsItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QGraphicsItem*>::<anonymous union> (0xb33e5440) 0
-Class QList<QGraphicsItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QGraphicsItem*> (0xb33e53c0) 0
Vtable for QGraphicsView
QGraphicsView::_ZTV13QGraphicsView: 68u entries
@@ -13553,15 +12427,7 @@ QGraphicsView (0xb33e5480) 0
QPaintDevice (0xb33e55c0) 8
vptr=((& QGraphicsView::_ZTV13QGraphicsView) + 252u)
-Class QFlags<QGraphicsView::CacheModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGraphicsView::CacheModeFlag> (0xb33e5680) 0
-Class QFlags<QGraphicsView::OptimizationFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGraphicsView::OptimizationFlag> (0xb33e56c0) 0
Vtable for QGraphicsItemAnimation
QGraphicsItemAnimation::_ZTV22QGraphicsItemAnimation: 16u entries
@@ -13921,10 +12787,6 @@ QAbstractPrintDialog (0xb33e5c00) 0
QPaintDevice (0xb33e5d00) 8
vptr=((& QAbstractPrintDialog::_ZTV20QAbstractPrintDialog) + 248u)
-Class QFlags<QAbstractPrintDialog::PrintDialogOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractPrintDialog::PrintDialogOption> (0xb33e5dc0) 0
Vtable for QPrintDialog
QPrintDialog::_ZTV12QPrintDialog: 67u entries
@@ -14183,10 +13045,6 @@ QWizard (0xb33e5a40) 0
QPaintDevice (0xb31a3000) 8
vptr=((& QWizard::_ZTV7QWizard) + 260u)
-Class QFlags<QWizard::WizardOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QWizard::WizardOption> (0xb31a3080) 0
Vtable for QWizardPage
QWizardPage::_ZTV11QWizardPage: 68u entries
@@ -14354,10 +13212,6 @@ QFileDialog (0xb31a3200) 0
QPaintDevice (0xb31a3300) 8
vptr=((& QFileDialog::_ZTV11QFileDialog) + 244u)
-Class QFlags<QFileDialog::Option>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileDialog::Option> (0xb31a33c0) 0
Vtable for QFontDialog
QFontDialog::_ZTV11QFontDialog: 66u entries
@@ -14694,10 +13548,6 @@ QMessageBox (0xb31a38c0) 0
QPaintDevice (0xb31a39c0) 8
vptr=((& QMessageBox::_ZTV11QMessageBox) + 244u)
-Class QFlags<QMessageBox::StandardButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<QMessageBox::StandardButton> (0xb31a3a80) 0
Vtable for QColorDialog
QColorDialog::_ZTV12QColorDialog: 66u entries
@@ -15173,15 +14023,7 @@ Class QTextItem
base size=0 base align=1
QTextItem (0xb310a3c0) 0 empty
-Class QTypeInfo<QTextItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextItem> (0xb310a400) 0 empty
-Class QFlags<QPaintEngine::PaintEngineFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::PaintEngineFeature> (0xb310a4c0) 0
Vtable for QPaintEngine
QPaintEngine::_ZTV12QPaintEngine: 24u entries
@@ -15216,20 +14058,12 @@ Class QPaintEngine
QPaintEngine (0xb310a440) 0
vptr=((& QPaintEngine::_ZTV12QPaintEngine) + 8u)
-Class QFlags<QPaintEngine::DirtyFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::DirtyFlag> (0xb310a5c0) 0
Class QPaintEngineState
size=4 align=4
base size=4 base align=4
QPaintEngineState (0xb310a540) 0
-Class QFlags<QTextItem::RenderFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextItem::RenderFlag> (0xb310a600) 0
Vtable for QInputContext
QInputContext::_ZTV13QInputContext: 26u entries
@@ -15526,188 +14360,40 @@ QGraphicsSvgItem (0xb2e90f40) 0
QGraphicsItem (0xb2e90fc0) 8
vptr=((& QGraphicsSvgItem::_ZTV16QGraphicsSvgItem) + 76u)
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0xb2e90dc0) 0
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0xb2c63000) 0
-Class QVectorTypedData<QPoint>
- size=24 align=4
- base size=24 base align=4
-QVectorTypedData<QPoint> (0xb2c63080) 0
-Class QVectorTypedData<QPointF>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QPointF> (0xb2c63100) 0
-Class QVectorTypedData<QPainterPath::Element>
- size=36 align=4
- base size=36 base align=4
-QVectorTypedData<QPainterPath::Element> (0xb2c63180) 0
-Class QVectorTypedData<QTextLength>
- size=28 align=4
- base size=28 base align=4
-QVectorTypedData<QTextLength> (0xb2c63300) 0
-Class QVectorTypedData<QTextLayout::FormatRange>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QTextLayout::FormatRange> (0xb2c63380) 0
-Class QVectorTypedData<QAbstractTextDocumentLayout::Selection>
- size=28 align=4
- base size=28 base align=4
-QVectorTypedData<QAbstractTextDocumentLayout::Selection> (0xb2c63400) 0
-Class QList<QTreeWidgetItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::Node (0xb2c63600) 0
-Class QVectorTypedData<QVector<QWidgetItemData> >
- size=20 align=4
- base size=20 base align=4
-QVectorTypedData<QVector<QWidgetItemData> > (0xb2c63680) 0
-Class QList<QAction*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QAction*>::Node (0xb2c63700) 0
-Class QVectorTypedData<QLineF>
- size=48 align=4
- base size=48 base align=4
-QVectorTypedData<QLineF> (0xb2c63880) 0
-Class QVectorTypedData<QLine>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QLine> (0xb2c63900) 0
-Class QVectorTypedData<QRectF>
- size=48 align=4
- base size=48 base align=4
-QVectorTypedData<QRectF> (0xb2c63980) 0
-Class QVectorTypedData<QRect>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QRect> (0xb2c63a00) 0
-Class QMetaTypeId2<QSet<QAccessible::Method> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSet<QAccessible::Method> > (0xb2c63ac0) 0 empty
-Class QHashNode<QAccessible::Method, QHashDummyValue>
- size=16 align=4
- base size=13 base align=4
-QHashNode<QAccessible::Method, QHashDummyValue> (0xb2c63b40) 0
-Class QTypeInfo<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLength> (0xb2c63bc0) 0 empty
-Class QTypeInfo<QTextLayout::FormatRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLayout::FormatRange> (0xb2c63c80) 0 empty
-Class QTypeInfo<QAbstractTextDocumentLayout::Selection>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAbstractTextDocumentLayout::Selection> (0xb2c63d80) 0 empty
-Class QHashNode<QVariant::Type, QItemEditorCreatorBase*>
- size=16 align=4
- base size=16 base align=4
-QHashNode<QVariant::Type, QItemEditorCreatorBase*> (0xb2c63e40) 0
-Class QTypeInfo<QStandardItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QStandardItem*> (0xb2c63ec0) 0 empty
-Class QTypeInfo<QTreeWidgetItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTreeWidgetItem*> (0xb2c63f40) 0 empty
-Class QTypeInfo<QAction*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAction*> (0xb2c63fc0) 0 empty
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0xb2c63780) 0
-Class QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union> (0xb2c63800) 0
-Class QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union> (0xb2c63b00) 0
-Class QList<QVariant>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::Node (0xb29e8000) 0
-Class QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union> (0xb29e80c0) 0
-Class QTypeInfo<QStyleOptionQ3ListViewItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QStyleOptionQ3ListViewItem> (0xb29e8180) 0 empty
-Class QList<QStyleOptionQ3ListViewItem>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::Node (0xb29e8200) 0
-Class QList<QItemSelectionRange>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::Node (0xb29e82c0) 0
-Class QList<QStandardItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QStandardItem*>::Node (0xb29e8380) 0
-Class QTypeInfo<QGraphicsItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QGraphicsItem*> (0xb29e8400) 0 empty
-Class QList<QGraphicsItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QGraphicsItem*>::Node (0xb29e8480) 0
-Class QHashDummyNode<QAccessible::Method, QHashDummyValue>
- size=12 align=4
- base size=12 base align=4
-QHashDummyNode<QAccessible::Method, QHashDummyValue> (0xb29e8640) 0
-Class QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union> (0xb29e86c0) 0
diff --git a/tests/auto/bic/data/QtSvg.4.3.1.linux-gcc-ia32.txt b/tests/auto/bic/data/QtSvg.4.3.1.linux-gcc-ia32.txt
index bde594f..a85c6ce 100644
--- a/tests/auto/bic/data/QtSvg.4.3.1.linux-gcc-ia32.txt
+++ b/tests/auto/bic/data/QtSvg.4.3.1.linux-gcc-ia32.txt
@@ -1,34 +1,8 @@
-Class QUintForSize<4>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<4> (0xb7ef6e40) 0 empty
-Class QUintForSize<8>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<8> (0xb7ef6e80) 0 empty
-Class QUintForType<void*>
- size=1 align=1
- base size=1 base align=1
-QUintForType<void*> (0xb7ef6f40) 0 empty
- QUintForSize<4> (0xb7ef6f80) 0 empty
-Class QIntForSize<4>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<4> (0xb73f7000) 0 empty
-Class QIntForSize<8>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<8> (0xb73f7040) 0 empty
-Class QIntForType<void*>
- size=1 align=1
- base size=1 base align=1
-QIntForType<void*> (0xb73f7100) 0 empty
- QIntForSize<4> (0xb73f7140) 0 empty
Class QSysInfo
size=1 align=1
@@ -50,80 +24,20 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0xb73f7400) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0xb73f74c0) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0xb73f7500) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0xb73f7540) 0 empty
-Class QTypeInfo<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned char> (0xb73f7580) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0xb73f75c0) 0 empty
-Class QTypeInfo<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short unsigned int> (0xb73f7600) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0xb73f7640) 0 empty
-Class QTypeInfo<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned int> (0xb73f7680) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0xb73f76c0) 0 empty
-Class QTypeInfo<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long unsigned int> (0xb73f7700) 0 empty
-Class QTypeInfo<long long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long int> (0xb73f7740) 0 empty
-Class QTypeInfo<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long unsigned int> (0xb73f7780) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0xb73f77c0) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0xb73f7800) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0xb73f7840) 0 empty
Class QFlag
size=4 align=4
@@ -161,10 +75,6 @@ Class QByteRef
base size=8 base align=4
QByteRef (0xb73f7c80) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0xb73f7cc0) 0 empty
Vtable for std::exception
std::exception::_ZTVSt9exception: 5u entries
@@ -227,70 +137,18 @@ Class QListData
base size=4 base align=4
QListData (0xb73f7fc0) 0
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0xb593a1c0) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0xb593a200) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0xb593a240) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0xb593a280) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0xb593a2c0) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0xb593a300) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0xb593a340) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0xb593a380) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0xb593a3c0) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0xb593a400) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0xb593a440) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0xb593a480) 0
-Class QFlags<Qt::TextInteractionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::TextInteractionFlag> (0xb593a4c0) 0
Class QInternal
size=1 align=1
@@ -308,10 +166,6 @@ Class QGenericReturnArgument
QGenericReturnArgument (0xb593a5c0) 0
QGenericArgument (0xb593a600) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0xb593a7c0) 0
Class QMetaObject
size=16 align=4
@@ -328,10 +182,6 @@ Class QChar
base size=2 base align=2
QChar (0xb593a880) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0xb593a900) 0 empty
Class QString::Null
size=1 align=1
@@ -348,10 +198,6 @@ Class QString
base size=4 base align=4
QString (0xb593a940) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0xb593ab40) 0
Class QLatin1String
size=4 align=4
@@ -369,25 +215,13 @@ Class QConstString
QConstString (0xb593ac00) 0
QString (0xb593ac40) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0xb593ac80) 0 empty
Class QStringRef
size=12 align=4
base size=12 base align=4
QStringRef (0xb593acc0) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0xb593ae00) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0xb593ad80) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -479,10 +313,6 @@ QIODevice (0xb593a100) 0
QObject (0xb593aa80) 0
primary-for QIODevice (0xb593a100)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0xb593ae80) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -502,275 +332,59 @@ Class QMetaType
base size=0 base align=1
QMetaType (0xb5534040) 0 empty
-Class QMetaTypeId2<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QString> (0xb5534100) 0 empty
-Class QMetaTypeId2<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<int> (0xb5534140) 0 empty
-Class QMetaTypeId2<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned int> (0xb5534180) 0 empty
-Class QMetaTypeId2<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<bool> (0xb55341c0) 0 empty
-Class QMetaTypeId2<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<double> (0xb5534200) 0 empty
-Class QMetaTypeId2<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QByteArray> (0xb5534240) 0 empty
-Class QMetaTypeId2<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QChar> (0xb5534280) 0 empty
-Class QMetaTypeId2<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long int> (0xb55342c0) 0 empty
-Class QMetaTypeId2<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short int> (0xb5534300) 0 empty
-Class QMetaTypeId2<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<char> (0xb5534340) 0 empty
-Class QMetaTypeId2<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long unsigned int> (0xb5534380) 0 empty
-Class QMetaTypeId2<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short unsigned int> (0xb55343c0) 0 empty
-Class QMetaTypeId2<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned char> (0xb5534400) 0 empty
-Class QMetaTypeId2<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<float> (0xb5534440) 0 empty
-Class QMetaTypeId2<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QObject*> (0xb5534480) 0 empty
-Class QMetaTypeId2<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QWidget*> (0xb55344c0) 0 empty
-Class QMetaTypeId2<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<void*> (0xb5534500) 0 empty
-Class QMetaTypeId2<long long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long int> (0xb5534540) 0 empty
-Class QMetaTypeId2<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long unsigned int> (0xb5534580) 0 empty
-Class QMetaTypeId2<QStringList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QStringList> (0xb55345c0) 0 empty
-Class QMetaTypeId2<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitArray> (0xb5534600) 0 empty
-Class QMetaTypeId2<QDate>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDate> (0xb5534640) 0 empty
-Class QMetaTypeId2<QTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTime> (0xb5534680) 0 empty
-Class QMetaTypeId2<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDateTime> (0xb55346c0) 0 empty
-Class QMetaTypeId2<QUrl>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QUrl> (0xb5534700) 0 empty
-Class QMetaTypeId2<QLocale>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLocale> (0xb5534740) 0 empty
-Class QMetaTypeId2<QRect>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRect> (0xb5534780) 0 empty
-Class QMetaTypeId2<QRectF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRectF> (0xb55347c0) 0 empty
-Class QMetaTypeId2<QSize>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSize> (0xb5534800) 0 empty
-Class QMetaTypeId2<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizeF> (0xb5534840) 0 empty
-Class QMetaTypeId2<QLine>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLine> (0xb5534880) 0 empty
-Class QMetaTypeId2<QLineF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLineF> (0xb55348c0) 0 empty
-Class QMetaTypeId2<QPoint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPoint> (0xb5534900) 0 empty
-Class QMetaTypeId2<QPointF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPointF> (0xb5534940) 0 empty
-Class QMetaTypeId2<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegExp> (0xb5534980) 0 empty
-Class QMetaTypeId2<QColorGroup>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColorGroup> (0xb55349c0) 0 empty
-Class QMetaTypeId2<QFont>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QFont> (0xb5534a00) 0 empty
-Class QMetaTypeId2<QPixmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPixmap> (0xb5534a40) 0 empty
-Class QMetaTypeId2<QBrush>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBrush> (0xb5534a80) 0 empty
-Class QMetaTypeId2<QColor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColor> (0xb5534ac0) 0 empty
-Class QMetaTypeId2<QPalette>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPalette> (0xb5534b00) 0 empty
-Class QMetaTypeId2<QIcon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QIcon> (0xb5534b40) 0 empty
-Class QMetaTypeId2<QImage>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QImage> (0xb5534b80) 0 empty
-Class QMetaTypeId2<QPolygon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPolygon> (0xb5534bc0) 0 empty
-Class QMetaTypeId2<QRegion>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegion> (0xb5534c00) 0 empty
-Class QMetaTypeId2<QBitmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitmap> (0xb5534c40) 0 empty
-Class QMetaTypeId2<QCursor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QCursor> (0xb5534c80) 0 empty
-Class QMetaTypeId2<QSizePolicy>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizePolicy> (0xb5534cc0) 0 empty
-Class QMetaTypeId2<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QKeySequence> (0xb5534d00) 0 empty
-Class QMetaTypeId2<QPen>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPen> (0xb5534d40) 0 empty
-Class QMetaTypeId2<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextLength> (0xb5534d80) 0 empty
-Class QMetaTypeId2<QTextFormat>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextFormat> (0xb5534dc0) 0 empty
-Class QMetaTypeId2<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMatrix> (0xb5534e00) 0 empty
-Class QMetaTypeId2<QTransform>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTransform> (0xb5534e40) 0 empty
Class QMapData::Node
size=8 align=4
@@ -807,45 +421,17 @@ Class QVariant
base size=12 base align=4
QVariant (0xb55a02c0) 0
-Class QMetaTypeId2<QList<QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QList<QVariant> > (0xb55a0540) 0 empty
-Class QMetaTypeId2<QMap<QString, QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMap<QString, QVariant> > (0xb55a0580) 0 empty
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0xb55a0680) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0xb55a0600) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0xb55a0780) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0xb55a0700) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0xb55a0800) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0xb55a0880) 0 empty
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -972,10 +558,6 @@ QEventLoop (0xb55a0d00) 0
QObject (0xb55a0d40) 0
primary-for QEventLoop (0xb55a0d00)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0xb55a0e40) 0
Vtable for QCoreApplication
QCoreApplication::_ZTV16QCoreApplication: 16u entries
@@ -1009,10 +591,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0xb55a0140) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0xb55a0400) 0 empty
Vtable for QTimer
QTimer::_ZTV6QTimer: 14u entries
@@ -1069,20 +647,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0xb55a0900) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0xb55a09c0) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0xb55a0a80) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0xb55a0b40) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -1277,20 +847,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0xb538d180) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0xb538d1c0) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0xb538d200) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0xb538d240) 0 empty
Class QMetaProperty
size=20 align=4
@@ -1302,10 +864,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0xb538d2c0) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0xb538d300) 0 empty
Vtable for QSocketNotifier
QSocketNotifier::_ZTV15QSocketNotifier: 14u entries
@@ -1408,100 +966,48 @@ Class QSize
base size=8 base align=4
QSize (0xb538d600) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0xb538d800) 0 empty
Class QSizeF
size=16 align=4
base size=16 base align=4
QSizeF (0xb538d880) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0xb538da80) 0 empty
Class QPoint
size=8 align=4
base size=8 base align=4
QPoint (0xb538db40) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0xb538dd80) 0 empty
Class QPointF
size=16 align=4
base size=16 base align=4
QPointF (0xb538ddc0) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0xb538d080) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0xb538d140) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0xb538d3c0) 0 empty
Class QRectF
size=32 align=4
base size=32 base align=4
QRectF (0xb538d480) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0xb538d540) 0 empty
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0xb538d680) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0xb538d6c0) 0
Class wait
size=4 align=4
base size=4 base align=4
wait (0xb538d640) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb538d700) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb538d740) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb538d780) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb538d7c0) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb538d8c0) 0
Class timespec
size=8 align=4
@@ -1513,80 +1019,24 @@ Class timeval
base size=8 base align=4
timeval (0xb538d940) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb538d980) 0
-Class <anonymous union>
- size=36 align=4
- base size=36 base align=4
-<anonymous union> (0xb538d9c0) 0
Class __pthread_internal_slist
size=4 align=4
base size=4 base align=4
__pthread_internal_slist (0xb538da00) 0
-Class <anonymous union>::__pthread_mutex_s::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union>::__pthread_mutex_s::<anonymous union> (0xb538dbc0) 0
-Class <anonymous union>::__pthread_mutex_s
- size=24 align=4
- base size=24 base align=4
-<anonymous union>::__pthread_mutex_s (0xb538db80) 0
-Class <anonymous union>
- size=24 align=4
- base size=24 base align=4
-<anonymous union> (0xb538da40) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb538dc00) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0xb538dc80) 0
-Class <anonymous union>
- size=48 align=4
- base size=48 base align=4
-<anonymous union> (0xb538dc40) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb538dcc0) 0
-Class <anonymous union>::<anonymous struct>
- size=32 align=4
- base size=32 base align=4
-<anonymous union>::<anonymous struct> (0xb538dd40) 0
-Class <anonymous union>
- size=32 align=4
- base size=32 base align=4
-<anonymous union> (0xb538dd00) 0
-Class <anonymous union>
- size=8 align=4
- base size=8 base align=4
-<anonymous union> (0xb538de00) 0
-Class <anonymous union>
- size=20 align=4
- base size=20 base align=4
-<anonymous union> (0xb538de40) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb538de80) 0
Class random_data
size=28 align=4
@@ -1618,35 +1068,19 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0xb516e280) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0xb516e2c0) 0 empty
Class QRegExp
size=4 align=4
base size=4 base align=4
QRegExp (0xb516ea40) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0xb516ea80) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0xb516eac0) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0xb516eb80) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0xb516eb00) 0
Class QStringList
size=4 align=4
@@ -1654,15 +1088,7 @@ Class QStringList
QStringList (0xb516ebc0) 0
QList<QString> (0xb516ec00) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0xb516ec80) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0xb516ecc0) 0
Vtable for QTimeLine
QTimeLine::_ZTV9QTimeLine: 15u entries
@@ -1695,15 +1121,7 @@ Class QLocale
base size=4 base align=4
QLocale (0xb516eec0) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0xb516ef00) 0 empty
-Class QFlags<QLocale::NumberOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLocale::NumberOption> (0xb516ef40) 0
Vtable for QSystemLocale
QSystemLocale::_ZTV13QSystemLocale: 6u entries
@@ -1730,10 +1148,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0xb4f730c0) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0xb4f73100) 0 empty
Class QCryptographicHash
size=4 align=4
@@ -1750,20 +1164,12 @@ Class QLine
base size=16 base align=4
QLine (0xb4f73540) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0xb4f73580) 0 empty
Class QLineF
size=32 align=4
base size=32 base align=4
QLineF (0xb4f735c0) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0xb4f73600) 0 empty
Class QSharedData
size=4 align=4
@@ -1775,30 +1181,18 @@ Class QDate
base size=4 base align=4
QDate (0xb4f73780) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0xb4f73840) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0xb4f73880) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0xb4f73940) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0xb4f73980) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0xb4f73a40) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -1810,20 +1204,12 @@ Class QReadWriteLock
base size=4 base align=4
QReadWriteLock (0xb4f73ac0) 0
-Class QReadLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QReadLocker::<anonymous union> (0xb4f73b40) 0
Class QReadLocker
size=4 align=4
base size=4 base align=4
QReadLocker (0xb4f73b00) 0
-Class QWriteLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QWriteLocker::<anonymous union> (0xb4f73bc0) 0
Class QWriteLocker
size=4 align=4
@@ -1876,20 +1262,12 @@ Class QMutex
base size=4 base align=4
QMutex (0xb4f73e00) 0
-Class QMutexLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMutexLocker::<anonymous union> (0xb4f73e80) 0
Class QMutexLocker
size=4 align=4
base size=4 base align=4
QMutexLocker (0xb4f73e40) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0xb4f73f80) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -1914,15 +1292,7 @@ Class QTextCodec
QTextCodec (0xb4f73ec0) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0xb4f738c0) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0xb4f737c0) 0
Class QTextEncoder
size=32 align=4
@@ -1934,25 +1304,9 @@ Class QTextDecoder
base size=32 base align=4
QTextDecoder (0xb4f739c0) 0
-Class <anonymous struct>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct>::<anonymous union> (0xb4f73cc0) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb4f73a00) 0
-Class <anonymous struct>
- size=12 align=4
- base size=12 base align=4
-<anonymous struct> (0xb4f73f40) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb4f73fc0) 0
Class __gconv_trans_data
size=20 align=4
@@ -1974,15 +1328,7 @@ Class __gconv_info
base size=8 base align=4
__gconv_info (0xb4d940c0) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0xb4d94140) 0
-Class <anonymous union>
- size=44 align=4
- base size=44 base align=4
-<anonymous union> (0xb4d94100) 0
Class _IO_marker
size=12 align=4
@@ -1994,10 +1340,6 @@ Class _IO_FILE
base size=148 base align=4
_IO_FILE (0xb4d941c0) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb4d94200) 0
Vtable for QTextStream
QTextStream::_ZTV11QTextStream: 4u entries
@@ -2012,10 +1354,6 @@ Class QTextStream
QTextStream (0xb4d94240) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0xb4d94300) 0
Class QTextStreamManipulator
size=24 align=4
@@ -2131,35 +1469,15 @@ QFile (0xb4d94740) 0
QObject (0xb4d947c0) 0
primary-for QIODevice (0xb4d94780)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0xb4d94840) 0
Class QFileInfo
size=4 align=4
base size=4 base align=4
QFileInfo (0xb4d94880) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0xb4d948c0) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0xb4d94900) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0xb4d949c0) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0xb4d94940) 0
Vtable for QTemporaryFile
QTemporaryFile::_ZTV14QTemporaryFile: 31u entries
@@ -2212,15 +1530,7 @@ Class QDir
base size=4 base align=4
QDir (0xb4d94b40) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0xb4d94bc0) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0xb4d94c40) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -2277,10 +1587,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0xb4d94c80) 0
vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0xb4d94e00) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -2409,15 +1715,7 @@ Class QUrl
base size=4 base align=4
QUrl (0xb4d94640) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0xb4d94800) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0xb4d94b00) 0 empty
Vtable for QDirIterator
QDirIterator::_ZTV12QDirIterator: 4u entries
@@ -2432,10 +1730,6 @@ Class QDirIterator
QDirIterator (0xb4d94d80) 0
vptr=((& QDirIterator::_ZTV12QDirIterator) + 8u)
-Class QFlags<QDirIterator::IteratorFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDirIterator::IteratorFlag> (0xb4d94f00) 0
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -2541,10 +1835,6 @@ QLibrary (0xb4bc9280) 0
QObject (0xb4bc92c0) 0
primary-for QLibrary (0xb4bc9280)
-Class QFlags<QLibrary::LoadHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLibrary::LoadHint> (0xb4bc9340) 0
Vtable for QPluginLoader
QPluginLoader::_ZTV13QPluginLoader: 14u entries
@@ -2674,10 +1964,6 @@ Class QSizePolicy
base size=4 base align=4
QSizePolicy (0xb4bc9880) 0
-Class QFlags<QSizePolicy::ControlType>
- size=4 align=4
- base size=4 base align=4
-QFlags<QSizePolicy::ControlType> (0xb4bc9980) 0
Vtable for QLayoutItem
QLayoutItem::_ZTV11QLayoutItem: 18u entries
@@ -3103,40 +2389,16 @@ Class QPaintDevice
QPaintDevice (0xb4bc9780) 0
vptr=((& QPaintDevice::_ZTV12QPaintDevice) + 8u)
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0xb4bc9ac0) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0xb4bc9b80) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0xb4bc9cc0) 0
-Class QColor::<anonymous union>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union> (0xb4bc9a00) 0
Class QColor
size=16 align=4
base size=14 base align=4
QColor (0xb4bc9900) 0
-Class QVector<QPoint>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint>::<anonymous union> (0xb49a5000) 0
-Class QVector<QPoint>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint> (0xb4bc9e00) 0
Class QPolygon
size=4 align=4
@@ -3144,15 +2406,7 @@ Class QPolygon
QPolygon (0xb49a5040) 0
QVector<QPoint> (0xb49a5080) 0
-Class QVector<QPointF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF>::<anonymous union> (0xb49a5140) 0
-Class QVector<QPointF>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF> (0xb49a50c0) 0
Class QPolygonF
size=4 align=4
@@ -3175,10 +2429,6 @@ Class QMatrix
base size=48 base align=4
QMatrix (0xb49a5380) 0
-Class QTypeInfo<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMatrix> (0xb49a53c0) 0 empty
Class QPainterPath::Element
size=20 align=4
@@ -3190,25 +2440,13 @@ Class QPainterPath
base size=4 base align=4
QPainterPath (0xb49a5400) 0
-Class QVector<QPainterPath::Element>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element>::<anonymous union> (0xb49a5680) 0
-Class QVector<QPainterPath::Element>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element> (0xb49a5600) 0
Class QPainterPathPrivate
size=8 align=4
base size=8 base align=4
QPainterPathPrivate (0xb49a5500) 0
-Class QTypeInfo<QPainterPath::Element>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPainterPath::Element> (0xb49a56c0) 0 empty
Class QPainterPathStroker
size=4 align=4
@@ -3220,10 +2458,6 @@ Class QTransform
base size=80 base align=4
QTransform (0xb49a57c0) 0
-Class QTypeInfo<QTransform>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTransform> (0xb49a5800) 0 empty
Class QImageTextKeyLang
size=8 align=4
@@ -3248,10 +2482,6 @@ QImage (0xb49a58c0) 0
QPaintDevice (0xb49a5900) 0
primary-for QImage (0xb49a58c0)
-Class QTypeInfo<QImage>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QImage> (0xb49a5a40) 0 empty
Vtable for QPixmap
QPixmap::_ZTV7QPixmap: 7u entries
@@ -3276,45 +2506,17 @@ Class QBrush
base size=4 base align=4
QBrush (0xb49a5c00) 0
-Class QTypeInfo<QBrush>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBrush> (0xb49a5c80) 0 empty
Class QBrushData
size=108 align=4
base size=105 base align=4
QBrushData (0xb49a5cc0) 0
-Class QVector<QPair<double, QColor> >::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPair<double, QColor> >::<anonymous union> (0xb49a5e00) 0
-Class QVector<QPair<double, QColor> >
- size=4 align=4
- base size=4 base align=4
-QVector<QPair<double, QColor> > (0xb49a5d80) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=32 align=4
- base size=32 base align=4
-QGradient::<anonymous union>::<anonymous struct> (0xb49a5e80) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=40 align=4
- base size=40 base align=4
-QGradient::<anonymous union>::<anonymous struct> (0xb49a5ec0) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=24 align=4
- base size=24 base align=4
-QGradient::<anonymous union>::<anonymous struct> (0xb49a5f00) 0
-Class QGradient::<anonymous union>
- size=40 align=4
- base size=40 base align=4
-QGradient::<anonymous union> (0xb49a5e40) 0
Class QGradient
size=56 align=4
@@ -3380,10 +2582,6 @@ Class QKeySequence
base size=4 base align=4
QKeySequence (0xb49a5d40) 0
-Class QTypeInfo<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QKeySequence> (0xb47fd080) 0 empty
Class QWidgetData
size=64 align=4
@@ -3466,10 +2664,6 @@ QWidget (0xb47fd100) 0
QPaintDevice (0xb47fd180) 8
vptr=((& QWidget::_ZTV7QWidget) + 232u)
-Class QFlags<QWidget::RenderFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QWidget::RenderFlag> (0xb47fd380) 0
Class QToolTip
size=1 align=1
@@ -3558,10 +2752,6 @@ Class QIcon
base size=4 base align=4
QIcon (0xb47fd600) 0
-Class QTypeInfo<QIcon>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QIcon> (0xb47fd6c0) 0 empty
Vtable for QAction
QAction::_ZTV7QAction: 14u entries
@@ -3613,15 +2803,7 @@ QActionGroup (0xb47fd800) 0
QObject (0xb47fd840) 0
primary-for QActionGroup (0xb47fd800)
-Class QList<QAction*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QAction*>::<anonymous union> (0xb47fd980) 0
-Class QList<QAction*>
- size=4 align=4
- base size=4 base align=4
-QList<QAction*> (0xb47fd900) 0
Vtable for QShortcut
QShortcut::_ZTV9QShortcut: 14u entries
@@ -3961,15 +3143,7 @@ Class QInputMethodEvent::Attribute
base size=24 base align=4
QInputMethodEvent::Attribute (0xb45dd2c0) 0
-Class QList<QInputMethodEvent::Attribute>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute>::<anonymous union> (0xb45dd3c0) 0
-Class QList<QInputMethodEvent::Attribute>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute> (0xb45dd340) 0
Vtable for QInputMethodEvent
QInputMethodEvent::_ZTV17QInputMethodEvent: 4u entries
@@ -4663,10 +3837,6 @@ QAbstractPrintDialog (0xb447f200) 0
QPaintDevice (0xb447f300) 8
vptr=((& QAbstractPrintDialog::_ZTV20QAbstractPrintDialog) + 248u)
-Class QFlags<QAbstractPrintDialog::PrintDialogOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractPrintDialog::PrintDialogOption> (0xb447f3c0) 0
Vtable for QPrintDialog
QPrintDialog::_ZTV12QPrintDialog: 67u entries
@@ -4837,10 +4007,6 @@ QMessageBox (0xb447f5c0) 0
QPaintDevice (0xb447f6c0) 8
vptr=((& QMessageBox::_ZTV11QMessageBox) + 244u)
-Class QFlags<QMessageBox::StandardButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<QMessageBox::StandardButton> (0xb447f780) 0
Vtable for QProgressDialog
QProgressDialog::_ZTV15QProgressDialog: 66u entries
@@ -5091,10 +4257,6 @@ QFileDialog (0xb447fac0) 0
QPaintDevice (0xb447fbc0) 8
vptr=((& QFileDialog::_ZTV11QFileDialog) + 244u)
-Class QFlags<QFileDialog::Option>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileDialog::Option> (0xb447fc80) 0
Vtable for QErrorMessage
QErrorMessage::_ZTV13QErrorMessage: 66u entries
@@ -5505,10 +4667,6 @@ QWizard (0xb447fc40) 0
QPaintDevice (0xb43d1040) 8
vptr=((& QWizard::_ZTV7QWizard) + 260u)
-Class QFlags<QWizard::WizardOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QWizard::WizardOption> (0xb43d10c0) 0
Vtable for QWizardPage
QWizardPage::_ZTV11QWizardPage: 68u entries
@@ -5850,10 +5008,6 @@ Class QItemSelectionRange
base size=8 base align=4
QItemSelectionRange (0xb43d1700) 0
-Class QTypeInfo<QItemSelectionRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QItemSelectionRange> (0xb43d1780) 0 empty
Vtable for QItemSelectionModel
QItemSelectionModel::_ZTV19QItemSelectionModel: 18u entries
@@ -5884,20 +5038,8 @@ QItemSelectionModel (0xb43d17c0) 0
QObject (0xb43d1800) 0
primary-for QItemSelectionModel (0xb43d17c0)
-Class QFlags<QItemSelectionModel::SelectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QItemSelectionModel::SelectionFlag> (0xb43d1880) 0
-Class QList<QItemSelectionRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::<anonymous union> (0xb43d1940) 0
-Class QList<QItemSelectionRange>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange> (0xb43d18c0) 0
Class QItemSelection
size=4 align=4
@@ -6104,10 +5246,6 @@ QAbstractSpinBox (0xb43d1dc0) 0
QPaintDevice (0xb43d1e80) 8
vptr=((& QAbstractSpinBox::_ZTV16QAbstractSpinBox) + 252u)
-Class QFlags<QAbstractSpinBox::StepEnabledFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractSpinBox::StepEnabledFlag> (0xb43d1f00) 0
Vtable for QAbstractSlider
QAbstractSlider::_ZTV15QAbstractSlider: 64u entries
@@ -6315,15 +5453,7 @@ QStyle (0xb43d1a80) 0
QObject (0xb43d1b80) 0
primary-for QStyle (0xb43d1a80)
-Class QFlags<QStyle::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::StateFlag> (0xb43d1d80) 0
-Class QFlags<QStyle::SubControl>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::SubControl> (0xb43d1ec0) 0
Vtable for QTabBar
QTabBar::_ZTV7QTabBar: 67u entries
@@ -6582,10 +5712,6 @@ Class QStyleOptionFrame
QStyleOptionFrame (0xb4187500) 0
QStyleOption (0xb4187540) 0
-Class QFlags<QStyleOptionFrameV2::FrameFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionFrameV2::FrameFeature> (0xb41876c0) 0
Class QStyleOptionFrameV2
size=56 align=4
@@ -6612,10 +5738,6 @@ Class QStyleOptionHeader
QStyleOptionHeader (0xb4187940) 0
QStyleOption (0xb4187980) 0
-Class QFlags<QStyleOptionButton::ButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionButton::ButtonFeature> (0xb4187b00) 0
Class QStyleOptionButton
size=64 align=4
@@ -6623,10 +5745,6 @@ Class QStyleOptionButton
QStyleOptionButton (0xb4187a40) 0
QStyleOption (0xb4187a80) 0
-Class QFlags<QStyleOptionTab::CornerWidget>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionTab::CornerWidget> (0xb4187c80) 0
Class QStyleOptionTab
size=72 align=4
@@ -6641,10 +5759,6 @@ QStyleOptionTabV2 (0xb4187d00) 0
QStyleOptionTab (0xb4187d40) 0
QStyleOption (0xb4187d80) 0
-Class QFlags<QStyleOptionToolBar::ToolBarFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionToolBar::ToolBarFeature> (0xb4187f00) 0
Class QStyleOptionToolBar
size=68 align=4
@@ -6671,10 +5785,6 @@ Class QStyleOptionMenuItem
QStyleOptionMenuItem (0xb4187580) 0
QStyleOption (0xb4187680) 0
-Class QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature> (0xb4187a00) 0
Class QStyleOptionQ3ListViewItem
size=64 align=4
@@ -6707,10 +5817,6 @@ Class QStyleOptionViewItem
QStyleOptionViewItem (0xb40950c0) 0
QStyleOption (0xb4095100) 0
-Class QFlags<QStyleOptionViewItemV2::ViewItemFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionViewItemV2::ViewItemFeature> (0xb4095280) 0
Class QStyleOptionViewItemV2
size=84 align=4
@@ -6766,15 +5872,7 @@ QStyleOptionSpinBox (0xb4095980) 0
QStyleOptionComplex (0xb40959c0) 0
QStyleOption (0xb4095a00) 0
-Class QList<QStyleOptionQ3ListViewItem>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::<anonymous union> (0xb4095c00) 0
-Class QList<QStyleOptionQ3ListViewItem>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem> (0xb4095b80) 0
Class QStyleOptionQ3ListView
size=84 align=4
@@ -6783,10 +5881,6 @@ QStyleOptionQ3ListView (0xb4095a80) 0
QStyleOptionComplex (0xb4095ac0) 0
QStyleOption (0xb4095b00) 0
-Class QFlags<QStyleOptionToolButton::ToolButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionToolButton::ToolButtonFeature> (0xb4095dc0) 0
Class QStyleOptionToolButton
size=96 align=4
@@ -7000,10 +6094,6 @@ QAbstractItemView (0xb3f4a140) 0
QPaintDevice (0xb3f4a280) 8
vptr=((& QAbstractItemView::_ZTV17QAbstractItemView) + 392u)
-Class QFlags<QAbstractItemView::EditTrigger>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractItemView::EditTrigger> (0xb3f4a340) 0
Vtable for QListView
QListView::_ZTV9QListView: 103u entries
@@ -7384,20 +6474,8 @@ Class QAccessible
base size=0 base align=1
QAccessible (0xb3f4ac40) 0 empty
-Class QFlags<QAccessible::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::StateFlag> (0xb3f4acc0) 0
-Class QFlags<QAccessible::RelationFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::RelationFlag> (0xb3f4ad00) 0
-Class QMetaTypeId<QSet<QAccessible::Method> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QSet<QAccessible::Method> > (0xb3f4ad40) 0 empty
Vtable for QAccessibleInterface
QAccessibleInterface::_ZTV20QAccessibleInterface: 19u entries
@@ -7428,20 +6506,8 @@ QAccessibleInterface (0xb3f4ae00) 0 nearly-empty
vptr=((& QAccessibleInterface::_ZTV20QAccessibleInterface) + 8u)
QAccessible (0xb3f4ae40) 0 empty
-Class QHash<QAccessible::Method, QHashDummyValue>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QHash<QAccessible::Method, QHashDummyValue>::<anonymous union> (0xb3f4afc0) 0
-Class QHash<QAccessible::Method, QHashDummyValue>
- size=4 align=4
- base size=4 base align=4
-QHash<QAccessible::Method, QHashDummyValue> (0xb3f4af40) 0
-Class QSet<QAccessible::Method>
- size=4 align=4
- base size=4 base align=4
-QSet<QAccessible::Method> (0xb3f4aec0) 0
Vtable for QAccessibleInterfaceEx
QAccessibleInterfaceEx::_ZTV22QAccessibleInterfaceEx: 22u entries
@@ -8862,10 +7928,6 @@ QDateEdit (0xb3d42a40) 0
QPaintDevice (0xb3d42b80) 8
vptr=((& QDateEdit::_ZTV9QDateEdit) + 260u)
-Class QFlags<QDateTimeEdit::Section>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDateTimeEdit::Section> (0xb3d42c00) 0
Vtable for QButtonGroup
QButtonGroup::_ZTV12QButtonGroup: 14u entries
@@ -8970,10 +8032,6 @@ QDockWidget (0xb3d42d00) 0
QPaintDevice (0xb3d42dc0) 8
vptr=((& QDockWidget::_ZTV11QDockWidget) + 232u)
-Class QFlags<QDockWidget::DockWidgetFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDockWidget::DockWidgetFeature> (0xb3d42e80) 0
Vtable for QMainWindow
QMainWindow::_ZTV11QMainWindow: 64u entries
@@ -9054,10 +8112,6 @@ QMainWindow (0xb3d42ec0) 0
QPaintDevice (0xb3d42f80) 8
vptr=((& QMainWindow::_ZTV11QMainWindow) + 236u)
-Class QFlags<QMainWindow::DockOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QMainWindow::DockOption> (0xb3d420c0) 0
Vtable for QMenu
QMenu::_ZTV5QMenu: 63u entries
@@ -9867,10 +8921,6 @@ QFontComboBox (0xb3cb59c0) 0
QPaintDevice (0xb3cb5ac0) 8
vptr=((& QFontComboBox::_ZTV13QFontComboBox) + 240u)
-Class QFlags<QFontComboBox::FontFilter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFontComboBox::FontFilter> (0xb3cb5b40) 0
Vtable for QToolBox
QToolBox::_ZTV8QToolBox: 65u entries
@@ -10277,10 +9327,6 @@ QMdiArea (0xb3cb54c0) 0
QPaintDevice (0xb3cb5cc0) 8
vptr=((& QMdiArea::_ZTV8QMdiArea) + 240u)
-Class QFlags<QMdiArea::AreaOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QMdiArea::AreaOption> (0xb3cb5e40) 0
Vtable for QLabel
QLabel::_ZTV6QLabel: 63u entries
@@ -10597,10 +9643,6 @@ QMdiSubWindow (0xb3a2c3c0) 0
QPaintDevice (0xb3a2c480) 8
vptr=((& QMdiSubWindow::_ZTV13QMdiSubWindow) + 232u)
-Class QFlags<QMdiSubWindow::SubWindowOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QMdiSubWindow::SubWindowOption> (0xb3a2c500) 0
Vtable for QMenuItem
QMenuItem::_ZTV9QMenuItem: 14u entries
@@ -10672,60 +9714,32 @@ QTextDocument (0xb3a2c700) 0
QObject (0xb3a2c740) 0
primary-for QTextDocument (0xb3a2c700)
-Class QFlags<QTextDocument::FindFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextDocument::FindFlag> (0xb3a2c7c0) 0
Class QTextOption
size=24 align=4
base size=24 base align=4
QTextOption (0xb3a2c800) 0
-Class QFlags<QTextOption::Flag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextOption::Flag> (0xb3a2c840) 0
Class QPen
size=4 align=4
base size=4 base align=4
QPen (0xb3a2c880) 0
-Class QTypeInfo<QPen>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPen> (0xb3a2c940) 0 empty
Class QTextLength
size=12 align=4
base size=12 base align=4
QTextLength (0xb3a2c980) 0
-Class QSharedDataPointer<QTextFormatPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextFormatPrivate> (0xb3a2cac0) 0
Class QTextFormat
size=8 align=4
base size=8 base align=4
QTextFormat (0xb3a2ca40) 0
-Class QVector<QTextLength>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength>::<anonymous union> (0xb3a2cc40) 0
-Class QVector<QTextLength>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength> (0xb3a2cbc0) 0
-Class QFlags<QTextFormat::PageBreakFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextFormat::PageBreakFlag> (0xb3a2cc80) 0
Class QTextCharFormat
size=8 align=4
@@ -10765,10 +9779,6 @@ QTextTableFormat (0xb3a2cf80) 0
QTextFrameFormat (0xb3a2cfc0) 0
QTextFormat (0xb3a2c100) 0
-Class QSharedDataPointer<QTextCursorPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextCursorPrivate> (0xb3a2c380) 0
Class QTextCursor
size=4 align=4
@@ -10875,10 +9885,6 @@ QTextFrame (0xb3a2ca00) 0
QObject (0xb3a2cb00) 0
primary-for QTextObject (0xb3a2ca80)
-Class QTypeInfo<QTextFrame::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFrame::iterator> (0xb38230c0) 0 empty
Vtable for QTextBlockUserData
QTextBlockUserData::_ZTV18QTextBlockUserData: 4u entries
@@ -10903,25 +9909,13 @@ Class QTextBlock
base size=8 base align=4
QTextBlock (0xb3823180) 0
-Class QTypeInfo<QTextBlock>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock> (0xb3823200) 0 empty
-Class QTypeInfo<QTextBlock::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock::iterator> (0xb3823240) 0 empty
Class QTextFragment
size=12 align=4
base size=12 base align=4
QTextFragment (0xb3823280) 0
-Class QTypeInfo<QTextFragment>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFragment> (0xb38232c0) 0 empty
Class QTextInlineObject
size=8 align=4
@@ -10938,15 +9932,7 @@ Class QTextLayout
base size=4 base align=4
QTextLayout (0xb3823340) 0
-Class QVector<QTextLayout::FormatRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange>::<anonymous union> (0xb38234c0) 0
-Class QVector<QTextLayout::FormatRange>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange> (0xb3823440) 0
Class QTextLine
size=8 align=4
@@ -11046,10 +10032,6 @@ QTextEdit (0xb3823540) 0
QPaintDevice (0xb3823680) 8
vptr=((& QTextEdit::_ZTV9QTextEdit) + 256u)
-Class QFlags<QTextEdit::AutoFormattingFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextEdit::AutoFormattingFlag> (0xb3823780) 0
Vtable for QLCDNumber
QLCDNumber::_ZTV10QLCDNumber: 63u entries
@@ -11289,10 +10271,6 @@ QDialogButtonBox (0xb3823ac0) 0
QPaintDevice (0xb3823b80) 8
vptr=((& QDialogButtonBox::_ZTV16QDialogButtonBox) + 232u)
-Class QFlags<QDialogButtonBox::StandardButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDialogButtonBox::StandardButton> (0xb3823c00) 0
Vtable for QCalendarWidget
QCalendarWidget::_ZTV15QCalendarWidget: 64u entries
@@ -11556,15 +10534,7 @@ Class QAbstractTextDocumentLayout::Selection
base size=12 base align=4
QAbstractTextDocumentLayout::Selection (0xb3823d80) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union> (0xb377c0c0) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection> (0xb377c040) 0
Class QAbstractTextDocumentLayout::PaintContext
size=48 align=4
@@ -11788,20 +10758,8 @@ Class QGraphicsItem
QGraphicsItem (0xb377c7c0) 0
vptr=((& QGraphicsItem::_ZTV13QGraphicsItem) + 8u)
-Class QFlags<QGraphicsItem::GraphicsItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGraphicsItem::GraphicsItemFlag> (0xb377c8c0) 0
-Class QMetaTypeId<QGraphicsItem*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QGraphicsItem*> (0xb377c900) 0 empty
-Class QMetaTypeId<QGraphicsScene*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QGraphicsScene*> (0xb377c9c0) 0 empty
Vtable for QAbstractGraphicsShapeItem
QAbstractGraphicsShapeItem::_ZTV26QAbstractGraphicsShapeItem: 39u entries
@@ -12363,50 +11321,14 @@ Class QPainter
base size=4 base align=4
QPainter (0xb377cb00) 0
-Class QFlags<QPainter::RenderHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPainter::RenderHint> (0xb377cd00) 0
-Class QVector<QLineF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF>::<anonymous union> (0xb351c000) 0
-Class QVector<QLineF>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF> (0xb377cf00) 0
-Class QVector<QLine>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine>::<anonymous union> (0xb351c100) 0
-Class QVector<QLine>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine> (0xb351c080) 0
-Class QVector<QRectF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF>::<anonymous union> (0xb351c200) 0
-Class QVector<QRectF>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF> (0xb351c180) 0
-Class QVector<QRect>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect>::<anonymous union> (0xb351c300) 0
-Class QVector<QRect>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect> (0xb351c280) 0
Vtable for QGraphicsScene
QGraphicsScene::_ZTV14QGraphicsScene: 34u entries
@@ -12453,20 +11375,8 @@ QGraphicsScene (0xb351c340) 0
QObject (0xb351c380) 0
primary-for QGraphicsScene (0xb351c340)
-Class QFlags<QGraphicsScene::SceneLayer>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGraphicsScene::SceneLayer> (0xb351c480) 0
-Class QList<QGraphicsItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QGraphicsItem*>::<anonymous union> (0xb351c540) 0
-Class QList<QGraphicsItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QGraphicsItem*> (0xb351c4c0) 0
Vtable for QGraphicsView
QGraphicsView::_ZTV13QGraphicsView: 68u entries
@@ -12555,15 +11465,7 @@ QGraphicsView (0xb351c580) 0
QPaintDevice (0xb351c6c0) 8
vptr=((& QGraphicsView::_ZTV13QGraphicsView) + 252u)
-Class QFlags<QGraphicsView::CacheModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGraphicsView::CacheModeFlag> (0xb351c780) 0
-Class QFlags<QGraphicsView::OptimizationFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGraphicsView::OptimizationFlag> (0xb351c7c0) 0
Vtable for QGraphicsSceneEvent
QGraphicsSceneEvent::_ZTV19QGraphicsSceneEvent: 4u entries
@@ -12957,10 +11859,6 @@ QImageIOPlugin (0xb34a0240) 0
QFactoryInterface (0xb34a0300) 8 nearly-empty
primary-for QImageIOHandlerFactoryInterface (0xb34a02c0)
-Class QFlags<QImageIOPlugin::Capability>
- size=4 align=4
- base size=4 base align=4
-QFlags<QImageIOPlugin::Capability> (0xb34a0380) 0
Class QImageReader
size=4 align=4
@@ -13412,10 +12310,6 @@ Class QStyleFactory
base size=0 base align=1
QStyleFactory (0xb34a0e00) 0 empty
-Class QPointer<QFocusFrame>
- size=4 align=4
- base size=4 base align=4
-QPointer<QFocusFrame> (0xb339a080) 0
Vtable for QMotifStyle
QMotifStyle::_ZTV11QMotifStyle: 35u entries
@@ -13876,15 +12770,7 @@ Class QStandardItem
QStandardItem (0xb339ac40) 0
vptr=((& QStandardItem::_ZTV13QStandardItem) + 8u)
-Class QList<QStandardItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QStandardItem*>::<anonymous union> (0xb339af00) 0
-Class QList<QStandardItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QStandardItem*> (0xb339ae80) 0
Vtable for QStandardItemModel
QStandardItemModel::_ZTV18QStandardItemModel: 42u entries
@@ -13998,15 +12884,7 @@ QStringListModel (0xb339a040) 0
QObject (0xb339a380) 0
primary-for QAbstractItemModel (0xb339a180)
-Class QVector<QWidgetItemData>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData>::<anonymous union> (0xb339a9c0) 0
-Class QVector<QWidgetItemData>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData> (0xb339a680) 0
Vtable for QListWidgetItem
QListWidgetItem::_ZTV15QListWidgetItem: 11u entries
@@ -14530,35 +13408,15 @@ QTreeView (0xb3103640) 0
QPaintDevice (0xb31037c0) 8
vptr=((& QTreeView::_ZTV9QTreeView) + 400u)
-Class QFlags<QTreeWidgetItemIterator::IteratorFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTreeWidgetItemIterator::IteratorFlag> (0xb31038c0) 0
Class QTreeWidgetItemIterator
size=12 align=4
base size=12 base align=4
QTreeWidgetItemIterator (0xb3103840) 0
-Class QVector<QVector<QWidgetItemData> >::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> >::<anonymous union> (0xb3103a00) 0
-Class QVector<QVector<QWidgetItemData> >
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> > (0xb3103980) 0
-Class QList<QTreeWidgetItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::<anonymous union> (0xb3103b00) 0
-Class QList<QTreeWidgetItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*> (0xb3103a80) 0
Vtable for QTreeWidgetItem
QTreeWidgetItem::_ZTV15QTreeWidgetItem: 10u entries
@@ -14726,15 +13584,7 @@ Class QItemEditorCreatorBase
QItemEditorCreatorBase (0xb3103dc0) 0 nearly-empty
vptr=((& QItemEditorCreatorBase::_ZTV22QItemEditorCreatorBase) + 8u)
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union> (0xb3103440) 0
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*> (0xb3103140) 0
Vtable for QItemEditorFactory
QItemEditorFactory::_ZTV18QItemEditorFactory: 6u entries
@@ -15254,15 +14104,7 @@ Class QTextItem
base size=0 base align=1
QTextItem (0xb3085800) 0 empty
-Class QTypeInfo<QTextItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextItem> (0xb3085840) 0 empty
-Class QFlags<QPaintEngine::PaintEngineFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::PaintEngineFeature> (0xb3085900) 0
Vtable for QPaintEngine
QPaintEngine::_ZTV12QPaintEngine: 24u entries
@@ -15297,20 +14139,12 @@ Class QPaintEngine
QPaintEngine (0xb3085880) 0
vptr=((& QPaintEngine::_ZTV12QPaintEngine) + 8u)
-Class QFlags<QPaintEngine::DirtyFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::DirtyFlag> (0xb3085a00) 0
Class QPaintEngineState
size=4 align=4
base size=4 base align=4
QPaintEngineState (0xb3085980) 0
-Class QFlags<QTextItem::RenderFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextItem::RenderFlag> (0xb3085a40) 0
Class QColormap
size=4 align=4
@@ -15526,188 +14360,40 @@ QGraphicsSvgItem (0xb2d290c0) 0
QGraphicsItem (0xb2d29140) 8
vptr=((& QGraphicsSvgItem::_ZTV16QGraphicsSvgItem) + 76u)
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0xb2d29200) 0
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0xb2d29280) 0
-Class QVectorTypedData<QPoint>
- size=24 align=4
- base size=24 base align=4
-QVectorTypedData<QPoint> (0xb2d29300) 0
-Class QVectorTypedData<QPointF>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QPointF> (0xb2d29380) 0
-Class QVectorTypedData<QPainterPath::Element>
- size=36 align=4
- base size=36 base align=4
-QVectorTypedData<QPainterPath::Element> (0xb2d29400) 0
-Class QList<QAction*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QAction*>::Node (0xb2d29580) 0
-Class QVectorTypedData<QTextLength>
- size=28 align=4
- base size=28 base align=4
-QVectorTypedData<QTextLength> (0xb2d29600) 0
-Class QVectorTypedData<QTextLayout::FormatRange>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QTextLayout::FormatRange> (0xb2d29680) 0
-Class QVectorTypedData<QAbstractTextDocumentLayout::Selection>
- size=28 align=4
- base size=28 base align=4
-QVectorTypedData<QAbstractTextDocumentLayout::Selection> (0xb2d29700) 0
-Class QVectorTypedData<QLineF>
- size=48 align=4
- base size=48 base align=4
-QVectorTypedData<QLineF> (0xb2d29880) 0
-Class QVectorTypedData<QLine>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QLine> (0xb2d29900) 0
-Class QVectorTypedData<QRectF>
- size=48 align=4
- base size=48 base align=4
-QVectorTypedData<QRectF> (0xb2d29980) 0
-Class QVectorTypedData<QRect>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QRect> (0xb2d29a00) 0
-Class QList<QTreeWidgetItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::Node (0xb2d29c00) 0
-Class QVectorTypedData<QVector<QWidgetItemData> >
- size=20 align=4
- base size=20 base align=4
-QVectorTypedData<QVector<QWidgetItemData> > (0xb2d29c80) 0
-Class QMetaTypeId2<QSet<QAccessible::Method> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSet<QAccessible::Method> > (0xb2d29d40) 0 empty
-Class QHashNode<QAccessible::Method, QHashDummyValue>
- size=16 align=4
- base size=13 base align=4
-QHashNode<QAccessible::Method, QHashDummyValue> (0xb2d29dc0) 0
-Class QTypeInfo<QAction*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAction*> (0xb2d29e40) 0 empty
-Class QTypeInfo<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLength> (0xb2d29ec0) 0 empty
-Class QTypeInfo<QTextLayout::FormatRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLayout::FormatRange> (0xb2d29f80) 0 empty
-Class QTypeInfo<QAbstractTextDocumentLayout::Selection>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAbstractTextDocumentLayout::Selection> (0xb2d29480) 0 empty
-Class QTypeInfo<QStandardItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QStandardItem*> (0xb2d29d80) 0 empty
-Class QTypeInfo<QTreeWidgetItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTreeWidgetItem*> (0xb2959040) 0 empty
-Class QHashNode<QVariant::Type, QItemEditorCreatorBase*>
- size=16 align=4
- base size=16 base align=4
-QHashNode<QVariant::Type, QItemEditorCreatorBase*> (0xb29590c0) 0
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0xb2959140) 0
-Class QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union> (0xb29591c0) 0
-Class QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union> (0xb2959280) 0
-Class QList<QItemSelectionRange>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::Node (0xb2959340) 0
-Class QTypeInfo<QStyleOptionQ3ListViewItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QStyleOptionQ3ListViewItem> (0xb29593c0) 0 empty
-Class QList<QStyleOptionQ3ListViewItem>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::Node (0xb2959440) 0
-Class QList<QVariant>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::Node (0xb2959500) 0
-Class QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union> (0xb29595c0) 0
-Class QTypeInfo<QGraphicsItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QGraphicsItem*> (0xb2959680) 0 empty
-Class QList<QGraphicsItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QGraphicsItem*>::Node (0xb2959700) 0
-Class QList<QStandardItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QStandardItem*>::Node (0xb2959780) 0
-Class QHashDummyNode<QAccessible::Method, QHashDummyValue>
- size=12 align=4
- base size=12 base align=4
-QHashDummyNode<QAccessible::Method, QHashDummyValue> (0xb2959980) 0
-Class QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union> (0xb2959a00) 0
diff --git a/tests/auto/bic/data/QtSvg.4.3.2.linux-gcc-ia32.txt b/tests/auto/bic/data/QtSvg.4.3.2.linux-gcc-ia32.txt
index 81ebfb7..5c0b9f9 100644
--- a/tests/auto/bic/data/QtSvg.4.3.2.linux-gcc-ia32.txt
+++ b/tests/auto/bic/data/QtSvg.4.3.2.linux-gcc-ia32.txt
@@ -1,34 +1,8 @@
-Class QUintForSize<4>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<4> (0xb7f3ae40) 0 empty
-Class QUintForSize<8>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<8> (0xb7f3ae80) 0 empty
-Class QUintForType<void*>
- size=1 align=1
- base size=1 base align=1
-QUintForType<void*> (0xb7f3af40) 0 empty
- QUintForSize<4> (0xb7f3af80) 0 empty
-Class QIntForSize<4>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<4> (0xb783a000) 0 empty
-Class QIntForSize<8>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<8> (0xb783a040) 0 empty
-Class QIntForType<void*>
- size=1 align=1
- base size=1 base align=1
-QIntForType<void*> (0xb783a100) 0 empty
- QIntForSize<4> (0xb783a140) 0 empty
Class QSysInfo
size=1 align=1
@@ -50,150 +24,38 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0xb783a400) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0xb783a4c0) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0xb783a500) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0xb783a540) 0 empty
-Class QTypeInfo<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned char> (0xb783a580) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0xb783a5c0) 0 empty
-Class QTypeInfo<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short unsigned int> (0xb783a600) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0xb783a640) 0 empty
-Class QTypeInfo<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned int> (0xb783a680) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0xb783a6c0) 0 empty
-Class QTypeInfo<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long unsigned int> (0xb783a700) 0 empty
-Class QTypeInfo<long long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long int> (0xb783a740) 0 empty
-Class QTypeInfo<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long unsigned int> (0xb783a780) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0xb783a7c0) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0xb783a800) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0xb783a840) 0 empty
Class QFlag
size=4 align=4
base size=4 base align=4
QFlag (0xb783a880) 0
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0xb783a980) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0xb783a9c0) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0xb783aa00) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0xb783aa40) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0xb783aa80) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0xb783aac0) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0xb783ab00) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0xb783ab40) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0xb783ab80) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0xb783abc0) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0xb783ac00) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0xb783ac40) 0
-Class QFlags<Qt::TextInteractionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::TextInteractionFlag> (0xb783ac80) 0
Class QInternal
size=1 align=1
@@ -211,10 +73,6 @@ Class QGenericReturnArgument
QGenericReturnArgument (0xb783ad80) 0
QGenericArgument (0xb783adc0) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0xb783af80) 0
Class QMetaObject
size=16 align=4
@@ -231,10 +89,6 @@ Class QChar
base size=2 base align=2
QChar (0xb5b35040) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0xb5b350c0) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -267,10 +121,6 @@ Class QByteRef
base size=8 base align=4
QByteRef (0xb5b353c0) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0xb5b35400) 0 empty
Class QString::Null
size=1 align=1
@@ -287,10 +137,6 @@ Class QString
base size=4 base align=4
QString (0xb5b35440) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0xb5b35640) 0
Class QLatin1String
size=4 align=4
@@ -308,10 +154,6 @@ Class QConstString
QConstString (0xb5b35740) 0
QString (0xb5b35780) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0xb5b357c0) 0 empty
Class QStringRef
size=12 align=4
@@ -379,15 +221,7 @@ Class QListData
base size=4 base align=4
QListData (0xb5b35b00) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0xb5b35e80) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0xb5b35e00) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -463,10 +297,6 @@ QLibrary (0xb5b359c0) 0
QObject (0xb5b35a80) 0
primary-for QLibrary (0xb5b359c0)
-Class QFlags<QLibrary::LoadHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLibrary::LoadHint> (0xb5b35cc0) 0
Class QUuid
size=16 align=4
@@ -514,10 +344,6 @@ QIODevice (0xb5766000) 0
QObject (0xb5766040) 0
primary-for QIODevice (0xb5766000)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0xb5766100) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -537,25 +363,13 @@ Class QRegExp
base size=4 base align=4
QRegExp (0xb57661c0) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0xb5766200) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0xb5766240) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0xb5766300) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0xb5766280) 0
Class QStringList
size=4 align=4
@@ -563,15 +377,7 @@ Class QStringList
QStringList (0xb5766340) 0
QList<QString> (0xb5766380) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0xb5766400) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0xb5766440) 0
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -627,10 +433,6 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0xb57667c0) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0xb5766800) 0 empty
Class QCryptographicHash
size=4 align=4
@@ -642,75 +444,35 @@ Class QDate
base size=4 base align=4
QDate (0xb5766d40) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0xb5766e00) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0xb5766e40) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0xb5766f00) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0xb5766f40) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0xb5766080) 0 empty
Class QByteArrayMatcher
size=1032 align=4
base size=1032 base align=4
QByteArrayMatcher (0xb5766180) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0xb5766680) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0xb5766bc0) 0
Class wait
size=4 align=4
base size=4 base align=4
wait (0xb5766540) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb5766d80) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb5766dc0) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb5766e80) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb5766ec0) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb5766f80) 0
Class timespec
size=8 align=4
@@ -722,80 +484,24 @@ Class timeval
base size=8 base align=4
timeval (0xb5544000) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb5544040) 0
-Class <anonymous union>
- size=36 align=4
- base size=36 base align=4
-<anonymous union> (0xb5544080) 0
Class __pthread_internal_slist
size=4 align=4
base size=4 base align=4
__pthread_internal_slist (0xb55440c0) 0
-Class <anonymous union>::__pthread_mutex_s::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union>::__pthread_mutex_s::<anonymous union> (0xb5544180) 0
-Class <anonymous union>::__pthread_mutex_s
- size=24 align=4
- base size=24 base align=4
-<anonymous union>::__pthread_mutex_s (0xb5544140) 0
-Class <anonymous union>
- size=24 align=4
- base size=24 base align=4
-<anonymous union> (0xb5544100) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb55441c0) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0xb5544240) 0
-Class <anonymous union>
- size=48 align=4
- base size=48 base align=4
-<anonymous union> (0xb5544200) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb5544280) 0
-Class <anonymous union>::<anonymous struct>
- size=32 align=4
- base size=32 base align=4
-<anonymous union>::<anonymous struct> (0xb5544300) 0
-Class <anonymous union>
- size=32 align=4
- base size=32 base align=4
-<anonymous union> (0xb55442c0) 0
-Class <anonymous union>
- size=8 align=4
- base size=8 base align=4
-<anonymous union> (0xb5544340) 0
-Class <anonymous union>
- size=20 align=4
- base size=20 base align=4
-<anonymous union> (0xb5544380) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb55443c0) 0
Class random_data
size=28 align=4
@@ -817,20 +523,12 @@ Class QSize
base size=8 base align=4
QSize (0xb5544640) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0xb5544840) 0 empty
Class QSizeF
size=16 align=4
base size=16 base align=4
QSizeF (0xb55448c0) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0xb5544ac0) 0 empty
Class QLinkedListData
size=20 align=4
@@ -842,15 +540,7 @@ Class QLocale
base size=4 base align=4
QLocale (0xb5544e80) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0xb5544ec0) 0 empty
-Class QFlags<QLocale::NumberOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLocale::NumberOption> (0xb5544f00) 0
Vtable for QSystemLocale
QSystemLocale::_ZTV13QSystemLocale: 6u entries
@@ -887,60 +577,36 @@ Class QPoint
base size=8 base align=4
QPoint (0xb5361100) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0xb5361340) 0 empty
Class QPointF
size=16 align=4
base size=16 base align=4
QPointF (0xb5361380) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0xb53615c0) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0xb5361700) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0xb5361800) 0 empty
Class QRectF
size=32 align=4
base size=32 base align=4
QRectF (0xb5361840) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0xb5361900) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0xb5361940) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0xb5361980) 0 empty
Class QLineF
size=32 align=4
base size=32 base align=4
QLineF (0xb53619c0) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0xb5361a00) 0 empty
Vtable for QTimeLine
QTimeLine::_ZTV9QTimeLine: 15u entries
@@ -978,10 +644,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0xb5361d80) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0xb5361dc0) 0 empty
Class QLibraryInfo
size=1 align=1
@@ -993,290 +655,66 @@ Class QUrl
base size=4 base align=4
QUrl (0xb5361f00) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0xb5361f80) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0xb5361fc0) 0 empty
Class QMetaType
size=1 align=1
base size=0 base align=1
QMetaType (0xb5361140) 0 empty
-Class QMetaTypeId2<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QString> (0xb5361200) 0 empty
-Class QMetaTypeId2<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<int> (0xb5361240) 0 empty
-Class QMetaTypeId2<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned int> (0xb5361280) 0 empty
-Class QMetaTypeId2<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<bool> (0xb53612c0) 0 empty
-Class QMetaTypeId2<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<double> (0xb5361300) 0 empty
-Class QMetaTypeId2<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QByteArray> (0xb53613c0) 0 empty
-Class QMetaTypeId2<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QChar> (0xb5361400) 0 empty
-Class QMetaTypeId2<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long int> (0xb5361440) 0 empty
-Class QMetaTypeId2<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short int> (0xb5361480) 0 empty
-Class QMetaTypeId2<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<char> (0xb53614c0) 0 empty
-Class QMetaTypeId2<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long unsigned int> (0xb5361500) 0 empty
-Class QMetaTypeId2<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short unsigned int> (0xb5361540) 0 empty
-Class QMetaTypeId2<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned char> (0xb5361580) 0 empty
-Class QMetaTypeId2<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<float> (0xb5361740) 0 empty
-Class QMetaTypeId2<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QObject*> (0xb5361780) 0 empty
-Class QMetaTypeId2<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QWidget*> (0xb53617c0) 0 empty
-Class QMetaTypeId2<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<void*> (0xb5361880) 0 empty
-Class QMetaTypeId2<long long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long int> (0xb53618c0) 0 empty
-Class QMetaTypeId2<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long unsigned int> (0xb5361c00) 0 empty
-Class QMetaTypeId2<QStringList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QStringList> (0xb4fe8000) 0 empty
-Class QMetaTypeId2<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitArray> (0xb4fe8040) 0 empty
-Class QMetaTypeId2<QDate>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDate> (0xb4fe8080) 0 empty
-Class QMetaTypeId2<QTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTime> (0xb4fe80c0) 0 empty
-Class QMetaTypeId2<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDateTime> (0xb4fe8100) 0 empty
-Class QMetaTypeId2<QUrl>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QUrl> (0xb4fe8140) 0 empty
-Class QMetaTypeId2<QLocale>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLocale> (0xb4fe8180) 0 empty
-Class QMetaTypeId2<QRect>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRect> (0xb4fe81c0) 0 empty
-Class QMetaTypeId2<QRectF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRectF> (0xb4fe8200) 0 empty
-Class QMetaTypeId2<QSize>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSize> (0xb4fe8240) 0 empty
-Class QMetaTypeId2<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizeF> (0xb4fe8280) 0 empty
-Class QMetaTypeId2<QLine>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLine> (0xb4fe82c0) 0 empty
-Class QMetaTypeId2<QLineF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLineF> (0xb4fe8300) 0 empty
-Class QMetaTypeId2<QPoint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPoint> (0xb4fe8340) 0 empty
-Class QMetaTypeId2<QPointF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPointF> (0xb4fe8380) 0 empty
-Class QMetaTypeId2<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegExp> (0xb4fe83c0) 0 empty
-Class QMetaTypeId2<QColorGroup>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColorGroup> (0xb4fe8400) 0 empty
-Class QMetaTypeId2<QFont>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QFont> (0xb4fe8440) 0 empty
-Class QMetaTypeId2<QPixmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPixmap> (0xb4fe8480) 0 empty
-Class QMetaTypeId2<QBrush>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBrush> (0xb4fe84c0) 0 empty
-Class QMetaTypeId2<QColor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColor> (0xb4fe8500) 0 empty
-Class QMetaTypeId2<QPalette>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPalette> (0xb4fe8540) 0 empty
-Class QMetaTypeId2<QIcon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QIcon> (0xb4fe8580) 0 empty
-Class QMetaTypeId2<QImage>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QImage> (0xb4fe85c0) 0 empty
-Class QMetaTypeId2<QPolygon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPolygon> (0xb4fe8600) 0 empty
-Class QMetaTypeId2<QRegion>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegion> (0xb4fe8640) 0 empty
-Class QMetaTypeId2<QBitmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitmap> (0xb4fe8680) 0 empty
-Class QMetaTypeId2<QCursor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QCursor> (0xb4fe86c0) 0 empty
-Class QMetaTypeId2<QSizePolicy>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizePolicy> (0xb4fe8700) 0 empty
-Class QMetaTypeId2<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QKeySequence> (0xb4fe8740) 0 empty
-Class QMetaTypeId2<QPen>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPen> (0xb4fe8780) 0 empty
-Class QMetaTypeId2<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextLength> (0xb4fe87c0) 0 empty
-Class QMetaTypeId2<QTextFormat>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextFormat> (0xb4fe8800) 0 empty
-Class QMetaTypeId2<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMatrix> (0xb4fe8840) 0 empty
-Class QMetaTypeId2<QTransform>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTransform> (0xb4fe8880) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -1303,45 +741,17 @@ Class QVariant
base size=12 base align=4
QVariant (0xb4fe88c0) 0
-Class QMetaTypeId2<QList<QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QList<QVariant> > (0xb4fe8b40) 0 empty
-Class QMetaTypeId2<QMap<QString, QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMap<QString, QVariant> > (0xb4fe8b80) 0 empty
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0xb4fe8c80) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0xb4fe8c00) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0xb4fe8d80) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0xb4fe8d00) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0xb4fe8e00) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0xb4fe8e80) 0 empty
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1368,25 +778,9 @@ QSettings (0xb4fe8ec0) 0
QObject (0xb4fe8f00) 0
primary-for QSettings (0xb4fe8ec0)
-Class <anonymous struct>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct>::<anonymous union> (0xb4fe8a00) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb4fe8fc0) 0
-Class <anonymous struct>
- size=12 align=4
- base size=12 base align=4
-<anonymous struct> (0xb4fe8a40) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb4fe8a80) 0
Class __gconv_trans_data
size=20 align=4
@@ -1408,15 +802,7 @@ Class __gconv_info
base size=8 base align=4
__gconv_info (0xb4fe8f80) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0xb4ec7040) 0
-Class <anonymous union>
- size=44 align=4
- base size=44 base align=4
-<anonymous union> (0xb4ec7000) 0
Class _IO_marker
size=12 align=4
@@ -1428,10 +814,6 @@ Class _IO_FILE
base size=148 base align=4
_IO_FILE (0xb4ec70c0) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb4ec7100) 0
Vtable for QFile
QFile::_ZTV5QFile: 31u entries
@@ -1477,10 +859,6 @@ QFile (0xb4ec7140) 0
QObject (0xb4ec71c0) 0
primary-for QIODevice (0xb4ec7180)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0xb4ec7240) 0
Vtable for QTemporaryFile
QTemporaryFile::_ZTV14QTemporaryFile: 31u entries
@@ -1533,40 +911,16 @@ Class QFileInfo
base size=4 base align=4
QFileInfo (0xb4ec73c0) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0xb4ec7400) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0xb4ec7440) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0xb4ec7500) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0xb4ec7480) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0xb4ec7540) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0xb4ec75c0) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0xb4ec7640) 0
Vtable for QProcess
QProcess::_ZTV8QProcess: 31u entries
@@ -1650,10 +1004,6 @@ Class QDirIterator
QDirIterator (0xb4ec7880) 0
vptr=((& QDirIterator::_ZTV12QDirIterator) + 8u)
-Class QFlags<QDirIterator::IteratorFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDirIterator::IteratorFlag> (0xb4ec7940) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -1710,10 +1060,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0xb4ec7980) 0
vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0xb4ec7b00) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -1747,10 +1093,6 @@ Class QAbstractFileEngineIterator
QAbstractFileEngineIterator (0xb4ec7bc0) 0
vptr=((& QAbstractFileEngineIterator::_ZTV27QAbstractFileEngineIterator) + 8u)
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0xb4ec7d00) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -1775,15 +1117,7 @@ Class QTextCodec
QTextCodec (0xb4ec7c40) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0xb4ec7e40) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0xb4ec7dc0) 0
Class QTextEncoder
size=32 align=4
@@ -1808,10 +1142,6 @@ Class QTextStream
QTextStream (0xb4ec7f00) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0xb4ec7fc0) 0
Class QTextStreamManipulator
size=24 align=4
@@ -1958,20 +1288,12 @@ Class QReadWriteLock
base size=4 base align=4
QReadWriteLock (0xb4cf41c0) 0
-Class QReadLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QReadLocker::<anonymous union> (0xb4cf4240) 0
Class QReadLocker
size=4 align=4
base size=4 base align=4
QReadLocker (0xb4cf4200) 0
-Class QWriteLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QWriteLocker::<anonymous union> (0xb4cf42c0) 0
Class QWriteLocker
size=4 align=4
@@ -1983,10 +1305,6 @@ Class QMutex
base size=4 base align=4
QMutex (0xb4cf4300) 0
-Class QMutexLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMutexLocker::<anonymous union> (0xb4cf4380) 0
Class QMutexLocker
size=4 align=4
@@ -2066,10 +1384,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0xb4cf4680) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0xb4cf46c0) 0 empty
Vtable for QMimeData
QMimeData::_ZTV9QMimeData: 17u entries
@@ -2104,20 +1418,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0xb4cf47c0) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0xb4cf4800) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0xb4cf4840) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0xb4cf48c0) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -2357,10 +1663,6 @@ QEventLoop (0xb4cf4d40) 0
QObject (0xb4cf4d80) 0
primary-for QEventLoop (0xb4cf4d40)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0xb4cf4e80) 0
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -2555,20 +1857,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0xb4a72040) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0xb4a72080) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0xb4a720c0) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0xb4a72100) 0 empty
Class QMetaProperty
size=20 align=4
@@ -2580,10 +1874,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0xb4a72180) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0xb4a721c0) 0 empty
Vtable for QTextCodecFactoryInterface
QTextCodecFactoryInterface::_ZTV26QTextCodecFactoryInterface: 6u entries
@@ -2726,25 +2016,13 @@ QImageIOPlugin (0xb4a72600) 0
QFactoryInterface (0xb4a726c0) 8 nearly-empty
primary-for QImageIOHandlerFactoryInterface (0xb4a72680)
-Class QFlags<QImageIOPlugin::Capability>
- size=4 align=4
- base size=4 base align=4
-QFlags<QImageIOPlugin::Capability> (0xb4a72740) 0
Class QImageReader
size=4 align=4
base size=4 base align=4
QImageReader (0xb4a72780) 0
-Class QVector<QPoint>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint>::<anonymous union> (0xb4a72840) 0
-Class QVector<QPoint>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint> (0xb4a727c0) 0
Class QPolygon
size=4 align=4
@@ -2752,15 +2030,7 @@ Class QPolygon
QPolygon (0xb4a72880) 0
QVector<QPoint> (0xb4a728c0) 0
-Class QVector<QPointF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF>::<anonymous union> (0xb4a72980) 0
-Class QVector<QPointF>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF> (0xb4a72900) 0
Class QPolygonF
size=4 align=4
@@ -2783,10 +2053,6 @@ Class QMatrix
base size=48 base align=4
QMatrix (0xb4a72bc0) 0
-Class QTypeInfo<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMatrix> (0xb4a72c00) 0 empty
Class QPainterPath::Element
size=20 align=4
@@ -2798,25 +2064,13 @@ Class QPainterPath
base size=4 base align=4
QPainterPath (0xb4a72c40) 0
-Class QVector<QPainterPath::Element>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element>::<anonymous union> (0xb4a72ec0) 0
-Class QVector<QPainterPath::Element>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element> (0xb4a72e40) 0
Class QPainterPathPrivate
size=8 align=4
base size=8 base align=4
QPainterPathPrivate (0xb4a72d40) 0
-Class QTypeInfo<QPainterPath::Element>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPainterPath::Element> (0xb4a72f00) 0 empty
Class QPainterPathStroker
size=4 align=4
@@ -2828,10 +2082,6 @@ Class QTransform
base size=80 base align=4
QTransform (0xb4a72000) 0
-Class QTypeInfo<QTransform>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTransform> (0xb4a72280) 0 empty
Vtable for QPaintDevice
QPaintDevice::_ZTV12QPaintDevice: 7u entries
@@ -2872,30 +2122,10 @@ QImage (0xb4a72a80) 0
QPaintDevice (0xb4a72ac0) 0
primary-for QImage (0xb4a72a80)
-Class QTypeInfo<QImage>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QImage> (0xb4a72b00) 0 empty
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0xb4864000) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0xb4864040) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0xb4864080) 0
-Class QColor::<anonymous union>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union> (0xb4a72d00) 0
Class QColor
size=16 align=4
@@ -3083,10 +2313,6 @@ Class QIcon
base size=4 base align=4
QIcon (0xb4864a00) 0
-Class QTypeInfo<QIcon>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QIcon> (0xb4864ac0) 0 empty
Vtable for QPicture
QPicture::_ZTV8QPicture: 8u entries
@@ -3225,10 +2451,6 @@ Class QKeySequence
base size=4 base align=4
QKeySequence (0xb48640c0) 0
-Class QTypeInfo<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QKeySequence> (0xb4864100) 0 empty
Vtable for QMimeSource
QMimeSource::_ZTV11QMimeSource: 7u entries
@@ -3526,15 +2748,7 @@ Class QInputMethodEvent::Attribute
base size=24 base align=4
QInputMethodEvent::Attribute (0xb4797940) 0
-Class QList<QInputMethodEvent::Attribute>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute>::<anonymous union> (0xb4797a40) 0
-Class QList<QInputMethodEvent::Attribute>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute> (0xb47979c0) 0
Vtable for QInputMethodEvent
QInputMethodEvent::_ZTV17QInputMethodEvent: 4u entries
@@ -3823,20 +3037,8 @@ Class QAccessible
base size=0 base align=1
QAccessible (0xb4823140) 0 empty
-Class QFlags<QAccessible::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::StateFlag> (0xb48231c0) 0
-Class QFlags<QAccessible::RelationFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::RelationFlag> (0xb4823200) 0
-Class QMetaTypeId<QSet<QAccessible::Method> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QSet<QAccessible::Method> > (0xb4823240) 0 empty
Vtable for QAccessibleInterface
QAccessibleInterface::_ZTV20QAccessibleInterface: 19u entries
@@ -3867,20 +3069,8 @@ QAccessibleInterface (0xb4823300) 0 nearly-empty
vptr=((& QAccessibleInterface::_ZTV20QAccessibleInterface) + 8u)
QAccessible (0xb4823340) 0 empty
-Class QHash<QAccessible::Method, QHashDummyValue>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QHash<QAccessible::Method, QHashDummyValue>::<anonymous union> (0xb48234c0) 0
-Class QHash<QAccessible::Method, QHashDummyValue>
- size=4 align=4
- base size=4 base align=4
-QHash<QAccessible::Method, QHashDummyValue> (0xb4823440) 0
-Class QSet<QAccessible::Method>
- size=4 align=4
- base size=4 base align=4
-QSet<QAccessible::Method> (0xb48233c0) 0
Vtable for QAccessibleInterfaceEx
QAccessibleInterfaceEx::_ZTV22QAccessibleInterfaceEx: 22u entries
@@ -4402,55 +3592,23 @@ Class QPen
base size=4 base align=4
QPen (0xb46d6640) 0
-Class QTypeInfo<QPen>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPen> (0xb46d6700) 0 empty
Class QBrush
size=4 align=4
base size=4 base align=4
QBrush (0xb46d6740) 0
-Class QTypeInfo<QBrush>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBrush> (0xb46d67c0) 0 empty
Class QBrushData
size=108 align=4
base size=105 base align=4
QBrushData (0xb46d6800) 0
-Class QVector<QPair<double, QColor> >::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPair<double, QColor> >::<anonymous union> (0xb46d6940) 0
-Class QVector<QPair<double, QColor> >
- size=4 align=4
- base size=4 base align=4
-QVector<QPair<double, QColor> > (0xb46d68c0) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=32 align=4
- base size=32 base align=4
-QGradient::<anonymous union>::<anonymous struct> (0xb46d69c0) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=40 align=4
- base size=40 base align=4
-QGradient::<anonymous union>::<anonymous struct> (0xb46d6a00) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=24 align=4
- base size=24 base align=4
-QGradient::<anonymous union>::<anonymous struct> (0xb46d6a40) 0
-Class QGradient::<anonymous union>
- size=40 align=4
- base size=40 base align=4
-QGradient::<anonymous union> (0xb46d6980) 0
Class QGradient
size=56 align=4
@@ -4480,30 +3638,14 @@ Class QTextLength
base size=12 base align=4
QTextLength (0xb46d6c00) 0
-Class QSharedDataPointer<QTextFormatPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextFormatPrivate> (0xb46d6d40) 0
Class QTextFormat
size=8 align=4
base size=8 base align=4
QTextFormat (0xb46d6cc0) 0
-Class QVector<QTextLength>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength>::<anonymous union> (0xb46d6ec0) 0
-Class QVector<QTextLength>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength> (0xb46d6e40) 0
-Class QFlags<QTextFormat::PageBreakFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextFormat::PageBreakFlag> (0xb46d6f00) 0
Class QTextCharFormat
size=8 align=4
@@ -4643,10 +3785,6 @@ QTextFrame (0xb44510c0) 0
QObject (0xb4451140) 0
primary-for QTextObject (0xb4451100)
-Class QTypeInfo<QTextFrame::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFrame::iterator> (0xb4451280) 0 empty
Vtable for QTextBlockUserData
QTextBlockUserData::_ZTV18QTextBlockUserData: 4u entries
@@ -4671,25 +3809,13 @@ Class QTextBlock
base size=8 base align=4
QTextBlock (0xb4451340) 0
-Class QTypeInfo<QTextBlock>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock> (0xb44513c0) 0 empty
-Class QTypeInfo<QTextBlock::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock::iterator> (0xb4451400) 0 empty
Class QTextFragment
size=12 align=4
base size=12 base align=4
QTextFragment (0xb4451440) 0
-Class QTypeInfo<QTextFragment>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFragment> (0xb4451480) 0 empty
Class QTextDocumentFragment
size=4 align=4
@@ -4756,10 +3882,6 @@ QTextTable (0xb4451600) 0
QObject (0xb44516c0) 0
primary-for QTextObject (0xb4451680)
-Class QSharedDataPointer<QTextCursorPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextCursorPrivate> (0xb4451840) 0
Class QTextCursor
size=4 align=4
@@ -4808,10 +3930,6 @@ Class QTextOption
base size=24 base align=4
QTextOption (0xb4451a80) 0
-Class QFlags<QTextOption::Flag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextOption::Flag> (0xb4451ac0) 0
Class QTextInlineObject
size=8 align=4
@@ -4828,15 +3946,7 @@ Class QTextLayout
base size=4 base align=4
QTextLayout (0xb4451b40) 0
-Class QVector<QTextLayout::FormatRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange>::<anonymous union> (0xb4451cc0) 0
-Class QVector<QTextLayout::FormatRange>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange> (0xb4451c40) 0
Class QTextLine
size=8 align=4
@@ -4886,10 +3996,6 @@ QTextDocument (0xb4451e00) 0
QObject (0xb4451e40) 0
primary-for QTextDocument (0xb4451e00)
-Class QFlags<QTextDocument::FindFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextDocument::FindFlag> (0xb4451ec0) 0
Class QPalette
size=8 align=4
@@ -4907,15 +4013,7 @@ Class QAbstractTextDocumentLayout::Selection
base size=12 base align=4
QAbstractTextDocumentLayout::Selection (0xb4451700) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union> (0xb4451d80) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection> (0xb44519c0) 0
Class QAbstractTextDocumentLayout::PaintContext
size=48 align=4
@@ -4977,10 +4075,6 @@ Class QSizePolicy
base size=4 base align=4
QSizePolicy (0xb43ef080) 0
-Class QFlags<QSizePolicy::ControlType>
- size=4 align=4
- base size=4 base align=4
-QFlags<QSizePolicy::ControlType> (0xb43ef180) 0
Vtable for QStyle
QStyle::_ZTV6QStyle: 35u entries
@@ -5028,15 +4122,7 @@ QStyle (0xb43ef1c0) 0
QObject (0xb43ef200) 0
primary-for QStyle (0xb43ef1c0)
-Class QFlags<QStyle::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::StateFlag> (0xb43ef2c0) 0
-Class QFlags<QStyle::SubControl>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::SubControl> (0xb43ef300) 0
Vtable for QCommonStyle
QCommonStyle::_ZTV12QCommonStyle: 35u entries
@@ -5242,10 +4328,6 @@ QWindowsXPStyle (0xb43ef840) 0
QObject (0xb43ef940) 0
primary-for QStyle (0xb43ef900)
-Class QPointer<QFocusFrame>
- size=4 align=4
- base size=4 base align=4
-QPointer<QFocusFrame> (0xb43efb00) 0
Vtable for QMotifStyle
QMotifStyle::_ZTV11QMotifStyle: 35u entries
@@ -5541,10 +4623,6 @@ QWidget (0xb43ef280) 0
QPaintDevice (0xb43ef540) 8
vptr=((& QWidget::_ZTV7QWidget) + 232u)
-Class QFlags<QWidget::RenderFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QWidget::RenderFlag> (0xb43ef800) 0
Vtable for QValidator
QValidator::_ZTV10QValidator: 16u entries
@@ -5745,10 +4823,6 @@ QAbstractSpinBox (0xb41d4240) 0
QPaintDevice (0xb41d4300) 8
vptr=((& QAbstractSpinBox::_ZTV16QAbstractSpinBox) + 252u)
-Class QFlags<QAbstractSpinBox::StepEnabledFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractSpinBox::StepEnabledFlag> (0xb41d4380) 0
Vtable for QAbstractSlider
QAbstractSlider::_ZTV15QAbstractSlider: 64u entries
@@ -6167,10 +5241,6 @@ Class QStyleOptionFrame
QStyleOptionFrame (0xb41d4bc0) 0
QStyleOption (0xb41d4c00) 0
-Class QFlags<QStyleOptionFrameV2::FrameFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionFrameV2::FrameFeature> (0xb41d4d80) 0
Class QStyleOptionFrameV2
size=56 align=4
@@ -6197,10 +5267,6 @@ Class QStyleOptionHeader
QStyleOptionHeader (0xb41d4000) 0
QStyleOption (0xb41d4100) 0
-Class QFlags<QStyleOptionButton::ButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionButton::ButtonFeature> (0xb41d4680) 0
Class QStyleOptionButton
size=64 align=4
@@ -6208,10 +5274,6 @@ Class QStyleOptionButton
QStyleOptionButton (0xb41d4340) 0
QStyleOption (0xb41d44c0) 0
-Class QFlags<QStyleOptionTab::CornerWidget>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionTab::CornerWidget> (0xb41d4a80) 0
Class QStyleOptionTab
size=72 align=4
@@ -6226,10 +5288,6 @@ QStyleOptionTabV2 (0xb41d4b80) 0
QStyleOptionTab (0xb41d4c40) 0
QStyleOption (0xb41d4d40) 0
-Class QFlags<QStyleOptionToolBar::ToolBarFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionToolBar::ToolBarFeature> (0xb3f1d0c0) 0
Class QStyleOptionToolBar
size=68 align=4
@@ -6256,10 +5314,6 @@ Class QStyleOptionMenuItem
QStyleOptionMenuItem (0xb3f1d300) 0
QStyleOption (0xb3f1d340) 0
-Class QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature> (0xb3f1d480) 0
Class QStyleOptionQ3ListViewItem
size=64 align=4
@@ -6292,10 +5346,6 @@ Class QStyleOptionViewItem
QStyleOptionViewItem (0xb3f1d7c0) 0
QStyleOption (0xb3f1d800) 0
-Class QFlags<QStyleOptionViewItemV2::ViewItemFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionViewItemV2::ViewItemFeature> (0xb3f1d980) 0
Class QStyleOptionViewItemV2
size=84 align=4
@@ -6351,15 +5401,7 @@ QStyleOptionSpinBox (0xb3f1d080) 0
QStyleOptionComplex (0xb3f1d100) 0
QStyleOption (0xb3f1d200) 0
-Class QList<QStyleOptionQ3ListViewItem>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::<anonymous union> (0xb3f1d840) 0
-Class QList<QStyleOptionQ3ListViewItem>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem> (0xb3f1d580) 0
Class QStyleOptionQ3ListView
size=84 align=4
@@ -6368,10 +5410,6 @@ QStyleOptionQ3ListView (0xb3f1d380) 0
QStyleOptionComplex (0xb3f1d440) 0
QStyleOption (0xb3f1d4c0) 0
-Class QFlags<QStyleOptionToolButton::ToolButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionToolButton::ToolButtonFeature> (0xb3fec040) 0
Class QStyleOptionToolButton
size=96 align=4
@@ -6488,10 +5526,6 @@ Class QStyleFactory
base size=0 base align=1
QStyleFactory (0xb3fec8c0) 0 empty
-Class QFlags<QTreeWidgetItemIterator::IteratorFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTreeWidgetItemIterator::IteratorFlag> (0xb3fec980) 0
Class QTreeWidgetItemIterator
size=12 align=4
@@ -6663,10 +5697,6 @@ Class QItemSelectionRange
base size=8 base align=4
QItemSelectionRange (0xb3fecc80) 0
-Class QTypeInfo<QItemSelectionRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QItemSelectionRange> (0xb3fecd00) 0 empty
Vtable for QItemSelectionModel
QItemSelectionModel::_ZTV19QItemSelectionModel: 18u entries
@@ -6697,20 +5727,8 @@ QItemSelectionModel (0xb3fecd40) 0
QObject (0xb3fecd80) 0
primary-for QItemSelectionModel (0xb3fecd40)
-Class QFlags<QItemSelectionModel::SelectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QItemSelectionModel::SelectionFlag> (0xb3fece00) 0
-Class QList<QItemSelectionRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::<anonymous union> (0xb3fecec0) 0
-Class QList<QItemSelectionRange>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange> (0xb3fece40) 0
Class QItemSelection
size=4 align=4
@@ -6872,10 +5890,6 @@ QAbstractItemView (0xb3fec000) 0
QPaintDevice (0xb3fec500) 8
vptr=((& QAbstractItemView::_ZTV17QAbstractItemView) + 392u)
-Class QFlags<QAbstractItemView::EditTrigger>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractItemView::EditTrigger> (0xb3fec880) 0
Vtable for QListView
QListView::_ZTV9QListView: 103u entries
@@ -7140,15 +6154,7 @@ Class QItemEditorCreatorBase
QItemEditorCreatorBase (0xb3d58340) 0 nearly-empty
vptr=((& QItemEditorCreatorBase::_ZTV22QItemEditorCreatorBase) + 8u)
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union> (0xb3d58600) 0
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*> (0xb3d58580) 0
Vtable for QItemEditorFactory
QItemEditorFactory::_ZTV18QItemEditorFactory: 6u entries
@@ -7296,15 +6302,7 @@ Class QTableWidgetSelectionRange
base size=16 base align=4
QTableWidgetSelectionRange (0xb3d588c0) 0
-Class QVector<QWidgetItemData>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData>::<anonymous union> (0xb3d58a00) 0
-Class QVector<QWidgetItemData>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData> (0xb3d58980) 0
Vtable for QTableWidgetItem
QTableWidgetItem::_ZTV16QTableWidgetItem: 10u entries
@@ -7790,15 +6788,7 @@ Class QStandardItem
QStandardItem (0xb3c87080) 0
vptr=((& QStandardItem::_ZTV13QStandardItem) + 8u)
-Class QList<QStandardItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QStandardItem*>::<anonymous union> (0xb3c87240) 0
-Class QList<QStandardItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QStandardItem*> (0xb3c871c0) 0
Vtable for QStandardItemModel
QStandardItemModel::_ZTV18QStandardItemModel: 42u entries
@@ -7926,25 +6916,9 @@ QDirModel (0xb3c87440) 0
QObject (0xb3c874c0) 0
primary-for QAbstractItemModel (0xb3c87480)
-Class QVector<QVector<QWidgetItemData> >::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> >::<anonymous union> (0xb3c87640) 0
-Class QVector<QVector<QWidgetItemData> >
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> > (0xb3c875c0) 0
-Class QList<QTreeWidgetItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::<anonymous union> (0xb3c87740) 0
-Class QList<QTreeWidgetItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*> (0xb3c876c0) 0
Vtable for QTreeWidgetItem
QTreeWidgetItem::_ZTV15QTreeWidgetItem: 10u entries
@@ -8540,15 +7514,7 @@ QActionGroup (0xb3c87780) 0
QObject (0xb3c879c0) 0
primary-for QActionGroup (0xb3c87780)
-Class QList<QAction*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QAction*>::<anonymous union> (0xb3c87fc0) 0
-Class QList<QAction*>
- size=4 align=4
- base size=4 base align=4
-QList<QAction*> (0xb3c87c80) 0
Vtable for QLayoutItem
QLayoutItem::_ZTV11QLayoutItem: 18u entries
@@ -9687,10 +8653,6 @@ QMdiArea (0xb382c1c0) 0
QPaintDevice (0xb382c300) 8
vptr=((& QMdiArea::_ZTV8QMdiArea) + 240u)
-Class QFlags<QMdiArea::AreaOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QMdiArea::AreaOption> (0xb382c380) 0
Vtable for QAbstractButton
QAbstractButton::_ZTV15QAbstractButton: 66u entries
@@ -10012,10 +8974,6 @@ QMdiSubWindow (0xb382c7c0) 0
QPaintDevice (0xb382c880) 8
vptr=((& QMdiSubWindow::_ZTV13QMdiSubWindow) + 232u)
-Class QFlags<QMdiSubWindow::SubWindowOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QMdiSubWindow::SubWindowOption> (0xb382c900) 0
Vtable for QCalendarWidget
QCalendarWidget::_ZTV15QCalendarWidget: 64u entries
@@ -10493,10 +9451,6 @@ QDialogButtonBox (0xb382c040) 0
QPaintDevice (0xb382c4c0) 8
vptr=((& QDialogButtonBox::_ZTV16QDialogButtonBox) + 232u)
-Class QFlags<QDialogButtonBox::StandardButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDialogButtonBox::StandardButton> (0xb382c640) 0
Vtable for QDockWidget
QDockWidget::_ZTV11QDockWidget: 63u entries
@@ -10576,10 +9530,6 @@ QDockWidget (0xb382c780) 0
QPaintDevice (0xb382cc00) 8
vptr=((& QDockWidget::_ZTV11QDockWidget) + 232u)
-Class QFlags<QDockWidget::DockWidgetFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDockWidget::DockWidgetFeature> (0xb382ce80) 0
Vtable for QScrollArea
QScrollArea::_ZTV11QScrollArea: 65u entries
@@ -10930,10 +9880,6 @@ QDateEdit (0xb37f5500) 0
QPaintDevice (0xb37f5640) 8
vptr=((& QDateEdit::_ZTV9QDateEdit) + 260u)
-Class QFlags<QDateTimeEdit::Section>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDateTimeEdit::Section> (0xb37f56c0) 0
Vtable for QFontComboBox
QFontComboBox::_ZTV13QFontComboBox: 65u entries
@@ -11017,10 +9963,6 @@ QFontComboBox (0xb37f5700) 0
QPaintDevice (0xb37f5800) 8
vptr=((& QFontComboBox::_ZTV13QFontComboBox) + 240u)
-Class QFlags<QFontComboBox::FontFilter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFontComboBox::FontFilter> (0xb37f5880) 0
Vtable for QToolBox
QToolBox::_ZTV8QToolBox: 65u entries
@@ -11275,10 +10217,6 @@ QTextEdit (0xb37f5b80) 0
QPaintDevice (0xb37f5cc0) 8
vptr=((& QTextEdit::_ZTV9QTextEdit) + 256u)
-Class QFlags<QTextEdit::AutoFormattingFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextEdit::AutoFormattingFlag> (0xb37f5dc0) 0
Vtable for QTextBrowser
QTextBrowser::_ZTV12QTextBrowser: 74u entries
@@ -12210,10 +11148,6 @@ QMainWindow (0xb352aa80) 0
QPaintDevice (0xb352ab40) 8
vptr=((& QMainWindow::_ZTV11QMainWindow) + 236u)
-Class QFlags<QMainWindow::DockOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QMainWindow::DockOption> (0xb352abc0) 0
Vtable for QDial
QDial::_ZTV5QDial: 64u entries
@@ -12786,20 +11720,8 @@ Class QGraphicsItem
QGraphicsItem (0xb347b700) 0
vptr=((& QGraphicsItem::_ZTV13QGraphicsItem) + 8u)
-Class QFlags<QGraphicsItem::GraphicsItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGraphicsItem::GraphicsItemFlag> (0xb347b800) 0
-Class QMetaTypeId<QGraphicsItem*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QGraphicsItem*> (0xb347b840) 0 empty
-Class QMetaTypeId<QGraphicsScene*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QGraphicsScene*> (0xb347b900) 0 empty
Vtable for QAbstractGraphicsShapeItem
QAbstractGraphicsShapeItem::_ZTV26QAbstractGraphicsShapeItem: 39u entries
@@ -13361,50 +12283,14 @@ Class QPainter
base size=4 base align=4
QPainter (0xb347b780) 0
-Class QFlags<QPainter::RenderHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPainter::RenderHint> (0xb347b740) 0
-Class QVector<QLineF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF>::<anonymous union> (0xb347bd40) 0
-Class QVector<QLineF>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF> (0xb347bb40) 0
-Class QVector<QLine>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine>::<anonymous union> (0xb33e0000) 0
-Class QVector<QLine>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine> (0xb347bf00) 0
-Class QVector<QRectF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF>::<anonymous union> (0xb33e0100) 0
-Class QVector<QRectF>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF> (0xb33e0080) 0
-Class QVector<QRect>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect>::<anonymous union> (0xb33e0200) 0
-Class QVector<QRect>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect> (0xb33e0180) 0
Vtable for QGraphicsScene
QGraphicsScene::_ZTV14QGraphicsScene: 34u entries
@@ -13451,20 +12337,8 @@ QGraphicsScene (0xb33e0240) 0
QObject (0xb33e0280) 0
primary-for QGraphicsScene (0xb33e0240)
-Class QFlags<QGraphicsScene::SceneLayer>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGraphicsScene::SceneLayer> (0xb33e0380) 0
-Class QList<QGraphicsItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QGraphicsItem*>::<anonymous union> (0xb33e0440) 0
-Class QList<QGraphicsItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QGraphicsItem*> (0xb33e03c0) 0
Vtable for QGraphicsView
QGraphicsView::_ZTV13QGraphicsView: 68u entries
@@ -13553,15 +12427,7 @@ QGraphicsView (0xb33e0480) 0
QPaintDevice (0xb33e05c0) 8
vptr=((& QGraphicsView::_ZTV13QGraphicsView) + 252u)
-Class QFlags<QGraphicsView::CacheModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGraphicsView::CacheModeFlag> (0xb33e0680) 0
-Class QFlags<QGraphicsView::OptimizationFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGraphicsView::OptimizationFlag> (0xb33e06c0) 0
Vtable for QGraphicsItemAnimation
QGraphicsItemAnimation::_ZTV22QGraphicsItemAnimation: 16u entries
@@ -13921,10 +12787,6 @@ QAbstractPrintDialog (0xb33e0c00) 0
QPaintDevice (0xb33e0d00) 8
vptr=((& QAbstractPrintDialog::_ZTV20QAbstractPrintDialog) + 248u)
-Class QFlags<QAbstractPrintDialog::PrintDialogOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractPrintDialog::PrintDialogOption> (0xb33e0dc0) 0
Vtable for QPrintDialog
QPrintDialog::_ZTV12QPrintDialog: 67u entries
@@ -14183,10 +13045,6 @@ QWizard (0xb33e0a40) 0
QPaintDevice (0xb319d000) 8
vptr=((& QWizard::_ZTV7QWizard) + 260u)
-Class QFlags<QWizard::WizardOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QWizard::WizardOption> (0xb319d080) 0
Vtable for QWizardPage
QWizardPage::_ZTV11QWizardPage: 68u entries
@@ -14354,10 +13212,6 @@ QFileDialog (0xb319d200) 0
QPaintDevice (0xb319d300) 8
vptr=((& QFileDialog::_ZTV11QFileDialog) + 244u)
-Class QFlags<QFileDialog::Option>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileDialog::Option> (0xb319d3c0) 0
Vtable for QFontDialog
QFontDialog::_ZTV11QFontDialog: 66u entries
@@ -14694,10 +13548,6 @@ QMessageBox (0xb319d8c0) 0
QPaintDevice (0xb319d9c0) 8
vptr=((& QMessageBox::_ZTV11QMessageBox) + 244u)
-Class QFlags<QMessageBox::StandardButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<QMessageBox::StandardButton> (0xb319da80) 0
Vtable for QColorDialog
QColorDialog::_ZTV12QColorDialog: 66u entries
@@ -15173,15 +14023,7 @@ Class QTextItem
base size=0 base align=1
QTextItem (0xb31053c0) 0 empty
-Class QTypeInfo<QTextItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextItem> (0xb3105400) 0 empty
-Class QFlags<QPaintEngine::PaintEngineFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::PaintEngineFeature> (0xb31054c0) 0
Vtable for QPaintEngine
QPaintEngine::_ZTV12QPaintEngine: 24u entries
@@ -15216,20 +14058,12 @@ Class QPaintEngine
QPaintEngine (0xb3105440) 0
vptr=((& QPaintEngine::_ZTV12QPaintEngine) + 8u)
-Class QFlags<QPaintEngine::DirtyFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::DirtyFlag> (0xb31055c0) 0
Class QPaintEngineState
size=4 align=4
base size=4 base align=4
QPaintEngineState (0xb3105540) 0
-Class QFlags<QTextItem::RenderFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextItem::RenderFlag> (0xb3105600) 0
Vtable for QInputContext
QInputContext::_ZTV13QInputContext: 26u entries
@@ -15526,188 +14360,40 @@ QGraphicsSvgItem (0xb2e8bf40) 0
QGraphicsItem (0xb2e8bfc0) 8
vptr=((& QGraphicsSvgItem::_ZTV16QGraphicsSvgItem) + 76u)
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0xb2e8bdc0) 0
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0xb2c5d000) 0
-Class QVectorTypedData<QPoint>
- size=24 align=4
- base size=24 base align=4
-QVectorTypedData<QPoint> (0xb2c5d080) 0
-Class QVectorTypedData<QPointF>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QPointF> (0xb2c5d100) 0
-Class QVectorTypedData<QPainterPath::Element>
- size=36 align=4
- base size=36 base align=4
-QVectorTypedData<QPainterPath::Element> (0xb2c5d180) 0
-Class QVectorTypedData<QTextLength>
- size=28 align=4
- base size=28 base align=4
-QVectorTypedData<QTextLength> (0xb2c5d300) 0
-Class QVectorTypedData<QTextLayout::FormatRange>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QTextLayout::FormatRange> (0xb2c5d380) 0
-Class QVectorTypedData<QAbstractTextDocumentLayout::Selection>
- size=28 align=4
- base size=28 base align=4
-QVectorTypedData<QAbstractTextDocumentLayout::Selection> (0xb2c5d400) 0
-Class QList<QTreeWidgetItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::Node (0xb2c5d600) 0
-Class QVectorTypedData<QVector<QWidgetItemData> >
- size=20 align=4
- base size=20 base align=4
-QVectorTypedData<QVector<QWidgetItemData> > (0xb2c5d680) 0
-Class QList<QAction*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QAction*>::Node (0xb2c5d700) 0
-Class QVectorTypedData<QLineF>
- size=48 align=4
- base size=48 base align=4
-QVectorTypedData<QLineF> (0xb2c5d880) 0
-Class QVectorTypedData<QLine>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QLine> (0xb2c5d900) 0
-Class QVectorTypedData<QRectF>
- size=48 align=4
- base size=48 base align=4
-QVectorTypedData<QRectF> (0xb2c5d980) 0
-Class QVectorTypedData<QRect>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QRect> (0xb2c5da00) 0
-Class QMetaTypeId2<QSet<QAccessible::Method> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSet<QAccessible::Method> > (0xb2c5dac0) 0 empty
-Class QHashNode<QAccessible::Method, QHashDummyValue>
- size=16 align=4
- base size=13 base align=4
-QHashNode<QAccessible::Method, QHashDummyValue> (0xb2c5db40) 0
-Class QTypeInfo<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLength> (0xb2c5dbc0) 0 empty
-Class QTypeInfo<QTextLayout::FormatRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLayout::FormatRange> (0xb2c5dc80) 0 empty
-Class QTypeInfo<QAbstractTextDocumentLayout::Selection>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAbstractTextDocumentLayout::Selection> (0xb2c5dd80) 0 empty
-Class QHashNode<QVariant::Type, QItemEditorCreatorBase*>
- size=16 align=4
- base size=16 base align=4
-QHashNode<QVariant::Type, QItemEditorCreatorBase*> (0xb2c5de40) 0
-Class QTypeInfo<QStandardItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QStandardItem*> (0xb2c5dec0) 0 empty
-Class QTypeInfo<QTreeWidgetItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTreeWidgetItem*> (0xb2c5df40) 0 empty
-Class QTypeInfo<QAction*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAction*> (0xb2c5dfc0) 0 empty
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0xb2c5d780) 0
-Class QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union> (0xb2c5d800) 0
-Class QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union> (0xb2c5db00) 0
-Class QList<QVariant>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::Node (0xb29e2000) 0
-Class QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union> (0xb29e20c0) 0
-Class QTypeInfo<QStyleOptionQ3ListViewItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QStyleOptionQ3ListViewItem> (0xb29e2180) 0 empty
-Class QList<QStyleOptionQ3ListViewItem>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::Node (0xb29e2200) 0
-Class QList<QItemSelectionRange>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::Node (0xb29e22c0) 0
-Class QList<QStandardItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QStandardItem*>::Node (0xb29e2380) 0
-Class QTypeInfo<QGraphicsItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QGraphicsItem*> (0xb29e2400) 0 empty
-Class QList<QGraphicsItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QGraphicsItem*>::Node (0xb29e2480) 0
-Class QHashDummyNode<QAccessible::Method, QHashDummyValue>
- size=12 align=4
- base size=12 base align=4
-QHashDummyNode<QAccessible::Method, QHashDummyValue> (0xb29e2640) 0
-Class QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union> (0xb29e26c0) 0
diff --git a/tests/auto/bic/data/QtSvg.4.4.0.linux-gcc-ia32.txt b/tests/auto/bic/data/QtSvg.4.4.0.linux-gcc-ia32.txt
index e2ee205..a802fc8 100644
--- a/tests/auto/bic/data/QtSvg.4.4.0.linux-gcc-ia32.txt
+++ b/tests/auto/bic/data/QtSvg.4.4.0.linux-gcc-ia32.txt
@@ -1,34 +1,8 @@
-Class QUintForSize<4>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<4> (0xb7858c30) 0 empty
-Class QUintForSize<8>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<8> (0xb7858c6c) 0 empty
-Class QUintForType<void*>
- size=1 align=1
- base size=1 base align=1
-QUintForType<void*> (0xb7c47c40) 0 empty
- QUintForSize<4> (0xb7858ce4) 0 empty
-Class QIntForSize<4>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<4> (0xb7858e10) 0 empty
-Class QIntForSize<8>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<8> (0xb7858e4c) 0 empty
-Class QIntForType<void*>
- size=1 align=1
- base size=1 base align=1
-QIntForType<void*> (0xb7c47e00) 0 empty
- QIntForSize<4> (0xb7858ec4) 0 empty
Class QSysInfo
size=1 align=1
@@ -50,80 +24,20 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0xb6a242d0) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0xb6a244b0) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0xb6a245a0) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0xb6a24690) 0 empty
-Class QTypeInfo<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned char> (0xb6a24780) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0xb6a24870) 0 empty
-Class QTypeInfo<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short unsigned int> (0xb6a24960) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0xb6a24a50) 0 empty
-Class QTypeInfo<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned int> (0xb6a24b40) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0xb6a24c30) 0 empty
-Class QTypeInfo<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long unsigned int> (0xb6a24d20) 0 empty
-Class QTypeInfo<long long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long int> (0xb6a24e10) 0 empty
-Class QTypeInfo<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long unsigned int> (0xb6a24f00) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0xb6a3f000) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0xb6a3f0f0) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0xb6a3f1e0) 0 empty
Class QFlag
size=4 align=4
@@ -140,10 +54,6 @@ Class QChar
base size=2 base align=2
QChar (0xb6a5b1e0) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0xb6a77e88) 0 empty
Class QBasicAtomicInt
size=4 align=4
@@ -176,75 +86,19 @@ Class QByteRef
base size=8 base align=4
QByteRef (0xb692ba50) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0xb696fb40) 0 empty
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0xb696fdd4) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0xb69bc708) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0xb69c803c) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0xb69c8960) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0xb69da294) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0xb69dabb8) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0xb69ed4ec) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0xb69ede10) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0xb6a01744) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0xb6a0f078) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0xb6a0f99c) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0xb68262d0) 0
-Class QFlags<Qt::TextInteractionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::TextInteractionFlag> (0xb6826bf4) 0
Class QInternal
size=1 align=1
@@ -266,10 +120,6 @@ Class QString
base size=4 base align=4
QString (0xb683c690) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0xb688a924) 0
Class QLatin1String
size=4 align=4
@@ -287,10 +137,6 @@ Class QConstString
QConstString (0xb67abc00) 0
QString (0xb67e7ce4) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0xb6803000) 0 empty
Class QStringRef
size=12 align=4
@@ -358,10 +204,6 @@ Class QListData
base size=4 base align=4
QListData (0xb6670690) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0xb6515960) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -386,15 +228,7 @@ Class QTextCodec
QTextCodec (0xb66e3ca8) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0xb65240b4) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0xb6524f78) 0
Class QTextEncoder
size=32 align=4
@@ -417,25 +251,13 @@ Class QGenericReturnArgument
QGenericReturnArgument (0xb6558100) 0
QGenericArgument (0xb65591e0) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0xb65596cc) 0
Class QMetaObject
size=16 align=4
base size=16 base align=4
QMetaObject (0xb65594ec) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0xb6569834) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0xb65697bc) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -527,10 +349,6 @@ QIODevice (0xb65a6f80) 0
QObject (0xb65ae834) 0
primary-for QIODevice (0xb65a6f80)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0xb65ceb40) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -550,25 +368,13 @@ Class QRegExp
base size=4 base align=4
QRegExp (0xb660da50) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0xb6442258) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0xb6442348) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0xb64428ac) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0xb6442834) 0
Class QStringList
size=4 align=4
@@ -576,15 +382,7 @@ Class QStringList
QStringList (0xb644c080) 0
QList<QString> (0xb64428e8) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0xb6471654) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0xb6471870) 0
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -664,10 +462,6 @@ Class QMutex
base size=4 base align=4
QMutex (0xb64a4b04) 0
-Class QMutexLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMutexLocker::<anonymous union> (0xb64b3690) 0
Class QMutexLocker
size=4 align=4
@@ -747,35 +541,11 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0xb637bfb4) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0xb637f078) 0 empty
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb621d000) 0
-Class <anonymous struct>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct>::<anonymous union> (0xb621d0f0) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb621d078) 0
-Class <anonymous struct>
- size=12 align=4
- base size=12 base align=4
-<anonymous struct> (0xb621d168) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb621d1e0) 0
Class _IO_marker
size=12 align=4
@@ -787,10 +557,6 @@ Class _IO_FILE
base size=148 base align=4
_IO_FILE (0xb621d258) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb621d2d0) 0
Vtable for QTextStream
QTextStream::_ZTV11QTextStream: 4u entries
@@ -805,10 +571,6 @@ Class QTextStream
QTextStream (0xb621d30c) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0xb6254a8c) 0
Class QTextStreamManipulator
size=24 align=4
@@ -845,40 +607,16 @@ QTextOStream (0xb627e1c0) 0
QTextStream (0xb62821e0) 0
primary-for QTextOStream (0xb627e1c0)
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0xb6282ca8) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0xb6282d20) 0
Class wait
size=4 align=4
base size=4 base align=4
wait (0xb6282c30) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6282d98) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6282e10) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb6282e88) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb6282f00) 0
Class timespec
size=8 align=4
@@ -890,80 +628,24 @@ Class timeval
base size=8 base align=4
timeval (0xb6282f78) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb62825a0) 0
-Class <anonymous union>
- size=36 align=4
- base size=36 base align=4
-<anonymous union> (0xb629c03c) 0
Class __pthread_internal_slist
size=4 align=4
base size=4 base align=4
__pthread_internal_slist (0xb629c078) 0
-Class <anonymous union>::__pthread_mutex_s::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union>::__pthread_mutex_s::<anonymous union> (0xb629c1a4) 0
-Class <anonymous union>::__pthread_mutex_s
- size=24 align=4
- base size=24 base align=4
-<anonymous union>::__pthread_mutex_s (0xb629c12c) 0
-Class <anonymous union>
- size=24 align=4
- base size=24 base align=4
-<anonymous union> (0xb629c0f0) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb629c21c) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0xb629c30c) 0
-Class <anonymous union>
- size=48 align=4
- base size=48 base align=4
-<anonymous union> (0xb629c294) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb629c384) 0
-Class <anonymous union>::<anonymous struct>
- size=32 align=4
- base size=32 base align=4
-<anonymous union>::<anonymous struct> (0xb629c474) 0
-Class <anonymous union>
- size=32 align=4
- base size=32 base align=4
-<anonymous union> (0xb629c3fc) 0
-Class <anonymous union>
- size=8 align=4
- base size=8 base align=4
-<anonymous union> (0xb629c528) 0
-Class <anonymous union>
- size=20 align=4
- base size=20 base align=4
-<anonymous union> (0xb629c5a0) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb629c618) 0
Class random_data
size=28 align=4
@@ -995,20 +677,8 @@ Class QtConcurrent::ResultItem
base size=8 base align=4
QtConcurrent::ResultItem (0xb61b03c0) 0
-Class QMap<int, QtConcurrent::ResultItem>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<int, QtConcurrent::ResultItem>::<anonymous union> (0xb61c8000) 0
-Class QMap<int, QtConcurrent::ResultItem>
- size=4 align=4
- base size=4 base align=4
-QMap<int, QtConcurrent::ResultItem> (0xb61b0fb4) 0
-Class QMap<int, QtConcurrent::ResultItem>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QMap<int, QtConcurrent::ResultItem>::const_iterator (0xb61c8348) 0
Class QtConcurrent::ResultIteratorBase
size=8 align=4
@@ -1028,10 +698,6 @@ Class QtConcurrent::ResultStoreBase
QtConcurrent::ResultStoreBase (0xb61c8474) 0
vptr=((& QtConcurrent::ResultStoreBase::_ZTVN12QtConcurrent15ResultStoreBaseE) + 8u)
-Class QMap<int, QtConcurrent::ResultItem>::iterator
- size=4 align=4
- base size=4 base align=4
-QMap<int, QtConcurrent::ResultItem>::iterator (0xb61c8b7c) 0
Vtable for QFutureInterfaceBase
QFutureInterfaceBase::_ZTV20QFutureInterfaceBase: 4u entries
@@ -1046,25 +712,8 @@ Class QFutureInterfaceBase
QFutureInterfaceBase (0xb61c8bf4) 0
vptr=((& QFutureInterfaceBase::_ZTV20QFutureInterfaceBase) + 8u)
-Vtable for QFutureInterface<void>
-QFutureInterface<void>::_ZTV16QFutureInterfaceIvE: 4u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI16QFutureInterfaceIvE)
-8 QFutureInterface<void>::~QFutureInterface
-12 QFutureInterface<void>::~QFutureInterface
-Class QFutureInterface<void>
- size=8 align=4
- base size=8 base align=4
-QFutureInterface<void> (0xb6009880) 0
- vptr=((& QFutureInterface<void>::_ZTV16QFutureInterfaceIvE) + 8u)
- QFutureInterfaceBase (0xb62046cc) 0
- primary-for QFutureInterface<void> (0xb6009880)
-Class QFuture<void>
- size=8 align=4
- base size=8 base align=4
-QFuture<void> (0xb6032e4c) 0
Vtable for QFutureWatcherBase
QFutureWatcherBase::_ZTV18QFutureWatcherBase: 16u entries
@@ -1093,34 +742,7 @@ QFutureWatcherBase (0xb60607c0) 0
QObject (0xb60644ec) 0
primary-for QFutureWatcherBase (0xb60607c0)
-Vtable for QFutureWatcher<void>
-QFutureWatcher<void>::_ZTV14QFutureWatcherIvE: 16u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI14QFutureWatcherIvE)
-8 QFutureWatcherBase::metaObject
-12 QFutureWatcherBase::qt_metacast
-16 QFutureWatcherBase::qt_metacall
-20 QFutureWatcher<void>::~QFutureWatcher
-24 QFutureWatcher<void>::~QFutureWatcher
-28 QFutureWatcherBase::event
-32 QObject::eventFilter
-36 QObject::timerEvent
-40 QObject::childEvent
-44 QObject::customEvent
-48 QFutureWatcherBase::connectNotify
-52 QFutureWatcherBase::disconnectNotify
-56 QFutureWatcher<void>::futureInterface
-60 QFutureWatcher<void>::futureInterface
-Class QFutureWatcher<void>
- size=16 align=4
- base size=16 base align=4
-QFutureWatcher<void> (0xb6060ec0) 0
- vptr=((& QFutureWatcher<void>::_ZTV14QFutureWatcherIvE) + 8u)
- QFutureWatcherBase (0xb6060f00) 0
- primary-for QFutureWatcher<void> (0xb6060ec0)
- QObject (0xb607d000) 0
- primary-for QFutureWatcherBase (0xb6060f00)
Vtable for QRunnable
QRunnable::_ZTV9QRunnable: 5u entries
@@ -1219,60 +841,14 @@ QtConcurrent::ThreadEngineBase (0xb60b73c0) 0
QRunnable (0xb60c3000) 0
primary-for QtConcurrent::ThreadEngineBase (0xb60b73c0)
-Class QtConcurrent::ThreadEngineStarterBase<void>
- size=4 align=4
- base size=4 base align=4
-QtConcurrent::ThreadEngineStarterBase<void> (0xb60c37f8) 0
-Class QtConcurrent::ThreadEngineStarter<void>
- size=4 align=4
- base size=4 base align=4
-QtConcurrent::ThreadEngineStarter<void> (0xb60b7d40) 0
- QtConcurrent::ThreadEngineStarterBase<void> (0xb60c3870) 0
-Vtable for QtConcurrent::ThreadEngine<void>
-QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE: 26u entries
-0 4u
-4 (int (*)(...))0
-8 (int (*)(...))(& _ZTIN12QtConcurrent12ThreadEngineIvEE)
-12 QtConcurrent::ThreadEngine<T>::result [with T = void]
-16 QtConcurrent::ThreadEngine<T>::asynchronousFinish [with T = void]
-20 QtConcurrent::ThreadEngine<void>::~ThreadEngine
-24 QtConcurrent::ThreadEngine<void>::~ThreadEngine
-28 -4u
-32 0u
-36 0u
-40 0u
-44 0u
-48 0u
-52 -4u
-56 0u
-60 (int (*)(...))-0x000000004
-64 (int (*)(...))(& _ZTIN12QtConcurrent12ThreadEngineIvEE)
-68 QtConcurrent::ThreadEngineBase::run
-72 QtConcurrent::ThreadEngine<void>::_ZTv0_n16_N12QtConcurrent12ThreadEngineIvED1Ev
-76 QtConcurrent::ThreadEngine<void>::_ZTv0_n16_N12QtConcurrent12ThreadEngineIvED0Ev
-80 QtConcurrent::ThreadEngineBase::start
-84 QtConcurrent::ThreadEngineBase::finish
-88 QtConcurrent::ThreadEngineBase::threadFunction
-92 QtConcurrent::ThreadEngineBase::shouldStartThread
-96 QtConcurrent::ThreadEngineBase::shouldThrottleThread
-100 QtConcurrent::ThreadEngine<void>::_ZTv0_n40_N12QtConcurrent12ThreadEngineIvE18asynchronousFinishEv
VTT for QtConcurrent::ThreadEngine<void>
QtConcurrent::ThreadEngine<void>::_ZTTN12QtConcurrent12ThreadEngineIvEE: 2u entries
0 ((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 12u)
4 ((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 68u)
-Class QtConcurrent::ThreadEngine<void>
- size=36 align=4
- base size=4 base align=4
-QtConcurrent::ThreadEngine<void> (0xb60b7f00) 0 nearly-empty
- vptridx=0u vptr=((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 12u)
- QtConcurrent::ThreadEngineBase (0xb60b7f40) 4 virtual
- vptridx=4u vbaseoffset=-0x00000000c vptr=((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 68u)
- QRunnable (0xb60c3d20) 4
- primary-for QtConcurrent::ThreadEngineBase (0xb60b7f40)
Class std::input_iterator_tag
size=1 align=1
@@ -1315,225 +891,49 @@ Class std::__false_type
base size=0 base align=1
std::__false_type (0xb60dc6cc) 0 empty
-Class std::__truth_type<true>
- size=1 align=1
- base size=0 base align=1
-std::__truth_type<true> (0xb60dc744) 0 empty
-Class std::__is_void<void>
- size=1 align=1
- base size=0 base align=1
-std::__is_void<void> (0xb60dc960) 0 empty
-Class std::__is_integer<bool>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<bool> (0xb60dca50) 0 empty
-Class std::__is_integer<char>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<char> (0xb60dcac8) 0 empty
-Class std::__is_integer<signed char>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<signed char> (0xb60dcb40) 0 empty
-Class std::__is_integer<unsigned char>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<unsigned char> (0xb60dcbb8) 0 empty
-Class std::__is_integer<wchar_t>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<wchar_t> (0xb60dcc30) 0 empty
-Class std::__is_integer<short int>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<short int> (0xb60dcca8) 0 empty
-Class std::__is_integer<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<short unsigned int> (0xb60dcd20) 0 empty
-Class std::__is_integer<int>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<int> (0xb60dcd98) 0 empty
-Class std::__is_integer<unsigned int>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<unsigned int> (0xb60dce10) 0 empty
-Class std::__is_integer<long int>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<long int> (0xb60dce88) 0 empty
-Class std::__is_integer<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<long unsigned int> (0xb60dcf00) 0 empty
-Class std::__is_integer<long long int>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<long long int> (0xb60dcf78) 0 empty
-Class std::__is_integer<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<long long unsigned int> (0xb60fb000) 0 empty
-Class std::__is_floating<float>
- size=1 align=1
- base size=0 base align=1
-std::__is_floating<float> (0xb60fb0f0) 0 empty
-Class std::__is_floating<double>
- size=1 align=1
- base size=0 base align=1
-std::__is_floating<double> (0xb60fb168) 0 empty
-Class std::__is_floating<long double>
- size=1 align=1
- base size=0 base align=1
-std::__is_floating<long double> (0xb60fb1e0) 0 empty
-Class std::__is_char<char>
- size=1 align=1
- base size=0 base align=1
-std::__is_char<char> (0xb60fb564) 0 empty
-Class std::__is_char<wchar_t>
- size=1 align=1
- base size=0 base align=1
-std::__is_char<wchar_t> (0xb60fb5dc) 0 empty
-Class std::__is_byte<char>
- size=1 align=1
- base size=0 base align=1
-std::__is_byte<char> (0xb60fb6cc) 0 empty
-Class std::__is_byte<signed char>
- size=1 align=1
- base size=0 base align=1
-std::__is_byte<signed char> (0xb60fb744) 0 empty
-Class std::__is_byte<unsigned char>
- size=1 align=1
- base size=0 base align=1
-std::__is_byte<unsigned char> (0xb60fb7bc) 0 empty
-Class __gnu_cxx::__add_unsigned<char>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__add_unsigned<char> (0xb60fb9d8) 0 empty
-Class __gnu_cxx::__add_unsigned<signed char>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__add_unsigned<signed char> (0xb60fba14) 0 empty
-Class __gnu_cxx::__add_unsigned<short int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__add_unsigned<short int> (0xb60fba50) 0 empty
-Class __gnu_cxx::__add_unsigned<int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__add_unsigned<int> (0xb60fba8c) 0 empty
-Class __gnu_cxx::__add_unsigned<long int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__add_unsigned<long int> (0xb60fbac8) 0 empty
-Class __gnu_cxx::__add_unsigned<long long int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__add_unsigned<long long int> (0xb60fbb04) 0 empty
-Class __gnu_cxx::__remove_unsigned<char>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__remove_unsigned<char> (0xb60fbb7c) 0 empty
-Class __gnu_cxx::__remove_unsigned<unsigned char>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__remove_unsigned<unsigned char> (0xb60fbbb8) 0 empty
-Class __gnu_cxx::__remove_unsigned<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__remove_unsigned<short unsigned int> (0xb60fbbf4) 0 empty
-Class __gnu_cxx::__remove_unsigned<unsigned int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__remove_unsigned<unsigned int> (0xb60fbc30) 0 empty
-Class __gnu_cxx::__remove_unsigned<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__remove_unsigned<long unsigned int> (0xb60fbc6c) 0 empty
-Class __gnu_cxx::__remove_unsigned<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__remove_unsigned<long long unsigned int> (0xb60fbca8) 0 empty
-Class std::iterator<std::output_iterator_tag, void, void, void, void>
- size=1 align=1
- base size=0 base align=1
-std::iterator<std::output_iterator_tag, void, void, void, void> (0xb5f1c690) 0 empty
-Class std::__iter_swap<true>
- size=1 align=1
- base size=0 base align=1
-std::__iter_swap<true> (0xb5f40c6c) 0 empty
-Class std::__copy_move<false, false, std::random_access_iterator_tag>
- size=1 align=1
- base size=0 base align=1
-std::__copy_move<false, false, std::random_access_iterator_tag> (0xb5f930b4) 0 empty
-Class std::__copy_move_backward<false, false, std::random_access_iterator_tag>
- size=1 align=1
- base size=0 base align=1
-std::__copy_move_backward<false, false, std::random_access_iterator_tag> (0xb5f932d0) 0 empty
-Class std::__equal<true>
- size=1 align=1
- base size=0 base align=1
-std::__equal<true> (0xb5f936cc) 0 empty
-Class std::__lc_rai<std::random_access_iterator_tag, std::random_access_iterator_tag>
- size=1 align=1
- base size=0 base align=1
-std::__lc_rai<std::random_access_iterator_tag, std::random_access_iterator_tag> (0xb5f93834) 0 empty
-Class std::__lexicographical_compare<true>
- size=1 align=1
- base size=0 base align=1
-std::__lexicographical_compare<true> (0xb5f9399c) 0 empty
-Class std::char_traits<char>
- size=1 align=1
- base size=0 base align=1
-std::char_traits<char> (0xb5fd6078) 0 empty
-Class std::char_traits<wchar_t>
- size=1 align=1
- base size=0 base align=1
-std::char_traits<wchar_t> (0xb5fdaac8) 0 empty
Class lconv
size=56 align=4
@@ -1550,10 +950,6 @@ Class __sched_param
base size=4 base align=4
__sched_param (0xb5fe9690) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb5fe9708) 0
Class tm
size=44 align=4
@@ -1570,15 +966,7 @@ Class _pthread_cleanup_buffer
base size=16 base align=4
_pthread_cleanup_buffer (0xb5fe99d8) 0
-Class <anonymous struct>::<anonymous struct>
- size=28 align=4
- base size=28 base align=4
-<anonymous struct>::<anonymous struct> (0xb5fe9b40) 0
-Class <anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous struct> (0xb5fe9ac8) 0
Class __pthread_cleanup_frame
size=16 align=4
@@ -1590,32 +978,10 @@ Class __pthread_cleanup_class
base size=16 base align=4
__pthread_cleanup_class (0xb5fe9bb8) 0
-Class std::allocator<void>
- size=1 align=1
- base size=0 base align=1
-std::allocator<void> (0xb5e7a0f0) 0 empty
-Class __gnu_cxx::new_allocator<char>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::new_allocator<char> (0xb5e7a3c0) 0 empty
-Class std::allocator<char>
- size=1 align=1
- base size=1 base align=1
-std::allocator<char> (0xb5e788c0) 0 empty
- __gnu_cxx::new_allocator<char> (0xb5e7a3fc) 0 empty
-Class __gnu_cxx::new_allocator<wchar_t>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::new_allocator<wchar_t> (0xb5e7a438) 0 empty
-Class std::allocator<wchar_t>
- size=1 align=1
- base size=1 base align=1
-std::allocator<wchar_t> (0xb5e78980) 0 empty
- __gnu_cxx::new_allocator<wchar_t> (0xb5e7a474) 0 empty
Vtable for __cxxabiv1::__forced_unwind
__cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE: 5u entries
@@ -1631,82 +997,19 @@ Class __cxxabiv1::__forced_unwind
__cxxabiv1::__forced_unwind (0xb5e7a690) 0 nearly-empty
vptr=((& __cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE) + 8u)
-Class __gnu_cxx::__conditional_type<true, __gnu_cxx::__numeric_traits_integer<int>, __gnu_cxx::__numeric_traits_floating<int> >
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__conditional_type<true, __gnu_cxx::__numeric_traits_integer<int>, __gnu_cxx::__numeric_traits_floating<int> > (0xb5ed9f78) 0 empty
-Class __gnu_cxx::__numeric_traits_integer<int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__numeric_traits_integer<int> (0xb5ed9fb4) 0 empty
-Class __gnu_cxx::__numeric_traits<int>
- size=1 align=1
- base size=1 base align=1
-__gnu_cxx::__numeric_traits<int> (0xb5d1fc40) 0 empty
- __gnu_cxx::__numeric_traits_integer<int> (0xb5ed9f3c) 0 empty
-Class std::allocator<char>::rebind<char>
- size=1 align=1
- base size=0 base align=1
-std::allocator<char>::rebind<char> (0xb5d6dc6c) 0 empty
-Class std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Alloc_hider
- size=4 align=4
- base size=4 base align=4
-std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Alloc_hider (0xb5db8200) 0
- std::allocator<char> (0xb5db8240) 0 empty
- __gnu_cxx::new_allocator<char> (0xb5d6dce4) 0 empty
-Class std::basic_string<char, std::char_traits<char>, std::allocator<char> >
- size=4 align=4
- base size=4 base align=4
-std::basic_string<char, std::char_traits<char>, std::allocator<char> > (0xb5d6dbf4) 0
-Class std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep_base
- size=12 align=4
- base size=12 base align=4
-std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep_base (0xb5d6dd20) 0
-Class std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep
- size=12 align=4
- base size=12 base align=4
-std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep (0xb5db83c0) 0
- std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep_base (0xb5d6dd5c) 0
-Class std::allocator<wchar_t>::rebind<wchar_t>
- size=1 align=1
- base size=0 base align=1
-std::allocator<wchar_t>::rebind<wchar_t> (0xb5d6de10) 0 empty
-Class std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Alloc_hider
- size=4 align=4
- base size=4 base align=4
-std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Alloc_hider (0xb5db85c0) 0
- std::allocator<wchar_t> (0xb5db8600) 0 empty
- __gnu_cxx::new_allocator<wchar_t> (0xb5d6de88) 0 empty
-Class std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >
- size=4 align=4
- base size=4 base align=4
-std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > (0xb5d6dd98) 0
-Class std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Rep_base
- size=12 align=4
- base size=12 base align=4
-std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Rep_base (0xb5d6dec4) 0
-Class std::allocator<wchar_t>::rebind<char>
- size=1 align=1
- base size=0 base align=1
-std::allocator<wchar_t>::rebind<char> (0xb5d6df78) 0 empty
-Class std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Rep
- size=12 align=4
- base size=12 base align=4
-std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Rep (0xb5db8780) 0
- std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Rep_base (0xb5d6df00) 0
Class std::locale
size=4 align=4
@@ -1736,97 +1039,16 @@ Class std::locale::_Impl
base size=20 base align=4
std::locale::_Impl (0xb5c5f12c) 0
-Vtable for std::collate<char>
-std::collate<char>::_ZTVSt7collateIcE: 7u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt7collateIcE)
-8 std::collate<_CharT>::~collate [with _CharT = char]
-12 std::collate<_CharT>::~collate [with _CharT = char]
-16 std::collate<_CharT>::do_compare [with _CharT = char]
-20 std::collate<_CharT>::do_transform [with _CharT = char]
-24 std::collate<_CharT>::do_hash [with _CharT = char]
-Class std::collate<char>
- size=12 align=4
- base size=12 base align=4
-std::collate<char> (0xb5c67740) 0
- vptr=((& std::collate<char>::_ZTVSt7collateIcE) + 8u)
- std::locale::facet (0xb5c66ac8) 0
- primary-for std::collate<char> (0xb5c67740)
-
-Vtable for std::collate<wchar_t>
-std::collate<wchar_t>::_ZTVSt7collateIwE: 7u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt7collateIwE)
-8 std::collate<_CharT>::~collate [with _CharT = wchar_t]
-12 std::collate<_CharT>::~collate [with _CharT = wchar_t]
-16 std::collate<_CharT>::do_compare [with _CharT = wchar_t]
-20 std::collate<_CharT>::do_transform [with _CharT = wchar_t]
-24 std::collate<_CharT>::do_hash [with _CharT = wchar_t]
-
-Class std::collate<wchar_t>
- size=12 align=4
- base size=12 base align=4
-std::collate<wchar_t> (0xb5c67840) 0
- vptr=((& std::collate<wchar_t>::_ZTVSt7collateIwE) + 8u)
- std::locale::facet (0xb5c66bb8) 0
- primary-for std::collate<wchar_t> (0xb5c67840)
-Class __gnu_cxx::__conditional_type<true, __gnu_cxx::__numeric_traits_integer<long unsigned int>, __gnu_cxx::__numeric_traits_floating<long unsigned int> >
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__conditional_type<true, __gnu_cxx::__numeric_traits_integer<long unsigned int>, __gnu_cxx::__numeric_traits_floating<long unsigned int> > (0xb5c66b7c) 0 empty
-Class __gnu_cxx::__numeric_traits_integer<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__numeric_traits_integer<long unsigned int> (0xb5c66c6c) 0 empty
-Class __gnu_cxx::__numeric_traits<long unsigned int>
- size=1 align=1
- base size=1 base align=1
-__gnu_cxx::__numeric_traits<long unsigned int> (0xb5c8a7c0) 0 empty
- __gnu_cxx::__numeric_traits_integer<long unsigned int> (0xb5c92000) 0 empty
-Vtable for std::collate_byname<char>
-std::collate_byname<char>::_ZTVSt14collate_bynameIcE: 7u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt14collate_bynameIcE)
-8 std::collate_byname<_CharT>::~collate_byname [with _CharT = char]
-12 std::collate_byname<_CharT>::~collate_byname [with _CharT = char]
-16 std::collate<_CharT>::do_compare [with _CharT = char]
-20 std::collate<_CharT>::do_transform [with _CharT = char]
-24 std::collate<_CharT>::do_hash [with _CharT = char]
-Class std::collate_byname<char>
- size=12 align=4
- base size=12 base align=4
-std::collate_byname<char> (0xb5c8a900) 0
- vptr=((& std::collate_byname<char>::_ZTVSt14collate_bynameIcE) + 8u)
- std::collate<char> (0xb5c8a940) 0
- primary-for std::collate_byname<char> (0xb5c8a900)
- std::locale::facet (0xb5c92078) 0
- primary-for std::collate<char> (0xb5c8a940)
-
-Vtable for std::collate_byname<wchar_t>
-std::collate_byname<wchar_t>::_ZTVSt14collate_bynameIwE: 7u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt14collate_bynameIwE)
-8 std::collate_byname<_CharT>::~collate_byname [with _CharT = wchar_t]
-12 std::collate_byname<_CharT>::~collate_byname [with _CharT = wchar_t]
-16 std::collate<_CharT>::do_compare [with _CharT = wchar_t]
-20 std::collate<_CharT>::do_transform [with _CharT = wchar_t]
-24 std::collate<_CharT>::do_hash [with _CharT = wchar_t]
-
-Class std::collate_byname<wchar_t>
- size=12 align=4
- base size=12 base align=4
-std::collate_byname<wchar_t> (0xb5c8a9c0) 0
- vptr=((& std::collate_byname<wchar_t>::_ZTVSt14collate_bynameIwE) + 8u)
- std::collate<wchar_t> (0xb5c8aa00) 0
- primary-for std::collate_byname<wchar_t> (0xb5c8a9c0)
- std::locale::facet (0xb5c92168) 0
- primary-for std::collate<wchar_t> (0xb5c8aa00)
+
+
+
+
Vtable for std::ios_base::failure
std::ios_base::failure::_ZTVNSt8ios_base7failureE: 5u entries
@@ -1872,583 +1094,85 @@ Class std::ios_base
std::ios_base (0xb5c9221c) 0
vptr=((& std::ios_base::_ZTVSt8ios_base) + 8u)
-Vtable for std::basic_streambuf<char, std::char_traits<char> >
-std::basic_streambuf<char, std::char_traits<char> >::_ZTVSt15basic_streambufIcSt11char_traitsIcEE: 16u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt15basic_streambufIcSt11char_traitsIcEE)
-8 std::basic_streambuf<_CharT, _Traits>::~basic_streambuf [with _CharT = char, _Traits = std::char_traits<char>]
-12 std::basic_streambuf<_CharT, _Traits>::~basic_streambuf [with _CharT = char, _Traits = std::char_traits<char>]
-16 std::basic_streambuf<_CharT, _Traits>::imbue [with _CharT = char, _Traits = std::char_traits<char>]
-20 std::basic_streambuf<_CharT, _Traits>::setbuf [with _CharT = char, _Traits = std::char_traits<char>]
-24 std::basic_streambuf<_CharT, _Traits>::seekoff [with _CharT = char, _Traits = std::char_traits<char>]
-28 std::basic_streambuf<_CharT, _Traits>::seekpos [with _CharT = char, _Traits = std::char_traits<char>]
-32 std::basic_streambuf<_CharT, _Traits>::sync [with _CharT = char, _Traits = std::char_traits<char>]
-36 std::basic_streambuf<_CharT, _Traits>::showmanyc [with _CharT = char, _Traits = std::char_traits<char>]
-40 std::basic_streambuf<_CharT, _Traits>::xsgetn [with _CharT = char, _Traits = std::char_traits<char>]
-44 std::basic_streambuf<_CharT, _Traits>::underflow [with _CharT = char, _Traits = std::char_traits<char>]
-48 std::basic_streambuf<_CharT, _Traits>::uflow [with _CharT = char, _Traits = std::char_traits<char>]
-52 std::basic_streambuf<_CharT, _Traits>::pbackfail [with _CharT = char, _Traits = std::char_traits<char>]
-56 std::basic_streambuf<_CharT, _Traits>::xsputn [with _CharT = char, _Traits = std::char_traits<char>]
-60 std::basic_streambuf<_CharT, _Traits>::overflow [with _CharT = char, _Traits = std::char_traits<char>]
-
-Class std::basic_streambuf<char, std::char_traits<char> >
- size=32 align=4
- base size=32 base align=4
-std::basic_streambuf<char, std::char_traits<char> > (0xb5ce9654) 0
- vptr=((& std::basic_streambuf<char, std::char_traits<char> >::_ZTVSt15basic_streambufIcSt11char_traitsIcEE) + 8u)
-
-Vtable for std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >
-std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >::_ZTVSt15basic_streambufIwSt11char_traitsIwEE: 16u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt15basic_streambufIwSt11char_traitsIwEE)
-8 std::basic_streambuf<_CharT, _Traits>::~basic_streambuf [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-12 std::basic_streambuf<_CharT, _Traits>::~basic_streambuf [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-16 std::basic_streambuf<_CharT, _Traits>::imbue [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-20 std::basic_streambuf<_CharT, _Traits>::setbuf [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-24 std::basic_streambuf<_CharT, _Traits>::seekoff [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-28 std::basic_streambuf<_CharT, _Traits>::seekpos [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-32 std::basic_streambuf<_CharT, _Traits>::sync [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-36 std::basic_streambuf<_CharT, _Traits>::showmanyc [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-40 std::basic_streambuf<_CharT, _Traits>::xsgetn [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-44 std::basic_streambuf<_CharT, _Traits>::underflow [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-48 std::basic_streambuf<_CharT, _Traits>::uflow [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-52 std::basic_streambuf<_CharT, _Traits>::pbackfail [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-56 std::basic_streambuf<_CharT, _Traits>::xsputn [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-60 std::basic_streambuf<_CharT, _Traits>::overflow [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-
-Class std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >
- size=32 align=4
- base size=32 base align=4
-std::basic_streambuf<wchar_t, std::char_traits<wchar_t> > (0xb5ce98e8) 0
- vptr=((& std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >::_ZTVSt15basic_streambufIwSt11char_traitsIwEE) + 8u)
+
+
+
Class std::ctype_base
size=1 align=1
base size=0 base align=1
std::ctype_base (0xb5ce9b7c) 0 empty
-Vtable for std::ctype<char>
-std::ctype<char>::_ZTVSt5ctypeIcE: 12u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt5ctypeIcE)
-8 std::ctype<char>::~ctype
-12 std::ctype<char>::~ctype
-16 std::ctype<char>::do_toupper
-20 std::ctype<char>::do_toupper
-24 std::ctype<char>::do_tolower
-28 std::ctype<char>::do_tolower
-32 std::ctype<char>::do_widen
-36 std::ctype<char>::do_widen
-40 std::ctype<char>::do_narrow
-44 std::ctype<char>::do_narrow
-
-Class std::ctype<char>
- size=544 align=4
- base size=542 base align=4
-std::ctype<char> (0xb5b574b0) 0
- vptr=((& std::ctype<char>::_ZTVSt5ctypeIcE) + 8u)
- std::locale::facet (0xb5b31ac8) 0
- primary-for std::ctype<char> (0xb5b574b0)
- std::ctype_base (0xb5b31b04) 0 empty
-
-Vtable for std::__ctype_abstract_base<wchar_t>
-std::__ctype_abstract_base<wchar_t>::_ZTVSt21__ctype_abstract_baseIwE: 16u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt21__ctype_abstract_baseIwE)
-8 std::__ctype_abstract_base<_CharT>::~__ctype_abstract_base [with _CharT = wchar_t]
-12 std::__ctype_abstract_base<_CharT>::~__ctype_abstract_base [with _CharT = wchar_t]
-16 __cxa_pure_virtual
-20 __cxa_pure_virtual
-24 __cxa_pure_virtual
-28 __cxa_pure_virtual
-32 __cxa_pure_virtual
-36 __cxa_pure_virtual
-40 __cxa_pure_virtual
-44 __cxa_pure_virtual
-48 __cxa_pure_virtual
-52 __cxa_pure_virtual
-56 __cxa_pure_virtual
-60 __cxa_pure_virtual
-Class std::__ctype_abstract_base<wchar_t>
- size=8 align=4
- base size=8 base align=4
-std::__ctype_abstract_base<wchar_t> (0xb5b60d70) 0
- vptr=((& std::__ctype_abstract_base<wchar_t>::_ZTVSt21__ctype_abstract_baseIwE) + 8u)
- std::locale::facet (0xb5b71690) 0
- primary-for std::__ctype_abstract_base<wchar_t> (0xb5b60d70)
- std::ctype_base (0xb5b716cc) 0 empty
-
-Vtable for std::ctype<wchar_t>
-std::ctype<wchar_t>::_ZTVSt5ctypeIwE: 16u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt5ctypeIwE)
-8 std::ctype<wchar_t>::~ctype
-12 std::ctype<wchar_t>::~ctype
-16 std::ctype<wchar_t>::do_is
-20 std::ctype<wchar_t>::do_is
-24 std::ctype<wchar_t>::do_scan_is
-28 std::ctype<wchar_t>::do_scan_not
-32 std::ctype<wchar_t>::do_toupper
-36 std::ctype<wchar_t>::do_toupper
-40 std::ctype<wchar_t>::do_tolower
-44 std::ctype<wchar_t>::do_tolower
-48 std::ctype<wchar_t>::do_widen
-52 std::ctype<wchar_t>::do_widen
-56 std::ctype<wchar_t>::do_narrow
-60 std::ctype<wchar_t>::do_narrow
-
-Class std::ctype<wchar_t>
- size=1264 align=4
- base size=1264 base align=4
-std::ctype<wchar_t> (0xb5b61900) 0
- vptr=((& std::ctype<wchar_t>::_ZTVSt5ctypeIwE) + 8u)
- std::__ctype_abstract_base<wchar_t> (0xb5b7abe0) 0
- primary-for std::ctype<wchar_t> (0xb5b61900)
- std::locale::facet (0xb5b717bc) 0
- primary-for std::__ctype_abstract_base<wchar_t> (0xb5b7abe0)
- std::ctype_base (0xb5b717f8) 0 empty
-
-Vtable for std::ctype_byname<char>
-std::ctype_byname<char>::_ZTVSt12ctype_bynameIcE: 12u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt12ctype_bynameIcE)
-8 std::ctype_byname<char>::~ctype_byname
-12 std::ctype_byname<char>::~ctype_byname
-16 std::ctype<char>::do_toupper
-20 std::ctype<char>::do_toupper
-24 std::ctype<char>::do_tolower
-28 std::ctype<char>::do_tolower
-32 std::ctype<char>::do_widen
-36 std::ctype<char>::do_widen
-40 std::ctype<char>::do_narrow
-44 std::ctype<char>::do_narrow
-
-Class std::ctype_byname<char>
- size=544 align=4
- base size=542 base align=4
-std::ctype_byname<char> (0xb5b61ac0) 0
- vptr=((& std::ctype_byname<char>::_ZTVSt12ctype_bynameIcE) + 8u)
- std::ctype<char> (0xb5b83370) 0
- primary-for std::ctype_byname<char> (0xb5b61ac0)
- std::locale::facet (0xb5b81b04) 0
- primary-for std::ctype<char> (0xb5b83370)
- std::ctype_base (0xb5b81b40) 0 empty
-
-Vtable for std::ctype_byname<wchar_t>
-std::ctype_byname<wchar_t>::_ZTVSt12ctype_bynameIwE: 16u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt12ctype_bynameIwE)
-8 std::ctype_byname<wchar_t>::~ctype_byname
-12 std::ctype_byname<wchar_t>::~ctype_byname
-16 std::ctype<wchar_t>::do_is
-20 std::ctype<wchar_t>::do_is
-24 std::ctype<wchar_t>::do_scan_is
-28 std::ctype<wchar_t>::do_scan_not
-32 std::ctype<wchar_t>::do_toupper
-36 std::ctype<wchar_t>::do_toupper
-40 std::ctype<wchar_t>::do_tolower
-44 std::ctype<wchar_t>::do_tolower
-48 std::ctype<wchar_t>::do_widen
-52 std::ctype<wchar_t>::do_widen
-56 std::ctype<wchar_t>::do_narrow
-60 std::ctype<wchar_t>::do_narrow
-
-Class std::ctype_byname<wchar_t>
- size=1264 align=4
- base size=1264 base align=4
-std::ctype_byname<wchar_t> (0xb5b61b40) 0
- vptr=((& std::ctype_byname<wchar_t>::_ZTVSt12ctype_bynameIwE) + 8u)
- std::ctype<wchar_t> (0xb5b61b80) 0
- primary-for std::ctype_byname<wchar_t> (0xb5b61b40)
- std::__ctype_abstract_base<wchar_t> (0xb5b83a00) 0
- primary-for std::ctype<wchar_t> (0xb5b61b80)
- std::locale::facet (0xb5b81ca8) 0
- primary-for std::__ctype_abstract_base<wchar_t> (0xb5b83a00)
- std::ctype_base (0xb5b81ce4) 0 empty
+
+
+
+
+
+
+
+
Class std::__num_base
size=1 align=1
base size=0 base align=1
std::__num_base (0xb5b8b654) 0 empty
-Vtable for std::numpunct<char>
-std::numpunct<char>::_ZTVSt8numpunctIcE: 9u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt8numpunctIcE)
-8 std::numpunct<_CharT>::~numpunct [with _CharT = char]
-12 std::numpunct<_CharT>::~numpunct [with _CharT = char]
-16 std::numpunct<_CharT>::do_decimal_point [with _CharT = char]
-20 std::numpunct<_CharT>::do_thousands_sep [with _CharT = char]
-24 std::numpunct<_CharT>::do_grouping [with _CharT = char]
-28 std::numpunct<_CharT>::do_truename [with _CharT = char]
-32 std::numpunct<_CharT>::do_falsename [with _CharT = char]
-Class std::numpunct<char>
- size=12 align=4
- base size=12 base align=4
-std::numpunct<char> (0xb5b95580) 0
- vptr=((& std::numpunct<char>::_ZTVSt8numpunctIcE) + 8u)
- std::locale::facet (0xb5b8bec4) 0
- primary-for std::numpunct<char> (0xb5b95580)
-
-Vtable for std::numpunct<wchar_t>
-std::numpunct<wchar_t>::_ZTVSt8numpunctIwE: 9u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt8numpunctIwE)
-8 std::numpunct<_CharT>::~numpunct [with _CharT = wchar_t]
-12 std::numpunct<_CharT>::~numpunct [with _CharT = wchar_t]
-16 std::numpunct<_CharT>::do_decimal_point [with _CharT = wchar_t]
-20 std::numpunct<_CharT>::do_thousands_sep [with _CharT = wchar_t]
-24 std::numpunct<_CharT>::do_grouping [with _CharT = wchar_t]
-28 std::numpunct<_CharT>::do_truename [with _CharT = wchar_t]
-32 std::numpunct<_CharT>::do_falsename [with _CharT = wchar_t]
-
-Class std::numpunct<wchar_t>
- size=12 align=4
- base size=12 base align=4
-std::numpunct<wchar_t> (0xb5b95640) 0
- vptr=((& std::numpunct<wchar_t>::_ZTVSt8numpunctIwE) + 8u)
- std::locale::facet (0xb5b8bfb4) 0
- primary-for std::numpunct<wchar_t> (0xb5b95640)
-Class __gnu_cxx::__conditional_type<true, long unsigned int, long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__conditional_type<true, long unsigned int, long long unsigned int> (0xb5be8618) 0 empty
-Vtable for std::numpunct_byname<char>
-std::numpunct_byname<char>::_ZTVSt15numpunct_bynameIcE: 9u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt15numpunct_bynameIcE)
-8 std::numpunct_byname<_CharT>::~numpunct_byname [with _CharT = char]
-12 std::numpunct_byname<_CharT>::~numpunct_byname [with _CharT = char]
-16 std::numpunct<_CharT>::do_decimal_point [with _CharT = char]
-20 std::numpunct<_CharT>::do_thousands_sep [with _CharT = char]
-24 std::numpunct<_CharT>::do_grouping [with _CharT = char]
-28 std::numpunct<_CharT>::do_truename [with _CharT = char]
-32 std::numpunct<_CharT>::do_falsename [with _CharT = char]
-Class std::numpunct_byname<char>
- size=12 align=4
- base size=12 base align=4
-std::numpunct_byname<char> (0xb5a1ab80) 0
- vptr=((& std::numpunct_byname<char>::_ZTVSt15numpunct_bynameIcE) + 8u)
- std::numpunct<char> (0xb5a1abc0) 0
- primary-for std::numpunct_byname<char> (0xb5a1ab80)
- std::locale::facet (0xb5be8c6c) 0
- primary-for std::numpunct<char> (0xb5a1abc0)
-
-Vtable for std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >
-std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >::_ZTVSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE: 15u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE)
-8 std::num_get<_CharT, _InIter>::~num_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-12 std::num_get<_CharT, _InIter>::~num_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-16 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-20 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-24 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-28 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-32 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-36 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-40 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-44 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-48 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-52 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-56 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-
-Class std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >
- size=8 align=4
- base size=8 base align=4
-std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > > (0xb5a1ac00) 0
- vptr=((& std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >::_ZTVSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE) + 8u)
- std::locale::facet (0xb5be8d5c) 0
- primary-for std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > > (0xb5a1ac00)
-
-Vtable for std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >
-std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::_ZTVSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE: 12u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE)
-8 std::num_put<_CharT, _OutIter>::~num_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-12 std::num_put<_CharT, _OutIter>::~num_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-16 std::num_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-20 std::num_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-24 std::num_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-28 std::num_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-32 std::num_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-36 std::num_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-40 std::num_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-44 std::num_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-
-Class std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >
- size=8 align=4
- base size=8 base align=4
-std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > > (0xb5a1ac80) 0
- vptr=((& std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::_ZTVSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE) + 8u)
- std::locale::facet (0xb5be8e4c) 0
- primary-for std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > > (0xb5a1ac80)
-
-Vtable for std::numpunct_byname<wchar_t>
-std::numpunct_byname<wchar_t>::_ZTVSt15numpunct_bynameIwE: 9u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt15numpunct_bynameIwE)
-8 std::numpunct_byname<_CharT>::~numpunct_byname [with _CharT = wchar_t]
-12 std::numpunct_byname<_CharT>::~numpunct_byname [with _CharT = wchar_t]
-16 std::numpunct<_CharT>::do_decimal_point [with _CharT = wchar_t]
-20 std::numpunct<_CharT>::do_thousands_sep [with _CharT = wchar_t]
-24 std::numpunct<_CharT>::do_grouping [with _CharT = wchar_t]
-28 std::numpunct<_CharT>::do_truename [with _CharT = wchar_t]
-32 std::numpunct<_CharT>::do_falsename [with _CharT = wchar_t]
-
-Class std::numpunct_byname<wchar_t>
- size=12 align=4
- base size=12 base align=4
-std::numpunct_byname<wchar_t> (0xb5a1ad00) 0
- vptr=((& std::numpunct_byname<wchar_t>::_ZTVSt15numpunct_bynameIwE) + 8u)
- std::numpunct<wchar_t> (0xb5a1ad40) 0
- primary-for std::numpunct_byname<wchar_t> (0xb5a1ad00)
- std::locale::facet (0xb5be8f3c) 0
- primary-for std::numpunct<wchar_t> (0xb5a1ad40)
-
-Vtable for std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >
-std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::_ZTVSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE: 15u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE)
-8 std::num_get<_CharT, _InIter>::~num_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-12 std::num_get<_CharT, _InIter>::~num_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-16 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-20 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-24 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-28 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-32 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-36 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-40 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-44 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-48 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-52 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-56 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-
-Class std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >
- size=8 align=4
- base size=8 base align=4
-std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > > (0xb5a1adc0) 0
- vptr=((& std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::_ZTVSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE) + 8u)
- std::locale::facet (0xb5be85dc) 0
- primary-for std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > > (0xb5a1adc0)
-
-Vtable for std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >
-std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::_ZTVSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE: 12u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE)
-8 std::num_put<_CharT, _OutIter>::~num_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-12 std::num_put<_CharT, _OutIter>::~num_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-16 std::num_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-20 std::num_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-24 std::num_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-28 std::num_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-32 std::num_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-36 std::num_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-40 std::num_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-44 std::num_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-
-Class std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >
- size=8 align=4
- base size=8 base align=4
-std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > > (0xb5a1ae40) 0
- vptr=((& std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::_ZTVSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE) + 8u)
- std::locale::facet (0xb5be8f00) 0
- primary-for std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > > (0xb5a1ae40)
-
-Vtable for std::basic_ios<char, std::char_traits<char> >
-std::basic_ios<char, std::char_traits<char> >::_ZTVSt9basic_iosIcSt11char_traitsIcEE: 4u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt9basic_iosIcSt11char_traitsIcEE)
-8 std::basic_ios<_CharT, _Traits>::~basic_ios [with _CharT = char, _Traits = std::char_traits<char>]
-12 std::basic_ios<_CharT, _Traits>::~basic_ios [with _CharT = char, _Traits = std::char_traits<char>]
-
-Class std::basic_ios<char, std::char_traits<char> >
- size=136 align=4
- base size=136 base align=4
-std::basic_ios<char, std::char_traits<char> > (0xb5a65e80) 0
- vptr=((& std::basic_ios<char, std::char_traits<char> >::_ZTVSt9basic_iosIcSt11char_traitsIcEE) + 8u)
- std::ios_base (0xb5a607bc) 0
- primary-for std::basic_ios<char, std::char_traits<char> > (0xb5a65e80)
-
-Vtable for std::basic_ios<wchar_t, std::char_traits<wchar_t> >
-std::basic_ios<wchar_t, std::char_traits<wchar_t> >::_ZTVSt9basic_iosIwSt11char_traitsIwEE: 4u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt9basic_iosIwSt11char_traitsIwEE)
-8 std::basic_ios<_CharT, _Traits>::~basic_ios [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-12 std::basic_ios<_CharT, _Traits>::~basic_ios [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-
-Class std::basic_ios<wchar_t, std::char_traits<wchar_t> >
- size=140 align=4
- base size=140 base align=4
-std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb5a65ec0) 0
- vptr=((& std::basic_ios<wchar_t, std::char_traits<wchar_t> >::_ZTVSt9basic_iosIwSt11char_traitsIwEE) + 8u)
- std::ios_base (0xb5a608ac) 0
- primary-for std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb5a65ec0)
-
-Vtable for std::basic_ostream<char, std::char_traits<char> >
-std::basic_ostream<char, std::char_traits<char> >::_ZTVSo: 10u entries
-0 4u
-4 (int (*)(...))0
-8 (int (*)(...))(& _ZTISo)
-12 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = char, _Traits = std::char_traits<char>]
-16 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = char, _Traits = std::char_traits<char>]
-20 -4u
-24 (int (*)(...))-0x000000004
-28 (int (*)(...))(& _ZTISo)
-32 std::basic_ostream<char, std::char_traits<char> >::_ZTv0_n12_NSoD1Ev
-36 std::basic_ostream<char, std::char_traits<char> >::_ZTv0_n12_NSoD0Ev
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
VTT for std::basic_ostream<char, std::char_traits<char> >
std::basic_ostream<char, std::char_traits<char> >::_ZTTSo: 2u entries
0 ((& std::basic_ostream<char, std::char_traits<char> >::_ZTVSo) + 12u)
4 ((& std::basic_ostream<char, std::char_traits<char> >::_ZTVSo) + 32u)
-Class std::basic_ostream<char, std::char_traits<char> >
- size=140 align=4
- base size=4 base align=4
-std::basic_ostream<char, std::char_traits<char> > (0xb5ab6b40) 0 nearly-empty
- vptridx=0u vptr=((& std::basic_ostream<char, std::char_traits<char> >::_ZTVSo) + 12u)
- std::basic_ios<char, std::char_traits<char> > (0xb5ab6b80) 4 virtual
- vptridx=4u vbaseoffset=-0x00000000c vptr=((& std::basic_ostream<char, std::char_traits<char> >::_ZTVSo) + 32u)
- std::ios_base (0xb5aa14ec) 4
- primary-for std::basic_ios<char, std::char_traits<char> > (0xb5ab6b80)
-
-Class std::basic_ostream<char, std::char_traits<char> >::sentry
- size=8 align=4
- base size=8 base align=4
-std::basic_ostream<char, std::char_traits<char> >::sentry (0xb5aa16cc) 0
-Vtable for std::basic_ostream<wchar_t, std::char_traits<wchar_t> >
-std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE: 10u entries
-0 4u
-4 (int (*)(...))0
-8 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE)
-12 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-16 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-20 -4u
-24 (int (*)(...))-0x000000004
-28 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE)
-32 std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n12_NSt13basic_ostreamIwSt11char_traitsIwEED1Ev
-36 std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n12_NSt13basic_ostreamIwSt11char_traitsIwEED0Ev
+
VTT for std::basic_ostream<wchar_t, std::char_traits<wchar_t> >
std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTTSt13basic_ostreamIwSt11char_traitsIwEE: 2u entries
0 ((& std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 12u)
4 ((& std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 32u)
-Class std::basic_ostream<wchar_t, std::char_traits<wchar_t> >
- size=144 align=4
- base size=4 base align=4
-std::basic_ostream<wchar_t, std::char_traits<wchar_t> > (0xb5ab6cc0) 0 nearly-empty
- vptridx=0u vptr=((& std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 12u)
- std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb5ab6d00) 4 virtual
- vptridx=4u vbaseoffset=-0x00000000c vptr=((& std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 32u)
- std::ios_base (0xb5aa1708) 4
- primary-for std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb5ab6d00)
-
-Class std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::sentry
- size=8 align=4
- base size=8 base align=4
-std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::sentry (0xb5aa18ac) 0
-Vtable for std::basic_istream<char, std::char_traits<char> >
-std::basic_istream<char, std::char_traits<char> >::_ZTVSi: 10u entries
-0 8u
-4 (int (*)(...))0
-8 (int (*)(...))(& _ZTISi)
-12 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = char, _Traits = std::char_traits<char>]
-16 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = char, _Traits = std::char_traits<char>]
-20 -8u
-24 (int (*)(...))-0x000000008
-28 (int (*)(...))(& _ZTISi)
-32 std::basic_istream<char, std::char_traits<char> >::_ZTv0_n12_NSiD1Ev
-36 std::basic_istream<char, std::char_traits<char> >::_ZTv0_n12_NSiD0Ev
+
VTT for std::basic_istream<char, std::char_traits<char> >
std::basic_istream<char, std::char_traits<char> >::_ZTTSi: 2u entries
0 ((& std::basic_istream<char, std::char_traits<char> >::_ZTVSi) + 12u)
4 ((& std::basic_istream<char, std::char_traits<char> >::_ZTVSi) + 32u)
-Class std::basic_istream<char, std::char_traits<char> >
- size=144 align=4
- base size=8 base align=4
-std::basic_istream<char, std::char_traits<char> > (0xb5af5580) 0
- vptridx=0u vptr=((& std::basic_istream<char, std::char_traits<char> >::_ZTVSi) + 12u)
- std::basic_ios<char, std::char_traits<char> > (0xb5af55c0) 8 virtual
- vptridx=4u vbaseoffset=-0x00000000c vptr=((& std::basic_istream<char, std::char_traits<char> >::_ZTVSi) + 32u)
- std::ios_base (0xb5aa1e10) 8
- primary-for std::basic_ios<char, std::char_traits<char> > (0xb5af55c0)
-
-Vtable for std::basic_istream<wchar_t, std::char_traits<wchar_t> >
-std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_istreamIwSt11char_traitsIwEE: 10u entries
-0 8u
-4 (int (*)(...))0
-8 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE)
-12 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-16 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-20 -8u
-24 (int (*)(...))-0x000000008
-28 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE)
-32 std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n12_NSt13basic_istreamIwSt11char_traitsIwEED1Ev
-36 std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n12_NSt13basic_istreamIwSt11char_traitsIwEED0Ev
+
VTT for std::basic_istream<wchar_t, std::char_traits<wchar_t> >
std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTTSt13basic_istreamIwSt11char_traitsIwEE: 2u entries
0 ((& std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 12u)
4 ((& std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 32u)
-Class std::basic_istream<wchar_t, std::char_traits<wchar_t> >
- size=148 align=4
- base size=8 base align=4
-std::basic_istream<wchar_t, std::char_traits<wchar_t> > (0xb5af5680) 0
- vptridx=0u vptr=((& std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 12u)
- std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb5af56c0) 8 virtual
- vptridx=4u vbaseoffset=-0x00000000c vptr=((& std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 32u)
- std::ios_base (0xb59060f0) 8
- primary-for std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb5af56c0)
-
-Class __gnu_cxx::__conditional_type<true, __gnu_cxx::__numeric_traits_integer<short int>, __gnu_cxx::__numeric_traits_floating<short int> >
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__conditional_type<true, __gnu_cxx::__numeric_traits_integer<short int>, __gnu_cxx::__numeric_traits_floating<short int> > (0xb59067f8) 0 empty
-Class __gnu_cxx::__numeric_traits_integer<short int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__numeric_traits_integer<short int> (0xb5906834) 0 empty
-Class __gnu_cxx::__numeric_traits<short int>
- size=1 align=1
- base size=1 base align=1
-__gnu_cxx::__numeric_traits<short int> (0xb5923580) 0 empty
- __gnu_cxx::__numeric_traits_integer<short int> (0xb5906870) 0 empty
-Class std::basic_istream<char, std::char_traits<char> >::sentry
- size=1 align=1
- base size=1 base align=1
-std::basic_istream<char, std::char_traits<char> >::sentry (0xb5906e4c) 0
-Vtable for std::basic_iostream<char, std::char_traits<char> >
-std::basic_iostream<char, std::char_traits<char> >::_ZTVSd: 15u entries
-0 12u
-4 (int (*)(...))0
-8 (int (*)(...))(& _ZTISd)
-12 std::basic_iostream<_CharT, _Traits>::~basic_iostream [with _CharT = char, _Traits = std::char_traits<char>]
-16 std::basic_iostream<_CharT, _Traits>::~basic_iostream [with _CharT = char, _Traits = std::char_traits<char>]
-20 4u
-24 (int (*)(...))-0x000000008
-28 (int (*)(...))(& _ZTISd)
-32 std::basic_iostream<char, std::char_traits<char> >::_ZThn8_NSdD1Ev
-36 std::basic_iostream<char, std::char_traits<char> >::_ZThn8_NSdD0Ev
-40 -12u
-44 (int (*)(...))-0x00000000c
-48 (int (*)(...))(& _ZTISd)
-52 std::basic_iostream<char, std::char_traits<char> >::_ZTv0_n12_NSdD1Ev
-56 std::basic_iostream<char, std::char_traits<char> >::_ZTv0_n12_NSdD0Ev
+
Construction vtable for std::basic_istream<char, std::char_traits<char> > (0xb595c480 instance) in std::basic_iostream<char, std::char_traits<char> >
std::basic_iostream<char, std::char_traits<char> >::_ZTCSd0_Si: 10u entries
@@ -2486,44 +1210,8 @@ std::basic_iostream<char, std::char_traits<char> >::_ZTTSd: 7u entries
20 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 52u)
24 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 32u)
-Class std::basic_iostream<char, std::char_traits<char> >
- size=148 align=4
- base size=12 base align=4
-std::basic_iostream<char, std::char_traits<char> > (0xb596c050) 0
- vptridx=0u vptr=((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 12u)
- std::basic_istream<char, std::char_traits<char> > (0xb595c480) 0
- primary-for std::basic_iostream<char, std::char_traits<char> > (0xb596c050)
- subvttidx=4u
- std::basic_ios<char, std::char_traits<char> > (0xb595c4c0) 12 virtual
- vptridx=20u vbaseoffset=-0x00000000c vptr=((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 52u)
- std::ios_base (0xb5906e88) 12
- primary-for std::basic_ios<char, std::char_traits<char> > (0xb595c4c0)
- std::basic_ostream<char, std::char_traits<char> > (0xb595c500) 8 nearly-empty
- subvttidx=12u vptridx=24u vptr=((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 32u)
- std::basic_ios<char, std::char_traits<char> > (0xb595c4c0) alternative-path
-
-Class std::basic_istream<wchar_t, std::char_traits<wchar_t> >::sentry
- size=1 align=1
- base size=1 base align=1
-std::basic_istream<wchar_t, std::char_traits<wchar_t> >::sentry (0xb5971000) 0
-Vtable for std::basic_iostream<wchar_t, std::char_traits<wchar_t> >
-std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE: 15u entries
-0 12u
-4 (int (*)(...))0
-8 (int (*)(...))(& _ZTISt14basic_iostreamIwSt11char_traitsIwEE)
-12 std::basic_iostream<_CharT, _Traits>::~basic_iostream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-16 std::basic_iostream<_CharT, _Traits>::~basic_iostream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-20 4u
-24 (int (*)(...))-0x000000008
-28 (int (*)(...))(& _ZTISt14basic_iostreamIwSt11char_traitsIwEE)
-32 std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZThn8_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev
-36 std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZThn8_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev
-40 -12u
-44 (int (*)(...))-0x00000000c
-48 (int (*)(...))(& _ZTISt14basic_iostreamIwSt11char_traitsIwEE)
-52 std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n12_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev
-56 std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n12_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev
+
Construction vtable for std::basic_istream<wchar_t, std::char_traits<wchar_t> > (0xb595c800 instance) in std::basic_iostream<wchar_t, std::char_traits<wchar_t> >
std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E: 10u entries
@@ -2561,110 +1249,21 @@ std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTTSt14basic_iostream
20 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 52u)
24 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 32u)
-Class std::basic_iostream<wchar_t, std::char_traits<wchar_t> >
- size=152 align=4
- base size=12 base align=4
-std::basic_iostream<wchar_t, std::char_traits<wchar_t> > (0xb597b0f0) 0
- vptridx=0u vptr=((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 12u)
- std::basic_istream<wchar_t, std::char_traits<wchar_t> > (0xb595c800) 0
- primary-for std::basic_iostream<wchar_t, std::char_traits<wchar_t> > (0xb597b0f0)
- subvttidx=4u
- std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb595c840) 12 virtual
- vptridx=20u vbaseoffset=-0x00000000c vptr=((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 52u)
- std::ios_base (0xb597103c) 12
- primary-for std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb595c840)
- std::basic_ostream<wchar_t, std::char_traits<wchar_t> > (0xb595c880) 8 nearly-empty
- subvttidx=12u vptridx=24u vptr=((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 32u)
- std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb595c840) alternative-path
-
-Class QVector<double>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<double>::<anonymous union> (0xb5971924) 0
-Class QVector<double>
- size=4 align=4
- base size=4 base align=4
-QVector<double> (0xb59718ac) 0
-Class QtConcurrent::Median<double>
- size=24 align=4
- base size=22 base align=4
-QtConcurrent::Median<double> (0xb5971834) 0
+
Class QtConcurrent::BlockSizeManager
size=72 align=4
base size=72 base align=4
QtConcurrent::BlockSizeManager (0xb5971780) 0
-Class QtConcurrent::ResultReporter<void>
- size=1 align=1
- base size=0 base align=1
-QtConcurrent::ResultReporter<void> (0xb5971ce4) 0 empty
-Class QFlags<QtConcurrent::ReduceOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QtConcurrent::ReduceOption> (0xb59a94b0) 0
-Class QtConcurrent::SelectSpecialization<void>
- size=1 align=1
- base size=0 base align=1
-QtConcurrent::SelectSpecialization<void> (0xb5895924) 0 empty
-Vtable for QtConcurrent::RunFunctionTaskBase<void>
-QtConcurrent::RunFunctionTaskBase<void>::_ZTVN12QtConcurrent19RunFunctionTaskBaseIvEE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTIN12QtConcurrent19RunFunctionTaskBaseIvEE)
-8 QtConcurrent::RunFunctionTaskBase<void>::~RunFunctionTaskBase
-12 QtConcurrent::RunFunctionTaskBase<void>::~RunFunctionTaskBase
-16 QtConcurrent::RunFunctionTaskBase<T>::run [with T = void]
-20 __cxa_pure_virtual
-24 (int (*)(...))-0x000000008
-28 (int (*)(...))(& _ZTIN12QtConcurrent19RunFunctionTaskBaseIvEE)
-32 QtConcurrent::RunFunctionTaskBase<void>::_ZThn8_N12QtConcurrent19RunFunctionTaskBaseIvE3runEv
-36 QtConcurrent::RunFunctionTaskBase<void>::_ZThn8_N12QtConcurrent19RunFunctionTaskBaseIvED1Ev
-40 QtConcurrent::RunFunctionTaskBase<void>::_ZThn8_N12QtConcurrent19RunFunctionTaskBaseIvED0Ev
-Class QtConcurrent::RunFunctionTaskBase<void>
- size=16 align=4
- base size=16 base align=4
-QtConcurrent::RunFunctionTaskBase<void> (0xb58a5870) 0
- vptr=((& QtConcurrent::RunFunctionTaskBase<void>::_ZTVN12QtConcurrent19RunFunctionTaskBaseIvEE) + 8u)
- QFutureInterface<void> (0xb5898b00) 0
- primary-for QtConcurrent::RunFunctionTaskBase<void> (0xb58a5870)
- QFutureInterfaceBase (0xb5895b04) 0
- primary-for QFutureInterface<void> (0xb5898b00)
- QRunnable (0xb5895b40) 8
- vptr=((& QtConcurrent::RunFunctionTaskBase<void>::_ZTVN12QtConcurrent19RunFunctionTaskBaseIvEE) + 32u)
-
-Vtable for QtConcurrent::RunFunctionTask<void>
-QtConcurrent::RunFunctionTask<void>::_ZTVN12QtConcurrent15RunFunctionTaskIvEE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTIN12QtConcurrent15RunFunctionTaskIvEE)
-8 QtConcurrent::RunFunctionTask<void>::~RunFunctionTask
-12 QtConcurrent::RunFunctionTask<void>::~RunFunctionTask
-16 QtConcurrent::RunFunctionTask<void>::run
-20 __cxa_pure_virtual
-24 (int (*)(...))-0x000000008
-28 (int (*)(...))(& _ZTIN12QtConcurrent15RunFunctionTaskIvEE)
-32 QtConcurrent::RunFunctionTask<void>::_ZThn8_N12QtConcurrent15RunFunctionTaskIvE3runEv
-36 QtConcurrent::RunFunctionTask<void>::_ZThn8_N12QtConcurrent15RunFunctionTaskIvED1Ev
-40 QtConcurrent::RunFunctionTask<void>::_ZThn8_N12QtConcurrent15RunFunctionTaskIvED0Ev
-Class QtConcurrent::RunFunctionTask<void>
- size=16 align=4
- base size=16 base align=4
-QtConcurrent::RunFunctionTask<void> (0xb5898b80) 0
- vptr=((& QtConcurrent::RunFunctionTask<void>::_ZTVN12QtConcurrent15RunFunctionTaskIvEE) + 8u)
- QtConcurrent::RunFunctionTaskBase<void> (0xb58a5c80) 0
- primary-for QtConcurrent::RunFunctionTask<void> (0xb5898b80)
- QFutureInterface<void> (0xb5898bc0) 0
- primary-for QtConcurrent::RunFunctionTaskBase<void> (0xb58a5c80)
- QFutureInterfaceBase (0xb5895ce4) 0
- primary-for QFutureInterface<void> (0xb5898bc0)
- QRunnable (0xb5895d20) 8
- vptr=((& QtConcurrent::RunFunctionTask<void>::_ZTVN12QtConcurrent15RunFunctionTaskIvEE) + 32u)
+
Class QLibraryInfo
size=1 align=1
@@ -2715,50 +1314,22 @@ QFile (0xb57f9f00) 0
QObject (0xb561b078) 0
primary-for QIODevice (0xb57f9f40)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0xb56339d8) 0
Class QFileInfo
size=4 align=4
base size=4 base align=4
QFileInfo (0xb56455a0) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0xb5653c30) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0xb5653f3c) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0xb5668ca8) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0xb5668c30) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0xb5668d98) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0xb569330c) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0xb56933fc) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -2833,10 +1404,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0xb56c16cc) 0
vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0xb56d47bc) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -2926,10 +1493,6 @@ Class QDirIterator
QDirIterator (0xb56f599c) 0
vptr=((& QDirIterator::_ZTV12QDirIterator) + 8u)
-Class QFlags<QDirIterator::IteratorFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDirIterator::IteratorFlag> (0xb5504168) 0
Vtable for QFileSystemWatcher
QFileSystemWatcher::_ZTV18QFileSystemWatcher: 14u entries
@@ -3067,25 +1630,13 @@ Class QLocale::Data
base size=4 base align=2
QLocale::Data (0xb556512c) 0
-Class QLocale::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QLocale::<anonymous union> (0xb55651a4) 0
Class QLocale
size=4 align=4
base size=4 base align=4
QLocale (0xb5539f3c) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0xb556599c) 0 empty
-Class QFlags<QLocale::NumberOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLocale::NumberOption> (0xb5565b04) 0
Class QResource
size=4 align=4
@@ -3097,275 +1648,59 @@ Class QMetaType
base size=0 base align=1
QMetaType (0xb558e3fc) 0 empty
-Class QMetaTypeId2<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QString> (0xb558e834) 0 empty
-Class QMetaTypeId2<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<int> (0xb558ea14) 0 empty
-Class QMetaTypeId2<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned int> (0xb558ebf4) 0 empty
-Class QMetaTypeId2<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<bool> (0xb558edd4) 0 empty
-Class QMetaTypeId2<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<double> (0xb558efb4) 0 empty
-Class QMetaTypeId2<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QByteArray> (0xb55a71a4) 0 empty
-Class QMetaTypeId2<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QChar> (0xb55a7384) 0 empty
-Class QMetaTypeId2<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long int> (0xb55a7564) 0 empty
-Class QMetaTypeId2<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short int> (0xb55a7744) 0 empty
-Class QMetaTypeId2<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<char> (0xb55a7924) 0 empty
-Class QMetaTypeId2<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long unsigned int> (0xb55a7b04) 0 empty
-Class QMetaTypeId2<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short unsigned int> (0xb55a7ce4) 0 empty
-Class QMetaTypeId2<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned char> (0xb55a7ec4) 0 empty
-Class QMetaTypeId2<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<float> (0xb55ae0b4) 0 empty
-Class QMetaTypeId2<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QObject*> (0xb55ae294) 0 empty
-Class QMetaTypeId2<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QWidget*> (0xb55ae474) 0 empty
-Class QMetaTypeId2<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<void*> (0xb55ae654) 0 empty
-Class QMetaTypeId2<long long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long int> (0xb55ae834) 0 empty
-Class QMetaTypeId2<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long unsigned int> (0xb55aea14) 0 empty
-Class QMetaTypeId2<QStringList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QStringList> (0xb55aebf4) 0 empty
-Class QMetaTypeId2<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitArray> (0xb55aedd4) 0 empty
-Class QMetaTypeId2<QDate>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDate> (0xb55aefb4) 0 empty
-Class QMetaTypeId2<QTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTime> (0xb55b71a4) 0 empty
-Class QMetaTypeId2<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDateTime> (0xb55b7384) 0 empty
-Class QMetaTypeId2<QUrl>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QUrl> (0xb55b7564) 0 empty
-Class QMetaTypeId2<QLocale>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLocale> (0xb55b7744) 0 empty
-Class QMetaTypeId2<QRect>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRect> (0xb55b7924) 0 empty
-Class QMetaTypeId2<QRectF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRectF> (0xb55b7b04) 0 empty
-Class QMetaTypeId2<QSize>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSize> (0xb55b7ce4) 0 empty
-Class QMetaTypeId2<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizeF> (0xb55b7ec4) 0 empty
-Class QMetaTypeId2<QLine>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLine> (0xb55bf0b4) 0 empty
-Class QMetaTypeId2<QLineF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLineF> (0xb55bf294) 0 empty
-Class QMetaTypeId2<QPoint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPoint> (0xb55bf474) 0 empty
-Class QMetaTypeId2<QPointF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPointF> (0xb55bf654) 0 empty
-Class QMetaTypeId2<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegExp> (0xb55bf834) 0 empty
-Class QMetaTypeId2<QColorGroup>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColorGroup> (0xb55bfa14) 0 empty
-Class QMetaTypeId2<QFont>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QFont> (0xb55bfbf4) 0 empty
-Class QMetaTypeId2<QPixmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPixmap> (0xb55bfdd4) 0 empty
-Class QMetaTypeId2<QBrush>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBrush> (0xb55bffb4) 0 empty
-Class QMetaTypeId2<QColor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColor> (0xb55c61a4) 0 empty
-Class QMetaTypeId2<QPalette>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPalette> (0xb55c6384) 0 empty
-Class QMetaTypeId2<QIcon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QIcon> (0xb55c6564) 0 empty
-Class QMetaTypeId2<QImage>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QImage> (0xb55c6744) 0 empty
-Class QMetaTypeId2<QPolygon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPolygon> (0xb55c6924) 0 empty
-Class QMetaTypeId2<QRegion>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegion> (0xb55c6b04) 0 empty
-Class QMetaTypeId2<QBitmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitmap> (0xb55c6ce4) 0 empty
-Class QMetaTypeId2<QCursor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QCursor> (0xb55c6ec4) 0 empty
-Class QMetaTypeId2<QSizePolicy>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizePolicy> (0xb55cd0b4) 0 empty
-Class QMetaTypeId2<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QKeySequence> (0xb55cd294) 0 empty
-Class QMetaTypeId2<QPen>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPen> (0xb55cd474) 0 empty
-Class QMetaTypeId2<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextLength> (0xb55cd654) 0 empty
-Class QMetaTypeId2<QTextFormat>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextFormat> (0xb55cd834) 0 empty
-Class QMetaTypeId2<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMatrix> (0xb55cda14) 0 empty
-Class QMetaTypeId2<QTransform>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTransform> (0xb55cdbf4) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -3392,45 +1727,17 @@ Class QVariant
base size=12 base align=4
QVariant (0xb55cddd4) 0
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0xb5400870) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0xb54007f8) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0xb5400960) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0xb54008e8) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0xb5436ce4) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0xb544230c) 0 empty
-Class QMetaTypeId2<QList<QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QList<QVariant> > (0xb54424ec) 0 empty
-Class QMetaTypeId2<QMap<QString, QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMap<QString, QVariant> > (0xb54426cc) 0 empty
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -3508,15 +1815,7 @@ Class QUrl
base size=4 base align=4
QUrl (0xb5493744) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0xb54a1690) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0xb54cb0f0) 0 empty
Vtable for QEventLoop
QEventLoop::_ZTV10QEventLoop: 14u entries
@@ -3543,10 +1842,6 @@ QEventLoop (0xb548abc0) 0
QObject (0xb54cbf78) 0
primary-for QEventLoop (0xb548abc0)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0xb54da5a0) 0
Vtable for QAbstractEventDispatcher
QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 27u entries
@@ -3591,20 +1886,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0xb54fb834) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0xb530dbf4) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0xb530dce4) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0xb5316438) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -3774,10 +2061,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0xb53635a0) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0xb5363d20) 0 empty
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -3889,20 +2172,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0xb53a7960) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0xb53a7e10) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0xb53a7f00) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0xb53e0348) 0 empty
Class QMetaProperty
size=20 align=4
@@ -3914,10 +2189,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0xb53e0744) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0xb53e0a8c) 0 empty
Vtable for QMimeData
QMimeData::_ZTV9QMimeData: 17u entries
@@ -4129,10 +2400,6 @@ QLibrary (0xb52288c0) 0
QObject (0xb524b3c0) 0
primary-for QLibrary (0xb52288c0)
-Class QFlags<QLibrary::LoadHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLibrary::LoadHint> (0xb525b30c) 0
Vtable for QPluginLoader
QPluginLoader::_ZTV13QPluginLoader: 14u entries
@@ -4169,20 +2436,12 @@ Class QReadWriteLock
base size=4 base align=4
QReadWriteLock (0xb52848e8) 0
-Class QReadLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QReadLocker::<anonymous union> (0xb5284f78) 0
Class QReadLocker
size=4 align=4
base size=4 base align=4
QReadLocker (0xb5284c6c) 0
-Class QWriteLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QWriteLocker::<anonymous union> (0xb529a474) 0
Class QWriteLocker
size=4 align=4
@@ -4209,10 +2468,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0xb52d3a50) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0xb52e2744) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -4229,70 +2484,42 @@ Class QDate
base size=4 base align=4
QDate (0xb50de744) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0xb50ff0f0) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0xb50ff1e0) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0xb510c744) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0xb510c834) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0xb5114f3c) 0 empty
Class QPoint
size=8 align=4
base size=8 base align=4
QPoint (0xb51270b4) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0xb5127690) 0 empty
Class QPointF
size=16 align=4
base size=16 base align=4
QPointF (0xb514312c) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0xb5143a14) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0xb51670f0) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0xb51674b0) 0 empty
Class QLineF
size=32 align=4
base size=32 base align=4
QLineF (0xb5184618) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0xb519703c) 0 empty
Class QLinkedListData
size=20 align=4
@@ -4304,40 +2531,24 @@ Class QSize
base size=8 base align=4
QSize (0xb4ff0f78) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0xb5025960) 0 empty
Class QSizeF
size=16 align=4
base size=16 base align=4
QSizeF (0xb5040bf4) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0xb504dd20) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0xb506ba50) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0xb5085924) 0 empty
Class QRectF
size=32 align=4
base size=32 base align=4
QRectF (0xb50cb528) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0xb4ee4a50) 0 empty
Class QSharedData
size=4 align=4
@@ -4385,20 +2596,8 @@ Class QXmlStreamAttribute
base size=53 base align=4
QXmlStreamAttribute (0xb4f8b1e0) 0
-Class QTypeInfo<QXmlStreamAttribute>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QXmlStreamAttribute> (0xb4f96780) 0 empty
-Class QVector<QXmlStreamAttribute>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QXmlStreamAttribute>::<anonymous union> (0xb4f968e8) 0
-Class QVector<QXmlStreamAttribute>
- size=4 align=4
- base size=4 base align=4
-QVector<QXmlStreamAttribute> (0xb4f96870) 0
Class QXmlStreamAttributes
size=4 align=4
@@ -4411,30 +2610,18 @@ Class QXmlStreamNamespaceDeclaration
base size=28 base align=4
QXmlStreamNamespaceDeclaration (0xb4f96960) 0
-Class QTypeInfo<QXmlStreamNamespaceDeclaration>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QXmlStreamNamespaceDeclaration> (0xb4fb9384) 0 empty
Class QXmlStreamNotationDeclaration
size=40 align=4
base size=40 base align=4
QXmlStreamNotationDeclaration (0xb4fb94b0) 0
-Class QTypeInfo<QXmlStreamNotationDeclaration>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QXmlStreamNotationDeclaration> (0xb4fc9078) 0 empty
Class QXmlStreamEntityDeclaration
size=64 align=4
base size=64 base align=4
QXmlStreamEntityDeclaration (0xb4fc91a4) 0
-Class QTypeInfo<QXmlStreamEntityDeclaration>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QXmlStreamEntityDeclaration> (0xb4de012c) 0 empty
Vtable for QXmlStreamEntityResolver
QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver: 6u entries
@@ -4461,25 +2648,9 @@ Class QXmlStreamWriter
base size=4 base align=4
QXmlStreamWriter (0xb4dfa9d8) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0xb4e25924) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0xb4e2599c) 0
-Class QColor::<anonymous union>::<anonymous struct>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union>::<anonymous struct> (0xb4e25a14) 0
-Class QColor::<anonymous union>
- size=10 align=2
- base size=10 base align=2
-QColor::<anonymous union> (0xb4e258ac) 0
Class QColor
size=16 align=4
@@ -4501,10 +2672,6 @@ Class QKeySequence
base size=4 base align=4
QKeySequence (0xb4e54780) 0
-Class QTypeInfo<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QKeySequence> (0xb4e63a50) 0 empty
Vtable for QMimeSource
QMimeSource::_ZTV11QMimeSource: 7u entries
@@ -4802,15 +2969,7 @@ Class QInputMethodEvent::Attribute
base size=24 base align=4
QInputMethodEvent::Attribute (0xb4ceda50) 0
-Class QList<QInputMethodEvent::Attribute>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute>::<anonymous union> (0xb4cf930c) 0
-Class QList<QInputMethodEvent::Attribute>
- size=4 align=4
- base size=4 base align=4
-QList<QInputMethodEvent::Attribute> (0xb4cf9294) 0
Vtable for QInputMethodEvent
QInputMethodEvent::_ZTV17QInputMethodEvent: 4u entries
@@ -5099,20 +3258,8 @@ Class QAccessible
base size=0 base align=1
QAccessible (0xb4d512d0) 0 empty
-Class QFlags<QAccessible::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::StateFlag> (0xb4d51bf4) 0
-Class QFlags<QAccessible::RelationFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAccessible::RelationFlag> (0xb4d65834) 0
-Class QMetaTypeId<QSet<QAccessible::Method> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QSet<QAccessible::Method> > (0xb4d7c3fc) 0 empty
Vtable for QAccessibleInterface
QAccessibleInterface::_ZTV20QAccessibleInterface: 19u entries
@@ -5143,20 +3290,8 @@ QAccessibleInterface (0xb4d409c0) 0 nearly-empty
vptr=((& QAccessibleInterface::_ZTV20QAccessibleInterface) + 8u)
QAccessible (0xb4d7c7f8) 0 empty
-Class QHash<QAccessible::Method, QHashDummyValue>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QHash<QAccessible::Method, QHashDummyValue>::<anonymous union> (0xb4d8c30c) 0
-Class QHash<QAccessible::Method, QHashDummyValue>
- size=4 align=4
- base size=4 base align=4
-QHash<QAccessible::Method, QHashDummyValue> (0xb4d8c294) 0
-Class QSet<QAccessible::Method>
- size=4 align=4
- base size=4 base align=4
-QSet<QAccessible::Method> (0xb4d8c21c) 0
Vtable for QAccessibleInterfaceEx
QAccessibleInterfaceEx::_ZTV22QAccessibleInterfaceEx: 22u entries
@@ -5669,15 +3804,7 @@ Class QPaintDevice
QPaintDevice (0xb4c14a50) 0
vptr=((& QPaintDevice::_ZTV12QPaintDevice) + 8u)
-Class QVector<QPoint>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint>::<anonymous union> (0xb4c26f3c) 0
-Class QVector<QPoint>
- size=4 align=4
- base size=4 base align=4
-QVector<QPoint> (0xb4c26ec4) 0
Class QPolygon
size=4 align=4
@@ -5685,15 +3812,7 @@ Class QPolygon
QPolygon (0xb4bebd80) 0
QVector<QPoint> (0xb4c26f78) 0
-Class QVector<QPointF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF>::<anonymous union> (0xb4c5603c) 0
-Class QVector<QPointF>
- size=4 align=4
- base size=4 base align=4
-QVector<QPointF> (0xb4c41fb4) 0
Class QPolygonF
size=4 align=4
@@ -5706,10 +3825,6 @@ Class QMatrix
base size=48 base align=4
QMatrix (0xb4c56f78) 0
-Class QTypeInfo<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMatrix> (0xb4c815dc) 0 empty
Class QPainterPath::Element
size=20 align=4
@@ -5721,25 +3836,13 @@ Class QPainterPath
base size=4 base align=4
QPainterPath (0xb4c81d98) 0
-Class QVector<QPainterPath::Element>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element>::<anonymous union> (0xb4ca5e4c) 0
-Class QVector<QPainterPath::Element>
- size=4 align=4
- base size=4 base align=4
-QVector<QPainterPath::Element> (0xb4ca5dd4) 0
Class QPainterPathPrivate
size=8 align=4
base size=8 base align=4
QPainterPathPrivate (0xb4ca5a50) 0
-Class QTypeInfo<QPainterPath::Element>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPainterPath::Element> (0xb4ca5e88) 0 empty
Class QPainterPathStroker
size=4 align=4
@@ -5751,10 +3854,6 @@ Class QTransform
base size=80 base align=4
QTransform (0xb4ade708) 0
-Class QTypeInfo<QTransform>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTransform> (0xb4aee7f8) 0 empty
Class QImageTextKeyLang
size=8 align=4
@@ -5779,10 +3878,6 @@ QImage (0xb4b0c900) 0
QPaintDevice (0xb4b53000) 0
primary-for QImage (0xb4b0c900)
-Class QTypeInfo<QImage>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QImage> (0xb4b894ec) 0 empty
Vtable for QPixmap
QPixmap::_ZTV7QPixmap: 7u entries
@@ -5807,45 +3902,17 @@ Class QBrush
base size=4 base align=4
QBrush (0xb4bb2f00) 0
-Class QTypeInfo<QBrush>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBrush> (0xb4bbea14) 0 empty
Class QBrushData
size=124 align=4
base size=121 base align=4
QBrushData (0xb4bbeca8) 0
-Class QVector<QPair<double, QColor> >::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QPair<double, QColor> >::<anonymous union> (0xb4bd2924) 0
-Class QVector<QPair<double, QColor> >
- size=4 align=4
- base size=4 base align=4
-QVector<QPair<double, QColor> > (0xb4bd28ac) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=32 align=4
- base size=32 base align=4
-QGradient::<anonymous union>::<anonymous struct> (0xb4bd2a14) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=40 align=4
- base size=40 base align=4
-QGradient::<anonymous union>::<anonymous struct> (0xb4bd2a8c) 0
-Class QGradient::<anonymous union>::<anonymous struct>
- size=24 align=4
- base size=24 base align=4
-QGradient::<anonymous union>::<anonymous struct> (0xb4bd2b04) 0
-Class QGradient::<anonymous union>
- size=40 align=4
- base size=40 base align=4
-QGradient::<anonymous union> (0xb4bd299c) 0
Class QGradient
size=56 align=4
@@ -5906,10 +3973,6 @@ Class QSizePolicy
base size=4 base align=4
QSizePolicy (0xb4a747bc) 0
-Class QFlags<QSizePolicy::ControlType>
- size=4 align=4
- base size=4 base align=4
-QFlags<QSizePolicy::ControlType> (0xb4ac3834) 0
Class QCursor
size=4 align=4
@@ -5997,10 +4060,6 @@ QWidget (0xb48e1b90) 0
QPaintDevice (0xb48e30b4) 8
vptr=((& QWidget::_ZTV7QWidget) + 232u)
-Class QFlags<QWidget::RenderFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QWidget::RenderFlag> (0xb490ee10) 0
Vtable for QDialog
QDialog::_ZTV7QDialog: 66u entries
@@ -6251,10 +4310,6 @@ QAbstractPrintDialog (0xb49bb400) 0
QPaintDevice (0xb49ca168) 8
vptr=((& QAbstractPrintDialog::_ZTV20QAbstractPrintDialog) + 248u)
-Class QFlags<QAbstractPrintDialog::PrintDialogOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractPrintDialog::PrintDialogOption> (0xb47d730c) 0
Vtable for QColorDialog
QColorDialog::_ZTV12QColorDialog: 66u entries
@@ -6505,20 +4560,12 @@ QFileDialog (0xb49bbe80) 0
QPaintDevice (0xb4803bb8) 8
vptr=((& QFileDialog::_ZTV11QFileDialog) + 244u)
-Class QFlags<QFileDialog::Option>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileDialog::Option> (0xb4815ca8) 0
Class QIcon
size=4 align=4
base size=4 base align=4
QIcon (0xb4844078) 0
-Class QTypeInfo<QIcon>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QIcon> (0xb485a438) 0 empty
Vtable for QFileSystemModel
QFileSystemModel::_ZTV16QFileSystemModel: 42u entries
@@ -6980,10 +5027,6 @@ QMessageBox (0xb46d2280) 0
QPaintDevice (0xb46d630c) 8
vptr=((& QMessageBox::_ZTV11QMessageBox) + 244u)
-Class QFlags<QMessageBox::StandardButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<QMessageBox::StandardButton> (0xb46f6168) 0
Vtable for QPageSetupDialog
QPageSetupDialog::_ZTV16QPageSetupDialog: 67u entries
@@ -7488,10 +5531,6 @@ QWizard (0xb4743680) 0
QPaintDevice (0xb475b960) 8
vptr=((& QWizard::_ZTV7QWizard) + 260u)
-Class QFlags<QWizard::WizardOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QWizard::WizardOption> (0xb476dca8) 0
Vtable for QWizardPage
QWizardPage::_ZTV11QWizardPage: 68u entries
@@ -7624,10 +5663,6 @@ Class QGraphicsItem
QGraphicsItem (0xb479f564) 0
vptr=((& QGraphicsItem::_ZTV13QGraphicsItem) + 8u)
-Class QFlags<QGraphicsItem::GraphicsItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGraphicsItem::GraphicsItemFlag> (0xb47c5d5c) 0
Vtable for QAbstractGraphicsShapeItem
QAbstractGraphicsShapeItem::_ZTV26QAbstractGraphicsShapeItem: 39u entries
@@ -8184,15 +6219,7 @@ QGraphicsItemGroup (0xb464a040) 0
QGraphicsItem (0xb46443c0) 0
primary-for QGraphicsItemGroup (0xb464a040)
-Class QMetaTypeId<QGraphicsItem*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QGraphicsItem*> (0xb4644c30) 0 empty
-Class QMetaTypeId<QGraphicsScene*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QGraphicsScene*> (0xb4644dd4) 0 empty
Vtable for QGraphicsLayoutItem
QGraphicsLayoutItem::_ZTV19QGraphicsLayoutItem: 8u entries
@@ -8544,10 +6571,6 @@ Class QPen
base size=4 base align=4
QPen (0xb44c3f3c) 0
-Class QTypeInfo<QPen>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPen> (0xb44d1780) 0 empty
Vtable for QGraphicsScene
QGraphicsScene::_ZTV14QGraphicsScene: 34u entries
@@ -8594,20 +6617,8 @@ QGraphicsScene (0xb46b56c0) 0
QObject (0xb44d1a14) 0
primary-for QGraphicsScene (0xb46b56c0)
-Class QFlags<QGraphicsScene::SceneLayer>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGraphicsScene::SceneLayer> (0xb44f6744) 0
-Class QList<QGraphicsItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QGraphicsItem*>::<anonymous union> (0xb4508168) 0
-Class QList<QGraphicsItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QGraphicsItem*> (0xb45080f0) 0
Vtable for QGraphicsSceneEvent
QGraphicsSceneEvent::_ZTV19QGraphicsSceneEvent: 4u entries
@@ -8770,65 +6781,21 @@ Class QTextOption
base size=24 base align=4
QTextOption (0xb454be10) 0
-Class QFlags<QTextOption::Flag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextOption::Flag> (0xb456c4ec) 0
-Class QMetaTypeId<QTextOption::Tab>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QTextOption::Tab> (0xb457dac8) 0 empty
Class QPainter
size=4 align=4
base size=4 base align=4
QPainter (0xb457ddd4) 0
-Class QFlags<QPainter::RenderHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPainter::RenderHint> (0xb45918ac) 0
-Class QVector<QLineF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF>::<anonymous union> (0xb43f330c) 0
-Class QVector<QLineF>
- size=4 align=4
- base size=4 base align=4
-QVector<QLineF> (0xb43f3294) 0
-Class QVector<QLine>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine>::<anonymous union> (0xb43f3474) 0
-Class QVector<QLine>
- size=4 align=4
- base size=4 base align=4
-QVector<QLine> (0xb43f33fc) 0
-Class QVector<QRectF>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF>::<anonymous union> (0xb43f3bb8) 0
-Class QVector<QRectF>
- size=4 align=4
- base size=4 base align=4
-QVector<QRectF> (0xb43f3b40) 0
-Class QVector<QRect>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect>::<anonymous union> (0xb43f3d20) 0
-Class QVector<QRect>
- size=4 align=4
- base size=4 base align=4
-QVector<QRect> (0xb43f3ca8) 0
Vtable for QAbstractScrollArea
QAbstractScrollArea::_ZTV19QAbstractScrollArea: 65u entries
@@ -9083,15 +7050,7 @@ QGraphicsView (0xb4494480) 0
QPaintDevice (0xb44a5618) 8
vptr=((& QGraphicsView::_ZTV13QGraphicsView) + 252u)
-Class QFlags<QGraphicsView::CacheModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGraphicsView::CacheModeFlag> (0xb44b1ec4) 0
-Class QFlags<QGraphicsView::OptimizationFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QGraphicsView::OptimizationFlag> (0xb42d1ac8) 0
Vtable for QBitmap
QBitmap::_ZTV7QBitmap: 7u entries
@@ -9346,10 +7305,6 @@ QImageIOPlugin (0xb4344af0) 0
QFactoryInterface (0xb433af00) 8 nearly-empty
primary-for QImageIOHandlerFactoryInterface (0xb4313f00)
-Class QFlags<QImageIOPlugin::Capability>
- size=4 align=4
- base size=4 base align=4
-QFlags<QImageIOPlugin::Capability> (0xb434d960) 0
Class QImageReader
size=4 align=4
@@ -9525,15 +7480,7 @@ QActionGroup (0xb41d0580) 0
QObject (0xb41d7a8c) 0
primary-for QActionGroup (0xb41d0580)
-Class QList<QAction*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QAction*>::<anonymous union> (0xb41e58ac) 0
-Class QList<QAction*>
- size=4 align=4
- base size=4 base align=4
-QList<QAction*> (0xb41e5834) 0
Vtable for QInputContext
QInputContext::_ZTV13QInputContext: 26u entries
@@ -9839,10 +7786,6 @@ QAbstractSpinBox (0xb4219d00) 0
QPaintDevice (0xb425203c) 8
vptr=((& QAbstractSpinBox::_ZTV16QAbstractSpinBox) + 252u)
-Class QFlags<QAbstractSpinBox::StepEnabledFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractSpinBox::StepEnabledFlag> (0xb42671e0) 0
Vtable for QAbstractSlider
QAbstractSlider::_ZTV15QAbstractSlider: 64u entries
@@ -10050,15 +7993,7 @@ QStyle (0xb426da00) 0
QObject (0xb42ac708) 0
primary-for QStyle (0xb426da00)
-Class QFlags<QStyle::StateFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::StateFlag> (0xb40dc078) 0
-Class QFlags<QStyle::SubControl>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyle::SubControl> (0xb40dcca8) 0
Vtable for QTabBar
QTabBar::_ZTV7QTabBar: 67u entries
@@ -10317,10 +8252,6 @@ Class QStyleOptionFrame
QStyleOptionFrame (0xb4166040) 0
QStyleOption (0xb415eb04) 0
-Class QFlags<QStyleOptionFrameV2::FrameFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionFrameV2::FrameFeature> (0xb416d258) 0
Class QStyleOptionFrameV2
size=56 align=4
@@ -10347,10 +8278,6 @@ Class QStyleOptionHeader
QStyleOptionHeader (0xb4166ac0) 0
QStyleOption (0xb419721c) 0
-Class QFlags<QStyleOptionButton::ButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionButton::ButtonFeature> (0xb4197c6c) 0
Class QStyleOptionButton
size=64 align=4
@@ -10358,10 +8285,6 @@ Class QStyleOptionButton
QStyleOptionButton (0xb4166d80) 0
QStyleOption (0xb4197960) 0
-Class QFlags<QStyleOptionTab::CornerWidget>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionTab::CornerWidget> (0xb3fc7168) 0
Class QStyleOptionTab
size=72 align=4
@@ -10376,10 +8299,6 @@ QStyleOptionTabV2 (0xb41b23c0) 0
QStyleOptionTab (0xb41b2400) 0
QStyleOption (0xb3fe01a4) 0
-Class QFlags<QStyleOptionToolBar::ToolBarFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionToolBar::ToolBarFeature> (0xb3fe0e4c) 0
Class QStyleOptionToolBar
size=68 align=4
@@ -10406,10 +8325,6 @@ Class QStyleOptionMenuItem
QStyleOptionMenuItem (0xb41b2d00) 0
QStyleOption (0xb4012834) 0
-Class QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionQ3ListViewItem::Q3ListViewItemFeature> (0xb4024168) 0
Class QStyleOptionQ3ListViewItem
size=64 align=4
@@ -10442,10 +8357,6 @@ Class QStyleOptionViewItem
QStyleOptionViewItem (0xb402c9c0) 0
QStyleOption (0xb40543c0) 0
-Class QFlags<QStyleOptionViewItemV2::ViewItemFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionViewItemV2::ViewItemFeature> (0xb4054c30) 0
Class QStyleOptionViewItemV2
size=84 align=4
@@ -10510,15 +8421,7 @@ QStyleOptionSpinBox (0xb40aa600) 0
QStyleOptionComplex (0xb40aa640) 0
QStyleOption (0xb40b3474) 0
-Class QList<QStyleOptionQ3ListViewItem>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::<anonymous union> (0xb40b3c6c) 0
-Class QList<QStyleOptionQ3ListViewItem>
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem> (0xb40b3bf4) 0
Class QStyleOptionQ3ListView
size=84 align=4
@@ -10527,10 +8430,6 @@ QStyleOptionQ3ListView (0xb40aa880) 0
QStyleOptionComplex (0xb40aa8c0) 0
QStyleOption (0xb40b3b04) 0
-Class QFlags<QStyleOptionToolButton::ToolButtonFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QStyleOptionToolButton::ToolButtonFeature> (0xb3eda474) 0
Class QStyleOptionToolButton
size=96 align=4
@@ -10627,10 +8526,6 @@ Class QItemSelectionRange
base size=8 base align=4
QItemSelectionRange (0xb3f319d8) 0
-Class QTypeInfo<QItemSelectionRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QItemSelectionRange> (0xb3f62b7c) 0 empty
Vtable for QItemSelectionModel
QItemSelectionModel::_ZTV19QItemSelectionModel: 18u entries
@@ -10661,20 +8556,8 @@ QItemSelectionModel (0xb3f3abc0) 0
QObject (0xb3f7c000) 0
primary-for QItemSelectionModel (0xb3f3abc0)
-Class QFlags<QItemSelectionModel::SelectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QItemSelectionModel::SelectionFlag> (0xb3f8b294) 0
-Class QList<QItemSelectionRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::<anonymous union> (0xb3f8bf3c) 0
-Class QList<QItemSelectionRange>
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange> (0xb3f8bec4) 0
Class QItemSelection
size=4 align=4
@@ -10804,10 +8687,6 @@ QAbstractItemView (0xb3fb9180) 0
QPaintDevice (0xb3fba2d0) 8
vptr=((& QAbstractItemView::_ZTV17QAbstractItemView) + 392u)
-Class QFlags<QAbstractItemView::EditTrigger>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractItemView::EditTrigger> (0xb3de00b4) 0
Vtable for QAbstractProxyModel
QAbstractProxyModel::_ZTV19QAbstractProxyModel: 47u entries
@@ -11270,15 +9149,7 @@ Class QItemEditorCreatorBase
QItemEditorCreatorBase (0xb3e6ac6c) 0 nearly-empty
vptr=((& QItemEditorCreatorBase::_ZTV22QItemEditorCreatorBase) + 8u)
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*>::<anonymous union> (0xb3e7d708) 0
-Class QHash<QVariant::Type, QItemEditorCreatorBase*>
- size=4 align=4
- base size=4 base align=4
-QHash<QVariant::Type, QItemEditorCreatorBase*> (0xb3e7d690) 0
Vtable for QItemEditorFactory
QItemEditorFactory::_ZTV18QItemEditorFactory: 6u entries
@@ -11419,15 +9290,7 @@ QListView (0xb3e83140) 0
QPaintDevice (0xb3e7da14) 8
vptr=((& QListView::_ZTV9QListView) + 392u)
-Class QVector<void*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<void*>::<anonymous union> (0xb3ebb12c) 0
-Class QVector<void*>
- size=4 align=4
- base size=4 base align=4
-QVector<void*> (0xb3ebb0b4) 0
Vtable for QListWidgetItem
QListWidgetItem::_ZTV15QListWidgetItem: 11u entries
@@ -11720,15 +9583,7 @@ Class QStandardItem
QStandardItem (0xb3d370f0) 0
vptr=((& QStandardItem::_ZTV13QStandardItem) + 8u)
-Class QList<QStandardItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QStandardItem*>::<anonymous union> (0xb3d93b04) 0
-Class QList<QStandardItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QStandardItem*> (0xb3d93a8c) 0
Vtable for QStandardItemModel
QStandardItemModel::_ZTV18QStandardItemModel: 42u entries
@@ -12007,15 +9862,7 @@ Class QTableWidgetSelectionRange
base size=16 base align=4
QTableWidgetSelectionRange (0xb3beff00) 0
-Class QVector<QWidgetItemData>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData>::<anonymous union> (0xb3c0bc30) 0
-Class QVector<QWidgetItemData>
- size=4 align=4
- base size=4 base align=4
-QVector<QWidgetItemData> (0xb3c0bbb8) 0
Vtable for QTableWidgetItem
QTableWidgetItem::_ZTV16QTableWidgetItem: 10u entries
@@ -12292,35 +10139,15 @@ QTreeView (0xb3c64380) 0
QPaintDevice (0xb3c68bf4) 8
vptr=((& QTreeView::_ZTV9QTreeView) + 400u)
-Class QFlags<QTreeWidgetItemIterator::IteratorFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTreeWidgetItemIterator::IteratorFlag> (0xb3c913c0) 0
Class QTreeWidgetItemIterator
size=12 align=4
base size=12 base align=4
QTreeWidgetItemIterator (0xb3c819d8) 0
-Class QVector<QVector<QWidgetItemData> >::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> >::<anonymous union> (0xb3cb9e10) 0
-Class QVector<QVector<QWidgetItemData> >
- size=4 align=4
- base size=4 base align=4
-QVector<QVector<QWidgetItemData> > (0xb3cb9d98) 0
-Class QList<QTreeWidgetItem*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::<anonymous union> (0xb3ad621c) 0
-Class QList<QTreeWidgetItem*>
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*> (0xb3ad61a4) 0
Vtable for QTreeWidgetItem
QTreeWidgetItem::_ZTV15QTreeWidgetItem: 10u entries
@@ -13296,15 +11123,7 @@ Class QTextItem
base size=0 base align=1
QTextItem (0xb3a7d438) 0 empty
-Class QTypeInfo<QTextItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextItem> (0xb3a7d690) 0 empty
-Class QFlags<QPaintEngine::PaintEngineFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::PaintEngineFeature> (0xb3a7df00) 0
Vtable for QPaintEngine
QPaintEngine::_ZTV12QPaintEngine: 24u entries
@@ -13339,20 +11158,12 @@ Class QPaintEngine
QPaintEngine (0xb3a7d780) 0
vptr=((& QPaintEngine::_ZTV12QPaintEngine) + 8u)
-Class QFlags<QPaintEngine::DirtyFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QPaintEngine::DirtyFlag> (0xb3aa50f0) 0
Class QPaintEngineState
size=4 align=4
base size=4 base align=4
QPaintEngineState (0xb3a96dd4) 0
-Class QFlags<QTextItem::RenderFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextItem::RenderFlag> (0xb3aa5e10) 0
Vtable for QPrinter
QPrinter::_ZTV8QPrinter: 7u entries
@@ -13450,10 +11261,6 @@ QCommonStyle (0xb3aa2f00) 0
QObject (0xb3934474) 0
primary-for QStyle (0xb3aa2f40)
-Class QPointer<QFocusFrame>
- size=4 align=4
- base size=4 base align=4
-QPointer<QFocusFrame> (0xb394a744) 0
Vtable for QMotifStyle
QMotifStyle::_ZTV11QMotifStyle: 35u entries
@@ -13985,30 +11792,14 @@ Class QTextLength
base size=12 base align=4
QTextLength (0xb37eb168) 0
-Class QSharedDataPointer<QTextFormatPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextFormatPrivate> (0xb37f3bf4) 0
Class QTextFormat
size=8 align=4
base size=8 base align=4
QTextFormat (0xb37f3474) 0
-Class QVector<QTextLength>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength>::<anonymous union> (0xb382a0b4) 0
-Class QVector<QTextLength>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLength> (0xb382a03c) 0
-Class QFlags<QTextFormat::PageBreakFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextFormat::PageBreakFlag> (0xb382add4) 0
Class QTextCharFormat
size=8 align=4
@@ -14070,15 +11861,7 @@ Class QTextLayout
base size=4 base align=4
QTextLayout (0xb36e3c30) 0
-Class QVector<QTextLayout::FormatRange>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange>::<anonymous union> (0xb36ef960) 0
-Class QVector<QTextLayout::FormatRange>
- size=4 align=4
- base size=4 base align=4
-QVector<QTextLayout::FormatRange> (0xb36ef8e8) 0
Class QTextLine
size=8 align=4
@@ -14128,15 +11911,7 @@ QTextDocument (0xb36d2d40) 0
QObject (0xb370d924) 0
primary-for QTextDocument (0xb36d2d40)
-Class QFlags<QTextDocument::FindFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextDocument::FindFlag> (0xb3726294) 0
-Class QSharedDataPointer<QTextCursorPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QTextCursorPrivate> (0xb3735fb4) 0
Class QTextCursor
size=4 align=4
@@ -14148,15 +11923,7 @@ Class QAbstractTextDocumentLayout::Selection
base size=12 base align=4
QAbstractTextDocumentLayout::Selection (0xb375b21c) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection>::<anonymous union> (0xb375b618) 0
-Class QVector<QAbstractTextDocumentLayout::Selection>
- size=4 align=4
- base size=4 base align=4
-QVector<QAbstractTextDocumentLayout::Selection> (0xb375b5a0) 0
Class QAbstractTextDocumentLayout::PaintContext
size=48 align=4
@@ -14318,10 +12085,6 @@ QTextFrame (0xb3734f40) 0
QObject (0xb37a6708) 0
primary-for QTextObject (0xb3734f80)
-Class QTypeInfo<QTextFrame::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFrame::iterator> (0xb35c80f0) 0 empty
Vtable for QTextBlockUserData
QTextBlockUserData::_ZTV18QTextBlockUserData: 4u entries
@@ -14346,25 +12109,13 @@ Class QTextBlock
base size=8 base align=4
QTextBlock (0xb35c85dc) 0
-Class QTypeInfo<QTextBlock>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock> (0xb35e80f0) 0 empty
-Class QTypeInfo<QTextBlock::iterator>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextBlock::iterator> (0xb35e81e0) 0 empty
Class QTextFragment
size=12 align=4
base size=12 base align=4
QTextFragment (0xb35e8384) 0
-Class QTypeInfo<QTextFragment>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextFragment> (0xb35f5744) 0 empty
Vtable for QSyntaxHighlighter
QSyntaxHighlighter::_ZTV18QSyntaxHighlighter: 15u entries
@@ -15494,10 +13245,6 @@ QDateEdit (0xb3542580) 0
QPaintDevice (0xb35651a4) 8
vptr=((& QDateEdit::_ZTV9QDateEdit) + 260u)
-Class QFlags<QDateTimeEdit::Section>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDateTimeEdit::Section> (0xb3565a50) 0
Vtable for QDial
QDial::_ZTV5QDial: 64u entries
@@ -15658,10 +13405,6 @@ QDialogButtonBox (0xb3542c00) 0
QPaintDevice (0xb359e3c0) 8
vptr=((& QDialogButtonBox::_ZTV16QDialogButtonBox) + 232u)
-Class QFlags<QDialogButtonBox::StandardButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDialogButtonBox::StandardButton> (0xb35ab7f8) 0
Vtable for QDockWidget
QDockWidget::_ZTV11QDockWidget: 63u entries
@@ -15741,10 +13484,6 @@ QDockWidget (0xb3542f80) 0
QPaintDevice (0xb33c63fc) 8
vptr=((& QDockWidget::_ZTV11QDockWidget) + 232u)
-Class QFlags<QDockWidget::DockWidgetFeature>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDockWidget::DockWidgetFeature> (0xb33dea8c) 0
Vtable for QFocusFrame
QFocusFrame::_ZTV11QFocusFrame: 63u entries
@@ -15906,10 +13645,6 @@ QFontComboBox (0xb33d3640) 0
QPaintDevice (0xb34163fc) 8
vptr=((& QFontComboBox::_ZTV13QFontComboBox) + 240u)
-Class QFlags<QFontComboBox::FontFilter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFontComboBox::FontFilter> (0xb34243c0) 0
Vtable for QGroupBox
QGroupBox::_ZTV9QGroupBox: 63u entries
@@ -16228,10 +13963,6 @@ QMainWindow (0xb346d380) 0
QPaintDevice (0xb347f2d0) 8
vptr=((& QMainWindow::_ZTV11QMainWindow) + 236u)
-Class QFlags<QMainWindow::DockOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QMainWindow::DockOption> (0xb3496438) 0
Vtable for QMdiArea
QMdiArea::_ZTV8QMdiArea: 65u entries
@@ -16317,10 +14048,6 @@ QMdiArea (0xb346d700) 0
QPaintDevice (0xb32b803c) 8
vptr=((& QMdiArea::_ZTV8QMdiArea) + 240u)
-Class QFlags<QMdiArea::AreaOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QMdiArea::AreaOption> (0xb32ca474) 0
Vtable for QMdiSubWindow
QMdiSubWindow::_ZTV13QMdiSubWindow: 63u entries
@@ -16400,10 +14127,6 @@ QMdiSubWindow (0xb346db00) 0
QPaintDevice (0xb32eb078) 8
vptr=((& QMdiSubWindow::_ZTV13QMdiSubWindow) + 232u)
-Class QFlags<QMdiSubWindow::SubWindowOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QMdiSubWindow::SubWindowOption> (0xb32fb168) 0
Vtable for QMenu
QMenu::_ZTV5QMenu: 63u entries
@@ -16681,10 +14404,6 @@ QTextEdit (0xb31ba7c0) 0
QPaintDevice (0xb31bddd4) 8
vptr=((& QTextEdit::_ZTV9QTextEdit) + 256u)
-Class QFlags<QTextEdit::AutoFormattingFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextEdit::AutoFormattingFlag> (0xb3201d20) 0
Vtable for QPlainTextEdit
QPlainTextEdit::_ZTV14QPlainTextEdit: 69u entries
@@ -18386,203 +16105,43 @@ QSvgWidget (0xb2fcb100) 0
QPaintDevice (0xb2fc5780) 8
vptr=((& QSvgWidget::_ZTV10QSvgWidget) + 232u)
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0xb3028870) 0
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0xb3040e10) 0
-Class QVectorTypedData<QPoint>
- size=24 align=4
- base size=24 base align=4
-QVectorTypedData<QPoint> (0xb2f0d12c) 0
-Class QVectorTypedData<QPointF>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QPointF> (0xb2f0dc30) 0
-Class QVectorTypedData<QPainterPath::Element>
- size=36 align=4
- base size=36 base align=4
-QVectorTypedData<QPainterPath::Element> (0xb2f2b708) 0
-Class QVectorTypedData<QLineF>
- size=48 align=4
- base size=48 base align=4
-QVectorTypedData<QLineF> (0xb2f9bf3c) 0
-Class QVectorTypedData<QLine>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QLine> (0xb2fb30f0) 0
-Class QVectorTypedData<QRectF>
- size=48 align=4
- base size=48 base align=4
-QVectorTypedData<QRectF> (0xb2fb32d0) 0
-Class QVectorTypedData<QRect>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QRect> (0xb2fb34b0) 0
-Class QList<QTreeWidgetItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QTreeWidgetItem*>::Node (0xb2e74c6c) 0
-Class QVectorTypedData<QVector<QWidgetItemData> >
- size=20 align=4
- base size=20 base align=4
-QVectorTypedData<QVector<QWidgetItemData> > (0xb2e74e4c) 0
-Class QVectorTypedData<QTextLength>
- size=28 align=4
- base size=28 base align=4
-QVectorTypedData<QTextLength> (0xb2c76000) 0
-Class QVectorTypedData<QTextLayout::FormatRange>
- size=32 align=4
- base size=32 base align=4
-QVectorTypedData<QTextLayout::FormatRange> (0xb2c76474) 0
-Class QVectorTypedData<QAbstractTextDocumentLayout::Selection>
- size=28 align=4
- base size=28 base align=4
-QVectorTypedData<QAbstractTextDocumentLayout::Selection> (0xb2c76e4c) 0
-Class QList<QAction*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QAction*>::Node (0xb2cbbb7c) 0
-Class QTypeInfo<QtConcurrent::ResultItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QtConcurrent::ResultItem> (0xb2d1303c) 0 empty
-Class QMap<int, QtConcurrent::ResultItem>::Node
- size=20 align=4
- base size=20 base align=4
-QMap<int, QtConcurrent::ResultItem>::Node (0xb2d130b4) 0
-Class QMetaTypeId2<QSet<QAccessible::Method> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSet<QAccessible::Method> > (0xb2d2afb4) 0 empty
-Class QHashNode<QAccessible::Method, QHashDummyValue>
- size=16 align=4
- base size=13 base align=4
-QHashNode<QAccessible::Method, QHashDummyValue> (0xb2d3a2d0) 0
-Class QHashNode<QVariant::Type, QItemEditorCreatorBase*>
- size=16 align=4
- base size=16 base align=4
-QHashNode<QVariant::Type, QItemEditorCreatorBase*> (0xb2d6fec4) 0
-Class QTypeInfo<QStandardItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QStandardItem*> (0xb2b84474) 0 empty
-Class QTypeInfo<QTreeWidgetItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTreeWidgetItem*> (0xb2b847bc) 0 empty
-Class QTypeInfo<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLength> (0xb2b95078) 0 empty
-Class QTypeInfo<QTextLayout::FormatRange>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTextLayout::FormatRange> (0xb2b954b0) 0 empty
-Class QTypeInfo<QAbstractTextDocumentLayout::Selection>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAbstractTextDocumentLayout::Selection> (0xb2b95a50) 0 empty
-Class QTypeInfo<QAction*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QAction*> (0xb2ba8b04) 0 empty
-Class QMap<int, QtConcurrent::ResultItem>::PayloadNode
- size=16 align=4
- base size=16 base align=4
-QMap<int, QtConcurrent::ResultItem>::PayloadNode (0xb2bb4168) 0
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0xb2bb4294) 0
-Class QList<QVariant>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::Node (0xb2bb44ec) 0
-Class QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPoint]::<anonymous union> (0xb2bb4ca8) 0
-Class QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPointF]::<anonymous union> (0xb2be63fc) 0
-Class QTypeInfo<QGraphicsItem*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QGraphicsItem*> (0xb2be6b7c) 0 empty
-Class QList<QGraphicsItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QGraphicsItem*>::Node (0xb2be6bf4) 0
-Class QTypeInfo<QStyleOptionQ3ListViewItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QStyleOptionQ3ListViewItem> (0xb2c24078) 0 empty
-Class QList<QStyleOptionQ3ListViewItem>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QStyleOptionQ3ListViewItem>::Node (0xb2c240f0) 0
-Class QList<QItemSelectionRange>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QItemSelectionRange>::Node (0xb2c24564) 0
-Class QList<QStandardItem*>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QStandardItem*>::Node (0xb2c2499c) 0
-Class QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QTextLength]::<anonymous union> (0xb2c24d20) 0
-Class QHashDummyNode<QAccessible::Method, QHashDummyValue>
- size=12 align=4
- base size=12 base align=4
-QHashDummyNode<QAccessible::Method, QHashDummyValue> (0xb2c562d0) 0
-Class QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<T>::realloc(int, int) [with T = QPainterPath::Element]::<anonymous union> (0xb2c56960) 0
diff --git a/tests/auto/bic/data/QtTest.4.1.0.linux-gcc-ia32.txt b/tests/auto/bic/data/QtTest.4.1.0.linux-gcc-ia32.txt
index fb9596e..40f7bf9 100644
--- a/tests/auto/bic/data/QtTest.4.1.0.linux-gcc-ia32.txt
+++ b/tests/auto/bic/data/QtTest.4.1.0.linux-gcc-ia32.txt
@@ -18,145 +18,37 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0xb7f75f40) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0xb7841000) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0xb7841040) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0xb7841080) 0 empty
-Class QTypeInfo<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned char> (0xb78410c0) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0xb7841100) 0 empty
-Class QTypeInfo<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short unsigned int> (0xb7841140) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0xb7841180) 0 empty
-Class QTypeInfo<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned int> (0xb78411c0) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0xb7841200) 0 empty
-Class QTypeInfo<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long unsigned int> (0xb7841240) 0 empty
-Class QTypeInfo<long long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long int> (0xb7841280) 0 empty
-Class QTypeInfo<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long unsigned int> (0xb78412c0) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0xb7841300) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0xb7841340) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0xb7841380) 0 empty
Class QFlag
size=4 align=4
base size=4 base align=4
QFlag (0xb78413c0) 0
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0xb78414c0) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0xb7841500) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0xb7841540) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0xb7841580) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0xb78415c0) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0xb7841600) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0xb7841640) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0xb7841680) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0xb78416c0) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0xb7841700) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0xb7841740) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0xb7841780) 0
Class QInternal
size=1 align=1
@@ -174,10 +66,6 @@ Class QGenericReturnArgument
QGenericReturnArgument (0xb7841880) 0
QGenericArgument (0xb78418c0) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0xb7841a80) 0
Class QMetaObject
size=16 align=4
@@ -194,10 +82,6 @@ Class QChar
base size=2 base align=2
QChar (0xb7841b40) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0xb7841bc0) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -230,10 +114,6 @@ Class QByteRef
base size=8 base align=4
QByteRef (0xb7841ec0) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0xb7841f00) 0 empty
Class QString::Null
size=1 align=1
@@ -250,10 +130,6 @@ Class QString
base size=4 base align=4
QString (0xb7841f40) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0xb724f080) 0
Class QLatin1String
size=4 align=4
@@ -271,10 +147,6 @@ Class QConstString
QConstString (0xb724f180) 0
QString (0xb724f1c0) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0xb724f200) 0 empty
Vtable for std::exception
std::exception::_ZTVSt9exception: 5u entries
@@ -337,15 +209,7 @@ Class QListData
base size=4 base align=4
QListData (0xb724f500) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0xb724f880) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0xb724f800) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -437,10 +301,6 @@ QIODevice (0xb724fa00) 0
QObject (0xb724fa40) 0
primary-for QIODevice (0xb724fa00)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0xb724fb00) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -470,10 +330,6 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0xb724fc80) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0xb724fcc0) 0 empty
Class QMapData::Node
size=8 align=4
@@ -485,10 +341,6 @@ Class QMapData
base size=72 base align=4
QMapData (0xb6efc1c0) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0xb6efc740) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -513,15 +365,7 @@ Class QTextCodec
QTextCodec (0xb6efc680) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0xb6efc880) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0xb6efc800) 0
Class QTextEncoder
size=32 align=4
@@ -533,30 +377,10 @@ Class QTextDecoder
base size=32 base align=4
QTextDecoder (0xb6efc900) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6efc940) 0
-Class <anonymous struct>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct>::<anonymous union> (0xb6efc9c0) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6efc980) 0
-Class <anonymous struct>
- size=12 align=4
- base size=12 base align=4
-<anonymous struct> (0xb6efca00) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb6efca40) 0
Class __gconv_trans_data
size=20 align=4
@@ -578,15 +402,7 @@ Class __gconv_info
base size=8 base align=4
__gconv_info (0xb6efcb40) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0xb6efcbc0) 0
-Class <anonymous union>
- size=44 align=4
- base size=44 base align=4
-<anonymous union> (0xb6efcb80) 0
Class _IO_marker
size=12 align=4
@@ -598,10 +414,6 @@ Class _IO_FILE
base size=148 base align=4
_IO_FILE (0xb6efcc40) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb6efcc80) 0
Vtable for QTextStream
QTextStream::_ZTV11QTextStream: 4u entries
@@ -616,10 +428,6 @@ Class QTextStream
QTextStream (0xb6efccc0) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0xb6efcd80) 0
Class QTextStreamManipulator
size=24 align=4
@@ -656,40 +464,16 @@ QTextOStream (0xb6efcf40) 0
QTextStream (0xb6efcf80) 0
primary-for QTextOStream (0xb6efcf40)
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0xb6efc4c0) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0xb6efc700) 0
Class wait
size=4 align=4
base size=4 base align=4
wait (0xb6efc080) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6efc780) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6efcd40) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb6efcf00) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb6efcfc0) 0
Class timespec
size=8 align=4
@@ -701,80 +485,24 @@ Class timeval
base size=8 base align=4
timeval (0xb6eb1040) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb6eb1080) 0
-Class <anonymous union>
- size=36 align=4
- base size=36 base align=4
-<anonymous union> (0xb6eb10c0) 0
Class __pthread_internal_slist
size=4 align=4
base size=4 base align=4
__pthread_internal_slist (0xb6eb1100) 0
-Class <anonymous union>::__pthread_mutex_s::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union>::__pthread_mutex_s::<anonymous union> (0xb6eb11c0) 0
-Class <anonymous union>::__pthread_mutex_s
- size=24 align=4
- base size=24 base align=4
-<anonymous union>::__pthread_mutex_s (0xb6eb1180) 0
-Class <anonymous union>
- size=24 align=4
- base size=24 base align=4
-<anonymous union> (0xb6eb1140) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb6eb1200) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0xb6eb1280) 0
-Class <anonymous union>
- size=48 align=4
- base size=48 base align=4
-<anonymous union> (0xb6eb1240) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb6eb12c0) 0
-Class <anonymous union>::<anonymous struct>
- size=32 align=4
- base size=32 base align=4
-<anonymous union>::<anonymous struct> (0xb6eb1340) 0
-Class <anonymous union>
- size=32 align=4
- base size=32 base align=4
-<anonymous union> (0xb6eb1300) 0
-Class <anonymous union>
- size=8 align=4
- base size=8 base align=4
-<anonymous union> (0xb6eb1380) 0
-Class <anonymous union>
- size=20 align=4
- base size=20 base align=4
-<anonymous union> (0xb6eb13c0) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb6eb1400) 0
Class random_data
size=28 align=4
@@ -845,10 +573,6 @@ QFile (0xb6eb1780) 0
QObject (0xb6eb1800) 0
primary-for QIODevice (0xb6eb17c0)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0xb6eb1880) 0
Vtable for QTemporaryFile
QTemporaryFile::_ZTV14QTemporaryFile: 31u entries
@@ -901,50 +625,22 @@ Class QFileInfo
base size=4 base align=4
QFileInfo (0xb6eb1a00) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0xb6eb1a40) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0xb6eb1a80) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0xb6eb1b40) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0xb6eb1ac0) 0
Class QRegExp
size=4 align=4
base size=4 base align=4
QRegExp (0xb6eb1b80) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0xb6eb1bc0) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0xb6eb1c00) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0xb6eb1cc0) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0xb6eb1c40) 0
Class QStringList
size=4 align=4
@@ -952,30 +648,14 @@ Class QStringList
QStringList (0xb6eb1d00) 0
QList<QString> (0xb6eb1d40) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0xb6eb1dc0) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0xb6eb1e00) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0xb6eb1ec0) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0xb6eb1f40) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0xb6eb1fc0) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -1032,10 +712,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0xb6eb1740) 0
vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0xb6c7a0c0) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -1190,110 +866,30 @@ Class QUrl
base size=4 base align=4
QUrl (0xb6c7a480) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0xb6c7a500) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0xb6c7a540) 0 empty
Class QMetaType
size=1 align=1
base size=0 base align=1
QMetaType (0xb6c7a580) 0 empty
-Class QMetaTypeId<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QString> (0xb6c7a600) 0 empty
-Class QMetaTypeId<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<int> (0xb6c7a640) 0 empty
-Class QMetaTypeId<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<unsigned int> (0xb6c7a680) 0 empty
-Class QMetaTypeId<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<bool> (0xb6c7a6c0) 0 empty
-Class QMetaTypeId<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<double> (0xb6c7a700) 0 empty
-Class QMetaTypeId<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QByteArray> (0xb6c7a740) 0 empty
-Class QMetaTypeId<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QChar> (0xb6c7a780) 0 empty
-Class QMetaTypeId<void>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<void> (0xb6c7a7c0) 0 empty
-Class QMetaTypeId<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<long int> (0xb6c7a800) 0 empty
-Class QMetaTypeId<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<short int> (0xb6c7a840) 0 empty
-Class QMetaTypeId<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<char> (0xb6c7a880) 0 empty
-Class QMetaTypeId<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<long unsigned int> (0xb6c7a8c0) 0 empty
-Class QMetaTypeId<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<short unsigned int> (0xb6c7a900) 0 empty
-Class QMetaTypeId<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<unsigned char> (0xb6c7a940) 0 empty
-Class QMetaTypeId<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<float> (0xb6c7a980) 0 empty
-Class QMetaTypeId<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QObject*> (0xb6c7a9c0) 0 empty
-Class QMetaTypeId<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QWidget*> (0xb6c7aa00) 0 empty
-Class QMetaTypeId<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<void*> (0xb6c7aa40) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -1320,35 +916,15 @@ Class QVariant
base size=12 base align=4
QVariant (0xb6c7aa80) 0
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0xb6c7ad80) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0xb6c7ad00) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0xb6c7ae80) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0xb6c7ae00) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0xb6c7a040) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0xb6c7a200) 0 empty
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1380,80 +956,48 @@ Class QPoint
base size=8 base align=4
QPoint (0xb6c7abc0) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0xb6c7ac00) 0 empty
Class QPointF
size=16 align=4
base size=16 base align=4
QPointF (0xb6c7aec0) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0xb6c7af80) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0xb6a0f000) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0xb6a0f040) 0 empty
Class QLineF
size=32 align=4
base size=32 base align=4
QLineF (0xb6a0f080) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0xb6a0f0c0) 0 empty
Class QSize
size=8 align=4
base size=8 base align=4
QSize (0xb6a0f100) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0xb6a0f300) 0 empty
Class QSizeF
size=16 align=4
base size=16 base align=4
QSizeF (0xb6a0f380) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0xb6a0f580) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0xb6a0f640) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0xb6a0f740) 0 empty
Class QRectF
size=32 align=4
base size=32 base align=4
QRectF (0xb6a0f780) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0xb6a0f840) 0 empty
Class QLinkedListData
size=20 align=4
@@ -1470,10 +1014,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0xb6a0fc00) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0xb6a0fc40) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -1490,40 +1030,24 @@ Class QLocale
base size=4 base align=4
QLocale (0xb6a0fe00) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0xb6a0fe40) 0 empty
Class QDate
size=4 align=4
base size=4 base align=4
QDate (0xb6a0ffc0) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0xb6a0f1c0) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0xb6a0f200) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0xb6a0f2c0) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0xb6a0f140) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0xb6a0f180) 0 empty
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -1683,10 +1207,6 @@ QEventLoop (0xb68bf100) 0
QObject (0xb68bf140) 0
primary-for QEventLoop (0xb68bf100)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0xb68bf240) 0
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -1778,20 +1298,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0xb68bf680) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0xb68bf6c0) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0xb68bf700) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0xb68bf780) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -2011,10 +1523,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0xb68bfc00) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0xb68bfc40) 0 empty
Vtable for QSocketNotifier
QSocketNotifier::_ZTV15QSocketNotifier: 14u entries
@@ -2109,20 +1617,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0xb68bfec0) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0xb68bff00) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0xb68bff40) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0xb68bff80) 0 empty
Class QMetaProperty
size=20 align=4
@@ -2134,10 +1634,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0xb68bf000) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0xb68bf0c0) 0 empty
Vtable for QPluginLoader
QPluginLoader::_ZTV13QPluginLoader: 14u entries
@@ -2265,30 +1761,10 @@ Class QTestData
base size=4 base align=4
QTestData (0xb65f50c0) 0
-Class QMetaTypeId<QStringList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QStringList> (0xb65f5100) 0 empty
-Class QList<QList<QVariant> >::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QList<QVariant> >::<anonymous union> (0xb65f5340) 0
-Class QList<QList<QVariant> >
- size=4 align=4
- base size=4 base align=4
-QList<QList<QVariant> > (0xb65f52c0) 0
-Class QList<int>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<int>::<anonymous union> (0xb65f5500) 0
-Class QList<int>
- size=4 align=4
- base size=4 base align=4
-QList<int> (0xb65f5480) 0
Vtable for QSignalSpy
QSignalSpy::_ZTV10QSignalSpy: 14u entries
@@ -2341,48 +1817,12 @@ QTestEventLoop (0xb65f5780) 0
QObject (0xb65f57c0) 0
primary-for QTestEventLoop (0xb65f5780)
-Class QPointer<QTestEventLoop>
- size=4 align=4
- base size=4 base align=4
-QPointer<QTestEventLoop> (0xb65f5880) 0
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0xb65f59c0) 0
-Class QTypeInfo<QDebug::Stream*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDebug::Stream*> (0xb65f5a40) 0 empty
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0xb65f5ac0) 0
-Class QList<int>::Node
- size=4 align=4
- base size=4 base align=4
-QList<int>::Node (0xb65f5bc0) 0
-Class QTypeInfo<QList<QVariant> >
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QList<QVariant> > (0xb65f5c40) 0 empty
-Class QList<QList<QVariant> >::Node
- size=4 align=4
- base size=4 base align=4
-QList<QList<QVariant> >::Node (0xb65f5cc0) 0
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0xb65f5d40) 0
-Class QList<QVariant>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::Node (0xb65f5dc0) 0
diff --git a/tests/auto/bic/data/QtTest.4.1.0.win32-gcc-ia32.txt b/tests/auto/bic/data/QtTest.4.1.0.win32-gcc-ia32.txt
index b152f41..82131cf 100644
--- a/tests/auto/bic/data/QtTest.4.1.0.win32-gcc-ia32.txt
+++ b/tests/auto/bic/data/QtTest.4.1.0.win32-gcc-ia32.txt
@@ -18,80 +18,20 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0xad5e40) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0xaeb680) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0xaeb800) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0xaeb980) 0 empty
-Class QTypeInfo<uchar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uchar> (0xaebb00) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0xaebc80) 0 empty
-Class QTypeInfo<ushort>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ushort> (0xaebe00) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0xaebf80) 0 empty
-Class QTypeInfo<uint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uint> (0xb07100) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0xb07280) 0 empty
-Class QTypeInfo<ulong>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ulong> (0xb07400) 0 empty
-Class QTypeInfo<qint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<qint64> (0xb07580) 0 empty
-Class QTypeInfo<quint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<quint64> (0xb07700) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0xb07880) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0xb07a00) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0xb07b80) 0 empty
Class QFlag
size=4 align=4
@@ -108,10 +48,6 @@ Class QChar
base size=2 base align=2
QChar (0xb4d840) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0xb70cc0) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -139,70 +75,18 @@ Class QByteRef
base size=8 base align=4
QByteRef (0xc34f80) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0xd4bc40) 0 empty
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0xd77100) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0xd773c0) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0xd72c80) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0xd8d100) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0xd77a80) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0xd949c0) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0xdc8140) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0xdc8440) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0xd8d340) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0xdd8180) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0xdd8940) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0xdd8c80) 0
Class QInternal
size=1 align=1
@@ -229,10 +113,6 @@ Class QLatin1String
base size=4 base align=4
QLatin1String (0xeac500) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0xeac940) 0
Class QCharRef
size=8 align=4
@@ -245,10 +125,6 @@ Class QConstString
QConstString (0x11e1880) 0
QString (0x11e18c0) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0x11e1c00) 0 empty
Vtable for std::exception
std::exception::_ZTVSt9exception: 5u entries
@@ -311,10 +187,6 @@ Class QListData
base size=4 base align=4
QListData (0x1279f00) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0x137ce40) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -339,15 +211,7 @@ Class QTextCodec
QTextCodec (0xeac480) 0 nearly-empty
vptr=((&QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0x13c0140) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0xc3da40) 0
Class QTextEncoder
size=32 align=4
@@ -370,25 +234,13 @@ Class QGenericReturnArgument
QGenericReturnArgument (0x13fefc0) 0
QGenericArgument (0x1404000) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0x1417700) 0
Class QMetaObject
size=16 align=4
base size=16 base align=4
QMetaObject (0x1404580) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0x1431f80) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0x1431b80) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -480,10 +332,6 @@ QIODevice (0x137c700) 0
QObject (0x14bb540) 0
primary-for QIODevice (0x137c700)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0x14bb840) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -503,25 +351,13 @@ Class QRegExp
base size=4 base align=4
QRegExp (0xeac380) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0x15884c0) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0x1588840) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0x1588d80) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0x1588c40) 0
Class QStringList
size=4 align=4
@@ -529,15 +365,7 @@ Class QStringList
QStringList (0xeac400) 0
QList<QString> (0x15b6000) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0x1588ec0) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0x1588e80) 0
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -666,50 +494,22 @@ QFile (0x169c840) 0
QObject (0x169c8c0) 0
primary-for QIODevice (0x169c880)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0x16ab100) 0
Class QFileInfo
size=4 align=4
base size=4 base align=4
QFileInfo (0x16d25c0) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0x16d2f00) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0x1700e40) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0x172a300) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0x172a200) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0x16d2440) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0x1758040) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0x172ac00) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -766,10 +566,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0x169c740) 0
vptr=((&QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0x17d7340) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -843,10 +639,6 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0x182cc40) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0x182cd40) 0 empty
Class QMapData::Node
size=8 align=4
@@ -871,10 +663,6 @@ Class QTextStream
QTextStream (0x1a78240) 0
vptr=((&QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0x1a78600) 0
Class QTextStreamManipulator
size=24 align=4
@@ -911,20 +699,8 @@ QTextOStream (0x1b06440) 0
QTextStream (0x1b06480) 0
primary-for QTextOStream (0x1b06440)
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x1b33680) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x1b33800) 0
-Class <anonymous struct>
- size=16 align=8
- base size=16 base align=8
-<anonymous struct> (0x1b525c0) 0
Class QVectorData
size=16 align=4
@@ -1037,95 +813,23 @@ Class QMetaType
base size=0 base align=1
QMetaType (0x1ce1bc0) 0 empty
-Class QMetaTypeId<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QString> (0x1cfbd40) 0 empty
-Class QMetaTypeId<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<int> (0x1cfbec0) 0 empty
-Class QMetaTypeId<uint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<uint> (0x1d15040) 0 empty
-Class QMetaTypeId<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<bool> (0x1d151c0) 0 empty
-Class QMetaTypeId<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<double> (0x1d15340) 0 empty
-Class QMetaTypeId<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QByteArray> (0x1d154c0) 0 empty
-Class QMetaTypeId<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QChar> (0x1d15640) 0 empty
-Class QMetaTypeId<void>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<void> (0x1d157c0) 0 empty
-Class QMetaTypeId<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<long int> (0x1d15940) 0 empty
-Class QMetaTypeId<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<short int> (0x1d15ac0) 0 empty
-Class QMetaTypeId<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<char> (0x1d15c40) 0 empty
-Class QMetaTypeId<ulong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<ulong> (0x1d15dc0) 0 empty
-Class QMetaTypeId<ushort>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<ushort> (0x1d15f40) 0 empty
-Class QMetaTypeId<uchar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<uchar> (0x1d340c0) 0 empty
-Class QMetaTypeId<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<float> (0x1d34240) 0 empty
-Class QMetaTypeId<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QObject*> (0x1d343c0) 0 empty
-Class QMetaTypeId<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QWidget*> (0x1d34540) 0 empty
-Class QMetaTypeId<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<void*> (0x1d346c0) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -1152,35 +856,15 @@ Class QVariant
base size=16 base align=8
QVariant (0x14318c0) 0
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0x1dd0540) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0x1d46dc0) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0x1dd0840) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0x1d46e40) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0x1d46000) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0x1e36280) 0 empty
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1258,15 +942,7 @@ Class QUrl
base size=4 base align=4
QUrl (0x1d34f80) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0x1ed2440) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0x1f01f80) 0 empty
Vtable for QEventLoop
QEventLoop::_ZTV10QEventLoop: 14u entries
@@ -1293,10 +969,6 @@ QEventLoop (0x1f2e600) 0
QObject (0x1f2e640) 0
primary-for QEventLoop (0x1f2e600)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0x1f2e940) 0
Vtable for QAbstractEventDispatcher
QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 27u entries
@@ -1341,20 +1013,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0x1f66f40) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0x1f9ab40) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0x1f66ec0) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0x1f9ae80) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -1524,10 +1188,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0x200bd80) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0x204b3c0) 0 empty
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -1620,20 +1280,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0x13fe8c0) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0x20ba900) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0x13fe940) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0x20baf00) 0 empty
Class QMetaProperty
size=20 align=4
@@ -1645,10 +1297,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0x13fea40) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0x20e8640) 0 empty
Vtable for QMimeData
QMimeData::_ZTV9QMimeData: 17u entries
@@ -1941,10 +1589,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0x2235640) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0x2294040) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -1956,70 +1600,42 @@ Class QDate
base size=4 base align=4
QDate (0x1d34900) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0x22d1900) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0x1d34b00) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0x22f4540) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0x16d24c0) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0x231d300) 0 empty
Class QPoint
size=8 align=4
base size=8 base align=4
QPoint (0x1d34b80) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0x231df40) 0 empty
Class QPointF
size=16 align=8
base size=16 base align=8
QPointF (0x1d34c00) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0x236e180) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0x1d34980) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0x238f600) 0 empty
Class QLineF
size=32 align=8
base size=32 base align=8
QLineF (0x1d34a00) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0x23b9b00) 0 empty
Class QLinkedListData
size=20 align=4
@@ -2031,75 +1647,39 @@ Class QLocale
base size=4 base align=4
QLocale (0x1d34a80) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0x250a300) 0 empty
Class QSize
size=8 align=4
base size=8 base align=4
QSize (0x1d34c80) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0x2538480) 0 empty
Class QSizeF
size=16 align=8
base size=16 base align=8
QSizeF (0x1d34d00) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0x255d9c0) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0x1d34d80) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0x25cb440) 0 empty
Class QRectF
size=32 align=8
base size=32 base align=8
QRectF (0x1d34e00) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0x2649680) 0 empty
Class QSharedData
size=4 align=4
base size=4 base align=4
QSharedData (0x26f1500) 0
-Class QList<QList<QVariant> >::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QList<QVariant> >::<anonymous union> (0x2719e40) 0
-Class QList<QList<QVariant> >
- size=4 align=4
- base size=4 base align=4
-QList<QList<QVariant> > (0x2719d00) 0
-Class QList<int>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<int>::<anonymous union> (0x27513c0) 0
-Class QList<int>
- size=4 align=4
- base size=4 base align=4
-QList<int> (0x137c9c0) 0
Vtable for QSignalSpy
QSignalSpy::_ZTV10QSignalSpy: 14u entries
@@ -2132,10 +1712,6 @@ Class QTestData
base size=4 base align=4
QTestData (0x27d73c0) 0
-Class QMetaTypeId<QStringList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QStringList> (0x27f47c0) 0 empty
Vtable for QTestEventLoop
QTestEventLoop::_ZTV14QTestEventLoop: 14u entries
@@ -2162,48 +1738,12 @@ QTestEventLoop (0x2816ec0) 0
QObject (0x2816f00) 0
primary-for QTestEventLoop (0x2816ec0)
-Class QPointer<QTestEventLoop>
- size=4 align=4
- base size=4 base align=4
-QPointer<QTestEventLoop> (0x2843600) 0
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0x13c0100) 0
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0x1588d40) 0
-Class QTypeInfo<QDebug::Stream*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDebug::Stream*> (0x29fb6c0) 0 empty
-Class QList<int>::Node
- size=4 align=4
- base size=4 base align=4
-QList<int>::Node (0x2751380) 0
-Class QTypeInfo<QList<QVariant> >
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QList<QVariant> > (0x2a73240) 0 empty
-Class QList<QList<QVariant> >::Node
- size=4 align=4
- base size=4 base align=4
-QList<QList<QVariant> >::Node (0x2719e00) 0
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0x172a2c0) 0
-Class QList<QVariant>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::Node (0x1dd0500) 0
diff --git a/tests/auto/bic/data/QtTest.4.2.0.linux-gcc-ia32.txt b/tests/auto/bic/data/QtTest.4.2.0.linux-gcc-ia32.txt
index 7bc73ba..a8441c6 100644
--- a/tests/auto/bic/data/QtTest.4.2.0.linux-gcc-ia32.txt
+++ b/tests/auto/bic/data/QtTest.4.2.0.linux-gcc-ia32.txt
@@ -1,34 +1,8 @@
-Class QUintForSize<4>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<4> (0xb7f36d80) 0 empty
-Class QUintForSize<8>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<8> (0xb7f36dc0) 0 empty
-Class QUintForType<void*>
- size=1 align=1
- base size=1 base align=1
-QUintForType<void*> (0xb7f36e80) 0 empty
- QUintForSize<4> (0xb7f36ec0) 0 empty
-Class QIntForSize<4>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<4> (0xb7f36f40) 0 empty
-Class QIntForSize<8>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<8> (0xb7f36f80) 0 empty
-Class QIntForType<void*>
- size=1 align=1
- base size=1 base align=1
-QIntForType<void*> (0xb77f3040) 0 empty
- QIntForSize<4> (0xb77f3080) 0 empty
Class QSysInfo
size=1 align=1
@@ -50,150 +24,38 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0xb77f3300) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0xb77f33c0) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0xb77f3400) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0xb77f3440) 0 empty
-Class QTypeInfo<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned char> (0xb77f3480) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0xb77f34c0) 0 empty
-Class QTypeInfo<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short unsigned int> (0xb77f3500) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0xb77f3540) 0 empty
-Class QTypeInfo<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned int> (0xb77f3580) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0xb77f35c0) 0 empty
-Class QTypeInfo<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long unsigned int> (0xb77f3600) 0 empty
-Class QTypeInfo<long long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long int> (0xb77f3640) 0 empty
-Class QTypeInfo<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long unsigned int> (0xb77f3680) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0xb77f36c0) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0xb77f3700) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0xb77f3740) 0 empty
Class QFlag
size=4 align=4
base size=4 base align=4
QFlag (0xb77f3780) 0
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0xb77f3880) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0xb77f38c0) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0xb77f3900) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0xb77f3940) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0xb77f3980) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0xb77f39c0) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0xb77f3a00) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0xb77f3a40) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0xb77f3a80) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0xb77f3ac0) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0xb77f3b00) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0xb77f3b40) 0
-Class QFlags<Qt::TextInteractionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::TextInteractionFlag> (0xb77f3b80) 0
Class QInternal
size=1 align=1
@@ -211,10 +73,6 @@ Class QGenericReturnArgument
QGenericReturnArgument (0xb77f3c40) 0
QGenericArgument (0xb77f3c80) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0xb77f3e40) 0
Class QMetaObject
size=16 align=4
@@ -231,10 +89,6 @@ Class QChar
base size=2 base align=2
QChar (0xb77f3f00) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0xb77f3f80) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -267,10 +121,6 @@ Class QByteRef
base size=8 base align=4
QByteRef (0xb733d280) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0xb733d2c0) 0 empty
Class QString::Null
size=1 align=1
@@ -287,10 +137,6 @@ Class QString
base size=4 base align=4
QString (0xb733d300) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0xb733d480) 0
Class QLatin1String
size=4 align=4
@@ -308,10 +154,6 @@ Class QConstString
QConstString (0xb733d580) 0
QString (0xb733d5c0) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0xb733d600) 0 empty
Vtable for std::exception
std::exception::_ZTVSt9exception: 5u entries
@@ -374,15 +216,7 @@ Class QListData
base size=4 base align=4
QListData (0xb733d900) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0xb733dc80) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0xb733dc00) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -474,10 +308,6 @@ QIODevice (0xb733de00) 0
QObject (0xb733de40) 0
primary-for QIODevice (0xb733de00)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0xb733df00) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -507,10 +337,6 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0xb733d7c0) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0xb733d880) 0 empty
Class QMapData::Node
size=8 align=4
@@ -522,10 +348,6 @@ Class QMapData
base size=72 base align=4
QMapData (0xb6ee3580) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0xb6ee3b00) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -550,15 +372,7 @@ Class QTextCodec
QTextCodec (0xb6ee3a40) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0xb6ee3c40) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0xb6ee3bc0) 0
Class QTextEncoder
size=32 align=4
@@ -570,30 +384,10 @@ Class QTextDecoder
base size=32 base align=4
QTextDecoder (0xb6ee3cc0) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6ee3d00) 0
-Class <anonymous struct>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct>::<anonymous union> (0xb6ee3d80) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6ee3d40) 0
-Class <anonymous struct>
- size=12 align=4
- base size=12 base align=4
-<anonymous struct> (0xb6ee3dc0) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb6ee3e00) 0
Class __gconv_trans_data
size=20 align=4
@@ -615,15 +409,7 @@ Class __gconv_info
base size=8 base align=4
__gconv_info (0xb6ee3f00) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0xb6ee3f80) 0
-Class <anonymous union>
- size=44 align=4
- base size=44 base align=4
-<anonymous union> (0xb6ee3f40) 0
Class _IO_marker
size=12 align=4
@@ -635,10 +421,6 @@ Class _IO_FILE
base size=148 base align=4
_IO_FILE (0xb6ee3440) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb6ee3880) 0
Vtable for QTextStream
QTextStream::_ZTV11QTextStream: 4u entries
@@ -653,10 +435,6 @@ Class QTextStream
QTextStream (0xb6ee3ac0) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0xb6e73040) 0
Class QTextStreamManipulator
size=24 align=4
@@ -693,40 +471,16 @@ QTextOStream (0xb6e73200) 0
QTextStream (0xb6e73240) 0
primary-for QTextOStream (0xb6e73200)
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0xb6e73300) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0xb6e73340) 0
Class wait
size=4 align=4
base size=4 base align=4
wait (0xb6e732c0) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6e73380) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6e733c0) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb6e73400) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb6e73440) 0
Class timespec
size=8 align=4
@@ -738,80 +492,24 @@ Class timeval
base size=8 base align=4
timeval (0xb6e734c0) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb6e73500) 0
-Class <anonymous union>
- size=36 align=4
- base size=36 base align=4
-<anonymous union> (0xb6e73540) 0
Class __pthread_internal_slist
size=4 align=4
base size=4 base align=4
__pthread_internal_slist (0xb6e73580) 0
-Class <anonymous union>::__pthread_mutex_s::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union>::__pthread_mutex_s::<anonymous union> (0xb6e73640) 0
-Class <anonymous union>::__pthread_mutex_s
- size=24 align=4
- base size=24 base align=4
-<anonymous union>::__pthread_mutex_s (0xb6e73600) 0
-Class <anonymous union>
- size=24 align=4
- base size=24 base align=4
-<anonymous union> (0xb6e735c0) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb6e73680) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0xb6e73700) 0
-Class <anonymous union>
- size=48 align=4
- base size=48 base align=4
-<anonymous union> (0xb6e736c0) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb6e73740) 0
-Class <anonymous union>::<anonymous struct>
- size=32 align=4
- base size=32 base align=4
-<anonymous union>::<anonymous struct> (0xb6e737c0) 0
-Class <anonymous union>
- size=32 align=4
- base size=32 base align=4
-<anonymous union> (0xb6e73780) 0
-Class <anonymous union>
- size=8 align=4
- base size=8 base align=4
-<anonymous union> (0xb6e73800) 0
-Class <anonymous union>
- size=20 align=4
- base size=20 base align=4
-<anonymous union> (0xb6e73840) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb6e73880) 0
Class random_data
size=28 align=4
@@ -882,10 +580,6 @@ QFile (0xb6e73d40) 0
QObject (0xb6e73dc0) 0
primary-for QIODevice (0xb6e73d80)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0xb6e73e40) 0
Vtable for QTemporaryFile
QTemporaryFile::_ZTV14QTemporaryFile: 31u entries
@@ -938,50 +632,22 @@ Class QFileInfo
base size=4 base align=4
QFileInfo (0xb6e73fc0) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0xb6e73000) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0xb6e731c0) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0xb6e73e00) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0xb6e73280) 0
Class QRegExp
size=4 align=4
base size=4 base align=4
QRegExp (0xb6e73f80) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0xb6c4a000) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0xb6c4a040) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0xb6c4a100) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0xb6c4a080) 0
Class QStringList
size=4 align=4
@@ -989,30 +655,14 @@ Class QStringList
QStringList (0xb6c4a140) 0
QList<QString> (0xb6c4a180) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0xb6c4a200) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0xb6c4a240) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0xb6c4a300) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0xb6c4a380) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0xb6c4a400) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -1069,10 +719,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0xb6c4a440) 0
vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0xb6c4a5c0) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -1184,15 +830,7 @@ Class QLocale
base size=4 base align=4
QLocale (0xb6c4a880) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0xb6c4a8c0) 0 empty
-Class QFlags<QLocale::NumberOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLocale::NumberOption> (0xb6c4a900) 0
Vtable for QSystemLocale
QSystemLocale::_ZTV13QSystemLocale: 6u entries
@@ -1287,285 +925,65 @@ Class QUrl
base size=4 base align=4
QUrl (0xb6c4ac00) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0xb6c4ac80) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0xb6c4acc0) 0 empty
Class QMetaType
size=1 align=1
base size=0 base align=1
QMetaType (0xb6c4ad00) 0 empty
-Class QMetaTypeId2<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QString> (0xb6c4adc0) 0 empty
-Class QMetaTypeId2<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<int> (0xb6c4ae00) 0 empty
-Class QMetaTypeId2<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned int> (0xb6c4ae40) 0 empty
-Class QMetaTypeId2<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<bool> (0xb6c4ae80) 0 empty
-Class QMetaTypeId2<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<double> (0xb6c4aec0) 0 empty
-Class QMetaTypeId2<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QByteArray> (0xb6c4af00) 0 empty
-Class QMetaTypeId2<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QChar> (0xb6c4af40) 0 empty
-Class QMetaTypeId2<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long int> (0xb6c4af80) 0 empty
-Class QMetaTypeId2<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short int> (0xb6c4afc0) 0 empty
-Class QMetaTypeId2<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<char> (0xb6c4a540) 0 empty
-Class QMetaTypeId2<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long unsigned int> (0xb6c4a640) 0 empty
-Class QMetaTypeId2<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short unsigned int> (0xb6c4a700) 0 empty
-Class QMetaTypeId2<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned char> (0xb6c4a840) 0 empty
-Class QMetaTypeId2<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<float> (0xb6c4a980) 0 empty
-Class QMetaTypeId2<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QObject*> (0xb6c4ab00) 0 empty
-Class QMetaTypeId2<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QWidget*> (0xb6c4abc0) 0 empty
-Class QMetaTypeId2<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<void*> (0xb69bd000) 0 empty
-Class QMetaTypeId2<long long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long int> (0xb69bd040) 0 empty
-Class QMetaTypeId2<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long unsigned int> (0xb69bd080) 0 empty
-Class QMetaTypeId2<QStringList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QStringList> (0xb69bd0c0) 0 empty
-Class QMetaTypeId2<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitArray> (0xb69bd100) 0 empty
-Class QMetaTypeId2<QDate>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDate> (0xb69bd140) 0 empty
-Class QMetaTypeId2<QTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTime> (0xb69bd180) 0 empty
-Class QMetaTypeId2<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDateTime> (0xb69bd1c0) 0 empty
-Class QMetaTypeId2<QUrl>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QUrl> (0xb69bd200) 0 empty
-Class QMetaTypeId2<QLocale>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLocale> (0xb69bd240) 0 empty
-Class QMetaTypeId2<QRect>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRect> (0xb69bd280) 0 empty
-Class QMetaTypeId2<QRectF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRectF> (0xb69bd2c0) 0 empty
-Class QMetaTypeId2<QSize>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSize> (0xb69bd300) 0 empty
-Class QMetaTypeId2<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizeF> (0xb69bd340) 0 empty
-Class QMetaTypeId2<QLine>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLine> (0xb69bd380) 0 empty
-Class QMetaTypeId2<QLineF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLineF> (0xb69bd3c0) 0 empty
-Class QMetaTypeId2<QPoint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPoint> (0xb69bd400) 0 empty
-Class QMetaTypeId2<QPointF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPointF> (0xb69bd440) 0 empty
-Class QMetaTypeId2<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegExp> (0xb69bd480) 0 empty
-Class QMetaTypeId2<QColorGroup>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColorGroup> (0xb69bd4c0) 0 empty
-Class QMetaTypeId2<QFont>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QFont> (0xb69bd500) 0 empty
-Class QMetaTypeId2<QPixmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPixmap> (0xb69bd540) 0 empty
-Class QMetaTypeId2<QBrush>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBrush> (0xb69bd580) 0 empty
-Class QMetaTypeId2<QColor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColor> (0xb69bd5c0) 0 empty
-Class QMetaTypeId2<QPalette>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPalette> (0xb69bd600) 0 empty
-Class QMetaTypeId2<QIcon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QIcon> (0xb69bd640) 0 empty
-Class QMetaTypeId2<QImage>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QImage> (0xb69bd680) 0 empty
-Class QMetaTypeId2<QPolygon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPolygon> (0xb69bd6c0) 0 empty
-Class QMetaTypeId2<QRegion>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegion> (0xb69bd700) 0 empty
-Class QMetaTypeId2<QBitmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitmap> (0xb69bd740) 0 empty
-Class QMetaTypeId2<QCursor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QCursor> (0xb69bd780) 0 empty
-Class QMetaTypeId2<QSizePolicy>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizePolicy> (0xb69bd7c0) 0 empty
-Class QMetaTypeId2<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QKeySequence> (0xb69bd800) 0 empty
-Class QMetaTypeId2<QPen>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPen> (0xb69bd840) 0 empty
-Class QMetaTypeId2<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextLength> (0xb69bd880) 0 empty
-Class QMetaTypeId2<QTextFormat>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextFormat> (0xb69bd8c0) 0 empty
-Class QMetaTypeId2<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMatrix> (0xb69bd900) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -1592,45 +1010,17 @@ Class QVariant
base size=12 base align=4
QVariant (0xb69bd940) 0
-Class QMetaTypeId2<QList<QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QList<QVariant> > (0xb69bdb80) 0 empty
-Class QMetaTypeId2<QMap<QString, QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMap<QString, QVariant> > (0xb69bdbc0) 0 empty
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0xb69bdcc0) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0xb69bdc40) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0xb69bddc0) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0xb69bdd40) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0xb69bde80) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0xb69bdf00) 0 empty
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1662,80 +1052,48 @@ Class QPoint
base size=8 base align=4
QPoint (0xb69bdb40) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0xb69bda80) 0 empty
Class QPointF
size=16 align=4
base size=16 base align=4
QPointF (0xb69bde40) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0xb69bdfc0) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0xb68d7000) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0xb68d7040) 0 empty
Class QLineF
size=32 align=4
base size=32 base align=4
QLineF (0xb68d7080) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0xb68d70c0) 0 empty
Class QSize
size=8 align=4
base size=8 base align=4
QSize (0xb68d7100) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0xb68d7300) 0 empty
Class QSizeF
size=16 align=4
base size=16 base align=4
QSizeF (0xb68d7380) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0xb68d7580) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0xb68d7640) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0xb68d7740) 0 empty
Class QRectF
size=32 align=4
base size=32 base align=4
QRectF (0xb68d7780) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0xb68d7840) 0 empty
Class QLinkedListData
size=20 align=4
@@ -1752,10 +1110,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0xb68d7c00) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0xb68d7c40) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -1772,30 +1126,18 @@ Class QDate
base size=4 base align=4
QDate (0xb68d7ec0) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0xb68d7f80) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0xb68d7fc0) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0xb68d71c0) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0xb68d7200) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0xb68d72c0) 0 empty
Vtable for QTimeLine
QTimeLine::_ZTV9QTimeLine: 15u entries
@@ -1981,10 +1323,6 @@ QEventLoop (0xb6763040) 0
QObject (0xb6763080) 0
primary-for QEventLoop (0xb6763040)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0xb6763180) 0
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -2091,20 +1429,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0xb6763680) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0xb67636c0) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0xb6763700) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0xb6763780) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -2324,10 +1654,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0xb6763c00) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0xb6763c40) 0 empty
Vtable for QSocketNotifier
QSocketNotifier::_ZTV15QSocketNotifier: 14u entries
@@ -2422,20 +1748,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0xb6763ec0) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0xb6763f00) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0xb6763f40) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0xb6763f80) 0 empty
Class QMetaProperty
size=20 align=4
@@ -2447,10 +1765,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0xb6763000) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0xb6763100) 0 empty
Vtable for QPluginLoader
QPluginLoader::_ZTV13QPluginLoader: 14u entries
@@ -2507,10 +1821,6 @@ QLibrary (0xb6763440) 0
QObject (0xb6763500) 0
primary-for QLibrary (0xb6763440)
-Class QFlags<QLibrary::LoadHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLibrary::LoadHint> (0xb6763600) 0
Class QSemaphore
size=4 align=4
@@ -2558,10 +1868,6 @@ Class QMutex
base size=4 base align=4
QMutex (0xb6763bc0) 0
-Class QMutexLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMutexLocker::<anonymous union> (0xb6763dc0) 0
Class QMutexLocker
size=4 align=4
@@ -2573,20 +1879,12 @@ Class QReadWriteLock
base size=4 base align=4
QReadWriteLock (0xb6763e80) 0
-Class QReadLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QReadLocker::<anonymous union> (0xb64c1040) 0
Class QReadLocker
size=4 align=4
base size=4 base align=4
QReadLocker (0xb64c1000) 0
-Class QWriteLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QWriteLocker::<anonymous union> (0xb64c10c0) 0
Class QWriteLocker
size=4 align=4
@@ -2598,25 +1896,9 @@ Class QTestData
base size=4 base align=4
QTestData (0xb64c11c0) 0
-Class QList<QList<QVariant> >::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QList<QVariant> >::<anonymous union> (0xb64c1400) 0
-Class QList<QList<QVariant> >
- size=4 align=4
- base size=4 base align=4
-QList<QList<QVariant> > (0xb64c1380) 0
-Class QList<int>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<int>::<anonymous union> (0xb64c15c0) 0
-Class QList<int>
- size=4 align=4
- base size=4 base align=4
-QList<int> (0xb64c1540) 0
Vtable for QSignalSpy
QSignalSpy::_ZTV10QSignalSpy: 14u entries
@@ -2669,48 +1951,12 @@ QTestEventLoop (0xb64c1800) 0
QObject (0xb64c1840) 0
primary-for QTestEventLoop (0xb64c1800)
-Class QPointer<QTestEventLoop>
- size=4 align=4
- base size=4 base align=4
-QPointer<QTestEventLoop> (0xb64c1900) 0
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0xb64c1a40) 0
-Class QTypeInfo<QDebug::Stream*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDebug::Stream*> (0xb64c1ac0) 0 empty
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0xb64c1b40) 0
-Class QList<int>::Node
- size=4 align=4
- base size=4 base align=4
-QList<int>::Node (0xb64c1bc0) 0
-Class QTypeInfo<QList<QVariant> >
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QList<QVariant> > (0xb64c1c40) 0 empty
-Class QList<QList<QVariant> >::Node
- size=4 align=4
- base size=4 base align=4
-QList<QList<QVariant> >::Node (0xb64c1cc0) 0
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0xb64c1d40) 0
-Class QList<QVariant>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::Node (0xb64c1dc0) 0
diff --git a/tests/auto/bic/data/QtTest.4.2.0.linux-gcc-ppc32.txt b/tests/auto/bic/data/QtTest.4.2.0.linux-gcc-ppc32.txt
index 85a06f8..a2b4de4 100644
--- a/tests/auto/bic/data/QtTest.4.2.0.linux-gcc-ppc32.txt
+++ b/tests/auto/bic/data/QtTest.4.2.0.linux-gcc-ppc32.txt
@@ -1,34 +1,8 @@
-Class QUintForSize<4>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<4> (0x30590d90) 0 empty
-Class QUintForSize<8>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<8> (0x30590e00) 0 empty
-Class QUintForType<void*>
- size=1 align=1
- base size=1 base align=1
-QUintForType<void*> (0x3001bac0) 0 empty
- QUintForSize<4> (0x30590f50) 0 empty
-Class QIntForSize<4>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<4> (0x30597038) 0 empty
-Class QIntForSize<8>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<8> (0x305970a8) 0 empty
-Class QIntForType<void*>
- size=1 align=1
- base size=1 base align=1
-QIntForType<void*> (0x3001bb40) 0 empty
- QIntForSize<4> (0x305971f8) 0 empty
Class QSysInfo
size=1 align=1
@@ -50,150 +24,38 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0x30597578) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0x30597770) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0x30597818) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0x305978c0) 0 empty
-Class QTypeInfo<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned char> (0x30597968) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0x30597a10) 0 empty
-Class QTypeInfo<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short unsigned int> (0x30597ab8) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0x30597b60) 0 empty
-Class QTypeInfo<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned int> (0x30597c08) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0x30597cb0) 0 empty
-Class QTypeInfo<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long unsigned int> (0x30597d58) 0 empty
-Class QTypeInfo<long long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long int> (0x30597e00) 0 empty
-Class QTypeInfo<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long unsigned int> (0x30597ea8) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0x30597f50) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0x305cc000) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0x305cc0a8) 0 empty
Class QFlag
size=4 align=4
base size=4 base align=4
QFlag (0x305cc118) 0
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0x305cc5e8) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0x305cc658) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0x305cc6c8) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0x305cc738) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0x305cc7a8) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0x305cc818) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0x305cc888) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0x305cc8f8) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0x305cc968) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0x305cc9d8) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0x305cca48) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0x305ccab8) 0
-Class QFlags<Qt::TextInteractionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::TextInteractionFlag> (0x305ccb28) 0
Class QInternal
size=1 align=1
@@ -211,10 +73,6 @@ Class QGenericReturnArgument
QGenericReturnArgument (0x3001bc80) 0
QGenericArgument (0x305ccc40) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0x305cce00) 0
Class QMetaObject
size=16 align=4
@@ -231,10 +89,6 @@ Class QChar
base size=2 base align=2
QChar (0x305ccee0) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0x305ccf88) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -267,10 +121,6 @@ Class QByteRef
base size=8 base align=4
QByteRef (0x30af0ce8) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0x30be8038) 0 empty
Class QString::Null
size=1 align=1
@@ -287,10 +137,6 @@ Class QString
base size=4 base align=4
QString (0x30be80e0) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0x30be8310) 0
Class QLatin1String
size=4 align=4
@@ -308,10 +154,6 @@ Class QConstString
QConstString (0x3001bec0) 0
QString (0x30d57498) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0x30d57578) 0 empty
Vtable for std::exception
std::exception::_ZTVSt9exception: 5u entries
@@ -374,15 +216,7 @@ Class QListData
base size=4 base align=4
QListData (0x30d57c78) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0x30e4c0e0) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0x30e4c038) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -474,10 +308,6 @@ QIODevice (0x3001bf80) 0
QObject (0x30e4c5b0) 0
primary-for QIODevice (0x3001bf80)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0x30e4c7a8) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -507,10 +337,6 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0x30e4cee0) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0x30e4cf50) 0 empty
Class QMapData::Node
size=8 align=4
@@ -522,10 +348,6 @@ Class QMapData
base size=72 base align=4
QMapData (0x30f076c8) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0x30f07d58) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -550,15 +372,7 @@ Class QTextCodec
QTextCodec (0x30f07c08) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0x30f07968) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0x30f07f88) 0
Class QTextEncoder
size=32 align=4
@@ -570,30 +384,10 @@ Class QTextDecoder
base size=32 base align=4
QTextDecoder (0x31068070) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x31068118) 0
-Class <anonymous struct>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct>::<anonymous union> (0x310681f8) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x31068188) 0
-Class <anonymous struct>
- size=12 align=4
- base size=12 base align=4
-<anonymous struct> (0x31068268) 0
-Class <anonymous struct>
- size=16 align=8
- base size=16 base align=8
-<anonymous struct> (0x310682d8) 0
Class __gconv_trans_data
size=20 align=4
@@ -615,15 +409,7 @@ Class __gconv_info
base size=8 base align=4
__gconv_info (0x31068428) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0x31068508) 0
-Class <anonymous union>
- size=44 align=4
- base size=44 base align=4
-<anonymous union> (0x31068498) 0
Class _IO_marker
size=12 align=4
@@ -635,10 +421,6 @@ Class _IO_FILE
base size=152 base align=8
_IO_FILE (0x31068578) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0x310685e8) 0
Vtable for QTextStream
QTextStream::_ZTV11QTextStream: 4u entries
@@ -653,10 +435,6 @@ Class QTextStream
QTextStream (0x31068620) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0x31068850) 0
Class QTextStreamManipulator
size=24 align=4
@@ -693,40 +471,16 @@ QTextOStream (0x30f93180) 0
QTextStream (0x31068dc8) 0
primary-for QTextOStream (0x30f93180)
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0x310f5000) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0x310f5070) 0
Class wait
size=4 align=4
base size=4 base align=4
wait (0x31068c08) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x310f50e0) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x310f5150) 0
-Class <anonymous struct>
- size=16 align=8
- base size=16 base align=8
-<anonymous struct> (0x310f51c0) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0x310f5230) 0
Class timespec
size=8 align=4
@@ -738,70 +492,18 @@ Class timeval
base size=8 base align=4
timeval (0x310f52a0) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0x310f5310) 0
-Class <anonymous union>
- size=36 align=4
- base size=36 base align=4
-<anonymous union> (0x310f5380) 0
-Class <anonymous union>::<anonymous struct>
- size=24 align=4
- base size=24 base align=4
-<anonymous union>::<anonymous struct> (0x310f5460) 0
-Class <anonymous union>
- size=24 align=4
- base size=24 base align=4
-<anonymous union> (0x310f53f0) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0x310f54d0) 0
-Class <anonymous union>::<anonymous struct>
- size=48 align=8
- base size=48 base align=8
-<anonymous union>::<anonymous struct> (0x310f55b0) 0
-Class <anonymous union>
- size=48 align=8
- base size=48 base align=8
-<anonymous union> (0x310f5540) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0x310f5620) 0
-Class <anonymous union>::<anonymous struct>
- size=32 align=4
- base size=32 base align=4
-<anonymous union>::<anonymous struct> (0x310f5700) 0
-Class <anonymous union>
- size=32 align=4
- base size=32 base align=4
-<anonymous union> (0x310f5690) 0
-Class <anonymous union>
- size=8 align=4
- base size=8 base align=4
-<anonymous union> (0x310f5770) 0
-Class <anonymous union>
- size=20 align=4
- base size=20 base align=4
-<anonymous union> (0x310f57e0) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0x310f5850) 0
Class random_data
size=28 align=4
@@ -872,10 +574,6 @@ QFile (0x30f931c0) 0
QObject (0x311fa118) 0
primary-for QIODevice (0x30f93200)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0x311fa2a0) 0
Vtable for QTemporaryFile
QTemporaryFile::_ZTV14QTemporaryFile: 31u entries
@@ -928,50 +626,22 @@ Class QFileInfo
base size=4 base align=4
QFileInfo (0x311fa3f0) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0x311fa498) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0x311fa508) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0x311fa690) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0x311fa5e8) 0
Class QRegExp
size=4 align=4
base size=4 base align=4
QRegExp (0x311fa738) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0x311fa930) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0x311fa9a0) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0x311fab60) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0x311faab8) 0
Class QStringList
size=4 align=4
@@ -979,30 +649,14 @@ Class QStringList
QStringList (0x30f93300) 0
QList<QString> (0x311fac08) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0x311fa1f8) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0x312f7000) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0x312f7310) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0x312f7428) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0x312f74d0) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -1059,10 +713,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0x312f7508) 0
vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0x312f7770) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -1174,15 +824,7 @@ Class QLocale
base size=4 base align=4
QLocale (0x312f7b28) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0x312f7bd0) 0 empty
-Class QFlags<QLocale::NumberOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLocale::NumberOption> (0x312f7c78) 0
Vtable for QSystemLocale
QSystemLocale::_ZTV13QSystemLocale: 6u entries
@@ -1277,285 +919,65 @@ Class QUrl
base size=4 base align=4
QUrl (0x312f7888) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0x3140f070) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0x3140f0e0) 0 empty
Class QMetaType
size=1 align=1
base size=0 base align=1
QMetaType (0x3140f150) 0 empty
-Class QMetaTypeId2<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QString> (0x3140f310) 0 empty
-Class QMetaTypeId2<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<int> (0x3140f3b8) 0 empty
-Class QMetaTypeId2<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned int> (0x3140f460) 0 empty
-Class QMetaTypeId2<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<bool> (0x3140f508) 0 empty
-Class QMetaTypeId2<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<double> (0x3140f5b0) 0 empty
-Class QMetaTypeId2<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QByteArray> (0x3140f658) 0 empty
-Class QMetaTypeId2<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QChar> (0x3140f700) 0 empty
-Class QMetaTypeId2<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long int> (0x3140f7a8) 0 empty
-Class QMetaTypeId2<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short int> (0x3140f850) 0 empty
-Class QMetaTypeId2<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<char> (0x3140f8f8) 0 empty
-Class QMetaTypeId2<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long unsigned int> (0x3140f9a0) 0 empty
-Class QMetaTypeId2<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short unsigned int> (0x3140fa48) 0 empty
-Class QMetaTypeId2<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned char> (0x3140faf0) 0 empty
-Class QMetaTypeId2<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<float> (0x3140fb98) 0 empty
-Class QMetaTypeId2<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QObject*> (0x3140fc40) 0 empty
-Class QMetaTypeId2<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QWidget*> (0x3140fce8) 0 empty
-Class QMetaTypeId2<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<void*> (0x3140fd90) 0 empty
-Class QMetaTypeId2<long long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long int> (0x3140fe38) 0 empty
-Class QMetaTypeId2<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long unsigned int> (0x3140fee0) 0 empty
-Class QMetaTypeId2<QStringList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QStringList> (0x3140ff88) 0 empty
-Class QMetaTypeId2<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitArray> (0x3145e038) 0 empty
-Class QMetaTypeId2<QDate>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDate> (0x3145e0e0) 0 empty
-Class QMetaTypeId2<QTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTime> (0x3145e188) 0 empty
-Class QMetaTypeId2<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDateTime> (0x3145e230) 0 empty
-Class QMetaTypeId2<QUrl>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QUrl> (0x3145e2d8) 0 empty
-Class QMetaTypeId2<QLocale>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLocale> (0x3145e380) 0 empty
-Class QMetaTypeId2<QRect>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRect> (0x3145e428) 0 empty
-Class QMetaTypeId2<QRectF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRectF> (0x3145e4d0) 0 empty
-Class QMetaTypeId2<QSize>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSize> (0x3145e578) 0 empty
-Class QMetaTypeId2<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizeF> (0x3145e620) 0 empty
-Class QMetaTypeId2<QLine>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLine> (0x3145e6c8) 0 empty
-Class QMetaTypeId2<QLineF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLineF> (0x3145e770) 0 empty
-Class QMetaTypeId2<QPoint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPoint> (0x3145e818) 0 empty
-Class QMetaTypeId2<QPointF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPointF> (0x3145e8c0) 0 empty
-Class QMetaTypeId2<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegExp> (0x3145e968) 0 empty
-Class QMetaTypeId2<QColorGroup>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColorGroup> (0x3145ea10) 0 empty
-Class QMetaTypeId2<QFont>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QFont> (0x3145eab8) 0 empty
-Class QMetaTypeId2<QPixmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPixmap> (0x3145eb60) 0 empty
-Class QMetaTypeId2<QBrush>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBrush> (0x3145ec08) 0 empty
-Class QMetaTypeId2<QColor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColor> (0x3145ecb0) 0 empty
-Class QMetaTypeId2<QPalette>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPalette> (0x3145ed58) 0 empty
-Class QMetaTypeId2<QIcon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QIcon> (0x3145ee00) 0 empty
-Class QMetaTypeId2<QImage>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QImage> (0x3145eea8) 0 empty
-Class QMetaTypeId2<QPolygon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPolygon> (0x3145ef50) 0 empty
-Class QMetaTypeId2<QRegion>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegion> (0x3147c000) 0 empty
-Class QMetaTypeId2<QBitmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitmap> (0x3147c0a8) 0 empty
-Class QMetaTypeId2<QCursor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QCursor> (0x3147c150) 0 empty
-Class QMetaTypeId2<QSizePolicy>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizePolicy> (0x3147c1f8) 0 empty
-Class QMetaTypeId2<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QKeySequence> (0x3147c2a0) 0 empty
-Class QMetaTypeId2<QPen>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPen> (0x3147c348) 0 empty
-Class QMetaTypeId2<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextLength> (0x3147c3f0) 0 empty
-Class QMetaTypeId2<QTextFormat>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextFormat> (0x3147c498) 0 empty
-Class QMetaTypeId2<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMatrix> (0x3147c540) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -1582,45 +1004,17 @@ Class QVariant
base size=16 base align=8
QVariant (0x3147c5b0) 0
-Class QMetaTypeId2<QList<QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QList<QVariant> > (0x3147ca48) 0 empty
-Class QMetaTypeId2<QMap<QString, QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMap<QString, QVariant> > (0x3147caf0) 0 empty
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0x3147ccb0) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0x3147cc08) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0x3147ce70) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0x3147cdc8) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0x3147cf88) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0x3147c888) 0 empty
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1652,80 +1046,48 @@ Class QPoint
base size=8 base align=4
QPoint (0x315084d0) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0x315088c0) 0 empty
Class QPointF
size=16 align=8
base size=16 base align=8
QPointF (0x31508ab8) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0x31508ea8) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0x315085e8) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0x315086c8) 0 empty
Class QLineF
size=32 align=8
base size=32 base align=8
QLineF (0x31508bd0) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0x31508d20) 0 empty
Class QSize
size=8 align=4
base size=8 base align=4
QSize (0x315c40e0) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0x315c4460) 0 empty
Class QSizeF
size=16 align=8
base size=16 base align=8
QSizeF (0x315c4738) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0x315c4ab8) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0x315c4e38) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0x315c4188) 0 empty
Class QRectF
size=32 align=8
base size=32 base align=8
QRectF (0x315c4930) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0x315c4f50) 0 empty
Class QLinkedListData
size=20 align=4
@@ -1742,10 +1104,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0x316a5a10) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0x316a5af0) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -1762,30 +1120,18 @@ Class QDate
base size=4 base align=4
QDate (0x316a5ee0) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0x317c7000) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0x317c7070) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0x317c7230) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0x317c72a0) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0x317c73f0) 0 empty
Vtable for QTimeLine
QTimeLine::_ZTV9QTimeLine: 15u entries
@@ -1971,10 +1317,6 @@ QEventLoop (0x30f93880) 0
QObject (0x317c7118) 0
primary-for QEventLoop (0x30f93880)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0x317c7b60) 0
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -2081,20 +1423,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0x3189d9d8) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0x3189db60) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0x3189dbd0) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0x3189dce8) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -2314,10 +1648,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0x31945188) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0x31945268) 0 empty
Vtable for QSocketNotifier
QSocketNotifier::_ZTV15QSocketNotifier: 14u entries
@@ -2412,20 +1742,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0x31945690) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0x31945738) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0x319457a8) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0x31945850) 0 empty
Class QMetaProperty
size=20 align=4
@@ -2437,10 +1759,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0x319458f8) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0x319459a0) 0 empty
Vtable for QPluginLoader
QPluginLoader::_ZTV13QPluginLoader: 14u entries
@@ -2497,10 +1815,6 @@ QLibrary (0x30f93d00) 0
QObject (0x31945c78) 0
primary-for QLibrary (0x30f93d00)
-Class QFlags<QLibrary::LoadHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLibrary::LoadHint> (0x31945e00) 0
Class QSemaphore
size=4 align=4
@@ -2548,10 +1862,6 @@ Class QMutex
base size=4 base align=4
QMutex (0x31945380) 0
-Class QMutexLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMutexLocker::<anonymous union> (0x31a01070) 0
Class QMutexLocker
size=4 align=4
@@ -2563,20 +1873,12 @@ Class QReadWriteLock
base size=4 base align=4
QReadWriteLock (0x31a01118) 0
-Class QReadLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QReadLocker::<anonymous union> (0x31a011c0) 0
Class QReadLocker
size=4 align=4
base size=4 base align=4
QReadLocker (0x31a01150) 0
-Class QWriteLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QWriteLocker::<anonymous union> (0x31a012d8) 0
Class QWriteLocker
size=4 align=4
@@ -2588,25 +1890,9 @@ Class QTestData
base size=4 base align=4
QTestData (0x31a01460) 0
-Class QList<QList<QVariant> >::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QList<QVariant> >::<anonymous union> (0x31a01b98) 0
-Class QList<QList<QVariant> >
- size=4 align=4
- base size=4 base align=4
-QList<QList<QVariant> > (0x31a01af0) 0
-Class QList<int>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<int>::<anonymous union> (0x31a01dc8) 0
-Class QList<int>
- size=4 align=4
- base size=4 base align=4
-QList<int> (0x31a01d20) 0
Vtable for QSignalSpy
QSignalSpy::_ZTV10QSignalSpy: 14u entries
@@ -2659,48 +1945,12 @@ QTestEventLoop (0x30f93f40) 0
QObject (0x31aa9310) 0
primary-for QTestEventLoop (0x30f93f40)
-Class QPointer<QTestEventLoop>
- size=4 align=4
- base size=4 base align=4
-QPointer<QTestEventLoop> (0x31aa9540) 0
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0x31b18d20) 0
-Class QTypeInfo<QDebug::Stream*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDebug::Stream*> (0x31b35460) 0 empty
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0x31b50268) 0
-Class QList<int>::Node
- size=4 align=4
- base size=4 base align=4
-QList<int>::Node (0x31b93f88) 0
-Class QTypeInfo<QList<QVariant> >
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QList<QVariant> > (0x31bbc1c0) 0 empty
-Class QList<QList<QVariant> >::Node
- size=4 align=4
- base size=4 base align=4
-QList<QList<QVariant> >::Node (0x31bfca10) 0
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0x31bfcdc8) 0
-Class QList<QVariant>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::Node (0x31c28348) 0
diff --git a/tests/auto/bic/data/QtTest.4.2.0.macx-gcc-ia32.txt b/tests/auto/bic/data/QtTest.4.2.0.macx-gcc-ia32.txt
index 8c04781..b1a9b8b 100644
--- a/tests/auto/bic/data/QtTest.4.2.0.macx-gcc-ia32.txt
+++ b/tests/auto/bic/data/QtTest.4.2.0.macx-gcc-ia32.txt
@@ -1,34 +1,8 @@
-Class QUintForSize<4>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<4> (0x696900) 0 empty
-Class QUintForSize<8>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<8> (0x696980) 0 empty
-Class QUintForType<void*>
- size=1 align=1
- base size=1 base align=1
-QUintForType<void*> (0x696b40) 0 empty
- QUintForSize<4> (0x696b80) 0 empty
-Class QIntForSize<4>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<4> (0x696c80) 0 empty
-Class QIntForSize<8>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<8> (0x696d00) 0 empty
-Class QIntForType<void*>
- size=1 align=1
- base size=1 base align=1
-QIntForType<void*> (0x696ec0) 0 empty
- QIntForSize<4> (0x696f00) 0 empty
Class QSysInfo
size=1 align=1
@@ -50,75 +24,19 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0x6a2400) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0x6a2640) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0x6a2700) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0x6a27c0) 0 empty
-Class QTypeInfo<uchar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uchar> (0x6a2880) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0x6a2940) 0 empty
-Class QTypeInfo<ushort>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ushort> (0x6a2a00) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0x6a2ac0) 0 empty
-Class QTypeInfo<uint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uint> (0x6a2b80) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0x6a2c40) 0 empty
-Class QTypeInfo<ulong>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ulong> (0x6a2d00) 0 empty
-Class QTypeInfo<qint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<qint64> (0x6a2dc0) 0 empty
-Class QTypeInfo<quint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<quint64> (0x6a2e80) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0x6a2f40) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0x6dd000) 0 empty
Class QFlag
size=4 align=4
@@ -135,10 +53,6 @@ Class QChar
base size=2 base align=2
QChar (0x6dd300) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0x6dd400) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -151,10 +65,6 @@ Class QAtomic
QAtomic (0x6ddb00) 0
QBasicAtomic (0x6ddb40) 0
-Class <anonymous union>
- size=128 align=4
- base size=128 base align=4
-<anonymous union> (0x6dddc0) 0
Class __darwin_pthread_handler_rec
size=12 align=4
@@ -236,75 +146,19 @@ Class QByteRef
base size=8 base align=4
QByteRef (0xe85b00) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0xe85ec0) 0 empty
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0xf65340) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0xf653c0) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0xf65440) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0xf654c0) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0xf65540) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0xf655c0) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0xf65640) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0xf656c0) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0xf65740) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0xf657c0) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0xf65840) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0xf658c0) 0
-Class QFlags<Qt::TextInteractionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::TextInteractionFlag> (0xf65940) 0
Class QInternal
size=1 align=1
@@ -331,10 +185,6 @@ Class QLatin1String
base size=4 base align=4
QLatin1String (0x10f3100) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0x10f3540) 0
Class QCharRef
size=8 align=4
@@ -347,10 +197,6 @@ Class QConstString
QConstString (0x1212180) 0
QString (0x12121c0) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0x12122c0) 0 empty
Vtable for std::exception
std::exception::_ZTVSt9exception: 5u entries
@@ -413,10 +259,6 @@ Class QListData
base size=4 base align=4
QListData (0x1212b40) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0x1324080) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -441,15 +283,7 @@ Class QTextCodec
QTextCodec (0x12125c0) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0x13243c0) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0x1324300) 0
Class QTextEncoder
size=32 align=4
@@ -472,25 +306,13 @@ Class QGenericReturnArgument
QGenericReturnArgument (0x1324600) 0
QGenericArgument (0x1324640) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0x1324900) 0
Class QMetaObject
size=16 align=4
base size=16 base align=4
QMetaObject (0x1324880) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0x1324b80) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0x1324ac0) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -582,10 +404,6 @@ QIODevice (0x13e50c0) 0
QObject (0x13e5100) 0
primary-for QIODevice (0x13e50c0)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0x13e5340) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -605,25 +423,13 @@ Class QRegExp
base size=4 base align=4
QRegExp (0x13e5a40) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0x13e5c80) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0x13e5d00) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0x13e5f00) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0x13e5e40) 0
Class QStringList
size=4 align=4
@@ -631,15 +437,7 @@ Class QStringList
QStringList (0x13e5fc0) 0
QList<QString> (0x13e5200) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0x14b4440) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0x14b44c0) 0
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -773,50 +571,22 @@ QFile (0x1531200) 0
QObject (0x1531280) 0
primary-for QIODevice (0x1531240)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0x1531440) 0
Class QFileInfo
size=4 align=4
base size=4 base align=4
QFileInfo (0x1531480) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0x1531540) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0x15315c0) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0x1531780) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0x15316c0) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0x1531840) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0x1531980) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0x1531a00) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -873,10 +643,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0x1531a40) 0
vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0x1531d00) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -950,10 +716,6 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0x1654100) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0x1654180) 0 empty
Class QMapData::Node
size=8 align=4
@@ -978,10 +740,6 @@ Class QTextStream
QTextStream (0x17155c0) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0x1715880) 0
Class QTextStreamManipulator
size=24 align=4
@@ -1078,35 +836,15 @@ Class rlimit
base size=16 base align=4
rlimit (0x1836300) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0x1836a80) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0x1836b00) 0
Class wait
size=4 align=4
base size=4 base align=4
wait (0x1836a00) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x1836b80) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x1836c00) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0x1836c80) 0
Class QVectorData
size=16 align=4
@@ -1244,15 +982,7 @@ Class QLocale
base size=4 base align=4
QLocale (0x18d7b80) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0x18d7c40) 0 empty
-Class QFlags<QLocale::NumberOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLocale::NumberOption> (0x18d7d00) 0
Vtable for QSystemLocale
QSystemLocale::_ZTV13QSystemLocale: 6u entries
@@ -1279,270 +1009,58 @@ Class QMetaType
base size=0 base align=1
QMetaType (0x18d7f00) 0 empty
-Class QMetaTypeId2<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QString> (0x18d7e40) 0 empty
-Class QMetaTypeId2<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<int> (0x1a48080) 0 empty
-Class QMetaTypeId2<uint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<uint> (0x1a48140) 0 empty
-Class QMetaTypeId2<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<bool> (0x1a48200) 0 empty
-Class QMetaTypeId2<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<double> (0x1a482c0) 0 empty
-Class QMetaTypeId2<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QByteArray> (0x1a48380) 0 empty
-Class QMetaTypeId2<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QChar> (0x1a48440) 0 empty
-Class QMetaTypeId2<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long int> (0x1a48500) 0 empty
-Class QMetaTypeId2<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short int> (0x1a485c0) 0 empty
-Class QMetaTypeId2<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<char> (0x1a48680) 0 empty
-Class QMetaTypeId2<ulong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<ulong> (0x1a48740) 0 empty
-Class QMetaTypeId2<ushort>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<ushort> (0x1a48800) 0 empty
-Class QMetaTypeId2<uchar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<uchar> (0x1a488c0) 0 empty
-Class QMetaTypeId2<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<float> (0x1a48980) 0 empty
-Class QMetaTypeId2<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QObject*> (0x1a48a40) 0 empty
-Class QMetaTypeId2<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QWidget*> (0x1a48b00) 0 empty
-Class QMetaTypeId2<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<void*> (0x1a48bc0) 0 empty
-Class QMetaTypeId2<qlonglong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<qlonglong> (0x1a48c80) 0 empty
-Class QMetaTypeId2<qulonglong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<qulonglong> (0x1a48d40) 0 empty
-Class QMetaTypeId2<QStringList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QStringList> (0x1a48e00) 0 empty
-Class QMetaTypeId2<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitArray> (0x1a48ec0) 0 empty
-Class QMetaTypeId2<QDate>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDate> (0x1a48f80) 0 empty
-Class QMetaTypeId2<QTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTime> (0x1a68040) 0 empty
-Class QMetaTypeId2<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDateTime> (0x1a68100) 0 empty
-Class QMetaTypeId2<QUrl>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QUrl> (0x1a681c0) 0 empty
-Class QMetaTypeId2<QLocale>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLocale> (0x1a68280) 0 empty
-Class QMetaTypeId2<QRect>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRect> (0x1a68340) 0 empty
-Class QMetaTypeId2<QRectF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRectF> (0x1a68400) 0 empty
-Class QMetaTypeId2<QSize>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSize> (0x1a684c0) 0 empty
-Class QMetaTypeId2<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizeF> (0x1a68580) 0 empty
-Class QMetaTypeId2<QLine>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLine> (0x1a68640) 0 empty
-Class QMetaTypeId2<QLineF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLineF> (0x1a68700) 0 empty
-Class QMetaTypeId2<QPoint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPoint> (0x1a687c0) 0 empty
-Class QMetaTypeId2<QPointF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPointF> (0x1a68880) 0 empty
-Class QMetaTypeId2<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegExp> (0x1a68940) 0 empty
-Class QMetaTypeId2<QColorGroup>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColorGroup> (0x1a68a00) 0 empty
-Class QMetaTypeId2<QFont>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QFont> (0x1a68ac0) 0 empty
-Class QMetaTypeId2<QPixmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPixmap> (0x1a68b80) 0 empty
-Class QMetaTypeId2<QBrush>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBrush> (0x1a68c40) 0 empty
-Class QMetaTypeId2<QColor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColor> (0x1a68d00) 0 empty
-Class QMetaTypeId2<QPalette>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPalette> (0x1a68dc0) 0 empty
-Class QMetaTypeId2<QIcon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QIcon> (0x1a68e80) 0 empty
-Class QMetaTypeId2<QImage>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QImage> (0x1a68f40) 0 empty
-Class QMetaTypeId2<QPolygon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPolygon> (0x1a83000) 0 empty
-Class QMetaTypeId2<QRegion>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegion> (0x1a830c0) 0 empty
-Class QMetaTypeId2<QBitmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitmap> (0x1a83180) 0 empty
-Class QMetaTypeId2<QCursor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QCursor> (0x1a83240) 0 empty
-Class QMetaTypeId2<QSizePolicy>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizePolicy> (0x1a83300) 0 empty
-Class QMetaTypeId2<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QKeySequence> (0x1a833c0) 0 empty
-Class QMetaTypeId2<QPen>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPen> (0x1a83480) 0 empty
-Class QMetaTypeId2<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextLength> (0x1a83540) 0 empty
-Class QMetaTypeId2<QTextFormat>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextFormat> (0x1a83600) 0 empty
-Class QMetaTypeId2<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMatrix> (0x1a836c0) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -1569,60 +1087,20 @@ Class QVariant
base size=12 base align=4
QVariant (0x1a83740) 0
-Class QMetaTypeId2<QVariantList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QVariantList> (0x1a83c80) 0 empty
-Class QMetaTypeId2<QVariantMap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QVariantMap> (0x1a83d40) 0 empty
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0x1a83f40) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0x1a83e80) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0x1af2040) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0x1a83a00) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0x1af21c0) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0x1af2300) 0 empty
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0x1af23c0) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x1af2440) 0
-Class <anonymous struct>
- size=3156 align=4
- base size=3156 base align=4
-<anonymous struct> (0x1af24c0) 0
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1700,15 +1178,7 @@ Class QUrl
base size=4 base align=4
QUrl (0x1af2d00) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0x1af2ec0) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0x1af2f40) 0 empty
Vtable for QEventLoop
QEventLoop::_ZTV10QEventLoop: 14u entries
@@ -1735,10 +1205,6 @@ QEventLoop (0x1af2fc0) 0
QObject (0x1af20c0) 0
primary-for QEventLoop (0x1af2fc0)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0x1bd9100) 0
Vtable for QAbstractEventDispatcher
QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 27u entries
@@ -1783,20 +1249,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0x1bd9340) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0x1bd9500) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0x1bd9580) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0x1bd96c0) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -1966,10 +1424,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0x1bd9e00) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0x1bd9f00) 0 empty
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -2076,20 +1530,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0x1cb5a80) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0x1cb5b40) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0x1cb5bc0) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0x1cb5c80) 0 empty
Class QMetaProperty
size=20 align=4
@@ -2101,10 +1547,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0x1cb5d40) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0x1cb5e00) 0 empty
Vtable for QMimeData
QMimeData::_ZTV9QMimeData: 17u entries
@@ -2286,10 +1728,6 @@ QLibrary (0x1d25580) 0
QObject (0x1d255c0) 0
primary-for QLibrary (0x1d25580)
-Class QFlags<QLibrary::LoadHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLibrary::LoadHint> (0x1d25780) 0
Vtable for QPluginLoader
QPluginLoader::_ZTV13QPluginLoader: 14u entries
@@ -2326,10 +1764,6 @@ Class QMutex
base size=4 base align=4
QMutex (0x1d25ac0) 0
-Class QMutexLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMutexLocker::<anonymous union> (0x1d25c80) 0
Class QMutexLocker
size=4 align=4
@@ -2341,20 +1775,12 @@ Class QReadWriteLock
base size=4 base align=4
QReadWriteLock (0x1d25d40) 0
-Class QReadLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QReadLocker::<anonymous union> (0x1d25e00) 0
Class QReadLocker
size=4 align=4
base size=4 base align=4
QReadLocker (0x1d25d80) 0
-Class QWriteLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QWriteLocker::<anonymous union> (0x1d25f40) 0
Class QWriteLocker
size=4 align=4
@@ -2412,10 +1838,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0x1de17c0) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0x1de18c0) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -2427,70 +1849,42 @@ Class QDate
base size=4 base align=4
QDate (0x1de1b40) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0x1de1d40) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0x1de1dc0) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0x1de1fc0) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0x1de1b80) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0x1eac000) 0 empty
Class QPoint
size=8 align=4
base size=8 base align=4
QPoint (0x1eac080) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0x1eac500) 0 empty
Class QPointF
size=16 align=4
base size=16 base align=4
QPointF (0x1eac7c0) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0x1eacc40) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0x1eacf40) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0x1eacfc0) 0 empty
Class QLineF
size=32 align=4
base size=32 base align=4
QLineF (0x1eac340) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0x1eac800) 0 empty
Class QLinkedListData
size=20 align=4
@@ -2502,40 +1896,24 @@ Class QSize
base size=8 base align=4
QSize (0x1f4c440) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0x1f4c840) 0 empty
Class QSizeF
size=16 align=4
base size=16 base align=4
QSizeF (0x1f4cc00) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0x1f4c240) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0x20270c0) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0x2027280) 0 empty
Class QRectF
size=32 align=4
base size=32 base align=4
QRectF (0x2027500) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0x20276c0) 0 empty
Class QSharedData
size=4 align=4
@@ -2568,25 +1946,9 @@ QTimeLine (0x2027b80) 0
QObject (0x2027bc0) 0
primary-for QTimeLine (0x2027b80)
-Class QList<QList<QVariant> >::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QList<QVariant> >::<anonymous union> (0x2027f00) 0
-Class QList<QList<QVariant> >
- size=4 align=4
- base size=4 base align=4
-QList<QList<QVariant> > (0x2027e40) 0
-Class QList<int>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<int>::<anonymous union> (0x216a000) 0
-Class QList<int>
- size=4 align=4
- base size=4 base align=4
-QList<int> (0x2027540) 0
Vtable for QSignalSpy
QSignalSpy::_ZTV10QSignalSpy: 14u entries
@@ -2644,48 +2006,12 @@ QTestEventLoop (0x216a140) 0
QObject (0x216a200) 0
primary-for QTestEventLoop (0x216a140)
-Class QPointer<QTestEventLoop>
- size=4 align=4
- base size=4 base align=4
-QPointer<QTestEventLoop> (0x221e000) 0
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0x227bc40) 0
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0x229aac0) 0
-Class QTypeInfo<QDebug::Stream*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDebug::Stream*> (0x22ebb40) 0 empty
-Class QList<int>::Node
- size=4 align=4
- base size=4 base align=4
-QList<int>::Node (0x2321980) 0
-Class QTypeInfo<QList<QVariant> >
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QList<QVariant> > (0x2321c00) 0 empty
-Class QList<QList<QVariant> >::Node
- size=4 align=4
- base size=4 base align=4
-QList<QList<QVariant> >::Node (0x2398c40) 0
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0x23c9100) 0
-Class QList<QVariant>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::Node (0x23c9740) 0
diff --git a/tests/auto/bic/data/QtTest.4.2.0.macx-gcc-ppc32.txt b/tests/auto/bic/data/QtTest.4.2.0.macx-gcc-ppc32.txt
index 38d733b..4b3f06f 100644
--- a/tests/auto/bic/data/QtTest.4.2.0.macx-gcc-ppc32.txt
+++ b/tests/auto/bic/data/QtTest.4.2.0.macx-gcc-ppc32.txt
@@ -1,34 +1,8 @@
-Class QUintForSize<4>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<4> (0x9ca500) 0 empty
-Class QUintForSize<8>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<8> (0x9ca580) 0 empty
-Class QUintForType<void*>
- size=1 align=1
- base size=1 base align=1
-QUintForType<void*> (0x9ca740) 0 empty
- QUintForSize<4> (0x9ca780) 0 empty
-Class QIntForSize<4>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<4> (0x9ca880) 0 empty
-Class QIntForSize<8>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<8> (0x9ca900) 0 empty
-Class QIntForType<void*>
- size=1 align=1
- base size=1 base align=1
-QIntForType<void*> (0x9caac0) 0 empty
- QIntForSize<4> (0x9cab00) 0 empty
Class QSysInfo
size=1 align=1
@@ -50,75 +24,19 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0x9f3000) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0x9f3240) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0x9f3300) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0x9f33c0) 0 empty
-Class QTypeInfo<uchar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uchar> (0x9f3480) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0x9f3540) 0 empty
-Class QTypeInfo<ushort>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ushort> (0x9f3600) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0x9f36c0) 0 empty
-Class QTypeInfo<uint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uint> (0x9f3780) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0x9f3840) 0 empty
-Class QTypeInfo<ulong>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ulong> (0x9f3900) 0 empty
-Class QTypeInfo<qint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<qint64> (0x9f39c0) 0 empty
-Class QTypeInfo<quint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<quint64> (0x9f3a80) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0x9f3b40) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0x9f3c00) 0 empty
Class QFlag
size=4 align=4
@@ -135,10 +53,6 @@ Class QChar
base size=2 base align=2
QChar (0x9f3f00) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0xa57000) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -151,10 +65,6 @@ Class QAtomic
QAtomic (0xa57600) 0
QBasicAtomic (0xa57640) 0
-Class <anonymous union>
- size=128 align=8
- base size=128 base align=8
-<anonymous union> (0xa578c0) 0
Class __darwin_pthread_handler_rec
size=12 align=4
@@ -236,75 +146,19 @@ Class QByteRef
base size=8 base align=4
QByteRef (0xf03600) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0xf039c0) 0 empty
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0xf03e40) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0xf03ec0) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0xf03f40) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0xf03fc0) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0x100b040) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0x100b0c0) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0x100b140) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0x100b1c0) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0x100b240) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0x100b2c0) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0x100b340) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0x100b3c0) 0
-Class QFlags<Qt::TextInteractionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::TextInteractionFlag> (0x100b440) 0
Class QInternal
size=1 align=1
@@ -331,10 +185,6 @@ Class QLatin1String
base size=4 base align=4
QLatin1String (0x100bc40) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0x1181040) 0
Class QCharRef
size=8 align=4
@@ -347,10 +197,6 @@ Class QConstString
QConstString (0x1181c80) 0
QString (0x1181cc0) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0x1181dc0) 0 empty
Vtable for std::exception
std::exception::_ZTVSt9exception: 5u entries
@@ -413,10 +259,6 @@ Class QListData
base size=4 base align=4
QListData (0x1289640) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0x1289c80) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -441,15 +283,7 @@ Class QTextCodec
QTextCodec (0x1289b00) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0x1289fc0) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0x1289f00) 0
Class QTextEncoder
size=32 align=4
@@ -472,25 +306,13 @@ Class QGenericReturnArgument
QGenericReturnArgument (0x139d080) 0
QGenericArgument (0x139d0c0) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0x139d380) 0
Class QMetaObject
size=16 align=4
base size=16 base align=4
QMetaObject (0x139d300) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0x139d600) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0x139d540) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -582,10 +404,6 @@ QIODevice (0x139dc40) 0
QObject (0x139dc80) 0
primary-for QIODevice (0x139dc40)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0x139dec0) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -605,25 +423,13 @@ Class QRegExp
base size=4 base align=4
QRegExp (0x1465500) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0x1465740) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0x14657c0) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0x14659c0) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0x1465900) 0
Class QStringList
size=4 align=4
@@ -631,15 +437,7 @@ Class QStringList
QStringList (0x1465a80) 0
QList<QString> (0x1465ac0) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0x1465f80) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0x14651c0) 0
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -773,50 +571,22 @@ QFile (0x157b180) 0
QObject (0x157b200) 0
primary-for QIODevice (0x157b1c0)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0x157b3c0) 0
Class QFileInfo
size=4 align=4
base size=4 base align=4
QFileInfo (0x157b400) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0x157b4c0) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0x157b540) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0x157b700) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0x157b640) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0x157b7c0) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0x157b900) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0x157b980) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -873,10 +643,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0x157b9c0) 0
vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0x157bc80) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -950,10 +716,6 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0x168b080) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0x168b100) 0 empty
Class QMapData::Node
size=8 align=4
@@ -978,10 +740,6 @@ Class QTextStream
QTextStream (0x17db100) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0x17db3c0) 0
Class QTextStreamManipulator
size=24 align=4
@@ -1088,40 +846,16 @@ Class rlimit
base size=16 base align=8
rlimit (0x1866080) 0
-Class OSReadSwapInt64(const volatile void*, uintptr_t)::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-OSReadSwapInt64(const volatile void*, uintptr_t)::<anonymous union> (0x1866280) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0x18669c0) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0x1866a40) 0
Class wait
size=4 align=4
base size=4 base align=4
wait (0x1866940) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x1866ac0) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x1866b40) 0
-Class <anonymous struct>
- size=16 align=8
- base size=16 base align=8
-<anonymous struct> (0x1866bc0) 0
Class QVectorData
size=16 align=4
@@ -1259,15 +993,7 @@ Class QLocale
base size=4 base align=4
QLocale (0x1917b00) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0x1917bc0) 0 empty
-Class QFlags<QLocale::NumberOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLocale::NumberOption> (0x1917c80) 0
Vtable for QSystemLocale
QSystemLocale::_ZTV13QSystemLocale: 6u entries
@@ -1294,270 +1020,58 @@ Class QMetaType
base size=0 base align=1
QMetaType (0x1917e80) 0 empty
-Class QMetaTypeId2<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QString> (0x1917880) 0 empty
-Class QMetaTypeId2<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<int> (0x1a7a000) 0 empty
-Class QMetaTypeId2<uint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<uint> (0x1a7a0c0) 0 empty
-Class QMetaTypeId2<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<bool> (0x1a7a180) 0 empty
-Class QMetaTypeId2<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<double> (0x1a7a240) 0 empty
-Class QMetaTypeId2<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QByteArray> (0x1a7a300) 0 empty
-Class QMetaTypeId2<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QChar> (0x1a7a3c0) 0 empty
-Class QMetaTypeId2<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long int> (0x1a7a480) 0 empty
-Class QMetaTypeId2<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short int> (0x1a7a540) 0 empty
-Class QMetaTypeId2<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<char> (0x1a7a600) 0 empty
-Class QMetaTypeId2<ulong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<ulong> (0x1a7a6c0) 0 empty
-Class QMetaTypeId2<ushort>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<ushort> (0x1a7a780) 0 empty
-Class QMetaTypeId2<uchar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<uchar> (0x1a7a840) 0 empty
-Class QMetaTypeId2<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<float> (0x1a7a900) 0 empty
-Class QMetaTypeId2<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QObject*> (0x1a7a9c0) 0 empty
-Class QMetaTypeId2<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QWidget*> (0x1a7aa80) 0 empty
-Class QMetaTypeId2<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<void*> (0x1a7ab40) 0 empty
-Class QMetaTypeId2<qlonglong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<qlonglong> (0x1a7ac00) 0 empty
-Class QMetaTypeId2<qulonglong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<qulonglong> (0x1a7acc0) 0 empty
-Class QMetaTypeId2<QStringList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QStringList> (0x1a7ad80) 0 empty
-Class QMetaTypeId2<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitArray> (0x1a7ae40) 0 empty
-Class QMetaTypeId2<QDate>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDate> (0x1a7af00) 0 empty
-Class QMetaTypeId2<QTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTime> (0x1a7afc0) 0 empty
-Class QMetaTypeId2<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDateTime> (0x1a94080) 0 empty
-Class QMetaTypeId2<QUrl>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QUrl> (0x1a94140) 0 empty
-Class QMetaTypeId2<QLocale>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLocale> (0x1a94200) 0 empty
-Class QMetaTypeId2<QRect>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRect> (0x1a942c0) 0 empty
-Class QMetaTypeId2<QRectF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRectF> (0x1a94380) 0 empty
-Class QMetaTypeId2<QSize>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSize> (0x1a94440) 0 empty
-Class QMetaTypeId2<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizeF> (0x1a94500) 0 empty
-Class QMetaTypeId2<QLine>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLine> (0x1a945c0) 0 empty
-Class QMetaTypeId2<QLineF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLineF> (0x1a94680) 0 empty
-Class QMetaTypeId2<QPoint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPoint> (0x1a94740) 0 empty
-Class QMetaTypeId2<QPointF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPointF> (0x1a94800) 0 empty
-Class QMetaTypeId2<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegExp> (0x1a948c0) 0 empty
-Class QMetaTypeId2<QColorGroup>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColorGroup> (0x1a94980) 0 empty
-Class QMetaTypeId2<QFont>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QFont> (0x1a94a40) 0 empty
-Class QMetaTypeId2<QPixmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPixmap> (0x1a94b00) 0 empty
-Class QMetaTypeId2<QBrush>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBrush> (0x1a94bc0) 0 empty
-Class QMetaTypeId2<QColor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColor> (0x1a94c80) 0 empty
-Class QMetaTypeId2<QPalette>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPalette> (0x1a94d40) 0 empty
-Class QMetaTypeId2<QIcon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QIcon> (0x1a94e00) 0 empty
-Class QMetaTypeId2<QImage>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QImage> (0x1a94ec0) 0 empty
-Class QMetaTypeId2<QPolygon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPolygon> (0x1a94f80) 0 empty
-Class QMetaTypeId2<QRegion>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegion> (0x1ab6040) 0 empty
-Class QMetaTypeId2<QBitmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitmap> (0x1ab6100) 0 empty
-Class QMetaTypeId2<QCursor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QCursor> (0x1ab61c0) 0 empty
-Class QMetaTypeId2<QSizePolicy>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizePolicy> (0x1ab6280) 0 empty
-Class QMetaTypeId2<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QKeySequence> (0x1ab6340) 0 empty
-Class QMetaTypeId2<QPen>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPen> (0x1ab6400) 0 empty
-Class QMetaTypeId2<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextLength> (0x1ab64c0) 0 empty
-Class QMetaTypeId2<QTextFormat>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextFormat> (0x1ab6580) 0 empty
-Class QMetaTypeId2<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMatrix> (0x1ab6640) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -1584,60 +1098,20 @@ Class QVariant
base size=16 base align=4
QVariant (0x1ab66c0) 0
-Class QMetaTypeId2<QVariantList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QVariantList> (0x1ab6c00) 0 empty
-Class QMetaTypeId2<QVariantMap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QVariantMap> (0x1ab6cc0) 0 empty
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0x1ab6ec0) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0x1ab6e00) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0x1ab6a00) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0x1ab6880) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0x1b29140) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0x1b29280) 0 empty
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0x1b29340) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x1b293c0) 0
-Class <anonymous struct>
- size=3156 align=4
- base size=3156 base align=4
-<anonymous struct> (0x1b29440) 0
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1715,15 +1189,7 @@ Class QUrl
base size=4 base align=4
QUrl (0x1b29c80) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0x1b29e40) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0x1b29ec0) 0 empty
Vtable for QEventLoop
QEventLoop::_ZTV10QEventLoop: 14u entries
@@ -1750,10 +1216,6 @@ QEventLoop (0x1b29f40) 0
QObject (0x1b29f80) 0
primary-for QEventLoop (0x1b29f40)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0x1c10040) 0
Vtable for QAbstractEventDispatcher
QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 27u entries
@@ -1798,20 +1260,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0x1c10280) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0x1c10440) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0x1c104c0) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0x1c10600) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -1981,10 +1435,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0x1c10d40) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0x1c10e40) 0 empty
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -2091,20 +1541,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0x1ce79c0) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0x1ce7a80) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0x1ce7b00) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0x1ce7bc0) 0 empty
Class QMetaProperty
size=20 align=4
@@ -2116,10 +1558,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0x1ce7c80) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0x1ce7d40) 0 empty
Vtable for QMimeData
QMimeData::_ZTV9QMimeData: 17u entries
@@ -2301,10 +1739,6 @@ QLibrary (0x1d56540) 0
QObject (0x1d56580) 0
primary-for QLibrary (0x1d56540)
-Class QFlags<QLibrary::LoadHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLibrary::LoadHint> (0x1d56740) 0
Vtable for QPluginLoader
QPluginLoader::_ZTV13QPluginLoader: 14u entries
@@ -2341,10 +1775,6 @@ Class QMutex
base size=4 base align=4
QMutex (0x1d56a80) 0
-Class QMutexLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMutexLocker::<anonymous union> (0x1d56c40) 0
Class QMutexLocker
size=4 align=4
@@ -2356,20 +1786,12 @@ Class QReadWriteLock
base size=4 base align=4
QReadWriteLock (0x1d56d00) 0
-Class QReadLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QReadLocker::<anonymous union> (0x1d56dc0) 0
Class QReadLocker
size=4 align=4
base size=4 base align=4
QReadLocker (0x1d56d40) 0
-Class QWriteLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QWriteLocker::<anonymous union> (0x1d56f00) 0
Class QWriteLocker
size=4 align=4
@@ -2427,10 +1849,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0x1e1a740) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0x1e1a840) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -2442,70 +1860,42 @@ Class QDate
base size=4 base align=4
QDate (0x1e1aac0) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0x1e1acc0) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0x1e1ad40) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0x1e1af40) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0x1e1afc0) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0x1e1ae00) 0 empty
Class QPoint
size=8 align=4
base size=8 base align=4
QPoint (0x1edc040) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0x1edc4c0) 0 empty
Class QPointF
size=16 align=8
base size=16 base align=4
QPointF (0x1edc780) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0x1edcc00) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0x1edcf00) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0x1edcf80) 0 empty
Class QLineF
size=32 align=8
base size=32 base align=4
QLineF (0x1edc280) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0x1edc400) 0 empty
Class QLinkedListData
size=20 align=4
@@ -2517,40 +1907,24 @@ Class QSize
base size=8 base align=4
QSize (0x1f7a400) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0x1f7a800) 0 empty
Class QSizeF
size=16 align=8
base size=16 base align=4
QSizeF (0x1f7abc0) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0x1f7afc0) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0x2055080) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0x2055240) 0 empty
Class QRectF
size=32 align=8
base size=32 base align=4
QRectF (0x20554c0) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0x2055680) 0 empty
Class QSharedData
size=4 align=4
@@ -2583,25 +1957,9 @@ QTimeLine (0x2055b40) 0
QObject (0x2055b80) 0
primary-for QTimeLine (0x2055b40)
-Class QList<QList<QVariant> >::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QList<QVariant> >::<anonymous union> (0x2055ec0) 0
-Class QList<QList<QVariant> >
- size=4 align=4
- base size=4 base align=4
-QList<QList<QVariant> > (0x2055e00) 0
-Class QList<int>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<int>::<anonymous union> (0x2055c40) 0
-Class QList<int>
- size=4 align=4
- base size=4 base align=4
-QList<int> (0x2055140) 0
Vtable for QSignalSpy
QSignalSpy::_ZTV10QSignalSpy: 14u entries
@@ -2659,48 +2017,12 @@ QTestEventLoop (0x21aaf80) 0
QObject (0x21aafc0) 0
primary-for QTestEventLoop (0x21aaf80)
-Class QPointer<QTestEventLoop>
- size=4 align=4
- base size=4 base align=4
-QPointer<QTestEventLoop> (0x21aae80) 0
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0x22a8b80) 0
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0x22c6a00) 0
-Class QTypeInfo<QDebug::Stream*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDebug::Stream*> (0x2317a80) 0 empty
-Class QList<int>::Node
- size=4 align=4
- base size=4 base align=4
-QList<int>::Node (0x23508c0) 0
-Class QTypeInfo<QList<QVariant> >
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QList<QVariant> > (0x2350b40) 0 empty
-Class QList<QList<QVariant> >::Node
- size=4 align=4
- base size=4 base align=4
-QList<QList<QVariant> >::Node (0x23c6b80) 0
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0x23f5040) 0
-Class QList<QVariant>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::Node (0x23f5680) 0
diff --git a/tests/auto/bic/data/QtTest.4.2.0.win32-gcc-ia32.txt b/tests/auto/bic/data/QtTest.4.2.0.win32-gcc-ia32.txt
index 224be3d..ea4291c 100644
--- a/tests/auto/bic/data/QtTest.4.2.0.win32-gcc-ia32.txt
+++ b/tests/auto/bic/data/QtTest.4.2.0.win32-gcc-ia32.txt
@@ -1,34 +1,8 @@
-Class QUintForSize<4>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<4> (0xa9db00) 0 empty
-Class QUintForSize<8>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<8> (0xa9dc00) 0 empty
-Class QUintForType<void*>
- size=1 align=1
- base size=1 base align=1
-QUintForType<void*> (0xa9df00) 0 empty
- QUintForSize<4> (0xac2000) 0 empty
-Class QIntForSize<4>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<4> (0xac2180) 0 empty
-Class QIntForSize<8>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<8> (0xac2240) 0 empty
-Class QIntForType<void*>
- size=1 align=1
- base size=1 base align=1
-QIntForType<void*> (0xac24c0) 0 empty
- QIntForSize<4> (0xac2580) 0 empty
Class QSysInfo
size=1 align=1
@@ -50,80 +24,20 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0xaf4380) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0xaf4b80) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0xaf4d00) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0xaf4e80) 0 empty
-Class QTypeInfo<uchar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uchar> (0xb0a000) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0xb0a180) 0 empty
-Class QTypeInfo<ushort>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ushort> (0xb0a300) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0xb0a480) 0 empty
-Class QTypeInfo<uint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uint> (0xb0a600) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0xb0a780) 0 empty
-Class QTypeInfo<ulong>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ulong> (0xb0a900) 0 empty
-Class QTypeInfo<qint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<qint64> (0xb0aa80) 0 empty
-Class QTypeInfo<quint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<quint64> (0xb0ac00) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0xb0ad80) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0xb0af00) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0xb36080) 0 empty
Class QFlag
size=4 align=4
@@ -140,10 +54,6 @@ Class QChar
base size=2 base align=2
QChar (0xb60f00) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0xb97380) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -171,75 +81,19 @@ Class QByteRef
base size=8 base align=4
QByteRef (0xc4bb00) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0xd72780) 0 empty
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0xd84e00) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0xd940c0) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0xd84980) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0xd9ae40) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0xd94780) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0xda58c0) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0xdd9300) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0xdd9600) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0xda0080) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0xde94c0) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0xde9d00) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0xdef080) 0
-Class QFlags<Qt::TextInteractionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::TextInteractionFlag> (0xdef480) 0
Class QInternal
size=1 align=1
@@ -266,10 +120,6 @@ Class QLatin1String
base size=4 base align=4
QLatin1String (0xee1240) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0xee1780) 0
Class QCharRef
size=8 align=4
@@ -282,10 +132,6 @@ Class QConstString
QConstString (0x11f2dc0) 0
QString (0x11f2e00) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0x1260140) 0 empty
Vtable for std::exception
std::exception::_ZTVSt9exception: 5u entries
@@ -348,10 +194,6 @@ Class QListData
base size=4 base align=4
QListData (0x12d61c0) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0x13dc180) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -376,15 +218,7 @@ Class QTextCodec
QTextCodec (0xee11c0) 0 nearly-empty
vptr=((&QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0x1400480) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0xc5d5c0) 0
Class QTextEncoder
size=32 align=4
@@ -407,25 +241,13 @@ Class QGenericReturnArgument
QGenericReturnArgument (0x144d300) 0
QGenericArgument (0x144d340) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0x1462ac0) 0
Class QMetaObject
size=16 align=4
base size=16 base align=4
QMetaObject (0x144d8c0) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0x1492340) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0x1478f40) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -517,10 +339,6 @@ QIODevice (0x13b5a40) 0
QObject (0x150cb40) 0
primary-for QIODevice (0x13b5a40)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0x150ce40) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -540,25 +358,13 @@ Class QRegExp
base size=4 base align=4
QRegExp (0xee10c0) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0x15dbc00) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0x15dbf80) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0x15f34c0) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0x15f3380) 0
Class QStringList
size=4 align=4
@@ -566,15 +372,7 @@ Class QStringList
QStringList (0xee1140) 0
QList<QString> (0x15f3740) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0x15f3600) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0x15f35c0) 0
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -703,50 +501,22 @@ QFile (0x1706080) 0
QObject (0x1706100) 0
primary-for QIODevice (0x17060c0)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0x1706940) 0
Class QFileInfo
size=4 align=4
base size=4 base align=4
QFileInfo (0x175e140) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0x175ea80) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0x1777ac0) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0x1777f80) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0x1777e80) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0x171cfc0) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0x17b2c80) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0x17b2880) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -803,10 +573,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0x16f6f80) 0
vptr=((&QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0x18520c0) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -880,10 +646,6 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0x18bbb80) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0x18bbc80) 0 empty
Class QMapData::Node
size=8 align=4
@@ -908,10 +670,6 @@ Class QTextStream
QTextStream (0x1afc580) 0
vptr=((&QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0x1afc940) 0
Class QTextStreamManipulator
size=24 align=4
@@ -948,20 +706,8 @@ QTextOStream (0x1b8c740) 0
QTextStream (0x1b8c780) 0
primary-for QTextOStream (0x1b8c740)
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x1bc1980) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x1bc1b00) 0
-Class <anonymous struct>
- size=16 align=8
- base size=16 base align=8
-<anonymous struct> (0x1be78c0) 0
Class QVectorData
size=16 align=4
@@ -1099,15 +845,7 @@ Class QLocale
base size=4 base align=4
QLocale (0x1e51cc0) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0x1e95980) 0 empty
-Class QFlags<QLocale::NumberOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLocale::NumberOption> (0x1e95040) 0
Vtable for QSystemLocale
QSystemLocale::_ZTV13QSystemLocale: 6u entries
@@ -1134,270 +872,58 @@ Class QMetaType
base size=0 base align=1
QMetaType (0x1ef6400) 0 empty
-Class QMetaTypeId2<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QString> (0x1f18840) 0 empty
-Class QMetaTypeId2<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<int> (0x1f189c0) 0 empty
-Class QMetaTypeId2<uint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<uint> (0x1f18b40) 0 empty
-Class QMetaTypeId2<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<bool> (0x1f18cc0) 0 empty
-Class QMetaTypeId2<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<double> (0x1f18e40) 0 empty
-Class QMetaTypeId2<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QByteArray> (0x1f18fc0) 0 empty
-Class QMetaTypeId2<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QChar> (0x1f2c140) 0 empty
-Class QMetaTypeId2<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long int> (0x1f2c2c0) 0 empty
-Class QMetaTypeId2<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short int> (0x1f2c440) 0 empty
-Class QMetaTypeId2<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<char> (0x1f2c5c0) 0 empty
-Class QMetaTypeId2<ulong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<ulong> (0x1f2c740) 0 empty
-Class QMetaTypeId2<ushort>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<ushort> (0x1f2c8c0) 0 empty
-Class QMetaTypeId2<uchar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<uchar> (0x1f2ca40) 0 empty
-Class QMetaTypeId2<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<float> (0x1f2cbc0) 0 empty
-Class QMetaTypeId2<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QObject*> (0x1f2cd40) 0 empty
-Class QMetaTypeId2<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QWidget*> (0x1f2cec0) 0 empty
-Class QMetaTypeId2<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<void*> (0x1f4d040) 0 empty
-Class QMetaTypeId2<qlonglong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<qlonglong> (0x1f4d1c0) 0 empty
-Class QMetaTypeId2<qulonglong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<qulonglong> (0x1f4d340) 0 empty
-Class QMetaTypeId2<QStringList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QStringList> (0x1f4d4c0) 0 empty
-Class QMetaTypeId2<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitArray> (0x1f4d640) 0 empty
-Class QMetaTypeId2<QDate>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDate> (0x1f4d7c0) 0 empty
-Class QMetaTypeId2<QTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTime> (0x1f4d940) 0 empty
-Class QMetaTypeId2<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDateTime> (0x1f4dac0) 0 empty
-Class QMetaTypeId2<QUrl>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QUrl> (0x1f4dc40) 0 empty
-Class QMetaTypeId2<QLocale>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLocale> (0x1f4ddc0) 0 empty
-Class QMetaTypeId2<QRect>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRect> (0x1f4df40) 0 empty
-Class QMetaTypeId2<QRectF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRectF> (0x1f6a0c0) 0 empty
-Class QMetaTypeId2<QSize>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSize> (0x1f6a240) 0 empty
-Class QMetaTypeId2<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizeF> (0x1f6a3c0) 0 empty
-Class QMetaTypeId2<QLine>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLine> (0x1f6a540) 0 empty
-Class QMetaTypeId2<QLineF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLineF> (0x1f6a6c0) 0 empty
-Class QMetaTypeId2<QPoint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPoint> (0x1f6a840) 0 empty
-Class QMetaTypeId2<QPointF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPointF> (0x1f6a9c0) 0 empty
-Class QMetaTypeId2<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegExp> (0x1f6ab40) 0 empty
-Class QMetaTypeId2<QColorGroup>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColorGroup> (0x1f6acc0) 0 empty
-Class QMetaTypeId2<QFont>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QFont> (0x1f6ae40) 0 empty
-Class QMetaTypeId2<QPixmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPixmap> (0x1f6afc0) 0 empty
-Class QMetaTypeId2<QBrush>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBrush> (0x1f89140) 0 empty
-Class QMetaTypeId2<QColor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColor> (0x1f892c0) 0 empty
-Class QMetaTypeId2<QPalette>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPalette> (0x1f89440) 0 empty
-Class QMetaTypeId2<QIcon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QIcon> (0x1f895c0) 0 empty
-Class QMetaTypeId2<QImage>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QImage> (0x1f89740) 0 empty
-Class QMetaTypeId2<QPolygon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPolygon> (0x1f898c0) 0 empty
-Class QMetaTypeId2<QRegion>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegion> (0x1f89a40) 0 empty
-Class QMetaTypeId2<QBitmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitmap> (0x1f89bc0) 0 empty
-Class QMetaTypeId2<QCursor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QCursor> (0x1f89d40) 0 empty
-Class QMetaTypeId2<QSizePolicy>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizePolicy> (0x1f89ec0) 0 empty
-Class QMetaTypeId2<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QKeySequence> (0x1fab040) 0 empty
-Class QMetaTypeId2<QPen>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPen> (0x1fab1c0) 0 empty
-Class QMetaTypeId2<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextLength> (0x1fab340) 0 empty
-Class QMetaTypeId2<QTextFormat>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextFormat> (0x1fab4c0) 0 empty
-Class QMetaTypeId2<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMatrix> (0x1fab640) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -1424,45 +950,17 @@ Class QVariant
base size=16 base align=8
QVariant (0x1478c80) 0
-Class QMetaTypeId2<QVariantList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QVariantList> (0x1ffde00) 0 empty
-Class QMetaTypeId2<QVariantMap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QVariantMap> (0x1ffdfc0) 0 empty
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0x2031480) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0x1fbf540) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0x2031780) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0x1fbf5c0) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0x1fab800) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0x2099100) 0 empty
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1540,15 +1038,7 @@ Class QUrl
base size=4 base align=4
QUrl (0x1f18180) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0x2155440) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0x21b3040) 0 empty
Vtable for QEventLoop
QEventLoop::_ZTV10QEventLoop: 14u entries
@@ -1575,10 +1065,6 @@ QEventLoop (0x21b36c0) 0
QObject (0x21b3700) 0
primary-for QEventLoop (0x21b36c0)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0x21b3a00) 0
Vtable for QAbstractEventDispatcher
QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 27u entries
@@ -1623,20 +1109,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0x222a200) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0x222ae80) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0x222a180) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0x22572c0) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -1806,10 +1284,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0x22da7c0) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0x22dae00) 0 empty
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -1917,20 +1391,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0x143fc00) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0x2376bc0) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0x143fc80) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0x238b1c0) 0 empty
Class QMetaProperty
size=20 align=4
@@ -1942,10 +1408,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0x143fd80) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0x238b900) 0 empty
Vtable for QMimeData
QMimeData::_ZTV9QMimeData: 17u entries
@@ -2127,10 +1589,6 @@ QLibrary (0x2449040) 0
QObject (0x2449080) 0
primary-for QLibrary (0x2449040)
-Class QFlags<QLibrary::LoadHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLibrary::LoadHint> (0x24492c0) 0
Vtable for QPluginLoader
QPluginLoader::_ZTV13QPluginLoader: 14u entries
@@ -2172,10 +1630,6 @@ Class QMutex
base size=4 base align=4
QMutex (0x24ba7c0) 0
-Class QMutexLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMutexLocker::<anonymous union> (0x24e7000) 0
Class QMutexLocker
size=4 align=4
@@ -2187,20 +1641,12 @@ Class QReadWriteLock
base size=4 base align=4
QReadWriteLock (0x24e7e00) 0
-Class QReadLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QReadLocker::<anonymous union> (0x24f6140) 0
Class QReadLocker
size=4 align=4
base size=4 base align=4
QReadLocker (0x24e7fc0) 0
-Class QWriteLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QWriteLocker::<anonymous union> (0x24f6900) 0
Class QWriteLocker
size=4 align=4
@@ -2258,10 +1704,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0x253aac0) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0x2594480) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -2273,70 +1715,42 @@ Class QDate
base size=4 base align=4
QDate (0x1e51b40) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0x25ec640) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0x1e51bc0) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0x2614280) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0x175e040) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0x2643040) 0 empty
Class QPoint
size=8 align=4
base size=8 base align=4
QPoint (0x1f18340) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0x2643c80) 0 empty
Class QPointF
size=16 align=8
base size=16 base align=8
QPointF (0x1f18380) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0x266be40) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0x1f182c0) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0x26b22c0) 0 empty
Class QLineF
size=32 align=8
base size=32 base align=8
QLineF (0x1f18300) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0x26dd780) 0 empty
Class QLinkedListData
size=20 align=4
@@ -2348,40 +1762,24 @@ Class QSize
base size=8 base align=4
QSize (0x1f18240) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0x27cffc0) 0 empty
Class QSizeF
size=16 align=8
base size=16 base align=8
QSizeF (0x1f18280) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0x2820500) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0x1f181c0) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0x28a7000) 0 empty
Class QRectF
size=32 align=8
base size=32 base align=8
QRectF (0x1f18200) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0x292b340) 0 empty
Class QSharedData
size=4 align=4
@@ -2414,25 +1812,9 @@ QTimeLine (0x299f700) 0
QObject (0x299f740) 0
primary-for QTimeLine (0x299f700)
-Class QList<QList<QVariant> >::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QList<QVariant> >::<anonymous union> (0x29ef000) 0
-Class QList<QList<QVariant> >
- size=4 align=4
- base size=4 base align=4
-QList<QList<QVariant> > (0x29bcec0) 0
-Class QList<int>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<int>::<anonymous union> (0x29ef580) 0
-Class QList<int>
- size=4 align=4
- base size=4 base align=4
-QList<int> (0x13b5d00) 0
Vtable for QSignalSpy
QSignalSpy::_ZTV10QSignalSpy: 14u entries
@@ -2490,48 +1872,12 @@ QTestEventLoop (0x2b09180) 0
QObject (0x2b091c0) 0
primary-for QTestEventLoop (0x2b09180)
-Class QPointer<QTestEventLoop>
- size=4 align=4
- base size=4 base align=4
-QPointer<QTestEventLoop> (0x2b09b40) 0
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0x1400440) 0
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0x15f3480) 0
-Class QTypeInfo<QDebug::Stream*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDebug::Stream*> (0x2cc8f80) 0 empty
-Class QList<int>::Node
- size=4 align=4
- base size=4 base align=4
-QList<int>::Node (0x29ef540) 0
-Class QTypeInfo<QList<QVariant> >
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QList<QVariant> > (0x2d9e4c0) 0 empty
-Class QList<QList<QVariant> >::Node
- size=4 align=4
- base size=4 base align=4
-QList<QList<QVariant> >::Node (0x29bcfc0) 0
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0x1777f40) 0
-Class QList<QVariant>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::Node (0x2031440) 0
diff --git a/tests/auto/bic/data/QtTest.4.3.0.linux-gcc-ia32.txt b/tests/auto/bic/data/QtTest.4.3.0.linux-gcc-ia32.txt
index a19e441..7535e0d 100644
--- a/tests/auto/bic/data/QtTest.4.3.0.linux-gcc-ia32.txt
+++ b/tests/auto/bic/data/QtTest.4.3.0.linux-gcc-ia32.txt
@@ -1,34 +1,8 @@
-Class QUintForSize<4>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<4> (0xb7f03d80) 0 empty
-Class QUintForSize<8>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<8> (0xb7f03dc0) 0 empty
-Class QUintForType<void*>
- size=1 align=1
- base size=1 base align=1
-QUintForType<void*> (0xb7f03e80) 0 empty
- QUintForSize<4> (0xb7f03ec0) 0 empty
-Class QIntForSize<4>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<4> (0xb7f03f40) 0 empty
-Class QIntForSize<8>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<8> (0xb7f03f80) 0 empty
-Class QIntForType<void*>
- size=1 align=1
- base size=1 base align=1
-QIntForType<void*> (0xb77a5040) 0 empty
- QIntForSize<4> (0xb77a5080) 0 empty
Class QSysInfo
size=1 align=1
@@ -50,150 +24,38 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0xb77a5340) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0xb77a5400) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0xb77a5440) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0xb77a5480) 0 empty
-Class QTypeInfo<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned char> (0xb77a54c0) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0xb77a5500) 0 empty
-Class QTypeInfo<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short unsigned int> (0xb77a5540) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0xb77a5580) 0 empty
-Class QTypeInfo<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned int> (0xb77a55c0) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0xb77a5600) 0 empty
-Class QTypeInfo<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long unsigned int> (0xb77a5640) 0 empty
-Class QTypeInfo<long long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long int> (0xb77a5680) 0 empty
-Class QTypeInfo<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long unsigned int> (0xb77a56c0) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0xb77a5700) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0xb77a5740) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0xb77a5780) 0 empty
Class QFlag
size=4 align=4
base size=4 base align=4
QFlag (0xb77a57c0) 0
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0xb77a58c0) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0xb77a5900) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0xb77a5940) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0xb77a5980) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0xb77a59c0) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0xb77a5a00) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0xb77a5a40) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0xb77a5a80) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0xb77a5ac0) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0xb77a5b00) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0xb77a5b40) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0xb77a5b80) 0
-Class QFlags<Qt::TextInteractionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::TextInteractionFlag> (0xb77a5bc0) 0
Class QInternal
size=1 align=1
@@ -211,10 +73,6 @@ Class QGenericReturnArgument
QGenericReturnArgument (0xb77a5cc0) 0
QGenericArgument (0xb77a5d00) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0xb77a5ec0) 0
Class QMetaObject
size=16 align=4
@@ -231,10 +89,6 @@ Class QChar
base size=2 base align=2
QChar (0xb77a5f80) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0xb72e5000) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -267,10 +121,6 @@ Class QByteRef
base size=8 base align=4
QByteRef (0xb72e5300) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0xb72e5340) 0 empty
Class QString::Null
size=1 align=1
@@ -287,10 +137,6 @@ Class QString
base size=4 base align=4
QString (0xb72e5380) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0xb72e5580) 0
Class QLatin1String
size=4 align=4
@@ -308,10 +154,6 @@ Class QConstString
QConstString (0xb72e5680) 0
QString (0xb72e56c0) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0xb72e5700) 0 empty
Class QStringRef
size=12 align=4
@@ -379,15 +221,7 @@ Class QListData
base size=4 base align=4
QListData (0xb72e5a40) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0xb72e5dc0) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0xb72e5d40) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -463,10 +297,6 @@ QLibrary (0xb72e54c0) 0
QObject (0xb72e5500) 0
primary-for QLibrary (0xb72e54c0)
-Class QFlags<QLibrary::LoadHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLibrary::LoadHint> (0xb72e5840) 0
Class QUuid
size=16 align=4
@@ -514,10 +344,6 @@ QIODevice (0xb72e5c00) 0
QObject (0xb72e5e40) 0
primary-for QIODevice (0xb72e5c00)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0xb6f09000) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -537,25 +363,13 @@ Class QRegExp
base size=4 base align=4
QRegExp (0xb6f090c0) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0xb6f09100) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0xb6f09140) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0xb6f09200) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0xb6f09180) 0
Class QStringList
size=4 align=4
@@ -563,15 +377,7 @@ Class QStringList
QStringList (0xb6f09240) 0
QList<QString> (0xb6f09280) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0xb6f09300) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0xb6f09340) 0
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -627,10 +433,6 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0xb6f096c0) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0xb6f09700) 0 empty
Class QCryptographicHash
size=4 align=4
@@ -642,75 +444,35 @@ Class QDate
base size=4 base align=4
QDate (0xb6f09c40) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0xb6f09d00) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0xb6f09d40) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0xb6f09e00) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0xb6f09e40) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0xb6f09f00) 0 empty
Class QByteArrayMatcher
size=1032 align=4
base size=1032 base align=4
QByteArrayMatcher (0xb6f09f40) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0xb6f09fc0) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0xb6f09080) 0
Class wait
size=4 align=4
base size=4 base align=4
wait (0xb6f09f80) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6f09440) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6f09580) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb6f09ac0) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6f09c80) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb6f09cc0) 0
Class timespec
size=8 align=4
@@ -722,80 +484,24 @@ Class timeval
base size=8 base align=4
timeval (0xb6f09dc0) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb6f09e80) 0
-Class <anonymous union>
- size=36 align=4
- base size=36 base align=4
-<anonymous union> (0xb6f09ec0) 0
Class __pthread_internal_slist
size=4 align=4
base size=4 base align=4
__pthread_internal_slist (0xb6cca000) 0
-Class <anonymous union>::__pthread_mutex_s::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union>::__pthread_mutex_s::<anonymous union> (0xb6cca0c0) 0
-Class <anonymous union>::__pthread_mutex_s
- size=24 align=4
- base size=24 base align=4
-<anonymous union>::__pthread_mutex_s (0xb6cca080) 0
-Class <anonymous union>
- size=24 align=4
- base size=24 base align=4
-<anonymous union> (0xb6cca040) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb6cca100) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0xb6cca180) 0
-Class <anonymous union>
- size=48 align=4
- base size=48 base align=4
-<anonymous union> (0xb6cca140) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb6cca1c0) 0
-Class <anonymous union>::<anonymous struct>
- size=32 align=4
- base size=32 base align=4
-<anonymous union>::<anonymous struct> (0xb6cca240) 0
-Class <anonymous union>
- size=32 align=4
- base size=32 base align=4
-<anonymous union> (0xb6cca200) 0
-Class <anonymous union>
- size=8 align=4
- base size=8 base align=4
-<anonymous union> (0xb6cca280) 0
-Class <anonymous union>
- size=20 align=4
- base size=20 base align=4
-<anonymous union> (0xb6cca2c0) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb6cca300) 0
Class random_data
size=28 align=4
@@ -817,20 +523,12 @@ Class QSize
base size=8 base align=4
QSize (0xb6cca580) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0xb6cca780) 0 empty
Class QSizeF
size=16 align=4
base size=16 base align=4
QSizeF (0xb6cca800) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0xb6ccaa00) 0 empty
Class QLinkedListData
size=20 align=4
@@ -842,15 +540,7 @@ Class QLocale
base size=4 base align=4
QLocale (0xb6ccadc0) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0xb6ccae00) 0 empty
-Class QFlags<QLocale::NumberOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLocale::NumberOption> (0xb6ccae40) 0
Vtable for QSystemLocale
QSystemLocale::_ZTV13QSystemLocale: 6u entries
@@ -887,60 +577,36 @@ Class QPoint
base size=8 base align=4
QPoint (0xb6b03040) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0xb6b03280) 0 empty
Class QPointF
size=16 align=4
base size=16 base align=4
QPointF (0xb6b032c0) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0xb6b03500) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0xb6b03640) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0xb6b03740) 0 empty
Class QRectF
size=32 align=4
base size=32 base align=4
QRectF (0xb6b03780) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0xb6b03840) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0xb6b03880) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0xb6b038c0) 0 empty
Class QLineF
size=32 align=4
base size=32 base align=4
QLineF (0xb6b03900) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0xb6b03940) 0 empty
Vtable for QTimeLine
QTimeLine::_ZTV9QTimeLine: 15u entries
@@ -978,10 +644,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0xb6b03cc0) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0xb6b03d00) 0 empty
Class QLibraryInfo
size=1 align=1
@@ -993,290 +655,66 @@ Class QUrl
base size=4 base align=4
QUrl (0xb6b03e40) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0xb6b03ec0) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0xb6b03f00) 0 empty
Class QMetaType
size=1 align=1
base size=0 base align=1
QMetaType (0xb6b03f40) 0 empty
-Class QMetaTypeId2<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QString> (0xb6b03080) 0 empty
-Class QMetaTypeId2<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<int> (0xb6b030c0) 0 empty
-Class QMetaTypeId2<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned int> (0xb6b03100) 0 empty
-Class QMetaTypeId2<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<bool> (0xb6b03140) 0 empty
-Class QMetaTypeId2<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<double> (0xb6b03180) 0 empty
-Class QMetaTypeId2<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QByteArray> (0xb6b031c0) 0 empty
-Class QMetaTypeId2<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QChar> (0xb6b03200) 0 empty
-Class QMetaTypeId2<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long int> (0xb6b03240) 0 empty
-Class QMetaTypeId2<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short int> (0xb6b03300) 0 empty
-Class QMetaTypeId2<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<char> (0xb6b03340) 0 empty
-Class QMetaTypeId2<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long unsigned int> (0xb6b03380) 0 empty
-Class QMetaTypeId2<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short unsigned int> (0xb6b033c0) 0 empty
-Class QMetaTypeId2<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned char> (0xb6b03400) 0 empty
-Class QMetaTypeId2<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<float> (0xb6b03440) 0 empty
-Class QMetaTypeId2<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QObject*> (0xb6b03480) 0 empty
-Class QMetaTypeId2<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QWidget*> (0xb6b034c0) 0 empty
-Class QMetaTypeId2<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<void*> (0xb6b03680) 0 empty
-Class QMetaTypeId2<long long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long int> (0xb6b036c0) 0 empty
-Class QMetaTypeId2<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long unsigned int> (0xb6b03700) 0 empty
-Class QMetaTypeId2<QStringList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QStringList> (0xb6b037c0) 0 empty
-Class QMetaTypeId2<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitArray> (0xb6b03800) 0 empty
-Class QMetaTypeId2<QDate>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDate> (0xb6b03b40) 0 empty
-Class QMetaTypeId2<QTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTime> (0xb6773000) 0 empty
-Class QMetaTypeId2<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDateTime> (0xb6773040) 0 empty
-Class QMetaTypeId2<QUrl>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QUrl> (0xb6773080) 0 empty
-Class QMetaTypeId2<QLocale>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLocale> (0xb67730c0) 0 empty
-Class QMetaTypeId2<QRect>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRect> (0xb6773100) 0 empty
-Class QMetaTypeId2<QRectF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRectF> (0xb6773140) 0 empty
-Class QMetaTypeId2<QSize>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSize> (0xb6773180) 0 empty
-Class QMetaTypeId2<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizeF> (0xb67731c0) 0 empty
-Class QMetaTypeId2<QLine>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLine> (0xb6773200) 0 empty
-Class QMetaTypeId2<QLineF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLineF> (0xb6773240) 0 empty
-Class QMetaTypeId2<QPoint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPoint> (0xb6773280) 0 empty
-Class QMetaTypeId2<QPointF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPointF> (0xb67732c0) 0 empty
-Class QMetaTypeId2<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegExp> (0xb6773300) 0 empty
-Class QMetaTypeId2<QColorGroup>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColorGroup> (0xb6773340) 0 empty
-Class QMetaTypeId2<QFont>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QFont> (0xb6773380) 0 empty
-Class QMetaTypeId2<QPixmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPixmap> (0xb67733c0) 0 empty
-Class QMetaTypeId2<QBrush>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBrush> (0xb6773400) 0 empty
-Class QMetaTypeId2<QColor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColor> (0xb6773440) 0 empty
-Class QMetaTypeId2<QPalette>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPalette> (0xb6773480) 0 empty
-Class QMetaTypeId2<QIcon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QIcon> (0xb67734c0) 0 empty
-Class QMetaTypeId2<QImage>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QImage> (0xb6773500) 0 empty
-Class QMetaTypeId2<QPolygon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPolygon> (0xb6773540) 0 empty
-Class QMetaTypeId2<QRegion>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegion> (0xb6773580) 0 empty
-Class QMetaTypeId2<QBitmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitmap> (0xb67735c0) 0 empty
-Class QMetaTypeId2<QCursor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QCursor> (0xb6773600) 0 empty
-Class QMetaTypeId2<QSizePolicy>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizePolicy> (0xb6773640) 0 empty
-Class QMetaTypeId2<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QKeySequence> (0xb6773680) 0 empty
-Class QMetaTypeId2<QPen>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPen> (0xb67736c0) 0 empty
-Class QMetaTypeId2<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextLength> (0xb6773700) 0 empty
-Class QMetaTypeId2<QTextFormat>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextFormat> (0xb6773740) 0 empty
-Class QMetaTypeId2<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMatrix> (0xb6773780) 0 empty
-Class QMetaTypeId2<QTransform>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTransform> (0xb67737c0) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -1303,45 +741,17 @@ Class QVariant
base size=12 base align=4
QVariant (0xb6773800) 0
-Class QMetaTypeId2<QList<QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QList<QVariant> > (0xb6773a80) 0 empty
-Class QMetaTypeId2<QMap<QString, QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMap<QString, QVariant> > (0xb6773ac0) 0 empty
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0xb6773bc0) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0xb6773b40) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0xb6773cc0) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0xb6773c40) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0xb6773d40) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0xb6773dc0) 0 empty
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1368,25 +778,9 @@ QSettings (0xb6773e00) 0
QObject (0xb6773e40) 0
primary-for QSettings (0xb6773e00)
-Class <anonymous struct>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct>::<anonymous union> (0xb6773f40) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6773f00) 0
-Class <anonymous struct>
- size=12 align=4
- base size=12 base align=4
-<anonymous struct> (0xb6773f80) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb6773fc0) 0
Class __gconv_trans_data
size=20 align=4
@@ -1408,15 +802,7 @@ Class __gconv_info
base size=8 base align=4
__gconv_info (0xb6773a00) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0xb6773e80) 0
-Class <anonymous union>
- size=44 align=4
- base size=44 base align=4
-<anonymous union> (0xb6773a40) 0
Class _IO_marker
size=12 align=4
@@ -1428,10 +814,6 @@ Class _IO_FILE
base size=148 base align=4
_IO_FILE (0xb6653000) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb6653040) 0
Vtable for QFile
QFile::_ZTV5QFile: 31u entries
@@ -1477,10 +859,6 @@ QFile (0xb6653080) 0
QObject (0xb6653100) 0
primary-for QIODevice (0xb66530c0)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0xb6653180) 0
Vtable for QTemporaryFile
QTemporaryFile::_ZTV14QTemporaryFile: 31u entries
@@ -1533,40 +911,16 @@ Class QFileInfo
base size=4 base align=4
QFileInfo (0xb6653300) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0xb6653340) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0xb6653380) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0xb6653440) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0xb66533c0) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0xb6653480) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0xb6653500) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0xb6653580) 0
Vtable for QProcess
QProcess::_ZTV8QProcess: 31u entries
@@ -1650,10 +1004,6 @@ Class QDirIterator
QDirIterator (0xb66537c0) 0
vptr=((& QDirIterator::_ZTV12QDirIterator) + 8u)
-Class QFlags<QDirIterator::IteratorFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDirIterator::IteratorFlag> (0xb6653880) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -1710,10 +1060,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0xb66538c0) 0
vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0xb6653a40) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -1747,10 +1093,6 @@ Class QAbstractFileEngineIterator
QAbstractFileEngineIterator (0xb6653b00) 0
vptr=((& QAbstractFileEngineIterator::_ZTV27QAbstractFileEngineIterator) + 8u)
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0xb6653c40) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -1775,15 +1117,7 @@ Class QTextCodec
QTextCodec (0xb6653b80) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0xb6653d80) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0xb6653d00) 0
Class QTextEncoder
size=32 align=4
@@ -1808,10 +1142,6 @@ Class QTextStream
QTextStream (0xb6653e40) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0xb6653f00) 0
Class QTextStreamManipulator
size=24 align=4
@@ -1958,20 +1288,12 @@ Class QReadWriteLock
base size=4 base align=4
QReadWriteLock (0xb64930c0) 0
-Class QReadLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QReadLocker::<anonymous union> (0xb6493140) 0
Class QReadLocker
size=4 align=4
base size=4 base align=4
QReadLocker (0xb6493100) 0
-Class QWriteLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QWriteLocker::<anonymous union> (0xb64931c0) 0
Class QWriteLocker
size=4 align=4
@@ -1983,10 +1305,6 @@ Class QMutex
base size=4 base align=4
QMutex (0xb6493200) 0
-Class QMutexLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMutexLocker::<anonymous union> (0xb6493280) 0
Class QMutexLocker
size=4 align=4
@@ -2066,10 +1384,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0xb6493580) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0xb64935c0) 0 empty
Vtable for QMimeData
QMimeData::_ZTV9QMimeData: 17u entries
@@ -2104,20 +1418,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0xb64936c0) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0xb6493700) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0xb6493740) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0xb64937c0) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -2357,10 +1663,6 @@ QEventLoop (0xb6493c40) 0
QObject (0xb6493c80) 0
primary-for QEventLoop (0xb6493c40)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0xb6493d80) 0
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -2555,20 +1857,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0xb6493e00) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0xb6493ec0) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0xb6493f80) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0xb640c000) 0 empty
Class QMetaProperty
size=20 align=4
@@ -2580,10 +1874,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0xb640c080) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0xb640c0c0) 0 empty
Vtable for QTextCodecFactoryInterface
QTextCodecFactoryInterface::_ZTV26QTextCodecFactoryInterface: 6u entries
@@ -2669,35 +1959,15 @@ QTestEventLoop (0xb640c380) 0
QObject (0xb640c3c0) 0
primary-for QTestEventLoop (0xb640c380)
-Class QPointer<QTestEventLoop>
- size=4 align=4
- base size=4 base align=4
-QPointer<QTestEventLoop> (0xb640c480) 0
Class QTestData
size=4 align=4
base size=4 base align=4
QTestData (0xb640c740) 0
-Class QList<QList<QVariant> >::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QList<QVariant> >::<anonymous union> (0xb640c9c0) 0
-Class QList<QList<QVariant> >
- size=4 align=4
- base size=4 base align=4
-QList<QList<QVariant> > (0xb640c940) 0
-Class QList<int>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<int>::<anonymous union> (0xb640cb80) 0
-Class QList<int>
- size=4 align=4
- base size=4 base align=4
-QList<int> (0xb640cb00) 0
Vtable for QSignalSpy
QSignalSpy::_ZTV10QSignalSpy: 14u entries
@@ -2725,38 +1995,10 @@ QSignalSpy (0xb640ca00) 0
primary-for QSignalSpy (0xb640ca00)
QList<QList<QVariant> > (0xb640ca80) 8
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0xb640ccc0) 0
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0xb640cd40) 0
-Class QList<int>::Node
- size=4 align=4
- base size=4 base align=4
-QList<int>::Node (0xb640cdc0) 0
-Class QTypeInfo<QList<QVariant> >
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QList<QVariant> > (0xb640ce40) 0 empty
-Class QList<QList<QVariant> >::Node
- size=4 align=4
- base size=4 base align=4
-QList<QList<QVariant> >::Node (0xb640cec0) 0
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0xb640cf40) 0
-Class QList<QVariant>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::Node (0xb640cfc0) 0
diff --git a/tests/auto/bic/data/QtTest.4.3.1.linux-gcc-ia32.txt b/tests/auto/bic/data/QtTest.4.3.1.linux-gcc-ia32.txt
index e5b39cb..8d794d1 100644
--- a/tests/auto/bic/data/QtTest.4.3.1.linux-gcc-ia32.txt
+++ b/tests/auto/bic/data/QtTest.4.3.1.linux-gcc-ia32.txt
@@ -1,34 +1,8 @@
-Class QUintForSize<4>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<4> (0xb7f7ed80) 0 empty
-Class QUintForSize<8>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<8> (0xb7f7edc0) 0 empty
-Class QUintForType<void*>
- size=1 align=1
- base size=1 base align=1
-QUintForType<void*> (0xb7f7ee80) 0 empty
- QUintForSize<4> (0xb7f7eec0) 0 empty
-Class QIntForSize<4>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<4> (0xb7f7ef40) 0 empty
-Class QIntForSize<8>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<8> (0xb7f7ef80) 0 empty
-Class QIntForType<void*>
- size=1 align=1
- base size=1 base align=1
-QIntForType<void*> (0xb7420040) 0 empty
- QIntForSize<4> (0xb7420080) 0 empty
Class QSysInfo
size=1 align=1
@@ -50,80 +24,20 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0xb7420340) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0xb7420400) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0xb7420440) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0xb7420480) 0 empty
-Class QTypeInfo<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned char> (0xb74204c0) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0xb7420500) 0 empty
-Class QTypeInfo<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short unsigned int> (0xb7420540) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0xb7420580) 0 empty
-Class QTypeInfo<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned int> (0xb74205c0) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0xb7420600) 0 empty
-Class QTypeInfo<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long unsigned int> (0xb7420640) 0 empty
-Class QTypeInfo<long long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long int> (0xb7420680) 0 empty
-Class QTypeInfo<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long unsigned int> (0xb74206c0) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0xb7420700) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0xb7420740) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0xb7420780) 0 empty
Class QFlag
size=4 align=4
@@ -161,10 +75,6 @@ Class QByteRef
base size=8 base align=4
QByteRef (0xb7420bc0) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0xb7420c00) 0 empty
Vtable for std::exception
std::exception::_ZTVSt9exception: 5u entries
@@ -227,70 +137,18 @@ Class QListData
base size=4 base align=4
QListData (0xb7420f00) 0
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0xb73ce100) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0xb73ce140) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0xb73ce180) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0xb73ce1c0) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0xb73ce200) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0xb73ce240) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0xb73ce280) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0xb73ce2c0) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0xb73ce300) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0xb73ce340) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0xb73ce380) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0xb73ce3c0) 0
-Class QFlags<Qt::TextInteractionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::TextInteractionFlag> (0xb73ce400) 0
Class QInternal
size=1 align=1
@@ -308,10 +166,6 @@ Class QGenericReturnArgument
QGenericReturnArgument (0xb73ce500) 0
QGenericArgument (0xb73ce540) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0xb73ce700) 0
Class QMetaObject
size=16 align=4
@@ -328,10 +182,6 @@ Class QChar
base size=2 base align=2
QChar (0xb73ce7c0) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0xb73ce840) 0 empty
Class QString::Null
size=1 align=1
@@ -348,10 +198,6 @@ Class QString
base size=4 base align=4
QString (0xb73ce880) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0xb73cea80) 0
Class QLatin1String
size=4 align=4
@@ -369,25 +215,13 @@ Class QConstString
QConstString (0xb73ceb40) 0
QString (0xb73ceb80) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0xb73cebc0) 0 empty
Class QStringRef
size=12 align=4
base size=12 base align=4
QStringRef (0xb73cec00) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0xb73ced40) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0xb73cecc0) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -479,10 +313,6 @@ QIODevice (0xb73cef80) 0
QObject (0xb73cefc0) 0
primary-for QIODevice (0xb73cef80)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0xb73ce000) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -502,275 +332,59 @@ Class QMetaType
base size=0 base align=1
QMetaType (0xb73cea00) 0 empty
-Class QMetaTypeId2<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QString> (0xb6fb3000) 0 empty
-Class QMetaTypeId2<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<int> (0xb6fb3040) 0 empty
-Class QMetaTypeId2<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned int> (0xb6fb3080) 0 empty
-Class QMetaTypeId2<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<bool> (0xb6fb30c0) 0 empty
-Class QMetaTypeId2<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<double> (0xb6fb3100) 0 empty
-Class QMetaTypeId2<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QByteArray> (0xb6fb3140) 0 empty
-Class QMetaTypeId2<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QChar> (0xb6fb3180) 0 empty
-Class QMetaTypeId2<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long int> (0xb6fb31c0) 0 empty
-Class QMetaTypeId2<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short int> (0xb6fb3200) 0 empty
-Class QMetaTypeId2<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<char> (0xb6fb3240) 0 empty
-Class QMetaTypeId2<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long unsigned int> (0xb6fb3280) 0 empty
-Class QMetaTypeId2<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short unsigned int> (0xb6fb32c0) 0 empty
-Class QMetaTypeId2<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned char> (0xb6fb3300) 0 empty
-Class QMetaTypeId2<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<float> (0xb6fb3340) 0 empty
-Class QMetaTypeId2<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QObject*> (0xb6fb3380) 0 empty
-Class QMetaTypeId2<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QWidget*> (0xb6fb33c0) 0 empty
-Class QMetaTypeId2<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<void*> (0xb6fb3400) 0 empty
-Class QMetaTypeId2<long long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long int> (0xb6fb3440) 0 empty
-Class QMetaTypeId2<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long unsigned int> (0xb6fb3480) 0 empty
-Class QMetaTypeId2<QStringList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QStringList> (0xb6fb34c0) 0 empty
-Class QMetaTypeId2<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitArray> (0xb6fb3500) 0 empty
-Class QMetaTypeId2<QDate>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDate> (0xb6fb3540) 0 empty
-Class QMetaTypeId2<QTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTime> (0xb6fb3580) 0 empty
-Class QMetaTypeId2<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDateTime> (0xb6fb35c0) 0 empty
-Class QMetaTypeId2<QUrl>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QUrl> (0xb6fb3600) 0 empty
-Class QMetaTypeId2<QLocale>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLocale> (0xb6fb3640) 0 empty
-Class QMetaTypeId2<QRect>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRect> (0xb6fb3680) 0 empty
-Class QMetaTypeId2<QRectF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRectF> (0xb6fb36c0) 0 empty
-Class QMetaTypeId2<QSize>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSize> (0xb6fb3700) 0 empty
-Class QMetaTypeId2<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizeF> (0xb6fb3740) 0 empty
-Class QMetaTypeId2<QLine>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLine> (0xb6fb3780) 0 empty
-Class QMetaTypeId2<QLineF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLineF> (0xb6fb37c0) 0 empty
-Class QMetaTypeId2<QPoint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPoint> (0xb6fb3800) 0 empty
-Class QMetaTypeId2<QPointF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPointF> (0xb6fb3840) 0 empty
-Class QMetaTypeId2<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegExp> (0xb6fb3880) 0 empty
-Class QMetaTypeId2<QColorGroup>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColorGroup> (0xb6fb38c0) 0 empty
-Class QMetaTypeId2<QFont>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QFont> (0xb6fb3900) 0 empty
-Class QMetaTypeId2<QPixmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPixmap> (0xb6fb3940) 0 empty
-Class QMetaTypeId2<QBrush>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBrush> (0xb6fb3980) 0 empty
-Class QMetaTypeId2<QColor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColor> (0xb6fb39c0) 0 empty
-Class QMetaTypeId2<QPalette>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPalette> (0xb6fb3a00) 0 empty
-Class QMetaTypeId2<QIcon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QIcon> (0xb6fb3a40) 0 empty
-Class QMetaTypeId2<QImage>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QImage> (0xb6fb3a80) 0 empty
-Class QMetaTypeId2<QPolygon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPolygon> (0xb6fb3ac0) 0 empty
-Class QMetaTypeId2<QRegion>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegion> (0xb6fb3b00) 0 empty
-Class QMetaTypeId2<QBitmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitmap> (0xb6fb3b40) 0 empty
-Class QMetaTypeId2<QCursor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QCursor> (0xb6fb3b80) 0 empty
-Class QMetaTypeId2<QSizePolicy>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizePolicy> (0xb6fb3bc0) 0 empty
-Class QMetaTypeId2<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QKeySequence> (0xb6fb3c00) 0 empty
-Class QMetaTypeId2<QPen>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPen> (0xb6fb3c40) 0 empty
-Class QMetaTypeId2<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextLength> (0xb6fb3c80) 0 empty
-Class QMetaTypeId2<QTextFormat>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextFormat> (0xb6fb3cc0) 0 empty
-Class QMetaTypeId2<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMatrix> (0xb6fb3d00) 0 empty
-Class QMetaTypeId2<QTransform>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTransform> (0xb6fb3d40) 0 empty
Class QMapData::Node
size=8 align=4
@@ -807,45 +421,17 @@ Class QVariant
base size=12 base align=4
QVariant (0xb6df2200) 0
-Class QMetaTypeId2<QList<QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QList<QVariant> > (0xb6df2480) 0 empty
-Class QMetaTypeId2<QMap<QString, QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMap<QString, QVariant> > (0xb6df24c0) 0 empty
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0xb6df25c0) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0xb6df2540) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0xb6df26c0) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0xb6df2640) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0xb6df2740) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0xb6df27c0) 0 empty
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -972,10 +558,6 @@ QEventLoop (0xb6df2c40) 0
QObject (0xb6df2c80) 0
primary-for QEventLoop (0xb6df2c40)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0xb6df2d80) 0
Vtable for QCoreApplication
QCoreApplication::_ZTV16QCoreApplication: 16u entries
@@ -1009,10 +591,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0xb6df2f40) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0xb6df2f80) 0 empty
Vtable for QTimer
QTimer::_ZTV6QTimer: 14u entries
@@ -1069,20 +647,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0xb6df2440) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0xb6df2340) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0xb6df2400) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0xb6df2840) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -1277,20 +847,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0xb6bee080) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0xb6bee0c0) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0xb6bee100) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0xb6bee140) 0 empty
Class QMetaProperty
size=20 align=4
@@ -1302,10 +864,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0xb6bee1c0) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0xb6bee200) 0 empty
Vtable for QSocketNotifier
QSocketNotifier::_ZTV15QSocketNotifier: 14u entries
@@ -1408,100 +966,48 @@ Class QSize
base size=8 base align=4
QSize (0xb6bee500) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0xb6bee700) 0 empty
Class QSizeF
size=16 align=4
base size=16 base align=4
QSizeF (0xb6bee780) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0xb6bee980) 0 empty
Class QPoint
size=8 align=4
base size=8 base align=4
QPoint (0xb6beea40) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0xb6beec80) 0 empty
Class QPointF
size=16 align=4
base size=16 base align=4
QPointF (0xb6beecc0) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0xb6beef00) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0xb6beef40) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0xb6bee040) 0 empty
Class QRectF
size=32 align=4
base size=32 base align=4
QRectF (0xb6bee2c0) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0xb6bee380) 0 empty
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0xb6bee540) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0xb6bee580) 0
Class wait
size=4 align=4
base size=4 base align=4
wait (0xb6bee440) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6bee5c0) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6bee600) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb6bee640) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6bee680) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb6bee6c0) 0
Class timespec
size=8 align=4
@@ -1513,80 +1019,24 @@ Class timeval
base size=8 base align=4
timeval (0xb6bee800) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb6bee840) 0
-Class <anonymous union>
- size=36 align=4
- base size=36 base align=4
-<anonymous union> (0xb6bee880) 0
Class __pthread_internal_slist
size=4 align=4
base size=4 base align=4
__pthread_internal_slist (0xb6bee8c0) 0
-Class <anonymous union>::__pthread_mutex_s::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union>::__pthread_mutex_s::<anonymous union> (0xb6beea80) 0
-Class <anonymous union>::__pthread_mutex_s
- size=24 align=4
- base size=24 base align=4
-<anonymous union>::__pthread_mutex_s (0xb6bee940) 0
-Class <anonymous union>
- size=24 align=4
- base size=24 base align=4
-<anonymous union> (0xb6bee900) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb6beeac0) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0xb6beeb40) 0
-Class <anonymous union>
- size=48 align=4
- base size=48 base align=4
-<anonymous union> (0xb6beeb00) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb6beeb80) 0
-Class <anonymous union>::<anonymous struct>
- size=32 align=4
- base size=32 base align=4
-<anonymous union>::<anonymous struct> (0xb6beec00) 0
-Class <anonymous union>
- size=32 align=4
- base size=32 base align=4
-<anonymous union> (0xb6beebc0) 0
-Class <anonymous union>
- size=8 align=4
- base size=8 base align=4
-<anonymous union> (0xb6beec40) 0
-Class <anonymous union>
- size=20 align=4
- base size=20 base align=4
-<anonymous union> (0xb6beed00) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb6beed40) 0
Class random_data
size=28 align=4
@@ -1618,35 +1068,19 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0xb6a0d1c0) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0xb6a0d200) 0 empty
Class QRegExp
size=4 align=4
base size=4 base align=4
QRegExp (0xb6a0d980) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0xb6a0d9c0) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0xb6a0da00) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0xb6a0dac0) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0xb6a0da40) 0
Class QStringList
size=4 align=4
@@ -1654,15 +1088,7 @@ Class QStringList
QStringList (0xb6a0db00) 0
QList<QString> (0xb6a0db40) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0xb6a0dbc0) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0xb6a0dc00) 0
Vtable for QTimeLine
QTimeLine::_ZTV9QTimeLine: 15u entries
@@ -1695,15 +1121,7 @@ Class QLocale
base size=4 base align=4
QLocale (0xb6a0de00) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0xb6a0de40) 0 empty
-Class QFlags<QLocale::NumberOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLocale::NumberOption> (0xb6a0de80) 0
Vtable for QSystemLocale
QSystemLocale::_ZTV13QSystemLocale: 6u entries
@@ -1730,10 +1148,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0xb67e7000) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0xb67e7040) 0 empty
Class QCryptographicHash
size=4 align=4
@@ -1750,20 +1164,12 @@ Class QLine
base size=16 base align=4
QLine (0xb67e7480) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0xb67e74c0) 0 empty
Class QLineF
size=32 align=4
base size=32 base align=4
QLineF (0xb67e7500) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0xb67e7540) 0 empty
Class QSharedData
size=4 align=4
@@ -1775,30 +1181,18 @@ Class QDate
base size=4 base align=4
QDate (0xb67e76c0) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0xb67e7780) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0xb67e77c0) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0xb67e7880) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0xb67e78c0) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0xb67e7980) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -1810,20 +1204,12 @@ Class QReadWriteLock
base size=4 base align=4
QReadWriteLock (0xb67e7a00) 0
-Class QReadLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QReadLocker::<anonymous union> (0xb67e7a80) 0
Class QReadLocker
size=4 align=4
base size=4 base align=4
QReadLocker (0xb67e7a40) 0
-Class QWriteLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QWriteLocker::<anonymous union> (0xb67e7b00) 0
Class QWriteLocker
size=4 align=4
@@ -1876,20 +1262,12 @@ Class QMutex
base size=4 base align=4
QMutex (0xb67e7d40) 0
-Class QMutexLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMutexLocker::<anonymous union> (0xb67e7dc0) 0
Class QMutexLocker
size=4 align=4
base size=4 base align=4
QMutexLocker (0xb67e7d80) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0xb67e7ec0) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -1914,15 +1292,7 @@ Class QTextCodec
QTextCodec (0xb67e7e00) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0xb67e73c0) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0xb67e7f80) 0
Class QTextEncoder
size=32 align=4
@@ -1934,25 +1304,9 @@ Class QTextDecoder
base size=32 base align=4
QTextDecoder (0xb67e7740) 0
-Class <anonymous struct>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct>::<anonymous union> (0xb67e7840) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb67e7800) 0
-Class <anonymous struct>
- size=12 align=4
- base size=12 base align=4
-<anonymous struct> (0xb67e7900) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb67e7940) 0
Class __gconv_trans_data
size=20 align=4
@@ -1974,15 +1328,7 @@ Class __gconv_info
base size=8 base align=4
__gconv_info (0xb65cb000) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0xb65cb080) 0
-Class <anonymous union>
- size=44 align=4
- base size=44 base align=4
-<anonymous union> (0xb65cb040) 0
Class _IO_marker
size=12 align=4
@@ -1994,10 +1340,6 @@ Class _IO_FILE
base size=148 base align=4
_IO_FILE (0xb65cb100) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb65cb140) 0
Vtable for QTextStream
QTextStream::_ZTV11QTextStream: 4u entries
@@ -2012,10 +1354,6 @@ Class QTextStream
QTextStream (0xb65cb180) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0xb65cb240) 0
Class QTextStreamManipulator
size=24 align=4
@@ -2131,35 +1469,15 @@ QFile (0xb65cb680) 0
QObject (0xb65cb700) 0
primary-for QIODevice (0xb65cb6c0)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0xb65cb780) 0
Class QFileInfo
size=4 align=4
base size=4 base align=4
QFileInfo (0xb65cb7c0) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0xb65cb800) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0xb65cb840) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0xb65cb900) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0xb65cb880) 0
Vtable for QTemporaryFile
QTemporaryFile::_ZTV14QTemporaryFile: 31u entries
@@ -2212,15 +1530,7 @@ Class QDir
base size=4 base align=4
QDir (0xb65cba80) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0xb65cbb00) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0xb65cbb80) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -2277,10 +1587,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0xb65cbbc0) 0
vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0xb65cbd40) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -2409,15 +1715,7 @@ Class QUrl
base size=4 base align=4
QUrl (0xb65cb200) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0xb65cb480) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0xb65cb580) 0 empty
Vtable for QDirIterator
QDirIterator::_ZTV12QDirIterator: 4u entries
@@ -2432,10 +1730,6 @@ Class QDirIterator
QDirIterator (0xb65cb640) 0
vptr=((& QDirIterator::_ZTV12QDirIterator) + 8u)
-Class QFlags<QDirIterator::IteratorFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDirIterator::IteratorFlag> (0xb65cba40) 0
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -2541,10 +1835,6 @@ QLibrary (0xb644c140) 0
QObject (0xb644c180) 0
primary-for QLibrary (0xb644c140)
-Class QFlags<QLibrary::LoadHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLibrary::LoadHint> (0xb644c200) 0
Vtable for QPluginLoader
QPluginLoader::_ZTV13QPluginLoader: 14u entries
@@ -2649,25 +1939,9 @@ Class QTestData
base size=4 base align=4
QTestData (0xb644c680) 0
-Class QList<QList<QVariant> >::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QList<QVariant> >::<anonymous union> (0xb644c9c0) 0
-Class QList<QList<QVariant> >
- size=4 align=4
- base size=4 base align=4
-QList<QList<QVariant> > (0xb644c940) 0
-Class QList<int>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<int>::<anonymous union> (0xb644cb80) 0
-Class QList<int>
- size=4 align=4
- base size=4 base align=4
-QList<int> (0xb644cb00) 0
Vtable for QSignalSpy
QSignalSpy::_ZTV10QSignalSpy: 14u entries
@@ -2720,43 +1994,11 @@ QTestEventLoop (0xb644cd80) 0
QObject (0xb644cdc0) 0
primary-for QTestEventLoop (0xb644cd80)
-Class QPointer<QTestEventLoop>
- size=4 align=4
- base size=4 base align=4
-QPointer<QTestEventLoop> (0xb644ce80) 0
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0xb644cfc0) 0
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0xb644c1c0) 0
-Class QList<int>::Node
- size=4 align=4
- base size=4 base align=4
-QList<int>::Node (0xb644c340) 0
-Class QTypeInfo<QList<QVariant> >
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QList<QVariant> > (0xb644c600) 0 empty
-Class QList<QList<QVariant> >::Node
- size=4 align=4
- base size=4 base align=4
-QList<QList<QVariant> >::Node (0xb644c740) 0
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0xb644c840) 0
-Class QList<QVariant>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::Node (0xb644c8c0) 0
diff --git a/tests/auto/bic/data/QtTest.4.3.2.linux-gcc-ia32.txt b/tests/auto/bic/data/QtTest.4.3.2.linux-gcc-ia32.txt
index 25081ae..d0070d1 100644
--- a/tests/auto/bic/data/QtTest.4.3.2.linux-gcc-ia32.txt
+++ b/tests/auto/bic/data/QtTest.4.3.2.linux-gcc-ia32.txt
@@ -1,34 +1,8 @@
-Class QUintForSize<4>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<4> (0xb7f3fd80) 0 empty
-Class QUintForSize<8>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<8> (0xb7f3fdc0) 0 empty
-Class QUintForType<void*>
- size=1 align=1
- base size=1 base align=1
-QUintForType<void*> (0xb7f3fe80) 0 empty
- QUintForSize<4> (0xb7f3fec0) 0 empty
-Class QIntForSize<4>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<4> (0xb7f3ff40) 0 empty
-Class QIntForSize<8>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<8> (0xb7f3ff80) 0 empty
-Class QIntForType<void*>
- size=1 align=1
- base size=1 base align=1
-QIntForType<void*> (0xb77e1040) 0 empty
- QIntForSize<4> (0xb77e1080) 0 empty
Class QSysInfo
size=1 align=1
@@ -50,150 +24,38 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0xb77e1340) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0xb77e1400) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0xb77e1440) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0xb77e1480) 0 empty
-Class QTypeInfo<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned char> (0xb77e14c0) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0xb77e1500) 0 empty
-Class QTypeInfo<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short unsigned int> (0xb77e1540) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0xb77e1580) 0 empty
-Class QTypeInfo<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned int> (0xb77e15c0) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0xb77e1600) 0 empty
-Class QTypeInfo<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long unsigned int> (0xb77e1640) 0 empty
-Class QTypeInfo<long long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long int> (0xb77e1680) 0 empty
-Class QTypeInfo<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long unsigned int> (0xb77e16c0) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0xb77e1700) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0xb77e1740) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0xb77e1780) 0 empty
Class QFlag
size=4 align=4
base size=4 base align=4
QFlag (0xb77e17c0) 0
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0xb77e18c0) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0xb77e1900) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0xb77e1940) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0xb77e1980) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0xb77e19c0) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0xb77e1a00) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0xb77e1a40) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0xb77e1a80) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0xb77e1ac0) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0xb77e1b00) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0xb77e1b40) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0xb77e1b80) 0
-Class QFlags<Qt::TextInteractionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::TextInteractionFlag> (0xb77e1bc0) 0
Class QInternal
size=1 align=1
@@ -211,10 +73,6 @@ Class QGenericReturnArgument
QGenericReturnArgument (0xb77e1cc0) 0
QGenericArgument (0xb77e1d00) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0xb77e1ec0) 0
Class QMetaObject
size=16 align=4
@@ -231,10 +89,6 @@ Class QChar
base size=2 base align=2
QChar (0xb77e1f80) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0xb7321000) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -267,10 +121,6 @@ Class QByteRef
base size=8 base align=4
QByteRef (0xb7321300) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0xb7321340) 0 empty
Class QString::Null
size=1 align=1
@@ -287,10 +137,6 @@ Class QString
base size=4 base align=4
QString (0xb7321380) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0xb7321580) 0
Class QLatin1String
size=4 align=4
@@ -308,10 +154,6 @@ Class QConstString
QConstString (0xb7321680) 0
QString (0xb73216c0) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0xb7321700) 0 empty
Class QStringRef
size=12 align=4
@@ -379,15 +221,7 @@ Class QListData
base size=4 base align=4
QListData (0xb7321a40) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0xb7321dc0) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0xb7321d40) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -463,10 +297,6 @@ QLibrary (0xb73214c0) 0
QObject (0xb7321500) 0
primary-for QLibrary (0xb73214c0)
-Class QFlags<QLibrary::LoadHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLibrary::LoadHint> (0xb7321840) 0
Class QUuid
size=16 align=4
@@ -514,10 +344,6 @@ QIODevice (0xb7321c00) 0
QObject (0xb7321e40) 0
primary-for QIODevice (0xb7321c00)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0xb6f45000) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -537,25 +363,13 @@ Class QRegExp
base size=4 base align=4
QRegExp (0xb6f450c0) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0xb6f45100) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0xb6f45140) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0xb6f45200) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0xb6f45180) 0
Class QStringList
size=4 align=4
@@ -563,15 +377,7 @@ Class QStringList
QStringList (0xb6f45240) 0
QList<QString> (0xb6f45280) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0xb6f45300) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0xb6f45340) 0
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -627,10 +433,6 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0xb6f456c0) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0xb6f45700) 0 empty
Class QCryptographicHash
size=4 align=4
@@ -642,75 +444,35 @@ Class QDate
base size=4 base align=4
QDate (0xb6f45c40) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0xb6f45d00) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0xb6f45d40) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0xb6f45e00) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0xb6f45e40) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0xb6f45f00) 0 empty
Class QByteArrayMatcher
size=1032 align=4
base size=1032 base align=4
QByteArrayMatcher (0xb6f45f40) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0xb6f45fc0) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0xb6f45080) 0
Class wait
size=4 align=4
base size=4 base align=4
wait (0xb6f45f80) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6f45440) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6f45580) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb6f45ac0) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6f45c80) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb6f45cc0) 0
Class timespec
size=8 align=4
@@ -722,80 +484,24 @@ Class timeval
base size=8 base align=4
timeval (0xb6f45dc0) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb6f45e80) 0
-Class <anonymous union>
- size=36 align=4
- base size=36 base align=4
-<anonymous union> (0xb6f45ec0) 0
Class __pthread_internal_slist
size=4 align=4
base size=4 base align=4
__pthread_internal_slist (0xb6d06000) 0
-Class <anonymous union>::__pthread_mutex_s::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union>::__pthread_mutex_s::<anonymous union> (0xb6d060c0) 0
-Class <anonymous union>::__pthread_mutex_s
- size=24 align=4
- base size=24 base align=4
-<anonymous union>::__pthread_mutex_s (0xb6d06080) 0
-Class <anonymous union>
- size=24 align=4
- base size=24 base align=4
-<anonymous union> (0xb6d06040) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb6d06100) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0xb6d06180) 0
-Class <anonymous union>
- size=48 align=4
- base size=48 base align=4
-<anonymous union> (0xb6d06140) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb6d061c0) 0
-Class <anonymous union>::<anonymous struct>
- size=32 align=4
- base size=32 base align=4
-<anonymous union>::<anonymous struct> (0xb6d06240) 0
-Class <anonymous union>
- size=32 align=4
- base size=32 base align=4
-<anonymous union> (0xb6d06200) 0
-Class <anonymous union>
- size=8 align=4
- base size=8 base align=4
-<anonymous union> (0xb6d06280) 0
-Class <anonymous union>
- size=20 align=4
- base size=20 base align=4
-<anonymous union> (0xb6d062c0) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb6d06300) 0
Class random_data
size=28 align=4
@@ -817,20 +523,12 @@ Class QSize
base size=8 base align=4
QSize (0xb6d06580) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0xb6d06780) 0 empty
Class QSizeF
size=16 align=4
base size=16 base align=4
QSizeF (0xb6d06800) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0xb6d06a00) 0 empty
Class QLinkedListData
size=20 align=4
@@ -842,15 +540,7 @@ Class QLocale
base size=4 base align=4
QLocale (0xb6d06dc0) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0xb6d06e00) 0 empty
-Class QFlags<QLocale::NumberOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLocale::NumberOption> (0xb6d06e40) 0
Vtable for QSystemLocale
QSystemLocale::_ZTV13QSystemLocale: 6u entries
@@ -887,60 +577,36 @@ Class QPoint
base size=8 base align=4
QPoint (0xb6b3f040) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0xb6b3f280) 0 empty
Class QPointF
size=16 align=4
base size=16 base align=4
QPointF (0xb6b3f2c0) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0xb6b3f500) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0xb6b3f640) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0xb6b3f740) 0 empty
Class QRectF
size=32 align=4
base size=32 base align=4
QRectF (0xb6b3f780) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0xb6b3f840) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0xb6b3f880) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0xb6b3f8c0) 0 empty
Class QLineF
size=32 align=4
base size=32 base align=4
QLineF (0xb6b3f900) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0xb6b3f940) 0 empty
Vtable for QTimeLine
QTimeLine::_ZTV9QTimeLine: 15u entries
@@ -978,10 +644,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0xb6b3fcc0) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0xb6b3fd00) 0 empty
Class QLibraryInfo
size=1 align=1
@@ -993,290 +655,66 @@ Class QUrl
base size=4 base align=4
QUrl (0xb6b3fe40) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0xb6b3fec0) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0xb6b3ff00) 0 empty
Class QMetaType
size=1 align=1
base size=0 base align=1
QMetaType (0xb6b3ff40) 0 empty
-Class QMetaTypeId2<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QString> (0xb6b3f080) 0 empty
-Class QMetaTypeId2<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<int> (0xb6b3f0c0) 0 empty
-Class QMetaTypeId2<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned int> (0xb6b3f100) 0 empty
-Class QMetaTypeId2<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<bool> (0xb6b3f140) 0 empty
-Class QMetaTypeId2<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<double> (0xb6b3f180) 0 empty
-Class QMetaTypeId2<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QByteArray> (0xb6b3f1c0) 0 empty
-Class QMetaTypeId2<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QChar> (0xb6b3f200) 0 empty
-Class QMetaTypeId2<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long int> (0xb6b3f240) 0 empty
-Class QMetaTypeId2<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short int> (0xb6b3f300) 0 empty
-Class QMetaTypeId2<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<char> (0xb6b3f340) 0 empty
-Class QMetaTypeId2<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long unsigned int> (0xb6b3f380) 0 empty
-Class QMetaTypeId2<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short unsigned int> (0xb6b3f3c0) 0 empty
-Class QMetaTypeId2<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned char> (0xb6b3f400) 0 empty
-Class QMetaTypeId2<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<float> (0xb6b3f440) 0 empty
-Class QMetaTypeId2<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QObject*> (0xb6b3f480) 0 empty
-Class QMetaTypeId2<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QWidget*> (0xb6b3f4c0) 0 empty
-Class QMetaTypeId2<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<void*> (0xb6b3f680) 0 empty
-Class QMetaTypeId2<long long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long int> (0xb6b3f6c0) 0 empty
-Class QMetaTypeId2<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long unsigned int> (0xb6b3f700) 0 empty
-Class QMetaTypeId2<QStringList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QStringList> (0xb6b3f7c0) 0 empty
-Class QMetaTypeId2<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitArray> (0xb6b3f800) 0 empty
-Class QMetaTypeId2<QDate>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDate> (0xb6b3fb40) 0 empty
-Class QMetaTypeId2<QTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTime> (0xb67b0000) 0 empty
-Class QMetaTypeId2<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDateTime> (0xb67b0040) 0 empty
-Class QMetaTypeId2<QUrl>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QUrl> (0xb67b0080) 0 empty
-Class QMetaTypeId2<QLocale>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLocale> (0xb67b00c0) 0 empty
-Class QMetaTypeId2<QRect>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRect> (0xb67b0100) 0 empty
-Class QMetaTypeId2<QRectF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRectF> (0xb67b0140) 0 empty
-Class QMetaTypeId2<QSize>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSize> (0xb67b0180) 0 empty
-Class QMetaTypeId2<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizeF> (0xb67b01c0) 0 empty
-Class QMetaTypeId2<QLine>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLine> (0xb67b0200) 0 empty
-Class QMetaTypeId2<QLineF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLineF> (0xb67b0240) 0 empty
-Class QMetaTypeId2<QPoint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPoint> (0xb67b0280) 0 empty
-Class QMetaTypeId2<QPointF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPointF> (0xb67b02c0) 0 empty
-Class QMetaTypeId2<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegExp> (0xb67b0300) 0 empty
-Class QMetaTypeId2<QColorGroup>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColorGroup> (0xb67b0340) 0 empty
-Class QMetaTypeId2<QFont>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QFont> (0xb67b0380) 0 empty
-Class QMetaTypeId2<QPixmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPixmap> (0xb67b03c0) 0 empty
-Class QMetaTypeId2<QBrush>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBrush> (0xb67b0400) 0 empty
-Class QMetaTypeId2<QColor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColor> (0xb67b0440) 0 empty
-Class QMetaTypeId2<QPalette>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPalette> (0xb67b0480) 0 empty
-Class QMetaTypeId2<QIcon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QIcon> (0xb67b04c0) 0 empty
-Class QMetaTypeId2<QImage>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QImage> (0xb67b0500) 0 empty
-Class QMetaTypeId2<QPolygon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPolygon> (0xb67b0540) 0 empty
-Class QMetaTypeId2<QRegion>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegion> (0xb67b0580) 0 empty
-Class QMetaTypeId2<QBitmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitmap> (0xb67b05c0) 0 empty
-Class QMetaTypeId2<QCursor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QCursor> (0xb67b0600) 0 empty
-Class QMetaTypeId2<QSizePolicy>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizePolicy> (0xb67b0640) 0 empty
-Class QMetaTypeId2<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QKeySequence> (0xb67b0680) 0 empty
-Class QMetaTypeId2<QPen>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPen> (0xb67b06c0) 0 empty
-Class QMetaTypeId2<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextLength> (0xb67b0700) 0 empty
-Class QMetaTypeId2<QTextFormat>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextFormat> (0xb67b0740) 0 empty
-Class QMetaTypeId2<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMatrix> (0xb67b0780) 0 empty
-Class QMetaTypeId2<QTransform>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTransform> (0xb67b07c0) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -1303,45 +741,17 @@ Class QVariant
base size=12 base align=4
QVariant (0xb67b0800) 0
-Class QMetaTypeId2<QList<QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QList<QVariant> > (0xb67b0a80) 0 empty
-Class QMetaTypeId2<QMap<QString, QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMap<QString, QVariant> > (0xb67b0ac0) 0 empty
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0xb67b0bc0) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0xb67b0b40) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0xb67b0cc0) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0xb67b0c40) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0xb67b0d40) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0xb67b0dc0) 0 empty
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1368,25 +778,9 @@ QSettings (0xb67b0e00) 0
QObject (0xb67b0e40) 0
primary-for QSettings (0xb67b0e00)
-Class <anonymous struct>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct>::<anonymous union> (0xb67b0f40) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb67b0f00) 0
-Class <anonymous struct>
- size=12 align=4
- base size=12 base align=4
-<anonymous struct> (0xb67b0f80) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb67b0fc0) 0
Class __gconv_trans_data
size=20 align=4
@@ -1408,15 +802,7 @@ Class __gconv_info
base size=8 base align=4
__gconv_info (0xb67b0a00) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0xb67b0e80) 0
-Class <anonymous union>
- size=44 align=4
- base size=44 base align=4
-<anonymous union> (0xb67b0a40) 0
Class _IO_marker
size=12 align=4
@@ -1428,10 +814,6 @@ Class _IO_FILE
base size=148 base align=4
_IO_FILE (0xb668f000) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb668f040) 0
Vtable for QFile
QFile::_ZTV5QFile: 31u entries
@@ -1477,10 +859,6 @@ QFile (0xb668f080) 0
QObject (0xb668f100) 0
primary-for QIODevice (0xb668f0c0)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0xb668f180) 0
Vtable for QTemporaryFile
QTemporaryFile::_ZTV14QTemporaryFile: 31u entries
@@ -1533,40 +911,16 @@ Class QFileInfo
base size=4 base align=4
QFileInfo (0xb668f300) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0xb668f340) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0xb668f380) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0xb668f440) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0xb668f3c0) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0xb668f480) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0xb668f500) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0xb668f580) 0
Vtable for QProcess
QProcess::_ZTV8QProcess: 31u entries
@@ -1650,10 +1004,6 @@ Class QDirIterator
QDirIterator (0xb668f7c0) 0
vptr=((& QDirIterator::_ZTV12QDirIterator) + 8u)
-Class QFlags<QDirIterator::IteratorFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDirIterator::IteratorFlag> (0xb668f880) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -1710,10 +1060,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0xb668f8c0) 0
vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0xb668fa40) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -1747,10 +1093,6 @@ Class QAbstractFileEngineIterator
QAbstractFileEngineIterator (0xb668fb00) 0
vptr=((& QAbstractFileEngineIterator::_ZTV27QAbstractFileEngineIterator) + 8u)
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0xb668fc40) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -1775,15 +1117,7 @@ Class QTextCodec
QTextCodec (0xb668fb80) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0xb668fd80) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0xb668fd00) 0
Class QTextEncoder
size=32 align=4
@@ -1808,10 +1142,6 @@ Class QTextStream
QTextStream (0xb668fe40) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0xb668ff00) 0
Class QTextStreamManipulator
size=24 align=4
@@ -1958,20 +1288,12 @@ Class QReadWriteLock
base size=4 base align=4
QReadWriteLock (0xb64cf0c0) 0
-Class QReadLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QReadLocker::<anonymous union> (0xb64cf140) 0
Class QReadLocker
size=4 align=4
base size=4 base align=4
QReadLocker (0xb64cf100) 0
-Class QWriteLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QWriteLocker::<anonymous union> (0xb64cf1c0) 0
Class QWriteLocker
size=4 align=4
@@ -1983,10 +1305,6 @@ Class QMutex
base size=4 base align=4
QMutex (0xb64cf200) 0
-Class QMutexLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMutexLocker::<anonymous union> (0xb64cf280) 0
Class QMutexLocker
size=4 align=4
@@ -2066,10 +1384,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0xb64cf580) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0xb64cf5c0) 0 empty
Vtable for QMimeData
QMimeData::_ZTV9QMimeData: 17u entries
@@ -2104,20 +1418,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0xb64cf6c0) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0xb64cf700) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0xb64cf740) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0xb64cf7c0) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -2357,10 +1663,6 @@ QEventLoop (0xb64cfc40) 0
QObject (0xb64cfc80) 0
primary-for QEventLoop (0xb64cfc40)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0xb64cfd80) 0
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -2555,20 +1857,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0xb64cfe00) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0xb64cfec0) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0xb64cff80) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0xb6448000) 0 empty
Class QMetaProperty
size=20 align=4
@@ -2580,10 +1874,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0xb6448080) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0xb64480c0) 0 empty
Vtable for QTextCodecFactoryInterface
QTextCodecFactoryInterface::_ZTV26QTextCodecFactoryInterface: 6u entries
@@ -2669,35 +1959,15 @@ QTestEventLoop (0xb6448380) 0
QObject (0xb64483c0) 0
primary-for QTestEventLoop (0xb6448380)
-Class QPointer<QTestEventLoop>
- size=4 align=4
- base size=4 base align=4
-QPointer<QTestEventLoop> (0xb6448480) 0
Class QTestData
size=4 align=4
base size=4 base align=4
QTestData (0xb6448740) 0
-Class QList<QList<QVariant> >::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QList<QVariant> >::<anonymous union> (0xb64489c0) 0
-Class QList<QList<QVariant> >
- size=4 align=4
- base size=4 base align=4
-QList<QList<QVariant> > (0xb6448940) 0
-Class QList<int>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<int>::<anonymous union> (0xb6448b80) 0
-Class QList<int>
- size=4 align=4
- base size=4 base align=4
-QList<int> (0xb6448b00) 0
Vtable for QSignalSpy
QSignalSpy::_ZTV10QSignalSpy: 14u entries
@@ -2725,38 +1995,10 @@ QSignalSpy (0xb6448a00) 0
primary-for QSignalSpy (0xb6448a00)
QList<QList<QVariant> > (0xb6448a80) 8
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0xb6448cc0) 0
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0xb6448d40) 0
-Class QList<int>::Node
- size=4 align=4
- base size=4 base align=4
-QList<int>::Node (0xb6448dc0) 0
-Class QTypeInfo<QList<QVariant> >
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QList<QVariant> > (0xb6448e40) 0 empty
-Class QList<QList<QVariant> >::Node
- size=4 align=4
- base size=4 base align=4
-QList<QList<QVariant> >::Node (0xb6448ec0) 0
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0xb6448f40) 0
-Class QList<QVariant>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::Node (0xb6448fc0) 0
diff --git a/tests/auto/bic/data/QtTest.4.4.0.linux-gcc-ia32.txt b/tests/auto/bic/data/QtTest.4.4.0.linux-gcc-ia32.txt
index e19076b..e8a5071 100644
--- a/tests/auto/bic/data/QtTest.4.4.0.linux-gcc-ia32.txt
+++ b/tests/auto/bic/data/QtTest.4.4.0.linux-gcc-ia32.txt
@@ -1,34 +1,8 @@
-Class QUintForSize<4>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<4> (0xb79373fc) 0 empty
-Class QUintForSize<8>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<8> (0xb7937438) 0 empty
-Class QUintForType<void*>
- size=1 align=1
- base size=1 base align=1
-QUintForType<void*> (0xb7d96b80) 0 empty
- QUintForSize<4> (0xb79374b0) 0 empty
-Class QIntForSize<4>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<4> (0xb79375dc) 0 empty
-Class QIntForSize<8>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<8> (0xb7937618) 0 empty
-Class QIntForType<void*>
- size=1 align=1
- base size=1 base align=1
-QIntForType<void*> (0xb7d96d40) 0 empty
- QIntForSize<4> (0xb7937690) 0 empty
Class QSysInfo
size=1 align=1
@@ -50,80 +24,20 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0xb7949a8c) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0xb7949c6c) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0xb7949d5c) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0xb7949e4c) 0 empty
-Class QTypeInfo<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned char> (0xb7949f3c) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0xb795e03c) 0 empty
-Class QTypeInfo<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short unsigned int> (0xb795e12c) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0xb795e21c) 0 empty
-Class QTypeInfo<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned int> (0xb795e30c) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0xb795e3fc) 0 empty
-Class QTypeInfo<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long unsigned int> (0xb795e4ec) 0 empty
-Class QTypeInfo<long long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long int> (0xb795e5dc) 0 empty
-Class QTypeInfo<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long unsigned int> (0xb795e6cc) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0xb795e7bc) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0xb795e8ac) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0xb795e99c) 0 empty
Class QFlag
size=4 align=4
@@ -140,10 +54,6 @@ Class QChar
base size=2 base align=2
QChar (0xb797e99c) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0xb79a8654) 0 empty
Class QBasicAtomicInt
size=4 align=4
@@ -176,75 +86,19 @@ Class QByteRef
base size=8 base align=4
QByteRef (0xb6c2e21c) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0xb6c7a30c) 0 empty
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0xb6c7a5a0) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0xb6c7aec4) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0xb6ac47f8) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0xb6acf12c) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0xb6acfa50) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0xb6ae2384) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0xb6ae2ca8) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0xb6af65dc) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0xb6af6f00) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0xb6b0a834) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0xb6b18168) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0xb6b18a8c) 0
-Class QFlags<Qt::TextInteractionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::TextInteractionFlag> (0xb6b2f3c0) 0
Class QInternal
size=1 align=1
@@ -266,10 +120,6 @@ Class QString
base size=4 base align=4
QString (0xb6b2fe4c) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0xb6991078) 0
Class QLatin1String
size=4 align=4
@@ -287,10 +137,6 @@ Class QConstString
QConstString (0xb68aeb40) 0
QString (0xb68f84b0) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0xb68f87bc) 0 empty
Class QStringRef
size=12 align=4
@@ -358,10 +204,6 @@ Class QListData
base size=4 base align=4
QListData (0xb695de88) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0xb681612c) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -386,15 +228,7 @@ Class QTextCodec
QTextCodec (0xb6808474) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0xb6827780) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0xb6827708) 0
Class QTextEncoder
size=32 align=4
@@ -417,25 +251,13 @@ Class QGenericReturnArgument
QGenericReturnArgument (0xb6855040) 0
QGenericArgument (0xb684b99c) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0xb684be88) 0
Class QMetaObject
size=16 align=4
base size=16 base align=4
QMetaObject (0xb684bca8) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0xb6870000) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0xb6863f78) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -527,10 +349,6 @@ QIODevice (0xb66a6ec0) 0
QObject (0xb66bf000) 0
primary-for QIODevice (0xb66a6ec0)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0xb66db2d0) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -550,25 +368,13 @@ Class QRegExp
base size=4 base align=4
QRegExp (0xb671921c) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0xb673ca14) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0xb673cb04) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0xb6749078) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0xb6749000) 0
Class QStringList
size=4 align=4
@@ -576,15 +382,7 @@ Class QStringList
QStringList (0xb671afc0) 0
QList<QString> (0xb67490b4) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0xb6764e10) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0xb677c03c) 0
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -664,10 +462,6 @@ Class QMutex
base size=4 base align=4
QMutex (0xb65a2258) 0
-Class QMutexLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMutexLocker::<anonymous union> (0xb65a2e4c) 0
Class QMutexLocker
size=4 align=4
@@ -747,35 +541,11 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0xb6479780) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0xb6479834) 0 empty
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb65087bc) 0
-Class <anonymous struct>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct>::<anonymous union> (0xb65088ac) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6508834) 0
-Class <anonymous struct>
- size=12 align=4
- base size=12 base align=4
-<anonymous struct> (0xb6508924) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb650899c) 0
Class _IO_marker
size=12 align=4
@@ -787,10 +557,6 @@ Class _IO_FILE
base size=148 base align=4
_IO_FILE (0xb6508a14) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb6508a8c) 0
Vtable for QTextStream
QTextStream::_ZTV11QTextStream: 4u entries
@@ -805,10 +571,6 @@ Class QTextStream
QTextStream (0xb6508ac8) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0xb6559258) 0
Class QTextStreamManipulator
size=24 align=4
@@ -845,40 +607,16 @@ QTextOStream (0xb637e100) 0
QTextStream (0xb65789d8) 0
primary-for QTextOStream (0xb637e100)
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0xb6389438) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0xb63894b0) 0
Class wait
size=4 align=4
base size=4 base align=4
wait (0xb63893c0) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6389528) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb63895a0) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb6389618) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb6389690) 0
Class timespec
size=8 align=4
@@ -890,80 +628,24 @@ Class timeval
base size=8 base align=4
timeval (0xb6389708) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb6389780) 0
-Class <anonymous union>
- size=36 align=4
- base size=36 base align=4
-<anonymous union> (0xb63897f8) 0
Class __pthread_internal_slist
size=4 align=4
base size=4 base align=4
__pthread_internal_slist (0xb6389834) 0
-Class <anonymous union>::__pthread_mutex_s::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union>::__pthread_mutex_s::<anonymous union> (0xb6389960) 0
-Class <anonymous union>::__pthread_mutex_s
- size=24 align=4
- base size=24 base align=4
-<anonymous union>::__pthread_mutex_s (0xb63898e8) 0
-Class <anonymous union>
- size=24 align=4
- base size=24 base align=4
-<anonymous union> (0xb63898ac) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb63899d8) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0xb6389ac8) 0
-Class <anonymous union>
- size=48 align=4
- base size=48 base align=4
-<anonymous union> (0xb6389a50) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb6389b40) 0
-Class <anonymous union>::<anonymous struct>
- size=32 align=4
- base size=32 base align=4
-<anonymous union>::<anonymous struct> (0xb6389c30) 0
-Class <anonymous union>
- size=32 align=4
- base size=32 base align=4
-<anonymous union> (0xb6389bb8) 0
-Class <anonymous union>
- size=8 align=4
- base size=8 base align=4
-<anonymous union> (0xb6389ce4) 0
-Class <anonymous union>
- size=20 align=4
- base size=20 base align=4
-<anonymous union> (0xb6389d5c) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb6389dd4) 0
Class random_data
size=28 align=4
@@ -995,20 +677,8 @@ Class QtConcurrent::ResultItem
base size=8 base align=4
QtConcurrent::ResultItem (0xb62a7b7c) 0
-Class QMap<int, QtConcurrent::ResultItem>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<int, QtConcurrent::ResultItem>::<anonymous union> (0xb62c07bc) 0
-Class QMap<int, QtConcurrent::ResultItem>
- size=4 align=4
- base size=4 base align=4
-QMap<int, QtConcurrent::ResultItem> (0xb62c0744) 0
-Class QMap<int, QtConcurrent::ResultItem>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QMap<int, QtConcurrent::ResultItem>::const_iterator (0xb62c0b04) 0
Class QtConcurrent::ResultIteratorBase
size=8 align=4
@@ -1028,10 +698,6 @@ Class QtConcurrent::ResultStoreBase
QtConcurrent::ResultStoreBase (0xb62c0c30) 0
vptr=((& QtConcurrent::ResultStoreBase::_ZTVN12QtConcurrent15ResultStoreBaseE) + 8u)
-Class QMap<int, QtConcurrent::ResultItem>::iterator
- size=4 align=4
- base size=4 base align=4
-QMap<int, QtConcurrent::ResultItem>::iterator (0xb62ea2d0) 0
Vtable for QFutureInterfaceBase
QFutureInterfaceBase::_ZTV20QFutureInterfaceBase: 4u entries
@@ -1046,25 +712,8 @@ Class QFutureInterfaceBase
QFutureInterfaceBase (0xb62ea348) 0
vptr=((& QFutureInterfaceBase::_ZTV20QFutureInterfaceBase) + 8u)
-Vtable for QFutureInterface<void>
-QFutureInterface<void>::_ZTV16QFutureInterfaceIvE: 4u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI16QFutureInterfaceIvE)
-8 QFutureInterface<void>::~QFutureInterface
-12 QFutureInterface<void>::~QFutureInterface
-Class QFutureInterface<void>
- size=8 align=4
- base size=8 base align=4
-QFutureInterface<void> (0xb63067c0) 0
- vptr=((& QFutureInterface<void>::_ZTV16QFutureInterfaceIvE) + 8u)
- QFutureInterfaceBase (0xb62eae88) 0
- primary-for QFutureInterface<void> (0xb63067c0)
-Class QFuture<void>
- size=8 align=4
- base size=8 base align=4
-QFuture<void> (0xb633a618) 0
Vtable for QFutureWatcherBase
QFutureWatcherBase::_ZTV18QFutureWatcherBase: 16u entries
@@ -1093,34 +742,7 @@ QFutureWatcherBase (0xb635e700) 0
QObject (0xb635cca8) 0
primary-for QFutureWatcherBase (0xb635e700)
-Vtable for QFutureWatcher<void>
-QFutureWatcher<void>::_ZTV14QFutureWatcherIvE: 16u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI14QFutureWatcherIvE)
-8 QFutureWatcherBase::metaObject
-12 QFutureWatcherBase::qt_metacast
-16 QFutureWatcherBase::qt_metacall
-20 QFutureWatcher<void>::~QFutureWatcher
-24 QFutureWatcher<void>::~QFutureWatcher
-28 QFutureWatcherBase::event
-32 QObject::eventFilter
-36 QObject::timerEvent
-40 QObject::childEvent
-44 QObject::customEvent
-48 QFutureWatcherBase::connectNotify
-52 QFutureWatcherBase::disconnectNotify
-56 QFutureWatcher<void>::futureInterface
-60 QFutureWatcher<void>::futureInterface
-Class QFutureWatcher<void>
- size=16 align=4
- base size=16 base align=4
-QFutureWatcher<void> (0xb635ee00) 0
- vptr=((& QFutureWatcher<void>::_ZTV14QFutureWatcherIvE) + 8u)
- QFutureWatcherBase (0xb635ee40) 0
- primary-for QFutureWatcher<void> (0xb635ee00)
- QObject (0xb63747bc) 0
- primary-for QFutureWatcherBase (0xb635ee40)
Vtable for QRunnable
QRunnable::_ZTV9QRunnable: 5u entries
@@ -1219,60 +841,14 @@ QtConcurrent::ThreadEngineBase (0xb61b9300) 0
QRunnable (0xb61be7bc) 0
primary-for QtConcurrent::ThreadEngineBase (0xb61b9300)
-Class QtConcurrent::ThreadEngineStarterBase<void>
- size=4 align=4
- base size=4 base align=4
-QtConcurrent::ThreadEngineStarterBase<void> (0xb61befb4) 0
-Class QtConcurrent::ThreadEngineStarter<void>
- size=4 align=4
- base size=4 base align=4
-QtConcurrent::ThreadEngineStarter<void> (0xb61b9c80) 0
- QtConcurrent::ThreadEngineStarterBase<void> (0xb61d2000) 0
-Vtable for QtConcurrent::ThreadEngine<void>
-QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE: 26u entries
-0 4u
-4 (int (*)(...))0
-8 (int (*)(...))(& _ZTIN12QtConcurrent12ThreadEngineIvEE)
-12 QtConcurrent::ThreadEngine<T>::result [with T = void]
-16 QtConcurrent::ThreadEngine<T>::asynchronousFinish [with T = void]
-20 QtConcurrent::ThreadEngine<void>::~ThreadEngine
-24 QtConcurrent::ThreadEngine<void>::~ThreadEngine
-28 -4u
-32 0u
-36 0u
-40 0u
-44 0u
-48 0u
-52 -4u
-56 0u
-60 (int (*)(...))-0x000000004
-64 (int (*)(...))(& _ZTIN12QtConcurrent12ThreadEngineIvEE)
-68 QtConcurrent::ThreadEngineBase::run
-72 QtConcurrent::ThreadEngine<void>::_ZTv0_n16_N12QtConcurrent12ThreadEngineIvED1Ev
-76 QtConcurrent::ThreadEngine<void>::_ZTv0_n16_N12QtConcurrent12ThreadEngineIvED0Ev
-80 QtConcurrent::ThreadEngineBase::start
-84 QtConcurrent::ThreadEngineBase::finish
-88 QtConcurrent::ThreadEngineBase::threadFunction
-92 QtConcurrent::ThreadEngineBase::shouldStartThread
-96 QtConcurrent::ThreadEngineBase::shouldThrottleThread
-100 QtConcurrent::ThreadEngine<void>::_ZTv0_n40_N12QtConcurrent12ThreadEngineIvE18asynchronousFinishEv
VTT for QtConcurrent::ThreadEngine<void>
QtConcurrent::ThreadEngine<void>::_ZTTN12QtConcurrent12ThreadEngineIvEE: 2u entries
0 ((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 12u)
4 ((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 68u)
-Class QtConcurrent::ThreadEngine<void>
- size=36 align=4
- base size=4 base align=4
-QtConcurrent::ThreadEngine<void> (0xb61b9e40) 0 nearly-empty
- vptridx=0u vptr=((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 12u)
- QtConcurrent::ThreadEngineBase (0xb61b9e80) 4 virtual
- vptridx=4u vbaseoffset=-0x00000000c vptr=((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 68u)
- QRunnable (0xb61d24b0) 4
- primary-for QtConcurrent::ThreadEngineBase (0xb61b9e80)
Class std::input_iterator_tag
size=1 align=1
@@ -1315,225 +891,49 @@ Class std::__false_type
base size=0 base align=1
std::__false_type (0xb61d2f00) 0 empty
-Class std::__truth_type<true>
- size=1 align=1
- base size=0 base align=1
-std::__truth_type<true> (0xb61d2f78) 0 empty
-Class std::__is_void<void>
- size=1 align=1
- base size=0 base align=1
-std::__is_void<void> (0xb61ef12c) 0 empty
-Class std::__is_integer<bool>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<bool> (0xb61ef21c) 0 empty
-Class std::__is_integer<char>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<char> (0xb61ef294) 0 empty
-Class std::__is_integer<signed char>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<signed char> (0xb61ef30c) 0 empty
-Class std::__is_integer<unsigned char>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<unsigned char> (0xb61ef384) 0 empty
-Class std::__is_integer<wchar_t>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<wchar_t> (0xb61ef3fc) 0 empty
-Class std::__is_integer<short int>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<short int> (0xb61ef474) 0 empty
-Class std::__is_integer<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<short unsigned int> (0xb61ef4ec) 0 empty
-Class std::__is_integer<int>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<int> (0xb61ef564) 0 empty
-Class std::__is_integer<unsigned int>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<unsigned int> (0xb61ef5dc) 0 empty
-Class std::__is_integer<long int>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<long int> (0xb61ef654) 0 empty
-Class std::__is_integer<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<long unsigned int> (0xb61ef6cc) 0 empty
-Class std::__is_integer<long long int>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<long long int> (0xb61ef744) 0 empty
-Class std::__is_integer<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<long long unsigned int> (0xb61ef7bc) 0 empty
-Class std::__is_floating<float>
- size=1 align=1
- base size=0 base align=1
-std::__is_floating<float> (0xb61ef8ac) 0 empty
-Class std::__is_floating<double>
- size=1 align=1
- base size=0 base align=1
-std::__is_floating<double> (0xb61ef924) 0 empty
-Class std::__is_floating<long double>
- size=1 align=1
- base size=0 base align=1
-std::__is_floating<long double> (0xb61ef99c) 0 empty
-Class std::__is_char<char>
- size=1 align=1
- base size=0 base align=1
-std::__is_char<char> (0xb61efd20) 0 empty
-Class std::__is_char<wchar_t>
- size=1 align=1
- base size=0 base align=1
-std::__is_char<wchar_t> (0xb61efd98) 0 empty
-Class std::__is_byte<char>
- size=1 align=1
- base size=0 base align=1
-std::__is_byte<char> (0xb61efe88) 0 empty
-Class std::__is_byte<signed char>
- size=1 align=1
- base size=0 base align=1
-std::__is_byte<signed char> (0xb61eff00) 0 empty
-Class std::__is_byte<unsigned char>
- size=1 align=1
- base size=0 base align=1
-std::__is_byte<unsigned char> (0xb61eff78) 0 empty
-Class __gnu_cxx::__add_unsigned<char>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__add_unsigned<char> (0xb62021a4) 0 empty
-Class __gnu_cxx::__add_unsigned<signed char>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__add_unsigned<signed char> (0xb62021e0) 0 empty
-Class __gnu_cxx::__add_unsigned<short int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__add_unsigned<short int> (0xb620221c) 0 empty
-Class __gnu_cxx::__add_unsigned<int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__add_unsigned<int> (0xb6202258) 0 empty
-Class __gnu_cxx::__add_unsigned<long int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__add_unsigned<long int> (0xb6202294) 0 empty
-Class __gnu_cxx::__add_unsigned<long long int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__add_unsigned<long long int> (0xb62022d0) 0 empty
-Class __gnu_cxx::__remove_unsigned<char>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__remove_unsigned<char> (0xb6202348) 0 empty
-Class __gnu_cxx::__remove_unsigned<unsigned char>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__remove_unsigned<unsigned char> (0xb6202384) 0 empty
-Class __gnu_cxx::__remove_unsigned<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__remove_unsigned<short unsigned int> (0xb62023c0) 0 empty
-Class __gnu_cxx::__remove_unsigned<unsigned int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__remove_unsigned<unsigned int> (0xb62023fc) 0 empty
-Class __gnu_cxx::__remove_unsigned<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__remove_unsigned<long unsigned int> (0xb6202438) 0 empty
-Class __gnu_cxx::__remove_unsigned<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__remove_unsigned<long long unsigned int> (0xb6202474) 0 empty
-Class std::iterator<std::output_iterator_tag, void, void, void, void>
- size=1 align=1
- base size=0 base align=1
-std::iterator<std::output_iterator_tag, void, void, void, void> (0xb6202e4c) 0 empty
-Class std::__iter_swap<true>
- size=1 align=1
- base size=0 base align=1
-std::__iter_swap<true> (0xb626a438) 0 empty
-Class std::__copy_move<false, false, std::random_access_iterator_tag>
- size=1 align=1
- base size=0 base align=1
-std::__copy_move<false, false, std::random_access_iterator_tag> (0xb626a870) 0 empty
-Class std::__copy_move_backward<false, false, std::random_access_iterator_tag>
- size=1 align=1
- base size=0 base align=1
-std::__copy_move_backward<false, false, std::random_access_iterator_tag> (0xb626aa8c) 0 empty
-Class std::__equal<true>
- size=1 align=1
- base size=0 base align=1
-std::__equal<true> (0xb626ae88) 0 empty
-Class std::__lc_rai<std::random_access_iterator_tag, std::random_access_iterator_tag>
- size=1 align=1
- base size=0 base align=1
-std::__lc_rai<std::random_access_iterator_tag, std::random_access_iterator_tag> (0xb60b3000) 0 empty
-Class std::__lexicographical_compare<true>
- size=1 align=1
- base size=0 base align=1
-std::__lexicographical_compare<true> (0xb60b3168) 0 empty
-Class std::char_traits<char>
- size=1 align=1
- base size=0 base align=1
-std::char_traits<char> (0xb60b3870) 0 empty
-Class std::char_traits<wchar_t>
- size=1 align=1
- base size=0 base align=1
-std::char_traits<wchar_t> (0xb60de294) 0 empty
Class lconv
size=56 align=4
@@ -1550,10 +950,6 @@ Class __sched_param
base size=4 base align=4
__sched_param (0xb60e0e4c) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb60e0ec4) 0
Class tm
size=44 align=4
@@ -1570,15 +966,7 @@ Class _pthread_cleanup_buffer
base size=16 base align=4
_pthread_cleanup_buffer (0xb610b1a4) 0
-Class <anonymous struct>::<anonymous struct>
- size=28 align=4
- base size=28 base align=4
-<anonymous struct>::<anonymous struct> (0xb610b30c) 0
-Class <anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous struct> (0xb610b294) 0
Class __pthread_cleanup_frame
size=16 align=4
@@ -1590,32 +978,10 @@ Class __pthread_cleanup_class
base size=16 base align=4
__pthread_cleanup_class (0xb610b384) 0
-Class std::allocator<void>
- size=1 align=1
- base size=0 base align=1
-std::allocator<void> (0xb61658ac) 0 empty
-Class __gnu_cxx::new_allocator<char>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::new_allocator<char> (0xb6165b7c) 0 empty
-Class std::allocator<char>
- size=1 align=1
- base size=1 base align=1
-std::allocator<char> (0xb5f68800) 0 empty
- __gnu_cxx::new_allocator<char> (0xb6165bb8) 0 empty
-Class __gnu_cxx::new_allocator<wchar_t>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::new_allocator<wchar_t> (0xb6165bf4) 0 empty
-Class std::allocator<wchar_t>
- size=1 align=1
- base size=1 base align=1
-std::allocator<wchar_t> (0xb5f688c0) 0 empty
- __gnu_cxx::new_allocator<wchar_t> (0xb6165c30) 0 empty
Vtable for __cxxabiv1::__forced_unwind
__cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE: 5u entries
@@ -1631,82 +997,19 @@ Class __cxxabiv1::__forced_unwind
__cxxabiv1::__forced_unwind (0xb6165e4c) 0 nearly-empty
vptr=((& __cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE) + 8u)
-Class __gnu_cxx::__conditional_type<true, __gnu_cxx::__numeric_traits_integer<int>, __gnu_cxx::__numeric_traits_floating<int> >
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__conditional_type<true, __gnu_cxx::__numeric_traits_integer<int>, __gnu_cxx::__numeric_traits_floating<int> > (0xb600a744) 0 empty
-Class __gnu_cxx::__numeric_traits_integer<int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__numeric_traits_integer<int> (0xb600a780) 0 empty
-Class __gnu_cxx::__numeric_traits<int>
- size=1 align=1
- base size=1 base align=1
-__gnu_cxx::__numeric_traits<int> (0xb600db80) 0 empty
- __gnu_cxx::__numeric_traits_integer<int> (0xb600a7bc) 0 empty
-Class std::allocator<char>::rebind<char>
- size=1 align=1
- base size=0 base align=1
-std::allocator<char>::rebind<char> (0xb5e88438) 0 empty
-Class std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Alloc_hider
- size=4 align=4
- base size=4 base align=4
-std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Alloc_hider (0xb5ea7140) 0
- std::allocator<char> (0xb5ea7180) 0 empty
- __gnu_cxx::new_allocator<char> (0xb5e884b0) 0 empty
-Class std::basic_string<char, std::char_traits<char>, std::allocator<char> >
- size=4 align=4
- base size=4 base align=4
-std::basic_string<char, std::char_traits<char>, std::allocator<char> > (0xb5e883c0) 0
-Class std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep_base
- size=12 align=4
- base size=12 base align=4
-std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep_base (0xb5e884ec) 0
-Class std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep
- size=12 align=4
- base size=12 base align=4
-std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep (0xb5ea7300) 0
- std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep_base (0xb5e88528) 0
-Class std::allocator<wchar_t>::rebind<wchar_t>
- size=1 align=1
- base size=0 base align=1
-std::allocator<wchar_t>::rebind<wchar_t> (0xb5e885dc) 0 empty
-Class std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Alloc_hider
- size=4 align=4
- base size=4 base align=4
-std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Alloc_hider (0xb5ea7500) 0
- std::allocator<wchar_t> (0xb5ea7540) 0 empty
- __gnu_cxx::new_allocator<wchar_t> (0xb5e88654) 0 empty
-Class std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >
- size=4 align=4
- base size=4 base align=4
-std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > (0xb5e88564) 0
-Class std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Rep_base
- size=12 align=4
- base size=12 base align=4
-std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Rep_base (0xb5e88690) 0
-Class std::allocator<wchar_t>::rebind<char>
- size=1 align=1
- base size=0 base align=1
-std::allocator<wchar_t>::rebind<char> (0xb5e88744) 0 empty
-Class std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Rep
- size=12 align=4
- base size=12 base align=4
-std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Rep (0xb5ea76c0) 0
- std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Rep_base (0xb5e886cc) 0
Class std::locale
size=4 align=4
@@ -1736,97 +1039,16 @@ Class std::locale::_Impl
base size=20 base align=4
std::locale::_Impl (0xb5f468e8) 0
-Vtable for std::collate<char>
-std::collate<char>::_ZTVSt7collateIcE: 7u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt7collateIcE)
-8 std::collate<_CharT>::~collate [with _CharT = char]
-12 std::collate<_CharT>::~collate [with _CharT = char]
-16 std::collate<_CharT>::do_compare [with _CharT = char]
-20 std::collate<_CharT>::do_transform [with _CharT = char]
-24 std::collate<_CharT>::do_hash [with _CharT = char]
-
-Class std::collate<char>
- size=12 align=4
- base size=12 base align=4
-std::collate<char> (0xb5f54680) 0
- vptr=((& std::collate<char>::_ZTVSt7collateIcE) + 8u)
- std::locale::facet (0xb5f59294) 0
- primary-for std::collate<char> (0xb5f54680)
-Vtable for std::collate<wchar_t>
-std::collate<wchar_t>::_ZTVSt7collateIwE: 7u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt7collateIwE)
-8 std::collate<_CharT>::~collate [with _CharT = wchar_t]
-12 std::collate<_CharT>::~collate [with _CharT = wchar_t]
-16 std::collate<_CharT>::do_compare [with _CharT = wchar_t]
-20 std::collate<_CharT>::do_transform [with _CharT = wchar_t]
-24 std::collate<_CharT>::do_hash [with _CharT = wchar_t]
-
-Class std::collate<wchar_t>
- size=12 align=4
- base size=12 base align=4
-std::collate<wchar_t> (0xb5f54780) 0
- vptr=((& std::collate<wchar_t>::_ZTVSt7collateIwE) + 8u)
- std::locale::facet (0xb5f59384) 0
- primary-for std::collate<wchar_t> (0xb5f54780)
-Class __gnu_cxx::__conditional_type<true, __gnu_cxx::__numeric_traits_integer<long unsigned int>, __gnu_cxx::__numeric_traits_floating<long unsigned int> >
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__conditional_type<true, __gnu_cxx::__numeric_traits_integer<long unsigned int>, __gnu_cxx::__numeric_traits_floating<long unsigned int> > (0xb5f597f8) 0 empty
-Class __gnu_cxx::__numeric_traits_integer<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__numeric_traits_integer<long unsigned int> (0xb5f59834) 0 empty
-Class __gnu_cxx::__numeric_traits<long unsigned int>
- size=1 align=1
- base size=1 base align=1
-__gnu_cxx::__numeric_traits<long unsigned int> (0xb5d75700) 0 empty
- __gnu_cxx::__numeric_traits_integer<long unsigned int> (0xb5f59870) 0 empty
-Vtable for std::collate_byname<char>
-std::collate_byname<char>::_ZTVSt14collate_bynameIcE: 7u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt14collate_bynameIcE)
-8 std::collate_byname<_CharT>::~collate_byname [with _CharT = char]
-12 std::collate_byname<_CharT>::~collate_byname [with _CharT = char]
-16 std::collate<_CharT>::do_compare [with _CharT = char]
-20 std::collate<_CharT>::do_transform [with _CharT = char]
-24 std::collate<_CharT>::do_hash [with _CharT = char]
-
-Class std::collate_byname<char>
- size=12 align=4
- base size=12 base align=4
-std::collate_byname<char> (0xb5d75840) 0
- vptr=((& std::collate_byname<char>::_ZTVSt14collate_bynameIcE) + 8u)
- std::collate<char> (0xb5d75880) 0
- primary-for std::collate_byname<char> (0xb5d75840)
- std::locale::facet (0xb5f598e8) 0
- primary-for std::collate<char> (0xb5d75880)
-
-Vtable for std::collate_byname<wchar_t>
-std::collate_byname<wchar_t>::_ZTVSt14collate_bynameIwE: 7u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt14collate_bynameIwE)
-8 std::collate_byname<_CharT>::~collate_byname [with _CharT = wchar_t]
-12 std::collate_byname<_CharT>::~collate_byname [with _CharT = wchar_t]
-16 std::collate<_CharT>::do_compare [with _CharT = wchar_t]
-20 std::collate<_CharT>::do_transform [with _CharT = wchar_t]
-24 std::collate<_CharT>::do_hash [with _CharT = wchar_t]
-
-Class std::collate_byname<wchar_t>
- size=12 align=4
- base size=12 base align=4
-std::collate_byname<wchar_t> (0xb5d75900) 0
- vptr=((& std::collate_byname<wchar_t>::_ZTVSt14collate_bynameIwE) + 8u)
- std::collate<wchar_t> (0xb5d75940) 0
- primary-for std::collate_byname<wchar_t> (0xb5d75900)
- std::locale::facet (0xb5f599d8) 0
- primary-for std::collate<wchar_t> (0xb5d75940)
+
+
+
+
+
Vtable for std::ios_base::failure
std::ios_base::failure::_ZTVNSt8ios_base7failureE: 5u entries
@@ -1872,583 +1094,85 @@ Class std::ios_base
std::ios_base (0xb5d8b780) 0
vptr=((& std::ios_base::_ZTVSt8ios_base) + 8u)
-Vtable for std::basic_streambuf<char, std::char_traits<char> >
-std::basic_streambuf<char, std::char_traits<char> >::_ZTVSt15basic_streambufIcSt11char_traitsIcEE: 16u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt15basic_streambufIcSt11char_traitsIcEE)
-8 std::basic_streambuf<_CharT, _Traits>::~basic_streambuf [with _CharT = char, _Traits = std::char_traits<char>]
-12 std::basic_streambuf<_CharT, _Traits>::~basic_streambuf [with _CharT = char, _Traits = std::char_traits<char>]
-16 std::basic_streambuf<_CharT, _Traits>::imbue [with _CharT = char, _Traits = std::char_traits<char>]
-20 std::basic_streambuf<_CharT, _Traits>::setbuf [with _CharT = char, _Traits = std::char_traits<char>]
-24 std::basic_streambuf<_CharT, _Traits>::seekoff [with _CharT = char, _Traits = std::char_traits<char>]
-28 std::basic_streambuf<_CharT, _Traits>::seekpos [with _CharT = char, _Traits = std::char_traits<char>]
-32 std::basic_streambuf<_CharT, _Traits>::sync [with _CharT = char, _Traits = std::char_traits<char>]
-36 std::basic_streambuf<_CharT, _Traits>::showmanyc [with _CharT = char, _Traits = std::char_traits<char>]
-40 std::basic_streambuf<_CharT, _Traits>::xsgetn [with _CharT = char, _Traits = std::char_traits<char>]
-44 std::basic_streambuf<_CharT, _Traits>::underflow [with _CharT = char, _Traits = std::char_traits<char>]
-48 std::basic_streambuf<_CharT, _Traits>::uflow [with _CharT = char, _Traits = std::char_traits<char>]
-52 std::basic_streambuf<_CharT, _Traits>::pbackfail [with _CharT = char, _Traits = std::char_traits<char>]
-56 std::basic_streambuf<_CharT, _Traits>::xsputn [with _CharT = char, _Traits = std::char_traits<char>]
-60 std::basic_streambuf<_CharT, _Traits>::overflow [with _CharT = char, _Traits = std::char_traits<char>]
-
-Class std::basic_streambuf<char, std::char_traits<char> >
- size=32 align=4
- base size=32 base align=4
-std::basic_streambuf<char, std::char_traits<char> > (0xb5dbce10) 0
- vptr=((& std::basic_streambuf<char, std::char_traits<char> >::_ZTVSt15basic_streambufIcSt11char_traitsIcEE) + 8u)
-Vtable for std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >
-std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >::_ZTVSt15basic_streambufIwSt11char_traitsIwEE: 16u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt15basic_streambufIwSt11char_traitsIwEE)
-8 std::basic_streambuf<_CharT, _Traits>::~basic_streambuf [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-12 std::basic_streambuf<_CharT, _Traits>::~basic_streambuf [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-16 std::basic_streambuf<_CharT, _Traits>::imbue [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-20 std::basic_streambuf<_CharT, _Traits>::setbuf [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-24 std::basic_streambuf<_CharT, _Traits>::seekoff [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-28 std::basic_streambuf<_CharT, _Traits>::seekpos [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-32 std::basic_streambuf<_CharT, _Traits>::sync [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-36 std::basic_streambuf<_CharT, _Traits>::showmanyc [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-40 std::basic_streambuf<_CharT, _Traits>::xsgetn [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-44 std::basic_streambuf<_CharT, _Traits>::underflow [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-48 std::basic_streambuf<_CharT, _Traits>::uflow [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-52 std::basic_streambuf<_CharT, _Traits>::pbackfail [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-56 std::basic_streambuf<_CharT, _Traits>::xsputn [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-60 std::basic_streambuf<_CharT, _Traits>::overflow [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-
-Class std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >
- size=32 align=4
- base size=32 base align=4
-std::basic_streambuf<wchar_t, std::char_traits<wchar_t> > (0xb5dbcec4) 0
- vptr=((& std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >::_ZTVSt15basic_streambufIwSt11char_traitsIwEE) + 8u)
+
+
Class std::ctype_base
size=1 align=1
base size=0 base align=1
std::ctype_base (0xb5dbcf3c) 0 empty
-Vtable for std::ctype<char>
-std::ctype<char>::_ZTVSt5ctypeIcE: 12u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt5ctypeIcE)
-8 std::ctype<char>::~ctype
-12 std::ctype<char>::~ctype
-16 std::ctype<char>::do_toupper
-20 std::ctype<char>::do_toupper
-24 std::ctype<char>::do_tolower
-28 std::ctype<char>::do_tolower
-32 std::ctype<char>::do_widen
-36 std::ctype<char>::do_widen
-40 std::ctype<char>::do_narrow
-44 std::ctype<char>::do_narrow
-
-Class std::ctype<char>
- size=544 align=4
- base size=542 base align=4
-std::ctype<char> (0xb5e44140) 0
- vptr=((& std::ctype<char>::_ZTVSt5ctypeIcE) + 8u)
- std::locale::facet (0xb5e3f294) 0
- primary-for std::ctype<char> (0xb5e44140)
- std::ctype_base (0xb5e3f2d0) 0 empty
-
-Vtable for std::__ctype_abstract_base<wchar_t>
-std::__ctype_abstract_base<wchar_t>::_ZTVSt21__ctype_abstract_baseIwE: 16u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt21__ctype_abstract_baseIwE)
-8 std::__ctype_abstract_base<_CharT>::~__ctype_abstract_base [with _CharT = wchar_t]
-12 std::__ctype_abstract_base<_CharT>::~__ctype_abstract_base [with _CharT = wchar_t]
-16 __cxa_pure_virtual
-20 __cxa_pure_virtual
-24 __cxa_pure_virtual
-28 __cxa_pure_virtual
-32 __cxa_pure_virtual
-36 __cxa_pure_virtual
-40 __cxa_pure_virtual
-44 __cxa_pure_virtual
-48 __cxa_pure_virtual
-52 __cxa_pure_virtual
-56 __cxa_pure_virtual
-60 __cxa_pure_virtual
-Class std::__ctype_abstract_base<wchar_t>
- size=8 align=4
- base size=8 base align=4
-std::__ctype_abstract_base<wchar_t> (0xb5e4ca00) 0
- vptr=((& std::__ctype_abstract_base<wchar_t>::_ZTVSt21__ctype_abstract_baseIwE) + 8u)
- std::locale::facet (0xb5e5ce4c) 0
- primary-for std::__ctype_abstract_base<wchar_t> (0xb5e4ca00)
- std::ctype_base (0xb5e5ce88) 0 empty
-
-Vtable for std::ctype<wchar_t>
-std::ctype<wchar_t>::_ZTVSt5ctypeIwE: 16u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt5ctypeIwE)
-8 std::ctype<wchar_t>::~ctype
-12 std::ctype<wchar_t>::~ctype
-16 std::ctype<wchar_t>::do_is
-20 std::ctype<wchar_t>::do_is
-24 std::ctype<wchar_t>::do_scan_is
-28 std::ctype<wchar_t>::do_scan_not
-32 std::ctype<wchar_t>::do_toupper
-36 std::ctype<wchar_t>::do_toupper
-40 std::ctype<wchar_t>::do_tolower
-44 std::ctype<wchar_t>::do_tolower
-48 std::ctype<wchar_t>::do_widen
-52 std::ctype<wchar_t>::do_widen
-56 std::ctype<wchar_t>::do_narrow
-60 std::ctype<wchar_t>::do_narrow
-
-Class std::ctype<wchar_t>
- size=1264 align=4
- base size=1264 base align=4
-std::ctype<wchar_t> (0xb5e50840) 0
- vptr=((& std::ctype<wchar_t>::_ZTVSt5ctypeIwE) + 8u)
- std::__ctype_abstract_base<wchar_t> (0xb5c68870) 0
- primary-for std::ctype<wchar_t> (0xb5e50840)
- std::locale::facet (0xb5e5cf78) 0
- primary-for std::__ctype_abstract_base<wchar_t> (0xb5c68870)
- std::ctype_base (0xb5e5cfb4) 0 empty
-
-Vtable for std::ctype_byname<char>
-std::ctype_byname<char>::_ZTVSt12ctype_bynameIcE: 12u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt12ctype_bynameIcE)
-8 std::ctype_byname<char>::~ctype_byname
-12 std::ctype_byname<char>::~ctype_byname
-16 std::ctype<char>::do_toupper
-20 std::ctype<char>::do_toupper
-24 std::ctype<char>::do_tolower
-28 std::ctype<char>::do_tolower
-32 std::ctype<char>::do_widen
-36 std::ctype<char>::do_widen
-40 std::ctype<char>::do_narrow
-44 std::ctype<char>::do_narrow
-
-Class std::ctype_byname<char>
- size=544 align=4
- base size=542 base align=4
-std::ctype_byname<char> (0xb5e50a00) 0
- vptr=((& std::ctype_byname<char>::_ZTVSt12ctype_bynameIcE) + 8u)
- std::ctype<char> (0xb5c70d20) 0
- primary-for std::ctype_byname<char> (0xb5e50a00)
- std::locale::facet (0xb5c712d0) 0
- primary-for std::ctype<char> (0xb5c70d20)
- std::ctype_base (0xb5c7130c) 0 empty
-
-Vtable for std::ctype_byname<wchar_t>
-std::ctype_byname<wchar_t>::_ZTVSt12ctype_bynameIwE: 16u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt12ctype_bynameIwE)
-8 std::ctype_byname<wchar_t>::~ctype_byname
-12 std::ctype_byname<wchar_t>::~ctype_byname
-16 std::ctype<wchar_t>::do_is
-20 std::ctype<wchar_t>::do_is
-24 std::ctype<wchar_t>::do_scan_is
-28 std::ctype<wchar_t>::do_scan_not
-32 std::ctype<wchar_t>::do_toupper
-36 std::ctype<wchar_t>::do_toupper
-40 std::ctype<wchar_t>::do_tolower
-44 std::ctype<wchar_t>::do_tolower
-48 std::ctype<wchar_t>::do_widen
-52 std::ctype<wchar_t>::do_widen
-56 std::ctype<wchar_t>::do_narrow
-60 std::ctype<wchar_t>::do_narrow
-
-Class std::ctype_byname<wchar_t>
- size=1264 align=4
- base size=1264 base align=4
-std::ctype_byname<wchar_t> (0xb5e50a80) 0
- vptr=((& std::ctype_byname<wchar_t>::_ZTVSt12ctype_bynameIwE) + 8u)
- std::ctype<wchar_t> (0xb5e50ac0) 0
- primary-for std::ctype_byname<wchar_t> (0xb5e50a80)
- std::__ctype_abstract_base<wchar_t> (0xb5c75640) 0
- primary-for std::ctype<wchar_t> (0xb5e50ac0)
- std::locale::facet (0xb5c71474) 0
- primary-for std::__ctype_abstract_base<wchar_t> (0xb5c75640)
- std::ctype_base (0xb5c714b0) 0 empty
+
+
+
+
+
+
+
+
Class std::__num_base
size=1 align=1
base size=0 base align=1
std::__num_base (0xb5c71ec4) 0 empty
-Vtable for std::numpunct<char>
-std::numpunct<char>::_ZTVSt8numpunctIcE: 9u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt8numpunctIcE)
-8 std::numpunct<_CharT>::~numpunct [with _CharT = char]
-12 std::numpunct<_CharT>::~numpunct [with _CharT = char]
-16 std::numpunct<_CharT>::do_decimal_point [with _CharT = char]
-20 std::numpunct<_CharT>::do_thousands_sep [with _CharT = char]
-24 std::numpunct<_CharT>::do_grouping [with _CharT = char]
-28 std::numpunct<_CharT>::do_truename [with _CharT = char]
-32 std::numpunct<_CharT>::do_falsename [with _CharT = char]
-
-Class std::numpunct<char>
- size=12 align=4
- base size=12 base align=4
-std::numpunct<char> (0xb5c854c0) 0
- vptr=((& std::numpunct<char>::_ZTVSt8numpunctIcE) + 8u)
- std::locale::facet (0xb5c81690) 0
- primary-for std::numpunct<char> (0xb5c854c0)
-Vtable for std::numpunct<wchar_t>
-std::numpunct<wchar_t>::_ZTVSt8numpunctIwE: 9u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt8numpunctIwE)
-8 std::numpunct<_CharT>::~numpunct [with _CharT = wchar_t]
-12 std::numpunct<_CharT>::~numpunct [with _CharT = wchar_t]
-16 std::numpunct<_CharT>::do_decimal_point [with _CharT = wchar_t]
-20 std::numpunct<_CharT>::do_thousands_sep [with _CharT = wchar_t]
-24 std::numpunct<_CharT>::do_grouping [with _CharT = wchar_t]
-28 std::numpunct<_CharT>::do_truename [with _CharT = wchar_t]
-32 std::numpunct<_CharT>::do_falsename [with _CharT = wchar_t]
-
-Class std::numpunct<wchar_t>
- size=12 align=4
- base size=12 base align=4
-std::numpunct<wchar_t> (0xb5c85580) 0
- vptr=((& std::numpunct<wchar_t>::_ZTVSt8numpunctIwE) + 8u)
- std::locale::facet (0xb5c81780) 0
- primary-for std::numpunct<wchar_t> (0xb5c85580)
-Class __gnu_cxx::__conditional_type<true, long unsigned int, long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__conditional_type<true, long unsigned int, long long unsigned int> (0xb5cb9dd4) 0 empty
-Vtable for std::numpunct_byname<char>
-std::numpunct_byname<char>::_ZTVSt15numpunct_bynameIcE: 9u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt15numpunct_bynameIcE)
-8 std::numpunct_byname<_CharT>::~numpunct_byname [with _CharT = char]
-12 std::numpunct_byname<_CharT>::~numpunct_byname [with _CharT = char]
-16 std::numpunct<_CharT>::do_decimal_point [with _CharT = char]
-20 std::numpunct<_CharT>::do_thousands_sep [with _CharT = char]
-24 std::numpunct<_CharT>::do_grouping [with _CharT = char]
-28 std::numpunct<_CharT>::do_truename [with _CharT = char]
-32 std::numpunct<_CharT>::do_falsename [with _CharT = char]
-
-Class std::numpunct_byname<char>
- size=12 align=4
- base size=12 base align=4
-std::numpunct_byname<char> (0xb5d07ac0) 0
- vptr=((& std::numpunct_byname<char>::_ZTVSt15numpunct_bynameIcE) + 8u)
- std::numpunct<char> (0xb5d07b00) 0
- primary-for std::numpunct_byname<char> (0xb5d07ac0)
- std::locale::facet (0xb5d0c3fc) 0
- primary-for std::numpunct<char> (0xb5d07b00)
-
-Vtable for std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >
-std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >::_ZTVSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE: 15u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE)
-8 std::num_get<_CharT, _InIter>::~num_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-12 std::num_get<_CharT, _InIter>::~num_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-16 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-20 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-24 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-28 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-32 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-36 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-40 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-44 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-48 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-52 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-56 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-
-Class std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >
- size=8 align=4
- base size=8 base align=4
-std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > > (0xb5d07b40) 0
- vptr=((& std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >::_ZTVSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE) + 8u)
- std::locale::facet (0xb5d0c4ec) 0
- primary-for std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > > (0xb5d07b40)
-Vtable for std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >
-std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::_ZTVSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE: 12u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE)
-8 std::num_put<_CharT, _OutIter>::~num_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-12 std::num_put<_CharT, _OutIter>::~num_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-16 std::num_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-20 std::num_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-24 std::num_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-28 std::num_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-32 std::num_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-36 std::num_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-40 std::num_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-44 std::num_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-
-Class std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >
- size=8 align=4
- base size=8 base align=4
-std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > > (0xb5d07bc0) 0
- vptr=((& std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::_ZTVSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE) + 8u)
- std::locale::facet (0xb5d0c5dc) 0
- primary-for std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > > (0xb5d07bc0)
-Vtable for std::numpunct_byname<wchar_t>
-std::numpunct_byname<wchar_t>::_ZTVSt15numpunct_bynameIwE: 9u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt15numpunct_bynameIwE)
-8 std::numpunct_byname<_CharT>::~numpunct_byname [with _CharT = wchar_t]
-12 std::numpunct_byname<_CharT>::~numpunct_byname [with _CharT = wchar_t]
-16 std::numpunct<_CharT>::do_decimal_point [with _CharT = wchar_t]
-20 std::numpunct<_CharT>::do_thousands_sep [with _CharT = wchar_t]
-24 std::numpunct<_CharT>::do_grouping [with _CharT = wchar_t]
-28 std::numpunct<_CharT>::do_truename [with _CharT = wchar_t]
-32 std::numpunct<_CharT>::do_falsename [with _CharT = wchar_t]
-
-Class std::numpunct_byname<wchar_t>
- size=12 align=4
- base size=12 base align=4
-std::numpunct_byname<wchar_t> (0xb5d07c40) 0
- vptr=((& std::numpunct_byname<wchar_t>::_ZTVSt15numpunct_bynameIwE) + 8u)
- std::numpunct<wchar_t> (0xb5d07c80) 0
- primary-for std::numpunct_byname<wchar_t> (0xb5d07c40)
- std::locale::facet (0xb5d0c6cc) 0
- primary-for std::numpunct<wchar_t> (0xb5d07c80)
-
-Vtable for std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >
-std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::_ZTVSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE: 15u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE)
-8 std::num_get<_CharT, _InIter>::~num_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-12 std::num_get<_CharT, _InIter>::~num_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-16 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-20 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-24 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-28 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-32 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-36 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-40 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-44 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-48 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-52 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-56 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-
-Class std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >
- size=8 align=4
- base size=8 base align=4
-std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > > (0xb5d07d00) 0
- vptr=((& std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::_ZTVSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE) + 8u)
- std::locale::facet (0xb5d0c7bc) 0
- primary-for std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > > (0xb5d07d00)
-Vtable for std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >
-std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::_ZTVSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE: 12u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE)
-8 std::num_put<_CharT, _OutIter>::~num_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-12 std::num_put<_CharT, _OutIter>::~num_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-16 std::num_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-20 std::num_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-24 std::num_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-28 std::num_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-32 std::num_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-36 std::num_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-40 std::num_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-44 std::num_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-
-Class std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >
- size=8 align=4
- base size=8 base align=4
-std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > > (0xb5d07d80) 0
- vptr=((& std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::_ZTVSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE) + 8u)
- std::locale::facet (0xb5d0c8ac) 0
- primary-for std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > > (0xb5d07d80)
-Vtable for std::basic_ios<char, std::char_traits<char> >
-std::basic_ios<char, std::char_traits<char> >::_ZTVSt9basic_iosIcSt11char_traitsIcEE: 4u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt9basic_iosIcSt11char_traitsIcEE)
-8 std::basic_ios<_CharT, _Traits>::~basic_ios [with _CharT = char, _Traits = std::char_traits<char>]
-12 std::basic_ios<_CharT, _Traits>::~basic_ios [with _CharT = char, _Traits = std::char_traits<char>]
-
-Class std::basic_ios<char, std::char_traits<char> >
- size=136 align=4
- base size=136 base align=4
-std::basic_ios<char, std::char_traits<char> > (0xb5d5adc0) 0
- vptr=((& std::basic_ios<char, std::char_traits<char> >::_ZTVSt9basic_iosIcSt11char_traitsIcEE) + 8u)
- std::ios_base (0xb5d0c780) 0
- primary-for std::basic_ios<char, std::char_traits<char> > (0xb5d5adc0)
-
-Vtable for std::basic_ios<wchar_t, std::char_traits<wchar_t> >
-std::basic_ios<wchar_t, std::char_traits<wchar_t> >::_ZTVSt9basic_iosIwSt11char_traitsIwEE: 4u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt9basic_iosIwSt11char_traitsIwEE)
-8 std::basic_ios<_CharT, _Traits>::~basic_ios [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-12 std::basic_ios<_CharT, _Traits>::~basic_ios [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-
-Class std::basic_ios<wchar_t, std::char_traits<wchar_t> >
- size=140 align=4
- base size=140 base align=4
-std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb5d5ae00) 0
- vptr=((& std::basic_ios<wchar_t, std::char_traits<wchar_t> >::_ZTVSt9basic_iosIwSt11char_traitsIwEE) + 8u)
- std::ios_base (0xb5b7003c) 0
- primary-for std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb5d5ae00)
-
-Vtable for std::basic_ostream<char, std::char_traits<char> >
-std::basic_ostream<char, std::char_traits<char> >::_ZTVSo: 10u entries
-0 4u
-4 (int (*)(...))0
-8 (int (*)(...))(& _ZTISo)
-12 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = char, _Traits = std::char_traits<char>]
-16 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = char, _Traits = std::char_traits<char>]
-20 -4u
-24 (int (*)(...))-0x000000004
-28 (int (*)(...))(& _ZTISo)
-32 std::basic_ostream<char, std::char_traits<char> >::_ZTv0_n12_NSoD1Ev
-36 std::basic_ostream<char, std::char_traits<char> >::_ZTv0_n12_NSoD0Ev
+
+
+
+
+
+
+
+
+
+
+
+
+
+
VTT for std::basic_ostream<char, std::char_traits<char> >
std::basic_ostream<char, std::char_traits<char> >::_ZTTSo: 2u entries
0 ((& std::basic_ostream<char, std::char_traits<char> >::_ZTVSo) + 12u)
4 ((& std::basic_ostream<char, std::char_traits<char> >::_ZTVSo) + 32u)
-Class std::basic_ostream<char, std::char_traits<char> >
- size=140 align=4
- base size=4 base align=4
-std::basic_ostream<char, std::char_traits<char> > (0xb5ba6a80) 0 nearly-empty
- vptridx=0u vptr=((& std::basic_ostream<char, std::char_traits<char> >::_ZTVSo) + 12u)
- std::basic_ios<char, std::char_traits<char> > (0xb5ba6ac0) 4 virtual
- vptridx=4u vbaseoffset=-0x00000000c vptr=((& std::basic_ostream<char, std::char_traits<char> >::_ZTVSo) + 32u)
- std::ios_base (0xb5b70d20) 4
- primary-for std::basic_ios<char, std::char_traits<char> > (0xb5ba6ac0)
-
-Class std::basic_ostream<char, std::char_traits<char> >::sentry
- size=8 align=4
- base size=8 base align=4
-std::basic_ostream<char, std::char_traits<char> >::sentry (0xb5b70f00) 0
-Vtable for std::basic_ostream<wchar_t, std::char_traits<wchar_t> >
-std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE: 10u entries
-0 4u
-4 (int (*)(...))0
-8 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE)
-12 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-16 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-20 -4u
-24 (int (*)(...))-0x000000004
-28 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE)
-32 std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n12_NSt13basic_ostreamIwSt11char_traitsIwEED1Ev
-36 std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n12_NSt13basic_ostreamIwSt11char_traitsIwEED0Ev
+
VTT for std::basic_ostream<wchar_t, std::char_traits<wchar_t> >
std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTTSt13basic_ostreamIwSt11char_traitsIwEE: 2u entries
0 ((& std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 12u)
4 ((& std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 32u)
-Class std::basic_ostream<wchar_t, std::char_traits<wchar_t> >
- size=144 align=4
- base size=4 base align=4
-std::basic_ostream<wchar_t, std::char_traits<wchar_t> > (0xb5ba6c00) 0 nearly-empty
- vptridx=0u vptr=((& std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 12u)
- std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb5ba6c40) 4 virtual
- vptridx=4u vbaseoffset=-0x00000000c vptr=((& std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 32u)
- std::ios_base (0xb5b70f3c) 4
- primary-for std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb5ba6c40)
-
-Class std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::sentry
- size=8 align=4
- base size=8 base align=4
-std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::sentry (0xb5bcc000) 0
-Vtable for std::basic_istream<char, std::char_traits<char> >
-std::basic_istream<char, std::char_traits<char> >::_ZTVSi: 10u entries
-0 8u
-4 (int (*)(...))0
-8 (int (*)(...))(& _ZTISi)
-12 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = char, _Traits = std::char_traits<char>]
-16 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = char, _Traits = std::char_traits<char>]
-20 -8u
-24 (int (*)(...))-0x000000008
-28 (int (*)(...))(& _ZTISi)
-32 std::basic_istream<char, std::char_traits<char> >::_ZTv0_n12_NSiD1Ev
-36 std::basic_istream<char, std::char_traits<char> >::_ZTv0_n12_NSiD0Ev
+
VTT for std::basic_istream<char, std::char_traits<char> >
std::basic_istream<char, std::char_traits<char> >::_ZTTSi: 2u entries
0 ((& std::basic_istream<char, std::char_traits<char> >::_ZTVSi) + 12u)
4 ((& std::basic_istream<char, std::char_traits<char> >::_ZTVSi) + 32u)
-Class std::basic_istream<char, std::char_traits<char> >
- size=144 align=4
- base size=8 base align=4
-std::basic_istream<char, std::char_traits<char> > (0xb5be54c0) 0
- vptridx=0u vptr=((& std::basic_istream<char, std::char_traits<char> >::_ZTVSi) + 12u)
- std::basic_ios<char, std::char_traits<char> > (0xb5be5500) 8 virtual
- vptridx=4u vbaseoffset=-0x00000000c vptr=((& std::basic_istream<char, std::char_traits<char> >::_ZTVSi) + 32u)
- std::ios_base (0xb5bcc564) 8
- primary-for std::basic_ios<char, std::char_traits<char> > (0xb5be5500)
-
-Vtable for std::basic_istream<wchar_t, std::char_traits<wchar_t> >
-std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_istreamIwSt11char_traitsIwEE: 10u entries
-0 8u
-4 (int (*)(...))0
-8 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE)
-12 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-16 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-20 -8u
-24 (int (*)(...))-0x000000008
-28 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE)
-32 std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n12_NSt13basic_istreamIwSt11char_traitsIwEED1Ev
-36 std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n12_NSt13basic_istreamIwSt11char_traitsIwEED0Ev
+
VTT for std::basic_istream<wchar_t, std::char_traits<wchar_t> >
std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTTSt13basic_istreamIwSt11char_traitsIwEE: 2u entries
0 ((& std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 12u)
4 ((& std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 32u)
-Class std::basic_istream<wchar_t, std::char_traits<wchar_t> >
- size=148 align=4
- base size=8 base align=4
-std::basic_istream<wchar_t, std::char_traits<wchar_t> > (0xb5be55c0) 0
- vptridx=0u vptr=((& std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 12u)
- std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb5be5600) 8 virtual
- vptridx=4u vbaseoffset=-0x00000000c vptr=((& std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 32u)
- std::ios_base (0xb5bcc8e8) 8
- primary-for std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb5be5600)
-
-Class __gnu_cxx::__conditional_type<true, __gnu_cxx::__numeric_traits_integer<short int>, __gnu_cxx::__numeric_traits_floating<short int> >
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__conditional_type<true, __gnu_cxx::__numeric_traits_integer<short int>, __gnu_cxx::__numeric_traits_floating<short int> > (0xb5bcc654) 0 empty
-Class __gnu_cxx::__numeric_traits_integer<short int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__numeric_traits_integer<short int> (0xb5bcc99c) 0 empty
-Class __gnu_cxx::__numeric_traits<short int>
- size=1 align=1
- base size=1 base align=1
-__gnu_cxx::__numeric_traits<short int> (0xb5c114c0) 0 empty
- __gnu_cxx::__numeric_traits_integer<short int> (0xb5bccfb4) 0 empty
-Class std::basic_istream<char, std::char_traits<char> >::sentry
- size=1 align=1
- base size=1 base align=1
-std::basic_istream<char, std::char_traits<char> >::sentry (0xb5c165a0) 0
-Vtable for std::basic_iostream<char, std::char_traits<char> >
-std::basic_iostream<char, std::char_traits<char> >::_ZTVSd: 15u entries
-0 12u
-4 (int (*)(...))0
-8 (int (*)(...))(& _ZTISd)
-12 std::basic_iostream<_CharT, _Traits>::~basic_iostream [with _CharT = char, _Traits = std::char_traits<char>]
-16 std::basic_iostream<_CharT, _Traits>::~basic_iostream [with _CharT = char, _Traits = std::char_traits<char>]
-20 4u
-24 (int (*)(...))-0x000000008
-28 (int (*)(...))(& _ZTISd)
-32 std::basic_iostream<char, std::char_traits<char> >::_ZThn8_NSdD1Ev
-36 std::basic_iostream<char, std::char_traits<char> >::_ZThn8_NSdD0Ev
-40 -12u
-44 (int (*)(...))-0x00000000c
-48 (int (*)(...))(& _ZTISd)
-52 std::basic_iostream<char, std::char_traits<char> >::_ZTv0_n12_NSdD1Ev
-56 std::basic_iostream<char, std::char_traits<char> >::_ZTv0_n12_NSdD0Ev
+
Construction vtable for std::basic_istream<char, std::char_traits<char> > (0xb5c4d3c0 instance) in std::basic_iostream<char, std::char_traits<char> >
std::basic_iostream<char, std::char_traits<char> >::_ZTCSd0_Si: 10u entries
@@ -2486,44 +1210,8 @@ std::basic_iostream<char, std::char_traits<char> >::_ZTTSd: 7u entries
20 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 52u)
24 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 32u)
-Class std::basic_iostream<char, std::char_traits<char> >
- size=148 align=4
- base size=12 base align=4
-std::basic_iostream<char, std::char_traits<char> > (0xb5c56cd0) 0
- vptridx=0u vptr=((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 12u)
- std::basic_istream<char, std::char_traits<char> > (0xb5c4d3c0) 0
- primary-for std::basic_iostream<char, std::char_traits<char> > (0xb5c56cd0)
- subvttidx=4u
- std::basic_ios<char, std::char_traits<char> > (0xb5c4d400) 12 virtual
- vptridx=20u vbaseoffset=-0x00000000c vptr=((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 52u)
- std::ios_base (0xb5c165dc) 12
- primary-for std::basic_ios<char, std::char_traits<char> > (0xb5c4d400)
- std::basic_ostream<char, std::char_traits<char> > (0xb5c4d440) 8 nearly-empty
- subvttidx=12u vptridx=24u vptr=((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 32u)
- std::basic_ios<char, std::char_traits<char> > (0xb5c4d400) alternative-path
-
-Class std::basic_istream<wchar_t, std::char_traits<wchar_t> >::sentry
- size=1 align=1
- base size=1 base align=1
-std::basic_istream<wchar_t, std::char_traits<wchar_t> >::sentry (0xb5c16870) 0
-Vtable for std::basic_iostream<wchar_t, std::char_traits<wchar_t> >
-std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE: 15u entries
-0 12u
-4 (int (*)(...))0
-8 (int (*)(...))(& _ZTISt14basic_iostreamIwSt11char_traitsIwEE)
-12 std::basic_iostream<_CharT, _Traits>::~basic_iostream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-16 std::basic_iostream<_CharT, _Traits>::~basic_iostream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-20 4u
-24 (int (*)(...))-0x000000008
-28 (int (*)(...))(& _ZTISt14basic_iostreamIwSt11char_traitsIwEE)
-32 std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZThn8_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev
-36 std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZThn8_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev
-40 -12u
-44 (int (*)(...))-0x00000000c
-48 (int (*)(...))(& _ZTISt14basic_iostreamIwSt11char_traitsIwEE)
-52 std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n12_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev
-56 std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n12_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev
+
Construction vtable for std::basic_istream<wchar_t, std::char_traits<wchar_t> > (0xb5c4d740 instance) in std::basic_iostream<wchar_t, std::char_traits<wchar_t> >
std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E: 10u entries
@@ -2561,110 +1249,21 @@ std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTTSt14basic_iostream
20 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 52u)
24 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 32u)
-Class std::basic_iostream<wchar_t, std::char_traits<wchar_t> >
- size=152 align=4
- base size=12 base align=4
-std::basic_iostream<wchar_t, std::char_traits<wchar_t> > (0xb5c63d70) 0
- vptridx=0u vptr=((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 12u)
- std::basic_istream<wchar_t, std::char_traits<wchar_t> > (0xb5c4d740) 0
- primary-for std::basic_iostream<wchar_t, std::char_traits<wchar_t> > (0xb5c63d70)
- subvttidx=4u
- std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb5c4d780) 12 virtual
- vptridx=20u vbaseoffset=-0x00000000c vptr=((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 52u)
- std::ios_base (0xb5c168ac) 12
- primary-for std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb5c4d780)
- std::basic_ostream<wchar_t, std::char_traits<wchar_t> > (0xb5c4d7c0) 8 nearly-empty
- subvttidx=12u vptridx=24u vptr=((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 32u)
- std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb5c4d780) alternative-path
-
-Class QVector<double>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<double>::<anonymous union> (0xb5a7803c) 0
-Class QVector<double>
- size=4 align=4
- base size=4 base align=4
-QVector<double> (0xb5c16960) 0
-Class QtConcurrent::Median<double>
- size=24 align=4
- base size=22 base align=4
-QtConcurrent::Median<double> (0xb5c16690) 0
+
Class QtConcurrent::BlockSizeManager
size=72 align=4
base size=72 base align=4
QtConcurrent::BlockSizeManager (0xb5c16000) 0
-Class QtConcurrent::ResultReporter<void>
- size=1 align=1
- base size=0 base align=1
-QtConcurrent::ResultReporter<void> (0xb5a783fc) 0 empty
-Class QFlags<QtConcurrent::ReduceOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QtConcurrent::ReduceOption> (0xb5a78c6c) 0
-Class QtConcurrent::SelectSpecialization<void>
- size=1 align=1
- base size=0 base align=1
-QtConcurrent::SelectSpecialization<void> (0xb59950f0) 0 empty
-Vtable for QtConcurrent::RunFunctionTaskBase<void>
-QtConcurrent::RunFunctionTaskBase<void>::_ZTVN12QtConcurrent19RunFunctionTaskBaseIvEE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTIN12QtConcurrent19RunFunctionTaskBaseIvEE)
-8 QtConcurrent::RunFunctionTaskBase<void>::~RunFunctionTaskBase
-12 QtConcurrent::RunFunctionTaskBase<void>::~RunFunctionTaskBase
-16 QtConcurrent::RunFunctionTaskBase<T>::run [with T = void]
-20 __cxa_pure_virtual
-24 (int (*)(...))-0x000000008
-28 (int (*)(...))(& _ZTIN12QtConcurrent19RunFunctionTaskBaseIvEE)
-32 QtConcurrent::RunFunctionTaskBase<void>::_ZThn8_N12QtConcurrent19RunFunctionTaskBaseIvE3runEv
-36 QtConcurrent::RunFunctionTaskBase<void>::_ZThn8_N12QtConcurrent19RunFunctionTaskBaseIvED1Ev
-40 QtConcurrent::RunFunctionTaskBase<void>::_ZThn8_N12QtConcurrent19RunFunctionTaskBaseIvED0Ev
-Class QtConcurrent::RunFunctionTaskBase<void>
- size=16 align=4
- base size=16 base align=4
-QtConcurrent::RunFunctionTaskBase<void> (0xb5997500) 0
- vptr=((& QtConcurrent::RunFunctionTaskBase<void>::_ZTVN12QtConcurrent19RunFunctionTaskBaseIvEE) + 8u)
- QFutureInterface<void> (0xb5988a40) 0
- primary-for QtConcurrent::RunFunctionTaskBase<void> (0xb5997500)
- QFutureInterfaceBase (0xb59952d0) 0
- primary-for QFutureInterface<void> (0xb5988a40)
- QRunnable (0xb599530c) 8
- vptr=((& QtConcurrent::RunFunctionTaskBase<void>::_ZTVN12QtConcurrent19RunFunctionTaskBaseIvEE) + 32u)
-
-Vtable for QtConcurrent::RunFunctionTask<void>
-QtConcurrent::RunFunctionTask<void>::_ZTVN12QtConcurrent15RunFunctionTaskIvEE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTIN12QtConcurrent15RunFunctionTaskIvEE)
-8 QtConcurrent::RunFunctionTask<void>::~RunFunctionTask
-12 QtConcurrent::RunFunctionTask<void>::~RunFunctionTask
-16 QtConcurrent::RunFunctionTask<void>::run
-20 __cxa_pure_virtual
-24 (int (*)(...))-0x000000008
-28 (int (*)(...))(& _ZTIN12QtConcurrent15RunFunctionTaskIvEE)
-32 QtConcurrent::RunFunctionTask<void>::_ZThn8_N12QtConcurrent15RunFunctionTaskIvE3runEv
-36 QtConcurrent::RunFunctionTask<void>::_ZThn8_N12QtConcurrent15RunFunctionTaskIvED1Ev
-40 QtConcurrent::RunFunctionTask<void>::_ZThn8_N12QtConcurrent15RunFunctionTaskIvED0Ev
-Class QtConcurrent::RunFunctionTask<void>
- size=16 align=4
- base size=16 base align=4
-QtConcurrent::RunFunctionTask<void> (0xb5988ac0) 0
- vptr=((& QtConcurrent::RunFunctionTask<void>::_ZTVN12QtConcurrent15RunFunctionTaskIvEE) + 8u)
- QtConcurrent::RunFunctionTaskBase<void> (0xb5997910) 0
- primary-for QtConcurrent::RunFunctionTask<void> (0xb5988ac0)
- QFutureInterface<void> (0xb5988b00) 0
- primary-for QtConcurrent::RunFunctionTaskBase<void> (0xb5997910)
- QFutureInterfaceBase (0xb59954b0) 0
- primary-for QFutureInterface<void> (0xb5988b00)
- QRunnable (0xb59954ec) 8
- vptr=((& QtConcurrent::RunFunctionTask<void>::_ZTVN12QtConcurrent15RunFunctionTaskIvEE) + 32u)
+
Class QLibraryInfo
size=1 align=1
@@ -2715,50 +1314,22 @@ QFile (0xb58ebe40) 0
QObject (0xb58fa834) 0
primary-for QIODevice (0xb58ebe80)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0xb59281a4) 0
Class QFileInfo
size=4 align=4
base size=4 base align=4
QFileInfo (0xb5928d5c) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0xb594b3fc) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0xb594b708) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0xb595c474) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0xb595c3fc) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0xb595c564) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0xb577eac8) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0xb577ebb8) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -2833,10 +1404,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0xb57ace88) 0
vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0xb57bbf78) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -2926,10 +1493,6 @@ Class QDirIterator
QDirIterator (0xb57ec12c) 0
vptr=((& QDirIterator::_ZTV12QDirIterator) + 8u)
-Class QFlags<QDirIterator::IteratorFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDirIterator::IteratorFlag> (0xb57ec924) 0
Vtable for QFileSystemWatcher
QFileSystemWatcher::_ZTV18QFileSystemWatcher: 14u entries
@@ -3067,25 +1630,13 @@ Class QLocale::Data
base size=4 base align=2
QLocale::Data (0xb58508e8) 0
-Class QLocale::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QLocale::<anonymous union> (0xb5850960) 0
Class QLocale
size=4 align=4
base size=4 base align=4
QLocale (0xb58316cc) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0xb5856168) 0 empty
-Class QFlags<QLocale::NumberOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLocale::NumberOption> (0xb58562d0) 0
Class QResource
size=4 align=4
@@ -3097,275 +1648,59 @@ Class QMetaType
base size=0 base align=1
QMetaType (0xb5664bb8) 0 empty
-Class QMetaTypeId2<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QString> (0xb5689000) 0 empty
-Class QMetaTypeId2<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<int> (0xb56891e0) 0 empty
-Class QMetaTypeId2<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned int> (0xb56893c0) 0 empty
-Class QMetaTypeId2<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<bool> (0xb56895a0) 0 empty
-Class QMetaTypeId2<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<double> (0xb5689780) 0 empty
-Class QMetaTypeId2<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QByteArray> (0xb5689960) 0 empty
-Class QMetaTypeId2<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QChar> (0xb5689b40) 0 empty
-Class QMetaTypeId2<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long int> (0xb5689d20) 0 empty
-Class QMetaTypeId2<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short int> (0xb5689f00) 0 empty
-Class QMetaTypeId2<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<char> (0xb56930f0) 0 empty
-Class QMetaTypeId2<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long unsigned int> (0xb56932d0) 0 empty
-Class QMetaTypeId2<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short unsigned int> (0xb56934b0) 0 empty
-Class QMetaTypeId2<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned char> (0xb5693690) 0 empty
-Class QMetaTypeId2<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<float> (0xb5693870) 0 empty
-Class QMetaTypeId2<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QObject*> (0xb5693a50) 0 empty
-Class QMetaTypeId2<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QWidget*> (0xb5693c30) 0 empty
-Class QMetaTypeId2<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<void*> (0xb5693e10) 0 empty
-Class QMetaTypeId2<long long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long int> (0xb5698000) 0 empty
-Class QMetaTypeId2<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long unsigned int> (0xb56981e0) 0 empty
-Class QMetaTypeId2<QStringList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QStringList> (0xb56983c0) 0 empty
-Class QMetaTypeId2<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitArray> (0xb56985a0) 0 empty
-Class QMetaTypeId2<QDate>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDate> (0xb5698780) 0 empty
-Class QMetaTypeId2<QTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTime> (0xb5698960) 0 empty
-Class QMetaTypeId2<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDateTime> (0xb5698b40) 0 empty
-Class QMetaTypeId2<QUrl>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QUrl> (0xb5698d20) 0 empty
-Class QMetaTypeId2<QLocale>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLocale> (0xb5698f00) 0 empty
-Class QMetaTypeId2<QRect>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRect> (0xb56a10f0) 0 empty
-Class QMetaTypeId2<QRectF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRectF> (0xb56a12d0) 0 empty
-Class QMetaTypeId2<QSize>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSize> (0xb56a14b0) 0 empty
-Class QMetaTypeId2<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizeF> (0xb56a1690) 0 empty
-Class QMetaTypeId2<QLine>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLine> (0xb56a1870) 0 empty
-Class QMetaTypeId2<QLineF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLineF> (0xb56a1a50) 0 empty
-Class QMetaTypeId2<QPoint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPoint> (0xb56a1c30) 0 empty
-Class QMetaTypeId2<QPointF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPointF> (0xb56a1e10) 0 empty
-Class QMetaTypeId2<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegExp> (0xb56ab000) 0 empty
-Class QMetaTypeId2<QColorGroup>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColorGroup> (0xb56ab1e0) 0 empty
-Class QMetaTypeId2<QFont>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QFont> (0xb56ab3c0) 0 empty
-Class QMetaTypeId2<QPixmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPixmap> (0xb56ab5a0) 0 empty
-Class QMetaTypeId2<QBrush>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBrush> (0xb56ab780) 0 empty
-Class QMetaTypeId2<QColor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColor> (0xb56ab960) 0 empty
-Class QMetaTypeId2<QPalette>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPalette> (0xb56abb40) 0 empty
-Class QMetaTypeId2<QIcon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QIcon> (0xb56abd20) 0 empty
-Class QMetaTypeId2<QImage>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QImage> (0xb56abf00) 0 empty
-Class QMetaTypeId2<QPolygon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPolygon> (0xb56b00f0) 0 empty
-Class QMetaTypeId2<QRegion>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegion> (0xb56b02d0) 0 empty
-Class QMetaTypeId2<QBitmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitmap> (0xb56b04b0) 0 empty
-Class QMetaTypeId2<QCursor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QCursor> (0xb56b0690) 0 empty
-Class QMetaTypeId2<QSizePolicy>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizePolicy> (0xb56b0870) 0 empty
-Class QMetaTypeId2<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QKeySequence> (0xb56b0a50) 0 empty
-Class QMetaTypeId2<QPen>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPen> (0xb56b0c30) 0 empty
-Class QMetaTypeId2<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextLength> (0xb56b0e10) 0 empty
-Class QMetaTypeId2<QTextFormat>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextFormat> (0xb56b8000) 0 empty
-Class QMetaTypeId2<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMatrix> (0xb56b81e0) 0 empty
-Class QMetaTypeId2<QTransform>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTransform> (0xb56b83c0) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -3392,45 +1727,17 @@ Class QVariant
base size=12 base align=4
QVariant (0xb56b85a0) 0
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0xb56f603c) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0xb56eafb4) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0xb56f612c) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0xb56f60b4) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0xb57284b0) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0xb5728ac8) 0 empty
-Class QMetaTypeId2<QList<QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QList<QVariant> > (0xb5728ca8) 0 empty
-Class QMetaTypeId2<QMap<QString, QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMap<QString, QVariant> > (0xb5728e88) 0 empty
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -3508,15 +1815,7 @@ Class QUrl
base size=4 base align=4
QUrl (0xb5579f3c) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0xb5584e4c) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0xb55ac8e8) 0 empty
Vtable for QEventLoop
QEventLoop::_ZTV10QEventLoop: 14u entries
@@ -3543,10 +1842,6 @@ QEventLoop (0xb5576b00) 0
QObject (0xb55bb744) 0
primary-for QEventLoop (0xb5576b00)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0xb55bbd5c) 0
Vtable for QAbstractEventDispatcher
QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 27u entries
@@ -3591,20 +1886,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0xb55dc870) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0xb56033c0) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0xb56034b0) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0xb5603bf4) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -3774,10 +2061,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0xb5651d5c) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0xb545a4ec) 0 empty
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -3889,20 +2172,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0xb54c312c) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0xb54c35dc) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0xb54c36cc) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0xb54c3b04) 0 empty
Class QMetaProperty
size=20 align=4
@@ -3914,10 +2189,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0xb54c3f00) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0xb54d8258) 0 empty
Vtable for QMimeData
QMimeData::_ZTV9QMimeData: 17u entries
@@ -4129,10 +2400,6 @@ QLibrary (0xb551c800) 0
QObject (0xb5536bb8) 0
primary-for QLibrary (0xb551c800)
-Class QFlags<QLibrary::LoadHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLibrary::LoadHint> (0xb5545b04) 0
Vtable for QPluginLoader
QPluginLoader::_ZTV13QPluginLoader: 14u entries
@@ -4169,20 +2436,12 @@ Class QReadWriteLock
base size=4 base align=4
QReadWriteLock (0xb537b0b4) 0
-Class QReadLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QReadLocker::<anonymous union> (0xb537b744) 0
Class QReadLocker
size=4 align=4
base size=4 base align=4
QReadLocker (0xb537b438) 0
-Class QWriteLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QWriteLocker::<anonymous union> (0xb5388c30) 0
Class QWriteLocker
size=4 align=4
@@ -4209,10 +2468,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0xb53d021c) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0xb53d0f00) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -4229,70 +2484,42 @@ Class QDate
base size=4 base align=4
QDate (0xb53ddf00) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0xb540d8ac) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0xb540d99c) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0xb5414f78) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0xb5421000) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0xb5428708) 0 empty
Class QPoint
size=8 align=4
base size=8 base align=4
QPoint (0xb54288e8) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0xb5440744) 0 empty
Class QPointF
size=16 align=4
base size=16 base align=4
QPointF (0xb544f8e8) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0xb523d834) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0xb524f8ac) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0xb524fc6c) 0 empty
Class QLineF
size=32 align=4
base size=32 base align=4
QLineF (0xb5271dd4) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0xb527e7f8) 0 empty
Class QLinkedListData
size=20 align=4
@@ -4304,40 +2531,24 @@ Class QSize
base size=8 base align=4
QSize (0xb530a744) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0xb531d834) 0 empty
Class QSizeF
size=16 align=4
base size=16 base align=4
QSizeF (0xb51393c0) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0xb5142438) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0xb516021c) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0xb517c0f0) 0 empty
Class QRectF
size=32 align=4
base size=32 base align=4
QRectF (0xb51b6ce4) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0xb51da1e0) 0 empty
Class QSharedData
size=4 align=4
@@ -4385,20 +2596,8 @@ Class QXmlStreamAttribute
base size=53 base align=4
QXmlStreamAttribute (0xb50799d8) 0
-Class QTypeInfo<QXmlStreamAttribute>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QXmlStreamAttribute> (0xb5082f78) 0 empty
-Class QVector<QXmlStreamAttribute>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QXmlStreamAttribute>::<anonymous union> (0xb50920b4) 0
-Class QVector<QXmlStreamAttribute>
- size=4 align=4
- base size=4 base align=4
-QVector<QXmlStreamAttribute> (0xb509203c) 0
Class QXmlStreamAttributes
size=4 align=4
@@ -4411,30 +2610,18 @@ Class QXmlStreamNamespaceDeclaration
base size=28 base align=4
QXmlStreamNamespaceDeclaration (0xb509212c) 0
-Class QTypeInfo<QXmlStreamNamespaceDeclaration>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QXmlStreamNamespaceDeclaration> (0xb5092b40) 0 empty
Class QXmlStreamNotationDeclaration
size=40 align=4
base size=40 base align=4
QXmlStreamNotationDeclaration (0xb5092c6c) 0
-Class QTypeInfo<QXmlStreamNotationDeclaration>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QXmlStreamNotationDeclaration> (0xb50b2834) 0 empty
Class QXmlStreamEntityDeclaration
size=64 align=4
base size=64 base align=4
QXmlStreamEntityDeclaration (0xb50b2960) 0
-Class QTypeInfo<QXmlStreamEntityDeclaration>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QXmlStreamEntityDeclaration> (0xb50c68e8) 0 empty
Vtable for QXmlStreamEntityResolver
QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver: 6u entries
@@ -4461,25 +2648,9 @@ Class QXmlStreamWriter
base size=4 base align=4
QXmlStreamWriter (0xb50f71a4) 0
-Class QList<QList<QVariant> >::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QList<QVariant> >::<anonymous union> (0xb50f77f8) 0
-Class QList<QList<QVariant> >
- size=4 align=4
- base size=4 base align=4
-QList<QList<QVariant> > (0xb50f7780) 0
-Class QList<int>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<int>::<anonymous union> (0xb50f7a50) 0
-Class QList<int>
- size=4 align=4
- base size=4 base align=4
-QList<int> (0xb50f79d8) 0
Vtable for QSignalSpy
QSignalSpy::_ZTV10QSignalSpy: 14u entries
@@ -4537,58 +2708,14 @@ QTestEventLoop (0xb4f8b700) 0
QObject (0xb4fa40f0) 0
primary-for QTestEventLoop (0xb4f8b700)
-Class QPointer<QTestEventLoop>
- size=4 align=4
- base size=4 base align=4
-QPointer<QTestEventLoop> (0xb4fb21a4) 0
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0xb4fff99c) 0
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0xb5014f3c) 0
-Class QList<int>::Node
- size=4 align=4
- base size=4 base align=4
-QList<int>::Node (0xb4e9f690) 0
-Class QTypeInfo<QList<QVariant> >
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QList<QVariant> > (0xb4e9f870) 0 empty
-Class QTypeInfo<QtConcurrent::ResultItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QtConcurrent::ResultItem> (0xb4ed9d5c) 0 empty
-Class QMap<int, QtConcurrent::ResultItem>::Node
- size=20 align=4
- base size=20 base align=4
-QMap<int, QtConcurrent::ResultItem>::Node (0xb4ed9dd4) 0
-Class QList<QList<QVariant> >::Node
- size=4 align=4
- base size=4 base align=4
-QList<QList<QVariant> >::Node (0xb4f0bec4) 0
-Class QMap<int, QtConcurrent::ResultItem>::PayloadNode
- size=16 align=4
- base size=16 base align=4
-QMap<int, QtConcurrent::ResultItem>::PayloadNode (0xb4d335a0) 0
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0xb4d336cc) 0
-Class QList<QVariant>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::Node (0xb4d33e10) 0
diff --git a/tests/auto/bic/data/QtXml.4.0.0.aix-gcc-power32.txt b/tests/auto/bic/data/QtXml.4.0.0.aix-gcc-power32.txt
index d131c87..83a6e88 100644
--- a/tests/auto/bic/data/QtXml.4.0.0.aix-gcc-power32.txt
+++ b/tests/auto/bic/data/QtXml.4.0.0.aix-gcc-power32.txt
@@ -53,65 +53,20 @@ Class QBool
size=1 align=1
QBool (0x300b7280) 0
-Class QTypeInfo<bool>
- size=1 align=1
-QTypeInfo<bool> (0x300cd9c0) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
-QTypeInfo<char> (0x300cdf80) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
-QTypeInfo<signed char> (0x300d4540) 0 empty
-Class QTypeInfo<uchar>
- size=1 align=1
-QTypeInfo<uchar> (0x300d4b00) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
-QTypeInfo<short int> (0x300e00c0) 0 empty
-Class QTypeInfo<ushort>
- size=1 align=1
-QTypeInfo<ushort> (0x300e0680) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
-QTypeInfo<int> (0x300e0c40) 0 empty
-Class QTypeInfo<uint>
- size=1 align=1
-QTypeInfo<uint> (0x300eb200) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
-QTypeInfo<long int> (0x300eb7c0) 0 empty
-Class QTypeInfo<ulong>
- size=1 align=1
-QTypeInfo<ulong> (0x300ebd80) 0 empty
-Class QTypeInfo<qint64>
- size=1 align=1
-QTypeInfo<qint64> (0x300f8340) 0 empty
-Class QTypeInfo<quint64>
- size=1 align=1
-QTypeInfo<quint64> (0x300f8900) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
-QTypeInfo<float> (0x300f8ec0) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
-QTypeInfo<double> (0x30104480) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
-QTypeInfo<long double> (0x30104a40) 0 empty
Class QFlag
size=4 align=4
@@ -125,9 +80,6 @@ Class QChar
size=2 align=2
QChar (0x30148980) 0
-Class QTypeInfo<QChar>
- size=1 align=1
-QTypeInfo<QChar> (0x30185980) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -142,13 +94,7 @@ Class sigset_t
size=8 align=4
sigset_t (0x3026ad80) 0
-Class <anonymous struct>
- size=8 align=4
-<anonymous struct> (0x30271200) 0
-Class <anonymous struct>
- size=32 align=8
-<anonymous struct> (0x30271540) 0
Class fsid_t
size=8 align=4
@@ -158,21 +104,9 @@ Class fsid64_t
size=16 align=8
fsid64_t (0x30271c40) 0
-Class <anonymous struct>
- size=52 align=4
-<anonymous struct> (0x302780c0) 0
-Class <anonymous struct>
- size=44 align=4
-<anonymous struct> (0x30278440) 0
-Class <anonymous struct>
- size=112 align=4
-<anonymous struct> (0x302787c0) 0
-Class <anonymous struct>
- size=208 align=4
-<anonymous struct> (0x30278b40) 0
Class _quad
size=8 align=4
@@ -186,17 +120,11 @@ Class adspace_t
size=68 align=4
adspace_t (0x30281e00) 0
-Class <anonymous struct>
- size=24 align=8
-<anonymous struct> (0x302865c0) 0
Class label_t
size=100 align=4
label_t (0x30286d00) 0
-Class <anonymous struct>
- size=4 align=4
-<anonymous struct> (0x3028b780) 0
Class sigset
size=8 align=4
@@ -238,57 +166,18 @@ Class QByteRef
size=8 align=4
QByteRef (0x302b7540) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
-QTypeInfo<QByteArray> (0x30423740) 0 empty
-Class QFlags<Qt::MouseButton>
- size=4 align=4
-QFlags<Qt::MouseButton> (0x30431080) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
-QFlags<Qt::Orientation> (0x30431340) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
-QFlags<Qt::KeyboardModifier> (0x3042cc00) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
-QFlags<Qt::WindowType> (0x30442080) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
-QFlags<Qt::AlignmentFlag> (0x30431a00) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
-QFlags<Qt::ImageConversionFlag> (0x30448800) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
-QFlags<Qt::DockWidgetArea> (0x3046af00) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
-QFlags<Qt::ToolBarArea> (0x3046e200) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
-QFlags<Qt::WindowState> (0x304422c0) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
-QFlags<Qt::DropAction> (0x30474f80) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
-QFlags<Qt::ItemFlag> (0x30479700) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
-QFlags<Qt::MatchFlag> (0x30479a40) 0
Class QInternal
size=1 align=1
@@ -306,9 +195,6 @@ Class QString
size=4 align=4
QString (0x300a1f40) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
-QFlags<QString::SectionFlag> (0x303cf2c0) 0
Class QLatin1String
size=4 align=4
@@ -323,9 +209,6 @@ Class QConstString
QConstString (0x300b7640) 0
QString (0x300b7680) 0
-Class QTypeInfo<QString>
- size=1 align=1
-QTypeInfo<QString> (0x303901c0) 0 empty
Class QListData::Data
size=24 align=4
@@ -335,9 +218,6 @@ Class QListData
size=4 align=4
QListData (0x300732c0) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
-QFlags<QTextCodec::ConversionFlag> (0x302fb500) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -360,13 +240,7 @@ Class QTextCodec
QTextCodec (0x303bab80) 0 nearly-empty
vptr=((&QTextCodec::_ZTV10QTextCodec) + 8)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
-QList<QByteArray>::<anonymous union> (0x30120bc0) 0
-Class QList<QByteArray>
- size=4 align=4
-QList<QByteArray> (0x302cc980) 0
Class QTextEncoder
size=32 align=4
@@ -385,21 +259,12 @@ Class QGenericReturnArgument
QGenericReturnArgument (0x3036a6c0) 0
QGenericArgument (0x3036a700) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
-QMetaObject::<anonymous struct> (0x3009b300) 0
Class QMetaObject
size=16 align=4
QMetaObject (0x3058c900) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
-QList<QObject*>::<anonymous union> (0x30170600) 0
-Class QList<QObject*>
- size=4 align=4
-QList<QObject*> (0x30166f00) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4 entries
@@ -487,9 +352,6 @@ QIODevice (0x30365880) 0
QObject (0x301e4440) 0
primary-for QIODevice (0x30365880)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
-QFlags<QIODevice::OpenModeFlag> (0x301ebec0) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4 entries
@@ -507,38 +369,20 @@ Class QRegExp
size=4 align=4
QRegExp (0x303baa80) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
-QTypeInfo<QRegExp> (0x30148180) 0 empty
Class QStringMatcher
size=1036 align=4
QStringMatcher (0x3012d8c0) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
-QList<QString>::<anonymous union> (0x30104900) 0
-Class QList<QString>
- size=4 align=4
-QList<QString> (0x30104380) 0
Class QStringList
size=4 align=4
QStringList (0x303bab00) 0
QList<QString> (0x300c3280) 0
-Class QList<QString>::Node
- size=4 align=4
-QList<QString>::Node (0x301046c0) 0
-Class QList<QString>::iterator
- size=4 align=4
-QList<QString>::iterator (0x300eba00) 0
-Class QList<QString>::const_iterator
- size=4 align=4
-QList<QString>::const_iterator (0x300eb980) 0
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5 entries
@@ -664,9 +508,6 @@ Class QMapData
size=72 align=4
QMapData (0x304b4140) 0
-Class <anonymous struct>
- size=32 align=4
-<anonymous struct> (0x3052cd00) 0
Vtable for QTextStream
QTextStream::_ZTV11QTextStream: 4 entries
@@ -680,9 +521,6 @@ Class QTextStream
QTextStream (0x3050bbc0) 0
vptr=((&QTextStream::_ZTV11QTextStream) + 8)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
-QFlags<QTextStream::NumberFlag> (0x305082c0) 0
Class QTextStreamManipulator
size=24 align=4
@@ -767,41 +605,20 @@ QFile (0x3057c8c0) 0
QObject (0x3057c980) 0
primary-for QIODevice (0x3057c900)
-Class QFlags<QFile::Permission>
- size=4 align=4
-QFlags<QFile::Permission> (0x3058a380) 0
Class QFileInfo
size=4 align=4
QFileInfo (0x304b0580) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
-QFlags<QFileInfo::Permission> (0x304927c0) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
-QTypeInfo<QFileInfo> (0x30390480) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
-QList<QFileInfo>::<anonymous union> (0x301dfa40) 0
-Class QList<QFileInfo>
- size=4 align=4
-QList<QFileInfo> (0x301df900) 0
Class QDir
size=4 align=4
QDir (0x304b03c0) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
-QFlags<QDir::Filter> (0x30365600) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
-QFlags<QDir::SortFlag> (0x303ac7c0) 0
Vtable for QFileEngine
QFileEngine::_ZTV11QFileEngine: 35 entries
@@ -846,9 +663,6 @@ Class QFileEngine
QFileEngine (0x3057c7c0) 0
vptr=((&QFileEngine::_ZTV11QFileEngine) + 8)
-Class QFlags<QFileEngine::FileFlag>
- size=4 align=4
-QFlags<QFileEngine::FileFlag> (0x3031a080) 0
Vtable for QFileEngineHandler
QFileEngineHandler::_ZTV18QFileEngineHandler: 5 entries
@@ -910,73 +724,22 @@ Class QMetaType
size=1 align=1
QMetaType (0x30079000) 0 empty
-Class QMetaTypeId<QString>
- size=1 align=1
-QMetaTypeId<QString> (0x3011fb00) 0 empty
-Class QMetaTypeId<int>
- size=1 align=1
-QMetaTypeId<int> (0x3013d480) 0 empty
-Class QMetaTypeId<uint_t>
- size=1 align=1
-QMetaTypeId<uint_t> (0x30148440) 0 empty
-Class QMetaTypeId<bool>
- size=1 align=1
-QMetaTypeId<bool> (0x3015dfc0) 0 empty
-Class QMetaTypeId<double>
- size=1 align=1
-QMetaTypeId<double> (0x301937c0) 0 empty
-Class QMetaTypeId<QByteArray>
- size=1 align=1
-QMetaTypeId<QByteArray> (0x301a18c0) 0 empty
-Class QMetaTypeId<QChar>
- size=1 align=1
-QMetaTypeId<QChar> (0x301a5d00) 0 empty
-Class QMetaTypeId<void>
- size=1 align=1
-QMetaTypeId<void> (0x301ad500) 0 empty
-Class QMetaTypeId<long int>
- size=1 align=1
-QMetaTypeId<long int> (0x301add00) 0 empty
-Class QMetaTypeId<short int>
- size=1 align=1
-QMetaTypeId<short int> (0x301b22c0) 0 empty
-Class QMetaTypeId<char>
- size=1 align=1
-QMetaTypeId<char> (0x301b2b00) 0 empty
-Class QMetaTypeId<ulong_t>
- size=1 align=1
-QMetaTypeId<ulong_t> (0x301b6640) 0 empty
-Class QMetaTypeId<ushort_t>
- size=1 align=1
-QMetaTypeId<ushort_t> (0x301b6fc0) 0 empty
-Class QMetaTypeId<uchar_t>
- size=1 align=1
-QMetaTypeId<uchar_t> (0x301b9600) 0 empty
-Class QMetaTypeId<float>
- size=1 align=1
-QMetaTypeId<float> (0x301b9c00) 0 empty
-Class QMetaTypeId<QObject*>
- size=1 align=1
-QMetaTypeId<QObject*> (0x301c1740) 0 empty
-Class QMetaTypeId<QWidget*>
- size=1 align=1
-QMetaTypeId<QWidget*> (0x301d7f80) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -998,69 +761,24 @@ Class QVariant
size=16 align=8
QVariant (0x30166c00) 0
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
-QList<QVariant>::<anonymous union> (0x3057e500) 0
-Class QList<QVariant>
- size=4 align=4
-QList<QVariant> (0x302acd80) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
-QMap<QString, QVariant>::<anonymous union> (0x302ed8c0) 0
-Class QMap<QString, QVariant>
- size=4 align=4
-QMap<QString, QVariant> (0x302b7980) 0
Class QVariantComparisonHelper
size=4 align=4
QVariantComparisonHelper (0x30225880) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
-QTypeInfo<QVariant> (0x303e8900) 0 empty
-Class <anonymous struct>
- size=12 align=4
-<anonymous struct> (0x303dab00) 0
-Class <anonymous struct>
- size=44 align=4
-<anonymous struct> (0x303f70c0) 0
-Class <anonymous struct>
- size=76 align=4
-<anonymous struct> (0x303f7880) 0
-Class <anonymous struct>
- size=36 align=4
-<anonymous struct> (0x303fc640) 0
-Class <anonymous struct>
- size=56 align=4
-<anonymous struct> (0x303fcc40) 0
-Class <anonymous struct>
- size=36 align=4
-<anonymous struct> (0x30414340) 0
-Class <anonymous struct>
- size=28 align=4
-<anonymous struct> (0x30414f00) 0
-Class <anonymous struct>
- size=24 align=4
-<anonymous struct> (0x30486a40) 0
-Class <anonymous struct>
- size=28 align=4
-<anonymous struct> (0x30486d80) 0
-Class <anonymous struct>
- size=28 align=4
-<anonymous struct> (0x30492400) 0
Class lconv
size=56 align=4
@@ -1102,77 +820,41 @@ Class localeinfo_table
size=36 align=4
localeinfo_table (0x303d9cc0) 0
-Class <anonymous struct>
- size=108 align=4
-<anonymous struct> (0x304dc500) 0
Class _LC_charmap_objhdl
size=12 align=4
_LC_charmap_objhdl (0x304dcc80) 0
-Class <anonymous struct>
- size=92 align=4
-<anonymous struct> (0x30561040) 0
Class _LC_monetary_objhdl
size=12 align=4
_LC_monetary_objhdl (0x305614c0) 0
-Class <anonymous struct>
- size=48 align=4
-<anonymous struct> (0x30561800) 0
Class _LC_numeric_objhdl
size=12 align=4
_LC_numeric_objhdl (0x30561d00) 0
-Class <anonymous struct>
- size=56 align=4
-<anonymous struct> (0x30083180) 0
Class _LC_resp_objhdl
size=12 align=4
_LC_resp_objhdl (0x300838c0) 0
-Class <anonymous struct>
- size=248 align=4
-<anonymous struct> (0x30083c40) 0
Class _LC_time_objhdl
size=12 align=4
_LC_time_objhdl (0x3012c400) 0
-Class <anonymous struct>
- size=10 align=2
-<anonymous struct> (0x3012cc40) 0
-Class <anonymous struct>
- size=16 align=4
-<anonymous struct> (0x301df180) 0
-Class <anonymous struct>
- size=16 align=4
-<anonymous struct> (0x301df5c0) 0
-Class <anonymous struct>
- size=20 align=4
-<anonymous struct> (0x303acac0) 0
-Class <anonymous struct>
- size=104 align=4
-<anonymous struct> (0x30504a00) 0
Class _LC_collate_objhdl
size=12 align=4
_LC_collate_objhdl (0x301bfb80) 0
-Class <anonymous struct>
- size=8 align=4
-<anonymous struct> (0x301e8b00) 0
-Class <anonymous struct>
- size=80 align=4
-<anonymous struct> (0x305a0100) 0
Class _LC_ctype_objhdl
size=12 align=4
@@ -1186,17 +868,11 @@ Class _LC_locale_objhdl
size=12 align=4
_LC_locale_objhdl (0x303da600) 0
-Class _LC_object_handle::<anonymous union>
- size=12 align=4
-_LC_object_handle::<anonymous union> (0x305911c0) 0
Class _LC_object_handle
size=20 align=4
_LC_object_handle (0x30591080) 0
-Class <anonymous struct>
- size=24 align=4
-<anonymous struct> (0x3031ed80) 0
Vtable for QSettings
QSettings::_ZTV9QSettings: 14 entries
@@ -1271,13 +947,7 @@ Class QUrl
size=4 align=4
QUrl (0x302256c0) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
-QFlags<QUrl::FormattingOption> (0x306df180) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
-QTypeInfo<QUrl> (0x307c8900) 0 empty
Vtable for QEventLoop
QEventLoop::_ZTV10QEventLoop: 14 entries
@@ -1303,9 +973,6 @@ QEventLoop (0x30802000) 0
QObject (0x30802040) 0
primary-for QEventLoop (0x30802000)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0x30803740) 0
Vtable for QAbstractEventDispatcher
QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 27 entries
@@ -1348,17 +1015,11 @@ Class QModelIndex
size=16 align=4
QModelIndex (0x3049cc80) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
-QTypeInfo<QModelIndex> (0x304eb5c0) 0 empty
Class QPersistentModelIndex
size=4 align=4
QPersistentModelIndex (0x3049cb80) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
-QTypeInfo<QPersistentModelIndex> (0x3002e700) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42 entries
@@ -1524,9 +1185,6 @@ Class QBasicTimer
size=4 align=4
QBasicTimer (0x307fe180) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
-QTypeInfo<QBasicTimer> (0x30803300) 0 empty
Vtable for QEvent
QEvent::_ZTV6QEvent: 4 entries
@@ -1612,17 +1270,11 @@ Class QMetaMethod
size=8 align=4
QMetaMethod (0x30379340) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
-QTypeInfo<QMetaMethod> (0x30880740) 0 empty
Class QMetaEnum
size=8 align=4
QMetaEnum (0x303793c0) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
-QTypeInfo<QMetaEnum> (0x3088be80) 0 empty
Class QMetaProperty
size=20 align=4
@@ -1632,9 +1284,6 @@ Class QMetaClassInfo
size=8 align=4
QMetaClassInfo (0x30379540) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
-QTypeInfo<QMetaClassInfo> (0x308a3780) 0 empty
Vtable for QMimeData
QMimeData::_ZTV9QMimeData: 17 entries
@@ -1902,9 +1551,6 @@ Class QBitRef
size=8 align=4
QBitRef (0x305a6140) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
-QTypeInfo<QBitArray> (0x30864700) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -1922,65 +1568,41 @@ Class QHashDummyValue
size=1 align=1
QHashDummyValue (0x30893ec0) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
-QTypeInfo<QHashDummyValue> (0x30897f00) 0 empty
Class QDate
size=4 align=4
QDate (0x301eb4c0) 0
-Class QTypeInfo<QDate>
- size=1 align=1
-QTypeInfo<QDate> (0x300ebe80) 0 empty
Class QTime
size=4 align=4
QTime (0x301f1e80) 0
-Class QTypeInfo<QTime>
- size=1 align=1
-QTypeInfo<QTime> (0x30368c00) 0 empty
Class QDateTime
size=4 align=4
QDateTime (0x304b0440) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
-QTypeInfo<QDateTime> (0x304d4880) 0 empty
Class QPoint
size=8 align=4
QPoint (0x301f9d40) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
-QTypeInfo<QPoint> (0x307b9180) 0 empty
Class QPointF
size=16 align=8
QPointF (0x30200880) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
-QTypeInfo<QPointF> (0x307efcc0) 0 empty
Class QLine
size=16 align=4
QLine (0x301eb540) 0
-Class QTypeInfo<QLine>
- size=1 align=1
-QTypeInfo<QLine> (0x3098afc0) 0 empty
Class QLineF
size=32 align=8
QLineF (0x301eb600) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
-QTypeInfo<QLineF> (0x30a335c0) 0 empty
Class QLinkedListData
size=20 align=4
@@ -1990,41 +1612,26 @@ Class QLocale
size=4 align=4
QLocale (0x301eb800) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
-QTypeInfo<QLocale> (0x30822c80) 0 empty
Class QSize
size=8 align=4
QSize (0x30200a80) 0
-Class QTypeInfo<QSize>
- size=1 align=1
-QTypeInfo<QSize> (0x30864400) 0 empty
Class QSizeF
size=16 align=8
QSizeF (0x30209200) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
-QTypeInfo<QSizeF> (0x30a33a80) 0 empty
Class QRect
size=16 align=4
QRect (0x30213780) 0
-Class QTypeInfo<QRect>
- size=1 align=1
-QTypeInfo<QRect> (0x30aad700) 0 empty
Class QRectF
size=32 align=8
QRectF (0x302138c0) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
-QTypeInfo<QRectF> (0x30a1fdc0) 0 empty
Class QSharedData
size=4 align=4
@@ -2127,13 +1734,7 @@ Class QXmlAttributes::Attribute
size=16 align=4
QXmlAttributes::Attribute (0x301d1980) 0
-Class QList<QXmlAttributes::Attribute>::<anonymous union>
- size=4 align=4
-QList<QXmlAttributes::Attribute>::<anonymous union> (0x304fb8c0) 0
-Class QList<QXmlAttributes::Attribute>
- size=4 align=4
-QList<QXmlAttributes::Attribute> (0x304ffa00) 0
Vtable for QXmlAttributes
QXmlAttributes::_ZTV14QXmlAttributes: 4 entries
@@ -2147,13 +1748,7 @@ Class QXmlAttributes
QXmlAttributes (0x307b61c0) 0
vptr=((&QXmlAttributes::_ZTV14QXmlAttributes) + 8)
-Class QTypeInfo<QXmlAttributes::Attribute>
- size=1 align=1
-QTypeInfo<QXmlAttributes::Attribute> (0x30b26cc0) 0 empty
-Class QList<QXmlAttributes::Attribute>::Node
- size=4 align=4
-QList<QXmlAttributes::Attribute>::Node (0x304fb880) 0
Vtable for QXmlInputSource
QXmlInputSource::_ZTV15QXmlInputSource: 11 entries
@@ -2458,11 +2053,5 @@ QXmlDefaultHandler (0x307b62c0) 0
QXmlDeclHandler (0x30aefe40) 20 nearly-empty
vptr=((&QXmlDefaultHandler::_ZTV18QXmlDefaultHandler) + 268)
-Class QList<QByteArray>::Node
- size=4 align=4
-QList<QByteArray>::Node (0x30120ac0) 0
-Class QList<QFileInfo>::Node
- size=4 align=4
-QList<QFileInfo>::Node (0x301dfa00) 0
diff --git a/tests/auto/bic/data/QtXml.4.0.0.linux-gcc-amd64.txt b/tests/auto/bic/data/QtXml.4.0.0.linux-gcc-amd64.txt
index be980d5..1e5b2a2 100644
--- a/tests/auto/bic/data/QtXml.4.0.0.linux-gcc-amd64.txt
+++ b/tests/auto/bic/data/QtXml.4.0.0.linux-gcc-amd64.txt
@@ -59,145 +59,37 @@ Class QBool
base size=1 base align=1
QBool (0x2aaaac211070) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0x2aaaac211f50) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0x2aaaac226230) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0x2aaaac2264d0) 0 empty
-Class QTypeInfo<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned char> (0x2aaaac226770) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0x2aaaac226a10) 0 empty
-Class QTypeInfo<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short unsigned int> (0x2aaaac226cb0) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0x2aaaac226f50) 0 empty
-Class QTypeInfo<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned int> (0x2aaaac238230) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0x2aaaac2384d0) 0 empty
-Class QTypeInfo<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long unsigned int> (0x2aaaac238770) 0 empty
-Class QTypeInfo<long long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long int> (0x2aaaac238a10) 0 empty
-Class QTypeInfo<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long unsigned int> (0x2aaaac238cb0) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0x2aaaac238f50) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0x2aaaac249230) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0x2aaaac2494d0) 0 empty
Class QFlag
size=4 align=4
base size=4 base align=4
QFlag (0x2aaaac249700) 0
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0x2aaaac2767e0) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0x2aaaac276bd0) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0x2aaaac301000) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0x2aaaac3013f0) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0x2aaaac3017e0) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0x2aaaac301bd0) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0x2aaaac347000) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0x2aaaac3473f0) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0x2aaaac3477e0) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0x2aaaac347bd0) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0x2aaaac393000) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0x2aaaac3933f0) 0
Class QInternal
size=1 align=1
@@ -215,10 +107,6 @@ Class QGenericReturnArgument
QGenericReturnArgument (0x2aaaac393e00) 0
QGenericArgument (0x2aaaac393e70) 0
-Class QMetaObject::<anonymous struct>
- size=32 align=8
- base size=32 base align=8
-QMetaObject::<anonymous struct> (0x2aaaac3c5700) 0
Class QMetaObject
size=32 align=8
@@ -235,10 +123,6 @@ Class QChar
base size=2 base align=2
QChar (0x2aaaac3fc380) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0x2aaaac4343f0) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -271,10 +155,6 @@ Class QByteRef
base size=12 base align=8
QByteRef (0x2aaaac555a10) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0x2aaaac5e4a80) 0 empty
Class QString::Null
size=1 align=1
@@ -291,10 +171,6 @@ Class QString
base size=8 base align=8
QString (0x2aaaac5e4d90) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0x2aaaac674620) 0
Class QLatin1String
size=8 align=8
@@ -312,10 +188,6 @@ Class QConstString
QConstString (0x2aaaac8a98c0) 0
QString (0x2aaaac8a9930) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0x2aaaac8a9e70) 0 empty
Class QListData::Data
size=32 align=8
@@ -327,15 +199,7 @@ Class QListData
base size=8 base align=8
QListData (0x2aaaac8e4d90) 0
-Class QList<QObject*>::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QList<QObject*>::<anonymous union> (0x2aaaaca03cb0) 0
-Class QList<QObject*>
- size=8 align=8
- base size=8 base align=8
-QList<QObject*> (0x2aaaaca03b60) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -427,10 +291,6 @@ QIODevice (0x2aaaaca8d150) 0
QObject (0x2aaaaca8d1c0) 0
primary-for QIODevice (0x2aaaaca8d150)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0x2aaaaca8dd20) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -455,10 +315,6 @@ Class QMapData
base size=128 base align=8
QMapData (0x2aaaacb318c0) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0x2aaaacc4e7e0) 0
Class QTextCodec::ConverterState
size=32 align=8
@@ -483,15 +339,7 @@ Class QTextCodec
QTextCodec (0x2aaaacc4e540) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 16u)
-Class QList<QByteArray>::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QList<QByteArray>::<anonymous union> (0x2aaaacc890e0) 0
-Class QList<QByteArray>
- size=8 align=8
- base size=8 base align=8
-QList<QByteArray> (0x2aaaacc78f50) 0
Class QTextEncoder
size=40 align=8
@@ -503,30 +351,10 @@ Class QTextDecoder
base size=40 base align=8
QTextDecoder (0x2aaaacc89e00) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x2aaaaccc62a0) 0
-Class <anonymous struct>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct>::<anonymous union> (0x2aaaaccc6460) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x2aaaaccc6380) 0
-Class <anonymous struct>
- size=16 align=8
- base size=16 base align=8
-<anonymous struct> (0x2aaaaccc6540) 0
-Class <anonymous struct>
- size=16 align=8
- base size=16 base align=8
-<anonymous struct> (0x2aaaaccc6620) 0
Class __gconv_trans_data
size=40 align=8
@@ -548,15 +376,7 @@ Class __gconv_info
base size=16 base align=8
__gconv_info (0x2aaaaccc6930) 0
-Class <anonymous union>::<anonymous struct>
- size=72 align=8
- base size=72 base align=8
-<anonymous union>::<anonymous struct> (0x2aaaaccc6af0) 0
-Class <anonymous union>
- size=72 align=8
- base size=72 base align=8
-<anonymous union> (0x2aaaaccc6a10) 0
Class _IO_marker
size=24 align=8
@@ -568,10 +388,6 @@ Class _IO_FILE
base size=216 base align=8
_IO_FILE (0x2aaaaccc6bd0) 0
-Class <anonymous struct>
- size=32 align=8
- base size=32 base align=8
-<anonymous struct> (0x2aaaaccc6cb0) 0
Vtable for QTextStream
QTextStream::_ZTV11QTextStream: 4u entries
@@ -586,10 +402,6 @@ Class QTextStream
QTextStream (0x2aaaaccc6d20) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 16u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0x2aaaacd47000) 0
Class QTextStreamManipulator
size=40 align=8
@@ -680,10 +492,6 @@ QFile (0x2aaaace14a80) 0
QObject (0x2aaaace14b60) 0
primary-for QIODevice (0x2aaaace14af0)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0x2aaaace48930) 0
Vtable for QTemporaryFile
QTemporaryFile::_ZTV14QTemporaryFile: 31u entries
@@ -736,25 +544,13 @@ Class QRegExp
base size=8 base align=8
QRegExp (0x2aaaace7b700) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0x2aaaace9f5b0) 0 empty
Class QStringMatcher
size=1048 align=8
base size=1044 base align=8
QStringMatcher (0x2aaaace9f7e0) 0
-Class QList<QString>::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QList<QString>::<anonymous union> (0x2aaaace9fd90) 0
-Class QList<QString>
- size=8 align=8
- base size=8 base align=8
-QList<QString> (0x2aaaace9fc40) 0
Class QStringList
size=8 align=8
@@ -762,15 +558,7 @@ Class QStringList
QStringList (0x2aaaace9fee0) 0
QList<QString> (0x2aaaace9ff50) 0
-Class QList<QString>::iterator
- size=8 align=8
- base size=8 base align=8
-QList<QString>::iterator (0x2aaaacefad90) 0
-Class QList<QString>::const_iterator
- size=8 align=8
- base size=8 base align=8
-QList<QString>::const_iterator (0x2aaaacf1a150) 0
Vtable for QProcess
QProcess::_ZTV8QProcess: 31u entries
@@ -864,145 +652,45 @@ Class QFileInfo
base size=8 base align=8
QFileInfo (0x2aaaacf6eaf0) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0x2aaaacfad540) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0x2aaaacfad9a0) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QList<QFileInfo>::<anonymous union> (0x2aaaacfd4150) 0
-Class QList<QFileInfo>
- size=8 align=8
- base size=8 base align=8
-QList<QFileInfo> (0x2aaaacfd4000) 0
Class QDir
size=8 align=8
base size=8 base align=8
QDir (0x2aaaacfd42a0) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0x2aaaacfd4540) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0x2aaaacfd4770) 0
Class QUrl
size=8 align=8
base size=8 base align=8
QUrl (0x2aaaad07a460) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0x2aaaad07a770) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0x2aaaad0d69a0) 0 empty
Class QMetaType
size=1 align=1
base size=0 base align=1
QMetaType (0x2aaaad0f3000) 0 empty
-Class QMetaTypeId<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QString> (0x2aaaad0f3700) 0 empty
-Class QMetaTypeId<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<int> (0x2aaaad0f38c0) 0 empty
-Class QMetaTypeId<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<unsigned int> (0x2aaaad0f3a80) 0 empty
-Class QMetaTypeId<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<bool> (0x2aaaad0f3c40) 0 empty
-Class QMetaTypeId<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<double> (0x2aaaad0f3e00) 0 empty
-Class QMetaTypeId<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QByteArray> (0x2aaaad10c000) 0 empty
-Class QMetaTypeId<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QChar> (0x2aaaad10c1c0) 0 empty
-Class QMetaTypeId<void>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<void> (0x2aaaad10c380) 0 empty
-Class QMetaTypeId<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<long int> (0x2aaaad10c540) 0 empty
-Class QMetaTypeId<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<short int> (0x2aaaad10c700) 0 empty
-Class QMetaTypeId<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<char> (0x2aaaad10c8c0) 0 empty
-Class QMetaTypeId<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<long unsigned int> (0x2aaaad10ca80) 0 empty
-Class QMetaTypeId<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<short unsigned int> (0x2aaaad10cc40) 0 empty
-Class QMetaTypeId<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<unsigned char> (0x2aaaad10ce00) 0 empty
-Class QMetaTypeId<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<float> (0x2aaaad117000) 0 empty
-Class QMetaTypeId<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QObject*> (0x2aaaad1171c0) 0 empty
-Class QMetaTypeId<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QWidget*> (0x2aaaad117380) 0 empty
Class QVariant::PrivateShared
size=16 align=8
@@ -1029,35 +717,15 @@ Class QVariant
base size=16 base align=8
QVariant (0x2aaaad1174d0) 0
-Class QList<QVariant>::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QList<QVariant>::<anonymous union> (0x2aaaad1aa690) 0
-Class QList<QVariant>
- size=8 align=8
- base size=8 base align=8
-QList<QVariant> (0x2aaaad1aa540) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QMap<QString, QVariant>::<anonymous union> (0x2aaaad1aaa10) 0
-Class QMap<QString, QVariant>
- size=8 align=8
- base size=8 base align=8
-QMap<QString, QVariant> (0x2aaaad1aa8c0) 0
Class QVariantComparisonHelper
size=8 align=8
base size=8 base align=8
QVariantComparisonHelper (0x2aaaad21b380) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0x2aaaad21be00) 0 empty
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1128,10 +796,6 @@ Class QFileEngine
QFileEngine (0x2aaaad29d230) 0
vptr=((& QFileEngine::_ZTV11QFileEngine) + 16u)
-Class QFlags<QFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileEngine::FileFlag> (0x2aaaad29d620) 0
Vtable for QFileEngineHandler
QFileEngineHandler::_ZTV18QFileEngineHandler: 5u entries
@@ -1162,90 +826,54 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0x2aaaad2d3ee0) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0x2aaaad2f70e0) 0 empty
Class QPoint
size=8 align=4
base size=8 base align=4
QPoint (0x2aaaad4183f0) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0x2aaaad418bd0) 0 empty
Class QPointF
size=16 align=8
base size=16 base align=8
QPointF (0x2aaaad447770) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0x2aaaad447f50) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0x2aaaad479f50) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0x2aaaad49b150) 0 empty
Class QLineF
size=32 align=8
base size=32 base align=8
QLineF (0x2aaaad4aea10) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0x2aaaad4d1000) 0 empty
Class QSize
size=8 align=4
base size=8 base align=4
QSize (0x2aaaad5000e0) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0x2aaaad5007e0) 0 empty
Class QSizeF
size=16 align=8
base size=16 base align=8
QSizeF (0x2aaaad534a10) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0x2aaaad534c40) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0x2aaaad5868c0) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0x2aaaad5ba690) 0 empty
Class QRectF
size=32 align=8
base size=32 base align=8
QRectF (0x2aaaad647230) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0x2aaaad6771c0) 0 empty
Class QLinkedListData
size=32 align=8
@@ -1262,10 +890,6 @@ Class QBitRef
base size=12 base align=8
QBitRef (0x2aaaad7ea380) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0x2aaaad7eaf50) 0 empty
Class QVectorData
size=16 align=4
@@ -1287,40 +911,24 @@ Class QLocale
base size=8 base align=8
QLocale (0x2aaaad920070) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0x2aaaad920af0) 0 empty
Class QDate
size=4 align=4
base size=4 base align=4
QDate (0x2aaaad9cc1c0) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0x2aaaad9ee380) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0x2aaaad9ee5b0) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0x2aaaada120e0) 0 empty
Class QDateTime
size=8 align=8
base size=8 base align=8
QDateTime (0x2aaaada12310) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0x2aaaada12f50) 0 empty
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -1480,10 +1088,6 @@ QEventLoop (0x2aaaada9aa80) 0
QObject (0x2aaaada9aaf0) 0
primary-for QEventLoop (0x2aaaada9aa80)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0x2aaaada9aee0) 0
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -1575,20 +1179,12 @@ Class QModelIndex
base size=24 base align=8
QModelIndex (0x2aaaadb22f50) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0x2aaaadb4c1c0) 0 empty
Class QPersistentModelIndex
size=8 align=8
base size=8 base align=8
QPersistentModelIndex (0x2aaaadb4c700) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0x2aaaadb4c930) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -1808,10 +1404,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0x2aaaadbcfcb0) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0x2aaaadc1e850) 0 empty
Vtable for QSocketNotifier
QSocketNotifier::_ZTV15QSocketNotifier: 14u entries
@@ -1906,20 +1498,12 @@ Class QMetaMethod
base size=12 base align=8
QMetaMethod (0x2aaaadc5d690) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0x2aaaadc5da80) 0 empty
Class QMetaEnum
size=16 align=8
base size=12 base align=8
QMetaEnum (0x2aaaadc5dcb0) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0x2aaaadc7f150) 0 empty
Class QMetaProperty
size=32 align=8
@@ -1931,10 +1515,6 @@ Class QMetaClassInfo
base size=12 base align=8
QMetaClassInfo (0x2aaaadc7f4d0) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0x2aaaadc7f8c0) 0 empty
Vtable for QPluginLoader
QPluginLoader::_ZTV13QPluginLoader: 14u entries
@@ -2169,15 +1749,7 @@ Class QXmlAttributes::Attribute
base size=32 base align=8
QXmlAttributes::Attribute (0x2aaaaddbbee0) 0
-Class QList<QXmlAttributes::Attribute>::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-QList<QXmlAttributes::Attribute>::<anonymous union> (0x2aaaaddee230) 0
-Class QList<QXmlAttributes::Attribute>
- size=8 align=8
- base size=8 base align=8
-QList<QXmlAttributes::Attribute> (0x2aaaaddee0e0) 0
Vtable for QXmlAttributes
QXmlAttributes::_ZTV14QXmlAttributes: 4u entries
@@ -2507,28 +2079,8 @@ QXmlDefaultHandler (0x2aaaade8e4e0) 0
QXmlDeclHandler (0x2aaaade8d3f0) 40 nearly-empty
vptr=((& QXmlDefaultHandler::_ZTV18QXmlDefaultHandler) + 536u)
-Class QList<QByteArray>::Node
- size=8 align=8
- base size=8 base align=8
-QList<QByteArray>::Node (0x2aaaadf6e540) 0
-Class QList<QString>::Node
- size=8 align=8
- base size=8 base align=8
-QList<QString>::Node (0x2aaaadfaa620) 0
-Class QList<QFileInfo>::Node
- size=8 align=8
- base size=8 base align=8
-QList<QFileInfo>::Node (0x2aaaae0e3ee0) 0
-Class QTypeInfo<QXmlAttributes::Attribute>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QXmlAttributes::Attribute> (0x2aaaae0f6850) 0 empty
-Class QList<QXmlAttributes::Attribute>::Node
- size=8 align=8
- base size=8 base align=8
-QList<QXmlAttributes::Attribute>::Node (0x2aaaae0f69a0) 0
diff --git a/tests/auto/bic/data/QtXml.4.0.0.linux-gcc-ia32.txt b/tests/auto/bic/data/QtXml.4.0.0.linux-gcc-ia32.txt
index 3f5e15d..f881e61 100644
--- a/tests/auto/bic/data/QtXml.4.0.0.linux-gcc-ia32.txt
+++ b/tests/auto/bic/data/QtXml.4.0.0.linux-gcc-ia32.txt
@@ -59,145 +59,37 @@ Class QBool
base size=1 base align=1
QBool (0x4001ef40) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0x4001ed80) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0x40abc000) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0x40abc040) 0 empty
-Class QTypeInfo<uchar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uchar> (0x40abc080) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0x40abc0c0) 0 empty
-Class QTypeInfo<ushort>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ushort> (0x40abc100) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0x40abc140) 0 empty
-Class QTypeInfo<uint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uint> (0x40abc180) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0x40abc1c0) 0 empty
-Class QTypeInfo<ulong>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ulong> (0x40abc200) 0 empty
-Class QTypeInfo<qint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<qint64> (0x40abc240) 0 empty
-Class QTypeInfo<quint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<quint64> (0x40abc280) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0x40abc2c0) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0x40abc300) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0x40abc340) 0 empty
Class QFlag
size=4 align=4
base size=4 base align=4
QFlag (0x40abc380) 0
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0x40abc540) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0x40abc5c0) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0x40abc640) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0x40abc6c0) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0x40abc740) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0x40abc7c0) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0x40abc840) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0x40abc8c0) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0x40abc940) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0x40abc9c0) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0x40abca40) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0x40abcac0) 0
Class QInternal
size=1 align=1
@@ -215,10 +107,6 @@ Class QGenericReturnArgument
QGenericReturnArgument (0x40abcc00) 0
QGenericArgument (0x40abcc40) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0x40abce40) 0
Class QMetaObject
size=16 align=4
@@ -235,10 +123,6 @@ Class QChar
base size=2 base align=2
QChar (0x40abcf40) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0x40bd1000) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -271,10 +155,6 @@ Class QByteRef
base size=8 base align=4
QByteRef (0x40bd1700) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0x40bd1780) 0 empty
Class QString::Null
size=1 align=1
@@ -296,10 +176,6 @@ Class QLatin1String
base size=4 base align=4
QLatin1String (0x40bd19c0) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0x40bd1b00) 0
Class QCharRef
size=8 align=4
@@ -312,10 +188,6 @@ Class QConstString
QConstString (0x40bd1cc0) 0
QString (0x40bd1d00) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0x40bd1d80) 0 empty
Class QListData::Data
size=24 align=4
@@ -327,15 +199,7 @@ Class QListData
base size=4 base align=4
QListData (0x40bd1e80) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0x40e772c0) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0x40e77200) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -427,10 +291,6 @@ QIODevice (0x40e77500) 0
QObject (0x40e77540) 0
primary-for QIODevice (0x40e77500)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0x40e77680) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -455,10 +315,6 @@ Class QMapData
base size=72 base align=4
QMapData (0x40e77780) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0x40e77d40) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -483,15 +339,7 @@ Class QTextCodec
QTextCodec (0x40e77c40) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0x40e77fc0) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0x40e77f00) 0
Class QTextEncoder
size=32 align=4
@@ -503,30 +351,10 @@ Class QTextDecoder
base size=32 base align=4
QTextDecoder (0x40e773c0) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x40e77700) 0
-Class <anonymous struct>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct>::<anonymous union> (0x40e77cc0) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x40e77a80) 0
-Class <anonymous struct>
- size=12 align=4
- base size=12 base align=4
-<anonymous struct> (0x40e77d80) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0x41066000) 0
Class __gconv_trans_data
size=20 align=4
@@ -548,15 +376,7 @@ Class __gconv_info
base size=8 base align=4
__gconv_info (0x41066100) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0x41066180) 0
-Class <anonymous union>
- size=44 align=4
- base size=44 base align=4
-<anonymous union> (0x41066140) 0
Class _IO_marker
size=12 align=4
@@ -568,10 +388,6 @@ Class _IO_FILE
base size=148 base align=4
_IO_FILE (0x41066200) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0x41066240) 0
Vtable for QTextStream
QTextStream::_ZTV11QTextStream: 4u entries
@@ -586,10 +402,6 @@ Class QTextStream
QTextStream (0x41066280) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0x410663c0) 0
Class QTextStreamManipulator
size=24 align=4
@@ -680,10 +492,6 @@ QFile (0x41066b00) 0
QObject (0x41066b80) 0
primary-for QIODevice (0x41066b40)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0x41066c80) 0
Vtable for QTemporaryFile
QTemporaryFile::_ZTV14QTemporaryFile: 31u entries
@@ -736,25 +544,13 @@ Class QRegExp
base size=4 base align=4
QRegExp (0x41066e40) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0x41066ec0) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0x41066f00) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0x410665c0) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0x41066f80) 0
Class QStringList
size=4 align=4
@@ -762,15 +558,7 @@ Class QStringList
QStringList (0x41066780) 0
QList<QString> (0x41066bc0) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0x411761c0) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0x41176240) 0
Vtable for QProcess
QProcess::_ZTV8QProcess: 31u entries
@@ -864,145 +652,45 @@ Class QFileInfo
base size=4 base align=4
QFileInfo (0x411766c0) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0x41176740) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0x41176780) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0x411768c0) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0x41176800) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0x41176900) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0x411769c0) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0x41176a80) 0
Class QUrl
size=4 align=4
base size=4 base align=4
QUrl (0x41176b00) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0x41176c00) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0x41176c40) 0 empty
Class QMetaType
size=1 align=1
base size=0 base align=1
QMetaType (0x41176c80) 0 empty
-Class QMetaTypeId<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QString> (0x41176d00) 0 empty
-Class QMetaTypeId<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<int> (0x41176d40) 0 empty
-Class QMetaTypeId<uint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<uint> (0x41176d80) 0 empty
-Class QMetaTypeId<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<bool> (0x41176dc0) 0 empty
-Class QMetaTypeId<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<double> (0x41176e00) 0 empty
-Class QMetaTypeId<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QByteArray> (0x41176e40) 0 empty
-Class QMetaTypeId<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QChar> (0x41176e80) 0 empty
-Class QMetaTypeId<void>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<void> (0x41176ec0) 0 empty
-Class QMetaTypeId<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<long int> (0x41176f00) 0 empty
-Class QMetaTypeId<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<short int> (0x41176f40) 0 empty
-Class QMetaTypeId<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<char> (0x41176f80) 0 empty
-Class QMetaTypeId<ulong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<ulong> (0x41176fc0) 0 empty
-Class QMetaTypeId<ushort>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<ushort> (0x41176500) 0 empty
-Class QMetaTypeId<uchar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<uchar> (0x41176640) 0 empty
-Class QMetaTypeId<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<float> (0x412a1000) 0 empty
-Class QMetaTypeId<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QObject*> (0x412a1040) 0 empty
-Class QMetaTypeId<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QWidget*> (0x412a1080) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -1029,35 +717,15 @@ Class QVariant
base size=12 base align=4
QVariant (0x412a10c0) 0
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0x412a1680) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0x412a15c0) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0x412a1800) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0x412a1740) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0x412a1a40) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0x412a1b40) 0 empty
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1142,10 +810,6 @@ Class QFileEngineHandler
QFileEngineHandler (0x412a1e00) 0 nearly-empty
vptr=((& QFileEngineHandler::_ZTV18QFileEngineHandler) + 8u)
-Class QFlags<QFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileEngine::FileFlag> (0x412a1f00) 0
Class QHashData::Node
size=8 align=4
@@ -1162,90 +826,54 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0x412a1200) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0x412a1280) 0 empty
Class QPoint
size=8 align=4
base size=8 base align=4
QPoint (0x413ad340) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0x413ad780) 0 empty
Class QPointF
size=16 align=4
base size=16 base align=4
QPointF (0x413ad840) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0x413adc80) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0x413add80) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0x413addc0) 0 empty
Class QLineF
size=32 align=4
base size=32 base align=4
QLineF (0x413adec0) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0x413adf40) 0 empty
Class QSize
size=8 align=4
base size=8 base align=4
QSize (0x413ad380) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0x413ad880) 0 empty
Class QSizeF
size=16 align=4
base size=16 base align=4
QSizeF (0x413adb00) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0x414e2280) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0x414e2480) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0x414e2680) 0 empty
Class QRectF
size=32 align=4
base size=32 base align=4
QRectF (0x414e2780) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0x414e2900) 0 empty
Class QLinkedListData
size=20 align=4
@@ -1262,10 +890,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0x414e2f40) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0x414e2fc0) 0 empty
Class QVectorData
size=16 align=4
@@ -1287,40 +911,24 @@ Class QLocale
base size=4 base align=4
QLocale (0x416e3100) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0x416e3140) 0 empty
Class QDate
size=4 align=4
base size=4 base align=4
QDate (0x416e32c0) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0x416e3440) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0x416e3480) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0x416e3600) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0x416e3640) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0x416e3780) 0 empty
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -1480,10 +1088,6 @@ QEventLoop (0x416e3f00) 0
QObject (0x416e3f40) 0
primary-for QEventLoop (0x416e3f00)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0x416e3380) 0
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -1575,20 +1179,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0x417fa100) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0x417fa200) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0x417fa280) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0x417fa340) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -1808,10 +1404,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0x417fa900) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0x417fa9c0) 0 empty
Vtable for QSocketNotifier
QSocketNotifier::_ZTV15QSocketNotifier: 14u entries
@@ -1906,20 +1498,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0x417fad00) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0x417fad80) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0x417fadc0) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0x417fae40) 0 empty
Class QMetaProperty
size=20 align=4
@@ -1931,10 +1515,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0x417faec0) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0x417faf40) 0 empty
Vtable for QPluginLoader
QPluginLoader::_ZTV13QPluginLoader: 14u entries
@@ -2169,15 +1749,7 @@ Class QXmlAttributes::Attribute
base size=16 base align=4
QXmlAttributes::Attribute (0x418f6d80) 0
-Class QList<QXmlAttributes::Attribute>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QXmlAttributes::Attribute>::<anonymous union> (0x418f6f00) 0
-Class QList<QXmlAttributes::Attribute>
- size=4 align=4
- base size=4 base align=4
-QList<QXmlAttributes::Attribute> (0x418f6e40) 0
Vtable for QXmlAttributes
QXmlAttributes::_ZTV14QXmlAttributes: 4u entries
@@ -2507,28 +2079,8 @@ QXmlDefaultHandler (0x419d1ec4) 0
QXmlDeclHandler (0x4199ca40) 20 nearly-empty
vptr=((& QXmlDefaultHandler::_ZTV18QXmlDefaultHandler) + 268u)
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0x41a49280) 0
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0x41a49940) 0
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0x41ac9c80) 0
-Class QTypeInfo<QXmlAttributes::Attribute>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QXmlAttributes::Attribute> (0x41ac9dc0) 0 empty
-Class QList<QXmlAttributes::Attribute>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QXmlAttributes::Attribute>::Node (0x41ac9e80) 0
diff --git a/tests/auto/bic/data/QtXml.4.0.0.linux-gcc-ppc32.txt b/tests/auto/bic/data/QtXml.4.0.0.linux-gcc-ppc32.txt
index 051635f..b656a27 100644
--- a/tests/auto/bic/data/QtXml.4.0.0.linux-gcc-ppc32.txt
+++ b/tests/auto/bic/data/QtXml.4.0.0.linux-gcc-ppc32.txt
@@ -59,145 +59,37 @@ Class QBool
base size=1 base align=1
QBool (0x30acd0e0) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0x30acd380) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0x30acd428) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0x30acd4d0) 0 empty
-Class QTypeInfo<uchar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uchar> (0x30acd578) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0x30acd620) 0 empty
-Class QTypeInfo<ushort>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ushort> (0x30acd6c8) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0x30acd770) 0 empty
-Class QTypeInfo<uint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uint> (0x30acd818) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0x30acd8c0) 0 empty
-Class QTypeInfo<ulong>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ulong> (0x30acd968) 0 empty
-Class QTypeInfo<qint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<qint64> (0x30acda10) 0 empty
-Class QTypeInfo<quint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<quint64> (0x30acdab8) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0x30acdb60) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0x30acdc08) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0x30acdcb0) 0 empty
Class QFlag
size=4 align=4
base size=4 base align=4
QFlag (0x30acdd20) 0
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0x30b12230) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0x30b122a0) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0x30b12310) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0x30b12380) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0x30b123f0) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0x30b12460) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0x30b124d0) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0x30b12540) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0x30b125b0) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0x30b12620) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0x30b12690) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0x30b12700) 0
Class QInternal
size=1 align=1
@@ -215,10 +107,6 @@ Class QGenericReturnArgument
QGenericReturnArgument (0x30187980) 0
QGenericArgument (0x30b12818) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0x30b129d8) 0
Class QMetaObject
size=16 align=4
@@ -235,10 +123,6 @@ Class QChar
base size=2 base align=2
QChar (0x30b12ab8) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0x30b12b60) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -271,10 +155,6 @@ Class QByteRef
base size=8 base align=4
QByteRef (0x30c20700) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0x30c20a48) 0 empty
Class QString::Null
size=1 align=1
@@ -296,20 +176,12 @@ Class QLatin1String
base size=4 base align=4
QLatin1String (0x30c20cb0) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0x30d67000) 0
Class QCharRef
size=8 align=4
base size=8 base align=4
QCharRef (0x30d67038) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0x30d67968) 0 empty
Class QListData::Data
size=24 align=4
@@ -321,15 +193,7 @@ Class QListData
base size=4 base align=4
QListData (0x30d67b60) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0x30e98070) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0x30d67dc8) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -421,10 +285,6 @@ QIODevice (0x30187b80) 0
QObject (0x30e98508) 0
primary-for QIODevice (0x30187b80)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0x30e986c8) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -449,30 +309,10 @@ Class QMapData
base size=72 base align=4
QMapData (0x30e98af0) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x30e98310) 0
-Class <anonymous struct>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct>::<anonymous union> (0x30fa6000) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x30e98888) 0
-Class <anonymous struct>
- size=12 align=4
- base size=12 base align=4
-<anonymous struct> (0x30fa6070) 0
-Class <anonymous struct>
- size=16 align=8
- base size=16 base align=8
-<anonymous struct> (0x30fa60e0) 0
Class __gconv_trans_data
size=20 align=4
@@ -494,15 +334,7 @@ Class __gconv_info
base size=8 base align=4
__gconv_info (0x30fa6230) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0x30fa6310) 0
-Class <anonymous union>
- size=44 align=4
- base size=44 base align=4
-<anonymous union> (0x30fa62a0) 0
Class _IO_marker
size=12 align=4
@@ -514,10 +346,6 @@ Class _IO_FILE
base size=152 base align=8
_IO_FILE (0x30fa6380) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0x30fa63f0) 0
Vtable for QTextStream
QTextStream::_ZTV11QTextStream: 4u entries
@@ -532,10 +360,6 @@ Class QTextStream
QTextStream (0x30fa6428) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0x30fa65e8) 0
Class QTextStreamManipulator
size=24 align=4
@@ -596,10 +420,6 @@ QFile (0x30187d00) 0
QObject (0x30fa6b60) 0
primary-for QIODevice (0x30187d40)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0x30fa6ce8) 0
Vtable for QTemporaryFile
QTemporaryFile::_ZTV14QTemporaryFile: 31u entries
@@ -652,25 +472,13 @@ Class QRegExp
base size=4 base align=4
QRegExp (0x30fa6e38) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0x30fa6ea8) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0x30fa6f18) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0x3106c038) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0x30fa6c40) 0
Class QStringList
size=4 align=4
@@ -770,130 +578,42 @@ Class QFileInfo
base size=4 base align=4
QFileInfo (0x3106c818) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0x3106c888) 0 empty
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0x3106c930) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0x3106ca48) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0x3106cab8) 0
Class QUrl
size=4 align=4
base size=4 base align=4
QUrl (0x3106cb60) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0x3106cc78) 0 empty
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0x3106cd20) 0
Class QMetaType
size=1 align=1
base size=0 base align=1
QMetaType (0x3106cd58) 0 empty
-Class QMetaTypeId<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QString> (0x3106ce38) 0 empty
-Class QMetaTypeId<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<int> (0x3106cea8) 0 empty
-Class QMetaTypeId<uint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<uint> (0x3106cf18) 0 empty
-Class QMetaTypeId<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<bool> (0x3106cf88) 0 empty
-Class QMetaTypeId<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<double> (0x3106c690) 0 empty
-Class QMetaTypeId<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QByteArray> (0x31130000) 0 empty
-Class QMetaTypeId<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QChar> (0x31130070) 0 empty
-Class QMetaTypeId<void>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<void> (0x311300e0) 0 empty
-Class QMetaTypeId<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<long int> (0x31130150) 0 empty
-Class QMetaTypeId<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<short int> (0x311301c0) 0 empty
-Class QMetaTypeId<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<char> (0x31130230) 0 empty
-Class QMetaTypeId<ulong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<ulong> (0x311302a0) 0 empty
-Class QMetaTypeId<ushort>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<ushort> (0x31130310) 0 empty
-Class QMetaTypeId<uchar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<uchar> (0x31130380) 0 empty
-Class QMetaTypeId<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<float> (0x311303f0) 0 empty
-Class QMetaTypeId<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QObject*> (0x31130460) 0 empty
-Class QMetaTypeId<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QWidget*> (0x311304d0) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -920,35 +640,15 @@ Class QVariant
base size=16 base align=8
QVariant (0x31130508) 0
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0x31130a80) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0x311309d8) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0x31130c40) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0x31130b98) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0x31130e00) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0x31130f18) 0 empty
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1033,10 +733,6 @@ Class QFileEngineHandler
QFileEngineHandler (0x311e10e0) 0 nearly-empty
vptr=((& QFileEngineHandler::_ZTV18QFileEngineHandler) + 8u)
-Class QFlags<QFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileEngine::FileFlag> (0x311e1268) 0
Class QHashData::Node
size=8 align=4
@@ -1053,90 +749,54 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0x311e1460) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0x311e14d0) 0 empty
Class QPoint
size=8 align=4
base size=8 base align=4
QPoint (0x311e1b98) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0x311e1f88) 0 empty
Class QPointF
size=16 align=8
base size=16 base align=8
QPointF (0x311e1c40) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0x312bb118) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0x312bb2d8) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0x312bb348) 0 empty
Class QLineF
size=32 align=8
base size=32 base align=8
QLineF (0x312bb498) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0x312bb540) 0 empty
Class QSize
size=8 align=4
base size=8 base align=4
QSize (0x312bb6c8) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0x312bba48) 0 empty
Class QSizeF
size=16 align=8
base size=16 base align=8
QSizeF (0x312bbcb0) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0x312bb070) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0x312bbf88) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0x3136e1c0) 0 empty
Class QRectF
size=32 align=8
base size=32 base align=8
QRectF (0x3136e3f0) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0x3136e578) 0 empty
Class QLinkedListData
size=20 align=4
@@ -1153,10 +813,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0x3136efc0) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0x3136e498) 0 empty
Class QVectorData
size=16 align=4
@@ -1178,40 +834,24 @@ Class QLocale
base size=4 base align=4
QLocale (0x314a0540) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0x314a05b0) 0 empty
Class QDate
size=4 align=4
base size=4 base align=4
QDate (0x314a07a8) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0x314a0968) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0x314a09d8) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0x314a0b60) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0x314a0bd0) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0x314a0d20) 0 empty
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -1286,10 +926,6 @@ QTextCodecPlugin (0x311a3280) 0
QFactoryInterface (0x315e6038) 8 nearly-empty
primary-for QTextCodecFactoryInterface (0x311a32c0)
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0x315e6460) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -1409,10 +1045,6 @@ QEventLoop (0x311a33c0) 0
QObject (0x315e69a0) 0
primary-for QEventLoop (0x311a33c0)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0x315e6b28) 0
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -1489,20 +1121,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0x315e6f88) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0x3166e150) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0x3166e1f8) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0x3166e310) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -1722,10 +1346,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0x3166e9d8) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0x3166eab8) 0 empty
Vtable for QSocketNotifier
QSocketNotifier::_ZTV15QSocketNotifier: 14u entries
@@ -1820,20 +1440,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0x3166eee0) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0x3166ef88) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0x3166e268) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0x3166e700) 0 empty
Class QMetaProperty
size=20 align=4
@@ -1845,10 +1457,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0x3166ebd0) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0x3170a000) 0 empty
Vtable for QPluginLoader
QPluginLoader::_ZTV13QPluginLoader: 14u entries
@@ -2083,15 +1691,7 @@ Class QXmlAttributes::Attribute
base size=16 base align=4
QXmlAttributes::Attribute (0x3170ad20) 0
-Class QList<QXmlAttributes::Attribute>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QXmlAttributes::Attribute>::<anonymous union> (0x3170aea8) 0
-Class QList<QXmlAttributes::Attribute>
- size=4 align=4
- base size=4 base align=4
-QList<QXmlAttributes::Attribute> (0x3170ae00) 0
Vtable for QXmlAttributes
QXmlAttributes::_ZTV14QXmlAttributes: 4u entries
@@ -2421,18 +2021,6 @@ QXmlDefaultHandler (0x31827348) 0
QXmlDeclHandler (0x317eef88) 20 nearly-empty
vptr=((& QXmlDefaultHandler::_ZTV18QXmlDefaultHandler) + 268u)
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0x318e9a10) 0
-Class QTypeInfo<QXmlAttributes::Attribute>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QXmlAttributes::Attribute> (0x3190b658) 0 empty
-Class QList<QXmlAttributes::Attribute>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QXmlAttributes::Attribute>::Node (0x3190b700) 0
diff --git a/tests/auto/bic/data/QtXml.4.0.0.macx-gcc-ppc32.txt b/tests/auto/bic/data/QtXml.4.0.0.macx-gcc-ppc32.txt
index cc77fee..fae8d3c 100644
--- a/tests/auto/bic/data/QtXml.4.0.0.macx-gcc-ppc32.txt
+++ b/tests/auto/bic/data/QtXml.4.0.0.macx-gcc-ppc32.txt
@@ -59,75 +59,19 @@ Class QBool
base size=4 base align=4
QBool (0x7c43c0) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0x7c4700) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0x7c47c0) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0x7c4880) 0 empty
-Class QTypeInfo<uchar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uchar> (0x7c4940) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0x7c4a00) 0 empty
-Class QTypeInfo<ushort>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ushort> (0x7c4ac0) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0x7c4b80) 0 empty
-Class QTypeInfo<uint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uint> (0x7c4c40) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0x7c4d00) 0 empty
-Class QTypeInfo<ulong>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ulong> (0x7c4dc0) 0 empty
-Class QTypeInfo<qint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<qint64> (0x7c4e80) 0 empty
-Class QTypeInfo<quint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<quint64> (0x7c4f40) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0x7c4080) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0x809080) 0 empty
Class QFlag
size=4 align=4
@@ -144,10 +88,6 @@ Class QChar
base size=2 base align=2
QChar (0x809380) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0x809480) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -160,10 +100,6 @@ Class QAtomic
QAtomic (0x809840) 0
QBasicAtomic (0x809880) 0
-Class <anonymous union>
- size=128 align=8
- base size=128 base align=8
-<anonymous union> (0x809b00) 0
Class __darwin_pthread_handler_rec
size=12 align=4
@@ -245,70 +181,18 @@ Class QByteRef
base size=8 base align=4
QByteRef (0xed4780) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0xed4b40) 0 empty
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0xff6000) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0xff6080) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0xff6100) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0xff6180) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0xff6200) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0xff6280) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0xff6300) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0xff6380) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0xff6400) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0xff6480) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0xff6500) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0xff6580) 0
Class QInternal
size=1 align=1
@@ -335,10 +219,6 @@ Class QLatin1String
base size=4 base align=4
QLatin1String (0xff6cc0) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0x1188100) 0
Class QCharRef
size=8 align=4
@@ -351,10 +231,6 @@ Class QConstString
QConstString (0x1188d00) 0
QString (0x1188d40) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0x1188e40) 0 empty
Class QListData::Data
size=24 align=4
@@ -366,10 +242,6 @@ Class QListData
base size=4 base align=4
QListData (0x12bd080) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0x12bd680) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -394,15 +266,7 @@ Class QTextCodec
QTextCodec (0x12bd500) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0x12bd9c0) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0x12bd900) 0
Class QTextEncoder
size=32 align=4
@@ -425,25 +289,13 @@ Class QGenericReturnArgument
QGenericReturnArgument (0x12bdc00) 0
QGenericArgument (0x12bdc40) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0x12bdf00) 0
Class QMetaObject
size=16 align=4
base size=16 base align=4
QMetaObject (0x12bde80) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0x14060c0) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0x1406000) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -535,10 +387,6 @@ QIODevice (0x1406700) 0
QObject (0x1406740) 0
primary-for QIODevice (0x1406700)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0x1406980) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -558,25 +406,13 @@ Class QRegExp
base size=4 base align=4
QRegExp (0x14063c0) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0x1509140) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0x15091c0) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0x15093c0) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0x1509300) 0
Class QStringList
size=4 align=4
@@ -584,15 +420,7 @@ Class QStringList
QStringList (0x1509480) 0
QList<QString> (0x15094c0) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0x1509980) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0x1509a00) 0
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -748,10 +576,6 @@ Class QTextStream
QTextStream (0x1686240) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0x1686500) 0
Class QTextStreamManipulator
size=24 align=4
@@ -842,50 +666,22 @@ QFile (0x17170c0) 0
QObject (0x1717140) 0
primary-for QIODevice (0x1717100)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0x1717300) 0
Class QFileInfo
size=4 align=4
base size=4 base align=4
QFileInfo (0x1717340) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0x1717400) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0x1717480) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0x1717640) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0x1717580) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0x1717700) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0x1717840) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0x1717900) 0
Vtable for QFileEngine
QFileEngine::_ZTV11QFileEngine: 35u entries
@@ -945,10 +741,6 @@ Class QFileEngineHandler
QFileEngineHandler (0x1717b40) 0 nearly-empty
vptr=((& QFileEngineHandler::_ZTV18QFileEngineHandler) + 8u)
-Class QFlags<QFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileEngine::FileFlag> (0x1717d00) 0
Vtable for QProcess
QProcess::_ZTV8QProcess: 31u entries
@@ -999,90 +791,22 @@ Class QMetaType
base size=0 base align=1
QMetaType (0x1717f00) 0 empty
-Class QMetaTypeId<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QString> (0x1717240) 0 empty
-Class QMetaTypeId<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<int> (0x1717c40) 0 empty
-Class QMetaTypeId<uint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<uint> (0x187c000) 0 empty
-Class QMetaTypeId<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<bool> (0x187c080) 0 empty
-Class QMetaTypeId<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<double> (0x187c100) 0 empty
-Class QMetaTypeId<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QByteArray> (0x187c180) 0 empty
-Class QMetaTypeId<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QChar> (0x187c200) 0 empty
-Class QMetaTypeId<void>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<void> (0x187c280) 0 empty
-Class QMetaTypeId<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<long int> (0x187c300) 0 empty
-Class QMetaTypeId<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<short int> (0x187c380) 0 empty
-Class QMetaTypeId<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<char> (0x187c400) 0 empty
-Class QMetaTypeId<ulong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<ulong> (0x187c480) 0 empty
-Class QMetaTypeId<ushort>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<ushort> (0x187c500) 0 empty
-Class QMetaTypeId<uchar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<uchar> (0x187c580) 0 empty
-Class QMetaTypeId<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<float> (0x187c600) 0 empty
-Class QMetaTypeId<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QObject*> (0x187c680) 0 empty
-Class QMetaTypeId<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QWidget*> (0x187c700) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -1109,50 +833,18 @@ Class QVariant
base size=16 base align=4
QVariant (0x187c740) 0
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0x187cdc0) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0x187cd00) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0x187cfc0) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0x187cf00) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0x192d0c0) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0x192d200) 0 empty
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0x192d2c0) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x192d340) 0
-Class <anonymous struct>
- size=3156 align=4
- base size=3156 base align=4
-<anonymous struct> (0x192d3c0) 0
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1230,15 +922,7 @@ Class QUrl
base size=4 base align=4
QUrl (0x192dc80) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0x192de80) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0x192df00) 0 empty
Vtable for QEventLoop
QEventLoop::_ZTV10QEventLoop: 14u entries
@@ -1265,10 +949,6 @@ QEventLoop (0x192df80) 0
QObject (0x192dfc0) 0
primary-for QEventLoop (0x192df80)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0x1a23100) 0
Vtable for QAbstractEventDispatcher
QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 27u entries
@@ -1313,20 +993,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0x1a23340) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0x1a23500) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0x1a235c0) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0x1a23700) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -1496,10 +1168,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0x1a23dc0) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0x1a23ec0) 0 empty
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -1591,20 +1259,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0x1ae7840) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0x1ae7900) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0x1ae7980) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0x1ae7a40) 0 empty
Class QMetaProperty
size=20 align=4
@@ -1616,10 +1276,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0x1ae7b00) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0x1ae7bc0) 0 empty
Vtable for QMimeData
QMimeData::_ZTV9QMimeData: 17u entries
@@ -1907,10 +1563,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0x1c363c0) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0x1c36500) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -1932,80 +1584,48 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0x1c36740) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0x1c367c0) 0 empty
Class QDate
size=4 align=4
base size=4 base align=4
QDate (0x1c36fc0) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0x1d5a140) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0x1d5a1c0) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0x1d5a380) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0x1d5a400) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0x1d5a580) 0 empty
Class QPoint
size=8 align=4
base size=8 base align=4
QPoint (0x1d5a600) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0x1d5aa80) 0 empty
Class QPointF
size=16 align=8
base size=16 base align=4
QPointF (0x1d5ac40) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0x1d5a280) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0x1d5a8c0) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0x1d5a9c0) 0 empty
Class QLineF
size=32 align=8
base size=32 base align=4
QLineF (0x1d5af00) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0x1e22040) 0 empty
Class QLinkedListData
size=20 align=4
@@ -2017,50 +1637,30 @@ Class QLocale
base size=4 base align=4
QLocale (0x1e22600) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0x1e22680) 0 empty
Class QSize
size=8 align=4
base size=8 base align=4
QSize (0x1e227c0) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0x1e22bc0) 0 empty
Class QSizeF
size=16 align=8
base size=16 base align=4
QSizeF (0x1e22e80) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0x1e22a80) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0x1f4f240) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0x1f4f400) 0 empty
Class QRectF
size=32 align=8
base size=32 base align=4
QRectF (0x1f4f680) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0x1f4f840) 0 empty
Class QSharedData
size=4 align=4
@@ -2184,15 +1784,7 @@ Class QXmlAttributes::Attribute
base size=16 base align=4
QXmlAttributes::Attribute (0x2148a80) 0
-Class QList<QXmlAttributes::Attribute>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QXmlAttributes::Attribute>::<anonymous union> (0x2148c40) 0
-Class QList<QXmlAttributes::Attribute>
- size=4 align=4
- base size=4 base align=4
-QList<QXmlAttributes::Attribute> (0x2148b80) 0
Vtable for QXmlAttributes
QXmlAttributes::_ZTV14QXmlAttributes: 4u entries
@@ -2522,28 +2114,8 @@ QXmlDefaultHandler (0x2273900) 0
QXmlDeclHandler (0x223d280) 20 nearly-empty
vptr=((& QXmlDefaultHandler::_ZTV18QXmlDefaultHandler) + 268u)
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0x22f9e40) 0
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0x2319cc0) 0
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0x23f8100) 0
-Class QTypeInfo<QXmlAttributes::Attribute>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QXmlAttributes::Attribute> (0x23f8380) 0 empty
-Class QList<QXmlAttributes::Attribute>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QXmlAttributes::Attribute>::Node (0x23f8440) 0
diff --git a/tests/auto/bic/data/QtXml.4.1.0.linux-gcc-ia32.txt b/tests/auto/bic/data/QtXml.4.1.0.linux-gcc-ia32.txt
index c759b33..eee8187 100644
--- a/tests/auto/bic/data/QtXml.4.1.0.linux-gcc-ia32.txt
+++ b/tests/auto/bic/data/QtXml.4.1.0.linux-gcc-ia32.txt
@@ -18,145 +18,37 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0x4001ee80) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0x4001ef40) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0x4001ef80) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0x4001efc0) 0 empty
-Class QTypeInfo<uchar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uchar> (0x40ac6000) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0x40ac6040) 0 empty
-Class QTypeInfo<ushort>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ushort> (0x40ac6080) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0x40ac60c0) 0 empty
-Class QTypeInfo<uint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uint> (0x40ac6100) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0x40ac6140) 0 empty
-Class QTypeInfo<ulong>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ulong> (0x40ac6180) 0 empty
-Class QTypeInfo<qint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<qint64> (0x40ac61c0) 0 empty
-Class QTypeInfo<quint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<quint64> (0x40ac6200) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0x40ac6240) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0x40ac6280) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0x40ac62c0) 0 empty
Class QFlag
size=4 align=4
base size=4 base align=4
QFlag (0x40ac6300) 0
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0x40ac64c0) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0x40ac6540) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0x40ac65c0) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0x40ac6640) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0x40ac66c0) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0x40ac6740) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0x40ac67c0) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0x40ac6840) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0x40ac68c0) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0x40ac6940) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0x40ac69c0) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0x40ac6a40) 0
Class QInternal
size=1 align=1
@@ -174,10 +66,6 @@ Class QGenericReturnArgument
QGenericReturnArgument (0x40ac6b80) 0
QGenericArgument (0x40ac6bc0) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0x40ac6dc0) 0
Class QMetaObject
size=16 align=4
@@ -194,10 +82,6 @@ Class QChar
base size=2 base align=2
QChar (0x40ac6ec0) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0x40ac6f80) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -230,10 +114,6 @@ Class QByteRef
base size=8 base align=4
QByteRef (0x40bde680) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0x40bde700) 0 empty
Class QString::Null
size=1 align=1
@@ -255,10 +135,6 @@ Class QLatin1String
base size=4 base align=4
QLatin1String (0x40bde940) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0x40bdea80) 0
Class QCharRef
size=8 align=4
@@ -271,10 +147,6 @@ Class QConstString
QConstString (0x40bdec40) 0
QString (0x40bdec80) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0x40bded00) 0 empty
Vtable for std::exception
std::exception::_ZTVSt9exception: 5u entries
@@ -337,15 +209,7 @@ Class QListData
base size=4 base align=4
QListData (0x40e6d180) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0x40e6d5c0) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0x40e6d500) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -437,10 +301,6 @@ QIODevice (0x40e6d800) 0
QObject (0x40e6d840) 0
primary-for QIODevice (0x40e6d800)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0x40e6d980) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -470,10 +330,6 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0x40e6db40) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0x40e6db80) 0 empty
Class QMapData::Node
size=8 align=4
@@ -485,10 +341,6 @@ Class QMapData
base size=72 base align=4
QMapData (0x41030100) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0x41030700) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -513,15 +365,7 @@ Class QTextCodec
QTextCodec (0x41030600) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0x41030980) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0x410308c0) 0
Class QTextEncoder
size=32 align=4
@@ -533,30 +377,10 @@ Class QTextDecoder
base size=32 base align=4
QTextDecoder (0x41030a40) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x41030ac0) 0
-Class <anonymous struct>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct>::<anonymous union> (0x41030b40) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x41030b00) 0
-Class <anonymous struct>
- size=12 align=4
- base size=12 base align=4
-<anonymous struct> (0x41030b80) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0x41030bc0) 0
Class __gconv_trans_data
size=20 align=4
@@ -578,15 +402,7 @@ Class __gconv_info
base size=8 base align=4
__gconv_info (0x41030cc0) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0x41030d40) 0
-Class <anonymous union>
- size=44 align=4
- base size=44 base align=4
-<anonymous union> (0x41030d00) 0
Class _IO_marker
size=12 align=4
@@ -598,10 +414,6 @@ Class _IO_FILE
base size=148 base align=4
_IO_FILE (0x41030dc0) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0x41030e00) 0
Vtable for QTextStream
QTextStream::_ZTV11QTextStream: 4u entries
@@ -616,10 +428,6 @@ Class QTextStream
QTextStream (0x41030e40) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0x41030f80) 0
Class QTextStreamManipulator
size=24 align=4
@@ -656,40 +464,16 @@ QTextOStream (0x4118a1c0) 0
QTextStream (0x4118a200) 0
primary-for QTextOStream (0x4118a1c0)
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0x4118a3c0) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0x4118a400) 0
Class wait
size=4 align=4
base size=4 base align=4
wait (0x4118a380) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x4118a440) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x4118a480) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0x4118a4c0) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0x4118a500) 0
Class timespec
size=8 align=4
@@ -701,10 +485,6 @@ Class timeval
base size=8 base align=4
timeval (0x4118a580) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0x4118a5c0) 0
Class __sched_param
size=4 align=4
@@ -721,45 +501,17 @@ Class __pthread_attr_s
base size=36 base align=4
__pthread_attr_s (0x4118a680) 0
-Class <anonymous struct>
- size=48 align=4
- base size=48 base align=4
-<anonymous struct> (0x4118a6c0) 0
-Class <anonymous struct>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct> (0x4118a700) 0
-Class <anonymous struct>
- size=24 align=4
- base size=24 base align=4
-<anonymous struct> (0x4118a740) 0
-Class <anonymous struct>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct> (0x4118a780) 0
Class _pthread_rwlock_t
size=32 align=4
base size=32 base align=4
_pthread_rwlock_t (0x4118a7c0) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x4118a800) 0
-Class <anonymous struct>
- size=20 align=4
- base size=20 base align=4
-<anonymous struct> (0x4118a840) 0
-Class <anonymous struct>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct> (0x4118a880) 0
Class random_data
size=28 align=4
@@ -830,10 +582,6 @@ QFile (0x4118adc0) 0
QObject (0x4118ae40) 0
primary-for QIODevice (0x4118ae00)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0x4118af40) 0
Vtable for QTemporaryFile
QTemporaryFile::_ZTV14QTemporaryFile: 31u entries
@@ -886,50 +634,22 @@ Class QFileInfo
base size=4 base align=4
QFileInfo (0x4118ae80) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0x412c9040) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0x412c9080) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0x412c91c0) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0x412c9100) 0
Class QRegExp
size=4 align=4
base size=4 base align=4
QRegExp (0x412c9200) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0x412c9280) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0x412c92c0) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0x412c9400) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0x412c9340) 0
Class QStringList
size=4 align=4
@@ -937,30 +657,14 @@ Class QStringList
QStringList (0x412c9440) 0
QList<QString> (0x412c9480) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0x412c96c0) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0x412c9740) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0x412c9940) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0x412c9a00) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0x412c9a80) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -1017,10 +721,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0x412c9ac0) 0
vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0x412c9c80) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -1175,110 +875,30 @@ Class QUrl
base size=4 base align=4
QUrl (0x413da000) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0x413da0c0) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0x413da100) 0 empty
Class QMetaType
size=1 align=1
base size=0 base align=1
QMetaType (0x413da140) 0 empty
-Class QMetaTypeId<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QString> (0x413da1c0) 0 empty
-Class QMetaTypeId<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<int> (0x413da200) 0 empty
-Class QMetaTypeId<uint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<uint> (0x413da240) 0 empty
-Class QMetaTypeId<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<bool> (0x413da280) 0 empty
-Class QMetaTypeId<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<double> (0x413da2c0) 0 empty
-Class QMetaTypeId<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QByteArray> (0x413da300) 0 empty
-Class QMetaTypeId<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QChar> (0x413da340) 0 empty
-Class QMetaTypeId<void>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<void> (0x413da380) 0 empty
-Class QMetaTypeId<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<long int> (0x413da3c0) 0 empty
-Class QMetaTypeId<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<short int> (0x413da400) 0 empty
-Class QMetaTypeId<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<char> (0x413da440) 0 empty
-Class QMetaTypeId<ulong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<ulong> (0x413da480) 0 empty
-Class QMetaTypeId<ushort>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<ushort> (0x413da4c0) 0 empty
-Class QMetaTypeId<uchar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<uchar> (0x413da500) 0 empty
-Class QMetaTypeId<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<float> (0x413da540) 0 empty
-Class QMetaTypeId<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QObject*> (0x413da580) 0 empty
-Class QMetaTypeId<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QWidget*> (0x413da5c0) 0 empty
-Class QMetaTypeId<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<void*> (0x413da600) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -1305,35 +925,15 @@ Class QVariant
base size=12 base align=4
QVariant (0x413da640) 0
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0x413dac00) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0x413dab40) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0x413dad80) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0x413dacc0) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0x413dafc0) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0x413da900) 0 empty
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1365,80 +965,48 @@ Class QPoint
base size=8 base align=4
QPoint (0x414e3180) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0x414e35c0) 0 empty
Class QPointF
size=16 align=4
base size=16 base align=4
QPointF (0x414e3680) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0x414e3ac0) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0x414e3bc0) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0x414e3c00) 0 empty
Class QLineF
size=32 align=4
base size=32 base align=4
QLineF (0x414e3d00) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0x414e3d80) 0 empty
Class QSize
size=8 align=4
base size=8 base align=4
QSize (0x414e3e80) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0x414e3340) 0 empty
Class QSizeF
size=16 align=4
base size=16 base align=4
QSizeF (0x414e36c0) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0x414e3ec0) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0x415cf140) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0x415cf340) 0 empty
Class QRectF
size=32 align=4
base size=32 base align=4
QRectF (0x415cf440) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0x415cf5c0) 0 empty
Class QLinkedListData
size=20 align=4
@@ -1455,10 +1023,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0x415cfc00) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0x415cfc80) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -1475,40 +1039,24 @@ Class QLocale
base size=4 base align=4
QLocale (0x415cfec0) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0x415cff00) 0 empty
Class QDate
size=4 align=4
base size=4 base align=4
QDate (0x415cf280) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0x417e1000) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0x417e1040) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0x417e11c0) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0x417e1200) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0x417e1340) 0 empty
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -1668,10 +1216,6 @@ QEventLoop (0x417e1ac0) 0
QObject (0x417e1b00) 0
primary-for QEventLoop (0x417e1ac0)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0x417e1c40) 0
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -1763,20 +1307,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0x417e1740) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0x417e1b80) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0x417e1cc0) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0x417e1ec0) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -1996,10 +1532,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0x418d8580) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0x418d8640) 0 empty
Vtable for QSocketNotifier
QSocketNotifier::_ZTV15QSocketNotifier: 14u entries
@@ -2094,20 +1626,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0x418d8980) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0x418d8a00) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0x418d8a40) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0x418d8ac0) 0 empty
Class QMetaProperty
size=20 align=4
@@ -2119,10 +1643,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0x418d8b40) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0x418d8bc0) 0 empty
Vtable for QPluginLoader
QPluginLoader::_ZTV13QPluginLoader: 14u entries
@@ -2357,15 +1877,7 @@ Class QXmlAttributes::Attribute
base size=16 base align=4
QXmlAttributes::Attribute (0x419c1a40) 0
-Class QList<QXmlAttributes::Attribute>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QXmlAttributes::Attribute>::<anonymous union> (0x419c1bc0) 0
-Class QList<QXmlAttributes::Attribute>
- size=4 align=4
- base size=4 base align=4
-QList<QXmlAttributes::Attribute> (0x419c1b00) 0
Vtable for QXmlAttributes
QXmlAttributes::_ZTV14QXmlAttributes: 4u entries
@@ -2695,33 +2207,9 @@ QXmlDefaultHandler (0x41a81288) 0
QXmlDeclHandler (0x41a67640) 20 nearly-empty
vptr=((& QXmlDefaultHandler::_ZTV18QXmlDefaultHandler) + 268u)
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0x41aff100) 0
-Class QTypeInfo<QDebug::Stream*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDebug::Stream*> (0x41aff480) 0 empty
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0x41affb40) 0
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0x41b7cbc0) 0
-Class QTypeInfo<QXmlAttributes::Attribute>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QXmlAttributes::Attribute> (0x41b7cd00) 0 empty
-Class QList<QXmlAttributes::Attribute>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QXmlAttributes::Attribute>::Node (0x41b7cdc0) 0
diff --git a/tests/auto/bic/data/QtXml.4.1.0.linux-gcc-ppc32.txt b/tests/auto/bic/data/QtXml.4.1.0.linux-gcc-ppc32.txt
index b9691df..2da296a 100644
--- a/tests/auto/bic/data/QtXml.4.1.0.linux-gcc-ppc32.txt
+++ b/tests/auto/bic/data/QtXml.4.1.0.linux-gcc-ppc32.txt
@@ -18,145 +18,37 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0x306d3188) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0x306d3380) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0x306d3428) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0x306d34d0) 0 empty
-Class QTypeInfo<uchar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uchar> (0x306d3578) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0x306d3620) 0 empty
-Class QTypeInfo<ushort>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ushort> (0x306d36c8) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0x306d3770) 0 empty
-Class QTypeInfo<uint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uint> (0x306d3818) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0x306d38c0) 0 empty
-Class QTypeInfo<ulong>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ulong> (0x306d3968) 0 empty
-Class QTypeInfo<qint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<qint64> (0x306d3a10) 0 empty
-Class QTypeInfo<quint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<quint64> (0x306d3ab8) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0x306d3b60) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0x306d3c08) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0x306d3cb0) 0 empty
Class QFlag
size=4 align=4
base size=4 base align=4
QFlag (0x306d3d20) 0
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0x3071c230) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0x3071c2a0) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0x3071c310) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0x3071c380) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0x3071c3f0) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0x3071c460) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0x3071c4d0) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0x3071c540) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0x3071c5b0) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0x3071c620) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0x3071c690) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0x3071c700) 0
Class QInternal
size=1 align=1
@@ -174,10 +66,6 @@ Class QGenericReturnArgument
QGenericReturnArgument (0x30187ac0) 0
QGenericArgument (0x3071c818) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0x3071c9d8) 0
Class QMetaObject
size=16 align=4
@@ -194,10 +82,6 @@ Class QChar
base size=2 base align=2
QChar (0x3071cab8) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0x3071cb60) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -230,10 +114,6 @@ Class QByteRef
base size=8 base align=4
QByteRef (0x30c41850) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0x30c41b98) 0 empty
Class QString::Null
size=1 align=1
@@ -255,10 +135,6 @@ Class QLatin1String
base size=4 base align=4
QLatin1String (0x30d89150) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0x30d89498) 0
Class QCharRef
size=8 align=4
@@ -271,10 +147,6 @@ Class QConstString
QConstString (0x30187d00) 0
QString (0x30d89f18) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0x30e71000) 0 empty
Vtable for std::exception
std::exception::_ZTVSt9exception: 5u entries
@@ -337,15 +209,7 @@ Class QListData
base size=4 base align=4
QListData (0x30e71738) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0x30e71c78) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0x30e71bd0) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -437,10 +301,6 @@ QIODevice (0x30187dc0) 0
QObject (0x30f7f000) 0
primary-for QIODevice (0x30187dc0)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0x30f7f1f8) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -470,10 +330,6 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0x30f7f930) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0x30f7f9a0) 0 empty
Class QMapData::Node
size=8 align=4
@@ -485,10 +341,6 @@ Class QMapData
base size=72 base align=4
QMapData (0x310610e0) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0x310617a8) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -513,15 +365,7 @@ Class QTextCodec
QTextCodec (0x31061658) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0x31061a80) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0x310619d8) 0
Class QTextEncoder
size=32 align=4
@@ -533,30 +377,10 @@ Class QTextDecoder
base size=32 base align=4
QTextDecoder (0x31061b98) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x31061c40) 0
-Class <anonymous struct>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct>::<anonymous union> (0x31061d20) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x31061cb0) 0
-Class <anonymous struct>
- size=12 align=4
- base size=12 base align=4
-<anonymous struct> (0x31061d90) 0
-Class <anonymous struct>
- size=16 align=8
- base size=16 base align=8
-<anonymous struct> (0x31061e00) 0
Class __gconv_trans_data
size=20 align=4
@@ -578,15 +402,7 @@ Class __gconv_info
base size=8 base align=4
__gconv_info (0x31061f50) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0x31061738) 0
-Class <anonymous union>
- size=44 align=4
- base size=44 base align=4
-<anonymous union> (0x31061fc0) 0
Class _IO_marker
size=12 align=4
@@ -598,10 +414,6 @@ Class _IO_FILE
base size=152 base align=8
_IO_FILE (0x31163000) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0x31163070) 0
Vtable for QTextStream
QTextStream::_ZTV11QTextStream: 4u entries
@@ -616,10 +428,6 @@ Class QTextStream
QTextStream (0x311630a8) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0x311632d8) 0
Class QTextStreamManipulator
size=24 align=4
@@ -656,40 +464,16 @@ QTextOStream (0x30187fc0) 0
QTextStream (0x31163850) 0
primary-for QTextOStream (0x30187fc0)
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0x31163b28) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0x31163b98) 0
Class wait
size=4 align=4
base size=4 base align=4
wait (0x31163ab8) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x31163c08) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x31163c78) 0
-Class <anonymous struct>
- size=16 align=8
- base size=16 base align=8
-<anonymous struct> (0x31163ce8) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0x31163d58) 0
Class timespec
size=8 align=4
@@ -701,70 +485,18 @@ Class timeval
base size=8 base align=4
timeval (0x31163dc8) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0x31163e38) 0
-Class <anonymous union>
- size=36 align=4
- base size=36 base align=4
-<anonymous union> (0x31163ea8) 0
-Class <anonymous union>::<anonymous struct>
- size=24 align=4
- base size=24 base align=4
-<anonymous union>::<anonymous struct> (0x31163f88) 0
-Class <anonymous union>
- size=24 align=4
- base size=24 base align=4
-<anonymous union> (0x31163f18) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0x31163230) 0
-Class <anonymous union>::<anonymous struct>
- size=48 align=8
- base size=48 base align=8
-<anonymous union>::<anonymous struct> (0x311ec038) 0
-Class <anonymous union>
- size=48 align=8
- base size=48 base align=8
-<anonymous union> (0x311638f8) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0x311ec0a8) 0
-Class <anonymous union>::<anonymous struct>
- size=32 align=4
- base size=32 base align=4
-<anonymous union>::<anonymous struct> (0x311ec188) 0
-Class <anonymous union>
- size=32 align=4
- base size=32 base align=4
-<anonymous union> (0x311ec118) 0
-Class <anonymous union>
- size=8 align=4
- base size=8 base align=4
-<anonymous union> (0x311ec1f8) 0
-Class <anonymous union>
- size=20 align=4
- base size=20 base align=4
-<anonymous union> (0x311ec268) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0x311ec2d8) 0
Class random_data
size=28 align=4
@@ -835,10 +567,6 @@ QFile (0x312b3000) 0
QObject (0x311ec8f8) 0
primary-for QIODevice (0x312b3040)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0x311eca80) 0
Vtable for QTemporaryFile
QTemporaryFile::_ZTV14QTemporaryFile: 31u entries
@@ -891,50 +619,22 @@ Class QFileInfo
base size=4 base align=4
QFileInfo (0x311ecbd0) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0x311ecc78) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0x311ecce8) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0x311ece70) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0x311ecdc8) 0
Class QRegExp
size=4 align=4
base size=4 base align=4
QRegExp (0x311ecf18) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0x31337038) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0x313370a8) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0x31337268) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0x313371c0) 0
Class QStringList
size=4 align=4
@@ -942,30 +642,14 @@ Class QStringList
QStringList (0x312b3140) 0
QList<QString> (0x31337310) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0x31337738) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0x313377a8) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0x31337ab8) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0x31337bd0) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0x31337c40) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -1022,10 +706,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0x31337c78) 0
vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0x31337ea8) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -1180,110 +860,30 @@ Class QUrl
base size=4 base align=4
QUrl (0x313f7310) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0x313f7498) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0x313f7508) 0 empty
Class QMetaType
size=1 align=1
base size=0 base align=1
QMetaType (0x313f7578) 0 empty
-Class QMetaTypeId<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QString> (0x313f7690) 0 empty
-Class QMetaTypeId<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<int> (0x313f7738) 0 empty
-Class QMetaTypeId<uint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<uint> (0x313f77e0) 0 empty
-Class QMetaTypeId<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<bool> (0x313f7888) 0 empty
-Class QMetaTypeId<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<double> (0x313f7930) 0 empty
-Class QMetaTypeId<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QByteArray> (0x313f79d8) 0 empty
-Class QMetaTypeId<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QChar> (0x313f7a80) 0 empty
-Class QMetaTypeId<void>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<void> (0x313f7b28) 0 empty
-Class QMetaTypeId<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<long int> (0x313f7bd0) 0 empty
-Class QMetaTypeId<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<short int> (0x313f7c78) 0 empty
-Class QMetaTypeId<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<char> (0x313f7d20) 0 empty
-Class QMetaTypeId<ulong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<ulong> (0x313f7dc8) 0 empty
-Class QMetaTypeId<ushort>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<ushort> (0x313f7e70) 0 empty
-Class QMetaTypeId<uchar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<uchar> (0x313f7f18) 0 empty
-Class QMetaTypeId<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<float> (0x313f7fc0) 0 empty
-Class QMetaTypeId<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QObject*> (0x313f72a0) 0 empty
-Class QMetaTypeId<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QWidget*> (0x31471070) 0 empty
-Class QMetaTypeId<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<void*> (0x31471118) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -1310,35 +910,15 @@ Class QVariant
base size=16 base align=8
QVariant (0x31471188) 0
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0x31471738) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0x31471690) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0x314718f8) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0x31471850) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0x31471ab8) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0x31471bd0) 0 empty
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1370,80 +950,48 @@ Class QPoint
base size=8 base align=4
QPoint (0x31471d20) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0x31562348) 0 empty
Class QPointF
size=16 align=8
base size=16 base align=8
QPointF (0x31562540) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0x31562930) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0x31562b60) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0x31562bd0) 0 empty
Class QLineF
size=32 align=8
base size=32 base align=8
QLineF (0x31562d20) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0x31562dc8) 0 empty
Class QSize
size=8 align=4
base size=8 base align=4
QSize (0x31562f50) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0x31562578) 0 empty
Class QSizeF
size=16 align=8
base size=16 base align=8
QSizeF (0x315fe0e0) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0x315fe460) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0x315fe7e0) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0x315fe9d8) 0 empty
Class QRectF
size=32 align=8
base size=32 base align=8
QRectF (0x315fec08) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0x315fed90) 0 empty
Class QLinkedListData
size=20 align=4
@@ -1460,10 +1008,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0x3173b508) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0x3173b620) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -1480,40 +1024,24 @@ Class QLocale
base size=4 base align=4
QLocale (0x3173b930) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0x3173b9a0) 0 empty
Class QDate
size=4 align=4
base size=4 base align=4
QDate (0x3173bb98) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0x3173bd58) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0x3173bdc8) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0x3173bfc0) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0x3173bc40) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0x3184d038) 0 empty
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -1673,10 +1201,6 @@ QEventLoop (0x312b3680) 0
QObject (0x3184db98) 0
primary-for QEventLoop (0x312b3680)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0x3184dd20) 0
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -1768,20 +1292,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0x318f93f0) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0x318f9578) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0x318f95e8) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0x318f9700) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -2001,10 +1517,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0x318f9e00) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0x318f9ee0) 0 empty
Vtable for QSocketNotifier
QSocketNotifier::_ZTV15QSocketNotifier: 14u entries
@@ -2099,20 +1611,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0x319a10a8) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0x319a1150) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0x319a11c0) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0x319a1268) 0 empty
Class QMetaProperty
size=20 align=4
@@ -2124,10 +1628,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0x319a1310) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0x319a13b8) 0 empty
Vtable for QPluginLoader
QPluginLoader::_ZTV13QPluginLoader: 14u entries
@@ -2362,15 +1862,7 @@ Class QXmlAttributes::Attribute
base size=16 base align=4
QXmlAttributes::Attribute (0x31a750a8) 0
-Class QList<QXmlAttributes::Attribute>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QXmlAttributes::Attribute>::<anonymous union> (0x31a75230) 0
-Class QList<QXmlAttributes::Attribute>
- size=4 align=4
- base size=4 base align=4
-QList<QXmlAttributes::Attribute> (0x31a75188) 0
Vtable for QXmlAttributes
QXmlAttributes::_ZTV14QXmlAttributes: 4u entries
@@ -2700,33 +2192,9 @@ QXmlDefaultHandler (0x31ad84b0) 0
QXmlDeclHandler (0x31ad51c0) 20 nearly-empty
vptr=((& QXmlDefaultHandler::_ZTV18QXmlDefaultHandler) + 268u)
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0x31b580a8) 0
-Class QTypeInfo<QDebug::Stream*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDebug::Stream*> (0x31b587e0) 0 empty
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0x31b715e8) 0
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0x31bfa310) 0
-Class QTypeInfo<QXmlAttributes::Attribute>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QXmlAttributes::Attribute> (0x31bfa540) 0 empty
-Class QList<QXmlAttributes::Attribute>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QXmlAttributes::Attribute>::Node (0x31bfa5e8) 0
diff --git a/tests/auto/bic/data/QtXml.4.1.0.macx-gcc-ia32.txt b/tests/auto/bic/data/QtXml.4.1.0.macx-gcc-ia32.txt
index 71f1d15..917cda7 100644
--- a/tests/auto/bic/data/QtXml.4.1.0.macx-gcc-ia32.txt
+++ b/tests/auto/bic/data/QtXml.4.1.0.macx-gcc-ia32.txt
@@ -18,75 +18,19 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0x62e640) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0x62e880) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0x62e940) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0x62ea00) 0 empty
-Class QTypeInfo<uchar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uchar> (0x62eac0) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0x62eb80) 0 empty
-Class QTypeInfo<ushort>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ushort> (0x62ec40) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0x62ed00) 0 empty
-Class QTypeInfo<uint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uint> (0x62edc0) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0x62ee80) 0 empty
-Class QTypeInfo<ulong>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ulong> (0x62ef40) 0 empty
-Class QTypeInfo<qint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<qint64> (0x665000) 0 empty
-Class QTypeInfo<quint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<quint64> (0x6650c0) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0x665180) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0x665240) 0 empty
Class QFlag
size=4 align=4
@@ -103,10 +47,6 @@ Class QChar
base size=2 base align=2
QChar (0x665540) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0x665640) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -119,10 +59,6 @@ Class QAtomic
QAtomic (0x665d40) 0
QBasicAtomic (0x665d80) 0
-Class <anonymous union>
- size=128 align=4
- base size=128 base align=4
-<anonymous union> (0xe07000) 0
Class __darwin_pthread_handler_rec
size=12 align=4
@@ -204,70 +140,18 @@ Class QByteRef
base size=8 base align=4
QByteRef (0xe07cc0) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0xeaf080) 0 empty
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0xeaf540) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0xeaf5c0) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0xeaf640) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0xeaf6c0) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0xeaf740) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0xeaf7c0) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0xeaf840) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0xeaf8c0) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0xeaf940) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0xeaf9c0) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0xeafa40) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0xeafac0) 0
Class QInternal
size=1 align=1
@@ -294,10 +178,6 @@ Class QLatin1String
base size=4 base align=4
QLatin1String (0x1056200) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0x1056640) 0
Class QCharRef
size=8 align=4
@@ -310,10 +190,6 @@ Class QConstString
QConstString (0x1172240) 0
QString (0x1172280) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0x1172380) 0 empty
Vtable for std::exception
std::exception::_ZTVSt9exception: 5u entries
@@ -376,10 +252,6 @@ Class QListData
base size=4 base align=4
QListData (0x1172c40) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0x126e180) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -404,15 +276,7 @@ Class QTextCodec
QTextCodec (0x126e000) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0x126e4c0) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0x126e400) 0
Class QTextEncoder
size=32 align=4
@@ -435,25 +299,13 @@ Class QGenericReturnArgument
QGenericReturnArgument (0x126e700) 0
QGenericArgument (0x126e740) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0x126ea00) 0
Class QMetaObject
size=16 align=4
base size=16 base align=4
QMetaObject (0x126e980) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0x126ec80) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0x126ebc0) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -545,10 +397,6 @@ QIODevice (0x13261c0) 0
QObject (0x1326200) 0
primary-for QIODevice (0x13261c0)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0x1326440) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -568,25 +416,13 @@ Class QRegExp
base size=4 base align=4
QRegExp (0x1326b00) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0x1326d00) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0x1326d80) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0x1326f80) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0x1326ec0) 0
Class QStringList
size=4 align=4
@@ -594,15 +430,7 @@ Class QStringList
QStringList (0x13267c0) 0
QList<QString> (0x13f0000) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0x13f04c0) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0x13f0540) 0
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -736,50 +564,22 @@ QFile (0x1452280) 0
QObject (0x1452300) 0
primary-for QIODevice (0x14522c0)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0x14524c0) 0
Class QFileInfo
size=4 align=4
base size=4 base align=4
QFileInfo (0x1452500) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0x14525c0) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0x1452640) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0x1452800) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0x1452740) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0x14528c0) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0x1452a00) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0x1452a80) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -836,10 +636,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0x1452ac0) 0
vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0x1452d80) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -913,10 +709,6 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0x1582180) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0x1582200) 0 empty
Class QMapData::Node
size=8 align=4
@@ -941,10 +733,6 @@ Class QTextStream
QTextStream (0x1640600) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0x16408c0) 0
Class QTextStreamManipulator
size=24 align=4
@@ -1041,35 +829,15 @@ Class rlimit
base size=16 base align=4
rlimit (0x175b340) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0x175bb00) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0x175bb80) 0
Class wait
size=4 align=4
base size=4 base align=4
wait (0x175ba80) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x175bc00) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x175bc80) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0x175bd00) 0
Class QVectorData
size=16 align=4
@@ -1182,95 +950,23 @@ Class QMetaType
base size=0 base align=1
QMetaType (0x17f5780) 0 empty
-Class QMetaTypeId<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QString> (0x17f58c0) 0 empty
-Class QMetaTypeId<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<int> (0x17f5980) 0 empty
-Class QMetaTypeId<uint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<uint> (0x17f5a40) 0 empty
-Class QMetaTypeId<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<bool> (0x17f5b00) 0 empty
-Class QMetaTypeId<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<double> (0x17f5bc0) 0 empty
-Class QMetaTypeId<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QByteArray> (0x17f5c80) 0 empty
-Class QMetaTypeId<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QChar> (0x17f5d40) 0 empty
-Class QMetaTypeId<void>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<void> (0x17f5e00) 0 empty
-Class QMetaTypeId<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<long int> (0x17f5ec0) 0 empty
-Class QMetaTypeId<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<short int> (0x17f5f80) 0 empty
-Class QMetaTypeId<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<char> (0x17f5500) 0 empty
-Class QMetaTypeId<ulong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<ulong> (0x189a040) 0 empty
-Class QMetaTypeId<ushort>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<ushort> (0x189a100) 0 empty
-Class QMetaTypeId<uchar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<uchar> (0x189a1c0) 0 empty
-Class QMetaTypeId<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<float> (0x189a280) 0 empty
-Class QMetaTypeId<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QObject*> (0x189a340) 0 empty
-Class QMetaTypeId<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QWidget*> (0x189a400) 0 empty
-Class QMetaTypeId<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<void*> (0x189a4c0) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -1297,50 +993,18 @@ Class QVariant
base size=12 base align=4
QVariant (0x189a540) 0
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0x189abc0) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0x189ab00) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0x189adc0) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0x189ad00) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0x189a780) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0x1952000) 0 empty
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0x19520c0) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x1952140) 0
-Class <anonymous struct>
- size=3156 align=4
- base size=3156 base align=4
-<anonymous struct> (0x19521c0) 0
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1418,15 +1082,7 @@ Class QUrl
base size=4 base align=4
QUrl (0x1952a00) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0x1952bc0) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0x1952c40) 0 empty
Vtable for QEventLoop
QEventLoop::_ZTV10QEventLoop: 14u entries
@@ -1453,10 +1109,6 @@ QEventLoop (0x1952cc0) 0
QObject (0x1952d00) 0
primary-for QEventLoop (0x1952cc0)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0x1952f00) 0
Vtable for QAbstractEventDispatcher
QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 27u entries
@@ -1501,20 +1153,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0x1a23000) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0x1a231c0) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0x1a23240) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0x1a23380) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -1684,10 +1328,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0x1a23a80) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0x1a23b80) 0 empty
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -1779,20 +1419,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0x1abf540) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0x1abf600) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0x1abf680) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0x1abf740) 0 empty
Class QMetaProperty
size=20 align=4
@@ -1804,10 +1436,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0x1abf800) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0x1abf8c0) 0 empty
Vtable for QMimeData
QMimeData::_ZTV9QMimeData: 17u entries
@@ -2095,10 +1723,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0x1be2100) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0x1be2240) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -2110,70 +1734,42 @@ Class QDate
base size=4 base align=4
QDate (0x1be2440) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0x1be2640) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0x1be26c0) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0x1be2900) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0x1be2980) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0x1be2b00) 0 empty
Class QPoint
size=8 align=4
base size=8 base align=4
QPoint (0x1be2b80) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0x1be2480) 0 empty
Class QPointF
size=16 align=4
base size=16 base align=4
QPointF (0x1be2e40) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0x1c97340) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0x1c97640) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0x1c976c0) 0 empty
Class QLineF
size=32 align=4
base size=32 base align=4
QLineF (0x1c97840) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0x1c97900) 0 empty
Class QLinkedListData
size=20 align=4
@@ -2185,50 +1781,30 @@ Class QLocale
base size=4 base align=4
QLocale (0x1c97ec0) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0x1c97f40) 0 empty
Class QSize
size=8 align=4
base size=8 base align=4
QSize (0x1c97100) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0x1dd11c0) 0 empty
Class QSizeF
size=16 align=4
base size=16 base align=4
QSizeF (0x1dd1580) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0x1dd1980) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0x1dd1e00) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0x1dd1fc0) 0 empty
Class QRectF
size=32 align=4
base size=32 base align=4
QRectF (0x1dd18c0) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0x1eae080) 0 empty
Class QSharedData
size=4 align=4
@@ -2347,15 +1923,7 @@ Class QXmlAttributes::Attribute
base size=16 base align=4
QXmlAttributes::Attribute (0x1fda040) 0
-Class QList<QXmlAttributes::Attribute>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QXmlAttributes::Attribute>::<anonymous union> (0x1fda200) 0
-Class QList<QXmlAttributes::Attribute>
- size=4 align=4
- base size=4 base align=4
-QList<QXmlAttributes::Attribute> (0x1fda140) 0
Vtable for QXmlAttributes
QXmlAttributes::_ZTV14QXmlAttributes: 4u entries
@@ -2685,33 +2253,9 @@ QXmlDefaultHandler (0x2043780) 0
QXmlDeclHandler (0x203b440) 20 nearly-empty
vptr=((& QXmlDefaultHandler::_ZTV18QXmlDefaultHandler) + 268u)
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0x20c9680) 0
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0x20e8500) 0
-Class QTypeInfo<QDebug::Stream*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDebug::Stream*> (0x2138580) 0 empty
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0x21a09c0) 0
-Class QTypeInfo<QXmlAttributes::Attribute>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QXmlAttributes::Attribute> (0x21a0c40) 0 empty
-Class QList<QXmlAttributes::Attribute>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QXmlAttributes::Attribute>::Node (0x21a0d00) 0
diff --git a/tests/auto/bic/data/QtXml.4.1.0.macx-gcc-ppc32.txt b/tests/auto/bic/data/QtXml.4.1.0.macx-gcc-ppc32.txt
index 05b19eb..ef1ff04 100644
--- a/tests/auto/bic/data/QtXml.4.1.0.macx-gcc-ppc32.txt
+++ b/tests/auto/bic/data/QtXml.4.1.0.macx-gcc-ppc32.txt
@@ -18,75 +18,19 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0x7e8080) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0x7e82c0) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0x7e8380) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0x7e8440) 0 empty
-Class QTypeInfo<uchar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uchar> (0x7e8500) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0x7e85c0) 0 empty
-Class QTypeInfo<ushort>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ushort> (0x7e8680) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0x7e8740) 0 empty
-Class QTypeInfo<uint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uint> (0x7e8800) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0x7e88c0) 0 empty
-Class QTypeInfo<ulong>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ulong> (0x7e8980) 0 empty
-Class QTypeInfo<qint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<qint64> (0x7e8a40) 0 empty
-Class QTypeInfo<quint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<quint64> (0x7e8b00) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0x7e8bc0) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0x7e8c80) 0 empty
Class QFlag
size=4 align=4
@@ -103,10 +47,6 @@ Class QChar
base size=2 base align=2
QChar (0x7e8f80) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0x84c080) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -119,10 +59,6 @@ Class QAtomic
QAtomic (0x84c480) 0
QBasicAtomic (0x84c4c0) 0
-Class <anonymous union>
- size=128 align=8
- base size=128 base align=8
-<anonymous union> (0x84c740) 0
Class __darwin_pthread_handler_rec
size=12 align=4
@@ -204,70 +140,18 @@ Class QByteRef
base size=8 base align=4
QByteRef (0xf2a400) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0xf2a7c0) 0 empty
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0xf2ac80) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0xf2ad00) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0xf2ad80) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0xf2ae00) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0xf2ae80) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0xf2af00) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0xf2af80) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0x1057000) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0x1057080) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0x1057100) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0x1057180) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0x1057200) 0
Class QInternal
size=1 align=1
@@ -294,10 +178,6 @@ Class QLatin1String
base size=4 base align=4
QLatin1String (0x1057940) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0x1057d80) 0
Class QCharRef
size=8 align=4
@@ -310,10 +190,6 @@ Class QConstString
QConstString (0x1224980) 0
QString (0x12249c0) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0x1224ac0) 0 empty
Vtable for std::exception
std::exception::_ZTVSt9exception: 5u entries
@@ -376,10 +252,6 @@ Class QListData
base size=4 base align=4
QListData (0x12d7300) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0x12d7900) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -404,15 +276,7 @@ Class QTextCodec
QTextCodec (0x12d7780) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0x12d7c40) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0x12d7b80) 0
Class QTextEncoder
size=32 align=4
@@ -435,25 +299,13 @@ Class QGenericReturnArgument
QGenericReturnArgument (0x12d7e80) 0
QGenericArgument (0x12d7ec0) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0x140d080) 0
Class QMetaObject
size=16 align=4
base size=16 base align=4
QMetaObject (0x140d000) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0x140d300) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0x140d240) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -545,10 +397,6 @@ QIODevice (0x140d940) 0
QObject (0x140d980) 0
primary-for QIODevice (0x140d940)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0x140dbc0) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -568,25 +416,13 @@ Class QRegExp
base size=4 base align=4
QRegExp (0x1505180) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0x1505380) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0x1505400) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0x1505600) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0x1505540) 0
Class QStringList
size=4 align=4
@@ -594,15 +430,7 @@ Class QStringList
QStringList (0x15056c0) 0
QList<QString> (0x1505700) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0x1505bc0) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0x1505c40) 0
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -736,50 +564,22 @@ QFile (0x15b2f00) 0
QObject (0x15b2f80) 0
primary-for QIODevice (0x15b2f40)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0x163a000) 0
Class QFileInfo
size=4 align=4
base size=4 base align=4
QFileInfo (0x163a040) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0x163a100) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0x163a180) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0x163a340) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0x163a280) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0x163a400) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0x163a540) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0x163a5c0) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -836,10 +636,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0x163a600) 0
vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0x163a8c0) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -913,10 +709,6 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0x163adc0) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0x163ae40) 0 empty
Class QMapData::Node
size=8 align=4
@@ -941,10 +733,6 @@ Class QTextStream
QTextStream (0x174fdc0) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0x174ffc0) 0
Class QTextStreamManipulator
size=24 align=4
@@ -1051,35 +839,15 @@ Class rlimit
base size=16 base align=8
rlimit (0x1908d80) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0x1908e40) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0x1908ec0) 0
Class wait
size=4 align=4
base size=4 base align=4
wait (0x1908dc0) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x1908f40) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x1908fc0) 0
-Class <anonymous struct>
- size=16 align=8
- base size=16 base align=8
-<anonymous struct> (0x1908780) 0
Class QVectorData
size=16 align=4
@@ -1192,95 +960,23 @@ Class QMetaType
base size=0 base align=1
QMetaType (0x1952a80) 0 empty
-Class QMetaTypeId<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QString> (0x1952bc0) 0 empty
-Class QMetaTypeId<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<int> (0x1952c80) 0 empty
-Class QMetaTypeId<uint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<uint> (0x1952d40) 0 empty
-Class QMetaTypeId<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<bool> (0x1952e00) 0 empty
-Class QMetaTypeId<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<double> (0x1952ec0) 0 empty
-Class QMetaTypeId<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QByteArray> (0x1952f80) 0 empty
-Class QMetaTypeId<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QChar> (0x1952800) 0 empty
-Class QMetaTypeId<void>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<void> (0x1a8f040) 0 empty
-Class QMetaTypeId<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<long int> (0x1a8f100) 0 empty
-Class QMetaTypeId<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<short int> (0x1a8f1c0) 0 empty
-Class QMetaTypeId<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<char> (0x1a8f280) 0 empty
-Class QMetaTypeId<ulong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<ulong> (0x1a8f340) 0 empty
-Class QMetaTypeId<ushort>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<ushort> (0x1a8f400) 0 empty
-Class QMetaTypeId<uchar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<uchar> (0x1a8f4c0) 0 empty
-Class QMetaTypeId<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<float> (0x1a8f580) 0 empty
-Class QMetaTypeId<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QObject*> (0x1a8f640) 0 empty
-Class QMetaTypeId<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QWidget*> (0x1a8f700) 0 empty
-Class QMetaTypeId<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<void*> (0x1a8f7c0) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -1307,50 +1003,18 @@ Class QVariant
base size=16 base align=4
QVariant (0x1a8f840) 0
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0x1a8fec0) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0x1a8fe00) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0x1a8fb80) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0x1a8fa00) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0x1b2d240) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0x1b2d380) 0 empty
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0x1b2d440) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x1b2d4c0) 0
-Class <anonymous struct>
- size=3156 align=4
- base size=3156 base align=4
-<anonymous struct> (0x1b2d540) 0
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1428,15 +1092,7 @@ Class QUrl
base size=4 base align=4
QUrl (0x1b2dd80) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0x1b2df40) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0x1b2dfc0) 0 empty
Vtable for QEventLoop
QEventLoop::_ZTV10QEventLoop: 14u entries
@@ -1463,10 +1119,6 @@ QEventLoop (0x1b2d100) 0
QObject (0x1b2d800) 0
primary-for QEventLoop (0x1b2d100)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0x1c34140) 0
Vtable for QAbstractEventDispatcher
QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 27u entries
@@ -1511,20 +1163,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0x1c34380) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0x1c34540) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0x1c345c0) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0x1c34700) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -1694,10 +1338,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0x1c34e00) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0x1c34f00) 0 empty
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -1789,20 +1429,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0x1d11900) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0x1d119c0) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0x1d11a40) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0x1d11b00) 0 empty
Class QMetaProperty
size=20 align=4
@@ -1814,10 +1446,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0x1d11bc0) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0x1d11c80) 0 empty
Vtable for QMimeData
QMimeData::_ZTV9QMimeData: 17u entries
@@ -2105,10 +1733,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0x1e61440) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0x1e61580) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -2120,70 +1744,42 @@ Class QDate
base size=4 base align=4
QDate (0x1e61780) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0x1e61980) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0x1e61a00) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0x1e61c40) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0x1e61cc0) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0x1e61e40) 0 empty
Class QPoint
size=8 align=4
base size=8 base align=4
QPoint (0x1e61ec0) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0x1e61f80) 0 empty
Class QPointF
size=16 align=8
base size=16 base align=4
QPointF (0x1f06280) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0x1f06700) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0x1f06a00) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0x1f06a80) 0 empty
Class QLineF
size=32 align=8
base size=32 base align=4
QLineF (0x1f06c00) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0x1f06cc0) 0 empty
Class QLinkedListData
size=20 align=4
@@ -2195,50 +1791,30 @@ Class QLocale
base size=4 base align=4
QLocale (0x202d040) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0x202d0c0) 0 empty
Class QSize
size=8 align=4
base size=8 base align=4
QSize (0x202d200) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0x202d600) 0 empty
Class QSizeF
size=16 align=8
base size=16 base align=4
QSizeF (0x202d9c0) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0x202ddc0) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0x202db00) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0x2110000) 0 empty
Class QRectF
size=32 align=8
base size=32 base align=4
QRectF (0x2110280) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0x2110440) 0 empty
Class QSharedData
size=4 align=4
@@ -2357,15 +1933,7 @@ Class QXmlAttributes::Attribute
base size=16 base align=4
QXmlAttributes::Attribute (0x22ca380) 0
-Class QList<QXmlAttributes::Attribute>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QXmlAttributes::Attribute>::<anonymous union> (0x22ca540) 0
-Class QList<QXmlAttributes::Attribute>
- size=4 align=4
- base size=4 base align=4
-QList<QXmlAttributes::Attribute> (0x22ca480) 0
Vtable for QXmlAttributes
QXmlAttributes::_ZTV14QXmlAttributes: 4u entries
@@ -2695,33 +2263,9 @@ QXmlDefaultHandler (0x2362a80) 0
QXmlDeclHandler (0x234c800) 20 nearly-empty
vptr=((& QXmlDefaultHandler::_ZTV18QXmlDefaultHandler) + 268u)
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0x23ed9c0) 0
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0x240b840) 0
-Class QTypeInfo<QDebug::Stream*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDebug::Stream*> (0x245e8c0) 0 empty
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0x24c2d00) 0
-Class QTypeInfo<QXmlAttributes::Attribute>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QXmlAttributes::Attribute> (0x24c2f80) 0 empty
-Class QList<QXmlAttributes::Attribute>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QXmlAttributes::Attribute>::Node (0x24eb040) 0
diff --git a/tests/auto/bic/data/QtXml.4.1.0.win32-gcc-ia32.txt b/tests/auto/bic/data/QtXml.4.1.0.win32-gcc-ia32.txt
index bc8d77b..9ffb7e3 100644
--- a/tests/auto/bic/data/QtXml.4.1.0.win32-gcc-ia32.txt
+++ b/tests/auto/bic/data/QtXml.4.1.0.win32-gcc-ia32.txt
@@ -18,80 +18,20 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0xad5e40) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0xaeb680) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0xaeb800) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0xaeb980) 0 empty
-Class QTypeInfo<uchar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uchar> (0xaebb00) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0xaebc80) 0 empty
-Class QTypeInfo<ushort>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ushort> (0xaebe00) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0xaebf80) 0 empty
-Class QTypeInfo<uint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uint> (0xb07100) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0xb07280) 0 empty
-Class QTypeInfo<ulong>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ulong> (0xb07400) 0 empty
-Class QTypeInfo<qint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<qint64> (0xb07580) 0 empty
-Class QTypeInfo<quint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<quint64> (0xb07700) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0xb07880) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0xb07a00) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0xb07b80) 0 empty
Class QFlag
size=4 align=4
@@ -108,10 +48,6 @@ Class QChar
base size=2 base align=2
QChar (0xb4d840) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0xb71cc0) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -139,70 +75,18 @@ Class QByteRef
base size=8 base align=4
QByteRef (0xc34f80) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0xd4bc40) 0 empty
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0xd78100) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0xd783c0) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0xd73c80) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0xd8d100) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0xd78a80) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0xd949c0) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0xdc8140) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0xdc8440) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0xd8d340) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0xdd8180) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0xdd8940) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0xdd8c80) 0
Class QInternal
size=1 align=1
@@ -229,10 +113,6 @@ Class QLatin1String
base size=4 base align=4
QLatin1String (0xeac500) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0xeac940) 0
Class QCharRef
size=8 align=4
@@ -245,10 +125,6 @@ Class QConstString
QConstString (0x11e1880) 0
QString (0x11e18c0) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0x11e1c00) 0 empty
Vtable for std::exception
std::exception::_ZTVSt9exception: 5u entries
@@ -311,10 +187,6 @@ Class QListData
base size=4 base align=4
QListData (0x1279f00) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0x137ce40) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -339,15 +211,7 @@ Class QTextCodec
QTextCodec (0xeac480) 0 nearly-empty
vptr=((&QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0x13c0140) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0xc3da40) 0
Class QTextEncoder
size=32 align=4
@@ -370,25 +234,13 @@ Class QGenericReturnArgument
QGenericReturnArgument (0x13fefc0) 0
QGenericArgument (0x1404000) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0x1417700) 0
Class QMetaObject
size=16 align=4
base size=16 base align=4
QMetaObject (0x1404580) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0x1431f80) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0x1431b80) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -480,10 +332,6 @@ QIODevice (0x137c700) 0
QObject (0x14bb540) 0
primary-for QIODevice (0x137c700)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0x14bb840) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -503,25 +351,13 @@ Class QRegExp
base size=4 base align=4
QRegExp (0xeac380) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0x15884c0) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0x1588840) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0x1588d80) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0x1588c40) 0
Class QStringList
size=4 align=4
@@ -529,15 +365,7 @@ Class QStringList
QStringList (0xeac400) 0
QList<QString> (0x15b6000) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0x1588ec0) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0x1588e80) 0
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -666,50 +494,22 @@ QFile (0x169c840) 0
QObject (0x169c8c0) 0
primary-for QIODevice (0x169c880)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0x16ab100) 0
Class QFileInfo
size=4 align=4
base size=4 base align=4
QFileInfo (0x16d25c0) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0x16d2f00) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0x1700e40) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0x172a300) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0x172a200) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0x16d2440) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0x1758040) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0x172ac00) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -766,10 +566,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0x169c740) 0
vptr=((&QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0x17d7340) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -843,10 +639,6 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0x182cc40) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0x182cd40) 0 empty
Class QMapData::Node
size=8 align=4
@@ -871,10 +663,6 @@ Class QTextStream
QTextStream (0x1a78240) 0
vptr=((&QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0x1a78600) 0
Class QTextStreamManipulator
size=24 align=4
@@ -911,20 +699,8 @@ QTextOStream (0x1b06440) 0
QTextStream (0x1b06480) 0
primary-for QTextOStream (0x1b06440)
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x1b33680) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x1b33800) 0
-Class <anonymous struct>
- size=16 align=8
- base size=16 base align=8
-<anonymous struct> (0x1b525c0) 0
Class QVectorData
size=16 align=4
@@ -1037,95 +813,23 @@ Class QMetaType
base size=0 base align=1
QMetaType (0x1ce4bc0) 0 empty
-Class QMetaTypeId<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QString> (0x1cfed40) 0 empty
-Class QMetaTypeId<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<int> (0x1cfeec0) 0 empty
-Class QMetaTypeId<uint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<uint> (0x1d11040) 0 empty
-Class QMetaTypeId<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<bool> (0x1d111c0) 0 empty
-Class QMetaTypeId<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<double> (0x1d11340) 0 empty
-Class QMetaTypeId<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QByteArray> (0x1d114c0) 0 empty
-Class QMetaTypeId<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QChar> (0x1d11640) 0 empty
-Class QMetaTypeId<void>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<void> (0x1d117c0) 0 empty
-Class QMetaTypeId<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<long int> (0x1d11940) 0 empty
-Class QMetaTypeId<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<short int> (0x1d11ac0) 0 empty
-Class QMetaTypeId<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<char> (0x1d11c40) 0 empty
-Class QMetaTypeId<ulong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<ulong> (0x1d11dc0) 0 empty
-Class QMetaTypeId<ushort>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<ushort> (0x1d11f40) 0 empty
-Class QMetaTypeId<uchar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<uchar> (0x1d2f0c0) 0 empty
-Class QMetaTypeId<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<float> (0x1d2f240) 0 empty
-Class QMetaTypeId<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QObject*> (0x1d2f3c0) 0 empty
-Class QMetaTypeId<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QWidget*> (0x1d2f540) 0 empty
-Class QMetaTypeId<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<void*> (0x1d2f6c0) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -1152,35 +856,15 @@ Class QVariant
base size=16 base align=8
QVariant (0x14318c0) 0
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0x1dcb540) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0x1d41dc0) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0x1dcb840) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0x1d41e40) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0x1d41000) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0x1e31280) 0 empty
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1258,15 +942,7 @@ Class QUrl
base size=4 base align=4
QUrl (0x1d2ff80) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0x1ecc440) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0x1efcf80) 0 empty
Vtable for QEventLoop
QEventLoop::_ZTV10QEventLoop: 14u entries
@@ -1293,10 +969,6 @@ QEventLoop (0x1f2a600) 0
QObject (0x1f2a640) 0
primary-for QEventLoop (0x1f2a600)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0x1f2a940) 0
Vtable for QAbstractEventDispatcher
QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 27u entries
@@ -1341,20 +1013,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0x1f62f40) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0x1f95b40) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0x1f62ec0) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0x1f95e80) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -1524,10 +1188,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0x2001d80) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0x20443c0) 0 empty
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -1620,20 +1280,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0x13fe8c0) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0x20b3900) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0x13fe940) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0x20b3f00) 0 empty
Class QMetaProperty
size=20 align=4
@@ -1645,10 +1297,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0x13fea40) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0x20e0640) 0 empty
Vtable for QMimeData
QMimeData::_ZTV9QMimeData: 17u entries
@@ -1941,10 +1589,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0x222e640) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0x228d040) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -1956,70 +1600,42 @@ Class QDate
base size=4 base align=4
QDate (0x1d2f900) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0x22cb900) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0x1d2fb00) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0x22ee540) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0x16d24c0) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0x2318300) 0 empty
Class QPoint
size=8 align=4
base size=8 base align=4
QPoint (0x1d2fb80) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0x2318f40) 0 empty
Class QPointF
size=16 align=8
base size=16 base align=8
QPointF (0x1d2fc00) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0x2369180) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0x1d2f980) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0x238b600) 0 empty
Class QLineF
size=32 align=8
base size=32 base align=8
QLineF (0x1d2fa00) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0x23b5b00) 0 empty
Class QLinkedListData
size=20 align=4
@@ -2031,50 +1647,30 @@ Class QLocale
base size=4 base align=4
QLocale (0x1d2fa80) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0x2508300) 0 empty
Class QSize
size=8 align=4
base size=8 base align=4
QSize (0x1d2fc80) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0x2536480) 0 empty
Class QSizeF
size=16 align=8
base size=16 base align=8
QSizeF (0x1d2fd00) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0x255b9c0) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0x1d2fd80) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0x25c9440) 0 empty
Class QRectF
size=32 align=8
base size=32 base align=8
QRectF (0x1d2fe00) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0x2648680) 0 empty
Class QSharedData
size=4 align=4
@@ -2193,15 +1789,7 @@ Class QXmlAttributes::Attribute
base size=16 base align=4
QXmlAttributes::Attribute (0x27dec40) 0
-Class QList<QXmlAttributes::Attribute>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QXmlAttributes::Attribute>::<anonymous union> (0x27def00) 0
-Class QList<QXmlAttributes::Attribute>
- size=4 align=4
- base size=4 base align=4
-QList<QXmlAttributes::Attribute> (0x27ded80) 0
Vtable for QXmlAttributes
QXmlAttributes::_ZTV14QXmlAttributes: 4u entries
@@ -2531,33 +2119,9 @@ QXmlDefaultHandler (0x27de200) 0
QXmlDeclHandler (0x286c5c0) 20 nearly-empty
vptr=((&QXmlDefaultHandler::_ZTV18QXmlDefaultHandler) + 268u)
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0x13c0100) 0
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0x1588d40) 0
-Class QTypeInfo<QDebug::Stream*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDebug::Stream*> (0x2a496c0) 0 empty
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0x172a2c0) 0
-Class QTypeInfo<QXmlAttributes::Attribute>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QXmlAttributes::Attribute> (0x2b13c00) 0 empty
-Class QList<QXmlAttributes::Attribute>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QXmlAttributes::Attribute>::Node (0x27deec0) 0
diff --git a/tests/auto/bic/data/QtXml.4.2.0.linux-gcc-ia32.txt b/tests/auto/bic/data/QtXml.4.2.0.linux-gcc-ia32.txt
index b363d19..6ce60a8 100644
--- a/tests/auto/bic/data/QtXml.4.2.0.linux-gcc-ia32.txt
+++ b/tests/auto/bic/data/QtXml.4.2.0.linux-gcc-ia32.txt
@@ -1,34 +1,8 @@
-Class QUintForSize<4>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<4> (0xb7f27bc0) 0 empty
-Class QUintForSize<8>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<8> (0xb7f27c00) 0 empty
-Class QUintForType<void*>
- size=1 align=1
- base size=1 base align=1
-QUintForType<void*> (0xb7f27cc0) 0 empty
- QUintForSize<4> (0xb7f27d00) 0 empty
-Class QIntForSize<4>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<4> (0xb7f27d80) 0 empty
-Class QIntForSize<8>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<8> (0xb7f27dc0) 0 empty
-Class QIntForType<void*>
- size=1 align=1
- base size=1 base align=1
-QIntForType<void*> (0xb7f27e80) 0 empty
- QIntForSize<4> (0xb7f27ec0) 0 empty
Class QSysInfo
size=1 align=1
@@ -50,150 +24,38 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0xb77f0140) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0xb77f0200) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0xb77f0240) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0xb77f0280) 0 empty
-Class QTypeInfo<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned char> (0xb77f02c0) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0xb77f0300) 0 empty
-Class QTypeInfo<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short unsigned int> (0xb77f0340) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0xb77f0380) 0 empty
-Class QTypeInfo<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned int> (0xb77f03c0) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0xb77f0400) 0 empty
-Class QTypeInfo<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long unsigned int> (0xb77f0440) 0 empty
-Class QTypeInfo<long long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long int> (0xb77f0480) 0 empty
-Class QTypeInfo<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long unsigned int> (0xb77f04c0) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0xb77f0500) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0xb77f0540) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0xb77f0580) 0 empty
Class QFlag
size=4 align=4
base size=4 base align=4
QFlag (0xb77f05c0) 0
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0xb77f06c0) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0xb77f0700) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0xb77f0740) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0xb77f0780) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0xb77f07c0) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0xb77f0800) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0xb77f0840) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0xb77f0880) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0xb77f08c0) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0xb77f0900) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0xb77f0940) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0xb77f0980) 0
-Class QFlags<Qt::TextInteractionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::TextInteractionFlag> (0xb77f09c0) 0
Class QInternal
size=1 align=1
@@ -211,10 +73,6 @@ Class QGenericReturnArgument
QGenericReturnArgument (0xb77f0a80) 0
QGenericArgument (0xb77f0ac0) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0xb77f0c80) 0
Class QMetaObject
size=16 align=4
@@ -231,10 +89,6 @@ Class QChar
base size=2 base align=2
QChar (0xb77f0d40) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0xb77f0dc0) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -267,10 +121,6 @@ Class QByteRef
base size=8 base align=4
QByteRef (0xb734e0c0) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0xb734e100) 0 empty
Class QString::Null
size=1 align=1
@@ -287,10 +137,6 @@ Class QString
base size=4 base align=4
QString (0xb734e140) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0xb734e2c0) 0
Class QLatin1String
size=4 align=4
@@ -308,10 +154,6 @@ Class QConstString
QConstString (0xb734e3c0) 0
QString (0xb734e400) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0xb734e440) 0 empty
Vtable for std::exception
std::exception::_ZTVSt9exception: 5u entries
@@ -374,15 +216,7 @@ Class QListData
base size=4 base align=4
QListData (0xb734e740) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0xb734eac0) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0xb734ea40) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -474,10 +308,6 @@ QIODevice (0xb734ec40) 0
QObject (0xb734ec80) 0
primary-for QIODevice (0xb734ec40)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0xb734ed40) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -507,10 +337,6 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0xb734eec0) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0xb734ef00) 0 empty
Class QMapData::Node
size=8 align=4
@@ -522,10 +348,6 @@ Class QMapData
base size=72 base align=4
QMapData (0xb6eda3c0) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0xb6eda940) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -550,15 +372,7 @@ Class QTextCodec
QTextCodec (0xb6eda880) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0xb6edaa80) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0xb6edaa00) 0
Class QTextEncoder
size=32 align=4
@@ -570,30 +384,10 @@ Class QTextDecoder
base size=32 base align=4
QTextDecoder (0xb6edab00) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6edab40) 0
-Class <anonymous struct>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct>::<anonymous union> (0xb6edabc0) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6edab80) 0
-Class <anonymous struct>
- size=12 align=4
- base size=12 base align=4
-<anonymous struct> (0xb6edac00) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb6edac40) 0
Class __gconv_trans_data
size=20 align=4
@@ -615,15 +409,7 @@ Class __gconv_info
base size=8 base align=4
__gconv_info (0xb6edad40) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0xb6edadc0) 0
-Class <anonymous union>
- size=44 align=4
- base size=44 base align=4
-<anonymous union> (0xb6edad80) 0
Class _IO_marker
size=12 align=4
@@ -635,10 +421,6 @@ Class _IO_FILE
base size=148 base align=4
_IO_FILE (0xb6edae40) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb6edae80) 0
Vtable for QTextStream
QTextStream::_ZTV11QTextStream: 4u entries
@@ -653,10 +435,6 @@ Class QTextStream
QTextStream (0xb6edaec0) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0xb6edaf80) 0
Class QTextStreamManipulator
size=24 align=4
@@ -693,40 +471,16 @@ QTextOStream (0xb6edaf40) 0
QTextStream (0xb6e96000) 0
primary-for QTextOStream (0xb6edaf40)
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0xb6e960c0) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0xb6e96100) 0
Class wait
size=4 align=4
base size=4 base align=4
wait (0xb6e96080) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6e96140) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6e96180) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb6e961c0) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb6e96200) 0
Class timespec
size=8 align=4
@@ -738,80 +492,24 @@ Class timeval
base size=8 base align=4
timeval (0xb6e96280) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb6e962c0) 0
-Class <anonymous union>
- size=36 align=4
- base size=36 base align=4
-<anonymous union> (0xb6e96300) 0
Class __pthread_internal_slist
size=4 align=4
base size=4 base align=4
__pthread_internal_slist (0xb6e96340) 0
-Class <anonymous union>::__pthread_mutex_s::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union>::__pthread_mutex_s::<anonymous union> (0xb6e96400) 0
-Class <anonymous union>::__pthread_mutex_s
- size=24 align=4
- base size=24 base align=4
-<anonymous union>::__pthread_mutex_s (0xb6e963c0) 0
-Class <anonymous union>
- size=24 align=4
- base size=24 base align=4
-<anonymous union> (0xb6e96380) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb6e96440) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0xb6e964c0) 0
-Class <anonymous union>
- size=48 align=4
- base size=48 base align=4
-<anonymous union> (0xb6e96480) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb6e96500) 0
-Class <anonymous union>::<anonymous struct>
- size=32 align=4
- base size=32 base align=4
-<anonymous union>::<anonymous struct> (0xb6e96580) 0
-Class <anonymous union>
- size=32 align=4
- base size=32 base align=4
-<anonymous union> (0xb6e96540) 0
-Class <anonymous union>
- size=8 align=4
- base size=8 base align=4
-<anonymous union> (0xb6e965c0) 0
-Class <anonymous union>
- size=20 align=4
- base size=20 base align=4
-<anonymous union> (0xb6e96600) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb6e96640) 0
Class random_data
size=28 align=4
@@ -882,10 +580,6 @@ QFile (0xb6e96b00) 0
QObject (0xb6e96b80) 0
primary-for QIODevice (0xb6e96b40)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0xb6e96c00) 0
Vtable for QTemporaryFile
QTemporaryFile::_ZTV14QTemporaryFile: 31u entries
@@ -938,50 +632,22 @@ Class QFileInfo
base size=4 base align=4
QFileInfo (0xb6e96d80) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0xb6e96dc0) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0xb6e96e00) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0xb6e96ec0) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0xb6e96e40) 0
Class QRegExp
size=4 align=4
base size=4 base align=4
QRegExp (0xb6e96f00) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0xb6e96f40) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0xb6e96f80) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0xb6e96ac0) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0xb6e96fc0) 0
Class QStringList
size=4 align=4
@@ -989,30 +655,14 @@ Class QStringList
QStringList (0xb6e96bc0) 0
QList<QString> (0xb6e96d40) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0xb6c61040) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0xb6c61080) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0xb6c61140) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0xb6c611c0) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0xb6c61240) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -1069,10 +719,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0xb6c61280) 0
vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0xb6c61400) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -1184,15 +830,7 @@ Class QLocale
base size=4 base align=4
QLocale (0xb6c616c0) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0xb6c61700) 0 empty
-Class QFlags<QLocale::NumberOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLocale::NumberOption> (0xb6c61740) 0
Vtable for QSystemLocale
QSystemLocale::_ZTV13QSystemLocale: 6u entries
@@ -1287,285 +925,65 @@ Class QUrl
base size=4 base align=4
QUrl (0xb6c61a40) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0xb6c61ac0) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0xb6c61b00) 0 empty
Class QMetaType
size=1 align=1
base size=0 base align=1
QMetaType (0xb6c61b40) 0 empty
-Class QMetaTypeId2<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QString> (0xb6c61c00) 0 empty
-Class QMetaTypeId2<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<int> (0xb6c61c40) 0 empty
-Class QMetaTypeId2<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned int> (0xb6c61c80) 0 empty
-Class QMetaTypeId2<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<bool> (0xb6c61cc0) 0 empty
-Class QMetaTypeId2<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<double> (0xb6c61d00) 0 empty
-Class QMetaTypeId2<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QByteArray> (0xb6c61d40) 0 empty
-Class QMetaTypeId2<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QChar> (0xb6c61d80) 0 empty
-Class QMetaTypeId2<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long int> (0xb6c61dc0) 0 empty
-Class QMetaTypeId2<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short int> (0xb6c61e00) 0 empty
-Class QMetaTypeId2<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<char> (0xb6c61e40) 0 empty
-Class QMetaTypeId2<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long unsigned int> (0xb6c61e80) 0 empty
-Class QMetaTypeId2<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short unsigned int> (0xb6c61ec0) 0 empty
-Class QMetaTypeId2<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned char> (0xb6c61f00) 0 empty
-Class QMetaTypeId2<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<float> (0xb6c61f40) 0 empty
-Class QMetaTypeId2<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QObject*> (0xb6c61f80) 0 empty
-Class QMetaTypeId2<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QWidget*> (0xb6c61fc0) 0 empty
-Class QMetaTypeId2<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<void*> (0xb6c61380) 0 empty
-Class QMetaTypeId2<long long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long int> (0xb6c61480) 0 empty
-Class QMetaTypeId2<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long unsigned int> (0xb6c61540) 0 empty
-Class QMetaTypeId2<QStringList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QStringList> (0xb6c61680) 0 empty
-Class QMetaTypeId2<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitArray> (0xb6c617c0) 0 empty
-Class QMetaTypeId2<QDate>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDate> (0xb6c61940) 0 empty
-Class QMetaTypeId2<QTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTime> (0xb6c61a00) 0 empty
-Class QMetaTypeId2<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDateTime> (0xb69b4000) 0 empty
-Class QMetaTypeId2<QUrl>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QUrl> (0xb69b4040) 0 empty
-Class QMetaTypeId2<QLocale>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLocale> (0xb69b4080) 0 empty
-Class QMetaTypeId2<QRect>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRect> (0xb69b40c0) 0 empty
-Class QMetaTypeId2<QRectF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRectF> (0xb69b4100) 0 empty
-Class QMetaTypeId2<QSize>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSize> (0xb69b4140) 0 empty
-Class QMetaTypeId2<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizeF> (0xb69b4180) 0 empty
-Class QMetaTypeId2<QLine>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLine> (0xb69b41c0) 0 empty
-Class QMetaTypeId2<QLineF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLineF> (0xb69b4200) 0 empty
-Class QMetaTypeId2<QPoint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPoint> (0xb69b4240) 0 empty
-Class QMetaTypeId2<QPointF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPointF> (0xb69b4280) 0 empty
-Class QMetaTypeId2<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegExp> (0xb69b42c0) 0 empty
-Class QMetaTypeId2<QColorGroup>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColorGroup> (0xb69b4300) 0 empty
-Class QMetaTypeId2<QFont>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QFont> (0xb69b4340) 0 empty
-Class QMetaTypeId2<QPixmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPixmap> (0xb69b4380) 0 empty
-Class QMetaTypeId2<QBrush>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBrush> (0xb69b43c0) 0 empty
-Class QMetaTypeId2<QColor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColor> (0xb69b4400) 0 empty
-Class QMetaTypeId2<QPalette>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPalette> (0xb69b4440) 0 empty
-Class QMetaTypeId2<QIcon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QIcon> (0xb69b4480) 0 empty
-Class QMetaTypeId2<QImage>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QImage> (0xb69b44c0) 0 empty
-Class QMetaTypeId2<QPolygon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPolygon> (0xb69b4500) 0 empty
-Class QMetaTypeId2<QRegion>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegion> (0xb69b4540) 0 empty
-Class QMetaTypeId2<QBitmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitmap> (0xb69b4580) 0 empty
-Class QMetaTypeId2<QCursor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QCursor> (0xb69b45c0) 0 empty
-Class QMetaTypeId2<QSizePolicy>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizePolicy> (0xb69b4600) 0 empty
-Class QMetaTypeId2<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QKeySequence> (0xb69b4640) 0 empty
-Class QMetaTypeId2<QPen>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPen> (0xb69b4680) 0 empty
-Class QMetaTypeId2<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextLength> (0xb69b46c0) 0 empty
-Class QMetaTypeId2<QTextFormat>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextFormat> (0xb69b4700) 0 empty
-Class QMetaTypeId2<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMatrix> (0xb69b4740) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -1592,45 +1010,17 @@ Class QVariant
base size=12 base align=4
QVariant (0xb69b4780) 0
-Class QMetaTypeId2<QList<QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QList<QVariant> > (0xb69b49c0) 0 empty
-Class QMetaTypeId2<QMap<QString, QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMap<QString, QVariant> > (0xb69b4a00) 0 empty
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0xb69b4b00) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0xb69b4a80) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0xb69b4c00) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0xb69b4b80) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0xb69b4cc0) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0xb69b4d40) 0 empty
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1662,80 +1052,48 @@ Class QPoint
base size=8 base align=4
QPoint (0xb69b4f00) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0xb69b4900) 0 empty
Class QPointF
size=16 align=4
base size=16 base align=4
QPointF (0xb69b4940) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0xb69b48c0) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0xb69b4980) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0xb69b4c80) 0 empty
Class QLineF
size=32 align=4
base size=32 base align=4
QLineF (0xb69b4e00) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0xb69b4e40) 0 empty
Class QSize
size=8 align=4
base size=8 base align=4
QSize (0xb69b4f40) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0xb69b4fc0) 0 empty
Class QSizeF
size=16 align=4
base size=16 base align=4
QSizeF (0xb6924000) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0xb6924200) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0xb69242c0) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0xb69243c0) 0 empty
Class QRectF
size=32 align=4
base size=32 base align=4
QRectF (0xb6924400) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0xb69244c0) 0 empty
Class QLinkedListData
size=20 align=4
@@ -1752,10 +1110,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0xb6924880) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0xb69248c0) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -1772,30 +1126,18 @@ Class QDate
base size=4 base align=4
QDate (0xb6924b40) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0xb6924c00) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0xb6924c40) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0xb6924d00) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0xb6924d40) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0xb6924e00) 0 empty
Vtable for QTimeLine
QTimeLine::_ZTV9QTimeLine: 15u entries
@@ -1981,10 +1323,6 @@ QEventLoop (0xb6924bc0) 0
QObject (0xb6924c80) 0
primary-for QEventLoop (0xb6924bc0)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0xb6924d80) 0
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -2091,20 +1429,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0xb677f400) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0xb677f440) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0xb677f480) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0xb677f500) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -2324,10 +1654,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0xb677f980) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0xb677f9c0) 0 empty
Vtable for QSocketNotifier
QSocketNotifier::_ZTV15QSocketNotifier: 14u entries
@@ -2422,20 +1748,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0xb677fc40) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0xb677fc80) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0xb677fcc0) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0xb677fd00) 0 empty
Class QMetaProperty
size=20 align=4
@@ -2447,10 +1765,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0xb677fd80) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0xb677fdc0) 0 empty
Vtable for QPluginLoader
QPluginLoader::_ZTV13QPluginLoader: 14u entries
@@ -2507,10 +1821,6 @@ QLibrary (0xb677ff00) 0
QObject (0xb677ff40) 0
primary-for QLibrary (0xb677ff00)
-Class QFlags<QLibrary::LoadHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLibrary::LoadHint> (0xb677ffc0) 0
Class QSemaphore
size=4 align=4
@@ -2558,10 +1868,6 @@ Class QMutex
base size=4 base align=4
QMutex (0xb677f4c0) 0
-Class QMutexLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMutexLocker::<anonymous union> (0xb677f6c0) 0
Class QMutexLocker
size=4 align=4
@@ -2573,20 +1879,12 @@ Class QReadWriteLock
base size=4 base align=4
QReadWriteLock (0xb677f7c0) 0
-Class QReadLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QReadLocker::<anonymous union> (0xb677f940) 0
Class QReadLocker
size=4 align=4
base size=4 base align=4
QReadLocker (0xb677f880) 0
-Class QWriteLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QWriteLocker::<anonymous union> (0xb677fb40) 0
Class QWriteLocker
size=4 align=4
@@ -2705,15 +2003,7 @@ Class QXmlAttributes::Attribute
base size=16 base align=4
QXmlAttributes::Attribute (0xb64da840) 0
-Class QList<QXmlAttributes::Attribute>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QXmlAttributes::Attribute>::<anonymous union> (0xb64da940) 0
-Class QList<QXmlAttributes::Attribute>
- size=4 align=4
- base size=4 base align=4
-QList<QXmlAttributes::Attribute> (0xb64da8c0) 0
Vtable for QXmlAttributes
QXmlAttributes::_ZTV14QXmlAttributes: 4u entries
@@ -3043,33 +2333,9 @@ QXmlDefaultHandler (0xb655e730) 0
QXmlDeclHandler (0xb64dac00) 20 nearly-empty
vptr=((& QXmlDefaultHandler::_ZTV18QXmlDefaultHandler) + 268u)
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0xb63dd040) 0
-Class QTypeInfo<QDebug::Stream*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDebug::Stream*> (0xb63dd0c0) 0 empty
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0xb63dd140) 0
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0xb63dd1c0) 0
-Class QTypeInfo<QXmlAttributes::Attribute>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QXmlAttributes::Attribute> (0xb63dd240) 0 empty
-Class QList<QXmlAttributes::Attribute>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QXmlAttributes::Attribute>::Node (0xb63dd2c0) 0
diff --git a/tests/auto/bic/data/QtXml.4.2.0.linux-gcc-ppc32.txt b/tests/auto/bic/data/QtXml.4.2.0.linux-gcc-ppc32.txt
index 2ae5af6..f61b3d2 100644
--- a/tests/auto/bic/data/QtXml.4.2.0.linux-gcc-ppc32.txt
+++ b/tests/auto/bic/data/QtXml.4.2.0.linux-gcc-ppc32.txt
@@ -1,34 +1,8 @@
-Class QUintForSize<4>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<4> (0x30592150) 0 empty
-Class QUintForSize<8>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<8> (0x305921c0) 0 empty
-Class QUintForType<void*>
- size=1 align=1
- base size=1 base align=1
-QUintForType<void*> (0x3001b9c0) 0 empty
- QUintForSize<4> (0x30592310) 0 empty
-Class QIntForSize<4>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<4> (0x305923f0) 0 empty
-Class QIntForSize<8>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<8> (0x30592460) 0 empty
-Class QIntForType<void*>
- size=1 align=1
- base size=1 base align=1
-QIntForType<void*> (0x3001ba40) 0 empty
- QIntForSize<4> (0x305925b0) 0 empty
Class QSysInfo
size=1 align=1
@@ -50,150 +24,38 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0x30592930) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0x30592b28) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0x30592bd0) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0x30592c78) 0 empty
-Class QTypeInfo<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned char> (0x30592d20) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0x30592dc8) 0 empty
-Class QTypeInfo<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short unsigned int> (0x30592e70) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0x30592f18) 0 empty
-Class QTypeInfo<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned int> (0x30592fc0) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0x305c1070) 0 empty
-Class QTypeInfo<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long unsigned int> (0x305c1118) 0 empty
-Class QTypeInfo<long long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long int> (0x305c11c0) 0 empty
-Class QTypeInfo<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long unsigned int> (0x305c1268) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0x305c1310) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0x305c13b8) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0x305c1460) 0 empty
Class QFlag
size=4 align=4
base size=4 base align=4
QFlag (0x305c14d0) 0
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0x305c19a0) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0x305c1a10) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0x305c1a80) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0x305c1af0) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0x305c1b60) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0x305c1bd0) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0x305c1c40) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0x305c1cb0) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0x305c1d20) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0x305c1d90) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0x305c1e00) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0x305c1e70) 0
-Class QFlags<Qt::TextInteractionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::TextInteractionFlag> (0x305c1ee0) 0
Class QInternal
size=1 align=1
@@ -211,10 +73,6 @@ Class QGenericReturnArgument
QGenericReturnArgument (0x3001bb80) 0
QGenericArgument (0x30aac000) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0x30aac1c0) 0
Class QMetaObject
size=16 align=4
@@ -231,10 +89,6 @@ Class QChar
base size=2 base align=2
QChar (0x30aac2a0) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0x30aac348) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -267,10 +121,6 @@ Class QByteRef
base size=8 base align=4
QByteRef (0x30b920a8) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0x30b923f0) 0 empty
Class QString::Null
size=1 align=1
@@ -287,10 +137,6 @@ Class QString
base size=4 base align=4
QString (0x30b92498) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0x30b926c8) 0
Class QLatin1String
size=4 align=4
@@ -308,10 +154,6 @@ Class QConstString
QConstString (0x3001bdc0) 0
QString (0x30d0d850) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0x30d0d930) 0 empty
Vtable for std::exception
std::exception::_ZTVSt9exception: 5u entries
@@ -374,15 +216,7 @@ Class QListData
base size=4 base align=4
QListData (0x30d0dd20) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0x30db04d0) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0x30db0428) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -474,10 +308,6 @@ QIODevice (0x3001be80) 0
QObject (0x30db09a0) 0
primary-for QIODevice (0x3001be80)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0x30db0b98) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -507,10 +337,6 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0x30edb1c0) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0x30edb230) 0 empty
Class QMapData::Node
size=8 align=4
@@ -522,10 +348,6 @@ Class QMapData
base size=72 base align=4
QMapData (0x30edba80) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0x310330a8) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -550,15 +372,7 @@ Class QTextCodec
QTextCodec (0x30edbfc0) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0x31033380) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0x310332d8) 0
Class QTextEncoder
size=32 align=4
@@ -570,30 +384,10 @@ Class QTextDecoder
base size=32 base align=4
QTextDecoder (0x31033498) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x31033540) 0
-Class <anonymous struct>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct>::<anonymous union> (0x31033620) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x310335b0) 0
-Class <anonymous struct>
- size=12 align=4
- base size=12 base align=4
-<anonymous struct> (0x31033690) 0
-Class <anonymous struct>
- size=16 align=8
- base size=16 base align=8
-<anonymous struct> (0x31033700) 0
Class __gconv_trans_data
size=20 align=4
@@ -615,15 +409,7 @@ Class __gconv_info
base size=8 base align=4
__gconv_info (0x31033850) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0x31033930) 0
-Class <anonymous union>
- size=44 align=4
- base size=44 base align=4
-<anonymous union> (0x310338c0) 0
Class _IO_marker
size=12 align=4
@@ -635,10 +421,6 @@ Class _IO_FILE
base size=152 base align=8
_IO_FILE (0x310339a0) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0x31033a10) 0
Vtable for QTextStream
QTextStream::_ZTV11QTextStream: 4u entries
@@ -653,10 +435,6 @@ Class QTextStream
QTextStream (0x31033a48) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0x31033c78) 0
Class QTextStreamManipulator
size=24 align=4
@@ -693,40 +471,16 @@ QTextOStream (0x310ae080) 0
QTextStream (0x310e1118) 0
primary-for QTextOStream (0x310ae080)
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0x310e13f0) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0x310e1460) 0
Class wait
size=4 align=4
base size=4 base align=4
wait (0x310e1380) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x310e14d0) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x310e1540) 0
-Class <anonymous struct>
- size=16 align=8
- base size=16 base align=8
-<anonymous struct> (0x310e15b0) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0x310e1620) 0
Class timespec
size=8 align=4
@@ -738,70 +492,18 @@ Class timeval
base size=8 base align=4
timeval (0x310e1690) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0x310e1700) 0
-Class <anonymous union>
- size=36 align=4
- base size=36 base align=4
-<anonymous union> (0x310e1770) 0
-Class <anonymous union>::<anonymous struct>
- size=24 align=4
- base size=24 base align=4
-<anonymous union>::<anonymous struct> (0x310e1850) 0
-Class <anonymous union>
- size=24 align=4
- base size=24 base align=4
-<anonymous union> (0x310e17e0) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0x310e18c0) 0
-Class <anonymous union>::<anonymous struct>
- size=48 align=8
- base size=48 base align=8
-<anonymous union>::<anonymous struct> (0x310e19a0) 0
-Class <anonymous union>
- size=48 align=8
- base size=48 base align=8
-<anonymous union> (0x310e1930) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0x310e1a10) 0
-Class <anonymous union>::<anonymous struct>
- size=32 align=4
- base size=32 base align=4
-<anonymous union>::<anonymous struct> (0x310e1af0) 0
-Class <anonymous union>
- size=32 align=4
- base size=32 base align=4
-<anonymous union> (0x310e1a80) 0
-Class <anonymous union>
- size=8 align=4
- base size=8 base align=4
-<anonymous union> (0x310e1b60) 0
-Class <anonymous union>
- size=20 align=4
- base size=20 base align=4
-<anonymous union> (0x310e1bd0) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0x310e1c40) 0
Class random_data
size=28 align=4
@@ -872,10 +574,6 @@ QFile (0x310ae0c0) 0
QObject (0x311964d0) 0
primary-for QIODevice (0x310ae100)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0x31196658) 0
Vtable for QTemporaryFile
QTemporaryFile::_ZTV14QTemporaryFile: 31u entries
@@ -928,50 +626,22 @@ Class QFileInfo
base size=4 base align=4
QFileInfo (0x311967a8) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0x31196850) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0x311968c0) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0x31196a48) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0x311969a0) 0
Class QRegExp
size=4 align=4
base size=4 base align=4
QRegExp (0x31196af0) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0x31196ce8) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0x31196d58) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0x31196f18) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0x31196e70) 0
Class QStringList
size=4 align=4
@@ -979,30 +649,14 @@ Class QStringList
QStringList (0x310ae200) 0
QList<QString> (0x31196fc0) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0x312dd348) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0x312dd3b8) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0x312dd6c8) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0x312dd7e0) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0x312dd888) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -1059,10 +713,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0x312dd8c0) 0
vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0x312ddb28) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -1174,15 +824,7 @@ Class QLocale
base size=4 base align=4
QLocale (0x312ddee0) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0x312ddf88) 0 empty
-Class QFlags<QLocale::NumberOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLocale::NumberOption> (0x312ddc40) 0
Vtable for QSystemLocale
QSystemLocale::_ZTV13QSystemLocale: 6u entries
@@ -1277,285 +919,65 @@ Class QUrl
base size=4 base align=4
QUrl (0x313d8348) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0x313d84d0) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0x313d8540) 0 empty
Class QMetaType
size=1 align=1
base size=0 base align=1
QMetaType (0x313d85b0) 0 empty
-Class QMetaTypeId2<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QString> (0x313d8770) 0 empty
-Class QMetaTypeId2<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<int> (0x313d8818) 0 empty
-Class QMetaTypeId2<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned int> (0x313d88c0) 0 empty
-Class QMetaTypeId2<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<bool> (0x313d8968) 0 empty
-Class QMetaTypeId2<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<double> (0x313d8a10) 0 empty
-Class QMetaTypeId2<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QByteArray> (0x313d8ab8) 0 empty
-Class QMetaTypeId2<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QChar> (0x313d8b60) 0 empty
-Class QMetaTypeId2<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long int> (0x313d8c08) 0 empty
-Class QMetaTypeId2<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short int> (0x313d8cb0) 0 empty
-Class QMetaTypeId2<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<char> (0x313d8d58) 0 empty
-Class QMetaTypeId2<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long unsigned int> (0x313d8e00) 0 empty
-Class QMetaTypeId2<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short unsigned int> (0x313d8ea8) 0 empty
-Class QMetaTypeId2<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned char> (0x313d8f50) 0 empty
-Class QMetaTypeId2<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<float> (0x313d8070) 0 empty
-Class QMetaTypeId2<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QObject*> (0x31457000) 0 empty
-Class QMetaTypeId2<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QWidget*> (0x314570a8) 0 empty
-Class QMetaTypeId2<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<void*> (0x31457150) 0 empty
-Class QMetaTypeId2<long long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long int> (0x314571f8) 0 empty
-Class QMetaTypeId2<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long unsigned int> (0x314572a0) 0 empty
-Class QMetaTypeId2<QStringList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QStringList> (0x31457348) 0 empty
-Class QMetaTypeId2<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitArray> (0x314573f0) 0 empty
-Class QMetaTypeId2<QDate>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDate> (0x31457498) 0 empty
-Class QMetaTypeId2<QTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTime> (0x31457540) 0 empty
-Class QMetaTypeId2<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDateTime> (0x314575e8) 0 empty
-Class QMetaTypeId2<QUrl>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QUrl> (0x31457690) 0 empty
-Class QMetaTypeId2<QLocale>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLocale> (0x31457738) 0 empty
-Class QMetaTypeId2<QRect>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRect> (0x314577e0) 0 empty
-Class QMetaTypeId2<QRectF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRectF> (0x31457888) 0 empty
-Class QMetaTypeId2<QSize>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSize> (0x31457930) 0 empty
-Class QMetaTypeId2<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizeF> (0x314579d8) 0 empty
-Class QMetaTypeId2<QLine>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLine> (0x31457a80) 0 empty
-Class QMetaTypeId2<QLineF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLineF> (0x31457b28) 0 empty
-Class QMetaTypeId2<QPoint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPoint> (0x31457bd0) 0 empty
-Class QMetaTypeId2<QPointF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPointF> (0x31457c78) 0 empty
-Class QMetaTypeId2<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegExp> (0x31457d20) 0 empty
-Class QMetaTypeId2<QColorGroup>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColorGroup> (0x31457dc8) 0 empty
-Class QMetaTypeId2<QFont>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QFont> (0x31457e70) 0 empty
-Class QMetaTypeId2<QPixmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPixmap> (0x31457f18) 0 empty
-Class QMetaTypeId2<QBrush>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBrush> (0x31457fc0) 0 empty
-Class QMetaTypeId2<QColor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColor> (0x31471070) 0 empty
-Class QMetaTypeId2<QPalette>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPalette> (0x31471118) 0 empty
-Class QMetaTypeId2<QIcon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QIcon> (0x314711c0) 0 empty
-Class QMetaTypeId2<QImage>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QImage> (0x31471268) 0 empty
-Class QMetaTypeId2<QPolygon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPolygon> (0x31471310) 0 empty
-Class QMetaTypeId2<QRegion>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegion> (0x314713b8) 0 empty
-Class QMetaTypeId2<QBitmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitmap> (0x31471460) 0 empty
-Class QMetaTypeId2<QCursor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QCursor> (0x31471508) 0 empty
-Class QMetaTypeId2<QSizePolicy>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizePolicy> (0x314715b0) 0 empty
-Class QMetaTypeId2<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QKeySequence> (0x31471658) 0 empty
-Class QMetaTypeId2<QPen>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPen> (0x31471700) 0 empty
-Class QMetaTypeId2<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextLength> (0x314717a8) 0 empty
-Class QMetaTypeId2<QTextFormat>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextFormat> (0x31471850) 0 empty
-Class QMetaTypeId2<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMatrix> (0x314718f8) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -1582,45 +1004,17 @@ Class QVariant
base size=16 base align=8
QVariant (0x31471968) 0
-Class QMetaTypeId2<QList<QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QList<QVariant> > (0x31471e00) 0 empty
-Class QMetaTypeId2<QMap<QString, QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMap<QString, QVariant> > (0x31471ea8) 0 empty
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0x31471bd0) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0x31471fc0) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0x314d8150) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0x314d80a8) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0x314d8268) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0x314d8380) 0 empty
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1652,80 +1046,48 @@ Class QPoint
base size=8 base align=4
QPoint (0x314d88c0) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0x314d8cb0) 0 empty
Class QPointF
size=16 align=8
base size=16 base align=8
QPointF (0x314d8ea8) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0x314d8ab8) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0x315910a8) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0x31591118) 0 empty
Class QLineF
size=32 align=8
base size=32 base align=8
QLineF (0x31591268) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0x31591310) 0 empty
Class QSize
size=8 align=4
base size=8 base align=4
QSize (0x31591498) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0x31591818) 0 empty
Class QSizeF
size=16 align=8
base size=16 base align=8
QSizeF (0x31591af0) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0x31591e70) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0x31591c08) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0x31642038) 0 empty
Class QRectF
size=32 align=8
base size=32 base align=8
QRectF (0x31642268) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0x316423f0) 0 empty
Class QLinkedListData
size=20 align=4
@@ -1742,10 +1104,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0x31642e38) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0x31642f18) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -1762,30 +1120,18 @@ Class QDate
base size=4 base align=4
QDate (0x31788268) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0x31788428) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0x31788498) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0x31788658) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0x317886c8) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0x31788818) 0 empty
Vtable for QTimeLine
QTimeLine::_ZTV9QTimeLine: 15u entries
@@ -1971,10 +1317,6 @@ QEventLoop (0x310ae780) 0
QObject (0x31850230) 0
primary-for QEventLoop (0x310ae780)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0x318503f0) 0
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -2081,20 +1423,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0x31850e38) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0x31850fc0) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0x318501c0) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0x31850738) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -2314,10 +1648,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0x318ff5e8) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0x318ff6c8) 0 empty
Vtable for QSocketNotifier
QSocketNotifier::_ZTV15QSocketNotifier: 14u entries
@@ -2412,20 +1742,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0x318ffaf0) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0x318ffb98) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0x318ffc08) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0x318ffcb0) 0 empty
Class QMetaProperty
size=20 align=4
@@ -2437,10 +1759,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0x318ffd58) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0x318ffe00) 0 empty
Vtable for QPluginLoader
QPluginLoader::_ZTV13QPluginLoader: 14u entries
@@ -2497,10 +1815,6 @@ QLibrary (0x310aec00) 0
QObject (0x318ff578) 0
primary-for QLibrary (0x310aec00)
-Class QFlags<QLibrary::LoadHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLibrary::LoadHint> (0x319cb038) 0
Class QSemaphore
size=4 align=4
@@ -2548,10 +1862,6 @@ Class QMutex
base size=4 base align=4
QMutex (0x319cb2d8) 0
-Class QMutexLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMutexLocker::<anonymous union> (0x319cb460) 0
Class QMutexLocker
size=4 align=4
@@ -2563,20 +1873,12 @@ Class QReadWriteLock
base size=4 base align=4
QReadWriteLock (0x319cb508) 0
-Class QReadLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QReadLocker::<anonymous union> (0x319cb5b0) 0
Class QReadLocker
size=4 align=4
base size=4 base align=4
QReadLocker (0x319cb540) 0
-Class QWriteLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QWriteLocker::<anonymous union> (0x319cb6c8) 0
Class QWriteLocker
size=4 align=4
@@ -2695,15 +1997,7 @@ Class QXmlAttributes::Attribute
base size=16 base align=4
QXmlAttributes::Attribute (0x319cbb98) 0
-Class QList<QXmlAttributes::Attribute>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QXmlAttributes::Attribute>::<anonymous union> (0x319cbd20) 0
-Class QList<QXmlAttributes::Attribute>
- size=4 align=4
- base size=4 base align=4
-QList<QXmlAttributes::Attribute> (0x319cbc78) 0
Vtable for QXmlAttributes
QXmlAttributes::_ZTV14QXmlAttributes: 4u entries
@@ -3033,33 +2327,9 @@ QXmlDefaultHandler (0x31adb078) 0
QXmlDeclHandler (0x31aa7e38) 20 nearly-empty
vptr=((& QXmlDefaultHandler::_ZTV18QXmlDefaultHandler) + 268u)
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0x31b46ea8) 0
-Class QTypeInfo<QDebug::Stream*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDebug::Stream*> (0x31b605e8) 0 empty
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0x31b7b3f0) 0
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0x31c059d8) 0
-Class QTypeInfo<QXmlAttributes::Attribute>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QXmlAttributes::Attribute> (0x31c05c08) 0 empty
-Class QList<QXmlAttributes::Attribute>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QXmlAttributes::Attribute>::Node (0x31c05cb0) 0
diff --git a/tests/auto/bic/data/QtXml.4.2.0.macx-gcc-ia32.txt b/tests/auto/bic/data/QtXml.4.2.0.macx-gcc-ia32.txt
index e3c6ab8..3a92b2c 100644
--- a/tests/auto/bic/data/QtXml.4.2.0.macx-gcc-ia32.txt
+++ b/tests/auto/bic/data/QtXml.4.2.0.macx-gcc-ia32.txt
@@ -1,34 +1,8 @@
-Class QUintForSize<4>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<4> (0x698080) 0 empty
-Class QUintForSize<8>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<8> (0x698100) 0 empty
-Class QUintForType<void*>
- size=1 align=1
- base size=1 base align=1
-QUintForType<void*> (0x6982c0) 0 empty
- QUintForSize<4> (0x698300) 0 empty
-Class QIntForSize<4>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<4> (0x698400) 0 empty
-Class QIntForSize<8>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<8> (0x698480) 0 empty
-Class QIntForType<void*>
- size=1 align=1
- base size=1 base align=1
-QIntForType<void*> (0x698640) 0 empty
- QIntForSize<4> (0x698680) 0 empty
Class QSysInfo
size=1 align=1
@@ -50,75 +24,19 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0x698b80) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0x698dc0) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0x698e80) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0x698f40) 0 empty
-Class QTypeInfo<uchar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uchar> (0x6c9000) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0x6c90c0) 0 empty
-Class QTypeInfo<ushort>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ushort> (0x6c9180) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0x6c9240) 0 empty
-Class QTypeInfo<uint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uint> (0x6c9300) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0x6c93c0) 0 empty
-Class QTypeInfo<ulong>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ulong> (0x6c9480) 0 empty
-Class QTypeInfo<qint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<qint64> (0x6c9540) 0 empty
-Class QTypeInfo<quint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<quint64> (0x6c9600) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0x6c96c0) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0x6c9780) 0 empty
Class QFlag
size=4 align=4
@@ -135,10 +53,6 @@ Class QChar
base size=2 base align=2
QChar (0x6c9a80) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0x6c9b80) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -151,10 +65,6 @@ Class QAtomic
QAtomic (0xe56280) 0
QBasicAtomic (0xe562c0) 0
-Class <anonymous union>
- size=128 align=4
- base size=128 base align=4
-<anonymous union> (0xe56540) 0
Class __darwin_pthread_handler_rec
size=12 align=4
@@ -236,75 +146,19 @@ Class QByteRef
base size=8 base align=4
QByteRef (0xee7280) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0xee7640) 0 empty
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0xee7ac0) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0xee7b40) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0xee7bc0) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0xee7c40) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0xee7cc0) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0xee7d40) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0xee7dc0) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0xee7e40) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0xee7ec0) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0xee7f40) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0xee7fc0) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0x102c040) 0
-Class QFlags<Qt::TextInteractionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::TextInteractionFlag> (0x102c0c0) 0
Class QInternal
size=1 align=1
@@ -331,10 +185,6 @@ Class QLatin1String
base size=4 base align=4
QLatin1String (0x102c8c0) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0x102cd00) 0
Class QCharRef
size=8 align=4
@@ -347,10 +197,6 @@ Class QConstString
QConstString (0x11a6900) 0
QString (0x11a6940) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0x11a6a40) 0 empty
Vtable for std::exception
std::exception::_ZTVSt9exception: 5u entries
@@ -413,10 +259,6 @@ Class QListData
base size=4 base align=4
QListData (0x1261240) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0x1261880) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -441,15 +283,7 @@ Class QTextCodec
QTextCodec (0x1261700) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0x1261bc0) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0x1261b00) 0
Class QTextEncoder
size=32 align=4
@@ -472,25 +306,13 @@ Class QGenericReturnArgument
QGenericReturnArgument (0x1261e00) 0
QGenericArgument (0x1261e40) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0x1382000) 0
Class QMetaObject
size=16 align=4
base size=16 base align=4
QMetaObject (0x1261800) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0x1382280) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0x13821c0) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -582,10 +404,6 @@ QIODevice (0x13828c0) 0
QObject (0x1382900) 0
primary-for QIODevice (0x13828c0)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0x1382b40) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -605,25 +423,13 @@ Class QRegExp
base size=4 base align=4
QRegExp (0x1459140) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0x1459380) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0x1459400) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0x1459600) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0x1459540) 0
Class QStringList
size=4 align=4
@@ -631,15 +437,7 @@ Class QStringList
QStringList (0x14596c0) 0
QList<QString> (0x1459700) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0x1459bc0) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0x1459c40) 0
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -773,50 +571,22 @@ QFile (0x14f7a80) 0
QObject (0x14f7b00) 0
primary-for QIODevice (0x14f7ac0)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0x14f7cc0) 0
Class QFileInfo
size=4 align=4
base size=4 base align=4
QFileInfo (0x14f7d00) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0x14f7dc0) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0x14f7e40) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0x14f7040) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0x14f7f40) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0x14f7640) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0x15cb0c0) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0x15cb140) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -873,10 +643,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0x15cb180) 0
vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0x15cb440) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -950,10 +716,6 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0x15cb940) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0x15cb9c0) 0 empty
Class QMapData::Node
size=8 align=4
@@ -978,10 +740,6 @@ Class QTextStream
QTextStream (0x166fd80) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0x166fa40) 0
Class QTextStreamManipulator
size=24 align=4
@@ -1078,35 +836,15 @@ Class rlimit
base size=16 base align=4
rlimit (0x1803b00) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0x184d200) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0x184d280) 0
Class wait
size=4 align=4
base size=4 base align=4
wait (0x184d180) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x184d300) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x184d380) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0x184d400) 0
Class QVectorData
size=16 align=4
@@ -1244,15 +982,7 @@ Class QLocale
base size=4 base align=4
QLocale (0x19c2280) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0x19c2340) 0 empty
-Class QFlags<QLocale::NumberOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLocale::NumberOption> (0x19c2400) 0
Vtable for QSystemLocale
QSystemLocale::_ZTV13QSystemLocale: 6u entries
@@ -1279,270 +1009,58 @@ Class QMetaType
base size=0 base align=1
QMetaType (0x19c2600) 0 empty
-Class QMetaTypeId2<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QString> (0x19c2800) 0 empty
-Class QMetaTypeId2<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<int> (0x19c28c0) 0 empty
-Class QMetaTypeId2<uint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<uint> (0x19c2980) 0 empty
-Class QMetaTypeId2<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<bool> (0x19c2a40) 0 empty
-Class QMetaTypeId2<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<double> (0x19c2b00) 0 empty
-Class QMetaTypeId2<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QByteArray> (0x19c2bc0) 0 empty
-Class QMetaTypeId2<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QChar> (0x19c2c80) 0 empty
-Class QMetaTypeId2<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long int> (0x19c2d40) 0 empty
-Class QMetaTypeId2<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short int> (0x19c2e00) 0 empty
-Class QMetaTypeId2<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<char> (0x19c2ec0) 0 empty
-Class QMetaTypeId2<ulong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<ulong> (0x19c2f80) 0 empty
-Class QMetaTypeId2<ushort>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<ushort> (0x19c2200) 0 empty
-Class QMetaTypeId2<uchar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<uchar> (0x1a5c040) 0 empty
-Class QMetaTypeId2<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<float> (0x1a5c100) 0 empty
-Class QMetaTypeId2<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QObject*> (0x1a5c1c0) 0 empty
-Class QMetaTypeId2<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QWidget*> (0x1a5c280) 0 empty
-Class QMetaTypeId2<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<void*> (0x1a5c340) 0 empty
-Class QMetaTypeId2<qlonglong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<qlonglong> (0x1a5c400) 0 empty
-Class QMetaTypeId2<qulonglong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<qulonglong> (0x1a5c4c0) 0 empty
-Class QMetaTypeId2<QStringList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QStringList> (0x1a5c580) 0 empty
-Class QMetaTypeId2<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitArray> (0x1a5c640) 0 empty
-Class QMetaTypeId2<QDate>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDate> (0x1a5c700) 0 empty
-Class QMetaTypeId2<QTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTime> (0x1a5c7c0) 0 empty
-Class QMetaTypeId2<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDateTime> (0x1a5c880) 0 empty
-Class QMetaTypeId2<QUrl>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QUrl> (0x1a5c940) 0 empty
-Class QMetaTypeId2<QLocale>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLocale> (0x1a5ca00) 0 empty
-Class QMetaTypeId2<QRect>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRect> (0x1a5cac0) 0 empty
-Class QMetaTypeId2<QRectF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRectF> (0x1a5cb80) 0 empty
-Class QMetaTypeId2<QSize>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSize> (0x1a5cc40) 0 empty
-Class QMetaTypeId2<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizeF> (0x1a5cd00) 0 empty
-Class QMetaTypeId2<QLine>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLine> (0x1a5cdc0) 0 empty
-Class QMetaTypeId2<QLineF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLineF> (0x1a5ce80) 0 empty
-Class QMetaTypeId2<QPoint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPoint> (0x1a5cf40) 0 empty
-Class QMetaTypeId2<QPointF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPointF> (0x1a75000) 0 empty
-Class QMetaTypeId2<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegExp> (0x1a750c0) 0 empty
-Class QMetaTypeId2<QColorGroup>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColorGroup> (0x1a75180) 0 empty
-Class QMetaTypeId2<QFont>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QFont> (0x1a75240) 0 empty
-Class QMetaTypeId2<QPixmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPixmap> (0x1a75300) 0 empty
-Class QMetaTypeId2<QBrush>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBrush> (0x1a753c0) 0 empty
-Class QMetaTypeId2<QColor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColor> (0x1a75480) 0 empty
-Class QMetaTypeId2<QPalette>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPalette> (0x1a75540) 0 empty
-Class QMetaTypeId2<QIcon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QIcon> (0x1a75600) 0 empty
-Class QMetaTypeId2<QImage>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QImage> (0x1a756c0) 0 empty
-Class QMetaTypeId2<QPolygon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPolygon> (0x1a75780) 0 empty
-Class QMetaTypeId2<QRegion>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegion> (0x1a75840) 0 empty
-Class QMetaTypeId2<QBitmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitmap> (0x1a75900) 0 empty
-Class QMetaTypeId2<QCursor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QCursor> (0x1a759c0) 0 empty
-Class QMetaTypeId2<QSizePolicy>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizePolicy> (0x1a75a80) 0 empty
-Class QMetaTypeId2<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QKeySequence> (0x1a75b40) 0 empty
-Class QMetaTypeId2<QPen>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPen> (0x1a75c00) 0 empty
-Class QMetaTypeId2<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextLength> (0x1a75cc0) 0 empty
-Class QMetaTypeId2<QTextFormat>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextFormat> (0x1a75d80) 0 empty
-Class QMetaTypeId2<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMatrix> (0x1a75e40) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -1569,60 +1087,20 @@ Class QVariant
base size=12 base align=4
QVariant (0x1a75ec0) 0
-Class QMetaTypeId2<QVariantList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QVariantList> (0x1aaf400) 0 empty
-Class QMetaTypeId2<QVariantMap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QVariantMap> (0x1aaf4c0) 0 empty
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0x1aaf6c0) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0x1aaf600) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0x1aaf8c0) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0x1aaf800) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0x1aafa40) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0x1aafb80) 0 empty
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0x1aafc40) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x1aafcc0) 0
-Class <anonymous struct>
- size=3156 align=4
- base size=3156 base align=4
-<anonymous struct> (0x1aafd40) 0
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1700,15 +1178,7 @@ Class QUrl
base size=4 base align=4
QUrl (0x1b70400) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0x1b705c0) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0x1b70640) 0 empty
Vtable for QEventLoop
QEventLoop::_ZTV10QEventLoop: 14u entries
@@ -1735,10 +1205,6 @@ QEventLoop (0x1b706c0) 0
QObject (0x1b70700) 0
primary-for QEventLoop (0x1b706c0)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0x1b70900) 0
Vtable for QAbstractEventDispatcher
QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 27u entries
@@ -1783,20 +1249,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0x1b70b40) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0x1b70d00) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0x1b70d80) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0x1b70ec0) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -1966,10 +1424,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0x1c52480) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0x1c52580) 0 empty
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -2076,20 +1530,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0x1ce2040) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0x1ce2100) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0x1ce2180) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0x1ce2240) 0 empty
Class QMetaProperty
size=20 align=4
@@ -2101,10 +1547,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0x1ce2300) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0x1ce23c0) 0 empty
Vtable for QMimeData
QMimeData::_ZTV9QMimeData: 17u entries
@@ -2286,10 +1728,6 @@ QLibrary (0x1ce2d80) 0
QObject (0x1ce2dc0) 0
primary-for QLibrary (0x1ce2d80)
-Class QFlags<QLibrary::LoadHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLibrary::LoadHint> (0x1ce2f80) 0
Vtable for QPluginLoader
QPluginLoader::_ZTV13QPluginLoader: 14u entries
@@ -2326,10 +1764,6 @@ Class QMutex
base size=4 base align=4
QMutex (0x1d9e0c0) 0
-Class QMutexLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMutexLocker::<anonymous union> (0x1d9e280) 0
Class QMutexLocker
size=4 align=4
@@ -2341,20 +1775,12 @@ Class QReadWriteLock
base size=4 base align=4
QReadWriteLock (0x1d9e340) 0
-Class QReadLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QReadLocker::<anonymous union> (0x1d9e400) 0
Class QReadLocker
size=4 align=4
base size=4 base align=4
QReadLocker (0x1d9e380) 0
-Class QWriteLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QWriteLocker::<anonymous union> (0x1d9e540) 0
Class QWriteLocker
size=4 align=4
@@ -2412,10 +1838,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0x1d9ef40) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0x1e36000) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -2427,70 +1849,42 @@ Class QDate
base size=4 base align=4
QDate (0x1e36280) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0x1e36480) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0x1e36500) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0x1e36700) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0x1e36780) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0x1e36900) 0 empty
Class QPoint
size=8 align=4
base size=8 base align=4
QPoint (0x1e36980) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0x1e36e00) 0 empty
Class QPointF
size=16 align=4
base size=16 base align=4
QPointF (0x1e365c0) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0x1e36d40) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0x1ee12c0) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0x1ee1340) 0 empty
Class QLineF
size=32 align=4
base size=32 base align=4
QLineF (0x1ee14c0) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0x1ee1580) 0 empty
Class QLinkedListData
size=20 align=4
@@ -2502,40 +1896,24 @@ Class QSize
base size=8 base align=4
QSize (0x1ee1bc0) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0x1ee1fc0) 0 empty
Class QSizeF
size=16 align=4
base size=16 base align=4
QSizeF (0x1ff1180) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0x1ff1580) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0x1ff1a00) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0x1ff1bc0) 0 empty
Class QRectF
size=32 align=4
base size=32 base align=4
QRectF (0x1ff1e40) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0x1ff11c0) 0 empty
Class QSharedData
size=4 align=4
@@ -2680,15 +2058,7 @@ Class QXmlAttributes::Attribute
base size=16 base align=4
QXmlAttributes::Attribute (0x2105d40) 0
-Class QList<QXmlAttributes::Attribute>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QXmlAttributes::Attribute>::<anonymous union> (0x2105f00) 0
-Class QList<QXmlAttributes::Attribute>
- size=4 align=4
- base size=4 base align=4
-QList<QXmlAttributes::Attribute> (0x2105e40) 0
Vtable for QXmlAttributes
QXmlAttributes::_ZTV14QXmlAttributes: 4u entries
@@ -3018,33 +2388,9 @@ QXmlDefaultHandler (0x2224600) 0
QXmlDeclHandler (0x2226080) 20 nearly-empty
vptr=((& QXmlDefaultHandler::_ZTV18QXmlDefaultHandler) + 268u)
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0x22b2700) 0
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0x22d0580) 0
-Class QTypeInfo<QDebug::Stream*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDebug::Stream*> (0x2321600) 0 empty
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0x23a4440) 0
-Class QTypeInfo<QXmlAttributes::Attribute>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QXmlAttributes::Attribute> (0x23a46c0) 0 empty
-Class QList<QXmlAttributes::Attribute>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QXmlAttributes::Attribute>::Node (0x23a4780) 0
diff --git a/tests/auto/bic/data/QtXml.4.2.0.macx-gcc-ppc32.txt b/tests/auto/bic/data/QtXml.4.2.0.macx-gcc-ppc32.txt
index 9966650..8b438f0 100644
--- a/tests/auto/bic/data/QtXml.4.2.0.macx-gcc-ppc32.txt
+++ b/tests/auto/bic/data/QtXml.4.2.0.macx-gcc-ppc32.txt
@@ -1,34 +1,8 @@
-Class QUintForSize<4>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<4> (0x9c8c80) 0 empty
-Class QUintForSize<8>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<8> (0x9c8d00) 0 empty
-Class QUintForType<void*>
- size=1 align=1
- base size=1 base align=1
-QUintForType<void*> (0x9c8ec0) 0 empty
- QUintForSize<4> (0x9c8f00) 0 empty
-Class QIntForSize<4>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<4> (0x9cf000) 0 empty
-Class QIntForSize<8>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<8> (0x9cf080) 0 empty
-Class QIntForType<void*>
- size=1 align=1
- base size=1 base align=1
-QIntForType<void*> (0x9cf240) 0 empty
- QIntForSize<4> (0x9cf280) 0 empty
Class QSysInfo
size=1 align=1
@@ -50,75 +24,19 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0x9cf780) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0x9cf9c0) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0x9cfa80) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0x9cfb40) 0 empty
-Class QTypeInfo<uchar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uchar> (0x9cfc00) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0x9cfcc0) 0 empty
-Class QTypeInfo<ushort>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ushort> (0x9cfd80) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0x9cfe40) 0 empty
-Class QTypeInfo<uint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uint> (0x9cff00) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0x9cffc0) 0 empty
-Class QTypeInfo<ulong>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ulong> (0xa07080) 0 empty
-Class QTypeInfo<qint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<qint64> (0xa07140) 0 empty
-Class QTypeInfo<quint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<quint64> (0xa07200) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0xa072c0) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0xa07380) 0 empty
Class QFlag
size=4 align=4
@@ -135,10 +53,6 @@ Class QChar
base size=2 base align=2
QChar (0xa07680) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0xa07780) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -151,10 +65,6 @@ Class QAtomic
QAtomic (0xa07d80) 0
QBasicAtomic (0xa07dc0) 0
-Class <anonymous union>
- size=128 align=8
- base size=128 base align=8
-<anonymous union> (0xeb4040) 0
Class __darwin_pthread_handler_rec
size=12 align=4
@@ -236,75 +146,19 @@ Class QByteRef
base size=8 base align=4
QByteRef (0xeb4d80) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0xf58140) 0 empty
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0xf585c0) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0xf58640) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0xf586c0) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0xf58740) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0xf587c0) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0xf58840) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0xf588c0) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0xf58940) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0xf589c0) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0xf58a40) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0xf58ac0) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0xf58b40) 0
-Class QFlags<Qt::TextInteractionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::TextInteractionFlag> (0xf58bc0) 0
Class QInternal
size=1 align=1
@@ -331,10 +185,6 @@ Class QLatin1String
base size=4 base align=4
QLatin1String (0x1118380) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0x11187c0) 0
Class QCharRef
size=8 align=4
@@ -347,10 +197,6 @@ Class QConstString
QConstString (0x1235400) 0
QString (0x1235440) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0x1235540) 0 empty
Vtable for std::exception
std::exception::_ZTVSt9exception: 5u entries
@@ -413,10 +259,6 @@ Class QListData
base size=4 base align=4
QListData (0x1235dc0) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0x1309300) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -441,15 +283,7 @@ Class QTextCodec
QTextCodec (0x1309180) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0x1309640) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0x1309580) 0
Class QTextEncoder
size=32 align=4
@@ -472,25 +306,13 @@ Class QGenericReturnArgument
QGenericReturnArgument (0x1309880) 0
QGenericArgument (0x13098c0) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0x1309b80) 0
Class QMetaObject
size=16 align=4
base size=16 base align=4
QMetaObject (0x1309b00) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0x1309e00) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0x1309d40) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -582,10 +404,6 @@ QIODevice (0x13f4380) 0
QObject (0x13f43c0) 0
primary-for QIODevice (0x13f4380)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0x13f4600) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -605,25 +423,13 @@ Class QRegExp
base size=4 base align=4
QRegExp (0x13f4d00) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0x13f4f40) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0x13f4fc0) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0x14c6100) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0x14c6040) 0
Class QStringList
size=4 align=4
@@ -631,15 +437,7 @@ Class QStringList
QStringList (0x14c61c0) 0
QList<QString> (0x14c6200) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0x14c66c0) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0x14c6740) 0
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -773,50 +571,22 @@ QFile (0x153b940) 0
QObject (0x153b9c0) 0
primary-for QIODevice (0x153b980)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0x153bb80) 0
Class QFileInfo
size=4 align=4
base size=4 base align=4
QFileInfo (0x153bbc0) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0x153bc80) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0x153bd00) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0x153bec0) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0x153be00) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0x153bf80) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0x1611040) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0x16110c0) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -873,10 +643,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0x1611100) 0
vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0x16113c0) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -950,10 +716,6 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0x16118c0) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0x1611940) 0 empty
Class QMapData::Node
size=8 align=4
@@ -978,10 +740,6 @@ Class QTextStream
QTextStream (0x170f8c0) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0x170fb80) 0
Class QTextStreamManipulator
size=24 align=4
@@ -1088,40 +846,16 @@ Class rlimit
base size=16 base align=8
rlimit (0x1849840) 0
-Class OSReadSwapInt64(const volatile void*, uintptr_t)::<anonymous union>
- size=8 align=8
- base size=8 base align=8
-OSReadSwapInt64(const volatile void*, uintptr_t)::<anonymous union> (0x1849a40) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0x187b140) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0x187b1c0) 0
Class wait
size=4 align=4
base size=4 base align=4
wait (0x187b0c0) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x187b240) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x187b2c0) 0
-Class <anonymous struct>
- size=16 align=8
- base size=16 base align=8
-<anonymous struct> (0x187b340) 0
Class QVectorData
size=16 align=4
@@ -1259,15 +993,7 @@ Class QLocale
base size=4 base align=4
QLocale (0x19f41c0) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0x19f4280) 0 empty
-Class QFlags<QLocale::NumberOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLocale::NumberOption> (0x19f4340) 0
Vtable for QSystemLocale
QSystemLocale::_ZTV13QSystemLocale: 6u entries
@@ -1294,270 +1020,58 @@ Class QMetaType
base size=0 base align=1
QMetaType (0x19f4540) 0 empty
-Class QMetaTypeId2<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QString> (0x19f4740) 0 empty
-Class QMetaTypeId2<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<int> (0x19f4800) 0 empty
-Class QMetaTypeId2<uint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<uint> (0x19f48c0) 0 empty
-Class QMetaTypeId2<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<bool> (0x19f4980) 0 empty
-Class QMetaTypeId2<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<double> (0x19f4a40) 0 empty
-Class QMetaTypeId2<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QByteArray> (0x19f4b00) 0 empty
-Class QMetaTypeId2<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QChar> (0x19f4bc0) 0 empty
-Class QMetaTypeId2<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long int> (0x19f4c80) 0 empty
-Class QMetaTypeId2<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short int> (0x19f4d40) 0 empty
-Class QMetaTypeId2<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<char> (0x19f4e00) 0 empty
-Class QMetaTypeId2<ulong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<ulong> (0x19f4ec0) 0 empty
-Class QMetaTypeId2<ushort>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<ushort> (0x19f4f80) 0 empty
-Class QMetaTypeId2<uchar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<uchar> (0x19f4480) 0 empty
-Class QMetaTypeId2<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<float> (0x1a86080) 0 empty
-Class QMetaTypeId2<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QObject*> (0x1a86140) 0 empty
-Class QMetaTypeId2<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QWidget*> (0x1a86200) 0 empty
-Class QMetaTypeId2<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<void*> (0x1a862c0) 0 empty
-Class QMetaTypeId2<qlonglong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<qlonglong> (0x1a86380) 0 empty
-Class QMetaTypeId2<qulonglong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<qulonglong> (0x1a86440) 0 empty
-Class QMetaTypeId2<QStringList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QStringList> (0x1a86500) 0 empty
-Class QMetaTypeId2<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitArray> (0x1a865c0) 0 empty
-Class QMetaTypeId2<QDate>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDate> (0x1a86680) 0 empty
-Class QMetaTypeId2<QTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTime> (0x1a86740) 0 empty
-Class QMetaTypeId2<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDateTime> (0x1a86800) 0 empty
-Class QMetaTypeId2<QUrl>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QUrl> (0x1a868c0) 0 empty
-Class QMetaTypeId2<QLocale>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLocale> (0x1a86980) 0 empty
-Class QMetaTypeId2<QRect>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRect> (0x1a86a40) 0 empty
-Class QMetaTypeId2<QRectF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRectF> (0x1a86b00) 0 empty
-Class QMetaTypeId2<QSize>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSize> (0x1a86bc0) 0 empty
-Class QMetaTypeId2<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizeF> (0x1a86c80) 0 empty
-Class QMetaTypeId2<QLine>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLine> (0x1a86d40) 0 empty
-Class QMetaTypeId2<QLineF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLineF> (0x1a86e00) 0 empty
-Class QMetaTypeId2<QPoint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPoint> (0x1a86ec0) 0 empty
-Class QMetaTypeId2<QPointF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPointF> (0x1a86f80) 0 empty
-Class QMetaTypeId2<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegExp> (0x1aa7040) 0 empty
-Class QMetaTypeId2<QColorGroup>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColorGroup> (0x1aa7100) 0 empty
-Class QMetaTypeId2<QFont>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QFont> (0x1aa71c0) 0 empty
-Class QMetaTypeId2<QPixmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPixmap> (0x1aa7280) 0 empty
-Class QMetaTypeId2<QBrush>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBrush> (0x1aa7340) 0 empty
-Class QMetaTypeId2<QColor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColor> (0x1aa7400) 0 empty
-Class QMetaTypeId2<QPalette>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPalette> (0x1aa74c0) 0 empty
-Class QMetaTypeId2<QIcon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QIcon> (0x1aa7580) 0 empty
-Class QMetaTypeId2<QImage>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QImage> (0x1aa7640) 0 empty
-Class QMetaTypeId2<QPolygon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPolygon> (0x1aa7700) 0 empty
-Class QMetaTypeId2<QRegion>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegion> (0x1aa77c0) 0 empty
-Class QMetaTypeId2<QBitmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitmap> (0x1aa7880) 0 empty
-Class QMetaTypeId2<QCursor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QCursor> (0x1aa7940) 0 empty
-Class QMetaTypeId2<QSizePolicy>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizePolicy> (0x1aa7a00) 0 empty
-Class QMetaTypeId2<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QKeySequence> (0x1aa7ac0) 0 empty
-Class QMetaTypeId2<QPen>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPen> (0x1aa7b80) 0 empty
-Class QMetaTypeId2<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextLength> (0x1aa7c40) 0 empty
-Class QMetaTypeId2<QTextFormat>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextFormat> (0x1aa7d00) 0 empty
-Class QMetaTypeId2<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMatrix> (0x1aa7dc0) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -1584,60 +1098,20 @@ Class QVariant
base size=16 base align=4
QVariant (0x1aa7e40) 0
-Class QMetaTypeId2<QVariantList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QVariantList> (0x1ae5380) 0 empty
-Class QMetaTypeId2<QVariantMap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QVariantMap> (0x1ae5440) 0 empty
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0x1ae5640) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0x1ae5580) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0x1ae5840) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0x1ae5780) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0x1ae59c0) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0x1ae5b00) 0 empty
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0x1ae5bc0) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x1ae5c40) 0
-Class <anonymous struct>
- size=3156 align=4
- base size=3156 base align=4
-<anonymous struct> (0x1ae5cc0) 0
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1715,15 +1189,7 @@ Class QUrl
base size=4 base align=4
QUrl (0x1ba0340) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0x1ba0500) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0x1ba0580) 0 empty
Vtable for QEventLoop
QEventLoop::_ZTV10QEventLoop: 14u entries
@@ -1750,10 +1216,6 @@ QEventLoop (0x1ba0600) 0
QObject (0x1ba0640) 0
primary-for QEventLoop (0x1ba0600)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0x1ba0840) 0
Vtable for QAbstractEventDispatcher
QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 27u entries
@@ -1798,20 +1260,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0x1ba0a80) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0x1ba0c40) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0x1ba0cc0) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0x1ba0e00) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -1981,10 +1435,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0x1c84400) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0x1c84500) 0 empty
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -2091,20 +1541,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0x1c84f40) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0x1d19080) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0x1d19100) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0x1d191c0) 0 empty
Class QMetaProperty
size=20 align=4
@@ -2116,10 +1558,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0x1d19280) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0x1d19340) 0 empty
Vtable for QMimeData
QMimeData::_ZTV9QMimeData: 17u entries
@@ -2301,10 +1739,6 @@ QLibrary (0x1d19d40) 0
QObject (0x1d19d80) 0
primary-for QLibrary (0x1d19d40)
-Class QFlags<QLibrary::LoadHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLibrary::LoadHint> (0x1d19f40) 0
Vtable for QPluginLoader
QPluginLoader::_ZTV13QPluginLoader: 14u entries
@@ -2341,10 +1775,6 @@ Class QMutex
base size=4 base align=4
QMutex (0x1dd4080) 0
-Class QMutexLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMutexLocker::<anonymous union> (0x1dd4240) 0
Class QMutexLocker
size=4 align=4
@@ -2356,20 +1786,12 @@ Class QReadWriteLock
base size=4 base align=4
QReadWriteLock (0x1dd4300) 0
-Class QReadLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QReadLocker::<anonymous union> (0x1dd43c0) 0
Class QReadLocker
size=4 align=4
base size=4 base align=4
QReadLocker (0x1dd4340) 0
-Class QWriteLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QWriteLocker::<anonymous union> (0x1dd4500) 0
Class QWriteLocker
size=4 align=4
@@ -2427,10 +1849,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0x1dd4f00) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0x1dd4740) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -2442,70 +1860,42 @@ Class QDate
base size=4 base align=4
QDate (0x1e65240) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0x1e65440) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0x1e654c0) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0x1e656c0) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0x1e65740) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0x1e658c0) 0 empty
Class QPoint
size=8 align=4
base size=8 base align=4
QPoint (0x1e65940) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0x1e65dc0) 0 empty
Class QPointF
size=16 align=8
base size=16 base align=4
QPointF (0x1e65500) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0x1e65c80) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0x1f13280) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0x1f13300) 0 empty
Class QLineF
size=32 align=8
base size=32 base align=4
QLineF (0x1f13480) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0x1f13540) 0 empty
Class QLinkedListData
size=20 align=4
@@ -2517,40 +1907,24 @@ Class QSize
base size=8 base align=4
QSize (0x1f13b80) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0x1f13f80) 0 empty
Class QSizeF
size=16 align=8
base size=16 base align=4
QSizeF (0x2020140) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0x2020540) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0x20209c0) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0x2020b80) 0 empty
Class QRectF
size=32 align=8
base size=32 base align=4
QRectF (0x2020e00) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0x2020fc0) 0 empty
Class QSharedData
size=4 align=4
@@ -2695,15 +2069,7 @@ Class QXmlAttributes::Attribute
base size=16 base align=4
QXmlAttributes::Attribute (0x2135d00) 0
-Class QList<QXmlAttributes::Attribute>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QXmlAttributes::Attribute>::<anonymous union> (0x2135ec0) 0
-Class QList<QXmlAttributes::Attribute>
- size=4 align=4
- base size=4 base align=4
-QList<QXmlAttributes::Attribute> (0x2135e00) 0
Vtable for QXmlAttributes
QXmlAttributes::_ZTV14QXmlAttributes: 4u entries
@@ -3033,33 +2399,9 @@ QXmlDefaultHandler (0x2251700) 0
QXmlDeclHandler (0x2252040) 20 nearly-empty
vptr=((& QXmlDefaultHandler::_ZTV18QXmlDefaultHandler) + 268u)
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0x22e06c0) 0
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0x22fe540) 0
-Class QTypeInfo<QDebug::Stream*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDebug::Stream*> (0x234f5c0) 0 empty
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0x23d2400) 0
-Class QTypeInfo<QXmlAttributes::Attribute>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QXmlAttributes::Attribute> (0x23d2680) 0 empty
-Class QList<QXmlAttributes::Attribute>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QXmlAttributes::Attribute>::Node (0x23d2740) 0
diff --git a/tests/auto/bic/data/QtXml.4.2.0.win32-gcc-ia32.txt b/tests/auto/bic/data/QtXml.4.2.0.win32-gcc-ia32.txt
index cbc1df6..318b311 100644
--- a/tests/auto/bic/data/QtXml.4.2.0.win32-gcc-ia32.txt
+++ b/tests/auto/bic/data/QtXml.4.2.0.win32-gcc-ia32.txt
@@ -1,34 +1,8 @@
-Class QUintForSize<4>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<4> (0xa9db00) 0 empty
-Class QUintForSize<8>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<8> (0xa9dc00) 0 empty
-Class QUintForType<void*>
- size=1 align=1
- base size=1 base align=1
-QUintForType<void*> (0xa9df00) 0 empty
- QUintForSize<4> (0xac2000) 0 empty
-Class QIntForSize<4>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<4> (0xac2180) 0 empty
-Class QIntForSize<8>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<8> (0xac2240) 0 empty
-Class QIntForType<void*>
- size=1 align=1
- base size=1 base align=1
-QIntForType<void*> (0xac24c0) 0 empty
- QIntForSize<4> (0xac2580) 0 empty
Class QSysInfo
size=1 align=1
@@ -50,80 +24,20 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0xaf4380) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0xaf4b80) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0xaf4d00) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0xaf4e80) 0 empty
-Class QTypeInfo<uchar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uchar> (0xb0a000) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0xb0a180) 0 empty
-Class QTypeInfo<ushort>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ushort> (0xb0a300) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0xb0a480) 0 empty
-Class QTypeInfo<uint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<uint> (0xb0a600) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0xb0a780) 0 empty
-Class QTypeInfo<ulong>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<ulong> (0xb0a900) 0 empty
-Class QTypeInfo<qint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<qint64> (0xb0aa80) 0 empty
-Class QTypeInfo<quint64>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<quint64> (0xb0ac00) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0xb0ad80) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0xb0af00) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0xb36080) 0 empty
Class QFlag
size=4 align=4
@@ -140,10 +54,6 @@ Class QChar
base size=2 base align=2
QChar (0xb60f00) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0xb97380) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -171,75 +81,19 @@ Class QByteRef
base size=8 base align=4
QByteRef (0xc4bb00) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0xd72780) 0 empty
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0xd84e00) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0xd940c0) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0xd84980) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0xd9ae40) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0xd94780) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0xda58c0) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0xdd9300) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0xdd9600) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0xda0080) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0xde94c0) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0xde9d00) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0xdef080) 0
-Class QFlags<Qt::TextInteractionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::TextInteractionFlag> (0xdef480) 0
Class QInternal
size=1 align=1
@@ -266,10 +120,6 @@ Class QLatin1String
base size=4 base align=4
QLatin1String (0xee0240) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0xee0780) 0
Class QCharRef
size=8 align=4
@@ -282,10 +132,6 @@ Class QConstString
QConstString (0x11f3dc0) 0
QString (0x11f3e00) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0x1260140) 0 empty
Vtable for std::exception
std::exception::_ZTVSt9exception: 5u entries
@@ -348,10 +194,6 @@ Class QListData
base size=4 base align=4
QListData (0x12d61c0) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0x13dc180) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -376,15 +218,7 @@ Class QTextCodec
QTextCodec (0xee01c0) 0 nearly-empty
vptr=((&QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0x1400480) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0xc5d5c0) 0
Class QTextEncoder
size=32 align=4
@@ -407,25 +241,13 @@ Class QGenericReturnArgument
QGenericReturnArgument (0x144b300) 0
QGenericArgument (0x144b340) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0x1460ac0) 0
Class QMetaObject
size=16 align=4
base size=16 base align=4
QMetaObject (0x144b8c0) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0x1490340) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0x1476f40) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -517,10 +339,6 @@ QIODevice (0x13b5a40) 0
QObject (0x150ab40) 0
primary-for QIODevice (0x13b5a40)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0x150ae40) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -540,25 +358,13 @@ Class QRegExp
base size=4 base align=4
QRegExp (0xee00c0) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0x15d9c00) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0x15d9f80) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0x15f14c0) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0x15f1380) 0
Class QStringList
size=4 align=4
@@ -566,15 +372,7 @@ Class QStringList
QStringList (0xee0140) 0
QList<QString> (0x15f1740) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0x15f1600) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0x15f15c0) 0
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -703,50 +501,22 @@ QFile (0x1700080) 0
QObject (0x1700100) 0
primary-for QIODevice (0x17000c0)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0x1700940) 0
Class QFileInfo
size=4 align=4
base size=4 base align=4
QFileInfo (0x1758140) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0x1758a80) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0x1771ac0) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0x1771f80) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0x1771e80) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0x1716fc0) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0x17acc80) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0x17ac880) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -803,10 +573,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0x16f0f80) 0
vptr=((&QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0x18490c0) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -880,10 +646,6 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0x18abb80) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0x18abc80) 0 empty
Class QMapData::Node
size=8 align=4
@@ -908,10 +670,6 @@ Class QTextStream
QTextStream (0x1aec580) 0
vptr=((&QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0x1aec940) 0
Class QTextStreamManipulator
size=24 align=4
@@ -948,20 +706,8 @@ QTextOStream (0x1b7d740) 0
QTextStream (0x1b7d780) 0
primary-for QTextOStream (0x1b7d740)
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x1bb1980) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0x1bb1b00) 0
-Class <anonymous struct>
- size=16 align=8
- base size=16 base align=8
-<anonymous struct> (0x1bd78c0) 0
Class QVectorData
size=16 align=4
@@ -1099,15 +845,7 @@ Class QLocale
base size=4 base align=4
QLocale (0x1e3dcc0) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0x1e87980) 0 empty
-Class QFlags<QLocale::NumberOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLocale::NumberOption> (0x1e87040) 0
Vtable for QSystemLocale
QSystemLocale::_ZTV13QSystemLocale: 6u entries
@@ -1134,270 +872,58 @@ Class QMetaType
base size=0 base align=1
QMetaType (0x1ee9400) 0 empty
-Class QMetaTypeId2<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QString> (0x1f0a840) 0 empty
-Class QMetaTypeId2<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<int> (0x1f0a9c0) 0 empty
-Class QMetaTypeId2<uint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<uint> (0x1f0ab40) 0 empty
-Class QMetaTypeId2<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<bool> (0x1f0acc0) 0 empty
-Class QMetaTypeId2<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<double> (0x1f0ae40) 0 empty
-Class QMetaTypeId2<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QByteArray> (0x1f0afc0) 0 empty
-Class QMetaTypeId2<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QChar> (0x1f1e140) 0 empty
-Class QMetaTypeId2<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long int> (0x1f1e2c0) 0 empty
-Class QMetaTypeId2<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short int> (0x1f1e440) 0 empty
-Class QMetaTypeId2<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<char> (0x1f1e5c0) 0 empty
-Class QMetaTypeId2<ulong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<ulong> (0x1f1e740) 0 empty
-Class QMetaTypeId2<ushort>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<ushort> (0x1f1e8c0) 0 empty
-Class QMetaTypeId2<uchar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<uchar> (0x1f1ea40) 0 empty
-Class QMetaTypeId2<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<float> (0x1f1ebc0) 0 empty
-Class QMetaTypeId2<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QObject*> (0x1f1ed40) 0 empty
-Class QMetaTypeId2<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QWidget*> (0x1f1eec0) 0 empty
-Class QMetaTypeId2<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<void*> (0x1f3e040) 0 empty
-Class QMetaTypeId2<qlonglong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<qlonglong> (0x1f3e1c0) 0 empty
-Class QMetaTypeId2<qulonglong>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<qulonglong> (0x1f3e340) 0 empty
-Class QMetaTypeId2<QStringList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QStringList> (0x1f3e4c0) 0 empty
-Class QMetaTypeId2<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitArray> (0x1f3e640) 0 empty
-Class QMetaTypeId2<QDate>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDate> (0x1f3e7c0) 0 empty
-Class QMetaTypeId2<QTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTime> (0x1f3e940) 0 empty
-Class QMetaTypeId2<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDateTime> (0x1f3eac0) 0 empty
-Class QMetaTypeId2<QUrl>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QUrl> (0x1f3ec40) 0 empty
-Class QMetaTypeId2<QLocale>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLocale> (0x1f3edc0) 0 empty
-Class QMetaTypeId2<QRect>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRect> (0x1f3ef40) 0 empty
-Class QMetaTypeId2<QRectF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRectF> (0x1f5b0c0) 0 empty
-Class QMetaTypeId2<QSize>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSize> (0x1f5b240) 0 empty
-Class QMetaTypeId2<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizeF> (0x1f5b3c0) 0 empty
-Class QMetaTypeId2<QLine>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLine> (0x1f5b540) 0 empty
-Class QMetaTypeId2<QLineF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLineF> (0x1f5b6c0) 0 empty
-Class QMetaTypeId2<QPoint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPoint> (0x1f5b840) 0 empty
-Class QMetaTypeId2<QPointF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPointF> (0x1f5b9c0) 0 empty
-Class QMetaTypeId2<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegExp> (0x1f5bb40) 0 empty
-Class QMetaTypeId2<QColorGroup>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColorGroup> (0x1f5bcc0) 0 empty
-Class QMetaTypeId2<QFont>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QFont> (0x1f5be40) 0 empty
-Class QMetaTypeId2<QPixmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPixmap> (0x1f5bfc0) 0 empty
-Class QMetaTypeId2<QBrush>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBrush> (0x1f7a140) 0 empty
-Class QMetaTypeId2<QColor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColor> (0x1f7a2c0) 0 empty
-Class QMetaTypeId2<QPalette>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPalette> (0x1f7a440) 0 empty
-Class QMetaTypeId2<QIcon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QIcon> (0x1f7a5c0) 0 empty
-Class QMetaTypeId2<QImage>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QImage> (0x1f7a740) 0 empty
-Class QMetaTypeId2<QPolygon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPolygon> (0x1f7a8c0) 0 empty
-Class QMetaTypeId2<QRegion>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegion> (0x1f7aa40) 0 empty
-Class QMetaTypeId2<QBitmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitmap> (0x1f7abc0) 0 empty
-Class QMetaTypeId2<QCursor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QCursor> (0x1f7ad40) 0 empty
-Class QMetaTypeId2<QSizePolicy>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizePolicy> (0x1f7aec0) 0 empty
-Class QMetaTypeId2<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QKeySequence> (0x1f9c040) 0 empty
-Class QMetaTypeId2<QPen>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPen> (0x1f9c1c0) 0 empty
-Class QMetaTypeId2<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextLength> (0x1f9c340) 0 empty
-Class QMetaTypeId2<QTextFormat>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextFormat> (0x1f9c4c0) 0 empty
-Class QMetaTypeId2<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMatrix> (0x1f9c640) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -1424,45 +950,17 @@ Class QVariant
base size=16 base align=8
QVariant (0x1476c80) 0
-Class QMetaTypeId2<QVariantList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QVariantList> (0x1feee00) 0 empty
-Class QMetaTypeId2<QVariantMap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QVariantMap> (0x1feefc0) 0 empty
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0x2022480) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0x1fb0540) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0x2022780) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0x1fb05c0) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0x1f9c800) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0x208a100) 0 empty
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1540,15 +1038,7 @@ Class QUrl
base size=4 base align=4
QUrl (0x1f0a180) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0x2144440) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0x21a2040) 0 empty
Vtable for QEventLoop
QEventLoop::_ZTV10QEventLoop: 14u entries
@@ -1575,10 +1065,6 @@ QEventLoop (0x21a26c0) 0
QObject (0x21a2700) 0
primary-for QEventLoop (0x21a26c0)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0x21a2a00) 0
Vtable for QAbstractEventDispatcher
QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 27u entries
@@ -1623,20 +1109,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0x221d200) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0x221de80) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0x221d180) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0x22492c0) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -1806,10 +1284,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0x22ce7c0) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0x22cee00) 0 empty
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -1917,20 +1391,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0x143fc00) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0x2372bc0) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0x143fc80) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0x23871c0) 0 empty
Class QMetaProperty
size=20 align=4
@@ -1942,10 +1408,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0x143fd80) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0x2387900) 0 empty
Vtable for QMimeData
QMimeData::_ZTV9QMimeData: 17u entries
@@ -2127,10 +1589,6 @@ QLibrary (0x2446040) 0
QObject (0x2446080) 0
primary-for QLibrary (0x2446040)
-Class QFlags<QLibrary::LoadHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLibrary::LoadHint> (0x24462c0) 0
Vtable for QPluginLoader
QPluginLoader::_ZTV13QPluginLoader: 14u entries
@@ -2172,10 +1630,6 @@ Class QMutex
base size=4 base align=4
QMutex (0x24b77c0) 0
-Class QMutexLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMutexLocker::<anonymous union> (0x24e5000) 0
Class QMutexLocker
size=4 align=4
@@ -2187,20 +1641,12 @@ Class QReadWriteLock
base size=4 base align=4
QReadWriteLock (0x24e5e00) 0
-Class QReadLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QReadLocker::<anonymous union> (0x24f7140) 0
Class QReadLocker
size=4 align=4
base size=4 base align=4
QReadLocker (0x24e5fc0) 0
-Class QWriteLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QWriteLocker::<anonymous union> (0x24f7900) 0
Class QWriteLocker
size=4 align=4
@@ -2258,10 +1704,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0x253aac0) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0x2595480) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -2273,70 +1715,42 @@ Class QDate
base size=4 base align=4
QDate (0x1e3db40) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0x25ed640) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0x1e3dbc0) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0x2615280) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0x1758040) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0x2644040) 0 empty
Class QPoint
size=8 align=4
base size=8 base align=4
QPoint (0x1f0a340) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0x2644c80) 0 empty
Class QPointF
size=16 align=8
base size=16 base align=8
QPointF (0x1f0a380) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0x266ce40) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0x1f0a2c0) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0x26b32c0) 0 empty
Class QLineF
size=32 align=8
base size=32 base align=8
QLineF (0x1f0a300) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0x26de780) 0 empty
Class QLinkedListData
size=20 align=4
@@ -2348,40 +1762,24 @@ Class QSize
base size=8 base align=4
QSize (0x1f0a240) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0x27d0fc0) 0 empty
Class QSizeF
size=16 align=8
base size=16 base align=8
QSizeF (0x1f0a280) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0x2820500) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0x1f0a1c0) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0x28a7000) 0 empty
Class QRectF
size=32 align=8
base size=32 base align=8
QRectF (0x1f0a200) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0x292b340) 0 empty
Class QSharedData
size=4 align=4
@@ -2526,15 +1924,7 @@ Class QXmlAttributes::Attribute
base size=16 base align=4
QXmlAttributes::Attribute (0x2a83d80) 0
-Class QList<QXmlAttributes::Attribute>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QXmlAttributes::Attribute>::<anonymous union> (0x2a9b040) 0
-Class QList<QXmlAttributes::Attribute>
- size=4 align=4
- base size=4 base align=4
-QList<QXmlAttributes::Attribute> (0x2a83ec0) 0
Vtable for QXmlAttributes
QXmlAttributes::_ZTV14QXmlAttributes: 4u entries
@@ -2864,33 +2254,9 @@ QXmlDefaultHandler (0x2a83340) 0
QXmlDeclHandler (0x2b13700) 20 nearly-empty
vptr=((&QXmlDefaultHandler::_ZTV18QXmlDefaultHandler) + 268u)
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0x1400440) 0
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0x15f1480) 0
-Class QTypeInfo<QDebug::Stream*>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDebug::Stream*> (0x2cf0b80) 0 empty
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0x1771f40) 0
-Class QTypeInfo<QXmlAttributes::Attribute>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QXmlAttributes::Attribute> (0x2e19e00) 0 empty
-Class QList<QXmlAttributes::Attribute>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QXmlAttributes::Attribute>::Node (0x2a9b000) 0
diff --git a/tests/auto/bic/data/QtXml.4.3.0.linux-gcc-ia32.txt b/tests/auto/bic/data/QtXml.4.3.0.linux-gcc-ia32.txt
index a0788b7..0dc3e8b 100644
--- a/tests/auto/bic/data/QtXml.4.3.0.linux-gcc-ia32.txt
+++ b/tests/auto/bic/data/QtXml.4.3.0.linux-gcc-ia32.txt
@@ -1,34 +1,8 @@
-Class QUintForSize<4>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<4> (0xb7f0ac80) 0 empty
-Class QUintForSize<8>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<8> (0xb7f0acc0) 0 empty
-Class QUintForType<void*>
- size=1 align=1
- base size=1 base align=1
-QUintForType<void*> (0xb7f0ad80) 0 empty
- QUintForSize<4> (0xb7f0adc0) 0 empty
-Class QIntForSize<4>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<4> (0xb7f0ae40) 0 empty
-Class QIntForSize<8>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<8> (0xb7f0ae80) 0 empty
-Class QIntForType<void*>
- size=1 align=1
- base size=1 base align=1
-QIntForType<void*> (0xb7f0af40) 0 empty
- QIntForSize<4> (0xb7f0af80) 0 empty
Class QSysInfo
size=1 align=1
@@ -50,150 +24,38 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0xb77b3240) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0xb77b3300) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0xb77b3340) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0xb77b3380) 0 empty
-Class QTypeInfo<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned char> (0xb77b33c0) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0xb77b3400) 0 empty
-Class QTypeInfo<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short unsigned int> (0xb77b3440) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0xb77b3480) 0 empty
-Class QTypeInfo<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned int> (0xb77b34c0) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0xb77b3500) 0 empty
-Class QTypeInfo<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long unsigned int> (0xb77b3540) 0 empty
-Class QTypeInfo<long long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long int> (0xb77b3580) 0 empty
-Class QTypeInfo<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long unsigned int> (0xb77b35c0) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0xb77b3600) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0xb77b3640) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0xb77b3680) 0 empty
Class QFlag
size=4 align=4
base size=4 base align=4
QFlag (0xb77b36c0) 0
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0xb77b37c0) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0xb77b3800) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0xb77b3840) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0xb77b3880) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0xb77b38c0) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0xb77b3900) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0xb77b3940) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0xb77b3980) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0xb77b39c0) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0xb77b3a00) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0xb77b3a40) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0xb77b3a80) 0
-Class QFlags<Qt::TextInteractionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::TextInteractionFlag> (0xb77b3ac0) 0
Class QInternal
size=1 align=1
@@ -211,10 +73,6 @@ Class QGenericReturnArgument
QGenericReturnArgument (0xb77b3bc0) 0
QGenericArgument (0xb77b3c00) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0xb77b3dc0) 0
Class QMetaObject
size=16 align=4
@@ -231,10 +89,6 @@ Class QChar
base size=2 base align=2
QChar (0xb77b3e80) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0xb77b3f00) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -267,10 +121,6 @@ Class QByteRef
base size=8 base align=4
QByteRef (0xb7315200) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0xb7315240) 0 empty
Class QString::Null
size=1 align=1
@@ -287,10 +137,6 @@ Class QString
base size=4 base align=4
QString (0xb7315280) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0xb7315480) 0
Class QLatin1String
size=4 align=4
@@ -308,10 +154,6 @@ Class QConstString
QConstString (0xb7315580) 0
QString (0xb73155c0) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0xb7315600) 0 empty
Class QStringRef
size=12 align=4
@@ -379,15 +221,7 @@ Class QListData
base size=4 base align=4
QListData (0xb7315940) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0xb7315cc0) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0xb7315c40) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -463,10 +297,6 @@ QLibrary (0xb7315f00) 0
QObject (0xb7315f40) 0
primary-for QLibrary (0xb7315f00)
-Class QFlags<QLibrary::LoadHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLibrary::LoadHint> (0xb7315fc0) 0
Class QUuid
size=16 align=4
@@ -514,10 +344,6 @@ QIODevice (0xb7315740) 0
QObject (0xb7315800) 0
primary-for QIODevice (0xb7315740)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0xb7315b00) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -537,25 +363,13 @@ Class QRegExp
base size=4 base align=4
QRegExp (0xb7315dc0) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0xb7315f80) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0xb6d72000) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0xb6d720c0) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0xb6d72040) 0
Class QStringList
size=4 align=4
@@ -563,15 +377,7 @@ Class QStringList
QStringList (0xb6d72100) 0
QList<QString> (0xb6d72140) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0xb6d721c0) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0xb6d72200) 0
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -627,10 +433,6 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0xb6d72580) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0xb6d725c0) 0 empty
Class QCryptographicHash
size=4 align=4
@@ -642,75 +444,35 @@ Class QDate
base size=4 base align=4
QDate (0xb6d72b00) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0xb6d72bc0) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0xb6d72c00) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0xb6d72cc0) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0xb6d72d00) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0xb6d72dc0) 0 empty
Class QByteArrayMatcher
size=1032 align=4
base size=1032 base align=4
QByteArrayMatcher (0xb6d72e00) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0xb6d72e80) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0xb6d72ec0) 0
Class wait
size=4 align=4
base size=4 base align=4
wait (0xb6d72e40) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6d72f00) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6d72f40) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb6d72f80) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6d72fc0) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb6d72300) 0
Class timespec
size=8 align=4
@@ -722,80 +484,24 @@ Class timeval
base size=8 base align=4
timeval (0xb6d72980) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb6d72b40) 0
-Class <anonymous union>
- size=36 align=4
- base size=36 base align=4
-<anonymous union> (0xb6d72b80) 0
Class __pthread_internal_slist
size=4 align=4
base size=4 base align=4
__pthread_internal_slist (0xb6d72c40) 0
-Class <anonymous union>::__pthread_mutex_s::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union>::__pthread_mutex_s::<anonymous union> (0xb6d72d80) 0
-Class <anonymous union>::__pthread_mutex_s
- size=24 align=4
- base size=24 base align=4
-<anonymous union>::__pthread_mutex_s (0xb6d72d40) 0
-Class <anonymous union>
- size=24 align=4
- base size=24 base align=4
-<anonymous union> (0xb6d72c80) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb6cd4000) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0xb6cd4080) 0
-Class <anonymous union>
- size=48 align=4
- base size=48 base align=4
-<anonymous union> (0xb6cd4040) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb6cd40c0) 0
-Class <anonymous union>::<anonymous struct>
- size=32 align=4
- base size=32 base align=4
-<anonymous union>::<anonymous struct> (0xb6cd4140) 0
-Class <anonymous union>
- size=32 align=4
- base size=32 base align=4
-<anonymous union> (0xb6cd4100) 0
-Class <anonymous union>
- size=8 align=4
- base size=8 base align=4
-<anonymous union> (0xb6cd4180) 0
-Class <anonymous union>
- size=20 align=4
- base size=20 base align=4
-<anonymous union> (0xb6cd41c0) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb6cd4200) 0
Class random_data
size=28 align=4
@@ -817,20 +523,12 @@ Class QSize
base size=8 base align=4
QSize (0xb6cd4480) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0xb6cd4680) 0 empty
Class QSizeF
size=16 align=4
base size=16 base align=4
QSizeF (0xb6cd4700) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0xb6cd4900) 0 empty
Class QLinkedListData
size=20 align=4
@@ -842,15 +540,7 @@ Class QLocale
base size=4 base align=4
QLocale (0xb6cd4cc0) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0xb6cd4d00) 0 empty
-Class QFlags<QLocale::NumberOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLocale::NumberOption> (0xb6cd4d40) 0
Vtable for QSystemLocale
QSystemLocale::_ZTV13QSystemLocale: 6u entries
@@ -887,60 +577,36 @@ Class QPoint
base size=8 base align=4
QPoint (0xb6cd48c0) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0xb6cd4b80) 0 empty
Class QPointF
size=16 align=4
base size=16 base align=4
QPointF (0xb6cd4dc0) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0xb6b36200) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0xb6b36340) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0xb6b36440) 0 empty
Class QRectF
size=32 align=4
base size=32 base align=4
QRectF (0xb6b36480) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0xb6b36540) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0xb6b36580) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0xb6b365c0) 0 empty
Class QLineF
size=32 align=4
base size=32 base align=4
QLineF (0xb6b36600) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0xb6b36640) 0 empty
Vtable for QTimeLine
QTimeLine::_ZTV9QTimeLine: 15u entries
@@ -978,10 +644,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0xb6b369c0) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0xb6b36a00) 0 empty
Class QLibraryInfo
size=1 align=1
@@ -993,290 +655,66 @@ Class QUrl
base size=4 base align=4
QUrl (0xb6b36b40) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0xb6b36bc0) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0xb6b36c00) 0 empty
Class QMetaType
size=1 align=1
base size=0 base align=1
QMetaType (0xb6b36c40) 0 empty
-Class QMetaTypeId2<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QString> (0xb6b36d00) 0 empty
-Class QMetaTypeId2<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<int> (0xb6b36d40) 0 empty
-Class QMetaTypeId2<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned int> (0xb6b36d80) 0 empty
-Class QMetaTypeId2<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<bool> (0xb6b36dc0) 0 empty
-Class QMetaTypeId2<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<double> (0xb6b36e00) 0 empty
-Class QMetaTypeId2<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QByteArray> (0xb6b36e40) 0 empty
-Class QMetaTypeId2<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QChar> (0xb6b36e80) 0 empty
-Class QMetaTypeId2<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long int> (0xb6b36ec0) 0 empty
-Class QMetaTypeId2<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short int> (0xb6b36f00) 0 empty
-Class QMetaTypeId2<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<char> (0xb6b36f40) 0 empty
-Class QMetaTypeId2<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long unsigned int> (0xb6b36f80) 0 empty
-Class QMetaTypeId2<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short unsigned int> (0xb6b36fc0) 0 empty
-Class QMetaTypeId2<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned char> (0xb6b36000) 0 empty
-Class QMetaTypeId2<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<float> (0xb6b36040) 0 empty
-Class QMetaTypeId2<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QObject*> (0xb6b36080) 0 empty
-Class QMetaTypeId2<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QWidget*> (0xb6b360c0) 0 empty
-Class QMetaTypeId2<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<void*> (0xb6b36100) 0 empty
-Class QMetaTypeId2<long long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long int> (0xb6b36140) 0 empty
-Class QMetaTypeId2<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long unsigned int> (0xb6b36180) 0 empty
-Class QMetaTypeId2<QStringList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QStringList> (0xb6b361c0) 0 empty
-Class QMetaTypeId2<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitArray> (0xb6b36380) 0 empty
-Class QMetaTypeId2<QDate>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDate> (0xb6b363c0) 0 empty
-Class QMetaTypeId2<QTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTime> (0xb6b36400) 0 empty
-Class QMetaTypeId2<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDateTime> (0xb6b364c0) 0 empty
-Class QMetaTypeId2<QUrl>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QUrl> (0xb6b36500) 0 empty
-Class QMetaTypeId2<QLocale>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLocale> (0xb6b36840) 0 empty
-Class QMetaTypeId2<QRect>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRect> (0xb677e000) 0 empty
-Class QMetaTypeId2<QRectF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRectF> (0xb677e040) 0 empty
-Class QMetaTypeId2<QSize>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSize> (0xb677e080) 0 empty
-Class QMetaTypeId2<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizeF> (0xb677e0c0) 0 empty
-Class QMetaTypeId2<QLine>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLine> (0xb677e100) 0 empty
-Class QMetaTypeId2<QLineF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLineF> (0xb677e140) 0 empty
-Class QMetaTypeId2<QPoint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPoint> (0xb677e180) 0 empty
-Class QMetaTypeId2<QPointF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPointF> (0xb677e1c0) 0 empty
-Class QMetaTypeId2<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegExp> (0xb677e200) 0 empty
-Class QMetaTypeId2<QColorGroup>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColorGroup> (0xb677e240) 0 empty
-Class QMetaTypeId2<QFont>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QFont> (0xb677e280) 0 empty
-Class QMetaTypeId2<QPixmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPixmap> (0xb677e2c0) 0 empty
-Class QMetaTypeId2<QBrush>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBrush> (0xb677e300) 0 empty
-Class QMetaTypeId2<QColor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColor> (0xb677e340) 0 empty
-Class QMetaTypeId2<QPalette>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPalette> (0xb677e380) 0 empty
-Class QMetaTypeId2<QIcon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QIcon> (0xb677e3c0) 0 empty
-Class QMetaTypeId2<QImage>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QImage> (0xb677e400) 0 empty
-Class QMetaTypeId2<QPolygon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPolygon> (0xb677e440) 0 empty
-Class QMetaTypeId2<QRegion>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegion> (0xb677e480) 0 empty
-Class QMetaTypeId2<QBitmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitmap> (0xb677e4c0) 0 empty
-Class QMetaTypeId2<QCursor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QCursor> (0xb677e500) 0 empty
-Class QMetaTypeId2<QSizePolicy>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizePolicy> (0xb677e540) 0 empty
-Class QMetaTypeId2<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QKeySequence> (0xb677e580) 0 empty
-Class QMetaTypeId2<QPen>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPen> (0xb677e5c0) 0 empty
-Class QMetaTypeId2<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextLength> (0xb677e600) 0 empty
-Class QMetaTypeId2<QTextFormat>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextFormat> (0xb677e640) 0 empty
-Class QMetaTypeId2<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMatrix> (0xb677e680) 0 empty
-Class QMetaTypeId2<QTransform>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTransform> (0xb677e6c0) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -1303,45 +741,17 @@ Class QVariant
base size=12 base align=4
QVariant (0xb677e700) 0
-Class QMetaTypeId2<QList<QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QList<QVariant> > (0xb677e980) 0 empty
-Class QMetaTypeId2<QMap<QString, QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMap<QString, QVariant> > (0xb677e9c0) 0 empty
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0xb677eac0) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0xb677ea40) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0xb677ebc0) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0xb677eb40) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0xb677ec40) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0xb677ecc0) 0 empty
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1368,25 +778,9 @@ QSettings (0xb677ed00) 0
QObject (0xb677ed40) 0
primary-for QSettings (0xb677ed00)
-Class <anonymous struct>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct>::<anonymous union> (0xb677ee40) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb677ee00) 0
-Class <anonymous struct>
- size=12 align=4
- base size=12 base align=4
-<anonymous struct> (0xb677ee80) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb677eec0) 0
Class __gconv_trans_data
size=20 align=4
@@ -1408,15 +802,7 @@ Class __gconv_info
base size=8 base align=4
__gconv_info (0xb677efc0) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0xb677e880) 0
-Class <anonymous union>
- size=44 align=4
- base size=44 base align=4
-<anonymous union> (0xb677e840) 0
Class _IO_marker
size=12 align=4
@@ -1428,10 +814,6 @@ Class _IO_FILE
base size=148 base align=4
_IO_FILE (0xb677e900) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb677e940) 0
Vtable for QFile
QFile::_ZTV5QFile: 31u entries
@@ -1477,10 +859,6 @@ QFile (0xb677ed80) 0
QObject (0xb666f000) 0
primary-for QIODevice (0xb677edc0)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0xb666f080) 0
Vtable for QTemporaryFile
QTemporaryFile::_ZTV14QTemporaryFile: 31u entries
@@ -1533,40 +911,16 @@ Class QFileInfo
base size=4 base align=4
QFileInfo (0xb666f200) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0xb666f240) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0xb666f280) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0xb666f340) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0xb666f2c0) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0xb666f380) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0xb666f400) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0xb666f480) 0
Vtable for QProcess
QProcess::_ZTV8QProcess: 31u entries
@@ -1650,10 +1004,6 @@ Class QDirIterator
QDirIterator (0xb666f6c0) 0
vptr=((& QDirIterator::_ZTV12QDirIterator) + 8u)
-Class QFlags<QDirIterator::IteratorFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDirIterator::IteratorFlag> (0xb666f780) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -1710,10 +1060,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0xb666f7c0) 0
vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0xb666f940) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -1747,10 +1093,6 @@ Class QAbstractFileEngineIterator
QAbstractFileEngineIterator (0xb666fa00) 0
vptr=((& QAbstractFileEngineIterator::_ZTV27QAbstractFileEngineIterator) + 8u)
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0xb666fb40) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -1775,15 +1117,7 @@ Class QTextCodec
QTextCodec (0xb666fa80) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0xb666fc80) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0xb666fc00) 0
Class QTextEncoder
size=32 align=4
@@ -1808,10 +1142,6 @@ Class QTextStream
QTextStream (0xb666fd40) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0xb666fe00) 0
Class QTextStreamManipulator
size=24 align=4
@@ -1958,20 +1288,12 @@ Class QReadWriteLock
base size=4 base align=4
QReadWriteLock (0xb666fdc0) 0
-Class QReadLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QReadLocker::<anonymous union> (0xb64a8000) 0
Class QReadLocker
size=4 align=4
base size=4 base align=4
QReadLocker (0xb666ff80) 0
-Class QWriteLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QWriteLocker::<anonymous union> (0xb64a8080) 0
Class QWriteLocker
size=4 align=4
@@ -1983,10 +1305,6 @@ Class QMutex
base size=4 base align=4
QMutex (0xb64a80c0) 0
-Class QMutexLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMutexLocker::<anonymous union> (0xb64a8140) 0
Class QMutexLocker
size=4 align=4
@@ -2066,10 +1384,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0xb64a8440) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0xb64a8480) 0 empty
Vtable for QMimeData
QMimeData::_ZTV9QMimeData: 17u entries
@@ -2104,20 +1418,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0xb64a8580) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0xb64a85c0) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0xb64a8600) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0xb64a8680) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -2357,10 +1663,6 @@ QEventLoop (0xb64a8b00) 0
QObject (0xb64a8b40) 0
primary-for QEventLoop (0xb64a8b00)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0xb64a8c40) 0
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -2555,20 +1857,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0xb64a8ac0) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0xb64a8bc0) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0xb64a8cc0) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0xb64a8d80) 0 empty
Class QMetaProperty
size=20 align=4
@@ -2580,10 +1874,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0xb64a8f00) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0xb64a8fc0) 0 empty
Vtable for QTextCodecFactoryInterface
QTextCodecFactoryInterface::_ZTV26QTextCodecFactoryInterface: 6u entries
@@ -2654,15 +1944,7 @@ Class QXmlAttributes::Attribute
base size=16 base align=4
QXmlAttributes::Attribute (0xb6420300) 0
-Class QList<QXmlAttributes::Attribute>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QXmlAttributes::Attribute>::<anonymous union> (0xb6420400) 0
-Class QList<QXmlAttributes::Attribute>
- size=4 align=4
- base size=4 base align=4
-QList<QXmlAttributes::Attribute> (0xb6420380) 0
Vtable for QXmlAttributes
QXmlAttributes::_ZTV14QXmlAttributes: 4u entries
@@ -3002,20 +2284,8 @@ Class QXmlStreamAttribute
base size=53 base align=4
QXmlStreamAttribute (0xb6420e80) 0
-Class QTypeInfo<QXmlStreamAttribute>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QXmlStreamAttribute> (0xb6420ec0) 0 empty
-Class QVector<QXmlStreamAttribute>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QXmlStreamAttribute>::<anonymous union> (0xb6420f80) 0
-Class QVector<QXmlStreamAttribute>
- size=4 align=4
- base size=4 base align=4
-QVector<QXmlStreamAttribute> (0xb6420f00) 0
Class QXmlStreamAttributes
size=4 align=4
@@ -3028,30 +2298,18 @@ Class QXmlStreamNamespaceDeclaration
base size=28 base align=4
QXmlStreamNamespaceDeclaration (0xb6420200) 0
-Class QTypeInfo<QXmlStreamNamespaceDeclaration>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QXmlStreamNamespaceDeclaration> (0xb6420240) 0 empty
Class QXmlStreamNotationDeclaration
size=40 align=4
base size=40 base align=4
QXmlStreamNotationDeclaration (0xb6420440) 0
-Class QTypeInfo<QXmlStreamNotationDeclaration>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QXmlStreamNotationDeclaration> (0xb64204c0) 0 empty
Class QXmlStreamEntityDeclaration
size=64 align=4
base size=64 base align=4
QXmlStreamEntityDeclaration (0xb6420640) 0
-Class QTypeInfo<QXmlStreamEntityDeclaration>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QXmlStreamEntityDeclaration> (0xb64206c0) 0 empty
Class QXmlStreamReader
size=4 align=4
@@ -3165,28 +2423,8 @@ Class QDomProcessingInstruction
QDomProcessingInstruction (0xb6153680) 0
QDomNode (0xb61536c0) 0
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0xb6153740) 0
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0xb61537c0) 0
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0xb6153840) 0
-Class QTypeInfo<QXmlAttributes::Attribute>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QXmlAttributes::Attribute> (0xb61538c0) 0 empty
-Class QList<QXmlAttributes::Attribute>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QXmlAttributes::Attribute>::Node (0xb6153940) 0
diff --git a/tests/auto/bic/data/QtXml.4.3.1.linux-gcc-ia32.txt b/tests/auto/bic/data/QtXml.4.3.1.linux-gcc-ia32.txt
index 97af188..6f17d8f 100644
--- a/tests/auto/bic/data/QtXml.4.3.1.linux-gcc-ia32.txt
+++ b/tests/auto/bic/data/QtXml.4.3.1.linux-gcc-ia32.txt
@@ -1,34 +1,8 @@
-Class QUintForSize<4>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<4> (0xb7ef1c80) 0 empty
-Class QUintForSize<8>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<8> (0xb7ef1cc0) 0 empty
-Class QUintForType<void*>
- size=1 align=1
- base size=1 base align=1
-QUintForType<void*> (0xb7ef1d80) 0 empty
- QUintForSize<4> (0xb7ef1dc0) 0 empty
-Class QIntForSize<4>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<4> (0xb7ef1e40) 0 empty
-Class QIntForSize<8>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<8> (0xb7ef1e80) 0 empty
-Class QIntForType<void*>
- size=1 align=1
- base size=1 base align=1
-QIntForType<void*> (0xb7ef1f40) 0 empty
- QIntForSize<4> (0xb7ef1f80) 0 empty
Class QSysInfo
size=1 align=1
@@ -50,80 +24,20 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0xb739b240) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0xb739b300) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0xb739b340) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0xb739b380) 0 empty
-Class QTypeInfo<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned char> (0xb739b3c0) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0xb739b400) 0 empty
-Class QTypeInfo<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short unsigned int> (0xb739b440) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0xb739b480) 0 empty
-Class QTypeInfo<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned int> (0xb739b4c0) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0xb739b500) 0 empty
-Class QTypeInfo<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long unsigned int> (0xb739b540) 0 empty
-Class QTypeInfo<long long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long int> (0xb739b580) 0 empty
-Class QTypeInfo<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long unsigned int> (0xb739b5c0) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0xb739b600) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0xb739b640) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0xb739b680) 0 empty
Class QFlag
size=4 align=4
@@ -161,10 +75,6 @@ Class QByteRef
base size=8 base align=4
QByteRef (0xb739bac0) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0xb739bb00) 0 empty
Vtable for std::exception
std::exception::_ZTVSt9exception: 5u entries
@@ -227,70 +137,18 @@ Class QListData
base size=4 base align=4
QListData (0xb739be00) 0
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0xb739bd80) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0xb739bfc0) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0xb71c2000) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0xb71c2040) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0xb71c2080) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0xb71c20c0) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0xb71c2100) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0xb71c2140) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0xb71c2180) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0xb71c21c0) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0xb71c2200) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0xb71c2240) 0
-Class QFlags<Qt::TextInteractionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::TextInteractionFlag> (0xb71c2280) 0
Class QInternal
size=1 align=1
@@ -308,10 +166,6 @@ Class QGenericReturnArgument
QGenericReturnArgument (0xb71c2380) 0
QGenericArgument (0xb71c23c0) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0xb71c2580) 0
Class QMetaObject
size=16 align=4
@@ -328,10 +182,6 @@ Class QChar
base size=2 base align=2
QChar (0xb71c2640) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0xb71c26c0) 0 empty
Class QString::Null
size=1 align=1
@@ -348,10 +198,6 @@ Class QString
base size=4 base align=4
QString (0xb71c2700) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0xb71c2900) 0
Class QLatin1String
size=4 align=4
@@ -369,25 +215,13 @@ Class QConstString
QConstString (0xb71c29c0) 0
QString (0xb71c2a00) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0xb71c2a40) 0 empty
Class QStringRef
size=12 align=4
base size=12 base align=4
QStringRef (0xb71c2a80) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0xb71c2bc0) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0xb71c2b40) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -479,10 +313,6 @@ QIODevice (0xb71c2e00) 0
QObject (0xb71c2e40) 0
primary-for QIODevice (0xb71c2e00)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0xb71c2f00) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -502,275 +332,59 @@ Class QMetaType
base size=0 base align=1
QMetaType (0xb71c2fc0) 0 empty
-Class QMetaTypeId2<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QString> (0xb71c2c40) 0 empty
-Class QMetaTypeId2<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<int> (0xb71c2cc0) 0 empty
-Class QMetaTypeId2<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned int> (0xb71c2e80) 0 empty
-Class QMetaTypeId2<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<bool> (0xb71c2f80) 0 empty
-Class QMetaTypeId2<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<double> (0xb6f28000) 0 empty
-Class QMetaTypeId2<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QByteArray> (0xb6f28040) 0 empty
-Class QMetaTypeId2<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QChar> (0xb6f28080) 0 empty
-Class QMetaTypeId2<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long int> (0xb6f280c0) 0 empty
-Class QMetaTypeId2<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short int> (0xb6f28100) 0 empty
-Class QMetaTypeId2<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<char> (0xb6f28140) 0 empty
-Class QMetaTypeId2<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long unsigned int> (0xb6f28180) 0 empty
-Class QMetaTypeId2<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short unsigned int> (0xb6f281c0) 0 empty
-Class QMetaTypeId2<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned char> (0xb6f28200) 0 empty
-Class QMetaTypeId2<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<float> (0xb6f28240) 0 empty
-Class QMetaTypeId2<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QObject*> (0xb6f28280) 0 empty
-Class QMetaTypeId2<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QWidget*> (0xb6f282c0) 0 empty
-Class QMetaTypeId2<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<void*> (0xb6f28300) 0 empty
-Class QMetaTypeId2<long long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long int> (0xb6f28340) 0 empty
-Class QMetaTypeId2<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long unsigned int> (0xb6f28380) 0 empty
-Class QMetaTypeId2<QStringList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QStringList> (0xb6f283c0) 0 empty
-Class QMetaTypeId2<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitArray> (0xb6f28400) 0 empty
-Class QMetaTypeId2<QDate>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDate> (0xb6f28440) 0 empty
-Class QMetaTypeId2<QTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTime> (0xb6f28480) 0 empty
-Class QMetaTypeId2<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDateTime> (0xb6f284c0) 0 empty
-Class QMetaTypeId2<QUrl>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QUrl> (0xb6f28500) 0 empty
-Class QMetaTypeId2<QLocale>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLocale> (0xb6f28540) 0 empty
-Class QMetaTypeId2<QRect>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRect> (0xb6f28580) 0 empty
-Class QMetaTypeId2<QRectF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRectF> (0xb6f285c0) 0 empty
-Class QMetaTypeId2<QSize>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSize> (0xb6f28600) 0 empty
-Class QMetaTypeId2<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizeF> (0xb6f28640) 0 empty
-Class QMetaTypeId2<QLine>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLine> (0xb6f28680) 0 empty
-Class QMetaTypeId2<QLineF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLineF> (0xb6f286c0) 0 empty
-Class QMetaTypeId2<QPoint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPoint> (0xb6f28700) 0 empty
-Class QMetaTypeId2<QPointF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPointF> (0xb6f28740) 0 empty
-Class QMetaTypeId2<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegExp> (0xb6f28780) 0 empty
-Class QMetaTypeId2<QColorGroup>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColorGroup> (0xb6f287c0) 0 empty
-Class QMetaTypeId2<QFont>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QFont> (0xb6f28800) 0 empty
-Class QMetaTypeId2<QPixmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPixmap> (0xb6f28840) 0 empty
-Class QMetaTypeId2<QBrush>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBrush> (0xb6f28880) 0 empty
-Class QMetaTypeId2<QColor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColor> (0xb6f288c0) 0 empty
-Class QMetaTypeId2<QPalette>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPalette> (0xb6f28900) 0 empty
-Class QMetaTypeId2<QIcon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QIcon> (0xb6f28940) 0 empty
-Class QMetaTypeId2<QImage>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QImage> (0xb6f28980) 0 empty
-Class QMetaTypeId2<QPolygon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPolygon> (0xb6f289c0) 0 empty
-Class QMetaTypeId2<QRegion>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegion> (0xb6f28a00) 0 empty
-Class QMetaTypeId2<QBitmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitmap> (0xb6f28a40) 0 empty
-Class QMetaTypeId2<QCursor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QCursor> (0xb6f28a80) 0 empty
-Class QMetaTypeId2<QSizePolicy>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizePolicy> (0xb6f28ac0) 0 empty
-Class QMetaTypeId2<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QKeySequence> (0xb6f28b00) 0 empty
-Class QMetaTypeId2<QPen>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPen> (0xb6f28b40) 0 empty
-Class QMetaTypeId2<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextLength> (0xb6f28b80) 0 empty
-Class QMetaTypeId2<QTextFormat>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextFormat> (0xb6f28bc0) 0 empty
-Class QMetaTypeId2<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMatrix> (0xb6f28c00) 0 empty
-Class QMetaTypeId2<QTransform>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTransform> (0xb6f28c40) 0 empty
Class QMapData::Node
size=8 align=4
@@ -807,45 +421,17 @@ Class QVariant
base size=12 base align=4
QVariant (0xb6dd50c0) 0
-Class QMetaTypeId2<QList<QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QList<QVariant> > (0xb6dd5340) 0 empty
-Class QMetaTypeId2<QMap<QString, QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMap<QString, QVariant> > (0xb6dd5380) 0 empty
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0xb6dd5480) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0xb6dd5400) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0xb6dd5580) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0xb6dd5500) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0xb6dd5600) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0xb6dd5680) 0 empty
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -972,10 +558,6 @@ QEventLoop (0xb6dd5b00) 0
QObject (0xb6dd5b40) 0
primary-for QEventLoop (0xb6dd5b00)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0xb6dd5c40) 0
Vtable for QCoreApplication
QCoreApplication::_ZTV16QCoreApplication: 16u entries
@@ -1009,10 +591,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0xb6dd5e00) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0xb6dd5e40) 0 empty
Vtable for QTimer
QTimer::_ZTV6QTimer: 14u entries
@@ -1069,20 +647,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0xb6dd5200) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0xb6dd5240) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0xb6dd5280) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0xb6dd5300) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -1277,20 +847,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0xb6dd5d00) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0xb6dd5f00) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0xb6dd5fc0) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0xb6b7a000) 0 empty
Class QMetaProperty
size=20 align=4
@@ -1302,10 +864,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0xb6b7a080) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0xb6b7a0c0) 0 empty
Vtable for QSocketNotifier
QSocketNotifier::_ZTV15QSocketNotifier: 14u entries
@@ -1408,100 +966,48 @@ Class QSize
base size=8 base align=4
QSize (0xb6b7a3c0) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0xb6b7a5c0) 0 empty
Class QSizeF
size=16 align=4
base size=16 base align=4
QSizeF (0xb6b7a640) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0xb6b7a840) 0 empty
Class QPoint
size=8 align=4
base size=8 base align=4
QPoint (0xb6b7a900) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0xb6b7ab40) 0 empty
Class QPointF
size=16 align=4
base size=16 base align=4
QPointF (0xb6b7ab80) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0xb6b7adc0) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0xb6b7ae00) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0xb6b7af00) 0 empty
Class QRectF
size=32 align=4
base size=32 base align=4
QRectF (0xb6b7af40) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0xb6b7a180) 0 empty
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0xb6b7a300) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0xb6b7a400) 0
Class wait
size=4 align=4
base size=4 base align=4
wait (0xb6b7a240) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6b7a440) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6b7a480) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb6b7a4c0) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6b7a500) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb6b7a540) 0
Class timespec
size=8 align=4
@@ -1513,80 +1019,24 @@ Class timeval
base size=8 base align=4
timeval (0xb6b7a680) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb6b7a6c0) 0
-Class <anonymous union>
- size=36 align=4
- base size=36 base align=4
-<anonymous union> (0xb6b7a700) 0
Class __pthread_internal_slist
size=4 align=4
base size=4 base align=4
__pthread_internal_slist (0xb6b7a740) 0
-Class <anonymous union>::__pthread_mutex_s::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union>::__pthread_mutex_s::<anonymous union> (0xb6b7a800) 0
-Class <anonymous union>::__pthread_mutex_s
- size=24 align=4
- base size=24 base align=4
-<anonymous union>::__pthread_mutex_s (0xb6b7a7c0) 0
-Class <anonymous union>
- size=24 align=4
- base size=24 base align=4
-<anonymous union> (0xb6b7a780) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb6b7a940) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0xb6b7a9c0) 0
-Class <anonymous union>
- size=48 align=4
- base size=48 base align=4
-<anonymous union> (0xb6b7a980) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb6b7aa00) 0
-Class <anonymous union>::<anonymous struct>
- size=32 align=4
- base size=32 base align=4
-<anonymous union>::<anonymous struct> (0xb6b7aa80) 0
-Class <anonymous union>
- size=32 align=4
- base size=32 base align=4
-<anonymous union> (0xb6b7aa40) 0
-Class <anonymous union>
- size=8 align=4
- base size=8 base align=4
-<anonymous union> (0xb6b7aac0) 0
-Class <anonymous union>
- size=20 align=4
- base size=20 base align=4
-<anonymous union> (0xb6b7ab00) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb6b7abc0) 0
Class random_data
size=28 align=4
@@ -1618,35 +1068,19 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0xb69a70c0) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0xb69a7100) 0 empty
Class QRegExp
size=4 align=4
base size=4 base align=4
QRegExp (0xb69a7880) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0xb69a78c0) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0xb69a7900) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0xb69a79c0) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0xb69a7940) 0
Class QStringList
size=4 align=4
@@ -1654,15 +1088,7 @@ Class QStringList
QStringList (0xb69a7a00) 0
QList<QString> (0xb69a7a40) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0xb69a7ac0) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0xb69a7b00) 0
Vtable for QTimeLine
QTimeLine::_ZTV9QTimeLine: 15u entries
@@ -1695,15 +1121,7 @@ Class QLocale
base size=4 base align=4
QLocale (0xb69a7d00) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0xb69a7d40) 0 empty
-Class QFlags<QLocale::NumberOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLocale::NumberOption> (0xb69a7d80) 0
Vtable for QSystemLocale
QSystemLocale::_ZTV13QSystemLocale: 6u entries
@@ -1730,10 +1148,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0xb69a7fc0) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0xb69a76c0) 0 empty
Class QCryptographicHash
size=4 align=4
@@ -1750,20 +1164,12 @@ Class QLine
base size=16 base align=4
QLine (0xb6770380) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0xb67703c0) 0 empty
Class QLineF
size=32 align=4
base size=32 base align=4
QLineF (0xb6770400) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0xb6770440) 0 empty
Class QSharedData
size=4 align=4
@@ -1775,30 +1181,18 @@ Class QDate
base size=4 base align=4
QDate (0xb67705c0) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0xb6770680) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0xb67706c0) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0xb6770780) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0xb67707c0) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0xb6770880) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -1810,20 +1204,12 @@ Class QReadWriteLock
base size=4 base align=4
QReadWriteLock (0xb6770900) 0
-Class QReadLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QReadLocker::<anonymous union> (0xb6770980) 0
Class QReadLocker
size=4 align=4
base size=4 base align=4
QReadLocker (0xb6770940) 0
-Class QWriteLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QWriteLocker::<anonymous union> (0xb6770a00) 0
Class QWriteLocker
size=4 align=4
@@ -1876,20 +1262,12 @@ Class QMutex
base size=4 base align=4
QMutex (0xb6770c40) 0
-Class QMutexLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMutexLocker::<anonymous union> (0xb6770cc0) 0
Class QMutexLocker
size=4 align=4
base size=4 base align=4
QMutexLocker (0xb6770c80) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0xb6770dc0) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -1914,15 +1292,7 @@ Class QTextCodec
QTextCodec (0xb6770d00) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0xb6770f00) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0xb6770e80) 0
Class QTextEncoder
size=32 align=4
@@ -1934,25 +1304,9 @@ Class QTextDecoder
base size=32 base align=4
QTextDecoder (0xb6770f80) 0
-Class <anonymous struct>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct>::<anonymous union> (0xb67702c0) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6770fc0) 0
-Class <anonymous struct>
- size=12 align=4
- base size=12 base align=4
-<anonymous struct> (0xb6770600) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb6770640) 0
Class __gconv_trans_data
size=20 align=4
@@ -1974,15 +1328,7 @@ Class __gconv_info
base size=8 base align=4
__gconv_info (0xb6770840) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0xb6770d80) 0
-Class <anonymous union>
- size=44 align=4
- base size=44 base align=4
-<anonymous union> (0xb6770b00) 0
Class _IO_marker
size=12 align=4
@@ -1994,10 +1340,6 @@ Class _IO_FILE
base size=148 base align=4
_IO_FILE (0xb6542000) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb6542040) 0
Vtable for QTextStream
QTextStream::_ZTV11QTextStream: 4u entries
@@ -2012,10 +1354,6 @@ Class QTextStream
QTextStream (0xb6542080) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0xb6542140) 0
Class QTextStreamManipulator
size=24 align=4
@@ -2131,35 +1469,15 @@ QFile (0xb6542580) 0
QObject (0xb6542600) 0
primary-for QIODevice (0xb65425c0)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0xb6542680) 0
Class QFileInfo
size=4 align=4
base size=4 base align=4
QFileInfo (0xb65426c0) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0xb6542700) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0xb6542740) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0xb6542800) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0xb6542780) 0
Vtable for QTemporaryFile
QTemporaryFile::_ZTV14QTemporaryFile: 31u entries
@@ -2212,15 +1530,7 @@ Class QDir
base size=4 base align=4
QDir (0xb6542980) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0xb6542a00) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0xb6542a80) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -2277,10 +1587,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0xb6542ac0) 0
vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0xb6542c40) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -2409,15 +1715,7 @@ Class QUrl
base size=4 base align=4
QUrl (0xb6542f40) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0xb6542fc0) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0xb6542100) 0 empty
Vtable for QDirIterator
QDirIterator::_ZTV12QDirIterator: 4u entries
@@ -2432,10 +1730,6 @@ Class QDirIterator
QDirIterator (0xb65422c0) 0
vptr=((& QDirIterator::_ZTV12QDirIterator) + 8u)
-Class QFlags<QDirIterator::IteratorFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDirIterator::IteratorFlag> (0xb6542480) 0
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -2541,10 +1835,6 @@ QLibrary (0xb63eb000) 0
QObject (0xb63eb040) 0
primary-for QLibrary (0xb63eb000)
-Class QFlags<QLibrary::LoadHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLibrary::LoadHint> (0xb63eb0c0) 0
Vtable for QPluginLoader
QPluginLoader::_ZTV13QPluginLoader: 14u entries
@@ -2654,20 +1944,8 @@ Class QXmlStreamAttribute
base size=53 base align=4
QXmlStreamAttribute (0xb63eb580) 0
-Class QTypeInfo<QXmlStreamAttribute>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QXmlStreamAttribute> (0xb63eb5c0) 0 empty
-Class QVector<QXmlStreamAttribute>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QXmlStreamAttribute>::<anonymous union> (0xb63eb680) 0
-Class QVector<QXmlStreamAttribute>
- size=4 align=4
- base size=4 base align=4
-QVector<QXmlStreamAttribute> (0xb63eb600) 0
Class QXmlStreamAttributes
size=4 align=4
@@ -2680,30 +1958,18 @@ Class QXmlStreamNamespaceDeclaration
base size=28 base align=4
QXmlStreamNamespaceDeclaration (0xb63eb740) 0
-Class QTypeInfo<QXmlStreamNamespaceDeclaration>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QXmlStreamNamespaceDeclaration> (0xb63eb780) 0 empty
Class QXmlStreamNotationDeclaration
size=40 align=4
base size=40 base align=4
QXmlStreamNotationDeclaration (0xb63eb800) 0
-Class QTypeInfo<QXmlStreamNotationDeclaration>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QXmlStreamNotationDeclaration> (0xb63eb840) 0 empty
Class QXmlStreamEntityDeclaration
size=64 align=4
base size=64 base align=4
QXmlStreamEntityDeclaration (0xb63eb8c0) 0
-Class QTypeInfo<QXmlStreamEntityDeclaration>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QXmlStreamEntityDeclaration> (0xb63eb900) 0 empty
Class QXmlStreamReader
size=4 align=4
@@ -2827,15 +2093,7 @@ Class QXmlAttributes::Attribute
base size=16 base align=4
QXmlAttributes::Attribute (0xb62fe140) 0
-Class QList<QXmlAttributes::Attribute>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QXmlAttributes::Attribute>::<anonymous union> (0xb62fe240) 0
-Class QList<QXmlAttributes::Attribute>
- size=4 align=4
- base size=4 base align=4
-QList<QXmlAttributes::Attribute> (0xb62fe1c0) 0
Vtable for QXmlAttributes
QXmlAttributes::_ZTV14QXmlAttributes: 4u entries
@@ -3165,28 +2423,8 @@ QXmlDefaultHandler (0xb6155948) 0
QXmlDeclHandler (0xb62fea40) 20 nearly-empty
vptr=((& QXmlDefaultHandler::_ZTV18QXmlDefaultHandler) + 268u)
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0xb62fecc0) 0
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0xb62fed40) 0
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0xb62fedc0) 0
-Class QTypeInfo<QXmlAttributes::Attribute>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QXmlAttributes::Attribute> (0xb62fee40) 0 empty
-Class QList<QXmlAttributes::Attribute>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QXmlAttributes::Attribute>::Node (0xb62feec0) 0
diff --git a/tests/auto/bic/data/QtXml.4.3.2.linux-gcc-ia32.txt b/tests/auto/bic/data/QtXml.4.3.2.linux-gcc-ia32.txt
index 4098d45..12730a8 100644
--- a/tests/auto/bic/data/QtXml.4.3.2.linux-gcc-ia32.txt
+++ b/tests/auto/bic/data/QtXml.4.3.2.linux-gcc-ia32.txt
@@ -1,34 +1,8 @@
-Class QUintForSize<4>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<4> (0xb7ef0c80) 0 empty
-Class QUintForSize<8>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<8> (0xb7ef0cc0) 0 empty
-Class QUintForType<void*>
- size=1 align=1
- base size=1 base align=1
-QUintForType<void*> (0xb7ef0d80) 0 empty
- QUintForSize<4> (0xb7ef0dc0) 0 empty
-Class QIntForSize<4>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<4> (0xb7ef0e40) 0 empty
-Class QIntForSize<8>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<8> (0xb7ef0e80) 0 empty
-Class QIntForType<void*>
- size=1 align=1
- base size=1 base align=1
-QIntForType<void*> (0xb7ef0f40) 0 empty
- QIntForSize<4> (0xb7ef0f80) 0 empty
Class QSysInfo
size=1 align=1
@@ -50,150 +24,38 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0xb7799240) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0xb7799300) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0xb7799340) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0xb7799380) 0 empty
-Class QTypeInfo<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned char> (0xb77993c0) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0xb7799400) 0 empty
-Class QTypeInfo<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short unsigned int> (0xb7799440) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0xb7799480) 0 empty
-Class QTypeInfo<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned int> (0xb77994c0) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0xb7799500) 0 empty
-Class QTypeInfo<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long unsigned int> (0xb7799540) 0 empty
-Class QTypeInfo<long long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long int> (0xb7799580) 0 empty
-Class QTypeInfo<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long unsigned int> (0xb77995c0) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0xb7799600) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0xb7799640) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0xb7799680) 0 empty
Class QFlag
size=4 align=4
base size=4 base align=4
QFlag (0xb77996c0) 0
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0xb77997c0) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0xb7799800) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0xb7799840) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0xb7799880) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0xb77998c0) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0xb7799900) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0xb7799940) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0xb7799980) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0xb77999c0) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0xb7799a00) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0xb7799a40) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0xb7799a80) 0
-Class QFlags<Qt::TextInteractionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::TextInteractionFlag> (0xb7799ac0) 0
Class QInternal
size=1 align=1
@@ -211,10 +73,6 @@ Class QGenericReturnArgument
QGenericReturnArgument (0xb7799bc0) 0
QGenericArgument (0xb7799c00) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0xb7799dc0) 0
Class QMetaObject
size=16 align=4
@@ -231,10 +89,6 @@ Class QChar
base size=2 base align=2
QChar (0xb7799e80) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0xb7799f00) 0 empty
Class QBasicAtomic
size=4 align=4
@@ -267,10 +121,6 @@ Class QByteRef
base size=8 base align=4
QByteRef (0xb72fc200) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0xb72fc240) 0 empty
Class QString::Null
size=1 align=1
@@ -287,10 +137,6 @@ Class QString
base size=4 base align=4
QString (0xb72fc280) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0xb72fc480) 0
Class QLatin1String
size=4 align=4
@@ -308,10 +154,6 @@ Class QConstString
QConstString (0xb72fc580) 0
QString (0xb72fc5c0) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0xb72fc600) 0 empty
Class QStringRef
size=12 align=4
@@ -379,15 +221,7 @@ Class QListData
base size=4 base align=4
QListData (0xb72fc940) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0xb72fccc0) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0xb72fcc40) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -463,10 +297,6 @@ QLibrary (0xb72fcf00) 0
QObject (0xb72fcf40) 0
primary-for QLibrary (0xb72fcf00)
-Class QFlags<QLibrary::LoadHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLibrary::LoadHint> (0xb72fcfc0) 0
Class QUuid
size=16 align=4
@@ -514,10 +344,6 @@ QIODevice (0xb72fc740) 0
QObject (0xb72fc800) 0
primary-for QIODevice (0xb72fc740)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0xb72fcb00) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -537,25 +363,13 @@ Class QRegExp
base size=4 base align=4
QRegExp (0xb72fcdc0) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0xb72fcf80) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0xb6d58000) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0xb6d580c0) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0xb6d58040) 0
Class QStringList
size=4 align=4
@@ -563,15 +377,7 @@ Class QStringList
QStringList (0xb6d58100) 0
QList<QString> (0xb6d58140) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0xb6d581c0) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0xb6d58200) 0
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -627,10 +433,6 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0xb6d58580) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0xb6d585c0) 0 empty
Class QCryptographicHash
size=4 align=4
@@ -642,75 +444,35 @@ Class QDate
base size=4 base align=4
QDate (0xb6d58b00) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0xb6d58bc0) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0xb6d58c00) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0xb6d58cc0) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0xb6d58d00) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0xb6d58dc0) 0 empty
Class QByteArrayMatcher
size=1032 align=4
base size=1032 base align=4
QByteArrayMatcher (0xb6d58e00) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0xb6d58e80) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0xb6d58ec0) 0
Class wait
size=4 align=4
base size=4 base align=4
wait (0xb6d58e40) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6d58f00) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6d58f40) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb6d58f80) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6d58fc0) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb6d58300) 0
Class timespec
size=8 align=4
@@ -722,80 +484,24 @@ Class timeval
base size=8 base align=4
timeval (0xb6d58980) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb6d58b40) 0
-Class <anonymous union>
- size=36 align=4
- base size=36 base align=4
-<anonymous union> (0xb6d58b80) 0
Class __pthread_internal_slist
size=4 align=4
base size=4 base align=4
__pthread_internal_slist (0xb6d58c40) 0
-Class <anonymous union>::__pthread_mutex_s::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union>::__pthread_mutex_s::<anonymous union> (0xb6d58d80) 0
-Class <anonymous union>::__pthread_mutex_s
- size=24 align=4
- base size=24 base align=4
-<anonymous union>::__pthread_mutex_s (0xb6d58d40) 0
-Class <anonymous union>
- size=24 align=4
- base size=24 base align=4
-<anonymous union> (0xb6d58c80) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb6cba000) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0xb6cba080) 0
-Class <anonymous union>
- size=48 align=4
- base size=48 base align=4
-<anonymous union> (0xb6cba040) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb6cba0c0) 0
-Class <anonymous union>::<anonymous struct>
- size=32 align=4
- base size=32 base align=4
-<anonymous union>::<anonymous struct> (0xb6cba140) 0
-Class <anonymous union>
- size=32 align=4
- base size=32 base align=4
-<anonymous union> (0xb6cba100) 0
-Class <anonymous union>
- size=8 align=4
- base size=8 base align=4
-<anonymous union> (0xb6cba180) 0
-Class <anonymous union>
- size=20 align=4
- base size=20 base align=4
-<anonymous union> (0xb6cba1c0) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb6cba200) 0
Class random_data
size=28 align=4
@@ -817,20 +523,12 @@ Class QSize
base size=8 base align=4
QSize (0xb6cba480) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0xb6cba680) 0 empty
Class QSizeF
size=16 align=4
base size=16 base align=4
QSizeF (0xb6cba700) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0xb6cba900) 0 empty
Class QLinkedListData
size=20 align=4
@@ -842,15 +540,7 @@ Class QLocale
base size=4 base align=4
QLocale (0xb6cbacc0) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0xb6cbad00) 0 empty
-Class QFlags<QLocale::NumberOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLocale::NumberOption> (0xb6cbad40) 0
Vtable for QSystemLocale
QSystemLocale::_ZTV13QSystemLocale: 6u entries
@@ -887,60 +577,36 @@ Class QPoint
base size=8 base align=4
QPoint (0xb6cba8c0) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0xb6cbab80) 0 empty
Class QPointF
size=16 align=4
base size=16 base align=4
QPointF (0xb6cbadc0) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0xb6b1c200) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0xb6b1c340) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0xb6b1c440) 0 empty
Class QRectF
size=32 align=4
base size=32 base align=4
QRectF (0xb6b1c480) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0xb6b1c540) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0xb6b1c580) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0xb6b1c5c0) 0 empty
Class QLineF
size=32 align=4
base size=32 base align=4
QLineF (0xb6b1c600) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0xb6b1c640) 0 empty
Vtable for QTimeLine
QTimeLine::_ZTV9QTimeLine: 15u entries
@@ -978,10 +644,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0xb6b1c9c0) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0xb6b1ca00) 0 empty
Class QLibraryInfo
size=1 align=1
@@ -993,290 +655,66 @@ Class QUrl
base size=4 base align=4
QUrl (0xb6b1cb40) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0xb6b1cbc0) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0xb6b1cc00) 0 empty
Class QMetaType
size=1 align=1
base size=0 base align=1
QMetaType (0xb6b1cc40) 0 empty
-Class QMetaTypeId2<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QString> (0xb6b1cd00) 0 empty
-Class QMetaTypeId2<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<int> (0xb6b1cd40) 0 empty
-Class QMetaTypeId2<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned int> (0xb6b1cd80) 0 empty
-Class QMetaTypeId2<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<bool> (0xb6b1cdc0) 0 empty
-Class QMetaTypeId2<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<double> (0xb6b1ce00) 0 empty
-Class QMetaTypeId2<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QByteArray> (0xb6b1ce40) 0 empty
-Class QMetaTypeId2<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QChar> (0xb6b1ce80) 0 empty
-Class QMetaTypeId2<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long int> (0xb6b1cec0) 0 empty
-Class QMetaTypeId2<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short int> (0xb6b1cf00) 0 empty
-Class QMetaTypeId2<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<char> (0xb6b1cf40) 0 empty
-Class QMetaTypeId2<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long unsigned int> (0xb6b1cf80) 0 empty
-Class QMetaTypeId2<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short unsigned int> (0xb6b1cfc0) 0 empty
-Class QMetaTypeId2<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned char> (0xb6b1c000) 0 empty
-Class QMetaTypeId2<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<float> (0xb6b1c040) 0 empty
-Class QMetaTypeId2<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QObject*> (0xb6b1c080) 0 empty
-Class QMetaTypeId2<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QWidget*> (0xb6b1c0c0) 0 empty
-Class QMetaTypeId2<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<void*> (0xb6b1c100) 0 empty
-Class QMetaTypeId2<long long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long int> (0xb6b1c140) 0 empty
-Class QMetaTypeId2<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long unsigned int> (0xb6b1c180) 0 empty
-Class QMetaTypeId2<QStringList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QStringList> (0xb6b1c1c0) 0 empty
-Class QMetaTypeId2<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitArray> (0xb6b1c380) 0 empty
-Class QMetaTypeId2<QDate>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDate> (0xb6b1c3c0) 0 empty
-Class QMetaTypeId2<QTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTime> (0xb6b1c400) 0 empty
-Class QMetaTypeId2<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDateTime> (0xb6b1c4c0) 0 empty
-Class QMetaTypeId2<QUrl>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QUrl> (0xb6b1c500) 0 empty
-Class QMetaTypeId2<QLocale>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLocale> (0xb6b1c840) 0 empty
-Class QMetaTypeId2<QRect>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRect> (0xb6764000) 0 empty
-Class QMetaTypeId2<QRectF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRectF> (0xb6764040) 0 empty
-Class QMetaTypeId2<QSize>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSize> (0xb6764080) 0 empty
-Class QMetaTypeId2<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizeF> (0xb67640c0) 0 empty
-Class QMetaTypeId2<QLine>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLine> (0xb6764100) 0 empty
-Class QMetaTypeId2<QLineF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLineF> (0xb6764140) 0 empty
-Class QMetaTypeId2<QPoint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPoint> (0xb6764180) 0 empty
-Class QMetaTypeId2<QPointF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPointF> (0xb67641c0) 0 empty
-Class QMetaTypeId2<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegExp> (0xb6764200) 0 empty
-Class QMetaTypeId2<QColorGroup>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColorGroup> (0xb6764240) 0 empty
-Class QMetaTypeId2<QFont>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QFont> (0xb6764280) 0 empty
-Class QMetaTypeId2<QPixmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPixmap> (0xb67642c0) 0 empty
-Class QMetaTypeId2<QBrush>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBrush> (0xb6764300) 0 empty
-Class QMetaTypeId2<QColor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColor> (0xb6764340) 0 empty
-Class QMetaTypeId2<QPalette>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPalette> (0xb6764380) 0 empty
-Class QMetaTypeId2<QIcon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QIcon> (0xb67643c0) 0 empty
-Class QMetaTypeId2<QImage>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QImage> (0xb6764400) 0 empty
-Class QMetaTypeId2<QPolygon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPolygon> (0xb6764440) 0 empty
-Class QMetaTypeId2<QRegion>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegion> (0xb6764480) 0 empty
-Class QMetaTypeId2<QBitmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitmap> (0xb67644c0) 0 empty
-Class QMetaTypeId2<QCursor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QCursor> (0xb6764500) 0 empty
-Class QMetaTypeId2<QSizePolicy>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizePolicy> (0xb6764540) 0 empty
-Class QMetaTypeId2<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QKeySequence> (0xb6764580) 0 empty
-Class QMetaTypeId2<QPen>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPen> (0xb67645c0) 0 empty
-Class QMetaTypeId2<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextLength> (0xb6764600) 0 empty
-Class QMetaTypeId2<QTextFormat>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextFormat> (0xb6764640) 0 empty
-Class QMetaTypeId2<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMatrix> (0xb6764680) 0 empty
-Class QMetaTypeId2<QTransform>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTransform> (0xb67646c0) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -1303,45 +741,17 @@ Class QVariant
base size=12 base align=4
QVariant (0xb6764700) 0
-Class QMetaTypeId2<QList<QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QList<QVariant> > (0xb6764980) 0 empty
-Class QMetaTypeId2<QMap<QString, QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMap<QString, QVariant> > (0xb67649c0) 0 empty
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0xb6764ac0) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0xb6764a40) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0xb6764bc0) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0xb6764b40) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0xb6764c40) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0xb6764cc0) 0 empty
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -1368,25 +778,9 @@ QSettings (0xb6764d00) 0
QObject (0xb6764d40) 0
primary-for QSettings (0xb6764d00)
-Class <anonymous struct>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct>::<anonymous union> (0xb6764e40) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6764e00) 0
-Class <anonymous struct>
- size=12 align=4
- base size=12 base align=4
-<anonymous struct> (0xb6764e80) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb6764ec0) 0
Class __gconv_trans_data
size=20 align=4
@@ -1408,15 +802,7 @@ Class __gconv_info
base size=8 base align=4
__gconv_info (0xb6764fc0) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0xb6764880) 0
-Class <anonymous union>
- size=44 align=4
- base size=44 base align=4
-<anonymous union> (0xb6764840) 0
Class _IO_marker
size=12 align=4
@@ -1428,10 +814,6 @@ Class _IO_FILE
base size=148 base align=4
_IO_FILE (0xb6764900) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb6764940) 0
Vtable for QFile
QFile::_ZTV5QFile: 31u entries
@@ -1477,10 +859,6 @@ QFile (0xb6764d80) 0
QObject (0xb6655000) 0
primary-for QIODevice (0xb6764dc0)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0xb6655080) 0
Vtable for QTemporaryFile
QTemporaryFile::_ZTV14QTemporaryFile: 31u entries
@@ -1533,40 +911,16 @@ Class QFileInfo
base size=4 base align=4
QFileInfo (0xb6655200) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0xb6655240) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0xb6655280) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0xb6655340) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0xb66552c0) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0xb6655380) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0xb6655400) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0xb6655480) 0
Vtable for QProcess
QProcess::_ZTV8QProcess: 31u entries
@@ -1650,10 +1004,6 @@ Class QDirIterator
QDirIterator (0xb66556c0) 0
vptr=((& QDirIterator::_ZTV12QDirIterator) + 8u)
-Class QFlags<QDirIterator::IteratorFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDirIterator::IteratorFlag> (0xb6655780) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -1710,10 +1060,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0xb66557c0) 0
vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0xb6655940) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -1747,10 +1093,6 @@ Class QAbstractFileEngineIterator
QAbstractFileEngineIterator (0xb6655a00) 0
vptr=((& QAbstractFileEngineIterator::_ZTV27QAbstractFileEngineIterator) + 8u)
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0xb6655b40) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -1775,15 +1117,7 @@ Class QTextCodec
QTextCodec (0xb6655a80) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0xb6655c80) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0xb6655c00) 0
Class QTextEncoder
size=32 align=4
@@ -1808,10 +1142,6 @@ Class QTextStream
QTextStream (0xb6655d40) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0xb6655e00) 0
Class QTextStreamManipulator
size=24 align=4
@@ -1958,20 +1288,12 @@ Class QReadWriteLock
base size=4 base align=4
QReadWriteLock (0xb6655dc0) 0
-Class QReadLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QReadLocker::<anonymous union> (0xb648e000) 0
Class QReadLocker
size=4 align=4
base size=4 base align=4
QReadLocker (0xb6655f80) 0
-Class QWriteLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QWriteLocker::<anonymous union> (0xb648e080) 0
Class QWriteLocker
size=4 align=4
@@ -1983,10 +1305,6 @@ Class QMutex
base size=4 base align=4
QMutex (0xb648e0c0) 0
-Class QMutexLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMutexLocker::<anonymous union> (0xb648e140) 0
Class QMutexLocker
size=4 align=4
@@ -2066,10 +1384,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0xb648e440) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0xb648e480) 0 empty
Vtable for QMimeData
QMimeData::_ZTV9QMimeData: 17u entries
@@ -2104,20 +1418,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0xb648e580) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0xb648e5c0) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0xb648e600) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0xb648e680) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -2357,10 +1663,6 @@ QEventLoop (0xb648eb00) 0
QObject (0xb648eb40) 0
primary-for QEventLoop (0xb648eb00)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0xb648ec40) 0
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -2555,20 +1857,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0xb648eac0) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0xb648ebc0) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0xb648ecc0) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0xb648ed80) 0 empty
Class QMetaProperty
size=20 align=4
@@ -2580,10 +1874,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0xb648ef00) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0xb648efc0) 0 empty
Vtable for QTextCodecFactoryInterface
QTextCodecFactoryInterface::_ZTV26QTextCodecFactoryInterface: 6u entries
@@ -2654,15 +1944,7 @@ Class QXmlAttributes::Attribute
base size=16 base align=4
QXmlAttributes::Attribute (0xb6406300) 0
-Class QList<QXmlAttributes::Attribute>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QXmlAttributes::Attribute>::<anonymous union> (0xb6406400) 0
-Class QList<QXmlAttributes::Attribute>
- size=4 align=4
- base size=4 base align=4
-QList<QXmlAttributes::Attribute> (0xb6406380) 0
Vtable for QXmlAttributes
QXmlAttributes::_ZTV14QXmlAttributes: 4u entries
@@ -3002,20 +2284,8 @@ Class QXmlStreamAttribute
base size=53 base align=4
QXmlStreamAttribute (0xb6406e80) 0
-Class QTypeInfo<QXmlStreamAttribute>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QXmlStreamAttribute> (0xb6406ec0) 0 empty
-Class QVector<QXmlStreamAttribute>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QXmlStreamAttribute>::<anonymous union> (0xb6406f80) 0
-Class QVector<QXmlStreamAttribute>
- size=4 align=4
- base size=4 base align=4
-QVector<QXmlStreamAttribute> (0xb6406f00) 0
Class QXmlStreamAttributes
size=4 align=4
@@ -3028,30 +2298,18 @@ Class QXmlStreamNamespaceDeclaration
base size=28 base align=4
QXmlStreamNamespaceDeclaration (0xb6406200) 0
-Class QTypeInfo<QXmlStreamNamespaceDeclaration>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QXmlStreamNamespaceDeclaration> (0xb6406240) 0 empty
Class QXmlStreamNotationDeclaration
size=40 align=4
base size=40 base align=4
QXmlStreamNotationDeclaration (0xb6406440) 0
-Class QTypeInfo<QXmlStreamNotationDeclaration>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QXmlStreamNotationDeclaration> (0xb64064c0) 0 empty
Class QXmlStreamEntityDeclaration
size=64 align=4
base size=64 base align=4
QXmlStreamEntityDeclaration (0xb6406640) 0
-Class QTypeInfo<QXmlStreamEntityDeclaration>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QXmlStreamEntityDeclaration> (0xb64066c0) 0 empty
Class QXmlStreamReader
size=4 align=4
@@ -3165,28 +2423,8 @@ Class QDomProcessingInstruction
QDomProcessingInstruction (0xb6139680) 0
QDomNode (0xb61396c0) 0
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0xb6139740) 0
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0xb61397c0) 0
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0xb6139840) 0
-Class QTypeInfo<QXmlAttributes::Attribute>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QXmlAttributes::Attribute> (0xb61398c0) 0 empty
-Class QList<QXmlAttributes::Attribute>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QXmlAttributes::Attribute>::Node (0xb6139940) 0
diff --git a/tests/auto/bic/data/QtXml.4.4.0.linux-gcc-ia32.txt b/tests/auto/bic/data/QtXml.4.4.0.linux-gcc-ia32.txt
index b39d2ed..0a2fb27 100644
--- a/tests/auto/bic/data/QtXml.4.4.0.linux-gcc-ia32.txt
+++ b/tests/auto/bic/data/QtXml.4.4.0.linux-gcc-ia32.txt
@@ -1,34 +1,8 @@
-Class QUintForSize<4>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<4> (0xb78937bc) 0 empty
-Class QUintForSize<8>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<8> (0xb78937f8) 0 empty
-Class QUintForType<void*>
- size=1 align=1
- base size=1 base align=1
-QUintForType<void*> (0xb7cf3b40) 0 empty
- QUintForSize<4> (0xb7893870) 0 empty
-Class QIntForSize<4>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<4> (0xb789399c) 0 empty
-Class QIntForSize<8>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<8> (0xb78939d8) 0 empty
-Class QIntForType<void*>
- size=1 align=1
- base size=1 base align=1
-QIntForType<void*> (0xb7cf3d00) 0 empty
- QIntForSize<4> (0xb7893a50) 0 empty
Class QSysInfo
size=1 align=1
@@ -50,80 +24,20 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0xb789fe4c) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0xb78b703c) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0xb78b712c) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0xb78b721c) 0 empty
-Class QTypeInfo<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned char> (0xb78b730c) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0xb78b73fc) 0 empty
-Class QTypeInfo<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short unsigned int> (0xb78b74ec) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0xb78b75dc) 0 empty
-Class QTypeInfo<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned int> (0xb78b76cc) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0xb78b77bc) 0 empty
-Class QTypeInfo<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long unsigned int> (0xb78b78ac) 0 empty
-Class QTypeInfo<long long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long int> (0xb78b799c) 0 empty
-Class QTypeInfo<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long unsigned int> (0xb78b7a8c) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0xb78b7b7c) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0xb78b7c6c) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0xb78b7d5c) 0 empty
Class QFlag
size=4 align=4
@@ -140,10 +54,6 @@ Class QChar
base size=2 base align=2
QChar (0xb78d0d5c) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0xb7902a14) 0 empty
Class QBasicAtomicInt
size=4 align=4
@@ -176,75 +86,19 @@ Class QByteRef
base size=8 base align=4
QByteRef (0xb6b895dc) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0xb6bce6cc) 0 empty
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0xb6bce960) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0xb6a19294) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0xb6a19bb8) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0xb6a2b4ec) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0xb6a2be10) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0xb6a3d744) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0xb6a48078) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0xb6a4899c) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0xb6a602d0) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0xb6a60bf4) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0xb6a71528) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0xb6a71e4c) 0
-Class QFlags<Qt::TextInteractionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::TextInteractionFlag> (0xb6a89780) 0
Class QInternal
size=1 align=1
@@ -266,10 +120,6 @@ Class QString
base size=4 base align=4
QString (0xb6a9721c) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0xb68e9438) 0
Class QLatin1String
size=4 align=4
@@ -287,10 +137,6 @@ Class QConstString
QConstString (0xb680db00) 0
QString (0xb684c870) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0xb684cb7c) 0 empty
Class QStringRef
size=12 align=4
@@ -358,10 +204,6 @@ Class QListData
base size=4 base align=4
QListData (0xb68d31a4) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0xb67704ec) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -386,15 +228,7 @@ Class QTextCodec
QTextCodec (0xb6757834) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0xb6781b40) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0xb6781ac8) 0
Class QTextEncoder
size=32 align=4
@@ -417,25 +251,13 @@ Class QGenericReturnArgument
QGenericReturnArgument (0xb67b1000) 0
QGenericArgument (0xb67a5d5c) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0xb67b4258) 0
Class QMetaObject
size=16 align=4
base size=16 base align=4
QMetaObject (0xb67b4078) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0xb67cb3c0) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0xb67cb348) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -527,10 +349,6 @@ QIODevice (0xb6604e80) 0
QObject (0xb66153c0) 0
primary-for QIODevice (0xb6604e80)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0xb6631690) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -550,25 +368,13 @@ Class QRegExp
base size=4 base align=4
QRegExp (0xb666f5dc) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0xb6696dd4) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0xb6696ec4) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0xb66a3438) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0xb66a33c0) 0
Class QStringList
size=4 align=4
@@ -576,15 +382,7 @@ Class QStringList
QStringList (0xb6676f80) 0
QList<QString> (0xb66a3474) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0xb66ce1e0) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0xb66ce3fc) 0
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -664,10 +462,6 @@ Class QMutex
base size=4 base align=4
QMutex (0xb64fb618) 0
-Class QMutexLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMutexLocker::<anonymous union> (0xb650621c) 0
Class QMutexLocker
size=4 align=4
@@ -747,35 +541,11 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0xb65d5b40) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0xb65d5bf4) 0 empty
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6458b7c) 0
-Class <anonymous struct>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct>::<anonymous union> (0xb6458c6c) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6458bf4) 0
-Class <anonymous struct>
- size=12 align=4
- base size=12 base align=4
-<anonymous struct> (0xb6458ce4) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb6458d5c) 0
Class _IO_marker
size=12 align=4
@@ -787,10 +557,6 @@ Class _IO_FILE
base size=148 base align=4
_IO_FILE (0xb6458dd4) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb6458e4c) 0
Vtable for QTextStream
QTextStream::_ZTV11QTextStream: 4u entries
@@ -805,10 +571,6 @@ Class QTextStream
QTextStream (0xb6458e88) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0xb64b4618) 0
Class QTextStreamManipulator
size=24 align=4
@@ -845,40 +607,16 @@ QTextOStream (0xb62dc0c0) 0
QTextStream (0xb64ced98) 0
primary-for QTextOStream (0xb62dc0c0)
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0xb62e0834) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0xb62e08ac) 0
Class wait
size=4 align=4
base size=4 base align=4
wait (0xb62e07bc) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb62e0924) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb62e099c) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb62e0a14) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb62e0a8c) 0
Class timespec
size=8 align=4
@@ -890,80 +628,24 @@ Class timeval
base size=8 base align=4
timeval (0xb62e0b04) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb62e0b7c) 0
-Class <anonymous union>
- size=36 align=4
- base size=36 base align=4
-<anonymous union> (0xb62e0bf4) 0
Class __pthread_internal_slist
size=4 align=4
base size=4 base align=4
__pthread_internal_slist (0xb62e0c30) 0
-Class <anonymous union>::__pthread_mutex_s::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union>::__pthread_mutex_s::<anonymous union> (0xb62e0d5c) 0
-Class <anonymous union>::__pthread_mutex_s
- size=24 align=4
- base size=24 base align=4
-<anonymous union>::__pthread_mutex_s (0xb62e0ce4) 0
-Class <anonymous union>
- size=24 align=4
- base size=24 base align=4
-<anonymous union> (0xb62e0ca8) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb62e0dd4) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0xb62e0ec4) 0
-Class <anonymous union>
- size=48 align=4
- base size=48 base align=4
-<anonymous union> (0xb62e0e4c) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb62e0f3c) 0
-Class <anonymous union>::<anonymous struct>
- size=32 align=4
- base size=32 base align=4
-<anonymous union>::<anonymous struct> (0xb62fa000) 0
-Class <anonymous union>
- size=32 align=4
- base size=32 base align=4
-<anonymous union> (0xb62e0fb4) 0
-Class <anonymous union>
- size=8 align=4
- base size=8 base align=4
-<anonymous union> (0xb62fa0b4) 0
-Class <anonymous union>
- size=20 align=4
- base size=20 base align=4
-<anonymous union> (0xb62fa12c) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb62fa1a4) 0
Class random_data
size=28 align=4
@@ -995,20 +677,8 @@ Class QtConcurrent::ResultItem
base size=8 base align=4
QtConcurrent::ResultItem (0xb6200f3c) 0
-Class QMap<int, QtConcurrent::ResultItem>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<int, QtConcurrent::ResultItem>::<anonymous union> (0xb621cb7c) 0
-Class QMap<int, QtConcurrent::ResultItem>
- size=4 align=4
- base size=4 base align=4
-QMap<int, QtConcurrent::ResultItem> (0xb621cb04) 0
-Class QMap<int, QtConcurrent::ResultItem>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QMap<int, QtConcurrent::ResultItem>::const_iterator (0xb621cec4) 0
Class QtConcurrent::ResultIteratorBase
size=8 align=4
@@ -1028,10 +698,6 @@ Class QtConcurrent::ResultStoreBase
QtConcurrent::ResultStoreBase (0xb621ce88) 0
vptr=((& QtConcurrent::ResultStoreBase::_ZTVN12QtConcurrent15ResultStoreBaseE) + 8u)
-Class QMap<int, QtConcurrent::ResultItem>::iterator
- size=4 align=4
- base size=4 base align=4
-QMap<int, QtConcurrent::ResultItem>::iterator (0xb62386cc) 0
Vtable for QFutureInterfaceBase
QFutureInterfaceBase::_ZTV20QFutureInterfaceBase: 4u entries
@@ -1046,25 +712,8 @@ Class QFutureInterfaceBase
QFutureInterfaceBase (0xb6238744) 0
vptr=((& QFutureInterfaceBase::_ZTV20QFutureInterfaceBase) + 8u)
-Vtable for QFutureInterface<void>
-QFutureInterface<void>::_ZTV16QFutureInterfaceIvE: 4u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI16QFutureInterfaceIvE)
-8 QFutureInterface<void>::~QFutureInterface
-12 QFutureInterface<void>::~QFutureInterface
-Class QFutureInterface<void>
- size=8 align=4
- base size=8 base align=4
-QFutureInterface<void> (0xb6262780) 0
- vptr=((& QFutureInterface<void>::_ZTV16QFutureInterfaceIvE) + 8u)
- QFutureInterfaceBase (0xb626621c) 0
- primary-for QFutureInterface<void> (0xb6262780)
-Class QFuture<void>
- size=8 align=4
- base size=8 base align=4
-QFuture<void> (0xb62919d8) 0
Vtable for QFutureWatcherBase
QFutureWatcherBase::_ZTV18QFutureWatcherBase: 16u entries
@@ -1093,34 +742,7 @@ QFutureWatcherBase (0xb62bb6c0) 0
QObject (0xb62c5078) 0
primary-for QFutureWatcherBase (0xb62bb6c0)
-Vtable for QFutureWatcher<void>
-QFutureWatcher<void>::_ZTV14QFutureWatcherIvE: 16u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI14QFutureWatcherIvE)
-8 QFutureWatcherBase::metaObject
-12 QFutureWatcherBase::qt_metacast
-16 QFutureWatcherBase::qt_metacall
-20 QFutureWatcher<void>::~QFutureWatcher
-24 QFutureWatcher<void>::~QFutureWatcher
-28 QFutureWatcherBase::event
-32 QObject::eventFilter
-36 QObject::timerEvent
-40 QObject::childEvent
-44 QObject::customEvent
-48 QFutureWatcherBase::connectNotify
-52 QFutureWatcherBase::disconnectNotify
-56 QFutureWatcher<void>::futureInterface
-60 QFutureWatcher<void>::futureInterface
-Class QFutureWatcher<void>
- size=16 align=4
- base size=16 base align=4
-QFutureWatcher<void> (0xb62bbdc0) 0
- vptr=((& QFutureWatcher<void>::_ZTV14QFutureWatcherIvE) + 8u)
- QFutureWatcherBase (0xb62bbe00) 0
- primary-for QFutureWatcher<void> (0xb62bbdc0)
- QObject (0xb62c5bb8) 0
- primary-for QFutureWatcherBase (0xb62bbe00)
Vtable for QRunnable
QRunnable::_ZTV9QRunnable: 5u entries
@@ -1219,60 +841,14 @@ QtConcurrent::ThreadEngineBase (0xb61172c0) 0
QRunnable (0xb6113b7c) 0
primary-for QtConcurrent::ThreadEngineBase (0xb61172c0)
-Class QtConcurrent::ThreadEngineStarterBase<void>
- size=4 align=4
- base size=4 base align=4
-QtConcurrent::ThreadEngineStarterBase<void> (0xb6126348) 0
-Class QtConcurrent::ThreadEngineStarter<void>
- size=4 align=4
- base size=4 base align=4
-QtConcurrent::ThreadEngineStarter<void> (0xb6117c40) 0
- QtConcurrent::ThreadEngineStarterBase<void> (0xb61263c0) 0
-Vtable for QtConcurrent::ThreadEngine<void>
-QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE: 26u entries
-0 4u
-4 (int (*)(...))0
-8 (int (*)(...))(& _ZTIN12QtConcurrent12ThreadEngineIvEE)
-12 QtConcurrent::ThreadEngine<T>::result [with T = void]
-16 QtConcurrent::ThreadEngine<T>::asynchronousFinish [with T = void]
-20 QtConcurrent::ThreadEngine<void>::~ThreadEngine
-24 QtConcurrent::ThreadEngine<void>::~ThreadEngine
-28 -4u
-32 0u
-36 0u
-40 0u
-44 0u
-48 0u
-52 -4u
-56 0u
-60 (int (*)(...))-0x000000004
-64 (int (*)(...))(& _ZTIN12QtConcurrent12ThreadEngineIvEE)
-68 QtConcurrent::ThreadEngineBase::run
-72 QtConcurrent::ThreadEngine<void>::_ZTv0_n16_N12QtConcurrent12ThreadEngineIvED1Ev
-76 QtConcurrent::ThreadEngine<void>::_ZTv0_n16_N12QtConcurrent12ThreadEngineIvED0Ev
-80 QtConcurrent::ThreadEngineBase::start
-84 QtConcurrent::ThreadEngineBase::finish
-88 QtConcurrent::ThreadEngineBase::threadFunction
-92 QtConcurrent::ThreadEngineBase::shouldStartThread
-96 QtConcurrent::ThreadEngineBase::shouldThrottleThread
-100 QtConcurrent::ThreadEngine<void>::_ZTv0_n40_N12QtConcurrent12ThreadEngineIvE18asynchronousFinishEv
VTT for QtConcurrent::ThreadEngine<void>
QtConcurrent::ThreadEngine<void>::_ZTTN12QtConcurrent12ThreadEngineIvEE: 2u entries
0 ((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 12u)
4 ((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 68u)
-Class QtConcurrent::ThreadEngine<void>
- size=36 align=4
- base size=4 base align=4
-QtConcurrent::ThreadEngine<void> (0xb6117e00) 0 nearly-empty
- vptridx=0u vptr=((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 12u)
- QtConcurrent::ThreadEngineBase (0xb6117e40) 4 virtual
- vptridx=4u vbaseoffset=-0x00000000c vptr=((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 68u)
- QRunnable (0xb6126870) 4
- primary-for QtConcurrent::ThreadEngineBase (0xb6117e40)
Class std::input_iterator_tag
size=1 align=1
@@ -1315,225 +891,49 @@ Class std::__false_type
base size=0 base align=1
std::__false_type (0xb6144258) 0 empty
-Class std::__truth_type<true>
- size=1 align=1
- base size=0 base align=1
-std::__truth_type<true> (0xb61442d0) 0 empty
-Class std::__is_void<void>
- size=1 align=1
- base size=0 base align=1
-std::__is_void<void> (0xb61444ec) 0 empty
-Class std::__is_integer<bool>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<bool> (0xb61445dc) 0 empty
-Class std::__is_integer<char>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<char> (0xb6144654) 0 empty
-Class std::__is_integer<signed char>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<signed char> (0xb61446cc) 0 empty
-Class std::__is_integer<unsigned char>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<unsigned char> (0xb6144744) 0 empty
-Class std::__is_integer<wchar_t>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<wchar_t> (0xb61447bc) 0 empty
-Class std::__is_integer<short int>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<short int> (0xb6144834) 0 empty
-Class std::__is_integer<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<short unsigned int> (0xb61448ac) 0 empty
-Class std::__is_integer<int>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<int> (0xb6144924) 0 empty
-Class std::__is_integer<unsigned int>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<unsigned int> (0xb614499c) 0 empty
-Class std::__is_integer<long int>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<long int> (0xb6144a14) 0 empty
-Class std::__is_integer<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<long unsigned int> (0xb6144a8c) 0 empty
-Class std::__is_integer<long long int>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<long long int> (0xb6144b04) 0 empty
-Class std::__is_integer<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<long long unsigned int> (0xb6144b7c) 0 empty
-Class std::__is_floating<float>
- size=1 align=1
- base size=0 base align=1
-std::__is_floating<float> (0xb6144c6c) 0 empty
-Class std::__is_floating<double>
- size=1 align=1
- base size=0 base align=1
-std::__is_floating<double> (0xb6144ce4) 0 empty
-Class std::__is_floating<long double>
- size=1 align=1
- base size=0 base align=1
-std::__is_floating<long double> (0xb6144d5c) 0 empty
-Class std::__is_char<char>
- size=1 align=1
- base size=0 base align=1
-std::__is_char<char> (0xb615c0f0) 0 empty
-Class std::__is_char<wchar_t>
- size=1 align=1
- base size=0 base align=1
-std::__is_char<wchar_t> (0xb615c168) 0 empty
-Class std::__is_byte<char>
- size=1 align=1
- base size=0 base align=1
-std::__is_byte<char> (0xb615c258) 0 empty
-Class std::__is_byte<signed char>
- size=1 align=1
- base size=0 base align=1
-std::__is_byte<signed char> (0xb615c2d0) 0 empty
-Class std::__is_byte<unsigned char>
- size=1 align=1
- base size=0 base align=1
-std::__is_byte<unsigned char> (0xb615c348) 0 empty
-Class __gnu_cxx::__add_unsigned<char>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__add_unsigned<char> (0xb615c564) 0 empty
-Class __gnu_cxx::__add_unsigned<signed char>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__add_unsigned<signed char> (0xb615c5a0) 0 empty
-Class __gnu_cxx::__add_unsigned<short int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__add_unsigned<short int> (0xb615c5dc) 0 empty
-Class __gnu_cxx::__add_unsigned<int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__add_unsigned<int> (0xb615c618) 0 empty
-Class __gnu_cxx::__add_unsigned<long int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__add_unsigned<long int> (0xb615c654) 0 empty
-Class __gnu_cxx::__add_unsigned<long long int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__add_unsigned<long long int> (0xb615c690) 0 empty
-Class __gnu_cxx::__remove_unsigned<char>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__remove_unsigned<char> (0xb615c708) 0 empty
-Class __gnu_cxx::__remove_unsigned<unsigned char>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__remove_unsigned<unsigned char> (0xb615c744) 0 empty
-Class __gnu_cxx::__remove_unsigned<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__remove_unsigned<short unsigned int> (0xb615c780) 0 empty
-Class __gnu_cxx::__remove_unsigned<unsigned int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__remove_unsigned<unsigned int> (0xb615c7bc) 0 empty
-Class __gnu_cxx::__remove_unsigned<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__remove_unsigned<long unsigned int> (0xb615c7f8) 0 empty
-Class __gnu_cxx::__remove_unsigned<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__remove_unsigned<long long unsigned int> (0xb615c834) 0 empty
-Class std::iterator<std::output_iterator_tag, void, void, void, void>
- size=1 align=1
- base size=0 base align=1
-std::iterator<std::output_iterator_tag, void, void, void, void> (0xb617c21c) 0 empty
-Class std::__iter_swap<true>
- size=1 align=1
- base size=0 base align=1
-std::__iter_swap<true> (0xb61be7f8) 0 empty
-Class std::__copy_move<false, false, std::random_access_iterator_tag>
- size=1 align=1
- base size=0 base align=1
-std::__copy_move<false, false, std::random_access_iterator_tag> (0xb61bec30) 0 empty
-Class std::__copy_move_backward<false, false, std::random_access_iterator_tag>
- size=1 align=1
- base size=0 base align=1
-std::__copy_move_backward<false, false, std::random_access_iterator_tag> (0xb61bee4c) 0 empty
-Class std::__equal<true>
- size=1 align=1
- base size=0 base align=1
-std::__equal<true> (0xb6003258) 0 empty
-Class std::__lc_rai<std::random_access_iterator_tag, std::random_access_iterator_tag>
- size=1 align=1
- base size=0 base align=1
-std::__lc_rai<std::random_access_iterator_tag, std::random_access_iterator_tag> (0xb60033c0) 0 empty
-Class std::__lexicographical_compare<true>
- size=1 align=1
- base size=0 base align=1
-std::__lexicographical_compare<true> (0xb6003528) 0 empty
-Class std::char_traits<char>
- size=1 align=1
- base size=0 base align=1
-std::char_traits<char> (0xb6003c30) 0 empty
-Class std::char_traits<wchar_t>
- size=1 align=1
- base size=0 base align=1
-std::char_traits<wchar_t> (0xb6037654) 0 empty
Class lconv
size=56 align=4
@@ -1550,10 +950,6 @@ Class __sched_param
base size=4 base align=4
__sched_param (0xb604a21c) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb604a294) 0
Class tm
size=44 align=4
@@ -1570,15 +966,7 @@ Class _pthread_cleanup_buffer
base size=16 base align=4
_pthread_cleanup_buffer (0xb604a564) 0
-Class <anonymous struct>::<anonymous struct>
- size=28 align=4
- base size=28 base align=4
-<anonymous struct>::<anonymous struct> (0xb604a6cc) 0
-Class <anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous struct> (0xb604a654) 0
Class __pthread_cleanup_frame
size=16 align=4
@@ -1590,32 +978,10 @@ Class __pthread_cleanup_class
base size=16 base align=4
__pthread_cleanup_class (0xb604a744) 0
-Class std::allocator<void>
- size=1 align=1
- base size=0 base align=1
-std::allocator<void> (0xb60c0c6c) 0 empty
-Class __gnu_cxx::new_allocator<char>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::new_allocator<char> (0xb60c0f3c) 0 empty
-Class std::allocator<char>
- size=1 align=1
- base size=1 base align=1
-std::allocator<char> (0xb60d37c0) 0 empty
- __gnu_cxx::new_allocator<char> (0xb60c0f78) 0 empty
-Class __gnu_cxx::new_allocator<wchar_t>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::new_allocator<wchar_t> (0xb60c0fb4) 0 empty
-Class std::allocator<wchar_t>
- size=1 align=1
- base size=1 base align=1
-std::allocator<wchar_t> (0xb60d3880) 0 empty
- __gnu_cxx::new_allocator<wchar_t> (0xb5eda000) 0 empty
Vtable for __cxxabiv1::__forced_unwind
__cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE: 5u entries
@@ -1631,82 +997,19 @@ Class __cxxabiv1::__forced_unwind
__cxxabiv1::__forced_unwind (0xb5eda21c) 0 nearly-empty
vptr=((& __cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE) + 8u)
-Class __gnu_cxx::__conditional_type<true, __gnu_cxx::__numeric_traits_integer<int>, __gnu_cxx::__numeric_traits_floating<int> >
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__conditional_type<true, __gnu_cxx::__numeric_traits_integer<int>, __gnu_cxx::__numeric_traits_floating<int> > (0xb5f2fb04) 0 empty
-Class __gnu_cxx::__numeric_traits_integer<int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__numeric_traits_integer<int> (0xb5f2fb40) 0 empty
-Class __gnu_cxx::__numeric_traits<int>
- size=1 align=1
- base size=1 base align=1
-__gnu_cxx::__numeric_traits<int> (0xb5f69b40) 0 empty
- __gnu_cxx::__numeric_traits_integer<int> (0xb5f2fb7c) 0 empty
-Class std::allocator<char>::rebind<char>
- size=1 align=1
- base size=0 base align=1
-std::allocator<char>::rebind<char> (0xb5dcf7f8) 0 empty
-Class std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Alloc_hider
- size=4 align=4
- base size=4 base align=4
-std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Alloc_hider (0xb5e02100) 0
- std::allocator<char> (0xb5e02140) 0 empty
- __gnu_cxx::new_allocator<char> (0xb5dcf870) 0 empty
-Class std::basic_string<char, std::char_traits<char>, std::allocator<char> >
- size=4 align=4
- base size=4 base align=4
-std::basic_string<char, std::char_traits<char>, std::allocator<char> > (0xb5dcf780) 0
-Class std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep_base
- size=12 align=4
- base size=12 base align=4
-std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep_base (0xb5dcf8ac) 0
-Class std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep
- size=12 align=4
- base size=12 base align=4
-std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep (0xb5e022c0) 0
- std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep_base (0xb5dcf8e8) 0
-Class std::allocator<wchar_t>::rebind<wchar_t>
- size=1 align=1
- base size=0 base align=1
-std::allocator<wchar_t>::rebind<wchar_t> (0xb5dcf99c) 0 empty
-Class std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Alloc_hider
- size=4 align=4
- base size=4 base align=4
-std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Alloc_hider (0xb5e024c0) 0
- std::allocator<wchar_t> (0xb5e02500) 0 empty
- __gnu_cxx::new_allocator<wchar_t> (0xb5dcfa14) 0 empty
-Class std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >
- size=4 align=4
- base size=4 base align=4
-std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > (0xb5dcf924) 0
-Class std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Rep_base
- size=12 align=4
- base size=12 base align=4
-std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Rep_base (0xb5dcfa50) 0
-Class std::allocator<wchar_t>::rebind<char>
- size=1 align=1
- base size=0 base align=1
-std::allocator<wchar_t>::rebind<char> (0xb5dcfb04) 0 empty
-Class std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Rep
- size=12 align=4
- base size=12 base align=4
-std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Rep (0xb5e02680) 0
- std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Rep_base (0xb5dcfa8c) 0
Class std::locale
size=4 align=4
@@ -1736,97 +1039,16 @@ Class std::locale::_Impl
base size=20 base align=4
std::locale::_Impl (0xb5ea0ce4) 0
-Vtable for std::collate<char>
-std::collate<char>::_ZTVSt7collateIcE: 7u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt7collateIcE)
-8 std::collate<_CharT>::~collate [with _CharT = char]
-12 std::collate<_CharT>::~collate [with _CharT = char]
-16 std::collate<_CharT>::do_compare [with _CharT = char]
-20 std::collate<_CharT>::do_transform [with _CharT = char]
-24 std::collate<_CharT>::do_hash [with _CharT = char]
-
-Class std::collate<char>
- size=12 align=4
- base size=12 base align=4
-std::collate<char> (0xb5eb1640) 0
- vptr=((& std::collate<char>::_ZTVSt7collateIcE) + 8u)
- std::locale::facet (0xb5eb0654) 0
- primary-for std::collate<char> (0xb5eb1640)
-Vtable for std::collate<wchar_t>
-std::collate<wchar_t>::_ZTVSt7collateIwE: 7u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt7collateIwE)
-8 std::collate<_CharT>::~collate [with _CharT = wchar_t]
-12 std::collate<_CharT>::~collate [with _CharT = wchar_t]
-16 std::collate<_CharT>::do_compare [with _CharT = wchar_t]
-20 std::collate<_CharT>::do_transform [with _CharT = wchar_t]
-24 std::collate<_CharT>::do_hash [with _CharT = wchar_t]
-
-Class std::collate<wchar_t>
- size=12 align=4
- base size=12 base align=4
-std::collate<wchar_t> (0xb5eb1740) 0
- vptr=((& std::collate<wchar_t>::_ZTVSt7collateIwE) + 8u)
- std::locale::facet (0xb5eb0744) 0
- primary-for std::collate<wchar_t> (0xb5eb1740)
-Class __gnu_cxx::__conditional_type<true, __gnu_cxx::__numeric_traits_integer<long unsigned int>, __gnu_cxx::__numeric_traits_floating<long unsigned int> >
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__conditional_type<true, __gnu_cxx::__numeric_traits_integer<long unsigned int>, __gnu_cxx::__numeric_traits_floating<long unsigned int> > (0xb5eb0bb8) 0 empty
-Class __gnu_cxx::__numeric_traits_integer<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__numeric_traits_integer<long unsigned int> (0xb5eb0bf4) 0 empty
-Class __gnu_cxx::__numeric_traits<long unsigned int>
- size=1 align=1
- base size=1 base align=1
-__gnu_cxx::__numeric_traits<long unsigned int> (0xb5cd06c0) 0 empty
- __gnu_cxx::__numeric_traits_integer<long unsigned int> (0xb5eb0c30) 0 empty
-Vtable for std::collate_byname<char>
-std::collate_byname<char>::_ZTVSt14collate_bynameIcE: 7u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt14collate_bynameIcE)
-8 std::collate_byname<_CharT>::~collate_byname [with _CharT = char]
-12 std::collate_byname<_CharT>::~collate_byname [with _CharT = char]
-16 std::collate<_CharT>::do_compare [with _CharT = char]
-20 std::collate<_CharT>::do_transform [with _CharT = char]
-24 std::collate<_CharT>::do_hash [with _CharT = char]
-
-Class std::collate_byname<char>
- size=12 align=4
- base size=12 base align=4
-std::collate_byname<char> (0xb5cd0800) 0
- vptr=((& std::collate_byname<char>::_ZTVSt14collate_bynameIcE) + 8u)
- std::collate<char> (0xb5cd0840) 0
- primary-for std::collate_byname<char> (0xb5cd0800)
- std::locale::facet (0xb5eb0ca8) 0
- primary-for std::collate<char> (0xb5cd0840)
-
-Vtable for std::collate_byname<wchar_t>
-std::collate_byname<wchar_t>::_ZTVSt14collate_bynameIwE: 7u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt14collate_bynameIwE)
-8 std::collate_byname<_CharT>::~collate_byname [with _CharT = wchar_t]
-12 std::collate_byname<_CharT>::~collate_byname [with _CharT = wchar_t]
-16 std::collate<_CharT>::do_compare [with _CharT = wchar_t]
-20 std::collate<_CharT>::do_transform [with _CharT = wchar_t]
-24 std::collate<_CharT>::do_hash [with _CharT = wchar_t]
-
-Class std::collate_byname<wchar_t>
- size=12 align=4
- base size=12 base align=4
-std::collate_byname<wchar_t> (0xb5cd08c0) 0
- vptr=((& std::collate_byname<wchar_t>::_ZTVSt14collate_bynameIwE) + 8u)
- std::collate<wchar_t> (0xb5cd0900) 0
- primary-for std::collate_byname<wchar_t> (0xb5cd08c0)
- std::locale::facet (0xb5eb0d98) 0
- primary-for std::collate<wchar_t> (0xb5cd0900)
+
+
+
+
+
Vtable for std::ios_base::failure
std::ios_base::failure::_ZTVNSt8ios_base7failureE: 5u entries
@@ -1872,583 +1094,85 @@ Class std::ios_base
std::ios_base (0xb5ce4b40) 0
vptr=((& std::ios_base::_ZTVSt8ios_base) + 8u)
-Vtable for std::basic_streambuf<char, std::char_traits<char> >
-std::basic_streambuf<char, std::char_traits<char> >::_ZTVSt15basic_streambufIcSt11char_traitsIcEE: 16u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt15basic_streambufIcSt11char_traitsIcEE)
-8 std::basic_streambuf<_CharT, _Traits>::~basic_streambuf [with _CharT = char, _Traits = std::char_traits<char>]
-12 std::basic_streambuf<_CharT, _Traits>::~basic_streambuf [with _CharT = char, _Traits = std::char_traits<char>]
-16 std::basic_streambuf<_CharT, _Traits>::imbue [with _CharT = char, _Traits = std::char_traits<char>]
-20 std::basic_streambuf<_CharT, _Traits>::setbuf [with _CharT = char, _Traits = std::char_traits<char>]
-24 std::basic_streambuf<_CharT, _Traits>::seekoff [with _CharT = char, _Traits = std::char_traits<char>]
-28 std::basic_streambuf<_CharT, _Traits>::seekpos [with _CharT = char, _Traits = std::char_traits<char>]
-32 std::basic_streambuf<_CharT, _Traits>::sync [with _CharT = char, _Traits = std::char_traits<char>]
-36 std::basic_streambuf<_CharT, _Traits>::showmanyc [with _CharT = char, _Traits = std::char_traits<char>]
-40 std::basic_streambuf<_CharT, _Traits>::xsgetn [with _CharT = char, _Traits = std::char_traits<char>]
-44 std::basic_streambuf<_CharT, _Traits>::underflow [with _CharT = char, _Traits = std::char_traits<char>]
-48 std::basic_streambuf<_CharT, _Traits>::uflow [with _CharT = char, _Traits = std::char_traits<char>]
-52 std::basic_streambuf<_CharT, _Traits>::pbackfail [with _CharT = char, _Traits = std::char_traits<char>]
-56 std::basic_streambuf<_CharT, _Traits>::xsputn [with _CharT = char, _Traits = std::char_traits<char>]
-60 std::basic_streambuf<_CharT, _Traits>::overflow [with _CharT = char, _Traits = std::char_traits<char>]
-
-Class std::basic_streambuf<char, std::char_traits<char> >
- size=32 align=4
- base size=32 base align=4
-std::basic_streambuf<char, std::char_traits<char> > (0xb5d371e0) 0
- vptr=((& std::basic_streambuf<char, std::char_traits<char> >::_ZTVSt15basic_streambufIcSt11char_traitsIcEE) + 8u)
-Vtable for std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >
-std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >::_ZTVSt15basic_streambufIwSt11char_traitsIwEE: 16u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt15basic_streambufIwSt11char_traitsIwEE)
-8 std::basic_streambuf<_CharT, _Traits>::~basic_streambuf [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-12 std::basic_streambuf<_CharT, _Traits>::~basic_streambuf [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-16 std::basic_streambuf<_CharT, _Traits>::imbue [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-20 std::basic_streambuf<_CharT, _Traits>::setbuf [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-24 std::basic_streambuf<_CharT, _Traits>::seekoff [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-28 std::basic_streambuf<_CharT, _Traits>::seekpos [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-32 std::basic_streambuf<_CharT, _Traits>::sync [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-36 std::basic_streambuf<_CharT, _Traits>::showmanyc [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-40 std::basic_streambuf<_CharT, _Traits>::xsgetn [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-44 std::basic_streambuf<_CharT, _Traits>::underflow [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-48 std::basic_streambuf<_CharT, _Traits>::uflow [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-52 std::basic_streambuf<_CharT, _Traits>::pbackfail [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-56 std::basic_streambuf<_CharT, _Traits>::xsputn [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-60 std::basic_streambuf<_CharT, _Traits>::overflow [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-
-Class std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >
- size=32 align=4
- base size=32 base align=4
-std::basic_streambuf<wchar_t, std::char_traits<wchar_t> > (0xb5d37474) 0
- vptr=((& std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >::_ZTVSt15basic_streambufIwSt11char_traitsIwEE) + 8u)
+
+
Class std::ctype_base
size=1 align=1
base size=0 base align=1
std::ctype_base (0xb5d37708) 0 empty
-Vtable for std::ctype<char>
-std::ctype<char>::_ZTVSt5ctypeIcE: 12u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt5ctypeIcE)
-8 std::ctype<char>::~ctype
-12 std::ctype<char>::~ctype
-16 std::ctype<char>::do_toupper
-20 std::ctype<char>::do_toupper
-24 std::ctype<char>::do_tolower
-28 std::ctype<char>::do_tolower
-32 std::ctype<char>::do_widen
-36 std::ctype<char>::do_widen
-40 std::ctype<char>::do_narrow
-44 std::ctype<char>::do_narrow
-
-Class std::ctype<char>
- size=544 align=4
- base size=542 base align=4
-std::ctype<char> (0xb5d9dfa0) 0
- vptr=((& std::ctype<char>::_ZTVSt5ctypeIcE) + 8u)
- std::locale::facet (0xb5d8b654) 0
- primary-for std::ctype<char> (0xb5d9dfa0)
- std::ctype_base (0xb5d8b690) 0 empty
-
-Vtable for std::__ctype_abstract_base<wchar_t>
-std::__ctype_abstract_base<wchar_t>::_ZTVSt21__ctype_abstract_baseIwE: 16u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt21__ctype_abstract_baseIwE)
-8 std::__ctype_abstract_base<_CharT>::~__ctype_abstract_base [with _CharT = wchar_t]
-12 std::__ctype_abstract_base<_CharT>::~__ctype_abstract_base [with _CharT = wchar_t]
-16 __cxa_pure_virtual
-20 __cxa_pure_virtual
-24 __cxa_pure_virtual
-28 __cxa_pure_virtual
-32 __cxa_pure_virtual
-36 __cxa_pure_virtual
-40 __cxa_pure_virtual
-44 __cxa_pure_virtual
-48 __cxa_pure_virtual
-52 __cxa_pure_virtual
-56 __cxa_pure_virtual
-60 __cxa_pure_virtual
-Class std::__ctype_abstract_base<wchar_t>
- size=8 align=4
- base size=8 base align=4
-std::__ctype_abstract_base<wchar_t> (0xb5daa870) 0
- vptr=((& std::__ctype_abstract_base<wchar_t>::_ZTVSt21__ctype_abstract_baseIwE) + 8u)
- std::locale::facet (0xb5dbc21c) 0
- primary-for std::__ctype_abstract_base<wchar_t> (0xb5daa870)
- std::ctype_base (0xb5dbc258) 0 empty
-
-Vtable for std::ctype<wchar_t>
-std::ctype<wchar_t>::_ZTVSt5ctypeIwE: 16u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt5ctypeIwE)
-8 std::ctype<wchar_t>::~ctype
-12 std::ctype<wchar_t>::~ctype
-16 std::ctype<wchar_t>::do_is
-20 std::ctype<wchar_t>::do_is
-24 std::ctype<wchar_t>::do_scan_is
-28 std::ctype<wchar_t>::do_scan_not
-32 std::ctype<wchar_t>::do_toupper
-36 std::ctype<wchar_t>::do_toupper
-40 std::ctype<wchar_t>::do_tolower
-44 std::ctype<wchar_t>::do_tolower
-48 std::ctype<wchar_t>::do_widen
-52 std::ctype<wchar_t>::do_widen
-56 std::ctype<wchar_t>::do_narrow
-60 std::ctype<wchar_t>::do_narrow
-
-Class std::ctype<wchar_t>
- size=1264 align=4
- base size=1264 base align=4
-std::ctype<wchar_t> (0xb5dae800) 0
- vptr=((& std::ctype<wchar_t>::_ZTVSt5ctypeIwE) + 8u)
- std::__ctype_abstract_base<wchar_t> (0xb5bc76e0) 0
- primary-for std::ctype<wchar_t> (0xb5dae800)
- std::locale::facet (0xb5dbc348) 0
- primary-for std::__ctype_abstract_base<wchar_t> (0xb5bc76e0)
- std::ctype_base (0xb5dbc384) 0 empty
-
-Vtable for std::ctype_byname<char>
-std::ctype_byname<char>::_ZTVSt12ctype_bynameIcE: 12u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt12ctype_bynameIcE)
-8 std::ctype_byname<char>::~ctype_byname
-12 std::ctype_byname<char>::~ctype_byname
-16 std::ctype<char>::do_toupper
-20 std::ctype<char>::do_toupper
-24 std::ctype<char>::do_tolower
-28 std::ctype<char>::do_tolower
-32 std::ctype<char>::do_widen
-36 std::ctype<char>::do_widen
-40 std::ctype<char>::do_narrow
-44 std::ctype<char>::do_narrow
-
-Class std::ctype_byname<char>
- size=544 align=4
- base size=542 base align=4
-std::ctype_byname<char> (0xb5dae9c0) 0
- vptr=((& std::ctype_byname<char>::_ZTVSt12ctype_bynameIcE) + 8u)
- std::ctype<char> (0xb5bcee60) 0
- primary-for std::ctype_byname<char> (0xb5dae9c0)
- std::locale::facet (0xb5bcd690) 0
- primary-for std::ctype<char> (0xb5bcee60)
- std::ctype_base (0xb5bcd6cc) 0 empty
-
-Vtable for std::ctype_byname<wchar_t>
-std::ctype_byname<wchar_t>::_ZTVSt12ctype_bynameIwE: 16u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt12ctype_bynameIwE)
-8 std::ctype_byname<wchar_t>::~ctype_byname
-12 std::ctype_byname<wchar_t>::~ctype_byname
-16 std::ctype<wchar_t>::do_is
-20 std::ctype<wchar_t>::do_is
-24 std::ctype<wchar_t>::do_scan_is
-28 std::ctype<wchar_t>::do_scan_not
-32 std::ctype<wchar_t>::do_toupper
-36 std::ctype<wchar_t>::do_toupper
-40 std::ctype<wchar_t>::do_tolower
-44 std::ctype<wchar_t>::do_tolower
-48 std::ctype<wchar_t>::do_widen
-52 std::ctype<wchar_t>::do_widen
-56 std::ctype<wchar_t>::do_narrow
-60 std::ctype<wchar_t>::do_narrow
-
-Class std::ctype_byname<wchar_t>
- size=1264 align=4
- base size=1264 base align=4
-std::ctype_byname<wchar_t> (0xb5daea40) 0
- vptr=((& std::ctype_byname<wchar_t>::_ZTVSt12ctype_bynameIwE) + 8u)
- std::ctype<wchar_t> (0xb5daea80) 0
- primary-for std::ctype_byname<wchar_t> (0xb5daea40)
- std::__ctype_abstract_base<wchar_t> (0xb5bd24b0) 0
- primary-for std::ctype<wchar_t> (0xb5daea80)
- std::locale::facet (0xb5bcd834) 0
- primary-for std::__ctype_abstract_base<wchar_t> (0xb5bd24b0)
- std::ctype_base (0xb5bcd870) 0 empty
+
+
+
+
+
+
+
+
Class std::__num_base
size=1 align=1
base size=0 base align=1
std::__num_base (0xb5bd91e0) 0 empty
-Vtable for std::numpunct<char>
-std::numpunct<char>::_ZTVSt8numpunctIcE: 9u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt8numpunctIcE)
-8 std::numpunct<_CharT>::~numpunct [with _CharT = char]
-12 std::numpunct<_CharT>::~numpunct [with _CharT = char]
-16 std::numpunct<_CharT>::do_decimal_point [with _CharT = char]
-20 std::numpunct<_CharT>::do_thousands_sep [with _CharT = char]
-24 std::numpunct<_CharT>::do_grouping [with _CharT = char]
-28 std::numpunct<_CharT>::do_truename [with _CharT = char]
-32 std::numpunct<_CharT>::do_falsename [with _CharT = char]
-
-Class std::numpunct<char>
- size=12 align=4
- base size=12 base align=4
-std::numpunct<char> (0xb5be0480) 0
- vptr=((& std::numpunct<char>::_ZTVSt8numpunctIcE) + 8u)
- std::locale::facet (0xb5bd9a50) 0
- primary-for std::numpunct<char> (0xb5be0480)
-Vtable for std::numpunct<wchar_t>
-std::numpunct<wchar_t>::_ZTVSt8numpunctIwE: 9u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt8numpunctIwE)
-8 std::numpunct<_CharT>::~numpunct [with _CharT = wchar_t]
-12 std::numpunct<_CharT>::~numpunct [with _CharT = wchar_t]
-16 std::numpunct<_CharT>::do_decimal_point [with _CharT = wchar_t]
-20 std::numpunct<_CharT>::do_thousands_sep [with _CharT = wchar_t]
-24 std::numpunct<_CharT>::do_grouping [with _CharT = wchar_t]
-28 std::numpunct<_CharT>::do_truename [with _CharT = wchar_t]
-32 std::numpunct<_CharT>::do_falsename [with _CharT = wchar_t]
-
-Class std::numpunct<wchar_t>
- size=12 align=4
- base size=12 base align=4
-std::numpunct<wchar_t> (0xb5be0540) 0
- vptr=((& std::numpunct<wchar_t>::_ZTVSt8numpunctIwE) + 8u)
- std::locale::facet (0xb5bd9b40) 0
- primary-for std::numpunct<wchar_t> (0xb5be0540)
-Class __gnu_cxx::__conditional_type<true, long unsigned int, long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__conditional_type<true, long unsigned int, long long unsigned int> (0xb5c4a1a4) 0 empty
-Vtable for std::numpunct_byname<char>
-std::numpunct_byname<char>::_ZTVSt15numpunct_bynameIcE: 9u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt15numpunct_bynameIcE)
-8 std::numpunct_byname<_CharT>::~numpunct_byname [with _CharT = char]
-12 std::numpunct_byname<_CharT>::~numpunct_byname [with _CharT = char]
-16 std::numpunct<_CharT>::do_decimal_point [with _CharT = char]
-20 std::numpunct<_CharT>::do_thousands_sep [with _CharT = char]
-24 std::numpunct<_CharT>::do_grouping [with _CharT = char]
-28 std::numpunct<_CharT>::do_truename [with _CharT = char]
-32 std::numpunct<_CharT>::do_falsename [with _CharT = char]
-
-Class std::numpunct_byname<char>
- size=12 align=4
- base size=12 base align=4
-std::numpunct_byname<char> (0xb5c64a80) 0
- vptr=((& std::numpunct_byname<char>::_ZTVSt15numpunct_bynameIcE) + 8u)
- std::numpunct<char> (0xb5c64ac0) 0
- primary-for std::numpunct_byname<char> (0xb5c64a80)
- std::locale::facet (0xb5c4a7f8) 0
- primary-for std::numpunct<char> (0xb5c64ac0)
-
-Vtable for std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >
-std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >::_ZTVSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE: 15u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE)
-8 std::num_get<_CharT, _InIter>::~num_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-12 std::num_get<_CharT, _InIter>::~num_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-16 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-20 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-24 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-28 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-32 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-36 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-40 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-44 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-48 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-52 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-56 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-
-Class std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >
- size=8 align=4
- base size=8 base align=4
-std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > > (0xb5c64b00) 0
- vptr=((& std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >::_ZTVSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE) + 8u)
- std::locale::facet (0xb5c4a8e8) 0
- primary-for std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > > (0xb5c64b00)
-Vtable for std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >
-std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::_ZTVSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE: 12u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE)
-8 std::num_put<_CharT, _OutIter>::~num_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-12 std::num_put<_CharT, _OutIter>::~num_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-16 std::num_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-20 std::num_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-24 std::num_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-28 std::num_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-32 std::num_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-36 std::num_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-40 std::num_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-44 std::num_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-
-Class std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >
- size=8 align=4
- base size=8 base align=4
-std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > > (0xb5c64b80) 0
- vptr=((& std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::_ZTVSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE) + 8u)
- std::locale::facet (0xb5c4a9d8) 0
- primary-for std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > > (0xb5c64b80)
-Vtable for std::numpunct_byname<wchar_t>
-std::numpunct_byname<wchar_t>::_ZTVSt15numpunct_bynameIwE: 9u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt15numpunct_bynameIwE)
-8 std::numpunct_byname<_CharT>::~numpunct_byname [with _CharT = wchar_t]
-12 std::numpunct_byname<_CharT>::~numpunct_byname [with _CharT = wchar_t]
-16 std::numpunct<_CharT>::do_decimal_point [with _CharT = wchar_t]
-20 std::numpunct<_CharT>::do_thousands_sep [with _CharT = wchar_t]
-24 std::numpunct<_CharT>::do_grouping [with _CharT = wchar_t]
-28 std::numpunct<_CharT>::do_truename [with _CharT = wchar_t]
-32 std::numpunct<_CharT>::do_falsename [with _CharT = wchar_t]
-
-Class std::numpunct_byname<wchar_t>
- size=12 align=4
- base size=12 base align=4
-std::numpunct_byname<wchar_t> (0xb5c64c00) 0
- vptr=((& std::numpunct_byname<wchar_t>::_ZTVSt15numpunct_bynameIwE) + 8u)
- std::numpunct<wchar_t> (0xb5c64c40) 0
- primary-for std::numpunct_byname<wchar_t> (0xb5c64c00)
- std::locale::facet (0xb5c4aac8) 0
- primary-for std::numpunct<wchar_t> (0xb5c64c40)
-
-Vtable for std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >
-std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::_ZTVSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE: 15u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE)
-8 std::num_get<_CharT, _InIter>::~num_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-12 std::num_get<_CharT, _InIter>::~num_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-16 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-20 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-24 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-28 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-32 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-36 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-40 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-44 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-48 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-52 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-56 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-
-Class std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >
- size=8 align=4
- base size=8 base align=4
-std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > > (0xb5c64cc0) 0
- vptr=((& std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::_ZTVSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE) + 8u)
- std::locale::facet (0xb5c4abb8) 0
- primary-for std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > > (0xb5c64cc0)
-Vtable for std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >
-std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::_ZTVSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE: 12u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE)
-8 std::num_put<_CharT, _OutIter>::~num_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-12 std::num_put<_CharT, _OutIter>::~num_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-16 std::num_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-20 std::num_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-24 std::num_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-28 std::num_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-32 std::num_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-36 std::num_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-40 std::num_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-44 std::num_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-
-Class std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >
- size=8 align=4
- base size=8 base align=4
-std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > > (0xb5c64d40) 0
- vptr=((& std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::_ZTVSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE) + 8u)
- std::locale::facet (0xb5c4aca8) 0
- primary-for std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > > (0xb5c64d40)
-Vtable for std::basic_ios<char, std::char_traits<char> >
-std::basic_ios<char, std::char_traits<char> >::_ZTVSt9basic_iosIcSt11char_traitsIcEE: 4u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt9basic_iosIcSt11char_traitsIcEE)
-8 std::basic_ios<_CharT, _Traits>::~basic_ios [with _CharT = char, _Traits = std::char_traits<char>]
-12 std::basic_ios<_CharT, _Traits>::~basic_ios [with _CharT = char, _Traits = std::char_traits<char>]
-
-Class std::basic_ios<char, std::char_traits<char> >
- size=136 align=4
- base size=136 base align=4
-std::basic_ios<char, std::char_traits<char> > (0xb5cb8d80) 0
- vptr=((& std::basic_ios<char, std::char_traits<char> >::_ZTVSt9basic_iosIcSt11char_traitsIcEE) + 8u)
- std::ios_base (0xb5cb930c) 0
- primary-for std::basic_ios<char, std::char_traits<char> > (0xb5cb8d80)
-
-Vtable for std::basic_ios<wchar_t, std::char_traits<wchar_t> >
-std::basic_ios<wchar_t, std::char_traits<wchar_t> >::_ZTVSt9basic_iosIwSt11char_traitsIwEE: 4u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt9basic_iosIwSt11char_traitsIwEE)
-8 std::basic_ios<_CharT, _Traits>::~basic_ios [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-12 std::basic_ios<_CharT, _Traits>::~basic_ios [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-
-Class std::basic_ios<wchar_t, std::char_traits<wchar_t> >
- size=140 align=4
- base size=140 base align=4
-std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb5cb8dc0) 0
- vptr=((& std::basic_ios<wchar_t, std::char_traits<wchar_t> >::_ZTVSt9basic_iosIwSt11char_traitsIwEE) + 8u)
- std::ios_base (0xb5cb93fc) 0
- primary-for std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb5cb8dc0)
-
-Vtable for std::basic_ostream<char, std::char_traits<char> >
-std::basic_ostream<char, std::char_traits<char> >::_ZTVSo: 10u entries
-0 4u
-4 (int (*)(...))0
-8 (int (*)(...))(& _ZTISo)
-12 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = char, _Traits = std::char_traits<char>]
-16 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = char, _Traits = std::char_traits<char>]
-20 -4u
-24 (int (*)(...))-0x000000004
-28 (int (*)(...))(& _ZTISo)
-32 std::basic_ostream<char, std::char_traits<char> >::_ZTv0_n12_NSoD1Ev
-36 std::basic_ostream<char, std::char_traits<char> >::_ZTv0_n12_NSoD0Ev
+
+
+
+
+
+
+
+
+
+
+
+
+
+
VTT for std::basic_ostream<char, std::char_traits<char> >
std::basic_ostream<char, std::char_traits<char> >::_ZTTSo: 2u entries
0 ((& std::basic_ostream<char, std::char_traits<char> >::_ZTVSo) + 12u)
4 ((& std::basic_ostream<char, std::char_traits<char> >::_ZTVSo) + 32u)
-Class std::basic_ostream<char, std::char_traits<char> >
- size=140 align=4
- base size=4 base align=4
-std::basic_ostream<char, std::char_traits<char> > (0xb5b00a40) 0 nearly-empty
- vptridx=0u vptr=((& std::basic_ostream<char, std::char_traits<char> >::_ZTVSo) + 12u)
- std::basic_ios<char, std::char_traits<char> > (0xb5b00a80) 4 virtual
- vptridx=4u vbaseoffset=-0x00000000c vptr=((& std::basic_ostream<char, std::char_traits<char> >::_ZTVSo) + 32u)
- std::ios_base (0xb5b06078) 4
- primary-for std::basic_ios<char, std::char_traits<char> > (0xb5b00a80)
-
-Class std::basic_ostream<char, std::char_traits<char> >::sentry
- size=8 align=4
- base size=8 base align=4
-std::basic_ostream<char, std::char_traits<char> >::sentry (0xb5b06258) 0
-Vtable for std::basic_ostream<wchar_t, std::char_traits<wchar_t> >
-std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE: 10u entries
-0 4u
-4 (int (*)(...))0
-8 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE)
-12 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-16 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-20 -4u
-24 (int (*)(...))-0x000000004
-28 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE)
-32 std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n12_NSt13basic_ostreamIwSt11char_traitsIwEED1Ev
-36 std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n12_NSt13basic_ostreamIwSt11char_traitsIwEED0Ev
+
VTT for std::basic_ostream<wchar_t, std::char_traits<wchar_t> >
std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTTSt13basic_ostreamIwSt11char_traitsIwEE: 2u entries
0 ((& std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 12u)
4 ((& std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 32u)
-Class std::basic_ostream<wchar_t, std::char_traits<wchar_t> >
- size=144 align=4
- base size=4 base align=4
-std::basic_ostream<wchar_t, std::char_traits<wchar_t> > (0xb5b00bc0) 0 nearly-empty
- vptridx=0u vptr=((& std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 12u)
- std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb5b00c00) 4 virtual
- vptridx=4u vbaseoffset=-0x00000000c vptr=((& std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 32u)
- std::ios_base (0xb5b06294) 4
- primary-for std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb5b00c00)
-
-Class std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::sentry
- size=8 align=4
- base size=8 base align=4
-std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::sentry (0xb5b06438) 0
-Vtable for std::basic_istream<char, std::char_traits<char> >
-std::basic_istream<char, std::char_traits<char> >::_ZTVSi: 10u entries
-0 8u
-4 (int (*)(...))0
-8 (int (*)(...))(& _ZTISi)
-12 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = char, _Traits = std::char_traits<char>]
-16 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = char, _Traits = std::char_traits<char>]
-20 -8u
-24 (int (*)(...))-0x000000008
-28 (int (*)(...))(& _ZTISi)
-32 std::basic_istream<char, std::char_traits<char> >::_ZTv0_n12_NSiD1Ev
-36 std::basic_istream<char, std::char_traits<char> >::_ZTv0_n12_NSiD0Ev
+
VTT for std::basic_istream<char, std::char_traits<char> >
std::basic_istream<char, std::char_traits<char> >::_ZTTSi: 2u entries
0 ((& std::basic_istream<char, std::char_traits<char> >::_ZTVSi) + 12u)
4 ((& std::basic_istream<char, std::char_traits<char> >::_ZTVSi) + 32u)
-Class std::basic_istream<char, std::char_traits<char> >
- size=144 align=4
- base size=8 base align=4
-std::basic_istream<char, std::char_traits<char> > (0xb5b42480) 0
- vptridx=0u vptr=((& std::basic_istream<char, std::char_traits<char> >::_ZTVSi) + 12u)
- std::basic_ios<char, std::char_traits<char> > (0xb5b424c0) 8 virtual
- vptridx=4u vbaseoffset=-0x00000000c vptr=((& std::basic_istream<char, std::char_traits<char> >::_ZTVSi) + 32u)
- std::ios_base (0xb5b0699c) 8
- primary-for std::basic_ios<char, std::char_traits<char> > (0xb5b424c0)
-
-Vtable for std::basic_istream<wchar_t, std::char_traits<wchar_t> >
-std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_istreamIwSt11char_traitsIwEE: 10u entries
-0 8u
-4 (int (*)(...))0
-8 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE)
-12 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-16 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-20 -8u
-24 (int (*)(...))-0x000000008
-28 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE)
-32 std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n12_NSt13basic_istreamIwSt11char_traitsIwEED1Ev
-36 std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n12_NSt13basic_istreamIwSt11char_traitsIwEED0Ev
+
VTT for std::basic_istream<wchar_t, std::char_traits<wchar_t> >
std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTTSt13basic_istreamIwSt11char_traitsIwEE: 2u entries
0 ((& std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 12u)
4 ((& std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 32u)
-Class std::basic_istream<wchar_t, std::char_traits<wchar_t> >
- size=148 align=4
- base size=8 base align=4
-std::basic_istream<wchar_t, std::char_traits<wchar_t> > (0xb5b42580) 0
- vptridx=0u vptr=((& std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 12u)
- std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb5b425c0) 8 virtual
- vptridx=4u vbaseoffset=-0x00000000c vptr=((& std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 32u)
- std::ios_base (0xb5b06d20) 8
- primary-for std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb5b425c0)
-
-Class __gnu_cxx::__conditional_type<true, __gnu_cxx::__numeric_traits_integer<short int>, __gnu_cxx::__numeric_traits_floating<short int> >
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__conditional_type<true, __gnu_cxx::__numeric_traits_integer<short int>, __gnu_cxx::__numeric_traits_floating<short int> > (0xb5b64348) 0 empty
-Class __gnu_cxx::__numeric_traits_integer<short int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__numeric_traits_integer<short int> (0xb5b64384) 0 empty
-Class __gnu_cxx::__numeric_traits<short int>
- size=1 align=1
- base size=1 base align=1
-__gnu_cxx::__numeric_traits<short int> (0xb5b6e480) 0 empty
- __gnu_cxx::__numeric_traits_integer<short int> (0xb5b643c0) 0 empty
-Class std::basic_istream<char, std::char_traits<char> >::sentry
- size=1 align=1
- base size=1 base align=1
-std::basic_istream<char, std::char_traits<char> >::sentry (0xb5b6499c) 0
-Vtable for std::basic_iostream<char, std::char_traits<char> >
-std::basic_iostream<char, std::char_traits<char> >::_ZTVSd: 15u entries
-0 12u
-4 (int (*)(...))0
-8 (int (*)(...))(& _ZTISd)
-12 std::basic_iostream<_CharT, _Traits>::~basic_iostream [with _CharT = char, _Traits = std::char_traits<char>]
-16 std::basic_iostream<_CharT, _Traits>::~basic_iostream [with _CharT = char, _Traits = std::char_traits<char>]
-20 4u
-24 (int (*)(...))-0x000000008
-28 (int (*)(...))(& _ZTISd)
-32 std::basic_iostream<char, std::char_traits<char> >::_ZThn8_NSdD1Ev
-36 std::basic_iostream<char, std::char_traits<char> >::_ZThn8_NSdD0Ev
-40 -12u
-44 (int (*)(...))-0x00000000c
-48 (int (*)(...))(& _ZTISd)
-52 std::basic_iostream<char, std::char_traits<char> >::_ZTv0_n12_NSdD1Ev
-56 std::basic_iostream<char, std::char_traits<char> >::_ZTv0_n12_NSdD0Ev
+
Construction vtable for std::basic_istream<char, std::char_traits<char> > (0xb5ba9380 instance) in std::basic_iostream<char, std::char_traits<char> >
std::basic_iostream<char, std::char_traits<char> >::_ZTCSd0_Si: 10u entries
@@ -2486,44 +1210,8 @@ std::basic_iostream<char, std::char_traits<char> >::_ZTTSd: 7u entries
20 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 52u)
24 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 32u)
-Class std::basic_iostream<char, std::char_traits<char> >
- size=148 align=4
- base size=12 base align=4
-std::basic_iostream<char, std::char_traits<char> > (0xb5bb2b40) 0
- vptridx=0u vptr=((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 12u)
- std::basic_istream<char, std::char_traits<char> > (0xb5ba9380) 0
- primary-for std::basic_iostream<char, std::char_traits<char> > (0xb5bb2b40)
- subvttidx=4u
- std::basic_ios<char, std::char_traits<char> > (0xb5ba93c0) 12 virtual
- vptridx=20u vbaseoffset=-0x00000000c vptr=((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 52u)
- std::ios_base (0xb5b649d8) 12
- primary-for std::basic_ios<char, std::char_traits<char> > (0xb5ba93c0)
- std::basic_ostream<char, std::char_traits<char> > (0xb5ba9400) 8 nearly-empty
- subvttidx=12u vptridx=24u vptr=((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 32u)
- std::basic_ios<char, std::char_traits<char> > (0xb5ba93c0) alternative-path
-
-Class std::basic_istream<wchar_t, std::char_traits<wchar_t> >::sentry
- size=1 align=1
- base size=1 base align=1
-std::basic_istream<wchar_t, std::char_traits<wchar_t> >::sentry (0xb5b64c6c) 0
-Vtable for std::basic_iostream<wchar_t, std::char_traits<wchar_t> >
-std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE: 15u entries
-0 12u
-4 (int (*)(...))0
-8 (int (*)(...))(& _ZTISt14basic_iostreamIwSt11char_traitsIwEE)
-12 std::basic_iostream<_CharT, _Traits>::~basic_iostream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-16 std::basic_iostream<_CharT, _Traits>::~basic_iostream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-20 4u
-24 (int (*)(...))-0x000000008
-28 (int (*)(...))(& _ZTISt14basic_iostreamIwSt11char_traitsIwEE)
-32 std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZThn8_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev
-36 std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZThn8_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev
-40 -12u
-44 (int (*)(...))-0x00000000c
-48 (int (*)(...))(& _ZTISt14basic_iostreamIwSt11char_traitsIwEE)
-52 std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n12_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev
-56 std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n12_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev
+
Construction vtable for std::basic_istream<wchar_t, std::char_traits<wchar_t> > (0xb5ba9700 instance) in std::basic_iostream<wchar_t, std::char_traits<wchar_t> >
std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E: 10u entries
@@ -2561,110 +1249,21 @@ std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTTSt14basic_iostream
20 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 52u)
24 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 32u)
-Class std::basic_iostream<wchar_t, std::char_traits<wchar_t> >
- size=152 align=4
- base size=12 base align=4
-std::basic_iostream<wchar_t, std::char_traits<wchar_t> > (0xb5bc0be0) 0
- vptridx=0u vptr=((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 12u)
- std::basic_istream<wchar_t, std::char_traits<wchar_t> > (0xb5ba9700) 0
- primary-for std::basic_iostream<wchar_t, std::char_traits<wchar_t> > (0xb5bc0be0)
- subvttidx=4u
- std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb5ba9740) 12 virtual
- vptridx=20u vbaseoffset=-0x00000000c vptr=((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 52u)
- std::ios_base (0xb5b64ca8) 12
- primary-for std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb5ba9740)
- std::basic_ostream<wchar_t, std::char_traits<wchar_t> > (0xb5ba9780) 8 nearly-empty
- subvttidx=12u vptridx=24u vptr=((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 32u)
- std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb5ba9740) alternative-path
-
-Class QVector<double>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<double>::<anonymous union> (0xb59cb474) 0
-Class QVector<double>
- size=4 align=4
- base size=4 base align=4
-QVector<double> (0xb59cb3fc) 0
-Class QtConcurrent::Median<double>
- size=24 align=4
- base size=22 base align=4
-QtConcurrent::Median<double> (0xb59cb384) 0
+
Class QtConcurrent::BlockSizeManager
size=72 align=4
base size=72 base align=4
QtConcurrent::BlockSizeManager (0xb59cb2d0) 0
-Class QtConcurrent::ResultReporter<void>
- size=1 align=1
- base size=0 base align=1
-QtConcurrent::ResultReporter<void> (0xb59cb834) 0 empty
-Class QFlags<QtConcurrent::ReduceOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QtConcurrent::ReduceOption> (0xb59cbf00) 0
-Class QtConcurrent::SelectSpecialization<void>
- size=1 align=1
- base size=0 base align=1
-QtConcurrent::SelectSpecialization<void> (0xb58ea4b0) 0 empty
-Vtable for QtConcurrent::RunFunctionTaskBase<void>
-QtConcurrent::RunFunctionTaskBase<void>::_ZTVN12QtConcurrent19RunFunctionTaskBaseIvEE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTIN12QtConcurrent19RunFunctionTaskBaseIvEE)
-8 QtConcurrent::RunFunctionTaskBase<void>::~RunFunctionTaskBase
-12 QtConcurrent::RunFunctionTaskBase<void>::~RunFunctionTaskBase
-16 QtConcurrent::RunFunctionTaskBase<T>::run [with T = void]
-20 __cxa_pure_virtual
-24 (int (*)(...))-0x000000008
-28 (int (*)(...))(& _ZTIN12QtConcurrent19RunFunctionTaskBaseIvEE)
-32 QtConcurrent::RunFunctionTaskBase<void>::_ZThn8_N12QtConcurrent19RunFunctionTaskBaseIvE3runEv
-36 QtConcurrent::RunFunctionTaskBase<void>::_ZThn8_N12QtConcurrent19RunFunctionTaskBaseIvED1Ev
-40 QtConcurrent::RunFunctionTaskBase<void>::_ZThn8_N12QtConcurrent19RunFunctionTaskBaseIvED0Ev
-Class QtConcurrent::RunFunctionTaskBase<void>
- size=16 align=4
- base size=16 base align=4
-QtConcurrent::RunFunctionTaskBase<void> (0xb58f5370) 0
- vptr=((& QtConcurrent::RunFunctionTaskBase<void>::_ZTVN12QtConcurrent19RunFunctionTaskBaseIvEE) + 8u)
- QFutureInterface<void> (0xb58e4a00) 0
- primary-for QtConcurrent::RunFunctionTaskBase<void> (0xb58f5370)
- QFutureInterfaceBase (0xb58ea690) 0
- primary-for QFutureInterface<void> (0xb58e4a00)
- QRunnable (0xb58ea6cc) 8
- vptr=((& QtConcurrent::RunFunctionTaskBase<void>::_ZTVN12QtConcurrent19RunFunctionTaskBaseIvEE) + 32u)
-
-Vtable for QtConcurrent::RunFunctionTask<void>
-QtConcurrent::RunFunctionTask<void>::_ZTVN12QtConcurrent15RunFunctionTaskIvEE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTIN12QtConcurrent15RunFunctionTaskIvEE)
-8 QtConcurrent::RunFunctionTask<void>::~RunFunctionTask
-12 QtConcurrent::RunFunctionTask<void>::~RunFunctionTask
-16 QtConcurrent::RunFunctionTask<void>::run
-20 __cxa_pure_virtual
-24 (int (*)(...))-0x000000008
-28 (int (*)(...))(& _ZTIN12QtConcurrent15RunFunctionTaskIvEE)
-32 QtConcurrent::RunFunctionTask<void>::_ZThn8_N12QtConcurrent15RunFunctionTaskIvE3runEv
-36 QtConcurrent::RunFunctionTask<void>::_ZThn8_N12QtConcurrent15RunFunctionTaskIvED1Ev
-40 QtConcurrent::RunFunctionTask<void>::_ZThn8_N12QtConcurrent15RunFunctionTaskIvED0Ev
-Class QtConcurrent::RunFunctionTask<void>
- size=16 align=4
- base size=16 base align=4
-QtConcurrent::RunFunctionTask<void> (0xb58e4a80) 0
- vptr=((& QtConcurrent::RunFunctionTask<void>::_ZTVN12QtConcurrent15RunFunctionTaskIvEE) + 8u)
- QtConcurrent::RunFunctionTaskBase<void> (0xb58f5780) 0
- primary-for QtConcurrent::RunFunctionTask<void> (0xb58e4a80)
- QFutureInterface<void> (0xb58e4ac0) 0
- primary-for QtConcurrent::RunFunctionTaskBase<void> (0xb58f5780)
- QFutureInterfaceBase (0xb58ea870) 0
- primary-for QFutureInterface<void> (0xb58e4ac0)
- QRunnable (0xb58ea8ac) 8
- vptr=((& QtConcurrent::RunFunctionTask<void>::_ZTVN12QtConcurrent15RunFunctionTaskIvEE) + 32u)
+
Class QLibraryInfo
size=1 align=1
@@ -2715,50 +1314,22 @@ QFile (0xb5847e00) 0
QObject (0xb584abf4) 0
primary-for QIODevice (0xb5847e40)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0xb5880564) 0
Class QFileInfo
size=4 align=4
base size=4 base align=4
QFileInfo (0xb588f12c) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0xb58a17bc) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0xb58a1ac8) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0xb58b2834) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0xb58b27bc) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0xb58b2924) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0xb56d1e88) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0xb56d1f78) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -2833,10 +1404,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0xb5711258) 0
vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0xb5723348) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -2926,10 +1493,6 @@ Class QDirIterator
QDirIterator (0xb57454ec) 0
vptr=((& QDirIterator::_ZTV12QDirIterator) + 8u)
-Class QFlags<QDirIterator::IteratorFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDirIterator::IteratorFlag> (0xb5745ce4) 0
Vtable for QFileSystemWatcher
QFileSystemWatcher::_ZTV18QFileSystemWatcher: 14u entries
@@ -3067,25 +1630,13 @@ Class QLocale::Data
base size=4 base align=2
QLocale::Data (0xb57a6ca8) 0
-Class QLocale::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QLocale::<anonymous union> (0xb57a6d20) 0
Class QLocale
size=4 align=4
base size=4 base align=4
QLocale (0xb5787a8c) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0xb57b4528) 0 empty
-Class QFlags<QLocale::NumberOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLocale::NumberOption> (0xb57b4690) 0
Class QResource
size=4 align=4
@@ -3097,275 +1648,59 @@ Class QMetaType
base size=0 base align=1
QMetaType (0xb55b9f78) 0 empty
-Class QMetaTypeId2<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QString> (0xb55da3c0) 0 empty
-Class QMetaTypeId2<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<int> (0xb55da5a0) 0 empty
-Class QMetaTypeId2<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned int> (0xb55da780) 0 empty
-Class QMetaTypeId2<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<bool> (0xb55da960) 0 empty
-Class QMetaTypeId2<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<double> (0xb55dab40) 0 empty
-Class QMetaTypeId2<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QByteArray> (0xb55dad20) 0 empty
-Class QMetaTypeId2<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QChar> (0xb55daf00) 0 empty
-Class QMetaTypeId2<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long int> (0xb55ed0f0) 0 empty
-Class QMetaTypeId2<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short int> (0xb55ed2d0) 0 empty
-Class QMetaTypeId2<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<char> (0xb55ed4b0) 0 empty
-Class QMetaTypeId2<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long unsigned int> (0xb55ed690) 0 empty
-Class QMetaTypeId2<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short unsigned int> (0xb55ed870) 0 empty
-Class QMetaTypeId2<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned char> (0xb55eda50) 0 empty
-Class QMetaTypeId2<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<float> (0xb55edc30) 0 empty
-Class QMetaTypeId2<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QObject*> (0xb55ede10) 0 empty
-Class QMetaTypeId2<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QWidget*> (0xb55f5000) 0 empty
-Class QMetaTypeId2<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<void*> (0xb55f51e0) 0 empty
-Class QMetaTypeId2<long long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long int> (0xb55f53c0) 0 empty
-Class QMetaTypeId2<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long unsigned int> (0xb55f55a0) 0 empty
-Class QMetaTypeId2<QStringList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QStringList> (0xb55f5780) 0 empty
-Class QMetaTypeId2<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitArray> (0xb55f5960) 0 empty
-Class QMetaTypeId2<QDate>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDate> (0xb55f5b40) 0 empty
-Class QMetaTypeId2<QTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTime> (0xb55f5d20) 0 empty
-Class QMetaTypeId2<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDateTime> (0xb55f5f00) 0 empty
-Class QMetaTypeId2<QUrl>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QUrl> (0xb55fd0f0) 0 empty
-Class QMetaTypeId2<QLocale>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLocale> (0xb55fd2d0) 0 empty
-Class QMetaTypeId2<QRect>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRect> (0xb55fd4b0) 0 empty
-Class QMetaTypeId2<QRectF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRectF> (0xb55fd690) 0 empty
-Class QMetaTypeId2<QSize>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSize> (0xb55fd870) 0 empty
-Class QMetaTypeId2<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizeF> (0xb55fda50) 0 empty
-Class QMetaTypeId2<QLine>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLine> (0xb55fdc30) 0 empty
-Class QMetaTypeId2<QLineF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLineF> (0xb55fde10) 0 empty
-Class QMetaTypeId2<QPoint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPoint> (0xb5607000) 0 empty
-Class QMetaTypeId2<QPointF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPointF> (0xb56071e0) 0 empty
-Class QMetaTypeId2<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegExp> (0xb56073c0) 0 empty
-Class QMetaTypeId2<QColorGroup>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColorGroup> (0xb56075a0) 0 empty
-Class QMetaTypeId2<QFont>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QFont> (0xb5607780) 0 empty
-Class QMetaTypeId2<QPixmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPixmap> (0xb5607960) 0 empty
-Class QMetaTypeId2<QBrush>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBrush> (0xb5607b40) 0 empty
-Class QMetaTypeId2<QColor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColor> (0xb5607d20) 0 empty
-Class QMetaTypeId2<QPalette>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPalette> (0xb5607f00) 0 empty
-Class QMetaTypeId2<QIcon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QIcon> (0xb560c0f0) 0 empty
-Class QMetaTypeId2<QImage>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QImage> (0xb560c2d0) 0 empty
-Class QMetaTypeId2<QPolygon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPolygon> (0xb560c4b0) 0 empty
-Class QMetaTypeId2<QRegion>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegion> (0xb560c690) 0 empty
-Class QMetaTypeId2<QBitmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitmap> (0xb560c870) 0 empty
-Class QMetaTypeId2<QCursor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QCursor> (0xb560ca50) 0 empty
-Class QMetaTypeId2<QSizePolicy>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizePolicy> (0xb560cc30) 0 empty
-Class QMetaTypeId2<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QKeySequence> (0xb560ce10) 0 empty
-Class QMetaTypeId2<QPen>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPen> (0xb5615000) 0 empty
-Class QMetaTypeId2<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextLength> (0xb56151e0) 0 empty
-Class QMetaTypeId2<QTextFormat>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextFormat> (0xb56153c0) 0 empty
-Class QMetaTypeId2<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMatrix> (0xb56155a0) 0 empty
-Class QMetaTypeId2<QTransform>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTransform> (0xb5615780) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -3392,45 +1727,17 @@ Class QVariant
base size=12 base align=4
QVariant (0xb5615960) 0
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0xb56503fc) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0xb5650384) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0xb56504ec) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0xb5650474) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0xb5684870) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0xb5684e88) 0 empty
-Class QMetaTypeId2<QList<QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QList<QVariant> > (0xb5698078) 0 empty
-Class QMetaTypeId2<QMap<QString, QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMap<QString, QVariant> > (0xb5698258) 0 empty
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -3508,15 +1815,7 @@ Class QUrl
base size=4 base align=4
QUrl (0xb54df2d0) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0xb54ec21c) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0xb5503ca8) 0 empty
Vtable for QEventLoop
QEventLoop::_ZTV10QEventLoop: 14u entries
@@ -3543,10 +1842,6 @@ QEventLoop (0xb54dbac0) 0
QObject (0xb5515b04) 0
primary-for QEventLoop (0xb54dbac0)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0xb552912c) 0
Vtable for QAbstractEventDispatcher
QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 27u entries
@@ -3591,20 +1886,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0xb554c384) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0xb555f780) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0xb555f870) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0xb555ffb4) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -3774,10 +2061,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0xb55b712c) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0xb55b78ac) 0 empty
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -3889,20 +2172,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0xb53f44ec) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0xb53f499c) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0xb53f4a8c) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0xb53f4ec4) 0 empty
Class QMetaProperty
size=20 align=4
@@ -3914,10 +2189,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0xb542f2d0) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0xb542f618) 0 empty
Vtable for QMimeData
QMimeData::_ZTV9QMimeData: 17u entries
@@ -4129,10 +2400,6 @@ QLibrary (0xb54767c0) 0
QObject (0xb548cf78) 0
primary-for QLibrary (0xb54767c0)
-Class QFlags<QLibrary::LoadHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLibrary::LoadHint> (0xb549eec4) 0
Vtable for QPluginLoader
QPluginLoader::_ZTV13QPluginLoader: 14u entries
@@ -4169,20 +2436,12 @@ Class QReadWriteLock
base size=4 base align=4
QReadWriteLock (0xb52d3474) 0
-Class QReadLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QReadLocker::<anonymous union> (0xb52d3b04) 0
Class QReadLocker
size=4 align=4
base size=4 base align=4
QReadLocker (0xb52d37f8) 0
-Class QWriteLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QWriteLocker::<anonymous union> (0xb52eb000) 0
Class QWriteLocker
size=4 align=4
@@ -4209,10 +2468,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0xb53285dc) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0xb53312d0) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -4229,70 +2484,42 @@ Class QDate
base size=4 base align=4
QDate (0xb535a2d0) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0xb5366c6c) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0xb5366d5c) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0xb537d2d0) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0xb537d3c0) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0xb5384ac8) 0 empty
Class QPoint
size=8 align=4
base size=8 base align=4
QPoint (0xb5384ca8) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0xb539bb7c) 0 empty
Class QPointF
size=16 align=4
base size=16 base align=4
QPointF (0xb53a9ca8) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0xb5199c30) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0xb51a8c6c) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0xb51be03c) 0 empty
Class QLineF
size=32 align=4
base size=32 base align=4
QLineF (0xb51d41a4) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0xb51d4bb8) 0 empty
Class QLinkedListData
size=20 align=4
@@ -4304,40 +2531,24 @@ Class QSize
base size=8 base align=4
QSize (0xb5255b04) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0xb5277bf4) 0 empty
Class QSizeF
size=16 align=4
base size=16 base align=4
QSizeF (0xb5293780) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0xb509d8ac) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0xb50bd5dc) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0xb50d64b0) 0 empty
Class QRectF
size=32 align=4
base size=32 base align=4
QRectF (0xb511d0b4) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0xb51355dc) 0 empty
Class QSharedData
size=4 align=4
@@ -4385,20 +2596,8 @@ Class QXmlStreamAttribute
base size=53 base align=4
QXmlStreamAttribute (0xb4fced98) 0
-Class QTypeInfo<QXmlStreamAttribute>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QXmlStreamAttribute> (0xb4fe830c) 0 empty
-Class QVector<QXmlStreamAttribute>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QXmlStreamAttribute>::<anonymous union> (0xb4fe8474) 0
-Class QVector<QXmlStreamAttribute>
- size=4 align=4
- base size=4 base align=4
-QVector<QXmlStreamAttribute> (0xb4fe83fc) 0
Class QXmlStreamAttributes
size=4 align=4
@@ -4411,30 +2610,18 @@ Class QXmlStreamNamespaceDeclaration
base size=28 base align=4
QXmlStreamNamespaceDeclaration (0xb4fe84ec) 0
-Class QTypeInfo<QXmlStreamNamespaceDeclaration>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QXmlStreamNamespaceDeclaration> (0xb4fe8f00) 0 empty
Class QXmlStreamNotationDeclaration
size=40 align=4
base size=40 base align=4
QXmlStreamNotationDeclaration (0xb500c03c) 0
-Class QTypeInfo<QXmlStreamNotationDeclaration>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QXmlStreamNotationDeclaration> (0xb500cbf4) 0 empty
Class QXmlStreamEntityDeclaration
size=64 align=4
base size=64 base align=4
QXmlStreamEntityDeclaration (0xb500cd20) 0
-Class QTypeInfo<QXmlStreamEntityDeclaration>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QXmlStreamEntityDeclaration> (0xb501cca8) 0 empty
Vtable for QXmlStreamEntityResolver
QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver: 6u entries
@@ -4573,15 +2760,7 @@ Class QXmlAttributes::Attribute
base size=16 base align=4
QXmlAttributes::Attribute (0xb4eac2d0) 0
-Class QList<QXmlAttributes::Attribute>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QXmlAttributes::Attribute>::<anonymous union> (0xb4eac5dc) 0
-Class QList<QXmlAttributes::Attribute>
- size=4 align=4
- base size=4 base align=4
-QList<QXmlAttributes::Attribute> (0xb4eac564) 0
Vtable for QXmlAttributes
QXmlAttributes::_ZTV14QXmlAttributes: 4u entries
@@ -4911,43 +3090,11 @@ QXmlDefaultHandler (0xb4ef87e8) 0
QXmlDeclHandler (0xb4eeebf4) 20 nearly-empty
vptr=((& QXmlDefaultHandler::_ZTV18QXmlDefaultHandler) + 268u)
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0xb4f658ac) 0
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0xb4f78e4c) 0
-Class QTypeInfo<QtConcurrent::ResultItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QtConcurrent::ResultItem> (0xb4e2e438) 0 empty
-Class QMap<int, QtConcurrent::ResultItem>::Node
- size=20 align=4
- base size=20 base align=4
-QMap<int, QtConcurrent::ResultItem>::Node (0xb4e2e4b0) 0
-Class QMap<int, QtConcurrent::ResultItem>::PayloadNode
- size=16 align=4
- base size=16 base align=4
-QMap<int, QtConcurrent::ResultItem>::PayloadNode (0xb4e561e0) 0
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0xb4e5630c) 0
-Class QTypeInfo<QXmlAttributes::Attribute>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QXmlAttributes::Attribute> (0xb4e56564) 0 empty
-Class QList<QXmlAttributes::Attribute>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QXmlAttributes::Attribute>::Node (0xb4e565dc) 0
diff --git a/tests/auto/bic/data/QtXmlPatterns.4.4.0.linux-gcc-ia32.txt b/tests/auto/bic/data/QtXmlPatterns.4.4.0.linux-gcc-ia32.txt
index ffc05cd..b3f65d1 100644
--- a/tests/auto/bic/data/QtXmlPatterns.4.4.0.linux-gcc-ia32.txt
+++ b/tests/auto/bic/data/QtXmlPatterns.4.4.0.linux-gcc-ia32.txt
@@ -1,34 +1,8 @@
-Class QUintForSize<4>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<4> (0xb77a33c0) 0 empty
-Class QUintForSize<8>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<8> (0xb77a33fc) 0 empty
-Class QUintForType<void*>
- size=1 align=1
- base size=1 base align=1
-QUintForType<void*> (0xb7bfab40) 0 empty
- QUintForSize<4> (0xb77a3474) 0 empty
-Class QIntForSize<4>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<4> (0xb77a35a0) 0 empty
-Class QIntForSize<8>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<8> (0xb77a35dc) 0 empty
-Class QIntForType<void*>
- size=1 align=1
- base size=1 base align=1
-QIntForType<void*> (0xb7bfad00) 0 empty
- QIntForSize<4> (0xb77a3654) 0 empty
Class QSysInfo
size=1 align=1
@@ -50,80 +24,20 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0xb77b7a50) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0xb77b7c30) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0xb77b7d20) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0xb77b7e10) 0 empty
-Class QTypeInfo<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned char> (0xb77b7f00) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0xb77cd000) 0 empty
-Class QTypeInfo<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short unsigned int> (0xb77cd0f0) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0xb77cd1e0) 0 empty
-Class QTypeInfo<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned int> (0xb77cd2d0) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0xb77cd3c0) 0 empty
-Class QTypeInfo<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long unsigned int> (0xb77cd4b0) 0 empty
-Class QTypeInfo<long long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long int> (0xb77cd5a0) 0 empty
-Class QTypeInfo<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long unsigned int> (0xb77cd690) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0xb77cd780) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0xb77cd870) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0xb77cd960) 0 empty
Class QFlag
size=4 align=4
@@ -140,10 +54,6 @@ Class QChar
base size=2 base align=2
QChar (0xb77eb960) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0xb7815618) 0 empty
Class QBasicAtomicInt
size=4 align=4
@@ -176,75 +86,19 @@ Class QByteRef
base size=8 base align=4
QByteRef (0xb6a7a1e0) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0xb68c72d0) 0 empty
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0xb68c7564) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0xb68c7e88) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0xb690f7bc) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0xb691b0f0) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0xb691ba14) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0xb692e348) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0xb692ec6c) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0xb69435a0) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0xb6943ec4) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0xb69577f8) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0xb696312c) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0xb6963a50) 0
-Class QFlags<Qt::TextInteractionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::TextInteractionFlag> (0xb697c384) 0
Class QInternal
size=1 align=1
@@ -266,10 +120,6 @@ Class QString
base size=4 base align=4
QString (0xb697ce10) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0xb67e003c) 0
Class QLatin1String
size=4 align=4
@@ -287,10 +137,6 @@ Class QConstString
QConstString (0xb66fdb00) 0
QString (0xb6745474) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0xb6745780) 0 empty
Class QStringRef
size=12 align=4
@@ -358,10 +204,6 @@ Class QListData
base size=4 base align=4
QListData (0xb67aae4c) 0
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0xb66630f0) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -386,15 +228,7 @@ Class QTextCodec
QTextCodec (0xb6656438) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0xb6675744) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0xb66756cc) 0
Class QTextEncoder
size=32 align=4
@@ -417,25 +251,13 @@ Class QGenericReturnArgument
QGenericReturnArgument (0xb66a2000) 0
QGenericArgument (0xb6699960) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0xb6699e4c) 0
Class QMetaObject
size=16 align=4
base size=16 base align=4
QMetaObject (0xb6699c6c) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0xb66b1fb4) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0xb66b1f3c) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -527,10 +349,6 @@ QIODevice (0xb64f5e80) 0
QObject (0xb64f1fb4) 0
primary-for QIODevice (0xb64f5e80)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0xb6527294) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -550,25 +368,13 @@ Class QRegExp
base size=4 base align=4
QRegExp (0xb65681e0) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0xb65889d8) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0xb6588ac8) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0xb659603c) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0xb6588fb4) 0
Class QStringList
size=4 align=4
@@ -576,15 +382,7 @@ Class QStringList
QStringList (0xb6566f80) 0
QList<QString> (0xb6596078) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0xb65b1dd4) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0xb63c1000) 0
Vtable for QFactoryInterface
QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
@@ -664,10 +462,6 @@ Class QMutex
base size=4 base align=4
QMutex (0xb63f021c) 0
-Class QMutexLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMutexLocker::<anonymous union> (0xb63f0e10) 0
Class QMutexLocker
size=4 align=4
@@ -747,35 +541,11 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0xb62c6744) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0xb62c67f8) 0 empty
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6356780) 0
-Class <anonymous struct>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct>::<anonymous union> (0xb6356870) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb63567f8) 0
-Class <anonymous struct>
- size=12 align=4
- base size=12 base align=4
-<anonymous struct> (0xb63568e8) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb6356960) 0
Class _IO_marker
size=12 align=4
@@ -787,10 +557,6 @@ Class _IO_FILE
base size=148 base align=4
_IO_FILE (0xb63569d8) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb6356a50) 0
Vtable for QTextStream
QTextStream::_ZTV11QTextStream: 4u entries
@@ -805,10 +571,6 @@ Class QTextStream
QTextStream (0xb6356a8c) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0xb63a621c) 0
Class QTextStreamManipulator
size=24 align=4
@@ -845,40 +607,16 @@ QTextOStream (0xb61cc0c0) 0
QTextStream (0xb61c599c) 0
primary-for QTextOStream (0xb61cc0c0)
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0xb61d53fc) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0xb61d5474) 0
Class wait
size=4 align=4
base size=4 base align=4
wait (0xb61d5384) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb61d54ec) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb61d5564) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb61d55dc) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb61d5654) 0
Class timespec
size=8 align=4
@@ -890,80 +628,24 @@ Class timeval
base size=8 base align=4
timeval (0xb61d56cc) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb61d5744) 0
-Class <anonymous union>
- size=36 align=4
- base size=36 base align=4
-<anonymous union> (0xb61d57bc) 0
Class __pthread_internal_slist
size=4 align=4
base size=4 base align=4
__pthread_internal_slist (0xb61d57f8) 0
-Class <anonymous union>::__pthread_mutex_s::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union>::__pthread_mutex_s::<anonymous union> (0xb61d5924) 0
-Class <anonymous union>::__pthread_mutex_s
- size=24 align=4
- base size=24 base align=4
-<anonymous union>::__pthread_mutex_s (0xb61d58ac) 0
-Class <anonymous union>
- size=24 align=4
- base size=24 base align=4
-<anonymous union> (0xb61d5870) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb61d599c) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0xb61d5a8c) 0
-Class <anonymous union>
- size=48 align=4
- base size=48 base align=4
-<anonymous union> (0xb61d5a14) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb61d5b04) 0
-Class <anonymous union>::<anonymous struct>
- size=32 align=4
- base size=32 base align=4
-<anonymous union>::<anonymous struct> (0xb61d5bf4) 0
-Class <anonymous union>
- size=32 align=4
- base size=32 base align=4
-<anonymous union> (0xb61d5b7c) 0
-Class <anonymous union>
- size=8 align=4
- base size=8 base align=4
-<anonymous union> (0xb61d5ca8) 0
-Class <anonymous union>
- size=20 align=4
- base size=20 base align=4
-<anonymous union> (0xb61d5d20) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb61d5d98) 0
Class random_data
size=28 align=4
@@ -995,20 +677,8 @@ Class QtConcurrent::ResultItem
base size=8 base align=4
QtConcurrent::ResultItem (0xb60f7b40) 0
-Class QMap<int, QtConcurrent::ResultItem>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<int, QtConcurrent::ResultItem>::<anonymous union> (0xb610f780) 0
-Class QMap<int, QtConcurrent::ResultItem>
- size=4 align=4
- base size=4 base align=4
-QMap<int, QtConcurrent::ResultItem> (0xb610f708) 0
-Class QMap<int, QtConcurrent::ResultItem>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QMap<int, QtConcurrent::ResultItem>::const_iterator (0xb610fac8) 0
Class QtConcurrent::ResultIteratorBase
size=8 align=4
@@ -1028,10 +698,6 @@ Class QtConcurrent::ResultStoreBase
QtConcurrent::ResultStoreBase (0xb610fbf4) 0
vptr=((& QtConcurrent::ResultStoreBase::_ZTVN12QtConcurrent15ResultStoreBaseE) + 8u)
-Class QMap<int, QtConcurrent::ResultItem>::iterator
- size=4 align=4
- base size=4 base align=4
-QMap<int, QtConcurrent::ResultItem>::iterator (0xb6138294) 0
Vtable for QFutureInterfaceBase
QFutureInterfaceBase::_ZTV20QFutureInterfaceBase: 4u entries
@@ -1046,25 +712,8 @@ Class QFutureInterfaceBase
QFutureInterfaceBase (0xb613830c) 0
vptr=((& QFutureInterfaceBase::_ZTV20QFutureInterfaceBase) + 8u)
-Vtable for QFutureInterface<void>
-QFutureInterface<void>::_ZTV16QFutureInterfaceIvE: 4u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI16QFutureInterfaceIvE)
-8 QFutureInterface<void>::~QFutureInterface
-12 QFutureInterface<void>::~QFutureInterface
-Class QFutureInterface<void>
- size=8 align=4
- base size=8 base align=4
-QFutureInterface<void> (0xb6154780) 0
- vptr=((& QFutureInterface<void>::_ZTV16QFutureInterfaceIvE) + 8u)
- QFutureInterfaceBase (0xb6138e4c) 0
- primary-for QFutureInterface<void> (0xb6154780)
-Class QFuture<void>
- size=8 align=4
- base size=8 base align=4
-QFuture<void> (0xb61895dc) 0
Vtable for QFutureWatcherBase
QFutureWatcherBase::_ZTV18QFutureWatcherBase: 16u entries
@@ -1093,34 +742,7 @@ QFutureWatcherBase (0xb61ad6c0) 0
QObject (0xb61abc6c) 0
primary-for QFutureWatcherBase (0xb61ad6c0)
-Vtable for QFutureWatcher<void>
-QFutureWatcher<void>::_ZTV14QFutureWatcherIvE: 16u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI14QFutureWatcherIvE)
-8 QFutureWatcherBase::metaObject
-12 QFutureWatcherBase::qt_metacast
-16 QFutureWatcherBase::qt_metacall
-20 QFutureWatcher<void>::~QFutureWatcher
-24 QFutureWatcher<void>::~QFutureWatcher
-28 QFutureWatcherBase::event
-32 QObject::eventFilter
-36 QObject::timerEvent
-40 QObject::childEvent
-44 QObject::customEvent
-48 QFutureWatcherBase::connectNotify
-52 QFutureWatcherBase::disconnectNotify
-56 QFutureWatcher<void>::futureInterface
-60 QFutureWatcher<void>::futureInterface
-Class QFutureWatcher<void>
- size=16 align=4
- base size=16 base align=4
-QFutureWatcher<void> (0xb61addc0) 0
- vptr=((& QFutureWatcher<void>::_ZTV14QFutureWatcherIvE) + 8u)
- QFutureWatcherBase (0xb61ade00) 0
- primary-for QFutureWatcher<void> (0xb61addc0)
- QObject (0xb5fc1780) 0
- primary-for QFutureWatcherBase (0xb61ade00)
Vtable for QRunnable
QRunnable::_ZTV9QRunnable: 5u entries
@@ -1219,60 +841,14 @@ QtConcurrent::ThreadEngineBase (0xb60082c0) 0
QRunnable (0xb6009780) 0
primary-for QtConcurrent::ThreadEngineBase (0xb60082c0)
-Class QtConcurrent::ThreadEngineStarterBase<void>
- size=4 align=4
- base size=4 base align=4
-QtConcurrent::ThreadEngineStarterBase<void> (0xb6009f78) 0
-Class QtConcurrent::ThreadEngineStarter<void>
- size=4 align=4
- base size=4 base align=4
-QtConcurrent::ThreadEngineStarter<void> (0xb6008c40) 0
- QtConcurrent::ThreadEngineStarterBase<void> (0xb60098ac) 0
-Vtable for QtConcurrent::ThreadEngine<void>
-QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE: 26u entries
-0 4u
-4 (int (*)(...))0
-8 (int (*)(...))(& _ZTIN12QtConcurrent12ThreadEngineIvEE)
-12 QtConcurrent::ThreadEngine<T>::result [with T = void]
-16 QtConcurrent::ThreadEngine<T>::asynchronousFinish [with T = void]
-20 QtConcurrent::ThreadEngine<void>::~ThreadEngine
-24 QtConcurrent::ThreadEngine<void>::~ThreadEngine
-28 -4u
-32 0u
-36 0u
-40 0u
-44 0u
-48 0u
-52 -4u
-56 0u
-60 (int (*)(...))-0x000000004
-64 (int (*)(...))(& _ZTIN12QtConcurrent12ThreadEngineIvEE)
-68 QtConcurrent::ThreadEngineBase::run
-72 QtConcurrent::ThreadEngine<void>::_ZTv0_n16_N12QtConcurrent12ThreadEngineIvED1Ev
-76 QtConcurrent::ThreadEngine<void>::_ZTv0_n16_N12QtConcurrent12ThreadEngineIvED0Ev
-80 QtConcurrent::ThreadEngineBase::start
-84 QtConcurrent::ThreadEngineBase::finish
-88 QtConcurrent::ThreadEngineBase::threadFunction
-92 QtConcurrent::ThreadEngineBase::shouldStartThread
-96 QtConcurrent::ThreadEngineBase::shouldThrottleThread
-100 QtConcurrent::ThreadEngine<void>::_ZTv0_n40_N12QtConcurrent12ThreadEngineIvE18asynchronousFinishEv
VTT for QtConcurrent::ThreadEngine<void>
QtConcurrent::ThreadEngine<void>::_ZTTN12QtConcurrent12ThreadEngineIvEE: 2u entries
0 ((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 12u)
4 ((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 68u)
-Class QtConcurrent::ThreadEngine<void>
- size=36 align=4
- base size=4 base align=4
-QtConcurrent::ThreadEngine<void> (0xb6008e00) 0 nearly-empty
- vptridx=0u vptr=((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 12u)
- QtConcurrent::ThreadEngineBase (0xb6008e40) 4 virtual
- vptridx=4u vbaseoffset=-0x00000000c vptr=((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 68u)
- QRunnable (0xb601f474) 4
- primary-for QtConcurrent::ThreadEngineBase (0xb6008e40)
Class std::input_iterator_tag
size=1 align=1
@@ -1315,225 +891,49 @@ Class std::__false_type
base size=0 base align=1
std::__false_type (0xb601fec4) 0 empty
-Class std::__truth_type<true>
- size=1 align=1
- base size=0 base align=1
-std::__truth_type<true> (0xb601ff3c) 0 empty
-Class std::__is_void<void>
- size=1 align=1
- base size=0 base align=1
-std::__is_void<void> (0xb603e0f0) 0 empty
-Class std::__is_integer<bool>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<bool> (0xb603e1e0) 0 empty
-Class std::__is_integer<char>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<char> (0xb603e258) 0 empty
-Class std::__is_integer<signed char>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<signed char> (0xb603e2d0) 0 empty
-Class std::__is_integer<unsigned char>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<unsigned char> (0xb603e348) 0 empty
-Class std::__is_integer<wchar_t>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<wchar_t> (0xb603e3c0) 0 empty
-Class std::__is_integer<short int>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<short int> (0xb603e438) 0 empty
-Class std::__is_integer<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<short unsigned int> (0xb603e4b0) 0 empty
-Class std::__is_integer<int>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<int> (0xb603e528) 0 empty
-Class std::__is_integer<unsigned int>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<unsigned int> (0xb603e5a0) 0 empty
-Class std::__is_integer<long int>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<long int> (0xb603e618) 0 empty
-Class std::__is_integer<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<long unsigned int> (0xb603e690) 0 empty
-Class std::__is_integer<long long int>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<long long int> (0xb603e708) 0 empty
-Class std::__is_integer<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<long long unsigned int> (0xb603e780) 0 empty
-Class std::__is_floating<float>
- size=1 align=1
- base size=0 base align=1
-std::__is_floating<float> (0xb603e870) 0 empty
-Class std::__is_floating<double>
- size=1 align=1
- base size=0 base align=1
-std::__is_floating<double> (0xb603e8e8) 0 empty
-Class std::__is_floating<long double>
- size=1 align=1
- base size=0 base align=1
-std::__is_floating<long double> (0xb603e960) 0 empty
-Class std::__is_char<char>
- size=1 align=1
- base size=0 base align=1
-std::__is_char<char> (0xb603ece4) 0 empty
-Class std::__is_char<wchar_t>
- size=1 align=1
- base size=0 base align=1
-std::__is_char<wchar_t> (0xb603ed5c) 0 empty
-Class std::__is_byte<char>
- size=1 align=1
- base size=0 base align=1
-std::__is_byte<char> (0xb603ee4c) 0 empty
-Class std::__is_byte<signed char>
- size=1 align=1
- base size=0 base align=1
-std::__is_byte<signed char> (0xb603eec4) 0 empty
-Class std::__is_byte<unsigned char>
- size=1 align=1
- base size=0 base align=1
-std::__is_byte<unsigned char> (0xb603ef3c) 0 empty
-Class __gnu_cxx::__add_unsigned<char>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__add_unsigned<char> (0xb6051168) 0 empty
-Class __gnu_cxx::__add_unsigned<signed char>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__add_unsigned<signed char> (0xb60511a4) 0 empty
-Class __gnu_cxx::__add_unsigned<short int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__add_unsigned<short int> (0xb60511e0) 0 empty
-Class __gnu_cxx::__add_unsigned<int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__add_unsigned<int> (0xb605121c) 0 empty
-Class __gnu_cxx::__add_unsigned<long int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__add_unsigned<long int> (0xb6051258) 0 empty
-Class __gnu_cxx::__add_unsigned<long long int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__add_unsigned<long long int> (0xb6051294) 0 empty
-Class __gnu_cxx::__remove_unsigned<char>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__remove_unsigned<char> (0xb605130c) 0 empty
-Class __gnu_cxx::__remove_unsigned<unsigned char>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__remove_unsigned<unsigned char> (0xb6051348) 0 empty
-Class __gnu_cxx::__remove_unsigned<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__remove_unsigned<short unsigned int> (0xb6051384) 0 empty
-Class __gnu_cxx::__remove_unsigned<unsigned int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__remove_unsigned<unsigned int> (0xb60513c0) 0 empty
-Class __gnu_cxx::__remove_unsigned<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__remove_unsigned<long unsigned int> (0xb60513fc) 0 empty
-Class __gnu_cxx::__remove_unsigned<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__remove_unsigned<long long unsigned int> (0xb6051438) 0 empty
-Class std::iterator<std::output_iterator_tag, void, void, void, void>
- size=1 align=1
- base size=0 base align=1
-std::iterator<std::output_iterator_tag, void, void, void, void> (0xb6051e10) 0 empty
-Class std::__iter_swap<true>
- size=1 align=1
- base size=0 base align=1
-std::__iter_swap<true> (0xb60b83fc) 0 empty
-Class std::__copy_move<false, false, std::random_access_iterator_tag>
- size=1 align=1
- base size=0 base align=1
-std::__copy_move<false, false, std::random_access_iterator_tag> (0xb60b8834) 0 empty
-Class std::__copy_move_backward<false, false, std::random_access_iterator_tag>
- size=1 align=1
- base size=0 base align=1
-std::__copy_move_backward<false, false, std::random_access_iterator_tag> (0xb60b8a50) 0 empty
-Class std::__equal<true>
- size=1 align=1
- base size=0 base align=1
-std::__equal<true> (0xb60b8e4c) 0 empty
-Class std::__lc_rai<std::random_access_iterator_tag, std::random_access_iterator_tag>
- size=1 align=1
- base size=0 base align=1
-std::__lc_rai<std::random_access_iterator_tag, std::random_access_iterator_tag> (0xb60b8fb4) 0 empty
-Class std::__lexicographical_compare<true>
- size=1 align=1
- base size=0 base align=1
-std::__lexicographical_compare<true> (0xb5f0412c) 0 empty
-Class std::char_traits<char>
- size=1 align=1
- base size=0 base align=1
-std::char_traits<char> (0xb5f04834) 0 empty
-Class std::char_traits<wchar_t>
- size=1 align=1
- base size=0 base align=1
-std::char_traits<wchar_t> (0xb5f2c258) 0 empty
Class lconv
size=56 align=4
@@ -1550,10 +950,6 @@ Class __sched_param
base size=4 base align=4
__sched_param (0xb5f2ee10) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb5f2ee88) 0
Class tm
size=44 align=4
@@ -1570,15 +966,7 @@ Class _pthread_cleanup_buffer
base size=16 base align=4
_pthread_cleanup_buffer (0xb5f59168) 0
-Class <anonymous struct>::<anonymous struct>
- size=28 align=4
- base size=28 base align=4
-<anonymous struct>::<anonymous struct> (0xb5f592d0) 0
-Class <anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous struct> (0xb5f59258) 0
Class __pthread_cleanup_frame
size=16 align=4
@@ -1590,32 +978,10 @@ Class __pthread_cleanup_class
base size=16 base align=4
__pthread_cleanup_class (0xb5f59348) 0
-Class std::allocator<void>
- size=1 align=1
- base size=0 base align=1
-std::allocator<void> (0xb5fb3870) 0 empty
-Class __gnu_cxx::new_allocator<char>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::new_allocator<char> (0xb5fb3b40) 0 empty
-Class std::allocator<char>
- size=1 align=1
- base size=1 base align=1
-std::allocator<char> (0xb5dc37c0) 0 empty
- __gnu_cxx::new_allocator<char> (0xb5fb3b7c) 0 empty
-Class __gnu_cxx::new_allocator<wchar_t>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::new_allocator<wchar_t> (0xb5fb3bb8) 0 empty
-Class std::allocator<wchar_t>
- size=1 align=1
- base size=1 base align=1
-std::allocator<wchar_t> (0xb5dc3880) 0 empty
- __gnu_cxx::new_allocator<wchar_t> (0xb5fb3bf4) 0 empty
Vtable for __cxxabiv1::__forced_unwind
__cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE: 5u entries
@@ -1631,82 +997,19 @@ Class __cxxabiv1::__forced_unwind
__cxxabiv1::__forced_unwind (0xb5fb3e10) 0 nearly-empty
vptr=((& __cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE) + 8u)
-Class __gnu_cxx::__conditional_type<true, __gnu_cxx::__numeric_traits_integer<int>, __gnu_cxx::__numeric_traits_floating<int> >
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__conditional_type<true, __gnu_cxx::__numeric_traits_integer<int>, __gnu_cxx::__numeric_traits_floating<int> > (0xb5e66708) 0 empty
-Class __gnu_cxx::__numeric_traits_integer<int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__numeric_traits_integer<int> (0xb5e66744) 0 empty
-Class __gnu_cxx::__numeric_traits<int>
- size=1 align=1
- base size=1 base align=1
-__gnu_cxx::__numeric_traits<int> (0xb5e69b40) 0 empty
- __gnu_cxx::__numeric_traits_integer<int> (0xb5e66780) 0 empty
-Class std::allocator<char>::rebind<char>
- size=1 align=1
- base size=0 base align=1
-std::allocator<char>::rebind<char> (0xb5ce53fc) 0 empty
-Class std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Alloc_hider
- size=4 align=4
- base size=4 base align=4
-std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Alloc_hider (0xb5d03100) 0
- std::allocator<char> (0xb5d03140) 0 empty
- __gnu_cxx::new_allocator<char> (0xb5ce5474) 0 empty
-Class std::basic_string<char, std::char_traits<char>, std::allocator<char> >
- size=4 align=4
- base size=4 base align=4
-std::basic_string<char, std::char_traits<char>, std::allocator<char> > (0xb5ce5384) 0
-Class std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep_base
- size=12 align=4
- base size=12 base align=4
-std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep_base (0xb5ce54b0) 0
-Class std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep
- size=12 align=4
- base size=12 base align=4
-std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep (0xb5d032c0) 0
- std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep_base (0xb5ce54ec) 0
-Class std::allocator<wchar_t>::rebind<wchar_t>
- size=1 align=1
- base size=0 base align=1
-std::allocator<wchar_t>::rebind<wchar_t> (0xb5ce55a0) 0 empty
-Class std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Alloc_hider
- size=4 align=4
- base size=4 base align=4
-std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Alloc_hider (0xb5d034c0) 0
- std::allocator<wchar_t> (0xb5d03500) 0 empty
- __gnu_cxx::new_allocator<wchar_t> (0xb5ce5618) 0 empty
-Class std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >
- size=4 align=4
- base size=4 base align=4
-std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > (0xb5ce5528) 0
-Class std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Rep_base
- size=12 align=4
- base size=12 base align=4
-std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Rep_base (0xb5ce5654) 0
-Class std::allocator<wchar_t>::rebind<char>
- size=1 align=1
- base size=0 base align=1
-std::allocator<wchar_t>::rebind<char> (0xb5ce5708) 0 empty
-Class std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Rep
- size=12 align=4
- base size=12 base align=4
-std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Rep (0xb5d03680) 0
- std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Rep_base (0xb5ce5690) 0
Class std::locale
size=4 align=4
@@ -1736,97 +1039,16 @@ Class std::locale::_Impl
base size=20 base align=4
std::locale::_Impl (0xb5da28ac) 0
-Vtable for std::collate<char>
-std::collate<char>::_ZTVSt7collateIcE: 7u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt7collateIcE)
-8 std::collate<_CharT>::~collate [with _CharT = char]
-12 std::collate<_CharT>::~collate [with _CharT = char]
-16 std::collate<_CharT>::do_compare [with _CharT = char]
-20 std::collate<_CharT>::do_transform [with _CharT = char]
-24 std::collate<_CharT>::do_hash [with _CharT = char]
-
-Class std::collate<char>
- size=12 align=4
- base size=12 base align=4
-std::collate<char> (0xb5db0640) 0
- vptr=((& std::collate<char>::_ZTVSt7collateIcE) + 8u)
- std::locale::facet (0xb5db5258) 0
- primary-for std::collate<char> (0xb5db0640)
-Vtable for std::collate<wchar_t>
-std::collate<wchar_t>::_ZTVSt7collateIwE: 7u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt7collateIwE)
-8 std::collate<_CharT>::~collate [with _CharT = wchar_t]
-12 std::collate<_CharT>::~collate [with _CharT = wchar_t]
-16 std::collate<_CharT>::do_compare [with _CharT = wchar_t]
-20 std::collate<_CharT>::do_transform [with _CharT = wchar_t]
-24 std::collate<_CharT>::do_hash [with _CharT = wchar_t]
-
-Class std::collate<wchar_t>
- size=12 align=4
- base size=12 base align=4
-std::collate<wchar_t> (0xb5db0740) 0
- vptr=((& std::collate<wchar_t>::_ZTVSt7collateIwE) + 8u)
- std::locale::facet (0xb5db5348) 0
- primary-for std::collate<wchar_t> (0xb5db0740)
-Class __gnu_cxx::__conditional_type<true, __gnu_cxx::__numeric_traits_integer<long unsigned int>, __gnu_cxx::__numeric_traits_floating<long unsigned int> >
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__conditional_type<true, __gnu_cxx::__numeric_traits_integer<long unsigned int>, __gnu_cxx::__numeric_traits_floating<long unsigned int> > (0xb5db57bc) 0 empty
-Class __gnu_cxx::__numeric_traits_integer<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__numeric_traits_integer<long unsigned int> (0xb5db57f8) 0 empty
-Class __gnu_cxx::__numeric_traits<long unsigned int>
- size=1 align=1
- base size=1 base align=1
-__gnu_cxx::__numeric_traits<long unsigned int> (0xb5bd26c0) 0 empty
- __gnu_cxx::__numeric_traits_integer<long unsigned int> (0xb5db5834) 0 empty
-Vtable for std::collate_byname<char>
-std::collate_byname<char>::_ZTVSt14collate_bynameIcE: 7u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt14collate_bynameIcE)
-8 std::collate_byname<_CharT>::~collate_byname [with _CharT = char]
-12 std::collate_byname<_CharT>::~collate_byname [with _CharT = char]
-16 std::collate<_CharT>::do_compare [with _CharT = char]
-20 std::collate<_CharT>::do_transform [with _CharT = char]
-24 std::collate<_CharT>::do_hash [with _CharT = char]
-
-Class std::collate_byname<char>
- size=12 align=4
- base size=12 base align=4
-std::collate_byname<char> (0xb5bd2800) 0
- vptr=((& std::collate_byname<char>::_ZTVSt14collate_bynameIcE) + 8u)
- std::collate<char> (0xb5bd2840) 0
- primary-for std::collate_byname<char> (0xb5bd2800)
- std::locale::facet (0xb5db58ac) 0
- primary-for std::collate<char> (0xb5bd2840)
-
-Vtable for std::collate_byname<wchar_t>
-std::collate_byname<wchar_t>::_ZTVSt14collate_bynameIwE: 7u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt14collate_bynameIwE)
-8 std::collate_byname<_CharT>::~collate_byname [with _CharT = wchar_t]
-12 std::collate_byname<_CharT>::~collate_byname [with _CharT = wchar_t]
-16 std::collate<_CharT>::do_compare [with _CharT = wchar_t]
-20 std::collate<_CharT>::do_transform [with _CharT = wchar_t]
-24 std::collate<_CharT>::do_hash [with _CharT = wchar_t]
-
-Class std::collate_byname<wchar_t>
- size=12 align=4
- base size=12 base align=4
-std::collate_byname<wchar_t> (0xb5bd28c0) 0
- vptr=((& std::collate_byname<wchar_t>::_ZTVSt14collate_bynameIwE) + 8u)
- std::collate<wchar_t> (0xb5bd2900) 0
- primary-for std::collate_byname<wchar_t> (0xb5bd28c0)
- std::locale::facet (0xb5db599c) 0
- primary-for std::collate<wchar_t> (0xb5bd2900)
+
+
+
+
+
Vtable for std::ios_base::failure
std::ios_base::failure::_ZTVNSt8ios_base7failureE: 5u entries
@@ -1872,583 +1094,85 @@ Class std::ios_base
std::ios_base (0xb5be7744) 0
vptr=((& std::ios_base::_ZTVSt8ios_base) + 8u)
-Vtable for std::basic_streambuf<char, std::char_traits<char> >
-std::basic_streambuf<char, std::char_traits<char> >::_ZTVSt15basic_streambufIcSt11char_traitsIcEE: 16u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt15basic_streambufIcSt11char_traitsIcEE)
-8 std::basic_streambuf<_CharT, _Traits>::~basic_streambuf [with _CharT = char, _Traits = std::char_traits<char>]
-12 std::basic_streambuf<_CharT, _Traits>::~basic_streambuf [with _CharT = char, _Traits = std::char_traits<char>]
-16 std::basic_streambuf<_CharT, _Traits>::imbue [with _CharT = char, _Traits = std::char_traits<char>]
-20 std::basic_streambuf<_CharT, _Traits>::setbuf [with _CharT = char, _Traits = std::char_traits<char>]
-24 std::basic_streambuf<_CharT, _Traits>::seekoff [with _CharT = char, _Traits = std::char_traits<char>]
-28 std::basic_streambuf<_CharT, _Traits>::seekpos [with _CharT = char, _Traits = std::char_traits<char>]
-32 std::basic_streambuf<_CharT, _Traits>::sync [with _CharT = char, _Traits = std::char_traits<char>]
-36 std::basic_streambuf<_CharT, _Traits>::showmanyc [with _CharT = char, _Traits = std::char_traits<char>]
-40 std::basic_streambuf<_CharT, _Traits>::xsgetn [with _CharT = char, _Traits = std::char_traits<char>]
-44 std::basic_streambuf<_CharT, _Traits>::underflow [with _CharT = char, _Traits = std::char_traits<char>]
-48 std::basic_streambuf<_CharT, _Traits>::uflow [with _CharT = char, _Traits = std::char_traits<char>]
-52 std::basic_streambuf<_CharT, _Traits>::pbackfail [with _CharT = char, _Traits = std::char_traits<char>]
-56 std::basic_streambuf<_CharT, _Traits>::xsputn [with _CharT = char, _Traits = std::char_traits<char>]
-60 std::basic_streambuf<_CharT, _Traits>::overflow [with _CharT = char, _Traits = std::char_traits<char>]
-
-Class std::basic_streambuf<char, std::char_traits<char> >
- size=32 align=4
- base size=32 base align=4
-std::basic_streambuf<char, std::char_traits<char> > (0xb5c19dd4) 0
- vptr=((& std::basic_streambuf<char, std::char_traits<char> >::_ZTVSt15basic_streambufIcSt11char_traitsIcEE) + 8u)
-Vtable for std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >
-std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >::_ZTVSt15basic_streambufIwSt11char_traitsIwEE: 16u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt15basic_streambufIwSt11char_traitsIwEE)
-8 std::basic_streambuf<_CharT, _Traits>::~basic_streambuf [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-12 std::basic_streambuf<_CharT, _Traits>::~basic_streambuf [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-16 std::basic_streambuf<_CharT, _Traits>::imbue [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-20 std::basic_streambuf<_CharT, _Traits>::setbuf [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-24 std::basic_streambuf<_CharT, _Traits>::seekoff [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-28 std::basic_streambuf<_CharT, _Traits>::seekpos [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-32 std::basic_streambuf<_CharT, _Traits>::sync [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-36 std::basic_streambuf<_CharT, _Traits>::showmanyc [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-40 std::basic_streambuf<_CharT, _Traits>::xsgetn [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-44 std::basic_streambuf<_CharT, _Traits>::underflow [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-48 std::basic_streambuf<_CharT, _Traits>::uflow [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-52 std::basic_streambuf<_CharT, _Traits>::pbackfail [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-56 std::basic_streambuf<_CharT, _Traits>::xsputn [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-60 std::basic_streambuf<_CharT, _Traits>::overflow [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-
-Class std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >
- size=32 align=4
- base size=32 base align=4
-std::basic_streambuf<wchar_t, std::char_traits<wchar_t> > (0xb5c19e4c) 0
- vptr=((& std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >::_ZTVSt15basic_streambufIwSt11char_traitsIwEE) + 8u)
+
+
Class std::ctype_base
size=1 align=1
base size=0 base align=1
std::ctype_base (0xb5c19f3c) 0 empty
-Vtable for std::ctype<char>
-std::ctype<char>::_ZTVSt5ctypeIcE: 12u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt5ctypeIcE)
-8 std::ctype<char>::~ctype
-12 std::ctype<char>::~ctype
-16 std::ctype<char>::do_toupper
-20 std::ctype<char>::do_toupper
-24 std::ctype<char>::do_tolower
-28 std::ctype<char>::do_tolower
-32 std::ctype<char>::do_widen
-36 std::ctype<char>::do_widen
-40 std::ctype<char>::do_narrow
-44 std::ctype<char>::do_narrow
-
-Class std::ctype<char>
- size=544 align=4
- base size=542 base align=4
-std::ctype<char> (0xb5c9dfa0) 0
- vptr=((& std::ctype<char>::_ZTVSt5ctypeIcE) + 8u)
- std::locale::facet (0xb5c9c258) 0
- primary-for std::ctype<char> (0xb5c9dfa0)
- std::ctype_base (0xb5c9c294) 0 empty
-
-Vtable for std::__ctype_abstract_base<wchar_t>
-std::__ctype_abstract_base<wchar_t>::_ZTVSt21__ctype_abstract_baseIwE: 16u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt21__ctype_abstract_baseIwE)
-8 std::__ctype_abstract_base<_CharT>::~__ctype_abstract_base [with _CharT = wchar_t]
-12 std::__ctype_abstract_base<_CharT>::~__ctype_abstract_base [with _CharT = wchar_t]
-16 __cxa_pure_virtual
-20 __cxa_pure_virtual
-24 __cxa_pure_virtual
-28 __cxa_pure_virtual
-32 __cxa_pure_virtual
-36 __cxa_pure_virtual
-40 __cxa_pure_virtual
-44 __cxa_pure_virtual
-48 __cxa_pure_virtual
-52 __cxa_pure_virtual
-56 __cxa_pure_virtual
-60 __cxa_pure_virtual
-Class std::__ctype_abstract_base<wchar_t>
- size=8 align=4
- base size=8 base align=4
-std::__ctype_abstract_base<wchar_t> (0xb5cab870) 0
- vptr=((& std::__ctype_abstract_base<wchar_t>::_ZTVSt21__ctype_abstract_baseIwE) + 8u)
- std::locale::facet (0xb5abae10) 0
- primary-for std::__ctype_abstract_base<wchar_t> (0xb5cab870)
- std::ctype_base (0xb5abae4c) 0 empty
-
-Vtable for std::ctype<wchar_t>
-std::ctype<wchar_t>::_ZTVSt5ctypeIwE: 16u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt5ctypeIwE)
-8 std::ctype<wchar_t>::~ctype
-12 std::ctype<wchar_t>::~ctype
-16 std::ctype<wchar_t>::do_is
-20 std::ctype<wchar_t>::do_is
-24 std::ctype<wchar_t>::do_scan_is
-28 std::ctype<wchar_t>::do_scan_not
-32 std::ctype<wchar_t>::do_toupper
-36 std::ctype<wchar_t>::do_toupper
-40 std::ctype<wchar_t>::do_tolower
-44 std::ctype<wchar_t>::do_tolower
-48 std::ctype<wchar_t>::do_widen
-52 std::ctype<wchar_t>::do_widen
-56 std::ctype<wchar_t>::do_narrow
-60 std::ctype<wchar_t>::do_narrow
-
-Class std::ctype<wchar_t>
- size=1264 align=4
- base size=1264 base align=4
-std::ctype<wchar_t> (0xb5caf800) 0
- vptr=((& std::ctype<wchar_t>::_ZTVSt5ctypeIwE) + 8u)
- std::__ctype_abstract_base<wchar_t> (0xb5ac66e0) 0
- primary-for std::ctype<wchar_t> (0xb5caf800)
- std::locale::facet (0xb5abaf3c) 0
- primary-for std::__ctype_abstract_base<wchar_t> (0xb5ac66e0)
- std::ctype_base (0xb5abaf78) 0 empty
-
-Vtable for std::ctype_byname<char>
-std::ctype_byname<char>::_ZTVSt12ctype_bynameIcE: 12u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt12ctype_bynameIcE)
-8 std::ctype_byname<char>::~ctype_byname
-12 std::ctype_byname<char>::~ctype_byname
-16 std::ctype<char>::do_toupper
-20 std::ctype<char>::do_toupper
-24 std::ctype<char>::do_tolower
-28 std::ctype<char>::do_tolower
-32 std::ctype<char>::do_widen
-36 std::ctype<char>::do_widen
-40 std::ctype<char>::do_narrow
-44 std::ctype<char>::do_narrow
-
-Class std::ctype_byname<char>
- size=544 align=4
- base size=542 base align=4
-std::ctype_byname<char> (0xb5caf9c0) 0
- vptr=((& std::ctype_byname<char>::_ZTVSt12ctype_bynameIcE) + 8u)
- std::ctype<char> (0xb5acde60) 0
- primary-for std::ctype_byname<char> (0xb5caf9c0)
- std::locale::facet (0xb5ace294) 0
- primary-for std::ctype<char> (0xb5acde60)
- std::ctype_base (0xb5ace2d0) 0 empty
-
-Vtable for std::ctype_byname<wchar_t>
-std::ctype_byname<wchar_t>::_ZTVSt12ctype_bynameIwE: 16u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt12ctype_bynameIwE)
-8 std::ctype_byname<wchar_t>::~ctype_byname
-12 std::ctype_byname<wchar_t>::~ctype_byname
-16 std::ctype<wchar_t>::do_is
-20 std::ctype<wchar_t>::do_is
-24 std::ctype<wchar_t>::do_scan_is
-28 std::ctype<wchar_t>::do_scan_not
-32 std::ctype<wchar_t>::do_toupper
-36 std::ctype<wchar_t>::do_toupper
-40 std::ctype<wchar_t>::do_tolower
-44 std::ctype<wchar_t>::do_tolower
-48 std::ctype<wchar_t>::do_widen
-52 std::ctype<wchar_t>::do_widen
-56 std::ctype<wchar_t>::do_narrow
-60 std::ctype<wchar_t>::do_narrow
-
-Class std::ctype_byname<wchar_t>
- size=1264 align=4
- base size=1264 base align=4
-std::ctype_byname<wchar_t> (0xb5cafa40) 0
- vptr=((& std::ctype_byname<wchar_t>::_ZTVSt12ctype_bynameIwE) + 8u)
- std::ctype<wchar_t> (0xb5cafa80) 0
- primary-for std::ctype_byname<wchar_t> (0xb5cafa40)
- std::__ctype_abstract_base<wchar_t> (0xb5ad24b0) 0
- primary-for std::ctype<wchar_t> (0xb5cafa80)
- std::locale::facet (0xb5ace438) 0
- primary-for std::__ctype_abstract_base<wchar_t> (0xb5ad24b0)
- std::ctype_base (0xb5ace474) 0 empty
+
+
+
+
+
+
+
+
Class std::__num_base
size=1 align=1
base size=0 base align=1
std::__num_base (0xb5acee88) 0 empty
-Vtable for std::numpunct<char>
-std::numpunct<char>::_ZTVSt8numpunctIcE: 9u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt8numpunctIcE)
-8 std::numpunct<_CharT>::~numpunct [with _CharT = char]
-12 std::numpunct<_CharT>::~numpunct [with _CharT = char]
-16 std::numpunct<_CharT>::do_decimal_point [with _CharT = char]
-20 std::numpunct<_CharT>::do_thousands_sep [with _CharT = char]
-24 std::numpunct<_CharT>::do_grouping [with _CharT = char]
-28 std::numpunct<_CharT>::do_truename [with _CharT = char]
-32 std::numpunct<_CharT>::do_falsename [with _CharT = char]
-
-Class std::numpunct<char>
- size=12 align=4
- base size=12 base align=4
-std::numpunct<char> (0xb5ae0480) 0
- vptr=((& std::numpunct<char>::_ZTVSt8numpunctIcE) + 8u)
- std::locale::facet (0xb5adc654) 0
- primary-for std::numpunct<char> (0xb5ae0480)
-Vtable for std::numpunct<wchar_t>
-std::numpunct<wchar_t>::_ZTVSt8numpunctIwE: 9u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt8numpunctIwE)
-8 std::numpunct<_CharT>::~numpunct [with _CharT = wchar_t]
-12 std::numpunct<_CharT>::~numpunct [with _CharT = wchar_t]
-16 std::numpunct<_CharT>::do_decimal_point [with _CharT = wchar_t]
-20 std::numpunct<_CharT>::do_thousands_sep [with _CharT = wchar_t]
-24 std::numpunct<_CharT>::do_grouping [with _CharT = wchar_t]
-28 std::numpunct<_CharT>::do_truename [with _CharT = wchar_t]
-32 std::numpunct<_CharT>::do_falsename [with _CharT = wchar_t]
-
-Class std::numpunct<wchar_t>
- size=12 align=4
- base size=12 base align=4
-std::numpunct<wchar_t> (0xb5ae0540) 0
- vptr=((& std::numpunct<wchar_t>::_ZTVSt8numpunctIwE) + 8u)
- std::locale::facet (0xb5adc744) 0
- primary-for std::numpunct<wchar_t> (0xb5ae0540)
-Class __gnu_cxx::__conditional_type<true, long unsigned int, long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__conditional_type<true, long unsigned int, long long unsigned int> (0xb5b17d98) 0 empty
-Vtable for std::numpunct_byname<char>
-std::numpunct_byname<char>::_ZTVSt15numpunct_bynameIcE: 9u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt15numpunct_bynameIcE)
-8 std::numpunct_byname<_CharT>::~numpunct_byname [with _CharT = char]
-12 std::numpunct_byname<_CharT>::~numpunct_byname [with _CharT = char]
-16 std::numpunct<_CharT>::do_decimal_point [with _CharT = char]
-20 std::numpunct<_CharT>::do_thousands_sep [with _CharT = char]
-24 std::numpunct<_CharT>::do_grouping [with _CharT = char]
-28 std::numpunct<_CharT>::do_truename [with _CharT = char]
-32 std::numpunct<_CharT>::do_falsename [with _CharT = char]
-
-Class std::numpunct_byname<char>
- size=12 align=4
- base size=12 base align=4
-std::numpunct_byname<char> (0xb5b64a80) 0
- vptr=((& std::numpunct_byname<char>::_ZTVSt15numpunct_bynameIcE) + 8u)
- std::numpunct<char> (0xb5b64ac0) 0
- primary-for std::numpunct_byname<char> (0xb5b64a80)
- std::locale::facet (0xb5b6b3c0) 0
- primary-for std::numpunct<char> (0xb5b64ac0)
-
-Vtable for std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >
-std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >::_ZTVSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE: 15u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE)
-8 std::num_get<_CharT, _InIter>::~num_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-12 std::num_get<_CharT, _InIter>::~num_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-16 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-20 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-24 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-28 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-32 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-36 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-40 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-44 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-48 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-52 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-56 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-
-Class std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >
- size=8 align=4
- base size=8 base align=4
-std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > > (0xb5b64b00) 0
- vptr=((& std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >::_ZTVSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE) + 8u)
- std::locale::facet (0xb5b6b4b0) 0
- primary-for std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > > (0xb5b64b00)
-Vtable for std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >
-std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::_ZTVSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE: 12u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE)
-8 std::num_put<_CharT, _OutIter>::~num_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-12 std::num_put<_CharT, _OutIter>::~num_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-16 std::num_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-20 std::num_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-24 std::num_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-28 std::num_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-32 std::num_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-36 std::num_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-40 std::num_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-44 std::num_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-
-Class std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >
- size=8 align=4
- base size=8 base align=4
-std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > > (0xb5b64b80) 0
- vptr=((& std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::_ZTVSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE) + 8u)
- std::locale::facet (0xb5b6b5a0) 0
- primary-for std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > > (0xb5b64b80)
-Vtable for std::numpunct_byname<wchar_t>
-std::numpunct_byname<wchar_t>::_ZTVSt15numpunct_bynameIwE: 9u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt15numpunct_bynameIwE)
-8 std::numpunct_byname<_CharT>::~numpunct_byname [with _CharT = wchar_t]
-12 std::numpunct_byname<_CharT>::~numpunct_byname [with _CharT = wchar_t]
-16 std::numpunct<_CharT>::do_decimal_point [with _CharT = wchar_t]
-20 std::numpunct<_CharT>::do_thousands_sep [with _CharT = wchar_t]
-24 std::numpunct<_CharT>::do_grouping [with _CharT = wchar_t]
-28 std::numpunct<_CharT>::do_truename [with _CharT = wchar_t]
-32 std::numpunct<_CharT>::do_falsename [with _CharT = wchar_t]
-
-Class std::numpunct_byname<wchar_t>
- size=12 align=4
- base size=12 base align=4
-std::numpunct_byname<wchar_t> (0xb5b64c00) 0
- vptr=((& std::numpunct_byname<wchar_t>::_ZTVSt15numpunct_bynameIwE) + 8u)
- std::numpunct<wchar_t> (0xb5b64c40) 0
- primary-for std::numpunct_byname<wchar_t> (0xb5b64c00)
- std::locale::facet (0xb5b6b690) 0
- primary-for std::numpunct<wchar_t> (0xb5b64c40)
-
-Vtable for std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >
-std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::_ZTVSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE: 15u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE)
-8 std::num_get<_CharT, _InIter>::~num_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-12 std::num_get<_CharT, _InIter>::~num_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-16 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-20 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-24 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-28 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-32 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-36 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-40 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-44 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-48 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-52 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-56 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-
-Class std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >
- size=8 align=4
- base size=8 base align=4
-std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > > (0xb5b64cc0) 0
- vptr=((& std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::_ZTVSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE) + 8u)
- std::locale::facet (0xb5b6b780) 0
- primary-for std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > > (0xb5b64cc0)
-Vtable for std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >
-std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::_ZTVSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE: 12u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE)
-8 std::num_put<_CharT, _OutIter>::~num_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-12 std::num_put<_CharT, _OutIter>::~num_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-16 std::num_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-20 std::num_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-24 std::num_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-28 std::num_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-32 std::num_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-36 std::num_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-40 std::num_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-44 std::num_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-
-Class std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >
- size=8 align=4
- base size=8 base align=4
-std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > > (0xb5b64d40) 0
- vptr=((& std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::_ZTVSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE) + 8u)
- std::locale::facet (0xb5b6b870) 0
- primary-for std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > > (0xb5b64d40)
-Vtable for std::basic_ios<char, std::char_traits<char> >
-std::basic_ios<char, std::char_traits<char> >::_ZTVSt9basic_iosIcSt11char_traitsIcEE: 4u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt9basic_iosIcSt11char_traitsIcEE)
-8 std::basic_ios<_CharT, _Traits>::~basic_ios [with _CharT = char, _Traits = std::char_traits<char>]
-12 std::basic_ios<_CharT, _Traits>::~basic_ios [with _CharT = char, _Traits = std::char_traits<char>]
-
-Class std::basic_ios<char, std::char_traits<char> >
- size=136 align=4
- base size=136 base align=4
-std::basic_ios<char, std::char_traits<char> > (0xb5bb8d80) 0
- vptr=((& std::basic_ios<char, std::char_traits<char> >::_ZTVSt9basic_iosIcSt11char_traitsIcEE) + 8u)
- std::ios_base (0xb5b6b654) 0
- primary-for std::basic_ios<char, std::char_traits<char> > (0xb5bb8d80)
-
-Vtable for std::basic_ios<wchar_t, std::char_traits<wchar_t> >
-std::basic_ios<wchar_t, std::char_traits<wchar_t> >::_ZTVSt9basic_iosIwSt11char_traitsIwEE: 4u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt9basic_iosIwSt11char_traitsIwEE)
-8 std::basic_ios<_CharT, _Traits>::~basic_ios [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-12 std::basic_ios<_CharT, _Traits>::~basic_ios [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-
-Class std::basic_ios<wchar_t, std::char_traits<wchar_t> >
- size=140 align=4
- base size=140 base align=4
-std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb5bb8dc0) 0
- vptr=((& std::basic_ios<wchar_t, std::char_traits<wchar_t> >::_ZTVSt9basic_iosIwSt11char_traitsIwEE) + 8u)
- std::ios_base (0xb5b6b924) 0
- primary-for std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb5bb8dc0)
-
-Vtable for std::basic_ostream<char, std::char_traits<char> >
-std::basic_ostream<char, std::char_traits<char> >::_ZTVSo: 10u entries
-0 4u
-4 (int (*)(...))0
-8 (int (*)(...))(& _ZTISo)
-12 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = char, _Traits = std::char_traits<char>]
-16 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = char, _Traits = std::char_traits<char>]
-20 -4u
-24 (int (*)(...))-0x000000004
-28 (int (*)(...))(& _ZTISo)
-32 std::basic_ostream<char, std::char_traits<char> >::_ZTv0_n12_NSoD1Ev
-36 std::basic_ostream<char, std::char_traits<char> >::_ZTv0_n12_NSoD0Ev
+
+
+
+
+
+
+
+
+
+
+
+
+
+
VTT for std::basic_ostream<char, std::char_traits<char> >
std::basic_ostream<char, std::char_traits<char> >::_ZTTSo: 2u entries
0 ((& std::basic_ostream<char, std::char_traits<char> >::_ZTVSo) + 12u)
4 ((& std::basic_ostream<char, std::char_traits<char> >::_ZTVSo) + 32u)
-Class std::basic_ostream<char, std::char_traits<char> >
- size=140 align=4
- base size=4 base align=4
-std::basic_ostream<char, std::char_traits<char> > (0xb5a02a40) 0 nearly-empty
- vptridx=0u vptr=((& std::basic_ostream<char, std::char_traits<char> >::_ZTVSo) + 12u)
- std::basic_ios<char, std::char_traits<char> > (0xb5a02a80) 4 virtual
- vptridx=4u vbaseoffset=-0x00000000c vptr=((& std::basic_ostream<char, std::char_traits<char> >::_ZTVSo) + 32u)
- std::ios_base (0xb59d7ca8) 4
- primary-for std::basic_ios<char, std::char_traits<char> > (0xb5a02a80)
-
-Class std::basic_ostream<char, std::char_traits<char> >::sentry
- size=8 align=4
- base size=8 base align=4
-std::basic_ostream<char, std::char_traits<char> >::sentry (0xb59d7e88) 0
-Vtable for std::basic_ostream<wchar_t, std::char_traits<wchar_t> >
-std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE: 10u entries
-0 4u
-4 (int (*)(...))0
-8 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE)
-12 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-16 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-20 -4u
-24 (int (*)(...))-0x000000004
-28 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE)
-32 std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n12_NSt13basic_ostreamIwSt11char_traitsIwEED1Ev
-36 std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n12_NSt13basic_ostreamIwSt11char_traitsIwEED0Ev
+
VTT for std::basic_ostream<wchar_t, std::char_traits<wchar_t> >
std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTTSt13basic_ostreamIwSt11char_traitsIwEE: 2u entries
0 ((& std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 12u)
4 ((& std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 32u)
-Class std::basic_ostream<wchar_t, std::char_traits<wchar_t> >
- size=144 align=4
- base size=4 base align=4
-std::basic_ostream<wchar_t, std::char_traits<wchar_t> > (0xb5a02bc0) 0 nearly-empty
- vptridx=0u vptr=((& std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 12u)
- std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb5a02c00) 4 virtual
- vptridx=4u vbaseoffset=-0x00000000c vptr=((& std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 32u)
- std::ios_base (0xb59d7ec4) 4
- primary-for std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb5a02c00)
-
-Class std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::sentry
- size=8 align=4
- base size=8 base align=4
-std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::sentry (0xb59d7f78) 0
-Vtable for std::basic_istream<char, std::char_traits<char> >
-std::basic_istream<char, std::char_traits<char> >::_ZTVSi: 10u entries
-0 8u
-4 (int (*)(...))0
-8 (int (*)(...))(& _ZTISi)
-12 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = char, _Traits = std::char_traits<char>]
-16 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = char, _Traits = std::char_traits<char>]
-20 -8u
-24 (int (*)(...))-0x000000008
-28 (int (*)(...))(& _ZTISi)
-32 std::basic_istream<char, std::char_traits<char> >::_ZTv0_n12_NSiD1Ev
-36 std::basic_istream<char, std::char_traits<char> >::_ZTv0_n12_NSiD0Ev
+
VTT for std::basic_istream<char, std::char_traits<char> >
std::basic_istream<char, std::char_traits<char> >::_ZTTSi: 2u entries
0 ((& std::basic_istream<char, std::char_traits<char> >::_ZTVSi) + 12u)
4 ((& std::basic_istream<char, std::char_traits<char> >::_ZTVSi) + 32u)
-Class std::basic_istream<char, std::char_traits<char> >
- size=144 align=4
- base size=8 base align=4
-std::basic_istream<char, std::char_traits<char> > (0xb5a42480) 0
- vptridx=0u vptr=((& std::basic_istream<char, std::char_traits<char> >::_ZTVSi) + 12u)
- std::basic_ios<char, std::char_traits<char> > (0xb5a424c0) 8 virtual
- vptridx=4u vbaseoffset=-0x00000000c vptr=((& std::basic_istream<char, std::char_traits<char> >::_ZTVSi) + 32u)
- std::ios_base (0xb5a31528) 8
- primary-for std::basic_ios<char, std::char_traits<char> > (0xb5a424c0)
-
-Vtable for std::basic_istream<wchar_t, std::char_traits<wchar_t> >
-std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_istreamIwSt11char_traitsIwEE: 10u entries
-0 8u
-4 (int (*)(...))0
-8 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE)
-12 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-16 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-20 -8u
-24 (int (*)(...))-0x000000008
-28 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE)
-32 std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n12_NSt13basic_istreamIwSt11char_traitsIwEED1Ev
-36 std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n12_NSt13basic_istreamIwSt11char_traitsIwEED0Ev
+
VTT for std::basic_istream<wchar_t, std::char_traits<wchar_t> >
std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTTSt13basic_istreamIwSt11char_traitsIwEE: 2u entries
0 ((& std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 12u)
4 ((& std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 32u)
-Class std::basic_istream<wchar_t, std::char_traits<wchar_t> >
- size=148 align=4
- base size=8 base align=4
-std::basic_istream<wchar_t, std::char_traits<wchar_t> > (0xb5a42580) 0
- vptridx=0u vptr=((& std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 12u)
- std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb5a425c0) 8 virtual
- vptridx=4u vbaseoffset=-0x00000000c vptr=((& std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 32u)
- std::ios_base (0xb5a318ac) 8
- primary-for std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb5a425c0)
-
-Class __gnu_cxx::__conditional_type<true, __gnu_cxx::__numeric_traits_integer<short int>, __gnu_cxx::__numeric_traits_floating<short int> >
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__conditional_type<true, __gnu_cxx::__numeric_traits_integer<short int>, __gnu_cxx::__numeric_traits_floating<short int> > (0xb5a31fb4) 0 empty
-Class __gnu_cxx::__numeric_traits_integer<short int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__numeric_traits_integer<short int> (0xb5a31618) 0 empty
-Class __gnu_cxx::__numeric_traits<short int>
- size=1 align=1
- base size=1 base align=1
-__gnu_cxx::__numeric_traits<short int> (0xb5a6e480) 0 empty
- __gnu_cxx::__numeric_traits_integer<short int> (0xb5a31960) 0 empty
-Class std::basic_istream<char, std::char_traits<char> >::sentry
- size=1 align=1
- base size=1 base align=1
-std::basic_istream<char, std::char_traits<char> >::sentry (0xb5a784ec) 0
-Vtable for std::basic_iostream<char, std::char_traits<char> >
-std::basic_iostream<char, std::char_traits<char> >::_ZTVSd: 15u entries
-0 12u
-4 (int (*)(...))0
-8 (int (*)(...))(& _ZTISd)
-12 std::basic_iostream<_CharT, _Traits>::~basic_iostream [with _CharT = char, _Traits = std::char_traits<char>]
-16 std::basic_iostream<_CharT, _Traits>::~basic_iostream [with _CharT = char, _Traits = std::char_traits<char>]
-20 4u
-24 (int (*)(...))-0x000000008
-28 (int (*)(...))(& _ZTISd)
-32 std::basic_iostream<char, std::char_traits<char> >::_ZThn8_NSdD1Ev
-36 std::basic_iostream<char, std::char_traits<char> >::_ZThn8_NSdD0Ev
-40 -12u
-44 (int (*)(...))-0x00000000c
-48 (int (*)(...))(& _ZTISd)
-52 std::basic_iostream<char, std::char_traits<char> >::_ZTv0_n12_NSdD1Ev
-56 std::basic_iostream<char, std::char_traits<char> >::_ZTv0_n12_NSdD0Ev
+
Construction vtable for std::basic_istream<char, std::char_traits<char> > (0xb5aaa380 instance) in std::basic_iostream<char, std::char_traits<char> >
std::basic_iostream<char, std::char_traits<char> >::_ZTCSd0_Si: 10u entries
@@ -2486,44 +1210,8 @@ std::basic_iostream<char, std::char_traits<char> >::_ZTTSd: 7u entries
20 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 52u)
24 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 32u)
-Class std::basic_iostream<char, std::char_traits<char> >
- size=148 align=4
- base size=12 base align=4
-std::basic_iostream<char, std::char_traits<char> > (0xb5ab4b40) 0
- vptridx=0u vptr=((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 12u)
- std::basic_istream<char, std::char_traits<char> > (0xb5aaa380) 0
- primary-for std::basic_iostream<char, std::char_traits<char> > (0xb5ab4b40)
- subvttidx=4u
- std::basic_ios<char, std::char_traits<char> > (0xb5aaa3c0) 12 virtual
- vptridx=20u vbaseoffset=-0x00000000c vptr=((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 52u)
- std::ios_base (0xb5a78528) 12
- primary-for std::basic_ios<char, std::char_traits<char> > (0xb5aaa3c0)
- std::basic_ostream<char, std::char_traits<char> > (0xb5aaa400) 8 nearly-empty
- subvttidx=12u vptridx=24u vptr=((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 32u)
- std::basic_ios<char, std::char_traits<char> > (0xb5aaa3c0) alternative-path
-
-Class std::basic_istream<wchar_t, std::char_traits<wchar_t> >::sentry
- size=1 align=1
- base size=1 base align=1
-std::basic_istream<wchar_t, std::char_traits<wchar_t> >::sentry (0xb5a787bc) 0
-Vtable for std::basic_iostream<wchar_t, std::char_traits<wchar_t> >
-std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE: 15u entries
-0 12u
-4 (int (*)(...))0
-8 (int (*)(...))(& _ZTISt14basic_iostreamIwSt11char_traitsIwEE)
-12 std::basic_iostream<_CharT, _Traits>::~basic_iostream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-16 std::basic_iostream<_CharT, _Traits>::~basic_iostream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-20 4u
-24 (int (*)(...))-0x000000008
-28 (int (*)(...))(& _ZTISt14basic_iostreamIwSt11char_traitsIwEE)
-32 std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZThn8_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev
-36 std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZThn8_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev
-40 -12u
-44 (int (*)(...))-0x00000000c
-48 (int (*)(...))(& _ZTISt14basic_iostreamIwSt11char_traitsIwEE)
-52 std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n12_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev
-56 std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n12_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev
+
Construction vtable for std::basic_istream<wchar_t, std::char_traits<wchar_t> > (0xb5aaa700 instance) in std::basic_iostream<wchar_t, std::char_traits<wchar_t> >
std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E: 10u entries
@@ -2561,110 +1249,21 @@ std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTTSt14basic_iostream
20 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 52u)
24 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 32u)
-Class std::basic_iostream<wchar_t, std::char_traits<wchar_t> >
- size=152 align=4
- base size=12 base align=4
-std::basic_iostream<wchar_t, std::char_traits<wchar_t> > (0xb58bdbe0) 0
- vptridx=0u vptr=((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 12u)
- std::basic_istream<wchar_t, std::char_traits<wchar_t> > (0xb5aaa700) 0
- primary-for std::basic_iostream<wchar_t, std::char_traits<wchar_t> > (0xb58bdbe0)
- subvttidx=4u
- std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb5aaa740) 12 virtual
- vptridx=20u vbaseoffset=-0x00000000c vptr=((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 52u)
- std::ios_base (0xb5a787f8) 12
- primary-for std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb5aaa740)
- std::basic_ostream<wchar_t, std::char_traits<wchar_t> > (0xb5aaa780) 8 nearly-empty
- subvttidx=12u vptridx=24u vptr=((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 32u)
- std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb5aaa740) alternative-path
-
-Class QVector<double>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<double>::<anonymous union> (0xb58d5000) 0
-Class QVector<double>
- size=4 align=4
- base size=4 base align=4
-QVector<double> (0xb5a788ac) 0
-Class QtConcurrent::Median<double>
- size=24 align=4
- base size=22 base align=4
-QtConcurrent::Median<double> (0xb5a785dc) 0
+
Class QtConcurrent::BlockSizeManager
size=72 align=4
base size=72 base align=4
QtConcurrent::BlockSizeManager (0xb5a78f3c) 0
-Class QtConcurrent::ResultReporter<void>
- size=1 align=1
- base size=0 base align=1
-QtConcurrent::ResultReporter<void> (0xb58d53c0) 0 empty
-Class QFlags<QtConcurrent::ReduceOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QtConcurrent::ReduceOption> (0xb58d5c30) 0
-Class QtConcurrent::SelectSpecialization<void>
- size=1 align=1
- base size=0 base align=1
-QtConcurrent::SelectSpecialization<void> (0xb57f10b4) 0 empty
-Vtable for QtConcurrent::RunFunctionTaskBase<void>
-QtConcurrent::RunFunctionTaskBase<void>::_ZTVN12QtConcurrent19RunFunctionTaskBaseIvEE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTIN12QtConcurrent19RunFunctionTaskBaseIvEE)
-8 QtConcurrent::RunFunctionTaskBase<void>::~RunFunctionTaskBase
-12 QtConcurrent::RunFunctionTaskBase<void>::~RunFunctionTaskBase
-16 QtConcurrent::RunFunctionTaskBase<T>::run [with T = void]
-20 __cxa_pure_virtual
-24 (int (*)(...))-0x000000008
-28 (int (*)(...))(& _ZTIN12QtConcurrent19RunFunctionTaskBaseIvEE)
-32 QtConcurrent::RunFunctionTaskBase<void>::_ZThn8_N12QtConcurrent19RunFunctionTaskBaseIvE3runEv
-36 QtConcurrent::RunFunctionTaskBase<void>::_ZThn8_N12QtConcurrent19RunFunctionTaskBaseIvED1Ev
-40 QtConcurrent::RunFunctionTaskBase<void>::_ZThn8_N12QtConcurrent19RunFunctionTaskBaseIvED0Ev
-Class QtConcurrent::RunFunctionTaskBase<void>
- size=16 align=4
- base size=16 base align=4
-QtConcurrent::RunFunctionTaskBase<void> (0xb57f6370) 0
- vptr=((& QtConcurrent::RunFunctionTaskBase<void>::_ZTVN12QtConcurrent19RunFunctionTaskBaseIvEE) + 8u)
- QFutureInterface<void> (0xb57e5a00) 0
- primary-for QtConcurrent::RunFunctionTaskBase<void> (0xb57f6370)
- QFutureInterfaceBase (0xb57f1294) 0
- primary-for QFutureInterface<void> (0xb57e5a00)
- QRunnable (0xb57f12d0) 8
- vptr=((& QtConcurrent::RunFunctionTaskBase<void>::_ZTVN12QtConcurrent19RunFunctionTaskBaseIvEE) + 32u)
-
-Vtable for QtConcurrent::RunFunctionTask<void>
-QtConcurrent::RunFunctionTask<void>::_ZTVN12QtConcurrent15RunFunctionTaskIvEE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTIN12QtConcurrent15RunFunctionTaskIvEE)
-8 QtConcurrent::RunFunctionTask<void>::~RunFunctionTask
-12 QtConcurrent::RunFunctionTask<void>::~RunFunctionTask
-16 QtConcurrent::RunFunctionTask<void>::run
-20 __cxa_pure_virtual
-24 (int (*)(...))-0x000000008
-28 (int (*)(...))(& _ZTIN12QtConcurrent15RunFunctionTaskIvEE)
-32 QtConcurrent::RunFunctionTask<void>::_ZThn8_N12QtConcurrent15RunFunctionTaskIvE3runEv
-36 QtConcurrent::RunFunctionTask<void>::_ZThn8_N12QtConcurrent15RunFunctionTaskIvED1Ev
-40 QtConcurrent::RunFunctionTask<void>::_ZThn8_N12QtConcurrent15RunFunctionTaskIvED0Ev
-Class QtConcurrent::RunFunctionTask<void>
- size=16 align=4
- base size=16 base align=4
-QtConcurrent::RunFunctionTask<void> (0xb57e5a80) 0
- vptr=((& QtConcurrent::RunFunctionTask<void>::_ZTVN12QtConcurrent15RunFunctionTaskIvEE) + 8u)
- QtConcurrent::RunFunctionTaskBase<void> (0xb57f6780) 0
- primary-for QtConcurrent::RunFunctionTask<void> (0xb57e5a80)
- QFutureInterface<void> (0xb57e5ac0) 0
- primary-for QtConcurrent::RunFunctionTaskBase<void> (0xb57f6780)
- QFutureInterfaceBase (0xb57f1474) 0
- primary-for QFutureInterface<void> (0xb57e5ac0)
- QRunnable (0xb57f14b0) 8
- vptr=((& QtConcurrent::RunFunctionTask<void>::_ZTVN12QtConcurrent15RunFunctionTaskIvEE) + 32u)
+
Class QLibraryInfo
size=1 align=1
@@ -2715,50 +1314,22 @@ QFile (0xb5747e00) 0
QObject (0xb57567f8) 0
primary-for QIODevice (0xb5747e40)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0xb5784168) 0
Class QFileInfo
size=4 align=4
base size=4 base align=4
QFileInfo (0xb5784d20) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0xb57a63c0) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0xb57a66cc) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0xb55b6438) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0xb55b63c0) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0xb55b6528) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0xb55d8a8c) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0xb55d8b7c) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -2833,10 +1404,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0xb5609e4c) 0
vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0xb5619f3c) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -2926,10 +1493,6 @@ Class QDirIterator
QDirIterator (0xb56480f0) 0
vptr=((& QDirIterator::_ZTV12QDirIterator) + 8u)
-Class QFlags<QDirIterator::IteratorFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDirIterator::IteratorFlag> (0xb56488e8) 0
Vtable for QFileSystemWatcher
QFileSystemWatcher::_ZTV18QFileSystemWatcher: 14u entries
@@ -3067,25 +1630,13 @@ Class QLocale::Data
base size=4 base align=2
QLocale::Data (0xb56ae8ac) 0
-Class QLocale::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QLocale::<anonymous union> (0xb56ae924) 0
Class QLocale
size=4 align=4
base size=4 base align=4
QLocale (0xb568d690) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0xb56b412c) 0 empty
-Class QFlags<QLocale::NumberOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLocale::NumberOption> (0xb56b4294) 0
Class QResource
size=4 align=4
@@ -3097,275 +1648,59 @@ Class QMetaType
base size=0 base align=1
QMetaType (0xb54c2b7c) 0 empty
-Class QMetaTypeId2<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QString> (0xb54c2fb4) 0 empty
-Class QMetaTypeId2<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<int> (0xb54e71a4) 0 empty
-Class QMetaTypeId2<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned int> (0xb54e7384) 0 empty
-Class QMetaTypeId2<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<bool> (0xb54e7564) 0 empty
-Class QMetaTypeId2<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<double> (0xb54e7744) 0 empty
-Class QMetaTypeId2<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QByteArray> (0xb54e7924) 0 empty
-Class QMetaTypeId2<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QChar> (0xb54e7b04) 0 empty
-Class QMetaTypeId2<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long int> (0xb54e7ce4) 0 empty
-Class QMetaTypeId2<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short int> (0xb54e7ec4) 0 empty
-Class QMetaTypeId2<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<char> (0xb54f10b4) 0 empty
-Class QMetaTypeId2<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long unsigned int> (0xb54f1294) 0 empty
-Class QMetaTypeId2<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short unsigned int> (0xb54f1474) 0 empty
-Class QMetaTypeId2<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned char> (0xb54f1654) 0 empty
-Class QMetaTypeId2<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<float> (0xb54f1834) 0 empty
-Class QMetaTypeId2<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QObject*> (0xb54f1a14) 0 empty
-Class QMetaTypeId2<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QWidget*> (0xb54f1bf4) 0 empty
-Class QMetaTypeId2<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<void*> (0xb54f1dd4) 0 empty
-Class QMetaTypeId2<long long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long int> (0xb54f1fb4) 0 empty
-Class QMetaTypeId2<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long unsigned int> (0xb54f61a4) 0 empty
-Class QMetaTypeId2<QStringList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QStringList> (0xb54f6384) 0 empty
-Class QMetaTypeId2<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitArray> (0xb54f6564) 0 empty
-Class QMetaTypeId2<QDate>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDate> (0xb54f6744) 0 empty
-Class QMetaTypeId2<QTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTime> (0xb54f6924) 0 empty
-Class QMetaTypeId2<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDateTime> (0xb54f6b04) 0 empty
-Class QMetaTypeId2<QUrl>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QUrl> (0xb54f6ce4) 0 empty
-Class QMetaTypeId2<QLocale>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLocale> (0xb54f6ec4) 0 empty
-Class QMetaTypeId2<QRect>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRect> (0xb54ff0b4) 0 empty
-Class QMetaTypeId2<QRectF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRectF> (0xb54ff294) 0 empty
-Class QMetaTypeId2<QSize>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSize> (0xb54ff474) 0 empty
-Class QMetaTypeId2<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizeF> (0xb54ff654) 0 empty
-Class QMetaTypeId2<QLine>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLine> (0xb54ff834) 0 empty
-Class QMetaTypeId2<QLineF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLineF> (0xb54ffa14) 0 empty
-Class QMetaTypeId2<QPoint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPoint> (0xb54ffbf4) 0 empty
-Class QMetaTypeId2<QPointF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPointF> (0xb54ffdd4) 0 empty
-Class QMetaTypeId2<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegExp> (0xb54fffb4) 0 empty
-Class QMetaTypeId2<QColorGroup>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColorGroup> (0xb55091a4) 0 empty
-Class QMetaTypeId2<QFont>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QFont> (0xb5509384) 0 empty
-Class QMetaTypeId2<QPixmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPixmap> (0xb5509564) 0 empty
-Class QMetaTypeId2<QBrush>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBrush> (0xb5509744) 0 empty
-Class QMetaTypeId2<QColor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColor> (0xb5509924) 0 empty
-Class QMetaTypeId2<QPalette>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPalette> (0xb5509b04) 0 empty
-Class QMetaTypeId2<QIcon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QIcon> (0xb5509ce4) 0 empty
-Class QMetaTypeId2<QImage>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QImage> (0xb5509ec4) 0 empty
-Class QMetaTypeId2<QPolygon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPolygon> (0xb550d0b4) 0 empty
-Class QMetaTypeId2<QRegion>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegion> (0xb550d294) 0 empty
-Class QMetaTypeId2<QBitmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitmap> (0xb550d474) 0 empty
-Class QMetaTypeId2<QCursor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QCursor> (0xb550d654) 0 empty
-Class QMetaTypeId2<QSizePolicy>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizePolicy> (0xb550d834) 0 empty
-Class QMetaTypeId2<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QKeySequence> (0xb550da14) 0 empty
-Class QMetaTypeId2<QPen>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPen> (0xb550dbf4) 0 empty
-Class QMetaTypeId2<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextLength> (0xb550ddd4) 0 empty
-Class QMetaTypeId2<QTextFormat>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextFormat> (0xb550dfb4) 0 empty
-Class QMetaTypeId2<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMatrix> (0xb55161a4) 0 empty
-Class QMetaTypeId2<QTransform>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTransform> (0xb5516384) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -3392,45 +1727,17 @@ Class QVariant
base size=12 base align=4
QVariant (0xb5516564) 0
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0xb5552000) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0xb5547f78) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0xb55520f0) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0xb5552078) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0xb5585474) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0xb5585a8c) 0 empty
-Class QMetaTypeId2<QList<QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QList<QVariant> > (0xb5585c6c) 0 empty
-Class QMetaTypeId2<QMap<QString, QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMap<QString, QVariant> > (0xb5585e4c) 0 empty
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -3508,15 +1815,7 @@ Class QUrl
base size=4 base align=4
QUrl (0xb53d6f00) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0xb53e0e10) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0xb540a8ac) 0 empty
Vtable for QEventLoop
QEventLoop::_ZTV10QEventLoop: 14u entries
@@ -3543,10 +1842,6 @@ QEventLoop (0xb53dbac0) 0
QObject (0xb5419708) 0
primary-for QEventLoop (0xb53dbac0)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0xb5419d20) 0
Vtable for QAbstractEventDispatcher
QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 27u entries
@@ -3591,20 +1886,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0xb5439fb4) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0xb5460384) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0xb5460474) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0xb5460bb8) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -3774,10 +2061,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0xb54aed20) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0xb52b74b0) 0 empty
Vtable for QEvent
QEvent::_ZTV6QEvent: 4u entries
@@ -3889,20 +2172,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0xb53200f0) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0xb53205a0) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0xb5320690) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0xb5320ac8) 0 empty
Class QMetaProperty
size=20 align=4
@@ -3914,10 +2189,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0xb5320ec4) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0xb533621c) 0 empty
Vtable for QMimeData
QMimeData::_ZTV9QMimeData: 17u entries
@@ -4129,10 +2400,6 @@ QLibrary (0xb53767c0) 0
QObject (0xb5392b7c) 0
primary-for QLibrary (0xb53767c0)
-Class QFlags<QLibrary::LoadHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLibrary::LoadHint> (0xb53a2ac8) 0
Vtable for QPluginLoader
QPluginLoader::_ZTV13QPluginLoader: 14u entries
@@ -4169,20 +2436,12 @@ Class QReadWriteLock
base size=4 base align=4
QReadWriteLock (0xb51d8078) 0
-Class QReadLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QReadLocker::<anonymous union> (0xb51d8708) 0
Class QReadLocker
size=4 align=4
base size=4 base align=4
QReadLocker (0xb51d83fc) 0
-Class QWriteLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QWriteLocker::<anonymous union> (0xb51e5bf4) 0
Class QWriteLocker
size=4 align=4
@@ -4209,10 +2468,6 @@ Class QBitRef
base size=8 base align=4
QBitRef (0xb522d1e0) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0xb522dec4) 0 empty
Class QByteArrayMatcher
size=1032 align=4
@@ -4229,70 +2484,42 @@ Class QDate
base size=4 base align=4
QDate (0xb5239ec4) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0xb526b870) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0xb526b960) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0xb5273f3c) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0xb5273384) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0xb52866cc) 0 empty
Class QPoint
size=8 align=4
base size=8 base align=4
QPoint (0xb52868ac) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0xb529d708) 0 empty
Class QPointF
size=16 align=4
base size=16 base align=4
QPointF (0xb508b8ac) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0xb509a7bc) 0 empty
Class QLine
size=16 align=4
base size=16 base align=4
QLine (0xb50ad870) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0xb50adc30) 0 empty
Class QLineF
size=32 align=4
base size=32 base align=4
QLineF (0xb50ced98) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0xb50db7bc) 0 empty
Class QLinkedListData
size=20 align=4
@@ -4304,40 +2531,24 @@ Class QSize
base size=8 base align=4
QSize (0xb5166708) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0xb51797bc) 0 empty
Class QSizeF
size=16 align=4
base size=16 base align=4
QSizeF (0xb4f95384) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0xb4f9e3fc) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0xb4fbe1e0) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0xb4fd90b4) 0 empty
Class QRectF
size=32 align=4
base size=32 base align=4
QRectF (0xb5014ca8) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0xb50371a4) 0 empty
Class QSharedData
size=4 align=4
@@ -4385,20 +2596,8 @@ Class QXmlStreamAttribute
base size=53 base align=4
QXmlStreamAttribute (0xb4ed599c) 0
-Class QTypeInfo<QXmlStreamAttribute>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QXmlStreamAttribute> (0xb4edef3c) 0 empty
-Class QVector<QXmlStreamAttribute>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QXmlStreamAttribute>::<anonymous union> (0xb4eef078) 0
-Class QVector<QXmlStreamAttribute>
- size=4 align=4
- base size=4 base align=4
-QVector<QXmlStreamAttribute> (0xb4eef000) 0
Class QXmlStreamAttributes
size=4 align=4
@@ -4411,30 +2610,18 @@ Class QXmlStreamNamespaceDeclaration
base size=28 base align=4
QXmlStreamNamespaceDeclaration (0xb4eef0f0) 0
-Class QTypeInfo<QXmlStreamNamespaceDeclaration>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QXmlStreamNamespaceDeclaration> (0xb4eefb04) 0 empty
Class QXmlStreamNotationDeclaration
size=40 align=4
base size=40 base align=4
QXmlStreamNotationDeclaration (0xb4eefc30) 0
-Class QTypeInfo<QXmlStreamNotationDeclaration>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QXmlStreamNotationDeclaration> (0xb4f0f7f8) 0 empty
Class QXmlStreamEntityDeclaration
size=64 align=4
base size=64 base align=4
QXmlStreamEntityDeclaration (0xb4f0f924) 0
-Class QTypeInfo<QXmlStreamEntityDeclaration>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QXmlStreamEntityDeclaration> (0xb4f218ac) 0 empty
Vtable for QXmlStreamEntityResolver
QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver: 6u entries
@@ -4616,20 +2803,12 @@ QNetworkAccessManager (0xb4f777c0) 0
QObject (0xb4da3564) 0
primary-for QNetworkAccessManager (0xb4f777c0)
-Class QSharedDataPointer<QNetworkCookiePrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QNetworkCookiePrivate> (0xb4db5564) 0
Class QNetworkCookie
size=4 align=4
base size=4 base align=4
QNetworkCookie (0xb4da3f3c) 0
-Class QTypeInfo<QNetworkCookie>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QNetworkCookie> (0xb4db5780) 0 empty
Vtable for QNetworkCookieJar
QNetworkCookieJar::_ZTV17QNetworkCookieJar: 16u entries
@@ -4658,30 +2837,14 @@ QNetworkCookieJar (0xb4f77c00) 0
QObject (0xb4db5870) 0
primary-for QNetworkCookieJar (0xb4f77c00)
-Class QMetaTypeId<QNetworkCookie>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QNetworkCookie> (0xb4dcc3c0) 0 empty
-Class QMetaTypeId<QList<QNetworkCookie> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QList<QNetworkCookie> > (0xb4dcc564) 0 empty
-Class QSharedDataPointer<QNetworkRequestPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QNetworkRequestPrivate> (0xb4dccbf4) 0
Class QNetworkRequest
size=4 align=4
base size=4 base align=4
QNetworkRequest (0xb4dcc708) 0
-Class QMetaTypeId<QNetworkRequest>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QNetworkRequest> (0xb4dccdd4) 0 empty
Vtable for QNetworkReply
QNetworkReply::_ZTV13QNetworkReply: 33u entries
@@ -4797,20 +2960,12 @@ Class QNetworkAddressEntry
base size=4 base align=4
QNetworkAddressEntry (0xb4e1da8c) 0
-Class QSharedDataPointer<QNetworkInterfacePrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QNetworkInterfacePrivate> (0xb4e2d618) 0
Class QNetworkInterface
size=4 align=4
base size=4 base align=4
QNetworkInterface (0xb4e1dd5c) 0
-Class QFlags<QNetworkInterface::InterfaceFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QNetworkInterface::InterfaceFlag> (0xb4e2d744) 0
Class QNetworkProxy
size=4 align=4
@@ -5006,10 +3161,6 @@ QUdpSocket (0xb4e4acc0) 0
QObject (0xb4e84bf4) 0
primary-for QIODevice (0xb4e4ad40)
-Class QFlags<QUdpSocket::BindFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUdpSocket::BindFlag> (0xb4c93ac8) 0
Class QSslCertificate
size=4 align=4
@@ -5073,10 +3224,6 @@ QSslSocket (0xb4c9c2c0) 0
QObject (0xb4cc4000) 0
primary-for QIODevice (0xb4c9c380)
-Class QMetaTypeId<QList<QSslError> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QList<QSslError> > (0xb4cdc3fc) 0 empty
Class QSslConfiguration
size=4 align=4
@@ -5088,25 +3235,13 @@ Class QSslKey
base size=4 base align=4
QSslKey (0xb4cdcc30) 0
-Class QSourceLocation::<anonymous union>
- size=8 align=4
- base size=8 base align=4
-QSourceLocation::<anonymous union> (0xb4ceb654) 0
Class QSourceLocation
size=20 align=4
base size=20 base align=4
QSourceLocation (0xb4ceb21c) 0
-Class QTypeInfo<QSourceLocation>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSourceLocation> (0xb4ceb690) 0 empty
-Class QMetaTypeId<QSourceLocation>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QSourceLocation> (0xb4ceb780) 0 empty
Vtable for QAbstractMessageHandler
QAbstractMessageHandler::_ZTV23QAbstractMessageHandler: 15u entries
@@ -5165,20 +3300,8 @@ Class QXmlName
base size=8 base align=4
QXmlName (0xb4d0d0b4) 0
-Class QTypeInfo<QXmlName>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QXmlName> (0xb4d0fec4) 0 empty
-Class QMetaTypeId<QXmlName>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QXmlName> (0xb4d0ffb4) 0 empty
-Class QPatternist::NodeIndexStorage::<anonymous union>
- size=8 align=4
- base size=8 base align=4
-QPatternist::NodeIndexStorage::<anonymous union> (0xb4d1b1a4) 0
Class QPatternist::NodeIndexStorage
size=20 align=4
@@ -5224,30 +3347,14 @@ QAbstractXmlNodeModel (0xb4d0c900) 0
vptr=((& QAbstractXmlNodeModel::_ZTV21QAbstractXmlNodeModel) + 8u)
QSharedData (0xb4d42b04) 4
-Class QTypeInfo<QXmlNodeModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QXmlNodeModelIndex> (0xb4d4a8ac) 0 empty
-Class QXmlItem::<anonymous union>
- size=20 align=4
- base size=20 base align=4
-QXmlItem::<anonymous union> (0xb4d4aec4) 0
Class QXmlItem
size=20 align=4
base size=20 base align=4
QXmlItem (0xb4d4a99c) 0
-Class QTypeInfo<QXmlItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QXmlItem> (0xb4d4af78) 0 empty
-Class QMetaTypeId<QXmlItem>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QXmlItem> (0xb4d5b03c) 0 empty
Vtable for QAbstractXmlReceiver
QAbstractXmlReceiver::_ZTV20QAbstractXmlReceiver: 18u entries
@@ -5377,10 +3484,6 @@ QXmlFormatter (0xb4d710c0) 0
QAbstractXmlReceiver (0xb4d7603c) 0
primary-for QXmlSerializer (0xb4d71100)
-Class QExplicitlySharedDataPointer<QPatternist::NamePool>
- size=4 align=4
- base size=4 base align=4
-QExplicitlySharedDataPointer<QPatternist::NamePool> (0xb4d76654) 0
Class QXmlNamePool
size=4 align=4
@@ -5400,68 +3503,16 @@ Class QXmlResultItems
QXmlResultItems (0xb4d76690) 0
vptr=((& QXmlResultItems::_ZTV15QXmlResultItems) + 8u)
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0xb4bd603c) 0
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0xb4be85dc) 0
-Class QTypeInfo<QtConcurrent::ResultItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QtConcurrent::ResultItem> (0xb4aa4c30) 0 empty
-Class QMap<int, QtConcurrent::ResultItem>::Node
- size=20 align=4
- base size=20 base align=4
-QMap<int, QtConcurrent::ResultItem>::Node (0xb4aa4ca8) 0
-Class QList<QNetworkCookie>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QNetworkCookie>::<anonymous union> (0xb4acb7bc) 0
-Class QList<QNetworkCookie>
- size=4 align=4
- base size=4 base align=4
-QList<QNetworkCookie> (0xb4acb744) 0
-Class QList<QSslError>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QSslError>::<anonymous union> (0xb4acbfb4) 0
-Class QList<QSslError>
- size=4 align=4
- base size=4 base align=4
-QList<QSslError> (0xb4acbf3c) 0
-Class QMap<int, QtConcurrent::ResultItem>::PayloadNode
- size=16 align=4
- base size=16 base align=4
-QMap<int, QtConcurrent::ResultItem>::PayloadNode (0xb4aff9d8) 0
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0xb4affb04) 0
-Class QList<QNetworkCookie>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QNetworkCookie>::Node (0xb4b14e4c) 0
-Class QTypeInfo<QSslError>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSslError> (0xb4b390b4) 0 empty
-Class QList<QSslError>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QSslError>::Node (0xb4b3912c) 0
diff --git a/tests/auto/bic/data/QtXmlPatterns.4.4.1.linux-gcc-ia32.txt b/tests/auto/bic/data/QtXmlPatterns.4.4.1.linux-gcc-ia32.txt
index baf261b..e4e14be 100644
--- a/tests/auto/bic/data/QtXmlPatterns.4.4.1.linux-gcc-ia32.txt
+++ b/tests/auto/bic/data/QtXmlPatterns.4.4.1.linux-gcc-ia32.txt
@@ -1,34 +1,8 @@
-Class QUintForSize<4>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<4> (0xb7f56f40) 0 empty
-Class QUintForSize<8>
- size=1 align=1
- base size=0 base align=1
-QUintForSize<8> (0xb7f56f80) 0 empty
-Class QUintForType<void*>
- size=1 align=1
- base size=1 base align=1
-QUintForType<void*> (0xb7a60040) 0 empty
- QUintForSize<4> (0xb7a60080) 0 empty
-Class QIntForSize<4>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<4> (0xb7a601c0) 0 empty
-Class QIntForSize<8>
- size=1 align=1
- base size=0 base align=1
-QIntForSize<8> (0xb7a60200) 0 empty
-Class QIntForType<void*>
- size=1 align=1
- base size=1 base align=1
-QIntForType<void*> (0xb7a602c0) 0 empty
- QIntForSize<4> (0xb7a60300) 0 empty
Class QSysInfo
size=1 align=1
@@ -50,80 +24,20 @@ Class qIsNull(float)::U
base size=4 base align=4
qIsNull(float)::U (0xb7a60b00) 0
-Class QTypeInfo<bool>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<bool> (0xb7a60bc0) 0 empty
-Class QTypeInfo<char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<char> (0xb7a60c00) 0 empty
-Class QTypeInfo<signed char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<signed char> (0xb7a60c40) 0 empty
-Class QTypeInfo<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned char> (0xb7a60c80) 0 empty
-Class QTypeInfo<short int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short int> (0xb7a60cc0) 0 empty
-Class QTypeInfo<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<short unsigned int> (0xb7a60d00) 0 empty
-Class QTypeInfo<int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<int> (0xb7a60d40) 0 empty
-Class QTypeInfo<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<unsigned int> (0xb7a60d80) 0 empty
-Class QTypeInfo<long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long int> (0xb7a60dc0) 0 empty
-Class QTypeInfo<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long unsigned int> (0xb7a60e00) 0 empty
-Class QTypeInfo<long long int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long int> (0xb7a60e40) 0 empty
-Class QTypeInfo<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long long unsigned int> (0xb7a60e80) 0 empty
-Class QTypeInfo<float>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<float> (0xb7a60ec0) 0 empty
-Class QTypeInfo<double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<double> (0xb7a60f00) 0 empty
-Class QTypeInfo<long double>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<long double> (0xb7a60f40) 0 empty
Class QFlag
size=4 align=4
@@ -140,10 +54,6 @@ Class QChar
base size=2 base align=2
QChar (0xb7a96400) 0
-Class QTypeInfo<QChar>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QChar> (0xb6ad4840) 0 empty
Class QBasicAtomicInt
size=4 align=4
@@ -176,75 +86,19 @@ Class QByteRef
base size=8 base align=4
QByteRef (0xb6b812c0) 0
-Class QTypeInfo<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QByteArray> (0xb69bd240) 0 empty
-Class QFlags<Qt::MouseButton>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MouseButton> (0xb69bd340) 0
-Class QFlags<Qt::Orientation>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::Orientation> (0xb69bdc00) 0
-Class QFlags<Qt::KeyboardModifier>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::KeyboardModifier> (0xb6a104c0) 0
-Class QFlags<Qt::WindowType>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowType> (0xb6a10d80) 0
-Class QFlags<Qt::AlignmentFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::AlignmentFlag> (0xb6a21640) 0
-Class QFlags<Qt::ImageConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ImageConversionFlag> (0xb6a21f00) 0
-Class QFlags<Qt::DockWidgetArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DockWidgetArea> (0xb6a337c0) 0
-Class QFlags<Qt::ToolBarArea>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ToolBarArea> (0xb6a3f080) 0
-Class QFlags<Qt::WindowState>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::WindowState> (0xb6a3f940) 0
-Class QFlags<Qt::DropAction>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::DropAction> (0xb6a53200) 0
-Class QFlags<Qt::ItemFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::ItemFlag> (0xb6a53ac0) 0
-Class QFlags<Qt::MatchFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::MatchFlag> (0xb6a6b380) 0
-Class QFlags<Qt::TextInteractionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<Qt::TextInteractionFlag> (0xb6a6bc40) 0
Class QInternal
size=1 align=1
@@ -266,10 +120,6 @@ Class QString
base size=4 base align=4
QString (0xb6a7f680) 0
-Class QFlags<QString::SectionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QString::SectionFlag> (0xb68cc300) 0
Class QLatin1String
size=4 align=4
@@ -287,10 +137,6 @@ Class QConstString
QConstString (0xb681c1c0) 0
QString (0xb681c200) 0
-Class QTypeInfo<QString>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QString> (0xb681c340) 0 empty
Class QStringRef
size=12 align=4
@@ -358,10 +204,6 @@ Class QMutex
base size=4 base align=4
QMutex (0xb6867200) 0
-Class QMutexLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMutexLocker::<anonymous union> (0xb6867bc0) 0
Class QMutexLocker
size=4 align=4
@@ -447,25 +289,13 @@ Class QGenericReturnArgument
QGenericReturnArgument (0xb6741880) 0
QGenericArgument (0xb67418c0) 0
-Class QMetaObject::<anonymous struct>
- size=16 align=4
- base size=16 base align=4
-QMetaObject::<anonymous struct> (0xb6741c80) 0
Class QMetaObject
size=16 align=4
base size=16 base align=4
QMetaObject (0xb6741ac0) 0
-Class QList<QObject*>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*>::<anonymous union> (0xb65e3bc0) 0
-Class QList<QObject*>
- size=4 align=4
- base size=4 base align=4
-QList<QObject*> (0xb65e3b40) 0
Vtable for QObjectData
QObjectData::_ZTV11QObjectData: 4u entries
@@ -557,10 +387,6 @@ QIODevice (0xb6628400) 0
QObject (0xb6628440) 0
primary-for QIODevice (0xb6628400)
-Class QFlags<QIODevice::OpenModeFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QIODevice::OpenModeFlag> (0xb6647240) 0
Vtable for QDataStream
QDataStream::_ZTV11QDataStream: 4u entries
@@ -590,15 +416,7 @@ Class QHashDummyValue
base size=0 base align=1
QHashDummyValue (0xb64ab400) 0 empty
-Class QTypeInfo<QHashDummyValue>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QHashDummyValue> (0xb64ab440) 0 empty
-Class QFlags<QTextCodec::ConversionFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextCodec::ConversionFlag> (0xb653a8c0) 0
Class QTextCodec::ConverterState
size=28 align=4
@@ -623,15 +441,7 @@ Class QTextCodec
QTextCodec (0xb64abb40) 0 nearly-empty
vptr=((& QTextCodec::_ZTV10QTextCodec) + 8u)
-Class QList<QByteArray>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::<anonymous union> (0xb6547800) 0
-Class QList<QByteArray>
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray> (0xb6547780) 0
Class QTextEncoder
size=32 align=4
@@ -643,30 +453,10 @@ Class QTextDecoder
base size=32 base align=4
QTextDecoder (0xb656acc0) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6575100) 0
-Class <anonymous struct>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous struct>::<anonymous union> (0xb6575180) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb6575140) 0
-Class <anonymous struct>
- size=12 align=4
- base size=12 base align=4
-<anonymous struct> (0xb65751c0) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb6575200) 0
Class _IO_marker
size=12 align=4
@@ -678,10 +468,6 @@ Class _IO_FILE
base size=148 base align=4
_IO_FILE (0xb6575280) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb65752c0) 0
Vtable for QTextStream
QTextStream::_ZTV11QTextStream: 4u entries
@@ -696,10 +482,6 @@ Class QTextStream
QTextStream (0xb6575300) 0
vptr=((& QTextStream::_ZTV11QTextStream) + 8u)
-Class QFlags<QTextStream::NumberFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QTextStream::NumberFlag> (0xb63a65c0) 0
Class QTextStreamManipulator
size=24 align=4
@@ -736,40 +518,16 @@ QTextOStream (0xb63cb280) 0
QTextStream (0xb63cb2c0) 0
primary-for QTextOStream (0xb63cb280)
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0xb63cb900) 0
-Class wait::<anonymous struct>
- size=4 align=4
- base size=4 base align=4
-wait::<anonymous struct> (0xb63cb940) 0
Class wait
size=4 align=4
base size=4 base align=4
wait (0xb63cb8c0) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb63cb980) 0
-Class <anonymous struct>
- size=8 align=4
- base size=8 base align=4
-<anonymous struct> (0xb63cb9c0) 0
-Class <anonymous struct>
- size=16 align=4
- base size=16 base align=4
-<anonymous struct> (0xb63cba00) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb63cba40) 0
Class timespec
size=8 align=4
@@ -781,80 +539,24 @@ Class timeval
base size=8 base align=4
timeval (0xb63cbac0) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb63cbb00) 0
-Class <anonymous union>
- size=36 align=4
- base size=36 base align=4
-<anonymous union> (0xb63cbb40) 0
Class __pthread_internal_slist
size=4 align=4
base size=4 base align=4
__pthread_internal_slist (0xb63cbb80) 0
-Class <anonymous union>::__pthread_mutex_s::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union>::__pthread_mutex_s::<anonymous union> (0xb63cbc40) 0
-Class <anonymous union>::__pthread_mutex_s
- size=24 align=4
- base size=24 base align=4
-<anonymous union>::__pthread_mutex_s (0xb63cbc00) 0
-Class <anonymous union>
- size=24 align=4
- base size=24 base align=4
-<anonymous union> (0xb63cbbc0) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb63cbc80) 0
-Class <anonymous union>::<anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous union>::<anonymous struct> (0xb63cbd00) 0
-Class <anonymous union>
- size=48 align=4
- base size=48 base align=4
-<anonymous union> (0xb63cbcc0) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb63cbd40) 0
-Class <anonymous union>::<anonymous struct>
- size=32 align=4
- base size=32 base align=4
-<anonymous union>::<anonymous struct> (0xb63cbdc0) 0
-Class <anonymous union>
- size=32 align=4
- base size=32 base align=4
-<anonymous union> (0xb63cbd80) 0
-Class <anonymous union>
- size=8 align=4
- base size=8 base align=4
-<anonymous union> (0xb63cbe40) 0
-Class <anonymous union>
- size=20 align=4
- base size=20 base align=4
-<anonymous union> (0xb63cbe80) 0
-Class <anonymous union>
- size=4 align=4
- base size=4 base align=4
-<anonymous union> (0xb63cbec0) 0
Class random_data
size=28 align=4
@@ -886,20 +588,8 @@ Class QtConcurrent::ResultItem
base size=8 base align=4
QtConcurrent::ResultItem (0xb62d9ac0) 0
-Class QMap<int, QtConcurrent::ResultItem>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<int, QtConcurrent::ResultItem>::<anonymous union> (0xb62f9180) 0
-Class QMap<int, QtConcurrent::ResultItem>
- size=4 align=4
- base size=4 base align=4
-QMap<int, QtConcurrent::ResultItem> (0xb62f9100) 0
-Class QMap<int, QtConcurrent::ResultItem>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QMap<int, QtConcurrent::ResultItem>::const_iterator (0xb62f9540) 0
Class QtConcurrent::ResultIteratorBase
size=8 align=4
@@ -932,25 +622,8 @@ Class QFutureInterfaceBase
QFutureInterfaceBase (0xb62f9780) 0
vptr=((& QFutureInterfaceBase::_ZTV20QFutureInterfaceBase) + 8u)
-Vtable for QFutureInterface<void>
-QFutureInterface<void>::_ZTV16QFutureInterfaceIvE: 4u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI16QFutureInterfaceIvE)
-8 QFutureInterface<void>::~QFutureInterface
-12 QFutureInterface<void>::~QFutureInterface
-Class QFutureInterface<void>
- size=8 align=4
- base size=8 base align=4
-QFutureInterface<void> (0xb62f9e80) 0
- vptr=((& QFutureInterface<void>::_ZTV16QFutureInterfaceIvE) + 8u)
- QFutureInterfaceBase (0xb62f9ec0) 0
- primary-for QFutureInterface<void> (0xb62f9e80)
-Class QFuture<void>
- size=8 align=4
- base size=8 base align=4
-QFuture<void> (0xb63500c0) 0
Vtable for QRunnable
QRunnable::_ZTV9QRunnable: 5u entries
@@ -1017,64 +690,10 @@ QThreadPool (0xb619b1c0) 0
QObject (0xb619b200) 0
primary-for QThreadPool (0xb619b1c0)
-Class QtConcurrent::SelectSpecialization<void>
- size=1 align=1
- base size=0 base align=1
-QtConcurrent::SelectSpecialization<void> (0xb619b800) 0 empty
-Vtable for QtConcurrent::RunFunctionTaskBase<void>
-QtConcurrent::RunFunctionTaskBase<void>::_ZTVN12QtConcurrent19RunFunctionTaskBaseIvEE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTIN12QtConcurrent19RunFunctionTaskBaseIvEE)
-8 QtConcurrent::RunFunctionTaskBase<void>::~RunFunctionTaskBase
-12 QtConcurrent::RunFunctionTaskBase<void>::~RunFunctionTaskBase
-16 QtConcurrent::RunFunctionTaskBase<T>::run [with T = void]
-20 __cxa_pure_virtual
-24 (int (*)(...))-0x00000000000000008
-28 (int (*)(...))(& _ZTIN12QtConcurrent19RunFunctionTaskBaseIvEE)
-32 QtConcurrent::RunFunctionTaskBase<void>::_ZThn8_N12QtConcurrent19RunFunctionTaskBaseIvE3runEv
-36 QtConcurrent::RunFunctionTaskBase<void>::_ZThn8_N12QtConcurrent19RunFunctionTaskBaseIvED1Ev
-40 QtConcurrent::RunFunctionTaskBase<void>::_ZThn8_N12QtConcurrent19RunFunctionTaskBaseIvED0Ev
-Class QtConcurrent::RunFunctionTaskBase<void>
- size=16 align=4
- base size=16 base align=4
-QtConcurrent::RunFunctionTaskBase<void> (0xb619b9c0) 0
- vptr=((& QtConcurrent::RunFunctionTaskBase<void>::_ZTVN12QtConcurrent19RunFunctionTaskBaseIvEE) + 8u)
- QFutureInterface<void> (0xb619ba00) 0
- primary-for QtConcurrent::RunFunctionTaskBase<void> (0xb619b9c0)
- QFutureInterfaceBase (0xb619ba40) 0
- primary-for QFutureInterface<void> (0xb619ba00)
- QRunnable (0xb619ba80) 8
- vptr=((& QtConcurrent::RunFunctionTaskBase<void>::_ZTVN12QtConcurrent19RunFunctionTaskBaseIvEE) + 32u)
-
-Vtable for QtConcurrent::RunFunctionTask<void>
-QtConcurrent::RunFunctionTask<void>::_ZTVN12QtConcurrent15RunFunctionTaskIvEE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTIN12QtConcurrent15RunFunctionTaskIvEE)
-8 QtConcurrent::RunFunctionTask<void>::~RunFunctionTask
-12 QtConcurrent::RunFunctionTask<void>::~RunFunctionTask
-16 QtConcurrent::RunFunctionTask<void>::run
-20 __cxa_pure_virtual
-24 (int (*)(...))-0x00000000000000008
-28 (int (*)(...))(& _ZTIN12QtConcurrent15RunFunctionTaskIvEE)
-32 QtConcurrent::RunFunctionTask<void>::_ZThn8_N12QtConcurrent15RunFunctionTaskIvE3runEv
-36 QtConcurrent::RunFunctionTask<void>::_ZThn8_N12QtConcurrent15RunFunctionTaskIvED1Ev
-40 QtConcurrent::RunFunctionTask<void>::_ZThn8_N12QtConcurrent15RunFunctionTaskIvED0Ev
-Class QtConcurrent::RunFunctionTask<void>
- size=16 align=4
- base size=16 base align=4
-QtConcurrent::RunFunctionTask<void> (0xb619bb40) 0
- vptr=((& QtConcurrent::RunFunctionTask<void>::_ZTVN12QtConcurrent15RunFunctionTaskIvEE) + 8u)
- QtConcurrent::RunFunctionTaskBase<void> (0xb619bb80) 0
- primary-for QtConcurrent::RunFunctionTask<void> (0xb619bb40)
- QFutureInterface<void> (0xb619bbc0) 0
- primary-for QtConcurrent::RunFunctionTaskBase<void> (0xb619bb80)
- QFutureInterfaceBase (0xb619bc00) 0
- primary-for QFutureInterface<void> (0xb619bbc0)
- QRunnable (0xb619bc40) 8
- vptr=((& QtConcurrent::RunFunctionTask<void>::_ZTVN12QtConcurrent15RunFunctionTaskIvEE) + 32u)
+
Vtable for QFutureWatcherBase
QFutureWatcherBase::_ZTV18QFutureWatcherBase: 16u entries
@@ -1103,39 +722,8 @@ QFutureWatcherBase (0xb6270ac0) 0
QObject (0xb6270b00) 0
primary-for QFutureWatcherBase (0xb6270ac0)
-Vtable for QFutureWatcher<void>
-QFutureWatcher<void>::_ZTV14QFutureWatcherIvE: 16u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTI14QFutureWatcherIvE)
-8 QFutureWatcherBase::metaObject
-12 QFutureWatcherBase::qt_metacast
-16 QFutureWatcherBase::qt_metacall
-20 QFutureWatcher<void>::~QFutureWatcher
-24 QFutureWatcher<void>::~QFutureWatcher
-28 QFutureWatcherBase::event
-32 QObject::eventFilter
-36 QObject::timerEvent
-40 QObject::childEvent
-44 QObject::customEvent
-48 QFutureWatcherBase::connectNotify
-52 QFutureWatcherBase::disconnectNotify
-56 QFutureWatcher<void>::futureInterface
-60 QFutureWatcher<void>::futureInterface
-Class QFutureWatcher<void>
- size=16 align=4
- base size=16 base align=4
-QFutureWatcher<void> (0xb60b7000) 0
- vptr=((& QFutureWatcher<void>::_ZTV14QFutureWatcherIvE) + 8u)
- QFutureWatcherBase (0xb60b7040) 0
- primary-for QFutureWatcher<void> (0xb60b7000)
- QObject (0xb60b7080) 0
- primary-for QFutureWatcherBase (0xb60b7040)
-
-Class QFlags<QtConcurrent::ReduceOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QtConcurrent::ReduceOption> (0xb60b7900) 0
+
Class QWaitCondition
size=4 align=4
@@ -1169,60 +757,14 @@ QtConcurrent::ThreadEngineBase (0xb612ea40) 0
QRunnable (0xb612ea80) 0
primary-for QtConcurrent::ThreadEngineBase (0xb612ea40)
-Class QtConcurrent::ThreadEngineStarterBase<void>
- size=4 align=4
- base size=4 base align=4
-QtConcurrent::ThreadEngineStarterBase<void> (0xb612ed00) 0
-Class QtConcurrent::ThreadEngineStarter<void>
- size=4 align=4
- base size=4 base align=4
-QtConcurrent::ThreadEngineStarter<void> (0xb612ed40) 0
- QtConcurrent::ThreadEngineStarterBase<void> (0xb612ed80) 0
-Vtable for QtConcurrent::ThreadEngine<void>
-QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE: 26u entries
-0 4u
-4 (int (*)(...))0
-8 (int (*)(...))(& _ZTIN12QtConcurrent12ThreadEngineIvEE)
-12 QtConcurrent::ThreadEngine<T>::result [with T = void]
-16 QtConcurrent::ThreadEngine<T>::asynchronousFinish [with T = void]
-20 QtConcurrent::ThreadEngine<void>::~ThreadEngine
-24 QtConcurrent::ThreadEngine<void>::~ThreadEngine
-28 4294967292u
-32 0u
-36 0u
-40 0u
-44 0u
-48 0u
-52 4294967292u
-56 0u
-60 (int (*)(...))-0x00000000000000004
-64 (int (*)(...))(& _ZTIN12QtConcurrent12ThreadEngineIvEE)
-68 QtConcurrent::ThreadEngineBase::run
-72 QtConcurrent::ThreadEngine<void>::_ZTv0_n16_N12QtConcurrent12ThreadEngineIvED1Ev
-76 QtConcurrent::ThreadEngine<void>::_ZTv0_n16_N12QtConcurrent12ThreadEngineIvED0Ev
-80 QtConcurrent::ThreadEngineBase::start
-84 QtConcurrent::ThreadEngineBase::finish
-88 QtConcurrent::ThreadEngineBase::threadFunction
-92 QtConcurrent::ThreadEngineBase::shouldStartThread
-96 QtConcurrent::ThreadEngineBase::shouldThrottleThread
-100 QtConcurrent::ThreadEngine<void>::_ZTv0_n40_N12QtConcurrent12ThreadEngineIvE18asynchronousFinishEv
VTT for QtConcurrent::ThreadEngine<void>
QtConcurrent::ThreadEngine<void>::_ZTTN12QtConcurrent12ThreadEngineIvEE: 2u entries
0 ((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 12u)
4 ((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 68u)
-Class QtConcurrent::ThreadEngine<void>
- size=36 align=4
- base size=4 base align=4
-QtConcurrent::ThreadEngine<void> (0xb614d080) 0 nearly-empty
- vptridx=0u vptr=((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 12u)
- QtConcurrent::ThreadEngineBase (0xb614d0c0) 4 virtual
- vptridx=4u vbaseoffset=-0x0000000000000000c vptr=((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 68u)
- QRunnable (0xb614d100) 4
- primary-for QtConcurrent::ThreadEngineBase (0xb614d0c0)
Class std::input_iterator_tag
size=1 align=1
@@ -1265,170 +807,38 @@ Class std::__false_type
base size=0 base align=1
std::__false_type (0xb614d600) 0 empty
-Class std::__truth_type<true>
- size=1 align=1
- base size=0 base align=1
-std::__truth_type<true> (0xb614d680) 0 empty
-Class std::__is_void<void>
- size=1 align=1
- base size=0 base align=1
-std::__is_void<void> (0xb614d7c0) 0 empty
-Class std::__is_integer<bool>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<bool> (0xb614d840) 0 empty
-Class std::__is_integer<char>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<char> (0xb614d880) 0 empty
-Class std::__is_integer<signed char>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<signed char> (0xb614d8c0) 0 empty
-Class std::__is_integer<unsigned char>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<unsigned char> (0xb614d900) 0 empty
-Class std::__is_integer<wchar_t>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<wchar_t> (0xb614d940) 0 empty
-Class std::__is_integer<short int>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<short int> (0xb614d980) 0 empty
-Class std::__is_integer<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<short unsigned int> (0xb614d9c0) 0 empty
-Class std::__is_integer<int>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<int> (0xb614da00) 0 empty
-Class std::__is_integer<unsigned int>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<unsigned int> (0xb614da40) 0 empty
-Class std::__is_integer<long int>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<long int> (0xb614da80) 0 empty
-Class std::__is_integer<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<long unsigned int> (0xb614dac0) 0 empty
-Class std::__is_integer<long long int>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<long long int> (0xb614db00) 0 empty
-Class std::__is_integer<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-std::__is_integer<long long unsigned int> (0xb614db40) 0 empty
-Class std::__is_floating<float>
- size=1 align=1
- base size=0 base align=1
-std::__is_floating<float> (0xb614dbc0) 0 empty
-Class std::__is_floating<double>
- size=1 align=1
- base size=0 base align=1
-std::__is_floating<double> (0xb614dc00) 0 empty
-Class std::__is_floating<long double>
- size=1 align=1
- base size=0 base align=1
-std::__is_floating<long double> (0xb614dc40) 0 empty
-Class std::__is_char<char>
- size=1 align=1
- base size=0 base align=1
-std::__is_char<char> (0xb617b000) 0 empty
-Class std::__is_char<wchar_t>
- size=1 align=1
- base size=0 base align=1
-std::__is_char<wchar_t> (0xb617b040) 0 empty
-Class __gnu_cxx::__add_unsigned<char>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__add_unsigned<char> (0xb617b200) 0 empty
-Class __gnu_cxx::__add_unsigned<signed char>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__add_unsigned<signed char> (0xb617b240) 0 empty
-Class __gnu_cxx::__add_unsigned<short int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__add_unsigned<short int> (0xb617b280) 0 empty
-Class __gnu_cxx::__add_unsigned<int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__add_unsigned<int> (0xb617b2c0) 0 empty
-Class __gnu_cxx::__add_unsigned<long int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__add_unsigned<long int> (0xb617b300) 0 empty
-Class __gnu_cxx::__add_unsigned<long long int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__add_unsigned<long long int> (0xb617b340) 0 empty
-Class __gnu_cxx::__remove_unsigned<char>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__remove_unsigned<char> (0xb617b3c0) 0 empty
-Class __gnu_cxx::__remove_unsigned<unsigned char>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__remove_unsigned<unsigned char> (0xb617b400) 0 empty
-Class __gnu_cxx::__remove_unsigned<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__remove_unsigned<short unsigned int> (0xb617b440) 0 empty
-Class __gnu_cxx::__remove_unsigned<unsigned int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__remove_unsigned<unsigned int> (0xb617b480) 0 empty
-Class __gnu_cxx::__remove_unsigned<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__remove_unsigned<long unsigned int> (0xb617b4c0) 0 empty
-Class __gnu_cxx::__remove_unsigned<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::__remove_unsigned<long long unsigned int> (0xb617b500) 0 empty
-Class std::iterator<std::output_iterator_tag, void, void, void, void>
- size=1 align=1
- base size=0 base align=1
-std::iterator<std::output_iterator_tag, void, void, void, void> (0xb617b600) 0 empty
Class lconv
size=56 align=4
@@ -1445,10 +855,6 @@ Class __sched_param
base size=4 base align=4
__sched_param (0xb617b880) 0
-Class <anonymous struct>
- size=128 align=4
- base size=128 base align=4
-<anonymous struct> (0xb617b8c0) 0
Class tm
size=44 align=4
@@ -1465,15 +871,7 @@ Class _pthread_cleanup_buffer
base size=16 base align=4
_pthread_cleanup_buffer (0xb617b9c0) 0
-Class <anonymous struct>::<anonymous struct>
- size=28 align=4
- base size=28 base align=4
-<anonymous struct>::<anonymous struct> (0xb617ba40) 0
-Class <anonymous struct>
- size=44 align=4
- base size=44 base align=4
-<anonymous struct> (0xb617ba00) 0
Class __pthread_cleanup_frame
size=16 align=4
@@ -1485,243 +883,55 @@ Class __pthread_cleanup_class
base size=16 base align=4
__pthread_cleanup_class (0xb617bac0) 0
-Class std::__iter_swap<true>
- size=1 align=1
- base size=0 base align=1
-std::__iter_swap<true> (0xb6004140) 0 empty
-Class std::__copy<true, std::random_access_iterator_tag>
- size=1 align=1
- base size=0 base align=1
-std::__copy<true, std::random_access_iterator_tag> (0xb6004200) 0 empty
-Class std::__copy_normal<true, false>
- size=1 align=1
- base size=0 base align=1
-std::__copy_normal<true, false> (0xb6004280) 0 empty
-Class std::__copy_normal<false, true>
- size=1 align=1
- base size=0 base align=1
-std::__copy_normal<false, true> (0xb60042c0) 0 empty
-Class std::__copy_normal<true, true>
- size=1 align=1
- base size=0 base align=1
-std::__copy_normal<true, true> (0xb6004300) 0 empty
-Class std::__copy_backward<true, std::random_access_iterator_tag>
- size=1 align=1
- base size=0 base align=1
-std::__copy_backward<true, std::random_access_iterator_tag> (0xb60043c0) 0 empty
-Class std::__copy_backward_normal<true, false>
- size=1 align=1
- base size=0 base align=1
-std::__copy_backward_normal<true, false> (0xb6004440) 0 empty
-Class std::__copy_backward_normal<false, true>
- size=1 align=1
- base size=0 base align=1
-std::__copy_backward_normal<false, true> (0xb6004480) 0 empty
-Class std::__copy_backward_normal<true, true>
- size=1 align=1
- base size=0 base align=1
-std::__copy_backward_normal<true, true> (0xb60044c0) 0 empty
-Class std::__fill<true>
- size=1 align=1
- base size=0 base align=1
-std::__fill<true> (0xb6004540) 0 empty
-Class std::__fill_n<true>
- size=1 align=1
- base size=0 base align=1
-std::__fill_n<true> (0xb60045c0) 0 empty
-Class std::char_traits<char>
- size=1 align=1
- base size=0 base align=1
-std::char_traits<char> (0xb6004780) 0 empty
-Class std::char_traits<wchar_t>
- size=1 align=1
- base size=0 base align=1
-std::char_traits<wchar_t> (0xb5ebfc00) 0 empty
-Class std::allocator<void>
- size=1 align=1
- base size=0 base align=1
-std::allocator<void> (0xb5ec7fc0) 0 empty
-Class __gnu_cxx::new_allocator<char>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::new_allocator<char> (0xb5eec100) 0 empty
-Class std::allocator<char>
- size=1 align=1
- base size=1 base align=1
-std::allocator<char> (0xb5eec140) 0 empty
- __gnu_cxx::new_allocator<char> (0xb5eec180) 0 empty
-Class __gnu_cxx::new_allocator<wchar_t>
- size=1 align=1
- base size=0 base align=1
-__gnu_cxx::new_allocator<wchar_t> (0xb5eec1c0) 0 empty
-Class std::allocator<wchar_t>
- size=1 align=1
- base size=1 base align=1
-std::allocator<wchar_t> (0xb5eec200) 0 empty
- __gnu_cxx::new_allocator<wchar_t> (0xb5eec240) 0 empty
Class std::__numeric_limits_base
size=1 align=1
base size=0 base align=1
std::__numeric_limits_base (0xb5eec380) 0 empty
-Class std::numeric_limits<bool>
- size=1 align=1
- base size=0 base align=1
-std::numeric_limits<bool> (0xb5eec440) 0 empty
-Class std::numeric_limits<char>
- size=1 align=1
- base size=0 base align=1
-std::numeric_limits<char> (0xb5eec480) 0 empty
-Class std::numeric_limits<signed char>
- size=1 align=1
- base size=0 base align=1
-std::numeric_limits<signed char> (0xb5eec4c0) 0 empty
-Class std::numeric_limits<unsigned char>
- size=1 align=1
- base size=0 base align=1
-std::numeric_limits<unsigned char> (0xb5eec500) 0 empty
-Class std::numeric_limits<wchar_t>
- size=1 align=1
- base size=0 base align=1
-std::numeric_limits<wchar_t> (0xb5eec540) 0 empty
-Class std::numeric_limits<short int>
- size=1 align=1
- base size=0 base align=1
-std::numeric_limits<short int> (0xb5eec580) 0 empty
-Class std::numeric_limits<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-std::numeric_limits<short unsigned int> (0xb5eec5c0) 0 empty
-Class std::numeric_limits<int>
- size=1 align=1
- base size=0 base align=1
-std::numeric_limits<int> (0xb5eec600) 0 empty
-Class std::numeric_limits<unsigned int>
- size=1 align=1
- base size=0 base align=1
-std::numeric_limits<unsigned int> (0xb5eec640) 0 empty
-Class std::numeric_limits<long int>
- size=1 align=1
- base size=0 base align=1
-std::numeric_limits<long int> (0xb5eec680) 0 empty
-Class std::numeric_limits<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-std::numeric_limits<long unsigned int> (0xb5eec6c0) 0 empty
-Class std::numeric_limits<long long int>
- size=1 align=1
- base size=0 base align=1
-std::numeric_limits<long long int> (0xb5eec700) 0 empty
-Class std::numeric_limits<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-std::numeric_limits<long long unsigned int> (0xb5eec740) 0 empty
-Class std::numeric_limits<float>
- size=1 align=1
- base size=0 base align=1
-std::numeric_limits<float> (0xb5eec780) 0 empty
-Class std::numeric_limits<double>
- size=1 align=1
- base size=0 base align=1
-std::numeric_limits<double> (0xb5eec9c0) 0 empty
-Class std::numeric_limits<long double>
- size=1 align=1
- base size=0 base align=1
-std::numeric_limits<long double> (0xb5eecc00) 0 empty
-Class std::allocator<char>::rebind<char>
- size=1 align=1
- base size=0 base align=1
-std::allocator<char>::rebind<char> (0xb5dc4800) 0 empty
-Class std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Alloc_hider
- size=4 align=4
- base size=4 base align=4
-std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Alloc_hider (0xb5dc4880) 0
- std::allocator<char> (0xb5dc48c0) 0 empty
- __gnu_cxx::new_allocator<char> (0xb5dc4900) 0 empty
-Class std::basic_string<char, std::char_traits<char>, std::allocator<char> >
- size=4 align=4
- base size=4 base align=4
-std::basic_string<char, std::char_traits<char>, std::allocator<char> > (0xb5dc4780) 0
-Class std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep_base
- size=12 align=4
- base size=12 base align=4
-std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep_base (0xb5dc4940) 0
-Class std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep
- size=12 align=4
- base size=12 base align=4
-std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep (0xb5dc4980) 0
- std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep_base (0xb5dc49c0) 0
-Class std::allocator<wchar_t>::rebind<wchar_t>
- size=1 align=1
- base size=0 base align=1
-std::allocator<wchar_t>::rebind<wchar_t> (0xb5dc4a80) 0 empty
-Class std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Alloc_hider
- size=4 align=4
- base size=4 base align=4
-std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Alloc_hider (0xb5dc4b00) 0
- std::allocator<wchar_t> (0xb5dc4b40) 0 empty
- __gnu_cxx::new_allocator<wchar_t> (0xb5dc4b80) 0 empty
-Class std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >
- size=4 align=4
- base size=4 base align=4
-std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > (0xb5dc4a00) 0
-Class std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Rep_base
- size=12 align=4
- base size=12 base align=4
-std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Rep_base (0xb5dc4bc0) 0
-Class std::allocator<wchar_t>::rebind<char>
- size=1 align=1
- base size=0 base align=1
-std::allocator<wchar_t>::rebind<char> (0xb5dc4cc0) 0 empty
-Class std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Rep
- size=12 align=4
- base size=12 base align=4
-std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Rep (0xb5dc4c00) 0
- std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Rep_base (0xb5dc4c40) 0
Class std::locale
size=4 align=4
@@ -1795,447 +1005,63 @@ Class std::ios_base
std::ios_base (0xb5be5040) 0
vptr=((& std::ios_base::_ZTVSt8ios_base) + 8u)
-Vtable for std::basic_streambuf<char, std::char_traits<char> >
-std::basic_streambuf<char, std::char_traits<char> >::_ZTVSt15basic_streambufIcSt11char_traitsIcEE: 16u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt15basic_streambufIcSt11char_traitsIcEE)
-8 std::basic_streambuf<_CharT, _Traits>::~basic_streambuf [with _CharT = char, _Traits = std::char_traits<char>]
-12 std::basic_streambuf<_CharT, _Traits>::~basic_streambuf [with _CharT = char, _Traits = std::char_traits<char>]
-16 std::basic_streambuf<_CharT, _Traits>::imbue [with _CharT = char, _Traits = std::char_traits<char>]
-20 std::basic_streambuf<_CharT, _Traits>::setbuf [with _CharT = char, _Traits = std::char_traits<char>]
-24 std::basic_streambuf<_CharT, _Traits>::seekoff [with _CharT = char, _Traits = std::char_traits<char>]
-28 std::basic_streambuf<_CharT, _Traits>::seekpos [with _CharT = char, _Traits = std::char_traits<char>]
-32 std::basic_streambuf<_CharT, _Traits>::sync [with _CharT = char, _Traits = std::char_traits<char>]
-36 std::basic_streambuf<_CharT, _Traits>::showmanyc [with _CharT = char, _Traits = std::char_traits<char>]
-40 std::basic_streambuf<_CharT, _Traits>::xsgetn [with _CharT = char, _Traits = std::char_traits<char>]
-44 std::basic_streambuf<_CharT, _Traits>::underflow [with _CharT = char, _Traits = std::char_traits<char>]
-48 std::basic_streambuf<_CharT, _Traits>::uflow [with _CharT = char, _Traits = std::char_traits<char>]
-52 std::basic_streambuf<_CharT, _Traits>::pbackfail [with _CharT = char, _Traits = std::char_traits<char>]
-56 std::basic_streambuf<_CharT, _Traits>::xsputn [with _CharT = char, _Traits = std::char_traits<char>]
-60 std::basic_streambuf<_CharT, _Traits>::overflow [with _CharT = char, _Traits = std::char_traits<char>]
-
-Class std::basic_streambuf<char, std::char_traits<char> >
- size=32 align=4
- base size=32 base align=4
-std::basic_streambuf<char, std::char_traits<char> > (0xb5c18ac0) 0
- vptr=((& std::basic_streambuf<char, std::char_traits<char> >::_ZTVSt15basic_streambufIcSt11char_traitsIcEE) + 8u)
-Vtable for std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >
-std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >::_ZTVSt15basic_streambufIwSt11char_traitsIwEE: 16u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt15basic_streambufIwSt11char_traitsIwEE)
-8 std::basic_streambuf<_CharT, _Traits>::~basic_streambuf [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-12 std::basic_streambuf<_CharT, _Traits>::~basic_streambuf [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-16 std::basic_streambuf<_CharT, _Traits>::imbue [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-20 std::basic_streambuf<_CharT, _Traits>::setbuf [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-24 std::basic_streambuf<_CharT, _Traits>::seekoff [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-28 std::basic_streambuf<_CharT, _Traits>::seekpos [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-32 std::basic_streambuf<_CharT, _Traits>::sync [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-36 std::basic_streambuf<_CharT, _Traits>::showmanyc [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-40 std::basic_streambuf<_CharT, _Traits>::xsgetn [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-44 std::basic_streambuf<_CharT, _Traits>::underflow [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-48 std::basic_streambuf<_CharT, _Traits>::uflow [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-52 std::basic_streambuf<_CharT, _Traits>::pbackfail [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-56 std::basic_streambuf<_CharT, _Traits>::xsputn [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-60 std::basic_streambuf<_CharT, _Traits>::overflow [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-
-Class std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >
- size=32 align=4
- base size=32 base align=4
-std::basic_streambuf<wchar_t, std::char_traits<wchar_t> > (0xb5c18cc0) 0
- vptr=((& std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >::_ZTVSt15basic_streambufIwSt11char_traitsIwEE) + 8u)
+
+
Class std::ctype_base
size=1 align=1
base size=0 base align=1
std::ctype_base (0xb5c18fc0) 0 empty
-Vtable for std::ctype<char>
-std::ctype<char>::_ZTVSt5ctypeIcE: 12u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt5ctypeIcE)
-8 std::ctype<char>::~ctype
-12 std::ctype<char>::~ctype
-16 std::ctype<char>::do_toupper
-20 std::ctype<char>::do_toupper
-24 std::ctype<char>::do_tolower
-28 std::ctype<char>::do_tolower
-32 std::ctype<char>::do_widen
-36 std::ctype<char>::do_widen
-40 std::ctype<char>::do_narrow
-44 std::ctype<char>::do_narrow
-
-Class std::ctype<char>
- size=544 align=4
- base size=542 base align=4
-std::ctype<char> (0xb5a875c0) 0
- vptr=((& std::ctype<char>::_ZTVSt5ctypeIcE) + 8u)
- std::locale::facet (0xb5a87600) 0
- primary-for std::ctype<char> (0xb5a875c0)
- std::ctype_base (0xb5a87640) 0 empty
-
-Vtable for std::__ctype_abstract_base<wchar_t>
-std::__ctype_abstract_base<wchar_t>::_ZTVSt21__ctype_abstract_baseIwE: 16u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt21__ctype_abstract_baseIwE)
-8 std::__ctype_abstract_base<_CharT>::~__ctype_abstract_base [with _CharT = wchar_t]
-12 std::__ctype_abstract_base<_CharT>::~__ctype_abstract_base [with _CharT = wchar_t]
-16 __cxa_pure_virtual
-20 __cxa_pure_virtual
-24 __cxa_pure_virtual
-28 __cxa_pure_virtual
-32 __cxa_pure_virtual
-36 __cxa_pure_virtual
-40 __cxa_pure_virtual
-44 __cxa_pure_virtual
-48 __cxa_pure_virtual
-52 __cxa_pure_virtual
-56 __cxa_pure_virtual
-60 __cxa_pure_virtual
-Class std::__ctype_abstract_base<wchar_t>
- size=8 align=4
- base size=8 base align=4
-std::__ctype_abstract_base<wchar_t> (0xb5ab3800) 0
- vptr=((& std::__ctype_abstract_base<wchar_t>::_ZTVSt21__ctype_abstract_baseIwE) + 8u)
- std::locale::facet (0xb5ab3840) 0
- primary-for std::__ctype_abstract_base<wchar_t> (0xb5ab3800)
- std::ctype_base (0xb5ab3880) 0 empty
-
-Vtable for std::ctype<wchar_t>
-std::ctype<wchar_t>::_ZTVSt5ctypeIwE: 16u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt5ctypeIwE)
-8 std::ctype<wchar_t>::~ctype
-12 std::ctype<wchar_t>::~ctype
-16 std::ctype<wchar_t>::do_is
-20 std::ctype<wchar_t>::do_is
-24 std::ctype<wchar_t>::do_scan_is
-28 std::ctype<wchar_t>::do_scan_not
-32 std::ctype<wchar_t>::do_toupper
-36 std::ctype<wchar_t>::do_toupper
-40 std::ctype<wchar_t>::do_tolower
-44 std::ctype<wchar_t>::do_tolower
-48 std::ctype<wchar_t>::do_widen
-52 std::ctype<wchar_t>::do_widen
-56 std::ctype<wchar_t>::do_narrow
-60 std::ctype<wchar_t>::do_narrow
-
-Class std::ctype<wchar_t>
- size=1264 align=4
- base size=1264 base align=4
-std::ctype<wchar_t> (0xb5ab3900) 0
- vptr=((& std::ctype<wchar_t>::_ZTVSt5ctypeIwE) + 8u)
- std::__ctype_abstract_base<wchar_t> (0xb5ab3940) 0
- primary-for std::ctype<wchar_t> (0xb5ab3900)
- std::locale::facet (0xb5ab3980) 0
- primary-for std::__ctype_abstract_base<wchar_t> (0xb5ab3940)
- std::ctype_base (0xb5ab39c0) 0 empty
-
-Vtable for std::ctype_byname<char>
-std::ctype_byname<char>::_ZTVSt12ctype_bynameIcE: 12u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt12ctype_bynameIcE)
-8 std::ctype_byname<_CharT>::~ctype_byname [with _CharT = char]
-12 std::ctype_byname<_CharT>::~ctype_byname [with _CharT = char]
-16 std::ctype<char>::do_toupper
-20 std::ctype<char>::do_toupper
-24 std::ctype<char>::do_tolower
-28 std::ctype<char>::do_tolower
-32 std::ctype<char>::do_widen
-36 std::ctype<char>::do_widen
-40 std::ctype<char>::do_narrow
-44 std::ctype<char>::do_narrow
-
-Class std::ctype_byname<char>
- size=544 align=4
- base size=542 base align=4
-std::ctype_byname<char> (0xb5ac2d80) 0
- vptr=((& std::ctype_byname<char>::_ZTVSt12ctype_bynameIcE) + 8u)
- std::ctype<char> (0xb5ac2dc0) 0
- primary-for std::ctype_byname<char> (0xb5ac2d80)
- std::locale::facet (0xb5ac2e00) 0
- primary-for std::ctype<char> (0xb5ac2dc0)
- std::ctype_base (0xb5ac2e40) 0 empty
-
-Vtable for std::ctype_byname<wchar_t>
-std::ctype_byname<wchar_t>::_ZTVSt12ctype_bynameIwE: 16u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt12ctype_bynameIwE)
-8 std::ctype_byname<_CharT>::~ctype_byname [with _CharT = wchar_t]
-12 std::ctype_byname<_CharT>::~ctype_byname [with _CharT = wchar_t]
-16 std::ctype<wchar_t>::do_is
-20 std::ctype<wchar_t>::do_is
-24 std::ctype<wchar_t>::do_scan_is
-28 std::ctype<wchar_t>::do_scan_not
-32 std::ctype<wchar_t>::do_toupper
-36 std::ctype<wchar_t>::do_toupper
-40 std::ctype<wchar_t>::do_tolower
-44 std::ctype<wchar_t>::do_tolower
-48 std::ctype<wchar_t>::do_widen
-52 std::ctype<wchar_t>::do_widen
-56 std::ctype<wchar_t>::do_narrow
-60 std::ctype<wchar_t>::do_narrow
-
-Class std::ctype_byname<wchar_t>
- size=1264 align=4
- base size=1264 base align=4
-std::ctype_byname<wchar_t> (0xb5ac2f00) 0
- vptr=((& std::ctype_byname<wchar_t>::_ZTVSt12ctype_bynameIwE) + 8u)
- std::ctype<wchar_t> (0xb5ac2f40) 0
- primary-for std::ctype_byname<wchar_t> (0xb5ac2f00)
- std::__ctype_abstract_base<wchar_t> (0xb5ac2f80) 0
- primary-for std::ctype<wchar_t> (0xb5ac2f40)
- std::locale::facet (0xb5ac2fc0) 0
- primary-for std::__ctype_abstract_base<wchar_t> (0xb5ac2f80)
- std::ctype_base (0xb5ac2cc0) 0 empty
+
+
+
+
+
+
+
+
Class std::codecvt_base
size=1 align=1
base size=0 base align=1
std::codecvt_base (0xb5acf700) 0 empty
-Vtable for std::__codecvt_abstract_base<char, char, __mbstate_t>
-std::__codecvt_abstract_base<char, char, __mbstate_t>::_ZTVSt23__codecvt_abstract_baseIcc11__mbstate_tE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt23__codecvt_abstract_baseIcc11__mbstate_tE)
-8 std::__codecvt_abstract_base<_InternT, _ExternT, _StateT>::~__codecvt_abstract_base [with _InternT = char, _ExternT = char, _StateT = __mbstate_t]
-12 std::__codecvt_abstract_base<_InternT, _ExternT, _StateT>::~__codecvt_abstract_base [with _InternT = char, _ExternT = char, _StateT = __mbstate_t]
-16 __cxa_pure_virtual
-20 __cxa_pure_virtual
-24 __cxa_pure_virtual
-28 __cxa_pure_virtual
-32 __cxa_pure_virtual
-36 __cxa_pure_virtual
-40 __cxa_pure_virtual
-Class std::__codecvt_abstract_base<char, char, __mbstate_t>
- size=8 align=4
- base size=8 base align=4
-std::__codecvt_abstract_base<char, char, __mbstate_t> (0xb5acf880) 0
- vptr=((& std::__codecvt_abstract_base<char, char, __mbstate_t>::_ZTVSt23__codecvt_abstract_baseIcc11__mbstate_tE) + 8u)
- std::locale::facet (0xb5acf8c0) 0
- primary-for std::__codecvt_abstract_base<char, char, __mbstate_t> (0xb5acf880)
- std::codecvt_base (0xb5acf900) 0 empty
-
-Vtable for std::codecvt<char, char, __mbstate_t>
-std::codecvt<char, char, __mbstate_t>::_ZTVSt7codecvtIcc11__mbstate_tE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt7codecvtIcc11__mbstate_tE)
-8 std::codecvt<char, char, __mbstate_t>::~codecvt
-12 std::codecvt<char, char, __mbstate_t>::~codecvt
-16 std::codecvt<char, char, __mbstate_t>::do_out
-20 std::codecvt<char, char, __mbstate_t>::do_unshift
-24 std::codecvt<char, char, __mbstate_t>::do_in
-28 std::codecvt<char, char, __mbstate_t>::do_encoding
-32 std::codecvt<char, char, __mbstate_t>::do_always_noconv
-36 std::codecvt<char, char, __mbstate_t>::do_length
-40 std::codecvt<char, char, __mbstate_t>::do_max_length
-
-Class std::codecvt<char, char, __mbstate_t>
- size=12 align=4
- base size=12 base align=4
-std::codecvt<char, char, __mbstate_t> (0xb5acf980) 0
- vptr=((& std::codecvt<char, char, __mbstate_t>::_ZTVSt7codecvtIcc11__mbstate_tE) + 8u)
- std::__codecvt_abstract_base<char, char, __mbstate_t> (0xb5acf9c0) 0
- primary-for std::codecvt<char, char, __mbstate_t> (0xb5acf980)
- std::locale::facet (0xb5acfa00) 0
- primary-for std::__codecvt_abstract_base<char, char, __mbstate_t> (0xb5acf9c0)
- std::codecvt_base (0xb5acfa40) 0 empty
-
-Vtable for std::__codecvt_abstract_base<wchar_t, char, __mbstate_t>
-std::__codecvt_abstract_base<wchar_t, char, __mbstate_t>::_ZTVSt23__codecvt_abstract_baseIwc11__mbstate_tE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt23__codecvt_abstract_baseIwc11__mbstate_tE)
-8 std::__codecvt_abstract_base<_InternT, _ExternT, _StateT>::~__codecvt_abstract_base [with _InternT = wchar_t, _ExternT = char, _StateT = __mbstate_t]
-12 std::__codecvt_abstract_base<_InternT, _ExternT, _StateT>::~__codecvt_abstract_base [with _InternT = wchar_t, _ExternT = char, _StateT = __mbstate_t]
-16 __cxa_pure_virtual
-20 __cxa_pure_virtual
-24 __cxa_pure_virtual
-28 __cxa_pure_virtual
-32 __cxa_pure_virtual
-36 __cxa_pure_virtual
-40 __cxa_pure_virtual
-Class std::__codecvt_abstract_base<wchar_t, char, __mbstate_t>
- size=8 align=4
- base size=8 base align=4
-std::__codecvt_abstract_base<wchar_t, char, __mbstate_t> (0xb5ae9580) 0
- vptr=((& std::__codecvt_abstract_base<wchar_t, char, __mbstate_t>::_ZTVSt23__codecvt_abstract_baseIwc11__mbstate_tE) + 8u)
- std::locale::facet (0xb5ae95c0) 0
- primary-for std::__codecvt_abstract_base<wchar_t, char, __mbstate_t> (0xb5ae9580)
- std::codecvt_base (0xb5ae9600) 0 empty
-
-Vtable for std::codecvt<wchar_t, char, __mbstate_t>
-std::codecvt<wchar_t, char, __mbstate_t>::_ZTVSt7codecvtIwc11__mbstate_tE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt7codecvtIwc11__mbstate_tE)
-8 std::codecvt<wchar_t, char, __mbstate_t>::~codecvt
-12 std::codecvt<wchar_t, char, __mbstate_t>::~codecvt
-16 std::codecvt<wchar_t, char, __mbstate_t>::do_out
-20 std::codecvt<wchar_t, char, __mbstate_t>::do_unshift
-24 std::codecvt<wchar_t, char, __mbstate_t>::do_in
-28 std::codecvt<wchar_t, char, __mbstate_t>::do_encoding
-32 std::codecvt<wchar_t, char, __mbstate_t>::do_always_noconv
-36 std::codecvt<wchar_t, char, __mbstate_t>::do_length
-40 std::codecvt<wchar_t, char, __mbstate_t>::do_max_length
-
-Class std::codecvt<wchar_t, char, __mbstate_t>
- size=12 align=4
- base size=12 base align=4
-std::codecvt<wchar_t, char, __mbstate_t> (0xb5ae9680) 0
- vptr=((& std::codecvt<wchar_t, char, __mbstate_t>::_ZTVSt7codecvtIwc11__mbstate_tE) + 8u)
- std::__codecvt_abstract_base<wchar_t, char, __mbstate_t> (0xb5ae96c0) 0
- primary-for std::codecvt<wchar_t, char, __mbstate_t> (0xb5ae9680)
- std::locale::facet (0xb5ae9700) 0
- primary-for std::__codecvt_abstract_base<wchar_t, char, __mbstate_t> (0xb5ae96c0)
- std::codecvt_base (0xb5ae9740) 0 empty
+
+
+
+
+
Class std::__num_base
size=1 align=1
base size=0 base align=1
std::__num_base (0xb5af42c0) 0 empty
-Vtable for std::numpunct<char>
-std::numpunct<char>::_ZTVSt8numpunctIcE: 9u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt8numpunctIcE)
-8 std::numpunct<_CharT>::~numpunct [with _CharT = char]
-12 std::numpunct<_CharT>::~numpunct [with _CharT = char]
-16 std::numpunct<_CharT>::do_decimal_point [with _CharT = char]
-20 std::numpunct<_CharT>::do_thousands_sep [with _CharT = char]
-24 std::numpunct<_CharT>::do_grouping [with _CharT = char]
-28 std::numpunct<_CharT>::do_truename [with _CharT = char]
-32 std::numpunct<_CharT>::do_falsename [with _CharT = char]
-
-Class std::numpunct<char>
- size=12 align=4
- base size=12 base align=4
-std::numpunct<char> (0xb5af4800) 0
- vptr=((& std::numpunct<char>::_ZTVSt8numpunctIcE) + 8u)
- std::locale::facet (0xb5af4840) 0
- primary-for std::numpunct<char> (0xb5af4800)
-Vtable for std::numpunct<wchar_t>
-std::numpunct<wchar_t>::_ZTVSt8numpunctIwE: 9u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt8numpunctIwE)
-8 std::numpunct<_CharT>::~numpunct [with _CharT = wchar_t]
-12 std::numpunct<_CharT>::~numpunct [with _CharT = wchar_t]
-16 std::numpunct<_CharT>::do_decimal_point [with _CharT = wchar_t]
-20 std::numpunct<_CharT>::do_thousands_sep [with _CharT = wchar_t]
-24 std::numpunct<_CharT>::do_grouping [with _CharT = wchar_t]
-28 std::numpunct<_CharT>::do_truename [with _CharT = wchar_t]
-32 std::numpunct<_CharT>::do_falsename [with _CharT = wchar_t]
-
-Class std::numpunct<wchar_t>
- size=12 align=4
- base size=12 base align=4
-std::numpunct<wchar_t> (0xb5af48c0) 0
- vptr=((& std::numpunct<wchar_t>::_ZTVSt8numpunctIwE) + 8u)
- std::locale::facet (0xb5af4900) 0
- primary-for std::numpunct<wchar_t> (0xb5af48c0)
-Vtable for std::collate<char>
-std::collate<char>::_ZTVSt7collateIcE: 7u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt7collateIcE)
-8 std::collate<_CharT>::~collate [with _CharT = char]
-12 std::collate<_CharT>::~collate [with _CharT = char]
-16 std::collate<_CharT>::do_compare [with _CharT = char]
-20 std::collate<_CharT>::do_transform [with _CharT = char]
-24 std::collate<_CharT>::do_hash [with _CharT = char]
-
-Class std::collate<char>
- size=12 align=4
- base size=12 base align=4
-std::collate<char> (0xb5af4b80) 0
- vptr=((& std::collate<char>::_ZTVSt7collateIcE) + 8u)
- std::locale::facet (0xb5af4bc0) 0
- primary-for std::collate<char> (0xb5af4b80)
-Vtable for std::collate<wchar_t>
-std::collate<wchar_t>::_ZTVSt7collateIwE: 7u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt7collateIwE)
-8 std::collate<_CharT>::~collate [with _CharT = wchar_t]
-12 std::collate<_CharT>::~collate [with _CharT = wchar_t]
-16 std::collate<_CharT>::do_compare [with _CharT = wchar_t]
-20 std::collate<_CharT>::do_transform [with _CharT = wchar_t]
-24 std::collate<_CharT>::do_hash [with _CharT = wchar_t]
-
-Class std::collate<wchar_t>
- size=12 align=4
- base size=12 base align=4
-std::collate<wchar_t> (0xb5af4c80) 0
- vptr=((& std::collate<wchar_t>::_ZTVSt7collateIwE) + 8u)
- std::locale::facet (0xb5af4cc0) 0
- primary-for std::collate<wchar_t> (0xb5af4c80)
+
+
+
+
Class std::time_base
size=1 align=1
base size=0 base align=1
std::time_base (0xb5af4e00) 0 empty
-Vtable for std::__timepunct_cache<char>
-std::__timepunct_cache<char>::_ZTVSt17__timepunct_cacheIcE: 4u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt17__timepunct_cacheIcE)
-8 std::__timepunct_cache<_CharT>::~__timepunct_cache [with _CharT = char]
-12 std::__timepunct_cache<_CharT>::~__timepunct_cache [with _CharT = char]
-
-Class std::__timepunct_cache<char>
- size=200 align=4
- base size=197 base align=4
-std::__timepunct_cache<char> (0xb5af4ec0) 0
- vptr=((& std::__timepunct_cache<char>::_ZTVSt17__timepunct_cacheIcE) + 8u)
- std::locale::facet (0xb5af4f00) 0
- primary-for std::__timepunct_cache<char> (0xb5af4ec0)
-
-Vtable for std::__timepunct_cache<wchar_t>
-std::__timepunct_cache<wchar_t>::_ZTVSt17__timepunct_cacheIwE: 4u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt17__timepunct_cacheIwE)
-8 std::__timepunct_cache<_CharT>::~__timepunct_cache [with _CharT = wchar_t]
-12 std::__timepunct_cache<_CharT>::~__timepunct_cache [with _CharT = wchar_t]
-
-Class std::__timepunct_cache<wchar_t>
- size=200 align=4
- base size=197 base align=4
-std::__timepunct_cache<wchar_t> (0xb5af4f80) 0
- vptr=((& std::__timepunct_cache<wchar_t>::_ZTVSt17__timepunct_cacheIwE) + 8u)
- std::locale::facet (0xb5af4fc0) 0
- primary-for std::__timepunct_cache<wchar_t> (0xb5af4f80)
-
-Vtable for std::__timepunct<char>
-std::__timepunct<char>::_ZTVSt11__timepunctIcE: 4u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt11__timepunctIcE)
-8 std::__timepunct<_CharT>::~__timepunct [with _CharT = char]
-12 std::__timepunct<_CharT>::~__timepunct [with _CharT = char]
-Class std::__timepunct<char>
- size=20 align=4
- base size=20 base align=4
-std::__timepunct<char> (0xb5af4940) 0
- vptr=((& std::__timepunct<char>::_ZTVSt11__timepunctIcE) + 8u)
- std::locale::facet (0xb5af4c00) 0
- primary-for std::__timepunct<char> (0xb5af4940)
-Vtable for std::__timepunct<wchar_t>
-std::__timepunct<wchar_t>::_ZTVSt11__timepunctIwE: 4u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt11__timepunctIwE)
-8 std::__timepunct<_CharT>::~__timepunct [with _CharT = wchar_t]
-12 std::__timepunct<_CharT>::~__timepunct [with _CharT = wchar_t]
-Class std::__timepunct<wchar_t>
- size=20 align=4
- base size=20 base align=4
-std::__timepunct<wchar_t> (0xb5af4d00) 0
- vptr=((& std::__timepunct<wchar_t>::_ZTVSt11__timepunctIwE) + 8u)
- std::locale::facet (0xb5af4f40) 0
- primary-for std::__timepunct<wchar_t> (0xb5af4d00)
+
+
+
+
Class std::money_base::pattern
size=4 align=1
@@ -2247,178 +1073,26 @@ Class std::money_base
base size=0 base align=1
std::money_base (0xb5b67280) 0 empty
-Vtable for std::moneypunct<char, true>
-std::moneypunct<char, true>::_ZTVSt10moneypunctIcLb1EE: 13u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt10moneypunctIcLb1EE)
-8 std::moneypunct<_CharT, _Intl>::~moneypunct [with _CharT = char, bool _Intl = true]
-12 std::moneypunct<_CharT, _Intl>::~moneypunct [with _CharT = char, bool _Intl = true]
-16 std::moneypunct<_CharT, _Intl>::do_decimal_point [with _CharT = char, bool _Intl = true]
-20 std::moneypunct<_CharT, _Intl>::do_thousands_sep [with _CharT = char, bool _Intl = true]
-24 std::moneypunct<_CharT, _Intl>::do_grouping [with _CharT = char, bool _Intl = true]
-28 std::moneypunct<_CharT, _Intl>::do_curr_symbol [with _CharT = char, bool _Intl = true]
-32 std::moneypunct<_CharT, _Intl>::do_positive_sign [with _CharT = char, bool _Intl = true]
-36 std::moneypunct<_CharT, _Intl>::do_negative_sign [with _CharT = char, bool _Intl = true]
-40 std::moneypunct<_CharT, _Intl>::do_frac_digits [with _CharT = char, bool _Intl = true]
-44 std::moneypunct<_CharT, _Intl>::do_pos_format [with _CharT = char, bool _Intl = true]
-48 std::moneypunct<_CharT, _Intl>::do_neg_format [with _CharT = char, bool _Intl = true]
-
-Class std::moneypunct<char, true>
- size=12 align=4
- base size=12 base align=4
-std::moneypunct<char, true> (0xb5b675c0) 0
- vptr=((& std::moneypunct<char, true>::_ZTVSt10moneypunctIcLb1EE) + 8u)
- std::locale::facet (0xb5b67600) 0
- primary-for std::moneypunct<char, true> (0xb5b675c0)
- std::money_base (0xb5b67640) 0 empty
-
-Vtable for std::moneypunct<char, false>
-std::moneypunct<char, false>::_ZTVSt10moneypunctIcLb0EE: 13u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt10moneypunctIcLb0EE)
-8 std::moneypunct<_CharT, _Intl>::~moneypunct [with _CharT = char, bool _Intl = false]
-12 std::moneypunct<_CharT, _Intl>::~moneypunct [with _CharT = char, bool _Intl = false]
-16 std::moneypunct<_CharT, _Intl>::do_decimal_point [with _CharT = char, bool _Intl = false]
-20 std::moneypunct<_CharT, _Intl>::do_thousands_sep [with _CharT = char, bool _Intl = false]
-24 std::moneypunct<_CharT, _Intl>::do_grouping [with _CharT = char, bool _Intl = false]
-28 std::moneypunct<_CharT, _Intl>::do_curr_symbol [with _CharT = char, bool _Intl = false]
-32 std::moneypunct<_CharT, _Intl>::do_positive_sign [with _CharT = char, bool _Intl = false]
-36 std::moneypunct<_CharT, _Intl>::do_negative_sign [with _CharT = char, bool _Intl = false]
-40 std::moneypunct<_CharT, _Intl>::do_frac_digits [with _CharT = char, bool _Intl = false]
-44 std::moneypunct<_CharT, _Intl>::do_pos_format [with _CharT = char, bool _Intl = false]
-48 std::moneypunct<_CharT, _Intl>::do_neg_format [with _CharT = char, bool _Intl = false]
-
-Class std::moneypunct<char, false>
- size=12 align=4
- base size=12 base align=4
-std::moneypunct<char, false> (0xb5b676c0) 0
- vptr=((& std::moneypunct<char, false>::_ZTVSt10moneypunctIcLb0EE) + 8u)
- std::locale::facet (0xb5b67700) 0
- primary-for std::moneypunct<char, false> (0xb5b676c0)
- std::money_base (0xb5b67740) 0 empty
-
-Vtable for std::moneypunct<wchar_t, true>
-std::moneypunct<wchar_t, true>::_ZTVSt10moneypunctIwLb1EE: 13u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt10moneypunctIwLb1EE)
-8 std::moneypunct<_CharT, _Intl>::~moneypunct [with _CharT = wchar_t, bool _Intl = true]
-12 std::moneypunct<_CharT, _Intl>::~moneypunct [with _CharT = wchar_t, bool _Intl = true]
-16 std::moneypunct<_CharT, _Intl>::do_decimal_point [with _CharT = wchar_t, bool _Intl = true]
-20 std::moneypunct<_CharT, _Intl>::do_thousands_sep [with _CharT = wchar_t, bool _Intl = true]
-24 std::moneypunct<_CharT, _Intl>::do_grouping [with _CharT = wchar_t, bool _Intl = true]
-28 std::moneypunct<_CharT, _Intl>::do_curr_symbol [with _CharT = wchar_t, bool _Intl = true]
-32 std::moneypunct<_CharT, _Intl>::do_positive_sign [with _CharT = wchar_t, bool _Intl = true]
-36 std::moneypunct<_CharT, _Intl>::do_negative_sign [with _CharT = wchar_t, bool _Intl = true]
-40 std::moneypunct<_CharT, _Intl>::do_frac_digits [with _CharT = wchar_t, bool _Intl = true]
-44 std::moneypunct<_CharT, _Intl>::do_pos_format [with _CharT = wchar_t, bool _Intl = true]
-48 std::moneypunct<_CharT, _Intl>::do_neg_format [with _CharT = wchar_t, bool _Intl = true]
-
-Class std::moneypunct<wchar_t, true>
- size=12 align=4
- base size=12 base align=4
-std::moneypunct<wchar_t, true> (0xb5b677c0) 0
- vptr=((& std::moneypunct<wchar_t, true>::_ZTVSt10moneypunctIwLb1EE) + 8u)
- std::locale::facet (0xb5b67800) 0
- primary-for std::moneypunct<wchar_t, true> (0xb5b677c0)
- std::money_base (0xb5b67840) 0 empty
-
-Vtable for std::moneypunct<wchar_t, false>
-std::moneypunct<wchar_t, false>::_ZTVSt10moneypunctIwLb0EE: 13u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt10moneypunctIwLb0EE)
-8 std::moneypunct<_CharT, _Intl>::~moneypunct [with _CharT = wchar_t, bool _Intl = false]
-12 std::moneypunct<_CharT, _Intl>::~moneypunct [with _CharT = wchar_t, bool _Intl = false]
-16 std::moneypunct<_CharT, _Intl>::do_decimal_point [with _CharT = wchar_t, bool _Intl = false]
-20 std::moneypunct<_CharT, _Intl>::do_thousands_sep [with _CharT = wchar_t, bool _Intl = false]
-24 std::moneypunct<_CharT, _Intl>::do_grouping [with _CharT = wchar_t, bool _Intl = false]
-28 std::moneypunct<_CharT, _Intl>::do_curr_symbol [with _CharT = wchar_t, bool _Intl = false]
-32 std::moneypunct<_CharT, _Intl>::do_positive_sign [with _CharT = wchar_t, bool _Intl = false]
-36 std::moneypunct<_CharT, _Intl>::do_negative_sign [with _CharT = wchar_t, bool _Intl = false]
-40 std::moneypunct<_CharT, _Intl>::do_frac_digits [with _CharT = wchar_t, bool _Intl = false]
-44 std::moneypunct<_CharT, _Intl>::do_pos_format [with _CharT = wchar_t, bool _Intl = false]
-48 std::moneypunct<_CharT, _Intl>::do_neg_format [with _CharT = wchar_t, bool _Intl = false]
-
-Class std::moneypunct<wchar_t, false>
- size=12 align=4
- base size=12 base align=4
-std::moneypunct<wchar_t, false> (0xb5b678c0) 0
- vptr=((& std::moneypunct<wchar_t, false>::_ZTVSt10moneypunctIwLb0EE) + 8u)
- std::locale::facet (0xb5b67900) 0
- primary-for std::moneypunct<wchar_t, false> (0xb5b678c0)
- std::money_base (0xb5b67940) 0 empty
+
+
+
+
+
+
+
Class std::messages_base
size=1 align=1
base size=0 base align=1
std::messages_base (0xb5b67b40) 0 empty
-Vtable for std::messages<char>
-std::messages<char>::_ZTVSt8messagesIcE: 7u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt8messagesIcE)
-8 std::messages<_CharT>::~messages [with _CharT = char]
-12 std::messages<_CharT>::~messages [with _CharT = char]
-16 std::messages<_CharT>::do_open [with _CharT = char]
-20 std::messages<_CharT>::do_get [with _CharT = char]
-24 std::messages<_CharT>::do_close [with _CharT = char]
-
-Class std::messages<char>
- size=16 align=4
- base size=16 base align=4
-std::messages<char> (0xb5b67c40) 0
- vptr=((& std::messages<char>::_ZTVSt8messagesIcE) + 8u)
- std::locale::facet (0xb5b67c80) 0
- primary-for std::messages<char> (0xb5b67c40)
- std::messages_base (0xb5b67cc0) 0 empty
-
-Vtable for std::messages<wchar_t>
-std::messages<wchar_t>::_ZTVSt8messagesIwE: 7u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt8messagesIwE)
-8 std::messages<_CharT>::~messages [with _CharT = wchar_t]
-12 std::messages<_CharT>::~messages [with _CharT = wchar_t]
-16 std::messages<_CharT>::do_open [with _CharT = wchar_t]
-20 std::messages<_CharT>::do_get [with _CharT = wchar_t]
-24 std::messages<_CharT>::do_close [with _CharT = wchar_t]
-
-Class std::messages<wchar_t>
- size=16 align=4
- base size=16 base align=4
-std::messages<wchar_t> (0xb5b67e40) 0
- vptr=((& std::messages<wchar_t>::_ZTVSt8messagesIwE) + 8u)
- std::locale::facet (0xb5b67e80) 0
- primary-for std::messages<wchar_t> (0xb5b67e40)
- std::messages_base (0xb5b67ec0) 0 empty
-
-Vtable for std::basic_ios<char, std::char_traits<char> >
-std::basic_ios<char, std::char_traits<char> >::_ZTVSt9basic_iosIcSt11char_traitsIcEE: 4u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt9basic_iosIcSt11char_traitsIcEE)
-8 std::basic_ios<_CharT, _Traits>::~basic_ios [with _CharT = char, _Traits = std::char_traits<char>]
-12 std::basic_ios<_CharT, _Traits>::~basic_ios [with _CharT = char, _Traits = std::char_traits<char>]
-
-Class std::basic_ios<char, std::char_traits<char> >
- size=136 align=4
- base size=136 base align=4
-std::basic_ios<char, std::char_traits<char> > (0xb5b67d00) 0
- vptr=((& std::basic_ios<char, std::char_traits<char> >::_ZTVSt9basic_iosIcSt11char_traitsIcEE) + 8u)
- std::ios_base (0xb5b67f00) 0
- primary-for std::basic_ios<char, std::char_traits<char> > (0xb5b67d00)
-
-Vtable for std::basic_ios<wchar_t, std::char_traits<wchar_t> >
-std::basic_ios<wchar_t, std::char_traits<wchar_t> >::_ZTVSt9basic_iosIwSt11char_traitsIwEE: 4u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt9basic_iosIwSt11char_traitsIwEE)
-8 std::basic_ios<_CharT, _Traits>::~basic_ios [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-12 std::basic_ios<_CharT, _Traits>::~basic_ios [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-
-Class std::basic_ios<wchar_t, std::char_traits<wchar_t> >
- size=140 align=4
- base size=140 base align=4
-std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb59f7040) 0
- vptr=((& std::basic_ios<wchar_t, std::char_traits<wchar_t> >::_ZTVSt9basic_iosIwSt11char_traitsIwEE) + 8u)
- std::ios_base (0xb59f7080) 0
- primary-for std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb59f7040)
+
+
+
+
+
+
+
Vtable for std::type_info
std::type_info::_ZTVSt9type_info: 8u entries
@@ -2469,774 +1143,95 @@ std::bad_typeid (0xb59f7b00) 0 nearly-empty
std::exception (0xb59f7b40) 0 nearly-empty
primary-for std::bad_typeid (0xb59f7b00)
-Class std::iterator_traits<char*>
- size=1 align=1
- base size=0 base align=1
-std::iterator_traits<char*> (0xb59f7e00) 0 empty
-Class __gnu_cxx::__normal_iterator<char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >
- size=4 align=4
- base size=4 base align=4
-__gnu_cxx::__normal_iterator<char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > (0xb59f7d80) 0
-Vtable for std::moneypunct_byname<char, false>
-std::moneypunct_byname<char, false>::_ZTVSt17moneypunct_bynameIcLb0EE: 13u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt17moneypunct_bynameIcLb0EE)
-8 std::moneypunct_byname<_CharT, _Intl>::~moneypunct_byname [with _CharT = char, bool _Intl = false]
-12 std::moneypunct_byname<_CharT, _Intl>::~moneypunct_byname [with _CharT = char, bool _Intl = false]
-16 std::moneypunct<_CharT, _Intl>::do_decimal_point [with _CharT = char, bool _Intl = false]
-20 std::moneypunct<_CharT, _Intl>::do_thousands_sep [with _CharT = char, bool _Intl = false]
-24 std::moneypunct<_CharT, _Intl>::do_grouping [with _CharT = char, bool _Intl = false]
-28 std::moneypunct<_CharT, _Intl>::do_curr_symbol [with _CharT = char, bool _Intl = false]
-32 std::moneypunct<_CharT, _Intl>::do_positive_sign [with _CharT = char, bool _Intl = false]
-36 std::moneypunct<_CharT, _Intl>::do_negative_sign [with _CharT = char, bool _Intl = false]
-40 std::moneypunct<_CharT, _Intl>::do_frac_digits [with _CharT = char, bool _Intl = false]
-44 std::moneypunct<_CharT, _Intl>::do_pos_format [with _CharT = char, bool _Intl = false]
-48 std::moneypunct<_CharT, _Intl>::do_neg_format [with _CharT = char, bool _Intl = false]
-
-Class std::moneypunct_byname<char, false>
- size=12 align=4
- base size=12 base align=4
-std::moneypunct_byname<char, false> (0xb59f7e40) 0
- vptr=((& std::moneypunct_byname<char, false>::_ZTVSt17moneypunct_bynameIcLb0EE) + 8u)
- std::moneypunct<char, false> (0xb59f7e80) 0
- primary-for std::moneypunct_byname<char, false> (0xb59f7e40)
- std::locale::facet (0xb59f7ec0) 0
- primary-for std::moneypunct<char, false> (0xb59f7e80)
- std::money_base (0xb59f7f00) 0 empty
-
-Vtable for std::moneypunct_byname<char, true>
-std::moneypunct_byname<char, true>::_ZTVSt17moneypunct_bynameIcLb1EE: 13u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt17moneypunct_bynameIcLb1EE)
-8 std::moneypunct_byname<_CharT, _Intl>::~moneypunct_byname [with _CharT = char, bool _Intl = true]
-12 std::moneypunct_byname<_CharT, _Intl>::~moneypunct_byname [with _CharT = char, bool _Intl = true]
-16 std::moneypunct<_CharT, _Intl>::do_decimal_point [with _CharT = char, bool _Intl = true]
-20 std::moneypunct<_CharT, _Intl>::do_thousands_sep [with _CharT = char, bool _Intl = true]
-24 std::moneypunct<_CharT, _Intl>::do_grouping [with _CharT = char, bool _Intl = true]
-28 std::moneypunct<_CharT, _Intl>::do_curr_symbol [with _CharT = char, bool _Intl = true]
-32 std::moneypunct<_CharT, _Intl>::do_positive_sign [with _CharT = char, bool _Intl = true]
-36 std::moneypunct<_CharT, _Intl>::do_negative_sign [with _CharT = char, bool _Intl = true]
-40 std::moneypunct<_CharT, _Intl>::do_frac_digits [with _CharT = char, bool _Intl = true]
-44 std::moneypunct<_CharT, _Intl>::do_pos_format [with _CharT = char, bool _Intl = true]
-48 std::moneypunct<_CharT, _Intl>::do_neg_format [with _CharT = char, bool _Intl = true]
-
-Class std::moneypunct_byname<char, true>
- size=12 align=4
- base size=12 base align=4
-std::moneypunct_byname<char, true> (0xb59f7f80) 0
- vptr=((& std::moneypunct_byname<char, true>::_ZTVSt17moneypunct_bynameIcLb1EE) + 8u)
- std::moneypunct<char, true> (0xb59f7fc0) 0
- primary-for std::moneypunct_byname<char, true> (0xb59f7f80)
- std::locale::facet (0xb59f7000) 0
- primary-for std::moneypunct<char, true> (0xb59f7fc0)
- std::money_base (0xb59f70c0) 0 empty
-
-Vtable for std::money_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >
-std::money_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >::_ZTVSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE: 6u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE)
-8 std::money_get<_CharT, _InIter>::~money_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-12 std::money_get<_CharT, _InIter>::~money_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-16 std::money_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-20 std::money_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-Class std::money_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >
- size=8 align=4
- base size=8 base align=4
-std::money_get<char, std::istreambuf_iterator<char, std::char_traits<char> > > (0xb59f76c0) 0
- vptr=((& std::money_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >::_ZTVSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE) + 8u)
- std::locale::facet (0xb59f7ac0) 0
- primary-for std::money_get<char, std::istreambuf_iterator<char, std::char_traits<char> > > (0xb59f76c0)
-Vtable for std::money_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >
-std::money_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::_ZTVSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE: 6u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE)
-8 std::money_put<_CharT, _OutIter>::~money_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-12 std::money_put<_CharT, _OutIter>::~money_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-16 std::money_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-20 std::money_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-Class std::money_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >
- size=8 align=4
- base size=8 base align=4
-std::money_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > > (0xb59f7d00) 0
- vptr=((& std::money_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::_ZTVSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE) + 8u)
- std::locale::facet (0xb59f7d40) 0
- primary-for std::money_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > > (0xb59f7d00)
-Vtable for std::numpunct_byname<char>
-std::numpunct_byname<char>::_ZTVSt15numpunct_bynameIcE: 9u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt15numpunct_bynameIcE)
-8 std::numpunct_byname<_CharT>::~numpunct_byname [with _CharT = char]
-12 std::numpunct_byname<_CharT>::~numpunct_byname [with _CharT = char]
-16 std::numpunct<_CharT>::do_decimal_point [with _CharT = char]
-20 std::numpunct<_CharT>::do_thousands_sep [with _CharT = char]
-24 std::numpunct<_CharT>::do_grouping [with _CharT = char]
-28 std::numpunct<_CharT>::do_truename [with _CharT = char]
-32 std::numpunct<_CharT>::do_falsename [with _CharT = char]
-
-Class std::numpunct_byname<char>
- size=12 align=4
- base size=12 base align=4
-std::numpunct_byname<char> (0xb58d1000) 0
- vptr=((& std::numpunct_byname<char>::_ZTVSt15numpunct_bynameIcE) + 8u)
- std::numpunct<char> (0xb58d1040) 0
- primary-for std::numpunct_byname<char> (0xb58d1000)
- std::locale::facet (0xb58d1080) 0
- primary-for std::numpunct<char> (0xb58d1040)
-
-Vtable for std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >
-std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >::_ZTVSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE: 15u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE)
-8 std::num_get<_CharT, _InIter>::~num_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-12 std::num_get<_CharT, _InIter>::~num_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-16 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-20 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-24 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-28 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-32 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-36 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-40 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-44 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-48 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-52 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-56 std::num_get<_CharT, _InIter>::do_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-
-Class std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >
- size=8 align=4
- base size=8 base align=4
-std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > > (0xb58d1100) 0
- vptr=((& std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >::_ZTVSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE) + 8u)
- std::locale::facet (0xb58d1140) 0
- primary-for std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > > (0xb58d1100)
-Vtable for std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >
-std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::_ZTVSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE: 12u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE)
-8 std::num_put<_CharT, _OutIter>::~num_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-12 std::num_put<_CharT, _OutIter>::~num_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-16 std::num_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-20 std::num_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-24 std::num_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-28 std::num_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-32 std::num_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-36 std::num_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-40 std::num_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-44 std::num_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-
-Class std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >
- size=8 align=4
- base size=8 base align=4
-std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > > (0xb58d11c0) 0
- vptr=((& std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::_ZTVSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE) + 8u)
- std::locale::facet (0xb58d1200) 0
- primary-for std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > > (0xb58d11c0)
-Vtable for std::time_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >
-std::time_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::_ZTVSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE: 5u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE)
-8 std::time_put<_CharT, _OutIter>::~time_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-12 std::time_put<_CharT, _OutIter>::~time_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-16 std::time_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-Class std::time_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >
- size=8 align=4
- base size=8 base align=4
-std::time_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > > (0xb58d1280) 0
- vptr=((& std::time_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::_ZTVSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE) + 8u)
- std::locale::facet (0xb58d12c0) 0
- primary-for std::time_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > > (0xb58d1280)
-Vtable for std::time_put_byname<char, std::ostreambuf_iterator<char, std::char_traits<char> > >
-std::time_put_byname<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::_ZTVSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE: 5u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE)
-8 std::time_put_byname<_CharT, _OutIter>::~time_put_byname [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-12 std::time_put_byname<_CharT, _OutIter>::~time_put_byname [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-16 std::time_put<_CharT, _OutIter>::do_put [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]
-Class std::time_put_byname<char, std::ostreambuf_iterator<char, std::char_traits<char> > >
- size=8 align=4
- base size=8 base align=4
-std::time_put_byname<char, std::ostreambuf_iterator<char, std::char_traits<char> > > (0xb58d1340) 0
- vptr=((& std::time_put_byname<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::_ZTVSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE) + 8u)
- std::time_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > > (0xb58d1380) 0
- primary-for std::time_put_byname<char, std::ostreambuf_iterator<char, std::char_traits<char> > > (0xb58d1340)
- std::locale::facet (0xb58d13c0) 0
- primary-for std::time_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > > (0xb58d1380)
-
-Vtable for std::time_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >
-std::time_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >::_ZTVSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE: 10u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE)
-8 std::time_get<_CharT, _InIter>::~time_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-12 std::time_get<_CharT, _InIter>::~time_get [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-16 std::time_get<_CharT, _InIter>::do_date_order [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-20 std::time_get<_CharT, _InIter>::do_get_time [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-24 std::time_get<_CharT, _InIter>::do_get_date [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-28 std::time_get<_CharT, _InIter>::do_get_weekday [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-32 std::time_get<_CharT, _InIter>::do_get_monthname [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-36 std::time_get<_CharT, _InIter>::do_get_year [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-
-Class std::time_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >
- size=8 align=4
- base size=8 base align=4
-std::time_get<char, std::istreambuf_iterator<char, std::char_traits<char> > > (0xb58d1440) 0
- vptr=((& std::time_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >::_ZTVSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE) + 8u)
- std::locale::facet (0xb58d1480) 0
- primary-for std::time_get<char, std::istreambuf_iterator<char, std::char_traits<char> > > (0xb58d1440)
- std::time_base (0xb58d14c0) 0 empty
-
-Vtable for std::time_get_byname<char, std::istreambuf_iterator<char, std::char_traits<char> > >
-std::time_get_byname<char, std::istreambuf_iterator<char, std::char_traits<char> > >::_ZTVSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE: 10u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE)
-8 std::time_get_byname<_CharT, _InIter>::~time_get_byname [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-12 std::time_get_byname<_CharT, _InIter>::~time_get_byname [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-16 std::time_get<_CharT, _InIter>::do_date_order [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-20 std::time_get<_CharT, _InIter>::do_get_time [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-24 std::time_get<_CharT, _InIter>::do_get_date [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-28 std::time_get<_CharT, _InIter>::do_get_weekday [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-32 std::time_get<_CharT, _InIter>::do_get_monthname [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-36 std::time_get<_CharT, _InIter>::do_get_year [with _CharT = char, _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]
-
-Class std::time_get_byname<char, std::istreambuf_iterator<char, std::char_traits<char> > >
- size=8 align=4
- base size=8 base align=4
-std::time_get_byname<char, std::istreambuf_iterator<char, std::char_traits<char> > > (0xb58d1540) 0
- vptr=((& std::time_get_byname<char, std::istreambuf_iterator<char, std::char_traits<char> > >::_ZTVSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE) + 8u)
- std::time_get<char, std::istreambuf_iterator<char, std::char_traits<char> > > (0xb58d1580) 0
- primary-for std::time_get_byname<char, std::istreambuf_iterator<char, std::char_traits<char> > > (0xb58d1540)
- std::locale::facet (0xb58d15c0) 0
- primary-for std::time_get<char, std::istreambuf_iterator<char, std::char_traits<char> > > (0xb58d1580)
- std::time_base (0xb58d1600) 0 empty
-
-Vtable for std::messages_byname<char>
-std::messages_byname<char>::_ZTVSt15messages_bynameIcE: 7u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt15messages_bynameIcE)
-8 std::messages_byname<_CharT>::~messages_byname [with _CharT = char]
-12 std::messages_byname<_CharT>::~messages_byname [with _CharT = char]
-16 std::messages<_CharT>::do_open [with _CharT = char]
-20 std::messages<_CharT>::do_get [with _CharT = char]
-24 std::messages<_CharT>::do_close [with _CharT = char]
-
-Class std::messages_byname<char>
- size=16 align=4
- base size=16 base align=4
-std::messages_byname<char> (0xb58d1680) 0
- vptr=((& std::messages_byname<char>::_ZTVSt15messages_bynameIcE) + 8u)
- std::messages<char> (0xb58d16c0) 0
- primary-for std::messages_byname<char> (0xb58d1680)
- std::locale::facet (0xb58d1700) 0
- primary-for std::messages<char> (0xb58d16c0)
- std::messages_base (0xb58d1740) 0 empty
-
-Vtable for std::codecvt_byname<char, char, __mbstate_t>
-std::codecvt_byname<char, char, __mbstate_t>::_ZTVSt14codecvt_bynameIcc11__mbstate_tE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt14codecvt_bynameIcc11__mbstate_tE)
-8 std::codecvt_byname<_InternT, _ExternT, _StateT>::~codecvt_byname [with _InternT = char, _ExternT = char, _StateT = __mbstate_t]
-12 std::codecvt_byname<_InternT, _ExternT, _StateT>::~codecvt_byname [with _InternT = char, _ExternT = char, _StateT = __mbstate_t]
-16 std::codecvt<char, char, __mbstate_t>::do_out
-20 std::codecvt<char, char, __mbstate_t>::do_unshift
-24 std::codecvt<char, char, __mbstate_t>::do_in
-28 std::codecvt<char, char, __mbstate_t>::do_encoding
-32 std::codecvt<char, char, __mbstate_t>::do_always_noconv
-36 std::codecvt<char, char, __mbstate_t>::do_length
-40 std::codecvt<char, char, __mbstate_t>::do_max_length
-
-Class std::codecvt_byname<char, char, __mbstate_t>
- size=12 align=4
- base size=12 base align=4
-std::codecvt_byname<char, char, __mbstate_t> (0xb58d1800) 0
- vptr=((& std::codecvt_byname<char, char, __mbstate_t>::_ZTVSt14codecvt_bynameIcc11__mbstate_tE) + 8u)
- std::codecvt<char, char, __mbstate_t> (0xb58d1840) 0
- primary-for std::codecvt_byname<char, char, __mbstate_t> (0xb58d1800)
- std::__codecvt_abstract_base<char, char, __mbstate_t> (0xb58d1880) 0
- primary-for std::codecvt<char, char, __mbstate_t> (0xb58d1840)
- std::locale::facet (0xb58d18c0) 0
- primary-for std::__codecvt_abstract_base<char, char, __mbstate_t> (0xb58d1880)
- std::codecvt_base (0xb58d1900) 0 empty
-
-Vtable for std::collate_byname<char>
-std::collate_byname<char>::_ZTVSt14collate_bynameIcE: 7u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt14collate_bynameIcE)
-8 std::collate_byname<_CharT>::~collate_byname [with _CharT = char]
-12 std::collate_byname<_CharT>::~collate_byname [with _CharT = char]
-16 std::collate<_CharT>::do_compare [with _CharT = char]
-20 std::collate<_CharT>::do_transform [with _CharT = char]
-24 std::collate<_CharT>::do_hash [with _CharT = char]
-
-Class std::collate_byname<char>
- size=12 align=4
- base size=12 base align=4
-std::collate_byname<char> (0xb58d1980) 0
- vptr=((& std::collate_byname<char>::_ZTVSt14collate_bynameIcE) + 8u)
- std::collate<char> (0xb58d19c0) 0
- primary-for std::collate_byname<char> (0xb58d1980)
- std::locale::facet (0xb58d1a00) 0
- primary-for std::collate<char> (0xb58d19c0)
-
-Vtable for std::moneypunct_byname<wchar_t, false>
-std::moneypunct_byname<wchar_t, false>::_ZTVSt17moneypunct_bynameIwLb0EE: 13u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt17moneypunct_bynameIwLb0EE)
-8 std::moneypunct_byname<_CharT, _Intl>::~moneypunct_byname [with _CharT = wchar_t, bool _Intl = false]
-12 std::moneypunct_byname<_CharT, _Intl>::~moneypunct_byname [with _CharT = wchar_t, bool _Intl = false]
-16 std::moneypunct<_CharT, _Intl>::do_decimal_point [with _CharT = wchar_t, bool _Intl = false]
-20 std::moneypunct<_CharT, _Intl>::do_thousands_sep [with _CharT = wchar_t, bool _Intl = false]
-24 std::moneypunct<_CharT, _Intl>::do_grouping [with _CharT = wchar_t, bool _Intl = false]
-28 std::moneypunct<_CharT, _Intl>::do_curr_symbol [with _CharT = wchar_t, bool _Intl = false]
-32 std::moneypunct<_CharT, _Intl>::do_positive_sign [with _CharT = wchar_t, bool _Intl = false]
-36 std::moneypunct<_CharT, _Intl>::do_negative_sign [with _CharT = wchar_t, bool _Intl = false]
-40 std::moneypunct<_CharT, _Intl>::do_frac_digits [with _CharT = wchar_t, bool _Intl = false]
-44 std::moneypunct<_CharT, _Intl>::do_pos_format [with _CharT = wchar_t, bool _Intl = false]
-48 std::moneypunct<_CharT, _Intl>::do_neg_format [with _CharT = wchar_t, bool _Intl = false]
-
-Class std::moneypunct_byname<wchar_t, false>
- size=12 align=4
- base size=12 base align=4
-std::moneypunct_byname<wchar_t, false> (0xb58d1ac0) 0
- vptr=((& std::moneypunct_byname<wchar_t, false>::_ZTVSt17moneypunct_bynameIwLb0EE) + 8u)
- std::moneypunct<wchar_t, false> (0xb58d1b00) 0
- primary-for std::moneypunct_byname<wchar_t, false> (0xb58d1ac0)
- std::locale::facet (0xb58d1b40) 0
- primary-for std::moneypunct<wchar_t, false> (0xb58d1b00)
- std::money_base (0xb58d1b80) 0 empty
-
-Vtable for std::moneypunct_byname<wchar_t, true>
-std::moneypunct_byname<wchar_t, true>::_ZTVSt17moneypunct_bynameIwLb1EE: 13u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt17moneypunct_bynameIwLb1EE)
-8 std::moneypunct_byname<_CharT, _Intl>::~moneypunct_byname [with _CharT = wchar_t, bool _Intl = true]
-12 std::moneypunct_byname<_CharT, _Intl>::~moneypunct_byname [with _CharT = wchar_t, bool _Intl = true]
-16 std::moneypunct<_CharT, _Intl>::do_decimal_point [with _CharT = wchar_t, bool _Intl = true]
-20 std::moneypunct<_CharT, _Intl>::do_thousands_sep [with _CharT = wchar_t, bool _Intl = true]
-24 std::moneypunct<_CharT, _Intl>::do_grouping [with _CharT = wchar_t, bool _Intl = true]
-28 std::moneypunct<_CharT, _Intl>::do_curr_symbol [with _CharT = wchar_t, bool _Intl = true]
-32 std::moneypunct<_CharT, _Intl>::do_positive_sign [with _CharT = wchar_t, bool _Intl = true]
-36 std::moneypunct<_CharT, _Intl>::do_negative_sign [with _CharT = wchar_t, bool _Intl = true]
-40 std::moneypunct<_CharT, _Intl>::do_frac_digits [with _CharT = wchar_t, bool _Intl = true]
-44 std::moneypunct<_CharT, _Intl>::do_pos_format [with _CharT = wchar_t, bool _Intl = true]
-48 std::moneypunct<_CharT, _Intl>::do_neg_format [with _CharT = wchar_t, bool _Intl = true]
-
-Class std::moneypunct_byname<wchar_t, true>
- size=12 align=4
- base size=12 base align=4
-std::moneypunct_byname<wchar_t, true> (0xb58d1c00) 0
- vptr=((& std::moneypunct_byname<wchar_t, true>::_ZTVSt17moneypunct_bynameIwLb1EE) + 8u)
- std::moneypunct<wchar_t, true> (0xb58d1c40) 0
- primary-for std::moneypunct_byname<wchar_t, true> (0xb58d1c00)
- std::locale::facet (0xb58d1c80) 0
- primary-for std::moneypunct<wchar_t, true> (0xb58d1c40)
- std::money_base (0xb58d1cc0) 0 empty
-
-Vtable for std::money_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >
-std::money_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::_ZTVSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE: 6u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE)
-8 std::money_get<_CharT, _InIter>::~money_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-12 std::money_get<_CharT, _InIter>::~money_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-16 std::money_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-20 std::money_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-Class std::money_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >
- size=8 align=4
- base size=8 base align=4
-std::money_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > > (0xb58d1d40) 0
- vptr=((& std::money_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::_ZTVSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE) + 8u)
- std::locale::facet (0xb58d1d80) 0
- primary-for std::money_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > > (0xb58d1d40)
-Vtable for std::money_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >
-std::money_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::_ZTVSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE: 6u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE)
-8 std::money_put<_CharT, _OutIter>::~money_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-12 std::money_put<_CharT, _OutIter>::~money_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-16 std::money_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-20 std::money_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-Class std::money_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >
- size=8 align=4
- base size=8 base align=4
-std::money_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > > (0xb58d1e40) 0
- vptr=((& std::money_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::_ZTVSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE) + 8u)
- std::locale::facet (0xb58d1e80) 0
- primary-for std::money_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > > (0xb58d1e40)
-Vtable for std::numpunct_byname<wchar_t>
-std::numpunct_byname<wchar_t>::_ZTVSt15numpunct_bynameIwE: 9u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt15numpunct_bynameIwE)
-8 std::numpunct_byname<_CharT>::~numpunct_byname [with _CharT = wchar_t]
-12 std::numpunct_byname<_CharT>::~numpunct_byname [with _CharT = wchar_t]
-16 std::numpunct<_CharT>::do_decimal_point [with _CharT = wchar_t]
-20 std::numpunct<_CharT>::do_thousands_sep [with _CharT = wchar_t]
-24 std::numpunct<_CharT>::do_grouping [with _CharT = wchar_t]
-28 std::numpunct<_CharT>::do_truename [with _CharT = wchar_t]
-32 std::numpunct<_CharT>::do_falsename [with _CharT = wchar_t]
-
-Class std::numpunct_byname<wchar_t>
- size=12 align=4
- base size=12 base align=4
-std::numpunct_byname<wchar_t> (0xb58d1f40) 0
- vptr=((& std::numpunct_byname<wchar_t>::_ZTVSt15numpunct_bynameIwE) + 8u)
- std::numpunct<wchar_t> (0xb58d1f80) 0
- primary-for std::numpunct_byname<wchar_t> (0xb58d1f40)
- std::locale::facet (0xb58d1fc0) 0
- primary-for std::numpunct<wchar_t> (0xb58d1f80)
-
-Vtable for std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >
-std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::_ZTVSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE: 15u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE)
-8 std::num_get<_CharT, _InIter>::~num_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-12 std::num_get<_CharT, _InIter>::~num_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-16 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-20 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-24 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-28 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-32 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-36 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-40 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-44 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-48 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-52 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-56 std::num_get<_CharT, _InIter>::do_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-
-Class std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >
- size=8 align=4
- base size=8 base align=4
-std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > > (0xb58d10c0) 0
- vptr=((& std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::_ZTVSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE) + 8u)
- std::locale::facet (0xb58d1180) 0
- primary-for std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > > (0xb58d10c0)
-Vtable for std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >
-std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::_ZTVSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE: 12u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE)
-8 std::num_put<_CharT, _OutIter>::~num_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-12 std::num_put<_CharT, _OutIter>::~num_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-16 std::num_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-20 std::num_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-24 std::num_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-28 std::num_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-32 std::num_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-36 std::num_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-40 std::num_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-44 std::num_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-
-Class std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >
- size=8 align=4
- base size=8 base align=4
-std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > > (0xb58d1240) 0
- vptr=((& std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::_ZTVSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE) + 8u)
- std::locale::facet (0xb58d1300) 0
- primary-for std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > > (0xb58d1240)
-Vtable for std::time_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >
-std::time_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::_ZTVSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE: 5u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE)
-8 std::time_put<_CharT, _OutIter>::~time_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-12 std::time_put<_CharT, _OutIter>::~time_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-16 std::time_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-Class std::time_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >
- size=8 align=4
- base size=8 base align=4
-std::time_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > > (0xb58d1400) 0
- vptr=((& std::time_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::_ZTVSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE) + 8u)
- std::locale::facet (0xb58d1500) 0
- primary-for std::time_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > > (0xb58d1400)
-Vtable for std::time_put_byname<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >
-std::time_put_byname<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::_ZTVSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE: 5u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE)
-8 std::time_put_byname<_CharT, _OutIter>::~time_put_byname [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-12 std::time_put_byname<_CharT, _OutIter>::~time_put_byname [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-16 std::time_put<_CharT, _OutIter>::do_put [with _CharT = wchar_t, _OutIter = std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-Class std::time_put_byname<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >
- size=8 align=4
- base size=8 base align=4
-std::time_put_byname<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > > (0xb58d1640) 0
- vptr=((& std::time_put_byname<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::_ZTVSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE) + 8u)
- std::time_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > > (0xb58d1780) 0
- primary-for std::time_put_byname<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > > (0xb58d1640)
- std::locale::facet (0xb58d1940) 0
- primary-for std::time_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > > (0xb58d1780)
-
-Vtable for std::time_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >
-std::time_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::_ZTVSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE: 10u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE)
-8 std::time_get<_CharT, _InIter>::~time_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-12 std::time_get<_CharT, _InIter>::~time_get [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-16 std::time_get<_CharT, _InIter>::do_date_order [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-20 std::time_get<_CharT, _InIter>::do_get_time [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-24 std::time_get<_CharT, _InIter>::do_get_date [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-28 std::time_get<_CharT, _InIter>::do_get_weekday [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-32 std::time_get<_CharT, _InIter>::do_get_monthname [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-36 std::time_get<_CharT, _InIter>::do_get_year [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-
-Class std::time_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >
- size=8 align=4
- base size=8 base align=4
-std::time_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > > (0xb58d1a40) 0
- vptr=((& std::time_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::_ZTVSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE) + 8u)
- std::locale::facet (0xb58d1bc0) 0
- primary-for std::time_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > > (0xb58d1a40)
- std::time_base (0xb58d1d00) 0 empty
-
-Vtable for std::time_get_byname<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >
-std::time_get_byname<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::_ZTVSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE: 10u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE)
-8 std::time_get_byname<_CharT, _InIter>::~time_get_byname [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-12 std::time_get_byname<_CharT, _InIter>::~time_get_byname [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-16 std::time_get<_CharT, _InIter>::do_date_order [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-20 std::time_get<_CharT, _InIter>::do_get_time [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-24 std::time_get<_CharT, _InIter>::do_get_date [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-28 std::time_get<_CharT, _InIter>::do_get_weekday [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-32 std::time_get<_CharT, _InIter>::do_get_monthname [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-36 std::time_get<_CharT, _InIter>::do_get_year [with _CharT = wchar_t, _InIter = std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >]
-
-Class std::time_get_byname<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >
- size=8 align=4
- base size=8 base align=4
-std::time_get_byname<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > > (0xb58d1dc0) 0
- vptr=((& std::time_get_byname<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::_ZTVSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE) + 8u)
- std::time_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > > (0xb58d1ec0) 0
- primary-for std::time_get_byname<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > > (0xb58d1dc0)
- std::locale::facet (0xb5935000) 0
- primary-for std::time_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > > (0xb58d1ec0)
- std::time_base (0xb5935040) 0 empty
-
-Vtable for std::messages_byname<wchar_t>
-std::messages_byname<wchar_t>::_ZTVSt15messages_bynameIwE: 7u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt15messages_bynameIwE)
-8 std::messages_byname<_CharT>::~messages_byname [with _CharT = wchar_t]
-12 std::messages_byname<_CharT>::~messages_byname [with _CharT = wchar_t]
-16 std::messages<_CharT>::do_open [with _CharT = wchar_t]
-20 std::messages<_CharT>::do_get [with _CharT = wchar_t]
-24 std::messages<_CharT>::do_close [with _CharT = wchar_t]
-
-Class std::messages_byname<wchar_t>
- size=16 align=4
- base size=16 base align=4
-std::messages_byname<wchar_t> (0xb59350c0) 0
- vptr=((& std::messages_byname<wchar_t>::_ZTVSt15messages_bynameIwE) + 8u)
- std::messages<wchar_t> (0xb5935100) 0
- primary-for std::messages_byname<wchar_t> (0xb59350c0)
- std::locale::facet (0xb5935140) 0
- primary-for std::messages<wchar_t> (0xb5935100)
- std::messages_base (0xb5935180) 0 empty
-
-Vtable for std::codecvt_byname<wchar_t, char, __mbstate_t>
-std::codecvt_byname<wchar_t, char, __mbstate_t>::_ZTVSt14codecvt_bynameIwc11__mbstate_tE: 11u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt14codecvt_bynameIwc11__mbstate_tE)
-8 std::codecvt_byname<_InternT, _ExternT, _StateT>::~codecvt_byname [with _InternT = wchar_t, _ExternT = char, _StateT = __mbstate_t]
-12 std::codecvt_byname<_InternT, _ExternT, _StateT>::~codecvt_byname [with _InternT = wchar_t, _ExternT = char, _StateT = __mbstate_t]
-16 std::codecvt<wchar_t, char, __mbstate_t>::do_out
-20 std::codecvt<wchar_t, char, __mbstate_t>::do_unshift
-24 std::codecvt<wchar_t, char, __mbstate_t>::do_in
-28 std::codecvt<wchar_t, char, __mbstate_t>::do_encoding
-32 std::codecvt<wchar_t, char, __mbstate_t>::do_always_noconv
-36 std::codecvt<wchar_t, char, __mbstate_t>::do_length
-40 std::codecvt<wchar_t, char, __mbstate_t>::do_max_length
-
-Class std::codecvt_byname<wchar_t, char, __mbstate_t>
- size=12 align=4
- base size=12 base align=4
-std::codecvt_byname<wchar_t, char, __mbstate_t> (0xb5935240) 0
- vptr=((& std::codecvt_byname<wchar_t, char, __mbstate_t>::_ZTVSt14codecvt_bynameIwc11__mbstate_tE) + 8u)
- std::codecvt<wchar_t, char, __mbstate_t> (0xb5935280) 0
- primary-for std::codecvt_byname<wchar_t, char, __mbstate_t> (0xb5935240)
- std::__codecvt_abstract_base<wchar_t, char, __mbstate_t> (0xb59352c0) 0
- primary-for std::codecvt<wchar_t, char, __mbstate_t> (0xb5935280)
- std::locale::facet (0xb5935300) 0
- primary-for std::__codecvt_abstract_base<wchar_t, char, __mbstate_t> (0xb59352c0)
- std::codecvt_base (0xb5935340) 0 empty
-
-Vtable for std::collate_byname<wchar_t>
-std::collate_byname<wchar_t>::_ZTVSt14collate_bynameIwE: 7u entries
-0 (int (*)(...))0
-4 (int (*)(...))(& _ZTISt14collate_bynameIwE)
-8 std::collate_byname<_CharT>::~collate_byname [with _CharT = wchar_t]
-12 std::collate_byname<_CharT>::~collate_byname [with _CharT = wchar_t]
-16 std::collate<_CharT>::do_compare [with _CharT = wchar_t]
-20 std::collate<_CharT>::do_transform [with _CharT = wchar_t]
-24 std::collate<_CharT>::do_hash [with _CharT = wchar_t]
-
-Class std::collate_byname<wchar_t>
- size=12 align=4
- base size=12 base align=4
-std::collate_byname<wchar_t> (0xb59353c0) 0
- vptr=((& std::collate_byname<wchar_t>::_ZTVSt14collate_bynameIwE) + 8u)
- std::collate<wchar_t> (0xb5935400) 0
- primary-for std::collate_byname<wchar_t> (0xb59353c0)
- std::locale::facet (0xb5935440) 0
- primary-for std::collate<wchar_t> (0xb5935400)
-
-Vtable for std::basic_ostream<char, std::char_traits<char> >
-std::basic_ostream<char, std::char_traits<char> >::_ZTVSo: 10u entries
-0 4u
-4 (int (*)(...))0
-8 (int (*)(...))(& _ZTISo)
-12 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = char, _Traits = std::char_traits<char>]
-16 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = char, _Traits = std::char_traits<char>]
-20 4294967292u
-24 (int (*)(...))-0x00000000000000004
-28 (int (*)(...))(& _ZTISo)
-32 std::basic_ostream<char, std::char_traits<char> >::_ZTv0_n12_NSoD1Ev
-36 std::basic_ostream<char, std::char_traits<char> >::_ZTv0_n12_NSoD0Ev
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
VTT for std::basic_ostream<char, std::char_traits<char> >
std::basic_ostream<char, std::char_traits<char> >::_ZTTSo: 2u entries
0 ((& std::basic_ostream<char, std::char_traits<char> >::_ZTVSo) + 12u)
4 ((& std::basic_ostream<char, std::char_traits<char> >::_ZTVSo) + 32u)
-Class std::basic_ostream<char, std::char_traits<char> >
- size=140 align=4
- base size=4 base align=4
-std::basic_ostream<char, std::char_traits<char> > (0xb5935500) 0 nearly-empty
- vptridx=0u vptr=((& std::basic_ostream<char, std::char_traits<char> >::_ZTVSo) + 12u)
- std::basic_ios<char, std::char_traits<char> > (0xb5935540) 4 virtual
- vptridx=4u vbaseoffset=-0x0000000000000000c vptr=((& std::basic_ostream<char, std::char_traits<char> >::_ZTVSo) + 32u)
- std::ios_base (0xb5935580) 4
- primary-for std::basic_ios<char, std::char_traits<char> > (0xb5935540)
-
-Class std::basic_ostream<char, std::char_traits<char> >::sentry
- size=8 align=4
- base size=8 base align=4
-std::basic_ostream<char, std::char_traits<char> >::sentry (0xb5935640) 0
-Vtable for std::basic_ostream<wchar_t, std::char_traits<wchar_t> >
-std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE: 10u entries
-0 4u
-4 (int (*)(...))0
-8 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE)
-12 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-16 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-20 4294967292u
-24 (int (*)(...))-0x00000000000000004
-28 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE)
-32 std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n12_NSt13basic_ostreamIwSt11char_traitsIwEED1Ev
-36 std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n12_NSt13basic_ostreamIwSt11char_traitsIwEED0Ev
+
VTT for std::basic_ostream<wchar_t, std::char_traits<wchar_t> >
std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTTSt13basic_ostreamIwSt11char_traitsIwEE: 2u entries
0 ((& std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 12u)
4 ((& std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 32u)
-Class std::basic_ostream<wchar_t, std::char_traits<wchar_t> >
- size=144 align=4
- base size=4 base align=4
-std::basic_ostream<wchar_t, std::char_traits<wchar_t> > (0xb5935680) 0 nearly-empty
- vptridx=0u vptr=((& std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 12u)
- std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb59356c0) 4 virtual
- vptridx=4u vbaseoffset=-0x0000000000000000c vptr=((& std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 32u)
- std::ios_base (0xb5935700) 4
- primary-for std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb59356c0)
-
-Class std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::sentry
- size=8 align=4
- base size=8 base align=4
-std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::sentry (0xb59357c0) 0
-Vtable for std::basic_istream<char, std::char_traits<char> >
-std::basic_istream<char, std::char_traits<char> >::_ZTVSi: 10u entries
-0 8u
-4 (int (*)(...))0
-8 (int (*)(...))(& _ZTISi)
-12 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = char, _Traits = std::char_traits<char>]
-16 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = char, _Traits = std::char_traits<char>]
-20 4294967288u
-24 (int (*)(...))-0x00000000000000008
-28 (int (*)(...))(& _ZTISi)
-32 std::basic_istream<char, std::char_traits<char> >::_ZTv0_n12_NSiD1Ev
-36 std::basic_istream<char, std::char_traits<char> >::_ZTv0_n12_NSiD0Ev
+
VTT for std::basic_istream<char, std::char_traits<char> >
std::basic_istream<char, std::char_traits<char> >::_ZTTSi: 2u entries
0 ((& std::basic_istream<char, std::char_traits<char> >::_ZTVSi) + 12u)
4 ((& std::basic_istream<char, std::char_traits<char> >::_ZTVSi) + 32u)
-Class std::basic_istream<char, std::char_traits<char> >
- size=144 align=4
- base size=8 base align=4
-std::basic_istream<char, std::char_traits<char> > (0xb5935880) 0
- vptridx=0u vptr=((& std::basic_istream<char, std::char_traits<char> >::_ZTVSi) + 12u)
- std::basic_ios<char, std::char_traits<char> > (0xb59358c0) 8 virtual
- vptridx=4u vbaseoffset=-0x0000000000000000c vptr=((& std::basic_istream<char, std::char_traits<char> >::_ZTVSi) + 32u)
- std::ios_base (0xb5935900) 8
- primary-for std::basic_ios<char, std::char_traits<char> > (0xb59358c0)
-
-Vtable for std::basic_istream<wchar_t, std::char_traits<wchar_t> >
-std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_istreamIwSt11char_traitsIwEE: 10u entries
-0 8u
-4 (int (*)(...))0
-8 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE)
-12 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-16 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-20 4294967288u
-24 (int (*)(...))-0x00000000000000008
-28 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE)
-32 std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n12_NSt13basic_istreamIwSt11char_traitsIwEED1Ev
-36 std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n12_NSt13basic_istreamIwSt11char_traitsIwEED0Ev
+
VTT for std::basic_istream<wchar_t, std::char_traits<wchar_t> >
std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTTSt13basic_istreamIwSt11char_traitsIwEE: 2u entries
0 ((& std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 12u)
4 ((& std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 32u)
-Class std::basic_istream<wchar_t, std::char_traits<wchar_t> >
- size=148 align=4
- base size=8 base align=4
-std::basic_istream<wchar_t, std::char_traits<wchar_t> > (0xb5935bc0) 0
- vptridx=0u vptr=((& std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 12u)
- std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb5935c00) 8 virtual
- vptridx=4u vbaseoffset=-0x0000000000000000c vptr=((& std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 32u)
- std::ios_base (0xb5935c40) 8
- primary-for std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb5935c00)
-
-Class std::basic_istream<char, std::char_traits<char> >::sentry
- size=1 align=1
- base size=1 base align=1
-std::basic_istream<char, std::char_traits<char> >::sentry (0xb5935080) 0
-Vtable for std::basic_iostream<char, std::char_traits<char> >
-std::basic_iostream<char, std::char_traits<char> >::_ZTVSd: 15u entries
-0 12u
-4 (int (*)(...))0
-8 (int (*)(...))(& _ZTISd)
-12 std::basic_iostream<_CharT, _Traits>::~basic_iostream [with _CharT = char, _Traits = std::char_traits<char>]
-16 std::basic_iostream<_CharT, _Traits>::~basic_iostream [with _CharT = char, _Traits = std::char_traits<char>]
-20 4u
-24 (int (*)(...))-0x00000000000000008
-28 (int (*)(...))(& _ZTISd)
-32 std::basic_iostream<char, std::char_traits<char> >::_ZThn8_NSdD1Ev
-36 std::basic_iostream<char, std::char_traits<char> >::_ZThn8_NSdD0Ev
-40 4294967284u
-44 (int (*)(...))-0x0000000000000000c
-48 (int (*)(...))(& _ZTISd)
-52 std::basic_iostream<char, std::char_traits<char> >::_ZTv0_n12_NSdD1Ev
-56 std::basic_iostream<char, std::char_traits<char> >::_ZTv0_n12_NSdD0Ev
+
Construction vtable for std::basic_istream<char, std::char_traits<char> > (0xb5935380 instance) in std::basic_iostream<char, std::char_traits<char> >
std::basic_iostream<char, std::char_traits<char> >::_ZTCSd0_Si: 10u entries
@@ -3274,44 +1269,8 @@ std::basic_iostream<char, std::char_traits<char> >::_ZTTSd: 7u entries
20 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 52u)
24 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 32u)
-Class std::basic_iostream<char, std::char_traits<char> >
- size=148 align=4
- base size=12 base align=4
-std::basic_iostream<char, std::char_traits<char> > (0xb59351c0) 0
- vptridx=0u vptr=((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 12u)
- std::basic_istream<char, std::char_traits<char> > (0xb5935380) 0
- primary-for std::basic_iostream<char, std::char_traits<char> > (0xb59351c0)
- subvttidx=4u
- std::basic_ios<char, std::char_traits<char> > (0xb5935480) 12 virtual
- vptridx=20u vbaseoffset=-0x0000000000000000c vptr=((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 52u)
- std::ios_base (0xb5935600) 12
- primary-for std::basic_ios<char, std::char_traits<char> > (0xb5935480)
- std::basic_ostream<char, std::char_traits<char> > (0xb5935780) 8 nearly-empty
- subvttidx=12u vptridx=24u vptr=((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 32u)
- std::basic_ios<char, std::char_traits<char> > (0xb5935480) alternative-path
-
-Class std::basic_istream<wchar_t, std::char_traits<wchar_t> >::sentry
- size=1 align=1
- base size=1 base align=1
-std::basic_istream<wchar_t, std::char_traits<wchar_t> >::sentry (0xb59359c0) 0
-Vtable for std::basic_iostream<wchar_t, std::char_traits<wchar_t> >
-std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE: 15u entries
-0 12u
-4 (int (*)(...))0
-8 (int (*)(...))(& _ZTISt14basic_iostreamIwSt11char_traitsIwEE)
-12 std::basic_iostream<_CharT, _Traits>::~basic_iostream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-16 std::basic_iostream<_CharT, _Traits>::~basic_iostream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
-20 4u
-24 (int (*)(...))-0x00000000000000008
-28 (int (*)(...))(& _ZTISt14basic_iostreamIwSt11char_traitsIwEE)
-32 std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZThn8_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev
-36 std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZThn8_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev
-40 4294967284u
-44 (int (*)(...))-0x0000000000000000c
-48 (int (*)(...))(& _ZTISt14basic_iostreamIwSt11char_traitsIwEE)
-52 std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n12_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev
-56 std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n12_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev
+
Construction vtable for std::basic_istream<wchar_t, std::char_traits<wchar_t> > (0xb5935c80 instance) in std::basic_iostream<wchar_t, std::char_traits<wchar_t> >
std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E: 10u entries
@@ -3349,71 +1308,28 @@ std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTTSt14basic_iostream
20 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 52u)
24 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 32u)
-Class std::basic_iostream<wchar_t, std::char_traits<wchar_t> >
- size=152 align=4
- base size=12 base align=4
-std::basic_iostream<wchar_t, std::char_traits<wchar_t> > (0xb5935940) 0
- vptridx=0u vptr=((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 12u)
- std::basic_istream<wchar_t, std::char_traits<wchar_t> > (0xb5935c80) 0
- primary-for std::basic_iostream<wchar_t, std::char_traits<wchar_t> > (0xb5935940)
- subvttidx=4u
- std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb5935cc0) 12 virtual
- vptridx=20u vbaseoffset=-0x0000000000000000c vptr=((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 52u)
- std::ios_base (0xb5935d00) 12
- primary-for std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb5935cc0)
- std::basic_ostream<wchar_t, std::char_traits<wchar_t> > (0xb5808000) 8 nearly-empty
- subvttidx=12u vptridx=24u vptr=((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 32u)
- std::basic_ios<wchar_t, std::char_traits<wchar_t> > (0xb5935cc0) alternative-path
-
-Class QVector<double>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<double>::<anonymous union> (0xb5808380) 0
-Class QVector<double>
- size=4 align=4
- base size=4 base align=4
-QVector<double> (0xb5808300) 0
-Class QtConcurrent::Median<double>
- size=24 align=4
- base size=22 base align=4
-QtConcurrent::Median<double> (0xb5808280) 0
+
Class QtConcurrent::BlockSizeManager
size=72 align=4
base size=72 base align=4
QtConcurrent::BlockSizeManager (0xb58081c0) 0
-Class QtConcurrent::ResultReporter<void>
- size=1 align=1
- base size=0 base align=1
-QtConcurrent::ResultReporter<void> (0xb5808600) 0 empty
Class QRegExp
size=4 align=4
base size=4 base align=4
QRegExp (0xb5808940) 0
-Class QTypeInfo<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRegExp> (0xb585f940) 0 empty
Class QStringMatcher
size=1036 align=4
base size=1036 base align=4
QStringMatcher (0xb585f980) 0
-Class QList<QString>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QString>::<anonymous union> (0xb585fe40) 0
-Class QList<QString>
- size=4 align=4
- base size=4 base align=4
-QList<QString> (0xb585fdc0) 0
Class QStringList
size=4 align=4
@@ -3421,290 +1337,66 @@ Class QStringList
QStringList (0xb585fe80) 0
QList<QString> (0xb585fec0) 0
-Class QList<QString>::iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::iterator (0xb5694140) 0
-Class QList<QString>::const_iterator
- size=4 align=4
- base size=4 base align=4
-QList<QString>::const_iterator (0xb5694300) 0
Class QMetaType
size=1 align=1
base size=0 base align=1
QMetaType (0xb56fcc40) 0 empty
-Class QMetaTypeId2<QString>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QString> (0xb56fce00) 0 empty
-Class QMetaTypeId2<int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<int> (0xb56fcf40) 0 empty
-Class QMetaTypeId2<unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned int> (0xb577d080) 0 empty
-Class QMetaTypeId2<bool>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<bool> (0xb577d1c0) 0 empty
-Class QMetaTypeId2<double>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<double> (0xb577d300) 0 empty
-Class QMetaTypeId2<QByteArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QByteArray> (0xb577d440) 0 empty
-Class QMetaTypeId2<QChar>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QChar> (0xb577d580) 0 empty
-Class QMetaTypeId2<long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long int> (0xb577d6c0) 0 empty
-Class QMetaTypeId2<short int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short int> (0xb577d800) 0 empty
-Class QMetaTypeId2<char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<char> (0xb577d940) 0 empty
-Class QMetaTypeId2<long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long unsigned int> (0xb577da80) 0 empty
-Class QMetaTypeId2<short unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<short unsigned int> (0xb577dbc0) 0 empty
-Class QMetaTypeId2<unsigned char>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<unsigned char> (0xb577dd00) 0 empty
-Class QMetaTypeId2<float>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<float> (0xb577de40) 0 empty
-Class QMetaTypeId2<QObject*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QObject*> (0xb577df80) 0 empty
-Class QMetaTypeId2<QWidget*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QWidget*> (0xb55840c0) 0 empty
-Class QMetaTypeId2<void*>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<void*> (0xb5584200) 0 empty
-Class QMetaTypeId2<long long int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long int> (0xb5584340) 0 empty
-Class QMetaTypeId2<long long unsigned int>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<long long unsigned int> (0xb5584480) 0 empty
-Class QMetaTypeId2<QStringList>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QStringList> (0xb55845c0) 0 empty
-Class QMetaTypeId2<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitArray> (0xb5584700) 0 empty
-Class QMetaTypeId2<QDate>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDate> (0xb5584840) 0 empty
-Class QMetaTypeId2<QTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTime> (0xb5584980) 0 empty
-Class QMetaTypeId2<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QDateTime> (0xb5584ac0) 0 empty
-Class QMetaTypeId2<QUrl>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QUrl> (0xb5584c00) 0 empty
-Class QMetaTypeId2<QLocale>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLocale> (0xb5584d40) 0 empty
-Class QMetaTypeId2<QRect>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRect> (0xb5584e80) 0 empty
-Class QMetaTypeId2<QRectF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRectF> (0xb5584fc0) 0 empty
-Class QMetaTypeId2<QSize>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSize> (0xb5591100) 0 empty
-Class QMetaTypeId2<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizeF> (0xb5591240) 0 empty
-Class QMetaTypeId2<QLine>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLine> (0xb5591380) 0 empty
-Class QMetaTypeId2<QLineF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QLineF> (0xb55914c0) 0 empty
-Class QMetaTypeId2<QPoint>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPoint> (0xb5591600) 0 empty
-Class QMetaTypeId2<QPointF>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPointF> (0xb5591740) 0 empty
-Class QMetaTypeId2<QRegExp>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegExp> (0xb5591880) 0 empty
-Class QMetaTypeId2<QColorGroup>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColorGroup> (0xb55919c0) 0 empty
-Class QMetaTypeId2<QFont>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QFont> (0xb5591b00) 0 empty
-Class QMetaTypeId2<QPixmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPixmap> (0xb5591c40) 0 empty
-Class QMetaTypeId2<QBrush>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBrush> (0xb5591d80) 0 empty
-Class QMetaTypeId2<QColor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QColor> (0xb5591ec0) 0 empty
-Class QMetaTypeId2<QPalette>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPalette> (0xb559d000) 0 empty
-Class QMetaTypeId2<QIcon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QIcon> (0xb559d140) 0 empty
-Class QMetaTypeId2<QImage>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QImage> (0xb559d280) 0 empty
-Class QMetaTypeId2<QPolygon>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPolygon> (0xb559d3c0) 0 empty
-Class QMetaTypeId2<QRegion>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QRegion> (0xb559d500) 0 empty
-Class QMetaTypeId2<QBitmap>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QBitmap> (0xb559d640) 0 empty
-Class QMetaTypeId2<QCursor>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QCursor> (0xb559d780) 0 empty
-Class QMetaTypeId2<QSizePolicy>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QSizePolicy> (0xb559d8c0) 0 empty
-Class QMetaTypeId2<QKeySequence>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QKeySequence> (0xb559da00) 0 empty
-Class QMetaTypeId2<QPen>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QPen> (0xb559db40) 0 empty
-Class QMetaTypeId2<QTextLength>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextLength> (0xb559dc80) 0 empty
-Class QMetaTypeId2<QTextFormat>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTextFormat> (0xb559ddc0) 0 empty
-Class QMetaTypeId2<QMatrix>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMatrix> (0xb559df00) 0 empty
-Class QMetaTypeId2<QTransform>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QTransform> (0xb55a7040) 0 empty
Class QVariant::PrivateShared
size=8 align=4
@@ -3731,45 +1423,17 @@ Class QVariant
base size=12 base align=4
QVariant (0xb55a7180) 0
-Class QList<QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant>::<anonymous union> (0xb55e02c0) 0
-Class QList<QVariant>
- size=4 align=4
- base size=4 base align=4
-QList<QVariant> (0xb55e0240) 0
-Class QMap<QString, QVariant>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant>::<anonymous union> (0xb55e03c0) 0
-Class QMap<QString, QVariant>
- size=4 align=4
- base size=4 base align=4
-QMap<QString, QVariant> (0xb55e0340) 0
Class QVariantComparisonHelper
size=4 align=4
base size=4 base align=4
QVariantComparisonHelper (0xb560cd40) 0
-Class QTypeInfo<QVariant>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QVariant> (0xb560cf80) 0 empty
-Class QMetaTypeId2<QList<QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QList<QVariant> > (0xb56220c0) 0 empty
-Class QMetaTypeId2<QMap<QString, QVariant> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId2<QMap<QString, QVariant> > (0xb5622200) 0 empty
Vtable for QSettings
QSettings::_ZTV9QSettings: 14u entries
@@ -3840,10 +1504,6 @@ QFile (0xb56581c0) 0
QObject (0xb5658240) 0
primary-for QIODevice (0xb5658200)
-Class QFlags<QFile::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFile::Permission> (0xb566c440) 0
Vtable for QTemporaryFile
QTemporaryFile::_ZTV14QTemporaryFile: 31u entries
@@ -3965,40 +1625,16 @@ Class QFileInfo
base size=4 base align=4
QFileInfo (0xb54a89c0) 0
-Class QFlags<QFileInfo::Permission>
- size=4 align=4
- base size=4 base align=4
-QFlags<QFileInfo::Permission> (0xb54bad00) 0
-Class QTypeInfo<QFileInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QFileInfo> (0xb54baec0) 0 empty
-Class QList<QFileInfo>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::<anonymous union> (0xb54d0b00) 0
-Class QList<QFileInfo>
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo> (0xb54d0a80) 0
Class QDir
size=4 align=4
base size=4 base align=4
QDir (0xb54d0c00) 0
-Class QFlags<QDir::SortFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::SortFlag> (0xb54fa2c0) 0
-Class QFlags<QDir::Filter>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDir::Filter> (0xb54fa3c0) 0
Class QAbstractFileEngine::ExtensionOption
size=1 align=1
@@ -4073,10 +1709,6 @@ Class QAbstractFileEngine
QAbstractFileEngine (0xb5525c40) 0
vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 8u)
-Class QFlags<QAbstractFileEngine::FileFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QAbstractFileEngine::FileFlag> (0xb5532e80) 0
Vtable for QAbstractFileEngineHandler
QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
@@ -4220,25 +1852,13 @@ Class QLocale::Data
base size=4 base align=2
QLocale::Data (0xb538a780) 0
-Class QLocale::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QLocale::<anonymous union> (0xb538a7c0) 0
Class QLocale
size=4 align=4
base size=4 base align=4
QLocale (0xb5568400) 0
-Class QTypeInfo<QLocale>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLocale> (0xb538afc0) 0 empty
-Class QFlags<QLocale::NumberOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLocale::NumberOption> (0xb5391080) 0
Class QResource
size=4 align=4
@@ -4258,25 +1878,13 @@ Class QDirIterator
QDirIterator (0xb53af3c0) 0
vptr=((& QDirIterator::_ZTV12QDirIterator) + 8u)
-Class QFlags<QDirIterator::IteratorFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QDirIterator::IteratorFlag> (0xb53afb80) 0
Class QUrl
size=4 align=4
base size=4 base align=4
QUrl (0xb53c3940) 0
-Class QFlags<QUrl::FormattingOption>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUrl::FormattingOption> (0xb53cf940) 0
-Class QTypeInfo<QUrl>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QUrl> (0xb53eda80) 0 empty
Class QSystemSemaphore
size=4 align=4
@@ -4335,10 +1943,6 @@ QEventLoop (0xb5414580) 0
QObject (0xb54145c0) 0
primary-for QEventLoop (0xb5414580)
-Class QFlags<QEventLoop::ProcessEventsFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QEventLoop::ProcessEventsFlag> (0xb5414bc0) 0
Vtable for QAbstractEventDispatcher
QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 27u entries
@@ -4483,10 +2087,6 @@ Class QBasicTimer
base size=4 base align=4
QBasicTimer (0xb5277c80) 0
-Class QTypeInfo<QBasicTimer>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBasicTimer> (0xb52773c0) 0 empty
Vtable for QTimer
QTimer::_ZTV6QTimer: 14u entries
@@ -4543,20 +2143,12 @@ Class QMetaMethod
base size=8 base align=4
QMetaMethod (0xb52a1800) 0
-Class QTypeInfo<QMetaMethod>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaMethod> (0xb52a1b00) 0 empty
Class QMetaEnum
size=8 align=4
base size=8 base align=4
QMetaEnum (0xb52a1b40) 0
-Class QTypeInfo<QMetaEnum>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaEnum> (0xb52a1d40) 0 empty
Class QMetaProperty
size=20 align=4
@@ -4568,10 +2160,6 @@ Class QMetaClassInfo
base size=8 base align=4
QMetaClassInfo (0xb52a1fc0) 0
-Class QTypeInfo<QMetaClassInfo>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QMetaClassInfo> (0xb52bf100) 0 empty
Class __exception
size=32 align=4
@@ -4686,20 +2274,12 @@ Class QModelIndex
base size=16 base align=4
QModelIndex (0xb531b280) 0
-Class QTypeInfo<QModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QModelIndex> (0xb532df40) 0 empty
Class QPersistentModelIndex
size=4 align=4
base size=4 base align=4
QPersistentModelIndex (0xb532df80) 0
-Class QTypeInfo<QPersistentModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPersistentModelIndex> (0xb5334680) 0 empty
Vtable for QAbstractItemModel
QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
@@ -4895,20 +2475,12 @@ Class QSize
base size=8 base align=4
QSize (0xb51889c0) 0
-Class QTypeInfo<QSize>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSize> (0xb5196b80) 0 empty
Class QSizeF
size=16 align=4
base size=16 base align=4
QSizeF (0xb51ac940) 0
-Class QTypeInfo<QSizeF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSizeF> (0xb51bab80) 0 empty
Class QBitArray
size=4 align=4
@@ -4920,50 +2492,30 @@ Class QBitRef
base size=8 base align=4
QBitRef (0xb51f9940) 0
-Class QTypeInfo<QBitArray>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QBitArray> (0xb520b240) 0 empty
Class QPoint
size=8 align=4
base size=8 base align=4
QPoint (0xb520b340) 0
-Class QTypeInfo<QPoint>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPoint> (0xb521a200) 0 empty
Class QPointF
size=16 align=4
base size=16 base align=4
QPointF (0xb52248c0) 0
-Class QTypeInfo<QPointF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QPointF> (0xb5230900) 0 empty
Class QRect
size=16 align=4
base size=16 base align=4
QRect (0xb523fb80) 0
-Class QTypeInfo<QRect>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRect> (0xb52595c0) 0 empty
Class QRectF
size=32 align=4
base size=32 base align=4
QRectF (0xb509d640) 0
-Class QTypeInfo<QRectF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QRectF> (0xb50b7740) 0 empty
Class QTextBoundaryFinder
size=28 align=4
@@ -4985,20 +2537,12 @@ Class QLine
base size=16 base align=4
QLine (0xb510a340) 0
-Class QTypeInfo<QLine>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLine> (0xb510a6c0) 0 empty
Class QLineF
size=32 align=4
base size=32 base align=4
QLineF (0xb5165bc0) 0
-Class QTypeInfo<QLineF>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QLineF> (0xb4f78440) 0 empty
Class QCryptographicHash
size=4 align=4
@@ -5010,30 +2554,18 @@ Class QDate
base size=4 base align=4
QDate (0xb4f9a640) 0
-Class QTypeInfo<QDate>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDate> (0xb4fa8a40) 0 empty
Class QTime
size=4 align=4
base size=4 base align=4
QTime (0xb4fa8a80) 0
-Class QTypeInfo<QTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QTime> (0xb4fb9b80) 0 empty
Class QDateTime
size=4 align=4
base size=4 base align=4
QDateTime (0xb4fb9bc0) 0
-Class QTypeInfo<QDateTime>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QDateTime> (0xb4fc6fc0) 0 empty
Class QLinkedListData
size=20 align=4
@@ -5079,10 +2611,6 @@ QLibrary (0xb4fdd480) 0
QObject (0xb4fdd4c0) 0
primary-for QLibrary (0xb4fdd480)
-Class QFlags<QLibrary::LoadHint>
- size=4 align=4
- base size=4 base align=4
-QFlags<QLibrary::LoadHint> (0xb4fdd3c0) 0
Class QUuid
size=16 align=4
@@ -5129,20 +2657,12 @@ Class QReadWriteLock
base size=4 base align=4
QReadWriteLock (0xb4e91280) 0
-Class QReadLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QReadLocker::<anonymous union> (0xb4e91940) 0
Class QReadLocker
size=4 align=4
base size=4 base align=4
QReadLocker (0xb4e91640) 0
-Class QWriteLocker::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QWriteLocker::<anonymous union> (0xb4e99a40) 0
Class QWriteLocker
size=4 align=4
@@ -5159,20 +2679,8 @@ Class QXmlStreamAttribute
base size=53 base align=4
QXmlStreamAttribute (0xb4eb8140) 0
-Class QTypeInfo<QXmlStreamAttribute>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QXmlStreamAttribute> (0xb4ec5100) 0 empty
-Class QVector<QXmlStreamAttribute>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QVector<QXmlStreamAttribute>::<anonymous union> (0xb4ec51c0) 0
-Class QVector<QXmlStreamAttribute>
- size=4 align=4
- base size=4 base align=4
-QVector<QXmlStreamAttribute> (0xb4ec5140) 0
Class QXmlStreamAttributes
size=4 align=4
@@ -5185,30 +2693,18 @@ Class QXmlStreamNamespaceDeclaration
base size=28 base align=4
QXmlStreamNamespaceDeclaration (0xb4ec5280) 0
-Class QTypeInfo<QXmlStreamNamespaceDeclaration>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QXmlStreamNamespaceDeclaration> (0xb4ec5a00) 0 empty
Class QXmlStreamNotationDeclaration
size=40 align=4
base size=40 base align=4
QXmlStreamNotationDeclaration (0xb4ec5a40) 0
-Class QTypeInfo<QXmlStreamNotationDeclaration>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QXmlStreamNotationDeclaration> (0xb4ef2280) 0 empty
Class QXmlStreamEntityDeclaration
size=64 align=4
base size=64 base align=4
QXmlStreamEntityDeclaration (0xb4ef22c0) 0
-Class QTypeInfo<QXmlStreamEntityDeclaration>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QXmlStreamEntityDeclaration> (0xb4ef2d00) 0 empty
Vtable for QXmlStreamEntityResolver
QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver: 6u entries
@@ -5536,25 +3032,13 @@ QUdpSocket (0xb4da4400) 0
QObject (0xb4da44c0) 0
primary-for QIODevice (0xb4da4480)
-Class QFlags<QUdpSocket::BindFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QUdpSocket::BindFlag> (0xb4da4e80) 0
-Class QSharedDataPointer<QNetworkRequestPrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QNetworkRequestPrivate> (0xb4dc0ec0) 0
Class QNetworkRequest
size=4 align=4
base size=4 base align=4
QNetworkRequest (0xb4dc0980) 0
-Class QMetaTypeId<QNetworkRequest>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QNetworkRequest> (0xb4dc0fc0) 0 empty
Vtable for QHttpHeader
QHttpHeader::_ZTV11QHttpHeader: 8u entries
@@ -5757,20 +3241,12 @@ QNetworkReply (0xb4e21700) 0
QObject (0xb4e21780) 0
primary-for QIODevice (0xb4e21740)
-Class QSharedDataPointer<QNetworkCookiePrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QNetworkCookiePrivate> (0xb4e406c0) 0
Class QNetworkCookie
size=4 align=4
base size=4 base align=4
QNetworkCookie (0xb4e40000) 0
-Class QTypeInfo<QNetworkCookie>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QNetworkCookie> (0xb4e40800) 0 empty
Vtable for QNetworkCookieJar
QNetworkCookieJar::_ZTV17QNetworkCookieJar: 16u entries
@@ -5799,15 +3275,7 @@ QNetworkCookieJar (0xb4e40840) 0
QObject (0xb4e40880) 0
primary-for QNetworkCookieJar (0xb4e40840)
-Class QMetaTypeId<QNetworkCookie>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QNetworkCookie> (0xb4e40fc0) 0 empty
-Class QMetaTypeId<QList<QNetworkCookie> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QList<QNetworkCookie> > (0xb4e5a000) 0 empty
Class QAuthenticator
size=4 align=4
@@ -5819,20 +3287,12 @@ Class QNetworkAddressEntry
base size=4 base align=4
QNetworkAddressEntry (0xb4e5a500) 0
-Class QSharedDataPointer<QNetworkInterfacePrivate>
- size=4 align=4
- base size=4 base align=4
-QSharedDataPointer<QNetworkInterfacePrivate> (0xb4e68140) 0
Class QNetworkInterface
size=4 align=4
base size=4 base align=4
QNetworkInterface (0xb4e5a800) 0
-Class QFlags<QNetworkInterface::InterfaceFlag>
- size=4 align=4
- base size=4 base align=4
-QFlags<QNetworkInterface::InterfaceFlag> (0xb4e68200) 0
Class QHostInfo
size=4 align=4
@@ -5906,10 +3366,6 @@ QSslSocket (0xb4c79680) 0
QObject (0xb4c79780) 0
primary-for QIODevice (0xb4c79740)
-Class QMetaTypeId<QList<QSslError> >
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QList<QSslError> > (0xb4c8c7c0) 0 empty
Class QSslConfiguration
size=4 align=4
@@ -5926,20 +3382,8 @@ Class QXmlName
base size=8 base align=4
QXmlName (0xb4c9f480) 0
-Class QTypeInfo<QXmlName>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QXmlName> (0xb4cac300) 0 empty
-Class QMetaTypeId<QXmlName>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QXmlName> (0xb4cac340) 0 empty
-Class QPatternist::NodeIndexStorage::<anonymous union>
- size=8 align=4
- base size=8 base align=4
-QPatternist::NodeIndexStorage::<anonymous union> (0xb4cac440) 0
Class QPatternist::NodeIndexStorage
size=20 align=4
@@ -5985,30 +3429,14 @@ QAbstractXmlNodeModel (0xb4cd56c0) 0
vptr=((& QAbstractXmlNodeModel::_ZTV21QAbstractXmlNodeModel) + 8u)
QSharedData (0xb4cd5700) 4
-Class QTypeInfo<QXmlNodeModelIndex>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QXmlNodeModelIndex> (0xb4ce3300) 0 empty
-Class QXmlItem::<anonymous union>
- size=20 align=4
- base size=20 base align=4
-QXmlItem::<anonymous union> (0xb4ce3880) 0
Class QXmlItem
size=20 align=4
base size=20 base align=4
QXmlItem (0xb4ce3340) 0
-Class QTypeInfo<QXmlItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QXmlItem> (0xb4ce38c0) 0 empty
-Class QMetaTypeId<QXmlItem>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QXmlItem> (0xb4ce3900) 0 empty
Vtable for QAbstractXmlReceiver
QAbstractXmlReceiver::_ZTV20QAbstractXmlReceiver: 18u entries
@@ -6102,35 +3530,19 @@ QXmlFormatter (0xb4cf93c0) 0
QAbstractXmlReceiver (0xb4cf9440) 0
primary-for QXmlSerializer (0xb4cf9400)
-Class QExplicitlySharedDataPointer<QPatternist::NamePool>
- size=4 align=4
- base size=4 base align=4
-QExplicitlySharedDataPointer<QPatternist::NamePool> (0xb4cf9940) 0
Class QXmlNamePool
size=4 align=4
base size=4 base align=4
QXmlNamePool (0xb4cf9600) 0
-Class QSourceLocation::<anonymous union>
- size=8 align=4
- base size=8 base align=4
-QSourceLocation::<anonymous union> (0xb4cf9dc0) 0
Class QSourceLocation
size=20 align=4
base size=20 base align=4
QSourceLocation (0xb4cf9980) 0
-Class QTypeInfo<QSourceLocation>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSourceLocation> (0xb4cf9e00) 0 empty
-Class QMetaTypeId<QSourceLocation>
- size=1 align=1
- base size=0 base align=1
-QMetaTypeId<QSourceLocation> (0xb4cf9e40) 0 empty
Vtable for QAbstractMessageHandler
QAbstractMessageHandler::_ZTV23QAbstractMessageHandler: 15u entries
@@ -6233,68 +3645,16 @@ QAbstractUriResolver (0xb4d1fd40) 0
QObject (0xb4d1fd80) 0
primary-for QAbstractUriResolver (0xb4d1fd40)
-Class QList<QByteArray>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QByteArray>::Node (0xb4d32440) 0
-Class QList<QString>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QString>::Node (0xb4d324c0) 0
-Class QTypeInfo<QtConcurrent::ResultItem>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QtConcurrent::ResultItem> (0xb4d328c0) 0 empty
-Class QMap<int, QtConcurrent::ResultItem>::Node
- size=20 align=4
- base size=20 base align=4
-QMap<int, QtConcurrent::ResultItem>::Node (0xb4d32940) 0
-Class QList<QNetworkCookie>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QNetworkCookie>::<anonymous union> (0xb4d32a80) 0
-Class QList<QNetworkCookie>
- size=4 align=4
- base size=4 base align=4
-QList<QNetworkCookie> (0xb4d32a00) 0
-Class QList<QSslError>::<anonymous union>
- size=4 align=4
- base size=4 base align=4
-QList<QSslError>::<anonymous union> (0xb4d32b80) 0
-Class QList<QSslError>
- size=4 align=4
- base size=4 base align=4
-QList<QSslError> (0xb4d32b00) 0
-Class QMap<int, QtConcurrent::ResultItem>::PayloadNode
- size=16 align=4
- base size=16 base align=4
-QMap<int, QtConcurrent::ResultItem>::PayloadNode (0xb4d32bc0) 0
-Class QList<QFileInfo>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QFileInfo>::Node (0xb4d32c40) 0
-Class QList<QNetworkCookie>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QNetworkCookie>::Node (0xb4d32cc0) 0
-Class QTypeInfo<QSslError>
- size=1 align=1
- base size=0 base align=1
-QTypeInfo<QSslError> (0xb4d32d40) 0 empty
-Class QList<QSslError>::Node
- size=4 align=4
- base size=4 base align=4
-QList<QSslError>::Node (0xb4d32dc0) 0
diff --git a/tests/auto/bic/gen.sh b/tests/auto/bic/gen.sh
index 2479a33..31031aa 100755
--- a/tests/auto/bic/gen.sh
+++ b/tests/auto/bic/gen.sh
@@ -18,5 +18,9 @@ for module in $modules; do
echo "#include <$module/$module>" >test.cpp
g++ -c -I$QTDIR/include -DQT_NO_STL -DQT3_SUPPORT -fdump-class-hierarchy test.cpp
mv test.cpp*.class $module.$2.txt
+ # Remove template classes from the output
+ perl -pi -e '$skip = 0 if (/^\n/);
+ $skip = 1 if (/^(Class|Vtable).*</);
+ $_ = "" if ($skip);' $module.$2.txt
done
diff --git a/tests/auto/bic/tst_bic.cpp b/tests/auto/bic/tst_bic.cpp
index e7a0c04..b5b503d 100644
--- a/tests/auto/bic/tst_bic.cpp
+++ b/tests/auto/bic/tst_bic.cpp
@@ -43,6 +43,10 @@
#include <QtCore/QtCore>
#include <QtTest/QtTest>
+#ifdef QT_NO_PROCESS
+QTEST_NOOP_MAIN
+#else
+
#include "qbic.h"
#include <stdlib.h>
@@ -145,7 +149,7 @@ void tst_Bic::initTestCase_data()
void tst_Bic::initTestCase()
{
- QString qtDir = QString::fromLocal8Bit(getenv("QTDIR"));
+ QString qtDir = QString::fromLocal8Bit(qgetenv("QTDIR"));
QVERIFY2(!qtDir.isEmpty(), "This test needs $QTDIR");
if (qgetenv("PATH").contains("teambuilder"))
@@ -220,7 +224,7 @@ QBic::Info tst_Bic::getCurrentInfo(const QString &libName)
tmpQFile.write(tmpFileContents);
tmpQFile.flush();
- QString qtDir = QString::fromLocal8Bit(getenv("QTDIR"));
+ QString qtDir = QString::fromLocal8Bit(qgetenv("QTDIR"));
#ifdef Q_OS_WIN
qtDir.replace('\\', '/');
#endif
@@ -257,22 +261,18 @@ QBic::Info tst_Bic::getCurrentInfo(const QString &libName)
return QBic::Info();
}
- QString resultFileName = QFileInfo(tmpQFile).fileName();
- static const char *suffixes[] = { ".t01.class", ".class", ".002t.class", 0 };
- for (const char **p = suffixes; true; ++p) {
- if (!p) {
- // we didn't find the file
- qFatal("GCC didn't produce the expected intermediary files. Please update this test!");
- return QBic::Info();
- }
-
- QString check = resultFileName + *p;
- if (!QFile::exists(check))
- continue;
-
- resultFileName = check;
- break;
+ // See if we find the gcc output file, which seems to change
+ // from release to release
+ QStringList files = QDir().entryList(QStringList() << "*.class");
+ if (files.isEmpty()) {
+ qFatal("Could not locate the GCC output file, update this test");
+ return QBic::Info();
+ } else if (files.size() > 1) {
+ qFatal("Located more than one output file, please clean up before running this test");
+ return QBic::Info();
}
+
+ QString resultFileName = files.first();
QBic::Info inf = bic.parseFile(resultFileName);
QFile::remove(resultFileName);
@@ -367,4 +367,4 @@ void tst_Bic::sizesAndVTables()
QTEST_APPLESS_MAIN(tst_Bic)
#include "tst_bic.moc"
-
+#endif
diff --git a/tests/auto/compilerwarnings/tst_compilerwarnings.cpp b/tests/auto/compilerwarnings/tst_compilerwarnings.cpp
index 2f5cf6c..d5fef1b 100644
--- a/tests/auto/compilerwarnings/tst_compilerwarnings.cpp
+++ b/tests/auto/compilerwarnings/tst_compilerwarnings.cpp
@@ -47,6 +47,10 @@
#include <QtTest/QtTest>
+#ifdef QT_NO_PROCESS
+QTEST_NOOP_MAIN
+#else
+
#include <stdlib.h>
QT_USE_NAMESPACE
@@ -67,8 +71,8 @@ private slots:
static QStringList getFeatures()
{
QStringList srcDirs;
- srcDirs << QString::fromLocal8Bit(getenv("QTDIR"))
- << QString::fromLocal8Bit(getenv("QTSRCDIR"));
+ srcDirs << QString::fromLocal8Bit(qgetenv("QTDIR"))
+ << QString::fromLocal8Bit(qgetenv("QTSRCDIR"));
QString featurefile;
foreach (QString dir, srcDirs) {
@@ -157,7 +161,7 @@ void tst_CompilerWarnings::warnings()
QStringList args;
QString compilerName;
- static QString qtDir = QString::fromLocal8Bit(getenv("QTDIR"));
+ static QString qtDir = QString::fromLocal8Bit(qgetenv("QTDIR"));
QVERIFY2(!qtDir.isEmpty(), "This test needs $QTDIR");
args << cflags;
@@ -248,4 +252,4 @@ void tst_CompilerWarnings::warnings()
QTEST_APPLESS_MAIN(tst_CompilerWarnings)
#include "tst_compilerwarnings.moc"
-
+#endif // QT_NO_PROCESS
diff --git a/tests/auto/exceptionsafety_objects/oomsimulator.h b/tests/auto/exceptionsafety_objects/oomsimulator.h
index 11dd769..d765e5b 100644
--- a/tests/auto/exceptionsafety_objects/oomsimulator.h
+++ b/tests/auto/exceptionsafety_objects/oomsimulator.h
@@ -1,7 +1,7 @@
/****************************************************************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the test suite of the Qt Toolkit.
**
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/tests/auto/exceptionsafety_objects/tst_exceptionsafety_objects.cpp b/tests/auto/exceptionsafety_objects/tst_exceptionsafety_objects.cpp
index c2c0685..e74d158 100644
--- a/tests/auto/exceptionsafety_objects/tst_exceptionsafety_objects.cpp
+++ b/tests/auto/exceptionsafety_objects/tst_exceptionsafety_objects.cpp
@@ -1,7 +1,7 @@
/****************************************************************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the test suite of the Qt Toolkit.
**
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
@@ -71,49 +71,60 @@ private slots:
void widgets_data();
void widgets();
+
+ void vector_data();
+ void vector();
+
+ void list_data();
+ void list();
+
+ void linkedList_data();
+ void linkedList();
};
// helper structs to create an arbitrary widget
-struct AbstractObjectCreator
+struct AbstractTester
{
- virtual void test(QObject *parent) = 0;
+ virtual void operator()(QObject *parent) = 0;
};
+Q_DECLARE_METATYPE(AbstractTester *)
-Q_DECLARE_METATYPE(AbstractObjectCreator *)
+typedef void (*TestFunction)(QObject*);
+Q_DECLARE_METATYPE(TestFunction)
template <typename T>
-struct ObjectCreator : public AbstractObjectCreator
+struct ObjectCreator : public AbstractTester
{
- void test(QObject *)
+ void operator()(QObject *)
{
QScopedPointer<T> ptr(new T);
}
};
-struct BitArrayCreator : public AbstractObjectCreator
+struct BitArrayCreator : public AbstractTester
{
- void test(QObject *)
+ void operator()(QObject *)
{ QScopedPointer<QBitArray> bitArray(new QBitArray(100, true)); }
};
-struct ByteArrayMatcherCreator : public AbstractObjectCreator
+struct ByteArrayMatcherCreator : public AbstractTester
{
- void test(QObject *)
+ void operator()(QObject *)
{ QScopedPointer<QByteArrayMatcher> ptr(new QByteArrayMatcher("ralf test",8)); }
};
-struct CryptographicHashCreator : public AbstractObjectCreator
+struct CryptographicHashCreator : public AbstractTester
{
- void test(QObject *)
+ void operator()(QObject *)
{
QScopedPointer<QCryptographicHash> ptr(new QCryptographicHash(QCryptographicHash::Sha1));
ptr->addData("ralf test",8);
}
};
-struct DataStreamCreator : public AbstractObjectCreator
+struct DataStreamCreator : public AbstractTester
{
- void test(QObject *)
+ void operator()(QObject *)
{
QScopedPointer<QByteArray> arr(new QByteArray("hallo, test"));
QScopedPointer<QDataStream> ptr(new QDataStream(arr.data(), QIODevice::ReadWrite));
@@ -121,9 +132,9 @@ struct DataStreamCreator : public AbstractObjectCreator
}
};
-struct DirCreator : public AbstractObjectCreator
+struct DirCreator : public AbstractTester
{
- void test(QObject *)
+ void operator()(QObject *)
{
QDir::cleanPath("../////././");
QScopedPointer<QDir> ptr(new QDir("."));
@@ -140,9 +151,9 @@ struct DirCreator : public AbstractObjectCreator
void tst_ExceptionSafetyObjects::objects_data()
{
- QTest::addColumn<AbstractObjectCreator *>("objectCreator");
+ QTest::addColumn<AbstractTester *>("objectCreator");
-#define NEWROW(T) QTest::newRow(#T) << static_cast<AbstractObjectCreator *>(new ObjectCreator<T >)
+#define NEWROW(T) QTest::newRow(#T) << static_cast<AbstractTester *>(new ObjectCreator<T >)
NEWROW(QObject);
NEWROW(QBuffer);
NEWROW(QFile);
@@ -154,7 +165,7 @@ void tst_ExceptionSafetyObjects::objects_data()
NEWROW(QTranslator);
NEWROW(QFSFileEngine);
-#define NEWROW2(T, CREATOR) QTest::newRow(#T) << static_cast<AbstractObjectCreator *>(new CREATOR)
+#define NEWROW2(T, CREATOR) QTest::newRow(#T) << static_cast<AbstractTester *>(new CREATOR)
NEWROW2(QBitArray, BitArrayCreator);
NEWROW2(QByteArrayMatcher, ByteArrayMatcherCreator);
NEWROW2(QCryptographicHash, CryptographicHashCreator);
@@ -165,7 +176,8 @@ void tst_ExceptionSafetyObjects::objects_data()
// create and destructs an object, and lets each and every allocation
// during construction and destruction fail.
-static void doOOMTest(AbstractObjectCreator *creator, QObject *parent, int start=0)
+template <typename T>
+static void doOOMTest(T &testFunc, QObject *parent, int start=0)
{
int currentOOMIndex = start;
bool caught = false;
@@ -180,7 +192,7 @@ static void doOOMTest(AbstractObjectCreator *creator, QObject *parent, int start
caught = false;
try {
- creator->test(parent);
+ testFunc(parent);
} catch (const std::bad_alloc &) {
caught = true;
} catch (const std::exception &ex) {
@@ -198,6 +210,10 @@ static void doOOMTest(AbstractObjectCreator *creator, QObject *parent, int start
}
}
+ // if we get a FAIL, stop executing now
+ if (QTest::currentTestFailed())
+ done = true;
+
//#define REALLY_VERBOSE
#ifdef REALLY_VERBOSE
fprintf(stderr, " OOM Index: %d\n", currentOOMIndex);
@@ -212,6 +228,8 @@ static void doOOMTest(AbstractObjectCreator *creator, QObject *parent, int start
#ifdef VERBOSE
fprintf(stderr, "OOM Test done, checked allocs: %d (range %d - %d)\n", currentOOMIndex,
allocCountBefore, allocFailer.currentAllocIndex());
+#else
+ Q_UNUSED(allocCountBefore);
#endif
}
@@ -279,7 +297,7 @@ void tst_ExceptionSafetyObjects::initTestCase()
#endif
ObjectCreator<SelfTestObject> *selfTest = new ObjectCreator<SelfTestObject>;
- doOOMTest(selfTest, 0);
+ doOOMTest(*selfTest, 0);
delete selfTest;
QCOMPARE(alloc1Failed, 1);
QCOMPARE(alloc2Failed, 1);
@@ -291,17 +309,17 @@ void tst_ExceptionSafetyObjects::initTestCase()
void tst_ExceptionSafetyObjects::objects()
{
- QFETCH(AbstractObjectCreator *, objectCreator);
+ QFETCH(AbstractTester *, objectCreator);
- doOOMTest(objectCreator, 0);
+ doOOMTest(*objectCreator, 0);
delete objectCreator;
}
template <typename T>
-struct WidgetCreator : public AbstractObjectCreator
+struct WidgetCreator : public AbstractTester
{
- void test(QObject *parent)
+ void operator()(QObject *parent)
{
Q_ASSERT(!parent || parent->isWidgetType());
QScopedPointer<T> ptr(parent ? new T(static_cast<QWidget *>(parent)) : new T);
@@ -309,9 +327,9 @@ struct WidgetCreator : public AbstractObjectCreator
};
// QSizeGrip doesn't have a default constructor - always pass parent (even though it might be 0)
-template <> struct WidgetCreator<QSizeGrip> : public AbstractObjectCreator
+template <> struct WidgetCreator<QSizeGrip> : public AbstractTester
{
- void test(QObject *parent)
+ void operator()(QObject *parent)
{
Q_ASSERT(!parent || parent->isWidgetType());
QScopedPointer<QSizeGrip> ptr(new QSizeGrip(static_cast<QWidget *>(parent)));
@@ -319,9 +337,9 @@ template <> struct WidgetCreator<QSizeGrip> : public AbstractObjectCreator
};
// QDesktopWidget doesn't need a parent.
-template <> struct WidgetCreator<QDesktopWidget> : public AbstractObjectCreator
+template <> struct WidgetCreator<QDesktopWidget> : public AbstractTester
{
- void test(QObject *parent)
+ void operator()(QObject *parent)
{
Q_ASSERT(!parent || parent->isWidgetType());
QScopedPointer<QDesktopWidget> ptr(new QDesktopWidget());
@@ -329,10 +347,10 @@ template <> struct WidgetCreator<QDesktopWidget> : public AbstractObjectCreator
};
void tst_ExceptionSafetyObjects::widgets_data()
{
- QTest::addColumn<AbstractObjectCreator *>("widgetCreator");
+ QTest::addColumn<AbstractTester *>("widgetCreator");
#undef NEWROW
-#define NEWROW(T) QTest::newRow(#T) << static_cast<AbstractObjectCreator *>(new WidgetCreator<T >)
+#define NEWROW(T) QTest::newRow(#T) << static_cast<AbstractTester *>(new WidgetCreator<T >)
NEWROW(QWidget);
@@ -388,17 +406,16 @@ void tst_ExceptionSafetyObjects::widgets_data()
NEWROW(QTableWidget);
NEWROW(QTreeView);
NEWROW(QTreeWidget);
-
}
void tst_ExceptionSafetyObjects::widgets()
{
- QFETCH(AbstractObjectCreator *, widgetCreator);
+ QFETCH(AbstractTester *, widgetCreator);
- doOOMTest(widgetCreator, 0, 00000);
+ doOOMTest(*widgetCreator, 0, 00000);
QWidget parent;
- doOOMTest(widgetCreator, &parent, 00000);
+ doOOMTest(*widgetCreator, &parent, 00000);
delete widgetCreator;
@@ -406,6 +423,229 @@ void tst_ExceptionSafetyObjects::widgets()
QVERIFY(true);
}
+struct Integer
+{
+ Integer(int value = 42)
+ : ptr(new int(value))
+ {
+ ++instanceCount;
+ }
+
+ Integer(const Integer &other)
+ : ptr(new int(*other.ptr))
+ {
+ ++instanceCount;
+ }
+
+ Integer &operator=(const Integer &other)
+ {
+ int *newPtr = new int(*other.ptr);
+ delete ptr;
+ ptr = newPtr;
+ return *this;
+ }
+
+ ~Integer()
+ {
+ --instanceCount;
+ delete ptr;
+ }
+
+ int value() const
+ {
+ return *ptr;
+ }
+
+ int *ptr;
+ static int instanceCount;
+};
+
+int Integer::instanceCount = 0;
+
+template <template<typename T> class Container>
+void containerInsertTest(QObject*)
+{
+ Container<Integer> container;
+
+ // insert an item in an empty container
+ try {
+ container.insert(container.begin(), 41);
+ } catch (...) {
+ QVERIFY(container.isEmpty());
+ QCOMPARE(Integer::instanceCount, 0);
+ return;
+ }
+
+ QCOMPARE(container.size(), 1);
+ QCOMPARE(Integer::instanceCount, 1);
+
+ // insert an item before another item
+ try {
+ container.insert(container.begin(), 42);
+ } catch (...) {
+ QCOMPARE(container.size(), 1);
+ QCOMPARE(container.first().value(), 41);
+ QCOMPARE(Integer::instanceCount, 1);
+ return;
+ }
+
+ QCOMPARE(Integer::instanceCount, 2);
+
+ // insert an item in between
+ try {
+ container.insert(container.begin() + 1, 43);
+ } catch (...) {
+ QCOMPARE(container.size(), 2);
+ QCOMPARE(container.first().value(), 41);
+ QCOMPARE((container.begin() + 1)->value(), 42);
+ QCOMPARE(Integer::instanceCount, 2);
+ return;
+ }
+
+ QCOMPARE(Integer::instanceCount, 3);
+}
+
+template <template<typename T> class Container>
+void containerAppendTest(QObject*)
+{
+ Container<Integer> container;
+
+ // append to an empty container
+ try {
+ container.append(42);
+ } catch (...) {
+ QCOMPARE(container.size(), 0);
+ QCOMPARE(Integer::instanceCount, 0);
+ return;
+ }
+
+ // append to a container with one item
+ try {
+ container.append(43);
+ } catch (...) {
+ QCOMPARE(container.size(), 1);
+ QCOMPARE(container.first().value(), 42);
+ QCOMPARE(Integer::instanceCount, 1);
+ return;
+ }
+}
+
+template <template<typename T> class Container>
+void containerEraseTest(QObject*)
+{
+ Container<Integer> container;
+
+ try {
+ container.append(42);
+ container.append(43);
+ container.append(44);
+ container.append(45);
+ container.append(46);
+ } catch (...) {
+ // don't care
+ return;
+ }
+
+ // sanity checks
+ QCOMPARE(container.size(), 5);
+ QCOMPARE(Integer::instanceCount, 5);
+
+ // delete the first one
+ try {
+ container.erase(container.begin());
+ } catch (...) {
+ QCOMPARE(container.size(), 5);
+ QCOMPARE(container.first().value(), 42);
+ QCOMPARE(Integer::instanceCount, 5);
+ return;
+ }
+
+ QCOMPARE(container.size(), 4);
+ QCOMPARE(container.first().value(), 43);
+ QCOMPARE(Integer::instanceCount, 4);
+
+ // delete the last one
+ try {
+ container.erase(container.end() - 1);
+ } catch (...) {
+ QCOMPARE(container.size(), 4);
+ QCOMPARE(Integer::instanceCount, 4);
+ return;
+ }
+
+ QCOMPARE(container.size(), 3);
+ QCOMPARE(container.first().value(), 43);
+ QCOMPARE((container.begin() + 1)->value(), 44);
+ QCOMPARE((container.begin() + 2)->value(), 45);
+ QCOMPARE(Integer::instanceCount, 3);
+
+ // delete the middle one
+ try {
+ container.erase(container.begin() + 1);
+ } catch (...) {
+ QCOMPARE(container.size(), 3);
+ QCOMPARE(container.first().value(), 43);
+ QCOMPARE((container.begin() + 1)->value(), 44);
+ QCOMPARE((container.begin() + 2)->value(), 45);
+ QCOMPARE(Integer::instanceCount, 3);
+ return;
+ }
+
+ QCOMPARE(container.size(), 2);
+ QCOMPARE(container.first().value(), 43);
+ QCOMPARE((container.begin() + 1)->value(), 45);
+ QCOMPARE(Integer::instanceCount, 2);
+}
+
+template <template<typename T> class Container>
+static void containerData()
+{
+ QTest::addColumn<TestFunction>("testFunction");
+
+ QTest::newRow("insert") << static_cast<TestFunction>(containerInsertTest<Container>);
+ QTest::newRow("append") << static_cast<TestFunction>(containerAppendTest<Container>);
+ QTest::newRow("erase") << static_cast<TestFunction>(containerEraseTest<Container>);
+}
+
+void tst_ExceptionSafetyObjects::vector_data()
+{
+ containerData<QVector>();
+}
+
+void tst_ExceptionSafetyObjects::vector()
+{
+ QFETCH(TestFunction, testFunction);
+
+ if (QLatin1String(QTest::currentDataTag()) == QLatin1String("insert"))
+ QSKIP("QVector::insert is currently not strongly exception safe", SkipSingle);
+
+ doOOMTest(testFunction, 0);
+}
+
+void tst_ExceptionSafetyObjects::list_data()
+{
+ containerData<QList>();
+}
+
+void tst_ExceptionSafetyObjects::list()
+{
+ QFETCH(TestFunction, testFunction);
+
+ doOOMTest(testFunction, 0);
+}
+
+void tst_ExceptionSafetyObjects::linkedList_data()
+{
+ containerData<QLinkedList>();
+}
+
+void tst_ExceptionSafetyObjects::linkedList()
+{
+ QFETCH(TestFunction, testFunction);
+
+ doOOMTest(testFunction, 0);
+}
+
QTEST_MAIN(tst_ExceptionSafetyObjects)
#include "tst_exceptionsafety_objects.moc"
#endif // QT_NO_EXCEPTIONS
diff --git a/tests/auto/gestures/tst_gestures.cpp b/tests/auto/gestures/tst_gestures.cpp
index 6d3bc0a..d2ef64a 100644
--- a/tests/auto/gestures/tst_gestures.cpp
+++ b/tests/auto/gestures/tst_gestures.cpp
@@ -140,6 +140,13 @@ struct GestureState
last.secondfinger.lastPoint = TouchPoint();
last.secondfinger.point = TouchPoint();
last.secondfinger.offset = QPoint();
+ last.pan.delivered = false;
+ last.pan.startPoints[0] = TouchPoint();
+ last.pan.startPoints[1] = TouchPoint();
+ last.pan.lastPoints[0] = TouchPoint();
+ last.pan.lastPoints[1] = TouchPoint();
+ last.pan.points[0] = TouchPoint();
+ last.pan.points[1] = TouchPoint();
last.cancelled.clear();
}
};
@@ -760,7 +767,8 @@ void tst_Gestures::simpleGraphicsItem()
scene.addItem(item);
QApplication::processEvents();
- SingleshotEvent event(50, 80);
+ QPoint pt = view.mapFromScene(item->mapToScene(30, 30));
+ SingleshotEvent event(pt.x(), pt.y());
sendSpontaneousEvent(&view, &event);
QVERIFY(item->gesture.seenGestureEvent);
QVERIFY(scene.gesture.seenGestureEvent);
@@ -771,7 +779,9 @@ void tst_Gestures::simpleGraphicsItem()
mainWidget->reset();
item->shouldAcceptSingleshotGesture = false;
- SingleshotEvent event2(20, 40);
+ // outside of the graphicsitem
+ pt = view.mapFromScene(item->mapToScene(-10, -10));
+ SingleshotEvent event2(pt.x(), pt.y());
sendSpontaneousEvent(&view, &event2);
QVERIFY(!item->gesture.seenGestureEvent);
QVERIFY(scene.gesture.seenGestureEvent);
@@ -790,9 +800,11 @@ void tst_Gestures::overlappingGraphicsItems()
scene.addItem(item);
GraphicsItem *subitem1 = new GraphicsItem(50, 70);
subitem1->setPos(70, 70);
+ subitem1->setZValue(1);
scene.addItem(subitem1);
GraphicsItem *subitem2 = new GraphicsItem(50, 70);
subitem2->setPos(250, 70);
+ subitem2->setZValue(1);
scene.addItem(subitem2);
QApplication::processEvents();
@@ -802,13 +814,14 @@ void tst_Gestures::overlappingGraphicsItems()
subitem1->grabSingleshotGesture();
subitem2->grabSecondFingerGesture();
- SingleshotEvent event(100, 100);
+ QPoint pt = view.mapFromScene(subitem1->mapToScene(20, 20));
+ SingleshotEvent event(pt.x(), pt.y());
sendSpontaneousEvent(&view, &event);
- QVERIFY(subitem1->gesture.seenGestureEvent);
+ QVERIFY(scene.gesture.seenGestureEvent);
QVERIFY(!subitem2->gesture.seenGestureEvent);
QVERIFY(!item->gesture.seenGestureEvent);
- QVERIFY(scene.gesture.seenGestureEvent);
QVERIFY(!mainWidget->gesture.seenGestureEvent);
+ QVERIFY(subitem1->gesture.seenGestureEvent);
QVERIFY(subitem1->gesture.last.singleshot.delivered);
item->reset();
@@ -818,12 +831,12 @@ void tst_Gestures::overlappingGraphicsItems()
mainWidget->reset();
subitem1->shouldAcceptSingleshotGesture = false;
- SingleshotEvent event2(100, 100);
+ SingleshotEvent event2(pt.x(), pt.y());
sendSpontaneousEvent(&view, &event2);
- QVERIFY(subitem1->gesture.seenGestureEvent);
+ QVERIFY(scene.gesture.seenGestureEvent);
QVERIFY(!subitem2->gesture.seenGestureEvent);
+ QVERIFY(subitem1->gesture.seenGestureEvent);
QVERIFY(item->gesture.seenGestureEvent);
- QVERIFY(scene.gesture.seenGestureEvent);
QVERIFY(!mainWidget->gesture.seenGestureEvent);
QVERIFY(subitem1->gesture.last.singleshot.delivered);
QVERIFY(item->gesture.last.singleshot.delivered);
diff --git a/tests/auto/linguist/lconvert/data/makeplurals.pl b/tests/auto/linguist/lconvert/data/makeplurals.pl
new file mode 100755
index 0000000..19bffe0
--- /dev/null
+++ b/tests/auto/linguist/lconvert/data/makeplurals.pl
@@ -0,0 +1,42 @@
+#! /usr/bin/env perl
+
+sub makeit2($$$)
+{
+ for (my $i = 0; $i < (1 << $_[0]); $i++) {
+ print OUTFILE "\n";
+ print OUTFILE "$_[2]\n" unless $3 eq "";
+ print OUTFILE "msgid \"singular $_[1] $i\"\n";
+ print OUTFILE "msgid_plural \"plural $_[1] $i\"\n";
+ for (my $j = 0; $j < $_[0]; $j++) {
+ my $tr;
+ if (($i & (1 << $j)) == 0) {
+ $tr = "translated $_[1] $i $j";
+ }
+ print OUTFILE "msgstr[$j] \"$tr\"\n";
+ }
+ }
+}
+
+sub makeit($$)
+{
+ open OUTFILE, ">${OUTDIR}plural-$_[0].po" || die "cannot write file in $OUTDIR";
+ print OUTFILE <<EOF;
+msgid ""
+msgstr ""
+"X-FooBar: yup\\n"
+"X-Language: $_[1]\\n"
+EOF
+ makeit2($_[0], "one", "");
+ makeit2($_[0], "two", "#, fuzzy
+#| msgid \"old untranslated one\"");
+ makeit2($_[0], "three", "#, fuzzy
+#| msgid \"old untranslated two\"
+#| msgid_plural \"old untranslated plural two\"");
+ makeit2($_[0], "four", "#, fuzzy
+#| msgid_plural \"old untranslated only plural three\"");
+}
+
+$OUTDIR = $ARGV[0];
+makeit(1, "zh_CN");
+makeit(2, "de_DE");
+makeit(3, "pl_PL");
diff --git a/tests/auto/linguist/lconvert/data/makeplurals.sh b/tests/auto/linguist/lconvert/data/makeplurals.sh
deleted file mode 100755
index 2e0f375..0000000
--- a/tests/auto/linguist/lconvert/data/makeplurals.sh
+++ /dev/null
@@ -1,43 +0,0 @@
-#! /bin/bash
-
-function makeit2()
-{
- for ((i = 0; i < (1 << $1); i++)); do
- echo
- test -n "$3" && echo "$3"
- echo "msgid \"singular $2 $i\""
- echo "msgid_plural \"plural $2 $i\""
- for ((j = 0; j < $1; j++)); do
- tr=
- if test $((i & (1 << j))) = 0; then
- tr="translated $2 $i $j"
- fi
- echo "msgstr[$j] \"$tr\""
- done
- done
-}
-
-function makeit()
-{
- {
- cat <<EOF
-msgid ""
-msgstr ""
-"X-FooBar: yup\n"
-"X-Language: $2\n"
-EOF
- makeit2 $1 one ""
- makeit2 $1 two "#, fuzzy
-#| msgid \"old untranslated one\""
- makeit2 $1 three "#, fuzzy
-#| msgid \"old untranslated two\"
-#| msgid_plural \"old untranslated plural two\""
- makeit2 $1 four "#, fuzzy
-#| msgid_plural \"old untranslated only plural three\""
- } > ${OUTDIR}plural-$1.po
-}
-
-OUTDIR=$1
-makeit 1 zh_CN
-makeit 2 de_DE
-makeit 3 pl_PL
diff --git a/tests/auto/linguist/lconvert/data/test-broken-utf8.po.out b/tests/auto/linguist/lconvert/data/test-broken-utf8.po.out
index c00fd19..0a9f4c8 100644
--- a/tests/auto/linguist/lconvert/data/test-broken-utf8.po.out
+++ b/tests/auto/linguist/lconvert/data/test-broken-utf8.po.out
@@ -6,4 +6,4 @@ msgid "this works"
msgstr "das geht: ä"
msgid "this is broken"
-msgstr "das ist kaputt: i"
+msgstr "das ist kaputt: �i"
diff --git a/tests/auto/linguist/lconvert/tst_lconvert.cpp b/tests/auto/linguist/lconvert/tst_lconvert.cpp
index 40be55a..1ed71ab 100644
--- a/tests/auto/linguist/lconvert/tst_lconvert.cpp
+++ b/tests/auto/linguist/lconvert/tst_lconvert.cpp
@@ -47,7 +47,7 @@ class tst_lconvert : public QObject
Q_OBJECT
public:
- tst_lconvert() : dataDir("data/") {}
+ tst_lconvert() : dataDir("data/"), binDir(QLibraryInfo::location(QLibraryInfo::BinariesPath)) {}
private slots:
void initTestCase();
@@ -73,12 +73,13 @@ private:
const QList<QStringList> &args);
QString dataDir;
+ QString binDir;
};
void tst_lconvert::initTestCase()
{
if (!QFile::exists(QLatin1String("data/plural-1.po")))
- QProcess::execute(QLatin1String("data/makeplurals.sh"), QStringList() << QLatin1String("data/"));
+ QProcess::execute(QLatin1String("perl"), QStringList() << QLatin1String("data/makeplurals.pl") << QLatin1String("data/"));
QVERIFY(QFile::exists(QLatin1String("data/plural-1.po")));
}
@@ -151,7 +152,7 @@ void tst_lconvert::doCompare(QIODevice *actualDev, const QString &expectedFn)
void tst_lconvert::verifyReadFail(const QString &fn)
{
QProcess cvt;
- cvt.start("lconvert", QStringList() << (dataDir + fn));
+ cvt.start(binDir + "/lconvert", QStringList() << (dataDir + fn));
QVERIFY(cvt.waitForFinished(1000));
QVERIFY(cvt.exitStatus() == QProcess::NormalExit);
QVERIFY2(cvt.exitCode() == 2, "Accepted invalid input");
@@ -178,7 +179,7 @@ void tst_lconvert::convertChain(const QString &_inFileName, const QString &_outF
if (!argList.isEmpty())
args += argList[i];
args << "-if" << stations[i] << "-i" << "-" << "-of" << stations[i + 1];
- cvts.at(i)->start("lconvert", args);
+ cvts.at(i)->start(binDir + "/lconvert", args);
}
int st = 0;
foreach (QProcess *cvt, cvts)
@@ -242,7 +243,7 @@ void tst_lconvert::converts()
QString outFileNameFq = dataDir + outFileName;
QProcess cvt;
- cvt.start("lconvert", QStringList() << "-i" << (dataDir + inFileName) << "-of" << format);
+ cvt.start(binDir + "/lconvert", QStringList() << "-i" << (dataDir + inFileName) << "-of" << format);
doWait(&cvt, 0);
if (QTest::currentTestFailed())
return;
diff --git a/tests/auto/linguist/lrelease/tst_lrelease.cpp b/tests/auto/linguist/lrelease/tst_lrelease.cpp
index 512987d..4928a4f 100644
--- a/tests/auto/linguist/lrelease/tst_lrelease.cpp
+++ b/tests/auto/linguist/lrelease/tst_lrelease.cpp
@@ -49,16 +49,23 @@
class tst_lrelease : public QObject
{
Q_OBJECT
+
+public:
+ tst_lrelease() : binDir(QLibraryInfo::location(QLibraryInfo::BinariesPath)) {}
+
private:
private slots:
void translate();
void mixedcodecs();
void compressed();
+ void idbased();
void dupes();
private:
void doCompare(const QStringList &actual, const QString &expectedFn);
+
+ QString binDir;
};
void tst_lrelease::doCompare(const QStringList &actual, const QString &expectedFn)
@@ -111,7 +118,7 @@ void tst_lrelease::doCompare(const QStringList &actual, const QString &expectedF
void tst_lrelease::translate()
{
- QVERIFY(!QProcess::execute("lrelease testdata/translate.ts"));
+ QVERIFY(!QProcess::execute(binDir + "/lrelease testdata/translate.ts"));
QTranslator translator;
QVERIFY(translator.load("testdata/translate.qm"));
@@ -161,8 +168,8 @@ void tst_lrelease::translate()
void tst_lrelease::mixedcodecs()
{
- QVERIFY(!QProcess::execute("lrelease testdata/mixedcodecs-ts11.ts"));
- QVERIFY(!QProcess::execute("lrelease testdata/mixedcodecs-ts20.ts"));
+ QVERIFY(!QProcess::execute(binDir + "/lrelease testdata/mixedcodecs-ts11.ts"));
+ QVERIFY(!QProcess::execute(binDir + "/lrelease testdata/mixedcodecs-ts20.ts"));
QVERIFY(!QProcess::execute("cmp testdata/mixedcodecs-ts11.qm testdata/mixedcodecs-ts20.qm"));
QTranslator translator;
QVERIFY(translator.load("testdata/mixedcodecs-ts11.qm"));
@@ -176,7 +183,7 @@ void tst_lrelease::mixedcodecs()
void tst_lrelease::compressed()
{
- QVERIFY(!QProcess::execute("lrelease -compress testdata/compressed.ts"));
+ QVERIFY(!QProcess::execute(binDir + "/lrelease -compress testdata/compressed.ts"));
QTranslator translator;
QVERIFY(translator.load("testdata/compressed.qm"));
@@ -191,10 +198,22 @@ void tst_lrelease::compressed()
}
+void tst_lrelease::idbased()
+{
+ QVERIFY(!QProcess::execute(binDir + "/lrelease -idbased testdata/idbased.ts"));
+
+ QTranslator translator;
+ QVERIFY(translator.load("testdata/idbased.qm"));
+ qApp->installTranslator(&translator);
+
+ QCOMPARE(qtTrId("test_id"), QString::fromAscii("This is a test string."));
+ QCOMPARE(qtTrId("untranslated_id"), QString::fromAscii("This has no translation."));
+}
+
void tst_lrelease::dupes()
{
QProcess proc;
- proc.start("lrelease testdata/dupes.ts");
+ proc.start(binDir + "/lrelease testdata/dupes.ts");
QVERIFY(proc.waitForFinished());
QVERIFY(proc.exitStatus() == QProcess::NormalExit);
doCompare(QString(proc.readAllStandardError()).trimmed().remove('\r').split('\n'), "testdata/dupes.errors");
diff --git a/tests/auto/linguist/lupdate/testdata/good/lacksqobject/expectedoutput.txt b/tests/auto/linguist/lupdate/testdata/good/lacksqobject/expectedoutput.txt
index 8a0bd11..1a6cfeb 100644
--- a/tests/auto/linguist/lupdate/testdata/good/lacksqobject/expectedoutput.txt
+++ b/tests/auto/linguist/lupdate/testdata/good/lacksqobject/expectedoutput.txt
@@ -1,4 +1,8 @@
.*/lupdate/testdata/good/lacksqobject/main.cpp:17: Class 'B' lacks Q_OBJECT macro
-.*/lupdate/testdata/good/lacksqobject/main.cpp:26: Class 'C' lacks Q_OBJECT macro
+
+.*/lupdate/testdata/good/lacksqobject/main.cpp:24: Class 'C' lacks Q_OBJECT macro
+
.*/lupdate/testdata/good/lacksqobject/main.cpp:37: Class 'nsB::B' lacks Q_OBJECT macro
-.*/lupdate/testdata/good/lacksqobject/main.cpp:45: Class 'nsB::C' lacks Q_OBJECT macro
+
+.*/lupdate/testdata/good/lacksqobject/main.cpp:43: Class 'nsB::C' lacks Q_OBJECT macro
+
diff --git a/tests/auto/linguist/lupdate/testdata/good/lacksqobject/main.cpp b/tests/auto/linguist/lupdate/testdata/good/lacksqobject/main.cpp
index 05fcd79..0e42d52 100644
--- a/tests/auto/linguist/lupdate/testdata/good/lacksqobject/main.cpp
+++ b/tests/auto/linguist/lupdate/testdata/good/lacksqobject/main.cpp
@@ -1,8 +1,8 @@
// IMPORTANT!!!! If you want to add testdata to this file,
// always add it to the end in order to not change the linenumbers of translations!!!
-#include <QtCore>
-
+#define QTCORE <QtCore>
+#include QTCORE // Hidden from lupdate, but compiles
//
// Test 'lacks Q_OBJECT' reporting on namespace scopes
diff --git a/tests/auto/linguist/lupdate/testdata/good/mergeui/project.ts.before b/tests/auto/linguist/lupdate/testdata/good/mergeui/project.ts.before
index e297784..076520a 100644
--- a/tests/auto/linguist/lupdate/testdata/good/mergeui/project.ts.before
+++ b/tests/auto/linguist/lupdate/testdata/good/mergeui/project.ts.before
@@ -5,7 +5,7 @@
<message>
<location filename="project.ui" line="27"/>
<source>Qt Assistant - Find text</source>
- <!--should be changed to unfinished, since we are changing the sourcetext in the ui file-->
+ <!--should be changed to unfinished, since we are changing the sourcetext in the UI file-->
<translation>Qt Assistant - Finn tekst</translation>
</message>
<message>
diff --git a/tests/auto/linguist/lupdate/testdata/good/mergeui_obsolete/project.ts.result b/tests/auto/linguist/lupdate/testdata/good/mergeui_obsolete/project.ts.result
index d65110a..6bc565c 100644
--- a/tests/auto/linguist/lupdate/testdata/good/mergeui_obsolete/project.ts.result
+++ b/tests/auto/linguist/lupdate/testdata/good/mergeui_obsolete/project.ts.result
@@ -9,7 +9,7 @@
</message>
<message>
<location filename="project.ui" line="20"/>
- <source>This should not be considered to be more or less equal to the corresponding one in the ts file.</source>
+ <source>This should not be considered to be more or less equal to the corresponding one in the TS file.</source>
<translation type="unfinished"></translation>
</message>
<message>
diff --git a/tests/auto/linguist/lupdate/testdata/good/mergeui_obsolete/project.ui b/tests/auto/linguist/lupdate/testdata/good/mergeui_obsolete/project.ui
index 0d0defd..a5f8e9f 100644
--- a/tests/auto/linguist/lupdate/testdata/good/mergeui_obsolete/project.ui
+++ b/tests/auto/linguist/lupdate/testdata/good/mergeui_obsolete/project.ui
@@ -17,7 +17,7 @@
<widget class="QWidget" name="FindDialog" >
<property name="test1">
<!-- If the sourcetext is not similar to the vernacular sourcetext, mark the old one as obsolete and the new one as unfinished -->
- <string>This should not be considered to be more or less equal to the corresponding one in the ts file.</string>
+ <string>This should not be considered to be more or less equal to the corresponding one in the TS file.</string>
</property>
<property name="test2">
<string>Here, similarity should kick in!</string>
diff --git a/tests/auto/linguist/lupdate/testdata/good/parsecpp/main.cpp b/tests/auto/linguist/lupdate/testdata/good/parsecpp/main.cpp
index df75baf..735e4cd 100644
--- a/tests/auto/linguist/lupdate/testdata/good/parsecpp/main.cpp
+++ b/tests/auto/linguist/lupdate/testdata/good/parsecpp/main.cpp
@@ -156,3 +156,34 @@ QT_TRANSLATE_NOOP3_UTF8("scope", "string", "comment") // 4.4 doesn't see this
QT_TRANSLATE_NOOP("scope", "string " // this is an interleaved comment
"continuation on next line")
+
+
+class TestingTake17 : QObject {
+ Q_OBJECT
+
+ int function(void)
+ {
+ //: random comment
+ //= this_is_an_id
+ //~ loc-layout_id fooish_bar
+ //~ po-ignore_me totally foo-barred nonsense
+ tr("something cool");
+
+ tr("less cool");
+
+ //= another_id
+ tr("even more cool");
+ }
+};
+
+
+
+
+//: again an extra comment, this time for id-based NOOP
+//% "This is supposed\tto be quoted \" newline\n"
+//% "backslashed \\ stuff."
+QT_TRID_NOOP("this_a_id")
+
+//~ some thing
+//% "This needs to be here. Really."
+QString test = qtTrId("this_another_id", n);
diff --git a/tests/auto/linguist/lupdate/testdata/good/parsecpp/project.ts.result b/tests/auto/linguist/lupdate/testdata/good/parsecpp/project.ts.result
index 9386c19..97d3bce 100644
--- a/tests/auto/linguist/lupdate/testdata/good/parsecpp/project.ts.result
+++ b/tests/auto/linguist/lupdate/testdata/good/parsecpp/project.ts.result
@@ -2,6 +2,24 @@
<!DOCTYPE TS>
<TS version="2.0">
<context>
+ <name></name>
+ <message id="this_a_id">
+ <location filename="main.cpp" line="185"/>
+ <source>This is supposed to be quoted &quot; newline
+backslashed \ stuff.</source>
+ <extracomment>again an extra comment, this time for id-based NOOP</extracomment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message id="this_another_id" numerus="yes">
+ <location filename="main.cpp" line="189"/>
+ <source>This needs to be here. Really.</source>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ </translation>
+ <extra-some>thing</extra-some>
+ </message>
+</context>
+<context>
<name>Dialog2</name>
<message numerus="yes">
<location filename="main.cpp" line="29"/>
@@ -239,6 +257,27 @@
</message>
</context>
<context>
+ <name>TestingTake17</name>
+ <message id="this_is_an_id">
+ <location filename="main.cpp" line="170"/>
+ <source>something cool</source>
+ <extracomment>random comment</extracomment>
+ <translation type="unfinished"></translation>
+ <extra-po-ignore_me>totally foo-barred nonsense</extra-po-ignore_me>
+ <extra-loc-layout_id>fooish_bar</extra-loc-layout_id>
+ </message>
+ <message>
+ <location filename="main.cpp" line="172"/>
+ <source>less cool</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message id="another_id">
+ <location filename="main.cpp" line="175"/>
+ <source>even more cool</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>scope</name>
<message numerus="yes">
<location filename="main.cpp" line="146"/>
diff --git a/tests/auto/linguist/lupdate/testdata/good/parsecpp2/expectedoutput.txt b/tests/auto/linguist/lupdate/testdata/good/parsecpp2/expectedoutput.txt
new file mode 100644
index 0000000..e3f7926
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/parsecpp2/expectedoutput.txt
@@ -0,0 +1,7 @@
+.*/lupdate/testdata/good/parsecpp2/main.cpp:10: Excess closing brace .*
+
+.*/lupdate/testdata/good/parsecpp2/main.cpp:14: Excess closing brace .*
+
+.*/lupdate/testdata/good/parsecpp2/main.cpp:20: Excess closing brace .*
+
+.*/lupdate/testdata/good/parsecpp2/main.cpp:24: Excess closing brace .*
diff --git a/tests/auto/linguist/lupdate/testdata/good/parsecpp2/main.cpp b/tests/auto/linguist/lupdate/testdata/good/parsecpp2/main.cpp
new file mode 100644
index 0000000..eb4a09b
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/parsecpp2/main.cpp
@@ -0,0 +1,24 @@
+// IMPORTANT!!!! If you want to add testdata to this file,
+// always add it to the end in order to not change the linenumbers of translations!!!
+
+// nothing here
+
+// sickness: multi-\
+line c++ comment } (with brace)
+
+#define This is a closing brace } which was ignored
+} // complain here
+
+#define This is another \
+ closing brace } which was ignored
+} // complain here
+
+#define This is another /* comment in } define */\
+ something /* comment )
+ spanning {multiple} lines */ \
+ closing brace } which was ignored
+} // complain here
+
+#define This is another // comment in } define \
+ something } comment
+} // complain here
diff --git a/tests/auto/linguist/lupdate/testdata/good/parsecpp2/main2.cpp b/tests/auto/linguist/lupdate/testdata/good/parsecpp2/main2.cpp
new file mode 100644
index 0000000..1c72ac2
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/parsecpp2/main2.cpp
@@ -0,0 +1,28 @@
+// IMPORTANT!!!! If you want to add testdata to this file,
+// always add it to the end in order to not change the linenumbers of translations!!!
+
+// nothing here
+
+// sickness: multi-\
+line c++ comment } (with brace)
+
+#define This is a closing brace } which was ignored
+} // complain here
+
+#define This is another \
+ closing brace } which was ignored
+} // complain here
+
+#define This is another /* comment in } define */\
+ something /* comment )
+ spanning {multiple} lines */ \
+ closing brace } which was ignored
+} // complain here
+
+#define This is another // comment in } define \
+ something } comment
+} // complain here
+
+char somestring[] = "\
+ continued\n\
+ here and \"quoted\" to activate\n";
diff --git a/tests/auto/linguist/lupdate/testdata/good/parsecpp2/main3.cpp b/tests/auto/linguist/lupdate/testdata/good/parsecpp2/main3.cpp
new file mode 100644
index 0000000..731d5cdf
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/parsecpp2/main3.cpp
@@ -0,0 +1,42 @@
+// IMPORTANT!!!! If you want to add testdata to this file,
+// always add it to the end in order to not change the linenumbers of translations!!!
+
+// nothing here
+
+// sickness: multi-\
+line c++ comment } (with brace)
+
+#define This is a closing brace } which was ignored
+} // complain here
+
+#define This is another \
+ closing brace } which was ignored
+} // complain here
+
+#define This is another /* comment in } define */\
+ something /* comment )
+ spanning {multiple} lines */ \
+ closing brace } which was ignored
+} // complain here
+
+#define This is another // comment in } define \
+ something } comment
+} // complain here
+
+char somestring[] = "\
+ continued\n\
+ here and \"quoted\" to activate\n";
+
+ NSString *scriptSource = @"\
+ on SetupNewMail(theRecipientAddress, theSubject, theContent, theAttachmentPath)\n\
+ tell application \"Mail\" to activate\n\
+ tell application \"Mail\"\n\
+ set theMessage to make new outgoing message with properties {visible:true, subject:theSubject, content:theContent}\n\
+ tell theMessage\n\
+ make new to recipient at end of to recipients with properties {address:theRecipientAddress}\n\
+ end tell\n\
+ tell content of theMessage\n\
+ make new attachment with properties {file name:theAttachmentPath} at after last paragraph\n\
+ end tell\n\
+ end tell\n\
+ end SetupNewMail\n";
diff --git a/tests/auto/linguist/lupdate/testdata/good/parsecpp2/project.pro b/tests/auto/linguist/lupdate/testdata/good/parsecpp2/project.pro
new file mode 100644
index 0000000..7547a8d
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/parsecpp2/project.pro
@@ -0,0 +1,12 @@
+TEMPLATE = app
+LANGUAGE = C++
+
+SOURCES = main.cpp
+
+TRANSLATIONS += project.ts
+
+exists( $$TRANSLATIONS ) {
+ win32: system(del $$TRANSLATIONS)
+ unix: system(rm $$TRANSLATIONS)
+}
+
diff --git a/tests/auto/linguist/lupdate/testdata/good/parsecpp2/project.ts.result b/tests/auto/linguist/lupdate/testdata/good/parsecpp2/project.ts.result
new file mode 100644
index 0000000..07a7469
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/parsecpp2/project.ts.result
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0">
+</TS>
diff --git a/tests/auto/linguist/lupdate/testdata/good/proparsingpaths/file1.cpp b/tests/auto/linguist/lupdate/testdata/good/proparsingpaths/file1.cpp
new file mode 100644
index 0000000..ad87e70
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/proparsingpaths/file1.cpp
@@ -0,0 +1,9 @@
+// IMPORTANT!!!! If you want to add testdata to this file,
+// always add it to the end in order to not change the linenumbers of translations!!!
+
+
+void func1() {
+ QApplication::tr("Hello world", "top-level wildcard");
+}
+
+
diff --git a/tests/auto/linguist/lupdate/testdata/good/proparsingpaths/filter.cpp b/tests/auto/linguist/lupdate/testdata/good/proparsingpaths/filter.cpp
new file mode 100644
index 0000000..912963d
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/proparsingpaths/filter.cpp
@@ -0,0 +1,9 @@
+// IMPORTANT!!!! If you want to add testdata to this file,
+// always add it to the end in order to not change the linenumbers of translations!!!
+
+
+void func1() {
+ QApplication::tr("Hello world", "top-level direct");
+}
+
+
diff --git a/tests/auto/linguist/lupdate/testdata/good/proparsingpaths/project.pro b/tests/auto/linguist/lupdate/testdata/good/proparsingpaths/project.pro
new file mode 100644
index 0000000..820b4fa
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/proparsingpaths/project.pro
@@ -0,0 +1,10 @@
+SOURCES += file*.cpp filter.cpp non-existing.cpp
+
+include(sub/sub.pri)
+
+TRANSLATIONS = project.ts
+
+exists( $$TRANSLATIONS ) {
+ win32: system(del $$TRANSLATIONS)
+ unix: system(rm -f $$TRANSLATIONS)
+}
diff --git a/tests/auto/linguist/lupdate/testdata/good/proparsingpaths/project.ts.result b/tests/auto/linguist/lupdate/testdata/good/proparsingpaths/project.ts.result
new file mode 100644
index 0000000..470d6eb
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/proparsingpaths/project.ts.result
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0">
+<context>
+ <name>QApplication</name>
+ <message>
+ <location filename="file1.cpp" line="6"/>
+ <source>Hello world</source>
+ <comment>top-level wildcard</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="filter.cpp" line="6"/>
+ <source>Hello world</source>
+ <comment>top-level direct</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="sub/subfile1.cpp" line="6"/>
+ <source>Hello world</source>
+ <comment>nested wildcard</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="sub/subfilter.cpp" line="6"/>
+ <source>Hello world</source>
+ <comment>nested direct</comment>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/tests/auto/linguist/lupdate/testdata/good/proparsingpaths/sub/sub.pri b/tests/auto/linguist/lupdate/testdata/good/proparsingpaths/sub/sub.pri
new file mode 100644
index 0000000..a6079f9
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/proparsingpaths/sub/sub.pri
@@ -0,0 +1,3 @@
+VPATH += $$PWD
+
+SOURCES += sub/subfile?.cpp subfilter.cpp
diff --git a/tests/auto/linguist/lupdate/testdata/good/proparsingpaths/sub/subfile1.cpp b/tests/auto/linguist/lupdate/testdata/good/proparsingpaths/sub/subfile1.cpp
new file mode 100644
index 0000000..807d296
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/proparsingpaths/sub/subfile1.cpp
@@ -0,0 +1,9 @@
+// IMPORTANT!!!! If you want to add testdata to this file,
+// always add it to the end in order to not change the linenumbers of translations!!!
+
+
+void func1() {
+ QApplication::tr("Hello world", "nested wildcard");
+}
+
+
diff --git a/tests/auto/linguist/lupdate/testdata/good/proparsingpaths/sub/subfilter.cpp b/tests/auto/linguist/lupdate/testdata/good/proparsingpaths/sub/subfilter.cpp
new file mode 100644
index 0000000..6e5dd25
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/proparsingpaths/sub/subfilter.cpp
@@ -0,0 +1,9 @@
+// IMPORTANT!!!! If you want to add testdata to this file,
+// always add it to the end in order to not change the linenumbers of translations!!!
+
+
+void func1() {
+ QApplication::tr("Hello world", "nested direct");
+}
+
+
diff --git a/tests/auto/linguist/lupdate/testdata/good/textsimilarity/project.ts.result b/tests/auto/linguist/lupdate/testdata/good/textsimilarity/project.ts.result
index d65110a..6bc565c 100644
--- a/tests/auto/linguist/lupdate/testdata/good/textsimilarity/project.ts.result
+++ b/tests/auto/linguist/lupdate/testdata/good/textsimilarity/project.ts.result
@@ -9,7 +9,7 @@
</message>
<message>
<location filename="project.ui" line="20"/>
- <source>This should not be considered to be more or less equal to the corresponding one in the ts file.</source>
+ <source>This should not be considered to be more or less equal to the corresponding one in the TS file.</source>
<translation type="unfinished"></translation>
</message>
<message>
diff --git a/tests/auto/linguist/lupdate/testdata/good/textsimilarity/project.ui b/tests/auto/linguist/lupdate/testdata/good/textsimilarity/project.ui
index 0d0defd..a5f8e9f 100644
--- a/tests/auto/linguist/lupdate/testdata/good/textsimilarity/project.ui
+++ b/tests/auto/linguist/lupdate/testdata/good/textsimilarity/project.ui
@@ -17,7 +17,7 @@
<widget class="QWidget" name="FindDialog" >
<property name="test1">
<!-- If the sourcetext is not similar to the vernacular sourcetext, mark the old one as obsolete and the new one as unfinished -->
- <string>This should not be considered to be more or less equal to the corresponding one in the ts file.</string>
+ <string>This should not be considered to be more or less equal to the corresponding one in the TS file.</string>
</property>
<property name="test2">
<string>Here, similarity should kick in!</string>
diff --git a/tests/auto/linguist/lupdate/testlupdate.cpp b/tests/auto/linguist/lupdate/testlupdate.cpp
index 8abc2b0..04c03f1 100644
--- a/tests/auto/linguist/lupdate/testlupdate.cpp
+++ b/tests/auto/linguist/lupdate/testlupdate.cpp
@@ -56,8 +56,9 @@
TestLUpdate::TestLUpdate()
{
childProc = 0;
- m_cmdLupdate = QLatin1String("lupdate");
- m_cmdQMake = QLatin1String("qmake");
+ QString binPath = QLibraryInfo::location(QLibraryInfo::BinariesPath);
+ m_cmdLupdate = binPath + QLatin1String("/lupdate");
+ m_cmdQMake = binPath + QLatin1String("/qmake");
}
TestLUpdate::~TestLUpdate()
diff --git a/tests/auto/math3d/qmatrixnxn/tst_qmatrixnxn.cpp b/tests/auto/math3d/qmatrixnxn/tst_qmatrixnxn.cpp
index 7facf4a..fe1d0db 100644
--- a/tests/auto/math3d/qmatrixnxn/tst_qmatrixnxn.cpp
+++ b/tests/auto/math3d/qmatrixnxn/tst_qmatrixnxn.cpp
@@ -170,24 +170,27 @@ private slots:
void mapRect_data();
void mapRect();
+ void properties();
+ void metaTypes();
+
private:
static void setMatrix(QMatrix2x2& m, const qreal *values);
- static void setMatrixFixed(QMatrix2x2& m, const qreal *values);
+ static void setMatrixDirect(QMatrix2x2& m, const qreal *values);
static bool isSame(const QMatrix2x2& m, const qreal *values);
static bool isIdentity(const QMatrix2x2& m);
static void setMatrix(QMatrix3x3& m, const qreal *values);
- static void setMatrixFixed(QMatrix3x3& m, const qreal *values);
+ static void setMatrixDirect(QMatrix3x3& m, const qreal *values);
static bool isSame(const QMatrix3x3& m, const qreal *values);
static bool isIdentity(const QMatrix3x3& m);
static void setMatrix(QMatrix4x4& m, const qreal *values);
- static void setMatrixFixed(QMatrix4x4& m, const qreal *values);
+ static void setMatrixDirect(QMatrix4x4& m, const qreal *values);
static bool isSame(const QMatrix4x4& m, const qreal *values);
static bool isIdentity(const QMatrix4x4& m);
static void setMatrix(QMatrix4x3& m, const qreal *values);
- static void setMatrixFixed(QMatrix4x3& m, const qreal *values);
+ static void setMatrixDirect(QMatrix4x3& m, const qreal *values);
static bool isSame(const QMatrix4x3& m, const qreal *values);
static bool isIdentity(const QMatrix4x3& m);
};
@@ -321,8 +324,9 @@ void tst_QMatrix::setMatrix(QMatrix4x3& m, const qreal *values)
}
// Set a matrix to a specified array of values, which are assumed
-// to be in row-major order. This sets the values using fixed-point.
-void tst_QMatrix::setMatrixFixed(QMatrix2x2& m, const qreal *values)
+// to be in row-major order. This sets the values directly into
+// the internal data() array.
+void tst_QMatrix::setMatrixDirect(QMatrix2x2& m, const qreal *values)
{
float *data = m.data();
for (int row = 0; row < 2; ++row) {
@@ -331,7 +335,7 @@ void tst_QMatrix::setMatrixFixed(QMatrix2x2& m, const qreal *values)
}
}
}
-void tst_QMatrix::setMatrixFixed(QMatrix3x3& m, const qreal *values)
+void tst_QMatrix::setMatrixDirect(QMatrix3x3& m, const qreal *values)
{
float *data = m.data();
for (int row = 0; row < 3; ++row) {
@@ -340,7 +344,7 @@ void tst_QMatrix::setMatrixFixed(QMatrix3x3& m, const qreal *values)
}
}
}
-void tst_QMatrix::setMatrixFixed(QMatrix4x4& m, const qreal *values)
+void tst_QMatrix::setMatrixDirect(QMatrix4x4& m, const qreal *values)
{
float *data = m.data();
for (int row = 0; row < 4; ++row) {
@@ -349,7 +353,7 @@ void tst_QMatrix::setMatrixFixed(QMatrix4x4& m, const qreal *values)
}
}
}
-void tst_QMatrix::setMatrixFixed(QMatrix4x3& m, const qreal *values)
+void tst_QMatrix::setMatrixDirect(QMatrix4x3& m, const qreal *values)
{
float *data = m.data();
for (int row = 0; row < 3; ++row) {
@@ -359,8 +363,8 @@ void tst_QMatrix::setMatrixFixed(QMatrix4x3& m, const qreal *values)
}
}
-// qFuzzyCompare isn't quite "fuzzy" enough to handle conversion
-// to fixed-point and back again. So create "fuzzier" compares.
+// qFuzzyCompare isn't always "fuzzy" enough to handle conversion
+// between float, double, and qreal. So create "fuzzier" compares.
static bool fuzzyCompare(float x, float y, qreal epsilon = 0.001)
{
float diff = x - y;
@@ -511,7 +515,7 @@ void tst_QMatrix::create2x2()
QVERIFY(!m2.isIdentity());
QMatrix2x2 m3;
- setMatrixFixed(m3, uniqueValues2);
+ setMatrixDirect(m3, uniqueValues2);
QVERIFY(isSame(m3, uniqueValues2));
QMatrix2x2 m4(m3);
@@ -546,7 +550,7 @@ void tst_QMatrix::create3x3()
QVERIFY(!m2.isIdentity());
QMatrix3x3 m3;
- setMatrixFixed(m3, uniqueValues3);
+ setMatrixDirect(m3, uniqueValues3);
QVERIFY(isSame(m3, uniqueValues3));
QMatrix3x3 m4(m3);
@@ -581,7 +585,7 @@ void tst_QMatrix::create4x4()
QVERIFY(!m2.isIdentity());
QMatrix4x4 m3;
- setMatrixFixed(m3, uniqueValues4);
+ setMatrixDirect(m3, uniqueValues4);
QVERIFY(isSame(m3, uniqueValues4));
QMatrix4x4 m4(m3);
@@ -623,7 +627,7 @@ void tst_QMatrix::create4x3()
QVERIFY(!m2.isIdentity());
QMatrix4x3 m3;
- setMatrixFixed(m3, uniqueValues4x3);
+ setMatrixDirect(m3, uniqueValues4x3);
QVERIFY(isSame(m3, uniqueValues4x3));
QMatrix4x3 m4(m3);
@@ -2961,10 +2965,6 @@ void tst_QMatrix::extractTranslation()
QVERIFY(fuzzyCompare(vec.y(), y, epsilon));
QVERIFY(fuzzyCompare(vec.z(), z, epsilon));
- // Have to be careful with numbers here, it is really easy to blow away
- // the precision of a fixed pointer number, especially when doing distance
- // formula for vector normalization
-
QMatrix4x4 lookAt;
QVector3D eye(1.5f, -2.5f, 2.5f);
lookAt.lookAt(eye,
@@ -3334,6 +3334,50 @@ void tst_QMatrix::mapRect()
QVERIFY(mri == tri);
}
+class tst_QMatrix4x4Properties : public QObject
+{
+ Q_OBJECT
+ Q_PROPERTY(QMatrix4x4 matrix READ matrix WRITE setMatrix)
+public:
+ tst_QMatrix4x4Properties(QObject *parent = 0) : QObject(parent) {}
+
+ QMatrix4x4 matrix() const { return m; }
+ void setMatrix(const QMatrix4x4& value) { m = value; }
+
+private:
+ QMatrix4x4 m;
+};
+
+// Test getting and setting matrix properties via the metaobject system.
+void tst_QMatrix::properties()
+{
+ tst_QMatrix4x4Properties obj;
+
+ QMatrix4x4 m1(uniqueValues4);
+ obj.setMatrix(m1);
+
+ QMatrix4x4 m2 = qVariantValue<QMatrix4x4>(obj.property("matrix"));
+ QVERIFY(isSame(m2, uniqueValues4));
+
+ QMatrix4x4 m3(transposedValues4);
+ obj.setProperty("matrix", qVariantFromValue(m3));
+
+ m2 = qVariantValue<QMatrix4x4>(obj.property("matrix"));
+ QVERIFY(isSame(m2, transposedValues4));
+}
+
+void tst_QMatrix::metaTypes()
+{
+ QVERIFY(QMetaType::type("QMatrix4x4") == QMetaType::QMatrix4x4);
+
+ QCOMPARE(QByteArray(QMetaType::typeName(QMetaType::QMatrix4x4)),
+ QByteArray("QMatrix4x4"));
+
+ QVERIFY(QMetaType::isRegistered(QMetaType::QMatrix4x4));
+
+ QVERIFY(qMetaTypeId<QMatrix4x4>() == QMetaType::QMatrix4x4);
+}
+
QTEST_APPLESS_MAIN(tst_QMatrix)
#include "tst_qmatrixnxn.moc"
diff --git a/tests/auto/math3d/qquaternion/tst_qquaternion.cpp b/tests/auto/math3d/qquaternion/tst_qquaternion.cpp
index 395032f..369f5ac 100644
--- a/tests/auto/math3d/qquaternion/tst_qquaternion.cpp
+++ b/tests/auto/math3d/qquaternion/tst_qquaternion.cpp
@@ -93,10 +93,13 @@ private slots:
void nlerp_data();
void nlerp();
+
+ void properties();
+ void metaTypes();
};
-// qFuzzyCompare isn't quite "fuzzy" enough to handle conversion
-// to fixed-point and back again. So create "fuzzier" compares.
+// qFuzzyCompare isn't always "fuzzy" enough to handle conversion
+// between float, double, and qreal. So create "fuzzier" compares.
static bool fuzzyCompare(float x, float y)
{
float diff = x - y;
@@ -825,6 +828,55 @@ void tst_QQuaternion::nlerp()
QVERIFY(fuzzyCompare(result.scalar(), q3.scalar()));
}
+class tst_QQuaternionProperties : public QObject
+{
+ Q_OBJECT
+ Q_PROPERTY(QQuaternion quaternion READ quaternion WRITE setQuaternion)
+public:
+ tst_QQuaternionProperties(QObject *parent = 0) : QObject(parent) {}
+
+ QQuaternion quaternion() const { return q; }
+ void setQuaternion(const QQuaternion& value) { q = value; }
+
+private:
+ QQuaternion q;
+};
+
+// Test getting and setting quaternion properties via the metaobject system.
+void tst_QQuaternion::properties()
+{
+ tst_QQuaternionProperties obj;
+
+ obj.setQuaternion(QQuaternion(6.0f, 7.0f, 8.0f, 9.0f));
+
+ QQuaternion q = qVariantValue<QQuaternion>(obj.property("quaternion"));
+ QCOMPARE(q.scalar(), (qreal)6.0f);
+ QCOMPARE(q.x(), (qreal)7.0f);
+ QCOMPARE(q.y(), (qreal)8.0f);
+ QCOMPARE(q.z(), (qreal)9.0f);
+
+ obj.setProperty("quaternion",
+ qVariantFromValue(QQuaternion(-6.0f, -7.0f, -8.0f, -9.0f)));
+
+ q = qVariantValue<QQuaternion>(obj.property("quaternion"));
+ QCOMPARE(q.scalar(), (qreal)-6.0f);
+ QCOMPARE(q.x(), (qreal)-7.0f);
+ QCOMPARE(q.y(), (qreal)-8.0f);
+ QCOMPARE(q.z(), (qreal)-9.0f);
+}
+
+void tst_QQuaternion::metaTypes()
+{
+ QVERIFY(QMetaType::type("QQuaternion") == QMetaType::QQuaternion);
+
+ QCOMPARE(QByteArray(QMetaType::typeName(QMetaType::QQuaternion)),
+ QByteArray("QQuaternion"));
+
+ QVERIFY(QMetaType::isRegistered(QMetaType::QQuaternion));
+
+ QVERIFY(qMetaTypeId<QQuaternion>() == QMetaType::QQuaternion);
+}
+
QTEST_APPLESS_MAIN(tst_QQuaternion)
#include "tst_qquaternion.moc"
diff --git a/tests/auto/math3d/qvectornd/tst_qvectornd.cpp b/tests/auto/math3d/qvectornd/tst_qvectornd.cpp
index 0eb5b07..6368874 100644
--- a/tests/auto/math3d/qvectornd/tst_qvectornd.cpp
+++ b/tests/auto/math3d/qvectornd/tst_qvectornd.cpp
@@ -137,10 +137,13 @@ private slots:
void dotProduct3();
void dotProduct4_data();
void dotProduct4();
+
+ void properties();
+ void metaTypes();
};
-// qFuzzyCompare isn't quite "fuzzy" enough to handle conversion
-// to fixed-point and back again. So create "fuzzier" compares.
+// qFuzzyCompare isn't always "fuzzy" enough to handle conversion
+// between float, double, and qreal. So create "fuzzier" compares.
static bool fuzzyCompare(float x, float y)
{
float diff = x - y;
@@ -2040,6 +2043,99 @@ void tst_QVector::dotProduct4()
QCOMPARE(QVector4D::dotProduct(v1, v2), d);
}
+class tst_QVectorProperties : public QObject
+{
+ Q_OBJECT
+ Q_PROPERTY(QVector2D vector2D READ vector2D WRITE setVector2D)
+ Q_PROPERTY(QVector3D vector3D READ vector3D WRITE setVector3D)
+ Q_PROPERTY(QVector4D vector4D READ vector4D WRITE setVector4D)
+public:
+ tst_QVectorProperties(QObject *parent = 0) : QObject(parent) {}
+
+ QVector2D vector2D() const { return v2; }
+ void setVector2D(const QVector2D& value) { v2 = value; }
+
+ QVector3D vector3D() const { return v3; }
+ void setVector3D(const QVector3D& value) { v3 = value; }
+
+ QVector4D vector4D() const { return v4; }
+ void setVector4D(const QVector4D& value) { v4 = value; }
+
+private:
+ QVector2D v2;
+ QVector3D v3;
+ QVector4D v4;
+};
+
+// Test getting and setting vector properties via the metaobject system.
+void tst_QVector::properties()
+{
+ tst_QVectorProperties obj;
+
+ obj.setVector2D(QVector2D(1.0f, 2.0f));
+ obj.setVector3D(QVector3D(3.0f, 4.0f, 5.0f));
+ obj.setVector4D(QVector4D(6.0f, 7.0f, 8.0f, 9.0f));
+
+ QVector2D v2 = qVariantValue<QVector2D>(obj.property("vector2D"));
+ QCOMPARE(v2.x(), (qreal)1.0f);
+ QCOMPARE(v2.y(), (qreal)2.0f);
+
+ QVector3D v3 = qVariantValue<QVector3D>(obj.property("vector3D"));
+ QCOMPARE(v3.x(), (qreal)3.0f);
+ QCOMPARE(v3.y(), (qreal)4.0f);
+ QCOMPARE(v3.z(), (qreal)5.0f);
+
+ QVector4D v4 = qVariantValue<QVector4D>(obj.property("vector4D"));
+ QCOMPARE(v4.x(), (qreal)6.0f);
+ QCOMPARE(v4.y(), (qreal)7.0f);
+ QCOMPARE(v4.z(), (qreal)8.0f);
+ QCOMPARE(v4.w(), (qreal)9.0f);
+
+ obj.setProperty("vector2D",
+ qVariantFromValue(QVector2D(-1.0f, -2.0f)));
+ obj.setProperty("vector3D",
+ qVariantFromValue(QVector3D(-3.0f, -4.0f, -5.0f)));
+ obj.setProperty("vector4D",
+ qVariantFromValue(QVector4D(-6.0f, -7.0f, -8.0f, -9.0f)));
+
+ v2 = qVariantValue<QVector2D>(obj.property("vector2D"));
+ QCOMPARE(v2.x(), (qreal)-1.0f);
+ QCOMPARE(v2.y(), (qreal)-2.0f);
+
+ v3 = qVariantValue<QVector3D>(obj.property("vector3D"));
+ QCOMPARE(v3.x(), (qreal)-3.0f);
+ QCOMPARE(v3.y(), (qreal)-4.0f);
+ QCOMPARE(v3.z(), (qreal)-5.0f);
+
+ v4 = qVariantValue<QVector4D>(obj.property("vector4D"));
+ QCOMPARE(v4.x(), (qreal)-6.0f);
+ QCOMPARE(v4.y(), (qreal)-7.0f);
+ QCOMPARE(v4.z(), (qreal)-8.0f);
+ QCOMPARE(v4.w(), (qreal)-9.0f);
+}
+
+void tst_QVector::metaTypes()
+{
+ QVERIFY(QMetaType::type("QVector2D") == QMetaType::QVector2D);
+ QVERIFY(QMetaType::type("QVector3D") == QMetaType::QVector3D);
+ QVERIFY(QMetaType::type("QVector4D") == QMetaType::QVector4D);
+
+ QCOMPARE(QByteArray(QMetaType::typeName(QMetaType::QVector2D)),
+ QByteArray("QVector2D"));
+ QCOMPARE(QByteArray(QMetaType::typeName(QMetaType::QVector3D)),
+ QByteArray("QVector3D"));
+ QCOMPARE(QByteArray(QMetaType::typeName(QMetaType::QVector4D)),
+ QByteArray("QVector4D"));
+
+ QVERIFY(QMetaType::isRegistered(QMetaType::QVector2D));
+ QVERIFY(QMetaType::isRegistered(QMetaType::QVector3D));
+ QVERIFY(QMetaType::isRegistered(QMetaType::QVector4D));
+
+ QVERIFY(qMetaTypeId<QVector2D>() == QMetaType::QVector2D);
+ QVERIFY(qMetaTypeId<QVector3D>() == QMetaType::QVector3D);
+ QVERIFY(qMetaTypeId<QVector4D>() == QMetaType::QVector4D);
+}
+
QTEST_APPLESS_MAIN(tst_QVector)
#include "tst_qvectornd.moc"
diff --git a/tests/auto/moc/os9-newlines.h b/tests/auto/moc/os9-newlines.h
index fb9bbe4..85fa671 100644
--- a/tests/auto/moc/os9-newlines.h
+++ b/tests/auto/moc/os9-newlines.h
@@ -1 +1 @@
-/**************************************************************************** ** ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). ** Contact: Nokia Corporation (qt-info@nokia.com) ** ** This file is part of the test suite of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage ** This file contains pre-release code and may not be distributed. ** You may use this file in accordance with the terms and conditions ** contained in the either Technology Preview License Agreement or the ** Beta Release License Agreement. ** ** GNU Lesser General Public License Usage ** Alternatively, this file may be used under the terms of the GNU Lesser ** General Public License version 2.1 as published by the Free Software ** Foundation and appearing in the file LICENSE.LGPL included in the ** packaging of this file. Please review the following information to ** ensure the GNU Lesser General Public License version 2.1 requirements ** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. ** ** In addition, as a special exception, Nokia gives you certain ** additional rights. These rights are described in the Nokia Qt LGPL ** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this ** package. ** ** GNU General Public License Usage ** Alternatively, this file may be used under the terms of the GNU ** General Public License version 3.0 as published by the Free Software ** Foundation and appearing in the file LICENSE.GPL included in the ** packaging of this file. Please review the following information to ** ensure the GNU General Public License version 3.0 requirements will be ** met: http://www.gnu.org/copyleft/gpl.html. ** ** If you are unsure which license is appropriate for your use, please ** contact the sales department at http://www.qtsoftware.com/contact. ** $QT_END_LICENSE$ ** ****************************************************************************/ #include <QObject> class Os9Newlines : public QObject { Q_OBJECT public Q_SLOTS: inline void testSlot() {} };
+/**************************************************************************** ** ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). ** Contact: Nokia Corporation (qt-info@nokia.com) ** ** This file is part of the test suite of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage ** This file contains pre-release code and may not be distributed. ** You may use this file in accordance with the terms and conditions ** contained in the either Technology Preview License Agreement or the ** Beta Release License Agreement. ** ** GNU Lesser General Public License Usage ** Alternatively, this file may be used under the terms of the GNU Lesser ** General Public License version 2.1 as published by the Free Software ** Foundation and appearing in the file LICENSE.LGPL included in the ** packaging of this file. Please review the following information to ** ensure the GNU Lesser General Public License version 2.1 requirements ** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. ** ** In addition, as a special exception, Nokia gives you certain ** additional rights. These rights are described in the Nokia Qt LGPL ** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this ** package. ** ** GNU General Public License Usage ** Alternatively, this file may be used under the terms of the GNU ** General Public License version 3.0 as published by the Free Software ** Foundation and appearing in the file LICENSE.GPL included in the ** packaging of this file. Please review the following information to ** ensure the GNU General Public License version 3.0 requirements will be ** met: http://www.gnu.org/copyleft/gpl.html. ** ** If you are unsure which license is appropriate for your use, please ** contact the sales department at http://www.qtsoftware.com/contact. ** $QT_END_LICENSE$ ** ****************************************************************************/ #include <QObject> class Os9Newlines : public QObject { Q_OBJECT public Q_SLOTS: inline void testSlot() {} }; \ No newline at end of file
diff --git a/tests/auto/moc/tst_moc.cpp b/tests/auto/moc/tst_moc.cpp
index 3a40ae0..488f068 100644
--- a/tests/auto/moc/tst_moc.cpp
+++ b/tests/auto/moc/tst_moc.cpp
@@ -488,6 +488,7 @@ private slots:
void warnOnPropertyWithoutREAD();
void constructors();
void typenameWithUnsigned();
+ void warnOnVirtualSignal();
signals:
void sigWithUnsignedArg(unsigned foo);
@@ -510,7 +511,7 @@ private:
void tst_Moc::initTestCase()
{
-#if defined(Q_OS_UNIX)
+#if defined(Q_OS_UNIX) && !defined(QT_NO_PROCESS)
QProcess proc;
proc.start("qmake", QStringList() << "-query" << "QT_INSTALL_HEADERS");
QVERIFY(proc.waitForFinished());
@@ -555,7 +556,7 @@ void tst_Moc::oldStyleCasts()
#ifdef MOC_CROSS_COMPILED
QSKIP("Not tested when cross-compiled", SkipAll);
#endif
-#if defined(Q_OS_LINUX) && defined(Q_CC_GNU)
+#if defined(Q_OS_LINUX) && defined(Q_CC_GNU) && !defined(QT_NO_PROCESS)
QProcess proc;
proc.start("moc", QStringList(srcify("/oldstyle-casts.h")));
QVERIFY(proc.waitForFinished());
@@ -585,7 +586,7 @@ void tst_Moc::warnOnExtraSignalSlotQualifiaction()
#ifdef MOC_CROSS_COMPILED
QSKIP("Not tested when cross-compiled", SkipAll);
#endif
-#if defined(Q_OS_LINUX) && defined(Q_CC_GNU)
+#if defined(Q_OS_LINUX) && defined(Q_CC_GNU) && !defined(QT_NO_PROCESS)
QProcess proc;
proc.start("moc", QStringList(srcify("extraqualification.h")));
QVERIFY(proc.waitForFinished());
@@ -627,7 +628,7 @@ void tst_Moc::inputFileNameWithDotsButNoExtension()
#ifdef MOC_CROSS_COMPILED
QSKIP("Not tested when cross-compiled", SkipAll);
#endif
-#if defined(Q_OS_LINUX) && defined(Q_CC_GNU)
+#if defined(Q_OS_LINUX) && defined(Q_CC_GNU) && !defined(QT_NO_PROCESS)
QProcess proc;
proc.setWorkingDirectory(QString(SRCDIR) + "/task71021");
proc.start("moc", QStringList("../Header"));
@@ -835,7 +836,7 @@ void tst_Moc::warnOnMultipleInheritance()
#ifdef MOC_CROSS_COMPILED
QSKIP("Not tested when cross-compiled", SkipAll);
#endif
-#if defined(Q_OS_LINUX) && defined(Q_CC_GNU)
+#if defined(Q_OS_LINUX) && defined(Q_CC_GNU) && !defined(QT_NO_PROCESS)
QProcess proc;
QStringList args;
args << "-I" << qtIncludePath + "/QtGui"
@@ -858,7 +859,7 @@ void tst_Moc::forgottenQInterface()
#ifdef MOC_CROSS_COMPILED
QSKIP("Not tested when cross-compiled", SkipAll);
#endif
-#if defined(Q_OS_LINUX) && defined(Q_CC_GNU)
+#if defined(Q_OS_LINUX) && defined(Q_CC_GNU) && !defined(QT_NO_PROCESS)
QProcess proc;
QStringList args;
args << "-I" << qtIncludePath + "/QtCore"
@@ -940,7 +941,7 @@ void tst_Moc::frameworkSearchPath()
#ifdef MOC_CROSS_COMPILED
QSKIP("Not tested when cross-compiled", SkipAll);
#endif
-#if defined(Q_OS_UNIX)
+#if defined(Q_OS_UNIX) && !defined(QT_NO_PROCESS)
QStringList args;
args << "-F" << srcify(".")
<< srcify("interface-from-framework.h")
@@ -978,7 +979,7 @@ void tst_Moc::templateGtGt()
#ifdef MOC_CROSS_COMPILED
QSKIP("Not tested when cross-compiled", SkipAll);
#endif
-#if defined(Q_OS_LINUX) && defined(Q_CC_GNU)
+#if defined(Q_OS_LINUX) && defined(Q_CC_GNU) && !defined(QT_NO_PROCESS)
QProcess proc;
proc.start("moc", QStringList(srcify("template-gtgt.h")));
QVERIFY(proc.waitForFinished());
@@ -994,7 +995,7 @@ void tst_Moc::templateGtGt()
void tst_Moc::defineMacroViaCmdline()
{
-#if defined(Q_OS_LINUX) && defined(Q_CC_GNU)
+#if defined(Q_OS_LINUX) && defined(Q_CC_GNU) && !defined(QT_NO_PROCESS)
QProcess proc;
QStringList args;
@@ -1082,7 +1083,7 @@ void tst_Moc::warnOnPropertyWithoutREAD()
#ifdef MOC_CROSS_COMPILED
QSKIP("Not tested when cross-compiled", SkipAll);
#endif
-#if defined(Q_OS_LINUX) && defined(Q_CC_GNU)
+#if defined(Q_OS_LINUX) && defined(Q_CC_GNU) && !defined(QT_NO_PROCESS)
QProcess proc;
proc.start("moc", QStringList(srcify("warn-on-property-without-read.h")));
QVERIFY(proc.waitForFinished());
@@ -1156,6 +1157,13 @@ void tst_Moc::constructors()
QObject *o3 = mo->newInstance(Q_ARG(QString, str));
QVERIFY(o3 != 0);
QCOMPARE(qobject_cast<CtorTestClass*>(o3)->m_str, str);
+
+ {
+ //explicit constructor
+ QObject *o = QObject::staticMetaObject.newInstance();
+ QVERIFY(o);
+ delete o;
+ }
}
#include "task234909.h"
@@ -1180,6 +1188,27 @@ void tst_Moc::typenameWithUnsigned()
QVERIFY(mobj->indexOfSlot("l(unsignedQImage)") != -1);
}
+
+void tst_Moc::warnOnVirtualSignal()
+{
+#ifdef MOC_CROSS_COMPILED
+ QSKIP("Not tested when cross-compiled", SkipAll);
+#endif
+#if defined(Q_OS_LINUX) && defined(Q_CC_GNU) && !defined(QT_NO_PROCESS)
+ QProcess proc;
+ proc.start("moc", QStringList(srcify("pure-virtual-signals.h")));
+ QVERIFY(proc.waitForFinished());
+ QCOMPARE(proc.exitCode(), 0);
+ QByteArray mocOut = proc.readAllStandardOutput();
+ QVERIFY(!mocOut.isEmpty());
+ QString mocWarning = QString::fromLocal8Bit(proc.readAllStandardError());
+ QCOMPARE(mocWarning, QString(SRCDIR) + QString("/pure-virtual-signals.h:48: Warning: Signals cannot be declared virtual\n") +
+ QString(SRCDIR) + QString("/pure-virtual-signals.h:50: Warning: Signals cannot be declared virtual\n"));
+#else
+ QSKIP("Only tested on linux/gcc", SkipAll);
+#endif
+}
+
QTEST_MAIN(tst_Moc)
#include "tst_moc.moc"
diff --git a/tests/auto/patternistheaders/tst_patternistheaders.cpp b/tests/auto/patternistheaders/tst_patternistheaders.cpp
index 00b2544..dd342ae 100644
--- a/tests/auto/patternistheaders/tst_patternistheaders.cpp
+++ b/tests/auto/patternistheaders/tst_patternistheaders.cpp
@@ -94,6 +94,10 @@ void tst_PatternistHeaders::run() const
#include <qxmlquery.h>
#include <QXmlResultItems>
#include <qxmlresultitems.h>
+#include <QXmlSchema>
+#include <qxmlschema.h>
+#include <QXmlSchemaValidator>
+#include <qxmlschemavalidator.h>
#include <QXmlSerializer>
#include <qxmlserializer.h>
@@ -122,6 +126,10 @@ void tst_PatternistHeaders::run() const
#include <QtXmlPatterns/qxmlquery.h>
#include <QtXmlPatterns/QXmlResultItems>
#include <QtXmlPatterns/qxmlresultitems.h>
+#include <QtXmlPatterns/QXmlSchema>
+#include <QtXmlPatterns/qxmlschema.h>
+#include <QtXmlPatterns/QXmlSchemaValidator>
+#include <QtXmlPatterns/qxmlschemavalidator.h>
#include <QtXmlPatterns/QXmlSerializer>
#include <QtXmlPatterns/qxmlserializer.h>
diff --git a/tests/auto/q3socket/tst_qsocket.cpp b/tests/auto/q3socket/tst_qsocket.cpp
index b07fa2f..854cc75 100644
--- a/tests/auto/q3socket/tst_qsocket.cpp
+++ b/tests/auto/q3socket/tst_qsocket.cpp
@@ -124,8 +124,10 @@ void tst_Q3Socket::peerAddress_data()
QTest::addColumn<bool>("peerClosesConnection");
QTest::addColumn<QString>("peerAddr");
- QTest::newRow( "echo" ) << QString("qt-test-server.troll.no") << (uint)7 << false << QString("10.3.3.69");
- QTest::newRow( "daytime" ) << QString("qt-test-server.troll.no") << (uint)13 << true << QString("10.3.3.69");
+ QTest::newRow( "echo" ) << QtNetworkSettings::serverLocalName() << (uint)7 << false
+ << QtNetworkSettings::serverIP().toString();
+ QTest::newRow( "daytime" ) << QtNetworkSettings::serverLocalName() << (uint)13 << true
+ << QtNetworkSettings::serverIP().toString();
}
void tst_Q3Socket::peerAddress()
@@ -191,7 +193,7 @@ void tst_Q3Socket::emitConnectionRefused()
{
Q3Socket sock;
connect( &sock, SIGNAL(error(int)), SLOT(emitConnectionRefused_error(int)) );
- sock.connectToHost( "ares.troll.no", 12331 );
+ sock.connectToHost( QtNetworkSettings::serverLocalName(), 12331 );
emitConnectionRefused_errorReceived = false;
QTestEventLoop::instance().enterLoop( 30 );
@@ -225,8 +227,8 @@ void tst_Q3Socket::connectionAttempts_data()
QTest::addColumn<int>("port");
QTest::addColumn<bool>("expectedResult");
- QTest::newRow("fluke port 80") << QString("qt-test-server.troll.no") << 80 << true;
- QTest::newRow("fluke port 79") << QString("qt-test-server.troll.no") << 79 << false;
+ QTest::newRow("fluke port 80") << QtNetworkSettings::serverLocalName() << 80 << true;
+ QTest::newRow("fluke port 79") << QtNetworkSettings::serverLocalName() << 79 << false;
}
void tst_Q3Socket::connectionAttempts()
@@ -266,7 +268,7 @@ void tst_Q3Socket::canReadLine()
connect(&socket, SIGNAL(connected()), &loop, SLOT(quit()));
// timeout error will fail in #238
connect(&socket, SIGNAL(error(int)), &loop, SLOT(quit()));
- socket.connectToHost("qt-test-server.troll.no", 143);
+ socket.connectToHost(QtNetworkSettings::serverLocalName(), 143);
loop.exec();
diff --git a/tests/auto/q3sqlcursor/tst_q3sqlcursor.cpp b/tests/auto/q3sqlcursor/tst_q3sqlcursor.cpp
index 020f41d..e5a9b01 100644
--- a/tests/auto/q3sqlcursor/tst_q3sqlcursor.cpp
+++ b/tests/auto/q3sqlcursor/tst_q3sqlcursor.cpp
@@ -135,6 +135,7 @@ void tst_Q3SqlCursor::createTestTables( QSqlDatabase db )
if (tst_Databases::isSqlServer(db)) {
QVERIFY_SQL(q, exec("SET ANSI_DEFAULTS ON"));
+ QVERIFY_SQL(q, exec("SET IMPLICIT_TRANSACTIONS OFF"));
}
// please never ever change this table; otherwise fix all tests ;)
@@ -547,7 +548,7 @@ void tst_Q3SqlCursor::unicode()
else
QFAIL( QString( "Strings differ at position %1: orig: %2, db: %3" ).arg( i ).arg( utf8str[ i ].unicode(), 0, 16 ).arg( res[ i ].unicode(), 0, 16 ) );
}
- if(db.driverName().startsWith("QMYSQL") || db.driverName().startsWith("QDB2"))
+ if((db.driverName().startsWith("QMYSQL") || db.driverName().startsWith("QDB2")) && res != utf8str)
QEXPECT_FAIL("", "See above message", Continue);
QVERIFY( res == utf8str );
}
@@ -573,10 +574,7 @@ void tst_Q3SqlCursor::precision()
QVERIFY_SQL(cur, select());
QVERIFY( cur.next() );
- if(!tst_Databases::isSqlServer(db))
- QCOMPARE( cur.value( 0 ).asString(), precStr );
- else
- QCOMPARE( cur.value( 0 ).asString(), precStr.left(precStr.size()-1) ); // Sql server fails at counting.
+ QCOMPARE( cur.value( 0 ).asString(), precStr );
QVERIFY( cur.next() );
QCOMPARE( cur.value( 0 ).asDouble(), precDbl );
}
@@ -723,7 +721,9 @@ void tst_Q3SqlCursor::updateNoPK()
// Sqlite returns 2, don't ask why.
QVERIFY(cur.update() != 0);
QString expect = "update " + qTableName("qtestPK") +
- " set id = 1 , name = NULL , num = NULL where " + qTableName("qtestPK") + ".id"
+ " set "+db.driver()->escapeIdentifier("id", QSqlDriver::FieldName)+" = 1 , "
+ +db.driver()->escapeIdentifier("name", QSqlDriver::FieldName)+" = NULL , "
+ +db.driver()->escapeIdentifier("num", QSqlDriver::FieldName)+" = NULL where " + qTableName("qtestPK") + ".id"
" IS NULL and " + qTableName("qtestPK") + ".name IS NULL and " +
qTableName("qtestPK") + ".num IS NULL";
if (!db.driver()->hasFeature(QSqlDriver::PreparedQueries)) {
@@ -760,12 +760,6 @@ void tst_Q3SqlCursor::insertFieldNameContainsWS() {
QSqlQuery q(db);
tst_Databases::safeDropTable(db, tableName);
- QString query = QString("CREATE TABLE %1 (id int, \"first Name\" varchar(20), "
- "lastName varchar(20))");
- QVERIFY_SQL(q, exec(query.arg(tableName)));
- QString query = QString("CREATE TABLE %1 (id int, \"first Name\" varchar(20), "
- "lastName varchar(20))").arg(tableName);
- QVERIFY_SQL(q, exec(query));
QString query = "CREATE TABLE %1 (id int, "
+ db.driver()->escapeIdentifier("first Name", QSqlDriver::FieldName)
+ " varchar(20), lastName varchar(20))";
diff --git a/tests/auto/q3urloperator/tst_q3urloperator.cpp b/tests/auto/q3urloperator/tst_q3urloperator.cpp
index f1e1059..a9e5096 100644
--- a/tests/auto/q3urloperator/tst_q3urloperator.cpp
+++ b/tests/auto/q3urloperator/tst_q3urloperator.cpp
@@ -55,6 +55,8 @@
#include <q3valuelist.h>
#include <qlist.h>
+#include "../network-settings.h"
+
//TESTED_CLASS=
//TESTED_FILES=
@@ -150,7 +152,7 @@ void tst_Q3UrlOperator::initTestCase()
// prepare: make sure that there is a unique directory for FTP upload
// testing (to avoid parallel executed tests interfere with each other)
- ftpQtestUpload = "ftp://qt-test-server.troll.no/";
+ ftpQtestUpload = QString("ftp://%1/").arg(QtNetworkSettings::serverLocalName());
QString dir = QString( "qtest/upload/%1" ).arg( (ulong)this );
Q3UrlOperator opMkdir( ftpQtestUpload );
@@ -218,8 +220,8 @@ void tst_Q3UrlOperator::cleanup()
void tst_Q3UrlOperator::copy_data()
{
- const QString ftpQtest( "ftp://qt-test-server.troll.no/qtest" );
- const QString httpQtest( "http://qt-test-server.troll.no/qtest" );
+ const QString ftpQtest( QString("ftp://%1/qtest").arg(QtNetworkSettings::serverLocalName()) );
+ const QString httpQtest( QString("http://%1/qtest").arg(QtNetworkSettings::serverLocalName()) );
// argument for the constructor
QTest::addColumn<QString>("url");
@@ -339,8 +341,8 @@ void tst_Q3UrlOperator::slotFinished_copy( Q3NetworkOperation *op )
void tst_Q3UrlOperator::put_data()
{
- const QString httpQtest( "http://qt-test-server.troll.no/qtest/cgi-bin" );
- const QString httpQtestGet( "http://qt-test-server.troll.no/qtest/cgi-bin/retrieve_testfile.cgi" );
+ const QString httpQtest( QString("http://%1/qtest/cgi-bin").arg(QtNetworkSettings::serverLocalName()) );
+ const QString httpQtestGet( QString("http://%1/qtest/cgi-bin/retrieve_testfile.cgi").arg(QtNetworkSettings::serverLocalName()) );
QByteArray putData_1( 5 );
putData_1[0] = 'a';
diff --git a/tests/auto/qabstractitemview/tst_qabstractitemview.cpp b/tests/auto/qabstractitemview/tst_qabstractitemview.cpp
index 67aac6f..cceaed8 100644
--- a/tests/auto/qabstractitemview/tst_qabstractitemview.cpp
+++ b/tests/auto/qabstractitemview/tst_qabstractitemview.cpp
@@ -55,6 +55,7 @@
#include <qpushbutton.h>
#include <qscrollbar.h>
#include <qboxlayout.h>
+#include <qlineedit.h>
#include "../../shared/util.h"
//TESTED_CLASS=
@@ -214,6 +215,8 @@ private slots:
void task221955_selectedEditor();
void task250754_fontChange();
+ void task200665_itemEntered();
+ void task257481_emptyEditor();
};
class MyAbstractItemDelegate : public QAbstractItemDelegate
@@ -1206,5 +1209,58 @@ void tst_QAbstractItemView::task250754_fontChange()
qApp->setStyleSheet(app_css);
}
+void tst_QAbstractItemView::task200665_itemEntered()
+{
+ //we test that view will emit entered
+ //when the scrollbar move but not the mouse itself
+ QStandardItemModel model(1000,1);
+ QListView view;
+ view.setModel(&model);
+ view.show();
+ QTest::qWait(200);
+ QRect rect = view.visualRect(model.index(0,0));
+ QCursor::setPos( view.viewport()->mapToGlobal(rect.center()) );
+ QSignalSpy spy(&view, SIGNAL(entered(QModelIndex)));
+ view.verticalScrollBar()->setValue(view.verticalScrollBar()->maximum());
+ QCOMPARE(spy.count(), 1);
+
+}
+
+void tst_QAbstractItemView::task257481_emptyEditor()
+{
+ QIcon icon = qApp->style()->standardIcon(QStyle::SP_ComputerIcon);
+
+ QStandardItemModel model;
+
+ model.appendRow( new QStandardItem(icon, QString()) );
+ model.appendRow( new QStandardItem(icon, "Editor works") );
+ model.appendRow( new QStandardItem( QString() ) );
+
+ QTreeView treeView;
+ treeView.setRootIsDecorated(false);
+ treeView.setModel(&model);
+ treeView.show();
+
+ treeView.edit(model.index(0,0));
+ QList<QLineEdit *> lineEditors = qFindChildren<QLineEdit *>(treeView.viewport());
+ QCOMPARE(lineEditors.count(), 1);
+ QVERIFY(!lineEditors.first()->size().isEmpty());
+
+ QTest::qWait(30);
+
+ treeView.edit(model.index(1,0));
+ lineEditors = qFindChildren<QLineEdit *>(treeView.viewport());
+ QCOMPARE(lineEditors.count(), 1);
+ QVERIFY(!lineEditors.first()->size().isEmpty());
+
+ QTest::qWait(30);
+
+ treeView.edit(model.index(2,0));
+ lineEditors = qFindChildren<QLineEdit *>(treeView.viewport());
+ QCOMPARE(lineEditors.count(), 1);
+ QVERIFY(!lineEditors.first()->size().isEmpty());
+}
+
+
QTEST_MAIN(tst_QAbstractItemView)
#include "tst_qabstractitemview.moc"
diff --git a/tests/auto/qabstractscrollarea/tst_qabstractscrollarea.cpp b/tests/auto/qabstractscrollarea/tst_qabstractscrollarea.cpp
index e976c1b..556e850 100644
--- a/tests/auto/qabstractscrollarea/tst_qabstractscrollarea.cpp
+++ b/tests/auto/qabstractscrollarea/tst_qabstractscrollarea.cpp
@@ -66,6 +66,7 @@ private slots:
void setScrollBars();
void setScrollBars2();
void objectNaming();
+ void patternBackground();
void viewportCrash();
void task214488_layoutDirection_data();
@@ -350,5 +351,39 @@ void tst_QAbstractScrollArea::task214488_layoutDirection()
QVERIFY(lessThan ? (hbar->value() < refValue) : (hbar->value() > refValue));
}
+void tst_QAbstractScrollArea::patternBackground()
+{
+ QScrollArea scrollArea;
+ scrollArea.resize(200, 200);
+ QWidget widget;
+ widget.resize(600, 600);
+ scrollArea.setWidget(&widget);
+ scrollArea.show();
+
+ QLinearGradient linearGrad(QPointF(250, 250), QPointF(300, 300));
+ linearGrad.setColorAt(0, Qt::yellow);
+ linearGrad.setColorAt(1, Qt::red);
+ QBrush bg(linearGrad);
+ scrollArea.viewport()->setPalette(QPalette(Qt::black, bg, bg, bg, bg, bg, bg, bg, bg));
+ widget.setPalette(Qt::transparent);
+
+ QTest::qWait(50);
+
+ QImage image(200, 200, QImage::Format_ARGB32);
+ scrollArea.render(&image);
+
+ QCOMPARE(image.pixel(QPoint(20,20)) , QColor(Qt::yellow).rgb());
+
+ QScrollBar *hbar = scrollArea.horizontalScrollBar();
+ hbar->setValue(hbar->maximum());
+ QScrollBar *vbar = scrollArea.verticalScrollBar();
+ vbar->setValue(vbar->maximum());
+
+ QTest::qWait(50);
+
+ scrollArea.render(&image);
+ QCOMPARE(image.pixel(QPoint(20,20)) , QColor(Qt::red).rgb());
+}
+
QTEST_MAIN(tst_QAbstractScrollArea)
#include "tst_qabstractscrollarea.moc"
diff --git a/tests/auto/qabstractxmlnodemodel/tst_qabstractxmlnodemodel.cpp b/tests/auto/qabstractxmlnodemodel/tst_qabstractxmlnodemodel.cpp
index 7679bd8..634f692 100644
--- a/tests/auto/qabstractxmlnodemodel/tst_qabstractxmlnodemodel.cpp
+++ b/tests/auto/qabstractxmlnodemodel/tst_qabstractxmlnodemodel.cpp
@@ -45,6 +45,7 @@
#ifdef QTEST_XMLPATTERNS
+#include <QSourceLocation>
#include <QXmlFormatter>
#include <QXmlNamePool>
#include <QXmlQuery>
@@ -80,6 +81,7 @@ private Q_SLOTS:
void id() const;
void idref() const;
void typedValue() const;
+ void sourceLocation() const;
private:
QAbstractXmlNodeModel::Ptr m_nodeModel;
@@ -389,6 +391,12 @@ void tst_QAbstractXmlNodeModel::typedValue() const
QVERIFY(output.isEmpty());
}
+void tst_QAbstractXmlNodeModel::sourceLocation() const
+{
+ const QAbstractXmlNodeModel* const constModel = m_nodeModel.data();
+ const QSourceLocation location = constModel->sourceLocation(m_rootNode);
+}
+
QTEST_MAIN(tst_QAbstractXmlNodeModel)
#include "tst_qabstractxmlnodemodel.moc"
diff --git a/tests/auto/qaccessibility/tst_qaccessibility.cpp b/tests/auto/qaccessibility/tst_qaccessibility.cpp
index a87d02f..b8aec50 100644
--- a/tests/auto/qaccessibility/tst_qaccessibility.cpp
+++ b/tests/auto/qaccessibility/tst_qaccessibility.cpp
@@ -53,12 +53,12 @@
#include "QtTest/qtestaccessible.h"
#if defined(Q_OS_WINCE)
-extern "C" bool SystemParametersInfoW(UINT uiAction, UINT uiParam, PVOID pvParam, UINT fWinIni);
+extern "C" bool SystemParametersInfo(UINT uiAction, UINT uiParam, PVOID pvParam, UINT fWinIni);
#define SPI_GETPLATFORMTYPE 257
inline bool IsValidCEPlatform() {
wchar_t tszPlatform[64];
- if (SystemParametersInfoW(SPI_GETPLATFORMTYPE, sizeof(tszPlatform)/sizeof(*tszPlatform),tszPlatform,0)) {
- QString platform = QString::fromUtf16(tszPlatform);
+ if (SystemParametersInfo(SPI_GETPLATFORMTYPE, sizeof(tszPlatform) / sizeof(*tszPlatform), tszPlatform, 0)) {
+ QString platform = QString::fromWCharArray(tszPlatform);
if ((platform == QLatin1String("PocketPC")) || (platform == QLatin1String("Smartphone")))
return false;
}
@@ -2623,6 +2623,13 @@ void tst_QAccessibility::spinBoxTest()
QVERIFY(childRect.isNull() == false);
}
+ spinBox->setFocus();
+ QTestAccessibility::clearEvents();
+ QTest::keyPress(spinBox, Qt::Key_Up);
+ QTest::qWait(200);
+ EventList events = QTestAccessibility::events();
+ QTestAccessibilityEvent expectedEvent(spinBox, 0, (int)QAccessible::ValueChanged);
+ QVERIFY(events.contains(expectedEvent));
delete spinBox;
QTestAccessibility::clearEvents();
#else
diff --git a/tests/auto/qaction/tst_qaction.cpp b/tests/auto/qaction/tst_qaction.cpp
index cdf5071..b6bc193 100644
--- a/tests/auto/qaction/tst_qaction.cpp
+++ b/tests/auto/qaction/tst_qaction.cpp
@@ -105,6 +105,10 @@ void tst_QAction::getSetCheck()
obj1.setMenu((QMenu *)0);
QCOMPARE((QMenu *)0, obj1.menu());
delete var2;
+
+ QCOMPARE(obj1.priority(), QAction::NormalPriority);
+ obj1.setPriority(QAction::LowPriority);
+ QCOMPARE(obj1.priority(), QAction::LowPriority);
}
class MyWidget : public QWidget
diff --git a/tests/auto/qapplication/tst_qapplication.cpp b/tests/auto/qapplication/tst_qapplication.cpp
index 473d1e7..f2da9d3 100644
--- a/tests/auto/qapplication/tst_qapplication.cpp
+++ b/tests/auto/qapplication/tst_qapplication.cpp
@@ -770,9 +770,9 @@ void tst_QApplication::libraryPaths()
// current Path. Therefore we need to identify it ourselves
// here for the test.
QFileInfo filePath;
- wchar_t module_name[256];
- GetModuleFileNameW(0, module_name, sizeof(module_name) / sizeof(wchar_t));
- filePath = QString::fromUtf16((ushort *)module_name);
+ wchar_t module_name[MAX_PATH];
+ GetModuleFileName(0, module_name, MAX_PATH);
+ filePath = QString::fromWCharArray(module_name);
QString testDir = filePath.path() + "/test";
#endif
QApplication::setLibraryPaths(QStringList() << testDir);
@@ -1419,6 +1419,7 @@ void tst_QApplication::testDeleteLaterProcessEvents()
*/
void tst_QApplication::desktopSettingsAware()
{
+#ifndef QT_NO_PROCESS
QProcess testProcess;
#ifdef Q_OS_WINCE
int argc = 0;
@@ -1443,6 +1444,7 @@ void tst_QApplication::desktopSettingsAware()
QVERIFY(testProcess.waitForFinished(10000));
QCOMPARE(int(testProcess.state()), int(QProcess::NotRunning));
QVERIFY(int(testProcess.error()) != int(QProcess::Crashed));
+#endif
}
void tst_QApplication::setActiveWindow()
@@ -1864,27 +1866,38 @@ void tst_QApplication::touchEventPropagation()
{
int argc = 1;
QApplication app(argc, &argv0, QApplication::GuiServer);
- QTouchEvent::TouchPoint touchPoint(0);
- QTouchEvent touchEvent(QEvent::TouchBegin, Qt::NoModifier, QList<QTouchEvent::TouchPoint *>() << (&touchPoint));
+
+ QList<QTouchEvent::TouchPoint> pressedTouchPoints;
+ QTouchEvent::TouchPoint press(0);
+ press.setState(Qt::TouchPointPressed);
+ pressedTouchPoints << press;
+
+ QList<QTouchEvent::TouchPoint> releasedTouchPoints;
+ QTouchEvent::TouchPoint release(0);
+ release.setState(Qt::TouchPointReleased);
+ releasedTouchPoints << release;
{
// touch event behavior on a window
TouchEventPropagationTestWidget window;
window.setObjectName("1. window");
- QApplicationPrivate::sendTouchEvent(&window, &touchEvent);
+ qt_translateRawTouchEvent(&window, QTouchEvent::TouchScreen, pressedTouchPoints);
+ qt_translateRawTouchEvent(&window, QTouchEvent::TouchScreen, releasedTouchPoints);
QVERIFY(!window.seenTouchEvent);
- QVERIFY(window.seenMouseEvent);
+ QVERIFY(!window.seenMouseEvent);
window.reset();
- window.setAttribute(Qt::WA_AcceptsTouchEvents);
- QApplicationPrivate::sendTouchEvent(&window, &touchEvent);
+ window.setAttribute(Qt::WA_AcceptTouchEvents);
+ qt_translateRawTouchEvent(&window, QTouchEvent::TouchScreen, pressedTouchPoints);
+ qt_translateRawTouchEvent(&window, QTouchEvent::TouchScreen, releasedTouchPoints);
QVERIFY(window.seenTouchEvent);
- QVERIFY(window.seenMouseEvent);
+ QVERIFY(!window.seenMouseEvent);
window.reset();
window.acceptTouchEvent = true;
- QApplicationPrivate::sendTouchEvent(&window, &touchEvent);
+ qt_translateRawTouchEvent(&window, QTouchEvent::TouchScreen, pressedTouchPoints);
+ qt_translateRawTouchEvent(&window, QTouchEvent::TouchScreen, releasedTouchPoints);
QVERIFY(window.seenTouchEvent);
QVERIFY(!window.seenMouseEvent);
}
@@ -1896,34 +1909,38 @@ void tst_QApplication::touchEventPropagation()
TouchEventPropagationTestWidget widget(&window);
widget.setObjectName("2. widget");
- QApplicationPrivate::sendTouchEvent(&widget, &touchEvent);
+ qt_translateRawTouchEvent(&window, QTouchEvent::TouchScreen, pressedTouchPoints);
+ qt_translateRawTouchEvent(&window, QTouchEvent::TouchScreen, releasedTouchPoints);
QVERIFY(!widget.seenTouchEvent);
- QVERIFY(widget.seenMouseEvent);
+ QVERIFY(!widget.seenMouseEvent);
QVERIFY(!window.seenTouchEvent);
- QVERIFY(window.seenMouseEvent);
+ QVERIFY(!window.seenMouseEvent);
window.reset();
widget.reset();
- widget.setAttribute(Qt::WA_AcceptsTouchEvents);
- QApplicationPrivate::sendTouchEvent(&widget, &touchEvent);
+ widget.setAttribute(Qt::WA_AcceptTouchEvents);
+ qt_translateRawTouchEvent(&window, QTouchEvent::TouchScreen, pressedTouchPoints);
+ qt_translateRawTouchEvent(&window, QTouchEvent::TouchScreen, releasedTouchPoints);
QVERIFY(widget.seenTouchEvent);
- QVERIFY(widget.seenMouseEvent);
+ QVERIFY(!widget.seenMouseEvent);
QVERIFY(!window.seenTouchEvent);
- QVERIFY(window.seenMouseEvent);
+ QVERIFY(!window.seenMouseEvent);
window.reset();
widget.reset();
widget.acceptMouseEvent = true;
- QApplicationPrivate::sendTouchEvent(&widget, &touchEvent);
+ qt_translateRawTouchEvent(&window, QTouchEvent::TouchScreen, pressedTouchPoints);
+ qt_translateRawTouchEvent(&window, QTouchEvent::TouchScreen, releasedTouchPoints);
QVERIFY(widget.seenTouchEvent);
- QVERIFY(widget.seenMouseEvent);
+ QVERIFY(!widget.seenMouseEvent);
QVERIFY(!window.seenTouchEvent);
QVERIFY(!window.seenMouseEvent);
window.reset();
widget.reset();
widget.acceptTouchEvent = true;
- QApplicationPrivate::sendTouchEvent(&widget, &touchEvent);
+ qt_translateRawTouchEvent(&window, QTouchEvent::TouchScreen, pressedTouchPoints);
+ qt_translateRawTouchEvent(&window, QTouchEvent::TouchScreen, releasedTouchPoints);
QVERIFY(widget.seenTouchEvent);
QVERIFY(!widget.seenMouseEvent);
QVERIFY(!window.seenTouchEvent);
@@ -1931,18 +1948,20 @@ void tst_QApplication::touchEventPropagation()
window.reset();
widget.reset();
- widget.setAttribute(Qt::WA_AcceptsTouchEvents, false);
- window.setAttribute(Qt::WA_AcceptsTouchEvents);
- QApplicationPrivate::sendTouchEvent(&widget, &touchEvent);
+ widget.setAttribute(Qt::WA_AcceptTouchEvents, false);
+ window.setAttribute(Qt::WA_AcceptTouchEvents);
+ qt_translateRawTouchEvent(&window, QTouchEvent::TouchScreen, pressedTouchPoints);
+ qt_translateRawTouchEvent(&window, QTouchEvent::TouchScreen, releasedTouchPoints);
QVERIFY(!widget.seenTouchEvent);
- QVERIFY(widget.seenMouseEvent);
+ QVERIFY(!widget.seenMouseEvent);
QVERIFY(window.seenTouchEvent);
- QVERIFY(window.seenMouseEvent);
+ QVERIFY(!window.seenMouseEvent);
window.reset();
widget.reset();
window.acceptTouchEvent = true;
- QApplicationPrivate::sendTouchEvent(&widget, &touchEvent);
+ qt_translateRawTouchEvent(&window, QTouchEvent::TouchScreen, pressedTouchPoints);
+ qt_translateRawTouchEvent(&window, QTouchEvent::TouchScreen, releasedTouchPoints);
QVERIFY(!widget.seenTouchEvent);
QVERIFY(!widget.seenMouseEvent);
QVERIFY(window.seenTouchEvent);
@@ -1952,7 +1971,8 @@ void tst_QApplication::touchEventPropagation()
widget.reset();
widget.acceptMouseEvent = true; // doesn't matter, touch events are propagated first
window.acceptTouchEvent = true;
- QApplicationPrivate::sendTouchEvent(&widget, &touchEvent);
+ qt_translateRawTouchEvent(&window, QTouchEvent::TouchScreen, pressedTouchPoints);
+ qt_translateRawTouchEvent(&window, QTouchEvent::TouchScreen, releasedTouchPoints);
QVERIFY(!widget.seenTouchEvent);
QVERIFY(!widget.seenMouseEvent);
QVERIFY(window.seenTouchEvent);
diff --git a/tests/auto/qaudiodeviceid/qaudiodeviceid.pro b/tests/auto/qaudiodeviceid/qaudiodeviceid.pro
new file mode 100644
index 0000000..e0c7d4d
--- /dev/null
+++ b/tests/auto/qaudiodeviceid/qaudiodeviceid.pro
@@ -0,0 +1,7 @@
+load(qttest_p4)
+
+DEFINES += SRCDIR=\\\"$$PWD/\\\"
+
+SOURCES += tst_qaudiodeviceid.cpp
+
+QT = core multimedia
diff --git a/tests/auto/qaudiodeviceid/tst_qaudiodeviceid.cpp b/tests/auto/qaudiodeviceid/tst_qaudiodeviceid.cpp
new file mode 100644
index 0000000..d40118b
--- /dev/null
+++ b/tests/auto/qaudiodeviceid/tst_qaudiodeviceid.cpp
@@ -0,0 +1,98 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QtTest/QtTest>
+#include <QtCore/qlocale.h>
+#include <qaudiodeviceid.h>
+#include <qaudiodeviceinfo.h>
+
+#include <QStringList>
+#include <QList>
+
+
+class tst_QAudioDeviceId : public QObject
+{
+ Q_OBJECT
+
+public:
+ tst_QAudioDeviceId(QObject* parent=0) : QObject(parent) {}
+
+private slots:
+ void checkNull();
+ void checkEquality();
+};
+
+void tst_QAudioDeviceId::checkNull()
+{
+ // Default constructed is null.
+ QAudioDeviceId deviceId0;
+ QVERIFY(deviceId0.isNull());
+
+ // Null is transferred
+ QAudioDeviceId deviceId1(deviceId0);
+ QVERIFY(deviceId1.isNull());
+}
+
+void tst_QAudioDeviceId::checkEquality()
+{
+ QAudioDeviceId deviceId0;
+ QAudioDeviceId deviceId1;
+
+ // Null ids are equivalent
+ QVERIFY(deviceId0 == deviceId1);
+ QVERIFY(!(deviceId0 != deviceId1));
+
+ deviceId1 = QAudioDeviceInfo::defaultOutputDevice();
+
+ // Different
+ QVERIFY(deviceId0 != deviceId1);
+ QVERIFY(!(deviceId0 == deviceId1));
+
+ // Same
+ deviceId0 = deviceId1;
+
+ QVERIFY(deviceId0 == deviceId1);
+ QVERIFY(!(deviceId0 != deviceId1));
+}
+
+QTEST_MAIN(tst_QAudioDeviceId)
+
+#include "tst_qaudiodeviceid.moc"
diff --git a/tests/auto/qaudiodeviceinfo/qaudiodeviceinfo.pro b/tests/auto/qaudiodeviceinfo/qaudiodeviceinfo.pro
new file mode 100644
index 0000000..695987c
--- /dev/null
+++ b/tests/auto/qaudiodeviceinfo/qaudiodeviceinfo.pro
@@ -0,0 +1,7 @@
+load(qttest_p4)
+
+DEFINES += SRCDIR=\\\"$$PWD/\\\"
+
+SOURCES += tst_qaudiodeviceinfo.cpp
+
+QT = core multimedia
diff --git a/tests/auto/qaudiodeviceinfo/tst_qaudiodeviceinfo.cpp b/tests/auto/qaudiodeviceinfo/tst_qaudiodeviceinfo.cpp
new file mode 100644
index 0000000..c2cd97e
--- /dev/null
+++ b/tests/auto/qaudiodeviceinfo/tst_qaudiodeviceinfo.cpp
@@ -0,0 +1,159 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+
+#include <QtTest/QtTest>
+#include <QtCore/qlocale.h>
+#include <qaudiodeviceinfo.h>
+
+#include <QStringList>
+#include <QList>
+
+
+class tst_QAudioDeviceInfo : public QObject
+{
+ Q_OBJECT
+public:
+ tst_QAudioDeviceInfo(QObject* parent=0) : QObject(parent) {}
+
+private slots:
+ void checkAvailableDefaultInput();
+ void checkAvailableDefaultOutput();
+ void outputList();
+ void codecs();
+ void channels();
+ void sampleSizes();
+ void byteOrders();
+ void sampleTypes();
+ void frequencies();
+ void isformat();
+ void preferred();
+ void nearest();
+
+private:
+ QAudioDeviceInfo* device;
+};
+
+void tst_QAudioDeviceInfo::checkAvailableDefaultInput()
+{
+ QVERIFY(!QAudioDeviceInfo::defaultInputDevice().isNull());
+}
+
+void tst_QAudioDeviceInfo::checkAvailableDefaultOutput()
+{
+ QVERIFY(!QAudioDeviceInfo::defaultOutputDevice().isNull());
+}
+
+void tst_QAudioDeviceInfo::outputList()
+{
+ QList<QAudioDeviceId> devices = QAudioDeviceInfo::deviceList(QAudio::AudioOutput);
+ QVERIFY(devices.size() > 0);
+ device = new QAudioDeviceInfo(devices.at(0), this);
+}
+
+void tst_QAudioDeviceInfo::codecs()
+{
+ QStringList avail = device->supportedCodecs();
+ QVERIFY(avail.size() > 0);
+}
+
+void tst_QAudioDeviceInfo::channels()
+{
+ QList<int> avail = device->supportedChannels();
+ QVERIFY(avail.size() > 0);
+}
+
+void tst_QAudioDeviceInfo::sampleSizes()
+{
+ QList<int> avail = device->supportedSampleSizes();
+ QVERIFY(avail.size() > 0);
+}
+
+void tst_QAudioDeviceInfo::byteOrders()
+{
+ QList<QAudioFormat::Endian> avail = device->supportedByteOrders();
+ QVERIFY(avail.size() > 0);
+}
+
+void tst_QAudioDeviceInfo::sampleTypes()
+{
+ QList<QAudioFormat::SampleType> avail = device->supportedSampleTypes();
+ QVERIFY(avail.size() > 0);
+}
+
+void tst_QAudioDeviceInfo::frequencies()
+{
+ QList<int> avail = device->supportedFrequencies();
+ QVERIFY(avail.size() > 0);
+}
+
+void tst_QAudioDeviceInfo::isformat()
+{
+ QAudioFormat format;
+ format.setFrequency(44100);
+ format.setChannels(2);
+ format.setSampleType(QAudioFormat::SignedInt);
+ format.setByteOrder(QAudioFormat::LittleEndian);
+ format.setSampleSize(16);
+ format.setCodec("audio/pcm");
+
+ // Should always be true for these format
+ QVERIFY(device->isFormatSupported(format));
+}
+
+void tst_QAudioDeviceInfo::preferred()
+{
+ QAudioFormat format = device->preferredFormat();
+ QVERIFY(format.frequency() == 44100);
+ QVERIFY(format.channels() == 2);
+}
+
+void tst_QAudioDeviceInfo::nearest()
+{
+ QAudioFormat format1, format2;
+ format1.setFrequency(8000);
+ format2 = device->nearestFormat(format1);
+ QVERIFY(format2.frequency() == 44100);
+}
+
+QTEST_MAIN(tst_QAudioDeviceInfo)
+
+#include "tst_qaudiodeviceinfo.moc"
diff --git a/tests/auto/qaudioformat/qaudioformat.pro b/tests/auto/qaudioformat/qaudioformat.pro
new file mode 100644
index 0000000..78962d7
--- /dev/null
+++ b/tests/auto/qaudioformat/qaudioformat.pro
@@ -0,0 +1,7 @@
+load(qttest_p4)
+
+DEFINES += SRCDIR=\\\"$$PWD/\\\"
+
+SOURCES += tst_qaudioformat.cpp
+
+QT = core multimedia
diff --git a/tests/auto/qaudioformat/tst_qaudioformat.cpp b/tests/auto/qaudioformat/tst_qaudioformat.cpp
new file mode 100644
index 0000000..bcfc78f
--- /dev/null
+++ b/tests/auto/qaudioformat/tst_qaudioformat.cpp
@@ -0,0 +1,180 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+
+#include <QtTest/QtTest>
+#include <QtCore/qlocale.h>
+#include <qaudioformat.h>
+
+#include <QStringList>
+#include <QList>
+
+
+class tst_QAudioFormat : public QObject
+{
+ Q_OBJECT
+
+public:
+ tst_QAudioFormat(QObject* parent=0) : QObject(parent) {}
+
+private slots:
+ void checkNull();
+ void checkFrequency();
+ void checkChannels();
+ void checkSampleSize();
+ void checkCodec();
+ void checkByteOrder();
+ void checkSampleType();
+ void checkEquality();
+ void checkAssignment();
+};
+
+void tst_QAudioFormat::checkNull()
+{
+ // Default constructed QAudioFormat is null.
+ QAudioFormat audioFormat0;
+ QVERIFY(audioFormat0.isNull());
+
+ // Null is transferred
+ QAudioFormat audioFormat1(audioFormat0);
+ QVERIFY(audioFormat1.isNull());
+
+ // Null is voided on activity
+ audioFormat0.setFrequency(44100);
+ QVERIFY(!audioFormat0.isNull());
+}
+
+void tst_QAudioFormat::checkFrequency()
+{
+ QAudioFormat audioFormat;
+ audioFormat.setFrequency(44100);
+ QVERIFY(audioFormat.frequency() == 44100);
+}
+
+void tst_QAudioFormat::checkChannels()
+{
+ QAudioFormat audioFormat;
+ audioFormat.setChannels(2);
+ QVERIFY(audioFormat.channels() == 2);
+}
+
+void tst_QAudioFormat::checkSampleSize()
+{
+ QAudioFormat audioFormat;
+ audioFormat.setSampleSize(16);
+ QVERIFY(audioFormat.sampleSize() == 16);
+}
+
+void tst_QAudioFormat::checkCodec()
+{
+ QAudioFormat audioFormat;
+ audioFormat.setCodec(QString::fromLatin1("audio/pcm"));
+ QVERIFY(audioFormat.codec() == QString::fromLatin1("audio/pcm"));
+}
+
+void tst_QAudioFormat::checkByteOrder()
+{
+ QAudioFormat audioFormat;
+ audioFormat.setByteOrder(QAudioFormat::LittleEndian);
+ QVERIFY(audioFormat.byteOrder() == QAudioFormat::LittleEndian);
+}
+
+void tst_QAudioFormat::checkSampleType()
+{
+ QAudioFormat audioFormat;
+ audioFormat.setSampleType(QAudioFormat::SignedInt);
+ QVERIFY(audioFormat.sampleType() == QAudioFormat::SignedInt);
+}
+
+void tst_QAudioFormat::checkEquality()
+{
+ QAudioFormat audioFormat0;
+ QAudioFormat audioFormat1;
+
+ // Null formats are equivalent
+ QVERIFY(audioFormat0 == audioFormat1);
+ QVERIFY(!(audioFormat0 != audioFormat1));
+
+ // on filled formats
+ audioFormat0.setFrequency(8000);
+ audioFormat0.setChannels(1);
+ audioFormat0.setSampleSize(8);
+ audioFormat0.setCodec("audio/pcm");
+ audioFormat0.setByteOrder(QAudioFormat::LittleEndian);
+ audioFormat0.setSampleType(QAudioFormat::UnSignedInt);
+
+ audioFormat1.setFrequency(8000);
+ audioFormat1.setChannels(1);
+ audioFormat1.setSampleSize(8);
+ audioFormat1.setCodec("audio/pcm");
+ audioFormat1.setByteOrder(QAudioFormat::LittleEndian);
+ audioFormat1.setSampleType(QAudioFormat::UnSignedInt);
+
+ QVERIFY(audioFormat0 == audioFormat1);
+ QVERIFY(!(audioFormat0 != audioFormat1));
+
+ audioFormat0.setFrequency(44100);
+ QVERIFY(audioFormat0 != audioFormat1);
+ QVERIFY(!(audioFormat0 == audioFormat1));
+}
+
+void tst_QAudioFormat::checkAssignment()
+{
+ QAudioFormat audioFormat0;
+ QAudioFormat audioFormat1;
+
+ audioFormat0.setFrequency(8000);
+ audioFormat0.setChannels(1);
+ audioFormat0.setSampleSize(8);
+ audioFormat0.setCodec("audio/pcm");
+ audioFormat0.setByteOrder(QAudioFormat::LittleEndian);
+ audioFormat0.setSampleType(QAudioFormat::UnSignedInt);
+
+ audioFormat1 = audioFormat0;
+ QVERIFY(audioFormat1 == audioFormat0);
+
+ QAudioFormat audioFormat2(audioFormat0);
+ QVERIFY(audioFormat2 == audioFormat0);
+}
+
+QTEST_MAIN(tst_QAudioFormat)
+
+#include "tst_qaudioformat.moc"
diff --git a/tests/auto/qaudioinput/qaudioinput.pro b/tests/auto/qaudioinput/qaudioinput.pro
new file mode 100644
index 0000000..8a03749
--- /dev/null
+++ b/tests/auto/qaudioinput/qaudioinput.pro
@@ -0,0 +1,7 @@
+load(qttest_p4)
+
+DEFINES += SRCDIR=\\\"$$PWD/\\\"
+
+SOURCES += tst_qaudioinput.cpp
+
+QT = core multimedia
diff --git a/tests/auto/qaudioinput/tst_qaudioinput.cpp b/tests/auto/qaudioinput/tst_qaudioinput.cpp
new file mode 100644
index 0000000..6e16320
--- /dev/null
+++ b/tests/auto/qaudioinput/tst_qaudioinput.cpp
@@ -0,0 +1,120 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QtTest/QtTest>
+#include <QtCore/qlocale.h>
+#include <qaudioinput.h>
+#include <qaudiodeviceinfo.h>
+#include <qaudio.h>
+#include <qaudioformat.h>
+
+
+class tst_QAudioInput : public QObject
+{
+ Q_OBJECT
+public:
+ tst_QAudioInput(QObject* parent=0) : QObject(parent) {}
+
+private slots:
+ void initTestCase();
+ void settings();
+ void notifyInterval();
+ void pullFile();
+
+private:
+ QAudioFormat format;
+ QAudioInput* audio;
+};
+
+void tst_QAudioInput::initTestCase()
+{
+ format.setFrequency(8000);
+ format.setChannels(1);
+ format.setSampleSize(8);
+ format.setCodec("audio/pcm");
+ format.setByteOrder(QAudioFormat::LittleEndian);
+ format.setSampleType(QAudioFormat::UnSignedInt);
+
+ audio = new QAudioInput(format, this);
+}
+
+void tst_QAudioInput::settings()
+{
+ QAudioFormat f = audio->format();
+
+ QVERIFY(format.channels() == f.channels());
+ QVERIFY(format.frequency() == f.frequency());
+ QVERIFY(format.sampleSize() == f.sampleSize());
+ QVERIFY(format.codec() == f.codec());
+ QVERIFY(format.byteOrder() == f.byteOrder());
+ QVERIFY(format.sampleType() == f.sampleType());
+}
+
+void tst_QAudioInput::notifyInterval()
+{
+ QVERIFY(audio->notifyInterval() == 1000); // Default
+
+ audio->setNotifyInterval(500);
+ QVERIFY(audio->notifyInterval() == 500); // Custom
+
+ audio->setNotifyInterval(1000); // reset
+}
+
+void tst_QAudioInput::pullFile()
+{
+ QFile filename(SRCDIR "test.raw");
+ filename.open( QIODevice::WriteOnly | QIODevice::Truncate );
+
+ QSignalSpy readSignal(audio, SIGNAL(notify()));
+ audio->start(&filename);
+
+ QTest::qWait(5000);
+
+ QVERIFY(readSignal.count() > 0);
+ QVERIFY(audio->totalTime() > 0);
+
+ audio->stop();
+ filename.close();
+}
+
+QTEST_MAIN(tst_QAudioInput)
+
+#include "tst_qaudioinput.moc"
diff --git a/tests/auto/qaudiooutput/4.wav b/tests/auto/qaudiooutput/4.wav
new file mode 100644
index 0000000..e31b0609
--- /dev/null
+++ b/tests/auto/qaudiooutput/4.wav
Binary files differ
diff --git a/tests/auto/qaudiooutput/qaudiooutput.pro b/tests/auto/qaudiooutput/qaudiooutput.pro
new file mode 100644
index 0000000..6c07c64
--- /dev/null
+++ b/tests/auto/qaudiooutput/qaudiooutput.pro
@@ -0,0 +1,12 @@
+load(qttest_p4)
+
+DEFINES += SRCDIR=\\\"$$PWD/\\\"
+
+SOURCES += tst_qaudiooutput.cpp
+
+QT = core multimedia
+
+wince*: {
+ deploy.sources += 4.wav
+ DEPLOYMENT = deploy
+}
diff --git a/tests/auto/qaudiooutput/tst_qaudiooutput.cpp b/tests/auto/qaudiooutput/tst_qaudiooutput.cpp
new file mode 100644
index 0000000..0f94faa
--- /dev/null
+++ b/tests/auto/qaudiooutput/tst_qaudiooutput.cpp
@@ -0,0 +1,156 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+
+
+#include <QtTest/QtTest>
+#include <QtCore/qlocale.h>
+#include <qaudiooutput.h>
+#include <qaudiodeviceinfo.h>
+#include <qaudio.h>
+#include <qaudioformat.h>
+
+
+class tst_QAudioOutput : public QObject
+{
+ Q_OBJECT
+public:
+ tst_QAudioOutput(QObject* parent=0) : QObject(parent) {}
+
+private slots:
+ void initTestCase();
+ void settings();
+ void notifyInterval();
+ void pullFile();
+ void pushFile();
+
+private:
+ QAudioFormat format;
+ QAudioOutput* audio;
+};
+
+void tst_QAudioOutput::initTestCase()
+{
+ format.setFrequency(8000);
+ format.setChannels(1);
+ format.setSampleSize(8);
+ format.setCodec("audio/pcm");
+ format.setByteOrder(QAudioFormat::LittleEndian);
+ format.setSampleType(QAudioFormat::UnSignedInt);
+
+ audio = new QAudioOutput(format, this);
+}
+
+void tst_QAudioOutput::settings()
+{
+ QAudioFormat f = audio->format();
+
+ QVERIFY(format.channels() == f.channels());
+ QVERIFY(format.frequency() == f.frequency());
+ QVERIFY(format.sampleSize() == f.sampleSize());
+ QVERIFY(format.codec() == f.codec());
+ QVERIFY(format.byteOrder() == f.byteOrder());
+ QVERIFY(format.sampleType() == f.sampleType());
+}
+
+void tst_QAudioOutput::notifyInterval()
+{
+ QVERIFY(audio->notifyInterval() == 1000); // Default
+
+ audio->setNotifyInterval(500);
+ QVERIFY(audio->notifyInterval() == 500); // Custom
+
+ audio->setNotifyInterval(1000); // reset
+}
+
+void tst_QAudioOutput::pullFile()
+{
+ QFile filename(SRCDIR "4.wav");
+ QVERIFY(filename.exists());
+ filename.open(QIODevice::ReadOnly);
+
+ QSignalSpy readSignal(audio, SIGNAL(notify()));
+ audio->setNotifyInterval(100);
+ audio->start(&filename);
+
+ QTestEventLoop::instance().enterLoop(1);
+ // 4.wav is a little less than 700ms, so notify should fire 6 times!
+ QVERIFY(readSignal.count() >= 6);
+ QVERIFY(audio->totalTime() == 692250);
+
+ audio->stop();
+ filename.close();
+}
+
+void tst_QAudioOutput::pushFile()
+{
+ QFile filename(SRCDIR "4.wav");
+ QVERIFY(filename.exists());
+ filename.open(QIODevice::ReadOnly);
+
+ const qint64 fileSize = filename.size();
+
+ QIODevice* feed = audio->start(0);
+
+ char* buffer = new char[fileSize];
+ filename.read(buffer, fileSize);
+
+ qint64 counter=0;
+ qint64 written=0;
+ while(written < fileSize) {
+ written+=feed->write(buffer+written,fileSize-written);
+ QTest::qWait(20);
+ counter++;
+ }
+ QTestEventLoop::instance().enterLoop(1);
+
+ QVERIFY(written == fileSize);
+ QVERIFY(audio->totalTime() == 692250);
+
+ audio->stop();
+ filename.close();
+ delete [] buffer;
+ delete audio;
+}
+
+QTEST_MAIN(tst_QAudioOutput)
+
+#include "tst_qaudiooutput.moc"
diff --git a/tests/auto/qbytearray/tst_qbytearray.cpp b/tests/auto/qbytearray/tst_qbytearray.cpp
index 9c13c05..e338028 100644
--- a/tests/auto/qbytearray/tst_qbytearray.cpp
+++ b/tests/auto/qbytearray/tst_qbytearray.cpp
@@ -239,6 +239,8 @@ void tst_QByteArray::qUncompress()
QSKIP("Corrupt data causes this tests to lock up on HP-UX / PA-RISC with gcc", SkipAll);
#elif defined Q_OS_SOLARIS
QSKIP("Corrupt data causes this tests to lock up on Solaris", SkipAll);
+#elif defined Q_OS_QNX
+ QSKIP("Corrupt data causes this test to lock up on QNX", SkipAll);
#endif
QTEST(::qUncompress(in), "out");
diff --git a/tests/auto/qchar/tst_qchar.cpp b/tests/auto/qchar/tst_qchar.cpp
index 01ba534..512c180 100644
--- a/tests/auto/qchar/tst_qchar.cpp
+++ b/tests/auto/qchar/tst_qchar.cpp
@@ -500,6 +500,9 @@ void tst_QChar::normalization()
}
QFile f("NormalizationTest.txt");
+ // Windows - current directory is the debug/release subdirectory where the executable is located
+ if (!f.exists())
+ f.setFileName("../NormalizationTest.txt");;
if (!f.exists()) {
QFAIL("Couldn't find NormalizationTest.txt");
return;
diff --git a/tests/auto/qclipboard/tst_qclipboard.cpp b/tests/auto/qclipboard/tst_qclipboard.cpp
index 88c7a2c..2dc20d5 100644
--- a/tests/auto/qclipboard/tst_qclipboard.cpp
+++ b/tests/auto/qclipboard/tst_qclipboard.cpp
@@ -192,6 +192,7 @@ void tst_QClipboard::testSignals()
*/
void tst_QClipboard::copy_exit_paste()
{
+#ifndef QT_NO_PROCESS
#if defined Q_WS_X11 || defined Q_WS_QWS
QSKIP("This test does not make sense on X11 and embedded, copied data disappears from the clipboard when the application exits ", SkipAll);
// ### It's still possible to test copy/paste - just keep the apps running
@@ -207,6 +208,7 @@ void tst_QClipboard::copy_exit_paste()
QTest::qWait(100);
#endif
QCOMPARE(QProcess::execute("paster/paster", stringArgument), 0);
+#endif
}
void tst_QClipboard::setMimeData()
diff --git a/tests/auto/qcolumnview/tst_qcolumnview.cpp b/tests/auto/qcolumnview/tst_qcolumnview.cpp
index 017a7e6..f202d44 100644
--- a/tests/auto/qcolumnview/tst_qcolumnview.cpp
+++ b/tests/auto/qcolumnview/tst_qcolumnview.cpp
@@ -42,6 +42,7 @@
#include <QtTest/QtTest>
#include <qstandarditemmodel.h>
+#include <qitemdelegate.h>
#include <qcolumnview.h>
#include "../../../src/gui/itemviews/qcolumnviewgrip_p.h"
#ifndef Q_OS_SYMBIAN
@@ -89,6 +90,8 @@ private slots:
void setSelectionModel();
void visualRegionForSelection();
+ void dynamicModelChanges();
+
// grip
void moveGrip_basic();
void moveGrip_data();
@@ -135,16 +138,10 @@ public:
inline QModelIndex thirdLevel() { return index(0, 0, secondLevel()); }
};
-class ColumnViewPrivate : public QColumnViewPrivate
-{
-public:
- ColumnViewPrivate() : QColumnViewPrivate() {}
-};
-
class ColumnView : public QColumnView {
public:
- ColumnView(QWidget *parent = 0) : QColumnView(*new ColumnViewPrivate, parent){}
+ ColumnView(QWidget *parent = 0) : QColumnView(parent){}
QList<QPointer<QAbstractItemView> > createdColumns;
void ScrollContentsBy(int x, int y) {scrollContentsBy(x,y); }
@@ -1004,6 +1001,37 @@ void tst_QColumnView::pullRug()
// don't crash
}
+void tst_QColumnView::dynamicModelChanges()
+{
+ struct MyItemDelegate : public QItemDelegate
+ {
+ void paint(QPainter *painter,
+ const QStyleOptionViewItem &option,
+ const QModelIndex &index) const
+ {
+ paintedIndexes += index;
+ QItemDelegate::paint(painter, option, index);
+ }
+
+ mutable QSet<QModelIndex> paintedIndexes;
+
+ } delegate;;
+ QStandardItemModel model;
+ ColumnView view;
+ view.setModel(&model);
+ view.setItemDelegate(&delegate);
+ view.show();
+
+ QStandardItem *item = new QStandardItem(QLatin1String("item"));
+ model.appendRow(item);
+
+ QTest::qWait(200); //let the time for painting to occur
+ QCOMPARE(delegate.paintedIndexes.count(), 1);
+ QCOMPARE(*delegate.paintedIndexes.begin(), model.index(0,0));
+
+
+}
+
QTEST_MAIN(tst_QColumnView)
#include "tst_qcolumnview.moc"
diff --git a/tests/auto/qcombobox/tst_qcombobox.cpp b/tests/auto/qcombobox/tst_qcombobox.cpp
index 8b5acc7..0ed02f1 100644
--- a/tests/auto/qcombobox/tst_qcombobox.cpp
+++ b/tests/auto/qcombobox/tst_qcombobox.cpp
@@ -1976,6 +1976,7 @@ void tst_QComboBox::task190351_layout()
listCombo.showPopup();
QTest::qWait(100);
+#ifdef QT_BUILD_INTERNAL
QFrame *container = qFindChild<QComboBoxPrivateContainer *>(&listCombo);
QVERIFY(container);
QCOMPARE(static_cast<QAbstractItemView *>(list), qFindChild<QAbstractItemView *>(container));
@@ -1983,6 +1984,7 @@ void tst_QComboBox::task190351_layout()
QVERIFY(top);
QVERIFY(top->isVisible());
QCOMPARE(top->mapToGlobal(QPoint(0, top->height())).y(), list->mapToGlobal(QPoint()).y());
+#endif
QApplication::setStyle(oldStyle);
#else
@@ -2048,6 +2050,7 @@ void tst_QComboBox::task191329_size()
tableCombo.showPopup();
QTest::qWait(100);
+#ifdef QT_BUILD_INTERNAL
QFrame *container = qFindChild<QComboBoxPrivateContainer *>(&tableCombo);
QVERIFY(container);
QCOMPARE(static_cast<QAbstractItemView *>(table), qFindChild<QAbstractItemView *>(container));
@@ -2055,6 +2058,7 @@ void tst_QComboBox::task191329_size()
//the popup should be large enough to contains everithing so the top and left button are hidden
QVERIFY(!button->isVisible());
}
+#endif
QApplication::setStyle(oldStyle);
#else
@@ -2110,9 +2114,11 @@ void tst_QComboBox::task248169_popupWithMinimalSize()
comboBox.showPopup();
QTest::qWait(100);
+#ifdef QT_BUILD_INTERNAL
QFrame *container = qFindChild<QComboBoxPrivateContainer *>(&comboBox);
QVERIFY(container);
QVERIFY(desktop.screenGeometry(container).contains(container->geometry()));
+#endif
}
void tst_QComboBox::task247863_keyBoardSelection()
diff --git a/tests/auto/qcompleter/tst_qcompleter.cpp b/tests/auto/qcompleter/tst_qcompleter.cpp
index 7408fe4..8ce59a4 100644
--- a/tests/auto/qcompleter/tst_qcompleter.cpp
+++ b/tests/auto/qcompleter/tst_qcompleter.cpp
@@ -102,6 +102,8 @@ public:
~tst_QCompleter();
private slots:
+ void getSetCheck();
+
void multipleWidgets();
void focusIn();
@@ -136,6 +138,7 @@ private slots:
void setters();
void dynamicSortOrder();
+ void disabledItems();
// task-specific tests below me
void task178797_activatedOnReturn();
@@ -145,6 +148,7 @@ private slots:
void task253125_lineEditCompletion_data();
void task253125_lineEditCompletion();
+ void task247560_keyboardNavigation();
private:
void filter();
@@ -266,6 +270,72 @@ void tst_QCompleter::filter()
QCOMPARE(completer->currentCompletion(), completionText);
}
+// Testing get/set functions
+void tst_QCompleter::getSetCheck()
+{
+ QStandardItemModel model(3,3);
+ QCompleter completer(&model);
+
+ // QString QCompleter::completionPrefix()
+ // void QCompleter::setCompletionPrefix(QString)
+ completer.setCompletionPrefix(QString("te"));
+ QCOMPARE(completer.completionPrefix(), QString("te"));
+ completer.setCompletionPrefix(QString());
+ QCOMPARE(completer.completionPrefix(), QString());
+
+ // ModelSorting QCompleter::modelSorting()
+ // void QCompleter::setModelSorting(ModelSorting)
+ completer.setModelSorting(QCompleter::CaseSensitivelySortedModel);
+ QCOMPARE(completer.modelSorting(), QCompleter::CaseSensitivelySortedModel);
+ completer.setModelSorting(QCompleter::CaseInsensitivelySortedModel);
+ QCOMPARE(completer.modelSorting(), QCompleter::CaseInsensitivelySortedModel);
+ completer.setModelSorting(QCompleter::UnsortedModel);
+ QCOMPARE(completer.modelSorting(), QCompleter::UnsortedModel);
+
+ // CompletionMode QCompleter::completionMode()
+ // void QCompleter::setCompletionMode(CompletionMode)
+ QCOMPARE(completer.completionMode(), QCompleter::PopupCompletion); // default value
+ completer.setCompletionMode(QCompleter::UnfilteredPopupCompletion);
+ QCOMPARE(completer.completionMode(), QCompleter::UnfilteredPopupCompletion);
+ completer.setCompletionMode(QCompleter::InlineCompletion);
+ QCOMPARE(completer.completionMode(), QCompleter::InlineCompletion);
+
+ // int QCompleter::completionColumn()
+ // void QCompleter::setCompletionColumn(int)
+ completer.setCompletionColumn(2);
+ QCOMPARE(completer.completionColumn(), 2);
+ completer.setCompletionColumn(1);
+ QCOMPARE(completer.completionColumn(), 1);
+
+ // int QCompleter::completionRole()
+ // void QCompleter::setCompletionRole(int)
+ QCOMPARE(completer.completionRole(), static_cast<int>(Qt::EditRole)); // default value
+ completer.setCompletionRole(Qt::DisplayRole);
+ QCOMPARE(completer.completionRole(), static_cast<int>(Qt::DisplayRole));
+
+ // int QCompleter::maxVisibleItems()
+ // void QCompleter::setMaxVisibleItems(int)
+ QCOMPARE(completer.maxVisibleItems(), 7); // default value
+ completer.setMaxVisibleItems(10);
+ QCOMPARE(completer.maxVisibleItems(), 10);
+ QTest::ignoreMessage(QtWarningMsg, "QCompleter::setMaxVisibleItems: "
+ "Invalid max visible items (-2147483648) must be >= 0");
+ completer.setMaxVisibleItems(INT_MIN);
+ QCOMPARE(completer.maxVisibleItems(), 10); // Cannot be set to something negative => old value
+
+ // Qt::CaseSensitivity QCompleter::caseSensitivity()
+ // void QCompleter::setCaseSensitivity(Qt::CaseSensitivity)
+ QCOMPARE(completer.caseSensitivity(), Qt::CaseSensitive); // default value
+ completer.setCaseSensitivity(Qt::CaseInsensitive);
+ QCOMPARE(completer.caseSensitivity(), Qt::CaseInsensitive);
+
+ // bool QCompleter::wrapAround()
+ // void QCompleter::setWrapAround(bool)
+ QCOMPARE(completer.wrapAround(), true); // default value
+ completer.setWrapAround(false);
+ QCOMPARE(completer.wrapAround(), false);
+}
+
void tst_QCompleter::csMatchingOnCsSortedModel_data()
{
delete completer;
@@ -955,7 +1025,7 @@ void tst_QCompleter::multipleWidgets()
#ifdef Q_WS_X11
qt_x11_wait_for_window_manager(&window);
#endif
- QTest::qWait(5000);
+ QTest::qWait(50);
QTRY_VERIFY(qApp->focusWidget() == comboBox);
comboBox->lineEdit()->setText("it");
QCOMPARE(comboBox->currentText(), QString("it")); // should not complete with setText
@@ -968,7 +1038,8 @@ void tst_QCompleter::multipleWidgets()
lineEdit->setCompleter(&completer);
lineEdit->show();
lineEdit->setFocus();
- QTest::qWait(5000);
+ QTest::qWait(50);
+ QTRY_VERIFY(qApp->focusWidget() == lineEdit);
lineEdit->setText("it");
QCOMPARE(lineEdit->text(), QString("it")); // should not completer with setText
QCOMPARE(comboBox->currentText(), QString("")); // combo box text must not change!
@@ -1038,6 +1109,31 @@ void tst_QCompleter::dynamicSortOrder()
QCOMPARE(completer.completionCount(), 12);
}
+void tst_QCompleter::disabledItems()
+{
+ QLineEdit lineEdit;
+ QStandardItemModel *model = new QStandardItemModel(&lineEdit);
+ QStandardItem *suggestions = new QStandardItem("suggestions");
+ suggestions->setEnabled(false);
+ model->appendRow(suggestions);
+ model->appendRow(new QStandardItem("suggestions Enabled"));
+ QCompleter *completer = new QCompleter(model, &lineEdit);
+ QSignalSpy spy(completer, SIGNAL(activated(const QString &)));
+ lineEdit.setCompleter(completer);
+ lineEdit.show();
+
+ QTest::keyPress(&lineEdit, Qt::Key_S);
+ QTest::keyPress(&lineEdit, Qt::Key_U);
+ QAbstractItemView *view = lineEdit.completer()->popup();
+ QVERIFY(view->isVisible());
+ QTest::mouseClick(view->viewport(), Qt::LeftButton, 0, view->visualRect(view->model()->index(0, 0)).center());
+ QCOMPARE(spy.count(), 0);
+ QVERIFY(view->isVisible());
+ QTest::mouseClick(view->viewport(), Qt::LeftButton, 0, view->visualRect(view->model()->index(1, 0)).center());
+ QCOMPARE(spy.count(), 1);
+ QVERIFY(!view->isVisible());
+}
+
void tst_QCompleter::task178797_activatedOnReturn()
{
QStringList words;
@@ -1233,5 +1329,43 @@ void tst_QCompleter::task253125_lineEditCompletion()
QCOMPARE(edit.text(), QString("iota"));
}
+void tst_QCompleter::task247560_keyboardNavigation()
+{
+ QStandardItemModel model;
+
+ for (int i = 0; i < 5; i++) {
+ for (int j = 0; j < 5; j++) {
+ model.setItem(i, j, new QStandardItem(QString("row %1 column %2").arg(i).arg(j)));
+ }
+ }
+
+
+ QCompleter completer(&model);
+ completer.setCompletionColumn(1);
+
+ QLineEdit edit;
+ edit.setCompleter(&completer);
+ edit.show();
+ edit.setFocus();
+
+ QTest::qWait(100);
+
+ QTest::keyClick(&edit, 'r');
+ QTest::keyClick(edit.completer()->popup(), Qt::Key_Down);
+ QTest::keyClick(edit.completer()->popup(), Qt::Key_Down);
+ QTest::keyClick(edit.completer()->popup(), Qt::Key_Enter);
+
+ QCOMPARE(edit.text(), QString("row 1 column 1"));
+
+ edit.clear();
+
+ QTest::keyClick(&edit, 'r');
+ QTest::keyClick(edit.completer()->popup(), Qt::Key_Up);
+ QTest::keyClick(edit.completer()->popup(), Qt::Key_Up);
+ QTest::keyClick(edit.completer()->popup(), Qt::Key_Enter);
+
+ QCOMPARE(edit.text(), QString("row 3 column 1"));
+}
+
QTEST_MAIN(tst_QCompleter)
#include "tst_qcompleter.moc"
diff --git a/tests/auto/qcopchannel/tst_qcopchannel.cpp b/tests/auto/qcopchannel/tst_qcopchannel.cpp
index d07898a..ce97eae 100644
--- a/tests/auto/qcopchannel/tst_qcopchannel.cpp
+++ b/tests/auto/qcopchannel/tst_qcopchannel.cpp
@@ -42,7 +42,7 @@
#include <QtTest/QtTest>
-#ifdef Q_WS_QWS
+#if defined(Q_WS_QWS) && !defined(QT_NO_PROCESS)
//TESTED_CLASS=
//TESTED_FILES=
diff --git a/tests/auto/qcssparser/qcssparser.pro b/tests/auto/qcssparser/qcssparser.pro
index abf7187..84ee425 100644
--- a/tests/auto/qcssparser/qcssparser.pro
+++ b/tests/auto/qcssparser/qcssparser.pro
@@ -2,6 +2,8 @@ load(qttest_p4)
SOURCES += tst_cssparser.cpp
QT += xml
+requires(contains(QT_CONFIG,private_tests))
+
!symbian: {
DEFINES += SRCDIR=\\\"$$PWD\\\"
}
diff --git a/tests/auto/qdatetimeedit/tst_qdatetimeedit.cpp b/tests/auto/qdatetimeedit/tst_qdatetimeedit.cpp
index e5cb4486..652093e 100644
--- a/tests/auto/qdatetimeedit/tst_qdatetimeedit.cpp
+++ b/tests/auto/qdatetimeedit/tst_qdatetimeedit.cpp
@@ -102,7 +102,7 @@ Q_DECLARE_METATYPE(QList<int>);
#if defined(Q_OS_WINCE)
bool qt_wince_is_platform(const QString &platformString) {
- TCHAR tszPlatform[64];
+ wchar_t tszPlatform[64];
if (SystemParametersInfo(SPI_GETPLATFORMTYPE,
sizeof(tszPlatform)/sizeof(*tszPlatform),tszPlatform,0))
if (0 == _tcsicmp(reinterpret_cast<const wchar_t *> (platformString.utf16()), tszPlatform))
diff --git a/tests/auto/qdbusabstractadaptor/tst_qdbusabstractadaptor.cpp b/tests/auto/qdbusabstractadaptor/tst_qdbusabstractadaptor.cpp
index c70c619..5d08c63 100644
--- a/tests/auto/qdbusabstractadaptor/tst_qdbusabstractadaptor.cpp
+++ b/tests/auto/qdbusabstractadaptor/tst_qdbusabstractadaptor.cpp
@@ -609,19 +609,22 @@ void tst_QDBusAbstractAdaptor::methodCalls()
QVERIFY(con.isConnected());
//QDBusInterface emptycon.baseService(), "/", QString());
- QDBusInterface if1(con.baseService(), "/", "local.Interface1", con);
- QDBusInterface if2(con.baseService(), "/", "local.Interface2", con);
- QDBusInterface if3(con.baseService(), "/", "local.Interface3", con);
- QDBusInterface if4(con.baseService(), "/", "local.Interface4", con);
- // must fail: no object
- //QCOMPARE(empty->call("method").type(), QDBusMessage::ErrorMessage);
- QCOMPARE(if1.call(QDBus::BlockWithGui, "method").type(), QDBusMessage::ErrorMessage);
+ {
+ // must fail: no object
+ QDBusInterface if1(con.baseService(), "/", "local.Interface1", con);
+ QCOMPARE(if1.call(QDBus::BlockWithGui, "method").type(), QDBusMessage::ErrorMessage);
+ }
QFETCH(int, nInterfaces);
MyObject obj(nInterfaces);
con.registerObject("/", &obj);
+ QDBusInterface if1(con.baseService(), "/", "local.Interface1", con);
+ QDBusInterface if2(con.baseService(), "/", "local.Interface2", con);
+ QDBusInterface if3(con.baseService(), "/", "local.Interface3", con);
+ QDBusInterface if4(con.baseService(), "/", "local.Interface4", con);
+
// must fail: no such method
QCOMPARE(if1.call(QDBus::BlockWithGui, "method").type(), QDBusMessage::ErrorMessage);
if (!nInterfaces--)
@@ -670,11 +673,11 @@ void tst_QDBusAbstractAdaptor::methodCallScriptable()
QDBusConnection con = QDBusConnection::sessionBus();
QVERIFY(con.isConnected());
- QDBusInterface if2(con.baseService(), "/", "local.Interface2", con);
-
MyObject obj(2);
con.registerObject("/", &obj);
+ QDBusInterface if2(con.baseService(), "/", "local.Interface2", con);
+
QCOMPARE(if2.call(QDBus::BlockWithGui,"scriptableMethod").type(), QDBusMessage::ReplyMessage);
QCOMPARE(slotSpy, "void Interface2::scriptableMethod()");
}
diff --git a/tests/auto/qdbusabstractinterface/com.trolltech.QtDBus.Pinger.xml b/tests/auto/qdbusabstractinterface/com.trolltech.QtDBus.Pinger.xml
new file mode 100644
index 0000000..fb2aab8
--- /dev/null
+++ b/tests/auto/qdbusabstractinterface/com.trolltech.QtDBus.Pinger.xml
@@ -0,0 +1,30 @@
+<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN" "http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
+<node>
+ <interface name="com.trolltech.QtDBus.Pinger">
+ <property name="stringProp" type="s" access="readwrite"/>
+ <property name="variantProp" type="v" access="readwrite"/>
+ <property name="complexProp" type="(s)" access="readwrite">
+ <annotation name="com.trolltech.QtDBus.QtTypeName" value="RegisteredType"/>
+ </property>
+ <signal name="voidSignal"/>
+ <signal name="stringSignal">
+ <arg type="s"/>
+ </signal>
+ <signal name="complexSignal">
+ <arg name="" type="(s)"/>
+ <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="RegisteredType"/>
+ </signal>
+ <method name="voidMethod" />
+ <method name="stringMethod">
+ <arg type="s" direction="out"/>
+ </method>
+ <method name="complexMethod">
+ <arg type="(s)" direction="out"/>
+ <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="RegisteredType"/>
+ </method>
+ <method name="multiOutMethod">
+ <arg type="s" direction="out"/>
+ <arg type="i" direction="out"/
+ </method>
+ </interface>
+</node>
diff --git a/tests/auto/qdbusabstractinterface/interface.cpp b/tests/auto/qdbusabstractinterface/interface.cpp
new file mode 100644
index 0000000..1c391ce
--- /dev/null
+++ b/tests/auto/qdbusabstractinterface/interface.cpp
@@ -0,0 +1,48 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "interface.h"
+
+Interface::Interface()
+{
+}
+
+#include "moc_interface.cpp"
diff --git a/tests/auto/qdbusabstractinterface/interface.h b/tests/auto/qdbusabstractinterface/interface.h
new file mode 100644
index 0000000..f6d34a7
--- /dev/null
+++ b/tests/auto/qdbusabstractinterface/interface.h
@@ -0,0 +1,113 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef INTERFACE_H
+#define INTERFACE_H
+
+#include <QtCore/QObject>
+#include <QtDBus/QDBusArgument>
+
+struct RegisteredType
+{
+ inline RegisteredType(const QString &str = QString()) : s(str) {}
+ inline bool operator==(const RegisteredType &other) const { return s == other.s; }
+ QString s;
+};
+Q_DECLARE_METATYPE(RegisteredType)
+
+inline QDBusArgument &operator<<(QDBusArgument &s, const RegisteredType &data)
+{
+ s.beginStructure();
+ s << data.s;
+ s.endStructure();
+ return s;
+}
+
+inline const QDBusArgument &operator>>(const QDBusArgument &s, RegisteredType &data)
+{
+ s.beginStructure();
+ s >> data.s;
+ s.endStructure();
+ return s;
+}
+
+struct UnregisteredType
+{
+ QString s;
+};
+Q_DECLARE_METATYPE(UnregisteredType)
+
+class Interface: public QObject
+{
+ Q_OBJECT
+ Q_CLASSINFO("D-Bus Interface", "com.trolltech.QtDBus.Pinger")
+ Q_PROPERTY(QString stringProp READ stringProp WRITE setStringProp SCRIPTABLE true)
+ Q_PROPERTY(QDBusVariant variantProp READ variantProp WRITE setVariantProp SCRIPTABLE true)
+ Q_PROPERTY(RegisteredType complexProp READ complexProp WRITE setComplexProp SCRIPTABLE true)
+
+ friend class tst_QDBusAbstractInterface;
+ QString m_stringProp;
+ QDBusVariant m_variantProp;
+ RegisteredType m_complexProp;
+
+public:
+ Interface();
+
+ QString stringProp() const { return m_stringProp; }
+ void setStringProp(const QString &s) { m_stringProp = s; }
+ QDBusVariant variantProp() const { return m_variantProp; }
+ void setVariantProp(const QDBusVariant &v) { m_variantProp = v; }
+ RegisteredType complexProp() const { return m_complexProp; }
+ void setComplexProp(const RegisteredType &r) { m_complexProp = r; }
+
+public slots:
+ Q_SCRIPTABLE void voidMethod() {}
+ Q_SCRIPTABLE QString stringMethod() { return "Hello, world"; }
+ Q_SCRIPTABLE RegisteredType complexMethod() { return RegisteredType("Hello, world"); }
+ Q_SCRIPTABLE QString multiOutMethod(int &value) { value = 42; return "Hello, world"; }
+
+signals:
+ Q_SCRIPTABLE void voidSignal();
+ Q_SCRIPTABLE void stringSignal(const QString &);
+ Q_SCRIPTABLE void complexSignal(RegisteredType);
+};
+
+#endif // INTERFACE_H
diff --git a/tests/auto/qdbusabstractinterface/pinger.cpp b/tests/auto/qdbusabstractinterface/pinger.cpp
new file mode 100644
index 0000000..4fcb89a
--- /dev/null
+++ b/tests/auto/qdbusabstractinterface/pinger.cpp
@@ -0,0 +1,67 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDBus module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*
+ * This file was generated by qdbusxml2cpp version 0.7
+ * Command line was: qdbusxml2cpp -i interface.h -p pinger com.trolltech.QtDBus.Pinger.xml
+ *
+ * qdbusxml2cpp is Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ *
+ * This is an auto-generated file.
+ * This file may have been hand-edited. Look for HAND-EDIT comments
+ * before re-generating it.
+ */
+
+#include "pinger.h"
+
+/*
+ * Implementation of interface class ComTrolltechQtDBusPingerInterface
+ */
+
+ComTrolltechQtDBusPingerInterface::ComTrolltechQtDBusPingerInterface(const QString &service, const QString &path, const QDBusConnection &connection, QObject *parent)
+ : QDBusAbstractInterface(service, path, staticInterfaceName(), connection, parent)
+{
+}
+
+ComTrolltechQtDBusPingerInterface::~ComTrolltechQtDBusPingerInterface()
+{
+}
+
diff --git a/tests/auto/qdbusabstractinterface/pinger.h b/tests/auto/qdbusabstractinterface/pinger.h
new file mode 100644
index 0000000..fb8adda
--- /dev/null
+++ b/tests/auto/qdbusabstractinterface/pinger.h
@@ -0,0 +1,145 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDBus module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*
+ * This file was generated by qdbusxml2cpp version 0.7
+ * Command line was: qdbusxml2cpp -i interface.h -p pinger com.trolltech.QtDBus.Pinger.xml
+ *
+ * qdbusxml2cpp is Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ *
+ * This is an auto-generated file.
+ * Do not edit! All changes made to it will be lost.
+ */
+
+#ifndef PINGER_H_1246463415
+#define PINGER_H_1246463415
+
+#include <QtCore/QObject>
+#include <QtCore/QByteArray>
+#include <QtCore/QList>
+#include <QtCore/QMap>
+#include <QtCore/QString>
+#include <QtCore/QStringList>
+#include <QtCore/QVariant>
+#include <QtDBus/QtDBus>
+#include "interface.h"
+
+/*
+ * Proxy class for interface com.trolltech.QtDBus.Pinger
+ */
+class ComTrolltechQtDBusPingerInterface: public QDBusAbstractInterface
+{
+ Q_OBJECT
+public:
+ static inline const char *staticInterfaceName()
+ { return "com.trolltech.QtDBus.Pinger"; }
+
+public:
+ ComTrolltechQtDBusPingerInterface(const QString &service, const QString &path, const QDBusConnection &connection, QObject *parent = 0);
+
+ ~ComTrolltechQtDBusPingerInterface();
+
+ Q_PROPERTY(RegisteredType complexProp READ complexProp WRITE setComplexProp)
+ inline RegisteredType complexProp() const
+ { return qvariant_cast< RegisteredType >(property("complexProp")); }
+ inline void setComplexProp(RegisteredType value)
+ { setProperty("complexProp", qVariantFromValue(value)); }
+
+ Q_PROPERTY(QString stringProp READ stringProp WRITE setStringProp)
+ inline QString stringProp() const
+ { return qvariant_cast< QString >(property("stringProp")); }
+ inline void setStringProp(const QString &value)
+ { setProperty("stringProp", qVariantFromValue(value)); }
+
+ Q_PROPERTY(QDBusVariant variantProp READ variantProp WRITE setVariantProp)
+ inline QDBusVariant variantProp() const
+ { return qvariant_cast< QDBusVariant >(property("variantProp")); }
+ inline void setVariantProp(const QDBusVariant &value)
+ { setProperty("variantProp", qVariantFromValue(value)); }
+
+public Q_SLOTS: // METHODS
+ inline QDBusPendingReply<RegisteredType> complexMethod()
+ {
+ QList<QVariant> argumentList;
+ return asyncCallWithArgumentList(QLatin1String("complexMethod"), argumentList);
+ }
+
+ inline QDBusPendingReply<QString, int> multiOutMethod()
+ {
+ QList<QVariant> argumentList;
+ return asyncCallWithArgumentList(QLatin1String("multiOutMethod"), argumentList);
+ }
+ inline QDBusReply<QString> multiOutMethod(int &out1)
+ {
+ QList<QVariant> argumentList;
+ QDBusMessage reply = callWithArgumentList(QDBus::Block, QLatin1String("multiOutMethod"), argumentList);
+ if (reply.type() == QDBusMessage::ReplyMessage && reply.arguments().count() == 2) {
+ out1 = qdbus_cast<int>(reply.arguments().at(1));
+ }
+ return reply;
+ }
+
+ inline QDBusPendingReply<QString> stringMethod()
+ {
+ QList<QVariant> argumentList;
+ return asyncCallWithArgumentList(QLatin1String("stringMethod"), argumentList);
+ }
+
+ inline QDBusPendingReply<> voidMethod()
+ {
+ QList<QVariant> argumentList;
+ return asyncCallWithArgumentList(QLatin1String("voidMethod"), argumentList);
+ }
+
+Q_SIGNALS: // SIGNALS
+ void complexSignal(RegisteredType in0);
+ void stringSignal(const QString &in0);
+ void voidSignal();
+};
+
+namespace com {
+ namespace trolltech {
+ namespace QtDBus {
+ typedef ::ComTrolltechQtDBusPingerInterface Pinger;
+ }
+ }
+}
+#endif
diff --git a/tests/auto/qdbusabstractinterface/qdbusabstractinterface.pro b/tests/auto/qdbusabstractinterface/qdbusabstractinterface.pro
new file mode 100644
index 0000000..a4853b8
--- /dev/null
+++ b/tests/auto/qdbusabstractinterface/qdbusabstractinterface.pro
@@ -0,0 +1,15 @@
+load(qttest_p4)
+QT = core
+contains(QT_CONFIG,dbus): {
+ SOURCES += tst_qdbusabstractinterface.cpp interface.cpp
+ HEADERS += interface.h
+ QT += dbus
+
+ # These are generated sources
+ # To regenerate, see the command-line at the top of the files
+ SOURCES += pinger.cpp
+ HEADERS += pinger.h
+}
+else:SOURCES += ../qdbusmarshall/dummy.cpp
+
+OTHER_FILES += com.trolltech.QtDBus.Pinger.xml
diff --git a/tests/auto/qdbusabstractinterface/tst_qdbusabstractinterface.cpp b/tests/auto/qdbusabstractinterface/tst_qdbusabstractinterface.cpp
new file mode 100644
index 0000000..fa5e332
--- /dev/null
+++ b/tests/auto/qdbusabstractinterface/tst_qdbusabstractinterface.cpp
@@ -0,0 +1,576 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+#include <qcoreapplication.h>
+#include <qdebug.h>
+#include <qsharedpointer.h>
+
+#include <QtTest/QtTest>
+
+#include <QtDBus>
+
+#include "interface.h"
+#include "pinger.h"
+
+typedef QSharedPointer<com::trolltech::QtDBus::Pinger> Pinger;
+
+class tst_QDBusAbstractInterface: public QObject
+{
+ Q_OBJECT
+ Interface targetObj;
+
+ Pinger getPinger(QString service = "", const QString &path = "/")
+ {
+ QDBusConnection con = QDBusConnection::sessionBus();
+ if (!con.isConnected())
+ return Pinger();
+ if (service.isEmpty() && !service.isNull())
+ service = con.baseService();
+ return Pinger(new com::trolltech::QtDBus::Pinger(service, path, con));
+ }
+
+public:
+ tst_QDBusAbstractInterface();
+
+private slots:
+ void initTestCase();
+
+ void makeVoidCall();
+ void makeStringCall();
+ void makeComplexCall();
+ void makeMultiOutCall();
+
+ void makeAsyncVoidCall();
+ void makeAsyncStringCall();
+ void makeAsyncComplexCall();
+ void makeAsyncMultiOutCall();
+
+ void stringPropRead();
+ void stringPropWrite();
+ void variantPropRead();
+ void variantPropWrite();
+ void complexPropRead();
+ void complexPropWrite();
+
+ void stringPropDirectRead();
+ void stringPropDirectWrite();
+ void variantPropDirectRead();
+ void variantPropDirectWrite();
+ void complexPropDirectRead();
+ void complexPropDirectWrite();
+
+ void getVoidSignal_data();
+ void getVoidSignal();
+ void getStringSignal_data();
+ void getStringSignal();
+ void getComplexSignal_data();
+ void getComplexSignal();
+
+ void createErrors_data();
+ void createErrors();
+
+ void callErrors_data();
+ void callErrors();
+ void asyncCallErrors_data();
+ void asyncCallErrors();
+
+ void propertyReadErrors_data();
+ void propertyReadErrors();
+ void propertyWriteErrors_data();
+ void propertyWriteErrors();
+ void directPropertyReadErrors_data();
+ void directPropertyReadErrors();
+ void directPropertyWriteErrors_data();
+ void directPropertyWriteErrors();
+};
+
+tst_QDBusAbstractInterface::tst_QDBusAbstractInterface()
+{
+ // register the meta types
+ qDBusRegisterMetaType<RegisteredType>();
+ qRegisterMetaType<UnregisteredType>();
+}
+
+void tst_QDBusAbstractInterface::initTestCase()
+{
+ // register the object
+ QDBusConnection con = QDBusConnection::sessionBus();
+ QVERIFY(con.isConnected());
+ con.registerObject("/", &targetObj, QDBusConnection::ExportScriptableContents);
+}
+
+void tst_QDBusAbstractInterface::makeVoidCall()
+{
+ Pinger p = getPinger();
+ QVERIFY2(p, "Not connected to D-Bus");
+
+ QDBusReply<void> r = p->voidMethod();
+ QVERIFY(r.isValid());
+}
+
+void tst_QDBusAbstractInterface::makeStringCall()
+{
+ Pinger p = getPinger();
+ QVERIFY2(p, "Not connected to D-Bus");
+
+ QDBusReply<QString> r = p->stringMethod();
+ QVERIFY(r.isValid());
+ QCOMPARE(r.value(), targetObj.stringMethod());
+}
+
+void tst_QDBusAbstractInterface::makeComplexCall()
+{
+ Pinger p = getPinger();
+ QVERIFY2(p, "Not connected to D-Bus");
+
+ QDBusReply<RegisteredType> r = p->complexMethod();
+ QVERIFY(r.isValid());
+ QCOMPARE(r.value(), targetObj.complexMethod());
+}
+
+void tst_QDBusAbstractInterface::makeMultiOutCall()
+{
+ Pinger p = getPinger();
+ QVERIFY2(p, "Not connected to D-Bus");
+
+ int value;
+ QDBusReply<QString> r = p->multiOutMethod(value);
+ QVERIFY(r.isValid());
+
+ int expectedValue;
+ QCOMPARE(r.value(), targetObj.multiOutMethod(expectedValue));
+ QCOMPARE(value, expectedValue);
+}
+
+void tst_QDBusAbstractInterface::makeAsyncVoidCall()
+{
+ Pinger p = getPinger();
+ QVERIFY2(p, "Not connected to D-Bus");
+
+ QDBusPendingReply<void> r = p->voidMethod();
+ r.waitForFinished();
+ QVERIFY(r.isValid());
+}
+
+void tst_QDBusAbstractInterface::makeAsyncStringCall()
+{
+ Pinger p = getPinger();
+ QVERIFY2(p, "Not connected to D-Bus");
+
+ QDBusPendingReply<QString> r = p->stringMethod();
+ r.waitForFinished();
+ QVERIFY(r.isValid());
+ QCOMPARE(r.value(), targetObj.stringMethod());
+}
+
+void tst_QDBusAbstractInterface::makeAsyncComplexCall()
+{
+ Pinger p = getPinger();
+ QVERIFY2(p, "Not connected to D-Bus");
+
+ QDBusPendingReply<RegisteredType> r = p->complexMethod();
+ r.waitForFinished();
+ QVERIFY(r.isValid());
+ QCOMPARE(r.value(), targetObj.complexMethod());
+}
+
+void tst_QDBusAbstractInterface::makeAsyncMultiOutCall()
+{
+ Pinger p = getPinger();
+ QVERIFY2(p, "Not connected to D-Bus");
+
+ QDBusPendingReply<QString, int> r = p->multiOutMethod();
+ r.waitForFinished();
+ QVERIFY(r.isValid());
+
+ int expectedValue;
+ QCOMPARE(r.value(), targetObj.multiOutMethod(expectedValue));
+ QCOMPARE(r.argumentAt<1>(), expectedValue);
+}
+
+void tst_QDBusAbstractInterface::stringPropRead()
+{
+ Pinger p = getPinger();
+ QVERIFY2(p, "Not connected to D-Bus");
+
+ QString expectedValue = targetObj.m_stringProp = "This is a test";
+ QVariant v = p->property("stringProp");
+ QVERIFY(v.isValid());
+ QCOMPARE(v.toString(), expectedValue);
+}
+
+void tst_QDBusAbstractInterface::stringPropWrite()
+{
+ Pinger p = getPinger();
+ QVERIFY2(p, "Not connected to D-Bus");
+
+ QString expectedValue = "This is a value";
+ QVERIFY(p->setProperty("stringProp", expectedValue));
+ QCOMPARE(targetObj.m_stringProp, expectedValue);
+}
+
+void tst_QDBusAbstractInterface::variantPropRead()
+{
+ Pinger p = getPinger();
+ QVERIFY2(p, "Not connected to D-Bus");
+
+ QDBusVariant expectedValue = targetObj.m_variantProp = QDBusVariant(QVariant(42));
+ QVariant v = p->property("variantProp");
+ QVERIFY(v.isValid());
+ QDBusVariant value = v.value<QDBusVariant>();
+ QCOMPARE(value.variant().userType(), expectedValue.variant().userType());
+ QCOMPARE(value.variant(), expectedValue.variant());
+}
+
+void tst_QDBusAbstractInterface::variantPropWrite()
+{
+ Pinger p = getPinger();
+ QVERIFY2(p, "Not connected to D-Bus");
+
+ QDBusVariant expectedValue = QDBusVariant(Q_INT64_C(-47));
+ QVERIFY(p->setProperty("variantProp", qVariantFromValue(expectedValue)));
+ QCOMPARE(targetObj.m_variantProp.variant(), expectedValue.variant());
+}
+
+void tst_QDBusAbstractInterface::complexPropRead()
+{
+ Pinger p = getPinger();
+ QVERIFY2(p, "Not connected to D-Bus");
+
+ RegisteredType expectedValue = targetObj.m_complexProp = RegisteredType("This is a test");
+ QVariant v = p->property("complexProp");
+ QVERIFY(v.userType() == qMetaTypeId<RegisteredType>());
+ QCOMPARE(v.value<RegisteredType>(), targetObj.m_complexProp);
+}
+
+void tst_QDBusAbstractInterface::complexPropWrite()
+{
+ Pinger p = getPinger();
+ QVERIFY2(p, "Not connected to D-Bus");
+
+ RegisteredType expectedValue = RegisteredType("This is a value");
+ QVERIFY(p->setProperty("complexProp", qVariantFromValue(expectedValue)));
+ QCOMPARE(targetObj.m_complexProp, expectedValue);
+}
+
+void tst_QDBusAbstractInterface::stringPropDirectRead()
+{
+ Pinger p = getPinger();
+ QVERIFY2(p, "Not connected to D-Bus");
+
+ QString expectedValue = targetObj.m_stringProp = "This is a test";
+ QCOMPARE(p->stringProp(), expectedValue);
+}
+
+void tst_QDBusAbstractInterface::stringPropDirectWrite()
+{
+ Pinger p = getPinger();
+ QVERIFY2(p, "Not connected to D-Bus");
+
+ QString expectedValue = "This is a value";
+ p->setStringProp(expectedValue);
+ QCOMPARE(targetObj.m_stringProp, expectedValue);
+}
+
+void tst_QDBusAbstractInterface::variantPropDirectRead()
+{
+ Pinger p = getPinger();
+ QVERIFY2(p, "Not connected to D-Bus");
+
+ QDBusVariant expectedValue = targetObj.m_variantProp = QDBusVariant(42);
+ QCOMPARE(p->variantProp().variant(), expectedValue.variant());
+}
+
+void tst_QDBusAbstractInterface::variantPropDirectWrite()
+{
+ Pinger p = getPinger();
+ QVERIFY2(p, "Not connected to D-Bus");
+
+ QDBusVariant expectedValue = QDBusVariant(Q_INT64_C(-47));
+ p->setVariantProp(expectedValue);
+ QCOMPARE(targetObj.m_variantProp.variant().userType(), expectedValue.variant().userType());
+ QCOMPARE(targetObj.m_variantProp.variant(), expectedValue.variant());
+}
+
+void tst_QDBusAbstractInterface::complexPropDirectRead()
+{
+ Pinger p = getPinger();
+ QVERIFY2(p, "Not connected to D-Bus");
+
+ RegisteredType expectedValue = targetObj.m_complexProp = RegisteredType("This is a test");
+ QCOMPARE(p->complexProp(), targetObj.m_complexProp);
+}
+
+void tst_QDBusAbstractInterface::complexPropDirectWrite()
+{
+ Pinger p = getPinger();
+ QVERIFY2(p, "Not connected to D-Bus");
+
+ RegisteredType expectedValue = RegisteredType("This is a value");
+ p->setComplexProp(expectedValue);
+ QCOMPARE(targetObj.m_complexProp, expectedValue);
+}
+
+void tst_QDBusAbstractInterface::getVoidSignal_data()
+{
+ QTest::addColumn<QString>("service");
+ QTest::addColumn<QString>("path");
+
+ QTest::newRow("specific") << QDBusConnection::sessionBus().baseService() << "/";
+ QTest::newRow("service-wildcard") << QString() << "/";
+ QTest::newRow("path-wildcard") << QDBusConnection::sessionBus().baseService() << QString();
+ QTest::newRow("full-wildcard") << QString() << QString();
+}
+
+void tst_QDBusAbstractInterface::getVoidSignal()
+{
+ QFETCH(QString, service);
+ QFETCH(QString, path);
+ Pinger p = getPinger(service, path);
+ QVERIFY2(p, "Not connected to D-Bus");
+
+ // we need to connect the signal somewhere in order for D-Bus to enable the rules
+ QTestEventLoop::instance().connect(p.data(), SIGNAL(voidSignal()), SLOT(exitLoop()));
+ QSignalSpy s(p.data(), SIGNAL(voidSignal()));
+
+ emit targetObj.voidSignal();
+ QTestEventLoop::instance().enterLoop(2);
+ QVERIFY(!QTestEventLoop::instance().timeout());
+
+ QVERIFY(s.size() == 1);
+ QVERIFY(s.at(0).size() == 0);
+}
+
+void tst_QDBusAbstractInterface::getStringSignal_data()
+{
+ getVoidSignal_data();
+}
+
+void tst_QDBusAbstractInterface::getStringSignal()
+{
+ QFETCH(QString, service);
+ QFETCH(QString, path);
+ Pinger p = getPinger(service, path);
+ QVERIFY2(p, "Not connected to D-Bus");
+
+ // we need to connect the signal somewhere in order for D-Bus to enable the rules
+ QTestEventLoop::instance().connect(p.data(), SIGNAL(stringSignal(QString)), SLOT(exitLoop()));
+ QSignalSpy s(p.data(), SIGNAL(stringSignal(QString)));
+
+ QString expectedValue = "Good morning";
+ emit targetObj.stringSignal(expectedValue);
+ QTestEventLoop::instance().enterLoop(2);
+ QVERIFY(!QTestEventLoop::instance().timeout());
+
+ QVERIFY(s.size() == 1);
+ QVERIFY(s[0].size() == 1);
+ QCOMPARE(s[0][0].userType(), int(QVariant::String));
+ QCOMPARE(s[0][0].toString(), expectedValue);
+}
+
+void tst_QDBusAbstractInterface::getComplexSignal_data()
+{
+ getVoidSignal_data();
+}
+
+void tst_QDBusAbstractInterface::getComplexSignal()
+{
+ QFETCH(QString, service);
+ QFETCH(QString, path);
+ Pinger p = getPinger(service, path);
+ QVERIFY2(p, "Not connected to D-Bus");
+
+ // we need to connect the signal somewhere in order for D-Bus to enable the rules
+ QTestEventLoop::instance().connect(p.data(), SIGNAL(complexSignal(RegisteredType)), SLOT(exitLoop()));
+ QSignalSpy s(p.data(), SIGNAL(complexSignal(RegisteredType)));
+
+ RegisteredType expectedValue("Good evening");
+ emit targetObj.complexSignal(expectedValue);
+ QTestEventLoop::instance().enterLoop(2);
+ QVERIFY(!QTestEventLoop::instance().timeout());
+
+ QVERIFY(s.size() == 1);
+ QVERIFY(s[0].size() == 1);
+ QCOMPARE(s[0][0].userType(), qMetaTypeId<RegisteredType>());
+ QCOMPARE(s[0][0].value<RegisteredType>(), expectedValue);
+}
+
+void tst_QDBusAbstractInterface::createErrors_data()
+{
+ QTest::addColumn<QString>("service");
+ QTest::addColumn<QString>("path");
+ QTest::addColumn<QString>("errorName");
+
+ QTest::newRow("invalid-service") << "this isn't valid" << "/" << "com.trolltech.QtDBus.Error.InvalidService";
+ QTest::newRow("invalid-path") << QDBusConnection::sessionBus().baseService() << "this isn't valid"
+ << "com.trolltech.QtDBus.Error.InvalidObjectPath";
+}
+
+void tst_QDBusAbstractInterface::createErrors()
+{
+ QFETCH(QString, service);
+ QFETCH(QString, path);
+ Pinger p = getPinger(service, path);
+ QVERIFY2(p, "Not connected to D-Bus");
+
+ QVERIFY(!p->isValid());
+ QTEST(p->lastError().name(), "errorName");
+}
+
+void tst_QDBusAbstractInterface::callErrors_data()
+{
+ createErrors_data();
+ QTest::newRow("service-wildcard") << QString() << "/" << "com.trolltech.QtDBus.Error.InvalidService";
+ QTest::newRow("path-wildcard") << QDBusConnection::sessionBus().baseService() << QString()
+ << "com.trolltech.QtDBus.Error.InvalidObjectPath";
+ QTest::newRow("full-wildcard") << QString() << QString() << "com.trolltech.QtDBus.Error.InvalidService";
+}
+
+void tst_QDBusAbstractInterface::callErrors()
+{
+ QFETCH(QString, service);
+ QFETCH(QString, path);
+ Pinger p = getPinger(service, path);
+ QVERIFY2(p, "Not connected to D-Bus");
+
+ // we shouldn't be able to make this call:
+ QDBusReply<QString> r = p->stringMethod();
+ QVERIFY(!r.isValid());
+ QTEST(r.error().name(), "errorName");
+ QCOMPARE(p->lastError().name(), r.error().name());
+}
+
+void tst_QDBusAbstractInterface::asyncCallErrors_data()
+{
+ callErrors_data();
+}
+
+void tst_QDBusAbstractInterface::asyncCallErrors()
+{
+ QFETCH(QString, service);
+ QFETCH(QString, path);
+ Pinger p = getPinger(service, path);
+ QVERIFY2(p, "Not connected to D-Bus");
+
+ // we shouldn't be able to make this call:
+ QDBusPendingReply<QString> r = p->stringMethod();
+ QVERIFY(r.isError());
+ QTEST(r.error().name(), "errorName");
+ QCOMPARE(p->lastError().name(), r.error().name());
+}
+
+void tst_QDBusAbstractInterface::propertyReadErrors_data()
+{
+ callErrors_data();
+}
+
+void tst_QDBusAbstractInterface::propertyReadErrors()
+{
+ QFETCH(QString, service);
+ QFETCH(QString, path);
+ Pinger p = getPinger(service, path);
+ QVERIFY2(p, "Not connected to D-Bus");
+
+ // we shouldn't be able to get this value:
+ QVariant v = p->property("stringProp");
+ QVERIFY(v.isNull());
+ QVERIFY(!v.isValid());
+ QTEST(p->lastError().name(), "errorName");
+}
+
+void tst_QDBusAbstractInterface::propertyWriteErrors_data()
+{
+ callErrors_data();
+}
+
+void tst_QDBusAbstractInterface::propertyWriteErrors()
+{
+ QFETCH(QString, service);
+ QFETCH(QString, path);
+ Pinger p = getPinger(service, path);
+ QVERIFY2(p, "Not connected to D-Bus");
+
+ // we shouldn't be able to get this value:
+ if (p->isValid())
+ QCOMPARE(int(p->lastError().type()), int(QDBusError::NoError));
+ QVERIFY(!p->setProperty("stringProp", ""));
+ QTEST(p->lastError().name(), "errorName");
+}
+
+void tst_QDBusAbstractInterface::directPropertyReadErrors_data()
+{
+ callErrors_data();
+}
+
+void tst_QDBusAbstractInterface::directPropertyReadErrors()
+{
+ QFETCH(QString, service);
+ QFETCH(QString, path);
+ Pinger p = getPinger(service, path);
+ QVERIFY2(p, "Not connected to D-Bus");
+
+ // we shouldn't be able to get this value:
+ QString v = p->stringProp();
+ QVERIFY(v.isNull());
+ QTEST(p->lastError().name(), "errorName");
+}
+
+void tst_QDBusAbstractInterface::directPropertyWriteErrors_data()
+{
+ callErrors_data();
+}
+
+void tst_QDBusAbstractInterface::directPropertyWriteErrors()
+{
+ QFETCH(QString, service);
+ QFETCH(QString, path);
+ Pinger p = getPinger(service, path);
+ QVERIFY2(p, "Not connected to D-Bus");
+
+ // we shouldn't be able to get this value:
+ // but there's no direct way of verifying that the setting failed
+ if (p->isValid())
+ QCOMPARE(int(p->lastError().type()), int(QDBusError::NoError));
+ p->setStringProp("");
+ QTEST(p->lastError().name(), "errorName");
+}
+
+QTEST_MAIN(tst_QDBusAbstractInterface)
+#include "tst_qdbusabstractinterface.moc"
diff --git a/tests/auto/qdbusinterface/tst_qdbusinterface.cpp b/tests/auto/qdbusinterface/tst_qdbusinterface.cpp
index c4d4b08..60afe4e 100644
--- a/tests/auto/qdbusinterface/tst_qdbusinterface.cpp
+++ b/tests/auto/qdbusinterface/tst_qdbusinterface.cpp
@@ -60,6 +60,9 @@ class MyObject: public QObject
Q_CLASSINFO("D-Bus Introspection", ""
" <interface name=\"com.trolltech.QtDBus.MyObject\" >\n"
" <property access=\"readwrite\" type=\"i\" name=\"prop1\" />\n"
+" <property name=\"complexProp\" type=\"ai\" access=\"readwrite\">\n"
+" <annotation name=\"com.trolltech.QtDBus.QtTypeName\" value=\"QList&lt;int&gt;\"/>\n"
+" </property>\n"
" <signal name=\"somethingHappened\" >\n"
" <arg direction=\"out\" type=\"s\" />\n"
" </signal>\n"
@@ -73,8 +76,17 @@ class MyObject: public QObject
" <arg direction=\"out\" type=\"v\" name=\"pong1\" />\n"
" <arg direction=\"out\" type=\"v\" name=\"pong2\" />\n"
" </method>\n"
+" <method name=\"ping\" >\n"
+" <arg direction=\"in\" type=\"ai\" name=\"ping\" />\n"
+" <arg direction=\"out\" type=\"ai\" name=\"ping\" />\n"
+" <annotation name=\"com.trolltech.QtDBus.QtTypeName.In0\" value=\"QList&lt;int&gt;\"/>\n"
+" <annotation name=\"com.trolltech.QtDBus.QtTypeName.Out0\" value=\"QList&lt;int&gt;\"/>\n"
+" </method>\n"
" </interface>\n"
"")
+ Q_PROPERTY(int prop1 READ prop1 WRITE setProp1)
+ Q_PROPERTY(QList<int> complexProp READ complexProp WRITE setComplexProp)
+
public:
static int callCount;
static QVariantList callArgs;
@@ -84,6 +96,30 @@ public:
subObject->setObjectName("subObject");
}
+ int m_prop1;
+ int prop1() const
+ {
+ ++callCount;
+ return m_prop1;
+ }
+ void setProp1(int value)
+ {
+ ++callCount;
+ m_prop1 = value;
+ }
+
+ QList<int> m_complexProp;
+ QList<int> complexProp() const
+ {
+ ++callCount;
+ return m_complexProp;
+ }
+ void setComplexProp(const QList<int> &value)
+ {
+ ++callCount;
+ m_complexProp = value;
+ }
+
public slots:
void ping(QDBusMessage msg)
@@ -144,8 +180,16 @@ private slots:
void introspect();
void callMethod();
void invokeMethod();
+ void invokeMethodWithReturn();
+ void invokeMethodWithMultiReturn();
+ void invokeMethodWithComplexReturn();
void signal();
+
+ void propertyRead();
+ void propertyWrite();
+ void complexPropertyRead();
+ void complexPropertyWrite();
};
void tst_QDBusInterface::initTestCase()
@@ -154,7 +198,7 @@ void tst_QDBusInterface::initTestCase()
QVERIFY(con.isConnected());
QTest::qWait(500);
- con.registerObject("/", &obj, QDBusConnection::ExportAdaptors
+ con.registerObject("/", &obj, QDBusConnection::ExportAllProperties
| QDBusConnection::ExportAllSlots
| QDBusConnection::ExportChildObjects);
}
@@ -228,11 +272,12 @@ void tst_QDBusInterface::introspect()
const QMetaObject *mo = iface.metaObject();
- QCOMPARE(mo->methodCount() - mo->methodOffset(), 3);
+ QCOMPARE(mo->methodCount() - mo->methodOffset(), 4);
QVERIFY(mo->indexOfSignal(TEST_SIGNAL_NAME "(QString)") != -1);
- QCOMPARE(mo->propertyCount() - mo->propertyOffset(), 1);
+ QCOMPARE(mo->propertyCount() - mo->propertyOffset(), 2);
QVERIFY(mo->indexOfProperty("prop1") != -1);
+ QVERIFY(mo->indexOfProperty("complexProp") != -1);
}
void tst_QDBusInterface::callMethod()
@@ -281,6 +326,87 @@ void tst_QDBusInterface::invokeMethod()
QCOMPARE(dv.variant().toString(), QString("foo"));
}
+void tst_QDBusInterface::invokeMethodWithReturn()
+{
+ QDBusConnection con = QDBusConnection::sessionBus();
+ QDBusInterface iface(QDBusConnection::sessionBus().baseService(), QLatin1String("/"),
+ TEST_INTERFACE_NAME);
+
+ // make the call without a return type
+ MyObject::callCount = 0;
+ QDBusVariant arg("foo");
+ QDBusVariant retArg;
+ QVERIFY(QMetaObject::invokeMethod(&iface, "ping", Q_RETURN_ARG(QDBusVariant, retArg), Q_ARG(QDBusVariant, arg)));
+ QCOMPARE(MyObject::callCount, 1);
+
+ // verify what the callee received
+ QCOMPARE(MyObject::callArgs.count(), 1);
+ QVariant v = MyObject::callArgs.at(0);
+ QDBusVariant dv = qdbus_cast<QDBusVariant>(v);
+ QCOMPARE(dv.variant().type(), QVariant::String);
+ QCOMPARE(dv.variant().toString(), arg.variant().toString());
+
+ // verify that we got the reply as expected
+ QCOMPARE(retArg.variant(), arg.variant());
+}
+
+void tst_QDBusInterface::invokeMethodWithMultiReturn()
+{
+ QDBusConnection con = QDBusConnection::sessionBus();
+ QDBusInterface iface(QDBusConnection::sessionBus().baseService(), QLatin1String("/"),
+ TEST_INTERFACE_NAME);
+
+ // make the call without a return type
+ MyObject::callCount = 0;
+ QDBusVariant arg("foo"), arg2("bar");
+ QDBusVariant retArg, retArg2;
+ QVERIFY(QMetaObject::invokeMethod(&iface, "ping",
+ Q_RETURN_ARG(QDBusVariant, retArg),
+ Q_ARG(QDBusVariant, arg),
+ Q_ARG(QDBusVariant, arg2),
+ Q_ARG(QDBusVariant&, retArg2)));
+ QCOMPARE(MyObject::callCount, 1);
+
+ // verify what the callee received
+ QCOMPARE(MyObject::callArgs.count(), 2);
+ QVariant v = MyObject::callArgs.at(0);
+ QDBusVariant dv = qdbus_cast<QDBusVariant>(v);
+ QCOMPARE(dv.variant().type(), QVariant::String);
+ QCOMPARE(dv.variant().toString(), arg.variant().toString());
+
+ v = MyObject::callArgs.at(1);
+ dv = qdbus_cast<QDBusVariant>(v);
+ QCOMPARE(dv.variant().type(), QVariant::String);
+ QCOMPARE(dv.variant().toString(), arg2.variant().toString());
+
+ // verify that we got the replies as expected
+ QCOMPARE(retArg.variant(), arg.variant());
+ QCOMPARE(retArg2.variant(), arg2.variant());
+}
+
+void tst_QDBusInterface::invokeMethodWithComplexReturn()
+{
+ QDBusConnection con = QDBusConnection::sessionBus();
+ QDBusInterface iface(QDBusConnection::sessionBus().baseService(), QLatin1String("/"),
+ TEST_INTERFACE_NAME);
+
+ // make the call without a return type
+ MyObject::callCount = 0;
+ QList<int> arg = QList<int>() << 42 << -47;
+ QList<int> retArg;
+ QVERIFY(QMetaObject::invokeMethod(&iface, "ping", Q_RETURN_ARG(QList<int>, retArg), Q_ARG(QList<int>, arg)));
+ QCOMPARE(MyObject::callCount, 1);
+
+ // verify what the callee received
+ QCOMPARE(MyObject::callArgs.count(), 1);
+ QVariant v = MyObject::callArgs.at(0);
+ QCOMPARE(v.userType(), qMetaTypeId<QDBusArgument>());
+ QCOMPARE(qdbus_cast<QList<int> >(v), arg);
+
+ // verify that we got the reply as expected
+ QCOMPARE(retArg, arg);
+}
+
void tst_QDBusInterface::signal()
{
QDBusConnection con = QDBusConnection::sessionBus();
@@ -322,6 +448,68 @@ void tst_QDBusInterface::signal()
}
}
+void tst_QDBusInterface::propertyRead()
+{
+ QDBusConnection con = QDBusConnection::sessionBus();
+ QDBusInterface iface(QDBusConnection::sessionBus().baseService(), QLatin1String("/"),
+ TEST_INTERFACE_NAME);
+
+ int arg = obj.m_prop1 = 42;
+ MyObject::callCount = 0;
+
+ QVariant v = iface.property("prop1");
+ QVERIFY(v.isValid());
+ QCOMPARE(v.userType(), int(QVariant::Int));
+ QCOMPARE(v.toInt(), arg);
+ QCOMPARE(MyObject::callCount, 1);
+}
+
+void tst_QDBusInterface::propertyWrite()
+{
+ QDBusConnection con = QDBusConnection::sessionBus();
+ QDBusInterface iface(QDBusConnection::sessionBus().baseService(), QLatin1String("/"),
+ TEST_INTERFACE_NAME);
+
+ int arg = 42;
+ obj.m_prop1 = 0;
+ MyObject::callCount = 0;
+
+ QVERIFY(iface.setProperty("prop1", arg));
+ QCOMPARE(MyObject::callCount, 1);
+ QCOMPARE(obj.m_prop1, arg);
+}
+
+void tst_QDBusInterface::complexPropertyRead()
+{
+ QDBusConnection con = QDBusConnection::sessionBus();
+ QDBusInterface iface(QDBusConnection::sessionBus().baseService(), QLatin1String("/"),
+ TEST_INTERFACE_NAME);
+
+ QList<int> arg = obj.m_complexProp = QList<int>() << 42 << -47;
+ MyObject::callCount = 0;
+
+ QVariant v = iface.property("complexProp");
+ QVERIFY(v.isValid());
+ QCOMPARE(v.userType(), qMetaTypeId<QList<int> >());
+ QCOMPARE(v.value<QList<int> >(), arg);
+ QCOMPARE(MyObject::callCount, 1);
+}
+
+void tst_QDBusInterface::complexPropertyWrite()
+{
+ QDBusConnection con = QDBusConnection::sessionBus();
+ QDBusInterface iface(QDBusConnection::sessionBus().baseService(), QLatin1String("/"),
+ TEST_INTERFACE_NAME);
+
+ QList<int> arg = QList<int>() << -47 << 42;
+ obj.m_complexProp.clear();
+ MyObject::callCount = 0;
+
+ QVERIFY(iface.setProperty("complexProp", qVariantFromValue(arg)));
+ QCOMPARE(MyObject::callCount, 1);
+ QCOMPARE(obj.m_complexProp, arg);
+}
+
QTEST_MAIN(tst_QDBusInterface)
#include "tst_qdbusinterface.moc"
diff --git a/tests/auto/qdbusmarshall/tst_qdbusmarshall.cpp b/tests/auto/qdbusmarshall/tst_qdbusmarshall.cpp
index e5b2ebb..e304712 100644
--- a/tests/auto/qdbusmarshall/tst_qdbusmarshall.cpp
+++ b/tests/auto/qdbusmarshall/tst_qdbusmarshall.cpp
@@ -84,12 +84,17 @@ private slots:
void sendArgument_data();
void sendArgument();
- void sendErrors();
+ void sendSignalErrors();
+ void sendCallErrors_data();
+ void sendCallErrors();
private:
QProcess proc;
};
+struct UnregisteredType { };
+Q_DECLARE_METATYPE(UnregisteredType)
+
class WaitForQPong: public QObject
{
Q_OBJECT
@@ -784,7 +789,7 @@ void tst_QDBusMarshall::sendArgument()
QCOMPARE(extracted, value);
}
-void tst_QDBusMarshall::sendErrors()
+void tst_QDBusMarshall::sendSignalErrors()
{
QDBusConnection con = QDBusConnection::sessionBus();
@@ -793,7 +798,7 @@ void tst_QDBusMarshall::sendErrors()
"signalName");
msg << qVariantFromValue(QDBusObjectPath());
- QTest::ignoreMessage(QtWarningMsg, "QDBusConnection: error: could not send signal path \"/foo\" interface \"local.interfaceName\" member \"signalName\"");
+ QTest::ignoreMessage(QtWarningMsg, "QDBusConnection: error: could not send signal path \"/foo\" interface \"local.interfaceName\" member \"signalName\": Marshalling failed: Invalid object path passed in arguments");
QVERIFY(!con.send(msg));
msg.setArguments(QVariantList());
@@ -803,9 +808,117 @@ void tst_QDBusMarshall::sendErrors()
path.setPath("abc");
msg << qVariantFromValue(path);
- QTest::ignoreMessage(QtWarningMsg, "QDBusConnection: error: could not send signal path \"/foo\" interface \"local.interfaceName\" member \"signalName\"");
+ QTest::ignoreMessage(QtWarningMsg, "QDBusConnection: error: could not send signal path \"/foo\" interface \"local.interfaceName\" member \"signalName\": Marshalling failed: Invalid object path passed in arguments");
+ QVERIFY(!con.send(msg));
+
+ QDBusSignature sig;
+ msg.setArguments(QVariantList() << qVariantFromValue(sig));
+ QTest::ignoreMessage(QtWarningMsg, "QDBusConnection: error: could not send signal path \"/foo\" interface \"local.interfaceName\" member \"signalName\": Marshalling failed: Invalid signature passed in arguments");
+ QVERIFY(!con.send(msg));
+
+ QTest::ignoreMessage(QtWarningMsg, "QDBusSignature: invalid signature \"a\"");
+ sig.setSignature("a");
+ msg.setArguments(QVariantList());
+ msg << qVariantFromValue(sig);
+ QTest::ignoreMessage(QtWarningMsg, "QDBusConnection: error: could not send signal path \"/foo\" interface \"local.interfaceName\" member \"signalName\": Marshalling failed: Invalid signature passed in arguments");
QVERIFY(!con.send(msg));
}
+void tst_QDBusMarshall::sendCallErrors_data()
+{
+ QTest::addColumn<QString>("service");
+ QTest::addColumn<QString>("path");
+ QTest::addColumn<QString>("interface");
+ QTest::addColumn<QString>("method");
+ QTest::addColumn<QVariantList>("arguments");
+ QTest::addColumn<QString>("errorName");
+ QTest::addColumn<QString>("errorMsg");
+ QTest::addColumn<QString>("ignoreMsg");
+
+ // this error comes from the bus server
+ QTest::newRow("empty-service") << "" << objectPath << interfaceName << "ping" << QVariantList()
+ << "org.freedesktop.DBus.Error.UnknownMethod"
+ << "Method \"ping\" with signature \"\" on interface \"com.trolltech.autotests.qpong\" doesn't exist\n" << (const char*)0;
+
+ QTest::newRow("invalid-service") << "this isn't valid" << objectPath << interfaceName << "ping" << QVariantList()
+ << "com.trolltech.QtDBus.Error.InvalidService"
+ << "Invalid service name: this isn't valid" << "";
+
+ QTest::newRow("empty-path") << serviceName << "" << interfaceName << "ping" << QVariantList()
+ << "com.trolltech.QtDBus.Error.InvalidObjectPath"
+ << "Object path cannot be empty" << "";
+ QTest::newRow("invalid-path") << serviceName << "//" << interfaceName << "ping" << QVariantList()
+ << "com.trolltech.QtDBus.Error.InvalidObjectPath"
+ << "Invalid object path: //" << "";
+
+ // empty interfaces are valid
+ QTest::newRow("invalid-interface") << serviceName << objectPath << "this isn't valid" << "ping" << QVariantList()
+ << "com.trolltech.QtDBus.Error.InvalidInterface"
+ << "Invalid interface class: this isn't valid" << "";
+
+ QTest::newRow("empty-method") << serviceName << objectPath << interfaceName << "" << QVariantList()
+ << "com.trolltech.QtDBus.Error.InvalidMember"
+ << "method name cannot be empty" << "";
+ QTest::newRow("invalid-method") << serviceName << objectPath << interfaceName << "this isn't valid" << QVariantList()
+ << "com.trolltech.QtDBus.Error.InvalidMember"
+ << "Invalid method name: this isn't valid" << "";
+
+ QTest::newRow("invalid-variant1") << serviceName << objectPath << interfaceName << "ping"
+ << (QVariantList() << QVariant())
+ << "org.freedesktop.DBus.Error.Failed"
+ << "Marshalling failed: Variant containing QVariant::Invalid passed in arguments"
+ << "QDBusMarshaller: cannot add an invalid QVariant";
+ QTest::newRow("invalid-variant1") << serviceName << objectPath << interfaceName << "ping"
+ << (QVariantList() << qVariantFromValue(QDBusVariant()))
+ << "org.freedesktop.DBus.Error.Failed"
+ << "Marshalling failed: Variant containing QVariant::Invalid passed in arguments"
+ << "QDBusMarshaller: cannot add a null QDBusVariant";
+
+ QTest::newRow("builtin-unregistered") << serviceName << objectPath << interfaceName << "ping"
+ << (QVariantList() << QLocale::c())
+ << "org.freedesktop.DBus.Error.Failed"
+ << "Marshalling failed: Unregistered type QLocale passed in arguments"
+ << "QDBusMarshaller: type `QLocale' (18) is not registered with D-BUS. Use qDBusRegisterMetaType to register it";
+
+ // this type is known to the meta type system, but not registered with D-Bus
+ qRegisterMetaType<UnregisteredType>();
+ QTest::newRow("extra-unregistered") << serviceName << objectPath << interfaceName << "ping"
+ << (QVariantList() << qVariantFromValue(UnregisteredType()))
+ << "org.freedesktop.DBus.Error.Failed"
+ << "Marshalling failed: Unregistered type UnregisteredType passed in arguments"
+ << QString("QDBusMarshaller: type `UnregisteredType' (%1) is not registered with D-BUS. Use qDBusRegisterMetaType to register it")
+ .arg(qMetaTypeId<UnregisteredType>());
+}
+
+void tst_QDBusMarshall::sendCallErrors()
+{
+ QDBusConnection con = QDBusConnection::sessionBus();
+ QVERIFY(con.isConnected());
+
+ QFETCH(QString, service);
+ QFETCH(QString, path);
+ QFETCH(QString, interface);
+ QFETCH(QString, method);
+ QFETCH(QVariantList, arguments);
+ QFETCH(QString, errorMsg);
+
+ QFETCH(QString, ignoreMsg);
+ if (!ignoreMsg.isEmpty())
+ QTest::ignoreMessage(QtWarningMsg, ignoreMsg.toLatin1());
+ if (!ignoreMsg.isNull())
+ QTest::ignoreMessage(QtWarningMsg,
+ QString("QDBusConnection: error: could not send message to service \"%1\" path \"%2\" interface \"%3\" member \"%4\": %5")
+ .arg(service, path, interface, method, errorMsg)
+ .toLatin1());
+
+ QDBusMessage msg = QDBusMessage::createMethodCall(service, path, interface, method);
+ msg.setArguments(arguments);
+
+ QDBusMessage reply = con.call(msg, QDBus::Block);
+ QCOMPARE(reply.type(), QDBusMessage::ErrorMessage);
+ QTEST(reply.errorName(), "errorName");
+ QCOMPARE(reply.errorMessage(), errorMsg);
+}
+
QTEST_MAIN(tst_QDBusMarshall)
#include "tst_qdbusmarshall.moc"
diff --git a/tests/auto/qdesktopservices/tst_qdesktopservices.cpp b/tests/auto/qdesktopservices/tst_qdesktopservices.cpp
index 5e3ae4a..dd85774 100644
--- a/tests/auto/qdesktopservices/tst_qdesktopservices.cpp
+++ b/tests/auto/qdesktopservices/tst_qdesktopservices.cpp
@@ -307,7 +307,7 @@ void tst_qdesktopservices::storageLocation()
switch(location) {
case QDesktopServices::DesktopLocation:
- QCOMPARE( storageLocation, QString() );
+ QCOMPARE( storageLocation, drive + QString("/data") );
break;
case QDesktopServices::DocumentsLocation:
QCOMPARE( storageLocation, drive + QString("/data") );
diff --git a/tests/auto/qdir/tst_qdir.cpp b/tests/auto/qdir/tst_qdir.cpp
index 503c3e9..549e9d1 100644
--- a/tests/auto/qdir/tst_qdir.cpp
+++ b/tests/auto/qdir/tst_qdir.cpp
@@ -56,6 +56,10 @@
# define SRCDIR "C:/Private/" TOSTRING(SYMBIAN_SRCDIR_UID) "/"
#endif
+#if defined(Q_OS_VXWORKS)
+#define Q_NO_SYMLINKS
+#endif
+
//TESTED_CLASS=
//TESTED_FILES=
@@ -374,6 +378,20 @@ void tst_QDir::compare()
QVERIFY(dir == QDir::currentPath());
}
+static QStringList filterLinks(const QStringList &list)
+{
+#ifndef Q_NO_SYMLINKS
+ return list;
+#else
+ QStringList result;
+ foreach (QString str, list) {
+ if (!str.endsWith(QLatin1String(".lnk")))
+ result.append(str);
+ }
+ return result;
+#endif
+}
+
void tst_QDir::entryList_data()
{
QTest::addColumn<QString>("dirName"); // relative from current path or abs
@@ -415,94 +433,95 @@ void tst_QDir::entryList_data()
QTest::newRow("nofilter") << SRCDIR "entrylist/" << QStringList("*")
<< int(QDir::NoFilter) << int(QDir::Name)
- << QString(".,..,directory,file,linktodirectory.lnk,linktofile.lnk,writable").split(',');
+ << filterLinks(QString(".,..,directory,file,linktodirectory.lnk,linktofile.lnk,writable").split(','));
QTest::newRow("QDir::AllEntries") << SRCDIR "entrylist/" << QStringList("*")
<< int(QDir::AllEntries) << int(QDir::Name)
- << QString(".,..,directory,file,linktodirectory.lnk,linktofile.lnk,writable").split(',');
+ << filterLinks(QString(".,..,directory,file,linktodirectory.lnk,linktofile.lnk,writable").split(','));
QTest::newRow("QDir::Files") << SRCDIR "entrylist/" << QStringList("*")
<< int(QDir::Files) << int(QDir::Name)
- << QString("file,linktofile.lnk,writable").split(',');
+ << filterLinks(QString("file,linktofile.lnk,writable").split(','));
QTest::newRow("QDir::Dirs") << SRCDIR "entrylist/" << QStringList("*")
<< int(QDir::Dirs) << int(QDir::Name)
- << QString(".,..,directory,linktodirectory.lnk").split(',');
+ << filterLinks(QString(".,..,directory,linktodirectory.lnk").split(','));
QTest::newRow("QDir::Dirs | QDir::NoDotAndDotDot") << SRCDIR "entrylist/" << QStringList("*")
<< int(QDir::Dirs | QDir::NoDotAndDotDot) << int(QDir::Name)
- << QString("directory,linktodirectory.lnk").split(',');
+ << filterLinks(QString("directory,linktodirectory.lnk").split(','));
QTest::newRow("QDir::AllDirs") << SRCDIR "entrylist/" << QStringList("*")
<< int(QDir::AllDirs) << int(QDir::Name)
- << QString(".,..,directory,linktodirectory.lnk").split(',');
+ << filterLinks(QString(".,..,directory,linktodirectory.lnk").split(','));
QTest::newRow("QDir::AllDirs | QDir::Dirs") << SRCDIR "entrylist/" << QStringList("*")
<< int(QDir::AllDirs | QDir::Dirs) << int(QDir::Name)
- << QString(".,..,directory,linktodirectory.lnk").split(',');
+ << filterLinks(QString(".,..,directory,linktodirectory.lnk").split(','));
QTest::newRow("QDir::AllDirs | QDir::Files") << SRCDIR "entrylist/" << QStringList("*")
<< int(QDir::AllDirs | QDir::Files) << int(QDir::Name)
- << QString(".,..,directory,file,linktodirectory.lnk,linktofile.lnk,writable").split(',');
+ << filterLinks(QString(".,..,directory,file,linktodirectory.lnk,linktofile.lnk,writable").split(','));
QTest::newRow("QDir::AllEntries | QDir::NoSymLinks") << SRCDIR "entrylist/" << QStringList("*")
<< int(QDir::AllEntries | QDir::NoSymLinks) << int(QDir::Name)
- << QString(".,..,directory,file,writable").split(',');
+ << filterLinks(QString(".,..,directory,file,writable").split(','));
QTest::newRow("QDir::AllEntries | QDir::NoSymLinks | QDir::NoDotAndDotDot") << SRCDIR "entrylist/" << QStringList("*")
<< int(QDir::AllEntries | QDir::NoSymLinks | QDir::NoDotAndDotDot) << int(QDir::Name)
- << QString("directory,file,writable").split(',');
+ << filterLinks(QString("directory,file,writable").split(','));
QTest::newRow("QDir::Files | QDir::NoSymLinks") << SRCDIR "entrylist/" << QStringList("*")
<< int(QDir::Files | QDir::NoSymLinks) << int(QDir::Name)
- << QString("file,writable").split(',');
+ << filterLinks(QString("file,writable").split(','));
QTest::newRow("QDir::Dirs | QDir::NoSymLinks") << SRCDIR "entrylist/" << QStringList("*")
<< int(QDir::Dirs | QDir::NoSymLinks) << int(QDir::Name)
- << QString(".,..,directory").split(',');
+ << filterLinks(QString(".,..,directory").split(','));
QTest::newRow("QDir::Drives | QDir::Files | QDir::NoDotAndDotDot") << SRCDIR "entrylist/" << QStringList("*")
<< int(QDir::Drives | QDir::Files | QDir::NoDotAndDotDot) << int(QDir::Name)
- << QString("file,linktofile.lnk,writable").split(',');
+ << filterLinks(QString("file,linktofile.lnk,writable").split(','));
QTest::newRow("QDir::System") << SRCDIR "entrylist/" << QStringList("*")
<< int(QDir::System) << int(QDir::Name)
- << QStringList("brokenlink.lnk");
+ << filterLinks(QStringList("brokenlink.lnk"));
QTest::newRow("QDir::Hidden") << SRCDIR "entrylist/" << QStringList("*")
<< int(QDir::Hidden) << int(QDir::Name)
<< QStringList();
QTest::newRow("QDir::System | QDir::Hidden") << SRCDIR "entrylist/" << QStringList("*")
<< int(QDir::System | QDir::Hidden) << int(QDir::Name)
- << QStringList("brokenlink.lnk");
+ << filterLinks(QStringList("brokenlink.lnk"));
QTest::newRow("QDir::AllDirs | QDir::NoSymLinks") << SRCDIR "entrylist/" << QStringList("*")
<< int(QDir::AllDirs | QDir::NoSymLinks) << int(QDir::Name)
- << QString(".,..,directory").split(',');
+ << filterLinks(QString(".,..,directory").split(','));
#ifdef QT3_SUPPORT
QTest::newRow("QDir::All | QDir::Hidden | QDir::System") << SRCDIR "entrylist/" << QStringList("*")
<< int(QDir::All | QDir::Hidden | QDir::System) << int(QDir::Name)
- << QString(".,..,brokenlink.lnk,directory,file,linktodirectory.lnk,linktofile.lnk,writable").split(',');
+ << filterLinks(QString(".,..,brokenlink.lnk,directory,file,linktodirectory.lnk,linktofile.lnk,writable").split(','));
QTest::newRow("QDir::All | QDir::Readable") << SRCDIR "entrylist/" << QStringList("*")
<< int(QDir::All | QDir::Readable) << int(QDir::Name)
- << QString(".,..,directory,file,linktodirectory.lnk,linktofile.lnk,writable").split(',');
+ << filterLinks(QString(".,..,directory,file,linktodirectory.lnk,linktofile.lnk,writable").split(','));
QTest::newRow("QDir::All | QDir::Writable") << SRCDIR "entrylist/" << QStringList("*")
<< int(QDir::All | QDir::Writable) << int(QDir::Name)
- << QString(".,..,directory,linktodirectory.lnk,writable").split(',');
+ << filterLinks(QString(".,..,directory,linktodirectory.lnk,writable").split(','));
#else
QTest::newRow("QDir::AllEntries | QDir::Hidden | QDir::System") << SRCDIR "entrylist/" << QStringList("*")
<< int(QDir::AllEntries | QDir::Hidden | QDir::System) << int(QDir::Name)
- << QString(".,..,brokenlink.lnk,directory,file,linktodirectory.lnk,linktofile.lnk,writable").split(',');
+ << filterLinks(QString(".,..,brokenlink.lnk,directory,file,linktodirectory.lnk,linktofile.lnk,writable").split(','));
QTest::newRow("QDir::AllEntries | QDir::Readable") << SRCDIR "entrylist/" << QStringList("*")
<< int(QDir::AllEntries | QDir::Readable) << int(QDir::Name)
- << QString(".,..,directory,file,linktodirectory.lnk,linktofile.lnk,writable").split(',');
+ << filterLinks(QString(".,..,directory,file,linktodirectory.lnk,linktofile.lnk,writable").split(','));
QTest::newRow("QDir::AllEntries | QDir::Writable") << SRCDIR "entrylist/" << QStringList("*")
<< int(QDir::AllEntries | QDir::Writable) << int(QDir::Name)
- << QString(".,..,directory,linktodirectory.lnk,writable").split(',');
+ << filterLinks(QString(".,..,directory,linktodirectory.lnk,writable").split(','));
#endif
QTest::newRow("Namefilters b*") << SRCDIR "entrylist/" << QStringList("d*")
<< int(QDir::NoFilter) << int(QDir::Name)
- << QString("directory").split(',');
+ << filterLinks(QString("directory").split(','));
QTest::newRow("Namefilters f*") << SRCDIR "entrylist/" << QStringList("f*")
<< int(QDir::NoFilter) << int(QDir::Name)
- << QString("file").split(',');
+ << filterLinks(QString("file").split(','));
QTest::newRow("Namefilters link*") << SRCDIR "entrylist/" << QStringList("link*")
<< int(QDir::NoFilter) << int(QDir::Name)
- << QString("linktodirectory.lnk,linktofile.lnk").split(',');
+ << filterLinks(QString("linktodirectory.lnk,linktofile.lnk").split(','));
QTest::newRow("Namefilters *to*") << SRCDIR "entrylist/" << QStringList("*to*")
<< int(QDir::NoFilter) << int(QDir::Name)
- << QString("directory,linktodirectory.lnk,linktofile.lnk").split(',');
+ << filterLinks(QString("directory,linktodirectory.lnk,linktofile.lnk").split(','));
QTest::newRow("Sorting QDir::Name") << SRCDIR "entrylist/" << QStringList("*")
<< int(QDir::NoFilter) << int(QDir::Name)
- << QString(".,..,directory,file,linktodirectory.lnk,linktofile.lnk,writable").split(',');
+ << filterLinks(QString(".,..,directory,file,linktodirectory.lnk,linktofile.lnk,writable").split(','));
QTest::newRow("Sorting QDir::Name | QDir::Reversed") << SRCDIR "entrylist/" << QStringList("*")
<< int(QDir::NoFilter) << int(QDir::Name | QDir::Reversed)
- << QString("writable,linktofile.lnk,linktodirectory.lnk,file,directory,..,.").split(',');
+ << filterLinks(QString("writable,linktofile.lnk,linktodirectory.lnk,file,directory,..,.").split(','));
+
QTest::newRow("Sorting QDir::Type") << SRCDIR "types/" << QStringList("*")
<< int(QDir::NoFilter) << int(QDir::Type)
<< QString(".,..,a,b,c,d,e,f,a.a,b.a,c.a,d.a,e.a,f.a,a.b,b.b,c.b,d.b,e.b,f.b,a.c,b.c,c.c,d.c,e.c,f.c").split(',');
@@ -618,10 +637,21 @@ void tst_QDir::entryList()
// lock up. The actual result depends on the file system.
return;
}
- for (int i=0; i<max; ++i)
- QCOMPARE(actual[i], expected[i]);
+ bool doContentCheck = true;
+#ifdef Q_OS_UNIX
+ if (qstrcmp(QTest::currentDataTag(), "QDir::AllEntries | QDir::Writable") == 0) {
+ // for root, everything is writeable
+ if (::getuid() == 0)
+ doContentCheck = false;
+ }
+#endif
- QCOMPARE(actual.count(), expected.count());
+ if (doContentCheck) {
+ for (int i=0; i<max; ++i)
+ QCOMPARE(actual[i], expected[i]);
+
+ QCOMPARE(actual.count(), expected.count());
+ }
#if defined(Q_OS_SYMBIAN)
// Test cleanup on device requires setting the permissions back to normal
@@ -676,6 +706,7 @@ void tst_QDir::entryListSimple()
void tst_QDir::entryListWithSymLinks()
{
+#ifndef Q_NO_SYMLINKS
QFile::remove("myLinkToDir.lnk");
QFile::remove("myLinkToFile.lnk");
QFile::remove("testfile.cpp");
@@ -717,6 +748,7 @@ void tst_QDir::entryListWithSymLinks()
QFile::remove("myLinkToFile.lnk");
QFile::remove("testfile.cpp");
dir.rmdir("myDir");
+#endif
}
void tst_QDir::canonicalPath_data()
diff --git a/tests/auto/qdirectpainter/tst_qdirectpainter.cpp b/tests/auto/qdirectpainter/tst_qdirectpainter.cpp
index e300244..d5c0ef8 100644
--- a/tests/auto/qdirectpainter/tst_qdirectpainter.cpp
+++ b/tests/auto/qdirectpainter/tst_qdirectpainter.cpp
@@ -175,6 +175,9 @@ void tst_QDirectPainter::setGeometry()
void tst_QDirectPainter::regionSynchronization()
{
+#ifdef QT_NO_PROCESS
+ QSKIP("Test requires QProcess", SkipAll);
+#else
QRect dpRect(10, 10, 50, 50);
// Start the direct painter in a different process
@@ -211,6 +214,7 @@ void tst_QDirectPainter::regionSynchronization()
QVERIFY(i > 100); // sanity check
proc.kill();
+#endif
}
class MyObject : public QObject
diff --git a/tests/auto/qdiriterator/tst_qdiriterator.cpp b/tests/auto/qdiriterator/tst_qdiriterator.cpp
index e9d6c5d..5708b50 100644
--- a/tests/auto/qdiriterator/tst_qdiriterator.cpp
+++ b/tests/auto/qdiriterator/tst_qdiriterator.cpp
@@ -48,6 +48,10 @@
#include <qfileinfo.h>
#include <qstringlist.h>
+#if defined(Q_OS_VXWORKS)
+#define Q_NO_SYMLINKS
+#endif
+
Q_DECLARE_METATYPE(QDirIterator::IteratorFlags)
Q_DECLARE_METATYPE(QDir::Filters)
@@ -87,7 +91,8 @@ tst_QDirIterator::tst_QDirIterator()
QFile::remove("entrylist/directory/entrylist3.lnk");
QFile::remove("entrylist/directory/entrylist4.lnk");
-#if defined(Q_OS_WIN) || defined(Q_OS_SYMBIAN)
+#ifndef Q_NO_SYMLINKS
+#ifdef Q_OS_WIN || defined(Q_OS_SYMBIAN)
// ### Sadly, this is a platform difference right now.
QFile::link("entrylist/file", "entrylist/linktofile.lnk");
QFile::link("entrylist/directory", "entrylist/linktodirectory.lnk");
@@ -97,6 +102,7 @@ tst_QDirIterator::tst_QDirIterator()
QFile::link("directory", "entrylist/linktodirectory.lnk");
QFile::link("nothing", "entrylist/brokenlink.lnk");
#endif
+#endif
QFile("entrylist/writable").open(QIODevice::ReadWrite);
}
@@ -135,9 +141,13 @@ void tst_QDirIterator::iterateRelativeDirectory_data()
"entrylist/..,"
#endif
"entrylist/file,"
+#ifndef Q_NO_SYMLINKS
"entrylist/linktofile.lnk,"
+#endif
"entrylist/directory,"
+#ifndef Q_NO_SYMLINKS
"entrylist/linktodirectory.lnk,"
+#endif
"entrylist/writable").split(',');
QTest::newRow("QDir::Subdirectories | QDir::FollowSymlinks")
@@ -151,10 +161,14 @@ void tst_QDirIterator::iterateRelativeDirectory_data()
"entrylist/directory/..,"
#endif
"entrylist/file,"
+#ifndef Q_NO_SYMLINKS
"entrylist/linktofile.lnk,"
+#endif
"entrylist/directory,"
"entrylist/directory/dummy,"
+#ifndef Q_NO_SYMLINKS
"entrylist/linktodirectory.lnk,"
+#endif
"entrylist/writable").split(',');
QTest::newRow("QDir::Subdirectories / QDir::Files")
@@ -162,14 +176,18 @@ void tst_QDirIterator::iterateRelativeDirectory_data()
<< QDir::Filters(QDir::Files) << QStringList("*")
<< QString("entrylist/directory/dummy,"
"entrylist/file,"
+#ifndef Q_NO_SYMLINKS
"entrylist/linktofile.lnk,"
+#endif
"entrylist/writable").split(',');
QTest::newRow("QDir::Subdirectories | QDir::FollowSymlinks / QDir::Files")
<< QString("entrylist") << QDirIterator::IteratorFlags(QDirIterator::Subdirectories | QDirIterator::FollowSymlinks)
<< QDir::Filters(QDir::Files) << QStringList("*")
<< QString("entrylist/file,"
+#ifndef Q_NO_SYMLINKS
"entrylist/linktofile.lnk,"
+#endif
"entrylist/directory/dummy,"
"entrylist/writable").split(',');
}
@@ -188,17 +206,28 @@ void tst_QDirIterator::iterateRelativeDirectory()
#endif // defined(Q_OS_SYMBIAN)
QDirIterator it(dirName, nameFilters, filters, flags);
- QStringList iteratorList;
- while (it.hasNext())
- iteratorList << it.next();
-
- // The order of QDirIterator returning items differs on some platforms.
- // Thus it is not guaranteed that all paths will be returned relative
- // and we need to assure we have two valid StringLists to compare. So
- // we make all entries absolute for comparison.
QStringList list;
- foreach(QString item, iteratorList)
- list.append(QFileInfo(item).canonicalFilePath());
+ while (it.hasNext()) {
+ QString next = it.next();
+
+ QString fileName = it.fileName();
+ QString filePath = it.filePath();
+ QString path = it.path();
+
+ QFileInfo info = it.fileInfo();
+
+ QCOMPARE(path, dirName);
+ QCOMPARE(next, filePath);
+
+ QCOMPARE(info, QFileInfo(next));
+ QCOMPARE(fileName, info.fileName());
+ QCOMPARE(filePath, info.filePath());
+
+ // Using canonical file paths for final comparison
+ list << info.canonicalFilePath();
+ }
+
+ // The order of items returned by QDirIterator is not guaranteed.
list.sort();
QStringList sortedEntries;
diff --git a/tests/auto/qdom/qdom.pro b/tests/auto/qdom/qdom.pro
index 9a9bcbb..84b721e 100644
--- a/tests/auto/qdom/qdom.pro
+++ b/tests/auto/qdom/qdom.pro
@@ -10,6 +10,10 @@ wince*|symbian*: {
DEPLOYMENT += addFiles
DEPLOYMENT_PLUGIN += qcncodecs qjpcodecs qkrcodecs qtwcodecs
+ DEFINES += SRCDIR=\\\"\\\"
+}
+else {
+ DEFINES += SRCDIR=\\\"$$PWD/\\\"
}
symbian: TARGET.EPOCHEAPSIZE="0x100000 0x1000000"
diff --git a/tests/auto/qdom/tst_qdom.cpp b/tests/auto/qdom/tst_qdom.cpp
index cea0bfb..5b4787f 100644
--- a/tests/auto/qdom/tst_qdom.cpp
+++ b/tests/auto/qdom/tst_qdom.cpp
@@ -290,17 +290,17 @@ void tst_QDom::toString_01_data()
{
QTest::addColumn<QString>("fileName");
- QTest::newRow( "01" ) << QString("testdata/toString_01/doc01.xml");
- QTest::newRow( "02" ) << QString("testdata/toString_01/doc02.xml");
- QTest::newRow( "03" ) << QString("testdata/toString_01/doc03.xml");
- QTest::newRow( "04" ) << QString("testdata/toString_01/doc04.xml");
- QTest::newRow( "05" ) << QString("testdata/toString_01/doc05.xml");
+ QTest::newRow( "01" ) << QString(SRCDIR "testdata/toString_01/doc01.xml");
+ QTest::newRow( "02" ) << QString(SRCDIR "testdata/toString_01/doc02.xml");
+ QTest::newRow( "03" ) << QString(SRCDIR "testdata/toString_01/doc03.xml");
+ QTest::newRow( "04" ) << QString(SRCDIR "testdata/toString_01/doc04.xml");
+ QTest::newRow( "05" ) << QString(SRCDIR "testdata/toString_01/doc05.xml");
- QTest::newRow( "euc-jp" ) << QString("testdata/toString_01/doc_euc-jp.xml");
- QTest::newRow( "iso-2022-jp" ) << QString("testdata/toString_01/doc_iso-2022-jp.xml");
- QTest::newRow( "little-endian" ) << QString("testdata/toString_01/doc_little-endian.xml");
- QTest::newRow( "utf-16" ) << QString("testdata/toString_01/doc_utf-16.xml");
- QTest::newRow( "utf-8" ) << QString("testdata/toString_01/doc_utf-8.xml");
+ QTest::newRow( "euc-jp" ) << QString(SRCDIR "testdata/toString_01/doc_euc-jp.xml");
+ QTest::newRow( "iso-2022-jp" ) << QString(SRCDIR "testdata/toString_01/doc_iso-2022-jp.xml");
+ QTest::newRow( "little-endian" ) << QString(SRCDIR "testdata/toString_01/doc_little-endian.xml");
+ QTest::newRow( "utf-16" ) << QString(SRCDIR "testdata/toString_01/doc_utf-16.xml");
+ QTest::newRow( "utf-8" ) << QString(SRCDIR "testdata/toString_01/doc_utf-8.xml");
}
@@ -474,7 +474,7 @@ void tst_QDom::initTestCase()
QSKIP("Our current test machine, arsia, is too slow for this auto test.", SkipAll);
#endif
- QFile file("testdata/excludedCodecs.txt");
+ QFile file(SRCDIR "testdata/excludedCodecs.txt");
QVERIFY(file.open(QIODevice::ReadOnly|QIODevice::Text));
QByteArray codecName;
@@ -550,18 +550,18 @@ void tst_QDom::saveWithSerialization_data() const
{
QTest::addColumn<QString>("fileName");
- QTest::newRow("doc01.xml") << QString("testdata/toString_01/doc01.xml");
- QTest::newRow("doc01.xml") << QString("testdata/toString_01/doc01.xml");
- QTest::newRow("doc02.xml") << QString("testdata/toString_01/doc02.xml");
- QTest::newRow("doc03.xml") << QString("testdata/toString_01/doc03.xml");
- QTest::newRow("doc04.xml") << QString("testdata/toString_01/doc04.xml");
- QTest::newRow("doc05.xml") << QString("testdata/toString_01/doc05.xml");
+ QTest::newRow("doc01.xml") << QString(SRCDIR "testdata/toString_01/doc01.xml");
+ QTest::newRow("doc01.xml") << QString(SRCDIR "testdata/toString_01/doc01.xml");
+ QTest::newRow("doc02.xml") << QString(SRCDIR "testdata/toString_01/doc02.xml");
+ QTest::newRow("doc03.xml") << QString(SRCDIR "testdata/toString_01/doc03.xml");
+ QTest::newRow("doc04.xml") << QString(SRCDIR "testdata/toString_01/doc04.xml");
+ QTest::newRow("doc05.xml") << QString(SRCDIR "testdata/toString_01/doc05.xml");
- QTest::newRow("doc_euc-jp.xml") << QString("testdata/toString_01/doc_euc-jp.xml");
- QTest::newRow("doc_iso-2022-jp.xml") << QString("testdata/toString_01/doc_iso-2022-jp.xml");
- QTest::newRow("doc_little-endian.xml") << QString("testdata/toString_01/doc_little-endian.xml");
- QTest::newRow("doc_utf-16.xml") << QString("testdata/toString_01/doc_utf-16.xml");
- QTest::newRow("doc_utf-8.xml") << QString("testdata/toString_01/doc_utf-8.xml");
+ QTest::newRow("doc_euc-jp.xml") << QString(SRCDIR "testdata/toString_01/doc_euc-jp.xml");
+ QTest::newRow("doc_iso-2022-jp.xml") << QString(SRCDIR "testdata/toString_01/doc_iso-2022-jp.xml");
+ QTest::newRow("doc_little-endian.xml") << QString(SRCDIR "testdata/toString_01/doc_little-endian.xml");
+ QTest::newRow("doc_utf-16.xml") << QString(SRCDIR "testdata/toString_01/doc_utf-16.xml");
+ QTest::newRow("doc_utf-8.xml") << QString(SRCDIR "testdata/toString_01/doc_utf-8.xml");
}
void tst_QDom::cloneNode_data()
@@ -1386,7 +1386,7 @@ void tst_QDom::roundTripAttributes() const
doc.save(stream, 0);
stream.flush();
- const QByteArray expected("<localName xmlns=\"\" attr=\" &#xd;&#xa;&#x9; \" />\n");
+ const QByteArray expected("<localName xmlns=\"\" attr=\" &#xd;&#xa;&#x9; \"/>\n");
QCOMPARE(QString::fromLatin1(serialized.constData()), QString::fromLatin1(expected.constData()));
}
@@ -1671,7 +1671,7 @@ void tst_QDom::appendDocumentNode() const
doc.appendChild(elem);
Q_ASSERT(!xml.isNull());
- const QString expected(QLatin1String("<document>\n<test_elem name=\"value\" />\n</document>\n"));
+ const QString expected(QLatin1String("<document>\n<test_elem name=\"value\"/>\n</document>\n"));
elem.appendChild(xml);
QCOMPARE(doc.childNodes().count(), 1);
@@ -1780,7 +1780,7 @@ void tst_QDom::doubleNamespaceDeclarations() const
{
QDomDocument doc;
- QFile file("doubleNamespaces.xml" );
+ QFile file(SRCDIR "doubleNamespaces.xml" );
QVERIFY(file.open(QIODevice::ReadOnly));
QXmlSimpleReader reader;
@@ -1788,8 +1788,8 @@ void tst_QDom::doubleNamespaceDeclarations() const
QXmlInputSource source(&file);
QVERIFY(doc.setContent(&source, &reader));
- QVERIFY(doc.toString(0) == QString::fromLatin1("<a>\n<b p:c=\"\" xmlns:p=\"NS\" p:d=\"\" />\n</a>\n") ||
- doc.toString(0) == QString::fromLatin1("<a>\n<b p:c=\"\" p:d=\"\" xmlns:p=\"NS\" />\n</a>\n"));
+ QVERIFY(doc.toString(0) == QString::fromLatin1("<a>\n<b p:c=\"\" xmlns:p=\"NS\" p:d=\"\"/>\n</a>\n") ||
+ doc.toString(0) == QString::fromLatin1("<a>\n<b p:c=\"\" p:d=\"\" xmlns:p=\"NS\"/>\n</a>\n"));
}
void tst_QDom::setContentQXmlReaderOverload() const
diff --git a/tests/auto/qfile/tst_qfile.cpp b/tests/auto/qfile/tst_qfile.cpp
index b67a44e..fd8fa98 100644
--- a/tests/auto/qfile/tst_qfile.cpp
+++ b/tests/auto/qfile/tst_qfile.cpp
@@ -384,10 +384,16 @@ void tst_QFile::open()
QFile f( filename );
QFETCH( bool, ok );
+
#if defined(Q_OS_SYMBIAN)
if (qstrcmp(QTest::currentDataTag(), "noreadfile") == 0)
QSKIP("Symbian does not support non-readable files", SkipSingle);
+#elif defined(Q_OS_UNIX)
+ if (::getuid() == 0)
+ // root and Chuck Norris don't care for file permissions. Skip.
+ QSKIP("Running this test as root doesn't make sense", SkipAll);
#endif
+
#if defined(Q_OS_WIN32) || defined(Q_OS_WINCE)
QEXPECT_FAIL("noreadfile", "Windows does not currently support non-readable files.", Abort);
#endif
@@ -1008,57 +1014,32 @@ static QString getWorkingDirectoryForLink(const QString &linkFileName)
{
bool neededCoInit = false;
QString ret;
- QT_WA({
- IShellLink *psl;
- HRESULT hres = CoCreateInstance(CLSID_ShellLink, NULL, CLSCTX_INPROC_SERVER, IID_IShellLink, (void **)&psl);
- if (hres == CO_E_NOTINITIALIZED) { // COM was not initialized
- neededCoInit = true;
- CoInitialize(NULL);
- hres = CoCreateInstance(CLSID_ShellLink, NULL, CLSCTX_INPROC_SERVER, IID_IShellLink, (void **)&psl);
- }
- if (SUCCEEDED(hres)) { // Get pointer to the IPersistFile interface.
- IPersistFile *ppf;
- hres = psl->QueryInterface(IID_IPersistFile, (LPVOID *)&ppf);
- if (SUCCEEDED(hres)) {
- hres = ppf->Load((LPOLESTR)linkFileName.utf16(), STGM_READ);
- //The original path of the link is retrieved. If the file/folder
- //was moved, the return value still have the old path.
- if(SUCCEEDED(hres)) {
- wchar_t szGotPath[MAX_PATH];
- if (psl->GetWorkingDirectory(szGotPath, MAX_PATH) == NOERROR)
- ret = QString::fromUtf16((ushort*)szGotPath);
- }
- ppf->Release();
- }
- psl->Release();
- }
- },{
- IShellLinkA *psl;
- HRESULT hres = CoCreateInstance(CLSID_ShellLink, NULL, CLSCTX_INPROC_SERVER, IID_IShellLink, (void **)&psl);
- if (hres == CO_E_NOTINITIALIZED) { // COM was not initialized
- neededCoInit = true;
- CoInitialize(NULL);
- hres = CoCreateInstance(CLSID_ShellLink, NULL, CLSCTX_INPROC_SERVER, IID_IShellLink, (void **)&psl);
- }
+ IShellLink *psl;
+ HRESULT hres = CoCreateInstance(CLSID_ShellLink, NULL, CLSCTX_INPROC_SERVER, IID_IShellLink, (void **)&psl);
+ if (hres == CO_E_NOTINITIALIZED) { // COM was not initialized
+ neededCoInit = true;
+ CoInitialize(NULL);
+ hres = CoCreateInstance(CLSID_ShellLink, NULL, CLSCTX_INPROC_SERVER, IID_IShellLink, (void **)&psl);
+ }
- if (SUCCEEDED(hres)) { // Get pointer to the IPersistFile interface.
- IPersistFile *ppf;
- hres = psl->QueryInterface(IID_IPersistFile, (LPVOID *)&ppf);
- if (SUCCEEDED(hres)) {
- hres = ppf->Load((LPOLESTR)linkFileName.utf16(), STGM_READ);
- //The original path of the link is retrieved. If the file/folder
- //was moved, the return value still have the old path.
- if(SUCCEEDED(hres)) {
- char szGotPath[MAX_PATH];
- if (psl->GetWorkingDirectory(szGotPath, MAX_PATH) == NOERROR)
- ret = QString::fromLocal8Bit(szGotPath);
- }
- ppf->Release();
+ if (SUCCEEDED(hres)) { // Get pointer to the IPersistFile interface.
+ IPersistFile *ppf;
+ hres = psl->QueryInterface(IID_IPersistFile, (LPVOID *)&ppf);
+ if (SUCCEEDED(hres)) {
+ hres = ppf->Load((LPOLESTR)linkFileName.utf16(), STGM_READ);
+ //The original path of the link is retrieved. If the file/folder
+ //was moved, the return value still have the old path.
+ if(SUCCEEDED(hres)) {
+ wchar_t szGotPath[MAX_PATH];
+ if (psl->GetWorkingDirectory(szGotPath, MAX_PATH) == NOERROR)
+ ret = QString::fromWCharArray(szGotPath);
}
- psl->Release();
+ ppf->Release();
}
- });
+ psl->Release();
+ }
+
if (neededCoInit) {
CoUninitialize();
}
@@ -1552,13 +1533,8 @@ void tst_QFile::largeFileSupport()
qlonglong freespace = qlonglong(0);
#ifdef Q_WS_WIN
_ULARGE_INTEGER free;
- if (QSysInfo::WindowsVersion & QSysInfo::WV_NT_based) {
- if (::GetDiskFreeSpaceExW((wchar_t *)QDir::currentPath().utf16(), &free, 0, 0))
- freespace = free.QuadPart;
- } else {
- if (::GetDiskFreeSpaceExA(QDir::currentPath().local8Bit(), &free, 0, 0))
- freespace = free.QuadPart;
- }
+ if (::GetDiskFreeSpaceEx((wchar_t*)QDir::currentPath().utf16(), &free, 0, 0))
+ freespace = free.QuadPart;
if (freespace != 0) {
#elif defined(Q_OS_IRIX)
struct statfs info;
@@ -1676,20 +1652,9 @@ void tst_QFile::longFileName()
}
{
QFile file(fileName);
-#if defined(Q_WS_WIN)
-#if !defined(Q_OS_WINCE)
- QT_WA({ if (false) ; }, {
- QEXPECT_FAIL("244 chars", "Full pathname must be less than 260 chars", Abort);
- QEXPECT_FAIL("244 chars to absolutepath", "Full pathname must be less than 260 chars", Abort);
- });
-#else
- QEXPECT_FAIL("244 chars", "Full pathname must be less than 260 chars", Abort);
- QEXPECT_FAIL("244 chars to absolutepath", "Full pathname must be less than 260 chars", Abort);
-#endif
-#elif defined(Q_OS_SYMBIAN)
- if (qstrcmp(QTest::currentDataTag(), "244 chars") == 0 ||
- qstrcmp(QTest::currentDataTag(), "244 chars to absolutepath") == 0 )
- QSKIP("Symbian does not support path names exceeding 256 characters", SkipSingle);
+#if defined(Q_OS_WINCE) || defined(Q_OS_SYMBIAN)
+ QEXPECT_FAIL("244 chars", "Full pathname must be less than 260 chars", Abort);
+ QEXPECT_FAIL("244 chars to absolutepath", "Full pathname must be less than 260 chars", Abort);
#endif
QVERIFY(file.open(QFile::WriteOnly | QFile::Text));
QTextStream ts(&file);
@@ -2550,17 +2515,23 @@ void tst_QFile::map()
file.close();
- // No permissions for user makes no sense in Symbian
-#if !defined(Q_OS_SYMBIAN)
- // Change permissions on a file, just to confirm it would fail
- QFile::Permissions originalPermissions = file.permissions();
- QVERIFY(file.setPermissions(QFile::ReadOther));
- QVERIFY(!file.open(QFile::ReadWrite));
- memory = file.map(offset, size);
- QCOMPARE(file.error(), QFile::PermissionsError);
- QVERIFY(!memory);
- QVERIFY(file.setPermissions(originalPermissions));
+#if defined(Q_OS_SYMBIAN)
+ if (false) // No permissions for user makes no sense in Symbian
+#elif defined(Q_OS_UNIX)
+ if (::getuid() != 0)
+ // root always has permissions
#endif
+ {
+ // Change permissions on a file, just to confirm it would fail
+ QFile::Permissions originalPermissions = file.permissions();
+ QVERIFY(file.setPermissions(QFile::ReadOther));
+ QVERIFY(!file.open(QFile::ReadWrite));
+ memory = file.map(offset, size);
+ QCOMPARE(file.error(), QFile::PermissionsError);
+ QVERIFY(!memory);
+ QVERIFY(file.setPermissions(originalPermissions));
+ }
+
QVERIFY(file.remove());
}
diff --git a/tests/auto/qfiledialog/tst_qfiledialog.cpp b/tests/auto/qfiledialog/tst_qfiledialog.cpp
index f412cfb..86bf237 100644
--- a/tests/auto/qfiledialog/tst_qfiledialog.cpp
+++ b/tests/auto/qfiledialog/tst_qfiledialog.cpp
@@ -160,6 +160,7 @@ private slots:
void task251321_sideBarHiddenEntries();
void task251341_sideBarRemoveEntries();
void task254490_selectFileMultipleTimes();
+ void task257579_sideBarWithNonCleanUrls();
private:
QByteArray userSettings;
@@ -231,6 +232,7 @@ void tst_QFiledialog::currentChangedSignal()
// only emited from the views, sidebar, or lookin combo
void tst_QFiledialog::directoryEnteredSignal()
{
+#if defined QT_BUILD_INTERNAL
QNonNativeFileDialog fd(0, "", QDir::root().path());
fd.setOptions(QFileDialog::DontUseNativeDialog);
fd.show();
@@ -274,6 +276,7 @@ void tst_QFiledialog::directoryEnteredSignal()
QTest::mouseDClick(listView->viewport(), Qt::LeftButton, 0, listView->visualRect(folder).center());
QTRY_COMPARE(spyDirectoryEntered.count(), 1);
*/
+#endif
}
Q_DECLARE_METATYPE(QFileDialog::FileMode)
@@ -400,7 +403,11 @@ void tst_QFiledialog::directory()
// Check my way
QList<QListView*> list = qFindChildren<QListView*>(&fd, "listView");
QVERIFY(list.count() > 0);
+#ifdef Q_OS_WIN
+ QCOMPARE(list.at(0)->rootIndex().data().toString().toLower(), temp.dirName().toLower());
+#else
QCOMPARE(list.at(0)->rootIndex().data().toString(), temp.dirName());
+#endif
QNonNativeFileDialog *dlg = new QNonNativeFileDialog(0, "", tempPath);
QCOMPARE(model->index(tempPath), model->index(dlg->directory().absolutePath()));
QCOMPARE(model->index(tempPath).data(QFileSystemModel::FileNameRole).toString(),
@@ -1326,16 +1333,14 @@ void tst_QFiledialog::hooks()
void tst_QFiledialog::listRoot()
{
+#if defined QT_BUILD_INTERNAL
QFileInfoGatherer::fetchedRoot = false;
QString dir(QDir::currentPath());
QNonNativeFileDialog fd(0, QString(), dir);
fd.show();
-#if defined Q_AUTOTEST_EXPORT
QCOMPARE(QFileInfoGatherer::fetchedRoot,false);
-#endif
fd.setDirectory("");
QTest::qWait(500);
-#if defined Q_AUTOTEST_EXPORT
QCOMPARE(QFileInfoGatherer::fetchedRoot,true);
#endif
}
@@ -1353,12 +1358,13 @@ void tst_QFiledialog::heapCorruption()
struct FriendlyQFileDialog : public QFileDialog
{
friend class tst_QFileDialog;
- Q_DECLARE_SCOPED_PRIVATE(QFileDialog)
+ Q_DECLARE_PRIVATE(QFileDialog)
};
void tst_QFiledialog::deleteDirAndFiles()
{
+#if defined QT_BUILD_INTERNAL
QString tempPath = QDir::tempPath() + '/' + "QFileDialogTestDir4FullDelete";
QDir dir;
QVERIFY(dir.mkpath(tempPath + "/foo"));
@@ -1385,6 +1391,7 @@ void tst_QFiledialog::deleteDirAndFiles()
QFileInfo info(tempPath);
QTest::qWait(2000);
QVERIFY(!info.exists());
+#endif
}
void tst_QFiledialog::filter()
@@ -1595,6 +1602,7 @@ QString &dir, const QString &filter)
void tst_QFiledialog::task227304_proxyOnFileDialog()
{
+#if defined QT_BUILD_INTERNAL
QNonNativeFileDialog fd(0, "", QDir::currentPath(), 0);
fd.setProxyModel(new FilterDirModel(QDir::currentPath()));
fd.show();
@@ -1628,6 +1636,7 @@ void tst_QFiledialog::task227304_proxyOnFileDialog()
QTest::mouseClick(sidebar->viewport(), Qt::LeftButton, 0, sidebar->visualRect(sidebar->model()->index(1, 0)).center());
QTest::qWait(250);
//We shouldn't crash
+#endif
}
void tst_QFiledialog::task227930_correctNavigationKeyboardBehavior()
@@ -1742,6 +1751,7 @@ void tst_QFiledialog::task235069_hideOnEscape()
void tst_QFiledialog::task236402_dontWatchDeletedDir()
{
+#if defined QT_BUILD_INTERNAL
//THIS TEST SHOULD NOT DISPLAY WARNINGS
QDir current = QDir::currentPath();
//make sure it is the first on the list
@@ -1761,6 +1771,7 @@ void tst_QFiledialog::task236402_dontWatchDeletedDir()
QTest::qWait(200);
fd.d_func()->removeDirectory(current.absolutePath() + "/aaaaaaaaaa/");
QTest::qWait(1000);
+#endif
}
void tst_QFiledialog::task203703_returnProperSeparator()
@@ -1885,6 +1896,7 @@ void tst_QFiledialog::task218353_relativePaths()
void tst_QFiledialog::task251321_sideBarHiddenEntries()
{
+#if defined QT_BUILD_INTERNAL
QNonNativeFileDialog fd;
QDir current = QDir::currentPath();
@@ -1914,8 +1926,10 @@ void tst_QFiledialog::task251321_sideBarHiddenEntries()
hiddenSubDir.rmdir("happy");
hiddenDir.rmdir("subdir");
current.rmdir(".hidden");
+#endif
}
+#if defined QT_BUILD_INTERNAL
class MyQSideBar : public QSidebar
{
public :
@@ -1933,9 +1947,11 @@ public :
model()->removeRow(indexes.at(i).row());
}
};
+#endif
void tst_QFiledialog::task251341_sideBarRemoveEntries()
{
+#if defined QT_BUILD_INTERNAL
QNonNativeFileDialog fd;
QDir current = QDir::currentPath();
@@ -1995,6 +2011,7 @@ void tst_QFiledialog::task251341_sideBarRemoveEntries()
QCOMPARE(mySideBar.urls(), expected);
current.rmdir("testDir");
+#endif
}
void tst_QFiledialog::task254490_selectFileMultipleTimes()
@@ -2029,5 +2046,32 @@ void tst_QFiledialog::task254490_selectFileMultipleTimes()
t->deleteLater();
}
+void tst_QFiledialog::task257579_sideBarWithNonCleanUrls()
+{
+#if defined QT_BUILD_INTERNAL
+ QDir tempDir = QDir::temp();
+ QLatin1String dirname("autotest_task257579");
+ tempDir.rmdir(dirname); //makes sure it doesn't exist any more
+ QVERIFY(tempDir.mkdir(dirname));
+ QString url = QString::fromLatin1("%1/%2/..").arg(tempDir.absolutePath()).arg(dirname);
+ QNonNativeFileDialog fd;
+ fd.setSidebarUrls(QList<QUrl>() << QUrl::fromLocalFile(url));
+ QSidebar *sidebar = qFindChild<QSidebar*>(&fd, "sidebar");
+ QCOMPARE(sidebar->urls().count(), 1);
+ QVERIFY(sidebar->urls().first().toLocalFile() != url);
+ QCOMPARE(sidebar->urls().first().toLocalFile(), QDir::cleanPath(url));
+
+#ifdef Q_OS_WIN
+ QCOMPARE(sidebar->model()->index(0,0).data().toString().toLower(), tempDir.dirName().toLower());
+#else
+ QCOMPARE(sidebar->model()->index(0,0).data().toString(), tempDir.dirName());
+#endif
+
+ //all tests are finished, we can remove the temporary dir
+ QVERIFY(tempDir.rmdir(dirname));
+#endif
+}
+
+
QTEST_MAIN(tst_QFiledialog)
#include "tst_qfiledialog.moc"
diff --git a/tests/auto/qfileinfo/tst_qfileinfo.cpp b/tests/auto/qfileinfo/tst_qfileinfo.cpp
index fde4e0a..75b6100 100644
--- a/tests/auto/qfileinfo/tst_qfileinfo.cpp
+++ b/tests/auto/qfileinfo/tst_qfileinfo.cpp
@@ -127,6 +127,8 @@ private slots:
void size_data();
void size();
+ void systemFiles();
+
void compare_data();
void compare();
@@ -151,9 +153,7 @@ private slots:
void brokenShortcut();
#endif
-#ifdef Q_OS_UNIX
void isWritable();
-#endif
void isExecutable();
void testDecomposedUnicodeNames_data();
void testDecomposedUnicodeNames();
@@ -249,6 +249,7 @@ void tst_QFileInfo::isFile_data()
QTest::newRow("data1") << "tst_qfileinfo.cpp" << true;
QTest::newRow("data2") << ":/tst_qfileinfo/resources/" << false;
QTest::newRow("data3") << ":/tst_qfileinfo/resources/file1" << true;
+ QTest::newRow("data4") << ":/tst_qfileinfo/resources/afilethatshouldnotexist" << false;
}
void tst_QFileInfo::isFile()
@@ -281,6 +282,7 @@ void tst_QFileInfo::isDir_data()
QTest::newRow("data1") << "tst_qfileinfo.cpp" << false;
QTest::newRow("data2") << ":/tst_qfileinfo/resources/" << true;
QTest::newRow("data3") << ":/tst_qfileinfo/resources/file1" << false;
+ QTest::newRow("data4") << ":/tst_qfileinfo/resources/afilethatshouldnotexist" << false;
QTest::newRow("simple dir") << "resources" << true;
QTest::newRow("simple dir with slash") << "resources/" << true;
@@ -318,16 +320,17 @@ void tst_QFileInfo::isRoot_data()
QTest::addColumn<bool>("expected");
QTest::newRow("data0") << QDir::currentPath() << false;
QTest::newRow("data1") << "/" << true;
- QTest::newRow("data2") << ":/tst_qfileinfo/resources/" << false;
- QTest::newRow("data3") << ":/" << true;
+ QTest::newRow("data2") << "*" << false;
+ QTest::newRow("data3") << "/*" << false;
+ QTest::newRow("data4") << ":/tst_qfileinfo/resources/" << false;
+ QTest::newRow("data5") << ":/" << true;
QTest::newRow("simple dir") << "resources" << false;
QTest::newRow("simple dir with slash") << "resources/" << false;
#if (defined(Q_OS_WIN) && !defined(Q_OS_WINCE)) || defined(Q_OS_SYMBIAN)
QTest::newRow("drive 1") << "c:" << false;
QTest::newRow("drive 2") << "c:/" << true;
-#endif
-#if defined(Q_OS_WIN) && !defined(Q_OS_WINCE)
+ QTest::newRow("drive 3") << "p:/" << false;
QTest::newRow("unc 1") << "//" + QtNetworkSettings::winServerName() << true;
QTest::newRow("unc 2") << "//" + QtNetworkSettings::winServerName() + "/" << true;
QTest::newRow("unc 3") << "//" + QtNetworkSettings::winServerName() + "/testshare" << false;
@@ -359,8 +362,9 @@ void tst_QFileInfo::exists_data()
QTest::newRow("data6") << "resources/*" << false;
QTest::newRow("data7") << "resources/*.foo" << false;
QTest::newRow("data8") << "resources/*.ext1" << false;
- QTest::newRow("data9") << "." << true;
- QTest::newRow("data10") << ". " << false;
+ QTest::newRow("data9") << "resources/file?.ext1" << false;
+ QTest::newRow("data10") << "." << true;
+ QTest::newRow("data11") << ". " << false;
QTest::newRow("simple dir") << "resources" << true;
QTest::newRow("simple dir with slash") << "resources/" << true;
@@ -750,6 +754,17 @@ void tst_QFileInfo::size()
QTEST(int(fi.size()), "size");
}
+void tst_QFileInfo::systemFiles()
+{
+#ifndef Q_OS_WIN
+ QSKIP("This is a Windows only test", SkipAll);
+#endif
+ QFileInfo fi("c:\\pagefile.sys");
+ QVERIFY(fi.exists()); // task 167099
+ QVERIFY(fi.size() > 0); // task 189202
+ QVERIFY(fi.lastModified().isValid());
+}
+
void tst_QFileInfo::compare_data()
{
QTest::addColumn<QString>("file1");
@@ -874,11 +889,6 @@ void tst_QFileInfo::fileTimes()
#if !defined(Q_OS_UNIX) && !defined(Q_OS_WINCE)
QVERIFY(fileInfo.created() < beforeWrite);
#endif
-#ifdef Q_OS_WIN
- if (QSysInfo::WindowsVersion & QSysInfo::WV_DOS_based) {
- QVERIFY(fileInfo.lastRead().addDays(1) > beforeRead);
- } else
-#endif
//In Vista the last-access timestamp is not updated when the file is accessed/touched (by default).
//To enable this the HKLM\SYSTEM\CurrentControlSet\Control\FileSystem\NtfsDisableLastAccessUpdate
//is set to 0, in the test machine.
@@ -912,40 +922,37 @@ void tst_QFileInfo::fileTimes_oldFile()
// WriteOnly can create files, ReadOnly cannot.
DWORD creationDisp = OPEN_ALWAYS;
- HANDLE fileHandle;
-
// Create the file handle.
- QT_WA({
- fileHandle = CreateFileW(L"oldfile.txt",
- accessRights,
- shareMode,
- &securityAtts,
- creationDisp,
- flagsAndAtts,
- NULL);
- }, {
- fileHandle = CreateFileA("oldfile.txt",
- accessRights,
- shareMode,
- &securityAtts,
- creationDisp,
- flagsAndAtts,
- NULL);
- });
+ HANDLE fileHandle = CreateFile(L"oldfile.txt",
+ accessRights,
+ shareMode,
+ &securityAtts,
+ creationDisp,
+ flagsAndAtts,
+ NULL);
// Set file times back to 1601.
+ SYSTEMTIME stime;
+ stime.wYear = 1601;
+ stime.wMonth = 1;
+ stime.wDayOfWeek = 1;
+ stime.wDay = 1;
+ stime.wHour = 1;
+ stime.wMinute = 0;
+ stime.wSecond = 0;
+ stime.wMilliseconds = 0;
+
FILETIME ctime;
- ctime.dwLowDateTime = 1;
- ctime.dwHighDateTime = 0;
+ QVERIFY(SystemTimeToFileTime(&stime, &ctime));
FILETIME atime = ctime;
FILETIME mtime = atime;
QVERIFY(fileHandle);
QVERIFY(SetFileTime(fileHandle, &ctime, &atime, &mtime) != 0);
- QFileInfo info("oldfile.txt");
- QCOMPARE(info.lastModified(), QDateTime(QDate(1601, 1, 1), QTime(1, 0)));
-
CloseHandle(fileHandle);
+
+ QFileInfo info("oldfile.txt");
+ QCOMPARE(info.lastModified(), QDateTime(QDate(1601, 1, 1), QTime(1, 0), Qt::UTC).toLocalTime());
#endif
}
@@ -980,8 +987,8 @@ void tst_QFileInfo::isHidden_data()
{
QTest::addColumn<QString>("path");
QTest::addColumn<bool>("isHidden");
- foreach (QFileInfo info, QDir::drives()) {
- QTest::newRow(qPrintable("drive." + info.path())) << info.path() << false;
+ foreach (const QFileInfo& info, QDir::drives()) {
+ QTest::newRow(qPrintable("drive." + info.path())) << info.path() << false;
}
#ifdef Q_OS_MAC
QTest::newRow("mac_etc") << QString::fromLatin1("/etc") << true;
@@ -1082,19 +1089,23 @@ void tst_QFileInfo::brokenShortcut()
}
#endif
-#ifdef Q_OS_UNIX
void tst_QFileInfo::isWritable()
{
#ifdef Q_OS_SYMBIAN
- QSKIP("This is a UNIX only test - no passwd in Symbian OS", SkipAll);
+ QSKIP("Currently skipped on Symbian OS, but surely there is a writeable file somewhere???", SkipAll);
#endif
+ QVERIFY(QFileInfo("tst_qfileinfo.cpp").isWritable());
+#ifdef Q_OS_WIN
+ QVERIFY(!QFileInfo("c:\\pagefile.sys").isWritable());
+#endif
+#ifdef Q_OS_UNIX
if (::getuid() == 0)
QVERIFY(QFileInfo("/etc/passwd").isWritable());
else
QVERIFY(!QFileInfo("/etc/passwd").isWritable());
-}
#endif
+}
void tst_QFileInfo::isExecutable()
{
diff --git a/tests/auto/qfilesystemmodel/qfilesystemmodel.pro b/tests/auto/qfilesystemmodel/qfilesystemmodel.pro
index 9750c43..d421e44 100644
--- a/tests/auto/qfilesystemmodel/qfilesystemmodel.pro
+++ b/tests/auto/qfilesystemmodel/qfilesystemmodel.pro
@@ -3,6 +3,8 @@ CONFIG += qttest_p4
include(../../src/qfiledialog.pri)
include(../../../../modeltest/modeltest.pri)
+QT = core gui
+
SOURCES += tst_qfilesystemmodel.cpp
TARGET = tst_qfilesystemmodel
diff --git a/tests/auto/qfilesystemmodel/tst_qfilesystemmodel.cpp b/tests/auto/qfilesystemmodel/tst_qfilesystemmodel.cpp
index e6c0030..72841bb 100644
--- a/tests/auto/qfilesystemmodel/tst_qfilesystemmodel.cpp
+++ b/tests/auto/qfilesystemmodel/tst_qfilesystemmodel.cpp
@@ -282,6 +282,7 @@ void tst_QFileSystemModel::naturalCompare_data()
void tst_QFileSystemModel::naturalCompare()
{
+#ifdef QT_BUILD_INTERNAL
QFETCH(QString, s1);
QFETCH(QString, s2);
QFETCH(int, caseSensitive);
@@ -299,6 +300,7 @@ void tst_QFileSystemModel::naturalCompare()
// created. The scheduler takes its time to recognize ended threads.
QTest::qWait(300);
#endif
+#endif
}
void tst_QFileSystemModel::readOnly()
@@ -770,7 +772,7 @@ void tst_QFileSystemModel::setData()
class MyFriendFileSystemModel : public QFileSystemModel
{
friend class tst_QFileSystemModel;
- Q_DECLARE_SCOPED_PRIVATE(QFileSystemModel)
+ Q_DECLARE_PRIVATE(QFileSystemModel)
};
void tst_QFileSystemModel::sort_data()
diff --git a/tests/auto/qfilesystemwatcher/tst_qfilesystemwatcher.cpp b/tests/auto/qfilesystemwatcher/tst_qfilesystemwatcher.cpp
index 6fa49b4..a93a645 100644
--- a/tests/auto/qfilesystemwatcher/tst_qfilesystemwatcher.cpp
+++ b/tests/auto/qfilesystemwatcher/tst_qfilesystemwatcher.cpp
@@ -73,6 +73,8 @@ private slots:
void removePath();
void addPaths();
void removePaths();
+ void watchFileAndItsDirectory();
+ void watchFileAndItsDirectory_data() { basicTest_data(); }
private:
QStringList do_force_engines;
@@ -400,5 +402,83 @@ void tst_QFileSystemWatcher::removePaths()
watcher.removePaths(paths);
}
+void tst_QFileSystemWatcher::watchFileAndItsDirectory()
+{
+ QFETCH(QString, backend);
+ QDir().mkdir("testDir");
+ QDir testDir("testDir");
+
+ QString testFileName = testDir.filePath("testFile.txt");
+ QString secondFileName = testDir.filePath("testFile2.txt");
+ QFile::remove(secondFileName);
+
+ QFile testFile(testFileName);
+ testFile.setPermissions(QFile::ReadOwner | QFile::WriteOwner);
+ testFile.remove();
+
+ QVERIFY(testFile.open(QIODevice::WriteOnly | QIODevice::Truncate));
+ testFile.write(QByteArray("hello"));
+ testFile.close();
+
+ QFileSystemWatcher watcher;
+ watcher.setObjectName(QLatin1String("_qt_autotest_force_engine_") + backend);
+
+ watcher.addPath(testDir.dirName());
+ watcher.addPath(testFileName);
+
+ QSignalSpy fileChangedSpy(&watcher, SIGNAL(fileChanged(const QString &)));
+ QSignalSpy dirChangedSpy(&watcher, SIGNAL(directoryChanged(const QString &)));
+ QEventLoop eventLoop;
+ QTimer timer;
+ connect(&timer, SIGNAL(timeout()), &eventLoop, SLOT(quit()));
+
+ // resolution of the modification time is system dependent, but it's at most 1 second when using
+ // the polling engine. From what I know, FAT32 has a 2 second resolution. So we have to
+ // wait before modifying the directory...
+ QTest::qWait(2000);
+
+ QVERIFY(testFile.open(QIODevice::WriteOnly | QIODevice::Truncate));
+ testFile.write(QByteArray("hello again"));
+ testFile.close();
+
+ timer.start(3000);
+ eventLoop.exec();
+ QCOMPARE(fileChangedSpy.count(), 1);
+ QCOMPARE(dirChangedSpy.count(), 0);
+
+ fileChangedSpy.clear();
+ QFile secondFile(secondFileName);
+ secondFile.open(QIODevice::WriteOnly | QIODevice::Truncate);
+ secondFile.write("Foo");
+ secondFile.close();
+
+ timer.start(3000);
+ eventLoop.exec();
+ QCOMPARE(fileChangedSpy.count(), 0);
+ QCOMPARE(dirChangedSpy.count(), 1);
+
+ dirChangedSpy.clear();
+
+ QFile::remove(testFileName);
+
+ timer.start(3000);
+ eventLoop.exec();
+ QCOMPARE(fileChangedSpy.count(), 1);
+ QCOMPARE(dirChangedSpy.count(), 1);
+
+ fileChangedSpy.clear();
+ dirChangedSpy.clear();
+
+ watcher.removePath(testFileName);
+ QFile::remove(secondFileName);
+
+ timer.start(3000);
+ eventLoop.exec();
+ QCOMPARE(fileChangedSpy.count(), 0);
+ QCOMPARE(dirChangedSpy.count(), 1);
+
+ QVERIFY(QDir().rmdir("testDir"));
+}
+
QTEST_MAIN(tst_QFileSystemWatcher)
#include "tst_qfilesystemwatcher.moc"
diff --git a/tests/auto/qflags/tst_qflags.cpp b/tests/auto/qflags/tst_qflags.cpp
index a5f68dc..87d8258 100644
--- a/tests/auto/qflags/tst_qflags.cpp
+++ b/tests/auto/qflags/tst_qflags.cpp
@@ -45,6 +45,7 @@ class tst_QFlags: public QObject
Q_OBJECT
private slots:
void testFlag() const;
+ void testFlagZeroFlag() const;
void testFlagMultiBits() const;
};
@@ -59,8 +60,31 @@ void tst_QFlags::testFlag() const
QVERIFY(!btn.testFlag(Qt::LeftButton));
}
+void tst_QFlags::testFlagZeroFlag() const
+{
+ {
+ Qt::MouseButtons btn = Qt::LeftButton | Qt::RightButton;
+ /* Qt::NoButton has the value 0. */
+
+ QVERIFY(!btn.testFlag(Qt::NoButton));
+ }
+
+ {
+ /* A zero enum set should test true with zero. */
+ QVERIFY(Qt::MouseButtons().testFlag(Qt::NoButton));
+ }
+
+ {
+ Qt::MouseButtons btn = Qt::NoButton;
+ QVERIFY(btn.testFlag(Qt::NoButton));
+ }
+}
+
void tst_QFlags::testFlagMultiBits() const
{
+ /* Qt::Window is 0x00000001
+ * Qt::Dialog is 0x00000002 | Window
+ */
{
const Qt::WindowFlags onlyWindow(Qt::Window);
QVERIFY(!onlyWindow.testFlag(Qt::Dialog));
diff --git a/tests/auto/qfontcombobox/tst_qfontcombobox.cpp b/tests/auto/qfontcombobox/tst_qfontcombobox.cpp
index 62bfdf7..e2515ae 100644
--- a/tests/auto/qfontcombobox/tst_qfontcombobox.cpp
+++ b/tests/auto/qfontcombobox/tst_qfontcombobox.cpp
@@ -122,7 +122,10 @@ void tst_QFontComboBox::currentFont_data()
{
QTest::addColumn<QFont>("currentFont");
// Normalize the names
- QTest::newRow("default") << QFont(QFontInfo(QFont()).family());
+ QFont defaultFont;
+ QTest::newRow("default") << defaultFont;
+ defaultFont.setPointSize(defaultFont.pointSize() + 10);
+ QTest::newRow("default") << defaultFont;
QFontDatabase db;
QStringList list = db.families();
for (int i = 0; i < list.count(); ++i) {
@@ -141,6 +144,7 @@ void tst_QFontComboBox::currentFont()
QFont oldCurrentFont = box.currentFont();
box.setCurrentFont(currentFont);
+ QCOMPARE(box.currentFont(), currentFont);
QString boxFontFamily = QFontInfo(box.currentFont()).family();
QRegExp foundry(" \\[.*\\]");
if (!currentFont.family().contains(foundry))
diff --git a/tests/auto/qfontdialog/tst_qfontdialog.cpp b/tests/auto/qfontdialog/tst_qfontdialog.cpp
index 57098a8..ae92880 100644
--- a/tests/auto/qfontdialog/tst_qfontdialog.cpp
+++ b/tests/auto/qfontdialog/tst_qfontdialog.cpp
@@ -156,7 +156,7 @@ void tst_QFontDialog::setFont()
class FriendlyFontDialog : public QFontDialog
{
- friend tst_QFontDialog;
+ friend class tst_QFontDialog;
Q_DECLARE_PRIVATE(QFontDialog);
};
@@ -170,8 +170,12 @@ void tst_QFontDialog::task256466_wrongStyle()
for (int i = 0; i < familyList->model()->rowCount(); ++i) {
QModelIndex currentFamily = familyList->model()->index(i, 0);
familyList->setCurrentIndex(currentFamily);
- QCOMPARE(dialog.currentFont(), fdb.font(currentFamily.data().toString(),
- styleList->currentIndex().data().toString(), sizeList->currentIndex().data().toInt()));
+ const QFont current = dialog.currentFont(),
+ expected = fdb.font(currentFamily.data().toString(),
+ styleList->currentIndex().data().toString(), sizeList->currentIndex().data().toInt());
+ QCOMPARE(current.family(), expected.family());
+ QCOMPARE(current.style(), expected.style());
+ QCOMPARE(current.pointSizeF(), expected.pointSizeF());
}
}
diff --git a/tests/auto/qformlayout/tst_qformlayout.cpp b/tests/auto/qformlayout/tst_qformlayout.cpp
index 74384a9..9806557 100644
--- a/tests/auto/qformlayout/tst_qformlayout.cpp
+++ b/tests/auto/qformlayout/tst_qformlayout.cpp
@@ -125,7 +125,6 @@ private slots:
Qt::Orientations expandingDirections() const;
*/
- void fieldMinimumSize();
};
tst_QFormLayout::tst_QFormLayout()
@@ -906,35 +905,6 @@ void tst_QFormLayout::layoutAlone()
QTest::qWait(500);
}
-
-void tst_QFormLayout::fieldMinimumSize()
-{
- //check that the field with is bigger than its minimumSizeHint for any size of the widget
- // even if the label with is not fixed
- QWidget w;
- QFormLayout layout;
- layout.setFieldGrowthPolicy(QFormLayout::AllNonFixedFieldsGrow);
- w.setLayout(&layout);
- QLabel label1("Here is a strange test case");
- label1.setWordWrap(true);
- QLabel label2("Here is another label");
- label2.setWordWrap(true);
- QLabel shortLabel("short");
- QLabel longLabel("Quite long label");
- layout.addRow(&label1, &shortLabel);
- layout.addRow(&label2, &longLabel);
- w.show();
- int width = w.size().width() + 9;
-
- do {
- w.resize(width, w.size().height());
- layout.activate();
- QVERIFY(shortLabel.size().width() >= shortLabel.minimumSizeHint().width());
- QVERIFY(longLabel.size().width() >= longLabel.minimumSizeHint().width());
- width -= 3;
- } while(width >= w.minimumSizeHint().width());
-}
-
QTEST_MAIN(tst_QFormLayout)
#include "tst_qformlayout.moc"
diff --git a/tests/auto/qgl/qgl.pro b/tests/auto/qgl/qgl.pro
index 55e329d..420c4bb 100644
--- a/tests/auto/qgl/qgl.pro
+++ b/tests/auto/qgl/qgl.pro
@@ -3,7 +3,8 @@
############################################################
load(qttest_p4)
-contains(QT_CONFIG, opengl):QT += opengl
+requires(contains(QT_CONFIG,opengl))
+QT += opengl
SOURCES += tst_qgl.cpp
diff --git a/tests/auto/qgl/tst_qgl.cpp b/tests/auto/qgl/tst_qgl.cpp
index 078c559..31c4a3c 100644
--- a/tests/auto/qgl/tst_qgl.cpp
+++ b/tests/auto/qgl/tst_qgl.cpp
@@ -44,9 +44,8 @@
#include <qcoreapplication.h>
#include <qdebug.h>
-#ifndef QT_NO_OPENGL
#include <qgl.h>
-#endif
+#include <qglcolormap.h>
#include <QGraphicsView>
#include <QGraphicsProxyWidget>
@@ -68,6 +67,7 @@ private slots:
void graphicsViewClipping();
void partialGLWidgetUpdates_data();
void partialGLWidgetUpdates();
+ void colormap();
};
tst_QGL::tst_QGL()
@@ -78,7 +78,6 @@ tst_QGL::~tst_QGL()
{
}
-#ifndef QT_NO_OPENGL
class MyGLContext : public QGLContext
{
public:
@@ -96,133 +95,301 @@ public:
bool autoBufferSwap() const { return QGLWidget::autoBufferSwap(); }
void setAutoBufferSwap(bool on) { QGLWidget::setAutoBufferSwap(on); }
};
-#endif
+
+// Using INT_MIN and INT_MAX will cause failures on systems
+// where "int" is 64-bit, so use the explicit values instead.
+#define TEST_INT_MIN (-2147483647 - 1)
+#define TEST_INT_MAX 2147483647
+
// Testing get/set functions
void tst_QGL::getSetCheck()
{
-#ifdef QT_NO_OPENGL
- QSKIP("QGL not yet supported", SkipAll);
-#else
if (!QGLFormat::hasOpenGL())
QSKIP("QGL not supported on this platform", SkipAll);
QGLFormat obj1;
// int QGLFormat::depthBufferSize()
// void QGLFormat::setDepthBufferSize(int)
+ QCOMPARE(-1, obj1.depthBufferSize());
obj1.setDepthBufferSize(0);
QCOMPARE(0, obj1.depthBufferSize());
- obj1.setDepthBufferSize(INT_MIN);
+ QTest::ignoreMessage(QtWarningMsg, "QGLFormat::setDepthBufferSize: Cannot set negative depth buffer size -2147483648");
+ obj1.setDepthBufferSize(TEST_INT_MIN);
QCOMPARE(0, obj1.depthBufferSize()); // Makes no sense with a negative buffer size
- obj1.setDepthBufferSize(INT_MAX);
- QCOMPARE(INT_MAX, obj1.depthBufferSize());
+ obj1.setDepthBufferSize(3);
+ QTest::ignoreMessage(QtWarningMsg, "QGLFormat::setDepthBufferSize: Cannot set negative depth buffer size -1");
+ obj1.setDepthBufferSize(-1);
+ QCOMPARE(3, obj1.depthBufferSize());
+ obj1.setDepthBufferSize(TEST_INT_MAX);
+ QCOMPARE(TEST_INT_MAX, obj1.depthBufferSize());
// int QGLFormat::accumBufferSize()
// void QGLFormat::setAccumBufferSize(int)
+ QCOMPARE(-1, obj1.accumBufferSize());
obj1.setAccumBufferSize(0);
QCOMPARE(0, obj1.accumBufferSize());
- obj1.setAccumBufferSize(INT_MIN);
+ QTest::ignoreMessage(QtWarningMsg, "QGLFormat::setAccumBufferSize: Cannot set negative accumulate buffer size -2147483648");
+ obj1.setAccumBufferSize(TEST_INT_MIN);
QCOMPARE(0, obj1.accumBufferSize()); // Makes no sense with a negative buffer size
- obj1.setAccumBufferSize(INT_MAX);
- QCOMPARE(INT_MAX, obj1.accumBufferSize());
+ obj1.setAccumBufferSize(3);
+ QTest::ignoreMessage(QtWarningMsg, "QGLFormat::setAccumBufferSize: Cannot set negative accumulate buffer size -1");
+ obj1.setAccumBufferSize(-1);
+ QCOMPARE(3, obj1.accumBufferSize());
+ obj1.setAccumBufferSize(TEST_INT_MAX);
+ QCOMPARE(TEST_INT_MAX, obj1.accumBufferSize());
+
+ // int QGLFormat::redBufferSize()
+ // void QGLFormat::setRedBufferSize(int)
+ QCOMPARE(-1, obj1.redBufferSize());
+ obj1.setRedBufferSize(0);
+ QCOMPARE(0, obj1.redBufferSize());
+ QTest::ignoreMessage(QtWarningMsg, "QGLFormat::setRedBufferSize: Cannot set negative red buffer size -2147483648");
+ obj1.setRedBufferSize(TEST_INT_MIN);
+ QCOMPARE(0, obj1.redBufferSize()); // Makes no sense with a negative buffer size
+ obj1.setRedBufferSize(3);
+ QTest::ignoreMessage(QtWarningMsg, "QGLFormat::setRedBufferSize: Cannot set negative red buffer size -1");
+ obj1.setRedBufferSize(-1);
+ QCOMPARE(3, obj1.redBufferSize());
+ obj1.setRedBufferSize(TEST_INT_MAX);
+ QCOMPARE(TEST_INT_MAX, obj1.redBufferSize());
+
+ // int QGLFormat::greenBufferSize()
+ // void QGLFormat::setGreenBufferSize(int)
+ QCOMPARE(-1, obj1.greenBufferSize());
+ obj1.setGreenBufferSize(0);
+ QCOMPARE(0, obj1.greenBufferSize());
+ QTest::ignoreMessage(QtWarningMsg, "QGLFormat::setGreenBufferSize: Cannot set negative green buffer size -2147483648");
+ obj1.setGreenBufferSize(TEST_INT_MIN);
+ QCOMPARE(0, obj1.greenBufferSize()); // Makes no sense with a negative buffer size
+ obj1.setGreenBufferSize(3);
+ QTest::ignoreMessage(QtWarningMsg, "QGLFormat::setGreenBufferSize: Cannot set negative green buffer size -1");
+ obj1.setGreenBufferSize(-1);
+ QCOMPARE(3, obj1.greenBufferSize());
+ obj1.setGreenBufferSize(TEST_INT_MAX);
+ QCOMPARE(TEST_INT_MAX, obj1.greenBufferSize());
+
+ // int QGLFormat::blueBufferSize()
+ // void QGLFormat::setBlueBufferSize(int)
+ QCOMPARE(-1, obj1.blueBufferSize());
+ obj1.setBlueBufferSize(0);
+ QCOMPARE(0, obj1.blueBufferSize());
+ QTest::ignoreMessage(QtWarningMsg, "QGLFormat::setBlueBufferSize: Cannot set negative blue buffer size -2147483648");
+ obj1.setBlueBufferSize(TEST_INT_MIN);
+ QCOMPARE(0, obj1.blueBufferSize()); // Makes no sense with a negative buffer size
+ obj1.setBlueBufferSize(3);
+ QTest::ignoreMessage(QtWarningMsg, "QGLFormat::setBlueBufferSize: Cannot set negative blue buffer size -1");
+ obj1.setBlueBufferSize(-1);
+ QCOMPARE(3, obj1.blueBufferSize());
+ obj1.setBlueBufferSize(TEST_INT_MAX);
+ QCOMPARE(TEST_INT_MAX, obj1.blueBufferSize());
// int QGLFormat::alphaBufferSize()
// void QGLFormat::setAlphaBufferSize(int)
+ QCOMPARE(-1, obj1.alphaBufferSize());
+ QCOMPARE(false, obj1.alpha());
+ QVERIFY(!obj1.testOption(QGL::AlphaChannel));
+ QVERIFY(obj1.testOption(QGL::NoAlphaChannel));
obj1.setAlphaBufferSize(0);
+ QCOMPARE(true, obj1.alpha()); // setAlphaBufferSize() enables alpha.
QCOMPARE(0, obj1.alphaBufferSize());
- obj1.setAlphaBufferSize(INT_MIN);
+ QTest::ignoreMessage(QtWarningMsg, "QGLFormat::setAlphaBufferSize: Cannot set negative alpha buffer size -2147483648");
+ obj1.setAlphaBufferSize(TEST_INT_MIN);
QCOMPARE(0, obj1.alphaBufferSize()); // Makes no sense with a negative buffer size
- obj1.setAlphaBufferSize(INT_MAX);
- QCOMPARE(INT_MAX, obj1.alphaBufferSize());
+ obj1.setAlphaBufferSize(3);
+ QTest::ignoreMessage(QtWarningMsg, "QGLFormat::setAlphaBufferSize: Cannot set negative alpha buffer size -1");
+ obj1.setAlphaBufferSize(-1);
+ QCOMPARE(3, obj1.alphaBufferSize());
+ obj1.setAlphaBufferSize(TEST_INT_MAX);
+ QCOMPARE(TEST_INT_MAX, obj1.alphaBufferSize());
// int QGLFormat::stencilBufferSize()
// void QGLFormat::setStencilBufferSize(int)
+ QCOMPARE(-1, obj1.stencilBufferSize());
obj1.setStencilBufferSize(0);
QCOMPARE(0, obj1.stencilBufferSize());
- obj1.setStencilBufferSize(INT_MIN);
+ QTest::ignoreMessage(QtWarningMsg, "QGLFormat::setStencilBufferSize: Cannot set negative stencil buffer size -2147483648");
+ obj1.setStencilBufferSize(TEST_INT_MIN);
QCOMPARE(0, obj1.stencilBufferSize()); // Makes no sense with a negative buffer size
- obj1.setStencilBufferSize(INT_MAX);
- QCOMPARE(INT_MAX, obj1.stencilBufferSize());
+ obj1.setStencilBufferSize(3);
+ QTest::ignoreMessage(QtWarningMsg, "QGLFormat::setStencilBufferSize: Cannot set negative stencil buffer size -1");
+ obj1.setStencilBufferSize(-1);
+ QCOMPARE(3, obj1.stencilBufferSize());
+ obj1.setStencilBufferSize(TEST_INT_MAX);
+ QCOMPARE(TEST_INT_MAX, obj1.stencilBufferSize());
// bool QGLFormat::sampleBuffers()
// void QGLFormat::setSampleBuffers(bool)
+ QCOMPARE(false, obj1.sampleBuffers());
+ QVERIFY(!obj1.testOption(QGL::SampleBuffers));
+ QVERIFY(obj1.testOption(QGL::NoSampleBuffers));
obj1.setSampleBuffers(false);
QCOMPARE(false, obj1.sampleBuffers());
+ QVERIFY(obj1.testOption(QGL::NoSampleBuffers));
obj1.setSampleBuffers(true);
QCOMPARE(true, obj1.sampleBuffers());
+ QVERIFY(obj1.testOption(QGL::SampleBuffers));
// int QGLFormat::samples()
// void QGLFormat::setSamples(int)
+ QCOMPARE(-1, obj1.samples());
obj1.setSamples(0);
QCOMPARE(0, obj1.samples());
- obj1.setSamples(INT_MIN);
+ QTest::ignoreMessage(QtWarningMsg, "QGLFormat::setSamples: Cannot have negative number of samples per pixel -2147483648");
+ obj1.setSamples(TEST_INT_MIN);
QCOMPARE(0, obj1.samples()); // Makes no sense with a negative sample size
- obj1.setSamples(INT_MAX);
- QCOMPARE(INT_MAX, obj1.samples());
+ obj1.setSamples(3);
+ QTest::ignoreMessage(QtWarningMsg, "QGLFormat::setSamples: Cannot have negative number of samples per pixel -1");
+ obj1.setSamples(-1);
+ QCOMPARE(3, obj1.samples());
+ obj1.setSamples(TEST_INT_MAX);
+ QCOMPARE(TEST_INT_MAX, obj1.samples());
+
+ // int QGLFormat::swapInterval()
+ // void QGLFormat::setSwapInterval(int)
+ QCOMPARE(-1, obj1.swapInterval());
+ obj1.setSwapInterval(0);
+ QCOMPARE(0, obj1.swapInterval());
+ obj1.setSwapInterval(TEST_INT_MIN);
+ QCOMPARE(TEST_INT_MIN, obj1.swapInterval());
+ obj1.setSwapInterval(-1);
+ QCOMPARE(-1, obj1.swapInterval());
+ obj1.setSwapInterval(TEST_INT_MAX);
+ QCOMPARE(TEST_INT_MAX, obj1.swapInterval());
// bool QGLFormat::doubleBuffer()
// void QGLFormat::setDoubleBuffer(bool)
+ QCOMPARE(true, obj1.doubleBuffer());
+ QVERIFY(obj1.testOption(QGL::DoubleBuffer));
+ QVERIFY(!obj1.testOption(QGL::SingleBuffer));
obj1.setDoubleBuffer(false);
QCOMPARE(false, obj1.doubleBuffer());
+ QVERIFY(!obj1.testOption(QGL::DoubleBuffer));
+ QVERIFY(obj1.testOption(QGL::SingleBuffer));
obj1.setDoubleBuffer(true);
QCOMPARE(true, obj1.doubleBuffer());
+ QVERIFY(obj1.testOption(QGL::DoubleBuffer));
+ QVERIFY(!obj1.testOption(QGL::SingleBuffer));
// bool QGLFormat::depth()
// void QGLFormat::setDepth(bool)
+ QCOMPARE(true, obj1.depth());
+ QVERIFY(obj1.testOption(QGL::DepthBuffer));
+ QVERIFY(!obj1.testOption(QGL::NoDepthBuffer));
obj1.setDepth(false);
QCOMPARE(false, obj1.depth());
+ QVERIFY(!obj1.testOption(QGL::DepthBuffer));
+ QVERIFY(obj1.testOption(QGL::NoDepthBuffer));
obj1.setDepth(true);
QCOMPARE(true, obj1.depth());
+ QVERIFY(obj1.testOption(QGL::DepthBuffer));
+ QVERIFY(!obj1.testOption(QGL::NoDepthBuffer));
// bool QGLFormat::rgba()
// void QGLFormat::setRgba(bool)
+ QCOMPARE(true, obj1.rgba());
+ QVERIFY(obj1.testOption(QGL::Rgba));
+ QVERIFY(!obj1.testOption(QGL::ColorIndex));
obj1.setRgba(false);
QCOMPARE(false, obj1.rgba());
+ QVERIFY(!obj1.testOption(QGL::Rgba));
+ QVERIFY(obj1.testOption(QGL::ColorIndex));
obj1.setRgba(true);
QCOMPARE(true, obj1.rgba());
+ QVERIFY(obj1.testOption(QGL::Rgba));
+ QVERIFY(!obj1.testOption(QGL::ColorIndex));
// bool QGLFormat::alpha()
// void QGLFormat::setAlpha(bool)
+ QVERIFY(obj1.testOption(QGL::AlphaChannel));
+ QVERIFY(!obj1.testOption(QGL::NoAlphaChannel));
obj1.setAlpha(false);
QCOMPARE(false, obj1.alpha());
+ QVERIFY(!obj1.testOption(QGL::AlphaChannel));
+ QVERIFY(obj1.testOption(QGL::NoAlphaChannel));
obj1.setAlpha(true);
QCOMPARE(true, obj1.alpha());
+ QVERIFY(obj1.testOption(QGL::AlphaChannel));
+ QVERIFY(!obj1.testOption(QGL::NoAlphaChannel));
// bool QGLFormat::accum()
// void QGLFormat::setAccum(bool)
+ QCOMPARE(false, obj1.accum());
+ QVERIFY(!obj1.testOption(QGL::AccumBuffer));
+ QVERIFY(obj1.testOption(QGL::NoAccumBuffer));
obj1.setAccum(false);
QCOMPARE(false, obj1.accum());
+ QVERIFY(!obj1.testOption(QGL::AccumBuffer));
+ QVERIFY(obj1.testOption(QGL::NoAccumBuffer));
obj1.setAccum(true);
QCOMPARE(true, obj1.accum());
+ QVERIFY(obj1.testOption(QGL::AccumBuffer));
+ QVERIFY(!obj1.testOption(QGL::NoAccumBuffer));
// bool QGLFormat::stencil()
// void QGLFormat::setStencil(bool)
+ QCOMPARE(true, obj1.stencil());
+ QVERIFY(obj1.testOption(QGL::StencilBuffer));
+ QVERIFY(!obj1.testOption(QGL::NoStencilBuffer));
obj1.setStencil(false);
QCOMPARE(false, obj1.stencil());
+ QVERIFY(!obj1.testOption(QGL::StencilBuffer));
+ QVERIFY(obj1.testOption(QGL::NoStencilBuffer));
obj1.setStencil(true);
QCOMPARE(true, obj1.stencil());
+ QVERIFY(obj1.testOption(QGL::StencilBuffer));
+ QVERIFY(!obj1.testOption(QGL::NoStencilBuffer));
// bool QGLFormat::stereo()
// void QGLFormat::setStereo(bool)
+ QCOMPARE(false, obj1.stereo());
+ QVERIFY(!obj1.testOption(QGL::StereoBuffers));
+ QVERIFY(obj1.testOption(QGL::NoStereoBuffers));
obj1.setStereo(false);
QCOMPARE(false, obj1.stereo());
+ QVERIFY(!obj1.testOption(QGL::StereoBuffers));
+ QVERIFY(obj1.testOption(QGL::NoStereoBuffers));
obj1.setStereo(true);
QCOMPARE(true, obj1.stereo());
+ QVERIFY(obj1.testOption(QGL::StereoBuffers));
+ QVERIFY(!obj1.testOption(QGL::NoStereoBuffers));
// bool QGLFormat::directRendering()
// void QGLFormat::setDirectRendering(bool)
+ QCOMPARE(true, obj1.directRendering());
+ QVERIFY(obj1.testOption(QGL::DirectRendering));
+ QVERIFY(!obj1.testOption(QGL::IndirectRendering));
obj1.setDirectRendering(false);
QCOMPARE(false, obj1.directRendering());
+ QVERIFY(!obj1.testOption(QGL::DirectRendering));
+ QVERIFY(obj1.testOption(QGL::IndirectRendering));
obj1.setDirectRendering(true);
QCOMPARE(true, obj1.directRendering());
+ QVERIFY(obj1.testOption(QGL::DirectRendering));
+ QVERIFY(!obj1.testOption(QGL::IndirectRendering));
+
+ // bool QGLFormat::overlay()
+ // void QGLFormat::setOverlay(bool)
+ QCOMPARE(false, obj1.hasOverlay());
+ QVERIFY(!obj1.testOption(QGL::HasOverlay));
+ QVERIFY(obj1.testOption(QGL::NoOverlay));
+ obj1.setOverlay(false);
+ QCOMPARE(false, obj1.hasOverlay());
+ QVERIFY(!obj1.testOption(QGL::HasOverlay));
+ QVERIFY(obj1.testOption(QGL::NoOverlay));
+ obj1.setOverlay(true);
+ QCOMPARE(true, obj1.hasOverlay());
+ QVERIFY(obj1.testOption(QGL::HasOverlay));
+ QVERIFY(!obj1.testOption(QGL::NoOverlay));
// int QGLFormat::plane()
// void QGLFormat::setPlane(int)
+ QCOMPARE(0, obj1.plane());
obj1.setPlane(0);
QCOMPARE(0, obj1.plane());
- obj1.setPlane(INT_MIN);
- QCOMPARE(INT_MIN, obj1.plane());
- obj1.setPlane(INT_MAX);
- QCOMPARE(INT_MAX, obj1.plane());
+ obj1.setPlane(TEST_INT_MIN);
+ QCOMPARE(TEST_INT_MIN, obj1.plane());
+ obj1.setPlane(TEST_INT_MAX);
+ QCOMPARE(TEST_INT_MAX, obj1.plane());
MyGLContext obj2(obj1);
// bool QGLContext::windowCreated()
@@ -246,10 +413,9 @@ void tst_QGL::getSetCheck()
QCOMPARE(false, obj3.autoBufferSwap());
obj3.setAutoBufferSwap(true);
QCOMPARE(true, obj3.autoBufferSwap());
-#endif
}
-#ifndef QT_NO_OPENGL
+#ifdef QT_BUILD_INTERNAL
QT_BEGIN_NAMESPACE
extern QGLFormat::OpenGLVersionFlags qOpenGLVersionFlagsFromString(const QString &versionString);
QT_END_NAMESPACE
@@ -257,9 +423,7 @@ QT_END_NAMESPACE
void tst_QGL::openGLVersionCheck()
{
-#ifdef QT_NO_OPENGL
- QSKIP("QGL not yet supported", SkipAll);
-#else
+#ifdef QT_BUILD_INTERNAL
if (!QGLFormat::hasOpenGL())
QSKIP("QGL not supported on this platform", SkipAll);
@@ -366,9 +530,6 @@ public:
void tst_QGL::graphicsViewClipping()
{
-#ifdef QT_NO_OPENGL
- QSKIP("QGL not supported", SkipAll);
-#else
const int size = 64;
UnclippedWidget *widget = new UnclippedWidget;
widget->setFixedSize(size, size);
@@ -403,7 +564,6 @@ void tst_QGL::graphicsViewClipping()
p.end();
QCOMPARE(image, expected);
-#endif
}
void tst_QGL::partialGLWidgetUpdates_data()
@@ -420,9 +580,6 @@ void tst_QGL::partialGLWidgetUpdates_data()
void tst_QGL::partialGLWidgetUpdates()
{
-#ifdef QT_NO_OPENGL
- QSKIP("QGL not yet supported", SkipAll);
-#else
if (!QGLFormat::hasOpenGL())
QSKIP("QGL not supported on this platform", SkipAll);
@@ -466,7 +623,125 @@ void tst_QGL::partialGLWidgetUpdates()
QCOMPARE(widget.paintEventRegion, QRegion(50, 50, 50, 50));
else
QCOMPARE(widget.paintEventRegion, QRegion(widget.rect()));
-#endif
+}
+
+class ColormapExtended : public QGLColormap
+{
+public:
+ ColormapExtended() {}
+
+ Qt::HANDLE handle() { return QGLColormap::handle(); }
+ void setHandle(Qt::HANDLE handle) { QGLColormap::setHandle(handle); }
+};
+
+void tst_QGL::colormap()
+{
+ // Check the properties of the default empty colormap.
+ QGLColormap cmap1;
+ QVERIFY(cmap1.isEmpty());
+ QCOMPARE(cmap1.size(), 0);
+ QVERIFY(cmap1.entryRgb(0) == 0);
+ QVERIFY(cmap1.entryRgb(-1) == 0);
+ QVERIFY(cmap1.entryRgb(100) == 0);
+ QVERIFY(!cmap1.entryColor(0).isValid());
+ QVERIFY(!cmap1.entryColor(-1).isValid());
+ QVERIFY(!cmap1.entryColor(100).isValid());
+ QCOMPARE(cmap1.find(qRgb(255, 0, 0)), -1);
+ QCOMPARE(cmap1.findNearest(qRgb(255, 0, 0)), -1);
+
+ // Set an entry and re-test.
+ cmap1.setEntry(56, qRgb(255, 0, 0));
+ // The colormap is still considered "empty" even though it
+ // has entries in it now. The isEmpty() method is used to
+ // detect when the colormap is in use by a GL widget,
+ // not to detect when it is empty!
+ QVERIFY(cmap1.isEmpty());
+ QCOMPARE(cmap1.size(), 256);
+ QVERIFY(cmap1.entryRgb(0) == 0);
+ QVERIFY(cmap1.entryColor(0) == QColor(0, 0, 0, 255));
+ QVERIFY(cmap1.entryRgb(56) == qRgb(255, 0, 0));
+ QVERIFY(cmap1.entryColor(56) == QColor(255, 0, 0, 255));
+ QCOMPARE(cmap1.find(qRgb(255, 0, 0)), 56);
+ QCOMPARE(cmap1.findNearest(qRgb(255, 0, 0)), 56);
+
+ // Set some more entries.
+ static QRgb const colors[] = {
+ qRgb(255, 0, 0),
+ qRgb(0, 255, 0),
+ qRgb(255, 255, 255),
+ qRgb(0, 0, 255),
+ qRgb(0, 0, 0)
+ };
+ cmap1.setEntry(57, QColor(0, 255, 0));
+ cmap1.setEntries(3, colors + 2, 58);
+ cmap1.setEntries(5, colors, 251);
+ int idx;
+ for (idx = 0; idx < 5; ++idx) {
+ QVERIFY(cmap1.entryRgb(56 + idx) == colors[idx]);
+ QVERIFY(cmap1.entryColor(56 + idx) == QColor(colors[idx]));
+ QVERIFY(cmap1.entryRgb(251 + idx) == colors[idx]);
+ QVERIFY(cmap1.entryColor(251 + idx) == QColor(colors[idx]));
+ }
+ QCOMPARE(cmap1.size(), 256);
+
+ // Perform color lookups.
+ QCOMPARE(cmap1.find(qRgb(255, 0, 0)), 56);
+ QCOMPARE(cmap1.find(qRgb(0, 0, 0)), 60); // Actually finds 0, 0, 0, 255.
+ QCOMPARE(cmap1.find(qRgba(0, 0, 0, 0)), 0);
+ QCOMPARE(cmap1.find(qRgb(0, 255, 0)), 57);
+ QCOMPARE(cmap1.find(qRgb(255, 255, 255)), 58);
+ QCOMPARE(cmap1.find(qRgb(0, 0, 255)), 59);
+ QCOMPARE(cmap1.find(qRgb(140, 0, 0)), -1);
+ QCOMPARE(cmap1.find(qRgb(0, 140, 0)), -1);
+ QCOMPARE(cmap1.find(qRgb(0, 0, 140)), -1);
+ QCOMPARE(cmap1.find(qRgb(64, 0, 0)), -1);
+ QCOMPARE(cmap1.find(qRgb(0, 64, 0)), -1);
+ QCOMPARE(cmap1.find(qRgb(0, 0, 64)), -1);
+ QCOMPARE(cmap1.findNearest(qRgb(255, 0, 0)), 56);
+ QCOMPARE(cmap1.findNearest(qRgb(0, 0, 0)), 60);
+ QCOMPARE(cmap1.findNearest(qRgba(0, 0, 0, 0)), 0);
+ QCOMPARE(cmap1.findNearest(qRgb(0, 255, 0)), 57);
+ QCOMPARE(cmap1.findNearest(qRgb(255, 255, 255)), 58);
+ QCOMPARE(cmap1.findNearest(qRgb(0, 0, 255)), 59);
+ QCOMPARE(cmap1.findNearest(qRgb(140, 0, 0)), 56);
+ QCOMPARE(cmap1.findNearest(qRgb(0, 140, 0)), 57);
+ QCOMPARE(cmap1.findNearest(qRgb(0, 0, 140)), 59);
+ QCOMPARE(cmap1.findNearest(qRgb(64, 0, 0)), 0);
+ QCOMPARE(cmap1.findNearest(qRgb(0, 64, 0)), 0);
+ QCOMPARE(cmap1.findNearest(qRgb(0, 0, 64)), 0);
+
+ // Make some copies of the colormap and check that they are the same.
+ QGLColormap cmap2(cmap1);
+ QGLColormap cmap3;
+ cmap3 = cmap1;
+ QVERIFY(cmap2.isEmpty());
+ QVERIFY(cmap3.isEmpty());
+ QCOMPARE(cmap2.size(), 256);
+ QCOMPARE(cmap3.size(), 256);
+ for (idx = 0; idx < 256; ++idx) {
+ QCOMPARE(cmap1.entryRgb(idx), cmap2.entryRgb(idx));
+ QCOMPARE(cmap1.entryRgb(idx), cmap3.entryRgb(idx));
+ }
+
+ // Modify an entry in one of the copies and recheck the original.
+ cmap2.setEntry(45, qRgb(255, 0, 0));
+ for (idx = 0; idx < 256; ++idx) {
+ if (idx != 45)
+ QCOMPARE(cmap1.entryRgb(idx), cmap2.entryRgb(idx));
+ else
+ QCOMPARE(cmap2.entryRgb(45), qRgb(255, 0, 0));
+ QCOMPARE(cmap1.entryRgb(idx), cmap3.entryRgb(idx));
+ }
+
+ // Check that setting the handle will cause isEmpty() to work right.
+ ColormapExtended cmap4;
+ cmap4.setEntry(56, qRgb(255, 0, 0));
+ QVERIFY(cmap4.isEmpty());
+ QCOMPARE(cmap4.size(), 256);
+ cmap4.setHandle(Qt::HANDLE(42));
+ QVERIFY(cmap4.handle() == Qt::HANDLE(42));
+ QVERIFY(!cmap4.isEmpty());
+ QCOMPARE(cmap4.size(), 256);
}
QTEST_MAIN(tst_QGL)
diff --git a/tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp b/tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp
index 5df4e9e..558688f 100644
--- a/tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp
+++ b/tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp
@@ -44,6 +44,7 @@
#include <private/qtextcontrol_p.h>
#include <private/qgraphicsitem_p.h>
+#include <private/qgraphicsview_p.h>
#include <QStyleOptionGraphicsItem>
#include <QAbstractTextDocumentLayout>
#include <QBitmap>
@@ -76,6 +77,46 @@ Q_DECLARE_METATYPE(QRectF)
#define Q_CHECK_PAINTEVENTS
#endif
+class EventSpy : public QGraphicsWidget
+{
+ Q_OBJECT
+public:
+ EventSpy(QObject *watched, QEvent::Type type)
+ : _count(0), spied(type)
+ {
+ watched->installEventFilter(this);
+ }
+
+ EventSpy(QGraphicsScene *scene, QGraphicsItem *watched, QEvent::Type type)
+ : _count(0), spied(type)
+ {
+ scene->addItem(this);
+ watched->installSceneEventFilter(this);
+ }
+
+ int count() const { return _count; }
+
+protected:
+ bool eventFilter(QObject *watched, QEvent *event)
+ {
+ Q_UNUSED(watched);
+ if (event->type() == spied)
+ ++_count;
+ return false;
+ }
+
+ bool sceneEventFilter(QGraphicsItem *watched, QEvent *event)
+ {
+ Q_UNUSED(watched);
+ if (event->type() == spied)
+ ++_count;
+ return false;
+ }
+
+ int _count;
+ QEvent::Type spied;
+};
+
class EventTester : public QGraphicsItem
{
public:
@@ -128,6 +169,7 @@ private slots:
void setParentItem();
void children();
void flags();
+ void inputMethodHints();
void toolTip();
void visible();
void explicitlyVisible();
@@ -182,6 +224,8 @@ private slots:
void handlesChildEvents();
void handlesChildEvents2();
void handlesChildEvents3();
+ void filtersChildEvents();
+ void filtersChildEvents2();
void ensureVisible();
void cursor();
//void textControlGetterSetter();
@@ -231,6 +275,11 @@ private slots:
void sorting_data();
void sorting();
void itemHasNoContents();
+ void hitTestUntransformableItem();
+ void focusProxy();
+ void autoDetectFocusProxy();
+ void subFocus();
+ void reverseCreateAutoFocusProxy();
// task specific tests below me
void task141694_textItemEnsureVisible();
@@ -712,6 +761,34 @@ void tst_QGraphicsItem::flags()
QApplication::sendEvent(&scene, &event5);
QCOMPARE(item->pos(), QPointF(10, 10));
}
+ {
+ QGraphicsItem* clippingParent = new QGraphicsRectItem;
+ clippingParent->setFlag(QGraphicsItem::ItemClipsChildrenToShape, true);
+
+ QGraphicsItem* nonClippingParent = new QGraphicsRectItem;
+ nonClippingParent->setFlag(QGraphicsItem::ItemClipsChildrenToShape, false);
+
+ QGraphicsItem* child = new QGraphicsRectItem(nonClippingParent);
+ QVERIFY(!child->isClipped());
+
+ child->setParentItem(clippingParent);
+ QVERIFY(child->isClipped());
+
+ child->setParentItem(nonClippingParent);
+ QVERIFY(!child->isClipped());
+ }
+}
+
+class ImhTester : public QGraphicsItem
+{
+ QRectF boundingRect() const { return QRectF(); }
+ void paint(QPainter *, const QStyleOptionGraphicsItem *, QWidget *) {}
+};
+
+void tst_QGraphicsItem::inputMethodHints()
+{
+ ImhTester item;
+ QCOMPARE(item.inputMethodHints(), Qt::ImhNone);
}
void tst_QGraphicsItem::toolTip()
@@ -3405,6 +3482,127 @@ void tst_QGraphicsItem::handlesChildEvents3()
QCOMPARE(group2->counter, 3);
}
+
+class ChildEventFilterTester : public ChildEventTester
+{
+public:
+ ChildEventFilterTester(const QRectF &rect, QGraphicsItem *parent = 0)
+ : ChildEventTester(rect, parent), filter(QEvent::None)
+ { }
+
+ QEvent::Type filter;
+
+protected:
+ bool sceneEventFilter(QGraphicsItem *item, QEvent *event)
+ {
+ Q_UNUSED(item);
+ if (event->type() == filter) {
+ ++counter;
+ return true;
+ }
+ return false;
+ }
+};
+
+void tst_QGraphicsItem::filtersChildEvents()
+{
+ QGraphicsScene scene;
+ ChildEventFilterTester *root = new ChildEventFilterTester(QRectF(0, 0, 10, 10));
+ ChildEventFilterTester *filter = new ChildEventFilterTester(QRectF(10, 10, 10, 10), root);
+ ChildEventTester *child = new ChildEventTester(QRectF(20, 20, 10, 10), filter);
+
+ // setup filter
+ filter->setFiltersChildEvents(true);
+ filter->filter = QEvent::GraphicsSceneMousePress;
+
+ scene.addItem(root);
+
+ QGraphicsView view(&scene);
+ view.show();
+
+ QTest::qWait(1000);
+
+ QGraphicsSceneMouseEvent pressEvent(QEvent::GraphicsSceneMousePress);
+ QGraphicsSceneMouseEvent releaseEvent(QEvent::GraphicsSceneMouseRelease);
+
+ // send event to child
+ pressEvent.setButton(Qt::LeftButton);
+ pressEvent.setScenePos(QPointF(25, 25));//child->mapToScene(5, 5));
+ pressEvent.setScreenPos(view.mapFromScene(pressEvent.scenePos()));
+ releaseEvent.setButton(Qt::LeftButton);
+ releaseEvent.setScenePos(QPointF(25, 25));//child->mapToScene(5, 5));
+ releaseEvent.setScreenPos(view.mapFromScene(pressEvent.scenePos()));
+ QApplication::sendEvent(&scene, &pressEvent);
+ QApplication::sendEvent(&scene, &releaseEvent);
+
+ QCOMPARE(child->counter, 1); // mouse release is not filtered
+ QCOMPARE(filter->counter, 1); // mouse press is filtered
+ QCOMPARE(root->counter, 0);
+
+ // add another filter
+ root->setFiltersChildEvents(true);
+ root->filter = QEvent::GraphicsSceneMouseRelease;
+
+ // send event to child
+ QApplication::sendEvent(&scene, &pressEvent);
+ QApplication::sendEvent(&scene, &releaseEvent);
+
+ QCOMPARE(child->counter, 1);
+ QCOMPARE(filter->counter, 2); // mouse press is filtered
+ QCOMPARE(root->counter, 1); // mouse release is filtered
+
+ // reparent to another sub-graph
+ ChildEventTester *parent = new ChildEventTester(QRectF(10, 10, 10, 10), root);
+ child->setParentItem(parent);
+
+ // send event to child
+ QApplication::sendEvent(&scene, &pressEvent);
+ QApplication::sendEvent(&scene, &releaseEvent);
+
+ QCOMPARE(child->counter, 2); // mouse press is _not_ filtered
+ QCOMPARE(parent->counter, 0);
+ QCOMPARE(filter->counter, 2);
+ QCOMPARE(root->counter, 2); // mouse release is filtered
+}
+
+void tst_QGraphicsItem::filtersChildEvents2()
+{
+ ChildEventFilterTester *root = new ChildEventFilterTester(QRectF(0, 0, 10, 10));
+ root->setFiltersChildEvents(true);
+ root->filter = QEvent::GraphicsSceneMousePress;
+ QVERIFY(root->filtersChildEvents());
+
+ ChildEventTester *child = new ChildEventTester(QRectF(0, 0, 10, 10), root);
+ QVERIFY(!child->filtersChildEvents());
+
+ ChildEventTester *child2 = new ChildEventTester(QRectF(0, 0, 10, 10));
+ ChildEventTester *child3 = new ChildEventTester(QRectF(0, 0, 10, 10), child2);
+ ChildEventTester *child4 = new ChildEventTester(QRectF(0, 0, 10, 10), child3);
+
+ child2->setParentItem(root);
+ QVERIFY(!child2->filtersChildEvents());
+ QVERIFY(!child3->filtersChildEvents());
+ QVERIFY(!child4->filtersChildEvents());
+
+ QGraphicsScene scene;
+ scene.addItem(root);
+
+ QGraphicsView view(&scene);
+ view.show();
+
+ QTestEventLoop::instance().enterLoop(1);
+
+ QMouseEvent event(QEvent::MouseButtonPress, view.mapFromScene(5, 5),
+ view.viewport()->mapToGlobal(view.mapFromScene(5, 5)), Qt::LeftButton, 0, 0);
+ QApplication::sendEvent(view.viewport(), &event);
+
+ QCOMPARE(child->counter, 0);
+ QCOMPARE(child2->counter, 0);
+ QCOMPARE(child3->counter, 0);
+ QCOMPARE(child4->counter, 0);
+ QCOMPARE(root->counter, 1);
+}
+
class CustomItem : public QGraphicsItem
{
public:
@@ -4354,14 +4552,13 @@ void tst_QGraphicsItem::paint()
view.hide();
QGraphicsScene scene2;
+ QGraphicsView view2(&scene2);
+ view2.show();
+ QTest::qWait(250);
PaintTester tester2;
scene2.addItem(&tester2);
-
- QGraphicsView view2(&scene2);
- view2.show();
qApp->processEvents();
- QTest::qWait(250);
//First show one paint
QVERIFY(tester2.painted == 1);
@@ -5446,11 +5643,12 @@ public:
void tst_QGraphicsItem::ensureUpdateOnTextItem()
{
QGraphicsScene scene;
- TextItem *text1 = new TextItem(QLatin1String("123"));
- scene.addItem(text1);
QGraphicsView view(&scene);
view.show();
QTest::qWait(250);
+ TextItem *text1 = new TextItem(QLatin1String("123"));
+ scene.addItem(text1);
+ qApp->processEvents();
QCOMPARE(text1->updates,1);
//same bouding rect but we have to update
@@ -5910,14 +6108,15 @@ void tst_QGraphicsItem::itemStacksBehindParent()
scene.addItem(parent1);
scene.addItem(parent2);
- paintedItems.clear();
-
QGraphicsView view(&scene);
view.show();
#ifdef Q_WS_X11
qt_x11_wait_for_window_manager(&view);
#endif
QTest::qWait(250);
+ paintedItems.clear();
+ view.viewport()->update();
+ QTest::qWait(100);
QCOMPARE(scene.items(0, 0, 100, 100), (QList<QGraphicsItem *>()
<< grandChild111 << child11
@@ -6580,6 +6779,7 @@ public:
void tst_QGraphicsItem::update()
{
QGraphicsScene scene;
+ scene.setSceneRect(-100, -100, 200, 200);
MyGraphicsView view(&scene);
view.show();
@@ -6612,9 +6812,9 @@ void tst_QGraphicsItem::update()
qApp->processEvents();
QCOMPARE(item->repaints, 1);
QCOMPARE(view.repaints, 1);
- const QRect itemDeviceBoundingRect = item->deviceTransform(view.viewportTransform())
- .mapRect(item->boundingRect()).toRect();
- const QRegion expectedRegion = itemDeviceBoundingRect.adjusted(-2, -2, 2, 2);
+ QRect itemDeviceBoundingRect = item->deviceTransform(view.viewportTransform())
+ .mapRect(item->boundingRect()).toRect();
+ QRegion expectedRegion = itemDeviceBoundingRect.adjusted(-2, -2, 2, 2);
// The entire item's bounding rect (adjusted for antialiasing) should have been painted.
QCOMPARE(view.paintedRegion, expectedRegion);
@@ -6625,49 +6825,110 @@ void tst_QGraphicsItem::update()
qApp->processEvents();
QCOMPARE(item->repaints, 0);
QCOMPARE(view.repaints, 0);
-}
-void tst_QGraphicsItem::setTransformProperties_data()
-{
- QTest::addColumn<QPointF>("origin");
- QTest::addColumn<qreal>("rotationX");
- QTest::addColumn<qreal>("rotationY");
- QTest::addColumn<qreal>("rotationZ");
- QTest::addColumn<qreal>("scaleX");
- QTest::addColumn<qreal>("scaleY");
- QTest::addColumn<qreal>("shearX");
- QTest::addColumn<qreal>("shearY");
+ // Make sure the area occupied by an item is repainted when hiding it.
+ view.reset();
+ item->repaints = 0;
+ item->update(); // Full update; all sub-sequent update requests are discarded.
+ item->hide(); // visible set to 0. ignoreVisible must be set to 1; the item won't be processed otherwise.
+ qApp->processEvents();
+ QCOMPARE(item->repaints, 0);
+ QCOMPARE(view.repaints, 1);
+ // The entire item's bounding rect (adjusted for antialiasing) should have been painted.
+ QCOMPARE(view.paintedRegion, expectedRegion);
- QTest::newRow("nothing") << QPointF() << qreal(0.0) << qreal(0.0) << qreal(0.0)
- << qreal(1.0) << qreal(1.0) << qreal(0.0) << qreal(0.0);
+ // Make sure item is repainted when shown (after being hidden).
+ view.reset();
+ item->repaints = 0;
+ item->show();
+ qApp->processEvents();
+ QCOMPARE(item->repaints, 1);
+ QCOMPARE(view.repaints, 1);
+ // The entire item's bounding rect (adjusted for antialiasing) should have been painted.
+ QCOMPARE(view.paintedRegion, expectedRegion);
- QTest::newRow("rotationZ") << QPointF() << qreal(0.0) << qreal(0.0) << qreal(42.2)
- << qreal(1.0) << qreal(1.0) << qreal(0.0) << qreal(0.0);
+ item->repaints = 0;
+ item->hide();
+ qApp->processEvents();
+ view.reset();
+ const QPointF originalPos = item->pos();
+ item->setPos(5000, 5000);
+ qApp->processEvents();
+ QCOMPARE(item->repaints, 0);
+ QCOMPARE(view.repaints, 0);
+ qApp->processEvents();
- QTest::newRow("rotationXY") << QPointF() << qreal(12.5) << qreal(53.6) << qreal(0.0)
- << qreal(1.0) << qreal(1.0) << qreal(0.0) << qreal(0.0);
+ item->setPos(originalPos);
+ qApp->processEvents();
+ QCOMPARE(item->repaints, 0);
+ QCOMPARE(view.repaints, 0);
+ item->show();
+ qApp->processEvents();
+ QCOMPARE(item->repaints, 1);
+ QCOMPARE(view.repaints, 1);
+ // The entire item's bounding rect (adjusted for antialiasing) should have been painted.
+ QCOMPARE(view.paintedRegion, expectedRegion);
- QTest::newRow("rotationXYZ") << QPointF() << qreal(-25) << qreal(12) << qreal(556)
- << qreal(1.0) << qreal(1.0) << qreal(0.0) << qreal(0.0);
+ QGraphicsViewPrivate *viewPrivate = static_cast<QGraphicsViewPrivate *>(qt_widget_private(&view));
+ item->setPos(originalPos + QPoint(50, 50));
+ viewPrivate->updateAll();
+ QVERIFY(viewPrivate->fullUpdatePending);
+ QTest::qWait(50);
+ item->repaints = 0;
+ view.reset();
+ item->setPos(originalPos);
+ QTest::qWait(50);
+ qApp->processEvents();
+ QCOMPARE(item->repaints, 1);
+ QCOMPARE(view.repaints, 1);
+ QCOMPARE(view.paintedRegion, expectedRegion + expectedRegion.translated(50, 50));
+
+ // Make sure moving a parent item triggers an update on the children
+ // (even though the parent itself is outside the viewport).
+ QGraphicsRectItem *parent = new QGraphicsRectItem(0, 0, 10, 10);
+ parent->setPos(-400, 0);
+ item->setParentItem(parent);
+ item->setPos(400, 0);
+ scene.addItem(parent);
+ QTest::qWait(50);
+ itemDeviceBoundingRect = item->deviceTransform(view.viewportTransform())
+ .mapRect(item->boundingRect()).toRect();
+ expectedRegion = itemDeviceBoundingRect.adjusted(-2, -2, 2, 2);
+ view.reset();
+ item->repaints = 0;
+ parent->translate(-400, 0);
+ qApp->processEvents();
+ QCOMPARE(item->repaints, 0);
+ QCOMPARE(view.repaints, 1);
+ QCOMPARE(view.paintedRegion, expectedRegion);
+ view.reset();
+ item->repaints = 0;
+ parent->translate(400, 0);
+ qApp->processEvents();
+ QCOMPARE(item->repaints, 1);
+ QCOMPARE(view.repaints, 1);
+ QCOMPARE(view.paintedRegion, expectedRegion);
+ QCOMPARE(view.paintedRegion, expectedRegion);
+}
- QTest::newRow("rotationXYZ dicentred") << QPointF(-53, 25.2)
- << qreal(-2578.2) << qreal(4565.2) << qreal(56)
- << qreal(1.0) << qreal(1.0) << qreal(0.0) << qreal(0.0);
+void tst_QGraphicsItem::setTransformProperties_data()
+{
+ QTest::addColumn<QPointF>("origin");
+ QTest::addColumn<qreal>("rotation");
+ QTest::addColumn<qreal>("scale");
- QTest::newRow("Scale") << QPointF() << qreal(0.0) << qreal(0.0) << qreal(0.0)
- << qreal(6) << qreal(0.5) << qreal(0.0) << qreal(0.0);
+ QTest::newRow("nothing") << QPointF() << qreal(0.0) << qreal(1.0);
- QTest::newRow("Shear") << QPointF() << qreal(0.0) << qreal(0.0) << qreal(0.0)
- << qreal(1.0) << qreal(1.0) << qreal(2.2) << qreal(0.5);
+ QTest::newRow("rotation") << QPointF() << qreal(42.2) << qreal(1.0);
- QTest::newRow("Scale and Shear") << QPointF() << qreal(0.0) << qreal(0.0) << qreal(0.0)
- << qreal(5.2) << qreal(2.1) << qreal(5.2) << qreal(5.5);
+ QTest::newRow("rotation dicentred") << QPointF(qreal(22.3), qreal(-56.2))
+ << qreal(-2578.2)
+ << qreal(1.0);
- QTest::newRow("Everything") << QPointF() << qreal(41) << qreal(-23) << qreal(0.56)
- << qreal(8.2) << qreal(-0.2) << qreal(-12) << qreal(-0.8);
+ QTest::newRow("Scale") << QPointF() << qreal(0.0)
+ << qreal(6);
- QTest::newRow("Everything dicentred") << QPointF(qreal(22.3), qreal(-56.2)) << qreal(-175) << qreal(196) << qreal(-1260)
- << qreal(4) << qreal(2) << qreal(2.56) << qreal(0.8);
+ QTest::newRow("Everything dicentred") << QPointF(qreal(22.3), qreal(-56.2)) << qreal(-175) << qreal(196);
}
/**
@@ -6678,92 +6939,61 @@ void tst_QGraphicsItem::setTransformProperties_data()
void tst_QGraphicsItem::setTransformProperties()
{
QFETCH(QPointF,origin);
- QFETCH(qreal,rotationX);
- QFETCH(qreal,rotationY);
- QFETCH(qreal,rotationZ);
- QFETCH(qreal,scaleX);
- QFETCH(qreal,scaleY);
- QFETCH(qreal,shearX);
- QFETCH(qreal,shearY);
+ QFETCH(qreal,rotation);
+ QFETCH(qreal,scale);
QTransform result;
result.translate(origin.x(), origin.y());
- result.rotate(rotationX, Qt::XAxis);
- result.rotate(rotationY, Qt::YAxis);
- result.rotate(rotationZ, Qt::ZAxis);
- result.shear(shearX, shearY);
- result.scale(scaleX, scaleY);
+ result.rotate(rotation, Qt::ZAxis);
+ result.scale(scale, scale);
result.translate(-origin.x(), -origin.y());
QGraphicsScene scene;
QGraphicsRectItem *item = new QGraphicsRectItem(QRectF(0, 0, 100, 100));
scene.addItem(item);
- item->setRotation(rotationX, rotationY, rotationZ);
- item->setScale(scaleX, scaleY);
- item->setShear(shearX, shearY);
- item->setTransformOrigin(origin);
+ item->setRotation(rotation);
+ item->setScale(scale);
+ item->setTransformOriginPoint(origin);
- QCOMPARE(item->xRotation(), rotationX);
- QCOMPARE(item->yRotation(), rotationY);
- QCOMPARE(item->zRotation(), rotationZ);
- QCOMPARE(item->xScale(), scaleX);
- QCOMPARE(item->yScale(), scaleY);
- QCOMPARE(item->horizontalShear(), shearX);
- QCOMPARE(item->verticalShear(), shearY);
- QCOMPARE(item->transformOrigin(), origin);
+ QCOMPARE(item->rotation(), rotation);
+ QCOMPARE(item->scale(), scale);
+ QCOMPARE(item->transformOriginPoint(), origin);
QCOMPARE(QTransform(), item->transform());
QCOMPARE(result, item->sceneTransform());
//-----------------------------------------------------------------
//Change the rotation Z
- item->setZRotation(45);
+ item->setRotation(45);
QTransform result2;
result2.translate(origin.x(), origin.y());
- result2.rotate(rotationX, Qt::XAxis);
- result2.rotate(rotationY, Qt::YAxis);
- result2.rotate(45, Qt::ZAxis);
- result2.shear(shearX, shearY);
- result2.scale(scaleX, scaleY);
+ result2.rotate(45);
+ result2.scale(scale, scale);
result2.translate(-origin.x(), -origin.y());
- QCOMPARE(item->xRotation(), rotationX);
- QCOMPARE(item->yRotation(), rotationY);
- QCOMPARE(item->zRotation(), 45.0);
- QCOMPARE(item->xScale(), scaleX);
- QCOMPARE(item->yScale(), scaleY);
- QCOMPARE(item->horizontalShear(), shearX);
- QCOMPARE(item->verticalShear(), shearY);
- QCOMPARE(item->transformOrigin(), origin);
+ QCOMPARE(item->rotation(), 45.);
+ QCOMPARE(item->scale(), scale);
+ QCOMPARE(item->transformOriginPoint(), origin);
QCOMPARE(QTransform(), item->transform());
QCOMPARE(result2, item->sceneTransform());
//-----------------------------------------------------------------
- // calling setTransform() and setPos shoukld change the sceneTransform
+ // calling setTransform() and setPos should change the sceneTransform
item->setTransform(result);
item->setPos(100, -150.5);
- QCOMPARE(item->xRotation(), rotationX);
- QCOMPARE(item->yRotation(), rotationY);
- QCOMPARE(item->zRotation(), 45.0);
- QCOMPARE(item->xScale(), scaleX);
- QCOMPARE(item->yScale(), scaleY);
- QCOMPARE(item->horizontalShear(), shearX);
- QCOMPARE(item->verticalShear(), shearY);
- QCOMPARE(item->transformOrigin(), origin);
+ QCOMPARE(item->rotation(), 45.);
+ QCOMPARE(item->scale(), scale);
+ QCOMPARE(item->transformOriginPoint(), origin);
QCOMPARE(result, item->transform());
- QTransform result3;
+ QTransform result3(result);
result3.translate(origin.x(), origin.y());
- result3 = result * result3;
- result3.rotate(rotationX, Qt::XAxis);
- result3.rotate(rotationY, Qt::YAxis);
- result3.rotate(45, Qt::ZAxis);
- result3.shear(shearX, shearY);
- result3.scale(scaleX, scaleY);
+ result3.rotate(45);
+ result3.scale(scale, scale);
result3.translate(-origin.x(), -origin.y());
result3 *= QTransform::fromTranslate(100, -150.5); //the pos;
@@ -6780,10 +7010,9 @@ void tst_QGraphicsItem::setTransformProperties()
item1->setPos(12.3, -5);
item2->setPos(12.3, -5);
- item1->setRotation(rotationX, rotationY, rotationZ);
- item1->setScale(scaleX, scaleY);
- item1->setShear(shearX, shearY);
- item1->setTransformOrigin(origin);
+ item1->setRotation(rotation);
+ item1->setScale(scale);
+ item1->setTransformOriginPoint(origin);
item2->setTransform(result);
@@ -6792,36 +7021,6 @@ void tst_QGraphicsItem::setTransformProperties()
QCOMPARE_TRANSFORM(item1->itemTransform(item2), QTransform());
QCOMPARE_TRANSFORM(item2->itemTransform(item1), QTransform());
}
-
- {//with center origin on the item
- QGraphicsRectItem *item1 = new QGraphicsRectItem(QRectF(50.2, -150, 230.5, 119));
- scene.addItem(item1);
- QGraphicsRectItem *item2 = new QGraphicsRectItem(QRectF(50.2, -150, 230.5, 119));
- scene.addItem(item2);
-
- item1->setPos(12.3, -5);
- item2->setPos(12.3, -5);
- item1->setTransformOrigin(origin);
- item2->setTransformOrigin(origin);
-
- item1->setRotation(rotationX, rotationY, rotationZ);
- item1->setScale(scaleX, scaleY);
- item1->setShear(shearX, shearY);
-
- QTransform tr;
- tr.rotate(rotationX, Qt::XAxis);
- tr.rotate(rotationY, Qt::YAxis);
- tr.rotate(rotationZ, Qt::ZAxis);
- tr.shear(shearX, shearY);
- tr.scale(scaleX, scaleY);
-
- item2->setTransform(tr);
-
- QCOMPARE_TRANSFORM(item1->sceneTransform(), item2->sceneTransform());
-
- QCOMPARE_TRANSFORM(item1->itemTransform(item2), QTransform());
- QCOMPARE_TRANSFORM(item2->itemTransform(item1), QTransform());
- }
}
class MyStyleOptionTester : public QGraphicsRectItem
@@ -6837,9 +7036,11 @@ public:
//Doesn't use the extended style option so the exposed rect is the boundingRect
if (!(flags() & QGraphicsItem::ItemUsesExtendedStyleOption)) {
QCOMPARE(option->exposedRect, boundingRect());
+ QCOMPARE(option->matrix, QMatrix());
} else {
QVERIFY(option->exposedRect != QRect());
QVERIFY(option->exposedRect != boundingRect());
+ QCOMPARE(option->matrix, sceneTransform().toAffine());
}
}
QGraphicsRectItem::paint(painter, option, widget);
@@ -6861,6 +7062,8 @@ void tst_QGraphicsItem::itemUsesExtendedStyleOption()
scene.addItem(rect);
rect->setPos(200, 200);
QGraphicsView view(&scene);
+ rect->startTrack = false;
+ view.show();
QTest::qWait(500);
rect->startTrack = true;
rect->update(10, 10, 10, 10);
@@ -7023,7 +7226,7 @@ void tst_QGraphicsItem::sorting()
QGraphicsView view(&scene);
view.setResizeAnchor(QGraphicsView::NoAnchor);
view.setTransformationAnchor(QGraphicsView::NoAnchor);
- view.resize(100, 100);
+ view.resize(120, 100);
view.setFrameStyle(0);
view.show();
#ifdef Q_WS_X11
@@ -7034,12 +7237,18 @@ void tst_QGraphicsItem::sorting()
_paintedItems.clear();
view.viewport()->repaint();
+#ifdef Q_WS_MAC
+ // There's no difference between repaint and update on the Mac,
+ // so we have to process events here to make sure we get the event.
+ QTest::qWait(100);
+#endif
QCOMPARE(_paintedItems, QList<QGraphicsItem *>()
<< grid[0][0] << grid[0][1] << grid[0][2] << grid[0][3]
<< grid[1][0] << grid[1][1] << grid[1][2] << grid[1][3]
<< grid[2][0] << grid[2][1] << grid[2][2] << grid[2][3]
<< grid[3][0] << grid[3][1] << grid[3][2] << grid[3][3]
+ << grid[4][0] << grid[4][1] << grid[4][2] << grid[4][3]
<< item1 << item2);
}
@@ -7065,9 +7274,247 @@ void tst_QGraphicsItem::itemHasNoContents()
_paintedItems.clear();
view.viewport()->repaint();
+#ifdef Q_WS_MAC
+ // There's no difference between update() and repaint() on the Mac,
+ // so we have to process events here to make sure we get the event.
+ QTest::qWait(100);
+#endif
QCOMPARE(_paintedItems, QList<QGraphicsItem *>() << item2);
}
+void tst_QGraphicsItem::hitTestUntransformableItem()
+{
+ QGraphicsScene scene;
+ scene.setSceneRect(-100, -100, 200, 200);
+
+ QGraphicsView view(&scene);
+ view.show();
+#ifdef Q_WS_X11
+ qt_x11_wait_for_window_manager(&view);
+#endif
+ QTest::qWait(100);
+
+ // Confuse the BSP with dummy items.
+ QGraphicsRectItem *dummy = new QGraphicsRectItem(0, 0, 20, 20);
+ dummy->setPos(-100, -100);
+ scene.addItem(dummy);
+ for (int i = 0; i < 100; ++i) {
+ QGraphicsItem *parent = dummy;
+ dummy = new QGraphicsRectItem(0, 0, 20, 20);
+ dummy->setPos(-100 + i, -100 + i);
+ dummy->setParentItem(parent);
+ }
+
+ QGraphicsRectItem *item1 = new QGraphicsRectItem(0, 0, 20, 20);
+ item1->setPos(-200, -200);
+
+ QGraphicsRectItem *item2 = new QGraphicsRectItem(0, 0, 20, 20);
+ item2->setFlag(QGraphicsItem::ItemIgnoresTransformations);
+ item2->setParentItem(item1);
+ item2->setPos(200, 200);
+
+ QGraphicsRectItem *item3 = new QGraphicsRectItem(0, 0, 20, 20);
+ item3->setParentItem(item2);
+ item3->setPos(80, 80);
+
+ scene.addItem(item1);
+ QTest::qWait(100);
+
+ QList<QGraphicsItem *> items = scene.items(QPointF(80, 80));
+ QCOMPARE(items.size(), 1);
+ QCOMPARE(items.at(0), static_cast<QGraphicsItem*>(item3));
+
+ scene.setItemIndexMethod(QGraphicsScene::NoIndex);
+ QTest::qWait(100);
+
+ items = scene.items(QPointF(80, 80));
+ QCOMPARE(items.size(), 1);
+ QCOMPARE(items.at(0), static_cast<QGraphicsItem*>(item3));
+}
+
+void tst_QGraphicsItem::focusProxy()
+{
+ QGraphicsScene scene;
+ QGraphicsItem *item = scene.addRect(0, 0, 10, 10);
+ item->setFlag(QGraphicsItem::ItemIsFocusable);
+ QVERIFY(!item->focusProxy());
+
+ QGraphicsItem *item2 = scene.addRect(0, 0, 10, 10);
+ item2->setFlag(QGraphicsItem::ItemIsFocusable);
+ item->setFocusProxy(item2);
+ QCOMPARE(item->focusProxy(), item2);
+
+ item->setFocus();
+ QVERIFY(item->hasFocus());
+ QVERIFY(item2->hasFocus());
+
+ // Try to make a focus chain loop
+ QString err;
+ QTextStream stream(&err);
+ stream << "QGraphicsItem::setFocusProxy: "
+ << (void*)item << " is already in the focus proxy chain" << flush;
+ QTest::ignoreMessage(QtWarningMsg, err.toLatin1().constData());
+ item2->setFocusProxy(item); // fails
+ QCOMPARE(item->focusProxy(), (QGraphicsItem *)item2);
+ QCOMPARE(item2->focusProxy(), (QGraphicsItem *)0);
+
+ // Try to assign self as focus proxy
+ QTest::ignoreMessage(QtWarningMsg, "QGraphicsItem::setFocusProxy: cannot assign self as focus proxy");
+ item->setFocusProxy(item); // fails
+ QCOMPARE(item->focusProxy(), (QGraphicsItem *)item2);
+ QCOMPARE(item2->focusProxy(), (QGraphicsItem *)0);
+
+ // Reset the focus proxy
+ item->setFocusProxy(0);
+ QCOMPARE(item->focusProxy(), (QGraphicsItem *)0);
+ QVERIFY(!item->hasFocus());
+ QVERIFY(item2->hasFocus());
+
+ // Test deletion
+ item->setFocusProxy(item2);
+ QCOMPARE(item->focusProxy(), (QGraphicsItem *)item2);
+ delete item2;
+ QCOMPARE(item->focusProxy(), (QGraphicsItem *)0);
+
+ // Test event delivery
+ item2 = scene.addRect(0, 0, 10, 10);
+ item2->setFlag(QGraphicsItem::ItemIsFocusable);
+ item->setFocusProxy(item2);
+ item->clearFocus();
+
+ EventSpy focusInSpy(&scene, item, QEvent::FocusIn);
+ EventSpy focusOutSpy(&scene, item, QEvent::FocusOut);
+ EventSpy focusInSpy2(&scene, item2, QEvent::FocusIn);
+ EventSpy focusOutSpy2(&scene, item2, QEvent::FocusOut);
+ QCOMPARE(focusInSpy.count(), 0);
+ QCOMPARE(focusOutSpy.count(), 0);
+ QCOMPARE(focusInSpy2.count(), 0);
+ QCOMPARE(focusOutSpy2.count(), 0);
+
+ item->setFocus();
+ QCOMPARE(focusInSpy.count(), 0);
+ QCOMPARE(focusInSpy2.count(), 1);
+ item->clearFocus();
+ QCOMPARE(focusOutSpy.count(), 0);
+ QCOMPARE(focusOutSpy2.count(), 1);
+
+ // Test two items proxying one item.
+ QGraphicsItem *item3 = scene.addRect(0, 0, 10, 10);
+ item3->setFlag(QGraphicsItem::ItemIsFocusable);
+ item3->setFocusProxy(item2); // item and item3 use item2 as proxy
+
+ QCOMPARE(item->focusProxy(), item2);
+ QCOMPARE(item2->focusProxy(), (QGraphicsItem *)0);
+ QCOMPARE(item3->focusProxy(), item2);
+ delete item2;
+ QCOMPARE(item->focusProxy(), (QGraphicsItem *)0);
+ QCOMPARE(item3->focusProxy(), (QGraphicsItem *)0);
+}
+
+void tst_QGraphicsItem::autoDetectFocusProxy()
+{
+ QGraphicsScene scene;
+ QGraphicsItem *item = scene.addRect(0, 0, 10, 10);
+ item->setFlag(QGraphicsItem::ItemIsFocusable);
+
+ QGraphicsItem *item2 = scene.addRect(0, 0, 10, 10);
+ item2->setParentItem(item);
+ item2->setFlag(QGraphicsItem::ItemIsFocusable);
+
+ QGraphicsItem *item3 = scene.addRect(0, 0, 10, 10);
+ item3->setParentItem(item2);
+ item3->setFlag(QGraphicsItem::ItemIsFocusable);
+
+ item->setFlag(QGraphicsItem::ItemAutoDetectsFocusProxy);
+ QCOMPARE(item->focusProxy(), (QGraphicsItem *)0);
+
+ item2->setFocus();
+ QCOMPARE(item->focusProxy(), item2);
+ item3->setFocus();
+ QCOMPARE(item->focusProxy(), item3);
+ item3->clearFocus();
+ QCOMPARE(item->focusProxy(), item3);
+}
+
+void tst_QGraphicsItem::subFocus()
+{
+ // Construct a text item that's not part of a scene (yet)
+ // and has no parent. Setting focus on it will not make
+ // the item gain input focus; that requires a scene. But
+ // it does set subfocus, indicating that the item wishes
+ // to gain focus later.
+ QGraphicsTextItem *text = new QGraphicsTextItem("Hello");
+ text->setTextInteractionFlags(Qt::TextEditorInteraction);
+ QVERIFY(!text->hasFocus());
+ text->setFocus();
+ QVERIFY(!text->hasFocus());
+ QCOMPARE(text->focusItem(), (QGraphicsItem *)text);
+
+ // Add a sibling.
+ QGraphicsTextItem *text2 = new QGraphicsTextItem("Hi");
+ text2->setTextInteractionFlags(Qt::TextEditorInteraction);
+ text2->setPos(30, 30);
+
+ // Add both items to a scene and check that it's text that
+ // got input focus.
+ QGraphicsScene scene;
+ scene.addItem(text);
+ scene.addItem(text2);
+ QVERIFY(text->hasFocus());
+
+ text->setData(0, "text");
+ text2->setData(0, "text2");
+
+ // Remove text2 and set subfocus on it. Then readd. Reparent it onto the
+ // other item and see that although it becomes text's focus
+ // item, it does not immediately gain input focus.
+ scene.removeItem(text2);
+ text2->setFocus();
+ scene.addItem(text2);
+ QCOMPARE(text2->focusItem(), (QGraphicsItem *)text2);
+ text2->setParentItem(text);
+ qDebug() << text->data(0).toString() << (void*)(QGraphicsItem *)text;
+ qDebug() << text2->data(0).toString() << (void*)(QGraphicsItem *)text2;
+ QCOMPARE(text->focusItem(), (QGraphicsItem *)text2);
+ QVERIFY(text->hasFocus());
+ QVERIFY(!text2->hasFocus());
+
+ // Remove both items from the scene, restore subfocus and
+ // readd them. Now the subfocus should kick in and give
+ // text2 focus.
+ scene.removeItem(text);
+ QCOMPARE(text->focusItem(), (QGraphicsItem *)0);
+ QCOMPARE(text2->focusItem(), (QGraphicsItem *)0);
+ text2->setFocus();
+ QCOMPARE(text->focusItem(), (QGraphicsItem *)text2);
+ QCOMPARE(text2->focusItem(), (QGraphicsItem *)text2);
+ scene.addItem(text);
+
+ // Hiding and showing text should pass focus to text2.
+ QCOMPARE(text->focusItem(), (QGraphicsItem *)text2);
+ QVERIFY(text2->hasFocus());
+}
+
+void tst_QGraphicsItem::reverseCreateAutoFocusProxy()
+{
+ QGraphicsTextItem *text = new QGraphicsTextItem;
+ text->setTextInteractionFlags(Qt::TextEditorInteraction);
+ text->setFlag(QGraphicsItem::ItemAutoDetectsFocusProxy);
+
+ QGraphicsTextItem *text2 = new QGraphicsTextItem;
+ text2->setTextInteractionFlags(Qt::TextEditorInteraction);
+ text2->setFocus();
+ QVERIFY(!text2->hasFocus());
+ QCOMPARE(text->focusProxy(), (QGraphicsItem *)0);
+ text2->setParentItem(text);
+ QCOMPARE(text->focusProxy(), (QGraphicsItem *)text2);
+ QCOMPARE(text->focusItem(), (QGraphicsItem *)text2);
+
+ QGraphicsScene scene;
+ scene.addItem(text);
+ QVERIFY(text2->hasFocus());
+}
+
QTEST_MAIN(tst_QGraphicsItem)
#include "tst_qgraphicsitem.moc"
diff --git a/tests/auto/qgraphicslayout/tst_qgraphicslayout.cpp b/tests/auto/qgraphicslayout/tst_qgraphicslayout.cpp
index ea2646e..29c1491 100644
--- a/tests/auto/qgraphicslayout/tst_qgraphicslayout.cpp
+++ b/tests/auto/qgraphicslayout/tst_qgraphicslayout.cpp
@@ -687,7 +687,6 @@ void tst_QGraphicsLayout::ownership()
delete top;
//don't crash after that.
}
-
}
QTEST_MAIN(tst_QGraphicsLayout)
diff --git a/tests/auto/qgraphicsproxywidget/tst_qgraphicsproxywidget.cpp b/tests/auto/qgraphicsproxywidget/tst_qgraphicsproxywidget.cpp
index b07d87e..f436551 100644
--- a/tests/auto/qgraphicsproxywidget/tst_qgraphicsproxywidget.cpp
+++ b/tests/auto/qgraphicsproxywidget/tst_qgraphicsproxywidget.cpp
@@ -178,6 +178,8 @@ private slots:
void windowFlags_data();
void windowFlags();
void comboboxWindowFlags();
+ void updateAndDelete();
+ void inputMethod();
};
// Subclass that exposes the protected functions.
@@ -1572,7 +1574,7 @@ void tst_QGraphicsProxyWidget::resize_simple()
QGraphicsProxyWidget proxy;
QWidget *widget = new QWidget;
- widget->setGeometry(0, 0, size.width(), size.height());
+ widget->setGeometry(0, 0, (int)size.width(), (int)size.height());
proxy.setWidget(widget);
widget->show();
QCOMPARE(widget->pos(), QPoint());
@@ -3217,6 +3219,86 @@ void tst_QGraphicsProxyWidget::comboboxWindowFlags()
QVERIFY((static_cast<QGraphicsWidget *>(popupProxy)->windowFlags() & Qt::Popup) == Qt::Popup);
}
+void tst_QGraphicsProxyWidget::updateAndDelete()
+{
+ QGraphicsScene scene;
+ QGraphicsProxyWidget *proxy = scene.addWidget(new QPushButton("Hello World"));
+ View view(&scene);
+ view.show();
+#ifdef Q_WS_X11
+ qt_x11_wait_for_window_manager(&view);
+#endif
+ QTest::qWait(200);
+
+ const QRect itemDeviceBoundingRect = proxy->deviceTransform(view.viewportTransform())
+ .mapRect(proxy->boundingRect()).toRect();
+ const QRegion expectedRegion = itemDeviceBoundingRect.adjusted(-2, -2, 2, 2);
+
+ view.npaints = 0;
+ view.paintEventRegion = QRegion();
+
+ // Update and hide.
+ proxy->update();
+ proxy->hide();
+ QTest::qWait(50);
+ QCOMPARE(view.npaints, 1);
+ QCOMPARE(view.paintEventRegion, expectedRegion);
+
+ proxy->show();
+ QTest::qWait(50);
+ view.npaints = 0;
+ view.paintEventRegion = QRegion();
+
+ // Update and delete.
+ proxy->update();
+ delete proxy;
+ QTest::qWait(50);
+ QCOMPARE(view.npaints, 1);
+ QCOMPARE(view.paintEventRegion, expectedRegion);
+}
+
+class InputMethod_LineEdit : public QLineEdit
+{
+ bool event(QEvent *e)
+ {
+ if (e->type() == QEvent::InputMethod)
+ ++inputMethodEvents;
+ return QLineEdit::event(e);
+ }
+public:
+ int inputMethodEvents;
+};
+
+void tst_QGraphicsProxyWidget::inputMethod()
+{
+ QGraphicsScene scene;
+
+ // check that the proxy is initialized with the correct input method sensitivity
+ for (int i = 0; i < 2; ++i)
+ {
+ QLineEdit *lineEdit = new QLineEdit;
+ lineEdit->setAttribute(Qt::WA_InputMethodEnabled, !!i);
+ QGraphicsProxyWidget *proxy = scene.addWidget(lineEdit);
+ QCOMPARE(!!(proxy->flags() & QGraphicsItem::ItemAcceptsInputMethod), !!i);
+ }
+
+ // check that input method events are only forwarded to widgets with focus
+ for (int i = 0; i < 2; ++i)
+ {
+ InputMethod_LineEdit *lineEdit = new InputMethod_LineEdit;
+ lineEdit->setAttribute(Qt::WA_InputMethodEnabled, true);
+ QGraphicsProxyWidget *proxy = scene.addWidget(lineEdit);
+
+ if (i)
+ lineEdit->setFocus();
+
+ lineEdit->inputMethodEvents = 0;
+ QInputMethodEvent event;
+ qApp->sendEvent(proxy, &event);
+ QCOMPARE(lineEdit->inputMethodEvents, i);
+ }
+}
+
QTEST_MAIN(tst_QGraphicsProxyWidget)
#include "tst_qgraphicsproxywidget.moc"
diff --git a/tests/auto/qgraphicsscene/tst_qgraphicsscene.cpp b/tests/auto/qgraphicsscene/tst_qgraphicsscene.cpp
index 617177f..d3b8883 100644
--- a/tests/auto/qgraphicsscene/tst_qgraphicsscene.cpp
+++ b/tests/auto/qgraphicsscene/tst_qgraphicsscene.cpp
@@ -147,7 +147,7 @@ protected:
}
};
-class EventSpy : public QObject
+class EventSpy : public QGraphicsWidget
{
Q_OBJECT
public:
@@ -157,6 +157,13 @@ public:
watched->installEventFilter(this);
}
+ EventSpy(QGraphicsScene *scene, QGraphicsItem *watched, QEvent::Type type)
+ : _count(0), spied(type)
+ {
+ scene->addItem(this);
+ watched->installSceneEventFilter(this);
+ }
+
int count() const { return _count; }
protected:
@@ -168,6 +175,14 @@ protected:
return false;
}
+ bool sceneEventFilter(QGraphicsItem *watched, QEvent *event)
+ {
+ Q_UNUSED(watched);
+ if (event->type() == spied)
+ ++_count;
+ return false;
+ }
+
int _count;
QEvent::Type spied;
};
@@ -229,6 +244,7 @@ private slots:
void contextMenuEvent();
void contextMenuEvent_ItemIgnoresTransformations();
void update();
+ void update2();
void views();
void event();
void eventsToDisabledItems();
@@ -244,6 +260,10 @@ private slots:
void changedSignal();
void stickyFocus_data();
void stickyFocus();
+ void sendEvent();
+ void inputMethod_data();
+ void inputMethod();
+ void dispatchHoverOnPress();
// task specific tests below me
void task139710_bspTreeCrash();
@@ -279,28 +299,46 @@ void tst_QGraphicsScene::construction()
void tst_QGraphicsScene::sceneRect()
{
QGraphicsScene scene;
+ QSignalSpy sceneRectChanged(&scene, SIGNAL(sceneRectChanged(QRectF)));
QCOMPARE(scene.sceneRect(), QRectF());
+ QCOMPARE(sceneRectChanged.count(), 0);
QGraphicsItem *item = scene.addRect(QRectF(0, 0, 10, 10));
- qApp->processEvents();
item->setPos(-5, -5);
- qApp->processEvents();
+ QCOMPARE(sceneRectChanged.count(), 0);
QCOMPARE(scene.itemAt(0, 0), item);
QCOMPARE(scene.itemAt(10, 10), (QGraphicsItem *)0);
+ QCOMPARE(sceneRectChanged.count(), 0);
+ QCOMPARE(scene.sceneRect(), QRectF(-5, -5, 10, 10));
+ QCOMPARE(sceneRectChanged.count(), 1);
+ QCOMPARE(sceneRectChanged.last().at(0).toRectF(), scene.sceneRect());
+
+ item->setPos(0, 0);
QCOMPARE(scene.sceneRect(), QRectF(-5, -5, 15, 15));
+ QCOMPARE(sceneRectChanged.count(), 2);
+ QCOMPARE(sceneRectChanged.last().at(0).toRectF(), scene.sceneRect());
scene.setSceneRect(-100, -100, 10, 10);
+ QCOMPARE(sceneRectChanged.count(), 3);
+ QCOMPARE(sceneRectChanged.last().at(0).toRectF(), scene.sceneRect());
QCOMPARE(scene.itemAt(0, 0), item);
QCOMPARE(scene.itemAt(10, 10), (QGraphicsItem *)0);
QCOMPARE(scene.sceneRect(), QRectF(-100, -100, 10, 10));
+ item->setPos(10, 10);
+ QCOMPARE(scene.sceneRect(), QRectF(-100, -100, 10, 10));
+ QCOMPARE(sceneRectChanged.count(), 3);
+ QCOMPARE(sceneRectChanged.last().at(0).toRectF(), scene.sceneRect());
scene.setSceneRect(QRectF());
- QCOMPARE(scene.itemAt(0, 0), item);
- QCOMPARE(scene.itemAt(10, 10), (QGraphicsItem *)0);
- QCOMPARE(scene.sceneRect(), QRectF(-5, -5, 15, 15));
+ QCOMPARE(scene.itemAt(10, 10), item);
+ QCOMPARE(scene.itemAt(20, 20), (QGraphicsItem *)0);
+ QCOMPARE(sceneRectChanged.count(), 4);
+ QCOMPARE(scene.sceneRect(), QRectF(-5, -5, 25, 25));
+ QCOMPARE(sceneRectChanged.count(), 5);
+ QCOMPARE(sceneRectChanged.last().at(0).toRectF(), scene.sceneRect());
}
void tst_QGraphicsScene::itemIndexMethod()
@@ -389,8 +427,7 @@ void tst_QGraphicsScene::items()
for (int x = minX; x < maxX; x += 100)
items << scene.addRect(QRectF(0, 0, 10, 10));
}
-
- QCOMPARE(scene.items(), items);
+ QCOMPARE(scene.items().size(), items.size());
scene.itemAt(0, 0); // trigger indexing
scene.removeItem(items.at(5));
@@ -405,6 +442,9 @@ void tst_QGraphicsScene::items()
QGraphicsLineItem *l2 = scene.addLine(0, -5, 0, 5);
QVERIFY(!l1->sceneBoundingRect().intersects(l2->sceneBoundingRect()));
QVERIFY(!l2->sceneBoundingRect().intersects(l1->sceneBoundingRect()));
+ QList<QGraphicsItem *> items;
+ items<<l1<<l2;
+ QCOMPARE(scene.items().size(), items.size());
QVERIFY(scene.items(-1, -1, 2, 2).contains(l1));
QVERIFY(scene.items(-1, -1, 2, 2).contains(l2));
}
@@ -2734,8 +2774,8 @@ void tst_QGraphicsScene::update()
qRegisterMetaType<QList<QRectF> >("QList<QRectF>");
QSignalSpy spy(&scene, SIGNAL(changed(QList<QRectF>)));
- // When deleted, the item will lazy-remove itself
- delete rect;
+ // We update the scene.
+ scene.update();
// This function forces a purge, which will post an update signal
scene.itemAt(0, 0);
@@ -2751,6 +2791,32 @@ void tst_QGraphicsScene::update()
QCOMPARE(region, QRectF(-100, -100, 200, 200));
}
+void tst_QGraphicsScene::update2()
+{
+ QGraphicsScene scene;
+ scene.setSceneRect(-200, -200, 200, 200);
+ CustomView view;
+ view.setScene(&scene);
+ view.show();
+#ifdef Q_WS_X11
+ qt_x11_wait_for_window_manager(&view);
+#endif
+ QTest::qWait(250);
+ view.repaints = 0;
+
+ // Make sure QGraphicsScene::update only requires one event-loop iteration
+ // before the view is updated.
+ scene.update();
+ qApp->processEvents();
+ QCOMPARE(view.repaints, 1);
+ view.repaints = 0;
+
+ // The same for partial scene updates.
+ scene.update(QRectF(-100, -100, 100, 100));
+ qApp->processEvents();
+ QCOMPARE(view.repaints, 1);
+}
+
void tst_QGraphicsScene::views()
{
QGraphicsScene scene;
@@ -3597,5 +3663,140 @@ void tst_QGraphicsScene::stickyFocus()
QCOMPARE(text->hasFocus(), sticky);
}
+void tst_QGraphicsScene::sendEvent()
+{
+ QGraphicsScene scene;
+ QGraphicsTextItem *item = scene.addText(QString());
+ EventSpy *spy = new EventSpy(&scene, item, QEvent::User);
+ QCOMPARE(spy->count(), 0);
+ QEvent event(QEvent::User);
+ scene.sendEvent(item, &event);
+ QCOMPARE(spy->count(), 1);
+}
+
+void tst_QGraphicsScene::inputMethod_data()
+{
+ QTest::addColumn<int>("flags");
+ QTest::addColumn<bool>("callFocusItem");
+ QTest::newRow("0") << 0 << false;
+ QTest::newRow("1") << (int)QGraphicsItem::ItemAcceptsInputMethod << false;
+ QTest::newRow("2") << (int)QGraphicsItem::ItemIsFocusable << false;
+ QTest::newRow("3") <<
+ (int)(QGraphicsItem::ItemAcceptsInputMethod|QGraphicsItem::ItemIsFocusable) << true;
+}
+
+class InputMethodTester : public QGraphicsRectItem
+{
+ void inputMethodEvent(QInputMethodEvent *) { ++eventCalls; }
+ QVariant inputMethodQuery(Qt::InputMethodQuery) const { ++queryCalls; return QVariant(); }
+public:
+ int eventCalls;
+ mutable int queryCalls;
+};
+
+void tst_QGraphicsScene::inputMethod()
+{
+ QFETCH(int, flags);
+ QFETCH(bool, callFocusItem);
+
+ InputMethodTester *item = new InputMethodTester;
+ item->setFlags((QGraphicsItem::GraphicsItemFlags)flags);
+
+ QGraphicsScene scene;
+ scene.addItem(item);
+ QInputMethodEvent event;
+
+ scene.setFocusItem(item);
+ QCOMPARE(!!(item->flags() & QGraphicsItem::ItemIsFocusable), scene.focusItem() == item);
+
+ item->eventCalls = 0;
+ qApp->sendEvent(&scene, &event);
+ QCOMPARE(item->eventCalls, callFocusItem ? 1 : 0);
+
+ item->queryCalls = 0;
+ scene.inputMethodQuery((Qt::InputMethodQuery)0);
+ QCOMPARE(item->queryCalls, callFocusItem ? 1 : 0);
+
+ scene.setFocusItem(0);
+ QCOMPARE(item->eventCalls, callFocusItem ? 2 : 0); // verify correct delivery of "reset" event
+ QCOMPARE(item->queryCalls, callFocusItem ? 1 : 0); // verify that value is unaffected
+
+ item->eventCalls = 0;
+ qApp->sendEvent(&scene, &event);
+ QCOMPARE(item->eventCalls, 0);
+
+ item->queryCalls = 0;
+ scene.inputMethodQuery((Qt::InputMethodQuery)0);
+ QCOMPARE(item->queryCalls, 0);
+}
+
+void tst_QGraphicsScene::dispatchHoverOnPress()
+{
+ QGraphicsScene scene;
+ EventTester *tester1 = new EventTester;
+ tester1->setAcceptHoverEvents(true);
+ EventTester *tester2 = new EventTester;
+ tester2->setAcceptHoverEvents(true);
+ tester2->setPos(30, 30);
+ scene.addItem(tester1);
+ scene.addItem(tester2);
+
+ tester1->eventTypes.clear();
+ tester2->eventTypes.clear();
+
+ {
+ QGraphicsSceneMouseEvent me(QEvent::GraphicsSceneMousePress);
+ me.setButton(Qt::LeftButton);
+ me.setButtons(Qt::LeftButton);
+ QGraphicsSceneMouseEvent me2(QEvent::GraphicsSceneMouseRelease);
+ me2.setButton(Qt::LeftButton);
+ qApp->sendEvent(&scene, &me);
+ qApp->sendEvent(&scene, &me2);
+ QCOMPARE(tester1->eventTypes, QList<QEvent::Type>()
+ << QEvent::GraphicsSceneHoverEnter
+ << QEvent::GraphicsSceneHoverMove
+ << QEvent::GrabMouse
+ << QEvent::GraphicsSceneMousePress
+ << QEvent::UngrabMouse);
+ tester1->eventTypes.clear();
+ qApp->sendEvent(&scene, &me);
+ qApp->sendEvent(&scene, &me2);
+ QCOMPARE(tester1->eventTypes, QList<QEvent::Type>()
+ << QEvent::GraphicsSceneHoverMove
+ << QEvent::GrabMouse
+ << QEvent::GraphicsSceneMousePress
+ << QEvent::UngrabMouse);
+ }
+ {
+ QGraphicsSceneMouseEvent me(QEvent::GraphicsSceneMousePress);
+ me.setScenePos(QPointF(30, 30));
+ me.setButton(Qt::LeftButton);
+ me.setButtons(Qt::LeftButton);
+ QGraphicsSceneMouseEvent me2(QEvent::GraphicsSceneMouseRelease);
+ me2.setScenePos(QPointF(30, 30));
+ me2.setButton(Qt::LeftButton);
+ tester1->eventTypes.clear();
+ qApp->sendEvent(&scene, &me);
+ qApp->sendEvent(&scene, &me2);
+ qDebug() << tester1->eventTypes;
+ QCOMPARE(tester1->eventTypes, QList<QEvent::Type>()
+ << QEvent::GraphicsSceneHoverLeave);
+ QCOMPARE(tester2->eventTypes, QList<QEvent::Type>()
+ << QEvent::GraphicsSceneHoverEnter
+ << QEvent::GraphicsSceneHoverMove
+ << QEvent::GrabMouse
+ << QEvent::GraphicsSceneMousePress
+ << QEvent::UngrabMouse);
+ tester2->eventTypes.clear();
+ qApp->sendEvent(&scene, &me);
+ qApp->sendEvent(&scene, &me2);
+ QCOMPARE(tester2->eventTypes, QList<QEvent::Type>()
+ << QEvent::GraphicsSceneHoverMove
+ << QEvent::GrabMouse
+ << QEvent::GraphicsSceneMousePress
+ << QEvent::UngrabMouse);
+ }
+}
+
QTEST_MAIN(tst_QGraphicsScene)
#include "tst_qgraphicsscene.moc"
diff --git a/tests/auto/qgraphicssceneindex/qgraphicssceneindex.pro b/tests/auto/qgraphicssceneindex/qgraphicssceneindex.pro
new file mode 100644
index 0000000..d1bf3cc
--- /dev/null
+++ b/tests/auto/qgraphicssceneindex/qgraphicssceneindex.pro
@@ -0,0 +1,4 @@
+load(qttest_p4)
+requires(contains(QT_CONFIG,private_tests))
+SOURCES += tst_qgraphicssceneindex.cpp
+
diff --git a/tests/auto/qgraphicssceneindex/tst_qgraphicssceneindex.cpp b/tests/auto/qgraphicssceneindex/tst_qgraphicssceneindex.cpp
new file mode 100644
index 0000000..2a2030f
--- /dev/null
+++ b/tests/auto/qgraphicssceneindex/tst_qgraphicssceneindex.cpp
@@ -0,0 +1,305 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+
+#include <QtTest/QtTest>
+#include <QtGui/qgraphicsscene.h>
+#include <private/qgraphicsscenebsptreeindex_p.h>
+#include <private/qgraphicssceneindex_p.h>
+#include <private/qgraphicsscenelinearindex_p.h>
+
+//TESTED_CLASS=
+//TESTED_FILES=
+
+class tst_QGraphicsSceneIndex : public QObject
+{
+ Q_OBJECT
+public slots:
+ void initTestCase();
+
+private slots:
+ void customIndex_data();
+ void customIndex();
+ void scatteredItems_data();
+ void scatteredItems();
+ void overlappedItems_data();
+ void overlappedItems();
+ void movingItems_data();
+ void movingItems();
+ void connectedToSceneRectChanged();
+ void items();
+ void clear();
+
+private:
+ void common_data();
+ QGraphicsSceneIndex *createIndex(const QString &name);
+};
+
+void tst_QGraphicsSceneIndex::initTestCase()
+{
+}
+
+void tst_QGraphicsSceneIndex::common_data()
+{
+ QTest::addColumn<QString>("indexMethod");
+
+ QTest::newRow("BSP") << QString("bsp");
+ QTest::newRow("Linear") << QString("linear");
+}
+
+QGraphicsSceneIndex *tst_QGraphicsSceneIndex::createIndex(const QString &indexMethod)
+{
+ QGraphicsSceneIndex *index = 0;
+ QGraphicsScene *scene = new QGraphicsScene();
+ if (indexMethod == "bsp")
+ index = new QGraphicsSceneBspTreeIndex(scene);
+
+ if (indexMethod == "linear")
+ index = new QGraphicsSceneLinearIndex(scene);
+
+ return index;
+}
+
+void tst_QGraphicsSceneIndex::customIndex_data()
+{
+ common_data();
+}
+
+void tst_QGraphicsSceneIndex::customIndex()
+{
+#if 0
+ QFETCH(QString, indexMethod);
+ QGraphicsSceneIndex *index = createIndex(indexMethod);
+
+ QGraphicsScene scene;
+ scene.setSceneIndex(index);
+
+ scene.addRect(0, 0, 30, 40);
+ QCOMPARE(scene.items(QRectF(0, 0, 10, 10)).count(), 1);
+#endif
+}
+
+void tst_QGraphicsSceneIndex::scatteredItems_data()
+{
+ common_data();
+}
+
+void tst_QGraphicsSceneIndex::scatteredItems()
+{
+ QFETCH(QString, indexMethod);
+
+ QGraphicsScene scene;
+#if 1
+ scene.setItemIndexMethod(indexMethod == "linear" ? QGraphicsScene::NoIndex : QGraphicsScene::BspTreeIndex);
+#else
+ QGraphicsSceneIndex *index = createIndex(indexMethod);
+ scene.setSceneIndex(index);
+#endif
+
+ for (int i = 0; i < 10; ++i)
+ scene.addRect(i*50, i*50, 40, 35);
+
+ QCOMPARE(scene.items(QPointF(5, 5)).count(), 1);
+ QCOMPARE(scene.items(QPointF(55, 55)).count(), 1);
+ QCOMPARE(scene.items(QPointF(-100, -100)).count(), 0);
+
+ QCOMPARE(scene.items(QRectF(0, 0, 10, 10)).count(), 1);
+ QCOMPARE(scene.items(QRectF(0, 0, 1000, 1000)).count(), 10);
+ QCOMPARE(scene.items(QRectF(-100, -1000, 0, 0)).count(), 0);
+}
+
+void tst_QGraphicsSceneIndex::overlappedItems_data()
+{
+ common_data();
+}
+
+void tst_QGraphicsSceneIndex::overlappedItems()
+{
+ QFETCH(QString, indexMethod);
+
+ QGraphicsScene scene;
+#if 1
+ scene.setItemIndexMethod(indexMethod == "linear" ? QGraphicsScene::NoIndex : QGraphicsScene::BspTreeIndex);
+#else
+ QGraphicsSceneIndex *index = createIndex(indexMethod);
+ scene.setSceneIndex(index);
+#endif
+
+ for (int i = 0; i < 10; ++i)
+ for (int j = 0; j < 10; ++j)
+ scene.addRect(i*50, j*50, 200, 200);
+
+ QCOMPARE(scene.items(QPointF(5, 5)).count(), 1);
+ QCOMPARE(scene.items(QPointF(55, 55)).count(), 4);
+ QCOMPARE(scene.items(QPointF(105, 105)).count(), 9);
+ QCOMPARE(scene.items(QPointF(-100, -100)).count(), 0);
+
+ QCOMPARE(scene.items(QRectF(0, 0, 1000, 1000)).count(), 100);
+ QCOMPARE(scene.items(QRectF(-100, -1000, 0, 0)).count(), 0);
+ QCOMPARE(scene.items(QRectF(0, 0, 200, 200)).count(), 16);
+ QCOMPARE(scene.items(QRectF(0, 0, 100, 100)).count(), 4);
+ QCOMPARE(scene.items(QRectF(0, 0, 1, 100)).count(), 2);
+ QCOMPARE(scene.items(QRectF(0, 0, 1, 1000)).count(), 10);
+}
+
+void tst_QGraphicsSceneIndex::movingItems_data()
+{
+ common_data();
+}
+
+void tst_QGraphicsSceneIndex::movingItems()
+{
+ QFETCH(QString, indexMethod);
+
+ QGraphicsScene scene;
+#if 1
+ scene.setItemIndexMethod(indexMethod == "linear" ? QGraphicsScene::NoIndex : QGraphicsScene::BspTreeIndex);
+#else
+ QGraphicsSceneIndex *index = createIndex(indexMethod);
+ scene.setSceneIndex(index);
+#endif
+
+ for (int i = 0; i < 10; ++i)
+ scene.addRect(i*50, i*50, 40, 35);
+
+ QGraphicsRectItem *box = scene.addRect(0, 0, 10, 10);
+ QCOMPARE(scene.items(QPointF(5, 5)).count(), 2);
+ QCOMPARE(scene.items(QPointF(-1, -1)).count(), 0);
+ QCOMPARE(scene.items(QRectF(0, 0, 5, 5)).count(), 2);
+
+ box->setPos(10, 10);
+ QCOMPARE(scene.items(QPointF(9, 9)).count(), 1);
+ QCOMPARE(scene.items(QPointF(15, 15)).count(), 2);
+ QCOMPARE(scene.items(QRectF(0, 0, 1, 1)).count(), 1);
+
+ box->setPos(-5, -5);
+ QCOMPARE(scene.items(QPointF(-1, -1)).count(), 1);
+ QCOMPARE(scene.items(QRectF(0, 0, 1, 1)).count(), 2);
+
+ QCOMPARE(scene.items(QRectF(0, 0, 1000, 1000)).count(), 11);
+}
+
+void tst_QGraphicsSceneIndex::connectedToSceneRectChanged()
+{
+
+ class MyScene : public QGraphicsScene
+ { public: using QGraphicsScene::receivers; };
+
+ MyScene scene; // Uses QGraphicsSceneBspTreeIndex by default.
+ QCOMPARE(scene.receivers(SIGNAL(sceneRectChanged(const QRectF&))), 1);
+
+ scene.setItemIndexMethod(QGraphicsScene::NoIndex); // QGraphicsSceneLinearIndex
+ QCOMPARE(scene.receivers(SIGNAL(sceneRectChanged(const QRectF&))), 1);
+}
+
+void tst_QGraphicsSceneIndex::items()
+{
+ QGraphicsScene scene;
+ QGraphicsItem *item1 = scene.addRect(0, 0, 10, 10);
+ QGraphicsItem *item2 = scene.addRect(10, 10, 10, 10);
+ QCOMPARE(scene.items().size(), 2);
+
+ // Move from unindexed items into bsp tree.
+ QTest::qWait(50);
+ QCOMPARE(scene.items().size(), 2);
+
+ // Add untransformable item.
+ QGraphicsItem *item3 = new QGraphicsRectItem(QRectF(20, 20, 10, 10));
+ item3->setFlag(QGraphicsItem::ItemIgnoresTransformations);
+ scene.addItem(item3);
+ QCOMPARE(scene.items().size(), 3);
+
+ // Move from unindexed items into untransformable items.
+ QTest::qWait(50);
+ QCOMPARE(scene.items().size(), 3);
+
+ // Move from untransformable items into unindexed items.
+ item3->setFlag(QGraphicsItem::ItemIgnoresTransformations, false);
+ QCOMPARE(scene.items().size(), 3);
+ QTest::qWait(50);
+ QCOMPARE(scene.items().size(), 3);
+
+ // Make all items untransformable.
+ item1->setFlag(QGraphicsItem::ItemIgnoresTransformations);
+ item2->setParentItem(item1);
+ item3->setParentItem(item2);
+ QCOMPARE(scene.items().size(), 3);
+
+ // Move from unindexed items into untransformable items.
+ QTest::qWait(50);
+ QCOMPARE(scene.items().size(), 3);
+}
+
+void tst_QGraphicsSceneIndex::clear()
+{
+ class MyItem : public QGraphicsItem
+ {
+ public:
+ MyItem(QGraphicsItem *parent = 0) : QGraphicsItem(parent), numPaints(0) {}
+ int numPaints;
+ protected:
+ QRectF boundingRect() const { return QRectF(0, 0, 10, 10); }
+ void paint(QPainter *painter, const QStyleOptionGraphicsItem *, QWidget *)
+ { ++numPaints; }
+ };
+
+ QGraphicsScene scene;
+ scene.setSceneRect(0, 0, 100, 100);
+ scene.addItem(new MyItem);
+
+ QGraphicsView view(&scene);
+ view.show();
+#ifdef Q_WS_X11
+ qt_x11_wait_for_window_manager(&view);
+#endif
+ QTest::qWait(250);
+ scene.clear();
+
+ // Make sure the index is re-generated after QGraphicsScene::clear();
+ // otherwise no items will be painted.
+ MyItem *item = new MyItem;
+ scene.addItem(item);
+ qApp->processEvents();
+ QCOMPARE(item->numPaints, 1);
+}
+
+QTEST_MAIN(tst_QGraphicsSceneIndex)
+#include "tst_qgraphicssceneindex.moc"
diff --git a/tests/auto/qgraphicstransform/qgraphicstransform.pro b/tests/auto/qgraphicstransform/qgraphicstransform.pro
new file mode 100644
index 0000000..709cff6
--- /dev/null
+++ b/tests/auto/qgraphicstransform/qgraphicstransform.pro
@@ -0,0 +1,2 @@
+load(qttest_p4)
+SOURCES += tst_qgraphicstransform.cpp
diff --git a/tests/auto/qgraphicstransform/tst_qgraphicstransform.cpp b/tests/auto/qgraphicstransform/tst_qgraphicstransform.cpp
new file mode 100644
index 0000000..672b1f1
--- /dev/null
+++ b/tests/auto/qgraphicstransform/tst_qgraphicstransform.cpp
@@ -0,0 +1,162 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+
+#include <QtTest/QtTest>
+#include <qgraphicsitem.h>
+#include <qgraphicstransform.h>
+#include "../../shared/util.h"
+
+class tst_QGraphicsTransform : public QObject {
+ Q_OBJECT
+
+public slots:
+ void initTestCase();
+ void cleanupTestCase();
+ void init();
+ void cleanup();
+
+private slots:
+ void scale();
+ void rotation();
+ void rotation3d();
+};
+
+
+// This will be called before the first test function is executed.
+// It is only called once.
+void tst_QGraphicsTransform::initTestCase()
+{
+}
+
+// This will be called after the last test function is executed.
+// It is only called once.
+void tst_QGraphicsTransform::cleanupTestCase()
+{
+}
+
+// This will be called before each test function is executed.
+void tst_QGraphicsTransform::init()
+{
+}
+
+// This will be called after every test function.
+void tst_QGraphicsTransform::cleanup()
+{
+}
+
+
+void tst_QGraphicsTransform::scale()
+{
+ QGraphicsScale scale;
+ scale.setOrigin(QPointF(10, 10));
+
+ QTransform t;
+ scale.applyTo(&t);
+
+ QCOMPARE(t, QTransform());
+ QCOMPARE(scale.transform(), QTransform());
+
+ scale.setXScale(10);
+ scale.setOrigin(QPointF(0, 0));
+
+ QTransform res;
+ res.scale(10, 1);
+
+ QCOMPARE(scale.transform(), res);
+ QCOMPARE(scale.transform().map(QPointF(10, 10)), QPointF(100, 10));
+
+ scale.setOrigin(QPointF(10, 10));
+ QCOMPARE(scale.transform().map(QPointF(10, 10)), QPointF(10, 10));
+ QCOMPARE(scale.transform().map(QPointF(11, 10)), QPointF(20, 10));
+}
+
+void tst_QGraphicsTransform::rotation()
+{
+ QGraphicsRotation rotation;
+ rotation.setOrigin(QPointF(10, 10));
+
+ QTransform t;
+ rotation.applyTo(&t);
+
+ QCOMPARE(t, QTransform());
+ QCOMPARE(rotation.transform(), QTransform());
+
+ rotation.setAngle(40);
+ rotation.setOrigin(QPointF(0, 0));
+
+ QTransform res;
+ res.rotate(40);
+
+ QCOMPARE(rotation.transform(), res);
+
+ rotation.setOrigin(QPointF(10, 10));
+ rotation.setAngle(90);
+ QCOMPARE(rotation.transform().map(QPointF(10, 10)), QPointF(10, 10));
+ QCOMPARE(rotation.transform().map(QPointF(20, 10)), QPointF(10, 20));
+}
+
+void tst_QGraphicsTransform::rotation3d()
+{
+ QGraphicsRotation3D rotation;
+ rotation.setOrigin(QPointF(10, 10));
+
+ QTransform t;
+ rotation.applyTo(&t);
+
+ QCOMPARE(t, QTransform());
+ QCOMPARE(rotation.transform(), QTransform());
+
+ rotation.setAngle(180);
+
+ QCOMPARE(t, QTransform());
+ QCOMPARE(rotation.transform(), QTransform());
+
+ rotation.setOrigin(QPointF(0, 0));
+
+ QCOMPARE(t, QTransform());
+ QCOMPARE(rotation.transform(), QTransform());
+}
+
+
+QTEST_MAIN(tst_QGraphicsTransform)
+#include "tst_qgraphicstransform.moc"
+
diff --git a/tests/auto/qgraphicsview/tst_qgraphicsview.cpp b/tests/auto/qgraphicsview/tst_qgraphicsview.cpp
index 8cedc18..b9f0260 100644
--- a/tests/auto/qgraphicsview/tst_qgraphicsview.cpp
+++ b/tests/auto/qgraphicsview/tst_qgraphicsview.cpp
@@ -63,6 +63,8 @@
#include <QtGui/QBoxLayout>
#include <QtGui/QStyle>
#include <QtGui/QPushButton>
+#include <QtGui/QInputContext>
+#include <private/qgraphicsview_p.h>
//TESTED_CLASS=
//TESTED_FILES=
@@ -175,6 +177,7 @@ private slots:
void transformationAnchor();
void resizeAnchor();
void viewportUpdateMode();
+ void viewportUpdateMode2();
void acceptDrops();
void optimizationFlags();
void optimizationFlags_dontSavePainterState();
@@ -195,6 +198,10 @@ private slots:
void mouseTracking2();
void render();
void exposeRegion();
+ void update_data();
+ void update();
+ void inputMethodSensitivity();
+ void inputContextReset();
// task specific tests below me
void task172231_untransformableItems();
@@ -371,6 +378,7 @@ void tst_QGraphicsView::interactive()
QCOMPARE(item->events.size(), 0);
QPoint itemPoint = view.mapFromScene(item->scenePos());
+
QVERIFY(view.itemAt(itemPoint));
for (int i = 0; i < 100; ++i) {
@@ -2106,12 +2114,12 @@ void tst_QGraphicsView::resizeAnchor()
view.setResizeAnchor(QGraphicsView::AnchorViewCenter);
}
view.centerOn(0, 0);
- QTest::qWait(100);
+ QTest::qWait(250);
QPointF f = view.mapToScene(50, 50);
QPointF center = view.mapToScene(view.viewport()->rect().center());
- QTest::qWait(100);
+ QTest::qWait(250);
for (int size = 200; size <= 400; size += 25) {
view.resize(size, size);
@@ -2126,7 +2134,7 @@ void tst_QGraphicsView::resizeAnchor()
QVERIFY(qAbs(newCenter.x() - center.x()) < slack);
QVERIFY(qAbs(newCenter.y() - center.y()) < slack);
}
- QTest::qWait(100);
+ QTest::qWait(250);
}
}
}
@@ -2228,6 +2236,55 @@ void tst_QGraphicsView::viewportUpdateMode()
QCOMPARE(view.lastUpdateRegions.size(), 0);
}
+void tst_QGraphicsView::viewportUpdateMode2()
+{
+ // Create a view with viewport rect equal to QRect(0, 0, 200, 200).
+ QGraphicsScene dummyScene;
+ CustomView view;
+ view.setViewportUpdateMode(QGraphicsView::BoundingRectViewportUpdate);
+ view.setScene(&dummyScene);
+ int left, top, right, bottom;
+ view.getContentsMargins(&left, &top, &right, &bottom);
+ view.resize(200 + left + right, 200 + top + bottom);
+ view.show();
+#ifdef Q_WS_X11
+ qt_x11_wait_for_window_manager(&view);
+#endif
+ QTest::qWait(300);
+ const QRect viewportRect = view.viewport()->rect();
+ QCOMPARE(viewportRect, QRect(0, 0, 200, 200));
+
+#if defined QT_BUILD_INTERNAL
+ QGraphicsViewPrivate *viewPrivate = static_cast<QGraphicsViewPrivate *>(qt_widget_private(&view));
+
+ QRect boundingRect;
+ const QRect rect1(0, 0, 10, 10);
+ QVERIFY(viewPrivate->updateRect(rect1));
+ QVERIFY(!viewPrivate->fullUpdatePending);
+ boundingRect |= rect1;
+ QCOMPARE(viewPrivate->dirtyBoundingRect, boundingRect);
+
+ const QRect rect2(50, 50, 10, 10);
+ QVERIFY(viewPrivate->updateRect(rect2));
+ QVERIFY(!viewPrivate->fullUpdatePending);
+ boundingRect |= rect2;
+ QCOMPARE(viewPrivate->dirtyBoundingRect, boundingRect);
+
+ const QRect rect3(190, 190, 10, 10);
+ QVERIFY(viewPrivate->updateRect(rect3));
+ QVERIFY(viewPrivate->fullUpdatePending);
+ boundingRect |= rect3;
+ QCOMPARE(viewPrivate->dirtyBoundingRect, boundingRect);
+
+ view.lastUpdateRegions.clear();
+ viewPrivate->processPendingUpdates();
+ QTest::qWait(50);
+ QCOMPARE(view.lastUpdateRegions.size(), 1);
+ // Note that we adjust by 2 for antialiasing.
+ QCOMPARE(view.lastUpdateRegions.at(0), QRegion(boundingRect.adjusted(-2, -2, 2, 2) & viewportRect));
+#endif
+}
+
void tst_QGraphicsView::acceptDrops()
{
#ifdef QT_NO_DRAGANDDROP
@@ -2992,14 +3049,7 @@ void tst_QGraphicsView::embeddedViews()
v2->QWidget::render(&actual);
QTransform b = item->transform;
-#ifdef Q_WS_MAC
- // We don't use shared painter on the Mac, so the
- // transform should be exactly the same.
QVERIFY(a == b);
-#else
- QVERIFY(a != b);
-#endif
-
delete v1;
}
@@ -3096,7 +3146,7 @@ void tst_QGraphicsView::moveItemWhileScrolling()
#ifdef Q_WS_X11
qt_x11_wait_for_window_manager(&view);
#endif
- QTest::qWait(100);
+ QTest::qWait(200);
view.lastPaintedRegion = QRegion();
view.horizontalScrollBar()->setValue(view.horizontalScrollBar()->value() + 10);
@@ -3268,7 +3318,9 @@ void tst_QGraphicsView::mouseTracking2()
EventSpy spy(&scene, QEvent::GraphicsSceneMouseMove);
QCOMPARE(spy.count(), 0);
- sendMouseMove(view.viewport(), view.viewport()->rect().center());
+ QMouseEvent event(QEvent::MouseMove,view.viewport()->rect().center(), Qt::NoButton,
+ Qt::MouseButtons(Qt::NoButton), 0);
+ QApplication::sendEvent(view.viewport(), &event);
QCOMPARE(spy.count(), 1);
}
@@ -3293,6 +3345,15 @@ void tst_QGraphicsView::render()
{
// ### This test can be much more thorough - see QGraphicsScene::render.
QGraphicsScene scene;
+ QGraphicsView view(&scene);
+ view.setFrameStyle(0);
+ view.resize(200, 200);
+ view.show();
+#ifdef Q_WS_X11
+ qt_x11_wait_for_window_manager(&view);
+#endif
+ QTest::qWait(200);
+
RenderTester *r1 = new RenderTester(QRectF(0, 0, 50, 50));
RenderTester *r2 = new RenderTester(QRectF(50, 50, 50, 50));
RenderTester *r3 = new RenderTester(QRectF(0, 50, 50, 50));
@@ -3302,14 +3363,7 @@ void tst_QGraphicsView::render()
scene.addItem(r3);
scene.addItem(r4);
- QGraphicsView view(&scene);
- view.setFrameStyle(0);
- view.resize(200, 200);
- view.show();
-#ifdef Q_WS_X11
- qt_x11_wait_for_window_manager(&view);
-#endif
- QTest::qWait(200);
+ qApp->processEvents();
QCOMPARE(r1->paints, 1);
QCOMPARE(r2->paints, 1);
@@ -3361,6 +3415,189 @@ void tst_QGraphicsView::exposeRegion()
QCOMPARE(item->paints, 0);
}
+void tst_QGraphicsView::update_data()
+{
+ // In view.viewport() coordinates. (viewport rect: QRect(0, 0, 200, 200))
+ QTest::addColumn<QRect>("updateRect");
+ QTest::newRow("empty") << QRect();
+ QTest::newRow("outside left") << QRect(-200, 0, 100, 100);
+ QTest::newRow("outside right") << QRect(400, 0 ,100, 100);
+ QTest::newRow("outside top") << QRect(0, -200, 100, 100);
+ QTest::newRow("outside bottom") << QRect(0, 400, 100, 100);
+ QTest::newRow("partially inside left") << QRect(-50, 0, 100, 100);
+ QTest::newRow("partially inside right") << QRect(-150, 0, 100, 100);
+ QTest::newRow("partially inside top") << QRect(0, -150, 100, 100);
+ QTest::newRow("partially inside bottom") << QRect(0, 150, 100, 100);
+ QTest::newRow("on topLeft edge") << QRect(-100, -100, 100, 100);
+ QTest::newRow("on topRight edge") << QRect(200, -100, 100, 100);
+ QTest::newRow("on bottomRight edge") << QRect(200, 200, 100, 100);
+ QTest::newRow("on bottomLeft edge") << QRect(-200, 200, 100, 100);
+ QTest::newRow("inside topLeft") << QRect(-99, -99, 100, 100);
+ QTest::newRow("inside topRight") << QRect(199, -99, 100, 100);
+ QTest::newRow("inside bottomRight") << QRect(199, 199, 100, 100);
+ QTest::newRow("inside bottomLeft") << QRect(-199, 199, 100, 100);
+ QTest::newRow("large1") << QRect(50, -100, 100, 400);
+ QTest::newRow("large2") << QRect(-100, 50, 400, 100);
+ QTest::newRow("large3") << QRect(-100, -100, 400, 400);
+ QTest::newRow("viewport rect") << QRect(0, 0, 200, 200);
+}
+
+void tst_QGraphicsView::update()
+{
+ QFETCH(QRect, updateRect);
+
+ // Create a view with viewport rect equal to QRect(0, 0, 200, 200).
+ QGraphicsScene dummyScene;
+ CustomView view;
+ view.setScene(&dummyScene);
+ int left, top, right, bottom;
+ view.getContentsMargins(&left, &top, &right, &bottom);
+ view.resize(200 + left + right, 200 + top + bottom);
+ view.show();
+#ifdef Q_WS_X11
+ qt_x11_wait_for_window_manager(&view);
+#endif
+ QTest::qWait(300);
+ const QRect viewportRect = view.viewport()->rect();
+ QCOMPARE(viewportRect, QRect(0, 0, 200, 200));
+
+#if defined QT_BUILD_INTERNAL
+ const bool intersects = updateRect.intersects(viewportRect);
+ QGraphicsViewPrivate *viewPrivate = static_cast<QGraphicsViewPrivate *>(qt_widget_private(&view));
+ QCOMPARE(viewPrivate->updateRect(updateRect), intersects);
+ QCOMPARE(viewPrivate->updateRegion(updateRect), intersects);
+
+ view.lastUpdateRegions.clear();
+ viewPrivate->processPendingUpdates();
+ QVERIFY(viewPrivate->dirtyRegion.isEmpty());
+ QVERIFY(viewPrivate->dirtyBoundingRect.isEmpty());
+ QTest::qWait(50);
+ if (!intersects) {
+ QVERIFY(view.lastUpdateRegions.isEmpty());
+ } else {
+ QCOMPARE(view.lastUpdateRegions.size(), 1);
+ // Note that we adjust by 2 for antialiasing.
+ QCOMPARE(view.lastUpdateRegions.at(0), QRegion(updateRect.adjusted(-2, -2, 2, 2) & viewportRect));
+ }
+ QVERIFY(!viewPrivate->fullUpdatePending);
+#endif
+}
+
+void tst_QGraphicsView::inputMethodSensitivity()
+{
+ QGraphicsScene scene;
+ QGraphicsView view(&scene);
+
+ QGraphicsRectItem *item = new QGraphicsRectItem;
+
+ view.setAttribute(Qt::WA_InputMethodEnabled, true);
+
+ scene.addItem(item);
+ QCOMPARE(view.testAttribute(Qt::WA_InputMethodEnabled), false);
+
+ scene.removeItem(item);
+ QCOMPARE(view.testAttribute(Qt::WA_InputMethodEnabled), false);
+
+ item->setFlag(QGraphicsItem::ItemAcceptsInputMethod);
+ scene.addItem(item);
+ QCOMPARE(view.testAttribute(Qt::WA_InputMethodEnabled), false);
+
+ scene.removeItem(item);
+ QCOMPARE(view.testAttribute(Qt::WA_InputMethodEnabled), false);
+
+ scene.addItem(item);
+ scene.setFocusItem(item);
+ QCOMPARE(view.testAttribute(Qt::WA_InputMethodEnabled), false);
+
+ scene.removeItem(item);
+ QCOMPARE(view.testAttribute(Qt::WA_InputMethodEnabled), false);
+
+ item->setFlag(QGraphicsItem::ItemIsFocusable);
+ scene.addItem(item);
+ scene.setFocusItem(item);
+ QCOMPARE(view.testAttribute(Qt::WA_InputMethodEnabled), true);
+
+ item->setFlag(QGraphicsItem::ItemAcceptsInputMethod, false);
+ QCOMPARE(view.testAttribute(Qt::WA_InputMethodEnabled), false);
+
+ item->setFlag(QGraphicsItem::ItemAcceptsInputMethod, true);
+ QCOMPARE(view.testAttribute(Qt::WA_InputMethodEnabled), true);
+
+ // introduce another item that is focusable but does not accept input methods
+ QGraphicsRectItem *item2 = new QGraphicsRectItem;
+ item2->setFlag(QGraphicsItem::ItemIsFocusable);
+ scene.addItem(item2);
+ scene.setFocusItem(item2);
+ QCOMPARE(view.testAttribute(Qt::WA_InputMethodEnabled), false);
+
+ scene.setFocusItem(item);
+ QCOMPARE(view.testAttribute(Qt::WA_InputMethodEnabled), true);
+
+ view.setScene(0);
+ QCOMPARE(view.testAttribute(Qt::WA_InputMethodEnabled), false);
+
+ view.setScene(&scene);
+ QCOMPARE(view.testAttribute(Qt::WA_InputMethodEnabled), true);
+
+ scene.setFocusItem(item2);
+ QCOMPARE(view.testAttribute(Qt::WA_InputMethodEnabled), false);
+
+ view.setScene(0);
+ QCOMPARE(view.testAttribute(Qt::WA_InputMethodEnabled), false);
+
+ scene.setFocusItem(item);
+ QCOMPARE(view.testAttribute(Qt::WA_InputMethodEnabled), false);
+
+ view.setScene(&scene);
+ QCOMPARE(view.testAttribute(Qt::WA_InputMethodEnabled), true);
+}
+
+class InputContextTester : public QInputContext
+{
+ QString identifierName() { return QString(); }
+ bool isComposing() const { return false; }
+ QString language() { return QString(); }
+ void reset() { ++resets; }
+public:
+ int resets;
+};
+
+void tst_QGraphicsView::inputContextReset()
+{
+ QGraphicsScene scene;
+ QGraphicsView view(&scene);
+
+ InputContextTester inputContext;
+ view.setInputContext(&inputContext);
+
+ QGraphicsItem *item1 = new QGraphicsRectItem;
+ item1->setFlags(QGraphicsItem::ItemIsFocusable | QGraphicsItem::ItemAcceptsInputMethod);
+
+ inputContext.resets = 0;
+ scene.addItem(item1);
+ QCOMPARE(inputContext.resets, 0);
+
+ inputContext.resets = 0;
+ scene.setFocusItem(item1);
+ QCOMPARE(inputContext.resets, 0);
+
+ inputContext.resets = 0;
+ scene.setFocusItem(0);
+ QCOMPARE(inputContext.resets, 1);
+
+ // introduce another item that is focusable but does not accept input methods
+ QGraphicsItem *item2 = new QGraphicsRectItem;
+ item1->setFlags(QGraphicsItem::ItemIsFocusable);
+
+ inputContext.resets = 0;
+ scene.setFocusItem(item2);
+ QCOMPARE(inputContext.resets, 0);
+
+ inputContext.resets = 0;
+ scene.setFocusItem(item1);
+ QCOMPARE(inputContext.resets, 0);
+}
+
void tst_QGraphicsView::task253415_reconnectUpdateSceneOnSceneChanged()
{
QGraphicsView view;
diff --git a/tests/auto/qgraphicswidget/tst_qgraphicswidget.cpp b/tests/auto/qgraphicswidget/tst_qgraphicswidget.cpp
index 78d13d3..2cfedb1 100644
--- a/tests/auto/qgraphicswidget/tst_qgraphicswidget.cpp
+++ b/tests/auto/qgraphicswidget/tst_qgraphicswidget.cpp
@@ -1315,6 +1315,12 @@ void tst_QGraphicsWidget::focusNextPrevChild()
void tst_QGraphicsWidget::verifyFocusChain()
{
QGraphicsScene scene;
+ QGraphicsView view(&scene);
+ view.show();
+#ifdef Q_WS_X11
+ qt_x11_wait_for_window_manager(&view);
+#endif
+ QTest::qWait(250);
{
// parent/child focus
SubQGraphicsWidget *w = new SubQGraphicsWidget(0, Qt::Window);
@@ -1448,6 +1454,11 @@ void tst_QGraphicsWidget::updateFocusChainWhenChildDie()
QGraphicsScene scene;
QGraphicsView view(&scene);
view.show();
+#ifdef Q_WS_X11
+ qt_x11_wait_for_window_manager(&view);
+#endif
+ QTest::qWait(250);
+
// delete item in focus chain with no focus and verify chain
SubQGraphicsWidget *parent = new SubQGraphicsWidget(0, Qt::Window);
SubQGraphicsWidget *w = new SubQGraphicsWidget(0, Qt::Window);
diff --git a/tests/auto/qgroupbox/tst_qgroupbox.cpp b/tests/auto/qgroupbox/tst_qgroupbox.cpp
index 7ae3a1b..4933deb 100644
--- a/tests/auto/qgroupbox/tst_qgroupbox.cpp
+++ b/tests/auto/qgroupbox/tst_qgroupbox.cpp
@@ -80,6 +80,7 @@ private slots:
void clicked();
void toggledVsClicked();
void childrenAreDisabled();
+ void propagateFocus();
private:
bool checked;
@@ -459,5 +460,15 @@ void tst_QGroupBox::childrenAreDisabled()
}
}
+void tst_QGroupBox::propagateFocus()
+{
+ QGroupBox box;
+ QLineEdit lineEdit(&box);
+ box.show();
+ box.setFocus();
+ QTest::qWait(250);
+ QCOMPARE(qApp->focusWidget(), &lineEdit);
+}
+
QTEST_MAIN(tst_QGroupBox)
#include "tst_qgroupbox.moc"
diff --git a/tests/auto/qguard/qguard.pro b/tests/auto/qguard/qguard.pro
new file mode 100644
index 0000000..f249dde
--- /dev/null
+++ b/tests/auto/qguard/qguard.pro
@@ -0,0 +1,2 @@
+load(qttest_p4)
+SOURCES += tst_qguard.cpp
diff --git a/tests/auto/qguard/tst_qguard.cpp b/tests/auto/qguard/tst_qguard.cpp
new file mode 100644
index 0000000..96d1b60
--- /dev/null
+++ b/tests/auto/qguard/tst_qguard.cpp
@@ -0,0 +1,350 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+// NOTE: This is identical to the QPointer autotest
+
+#include <QtTest/QtTest>
+
+#include <QApplication>
+#include <QDebug>
+#include <QWidget>
+#include <private/qguard_p.h>
+
+class tst_QGuard : public QObject
+{
+ Q_OBJECT
+public:
+ tst_QGuard();
+ ~tst_QGuard();
+
+ inline tst_QGuard *me() const
+ { return const_cast<tst_QGuard *>(this); }
+
+public slots:
+ void initTestCase();
+ void cleanupTestCase();
+ void init();
+ void cleanup();
+private slots:
+ void constructors();
+ void destructor();
+ void assignment_operators();
+ void equality_operators();
+ void isNull();
+ void dereference_operators();
+ void disconnect();
+ void castDuringDestruction();
+ void data() const;
+ void dataSignature() const;
+};
+
+tst_QGuard::tst_QGuard()
+{ }
+
+tst_QGuard::~tst_QGuard()
+{ }
+
+void tst_QGuard::initTestCase()
+{ }
+
+void tst_QGuard::cleanupTestCase()
+{ }
+
+void tst_QGuard::init()
+{ }
+
+void tst_QGuard::cleanup()
+{ }
+
+void tst_QGuard::constructors()
+{
+ QGuard<QObject> p1;
+ QGuard<QObject> p2(this);
+ QGuard<QObject> p3(p2);
+ QCOMPARE(p1, QGuard<QObject>(0));
+ QCOMPARE(p2, QGuard<QObject>(this));
+ QCOMPARE(p3, QGuard<QObject>(this));
+}
+
+void tst_QGuard::destructor()
+{
+ QObject *object = new QObject;
+ QGuard<QObject> p = object;
+ QCOMPARE(p, QGuard<QObject>(object));
+ delete object;
+ QCOMPARE(p, QGuard<QObject>(0));
+}
+
+void tst_QGuard::assignment_operators()
+{
+ QGuard<QObject> p1;
+ QGuard<QObject> p2;
+
+ p1 = this;
+ p2 = p1;
+
+ QCOMPARE(p1, QGuard<QObject>(this));
+ QCOMPARE(p2, QGuard<QObject>(this));
+ QCOMPARE(p1, QGuard<QObject>(p2));
+
+ p1 = 0;
+ p2 = p1;
+ QCOMPARE(p1, QGuard<QObject>(0));
+ QCOMPARE(p2, QGuard<QObject>(0));
+ QCOMPARE(p1, QGuard<QObject>(p2));
+
+ QObject *object = new QObject;
+
+ p1 = object;
+ p2 = p1;
+ QCOMPARE(p1, QGuard<QObject>(object));
+ QCOMPARE(p2, QGuard<QObject>(object));
+ QCOMPARE(p1, QGuard<QObject>(p2));
+
+ delete object;
+ QCOMPARE(p1, QGuard<QObject>(0));
+ QCOMPARE(p2, QGuard<QObject>(0));
+ QCOMPARE(p1, QGuard<QObject>(p2));
+}
+
+void tst_QGuard::equality_operators()
+{
+ QGuard<QObject> p1;
+ QGuard<QObject> p2;
+
+ QVERIFY(p1 == p2);
+
+ QObject *object = 0;
+ QWidget *widget = 0;
+
+ p1 = object;
+ QVERIFY(p1 == p2);
+ QVERIFY(p1 == object);
+ p2 = object;
+ QVERIFY(p2 == p1);
+ QVERIFY(p2 == object);
+
+ p1 = this;
+ QVERIFY(p1 != p2);
+ p2 = p1;
+ QVERIFY(p1 == p2);
+
+ // compare to zero
+ p1 = 0;
+ QVERIFY(p1 == 0);
+ QVERIFY(0 == p1);
+ QVERIFY(p2 != 0);
+ QVERIFY(0 != p2);
+ QVERIFY(p1 == object);
+ QVERIFY(object == p1);
+ QVERIFY(p2 != object);
+ QVERIFY(object != p2);
+ QVERIFY(p1 == widget);
+ QVERIFY(widget == p1);
+ QVERIFY(p2 != widget);
+ QVERIFY(widget != p2);
+}
+
+void tst_QGuard::isNull()
+{
+ QGuard<QObject> p1;
+ QVERIFY(p1.isNull());
+ p1 = this;
+ QVERIFY(!p1.isNull());
+ p1 = 0;
+ QVERIFY(p1.isNull());
+}
+
+void tst_QGuard::dereference_operators()
+{
+ QGuard<tst_QGuard> p1 = this;
+
+ QObject *object = p1->me();
+ QVERIFY(object == this);
+
+ QObject &ref = *p1;
+ QVERIFY(&ref == this);
+
+ object = static_cast<QObject *>(p1);
+ QVERIFY(object == this);
+}
+
+void tst_QGuard::disconnect()
+{
+ QGuard<QObject> p1 = new QObject;
+ QVERIFY(!p1.isNull());
+ p1->disconnect();
+ QVERIFY(!p1.isNull());
+ delete static_cast<QObject *>(p1);
+ QVERIFY(p1.isNull());
+}
+
+class ChildObject : public QObject
+{
+ QGuard<QObject> guardedPointer;
+
+public:
+ ChildObject(QObject *parent)
+ : QObject(parent), guardedPointer(parent)
+ { }
+ ~ChildObject();
+};
+
+ChildObject::~ChildObject()
+{
+ QCOMPARE(static_cast<QObject *>(guardedPointer), static_cast<QObject *>(0));
+ QCOMPARE(qobject_cast<QObject *>(guardedPointer), static_cast<QObject *>(0));
+}
+
+class ChildWidget : public QWidget
+{
+ QGuard<QWidget> guardedPointer;
+
+public:
+ ChildWidget(QWidget *parent)
+ : QWidget(parent), guardedPointer(parent)
+ { }
+ ~ChildWidget();
+};
+
+ChildWidget::~ChildWidget()
+{
+ QCOMPARE(static_cast<QWidget *>(guardedPointer), static_cast<QWidget *>(0));
+ QCOMPARE(qobject_cast<QWidget *>(guardedPointer), static_cast<QWidget *>(0));
+}
+
+class DerivedChild;
+
+class DerivedParent : public QObject
+{
+ Q_OBJECT
+
+ DerivedChild *derivedChild;
+
+public:
+ DerivedParent();
+ ~DerivedParent();
+};
+
+class DerivedChild : public QObject
+{
+ Q_OBJECT
+
+ DerivedParent *parentPointer;
+ QGuard<DerivedParent> guardedParentPointer;
+
+public:
+ DerivedChild(DerivedParent *parent)
+ : QObject(parent), parentPointer(parent), guardedParentPointer(parent)
+ { }
+ ~DerivedChild();
+};
+
+DerivedParent::DerivedParent()
+ : QObject()
+{
+ derivedChild = new DerivedChild(this);
+}
+
+DerivedParent::~DerivedParent()
+{
+ delete derivedChild;
+}
+
+DerivedChild::~DerivedChild()
+{
+ QCOMPARE(static_cast<DerivedParent *>(guardedParentPointer), parentPointer);
+ QCOMPARE(qobject_cast<DerivedParent *>(guardedParentPointer), parentPointer);
+}
+
+void tst_QGuard::castDuringDestruction()
+{
+ {
+ QObject *parentObject = new QObject();
+ (void) new ChildObject(parentObject);
+ delete parentObject;
+ }
+
+ {
+ QWidget *parentWidget = new QWidget();
+ (void) new ChildWidget(parentWidget);
+ delete parentWidget;
+ }
+
+ {
+ delete new DerivedParent();
+ }
+}
+
+void tst_QGuard::data() const
+{
+ /* Check value of a default constructed object. */
+ {
+ QGuard<QObject> p;
+ QCOMPARE(p.data(), static_cast<QObject *>(0));
+ }
+
+ /* Check value of a default constructed object. */
+ {
+ QObject *const object = new QObject();
+ QGuard<QObject> p(object);
+ QCOMPARE(p.data(), object);
+ }
+}
+
+void tst_QGuard::dataSignature() const
+{
+ /* data() should be const. */
+ {
+ const QGuard<QObject> p;
+ p.data();
+ }
+
+ /* The return type should be T. */
+ {
+ const QGuard<QWidget> p;
+ /* If the types differs, the QCOMPARE will fail to instansiate. */
+ QCOMPARE(p.data(), static_cast<QWidget *>(0));
+ }
+}
+
+QTEST_MAIN(tst_QGuard)
+#include "tst_qguard.moc"
diff --git a/tests/auto/qhelpenginecore/data/collection.qhc b/tests/auto/qhelpenginecore/data/collection.qhc
index 6fb8abb..bd2f37c 100644
--- a/tests/auto/qhelpenginecore/data/collection.qhc
+++ b/tests/auto/qhelpenginecore/data/collection.qhc
Binary files differ
diff --git a/tests/auto/qhelpenginecore/data/collection1.qhc b/tests/auto/qhelpenginecore/data/collection1.qhc
index 45acf33..de310ea 100644
--- a/tests/auto/qhelpenginecore/data/collection1.qhc
+++ b/tests/auto/qhelpenginecore/data/collection1.qhc
Binary files differ
diff --git a/tests/auto/qhelpenginecore/data/linguist-3.3.8.qch b/tests/auto/qhelpenginecore/data/linguist-3.3.8.qch
index 0b53cd8..ed9a89c 100644
--- a/tests/auto/qhelpenginecore/data/linguist-3.3.8.qch
+++ b/tests/auto/qhelpenginecore/data/linguist-3.3.8.qch
Binary files differ
diff --git a/tests/auto/qhelpenginecore/data/qmake-3.3.8.qch b/tests/auto/qhelpenginecore/data/qmake-3.3.8.qch
index a3ca18a..0e95c14 100644
--- a/tests/auto/qhelpenginecore/data/qmake-3.3.8.qch
+++ b/tests/auto/qhelpenginecore/data/qmake-3.3.8.qch
Binary files differ
diff --git a/tests/auto/qhelpenginecore/data/qmake-4.3.0.qch b/tests/auto/qhelpenginecore/data/qmake-4.3.0.qch
index 8f76134..337d7a1 100644
--- a/tests/auto/qhelpenginecore/data/qmake-4.3.0.qch
+++ b/tests/auto/qhelpenginecore/data/qmake-4.3.0.qch
Binary files differ
diff --git a/tests/auto/qhelpenginecore/data/test.qch b/tests/auto/qhelpenginecore/data/test.qch
index 8a8f7a1..06b789a 100644
--- a/tests/auto/qhelpenginecore/data/test.qch
+++ b/tests/auto/qhelpenginecore/data/test.qch
Binary files differ
diff --git a/tests/auto/qhelpenginecore/tst_qhelpenginecore.cpp b/tests/auto/qhelpenginecore/tst_qhelpenginecore.cpp
index d62c8e5..f9aa653 100644
--- a/tests/auto/qhelpenginecore/tst_qhelpenginecore.cpp
+++ b/tests/auto/qhelpenginecore/tst_qhelpenginecore.cpp
@@ -130,7 +130,7 @@ void tst_QHelpEngineCore::setCollectionFile()
QStringList docs = help.registeredDocumentations();
QCOMPARE(docs.count(), 1);
- QCOMPARE(docs.first(), QLatin1String("trolltech.com.1_0_0.test"));
+ QCOMPARE(docs.first(), QLatin1String("trolltech.com.1-0-0.test"));
}
void tst_QHelpEngineCore::copyCollectionFile()
@@ -177,7 +177,7 @@ void tst_QHelpEngineCore::copyCollectionFile()
i = 0;
while (m_query->next()) {
if (i == 0) {
- QCOMPARE(m_query->value(0).toString(), QString("trolltech.com.3_3_8.qmake"));
+ QCOMPARE(m_query->value(0).toString(), QString("trolltech.com.3-3-8.qmake"));
QCOMPARE(m_query->value(1).toString(), QString("data/qmake-3.3.8.qch"));
}
++i;
@@ -193,9 +193,9 @@ void tst_QHelpEngineCore::copyCollectionFile()
void tst_QHelpEngineCore::namespaceName()
{
QCOMPARE(QHelpEngineCore::namespaceName(m_path + "/data/qmake-3.3.8.qch"),
- QString("trolltech.com.3_3_8.qmake"));
+ QString("trolltech.com.3-3-8.qmake"));
QCOMPARE(QHelpEngineCore::namespaceName(m_path + "/data/linguist-3.3.8.qch"),
- QString("trolltech.com.3_3_8.linguist"));
+ QString("trolltech.com.3-3-8.linguist"));
}
void tst_QHelpEngineCore::registeredDocumentations()
@@ -205,8 +205,8 @@ void tst_QHelpEngineCore::registeredDocumentations()
QStringList docs = help.registeredDocumentations();
QCOMPARE(docs.count(), 3);
QStringList lst;
- lst << "trolltech.com.3_3_8.qmake" << "trolltech.com.4_3_0.qmake"
- << "trolltech.com.1_0_0.test";
+ lst << "trolltech.com.3-3-8.qmake" << "trolltech.com.4-3-0.qmake"
+ << "trolltech.com.1-0-0.test";
foreach (QString s, docs)
lst.removeAll(s);
QCOMPARE(lst.isEmpty(), true);
@@ -236,7 +236,7 @@ void tst_QHelpEngineCore::registerDocumentation()
}
QSqlQuery query(db);
query.exec("SELECT FilePath FROM NamespaceTable WHERE "
- "Name=\'trolltech.com.3_3_8.linguist\'");
+ "Name=\'trolltech.com.3-3-8.linguist\'");
if (query.next())
QCOMPARE(query.value(0).toString(),
QString("linguist-3.3.8.qch"));
@@ -251,7 +251,7 @@ void tst_QHelpEngineCore::unregisterDocumentation()
QHelpEngineCore c(m_colFile);
QCOMPARE(c.setupData(), true);
QCOMPARE(c.registeredDocumentations().count(), 3);
- c.unregisterDocumentation("trolltech.com.3_3_8.qmake");
+ c.unregisterDocumentation("trolltech.com.3-3-8.qmake");
QCOMPARE(c.registeredDocumentations().count(), 2);
QCOMPARE(c.unregisterDocumentation("noexisting"), false);
}
@@ -260,9 +260,9 @@ void tst_QHelpEngineCore::documentationFileName()
{
QHelpEngineCore c(m_colFile);
QCOMPARE(c.setupData(), true);
- QCOMPARE(c.documentationFileName(QLatin1String("trolltech.com.3_3_8.qmake")),
+ QCOMPARE(c.documentationFileName(QLatin1String("trolltech.com.3-3-8.qmake")),
QString(m_path + "/data/qmake-3.3.8.qch"));
- QCOMPARE(c.documentationFileName(QLatin1String("trolltech.com.1_0_0.test")),
+ QCOMPARE(c.documentationFileName(QLatin1String("trolltech.com.1-0-0.test")),
QString(m_path + "/data/test.qch"));
QCOMPARE(c.documentationFileName(QLatin1String("trolltech.com.empty")),
QString());
@@ -337,7 +337,7 @@ void tst_QHelpEngineCore::filterAttributeSets()
{
QHelpEngineCore help(m_colFile, 0);
QCOMPARE(help.setupData(), true);
- QList<QStringList> lst = help.filterAttributeSets("trolltech.com.1_0_0.test");
+ QList<QStringList> lst = help.filterAttributeSets("trolltech.com.1-0-0.test");
QCOMPARE(lst.count(), 2);
QCOMPARE(lst.first().count(), 2);
QCOMPARE((bool)lst.first().contains("filter1"), true);
@@ -348,22 +348,22 @@ void tst_QHelpEngineCore::files()
{
QHelpEngineCore help(m_colFile, 0);
QCOMPARE(help.setupData(), true);
- QList<QUrl> lst = help.files("trolltech.com.4_3_0.qmake",
+ QList<QUrl> lst = help.files("trolltech.com.4-3-0.qmake",
QStringList());
QCOMPARE(lst.count(), 16);
- lst = help.files("trolltech.com.4_3_0.qmake",
+ lst = help.files("trolltech.com.4-3-0.qmake",
QStringList(), "png");
QCOMPARE(lst.count(), 2);
- lst = help.files("trolltech.com.4_3_0.qmake",
+ lst = help.files("trolltech.com.4-3-0.qmake",
QStringList() << "qt", "html");
QCOMPARE(lst.count(), 13);
- lst = help.files("trolltech.com.4_3_0.qmake",
+ lst = help.files("trolltech.com.4-3-0.qmake",
QStringList() << "qt" << "qmake", "html");
QCOMPARE(lst.count(), 13);
- lst = help.files("trolltech.com.4_3_0.qmake",
+ lst = help.files("trolltech.com.4-3-0.qmake",
QStringList() << "qt" << "qmake" << "bla", "html");
QCOMPARE(lst.count(), 0);
- lst = help.files("trolltech.com.4_3_0.qmake",
+ lst = help.files("trolltech.com.4-3-0.qmake",
QStringList() << "qt" << "qmake", "foo");
QCOMPARE(lst.count(), 0);
@@ -378,7 +378,7 @@ void tst_QHelpEngineCore::fileData()
QCOMPARE(help.setupData(), true);
QByteArray ba = help.fileData(QUrl("NotExisting"));
QCOMPARE(ba.size(), 0);
- ba = help.fileData(QUrl("qthelp://trolltech.com.1_0_0.test/testFolder/test.html"));
+ ba = help.fileData(QUrl("qthelp://trolltech.com.1-0-0.test/testFolder/test.html"));
QTextStream s(ba, QIODevice::ReadOnly|QIODevice::Text);
QFile f(m_path + "/data/test.html");
if (!f.open(QIODevice::ReadOnly|QIODevice::Text))
@@ -396,7 +396,7 @@ void tst_QHelpEngineCore::linksForIdentifier()
QCOMPARE(map.contains("Test Manual"), true);
QCOMPARE(map.count(), 1);
QCOMPARE(map.value("Test Manual"),
- QUrl("qthelp://trolltech.com.1_0_0.test/testFolder/test.html#foo"));
+ QUrl("qthelp://trolltech.com.1-0-0.test/testFolder/test.html#foo"));
help.setCurrentFilter("Custom Filter 2");
map = help.linksForIdentifier("People::newton");
@@ -405,7 +405,7 @@ void tst_QHelpEngineCore::linksForIdentifier()
QCOMPARE(map.contains("Fancy"), true);
QCOMPARE(map.count(), 1);
QCOMPARE(map.value("Fancy"),
- QUrl("qthelp://trolltech.com.1_0_0.test/testFolder/fancy.html#foobar"));
+ QUrl("qthelp://trolltech.com.1-0-0.test/testFolder/fancy.html#foobar"));
}
void tst_QHelpEngineCore::customValue()
diff --git a/tests/auto/qhelpgenerator/data/test.qhp b/tests/auto/qhelpgenerator/data/test.qhp
index e9ac7f2..a97c00d 100644
--- a/tests/auto/qhelpgenerator/data/test.qhp
+++ b/tests/auto/qhelpgenerator/data/test.qhp
@@ -38,9 +38,8 @@
</keywords>
<files>
<file>classic.css</file>
- <file>test.html</file>
- <file>people.html</file>
- <file>./sub/about.html</file>
+ <file>[pt]*.html</file>
+ <file>./sub/abou?.html</file>
</files>
</filterSection>
<filterSection>
@@ -69,4 +68,4 @@
<file>cars.html</file>
</files>
</filterSection>
-</QtHelpProject> \ No newline at end of file
+</QtHelpProject>
diff --git a/tests/auto/qhelpindexmodel/data/collection.qhc b/tests/auto/qhelpindexmodel/data/collection.qhc
index 6fb8abb..bd2f37c 100644
--- a/tests/auto/qhelpindexmodel/data/collection.qhc
+++ b/tests/auto/qhelpindexmodel/data/collection.qhc
Binary files differ
diff --git a/tests/auto/qhelpindexmodel/data/collection1.qhc b/tests/auto/qhelpindexmodel/data/collection1.qhc
index 45acf33..de310ea 100644
--- a/tests/auto/qhelpindexmodel/data/collection1.qhc
+++ b/tests/auto/qhelpindexmodel/data/collection1.qhc
Binary files differ
diff --git a/tests/auto/qhelpindexmodel/data/linguist-3.3.8.qch b/tests/auto/qhelpindexmodel/data/linguist-3.3.8.qch
index 0b53cd8..ed9a89c 100644
--- a/tests/auto/qhelpindexmodel/data/linguist-3.3.8.qch
+++ b/tests/auto/qhelpindexmodel/data/linguist-3.3.8.qch
Binary files differ
diff --git a/tests/auto/qhelpindexmodel/data/qmake-3.3.8.qch b/tests/auto/qhelpindexmodel/data/qmake-3.3.8.qch
index a3ca18a..0e95c14 100644
--- a/tests/auto/qhelpindexmodel/data/qmake-3.3.8.qch
+++ b/tests/auto/qhelpindexmodel/data/qmake-3.3.8.qch
Binary files differ
diff --git a/tests/auto/qhelpindexmodel/data/qmake-4.3.0.qch b/tests/auto/qhelpindexmodel/data/qmake-4.3.0.qch
index 8f76134..337d7a1 100644
--- a/tests/auto/qhelpindexmodel/data/qmake-4.3.0.qch
+++ b/tests/auto/qhelpindexmodel/data/qmake-4.3.0.qch
Binary files differ
diff --git a/tests/auto/qhelpindexmodel/data/test.qch b/tests/auto/qhelpindexmodel/data/test.qch
index 1d6c1a8..4ea9847 100644
--- a/tests/auto/qhelpindexmodel/data/test.qch
+++ b/tests/auto/qhelpindexmodel/data/test.qch
Binary files differ
diff --git a/tests/auto/qhelpindexmodel/tst_qhelpindexmodel.cpp b/tests/auto/qhelpindexmodel/tst_qhelpindexmodel.cpp
index 9482def..3adb894 100644
--- a/tests/auto/qhelpindexmodel/tst_qhelpindexmodel.cpp
+++ b/tests/auto/qhelpindexmodel/tst_qhelpindexmodel.cpp
@@ -185,11 +185,11 @@ void tst_QHelpIndexModel::linksForIndex()
QCOMPARE(map.count(), 2);
QCOMPARE(map.contains("Test Manual"), true);
QCOMPARE(map.value("Test Manual"),
- QUrl("qthelp://trolltech.com.1_0_0.test/testFolder/test.html#foo"));
+ QUrl("qthelp://trolltech.com.1-0-0.test/testFolder/test.html#foo"));
QCOMPARE(map.contains("Fancy"), true);
QCOMPARE(map.value("Fancy"),
- QUrl("qthelp://trolltech.com.1_0_0.test/testFolder/fancy.html#foo"));
+ QUrl("qthelp://trolltech.com.1-0-0.test/testFolder/fancy.html#foo"));
map = m->linksForKeyword("foobar");
QCOMPARE(map.count(), 1);
@@ -208,7 +208,7 @@ void tst_QHelpIndexModel::linksForIndex()
QCOMPARE(map.count(), 1);
QCOMPARE(map.contains("Test Manual"), true);
QCOMPARE(map.value("Test Manual"),
- QUrl("qthelp://trolltech.com.1_0_0.test/testFolder/test.html#foo"));
+ QUrl("qthelp://trolltech.com.1-0-0.test/testFolder/test.html#foo"));
}
QTEST_MAIN(tst_QHelpIndexModel)
diff --git a/tests/auto/qhttp/qhttp.pro b/tests/auto/qhttp/qhttp.pro
index 38569ba..8678a19 100644
--- a/tests/auto/qhttp/qhttp.pro
+++ b/tests/auto/qhttp/qhttp.pro
@@ -21,6 +21,8 @@ wince*: {
addFiles.sources = rfc3252.txt trolltech
addFiles.path = .
DEPLOYMENT = addFiles webFiles cgi
+} else:vxworks*: {
+ DEFINES += SRCDIR=\\\"\\\"
} else {
DEFINES += SRCDIR=\\\"$$PWD/\\\"
}
diff --git a/tests/auto/qhttpnetworkconnection/qhttpnetworkconnection.pro b/tests/auto/qhttpnetworkconnection/qhttpnetworkconnection.pro
index 3283873..e19d962 100644
--- a/tests/auto/qhttpnetworkconnection/qhttpnetworkconnection.pro
+++ b/tests/auto/qhttpnetworkconnection/qhttpnetworkconnection.pro
@@ -2,4 +2,6 @@ load(qttest_p4)
SOURCES += tst_qhttpnetworkconnection.cpp
INCLUDEPATH += $$(QTDIR)/src/3rdparty/zlib
+requires(contains(QT_CONFIG,private_tests))
+
QT = core network
diff --git a/tests/auto/qhttpnetworkconnection/tst_qhttpnetworkconnection.cpp b/tests/auto/qhttpnetworkconnection/tst_qhttpnetworkconnection.cpp
index 9fe59c9..a29a292 100644
--- a/tests/auto/qhttpnetworkconnection/tst_qhttpnetworkconnection.cpp
+++ b/tests/auto/qhttpnetworkconnection/tst_qhttpnetworkconnection.cpp
@@ -252,8 +252,8 @@ void tst_QHttpNetworkConnection::get()
QByteArray ba;
do {
QCoreApplication::instance()->processEvents();
- if (reply->bytesAvailable())
- ba += reply->read();
+ while (reply->bytesAvailable())
+ ba += reply->readAny();
if (stopWatch.elapsed() >= 30000)
break;
} while (!reply->isFinished());
@@ -335,7 +335,8 @@ void tst_QHttpNetworkConnection::put()
if (reply->isFinished()) {
QByteArray ba;
- ba += reply->read();
+ while (reply->bytesAvailable())
+ ba += reply->readAny();
} else if(finishedWithErrorCalled) {
if(!succeed) {
delete reply;
@@ -434,8 +435,8 @@ void tst_QHttpNetworkConnection::post()
QByteArray ba;
do {
QCoreApplication::instance()->processEvents();
- if (reply->bytesAvailable())
- ba += reply->read();
+ while (reply->bytesAvailable())
+ ba += reply->readAny();
if (stopWatch.elapsed() >= 30000)
break;
} while (!reply->isFinished());
@@ -634,8 +635,8 @@ void tst_QHttpNetworkConnection::compression()
QByteArray ba;
do {
QCoreApplication::instance()->processEvents();
- if (reply->bytesAvailable())
- ba += reply->read();
+ while (reply->bytesAvailable())
+ ba += reply->readAny();
if (stopWatch.elapsed() >= 30000)
break;
} while (!reply->isFinished());
diff --git a/tests/auto/qhttpnetworkreply/qhttpnetworkreply.pro b/tests/auto/qhttpnetworkreply/qhttpnetworkreply.pro
index 2e41fcd..f86250a 100644
--- a/tests/auto/qhttpnetworkreply/qhttpnetworkreply.pro
+++ b/tests/auto/qhttpnetworkreply/qhttpnetworkreply.pro
@@ -2,4 +2,6 @@ load(qttest_p4)
SOURCES += tst_qhttpnetworkreply.cpp
INCLUDEPATH += $$QT_SOURCE_TREE/src/3rdparty/zlib
+requires(contains(QT_CONFIG,private_tests))
+
QT = core network
diff --git a/tests/auto/qicoimageformat/icons/valid/Qt.ico b/tests/auto/qicoimageformat/icons/valid/Qt.ico
new file mode 100644
index 0000000..fef1dee
--- /dev/null
+++ b/tests/auto/qicoimageformat/icons/valid/Qt.ico
Binary files differ
diff --git a/tests/auto/qicoimageformat/tst_qticoimageformat.cpp b/tests/auto/qicoimageformat/tst_qticoimageformat.cpp
index f29c875..62cb4fe 100644
--- a/tests/auto/qicoimageformat/tst_qticoimageformat.cpp
+++ b/tests/auto/qicoimageformat/tst_qticoimageformat.cpp
@@ -76,6 +76,8 @@ private slots:
void loopCount();
void nextImageDelay_data();
void nextImageDelay();
+ void pngCompression_data();
+ void pngCompression();
private:
QString m_IconPath;
@@ -136,6 +138,7 @@ void tst_QtIcoImageFormat::canRead_data()
QTest::newRow("invalid floppy (first 8 bytes = 0xff)") << "invalid/35floppy.ico" << 0;
QTest::newRow("103x16px, 24BPP") << "valid/trolltechlogo_tiny.ico" << 1;
QTest::newRow("includes 32BPP w/alpha") << "valid/semitransparent.ico" << 1;
+ QTest::newRow("PNG compression") << "valid/Qt.ico" << 1;
}
void tst_QtIcoImageFormat::canRead()
@@ -205,6 +208,7 @@ void tst_QtIcoImageFormat::imageCount_data()
QTest::newRow("16px16c, 32px32c, 32px256c") << "valid/WORLDH.ico" << 3;
QTest::newRow("invalid floppy (first 8 bytes = 0xff)") << "invalid/35floppy.ico" << 0;
QTest::newRow("includes 32BPP w/alpha") << "valid/semitransparent.ico" << 9;
+ QTest::newRow("PNG compression") << "valid/Qt.ico" << 4;
}
@@ -232,6 +236,7 @@ void tst_QtIcoImageFormat::jumpToNextImage_data()
QTest::newRow("16px16c, 32px32c, 32px256c") << "valid/WORLD.ico" << 3;
QTest::newRow("16px16c, 32px32c, 32px256c") << "valid/WORLDH.ico" << 3;
QTest::newRow("includes 32BPP w/alpha") << "valid/semitransparent.ico" << 9;
+ QTest::newRow("PNG compression") << "valid/Qt.ico" << 4;
}
void tst_QtIcoImageFormat::jumpToNextImage()
@@ -281,6 +286,7 @@ void tst_QtIcoImageFormat::nextImageDelay_data()
QTest::newRow("16px16c, 32px32c, 32px256c") << "valid/WORLDH.ico" << 3;
QTest::newRow("invalid floppy (first 8 bytes = 0xff)") << "invalid/35floppy.ico" << -1;
QTest::newRow("includes 32BPP w/alpha") << "valid/semitransparent.ico" << 9;
+ QTest::newRow("PNG compression") << "valid/Qt.ico" << 4;
}
void tst_QtIcoImageFormat::nextImageDelay()
@@ -300,5 +306,32 @@ void tst_QtIcoImageFormat::nextImageDelay()
}
}
+void tst_QtIcoImageFormat::pngCompression_data()
+{
+ QTest::addColumn<QString>("fileName");
+ QTest::addColumn<int>("index");
+ QTest::addColumn<int>("width");
+ QTest::addColumn<int>("height");
+
+ QTest::newRow("PNG compression") << "valid/Qt.ico" << 4 << 256 << 256;
+}
+
+void tst_QtIcoImageFormat::pngCompression()
+{
+ QFETCH(QString, fileName);
+ QFETCH(int, index);
+ QFETCH(int, width);
+ QFETCH(int, height);
+
+ QImageReader reader(m_IconPath + "/" + fileName);
+
+ QImage image;
+ reader.jumpToImage(index);
+ reader.read(&image);
+
+ QCOMPARE(image.width(), width);
+ QCOMPARE(image.height(), height);
+}
+
QTEST_MAIN(tst_QtIcoImageFormat)
#include "tst_qticoimageformat.moc"
diff --git a/tests/auto/qinputcontext/tst_qinputcontext.cpp b/tests/auto/qinputcontext/tst_qinputcontext.cpp
index 67a6819..1ab950e 100644
--- a/tests/auto/qinputcontext/tst_qinputcontext.cpp
+++ b/tests/auto/qinputcontext/tst_qinputcontext.cpp
@@ -1,7 +1,7 @@
/****************************************************************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the test suite of the Qt Toolkit.
**
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/tests/auto/qitemdelegate/tst_qitemdelegate.cpp b/tests/auto/qitemdelegate/tst_qitemdelegate.cpp
index df0853b..31247b3 100644
--- a/tests/auto/qitemdelegate/tst_qitemdelegate.cpp
+++ b/tests/auto/qitemdelegate/tst_qitemdelegate.cpp
@@ -61,6 +61,7 @@
#include <QAbstractItemDelegate>
#include <QTextEdit>
#include <QPlainTextEdit>
+#include <QDialog>
Q_DECLARE_METATYPE(QAbstractItemDelegate::EndEditHint)
@@ -230,6 +231,8 @@ private slots:
void editorEvent();
void enterKey_data();
void enterKey();
+
+ void task257859_finalizeEdit();
};
@@ -1127,6 +1130,36 @@ void tst_QItemDelegate::enterKey()
}
}
+void tst_QItemDelegate::task257859_finalizeEdit()
+{
+ QStandardItemModel model;
+ model.appendRow(new QStandardItem());
+
+ QListView view;
+ view.setModel(&model);
+ view.show();
+ QApplication::setActiveWindow(&view);
+ view.setFocus();
+ QTest::qWait(30);
+
+ QModelIndex index = model.index(0, 0);
+ view.edit(index);
+ QTest::qWait(30);
+
+ QList<QWidget*> lineEditors = qFindChildren<QWidget *>(view.viewport());
+ QCOMPARE(lineEditors.count(), 1);
+
+ QPointer<QWidget> editor = lineEditors.at(0);
+ QCOMPARE(editor->hasFocus(), true);
+
+ QDialog dialog;
+ QTimer::singleShot(100, &dialog, SLOT(close()));
+ dialog.exec();
+
+ QTest::qWait(10);
+
+ QVERIFY(!editor);
+}
// ### _not_ covered:
diff --git a/tests/auto/qitemselectionmodel/tst_qitemselectionmodel.cpp b/tests/auto/qitemselectionmodel/tst_qitemselectionmodel.cpp
index ae64e51..0541b46 100644
--- a/tests/auto/qitemselectionmodel/tst_qitemselectionmodel.cpp
+++ b/tests/auto/qitemselectionmodel/tst_qitemselectionmodel.cpp
@@ -1547,7 +1547,7 @@ void tst_QItemSelectionModel::resetModel()
model.reset();
QVERIFY(view.selectionModel()->selection().isEmpty());
- QVERIFY(view.selectionModel()->hasSelection());
+ QVERIFY(view.selectionModel()->hasSelection() == false);
view.selectionModel()->select(QItemSelection(model.index(0, 0), model.index(5, 5)), QItemSelectionModel::Select);
diff --git a/tests/auto/qitemview/tst_qitemview.cpp b/tests/auto/qitemview/tst_qitemview.cpp
index afe679c..0ea7e0e 100644
--- a/tests/auto/qitemview/tst_qitemview.cpp
+++ b/tests/auto/qitemview/tst_qitemview.cpp
@@ -55,7 +55,7 @@
#if defined(Q_OS_WINCE)
bool qt_wince_is_platform(const QString &platformString) {
- TCHAR tszPlatform[64];
+ wchar_t tszPlatform[64];
if (SystemParametersInfo(SPI_GETPLATFORMTYPE,
sizeof(tszPlatform)/sizeof(*tszPlatform),tszPlatform,0))
if (0 == _tcsicmp(reinterpret_cast<const wchar_t *> (platformString.utf16()), tszPlatform))
diff --git a/tests/auto/qkeysequence/tst_qkeysequence.cpp b/tests/auto/qkeysequence/tst_qkeysequence.cpp
index 1ac7cf5..d0dc5e2 100644
--- a/tests/auto/qkeysequence/tst_qkeysequence.cpp
+++ b/tests/auto/qkeysequence/tst_qkeysequence.cpp
@@ -270,7 +270,7 @@ void tst_QKeySequence::checkMultipleNames()
void tst_QKeySequence::ensureSorted()
{
//### accessing static members from private classes does not work on msvc at the moment
-#ifndef Q_WS_WIN
+#if defined(QT_BUILD_INTERNAL) && !defined(Q_WS_WIN)
uint N = QKeySequencePrivate::numberOfKeyBindings;
uint val = QKeySequencePrivate::keyBindings[0].shortcut;
for ( uint i = 1 ; i < N ; ++i) {
diff --git a/tests/auto/qline/qline.pro b/tests/auto/qline/qline.pro
index 1c4f21a..715774a 100644
--- a/tests/auto/qline/qline.pro
+++ b/tests/auto/qline/qline.pro
@@ -1,4 +1,7 @@
load(qttest_p4)
SOURCES += tst_qline.cpp
QT -= gui
-unix:!mac:!symbian*:LIBS+=-lm
+SOURCES += tst_qline.cpp
+unix:!mac:!symbian*:!vxworks:LIBS+=-lm
+
+
diff --git a/tests/auto/qlistview/tst_qlistview.cpp b/tests/auto/qlistview/tst_qlistview.cpp
index 390ec19..13b68c8 100644
--- a/tests/auto/qlistview/tst_qlistview.cpp
+++ b/tests/auto/qlistview/tst_qlistview.cpp
@@ -112,6 +112,7 @@ private slots:
void task196118_visualRegionForSelection();
void task254449_draggingItemToNegativeCoordinates();
void keyboardSearch();
+ void shiftSelectionWithNonUniformItemSizes();
};
// Testing get/set functions
@@ -1658,5 +1659,71 @@ void tst_QListView::keyboardSearch()
QCOMPARE(view.currentIndex() , model.index(6,0)); //KONQUEROR
}
+void tst_QListView::shiftSelectionWithNonUniformItemSizes()
+{
+ // This checks that no items are selected unexpectedly by Shift-Arrow
+ // when items with non-uniform sizes are laid out in a grid
+ { // First test: QListView::LeftToRight flow
+ QStringList items;
+ items << "Long\nText" << "Text" << "Text" << "Text";
+ QStringListModel model(items);
+
+ QListView view;
+ view.setFixedSize(250, 250);
+ view.setFlow(QListView::LeftToRight);
+ view.setGridSize(QSize(100, 100));
+ view.setSelectionMode(QListView::ExtendedSelection);
+ view.setViewMode(QListView::IconMode);
+ view.setModel(&model);
+ view.show();
+ QTest::qWait(30);
+
+ // Verfify that item sizes are non-uniform
+ QVERIFY(view.sizeHintForIndex(model.index(0, 0)).height() > view.sizeHintForIndex(model.index(1, 0)).height());
+
+ QModelIndex index = model.index(3, 0);
+ view.setCurrentIndex(index);
+ QCOMPARE(view.currentIndex(), index);
+
+ QTest::keyClick(&view, Qt::Key_Up, Qt::ShiftModifier);
+ QTest::qWait(10);
+ QCOMPARE(view.currentIndex(), model.index(1, 0));
+
+ QModelIndexList selected = view.selectionModel()->selectedIndexes();
+ QCOMPARE(selected.count(), 3);
+ QVERIFY(!selected.contains(model.index(0, 0)));
+ }
+ { // Second test: QListView::TopToBottom flow
+ QStringList items;
+ items << "ab" << "a" << "a" << "a";
+ QStringListModel model(items);
+
+ QListView view;
+ view.setFixedSize(250, 250);
+ view.setFlow(QListView::TopToBottom);
+ view.setGridSize(QSize(100, 100));
+ view.setSelectionMode(QListView::ExtendedSelection);
+ view.setViewMode(QListView::IconMode);
+ view.setModel(&model);
+ view.show();
+ QTest::qWait(30);
+
+ // Verfify that item sizes are non-uniform
+ QVERIFY(view.sizeHintForIndex(model.index(0, 0)).width() > view.sizeHintForIndex(model.index(1, 0)).width());
+
+ QModelIndex index = model.index(3, 0);
+ view.setCurrentIndex(index);
+ QCOMPARE(view.currentIndex(), index);
+
+ QTest::keyClick(&view, Qt::Key_Left, Qt::ShiftModifier);
+ QTest::qWait(10);
+ QCOMPARE(view.currentIndex(), model.index(1, 0));
+
+ QModelIndexList selected = view.selectionModel()->selectedIndexes();
+ QCOMPARE(selected.count(), 3);
+ QVERIFY(!selected.contains(model.index(0, 0)));
+ }
+}
+
QTEST_MAIN(tst_QListView)
#include "tst_qlistview.moc"
diff --git a/tests/auto/qlocale/tst_qlocale.cpp b/tests/auto/qlocale/tst_qlocale.cpp
index 9c33ace..6301d40 100644
--- a/tests/auto/qlocale/tst_qlocale.cpp
+++ b/tests/auto/qlocale/tst_qlocale.cpp
@@ -335,9 +335,8 @@ void tst_QLocale::emptyCtor()
{ \
/* Test constructor without arguments. Needs separate process */ \
/* because of caching of the system locale. */ \
- QString oldEnv = QString::fromLocal8Bit(qgetenv("LANG")); \
- qputenv("LANG", QString(req_lc).toLocal8Bit()); \
QProcess process; \
+ process.setEnvironment(QStringList(env) << QString("LANG=%1").arg(req_lc)); \
process.start("syslocaleapp/syslocaleapp"); \
process.waitForReadyRead(); \
QString ret = QString(process.readAll()); \
@@ -345,18 +344,23 @@ void tst_QLocale::emptyCtor()
QVERIFY2(!ret.isEmpty(), "Cannot launch external process"); \
QVERIFY2(QString(exp_str) == ret, QString("Expected: " + QString(exp_str) + ", got: " \
+ ret + ". Requested: " + QString(req_lc)).toLatin1().constData()); \
- qputenv("LANG", oldEnv.toLocal8Bit()); \
+ }
+
+ // Get an environment free of any locale-related variables
+ QStringList env;
+ foreach (QString const& entry, QProcess::systemEnvironment()) {
+ if (entry.startsWith("LANG=") || entry.startsWith("LC_"))
+ continue;
+ env << entry;
}
// Get default locale.
- QString old = QString::fromLocal8Bit(qgetenv("LANG"));
- qputenv("LANG", "");
QProcess p;
+ p.setEnvironment(env);
p.start("syslocaleapp/syslocaleapp");
p.waitForReadyRead();
QString defaultLoc = QString(p.readAll());
p.waitForFinished();
- qputenv("LANG", old.toLocal8Bit());
TEST_CTOR("C", "C")
TEST_CTOR("bla", "C")
@@ -1101,12 +1105,7 @@ void tst_QLocale::macDefaultLocale()
static QString getWinLocaleInfo(LCTYPE type)
{
LCID id = GetThreadLocale();
- int cnt = 0;
- QT_WA({
- cnt = GetLocaleInfoW(id, type, 0, 0)*2;
- } , {
- cnt = GetLocaleInfoA(id, type, 0, 0);
- });
+ int cnt = GetLocaleInfo(id, type, 0, 0) * 2;
if (cnt == 0) {
qWarning("QLocale: empty windows locale info (%d)", type);
@@ -1115,38 +1114,20 @@ static QString getWinLocaleInfo(LCTYPE type)
QByteArray buff(cnt, 0);
- QT_WA({
- cnt = GetLocaleInfoW(id, type,
- reinterpret_cast<wchar_t*>(buff.data()),
- buff.size()/2);
- } , {
- cnt = GetLocaleInfoA(id, type,
- buff.data(), buff.size());
- });
+ cnt = GetLocaleInfo(id, type, reinterpret_cast<wchar_t*>(buff.data()), buff.size() / 2);
if (cnt == 0) {
qWarning("QLocale: empty windows locale info (%d)", type);
return QString();
}
- QString result;
- QT_WA({
- result = QString::fromUtf16(reinterpret_cast<ushort*>(buff.data()));
- } , {
- result = QString::fromLocal8Bit(buff.data());
- });
- return result;
+ return QString::fromWCharArray(reinterpret_cast<wchar_t*>(buff.data()));
}
static void setWinLocaleInfo(LCTYPE type, const QString &value)
{
LCID id = GetThreadLocale();
-
- QT_WA({
- SetLocaleInfoW(id, type, reinterpret_cast<const wchar_t*>(value.utf16()));
- } , {
- SetLocaleInfoA(id, type, value.toLocal8Bit());
- });
+ SetLocaleInfo(id, type, reinterpret_cast<const wchar_t*>(value.utf16()));
}
class RestoreLocaleHelper {
diff --git a/tests/auto/qlocalsocket/tst_qlocalsocket.cpp b/tests/auto/qlocalsocket/tst_qlocalsocket.cpp
index e20105b..d1daf00 100644
--- a/tests/auto/qlocalsocket/tst_qlocalsocket.cpp
+++ b/tests/auto/qlocalsocket/tst_qlocalsocket.cpp
@@ -87,6 +87,8 @@ private slots:
void sendData_data();
void sendData();
+ void readBufferOverflow();
+
void fullPath();
void hitMaximumConnections_data();
@@ -109,6 +111,7 @@ private slots:
void recycleServer();
void multiConnect();
+ void writeOnlySocket();
void debug();
@@ -558,6 +561,37 @@ void tst_QLocalSocket::sendData()
QCOMPARE(spy.count(), (canListen ? 1 : 0));
}
+void tst_QLocalSocket::readBufferOverflow()
+{
+ const int readBufferSize = 128;
+ const int dataBufferSize = readBufferSize * 2;
+ const QString serverName = QLatin1String("myPreciousTestServer");
+ LocalServer server;
+ server.listen(serverName);
+ QVERIFY(server.isListening());
+
+ LocalSocket client;
+ client.setReadBufferSize(readBufferSize);
+ client.connectToServer(serverName);
+
+ bool timedOut = true;
+ QVERIFY(server.waitForNewConnection(3000, &timedOut));
+ QVERIFY(!timedOut);
+
+ QCOMPARE(client.state(), QLocalSocket::ConnectedState);
+ QVERIFY(server.hasPendingConnections());
+
+ QLocalSocket* serverSocket = server.nextPendingConnection();
+ char* buffer = (char*)qMalloc(dataBufferSize);
+ memset(buffer, 0, dataBufferSize);
+ serverSocket->write(buffer, dataBufferSize);
+ serverSocket->flush();
+ qFree(buffer);
+
+ QVERIFY(client.waitForReadyRead());
+ QCOMPARE(client.readAll().size(), dataBufferSize);
+}
+
// QLocalSocket/Server can take a name or path, check that it works as expected
void tst_QLocalSocket::fullPath()
{
@@ -926,6 +960,22 @@ void tst_QLocalSocket::multiConnect()
QVERIFY(server.nextPendingConnection() != 0);
}
+void tst_QLocalSocket::writeOnlySocket()
+{
+ QLocalServer server;
+ QVERIFY(server.listen("writeOnlySocket"));
+
+ QLocalSocket client;
+ client.connectToServer("writeOnlySocket", QIODevice::WriteOnly);
+ QVERIFY(client.waitForConnected());
+
+ QVERIFY(server.waitForNewConnection());
+ QLocalSocket* serverSocket = server.nextPendingConnection();
+
+ QCOMPARE(client.bytesAvailable(), qint64(0));
+ QCOMPARE(client.state(), QLocalSocket::ConnectedState);
+}
+
void tst_QLocalSocket::debug()
{
// Make sure this compiles
diff --git a/tests/auto/qmainwindow/tst_qmainwindow.cpp b/tests/auto/qmainwindow/tst_qmainwindow.cpp
index e46c2e1..6ae7a3e 100644
--- a/tests/auto/qmainwindow/tst_qmainwindow.cpp
+++ b/tests/auto/qmainwindow/tst_qmainwindow.cpp
@@ -1400,6 +1400,7 @@ void AddDockWidget::apply(QMainWindow *mw) const
}
}
+#ifdef QT_BUILD_INTERNAL
struct MoveSeparator
{
MoveSeparator() {}
@@ -1436,6 +1437,7 @@ void MoveSeparator::apply(QMainWindow *mw) const
l->layoutState.dockAreaLayout.separatorMove(path, QPoint(0, 0), QPoint(delta, delta));
}
+#endif
QMap<QString, QRect> dockWidgetGeometries(QMainWindow *mw)
{
@@ -1463,6 +1465,7 @@ QMap<QString, QRect> dockWidgetGeometries(QMainWindow *mw)
void tst_QMainWindow::saveRestore_data()
{
+#ifdef QT_BUILD_INTERNAL
QTest::addColumn<AddList >("addList");
QTest::addColumn<MoveList >("moveList");
@@ -1497,10 +1500,12 @@ void tst_QMainWindow::saveRestore_data()
<< MoveSeparator(-30, "right1")
<< MoveSeparator(30, "right2a")
);
+#endif
}
void tst_QMainWindow::saveRestore()
{
+#ifdef QT_BUILD_INTERNAL
QFETCH(AddList, addList);
QFETCH(MoveList, moveList);
@@ -1570,6 +1575,7 @@ void tst_QMainWindow::saveRestore()
mainWindow.show();
COMPARE_DOCK_WIDGET_GEOS(dockWidgetGeos, dockWidgetGeometries(&mainWindow));
}
+#endif
}
void tst_QMainWindow::iconSizeChanged()
diff --git a/tests/auto/qmake/testdata/simple_app_build/README b/tests/auto/qmake/testdata/simple_app_build/README
new file mode 100644
index 0000000..81dc596
--- /dev/null
+++ b/tests/auto/qmake/testdata/simple_app_build/README
@@ -0,0 +1 @@
+Placeholder file to ensure this directory exists
diff --git a/tests/auto/qmenu/tst_qmenu.cpp b/tests/auto/qmenu/tst_qmenu.cpp
index 9568e69..4945d11 100644
--- a/tests/auto/qmenu/tst_qmenu.cpp
+++ b/tests/auto/qmenu/tst_qmenu.cpp
@@ -95,6 +95,8 @@ private slots:
void task250673_activeMultiColumnSubMenuPosition();
void task256918_setFont();
void menuSizeHint();
+ void task258920_mouseBorder();
+ void setFixedWidth();
protected slots:
void onActivated(QAction*);
void onHighlighted(QAction*);
@@ -770,5 +772,51 @@ void tst_QMenu::menuSizeHint()
QCOMPARE(resSize, menu.sizeHint());
}
+class Menu258920 : public QMenu
+{
+ Q_OBJECT
+public slots:
+ void paintEvent(QPaintEvent *e)
+ {
+ QMenu::paintEvent(e);
+ painted = true;
+ }
+
+public:
+ bool painted;
+};
+
+void tst_QMenu::task258920_mouseBorder()
+{
+ Menu258920 menu;
+ QAction *action = menu.addAction("test");
+
+ menu.popup(QPoint());
+ QTest::qWait(100);
+ QRect actionRect = menu.actionGeometry(action);
+ QTest::mouseMove(&menu, actionRect.center());
+ QTest::qWait(30);
+ QTest::mouseMove(&menu, actionRect.center() + QPoint(10, 0));
+ QTest::qWait(30);
+ QCOMPARE(action, menu.activeAction());
+ menu.painted = false;
+ QTest::mouseMove(&menu, QPoint(actionRect.center().x(), actionRect.bottom() + 1));
+ QTest::qWait(30);
+ QCOMPARE(static_cast<QAction*>(0), menu.activeAction());
+ QVERIFY(menu.painted);
+}
+
+void tst_QMenu::setFixedWidth()
+{
+ QMenu menu;
+ menu.addAction("action");
+ menu.setFixedWidth(300);
+ //the sizehint should reflect the minimumwidth because the action will try to
+ //get as much space as possible
+ QCOMPARE(menu.sizeHint().width(), menu.minimumWidth());
+}
+
+
+
QTEST_MAIN(tst_QMenu)
#include "tst_qmenu.moc"
diff --git a/tests/auto/qmenubar/tst_qmenubar.cpp b/tests/auto/qmenubar/tst_qmenubar.cpp
index 197d6f0..6e98c2a 100644
--- a/tests/auto/qmenubar/tst_qmenubar.cpp
+++ b/tests/auto/qmenubar/tst_qmenubar.cpp
@@ -1580,8 +1580,9 @@ void tst_QMenuBar::menubarSizeHint()
return 11;
case PM_MenuBarPanelWidth:
return 1;
+ default:
+ return QWindowsStyle::pixelMetric(metric, option, widget);
}
- return QWindowsStyle::pixelMetric(metric, option, widget);
}
} style;
diff --git a/tests/auto/qmetaobject/qmetaobject.pro b/tests/auto/qmetaobject/qmetaobject.pro
index 22119bc..1df54f7 100644
--- a/tests/auto/qmetaobject/qmetaobject.pro
+++ b/tests/auto/qmetaobject/qmetaobject.pro
@@ -1,4 +1,7 @@
load(qttest_p4)
+
+QT = core gui
+
SOURCES += tst_qmetaobject.cpp
diff --git a/tests/auto/qmetaobject/tst_qmetaobject.cpp b/tests/auto/qmetaobject/tst_qmetaobject.cpp
index dea0ffb..ac2858c 100644
--- a/tests/auto/qmetaobject/tst_qmetaobject.cpp
+++ b/tests/auto/qmetaobject/tst_qmetaobject.cpp
@@ -108,6 +108,8 @@ class tst_QMetaObject : public QObject
Q_PROPERTY(int value6 READ value6 NOTIFY value6Changed)
Q_PROPERTY(MyStruct value7 READ value7 WRITE setVal7 NOTIFY value7Changed)
Q_PROPERTY(int value8 READ value8 NOTIFY value8Changed)
+ Q_PROPERTY(int value9 READ value9 CONSTANT)
+ Q_PROPERTY(int value10 READ value10 FINAL)
public:
enum EnumType { EnumType1 };
@@ -137,6 +139,10 @@ public:
int value8() const { return 1; }
+ int value9() const { return 1; }
+
+ int value10() const { return 1; }
+
QList<QVariant> value4;
QVariantList value5;
@@ -159,6 +165,8 @@ private slots:
void customPropertyType();
void checkScope();
void propertyNotify();
+ void propertyConstant();
+ void propertyFinal();
void stdSet();
void classInfo();
@@ -785,6 +793,32 @@ void tst_QMetaObject::propertyNotify()
QCOMPARE(signal.signature(), (const char *)0);
}
+void tst_QMetaObject::propertyConstant()
+{
+ const QMetaObject *mo = metaObject();
+
+ QMetaProperty prop = mo->property(mo->indexOfProperty("value8"));
+ QVERIFY(prop.isValid());
+ QVERIFY(!prop.isConstant());
+
+ prop = mo->property(mo->indexOfProperty("value9"));
+ QVERIFY(prop.isValid());
+ QVERIFY(prop.isConstant());
+}
+
+void tst_QMetaObject::propertyFinal()
+{
+ const QMetaObject *mo = metaObject();
+
+ QMetaProperty prop = mo->property(mo->indexOfProperty("value10"));
+ QVERIFY(prop.isValid());
+ QVERIFY(prop.isFinal());
+
+ prop = mo->property(mo->indexOfProperty("value9"));
+ QVERIFY(prop.isValid());
+ QVERIFY(!prop.isFinal());
+}
+
class ClassInfoTestObjectA : public QObject
{
Q_OBJECT
diff --git a/tests/auto/qnativesocketengine/qnativesocketengine.pro b/tests/auto/qnativesocketengine/qnativesocketengine.pro
index 320f24c..ad40d53 100644
--- a/tests/auto/qnativesocketengine/qnativesocketengine.pro
+++ b/tests/auto/qnativesocketengine/qnativesocketengine.pro
@@ -3,6 +3,8 @@ SOURCES += tst_qnativesocketengine.cpp
include(../qnativesocketengine/qsocketengine.pri)
+requires(contains(QT_CONFIG,private_tests))
+
MOC_DIR=tmp
QT = core network
diff --git a/tests/auto/qnetworkreply/qnetworkreply.pro b/tests/auto/qnetworkreply/qnetworkreply.pro
index 0bcf067..fd8454c 100644
--- a/tests/auto/qnetworkreply/qnetworkreply.pro
+++ b/tests/auto/qnetworkreply/qnetworkreply.pro
@@ -1,4 +1,6 @@
TEMPLATE = subdirs
SUBDIRS = test
+requires(contains(QT_CONFIG,private_tests))
+
!wince*:SUBDIRS += echo
diff --git a/tests/auto/qnetworkreply/tst_qnetworkreply.cpp b/tests/auto/qnetworkreply/tst_qnetworkreply.cpp
index 3817d9e..ea493c7 100644
--- a/tests/auto/qnetworkreply/tst_qnetworkreply.cpp
+++ b/tests/auto/qnetworkreply/tst_qnetworkreply.cpp
@@ -122,6 +122,7 @@ class tst_QNetworkReply: public QObject
MyCookieJar *cookieJar;
#ifndef QT_NO_OPENSSL
QSslConfiguration storedSslConfiguration;
+ QList<QSslError> storedExpectedSslErrors;
#endif
public:
@@ -135,9 +136,11 @@ public Q_SLOTS:
void gotError();
void authenticationRequired(QNetworkReply*,QAuthenticator*);
void proxyAuthenticationRequired(const QNetworkProxy &,QAuthenticator*);
+
#ifndef QT_NO_OPENSSL
void sslErrors(QNetworkReply*,const QList<QSslError> &);
void storeSslConfiguration();
+ void ignoreSslErrorListSlot(QNetworkReply *reply, const QList<QSslError> &);
#endif
protected Q_SLOTS:
@@ -229,8 +232,10 @@ private Q_SLOTS:
void rateControl();
void downloadPerformance();
void uploadPerformance();
- void httpUploadPerformance();
void performanceControlRate();
+ void httpUploadPerformance();
+ void httpDownloadPerformance_data();
+ void httpDownloadPerformance();
void downloadProgress_data();
void downloadProgress();
@@ -254,6 +259,13 @@ private Q_SLOTS:
void authorizationError();
void httpConnectionCount();
+
+#ifndef QT_NO_OPENSSL
+ void ignoreSslErrorsList_data();
+ void ignoreSslErrorsList();
+ void ignoreSslErrorsListWithSlot_data();
+ void ignoreSslErrorsListWithSlot();
+#endif
};
QT_BEGIN_NAMESPACE
@@ -511,10 +523,10 @@ public:
QTcpSocket *active = new QTcpSocket(this);
active->connectToHost("127.0.0.1", server.serverPort());
#ifndef Q_OS_SYMBIAN
- if (!active->waitForConnected(10))
+ if (!active->waitForConnected(100))
return false;
- if (!server.waitForNewConnection(10))
+ if (!server.waitForNewConnection(100))
return false;
#else
if (!active->waitForConnected(5000))
@@ -841,6 +853,92 @@ protected:
}
};
+class HttpDownloadPerformanceClient : QObject {
+ Q_OBJECT;
+ QIODevice *device;
+ public:
+ HttpDownloadPerformanceClient (QIODevice *dev) : device(dev){
+ connect(dev, SIGNAL(readyRead()), this, SLOT(readyReadSlot()));
+ }
+
+ public slots:
+ void readyReadSlot() {
+ device->readAll();
+ }
+
+};
+
+class HttpDownloadPerformanceServer : QObject {
+ Q_OBJECT;
+ qint64 dataSize;
+ qint64 dataSent;
+ QTcpServer server;
+ QTcpSocket *client;
+ bool serverSendsContentLength;
+ bool chunkedEncoding;
+
+public:
+ HttpDownloadPerformanceServer (qint64 ds, bool sscl, bool ce) : dataSize(ds), dataSent(0),
+ client(0), serverSendsContentLength(sscl), chunkedEncoding(ce) {
+ server.listen();
+ connect(&server, SIGNAL(newConnection()), this, SLOT(newConnectionSlot()));
+ }
+
+ int serverPort() {
+ return server.serverPort();
+ }
+
+public slots:
+
+ void newConnectionSlot() {
+ client = server.nextPendingConnection();
+ client->setParent(this);
+ connect(client, SIGNAL(readyRead()), this, SLOT(readyReadSlot()));
+ connect(client, SIGNAL(bytesWritten(qint64)), this, SLOT(bytesWrittenSlot(qint64)));
+ }
+
+ void readyReadSlot() {
+ client->readAll();
+ client->write("HTTP/1.0 200 OK\n");
+ if (serverSendsContentLength)
+ client->write(QString("Content-Length: " + QString::number(dataSize) + "\n").toAscii());
+ if (chunkedEncoding)
+ client->write(QString("Transfer-Encoding: chunked\n").toAscii());
+ client->write("Connection: close\n\n");
+ }
+
+ void bytesWrittenSlot(qint64 amount) {
+ Q_UNUSED(amount);
+ if (dataSent == dataSize && client) {
+ // close eventually
+
+ // chunked encoding: we have to send a last "empty" chunk
+ if (chunkedEncoding)
+ client->write(QString("0\r\n\r\n").toAscii());
+
+ client->disconnectFromHost();
+ server.close();
+ client = 0;
+ return;
+ }
+
+ // send data
+ if (client && client->bytesToWrite() < 100*1024 && dataSent < dataSize) {
+ qint64 amount = qMin(qint64(16*1024), dataSize - dataSent);
+ QByteArray data(amount, '@');
+
+ if (chunkedEncoding) {
+ client->write(QString(QString("%1").arg(amount,0,16).toUpper() + "\r\n").toAscii());
+ client->write(data.constData(), amount);
+ client->write(QString("\r\n").toAscii());
+ } else {
+ client->write(data.constData(), amount);
+ }
+
+ dataSent += amount;
+ }
+ }
+};
tst_QNetworkReply::tst_QNetworkReply()
@@ -1023,6 +1121,7 @@ void tst_QNetworkReply::stateChecking()
QCOMPARE(reply->request(), req);
QCOMPARE(int(reply->operation()), int(QNetworkAccessManager::GetOperation));
QCOMPARE(reply->error(), QNetworkReply::NoError);
+ QCOMPARE(reply->isFinished(), false);
QCOMPARE(reply->url(), url);
reply->abort();
@@ -1344,6 +1443,9 @@ void tst_QNetworkReply::getErrors()
QTEST(reply->readAll().isEmpty(), "dataIsEmpty");
+ QVERIFY(reply->isFinished());
+ QVERIFY(!reply->isRunning());
+
QFETCH(int, httpStatusCode);
if (httpStatusCode != 0) {
QCOMPARE(reply->attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt(), httpStatusCode);
@@ -3212,7 +3314,7 @@ void tst_QNetworkReply::uploadPerformance()
void tst_QNetworkReply::httpUploadPerformance()
{
- enum {UploadSize = 1000*1024*1024}; // 1000 MB
+ enum {UploadSize = 128*1024*1024}; // 128 MB
ThreadedDataReaderHttpServer reader;
FixedSizeDataGenerator generator(UploadSize);
@@ -3230,11 +3332,11 @@ void tst_QNetworkReply::httpUploadPerformance()
QVERIFY(!QTestEventLoop::instance().timeout());
qint64 elapsed = time.elapsed();
- qWarning() << "tst_QNetworkReply::httpUploadPerformance" << elapsed << "msec, "
+ qDebug() << "tst_QNetworkReply::httpUploadPerformance" << elapsed << "msec, "
<< ((UploadSize/1024.0)/(elapsed/1000.0)) << " kB/sec";
reader.exit();
- reader.wait(3000);
+ reader.wait();
}
@@ -3262,6 +3364,41 @@ void tst_QNetworkReply::performanceControlRate()
<< elapsedTime << "ms";
}
+void tst_QNetworkReply::httpDownloadPerformance_data()
+{
+ QTest::addColumn<bool>("serverSendsContentLength");
+ QTest::addColumn<bool>("chunkedEncoding");
+
+ QTest::newRow("Server sends no Content-Length") << false << false;
+ QTest::newRow("Server sends Content-Length") << true << false;
+ QTest::newRow("Server uses chunked encoding") << false << true;
+
+}
+
+void tst_QNetworkReply::httpDownloadPerformance()
+{
+ QFETCH(bool, serverSendsContentLength);
+ QFETCH(bool, chunkedEncoding);
+
+ enum {UploadSize = 128*1024*1024}; // 128 MB
+ HttpDownloadPerformanceServer server(UploadSize, serverSendsContentLength, chunkedEncoding);
+
+ QNetworkRequest request(QUrl("http://127.0.0.1:" + QString::number(server.serverPort()) + "/?bare=1"));
+ QNetworkReplyPtr reply = manager.get(request);
+
+ connect(reply, SIGNAL(finished()), &QTestEventLoop::instance(), SLOT(exitLoop()), Qt::QueuedConnection);
+ HttpDownloadPerformanceClient client(reply);
+
+ QTime time;
+ time.start();
+ QTestEventLoop::instance().enterLoop(40);
+ QVERIFY(!QTestEventLoop::instance().timeout());
+
+ qint64 elapsed = time.elapsed();
+ qDebug() << "tst_QNetworkReply::httpDownloadPerformance" << elapsed << "msec, "
+ << ((UploadSize/1024.0)/(elapsed/1000.0)) << " kB/sec";
+}
+
void tst_QNetworkReply::downloadProgress_data()
{
QTest::addColumn<int>("loopCount");
@@ -3286,6 +3423,8 @@ void tst_QNetworkReply::downloadProgress()
connect(reply, SIGNAL(downloadProgress(qint64,qint64)),
&QTestEventLoop::instance(), SLOT(exitLoop()));
QVERIFY(spy.isValid());
+ QVERIFY(!reply->isFinished());
+ QVERIFY(reply->isRunning());
QCoreApplication::instance()->processEvents();
if (!server.hasPendingConnections())
@@ -3315,6 +3454,8 @@ void tst_QNetworkReply::downloadProgress()
#endif
QVERIFY(!QTestEventLoop::instance().timeout());
QVERIFY(spy.count() > 0);
+ QVERIFY(!reply->isFinished());
+ QVERIFY(reply->isRunning());
QList<QVariant> args = spy.last();
QCOMPARE(args.at(0).toInt(), i*data.size());
@@ -3332,6 +3473,8 @@ void tst_QNetworkReply::downloadProgress()
#endif
QVERIFY(!QTestEventLoop::instance().timeout());
QVERIFY(spy.count() > 0);
+ QVERIFY(!reply->isRunning());
+ QVERIFY(reply->isFinished());
QList<QVariant> args = spy.last();
QCOMPARE(args.at(0).toInt(), loopCount * data.size());
@@ -3592,7 +3735,7 @@ void tst_QNetworkReply::httpProxyCommands_data()
<< QUrl("http://0.0.0.0:4443/http-request")
<< QByteArray("HTTP/1.0 200 OK\r\nProxy-Connection: close\r\nContent-Length: 1\r\n\r\n1")
<< "GET http://0.0.0.0:4443/http-request HTTP/1.";
-#ifndef QT_NO_SSL
+#ifndef QT_NO_OPENSSL
QTest::newRow("https")
<< QUrl("https://0.0.0.0:4443/https-request")
<< QByteArray("HTTP/1.0 200 Connection Established\r\n\r\n")
@@ -3766,5 +3909,81 @@ void tst_QNetworkReply::httpConnectionCount()
QCOMPARE(pendingConnectionCount, 6);
}
+#ifndef QT_NO_OPENSSL
+void tst_QNetworkReply::ignoreSslErrorsList_data()
+{
+ QTest::addColumn<QString>("url");
+ QTest::addColumn<QList<QSslError> >("expectedSslErrors");
+ QTest::addColumn<QNetworkReply::NetworkError>("expectedNetworkError");
+
+ QList<QSslError> expectedSslErrors;
+ // apparently, because of some weird behaviour of SRCDIR, the file name below needs to start with a slash
+ QList<QSslCertificate> certs = QSslCertificate::fromPath(QLatin1String(SRCDIR "/../qsslsocket/certs/qt-test-server-cacert.pem"));
+ QSslError rightError(QSslError::SelfSignedCertificate, certs.at(0));
+ QSslError wrongError(QSslError::SelfSignedCertificate);
+
+ QTest::newRow("SSL-failure-empty-list") << "https://" + QtNetworkSettings::serverName() + "/index.html" << expectedSslErrors << QNetworkReply::SslHandshakeFailedError;
+ expectedSslErrors.append(wrongError);
+ QTest::newRow("SSL-failure-wrong-error") << "https://" + QtNetworkSettings::serverName() + "/index.html" << expectedSslErrors << QNetworkReply::SslHandshakeFailedError;
+ expectedSslErrors.append(rightError);
+ QTest::newRow("allErrorsInExpectedList1") << "https://" + QtNetworkSettings::serverName() + "/index.html" << expectedSslErrors << QNetworkReply::NoError;
+ expectedSslErrors.removeAll(wrongError);
+ QTest::newRow("allErrorsInExpectedList2") << "https://" + QtNetworkSettings::serverName() + "/index.html" << expectedSslErrors << QNetworkReply::NoError;
+ expectedSslErrors.removeAll(rightError);
+ QTest::newRow("SSL-failure-empty-list-again") << "https://" + QtNetworkSettings::serverName() + "/index.html" << expectedSslErrors << QNetworkReply::SslHandshakeFailedError;
+}
+
+void tst_QNetworkReply::ignoreSslErrorsList()
+{
+ QFETCH(QString, url);
+ QNetworkRequest request(url);
+ QNetworkReplyPtr reply = manager.get(request);
+
+ QFETCH(QList<QSslError>, expectedSslErrors);
+ reply->ignoreSslErrors(expectedSslErrors);
+
+ connect(reply, SIGNAL(finished()), &QTestEventLoop::instance(), SLOT(exitLoop()));
+ QTestEventLoop::instance().enterLoop(10);
+ QVERIFY(!QTestEventLoop::instance().timeout());
+
+ QFETCH(QNetworkReply::NetworkError, expectedNetworkError);
+ QCOMPARE(reply->error(), expectedNetworkError);
+}
+
+void tst_QNetworkReply::ignoreSslErrorsListWithSlot_data()
+{
+ ignoreSslErrorsList_data();
+}
+
+// this is not a test, just a slot called in the test below
+void tst_QNetworkReply::ignoreSslErrorListSlot(QNetworkReply *reply, const QList<QSslError> &)
+{
+ reply->ignoreSslErrors(storedExpectedSslErrors);
+}
+
+// do the same as in ignoreSslErrorsList, but ignore the errors in the slot
+void tst_QNetworkReply::ignoreSslErrorsListWithSlot()
+{
+ QFETCH(QString, url);
+ QNetworkRequest request(url);
+ QNetworkReplyPtr reply = manager.get(request);
+
+ QFETCH(QList<QSslError>, expectedSslErrors);
+ // store the errors to ignore them later in the slot connected below
+ storedExpectedSslErrors = expectedSslErrors;
+ connect(&manager, SIGNAL(sslErrors(QNetworkReply *, const QList<QSslError> &)),
+ this, SLOT(ignoreSslErrorListSlot(QNetworkReply *, const QList<QSslError> &)));
+
+
+ connect(reply, SIGNAL(finished()), &QTestEventLoop::instance(), SLOT(exitLoop()));
+ QTestEventLoop::instance().enterLoop(10);
+ QVERIFY(!QTestEventLoop::instance().timeout());
+
+ QFETCH(QNetworkReply::NetworkError, expectedNetworkError);
+ QCOMPARE(reply->error(), expectedNetworkError);
+}
+
+#endif // QT_NO_OPENSSL
+
QTEST_MAIN(tst_QNetworkReply)
#include "tst_qnetworkreply.moc"
diff --git a/tests/auto/qnumeric/tst_qnumeric.cpp b/tests/auto/qnumeric/tst_qnumeric.cpp
index fb01e1b..0c83db4 100644
--- a/tests/auto/qnumeric/tst_qnumeric.cpp
+++ b/tests/auto/qnumeric/tst_qnumeric.cpp
@@ -41,6 +41,7 @@
#include <QtTest/QtTest>
+#include <QtGlobal>
#include <math.h>
@@ -97,8 +98,12 @@ void tst_QNumeric::qNan()
if (0 > nan)
QFAIL("compiler thinks 0 > nan");
+# if defined(Q_CC_DIAB)
+ QWARN("!(0 < nan) would fail due to a bug in dcc");
+# else
if (0 < nan)
QFAIL("compiler thinks 0 < nan");
+# endif
#endif
QVERIFY(qIsNaN(nan));
QVERIFY(qIsNaN(nan + 1));
diff --git a/tests/auto/qobject/tst_qobject.cpp b/tests/auto/qobject/tst_qobject.cpp
index f2d3651..b602de1 100644
--- a/tests/auto/qobject/tst_qobject.cpp
+++ b/tests/auto/qobject/tst_qobject.cpp
@@ -118,6 +118,7 @@ private slots:
void connectToSender();
void qobjectConstCast();
void uniqConnection();
+ void interfaceIid();
protected:
};
@@ -2438,12 +2439,15 @@ void tst_QObject::recursiveSignalEmission()
{
#if defined(Q_OS_SYMBIAN) && defined(Q_CC_NOKIAX86)
QSKIP("Emulator builds in Symbian do not support launching processes linking to Qt", SkipAll);
-#endif
+#elif defined(QT_NO_PROCESS)
+ QSKIP("Test requires QProcess", SkipAll);
+#else
QProcess proc;
proc.start("./signalbug");
QVERIFY(proc.waitForFinished());
QVERIFY(proc.exitStatus() == QProcess::NormalExit);
QCOMPARE(proc.exitCode(), 0);
+#endif
}
void tst_QObject::blockingQueuedConnection()
@@ -2896,5 +2900,15 @@ void tst_QObject::uniqConnection()
delete r2;
}
+void tst_QObject::interfaceIid()
+{
+ QCOMPARE(QByteArray(qobject_interface_iid<Foo::Bleh *>()),
+ QByteArray(Bleh_iid));
+ QCOMPARE(QByteArray(qobject_interface_iid<Foo::Bar *>()),
+ QByteArray("com.qtest.foobar"));
+ QCOMPARE(QByteArray(qobject_interface_iid<FooObject *>()),
+ QByteArray());
+}
+
QTEST_MAIN(tst_QObject)
#include "tst_qobject.moc"
diff --git a/tests/auto/qobjectrace/tst_qobjectrace.cpp b/tests/auto/qobjectrace/tst_qobjectrace.cpp
index b7a0bd6..1736d0b 100644
--- a/tests/auto/qobjectrace/tst_qobjectrace.cpp
+++ b/tests/auto/qobjectrace/tst_qobjectrace.cpp
@@ -124,10 +124,10 @@ signals:
private slots:
void checkStopWatch()
{
-#ifndef Q_OS_WINCE
- if (stopWatch.elapsed() >= OneMinute)
-#else
+#if defined(Q_OS_WINCE) || defined(Q_OS_VXWORKS)
if (stopWatch.elapsed() >= OneMinute / 2)
+#else
+ if (stopWatch.elapsed() >= OneMinute)
#endif
quit();
@@ -146,7 +146,7 @@ void tst_QObjectRace::moveToThreadRace()
#endif
RaceObject *object = new RaceObject;
- enum { ThreadCount = 10 };
+ enum { ThreadCount = 6 };
RaceThread *threads[ThreadCount];
for (int i = 0; i < ThreadCount; ++i) {
threads[i] = new RaceThread;
diff --git a/tests/auto/qparallelanimationgroup/tst_qparallelanimationgroup.cpp b/tests/auto/qparallelanimationgroup/tst_qparallelanimationgroup.cpp
index d7d6b88..16c58b0 100644
--- a/tests/auto/qparallelanimationgroup/tst_qparallelanimationgroup.cpp
+++ b/tests/auto/qparallelanimationgroup/tst_qparallelanimationgroup.cpp
@@ -74,6 +74,7 @@ private slots:
void loopCount_data();
void loopCount();
void autoAdd();
+ void pauseResume();
};
tst_QParallelAnimationGroup::tst_QParallelAnimationGroup()
@@ -828,5 +829,37 @@ void tst_QParallelAnimationGroup::autoAdd()
QCOMPARE(group.duration(), 0);
}
+void tst_QParallelAnimationGroup::pauseResume()
+{
+ QParallelAnimationGroup group;
+ TestAnimation2 *anim = new TestAnimation2(250, &group); // 0, duration = 250;
+ QSignalSpy spy(anim, SIGNAL(stateChanged(QAbstractAnimation::State, QAbstractAnimation::State)));
+ QCOMPARE(group.duration(), 250);
+ group.start();
+ QTest::qWait(100);
+ QCOMPARE(group.state(), QAnimationGroup::Running);
+ QCOMPARE(anim->state(), QAnimationGroup::Running);
+ QCOMPARE(spy.count(), 1);
+ spy.clear();
+ const int currentTime = group.currentTime();
+ QCOMPARE(anim->currentTime(), currentTime);
+
+ group.pause();
+ QCOMPARE(group.state(), QAnimationGroup::Paused);
+ QCOMPARE(group.currentTime(), currentTime);
+ QCOMPARE(anim->state(), QAnimationGroup::Paused);
+ QCOMPARE(anim->currentTime(), currentTime);
+ QCOMPARE(spy.count(), 1);
+ spy.clear();
+
+ group.resume();
+ QCOMPARE(group.state(), QAnimationGroup::Running);
+ QCOMPARE(group.currentTime(), currentTime);
+ QCOMPARE(anim->state(), QAnimationGroup::Running);
+ QCOMPARE(anim->currentTime(), currentTime);
+ QCOMPARE(spy.count(), 1);
+}
+
+
QTEST_MAIN(tst_QParallelAnimationGroup)
#include "tst_qparallelanimationgroup.moc"
diff --git a/tests/auto/qpathclipper/qpathclipper.pro b/tests/auto/qpathclipper/qpathclipper.pro
index a8d8152..930a6f2 100644
--- a/tests/auto/qpathclipper/qpathclipper.pro
+++ b/tests/auto/qpathclipper/qpathclipper.pro
@@ -3,6 +3,8 @@ INCLUDEPATH += .
HEADERS += paths.h
SOURCES += tst_qpathclipper.cpp paths.cpp
+requires(contains(QT_CONFIG,private_tests))
+
unix:!mac:!symbian*:LIBS+=-lm
diff --git a/tests/auto/qpixmap/tst_qpixmap.cpp b/tests/auto/qpixmap/tst_qpixmap.cpp
index 5e94cb4..52bad41 100644
--- a/tests/auto/qpixmap/tst_qpixmap.cpp
+++ b/tests/auto/qpixmap/tst_qpixmap.cpp
@@ -872,12 +872,7 @@ void tst_QPixmap::toWinHBITMAP()
BITMAP bitmap_info;
memset(&bitmap_info, 0, sizeof(BITMAP));
- int res;
- QT_WA({
- res = GetObjectW(bitmap, sizeof(BITMAP), &bitmap_info);
- } , {
- res = GetObjectA(bitmap, sizeof(BITMAP), &bitmap_info);
- });
+ int res = GetObject(bitmap, sizeof(BITMAP), &bitmap_info);
QVERIFY(res);
QCOMPARE(100, (int) bitmap_info.bmWidth);
diff --git a/tests/auto/qplaintextedit/tst_qplaintextedit.cpp b/tests/auto/qplaintextedit/tst_qplaintextedit.cpp
index c77537d..299a01e 100644
--- a/tests/auto/qplaintextedit/tst_qplaintextedit.cpp
+++ b/tests/auto/qplaintextedit/tst_qplaintextedit.cpp
@@ -1128,6 +1128,7 @@ void tst_QPlainTextEdit::mimeDataReimplementations()
QCOMPARE(ed.canInsertCallCount, 0);
QCOMPARE(ed.insertCallCount, 0);
+#ifdef QT_BUILD_INTERNAL
QTextControl *control = qFindChild<QTextControl *>(&ed);
QVERIFY(control);
@@ -1142,6 +1143,7 @@ void tst_QPlainTextEdit::mimeDataReimplementations()
QCOMPARE(ed.createMimeDataCallCount, 1);
QCOMPARE(ed.canInsertCallCount, 1);
QCOMPARE(ed.insertCallCount, 1);
+#endif
}
#endif
diff --git a/tests/auto/qprocess/tst_qprocess.cpp b/tests/auto/qprocess/tst_qprocess.cpp
index bc2a87b..df36590 100644
--- a/tests/auto/qprocess/tst_qprocess.cpp
+++ b/tests/auto/qprocess/tst_qprocess.cpp
@@ -54,6 +54,10 @@
#endif
#include <stdlib.h>
+#ifdef QT_NO_PROCESS
+QTEST_NOOP_MAIN
+#else
+
#if defined(Q_OS_WIN)
#include <windows.h>
#endif
@@ -160,7 +164,7 @@ protected slots:
void restartProcess();
void waitForReadyReadInAReadyReadSlotSlot();
void waitForBytesWrittenInABytesWrittenSlotSlot();
-
+
private:
QProcess *process;
qint64 bytesAvailable;
@@ -2349,3 +2353,4 @@ void tst_QProcess::invalidProgramString()
QTEST_MAIN(tst_QProcess)
#include "tst_qprocess.moc"
+#endif
diff --git a/tests/auto/qprogressbar/tst_qprogressbar.cpp b/tests/auto/qprogressbar/tst_qprogressbar.cpp
index 7f0c17d..911d6b7 100644
--- a/tests/auto/qprogressbar/tst_qprogressbar.cpp
+++ b/tests/auto/qprogressbar/tst_qprogressbar.cpp
@@ -62,6 +62,8 @@ private slots:
void format();
void setValueRepaint();
void sizeHint();
+ void formatedText_data();
+ void formatedText();
void task245201_testChangeStyleAndDelete_data();
void task245201_testChangeStyleAndDelete();
@@ -225,6 +227,34 @@ void tst_QProgressBar::sizeHint()
QCOMPARE(barSize.height(), size.height());
}
+void tst_QProgressBar::formatedText_data()
+{
+ QTest::addColumn<int>("minimum");
+ QTest::addColumn<int>("maximum");
+ QTest::addColumn<int>("value");
+ QTest::addColumn<QString>("format");
+ QTest::addColumn<QString>("text");
+
+ QTest::newRow("1") << -100 << 100 << 0 << QString::fromLatin1(" %p - %v - %m ") << QString::fromLatin1(" 50 - 0 - 200 ");
+ QTest::newRow("2") << -100 << 0 << -25 << QString::fromLatin1(" %p - %v - %m ") << QString::fromLatin1(" 75 - -25 - 100 ");
+ QTest::newRow("3") << 10 << 10 << 10 << QString::fromLatin1(" %p - %v - %m ") << QString::fromLatin1(" 100 - 10 - 0 ");
+ QTest::newRow("task152227") << INT_MIN << INT_MAX << 42 << QString::fromLatin1(" %p - %v - %m ") << QString::fromLatin1(" 50 - 42 - 4294967295 ");
+}
+
+void tst_QProgressBar::formatedText()
+{
+ QFETCH(int, minimum);
+ QFETCH(int, maximum);
+ QFETCH(int, value);
+ QFETCH(QString, format);
+ QFETCH(QString, text);
+ QProgressBar bar;
+ bar.setRange(minimum, maximum);
+ bar.setValue(value);
+ bar.setFormat(format);
+ QCOMPARE(bar.text(), text);
+}
+
void tst_QProgressBar::task245201_testChangeStyleAndDelete_data()
{
QTest::addColumn<QString>("style1_str");
diff --git a/tests/auto/qpropertyanimation/tst_qpropertyanimation.cpp b/tests/auto/qpropertyanimation/tst_qpropertyanimation.cpp
index a30e9f9..e76c8ef 100644
--- a/tests/auto/qpropertyanimation/tst_qpropertyanimation.cpp
+++ b/tests/auto/qpropertyanimation/tst_qpropertyanimation.cpp
@@ -111,6 +111,7 @@ private slots:
void operationsInStates();
void oneKeyValue();
void updateOnSetKeyValues();
+ void restart();
};
tst_QPropertyAnimation::tst_QPropertyAnimation()
@@ -395,8 +396,13 @@ void tst_QPropertyAnimation::duration0()
animation.setEndValue(43);
QVERIFY(!animation.currentValue().isValid());
QCOMPARE(animation.currentValue().toInt(), 0);
+ animation.setStartValue(42);
+ QVERIFY(animation.currentValue().isValid());
+ QCOMPARE(animation.currentValue().toInt(), 42);
+
QCOMPARE(o.property("ole").toInt(), 42);
animation.setDuration(0);
+ QCOMPARE(animation.currentValue().toInt(), 43); //it is at the end
animation.start();
QCOMPARE(animation.state(), QAnimationGroup::Stopped);
QCOMPARE(animation.currentTime(), 0);
@@ -559,6 +565,9 @@ void tst_QPropertyAnimation::startWithoutStartValue()
QTest::qWait(200);
QCOMPARE(anim.state(), QVariantAnimation::Stopped);
+ current = anim.currentValue().toInt();
+ QCOMPARE(current, 100);
+ QCOMPARE(o.property("ole").toInt(), current);
anim.setEndValue(110);
anim.start();
@@ -954,5 +963,53 @@ void tst_QPropertyAnimation::updateOnSetKeyValues()
QCOMPARE(animation2.currentValue().toInt(), animation.currentValue().toInt());
}
+
+//this class will 'throw' an error in the test lib
+// if the property ole is set to ErrorValue
+class MyErrorObject : public QObject
+{
+ Q_OBJECT
+ Q_PROPERTY(int ole READ ole WRITE setOle)
+public:
+
+ static const int ErrorValue = 10000;
+
+ MyErrorObject() : m_ole(0) { }
+ int ole() const { return m_ole; }
+ void setOle(int o)
+ {
+ QVERIFY(o != ErrorValue);
+ m_ole = o;
+ }
+
+private:
+ int m_ole;
+
+
+};
+
+void tst_QPropertyAnimation::restart()
+{
+ //here we check that be restarting an animation
+ //it doesn't get an bogus intermediate value (end value)
+ //because the time is not yet reset to 0
+ MyErrorObject o;
+ o.setOle(100);
+ QCOMPARE(o.property("ole").toInt(), 100);
+
+ QPropertyAnimation anim(&o, "ole");
+ anim.setEndValue(200);
+ anim.start();
+ anim.setCurrentTime(anim.duration());
+ QCOMPARE(anim.state(), QAbstractAnimation::Stopped);
+ QCOMPARE(o.property("ole").toInt(), 200);
+
+ //we'll check that the animation never gets a wrong value when starting it
+ //after having changed the end value
+ anim.setEndValue(MyErrorObject::ErrorValue);
+ anim.start();
+}
+
+
QTEST_MAIN(tst_QPropertyAnimation)
#include "tst_qpropertyanimation.moc"
diff --git a/tests/auto/qreadwritelock/tst_qreadwritelock.cpp b/tests/auto/qreadwritelock/tst_qreadwritelock.cpp
index 78ddc99..f298812 100644
--- a/tests/auto/qreadwritelock/tst_qreadwritelock.cpp
+++ b/tests/auto/qreadwritelock/tst_qreadwritelock.cpp
@@ -719,6 +719,8 @@ void tst_QReadWriteLock::multipleReadersLoop()
int wait=0;
#if defined (Q_OS_HPUX)
const int numthreads=50;
+#elif defined(Q_OS_VXWORKS)
+ const int numthreads=40;
#else
const int numthreads=75;
#endif
diff --git a/tests/auto/qregexp/qregexp.pro b/tests/auto/qregexp/qregexp.pro
index ac1cdea..80b6827 100644
--- a/tests/auto/qregexp/qregexp.pro
+++ b/tests/auto/qregexp/qregexp.pro
@@ -2,4 +2,7 @@ load(qttest_p4)
QT = core
+
+QT = core
+
SOURCES += tst_qregexp.cpp
diff --git a/tests/auto/qregion/tst_qregion.cpp b/tests/auto/qregion/tst_qregion.cpp
index 36ea52c..71ddcc8 100644
--- a/tests/auto/qregion/tst_qregion.cpp
+++ b/tests/auto/qregion/tst_qregion.cpp
@@ -96,7 +96,7 @@ private slots:
#ifdef Q_OS_WIN
void handle();
#endif
-#ifdef Q_WS_X11
+#if defined(Q_WS_X11) && defined(QT_BUILD_INTERNAL)
void clipRectangles();
#endif
@@ -865,7 +865,7 @@ void tst_QRegion::handle()
}
#endif
-#ifdef Q_WS_X11
+#if defined(Q_WS_X11) && defined(QT_BUILD_INTERNAL)
void tst_QRegion::clipRectangles()
{
QRegion region(30, 30, 30, 30);
@@ -967,6 +967,7 @@ void tst_QRegion::regionToPath_data()
void tst_QRegion::regionToPath()
{
+#ifdef QT_BUILD_INTERNAL
extern QPainterPath qt_regionToPath(const QRegion &region);
QFETCH(QPainterPath, path);
@@ -1002,6 +1003,7 @@ void tst_QRegion::regionToPath()
QCOMPARE(ia, ib);
QCOMPARE(a.boundingRect(), b.boundingRect());
}
+#endif
}
QTEST_MAIN(tst_QRegion)
diff --git a/tests/auto/qresourceengine/qresourceengine.pro b/tests/auto/qresourceengine/qresourceengine.pro
index 3fad4c0..1e8c5c7 100644
--- a/tests/auto/qresourceengine/qresourceengine.pro
+++ b/tests/auto/qresourceengine/qresourceengine.pro
@@ -19,6 +19,7 @@ runtime_resource.commands = $$QMAKE_RCC -root /runtime_resource/ -binary $${runt
QMAKE_EXTRA_TARGETS = runtime_resource
PRE_TARGETDEPS += $${runtime_resource.target}
+QT = core
wince*|symbian*:{
deploy.sources += runtime_resource.rcc parentdir.txt
test.sources = testqrc/*
diff --git a/tests/auto/qresourceengine/tst_resourceengine.cpp b/tests/auto/qresourceengine/tst_resourceengine.cpp
index f349eac..dfdc454 100644
--- a/tests/auto/qresourceengine/tst_resourceengine.cpp
+++ b/tests/auto/qresourceengine/tst_resourceengine.cpp
@@ -112,7 +112,7 @@ void tst_ResourceEngine::checkStructure_data()
<< QLatin1String("runtime_resource")
<< QLatin1String("searchpath1") << QLatin1String("searchpath2")
<< QLatin1String("secondary_root")
- << QLatin1String("test") << QLatin1String("trolltech")
+ << QLatin1String("test")
<< QLatin1String("withoutslashes"))
<< QLocale::c()
<< qlonglong(0);
diff --git a/tests/auto/qscopedpointer/tst_qscopedpointer.cpp b/tests/auto/qscopedpointer/tst_qscopedpointer.cpp
index 0e005c3..e9b1cce 100644
--- a/tests/auto/qscopedpointer/tst_qscopedpointer.cpp
+++ b/tests/auto/qscopedpointer/tst_qscopedpointer.cpp
@@ -1,7 +1,41 @@
/****************************************************************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/tests/auto/qscriptcontext/tst_qscriptcontext.cpp b/tests/auto/qscriptcontext/tst_qscriptcontext.cpp
index d96006d..3c9ea4c9 100644
--- a/tests/auto/qscriptcontext/tst_qscriptcontext.cpp
+++ b/tests/auto/qscriptcontext/tst_qscriptcontext.cpp
@@ -72,6 +72,7 @@ private slots:
void scopeChain();
void pushAndPopScope();
void getSetActivationObject();
+ void inheritActivationAndThisObject();
void toString();
};
@@ -689,6 +690,35 @@ void tst_QScriptContext::getSetActivationObject()
}
}
+static QScriptValue myEval(QScriptContext *ctx, QScriptEngine *eng)
+{
+ QString code = ctx->argument(0).toString();
+ ctx->setActivationObject(ctx->parentContext()->activationObject());
+ ctx->setThisObject(ctx->parentContext()->thisObject());
+ return eng->evaluate(code);
+}
+
+void tst_QScriptContext::inheritActivationAndThisObject()
+{
+ QScriptEngine eng;
+ eng.globalObject().setProperty("myEval", eng.newFunction(myEval));
+ {
+ QScriptValue ret = eng.evaluate("var a = 123; myEval('a')");
+ QVERIFY(ret.isNumber());
+ QCOMPARE(ret.toInt32(), 123);
+ }
+ {
+ QScriptValue ret = eng.evaluate("(function() { return myEval('this'); }).call(Number)");
+ QVERIFY(ret.isFunction());
+ QVERIFY(ret.equals(eng.globalObject().property("Number")));
+ }
+ {
+ QScriptValue ret = eng.evaluate("(function(a) { return myEval('a'); })(123)");
+ QVERIFY(ret.isNumber());
+ QCOMPARE(ret.toInt32(), 123);
+ }
+}
+
static QScriptValue parentContextToString(QScriptContext *ctx, QScriptEngine *)
{
return ctx->parentContext()->toString();
diff --git a/tests/auto/qscriptengine/qscriptengine.pro b/tests/auto/qscriptengine/qscriptengine.pro
index 6ff7b53..39484bd 100644
--- a/tests/auto/qscriptengine/qscriptengine.pro
+++ b/tests/auto/qscriptengine/qscriptengine.pro
@@ -1,5 +1,5 @@
load(qttest_p4)
-QT += script
+QT = core gui script
SOURCES += tst_qscriptengine.cpp
DEFINES += SRCDIR=\\\"$$PWD\\\"
diff --git a/tests/auto/qscriptengine/script/com/__init__.js b/tests/auto/qscriptengine/script/com/__init__.js
index 381816a..7db3ee4 100644
--- a/tests/auto/qscriptengine/script/com/__init__.js
+++ b/tests/auto/qscriptengine/script/com/__init__.js
@@ -3,3 +3,7 @@ __setupPackage__("com");
com.wasDefinedAlready = wasDefinedAlready;
com.name = __extension__;
com.level = 1;
+
+com.postInitCallCount = 0;
+com.originalPostInit = __postInit__;
+__postInit__ = function() { ++com.postInitCallCount; };
diff --git a/tests/auto/qscriptengine/script/com/trolltech/__init__.js b/tests/auto/qscriptengine/script/com/trolltech/__init__.js
index f12b17d..a55b132 100644
--- a/tests/auto/qscriptengine/script/com/trolltech/__init__.js
+++ b/tests/auto/qscriptengine/script/com/trolltech/__init__.js
@@ -3,3 +3,7 @@ __setupPackage__("com.trolltech");
com.trolltech.wasDefinedAlready = wasDefinedAlready;
com.trolltech.name = __extension__;
com.trolltech.level = com.level + 1;
+
+com.trolltech.postInitCallCount = 0;
+com.trolltech.originalPostInit = __postInit__;
+__postInit__ = function() { ++com.trolltech.postInitCallCount; };
diff --git a/tests/auto/qscriptengine/tst_qscriptengine.cpp b/tests/auto/qscriptengine/tst_qscriptengine.cpp
index 3b17c3c..ab4364e 100644
--- a/tests/auto/qscriptengine/tst_qscriptengine.cpp
+++ b/tests/auto/qscriptengine/tst_qscriptengine.cpp
@@ -122,6 +122,8 @@ private slots:
void reentrancy();
void incDecNonObjectProperty();
void installTranslatorFunctions();
+ void functionScopes();
+ void nativeFunctionScopes();
};
tst_QScriptEngine::tst_QScriptEngine()
@@ -891,6 +893,35 @@ void tst_QScriptEngine::getSetGlobalObject()
QVERIFY(eng.globalObject().strictlyEquals(obj));
QVERIFY(eng.currentContext()->thisObject().strictlyEquals(obj));
QVERIFY(eng.currentContext()->activationObject().strictlyEquals(obj));
+
+ QVERIFY(!obj.property("foo").isValid());
+ eng.evaluate("var foo = 123");
+ {
+ QScriptValue ret = obj.property("foo");
+ QVERIFY(ret.isNumber());
+ QCOMPARE(ret.toInt32(), 123);
+ }
+
+ QVERIFY(!obj.property("bar").isValid());
+ eng.evaluate("bar = 456");
+ {
+ QScriptValue ret = obj.property("bar");
+ QVERIFY(ret.isNumber());
+ QCOMPARE(ret.toInt32(), 456);
+ }
+
+ QVERIFY(!obj.property("baz").isValid());
+ eng.evaluate("this['baz'] = 789");
+ {
+ QScriptValue ret = obj.property("baz");
+ QVERIFY(ret.isNumber());
+ QCOMPARE(ret.toInt32(), 789);
+ }
+
+ {
+ QScriptValue ret = eng.evaluate("(function() { return this; })()");
+ QVERIFY(ret.strictlyEquals(obj));
+ }
}
void tst_QScriptEngine::checkSyntax_data()
@@ -1583,6 +1614,7 @@ void tst_QScriptEngine::importExtension()
QScriptValue ret = eng.importExtension("this.extension.does.not.exist");
QCOMPARE(eng.hasUncaughtException(), true);
QCOMPARE(ret.isError(), true);
+ QCOMPARE(ret.toString(), QString::fromLatin1("Error: Unable to import this.extension.does.not.exist: no such extension"));
}
{
@@ -1601,6 +1633,8 @@ void tst_QScriptEngine::importExtension()
.strictlyEquals(QScriptValue(&eng, "com")), true);
QCOMPARE(com.property("level")
.strictlyEquals(QScriptValue(&eng, 1)), true);
+ QVERIFY(com.property("originalPostInit").isUndefined());
+ QVERIFY(com.property("postInitCallCount").strictlyEquals(1));
QScriptValue trolltech = com.property("trolltech");
QCOMPARE(trolltech.isObject(), true);
@@ -1610,6 +1644,8 @@ void tst_QScriptEngine::importExtension()
.strictlyEquals(QScriptValue(&eng, "com.trolltech")), true);
QCOMPARE(trolltech.property("level")
.strictlyEquals(QScriptValue(&eng, 2)), true);
+ QVERIFY(trolltech.property("originalPostInit").isUndefined());
+ QVERIFY(trolltech.property("postInitCallCount").strictlyEquals(1));
}
QStringList imp = eng.importedExtensions();
QCOMPARE(imp.size(), 2);
@@ -1625,6 +1661,8 @@ void tst_QScriptEngine::importExtension()
eng.globalObject().setProperty("__import__", eng.newFunction(__import__));
QScriptValue ret = eng.importExtension("com.trolltech.recursive");
QCOMPARE(eng.hasUncaughtException(), true);
+ QVERIFY(ret.isError());
+ QCOMPARE(ret.toString(), QString::fromLatin1("Error: recursive import of com.trolltech.recursive"));
QStringList imp = eng.importedExtensions();
QCOMPARE(imp.size(), 2);
QCOMPARE(imp.at(0), QString::fromLatin1("com"));
@@ -3571,5 +3609,108 @@ void tst_QScriptEngine::installTranslatorFunctions()
}
}
+void tst_QScriptEngine::functionScopes()
+{
+ QScriptEngine eng;
+ {
+ // top-level functions have only the global object in their scope
+ QScriptValue fun = eng.evaluate("(function() {})");
+ QVERIFY(fun.isFunction());
+ QVERIFY(fun.scope().isObject());
+ QVERIFY(fun.scope().strictlyEquals(eng.globalObject()));
+ QVERIFY(!eng.globalObject().scope().isValid());
+ }
+ {
+ QScriptValue fun = eng.globalObject().property("Object");
+ QVERIFY(fun.isFunction());
+ // native built-in functions don't have scope
+ QVERIFY(!fun.scope().isValid());
+ }
+ {
+ // closure
+ QScriptValue fun = eng.evaluate("(function(arg) { var foo = arg; return function() { return foo; }; })(123)");
+ QVERIFY(fun.isFunction());
+ {
+ QScriptValue ret = fun.call();
+ QVERIFY(ret.isNumber());
+ QCOMPARE(ret.toInt32(), 123);
+ }
+ QScriptValue scope = fun.scope();
+ QVERIFY(scope.isObject());
+ {
+ QScriptValue ret = scope.property("foo");
+ QVERIFY(ret.isNumber());
+ QCOMPARE(ret.toInt32(), 123);
+ QCOMPARE(scope.propertyFlags("foo"), QScriptValue::Undeletable);
+ }
+ {
+ QScriptValue ret = scope.property("arg");
+ QVERIFY(ret.isNumber());
+ QCOMPARE(ret.toInt32(), 123);
+ QCOMPARE(scope.propertyFlags("arg"), QScriptValue::Undeletable | QScriptValue::SkipInEnumeration);
+ }
+
+ scope.setProperty("foo", 456);
+ {
+ QScriptValue ret = fun.call();
+ QVERIFY(ret.isNumber());
+ QCOMPARE(ret.toInt32(), 456);
+ }
+
+ scope = scope.scope();
+ QVERIFY(scope.isObject());
+ QVERIFY(scope.strictlyEquals(eng.globalObject()));
+ }
+}
+
+static QScriptValue counter_inner(QScriptContext *ctx, QScriptEngine *)
+{
+ QScriptValue outerAct = ctx->callee().scope();
+ double count = outerAct.property("count").toNumber();
+ outerAct.setProperty("count", count+1);
+ return count;
+}
+
+static QScriptValue counter(QScriptContext *ctx, QScriptEngine *eng)
+{
+ QScriptValue act = ctx->activationObject();
+ act.setProperty("count", ctx->argument(0).toInt32());
+ QScriptValue result = eng->newFunction(counter_inner);
+ result.setScope(act);
+ return result;
+}
+
+static QScriptValue counter_hybrid(QScriptContext *ctx, QScriptEngine *eng)
+{
+ QScriptValue act = ctx->activationObject();
+ act.setProperty("count", ctx->argument(0).toInt32());
+ return eng->evaluate("function() { return count++; }");
+}
+
+void tst_QScriptEngine::nativeFunctionScopes()
+{
+ QScriptEngine eng;
+ {
+ QScriptValue fun = eng.newFunction(counter);
+ QScriptValue cnt = fun.call(QScriptValue(), QScriptValueList() << 123);
+ QVERIFY(cnt.isFunction());
+ {
+ QScriptValue ret = cnt.call();
+ QVERIFY(ret.isNumber());
+ QCOMPARE(ret.toInt32(), 123);
+ }
+ }
+ {
+ QScriptValue fun = eng.newFunction(counter_hybrid);
+ QScriptValue cnt = fun.call(QScriptValue(), QScriptValueList() << 123);
+ QVERIFY(cnt.isFunction());
+ {
+ QScriptValue ret = cnt.call();
+ QVERIFY(ret.isNumber());
+ QCOMPARE(ret.toInt32(), 123);
+ }
+ }
+}
+
QTEST_MAIN(tst_QScriptEngine)
#include "tst_qscriptengine.moc"
diff --git a/tests/auto/qscriptqobject/qscriptqobject.pro b/tests/auto/qscriptqobject/qscriptqobject.pro
index 57eacfe..d28fbef 100644
--- a/tests/auto/qscriptqobject/qscriptqobject.pro
+++ b/tests/auto/qscriptqobject/qscriptqobject.pro
@@ -1,5 +1,5 @@
load(qttest_p4)
-QT += script
+QT = core gui script
SOURCES += tst_qscriptqobject.cpp
symbian: {
diff --git a/tests/auto/qscriptqobject/tst_qscriptqobject.cpp b/tests/auto/qscriptqobject/tst_qscriptqobject.cpp
index a93223e..5621696 100644
--- a/tests/auto/qscriptqobject/tst_qscriptqobject.cpp
+++ b/tests/auto/qscriptqobject/tst_qscriptqobject.cpp
@@ -609,6 +609,12 @@ void tst_QScriptExtQObject::getSetStaticProperty()
QVERIFY(!(mobj.propertyFlags("mySlot") & QScriptValue::Undeletable));
QVERIFY(!(mobj.propertyFlags("mySlot") & QScriptValue::SkipInEnumeration));
QVERIFY(mobj.propertyFlags("mySlot") & QScriptValue::QObjectMember);
+
+ // signature-based property
+ QVERIFY(!(mobj.propertyFlags("mySlot()") & QScriptValue::ReadOnly));
+ QVERIFY(!(mobj.propertyFlags("mySlot()") & QScriptValue::Undeletable));
+ QVERIFY(!(mobj.propertyFlags("mySlot()") & QScriptValue::SkipInEnumeration));
+ QVERIFY(mobj.propertyFlags("mySlot()") & QScriptValue::QObjectMember);
}
// property change in C++ should be reflected in script
@@ -740,6 +746,8 @@ void tst_QScriptExtQObject::getSetStaticProperty()
// test that we do value conversion if necessary when setting properties
{
QScriptValue br = m_engine->evaluate("myObject.brushProperty");
+ QVERIFY(br.isVariant());
+ QVERIFY(!br.strictlyEquals(m_engine->evaluate("myObject.brushProperty")));
QCOMPARE(qscriptvalue_cast<QBrush>(br), m_myObject->brushProperty());
QCOMPARE(qscriptvalue_cast<QColor>(br), m_myObject->brushProperty().color());
@@ -842,6 +850,17 @@ void tst_QScriptExtQObject::getSetStaticProperty()
mobj.setProperty("intProperty", m_engine->newFunction(getSetProperty),
QScriptValue::PropertyGetter | QScriptValue::PropertySetter);
}
+
+ // method properties are persistent
+ {
+ QScriptValue slot = m_engine->evaluate("myObject.mySlot");
+ QVERIFY(slot.isFunction());
+ QScriptValue sameSlot = m_engine->evaluate("myObject.mySlot");
+ QVERIFY(sameSlot.strictlyEquals(slot));
+ sameSlot = m_engine->evaluate("myObject['mySlot()']");
+ QEXPECT_FAIL("", "Signature-based method lookup creates new function wrapper object", Continue);
+ QVERIFY(sameSlot.strictlyEquals(slot));
+ }
}
void tst_QScriptExtQObject::getSetDynamicProperty()
@@ -891,6 +910,20 @@ void tst_QScriptExtQObject::getSetChildren()
QCOMPARE(m_engine->evaluate("myObject.hasOwnProperty('child')")
.strictlyEquals(QScriptValue(m_engine, true)), true);
+ QScriptValue mobj = m_engine->evaluate("myObject");
+ QVERIFY(mobj.propertyFlags("child") & QScriptValue::ReadOnly);
+ QVERIFY(mobj.propertyFlags("child") & QScriptValue::Undeletable);
+ QVERIFY(mobj.propertyFlags("child") & QScriptValue::SkipInEnumeration);
+ QVERIFY(!(mobj.propertyFlags("child") & QScriptValue::QObjectMember));
+
+ {
+ QScriptValue scriptChild = m_engine->evaluate("myObject.child");
+ QVERIFY(scriptChild.isQObject());
+ QCOMPARE(scriptChild.toQObject(), (QObject*)child);
+ QScriptValue sameChild = m_engine->evaluate("myObject.child");
+ QVERIFY(sameChild.strictlyEquals(scriptChild));
+ }
+
// add a grandchild
MyQObject *grandChild = new MyQObject(child);
grandChild->setObjectName("grandChild");
diff --git a/tests/auto/qscriptvalue/qscriptvalue.pro b/tests/auto/qscriptvalue/qscriptvalue.pro
index 98fd63d..9efde80 100644
--- a/tests/auto/qscriptvalue/qscriptvalue.pro
+++ b/tests/auto/qscriptvalue/qscriptvalue.pro
@@ -1,5 +1,5 @@
load(qttest_p4)
-QT += script
+QT = core gui script
SOURCES += tst_qscriptvalue.cpp
diff --git a/tests/auto/qscriptvalue/tst_qscriptvalue.cpp b/tests/auto/qscriptvalue/tst_qscriptvalue.cpp
index ff2df7a..7939b4c 100644
--- a/tests/auto/qscriptvalue/tst_qscriptvalue.cpp
+++ b/tests/auto/qscriptvalue/tst_qscriptvalue.cpp
@@ -2148,6 +2148,14 @@ void tst_QScriptValue::getSetScope()
QCOMPARE(object2.scope().strictlyEquals(object), true);
+ object.setProperty("foo", 123);
+ QVERIFY(!object2.property("foo").isValid());
+ {
+ QScriptValue ret = object2.property("foo", QScriptValue::ResolveScope);
+ QVERIFY(ret.isNumber());
+ QCOMPARE(ret.toInt32(), 123);
+ }
+
QScriptValue inv;
inv.setScope(object);
QCOMPARE(inv.scope().isValid(), false);
diff --git a/tests/auto/qsettings/tst_qsettings.cpp b/tests/auto/qsettings/tst_qsettings.cpp
index fdb2eb3..70dbbb6 100644
--- a/tests/auto/qsettings/tst_qsettings.cpp
+++ b/tests/auto/qsettings/tst_qsettings.cpp
@@ -343,7 +343,7 @@ void tst_QSettings::init()
#if defined(Q_OS_WINCE)
removePath(settingsPath());
#else
- if (qWinVersion() & Qt::WV_NT_based)
+ if (QSysInfo::windowsVersion() & QSysInfo::WV_NT_based)
system(QString("rmdir /Q /S %1").arg(settingsPath()).toLatin1());
else
system(QString("deltree /Y %1").arg(settingsPath()).toLatin1());
@@ -717,10 +717,14 @@ void tst_QSettings::testErrorHandling_data()
void tst_QSettings::testErrorHandling()
{
-#if defined(Q_OS_WIN)
+#ifdef QT_BUILD_INTERNAL
+#ifdef Q_OS_WIN
QSKIP("Windows doesn't support most file modes, including read-only directories, so this test is moot.", SkipAll);
#elif defined(Q_OS_SYMBIAN)
QSKIP("Symbian/Open C doesn't support execute or write only file modes, or directory permissions, so this test is mostly moot.", SkipAll);
+#elif defined(Q_OS_UNIX)
+ if (::getuid() == 0)
+ QSKIP("Running this test as root doesn't work, since file perms do not bother him", SkipAll);
#else
QFETCH(int, filePerms);
QFETCH(int, dirPerms);
@@ -729,8 +733,7 @@ void tst_QSettings::testErrorHandling()
QFETCH(int, statusAfterGet);
QFETCH(int, statusAfterSetAndSync);
-
- system(QString("chmod 700 %1 2>/dev/null").arg(settingsPath("someDir")).toLatin1());
+ system(QString("chmod 700 %1 2>/dev/null").arg(settingsPath("someDir")).toLatin1());
system(QString("chmod -R u+rwx %1 2>/dev/null").arg(settingsPath("someDir")).toLatin1());
system(QString("rm -fr %1").arg(settingsPath("someDir")).toLatin1());
@@ -782,6 +785,7 @@ void tst_QSettings::testErrorHandling()
QCOMPARE((int)settings.status(), statusAfterSetAndSync);
}
#endif // !Q_OS_WIN
+#endif
}
Q_DECLARE_METATYPE(QVariant)
@@ -827,6 +831,7 @@ void tst_QSettings::testIniParsing_data()
void tst_QSettings::testIniParsing()
{
+#ifdef QT_BUILD_INTERNAL
qRegisterMetaType<QVariant>("QVariant");
qRegisterMetaType<QSettings::Status>("QSettings::Status");
@@ -860,6 +865,7 @@ void tst_QSettings::testIniParsing()
}
QCOMPARE(settings.status(), status);
+#endif
}
/*
@@ -1064,6 +1070,7 @@ void tst_QSettings::testVariantTypes_data()
void tst_QSettings::testVariantTypes()
{
+#ifdef QT_BUILD_INTERNAL
#define testVal(key, val, tp, rtype) \
{ \
QSettings settings1(format, QSettings::UserScope, "software.org", "KillerAPP"); \
@@ -1147,6 +1154,7 @@ void tst_QSettings::testVariantTypes()
}
#undef testVal
+#endif
}
void tst_QSettings::remove()
@@ -1807,9 +1815,7 @@ void tst_QSettings::testNormalizedKey_data()
void tst_QSettings::testNormalizedKey()
{
-#ifdef QTEST_REDUCED_EXPORTS
- QSKIP("We can't test QSettingsPrivate on Windows", SkipAll);
-#else
+#ifdef QT_BUILD_INTERNAL
QFETCH(QString, inKey);
QFETCH(QString, outKey);
@@ -1987,6 +1993,7 @@ void tst_QSettings::fromFile()
void tst_QSettings::setIniCodec()
{
+#ifdef QT_BUILD_INTERNAL
QByteArray expeContents4, expeContents5;
QByteArray actualContents4, actualContents5;
@@ -2046,6 +2053,7 @@ void tst_QSettings::setIniCodec()
QCOMPARE(settings4.allKeys().first(), settings5.allKeys().first());
QCOMPARE(settings4.value(settings4.allKeys().first()).toString(),
settings5.value(settings5.allKeys().first()).toString());
+#endif
}
static bool containsSubList(QStringList mom, QStringList son)
@@ -2322,6 +2330,7 @@ void tst_QSettings::testArrays()
settings1.endArray();
}
+#ifdef QT_BUILD_INTERNAL
static QByteArray iniEscapedKey(const QString &str)
{
QByteArray result;
@@ -2366,6 +2375,7 @@ static QStringList iniUnescapedStringList(const QByteArray &ba)
#endif
return result;
}
+#endif
QString escapeWeirdChars(const QString &s)
{
@@ -2389,6 +2399,7 @@ QString escapeWeirdChars(const QString &s)
void tst_QSettings::testEscapes()
{
+#ifdef QT_BUILD_INTERNAL
QSettings settings(QSettings::UserScope, "software.org", "KillerAPP");
#define testEscapedKey(plainKey, escKey) \
@@ -2511,6 +2522,7 @@ void tst_QSettings::testEscapes()
testBadEscape("@Rect)", "@Rect)");
testBadEscape("@Rect(1 2 3)", "@Rect(1 2 3)");
testBadEscape("@@Rect(1 2 3)", "@Rect(1 2 3)");
+#endif
}
void tst_QSettings::testCompatFunctions()
@@ -3016,12 +3028,6 @@ void tst_QSettings::oldWriteEntry_QString_QString()
QSettings readSettings("software.org", "KillerAPP");
QFETCH( QString, s );
bool ok = FALSE;
-#ifdef Q_OS_WIN
- if (qWinVersion() & Qt::WV_DOS_based) {
- QEXPECT_FAIL("data2", "Windows 9x does not support unicode characters in the registry", Abort);
- QEXPECT_FAIL("data5", "Windows 9x does not support unicode characters in the registry", Abort);
- }
-#endif
QCOMPARE( readSettings.readEntry( "/Trolltech/QSettingsTesting/String", QString::null, &ok ), s );
QVERIFY( ok );
}
@@ -3367,6 +3373,7 @@ void tst_QSettings::childGroups_data()
void tst_QSettings::childGroups()
{
+#ifdef QT_BUILD_INTERNAL
QFETCH(QSettings::Format, format);
{
@@ -3420,6 +3427,7 @@ void tst_QSettings::childGroups()
QCOMPARE(settings.childGroups(), QStringList() << "alpha" << "gamma" << "omicron" << "zeta");
}
+#endif
}
void tst_QSettings::childKeys_data()
@@ -3429,6 +3437,7 @@ void tst_QSettings::childKeys_data()
void tst_QSettings::childKeys()
{
+#ifdef QT_BUILD_INTERNAL
QFETCH(QSettings::Format, format);
{
@@ -3482,6 +3491,7 @@ void tst_QSettings::childKeys()
QCOMPARE(settings.childKeys(), QStringList() << "alpha" << "beta" << "gamma");
}
+#endif
}
void tst_QSettings::allKeys_data()
@@ -3491,6 +3501,7 @@ void tst_QSettings::allKeys_data()
void tst_QSettings::allKeys()
{
+#ifdef QT_BUILD_INTERNAL
QFETCH(QSettings::Format, format);
QStringList allKeys;
@@ -3539,6 +3550,7 @@ void tst_QSettings::allKeys()
QCOMPARE(settings.allKeys(), allKeys);
}
+#endif
}
void tst_QSettings::registerFormat()
diff --git a/tests/auto/qsharedmemory/src/qsystemlock_win.cpp b/tests/auto/qsharedmemory/src/qsystemlock_win.cpp
index 94d90ce..a50b77b 100644
--- a/tests/auto/qsharedmemory/src/qsystemlock_win.cpp
+++ b/tests/auto/qsharedmemory/src/qsystemlock_win.cpp
@@ -75,32 +75,24 @@ HANDLE QSystemLockPrivate::handle()
// Create it if it doesn't already exists.
if (semaphore == 0) {
QString safeName = makeKeyFileName();
- QT_WA({
- semaphore = CreateSemaphoreW(0, MAX_LOCKS, MAX_LOCKS, (TCHAR*)safeName.utf16());
- }, {
- semaphore = CreateSemaphoreA(0, MAX_LOCKS, MAX_LOCKS, safeName.toLocal8Bit().constData());
- });
+ semaphore = CreateSemaphore(0, MAX_LOCKS, MAX_LOCKS, (wchar_t*)safeName.utf16());
if (semaphore == 0) {
setErrorString(QLatin1String("QSystemLockPrivate::handle"));
- return 0;
- }
+ return 0;
+ }
}
if (semaphoreLock == 0) {
- QString safeLockName = QSharedMemoryPrivate::makePlatformSafeKey(key + QLatin1String("lock"), QLatin1String("qipc_systemlock_"));
- QT_WA({
- semaphoreLock = CreateSemaphoreW(0,
- 1, 1, (TCHAR*)safeLockName.utf16());
- }, {
- semaphoreLock = CreateSemaphoreA(0,
- 1, 1, safeLockName.toLocal8Bit().constData());
- });
+ QString safeLockName = QSharedMemoryPrivate::makePlatformSafeKey(key + QLatin1String("lock"), QLatin1String("qipc_systemlock_"));
+ semaphoreLock = CreateSemaphore(0, 1, 1, (wchar_t*)safeLockName.utf16());
+
if (semaphoreLock == 0) {
setErrorString(QLatin1String("QSystemLockPrivate::handle"));
- return 0;
- }
+ return 0;
+ }
}
+
return semaphore;
}
diff --git a/tests/auto/qsharedpointer/externaltests.cpp b/tests/auto/qsharedpointer/externaltests.cpp
index 18df37c..6153c76 100644
--- a/tests/auto/qsharedpointer/externaltests.cpp
+++ b/tests/auto/qsharedpointer/externaltests.cpp
@@ -59,11 +59,16 @@
# error DEFAULT_MAKESPEC not defined
#endif
+#ifdef Q_OS_UNIX
+# include <fcntl.h>
+# include <unistd.h>
+#endif
+
static QString makespec()
{
static const char default_makespec[] = DEFAULT_MAKESPEC;
const char *p;
- for (p = default_makespec + sizeof(default_makespec); p >= default_makespec; --p)
+ for (p = default_makespec + sizeof(default_makespec) - 1; p >= default_makespec; --p)
if (*p == '/' || *p == '\\')
break;
@@ -108,6 +113,27 @@ static bool removeRecursive(const QString &pathname)
QT_BEGIN_NAMESPACE
namespace QTest {
+ class QExternalProcess: public QProcess
+ {
+ protected:
+#ifdef Q_OS_UNIX
+ void setupChildProcess()
+ {
+ // run in user code
+ QProcess::setupChildProcess();
+
+ if (processChannelMode() == ForwardedChannels) {
+ // reopen /dev/tty into stdin
+ int fd = ::open("/dev/tty", O_RDONLY);
+ if (fd == -1)
+ return;
+ ::dup2(fd, 0);
+ ::close(fd);
+ }
+ }
+#endif
+ };
+
class QExternalTestPrivate
{
public:
@@ -126,6 +152,7 @@ namespace QTest {
enum Target { Compile, Link, Run };
QList<QByteArray> qmakeLines;
+ QStringList extraProgramSources;
QByteArray programHeader;
QExternalTest::QtModules qtModules;
QExternalTest::ApplicationType appType;
@@ -203,6 +230,16 @@ namespace QTest {
d->appType = type;
}
+ QStringList QExternalTest::extraProgramSources() const
+ {
+ return d->extraProgramSources;
+ }
+
+ void QExternalTest::setExtraProgramSources(const QStringList &extra)
+ {
+ d->extraProgramSources = extra;
+ }
+
QByteArray QExternalTest::programHeader() const
{
return d->programHeader;
@@ -327,6 +364,8 @@ namespace QTest {
sourceCode.clear();
sourceCode.reserve(8192);
+ sourceCode += programHeader;
+
// Add Qt header includes
if (qtModules & QExternalTest::QtCore)
sourceCode += "#include <QtCore/QtCore>\n";
@@ -360,17 +399,11 @@ namespace QTest {
"#include <stdlib.h>\n"
"#include <stddef.h>\n";
- sourceCode += programHeader;
-
sourceCode +=
"\n"
"void q_external_test_user_code()\n"
"{\n"
- " // HERE STARTS THE USER CODE\n";
- sourceCode += body;
- sourceCode +=
- "\n"
- " // HERE ENDS THE USER CODE\n"
+ "#include \"user_code.cpp\"\n"
"}\n"
"\n"
"#ifdef Q_OS_WIN\n"
@@ -435,6 +468,15 @@ namespace QTest {
}
sourceFile.write(sourceCode);
+ sourceFile.close();
+
+ sourceFile.setFileName(temporaryDir + QLatin1String("/user_code.cpp"));
+ if (!sourceFile.open(QIODevice::WriteOnly | QIODevice::Truncate | QIODevice::Text)) {
+ std_err = sourceFile.errorString().toLocal8Bit();
+ return false;
+ }
+ sourceFile.write(body);
+
return true;
}
@@ -487,6 +529,13 @@ namespace QTest {
else
projectFile.write("\nCONFIG += release\n");
+ QByteArray extraSources = QFile::encodeName(extraProgramSources.join(" "));
+ if (!extraSources.isEmpty()) {
+ projectFile.write("SOURCES += ");
+ projectFile.write(extraSources);
+ projectFile.putChar('\n');
+ }
+
// Add Qt modules
if (qtModules & QExternalTest::QtCore)
projectFile.write("QT += core\n");
@@ -538,6 +587,24 @@ namespace QTest {
"embedded:test_run.commands += -qws\n"
"QMAKE_EXTRA_TARGETS += test_run\n");
+ // Use qmake to debug:
+ projectFile.write(
+ "\n"
+ "*-g++* {\n"
+ " unix:test_debug.commands = gdb --args ./$(QMAKE_TARGET)\n"
+ " else:test_debug.commands = gdb --args $(QMAKE_TARGET)\n"
+ " embedded:test_debug.commands += -qws\n"
+ " QMAKE_EXTRA_TARGETS += test_debug\n"
+ "}\n");
+
+ // Also use qmake to run the app with valgrind:
+ projectFile.write(
+ "\n"
+ "unix:test_valgrind.commands = valgrind ./$(QMAKE_TARGET)\n"
+ "else:test_valgrind.commands = valgrind $(QMAKE_TARGET)\n"
+ "embedded:test_valgrind.commands += -qws\n"
+ "QMAKE_EXTRA_TARGETS += test_valgrind\n");
+
return true;
}
@@ -579,7 +646,7 @@ namespace QTest {
{
Q_ASSERT(!temporaryDir.isEmpty());
- QProcess make;
+ QExternalProcess make;
make.setWorkingDirectory(temporaryDir);
QStringList environment = QProcess::systemEnvironment();
@@ -587,10 +654,22 @@ namespace QTest {
make.setEnvironment(environment);
QStringList args;
- if (target == Compile)
+ QProcess::ProcessChannelMode channelMode = QProcess::SeparateChannels;
+ if (target == Compile) {
args << QLatin1String("test_compile");
- else if (target == Run)
- args << QLatin1String("test_run");
+ } else if (target == Run) {
+ QByteArray run = qgetenv("QTEST_EXTERNAL_RUN");
+ if (run == "valgrind")
+ args << QLatin1String("test_valgrind");
+ else if (run == "debug")
+ args << QLatin1String("test_debug");
+ else
+ args << QLatin1String("test_run");
+ if (!run.isEmpty())
+ channelMode = QProcess::ForwardedChannels;
+ }
+
+ make.setProcessChannelMode(channelMode);
#if defined(Q_OS_WIN) && !defined(Q_CC_MINGW)
make.start(QLatin1String("nmake.exe"), args);
@@ -616,7 +695,10 @@ namespace QTest {
return false;
}
- bool ok = make.waitForFinished();
+ make.closeWriteChannel();
+ bool ok = make.waitForFinished(channelMode == QProcess::ForwardedChannels ? -1 : 60000);
+ if (!ok)
+ make.terminate();
exitCode = make.exitCode();
std_out += make.readAllStandardOutput();
std_err += make.readAllStandardError();
diff --git a/tests/auto/qsharedpointer/externaltests.h b/tests/auto/qsharedpointer/externaltests.h
index 24a3236..ecc107e 100644
--- a/tests/auto/qsharedpointer/externaltests.h
+++ b/tests/auto/qsharedpointer/externaltests.h
@@ -45,6 +45,7 @@
#include <QList>
#include <QByteArray>
+#include <QStringList>
QT_BEGIN_NAMESPACE
namespace QTest {
@@ -102,6 +103,9 @@ namespace QTest {
ApplicationType applicationType() const;
void setApplicationType(ApplicationType type);
+ QStringList extraProgramSources() const;
+ void setExtraProgramSources(const QStringList &list);
+
QByteArray programHeader() const;
void setProgramHeader(const QByteArray &header);
diff --git a/tests/auto/qsharedpointer/externaltests.pri b/tests/auto/qsharedpointer/externaltests.pri
index 0ded149..627af87 100644
--- a/tests/auto/qsharedpointer/externaltests.pri
+++ b/tests/auto/qsharedpointer/externaltests.pri
@@ -1,4 +1,5 @@
SOURCES += $$PWD/externaltests.cpp
+HEADERS += $$PWD/externaltests.h
cleanedQMAKESPEC = $$replace(QMAKESPEC, \\\\, /)
!symbian:DEFINES += DEFAULT_MAKESPEC=\\\"$$cleanedQMAKESPEC\\\"
diff --git a/tests/auto/qsharedpointer/forwarddeclaration.cpp b/tests/auto/qsharedpointer/forwarddeclaration.cpp
new file mode 100644
index 0000000..1dbbeec
--- /dev/null
+++ b/tests/auto/qsharedpointer/forwarddeclaration.cpp
@@ -0,0 +1,52 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#define QT_SHAREDPOINTER_TRACK_POINTERS
+#include "qsharedpointer.h"
+
+class ForwardDeclared;
+ForwardDeclared *forwardPointer();
+
+void externalForwardDeclaration()
+{
+ struct Wrapper { QSharedPointer<ForwardDeclared> pointer; };
+}
+
diff --git a/tests/auto/qsharedpointer/forwarddeclared.cpp b/tests/auto/qsharedpointer/forwarddeclared.cpp
new file mode 100644
index 0000000..4ab467a
--- /dev/null
+++ b/tests/auto/qsharedpointer/forwarddeclared.cpp
@@ -0,0 +1,53 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "forwarddeclared.h"
+
+ForwardDeclared *forwardPointer()
+{
+ return new ForwardDeclared;
+}
+
+int forwardDeclaredDestructorRunCount;
+ForwardDeclared::~ForwardDeclared()
+{
+ ++forwardDeclaredDestructorRunCount;
+}
diff --git a/tests/auto/qsharedpointer/forwarddeclared.h b/tests/auto/qsharedpointer/forwarddeclared.h
new file mode 100644
index 0000000..a4cc2b4
--- /dev/null
+++ b/tests/auto/qsharedpointer/forwarddeclared.h
@@ -0,0 +1,54 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef FORWARDDECLARED_H
+#define FORWARDDECLARED_H
+
+extern int forwardDeclaredDestructorRunCount;
+class ForwardDeclared
+{
+public:
+ ~ForwardDeclared();
+};
+
+ForwardDeclared *forwardPointer();
+
+#endif // FORWARDDECLARED_H
diff --git a/tests/auto/qsharedpointer/qsharedpointer.pro b/tests/auto/qsharedpointer/qsharedpointer.pro
index 4532260..bbd31d7 100644
--- a/tests/auto/qsharedpointer/qsharedpointer.pro
+++ b/tests/auto/qsharedpointer/qsharedpointer.pro
@@ -1,7 +1,14 @@
load(qttest_p4)
-SOURCES += tst_qsharedpointer.cpp
+SOURCES += tst_qsharedpointer.cpp \
+ forwarddeclaration.cpp \
+ forwarddeclared.cpp \
+ wrapper.cpp
+
+HEADERS += forwarddeclared.h \
+ wrapper.h
+
QT = core
-!symbian:DEFINES += SRCDIR=\\\"$$PWD\\\"
+!symbian:DEFINES += SRCDIR=\\\"$$PWD/\\\"
include(externaltests.pri)
diff --git a/tests/auto/qsharedpointer/tst_qsharedpointer.cpp b/tests/auto/qsharedpointer/tst_qsharedpointer.cpp
index 3adef09..98fbeb5 100644
--- a/tests/auto/qsharedpointer/tst_qsharedpointer.cpp
+++ b/tests/auto/qsharedpointer/tst_qsharedpointer.cpp
@@ -41,8 +41,19 @@
#define QT_SHAREDPOINTER_TRACK_POINTERS
#include "qsharedpointer.h"
-#include "externaltests.h"
#include <QtTest/QtTest>
+#include <QtCore/QThread>
+#include <QtCore/QVector>
+
+#include "externaltests.h"
+#include "wrapper.h"
+
+#include <stdlib.h>
+#include <time.h>
+
+namespace QtSharedPointer {
+ Q_CORE_EXPORT void internalSafetyCheckCleanCheck();
+}
#ifdef Q_OS_SYMBIAN
#define SRCDIR "."
@@ -60,6 +71,7 @@ private slots:
void memoryManagement();
void downCast();
void upCast();
+ void objectCast();
void differentPointers();
void virtualBaseDifferentPointers();
#ifndef QTEST_NO_RTTI
@@ -68,13 +80,38 @@ private slots:
void dynamicCastVirtualBase();
void dynamicCastFailure();
#endif
- void customDeleter();
void constCorrectness();
+ void customDeleter();
+ void creating();
+ void mixTrackingPointerCode();
+ void threadStressTest_data();
+ void threadStressTest();
void validConstructs();
void invalidConstructs_data();
void invalidConstructs();
+
+public slots:
+ void cleanup() { check(); }
+
+public:
+ inline void check()
+ {
+#ifdef QT_BUILD_INTERNAL
+ QtSharedPointer::internalSafetyCheckCleanCheck();
+#endif
+ }
};
+template <typename Base>
+class RefCountHack: public Base
+{
+public:
+ using Base::d;
+};
+template<typename Base> static inline
+QtSharedPointer::ExternalRefCountData *refCountData(const Base &b)
+{ return static_cast<const RefCountHack<Base> *>(&b)->d; }
+
class Data
{
public:
@@ -107,6 +144,8 @@ public:
{
delete this;
}
+
+ virtual int classLevel() { return 1; }
};
int Data::generationCounter = 0;
int Data::destructorCounter = 0;
@@ -156,8 +195,8 @@ void tst_QSharedPointer::basics()
QVERIFY(! (ptr == otherData));
QVERIFY(! (otherData == ptr));
}
- QVERIFY(!ptr.d || ptr.d->weakref == 1);
- QVERIFY(!ptr.d || ptr.d->strongref == 1);
+ QVERIFY(!refCountData(ptr) || refCountData(ptr)->weakref == 1);
+ QVERIFY(!refCountData(ptr) || refCountData(ptr)->strongref == 1);
{
// create another object:
@@ -169,8 +208,8 @@ void tst_QSharedPointer::basics()
// otherData is deleted here
}
- QVERIFY(!ptr.d || ptr.d->weakref == 1);
- QVERIFY(!ptr.d || ptr.d->strongref == 1);
+ QVERIFY(!refCountData(ptr) || refCountData(ptr)->weakref == 1);
+ QVERIFY(!refCountData(ptr) || refCountData(ptr)->strongref == 1);
{
// create a copy:
@@ -186,8 +225,8 @@ void tst_QSharedPointer::basics()
QCOMPARE(copy.data(), aData);
QVERIFY(copy == aData);
}
- QVERIFY(!ptr.d || ptr.d->weakref == 1);
- QVERIFY(!ptr.d || ptr.d->strongref == 1);
+ QVERIFY(!refCountData(ptr) || refCountData(ptr)->weakref == 1);
+ QVERIFY(!refCountData(ptr) || refCountData(ptr)->strongref == 1);
{
// create a weak reference:
@@ -218,23 +257,48 @@ void tst_QSharedPointer::basics()
QVERIFY(strong == ptr);
QCOMPARE(strong.data(), aData);
}
- QVERIFY(!ptr.d || ptr.d->weakref == 1);
- QVERIFY(!ptr.d || ptr.d->strongref == 1);
+ QVERIFY(!refCountData(ptr) || refCountData(ptr)->weakref == 1);
+ QVERIFY(!refCountData(ptr) || refCountData(ptr)->strongref == 1);
// aData is deleted here
}
class ForwardDeclared;
+ForwardDeclared *forwardPointer();
+void externalForwardDeclaration();
+extern int forwardDeclaredDestructorRunCount;
+
void tst_QSharedPointer::forwardDeclaration1()
{
- class Wrapper { QSharedPointer<ForwardDeclared> pointer; };
+#if defined(Q_CC_SUN)
+ QSKIP("This type of forward declaration is not valid with this compiler", SkipAll);
+#else
+ externalForwardDeclaration();
+
+ struct Wrapper { QSharedPointer<ForwardDeclared> pointer; };
+
+ forwardDeclaredDestructorRunCount = 0;
+ {
+ Wrapper w;
+ w.pointer = QSharedPointer<ForwardDeclared>(forwardPointer());
+ QVERIFY(!w.pointer.isNull());
+ }
+ QCOMPARE(forwardDeclaredDestructorRunCount, 1);
+#endif
}
-class ForwardDeclared { };
+#include "forwarddeclared.h"
+
void tst_QSharedPointer::forwardDeclaration2()
{
- class Wrapper { QSharedPointer<ForwardDeclared> pointer; };
- Wrapper w;
+ forwardDeclaredDestructorRunCount = 0;
+ {
+ struct Wrapper { QSharedPointer<ForwardDeclared> pointer; };
+ Wrapper w1, w2;
+ w1.pointer = QSharedPointer<ForwardDeclared>(forwardPointer());
+ QVERIFY(!w1.pointer.isNull());
+ }
+ QCOMPARE(forwardDeclaredDestructorRunCount, 1);
}
void tst_QSharedPointer::memoryManagement()
@@ -314,6 +378,8 @@ public:
{
delete this;
}
+
+ virtual int classLevel() { return 2; }
};
int DerivedData::derivedDestructorCounter = 0;
@@ -321,15 +387,23 @@ class Stuffing
{
public:
char buffer[16];
+ Stuffing() { for (uint i = 0; i < sizeof buffer; ++i) buffer[i] = 16 - i; }
virtual ~Stuffing() { }
};
class DiffPtrDerivedData: public Stuffing, public Data
{
+public:
+ virtual int classLevel() { return 3; }
};
class VirtualDerived: virtual public Data
{
+public:
+ int moreData;
+
+ VirtualDerived() : moreData(0xc0ffee) { }
+ virtual int classLevel() { return 4; }
};
void tst_QSharedPointer::downCast()
@@ -400,15 +474,15 @@ void tst_QSharedPointer::upCast()
QVERIFY(baseptr == derivedptr);
QCOMPARE(static_cast<Data *>(derivedptr.data()), baseptr.data());
}
- QCOMPARE(int(baseptr.d->weakref), 1);
- QCOMPARE(int(baseptr.d->strongref), 1);
+ QCOMPARE(int(refCountData(baseptr)->weakref), 1);
+ QCOMPARE(int(refCountData(baseptr)->strongref), 1);
{
QWeakPointer<DerivedData> derivedptr = qWeakPointerCast<DerivedData>(baseptr);
QVERIFY(baseptr == derivedptr);
}
- QCOMPARE(int(baseptr.d->weakref), 1);
- QCOMPARE(int(baseptr.d->strongref), 1);
+ QCOMPARE(int(refCountData(baseptr)->weakref), 1);
+ QCOMPARE(int(refCountData(baseptr)->strongref), 1);
{
QWeakPointer<Data> weakptr = baseptr;
@@ -416,16 +490,122 @@ void tst_QSharedPointer::upCast()
QVERIFY(baseptr == derivedptr);
QCOMPARE(static_cast<Data *>(derivedptr.data()), baseptr.data());
}
- QCOMPARE(int(baseptr.d->weakref), 1);
- QCOMPARE(int(baseptr.d->strongref), 1);
+ QCOMPARE(int(refCountData(baseptr)->weakref), 1);
+ QCOMPARE(int(refCountData(baseptr)->strongref), 1);
{
QSharedPointer<DerivedData> derivedptr = baseptr.staticCast<DerivedData>();
QVERIFY(baseptr == derivedptr);
QCOMPARE(static_cast<Data *>(derivedptr.data()), baseptr.data());
}
- QCOMPARE(int(baseptr.d->weakref), 1);
- QCOMPARE(int(baseptr.d->strongref), 1);
+ QCOMPARE(int(refCountData(baseptr)->weakref), 1);
+ QCOMPARE(int(refCountData(baseptr)->strongref), 1);
+}
+
+class OtherObject: public QObject
+{
+ Q_OBJECT
+};
+
+void tst_QSharedPointer::objectCast()
+{
+ {
+ OtherObject *data = new OtherObject;
+ QSharedPointer<QObject> baseptr = QSharedPointer<QObject>(data);
+ QVERIFY(baseptr == data);
+ QVERIFY(data == baseptr);
+
+ // perform object cast
+ QSharedPointer<OtherObject> ptr = qSharedPointerObjectCast<OtherObject>(baseptr);
+ QVERIFY(!ptr.isNull());
+ QCOMPARE(ptr.data(), data);
+ QVERIFY(ptr == data);
+
+ // again:
+ ptr = baseptr.objectCast<OtherObject>();
+ QVERIFY(ptr == data);
+
+#ifndef QT_NO_PARTIAL_TEMPLATE_SPECIALIZATION
+ // again:
+ ptr = qobject_cast<OtherObject *>(baseptr);
+ QVERIFY(ptr == data);
+
+ // again:
+ ptr = qobject_cast<QSharedPointer<OtherObject> >(baseptr);
+ QVERIFY(ptr == data);
+#endif
+ }
+ check();
+
+ {
+ const OtherObject *data = new OtherObject;
+ QSharedPointer<const QObject> baseptr = QSharedPointer<const QObject>(data);
+ QVERIFY(baseptr == data);
+ QVERIFY(data == baseptr);
+
+ // perform object cast
+ QSharedPointer<const OtherObject> ptr = qSharedPointerObjectCast<const OtherObject>(baseptr);
+ QVERIFY(!ptr.isNull());
+ QCOMPARE(ptr.data(), data);
+ QVERIFY(ptr == data);
+
+ // again:
+ ptr = baseptr.objectCast<const OtherObject>();
+ QVERIFY(ptr == data);
+
+#ifndef QT_NO_PARTIAL_TEMPLATE_SPECIALIZATION
+ // again:
+ ptr = qobject_cast<const OtherObject *>(baseptr);
+ QVERIFY(ptr == data);
+
+ // again:
+ ptr = qobject_cast<QSharedPointer<const OtherObject> >(baseptr);
+ QVERIFY(ptr == data);
+#endif
+ }
+ check();
+
+ {
+ OtherObject *data = new OtherObject;
+ QPointer<OtherObject> qptr = data;
+ QSharedPointer<OtherObject> ptr = QSharedPointer<OtherObject>(data);
+ QWeakPointer<QObject> weakptr = ptr;
+
+ {
+ // perform object cast
+ QSharedPointer<OtherObject> otherptr = qSharedPointerObjectCast<OtherObject>(weakptr);
+ QVERIFY(otherptr == ptr);
+
+ // again:
+ otherptr = qobject_cast<OtherObject *>(weakptr);
+ QVERIFY(otherptr == ptr);
+
+ // again:
+ otherptr = qobject_cast<QSharedPointer<OtherObject> >(weakptr);
+ QVERIFY(otherptr == ptr);
+ }
+
+ // drop the reference:
+ ptr.clear();
+ QVERIFY(ptr.isNull());
+ QVERIFY(qptr.isNull());
+ QVERIFY(weakptr.toStrongRef().isNull());
+
+ // verify that the object casts fail without crash
+ QSharedPointer<OtherObject> otherptr = qSharedPointerObjectCast<OtherObject>(weakptr);
+ QVERIFY(otherptr.isNull());
+
+#ifndef QT_NO_PARTIAL_TEMPLATE_SPECIALIZATION
+ // again:
+ otherptr = qobject_cast<OtherObject *>(weakptr);
+ QVERIFY(otherptr.isNull());
+
+ // again:
+ otherptr = qobject_cast<QSharedPointer<OtherObject> >(weakptr);
+ QVERIFY(otherptr.isNull());
+#endif
+ }
+ check();
}
void tst_QSharedPointer::differentPointers()
@@ -445,6 +625,7 @@ void tst_QSharedPointer::differentPointers()
QVERIFY(baseptr == aData);
QVERIFY(baseptr == aBase);
}
+ check();
{
DiffPtrDerivedData *aData = new DiffPtrDerivedData;
@@ -459,6 +640,7 @@ void tst_QSharedPointer::differentPointers()
QVERIFY(ptr == aBase);
QVERIFY(baseptr == aData);
}
+ check();
{
DiffPtrDerivedData *aData = new DiffPtrDerivedData;
@@ -475,6 +657,7 @@ void tst_QSharedPointer::differentPointers()
QVERIFY(baseptr == aData);
QVERIFY(baseptr == aBase);
}
+ check();
}
void tst_QSharedPointer::virtualBaseDifferentPointers()
@@ -494,6 +677,7 @@ void tst_QSharedPointer::virtualBaseDifferentPointers()
QVERIFY(baseptr == aData);
QVERIFY(baseptr == aBase);
}
+ check();
{
VirtualDerived *aData = new VirtualDerived;
@@ -510,6 +694,7 @@ void tst_QSharedPointer::virtualBaseDifferentPointers()
QVERIFY(baseptr == aData);
QVERIFY(baseptr == aBase);
}
+ check();
}
#ifndef QTEST_NO_RTTI
@@ -524,8 +709,8 @@ void tst_QSharedPointer::dynamicCast()
QCOMPARE(derivedptr.data(), aData);
QCOMPARE(static_cast<Data *>(derivedptr.data()), baseptr.data());
}
- QCOMPARE(int(baseptr.d->weakref), 1);
- QCOMPARE(int(baseptr.d->strongref), 1);
+ QCOMPARE(int(refCountData(baseptr)->weakref), 1);
+ QCOMPARE(int(refCountData(baseptr)->strongref), 1);
{
QWeakPointer<Data> weakptr = baseptr;
@@ -534,8 +719,8 @@ void tst_QSharedPointer::dynamicCast()
QCOMPARE(derivedptr.data(), aData);
QCOMPARE(static_cast<Data *>(derivedptr.data()), baseptr.data());
}
- QCOMPARE(int(baseptr.d->weakref), 1);
- QCOMPARE(int(baseptr.d->strongref), 1);
+ QCOMPARE(int(refCountData(baseptr)->weakref), 1);
+ QCOMPARE(int(refCountData(baseptr)->strongref), 1);
{
QSharedPointer<DerivedData> derivedptr = baseptr.dynamicCast<DerivedData>();
@@ -543,8 +728,8 @@ void tst_QSharedPointer::dynamicCast()
QCOMPARE(derivedptr.data(), aData);
QCOMPARE(static_cast<Data *>(derivedptr.data()), baseptr.data());
}
- QCOMPARE(int(baseptr.d->weakref), 1);
- QCOMPARE(int(baseptr.d->strongref), 1);
+ QCOMPARE(int(refCountData(baseptr)->weakref), 1);
+ QCOMPARE(int(refCountData(baseptr)->strongref), 1);
}
void tst_QSharedPointer::dynamicCastDifferentPointers()
@@ -559,8 +744,8 @@ void tst_QSharedPointer::dynamicCastDifferentPointers()
QCOMPARE(derivedptr.data(), aData);
QCOMPARE(static_cast<Data *>(derivedptr.data()), baseptr.data());
}
- QCOMPARE(int(baseptr.d->weakref), 1);
- QCOMPARE(int(baseptr.d->strongref), 1);
+ QCOMPARE(int(refCountData(baseptr)->weakref), 1);
+ QCOMPARE(int(refCountData(baseptr)->strongref), 1);
{
QWeakPointer<Data> weakptr = baseptr;
@@ -569,8 +754,8 @@ void tst_QSharedPointer::dynamicCastDifferentPointers()
QCOMPARE(derivedptr.data(), aData);
QCOMPARE(static_cast<Data *>(derivedptr.data()), baseptr.data());
}
- QCOMPARE(int(baseptr.d->weakref), 1);
- QCOMPARE(int(baseptr.d->strongref), 1);
+ QCOMPARE(int(refCountData(baseptr)->weakref), 1);
+ QCOMPARE(int(refCountData(baseptr)->strongref), 1);
{
QSharedPointer<DiffPtrDerivedData> derivedptr = baseptr.dynamicCast<DiffPtrDerivedData>();
@@ -578,8 +763,8 @@ void tst_QSharedPointer::dynamicCastDifferentPointers()
QCOMPARE(derivedptr.data(), aData);
QCOMPARE(static_cast<Data *>(derivedptr.data()), baseptr.data());
}
- QCOMPARE(int(baseptr.d->weakref), 1);
- QCOMPARE(int(baseptr.d->strongref), 1);
+ QCOMPARE(int(refCountData(baseptr)->weakref), 1);
+ QCOMPARE(int(refCountData(baseptr)->strongref), 1);
{
Stuffing *nakedptr = dynamic_cast<Stuffing *>(baseptr.data());
@@ -604,8 +789,8 @@ void tst_QSharedPointer::dynamicCastVirtualBase()
QCOMPARE(derivedptr.data(), aData);
QCOMPARE(static_cast<Data *>(derivedptr.data()), baseptr.data());
}
- QCOMPARE(int(baseptr.d->weakref), 1);
- QCOMPARE(int(baseptr.d->strongref), 1);
+ QCOMPARE(int(refCountData(baseptr)->weakref), 1);
+ QCOMPARE(int(refCountData(baseptr)->strongref), 1);
{
QWeakPointer<Data> weakptr = baseptr;
@@ -614,8 +799,8 @@ void tst_QSharedPointer::dynamicCastVirtualBase()
QCOMPARE(derivedptr.data(), aData);
QCOMPARE(static_cast<Data *>(derivedptr.data()), baseptr.data());
}
- QCOMPARE(int(baseptr.d->weakref), 1);
- QCOMPARE(int(baseptr.d->strongref), 1);
+ QCOMPARE(int(refCountData(baseptr)->weakref), 1);
+ QCOMPARE(int(refCountData(baseptr)->strongref), 1);
{
QSharedPointer<VirtualDerived> derivedptr = baseptr.dynamicCast<VirtualDerived>();
@@ -623,8 +808,8 @@ void tst_QSharedPointer::dynamicCastVirtualBase()
QCOMPARE(derivedptr.data(), aData);
QCOMPARE(static_cast<Data *>(derivedptr.data()), baseptr.data());
}
- QCOMPARE(int(baseptr.d->weakref), 1);
- QCOMPARE(int(baseptr.d->strongref), 1);
+ QCOMPARE(int(refCountData(baseptr)->weakref), 1);
+ QCOMPARE(int(refCountData(baseptr)->strongref), 1);
}
void tst_QSharedPointer::dynamicCastFailure()
@@ -636,15 +821,15 @@ void tst_QSharedPointer::dynamicCastFailure()
QSharedPointer<DerivedData> derivedptr = qSharedPointerDynamicCast<DerivedData>(baseptr);
QVERIFY(derivedptr.isNull());
}
- QCOMPARE(int(baseptr.d->weakref), 1);
- QCOMPARE(int(baseptr.d->strongref), 1);
+ QCOMPARE(int(refCountData(baseptr)->weakref), 1);
+ QCOMPARE(int(refCountData(baseptr)->strongref), 1);
{
QSharedPointer<DerivedData> derivedptr = baseptr.dynamicCast<DerivedData>();
QVERIFY(derivedptr.isNull());
}
- QCOMPARE(int(baseptr.d->weakref), 1);
- QCOMPARE(int(baseptr.d->strongref), 1);
+ QCOMPARE(int(refCountData(baseptr)->weakref), 1);
+ QCOMPARE(int(refCountData(baseptr)->strongref), 1);
}
#endif
@@ -676,6 +861,7 @@ void tst_QSharedPointer::constCorrectness()
ptr = cvptr.constCast<Data>();
#endif
}
+ check();
{
Data *aData = new Data;
@@ -689,6 +875,7 @@ void tst_QSharedPointer::constCorrectness()
QCOMPARE(cptr.data(), aData);
QCOMPARE(cptr.operator->(), aData);
}
+ check();
}
static int customDeleterFnCallCount;
@@ -698,9 +885,14 @@ void customDeleterFn(Data *ptr)
delete ptr;
}
+static int refcount;
+
template <typename T>
struct CustomDeleter
{
+ CustomDeleter() { ++refcount; }
+ CustomDeleter(const CustomDeleter &) { ++refcount; }
+ ~CustomDeleter() { --refcount; }
inline void operator()(T *ptr)
{
delete ptr;
@@ -717,11 +909,13 @@ void tst_QSharedPointer::customDeleter()
QSharedPointer<Data> ptr2(new Data, &Data::alsoDelete);
QSharedPointer<Data> ptr3(new Data, &Data::virtualDelete);
}
+ check();
{
QSharedPointer<DerivedData> ptr(new DerivedData, &Data::doDelete);
QSharedPointer<DerivedData> ptr2(new DerivedData, &Data::alsoDelete);
QSharedPointer<DerivedData> ptr3(new DerivedData, &Data::virtualDelete);
}
+ check();
customDeleterFnCallCount = 0;
{
@@ -730,6 +924,7 @@ void tst_QSharedPointer::customDeleter()
QCOMPARE(customDeleterFnCallCount, 0);
}
QCOMPARE(customDeleterFnCallCount, 1);
+ check();
customDeleterFnCallCount = 0;
{
@@ -739,6 +934,7 @@ void tst_QSharedPointer::customDeleter()
QCOMPARE(customDeleterFnCallCount, 1);
}
QCOMPARE(customDeleterFnCallCount, 1);
+ check();
customDeleterFnCallCount = 0;
{
@@ -748,6 +944,7 @@ void tst_QSharedPointer::customDeleter()
QCOMPARE(customDeleterFnCallCount, 1);
}
QCOMPARE(customDeleterFnCallCount, 1);
+ check();
customDeleterFnCallCount = 0;
{
@@ -756,6 +953,7 @@ void tst_QSharedPointer::customDeleter()
QCOMPARE(customDeleterFnCallCount, 0);
}
QCOMPARE(customDeleterFnCallCount, 1);
+ check();
customDeleterFnCallCount = 0;
{
@@ -764,6 +962,7 @@ void tst_QSharedPointer::customDeleter()
QCOMPARE(customDeleterFnCallCount, 0);
}
QCOMPARE(customDeleterFnCallCount, 1);
+ check();
customDeleterFnCallCount = 0;
{
@@ -776,6 +975,7 @@ void tst_QSharedPointer::customDeleter()
QCOMPARE(customDeleterFnCallCount, 0);
}
QCOMPARE(customDeleterFnCallCount, 1);
+ check();
customDeleterFnCallCount = 0;
{
@@ -788,7 +988,9 @@ void tst_QSharedPointer::customDeleter()
QCOMPARE(customDeleterFnCallCount, 0);
}
QCOMPARE(customDeleterFnCallCount, 1);
+ check();
+ refcount = 0;
CustomDeleter<Data> dataDeleter;
dataDeleter.callCount = 0;
{
@@ -797,6 +999,8 @@ void tst_QSharedPointer::customDeleter()
QCOMPARE(dataDeleter.callCount, 0);
}
QCOMPARE(dataDeleter.callCount, 1);
+ QCOMPARE(refcount, 1);
+ check();
dataDeleter.callCount = 0;
{
@@ -806,6 +1010,8 @@ void tst_QSharedPointer::customDeleter()
QCOMPARE(dataDeleter.callCount, 0);
}
QCOMPARE(dataDeleter.callCount, 1);
+ QCOMPARE(refcount, 1);
+ check();
dataDeleter.callCount = 0;
{
@@ -818,6 +1024,8 @@ void tst_QSharedPointer::customDeleter()
QCOMPARE(dataDeleter.callCount, 0);
}
QCOMPARE(dataDeleter.callCount, 1);
+ QCOMPARE(refcount, 1);
+ check();
dataDeleter.callCount = 0;
{
@@ -826,6 +1034,8 @@ void tst_QSharedPointer::customDeleter()
QCOMPARE(dataDeleter.callCount, 0);
}
QCOMPARE(dataDeleter.callCount, 1);
+ QCOMPARE(refcount, 1);
+ check();
CustomDeleter<DerivedData> derivedDataDeleter;
derivedDataDeleter.callCount = 0;
@@ -838,6 +1048,8 @@ void tst_QSharedPointer::customDeleter()
}
QCOMPARE(dataDeleter.callCount, 0);
QCOMPARE(derivedDataDeleter.callCount, 1);
+ QCOMPARE(refcount, 2);
+ check();
derivedDataDeleter.callCount = 0;
dataDeleter.callCount = 0;
@@ -854,6 +1066,8 @@ void tst_QSharedPointer::customDeleter()
}
QCOMPARE(dataDeleter.callCount, 1);
QCOMPARE(derivedDataDeleter.callCount, 0);
+ QCOMPARE(refcount, 2);
+ check();
derivedDataDeleter.callCount = 0;
dataDeleter.callCount = 0;
@@ -870,6 +1084,225 @@ void tst_QSharedPointer::customDeleter()
}
QCOMPARE(dataDeleter.callCount, 0);
QCOMPARE(derivedDataDeleter.callCount, 1);
+ QCOMPARE(refcount, 2);
+}
+
+void tst_QSharedPointer::creating()
+{
+ Data::generationCounter = Data::destructorCounter = 0;
+ {
+ QSharedPointer<Data> ptr = QSharedPointer<Data>::create();
+ QVERIFY(ptr.data());
+ QCOMPARE(Data::generationCounter, 1);
+ QCOMPARE(ptr->generation, 1);
+ QCOMPARE(Data::destructorCounter, 0);
+
+ QCOMPARE(ptr->classLevel(), 1);
+
+ ptr.clear();
+ QCOMPARE(Data::destructorCounter, 1);
+ }
+ check();
+
+ Data::generationCounter = Data::destructorCounter = 0;
+ {
+ QSharedPointer<Data> ptr = QSharedPointer<Data>::create();
+ QWeakPointer<Data> weakptr = ptr;
+ QtSharedPointer::ExternalRefCountData *d = refCountData(ptr);
+
+ ptr.clear();
+ QVERIFY(ptr.isNull());
+ QCOMPARE(Data::destructorCounter, 1);
+
+ // valgrind will complain here if something happened to the pointer
+ QVERIFY(d->weakref == 1);
+ QVERIFY(d->strongref == 0);
+ }
+ check();
+
+ Data::generationCounter = Data::destructorCounter = 0;
+ DerivedData::derivedDestructorCounter = 0;
+ {
+ QSharedPointer<Data> ptr = QSharedPointer<DerivedData>::create();
+ QCOMPARE(ptr->classLevel(), 2);
+ QCOMPARE(ptr.staticCast<DerivedData>()->moreData, 0);
+ ptr.clear();
+
+ QCOMPARE(Data::destructorCounter, 1);
+ QCOMPARE(DerivedData::derivedDestructorCounter, 1);
+ }
+ check();
+
+ {
+ QSharedPointer<Data> ptr = QSharedPointer<DiffPtrDerivedData>::create();
+ QCOMPARE(ptr->classLevel(), 3);
+ QCOMPARE(ptr.staticCast<DiffPtrDerivedData>()->buffer[7]+0, 16-7);
+ QCOMPARE(ptr.staticCast<DiffPtrDerivedData>()->buffer[3]+0, 16-3);
+ QCOMPARE(ptr.staticCast<DiffPtrDerivedData>()->buffer[0]+0, 16);
+ }
+ check();
+
+ {
+ QSharedPointer<VirtualDerived> ptr = QSharedPointer<VirtualDerived>::create();
+ QCOMPARE(ptr->classLevel(), 4);
+ QCOMPARE(ptr->moreData, 0xc0ffee);
+
+ QSharedPointer<Data> baseptr = ptr;
+ QCOMPARE(baseptr->classLevel(), 4);
+ }
+ check();
+
+ {
+ QSharedPointer<QObject> ptr = QSharedPointer<QObject>::create();
+ QCOMPARE(ptr->metaObject(), &QObject::staticMetaObject);
+
+ QPointer<QObject> qptr = ptr.data();
+ ptr.clear();
+
+ QVERIFY(qptr.isNull());
+ }
+ check();
+
+ {
+ QSharedPointer<QObject> ptr = QSharedPointer<OtherObject>::create();
+ QCOMPARE(ptr->metaObject(), &OtherObject::staticMetaObject);
+ }
+ check();
+}
+
+void tst_QSharedPointer::mixTrackingPointerCode()
+{
+ {
+ // pointer created with tracking
+ // deleted in code without tracking
+ QSharedPointer<int> ptr = QSharedPointer<int>(new int(42));
+ Wrapper w(ptr);
+ ptr.clear();
+ }
+ check();
+
+ {
+ // pointer created without tracking
+ // deleted in code with tracking
+ Wrapper w = Wrapper::create();
+ w.ptr.clear();
+ }
+}
+
+class ThreadData
+{
+ QAtomicInt * volatile ptr;
+public:
+ ThreadData(QAtomicInt *p) : ptr(p) { }
+ ~ThreadData() { ++ptr; }
+ void ref()
+ {
+ // if we're called after the destructor, we'll crash
+ ptr->ref();
+ }
+};
+
+class StrongThread: public QThread
+{
+protected:
+ void run()
+ {
+ usleep(rand() % 2000);
+ ptr->ref();
+ ptr.clear();
+ }
+public:
+ QSharedPointer<ThreadData> ptr;
+};
+
+class WeakThread: public QThread
+{
+protected:
+ void run()
+ {
+ usleep(rand() % 2000);
+ QSharedPointer<ThreadData> ptr = weak;
+ if (ptr)
+ ptr->ref();
+ ptr.clear();
+ }
+public:
+ QWeakPointer<ThreadData> weak;
+};
+
+void tst_QSharedPointer::threadStressTest_data()
+{
+ QTest::addColumn<int>("strongThreadCount");
+ QTest::addColumn<int>("weakThreadCount");
+
+ QTest::newRow("0+0") << 0 << 0;
+ QTest::newRow("1+0") << 1 << 0;
+ QTest::newRow("2+0") << 2 << 0;
+ QTest::newRow("10+0") << 10 << 0;
+
+ QTest::newRow("0+1") << 0 << 1;
+ QTest::newRow("1+1") << 1 << 1;
+
+ QTest::newRow("2+10") << 2 << 10;
+ QTest::newRow("5+10") << 5 << 10;
+ QTest::newRow("5+30") << 5 << 30;
+
+ QTest::newRow("100+100") << 100 << 100;
+}
+
+void tst_QSharedPointer::threadStressTest()
+{
+ QFETCH(int, strongThreadCount);
+ QFETCH(int, weakThreadCount);
+
+ int guard1[128];
+ QAtomicInt counter;
+ int guard2[128];
+
+ memset(guard1, 0, sizeof guard1);
+ memset(guard2, 0, sizeof guard2);
+
+ for (int r = 0; r < 5; ++r) {
+ QVector<QThread*> allThreads(6 * qMax(strongThreadCount, weakThreadCount) + 3, 0);
+ QSharedPointer<ThreadData> base = QSharedPointer<ThreadData>(new ThreadData(&counter));
+ counter = 0;
+
+ // set the pointers
+ for (int i = 0; i < strongThreadCount; ++i) {
+ StrongThread *t = new StrongThread;
+ t->ptr = base;
+ allThreads[2 * i] = t;
+ }
+ for (int i = 0; i < weakThreadCount; ++i) {
+ WeakThread *t = new WeakThread;
+ t->weak = base;
+ allThreads[6 * i + 3] = t;
+ }
+
+ base.clear();
+
+ srand(time(NULL));
+ // start threads
+ for (int i = 0; i < allThreads.count(); ++i)
+ if (allThreads[i]) allThreads[i]->start();
+
+ // wait for them to finish
+ for (int i = 0; i < allThreads.count(); ++i)
+ if (allThreads[i]) allThreads[i]->wait();
+ qDeleteAll(allThreads);
+
+ // ensure the guards aren't touched
+ for (uint i = 0; i < sizeof guard1 / sizeof guard1[0]; ++i)
+ QVERIFY(!guard1[i]);
+ for (uint i = 0; i < sizeof guard2 / sizeof guard2[0]; ++i)
+ QVERIFY(!guard2[i]);
+
+ // verify that the count is the right range
+ int minValue = strongThreadCount;
+ int maxValue = strongThreadCount + weakThreadCount;
+ QVERIFY(counter >= minValue);
+ QVERIFY(counter <= maxValue);
+ }
}
void tst_QSharedPointer::validConstructs()
@@ -919,8 +1352,13 @@ void tst_QSharedPointer::invalidConstructs_data()
// use of forward-declared class
QTest::newRow("forward-declaration")
+ << &QTest::QExternalTest::tryRun
+ << "forwardDeclaredDestructorRunCount = 0;\n"
+ "{ QSharedPointer<ForwardDeclared> ptr = QSharedPointer<ForwardDeclared>(forwardPointer()); }\n"
+ "exit(forwardDeclaredDestructorRunCount);";
+ QTest::newRow("creating-forward-declaration")
<< &QTest::QExternalTest::tryCompileFail
- << "QSharedPointer<ForwardDeclared> ptr;";
+ << "QSharedPointer<ForwardDeclared>::create();";
// upcast without cast operator:
QTest::newRow("upcast1")
@@ -943,6 +1381,26 @@ void tst_QSharedPointer::invalidConstructs_data()
<< "QSharedPointer<const Data> baseptr = QSharedPointer<const Data>(new Data);\n"
"QSharedPointer<Data> ptr;"
"ptr = baseptr;";
+ QTest::newRow("const-dropping-static-cast")
+ << &QTest::QExternalTest::tryCompileFail
+ << "QSharedPointer<const Data> baseptr = QSharedPointer<const Data>(new Data);\n"
+ "qSharedPointerCast<DerivedData>(baseptr);";
+#ifndef QTEST_NO_RTTI
+ QTest::newRow("const-dropping-dynamic-cast")
+ << &QTest::QExternalTest::tryCompileFail
+ << "QSharedPointer<const Data> baseptr = QSharedPointer<const Data>(new Data);\n"
+ "qSharedPointerDynamicCast<DerivedData>(baseptr);";
+#endif
+ QTest::newRow("const-dropping-object-cast1")
+ << &QTest::QExternalTest::tryCompileFail
+ << "QSharedPointer<const QObject> baseptr = QSharedPointer<const QObject>(new QObject);\n"
+ "qSharedPointerObjectCast<QCoreApplication>(baseptr);";
+#ifndef QT_NO_PARTIAL_TEMPLATE_SPECIALIZATION
+ QTest::newRow("const-dropping-object-cast2")
+ << &QTest::QExternalTest::tryCompileFail
+ << "QSharedPointer<const QObject> baseptr = QSharedPointer<const QObject>(new QObject);\n"
+ "qobject_cast<QCoreApplication *>(baseptr);";
+#endif
// arithmethics through automatic cast operators
QTest::newRow("arithmethic1")
@@ -956,6 +1414,7 @@ void tst_QSharedPointer::invalidConstructs_data()
"QSharedPointer<Data> b;\n"
"if (a + b) return;";
+#if QT_VERSION >= 0x040600
// two objects with the same pointer
QTest::newRow("same-pointer")
<< &QTest::QExternalTest::tryRunFail
@@ -969,6 +1428,7 @@ void tst_QSharedPointer::invalidConstructs_data()
<< "Data *aData = new Data;\n"
"QSharedPointer<Data> ptr1 = QSharedPointer<Data>(aData);"
"ptr1 = QSharedPointer<Data>(aData);";
+#endif
// any type of cast for unrelated types:
// (we have no reinterpret_cast)
@@ -986,6 +1446,10 @@ void tst_QSharedPointer::invalidConstructs_data()
<< &QTest::QExternalTest::tryCompileFail
<< "QSharedPointer<Data> ptr1;\n"
"QSharedPointer<int> ptr2 = qSharedPointerConstCast<int>(ptr1);";
+ QTest::newRow("invalid-cast4")
+ << &QTest::QExternalTest::tryCompileFail
+ << "QSharedPointer<Data> ptr1;\n"
+ "QSharedPointer<int> ptr2 = qSharedPointerObjectCast<int>(ptr1);";
}
void tst_QSharedPointer::invalidConstructs()
@@ -1000,13 +1464,19 @@ void tst_QSharedPointer::invalidConstructs()
QTest::QExternalTest test;
test.setDebugMode(true);
test.setQtModules(QTest::QExternalTest::QtCore);
+ test.setExtraProgramSources(QStringList() << SRCDIR "forwarddeclared.cpp");
test.setProgramHeader(
"#define QT_SHAREDPOINTER_TRACK_POINTERS\n"
"#include <QtCore/qsharedpointer.h>\n"
+ "#include <QtCore/qcoreapplication.h>\n"
"\n"
"struct Data { int i; };\n"
"struct DerivedData: public Data { int j; };\n"
- "struct ForwardDeclared;");
+ "\n"
+ "extern int forwardDeclaredDestructorRunCount;\n"
+ "struct ForwardDeclared;\n"
+ "ForwardDeclared *forwardPointer();\n"
+ );
QFETCH(QString, code);
static bool sane = true;
diff --git a/tests/auto/qsharedpointer/wrapper.cpp b/tests/auto/qsharedpointer/wrapper.cpp
new file mode 100644
index 0000000..7640e68
--- /dev/null
+++ b/tests/auto/qsharedpointer/wrapper.cpp
@@ -0,0 +1,60 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifdef QT_SHAREDPOINTER_TRACK_POINTERS
+# undef QT_SHAREDPOINTER_TRACK_POINTERS
+#endif
+#include <QtCore/qsharedpointer.h>
+#include "wrapper.h"
+
+Wrapper::Wrapper(const QSharedPointer<int> &value)
+ : ptr(value)
+{
+}
+
+Wrapper::~Wrapper()
+{
+}
+
+Wrapper Wrapper::create()
+{
+ return Wrapper(QSharedPointer<int>(new int(-47)));
+}
diff --git a/tests/auto/qsharedpointer/wrapper.h b/tests/auto/qsharedpointer/wrapper.h
new file mode 100644
index 0000000..a888063
--- /dev/null
+++ b/tests/auto/qsharedpointer/wrapper.h
@@ -0,0 +1,55 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+#ifndef WRAPPER_H
+#define WRAPPER_H
+
+template <class T> class QSharedPointer;
+class Wrapper
+{
+public:
+ QSharedPointer<int> ptr;
+ Wrapper(const QSharedPointer<int> &);
+ ~Wrapper();
+
+ static Wrapper create();
+};
+
+#endif // WRAPPER_H
diff --git a/tests/auto/qsocketnotifier/qsocketnotifier.pro b/tests/auto/qsocketnotifier/qsocketnotifier.pro
index 10ed3a5..ec924c1 100644
--- a/tests/auto/qsocketnotifier/qsocketnotifier.pro
+++ b/tests/auto/qsocketnotifier/qsocketnotifier.pro
@@ -2,6 +2,8 @@ load(qttest_p4)
SOURCES += tst_qsocketnotifier.cpp
QT = core network
+requires(contains(QT_CONFIG,private_tests))
+
include(../qnativesocketengine/qsocketengine.pri)
diff --git a/tests/auto/qsocks5socketengine/qsocks5socketengine.pro b/tests/auto/qsocks5socketengine/qsocks5socketengine.pro
index 87f23a7..4a32852 100644
--- a/tests/auto/qsocks5socketengine/qsocks5socketengine.pro
+++ b/tests/auto/qsocks5socketengine/qsocks5socketengine.pro
@@ -13,3 +13,4 @@ QT = core network
symbian:INCPATH+=..\..\..\include\QtNetwork\private
+requires(contains(QT_CONFIG,private_tests))
diff --git a/tests/auto/qsqldatabase/qsqldatabase.pro b/tests/auto/qsqldatabase/qsqldatabase.pro
index 1749d1e..964c8c9 100644
--- a/tests/auto/qsqldatabase/qsqldatabase.pro
+++ b/tests/auto/qsqldatabase/qsqldatabase.pro
@@ -5,7 +5,10 @@ QT += sql
contains(QT_CONFIG, qt3support): QT += qt3support
-win32:!wince*: LIBS += -lws2_32
+win32: {
+ !wince*: LIBS += -lws2_32
+ else: LIBS += -lws2
+}
wince*: {
DEPLOYMENT_PLUGIN += qsqlite
diff --git a/tests/auto/qsqldatabase/tst_databases.h b/tests/auto/qsqldatabase/tst_databases.h
index b81182a..f1e9d28 100644
--- a/tests/auto/qsqldatabase/tst_databases.h
+++ b/tests/auto/qsqldatabase/tst_databases.h
@@ -105,7 +105,11 @@ inline static QString qTableName( const QString& prefix, QSqlDriver* driver = 0
inline static bool testWhiteSpaceNames( const QString &name )
{
- return name != QLatin1String("QTDS7");
+/* return name.startsWith( "QPSQL" )
+ || name.startsWith( "QODBC" )
+ || name.startsWith( "QSQLITE" )
+ || name.startsWith( "QMYSQL" );*/
+ return name != QLatin1String("QSQLITE2");
}
inline static QString toHex( const QString& binary )
@@ -215,9 +219,9 @@ public:
// addDb( "QMYSQL3", "testdb", "troll", "trond", "horsehead.nokia.troll.no", 3307 );
// addDb( "QMYSQL3", "testdb", "troll", "trond", "horsehead.nokia.troll.no", 3308, "CLIENT_COMPRESS=1;CLIENT_SSL=1" ); // MySQL 4.1.1
// addDb( "QMYSQL3", "testdb", "troll", "trond", "horsehead.nokia.troll.no", 3309, "CLIENT_COMPRESS=1;CLIENT_SSL=1" ); // MySQL 5.0.18 Linux
-// addDb( "QMYSQL3", "testdb", "troll", "trond", "iceblink.nokia.troll.no" ); // MySQL 5.0.13 Windows
+// addDb( "QMYSQL3", "testdb", "troll", "trond", "silence.nokia.troll.no" ); // MySQL 5.1.36 Windows
// addDb( "QMYSQL3", "testdb", "testuser", "Ee4Gabf6_", "mysql4-nokia.trolltech.com.au" ); // MySQL 4.1.22-2.el4 linux
-// addDb( "QMYSQL3", "testdb", "testuser", "Ee4Gabf6_", "mysql5-nokia.trolltech.com.au" ); // MySQL 5.0.45-7.el5 linux
+// addDb( "QMYSQL3", "testdb", "testuser", "Ee4Gabf6_", "mysql5-nokia.trolltech.com.au" ); // MySQL 5.0.45-7.el5 linux
// addDb( "QPSQL7", "testdb", "troll", "trond", "horsehead.nokia.troll.no" ); // V7.2 NOT SUPPORTED!
// addDb( "QPSQL7", "testdb", "troll", "trond", "horsehead.nokia.troll.no", 5434 ); // V7.2 NOT SUPPORTED! Multi-byte
@@ -239,18 +243,21 @@ public:
// use in-memory database to prevent local files
// addDb("QSQLITE", ":memory:");
- addDb( "QSQLITE", QDir::toNativeSeparators(QDir::tempPath()+"/foo.db") );
+ addDb( "QSQLITE", QDir::toNativeSeparators(QDir::tempPath()+"/foo.db") );
// addDb( "QSQLITE2", QDir::toNativeSeparators(QDir::tempPath()+"/foo2.db") );
// addDb( "QODBC3", "DRIVER={SQL SERVER};SERVER=iceblink.nokia.troll.no\\ICEBLINK", "troll", "trond", "" );
// addDb( "QODBC3", "DRIVER={SQL Native Client};SERVER=silence.nokia.troll.no\\SQLEXPRESS", "troll", "trond", "" );
// addDb( "QODBC", "DRIVER={MySQL ODBC 3.51 Driver};SERVER=mysql5-nokia.trolltech.com.au;DATABASE=testdb", "testuser", "Ee4Gabf6_", "" );
-// addDb( "QODBC", "DRIVER={FreeTDS};SERVER=horsehead.nokia.troll.no;DATABASE=testdb;PORT=4101;UID=troll;PWD=trondk;TDS_Version=8.0", "troll", "trondk", "" );
-// addDb( "QODBC", "DRIVER={FreeTDS};SERVER=silence.nokia.troll.no;DATABASE=testdb;PORT=2392;UID=troll;PWD=trond;TDS_Version=8.0", "troll", "trond", "" );
-// addDb( "QODBC", "DRIVER={FreeTDS};SERVER=bq-winserv2003-x86-01.apac.nokia.com;DATABASE=testdb;PORT=1433;UID=testuser;PWD=Ee4Gabf6_;TDS_Version=8.0", "testuser", "Ee4Gabf6_", "" );
-// addDb( "QODBC", "DRIVER={FreeTDS};SERVER=bq-winserv2008-x86-01.apac.nokia.com;DATABASE=testdb;PORT=1433;UID=testuser;PWD=Ee4Gabf6_;TDS_Version=8.0", "testuser", "Ee4Gabf6_", "" );
+// addDb( "QODBC", "DRIVER={MySQL ODBC 5.1 Driver};SERVER=mysql4-nokia.trolltech.com.au;DATABASE=testdb", "testuser", "Ee4Gabf6_", "" );
+// addDb( "QODBC", "DRIVER={FreeTDS};SERVER=horsehead.nokia.troll.no;DATABASE=testdb;PORT=4101;UID=troll;PWD=trondk", "troll", "trondk", "" );
+// addDb( "QODBC", "DRIVER={FreeTDS};SERVER=silence.nokia.troll.no;DATABASE=testdb;PORT=2392;UID=troll;PWD=trond", "troll", "trond", "" );
+// addDb( "QODBC", "DRIVER={FreeTDS};SERVER=bq-winserv2003-x86-01.apac.nokia.com;DATABASE=testdb;PORT=1433;UID=testuser;PWD=Ee4Gabf6_;TDS_Version=8.0", "", "", "" );
+// addDb( "QODBC", "DRIVER={FreeTDS};SERVER=bq-winserv2008-x86-01.apac.nokia.com;DATABASE=testdb;PORT=1433;UID=testuser;PWD=Ee4Gabf6_;TDS_Version=8.0", "", "", "" );
// addDb( "QTDS7", "testdb", "testuser", "Ee4Gabf6_", "bq-winserv2003" );
// addDb( "QTDS7", "testdb", "testuser", "Ee4Gabf6_", "bq-winserv2008" );
+// addDb( "QODBC3", "DRIVER={SQL SERVER};SERVER=bq-winserv2003-x86-01.apac.nokia.com;DATABASE=testdb;PORT=1433", "testuser", "Ee4Gabf6_", "" );
+// addDb( "QODBC3", "DRIVER={SQL SERVER};SERVER=bq-winserv2008-x86-01.apac.nokia.com;DATABASE=testdb;PORT=1433", "testuser", "Ee4Gabf6_", "" );
}
void open()
@@ -316,20 +323,28 @@ public:
QSqlQuery q( db );
QStringList dbtables=db.tables();
- foreach(QString tableName, tableNames)
+ foreach(const QString &tableName, tableNames)
{
wasDropped = true;
QString table=tableName;
if ( db.driver()->isIdentifierEscaped(table, QSqlDriver::TableName))
table = db.driver()->stripDelimiters(table, QSqlDriver::TableName);
- if ( dbtables.contains( table, Qt::CaseSensitive ) )
- wasDropped = q.exec( "drop table " + tableName);
- else if ( dbtables.contains( table, Qt::CaseInsensitive ) )
- wasDropped = q.exec( "drop table " + tableName);
-
- if ( !wasDropped )
- qWarning() << dbToString(db) << "unable to drop table" << tableName << ':' << q.lastError().text() << "tables:" << dbtables;
+ if ( dbtables.contains( table, Qt::CaseInsensitive ) ) {
+ foreach(const QString &table2, dbtables.filter(table, Qt::CaseInsensitive)) {
+ if(table2.compare(table.section('.', -1, -1), Qt::CaseInsensitive) == 0) {
+ table=db.driver()->escapeIdentifier(table2, QSqlDriver::TableName);
+ wasDropped = q.exec( "drop table " + table);
+ dbtables.removeAll(table2);
+ }
+ }
+ }
+ if ( !wasDropped ) {
+ qWarning() << dbToString(db) << "unable to drop table" << tableName << ':' << q.lastError();
+// qWarning() << "last query:" << q.lastQuery();
+// qWarning() << "dbtables:" << dbtables;
+// qWarning() << "db.tables():" << db.tables();
+ }
}
}
@@ -343,19 +358,32 @@ public:
if ( isMSAccess( db ) ) // Access is sooo stupid.
safeDropTables( db, viewNames );
+ bool wasDropped;
+ QSqlQuery q( db );
QStringList dbtables=db.tables(QSql::Views);
foreach(QString viewName, viewNames)
{
- if ( dbtables.contains( viewName, Qt::CaseInsensitive ) ) {
- QSqlQuery q( "drop view " + viewName, db );
-
- if ( !q.isActive() )
- qWarning() << "unable to drop view" << viewName << ':' << q.lastError().text();
- } else if ( db.driverName().startsWith( "QMYSQL" )
- && dbtables.contains( viewName, Qt::CaseInsensitive ) ) { // MySql is a bit stupid too
- QSqlQuery q( "drop view " + viewName, db );
+ wasDropped = true;
+ QString view=viewName;
+ if ( db.driver()->isIdentifierEscaped(view, QSqlDriver::TableName))
+ view = db.driver()->stripDelimiters(view, QSqlDriver::TableName);
+
+ if ( dbtables.contains( view, Qt::CaseInsensitive ) ) {
+ foreach(const QString &view2, dbtables.filter(view, Qt::CaseInsensitive)) {
+ if(view2.compare(view.section('.', -1, -1), Qt::CaseInsensitive) == 0) {
+ view=db.driver()->escapeIdentifier(view2, QSqlDriver::TableName);
+ wasDropped = q.exec( "drop view " + view);
+ dbtables.removeAll(view);
+ }
+ }
}
+
+ if ( !wasDropped )
+ qWarning() << dbToString(db) << "unable to drop view" << viewName << ':' << q.lastError();
+// << "\nlast query:" << q.lastQuery()
+// << "\ndbtables:" << dbtables
+// << "\ndb.tables(QSql::Views):" << db.tables(QSql::Views);
}
}
@@ -402,8 +430,8 @@ public:
return "IDENTITY";
/* if ( db.driverName().startsWith( "QPSQL" ) )
return "SERIAL";*/
- if ( db.driverName().startsWith( "QDB2" ) )
- return "GENERATED BY DEFAULT AS IDENTITY";
+// if ( db.driverName().startsWith( "QDB2" ) )
+// return "GENERATED BY DEFAULT AS IDENTITY";
return QString();
}
@@ -446,6 +474,20 @@ public:
return db.databaseName().contains( "Access Driver", Qt::CaseInsensitive );
}
+ static bool isPostgreSQL( QSqlDatabase db )
+ {
+ return db.driverName().startsWith("QPSQL") || (db.driverName().startsWith("QODBC") && db.databaseName().contains("PostgreSQL") );
+ }
+
+ static bool isMySQL( QSqlDatabase db )
+ {
+ return db.driverName().startsWith("QMYSQL") || (db.driverName().startsWith("QODBC") && db.databaseName().contains("MySQL") );
+ }
+ static bool isDB2( QSqlDatabase db )
+ {
+ return db.driverName().startsWith("QDB2") || (db.driverName().startsWith("QODBC") && db.databaseName().contains("db2") );
+ }
+
// -1 on fail, else Oracle version
static int getOraVersion( QSqlDatabase db )
{
@@ -476,6 +518,16 @@ public:
return QString();
}
+ static QString getPSQLVersion( const QSqlDatabase &db )
+ {
+ QSqlQuery q(db);
+ q.exec( "select version()" );
+ if(q.next())
+ return q.value( 0 ).toString();
+ else
+ return QString();
+ }
+
QStringList dbNames;
int counter;
};
diff --git a/tests/auto/qsqldatabase/tst_qsqldatabase.cpp b/tests/auto/qsqldatabase/tst_qsqldatabase.cpp
index 31a699c..fe4c86e 100644
--- a/tests/auto/qsqldatabase/tst_qsqldatabase.cpp
+++ b/tests/auto/qsqldatabase/tst_qsqldatabase.cpp
@@ -256,6 +256,8 @@ static int createFieldTable(const FieldDef fieldDefs[], QSqlDatabase db)
QString autoName = tst_Databases::autoFieldName(db);
if (tst_Databases::isMSAccess(db))
qs.append(" (id int not null");
+ else if (tst_Databases::isPostgreSQL(db))
+ qs.append(" (id serial not null");
else
qs.append(QString("(id integer not null %1 primary key").arg(autoName));
@@ -351,14 +353,15 @@ void tst_QSqlDatabase::dropTestTables(QSqlDatabase db)
<< qTableName("bug_249059");
QSqlQuery q(0, db);
- if (db.driverName().startsWith("QPSQL"))
+ if (db.driverName().startsWith("QPSQL")) {
q.exec("drop schema " + qTableName("qtestschema") + " cascade");
+ q.exec("drop schema " + qTableName("qtestScHeMa") + " cascade");
+ }
if (testWhiteSpaceNames(db.driverName()))
- tableNames << (qTableName("qtest") + " test");
+ tableNames << db.driver()->escapeIdentifier(qTableName("qtest") + " test", QSqlDriver::TableName);
tst_Databases::safeDropTables(db, tableNames);
- tst_Databases::safeDropView(db, qTableName("qtest_view"));
}
void tst_QSqlDatabase::populateTestTables(QSqlDatabase db)
@@ -557,19 +560,19 @@ void tst_QSqlDatabase::whitespaceInIdentifiers()
QString tableName = qTableName("qtest") + " test";
QVERIFY(db.tables().contains(tableName, Qt::CaseInsensitive));
- QSqlRecord rec = db.record(tableName);
+ QSqlRecord rec = db.record(db.driver()->escapeIdentifier(tableName, QSqlDriver::TableName));
QCOMPARE(rec.count(), 1);
QCOMPARE(rec.fieldName(0), QString("test test"));
if(db.driverName().startsWith("QOCI"))
- QCOMPARE(rec.field(0).type(), QVariant::String);
+ QCOMPARE(rec.field(0).type(), QVariant::Double);
else
QCOMPARE(rec.field(0).type(), QVariant::Int);
- QSqlIndex idx = db.primaryIndex(tableName);
+ QSqlIndex idx = db.primaryIndex(db.driver()->escapeIdentifier(tableName, QSqlDriver::TableName));
QCOMPARE(idx.count(), 1);
QCOMPARE(idx.fieldName(0), QString("test test"));
if(db.driverName().startsWith("QOCI"))
- QCOMPARE(idx.field(0).type(), QVariant::String);
+ QCOMPARE(idx.field(0).type(), QVariant::Double);
else
QCOMPARE(idx.field(0).type(), QVariant::Int);
} else {
@@ -917,7 +920,7 @@ void tst_QSqlDatabase::recordOCI()
FieldDef("varchar(20)", QVariant::String, QString("blah2")),
FieldDef("nchar(20)", QVariant::String, QString("blah3")),
FieldDef("nvarchar2(20)", QVariant::String, QString("blah4")),
- FieldDef("number(10,5)", QVariant::String, 1.1234567),
+ FieldDef("number(10,5)", QVariant::Double, 1.1234567),
FieldDef("date", QVariant::DateTime, dt),
#ifdef QT3_SUPPORT
//X? FieldDef("long raw", QVariant::ByteArray, QByteArray(Q3CString("blah5"))),
@@ -1051,6 +1054,7 @@ void tst_QSqlDatabase::recordMySQL()
int major = tst_Databases::getMySqlVersion( db ).section( QChar('.'), 0, 0 ).toInt();
int minor = tst_Databases::getMySqlVersion( db ).section( QChar('.'), 1, 1 ).toInt();
int revision = tst_Databases::getMySqlVersion( db ).section( QChar('.'), 2, 2 ).toInt();
+ int vernum = (major << 16) + (minor << 8) + revision;
#ifdef QT3_SUPPORT
/* The below is broken in mysql below 5.0.15
@@ -1058,7 +1062,7 @@ void tst_QSqlDatabase::recordMySQL()
specifically: Before MySQL 5.0.15, the pad value is space. Values are right-padded
with space on insert, and trailing spaces are removed on select.
*/
- if ( major >5 || ( major == 5 && minor > 0) || ( major == 5 && minor == 0 && revision >= 15) ) {
+ if( vernum >= ((5 << 16) + 15) ) {
bin10 = FieldDef("binary(10)", QVariant::ByteArray, QByteArray(Q3CString("123abc ")));
varbin10 = FieldDef("varbinary(10)", QVariant::ByteArray, QByteArray(Q3CString("123abcv ")));
}
@@ -1346,6 +1350,8 @@ void tst_QSqlDatabase::transaction()
}
QVERIFY_SQL(q, exec("select * from " + qTableName("qtest") + " where id = 41"));
+ if(db.driverName().startsWith("QODBC") && dbName.contains("MySQL"))
+ QEXPECT_FAIL("", "Some odbc drivers don't actually roll back despite telling us they do, especially the mysql driver", Continue);
QVERIFY(!q.next());
populateTestTables(db);
@@ -1423,7 +1429,8 @@ void tst_QSqlDatabase::caseSensivity()
bool cs = false;
if (db.driverName().startsWith("QMYSQL")
|| db.driverName().startsWith("QSQLITE")
- || db.driverName().startsWith("QTDS"))
+ || db.driverName().startsWith("QTDS")
+ || db.driverName().startsWith("QODBC"))
cs = true;
QSqlRecord rec = db.record(qTableName("qtest"));
@@ -1518,7 +1525,7 @@ void tst_QSqlDatabase::psql_escapedIdentifiers()
QSqlQuery q(db);
QString schemaName = qTableName("qtestScHeMa");
- QString tableName = qTableName("qtestTaBlE");
+ QString tableName = qTableName("qtest");
QString field1Name = QString("fIeLdNaMe");
QString field2Name = QString("ZuLu");
@@ -1536,7 +1543,7 @@ void tst_QSqlDatabase::psql_escapedIdentifiers()
rec.append(fld1);
rec.append(fld2);
- QVERIFY_SQL(q, exec(drv->sqlStatement(QSqlDriver::SelectStatement, schemaName + '.' + tableName, rec, false)));
+ QVERIFY_SQL(q, exec(drv->sqlStatement(QSqlDriver::SelectStatement, db.driver()->escapeIdentifier(schemaName, QSqlDriver::TableName) + '.' + db.driver()->escapeIdentifier(tableName, QSqlDriver::TableName), rec, false)));
rec = q.record();
QCOMPARE(rec.count(), 2);
@@ -1585,6 +1592,11 @@ void tst_QSqlDatabase::bug_249059()
QSqlDatabase db = QSqlDatabase::database(dbName);
CHECK_DATABASE(db);
+ QString version=tst_Databases::getPSQLVersion( db );
+ double ver=version.section(QChar::fromLatin1('.'),0,1).toDouble();
+ if (ver < 7.3)
+ QSKIP("Test requires PostgreSQL >= 7.3", SkipSingle);
+
QSqlQuery q(db);
QString tableName = qTableName("bug_249059");
QVERIFY_SQL(q, exec(QString("CREATE TABLE %1 (dt timestamp, t time)").arg(tableName)));
@@ -1654,6 +1666,8 @@ void tst_QSqlDatabase::precisionPolicy()
q.setNumericalPrecisionPolicy(QSql::LowPrecisionInt32);
QVERIFY_SQL(q, exec(query));
+ if(db.driverName().startsWith("QOCI"))
+ QEXPECT_FAIL("", "Oracle fails to move to next when data columns are oversize", Abort);
QVERIFY_SQL(q, next());
if(db.driverName().startsWith("QSQLITE"))
QEXPECT_FAIL("", "SQLite returns this value as determined by contents of the field, not the declaration", Continue);
@@ -2017,11 +2031,9 @@ void tst_QSqlDatabase::mysql_multiselect()
CHECK_DATABASE(db);
QSqlQuery q(db);
- QVERIFY_SQL(q, exec("select version()"));
- QVERIFY_SQL(q, next());
QString version=tst_Databases::getMySqlVersion( db );
- int ver=version.section(QChar::fromLatin1('.'),0,1).toDouble();
- if (ver >= 4.1)
+ double ver=version.section(QChar::fromLatin1('.'),0,1).toDouble();
+ if (ver < 4.1)
QSKIP("Test requires MySQL >= 4.1", SkipSingle);
QVERIFY_SQL(q, exec("SELECT * FROM " + qTableName("qtest") + "; SELECT * FROM " + qTableName("qtest")));
@@ -2265,15 +2277,15 @@ void tst_QSqlDatabase::eventNotificationPSQL()
QSqlQuery query(db);
QString procedureName = qTableName("posteventProc");
- QSqlDriver *driver=db.driver();
- QVERIFY_SQL(*driver, subscribeToNotification(procedureName));
+ QSqlDriver &driver=*(db.driver());
+ QVERIFY_SQL(driver, subscribeToNotification(procedureName));
QSignalSpy spy(db.driver(), SIGNAL(notification(const QString&)));
query.exec(QString("NOTIFY \"%1\"").arg(procedureName));
QCoreApplication::processEvents();
QCOMPARE(spy.count(), 1);
QList<QVariant> arguments = spy.takeFirst();
QVERIFY(arguments.at(0).toString() == procedureName);
- QVERIFY_SQL(*driver, unsubscribeFromNotification(procedureName));
+ QVERIFY_SQL(driver, unsubscribeFromNotification(procedureName));
}
void tst_QSqlDatabase::sqlite_bindAndFetchUInt()
diff --git a/tests/auto/qsqldriver/qsqldriver.pro b/tests/auto/qsqldriver/qsqldriver.pro
index 59fc73a..84f1cb2 100644
--- a/tests/auto/qsqldriver/qsqldriver.pro
+++ b/tests/auto/qsqldriver/qsqldriver.pro
@@ -7,6 +7,7 @@ wince*: {
plugFiles.sources = ../../../plugins/sqldrivers
plugFiles.path = .
DEPLOYMENT += plugFiles
+ LIBS += -lws2
} else {
win32-g++ {
LIBS += -lws2_32
diff --git a/tests/auto/qsqldriver/tst_qsqldriver.cpp b/tests/auto/qsqldriver/tst_qsqldriver.cpp
index 6d428df..b79c093 100644
--- a/tests/auto/qsqldriver/tst_qsqldriver.cpp
+++ b/tests/auto/qsqldriver/tst_qsqldriver.cpp
@@ -158,7 +158,7 @@ void tst_QSqlDriver::record()
//check that we can't get records using incorrect tablename casing that's been quoted
rec = db.driver()->record(db.driver()->escapeIdentifier(tablename,QSqlDriver::TableName));
- if (db.driverName().startsWith("QMYSQL") || db.driverName().startsWith("QSQLITE") || db.driverName().startsWith("QTDS"))
+ if (tst_Databases::isMySQL(db) || db.driverName().startsWith("QSQLITE") || db.driverName().startsWith("QTDS"))
QCOMPARE(rec.count(), 4); //mysql, sqlite and tds will match
else
QCOMPARE(rec.count(), 0);
@@ -204,7 +204,7 @@ void tst_QSqlDriver::primaryIndex()
tablename = tablename.toUpper();
index = db.driver()->primaryIndex(db.driver()->escapeIdentifier(tablename, QSqlDriver::TableName));
- if (db.driverName().startsWith("QMYSQL") || db.driverName().startsWith("QSQLITE") || db.driverName().startsWith("QTDS"))
+ if (tst_Databases::isMySQL(db) || db.driverName().startsWith("QSQLITE") || db.driverName().startsWith("QTDS"))
QCOMPARE(index.count(), 1); //mysql will always find the table name regardless of casing
else
QCOMPARE(index.count(), 0);
diff --git a/tests/auto/qsqlquery/qsqlquery.pro b/tests/auto/qsqlquery/qsqlquery.pro
index 6222fa0..494ca4c 100644
--- a/tests/auto/qsqlquery/qsqlquery.pro
+++ b/tests/auto/qsqlquery/qsqlquery.pro
@@ -11,6 +11,7 @@ wince*: {
plugFiles.sources = ../../../plugins/sqldrivers
plugFiles.path = .
DEPLOYMENT += plugFiles
+ LIBS += -lws2
}
symbian {
diff --git a/tests/auto/qsqlquery/tst_qsqlquery.cpp b/tests/auto/qsqlquery/tst_qsqlquery.cpp
index 3187854..f3dd920 100644
--- a/tests/auto/qsqlquery/tst_qsqlquery.cpp
+++ b/tests/auto/qsqlquery/tst_qsqlquery.cpp
@@ -188,6 +188,9 @@ private slots:
void task_205701_data() { generic_data("QMYSQL"); }
void task_205701();
+ void task_233829_data() { generic_data("QPSQL"); }
+ void task_233829();
+
private:
// returns all database connections
@@ -293,6 +296,9 @@ void tst_QSqlQuery::dropTestTables( QSqlDatabase db )
<< qTableName( "oraRowId" )
<< qTableName( "qtest_batch" );
+ if ( db.driverName().startsWith("QPSQL") )
+ tablenames << qTableName("task_233829");
+
if ( db.driverName().startsWith("QSQLITE") )
tablenames << qTableName( "record_sqlite" );
@@ -318,7 +324,10 @@ void tst_QSqlQuery::createTestTables( QSqlDatabase db )
// in the MySQL server startup script
q.exec( "set table_type=innodb" );
- QVERIFY_SQL( q, exec( "create table " + qTableName( "qtest" ) + " (id int "+tst_Databases::autoFieldName(db) +" NOT NULL, t_varchar varchar(20), t_char char(20), primary key(id))" ) );
+ if(tst_Databases::isPostgreSQL(db))
+ QVERIFY_SQL( q, exec( "create table " + qTableName( "qtest" ) + " (id serial NOT NULL, t_varchar varchar(20), t_char char(20), primary key(id)) WITH OIDS" ) );
+ else
+ QVERIFY_SQL( q, exec( "create table " + qTableName( "qtest" ) + " (id int "+tst_Databases::autoFieldName(db) +" NOT NULL, t_varchar varchar(20), t_char char(20), primary key(id))" ) );
if ( tst_Databases::isSqlServer( db ) || db.driverName().startsWith( "QTDS" ) )
QVERIFY_SQL( q, exec( "create table " + qTableName( "qtest_null" ) + " (id int null, t_varchar varchar(20) null)" ) );
@@ -486,7 +495,9 @@ void tst_QSqlQuery::mysqlOutValues()
QVERIFY_SQL( q, exec( "create procedure " + qTableName( "qtestproc" ) + " () "
"BEGIN select * from " + qTableName( "qtest" ) + " order by id; END" ) );
QVERIFY_SQL( q, exec( "call " + qTableName( "qtestproc" ) + "()" ) );
+ QEXPECT_FAIL("", "There's a mysql bug that means only selects think they return data when running in prepared mode", Continue);
QVERIFY_SQL( q, next() );
+ QEXPECT_FAIL("", "There's a mysql bug that means only selects think they return data when running in prepared mode", Continue);
QCOMPARE( q.value( 1 ).toString(), QString( "VarChar1" ) );
QVERIFY_SQL( q, exec( "drop procedure " + qTableName( "qtestproc" ) ) );
@@ -1870,7 +1881,7 @@ void tst_QSqlQuery::invalidQuery()
QVERIFY( !q.next() );
QVERIFY( !q.isActive() );
- if ( !db.driverName().startsWith( "QOCI" ) && !db.driverName().startsWith( "QDB2" ) ) {
+ if ( !db.driverName().startsWith( "QOCI" ) && !db.driverName().startsWith( "QDB2" ) && !db.driverName().startsWith( "QODBC" ) ) {
// oracle and db2 just prepares everything without complaining
if ( db.driver()->hasFeature( QSqlDriver::PreparedQueries ) )
QVERIFY( !q.prepare( "blahfasel" ) );
@@ -2007,7 +2018,7 @@ void tst_QSqlQuery::oraArrayBind()
q.bindValue( 0, list, QSql::In );
- QVERIFY_SQL( q, execBatch( QSqlQuery::ValuesAsRows ) );
+ QVERIFY_SQL( q, execBatch( QSqlQuery::ValuesAsColumns ) );
QVERIFY_SQL( q, prepare( "BEGIN "
"ora_array_test.get_table(?); "
@@ -2019,7 +2030,7 @@ void tst_QSqlQuery::oraArrayBind()
q.bindValue( 0, list, QSql::Out );
- QVERIFY_SQL( q, execBatch( QSqlQuery::ValuesAsRows ) );
+ QVERIFY_SQL( q, execBatch( QSqlQuery::ValuesAsColumns ) );
QVariantList out_list = q.boundValue( 0 ).toList();
@@ -2565,7 +2576,7 @@ void tst_QSqlQuery::blobsPreparedQuery()
QString typeName( "BLOB" );
if ( db.driverName().startsWith( "QPSQL" ) )
typeName = "BYTEA";
- else if ( db.driverName().startsWith( "QODBC" ) )
+ else if ( db.driverName().startsWith( "QODBC" ) && tst_Databases::isSqlServer( db ))
typeName = "IMAGE";
QVERIFY_SQL( q, exec( QString( "CREATE TABLE %1(id INTEGER, data %2)" ).arg( tableName ).arg( typeName ) ) );
@@ -2771,5 +2782,24 @@ void tst_QSqlQuery::task_234422()
#endif
+void tst_QSqlQuery::task_233829()
+{
+ QFETCH( QString, dbName );
+ QSqlDatabase db = QSqlDatabase::database( dbName );
+ CHECK_DATABASE( db );
+
+ QSqlQuery q( db );
+ QString tableName = qTableName("task_233829");
+ QVERIFY_SQL(q,exec("CREATE TABLE " + tableName + "(dbl1 double precision,dbl2 double precision) without oids;"));
+
+ QString queryString("INSERT INTO " + tableName +"(dbl1, dbl2) VALUES(?,?)");
+
+ double k = 0.0;
+ QVERIFY_SQL(q,prepare(queryString));
+ q.bindValue(0,0.0 / k); // nan
+ q.bindValue(1,0.0 / k); // nan
+ QVERIFY_SQL(q,exec());
+}
+
QTEST_MAIN( tst_QSqlQuery )
#include "tst_qsqlquery.moc"
diff --git a/tests/auto/qsqlquerymodel/qsqlquerymodel.pro b/tests/auto/qsqlquerymodel/qsqlquerymodel.pro
index 0adb6cd..cd8586c 100644
--- a/tests/auto/qsqlquerymodel/qsqlquerymodel.pro
+++ b/tests/auto/qsqlquerymodel/qsqlquerymodel.pro
@@ -5,13 +5,14 @@ QT += sql
wince*: {
DEPLOYMENT_PLUGIN += qsqlite
+ LIBS += -lws2
}else:symbian {
contains(S60_VERSION, 3.1)|contains(S60_VERSION, 3.2)|contains(S60_VERSION, 5.0) {
sqlite.path = /sys/bin
sqlite.sources = sqlite3.dll
DEPLOYMENT += sqlite
}
-}else {
+} else {
win32:LIBS += -lws2_32
}
diff --git a/tests/auto/qsqlrelationaltablemodel/qsqlrelationaltablemodel.pro b/tests/auto/qsqlrelationaltablemodel/qsqlrelationaltablemodel.pro
index 5236447..2fddd03 100644
--- a/tests/auto/qsqlrelationaltablemodel/qsqlrelationaltablemodel.pro
+++ b/tests/auto/qsqlrelationaltablemodel/qsqlrelationaltablemodel.pro
@@ -7,13 +7,14 @@ wince*: {
plugFiles.sources = ../../../plugins/sqldrivers
plugFiles.path = .
DEPLOYMENT += plugFiles
+ LIBS += -lws2
}else:symbian {
contains(S60_VERSION, 3.1)|contains(S60_VERSION, 3.2)|contains(S60_VERSION, 5.0) {
sqlite.path = /sys/bin
sqlite.sources = sqlite3.dll
DEPLOYMENT += sqlite
}
-}else {
+} else {
win32-g++ {
LIBS += -lws2_32
} else:win32 {
diff --git a/tests/auto/qsqlrelationaltablemodel/tst_qsqlrelationaltablemodel.cpp b/tests/auto/qsqlrelationaltablemodel/tst_qsqlrelationaltablemodel.cpp
index e2dace8..d836486 100644
--- a/tests/auto/qsqlrelationaltablemodel/tst_qsqlrelationaltablemodel.cpp
+++ b/tests/auto/qsqlrelationaltablemodel/tst_qsqlrelationaltablemodel.cpp
@@ -145,8 +145,17 @@ void tst_QSqlRelationalTableModel::recreateTestTables(QSqlDatabase db)
void tst_QSqlRelationalTableModel::initTestCase()
{
- foreach (const QString &dbname, dbs.dbNames)
- recreateTestTables(QSqlDatabase::database(dbname));
+ foreach (const QString &dbname, dbs.dbNames) {
+ QSqlDatabase db=QSqlDatabase::database(dbname);
+ if (db.driverName().startsWith("QIBASE"))
+ db.exec("SET DIALECT 3");
+ else if (tst_Databases::isSqlServer(db)) {
+ QSqlQuery q(db);
+ QVERIFY_SQL(q, exec("SET ANSI_DEFAULTS ON"));
+ QVERIFY_SQL(q, exec("SET IMPLICIT_TRANSACTIONS OFF"));
+ }
+ recreateTestTables(db);
+ }
}
void tst_QSqlRelationalTableModel::cleanupTestCase()
@@ -167,10 +176,10 @@ void tst_QSqlRelationalTableModel::dropTestTables( QSqlDatabase db )
<< qTableName( "reltest3" )
<< qTableName( "reltest4" )
<< qTableName( "reltest5" )
- << qTableName( "rel test6", db.driver() )
- << qTableName( "rel test7", db.driver() )
- << qTableName("CASETEST1", db.driver() )
- << qTableName("casetest1", db.driver() );
+ << qTableName( "rel test6" )
+ << qTableName( "rel test7" )
+ << qTableName("CASETEST1" )
+ << qTableName("casetest1" );
tst_Databases::safeDropTables( db, tableNames );
}
@@ -490,6 +499,7 @@ void tst_QSqlRelationalTableModel::insertWithStrategies()
model.setTable(qTableName("reltest1"));
model.setRelation(2, QSqlRelation(qTableName("reltest2"), "tid", "title"));
+ model.setSort(0, Qt::AscendingOrder);
if (!db.driverName().startsWith("QTDS"))
model.setRelation(3, QSqlRelation(qTableName("reltest2"), "tid", "title"));
@@ -914,19 +924,21 @@ void tst_QSqlRelationalTableModel::casing()
QSqlDatabase db = QSqlDatabase::database(dbName);
CHECK_DATABASE(db);
- if (db.driverName().startsWith("QSQLITE"))
- QSKIP("The casing test for SQLITE is irrelevant since SQLITE is case insensitive", SkipAll);
+ if (db.driverName().startsWith("QSQLITE") || db.driverName().startsWith("QIBASE") || tst_Databases::isSqlServer(db))
+ QSKIP("The casing test for this database is irrelevant since this database does not treat different cases as separate entities", SkipAll);
QSqlQuery q(db);
QVERIFY_SQL( q, exec("create table " + qTableName("CASETEST1", db.driver()).toUpper() +
" (id int not null primary key, name varchar(20), title_key int, another_title_key int)"));
+
+ if( !q.exec("create table " + qTableName("casetest1", db.driver()) +
+ " (ident int not null primary key, name varchar(20), title_key int)"))
+ QSKIP("The casing test for this database is irrelevant since this database does not treat different cases as separate entities", SkipAll);
+
QVERIFY_SQL( q, exec("insert into " + qTableName("CASETEST1", db.driver()).toUpper() + " values(1, 'harry', 1, 2)"));
QVERIFY_SQL( q, exec("insert into " + qTableName("CASETEST1", db.driver()).toUpper() + " values(2, 'trond', 2, 1)"));
QVERIFY_SQL( q, exec("insert into " + qTableName("CASETEST1", db.driver()).toUpper() + " values(3, 'vohi', 1, 2)"));
QVERIFY_SQL( q, exec("insert into " + qTableName("CASETEST1", db.driver()).toUpper() + " values(4, 'boris', 2, 2)"));
-
- QVERIFY_SQL( q, exec("create table " + qTableName("casetest1", db.driver()) +
- " (ident int not null primary key, name varchar(20), title_key int)"));
QVERIFY_SQL( q, exec("insert into " + qTableName("casetest1", db.driver()) + " values(1, 'jerry', 1)"));
QVERIFY_SQL( q, exec("insert into " + qTableName("casetest1", db.driver()) + " values(2, 'george', 2)"));
QVERIFY_SQL( q, exec("insert into " + qTableName("casetest1", db.driver()) + " values(4, 'kramer', 2)"));
diff --git a/tests/auto/qsqltablemodel/qsqltablemodel.pro b/tests/auto/qsqltablemodel/qsqltablemodel.pro
index a9a536b..a046fb1 100644
--- a/tests/auto/qsqltablemodel/qsqltablemodel.pro
+++ b/tests/auto/qsqltablemodel/qsqltablemodel.pro
@@ -7,6 +7,7 @@ wince*: {
plugFiles.sources = ../../../plugins/sqldrivers
plugFiles.path = .
DEPLOYMENT += plugFiles
+ LIBS += -lws2
}else:symbian {
contains(S60_VERSION, 3.1)|contains(S60_VERSION, 3.2)|contains(S60_VERSION, 5.0) {
sqlite.path = /sys/bin
diff --git a/tests/auto/qsqltablemodel/tst_qsqltablemodel.cpp b/tests/auto/qsqltablemodel/tst_qsqltablemodel.cpp
index 1445f34..576c190 100644
--- a/tests/auto/qsqltablemodel/tst_qsqltablemodel.cpp
+++ b/tests/auto/qsqltablemodel/tst_qsqltablemodel.cpp
@@ -116,6 +116,8 @@ private slots:
void insertRecordsInLoop();
void sqlite_attachedDatabase_data() { generic_data("QSQLITE"); }
void sqlite_attachedDatabase(); // For task 130799
+ void tableModifyWithBlank_data() { generic_data(); }
+ void tableModifyWithBlank(); // For mail task
private:
void generic_data(const QString& engine=QString());
@@ -141,6 +143,7 @@ void tst_QSqlTableModel::dropTestTables()
tableNames << qTableName("test")
<< qTableName("test2")
<< qTableName("test3")
+ << qTableName("test4")
<< qTableName("emptytable")
<< qTableName("bigtable")
<< qTableName("foo");
@@ -167,6 +170,8 @@ void tst_QSqlTableModel::createTestTables()
QVERIFY_SQL( q, exec("create table " + qTableName("test3") + "(id int, random varchar(20), randomtwo varchar(20))"));
+ QVERIFY_SQL( q, exec("create table " + qTableName("test4") + "(column1 varchar(50), column2 varchar(50), column3 varchar(50))"));
+
QVERIFY_SQL( q, exec("create table " + qTableName("emptytable") + "(id int)"));
if (testWhiteSpaceNames(db.driverName())) {
@@ -927,5 +932,62 @@ void tst_QSqlTableModel::sqlite_attachedDatabase()
QCOMPARE(model.data(model.index(0, 1), Qt::DisplayRole).toString(), QLatin1String("main"));
}
+
+void tst_QSqlTableModel::tableModifyWithBlank()
+{
+ QFETCH(QString, dbName);
+ QSqlDatabase db = QSqlDatabase::database(dbName);
+ CHECK_DATABASE(db);
+
+ QSqlTableModel model(0, db);
+ model.setTable(qTableName("test4"));
+ model.select();
+
+ //generate a time stamp for the test. Add one second to the current time to make sure
+ //it is different than the QSqlQuery test.
+ QString timeString=QDateTime::currentDateTime().addSecs(1).toString(Qt::ISODate);
+
+ //insert a new row, with column0 being the timestamp.
+ //Should be equivalent to QSqlQuery INSERT INTO... command)
+ QVERIFY_SQL(model, insertRow(0));
+ QVERIFY_SQL(model, setData(model.index(0,0),timeString));
+ QVERIFY_SQL(model, submitAll());
+
+ //set a filter on the table so the only record we get is the one we just made
+ //I could just do another setData command, but I want to make sure the TableModel
+ //matches exactly what is stored in the database
+ model.setFilter("column1='"+timeString+"'"); //filter to get just the newly entered row
+ QVERIFY_SQL(model, select());
+
+ //Make sure we only get one record, and that it is the one we just made
+ QCOMPARE(model.rowCount(), 1); //verify only one entry
+ QCOMPARE(model.record(0).value(0).toString(), timeString); //verify correct record
+
+ //At this point we know that the intial value (timestamp) was succsefully stored in the database
+ //Attempt to modify the data in the new record
+ //equivalent to query.exec("update test set column3="... command in direct test
+ //set the data in the first column to "col1ModelData"
+ QVERIFY_SQL(model, setData(model.index(0,1), "col1ModelData"));
+
+ //do a quick check to make sure that the setData command properly set the value in the model
+ QCOMPARE(model.record(0).value(1).toString(), QLatin1String("col1ModelData"));
+
+ //submit the changed data to the database
+ //This is where I have been getting errors.
+ QVERIFY_SQL(model, submitAll());
+
+ //make sure the model has the most current data for our record
+ QVERIFY_SQL(model, select());
+
+ //verify that our new record was the only record returned
+ QCOMPARE(model.rowCount(), 1);
+
+ //And that the record returned is, in fact, our test record.
+ QCOMPARE(model.record(0).value(0).toString(), timeString);
+
+ //Make sure the value of the first column matches what we set it to previously.
+ QCOMPARE(model.record(0).value(1).toString(), QLatin1String("col1ModelData"));
+}
+
QTEST_MAIN(tst_QSqlTableModel)
#include "tst_qsqltablemodel.moc"
diff --git a/tests/auto/qsqlthread/qsqlthread.pro b/tests/auto/qsqlthread/qsqlthread.pro
index 414f857..2708f1a 100644
--- a/tests/auto/qsqlthread/qsqlthread.pro
+++ b/tests/auto/qsqlthread/qsqlthread.pro
@@ -8,6 +8,7 @@ wince*: {
plugFiles.sources = ../../../plugins/sqldrivers
plugFiles.path = .
DEPLOYMENT += plugFiles
+ LIBS += -lws2
}else:symbian {
contains(S60_VERSION, 3.1)|contains(S60_VERSION, 3.2)|contains(S60_VERSION, 5.0) {
sqlite.path = /sys/bin
diff --git a/tests/auto/qsslsocket/certs/qt-test-server-cacert.pem b/tests/auto/qsslsocket/certs/qt-test-server-cacert.pem
index 83adca2..25bd404 100644
--- a/tests/auto/qsslsocket/certs/qt-test-server-cacert.pem
+++ b/tests/auto/qsslsocket/certs/qt-test-server-cacert.pem
@@ -1,22 +1,17 @@
-----BEGIN CERTIFICATE-----
-MIIDuDCCAyGgAwIBAgIJAM17QpZu2GP7MA0GCSqGSIb3DQEBBAUAMIGaMQ4wDAYD
-VQQKEwVOb2tpYTEUMBIGA1UECxMLUXQgU29mdHdhcmUxIjAgBgkqhkiG9w0BCQEW
-E25vYm9keUBub2RvbWFpbi5vcmcxDTALBgNVBAcTBE9zbG8xDTALBgNVBAgTBE9z
-bG8xCzAJBgNVBAYTAk5PMSMwIQYDVQQDExpxdC10ZXN0LXNlcnZlci5xdC10ZXN0
-LW5ldDAeFw0wODEyMDIxNDQ3MjZaFw0xODExMzAxNDQ3MjZaMIGaMQ4wDAYDVQQK
-EwVOb2tpYTEUMBIGA1UECxMLUXQgU29mdHdhcmUxIjAgBgkqhkiG9w0BCQEWE25v
-Ym9keUBub2RvbWFpbi5vcmcxDTALBgNVBAcTBE9zbG8xDTALBgNVBAgTBE9zbG8x
-CzAJBgNVBAYTAk5PMSMwIQYDVQQDExpxdC10ZXN0LXNlcnZlci5xdC10ZXN0LW5l
-dDCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAz7dQ0l6IYpwVUcvj0mQxvG80
-yzoRzYr+alh7HMmOFI6/xjBHD6zAEEmLBafY7M/xe8PGH7ds2l2BFJkz0OS+IJRX
-8CdOoeFvmVyp+L84tzXk81NKnMQ3y8DiFc6aUkfnyybA0whIv/TlqNyrYeQUin+t
-61dPf1vr0LAAm5HdeYECAwEAAaOCAQIwgf8wDAYDVR0TBAUwAwEB/zAdBgNVHQ4E
-FgQUwhEr5xV4r0deMQd3XwFkFtwls20wgc8GA1UdIwSBxzCBxIAUwhEr5xV4r0de
-MQd3XwFkFtwls22hgaCkgZ0wgZoxDjAMBgNVBAoTBU5va2lhMRQwEgYDVQQLEwtR
-dCBTb2Z0d2FyZTEiMCAGCSqGSIb3DQEJARYTbm9ib2R5QG5vZG9tYWluLm9yZzEN
-MAsGA1UEBxMET3NsbzENMAsGA1UECBMET3NsbzELMAkGA1UEBhMCTk8xIzAhBgNV
-BAMTGnF0LXRlc3Qtc2VydmVyLnF0LXRlc3QtbmV0ggkAzXtClm7YY/swDQYJKoZI
-hvcNAQEEBQADgYEAQ/8YDtHrUoEsu9j5J6GY8iuuT8jvs/W1se5vXzoITgld+vLM
-RWzxz35Hwzy2n31MNmUagRyQsTNOvEtJTxPCP97eLLxxrHDAbRmY/PPcZfolfOQf
-xKQYf9naBv2F9Bs0WcY9z0Dgdl27szTAN67vGddYx5HpU9UE8Or5hdFJI3I=
+MIICrTCCAhYCCQCdDn5rci6VDjANBgkqhkiG9w0BAQQFADCBmjEOMAwGA1UEChMF
+Tm9raWExFDASBgNVBAsTC1F0IFNvZnR3YXJlMSIwIAYJKoZIhvcNAQkBFhNub2Jv
+ZHlAbm9kb21haW4ub3JnMQ0wCwYDVQQHEwRPc2xvMQ0wCwYDVQQIEwRPc2xvMQsw
+CQYDVQQGEwJOTzEjMCEGA1UEAxMacXQtdGVzdC1zZXJ2ZXIucXQtdGVzdC1uZXQw
+HhcNMDkwNzEwMDc0MTIzWhcNMTkwNzA4MDc0MTIzWjCBmjEOMAwGA1UEChMFTm9r
+aWExFDASBgNVBAsTC1F0IFNvZnR3YXJlMSIwIAYJKoZIhvcNAQkBFhNub2JvZHlA
+bm9kb21haW4ub3JnMQ0wCwYDVQQHEwRPc2xvMQ0wCwYDVQQIEwRPc2xvMQswCQYD
+VQQGEwJOTzEjMCEGA1UEAxMacXQtdGVzdC1zZXJ2ZXIucXQtdGVzdC1uZXQwgZ8w
+DQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAM2q22/WNMmn8cC+5EEYGeICySLmp9W6
+Ay6eKHr0Xxp3X3epETuPfvAuxp7rOtkS18EMUegkUj8jw0IMEcbyHKFC/rTCaYOt
+93CxGBXMIChiMPAsFeYzGa/D6xzAkfcRaJRQ+Ek3CDLXPnXfo7xpABXezYcPXAJr
+gsgBfWrwHdxzAgMBAAEwDQYJKoZIhvcNAQEEBQADgYEAy7YOLCZABQy2Ygkchq1I
++TUpvMn+gLwAyW8TNErM1V4lNY2+K78RawzKx3SqM97ymCy4TD45EA3A2gmi32NI
+xSKBNjFyzngUqsXBdcSasALiowlZCiJrGwlGX5qCkBlxXvJeUEbuJLPYVl5FBjXZ
+6o00K4cSPCqtqUez7WSmDZU=
-----END CERTIFICATE-----
diff --git a/tests/auto/qsslsocket/tst_qsslsocket.cpp b/tests/auto/qsslsocket/tst_qsslsocket.cpp
index 95382bd..12e8f1b 100644
--- a/tests/auto/qsslsocket/tst_qsslsocket.cpp
+++ b/tests/auto/qsslsocket/tst_qsslsocket.cpp
@@ -177,6 +177,10 @@ private slots:
void disconnectFromHostWhenConnecting();
void disconnectFromHostWhenConnected();
void resetProxy();
+ void ignoreSslErrorsList_data();
+ void ignoreSslErrorsList();
+ void ignoreSslErrorsListWithSlot_data();
+ void ignoreSslErrorsListWithSlot();
static void exitLoop()
{
@@ -200,9 +204,11 @@ protected slots:
errors.first().error() == QSslError::SelfSignedCertificate))
socket->ignoreSslErrors();
}
+ void ignoreErrorListSlot(const QList<QSslError> &errors);
private:
QSslSocket *socket;
+ QList<QSslError> storedExpectedSslErrors;
#endif // QT_NO_OPENSSL
private:
static int loopLevel;
@@ -618,7 +624,7 @@ void tst_QSslSocket::connectToHostEncryptedWithVerificationPeerName()
QSslSocketPtr socket = newSocket();
this->socket = socket;
- socket->addCaCertificates(QLatin1String("certs/qt-test-server-cacert.pem"));
+ socket->addCaCertificates(QLatin1String(SRCDIR "certs/qt-test-server-cacert.pem"));
#ifdef QSSLSOCKET_CERTUNTRUSTED_WORKAROUND
connect(&socket, SIGNAL(sslErrors(QList<QSslError>)),
this, SLOT(untrustedWorkaroundSlot(QList<QSslError>)));
@@ -1442,9 +1448,7 @@ void tst_QSslSocket::verifyMode()
QVERIFY(!socket.waitForEncrypted());
QList<QSslError> expectedErrors = QList<QSslError>()
- << QSslError(QSslError::UnableToGetLocalIssuerCertificate, socket.peerCertificate())
- << QSslError(QSslError::CertificateUntrusted, socket.peerCertificate())
- << QSslError(QSslError::UnableToVerifyFirstCertificate, socket.peerCertificate());
+ << QSslError(QSslError::SelfSignedCertificate, socket.peerCertificate());
QCOMPARE(socket.sslErrors(), expectedErrors);
socket.abort();
@@ -1589,6 +1593,82 @@ void tst_QSslSocket::resetProxy()
QVERIFY2(socket2.waitForConnected(10000), qPrintable(socket.errorString()));
}
+void tst_QSslSocket::ignoreSslErrorsList_data()
+{
+ QTest::addColumn<QList<QSslError> >("expectedSslErrors");
+ QTest::addColumn<int>("expectedSslErrorSignalCount");
+
+ // construct the list of errors that we will get with the SSL handshake and that we will ignore
+ QList<QSslError> expectedSslErrors;
+ // fromPath gives us a list of certs, but it actually only contains one
+ QList<QSslCertificate> certs = QSslCertificate::fromPath(QLatin1String(SRCDIR "certs/qt-test-server-cacert.pem"));
+ QSslError rightError(QSslError::SelfSignedCertificate, certs.at(0));
+ QSslError wrongError(QSslError::SelfSignedCertificate);
+
+
+ QTest::newRow("SSL-failure-empty-list") << expectedSslErrors << 1;
+ expectedSslErrors.append(wrongError);
+ QTest::newRow("SSL-failure-wrong-error") << expectedSslErrors << 1;
+ expectedSslErrors.append(rightError);
+ QTest::newRow("allErrorsInExpectedList1") << expectedSslErrors << 0;
+ expectedSslErrors.removeAll(wrongError);
+ QTest::newRow("allErrorsInExpectedList2") << expectedSslErrors << 0;
+ expectedSslErrors.removeAll(rightError);
+ QTest::newRow("SSL-failure-empty-list-again") << expectedSslErrors << 1;
+}
+
+void tst_QSslSocket::ignoreSslErrorsList()
+{
+ QSslSocket socket;
+ connect(&socket, SIGNAL(proxyAuthenticationRequired(QNetworkProxy,QAuthenticator*)),
+ this, SLOT(proxyAuthenticationRequired(QNetworkProxy,QAuthenticator*)));
+
+// this->socket = &socket;
+ QSslCertificate cert;
+
+ QFETCH(QList<QSslError>, expectedSslErrors);
+ socket.ignoreSslErrors(expectedSslErrors);
+
+ QFETCH(int, expectedSslErrorSignalCount);
+ QSignalSpy sslErrorsSpy(&socket, SIGNAL(error(QAbstractSocket::SocketError)));
+
+ socket.connectToHostEncrypted(QtNetworkSettings::serverName(), 443);
+
+ bool expectEncryptionSuccess = (expectedSslErrorSignalCount == 0);
+ QCOMPARE(socket.waitForEncrypted(10000), expectEncryptionSuccess);
+ QCOMPARE(sslErrorsSpy.count(), expectedSslErrorSignalCount);
+}
+
+void tst_QSslSocket::ignoreSslErrorsListWithSlot_data()
+{
+ ignoreSslErrorsList_data();
+}
+
+// this is not a test, just a slot called in the test below
+void tst_QSslSocket::ignoreErrorListSlot(const QList<QSslError> &)
+{
+ socket->ignoreSslErrors(storedExpectedSslErrors);
+}
+
+void tst_QSslSocket::ignoreSslErrorsListWithSlot()
+{
+ QSslSocket socket;
+ this->socket = &socket;
+
+ QFETCH(QList<QSslError>, expectedSslErrors);
+ // store the errors to ignore them later in the slot connected below
+ storedExpectedSslErrors = expectedSslErrors;
+ connect(&socket, SIGNAL(proxyAuthenticationRequired(QNetworkProxy,QAuthenticator*)),
+ this, SLOT(proxyAuthenticationRequired(QNetworkProxy,QAuthenticator*)));
+ connect(&socket, SIGNAL(sslErrors(const QList<QSslError> &)),
+ this, SLOT(ignoreErrorListSlot(const QList<QSslError> &)));
+ socket.connectToHostEncrypted(QtNetworkSettings::serverName(), 443);
+
+ QFETCH(int, expectedSslErrorSignalCount);
+ bool expectEncryptionSuccess = (expectedSslErrorSignalCount == 0);
+ QCOMPARE(socket.waitForEncrypted(10000), expectEncryptionSuccess);
+}
+
#endif // QT_NO_OPENSSL
QTEST_MAIN(tst_QSslSocket)
diff --git a/tests/auto/qstandarditemmodel/tst_qstandarditemmodel.cpp b/tests/auto/qstandarditemmodel/tst_qstandarditemmodel.cpp
index 216fe8a..794c5e6 100644
--- a/tests/auto/qstandarditemmodel/tst_qstandarditemmodel.cpp
+++ b/tests/auto/qstandarditemmodel/tst_qstandarditemmodel.cpp
@@ -1456,6 +1456,7 @@ static QStandardItem *itemFromText(QStandardItem *parent, const QString &text)
return item;
}
+#ifdef QT_BUILD_INTERNAL
static QModelIndex indexFromText(QStandardItemModel *model, const QString &text)
{
QStandardItem *item = itemFromText(model->invisibleRootItem(), text);
@@ -1467,11 +1468,13 @@ static QModelIndex indexFromText(QStandardItemModel *model, const QString &text)
struct FriendlyTreeView : public QTreeView
{
friend class tst_QStandardItemModel;
- Q_DECLARE_SCOPED_PRIVATE(QTreeView)
+ Q_DECLARE_PRIVATE(QTreeView)
};
+#endif
void tst_QStandardItemModel::treeDragAndDrop()
{
+#ifdef QT_BUILD_INTERNAL
const int nRow = 5;
const int nCol = 3;
@@ -1609,6 +1612,7 @@ void tst_QStandardItemModel::treeDragAndDrop()
QVERIFY(compareModels(&model, &checkModel));
}
+#endif
}
void tst_QStandardItemModel::removeRowsAndColumns()
diff --git a/tests/auto/qstate/tst_qstate.cpp b/tests/auto/qstate/tst_qstate.cpp
index ab87767..43ea7fe 100644
--- a/tests/auto/qstate/tst_qstate.cpp
+++ b/tests/auto/qstate/tst_qstate.cpp
@@ -60,10 +60,10 @@ tst_QState::~tst_QState()
void tst_QState::test()
{
QStateMachine machine;
- QState *s1 = new QState(machine.rootState());
+ QState *s1 = new QState(&machine);
QCOMPARE(s1->machine(), &machine);
- QCOMPARE(s1->parentState(), machine.rootState());
+ QCOMPARE(s1->parentState(), &machine);
QCOMPARE(s1->initialState(), (QState*)0);
QVERIFY(s1->childStates().isEmpty());
QVERIFY(s1->transitions().isEmpty());
@@ -218,7 +218,7 @@ void tst_QState::assignProperty()
QObject *object = new QObject();
object->setProperty("fooBar", 10);
- QState *s1 = new QState(machine.rootState());
+ QState *s1 = new QState(&machine);
s1->assignProperty(object, "fooBar", 20);
machine.setInitialState(s1);
@@ -235,7 +235,7 @@ void tst_QState::assignPropertyTwice()
QObject *object = new QObject();
object->setProperty("fooBar", 10);
- QState *s1 = new QState(machine.rootState());
+ QState *s1 = new QState(&machine);
s1->assignProperty(object, "fooBar", 20);
s1->assignProperty(object, "fooBar", 30);
@@ -250,8 +250,9 @@ class EventTestTransition: public QAbstractTransition
{
public:
EventTestTransition(QEvent::Type type, QState *targetState)
- : QAbstractTransition(QList<QAbstractState*>() << targetState), m_type(type)
- {
+ : QAbstractTransition(), m_type(type)
+ {
+ setTargetState(targetState);
}
protected:
@@ -271,9 +272,9 @@ void tst_QState::historyInitialState()
{
QStateMachine machine;
- QState *s1 = new QState(machine.rootState());
+ QState *s1 = new QState(&machine);
- QState *s2 = new QState(machine.rootState());
+ QState *s2 = new QState(&machine);
QHistoryState *h1 = new QHistoryState(s2);
s2->setInitialState(h1);
diff --git a/tests/auto/qstatemachine/tst_qstatemachine.cpp b/tests/auto/qstatemachine/tst_qstatemachine.cpp
index b6e16f0..41347eb 100644
--- a/tests/auto/qstatemachine/tst_qstatemachine.cpp
+++ b/tests/auto/qstatemachine/tst_qstatemachine.cpp
@@ -127,6 +127,7 @@ private slots:
void targetStateWithNoParent();
void targetStateDeleted();
void transitionToRootState();
+ void transitionFromRootState();
void transitionEntersParent();
void defaultErrorState();
@@ -189,6 +190,9 @@ private slots:
// void overrideDefaultSourceAnimationWithSpecific();
// void overrideDefaultTargetAnimationWithSpecific();
// void overrideDefaultTargetAnimationWithSource();
+
+ void nestedStateMachines();
+ void goToState();
};
tst_QStateMachine::tst_QStateMachine()
@@ -222,7 +226,8 @@ class TestTransition : public QAbstractTransition
{
public:
TestTransition(QAbstractState *target)
- : QAbstractTransition(QList<QAbstractState*>() << target) {}
+ : QAbstractTransition()
+ { setTargetState(target); }
QList<int> triggers;
protected:
virtual bool eventTest(QEvent *) {
@@ -245,7 +250,8 @@ class EventTransition : public QAbstractTransition
{
public:
EventTransition(QEvent::Type type, QAbstractState *target, QState *parent = 0)
- : QAbstractTransition(QList<QAbstractState*>() << target, parent), m_type(type) {}
+ : QAbstractTransition(parent), m_type(type)
+ { setTargetState(target); }
protected:
virtual bool eventTest(QEvent *e) {
return (e->type() == m_type);
@@ -258,13 +264,17 @@ private:
void tst_QStateMachine::transitionToRootState()
{
QStateMachine machine;
+ machine.setObjectName("machine");
QState *initialState = new QState();
+ initialState->setObjectName("initial");
machine.addState(initialState);
machine.setInitialState(initialState);
- QTest::ignoreMessage(QtWarningMsg, "QAbstractTransition::setTargetStates: root state cannot be target of transition");
- initialState->addTransition(new EventTransition(QEvent::User, machine.rootState()));
+ QAbstractTransition *trans = initialState->addTransition(new EventTransition(QEvent::User, &machine));
+ QVERIFY(trans != 0);
+ QCOMPARE(trans->sourceState(), initialState);
+ QCOMPARE(trans->targetState(), &machine);
machine.start();
QCoreApplication::processEvents();
@@ -273,10 +283,21 @@ void tst_QStateMachine::transitionToRootState()
QVERIFY(machine.configuration().contains(initialState));
machine.postEvent(new QEvent(QEvent::User));
+ QTest::ignoreMessage(QtWarningMsg, "Unrecoverable error detected in running state machine: No common ancestor for targets and source of transition from state 'initial'");
QCoreApplication::processEvents();
+ QVERIFY(machine.configuration().isEmpty());
+ QVERIFY(!machine.isRunning());
+}
- QCOMPARE(machine.configuration().count(), 1);
- QVERIFY(machine.configuration().contains(initialState));
+void tst_QStateMachine::transitionFromRootState()
+{
+ QStateMachine machine;
+ QState *root = &machine;
+ QState *s1 = new QState(root);
+ EventTransition *trans = new EventTransition(QEvent::User, s1);
+ QCOMPARE(root->addTransition(trans), trans);
+ QCOMPARE(trans->sourceState(), root);
+ QCOMPARE(trans->targetState(), s1);
}
void tst_QStateMachine::transitionEntersParent()
@@ -658,7 +679,7 @@ void tst_QStateMachine::errorStateIsRootState()
{
QStateMachine machine;
QTest::ignoreMessage(QtWarningMsg, "QStateMachine::setErrorState: root state cannot be error state");
- machine.setErrorState(machine.rootState());
+ machine.setErrorState(&machine);
QState *initialState = new QState();
initialState->setObjectName("initialState");
@@ -759,7 +780,7 @@ void tst_QStateMachine::errorStateEntersParentFirst()
void tst_QStateMachine::customErrorStateIsNull()
{
QStateMachine machine;
- machine.rootState()->setErrorState(0);
+ machine.setErrorState(0);
QState *initialState = new QState();
machine.addState(initialState);
@@ -785,9 +806,9 @@ void tst_QStateMachine::customErrorStateIsNull()
void tst_QStateMachine::clearError()
{
QStateMachine machine;
- machine.setErrorState(new QState(machine.rootState())); // avoid warnings
+ machine.setErrorState(new QState(&machine)); // avoid warnings
- QState *brokenState = new QState(machine.rootState());
+ QState *brokenState = new QState(&machine);
brokenState->setObjectName("brokenState");
machine.setInitialState(brokenState);
new QState(brokenState);
@@ -809,13 +830,13 @@ void tst_QStateMachine::historyStateAsInitialState()
{
QStateMachine machine;
- QHistoryState *hs = new QHistoryState(machine.rootState());
+ QHistoryState *hs = new QHistoryState(&machine);
machine.setInitialState(hs);
- QState *s1 = new QState(machine.rootState());
+ QState *s1 = new QState(&machine);
hs->setDefaultState(s1);
- QState *s2 = new QState(machine.rootState());
+ QState *s2 = new QState(&machine);
QHistoryState *s2h = new QHistoryState(s2);
s2->setInitialState(s2h);
@@ -843,11 +864,11 @@ void tst_QStateMachine::historyStateHasNowhereToGo()
{
QStateMachine machine;
- QState *initialState = new QState(machine.rootState());
+ QState *initialState = new QState(&machine);
machine.setInitialState(initialState);
- machine.setErrorState(new QState(machine.rootState())); // avoid warnings
+ machine.setErrorState(new QState(&machine)); // avoid warnings
- QState *brokenState = new QState(machine.rootState());
+ QState *brokenState = new QState(&machine);
brokenState->setObjectName("brokenState");
brokenState->setInitialState(new QState(brokenState));
@@ -877,14 +898,14 @@ void tst_QStateMachine::brokenStateIsNeverEntered()
entryController->setProperty("childStateEntered", false);
entryController->setProperty("errorStateEntered", false);
- QState *initialState = new QState(machine.rootState());
+ QState *initialState = new QState(&machine);
machine.setInitialState(initialState);
- QState *errorState = new QState(machine.rootState());
+ QState *errorState = new QState(&machine);
errorState->assignProperty(entryController, "errorStateEntered", true);
machine.setErrorState(errorState);
- QState *brokenState = new QState(machine.rootState());
+ QState *brokenState = new QState(&machine);
brokenState->assignProperty(entryController, "brokenStateEntered", true);
brokenState->setObjectName("brokenState");
@@ -908,7 +929,7 @@ void tst_QStateMachine::transitionToStateNotInGraph()
{
QStateMachine machine;
- QState *initialState = new QState(machine.rootState());
+ QState *initialState = new QState(&machine);
initialState->setObjectName("initialState");
machine.setInitialState(initialState);
@@ -933,7 +954,7 @@ void tst_QStateMachine::customErrorStateNotInGraph()
machine.setErrorState(&errorState);
QCOMPARE(machine.errorState(), reinterpret_cast<QAbstractState *>(0));
- QState *initialBrokenState = new QState(machine.rootState());
+ QState *initialBrokenState = new QState(&machine);
initialBrokenState->setObjectName("initialBrokenState");
machine.setInitialState(initialBrokenState);
new QState(initialBrokenState);
@@ -999,24 +1020,22 @@ void tst_QStateMachine::restoreProperties()
void tst_QStateMachine::rootState()
{
QStateMachine machine;
- QVERIFY(machine.rootState() != 0);
- QVERIFY(qobject_cast<QState*>(machine.rootState()) != 0);
- QCOMPARE(qobject_cast<QState*>(machine.rootState())->parentState(), (QState*)0);
- QCOMPARE(machine.rootState()->parent(), (QObject*)&machine);
- QCOMPARE(machine.rootState()->machine(), &machine);
+ QCOMPARE(qobject_cast<QState*>(machine.parentState()), (QState*)0);
+ QCOMPARE(machine.machine(), (QStateMachine*)0);
- QState *s1 = new QState(machine.rootState());
- QCOMPARE(s1->parentState(), machine.rootState());
+ QState *s1 = new QState(&machine);
+ QCOMPARE(s1->parentState(), &machine);
QState *s2 = new QState();
s2->setParent(&machine);
- QCOMPARE(s2->parentState(), machine.rootState());
+ QCOMPARE(s2->parentState(), &machine);
}
void tst_QStateMachine::addAndRemoveState()
{
+#ifdef QT_BUILD_INTERNAL
QStateMachine machine;
- QStatePrivate *root_d = QStatePrivate::get(machine.rootState());
+ QStatePrivate *root_d = QStatePrivate::get(&machine);
QCOMPARE(root_d->childStates().size(), 0);
QTest::ignoreMessage(QtWarningMsg, "QStateMachine::addState: cannot add null state");
@@ -1027,7 +1046,7 @@ void tst_QStateMachine::addAndRemoveState()
QCOMPARE(s1->machine(), (QStateMachine*)0);
machine.addState(s1);
QCOMPARE(s1->machine(), &machine);
- QCOMPARE(s1->parentState(), machine.rootState());
+ QCOMPARE(s1->parentState(), &machine);
QCOMPARE(root_d->childStates().size(), 1);
QCOMPARE(root_d->childStates().at(0), (QAbstractState*)s1);
@@ -1037,7 +1056,7 @@ void tst_QStateMachine::addAndRemoveState()
QState *s2 = new QState();
QCOMPARE(s2->parentState(), (QState*)0);
machine.addState(s2);
- QCOMPARE(s2->parentState(), machine.rootState());
+ QCOMPARE(s2->parentState(), &machine);
QCOMPARE(root_d->childStates().size(), 2);
QCOMPARE(root_d->childStates().at(0), (QAbstractState*)s1);
QCOMPARE(root_d->childStates().at(1), (QAbstractState*)s2);
@@ -1062,19 +1081,20 @@ void tst_QStateMachine::addAndRemoveState()
{
QString warning;
warning.sprintf("QStateMachine::removeState: state %p's machine (%p) is different from this machine (%p)",
- machine2.rootState(), &machine2, &machine);
+ &machine2, (void*)0, &machine);
QTest::ignoreMessage(QtWarningMsg, qPrintable(warning));
- machine.removeState(machine2.rootState());
+ machine.removeState(&machine2);
}
// ### check this behavior
- machine.addState(machine2.rootState());
- QCOMPARE(machine2.rootState()->parent(), (QObject*)machine.rootState());
+ machine.addState(&machine2);
+ QCOMPARE(machine2.parent(), (QObject*)&machine);
}
delete s1;
delete s2;
// ### how to deal with this?
// machine.removeState(machine.errorState());
+#endif
}
void tst_QStateMachine::stateEntryAndExit()
@@ -1083,7 +1103,7 @@ void tst_QStateMachine::stateEntryAndExit()
{
QStateMachine machine;
- TestState *s1 = new TestState(machine.rootState());
+ TestState *s1 = new TestState(&machine);
QTest::ignoreMessage(QtWarningMsg, "QState::addTransition: cannot add transition to null state");
s1->addTransition((QAbstractState*)0);
QTest::ignoreMessage(QtWarningMsg, "QState::addTransition: cannot add null transition");
@@ -1091,8 +1111,8 @@ void tst_QStateMachine::stateEntryAndExit()
QTest::ignoreMessage(QtWarningMsg, "QState::removeTransition: cannot remove null transition");
s1->removeTransition((QAbstractTransition*)0);
- TestState *s2 = new TestState(machine.rootState());
- QFinalState *s3 = new QFinalState(machine.rootState());
+ TestState *s2 = new TestState(&machine);
+ QFinalState *s3 = new QFinalState(&machine);
TestTransition *t = new TestTransition(s2);
QCOMPARE(t->machine(), (QStateMachine*)0);
@@ -1141,9 +1161,9 @@ void tst_QStateMachine::stateEntryAndExit()
QCOMPARE(machine.initialState(), (QAbstractState*)s1);
{
QString warning;
- warning.sprintf("QState::setInitialState: state %p is not a child of this state (%p)", machine.rootState(), machine.rootState());
+ warning.sprintf("QState::setInitialState: state %p is not a child of this state (%p)", &machine, &machine);
QTest::ignoreMessage(QtWarningMsg, qPrintable(warning));
- machine.setInitialState(machine.rootState());
+ machine.setInitialState(&machine);
QCOMPARE(machine.initialState(), (QAbstractState*)s1);
}
QVERIFY(machine.configuration().isEmpty());
@@ -1190,11 +1210,11 @@ void tst_QStateMachine::stateEntryAndExit()
{
QStateMachine machine;
- TestState *s1 = new TestState(machine.rootState());
+ TestState *s1 = new TestState(&machine);
TestState *s11 = new TestState(s1);
TestState *s12 = new TestState(s1);
- TestState *s2 = new TestState(machine.rootState());
- QFinalState *s3 = new QFinalState(machine.rootState());
+ TestState *s2 = new TestState(&machine);
+ QFinalState *s3 = new QFinalState(&machine);
s1->setInitialState(s11);
TestTransition *t1 = new TestTransition(s12);
s11->addTransition(t1);
@@ -1253,13 +1273,13 @@ void tst_QStateMachine::stateEntryAndExit()
void tst_QStateMachine::assignProperty()
{
QStateMachine machine;
- QState *s1 = new QState(machine.rootState());
+ QState *s1 = new QState(&machine);
QTest::ignoreMessage(QtWarningMsg, "QState::assignProperty: cannot assign property 'foo' of null object");
s1->assignProperty(0, "foo", QVariant());
s1->assignProperty(s1, "objectName", "s1");
- QFinalState *s2 = new QFinalState(machine.rootState());
+ QFinalState *s2 = new QFinalState(&machine);
s1->addTransition(s2);
machine.setInitialState(s1);
machine.start();
@@ -1305,9 +1325,9 @@ void tst_QStateMachine::assignPropertyWithAnimation()
QObject obj;
obj.setProperty("foo", 321);
obj.setProperty("bar", 654);
- QState *s1 = new QState(machine.rootState());
+ QState *s1 = new QState(&machine);
s1->assignProperty(&obj, "foo", 123);
- QState *s2 = new QState(machine.rootState());
+ QState *s2 = new QState(&machine);
s2->assignProperty(&obj, "foo", 456);
s2->assignProperty(&obj, "bar", 789);
QAbstractTransition *trans = s1->addTransition(s2);
@@ -1327,7 +1347,7 @@ void tst_QStateMachine::assignPropertyWithAnimation()
trans->addAnimation(&anim);
QCOMPARE(trans->animations().size(), 1);
QCOMPARE(trans->animations().at(0), (QAbstractAnimation*)&anim);
- QFinalState *s3 = new QFinalState(machine.rootState());
+ QFinalState *s3 = new QFinalState(&machine);
s2->addTransition(s2, SIGNAL(polished()), s3);
machine.setInitialState(s1);
@@ -1343,9 +1363,9 @@ void tst_QStateMachine::assignPropertyWithAnimation()
QObject obj;
obj.setProperty("foo", 321);
obj.setProperty("bar", 654);
- QState *s1 = new QState(machine.rootState());
+ QState *s1 = new QState(&machine);
s1->assignProperty(&obj, "foo", 123);
- QState *s2 = new QState(machine.rootState());
+ QState *s2 = new QState(&machine);
s2->assignProperty(&obj, "foo", 456);
s2->assignProperty(&obj, "bar", 789);
QAbstractTransition *trans = s1->addTransition(s2);
@@ -1355,7 +1375,7 @@ void tst_QStateMachine::assignPropertyWithAnimation()
QPropertyAnimation anim2(&obj, "bar");
anim2.setDuration(150);
trans->addAnimation(&anim2);
- QFinalState *s3 = new QFinalState(machine.rootState());
+ QFinalState *s3 = new QFinalState(&machine);
s2->addTransition(s2, SIGNAL(polished()), s3);
machine.setInitialState(s1);
@@ -1371,10 +1391,10 @@ void tst_QStateMachine::assignPropertyWithAnimation()
QObject obj;
obj.setProperty("foo", 321);
obj.setProperty("bar", 654);
- QState *s1 = new QState(machine.rootState());
+ QState *s1 = new QState(&machine);
s1->assignProperty(&obj, "foo", 123);
s1->assignProperty(&obj, "bar", 321);
- QState *s2 = new QState(machine.rootState());
+ QState *s2 = new QState(&machine);
s2->assignProperty(&obj, "foo", 456);
s2->assignProperty(&obj, "bar", 654);
s2->assignProperty(&obj, "baz", 789);
@@ -1383,7 +1403,7 @@ void tst_QStateMachine::assignPropertyWithAnimation()
group.addAnimation(new QPropertyAnimation(&obj, "foo"));
group.addAnimation(new QPropertyAnimation(&obj, "bar"));
trans->addAnimation(&group);
- QFinalState *s3 = new QFinalState(machine.rootState());
+ QFinalState *s3 = new QFinalState(&machine);
s2->addTransition(s2, SIGNAL(polished()), s3);
machine.setInitialState(s1);
@@ -1400,7 +1420,7 @@ void tst_QStateMachine::assignPropertyWithAnimation()
QObject obj;
obj.setProperty("foo", 321);
obj.setProperty("bar", 654);
- QState *s1 = new QState(machine.rootState());
+ QState *s1 = new QState(&machine);
QCOMPARE(s1->childMode(), QState::ExclusiveStates);
s1->setChildMode(QState::ParallelStates);
QCOMPARE(s1->childMode(), QState::ParallelStates);
@@ -1410,7 +1430,7 @@ void tst_QStateMachine::assignPropertyWithAnimation()
s1->setObjectName("s1");
s1->assignProperty(&obj, "foo", 123);
s1->assignProperty(&obj, "bar", 456);
- QState *s2 = new QState(machine.rootState());
+ QState *s2 = new QState(&machine);
s2->setObjectName("s2");
s2->assignProperty(&obj, "foo", 321);
QState *s21 = new QState(s2);
@@ -1432,7 +1452,7 @@ void tst_QStateMachine::assignPropertyWithAnimation()
s21->addTransition(s21, SIGNAL(polished()), s22);
- QFinalState *s3 = new QFinalState(machine.rootState());
+ QFinalState *s3 = new QFinalState(&machine);
s22->addTransition(s2, SIGNAL(polished()), s3);
machine.setInitialState(s1);
@@ -1449,7 +1469,7 @@ void tst_QStateMachine::assignPropertyWithAnimation()
QObject obj;
obj.setProperty("foo", 321);
obj.setProperty("bar", 654);
- QState *group = new QState(machine.rootState());
+ QState *group = new QState(&machine);
QState *s1 = new QState(group);
group->setInitialState(s1);
s1->assignProperty(&obj, "foo", 123);
@@ -1496,7 +1516,8 @@ class StringTransition : public QAbstractTransition
{
public:
StringTransition(const QString &value, QAbstractState *target)
- : QAbstractTransition(QList<QAbstractState*>() << target), m_value(value) {}
+ : QAbstractTransition(), m_value(value)
+ { setTargetState(target); }
protected:
virtual bool eventTest(QEvent *e)
@@ -1575,12 +1596,12 @@ void tst_QStateMachine::postEvent()
void tst_QStateMachine::stateFinished()
{
QStateMachine machine;
- QState *s1 = new QState(machine.rootState());
+ QState *s1 = new QState(&machine);
QState *s1_1 = new QState(s1);
QFinalState *s1_2 = new QFinalState(s1);
s1_1->addTransition(s1_2);
s1->setInitialState(s1_1);
- QFinalState *s2 = new QFinalState(machine.rootState());
+ QFinalState *s2 = new QFinalState(&machine);
s1->addTransition(s1, SIGNAL(finished()), s2);
machine.setInitialState(s1);
QSignalSpy finishedSpy(&machine, SIGNAL(finished()));
@@ -1630,7 +1651,7 @@ void tst_QStateMachine::parallelStates()
void tst_QStateMachine::parallelRootState()
{
QStateMachine machine;
- QState *root = machine.rootState();
+ QState *root = &machine;
QCOMPARE(root->childMode(), QState::ExclusiveStates);
root->setChildMode(QState::ParallelStates);
QCOMPARE(root->childMode(), QState::ParallelStates);
@@ -1653,7 +1674,7 @@ void tst_QStateMachine::parallelRootState()
void tst_QStateMachine::allSourceToTargetConfigurations()
{
QStateMachine machine;
- QState *s0 = new QState(machine.rootState());
+ QState *s0 = new QState(&machine);
s0->setObjectName("s0");
QState *s1 = new QState(s0);
s1->setObjectName("s1");
@@ -1665,7 +1686,7 @@ void tst_QStateMachine::allSourceToTargetConfigurations()
s21->setObjectName("s21");
QState *s211 = new QState(s21);
s211->setObjectName("s211");
- QFinalState *f = new QFinalState(machine.rootState());
+ QFinalState *f = new QFinalState(&machine);
f->setObjectName("f");
s0->setInitialState(s1);
@@ -1719,7 +1740,8 @@ public:
: QSignalTransition(sourceState) {}
TestSignalTransition(QObject *sender, const char *signal,
QAbstractState *target)
- : QSignalTransition(sender, signal, QList<QAbstractState*>() << target) {}
+ : QSignalTransition(sender, signal)
+ { setTargetState(target); }
QVariantList argumentsReceived() const {
return m_args;
}
@@ -1739,7 +1761,7 @@ void tst_QStateMachine::signalTransitions()
{
{
QStateMachine machine;
- QState *s0 = new QState(machine.rootState());
+ QState *s0 = new QState(&machine);
QTest::ignoreMessage(QtWarningMsg, "QState::addTransition: sender cannot be null");
QCOMPARE(s0->addTransition(0, SIGNAL(noSuchSignal()), 0), (QSignalTransition*)0);
@@ -1750,7 +1772,7 @@ void tst_QStateMachine::signalTransitions()
QTest::ignoreMessage(QtWarningMsg, "QState::addTransition: cannot add transition to null state");
QCOMPARE(s0->addTransition(&emitter, SIGNAL(signalWithNoArg()), 0), (QSignalTransition*)0);
- QFinalState *s1 = new QFinalState(machine.rootState());
+ QFinalState *s1 = new QFinalState(&machine);
QTest::ignoreMessage(QtWarningMsg, "QState::addTransition: no such signal SignalEmitter::noSuchSignal()");
QCOMPARE(s0->addTransition(&emitter, SIGNAL(noSuchSignal()), s1), (QSignalTransition*)0);
@@ -1801,8 +1823,8 @@ void tst_QStateMachine::signalTransitions()
}
{
QStateMachine machine;
- QState *s0 = new QState(machine.rootState());
- QFinalState *s1 = new QFinalState(machine.rootState());
+ QState *s0 = new QState(&machine);
+ QFinalState *s1 = new QFinalState(&machine);
SignalEmitter emitter;
QSignalTransition *trans = s0->addTransition(&emitter, "signalWithNoArg()", s1);
QVERIFY(trans != 0);
@@ -1829,8 +1851,8 @@ void tst_QStateMachine::signalTransitions()
}
{
QStateMachine machine;
- QState *s0 = new QState(machine.rootState());
- QFinalState *s1 = new QFinalState(machine.rootState());
+ QState *s0 = new QState(&machine);
+ QFinalState *s1 = new QFinalState(&machine);
SignalEmitter emitter;
TestSignalTransition *trans = new TestSignalTransition(&emitter, SIGNAL(signalWithIntArg(int)), s1);
s0->addTransition(trans);
@@ -1848,8 +1870,8 @@ void tst_QStateMachine::signalTransitions()
}
{
QStateMachine machine;
- QState *s0 = new QState(machine.rootState());
- QFinalState *s1 = new QFinalState(machine.rootState());
+ QState *s0 = new QState(&machine);
+ QFinalState *s1 = new QFinalState(&machine);
SignalEmitter emitter;
TestSignalTransition *trans = new TestSignalTransition(&emitter, SIGNAL(signalWithStringArg(QString)), s1);
s0->addTransition(trans);
@@ -1868,8 +1890,8 @@ void tst_QStateMachine::signalTransitions()
}
{
QStateMachine machine;
- QState *s0 = new QState(machine.rootState());
- QFinalState *s1 = new QFinalState(machine.rootState());
+ QState *s0 = new QState(&machine);
+ QFinalState *s1 = new QFinalState(&machine);
TestSignalTransition *trans = new TestSignalTransition();
QCOMPARE(trans->senderObject(), (QObject*)0);
@@ -1896,8 +1918,8 @@ void tst_QStateMachine::signalTransitions()
{
QStateMachine machine;
SignalEmitter emitter;
- QState *s0 = new QState(machine.rootState());
- QState *s1 = new QState(machine.rootState());
+ QState *s0 = new QState(&machine);
+ QState *s1 = new QState(&machine);
QSignalTransition *t0 = s0->addTransition(&emitter, SIGNAL(signalWithNoArg()), s1);
QSignalTransition *t1 = s1->addTransition(&emitter, SIGNAL(signalWithNoArg()), s0);
@@ -1941,12 +1963,12 @@ void tst_QStateMachine::signalTransitions()
{
QStateMachine machine;
SignalEmitter emitter;
- QState *s0 = new QState(machine.rootState());
- QFinalState *s1 = new QFinalState(machine.rootState());
+ QState *s0 = new QState(&machine);
+ QFinalState *s1 = new QFinalState(&machine);
s0->addTransition(&emitter, SIGNAL(signalWithNoArg()), s1);
- QFinalState *s2 = new QFinalState(machine.rootState());
+ QFinalState *s2 = new QFinalState(&machine);
s0->addTransition(&emitter, SIGNAL(signalWithIntArg(int)), s2);
- QFinalState *s3 = new QFinalState(machine.rootState());
+ QFinalState *s3 = new QFinalState(&machine);
s0->addTransition(&emitter, SIGNAL(signalWithStringArg(QString)), s3);
QSignalSpy startedSpy(&machine, SIGNAL(started()));
@@ -1978,8 +2000,8 @@ void tst_QStateMachine::signalTransitions()
{
QStateMachine machine;
SignalEmitter emitter;
- QState *s0 = new QState(machine.rootState());
- QFinalState *s1 = new QFinalState(machine.rootState());
+ QState *s0 = new QState(&machine);
+ QFinalState *s1 = new QFinalState(&machine);
QSignalTransition *t0 = s0->addTransition(&emitter, SIGNAL( signalWithNoArg( ) ), s1);
QVERIFY(t0 != 0);
QCOMPARE(t0->signal(), QByteArray(SIGNAL( signalWithNoArg( ) )));
@@ -2004,20 +2026,15 @@ void tst_QStateMachine::signalTransitions()
void tst_QStateMachine::eventTransitions()
{
QPushButton button;
- for (int x = 0; x < 2; ++x) {
+ {
QStateMachine machine;
- QState *s0 = new QState(machine.rootState());
- QFinalState *s1 = new QFinalState(machine.rootState());
+ QState *s0 = new QState(&machine);
+ QFinalState *s1 = new QFinalState(&machine);
QMouseEventTransition *trans;
- if (x == 0) {
- trans = new QMouseEventTransition(&button, QEvent::MouseButtonPress, Qt::LeftButton);
- QCOMPARE(trans->targetState(), (QAbstractState*)0);
- trans->setTargetState(s1);
- } else {
- trans = new QMouseEventTransition(&button, QEvent::MouseButtonPress,
- Qt::LeftButton, QList<QAbstractState*>() << s1);
- }
+ trans = new QMouseEventTransition(&button, QEvent::MouseButtonPress, Qt::LeftButton);
+ QCOMPARE(trans->targetState(), (QAbstractState*)0);
+ trans->setTargetState(s1);
QCOMPARE(trans->eventType(), QEvent::MouseButtonPress);
QCOMPARE(trans->button(), Qt::LeftButton);
QCOMPARE(trans->targetState(), (QAbstractState*)s1);
@@ -2053,10 +2070,10 @@ void tst_QStateMachine::eventTransitions()
QTest::mousePress(&button2, Qt::LeftButton);
QTRY_COMPARE(finishedSpy.count(), 4);
}
- for (int x = 0; x < 3; ++x) {
+ for (int x = 0; x < 2; ++x) {
QStateMachine machine;
- QState *s0 = new QState(machine.rootState());
- QFinalState *s1 = new QFinalState(machine.rootState());
+ QState *s0 = new QState(&machine);
+ QFinalState *s1 = new QFinalState(&machine);
QEventTransition *trans;
if (x == 0) {
@@ -2069,9 +2086,6 @@ void tst_QStateMachine::eventTransitions()
} else if (x == 1) {
trans = new QEventTransition(&button, QEvent::MouseButtonPress);
trans->setTargetState(s1);
- } else {
- trans = new QEventTransition(&button, QEvent::MouseButtonPress,
- QList<QAbstractState*>() << s1);
}
QCOMPARE(trans->eventObject(), (QObject*)&button);
QCOMPARE(trans->eventType(), QEvent::MouseButtonPress);
@@ -2090,8 +2104,8 @@ void tst_QStateMachine::eventTransitions()
}
{
QStateMachine machine;
- QState *s0 = new QState(machine.rootState());
- QFinalState *s1 = new QFinalState(machine.rootState());
+ QState *s0 = new QState(&machine);
+ QFinalState *s1 = new QFinalState(&machine);
QMouseEventTransition *trans = new QMouseEventTransition();
QCOMPARE(trans->eventObject(), (QObject*)0);
@@ -2116,8 +2130,8 @@ void tst_QStateMachine::eventTransitions()
{
QStateMachine machine;
- QState *s0 = new QState(machine.rootState());
- QFinalState *s1 = new QFinalState(machine.rootState());
+ QState *s0 = new QState(&machine);
+ QFinalState *s1 = new QFinalState(&machine);
QKeyEventTransition *trans = new QKeyEventTransition(&button, QEvent::KeyPress, Qt::Key_A);
QCOMPARE(trans->eventType(), QEvent::KeyPress);
@@ -2137,8 +2151,8 @@ void tst_QStateMachine::eventTransitions()
}
{
QStateMachine machine;
- QState *s0 = new QState(machine.rootState());
- QFinalState *s1 = new QFinalState(machine.rootState());
+ QState *s0 = new QState(&machine);
+ QFinalState *s1 = new QFinalState(&machine);
QKeyEventTransition *trans = new QKeyEventTransition();
QCOMPARE(trans->eventObject(), (QObject*)0);
@@ -2163,8 +2177,8 @@ void tst_QStateMachine::eventTransitions()
// Multiple transitions for same (object,event)
{
QStateMachine machine;
- QState *s0 = new QState(machine.rootState());
- QState *s1 = new QState(machine.rootState());
+ QState *s0 = new QState(&machine);
+ QState *s1 = new QState(&machine);
QEventTransition *t0 = new QEventTransition(&button, QEvent::MouseButtonPress);
t0->setTargetState(s1);
s0->addTransition(t0);
@@ -2211,9 +2225,9 @@ void tst_QStateMachine::eventTransitions()
// multiple event transitions from same source
{
QStateMachine machine;
- QState *s0 = new QState(machine.rootState());
- QFinalState *s1 = new QFinalState(machine.rootState());
- QFinalState *s2 = new QFinalState(machine.rootState());
+ QState *s0 = new QState(&machine);
+ QFinalState *s1 = new QFinalState(&machine);
+ QFinalState *s2 = new QFinalState(&machine);
QEventTransition *t0 = new QEventTransition(&button, QEvent::MouseButtonPress);
t0->setTargetState(s1);
s0->addTransition(t0);
@@ -2242,8 +2256,8 @@ void tst_QStateMachine::eventTransitions()
// custom event
{
QStateMachine machine;
- QState *s0 = new QState(machine.rootState());
- QFinalState *s1 = new QFinalState(machine.rootState());
+ QState *s0 = new QState(&machine);
+ QFinalState *s1 = new QFinalState(&machine);
QEventTransition *trans = new QEventTransition(&button, QEvent::Type(QEvent::User+1));
trans->setTargetState(s1);
@@ -2261,7 +2275,7 @@ void tst_QStateMachine::historyStates()
{
for (int x = 0; x < 2; ++x) {
QStateMachine machine;
- QState *root = machine.rootState();
+ QState *root = &machine;
QState *s0 = new QState(root);
QState *s00 = new QState(s0);
QState *s01 = new QState(s0);
@@ -2345,7 +2359,7 @@ void tst_QStateMachine::startAndStop()
QCOMPARE(stoppedSpy.count(), 0);
QCOMPARE(finishedSpy.count(), 0);
- QState *s1 = new QState(machine.rootState());
+ QState *s1 = new QState(&machine);
machine.setInitialState(s1);
machine.start();
QTRY_COMPARE(machine.isRunning(), true);
@@ -2376,7 +2390,7 @@ void tst_QStateMachine::startAndStop()
void tst_QStateMachine::targetStateWithNoParent()
{
QStateMachine machine;
- QState *s1 = new QState(machine.rootState());
+ QState *s1 = new QState(&machine);
s1->setObjectName("s1");
QState s2;
s1->addTransition(&s2);
@@ -2396,9 +2410,9 @@ void tst_QStateMachine::targetStateWithNoParent()
void tst_QStateMachine::targetStateDeleted()
{
QStateMachine machine;
- QState *s1 = new QState(machine.rootState());
+ QState *s1 = new QState(&machine);
s1->setObjectName("s1");
- QState *s2 = new QState(machine.rootState());
+ QState *s2 = new QState(&machine);
QAbstractTransition *trans = s1->addTransition(s2);
delete s2;
QCOMPARE(trans->targetState(), (QAbstractState*)0);
@@ -2413,13 +2427,13 @@ void tst_QStateMachine::defaultGlobalRestorePolicy()
propertyHolder->setProperty("a", 1);
propertyHolder->setProperty("b", 2);
- QState *s1 = new QState(machine.rootState());
+ QState *s1 = new QState(&machine);
s1->assignProperty(propertyHolder, "a", 3);
- QState *s2 = new QState(machine.rootState());
+ QState *s2 = new QState(&machine);
s2->assignProperty(propertyHolder, "b", 4);
- QState *s3 = new QState(machine.rootState());
+ QState *s3 = new QState(&machine);
s1->addTransition(new EventTransition(QEvent::User, s2));
s2->addTransition(new EventTransition(QEvent::User, s3));
@@ -2448,11 +2462,12 @@ void tst_QStateMachine::noInitialStateForInitialState()
{
QStateMachine machine;
- QState *initialState = new QState(machine.rootState());
+ QState *initialState = new QState(&machine);
initialState->setObjectName("initialState");
machine.setInitialState(initialState);
QState *childState = new QState(initialState);
+ (void)childState;
QTest::ignoreMessage(QtWarningMsg, "Unrecoverable error detected in running state machine: "
"Missing initial state in compound state 'initialState'");
@@ -2472,7 +2487,7 @@ void tst_QStateMachine::restorePolicyNotInherited()
propertyHolder->setProperty("a", 1);
propertyHolder->setProperty("b", 2);
- QState *parentState = new QState(machine.rootState());
+ QState *parentState = new QState(&machine);
parentState->setObjectName("parentState");
parentState->setRestorePolicy(QState::RestoreProperties);
@@ -2521,13 +2536,13 @@ void tst_QStateMachine::globalRestorePolicySetToDoNotRestore()
propertyHolder->setProperty("a", 1);
propertyHolder->setProperty("b", 2);
- QState *s1 = new QState(machine.rootState());
+ QState *s1 = new QState(&machine);
s1->assignProperty(propertyHolder, "a", 3);
- QState *s2 = new QState(machine.rootState());
+ QState *s2 = new QState(&machine);
s2->assignProperty(propertyHolder, "b", 4);
- QState *s3 = new QState(machine.rootState());
+ QState *s3 = new QState(&machine);
s1->addTransition(new EventTransition(QEvent::User, s2));
s2->addTransition(new EventTransition(QEvent::User, s3));
@@ -2631,7 +2646,7 @@ void tst_QStateMachine::restorePolicyOnChildState()
propertyHolder->setProperty("a", 1);
propertyHolder->setProperty("b", 2);
- QState *parentState = new QState(machine.rootState());
+ QState *parentState = new QState(&machine);
parentState->setObjectName("parentState");
QState *s1 = new QState(parentState);
@@ -2682,13 +2697,13 @@ void tst_QStateMachine::globalRestorePolicySetToRestore()
propertyHolder->setProperty("a", 1);
propertyHolder->setProperty("b", 2);
- QState *s1 = new QState(machine.rootState());
+ QState *s1 = new QState(&machine);
s1->assignProperty(propertyHolder, "a", 3);
- QState *s2 = new QState(machine.rootState());
+ QState *s2 = new QState(&machine);
s2->assignProperty(propertyHolder, "b", 4);
- QState *s3 = new QState(machine.rootState());
+ QState *s3 = new QState(&machine);
s1->addTransition(new EventTransition(QEvent::User, s2));
s2->addTransition(new EventTransition(QEvent::User, s3));
@@ -2721,19 +2736,19 @@ void tst_QStateMachine::mixedRestoreProperties()
QObject *propertyHolder = new QObject();
propertyHolder->setProperty("a", 1);
- QState *s1 = new QState(machine.rootState());
+ QState *s1 = new QState(&machine);
s1->setRestorePolicy(QState::RestoreProperties);
s1->assignProperty(propertyHolder, "a", 3);
- QState *s2 = new QState(machine.rootState());
+ QState *s2 = new QState(&machine);
s2->assignProperty(propertyHolder, "a", 4);
- QState *s3 = new QState(machine.rootState());
+ QState *s3 = new QState(&machine);
- QState *s4 = new QState(machine.rootState());
+ QState *s4 = new QState(&machine);
s4->assignProperty(propertyHolder, "a", 5);
- QState *s5 = new QState(machine.rootState());
+ QState *s5 = new QState(&machine);
s5->setRestorePolicy(QState::RestoreProperties);
s5->assignProperty(propertyHolder, "a", 6);
@@ -2785,8 +2800,8 @@ void tst_QStateMachine::mixedRestoreProperties()
void tst_QStateMachine::transitionWithParent()
{
QStateMachine machine;
- QState *s1 = new QState(machine.rootState());
- QState *s2 = new QState(machine.rootState());
+ QState *s1 = new QState(&machine);
+ QState *s2 = new QState(&machine);
EventTransition *trans = new EventTransition(QEvent::User, s2, s1);
QCOMPARE(trans->sourceState(), s1);
QCOMPARE(trans->targetState(), (QAbstractState*)s2);
@@ -2801,8 +2816,8 @@ void tst_QStateMachine::simpleAnimation()
QObject *object = new QObject(&machine);
object->setProperty("fooBar", 1.0);
- QState *s1 = new QState(machine.rootState());
- QState *s2 = new QState(machine.rootState());
+ QState *s1 = new QState(&machine);
+ QState *s2 = new QState(&machine);
s2->assignProperty(object, "fooBar", 2.0);
EventTransition *et = new EventTransition(QEvent::User, s2);
@@ -2810,7 +2825,7 @@ void tst_QStateMachine::simpleAnimation()
et->addAnimation(animation);
s1->addTransition(et);
- QState *s3 = new QState(machine.rootState());
+ QState *s3 = new QState(&machine);
s2->addTransition(animation, SIGNAL(finished()), s3);
QObject::connect(s3, SIGNAL(entered()), QCoreApplication::instance(), SLOT(quit()));
@@ -2845,8 +2860,8 @@ void tst_QStateMachine::twoAnimations()
object->setProperty("foo", 1.0);
object->setProperty("bar", 3.0);
- QState *s1 = new QState(machine.rootState());
- QState *s2 = new QState(machine.rootState());
+ QState *s1 = new QState(&machine);
+ QState *s2 = new QState(&machine);
s2->assignProperty(object, "foo", 2.0);
s2->assignProperty(object, "bar", 10.0);
@@ -2863,7 +2878,7 @@ void tst_QStateMachine::twoAnimations()
et->addAnimation(animationBar);
s1->addTransition(et);
- QState *s3 = new QState(machine.rootState());
+ QState *s3 = new QState(&machine);
QObject::connect(s3, SIGNAL(entered()), QCoreApplication::instance(), SLOT(quit()));
s2->addTransition(s2, SIGNAL(polished()), s3);
@@ -2888,23 +2903,23 @@ void tst_QStateMachine::twoAnimatedTransitions()
QObject *object = new QObject(&machine);
object->setProperty("foo", 1.0);
- QState *s1 = new QState(machine.rootState());
+ QState *s1 = new QState(&machine);
- QState *s2 = new QState(machine.rootState());
+ QState *s2 = new QState(&machine);
s2->assignProperty(object, "foo", 5.0);
QPropertyAnimation *fooAnimation = new QPropertyAnimation(object, "foo", s2);
s1->addTransition(new EventTransition(QEvent::User, s2))->addAnimation(fooAnimation);
- QState *s3 = new QState(machine.rootState());
+ QState *s3 = new QState(&machine);
QObject::connect(s3, SIGNAL(entered()), QCoreApplication::instance(), SLOT(quit()));
s2->addTransition(fooAnimation, SIGNAL(finished()), s3);
- QState *s4 = new QState(machine.rootState());
+ QState *s4 = new QState(&machine);
s4->assignProperty(object, "foo", 2.0);
QPropertyAnimation *fooAnimation2 = new QPropertyAnimation(object, "foo", s4);
s3->addTransition(new EventTransition(QEvent::User, s4))->addAnimation(fooAnimation2);
- QState *s5 = new QState(machine.rootState());
+ QState *s5 = new QState(&machine);
QObject::connect(s5, SIGNAL(entered()), QApplication::instance(), SLOT(quit()));
s4->addTransition(fooAnimation2, SIGNAL(finished()), s5);
@@ -2932,22 +2947,22 @@ void tst_QStateMachine::playAnimationTwice()
QObject *object = new QObject(&machine);
object->setProperty("foo", 1.0);
- QState *s1 = new QState(machine.rootState());
+ QState *s1 = new QState(&machine);
- QState *s2 = new QState(machine.rootState());
+ QState *s2 = new QState(&machine);
s2->assignProperty(object, "foo", 5.0);
QPropertyAnimation *fooAnimation = new QPropertyAnimation(object, "foo", s2);
s1->addTransition(new EventTransition(QEvent::User, s2))->addAnimation(fooAnimation);
- QState *s3 = new QState(machine.rootState());
+ QState *s3 = new QState(&machine);
QObject::connect(s3, SIGNAL(entered()), QCoreApplication::instance(), SLOT(quit()));
s2->addTransition(fooAnimation, SIGNAL(finished()), s3);
- QState *s4 = new QState(machine.rootState());
+ QState *s4 = new QState(&machine);
s4->assignProperty(object, "foo", 2.0);
s3->addTransition(new EventTransition(QEvent::User, s4))->addAnimation(fooAnimation);
- QState *s5 = new QState(machine.rootState());
+ QState *s5 = new QState(&machine);
QObject::connect(s5, SIGNAL(entered()), QApplication::instance(), SLOT(quit()));
s4->addTransition(fooAnimation, SIGNAL(finished()), s5);
@@ -2978,8 +2993,8 @@ void tst_QStateMachine::nestedTargetStateForAnimation()
SlotCalledCounter counter;
- QState *s1 = new QState(machine.rootState());
- QState *s2 = new QState(machine.rootState());
+ QState *s1 = new QState(&machine);
+ QState *s2 = new QState(&machine);
s2->assignProperty(object, "foo", 2.0);
@@ -3006,7 +3021,7 @@ void tst_QStateMachine::nestedTargetStateForAnimation()
connect(animation, SIGNAL(finished()), &counter, SLOT(slot()));
at->addAnimation(animation);
- QState *s3 = new QState(machine.rootState());
+ QState *s3 = new QState(&machine);
s2->addTransition(s2Child, SIGNAL(polished()), s3);
QObject::connect(s3, SIGNAL(entered()), QCoreApplication::instance(), SLOT(quit()));
@@ -3034,13 +3049,13 @@ void tst_QStateMachine::animatedGlobalRestoreProperty()
SlotCalledCounter counter;
- QState *s1 = new QState(machine.rootState());
- QState *s2 = new QState(machine.rootState());
+ QState *s1 = new QState(&machine);
+ QState *s2 = new QState(&machine);
s2->assignProperty(object, "foo", 2.0);
- QState *s3 = new QState(machine.rootState());
+ QState *s3 = new QState(&machine);
- QState *s4 = new QState(machine.rootState());
+ QState *s4 = new QState(&machine);
QObject::connect(s4, SIGNAL(entered()), QCoreApplication::instance(), SLOT(quit()));
QAbstractTransition *at = s1->addTransition(new EventTransition(QEvent::User, s2));
@@ -3078,16 +3093,16 @@ void tst_QStateMachine::specificTargetValueOfAnimation()
QObject *object = new QObject(&machine);
object->setProperty("foo", 1.0);
- QState *s1 = new QState(machine.rootState());
+ QState *s1 = new QState(&machine);
- QState *s2 = new QState(machine.rootState());
+ QState *s2 = new QState(&machine);
s2->assignProperty(object, "foo", 2.0);
QPropertyAnimation *anim = new QPropertyAnimation(object, "foo");
anim->setEndValue(10.0);
s1->addTransition(new EventTransition(QEvent::User, s2))->addAnimation(anim);
- QState *s3 = new QState(machine.rootState());
+ QState *s3 = new QState(&machine);
QObject::connect(s3, SIGNAL(entered()), QCoreApplication::instance(), SLOT(quit()));
s2->addTransition(anim, SIGNAL(finished()), s3);
@@ -3101,6 +3116,8 @@ void tst_QStateMachine::specificTargetValueOfAnimation()
QVERIFY(machine.configuration().contains(s3));
QCOMPARE(object->property("foo").toDouble(), 2.0);
QCOMPARE(anim->endValue().toDouble(), 10.0);
+
+ delete anim;
}
void tst_QStateMachine::addDefaultAnimation()
@@ -3110,12 +3127,12 @@ void tst_QStateMachine::addDefaultAnimation()
QObject *object = new QObject();
object->setProperty("foo", 1.0);
- QState *s1 = new QState(machine.rootState());
+ QState *s1 = new QState(&machine);
- QState *s2 = new QState(machine.rootState());
+ QState *s2 = new QState(&machine);
s2->assignProperty(object, "foo", 2.0);
- QState *s3 = new QState(machine.rootState());
+ QState *s3 = new QState(&machine);
QObject::connect(s3, SIGNAL(entered()), QCoreApplication::instance(), SLOT(quit()));
s1->addTransition(new EventTransition(QEvent::User, s2));
@@ -3133,6 +3150,8 @@ void tst_QStateMachine::addDefaultAnimation()
QVERIFY(machine.configuration().contains(s3));
QCOMPARE(object->property("foo").toDouble(), 2.0);
+
+ delete object;
}
void tst_QStateMachine::addDefaultAnimationWithUnusedAnimation()
@@ -3145,12 +3164,12 @@ void tst_QStateMachine::addDefaultAnimationWithUnusedAnimation()
SlotCalledCounter counter;
- QState *s1 = new QState(machine.rootState());
+ QState *s1 = new QState(&machine);
- QState *s2 = new QState(machine.rootState());
+ QState *s2 = new QState(&machine);
s2->assignProperty(object, "foo", 2.0);
- QState *s3 = new QState(machine.rootState());
+ QState *s3 = new QState(&machine);
QObject::connect(s3, SIGNAL(entered()), QCoreApplication::instance(), SLOT(quit()));
s1->addTransition(new EventTransition(QEvent::User, s2));
@@ -3212,6 +3231,9 @@ void tst_QStateMachine::removeDefaultAnimation()
machine.removeDefaultAnimation(anim2);
QCOMPARE(machine.defaultAnimations().size(), 0);
+
+ delete anim;
+ delete anim2;
}
void tst_QStateMachine::overrideDefaultAnimationWithSpecific()
@@ -3223,13 +3245,13 @@ void tst_QStateMachine::overrideDefaultAnimationWithSpecific()
SlotCalledCounter counter;
- QState *s1 = new QState(machine.rootState());
+ QState *s1 = new QState(&machine);
machine.setInitialState(s1);
- QState *s2 = new QState(machine.rootState());
+ QState *s2 = new QState(&machine);
s2->assignProperty(object, "foo", 2.0);
- QState *s3 = new QState(machine.rootState());
+ QState *s3 = new QState(&machine);
QObject::connect(s3, SIGNAL(entered()), QCoreApplication::instance(), SLOT(quit()));
QAbstractTransition *at = s1->addTransition(new EventTransition(QEvent::User, s2));
@@ -3252,6 +3274,9 @@ void tst_QStateMachine::overrideDefaultAnimationWithSpecific()
QVERIFY(machine.configuration().contains(s3));
QCOMPARE(counter.counter, 2); // specific animation started and stopped
+
+ delete defaultAnimation;
+ delete moreSpecificAnimation;
}
/*
@@ -3262,12 +3287,12 @@ void tst_QStateMachine::addDefaultAnimationForSource()
QObject *object = new QObject();
object->setProperty("foo", 1.0);
- QState *s1 = new QState(machine.rootState());
+ QState *s1 = new QState(&machine);
- QState *s2 = new QState(machine.rootState());
+ QState *s2 = new QState(&machine);
s2->assignProperty(object, "foo", 2.0);
- QState *s3 = new QState(machine.rootState());
+ QState *s3 = new QState(&machine);
QObject::connect(s3, SIGNAL(entered()), QCoreApplication::instance(), SLOT(quit()));
s1->addTransition(new EventTransition(QEvent::User, s2));
@@ -3294,12 +3319,12 @@ void tst_QStateMachine::addDefaultAnimationForTarget()
QObject *object = new QObject();
object->setProperty("foo", 1.0);
- QState *s1 = new QState(machine.rootState());
+ QState *s1 = new QState(&machine);
- QState *s2 = new QState(machine.rootState());
+ QState *s2 = new QState(&machine);
s2->assignProperty(object, "foo", 2.0);
- QState *s3 = new QState(machine.rootState());
+ QState *s3 = new QState(&machine);
QObject::connect(s3, SIGNAL(entered()), QCoreApplication::instance(), SLOT(quit()));
s1->addTransition(new EventTransition(QEvent::User, s2));
@@ -3323,88 +3348,88 @@ void tst_QStateMachine::removeDefaultAnimationForSource()
{
QStateMachine machine;
- QCOMPARE(machine.defaultAnimationsForSourceState(machine.rootState()).size(), 0);
+ QCOMPARE(machine.defaultAnimationsForSourceState(&machine).size(), 0);
QPropertyAnimation *anim = new QPropertyAnimation(this, "foo");
- machine.addDefaultAnimationForSourceState(machine.rootState(), anim);
+ machine.addDefaultAnimationForSourceState(&machine, anim);
QCOMPARE(machine.defaultAnimations().size(), 0);
- QCOMPARE(machine.defaultAnimationsForTargetState(machine.rootState()).size(), 0);
- QCOMPARE(machine.defaultAnimationsForSourceState(machine.rootState()).size(), 1);
- QVERIFY(machine.defaultAnimationsForSourceState(machine.rootState()).contains(anim));
+ QCOMPARE(machine.defaultAnimationsForTargetState(&machine).size(), 0);
+ QCOMPARE(machine.defaultAnimationsForSourceState(&machine).size(), 1);
+ QVERIFY(machine.defaultAnimationsForSourceState(&machine).contains(anim));
- machine.removeDefaultAnimationForTargetState(machine.rootState(), anim);
+ machine.removeDefaultAnimationForTargetState(&machine, anim);
QCOMPARE(machine.defaultAnimations().size(), 0);
- QCOMPARE(machine.defaultAnimationsForTargetState(machine.rootState()).size(), 0);
- QCOMPARE(machine.defaultAnimationsForSourceState(machine.rootState()).size(), 1);
- QVERIFY(machine.defaultAnimationsForSourceState(machine.rootState()).contains(anim));
+ QCOMPARE(machine.defaultAnimationsForTargetState(&machine).size(), 0);
+ QCOMPARE(machine.defaultAnimationsForSourceState(&machine).size(), 1);
+ QVERIFY(machine.defaultAnimationsForSourceState(&machine).contains(anim));
- machine.removeDefaultAnimationForSourceState(machine.rootState(), anim);
+ machine.removeDefaultAnimationForSourceState(&machine, anim);
- QCOMPARE(machine.defaultAnimationsForSourceState(machine.rootState()).size(), 0);
+ QCOMPARE(machine.defaultAnimationsForSourceState(&machine).size(), 0);
- machine.addDefaultAnimationForSourceState(machine.rootState(), anim);
+ machine.addDefaultAnimationForSourceState(&machine, anim);
QPropertyAnimation *anim2 = new QPropertyAnimation(this, "foo");
- machine.addDefaultAnimationForSourceState(machine.rootState(), anim2);
+ machine.addDefaultAnimationForSourceState(&machine, anim2);
- QCOMPARE(machine.defaultAnimationsForSourceState(machine.rootState()).size(), 2);
- QVERIFY(machine.defaultAnimationsForSourceState(machine.rootState()).contains(anim));
- QVERIFY(machine.defaultAnimationsForSourceState(machine.rootState()).contains(anim2));
+ QCOMPARE(machine.defaultAnimationsForSourceState(&machine).size(), 2);
+ QVERIFY(machine.defaultAnimationsForSourceState(&machine).contains(anim));
+ QVERIFY(machine.defaultAnimationsForSourceState(&machine).contains(anim2));
- machine.removeDefaultAnimationForSourceState(machine.rootState(), anim);
+ machine.removeDefaultAnimationForSourceState(&machine, anim);
- QCOMPARE(machine.defaultAnimationsForSourceState(machine.rootState()).size(), 1);
- QVERIFY(machine.defaultAnimationsForSourceState(machine.rootState()).contains(anim2));
+ QCOMPARE(machine.defaultAnimationsForSourceState(&machine).size(), 1);
+ QVERIFY(machine.defaultAnimationsForSourceState(&machine).contains(anim2));
- machine.removeDefaultAnimationForSourceState(machine.rootState(), anim2);
- QCOMPARE(machine.defaultAnimationsForSourceState(machine.rootState()).size(), 0);
+ machine.removeDefaultAnimationForSourceState(&machine, anim2);
+ QCOMPARE(machine.defaultAnimationsForSourceState(&machine).size(), 0);
}
void tst_QStateMachine::removeDefaultAnimationForTarget()
{
QStateMachine machine;
- QCOMPARE(machine.defaultAnimationsForTargetState(machine.rootState()).size(), 0);
+ QCOMPARE(machine.defaultAnimationsForTargetState(&machine).size(), 0);
QPropertyAnimation *anim = new QPropertyAnimation(this, "foo");
- machine.addDefaultAnimationForTargetState(machine.rootState(), anim);
+ machine.addDefaultAnimationForTargetState(&machine, anim);
QCOMPARE(machine.defaultAnimations().size(), 0);
- QCOMPARE(machine.defaultAnimationsForSourceState(machine.rootState()).size(), 0);
- QCOMPARE(machine.defaultAnimationsForTargetState(machine.rootState()).size(), 1);
- QVERIFY(machine.defaultAnimationsForTargetState(machine.rootState()).contains(anim));
+ QCOMPARE(machine.defaultAnimationsForSourceState(&machine).size(), 0);
+ QCOMPARE(machine.defaultAnimationsForTargetState(&machine).size(), 1);
+ QVERIFY(machine.defaultAnimationsForTargetState(&machine).contains(anim));
- machine.removeDefaultAnimationForSourceState(machine.rootState(), anim);
+ machine.removeDefaultAnimationForSourceState(&machine, anim);
QCOMPARE(machine.defaultAnimations().size(), 0);
- QCOMPARE(machine.defaultAnimationsForSourceState(machine.rootState()).size(), 0);
- QCOMPARE(machine.defaultAnimationsForTargetState(machine.rootState()).size(), 1);
- QVERIFY(machine.defaultAnimationsForTargetState(machine.rootState()).contains(anim));
+ QCOMPARE(machine.defaultAnimationsForSourceState(&machine).size(), 0);
+ QCOMPARE(machine.defaultAnimationsForTargetState(&machine).size(), 1);
+ QVERIFY(machine.defaultAnimationsForTargetState(&machine).contains(anim));
- machine.removeDefaultAnimationForTargetState(machine.rootState(), anim);
+ machine.removeDefaultAnimationForTargetState(&machine, anim);
- QCOMPARE(machine.defaultAnimationsForTargetState(machine.rootState()).size(), 0);
+ QCOMPARE(machine.defaultAnimationsForTargetState(&machine).size(), 0);
- machine.addDefaultAnimationForTargetState(machine.rootState(), anim);
+ machine.addDefaultAnimationForTargetState(&machine, anim);
QPropertyAnimation *anim2 = new QPropertyAnimation(this, "foo");
- machine.addDefaultAnimationForTargetState(machine.rootState(), anim2);
+ machine.addDefaultAnimationForTargetState(&machine, anim2);
- QCOMPARE(machine.defaultAnimationsForTargetState(machine.rootState()).size(), 2);
- QVERIFY(machine.defaultAnimationsForTargetState(machine.rootState()).contains(anim));
- QVERIFY(machine.defaultAnimationsForTargetState(machine.rootState()).contains(anim2));
+ QCOMPARE(machine.defaultAnimationsForTargetState(&machine).size(), 2);
+ QVERIFY(machine.defaultAnimationsForTargetState(&machine).contains(anim));
+ QVERIFY(machine.defaultAnimationsForTargetState(&machine).contains(anim2));
- machine.removeDefaultAnimationForTargetState(machine.rootState(), anim);
+ machine.removeDefaultAnimationForTargetState(&machine, anim);
- QCOMPARE(machine.defaultAnimationsForTargetState(machine.rootState()).size(), 1);
- QVERIFY(machine.defaultAnimationsForTargetState(machine.rootState()).contains(anim2));
+ QCOMPARE(machine.defaultAnimationsForTargetState(&machine).size(), 1);
+ QVERIFY(machine.defaultAnimationsForTargetState(&machine).contains(anim2));
- machine.removeDefaultAnimationForTargetState(machine.rootState(), anim2);
- QCOMPARE(machine.defaultAnimationsForTargetState(machine.rootState()).size(), 0);
+ machine.removeDefaultAnimationForTargetState(&machine, anim2);
+ QCOMPARE(machine.defaultAnimationsForTargetState(&machine).size(), 0);
}
void tst_QStateMachine::overrideDefaultAnimationWithSource()
@@ -3416,13 +3441,13 @@ void tst_QStateMachine::overrideDefaultAnimationWithSource()
SlotCalledCounter counter;
- QState *s1 = new QState(machine.rootState());
+ QState *s1 = new QState(&machine);
machine.setInitialState(s1);
- QState *s2 = new QState(machine.rootState());
+ QState *s2 = new QState(&machine);
s2->assignProperty(object, "foo", 2.0);
- QState *s3 = new QState(machine.rootState());
+ QState *s3 = new QState(&machine);
QObject::connect(s3, SIGNAL(entered()), QCoreApplication::instance(), SLOT(quit()));
s1->addTransition(new EventTransition(QEvent::User, s2));
@@ -3456,13 +3481,13 @@ void tst_QStateMachine::overrideDefaultAnimationWithTarget()
SlotCalledCounter counter;
- QState *s1 = new QState(machine.rootState());
+ QState *s1 = new QState(&machine);
machine.setInitialState(s1);
- QState *s2 = new QState(machine.rootState());
+ QState *s2 = new QState(&machine);
s2->assignProperty(object, "foo", 2.0);
- QState *s3 = new QState(machine.rootState());
+ QState *s3 = new QState(&machine);
QObject::connect(s3, SIGNAL(entered()), QCoreApplication::instance(), SLOT(quit()));
s1->addTransition(new EventTransition(QEvent::User, s2));
@@ -3497,13 +3522,13 @@ void tst_QStateMachine::overrideDefaultSourceAnimationWithSpecific()
SlotCalledCounter counter;
- QState *s1 = new QState(machine.rootState());
+ QState *s1 = new QState(&machine);
machine.setInitialState(s1);
- QState *s2 = new QState(machine.rootState());
+ QState *s2 = new QState(&machine);
s2->assignProperty(object, "foo", 2.0);
- QState *s3 = new QState(machine.rootState());
+ QState *s3 = new QState(&machine);
QObject::connect(s3, SIGNAL(entered()), QCoreApplication::instance(), SLOT(quit()));
QAbstractTransition *at = s1->addTransition(new EventTransition(QEvent::User, s2));
@@ -3537,13 +3562,13 @@ void tst_QStateMachine::overrideDefaultTargetAnimationWithSpecific()
SlotCalledCounter counter;
- QState *s1 = new QState(machine.rootState());
+ QState *s1 = new QState(&machine);
machine.setInitialState(s1);
- QState *s2 = new QState(machine.rootState());
+ QState *s2 = new QState(&machine);
s2->assignProperty(object, "foo", 2.0);
- QState *s3 = new QState(machine.rootState());
+ QState *s3 = new QState(&machine);
QObject::connect(s3, SIGNAL(entered()), QCoreApplication::instance(), SLOT(quit()));
QAbstractTransition *at = s1->addTransition(new EventTransition(QEvent::User, s2));
@@ -3577,13 +3602,13 @@ void tst_QStateMachine::overrideDefaultTargetAnimationWithSource()
SlotCalledCounter counter;
- QState *s1 = new QState(machine.rootState());
+ QState *s1 = new QState(&machine);
machine.setInitialState(s1);
- QState *s2 = new QState(machine.rootState());
+ QState *s2 = new QState(&machine);
s2->assignProperty(object, "foo", 2.0);
- QState *s3 = new QState(machine.rootState());
+ QState *s3 = new QState(&machine);
QObject::connect(s3, SIGNAL(entered()), QCoreApplication::instance(), SLOT(quit()));
s1->addTransition(new EventTransition(QEvent::User, s2));
@@ -3619,10 +3644,10 @@ void tst_QStateMachine::parallelStateAssignmentsDone()
propertyHolder->setProperty("bar", 456);
propertyHolder->setProperty("zoot", 789);
- QState *s1 = new QState(machine.rootState());
+ QState *s1 = new QState(&machine);
machine.setInitialState(s1);
- QState *parallelState = new QState(QState::ParallelStates, machine.rootState());
+ QState *parallelState = new QState(QState::ParallelStates, &machine);
parallelState->assignProperty(propertyHolder, "foo", 321);
QState *s2 = new QState(parallelState);
@@ -3651,10 +3676,10 @@ void tst_QStateMachine::transitionsFromParallelStateWithNoChildren()
{
QStateMachine machine;
- QState *parallelState = new QState(QState::ParallelStates, machine.rootState());
+ QState *parallelState = new QState(QState::ParallelStates, &machine);
machine.setInitialState(parallelState);
- QState *s1 = new QState(machine.rootState());
+ QState *s1 = new QState(&machine);
parallelState->addTransition(new EventTransition(QEvent::User, s1));
machine.start();
@@ -3675,7 +3700,7 @@ void tst_QStateMachine::parallelStateTransition()
{
QStateMachine machine;
- QState *parallelState = new QState(QState::ParallelStates, machine.rootState());
+ QState *parallelState = new QState(QState::ParallelStates, &machine);
machine.setInitialState(parallelState);
QState *s1 = new QState(parallelState);
@@ -3724,10 +3749,10 @@ void tst_QStateMachine::nestedRestoreProperties()
propertyHolder->setProperty("foo", 1);
propertyHolder->setProperty("bar", 2);
- QState *s1 = new QState(machine.rootState());
+ QState *s1 = new QState(&machine);
machine.setInitialState(s1);
- QState *s2 = new QState(machine.rootState());
+ QState *s2 = new QState(&machine);
s2->assignProperty(propertyHolder, "foo", 3);
QState *s21 = new QState(s2);
@@ -3776,10 +3801,10 @@ void tst_QStateMachine::nestedRestoreProperties2()
propertyHolder->setProperty("foo", 1);
propertyHolder->setProperty("bar", 2);
- QState *s1 = new QState(machine.rootState());
+ QState *s1 = new QState(&machine);
machine.setInitialState(s1);
- QState *s2 = new QState(machine.rootState());
+ QState *s2 = new QState(&machine);
s2->assignProperty(propertyHolder, "foo", 3);
QState *s21 = new QState(s2);
@@ -3831,6 +3856,86 @@ void tst_QStateMachine::nestedRestoreProperties2()
}
+void tst_QStateMachine::nestedStateMachines()
+{
+ QStateMachine machine;
+ QState *group = new QState(&machine);
+ group->setChildMode(QState::ParallelStates);
+ QStateMachine *subMachines[3];
+ for (int i = 0; i < 3; ++i) {
+ QState *subGroup = new QState(group);
+ QStateMachine *subMachine = new QStateMachine(subGroup);
+ {
+ QState *initial = new QState(subMachine);
+ QFinalState *done = new QFinalState(subMachine);
+ initial->addTransition(new EventTransition(QEvent::User, done));
+ subMachine->setInitialState(initial);
+ }
+ QFinalState *subMachineDone = new QFinalState(subGroup);
+ subMachine->addTransition(subMachine, SIGNAL(finished()), subMachineDone);
+ subGroup->setInitialState(subMachine);
+ subMachines[i] = subMachine;
+ }
+ QFinalState *final = new QFinalState(&machine);
+ group->addTransition(group, SIGNAL(finished()), final);
+ machine.setInitialState(group);
+
+ QSignalSpy startedSpy(&machine, SIGNAL(started()));
+ QSignalSpy finishedSpy(&machine, SIGNAL(finished()));
+ machine.start();
+ QTRY_COMPARE(startedSpy.count(), 1);
+ QTRY_COMPARE(machine.configuration().count(), 1+2*3);
+ QVERIFY(machine.configuration().contains(group));
+ for (int i = 0; i < 3; ++i)
+ QVERIFY(machine.configuration().contains(subMachines[i]));
+
+ QCoreApplication::processEvents(); // starts the submachines
+
+ for (int i = 0; i < 3; ++i)
+ subMachines[i]->postEvent(new QEvent(QEvent::User));
+
+ QTRY_COMPARE(finishedSpy.count(), 1);
+}
+
+void tst_QStateMachine::goToState()
+{
+ QStateMachine machine;
+ QState *s1 = new QState(&machine);
+ QState *s2 = new QState(&machine);
+ machine.setInitialState(s1);
+ QSignalSpy startedSpy(&machine, SIGNAL(started()));
+ machine.start();
+ QTRY_COMPARE(startedSpy.count(), 1);
+
+ QStateMachinePrivate::get(&machine)->goToState(s2);
+ QCoreApplication::processEvents();
+ QCOMPARE(machine.configuration().size(), 1);
+ QVERIFY(machine.configuration().contains(s2));
+
+ QStateMachinePrivate::get(&machine)->goToState(s2);
+ QCoreApplication::processEvents();
+ QCOMPARE(machine.configuration().size(), 1);
+ QVERIFY(machine.configuration().contains(s2));
+
+ QStateMachinePrivate::get(&machine)->goToState(s1);
+ QStateMachinePrivate::get(&machine)->goToState(s2);
+ QStateMachinePrivate::get(&machine)->goToState(s1);
+ QCOMPARE(machine.configuration().size(), 1);
+ QVERIFY(machine.configuration().contains(s2));
+
+ QCoreApplication::processEvents();
+ QCOMPARE(machine.configuration().size(), 1);
+ QVERIFY(machine.configuration().contains(s1));
+
+ // go to state in group
+ QState *s2_1 = new QState(s2);
+ s2->setInitialState(s2_1);
+ QStateMachinePrivate::get(&machine)->goToState(s2_1);
+ QCoreApplication::processEvents();
+ QCOMPARE(machine.configuration().size(), 2);
+ QVERIFY(machine.configuration().contains(s2));
+ QVERIFY(machine.configuration().contains(s2_1));
+}
QTEST_MAIN(tst_QStateMachine)
#include "tst_qstatemachine.moc"
diff --git a/tests/auto/qstring/tst_qstring.cpp b/tests/auto/qstring/tst_qstring.cpp
index 0949e05..c77875a 100644
--- a/tests/auto/qstring/tst_qstring.cpp
+++ b/tests/auto/qstring/tst_qstring.cpp
@@ -3997,15 +3997,15 @@ void tst_QString::localeAwareCompare()
# if defined(Q_OS_WINCE)
DWORD oldLcid = GetUserDefaultLCID();
SetUserDefaultLCID(locale);
- if (locale != GetUserDefaultLCID()) {
+
+ QCOMPARE(locale, GetUserDefaultLCID());
# else
DWORD oldLcid = GetThreadLocale();
SetThreadLocale(locale);
- if (locale != GetThreadLocale()) {
+ QCOMPARE(locale, GetThreadLocale());
# endif
- QSKIP("SetThreadLocale() not supported on Win9x", SkipSingle);
- }
+
#elif defined (Q_WS_MAC)
QSKIP("Setting the locale is not supported on OS X (you can set the C locale, but that won't affect CFStringCompare which is used to compare strings)", SkipAll);
#else
diff --git a/tests/auto/qstringbuilder/tst_qstringbuilder.cpp b/tests/auto/qstringbuilder/tst_qstringbuilder.cpp
index fdbaf21..72889bc 100644
--- a/tests/auto/qstringbuilder/tst_qstringbuilder.cpp
+++ b/tests/auto/qstringbuilder/tst_qstringbuilder.cpp
@@ -85,28 +85,18 @@
#undef QT_NO_CAST_TO_ASCII
#endif
-
#include <QtTest/QtTest>
//TESTED_CLASS=QStringBuilder
//TESTED_FILES=qstringbuilder.cpp
-#include <qtest.h>
-
#define LITERAL "some literal"
class tst_QStringBuilder : public QObject
{
Q_OBJECT
-public:
- tst_QStringBuilder() {}
- ~tst_QStringBuilder() {}
-
-public slots:
- void init() {}
- void cleanup() {}
-
+private slots:
void scenario();
};
@@ -119,6 +109,7 @@ void tst_QStringBuilder::scenario()
QLatin1Char achar('c');
QString r2(QLatin1String(LITERAL LITERAL));
QString r;
+ QByteArray ba(LITERAL);
r = l1literal P l1literal;
QCOMPARE(r, r2);
@@ -139,6 +130,10 @@ void tst_QStringBuilder::scenario()
QCOMPARE(r, r2);
r = LITERAL P string;
QCOMPARE(r, r2);
+ r = ba P string;
+ QCOMPARE(r, r2);
+ r = string P ba;
+ QCOMPARE(r, r2);
#endif
}
diff --git a/tests/auto/qstyle/tst_qstyle.cpp b/tests/auto/qstyle/tst_qstyle.cpp
index f5e94e3..5076af6 100644
--- a/tests/auto/qstyle/tst_qstyle.cpp
+++ b/tests/auto/qstyle/tst_qstyle.cpp
@@ -95,7 +95,7 @@
#include <windows.h>
static bool qt_wince_is_smartphone() {
- TCHAR tszPlatform[64];
+ wchar_t tszPlatform[64];
if (SystemParametersInfo(SPI_GETPLATFORMTYPE,
sizeof(tszPlatform)/sizeof(*tszPlatform),tszPlatform,0))
if (0 == _tcsicmp(reinterpret_cast<const wchar_t *> (QString::fromLatin1("Smartphone").utf16()), tszPlatform))
diff --git a/tests/auto/qstylesheetstyle/qstylesheetstyle.pro b/tests/auto/qstylesheetstyle/qstylesheetstyle.pro
index 7babe25..eada969 100644
--- a/tests/auto/qstylesheetstyle/qstylesheetstyle.pro
+++ b/tests/auto/qstylesheetstyle/qstylesheetstyle.pro
@@ -3,3 +3,4 @@ load(qttest_p4)
# Input
SOURCES += tst_qstylesheetstyle.cpp
RESOURCES += resources.qrc
+requires(contains(QT_CONFIG,private_tests))
diff --git a/tests/auto/qsvgrenderer/tst_qsvgrenderer.cpp b/tests/auto/qsvgrenderer/tst_qsvgrenderer.cpp
index f11aff9..2bbe897 100644
--- a/tests/auto/qsvgrenderer/tst_qsvgrenderer.cpp
+++ b/tests/auto/qsvgrenderer/tst_qsvgrenderer.cpp
@@ -80,6 +80,9 @@ private slots:
void opacity();
void paths();
void displayMode();
+ void strokeInherit();
+ void testFillInheritance();
+ void testStopOffsetOpacity();
#ifndef QT_NO_COMPRESS
void testGzLoading();
@@ -624,9 +627,11 @@ void tst_QSvgRenderer::testGzLoading()
QVERIFY(autoDetectGzData.isValid());
}
+#ifdef QT_BUILD_INTERNAL
QT_BEGIN_NAMESPACE
QByteArray qt_inflateGZipDataFrom(QIODevice *device);
QT_END_NAMESPACE
+#endif
void tst_QSvgRenderer::testGzHelper_data()
{
@@ -659,6 +664,7 @@ void tst_QSvgRenderer::testGzHelper_data()
void tst_QSvgRenderer::testGzHelper()
{
+#ifdef QT_BUILD_INTERNAL
QFETCH(QByteArray, in);
QFETCH(QByteArray, out);
@@ -667,6 +673,7 @@ void tst_QSvgRenderer::testGzHelper()
QVERIFY(buffer.isReadable());
QByteArray result = qt_inflateGZipDataFrom(&buffer);
QCOMPARE(result, out);
+#endif
}
#endif
@@ -925,5 +932,278 @@ void tst_QSvgRenderer::displayMode()
}
}
+void tst_QSvgRenderer::strokeInherit()
+{
+ static const char *svgs[] = {
+ // Reference.
+ "<svg viewBox=\"0 0 200 30\">"
+ " <g stroke=\"blue\" stroke-width=\"20\" stroke-linecap=\"butt\""
+ " stroke-linejoin=\"miter\" stroke-miterlimit=\"1\" stroke-dasharray=\"20,10\""
+ " stroke-dashoffset=\"10\" stroke-opacity=\"0.5\">"
+ " <polyline fill=\"none\" points=\"10 10 100 10 100 20 190 20\"/>"
+ " </g>"
+ " <g stroke=\"green\" stroke-width=\"0\" stroke-dasharray=\"3,3,1\" stroke-dashoffset=\"4.5\">"
+ " <polyline fill=\"none\" points=\"10 25 80 25\"/>"
+ " </g>"
+ "</svg>",
+ // stroke
+ "<svg viewBox=\"0 0 200 30\">"
+ " <g stroke=\"none\" stroke-width=\"20\" stroke-linecap=\"butt\""
+ " stroke-linejoin=\"miter\" stroke-miterlimit=\"1\" stroke-dasharray=\"20,10\""
+ " stroke-dashoffset=\"10\" stroke-opacity=\"0.5\">"
+ " <polyline fill=\"none\" points=\"10 10 100 10 100 20 190 20\" stroke=\"blue\"/>"
+ " </g>"
+ " <g stroke=\"yellow\" stroke-width=\"0\" stroke-dasharray=\"3,3,1\" stroke-dashoffset=\"4.5\">"
+ " <polyline fill=\"none\" points=\"10 25 80 25\" stroke=\"green\"/>"
+ " </g>"
+ "</svg>",
+ // stroke-width
+ "<svg viewBox=\"0 0 200 30\">"
+ " <g stroke=\"blue\" stroke-width=\"0\" stroke-linecap=\"butt\""
+ " stroke-linejoin=\"miter\" stroke-miterlimit=\"1\" stroke-dasharray=\"20,10\""
+ " stroke-dashoffset=\"10\" stroke-opacity=\"0.5\">"
+ " <polyline fill=\"none\" points=\"10 10 100 10 100 20 190 20\" stroke-width=\"20\"/>"
+ " </g>"
+ " <g stroke=\"green\" stroke-width=\"10\" stroke-dasharray=\"3,3,1\" stroke-dashoffset=\"4.5\">"
+ " <polyline fill=\"none\" points=\"10 25 80 25\" stroke-width=\"0\"/>"
+ " </g>"
+ "</svg>",
+ // stroke-linecap
+ "<svg viewBox=\"0 0 200 30\">"
+ " <g stroke=\"blue\" stroke-width=\"20\" stroke-linecap=\"round\""
+ " stroke-linejoin=\"miter\" stroke-miterlimit=\"1\" stroke-dasharray=\"20,10\""
+ " stroke-dashoffset=\"10\" stroke-opacity=\"0.5\">"
+ " <polyline fill=\"none\" points=\"10 10 100 10 100 20 190 20\" stroke-linecap=\"butt\"/>"
+ " </g>"
+ " <g stroke=\"green\" stroke-width=\"0\" stroke-dasharray=\"3,3,1\" stroke-dashoffset=\"4.5\">"
+ " <polyline fill=\"none\" points=\"10 25 80 25\"/>"
+ " </g>"
+ "</svg>",
+ // stroke-linejoin
+ "<svg viewBox=\"0 0 200 30\">"
+ " <g stroke=\"blue\" stroke-width=\"20\" stroke-linecap=\"butt\""
+ " stroke-linejoin=\"round\" stroke-miterlimit=\"1\" stroke-dasharray=\"20,10\""
+ " stroke-dashoffset=\"10\" stroke-opacity=\"0.5\">"
+ " <polyline fill=\"none\" points=\"10 10 100 10 100 20 190 20\" stroke-linejoin=\"miter\"/>"
+ " </g>"
+ " <g stroke=\"green\" stroke-width=\"0\" stroke-dasharray=\"3,3,1\" stroke-dashoffset=\"4.5\">"
+ " <polyline fill=\"none\" points=\"10 25 80 25\"/>"
+ " </g>"
+ "</svg>",
+ // stroke-miterlimit
+ "<svg viewBox=\"0 0 200 30\">"
+ " <g stroke=\"blue\" stroke-width=\"20\" stroke-linecap=\"butt\""
+ " stroke-linejoin=\"miter\" stroke-miterlimit=\"2\" stroke-dasharray=\"20,10\""
+ " stroke-dashoffset=\"10\" stroke-opacity=\"0.5\">"
+ " <polyline fill=\"none\" points=\"10 10 100 10 100 20 190 20\" stroke-miterlimit=\"1\"/>"
+ " </g>"
+ " <g stroke=\"green\" stroke-width=\"0\" stroke-dasharray=\"3,3,1\" stroke-dashoffset=\"4.5\">"
+ " <polyline fill=\"none\" points=\"10 25 80 25\"/>"
+ " </g>"
+ "</svg>",
+ // stroke-dasharray
+ "<svg viewBox=\"0 0 200 30\">"
+ " <g stroke=\"blue\" stroke-width=\"20\" stroke-linecap=\"butt\""
+ " stroke-linejoin=\"miter\" stroke-miterlimit=\"1\" stroke-dasharray=\"1,1,1,1,1,1,3,1,3,1,3,1,1,1,1,1,1,3\""
+ " stroke-dashoffset=\"10\" stroke-opacity=\"0.5\">"
+ " <polyline fill=\"none\" points=\"10 10 100 10 100 20 190 20\" stroke-dasharray=\"20,10\"/>"
+ " </g>"
+ " <g stroke=\"green\" stroke-width=\"0\" stroke-dasharray=\"none\" stroke-dashoffset=\"4.5\">"
+ " <polyline fill=\"none\" points=\"10 25 80 25\" stroke-dasharray=\"3,3,1\"/>"
+ " </g>"
+ "</svg>",
+ // stroke-dashoffset
+ "<svg viewBox=\"0 0 200 30\">"
+ " <g stroke=\"blue\" stroke-width=\"20\" stroke-linecap=\"butt\""
+ " stroke-linejoin=\"miter\" stroke-miterlimit=\"1\" stroke-dasharray=\"20,10\""
+ " stroke-dashoffset=\"0\" stroke-opacity=\"0.5\">"
+ " <polyline fill=\"none\" points=\"10 10 100 10 100 20 190 20\" stroke-dashoffset=\"10\"/>"
+ " </g>"
+ " <g stroke=\"green\" stroke-width=\"0\" stroke-dasharray=\"3,3,1\" stroke-dashoffset=\"0\">"
+ " <polyline fill=\"none\" points=\"10 25 80 25\" stroke-dashoffset=\"4.5\"/>"
+ " </g>"
+ "</svg>",
+ // stroke-opacity
+ "<svg viewBox=\"0 0 200 30\">"
+ " <g stroke=\"blue\" stroke-width=\"20\" stroke-linecap=\"butt\""
+ " stroke-linejoin=\"miter\" stroke-miterlimit=\"1\" stroke-dasharray=\"20,10\""
+ " stroke-dashoffset=\"10\" stroke-opacity=\"0\">"
+ " <polyline fill=\"none\" points=\"10 10 100 10 100 20 190 20\" stroke-opacity=\"0.5\"/>"
+ " </g>"
+ " <g stroke=\"green\" stroke-width=\"0\" stroke-dasharray=\"3,3,1\" stroke-dashoffset=\"4.5\">"
+ " <polyline fill=\"none\" points=\"10 25 80 25\"/>"
+ " </g>"
+ "</svg>"
+ };
+
+ const int COUNT = sizeof(svgs) / sizeof(svgs[0]);
+ QImage images[COUNT];
+ QPainter p;
+
+ for (int i = 0; i < COUNT; ++i) {
+ QByteArray data(svgs[i]);
+ QSvgRenderer renderer(data);
+ QVERIFY(renderer.isValid());
+ images[i] = QImage(200, 30, QImage::Format_ARGB32_Premultiplied);
+ images[i].fill(-1);
+ p.begin(&images[i]);
+ renderer.render(&p);
+ p.end();
+ if (i != 0) {
+ QCOMPARE(images[0], images[i]);
+ }
+ }
+}
+
+void tst_QSvgRenderer::testFillInheritance()
+{
+ static const char *svgs[] = {
+ //reference
+ "<svg viewBox = \"0 0 200 200\">"
+ " <polygon points=\"20,20 50,120 100,10 40,80 50,80\" fill= \"red\" stroke = \"blue\" fill-opacity = \"0.5\" fill-rule = \"evenodd\"/>"
+ "</svg>",
+ "<svg viewBox = \"0 0 200 200\">"
+ " <polygon points=\"20,20 50,120 100,10 40,80 50,80\" fill= \"red\" stroke = \"blue\" fill-opacity = \"0.5\" fill-rule = \"evenodd\"/>"
+ " <rect x = \"40\" y = \"40\" width = \"70\" height =\"20\" fill = \"green\" fill-opacity = \"0\"/>"
+ "</svg>",
+ "<svg viewBox = \"0 0 200 200\">"
+ " <g fill = \"red\" fill-opacity = \"0.5\" fill-rule = \"evenodd\">"
+ " <polygon points=\"20,20 50,120 100,10 40,80 50,80\" stroke = \"blue\"/>"
+ " </g>"
+ " <rect x = \"40\" y = \"40\" width = \"70\" height =\"20\" fill = \"green\" fill-opacity = \"0\"/>"
+ "</svg>",
+ "<svg viewBox = \"0 0 200 200\">"
+ " <g fill = \"green\" fill-rule = \"nonzero\">"
+ " <polygon points=\"20,20 50,120 100,10 40,80 50,80\" stroke = \"blue\" fill = \"red\" fill-opacity = \"0.5\" fill-rule = \"evenodd\"/>"
+ " </g>"
+ " <g fill-opacity = \"0.8\" fill = \"red\">"
+ " <rect x = \"40\" y = \"40\" width = \"70\" height =\"20\" fill = \"green\" fill-opacity = \"0\"/>"
+ " </g>"
+ "</svg>",
+ "<svg viewBox = \"0 0 200 200\">"
+ " <g fill = \"red\" >"
+ " <g fill-opacity = \"0.5\">"
+ " <g fill-rule = \"evenodd\">"
+ " <g>"
+ " <polygon points=\"20,20 50,120 100,10 40,80 50,80\" stroke = \"blue\"/>"
+ " </g>"
+ " </g>"
+ " </g>"
+ " </g>"
+ " <g fill-opacity = \"0.8\" >"
+ " <rect x = \"40\" y = \"40\" width = \"70\" height =\"20\" fill = \"none\"/>"
+ " </g>"
+ "</svg>",
+ "<svg viewBox = \"0 0 200 200\">"
+ " <g fill = \"none\" fill-opacity = \"0\">"
+ " <polygon points=\"20,20 50,120 100,10 40,80 50,80\" stroke = \"blue\" fill = \"red\" fill-opacity = \"0.5\" fill-rule = \"evenodd\"/>"
+ " </g>"
+ " <g fill-opacity = \"0\" >"
+ " <rect x = \"40\" y = \"40\" width = \"70\" height =\"20\" fill = \"green\"/>"
+ " </g>"
+ "</svg>"
+ };
+
+ const int COUNT = sizeof(svgs) / sizeof(svgs[0]);
+ QImage images[COUNT];
+ QPainter p;
+
+ for (int i = 0; i < COUNT; ++i) {
+ QByteArray data(svgs[i]);
+ QSvgRenderer renderer(data);
+ QVERIFY(renderer.isValid());
+ images[i] = QImage(200, 200, QImage::Format_ARGB32_Premultiplied);
+ images[i].fill(-1);
+ p.begin(&images[i]);
+ renderer.render(&p);
+ p.end();
+ if (i != 0) {
+ QCOMPARE(images[0], images[i]);
+ }
+ }
+}
+void tst_QSvgRenderer::testStopOffsetOpacity()
+{
+ static const char *svgs[] = {
+ //reference
+ "<svg viewBox=\"0 0 64 64\">"
+ "<radialGradient id=\"MyGradient1\" gradientUnits=\"userSpaceOnUse\" cx=\"50\" cy=\"50\" r=\"30\" fx=\"20\" fy=\"20\">"
+ "<stop offset=\"0.0\" style=\"stop-color:red\" stop-opacity=\"0.3\"/>"
+ "<stop offset=\"0.5\" style=\"stop-color:green\" stop-opacity=\"1\"/>"
+ "<stop offset=\"1\" style=\"stop-color:yellow\" stop-opacity=\"1\"/>"
+ "</radialGradient>"
+ "<radialGradient id=\"MyGradient2\" gradientUnits=\"userSpaceOnUse\" cx=\"50\" cy=\"70\" r=\"70\" fx=\"20\" fy=\"20\">"
+ "<stop offset=\"0.0\" style=\"stop-color:blue\" stop-opacity=\"0.3\"/>"
+ "<stop offset=\"0.5\" style=\"stop-color:violet\" stop-opacity=\"1\"/>"
+ "<stop offset=\"1\" style=\"stop-color:orange\" stop-opacity=\"1\"/>"
+ "</radialGradient>"
+ "<rect x=\"5\" y=\"5\" width=\"55\" height=\"55\" fill=\"url(#MyGradient1)\" stroke=\"black\" />"
+ "<rect x=\"20\" y=\"20\" width=\"35\" height=\"35\" fill=\"url(#MyGradient2)\"/>"
+ "</svg>",
+ //Stop Offset
+ "<svg viewBox=\"0 0 64 64\">"
+ "<radialGradient id=\"MyGradient1\" gradientUnits=\"userSpaceOnUse\" cx=\"50\" cy=\"50\" r=\"30\" fx=\"20\" fy=\"20\">"
+ "<stop offset=\"abc\" style=\"stop-color:red\" stop-opacity=\"0.3\"/>"
+ "<stop offset=\"0.5\" style=\"stop-color:green\" stop-opacity=\"1\"/>"
+ "<stop offset=\"1\" style=\"stop-color:yellow\" stop-opacity=\"1\"/>"
+ "</radialGradient>"
+ "<radialGradient id=\"MyGradient2\" gradientUnits=\"userSpaceOnUse\" cx=\"50\" cy=\"70\" r=\"70\" fx=\"20\" fy=\"20\">"
+ "<stop offset=\"-3.bc\" style=\"stop-color:blue\" stop-opacity=\"0.3\"/>"
+ "<stop offset=\"0.5\" style=\"stop-color:violet\" stop-opacity=\"1\"/>"
+ "<stop offset=\"1\" style=\"stop-color:orange\" stop-opacity=\"1\"/>"
+ "</radialGradient>"
+ "<rect x=\"5\" y=\"5\" width=\"55\" height=\"55\" fill=\"url(#MyGradient1)\" stroke=\"black\" />"
+ "<rect x=\"20\" y=\"20\" width=\"35\" height=\"35\" fill=\"url(#MyGradient2)\"/>"
+ "</svg>",
+ //Stop Opacity
+ "<svg viewBox=\"0 0 64 64\">"
+ "<radialGradient id=\"MyGradient1\" gradientUnits=\"userSpaceOnUse\" cx=\"50\" cy=\"50\" r=\"30\" fx=\"20\" fy=\"20\">"
+ "<stop offset=\"0.0\" style=\"stop-color:red\" stop-opacity=\"0.3\"/>"
+ "<stop offset=\"0.5\" style=\"stop-color:green\" stop-opacity=\"x.45\"/>"
+ "<stop offset=\"1\" style=\"stop-color:yellow\" stop-opacity=\"-3.abc\"/>"
+ "</radialGradient>"
+ "<radialGradient id=\"MyGradient2\" gradientUnits=\"userSpaceOnUse\" cx=\"50\" cy=\"70\" r=\"70\" fx=\"20\" fy=\"20\">"
+ "<stop offset=\"0.0\" style=\"stop-color:blue\" stop-opacity=\"0.3\"/>"
+ "<stop offset=\"0.5\" style=\"stop-color:violet\" stop-opacity=\"-0.xy\"/>"
+ "<stop offset=\"1\" style=\"stop-color:orange\" stop-opacity=\"z.5\"/>"
+ "</radialGradient>"
+ "<rect x=\"5\" y=\"5\" width=\"55\" height=\"55\" fill=\"url(#MyGradient1)\" stroke=\"black\" />"
+ "<rect x=\"20\" y=\"20\" width=\"35\" height=\"35\" fill=\"url(#MyGradient2)\"/>"
+ "</svg>",
+ //Stop offset and Stop opacity
+ "<svg viewBox=\"0 0 64 64\">"
+ "<radialGradient id=\"MyGradient1\" gradientUnits=\"userSpaceOnUse\" cx=\"50\" cy=\"50\" r=\"30\" fx=\"20\" fy=\"20\">"
+ "<stop offset=\"abc\" style=\"stop-color:red\" stop-opacity=\"0.3\"/>"
+ "<stop offset=\"0.5\" style=\"stop-color:green\" stop-opacity=\"x.45\"/>"
+ "<stop offset=\"1\" style=\"stop-color:yellow\" stop-opacity=\"-3.abc\"/>"
+ "</radialGradient>"
+ "<radialGradient id=\"MyGradient2\" gradientUnits=\"userSpaceOnUse\" cx=\"50\" cy=\"70\" r=\"70\" fx=\"20\" fy=\"20\">"
+ "<stop offset=\"-3.bc\" style=\"stop-color:blue\" stop-opacity=\"0.3\"/>"
+ "<stop offset=\"0.5\" style=\"stop-color:violet\" stop-opacity=\"-0.xy\"/>"
+ "<stop offset=\"1\" style=\"stop-color:orange\" stop-opacity=\"z.5\"/>"
+ "</radialGradient>"
+ "<rect x=\"5\" y=\"5\" width=\"55\" height=\"55\" fill=\"url(#MyGradient1)\" stroke=\"black\" />"
+ "<rect x=\"20\" y=\"20\" width=\"35\" height=\"35\" fill=\"url(#MyGradient2)\"/>"
+ "</svg>"
+ };
+
+ QImage images[4];
+ QPainter p;
+
+ for (int i = 0; i < 4; ++i) {
+ QByteArray data(svgs[i]);
+ QSvgRenderer renderer(data);
+ QVERIFY(renderer.isValid());
+ images[i] = QImage(64, 64, QImage::Format_ARGB32_Premultiplied);
+ images[i].fill(-1);
+ p.begin(&images[i]);
+ renderer.render(&p);
+ p.end();
+ }
+ QCOMPARE(images[0], images[1]);
+ QCOMPARE(images[0], images[2]);
+ QCOMPARE(images[0], images[3]);
+}
+
QTEST_MAIN(tst_QSvgRenderer)
#include "tst_qsvgrenderer.moc"
diff --git a/tests/auto/qsyntaxhighlighter/tst_qsyntaxhighlighter.cpp b/tests/auto/qsyntaxhighlighter/tst_qsyntaxhighlighter.cpp
index f8993de..3c2f683 100644
--- a/tests/auto/qsyntaxhighlighter/tst_qsyntaxhighlighter.cpp
+++ b/tests/auto/qsyntaxhighlighter/tst_qsyntaxhighlighter.cpp
@@ -99,7 +99,8 @@ private slots:
void avoidUnnecessaryRehighlight();
void noContentsChangedDuringHighlight();
void rehighlight();
-
+ void rehighlightBlock();
+
private:
QTextDocument *doc;
QTestDocumentLayout *lout;
@@ -517,6 +518,32 @@ void tst_QSyntaxHighlighter::rehighlight()
QCOMPARE(hl->callCount, 1);
}
+void tst_QSyntaxHighlighter::rehighlightBlock()
+{
+ TestHighlighter *hl = new TestHighlighter(doc);
+
+ cursor.movePosition(QTextCursor::Start);
+ cursor.beginEditBlock();
+ cursor.insertText("Hello");
+ cursor.insertBlock();
+ cursor.insertText("World");
+ cursor.endEditBlock();
+
+ hl->callCount = 0;
+ hl->highlightedText.clear();
+ QTextBlock block = doc->begin();
+ hl->rehighlightBlock(block);
+
+ QCOMPARE(hl->highlightedText, QString("Hello"));
+ QCOMPARE(hl->callCount, 1);
+
+ hl->callCount = 0;
+ hl->highlightedText.clear();
+ hl->rehighlightBlock(block.next());
+
+ QCOMPARE(hl->highlightedText, QString("World"));
+ QCOMPARE(hl->callCount, 1);
+}
QTEST_MAIN(tst_QSyntaxHighlighter)
#include "tst_qsyntaxhighlighter.moc"
diff --git a/tests/auto/qtableview/tst_qtableview.cpp b/tests/auto/qtableview/tst_qtableview.cpp
index ae023ba..6fa57f0 100644
--- a/tests/auto/qtableview/tst_qtableview.cpp
+++ b/tests/auto/qtableview/tst_qtableview.cpp
@@ -175,6 +175,8 @@ private slots:
// task-specific tests:
void task173773_updateVerticalHeader();
void task227953_setRootIndex();
+ void task240266_veryBigColumn();
+ void task248688_autoScrollNavigation();
void mouseWheel_data();
void mouseWheel();
@@ -586,7 +588,7 @@ void tst_QTableView::keyboardNavigation()
QModelIndex index = model.index(rowCount - 1, columnCount - 1);
view.setCurrentIndex(index);
- QApplication::instance()->processEvents();
+ QApplication::processEvents();
int row = rowCount - 1;
int column = columnCount - 1;
@@ -618,7 +620,7 @@ void tst_QTableView::keyboardNavigation()
}
QTest::keyClick(&view, key);
- QApplication::instance()->processEvents();
+ QApplication::processEvents();
QModelIndex index = model.index(row, column);
QCOMPARE(view.currentIndex(), index);
@@ -3127,6 +3129,56 @@ void tst_QTableView::task227953_setRootIndex()
QVERIFY(!tableView.verticalHeader()->isHidden());
}
+void tst_QTableView::task240266_veryBigColumn()
+{
+ QTableView table;
+ table.setFixedSize(500, 300); //just to make sure we have the 2 first columns visible
+ QStandardItemModel model(1, 3);
+ table.setModel(&model);
+ table.setColumnWidth(0, 100); //normal column
+ table.setColumnWidth(1, 100); //normal column
+ table.setColumnWidth(2, 9000); //very big column
+ table.show();
+#ifdef Q_WS_X11
+ qt_x11_wait_for_window_manager(&view);
+#endif
+ QTest::qWait(100);
+
+ QScrollBar *scroll = table.horizontalScrollBar();
+ QCOMPARE(scroll->minimum(), 0);
+ QCOMPARE(scroll->maximum(), model.columnCount() - 1);
+ QCOMPARE(scroll->singleStep(), 1);
+
+ //1 is not always a very correct value for pageStep. Ideally this should be dynamic.
+ //Maybe something for Qt 5 ;-)
+ QCOMPARE(scroll->pageStep(), 1);
+
+}
+
+void tst_QTableView::task248688_autoScrollNavigation()
+{
+ //we make sure that when navigating with the keyboard the view is correctly scrolled
+ //to the current item
+ QStandardItemModel model(16, 16);
+ QTableView view;
+ view.setModel(&model);
+
+ view.hideColumn(8);
+ view.hideRow(8);
+ view.show();
+ for (int r = 0; r < model.rowCount(); ++r) {
+ if (view.isRowHidden(r))
+ continue;
+ for (int c = 0; c < model.columnCount(); ++c) {
+ if (view.isColumnHidden(c))
+ continue;
+ QModelIndex index = model.index(r, c);
+ view.setCurrentIndex(index);
+ QVERIFY(view.viewport()->rect().contains(view.visualRect(index)));
+ }
+ }
+}
+
void tst_QTableView::mouseWheel_data()
{
diff --git a/tests/auto/qtcpserver/tst_qtcpserver.cpp b/tests/auto/qtcpserver/tst_qtcpserver.cpp
index 2e75353..64bf880 100644
--- a/tests/auto/qtcpserver/tst_qtcpserver.cpp
+++ b/tests/auto/qtcpserver/tst_qtcpserver.cpp
@@ -278,42 +278,35 @@ void tst_QTcpServer::ipv4LoopbackPerformanceTest()
QTcpSocket *clientB = server.nextPendingConnection();
QVERIFY(clientB);
-#if defined(Q_WS_WIN)
- if (QSysInfo::WindowsVersion & QSysInfo::WV_DOS_based) {
- QSKIP("Dont run performance tests on QSysInfo::WV_DOS_based systems, overloads the system", SkipAll);
- } else
-#endif
- {
- QByteArray buffer(16384, '@');
- QTime stopWatch;
- stopWatch.start();
- qlonglong totalWritten = 0;
- while (stopWatch.elapsed() < 5000) {
- QVERIFY(clientA.write(buffer.data(), buffer.size()) > 0);
- clientA.flush();
- totalWritten += buffer.size();
- while (clientB->waitForReadyRead(100)) {
- if (clientB->bytesAvailable() == 16384)
- break;
- }
- clientB->read(buffer.data(), buffer.size());
- clientB->write(buffer.data(), buffer.size());
- clientB->flush();
- totalWritten += buffer.size();
- while (clientA.waitForReadyRead(100)) {
- if (clientA.bytesAvailable() == 16384)
- break;
- }
- clientA.read(buffer.data(), buffer.size());
+ QByteArray buffer(16384, '@');
+ QTime stopWatch;
+ stopWatch.start();
+ qlonglong totalWritten = 0;
+ while (stopWatch.elapsed() < 5000) {
+ QVERIFY(clientA.write(buffer.data(), buffer.size()) > 0);
+ clientA.flush();
+ totalWritten += buffer.size();
+ while (clientB->waitForReadyRead(100)) {
+ if (clientB->bytesAvailable() == 16384)
+ break;
}
+ clientB->read(buffer.data(), buffer.size());
+ clientB->write(buffer.data(), buffer.size());
+ clientB->flush();
+ totalWritten += buffer.size();
+ while (clientA.waitForReadyRead(100)) {
+ if (clientA.bytesAvailable() == 16384)
+ break;
+ }
+ clientA.read(buffer.data(), buffer.size());
+ }
- qDebug("\t\t%s: %.1fMB/%.1fs: %.1fMB/s",
- server.serverAddress().toString().toLatin1().constData(),
- totalWritten / (1024.0 * 1024.0),
- stopWatch.elapsed() / 1000.0,
- (totalWritten / (stopWatch.elapsed() / 1000.0)) / (1024 * 1024));
+ qDebug("\t\t%s: %.1fMB/%.1fs: %.1fMB/s",
+ server.serverAddress().toString().toLatin1().constData(),
+ totalWritten / (1024.0 * 1024.0),
+ stopWatch.elapsed() / 1000.0,
+ (totalWritten / (stopWatch.elapsed() / 1000.0)) / (1024 * 1024));
- }
delete clientB;
}
@@ -385,42 +378,35 @@ void tst_QTcpServer::ipv4PerformanceTest()
QTcpSocket *clientB = server.nextPendingConnection();
QVERIFY(clientB);
-#if defined(Q_WS_WIN)
- if (QSysInfo::WindowsVersion & QSysInfo::WV_DOS_based) {
- QSKIP("Dont run performance tests on QSysInfo::WV_DOS_based systems, overloads the system", SkipAll);
- } else
-#endif
- {
-
- QByteArray buffer(16384, '@');
- QTime stopWatch;
- stopWatch.start();
- qlonglong totalWritten = 0;
- while (stopWatch.elapsed() < 5000) {
- qlonglong writtenA = clientA.write(buffer.data(), buffer.size());
- clientA.flush();
- totalWritten += buffer.size();
- while (clientB->waitForReadyRead(100)) {
- if (clientB->bytesAvailable() == writtenA)
- break;
- }
- clientB->read(buffer.data(), buffer.size());
- qlonglong writtenB = clientB->write(buffer.data(), buffer.size());
- clientB->flush();
- totalWritten += buffer.size();
- while (clientA.waitForReadyRead(100)) {
- if (clientA.bytesAvailable() == writtenB)
- break;
- }
- clientA.read(buffer.data(), buffer.size());
+ QByteArray buffer(16384, '@');
+ QTime stopWatch;
+ stopWatch.start();
+ qlonglong totalWritten = 0;
+ while (stopWatch.elapsed() < 5000) {
+ qlonglong writtenA = clientA.write(buffer.data(), buffer.size());
+ clientA.flush();
+ totalWritten += buffer.size();
+ while (clientB->waitForReadyRead(100)) {
+ if (clientB->bytesAvailable() == writtenA)
+ break;
}
-
- qDebug("\t\t%s: %.1fMB/%.1fs: %.1fMB/s",
- probeSocket.localAddress().toString().toLatin1().constData(),
- totalWritten / (1024.0 * 1024.0),
- stopWatch.elapsed() / 1000.0,
- (totalWritten / (stopWatch.elapsed() / 1000.0)) / (1024 * 1024));
+ clientB->read(buffer.data(), buffer.size());
+ qlonglong writtenB = clientB->write(buffer.data(), buffer.size());
+ clientB->flush();
+ totalWritten += buffer.size();
+ while (clientA.waitForReadyRead(100)) {
+ if (clientA.bytesAvailable() == writtenB)
+ break;
+ }
+ clientA.read(buffer.data(), buffer.size());
}
+
+ qDebug("\t\t%s: %.1fMB/%.1fs: %.1fMB/s",
+ probeSocket.localAddress().toString().toLatin1().constData(),
+ totalWritten / (1024.0 * 1024.0),
+ stopWatch.elapsed() / 1000.0,
+ (totalWritten / (stopWatch.elapsed() / 1000.0)) / (1024 * 1024));
+
delete clientB;
}
diff --git a/tests/auto/qtcpsocket/qtcpsocket.pro b/tests/auto/qtcpsocket/qtcpsocket.pro
index f18b471..4bbec23 100644
--- a/tests/auto/qtcpsocket/qtcpsocket.pro
+++ b/tests/auto/qtcpsocket/qtcpsocket.pro
@@ -2,4 +2,4 @@ TEMPLATE = subdirs
!wince*: SUBDIRS = test stressTest
-wince* | symbian* : SUBDIRS = test
+wince*|symbian*|vxworks* : SUBDIRS = test
diff --git a/tests/auto/qtcpsocket/test/test.pro b/tests/auto/qtcpsocket/test/test.pro
index 5d6c3b1..0f93def 100644
--- a/tests/auto/qtcpsocket/test/test.pro
+++ b/tests/auto/qtcpsocket/test/test.pro
@@ -9,6 +9,7 @@ wince*: {
}
}
QT += network
+vxworks:QT -= gui
symbian: TARGET.EPOCHEAPSIZE="0x100 0x1000000"
diff --git a/tests/auto/qtcpsocket/tst_qtcpsocket.cpp b/tests/auto/qtcpsocket/tst_qtcpsocket.cpp
index 718fcba..780b151 100644
--- a/tests/auto/qtcpsocket/tst_qtcpsocket.cpp
+++ b/tests/auto/qtcpsocket/tst_qtcpsocket.cpp
@@ -63,10 +63,12 @@
#include <QHostAddress>
#include <QHostInfo>
#include <QMap>
+#ifndef Q_OS_VXWORKS
#include <QMessageBox>
+#include <QPushButton>
+#endif
#include <QPointer>
#include <QProcess>
-#include <QPushButton>
#include <QStringList>
#include <QTcpServer>
#include <QTcpSocket>
@@ -174,9 +176,7 @@ private slots:
void connectToLocalHostNoService();
#endif
void waitForConnectedInHostLookupSlot();
-#ifndef Q_OS_WIN
void waitForConnectedInHostLookupSlot2();
-#endif
void readyReadSignalsAfterWaitForReadyRead();
#ifdef Q_OS_LINUX
void linuxKernelBugLocalSocket();
@@ -1599,6 +1599,7 @@ void tst_QTcpSocket::remoteCloseErrorSlot()
void tst_QTcpSocket::messageBoxSlot()
{
+#if !defined(Q_OS_VXWORKS) // no gui
QTcpSocket *socket = qobject_cast<QTcpSocket *>(sender());
socket->deleteLater();
QMessageBox box;
@@ -1609,10 +1610,14 @@ void tst_QTcpSocket::messageBoxSlot()
// Fire a non-0 singleshot to leave time for the delete
QTimer::singleShot(250, this, SLOT(exitLoopSlot()));
+#endif
}
//----------------------------------------------------------------------------------
void tst_QTcpSocket::openMessageBoxInErrorSlot()
{
+#if defined(Q_OS_VXWORKS) // no gui
+ QSKIP("no default gui available on VxWorks", SkipAll);
+#else
QTcpSocket *socket = newSocket();
QPointer<QTcpSocket> p(socket);
connect(socket, SIGNAL(error(QAbstractSocket::SocketError)), this, SLOT(messageBoxSlot()));
@@ -1620,6 +1625,7 @@ void tst_QTcpSocket::openMessageBoxInErrorSlot()
socket->connectToHost("hostnotfoundhostnotfound.troll.no", 9999); // Host not found, fyi
enterLoop(30);
QVERIFY(!p);
+#endif
}
//----------------------------------------------------------------------------------
@@ -1738,9 +1744,12 @@ public slots:
};
//----------------------------------------------------------------------------------
-#ifndef Q_OS_WIN
void tst_QTcpSocket::waitForConnectedInHostLookupSlot2()
{
+#if defined(Q_OS_WIN) || defined(Q_OS_VXWORKS)
+ QSKIP("waitForConnectedInHostLookupSlot2 is not run on Windows and VxWorks", SkipAll);
+#else
+
Foo foo;
QPushButton top("Go", 0);
top.show();
@@ -1755,8 +1764,8 @@ void tst_QTcpSocket::waitForConnectedInHostLookupSlot2()
QVERIFY(foo.attemptedToConnect);
QCOMPARE(foo.count, 1);
-}
#endif
+}
//----------------------------------------------------------------------------------
void tst_QTcpSocket::readyReadSignalsAfterWaitForReadyRead()
@@ -1999,7 +2008,7 @@ void tst_QTcpSocket::suddenRemoteDisconnect_data()
void tst_QTcpSocket::suddenRemoteDisconnect()
{
-#if defined(Q_OS_WINCE)
+#if defined(Q_OS_WINCE) || defined(Q_OS_VXWORKS)
QSKIP("stressTest subprocess needs Qt3Support", SkipAll);
#elif defined( Q_OS_SYMBIAN )
QSKIP("Symbian: QProcess IO is not yet supported, fix when supported", SkipAll);
@@ -2058,6 +2067,9 @@ void tst_QTcpSocket::connectToMultiIP()
{
QSKIP("TODO: setup DNS in the new network", SkipAll);
+#if defined(Q_OS_VXWORKS)
+ QSKIP("VxSim in standard config doesn't even run a DNS resolver", SkipAll);
+#else
QFETCH_GLOBAL(bool, ssl);
if (ssl)
return;
@@ -2085,6 +2097,7 @@ void tst_QTcpSocket::connectToMultiIP()
QCOMPARE(socket->error(), QAbstractSocket::SocketTimeoutError);
delete socket;
+#endif
}
//----------------------------------------------------------------------------------
diff --git a/tests/auto/qtextcodec/tst_qtextcodec.cpp b/tests/auto/qtextcodec/tst_qtextcodec.cpp
index 5899b10..32d23bd 100644
--- a/tests/auto/qtextcodec/tst_qtextcodec.cpp
+++ b/tests/auto/qtextcodec/tst_qtextcodec.cpp
@@ -1881,6 +1881,9 @@ void tst_QTextCodec::codecForUtfText()
#ifdef Q_OS_UNIX
void tst_QTextCodec::toLocal8Bit()
{
+#ifdef QT_NO_PROCESS
+ QSKIP("This test requires QProcess", SkipAll);
+#else
QProcess process;
process.start("echo/echo");
QString string(QChar(0x410));
@@ -1890,6 +1893,7 @@ void tst_QTextCodec::toLocal8Bit()
process.waitForFinished();
QCOMPARE(process.exitStatus(), QProcess::NormalExit);
QCOMPARE(process.exitCode(), 0);
+#endif
}
#endif
diff --git a/tests/auto/qtextdocumentfragment/tst_qtextdocumentfragment.cpp b/tests/auto/qtextdocumentfragment/tst_qtextdocumentfragment.cpp
index 56f5e7a..4559daa 100644
--- a/tests/auto/qtextdocumentfragment/tst_qtextdocumentfragment.cpp
+++ b/tests/auto/qtextdocumentfragment/tst_qtextdocumentfragment.cpp
@@ -2758,6 +2758,16 @@ void tst_QTextDocumentFragment::css_listStyleType()
QVERIFY(cursor.currentList());
QVERIFY(cursor.currentList()->format().style() == QTextListFormat::ListUpperAlpha);
+ doc->setHtml("<ul style=\"list-style-type: upper-roman\"><li>Blah</li></ul>");
+ cursor.movePosition(QTextCursor::End);
+ QVERIFY(cursor.currentList());
+ QVERIFY(cursor.currentList()->format().style() == QTextListFormat::ListUpperRoman);
+
+ doc->setHtml("<ul style=\"list-style-type: lower-roman\"><li>Blah</li></ul>");
+ cursor.movePosition(QTextCursor::End);
+ QVERIFY(cursor.currentList());
+ QVERIFY(cursor.currentList()->format().style() == QTextListFormat::ListLowerRoman);
+
// ignore the unsupported list-style-position inside the list-style shorthand property
doc->setHtml("<ul style=\"list-style: outside decimal\"><li>Blah</li></ul>");
cursor.movePosition(QTextCursor::End);
diff --git a/tests/auto/qtextedit/tst_qtextedit.cpp b/tests/auto/qtextedit/tst_qtextedit.cpp
index ad61015..392af5e 100644
--- a/tests/auto/qtextedit/tst_qtextedit.cpp
+++ b/tests/auto/qtextedit/tst_qtextedit.cpp
@@ -1488,6 +1488,7 @@ void tst_QTextEdit::mimeDataReimplementations()
QCOMPARE(ed.canInsertCallCount, 0);
QCOMPARE(ed.insertCallCount, 0);
+#ifdef QT_BUILD_INTERNAL
QTextControl *control = qFindChild<QTextControl *>(&ed);
QVERIFY(control);
@@ -1502,6 +1503,7 @@ void tst_QTextEdit::mimeDataReimplementations()
QCOMPARE(ed.createMimeDataCallCount, 1);
QCOMPARE(ed.canInsertCallCount, 1);
QCOMPARE(ed.insertCallCount, 1);
+#endif
}
#endif
@@ -2097,6 +2099,7 @@ void tst_QTextEdit::cursorRect()
void tst_QTextEdit::setDocumentPreservesPalette()
{
+#ifdef QT_BUILD_INTERNAL
QTextControl *control = qFindChild<QTextControl *>(ed);
QVERIFY(control);
@@ -2116,6 +2119,7 @@ void tst_QTextEdit::setDocumentPreservesPalette()
QVERIFY(control->document() == newDoc);
QVERIFY(whitePal.color(QPalette::Active, QPalette::Text)
== control->palette().color(QPalette::Active, QPalette::Text));
+#endif
}
class PublicTextEdit : public QTextEdit
diff --git a/tests/auto/qtextlist/tst_qtextlist.cpp b/tests/auto/qtextlist/tst_qtextlist.cpp
index 658b8bb..4ab6f5a 100644
--- a/tests/auto/qtextlist/tst_qtextlist.cpp
+++ b/tests/auto/qtextlist/tst_qtextlist.cpp
@@ -67,6 +67,8 @@ private slots:
void item();
void autoNumbering();
void autoNumberingRTL();
+ void romanNumbering();
+ void romanNumberingLimit();
void formatChange();
void cursorNavigation();
void partialRemoval();
@@ -75,6 +77,8 @@ private slots:
void add();
void defaultIndent();
void blockUpdate();
+ void numbering_data();
+ void numbering();
private:
QTextDocument *doc;
@@ -142,6 +146,40 @@ void tst_QTextList::autoNumberingRTL()
QVERIFY(cursor.currentList()->itemText(cursor.block()) == ".B");
}
+void tst_QTextList::romanNumbering()
+{
+ QTextListFormat fmt;
+ fmt.setStyle(QTextListFormat::ListUpperRoman);
+ QTextList *list = cursor.createList(fmt);
+ QVERIFY(list);
+
+ for (int i = 0; i < 4998; ++i)
+ cursor.insertBlock();
+
+ QVERIFY(list->count() == 4999);
+
+ QVERIFY(cursor.currentList());
+ QVERIFY(cursor.currentList()->itemNumber(cursor.block()) == 4998);
+ QVERIFY(cursor.currentList()->itemText(cursor.block()) == "MMMMCMXCIX.");
+}
+
+void tst_QTextList::romanNumberingLimit()
+{
+ QTextListFormat fmt;
+ fmt.setStyle(QTextListFormat::ListLowerRoman);
+ QTextList *list = cursor.createList(fmt);
+ QVERIFY(list);
+
+ for (int i = 0; i < 4999; ++i)
+ cursor.insertBlock();
+
+ QVERIFY(list->count() == 5000);
+
+ QVERIFY(cursor.currentList());
+ QVERIFY(cursor.currentList()->itemNumber(cursor.block()) == 4999);
+ QVERIFY(cursor.currentList()->itemText(cursor.block()) == "?.");
+}
+
void tst_QTextList::formatChange()
{
// testing the formatChanged slot in QTextListManager
@@ -300,5 +338,43 @@ void tst_QTextList::blockUpdate()
QVERIFY(!layout->error);
}
+void tst_QTextList::numbering_data()
+{
+ QTest::addColumn<int>("format");
+ QTest::addColumn<int>("number");
+ QTest::addColumn<QString>("result");
+
+ QTest::newRow("E.") << int(QTextListFormat::ListUpperAlpha) << 5 << "E.";
+ QTest::newRow("abc.") << int(QTextListFormat::ListLowerAlpha) << (26 + 2) * 26 + 3 << "abc.";
+ QTest::newRow("12.") << int(QTextListFormat::ListDecimal) << 12 << "12.";
+ QTest::newRow("XXIV.") << int(QTextListFormat::ListUpperRoman) << 24 << "XXIV.";
+ QTest::newRow("VIII.") << int(QTextListFormat::ListUpperRoman) << 8 << "VIII.";
+ QTest::newRow("xxx.") << int(QTextListFormat::ListLowerRoman) << 30 << "xxx.";
+ QTest::newRow("xxix.") << int(QTextListFormat::ListLowerRoman) << 29 << "xxix.";
+// QTest::newRow("xxx. alpha") << int(QTextListFormat::ListLowerAlpha) << (24 * 26 + 24) * 26 + 24 << "xxx."; //Too slow
+}
+
+void tst_QTextList::numbering()
+{
+ QFETCH(int, format);
+ QFETCH(int, number);
+ QFETCH(QString, result);
+
+
+ QTextListFormat fmt;
+ fmt.setStyle(QTextListFormat::Style(format));
+ QTextList *list = cursor.createList(fmt);
+ QVERIFY(list);
+
+ for (int i = 1; i < number; ++i)
+ cursor.insertBlock();
+
+ QCOMPARE(list->count(), number);
+
+ QVERIFY(cursor.currentList());
+ QCOMPARE(cursor.currentList()->itemNumber(cursor.block()), number - 1);
+ QCOMPARE(cursor.currentList()->itemText(cursor.block()), result);
+}
+
QTEST_MAIN(tst_QTextList)
#include "tst_qtextlist.moc"
diff --git a/tests/auto/qtextpiecetable/qtextpiecetable.pro b/tests/auto/qtextpiecetable/qtextpiecetable.pro
index 318a8c7..0926b83 100644
--- a/tests/auto/qtextpiecetable/qtextpiecetable.pro
+++ b/tests/auto/qtextpiecetable/qtextpiecetable.pro
@@ -2,7 +2,6 @@ load(qttest_p4)
SOURCES += tst_qtextpiecetable.cpp
HEADERS += ../qtextdocument/common.h
-!win32:DEFINES += QTEST_REDUCED_EXPORTS
-
-
+requires(!win32)
+requires(contains(QT_CONFIG,private_tests))
diff --git a/tests/auto/qtextpiecetable/tst_qtextpiecetable.cpp b/tests/auto/qtextpiecetable/tst_qtextpiecetable.cpp
index accbabb..0e60c16 100644
--- a/tests/auto/qtextpiecetable/tst_qtextpiecetable.cpp
+++ b/tests/auto/qtextpiecetable/tst_qtextpiecetable.cpp
@@ -42,9 +42,7 @@
#include <QtTest/QtTest>
-#ifdef QTEST_REDUCED_EXPORTS
#define private public
-#endif
#include <qtextdocument.h>
#include <private/qtextdocument_p.h>
@@ -65,7 +63,6 @@ public:
tst_QTextPieceTable();
-#ifdef QTEST_REDUCED_EXPORTS
public slots:
void init();
void cleanup();
@@ -112,13 +109,7 @@ private slots:
void removeFrameDirect();
void removeWithChildFrame();
void clearWithFrames();
-#else
-public slots:
- void init();
- void cleanup();
-private slots:
- void skip();
-#endif
+
private:
QTextDocument *doc;
QTextDocumentPrivate *table;
@@ -130,8 +121,6 @@ tst_QTextPieceTable::tst_QTextPieceTable()
{ doc = 0; table = 0; }
-#ifdef QTEST_REDUCED_EXPORTS
-
void tst_QTextPieceTable::init()
{
doc = new QTextDocument(0);
@@ -1148,25 +1137,6 @@ void tst_QTextPieceTable::clearWithFrames()
QVERIFY(true);
}
-#else // QTEST_REDUCED_EXPORTS
-
-void tst_QTextPieceTable::init()
-{
-}
-
-void tst_QTextPieceTable::cleanup()
-{
-}
-
-void tst_QTextPieceTable::skip()
-{
- QSKIP( "Not tested on win32", SkipAll );
-}
-
-
-#endif // QTEST_REDUCED_EXPORTS
-
-
QTEST_MAIN(tst_QTextPieceTable)
diff --git a/tests/auto/qthreadonce/tst_qthreadonce.cpp b/tests/auto/qthreadonce/tst_qthreadonce.cpp
index 590de0f..5d9062d 100644
--- a/tests/auto/qthreadonce/tst_qthreadonce.cpp
+++ b/tests/auto/qthreadonce/tst_qthreadonce.cpp
@@ -134,7 +134,7 @@ void tst_QThreadOnce::sameThread()
void tst_QThreadOnce::multipleThreads()
{
-#ifdef Q_OS_WINCE
+#if defined(Q_OS_WINCE) || defined(Q_OS_VXWORKS)
const int NumberOfThreads = 20;
#else
const int NumberOfThreads = 100;
diff --git a/tests/auto/qthreadpool/tst_qthreadpool.cpp b/tests/auto/qthreadpool/tst_qthreadpool.cpp
index 1111ecc..d4c131d 100644
--- a/tests/auto/qthreadpool/tst_qthreadpool.cpp
+++ b/tests/auto/qthreadpool/tst_qthreadpool.cpp
@@ -205,7 +205,8 @@ void tst_QThreadPool::runTask()
ran = false;
manager.start(new TestTask());
// Hang if task is not runned.
- while (ran == false);
+ while (ran == false)
+ QTest::qSleep(100); // no busy loop - this doesn't work with FIFO schedulers
}
/*
@@ -215,7 +216,8 @@ void tst_QThreadPool::singleton()
{
ran = false;
QThreadPool::globalInstance()->start(new TestTask());
- while (ran == false);
+ while (ran == false)
+ QTest::qSleep(100); // no busy loop - this doesn't work with FIFO schedulers
}
int *value = 0;
diff --git a/tests/auto/qtimer/tst_qtimer.cpp b/tests/auto/qtimer/tst_qtimer.cpp
index 2835c53..e3bd9e4 100644
--- a/tests/auto/qtimer/tst_qtimer.cpp
+++ b/tests/auto/qtimer/tst_qtimer.cpp
@@ -262,7 +262,7 @@ void tst_QTimer::livelock()
QEXPECT_FAIL("non-zero timer", "", Continue);
#elif defined(Q_OS_WIN)
if (QSysInfo::WindowsVersion < QSysInfo::WV_XP)
- QEXPECT_FAIL("non-zero timer", "Multimedia timers are not available on Win2K/9x", Continue);
+ QEXPECT_FAIL("non-zero timer", "Multimedia timers are not available on Windows 2000", Continue);
#endif
QVERIFY(tester.postEventAtRightTime);
}
diff --git a/tests/auto/qtoolbar/tst_qtoolbar.cpp b/tests/auto/qtoolbar/tst_qtoolbar.cpp
index a762cba..856a935 100644
--- a/tests/auto/qtoolbar/tst_qtoolbar.cpp
+++ b/tests/auto/qtoolbar/tst_qtoolbar.cpp
@@ -796,6 +796,10 @@ void tst_QToolBar::toolButtonStyle()
tb.setToolButtonStyle(Qt::ToolButtonTextUnderIcon);
QCOMPARE(tb.toolButtonStyle(), Qt::ToolButtonTextUnderIcon);
QCOMPARE(spy.count(), 0);
+
+ tb.setToolButtonStyle(Qt::ToolButtonFollowStyle);
+ QCOMPARE(tb.toolButtonStyle(), Qt::ToolButtonFollowStyle);
+ QCOMPARE(spy.count(), 1);
}
{
diff --git a/tests/auto/qtoolbutton/tst_qtoolbutton.cpp b/tests/auto/qtoolbutton/tst_qtoolbutton.cpp
index 9e342ad..4176507 100644
--- a/tests/auto/qtoolbutton/tst_qtoolbutton.cpp
+++ b/tests/auto/qtoolbutton/tst_qtoolbutton.cpp
@@ -64,6 +64,7 @@ public:
private slots:
void getSetCheck();
void triggered();
+ void collapseTextOnPriority();
void task230994_iconSize();
void task176137_autoRepeatOfAction();
@@ -160,6 +161,32 @@ void tst_QToolButton::triggered()
delete menu;
}
+void tst_QToolButton::collapseTextOnPriority()
+{
+ class MyToolButton : public QToolButton
+ {
+ friend class tst_QToolButton;
+ public:
+ void initStyleOption(QStyleOptionToolButton *option)
+ {
+ QToolButton::initStyleOption(option);
+ }
+ };
+
+ MyToolButton button;
+ button.setToolButtonStyle(Qt::ToolButtonTextBesideIcon);
+ QAction action(button.style()->standardIcon(QStyle::SP_ArrowBack), "test", 0);
+ button.setDefaultAction(&action);
+
+ QStyleOptionToolButton option;
+ button.initStyleOption(&option);
+ QVERIFY(option.toolButtonStyle == Qt::ToolButtonTextBesideIcon);
+ action.setPriority(QAction::LowPriority);
+ button.initStyleOption(&option);
+ QVERIFY(option.toolButtonStyle == Qt::ToolButtonIconOnly);
+}
+
+
void tst_QToolButton::task230994_iconSize()
{
//we check that the iconsize returned bu initStyleOption is valid
diff --git a/tests/auto/qurl/tst_qurl.cpp b/tests/auto/qurl/tst_qurl.cpp
index ea551da..d487908 100644
--- a/tests/auto/qurl/tst_qurl.cpp
+++ b/tests/auto/qurl/tst_qurl.cpp
@@ -162,6 +162,8 @@ private slots:
void nameprep_testsuite();
void ace_testsuite_data();
void ace_testsuite();
+ void std3violations_data();
+ void std3violations();
void tldRestrictions_data();
void tldRestrictions();
void emptyQueryOrFragment();
@@ -3057,12 +3059,16 @@ void tst_QUrl::nameprep_testsuite_data()
<< QString() << 0 << 0;
}
+#ifdef QT_BUILD_INTERNAL
QT_BEGIN_NAMESPACE
-extern QString qt_nameprep(const QString &source);
+extern void qt_nameprep(QString *source, int from);
+extern bool qt_check_std3rules(const QChar *, int);
QT_END_NAMESPACE
+#endif
void tst_QUrl::nameprep_testsuite()
{
+#ifdef QT_BUILD_INTERNAL
QFETCH(QString, in);
QFETCH(QString, out);
QFETCH(QString, profile);
@@ -3081,7 +3087,9 @@ void tst_QUrl::nameprep_testsuite()
"Investigate further", Continue);
QEXPECT_FAIL("Larger test (expanding)",
"Investigate further", Continue);
- QCOMPARE(qt_nameprep(in), out);
+ qt_nameprep(&in, 0);
+ QCOMPARE(in, out);
+#endif
}
void tst_QUrl::ace_testsuite_data()
@@ -3096,6 +3104,11 @@ void tst_QUrl::ace_testsuite_data()
QTest::newRow("ascii-upper") << "FLUKE" << "fluke" << "fluke" << "fluke";
QTest::newRow("asciifolded") << QString::fromLatin1("stra\337e") << "strasse" << "." << "strasse";
+ QTest::newRow("asciifolded-dotcom") << QString::fromLatin1("stra\337e.example.com") << "strasse.example.com" << "." << "strasse.example.com";
+ QTest::newRow("greek-mu") << QString::fromLatin1("\265V")
+ <<"xn--v-lmb"
+ << "."
+ << QString::fromUtf8("\316\274v");
QTest::newRow("non-ascii-lower") << QString::fromLatin1("alqualond\353")
<< "xn--alqualond-34a"
@@ -3128,6 +3141,9 @@ void tst_QUrl::ace_testsuite_data()
QTest::newRow("idn-upper") << "XN--ALQUALOND-34A" << "xn--alqualond-34a"
<< QString::fromLatin1("alqualond\353")
<< QString::fromLatin1("alqualond\353");
+
+ QTest::newRow("separator-3002") << QString::fromUtf8("example\343\200\202com")
+ << "example.com" << "." << "example.com";
}
void tst_QUrl::ace_testsuite()
@@ -3138,23 +3154,85 @@ void tst_QUrl::ace_testsuite()
QFETCH(QString, fromace);
QFETCH(QString, unicode);
- QString domain = in + canonsuffix;
- QCOMPARE(QString::fromLatin1(QUrl::toAce(domain)), toace + canonsuffix);
+ const char *suffix = canonsuffix;
+ if (toace.contains('.'))
+ suffix = 0;
+
+ QString domain = in + suffix;
+ QCOMPARE(QString::fromLatin1(QUrl::toAce(domain)), toace + suffix);
if (fromace != ".")
- QCOMPARE(QUrl::fromAce(domain.toLatin1()), fromace + canonsuffix);
- QCOMPARE(QUrl::fromAce(QUrl::toAce(domain)), unicode + canonsuffix);
+ QCOMPARE(QUrl::fromAce(domain.toLatin1()), fromace + suffix);
+ QCOMPARE(QUrl::fromAce(QUrl::toAce(domain)), unicode + suffix);
- domain = in + ".troll.No";
- QCOMPARE(QString::fromLatin1(QUrl::toAce(domain)), toace + canonsuffix);
+ domain = in + (suffix ? ".troll.No" : "");
+ QCOMPARE(QString::fromLatin1(QUrl::toAce(domain)), toace + suffix);
if (fromace != ".")
- QCOMPARE(QUrl::fromAce(domain.toLatin1()), fromace + canonsuffix);
- QCOMPARE(QUrl::fromAce(QUrl::toAce(domain)), unicode + canonsuffix);
+ QCOMPARE(QUrl::fromAce(domain.toLatin1()), fromace + suffix);
+ QCOMPARE(QUrl::fromAce(QUrl::toAce(domain)), unicode + suffix);
- domain = in + ".troll.NO";
- QCOMPARE(QString::fromLatin1(QUrl::toAce(domain)), toace + canonsuffix);
+ domain = in + (suffix ? ".troll.NO" : "");
+ QCOMPARE(QString::fromLatin1(QUrl::toAce(domain)), toace + suffix);
if (fromace != ".")
- QCOMPARE(QUrl::fromAce(domain.toLatin1()), fromace + canonsuffix);
- QCOMPARE(QUrl::fromAce(QUrl::toAce(domain)), unicode + canonsuffix);
+ QCOMPARE(QUrl::fromAce(domain.toLatin1()), fromace + suffix);
+ QCOMPARE(QUrl::fromAce(QUrl::toAce(domain)), unicode + suffix);
+}
+
+void tst_QUrl::std3violations_data()
+{
+ QTest::addColumn<QString>("source");
+ QTest::addColumn<bool>("validUrl");
+
+ QTest::newRow("too-long") << "this-domain-is-far-too-long-for-its-own-good-and-should-have-been-limited-to-63-chars" << false;
+ QTest::newRow("dash-begin") << "-x-foo" << false;
+ QTest::newRow("dash-end") << "x-foo-" << false;
+ QTest::newRow("dash-begin-end") << "-foo-" << false;
+
+ QTest::newRow("control") << "\033foo" << false;
+ QTest::newRow("bang") << "foo!" << false;
+ QTest::newRow("plus") << "foo+bar" << false;
+ QTest::newRow("dot") << "foo.bar";
+ QTest::newRow("slash") << "foo/bar" << true;
+ QTest::newRow("colon") << "foo:80" << true;
+ QTest::newRow("question") << "foo?bar" << true;
+ QTest::newRow("at") << "foo@bar" << true;
+ QTest::newRow("backslash") << "foo\\bar" << false;
+ QTest::newRow("underline") << "foo_bar" << false;
+
+ // these characters are transformed by NFKC to non-LDH characters
+ QTest::newRow("dot-like") << QString::fromUtf8("foo\342\200\244bar") << false; // U+2024 ONE DOT LEADER
+ QTest::newRow("slash-like") << QString::fromUtf8("foo\357\274\217bar") << false; // U+FF0F FULLWIDTH SOLIDUS
+
+ // The following should be invalid but isn't
+ // the DIVISON SLASH doesn't case-fold to a slash
+ // is this a problem with RFC 3490?
+ //QTest::newRow("slash-like2") << QString::fromUtf8("foo\342\210\225bar") << false; // U+2215 DIVISION SLASH
+}
+
+void tst_QUrl::std3violations()
+{
+ QFETCH(QString, source);
+
+#ifdef QT_BUILD_INTERNAL
+ {
+ QString prepped = source;
+ qt_nameprep(&prepped, 0);
+ QVERIFY(!qt_check_std3rules(prepped.constData(), prepped.length()));
+ }
+#endif
+
+ if (source.contains('.'))
+ return; // this test ends here
+
+ QUrl url;
+ url.setHost(source);
+ QVERIFY(url.host().isEmpty());
+
+ QFETCH(bool, validUrl);
+ if (validUrl)
+ return; // test ends here for these cases
+
+ url = QUrl("http://" + source + "/some/path");
+ QVERIFY(!url.isValid());
}
void tst_QUrl::tldRestrictions_data()
diff --git a/tests/auto/qvariant/tst_qvariant.cpp b/tests/auto/qvariant/tst_qvariant.cpp
index 698dece..a9070fc 100644
--- a/tests/auto/qvariant/tst_qvariant.cpp
+++ b/tests/auto/qvariant/tst_qvariant.cpp
@@ -59,9 +59,14 @@
#include <qimage.h>
#include <qicon.h>
#include <qmatrix.h>
-#include <qtransform.h>
+#include <qmatrix4x4.h>
#include <qpen.h>
#include <qpolygon.h>
+#include <qtransform.h>
+#include <qvector2d.h>
+#include <qvector3d.h>
+#include <qvector4d.h>
+#include <qquaternion.h>
#include <limits.h>
@@ -194,6 +199,12 @@ private slots:
void transform();
+ void matrix4x4();
+ void vector2D();
+ void vector3D();
+ void vector4D();
+ void quaternion();
+
void url();
void userType();
@@ -1404,6 +1415,19 @@ void tst_QVariant::matrix()
QMetaType::destroy(QVariant::Matrix, mmatrix);
}
+void tst_QVariant::matrix4x4()
+{
+ QVariant variant;
+ QMatrix4x4 matrix = qVariantValue<QMatrix4x4>(variant);
+ QVERIFY(matrix.isIdentity());
+ qVariantSetValue(variant, QMatrix4x4().scale(2.0));
+ QCOMPARE(QMatrix4x4().scale(2.0), qVariantValue<QMatrix4x4>(variant));
+
+ void *mmatrix = QMetaType::construct(QVariant::Matrix4x4, 0);
+ QVERIFY(mmatrix);
+ QMetaType::destroy(QVariant::Matrix4x4, mmatrix);
+}
+
void tst_QVariant::transform()
{
QVariant variant;
@@ -1417,6 +1441,59 @@ void tst_QVariant::transform()
QMetaType::destroy(QVariant::Transform, mmatrix);
}
+
+void tst_QVariant::vector2D()
+{
+ QVariant variant;
+ QVector2D vector = qVariantValue<QVector2D>(variant);
+ QVERIFY(vector.isNull());
+ qVariantSetValue(variant, QVector2D(0.1, 0.2));
+ QCOMPARE(QVector2D(0.1, 0.2), qVariantValue<QVector2D>(variant));
+
+ void *pvector = QMetaType::construct(QVariant::Vector2D, 0);
+ QVERIFY(pvector);
+ QMetaType::destroy(QVariant::Vector2D, pvector);
+}
+
+void tst_QVariant::vector3D()
+{
+ QVariant variant;
+ QVector3D vector = qVariantValue<QVector3D>(variant);
+ QVERIFY(vector.isNull());
+ qVariantSetValue(variant, QVector3D(0.1, 0.2, 0.3));
+ QCOMPARE(QVector3D(0.1, 0.2, 0.3), qVariantValue<QVector3D>(variant));
+
+ void *pvector = QMetaType::construct(QVariant::Vector3D, 0);
+ QVERIFY(pvector);
+ QMetaType::destroy(QVariant::Vector3D, pvector);
+}
+
+void tst_QVariant::vector4D()
+{
+ QVariant variant;
+ QVector4D vector = qVariantValue<QVector4D>(variant);
+ QVERIFY(vector.isNull());
+ qVariantSetValue(variant, QVector4D(0.1, 0.2, 0.3, 0.4));
+ QCOMPARE(QVector4D(0.1, 0.2, 0.3, 0.4), qVariantValue<QVector4D>(variant));
+
+ void *pvector = QMetaType::construct(QVariant::Vector4D, 0);
+ QVERIFY(pvector);
+ QMetaType::destroy(QVariant::Vector4D, pvector);
+}
+
+void tst_QVariant::quaternion()
+{
+ QVariant variant;
+ QQuaternion quaternion = qVariantValue<QQuaternion>(variant);
+ QVERIFY(quaternion.isIdentity());
+ qVariantSetValue(variant, QQuaternion(0.1, 0.2, 0.3, 0.4));
+ QCOMPARE(QQuaternion(0.1, 0.2, 0.3, 0.4), qVariantValue<QQuaternion>(variant));
+
+ void *pquaternion = QMetaType::construct(QVariant::Quaternion, 0);
+ QVERIFY(pquaternion);
+ QMetaType::destroy(QVariant::Quaternion, pquaternion);
+}
+
void tst_QVariant::writeToReadFromDataStream_data()
{
@@ -1956,6 +2033,11 @@ void tst_QVariant::typeName_data()
QTest::newRow("45") << int(QVariant::Matrix) << QByteArray("QMatrix");
QTest::newRow("46") << int(QVariant::Transform) << QByteArray("QTransform");
QTest::newRow("47") << int(QVariant::Hash) << QByteArray("QVariantHash");
+ QTest::newRow("48") << int(QVariant::Matrix4x4) << QByteArray("QMatrix4x4");
+ QTest::newRow("49") << int(QVariant::Vector2D) << QByteArray("QVector2D");
+ QTest::newRow("50") << int(QVariant::Vector3D) << QByteArray("QVector3D");
+ QTest::newRow("51") << int(QVariant::Vector4D) << QByteArray("QVector4D");
+ QTest::newRow("52") << int(QVariant::Quaternion) << QByteArray("QQuaternion");
}
void tst_QVariant::typeName()
@@ -1973,7 +2055,7 @@ void tst_QVariant::typeToName()
QCOMPARE( QVariant::typeToName( v.type() ), (const char*)0 ); // Invalid
// assumes that QVariant::Type contains consecutive values
- int max = QVariant::Transform;
+ int max = QVariant::Quaternion;
for ( int t = 1; t <= max; t++ ) {
const char *n = QVariant::typeToName( (QVariant::Type)t );
if (n)
diff --git a/tests/auto/qvector/qvector.pro b/tests/auto/qvector/qvector.pro
index 4ff389c..80311b4 100644
--- a/tests/auto/qvector/qvector.pro
+++ b/tests/auto/qvector/qvector.pro
@@ -1,4 +1,3 @@
load(qttest_p4)
-QT = core
SOURCES += tst_qvector.cpp
QT = core
diff --git a/tests/auto/qwidget/tst_qwidget.cpp b/tests/auto/qwidget/tst_qwidget.cpp
index 2b1c24c..98a5e73 100644
--- a/tests/auto/qwidget/tst_qwidget.cpp
+++ b/tests/auto/qwidget/tst_qwidget.cpp
@@ -114,7 +114,7 @@
// taken from qguifunctions_wce.cpp
#define SPI_GETPLATFORMTYPE 257
bool qt_wince_is_platform(const QString &platformString) {
- TCHAR tszPlatform[64];
+ wchar_t tszPlatform[64];
if (SystemParametersInfo(SPI_GETPLATFORMTYPE,
sizeof(tszPlatform)/sizeof(*tszPlatform),tszPlatform,0))
if (0 == _tcsicmp(reinterpret_cast<const wchar_t *> (platformString.utf16()), tszPlatform))
@@ -359,8 +359,10 @@ private slots:
#endif
void updateOnDestroyedSignal();
void toplevelLineEditFocus();
+ void inputFocus_task257832();
void focusWidget_task254563();
+ void rectOutsideCoordinatesLimit_task144779();
void destroyBackingStore();
@@ -3494,9 +3496,9 @@ static QString visibleWindowTitle(QWidget *window, Qt::WindowState state = Qt::W
#ifdef Q_WS_WIN
Q_UNUSED(state);
const size_t maxTitleLength = 256;
- WCHAR title[maxTitleLength];
- GetWindowTextW(window->winId(), title, maxTitleLength);
- vTitle = QString::fromUtf16((ushort *)title);
+ wchar_t title[maxTitleLength];
+ GetWindowText(window->winId(), title, maxTitleLength);
+ vTitle = QString::fromWCharArray(title);
#elif defined(Q_WS_X11)
/*
We can't check what the window manager displays, but we can
@@ -9228,5 +9230,53 @@ void tst_QWidget::destroyBackingStore()
QCOMPARE(w.numPaintEvents, 2);
}
+void tst_QWidget::rectOutsideCoordinatesLimit_task144779()
+{
+ QWidget main;
+ QPalette palette;
+ palette.setColor(QPalette::Window, Qt::red);
+ main.setPalette(palette);
+ main.resize(400, 400);
+
+ QWidget *offsetWidget = new QWidget(&main);
+ offsetWidget->setGeometry(0, -14600, 400, 15000);
+
+ // big widget is too big for the coordinates, it must be limited by wrect
+ // if wrect is not at the right position because of offsetWidget, bigwidget
+ // is not painted correctly
+ QWidget *bigWidget = new QWidget(offsetWidget);
+ bigWidget->setGeometry(0, 0, 400, 50000);
+ palette.setColor(QPalette::Window, Qt::green);
+ bigWidget->setPalette(palette);
+ bigWidget->setAutoFillBackground(true);
+
+ main.show();
+#ifdef Q_WS_X11
+ qt_x11_wait_for_window_manager(&main);
+#endif
+ QTest::qWait(100);
+ QPixmap pixmap = QPixmap::grabWindow(main.winId());
+
+ QPixmap correct(main.size());
+ correct.fill(Qt::green);
+
+ QRect center(100, 100, 200, 200); // to avoid the decorations
+ QCOMPARE(pixmap.toImage().copy(center), correct.toImage().copy(center));
+}
+
+void tst_QWidget::inputFocus_task257832()
+{
+ QLineEdit *widget = new QLineEdit;
+ QInputContext *context = widget->inputContext();
+ if (!context)
+ QSKIP("No input context", SkipSingle);
+ widget->setFocus();
+ context->setFocusWidget(widget);
+ QCOMPARE(context->focusWidget(), widget);
+ widget->setReadOnly(true);
+ QVERIFY(!context->focusWidget());
+ delete widget;
+}
+
QTEST_MAIN(tst_QWidget)
#include "tst_qwidget.moc"
diff --git a/tests/auto/qwineventnotifier/tst_qwineventnotifier.cpp b/tests/auto/qwineventnotifier/tst_qwineventnotifier.cpp
index 24d28c5..4b00773 100644
--- a/tests/auto/qwineventnotifier/tst_qwineventnotifier.cpp
+++ b/tests/auto/qwineventnotifier/tst_qwineventnotifier.cpp
@@ -110,12 +110,9 @@ void tst_QWinEventNotifier::simple_timerSet()
void tst_QWinEventNotifier::simple()
{
- QT_WA({
- simpleHEvent = CreateEventW(0, TRUE, FALSE, 0);
- }, {
- simpleHEvent = CreateEventA(0, TRUE, FALSE, 0);
- });
+ simpleHEvent = CreateEvent(0, TRUE, FALSE, 0);
QVERIFY(simpleHEvent);
+
QWinEventNotifier n(simpleHEvent);
QObject::connect(&n, SIGNAL(activated(HANDLE)), this, SLOT(simple_activated()));
simpleActivated = false;
diff --git a/tests/auto/qxml/tst_qxml.cpp b/tests/auto/qxml/tst_qxml.cpp
index 13de82f..1bc5ef5 100644
--- a/tests/auto/qxml/tst_qxml.cpp
+++ b/tests/auto/qxml/tst_qxml.cpp
@@ -57,6 +57,7 @@ Q_OBJECT
private slots:
void getSetCheck();
void interpretedAs0D() const;
+ void exception();
};
class MyXmlEntityResolver : public QXmlEntityResolver
@@ -213,5 +214,30 @@ void tst_QXml::interpretedAs0D() const
QCOMPARE(myHandler.attrName, QChar(0x010D) + QString::fromLatin1("reated-by"));
}
+void tst_QXml::exception()
+{
+#ifndef QT_NO_EXCEPTIONS
+ QString message = QString::fromLatin1("message");
+ int column = 3;
+ int line = 2;
+ QString publicId = QString::fromLatin1("publicId");
+ QString systemId = QString::fromLatin1("systemId");
+
+ try {
+ QXmlParseException e(message, column, line, publicId, systemId);
+ throw e;
+ }
+ catch (QXmlParseException e) {
+ QCOMPARE(e.message(), message);
+ QCOMPARE(e.columnNumber(), column);
+ QCOMPARE(e.lineNumber(), line);
+ QCOMPARE(e.publicId(), publicId);
+ QCOMPARE(e.systemId(), systemId);
+ }
+#else
+ QSKIP("Exceptions not available", SkipAll);
+#endif
+}
+
QTEST_MAIN(tst_QXml)
#include "tst_qxml.moc"
diff --git a/tests/auto/qxmlquery/tst_qxmlquery.cpp b/tests/auto/qxmlquery/tst_qxmlquery.cpp
index 1846dcb..ebf992d 100644
--- a/tests/auto/qxmlquery/tst_qxmlquery.cpp
+++ b/tests/auto/qxmlquery/tst_qxmlquery.cpp
@@ -223,6 +223,11 @@ private Q_SLOTS:
void bindVariableQXmlNameQXmlQuerySignature() const;
void bindVariableQXmlNameQXmlQuery() const;
void bindVariableQXmlQueryInvalidate() const;
+ void unknownSourceLocation() const;
+
+ void identityConstraintSuccess() const;
+ void identityConstraintFailure() const;
+ void identityConstraintFailure_data() const;
// TODO call all URI resolving functions where 1) the URI resolver return a null QUrl(); 2) resolves into valid, existing URI, 3) invalid, non-existing URI.
// TODO bind stringlists, variant lists, both ways.
@@ -2973,6 +2978,9 @@ void tst_QXmlQuery::enumQueryLanguage() const
/* These enum values should be possible to OR for future plans. */
QCOMPARE(int(QXmlQuery::XQuery10), 1);
QCOMPARE(int(QXmlQuery::XSLT20), 2);
+ QCOMPARE(int(QXmlQuery::XmlSchema11IdentityConstraintSelector), 1024);
+ QCOMPARE(int(QXmlQuery::XmlSchema11IdentityConstraintField), 2048);
+ QCOMPARE(int(QXmlQuery::XPath20), 4096);
}
void tst_QXmlQuery::setInitialTemplateNameQXmlName() const
@@ -3275,6 +3283,174 @@ void tst_QXmlQuery::bindVariableQXmlQueryInvalidate() const
QVERIFY(!query.isValid());
}
+void tst_QXmlQuery::unknownSourceLocation() const
+{
+ QBuffer b;
+ b.setData("<a><b/><b/></a>");
+ b.open(QIODevice::ReadOnly);
+
+ MessageSilencer silencer;
+ QXmlQuery query;
+ query.bindVariable(QLatin1String("inputDocument"), &b);
+ query.setMessageHandler(&silencer);
+
+ query.setQuery(QLatin1String("doc($inputDocument)/a/(let $v := b/string() return if ($v) then $v else ())"));
+
+ QString output;
+ query.evaluateTo(&output);
+}
+
+void tst_QXmlQuery::identityConstraintSuccess() const
+{
+ QXmlQuery::QueryLanguage queryLanguage = QXmlQuery::XmlSchema11IdentityConstraintSelector;
+
+ /* We run this code for Selector and Field. */
+ for(int i = 0; i < 3; ++i)
+ {
+ QXmlNamePool namePool;
+ QXmlResultItems result;
+ QXmlItem node;
+
+ {
+ QXmlQuery nodeSource(namePool);
+ nodeSource.setQuery(QLatin1String("<e/>"));
+
+ nodeSource.evaluateTo(&result);
+ node = result.next();
+ }
+
+ /* Basic use:
+ * 1. The focus is undefined, but it's still valid.
+ * 2. We never evaluate. */
+ {
+ QXmlQuery query(queryLanguage);
+ query.setQuery(QLatin1String("a"));
+ QVERIFY(query.isValid());
+ }
+
+ /* Basic use:
+ * 1. The focus is undefined, but it's still valid.
+ * 2. We afterwards set the focus. */
+ {
+ QXmlQuery query(queryLanguage, namePool);
+ query.setQuery(QLatin1String("a"));
+ query.setFocus(node);
+ QVERIFY(query.isValid());
+ }
+
+ /* Basic use:
+ * 1. The focus is undefined, but it's still valid.
+ * 2. We afterwards set the focus.
+ * 3. We evaluate. */
+ {
+ QXmlQuery query(queryLanguage, namePool);
+ query.setQuery(QString(QLatin1Char('.')));
+ query.setFocus(node);
+ QVERIFY(query.isValid());
+
+ QString result;
+ QVERIFY(query.evaluateTo(&result));
+ QCOMPARE(result, QString::fromLatin1("<e/>\n"));
+ }
+
+ /* A slightly more complex Field. */
+ {
+ QXmlQuery query(queryLanguage);
+ query.setQuery(QLatin1String("* | .//xml:*/."));
+ QVERIFY(query.isValid());
+ }
+
+ /* @ is only allowed in Field. */
+ if(queryLanguage == QXmlQuery::XmlSchema11IdentityConstraintField)
+ {
+ QXmlQuery query(QXmlQuery::XmlSchema11IdentityConstraintField);
+ query.setQuery(QLatin1String("@abc"));
+ QVERIFY(query.isValid());
+ }
+
+ /* Field allows attribute:: and child:: .*/
+ if(queryLanguage == QXmlQuery::XmlSchema11IdentityConstraintField)
+ {
+ QXmlQuery query(QXmlQuery::XmlSchema11IdentityConstraintField);
+ query.setQuery(QLatin1String("attribute::name | child::name"));
+ QVERIFY(query.isValid());
+ }
+
+ /* Selector allows only child:: .*/
+ {
+ QXmlQuery query(QXmlQuery::XmlSchema11IdentityConstraintSelector);
+ query.setQuery(QLatin1String("child::name"));
+ QVERIFY(query.isValid());
+ }
+
+ if(i == 0)
+ queryLanguage = QXmlQuery::XmlSchema11IdentityConstraintField;
+ else if(i == 1)
+ queryLanguage = QXmlQuery::XPath20;
+ }
+}
+
+Q_DECLARE_METATYPE(QXmlQuery::QueryLanguage);
+
+/*!
+ We just do some basic tests for boot strapping and sanity checking. The actual regression
+ testing is in the Schema suite.
+ */
+void tst_QXmlQuery::identityConstraintFailure() const
+{
+ QFETCH(QXmlQuery::QueryLanguage, queryLanguage);
+ QFETCH(QString, inputQuery);
+
+ QXmlQuery query(queryLanguage);
+ MessageSilencer silencer;
+ query.setMessageHandler(&silencer);
+
+ query.setQuery(inputQuery);
+ QVERIFY(!query.isValid());
+}
+
+void tst_QXmlQuery::identityConstraintFailure_data() const
+{
+ QTest::addColumn<QXmlQuery::QueryLanguage>("queryLanguage");
+ QTest::addColumn<QString>("inputQuery");
+
+ QTest::newRow("We don't have element constructors in identity constraint pattern, "
+ "it's an XQuery feature(Selector).")
+ << QXmlQuery::XmlSchema11IdentityConstraintSelector
+ << QString::fromLatin1("<e/>");
+
+ QTest::newRow("We don't have functions in identity constraint pattern, "
+ "it's an XPath feature(Selector).")
+ << QXmlQuery::XmlSchema11IdentityConstraintSelector
+ << QString::fromLatin1("current-time()");
+
+ QTest::newRow("We don't have element constructors in identity constraint pattern, "
+ "it's an XQuery feature(Field).")
+ << QXmlQuery::XmlSchema11IdentityConstraintSelector
+ << QString::fromLatin1("<e/>");
+
+ QTest::newRow("We don't have functions in identity constraint pattern, "
+ "it's an XPath feature(Field).")
+ << QXmlQuery::XmlSchema11IdentityConstraintSelector
+ << QString::fromLatin1("current-time()");
+
+ QTest::newRow("@attributeName is disallowed for the selector.")
+ << QXmlQuery::XmlSchema11IdentityConstraintSelector
+ << QString::fromLatin1("@abc");
+
+ QTest::newRow("attribute:: is disallowed for the selector.")
+ << QXmlQuery::XmlSchema11IdentityConstraintSelector
+ << QString::fromLatin1("attribute::name");
+
+ QTest::newRow("ancestor::name is disallowed for the selector.")
+ << QXmlQuery::XmlSchema11IdentityConstraintSelector
+ << QString::fromLatin1("ancestor::name");
+
+ QTest::newRow("ancestor::name is disallowed for the field.")
+ << QXmlQuery::XmlSchema11IdentityConstraintField
+ << QString::fromLatin1("ancestor::name");
+}
+
QTEST_MAIN(tst_QXmlQuery)
#include "tst_qxmlquery.moc"
diff --git a/tests/auto/qxmlschema/.gitignore b/tests/auto/qxmlschema/.gitignore
new file mode 100644
index 0000000..5cf52a0
--- /dev/null
+++ b/tests/auto/qxmlschema/.gitignore
@@ -0,0 +1 @@
+tst_qxmlschema
diff --git a/tests/auto/qxmlschema/qxmlschema.pro b/tests/auto/qxmlschema/qxmlschema.pro
new file mode 100644
index 0000000..f5abe4f
--- /dev/null
+++ b/tests/auto/qxmlschema/qxmlschema.pro
@@ -0,0 +1,5 @@
+load(qttest_p4)
+SOURCES += tst_qxmlschema.cpp
+QT += network
+
+include (../xmlpatterns.pri)
diff --git a/tests/auto/qxmlschema/tst_qxmlschema.cpp b/tests/auto/qxmlschema/tst_qxmlschema.cpp
new file mode 100644
index 0000000..33978e8
--- /dev/null
+++ b/tests/auto/qxmlschema/tst_qxmlschema.cpp
@@ -0,0 +1,372 @@
+/****************************************************************************
+**
+** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+****************************************************************************/
+
+#include <QtTest/QtTest>
+
+#ifdef QTEST_XMLPATTERNS
+
+#include <QAbstractMessageHandler>
+#include <QAbstractUriResolver>
+#include <QtNetwork/QNetworkAccessManager>
+#include <QXmlName>
+#include <QXmlSchema>
+
+#include "../qabstracturiresolver/TestURIResolver.h"
+#include "../qxmlquery/MessageSilencer.h"
+
+/*!
+ \class tst_QXmlSchema
+ \internal
+ \brief Tests class QXmlSchema.
+
+ This test is not intended for testing the engine, but the functionality specific
+ to the QXmlSchema class.
+ */
+class tst_QXmlSchema : public QObject
+{
+ Q_OBJECT
+
+private Q_SLOTS:
+ void defaultConstructor() const;
+ void copyConstructor() const;
+ void constructorQXmlNamePool() const;
+ void copyMutationTest() const;
+
+ void isValid() const;
+ void documentUri() const;
+
+ void loadSchemaUrlSuccess() const;
+ void loadSchemaUrlFail() const;
+ void loadSchemaDeviceSuccess() const;
+ void loadSchemaDeviceFail() const;
+ void loadSchemaDataSuccess() const;
+ void loadSchemaDataFail() const;
+
+ void networkAccessManagerSignature() const;
+ void networkAccessManagerDefaultValue() const;
+ void networkAccessManager() const;
+
+ void messageHandlerSignature() const;
+ void messageHandlerDefaultValue() const;
+ void messageHandler() const;
+
+ void uriResolverSignature() const;
+ void uriResolverDefaultValue() const;
+ void uriResolver() const;
+};
+
+void tst_QXmlSchema::defaultConstructor() const
+{
+ /* Allocate instance in different orders. */
+ {
+ QXmlSchema schema;
+ }
+
+ {
+ QXmlSchema schema1;
+ QXmlSchema schema2;
+ }
+
+ {
+ QXmlSchema schema1;
+ QXmlSchema schema2;
+ QXmlSchema schema3;
+ }
+}
+
+void tst_QXmlSchema::copyConstructor() const
+{
+ /* Verify that we can take a const reference, and simply do a copy of a default constructed object. */
+ {
+ const QXmlSchema schema1;
+ QXmlSchema schema2(schema1);
+ }
+
+ /* Copy twice. */
+ {
+ const QXmlSchema schema1;
+ QXmlSchema schema2(schema1);
+ QXmlSchema schema3(schema2);
+ }
+
+ /* Verify that copying default values works. */
+ {
+ const QXmlSchema schema1;
+ const QXmlSchema schema2(schema1);
+ QCOMPARE(schema2.messageHandler(), schema1.messageHandler());
+ QCOMPARE(schema2.uriResolver(), schema1.uriResolver());
+ QCOMPARE(schema2.networkAccessManager(), schema1.networkAccessManager());
+ QCOMPARE(schema2.isValid(), schema1.isValid());
+ }
+}
+
+void tst_QXmlSchema::constructorQXmlNamePool() const
+{
+ QXmlSchema schema;
+
+ QXmlNamePool np = schema.namePool();
+
+ const QXmlName name(np, QLatin1String("localName"),
+ QLatin1String("http://example.com/"),
+ QLatin1String("prefix"));
+
+ QXmlNamePool np2(schema.namePool());
+ QCOMPARE(name.namespaceUri(np2), QString::fromLatin1("http://example.com/"));
+ QCOMPARE(name.localName(np2), QString::fromLatin1("localName"));
+ QCOMPARE(name.prefix(np2), QString::fromLatin1("prefix"));
+
+ // make sure namePool() is const
+ const QXmlSchema constSchema;
+ np = constSchema.namePool();
+}
+
+void tst_QXmlSchema::copyMutationTest() const
+{
+ QXmlSchema schema1;
+ QXmlSchema schema2(schema1);
+
+ // check that everything is equal
+ QVERIFY(schema2.messageHandler() == schema1.messageHandler());
+ QVERIFY(schema2.uriResolver() == schema1.uriResolver());
+ QVERIFY(schema2.networkAccessManager() == schema1.networkAccessManager());
+
+ MessageSilencer handler;
+ const TestURIResolver resolver;
+ QNetworkAccessManager manager;
+
+ // modify schema1
+ schema1.setMessageHandler(&handler);
+ schema1.setUriResolver(&resolver);
+ schema1.setNetworkAccessManager(&manager);
+
+ // check that schema2 is not effected by the modifications of schema1
+ QVERIFY(schema2.messageHandler() != schema1.messageHandler());
+ QVERIFY(schema2.uriResolver() != schema1.uriResolver());
+ QVERIFY(schema2.networkAccessManager() != schema1.networkAccessManager());
+
+ // modify schema1 further
+ const QByteArray data( "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"
+ "<xsd:schema"
+ " xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\""
+ " xmlns=\"http://www.qtsoftware.com/xmlschematest\""
+ " targetNamespace=\"http://www.qtsoftware.com/xmlschematest\""
+ " version=\"1.0\""
+ " elementFormDefault=\"qualified\">"
+ "</xsd:schema>" );
+
+ const QUrl documentUri("http://www.qtsoftware.com/xmlschematest");
+ schema1.load(data, documentUri);
+
+ QVERIFY(schema2.isValid() != schema1.isValid());
+}
+
+void tst_QXmlSchema::isValid() const
+{
+ /* Check default value. */
+ QXmlSchema schema;
+ QVERIFY(!schema.isValid());
+}
+
+void tst_QXmlSchema::documentUri() const
+{
+ const QByteArray data( "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"
+ "<xsd:schema"
+ " xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\""
+ " xmlns=\"http://www.qtsoftware.com/xmlschematest\""
+ " targetNamespace=\"http://www.qtsoftware.com/xmlschematest\""
+ " version=\"1.0\""
+ " elementFormDefault=\"qualified\">"
+ "</xsd:schema>" );
+
+ const QUrl documentUri("http://www.qtsoftware.com/xmlschematest");
+ QXmlSchema schema;
+ schema.load(data, documentUri);
+
+ QCOMPARE(documentUri, schema.documentUri());
+}
+
+void tst_QXmlSchema::loadSchemaUrlSuccess() const
+{
+/**
+ TODO: put valid schema file on given url and enable test
+ const QUrl url("http://notavailable/");
+
+ QXmlSchema schema;
+ QVERIFY(!schema.load(url));
+*/
+}
+
+void tst_QXmlSchema::loadSchemaUrlFail() const
+{
+ const QUrl url("http://notavailable/");
+
+ QXmlSchema schema;
+ QVERIFY(!schema.load(url));
+}
+
+void tst_QXmlSchema::loadSchemaDeviceSuccess() const
+{
+ QByteArray data( "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"
+ "<xsd:schema"
+ " xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\""
+ " xmlns=\"http://www.qtsoftware.com/xmlschematest\""
+ " targetNamespace=\"http://www.qtsoftware.com/xmlschematest\""
+ " version=\"1.0\""
+ " elementFormDefault=\"qualified\">"
+ "</xsd:schema>" );
+
+ QBuffer buffer(&data);
+ buffer.open(QIODevice::ReadOnly);
+
+ QXmlSchema schema;
+ QVERIFY(schema.load(&buffer));
+}
+
+void tst_QXmlSchema::loadSchemaDeviceFail() const
+{
+ QByteArray data( "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"
+ "<xsd:schema"
+ " xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\""
+ " xmlns=\"http://www.qtsoftware.com/xmlschematest\""
+ " targetNamespace=\"http://www.qtsoftware.com/xmlschematest\""
+ " version=\"1.0\""
+ " elementFormDefault=\"qualified\">"
+ "</xsd:schema>" );
+
+ QBuffer buffer(&data);
+ // a closed device can not be loaded
+
+ QXmlSchema schema;
+ QVERIFY(!schema.load(&buffer));
+}
+
+void tst_QXmlSchema::loadSchemaDataSuccess() const
+{
+ const QByteArray data( "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"
+ "<xsd:schema"
+ " xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\""
+ " xmlns=\"http://www.qtsoftware.com/xmlschematest\""
+ " targetNamespace=\"http://www.qtsoftware.com/xmlschematest\""
+ " version=\"1.0\""
+ " elementFormDefault=\"qualified\">"
+ "</xsd:schema>" );
+ QXmlSchema schema;
+ QVERIFY(schema.load(data));
+}
+
+void tst_QXmlSchema::loadSchemaDataFail() const
+{
+ // empty schema can not be loaded
+ const QByteArray data;
+
+ QXmlSchema schema;
+ QVERIFY(!schema.load(data));
+}
+
+
+void tst_QXmlSchema::networkAccessManagerSignature() const
+{
+ /* Const object. */
+ const QXmlSchema schema;
+
+ /* The function should be const. */
+ schema.networkAccessManager();
+}
+
+void tst_QXmlSchema::networkAccessManagerDefaultValue() const
+{
+ /* Test that the default value of network access manager is not empty. */
+ {
+ QXmlSchema schema;
+ QVERIFY(schema.networkAccessManager() != static_cast<QNetworkAccessManager*>(0));
+ }
+}
+
+void tst_QXmlSchema::networkAccessManager() const
+{
+ /* Test that we return the network manager that was set. */
+ {
+ QNetworkAccessManager manager;
+ QXmlSchema schema;
+ schema.setNetworkAccessManager(&manager);
+ QCOMPARE(schema.networkAccessManager(), &manager);
+ }
+}
+
+void tst_QXmlSchema::messageHandlerSignature() const
+{
+ /* Const object. */
+ const QXmlSchema schema;
+
+ /* The function should be const. */
+ schema.messageHandler();
+}
+
+void tst_QXmlSchema::messageHandlerDefaultValue() const
+{
+ /* Test that the default value of message handler is not empty. */
+ {
+ QXmlSchema schema;
+ QVERIFY(schema.messageHandler() != static_cast<QAbstractMessageHandler*>(0));
+ }
+}
+
+void tst_QXmlSchema::messageHandler() const
+{
+ /* Test that we return the message handler that was set. */
+ {
+ MessageSilencer handler;
+
+ QXmlSchema schema;
+ schema.setMessageHandler(&handler);
+ QCOMPARE(schema.messageHandler(), &handler);
+ }
+}
+
+void tst_QXmlSchema::uriResolverSignature() const
+{
+ /* Const object. */
+ const QXmlSchema schema;
+
+ /* The function should be const. */
+ schema.uriResolver();
+
+ /* Const object. */
+ const TestURIResolver resolver;
+
+ /* This should compile */
+ QXmlSchema schema2;
+ schema2.setUriResolver(&resolver);
+}
+
+void tst_QXmlSchema::uriResolverDefaultValue() const
+{
+ /* Test that the default value of uri resolver is empty. */
+ {
+ QXmlSchema schema;
+ QVERIFY(schema.uriResolver() == static_cast<QAbstractUriResolver*>(0));
+ }
+}
+
+void tst_QXmlSchema::uriResolver() const
+{
+ /* Test that we return the uri resolver that was set. */
+ {
+ TestURIResolver resolver;
+
+ QXmlSchema schema;
+ schema.setUriResolver(&resolver);
+ QCOMPARE(schema.uriResolver(), &resolver);
+ }
+}
+
+QTEST_MAIN(tst_QXmlSchema)
+
+#include "tst_qxmlschema.moc"
+#else //QTEST_PATTERNIST
+QTEST_NOOP_MAIN
+#endif
diff --git a/tests/auto/qxmlschemavalidator/.gitignore b/tests/auto/qxmlschemavalidator/.gitignore
new file mode 100644
index 0000000..8857212
--- /dev/null
+++ b/tests/auto/qxmlschemavalidator/.gitignore
@@ -0,0 +1 @@
+tst_qxmlschemavalidator
diff --git a/tests/auto/qxmlschemavalidator/qxmlschemavalidator.pro b/tests/auto/qxmlschemavalidator/qxmlschemavalidator.pro
new file mode 100644
index 0000000..0b439d7
--- /dev/null
+++ b/tests/auto/qxmlschemavalidator/qxmlschemavalidator.pro
@@ -0,0 +1,5 @@
+load(qttest_p4)
+SOURCES += tst_qxmlschemavalidator.cpp
+QT += network
+
+include (../xmlpatterns.pri)
diff --git a/tests/auto/qxmlschemavalidator/tst_qxmlschemavalidator.cpp b/tests/auto/qxmlschemavalidator/tst_qxmlschemavalidator.cpp
new file mode 100644
index 0000000..0f15bc8
--- /dev/null
+++ b/tests/auto/qxmlschemavalidator/tst_qxmlschemavalidator.cpp
@@ -0,0 +1,445 @@
+/****************************************************************************
+**
+** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+****************************************************************************/
+
+#include <QtTest/QtTest>
+
+#ifdef QTEST_XMLPATTERNS
+
+#include <QAbstractMessageHandler>
+#include <QAbstractUriResolver>
+#include <QtNetwork/QNetworkAccessManager>
+#include <QXmlName>
+#include <QXmlSchema>
+#include <QXmlSchemaValidator>
+
+#include "../qabstracturiresolver/TestURIResolver.h"
+#include "../qxmlquery/MessageSilencer.h"
+
+/*!
+ \class tst_QXmlSchemaValidatorValidator
+ \internal
+ \brief Tests class QXmlSchemaValidator.
+
+ This test is not intended for testing the engine, but the functionality specific
+ to the QXmlSchemaValidator class.
+ */
+class tst_QXmlSchemaValidator : public QObject
+{
+ Q_OBJECT
+
+private Q_SLOTS:
+ void defaultConstructor() const;
+ void constructorQXmlNamePool() const;
+ void propertyInitialization() const;
+ void resetSchemaNamePool() const;
+
+ void loadInstanceUrlSuccess() const;
+ void loadInstanceUrlFail() const;
+ void loadInstanceDeviceSuccess() const;
+ void loadInstanceDeviceFail() const;
+ void loadInstanceDataSuccess() const;
+ void loadInstanceDataFail() const;
+
+ void networkAccessManagerSignature() const;
+ void networkAccessManagerDefaultValue() const;
+ void networkAccessManager() const;
+
+ void messageHandlerSignature() const;
+ void messageHandlerDefaultValue() const;
+ void messageHandler() const;
+
+ void uriResolverSignature() const;
+ void uriResolverDefaultValue() const;
+ void uriResolver() const;
+};
+
+static QXmlSchema createValidSchema()
+{
+ const QByteArray data( "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"
+ "<xsd:schema"
+ " xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\""
+ " xmlns=\"http://www.qtsoftware.com/xmlschematest\""
+ " targetNamespace=\"http://www.qtsoftware.com/xmlschematest\""
+ " version=\"1.0\""
+ " elementFormDefault=\"qualified\">"
+ " <xsd:element name=\"myRoot\" type=\"xsd:string\"/>"
+ "</xsd:schema>" );
+
+ const QUrl documentUri("http://www.qtsoftware.com/xmlschematest");
+
+ QXmlSchema schema;
+ schema.load(data, documentUri);
+
+ return schema;
+}
+
+void tst_QXmlSchemaValidator::defaultConstructor() const
+{
+ /* Allocate instance in different orders. */
+ {
+ QXmlSchema schema;
+ QXmlSchemaValidator validator(schema);
+ }
+
+ {
+ QXmlSchema schema1;
+ QXmlSchema schema2;
+
+ QXmlSchemaValidator validator1(schema1);
+ QXmlSchemaValidator validator2(schema2);
+ }
+
+ {
+ QXmlSchema schema;
+
+ QXmlSchemaValidator validator1(schema);
+ QXmlSchemaValidator validator2(schema);
+ }
+}
+
+void tst_QXmlSchemaValidator::propertyInitialization() const
+{
+ /* Verify that properties set in the schema are used as default values for the validator */
+ {
+ MessageSilencer handler;
+ TestURIResolver resolver;
+ QNetworkAccessManager manager;
+
+ QXmlSchema schema;
+ schema.setMessageHandler(&handler);
+ schema.setUriResolver(&resolver);
+ schema.setNetworkAccessManager(&manager);
+
+ QXmlSchemaValidator validator(schema);
+ QCOMPARE(validator.messageHandler(), &handler);
+ QCOMPARE(validator.uriResolver(), &resolver);
+ QCOMPARE(validator.networkAccessManager(), &manager);
+ }
+}
+
+void tst_QXmlSchemaValidator::constructorQXmlNamePool() const
+{
+ // test that the name pool from the schema is used by
+ // the schema validator as well
+ QXmlSchema schema;
+
+ QXmlNamePool np = schema.namePool();
+
+ const QXmlName name(np, QLatin1String("localName"),
+ QLatin1String("http://example.com/"),
+ QLatin1String("prefix"));
+
+ QXmlSchemaValidator validator(schema);
+
+ QXmlNamePool np2(validator.namePool());
+ QCOMPARE(name.namespaceUri(np2), QString::fromLatin1("http://example.com/"));
+ QCOMPARE(name.localName(np2), QString::fromLatin1("localName"));
+ QCOMPARE(name.prefix(np2), QString::fromLatin1("prefix"));
+
+ // make sure namePool() is const
+ const QXmlSchemaValidator constValidator(schema);
+ np = constValidator.namePool();
+}
+
+void tst_QXmlSchemaValidator::resetSchemaNamePool() const
+{
+ QXmlSchema schema1;
+ QXmlNamePool np1 = schema1.namePool();
+
+ const QXmlName name1(np1, QLatin1String("localName"),
+ QLatin1String("http://example.com/"),
+ QLatin1String("prefix"));
+
+ QXmlSchemaValidator validator(schema1);
+
+ {
+ QXmlNamePool compNamePool(validator.namePool());
+ QCOMPARE(name1.namespaceUri(compNamePool), QString::fromLatin1("http://example.com/"));
+ QCOMPARE(name1.localName(compNamePool), QString::fromLatin1("localName"));
+ QCOMPARE(name1.prefix(compNamePool), QString::fromLatin1("prefix"));
+ }
+
+ QXmlSchema schema2;
+ QXmlNamePool np2 = schema2.namePool();
+
+ const QXmlName name2(np2, QLatin1String("remoteName"),
+ QLatin1String("http://trolltech.com/"),
+ QLatin1String("suffix"));
+
+ // make sure that after re-setting the schema, the new namepool is used
+ validator.setSchema(schema2);
+
+ {
+ QXmlNamePool compNamePool(validator.namePool());
+ QCOMPARE(name2.namespaceUri(compNamePool), QString::fromLatin1("http://trolltech.com/"));
+ QCOMPARE(name2.localName(compNamePool), QString::fromLatin1("remoteName"));
+ QCOMPARE(name2.prefix(compNamePool), QString::fromLatin1("suffix"));
+ }
+}
+
+void tst_QXmlSchemaValidator::loadInstanceUrlSuccess() const
+{
+/*
+ TODO: put valid schema file on given url and enable test
+ const QXmlSchema schema(createValidSchema());
+ const QUrl url("http://notavailable/");
+
+ QXmlSchemaValidator validator(schema);
+ QVERIFY(!validator.validate(url));
+*/
+}
+
+void tst_QXmlSchemaValidator::loadInstanceUrlFail() const
+{
+ const QXmlSchema schema(createValidSchema());
+ const QUrl url("http://notavailable/");
+
+ QXmlSchemaValidator validator(schema);
+ QVERIFY(!validator.validate(url));
+}
+
+void tst_QXmlSchemaValidator::loadInstanceDeviceSuccess() const
+{
+ const QXmlSchema schema(createValidSchema());
+
+ QByteArray data( "<myRoot xmlns=\"http://www.qtsoftware.com/xmlschematest\">Testme</myRoot>" );
+ QBuffer buffer(&data);
+ buffer.open(QIODevice::ReadOnly);
+
+ QXmlSchemaValidator validator(schema);
+ QVERIFY(validator.validate(&buffer));
+}
+
+void tst_QXmlSchemaValidator::loadInstanceDeviceFail() const
+{
+ const QXmlSchema schema(createValidSchema());
+
+ QByteArray data( "<myRoot xmlns=\"http://www.qtsoftware.com/xmlschematest\">Testme</myRoot>" );
+ QBuffer buffer(&data);
+ // a closed device can not be loaded
+
+ QXmlSchemaValidator validator(schema);
+ QVERIFY(!validator.validate(&buffer));
+}
+
+void tst_QXmlSchemaValidator::loadInstanceDataSuccess() const
+{
+ const QXmlSchema schema(createValidSchema());
+
+ const QByteArray data( "<myRoot xmlns=\"http://www.qtsoftware.com/xmlschematest\">Testme</myRoot>" );
+
+ QXmlSchemaValidator validator(schema);
+ QVERIFY(validator.validate(data));
+}
+
+void tst_QXmlSchemaValidator::loadInstanceDataFail() const
+{
+ const QXmlSchema schema(createValidSchema());
+
+ // empty instance can not be loaded
+ const QByteArray data;
+
+ QXmlSchemaValidator validator(schema);
+ QVERIFY(!validator.validate(data));
+}
+
+void tst_QXmlSchemaValidator::networkAccessManagerSignature() const
+{
+ const QXmlSchema schema;
+
+ /* Const object. */
+ const QXmlSchemaValidator validator(schema);
+
+ /* The function should be const. */
+ validator.networkAccessManager();
+}
+
+void tst_QXmlSchemaValidator::networkAccessManagerDefaultValue() const
+{
+ /* Test that the default value of network access manager is equal to the one from the schema. */
+ {
+ const QXmlSchema schema;
+ const QXmlSchemaValidator validator(schema);
+ QVERIFY(validator.networkAccessManager() == schema.networkAccessManager());
+ }
+
+ /* Test that the default value of network access manager is equal to the one from the schema. */
+ {
+ QXmlSchema schema;
+
+ QNetworkAccessManager manager;
+ schema.setNetworkAccessManager(&manager);
+
+ const QXmlSchemaValidator validator(schema);
+ QVERIFY(validator.networkAccessManager() == schema.networkAccessManager());
+ }
+}
+
+void tst_QXmlSchemaValidator::networkAccessManager() const
+{
+ /* Test that we return the network access manager that was set. */
+ {
+ QNetworkAccessManager manager;
+
+ const QXmlSchema schema;
+ QXmlSchemaValidator validator(schema);
+
+ validator.setNetworkAccessManager(&manager);
+ QCOMPARE(validator.networkAccessManager(), &manager);
+ }
+
+ /* Test that we return the network access manager that was set, even if the schema changed in between. */
+ {
+ QNetworkAccessManager manager;
+
+ const QXmlSchema schema;
+ QXmlSchemaValidator validator(schema);
+
+ validator.setNetworkAccessManager(&manager);
+
+ const QXmlSchema schema2;
+ validator.setSchema(schema2);
+
+ QCOMPARE(validator.networkAccessManager(), &manager);
+ }
+}
+
+void tst_QXmlSchemaValidator::messageHandlerSignature() const
+{
+ const QXmlSchema schema;
+
+ /* Const object. */
+ const QXmlSchemaValidator validator(schema);
+
+ /* The function should be const. */
+ validator.messageHandler();
+}
+
+void tst_QXmlSchemaValidator::messageHandlerDefaultValue() const
+{
+ /* Test that the default value of message handler is equal to the one from the schema. */
+ {
+ const QXmlSchema schema;
+ const QXmlSchemaValidator validator(schema);
+ QVERIFY(validator.messageHandler() == schema.messageHandler());
+ }
+
+ /* Test that the default value of network access manager is equal to the one from the schema. */
+ {
+ QXmlSchema schema;
+
+ MessageSilencer handler;
+ schema.setMessageHandler(&handler);
+
+ const QXmlSchemaValidator validator(schema);
+ QVERIFY(validator.messageHandler() == schema.messageHandler());
+ }
+}
+
+void tst_QXmlSchemaValidator::messageHandler() const
+{
+ /* Test that we return the message handler that was set. */
+ {
+ MessageSilencer handler;
+
+ const QXmlSchema schema;
+ QXmlSchemaValidator validator(schema);
+
+ validator.setMessageHandler(&handler);
+ QCOMPARE(validator.messageHandler(), &handler);
+ }
+
+ /* Test that we return the message handler that was set, even if the schema changed in between. */
+ {
+ MessageSilencer handler;
+
+ const QXmlSchema schema;
+ QXmlSchemaValidator validator(schema);
+
+ validator.setMessageHandler(&handler);
+
+ const QXmlSchema schema2;
+ validator.setSchema(schema2);
+
+ QCOMPARE(validator.messageHandler(), &handler);
+ }
+}
+
+void tst_QXmlSchemaValidator::uriResolverSignature() const
+{
+ const QXmlSchema schema;
+
+ /* Const object. */
+ const QXmlSchemaValidator validator(schema);
+
+ /* The function should be const. */
+ validator.uriResolver();
+
+ /* Const object. */
+ const TestURIResolver resolver;
+
+ /* This should compile */
+ QXmlSchema schema2;
+ schema2.setUriResolver(&resolver);
+}
+
+void tst_QXmlSchemaValidator::uriResolverDefaultValue() const
+{
+ /* Test that the default value of uri resolver is equal to the one from the schema. */
+ {
+ const QXmlSchema schema;
+ const QXmlSchemaValidator validator(schema);
+ QVERIFY(validator.uriResolver() == schema.uriResolver());
+ }
+
+ /* Test that the default value of uri resolver is equal to the one from the schema. */
+ {
+ QXmlSchema schema;
+
+ TestURIResolver resolver;
+ schema.setUriResolver(&resolver);
+
+ const QXmlSchemaValidator validator(schema);
+ QVERIFY(validator.uriResolver() == schema.uriResolver());
+ }
+}
+
+void tst_QXmlSchemaValidator::uriResolver() const
+{
+ /* Test that we return the uri resolver that was set. */
+ {
+ TestURIResolver resolver;
+
+ const QXmlSchema schema;
+ QXmlSchemaValidator validator(schema);
+
+ validator.setUriResolver(&resolver);
+ QCOMPARE(validator.uriResolver(), &resolver);
+ }
+
+ /* Test that we return the uri resolver that was set, even if the schema changed in between. */
+ {
+ TestURIResolver resolver;
+
+ const QXmlSchema schema;
+ QXmlSchemaValidator validator(schema);
+
+ validator.setUriResolver(&resolver);
+
+ const QXmlSchema schema2;
+ validator.setSchema(schema2);
+
+ QCOMPARE(validator.uriResolver(), &resolver);
+ }
+}
+
+QTEST_MAIN(tst_QXmlSchemaValidator)
+
+#include "tst_qxmlschemavalidator.moc"
+#else //QTEST_PATTERNIST
+QTEST_NOOP_MAIN
+#endif
diff --git a/tests/auto/qxmlsimplereader/parser/main.cpp b/tests/auto/qxmlsimplereader/parser/main.cpp
index 4834428..ffb2ecd 100644
--- a/tests/auto/qxmlsimplereader/parser/main.cpp
+++ b/tests/auto/qxmlsimplereader/parser/main.cpp
@@ -42,6 +42,7 @@
#include <string.h>
#include <errno.h>
+#include <stdlib.h>
#include <qfile.h>
#include <qstring.h>
diff --git a/tests/auto/runQtXmlPatternsTests.sh b/tests/auto/runQtXmlPatternsTests.sh
index 49ea840..41d6c83 100755
--- a/tests/auto/runQtXmlPatternsTests.sh
+++ b/tests/auto/runQtXmlPatternsTests.sh
@@ -34,6 +34,8 @@ qxmlserializer \
xmlpatterns \
xmlpatternsxqts \
xmlpatternsdiagnosticsts \
+xmlpatternsschema \
+xmlpatternsschemats \
xmlpatternsview \
xmlpatternsxslts"
diff --git a/tests/auto/selftests/cmptest/tst_cmptest.cpp b/tests/auto/selftests/cmptest/tst_cmptest.cpp
index 59dd678..7395210 100644
--- a/tests/auto/selftests/cmptest/tst_cmptest.cpp
+++ b/tests/auto/selftests/cmptest/tst_cmptest.cpp
@@ -50,6 +50,8 @@ class tst_Cmptest: public QObject
private slots:
void compare_boolfuncs();
void compare_pointerfuncs();
+ void compare_tostring();
+ void compare_tostring_data();
};
static bool boolfunc() { return true; }
@@ -76,6 +78,50 @@ void tst_Cmptest::compare_pointerfuncs()
QCOMPARE(&i, intptr());
}
+Q_DECLARE_METATYPE(QVariant)
+
+class PhonyClass
+{};
+
+void tst_Cmptest::compare_tostring_data()
+{
+ QTest::addColumn<QVariant>("actual");
+ QTest::addColumn<QVariant>("expected");
+
+ QTest::newRow("int, string")
+ << QVariant::fromValue(123)
+ << QVariant::fromValue(QString("hi"))
+ ;
+
+ QTest::newRow("both invalid")
+ << QVariant()
+ << QVariant()
+ ;
+
+ QTest::newRow("null hash, invalid")
+ << QVariant(QVariant::Hash)
+ << QVariant()
+ ;
+
+ QTest::newRow("string, null user type")
+ << QVariant::fromValue(QString::fromLatin1("A simple string"))
+ << QVariant(QVariant::Type(qRegisterMetaType<PhonyClass>("PhonyClass")))
+ ;
+
+ QTest::newRow("both non-null user type")
+ << QVariant(qRegisterMetaType<PhonyClass>("PhonyClass"), (const void*)0)
+ << QVariant(qRegisterMetaType<PhonyClass>("PhonyClass"), (const void*)0)
+ ;
+}
+
+void tst_Cmptest::compare_tostring()
+{
+ QFETCH(QVariant, actual);
+ QFETCH(QVariant, expected);
+
+ QCOMPARE(actual, expected);
+}
+
QTEST_MAIN(tst_Cmptest)
#include "tst_cmptest.moc"
diff --git a/tests/auto/selftests/exception/exception.pro b/tests/auto/selftests/exception/exception.pro
deleted file mode 100644
index 65705c6..0000000
--- a/tests/auto/selftests/exception/exception.pro
+++ /dev/null
@@ -1,9 +0,0 @@
-load(qttest_p4)
-SOURCES += tst_exception.cpp
-QT = core
-
-mac:CONFIG -= app_bundle
-CONFIG -= debug_and_release_target
-
-
-TARGET = exception
diff --git a/tests/auto/selftests/exception/tst_exception.cpp b/tests/auto/selftests/exception/tst_exception.cpp
deleted file mode 100644
index a54bfbe..0000000
--- a/tests/auto/selftests/exception/tst_exception.cpp
+++ /dev/null
@@ -1,69 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the test suite of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-
-#include <QtTest/QtTest>
-
-class tst_Exception: public QObject
-{
- Q_OBJECT
-
-private slots:
- void throwException() const;
-};
-
-/*!
- \internal
-
- We simply throw an exception to check that we get sane output/reporting.
- */
-void tst_Exception::throwException() const
-{
- /* When exceptions are disabled, some compilers, at least linux-g++, treat
- * exception clauses as hard errors. */
-#ifndef QT_NO_EXCEPTIONS
- throw 3;
-#endif
-}
-
-QTEST_MAIN(tst_Exception)
-
-#include "tst_exception.moc"
diff --git a/tests/auto/selftests/exceptionthrow/exceptionthrow.pro b/tests/auto/selftests/exceptionthrow/exceptionthrow.pro
new file mode 100644
index 0000000..641818c
--- /dev/null
+++ b/tests/auto/selftests/exceptionthrow/exceptionthrow.pro
@@ -0,0 +1,9 @@
+load(qttest_p4)
+SOURCES += tst_exceptionthrow.cpp
+QT = core
+
+mac:CONFIG -= app_bundle
+CONFIG -= debug_and_release_target
+
+
+TARGET = exceptionthrow
diff --git a/tests/auto/selftests/exceptionthrow/tst_exceptionthrow.cpp b/tests/auto/selftests/exceptionthrow/tst_exceptionthrow.cpp
new file mode 100644
index 0000000..7a65c2d
--- /dev/null
+++ b/tests/auto/selftests/exceptionthrow/tst_exceptionthrow.cpp
@@ -0,0 +1,69 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+
+#include <QtTest/QtTest>
+
+class tst_Exception: public QObject
+{
+ Q_OBJECT
+
+private slots:
+ void throwException() const;
+};
+
+/*!
+ \internal
+
+ We simply throw an exception to check that we get sane output/reporting.
+ */
+void tst_Exception::throwException() const
+{
+ /* When exceptions are disabled, some compilers, at least linux-g++, treat
+ * exception clauses as hard errors. */
+#ifndef QT_NO_EXCEPTIONS
+ throw 3;
+#endif
+}
+
+QTEST_MAIN(tst_Exception)
+
+#include "tst_exceptionthrow.moc"
diff --git a/tests/auto/selftests/expected_cmptest.txt b/tests/auto/selftests/expected_cmptest.txt
index dc89d9d..f70eba5 100644
--- a/tests/auto/selftests/expected_cmptest.txt
+++ b/tests/auto/selftests/expected_cmptest.txt
@@ -1,8 +1,24 @@
********* Start testing of tst_Cmptest *********
-Config: Using QTest library 4.1.0, Qt 4.1.0
+Config: Using QTest library 4.6.0, Qt 4.6.0
PASS : tst_Cmptest::initTestCase()
PASS : tst_Cmptest::compare_boolfuncs()
PASS : tst_Cmptest::compare_pointerfuncs()
+FAIL! : tst_Cmptest::compare_tostring(int, string) Compared values are not the same
+ Actual (actual): QVariant(int,123)
+ Expected (expected): QVariant(QString,hi)
+ Loc: [/home/rmcgover/depot/qt/master/tests/auto/selftests/cmptest/tst_cmptest.cpp(122)]
+FAIL! : tst_Cmptest::compare_tostring(null hash, invalid) Compared values are not the same
+ Actual (actual): QVariant(QVariantHash)
+ Expected (expected): QVariant()
+ Loc: [/home/rmcgover/depot/qt/master/tests/auto/selftests/cmptest/tst_cmptest.cpp(122)]
+FAIL! : tst_Cmptest::compare_tostring(string, null user type) Compared values are not the same
+ Actual (actual): QVariant(QString,A simple string)
+ Expected (expected): QVariant(PhonyClass)
+ Loc: [/home/rmcgover/depot/qt/master/tests/auto/selftests/cmptest/tst_cmptest.cpp(122)]
+FAIL! : tst_Cmptest::compare_tostring(both non-null user type) Compared values are not the same
+ Actual (actual): QVariant(PhonyClass,<value not representable as string>)
+ Expected (expected): QVariant(PhonyClass,<value not representable as string>)
+ Loc: [/home/rmcgover/depot/qt/master/tests/auto/selftests/cmptest/tst_cmptest.cpp(122)]
PASS : tst_Cmptest::cleanupTestCase()
-Totals: 4 passed, 0 failed, 0 skipped
+Totals: 4 passed, 4 failed, 0 skipped
********* Finished testing of tst_Cmptest *********
diff --git a/tests/auto/selftests/expected_crashes_3.txt b/tests/auto/selftests/expected_crashes_3.txt
new file mode 100644
index 0000000..55cd0b4
--- /dev/null
+++ b/tests/auto/selftests/expected_crashes_3.txt
@@ -0,0 +1,8 @@
+********* Start testing of tst_Crashes *********
+Config: Using QTest library 4.6.0, Qt 4.6.0
+PASS : tst_Crashes::initTestCase()
+QFATAL : tst_Crashes::crash() Received signal 11
+FAIL! : tst_Crashes::crash() Received a fatal error.
+ Loc: [Unknown file(0)]
+Totals: 1 passed, 1 failed, 0 skipped
+********* Finished testing of tst_Crashes *********
diff --git a/tests/auto/selftests/expected_exception.txt b/tests/auto/selftests/expected_exceptionthrow.txt
index 141ea8b..141ea8b 100644
--- a/tests/auto/selftests/expected_exception.txt
+++ b/tests/auto/selftests/expected_exceptionthrow.txt
diff --git a/tests/auto/selftests/expected_longstring.txt b/tests/auto/selftests/expected_longstring.txt
new file mode 100644
index 0000000..4abdb23
--- /dev/null
+++ b/tests/auto/selftests/expected_longstring.txt
@@ -0,0 +1,16 @@
+********* Start testing of tst_LongString *********
+Config: Using QTest library 4.6.0, Qt 4.6.0
+PASS : tst_LongString::initTestCase()
+FAIL! : tst_LongString::failWithLongString() Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut, imperdiet a, venenatis vitae, justo. Nullam dictum felis eu pede mollis pretium. Integer tincidunt. Cras dapibus. Vivamus elementum semper nisi. Aenean vulputate eleifend tellus. Aenean leo ligula, porttitor eu, consequat vitae, eleifend ac, enim. Aliquam lorem ante, dapibus in, viverra quis, feugiat a, tellus. Phasellus viverra nulla ut metus varius laoreet. Quisque rutrum. Aenean imperdiet. Etiam ultricies nisi vel augue. Curabitur ullamcorper ultricies nisi. Nam eget dui.
+
+Etiam rhoncus. Maecenas tempus, tellus eget condimentum rhoncus, sem quam semper libero, sit amet adipiscing sem neque sed ipsum. Nam quam nunc, blandit vel, luctus pulvinar, hendrerit id, lorem. Maecenas nec odio et ante tincidunt tempus. Donec vitae sapien ut libero venenatis faucibus. Nullam quis ante. Etiam sit amet orci eget eros faucibus tincidunt. Duis leo. Sed fringilla mauris sit amet nibh. Donec sodales sagittis magna. Sed consequat, leo eget bibendum sodales, augue velit cursus nunc, quis gravida magna mi a libero. Fusce vulputate eleifend sapien. Vestibulum purus quam, scelerisque ut, mollis sed, nonummy id, metus. Nullam accumsan lorem in dui. Cras ultricies mi eu turpis hendrerit fringilla. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; In ac dui quis mi consectetuer lacinia.
+
+Nam pretium turpis et arcu. Duis arcu tortor, suscipit eget, imperdiet nec, imperdiet iaculis, ipsum. Sed aliquam ultrices mauris. Integer ante arcu, accumsan a, consectetuer eget, posuere ut, mauris. Praesent adipiscing. Phasellus ullamcorper ipsum rutrum nunc. Nunc nonummy metus. Vestibulum volutpat pretium libero. Cras id dui. Aenean ut eros et nisl sagittis vestibulum. Nullam nulla eros, ultricies sit amet, nonummy id, imperdiet feugiat, pede. Sed lectus. Donec mollis hendrerit risus. Phasellus nec sem in justo pellentesque facilisis. Etiam imperdiet imperdiet orci. Nunc nec neque. Phasellus leo dolor, tempus non, auctor et, hendrerit quis, nisi.
+
+Curabitur ligula sapien, tincidunt non, euismod vitae, posuere imperdiet, leo. Maecenas malesuada. Praesent congue erat at massa. Sed cursus turpis vitae tortor. Donec posuere vulputate arcu. Phasellus accumsan cursus velit. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Sed aliquam, nisi quis porttitor congue, elit erat euismod orci, ac placerat dolor lectus quis orci. Phasellus consectetuer vestibulum elit. Aenean tellus metus, bibendum sed, posuere ac, mattis non, nunc. Vestibulum fringilla pede sit amet augue. In turpis. Pellentesque posuere. Praesent turpis.
+
+Aenean posuere, tortor sed cursus feugiat, nunc augue blandit nunc, eu sollicitudin urna dolor sagittis lacus. Donec elit libero, sodales nec, volutpat a, suscipit non, turpis. Nullam sagittis. Suspendisse pulvinar, augue ac venenatis condimentum, sem libero volutpat nibh, nec pellentesque velit pede quis nunc. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Fusce id purus. Ut varius tincidunt libero. Phasellus dolor. Maecenas vestibulum mollis diam. Pellentesque ut neque. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.
+ Loc: [/home/rmcgover/depot/qt/master/tests/auto/selftests/longstring/tst_longstring.cpp(67)]
+PASS : tst_LongString::cleanupTestCase()
+Totals: 2 passed, 1 failed, 0 skipped
+********* Finished testing of tst_LongString *********
diff --git a/tests/auto/selftests/expected_maxwarnings.txt b/tests/auto/selftests/expected_maxwarnings.txt
index bb5e54f..8dae5f7 100644
--- a/tests/auto/selftests/expected_maxwarnings.txt
+++ b/tests/auto/selftests/expected_maxwarnings.txt
@@ -1,5 +1,5 @@
********* Start testing of MaxWarnings *********
-Config: Using QTest library 4.1.0, Qt 4.1.0
+Config: Using QTest library 4.6.0, Qt 4.6.0
PASS : MaxWarnings::initTestCase()
QWARN : MaxWarnings::warn() 0
QWARN : MaxWarnings::warn() 1
@@ -2002,7 +2002,7 @@ QWARN : MaxWarnings::warn() 1997
QWARN : MaxWarnings::warn() 1998
QWARN : MaxWarnings::warn() 1999
QWARN : MaxWarnings::warn() 2000
-QSYSTEM: MaxWarnings::warn() Maximum amount of warnings exceeded.
+QSYSTEM: MaxWarnings::warn() Maximum amount of warnings exceeded. Use -maxwarnings to override.
PASS : MaxWarnings::warn()
PASS : MaxWarnings::cleanupTestCase()
Totals: 3 passed, 0 failed, 0 skipped
diff --git a/tests/auto/selftests/longstring/longstring.pro b/tests/auto/selftests/longstring/longstring.pro
new file mode 100644
index 0000000..b917481
--- /dev/null
+++ b/tests/auto/selftests/longstring/longstring.pro
@@ -0,0 +1,10 @@
+load(qttest_p4)
+SOURCES += tst_longstring.cpp
+QT = core
+
+mac:CONFIG -= app_bundle
+CONFIG -= debug_and_release_target
+
+
+TARGET = longstring
+
diff --git a/tests/auto/selftests/longstring/tst_longstring.cpp b/tests/auto/selftests/longstring/tst_longstring.cpp
new file mode 100644
index 0000000..a708fa7
--- /dev/null
+++ b/tests/auto/selftests/longstring/tst_longstring.cpp
@@ -0,0 +1,72 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+
+#include <QtCore>
+#include <QtTest/QtTest>
+
+char const lipsum[] =
+"Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut, imperdiet a, venenatis vitae, justo. Nullam dictum felis eu pede mollis pretium. Integer tincidunt. Cras dapibus. Vivamus elementum semper nisi. Aenean vulputate eleifend tellus. Aenean leo ligula, porttitor eu, consequat vitae, eleifend ac, enim. Aliquam lorem ante, dapibus in, viverra quis, feugiat a, tellus. Phasellus viverra nulla ut metus varius laoreet. Quisque rutrum. Aenean imperdiet. Etiam ultricies nisi vel augue. Curabitur ullamcorper ultricies nisi. Nam eget dui.\n\n"
+"Etiam rhoncus. Maecenas tempus, tellus eget condimentum rhoncus, sem quam semper libero, sit amet adipiscing sem neque sed ipsum. Nam quam nunc, blandit vel, luctus pulvinar, hendrerit id, lorem. Maecenas nec odio et ante tincidunt tempus. Donec vitae sapien ut libero venenatis faucibus. Nullam quis ante. Etiam sit amet orci eget eros faucibus tincidunt. Duis leo. Sed fringilla mauris sit amet nibh. Donec sodales sagittis magna. Sed consequat, leo eget bibendum sodales, augue velit cursus nunc, quis gravida magna mi a libero. Fusce vulputate eleifend sapien. Vestibulum purus quam, scelerisque ut, mollis sed, nonummy id, metus. Nullam accumsan lorem in dui. Cras ultricies mi eu turpis hendrerit fringilla. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; In ac dui quis mi consectetuer lacinia.\n\n"
+"Nam pretium turpis et arcu. Duis arcu tortor, suscipit eget, imperdiet nec, imperdiet iaculis, ipsum. Sed aliquam ultrices mauris. Integer ante arcu, accumsan a, consectetuer eget, posuere ut, mauris. Praesent adipiscing. Phasellus ullamcorper ipsum rutrum nunc. Nunc nonummy metus. Vestibulum volutpat pretium libero. Cras id dui. Aenean ut eros et nisl sagittis vestibulum. Nullam nulla eros, ultricies sit amet, nonummy id, imperdiet feugiat, pede. Sed lectus. Donec mollis hendrerit risus. Phasellus nec sem in justo pellentesque facilisis. Etiam imperdiet imperdiet orci. Nunc nec neque. Phasellus leo dolor, tempus non, auctor et, hendrerit quis, nisi.\n\n"
+"Curabitur ligula sapien, tincidunt non, euismod vitae, posuere imperdiet, leo. Maecenas malesuada. Praesent congue erat at massa. Sed cursus turpis vitae tortor. Donec posuere vulputate arcu. Phasellus accumsan cursus velit. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Sed aliquam, nisi quis porttitor congue, elit erat euismod orci, ac placerat dolor lectus quis orci. Phasellus consectetuer vestibulum elit. Aenean tellus metus, bibendum sed, posuere ac, mattis non, nunc. Vestibulum fringilla pede sit amet augue. In turpis. Pellentesque posuere. Praesent turpis.\n\n"
+"Aenean posuere, tortor sed cursus feugiat, nunc augue blandit nunc, eu sollicitudin urna dolor sagittis lacus. Donec elit libero, sodales nec, volutpat a, suscipit non, turpis. Nullam sagittis. Suspendisse pulvinar, augue ac venenatis condimentum, sem libero volutpat nibh, nec pellentesque velit pede quis nunc. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Fusce id purus. Ut varius tincidunt libero. Phasellus dolor. Maecenas vestibulum mollis diam. Pellentesque ut neque. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas."
+;
+
+/*!
+ \internal
+ */
+class tst_LongString: public QObject
+{
+ Q_OBJECT
+
+private slots:
+ void failWithLongString() const;
+};
+
+void tst_LongString::failWithLongString() const
+{
+ QFAIL(lipsum);
+}
+
+QTEST_MAIN(tst_LongString)
+
+#include "tst_longstring.moc"
diff --git a/tests/auto/selftests/selftests.pro b/tests/auto/selftests/selftests.pro
index ca69afa..d854b5e 100644
--- a/tests/auto/selftests/selftests.pro
+++ b/tests/auto/selftests/selftests.pro
@@ -3,9 +3,9 @@ TEMPLATE = subdirs
SUBDIRS = subtest test warnings maxwarnings cmptest globaldata skipglobal skip \
strcmp expectfail sleep fetchbogus crashes multiexec failinit failinitdata \
skipinit skipinitdata datetime singleskip assert waitwithoutgui differentexec \
- exception qexecstringlist datatable commandlinedata\
+ exceptionthrow qexecstringlist datatable commandlinedata\
benchlibwalltime benchlibcallgrind benchlibeventcounter benchlibtickcounter \
- benchliboptions xunit badxml
+ benchliboptions xunit badxml longstring
INSTALLS =
diff --git a/tests/auto/selftests/selftests.qrc b/tests/auto/selftests/selftests.qrc
index d57ff29..4b75405 100644
--- a/tests/auto/selftests/selftests.qrc
+++ b/tests/auto/selftests/selftests.qrc
@@ -14,6 +14,7 @@
<file>expected_fetchbogus.txt</file>
<file>expected_crashes_1.txt</file>
<file>expected_crashes_2.txt</file>
+ <file>expected_crashes_3.txt</file>
<file>expected_multiexec.txt</file>
<file>expected_failinit.txt</file>
<file>expected_failinitdata.txt</file>
@@ -25,7 +26,7 @@
<file>expected_fatal.txt</file>
<file>expected_waitwithoutgui.txt</file>
<file>expected_differentexec.txt</file>
- <file>expected_exception.txt</file>
+ <file>expected_exceptionthrow.txt</file>
<file>expected_qexecstringlist.txt</file>
<file>expected_datatable.txt</file>
<file>expected_commandlinedata.txt</file>
@@ -35,5 +36,6 @@
<file>expected_benchliboptions.txt</file>
<file>expected_benchlibtickcounter.txt</file>
<file>expected_xunit.txt</file>
+ <file>expected_longstring.txt</file>
</qresource>
</RCC>
diff --git a/tests/auto/selftests/tst_selftests.cpp b/tests/auto/selftests/tst_selftests.cpp
index de51f53..76a005b 100644
--- a/tests/auto/selftests/tst_selftests.cpp
+++ b/tests/auto/selftests/tst_selftests.cpp
@@ -170,7 +170,7 @@ void tst_Selftests::runSubTest_data()
// with a warning that an uncaught exception was thrown.
// This will time out and falsely fail, therefore we disable the test for that platform.
# if !defined(Q_CC_INTEL) || !defined(Q_OS_WIN)
- QTest::newRow("exception") << "exception" << QStringList();
+ QTest::newRow("exceptionthrow") << "exceptionthrow" << QStringList();
# endif
#endif
QTest::newRow("qexecstringlist") << "qexecstringlist" << QStringList();
@@ -184,13 +184,15 @@ void tst_Selftests::runSubTest_data()
QTest::newRow("benchliboptions") << "benchliboptions" << QStringList("-eventcounter");
QTest::newRow("benchlibwalltime") << "benchlibwalltime" << QStringList();
- //### QWS tests are currently run on a virtual machine, where ticks are not
- //### monotonously increasing
-#if defined(HAVE_TICK_COUNTER) && !defined(Q_WS_QWS)
+ //### This test is affected by the speed of the CPU and whether the tick counter is
+ //### monotonically increasing. It won't work on some machines so leave it off by default.
+ //### Feel free to uncomment for your own testing.
+#if 0
QTest::newRow("benchlibtickcounter") << "benchlibtickcounter" << QStringList("-tickcounter");
#endif
QTest::newRow("xunit") << "xunit" << QStringList("-xunitxml");
+ QTest::newRow("longstring") << "longstring" << QStringList();
}
@@ -207,7 +209,7 @@ void tst_Selftests::doRunSubTest(QString &subdir, QStringList &arguments )
/* Windows-MSVC decide to output an error message when exceptions are thrown,
* so let's not check stderr for those. */
#if defined(Q_OS_WIN)
- if(subdir != QLatin1String("exception") && subdir != QLatin1String("fetchbogus"))
+ if(subdir != QLatin1String("exceptionthrow") && subdir != QLatin1String("fetchbogus"))
#endif
if(subdir != QLatin1String("xunit"))
QVERIFY2(err.isEmpty(), err.constData());
@@ -297,7 +299,9 @@ void tst_Selftests::runSubTest()
void tst_Selftests::initTestCase()
{
- m_checkXMLBlacklist.append("crashes"); // This test crashes
+#ifndef Q_OS_UNIX
+ m_checkXMLBlacklist.append("crashes"); // This test crashes (XML valid on Unix only)
+#endif
m_checkXMLBlacklist.append("waitwithoutgui"); // This test is not a QTestLib test.
/* Output from several tests is broken with the XML output method,
@@ -343,7 +347,7 @@ void tst_Selftests::checkXML() const
* this is what windows platforms says:
* "This application has requested the Runtime to terminate it in an unusual way.
* Please contact the application's support team for more information." */
- if(subdir != QLatin1String("exception") && subdir != QLatin1String("fetchbogus"))
+ if(subdir != QLatin1String("exceptionthrow") && subdir != QLatin1String("fetchbogus"))
QVERIFY2(err.isEmpty(), err.constData());
QXmlStreamReader reader(out);
@@ -385,7 +389,7 @@ void tst_Selftests::checkXunitxml() const
* this is what windows platforms says:
* "This application has requested the Runtime to terminate it in an unusual way.
* Please contact the application's support team for more information." */
- if(subdir != QLatin1String("exception") && subdir != QLatin1String("fetchbogus"))
+ if(subdir != QLatin1String("exceptionthrow") && subdir != QLatin1String("fetchbogus"))
QVERIFY2(err.isEmpty(), err.constData());
QXmlStreamReader reader(out);
diff --git a/tests/auto/selftests/xunit/xunit.pro b/tests/auto/selftests/xunit/xunit.pro
index 81ca157..55aca4a 100644
--- a/tests/auto/selftests/xunit/xunit.pro
+++ b/tests/auto/selftests/xunit/xunit.pro
@@ -1,15 +1,8 @@
load(qttest_p4)
SOURCES += tst_xunit.cpp
-wince*: {
- addImages.sources = images/*
- addImages.path = images
- DEPLOYMENT += addImages
- DEFINES += SRCDIR=\\\".\\\"
-} else {
- contains(QT_CONFIG, qt3support): QT += qt3support
- DEFINES += SRCDIR=\\\"$$PWD\\\"
-}
+mac:CONFIG -= app_bundle
+CONFIG -= debug_and_release_target
TARGET = xunit
diff --git a/tests/auto/symbian/orientationchange/tst_orientationchange.cpp b/tests/auto/symbian/orientationchange/tst_orientationchange.cpp
index ff371fa..0f04118 100644
--- a/tests/auto/symbian/orientationchange/tst_orientationchange.cpp
+++ b/tests/auto/symbian/orientationchange/tst_orientationchange.cpp
@@ -1,7 +1,7 @@
/****************************************************************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the test suite of the Qt Toolkit.
**
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/tests/auto/symbian/qmainexceptions/tst_qmainexceptions.cpp b/tests/auto/symbian/qmainexceptions/tst_qmainexceptions.cpp
index bfe092b..b3d05ea 100644
--- a/tests/auto/symbian/qmainexceptions/tst_qmainexceptions.cpp
+++ b/tests/auto/symbian/qmainexceptions/tst_qmainexceptions.cpp
@@ -1,7 +1,7 @@
/****************************************************************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the test suite of the Qt Toolkit.
**
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/tests/auto/test.pl b/tests/auto/test.pl
index 9fd5c9d..a9e3da8 100755
--- a/tests/auto/test.pl
+++ b/tests/auto/test.pl
@@ -1,4 +1,4 @@
-#!/usr/bin/perl
+#!/usr/bin/env perl
use strict;
use Cwd;
diff --git a/tests/auto/tests.xml b/tests/auto/tests.xml
index a5386b2..ccfc380 100644
--- a/tests/auto/tests.xml
+++ b/tests/auto/tests.xml
@@ -271,6 +271,10 @@
<Test name="qsocks5socketengine" location="tests/auto/qsocks5socketengine/tst_qsocks5socketengine" />
<Test name="qsortfilterproxymodel" location="tests/auto/qsortfilterproxymodel/tst_qsortfilterproxymodel" />
<Test name="qsound" location="tests/auto/qsound/tst_qsound" />
+ <Test name="qaudiodeviceid" location="tests/auto/qaudiodeviceid/tst_qaudiodeviceid" />
+ <Test name="qaudioformat" location="tests/auto/qaudioformat/tst_qaudioformat" />
+ <Test name="qaudiooutput" location="tests/auto/qaudiooutput/tst_qaudiooutput" />
+ <Test name="qaudioinput" location="tests/auto/qaudioinput/tst_qaudioinput" />
<Test name="qsourcelocation" location="tests/auto/qsourcelocation/tst_qsourcelocation" />
<Test name="qspinbox" location="tests/auto/qspinbox/tst_qspinbox" />
<Test name="qsplitter" location="tests/auto/qsplitter/tst_qsplitter" />
@@ -676,6 +680,10 @@
<Test id="qsocks5socketengine" />
<Test id="qsortfilterproxymodel" />
<Test id="qsound" />
+ <Test id="qaudiodeviceid" />
+ <Test id="qaudioformat" />
+ <Test id="qaudiooutput" />
+ <Test id="qaudioinput" />
<Test id="qsourcelocation" />
<Test id="qspinbox" />
<Test id="qsplitter" />
diff --git a/tests/auto/uic3/uic3.pro b/tests/auto/uic3/uic3.pro
index 520f95a..72a1304 100644
--- a/tests/auto/uic3/uic3.pro
+++ b/tests/auto/uic3/uic3.pro
@@ -6,3 +6,6 @@ TARGET = tst_uic3
# This test is not run on wince (I think)
DEFINES += SRCDIR=\\\"$$PWD\\\"
+
+requires(contains(QT_CONFIG,qt3support))
+
diff --git a/tests/auto/uiloader/baseline/css_scrollarea_base.ui b/tests/auto/uiloader/baseline/css_scrollarea_base.ui
new file mode 100644
index 0000000..495401f
--- /dev/null
+++ b/tests/auto/uiloader/baseline/css_scrollarea_base.ui
@@ -0,0 +1,197 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>Form</class>
+ <widget class="QWidget" name="Form">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>407</width>
+ <height>339</height>
+ </rect>
+ </property>
+ <property name="windowTitle">
+ <string>Form</string>
+ </property>
+ <property name="styleSheet">
+ <string notr="true">QAbstractScrollArea { border: 2px dashed #e12; }
+QHeaderView { border-color: blue; }
+
+</string>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout">
+ <item>
+ <widget class="QPlainTextEdit" name="plainTextEdit">
+ <property name="plainText">
+ <string>Note that the task 257517 requires to scroll down, and check that the backgroud is still filled with the base color (white by default)
+
+x
+x
+
+x
+x
+
+x
+x
+
+x
+x
+
+</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QTableWidget" name="tableWidget">
+ <row>
+ <property name="text">
+ <string>New Row</string>
+ </property>
+ </row>
+ <row>
+ <property name="text">
+ <string>New Row</string>
+ </property>
+ </row>
+ <row>
+ <property name="text">
+ <string>New Row</string>
+ </property>
+ </row>
+ <row>
+ <property name="text">
+ <string>New Row</string>
+ </property>
+ </row>
+ <row>
+ <property name="text">
+ <string>New Row</string>
+ </property>
+ </row>
+ <row>
+ <property name="text">
+ <string>New Row</string>
+ </property>
+ </row>
+ <row>
+ <property name="text">
+ <string>New Row</string>
+ </property>
+ </row>
+ <row>
+ <property name="text">
+ <string>New Row</string>
+ </property>
+ </row>
+ <row>
+ <property name="text">
+ <string>New Row</string>
+ </property>
+ </row>
+ <row>
+ <property name="text">
+ <string>New Row</string>
+ </property>
+ </row>
+ <row>
+ <property name="text">
+ <string>New Row</string>
+ </property>
+ </row>
+ <row>
+ <property name="text">
+ <string>New Row</string>
+ </property>
+ </row>
+ <row>
+ <property name="text">
+ <string>New Row</string>
+ </property>
+ </row>
+ <row>
+ <property name="text">
+ <string>New Row</string>
+ </property>
+ </row>
+ <column>
+ <property name="text">
+ <string>New Column</string>
+ </property>
+ </column>
+ <column>
+ <property name="text">
+ <string>New Column</string>
+ </property>
+ </column>
+ <column>
+ <property name="text">
+ <string>New Column</string>
+ </property>
+ </column>
+ <column>
+ <property name="text">
+ <string>New Column</string>
+ </property>
+ </column>
+ <column>
+ <property name="text">
+ <string>New Column</string>
+ </property>
+ </column>
+ <column>
+ <property name="text">
+ <string>New Column</string>
+ </property>
+ </column>
+ <column>
+ <property name="text">
+ <string>New Column</string>
+ </property>
+ </column>
+ <column>
+ <property name="text">
+ <string>New Column</string>
+ </property>
+ </column>
+ <column>
+ <property name="text">
+ <string>New Column</string>
+ </property>
+ </column>
+ <column>
+ <property name="text">
+ <string>New Column</string>
+ </property>
+ </column>
+ </widget>
+ </item>
+ <item>
+ <widget class="QTextEdit" name="textEdit">
+ <property name="html">
+ <string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
+&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; font-size:10pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;x&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;x&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;x&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;x&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;x&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;x&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;x&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;x&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;x&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;x&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <resources/>
+ <connections/>
+</ui>
diff --git a/tests/auto/windowsmobile/test/tst_windowsmobile.cpp b/tests/auto/windowsmobile/test/tst_windowsmobile.cpp
index 8c7c021..654e19f 100644
--- a/tests/auto/windowsmobile/test/tst_windowsmobile.cpp
+++ b/tests/auto/windowsmobile/test/tst_windowsmobile.cpp
@@ -72,7 +72,7 @@ public:
#ifdef Q_OS_WINCE_WM
bool qt_wince_is_platform(const QString &platformString) {
- TCHAR tszPlatform[64];
+ wchar_t tszPlatform[64];
if (SystemParametersInfo(SPI_GETPLATFORMTYPE,
sizeof(tszPlatform)/sizeof(*tszPlatform),tszPlatform,0))
if (0 == _tcsicmp(reinterpret_cast<const wchar_t *> (platformString.utf16()), tszPlatform))
diff --git a/tests/auto/xmlpatterns.pri b/tests/auto/xmlpatterns.pri
index bf13c3b..7cdd67f 100644
--- a/tests/auto/xmlpatterns.pri
+++ b/tests/auto/xmlpatterns.pri
@@ -19,3 +19,17 @@ if(!debug_and_release|build_pass):CONFIG(debug, debug|release) {
else: XMLPATTERNS_SDK = $${XMLPATTERNS_SDK}_debug
}
+INCLUDEPATH += \
+ $$QT_SOURCE_TREE/src/xmlpatterns/acceltree \
+ $$QT_SOURCE_TREE/src/xmlpatterns/api \
+ $$QT_SOURCE_TREE/src/xmlpatterns/data \
+ $$QT_SOURCE_TREE/src/xmlpatterns/environment \
+ $$QT_SOURCE_TREE/src/xmlpatterns/expr \
+ $$QT_SOURCE_TREE/src/xmlpatterns/functions \
+ $$QT_SOURCE_TREE/src/xmlpatterns/iterators \
+ $$QT_SOURCE_TREE/src/xmlpatterns/janitors \
+ $$QT_SOURCE_TREE/src/xmlpatterns/parser \
+ $$QT_SOURCE_TREE/src/xmlpatterns/projection \
+ $$QT_SOURCE_TREE/src/xmlpatterns/schema \
+ $$QT_SOURCE_TREE/src/xmlpatterns/type \
+ $$QT_SOURCE_TREE/src/xmlpatterns/utils
diff --git a/tests/auto/xmlpatternsdiagnosticsts/test/tst_xmlpatternsdiagnosticsts.cpp b/tests/auto/xmlpatternsdiagnosticsts/test/tst_xmlpatternsdiagnosticsts.cpp
index f3df426..07e1fed 100644
--- a/tests/auto/xmlpatternsdiagnosticsts/test/tst_xmlpatternsdiagnosticsts.cpp
+++ b/tests/auto/xmlpatternsdiagnosticsts/test/tst_xmlpatternsdiagnosticsts.cpp
@@ -61,7 +61,7 @@ protected:
virtual void catalogPath(QString &write) const;
};
-tst_XmlPatternsXSLTS::tst_XmlPatternsXSLTS() : tst_SuiteTest(false, true)
+tst_XmlPatternsXSLTS::tst_XmlPatternsXSLTS() : tst_SuiteTest(tst_SuiteTest::XQuerySuite, true)
{
}
diff --git a/tests/auto/xmlpatternsdiagnosticsts/xmlpatternsdiagnosticsts.pro b/tests/auto/xmlpatternsdiagnosticsts/xmlpatternsdiagnosticsts.pro
index e90b335..3d82eaf 100644
--- a/tests/auto/xmlpatternsdiagnosticsts/xmlpatternsdiagnosticsts.pro
+++ b/tests/auto/xmlpatternsdiagnosticsts/xmlpatternsdiagnosticsts.pro
@@ -2,3 +2,4 @@ TEMPLATE = subdirs
CONFIG += ordered
SUBDIRS = ../xmlpatternsxqts test
+requires(contains(QT_CONFIG,private_tests))
diff --git a/tests/auto/xmlpatternsschema/.gitignore b/tests/auto/xmlpatternsschema/.gitignore
new file mode 100644
index 0000000..a37a2b7
--- /dev/null
+++ b/tests/auto/xmlpatternsschema/.gitignore
@@ -0,0 +1 @@
+tst_xmlpatternsschema
diff --git a/tests/auto/xmlpatternsschema/tst_xmlpatternsschema.cpp b/tests/auto/xmlpatternsschema/tst_xmlpatternsschema.cpp
new file mode 100644
index 0000000..030e9c0
--- /dev/null
+++ b/tests/auto/xmlpatternsschema/tst_xmlpatternsschema.cpp
@@ -0,0 +1,988 @@
+
+#include <QtTest/QtTest>
+
+#include "qxsdstatemachine_p.h"
+#include "qxsdschematoken_p.h"
+
+using namespace QPatternist;
+
+class tst_XMLPatternsSchema : public QObject
+{
+ Q_OBJECT
+
+ public slots:
+ void init();
+ void cleanup();
+
+ private slots:
+ void stateMachineTest1();
+ void stateMachineTest2();
+ void stateMachineTest3();
+ void stateMachineTest4();
+ void stateMachineTest5();
+ void stateMachineTest6();
+ void stateMachineTest7();
+ void stateMachineTest8();
+ void stateMachineTest9();
+ void stateMachineTest10();
+ void stateMachineTest11();
+ void stateMachineTest12();
+ void stateMachineTest13();
+ void stateMachineTest14();
+ void stateMachineTest15();
+ void stateMachineTest16();
+ void stateMachineTest17();
+ void stateMachineTest18();
+ void stateMachineTest19();
+
+ private:
+ bool runTest(const QVector<XsdSchemaToken::NodeName> &list, XsdStateMachine<XsdSchemaToken::NodeName> &machine);
+};
+
+void tst_XMLPatternsSchema::init()
+{
+}
+
+void tst_XMLPatternsSchema::cleanup()
+{
+}
+
+bool tst_XMLPatternsSchema::runTest(const QVector<XsdSchemaToken::NodeName> &list, XsdStateMachine<XsdSchemaToken::NodeName> &machine)
+{
+ machine.reset();
+ for (int i = 0; i < list.count(); ++i) {
+ if (!machine.proceed(list.at(i)))
+ return false;
+ }
+ if (!machine.inEndState())
+ return false;
+
+ return true;
+}
+
+void tst_XMLPatternsSchema::stateMachineTest1()
+{
+ XsdStateMachine<XsdSchemaToken::NodeName> machine;
+
+ // setup state machine for (annotation?, simpleType?) : attribute
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId startState = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::StartEndState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s1 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s2 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+
+ machine.addTransition(startState, XsdSchemaToken::Annotation, s1);
+ machine.addTransition(startState, XsdSchemaToken::SimpleType, s2);
+ machine.addTransition(s1, XsdSchemaToken::SimpleType, s2);
+
+ QVERIFY(machine.inEndState() == true);
+ QVERIFY(machine.proceed(XsdSchemaToken::Annotation) == true);
+ QVERIFY(machine.inEndState() == true);
+ QVERIFY(machine.proceed(XsdSchemaToken::SimpleType) == true);
+ QVERIFY(machine.inEndState() == true);
+ QVERIFY(machine.proceed(XsdSchemaToken::SimpleType) == false);
+ QVERIFY(machine.proceed(XsdSchemaToken::Annotation) == false);
+ machine.reset();
+ QVERIFY(machine.proceed(XsdSchemaToken::SimpleType) == true);
+ QVERIFY(machine.inEndState() == true);
+ QVERIFY(machine.proceed(XsdSchemaToken::Annotation) == false);
+}
+
+void tst_XMLPatternsSchema::stateMachineTest2()
+{
+ XsdStateMachine<XsdSchemaToken::NodeName> machine;
+
+ // setup state machine for (annotation?, ((simpleType | complexType)?, (unique | key | keyref)*)) : element
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId startState = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::StartEndState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s1 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s2 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s3 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s4 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s5 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s6 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+
+ machine.addTransition(startState, XsdSchemaToken::Annotation, s1);
+ machine.addTransition(startState, XsdSchemaToken::SimpleType, s2);
+ machine.addTransition(startState, XsdSchemaToken::ComplexType, s3);
+ machine.addTransition(startState, XsdSchemaToken::Unique, s4);
+ machine.addTransition(startState, XsdSchemaToken::Key, s5);
+ machine.addTransition(startState, XsdSchemaToken::Keyref, s6);
+
+ machine.addTransition(s1, XsdSchemaToken::SimpleType, s2);
+ machine.addTransition(s1, XsdSchemaToken::ComplexType, s3);
+ machine.addTransition(s1, XsdSchemaToken::Unique, s4);
+ machine.addTransition(s1, XsdSchemaToken::Key, s5);
+ machine.addTransition(s1, XsdSchemaToken::Keyref, s6);
+
+ machine.addTransition(s2, XsdSchemaToken::Unique, s4);
+ machine.addTransition(s2, XsdSchemaToken::Key, s5);
+ machine.addTransition(s2, XsdSchemaToken::Keyref, s6);
+
+ machine.addTransition(s3, XsdSchemaToken::Unique, s4);
+ machine.addTransition(s3, XsdSchemaToken::Key, s5);
+ machine.addTransition(s3, XsdSchemaToken::Keyref, s6);
+
+ machine.addTransition(s4, XsdSchemaToken::Unique, s4);
+ machine.addTransition(s4, XsdSchemaToken::Key, s5);
+ machine.addTransition(s4, XsdSchemaToken::Keyref, s6);
+
+ machine.addTransition(s5, XsdSchemaToken::Unique, s4);
+ machine.addTransition(s5, XsdSchemaToken::Key, s5);
+ machine.addTransition(s5, XsdSchemaToken::Keyref, s6);
+
+ machine.addTransition(s6, XsdSchemaToken::Unique, s4);
+ machine.addTransition(s6, XsdSchemaToken::Key, s5);
+ machine.addTransition(s6, XsdSchemaToken::Keyref, s6);
+
+ QVector<XsdSchemaToken::NodeName> data1, data2, data3;
+
+ data1 << XsdSchemaToken::Annotation
+ << XsdSchemaToken::SimpleType
+ << XsdSchemaToken::Unique
+ << XsdSchemaToken::Keyref;
+
+ data2 << XsdSchemaToken::Annotation
+ << XsdSchemaToken::SimpleType
+ << XsdSchemaToken::Annotation
+ << XsdSchemaToken::Keyref;
+
+ data3 << XsdSchemaToken::Annotation
+ << XsdSchemaToken::SimpleType
+ << XsdSchemaToken::SimpleType;
+
+ QVERIFY(runTest(data1, machine) == true);
+ QVERIFY(runTest(data2, machine) == false);
+ QVERIFY(runTest(data3, machine) == false);
+}
+
+void tst_XMLPatternsSchema::stateMachineTest3()
+{
+ XsdStateMachine<XsdSchemaToken::NodeName> machine;
+
+ // setup state machine for (annotation?, (simpleContent | complexContent | ((group | all | choice | sequence)?, ((attribute | attributeGroup)*, anyAttribute?)))) : complexType
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId startState = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::StartEndState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s1 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s2 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s3 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s4 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s5 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s6 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s7 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s8 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s9 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s10 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+
+ machine.addTransition(startState, XsdSchemaToken::Annotation, s1);
+ machine.addTransition(startState, XsdSchemaToken::SimpleContent, s2);
+ machine.addTransition(startState, XsdSchemaToken::ComplexContent, s3);
+ machine.addTransition(startState, XsdSchemaToken::Group, s4);
+ machine.addTransition(startState, XsdSchemaToken::All, s5);
+ machine.addTransition(startState, XsdSchemaToken::Choice, s6);
+ machine.addTransition(startState, XsdSchemaToken::Sequence, s7);
+ machine.addTransition(startState, XsdSchemaToken::Attribute, s8);
+ machine.addTransition(startState, XsdSchemaToken::AttributeGroup, s9);
+ machine.addTransition(startState, XsdSchemaToken::AnyAttribute, s10);
+
+ machine.addTransition(s1, XsdSchemaToken::SimpleContent, s2);
+ machine.addTransition(s1, XsdSchemaToken::ComplexContent, s3);
+ machine.addTransition(s1, XsdSchemaToken::Group, s4);
+ machine.addTransition(s1, XsdSchemaToken::All, s5);
+ machine.addTransition(s1, XsdSchemaToken::Choice, s6);
+ machine.addTransition(s1, XsdSchemaToken::Sequence, s7);
+ machine.addTransition(s1, XsdSchemaToken::Attribute, s8);
+ machine.addTransition(s1, XsdSchemaToken::AttributeGroup, s9);
+ machine.addTransition(s1, XsdSchemaToken::AnyAttribute, s10);
+
+ machine.addTransition(s4, XsdSchemaToken::Attribute, s8);
+ machine.addTransition(s4, XsdSchemaToken::AttributeGroup, s9);
+ machine.addTransition(s4, XsdSchemaToken::AnyAttribute, s10);
+
+ machine.addTransition(s5, XsdSchemaToken::Attribute, s8);
+ machine.addTransition(s5, XsdSchemaToken::AttributeGroup, s9);
+ machine.addTransition(s5, XsdSchemaToken::AnyAttribute, s10);
+
+ machine.addTransition(s6, XsdSchemaToken::Attribute, s8);
+ machine.addTransition(s6, XsdSchemaToken::AttributeGroup, s9);
+ machine.addTransition(s6, XsdSchemaToken::AnyAttribute, s10);
+
+ machine.addTransition(s7, XsdSchemaToken::Attribute, s8);
+ machine.addTransition(s7, XsdSchemaToken::AttributeGroup, s9);
+ machine.addTransition(s7, XsdSchemaToken::AnyAttribute, s10);
+
+ machine.addTransition(s8, XsdSchemaToken::Attribute, s8);
+ machine.addTransition(s8, XsdSchemaToken::AttributeGroup, s9);
+ machine.addTransition(s8, XsdSchemaToken::AnyAttribute, s10);
+
+ QVector<XsdSchemaToken::NodeName> data1, data2, data3, data4;
+
+ data1 << XsdSchemaToken::Annotation
+ << XsdSchemaToken::SimpleContent;
+
+ data2 << XsdSchemaToken::Group
+ << XsdSchemaToken::Attribute
+ << XsdSchemaToken::Attribute
+ << XsdSchemaToken::AnyAttribute;
+
+ data3 << XsdSchemaToken::Group
+ << XsdSchemaToken::Choice
+ << XsdSchemaToken::Attribute
+ << XsdSchemaToken::AnyAttribute;
+
+ data4 << XsdSchemaToken::Annotation
+ << XsdSchemaToken::Sequence
+ << XsdSchemaToken::AnyAttribute;
+
+ QVERIFY(runTest(data1, machine) == true);
+ QVERIFY(runTest(data2, machine) == true);
+ QVERIFY(runTest(data3, machine) == false);
+ QVERIFY(runTest(data4, machine) == true);
+}
+
+void tst_XMLPatternsSchema::stateMachineTest4()
+{
+ XsdStateMachine<XsdSchemaToken::NodeName> machine;
+
+ // setup state machine for (annotation?, ((attribute | attributeGroup)*, anyAttribute?)) : named attribute group/simple content extension/
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId startState = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::StartEndState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s1 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s2 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s3 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s4 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+
+ machine.addTransition(startState, XsdSchemaToken::Annotation, s1);
+ machine.addTransition(startState, XsdSchemaToken::Attribute, s2);
+ machine.addTransition(startState, XsdSchemaToken::AttributeGroup, s3);
+ machine.addTransition(startState, XsdSchemaToken::AnyAttribute, s4);
+
+ machine.addTransition(s1, XsdSchemaToken::Attribute, s2);
+ machine.addTransition(s1, XsdSchemaToken::AttributeGroup, s3);
+ machine.addTransition(s1, XsdSchemaToken::AnyAttribute, s4);
+
+ machine.addTransition(s2, XsdSchemaToken::Attribute, s2);
+ machine.addTransition(s2, XsdSchemaToken::AttributeGroup, s3);
+ machine.addTransition(s2, XsdSchemaToken::AnyAttribute, s4);
+
+ machine.addTransition(s3, XsdSchemaToken::Attribute, s2);
+ machine.addTransition(s3, XsdSchemaToken::AttributeGroup, s3);
+ machine.addTransition(s3, XsdSchemaToken::AnyAttribute, s4);
+
+ QVector<XsdSchemaToken::NodeName> data1, data2, data3, data4;
+
+ data1 << XsdSchemaToken::Annotation;
+
+ data2 << XsdSchemaToken::Attribute
+ << XsdSchemaToken::Attribute
+ << XsdSchemaToken::Attribute
+ << XsdSchemaToken::AnyAttribute;
+
+ data3 << XsdSchemaToken::Group
+ << XsdSchemaToken::Attribute
+ << XsdSchemaToken::AnyAttribute;
+
+ data4 << XsdSchemaToken::Attribute
+ << XsdSchemaToken::AnyAttribute
+ << XsdSchemaToken::Attribute;
+
+ QVERIFY(runTest(data1, machine) == true);
+ QVERIFY(runTest(data2, machine) == true);
+ QVERIFY(runTest(data3, machine) == false);
+ QVERIFY(runTest(data4, machine) == false);
+}
+
+void tst_XMLPatternsSchema::stateMachineTest5()
+{
+ XsdStateMachine<XsdSchemaToken::NodeName> machine;
+
+ // setup state machine for (annotation?, (all | choice | sequence)?) : group
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId startState = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::StartEndState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s1 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s2 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s3 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s4 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+
+ machine.addTransition(startState, XsdSchemaToken::Annotation, s1);
+ machine.addTransition(startState, XsdSchemaToken::All, s2);
+ machine.addTransition(startState, XsdSchemaToken::Choice, s3);
+ machine.addTransition(startState, XsdSchemaToken::Sequence, s4);
+
+ machine.addTransition(s1, XsdSchemaToken::All, s2);
+ machine.addTransition(s1, XsdSchemaToken::Choice, s3);
+ machine.addTransition(s1, XsdSchemaToken::Sequence, s4);
+
+ QVector<XsdSchemaToken::NodeName> data1, data2, data3, data4, data5, data6, data7, data8, data9;
+
+ data1 << XsdSchemaToken::Annotation;
+ data2 << XsdSchemaToken::Annotation << XsdSchemaToken::All;
+ data3 << XsdSchemaToken::Annotation << XsdSchemaToken::Choice;
+ data4 << XsdSchemaToken::Annotation << XsdSchemaToken::Sequence;
+ data5 << XsdSchemaToken::All;
+ data6 << XsdSchemaToken::Choice;
+ data7 << XsdSchemaToken::Sequence;
+ data8 << XsdSchemaToken::Sequence << XsdSchemaToken::All;
+
+ QVERIFY(runTest(data1, machine) == true);
+ QVERIFY(runTest(data2, machine) == true);
+ QVERIFY(runTest(data3, machine) == true);
+ QVERIFY(runTest(data4, machine) == true);
+ QVERIFY(runTest(data5, machine) == true);
+ QVERIFY(runTest(data6, machine) == true);
+ QVERIFY(runTest(data7, machine) == true);
+ QVERIFY(runTest(data8, machine) == false);
+ QVERIFY(runTest(data9, machine) == true);
+}
+
+void tst_XMLPatternsSchema::stateMachineTest6()
+{
+ XsdStateMachine<XsdSchemaToken::NodeName> machine;
+
+ // setup state machine for (annotation?, element*) : all
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId startState = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::StartEndState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s1 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s2 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+
+ machine.addTransition(startState, XsdSchemaToken::Annotation, s1);
+ machine.addTransition(startState, XsdSchemaToken::Element, s2);
+
+ machine.addTransition(s1, XsdSchemaToken::Element, s2);
+
+ machine.addTransition(s2, XsdSchemaToken::Element, s2);
+
+ QVector<XsdSchemaToken::NodeName> data1, data2, data3, data4, data5, data6, data7, data8, data9;
+
+ data1 << XsdSchemaToken::Annotation;
+ data2 << XsdSchemaToken::Annotation << XsdSchemaToken::Element;
+ data3 << XsdSchemaToken::Element;
+ data4 << XsdSchemaToken::Element << XsdSchemaToken::Sequence;
+ data5 << XsdSchemaToken::Annotation << XsdSchemaToken::Element << XsdSchemaToken::Annotation;
+ data6 << XsdSchemaToken::Annotation << XsdSchemaToken::Annotation << XsdSchemaToken::Element;
+
+ QVERIFY(runTest(data1, machine) == true);
+ QVERIFY(runTest(data2, machine) == true);
+ QVERIFY(runTest(data3, machine) == true);
+ QVERIFY(runTest(data4, machine) == false);
+ QVERIFY(runTest(data5, machine) == false);
+ QVERIFY(runTest(data6, machine) == false);
+}
+
+void tst_XMLPatternsSchema::stateMachineTest7()
+{
+ XsdStateMachine<XsdSchemaToken::NodeName> machine;
+
+ // setup state machine for (annotation?, (element | group | choice | sequence | any)*) : choice sequence
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId startState = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::StartEndState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s1 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s2 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s3 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s4 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s5 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s6 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+
+ machine.addTransition(startState, XsdSchemaToken::Annotation, s1);
+ machine.addTransition(startState, XsdSchemaToken::Element, s2);
+ machine.addTransition(startState, XsdSchemaToken::Group, s3);
+ machine.addTransition(startState, XsdSchemaToken::Choice, s4);
+ machine.addTransition(startState, XsdSchemaToken::Sequence, s5);
+ machine.addTransition(startState, XsdSchemaToken::Any, s6);
+
+ machine.addTransition(s1, XsdSchemaToken::Element, s2);
+ machine.addTransition(s1, XsdSchemaToken::Group, s3);
+ machine.addTransition(s1, XsdSchemaToken::Choice, s4);
+ machine.addTransition(s1, XsdSchemaToken::Sequence, s5);
+ machine.addTransition(s1, XsdSchemaToken::Any, s6);
+
+ machine.addTransition(s2, XsdSchemaToken::Element, s2);
+ machine.addTransition(s2, XsdSchemaToken::Group, s3);
+ machine.addTransition(s2, XsdSchemaToken::Choice, s4);
+ machine.addTransition(s2, XsdSchemaToken::Sequence, s5);
+ machine.addTransition(s2, XsdSchemaToken::Any, s6);
+
+ machine.addTransition(s3, XsdSchemaToken::Element, s2);
+ machine.addTransition(s3, XsdSchemaToken::Group, s3);
+ machine.addTransition(s3, XsdSchemaToken::Choice, s4);
+ machine.addTransition(s3, XsdSchemaToken::Sequence, s5);
+ machine.addTransition(s3, XsdSchemaToken::Any, s6);
+
+ machine.addTransition(s4, XsdSchemaToken::Element, s2);
+ machine.addTransition(s4, XsdSchemaToken::Group, s3);
+ machine.addTransition(s4, XsdSchemaToken::Choice, s4);
+ machine.addTransition(s4, XsdSchemaToken::Sequence, s5);
+ machine.addTransition(s4, XsdSchemaToken::Any, s6);
+
+ machine.addTransition(s5, XsdSchemaToken::Element, s2);
+ machine.addTransition(s5, XsdSchemaToken::Group, s3);
+ machine.addTransition(s5, XsdSchemaToken::Choice, s4);
+ machine.addTransition(s5, XsdSchemaToken::Sequence, s5);
+ machine.addTransition(s5, XsdSchemaToken::Any, s6);
+
+ machine.addTransition(s6, XsdSchemaToken::Element, s2);
+ machine.addTransition(s6, XsdSchemaToken::Group, s3);
+ machine.addTransition(s6, XsdSchemaToken::Choice, s4);
+ machine.addTransition(s6, XsdSchemaToken::Sequence, s5);
+ machine.addTransition(s6, XsdSchemaToken::Any, s6);
+
+ QVector<XsdSchemaToken::NodeName> data1, data2, data3, data4, data5, data6, data7, data8, data9;
+
+ data1 << XsdSchemaToken::Annotation;
+ data2 << XsdSchemaToken::Annotation << XsdSchemaToken::Element << XsdSchemaToken::Sequence << XsdSchemaToken::Choice;
+ data3 << XsdSchemaToken::Group;
+ data4 << XsdSchemaToken::Element << XsdSchemaToken::Sequence << XsdSchemaToken::Annotation;
+
+ QVERIFY(runTest(data1, machine) == true);
+ QVERIFY(runTest(data2, machine) == true);
+ QVERIFY(runTest(data3, machine) == true);
+ QVERIFY(runTest(data4, machine) == false);
+}
+
+void tst_XMLPatternsSchema::stateMachineTest8()
+{
+ XsdStateMachine<XsdSchemaToken::NodeName> machine;
+
+ // setup state machine for (annotation?) : any/selector/field/notation/include/import/referred attribute group/anyAttribute/all facets
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId startState = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::StartEndState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s1 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+
+ machine.addTransition(startState, XsdSchemaToken::Annotation, s1);
+
+ QVector<XsdSchemaToken::NodeName> data1, data2, data3, data4;
+
+ data1 << XsdSchemaToken::Annotation;
+ data2 << XsdSchemaToken::Annotation << XsdSchemaToken::Element;
+ data3 << XsdSchemaToken::Group;
+
+ QVERIFY(runTest(data1, machine) == true);
+ QVERIFY(runTest(data2, machine) == false);
+ QVERIFY(runTest(data3, machine) == false);
+ QVERIFY(runTest(data4, machine) == true);
+}
+
+void tst_XMLPatternsSchema::stateMachineTest9()
+{
+ XsdStateMachine<XsdSchemaToken::NodeName> machine;
+
+ // setup state machine for (annotation?, (selector, field+)) : unique/key/keyref
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId startState = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::StartState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s1 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::InternalState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s2 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::InternalState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s3 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+
+ machine.addTransition(startState, XsdSchemaToken::Annotation, s1);
+ machine.addTransition(startState, XsdSchemaToken::Selector, s2);
+
+ machine.addTransition(s1, XsdSchemaToken::Selector, s2);
+ machine.addTransition(s2, XsdSchemaToken::Field, s3);
+ machine.addTransition(s3, XsdSchemaToken::Field, s3);
+
+ QVector<XsdSchemaToken::NodeName> data1, data2, data3, data4, data5;
+
+ data1 << XsdSchemaToken::Annotation;
+ data2 << XsdSchemaToken::Annotation << XsdSchemaToken::Selector;
+ data3 << XsdSchemaToken::Annotation << XsdSchemaToken::Selector << XsdSchemaToken::Field;
+ data4 << XsdSchemaToken::Selector << XsdSchemaToken::Field;
+ data5 << XsdSchemaToken::Selector << XsdSchemaToken::Field << XsdSchemaToken::Field;
+
+ QVERIFY(runTest(data1, machine) == false);
+ QVERIFY(runTest(data2, machine) == false);
+ QVERIFY(runTest(data3, machine) == true);
+ QVERIFY(runTest(data4, machine) == true);
+ QVERIFY(runTest(data5, machine) == true);
+}
+
+void tst_XMLPatternsSchema::stateMachineTest10()
+{
+ XsdStateMachine<XsdSchemaToken::NodeName> machine;
+
+ // setup state machine for (appinfo | documentation)* : annotation
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId startState = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::StartEndState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s1 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s2 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+
+ machine.addTransition(startState, XsdSchemaToken::Appinfo, s1);
+ machine.addTransition(startState, XsdSchemaToken::Documentation, s2);
+
+ machine.addTransition(s1, XsdSchemaToken::Appinfo, s1);
+ machine.addTransition(s1, XsdSchemaToken::Documentation, s2);
+
+ machine.addTransition(s2, XsdSchemaToken::Appinfo, s1);
+ machine.addTransition(s2, XsdSchemaToken::Documentation, s2);
+
+ QVector<XsdSchemaToken::NodeName> data1, data2, data3, data4, data5;
+
+ data1 << XsdSchemaToken::Appinfo;
+ data2 << XsdSchemaToken::Appinfo << XsdSchemaToken::Appinfo;
+ data3 << XsdSchemaToken::Documentation << XsdSchemaToken::Appinfo << XsdSchemaToken::Documentation;
+ data4 << XsdSchemaToken::Selector << XsdSchemaToken::Field;
+
+ QVERIFY(runTest(data1, machine) == true);
+ QVERIFY(runTest(data2, machine) == true);
+ QVERIFY(runTest(data3, machine) == true);
+ QVERIFY(runTest(data4, machine) == false);
+ QVERIFY(runTest(data5, machine) == true);
+}
+
+void tst_XMLPatternsSchema::stateMachineTest11()
+{
+ XsdStateMachine<XsdSchemaToken::NodeName> machine;
+
+ // setup state machine for (annotation?, (restriction | list | union)) : simpleType
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId startState = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::StartState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s1 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::InternalState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s2 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s3 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s4 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+
+ machine.addTransition(startState, XsdSchemaToken::Annotation, s1);
+ machine.addTransition(startState, XsdSchemaToken::Restriction, s2);
+ machine.addTransition(startState, XsdSchemaToken::List, s3);
+ machine.addTransition(startState, XsdSchemaToken::Union, s4);
+
+ machine.addTransition(s1, XsdSchemaToken::Restriction, s2);
+ machine.addTransition(s1, XsdSchemaToken::List, s3);
+ machine.addTransition(s1, XsdSchemaToken::Union, s4);
+
+ QVector<XsdSchemaToken::NodeName> data1, data2, data3, data4, data5, data6, data7, data8;
+
+ data1 << XsdSchemaToken::Annotation;
+ data2 << XsdSchemaToken::Annotation << XsdSchemaToken::Restriction;
+ data3 << XsdSchemaToken::Annotation << XsdSchemaToken::List;
+ data4 << XsdSchemaToken::Annotation << XsdSchemaToken::Union;
+ data5 << XsdSchemaToken::Restriction;
+ data6 << XsdSchemaToken::List;
+ data7 << XsdSchemaToken::Union;
+ data8 << XsdSchemaToken::Union << XsdSchemaToken::Union;
+
+ QVERIFY(runTest(data1, machine) == false);
+ QVERIFY(runTest(data2, machine) == true);
+ QVERIFY(runTest(data3, machine) == true);
+ QVERIFY(runTest(data4, machine) == true);
+ QVERIFY(runTest(data5, machine) == true);
+ QVERIFY(runTest(data6, machine) == true);
+ QVERIFY(runTest(data7, machine) == true);
+ QVERIFY(runTest(data8, machine) == false);
+}
+
+void tst_XMLPatternsSchema::stateMachineTest12()
+{
+ XsdStateMachine<XsdSchemaToken::NodeName> machine;
+
+ // setup state machine for (annotation?, (simpleType?, (minExclusive | minInclusive | maxExclusive | maxInclusive | totalDigits | fractionDigits | length | minLength | maxLength | enumeration | whiteSpace | pattern)*)) : simple type restriction
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId startState = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::StartEndState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s1 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s2 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s3 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+
+ machine.addTransition(startState, XsdSchemaToken::Annotation, s1);
+ machine.addTransition(startState, XsdSchemaToken::SimpleType, s2);
+ machine.addTransition(startState, XsdSchemaToken::MinExclusive, s3);
+ machine.addTransition(startState, XsdSchemaToken::MinInclusive, s3);
+ machine.addTransition(startState, XsdSchemaToken::MaxExclusive, s3);
+ machine.addTransition(startState, XsdSchemaToken::MaxInclusive, s3);
+ machine.addTransition(startState, XsdSchemaToken::TotalDigits, s3);
+ machine.addTransition(startState, XsdSchemaToken::FractionDigits, s3);
+ machine.addTransition(startState, XsdSchemaToken::Length, s3);
+ machine.addTransition(startState, XsdSchemaToken::MinLength, s3);
+ machine.addTransition(startState, XsdSchemaToken::MaxLength, s3);
+ machine.addTransition(startState, XsdSchemaToken::Enumeration, s3);
+ machine.addTransition(startState, XsdSchemaToken::WhiteSpace, s3);
+ machine.addTransition(startState, XsdSchemaToken::Pattern, s3);
+
+ machine.addTransition(s1, XsdSchemaToken::SimpleType, s2);
+ machine.addTransition(s1, XsdSchemaToken::MinExclusive, s3);
+ machine.addTransition(s1, XsdSchemaToken::MinInclusive, s3);
+ machine.addTransition(s1, XsdSchemaToken::MaxExclusive, s3);
+ machine.addTransition(s1, XsdSchemaToken::MaxInclusive, s3);
+ machine.addTransition(s1, XsdSchemaToken::TotalDigits, s3);
+ machine.addTransition(s1, XsdSchemaToken::FractionDigits, s3);
+ machine.addTransition(s1, XsdSchemaToken::Length, s3);
+ machine.addTransition(s1, XsdSchemaToken::MinLength, s3);
+ machine.addTransition(s1, XsdSchemaToken::MaxLength, s3);
+ machine.addTransition(s1, XsdSchemaToken::Enumeration, s3);
+ machine.addTransition(s1, XsdSchemaToken::WhiteSpace, s3);
+ machine.addTransition(s1, XsdSchemaToken::Pattern, s3);
+
+ machine.addTransition(s2, XsdSchemaToken::MinExclusive, s3);
+ machine.addTransition(s2, XsdSchemaToken::MinInclusive, s3);
+ machine.addTransition(s2, XsdSchemaToken::MaxExclusive, s3);
+ machine.addTransition(s2, XsdSchemaToken::MaxInclusive, s3);
+ machine.addTransition(s2, XsdSchemaToken::TotalDigits, s3);
+ machine.addTransition(s2, XsdSchemaToken::FractionDigits, s3);
+ machine.addTransition(s2, XsdSchemaToken::Length, s3);
+ machine.addTransition(s2, XsdSchemaToken::MinLength, s3);
+ machine.addTransition(s2, XsdSchemaToken::MaxLength, s3);
+ machine.addTransition(s2, XsdSchemaToken::Enumeration, s3);
+ machine.addTransition(s2, XsdSchemaToken::WhiteSpace, s3);
+ machine.addTransition(s2, XsdSchemaToken::Pattern, s3);
+
+ machine.addTransition(s3, XsdSchemaToken::MinExclusive, s3);
+ machine.addTransition(s3, XsdSchemaToken::MinInclusive, s3);
+ machine.addTransition(s3, XsdSchemaToken::MaxExclusive, s3);
+ machine.addTransition(s3, XsdSchemaToken::MaxInclusive, s3);
+ machine.addTransition(s3, XsdSchemaToken::TotalDigits, s3);
+ machine.addTransition(s3, XsdSchemaToken::FractionDigits, s3);
+ machine.addTransition(s3, XsdSchemaToken::Length, s3);
+ machine.addTransition(s3, XsdSchemaToken::MinLength, s3);
+ machine.addTransition(s3, XsdSchemaToken::MaxLength, s3);
+ machine.addTransition(s3, XsdSchemaToken::Enumeration, s3);
+ machine.addTransition(s3, XsdSchemaToken::WhiteSpace, s3);
+ machine.addTransition(s3, XsdSchemaToken::Pattern, s3);
+
+ QVector<XsdSchemaToken::NodeName> data1, data2, data3, data4, data5;
+
+ data1 << XsdSchemaToken::Annotation;
+ data2 << XsdSchemaToken::Annotation << XsdSchemaToken::Length << XsdSchemaToken::MaxLength;
+ data3 << XsdSchemaToken::Annotation << XsdSchemaToken::List;
+ data4 << XsdSchemaToken::SimpleType << XsdSchemaToken::Pattern;
+
+ QVERIFY(runTest(data1, machine) == true);
+ QVERIFY(runTest(data2, machine) == true);
+ QVERIFY(runTest(data3, machine) == false);
+ QVERIFY(runTest(data4, machine) == true);
+ QVERIFY(runTest(data5, machine) == true);
+}
+
+void tst_XMLPatternsSchema::stateMachineTest13()
+{
+ XsdStateMachine<XsdSchemaToken::NodeName> machine;
+
+ // setup state machine for (annotation?, simpleType?) : list
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId startState = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::StartEndState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s1 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s2 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+
+ machine.addTransition(startState, XsdSchemaToken::Annotation, s1);
+ machine.addTransition(startState, XsdSchemaToken::SimpleType, s2);
+
+ machine.addTransition(s1, XsdSchemaToken::SimpleType, s2);
+
+ QVector<XsdSchemaToken::NodeName> data1, data2, data3, data4, data5;
+
+ data1 << XsdSchemaToken::Annotation;
+ data2 << XsdSchemaToken::Annotation << XsdSchemaToken::SimpleType;
+ data3 << XsdSchemaToken::SimpleType;
+ data4 << XsdSchemaToken::SimpleType << XsdSchemaToken::SimpleType;
+
+ QVERIFY(runTest(data1, machine) == true);
+ QVERIFY(runTest(data2, machine) == true);
+ QVERIFY(runTest(data3, machine) == true);
+ QVERIFY(runTest(data4, machine) == false);
+ QVERIFY(runTest(data5, machine) == true);
+}
+
+void tst_XMLPatternsSchema::stateMachineTest14()
+{
+ XsdStateMachine<XsdSchemaToken::NodeName> machine;
+
+ // setup state machine for (annotation?, simpleType*) : union
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId startState = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::StartEndState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s1 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s2 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+
+ machine.addTransition(startState, XsdSchemaToken::Annotation, s1);
+ machine.addTransition(startState, XsdSchemaToken::SimpleType, s2);
+
+ machine.addTransition(s1, XsdSchemaToken::SimpleType, s2);
+ machine.addTransition(s2, XsdSchemaToken::SimpleType, s2);
+
+ QVector<XsdSchemaToken::NodeName> data1, data2, data3, data4, data5, data6;
+
+ data1 << XsdSchemaToken::Annotation;
+ data2 << XsdSchemaToken::Annotation << XsdSchemaToken::SimpleType;
+ data3 << XsdSchemaToken::SimpleType;
+ data4 << XsdSchemaToken::SimpleType << XsdSchemaToken::SimpleType;
+ data6 << XsdSchemaToken::Annotation << XsdSchemaToken::Annotation;
+
+ QVERIFY(runTest(data1, machine) == true);
+ QVERIFY(runTest(data2, machine) == true);
+ QVERIFY(runTest(data3, machine) == true);
+ QVERIFY(runTest(data4, machine) == true);
+ QVERIFY(runTest(data5, machine) == true);
+ QVERIFY(runTest(data6, machine) == false);
+}
+
+void tst_XMLPatternsSchema::stateMachineTest15()
+{
+ XsdStateMachine<XsdSchemaToken::NodeName> machine;
+
+ // setup state machine for ((include | import | redefine | annotation)*, (((simpleType | complexType | group | attributeGroup) | element | attribute | notation), annotation*)*) : schema
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId startState = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::StartEndState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s1 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s2 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s3 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+
+ machine.addTransition(startState, XsdSchemaToken::Include, s1);
+ machine.addTransition(startState, XsdSchemaToken::Import, s1);
+ machine.addTransition(startState, XsdSchemaToken::Redefine, s1);
+ machine.addTransition(startState, XsdSchemaToken::Annotation, s1);
+ machine.addTransition(startState, XsdSchemaToken::SimpleType, s2);
+ machine.addTransition(startState, XsdSchemaToken::ComplexType, s2);
+ machine.addTransition(startState, XsdSchemaToken::Group, s2);
+ machine.addTransition(startState, XsdSchemaToken::AttributeGroup, s2);
+ machine.addTransition(startState, XsdSchemaToken::Element, s2);
+ machine.addTransition(startState, XsdSchemaToken::Attribute, s2);
+ machine.addTransition(startState, XsdSchemaToken::Notation, s2);
+
+ machine.addTransition(s1, XsdSchemaToken::Include, s1);
+ machine.addTransition(s1, XsdSchemaToken::Import, s1);
+ machine.addTransition(s1, XsdSchemaToken::Redefine, s1);
+ machine.addTransition(s1, XsdSchemaToken::Annotation, s1);
+ machine.addTransition(s1, XsdSchemaToken::SimpleType, s2);
+ machine.addTransition(s1, XsdSchemaToken::ComplexType, s2);
+ machine.addTransition(s1, XsdSchemaToken::Group, s2);
+ machine.addTransition(s1, XsdSchemaToken::AttributeGroup, s2);
+ machine.addTransition(s1, XsdSchemaToken::Element, s2);
+ machine.addTransition(s1, XsdSchemaToken::Attribute, s2);
+ machine.addTransition(s1, XsdSchemaToken::Notation, s2);
+
+ machine.addTransition(s2, XsdSchemaToken::SimpleType, s2);
+ machine.addTransition(s2, XsdSchemaToken::ComplexType, s2);
+ machine.addTransition(s2, XsdSchemaToken::Group, s2);
+ machine.addTransition(s2, XsdSchemaToken::AttributeGroup, s2);
+ machine.addTransition(s2, XsdSchemaToken::Element, s2);
+ machine.addTransition(s2, XsdSchemaToken::Attribute, s2);
+ machine.addTransition(s2, XsdSchemaToken::Notation, s2);
+ machine.addTransition(s2, XsdSchemaToken::Annotation, s3);
+
+ machine.addTransition(s3, XsdSchemaToken::SimpleType, s2);
+ machine.addTransition(s3, XsdSchemaToken::ComplexType, s2);
+ machine.addTransition(s3, XsdSchemaToken::Group, s2);
+ machine.addTransition(s3, XsdSchemaToken::AttributeGroup, s2);
+ machine.addTransition(s3, XsdSchemaToken::Element, s2);
+ machine.addTransition(s3, XsdSchemaToken::Attribute, s2);
+ machine.addTransition(s3, XsdSchemaToken::Notation, s2);
+ machine.addTransition(s3, XsdSchemaToken::Annotation, s3);
+
+ QVector<XsdSchemaToken::NodeName> data1, data2, data3, data4, data5, data6;
+
+ data1 << XsdSchemaToken::Annotation << XsdSchemaToken::Import << XsdSchemaToken::SimpleType << XsdSchemaToken::Annotation;
+ data2 << XsdSchemaToken::SimpleType;
+ data3 << XsdSchemaToken::Annotation << XsdSchemaToken::Import << XsdSchemaToken::Include << XsdSchemaToken::Import;
+ data4 << XsdSchemaToken::SimpleType << XsdSchemaToken::ComplexType << XsdSchemaToken::Annotation << XsdSchemaToken::Attribute;
+ data5 << XsdSchemaToken::SimpleType << XsdSchemaToken::Include << XsdSchemaToken::Annotation << XsdSchemaToken::Attribute;
+
+ QVERIFY(runTest(data1, machine) == true);
+ QVERIFY(runTest(data2, machine) == true);
+ QVERIFY(runTest(data3, machine) == true);
+ QVERIFY(runTest(data4, machine) == true);
+ QVERIFY(runTest(data5, machine) == false);
+ QVERIFY(runTest(data6, machine) == true);
+}
+
+void tst_XMLPatternsSchema::stateMachineTest16()
+{
+ XsdStateMachine<XsdSchemaToken::NodeName> machine;
+
+ // setup state machine for (annotation | (simpleType | complexType | group | attributeGroup))* : redefine
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId startState = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::StartEndState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s1 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+
+ machine.addTransition(startState, XsdSchemaToken::Annotation, s1);
+ machine.addTransition(startState, XsdSchemaToken::SimpleType, s1);
+ machine.addTransition(startState, XsdSchemaToken::ComplexType, s1);
+ machine.addTransition(startState, XsdSchemaToken::Group, s1);
+ machine.addTransition(startState, XsdSchemaToken::AttributeGroup, s1);
+
+ machine.addTransition(s1, XsdSchemaToken::Annotation, s1);
+ machine.addTransition(s1, XsdSchemaToken::SimpleType, s1);
+ machine.addTransition(s1, XsdSchemaToken::ComplexType, s1);
+ machine.addTransition(s1, XsdSchemaToken::Group, s1);
+ machine.addTransition(s1, XsdSchemaToken::AttributeGroup, s1);
+
+ QVector<XsdSchemaToken::NodeName> data1, data2, data3, data4, data5, data6;
+
+ data1 << XsdSchemaToken::Annotation;
+ data2 << XsdSchemaToken::Annotation << XsdSchemaToken::SimpleType;
+ data3 << XsdSchemaToken::SimpleType;
+ data4 << XsdSchemaToken::SimpleType << XsdSchemaToken::SimpleType;
+ data6 << XsdSchemaToken::Annotation << XsdSchemaToken::Annotation;
+
+ QVERIFY(runTest(data1, machine) == true);
+ QVERIFY(runTest(data2, machine) == true);
+ QVERIFY(runTest(data3, machine) == true);
+ QVERIFY(runTest(data4, machine) == true);
+ QVERIFY(runTest(data5, machine) == true);
+ QVERIFY(runTest(data6, machine) == true);
+}
+
+void tst_XMLPatternsSchema::stateMachineTest17()
+{
+ XsdStateMachine<XsdSchemaToken::NodeName> machine;
+
+ // setup state machine for (annotation?, (restriction | extension)) : simpleContent
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId startState = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::StartState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s1 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::InternalState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s2 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+
+ machine.addTransition(startState, XsdSchemaToken::Annotation, s1);
+ machine.addTransition(startState, XsdSchemaToken::Restriction, s2);
+ machine.addTransition(startState, XsdSchemaToken::Extension, s2);
+
+ machine.addTransition(s1, XsdSchemaToken::Restriction, s2);
+ machine.addTransition(s1, XsdSchemaToken::Extension, s2);
+
+ QVector<XsdSchemaToken::NodeName> data1, data2, data3, data4, data5, data6;
+
+ data1 << XsdSchemaToken::Annotation;
+ data2 << XsdSchemaToken::Annotation << XsdSchemaToken::Extension;
+ data3 << XsdSchemaToken::Restriction;
+ data4 << XsdSchemaToken::Extension << XsdSchemaToken::Restriction;
+ data5 << XsdSchemaToken::Annotation << XsdSchemaToken::Annotation;
+
+ QVERIFY(runTest(data1, machine) == false);
+ QVERIFY(runTest(data2, machine) == true);
+ QVERIFY(runTest(data3, machine) == true);
+ QVERIFY(runTest(data4, machine) == false);
+ QVERIFY(runTest(data5, machine) == false);
+ QVERIFY(runTest(data6, machine) == false);
+}
+
+void tst_XMLPatternsSchema::stateMachineTest18()
+{
+ XsdStateMachine<XsdSchemaToken::NodeName> machine;
+
+ // setup state machine for (annotation?, (simpleType?, (minExclusive | minInclusive | maxExclusive | maxInclusive | totalDigits | fractionDigits | length | minLength | maxLength | enumeration | whiteSpace | pattern)*)?, ((attribute | attributeGroup)*, anyAttribute?)) : simpleContent restriction
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId startState = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::StartEndState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s1 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s2 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s3 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s4 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s5 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+
+ machine.addTransition(startState, XsdSchemaToken::Annotation, s1);
+ machine.addTransition(startState, XsdSchemaToken::SimpleType, s2);
+ machine.addTransition(startState, XsdSchemaToken::MinExclusive, s3);
+ machine.addTransition(startState, XsdSchemaToken::MinInclusive, s3);
+ machine.addTransition(startState, XsdSchemaToken::MaxExclusive, s3);
+ machine.addTransition(startState, XsdSchemaToken::MaxInclusive, s3);
+ machine.addTransition(startState, XsdSchemaToken::TotalDigits, s3);
+ machine.addTransition(startState, XsdSchemaToken::FractionDigits, s3);
+ machine.addTransition(startState, XsdSchemaToken::Length, s3);
+ machine.addTransition(startState, XsdSchemaToken::MinLength, s3);
+ machine.addTransition(startState, XsdSchemaToken::MaxLength, s3);
+ machine.addTransition(startState, XsdSchemaToken::Enumeration, s3);
+ machine.addTransition(startState, XsdSchemaToken::WhiteSpace, s3);
+ machine.addTransition(startState, XsdSchemaToken::Pattern, s3);
+ machine.addTransition(startState, XsdSchemaToken::Attribute, s4);
+ machine.addTransition(startState, XsdSchemaToken::AttributeGroup, s4);
+ machine.addTransition(startState, XsdSchemaToken::AnyAttribute, s5);
+
+ machine.addTransition(s1, XsdSchemaToken::SimpleType, s2);
+ machine.addTransition(s1, XsdSchemaToken::MinExclusive, s3);
+ machine.addTransition(s1, XsdSchemaToken::MinInclusive, s3);
+ machine.addTransition(s1, XsdSchemaToken::MaxExclusive, s3);
+ machine.addTransition(s1, XsdSchemaToken::MaxInclusive, s3);
+ machine.addTransition(s1, XsdSchemaToken::TotalDigits, s3);
+ machine.addTransition(s1, XsdSchemaToken::FractionDigits, s3);
+ machine.addTransition(s1, XsdSchemaToken::Length, s3);
+ machine.addTransition(s1, XsdSchemaToken::MinLength, s3);
+ machine.addTransition(s1, XsdSchemaToken::MaxLength, s3);
+ machine.addTransition(s1, XsdSchemaToken::Enumeration, s3);
+ machine.addTransition(s1, XsdSchemaToken::WhiteSpace, s3);
+ machine.addTransition(s1, XsdSchemaToken::Pattern, s3);
+ machine.addTransition(s1, XsdSchemaToken::Attribute, s4);
+ machine.addTransition(s1, XsdSchemaToken::AttributeGroup, s4);
+ machine.addTransition(s1, XsdSchemaToken::AnyAttribute, s5);
+
+ machine.addTransition(s2, XsdSchemaToken::MinExclusive, s3);
+ machine.addTransition(s2, XsdSchemaToken::MinInclusive, s3);
+ machine.addTransition(s2, XsdSchemaToken::MaxExclusive, s3);
+ machine.addTransition(s2, XsdSchemaToken::MaxInclusive, s3);
+ machine.addTransition(s2, XsdSchemaToken::TotalDigits, s3);
+ machine.addTransition(s2, XsdSchemaToken::FractionDigits, s3);
+ machine.addTransition(s2, XsdSchemaToken::Length, s3);
+ machine.addTransition(s2, XsdSchemaToken::MinLength, s3);
+ machine.addTransition(s2, XsdSchemaToken::MaxLength, s3);
+ machine.addTransition(s2, XsdSchemaToken::Enumeration, s3);
+ machine.addTransition(s2, XsdSchemaToken::WhiteSpace, s3);
+ machine.addTransition(s2, XsdSchemaToken::Pattern, s3);
+ machine.addTransition(s2, XsdSchemaToken::Attribute, s4);
+ machine.addTransition(s2, XsdSchemaToken::AttributeGroup, s4);
+ machine.addTransition(s2, XsdSchemaToken::AnyAttribute, s5);
+
+ machine.addTransition(s3, XsdSchemaToken::MinExclusive, s3);
+ machine.addTransition(s3, XsdSchemaToken::MinInclusive, s3);
+ machine.addTransition(s3, XsdSchemaToken::MaxExclusive, s3);
+ machine.addTransition(s3, XsdSchemaToken::MaxInclusive, s3);
+ machine.addTransition(s3, XsdSchemaToken::TotalDigits, s3);
+ machine.addTransition(s3, XsdSchemaToken::FractionDigits, s3);
+ machine.addTransition(s3, XsdSchemaToken::Length, s3);
+ machine.addTransition(s3, XsdSchemaToken::MinLength, s3);
+ machine.addTransition(s3, XsdSchemaToken::MaxLength, s3);
+ machine.addTransition(s3, XsdSchemaToken::Enumeration, s3);
+ machine.addTransition(s3, XsdSchemaToken::WhiteSpace, s3);
+ machine.addTransition(s3, XsdSchemaToken::Pattern, s3);
+ machine.addTransition(s3, XsdSchemaToken::Attribute, s4);
+ machine.addTransition(s3, XsdSchemaToken::AttributeGroup, s4);
+ machine.addTransition(s3, XsdSchemaToken::AnyAttribute, s5);
+
+ machine.addTransition(s4, XsdSchemaToken::Attribute, s4);
+ machine.addTransition(s4, XsdSchemaToken::AttributeGroup, s4);
+ machine.addTransition(s4, XsdSchemaToken::AnyAttribute, s5);
+
+ QVector<XsdSchemaToken::NodeName> data1, data2, data3, data4, data5, data6;
+
+ data1 << XsdSchemaToken::Annotation;
+ data2 << XsdSchemaToken::SimpleType << XsdSchemaToken::MinExclusive << XsdSchemaToken::MaxExclusive;
+ data3 << XsdSchemaToken::AnyAttribute << XsdSchemaToken::Attribute;
+ data4 << XsdSchemaToken::MinExclusive << XsdSchemaToken::TotalDigits << XsdSchemaToken::Enumeration;
+ data5 << XsdSchemaToken::Annotation << XsdSchemaToken::Annotation;
+
+ QVERIFY(runTest(data1, machine) == true);
+ QVERIFY(runTest(data2, machine) == true);
+ QVERIFY(runTest(data3, machine) == false);
+ QVERIFY(runTest(data4, machine) == true);
+ QVERIFY(runTest(data5, machine) == false);
+ QVERIFY(runTest(data6, machine) == true);
+}
+
+void tst_XMLPatternsSchema::stateMachineTest19()
+{
+ XsdStateMachine<XsdSchemaToken::NodeName> machine;
+
+ // setup state machine for (annotation?, (group | all | choice | sequence)?, ((attribute | attributeGroup)*, anyAttribute?)) : complex content restriction/complex content extension
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId startState = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::StartEndState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s1 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s2 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s3 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+ const XsdStateMachine<XsdSchemaToken::NodeName>::StateId s4 = machine.addState(XsdStateMachine<XsdSchemaToken::NodeName>::EndState);
+
+ machine.addTransition(startState, XsdSchemaToken::Annotation, s1);
+ machine.addTransition(startState, XsdSchemaToken::Group, s2);
+ machine.addTransition(startState, XsdSchemaToken::All, s2);
+ machine.addTransition(startState, XsdSchemaToken::Choice, s2);
+ machine.addTransition(startState, XsdSchemaToken::Sequence, s2);
+ machine.addTransition(startState, XsdSchemaToken::Attribute, s3);
+ machine.addTransition(startState, XsdSchemaToken::AttributeGroup, s3);
+ machine.addTransition(startState, XsdSchemaToken::AnyAttribute, s4);
+
+ machine.addTransition(s1, XsdSchemaToken::Group, s2);
+ machine.addTransition(s1, XsdSchemaToken::All, s2);
+ machine.addTransition(s1, XsdSchemaToken::Choice, s2);
+ machine.addTransition(s1, XsdSchemaToken::Sequence, s2);
+ machine.addTransition(s1, XsdSchemaToken::Attribute, s3);
+ machine.addTransition(s1, XsdSchemaToken::AttributeGroup, s3);
+ machine.addTransition(s1, XsdSchemaToken::AnyAttribute, s4);
+
+ machine.addTransition(s2, XsdSchemaToken::Attribute, s3);
+ machine.addTransition(s2, XsdSchemaToken::AttributeGroup, s3);
+ machine.addTransition(s2, XsdSchemaToken::AnyAttribute, s4);
+
+ machine.addTransition(s3, XsdSchemaToken::Attribute, s3);
+ machine.addTransition(s3, XsdSchemaToken::AttributeGroup, s3);
+ machine.addTransition(s3, XsdSchemaToken::AnyAttribute, s4);
+
+ QVector<XsdSchemaToken::NodeName> data1, data2, data3, data4, data5, data6;
+
+ data1 << XsdSchemaToken::Annotation;
+ data2 << XsdSchemaToken::Annotation << XsdSchemaToken::Group;
+ data3 << XsdSchemaToken::Annotation << XsdSchemaToken::Group << XsdSchemaToken::Sequence;
+ data4 << XsdSchemaToken::Attribute << XsdSchemaToken::Attribute;
+ data5 << XsdSchemaToken::Attribute << XsdSchemaToken::Sequence;
+ data6 << XsdSchemaToken::Annotation << XsdSchemaToken::Annotation;
+
+ QVERIFY(runTest(data1, machine) == true);
+ QVERIFY(runTest(data2, machine) == true);
+ QVERIFY(runTest(data3, machine) == false);
+ QVERIFY(runTest(data4, machine) == true);
+ QVERIFY(runTest(data5, machine) == false);
+ QVERIFY(runTest(data6, machine) == false);
+}
+
+QTEST_MAIN(tst_XMLPatternsSchema)
+#include "tst_xmlpatternsschema.moc"
diff --git a/tests/auto/xmlpatternsschema/xmlpatternsschema.pro b/tests/auto/xmlpatternsschema/xmlpatternsschema.pro
new file mode 100644
index 0000000..2ba869a
--- /dev/null
+++ b/tests/auto/xmlpatternsschema/xmlpatternsschema.pro
@@ -0,0 +1,6 @@
+load(qttest_p4)
+SOURCES += tst_xmlpatternsschema.cpp \
+
+include (../xmlpatterns.pri)
+
+INCLUDEPATH += $$QT_BUILD_TREE/include/QtXmlPatterns/private
diff --git a/tests/auto/xmlpatternsschemats/.gitignore b/tests/auto/xmlpatternsschemats/.gitignore
new file mode 100644
index 0000000..5fd11f8
--- /dev/null
+++ b/tests/auto/xmlpatternsschemats/.gitignore
@@ -0,0 +1,4 @@
+CandidateBaseline.xml
+runTests
+tst_xmlpatternsschemats
+runTests
diff --git a/tests/auto/xmlpatternsschemats/Baseline.xml b/tests/auto/xmlpatternsschemats/Baseline.xml
new file mode 100644
index 0000000..9baef9c
--- /dev/null
+++ b/tests/auto/xmlpatternsschemats/Baseline.xml
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<test-suite-result xmlns="http://www.w3.org/2005/02/query-test-XQTSResult"><implementation name="Patternist" version="0.1"><organization name="K Desktop Environment(KDE)" website="http://www.kde.org/"/><submittor name="Frans Englich" email="fenglich@trolltech.com"/><description><p>Patternist is an implementation written in C++ and with the Qt/KDE libraries. It is licensed under GNU LGPL and part of KDE, the K Desktop Environment.</p></description></implementation><syntax>XQuery</syntax><test-run dateRun="2009-02-24"><test-suite version=""/></test-run><test-case name="1NISTSchema-SV-IV-atomic-decimal-minExclusive-1 tokoe:valid" result="pass"/><test-case name="2NISTXML-SV-IV-atomic-decimal-minExclusive-1-1 tokoe:valid" result="fail"/><test-case name="3NISTXML-SV-IV-atomic-decimal-minExclusive-1-2 tokoe:valid" result="pass"/><test-case name="4NISTXML-SV-IV-atomic-decimal-minExclusive-1-3 tokoe:valid" result="pass"/><test-case name="5NISTXML-SV-IV-atomic-decimal-minExclusive-1-4 tokoe:valid" result="pass"/><test-case name="6NISTXML-SV-IV-atomic-decimal-minExclusive-1-5 tokoe:valid" result="pass"/><test-case name="7NISTSchema-SV-IV-atomic-decimal-minExclusive-2 tokoe:valid" result="pass"/><test-case name="8NISTXML-SV-IV-atomic-decimal-minExclusive-2-1 tokoe:valid" result="fail"/><test-case name="9NISTXML-SV-IV-atomic-decimal-minExclusive-2-2 tokoe:valid" result="pass"/><test-case name="10NISTXML-SV-IV-atomic-decimal-minExclusive-2-3 tokoe:valid" result="pass"/><test-case name="11NISTXML-SV-IV-atomic-decimal-minExclusive-2-4 tokoe:valid" result="pass"/><test-case name="12NISTXML-SV-IV-atomic-decimal-minExclusive-2-5 tokoe:valid" result="pass"/><test-case name="13NISTSchema-SV-IV-atomic-decimal-minExclusive-3 tokoe:valid" result="pass"/><test-case name="14NISTXML-SV-IV-atomic-decimal-minExclusive-3-1 tokoe:valid" result="fail"/><test-case name="15NISTXML-SV-IV-atomic-decimal-minExclusive-3-2 tokoe:valid" result="pass"/><test-case name="16NISTXML-SV-IV-atomic-decimal-minExclusive-3-3 tokoe:valid" result="pass"/><test-case name="17NISTXML-SV-IV-atomic-decimal-minExclusive-3-4 tokoe:valid" result="pass"/><test-case name="18NISTXML-SV-IV-atomic-decimal-minExclusive-3-5 tokoe:valid" result="pass"/><test-case name="19NISTSchema-SV-IV-atomic-decimal-minExclusive-4 tokoe:valid" result="pass"/><test-case name="20NISTXML-SV-IV-atomic-decimal-minExclusive-4-1 tokoe:valid" result="fail"/><test-case name="21NISTXML-SV-IV-atomic-decimal-minExclusive-4-2 tokoe:valid" result="pass"/><test-case name="22NISTXML-SV-IV-atomic-decimal-minExclusive-4-3 tokoe:valid" result="pass"/><test-case name="23NISTXML-SV-IV-atomic-decimal-minExclusive-4-4 tokoe:valid" result="pass"/><test-case name="24NISTXML-SV-IV-atomic-decimal-minExclusive-4-5 tokoe:valid" result="pass"/><test-case name="25NISTSchema-SV-IV-atomic-decimal-minExclusive-5 tokoe:valid" result="pass"/><test-case name="26NISTXML-SV-IV-atomic-decimal-minExclusive-5-1 tokoe:valid" result="fail"/><test-case name="27NISTSchema-SV-IV-atomic-decimal-minInclusive-1 tokoe:valid" result="pass"/><test-case name="28NISTXML-SV-IV-atomic-decimal-minInclusive-1-1 tokoe:valid" result="pass"/><test-case name="29NISTXML-SV-IV-atomic-decimal-minInclusive-1-2 tokoe:valid" result="pass"/><test-case name="30NISTXML-SV-IV-atomic-decimal-minInclusive-1-3 tokoe:valid" result="pass"/><test-case name="31NISTXML-SV-IV-atomic-decimal-minInclusive-1-4 tokoe:valid" result="pass"/><test-case name="32NISTXML-SV-IV-atomic-decimal-minInclusive-1-5 tokoe:valid" result="pass"/><test-case name="33NISTSchema-SV-IV-atomic-decimal-minInclusive-2 tokoe:valid" result="pass"/><test-case name="34NISTXML-SV-IV-atomic-decimal-minInclusive-2-1 tokoe:valid" result="pass"/><test-case name="35NISTXML-SV-IV-atomic-decimal-minInclusive-2-2 tokoe:valid" result="pass"/><test-case name="36NISTXML-SV-IV-atomic-decimal-minInclusive-2-3 tokoe:valid" result="pass"/><test-case name="37NISTXML-SV-IV-atomic-decimal-minInclusive-2-4 tokoe:valid" result="pass"/><test-case name="38NISTXML-SV-IV-atomic-decimal-minInclusive-2-5 tokoe:valid" result="pass"/><test-case name="39NISTSchema-SV-IV-atomic-decimal-minInclusive-3 tokoe:valid" result="pass"/><test-case name="40NISTXML-SV-IV-atomic-decimal-minInclusive-3-1 tokoe:valid" result="pass"/><test-case name="41NISTXML-SV-IV-atomic-decimal-minInclusive-3-2 tokoe:valid" result="pass"/><test-case name="42NISTXML-SV-IV-atomic-decimal-minInclusive-3-3 tokoe:valid" result="pass"/><test-case name="43NISTXML-SV-IV-atomic-decimal-minInclusive-3-4 tokoe:valid" result="pass"/><test-case name="44NISTXML-SV-IV-atomic-decimal-minInclusive-3-5 tokoe:valid" result="pass"/><test-case name="45NISTSchema-SV-IV-atomic-decimal-minInclusive-4 tokoe:valid" result="pass"/><test-case name="46NISTXML-SV-IV-atomic-decimal-minInclusive-4-1 tokoe:valid" result="pass"/><test-case name="47NISTXML-SV-IV-atomic-decimal-minInclusive-4-2 tokoe:valid" result="pass"/><test-case name="48NISTXML-SV-IV-atomic-decimal-minInclusive-4-3 tokoe:valid" result="pass"/><test-case name="49NISTXML-SV-IV-atomic-decimal-minInclusive-4-4 tokoe:valid" result="pass"/><test-case name="50NISTXML-SV-IV-atomic-decimal-minInclusive-4-5 tokoe:valid" result="pass"/><test-case name="51NISTSchema-SV-IV-atomic-decimal-minInclusive-5 tokoe:valid" result="pass"/><test-case name="52NISTXML-SV-IV-atomic-decimal-minInclusive-5-1 tokoe:valid" result="pass"/><test-case name="53NISTSchema-SV-IV-atomic-decimal-maxExclusive-1 tokoe:valid" result="pass"/><test-case name="54NISTXML-SV-IV-atomic-decimal-maxExclusive-1-1 tokoe:valid" result="fail"/><test-case name="55NISTSchema-SV-IV-atomic-decimal-maxExclusive-2 tokoe:valid" result="pass"/><test-case name="56NISTXML-SV-IV-atomic-decimal-maxExclusive-2-1 tokoe:valid" result="pass"/><test-case name="57NISTXML-SV-IV-atomic-decimal-maxExclusive-2-2 tokoe:valid" result="pass"/><test-case name="58NISTXML-SV-IV-atomic-decimal-maxExclusive-2-3 tokoe:valid" result="pass"/><test-case name="59NISTXML-SV-IV-atomic-decimal-maxExclusive-2-4 tokoe:valid" result="pass"/><test-case name="60NISTXML-SV-IV-atomic-decimal-maxExclusive-2-5 tokoe:valid" result="fail"/><test-case name="61NISTSchema-SV-IV-atomic-decimal-maxExclusive-3 tokoe:valid" result="pass"/><test-case name="62NISTXML-SV-IV-atomic-decimal-maxExclusive-3-1 tokoe:valid" result="pass"/><test-case name="63NISTXML-SV-IV-atomic-decimal-maxExclusive-3-2 tokoe:valid" result="pass"/><test-case name="64NISTXML-SV-IV-atomic-decimal-maxExclusive-3-3 tokoe:valid" result="pass"/><test-case name="65NISTXML-SV-IV-atomic-decimal-maxExclusive-3-4 tokoe:valid" result="pass"/><test-case name="66NISTXML-SV-IV-atomic-decimal-maxExclusive-3-5 tokoe:valid" result="fail"/><test-case name="67NISTSchema-SV-IV-atomic-decimal-maxExclusive-4 tokoe:valid" result="pass"/><test-case name="68NISTXML-SV-IV-atomic-decimal-maxExclusive-4-1 tokoe:valid" result="pass"/><test-case name="69NISTXML-SV-IV-atomic-decimal-maxExclusive-4-2 tokoe:valid" result="pass"/><test-case name="70NISTXML-SV-IV-atomic-decimal-maxExclusive-4-3 tokoe:valid" result="pass"/><test-case name="71NISTXML-SV-IV-atomic-decimal-maxExclusive-4-4 tokoe:valid" result="pass"/><test-case name="72NISTXML-SV-IV-atomic-decimal-maxExclusive-4-5 tokoe:valid" result="fail"/><test-case name="73NISTSchema-SV-IV-atomic-decimal-maxExclusive-5 tokoe:valid" result="pass"/><test-case name="74NISTXML-SV-IV-atomic-decimal-maxExclusive-5-1 tokoe:valid" result="pass"/><test-case name="75NISTXML-SV-IV-atomic-decimal-maxExclusive-5-2 tokoe:valid" result="pass"/><test-case name="76NISTXML-SV-IV-atomic-decimal-maxExclusive-5-3 tokoe:valid" result="pass"/><test-case name="77NISTXML-SV-IV-atomic-decimal-maxExclusive-5-4 tokoe:valid" result="pass"/><test-case name="78NISTXML-SV-IV-atomic-decimal-maxExclusive-5-5 tokoe:valid" result="fail"/><test-case name="79NISTSchema-SV-IV-atomic-decimal-maxInclusive-1 tokoe:valid" result="pass"/><test-case name="80NISTXML-SV-IV-atomic-decimal-maxInclusive-1-1 tokoe:valid" result="pass"/><test-case name="81NISTSchema-SV-IV-atomic-decimal-maxInclusive-2 tokoe:valid" result="pass"/><test-case name="82NISTXML-SV-IV-atomic-decimal-maxInclusive-2-1 tokoe:valid" result="pass"/><test-case name="83NISTXML-SV-IV-atomic-decimal-maxInclusive-2-2 tokoe:valid" result="pass"/><test-case name="84NISTXML-SV-IV-atomic-decimal-maxInclusive-2-3 tokoe:valid" result="pass"/><test-case name="85NISTXML-SV-IV-atomic-decimal-maxInclusive-2-4 tokoe:valid" result="pass"/><test-case name="86NISTXML-SV-IV-atomic-decimal-maxInclusive-2-5 tokoe:valid" result="pass"/><test-case name="87NISTSchema-SV-IV-atomic-decimal-maxInclusive-3 tokoe:valid" result="pass"/><test-case name="88NISTXML-SV-IV-atomic-decimal-maxInclusive-3-1 tokoe:valid" result="pass"/><test-case name="89NISTXML-SV-IV-atomic-decimal-maxInclusive-3-2 tokoe:valid" result="pass"/><test-case name="90NISTXML-SV-IV-atomic-decimal-maxInclusive-3-3 tokoe:valid" result="pass"/><test-case name="91NISTXML-SV-IV-atomic-decimal-maxInclusive-3-4 tokoe:valid" result="pass"/><test-case name="92NISTXML-SV-IV-atomic-decimal-maxInclusive-3-5 tokoe:valid" result="pass"/><test-case name="93NISTSchema-SV-IV-atomic-decimal-maxInclusive-4 tokoe:valid" result="pass"/><test-case name="94NISTXML-SV-IV-atomic-decimal-maxInclusive-4-1 tokoe:valid" result="pass"/><test-case name="95NISTXML-SV-IV-atomic-decimal-maxInclusive-4-2 tokoe:valid" result="pass"/><test-case name="96NISTXML-SV-IV-atomic-decimal-maxInclusive-4-3 tokoe:valid" result="pass"/><test-case name="97NISTXML-SV-IV-atomic-decimal-maxInclusive-4-4 tokoe:valid" result="pass"/><test-case name="98NISTXML-SV-IV-atomic-decimal-maxInclusive-4-5 tokoe:valid" result="pass"/><test-case name="99NISTSchema-SV-IV-atomic-decimal-maxInclusive-5 tokoe:valid" result="pass"/><test-case name="100NISTXML-SV-IV-atomic-decimal-maxInclusive-5-1 tokoe:valid" result="pass"/><test-case name="101NISTXML-SV-IV-atomic-decimal-maxInclusive-5-2 tokoe:valid" result="pass"/><test-case name="102NISTXML-SV-IV-atomic-decimal-maxInclusive-5-3 tokoe:valid" result="pass"/><test-case name="103NISTXML-SV-IV-atomic-decimal-maxInclusive-5-4 tokoe:valid" result="pass"/><test-case name="104NISTXML-SV-IV-atomic-decimal-maxInclusive-5-5 tokoe:valid" result="pass"/><test-case name="105NISTSchema-SV-IV-atomic-decimal-fractionDigits-1 tokoe:valid" result="pass"/><test-case name="106NISTXML-SV-IV-atomic-decimal-fractionDigits-1-1 tokoe:valid" result="pass"/><test-case name="107NISTXML-SV-IV-atomic-decimal-fractionDigits-1-2 tokoe:valid" result="pass"/><test-case name="108NISTXML-SV-IV-atomic-decimal-fractionDigits-1-3 tokoe:valid" result="pass"/><test-case name="109NISTXML-SV-IV-atomic-decimal-fractionDigits-1-4 tokoe:valid" result="pass"/><test-case name="110NISTXML-SV-IV-atomic-decimal-fractionDigits-1-5 tokoe:valid" result="pass"/><test-case name="111NISTSchema-SV-IV-atomic-decimal-fractionDigits-2 tokoe:valid" result="pass"/><test-case name="112NISTXML-SV-IV-atomic-decimal-fractionDigits-2-1 tokoe:valid" result="pass"/><test-case name="113NISTXML-SV-IV-atomic-decimal-fractionDigits-2-2 tokoe:valid" result="pass"/><test-case name="114NISTXML-SV-IV-atomic-decimal-fractionDigits-2-3 tokoe:valid" result="pass"/><test-case name="115NISTXML-SV-IV-atomic-decimal-fractionDigits-2-4 tokoe:valid" result="pass"/><test-case name="116NISTXML-SV-IV-atomic-decimal-fractionDigits-2-5 tokoe:valid" result="pass"/><test-case name="117NISTSchema-SV-IV-atomic-decimal-fractionDigits-3 tokoe:valid" result="pass"/><test-case name="118NISTXML-SV-IV-atomic-decimal-fractionDigits-3-1 tokoe:valid" result="pass"/><test-case name="119NISTXML-SV-IV-atomic-decimal-fractionDigits-3-2 tokoe:valid" result="pass"/><test-case name="120NISTXML-SV-IV-atomic-decimal-fractionDigits-3-3 tokoe:valid" result="pass"/><test-case name="121NISTXML-SV-IV-atomic-decimal-fractionDigits-3-4 tokoe:valid" result="pass"/><test-case name="122NISTXML-SV-IV-atomic-decimal-fractionDigits-3-5 tokoe:valid" result="pass"/><test-case name="123NISTSchema-SV-IV-atomic-decimal-fractionDigits-4 tokoe:valid" result="pass"/><test-case name="124NISTXML-SV-IV-atomic-decimal-fractionDigits-4-1 tokoe:valid" result="pass"/><test-case name="125NISTXML-SV-IV-atomic-decimal-fractionDigits-4-2 tokoe:valid" result="pass"/><test-case name="126NISTXML-SV-IV-atomic-decimal-fractionDigits-4-3 tokoe:valid" result="pass"/><test-case name="127NISTXML-SV-IV-atomic-decimal-fractionDigits-4-4 tokoe:valid" result="pass"/><test-case name="128NISTXML-SV-IV-atomic-decimal-fractionDigits-4-5 tokoe:valid" result="pass"/><test-case name="129NISTSchema-SV-IV-atomic-decimal-fractionDigits-5 tokoe:valid" result="pass"/><test-case name="130NISTXML-SV-IV-atomic-decimal-fractionDigits-5-1 tokoe:valid" result="pass"/><test-case name="131NISTXML-SV-IV-atomic-decimal-fractionDigits-5-2 tokoe:valid" result="pass"/><test-case name="132NISTXML-SV-IV-atomic-decimal-fractionDigits-5-3 tokoe:valid" result="pass"/><test-case name="133NISTXML-SV-IV-atomic-decimal-fractionDigits-5-4 tokoe:valid" result="pass"/><test-case name="134NISTXML-SV-IV-atomic-decimal-fractionDigits-5-5 tokoe:valid" result="pass"/><test-case name="135NISTSchema-SV-IV-atomic-decimal-totalDigits-1 tokoe:valid" result="pass"/><test-case name="136NISTXML-SV-IV-atomic-decimal-totalDigits-1-1 tokoe:valid" result="pass"/><test-case name="137NISTXML-SV-IV-atomic-decimal-totalDigits-1-2 tokoe:valid" result="pass"/><test-case name="138NISTXML-SV-IV-atomic-decimal-totalDigits-1-3 tokoe:valid" result="pass"/><test-case name="139NISTXML-SV-IV-atomic-decimal-totalDigits-1-4 tokoe:valid" result="pass"/><test-case name="140NISTXML-SV-IV-atomic-decimal-totalDigits-1-5 tokoe:valid" result="pass"/><test-case name="141NISTSchema-SV-IV-atomic-decimal-totalDigits-2 tokoe:valid" result="pass"/><test-case name="142NISTXML-SV-IV-atomic-decimal-totalDigits-2-1 tokoe:valid" result="pass"/><test-case name="143NISTXML-SV-IV-atomic-decimal-totalDigits-2-2 tokoe:valid" result="pass"/><test-case name="144NISTXML-SV-IV-atomic-decimal-totalDigits-2-3 tokoe:valid" result="pass"/><test-case name="145NISTXML-SV-IV-atomic-decimal-totalDigits-2-4 tokoe:valid" result="pass"/><test-case name="146NISTXML-SV-IV-atomic-decimal-totalDigits-2-5 tokoe:valid" result="pass"/><test-case name="147NISTSchema-SV-IV-atomic-decimal-totalDigits-3 tokoe:valid" result="pass"/><test-case name="148NISTXML-SV-IV-atomic-decimal-totalDigits-3-1 tokoe:valid" result="pass"/><test-case name="149NISTXML-SV-IV-atomic-decimal-totalDigits-3-2 tokoe:valid" result="pass"/><test-case name="150NISTXML-SV-IV-atomic-decimal-totalDigits-3-3 tokoe:valid" result="pass"/><test-case name="151NISTXML-SV-IV-atomic-decimal-totalDigits-3-4 tokoe:valid" result="pass"/><test-case name="152NISTXML-SV-IV-atomic-decimal-totalDigits-3-5 tokoe:valid" result="pass"/><test-case name="153NISTSchema-SV-IV-atomic-decimal-totalDigits-4 tokoe:valid" result="pass"/><test-case name="154NISTXML-SV-IV-atomic-decimal-totalDigits-4-1 tokoe:valid" result="pass"/><test-case name="155NISTXML-SV-IV-atomic-decimal-totalDigits-4-2 tokoe:valid" result="pass"/><test-case name="156NISTXML-SV-IV-atomic-decimal-totalDigits-4-3 tokoe:valid" result="pass"/><test-case name="157NISTXML-SV-IV-atomic-decimal-totalDigits-4-4 tokoe:valid" result="pass"/><test-case name="158NISTXML-SV-IV-atomic-decimal-totalDigits-4-5 tokoe:valid" result="pass"/><test-case name="159NISTSchema-SV-IV-atomic-decimal-totalDigits-5 tokoe:valid" result="pass"/><test-case name="160NISTXML-SV-IV-atomic-decimal-totalDigits-5-1 tokoe:valid" result="pass"/><test-case name="161NISTXML-SV-IV-atomic-decimal-totalDigits-5-2 tokoe:valid" result="pass"/><test-case name="162NISTXML-SV-IV-atomic-decimal-totalDigits-5-3 tokoe:valid" result="pass"/><test-case name="163NISTXML-SV-IV-atomic-decimal-totalDigits-5-4 tokoe:valid" result="pass"/><test-case name="164NISTXML-SV-IV-atomic-decimal-totalDigits-5-5 tokoe:valid" result="pass"/><test-case name="165NISTSchema-SV-IV-atomic-decimal-pattern-1 tokoe:valid" result="pass"/><test-case name="166NISTXML-SV-IV-atomic-decimal-pattern-1-1 tokoe:valid" result="pass"/><test-case name="167NISTXML-SV-IV-atomic-decimal-pattern-1-2 tokoe:valid" result="pass"/><test-case name="168NISTXML-SV-IV-atomic-decimal-pattern-1-3 tokoe:valid" result="pass"/><test-case name="169NISTXML-SV-IV-atomic-decimal-pattern-1-4 tokoe:valid" result="pass"/><test-case name="170NISTXML-SV-IV-atomic-decimal-pattern-1-5 tokoe:valid" result="pass"/><test-case name="171NISTSchema-SV-IV-atomic-decimal-pattern-2 tokoe:valid" result="pass"/><test-case name="172NISTXML-SV-IV-atomic-decimal-pattern-2-1 tokoe:valid" result="pass"/><test-case name="173NISTXML-SV-IV-atomic-decimal-pattern-2-2 tokoe:valid" result="pass"/><test-case name="174NISTXML-SV-IV-atomic-decimal-pattern-2-3 tokoe:valid" result="pass"/><test-case name="175NISTXML-SV-IV-atomic-decimal-pattern-2-4 tokoe:valid" result="pass"/><test-case name="176NISTXML-SV-IV-atomic-decimal-pattern-2-5 tokoe:valid" result="pass"/><test-case name="177NISTSchema-SV-IV-atomic-decimal-pattern-3 tokoe:valid" result="pass"/><test-case name="178NISTXML-SV-IV-atomic-decimal-pattern-3-1 tokoe:valid" result="pass"/><test-case name="179NISTXML-SV-IV-atomic-decimal-pattern-3-2 tokoe:valid" result="pass"/><test-case name="180NISTXML-SV-IV-atomic-decimal-pattern-3-3 tokoe:valid" result="pass"/><test-case name="181NISTXML-SV-IV-atomic-decimal-pattern-3-4 tokoe:valid" result="pass"/><test-case name="182NISTXML-SV-IV-atomic-decimal-pattern-3-5 tokoe:valid" result="pass"/><test-case name="183NISTSchema-SV-IV-atomic-decimal-pattern-4 tokoe:valid" result="pass"/><test-case name="184NISTXML-SV-IV-atomic-decimal-pattern-4-1 tokoe:valid" result="pass"/><test-case name="185NISTXML-SV-IV-atomic-decimal-pattern-4-2 tokoe:valid" result="pass"/><test-case name="186NISTXML-SV-IV-atomic-decimal-pattern-4-3 tokoe:valid" result="pass"/><test-case name="187NISTXML-SV-IV-atomic-decimal-pattern-4-4 tokoe:valid" result="pass"/><test-case name="188NISTXML-SV-IV-atomic-decimal-pattern-4-5 tokoe:valid" result="pass"/><test-case name="189NISTSchema-SV-IV-atomic-decimal-pattern-5 tokoe:valid" result="pass"/><test-case name="190NISTXML-SV-IV-atomic-decimal-pattern-5-1 tokoe:valid" result="pass"/><test-case name="191NISTXML-SV-IV-atomic-decimal-pattern-5-2 tokoe:valid" result="pass"/><test-case name="192NISTXML-SV-IV-atomic-decimal-pattern-5-3 tokoe:valid" result="pass"/><test-case name="193NISTXML-SV-IV-atomic-decimal-pattern-5-4 tokoe:valid" result="pass"/><test-case name="194NISTXML-SV-IV-atomic-decimal-pattern-5-5 tokoe:valid" result="pass"/><test-case name="195NISTSchema-SV-IV-atomic-decimal-enumeration-1 tokoe:valid" result="pass"/><test-case name="196NISTXML-SV-IV-atomic-decimal-enumeration-1-1 tokoe:valid" result="fail"/><test-case name="197NISTXML-SV-IV-atomic-decimal-enumeration-1-2 tokoe:valid" result="pass"/><test-case name="198NISTXML-SV-IV-atomic-decimal-enumeration-1-3 tokoe:valid" result="pass"/><test-case name="199NISTXML-SV-IV-atomic-decimal-enumeration-1-4 tokoe:valid" result="fail"/><test-case name="200NISTXML-SV-IV-atomic-decimal-enumeration-1-5 tokoe:valid" result="pass"/><test-case name="201NISTSchema-SV-IV-atomic-decimal-enumeration-2 tokoe:valid" result="pass"/><test-case name="202NISTXML-SV-IV-atomic-decimal-enumeration-2-1 tokoe:valid" result="fail"/><test-case name="203NISTXML-SV-IV-atomic-decimal-enumeration-2-2 tokoe:valid" result="fail"/><test-case name="204NISTXML-SV-IV-atomic-decimal-enumeration-2-3 tokoe:valid" result="pass"/><test-case name="205NISTXML-SV-IV-atomic-decimal-enumeration-2-4 tokoe:valid" result="fail"/><test-case name="206NISTXML-SV-IV-atomic-decimal-enumeration-2-5 tokoe:valid" result="fail"/><test-case name="207NISTSchema-SV-IV-atomic-decimal-enumeration-3 tokoe:valid" result="pass"/><test-case name="208NISTXML-SV-IV-atomic-decimal-enumeration-3-1 tokoe:valid" result="fail"/><test-case name="209NISTXML-SV-IV-atomic-decimal-enumeration-3-2 tokoe:valid" result="pass"/><test-case name="210NISTXML-SV-IV-atomic-decimal-enumeration-3-3 tokoe:valid" result="pass"/><test-case name="211NISTXML-SV-IV-atomic-decimal-enumeration-3-4 tokoe:valid" result="pass"/><test-case name="212NISTXML-SV-IV-atomic-decimal-enumeration-3-5 tokoe:valid" result="fail"/><test-case name="213NISTSchema-SV-IV-atomic-decimal-enumeration-4 tokoe:valid" result="pass"/><test-case name="214NISTXML-SV-IV-atomic-decimal-enumeration-4-1 tokoe:valid" result="pass"/><test-case name="215NISTXML-SV-IV-atomic-decimal-enumeration-4-2 tokoe:valid" result="fail"/><test-case name="216NISTXML-SV-IV-atomic-decimal-enumeration-4-3 tokoe:valid" result="pass"/><test-case name="217NISTXML-SV-IV-atomic-decimal-enumeration-4-4 tokoe:valid" result="fail"/><test-case name="218NISTXML-SV-IV-atomic-decimal-enumeration-4-5 tokoe:valid" result="fail"/><test-case name="219NISTSchema-SV-IV-atomic-decimal-enumeration-5 tokoe:valid" result="pass"/><test-case name="220NISTXML-SV-IV-atomic-decimal-enumeration-5-1 tokoe:valid" result="fail"/><test-case name="221NISTXML-SV-IV-atomic-decimal-enumeration-5-2 tokoe:valid" result="pass"/><test-case name="222NISTXML-SV-IV-atomic-decimal-enumeration-5-3 tokoe:valid" result="fail"/><test-case name="223NISTXML-SV-IV-atomic-decimal-enumeration-5-4 tokoe:valid" result="pass"/><test-case name="224NISTXML-SV-IV-atomic-decimal-enumeration-5-5 tokoe:valid" result="pass"/><test-case name="225NISTSchema-SV-IV-atomic-decimal-whiteSpace-1 tokoe:valid" result="pass"/><test-case name="226NISTXML-SV-IV-atomic-decimal-whiteSpace-1-1 tokoe:valid" result="pass"/><test-case name="227NISTXML-SV-IV-atomic-decimal-whiteSpace-1-2 tokoe:valid" result="pass"/><test-case name="228NISTXML-SV-IV-atomic-decimal-whiteSpace-1-3 tokoe:valid" result="pass"/><test-case name="229NISTXML-SV-IV-atomic-decimal-whiteSpace-1-4 tokoe:valid" result="pass"/><test-case name="230NISTXML-SV-IV-atomic-decimal-whiteSpace-1-5 tokoe:valid" result="pass"/><test-case name="231NISTSchema-SV-IV-atomic-integer-minExclusive-1 tokoe:valid" result="pass"/><test-case name="232NISTXML-SV-IV-atomic-integer-minExclusive-1-1 tokoe:valid" result="pass"/><test-case name="233NISTXML-SV-IV-atomic-integer-minExclusive-1-2 tokoe:valid" result="pass"/><test-case name="234NISTXML-SV-IV-atomic-integer-minExclusive-1-3 tokoe:valid" result="pass"/><test-case name="235NISTXML-SV-IV-atomic-integer-minExclusive-1-4 tokoe:valid" result="pass"/><test-case name="236NISTXML-SV-IV-atomic-integer-minExclusive-1-5 tokoe:valid" result="pass"/><test-case name="237NISTSchema-SV-IV-atomic-integer-minExclusive-2 tokoe:valid" result="pass"/><test-case name="238NISTXML-SV-IV-atomic-integer-minExclusive-2-1 tokoe:valid" result="pass"/><test-case name="239NISTXML-SV-IV-atomic-integer-minExclusive-2-2 tokoe:valid" result="pass"/><test-case name="240NISTXML-SV-IV-atomic-integer-minExclusive-2-3 tokoe:valid" result="pass"/><test-case name="241NISTXML-SV-IV-atomic-integer-minExclusive-2-4 tokoe:valid" result="pass"/><test-case name="242NISTXML-SV-IV-atomic-integer-minExclusive-2-5 tokoe:valid" result="pass"/><test-case name="243NISTSchema-SV-IV-atomic-integer-minExclusive-3 tokoe:valid" result="pass"/><test-case name="244NISTXML-SV-IV-atomic-integer-minExclusive-3-1 tokoe:valid" result="pass"/><test-case name="245NISTXML-SV-IV-atomic-integer-minExclusive-3-2 tokoe:valid" result="pass"/><test-case name="246NISTXML-SV-IV-atomic-integer-minExclusive-3-3 tokoe:valid" result="pass"/><test-case name="247NISTXML-SV-IV-atomic-integer-minExclusive-3-4 tokoe:valid" result="pass"/><test-case name="248NISTXML-SV-IV-atomic-integer-minExclusive-3-5 tokoe:valid" result="pass"/><test-case name="249NISTSchema-SV-IV-atomic-integer-minExclusive-4 tokoe:valid" result="pass"/><test-case name="250NISTXML-SV-IV-atomic-integer-minExclusive-4-1 tokoe:valid" result="pass"/><test-case name="251NISTXML-SV-IV-atomic-integer-minExclusive-4-2 tokoe:valid" result="pass"/><test-case name="252NISTXML-SV-IV-atomic-integer-minExclusive-4-3 tokoe:valid" result="pass"/><test-case name="253NISTXML-SV-IV-atomic-integer-minExclusive-4-4 tokoe:valid" result="pass"/><test-case name="254NISTXML-SV-IV-atomic-integer-minExclusive-4-5 tokoe:valid" result="pass"/><test-case name="255NISTSchema-SV-IV-atomic-integer-minExclusive-5 tokoe:valid" result="pass"/><test-case name="256NISTXML-SV-IV-atomic-integer-minExclusive-5-1 tokoe:valid" result="pass"/><test-case name="257NISTSchema-SV-IV-atomic-integer-minInclusive-1 tokoe:valid" result="pass"/><test-case name="258NISTXML-SV-IV-atomic-integer-minInclusive-1-1 tokoe:valid" result="pass"/><test-case name="259NISTXML-SV-IV-atomic-integer-minInclusive-1-2 tokoe:valid" result="pass"/><test-case name="260NISTXML-SV-IV-atomic-integer-minInclusive-1-3 tokoe:valid" result="pass"/><test-case name="261NISTXML-SV-IV-atomic-integer-minInclusive-1-4 tokoe:valid" result="pass"/><test-case name="262NISTXML-SV-IV-atomic-integer-minInclusive-1-5 tokoe:valid" result="pass"/><test-case name="263NISTSchema-SV-IV-atomic-integer-minInclusive-2 tokoe:valid" result="pass"/><test-case name="264NISTXML-SV-IV-atomic-integer-minInclusive-2-1 tokoe:valid" result="pass"/><test-case name="265NISTXML-SV-IV-atomic-integer-minInclusive-2-2 tokoe:valid" result="pass"/><test-case name="266NISTXML-SV-IV-atomic-integer-minInclusive-2-3 tokoe:valid" result="pass"/><test-case name="267NISTXML-SV-IV-atomic-integer-minInclusive-2-4 tokoe:valid" result="pass"/><test-case name="268NISTXML-SV-IV-atomic-integer-minInclusive-2-5 tokoe:valid" result="pass"/><test-case name="269NISTSchema-SV-IV-atomic-integer-minInclusive-3 tokoe:valid" result="pass"/><test-case name="270NISTXML-SV-IV-atomic-integer-minInclusive-3-1 tokoe:valid" result="pass"/><test-case name="271NISTXML-SV-IV-atomic-integer-minInclusive-3-2 tokoe:valid" result="pass"/><test-case name="272NISTXML-SV-IV-atomic-integer-minInclusive-3-3 tokoe:valid" result="pass"/><test-case name="273NISTXML-SV-IV-atomic-integer-minInclusive-3-4 tokoe:valid" result="pass"/><test-case name="274NISTXML-SV-IV-atomic-integer-minInclusive-3-5 tokoe:valid" result="pass"/><test-case name="275NISTSchema-SV-IV-atomic-integer-minInclusive-4 tokoe:valid" result="pass"/><test-case name="276NISTXML-SV-IV-atomic-integer-minInclusive-4-1 tokoe:valid" result="pass"/><test-case name="277NISTXML-SV-IV-atomic-integer-minInclusive-4-2 tokoe:valid" result="pass"/><test-case name="278NISTXML-SV-IV-atomic-integer-minInclusive-4-3 tokoe:valid" result="pass"/><test-case name="279NISTXML-SV-IV-atomic-integer-minInclusive-4-4 tokoe:valid" result="pass"/><test-case name="280NISTXML-SV-IV-atomic-integer-minInclusive-4-5 tokoe:valid" result="pass"/><test-case name="281NISTSchema-SV-IV-atomic-integer-minInclusive-5 tokoe:valid" result="pass"/><test-case name="282NISTXML-SV-IV-atomic-integer-minInclusive-5-1 tokoe:valid" result="pass"/><test-case name="283NISTSchema-SV-IV-atomic-integer-maxExclusive-1 tokoe:valid" result="pass"/><test-case name="284NISTXML-SV-IV-atomic-integer-maxExclusive-1-1 tokoe:valid" result="pass"/><test-case name="285NISTSchema-SV-IV-atomic-integer-maxExclusive-2 tokoe:valid" result="pass"/><test-case name="286NISTXML-SV-IV-atomic-integer-maxExclusive-2-1 tokoe:valid" result="pass"/><test-case name="287NISTXML-SV-IV-atomic-integer-maxExclusive-2-2 tokoe:valid" result="pass"/><test-case name="288NISTXML-SV-IV-atomic-integer-maxExclusive-2-3 tokoe:valid" result="pass"/><test-case name="289NISTXML-SV-IV-atomic-integer-maxExclusive-2-4 tokoe:valid" result="pass"/><test-case name="290NISTXML-SV-IV-atomic-integer-maxExclusive-2-5 tokoe:valid" result="pass"/><test-case name="291NISTSchema-SV-IV-atomic-integer-maxExclusive-3 tokoe:valid" result="pass"/><test-case name="292NISTXML-SV-IV-atomic-integer-maxExclusive-3-1 tokoe:valid" result="pass"/><test-case name="293NISTXML-SV-IV-atomic-integer-maxExclusive-3-2 tokoe:valid" result="pass"/><test-case name="294NISTXML-SV-IV-atomic-integer-maxExclusive-3-3 tokoe:valid" result="pass"/><test-case name="295NISTXML-SV-IV-atomic-integer-maxExclusive-3-4 tokoe:valid" result="pass"/><test-case name="296NISTXML-SV-IV-atomic-integer-maxExclusive-3-5 tokoe:valid" result="pass"/><test-case name="297NISTSchema-SV-IV-atomic-integer-maxExclusive-4 tokoe:valid" result="pass"/><test-case name="298NISTXML-SV-IV-atomic-integer-maxExclusive-4-1 tokoe:valid" result="pass"/><test-case name="299NISTXML-SV-IV-atomic-integer-maxExclusive-4-2 tokoe:valid" result="pass"/><test-case name="300NISTXML-SV-IV-atomic-integer-maxExclusive-4-3 tokoe:valid" result="pass"/><test-case name="301NISTXML-SV-IV-atomic-integer-maxExclusive-4-4 tokoe:valid" result="pass"/><test-case name="302NISTXML-SV-IV-atomic-integer-maxExclusive-4-5 tokoe:valid" result="pass"/><test-case name="303NISTSchema-SV-IV-atomic-integer-maxExclusive-5 tokoe:valid" result="pass"/><test-case name="304NISTXML-SV-IV-atomic-integer-maxExclusive-5-1 tokoe:valid" result="pass"/><test-case name="305NISTXML-SV-IV-atomic-integer-maxExclusive-5-2 tokoe:valid" result="pass"/><test-case name="306NISTXML-SV-IV-atomic-integer-maxExclusive-5-3 tokoe:valid" result="pass"/><test-case name="307NISTXML-SV-IV-atomic-integer-maxExclusive-5-4 tokoe:valid" result="pass"/><test-case name="308NISTXML-SV-IV-atomic-integer-maxExclusive-5-5 tokoe:valid" result="pass"/><test-case name="309NISTSchema-SV-IV-atomic-integer-maxInclusive-1 tokoe:valid" result="pass"/><test-case name="310NISTXML-SV-IV-atomic-integer-maxInclusive-1-1 tokoe:valid" result="pass"/><test-case name="311NISTSchema-SV-IV-atomic-integer-maxInclusive-2 tokoe:valid" result="pass"/><test-case name="312NISTXML-SV-IV-atomic-integer-maxInclusive-2-1 tokoe:valid" result="pass"/><test-case name="313NISTXML-SV-IV-atomic-integer-maxInclusive-2-2 tokoe:valid" result="pass"/><test-case name="314NISTXML-SV-IV-atomic-integer-maxInclusive-2-3 tokoe:valid" result="pass"/><test-case name="315NISTXML-SV-IV-atomic-integer-maxInclusive-2-4 tokoe:valid" result="pass"/><test-case name="316NISTXML-SV-IV-atomic-integer-maxInclusive-2-5 tokoe:valid" result="pass"/><test-case name="317NISTSchema-SV-IV-atomic-integer-maxInclusive-3 tokoe:valid" result="pass"/><test-case name="318NISTXML-SV-IV-atomic-integer-maxInclusive-3-1 tokoe:valid" result="pass"/><test-case name="319NISTXML-SV-IV-atomic-integer-maxInclusive-3-2 tokoe:valid" result="pass"/><test-case name="320NISTXML-SV-IV-atomic-integer-maxInclusive-3-3 tokoe:valid" result="pass"/><test-case name="321NISTXML-SV-IV-atomic-integer-maxInclusive-3-4 tokoe:valid" result="pass"/><test-case name="322NISTXML-SV-IV-atomic-integer-maxInclusive-3-5 tokoe:valid" result="pass"/><test-case name="323NISTSchema-SV-IV-atomic-integer-maxInclusive-4 tokoe:valid" result="pass"/><test-case name="324NISTXML-SV-IV-atomic-integer-maxInclusive-4-1 tokoe:valid" result="pass"/><test-case name="325NISTXML-SV-IV-atomic-integer-maxInclusive-4-2 tokoe:valid" result="pass"/><test-case name="326NISTXML-SV-IV-atomic-integer-maxInclusive-4-3 tokoe:valid" result="pass"/><test-case name="327NISTXML-SV-IV-atomic-integer-maxInclusive-4-4 tokoe:valid" result="pass"/><test-case name="328NISTXML-SV-IV-atomic-integer-maxInclusive-4-5 tokoe:valid" result="pass"/><test-case name="329NISTSchema-SV-IV-atomic-integer-maxInclusive-5 tokoe:valid" result="pass"/><test-case name="330NISTXML-SV-IV-atomic-integer-maxInclusive-5-1 tokoe:valid" result="pass"/><test-case name="331NISTXML-SV-IV-atomic-integer-maxInclusive-5-2 tokoe:valid" result="pass"/><test-case name="332NISTXML-SV-IV-atomic-integer-maxInclusive-5-3 tokoe:valid" result="pass"/><test-case name="333NISTXML-SV-IV-atomic-integer-maxInclusive-5-4 tokoe:valid" result="pass"/><test-case name="334NISTXML-SV-IV-atomic-integer-maxInclusive-5-5 tokoe:valid" result="pass"/><test-case name="335NISTSchema-SV-IV-atomic-integer-fractionDigits-1 tokoe:valid" result="pass"/><test-case name="336NISTXML-SV-IV-atomic-integer-fractionDigits-1-1 tokoe:valid" result="pass"/><test-case name="337NISTXML-SV-IV-atomic-integer-fractionDigits-1-2 tokoe:valid" result="pass"/><test-case name="338NISTXML-SV-IV-atomic-integer-fractionDigits-1-3 tokoe:valid" result="pass"/><test-case name="339NISTXML-SV-IV-atomic-integer-fractionDigits-1-4 tokoe:valid" result="pass"/><test-case name="340NISTXML-SV-IV-atomic-integer-fractionDigits-1-5 tokoe:valid" result="pass"/><test-case name="341NISTSchema-SV-IV-atomic-integer-totalDigits-1 tokoe:valid" result="pass"/><test-case name="342NISTXML-SV-IV-atomic-integer-totalDigits-1-1 tokoe:valid" result="pass"/><test-case name="343NISTXML-SV-IV-atomic-integer-totalDigits-1-2 tokoe:valid" result="pass"/><test-case name="344NISTXML-SV-IV-atomic-integer-totalDigits-1-3 tokoe:valid" result="pass"/><test-case name="345NISTXML-SV-IV-atomic-integer-totalDigits-1-4 tokoe:valid" result="pass"/><test-case name="346NISTXML-SV-IV-atomic-integer-totalDigits-1-5 tokoe:valid" result="pass"/><test-case name="347NISTSchema-SV-IV-atomic-integer-totalDigits-2 tokoe:valid" result="pass"/><test-case name="348NISTXML-SV-IV-atomic-integer-totalDigits-2-1 tokoe:valid" result="pass"/><test-case name="349NISTXML-SV-IV-atomic-integer-totalDigits-2-2 tokoe:valid" result="pass"/><test-case name="350NISTXML-SV-IV-atomic-integer-totalDigits-2-3 tokoe:valid" result="pass"/><test-case name="351NISTXML-SV-IV-atomic-integer-totalDigits-2-4 tokoe:valid" result="pass"/><test-case name="352NISTXML-SV-IV-atomic-integer-totalDigits-2-5 tokoe:valid" result="pass"/><test-case name="353NISTSchema-SV-IV-atomic-integer-totalDigits-3 tokoe:valid" result="pass"/><test-case name="354NISTXML-SV-IV-atomic-integer-totalDigits-3-1 tokoe:valid" result="pass"/><test-case name="355NISTXML-SV-IV-atomic-integer-totalDigits-3-2 tokoe:valid" result="pass"/><test-case name="356NISTXML-SV-IV-atomic-integer-totalDigits-3-3 tokoe:valid" result="pass"/><test-case name="357NISTXML-SV-IV-atomic-integer-totalDigits-3-4 tokoe:valid" result="pass"/><test-case name="358NISTXML-SV-IV-atomic-integer-totalDigits-3-5 tokoe:valid" result="pass"/><test-case name="359NISTSchema-SV-IV-atomic-integer-totalDigits-4 tokoe:valid" result="pass"/><test-case name="360NISTXML-SV-IV-atomic-integer-totalDigits-4-1 tokoe:valid" result="pass"/><test-case name="361NISTXML-SV-IV-atomic-integer-totalDigits-4-2 tokoe:valid" result="pass"/><test-case name="362NISTXML-SV-IV-atomic-integer-totalDigits-4-3 tokoe:valid" result="pass"/><test-case name="363NISTXML-SV-IV-atomic-integer-totalDigits-4-4 tokoe:valid" result="pass"/><test-case name="364NISTXML-SV-IV-atomic-integer-totalDigits-4-5 tokoe:valid" result="pass"/><test-case name="365NISTSchema-SV-IV-atomic-integer-totalDigits-5 tokoe:valid" result="pass"/><test-case name="366NISTXML-SV-IV-atomic-integer-totalDigits-5-1 tokoe:valid" result="pass"/><test-case name="367NISTXML-SV-IV-atomic-integer-totalDigits-5-2 tokoe:valid" result="pass"/><test-case name="368NISTXML-SV-IV-atomic-integer-totalDigits-5-3 tokoe:valid" result="pass"/><test-case name="369NISTXML-SV-IV-atomic-integer-totalDigits-5-4 tokoe:valid" result="pass"/><test-case name="370NISTXML-SV-IV-atomic-integer-totalDigits-5-5 tokoe:valid" result="pass"/><test-case name="371NISTSchema-SV-IV-atomic-integer-pattern-1 tokoe:valid" result="pass"/><test-case name="372NISTXML-SV-IV-atomic-integer-pattern-1-1 tokoe:valid" result="pass"/><test-case name="373NISTXML-SV-IV-atomic-integer-pattern-1-2 tokoe:valid" result="pass"/><test-case name="374NISTXML-SV-IV-atomic-integer-pattern-1-3 tokoe:valid" result="pass"/><test-case name="375NISTXML-SV-IV-atomic-integer-pattern-1-4 tokoe:valid" result="pass"/><test-case name="376NISTXML-SV-IV-atomic-integer-pattern-1-5 tokoe:valid" result="pass"/><test-case name="377NISTSchema-SV-IV-atomic-integer-pattern-2 tokoe:valid" result="pass"/><test-case name="378NISTXML-SV-IV-atomic-integer-pattern-2-1 tokoe:valid" result="pass"/><test-case name="379NISTXML-SV-IV-atomic-integer-pattern-2-2 tokoe:valid" result="pass"/><test-case name="380NISTXML-SV-IV-atomic-integer-pattern-2-3 tokoe:valid" result="pass"/><test-case name="381NISTXML-SV-IV-atomic-integer-pattern-2-4 tokoe:valid" result="pass"/><test-case name="382NISTXML-SV-IV-atomic-integer-pattern-2-5 tokoe:valid" result="pass"/><test-case name="383NISTSchema-SV-IV-atomic-integer-pattern-3 tokoe:valid" result="pass"/><test-case name="384NISTXML-SV-IV-atomic-integer-pattern-3-1 tokoe:valid" result="pass"/><test-case name="385NISTXML-SV-IV-atomic-integer-pattern-3-2 tokoe:valid" result="pass"/><test-case name="386NISTXML-SV-IV-atomic-integer-pattern-3-3 tokoe:valid" result="pass"/><test-case name="387NISTXML-SV-IV-atomic-integer-pattern-3-4 tokoe:valid" result="pass"/><test-case name="388NISTXML-SV-IV-atomic-integer-pattern-3-5 tokoe:valid" result="pass"/><test-case name="389NISTSchema-SV-IV-atomic-integer-pattern-4 tokoe:valid" result="pass"/><test-case name="390NISTXML-SV-IV-atomic-integer-pattern-4-1 tokoe:valid" result="pass"/><test-case name="391NISTXML-SV-IV-atomic-integer-pattern-4-2 tokoe:valid" result="pass"/><test-case name="392NISTXML-SV-IV-atomic-integer-pattern-4-3 tokoe:valid" result="pass"/><test-case name="393NISTXML-SV-IV-atomic-integer-pattern-4-4 tokoe:valid" result="pass"/><test-case name="394NISTXML-SV-IV-atomic-integer-pattern-4-5 tokoe:valid" result="pass"/><test-case name="395NISTSchema-SV-IV-atomic-integer-pattern-5 tokoe:valid" result="pass"/><test-case name="396NISTXML-SV-IV-atomic-integer-pattern-5-1 tokoe:valid" result="pass"/><test-case name="397NISTXML-SV-IV-atomic-integer-pattern-5-2 tokoe:valid" result="pass"/><test-case name="398NISTXML-SV-IV-atomic-integer-pattern-5-3 tokoe:valid" result="pass"/><test-case name="399NISTXML-SV-IV-atomic-integer-pattern-5-4 tokoe:valid" result="pass"/><test-case name="400NISTXML-SV-IV-atomic-integer-pattern-5-5 tokoe:valid" result="pass"/><test-case name="401NISTSchema-SV-IV-atomic-integer-enumeration-1 tokoe:valid" result="pass"/><test-case name="402NISTXML-SV-IV-atomic-integer-enumeration-1-1 tokoe:valid" result="pass"/><test-case name="403NISTXML-SV-IV-atomic-integer-enumeration-1-2 tokoe:valid" result="pass"/><test-case name="404NISTXML-SV-IV-atomic-integer-enumeration-1-3 tokoe:valid" result="pass"/><test-case name="405NISTXML-SV-IV-atomic-integer-enumeration-1-4 tokoe:valid" result="pass"/><test-case name="406NISTXML-SV-IV-atomic-integer-enumeration-1-5 tokoe:valid" result="pass"/><test-case name="407NISTSchema-SV-IV-atomic-integer-enumeration-2 tokoe:valid" result="pass"/><test-case name="408NISTXML-SV-IV-atomic-integer-enumeration-2-1 tokoe:valid" result="pass"/><test-case name="409NISTXML-SV-IV-atomic-integer-enumeration-2-2 tokoe:valid" result="pass"/><test-case name="410NISTXML-SV-IV-atomic-integer-enumeration-2-3 tokoe:valid" result="pass"/><test-case name="411NISTXML-SV-IV-atomic-integer-enumeration-2-4 tokoe:valid" result="pass"/><test-case name="412NISTXML-SV-IV-atomic-integer-enumeration-2-5 tokoe:valid" result="pass"/><test-case name="413NISTSchema-SV-IV-atomic-integer-enumeration-3 tokoe:valid" result="pass"/><test-case name="414NISTXML-SV-IV-atomic-integer-enumeration-3-1 tokoe:valid" result="pass"/><test-case name="415NISTXML-SV-IV-atomic-integer-enumeration-3-2 tokoe:valid" result="pass"/><test-case name="416NISTXML-SV-IV-atomic-integer-enumeration-3-3 tokoe:valid" result="pass"/><test-case name="417NISTXML-SV-IV-atomic-integer-enumeration-3-4 tokoe:valid" result="pass"/><test-case name="418NISTXML-SV-IV-atomic-integer-enumeration-3-5 tokoe:valid" result="pass"/><test-case name="419NISTSchema-SV-IV-atomic-integer-enumeration-4 tokoe:valid" result="pass"/><test-case name="420NISTXML-SV-IV-atomic-integer-enumeration-4-1 tokoe:valid" result="pass"/><test-case name="421NISTXML-SV-IV-atomic-integer-enumeration-4-2 tokoe:valid" result="pass"/><test-case name="422NISTXML-SV-IV-atomic-integer-enumeration-4-3 tokoe:valid" result="pass"/><test-case name="423NISTXML-SV-IV-atomic-integer-enumeration-4-4 tokoe:valid" result="pass"/><test-case name="424NISTXML-SV-IV-atomic-integer-enumeration-4-5 tokoe:valid" result="pass"/><test-case name="425NISTSchema-SV-IV-atomic-integer-enumeration-5 tokoe:valid" result="pass"/><test-case name="426NISTXML-SV-IV-atomic-integer-enumeration-5-1 tokoe:valid" result="pass"/><test-case name="427NISTXML-SV-IV-atomic-integer-enumeration-5-2 tokoe:valid" result="pass"/><test-case name="428NISTXML-SV-IV-atomic-integer-enumeration-5-3 tokoe:valid" result="pass"/><test-case name="429NISTXML-SV-IV-atomic-integer-enumeration-5-4 tokoe:valid" result="pass"/><test-case name="430NISTXML-SV-IV-atomic-integer-enumeration-5-5 tokoe:valid" result="pass"/><test-case name="431NISTSchema-SV-IV-atomic-integer-whiteSpace-1 tokoe:valid" result="pass"/><test-case name="432NISTXML-SV-IV-atomic-integer-whiteSpace-1-1 tokoe:valid" result="pass"/><test-case name="433NISTXML-SV-IV-atomic-integer-whiteSpace-1-2 tokoe:valid" result="pass"/><test-case name="434NISTXML-SV-IV-atomic-integer-whiteSpace-1-3 tokoe:valid" result="pass"/><test-case name="435NISTXML-SV-IV-atomic-integer-whiteSpace-1-4 tokoe:valid" result="pass"/><test-case name="436NISTXML-SV-IV-atomic-integer-whiteSpace-1-5 tokoe:valid" result="pass"/><test-case name="437NISTSchema-SV-IV-atomic-nonPositiveInteger-minExclusive-1 tokoe:valid" result="pass"/><test-case name="438NISTXML-SV-IV-atomic-nonPositiveInteger-minExclusive-1-1 tokoe:valid" result="pass"/><test-case name="439NISTXML-SV-IV-atomic-nonPositiveInteger-minExclusive-1-2 tokoe:valid" result="pass"/><test-case name="440NISTXML-SV-IV-atomic-nonPositiveInteger-minExclusive-1-3 tokoe:valid" result="pass"/><test-case name="441NISTXML-SV-IV-atomic-nonPositiveInteger-minExclusive-1-4 tokoe:valid" result="pass"/><test-case name="442NISTXML-SV-IV-atomic-nonPositiveInteger-minExclusive-1-5 tokoe:valid" result="pass"/><test-case name="443NISTSchema-SV-IV-atomic-nonPositiveInteger-minExclusive-2 tokoe:valid" result="pass"/><test-case name="444NISTXML-SV-IV-atomic-nonPositiveInteger-minExclusive-2-1 tokoe:valid" result="pass"/><test-case name="445NISTXML-SV-IV-atomic-nonPositiveInteger-minExclusive-2-2 tokoe:valid" result="pass"/><test-case name="446NISTXML-SV-IV-atomic-nonPositiveInteger-minExclusive-2-3 tokoe:valid" result="pass"/><test-case name="447NISTXML-SV-IV-atomic-nonPositiveInteger-minExclusive-2-4 tokoe:valid" result="pass"/><test-case name="448NISTXML-SV-IV-atomic-nonPositiveInteger-minExclusive-2-5 tokoe:valid" result="pass"/><test-case name="449NISTSchema-SV-IV-atomic-nonPositiveInteger-minExclusive-3 tokoe:valid" result="pass"/><test-case name="450NISTXML-SV-IV-atomic-nonPositiveInteger-minExclusive-3-1 tokoe:valid" result="pass"/><test-case name="451NISTXML-SV-IV-atomic-nonPositiveInteger-minExclusive-3-2 tokoe:valid" result="pass"/><test-case name="452NISTXML-SV-IV-atomic-nonPositiveInteger-minExclusive-3-3 tokoe:valid" result="pass"/><test-case name="453NISTXML-SV-IV-atomic-nonPositiveInteger-minExclusive-3-4 tokoe:valid" result="pass"/><test-case name="454NISTXML-SV-IV-atomic-nonPositiveInteger-minExclusive-3-5 tokoe:valid" result="pass"/><test-case name="455NISTSchema-SV-IV-atomic-nonPositiveInteger-minExclusive-4 tokoe:valid" result="pass"/><test-case name="456NISTXML-SV-IV-atomic-nonPositiveInteger-minExclusive-4-1 tokoe:valid" result="pass"/><test-case name="457NISTXML-SV-IV-atomic-nonPositiveInteger-minExclusive-4-2 tokoe:valid" result="pass"/><test-case name="458NISTXML-SV-IV-atomic-nonPositiveInteger-minExclusive-4-3 tokoe:valid" result="pass"/><test-case name="459NISTXML-SV-IV-atomic-nonPositiveInteger-minExclusive-4-4 tokoe:valid" result="pass"/><test-case name="460NISTXML-SV-IV-atomic-nonPositiveInteger-minExclusive-4-5 tokoe:valid" result="pass"/><test-case name="461NISTSchema-SV-IV-atomic-nonPositiveInteger-minExclusive-5 tokoe:valid" result="pass"/><test-case name="462NISTXML-SV-IV-atomic-nonPositiveInteger-minExclusive-5-1 tokoe:valid" result="pass"/><test-case name="463NISTSchema-SV-IV-atomic-nonPositiveInteger-minInclusive-1 tokoe:valid" result="pass"/><test-case name="464NISTXML-SV-IV-atomic-nonPositiveInteger-minInclusive-1-1 tokoe:valid" result="pass"/><test-case name="465NISTXML-SV-IV-atomic-nonPositiveInteger-minInclusive-1-2 tokoe:valid" result="pass"/><test-case name="466NISTXML-SV-IV-atomic-nonPositiveInteger-minInclusive-1-3 tokoe:valid" result="pass"/><test-case name="467NISTXML-SV-IV-atomic-nonPositiveInteger-minInclusive-1-4 tokoe:valid" result="pass"/><test-case name="468NISTXML-SV-IV-atomic-nonPositiveInteger-minInclusive-1-5 tokoe:valid" result="pass"/><test-case name="469NISTSchema-SV-IV-atomic-nonPositiveInteger-minInclusive-2 tokoe:valid" result="pass"/><test-case name="470NISTXML-SV-IV-atomic-nonPositiveInteger-minInclusive-2-1 tokoe:valid" result="pass"/><test-case name="471NISTXML-SV-IV-atomic-nonPositiveInteger-minInclusive-2-2 tokoe:valid" result="pass"/><test-case name="472NISTXML-SV-IV-atomic-nonPositiveInteger-minInclusive-2-3 tokoe:valid" result="pass"/><test-case name="473NISTXML-SV-IV-atomic-nonPositiveInteger-minInclusive-2-4 tokoe:valid" result="pass"/><test-case name="474NISTXML-SV-IV-atomic-nonPositiveInteger-minInclusive-2-5 tokoe:valid" result="pass"/><test-case name="475NISTSchema-SV-IV-atomic-nonPositiveInteger-minInclusive-3 tokoe:valid" result="pass"/><test-case name="476NISTXML-SV-IV-atomic-nonPositiveInteger-minInclusive-3-1 tokoe:valid" result="pass"/><test-case name="477NISTXML-SV-IV-atomic-nonPositiveInteger-minInclusive-3-2 tokoe:valid" result="pass"/><test-case name="478NISTXML-SV-IV-atomic-nonPositiveInteger-minInclusive-3-3 tokoe:valid" result="pass"/><test-case name="479NISTXML-SV-IV-atomic-nonPositiveInteger-minInclusive-3-4 tokoe:valid" result="pass"/><test-case name="480NISTXML-SV-IV-atomic-nonPositiveInteger-minInclusive-3-5 tokoe:valid" result="pass"/><test-case name="481NISTSchema-SV-IV-atomic-nonPositiveInteger-minInclusive-4 tokoe:valid" result="pass"/><test-case name="482NISTXML-SV-IV-atomic-nonPositiveInteger-minInclusive-4-1 tokoe:valid" result="pass"/><test-case name="483NISTXML-SV-IV-atomic-nonPositiveInteger-minInclusive-4-2 tokoe:valid" result="pass"/><test-case name="484NISTXML-SV-IV-atomic-nonPositiveInteger-minInclusive-4-3 tokoe:valid" result="pass"/><test-case name="485NISTXML-SV-IV-atomic-nonPositiveInteger-minInclusive-4-4 tokoe:valid" result="pass"/><test-case name="486NISTXML-SV-IV-atomic-nonPositiveInteger-minInclusive-4-5 tokoe:valid" result="pass"/><test-case name="487NISTSchema-SV-IV-atomic-nonPositiveInteger-minInclusive-5 tokoe:valid" result="pass"/><test-case name="488NISTXML-SV-IV-atomic-nonPositiveInteger-minInclusive-5-1 tokoe:valid" result="pass"/><test-case name="489NISTSchema-SV-IV-atomic-nonPositiveInteger-maxExclusive-1 tokoe:valid" result="pass"/><test-case name="490NISTXML-SV-IV-atomic-nonPositiveInteger-maxExclusive-1-1 tokoe:valid" result="pass"/><test-case name="491NISTSchema-SV-IV-atomic-nonPositiveInteger-maxExclusive-2 tokoe:valid" result="pass"/><test-case name="492NISTXML-SV-IV-atomic-nonPositiveInteger-maxExclusive-2-1 tokoe:valid" result="pass"/><test-case name="493NISTXML-SV-IV-atomic-nonPositiveInteger-maxExclusive-2-2 tokoe:valid" result="pass"/><test-case name="494NISTXML-SV-IV-atomic-nonPositiveInteger-maxExclusive-2-3 tokoe:valid" result="pass"/><test-case name="495NISTXML-SV-IV-atomic-nonPositiveInteger-maxExclusive-2-4 tokoe:valid" result="pass"/><test-case name="496NISTXML-SV-IV-atomic-nonPositiveInteger-maxExclusive-2-5 tokoe:valid" result="pass"/><test-case name="497NISTSchema-SV-IV-atomic-nonPositiveInteger-maxExclusive-3 tokoe:valid" result="pass"/><test-case name="498NISTXML-SV-IV-atomic-nonPositiveInteger-maxExclusive-3-1 tokoe:valid" result="pass"/><test-case name="499NISTXML-SV-IV-atomic-nonPositiveInteger-maxExclusive-3-2 tokoe:valid" result="pass"/><test-case name="500NISTXML-SV-IV-atomic-nonPositiveInteger-maxExclusive-3-3 tokoe:valid" result="pass"/><test-case name="501NISTXML-SV-IV-atomic-nonPositiveInteger-maxExclusive-3-4 tokoe:valid" result="pass"/><test-case name="502NISTXML-SV-IV-atomic-nonPositiveInteger-maxExclusive-3-5 tokoe:valid" result="pass"/><test-case name="503NISTSchema-SV-IV-atomic-nonPositiveInteger-maxExclusive-4 tokoe:valid" result="pass"/><test-case name="504NISTXML-SV-IV-atomic-nonPositiveInteger-maxExclusive-4-1 tokoe:valid" result="pass"/><test-case name="505NISTXML-SV-IV-atomic-nonPositiveInteger-maxExclusive-4-2 tokoe:valid" result="pass"/><test-case name="506NISTXML-SV-IV-atomic-nonPositiveInteger-maxExclusive-4-3 tokoe:valid" result="pass"/><test-case name="507NISTXML-SV-IV-atomic-nonPositiveInteger-maxExclusive-4-4 tokoe:valid" result="pass"/><test-case name="508NISTXML-SV-IV-atomic-nonPositiveInteger-maxExclusive-4-5 tokoe:valid" result="pass"/><test-case name="509NISTSchema-SV-IV-atomic-nonPositiveInteger-maxExclusive-5 tokoe:valid" result="pass"/><test-case name="510NISTXML-SV-IV-atomic-nonPositiveInteger-maxExclusive-5-1 tokoe:valid" result="pass"/><test-case name="511NISTXML-SV-IV-atomic-nonPositiveInteger-maxExclusive-5-2 tokoe:valid" result="pass"/><test-case name="512NISTXML-SV-IV-atomic-nonPositiveInteger-maxExclusive-5-3 tokoe:valid" result="pass"/><test-case name="513NISTXML-SV-IV-atomic-nonPositiveInteger-maxExclusive-5-4 tokoe:valid" result="pass"/><test-case name="514NISTXML-SV-IV-atomic-nonPositiveInteger-maxExclusive-5-5 tokoe:valid" result="pass"/><test-case name="515NISTSchema-SV-IV-atomic-nonPositiveInteger-maxInclusive-1 tokoe:valid" result="pass"/><test-case name="516NISTXML-SV-IV-atomic-nonPositiveInteger-maxInclusive-1-1 tokoe:valid" result="pass"/><test-case name="517NISTSchema-SV-IV-atomic-nonPositiveInteger-maxInclusive-2 tokoe:valid" result="pass"/><test-case name="518NISTXML-SV-IV-atomic-nonPositiveInteger-maxInclusive-2-1 tokoe:valid" result="pass"/><test-case name="519NISTXML-SV-IV-atomic-nonPositiveInteger-maxInclusive-2-2 tokoe:valid" result="pass"/><test-case name="520NISTXML-SV-IV-atomic-nonPositiveInteger-maxInclusive-2-3 tokoe:valid" result="pass"/><test-case name="521NISTXML-SV-IV-atomic-nonPositiveInteger-maxInclusive-2-4 tokoe:valid" result="pass"/><test-case name="522NISTXML-SV-IV-atomic-nonPositiveInteger-maxInclusive-2-5 tokoe:valid" result="pass"/><test-case name="523NISTSchema-SV-IV-atomic-nonPositiveInteger-maxInclusive-3 tokoe:valid" result="pass"/><test-case name="524NISTXML-SV-IV-atomic-nonPositiveInteger-maxInclusive-3-1 tokoe:valid" result="pass"/><test-case name="525NISTXML-SV-IV-atomic-nonPositiveInteger-maxInclusive-3-2 tokoe:valid" result="pass"/><test-case name="526NISTXML-SV-IV-atomic-nonPositiveInteger-maxInclusive-3-3 tokoe:valid" result="pass"/><test-case name="527NISTXML-SV-IV-atomic-nonPositiveInteger-maxInclusive-3-4 tokoe:valid" result="pass"/><test-case name="528NISTXML-SV-IV-atomic-nonPositiveInteger-maxInclusive-3-5 tokoe:valid" result="pass"/><test-case name="529NISTSchema-SV-IV-atomic-nonPositiveInteger-maxInclusive-4 tokoe:valid" result="pass"/><test-case name="530NISTXML-SV-IV-atomic-nonPositiveInteger-maxInclusive-4-1 tokoe:valid" result="pass"/><test-case name="531NISTXML-SV-IV-atomic-nonPositiveInteger-maxInclusive-4-2 tokoe:valid" result="pass"/><test-case name="532NISTXML-SV-IV-atomic-nonPositiveInteger-maxInclusive-4-3 tokoe:valid" result="pass"/><test-case name="533NISTXML-SV-IV-atomic-nonPositiveInteger-maxInclusive-4-4 tokoe:valid" result="pass"/><test-case name="534NISTXML-SV-IV-atomic-nonPositiveInteger-maxInclusive-4-5 tokoe:valid" result="pass"/><test-case name="535NISTSchema-SV-IV-atomic-nonPositiveInteger-maxInclusive-5 tokoe:valid" result="pass"/><test-case name="536NISTXML-SV-IV-atomic-nonPositiveInteger-maxInclusive-5-1 tokoe:valid" result="pass"/><test-case name="537NISTXML-SV-IV-atomic-nonPositiveInteger-maxInclusive-5-2 tokoe:valid" result="pass"/><test-case name="538NISTXML-SV-IV-atomic-nonPositiveInteger-maxInclusive-5-3 tokoe:valid" result="pass"/><test-case name="539NISTXML-SV-IV-atomic-nonPositiveInteger-maxInclusive-5-4 tokoe:valid" result="pass"/><test-case name="540NISTXML-SV-IV-atomic-nonPositiveInteger-maxInclusive-5-5 tokoe:valid" result="pass"/><test-case name="541NISTSchema-SV-IV-atomic-nonPositiveInteger-fractionDigits-1 tokoe:valid" result="pass"/><test-case name="542NISTXML-SV-IV-atomic-nonPositiveInteger-fractionDigits-1-1 tokoe:valid" result="pass"/><test-case name="543NISTXML-SV-IV-atomic-nonPositiveInteger-fractionDigits-1-2 tokoe:valid" result="pass"/><test-case name="544NISTXML-SV-IV-atomic-nonPositiveInteger-fractionDigits-1-3 tokoe:valid" result="pass"/><test-case name="545NISTXML-SV-IV-atomic-nonPositiveInteger-fractionDigits-1-4 tokoe:valid" result="pass"/><test-case name="546NISTXML-SV-IV-atomic-nonPositiveInteger-fractionDigits-1-5 tokoe:valid" result="pass"/><test-case name="547NISTSchema-SV-IV-atomic-nonPositiveInteger-totalDigits-1 tokoe:valid" result="pass"/><test-case name="548NISTXML-SV-IV-atomic-nonPositiveInteger-totalDigits-1-1 tokoe:valid" result="pass"/><test-case name="549NISTXML-SV-IV-atomic-nonPositiveInteger-totalDigits-1-2 tokoe:valid" result="pass"/><test-case name="550NISTXML-SV-IV-atomic-nonPositiveInteger-totalDigits-1-3 tokoe:valid" result="pass"/><test-case name="551NISTXML-SV-IV-atomic-nonPositiveInteger-totalDigits-1-4 tokoe:valid" result="pass"/><test-case name="552NISTXML-SV-IV-atomic-nonPositiveInteger-totalDigits-1-5 tokoe:valid" result="pass"/><test-case name="553NISTSchema-SV-IV-atomic-nonPositiveInteger-totalDigits-2 tokoe:valid" result="pass"/><test-case name="554NISTXML-SV-IV-atomic-nonPositiveInteger-totalDigits-2-1 tokoe:valid" result="pass"/><test-case name="555NISTXML-SV-IV-atomic-nonPositiveInteger-totalDigits-2-2 tokoe:valid" result="pass"/><test-case name="556NISTXML-SV-IV-atomic-nonPositiveInteger-totalDigits-2-3 tokoe:valid" result="pass"/><test-case name="557NISTXML-SV-IV-atomic-nonPositiveInteger-totalDigits-2-4 tokoe:valid" result="pass"/><test-case name="558NISTXML-SV-IV-atomic-nonPositiveInteger-totalDigits-2-5 tokoe:valid" result="pass"/><test-case name="559NISTSchema-SV-IV-atomic-nonPositiveInteger-totalDigits-3 tokoe:valid" result="pass"/><test-case name="560NISTXML-SV-IV-atomic-nonPositiveInteger-totalDigits-3-1 tokoe:valid" result="pass"/><test-case name="561NISTXML-SV-IV-atomic-nonPositiveInteger-totalDigits-3-2 tokoe:valid" result="pass"/><test-case name="562NISTXML-SV-IV-atomic-nonPositiveInteger-totalDigits-3-3 tokoe:valid" result="pass"/><test-case name="563NISTXML-SV-IV-atomic-nonPositiveInteger-totalDigits-3-4 tokoe:valid" result="pass"/><test-case name="564NISTXML-SV-IV-atomic-nonPositiveInteger-totalDigits-3-5 tokoe:valid" result="pass"/><test-case name="565NISTSchema-SV-IV-atomic-nonPositiveInteger-totalDigits-4 tokoe:valid" result="pass"/><test-case name="566NISTXML-SV-IV-atomic-nonPositiveInteger-totalDigits-4-1 tokoe:valid" result="pass"/><test-case name="567NISTXML-SV-IV-atomic-nonPositiveInteger-totalDigits-4-2 tokoe:valid" result="pass"/><test-case name="568NISTXML-SV-IV-atomic-nonPositiveInteger-totalDigits-4-3 tokoe:valid" result="pass"/><test-case name="569NISTXML-SV-IV-atomic-nonPositiveInteger-totalDigits-4-4 tokoe:valid" result="pass"/><test-case name="570NISTXML-SV-IV-atomic-nonPositiveInteger-totalDigits-4-5 tokoe:valid" result="pass"/><test-case name="571NISTSchema-SV-IV-atomic-nonPositiveInteger-totalDigits-5 tokoe:valid" result="pass"/><test-case name="572NISTXML-SV-IV-atomic-nonPositiveInteger-totalDigits-5-1 tokoe:valid" result="pass"/><test-case name="573NISTXML-SV-IV-atomic-nonPositiveInteger-totalDigits-5-2 tokoe:valid" result="pass"/><test-case name="574NISTXML-SV-IV-atomic-nonPositiveInteger-totalDigits-5-3 tokoe:valid" result="pass"/><test-case name="575NISTXML-SV-IV-atomic-nonPositiveInteger-totalDigits-5-4 tokoe:valid" result="pass"/><test-case name="576NISTXML-SV-IV-atomic-nonPositiveInteger-totalDigits-5-5 tokoe:valid" result="pass"/><test-case name="577NISTSchema-SV-IV-atomic-nonPositiveInteger-pattern-1 tokoe:valid" result="pass"/><test-case name="578NISTXML-SV-IV-atomic-nonPositiveInteger-pattern-1-1 tokoe:valid" result="pass"/><test-case name="579NISTXML-SV-IV-atomic-nonPositiveInteger-pattern-1-2 tokoe:valid" result="pass"/><test-case name="580NISTXML-SV-IV-atomic-nonPositiveInteger-pattern-1-3 tokoe:valid" result="pass"/><test-case name="581NISTXML-SV-IV-atomic-nonPositiveInteger-pattern-1-4 tokoe:valid" result="pass"/><test-case name="582NISTXML-SV-IV-atomic-nonPositiveInteger-pattern-1-5 tokoe:valid" result="pass"/><test-case name="583NISTSchema-SV-IV-atomic-nonPositiveInteger-pattern-2 tokoe:valid" result="pass"/><test-case name="584NISTXML-SV-IV-atomic-nonPositiveInteger-pattern-2-1 tokoe:valid" result="pass"/><test-case name="585NISTXML-SV-IV-atomic-nonPositiveInteger-pattern-2-2 tokoe:valid" result="pass"/><test-case name="586NISTXML-SV-IV-atomic-nonPositiveInteger-pattern-2-3 tokoe:valid" result="pass"/><test-case name="587NISTXML-SV-IV-atomic-nonPositiveInteger-pattern-2-4 tokoe:valid" result="pass"/><test-case name="588NISTXML-SV-IV-atomic-nonPositiveInteger-pattern-2-5 tokoe:valid" result="pass"/><test-case name="589NISTSchema-SV-IV-atomic-nonPositiveInteger-pattern-3 tokoe:valid" result="pass"/><test-case name="590NISTXML-SV-IV-atomic-nonPositiveInteger-pattern-3-1 tokoe:valid" result="pass"/><test-case name="591NISTXML-SV-IV-atomic-nonPositiveInteger-pattern-3-2 tokoe:valid" result="pass"/><test-case name="592NISTXML-SV-IV-atomic-nonPositiveInteger-pattern-3-3 tokoe:valid" result="pass"/><test-case name="593NISTXML-SV-IV-atomic-nonPositiveInteger-pattern-3-4 tokoe:valid" result="pass"/><test-case name="594NISTXML-SV-IV-atomic-nonPositiveInteger-pattern-3-5 tokoe:valid" result="pass"/><test-case name="595NISTSchema-SV-IV-atomic-nonPositiveInteger-pattern-4 tokoe:valid" result="pass"/><test-case name="596NISTXML-SV-IV-atomic-nonPositiveInteger-pattern-4-1 tokoe:valid" result="pass"/><test-case name="597NISTXML-SV-IV-atomic-nonPositiveInteger-pattern-4-2 tokoe:valid" result="pass"/><test-case name="598NISTXML-SV-IV-atomic-nonPositiveInteger-pattern-4-3 tokoe:valid" result="pass"/><test-case name="599NISTXML-SV-IV-atomic-nonPositiveInteger-pattern-4-4 tokoe:valid" result="pass"/><test-case name="600NISTXML-SV-IV-atomic-nonPositiveInteger-pattern-4-5 tokoe:valid" result="pass"/><test-case name="601NISTSchema-SV-IV-atomic-nonPositiveInteger-pattern-5 tokoe:valid" result="pass"/><test-case name="602NISTXML-SV-IV-atomic-nonPositiveInteger-pattern-5-1 tokoe:valid" result="pass"/><test-case name="603NISTXML-SV-IV-atomic-nonPositiveInteger-pattern-5-2 tokoe:valid" result="pass"/><test-case name="604NISTXML-SV-IV-atomic-nonPositiveInteger-pattern-5-3 tokoe:valid" result="pass"/><test-case name="605NISTXML-SV-IV-atomic-nonPositiveInteger-pattern-5-4 tokoe:valid" result="pass"/><test-case name="606NISTXML-SV-IV-atomic-nonPositiveInteger-pattern-5-5 tokoe:valid" result="pass"/><test-case name="607NISTSchema-SV-IV-atomic-nonPositiveInteger-enumeration-1 tokoe:valid" result="pass"/><test-case name="608NISTXML-SV-IV-atomic-nonPositiveInteger-enumeration-1-1 tokoe:valid" result="pass"/><test-case name="609NISTXML-SV-IV-atomic-nonPositiveInteger-enumeration-1-2 tokoe:valid" result="pass"/><test-case name="610NISTXML-SV-IV-atomic-nonPositiveInteger-enumeration-1-3 tokoe:valid" result="pass"/><test-case name="611NISTXML-SV-IV-atomic-nonPositiveInteger-enumeration-1-4 tokoe:valid" result="pass"/><test-case name="612NISTXML-SV-IV-atomic-nonPositiveInteger-enumeration-1-5 tokoe:valid" result="pass"/><test-case name="613NISTSchema-SV-IV-atomic-nonPositiveInteger-enumeration-2 tokoe:valid" result="pass"/><test-case name="614NISTXML-SV-IV-atomic-nonPositiveInteger-enumeration-2-1 tokoe:valid" result="pass"/><test-case name="615NISTXML-SV-IV-atomic-nonPositiveInteger-enumeration-2-2 tokoe:valid" result="pass"/><test-case name="616NISTXML-SV-IV-atomic-nonPositiveInteger-enumeration-2-3 tokoe:valid" result="pass"/><test-case name="617NISTXML-SV-IV-atomic-nonPositiveInteger-enumeration-2-4 tokoe:valid" result="pass"/><test-case name="618NISTXML-SV-IV-atomic-nonPositiveInteger-enumeration-2-5 tokoe:valid" result="pass"/><test-case name="619NISTSchema-SV-IV-atomic-nonPositiveInteger-enumeration-3 tokoe:valid" result="pass"/><test-case name="620NISTXML-SV-IV-atomic-nonPositiveInteger-enumeration-3-1 tokoe:valid" result="pass"/><test-case name="621NISTXML-SV-IV-atomic-nonPositiveInteger-enumeration-3-2 tokoe:valid" result="pass"/><test-case name="622NISTXML-SV-IV-atomic-nonPositiveInteger-enumeration-3-3 tokoe:valid" result="pass"/><test-case name="623NISTXML-SV-IV-atomic-nonPositiveInteger-enumeration-3-4 tokoe:valid" result="pass"/><test-case name="624NISTXML-SV-IV-atomic-nonPositiveInteger-enumeration-3-5 tokoe:valid" result="pass"/><test-case name="625NISTSchema-SV-IV-atomic-nonPositiveInteger-enumeration-4 tokoe:valid" result="pass"/><test-case name="626NISTXML-SV-IV-atomic-nonPositiveInteger-enumeration-4-1 tokoe:valid" result="pass"/><test-case name="627NISTXML-SV-IV-atomic-nonPositiveInteger-enumeration-4-2 tokoe:valid" result="pass"/><test-case name="628NISTXML-SV-IV-atomic-nonPositiveInteger-enumeration-4-3 tokoe:valid" result="pass"/><test-case name="629NISTXML-SV-IV-atomic-nonPositiveInteger-enumeration-4-4 tokoe:valid" result="pass"/><test-case name="630NISTXML-SV-IV-atomic-nonPositiveInteger-enumeration-4-5 tokoe:valid" result="pass"/><test-case name="631NISTSchema-SV-IV-atomic-nonPositiveInteger-enumeration-5 tokoe:valid" result="pass"/><test-case name="632NISTXML-SV-IV-atomic-nonPositiveInteger-enumeration-5-1 tokoe:valid" result="pass"/><test-case name="633NISTXML-SV-IV-atomic-nonPositiveInteger-enumeration-5-2 tokoe:valid" result="pass"/><test-case name="634NISTXML-SV-IV-atomic-nonPositiveInteger-enumeration-5-3 tokoe:valid" result="pass"/><test-case name="635NISTXML-SV-IV-atomic-nonPositiveInteger-enumeration-5-4 tokoe:valid" result="pass"/><test-case name="636NISTXML-SV-IV-atomic-nonPositiveInteger-enumeration-5-5 tokoe:valid" result="pass"/><test-case name="637NISTSchema-SV-IV-atomic-nonPositiveInteger-whiteSpace-1 tokoe:valid" result="pass"/><test-case name="638NISTXML-SV-IV-atomic-nonPositiveInteger-whiteSpace-1-1 tokoe:valid" result="pass"/><test-case name="639NISTXML-SV-IV-atomic-nonPositiveInteger-whiteSpace-1-2 tokoe:valid" result="pass"/><test-case name="640NISTXML-SV-IV-atomic-nonPositiveInteger-whiteSpace-1-3 tokoe:valid" result="pass"/><test-case name="641NISTXML-SV-IV-atomic-nonPositiveInteger-whiteSpace-1-4 tokoe:valid" result="pass"/><test-case name="642NISTXML-SV-IV-atomic-nonPositiveInteger-whiteSpace-1-5 tokoe:valid" result="pass"/><test-case name="643NISTSchema-SV-IV-atomic-negativeInteger-minExclusive-1 tokoe:valid" result="pass"/><test-case name="644NISTXML-SV-IV-atomic-negativeInteger-minExclusive-1-1 tokoe:valid" result="pass"/><test-case name="645NISTXML-SV-IV-atomic-negativeInteger-minExclusive-1-2 tokoe:valid" result="pass"/><test-case name="646NISTXML-SV-IV-atomic-negativeInteger-minExclusive-1-3 tokoe:valid" result="pass"/><test-case name="647NISTXML-SV-IV-atomic-negativeInteger-minExclusive-1-4 tokoe:valid" result="pass"/><test-case name="648NISTXML-SV-IV-atomic-negativeInteger-minExclusive-1-5 tokoe:valid" result="pass"/><test-case name="649NISTSchema-SV-IV-atomic-negativeInteger-minExclusive-2 tokoe:valid" result="pass"/><test-case name="650NISTXML-SV-IV-atomic-negativeInteger-minExclusive-2-1 tokoe:valid" result="pass"/><test-case name="651NISTXML-SV-IV-atomic-negativeInteger-minExclusive-2-2 tokoe:valid" result="pass"/><test-case name="652NISTXML-SV-IV-atomic-negativeInteger-minExclusive-2-3 tokoe:valid" result="pass"/><test-case name="653NISTXML-SV-IV-atomic-negativeInteger-minExclusive-2-4 tokoe:valid" result="pass"/><test-case name="654NISTXML-SV-IV-atomic-negativeInteger-minExclusive-2-5 tokoe:valid" result="pass"/><test-case name="655NISTSchema-SV-IV-atomic-negativeInteger-minExclusive-3 tokoe:valid" result="pass"/><test-case name="656NISTXML-SV-IV-atomic-negativeInteger-minExclusive-3-1 tokoe:valid" result="pass"/><test-case name="657NISTXML-SV-IV-atomic-negativeInteger-minExclusive-3-2 tokoe:valid" result="pass"/><test-case name="658NISTXML-SV-IV-atomic-negativeInteger-minExclusive-3-3 tokoe:valid" result="pass"/><test-case name="659NISTXML-SV-IV-atomic-negativeInteger-minExclusive-3-4 tokoe:valid" result="pass"/><test-case name="660NISTXML-SV-IV-atomic-negativeInteger-minExclusive-3-5 tokoe:valid" result="pass"/><test-case name="661NISTSchema-SV-IV-atomic-negativeInteger-minExclusive-4 tokoe:valid" result="pass"/><test-case name="662NISTXML-SV-IV-atomic-negativeInteger-minExclusive-4-1 tokoe:valid" result="pass"/><test-case name="663NISTXML-SV-IV-atomic-negativeInteger-minExclusive-4-2 tokoe:valid" result="pass"/><test-case name="664NISTXML-SV-IV-atomic-negativeInteger-minExclusive-4-3 tokoe:valid" result="pass"/><test-case name="665NISTXML-SV-IV-atomic-negativeInteger-minExclusive-4-4 tokoe:valid" result="pass"/><test-case name="666NISTXML-SV-IV-atomic-negativeInteger-minExclusive-4-5 tokoe:valid" result="pass"/><test-case name="667NISTSchema-SV-IV-atomic-negativeInteger-minExclusive-5 tokoe:valid" result="pass"/><test-case name="668NISTXML-SV-IV-atomic-negativeInteger-minExclusive-5-1 tokoe:valid" result="pass"/><test-case name="669NISTSchema-SV-IV-atomic-negativeInteger-minInclusive-1 tokoe:valid" result="pass"/><test-case name="670NISTXML-SV-IV-atomic-negativeInteger-minInclusive-1-1 tokoe:valid" result="pass"/><test-case name="671NISTXML-SV-IV-atomic-negativeInteger-minInclusive-1-2 tokoe:valid" result="pass"/><test-case name="672NISTXML-SV-IV-atomic-negativeInteger-minInclusive-1-3 tokoe:valid" result="pass"/><test-case name="673NISTXML-SV-IV-atomic-negativeInteger-minInclusive-1-4 tokoe:valid" result="pass"/><test-case name="674NISTXML-SV-IV-atomic-negativeInteger-minInclusive-1-5 tokoe:valid" result="pass"/><test-case name="675NISTSchema-SV-IV-atomic-negativeInteger-minInclusive-2 tokoe:valid" result="pass"/><test-case name="676NISTXML-SV-IV-atomic-negativeInteger-minInclusive-2-1 tokoe:valid" result="pass"/><test-case name="677NISTXML-SV-IV-atomic-negativeInteger-minInclusive-2-2 tokoe:valid" result="pass"/><test-case name="678NISTXML-SV-IV-atomic-negativeInteger-minInclusive-2-3 tokoe:valid" result="pass"/><test-case name="679NISTXML-SV-IV-atomic-negativeInteger-minInclusive-2-4 tokoe:valid" result="pass"/><test-case name="680NISTXML-SV-IV-atomic-negativeInteger-minInclusive-2-5 tokoe:valid" result="pass"/><test-case name="681NISTSchema-SV-IV-atomic-negativeInteger-minInclusive-3 tokoe:valid" result="pass"/><test-case name="682NISTXML-SV-IV-atomic-negativeInteger-minInclusive-3-1 tokoe:valid" result="pass"/><test-case name="683NISTXML-SV-IV-atomic-negativeInteger-minInclusive-3-2 tokoe:valid" result="pass"/><test-case name="684NISTXML-SV-IV-atomic-negativeInteger-minInclusive-3-3 tokoe:valid" result="pass"/><test-case name="685NISTXML-SV-IV-atomic-negativeInteger-minInclusive-3-4 tokoe:valid" result="pass"/><test-case name="686NISTXML-SV-IV-atomic-negativeInteger-minInclusive-3-5 tokoe:valid" result="pass"/><test-case name="687NISTSchema-SV-IV-atomic-negativeInteger-minInclusive-4 tokoe:valid" result="pass"/><test-case name="688NISTXML-SV-IV-atomic-negativeInteger-minInclusive-4-1 tokoe:valid" result="pass"/><test-case name="689NISTXML-SV-IV-atomic-negativeInteger-minInclusive-4-2 tokoe:valid" result="pass"/><test-case name="690NISTXML-SV-IV-atomic-negativeInteger-minInclusive-4-3 tokoe:valid" result="pass"/><test-case name="691NISTXML-SV-IV-atomic-negativeInteger-minInclusive-4-4 tokoe:valid" result="pass"/><test-case name="692NISTXML-SV-IV-atomic-negativeInteger-minInclusive-4-5 tokoe:valid" result="pass"/><test-case name="693NISTSchema-SV-IV-atomic-negativeInteger-minInclusive-5 tokoe:valid" result="pass"/><test-case name="694NISTXML-SV-IV-atomic-negativeInteger-minInclusive-5-1 tokoe:valid" result="pass"/><test-case name="695NISTSchema-SV-IV-atomic-negativeInteger-maxExclusive-1 tokoe:valid" result="pass"/><test-case name="696NISTXML-SV-IV-atomic-negativeInteger-maxExclusive-1-1 tokoe:valid" result="pass"/><test-case name="697NISTSchema-SV-IV-atomic-negativeInteger-maxExclusive-2 tokoe:valid" result="pass"/><test-case name="698NISTXML-SV-IV-atomic-negativeInteger-maxExclusive-2-1 tokoe:valid" result="pass"/><test-case name="699NISTXML-SV-IV-atomic-negativeInteger-maxExclusive-2-2 tokoe:valid" result="pass"/><test-case name="700NISTXML-SV-IV-atomic-negativeInteger-maxExclusive-2-3 tokoe:valid" result="pass"/><test-case name="701NISTXML-SV-IV-atomic-negativeInteger-maxExclusive-2-4 tokoe:valid" result="pass"/><test-case name="702NISTXML-SV-IV-atomic-negativeInteger-maxExclusive-2-5 tokoe:valid" result="pass"/><test-case name="703NISTSchema-SV-IV-atomic-negativeInteger-maxExclusive-3 tokoe:valid" result="pass"/><test-case name="704NISTXML-SV-IV-atomic-negativeInteger-maxExclusive-3-1 tokoe:valid" result="pass"/><test-case name="705NISTXML-SV-IV-atomic-negativeInteger-maxExclusive-3-2 tokoe:valid" result="pass"/><test-case name="706NISTXML-SV-IV-atomic-negativeInteger-maxExclusive-3-3 tokoe:valid" result="pass"/><test-case name="707NISTXML-SV-IV-atomic-negativeInteger-maxExclusive-3-4 tokoe:valid" result="pass"/><test-case name="708NISTXML-SV-IV-atomic-negativeInteger-maxExclusive-3-5 tokoe:valid" result="pass"/><test-case name="709NISTSchema-SV-IV-atomic-negativeInteger-maxExclusive-4 tokoe:valid" result="pass"/><test-case name="710NISTXML-SV-IV-atomic-negativeInteger-maxExclusive-4-1 tokoe:valid" result="pass"/><test-case name="711NISTXML-SV-IV-atomic-negativeInteger-maxExclusive-4-2 tokoe:valid" result="pass"/><test-case name="712NISTXML-SV-IV-atomic-negativeInteger-maxExclusive-4-3 tokoe:valid" result="pass"/><test-case name="713NISTXML-SV-IV-atomic-negativeInteger-maxExclusive-4-4 tokoe:valid" result="pass"/><test-case name="714NISTXML-SV-IV-atomic-negativeInteger-maxExclusive-4-5 tokoe:valid" result="pass"/><test-case name="715NISTSchema-SV-IV-atomic-negativeInteger-maxExclusive-5 tokoe:valid" result="pass"/><test-case name="716NISTXML-SV-IV-atomic-negativeInteger-maxExclusive-5-1 tokoe:valid" result="pass"/><test-case name="717NISTXML-SV-IV-atomic-negativeInteger-maxExclusive-5-2 tokoe:valid" result="pass"/><test-case name="718NISTXML-SV-IV-atomic-negativeInteger-maxExclusive-5-3 tokoe:valid" result="pass"/><test-case name="719NISTXML-SV-IV-atomic-negativeInteger-maxExclusive-5-4 tokoe:valid" result="pass"/><test-case name="720NISTXML-SV-IV-atomic-negativeInteger-maxExclusive-5-5 tokoe:valid" result="pass"/><test-case name="721NISTSchema-SV-IV-atomic-negativeInteger-maxInclusive-1 tokoe:valid" result="pass"/><test-case name="722NISTXML-SV-IV-atomic-negativeInteger-maxInclusive-1-1 tokoe:valid" result="pass"/><test-case name="723NISTSchema-SV-IV-atomic-negativeInteger-maxInclusive-2 tokoe:valid" result="pass"/><test-case name="724NISTXML-SV-IV-atomic-negativeInteger-maxInclusive-2-1 tokoe:valid" result="pass"/><test-case name="725NISTXML-SV-IV-atomic-negativeInteger-maxInclusive-2-2 tokoe:valid" result="pass"/><test-case name="726NISTXML-SV-IV-atomic-negativeInteger-maxInclusive-2-3 tokoe:valid" result="pass"/><test-case name="727NISTXML-SV-IV-atomic-negativeInteger-maxInclusive-2-4 tokoe:valid" result="pass"/><test-case name="728NISTXML-SV-IV-atomic-negativeInteger-maxInclusive-2-5 tokoe:valid" result="pass"/><test-case name="729NISTSchema-SV-IV-atomic-negativeInteger-maxInclusive-3 tokoe:valid" result="pass"/><test-case name="730NISTXML-SV-IV-atomic-negativeInteger-maxInclusive-3-1 tokoe:valid" result="pass"/><test-case name="731NISTXML-SV-IV-atomic-negativeInteger-maxInclusive-3-2 tokoe:valid" result="pass"/><test-case name="732NISTXML-SV-IV-atomic-negativeInteger-maxInclusive-3-3 tokoe:valid" result="pass"/><test-case name="733NISTXML-SV-IV-atomic-negativeInteger-maxInclusive-3-4 tokoe:valid" result="pass"/><test-case name="734NISTXML-SV-IV-atomic-negativeInteger-maxInclusive-3-5 tokoe:valid" result="pass"/><test-case name="735NISTSchema-SV-IV-atomic-negativeInteger-maxInclusive-4 tokoe:valid" result="pass"/><test-case name="736NISTXML-SV-IV-atomic-negativeInteger-maxInclusive-4-1 tokoe:valid" result="pass"/><test-case name="737NISTXML-SV-IV-atomic-negativeInteger-maxInclusive-4-2 tokoe:valid" result="pass"/><test-case name="738NISTXML-SV-IV-atomic-negativeInteger-maxInclusive-4-3 tokoe:valid" result="pass"/><test-case name="739NISTXML-SV-IV-atomic-negativeInteger-maxInclusive-4-4 tokoe:valid" result="pass"/><test-case name="740NISTXML-SV-IV-atomic-negativeInteger-maxInclusive-4-5 tokoe:valid" result="pass"/><test-case name="741NISTSchema-SV-IV-atomic-negativeInteger-maxInclusive-5 tokoe:valid" result="pass"/><test-case name="742NISTXML-SV-IV-atomic-negativeInteger-maxInclusive-5-1 tokoe:valid" result="pass"/><test-case name="743NISTXML-SV-IV-atomic-negativeInteger-maxInclusive-5-2 tokoe:valid" result="pass"/><test-case name="744NISTXML-SV-IV-atomic-negativeInteger-maxInclusive-5-3 tokoe:valid" result="pass"/><test-case name="745NISTXML-SV-IV-atomic-negativeInteger-maxInclusive-5-4 tokoe:valid" result="pass"/><test-case name="746NISTXML-SV-IV-atomic-negativeInteger-maxInclusive-5-5 tokoe:valid" result="pass"/><test-case name="747NISTSchema-SV-IV-atomic-negativeInteger-fractionDigits-1 tokoe:valid" result="pass"/><test-case name="748NISTXML-SV-IV-atomic-negativeInteger-fractionDigits-1-1 tokoe:valid" result="pass"/><test-case name="749NISTXML-SV-IV-atomic-negativeInteger-fractionDigits-1-2 tokoe:valid" result="pass"/><test-case name="750NISTXML-SV-IV-atomic-negativeInteger-fractionDigits-1-3 tokoe:valid" result="pass"/><test-case name="751NISTXML-SV-IV-atomic-negativeInteger-fractionDigits-1-4 tokoe:valid" result="pass"/><test-case name="752NISTXML-SV-IV-atomic-negativeInteger-fractionDigits-1-5 tokoe:valid" result="pass"/><test-case name="753NISTSchema-SV-IV-atomic-negativeInteger-totalDigits-1 tokoe:valid" result="pass"/><test-case name="754NISTXML-SV-IV-atomic-negativeInteger-totalDigits-1-1 tokoe:valid" result="pass"/><test-case name="755NISTXML-SV-IV-atomic-negativeInteger-totalDigits-1-2 tokoe:valid" result="pass"/><test-case name="756NISTXML-SV-IV-atomic-negativeInteger-totalDigits-1-3 tokoe:valid" result="pass"/><test-case name="757NISTXML-SV-IV-atomic-negativeInteger-totalDigits-1-4 tokoe:valid" result="pass"/><test-case name="758NISTXML-SV-IV-atomic-negativeInteger-totalDigits-1-5 tokoe:valid" result="pass"/><test-case name="759NISTSchema-SV-IV-atomic-negativeInteger-totalDigits-2 tokoe:valid" result="pass"/><test-case name="760NISTXML-SV-IV-atomic-negativeInteger-totalDigits-2-1 tokoe:valid" result="pass"/><test-case name="761NISTXML-SV-IV-atomic-negativeInteger-totalDigits-2-2 tokoe:valid" result="pass"/><test-case name="762NISTXML-SV-IV-atomic-negativeInteger-totalDigits-2-3 tokoe:valid" result="pass"/><test-case name="763NISTXML-SV-IV-atomic-negativeInteger-totalDigits-2-4 tokoe:valid" result="pass"/><test-case name="764NISTXML-SV-IV-atomic-negativeInteger-totalDigits-2-5 tokoe:valid" result="pass"/><test-case name="765NISTSchema-SV-IV-atomic-negativeInteger-totalDigits-3 tokoe:valid" result="pass"/><test-case name="766NISTXML-SV-IV-atomic-negativeInteger-totalDigits-3-1 tokoe:valid" result="pass"/><test-case name="767NISTXML-SV-IV-atomic-negativeInteger-totalDigits-3-2 tokoe:valid" result="pass"/><test-case name="768NISTXML-SV-IV-atomic-negativeInteger-totalDigits-3-3 tokoe:valid" result="pass"/><test-case name="769NISTXML-SV-IV-atomic-negativeInteger-totalDigits-3-4 tokoe:valid" result="pass"/><test-case name="770NISTXML-SV-IV-atomic-negativeInteger-totalDigits-3-5 tokoe:valid" result="pass"/><test-case name="771NISTSchema-SV-IV-atomic-negativeInteger-totalDigits-4 tokoe:valid" result="pass"/><test-case name="772NISTXML-SV-IV-atomic-negativeInteger-totalDigits-4-1 tokoe:valid" result="pass"/><test-case name="773NISTXML-SV-IV-atomic-negativeInteger-totalDigits-4-2 tokoe:valid" result="pass"/><test-case name="774NISTXML-SV-IV-atomic-negativeInteger-totalDigits-4-3 tokoe:valid" result="pass"/><test-case name="775NISTXML-SV-IV-atomic-negativeInteger-totalDigits-4-4 tokoe:valid" result="pass"/><test-case name="776NISTXML-SV-IV-atomic-negativeInteger-totalDigits-4-5 tokoe:valid" result="pass"/><test-case name="777NISTSchema-SV-IV-atomic-negativeInteger-totalDigits-5 tokoe:valid" result="pass"/><test-case name="778NISTXML-SV-IV-atomic-negativeInteger-totalDigits-5-1 tokoe:valid" result="pass"/><test-case name="779NISTXML-SV-IV-atomic-negativeInteger-totalDigits-5-2 tokoe:valid" result="pass"/><test-case name="780NISTXML-SV-IV-atomic-negativeInteger-totalDigits-5-3 tokoe:valid" result="pass"/><test-case name="781NISTXML-SV-IV-atomic-negativeInteger-totalDigits-5-4 tokoe:valid" result="pass"/><test-case name="782NISTXML-SV-IV-atomic-negativeInteger-totalDigits-5-5 tokoe:valid" result="pass"/><test-case name="783NISTSchema-SV-IV-atomic-negativeInteger-pattern-1 tokoe:valid" result="pass"/><test-case name="784NISTXML-SV-IV-atomic-negativeInteger-pattern-1-1 tokoe:valid" result="pass"/><test-case name="785NISTXML-SV-IV-atomic-negativeInteger-pattern-1-2 tokoe:valid" result="pass"/><test-case name="786NISTXML-SV-IV-atomic-negativeInteger-pattern-1-3 tokoe:valid" result="pass"/><test-case name="787NISTXML-SV-IV-atomic-negativeInteger-pattern-1-4 tokoe:valid" result="pass"/><test-case name="788NISTXML-SV-IV-atomic-negativeInteger-pattern-1-5 tokoe:valid" result="pass"/><test-case name="789NISTSchema-SV-IV-atomic-negativeInteger-pattern-2 tokoe:valid" result="pass"/><test-case name="790NISTXML-SV-IV-atomic-negativeInteger-pattern-2-1 tokoe:valid" result="pass"/><test-case name="791NISTXML-SV-IV-atomic-negativeInteger-pattern-2-2 tokoe:valid" result="pass"/><test-case name="792NISTXML-SV-IV-atomic-negativeInteger-pattern-2-3 tokoe:valid" result="pass"/><test-case name="793NISTXML-SV-IV-atomic-negativeInteger-pattern-2-4 tokoe:valid" result="pass"/><test-case name="794NISTXML-SV-IV-atomic-negativeInteger-pattern-2-5 tokoe:valid" result="pass"/><test-case name="795NISTSchema-SV-IV-atomic-negativeInteger-pattern-3 tokoe:valid" result="pass"/><test-case name="796NISTXML-SV-IV-atomic-negativeInteger-pattern-3-1 tokoe:valid" result="pass"/><test-case name="797NISTXML-SV-IV-atomic-negativeInteger-pattern-3-2 tokoe:valid" result="pass"/><test-case name="798NISTXML-SV-IV-atomic-negativeInteger-pattern-3-3 tokoe:valid" result="pass"/><test-case name="799NISTXML-SV-IV-atomic-negativeInteger-pattern-3-4 tokoe:valid" result="pass"/><test-case name="800NISTXML-SV-IV-atomic-negativeInteger-pattern-3-5 tokoe:valid" result="pass"/><test-case name="801NISTSchema-SV-IV-atomic-negativeInteger-pattern-4 tokoe:valid" result="pass"/><test-case name="802NISTXML-SV-IV-atomic-negativeInteger-pattern-4-1 tokoe:valid" result="pass"/><test-case name="803NISTXML-SV-IV-atomic-negativeInteger-pattern-4-2 tokoe:valid" result="pass"/><test-case name="804NISTXML-SV-IV-atomic-negativeInteger-pattern-4-3 tokoe:valid" result="pass"/><test-case name="805NISTXML-SV-IV-atomic-negativeInteger-pattern-4-4 tokoe:valid" result="pass"/><test-case name="806NISTXML-SV-IV-atomic-negativeInteger-pattern-4-5 tokoe:valid" result="pass"/><test-case name="807NISTSchema-SV-IV-atomic-negativeInteger-pattern-5 tokoe:valid" result="pass"/><test-case name="808NISTXML-SV-IV-atomic-negativeInteger-pattern-5-1 tokoe:valid" result="pass"/><test-case name="809NISTXML-SV-IV-atomic-negativeInteger-pattern-5-2 tokoe:valid" result="pass"/><test-case name="810NISTXML-SV-IV-atomic-negativeInteger-pattern-5-3 tokoe:valid" result="pass"/><test-case name="811NISTXML-SV-IV-atomic-negativeInteger-pattern-5-4 tokoe:valid" result="pass"/><test-case name="812NISTXML-SV-IV-atomic-negativeInteger-pattern-5-5 tokoe:valid" result="pass"/><test-case name="813NISTSchema-SV-IV-atomic-negativeInteger-enumeration-1 tokoe:valid" result="pass"/><test-case name="814NISTXML-SV-IV-atomic-negativeInteger-enumeration-1-1 tokoe:valid" result="pass"/><test-case name="815NISTXML-SV-IV-atomic-negativeInteger-enumeration-1-2 tokoe:valid" result="pass"/><test-case name="816NISTXML-SV-IV-atomic-negativeInteger-enumeration-1-3 tokoe:valid" result="pass"/><test-case name="817NISTXML-SV-IV-atomic-negativeInteger-enumeration-1-4 tokoe:valid" result="pass"/><test-case name="818NISTXML-SV-IV-atomic-negativeInteger-enumeration-1-5 tokoe:valid" result="pass"/><test-case name="819NISTSchema-SV-IV-atomic-negativeInteger-enumeration-2 tokoe:valid" result="pass"/><test-case name="820NISTXML-SV-IV-atomic-negativeInteger-enumeration-2-1 tokoe:valid" result="pass"/><test-case name="821NISTXML-SV-IV-atomic-negativeInteger-enumeration-2-2 tokoe:valid" result="pass"/><test-case name="822NISTXML-SV-IV-atomic-negativeInteger-enumeration-2-3 tokoe:valid" result="pass"/><test-case name="823NISTXML-SV-IV-atomic-negativeInteger-enumeration-2-4 tokoe:valid" result="pass"/><test-case name="824NISTXML-SV-IV-atomic-negativeInteger-enumeration-2-5 tokoe:valid" result="pass"/><test-case name="825NISTSchema-SV-IV-atomic-negativeInteger-enumeration-3 tokoe:valid" result="pass"/><test-case name="826NISTXML-SV-IV-atomic-negativeInteger-enumeration-3-1 tokoe:valid" result="pass"/><test-case name="827NISTXML-SV-IV-atomic-negativeInteger-enumeration-3-2 tokoe:valid" result="pass"/><test-case name="828NISTXML-SV-IV-atomic-negativeInteger-enumeration-3-3 tokoe:valid" result="pass"/><test-case name="829NISTXML-SV-IV-atomic-negativeInteger-enumeration-3-4 tokoe:valid" result="pass"/><test-case name="830NISTXML-SV-IV-atomic-negativeInteger-enumeration-3-5 tokoe:valid" result="pass"/><test-case name="831NISTSchema-SV-IV-atomic-negativeInteger-enumeration-4 tokoe:valid" result="pass"/><test-case name="832NISTXML-SV-IV-atomic-negativeInteger-enumeration-4-1 tokoe:valid" result="pass"/><test-case name="833NISTXML-SV-IV-atomic-negativeInteger-enumeration-4-2 tokoe:valid" result="pass"/><test-case name="834NISTXML-SV-IV-atomic-negativeInteger-enumeration-4-3 tokoe:valid" result="pass"/><test-case name="835NISTXML-SV-IV-atomic-negativeInteger-enumeration-4-4 tokoe:valid" result="pass"/><test-case name="836NISTXML-SV-IV-atomic-negativeInteger-enumeration-4-5 tokoe:valid" result="pass"/><test-case name="837NISTSchema-SV-IV-atomic-negativeInteger-enumeration-5 tokoe:valid" result="pass"/><test-case name="838NISTXML-SV-IV-atomic-negativeInteger-enumeration-5-1 tokoe:valid" result="pass"/><test-case name="839NISTXML-SV-IV-atomic-negativeInteger-enumeration-5-2 tokoe:valid" result="pass"/><test-case name="840NISTXML-SV-IV-atomic-negativeInteger-enumeration-5-3 tokoe:valid" result="pass"/><test-case name="841NISTXML-SV-IV-atomic-negativeInteger-enumeration-5-4 tokoe:valid" result="pass"/><test-case name="842NISTXML-SV-IV-atomic-negativeInteger-enumeration-5-5 tokoe:valid" result="pass"/><test-case name="843NISTSchema-SV-IV-atomic-negativeInteger-whiteSpace-1 tokoe:valid" result="pass"/><test-case name="844NISTXML-SV-IV-atomic-negativeInteger-whiteSpace-1-1 tokoe:valid" result="pass"/><test-case name="845NISTXML-SV-IV-atomic-negativeInteger-whiteSpace-1-2 tokoe:valid" result="pass"/><test-case name="846NISTXML-SV-IV-atomic-negativeInteger-whiteSpace-1-3 tokoe:valid" result="pass"/><test-case name="847NISTXML-SV-IV-atomic-negativeInteger-whiteSpace-1-4 tokoe:valid" result="pass"/><test-case name="848NISTXML-SV-IV-atomic-negativeInteger-whiteSpace-1-5 tokoe:valid" result="pass"/><test-case name="849NISTSchema-SV-IV-atomic-long-minExclusive-1 tokoe:valid" result="pass"/><test-case name="850NISTXML-SV-IV-atomic-long-minExclusive-1-1 tokoe:valid" result="pass"/><test-case name="851NISTXML-SV-IV-atomic-long-minExclusive-1-2 tokoe:valid" result="pass"/><test-case name="852NISTXML-SV-IV-atomic-long-minExclusive-1-3 tokoe:valid" result="pass"/><test-case name="853NISTXML-SV-IV-atomic-long-minExclusive-1-4 tokoe:valid" result="pass"/><test-case name="854NISTXML-SV-IV-atomic-long-minExclusive-1-5 tokoe:valid" result="pass"/><test-case name="855NISTSchema-SV-IV-atomic-long-minExclusive-2 tokoe:valid" result="pass"/><test-case name="856NISTXML-SV-IV-atomic-long-minExclusive-2-1 tokoe:valid" result="pass"/><test-case name="857NISTXML-SV-IV-atomic-long-minExclusive-2-2 tokoe:valid" result="pass"/><test-case name="858NISTXML-SV-IV-atomic-long-minExclusive-2-3 tokoe:valid" result="pass"/><test-case name="859NISTXML-SV-IV-atomic-long-minExclusive-2-4 tokoe:valid" result="pass"/><test-case name="860NISTXML-SV-IV-atomic-long-minExclusive-2-5 tokoe:valid" result="pass"/><test-case name="861NISTSchema-SV-IV-atomic-long-minExclusive-3 tokoe:valid" result="pass"/><test-case name="862NISTXML-SV-IV-atomic-long-minExclusive-3-1 tokoe:valid" result="pass"/><test-case name="863NISTXML-SV-IV-atomic-long-minExclusive-3-2 tokoe:valid" result="pass"/><test-case name="864NISTXML-SV-IV-atomic-long-minExclusive-3-3 tokoe:valid" result="pass"/><test-case name="865NISTXML-SV-IV-atomic-long-minExclusive-3-4 tokoe:valid" result="pass"/><test-case name="866NISTXML-SV-IV-atomic-long-minExclusive-3-5 tokoe:valid" result="pass"/><test-case name="867NISTSchema-SV-IV-atomic-long-minExclusive-4 tokoe:valid" result="pass"/><test-case name="868NISTXML-SV-IV-atomic-long-minExclusive-4-1 tokoe:valid" result="pass"/><test-case name="869NISTXML-SV-IV-atomic-long-minExclusive-4-2 tokoe:valid" result="pass"/><test-case name="870NISTXML-SV-IV-atomic-long-minExclusive-4-3 tokoe:valid" result="pass"/><test-case name="871NISTXML-SV-IV-atomic-long-minExclusive-4-4 tokoe:valid" result="pass"/><test-case name="872NISTXML-SV-IV-atomic-long-minExclusive-4-5 tokoe:valid" result="pass"/><test-case name="873NISTSchema-SV-IV-atomic-long-minExclusive-5 tokoe:valid" result="pass"/><test-case name="874NISTXML-SV-IV-atomic-long-minExclusive-5-1 tokoe:valid" result="pass"/><test-case name="875NISTSchema-SV-IV-atomic-long-minInclusive-1 tokoe:valid" result="pass"/><test-case name="876NISTXML-SV-IV-atomic-long-minInclusive-1-1 tokoe:valid" result="pass"/><test-case name="877NISTXML-SV-IV-atomic-long-minInclusive-1-2 tokoe:valid" result="pass"/><test-case name="878NISTXML-SV-IV-atomic-long-minInclusive-1-3 tokoe:valid" result="pass"/><test-case name="879NISTXML-SV-IV-atomic-long-minInclusive-1-4 tokoe:valid" result="pass"/><test-case name="880NISTXML-SV-IV-atomic-long-minInclusive-1-5 tokoe:valid" result="pass"/><test-case name="881NISTSchema-SV-IV-atomic-long-minInclusive-2 tokoe:valid" result="pass"/><test-case name="882NISTXML-SV-IV-atomic-long-minInclusive-2-1 tokoe:valid" result="pass"/><test-case name="883NISTXML-SV-IV-atomic-long-minInclusive-2-2 tokoe:valid" result="pass"/><test-case name="884NISTXML-SV-IV-atomic-long-minInclusive-2-3 tokoe:valid" result="pass"/><test-case name="885NISTXML-SV-IV-atomic-long-minInclusive-2-4 tokoe:valid" result="pass"/><test-case name="886NISTXML-SV-IV-atomic-long-minInclusive-2-5 tokoe:valid" result="pass"/><test-case name="887NISTSchema-SV-IV-atomic-long-minInclusive-3 tokoe:valid" result="pass"/><test-case name="888NISTXML-SV-IV-atomic-long-minInclusive-3-1 tokoe:valid" result="pass"/><test-case name="889NISTXML-SV-IV-atomic-long-minInclusive-3-2 tokoe:valid" result="pass"/><test-case name="890NISTXML-SV-IV-atomic-long-minInclusive-3-3 tokoe:valid" result="pass"/><test-case name="891NISTXML-SV-IV-atomic-long-minInclusive-3-4 tokoe:valid" result="pass"/><test-case name="892NISTXML-SV-IV-atomic-long-minInclusive-3-5 tokoe:valid" result="pass"/><test-case name="893NISTSchema-SV-IV-atomic-long-minInclusive-4 tokoe:valid" result="pass"/><test-case name="894NISTXML-SV-IV-atomic-long-minInclusive-4-1 tokoe:valid" result="pass"/><test-case name="895NISTXML-SV-IV-atomic-long-minInclusive-4-2 tokoe:valid" result="pass"/><test-case name="896NISTXML-SV-IV-atomic-long-minInclusive-4-3 tokoe:valid" result="pass"/><test-case name="897NISTXML-SV-IV-atomic-long-minInclusive-4-4 tokoe:valid" result="pass"/><test-case name="898NISTXML-SV-IV-atomic-long-minInclusive-4-5 tokoe:valid" result="pass"/><test-case name="899NISTSchema-SV-IV-atomic-long-minInclusive-5 tokoe:valid" result="pass"/><test-case name="900NISTXML-SV-IV-atomic-long-minInclusive-5-1 tokoe:valid" result="pass"/><test-case name="901NISTSchema-SV-IV-atomic-long-maxExclusive-1 tokoe:valid" result="pass"/><test-case name="902NISTXML-SV-IV-atomic-long-maxExclusive-1-1 tokoe:valid" result="pass"/><test-case name="903NISTSchema-SV-IV-atomic-long-maxExclusive-2 tokoe:valid" result="pass"/><test-case name="904NISTXML-SV-IV-atomic-long-maxExclusive-2-1 tokoe:valid" result="pass"/><test-case name="905NISTXML-SV-IV-atomic-long-maxExclusive-2-2 tokoe:valid" result="pass"/><test-case name="906NISTXML-SV-IV-atomic-long-maxExclusive-2-3 tokoe:valid" result="pass"/><test-case name="907NISTXML-SV-IV-atomic-long-maxExclusive-2-4 tokoe:valid" result="pass"/><test-case name="908NISTXML-SV-IV-atomic-long-maxExclusive-2-5 tokoe:valid" result="pass"/><test-case name="909NISTSchema-SV-IV-atomic-long-maxExclusive-3 tokoe:valid" result="pass"/><test-case name="910NISTXML-SV-IV-atomic-long-maxExclusive-3-1 tokoe:valid" result="pass"/><test-case name="911NISTXML-SV-IV-atomic-long-maxExclusive-3-2 tokoe:valid" result="pass"/><test-case name="912NISTXML-SV-IV-atomic-long-maxExclusive-3-3 tokoe:valid" result="pass"/><test-case name="913NISTXML-SV-IV-atomic-long-maxExclusive-3-4 tokoe:valid" result="pass"/><test-case name="914NISTXML-SV-IV-atomic-long-maxExclusive-3-5 tokoe:valid" result="pass"/><test-case name="915NISTSchema-SV-IV-atomic-long-maxExclusive-4 tokoe:valid" result="pass"/><test-case name="916NISTXML-SV-IV-atomic-long-maxExclusive-4-1 tokoe:valid" result="pass"/><test-case name="917NISTXML-SV-IV-atomic-long-maxExclusive-4-2 tokoe:valid" result="pass"/><test-case name="918NISTXML-SV-IV-atomic-long-maxExclusive-4-3 tokoe:valid" result="pass"/><test-case name="919NISTXML-SV-IV-atomic-long-maxExclusive-4-4 tokoe:valid" result="pass"/><test-case name="920NISTXML-SV-IV-atomic-long-maxExclusive-4-5 tokoe:valid" result="pass"/><test-case name="921NISTSchema-SV-IV-atomic-long-maxExclusive-5 tokoe:valid" result="pass"/><test-case name="922NISTXML-SV-IV-atomic-long-maxExclusive-5-1 tokoe:valid" result="pass"/><test-case name="923NISTXML-SV-IV-atomic-long-maxExclusive-5-2 tokoe:valid" result="pass"/><test-case name="924NISTXML-SV-IV-atomic-long-maxExclusive-5-3 tokoe:valid" result="pass"/><test-case name="925NISTXML-SV-IV-atomic-long-maxExclusive-5-4 tokoe:valid" result="pass"/><test-case name="926NISTXML-SV-IV-atomic-long-maxExclusive-5-5 tokoe:valid" result="pass"/><test-case name="927NISTSchema-SV-IV-atomic-long-maxInclusive-1 tokoe:valid" result="pass"/><test-case name="928NISTXML-SV-IV-atomic-long-maxInclusive-1-1 tokoe:valid" result="pass"/><test-case name="929NISTSchema-SV-IV-atomic-long-maxInclusive-2 tokoe:valid" result="pass"/><test-case name="930NISTXML-SV-IV-atomic-long-maxInclusive-2-1 tokoe:valid" result="pass"/><test-case name="931NISTXML-SV-IV-atomic-long-maxInclusive-2-2 tokoe:valid" result="pass"/><test-case name="932NISTXML-SV-IV-atomic-long-maxInclusive-2-3 tokoe:valid" result="pass"/><test-case name="933NISTXML-SV-IV-atomic-long-maxInclusive-2-4 tokoe:valid" result="pass"/><test-case name="934NISTXML-SV-IV-atomic-long-maxInclusive-2-5 tokoe:valid" result="pass"/><test-case name="935NISTSchema-SV-IV-atomic-long-maxInclusive-3 tokoe:valid" result="pass"/><test-case name="936NISTXML-SV-IV-atomic-long-maxInclusive-3-1 tokoe:valid" result="pass"/><test-case name="937NISTXML-SV-IV-atomic-long-maxInclusive-3-2 tokoe:valid" result="pass"/><test-case name="938NISTXML-SV-IV-atomic-long-maxInclusive-3-3 tokoe:valid" result="pass"/><test-case name="939NISTXML-SV-IV-atomic-long-maxInclusive-3-4 tokoe:valid" result="pass"/><test-case name="940NISTXML-SV-IV-atomic-long-maxInclusive-3-5 tokoe:valid" result="pass"/><test-case name="941NISTSchema-SV-IV-atomic-long-maxInclusive-4 tokoe:valid" result="pass"/><test-case name="942NISTXML-SV-IV-atomic-long-maxInclusive-4-1 tokoe:valid" result="pass"/><test-case name="943NISTXML-SV-IV-atomic-long-maxInclusive-4-2 tokoe:valid" result="pass"/><test-case name="944NISTXML-SV-IV-atomic-long-maxInclusive-4-3 tokoe:valid" result="pass"/><test-case name="945NISTXML-SV-IV-atomic-long-maxInclusive-4-4 tokoe:valid" result="pass"/><test-case name="946NISTXML-SV-IV-atomic-long-maxInclusive-4-5 tokoe:valid" result="pass"/><test-case name="947NISTSchema-SV-IV-atomic-long-maxInclusive-5 tokoe:valid" result="pass"/><test-case name="948NISTXML-SV-IV-atomic-long-maxInclusive-5-1 tokoe:valid" result="pass"/><test-case name="949NISTXML-SV-IV-atomic-long-maxInclusive-5-2 tokoe:valid" result="pass"/><test-case name="950NISTXML-SV-IV-atomic-long-maxInclusive-5-3 tokoe:valid" result="pass"/><test-case name="951NISTXML-SV-IV-atomic-long-maxInclusive-5-4 tokoe:valid" result="pass"/><test-case name="952NISTXML-SV-IV-atomic-long-maxInclusive-5-5 tokoe:valid" result="pass"/><test-case name="953NISTSchema-SV-IV-atomic-long-fractionDigits-1 tokoe:valid" result="pass"/><test-case name="954NISTXML-SV-IV-atomic-long-fractionDigits-1-1 tokoe:valid" result="pass"/><test-case name="955NISTXML-SV-IV-atomic-long-fractionDigits-1-2 tokoe:valid" result="pass"/><test-case name="956NISTXML-SV-IV-atomic-long-fractionDigits-1-3 tokoe:valid" result="pass"/><test-case name="957NISTXML-SV-IV-atomic-long-fractionDigits-1-4 tokoe:valid" result="pass"/><test-case name="958NISTXML-SV-IV-atomic-long-fractionDigits-1-5 tokoe:valid" result="pass"/><test-case name="959NISTSchema-SV-IV-atomic-long-totalDigits-1 tokoe:valid" result="pass"/><test-case name="960NISTXML-SV-IV-atomic-long-totalDigits-1-1 tokoe:valid" result="pass"/><test-case name="961NISTXML-SV-IV-atomic-long-totalDigits-1-2 tokoe:valid" result="pass"/><test-case name="962NISTXML-SV-IV-atomic-long-totalDigits-1-3 tokoe:valid" result="pass"/><test-case name="963NISTXML-SV-IV-atomic-long-totalDigits-1-4 tokoe:valid" result="pass"/><test-case name="964NISTXML-SV-IV-atomic-long-totalDigits-1-5 tokoe:valid" result="pass"/><test-case name="965NISTSchema-SV-IV-atomic-long-totalDigits-2 tokoe:valid" result="pass"/><test-case name="966NISTXML-SV-IV-atomic-long-totalDigits-2-1 tokoe:valid" result="pass"/><test-case name="967NISTXML-SV-IV-atomic-long-totalDigits-2-2 tokoe:valid" result="pass"/><test-case name="968NISTXML-SV-IV-atomic-long-totalDigits-2-3 tokoe:valid" result="pass"/><test-case name="969NISTXML-SV-IV-atomic-long-totalDigits-2-4 tokoe:valid" result="pass"/><test-case name="970NISTXML-SV-IV-atomic-long-totalDigits-2-5 tokoe:valid" result="pass"/><test-case name="971NISTSchema-SV-IV-atomic-long-totalDigits-3 tokoe:valid" result="pass"/><test-case name="972NISTXML-SV-IV-atomic-long-totalDigits-3-1 tokoe:valid" result="pass"/><test-case name="973NISTXML-SV-IV-atomic-long-totalDigits-3-2 tokoe:valid" result="pass"/><test-case name="974NISTXML-SV-IV-atomic-long-totalDigits-3-3 tokoe:valid" result="pass"/><test-case name="975NISTXML-SV-IV-atomic-long-totalDigits-3-4 tokoe:valid" result="pass"/><test-case name="976NISTXML-SV-IV-atomic-long-totalDigits-3-5 tokoe:valid" result="pass"/><test-case name="977NISTSchema-SV-IV-atomic-long-totalDigits-4 tokoe:valid" result="pass"/><test-case name="978NISTXML-SV-IV-atomic-long-totalDigits-4-1 tokoe:valid" result="pass"/><test-case name="979NISTXML-SV-IV-atomic-long-totalDigits-4-2 tokoe:valid" result="pass"/><test-case name="980NISTXML-SV-IV-atomic-long-totalDigits-4-3 tokoe:valid" result="pass"/><test-case name="981NISTXML-SV-IV-atomic-long-totalDigits-4-4 tokoe:valid" result="pass"/><test-case name="982NISTXML-SV-IV-atomic-long-totalDigits-4-5 tokoe:valid" result="pass"/><test-case name="983NISTSchema-SV-IV-atomic-long-totalDigits-5 tokoe:valid" result="pass"/><test-case name="984NISTXML-SV-IV-atomic-long-totalDigits-5-1 tokoe:valid" result="pass"/><test-case name="985NISTXML-SV-IV-atomic-long-totalDigits-5-2 tokoe:valid" result="pass"/><test-case name="986NISTXML-SV-IV-atomic-long-totalDigits-5-3 tokoe:valid" result="pass"/><test-case name="987NISTXML-SV-IV-atomic-long-totalDigits-5-4 tokoe:valid" result="pass"/><test-case name="988NISTXML-SV-IV-atomic-long-totalDigits-5-5 tokoe:valid" result="pass"/><test-case name="989NISTSchema-SV-IV-atomic-long-pattern-1 tokoe:valid" result="pass"/><test-case name="990NISTXML-SV-IV-atomic-long-pattern-1-1 tokoe:valid" result="pass"/><test-case name="991NISTXML-SV-IV-atomic-long-pattern-1-2 tokoe:valid" result="pass"/><test-case name="992NISTXML-SV-IV-atomic-long-pattern-1-3 tokoe:valid" result="pass"/><test-case name="993NISTXML-SV-IV-atomic-long-pattern-1-4 tokoe:valid" result="pass"/><test-case name="994NISTXML-SV-IV-atomic-long-pattern-1-5 tokoe:valid" result="pass"/><test-case name="995NISTSchema-SV-IV-atomic-long-pattern-2 tokoe:valid" result="pass"/><test-case name="996NISTXML-SV-IV-atomic-long-pattern-2-1 tokoe:valid" result="pass"/><test-case name="997NISTXML-SV-IV-atomic-long-pattern-2-2 tokoe:valid" result="pass"/><test-case name="998NISTXML-SV-IV-atomic-long-pattern-2-3 tokoe:valid" result="pass"/><test-case name="999NISTXML-SV-IV-atomic-long-pattern-2-4 tokoe:valid" result="pass"/><test-case name="1000NISTXML-SV-IV-atomic-long-pattern-2-5 tokoe:valid" result="pass"/><test-case name="1001NISTSchema-SV-IV-atomic-long-pattern-3 tokoe:valid" result="pass"/><test-case name="1002NISTXML-SV-IV-atomic-long-pattern-3-1 tokoe:valid" result="pass"/><test-case name="1003NISTXML-SV-IV-atomic-long-pattern-3-2 tokoe:valid" result="pass"/><test-case name="1004NISTXML-SV-IV-atomic-long-pattern-3-3 tokoe:valid" result="pass"/><test-case name="1005NISTXML-SV-IV-atomic-long-pattern-3-4 tokoe:valid" result="pass"/><test-case name="1006NISTXML-SV-IV-atomic-long-pattern-3-5 tokoe:valid" result="pass"/><test-case name="1007NISTSchema-SV-IV-atomic-long-pattern-4 tokoe:valid" result="pass"/><test-case name="1008NISTXML-SV-IV-atomic-long-pattern-4-1 tokoe:valid" result="pass"/><test-case name="1009NISTXML-SV-IV-atomic-long-pattern-4-2 tokoe:valid" result="pass"/><test-case name="1010NISTXML-SV-IV-atomic-long-pattern-4-3 tokoe:valid" result="pass"/><test-case name="1011NISTXML-SV-IV-atomic-long-pattern-4-4 tokoe:valid" result="pass"/><test-case name="1012NISTXML-SV-IV-atomic-long-pattern-4-5 tokoe:valid" result="pass"/><test-case name="1013NISTSchema-SV-IV-atomic-long-pattern-5 tokoe:valid" result="pass"/><test-case name="1014NISTXML-SV-IV-atomic-long-pattern-5-1 tokoe:valid" result="pass"/><test-case name="1015NISTXML-SV-IV-atomic-long-pattern-5-2 tokoe:valid" result="pass"/><test-case name="1016NISTXML-SV-IV-atomic-long-pattern-5-3 tokoe:valid" result="pass"/><test-case name="1017NISTXML-SV-IV-atomic-long-pattern-5-4 tokoe:valid" result="pass"/><test-case name="1018NISTXML-SV-IV-atomic-long-pattern-5-5 tokoe:valid" result="pass"/><test-case name="1019NISTSchema-SV-IV-atomic-long-enumeration-1 tokoe:valid" result="pass"/><test-case name="1020NISTXML-SV-IV-atomic-long-enumeration-1-1 tokoe:valid" result="pass"/><test-case name="1021NISTXML-SV-IV-atomic-long-enumeration-1-2 tokoe:valid" result="pass"/><test-case name="1022NISTXML-SV-IV-atomic-long-enumeration-1-3 tokoe:valid" result="pass"/><test-case name="1023NISTXML-SV-IV-atomic-long-enumeration-1-4 tokoe:valid" result="pass"/><test-case name="1024NISTXML-SV-IV-atomic-long-enumeration-1-5 tokoe:valid" result="pass"/><test-case name="1025NISTSchema-SV-IV-atomic-long-enumeration-2 tokoe:valid" result="pass"/><test-case name="1026NISTXML-SV-IV-atomic-long-enumeration-2-1 tokoe:valid" result="pass"/><test-case name="1027NISTXML-SV-IV-atomic-long-enumeration-2-2 tokoe:valid" result="pass"/><test-case name="1028NISTXML-SV-IV-atomic-long-enumeration-2-3 tokoe:valid" result="pass"/><test-case name="1029NISTXML-SV-IV-atomic-long-enumeration-2-4 tokoe:valid" result="pass"/><test-case name="1030NISTXML-SV-IV-atomic-long-enumeration-2-5 tokoe:valid" result="pass"/><test-case name="1031NISTSchema-SV-IV-atomic-long-enumeration-3 tokoe:valid" result="pass"/><test-case name="1032NISTXML-SV-IV-atomic-long-enumeration-3-1 tokoe:valid" result="pass"/><test-case name="1033NISTXML-SV-IV-atomic-long-enumeration-3-2 tokoe:valid" result="pass"/><test-case name="1034NISTXML-SV-IV-atomic-long-enumeration-3-3 tokoe:valid" result="pass"/><test-case name="1035NISTXML-SV-IV-atomic-long-enumeration-3-4 tokoe:valid" result="pass"/><test-case name="1036NISTXML-SV-IV-atomic-long-enumeration-3-5 tokoe:valid" result="pass"/><test-case name="1037NISTSchema-SV-IV-atomic-long-enumeration-4 tokoe:valid" result="pass"/><test-case name="1038NISTXML-SV-IV-atomic-long-enumeration-4-1 tokoe:valid" result="pass"/><test-case name="1039NISTXML-SV-IV-atomic-long-enumeration-4-2 tokoe:valid" result="pass"/><test-case name="1040NISTXML-SV-IV-atomic-long-enumeration-4-3 tokoe:valid" result="pass"/><test-case name="1041NISTXML-SV-IV-atomic-long-enumeration-4-4 tokoe:valid" result="pass"/><test-case name="1042NISTXML-SV-IV-atomic-long-enumeration-4-5 tokoe:valid" result="pass"/><test-case name="1043NISTSchema-SV-IV-atomic-long-enumeration-5 tokoe:valid" result="pass"/><test-case name="1044NISTXML-SV-IV-atomic-long-enumeration-5-1 tokoe:valid" result="pass"/><test-case name="1045NISTXML-SV-IV-atomic-long-enumeration-5-2 tokoe:valid" result="pass"/><test-case name="1046NISTXML-SV-IV-atomic-long-enumeration-5-3 tokoe:valid" result="pass"/><test-case name="1047NISTXML-SV-IV-atomic-long-enumeration-5-4 tokoe:valid" result="pass"/><test-case name="1048NISTXML-SV-IV-atomic-long-enumeration-5-5 tokoe:valid" result="pass"/><test-case name="1049NISTSchema-SV-IV-atomic-long-whiteSpace-1 tokoe:valid" result="pass"/><test-case name="1050NISTXML-SV-IV-atomic-long-whiteSpace-1-1 tokoe:valid" result="pass"/><test-case name="1051NISTXML-SV-IV-atomic-long-whiteSpace-1-2 tokoe:valid" result="pass"/><test-case name="1052NISTXML-SV-IV-atomic-long-whiteSpace-1-3 tokoe:valid" result="pass"/><test-case name="1053NISTXML-SV-IV-atomic-long-whiteSpace-1-4 tokoe:valid" result="pass"/><test-case name="1054NISTXML-SV-IV-atomic-long-whiteSpace-1-5 tokoe:valid" result="pass"/><test-case name="1055NISTSchema-SV-IV-atomic-int-minExclusive-1 tokoe:valid" result="pass"/><test-case name="1056NISTXML-SV-IV-atomic-int-minExclusive-1-1 tokoe:valid" result="pass"/><test-case name="1057NISTXML-SV-IV-atomic-int-minExclusive-1-2 tokoe:valid" result="pass"/><test-case name="1058NISTXML-SV-IV-atomic-int-minExclusive-1-3 tokoe:valid" result="pass"/><test-case name="1059NISTXML-SV-IV-atomic-int-minExclusive-1-4 tokoe:valid" result="pass"/><test-case name="1060NISTXML-SV-IV-atomic-int-minExclusive-1-5 tokoe:valid" result="pass"/><test-case name="1061NISTSchema-SV-IV-atomic-int-minExclusive-2 tokoe:valid" result="pass"/><test-case name="1062NISTXML-SV-IV-atomic-int-minExclusive-2-1 tokoe:valid" result="pass"/><test-case name="1063NISTXML-SV-IV-atomic-int-minExclusive-2-2 tokoe:valid" result="pass"/><test-case name="1064NISTXML-SV-IV-atomic-int-minExclusive-2-3 tokoe:valid" result="pass"/><test-case name="1065NISTXML-SV-IV-atomic-int-minExclusive-2-4 tokoe:valid" result="pass"/><test-case name="1066NISTXML-SV-IV-atomic-int-minExclusive-2-5 tokoe:valid" result="pass"/><test-case name="1067NISTSchema-SV-IV-atomic-int-minExclusive-3 tokoe:valid" result="pass"/><test-case name="1068NISTXML-SV-IV-atomic-int-minExclusive-3-1 tokoe:valid" result="pass"/><test-case name="1069NISTXML-SV-IV-atomic-int-minExclusive-3-2 tokoe:valid" result="pass"/><test-case name="1070NISTXML-SV-IV-atomic-int-minExclusive-3-3 tokoe:valid" result="pass"/><test-case name="1071NISTXML-SV-IV-atomic-int-minExclusive-3-4 tokoe:valid" result="pass"/><test-case name="1072NISTXML-SV-IV-atomic-int-minExclusive-3-5 tokoe:valid" result="pass"/><test-case name="1073NISTSchema-SV-IV-atomic-int-minExclusive-4 tokoe:valid" result="pass"/><test-case name="1074NISTXML-SV-IV-atomic-int-minExclusive-4-1 tokoe:valid" result="pass"/><test-case name="1075NISTXML-SV-IV-atomic-int-minExclusive-4-2 tokoe:valid" result="pass"/><test-case name="1076NISTXML-SV-IV-atomic-int-minExclusive-4-3 tokoe:valid" result="pass"/><test-case name="1077NISTXML-SV-IV-atomic-int-minExclusive-4-4 tokoe:valid" result="pass"/><test-case name="1078NISTXML-SV-IV-atomic-int-minExclusive-4-5 tokoe:valid" result="pass"/><test-case name="1079NISTSchema-SV-IV-atomic-int-minExclusive-5 tokoe:valid" result="pass"/><test-case name="1080NISTXML-SV-IV-atomic-int-minExclusive-5-1 tokoe:valid" result="pass"/><test-case name="1081NISTSchema-SV-IV-atomic-int-minInclusive-1 tokoe:valid" result="pass"/><test-case name="1082NISTXML-SV-IV-atomic-int-minInclusive-1-1 tokoe:valid" result="pass"/><test-case name="1083NISTXML-SV-IV-atomic-int-minInclusive-1-2 tokoe:valid" result="pass"/><test-case name="1084NISTXML-SV-IV-atomic-int-minInclusive-1-3 tokoe:valid" result="pass"/><test-case name="1085NISTXML-SV-IV-atomic-int-minInclusive-1-4 tokoe:valid" result="pass"/><test-case name="1086NISTXML-SV-IV-atomic-int-minInclusive-1-5 tokoe:valid" result="pass"/><test-case name="1087NISTSchema-SV-IV-atomic-int-minInclusive-2 tokoe:valid" result="pass"/><test-case name="1088NISTXML-SV-IV-atomic-int-minInclusive-2-1 tokoe:valid" result="pass"/><test-case name="1089NISTXML-SV-IV-atomic-int-minInclusive-2-2 tokoe:valid" result="pass"/><test-case name="1090NISTXML-SV-IV-atomic-int-minInclusive-2-3 tokoe:valid" result="pass"/><test-case name="1091NISTXML-SV-IV-atomic-int-minInclusive-2-4 tokoe:valid" result="pass"/><test-case name="1092NISTXML-SV-IV-atomic-int-minInclusive-2-5 tokoe:valid" result="pass"/><test-case name="1093NISTSchema-SV-IV-atomic-int-minInclusive-3 tokoe:valid" result="pass"/><test-case name="1094NISTXML-SV-IV-atomic-int-minInclusive-3-1 tokoe:valid" result="pass"/><test-case name="1095NISTXML-SV-IV-atomic-int-minInclusive-3-2 tokoe:valid" result="pass"/><test-case name="1096NISTXML-SV-IV-atomic-int-minInclusive-3-3 tokoe:valid" result="pass"/><test-case name="1097NISTXML-SV-IV-atomic-int-minInclusive-3-4 tokoe:valid" result="pass"/><test-case name="1098NISTXML-SV-IV-atomic-int-minInclusive-3-5 tokoe:valid" result="pass"/><test-case name="1099NISTSchema-SV-IV-atomic-int-minInclusive-4 tokoe:valid" result="pass"/><test-case name="1100NISTXML-SV-IV-atomic-int-minInclusive-4-1 tokoe:valid" result="pass"/><test-case name="1101NISTXML-SV-IV-atomic-int-minInclusive-4-2 tokoe:valid" result="pass"/><test-case name="1102NISTXML-SV-IV-atomic-int-minInclusive-4-3 tokoe:valid" result="pass"/><test-case name="1103NISTXML-SV-IV-atomic-int-minInclusive-4-4 tokoe:valid" result="pass"/><test-case name="1104NISTXML-SV-IV-atomic-int-minInclusive-4-5 tokoe:valid" result="pass"/><test-case name="1105NISTSchema-SV-IV-atomic-int-minInclusive-5 tokoe:valid" result="pass"/><test-case name="1106NISTXML-SV-IV-atomic-int-minInclusive-5-1 tokoe:valid" result="pass"/><test-case name="1107NISTSchema-SV-IV-atomic-int-maxExclusive-1 tokoe:valid" result="pass"/><test-case name="1108NISTXML-SV-IV-atomic-int-maxExclusive-1-1 tokoe:valid" result="pass"/><test-case name="1109NISTSchema-SV-IV-atomic-int-maxExclusive-2 tokoe:valid" result="pass"/><test-case name="1110NISTXML-SV-IV-atomic-int-maxExclusive-2-1 tokoe:valid" result="pass"/><test-case name="1111NISTXML-SV-IV-atomic-int-maxExclusive-2-2 tokoe:valid" result="pass"/><test-case name="1112NISTXML-SV-IV-atomic-int-maxExclusive-2-3 tokoe:valid" result="pass"/><test-case name="1113NISTXML-SV-IV-atomic-int-maxExclusive-2-4 tokoe:valid" result="pass"/><test-case name="1114NISTXML-SV-IV-atomic-int-maxExclusive-2-5 tokoe:valid" result="pass"/><test-case name="1115NISTSchema-SV-IV-atomic-int-maxExclusive-3 tokoe:valid" result="pass"/><test-case name="1116NISTXML-SV-IV-atomic-int-maxExclusive-3-1 tokoe:valid" result="pass"/><test-case name="1117NISTXML-SV-IV-atomic-int-maxExclusive-3-2 tokoe:valid" result="pass"/><test-case name="1118NISTXML-SV-IV-atomic-int-maxExclusive-3-3 tokoe:valid" result="pass"/><test-case name="1119NISTXML-SV-IV-atomic-int-maxExclusive-3-4 tokoe:valid" result="pass"/><test-case name="1120NISTXML-SV-IV-atomic-int-maxExclusive-3-5 tokoe:valid" result="pass"/><test-case name="1121NISTSchema-SV-IV-atomic-int-maxExclusive-4 tokoe:valid" result="pass"/><test-case name="1122NISTXML-SV-IV-atomic-int-maxExclusive-4-1 tokoe:valid" result="pass"/><test-case name="1123NISTXML-SV-IV-atomic-int-maxExclusive-4-2 tokoe:valid" result="pass"/><test-case name="1124NISTXML-SV-IV-atomic-int-maxExclusive-4-3 tokoe:valid" result="pass"/><test-case name="1125NISTXML-SV-IV-atomic-int-maxExclusive-4-4 tokoe:valid" result="pass"/><test-case name="1126NISTXML-SV-IV-atomic-int-maxExclusive-4-5 tokoe:valid" result="pass"/><test-case name="1127NISTSchema-SV-IV-atomic-int-maxExclusive-5 tokoe:valid" result="pass"/><test-case name="1128NISTXML-SV-IV-atomic-int-maxExclusive-5-1 tokoe:valid" result="pass"/><test-case name="1129NISTXML-SV-IV-atomic-int-maxExclusive-5-2 tokoe:valid" result="pass"/><test-case name="1130NISTXML-SV-IV-atomic-int-maxExclusive-5-3 tokoe:valid" result="pass"/><test-case name="1131NISTXML-SV-IV-atomic-int-maxExclusive-5-4 tokoe:valid" result="pass"/><test-case name="1132NISTXML-SV-IV-atomic-int-maxExclusive-5-5 tokoe:valid" result="pass"/><test-case name="1133NISTSchema-SV-IV-atomic-int-maxInclusive-1 tokoe:valid" result="pass"/><test-case name="1134NISTXML-SV-IV-atomic-int-maxInclusive-1-1 tokoe:valid" result="pass"/><test-case name="1135NISTSchema-SV-IV-atomic-int-maxInclusive-2 tokoe:valid" result="pass"/><test-case name="1136NISTXML-SV-IV-atomic-int-maxInclusive-2-1 tokoe:valid" result="pass"/><test-case name="1137NISTXML-SV-IV-atomic-int-maxInclusive-2-2 tokoe:valid" result="pass"/><test-case name="1138NISTXML-SV-IV-atomic-int-maxInclusive-2-3 tokoe:valid" result="pass"/><test-case name="1139NISTXML-SV-IV-atomic-int-maxInclusive-2-4 tokoe:valid" result="pass"/><test-case name="1140NISTXML-SV-IV-atomic-int-maxInclusive-2-5 tokoe:valid" result="pass"/><test-case name="1141NISTSchema-SV-IV-atomic-int-maxInclusive-3 tokoe:valid" result="pass"/><test-case name="1142NISTXML-SV-IV-atomic-int-maxInclusive-3-1 tokoe:valid" result="pass"/><test-case name="1143NISTXML-SV-IV-atomic-int-maxInclusive-3-2 tokoe:valid" result="pass"/><test-case name="1144NISTXML-SV-IV-atomic-int-maxInclusive-3-3 tokoe:valid" result="pass"/><test-case name="1145NISTXML-SV-IV-atomic-int-maxInclusive-3-4 tokoe:valid" result="pass"/><test-case name="1146NISTXML-SV-IV-atomic-int-maxInclusive-3-5 tokoe:valid" result="pass"/><test-case name="1147NISTSchema-SV-IV-atomic-int-maxInclusive-4 tokoe:valid" result="pass"/><test-case name="1148NISTXML-SV-IV-atomic-int-maxInclusive-4-1 tokoe:valid" result="pass"/><test-case name="1149NISTXML-SV-IV-atomic-int-maxInclusive-4-2 tokoe:valid" result="pass"/><test-case name="1150NISTXML-SV-IV-atomic-int-maxInclusive-4-3 tokoe:valid" result="pass"/><test-case name="1151NISTXML-SV-IV-atomic-int-maxInclusive-4-4 tokoe:valid" result="pass"/><test-case name="1152NISTXML-SV-IV-atomic-int-maxInclusive-4-5 tokoe:valid" result="pass"/><test-case name="1153NISTSchema-SV-IV-atomic-int-maxInclusive-5 tokoe:valid" result="pass"/><test-case name="1154NISTXML-SV-IV-atomic-int-maxInclusive-5-1 tokoe:valid" result="pass"/><test-case name="1155NISTXML-SV-IV-atomic-int-maxInclusive-5-2 tokoe:valid" result="pass"/><test-case name="1156NISTXML-SV-IV-atomic-int-maxInclusive-5-3 tokoe:valid" result="pass"/><test-case name="1157NISTXML-SV-IV-atomic-int-maxInclusive-5-4 tokoe:valid" result="pass"/><test-case name="1158NISTXML-SV-IV-atomic-int-maxInclusive-5-5 tokoe:valid" result="pass"/><test-case name="1159NISTSchema-SV-IV-atomic-int-fractionDigits-1 tokoe:valid" result="pass"/><test-case name="1160NISTXML-SV-IV-atomic-int-fractionDigits-1-1 tokoe:valid" result="pass"/><test-case name="1161NISTXML-SV-IV-atomic-int-fractionDigits-1-2 tokoe:valid" result="pass"/><test-case name="1162NISTXML-SV-IV-atomic-int-fractionDigits-1-3 tokoe:valid" result="pass"/><test-case name="1163NISTXML-SV-IV-atomic-int-fractionDigits-1-4 tokoe:valid" result="pass"/><test-case name="1164NISTXML-SV-IV-atomic-int-fractionDigits-1-5 tokoe:valid" result="pass"/><test-case name="1165NISTSchema-SV-IV-atomic-int-totalDigits-1 tokoe:valid" result="pass"/><test-case name="1166NISTXML-SV-IV-atomic-int-totalDigits-1-1 tokoe:valid" result="pass"/><test-case name="1167NISTXML-SV-IV-atomic-int-totalDigits-1-2 tokoe:valid" result="pass"/><test-case name="1168NISTXML-SV-IV-atomic-int-totalDigits-1-3 tokoe:valid" result="pass"/><test-case name="1169NISTXML-SV-IV-atomic-int-totalDigits-1-4 tokoe:valid" result="pass"/><test-case name="1170NISTXML-SV-IV-atomic-int-totalDigits-1-5 tokoe:valid" result="pass"/><test-case name="1171NISTSchema-SV-IV-atomic-int-totalDigits-2 tokoe:valid" result="pass"/><test-case name="1172NISTXML-SV-IV-atomic-int-totalDigits-2-1 tokoe:valid" result="pass"/><test-case name="1173NISTXML-SV-IV-atomic-int-totalDigits-2-2 tokoe:valid" result="pass"/><test-case name="1174NISTXML-SV-IV-atomic-int-totalDigits-2-3 tokoe:valid" result="pass"/><test-case name="1175NISTXML-SV-IV-atomic-int-totalDigits-2-4 tokoe:valid" result="pass"/><test-case name="1176NISTXML-SV-IV-atomic-int-totalDigits-2-5 tokoe:valid" result="pass"/><test-case name="1177NISTSchema-SV-IV-atomic-int-totalDigits-3 tokoe:valid" result="pass"/><test-case name="1178NISTXML-SV-IV-atomic-int-totalDigits-3-1 tokoe:valid" result="pass"/><test-case name="1179NISTXML-SV-IV-atomic-int-totalDigits-3-2 tokoe:valid" result="pass"/><test-case name="1180NISTXML-SV-IV-atomic-int-totalDigits-3-3 tokoe:valid" result="pass"/><test-case name="1181NISTXML-SV-IV-atomic-int-totalDigits-3-4 tokoe:valid" result="pass"/><test-case name="1182NISTXML-SV-IV-atomic-int-totalDigits-3-5 tokoe:valid" result="pass"/><test-case name="1183NISTSchema-SV-IV-atomic-int-totalDigits-4 tokoe:valid" result="pass"/><test-case name="1184NISTXML-SV-IV-atomic-int-totalDigits-4-1 tokoe:valid" result="pass"/><test-case name="1185NISTXML-SV-IV-atomic-int-totalDigits-4-2 tokoe:valid" result="pass"/><test-case name="1186NISTXML-SV-IV-atomic-int-totalDigits-4-3 tokoe:valid" result="pass"/><test-case name="1187NISTXML-SV-IV-atomic-int-totalDigits-4-4 tokoe:valid" result="pass"/><test-case name="1188NISTXML-SV-IV-atomic-int-totalDigits-4-5 tokoe:valid" result="pass"/><test-case name="1189NISTSchema-SV-IV-atomic-int-totalDigits-5 tokoe:valid" result="pass"/><test-case name="1190NISTXML-SV-IV-atomic-int-totalDigits-5-1 tokoe:valid" result="pass"/><test-case name="1191NISTXML-SV-IV-atomic-int-totalDigits-5-2 tokoe:valid" result="pass"/><test-case name="1192NISTXML-SV-IV-atomic-int-totalDigits-5-3 tokoe:valid" result="pass"/><test-case name="1193NISTXML-SV-IV-atomic-int-totalDigits-5-4 tokoe:valid" result="pass"/><test-case name="1194NISTXML-SV-IV-atomic-int-totalDigits-5-5 tokoe:valid" result="pass"/><test-case name="1195NISTSchema-SV-IV-atomic-int-pattern-1 tokoe:valid" result="pass"/><test-case name="1196NISTXML-SV-IV-atomic-int-pattern-1-1 tokoe:valid" result="pass"/><test-case name="1197NISTXML-SV-IV-atomic-int-pattern-1-2 tokoe:valid" result="pass"/><test-case name="1198NISTXML-SV-IV-atomic-int-pattern-1-3 tokoe:valid" result="pass"/><test-case name="1199NISTXML-SV-IV-atomic-int-pattern-1-4 tokoe:valid" result="pass"/><test-case name="1200NISTXML-SV-IV-atomic-int-pattern-1-5 tokoe:valid" result="pass"/><test-case name="1201NISTSchema-SV-IV-atomic-int-pattern-2 tokoe:valid" result="pass"/><test-case name="1202NISTXML-SV-IV-atomic-int-pattern-2-1 tokoe:valid" result="pass"/><test-case name="1203NISTXML-SV-IV-atomic-int-pattern-2-2 tokoe:valid" result="pass"/><test-case name="1204NISTXML-SV-IV-atomic-int-pattern-2-3 tokoe:valid" result="pass"/><test-case name="1205NISTXML-SV-IV-atomic-int-pattern-2-4 tokoe:valid" result="pass"/><test-case name="1206NISTXML-SV-IV-atomic-int-pattern-2-5 tokoe:valid" result="pass"/><test-case name="1207NISTSchema-SV-IV-atomic-int-pattern-3 tokoe:valid" result="pass"/><test-case name="1208NISTXML-SV-IV-atomic-int-pattern-3-1 tokoe:valid" result="pass"/><test-case name="1209NISTXML-SV-IV-atomic-int-pattern-3-2 tokoe:valid" result="pass"/><test-case name="1210NISTXML-SV-IV-atomic-int-pattern-3-3 tokoe:valid" result="pass"/><test-case name="1211NISTXML-SV-IV-atomic-int-pattern-3-4 tokoe:valid" result="pass"/><test-case name="1212NISTXML-SV-IV-atomic-int-pattern-3-5 tokoe:valid" result="pass"/><test-case name="1213NISTSchema-SV-IV-atomic-int-pattern-4 tokoe:valid" result="pass"/><test-case name="1214NISTXML-SV-IV-atomic-int-pattern-4-1 tokoe:valid" result="pass"/><test-case name="1215NISTXML-SV-IV-atomic-int-pattern-4-2 tokoe:valid" result="pass"/><test-case name="1216NISTXML-SV-IV-atomic-int-pattern-4-3 tokoe:valid" result="pass"/><test-case name="1217NISTXML-SV-IV-atomic-int-pattern-4-4 tokoe:valid" result="pass"/><test-case name="1218NISTXML-SV-IV-atomic-int-pattern-4-5 tokoe:valid" result="pass"/><test-case name="1219NISTSchema-SV-IV-atomic-int-pattern-5 tokoe:valid" result="pass"/><test-case name="1220NISTXML-SV-IV-atomic-int-pattern-5-1 tokoe:valid" result="pass"/><test-case name="1221NISTXML-SV-IV-atomic-int-pattern-5-2 tokoe:valid" result="pass"/><test-case name="1222NISTXML-SV-IV-atomic-int-pattern-5-3 tokoe:valid" result="pass"/><test-case name="1223NISTXML-SV-IV-atomic-int-pattern-5-4 tokoe:valid" result="pass"/><test-case name="1224NISTXML-SV-IV-atomic-int-pattern-5-5 tokoe:valid" result="pass"/><test-case name="1225NISTSchema-SV-IV-atomic-int-enumeration-1 tokoe:valid" result="pass"/><test-case name="1226NISTXML-SV-IV-atomic-int-enumeration-1-1 tokoe:valid" result="pass"/><test-case name="1227NISTXML-SV-IV-atomic-int-enumeration-1-2 tokoe:valid" result="pass"/><test-case name="1228NISTXML-SV-IV-atomic-int-enumeration-1-3 tokoe:valid" result="pass"/><test-case name="1229NISTXML-SV-IV-atomic-int-enumeration-1-4 tokoe:valid" result="pass"/><test-case name="1230NISTXML-SV-IV-atomic-int-enumeration-1-5 tokoe:valid" result="pass"/><test-case name="1231NISTSchema-SV-IV-atomic-int-enumeration-2 tokoe:valid" result="pass"/><test-case name="1232NISTXML-SV-IV-atomic-int-enumeration-2-1 tokoe:valid" result="pass"/><test-case name="1233NISTXML-SV-IV-atomic-int-enumeration-2-2 tokoe:valid" result="pass"/><test-case name="1234NISTXML-SV-IV-atomic-int-enumeration-2-3 tokoe:valid" result="pass"/><test-case name="1235NISTXML-SV-IV-atomic-int-enumeration-2-4 tokoe:valid" result="pass"/><test-case name="1236NISTXML-SV-IV-atomic-int-enumeration-2-5 tokoe:valid" result="pass"/><test-case name="1237NISTSchema-SV-IV-atomic-int-enumeration-3 tokoe:valid" result="pass"/><test-case name="1238NISTXML-SV-IV-atomic-int-enumeration-3-1 tokoe:valid" result="pass"/><test-case name="1239NISTXML-SV-IV-atomic-int-enumeration-3-2 tokoe:valid" result="pass"/><test-case name="1240NISTXML-SV-IV-atomic-int-enumeration-3-3 tokoe:valid" result="pass"/><test-case name="1241NISTXML-SV-IV-atomic-int-enumeration-3-4 tokoe:valid" result="pass"/><test-case name="1242NISTXML-SV-IV-atomic-int-enumeration-3-5 tokoe:valid" result="pass"/><test-case name="1243NISTSchema-SV-IV-atomic-int-enumeration-4 tokoe:valid" result="pass"/><test-case name="1244NISTXML-SV-IV-atomic-int-enumeration-4-1 tokoe:valid" result="pass"/><test-case name="1245NISTXML-SV-IV-atomic-int-enumeration-4-2 tokoe:valid" result="pass"/><test-case name="1246NISTXML-SV-IV-atomic-int-enumeration-4-3 tokoe:valid" result="pass"/><test-case name="1247NISTXML-SV-IV-atomic-int-enumeration-4-4 tokoe:valid" result="pass"/><test-case name="1248NISTXML-SV-IV-atomic-int-enumeration-4-5 tokoe:valid" result="pass"/><test-case name="1249NISTSchema-SV-IV-atomic-int-enumeration-5 tokoe:valid" result="pass"/><test-case name="1250NISTXML-SV-IV-atomic-int-enumeration-5-1 tokoe:valid" result="pass"/><test-case name="1251NISTXML-SV-IV-atomic-int-enumeration-5-2 tokoe:valid" result="pass"/><test-case name="1252NISTXML-SV-IV-atomic-int-enumeration-5-3 tokoe:valid" result="pass"/><test-case name="1253NISTXML-SV-IV-atomic-int-enumeration-5-4 tokoe:valid" result="pass"/><test-case name="1254NISTXML-SV-IV-atomic-int-enumeration-5-5 tokoe:valid" result="pass"/><test-case name="1255NISTSchema-SV-IV-atomic-int-whiteSpace-1 tokoe:valid" result="pass"/><test-case name="1256NISTXML-SV-IV-atomic-int-whiteSpace-1-1 tokoe:valid" result="pass"/><test-case name="1257NISTXML-SV-IV-atomic-int-whiteSpace-1-2 tokoe:valid" result="pass"/><test-case name="1258NISTXML-SV-IV-atomic-int-whiteSpace-1-3 tokoe:valid" result="pass"/><test-case name="1259NISTXML-SV-IV-atomic-int-whiteSpace-1-4 tokoe:valid" result="pass"/><test-case name="1260NISTXML-SV-IV-atomic-int-whiteSpace-1-5 tokoe:valid" result="pass"/><test-case name="1261NISTSchema-SV-IV-atomic-short-minExclusive-1 tokoe:valid" result="pass"/><test-case name="1262NISTXML-SV-IV-atomic-short-minExclusive-1-1 tokoe:valid" result="pass"/><test-case name="1263NISTXML-SV-IV-atomic-short-minExclusive-1-2 tokoe:valid" result="pass"/><test-case name="1264NISTXML-SV-IV-atomic-short-minExclusive-1-3 tokoe:valid" result="pass"/><test-case name="1265NISTXML-SV-IV-atomic-short-minExclusive-1-4 tokoe:valid" result="pass"/><test-case name="1266NISTXML-SV-IV-atomic-short-minExclusive-1-5 tokoe:valid" result="pass"/><test-case name="1267NISTSchema-SV-IV-atomic-short-minExclusive-2 tokoe:valid" result="pass"/><test-case name="1268NISTXML-SV-IV-atomic-short-minExclusive-2-1 tokoe:valid" result="pass"/><test-case name="1269NISTXML-SV-IV-atomic-short-minExclusive-2-2 tokoe:valid" result="pass"/><test-case name="1270NISTXML-SV-IV-atomic-short-minExclusive-2-3 tokoe:valid" result="pass"/><test-case name="1271NISTXML-SV-IV-atomic-short-minExclusive-2-4 tokoe:valid" result="pass"/><test-case name="1272NISTXML-SV-IV-atomic-short-minExclusive-2-5 tokoe:valid" result="pass"/><test-case name="1273NISTSchema-SV-IV-atomic-short-minExclusive-3 tokoe:valid" result="pass"/><test-case name="1274NISTXML-SV-IV-atomic-short-minExclusive-3-1 tokoe:valid" result="pass"/><test-case name="1275NISTXML-SV-IV-atomic-short-minExclusive-3-2 tokoe:valid" result="pass"/><test-case name="1276NISTXML-SV-IV-atomic-short-minExclusive-3-3 tokoe:valid" result="pass"/><test-case name="1277NISTXML-SV-IV-atomic-short-minExclusive-3-4 tokoe:valid" result="pass"/><test-case name="1278NISTXML-SV-IV-atomic-short-minExclusive-3-5 tokoe:valid" result="pass"/><test-case name="1279NISTSchema-SV-IV-atomic-short-minExclusive-4 tokoe:valid" result="pass"/><test-case name="1280NISTXML-SV-IV-atomic-short-minExclusive-4-1 tokoe:valid" result="pass"/><test-case name="1281NISTXML-SV-IV-atomic-short-minExclusive-4-2 tokoe:valid" result="pass"/><test-case name="1282NISTXML-SV-IV-atomic-short-minExclusive-4-3 tokoe:valid" result="pass"/><test-case name="1283NISTXML-SV-IV-atomic-short-minExclusive-4-4 tokoe:valid" result="pass"/><test-case name="1284NISTXML-SV-IV-atomic-short-minExclusive-4-5 tokoe:valid" result="pass"/><test-case name="1285NISTSchema-SV-IV-atomic-short-minExclusive-5 tokoe:valid" result="pass"/><test-case name="1286NISTXML-SV-IV-atomic-short-minExclusive-5-1 tokoe:valid" result="pass"/><test-case name="1287NISTSchema-SV-IV-atomic-short-minInclusive-1 tokoe:valid" result="pass"/><test-case name="1288NISTXML-SV-IV-atomic-short-minInclusive-1-1 tokoe:valid" result="pass"/><test-case name="1289NISTXML-SV-IV-atomic-short-minInclusive-1-2 tokoe:valid" result="pass"/><test-case name="1290NISTXML-SV-IV-atomic-short-minInclusive-1-3 tokoe:valid" result="pass"/><test-case name="1291NISTXML-SV-IV-atomic-short-minInclusive-1-4 tokoe:valid" result="pass"/><test-case name="1292NISTXML-SV-IV-atomic-short-minInclusive-1-5 tokoe:valid" result="pass"/><test-case name="1293NISTSchema-SV-IV-atomic-short-minInclusive-2 tokoe:valid" result="pass"/><test-case name="1294NISTXML-SV-IV-atomic-short-minInclusive-2-1 tokoe:valid" result="pass"/><test-case name="1295NISTXML-SV-IV-atomic-short-minInclusive-2-2 tokoe:valid" result="pass"/><test-case name="1296NISTXML-SV-IV-atomic-short-minInclusive-2-3 tokoe:valid" result="pass"/><test-case name="1297NISTXML-SV-IV-atomic-short-minInclusive-2-4 tokoe:valid" result="pass"/><test-case name="1298NISTXML-SV-IV-atomic-short-minInclusive-2-5 tokoe:valid" result="pass"/><test-case name="1299NISTSchema-SV-IV-atomic-short-minInclusive-3 tokoe:valid" result="pass"/><test-case name="1300NISTXML-SV-IV-atomic-short-minInclusive-3-1 tokoe:valid" result="pass"/><test-case name="1301NISTXML-SV-IV-atomic-short-minInclusive-3-2 tokoe:valid" result="pass"/><test-case name="1302NISTXML-SV-IV-atomic-short-minInclusive-3-3 tokoe:valid" result="pass"/><test-case name="1303NISTXML-SV-IV-atomic-short-minInclusive-3-4 tokoe:valid" result="pass"/><test-case name="1304NISTXML-SV-IV-atomic-short-minInclusive-3-5 tokoe:valid" result="pass"/><test-case name="1305NISTSchema-SV-IV-atomic-short-minInclusive-4 tokoe:valid" result="pass"/><test-case name="1306NISTXML-SV-IV-atomic-short-minInclusive-4-1 tokoe:valid" result="pass"/><test-case name="1307NISTXML-SV-IV-atomic-short-minInclusive-4-2 tokoe:valid" result="pass"/><test-case name="1308NISTXML-SV-IV-atomic-short-minInclusive-4-3 tokoe:valid" result="pass"/><test-case name="1309NISTXML-SV-IV-atomic-short-minInclusive-4-4 tokoe:valid" result="pass"/><test-case name="1310NISTXML-SV-IV-atomic-short-minInclusive-4-5 tokoe:valid" result="pass"/><test-case name="1311NISTSchema-SV-IV-atomic-short-minInclusive-5 tokoe:valid" result="pass"/><test-case name="1312NISTXML-SV-IV-atomic-short-minInclusive-5-1 tokoe:valid" result="pass"/><test-case name="1313NISTSchema-SV-IV-atomic-short-maxExclusive-1 tokoe:valid" result="pass"/><test-case name="1314NISTXML-SV-IV-atomic-short-maxExclusive-1-1 tokoe:valid" result="pass"/><test-case name="1315NISTSchema-SV-IV-atomic-short-maxExclusive-2 tokoe:valid" result="pass"/><test-case name="1316NISTXML-SV-IV-atomic-short-maxExclusive-2-1 tokoe:valid" result="pass"/><test-case name="1317NISTXML-SV-IV-atomic-short-maxExclusive-2-2 tokoe:valid" result="pass"/><test-case name="1318NISTXML-SV-IV-atomic-short-maxExclusive-2-3 tokoe:valid" result="pass"/><test-case name="1319NISTXML-SV-IV-atomic-short-maxExclusive-2-4 tokoe:valid" result="pass"/><test-case name="1320NISTXML-SV-IV-atomic-short-maxExclusive-2-5 tokoe:valid" result="pass"/><test-case name="1321NISTSchema-SV-IV-atomic-short-maxExclusive-3 tokoe:valid" result="pass"/><test-case name="1322NISTXML-SV-IV-atomic-short-maxExclusive-3-1 tokoe:valid" result="pass"/><test-case name="1323NISTXML-SV-IV-atomic-short-maxExclusive-3-2 tokoe:valid" result="pass"/><test-case name="1324NISTXML-SV-IV-atomic-short-maxExclusive-3-3 tokoe:valid" result="pass"/><test-case name="1325NISTXML-SV-IV-atomic-short-maxExclusive-3-4 tokoe:valid" result="pass"/><test-case name="1326NISTXML-SV-IV-atomic-short-maxExclusive-3-5 tokoe:valid" result="pass"/><test-case name="1327NISTSchema-SV-IV-atomic-short-maxExclusive-4 tokoe:valid" result="pass"/><test-case name="1328NISTXML-SV-IV-atomic-short-maxExclusive-4-1 tokoe:valid" result="pass"/><test-case name="1329NISTXML-SV-IV-atomic-short-maxExclusive-4-2 tokoe:valid" result="pass"/><test-case name="1330NISTXML-SV-IV-atomic-short-maxExclusive-4-3 tokoe:valid" result="pass"/><test-case name="1331NISTXML-SV-IV-atomic-short-maxExclusive-4-4 tokoe:valid" result="pass"/><test-case name="1332NISTXML-SV-IV-atomic-short-maxExclusive-4-5 tokoe:valid" result="pass"/><test-case name="1333NISTSchema-SV-IV-atomic-short-maxExclusive-5 tokoe:valid" result="pass"/><test-case name="1334NISTXML-SV-IV-atomic-short-maxExclusive-5-1 tokoe:valid" result="pass"/><test-case name="1335NISTXML-SV-IV-atomic-short-maxExclusive-5-2 tokoe:valid" result="pass"/><test-case name="1336NISTXML-SV-IV-atomic-short-maxExclusive-5-3 tokoe:valid" result="pass"/><test-case name="1337NISTXML-SV-IV-atomic-short-maxExclusive-5-4 tokoe:valid" result="pass"/><test-case name="1338NISTXML-SV-IV-atomic-short-maxExclusive-5-5 tokoe:valid" result="pass"/><test-case name="1339NISTSchema-SV-IV-atomic-short-maxInclusive-1 tokoe:valid" result="pass"/><test-case name="1340NISTXML-SV-IV-atomic-short-maxInclusive-1-1 tokoe:valid" result="pass"/><test-case name="1341NISTSchema-SV-IV-atomic-short-maxInclusive-2 tokoe:valid" result="pass"/><test-case name="1342NISTXML-SV-IV-atomic-short-maxInclusive-2-1 tokoe:valid" result="pass"/><test-case name="1343NISTXML-SV-IV-atomic-short-maxInclusive-2-2 tokoe:valid" result="pass"/><test-case name="1344NISTXML-SV-IV-atomic-short-maxInclusive-2-3 tokoe:valid" result="pass"/><test-case name="1345NISTXML-SV-IV-atomic-short-maxInclusive-2-4 tokoe:valid" result="pass"/><test-case name="1346NISTXML-SV-IV-atomic-short-maxInclusive-2-5 tokoe:valid" result="pass"/><test-case name="1347NISTSchema-SV-IV-atomic-short-maxInclusive-3 tokoe:valid" result="pass"/><test-case name="1348NISTXML-SV-IV-atomic-short-maxInclusive-3-1 tokoe:valid" result="pass"/><test-case name="1349NISTXML-SV-IV-atomic-short-maxInclusive-3-2 tokoe:valid" result="pass"/><test-case name="1350NISTXML-SV-IV-atomic-short-maxInclusive-3-3 tokoe:valid" result="pass"/><test-case name="1351NISTXML-SV-IV-atomic-short-maxInclusive-3-4 tokoe:valid" result="pass"/><test-case name="1352NISTXML-SV-IV-atomic-short-maxInclusive-3-5 tokoe:valid" result="pass"/><test-case name="1353NISTSchema-SV-IV-atomic-short-maxInclusive-4 tokoe:valid" result="pass"/><test-case name="1354NISTXML-SV-IV-atomic-short-maxInclusive-4-1 tokoe:valid" result="pass"/><test-case name="1355NISTXML-SV-IV-atomic-short-maxInclusive-4-2 tokoe:valid" result="pass"/><test-case name="1356NISTXML-SV-IV-atomic-short-maxInclusive-4-3 tokoe:valid" result="pass"/><test-case name="1357NISTXML-SV-IV-atomic-short-maxInclusive-4-4 tokoe:valid" result="pass"/><test-case name="1358NISTXML-SV-IV-atomic-short-maxInclusive-4-5 tokoe:valid" result="pass"/><test-case name="1359NISTSchema-SV-IV-atomic-short-maxInclusive-5 tokoe:valid" result="pass"/><test-case name="1360NISTXML-SV-IV-atomic-short-maxInclusive-5-1 tokoe:valid" result="pass"/><test-case name="1361NISTXML-SV-IV-atomic-short-maxInclusive-5-2 tokoe:valid" result="pass"/><test-case name="1362NISTXML-SV-IV-atomic-short-maxInclusive-5-3 tokoe:valid" result="pass"/><test-case name="1363NISTXML-SV-IV-atomic-short-maxInclusive-5-4 tokoe:valid" result="pass"/><test-case name="1364NISTXML-SV-IV-atomic-short-maxInclusive-5-5 tokoe:valid" result="pass"/><test-case name="1365NISTSchema-SV-IV-atomic-short-fractionDigits-1 tokoe:valid" result="pass"/><test-case name="1366NISTXML-SV-IV-atomic-short-fractionDigits-1-1 tokoe:valid" result="pass"/><test-case name="1367NISTXML-SV-IV-atomic-short-fractionDigits-1-2 tokoe:valid" result="pass"/><test-case name="1368NISTXML-SV-IV-atomic-short-fractionDigits-1-3 tokoe:valid" result="pass"/><test-case name="1369NISTXML-SV-IV-atomic-short-fractionDigits-1-4 tokoe:valid" result="pass"/><test-case name="1370NISTXML-SV-IV-atomic-short-fractionDigits-1-5 tokoe:valid" result="pass"/><test-case name="1371NISTSchema-SV-IV-atomic-short-totalDigits-1 tokoe:valid" result="pass"/><test-case name="1372NISTXML-SV-IV-atomic-short-totalDigits-1-1 tokoe:valid" result="pass"/><test-case name="1373NISTXML-SV-IV-atomic-short-totalDigits-1-2 tokoe:valid" result="pass"/><test-case name="1374NISTXML-SV-IV-atomic-short-totalDigits-1-3 tokoe:valid" result="pass"/><test-case name="1375NISTXML-SV-IV-atomic-short-totalDigits-1-4 tokoe:valid" result="pass"/><test-case name="1376NISTXML-SV-IV-atomic-short-totalDigits-1-5 tokoe:valid" result="pass"/><test-case name="1377NISTSchema-SV-IV-atomic-short-totalDigits-2 tokoe:valid" result="pass"/><test-case name="1378NISTXML-SV-IV-atomic-short-totalDigits-2-1 tokoe:valid" result="pass"/><test-case name="1379NISTXML-SV-IV-atomic-short-totalDigits-2-2 tokoe:valid" result="pass"/><test-case name="1380NISTXML-SV-IV-atomic-short-totalDigits-2-3 tokoe:valid" result="pass"/><test-case name="1381NISTXML-SV-IV-atomic-short-totalDigits-2-4 tokoe:valid" result="pass"/><test-case name="1382NISTXML-SV-IV-atomic-short-totalDigits-2-5 tokoe:valid" result="pass"/><test-case name="1383NISTSchema-SV-IV-atomic-short-totalDigits-3 tokoe:valid" result="pass"/><test-case name="1384NISTXML-SV-IV-atomic-short-totalDigits-3-1 tokoe:valid" result="pass"/><test-case name="1385NISTXML-SV-IV-atomic-short-totalDigits-3-2 tokoe:valid" result="pass"/><test-case name="1386NISTXML-SV-IV-atomic-short-totalDigits-3-3 tokoe:valid" result="pass"/><test-case name="1387NISTXML-SV-IV-atomic-short-totalDigits-3-4 tokoe:valid" result="pass"/><test-case name="1388NISTXML-SV-IV-atomic-short-totalDigits-3-5 tokoe:valid" result="pass"/><test-case name="1389NISTSchema-SV-IV-atomic-short-totalDigits-4 tokoe:valid" result="pass"/><test-case name="1390NISTXML-SV-IV-atomic-short-totalDigits-4-1 tokoe:valid" result="pass"/><test-case name="1391NISTXML-SV-IV-atomic-short-totalDigits-4-2 tokoe:valid" result="pass"/><test-case name="1392NISTXML-SV-IV-atomic-short-totalDigits-4-3 tokoe:valid" result="pass"/><test-case name="1393NISTXML-SV-IV-atomic-short-totalDigits-4-4 tokoe:valid" result="pass"/><test-case name="1394NISTXML-SV-IV-atomic-short-totalDigits-4-5 tokoe:valid" result="pass"/><test-case name="1395NISTSchema-SV-IV-atomic-short-totalDigits-5 tokoe:valid" result="pass"/><test-case name="1396NISTXML-SV-IV-atomic-short-totalDigits-5-1 tokoe:valid" result="pass"/><test-case name="1397NISTXML-SV-IV-atomic-short-totalDigits-5-2 tokoe:valid" result="pass"/><test-case name="1398NISTXML-SV-IV-atomic-short-totalDigits-5-3 tokoe:valid" result="pass"/><test-case name="1399NISTXML-SV-IV-atomic-short-totalDigits-5-4 tokoe:valid" result="pass"/><test-case name="1400NISTXML-SV-IV-atomic-short-totalDigits-5-5 tokoe:valid" result="pass"/><test-case name="1401NISTSchema-SV-IV-atomic-short-pattern-1 tokoe:valid" result="pass"/><test-case name="1402NISTXML-SV-IV-atomic-short-pattern-1-1 tokoe:valid" result="pass"/><test-case name="1403NISTXML-SV-IV-atomic-short-pattern-1-2 tokoe:valid" result="pass"/><test-case name="1404NISTXML-SV-IV-atomic-short-pattern-1-3 tokoe:valid" result="pass"/><test-case name="1405NISTXML-SV-IV-atomic-short-pattern-1-4 tokoe:valid" result="pass"/><test-case name="1406NISTXML-SV-IV-atomic-short-pattern-1-5 tokoe:valid" result="pass"/><test-case name="1407NISTSchema-SV-IV-atomic-short-pattern-2 tokoe:valid" result="pass"/><test-case name="1408NISTXML-SV-IV-atomic-short-pattern-2-1 tokoe:valid" result="pass"/><test-case name="1409NISTXML-SV-IV-atomic-short-pattern-2-2 tokoe:valid" result="pass"/><test-case name="1410NISTXML-SV-IV-atomic-short-pattern-2-3 tokoe:valid" result="pass"/><test-case name="1411NISTXML-SV-IV-atomic-short-pattern-2-4 tokoe:valid" result="pass"/><test-case name="1412NISTXML-SV-IV-atomic-short-pattern-2-5 tokoe:valid" result="pass"/><test-case name="1413NISTSchema-SV-IV-atomic-short-pattern-3 tokoe:valid" result="pass"/><test-case name="1414NISTXML-SV-IV-atomic-short-pattern-3-1 tokoe:valid" result="pass"/><test-case name="1415NISTXML-SV-IV-atomic-short-pattern-3-2 tokoe:valid" result="pass"/><test-case name="1416NISTXML-SV-IV-atomic-short-pattern-3-3 tokoe:valid" result="pass"/><test-case name="1417NISTXML-SV-IV-atomic-short-pattern-3-4 tokoe:valid" result="pass"/><test-case name="1418NISTXML-SV-IV-atomic-short-pattern-3-5 tokoe:valid" result="pass"/><test-case name="1419NISTSchema-SV-IV-atomic-short-pattern-4 tokoe:valid" result="pass"/><test-case name="1420NISTXML-SV-IV-atomic-short-pattern-4-1 tokoe:valid" result="pass"/><test-case name="1421NISTXML-SV-IV-atomic-short-pattern-4-2 tokoe:valid" result="pass"/><test-case name="1422NISTXML-SV-IV-atomic-short-pattern-4-3 tokoe:valid" result="pass"/><test-case name="1423NISTXML-SV-IV-atomic-short-pattern-4-4 tokoe:valid" result="pass"/><test-case name="1424NISTXML-SV-IV-atomic-short-pattern-4-5 tokoe:valid" result="pass"/><test-case name="1425NISTSchema-SV-IV-atomic-short-pattern-5 tokoe:valid" result="pass"/><test-case name="1426NISTXML-SV-IV-atomic-short-pattern-5-1 tokoe:valid" result="pass"/><test-case name="1427NISTXML-SV-IV-atomic-short-pattern-5-2 tokoe:valid" result="pass"/><test-case name="1428NISTXML-SV-IV-atomic-short-pattern-5-3 tokoe:valid" result="pass"/><test-case name="1429NISTXML-SV-IV-atomic-short-pattern-5-4 tokoe:valid" result="pass"/><test-case name="1430NISTXML-SV-IV-atomic-short-pattern-5-5 tokoe:valid" result="pass"/><test-case name="1431NISTSchema-SV-IV-atomic-short-enumeration-1 tokoe:valid" result="pass"/><test-case name="1432NISTXML-SV-IV-atomic-short-enumeration-1-1 tokoe:valid" result="pass"/><test-case name="1433NISTXML-SV-IV-atomic-short-enumeration-1-2 tokoe:valid" result="pass"/><test-case name="1434NISTXML-SV-IV-atomic-short-enumeration-1-3 tokoe:valid" result="pass"/><test-case name="1435NISTXML-SV-IV-atomic-short-enumeration-1-4 tokoe:valid" result="pass"/><test-case name="1436NISTXML-SV-IV-atomic-short-enumeration-1-5 tokoe:valid" result="pass"/><test-case name="1437NISTSchema-SV-IV-atomic-short-enumeration-2 tokoe:valid" result="pass"/><test-case name="1438NISTXML-SV-IV-atomic-short-enumeration-2-1 tokoe:valid" result="pass"/><test-case name="1439NISTXML-SV-IV-atomic-short-enumeration-2-2 tokoe:valid" result="pass"/><test-case name="1440NISTXML-SV-IV-atomic-short-enumeration-2-3 tokoe:valid" result="pass"/><test-case name="1441NISTXML-SV-IV-atomic-short-enumeration-2-4 tokoe:valid" result="pass"/><test-case name="1442NISTXML-SV-IV-atomic-short-enumeration-2-5 tokoe:valid" result="pass"/><test-case name="1443NISTSchema-SV-IV-atomic-short-enumeration-3 tokoe:valid" result="pass"/><test-case name="1444NISTXML-SV-IV-atomic-short-enumeration-3-1 tokoe:valid" result="pass"/><test-case name="1445NISTXML-SV-IV-atomic-short-enumeration-3-2 tokoe:valid" result="pass"/><test-case name="1446NISTXML-SV-IV-atomic-short-enumeration-3-3 tokoe:valid" result="pass"/><test-case name="1447NISTXML-SV-IV-atomic-short-enumeration-3-4 tokoe:valid" result="pass"/><test-case name="1448NISTXML-SV-IV-atomic-short-enumeration-3-5 tokoe:valid" result="pass"/><test-case name="1449NISTSchema-SV-IV-atomic-short-enumeration-4 tokoe:valid" result="pass"/><test-case name="1450NISTXML-SV-IV-atomic-short-enumeration-4-1 tokoe:valid" result="pass"/><test-case name="1451NISTXML-SV-IV-atomic-short-enumeration-4-2 tokoe:valid" result="pass"/><test-case name="1452NISTXML-SV-IV-atomic-short-enumeration-4-3 tokoe:valid" result="pass"/><test-case name="1453NISTXML-SV-IV-atomic-short-enumeration-4-4 tokoe:valid" result="pass"/><test-case name="1454NISTXML-SV-IV-atomic-short-enumeration-4-5 tokoe:valid" result="pass"/><test-case name="1455NISTSchema-SV-IV-atomic-short-enumeration-5 tokoe:valid" result="pass"/><test-case name="1456NISTXML-SV-IV-atomic-short-enumeration-5-1 tokoe:valid" result="pass"/><test-case name="1457NISTXML-SV-IV-atomic-short-enumeration-5-2 tokoe:valid" result="pass"/><test-case name="1458NISTXML-SV-IV-atomic-short-enumeration-5-3 tokoe:valid" result="pass"/><test-case name="1459NISTXML-SV-IV-atomic-short-enumeration-5-4 tokoe:valid" result="pass"/><test-case name="1460NISTXML-SV-IV-atomic-short-enumeration-5-5 tokoe:valid" result="pass"/><test-case name="1461NISTSchema-SV-IV-atomic-short-whiteSpace-1 tokoe:valid" result="pass"/><test-case name="1462NISTXML-SV-IV-atomic-short-whiteSpace-1-1 tokoe:valid" result="pass"/><test-case name="1463NISTXML-SV-IV-atomic-short-whiteSpace-1-2 tokoe:valid" result="pass"/><test-case name="1464NISTXML-SV-IV-atomic-short-whiteSpace-1-3 tokoe:valid" result="pass"/><test-case name="1465NISTXML-SV-IV-atomic-short-whiteSpace-1-4 tokoe:valid" result="pass"/><test-case name="1466NISTXML-SV-IV-atomic-short-whiteSpace-1-5 tokoe:valid" result="pass"/><test-case name="1467NISTSchema-SV-IV-atomic-byte-minExclusive-1 tokoe:valid" result="pass"/><test-case name="1468NISTXML-SV-IV-atomic-byte-minExclusive-1-1 tokoe:valid" result="pass"/><test-case name="1469NISTXML-SV-IV-atomic-byte-minExclusive-1-2 tokoe:valid" result="pass"/><test-case name="1470NISTXML-SV-IV-atomic-byte-minExclusive-1-3 tokoe:valid" result="pass"/><test-case name="1471NISTXML-SV-IV-atomic-byte-minExclusive-1-4 tokoe:valid" result="pass"/><test-case name="1472NISTXML-SV-IV-atomic-byte-minExclusive-1-5 tokoe:valid" result="pass"/><test-case name="1473NISTSchema-SV-IV-atomic-byte-minExclusive-2 tokoe:valid" result="pass"/><test-case name="1474NISTXML-SV-IV-atomic-byte-minExclusive-2-1 tokoe:valid" result="pass"/><test-case name="1475NISTXML-SV-IV-atomic-byte-minExclusive-2-2 tokoe:valid" result="pass"/><test-case name="1476NISTXML-SV-IV-atomic-byte-minExclusive-2-3 tokoe:valid" result="pass"/><test-case name="1477NISTXML-SV-IV-atomic-byte-minExclusive-2-4 tokoe:valid" result="pass"/><test-case name="1478NISTXML-SV-IV-atomic-byte-minExclusive-2-5 tokoe:valid" result="pass"/><test-case name="1479NISTSchema-SV-IV-atomic-byte-minExclusive-3 tokoe:valid" result="pass"/><test-case name="1480NISTXML-SV-IV-atomic-byte-minExclusive-3-1 tokoe:valid" result="pass"/><test-case name="1481NISTXML-SV-IV-atomic-byte-minExclusive-3-2 tokoe:valid" result="pass"/><test-case name="1482NISTXML-SV-IV-atomic-byte-minExclusive-3-3 tokoe:valid" result="pass"/><test-case name="1483NISTXML-SV-IV-atomic-byte-minExclusive-3-4 tokoe:valid" result="pass"/><test-case name="1484NISTXML-SV-IV-atomic-byte-minExclusive-3-5 tokoe:valid" result="pass"/><test-case name="1485NISTSchema-SV-IV-atomic-byte-minExclusive-4 tokoe:valid" result="pass"/><test-case name="1486NISTXML-SV-IV-atomic-byte-minExclusive-4-1 tokoe:valid" result="pass"/><test-case name="1487NISTXML-SV-IV-atomic-byte-minExclusive-4-2 tokoe:valid" result="pass"/><test-case name="1488NISTXML-SV-IV-atomic-byte-minExclusive-4-3 tokoe:valid" result="pass"/><test-case name="1489NISTXML-SV-IV-atomic-byte-minExclusive-4-4 tokoe:valid" result="pass"/><test-case name="1490NISTXML-SV-IV-atomic-byte-minExclusive-4-5 tokoe:valid" result="pass"/><test-case name="1491NISTSchema-SV-IV-atomic-byte-minExclusive-5 tokoe:valid" result="pass"/><test-case name="1492NISTXML-SV-IV-atomic-byte-minExclusive-5-1 tokoe:valid" result="pass"/><test-case name="1493NISTSchema-SV-IV-atomic-byte-minInclusive-1 tokoe:valid" result="pass"/><test-case name="1494NISTXML-SV-IV-atomic-byte-minInclusive-1-1 tokoe:valid" result="pass"/><test-case name="1495NISTXML-SV-IV-atomic-byte-minInclusive-1-2 tokoe:valid" result="pass"/><test-case name="1496NISTXML-SV-IV-atomic-byte-minInclusive-1-3 tokoe:valid" result="pass"/><test-case name="1497NISTXML-SV-IV-atomic-byte-minInclusive-1-4 tokoe:valid" result="pass"/><test-case name="1498NISTXML-SV-IV-atomic-byte-minInclusive-1-5 tokoe:valid" result="pass"/><test-case name="1499NISTSchema-SV-IV-atomic-byte-minInclusive-2 tokoe:valid" result="pass"/><test-case name="1500NISTXML-SV-IV-atomic-byte-minInclusive-2-1 tokoe:valid" result="pass"/><test-case name="1501NISTXML-SV-IV-atomic-byte-minInclusive-2-2 tokoe:valid" result="pass"/><test-case name="1502NISTXML-SV-IV-atomic-byte-minInclusive-2-3 tokoe:valid" result="pass"/><test-case name="1503NISTXML-SV-IV-atomic-byte-minInclusive-2-4 tokoe:valid" result="pass"/><test-case name="1504NISTXML-SV-IV-atomic-byte-minInclusive-2-5 tokoe:valid" result="pass"/><test-case name="1505NISTSchema-SV-IV-atomic-byte-minInclusive-3 tokoe:valid" result="pass"/><test-case name="1506NISTXML-SV-IV-atomic-byte-minInclusive-3-1 tokoe:valid" result="pass"/><test-case name="1507NISTXML-SV-IV-atomic-byte-minInclusive-3-2 tokoe:valid" result="pass"/><test-case name="1508NISTXML-SV-IV-atomic-byte-minInclusive-3-3 tokoe:valid" result="pass"/><test-case name="1509NISTXML-SV-IV-atomic-byte-minInclusive-3-4 tokoe:valid" result="pass"/><test-case name="1510NISTXML-SV-IV-atomic-byte-minInclusive-3-5 tokoe:valid" result="pass"/><test-case name="1511NISTSchema-SV-IV-atomic-byte-minInclusive-4 tokoe:valid" result="pass"/><test-case name="1512NISTXML-SV-IV-atomic-byte-minInclusive-4-1 tokoe:valid" result="pass"/><test-case name="1513NISTXML-SV-IV-atomic-byte-minInclusive-4-2 tokoe:valid" result="pass"/><test-case name="1514NISTXML-SV-IV-atomic-byte-minInclusive-4-3 tokoe:valid" result="pass"/><test-case name="1515NISTXML-SV-IV-atomic-byte-minInclusive-4-4 tokoe:valid" result="pass"/><test-case name="1516NISTXML-SV-IV-atomic-byte-minInclusive-4-5 tokoe:valid" result="pass"/><test-case name="1517NISTSchema-SV-IV-atomic-byte-minInclusive-5 tokoe:valid" result="pass"/><test-case name="1518NISTXML-SV-IV-atomic-byte-minInclusive-5-1 tokoe:valid" result="pass"/><test-case name="1519NISTSchema-SV-IV-atomic-byte-maxExclusive-1 tokoe:valid" result="pass"/><test-case name="1520NISTXML-SV-IV-atomic-byte-maxExclusive-1-1 tokoe:valid" result="pass"/><test-case name="1521NISTSchema-SV-IV-atomic-byte-maxExclusive-2 tokoe:valid" result="pass"/><test-case name="1522NISTXML-SV-IV-atomic-byte-maxExclusive-2-1 tokoe:valid" result="pass"/><test-case name="1523NISTXML-SV-IV-atomic-byte-maxExclusive-2-2 tokoe:valid" result="pass"/><test-case name="1524NISTXML-SV-IV-atomic-byte-maxExclusive-2-3 tokoe:valid" result="pass"/><test-case name="1525NISTXML-SV-IV-atomic-byte-maxExclusive-2-4 tokoe:valid" result="pass"/><test-case name="1526NISTXML-SV-IV-atomic-byte-maxExclusive-2-5 tokoe:valid" result="pass"/><test-case name="1527NISTSchema-SV-IV-atomic-byte-maxExclusive-3 tokoe:valid" result="pass"/><test-case name="1528NISTXML-SV-IV-atomic-byte-maxExclusive-3-1 tokoe:valid" result="pass"/><test-case name="1529NISTXML-SV-IV-atomic-byte-maxExclusive-3-2 tokoe:valid" result="pass"/><test-case name="1530NISTXML-SV-IV-atomic-byte-maxExclusive-3-3 tokoe:valid" result="pass"/><test-case name="1531NISTXML-SV-IV-atomic-byte-maxExclusive-3-4 tokoe:valid" result="pass"/><test-case name="1532NISTXML-SV-IV-atomic-byte-maxExclusive-3-5 tokoe:valid" result="pass"/><test-case name="1533NISTSchema-SV-IV-atomic-byte-maxExclusive-4 tokoe:valid" result="pass"/><test-case name="1534NISTXML-SV-IV-atomic-byte-maxExclusive-4-1 tokoe:valid" result="pass"/><test-case name="1535NISTXML-SV-IV-atomic-byte-maxExclusive-4-2 tokoe:valid" result="pass"/><test-case name="1536NISTXML-SV-IV-atomic-byte-maxExclusive-4-3 tokoe:valid" result="pass"/><test-case name="1537NISTXML-SV-IV-atomic-byte-maxExclusive-4-4 tokoe:valid" result="pass"/><test-case name="1538NISTXML-SV-IV-atomic-byte-maxExclusive-4-5 tokoe:valid" result="pass"/><test-case name="1539NISTSchema-SV-IV-atomic-byte-maxExclusive-5 tokoe:valid" result="pass"/><test-case name="1540NISTXML-SV-IV-atomic-byte-maxExclusive-5-1 tokoe:valid" result="pass"/><test-case name="1541NISTXML-SV-IV-atomic-byte-maxExclusive-5-2 tokoe:valid" result="pass"/><test-case name="1542NISTXML-SV-IV-atomic-byte-maxExclusive-5-3 tokoe:valid" result="pass"/><test-case name="1543NISTXML-SV-IV-atomic-byte-maxExclusive-5-4 tokoe:valid" result="pass"/><test-case name="1544NISTXML-SV-IV-atomic-byte-maxExclusive-5-5 tokoe:valid" result="pass"/><test-case name="1545NISTSchema-SV-IV-atomic-byte-maxInclusive-1 tokoe:valid" result="pass"/><test-case name="1546NISTXML-SV-IV-atomic-byte-maxInclusive-1-1 tokoe:valid" result="pass"/><test-case name="1547NISTSchema-SV-IV-atomic-byte-maxInclusive-2 tokoe:valid" result="pass"/><test-case name="1548NISTXML-SV-IV-atomic-byte-maxInclusive-2-1 tokoe:valid" result="pass"/><test-case name="1549NISTXML-SV-IV-atomic-byte-maxInclusive-2-2 tokoe:valid" result="pass"/><test-case name="1550NISTXML-SV-IV-atomic-byte-maxInclusive-2-3 tokoe:valid" result="pass"/><test-case name="1551NISTXML-SV-IV-atomic-byte-maxInclusive-2-4 tokoe:valid" result="pass"/><test-case name="1552NISTXML-SV-IV-atomic-byte-maxInclusive-2-5 tokoe:valid" result="pass"/><test-case name="1553NISTSchema-SV-IV-atomic-byte-maxInclusive-3 tokoe:valid" result="pass"/><test-case name="1554NISTXML-SV-IV-atomic-byte-maxInclusive-3-1 tokoe:valid" result="pass"/><test-case name="1555NISTXML-SV-IV-atomic-byte-maxInclusive-3-2 tokoe:valid" result="pass"/><test-case name="1556NISTXML-SV-IV-atomic-byte-maxInclusive-3-3 tokoe:valid" result="pass"/><test-case name="1557NISTXML-SV-IV-atomic-byte-maxInclusive-3-4 tokoe:valid" result="pass"/><test-case name="1558NISTXML-SV-IV-atomic-byte-maxInclusive-3-5 tokoe:valid" result="pass"/><test-case name="1559NISTSchema-SV-IV-atomic-byte-maxInclusive-4 tokoe:valid" result="pass"/><test-case name="1560NISTXML-SV-IV-atomic-byte-maxInclusive-4-1 tokoe:valid" result="pass"/><test-case name="1561NISTXML-SV-IV-atomic-byte-maxInclusive-4-2 tokoe:valid" result="pass"/><test-case name="1562NISTXML-SV-IV-atomic-byte-maxInclusive-4-3 tokoe:valid" result="pass"/><test-case name="1563NISTXML-SV-IV-atomic-byte-maxInclusive-4-4 tokoe:valid" result="pass"/><test-case name="1564NISTXML-SV-IV-atomic-byte-maxInclusive-4-5 tokoe:valid" result="pass"/><test-case name="1565NISTSchema-SV-IV-atomic-byte-maxInclusive-5 tokoe:valid" result="pass"/><test-case name="1566NISTXML-SV-IV-atomic-byte-maxInclusive-5-1 tokoe:valid" result="pass"/><test-case name="1567NISTXML-SV-IV-atomic-byte-maxInclusive-5-2 tokoe:valid" result="pass"/><test-case name="1568NISTXML-SV-IV-atomic-byte-maxInclusive-5-3 tokoe:valid" result="pass"/><test-case name="1569NISTXML-SV-IV-atomic-byte-maxInclusive-5-4 tokoe:valid" result="pass"/><test-case name="1570NISTXML-SV-IV-atomic-byte-maxInclusive-5-5 tokoe:valid" result="pass"/><test-case name="1571NISTSchema-SV-IV-atomic-byte-fractionDigits-1 tokoe:valid" result="pass"/><test-case name="1572NISTXML-SV-IV-atomic-byte-fractionDigits-1-1 tokoe:valid" result="pass"/><test-case name="1573NISTXML-SV-IV-atomic-byte-fractionDigits-1-2 tokoe:valid" result="pass"/><test-case name="1574NISTXML-SV-IV-atomic-byte-fractionDigits-1-3 tokoe:valid" result="pass"/><test-case name="1575NISTXML-SV-IV-atomic-byte-fractionDigits-1-4 tokoe:valid" result="pass"/><test-case name="1576NISTXML-SV-IV-atomic-byte-fractionDigits-1-5 tokoe:valid" result="pass"/><test-case name="1577NISTSchema-SV-IV-atomic-byte-totalDigits-1 tokoe:valid" result="pass"/><test-case name="1578NISTXML-SV-IV-atomic-byte-totalDigits-1-1 tokoe:valid" result="pass"/><test-case name="1579NISTXML-SV-IV-atomic-byte-totalDigits-1-2 tokoe:valid" result="pass"/><test-case name="1580NISTXML-SV-IV-atomic-byte-totalDigits-1-3 tokoe:valid" result="pass"/><test-case name="1581NISTXML-SV-IV-atomic-byte-totalDigits-1-4 tokoe:valid" result="pass"/><test-case name="1582NISTXML-SV-IV-atomic-byte-totalDigits-1-5 tokoe:valid" result="pass"/><test-case name="1583NISTSchema-SV-IV-atomic-byte-totalDigits-2 tokoe:valid" result="pass"/><test-case name="1584NISTXML-SV-IV-atomic-byte-totalDigits-2-1 tokoe:valid" result="pass"/><test-case name="1585NISTXML-SV-IV-atomic-byte-totalDigits-2-2 tokoe:valid" result="pass"/><test-case name="1586NISTXML-SV-IV-atomic-byte-totalDigits-2-3 tokoe:valid" result="pass"/><test-case name="1587NISTXML-SV-IV-atomic-byte-totalDigits-2-4 tokoe:valid" result="pass"/><test-case name="1588NISTXML-SV-IV-atomic-byte-totalDigits-2-5 tokoe:valid" result="pass"/><test-case name="1589NISTSchema-SV-IV-atomic-byte-totalDigits-3 tokoe:valid" result="pass"/><test-case name="1590NISTXML-SV-IV-atomic-byte-totalDigits-3-1 tokoe:valid" result="pass"/><test-case name="1591NISTXML-SV-IV-atomic-byte-totalDigits-3-2 tokoe:valid" result="pass"/><test-case name="1592NISTXML-SV-IV-atomic-byte-totalDigits-3-3 tokoe:valid" result="pass"/><test-case name="1593NISTXML-SV-IV-atomic-byte-totalDigits-3-4 tokoe:valid" result="pass"/><test-case name="1594NISTXML-SV-IV-atomic-byte-totalDigits-3-5 tokoe:valid" result="pass"/><test-case name="1595NISTSchema-SV-IV-atomic-byte-pattern-1 tokoe:valid" result="pass"/><test-case name="1596NISTXML-SV-IV-atomic-byte-pattern-1-1 tokoe:valid" result="pass"/><test-case name="1597NISTXML-SV-IV-atomic-byte-pattern-1-2 tokoe:valid" result="pass"/><test-case name="1598NISTXML-SV-IV-atomic-byte-pattern-1-3 tokoe:valid" result="pass"/><test-case name="1599NISTXML-SV-IV-atomic-byte-pattern-1-4 tokoe:valid" result="pass"/><test-case name="1600NISTXML-SV-IV-atomic-byte-pattern-1-5 tokoe:valid" result="pass"/><test-case name="1601NISTSchema-SV-IV-atomic-byte-pattern-2 tokoe:valid" result="pass"/><test-case name="1602NISTXML-SV-IV-atomic-byte-pattern-2-1 tokoe:valid" result="pass"/><test-case name="1603NISTXML-SV-IV-atomic-byte-pattern-2-2 tokoe:valid" result="pass"/><test-case name="1604NISTXML-SV-IV-atomic-byte-pattern-2-3 tokoe:valid" result="pass"/><test-case name="1605NISTXML-SV-IV-atomic-byte-pattern-2-4 tokoe:valid" result="pass"/><test-case name="1606NISTXML-SV-IV-atomic-byte-pattern-2-5 tokoe:valid" result="pass"/><test-case name="1607NISTSchema-SV-IV-atomic-byte-pattern-3 tokoe:valid" result="pass"/><test-case name="1608NISTXML-SV-IV-atomic-byte-pattern-3-1 tokoe:valid" result="pass"/><test-case name="1609NISTXML-SV-IV-atomic-byte-pattern-3-2 tokoe:valid" result="pass"/><test-case name="1610NISTXML-SV-IV-atomic-byte-pattern-3-3 tokoe:valid" result="pass"/><test-case name="1611NISTXML-SV-IV-atomic-byte-pattern-3-4 tokoe:valid" result="pass"/><test-case name="1612NISTXML-SV-IV-atomic-byte-pattern-3-5 tokoe:valid" result="pass"/><test-case name="1613NISTSchema-SV-IV-atomic-byte-pattern-4 tokoe:valid" result="pass"/><test-case name="1614NISTXML-SV-IV-atomic-byte-pattern-4-1 tokoe:valid" result="pass"/><test-case name="1615NISTXML-SV-IV-atomic-byte-pattern-4-2 tokoe:valid" result="pass"/><test-case name="1616NISTXML-SV-IV-atomic-byte-pattern-4-3 tokoe:valid" result="pass"/><test-case name="1617NISTXML-SV-IV-atomic-byte-pattern-4-4 tokoe:valid" result="pass"/><test-case name="1618NISTXML-SV-IV-atomic-byte-pattern-4-5 tokoe:valid" result="pass"/><test-case name="1619NISTSchema-SV-IV-atomic-byte-pattern-5 tokoe:valid" result="pass"/><test-case name="1620NISTXML-SV-IV-atomic-byte-pattern-5-1 tokoe:valid" result="pass"/><test-case name="1621NISTXML-SV-IV-atomic-byte-pattern-5-2 tokoe:valid" result="pass"/><test-case name="1622NISTXML-SV-IV-atomic-byte-pattern-5-3 tokoe:valid" result="pass"/><test-case name="1623NISTXML-SV-IV-atomic-byte-pattern-5-4 tokoe:valid" result="pass"/><test-case name="1624NISTXML-SV-IV-atomic-byte-pattern-5-5 tokoe:valid" result="pass"/><test-case name="1625NISTSchema-SV-IV-atomic-byte-enumeration-1 tokoe:valid" result="pass"/><test-case name="1626NISTXML-SV-IV-atomic-byte-enumeration-1-1 tokoe:valid" result="pass"/><test-case name="1627NISTXML-SV-IV-atomic-byte-enumeration-1-2 tokoe:valid" result="pass"/><test-case name="1628NISTXML-SV-IV-atomic-byte-enumeration-1-3 tokoe:valid" result="pass"/><test-case name="1629NISTXML-SV-IV-atomic-byte-enumeration-1-4 tokoe:valid" result="pass"/><test-case name="1630NISTXML-SV-IV-atomic-byte-enumeration-1-5 tokoe:valid" result="pass"/><test-case name="1631NISTSchema-SV-IV-atomic-byte-enumeration-2 tokoe:valid" result="pass"/><test-case name="1632NISTXML-SV-IV-atomic-byte-enumeration-2-1 tokoe:valid" result="pass"/><test-case name="1633NISTXML-SV-IV-atomic-byte-enumeration-2-2 tokoe:valid" result="pass"/><test-case name="1634NISTXML-SV-IV-atomic-byte-enumeration-2-3 tokoe:valid" result="pass"/><test-case name="1635NISTXML-SV-IV-atomic-byte-enumeration-2-4 tokoe:valid" result="pass"/><test-case name="1636NISTXML-SV-IV-atomic-byte-enumeration-2-5 tokoe:valid" result="pass"/><test-case name="1637NISTSchema-SV-IV-atomic-byte-enumeration-3 tokoe:valid" result="pass"/><test-case name="1638NISTXML-SV-IV-atomic-byte-enumeration-3-1 tokoe:valid" result="pass"/><test-case name="1639NISTXML-SV-IV-atomic-byte-enumeration-3-2 tokoe:valid" result="pass"/><test-case name="1640NISTXML-SV-IV-atomic-byte-enumeration-3-3 tokoe:valid" result="pass"/><test-case name="1641NISTXML-SV-IV-atomic-byte-enumeration-3-4 tokoe:valid" result="pass"/><test-case name="1642NISTXML-SV-IV-atomic-byte-enumeration-3-5 tokoe:valid" result="pass"/><test-case name="1643NISTSchema-SV-IV-atomic-byte-enumeration-4 tokoe:valid" result="pass"/><test-case name="1644NISTXML-SV-IV-atomic-byte-enumeration-4-1 tokoe:valid" result="pass"/><test-case name="1645NISTXML-SV-IV-atomic-byte-enumeration-4-2 tokoe:valid" result="pass"/><test-case name="1646NISTXML-SV-IV-atomic-byte-enumeration-4-3 tokoe:valid" result="pass"/><test-case name="1647NISTXML-SV-IV-atomic-byte-enumeration-4-4 tokoe:valid" result="pass"/><test-case name="1648NISTXML-SV-IV-atomic-byte-enumeration-4-5 tokoe:valid" result="pass"/><test-case name="1649NISTSchema-SV-IV-atomic-byte-enumeration-5 tokoe:valid" result="pass"/><test-case name="1650NISTXML-SV-IV-atomic-byte-enumeration-5-1 tokoe:valid" result="pass"/><test-case name="1651NISTXML-SV-IV-atomic-byte-enumeration-5-2 tokoe:valid" result="pass"/><test-case name="1652NISTXML-SV-IV-atomic-byte-enumeration-5-3 tokoe:valid" result="pass"/><test-case name="1653NISTXML-SV-IV-atomic-byte-enumeration-5-4 tokoe:valid" result="pass"/><test-case name="1654NISTXML-SV-IV-atomic-byte-enumeration-5-5 tokoe:valid" result="pass"/><test-case name="1655NISTSchema-SV-IV-atomic-byte-whiteSpace-1 tokoe:valid" result="pass"/><test-case name="1656NISTXML-SV-IV-atomic-byte-whiteSpace-1-1 tokoe:valid" result="pass"/><test-case name="1657NISTXML-SV-IV-atomic-byte-whiteSpace-1-2 tokoe:valid" result="pass"/><test-case name="1658NISTXML-SV-IV-atomic-byte-whiteSpace-1-3 tokoe:valid" result="pass"/><test-case name="1659NISTXML-SV-IV-atomic-byte-whiteSpace-1-4 tokoe:valid" result="pass"/><test-case name="1660NISTXML-SV-IV-atomic-byte-whiteSpace-1-5 tokoe:valid" result="pass"/><test-case name="1661NISTSchema-SV-IV-atomic-nonNegativeInteger-minExclusive-1 tokoe:valid" result="pass"/><test-case name="1662NISTXML-SV-IV-atomic-nonNegativeInteger-minExclusive-1-1 tokoe:valid" result="pass"/><test-case name="1663NISTXML-SV-IV-atomic-nonNegativeInteger-minExclusive-1-2 tokoe:valid" result="pass"/><test-case name="1664NISTXML-SV-IV-atomic-nonNegativeInteger-minExclusive-1-3 tokoe:valid" result="pass"/><test-case name="1665NISTXML-SV-IV-atomic-nonNegativeInteger-minExclusive-1-4 tokoe:valid" result="pass"/><test-case name="1666NISTXML-SV-IV-atomic-nonNegativeInteger-minExclusive-1-5 tokoe:valid" result="pass"/><test-case name="1667NISTSchema-SV-IV-atomic-nonNegativeInteger-minExclusive-2 tokoe:valid" result="pass"/><test-case name="1668NISTXML-SV-IV-atomic-nonNegativeInteger-minExclusive-2-1 tokoe:valid" result="pass"/><test-case name="1669NISTXML-SV-IV-atomic-nonNegativeInteger-minExclusive-2-2 tokoe:valid" result="pass"/><test-case name="1670NISTXML-SV-IV-atomic-nonNegativeInteger-minExclusive-2-3 tokoe:valid" result="pass"/><test-case name="1671NISTXML-SV-IV-atomic-nonNegativeInteger-minExclusive-2-4 tokoe:valid" result="pass"/><test-case name="1672NISTXML-SV-IV-atomic-nonNegativeInteger-minExclusive-2-5 tokoe:valid" result="pass"/><test-case name="1673NISTSchema-SV-IV-atomic-nonNegativeInteger-minExclusive-3 tokoe:valid" result="pass"/><test-case name="1674NISTXML-SV-IV-atomic-nonNegativeInteger-minExclusive-3-1 tokoe:valid" result="pass"/><test-case name="1675NISTXML-SV-IV-atomic-nonNegativeInteger-minExclusive-3-2 tokoe:valid" result="pass"/><test-case name="1676NISTXML-SV-IV-atomic-nonNegativeInteger-minExclusive-3-3 tokoe:valid" result="pass"/><test-case name="1677NISTXML-SV-IV-atomic-nonNegativeInteger-minExclusive-3-4 tokoe:valid" result="pass"/><test-case name="1678NISTXML-SV-IV-atomic-nonNegativeInteger-minExclusive-3-5 tokoe:valid" result="pass"/><test-case name="1679NISTSchema-SV-IV-atomic-nonNegativeInteger-minExclusive-4 tokoe:valid" result="pass"/><test-case name="1680NISTXML-SV-IV-atomic-nonNegativeInteger-minExclusive-4-1 tokoe:valid" result="pass"/><test-case name="1681NISTXML-SV-IV-atomic-nonNegativeInteger-minExclusive-4-2 tokoe:valid" result="pass"/><test-case name="1682NISTXML-SV-IV-atomic-nonNegativeInteger-minExclusive-4-3 tokoe:valid" result="pass"/><test-case name="1683NISTXML-SV-IV-atomic-nonNegativeInteger-minExclusive-4-4 tokoe:valid" result="pass"/><test-case name="1684NISTXML-SV-IV-atomic-nonNegativeInteger-minExclusive-4-5 tokoe:valid" result="pass"/><test-case name="1685NISTSchema-SV-IV-atomic-nonNegativeInteger-minExclusive-5 tokoe:valid" result="pass"/><test-case name="1686NISTXML-SV-IV-atomic-nonNegativeInteger-minExclusive-5-1 tokoe:valid" result="pass"/><test-case name="1687NISTSchema-SV-IV-atomic-nonNegativeInteger-minInclusive-1 tokoe:valid" result="pass"/><test-case name="1688NISTXML-SV-IV-atomic-nonNegativeInteger-minInclusive-1-1 tokoe:valid" result="pass"/><test-case name="1689NISTXML-SV-IV-atomic-nonNegativeInteger-minInclusive-1-2 tokoe:valid" result="pass"/><test-case name="1690NISTXML-SV-IV-atomic-nonNegativeInteger-minInclusive-1-3 tokoe:valid" result="pass"/><test-case name="1691NISTXML-SV-IV-atomic-nonNegativeInteger-minInclusive-1-4 tokoe:valid" result="pass"/><test-case name="1692NISTXML-SV-IV-atomic-nonNegativeInteger-minInclusive-1-5 tokoe:valid" result="pass"/><test-case name="1693NISTSchema-SV-IV-atomic-nonNegativeInteger-minInclusive-2 tokoe:valid" result="pass"/><test-case name="1694NISTXML-SV-IV-atomic-nonNegativeInteger-minInclusive-2-1 tokoe:valid" result="pass"/><test-case name="1695NISTXML-SV-IV-atomic-nonNegativeInteger-minInclusive-2-2 tokoe:valid" result="pass"/><test-case name="1696NISTXML-SV-IV-atomic-nonNegativeInteger-minInclusive-2-3 tokoe:valid" result="pass"/><test-case name="1697NISTXML-SV-IV-atomic-nonNegativeInteger-minInclusive-2-4 tokoe:valid" result="pass"/><test-case name="1698NISTXML-SV-IV-atomic-nonNegativeInteger-minInclusive-2-5 tokoe:valid" result="pass"/><test-case name="1699NISTSchema-SV-IV-atomic-nonNegativeInteger-minInclusive-3 tokoe:valid" result="pass"/><test-case name="1700NISTXML-SV-IV-atomic-nonNegativeInteger-minInclusive-3-1 tokoe:valid" result="pass"/><test-case name="1701NISTXML-SV-IV-atomic-nonNegativeInteger-minInclusive-3-2 tokoe:valid" result="pass"/><test-case name="1702NISTXML-SV-IV-atomic-nonNegativeInteger-minInclusive-3-3 tokoe:valid" result="pass"/><test-case name="1703NISTXML-SV-IV-atomic-nonNegativeInteger-minInclusive-3-4 tokoe:valid" result="pass"/><test-case name="1704NISTXML-SV-IV-atomic-nonNegativeInteger-minInclusive-3-5 tokoe:valid" result="pass"/><test-case name="1705NISTSchema-SV-IV-atomic-nonNegativeInteger-minInclusive-4 tokoe:valid" result="pass"/><test-case name="1706NISTXML-SV-IV-atomic-nonNegativeInteger-minInclusive-4-1 tokoe:valid" result="pass"/><test-case name="1707NISTXML-SV-IV-atomic-nonNegativeInteger-minInclusive-4-2 tokoe:valid" result="pass"/><test-case name="1708NISTXML-SV-IV-atomic-nonNegativeInteger-minInclusive-4-3 tokoe:valid" result="pass"/><test-case name="1709NISTXML-SV-IV-atomic-nonNegativeInteger-minInclusive-4-4 tokoe:valid" result="pass"/><test-case name="1710NISTXML-SV-IV-atomic-nonNegativeInteger-minInclusive-4-5 tokoe:valid" result="pass"/><test-case name="1711NISTSchema-SV-IV-atomic-nonNegativeInteger-minInclusive-5 tokoe:valid" result="pass"/><test-case name="1712NISTXML-SV-IV-atomic-nonNegativeInteger-minInclusive-5-1 tokoe:valid" result="pass"/><test-case name="1713NISTSchema-SV-IV-atomic-nonNegativeInteger-maxExclusive-1 tokoe:valid" result="pass"/><test-case name="1714NISTXML-SV-IV-atomic-nonNegativeInteger-maxExclusive-1-1 tokoe:valid" result="pass"/><test-case name="1715NISTSchema-SV-IV-atomic-nonNegativeInteger-maxExclusive-2 tokoe:valid" result="pass"/><test-case name="1716NISTXML-SV-IV-atomic-nonNegativeInteger-maxExclusive-2-1 tokoe:valid" result="pass"/><test-case name="1717NISTXML-SV-IV-atomic-nonNegativeInteger-maxExclusive-2-2 tokoe:valid" result="pass"/><test-case name="1718NISTXML-SV-IV-atomic-nonNegativeInteger-maxExclusive-2-3 tokoe:valid" result="pass"/><test-case name="1719NISTXML-SV-IV-atomic-nonNegativeInteger-maxExclusive-2-4 tokoe:valid" result="pass"/><test-case name="1720NISTXML-SV-IV-atomic-nonNegativeInteger-maxExclusive-2-5 tokoe:valid" result="pass"/><test-case name="1721NISTSchema-SV-IV-atomic-nonNegativeInteger-maxExclusive-3 tokoe:valid" result="pass"/><test-case name="1722NISTXML-SV-IV-atomic-nonNegativeInteger-maxExclusive-3-1 tokoe:valid" result="pass"/><test-case name="1723NISTXML-SV-IV-atomic-nonNegativeInteger-maxExclusive-3-2 tokoe:valid" result="pass"/><test-case name="1724NISTXML-SV-IV-atomic-nonNegativeInteger-maxExclusive-3-3 tokoe:valid" result="pass"/><test-case name="1725NISTXML-SV-IV-atomic-nonNegativeInteger-maxExclusive-3-4 tokoe:valid" result="pass"/><test-case name="1726NISTXML-SV-IV-atomic-nonNegativeInteger-maxExclusive-3-5 tokoe:valid" result="pass"/><test-case name="1727NISTSchema-SV-IV-atomic-nonNegativeInteger-maxExclusive-4 tokoe:valid" result="pass"/><test-case name="1728NISTXML-SV-IV-atomic-nonNegativeInteger-maxExclusive-4-1 tokoe:valid" result="pass"/><test-case name="1729NISTXML-SV-IV-atomic-nonNegativeInteger-maxExclusive-4-2 tokoe:valid" result="pass"/><test-case name="1730NISTXML-SV-IV-atomic-nonNegativeInteger-maxExclusive-4-3 tokoe:valid" result="pass"/><test-case name="1731NISTXML-SV-IV-atomic-nonNegativeInteger-maxExclusive-4-4 tokoe:valid" result="pass"/><test-case name="1732NISTXML-SV-IV-atomic-nonNegativeInteger-maxExclusive-4-5 tokoe:valid" result="pass"/><test-case name="1733NISTSchema-SV-IV-atomic-nonNegativeInteger-maxExclusive-5 tokoe:valid" result="pass"/><test-case name="1734NISTXML-SV-IV-atomic-nonNegativeInteger-maxExclusive-5-1 tokoe:valid" result="pass"/><test-case name="1735NISTXML-SV-IV-atomic-nonNegativeInteger-maxExclusive-5-2 tokoe:valid" result="pass"/><test-case name="1736NISTXML-SV-IV-atomic-nonNegativeInteger-maxExclusive-5-3 tokoe:valid" result="pass"/><test-case name="1737NISTXML-SV-IV-atomic-nonNegativeInteger-maxExclusive-5-4 tokoe:valid" result="pass"/><test-case name="1738NISTXML-SV-IV-atomic-nonNegativeInteger-maxExclusive-5-5 tokoe:valid" result="pass"/><test-case name="1739NISTSchema-SV-IV-atomic-nonNegativeInteger-maxInclusive-1 tokoe:valid" result="pass"/><test-case name="1740NISTXML-SV-IV-atomic-nonNegativeInteger-maxInclusive-1-1 tokoe:valid" result="pass"/><test-case name="1741NISTSchema-SV-IV-atomic-nonNegativeInteger-maxInclusive-2 tokoe:valid" result="pass"/><test-case name="1742NISTXML-SV-IV-atomic-nonNegativeInteger-maxInclusive-2-1 tokoe:valid" result="pass"/><test-case name="1743NISTXML-SV-IV-atomic-nonNegativeInteger-maxInclusive-2-2 tokoe:valid" result="pass"/><test-case name="1744NISTXML-SV-IV-atomic-nonNegativeInteger-maxInclusive-2-3 tokoe:valid" result="pass"/><test-case name="1745NISTXML-SV-IV-atomic-nonNegativeInteger-maxInclusive-2-4 tokoe:valid" result="pass"/><test-case name="1746NISTXML-SV-IV-atomic-nonNegativeInteger-maxInclusive-2-5 tokoe:valid" result="pass"/><test-case name="1747NISTSchema-SV-IV-atomic-nonNegativeInteger-maxInclusive-3 tokoe:valid" result="pass"/><test-case name="1748NISTXML-SV-IV-atomic-nonNegativeInteger-maxInclusive-3-1 tokoe:valid" result="pass"/><test-case name="1749NISTXML-SV-IV-atomic-nonNegativeInteger-maxInclusive-3-2 tokoe:valid" result="pass"/><test-case name="1750NISTXML-SV-IV-atomic-nonNegativeInteger-maxInclusive-3-3 tokoe:valid" result="pass"/><test-case name="1751NISTXML-SV-IV-atomic-nonNegativeInteger-maxInclusive-3-4 tokoe:valid" result="pass"/><test-case name="1752NISTXML-SV-IV-atomic-nonNegativeInteger-maxInclusive-3-5 tokoe:valid" result="pass"/><test-case name="1753NISTSchema-SV-IV-atomic-nonNegativeInteger-maxInclusive-4 tokoe:valid" result="pass"/><test-case name="1754NISTXML-SV-IV-atomic-nonNegativeInteger-maxInclusive-4-1 tokoe:valid" result="pass"/><test-case name="1755NISTXML-SV-IV-atomic-nonNegativeInteger-maxInclusive-4-2 tokoe:valid" result="pass"/><test-case name="1756NISTXML-SV-IV-atomic-nonNegativeInteger-maxInclusive-4-3 tokoe:valid" result="pass"/><test-case name="1757NISTXML-SV-IV-atomic-nonNegativeInteger-maxInclusive-4-4 tokoe:valid" result="pass"/><test-case name="1758NISTXML-SV-IV-atomic-nonNegativeInteger-maxInclusive-4-5 tokoe:valid" result="pass"/><test-case name="1759NISTSchema-SV-IV-atomic-nonNegativeInteger-maxInclusive-5 tokoe:valid" result="pass"/><test-case name="1760NISTXML-SV-IV-atomic-nonNegativeInteger-maxInclusive-5-1 tokoe:valid" result="pass"/><test-case name="1761NISTXML-SV-IV-atomic-nonNegativeInteger-maxInclusive-5-2 tokoe:valid" result="pass"/><test-case name="1762NISTXML-SV-IV-atomic-nonNegativeInteger-maxInclusive-5-3 tokoe:valid" result="pass"/><test-case name="1763NISTXML-SV-IV-atomic-nonNegativeInteger-maxInclusive-5-4 tokoe:valid" result="pass"/><test-case name="1764NISTXML-SV-IV-atomic-nonNegativeInteger-maxInclusive-5-5 tokoe:valid" result="pass"/><test-case name="1765NISTSchema-SV-IV-atomic-nonNegativeInteger-fractionDigits-1 tokoe:valid" result="pass"/><test-case name="1766NISTXML-SV-IV-atomic-nonNegativeInteger-fractionDigits-1-1 tokoe:valid" result="pass"/><test-case name="1767NISTXML-SV-IV-atomic-nonNegativeInteger-fractionDigits-1-2 tokoe:valid" result="pass"/><test-case name="1768NISTXML-SV-IV-atomic-nonNegativeInteger-fractionDigits-1-3 tokoe:valid" result="pass"/><test-case name="1769NISTXML-SV-IV-atomic-nonNegativeInteger-fractionDigits-1-4 tokoe:valid" result="pass"/><test-case name="1770NISTXML-SV-IV-atomic-nonNegativeInteger-fractionDigits-1-5 tokoe:valid" result="pass"/><test-case name="1771NISTSchema-SV-IV-atomic-nonNegativeInteger-totalDigits-1 tokoe:valid" result="pass"/><test-case name="1772NISTXML-SV-IV-atomic-nonNegativeInteger-totalDigits-1-1 tokoe:valid" result="pass"/><test-case name="1773NISTXML-SV-IV-atomic-nonNegativeInteger-totalDigits-1-2 tokoe:valid" result="pass"/><test-case name="1774NISTXML-SV-IV-atomic-nonNegativeInteger-totalDigits-1-3 tokoe:valid" result="pass"/><test-case name="1775NISTXML-SV-IV-atomic-nonNegativeInteger-totalDigits-1-4 tokoe:valid" result="pass"/><test-case name="1776NISTXML-SV-IV-atomic-nonNegativeInteger-totalDigits-1-5 tokoe:valid" result="pass"/><test-case name="1777NISTSchema-SV-IV-atomic-nonNegativeInteger-totalDigits-2 tokoe:valid" result="pass"/><test-case name="1778NISTXML-SV-IV-atomic-nonNegativeInteger-totalDigits-2-1 tokoe:valid" result="pass"/><test-case name="1779NISTXML-SV-IV-atomic-nonNegativeInteger-totalDigits-2-2 tokoe:valid" result="pass"/><test-case name="1780NISTXML-SV-IV-atomic-nonNegativeInteger-totalDigits-2-3 tokoe:valid" result="pass"/><test-case name="1781NISTXML-SV-IV-atomic-nonNegativeInteger-totalDigits-2-4 tokoe:valid" result="pass"/><test-case name="1782NISTXML-SV-IV-atomic-nonNegativeInteger-totalDigits-2-5 tokoe:valid" result="pass"/><test-case name="1783NISTSchema-SV-IV-atomic-nonNegativeInteger-totalDigits-3 tokoe:valid" result="pass"/><test-case name="1784NISTXML-SV-IV-atomic-nonNegativeInteger-totalDigits-3-1 tokoe:valid" result="pass"/><test-case name="1785NISTXML-SV-IV-atomic-nonNegativeInteger-totalDigits-3-2 tokoe:valid" result="pass"/><test-case name="1786NISTXML-SV-IV-atomic-nonNegativeInteger-totalDigits-3-3 tokoe:valid" result="pass"/><test-case name="1787NISTXML-SV-IV-atomic-nonNegativeInteger-totalDigits-3-4 tokoe:valid" result="pass"/><test-case name="1788NISTXML-SV-IV-atomic-nonNegativeInteger-totalDigits-3-5 tokoe:valid" result="pass"/><test-case name="1789NISTSchema-SV-IV-atomic-nonNegativeInteger-totalDigits-4 tokoe:valid" result="pass"/><test-case name="1790NISTXML-SV-IV-atomic-nonNegativeInteger-totalDigits-4-1 tokoe:valid" result="pass"/><test-case name="1791NISTXML-SV-IV-atomic-nonNegativeInteger-totalDigits-4-2 tokoe:valid" result="pass"/><test-case name="1792NISTXML-SV-IV-atomic-nonNegativeInteger-totalDigits-4-3 tokoe:valid" result="pass"/><test-case name="1793NISTXML-SV-IV-atomic-nonNegativeInteger-totalDigits-4-4 tokoe:valid" result="pass"/><test-case name="1794NISTXML-SV-IV-atomic-nonNegativeInteger-totalDigits-4-5 tokoe:valid" result="pass"/><test-case name="1795NISTSchema-SV-IV-atomic-nonNegativeInteger-totalDigits-5 tokoe:valid" result="pass"/><test-case name="1796NISTXML-SV-IV-atomic-nonNegativeInteger-totalDigits-5-1 tokoe:valid" result="pass"/><test-case name="1797NISTXML-SV-IV-atomic-nonNegativeInteger-totalDigits-5-2 tokoe:valid" result="pass"/><test-case name="1798NISTXML-SV-IV-atomic-nonNegativeInteger-totalDigits-5-3 tokoe:valid" result="pass"/><test-case name="1799NISTXML-SV-IV-atomic-nonNegativeInteger-totalDigits-5-4 tokoe:valid" result="pass"/><test-case name="1800NISTXML-SV-IV-atomic-nonNegativeInteger-totalDigits-5-5 tokoe:valid" result="pass"/><test-case name="1801NISTSchema-SV-IV-atomic-nonNegativeInteger-pattern-1 tokoe:valid" result="pass"/><test-case name="1802NISTXML-SV-IV-atomic-nonNegativeInteger-pattern-1-1 tokoe:valid" result="pass"/><test-case name="1803NISTXML-SV-IV-atomic-nonNegativeInteger-pattern-1-2 tokoe:valid" result="pass"/><test-case name="1804NISTXML-SV-IV-atomic-nonNegativeInteger-pattern-1-3 tokoe:valid" result="pass"/><test-case name="1805NISTXML-SV-IV-atomic-nonNegativeInteger-pattern-1-4 tokoe:valid" result="pass"/><test-case name="1806NISTXML-SV-IV-atomic-nonNegativeInteger-pattern-1-5 tokoe:valid" result="pass"/><test-case name="1807NISTSchema-SV-IV-atomic-nonNegativeInteger-pattern-2 tokoe:valid" result="pass"/><test-case name="1808NISTXML-SV-IV-atomic-nonNegativeInteger-pattern-2-1 tokoe:valid" result="pass"/><test-case name="1809NISTXML-SV-IV-atomic-nonNegativeInteger-pattern-2-2 tokoe:valid" result="pass"/><test-case name="1810NISTXML-SV-IV-atomic-nonNegativeInteger-pattern-2-3 tokoe:valid" result="pass"/><test-case name="1811NISTXML-SV-IV-atomic-nonNegativeInteger-pattern-2-4 tokoe:valid" result="pass"/><test-case name="1812NISTXML-SV-IV-atomic-nonNegativeInteger-pattern-2-5 tokoe:valid" result="pass"/><test-case name="1813NISTSchema-SV-IV-atomic-nonNegativeInteger-pattern-3 tokoe:valid" result="pass"/><test-case name="1814NISTXML-SV-IV-atomic-nonNegativeInteger-pattern-3-1 tokoe:valid" result="pass"/><test-case name="1815NISTXML-SV-IV-atomic-nonNegativeInteger-pattern-3-2 tokoe:valid" result="pass"/><test-case name="1816NISTXML-SV-IV-atomic-nonNegativeInteger-pattern-3-3 tokoe:valid" result="pass"/><test-case name="1817NISTXML-SV-IV-atomic-nonNegativeInteger-pattern-3-4 tokoe:valid" result="pass"/><test-case name="1818NISTXML-SV-IV-atomic-nonNegativeInteger-pattern-3-5 tokoe:valid" result="pass"/><test-case name="1819NISTSchema-SV-IV-atomic-nonNegativeInteger-pattern-4 tokoe:valid" result="pass"/><test-case name="1820NISTXML-SV-IV-atomic-nonNegativeInteger-pattern-4-1 tokoe:valid" result="pass"/><test-case name="1821NISTXML-SV-IV-atomic-nonNegativeInteger-pattern-4-2 tokoe:valid" result="pass"/><test-case name="1822NISTXML-SV-IV-atomic-nonNegativeInteger-pattern-4-3 tokoe:valid" result="pass"/><test-case name="1823NISTXML-SV-IV-atomic-nonNegativeInteger-pattern-4-4 tokoe:valid" result="pass"/><test-case name="1824NISTXML-SV-IV-atomic-nonNegativeInteger-pattern-4-5 tokoe:valid" result="pass"/><test-case name="1825NISTSchema-SV-IV-atomic-nonNegativeInteger-pattern-5 tokoe:valid" result="pass"/><test-case name="1826NISTXML-SV-IV-atomic-nonNegativeInteger-pattern-5-1 tokoe:valid" result="pass"/><test-case name="1827NISTXML-SV-IV-atomic-nonNegativeInteger-pattern-5-2 tokoe:valid" result="pass"/><test-case name="1828NISTXML-SV-IV-atomic-nonNegativeInteger-pattern-5-3 tokoe:valid" result="pass"/><test-case name="1829NISTXML-SV-IV-atomic-nonNegativeInteger-pattern-5-4 tokoe:valid" result="pass"/><test-case name="1830NISTXML-SV-IV-atomic-nonNegativeInteger-pattern-5-5 tokoe:valid" result="pass"/><test-case name="1831NISTSchema-SV-IV-atomic-nonNegativeInteger-enumeration-1 tokoe:valid" result="pass"/><test-case name="1832NISTXML-SV-IV-atomic-nonNegativeInteger-enumeration-1-1 tokoe:valid" result="pass"/><test-case name="1833NISTXML-SV-IV-atomic-nonNegativeInteger-enumeration-1-2 tokoe:valid" result="pass"/><test-case name="1834NISTXML-SV-IV-atomic-nonNegativeInteger-enumeration-1-3 tokoe:valid" result="pass"/><test-case name="1835NISTXML-SV-IV-atomic-nonNegativeInteger-enumeration-1-4 tokoe:valid" result="pass"/><test-case name="1836NISTXML-SV-IV-atomic-nonNegativeInteger-enumeration-1-5 tokoe:valid" result="pass"/><test-case name="1837NISTSchema-SV-IV-atomic-nonNegativeInteger-enumeration-2 tokoe:valid" result="pass"/><test-case name="1838NISTXML-SV-IV-atomic-nonNegativeInteger-enumeration-2-1 tokoe:valid" result="pass"/><test-case name="1839NISTXML-SV-IV-atomic-nonNegativeInteger-enumeration-2-2 tokoe:valid" result="pass"/><test-case name="1840NISTXML-SV-IV-atomic-nonNegativeInteger-enumeration-2-3 tokoe:valid" result="pass"/><test-case name="1841NISTXML-SV-IV-atomic-nonNegativeInteger-enumeration-2-4 tokoe:valid" result="pass"/><test-case name="1842NISTXML-SV-IV-atomic-nonNegativeInteger-enumeration-2-5 tokoe:valid" result="pass"/><test-case name="1843NISTSchema-SV-IV-atomic-nonNegativeInteger-enumeration-3 tokoe:valid" result="pass"/><test-case name="1844NISTXML-SV-IV-atomic-nonNegativeInteger-enumeration-3-1 tokoe:valid" result="pass"/><test-case name="1845NISTXML-SV-IV-atomic-nonNegativeInteger-enumeration-3-2 tokoe:valid" result="pass"/><test-case name="1846NISTXML-SV-IV-atomic-nonNegativeInteger-enumeration-3-3 tokoe:valid" result="pass"/><test-case name="1847NISTXML-SV-IV-atomic-nonNegativeInteger-enumeration-3-4 tokoe:valid" result="pass"/><test-case name="1848NISTXML-SV-IV-atomic-nonNegativeInteger-enumeration-3-5 tokoe:valid" result="pass"/><test-case name="1849NISTSchema-SV-IV-atomic-nonNegativeInteger-enumeration-4 tokoe:valid" result="pass"/><test-case name="1850NISTXML-SV-IV-atomic-nonNegativeInteger-enumeration-4-1 tokoe:valid" result="pass"/><test-case name="1851NISTXML-SV-IV-atomic-nonNegativeInteger-enumeration-4-2 tokoe:valid" result="pass"/><test-case name="1852NISTXML-SV-IV-atomic-nonNegativeInteger-enumeration-4-3 tokoe:valid" result="pass"/><test-case name="1853NISTXML-SV-IV-atomic-nonNegativeInteger-enumeration-4-4 tokoe:valid" result="pass"/><test-case name="1854NISTXML-SV-IV-atomic-nonNegativeInteger-enumeration-4-5 tokoe:valid" result="pass"/><test-case name="1855NISTSchema-SV-IV-atomic-nonNegativeInteger-enumeration-5 tokoe:valid" result="pass"/><test-case name="1856NISTXML-SV-IV-atomic-nonNegativeInteger-enumeration-5-1 tokoe:valid" result="pass"/><test-case name="1857NISTXML-SV-IV-atomic-nonNegativeInteger-enumeration-5-2 tokoe:valid" result="pass"/><test-case name="1858NISTXML-SV-IV-atomic-nonNegativeInteger-enumeration-5-3 tokoe:valid" result="pass"/><test-case name="1859NISTXML-SV-IV-atomic-nonNegativeInteger-enumeration-5-4 tokoe:valid" result="pass"/><test-case name="1860NISTXML-SV-IV-atomic-nonNegativeInteger-enumeration-5-5 tokoe:valid" result="pass"/><test-case name="1861NISTSchema-SV-IV-atomic-nonNegativeInteger-whiteSpace-1 tokoe:valid" result="pass"/><test-case name="1862NISTXML-SV-IV-atomic-nonNegativeInteger-whiteSpace-1-1 tokoe:valid" result="pass"/><test-case name="1863NISTXML-SV-IV-atomic-nonNegativeInteger-whiteSpace-1-2 tokoe:valid" result="pass"/><test-case name="1864NISTXML-SV-IV-atomic-nonNegativeInteger-whiteSpace-1-3 tokoe:valid" result="pass"/><test-case name="1865NISTXML-SV-IV-atomic-nonNegativeInteger-whiteSpace-1-4 tokoe:valid" result="pass"/><test-case name="1866NISTXML-SV-IV-atomic-nonNegativeInteger-whiteSpace-1-5 tokoe:valid" result="pass"/><test-case name="1867NISTSchema-SV-IV-atomic-unsignedLong-minExclusive-1 tokoe:valid" result="pass"/><test-case name="1868NISTXML-SV-IV-atomic-unsignedLong-minExclusive-1-1 tokoe:valid" result="pass"/><test-case name="1869NISTXML-SV-IV-atomic-unsignedLong-minExclusive-1-2 tokoe:valid" result="pass"/><test-case name="1870NISTXML-SV-IV-atomic-unsignedLong-minExclusive-1-3 tokoe:valid" result="pass"/><test-case name="1871NISTXML-SV-IV-atomic-unsignedLong-minExclusive-1-4 tokoe:valid" result="pass"/><test-case name="1872NISTXML-SV-IV-atomic-unsignedLong-minExclusive-1-5 tokoe:valid" result="pass"/><test-case name="1873NISTSchema-SV-IV-atomic-unsignedLong-minExclusive-2 tokoe:valid" result="pass"/><test-case name="1874NISTXML-SV-IV-atomic-unsignedLong-minExclusive-2-1 tokoe:valid" result="pass"/><test-case name="1875NISTXML-SV-IV-atomic-unsignedLong-minExclusive-2-2 tokoe:valid" result="pass"/><test-case name="1876NISTXML-SV-IV-atomic-unsignedLong-minExclusive-2-3 tokoe:valid" result="pass"/><test-case name="1877NISTXML-SV-IV-atomic-unsignedLong-minExclusive-2-4 tokoe:valid" result="pass"/><test-case name="1878NISTXML-SV-IV-atomic-unsignedLong-minExclusive-2-5 tokoe:valid" result="pass"/><test-case name="1879NISTSchema-SV-IV-atomic-unsignedLong-minExclusive-3 tokoe:valid" result="pass"/><test-case name="1880NISTXML-SV-IV-atomic-unsignedLong-minExclusive-3-1 tokoe:valid" result="pass"/><test-case name="1881NISTXML-SV-IV-atomic-unsignedLong-minExclusive-3-2 tokoe:valid" result="pass"/><test-case name="1882NISTXML-SV-IV-atomic-unsignedLong-minExclusive-3-3 tokoe:valid" result="pass"/><test-case name="1883NISTXML-SV-IV-atomic-unsignedLong-minExclusive-3-4 tokoe:valid" result="pass"/><test-case name="1884NISTXML-SV-IV-atomic-unsignedLong-minExclusive-3-5 tokoe:valid" result="pass"/><test-case name="1885NISTSchema-SV-IV-atomic-unsignedLong-minExclusive-4 tokoe:valid" result="pass"/><test-case name="1886NISTXML-SV-IV-atomic-unsignedLong-minExclusive-4-1 tokoe:valid" result="pass"/><test-case name="1887NISTXML-SV-IV-atomic-unsignedLong-minExclusive-4-2 tokoe:valid" result="pass"/><test-case name="1888NISTXML-SV-IV-atomic-unsignedLong-minExclusive-4-3 tokoe:valid" result="pass"/><test-case name="1889NISTXML-SV-IV-atomic-unsignedLong-minExclusive-4-4 tokoe:valid" result="pass"/><test-case name="1890NISTXML-SV-IV-atomic-unsignedLong-minExclusive-4-5 tokoe:valid" result="pass"/><test-case name="1891NISTSchema-SV-IV-atomic-unsignedLong-minExclusive-5 tokoe:valid" result="pass"/><test-case name="1892NISTXML-SV-IV-atomic-unsignedLong-minExclusive-5-1 tokoe:valid" result="pass"/><test-case name="1893NISTSchema-SV-IV-atomic-unsignedLong-minInclusive-1 tokoe:valid" result="pass"/><test-case name="1894NISTXML-SV-IV-atomic-unsignedLong-minInclusive-1-1 tokoe:valid" result="pass"/><test-case name="1895NISTXML-SV-IV-atomic-unsignedLong-minInclusive-1-2 tokoe:valid" result="pass"/><test-case name="1896NISTXML-SV-IV-atomic-unsignedLong-minInclusive-1-3 tokoe:valid" result="pass"/><test-case name="1897NISTXML-SV-IV-atomic-unsignedLong-minInclusive-1-4 tokoe:valid" result="pass"/><test-case name="1898NISTXML-SV-IV-atomic-unsignedLong-minInclusive-1-5 tokoe:valid" result="pass"/><test-case name="1899NISTSchema-SV-IV-atomic-unsignedLong-minInclusive-2 tokoe:valid" result="pass"/><test-case name="1900NISTXML-SV-IV-atomic-unsignedLong-minInclusive-2-1 tokoe:valid" result="pass"/><test-case name="1901NISTXML-SV-IV-atomic-unsignedLong-minInclusive-2-2 tokoe:valid" result="pass"/><test-case name="1902NISTXML-SV-IV-atomic-unsignedLong-minInclusive-2-3 tokoe:valid" result="pass"/><test-case name="1903NISTXML-SV-IV-atomic-unsignedLong-minInclusive-2-4 tokoe:valid" result="pass"/><test-case name="1904NISTXML-SV-IV-atomic-unsignedLong-minInclusive-2-5 tokoe:valid" result="pass"/><test-case name="1905NISTSchema-SV-IV-atomic-unsignedLong-minInclusive-3 tokoe:valid" result="pass"/><test-case name="1906NISTXML-SV-IV-atomic-unsignedLong-minInclusive-3-1 tokoe:valid" result="pass"/><test-case name="1907NISTXML-SV-IV-atomic-unsignedLong-minInclusive-3-2 tokoe:valid" result="pass"/><test-case name="1908NISTXML-SV-IV-atomic-unsignedLong-minInclusive-3-3 tokoe:valid" result="pass"/><test-case name="1909NISTXML-SV-IV-atomic-unsignedLong-minInclusive-3-4 tokoe:valid" result="pass"/><test-case name="1910NISTXML-SV-IV-atomic-unsignedLong-minInclusive-3-5 tokoe:valid" result="pass"/><test-case name="1911NISTSchema-SV-IV-atomic-unsignedLong-minInclusive-4 tokoe:valid" result="pass"/><test-case name="1912NISTXML-SV-IV-atomic-unsignedLong-minInclusive-4-1 tokoe:valid" result="pass"/><test-case name="1913NISTXML-SV-IV-atomic-unsignedLong-minInclusive-4-2 tokoe:valid" result="pass"/><test-case name="1914NISTXML-SV-IV-atomic-unsignedLong-minInclusive-4-3 tokoe:valid" result="pass"/><test-case name="1915NISTXML-SV-IV-atomic-unsignedLong-minInclusive-4-4 tokoe:valid" result="pass"/><test-case name="1916NISTXML-SV-IV-atomic-unsignedLong-minInclusive-4-5 tokoe:valid" result="pass"/><test-case name="1917NISTSchema-SV-IV-atomic-unsignedLong-minInclusive-5 tokoe:valid" result="pass"/><test-case name="1918NISTXML-SV-IV-atomic-unsignedLong-minInclusive-5-1 tokoe:valid" result="pass"/><test-case name="1919NISTSchema-SV-IV-atomic-unsignedLong-maxExclusive-1 tokoe:valid" result="pass"/><test-case name="1920NISTXML-SV-IV-atomic-unsignedLong-maxExclusive-1-1 tokoe:valid" result="pass"/><test-case name="1921NISTSchema-SV-IV-atomic-unsignedLong-maxExclusive-2 tokoe:valid" result="pass"/><test-case name="1922NISTXML-SV-IV-atomic-unsignedLong-maxExclusive-2-1 tokoe:valid" result="pass"/><test-case name="1923NISTXML-SV-IV-atomic-unsignedLong-maxExclusive-2-2 tokoe:valid" result="pass"/><test-case name="1924NISTXML-SV-IV-atomic-unsignedLong-maxExclusive-2-3 tokoe:valid" result="pass"/><test-case name="1925NISTXML-SV-IV-atomic-unsignedLong-maxExclusive-2-4 tokoe:valid" result="pass"/><test-case name="1926NISTXML-SV-IV-atomic-unsignedLong-maxExclusive-2-5 tokoe:valid" result="pass"/><test-case name="1927NISTSchema-SV-IV-atomic-unsignedLong-maxExclusive-3 tokoe:valid" result="pass"/><test-case name="1928NISTXML-SV-IV-atomic-unsignedLong-maxExclusive-3-1 tokoe:valid" result="pass"/><test-case name="1929NISTXML-SV-IV-atomic-unsignedLong-maxExclusive-3-2 tokoe:valid" result="pass"/><test-case name="1930NISTXML-SV-IV-atomic-unsignedLong-maxExclusive-3-3 tokoe:valid" result="pass"/><test-case name="1931NISTXML-SV-IV-atomic-unsignedLong-maxExclusive-3-4 tokoe:valid" result="pass"/><test-case name="1932NISTXML-SV-IV-atomic-unsignedLong-maxExclusive-3-5 tokoe:valid" result="pass"/><test-case name="1933NISTSchema-SV-IV-atomic-unsignedLong-maxExclusive-4 tokoe:valid" result="pass"/><test-case name="1934NISTXML-SV-IV-atomic-unsignedLong-maxExclusive-4-1 tokoe:valid" result="pass"/><test-case name="1935NISTXML-SV-IV-atomic-unsignedLong-maxExclusive-4-2 tokoe:valid" result="pass"/><test-case name="1936NISTXML-SV-IV-atomic-unsignedLong-maxExclusive-4-3 tokoe:valid" result="pass"/><test-case name="1937NISTXML-SV-IV-atomic-unsignedLong-maxExclusive-4-4 tokoe:valid" result="pass"/><test-case name="1938NISTXML-SV-IV-atomic-unsignedLong-maxExclusive-4-5 tokoe:valid" result="pass"/><test-case name="1939NISTSchema-SV-IV-atomic-unsignedLong-maxExclusive-5 tokoe:valid" result="pass"/><test-case name="1940NISTXML-SV-IV-atomic-unsignedLong-maxExclusive-5-1 tokoe:valid" result="pass"/><test-case name="1941NISTXML-SV-IV-atomic-unsignedLong-maxExclusive-5-2 tokoe:valid" result="pass"/><test-case name="1942NISTXML-SV-IV-atomic-unsignedLong-maxExclusive-5-3 tokoe:valid" result="pass"/><test-case name="1943NISTXML-SV-IV-atomic-unsignedLong-maxExclusive-5-4 tokoe:valid" result="pass"/><test-case name="1944NISTXML-SV-IV-atomic-unsignedLong-maxExclusive-5-5 tokoe:valid" result="pass"/><test-case name="1945NISTSchema-SV-IV-atomic-unsignedLong-maxInclusive-1 tokoe:valid" result="pass"/><test-case name="1946NISTXML-SV-IV-atomic-unsignedLong-maxInclusive-1-1 tokoe:valid" result="pass"/><test-case name="1947NISTSchema-SV-IV-atomic-unsignedLong-maxInclusive-2 tokoe:valid" result="pass"/><test-case name="1948NISTXML-SV-IV-atomic-unsignedLong-maxInclusive-2-1 tokoe:valid" result="pass"/><test-case name="1949NISTXML-SV-IV-atomic-unsignedLong-maxInclusive-2-2 tokoe:valid" result="pass"/><test-case name="1950NISTXML-SV-IV-atomic-unsignedLong-maxInclusive-2-3 tokoe:valid" result="pass"/><test-case name="1951NISTXML-SV-IV-atomic-unsignedLong-maxInclusive-2-4 tokoe:valid" result="pass"/><test-case name="1952NISTXML-SV-IV-atomic-unsignedLong-maxInclusive-2-5 tokoe:valid" result="pass"/><test-case name="1953NISTSchema-SV-IV-atomic-unsignedLong-maxInclusive-3 tokoe:valid" result="pass"/><test-case name="1954NISTXML-SV-IV-atomic-unsignedLong-maxInclusive-3-1 tokoe:valid" result="pass"/><test-case name="1955NISTXML-SV-IV-atomic-unsignedLong-maxInclusive-3-2 tokoe:valid" result="pass"/><test-case name="1956NISTXML-SV-IV-atomic-unsignedLong-maxInclusive-3-3 tokoe:valid" result="pass"/><test-case name="1957NISTXML-SV-IV-atomic-unsignedLong-maxInclusive-3-4 tokoe:valid" result="pass"/><test-case name="1958NISTXML-SV-IV-atomic-unsignedLong-maxInclusive-3-5 tokoe:valid" result="pass"/><test-case name="1959NISTSchema-SV-IV-atomic-unsignedLong-maxInclusive-4 tokoe:valid" result="pass"/><test-case name="1960NISTXML-SV-IV-atomic-unsignedLong-maxInclusive-4-1 tokoe:valid" result="pass"/><test-case name="1961NISTXML-SV-IV-atomic-unsignedLong-maxInclusive-4-2 tokoe:valid" result="pass"/><test-case name="1962NISTXML-SV-IV-atomic-unsignedLong-maxInclusive-4-3 tokoe:valid" result="pass"/><test-case name="1963NISTXML-SV-IV-atomic-unsignedLong-maxInclusive-4-4 tokoe:valid" result="pass"/><test-case name="1964NISTXML-SV-IV-atomic-unsignedLong-maxInclusive-4-5 tokoe:valid" result="pass"/><test-case name="1965NISTSchema-SV-IV-atomic-unsignedLong-maxInclusive-5 tokoe:valid" result="pass"/><test-case name="1966NISTXML-SV-IV-atomic-unsignedLong-maxInclusive-5-1 tokoe:valid" result="pass"/><test-case name="1967NISTXML-SV-IV-atomic-unsignedLong-maxInclusive-5-2 tokoe:valid" result="pass"/><test-case name="1968NISTXML-SV-IV-atomic-unsignedLong-maxInclusive-5-3 tokoe:valid" result="pass"/><test-case name="1969NISTXML-SV-IV-atomic-unsignedLong-maxInclusive-5-4 tokoe:valid" result="pass"/><test-case name="1970NISTXML-SV-IV-atomic-unsignedLong-maxInclusive-5-5 tokoe:valid" result="pass"/><test-case name="1971NISTSchema-SV-IV-atomic-unsignedLong-fractionDigits-1 tokoe:valid" result="pass"/><test-case name="1972NISTXML-SV-IV-atomic-unsignedLong-fractionDigits-1-1 tokoe:valid" result="pass"/><test-case name="1973NISTXML-SV-IV-atomic-unsignedLong-fractionDigits-1-2 tokoe:valid" result="pass"/><test-case name="1974NISTXML-SV-IV-atomic-unsignedLong-fractionDigits-1-3 tokoe:valid" result="pass"/><test-case name="1975NISTXML-SV-IV-atomic-unsignedLong-fractionDigits-1-4 tokoe:valid" result="pass"/><test-case name="1976NISTXML-SV-IV-atomic-unsignedLong-fractionDigits-1-5 tokoe:valid" result="pass"/><test-case name="1977NISTSchema-SV-IV-atomic-unsignedLong-totalDigits-1 tokoe:valid" result="pass"/><test-case name="1978NISTXML-SV-IV-atomic-unsignedLong-totalDigits-1-1 tokoe:valid" result="pass"/><test-case name="1979NISTXML-SV-IV-atomic-unsignedLong-totalDigits-1-2 tokoe:valid" result="pass"/><test-case name="1980NISTXML-SV-IV-atomic-unsignedLong-totalDigits-1-3 tokoe:valid" result="pass"/><test-case name="1981NISTXML-SV-IV-atomic-unsignedLong-totalDigits-1-4 tokoe:valid" result="pass"/><test-case name="1982NISTXML-SV-IV-atomic-unsignedLong-totalDigits-1-5 tokoe:valid" result="pass"/><test-case name="1983NISTSchema-SV-IV-atomic-unsignedLong-totalDigits-2 tokoe:valid" result="pass"/><test-case name="1984NISTXML-SV-IV-atomic-unsignedLong-totalDigits-2-1 tokoe:valid" result="pass"/><test-case name="1985NISTXML-SV-IV-atomic-unsignedLong-totalDigits-2-2 tokoe:valid" result="pass"/><test-case name="1986NISTXML-SV-IV-atomic-unsignedLong-totalDigits-2-3 tokoe:valid" result="pass"/><test-case name="1987NISTXML-SV-IV-atomic-unsignedLong-totalDigits-2-4 tokoe:valid" result="pass"/><test-case name="1988NISTXML-SV-IV-atomic-unsignedLong-totalDigits-2-5 tokoe:valid" result="pass"/><test-case name="1989NISTSchema-SV-IV-atomic-unsignedLong-totalDigits-3 tokoe:valid" result="pass"/><test-case name="1990NISTXML-SV-IV-atomic-unsignedLong-totalDigits-3-1 tokoe:valid" result="pass"/><test-case name="1991NISTXML-SV-IV-atomic-unsignedLong-totalDigits-3-2 tokoe:valid" result="pass"/><test-case name="1992NISTXML-SV-IV-atomic-unsignedLong-totalDigits-3-3 tokoe:valid" result="pass"/><test-case name="1993NISTXML-SV-IV-atomic-unsignedLong-totalDigits-3-4 tokoe:valid" result="pass"/><test-case name="1994NISTXML-SV-IV-atomic-unsignedLong-totalDigits-3-5 tokoe:valid" result="pass"/><test-case name="1995NISTSchema-SV-IV-atomic-unsignedLong-totalDigits-4 tokoe:valid" result="pass"/><test-case name="1996NISTXML-SV-IV-atomic-unsignedLong-totalDigits-4-1 tokoe:valid" result="pass"/><test-case name="1997NISTXML-SV-IV-atomic-unsignedLong-totalDigits-4-2 tokoe:valid" result="pass"/><test-case name="1998NISTXML-SV-IV-atomic-unsignedLong-totalDigits-4-3 tokoe:valid" result="pass"/><test-case name="1999NISTXML-SV-IV-atomic-unsignedLong-totalDigits-4-4 tokoe:valid" result="pass"/><test-case name="2000NISTXML-SV-IV-atomic-unsignedLong-totalDigits-4-5 tokoe:valid" result="pass"/><test-case name="2001NISTSchema-SV-IV-atomic-unsignedLong-totalDigits-5 tokoe:valid" result="pass"/><test-case name="2002NISTXML-SV-IV-atomic-unsignedLong-totalDigits-5-1 tokoe:valid" result="pass"/><test-case name="2003NISTXML-SV-IV-atomic-unsignedLong-totalDigits-5-2 tokoe:valid" result="pass"/><test-case name="2004NISTXML-SV-IV-atomic-unsignedLong-totalDigits-5-3 tokoe:valid" result="pass"/><test-case name="2005NISTXML-SV-IV-atomic-unsignedLong-totalDigits-5-4 tokoe:valid" result="pass"/><test-case name="2006NISTXML-SV-IV-atomic-unsignedLong-totalDigits-5-5 tokoe:valid" result="pass"/><test-case name="2007NISTSchema-SV-IV-atomic-unsignedLong-pattern-1 tokoe:valid" result="pass"/><test-case name="2008NISTXML-SV-IV-atomic-unsignedLong-pattern-1-1 tokoe:valid" result="pass"/><test-case name="2009NISTXML-SV-IV-atomic-unsignedLong-pattern-1-2 tokoe:valid" result="pass"/><test-case name="2010NISTXML-SV-IV-atomic-unsignedLong-pattern-1-3 tokoe:valid" result="pass"/><test-case name="2011NISTXML-SV-IV-atomic-unsignedLong-pattern-1-4 tokoe:valid" result="pass"/><test-case name="2012NISTXML-SV-IV-atomic-unsignedLong-pattern-1-5 tokoe:valid" result="pass"/><test-case name="2013NISTSchema-SV-IV-atomic-unsignedLong-pattern-2 tokoe:valid" result="pass"/><test-case name="2014NISTXML-SV-IV-atomic-unsignedLong-pattern-2-1 tokoe:valid" result="pass"/><test-case name="2015NISTXML-SV-IV-atomic-unsignedLong-pattern-2-2 tokoe:valid" result="pass"/><test-case name="2016NISTXML-SV-IV-atomic-unsignedLong-pattern-2-3 tokoe:valid" result="pass"/><test-case name="2017NISTXML-SV-IV-atomic-unsignedLong-pattern-2-4 tokoe:valid" result="pass"/><test-case name="2018NISTXML-SV-IV-atomic-unsignedLong-pattern-2-5 tokoe:valid" result="pass"/><test-case name="2019NISTSchema-SV-IV-atomic-unsignedLong-pattern-3 tokoe:valid" result="pass"/><test-case name="2020NISTXML-SV-IV-atomic-unsignedLong-pattern-3-1 tokoe:valid" result="pass"/><test-case name="2021NISTXML-SV-IV-atomic-unsignedLong-pattern-3-2 tokoe:valid" result="pass"/><test-case name="2022NISTXML-SV-IV-atomic-unsignedLong-pattern-3-3 tokoe:valid" result="pass"/><test-case name="2023NISTXML-SV-IV-atomic-unsignedLong-pattern-3-4 tokoe:valid" result="pass"/><test-case name="2024NISTXML-SV-IV-atomic-unsignedLong-pattern-3-5 tokoe:valid" result="pass"/><test-case name="2025NISTSchema-SV-IV-atomic-unsignedLong-pattern-4 tokoe:valid" result="pass"/><test-case name="2026NISTXML-SV-IV-atomic-unsignedLong-pattern-4-1 tokoe:valid" result="pass"/><test-case name="2027NISTXML-SV-IV-atomic-unsignedLong-pattern-4-2 tokoe:valid" result="pass"/><test-case name="2028NISTXML-SV-IV-atomic-unsignedLong-pattern-4-3 tokoe:valid" result="pass"/><test-case name="2029NISTXML-SV-IV-atomic-unsignedLong-pattern-4-4 tokoe:valid" result="pass"/><test-case name="2030NISTXML-SV-IV-atomic-unsignedLong-pattern-4-5 tokoe:valid" result="pass"/><test-case name="2031NISTSchema-SV-IV-atomic-unsignedLong-pattern-5 tokoe:valid" result="pass"/><test-case name="2032NISTXML-SV-IV-atomic-unsignedLong-pattern-5-1 tokoe:valid" result="pass"/><test-case name="2033NISTXML-SV-IV-atomic-unsignedLong-pattern-5-2 tokoe:valid" result="pass"/><test-case name="2034NISTXML-SV-IV-atomic-unsignedLong-pattern-5-3 tokoe:valid" result="pass"/><test-case name="2035NISTXML-SV-IV-atomic-unsignedLong-pattern-5-4 tokoe:valid" result="pass"/><test-case name="2036NISTXML-SV-IV-atomic-unsignedLong-pattern-5-5 tokoe:valid" result="pass"/><test-case name="2037NISTSchema-SV-IV-atomic-unsignedLong-enumeration-1 tokoe:valid" result="pass"/><test-case name="2038NISTXML-SV-IV-atomic-unsignedLong-enumeration-1-1 tokoe:valid" result="pass"/><test-case name="2039NISTXML-SV-IV-atomic-unsignedLong-enumeration-1-2 tokoe:valid" result="pass"/><test-case name="2040NISTXML-SV-IV-atomic-unsignedLong-enumeration-1-3 tokoe:valid" result="pass"/><test-case name="2041NISTXML-SV-IV-atomic-unsignedLong-enumeration-1-4 tokoe:valid" result="pass"/><test-case name="2042NISTXML-SV-IV-atomic-unsignedLong-enumeration-1-5 tokoe:valid" result="pass"/><test-case name="2043NISTSchema-SV-IV-atomic-unsignedLong-enumeration-2 tokoe:valid" result="pass"/><test-case name="2044NISTXML-SV-IV-atomic-unsignedLong-enumeration-2-1 tokoe:valid" result="pass"/><test-case name="2045NISTXML-SV-IV-atomic-unsignedLong-enumeration-2-2 tokoe:valid" result="pass"/><test-case name="2046NISTXML-SV-IV-atomic-unsignedLong-enumeration-2-3 tokoe:valid" result="pass"/><test-case name="2047NISTXML-SV-IV-atomic-unsignedLong-enumeration-2-4 tokoe:valid" result="pass"/><test-case name="2048NISTXML-SV-IV-atomic-unsignedLong-enumeration-2-5 tokoe:valid" result="pass"/><test-case name="2049NISTSchema-SV-IV-atomic-unsignedLong-enumeration-3 tokoe:valid" result="pass"/><test-case name="2050NISTXML-SV-IV-atomic-unsignedLong-enumeration-3-1 tokoe:valid" result="pass"/><test-case name="2051NISTXML-SV-IV-atomic-unsignedLong-enumeration-3-2 tokoe:valid" result="pass"/><test-case name="2052NISTXML-SV-IV-atomic-unsignedLong-enumeration-3-3 tokoe:valid" result="pass"/><test-case name="2053NISTXML-SV-IV-atomic-unsignedLong-enumeration-3-4 tokoe:valid" result="pass"/><test-case name="2054NISTXML-SV-IV-atomic-unsignedLong-enumeration-3-5 tokoe:valid" result="pass"/><test-case name="2055NISTSchema-SV-IV-atomic-unsignedLong-enumeration-4 tokoe:valid" result="pass"/><test-case name="2056NISTXML-SV-IV-atomic-unsignedLong-enumeration-4-1 tokoe:valid" result="pass"/><test-case name="2057NISTXML-SV-IV-atomic-unsignedLong-enumeration-4-2 tokoe:valid" result="pass"/><test-case name="2058NISTXML-SV-IV-atomic-unsignedLong-enumeration-4-3 tokoe:valid" result="pass"/><test-case name="2059NISTXML-SV-IV-atomic-unsignedLong-enumeration-4-4 tokoe:valid" result="pass"/><test-case name="2060NISTXML-SV-IV-atomic-unsignedLong-enumeration-4-5 tokoe:valid" result="pass"/><test-case name="2061NISTSchema-SV-IV-atomic-unsignedLong-enumeration-5 tokoe:valid" result="pass"/><test-case name="2062NISTXML-SV-IV-atomic-unsignedLong-enumeration-5-1 tokoe:valid" result="pass"/><test-case name="2063NISTXML-SV-IV-atomic-unsignedLong-enumeration-5-2 tokoe:valid" result="pass"/><test-case name="2064NISTXML-SV-IV-atomic-unsignedLong-enumeration-5-3 tokoe:valid" result="pass"/><test-case name="2065NISTXML-SV-IV-atomic-unsignedLong-enumeration-5-4 tokoe:valid" result="pass"/><test-case name="2066NISTXML-SV-IV-atomic-unsignedLong-enumeration-5-5 tokoe:valid" result="pass"/><test-case name="2067NISTSchema-SV-IV-atomic-unsignedLong-whiteSpace-1 tokoe:valid" result="pass"/><test-case name="2068NISTXML-SV-IV-atomic-unsignedLong-whiteSpace-1-1 tokoe:valid" result="pass"/><test-case name="2069NISTXML-SV-IV-atomic-unsignedLong-whiteSpace-1-2 tokoe:valid" result="pass"/><test-case name="2070NISTXML-SV-IV-atomic-unsignedLong-whiteSpace-1-3 tokoe:valid" result="pass"/><test-case name="2071NISTXML-SV-IV-atomic-unsignedLong-whiteSpace-1-4 tokoe:valid" result="pass"/><test-case name="2072NISTXML-SV-IV-atomic-unsignedLong-whiteSpace-1-5 tokoe:valid" result="pass"/><test-case name="2073NISTSchema-SV-IV-atomic-unsignedInt-minExclusive-1 tokoe:valid" result="pass"/><test-case name="2074NISTXML-SV-IV-atomic-unsignedInt-minExclusive-1-1 tokoe:valid" result="pass"/><test-case name="2075NISTXML-SV-IV-atomic-unsignedInt-minExclusive-1-2 tokoe:valid" result="pass"/><test-case name="2076NISTXML-SV-IV-atomic-unsignedInt-minExclusive-1-3 tokoe:valid" result="pass"/><test-case name="2077NISTXML-SV-IV-atomic-unsignedInt-minExclusive-1-4 tokoe:valid" result="pass"/><test-case name="2078NISTXML-SV-IV-atomic-unsignedInt-minExclusive-1-5 tokoe:valid" result="pass"/><test-case name="2079NISTSchema-SV-IV-atomic-unsignedInt-minExclusive-2 tokoe:valid" result="pass"/><test-case name="2080NISTXML-SV-IV-atomic-unsignedInt-minExclusive-2-1 tokoe:valid" result="pass"/><test-case name="2081NISTXML-SV-IV-atomic-unsignedInt-minExclusive-2-2 tokoe:valid" result="pass"/><test-case name="2082NISTXML-SV-IV-atomic-unsignedInt-minExclusive-2-3 tokoe:valid" result="pass"/><test-case name="2083NISTXML-SV-IV-atomic-unsignedInt-minExclusive-2-4 tokoe:valid" result="pass"/><test-case name="2084NISTXML-SV-IV-atomic-unsignedInt-minExclusive-2-5 tokoe:valid" result="pass"/><test-case name="2085NISTSchema-SV-IV-atomic-unsignedInt-minExclusive-3 tokoe:valid" result="pass"/><test-case name="2086NISTXML-SV-IV-atomic-unsignedInt-minExclusive-3-1 tokoe:valid" result="pass"/><test-case name="2087NISTXML-SV-IV-atomic-unsignedInt-minExclusive-3-2 tokoe:valid" result="pass"/><test-case name="2088NISTXML-SV-IV-atomic-unsignedInt-minExclusive-3-3 tokoe:valid" result="pass"/><test-case name="2089NISTXML-SV-IV-atomic-unsignedInt-minExclusive-3-4 tokoe:valid" result="pass"/><test-case name="2090NISTXML-SV-IV-atomic-unsignedInt-minExclusive-3-5 tokoe:valid" result="pass"/><test-case name="2091NISTSchema-SV-IV-atomic-unsignedInt-minExclusive-4 tokoe:valid" result="pass"/><test-case name="2092NISTXML-SV-IV-atomic-unsignedInt-minExclusive-4-1 tokoe:valid" result="pass"/><test-case name="2093NISTXML-SV-IV-atomic-unsignedInt-minExclusive-4-2 tokoe:valid" result="pass"/><test-case name="2094NISTXML-SV-IV-atomic-unsignedInt-minExclusive-4-3 tokoe:valid" result="pass"/><test-case name="2095NISTXML-SV-IV-atomic-unsignedInt-minExclusive-4-4 tokoe:valid" result="pass"/><test-case name="2096NISTXML-SV-IV-atomic-unsignedInt-minExclusive-4-5 tokoe:valid" result="pass"/><test-case name="2097NISTSchema-SV-IV-atomic-unsignedInt-minExclusive-5 tokoe:valid" result="pass"/><test-case name="2098NISTXML-SV-IV-atomic-unsignedInt-minExclusive-5-1 tokoe:valid" result="pass"/><test-case name="2099NISTSchema-SV-IV-atomic-unsignedInt-minInclusive-1 tokoe:valid" result="pass"/><test-case name="2100NISTXML-SV-IV-atomic-unsignedInt-minInclusive-1-1 tokoe:valid" result="pass"/><test-case name="2101NISTXML-SV-IV-atomic-unsignedInt-minInclusive-1-2 tokoe:valid" result="pass"/><test-case name="2102NISTXML-SV-IV-atomic-unsignedInt-minInclusive-1-3 tokoe:valid" result="pass"/><test-case name="2103NISTXML-SV-IV-atomic-unsignedInt-minInclusive-1-4 tokoe:valid" result="pass"/><test-case name="2104NISTXML-SV-IV-atomic-unsignedInt-minInclusive-1-5 tokoe:valid" result="pass"/><test-case name="2105NISTSchema-SV-IV-atomic-unsignedInt-minInclusive-2 tokoe:valid" result="pass"/><test-case name="2106NISTXML-SV-IV-atomic-unsignedInt-minInclusive-2-1 tokoe:valid" result="pass"/><test-case name="2107NISTXML-SV-IV-atomic-unsignedInt-minInclusive-2-2 tokoe:valid" result="pass"/><test-case name="2108NISTXML-SV-IV-atomic-unsignedInt-minInclusive-2-3 tokoe:valid" result="pass"/><test-case name="2109NISTXML-SV-IV-atomic-unsignedInt-minInclusive-2-4 tokoe:valid" result="pass"/><test-case name="2110NISTXML-SV-IV-atomic-unsignedInt-minInclusive-2-5 tokoe:valid" result="pass"/><test-case name="2111NISTSchema-SV-IV-atomic-unsignedInt-minInclusive-3 tokoe:valid" result="pass"/><test-case name="2112NISTXML-SV-IV-atomic-unsignedInt-minInclusive-3-1 tokoe:valid" result="pass"/><test-case name="2113NISTXML-SV-IV-atomic-unsignedInt-minInclusive-3-2 tokoe:valid" result="pass"/><test-case name="2114NISTXML-SV-IV-atomic-unsignedInt-minInclusive-3-3 tokoe:valid" result="pass"/><test-case name="2115NISTXML-SV-IV-atomic-unsignedInt-minInclusive-3-4 tokoe:valid" result="pass"/><test-case name="2116NISTXML-SV-IV-atomic-unsignedInt-minInclusive-3-5 tokoe:valid" result="pass"/><test-case name="2117NISTSchema-SV-IV-atomic-unsignedInt-minInclusive-4 tokoe:valid" result="pass"/><test-case name="2118NISTXML-SV-IV-atomic-unsignedInt-minInclusive-4-1 tokoe:valid" result="pass"/><test-case name="2119NISTXML-SV-IV-atomic-unsignedInt-minInclusive-4-2 tokoe:valid" result="pass"/><test-case name="2120NISTXML-SV-IV-atomic-unsignedInt-minInclusive-4-3 tokoe:valid" result="pass"/><test-case name="2121NISTXML-SV-IV-atomic-unsignedInt-minInclusive-4-4 tokoe:valid" result="pass"/><test-case name="2122NISTXML-SV-IV-atomic-unsignedInt-minInclusive-4-5 tokoe:valid" result="pass"/><test-case name="2123NISTSchema-SV-IV-atomic-unsignedInt-minInclusive-5 tokoe:valid" result="pass"/><test-case name="2124NISTXML-SV-IV-atomic-unsignedInt-minInclusive-5-1 tokoe:valid" result="pass"/><test-case name="2125NISTSchema-SV-IV-atomic-unsignedInt-maxExclusive-1 tokoe:valid" result="pass"/><test-case name="2126NISTXML-SV-IV-atomic-unsignedInt-maxExclusive-1-1 tokoe:valid" result="pass"/><test-case name="2127NISTSchema-SV-IV-atomic-unsignedInt-maxExclusive-2 tokoe:valid" result="pass"/><test-case name="2128NISTXML-SV-IV-atomic-unsignedInt-maxExclusive-2-1 tokoe:valid" result="pass"/><test-case name="2129NISTXML-SV-IV-atomic-unsignedInt-maxExclusive-2-2 tokoe:valid" result="pass"/><test-case name="2130NISTXML-SV-IV-atomic-unsignedInt-maxExclusive-2-3 tokoe:valid" result="pass"/><test-case name="2131NISTXML-SV-IV-atomic-unsignedInt-maxExclusive-2-4 tokoe:valid" result="pass"/><test-case name="2132NISTXML-SV-IV-atomic-unsignedInt-maxExclusive-2-5 tokoe:valid" result="pass"/><test-case name="2133NISTSchema-SV-IV-atomic-unsignedInt-maxExclusive-3 tokoe:valid" result="pass"/><test-case name="2134NISTXML-SV-IV-atomic-unsignedInt-maxExclusive-3-1 tokoe:valid" result="pass"/><test-case name="2135NISTXML-SV-IV-atomic-unsignedInt-maxExclusive-3-2 tokoe:valid" result="pass"/><test-case name="2136NISTXML-SV-IV-atomic-unsignedInt-maxExclusive-3-3 tokoe:valid" result="pass"/><test-case name="2137NISTXML-SV-IV-atomic-unsignedInt-maxExclusive-3-4 tokoe:valid" result="pass"/><test-case name="2138NISTXML-SV-IV-atomic-unsignedInt-maxExclusive-3-5 tokoe:valid" result="pass"/><test-case name="2139NISTSchema-SV-IV-atomic-unsignedInt-maxExclusive-4 tokoe:valid" result="pass"/><test-case name="2140NISTXML-SV-IV-atomic-unsignedInt-maxExclusive-4-1 tokoe:valid" result="pass"/><test-case name="2141NISTXML-SV-IV-atomic-unsignedInt-maxExclusive-4-2 tokoe:valid" result="pass"/><test-case name="2142NISTXML-SV-IV-atomic-unsignedInt-maxExclusive-4-3 tokoe:valid" result="pass"/><test-case name="2143NISTXML-SV-IV-atomic-unsignedInt-maxExclusive-4-4 tokoe:valid" result="pass"/><test-case name="2144NISTXML-SV-IV-atomic-unsignedInt-maxExclusive-4-5 tokoe:valid" result="pass"/><test-case name="2145NISTSchema-SV-IV-atomic-unsignedInt-maxExclusive-5 tokoe:valid" result="pass"/><test-case name="2146NISTXML-SV-IV-atomic-unsignedInt-maxExclusive-5-1 tokoe:valid" result="pass"/><test-case name="2147NISTXML-SV-IV-atomic-unsignedInt-maxExclusive-5-2 tokoe:valid" result="pass"/><test-case name="2148NISTXML-SV-IV-atomic-unsignedInt-maxExclusive-5-3 tokoe:valid" result="pass"/><test-case name="2149NISTXML-SV-IV-atomic-unsignedInt-maxExclusive-5-4 tokoe:valid" result="pass"/><test-case name="2150NISTXML-SV-IV-atomic-unsignedInt-maxExclusive-5-5 tokoe:valid" result="pass"/><test-case name="2151NISTSchema-SV-IV-atomic-unsignedInt-maxInclusive-1 tokoe:valid" result="pass"/><test-case name="2152NISTXML-SV-IV-atomic-unsignedInt-maxInclusive-1-1 tokoe:valid" result="pass"/><test-case name="2153NISTSchema-SV-IV-atomic-unsignedInt-maxInclusive-2 tokoe:valid" result="pass"/><test-case name="2154NISTXML-SV-IV-atomic-unsignedInt-maxInclusive-2-1 tokoe:valid" result="pass"/><test-case name="2155NISTXML-SV-IV-atomic-unsignedInt-maxInclusive-2-2 tokoe:valid" result="pass"/><test-case name="2156NISTXML-SV-IV-atomic-unsignedInt-maxInclusive-2-3 tokoe:valid" result="pass"/><test-case name="2157NISTXML-SV-IV-atomic-unsignedInt-maxInclusive-2-4 tokoe:valid" result="pass"/><test-case name="2158NISTXML-SV-IV-atomic-unsignedInt-maxInclusive-2-5 tokoe:valid" result="pass"/><test-case name="2159NISTSchema-SV-IV-atomic-unsignedInt-maxInclusive-3 tokoe:valid" result="pass"/><test-case name="2160NISTXML-SV-IV-atomic-unsignedInt-maxInclusive-3-1 tokoe:valid" result="pass"/><test-case name="2161NISTXML-SV-IV-atomic-unsignedInt-maxInclusive-3-2 tokoe:valid" result="pass"/><test-case name="2162NISTXML-SV-IV-atomic-unsignedInt-maxInclusive-3-3 tokoe:valid" result="pass"/><test-case name="2163NISTXML-SV-IV-atomic-unsignedInt-maxInclusive-3-4 tokoe:valid" result="pass"/><test-case name="2164NISTXML-SV-IV-atomic-unsignedInt-maxInclusive-3-5 tokoe:valid" result="pass"/><test-case name="2165NISTSchema-SV-IV-atomic-unsignedInt-maxInclusive-4 tokoe:valid" result="pass"/><test-case name="2166NISTXML-SV-IV-atomic-unsignedInt-maxInclusive-4-1 tokoe:valid" result="pass"/><test-case name="2167NISTXML-SV-IV-atomic-unsignedInt-maxInclusive-4-2 tokoe:valid" result="pass"/><test-case name="2168NISTXML-SV-IV-atomic-unsignedInt-maxInclusive-4-3 tokoe:valid" result="pass"/><test-case name="2169NISTXML-SV-IV-atomic-unsignedInt-maxInclusive-4-4 tokoe:valid" result="pass"/><test-case name="2170NISTXML-SV-IV-atomic-unsignedInt-maxInclusive-4-5 tokoe:valid" result="pass"/><test-case name="2171NISTSchema-SV-IV-atomic-unsignedInt-maxInclusive-5 tokoe:valid" result="pass"/><test-case name="2172NISTXML-SV-IV-atomic-unsignedInt-maxInclusive-5-1 tokoe:valid" result="pass"/><test-case name="2173NISTXML-SV-IV-atomic-unsignedInt-maxInclusive-5-2 tokoe:valid" result="pass"/><test-case name="2174NISTXML-SV-IV-atomic-unsignedInt-maxInclusive-5-3 tokoe:valid" result="pass"/><test-case name="2175NISTXML-SV-IV-atomic-unsignedInt-maxInclusive-5-4 tokoe:valid" result="pass"/><test-case name="2176NISTXML-SV-IV-atomic-unsignedInt-maxInclusive-5-5 tokoe:valid" result="pass"/><test-case name="2177NISTSchema-SV-IV-atomic-unsignedInt-fractionDigits-1 tokoe:valid" result="pass"/><test-case name="2178NISTXML-SV-IV-atomic-unsignedInt-fractionDigits-1-1 tokoe:valid" result="pass"/><test-case name="2179NISTXML-SV-IV-atomic-unsignedInt-fractionDigits-1-2 tokoe:valid" result="pass"/><test-case name="2180NISTXML-SV-IV-atomic-unsignedInt-fractionDigits-1-3 tokoe:valid" result="pass"/><test-case name="2181NISTXML-SV-IV-atomic-unsignedInt-fractionDigits-1-4 tokoe:valid" result="pass"/><test-case name="2182NISTXML-SV-IV-atomic-unsignedInt-fractionDigits-1-5 tokoe:valid" result="pass"/><test-case name="2183NISTSchema-SV-IV-atomic-unsignedInt-totalDigits-1 tokoe:valid" result="pass"/><test-case name="2184NISTXML-SV-IV-atomic-unsignedInt-totalDigits-1-1 tokoe:valid" result="pass"/><test-case name="2185NISTXML-SV-IV-atomic-unsignedInt-totalDigits-1-2 tokoe:valid" result="pass"/><test-case name="2186NISTXML-SV-IV-atomic-unsignedInt-totalDigits-1-3 tokoe:valid" result="pass"/><test-case name="2187NISTXML-SV-IV-atomic-unsignedInt-totalDigits-1-4 tokoe:valid" result="pass"/><test-case name="2188NISTXML-SV-IV-atomic-unsignedInt-totalDigits-1-5 tokoe:valid" result="pass"/><test-case name="2189NISTSchema-SV-IV-atomic-unsignedInt-totalDigits-2 tokoe:valid" result="pass"/><test-case name="2190NISTXML-SV-IV-atomic-unsignedInt-totalDigits-2-1 tokoe:valid" result="pass"/><test-case name="2191NISTXML-SV-IV-atomic-unsignedInt-totalDigits-2-2 tokoe:valid" result="pass"/><test-case name="2192NISTXML-SV-IV-atomic-unsignedInt-totalDigits-2-3 tokoe:valid" result="pass"/><test-case name="2193NISTXML-SV-IV-atomic-unsignedInt-totalDigits-2-4 tokoe:valid" result="pass"/><test-case name="2194NISTXML-SV-IV-atomic-unsignedInt-totalDigits-2-5 tokoe:valid" result="pass"/><test-case name="2195NISTSchema-SV-IV-atomic-unsignedInt-totalDigits-3 tokoe:valid" result="pass"/><test-case name="2196NISTXML-SV-IV-atomic-unsignedInt-totalDigits-3-1 tokoe:valid" result="pass"/><test-case name="2197NISTXML-SV-IV-atomic-unsignedInt-totalDigits-3-2 tokoe:valid" result="pass"/><test-case name="2198NISTXML-SV-IV-atomic-unsignedInt-totalDigits-3-3 tokoe:valid" result="pass"/><test-case name="2199NISTXML-SV-IV-atomic-unsignedInt-totalDigits-3-4 tokoe:valid" result="pass"/><test-case name="2200NISTXML-SV-IV-atomic-unsignedInt-totalDigits-3-5 tokoe:valid" result="pass"/><test-case name="2201NISTSchema-SV-IV-atomic-unsignedInt-totalDigits-4 tokoe:valid" result="pass"/><test-case name="2202NISTXML-SV-IV-atomic-unsignedInt-totalDigits-4-1 tokoe:valid" result="pass"/><test-case name="2203NISTXML-SV-IV-atomic-unsignedInt-totalDigits-4-2 tokoe:valid" result="pass"/><test-case name="2204NISTXML-SV-IV-atomic-unsignedInt-totalDigits-4-3 tokoe:valid" result="pass"/><test-case name="2205NISTXML-SV-IV-atomic-unsignedInt-totalDigits-4-4 tokoe:valid" result="pass"/><test-case name="2206NISTXML-SV-IV-atomic-unsignedInt-totalDigits-4-5 tokoe:valid" result="pass"/><test-case name="2207NISTSchema-SV-IV-atomic-unsignedInt-totalDigits-5 tokoe:valid" result="pass"/><test-case name="2208NISTXML-SV-IV-atomic-unsignedInt-totalDigits-5-1 tokoe:valid" result="pass"/><test-case name="2209NISTXML-SV-IV-atomic-unsignedInt-totalDigits-5-2 tokoe:valid" result="pass"/><test-case name="2210NISTXML-SV-IV-atomic-unsignedInt-totalDigits-5-3 tokoe:valid" result="pass"/><test-case name="2211NISTXML-SV-IV-atomic-unsignedInt-totalDigits-5-4 tokoe:valid" result="pass"/><test-case name="2212NISTXML-SV-IV-atomic-unsignedInt-totalDigits-5-5 tokoe:valid" result="pass"/><test-case name="2213NISTSchema-SV-IV-atomic-unsignedInt-pattern-1 tokoe:valid" result="pass"/><test-case name="2214NISTXML-SV-IV-atomic-unsignedInt-pattern-1-1 tokoe:valid" result="pass"/><test-case name="2215NISTXML-SV-IV-atomic-unsignedInt-pattern-1-2 tokoe:valid" result="pass"/><test-case name="2216NISTXML-SV-IV-atomic-unsignedInt-pattern-1-3 tokoe:valid" result="pass"/><test-case name="2217NISTXML-SV-IV-atomic-unsignedInt-pattern-1-4 tokoe:valid" result="pass"/><test-case name="2218NISTXML-SV-IV-atomic-unsignedInt-pattern-1-5 tokoe:valid" result="pass"/><test-case name="2219NISTSchema-SV-IV-atomic-unsignedInt-pattern-2 tokoe:valid" result="pass"/><test-case name="2220NISTXML-SV-IV-atomic-unsignedInt-pattern-2-1 tokoe:valid" result="pass"/><test-case name="2221NISTXML-SV-IV-atomic-unsignedInt-pattern-2-2 tokoe:valid" result="pass"/><test-case name="2222NISTXML-SV-IV-atomic-unsignedInt-pattern-2-3 tokoe:valid" result="pass"/><test-case name="2223NISTXML-SV-IV-atomic-unsignedInt-pattern-2-4 tokoe:valid" result="pass"/><test-case name="2224NISTXML-SV-IV-atomic-unsignedInt-pattern-2-5 tokoe:valid" result="pass"/><test-case name="2225NISTSchema-SV-IV-atomic-unsignedInt-pattern-3 tokoe:valid" result="pass"/><test-case name="2226NISTXML-SV-IV-atomic-unsignedInt-pattern-3-1 tokoe:valid" result="pass"/><test-case name="2227NISTXML-SV-IV-atomic-unsignedInt-pattern-3-2 tokoe:valid" result="pass"/><test-case name="2228NISTXML-SV-IV-atomic-unsignedInt-pattern-3-3 tokoe:valid" result="pass"/><test-case name="2229NISTXML-SV-IV-atomic-unsignedInt-pattern-3-4 tokoe:valid" result="pass"/><test-case name="2230NISTXML-SV-IV-atomic-unsignedInt-pattern-3-5 tokoe:valid" result="pass"/><test-case name="2231NISTSchema-SV-IV-atomic-unsignedInt-pattern-4 tokoe:valid" result="pass"/><test-case name="2232NISTXML-SV-IV-atomic-unsignedInt-pattern-4-1 tokoe:valid" result="pass"/><test-case name="2233NISTXML-SV-IV-atomic-unsignedInt-pattern-4-2 tokoe:valid" result="pass"/><test-case name="2234NISTXML-SV-IV-atomic-unsignedInt-pattern-4-3 tokoe:valid" result="pass"/><test-case name="2235NISTXML-SV-IV-atomic-unsignedInt-pattern-4-4 tokoe:valid" result="pass"/><test-case name="2236NISTXML-SV-IV-atomic-unsignedInt-pattern-4-5 tokoe:valid" result="pass"/><test-case name="2237NISTSchema-SV-IV-atomic-unsignedInt-pattern-5 tokoe:valid" result="pass"/><test-case name="2238NISTXML-SV-IV-atomic-unsignedInt-pattern-5-1 tokoe:valid" result="pass"/><test-case name="2239NISTXML-SV-IV-atomic-unsignedInt-pattern-5-2 tokoe:valid" result="pass"/><test-case name="2240NISTXML-SV-IV-atomic-unsignedInt-pattern-5-3 tokoe:valid" result="pass"/><test-case name="2241NISTXML-SV-IV-atomic-unsignedInt-pattern-5-4 tokoe:valid" result="pass"/><test-case name="2242NISTXML-SV-IV-atomic-unsignedInt-pattern-5-5 tokoe:valid" result="pass"/><test-case name="2243NISTSchema-SV-IV-atomic-unsignedInt-enumeration-1 tokoe:valid" result="pass"/><test-case name="2244NISTXML-SV-IV-atomic-unsignedInt-enumeration-1-1 tokoe:valid" result="pass"/><test-case name="2245NISTXML-SV-IV-atomic-unsignedInt-enumeration-1-2 tokoe:valid" result="pass"/><test-case name="2246NISTXML-SV-IV-atomic-unsignedInt-enumeration-1-3 tokoe:valid" result="pass"/><test-case name="2247NISTXML-SV-IV-atomic-unsignedInt-enumeration-1-4 tokoe:valid" result="pass"/><test-case name="2248NISTXML-SV-IV-atomic-unsignedInt-enumeration-1-5 tokoe:valid" result="pass"/><test-case name="2249NISTSchema-SV-IV-atomic-unsignedInt-enumeration-2 tokoe:valid" result="pass"/><test-case name="2250NISTXML-SV-IV-atomic-unsignedInt-enumeration-2-1 tokoe:valid" result="pass"/><test-case name="2251NISTXML-SV-IV-atomic-unsignedInt-enumeration-2-2 tokoe:valid" result="pass"/><test-case name="2252NISTXML-SV-IV-atomic-unsignedInt-enumeration-2-3 tokoe:valid" result="pass"/><test-case name="2253NISTXML-SV-IV-atomic-unsignedInt-enumeration-2-4 tokoe:valid" result="pass"/><test-case name="2254NISTXML-SV-IV-atomic-unsignedInt-enumeration-2-5 tokoe:valid" result="pass"/><test-case name="2255NISTSchema-SV-IV-atomic-unsignedInt-enumeration-3 tokoe:valid" result="pass"/><test-case name="2256NISTXML-SV-IV-atomic-unsignedInt-enumeration-3-1 tokoe:valid" result="pass"/><test-case name="2257NISTXML-SV-IV-atomic-unsignedInt-enumeration-3-2 tokoe:valid" result="pass"/><test-case name="2258NISTXML-SV-IV-atomic-unsignedInt-enumeration-3-3 tokoe:valid" result="pass"/><test-case name="2259NISTXML-SV-IV-atomic-unsignedInt-enumeration-3-4 tokoe:valid" result="pass"/><test-case name="2260NISTXML-SV-IV-atomic-unsignedInt-enumeration-3-5 tokoe:valid" result="pass"/><test-case name="2261NISTSchema-SV-IV-atomic-unsignedInt-enumeration-4 tokoe:valid" result="pass"/><test-case name="2262NISTXML-SV-IV-atomic-unsignedInt-enumeration-4-1 tokoe:valid" result="pass"/><test-case name="2263NISTXML-SV-IV-atomic-unsignedInt-enumeration-4-2 tokoe:valid" result="pass"/><test-case name="2264NISTXML-SV-IV-atomic-unsignedInt-enumeration-4-3 tokoe:valid" result="pass"/><test-case name="2265NISTXML-SV-IV-atomic-unsignedInt-enumeration-4-4 tokoe:valid" result="pass"/><test-case name="2266NISTXML-SV-IV-atomic-unsignedInt-enumeration-4-5 tokoe:valid" result="pass"/><test-case name="2267NISTSchema-SV-IV-atomic-unsignedInt-enumeration-5 tokoe:valid" result="pass"/><test-case name="2268NISTXML-SV-IV-atomic-unsignedInt-enumeration-5-1 tokoe:valid" result="pass"/><test-case name="2269NISTXML-SV-IV-atomic-unsignedInt-enumeration-5-2 tokoe:valid" result="pass"/><test-case name="2270NISTXML-SV-IV-atomic-unsignedInt-enumeration-5-3 tokoe:valid" result="pass"/><test-case name="2271NISTXML-SV-IV-atomic-unsignedInt-enumeration-5-4 tokoe:valid" result="pass"/><test-case name="2272NISTXML-SV-IV-atomic-unsignedInt-enumeration-5-5 tokoe:valid" result="pass"/><test-case name="2273NISTSchema-SV-IV-atomic-unsignedInt-whiteSpace-1 tokoe:valid" result="pass"/><test-case name="2274NISTXML-SV-IV-atomic-unsignedInt-whiteSpace-1-1 tokoe:valid" result="pass"/><test-case name="2275NISTXML-SV-IV-atomic-unsignedInt-whiteSpace-1-2 tokoe:valid" result="pass"/><test-case name="2276NISTXML-SV-IV-atomic-unsignedInt-whiteSpace-1-3 tokoe:valid" result="pass"/><test-case name="2277NISTXML-SV-IV-atomic-unsignedInt-whiteSpace-1-4 tokoe:valid" result="pass"/><test-case name="2278NISTXML-SV-IV-atomic-unsignedInt-whiteSpace-1-5 tokoe:valid" result="pass"/><test-case name="2279NISTSchema-SV-IV-atomic-unsignedShort-minExclusive-1 tokoe:valid" result="pass"/><test-case name="2280NISTXML-SV-IV-atomic-unsignedShort-minExclusive-1-1 tokoe:valid" result="pass"/><test-case name="2281NISTXML-SV-IV-atomic-unsignedShort-minExclusive-1-2 tokoe:valid" result="pass"/><test-case name="2282NISTXML-SV-IV-atomic-unsignedShort-minExclusive-1-3 tokoe:valid" result="pass"/><test-case name="2283NISTXML-SV-IV-atomic-unsignedShort-minExclusive-1-4 tokoe:valid" result="pass"/><test-case name="2284NISTXML-SV-IV-atomic-unsignedShort-minExclusive-1-5 tokoe:valid" result="pass"/><test-case name="2285NISTSchema-SV-IV-atomic-unsignedShort-minExclusive-2 tokoe:valid" result="pass"/><test-case name="2286NISTXML-SV-IV-atomic-unsignedShort-minExclusive-2-1 tokoe:valid" result="pass"/><test-case name="2287NISTXML-SV-IV-atomic-unsignedShort-minExclusive-2-2 tokoe:valid" result="pass"/><test-case name="2288NISTXML-SV-IV-atomic-unsignedShort-minExclusive-2-3 tokoe:valid" result="pass"/><test-case name="2289NISTXML-SV-IV-atomic-unsignedShort-minExclusive-2-4 tokoe:valid" result="pass"/><test-case name="2290NISTXML-SV-IV-atomic-unsignedShort-minExclusive-2-5 tokoe:valid" result="pass"/><test-case name="2291NISTSchema-SV-IV-atomic-unsignedShort-minExclusive-3 tokoe:valid" result="pass"/><test-case name="2292NISTXML-SV-IV-atomic-unsignedShort-minExclusive-3-1 tokoe:valid" result="pass"/><test-case name="2293NISTXML-SV-IV-atomic-unsignedShort-minExclusive-3-2 tokoe:valid" result="pass"/><test-case name="2294NISTXML-SV-IV-atomic-unsignedShort-minExclusive-3-3 tokoe:valid" result="pass"/><test-case name="2295NISTXML-SV-IV-atomic-unsignedShort-minExclusive-3-4 tokoe:valid" result="pass"/><test-case name="2296NISTXML-SV-IV-atomic-unsignedShort-minExclusive-3-5 tokoe:valid" result="pass"/><test-case name="2297NISTSchema-SV-IV-atomic-unsignedShort-minExclusive-4 tokoe:valid" result="pass"/><test-case name="2298NISTXML-SV-IV-atomic-unsignedShort-minExclusive-4-1 tokoe:valid" result="pass"/><test-case name="2299NISTXML-SV-IV-atomic-unsignedShort-minExclusive-4-2 tokoe:valid" result="pass"/><test-case name="2300NISTXML-SV-IV-atomic-unsignedShort-minExclusive-4-3 tokoe:valid" result="pass"/><test-case name="2301NISTXML-SV-IV-atomic-unsignedShort-minExclusive-4-4 tokoe:valid" result="pass"/><test-case name="2302NISTXML-SV-IV-atomic-unsignedShort-minExclusive-4-5 tokoe:valid" result="pass"/><test-case name="2303NISTSchema-SV-IV-atomic-unsignedShort-minExclusive-5 tokoe:valid" result="pass"/><test-case name="2304NISTXML-SV-IV-atomic-unsignedShort-minExclusive-5-1 tokoe:valid" result="pass"/><test-case name="2305NISTSchema-SV-IV-atomic-unsignedShort-minInclusive-1 tokoe:valid" result="pass"/><test-case name="2306NISTXML-SV-IV-atomic-unsignedShort-minInclusive-1-1 tokoe:valid" result="pass"/><test-case name="2307NISTXML-SV-IV-atomic-unsignedShort-minInclusive-1-2 tokoe:valid" result="pass"/><test-case name="2308NISTXML-SV-IV-atomic-unsignedShort-minInclusive-1-3 tokoe:valid" result="pass"/><test-case name="2309NISTXML-SV-IV-atomic-unsignedShort-minInclusive-1-4 tokoe:valid" result="pass"/><test-case name="2310NISTXML-SV-IV-atomic-unsignedShort-minInclusive-1-5 tokoe:valid" result="pass"/><test-case name="2311NISTSchema-SV-IV-atomic-unsignedShort-minInclusive-2 tokoe:valid" result="pass"/><test-case name="2312NISTXML-SV-IV-atomic-unsignedShort-minInclusive-2-1 tokoe:valid" result="pass"/><test-case name="2313NISTXML-SV-IV-atomic-unsignedShort-minInclusive-2-2 tokoe:valid" result="pass"/><test-case name="2314NISTXML-SV-IV-atomic-unsignedShort-minInclusive-2-3 tokoe:valid" result="pass"/><test-case name="2315NISTXML-SV-IV-atomic-unsignedShort-minInclusive-2-4 tokoe:valid" result="pass"/><test-case name="2316NISTXML-SV-IV-atomic-unsignedShort-minInclusive-2-5 tokoe:valid" result="pass"/><test-case name="2317NISTSchema-SV-IV-atomic-unsignedShort-minInclusive-3 tokoe:valid" result="pass"/><test-case name="2318NISTXML-SV-IV-atomic-unsignedShort-minInclusive-3-1 tokoe:valid" result="pass"/><test-case name="2319NISTXML-SV-IV-atomic-unsignedShort-minInclusive-3-2 tokoe:valid" result="pass"/><test-case name="2320NISTXML-SV-IV-atomic-unsignedShort-minInclusive-3-3 tokoe:valid" result="pass"/><test-case name="2321NISTXML-SV-IV-atomic-unsignedShort-minInclusive-3-4 tokoe:valid" result="pass"/><test-case name="2322NISTXML-SV-IV-atomic-unsignedShort-minInclusive-3-5 tokoe:valid" result="pass"/><test-case name="2323NISTSchema-SV-IV-atomic-unsignedShort-minInclusive-4 tokoe:valid" result="pass"/><test-case name="2324NISTXML-SV-IV-atomic-unsignedShort-minInclusive-4-1 tokoe:valid" result="pass"/><test-case name="2325NISTXML-SV-IV-atomic-unsignedShort-minInclusive-4-2 tokoe:valid" result="pass"/><test-case name="2326NISTXML-SV-IV-atomic-unsignedShort-minInclusive-4-3 tokoe:valid" result="pass"/><test-case name="2327NISTXML-SV-IV-atomic-unsignedShort-minInclusive-4-4 tokoe:valid" result="pass"/><test-case name="2328NISTXML-SV-IV-atomic-unsignedShort-minInclusive-4-5 tokoe:valid" result="pass"/><test-case name="2329NISTSchema-SV-IV-atomic-unsignedShort-minInclusive-5 tokoe:valid" result="pass"/><test-case name="2330NISTXML-SV-IV-atomic-unsignedShort-minInclusive-5-1 tokoe:valid" result="pass"/><test-case name="2331NISTSchema-SV-IV-atomic-unsignedShort-maxExclusive-1 tokoe:valid" result="pass"/><test-case name="2332NISTXML-SV-IV-atomic-unsignedShort-maxExclusive-1-1 tokoe:valid" result="pass"/><test-case name="2333NISTSchema-SV-IV-atomic-unsignedShort-maxExclusive-2 tokoe:valid" result="pass"/><test-case name="2334NISTXML-SV-IV-atomic-unsignedShort-maxExclusive-2-1 tokoe:valid" result="pass"/><test-case name="2335NISTXML-SV-IV-atomic-unsignedShort-maxExclusive-2-2 tokoe:valid" result="pass"/><test-case name="2336NISTXML-SV-IV-atomic-unsignedShort-maxExclusive-2-3 tokoe:valid" result="pass"/><test-case name="2337NISTXML-SV-IV-atomic-unsignedShort-maxExclusive-2-4 tokoe:valid" result="pass"/><test-case name="2338NISTXML-SV-IV-atomic-unsignedShort-maxExclusive-2-5 tokoe:valid" result="pass"/><test-case name="2339NISTSchema-SV-IV-atomic-unsignedShort-maxExclusive-3 tokoe:valid" result="pass"/><test-case name="2340NISTXML-SV-IV-atomic-unsignedShort-maxExclusive-3-1 tokoe:valid" result="pass"/><test-case name="2341NISTXML-SV-IV-atomic-unsignedShort-maxExclusive-3-2 tokoe:valid" result="pass"/><test-case name="2342NISTXML-SV-IV-atomic-unsignedShort-maxExclusive-3-3 tokoe:valid" result="pass"/><test-case name="2343NISTXML-SV-IV-atomic-unsignedShort-maxExclusive-3-4 tokoe:valid" result="pass"/><test-case name="2344NISTXML-SV-IV-atomic-unsignedShort-maxExclusive-3-5 tokoe:valid" result="pass"/><test-case name="2345NISTSchema-SV-IV-atomic-unsignedShort-maxExclusive-4 tokoe:valid" result="pass"/><test-case name="2346NISTXML-SV-IV-atomic-unsignedShort-maxExclusive-4-1 tokoe:valid" result="pass"/><test-case name="2347NISTXML-SV-IV-atomic-unsignedShort-maxExclusive-4-2 tokoe:valid" result="pass"/><test-case name="2348NISTXML-SV-IV-atomic-unsignedShort-maxExclusive-4-3 tokoe:valid" result="pass"/><test-case name="2349NISTXML-SV-IV-atomic-unsignedShort-maxExclusive-4-4 tokoe:valid" result="pass"/><test-case name="2350NISTXML-SV-IV-atomic-unsignedShort-maxExclusive-4-5 tokoe:valid" result="pass"/><test-case name="2351NISTSchema-SV-IV-atomic-unsignedShort-maxExclusive-5 tokoe:valid" result="pass"/><test-case name="2352NISTXML-SV-IV-atomic-unsignedShort-maxExclusive-5-1 tokoe:valid" result="pass"/><test-case name="2353NISTXML-SV-IV-atomic-unsignedShort-maxExclusive-5-2 tokoe:valid" result="pass"/><test-case name="2354NISTXML-SV-IV-atomic-unsignedShort-maxExclusive-5-3 tokoe:valid" result="pass"/><test-case name="2355NISTXML-SV-IV-atomic-unsignedShort-maxExclusive-5-4 tokoe:valid" result="pass"/><test-case name="2356NISTXML-SV-IV-atomic-unsignedShort-maxExclusive-5-5 tokoe:valid" result="pass"/><test-case name="2357NISTSchema-SV-IV-atomic-unsignedShort-maxInclusive-1 tokoe:valid" result="pass"/><test-case name="2358NISTXML-SV-IV-atomic-unsignedShort-maxInclusive-1-1 tokoe:valid" result="pass"/><test-case name="2359NISTSchema-SV-IV-atomic-unsignedShort-maxInclusive-2 tokoe:valid" result="pass"/><test-case name="2360NISTXML-SV-IV-atomic-unsignedShort-maxInclusive-2-1 tokoe:valid" result="pass"/><test-case name="2361NISTXML-SV-IV-atomic-unsignedShort-maxInclusive-2-2 tokoe:valid" result="pass"/><test-case name="2362NISTXML-SV-IV-atomic-unsignedShort-maxInclusive-2-3 tokoe:valid" result="pass"/><test-case name="2363NISTXML-SV-IV-atomic-unsignedShort-maxInclusive-2-4 tokoe:valid" result="pass"/><test-case name="2364NISTXML-SV-IV-atomic-unsignedShort-maxInclusive-2-5 tokoe:valid" result="pass"/><test-case name="2365NISTSchema-SV-IV-atomic-unsignedShort-maxInclusive-3 tokoe:valid" result="pass"/><test-case name="2366NISTXML-SV-IV-atomic-unsignedShort-maxInclusive-3-1 tokoe:valid" result="pass"/><test-case name="2367NISTXML-SV-IV-atomic-unsignedShort-maxInclusive-3-2 tokoe:valid" result="pass"/><test-case name="2368NISTXML-SV-IV-atomic-unsignedShort-maxInclusive-3-3 tokoe:valid" result="pass"/><test-case name="2369NISTXML-SV-IV-atomic-unsignedShort-maxInclusive-3-4 tokoe:valid" result="pass"/><test-case name="2370NISTXML-SV-IV-atomic-unsignedShort-maxInclusive-3-5 tokoe:valid" result="pass"/><test-case name="2371NISTSchema-SV-IV-atomic-unsignedShort-maxInclusive-4 tokoe:valid" result="pass"/><test-case name="2372NISTXML-SV-IV-atomic-unsignedShort-maxInclusive-4-1 tokoe:valid" result="pass"/><test-case name="2373NISTXML-SV-IV-atomic-unsignedShort-maxInclusive-4-2 tokoe:valid" result="pass"/><test-case name="2374NISTXML-SV-IV-atomic-unsignedShort-maxInclusive-4-3 tokoe:valid" result="pass"/><test-case name="2375NISTXML-SV-IV-atomic-unsignedShort-maxInclusive-4-4 tokoe:valid" result="pass"/><test-case name="2376NISTXML-SV-IV-atomic-unsignedShort-maxInclusive-4-5 tokoe:valid" result="pass"/><test-case name="2377NISTSchema-SV-IV-atomic-unsignedShort-maxInclusive-5 tokoe:valid" result="pass"/><test-case name="2378NISTXML-SV-IV-atomic-unsignedShort-maxInclusive-5-1 tokoe:valid" result="pass"/><test-case name="2379NISTXML-SV-IV-atomic-unsignedShort-maxInclusive-5-2 tokoe:valid" result="pass"/><test-case name="2380NISTXML-SV-IV-atomic-unsignedShort-maxInclusive-5-3 tokoe:valid" result="pass"/><test-case name="2381NISTXML-SV-IV-atomic-unsignedShort-maxInclusive-5-4 tokoe:valid" result="pass"/><test-case name="2382NISTXML-SV-IV-atomic-unsignedShort-maxInclusive-5-5 tokoe:valid" result="pass"/><test-case name="2383NISTSchema-SV-IV-atomic-unsignedShort-fractionDigits-1 tokoe:valid" result="pass"/><test-case name="2384NISTXML-SV-IV-atomic-unsignedShort-fractionDigits-1-1 tokoe:valid" result="pass"/><test-case name="2385NISTXML-SV-IV-atomic-unsignedShort-fractionDigits-1-2 tokoe:valid" result="pass"/><test-case name="2386NISTXML-SV-IV-atomic-unsignedShort-fractionDigits-1-3 tokoe:valid" result="pass"/><test-case name="2387NISTXML-SV-IV-atomic-unsignedShort-fractionDigits-1-4 tokoe:valid" result="pass"/><test-case name="2388NISTXML-SV-IV-atomic-unsignedShort-fractionDigits-1-5 tokoe:valid" result="pass"/><test-case name="2389NISTSchema-SV-IV-atomic-unsignedShort-totalDigits-1 tokoe:valid" result="pass"/><test-case name="2390NISTXML-SV-IV-atomic-unsignedShort-totalDigits-1-1 tokoe:valid" result="pass"/><test-case name="2391NISTXML-SV-IV-atomic-unsignedShort-totalDigits-1-2 tokoe:valid" result="pass"/><test-case name="2392NISTXML-SV-IV-atomic-unsignedShort-totalDigits-1-3 tokoe:valid" result="pass"/><test-case name="2393NISTXML-SV-IV-atomic-unsignedShort-totalDigits-1-4 tokoe:valid" result="pass"/><test-case name="2394NISTXML-SV-IV-atomic-unsignedShort-totalDigits-1-5 tokoe:valid" result="pass"/><test-case name="2395NISTSchema-SV-IV-atomic-unsignedShort-totalDigits-2 tokoe:valid" result="pass"/><test-case name="2396NISTXML-SV-IV-atomic-unsignedShort-totalDigits-2-1 tokoe:valid" result="pass"/><test-case name="2397NISTXML-SV-IV-atomic-unsignedShort-totalDigits-2-2 tokoe:valid" result="pass"/><test-case name="2398NISTXML-SV-IV-atomic-unsignedShort-totalDigits-2-3 tokoe:valid" result="pass"/><test-case name="2399NISTXML-SV-IV-atomic-unsignedShort-totalDigits-2-4 tokoe:valid" result="pass"/><test-case name="2400NISTXML-SV-IV-atomic-unsignedShort-totalDigits-2-5 tokoe:valid" result="pass"/><test-case name="2401NISTSchema-SV-IV-atomic-unsignedShort-totalDigits-3 tokoe:valid" result="pass"/><test-case name="2402NISTXML-SV-IV-atomic-unsignedShort-totalDigits-3-1 tokoe:valid" result="pass"/><test-case name="2403NISTXML-SV-IV-atomic-unsignedShort-totalDigits-3-2 tokoe:valid" result="pass"/><test-case name="2404NISTXML-SV-IV-atomic-unsignedShort-totalDigits-3-3 tokoe:valid" result="pass"/><test-case name="2405NISTXML-SV-IV-atomic-unsignedShort-totalDigits-3-4 tokoe:valid" result="pass"/><test-case name="2406NISTXML-SV-IV-atomic-unsignedShort-totalDigits-3-5 tokoe:valid" result="pass"/><test-case name="2407NISTSchema-SV-IV-atomic-unsignedShort-totalDigits-4 tokoe:valid" result="pass"/><test-case name="2408NISTXML-SV-IV-atomic-unsignedShort-totalDigits-4-1 tokoe:valid" result="pass"/><test-case name="2409NISTXML-SV-IV-atomic-unsignedShort-totalDigits-4-2 tokoe:valid" result="pass"/><test-case name="2410NISTXML-SV-IV-atomic-unsignedShort-totalDigits-4-3 tokoe:valid" result="pass"/><test-case name="2411NISTXML-SV-IV-atomic-unsignedShort-totalDigits-4-4 tokoe:valid" result="pass"/><test-case name="2412NISTXML-SV-IV-atomic-unsignedShort-totalDigits-4-5 tokoe:valid" result="pass"/><test-case name="2413NISTSchema-SV-IV-atomic-unsignedShort-totalDigits-5 tokoe:valid" result="pass"/><test-case name="2414NISTXML-SV-IV-atomic-unsignedShort-totalDigits-5-1 tokoe:valid" result="pass"/><test-case name="2415NISTXML-SV-IV-atomic-unsignedShort-totalDigits-5-2 tokoe:valid" result="pass"/><test-case name="2416NISTXML-SV-IV-atomic-unsignedShort-totalDigits-5-3 tokoe:valid" result="pass"/><test-case name="2417NISTXML-SV-IV-atomic-unsignedShort-totalDigits-5-4 tokoe:valid" result="pass"/><test-case name="2418NISTXML-SV-IV-atomic-unsignedShort-totalDigits-5-5 tokoe:valid" result="pass"/><test-case name="2419NISTSchema-SV-IV-atomic-unsignedShort-pattern-1 tokoe:valid" result="pass"/><test-case name="2420NISTXML-SV-IV-atomic-unsignedShort-pattern-1-1 tokoe:valid" result="pass"/><test-case name="2421NISTXML-SV-IV-atomic-unsignedShort-pattern-1-2 tokoe:valid" result="pass"/><test-case name="2422NISTXML-SV-IV-atomic-unsignedShort-pattern-1-3 tokoe:valid" result="pass"/><test-case name="2423NISTXML-SV-IV-atomic-unsignedShort-pattern-1-4 tokoe:valid" result="pass"/><test-case name="2424NISTXML-SV-IV-atomic-unsignedShort-pattern-1-5 tokoe:valid" result="pass"/><test-case name="2425NISTSchema-SV-IV-atomic-unsignedShort-pattern-2 tokoe:valid" result="pass"/><test-case name="2426NISTXML-SV-IV-atomic-unsignedShort-pattern-2-1 tokoe:valid" result="pass"/><test-case name="2427NISTXML-SV-IV-atomic-unsignedShort-pattern-2-2 tokoe:valid" result="pass"/><test-case name="2428NISTXML-SV-IV-atomic-unsignedShort-pattern-2-3 tokoe:valid" result="pass"/><test-case name="2429NISTXML-SV-IV-atomic-unsignedShort-pattern-2-4 tokoe:valid" result="pass"/><test-case name="2430NISTXML-SV-IV-atomic-unsignedShort-pattern-2-5 tokoe:valid" result="pass"/><test-case name="2431NISTSchema-SV-IV-atomic-unsignedShort-pattern-3 tokoe:valid" result="pass"/><test-case name="2432NISTXML-SV-IV-atomic-unsignedShort-pattern-3-1 tokoe:valid" result="pass"/><test-case name="2433NISTXML-SV-IV-atomic-unsignedShort-pattern-3-2 tokoe:valid" result="pass"/><test-case name="2434NISTXML-SV-IV-atomic-unsignedShort-pattern-3-3 tokoe:valid" result="pass"/><test-case name="2435NISTXML-SV-IV-atomic-unsignedShort-pattern-3-4 tokoe:valid" result="pass"/><test-case name="2436NISTXML-SV-IV-atomic-unsignedShort-pattern-3-5 tokoe:valid" result="pass"/><test-case name="2437NISTSchema-SV-IV-atomic-unsignedShort-pattern-4 tokoe:valid" result="pass"/><test-case name="2438NISTXML-SV-IV-atomic-unsignedShort-pattern-4-1 tokoe:valid" result="pass"/><test-case name="2439NISTXML-SV-IV-atomic-unsignedShort-pattern-4-2 tokoe:valid" result="pass"/><test-case name="2440NISTXML-SV-IV-atomic-unsignedShort-pattern-4-3 tokoe:valid" result="pass"/><test-case name="2441NISTXML-SV-IV-atomic-unsignedShort-pattern-4-4 tokoe:valid" result="pass"/><test-case name="2442NISTXML-SV-IV-atomic-unsignedShort-pattern-4-5 tokoe:valid" result="pass"/><test-case name="2443NISTSchema-SV-IV-atomic-unsignedShort-pattern-5 tokoe:valid" result="pass"/><test-case name="2444NISTXML-SV-IV-atomic-unsignedShort-pattern-5-1 tokoe:valid" result="pass"/><test-case name="2445NISTXML-SV-IV-atomic-unsignedShort-pattern-5-2 tokoe:valid" result="pass"/><test-case name="2446NISTXML-SV-IV-atomic-unsignedShort-pattern-5-3 tokoe:valid" result="pass"/><test-case name="2447NISTXML-SV-IV-atomic-unsignedShort-pattern-5-4 tokoe:valid" result="pass"/><test-case name="2448NISTXML-SV-IV-atomic-unsignedShort-pattern-5-5 tokoe:valid" result="pass"/><test-case name="2449NISTSchema-SV-IV-atomic-unsignedShort-enumeration-1 tokoe:valid" result="pass"/><test-case name="2450NISTXML-SV-IV-atomic-unsignedShort-enumeration-1-1 tokoe:valid" result="pass"/><test-case name="2451NISTXML-SV-IV-atomic-unsignedShort-enumeration-1-2 tokoe:valid" result="pass"/><test-case name="2452NISTXML-SV-IV-atomic-unsignedShort-enumeration-1-3 tokoe:valid" result="pass"/><test-case name="2453NISTXML-SV-IV-atomic-unsignedShort-enumeration-1-4 tokoe:valid" result="pass"/><test-case name="2454NISTXML-SV-IV-atomic-unsignedShort-enumeration-1-5 tokoe:valid" result="pass"/><test-case name="2455NISTSchema-SV-IV-atomic-unsignedShort-enumeration-2 tokoe:valid" result="pass"/><test-case name="2456NISTXML-SV-IV-atomic-unsignedShort-enumeration-2-1 tokoe:valid" result="pass"/><test-case name="2457NISTXML-SV-IV-atomic-unsignedShort-enumeration-2-2 tokoe:valid" result="pass"/><test-case name="2458NISTXML-SV-IV-atomic-unsignedShort-enumeration-2-3 tokoe:valid" result="pass"/><test-case name="2459NISTXML-SV-IV-atomic-unsignedShort-enumeration-2-4 tokoe:valid" result="pass"/><test-case name="2460NISTXML-SV-IV-atomic-unsignedShort-enumeration-2-5 tokoe:valid" result="pass"/><test-case name="2461NISTSchema-SV-IV-atomic-unsignedShort-enumeration-3 tokoe:valid" result="pass"/><test-case name="2462NISTXML-SV-IV-atomic-unsignedShort-enumeration-3-1 tokoe:valid" result="pass"/><test-case name="2463NISTXML-SV-IV-atomic-unsignedShort-enumeration-3-2 tokoe:valid" result="pass"/><test-case name="2464NISTXML-SV-IV-atomic-unsignedShort-enumeration-3-3 tokoe:valid" result="pass"/><test-case name="2465NISTXML-SV-IV-atomic-unsignedShort-enumeration-3-4 tokoe:valid" result="pass"/><test-case name="2466NISTXML-SV-IV-atomic-unsignedShort-enumeration-3-5 tokoe:valid" result="pass"/><test-case name="2467NISTSchema-SV-IV-atomic-unsignedShort-enumeration-4 tokoe:valid" result="pass"/><test-case name="2468NISTXML-SV-IV-atomic-unsignedShort-enumeration-4-1 tokoe:valid" result="pass"/><test-case name="2469NISTXML-SV-IV-atomic-unsignedShort-enumeration-4-2 tokoe:valid" result="pass"/><test-case name="2470NISTXML-SV-IV-atomic-unsignedShort-enumeration-4-3 tokoe:valid" result="pass"/><test-case name="2471NISTXML-SV-IV-atomic-unsignedShort-enumeration-4-4 tokoe:valid" result="pass"/><test-case name="2472NISTXML-SV-IV-atomic-unsignedShort-enumeration-4-5 tokoe:valid" result="pass"/><test-case name="2473NISTSchema-SV-IV-atomic-unsignedShort-enumeration-5 tokoe:valid" result="pass"/><test-case name="2474NISTXML-SV-IV-atomic-unsignedShort-enumeration-5-1 tokoe:valid" result="pass"/><test-case name="2475NISTXML-SV-IV-atomic-unsignedShort-enumeration-5-2 tokoe:valid" result="pass"/><test-case name="2476NISTXML-SV-IV-atomic-unsignedShort-enumeration-5-3 tokoe:valid" result="pass"/><test-case name="2477NISTXML-SV-IV-atomic-unsignedShort-enumeration-5-4 tokoe:valid" result="pass"/><test-case name="2478NISTXML-SV-IV-atomic-unsignedShort-enumeration-5-5 tokoe:valid" result="pass"/><test-case name="2479NISTSchema-SV-IV-atomic-unsignedShort-whiteSpace-1 tokoe:valid" result="pass"/><test-case name="2480NISTXML-SV-IV-atomic-unsignedShort-whiteSpace-1-1 tokoe:valid" result="pass"/><test-case name="2481NISTXML-SV-IV-atomic-unsignedShort-whiteSpace-1-2 tokoe:valid" result="pass"/><test-case name="2482NISTXML-SV-IV-atomic-unsignedShort-whiteSpace-1-3 tokoe:valid" result="pass"/><test-case name="2483NISTXML-SV-IV-atomic-unsignedShort-whiteSpace-1-4 tokoe:valid" result="pass"/><test-case name="2484NISTXML-SV-IV-atomic-unsignedShort-whiteSpace-1-5 tokoe:valid" result="pass"/><test-case name="2485NISTSchema-SV-IV-atomic-unsignedByte-minExclusive-1 tokoe:valid" result="pass"/><test-case name="2486NISTXML-SV-IV-atomic-unsignedByte-minExclusive-1-1 tokoe:valid" result="pass"/><test-case name="2487NISTXML-SV-IV-atomic-unsignedByte-minExclusive-1-2 tokoe:valid" result="pass"/><test-case name="2488NISTXML-SV-IV-atomic-unsignedByte-minExclusive-1-3 tokoe:valid" result="pass"/><test-case name="2489NISTXML-SV-IV-atomic-unsignedByte-minExclusive-1-4 tokoe:valid" result="pass"/><test-case name="2490NISTXML-SV-IV-atomic-unsignedByte-minExclusive-1-5 tokoe:valid" result="pass"/><test-case name="2491NISTSchema-SV-IV-atomic-unsignedByte-minExclusive-2 tokoe:valid" result="pass"/><test-case name="2492NISTXML-SV-IV-atomic-unsignedByte-minExclusive-2-1 tokoe:valid" result="pass"/><test-case name="2493NISTXML-SV-IV-atomic-unsignedByte-minExclusive-2-2 tokoe:valid" result="pass"/><test-case name="2494NISTXML-SV-IV-atomic-unsignedByte-minExclusive-2-3 tokoe:valid" result="pass"/><test-case name="2495NISTXML-SV-IV-atomic-unsignedByte-minExclusive-2-4 tokoe:valid" result="pass"/><test-case name="2496NISTXML-SV-IV-atomic-unsignedByte-minExclusive-2-5 tokoe:valid" result="pass"/><test-case name="2497NISTSchema-SV-IV-atomic-unsignedByte-minExclusive-3 tokoe:valid" result="pass"/><test-case name="2498NISTXML-SV-IV-atomic-unsignedByte-minExclusive-3-1 tokoe:valid" result="pass"/><test-case name="2499NISTXML-SV-IV-atomic-unsignedByte-minExclusive-3-2 tokoe:valid" result="pass"/><test-case name="2500NISTXML-SV-IV-atomic-unsignedByte-minExclusive-3-3 tokoe:valid" result="pass"/><test-case name="2501NISTXML-SV-IV-atomic-unsignedByte-minExclusive-3-4 tokoe:valid" result="pass"/><test-case name="2502NISTXML-SV-IV-atomic-unsignedByte-minExclusive-3-5 tokoe:valid" result="pass"/><test-case name="2503NISTSchema-SV-IV-atomic-unsignedByte-minExclusive-4 tokoe:valid" result="pass"/><test-case name="2504NISTXML-SV-IV-atomic-unsignedByte-minExclusive-4-1 tokoe:valid" result="pass"/><test-case name="2505NISTXML-SV-IV-atomic-unsignedByte-minExclusive-4-2 tokoe:valid" result="pass"/><test-case name="2506NISTXML-SV-IV-atomic-unsignedByte-minExclusive-4-3 tokoe:valid" result="pass"/><test-case name="2507NISTXML-SV-IV-atomic-unsignedByte-minExclusive-4-4 tokoe:valid" result="pass"/><test-case name="2508NISTXML-SV-IV-atomic-unsignedByte-minExclusive-4-5 tokoe:valid" result="pass"/><test-case name="2509NISTSchema-SV-IV-atomic-unsignedByte-minExclusive-5 tokoe:valid" result="pass"/><test-case name="2510NISTXML-SV-IV-atomic-unsignedByte-minExclusive-5-1 tokoe:valid" result="pass"/><test-case name="2511NISTSchema-SV-IV-atomic-unsignedByte-minInclusive-1 tokoe:valid" result="pass"/><test-case name="2512NISTXML-SV-IV-atomic-unsignedByte-minInclusive-1-1 tokoe:valid" result="pass"/><test-case name="2513NISTXML-SV-IV-atomic-unsignedByte-minInclusive-1-2 tokoe:valid" result="pass"/><test-case name="2514NISTXML-SV-IV-atomic-unsignedByte-minInclusive-1-3 tokoe:valid" result="pass"/><test-case name="2515NISTXML-SV-IV-atomic-unsignedByte-minInclusive-1-4 tokoe:valid" result="pass"/><test-case name="2516NISTXML-SV-IV-atomic-unsignedByte-minInclusive-1-5 tokoe:valid" result="pass"/><test-case name="2517NISTSchema-SV-IV-atomic-unsignedByte-minInclusive-2 tokoe:valid" result="pass"/><test-case name="2518NISTXML-SV-IV-atomic-unsignedByte-minInclusive-2-1 tokoe:valid" result="pass"/><test-case name="2519NISTXML-SV-IV-atomic-unsignedByte-minInclusive-2-2 tokoe:valid" result="pass"/><test-case name="2520NISTXML-SV-IV-atomic-unsignedByte-minInclusive-2-3 tokoe:valid" result="pass"/><test-case name="2521NISTXML-SV-IV-atomic-unsignedByte-minInclusive-2-4 tokoe:valid" result="pass"/><test-case name="2522NISTXML-SV-IV-atomic-unsignedByte-minInclusive-2-5 tokoe:valid" result="pass"/><test-case name="2523NISTSchema-SV-IV-atomic-unsignedByte-minInclusive-3 tokoe:valid" result="pass"/><test-case name="2524NISTXML-SV-IV-atomic-unsignedByte-minInclusive-3-1 tokoe:valid" result="pass"/><test-case name="2525NISTXML-SV-IV-atomic-unsignedByte-minInclusive-3-2 tokoe:valid" result="pass"/><test-case name="2526NISTXML-SV-IV-atomic-unsignedByte-minInclusive-3-3 tokoe:valid" result="pass"/><test-case name="2527NISTXML-SV-IV-atomic-unsignedByte-minInclusive-3-4 tokoe:valid" result="pass"/><test-case name="2528NISTXML-SV-IV-atomic-unsignedByte-minInclusive-3-5 tokoe:valid" result="pass"/><test-case name="2529NISTSchema-SV-IV-atomic-unsignedByte-minInclusive-4 tokoe:valid" result="pass"/><test-case name="2530NISTXML-SV-IV-atomic-unsignedByte-minInclusive-4-1 tokoe:valid" result="pass"/><test-case name="2531NISTXML-SV-IV-atomic-unsignedByte-minInclusive-4-2 tokoe:valid" result="pass"/><test-case name="2532NISTXML-SV-IV-atomic-unsignedByte-minInclusive-4-3 tokoe:valid" result="pass"/><test-case name="2533NISTXML-SV-IV-atomic-unsignedByte-minInclusive-4-4 tokoe:valid" result="pass"/><test-case name="2534NISTXML-SV-IV-atomic-unsignedByte-minInclusive-4-5 tokoe:valid" result="pass"/><test-case name="2535NISTSchema-SV-IV-atomic-unsignedByte-minInclusive-5 tokoe:valid" result="pass"/><test-case name="2536NISTXML-SV-IV-atomic-unsignedByte-minInclusive-5-1 tokoe:valid" result="pass"/><test-case name="2537NISTSchema-SV-IV-atomic-unsignedByte-maxExclusive-1 tokoe:valid" result="pass"/><test-case name="2538NISTXML-SV-IV-atomic-unsignedByte-maxExclusive-1-1 tokoe:valid" result="pass"/><test-case name="2539NISTSchema-SV-IV-atomic-unsignedByte-maxExclusive-2 tokoe:valid" result="pass"/><test-case name="2540NISTXML-SV-IV-atomic-unsignedByte-maxExclusive-2-1 tokoe:valid" result="pass"/><test-case name="2541NISTXML-SV-IV-atomic-unsignedByte-maxExclusive-2-2 tokoe:valid" result="pass"/><test-case name="2542NISTXML-SV-IV-atomic-unsignedByte-maxExclusive-2-3 tokoe:valid" result="pass"/><test-case name="2543NISTXML-SV-IV-atomic-unsignedByte-maxExclusive-2-4 tokoe:valid" result="pass"/><test-case name="2544NISTXML-SV-IV-atomic-unsignedByte-maxExclusive-2-5 tokoe:valid" result="pass"/><test-case name="2545NISTSchema-SV-IV-atomic-unsignedByte-maxExclusive-3 tokoe:valid" result="pass"/><test-case name="2546NISTXML-SV-IV-atomic-unsignedByte-maxExclusive-3-1 tokoe:valid" result="pass"/><test-case name="2547NISTXML-SV-IV-atomic-unsignedByte-maxExclusive-3-2 tokoe:valid" result="pass"/><test-case name="2548NISTXML-SV-IV-atomic-unsignedByte-maxExclusive-3-3 tokoe:valid" result="pass"/><test-case name="2549NISTXML-SV-IV-atomic-unsignedByte-maxExclusive-3-4 tokoe:valid" result="pass"/><test-case name="2550NISTXML-SV-IV-atomic-unsignedByte-maxExclusive-3-5 tokoe:valid" result="pass"/><test-case name="2551NISTSchema-SV-IV-atomic-unsignedByte-maxExclusive-4 tokoe:valid" result="pass"/><test-case name="2552NISTXML-SV-IV-atomic-unsignedByte-maxExclusive-4-1 tokoe:valid" result="pass"/><test-case name="2553NISTXML-SV-IV-atomic-unsignedByte-maxExclusive-4-2 tokoe:valid" result="pass"/><test-case name="2554NISTXML-SV-IV-atomic-unsignedByte-maxExclusive-4-3 tokoe:valid" result="pass"/><test-case name="2555NISTXML-SV-IV-atomic-unsignedByte-maxExclusive-4-4 tokoe:valid" result="pass"/><test-case name="2556NISTXML-SV-IV-atomic-unsignedByte-maxExclusive-4-5 tokoe:valid" result="pass"/><test-case name="2557NISTSchema-SV-IV-atomic-unsignedByte-maxExclusive-5 tokoe:valid" result="pass"/><test-case name="2558NISTXML-SV-IV-atomic-unsignedByte-maxExclusive-5-1 tokoe:valid" result="pass"/><test-case name="2559NISTXML-SV-IV-atomic-unsignedByte-maxExclusive-5-2 tokoe:valid" result="pass"/><test-case name="2560NISTXML-SV-IV-atomic-unsignedByte-maxExclusive-5-3 tokoe:valid" result="pass"/><test-case name="2561NISTXML-SV-IV-atomic-unsignedByte-maxExclusive-5-4 tokoe:valid" result="pass"/><test-case name="2562NISTXML-SV-IV-atomic-unsignedByte-maxExclusive-5-5 tokoe:valid" result="pass"/><test-case name="2563NISTSchema-SV-IV-atomic-unsignedByte-maxInclusive-1 tokoe:valid" result="pass"/><test-case name="2564NISTXML-SV-IV-atomic-unsignedByte-maxInclusive-1-1 tokoe:valid" result="pass"/><test-case name="2565NISTSchema-SV-IV-atomic-unsignedByte-maxInclusive-2 tokoe:valid" result="pass"/><test-case name="2566NISTXML-SV-IV-atomic-unsignedByte-maxInclusive-2-1 tokoe:valid" result="pass"/><test-case name="2567NISTXML-SV-IV-atomic-unsignedByte-maxInclusive-2-2 tokoe:valid" result="pass"/><test-case name="2568NISTXML-SV-IV-atomic-unsignedByte-maxInclusive-2-3 tokoe:valid" result="pass"/><test-case name="2569NISTXML-SV-IV-atomic-unsignedByte-maxInclusive-2-4 tokoe:valid" result="pass"/><test-case name="2570NISTXML-SV-IV-atomic-unsignedByte-maxInclusive-2-5 tokoe:valid" result="pass"/><test-case name="2571NISTSchema-SV-IV-atomic-unsignedByte-maxInclusive-3 tokoe:valid" result="pass"/><test-case name="2572NISTXML-SV-IV-atomic-unsignedByte-maxInclusive-3-1 tokoe:valid" result="pass"/><test-case name="2573NISTXML-SV-IV-atomic-unsignedByte-maxInclusive-3-2 tokoe:valid" result="pass"/><test-case name="2574NISTXML-SV-IV-atomic-unsignedByte-maxInclusive-3-3 tokoe:valid" result="pass"/><test-case name="2575NISTXML-SV-IV-atomic-unsignedByte-maxInclusive-3-4 tokoe:valid" result="pass"/><test-case name="2576NISTXML-SV-IV-atomic-unsignedByte-maxInclusive-3-5 tokoe:valid" result="pass"/><test-case name="2577NISTSchema-SV-IV-atomic-unsignedByte-maxInclusive-4 tokoe:valid" result="pass"/><test-case name="2578NISTXML-SV-IV-atomic-unsignedByte-maxInclusive-4-1 tokoe:valid" result="pass"/><test-case name="2579NISTXML-SV-IV-atomic-unsignedByte-maxInclusive-4-2 tokoe:valid" result="pass"/><test-case name="2580NISTXML-SV-IV-atomic-unsignedByte-maxInclusive-4-3 tokoe:valid" result="pass"/><test-case name="2581NISTXML-SV-IV-atomic-unsignedByte-maxInclusive-4-4 tokoe:valid" result="pass"/><test-case name="2582NISTXML-SV-IV-atomic-unsignedByte-maxInclusive-4-5 tokoe:valid" result="pass"/><test-case name="2583NISTSchema-SV-IV-atomic-unsignedByte-maxInclusive-5 tokoe:valid" result="pass"/><test-case name="2584NISTXML-SV-IV-atomic-unsignedByte-maxInclusive-5-1 tokoe:valid" result="pass"/><test-case name="2585NISTXML-SV-IV-atomic-unsignedByte-maxInclusive-5-2 tokoe:valid" result="pass"/><test-case name="2586NISTXML-SV-IV-atomic-unsignedByte-maxInclusive-5-3 tokoe:valid" result="pass"/><test-case name="2587NISTXML-SV-IV-atomic-unsignedByte-maxInclusive-5-4 tokoe:valid" result="pass"/><test-case name="2588NISTXML-SV-IV-atomic-unsignedByte-maxInclusive-5-5 tokoe:valid" result="pass"/><test-case name="2589NISTSchema-SV-IV-atomic-unsignedByte-fractionDigits-1 tokoe:valid" result="pass"/><test-case name="2590NISTXML-SV-IV-atomic-unsignedByte-fractionDigits-1-1 tokoe:valid" result="pass"/><test-case name="2591NISTXML-SV-IV-atomic-unsignedByte-fractionDigits-1-2 tokoe:valid" result="pass"/><test-case name="2592NISTXML-SV-IV-atomic-unsignedByte-fractionDigits-1-3 tokoe:valid" result="pass"/><test-case name="2593NISTXML-SV-IV-atomic-unsignedByte-fractionDigits-1-4 tokoe:valid" result="pass"/><test-case name="2594NISTXML-SV-IV-atomic-unsignedByte-fractionDigits-1-5 tokoe:valid" result="pass"/><test-case name="2595NISTSchema-SV-IV-atomic-unsignedByte-totalDigits-1 tokoe:valid" result="pass"/><test-case name="2596NISTXML-SV-IV-atomic-unsignedByte-totalDigits-1-1 tokoe:valid" result="pass"/><test-case name="2597NISTXML-SV-IV-atomic-unsignedByte-totalDigits-1-2 tokoe:valid" result="pass"/><test-case name="2598NISTXML-SV-IV-atomic-unsignedByte-totalDigits-1-3 tokoe:valid" result="pass"/><test-case name="2599NISTXML-SV-IV-atomic-unsignedByte-totalDigits-1-4 tokoe:valid" result="pass"/><test-case name="2600NISTXML-SV-IV-atomic-unsignedByte-totalDigits-1-5 tokoe:valid" result="pass"/><test-case name="2601NISTSchema-SV-IV-atomic-unsignedByte-totalDigits-2 tokoe:valid" result="pass"/><test-case name="2602NISTXML-SV-IV-atomic-unsignedByte-totalDigits-2-1 tokoe:valid" result="pass"/><test-case name="2603NISTXML-SV-IV-atomic-unsignedByte-totalDigits-2-2 tokoe:valid" result="pass"/><test-case name="2604NISTXML-SV-IV-atomic-unsignedByte-totalDigits-2-3 tokoe:valid" result="pass"/><test-case name="2605NISTXML-SV-IV-atomic-unsignedByte-totalDigits-2-4 tokoe:valid" result="pass"/><test-case name="2606NISTXML-SV-IV-atomic-unsignedByte-totalDigits-2-5 tokoe:valid" result="pass"/><test-case name="2607NISTSchema-SV-IV-atomic-unsignedByte-totalDigits-3 tokoe:valid" result="pass"/><test-case name="2608NISTXML-SV-IV-atomic-unsignedByte-totalDigits-3-1 tokoe:valid" result="pass"/><test-case name="2609NISTXML-SV-IV-atomic-unsignedByte-totalDigits-3-2 tokoe:valid" result="pass"/><test-case name="2610NISTXML-SV-IV-atomic-unsignedByte-totalDigits-3-3 tokoe:valid" result="pass"/><test-case name="2611NISTXML-SV-IV-atomic-unsignedByte-totalDigits-3-4 tokoe:valid" result="pass"/><test-case name="2612NISTXML-SV-IV-atomic-unsignedByte-totalDigits-3-5 tokoe:valid" result="pass"/><test-case name="2613NISTSchema-SV-IV-atomic-unsignedByte-pattern-1 tokoe:valid" result="pass"/><test-case name="2614NISTXML-SV-IV-atomic-unsignedByte-pattern-1-1 tokoe:valid" result="pass"/><test-case name="2615NISTXML-SV-IV-atomic-unsignedByte-pattern-1-2 tokoe:valid" result="pass"/><test-case name="2616NISTXML-SV-IV-atomic-unsignedByte-pattern-1-3 tokoe:valid" result="pass"/><test-case name="2617NISTXML-SV-IV-atomic-unsignedByte-pattern-1-4 tokoe:valid" result="pass"/><test-case name="2618NISTXML-SV-IV-atomic-unsignedByte-pattern-1-5 tokoe:valid" result="pass"/><test-case name="2619NISTSchema-SV-IV-atomic-unsignedByte-pattern-2 tokoe:valid" result="pass"/><test-case name="2620NISTXML-SV-IV-atomic-unsignedByte-pattern-2-1 tokoe:valid" result="pass"/><test-case name="2621NISTXML-SV-IV-atomic-unsignedByte-pattern-2-2 tokoe:valid" result="pass"/><test-case name="2622NISTXML-SV-IV-atomic-unsignedByte-pattern-2-3 tokoe:valid" result="pass"/><test-case name="2623NISTXML-SV-IV-atomic-unsignedByte-pattern-2-4 tokoe:valid" result="pass"/><test-case name="2624NISTXML-SV-IV-atomic-unsignedByte-pattern-2-5 tokoe:valid" result="pass"/><test-case name="2625NISTSchema-SV-IV-atomic-unsignedByte-pattern-3 tokoe:valid" result="pass"/><test-case name="2626NISTXML-SV-IV-atomic-unsignedByte-pattern-3-1 tokoe:valid" result="pass"/><test-case name="2627NISTXML-SV-IV-atomic-unsignedByte-pattern-3-2 tokoe:valid" result="pass"/><test-case name="2628NISTXML-SV-IV-atomic-unsignedByte-pattern-3-3 tokoe:valid" result="pass"/><test-case name="2629NISTXML-SV-IV-atomic-unsignedByte-pattern-3-4 tokoe:valid" result="pass"/><test-case name="2630NISTXML-SV-IV-atomic-unsignedByte-pattern-3-5 tokoe:valid" result="pass"/><test-case name="2631NISTSchema-SV-IV-atomic-unsignedByte-pattern-4 tokoe:valid" result="pass"/><test-case name="2632NISTXML-SV-IV-atomic-unsignedByte-pattern-4-1 tokoe:valid" result="pass"/><test-case name="2633NISTXML-SV-IV-atomic-unsignedByte-pattern-4-2 tokoe:valid" result="pass"/><test-case name="2634NISTXML-SV-IV-atomic-unsignedByte-pattern-4-3 tokoe:valid" result="pass"/><test-case name="2635NISTXML-SV-IV-atomic-unsignedByte-pattern-4-4 tokoe:valid" result="pass"/><test-case name="2636NISTXML-SV-IV-atomic-unsignedByte-pattern-4-5 tokoe:valid" result="pass"/><test-case name="2637NISTSchema-SV-IV-atomic-unsignedByte-pattern-5 tokoe:valid" result="pass"/><test-case name="2638NISTXML-SV-IV-atomic-unsignedByte-pattern-5-1 tokoe:valid" result="pass"/><test-case name="2639NISTXML-SV-IV-atomic-unsignedByte-pattern-5-2 tokoe:valid" result="pass"/><test-case name="2640NISTXML-SV-IV-atomic-unsignedByte-pattern-5-3 tokoe:valid" result="pass"/><test-case name="2641NISTXML-SV-IV-atomic-unsignedByte-pattern-5-4 tokoe:valid" result="pass"/><test-case name="2642NISTXML-SV-IV-atomic-unsignedByte-pattern-5-5 tokoe:valid" result="pass"/><test-case name="2643NISTSchema-SV-IV-atomic-unsignedByte-enumeration-1 tokoe:valid" result="pass"/><test-case name="2644NISTXML-SV-IV-atomic-unsignedByte-enumeration-1-1 tokoe:valid" result="pass"/><test-case name="2645NISTXML-SV-IV-atomic-unsignedByte-enumeration-1-2 tokoe:valid" result="pass"/><test-case name="2646NISTXML-SV-IV-atomic-unsignedByte-enumeration-1-3 tokoe:valid" result="pass"/><test-case name="2647NISTXML-SV-IV-atomic-unsignedByte-enumeration-1-4 tokoe:valid" result="pass"/><test-case name="2648NISTXML-SV-IV-atomic-unsignedByte-enumeration-1-5 tokoe:valid" result="pass"/><test-case name="2649NISTSchema-SV-IV-atomic-unsignedByte-enumeration-2 tokoe:valid" result="pass"/><test-case name="2650NISTXML-SV-IV-atomic-unsignedByte-enumeration-2-1 tokoe:valid" result="pass"/><test-case name="2651NISTXML-SV-IV-atomic-unsignedByte-enumeration-2-2 tokoe:valid" result="pass"/><test-case name="2652NISTXML-SV-IV-atomic-unsignedByte-enumeration-2-3 tokoe:valid" result="pass"/><test-case name="2653NISTXML-SV-IV-atomic-unsignedByte-enumeration-2-4 tokoe:valid" result="pass"/><test-case name="2654NISTXML-SV-IV-atomic-unsignedByte-enumeration-2-5 tokoe:valid" result="pass"/><test-case name="2655NISTSchema-SV-IV-atomic-unsignedByte-enumeration-3 tokoe:valid" result="pass"/><test-case name="2656NISTXML-SV-IV-atomic-unsignedByte-enumeration-3-1 tokoe:valid" result="pass"/><test-case name="2657NISTXML-SV-IV-atomic-unsignedByte-enumeration-3-2 tokoe:valid" result="pass"/><test-case name="2658NISTXML-SV-IV-atomic-unsignedByte-enumeration-3-3 tokoe:valid" result="pass"/><test-case name="2659NISTXML-SV-IV-atomic-unsignedByte-enumeration-3-4 tokoe:valid" result="pass"/><test-case name="2660NISTXML-SV-IV-atomic-unsignedByte-enumeration-3-5 tokoe:valid" result="pass"/><test-case name="2661NISTSchema-SV-IV-atomic-unsignedByte-enumeration-4 tokoe:valid" result="pass"/><test-case name="2662NISTXML-SV-IV-atomic-unsignedByte-enumeration-4-1 tokoe:valid" result="pass"/><test-case name="2663NISTXML-SV-IV-atomic-unsignedByte-enumeration-4-2 tokoe:valid" result="pass"/><test-case name="2664NISTXML-SV-IV-atomic-unsignedByte-enumeration-4-3 tokoe:valid" result="pass"/><test-case name="2665NISTXML-SV-IV-atomic-unsignedByte-enumeration-4-4 tokoe:valid" result="pass"/><test-case name="2666NISTXML-SV-IV-atomic-unsignedByte-enumeration-4-5 tokoe:valid" result="pass"/><test-case name="2667NISTSchema-SV-IV-atomic-unsignedByte-enumeration-5 tokoe:valid" result="pass"/><test-case name="2668NISTXML-SV-IV-atomic-unsignedByte-enumeration-5-1 tokoe:valid" result="pass"/><test-case name="2669NISTXML-SV-IV-atomic-unsignedByte-enumeration-5-2 tokoe:valid" result="pass"/><test-case name="2670NISTXML-SV-IV-atomic-unsignedByte-enumeration-5-3 tokoe:valid" result="pass"/><test-case name="2671NISTXML-SV-IV-atomic-unsignedByte-enumeration-5-4 tokoe:valid" result="pass"/><test-case name="2672NISTXML-SV-IV-atomic-unsignedByte-enumeration-5-5 tokoe:valid" result="pass"/><test-case name="2673NISTSchema-SV-IV-atomic-unsignedByte-whiteSpace-1 tokoe:valid" result="pass"/><test-case name="2674NISTXML-SV-IV-atomic-unsignedByte-whiteSpace-1-1 tokoe:valid" result="pass"/><test-case name="2675NISTXML-SV-IV-atomic-unsignedByte-whiteSpace-1-2 tokoe:valid" result="pass"/><test-case name="2676NISTXML-SV-IV-atomic-unsignedByte-whiteSpace-1-3 tokoe:valid" result="pass"/><test-case name="2677NISTXML-SV-IV-atomic-unsignedByte-whiteSpace-1-4 tokoe:valid" result="pass"/><test-case name="2678NISTXML-SV-IV-atomic-unsignedByte-whiteSpace-1-5 tokoe:valid" result="pass"/><test-case name="2679NISTSchema-SV-IV-atomic-positiveInteger-minExclusive-1 tokoe:valid" result="pass"/><test-case name="2680NISTXML-SV-IV-atomic-positiveInteger-minExclusive-1-1 tokoe:valid" result="pass"/><test-case name="2681NISTXML-SV-IV-atomic-positiveInteger-minExclusive-1-2 tokoe:valid" result="pass"/><test-case name="2682NISTXML-SV-IV-atomic-positiveInteger-minExclusive-1-3 tokoe:valid" result="pass"/><test-case name="2683NISTXML-SV-IV-atomic-positiveInteger-minExclusive-1-4 tokoe:valid" result="pass"/><test-case name="2684NISTXML-SV-IV-atomic-positiveInteger-minExclusive-1-5 tokoe:valid" result="pass"/><test-case name="2685NISTSchema-SV-IV-atomic-positiveInteger-minExclusive-2 tokoe:valid" result="pass"/><test-case name="2686NISTXML-SV-IV-atomic-positiveInteger-minExclusive-2-1 tokoe:valid" result="pass"/><test-case name="2687NISTXML-SV-IV-atomic-positiveInteger-minExclusive-2-2 tokoe:valid" result="pass"/><test-case name="2688NISTXML-SV-IV-atomic-positiveInteger-minExclusive-2-3 tokoe:valid" result="pass"/><test-case name="2689NISTXML-SV-IV-atomic-positiveInteger-minExclusive-2-4 tokoe:valid" result="pass"/><test-case name="2690NISTXML-SV-IV-atomic-positiveInteger-minExclusive-2-5 tokoe:valid" result="pass"/><test-case name="2691NISTSchema-SV-IV-atomic-positiveInteger-minExclusive-3 tokoe:valid" result="pass"/><test-case name="2692NISTXML-SV-IV-atomic-positiveInteger-minExclusive-3-1 tokoe:valid" result="pass"/><test-case name="2693NISTXML-SV-IV-atomic-positiveInteger-minExclusive-3-2 tokoe:valid" result="pass"/><test-case name="2694NISTXML-SV-IV-atomic-positiveInteger-minExclusive-3-3 tokoe:valid" result="pass"/><test-case name="2695NISTXML-SV-IV-atomic-positiveInteger-minExclusive-3-4 tokoe:valid" result="pass"/><test-case name="2696NISTXML-SV-IV-atomic-positiveInteger-minExclusive-3-5 tokoe:valid" result="pass"/><test-case name="2697NISTSchema-SV-IV-atomic-positiveInteger-minExclusive-4 tokoe:valid" result="pass"/><test-case name="2698NISTXML-SV-IV-atomic-positiveInteger-minExclusive-4-1 tokoe:valid" result="pass"/><test-case name="2699NISTXML-SV-IV-atomic-positiveInteger-minExclusive-4-2 tokoe:valid" result="pass"/><test-case name="2700NISTXML-SV-IV-atomic-positiveInteger-minExclusive-4-3 tokoe:valid" result="pass"/><test-case name="2701NISTXML-SV-IV-atomic-positiveInteger-minExclusive-4-4 tokoe:valid" result="pass"/><test-case name="2702NISTXML-SV-IV-atomic-positiveInteger-minExclusive-4-5 tokoe:valid" result="pass"/><test-case name="2703NISTSchema-SV-IV-atomic-positiveInteger-minExclusive-5 tokoe:valid" result="pass"/><test-case name="2704NISTXML-SV-IV-atomic-positiveInteger-minExclusive-5-1 tokoe:valid" result="pass"/><test-case name="2705NISTSchema-SV-IV-atomic-positiveInteger-minInclusive-1 tokoe:valid" result="pass"/><test-case name="2706NISTXML-SV-IV-atomic-positiveInteger-minInclusive-1-1 tokoe:valid" result="pass"/><test-case name="2707NISTXML-SV-IV-atomic-positiveInteger-minInclusive-1-2 tokoe:valid" result="pass"/><test-case name="2708NISTXML-SV-IV-atomic-positiveInteger-minInclusive-1-3 tokoe:valid" result="pass"/><test-case name="2709NISTXML-SV-IV-atomic-positiveInteger-minInclusive-1-4 tokoe:valid" result="pass"/><test-case name="2710NISTXML-SV-IV-atomic-positiveInteger-minInclusive-1-5 tokoe:valid" result="pass"/><test-case name="2711NISTSchema-SV-IV-atomic-positiveInteger-minInclusive-2 tokoe:valid" result="pass"/><test-case name="2712NISTXML-SV-IV-atomic-positiveInteger-minInclusive-2-1 tokoe:valid" result="pass"/><test-case name="2713NISTXML-SV-IV-atomic-positiveInteger-minInclusive-2-2 tokoe:valid" result="pass"/><test-case name="2714NISTXML-SV-IV-atomic-positiveInteger-minInclusive-2-3 tokoe:valid" result="pass"/><test-case name="2715NISTXML-SV-IV-atomic-positiveInteger-minInclusive-2-4 tokoe:valid" result="pass"/><test-case name="2716NISTXML-SV-IV-atomic-positiveInteger-minInclusive-2-5 tokoe:valid" result="pass"/><test-case name="2717NISTSchema-SV-IV-atomic-positiveInteger-minInclusive-3 tokoe:valid" result="pass"/><test-case name="2718NISTXML-SV-IV-atomic-positiveInteger-minInclusive-3-1 tokoe:valid" result="pass"/><test-case name="2719NISTXML-SV-IV-atomic-positiveInteger-minInclusive-3-2 tokoe:valid" result="pass"/><test-case name="2720NISTXML-SV-IV-atomic-positiveInteger-minInclusive-3-3 tokoe:valid" result="pass"/><test-case name="2721NISTXML-SV-IV-atomic-positiveInteger-minInclusive-3-4 tokoe:valid" result="pass"/><test-case name="2722NISTXML-SV-IV-atomic-positiveInteger-minInclusive-3-5 tokoe:valid" result="pass"/><test-case name="2723NISTSchema-SV-IV-atomic-positiveInteger-minInclusive-4 tokoe:valid" result="pass"/><test-case name="2724NISTXML-SV-IV-atomic-positiveInteger-minInclusive-4-1 tokoe:valid" result="pass"/><test-case name="2725NISTXML-SV-IV-atomic-positiveInteger-minInclusive-4-2 tokoe:valid" result="pass"/><test-case name="2726NISTXML-SV-IV-atomic-positiveInteger-minInclusive-4-3 tokoe:valid" result="pass"/><test-case name="2727NISTXML-SV-IV-atomic-positiveInteger-minInclusive-4-4 tokoe:valid" result="pass"/><test-case name="2728NISTXML-SV-IV-atomic-positiveInteger-minInclusive-4-5 tokoe:valid" result="pass"/><test-case name="2729NISTSchema-SV-IV-atomic-positiveInteger-minInclusive-5 tokoe:valid" result="pass"/><test-case name="2730NISTXML-SV-IV-atomic-positiveInteger-minInclusive-5-1 tokoe:valid" result="pass"/><test-case name="2731NISTSchema-SV-IV-atomic-positiveInteger-maxExclusive-1 tokoe:valid" result="pass"/><test-case name="2732NISTXML-SV-IV-atomic-positiveInteger-maxExclusive-1-1 tokoe:valid" result="pass"/><test-case name="2733NISTSchema-SV-IV-atomic-positiveInteger-maxExclusive-2 tokoe:valid" result="pass"/><test-case name="2734NISTXML-SV-IV-atomic-positiveInteger-maxExclusive-2-1 tokoe:valid" result="pass"/><test-case name="2735NISTXML-SV-IV-atomic-positiveInteger-maxExclusive-2-2 tokoe:valid" result="pass"/><test-case name="2736NISTXML-SV-IV-atomic-positiveInteger-maxExclusive-2-3 tokoe:valid" result="pass"/><test-case name="2737NISTXML-SV-IV-atomic-positiveInteger-maxExclusive-2-4 tokoe:valid" result="pass"/><test-case name="2738NISTXML-SV-IV-atomic-positiveInteger-maxExclusive-2-5 tokoe:valid" result="pass"/><test-case name="2739NISTSchema-SV-IV-atomic-positiveInteger-maxExclusive-3 tokoe:valid" result="pass"/><test-case name="2740NISTXML-SV-IV-atomic-positiveInteger-maxExclusive-3-1 tokoe:valid" result="pass"/><test-case name="2741NISTXML-SV-IV-atomic-positiveInteger-maxExclusive-3-2 tokoe:valid" result="pass"/><test-case name="2742NISTXML-SV-IV-atomic-positiveInteger-maxExclusive-3-3 tokoe:valid" result="pass"/><test-case name="2743NISTXML-SV-IV-atomic-positiveInteger-maxExclusive-3-4 tokoe:valid" result="pass"/><test-case name="2744NISTXML-SV-IV-atomic-positiveInteger-maxExclusive-3-5 tokoe:valid" result="pass"/><test-case name="2745NISTSchema-SV-IV-atomic-positiveInteger-maxExclusive-4 tokoe:valid" result="pass"/><test-case name="2746NISTXML-SV-IV-atomic-positiveInteger-maxExclusive-4-1 tokoe:valid" result="pass"/><test-case name="2747NISTXML-SV-IV-atomic-positiveInteger-maxExclusive-4-2 tokoe:valid" result="pass"/><test-case name="2748NISTXML-SV-IV-atomic-positiveInteger-maxExclusive-4-3 tokoe:valid" result="pass"/><test-case name="2749NISTXML-SV-IV-atomic-positiveInteger-maxExclusive-4-4 tokoe:valid" result="pass"/><test-case name="2750NISTXML-SV-IV-atomic-positiveInteger-maxExclusive-4-5 tokoe:valid" result="pass"/><test-case name="2751NISTSchema-SV-IV-atomic-positiveInteger-maxExclusive-5 tokoe:valid" result="pass"/><test-case name="2752NISTXML-SV-IV-atomic-positiveInteger-maxExclusive-5-1 tokoe:valid" result="pass"/><test-case name="2753NISTXML-SV-IV-atomic-positiveInteger-maxExclusive-5-2 tokoe:valid" result="pass"/><test-case name="2754NISTXML-SV-IV-atomic-positiveInteger-maxExclusive-5-3 tokoe:valid" result="pass"/><test-case name="2755NISTXML-SV-IV-atomic-positiveInteger-maxExclusive-5-4 tokoe:valid" result="pass"/><test-case name="2756NISTXML-SV-IV-atomic-positiveInteger-maxExclusive-5-5 tokoe:valid" result="pass"/><test-case name="2757NISTSchema-SV-IV-atomic-positiveInteger-maxInclusive-1 tokoe:valid" result="pass"/><test-case name="2758NISTXML-SV-IV-atomic-positiveInteger-maxInclusive-1-1 tokoe:valid" result="pass"/><test-case name="2759NISTSchema-SV-IV-atomic-positiveInteger-maxInclusive-2 tokoe:valid" result="pass"/><test-case name="2760NISTXML-SV-IV-atomic-positiveInteger-maxInclusive-2-1 tokoe:valid" result="pass"/><test-case name="2761NISTXML-SV-IV-atomic-positiveInteger-maxInclusive-2-2 tokoe:valid" result="pass"/><test-case name="2762NISTXML-SV-IV-atomic-positiveInteger-maxInclusive-2-3 tokoe:valid" result="pass"/><test-case name="2763NISTXML-SV-IV-atomic-positiveInteger-maxInclusive-2-4 tokoe:valid" result="pass"/><test-case name="2764NISTXML-SV-IV-atomic-positiveInteger-maxInclusive-2-5 tokoe:valid" result="pass"/><test-case name="2765NISTSchema-SV-IV-atomic-positiveInteger-maxInclusive-3 tokoe:valid" result="pass"/><test-case name="2766NISTXML-SV-IV-atomic-positiveInteger-maxInclusive-3-1 tokoe:valid" result="pass"/><test-case name="2767NISTXML-SV-IV-atomic-positiveInteger-maxInclusive-3-2 tokoe:valid" result="pass"/><test-case name="2768NISTXML-SV-IV-atomic-positiveInteger-maxInclusive-3-3 tokoe:valid" result="pass"/><test-case name="2769NISTXML-SV-IV-atomic-positiveInteger-maxInclusive-3-4 tokoe:valid" result="pass"/><test-case name="2770NISTXML-SV-IV-atomic-positiveInteger-maxInclusive-3-5 tokoe:valid" result="pass"/><test-case name="2771NISTSchema-SV-IV-atomic-positiveInteger-maxInclusive-4 tokoe:valid" result="pass"/><test-case name="2772NISTXML-SV-IV-atomic-positiveInteger-maxInclusive-4-1 tokoe:valid" result="pass"/><test-case name="2773NISTXML-SV-IV-atomic-positiveInteger-maxInclusive-4-2 tokoe:valid" result="pass"/><test-case name="2774NISTXML-SV-IV-atomic-positiveInteger-maxInclusive-4-3 tokoe:valid" result="pass"/><test-case name="2775NISTXML-SV-IV-atomic-positiveInteger-maxInclusive-4-4 tokoe:valid" result="pass"/><test-case name="2776NISTXML-SV-IV-atomic-positiveInteger-maxInclusive-4-5 tokoe:valid" result="pass"/><test-case name="2777NISTSchema-SV-IV-atomic-positiveInteger-maxInclusive-5 tokoe:valid" result="pass"/><test-case name="2778NISTXML-SV-IV-atomic-positiveInteger-maxInclusive-5-1 tokoe:valid" result="pass"/><test-case name="2779NISTXML-SV-IV-atomic-positiveInteger-maxInclusive-5-2 tokoe:valid" result="pass"/><test-case name="2780NISTXML-SV-IV-atomic-positiveInteger-maxInclusive-5-3 tokoe:valid" result="pass"/><test-case name="2781NISTXML-SV-IV-atomic-positiveInteger-maxInclusive-5-4 tokoe:valid" result="pass"/><test-case name="2782NISTXML-SV-IV-atomic-positiveInteger-maxInclusive-5-5 tokoe:valid" result="pass"/><test-case name="2783NISTSchema-SV-IV-atomic-positiveInteger-fractionDigits-1 tokoe:valid" result="pass"/><test-case name="2784NISTXML-SV-IV-atomic-positiveInteger-fractionDigits-1-1 tokoe:valid" result="pass"/><test-case name="2785NISTXML-SV-IV-atomic-positiveInteger-fractionDigits-1-2 tokoe:valid" result="pass"/><test-case name="2786NISTXML-SV-IV-atomic-positiveInteger-fractionDigits-1-3 tokoe:valid" result="pass"/><test-case name="2787NISTXML-SV-IV-atomic-positiveInteger-fractionDigits-1-4 tokoe:valid" result="pass"/><test-case name="2788NISTXML-SV-IV-atomic-positiveInteger-fractionDigits-1-5 tokoe:valid" result="pass"/><test-case name="2789NISTSchema-SV-IV-atomic-positiveInteger-totalDigits-1 tokoe:valid" result="pass"/><test-case name="2790NISTXML-SV-IV-atomic-positiveInteger-totalDigits-1-1 tokoe:valid" result="pass"/><test-case name="2791NISTXML-SV-IV-atomic-positiveInteger-totalDigits-1-2 tokoe:valid" result="pass"/><test-case name="2792NISTXML-SV-IV-atomic-positiveInteger-totalDigits-1-3 tokoe:valid" result="pass"/><test-case name="2793NISTXML-SV-IV-atomic-positiveInteger-totalDigits-1-4 tokoe:valid" result="pass"/><test-case name="2794NISTXML-SV-IV-atomic-positiveInteger-totalDigits-1-5 tokoe:valid" result="pass"/><test-case name="2795NISTSchema-SV-IV-atomic-positiveInteger-totalDigits-2 tokoe:valid" result="pass"/><test-case name="2796NISTXML-SV-IV-atomic-positiveInteger-totalDigits-2-1 tokoe:valid" result="pass"/><test-case name="2797NISTXML-SV-IV-atomic-positiveInteger-totalDigits-2-2 tokoe:valid" result="pass"/><test-case name="2798NISTXML-SV-IV-atomic-positiveInteger-totalDigits-2-3 tokoe:valid" result="pass"/><test-case name="2799NISTXML-SV-IV-atomic-positiveInteger-totalDigits-2-4 tokoe:valid" result="pass"/><test-case name="2800NISTXML-SV-IV-atomic-positiveInteger-totalDigits-2-5 tokoe:valid" result="pass"/><test-case name="2801NISTSchema-SV-IV-atomic-positiveInteger-totalDigits-3 tokoe:valid" result="pass"/><test-case name="2802NISTXML-SV-IV-atomic-positiveInteger-totalDigits-3-1 tokoe:valid" result="pass"/><test-case name="2803NISTXML-SV-IV-atomic-positiveInteger-totalDigits-3-2 tokoe:valid" result="pass"/><test-case name="2804NISTXML-SV-IV-atomic-positiveInteger-totalDigits-3-3 tokoe:valid" result="pass"/><test-case name="2805NISTXML-SV-IV-atomic-positiveInteger-totalDigits-3-4 tokoe:valid" result="pass"/><test-case name="2806NISTXML-SV-IV-atomic-positiveInteger-totalDigits-3-5 tokoe:valid" result="pass"/><test-case name="2807NISTSchema-SV-IV-atomic-positiveInteger-totalDigits-4 tokoe:valid" result="pass"/><test-case name="2808NISTXML-SV-IV-atomic-positiveInteger-totalDigits-4-1 tokoe:valid" result="pass"/><test-case name="2809NISTXML-SV-IV-atomic-positiveInteger-totalDigits-4-2 tokoe:valid" result="pass"/><test-case name="2810NISTXML-SV-IV-atomic-positiveInteger-totalDigits-4-3 tokoe:valid" result="pass"/><test-case name="2811NISTXML-SV-IV-atomic-positiveInteger-totalDigits-4-4 tokoe:valid" result="pass"/><test-case name="2812NISTXML-SV-IV-atomic-positiveInteger-totalDigits-4-5 tokoe:valid" result="pass"/><test-case name="2813NISTSchema-SV-IV-atomic-positiveInteger-totalDigits-5 tokoe:valid" result="pass"/><test-case name="2814NISTXML-SV-IV-atomic-positiveInteger-totalDigits-5-1 tokoe:valid" result="pass"/><test-case name="2815NISTXML-SV-IV-atomic-positiveInteger-totalDigits-5-2 tokoe:valid" result="pass"/><test-case name="2816NISTXML-SV-IV-atomic-positiveInteger-totalDigits-5-3 tokoe:valid" result="pass"/><test-case name="2817NISTXML-SV-IV-atomic-positiveInteger-totalDigits-5-4 tokoe:valid" result="pass"/><test-case name="2818NISTXML-SV-IV-atomic-positiveInteger-totalDigits-5-5 tokoe:valid" result="pass"/><test-case name="2819NISTSchema-SV-IV-atomic-positiveInteger-pattern-1 tokoe:valid" result="pass"/><test-case name="2820NISTXML-SV-IV-atomic-positiveInteger-pattern-1-1 tokoe:valid" result="pass"/><test-case name="2821NISTXML-SV-IV-atomic-positiveInteger-pattern-1-2 tokoe:valid" result="pass"/><test-case name="2822NISTXML-SV-IV-atomic-positiveInteger-pattern-1-3 tokoe:valid" result="pass"/><test-case name="2823NISTXML-SV-IV-atomic-positiveInteger-pattern-1-4 tokoe:valid" result="pass"/><test-case name="2824NISTXML-SV-IV-atomic-positiveInteger-pattern-1-5 tokoe:valid" result="pass"/><test-case name="2825NISTSchema-SV-IV-atomic-positiveInteger-pattern-2 tokoe:valid" result="pass"/><test-case name="2826NISTXML-SV-IV-atomic-positiveInteger-pattern-2-1 tokoe:valid" result="pass"/><test-case name="2827NISTXML-SV-IV-atomic-positiveInteger-pattern-2-2 tokoe:valid" result="pass"/><test-case name="2828NISTXML-SV-IV-atomic-positiveInteger-pattern-2-3 tokoe:valid" result="pass"/><test-case name="2829NISTXML-SV-IV-atomic-positiveInteger-pattern-2-4 tokoe:valid" result="pass"/><test-case name="2830NISTXML-SV-IV-atomic-positiveInteger-pattern-2-5 tokoe:valid" result="pass"/><test-case name="2831NISTSchema-SV-IV-atomic-positiveInteger-pattern-3 tokoe:valid" result="pass"/><test-case name="2832NISTXML-SV-IV-atomic-positiveInteger-pattern-3-1 tokoe:valid" result="pass"/><test-case name="2833NISTXML-SV-IV-atomic-positiveInteger-pattern-3-2 tokoe:valid" result="pass"/><test-case name="2834NISTXML-SV-IV-atomic-positiveInteger-pattern-3-3 tokoe:valid" result="pass"/><test-case name="2835NISTXML-SV-IV-atomic-positiveInteger-pattern-3-4 tokoe:valid" result="pass"/><test-case name="2836NISTXML-SV-IV-atomic-positiveInteger-pattern-3-5 tokoe:valid" result="pass"/><test-case name="2837NISTSchema-SV-IV-atomic-positiveInteger-pattern-4 tokoe:valid" result="pass"/><test-case name="2838NISTXML-SV-IV-atomic-positiveInteger-pattern-4-1 tokoe:valid" result="pass"/><test-case name="2839NISTXML-SV-IV-atomic-positiveInteger-pattern-4-2 tokoe:valid" result="pass"/><test-case name="2840NISTXML-SV-IV-atomic-positiveInteger-pattern-4-3 tokoe:valid" result="pass"/><test-case name="2841NISTXML-SV-IV-atomic-positiveInteger-pattern-4-4 tokoe:valid" result="pass"/><test-case name="2842NISTXML-SV-IV-atomic-positiveInteger-pattern-4-5 tokoe:valid" result="pass"/><test-case name="2843NISTSchema-SV-IV-atomic-positiveInteger-pattern-5 tokoe:valid" result="pass"/><test-case name="2844NISTXML-SV-IV-atomic-positiveInteger-pattern-5-1 tokoe:valid" result="pass"/><test-case name="2845NISTXML-SV-IV-atomic-positiveInteger-pattern-5-2 tokoe:valid" result="pass"/><test-case name="2846NISTXML-SV-IV-atomic-positiveInteger-pattern-5-3 tokoe:valid" result="pass"/><test-case name="2847NISTXML-SV-IV-atomic-positiveInteger-pattern-5-4 tokoe:valid" result="pass"/><test-case name="2848NISTXML-SV-IV-atomic-positiveInteger-pattern-5-5 tokoe:valid" result="pass"/><test-case name="2849NISTSchema-SV-IV-atomic-positiveInteger-enumeration-1 tokoe:valid" result="pass"/><test-case name="2850NISTXML-SV-IV-atomic-positiveInteger-enumeration-1-1 tokoe:valid" result="pass"/><test-case name="2851NISTXML-SV-IV-atomic-positiveInteger-enumeration-1-2 tokoe:valid" result="pass"/><test-case name="2852NISTXML-SV-IV-atomic-positiveInteger-enumeration-1-3 tokoe:valid" result="pass"/><test-case name="2853NISTXML-SV-IV-atomic-positiveInteger-enumeration-1-4 tokoe:valid" result="pass"/><test-case name="2854NISTXML-SV-IV-atomic-positiveInteger-enumeration-1-5 tokoe:valid" result="pass"/><test-case name="2855NISTSchema-SV-IV-atomic-positiveInteger-enumeration-2 tokoe:valid" result="pass"/><test-case name="2856NISTXML-SV-IV-atomic-positiveInteger-enumeration-2-1 tokoe:valid" result="pass"/><test-case name="2857NISTXML-SV-IV-atomic-positiveInteger-enumeration-2-2 tokoe:valid" result="pass"/><test-case name="2858NISTXML-SV-IV-atomic-positiveInteger-enumeration-2-3 tokoe:valid" result="pass"/><test-case name="2859NISTXML-SV-IV-atomic-positiveInteger-enumeration-2-4 tokoe:valid" result="pass"/><test-case name="2860NISTXML-SV-IV-atomic-positiveInteger-enumeration-2-5 tokoe:valid" result="pass"/><test-case name="2861NISTSchema-SV-IV-atomic-positiveInteger-enumeration-3 tokoe:valid" result="pass"/><test-case name="2862NISTXML-SV-IV-atomic-positiveInteger-enumeration-3-1 tokoe:valid" result="pass"/><test-case name="2863NISTXML-SV-IV-atomic-positiveInteger-enumeration-3-2 tokoe:valid" result="pass"/><test-case name="2864NISTXML-SV-IV-atomic-positiveInteger-enumeration-3-3 tokoe:valid" result="pass"/><test-case name="2865NISTXML-SV-IV-atomic-positiveInteger-enumeration-3-4 tokoe:valid" result="pass"/><test-case name="2866NISTXML-SV-IV-atomic-positiveInteger-enumeration-3-5 tokoe:valid" result="pass"/><test-case name="2867NISTSchema-SV-IV-atomic-positiveInteger-enumeration-4 tokoe:valid" result="pass"/><test-case name="2868NISTXML-SV-IV-atomic-positiveInteger-enumeration-4-1 tokoe:valid" result="pass"/><test-case name="2869NISTXML-SV-IV-atomic-positiveInteger-enumeration-4-2 tokoe:valid" result="pass"/><test-case name="2870NISTXML-SV-IV-atomic-positiveInteger-enumeration-4-3 tokoe:valid" result="pass"/><test-case name="2871NISTXML-SV-IV-atomic-positiveInteger-enumeration-4-4 tokoe:valid" result="pass"/><test-case name="2872NISTXML-SV-IV-atomic-positiveInteger-enumeration-4-5 tokoe:valid" result="pass"/><test-case name="2873NISTSchema-SV-IV-atomic-positiveInteger-enumeration-5 tokoe:valid" result="pass"/><test-case name="2874NISTXML-SV-IV-atomic-positiveInteger-enumeration-5-1 tokoe:valid" result="pass"/><test-case name="2875NISTXML-SV-IV-atomic-positiveInteger-enumeration-5-2 tokoe:valid" result="pass"/><test-case name="2876NISTXML-SV-IV-atomic-positiveInteger-enumeration-5-3 tokoe:valid" result="pass"/><test-case name="2877NISTXML-SV-IV-atomic-positiveInteger-enumeration-5-4 tokoe:valid" result="pass"/><test-case name="2878NISTXML-SV-IV-atomic-positiveInteger-enumeration-5-5 tokoe:valid" result="pass"/><test-case name="2879NISTSchema-SV-IV-atomic-positiveInteger-whiteSpace-1 tokoe:valid" result="pass"/><test-case name="2880NISTXML-SV-IV-atomic-positiveInteger-whiteSpace-1-1 tokoe:valid" result="pass"/><test-case name="2881NISTXML-SV-IV-atomic-positiveInteger-whiteSpace-1-2 tokoe:valid" result="pass"/><test-case name="2882NISTXML-SV-IV-atomic-positiveInteger-whiteSpace-1-3 tokoe:valid" result="pass"/><test-case name="2883NISTXML-SV-IV-atomic-positiveInteger-whiteSpace-1-4 tokoe:valid" result="pass"/><test-case name="2884NISTXML-SV-IV-atomic-positiveInteger-whiteSpace-1-5 tokoe:valid" result="pass"/><test-case name="2885NISTSchema-SV-IV-atomic-double-pattern-1 tokoe:valid" result="pass"/><test-case name="2886NISTXML-SV-IV-atomic-double-pattern-1-1 tokoe:valid" result="pass"/><test-case name="2887NISTXML-SV-IV-atomic-double-pattern-1-2 tokoe:valid" result="pass"/><test-case name="2888NISTXML-SV-IV-atomic-double-pattern-1-3 tokoe:valid" result="pass"/><test-case name="2889NISTXML-SV-IV-atomic-double-pattern-1-4 tokoe:valid" result="pass"/><test-case name="2890NISTXML-SV-IV-atomic-double-pattern-1-5 tokoe:valid" result="pass"/><test-case name="2891NISTSchema-SV-IV-atomic-double-pattern-2 tokoe:valid" result="pass"/><test-case name="2892NISTXML-SV-IV-atomic-double-pattern-2-1 tokoe:valid" result="pass"/><test-case name="2893NISTXML-SV-IV-atomic-double-pattern-2-2 tokoe:valid" result="pass"/><test-case name="2894NISTXML-SV-IV-atomic-double-pattern-2-3 tokoe:valid" result="pass"/><test-case name="2895NISTXML-SV-IV-atomic-double-pattern-2-4 tokoe:valid" result="pass"/><test-case name="2896NISTXML-SV-IV-atomic-double-pattern-2-5 tokoe:valid" result="pass"/><test-case name="2897NISTSchema-SV-IV-atomic-double-pattern-3 tokoe:valid" result="pass"/><test-case name="2898NISTXML-SV-IV-atomic-double-pattern-3-1 tokoe:valid" result="pass"/><test-case name="2899NISTXML-SV-IV-atomic-double-pattern-3-2 tokoe:valid" result="pass"/><test-case name="2900NISTXML-SV-IV-atomic-double-pattern-3-3 tokoe:valid" result="pass"/><test-case name="2901NISTXML-SV-IV-atomic-double-pattern-3-4 tokoe:valid" result="pass"/><test-case name="2902NISTXML-SV-IV-atomic-double-pattern-3-5 tokoe:valid" result="pass"/><test-case name="2903NISTSchema-SV-IV-atomic-double-pattern-4 tokoe:valid" result="pass"/><test-case name="2904NISTXML-SV-IV-atomic-double-pattern-4-1 tokoe:valid" result="pass"/><test-case name="2905NISTXML-SV-IV-atomic-double-pattern-4-2 tokoe:valid" result="pass"/><test-case name="2906NISTXML-SV-IV-atomic-double-pattern-4-3 tokoe:valid" result="pass"/><test-case name="2907NISTXML-SV-IV-atomic-double-pattern-4-4 tokoe:valid" result="pass"/><test-case name="2908NISTXML-SV-IV-atomic-double-pattern-4-5 tokoe:valid" result="pass"/><test-case name="2909NISTSchema-SV-IV-atomic-double-pattern-5 tokoe:valid" result="pass"/><test-case name="2910NISTXML-SV-IV-atomic-double-pattern-5-1 tokoe:valid" result="pass"/><test-case name="2911NISTXML-SV-IV-atomic-double-pattern-5-2 tokoe:valid" result="pass"/><test-case name="2912NISTXML-SV-IV-atomic-double-pattern-5-3 tokoe:valid" result="pass"/><test-case name="2913NISTXML-SV-IV-atomic-double-pattern-5-4 tokoe:valid" result="pass"/><test-case name="2914NISTXML-SV-IV-atomic-double-pattern-5-5 tokoe:valid" result="pass"/><test-case name="2915NISTSchema-SV-IV-atomic-double-enumeration-1 tokoe:valid" result="pass"/><test-case name="2916NISTXML-SV-IV-atomic-double-enumeration-1-1 tokoe:valid" result="fail"/><test-case name="2917NISTXML-SV-IV-atomic-double-enumeration-1-2 tokoe:valid" result="fail"/><test-case name="2918NISTXML-SV-IV-atomic-double-enumeration-1-3 tokoe:valid" result="pass"/><test-case name="2919NISTXML-SV-IV-atomic-double-enumeration-1-4 tokoe:valid" result="pass"/><test-case name="2920NISTXML-SV-IV-atomic-double-enumeration-1-5 tokoe:valid" result="fail"/><test-case name="2921NISTSchema-SV-IV-atomic-double-enumeration-2 tokoe:valid" result="pass"/><test-case name="2922NISTXML-SV-IV-atomic-double-enumeration-2-1 tokoe:valid" result="fail"/><test-case name="2923NISTXML-SV-IV-atomic-double-enumeration-2-2 tokoe:valid" result="fail"/><test-case name="2924NISTXML-SV-IV-atomic-double-enumeration-2-3 tokoe:valid" result="fail"/><test-case name="2925NISTXML-SV-IV-atomic-double-enumeration-2-4 tokoe:valid" result="fail"/><test-case name="2926NISTXML-SV-IV-atomic-double-enumeration-2-5 tokoe:valid" result="fail"/><test-case name="2927NISTSchema-SV-IV-atomic-double-enumeration-3 tokoe:valid" result="pass"/><test-case name="2928NISTXML-SV-IV-atomic-double-enumeration-3-1 tokoe:valid" result="fail"/><test-case name="2929NISTXML-SV-IV-atomic-double-enumeration-3-2 tokoe:valid" result="fail"/><test-case name="2930NISTXML-SV-IV-atomic-double-enumeration-3-3 tokoe:valid" result="fail"/><test-case name="2931NISTXML-SV-IV-atomic-double-enumeration-3-4 tokoe:valid" result="fail"/><test-case name="2932NISTXML-SV-IV-atomic-double-enumeration-3-5 tokoe:valid" result="fail"/><test-case name="2933NISTSchema-SV-IV-atomic-double-enumeration-4 tokoe:valid" result="pass"/><test-case name="2934NISTXML-SV-IV-atomic-double-enumeration-4-1 tokoe:valid" result="fail"/><test-case name="2935NISTXML-SV-IV-atomic-double-enumeration-4-2 tokoe:valid" result="fail"/><test-case name="2936NISTXML-SV-IV-atomic-double-enumeration-4-3 tokoe:valid" result="fail"/><test-case name="2937NISTXML-SV-IV-atomic-double-enumeration-4-4 tokoe:valid" result="fail"/><test-case name="2938NISTXML-SV-IV-atomic-double-enumeration-4-5 tokoe:valid" result="pass"/><test-case name="2939NISTSchema-SV-IV-atomic-double-enumeration-5 tokoe:valid" result="pass"/><test-case name="2940NISTXML-SV-IV-atomic-double-enumeration-5-1 tokoe:valid" result="fail"/><test-case name="2941NISTXML-SV-IV-atomic-double-enumeration-5-2 tokoe:valid" result="fail"/><test-case name="2942NISTXML-SV-IV-atomic-double-enumeration-5-3 tokoe:valid" result="fail"/><test-case name="2943NISTXML-SV-IV-atomic-double-enumeration-5-4 tokoe:valid" result="fail"/><test-case name="2944NISTXML-SV-IV-atomic-double-enumeration-5-5 tokoe:valid" result="fail"/><test-case name="2945NISTSchema-SV-IV-atomic-double-whiteSpace-1 tokoe:valid" result="pass"/><test-case name="2946NISTXML-SV-IV-atomic-double-whiteSpace-1-1 tokoe:valid" result="pass"/><test-case name="2947NISTXML-SV-IV-atomic-double-whiteSpace-1-2 tokoe:valid" result="pass"/><test-case name="2948NISTXML-SV-IV-atomic-double-whiteSpace-1-3 tokoe:valid" result="pass"/><test-case name="2949NISTXML-SV-IV-atomic-double-whiteSpace-1-4 tokoe:valid" result="pass"/><test-case name="2950NISTXML-SV-IV-atomic-double-whiteSpace-1-5 tokoe:valid" result="pass"/><test-case name="2951NISTXML-SV-IV-atomic-double-whiteSpace-1-6 tokoe:valid" result="pass"/><test-case name="2952NISTXML-SV-IV-atomic-double-whiteSpace-1-7 tokoe:valid" result="pass"/><test-case name="2953NISTXML-SV-IV-atomic-double-whiteSpace-1-8 tokoe:valid" result="pass"/><test-case name="2954NISTXML-SV-IV-atomic-double-whiteSpace-1-9 tokoe:valid" result="pass"/><test-case name="2955NISTXML-SV-IV-atomic-double-whiteSpace-1-10 tokoe:valid" result="pass"/><test-case name="2956NISTXML-SV-IV-atomic-double-whiteSpace-1-11 tokoe:valid" result="pass"/><test-case name="2957NISTXML-SV-IV-atomic-double-whiteSpace-1-12 tokoe:valid" result="pass"/><test-case name="2958NISTXML-SV-IV-atomic-double-whiteSpace-1-13 tokoe:valid" result="pass"/><test-case name="2959NISTXML-SV-IV-atomic-double-whiteSpace-1-14 tokoe:valid" result="pass"/><test-case name="2960NISTXML-SV-IV-atomic-double-whiteSpace-1-15 tokoe:valid" result="pass"/><test-case name="2961NISTSchema-SV-IV-atomic-float-pattern-1 tokoe:valid" result="pass"/><test-case name="2962NISTXML-SV-IV-atomic-float-pattern-1-1 tokoe:valid" result="pass"/><test-case name="2963NISTXML-SV-IV-atomic-float-pattern-1-2 tokoe:valid" result="pass"/><test-case name="2964NISTXML-SV-IV-atomic-float-pattern-1-3 tokoe:valid" result="pass"/><test-case name="2965NISTXML-SV-IV-atomic-float-pattern-1-4 tokoe:valid" result="pass"/><test-case name="2966NISTXML-SV-IV-atomic-float-pattern-1-5 tokoe:valid" result="pass"/><test-case name="2967NISTSchema-SV-IV-atomic-float-pattern-2 tokoe:valid" result="pass"/><test-case name="2968NISTXML-SV-IV-atomic-float-pattern-2-1 tokoe:valid" result="pass"/><test-case name="2969NISTXML-SV-IV-atomic-float-pattern-2-2 tokoe:valid" result="pass"/><test-case name="2970NISTXML-SV-IV-atomic-float-pattern-2-3 tokoe:valid" result="pass"/><test-case name="2971NISTXML-SV-IV-atomic-float-pattern-2-4 tokoe:valid" result="pass"/><test-case name="2972NISTXML-SV-IV-atomic-float-pattern-2-5 tokoe:valid" result="pass"/><test-case name="2973NISTSchema-SV-IV-atomic-float-pattern-3 tokoe:valid" result="pass"/><test-case name="2974NISTXML-SV-IV-atomic-float-pattern-3-1 tokoe:valid" result="pass"/><test-case name="2975NISTXML-SV-IV-atomic-float-pattern-3-2 tokoe:valid" result="pass"/><test-case name="2976NISTXML-SV-IV-atomic-float-pattern-3-3 tokoe:valid" result="pass"/><test-case name="2977NISTXML-SV-IV-atomic-float-pattern-3-4 tokoe:valid" result="pass"/><test-case name="2978NISTXML-SV-IV-atomic-float-pattern-3-5 tokoe:valid" result="pass"/><test-case name="2979NISTSchema-SV-IV-atomic-float-pattern-4 tokoe:valid" result="pass"/><test-case name="2980NISTXML-SV-IV-atomic-float-pattern-4-1 tokoe:valid" result="pass"/><test-case name="2981NISTXML-SV-IV-atomic-float-pattern-4-2 tokoe:valid" result="pass"/><test-case name="2982NISTXML-SV-IV-atomic-float-pattern-4-3 tokoe:valid" result="pass"/><test-case name="2983NISTXML-SV-IV-atomic-float-pattern-4-4 tokoe:valid" result="pass"/><test-case name="2984NISTXML-SV-IV-atomic-float-pattern-4-5 tokoe:valid" result="pass"/><test-case name="2985NISTSchema-SV-IV-atomic-float-pattern-5 tokoe:valid" result="pass"/><test-case name="2986NISTXML-SV-IV-atomic-float-pattern-5-1 tokoe:valid" result="pass"/><test-case name="2987NISTXML-SV-IV-atomic-float-pattern-5-2 tokoe:valid" result="pass"/><test-case name="2988NISTXML-SV-IV-atomic-float-pattern-5-3 tokoe:valid" result="pass"/><test-case name="2989NISTXML-SV-IV-atomic-float-pattern-5-4 tokoe:valid" result="pass"/><test-case name="2990NISTXML-SV-IV-atomic-float-pattern-5-5 tokoe:valid" result="pass"/><test-case name="2991NISTSchema-SV-IV-atomic-float-enumeration-1 tokoe:valid" result="pass"/><test-case name="2992NISTXML-SV-IV-atomic-float-enumeration-1-1 tokoe:valid" result="pass"/><test-case name="2993NISTXML-SV-IV-atomic-float-enumeration-1-2 tokoe:valid" result="fail"/><test-case name="2994NISTXML-SV-IV-atomic-float-enumeration-1-3 tokoe:valid" result="fail"/><test-case name="2995NISTXML-SV-IV-atomic-float-enumeration-1-4 tokoe:valid" result="fail"/><test-case name="2996NISTXML-SV-IV-atomic-float-enumeration-1-5 tokoe:valid" result="fail"/><test-case name="2997NISTSchema-SV-IV-atomic-float-enumeration-2 tokoe:valid" result="pass"/><test-case name="2998NISTXML-SV-IV-atomic-float-enumeration-2-1 tokoe:valid" result="fail"/><test-case name="2999NISTXML-SV-IV-atomic-float-enumeration-2-2 tokoe:valid" result="fail"/><test-case name="3000NISTXML-SV-IV-atomic-float-enumeration-2-3 tokoe:valid" result="fail"/><test-case name="3001NISTXML-SV-IV-atomic-float-enumeration-2-4 tokoe:valid" result="fail"/><test-case name="3002NISTXML-SV-IV-atomic-float-enumeration-2-5 tokoe:valid" result="fail"/><test-case name="3003NISTSchema-SV-IV-atomic-float-enumeration-3 tokoe:valid" result="pass"/><test-case name="3004NISTXML-SV-IV-atomic-float-enumeration-3-1 tokoe:valid" result="fail"/><test-case name="3005NISTXML-SV-IV-atomic-float-enumeration-3-2 tokoe:valid" result="fail"/><test-case name="3006NISTXML-SV-IV-atomic-float-enumeration-3-3 tokoe:valid" result="fail"/><test-case name="3007NISTXML-SV-IV-atomic-float-enumeration-3-4 tokoe:valid" result="fail"/><test-case name="3008NISTXML-SV-IV-atomic-float-enumeration-3-5 tokoe:valid" result="fail"/><test-case name="3009NISTSchema-SV-IV-atomic-float-enumeration-4 tokoe:valid" result="pass"/><test-case name="3010NISTXML-SV-IV-atomic-float-enumeration-4-1 tokoe:valid" result="fail"/><test-case name="3011NISTXML-SV-IV-atomic-float-enumeration-4-2 tokoe:valid" result="fail"/><test-case name="3012NISTXML-SV-IV-atomic-float-enumeration-4-3 tokoe:valid" result="fail"/><test-case name="3013NISTXML-SV-IV-atomic-float-enumeration-4-4 tokoe:valid" result="fail"/><test-case name="3014NISTXML-SV-IV-atomic-float-enumeration-4-5 tokoe:valid" result="fail"/><test-case name="3015NISTSchema-SV-IV-atomic-float-enumeration-5 tokoe:valid" result="pass"/><test-case name="3016NISTXML-SV-IV-atomic-float-enumeration-5-1 tokoe:valid" result="fail"/><test-case name="3017NISTXML-SV-IV-atomic-float-enumeration-5-2 tokoe:valid" result="fail"/><test-case name="3018NISTXML-SV-IV-atomic-float-enumeration-5-3 tokoe:valid" result="fail"/><test-case name="3019NISTXML-SV-IV-atomic-float-enumeration-5-4 tokoe:valid" result="fail"/><test-case name="3020NISTXML-SV-IV-atomic-float-enumeration-5-5 tokoe:valid" result="fail"/><test-case name="3021NISTSchema-SV-IV-atomic-float-whiteSpace-1 tokoe:valid" result="pass"/><test-case name="3022NISTXML-SV-IV-atomic-float-whiteSpace-1-1 tokoe:valid" result="pass"/><test-case name="3023NISTXML-SV-IV-atomic-float-whiteSpace-1-2 tokoe:valid" result="pass"/><test-case name="3024NISTXML-SV-IV-atomic-float-whiteSpace-1-3 tokoe:valid" result="pass"/><test-case name="3025NISTXML-SV-IV-atomic-float-whiteSpace-1-4 tokoe:valid" result="pass"/><test-case name="3026NISTXML-SV-IV-atomic-float-whiteSpace-1-5 tokoe:valid" result="pass"/><test-case name="3027NISTXML-SV-IV-atomic-float-whiteSpace-1-6 tokoe:valid" result="pass"/><test-case name="3028NISTXML-SV-IV-atomic-float-whiteSpace-1-7 tokoe:valid" result="pass"/><test-case name="3029NISTXML-SV-IV-atomic-float-whiteSpace-1-8 tokoe:valid" result="pass"/><test-case name="3030NISTXML-SV-IV-atomic-float-whiteSpace-1-9 tokoe:valid" result="pass"/><test-case name="3031NISTXML-SV-IV-atomic-float-whiteSpace-1-10 tokoe:valid" result="pass"/><test-case name="3032NISTXML-SV-IV-atomic-float-whiteSpace-1-11 tokoe:valid" result="pass"/><test-case name="3033NISTXML-SV-IV-atomic-float-whiteSpace-1-12 tokoe:valid" result="pass"/><test-case name="3034NISTXML-SV-IV-atomic-float-whiteSpace-1-13 tokoe:valid" result="pass"/><test-case name="3035NISTXML-SV-IV-atomic-float-whiteSpace-1-14 tokoe:valid" result="pass"/><test-case name="3036NISTXML-SV-IV-atomic-float-whiteSpace-1-15 tokoe:valid" result="pass"/><test-case name="3037NISTSchema-SV-IV-atomic-duration-minExclusive-1 tokoe:valid" result="pass"/><test-case name="3038NISTXML-SV-IV-atomic-duration-minExclusive-1-1 tokoe:valid" result="pass"/><test-case name="3039NISTXML-SV-IV-atomic-duration-minExclusive-1-2 tokoe:valid" result="pass"/><test-case name="3040NISTXML-SV-IV-atomic-duration-minExclusive-1-3 tokoe:valid" result="pass"/><test-case name="3041NISTXML-SV-IV-atomic-duration-minExclusive-1-4 tokoe:valid" result="pass"/><test-case name="3042NISTXML-SV-IV-atomic-duration-minExclusive-1-5 tokoe:valid" result="pass"/><test-case name="3043NISTSchema-SV-IV-atomic-duration-minExclusive-2 tokoe:valid" result="pass"/><test-case name="3044NISTXML-SV-IV-atomic-duration-minExclusive-2-1 tokoe:valid" result="pass"/><test-case name="3045NISTXML-SV-IV-atomic-duration-minExclusive-2-2 tokoe:valid" result="pass"/><test-case name="3046NISTXML-SV-IV-atomic-duration-minExclusive-2-3 tokoe:valid" result="pass"/><test-case name="3047NISTXML-SV-IV-atomic-duration-minExclusive-2-4 tokoe:valid" result="pass"/><test-case name="3048NISTXML-SV-IV-atomic-duration-minExclusive-2-5 tokoe:valid" result="pass"/><test-case name="3049NISTSchema-SV-IV-atomic-duration-minExclusive-3 tokoe:valid" result="pass"/><test-case name="3050NISTXML-SV-IV-atomic-duration-minExclusive-3-1 tokoe:valid" result="pass"/><test-case name="3051NISTXML-SV-IV-atomic-duration-minExclusive-3-2 tokoe:valid" result="pass"/><test-case name="3052NISTXML-SV-IV-atomic-duration-minExclusive-3-3 tokoe:valid" result="pass"/><test-case name="3053NISTXML-SV-IV-atomic-duration-minExclusive-3-4 tokoe:valid" result="pass"/><test-case name="3054NISTXML-SV-IV-atomic-duration-minExclusive-3-5 tokoe:valid" result="pass"/><test-case name="3055NISTSchema-SV-IV-atomic-duration-minExclusive-4 tokoe:valid" result="pass"/><test-case name="3056NISTXML-SV-IV-atomic-duration-minExclusive-4-1 tokoe:valid" result="pass"/><test-case name="3057NISTXML-SV-IV-atomic-duration-minExclusive-4-2 tokoe:valid" result="pass"/><test-case name="3058NISTXML-SV-IV-atomic-duration-minExclusive-4-3 tokoe:valid" result="pass"/><test-case name="3059NISTXML-SV-IV-atomic-duration-minExclusive-4-4 tokoe:valid" result="pass"/><test-case name="3060NISTXML-SV-IV-atomic-duration-minExclusive-4-5 tokoe:valid" result="pass"/><test-case name="3061NISTSchema-SV-IV-atomic-duration-minExclusive-5 tokoe:valid" result="pass"/><test-case name="3062NISTXML-SV-IV-atomic-duration-minExclusive-5-1 tokoe:valid" result="pass"/><test-case name="3063NISTSchema-SV-IV-atomic-duration-minInclusive-1 tokoe:valid" result="pass"/><test-case name="3064NISTXML-SV-IV-atomic-duration-minInclusive-1-1 tokoe:valid" result="pass"/><test-case name="3065NISTXML-SV-IV-atomic-duration-minInclusive-1-2 tokoe:valid" result="pass"/><test-case name="3066NISTXML-SV-IV-atomic-duration-minInclusive-1-3 tokoe:valid" result="pass"/><test-case name="3067NISTXML-SV-IV-atomic-duration-minInclusive-1-4 tokoe:valid" result="pass"/><test-case name="3068NISTXML-SV-IV-atomic-duration-minInclusive-1-5 tokoe:valid" result="pass"/><test-case name="3069NISTSchema-SV-IV-atomic-duration-minInclusive-2 tokoe:valid" result="pass"/><test-case name="3070NISTXML-SV-IV-atomic-duration-minInclusive-2-1 tokoe:valid" result="pass"/><test-case name="3071NISTXML-SV-IV-atomic-duration-minInclusive-2-2 tokoe:valid" result="pass"/><test-case name="3072NISTXML-SV-IV-atomic-duration-minInclusive-2-3 tokoe:valid" result="pass"/><test-case name="3073NISTXML-SV-IV-atomic-duration-minInclusive-2-4 tokoe:valid" result="pass"/><test-case name="3074NISTXML-SV-IV-atomic-duration-minInclusive-2-5 tokoe:valid" result="pass"/><test-case name="3075NISTSchema-SV-IV-atomic-duration-minInclusive-3 tokoe:valid" result="pass"/><test-case name="3076NISTXML-SV-IV-atomic-duration-minInclusive-3-1 tokoe:valid" result="pass"/><test-case name="3077NISTXML-SV-IV-atomic-duration-minInclusive-3-2 tokoe:valid" result="pass"/><test-case name="3078NISTXML-SV-IV-atomic-duration-minInclusive-3-3 tokoe:valid" result="pass"/><test-case name="3079NISTXML-SV-IV-atomic-duration-minInclusive-3-4 tokoe:valid" result="pass"/><test-case name="3080NISTXML-SV-IV-atomic-duration-minInclusive-3-5 tokoe:valid" result="pass"/><test-case name="3081NISTSchema-SV-IV-atomic-duration-minInclusive-4 tokoe:valid" result="pass"/><test-case name="3082NISTXML-SV-IV-atomic-duration-minInclusive-4-1 tokoe:valid" result="pass"/><test-case name="3083NISTXML-SV-IV-atomic-duration-minInclusive-4-2 tokoe:valid" result="pass"/><test-case name="3084NISTXML-SV-IV-atomic-duration-minInclusive-4-3 tokoe:valid" result="pass"/><test-case name="3085NISTXML-SV-IV-atomic-duration-minInclusive-4-4 tokoe:valid" result="pass"/><test-case name="3086NISTXML-SV-IV-atomic-duration-minInclusive-4-5 tokoe:valid" result="pass"/><test-case name="3087NISTSchema-SV-IV-atomic-duration-minInclusive-5 tokoe:valid" result="pass"/><test-case name="3088NISTXML-SV-IV-atomic-duration-minInclusive-5-1 tokoe:valid" result="pass"/><test-case name="3089NISTSchema-SV-IV-atomic-duration-maxExclusive-1 tokoe:valid" result="pass"/><test-case name="3090NISTXML-SV-IV-atomic-duration-maxExclusive-1-1 tokoe:valid" result="pass"/><test-case name="3091NISTSchema-SV-IV-atomic-duration-maxExclusive-2 tokoe:valid" result="pass"/><test-case name="3092NISTXML-SV-IV-atomic-duration-maxExclusive-2-1 tokoe:valid" result="pass"/><test-case name="3093NISTXML-SV-IV-atomic-duration-maxExclusive-2-2 tokoe:valid" result="pass"/><test-case name="3094NISTXML-SV-IV-atomic-duration-maxExclusive-2-3 tokoe:valid" result="pass"/><test-case name="3095NISTXML-SV-IV-atomic-duration-maxExclusive-2-4 tokoe:valid" result="pass"/><test-case name="3096NISTXML-SV-IV-atomic-duration-maxExclusive-2-5 tokoe:valid" result="pass"/><test-case name="3097NISTSchema-SV-IV-atomic-duration-maxExclusive-3 tokoe:valid" result="pass"/><test-case name="3098NISTXML-SV-IV-atomic-duration-maxExclusive-3-1 tokoe:valid" result="pass"/><test-case name="3099NISTXML-SV-IV-atomic-duration-maxExclusive-3-2 tokoe:valid" result="pass"/><test-case name="3100NISTXML-SV-IV-atomic-duration-maxExclusive-3-3 tokoe:valid" result="pass"/><test-case name="3101NISTXML-SV-IV-atomic-duration-maxExclusive-3-4 tokoe:valid" result="pass"/><test-case name="3102NISTXML-SV-IV-atomic-duration-maxExclusive-3-5 tokoe:valid" result="pass"/><test-case name="3103NISTSchema-SV-IV-atomic-duration-maxExclusive-4 tokoe:valid" result="pass"/><test-case name="3104NISTXML-SV-IV-atomic-duration-maxExclusive-4-1 tokoe:valid" result="pass"/><test-case name="3105NISTXML-SV-IV-atomic-duration-maxExclusive-4-2 tokoe:valid" result="pass"/><test-case name="3106NISTXML-SV-IV-atomic-duration-maxExclusive-4-3 tokoe:valid" result="pass"/><test-case name="3107NISTXML-SV-IV-atomic-duration-maxExclusive-4-4 tokoe:valid" result="pass"/><test-case name="3108NISTXML-SV-IV-atomic-duration-maxExclusive-4-5 tokoe:valid" result="pass"/><test-case name="3109NISTSchema-SV-IV-atomic-duration-maxExclusive-5 tokoe:valid" result="pass"/><test-case name="3110NISTXML-SV-IV-atomic-duration-maxExclusive-5-1 tokoe:valid" result="pass"/><test-case name="3111NISTXML-SV-IV-atomic-duration-maxExclusive-5-2 tokoe:valid" result="pass"/><test-case name="3112NISTXML-SV-IV-atomic-duration-maxExclusive-5-3 tokoe:valid" result="pass"/><test-case name="3113NISTXML-SV-IV-atomic-duration-maxExclusive-5-4 tokoe:valid" result="pass"/><test-case name="3114NISTXML-SV-IV-atomic-duration-maxExclusive-5-5 tokoe:valid" result="pass"/><test-case name="3115NISTSchema-SV-IV-atomic-duration-maxInclusive-1 tokoe:valid" result="pass"/><test-case name="3116NISTXML-SV-IV-atomic-duration-maxInclusive-1-1 tokoe:valid" result="pass"/><test-case name="3117NISTSchema-SV-IV-atomic-duration-maxInclusive-2 tokoe:valid" result="pass"/><test-case name="3118NISTXML-SV-IV-atomic-duration-maxInclusive-2-1 tokoe:valid" result="pass"/><test-case name="3119NISTXML-SV-IV-atomic-duration-maxInclusive-2-2 tokoe:valid" result="pass"/><test-case name="3120NISTXML-SV-IV-atomic-duration-maxInclusive-2-3 tokoe:valid" result="pass"/><test-case name="3121NISTXML-SV-IV-atomic-duration-maxInclusive-2-4 tokoe:valid" result="pass"/><test-case name="3122NISTXML-SV-IV-atomic-duration-maxInclusive-2-5 tokoe:valid" result="pass"/><test-case name="3123NISTSchema-SV-IV-atomic-duration-maxInclusive-3 tokoe:valid" result="pass"/><test-case name="3124NISTXML-SV-IV-atomic-duration-maxInclusive-3-1 tokoe:valid" result="pass"/><test-case name="3125NISTXML-SV-IV-atomic-duration-maxInclusive-3-2 tokoe:valid" result="pass"/><test-case name="3126NISTXML-SV-IV-atomic-duration-maxInclusive-3-3 tokoe:valid" result="pass"/><test-case name="3127NISTXML-SV-IV-atomic-duration-maxInclusive-3-4 tokoe:valid" result="pass"/><test-case name="3128NISTXML-SV-IV-atomic-duration-maxInclusive-3-5 tokoe:valid" result="pass"/><test-case name="3129NISTSchema-SV-IV-atomic-duration-maxInclusive-4 tokoe:valid" result="pass"/><test-case name="3130NISTXML-SV-IV-atomic-duration-maxInclusive-4-1 tokoe:valid" result="pass"/><test-case name="3131NISTXML-SV-IV-atomic-duration-maxInclusive-4-2 tokoe:valid" result="pass"/><test-case name="3132NISTXML-SV-IV-atomic-duration-maxInclusive-4-3 tokoe:valid" result="pass"/><test-case name="3133NISTXML-SV-IV-atomic-duration-maxInclusive-4-4 tokoe:valid" result="pass"/><test-case name="3134NISTXML-SV-IV-atomic-duration-maxInclusive-4-5 tokoe:valid" result="pass"/><test-case name="3135NISTSchema-SV-IV-atomic-duration-maxInclusive-5 tokoe:valid" result="pass"/><test-case name="3136NISTXML-SV-IV-atomic-duration-maxInclusive-5-1 tokoe:valid" result="pass"/><test-case name="3137NISTXML-SV-IV-atomic-duration-maxInclusive-5-2 tokoe:valid" result="pass"/><test-case name="3138NISTXML-SV-IV-atomic-duration-maxInclusive-5-3 tokoe:valid" result="pass"/><test-case name="3139NISTXML-SV-IV-atomic-duration-maxInclusive-5-4 tokoe:valid" result="pass"/><test-case name="3140NISTXML-SV-IV-atomic-duration-maxInclusive-5-5 tokoe:valid" result="pass"/><test-case name="3141NISTSchema-SV-IV-atomic-duration-pattern-1 tokoe:valid" result="pass"/><test-case name="3142NISTXML-SV-IV-atomic-duration-pattern-1-1 tokoe:valid" result="pass"/><test-case name="3143NISTXML-SV-IV-atomic-duration-pattern-1-2 tokoe:valid" result="pass"/><test-case name="3144NISTXML-SV-IV-atomic-duration-pattern-1-3 tokoe:valid" result="pass"/><test-case name="3145NISTXML-SV-IV-atomic-duration-pattern-1-4 tokoe:valid" result="pass"/><test-case name="3146NISTXML-SV-IV-atomic-duration-pattern-1-5 tokoe:valid" result="pass"/><test-case name="3147NISTSchema-SV-IV-atomic-duration-pattern-2 tokoe:valid" result="pass"/><test-case name="3148NISTXML-SV-IV-atomic-duration-pattern-2-1 tokoe:valid" result="pass"/><test-case name="3149NISTXML-SV-IV-atomic-duration-pattern-2-2 tokoe:valid" result="pass"/><test-case name="3150NISTXML-SV-IV-atomic-duration-pattern-2-3 tokoe:valid" result="pass"/><test-case name="3151NISTXML-SV-IV-atomic-duration-pattern-2-4 tokoe:valid" result="pass"/><test-case name="3152NISTXML-SV-IV-atomic-duration-pattern-2-5 tokoe:valid" result="pass"/><test-case name="3153NISTSchema-SV-IV-atomic-duration-pattern-3 tokoe:valid" result="pass"/><test-case name="3154NISTXML-SV-IV-atomic-duration-pattern-3-1 tokoe:valid" result="pass"/><test-case name="3155NISTXML-SV-IV-atomic-duration-pattern-3-2 tokoe:valid" result="pass"/><test-case name="3156NISTXML-SV-IV-atomic-duration-pattern-3-3 tokoe:valid" result="pass"/><test-case name="3157NISTXML-SV-IV-atomic-duration-pattern-3-4 tokoe:valid" result="pass"/><test-case name="3158NISTXML-SV-IV-atomic-duration-pattern-3-5 tokoe:valid" result="pass"/><test-case name="3159NISTSchema-SV-IV-atomic-duration-pattern-4 tokoe:valid" result="pass"/><test-case name="3160NISTXML-SV-IV-atomic-duration-pattern-4-1 tokoe:valid" result="pass"/><test-case name="3161NISTXML-SV-IV-atomic-duration-pattern-4-2 tokoe:valid" result="pass"/><test-case name="3162NISTXML-SV-IV-atomic-duration-pattern-4-3 tokoe:valid" result="pass"/><test-case name="3163NISTXML-SV-IV-atomic-duration-pattern-4-4 tokoe:valid" result="pass"/><test-case name="3164NISTXML-SV-IV-atomic-duration-pattern-4-5 tokoe:valid" result="pass"/><test-case name="3165NISTSchema-SV-IV-atomic-duration-pattern-5 tokoe:valid" result="pass"/><test-case name="3166NISTXML-SV-IV-atomic-duration-pattern-5-1 tokoe:valid" result="pass"/><test-case name="3167NISTXML-SV-IV-atomic-duration-pattern-5-2 tokoe:valid" result="pass"/><test-case name="3168NISTXML-SV-IV-atomic-duration-pattern-5-3 tokoe:valid" result="pass"/><test-case name="3169NISTXML-SV-IV-atomic-duration-pattern-5-4 tokoe:valid" result="pass"/><test-case name="3170NISTXML-SV-IV-atomic-duration-pattern-5-5 tokoe:valid" result="pass"/><test-case name="3171NISTSchema-SV-IV-atomic-duration-enumeration-1 tokoe:valid" result="pass"/><test-case name="3172NISTXML-SV-IV-atomic-duration-enumeration-1-1 tokoe:valid" result="pass"/><test-case name="3173NISTXML-SV-IV-atomic-duration-enumeration-1-2 tokoe:valid" result="pass"/><test-case name="3174NISTXML-SV-IV-atomic-duration-enumeration-1-3 tokoe:valid" result="pass"/><test-case name="3175NISTXML-SV-IV-atomic-duration-enumeration-1-4 tokoe:valid" result="pass"/><test-case name="3176NISTXML-SV-IV-atomic-duration-enumeration-1-5 tokoe:valid" result="pass"/><test-case name="3177NISTSchema-SV-IV-atomic-duration-enumeration-2 tokoe:valid" result="pass"/><test-case name="3178NISTXML-SV-IV-atomic-duration-enumeration-2-1 tokoe:valid" result="pass"/><test-case name="3179NISTXML-SV-IV-atomic-duration-enumeration-2-2 tokoe:valid" result="pass"/><test-case name="3180NISTXML-SV-IV-atomic-duration-enumeration-2-3 tokoe:valid" result="pass"/><test-case name="3181NISTXML-SV-IV-atomic-duration-enumeration-2-4 tokoe:valid" result="pass"/><test-case name="3182NISTXML-SV-IV-atomic-duration-enumeration-2-5 tokoe:valid" result="pass"/><test-case name="3183NISTSchema-SV-IV-atomic-duration-enumeration-3 tokoe:valid" result="pass"/><test-case name="3184NISTXML-SV-IV-atomic-duration-enumeration-3-1 tokoe:valid" result="pass"/><test-case name="3185NISTXML-SV-IV-atomic-duration-enumeration-3-2 tokoe:valid" result="pass"/><test-case name="3186NISTXML-SV-IV-atomic-duration-enumeration-3-3 tokoe:valid" result="pass"/><test-case name="3187NISTXML-SV-IV-atomic-duration-enumeration-3-4 tokoe:valid" result="pass"/><test-case name="3188NISTXML-SV-IV-atomic-duration-enumeration-3-5 tokoe:valid" result="pass"/><test-case name="3189NISTSchema-SV-IV-atomic-duration-enumeration-4 tokoe:valid" result="pass"/><test-case name="3190NISTXML-SV-IV-atomic-duration-enumeration-4-1 tokoe:valid" result="pass"/><test-case name="3191NISTXML-SV-IV-atomic-duration-enumeration-4-2 tokoe:valid" result="pass"/><test-case name="3192NISTXML-SV-IV-atomic-duration-enumeration-4-3 tokoe:valid" result="pass"/><test-case name="3193NISTXML-SV-IV-atomic-duration-enumeration-4-4 tokoe:valid" result="pass"/><test-case name="3194NISTXML-SV-IV-atomic-duration-enumeration-4-5 tokoe:valid" result="pass"/><test-case name="3195NISTSchema-SV-IV-atomic-duration-enumeration-5 tokoe:valid" result="pass"/><test-case name="3196NISTXML-SV-IV-atomic-duration-enumeration-5-1 tokoe:valid" result="pass"/><test-case name="3197NISTXML-SV-IV-atomic-duration-enumeration-5-2 tokoe:valid" result="pass"/><test-case name="3198NISTXML-SV-IV-atomic-duration-enumeration-5-3 tokoe:valid" result="pass"/><test-case name="3199NISTXML-SV-IV-atomic-duration-enumeration-5-4 tokoe:valid" result="pass"/><test-case name="3200NISTXML-SV-IV-atomic-duration-enumeration-5-5 tokoe:valid" result="pass"/><test-case name="3201NISTSchema-SV-IV-atomic-duration-whiteSpace-1 tokoe:valid" result="pass"/><test-case name="3202NISTXML-SV-IV-atomic-duration-whiteSpace-1-1 tokoe:valid" result="pass"/><test-case name="3203NISTXML-SV-IV-atomic-duration-whiteSpace-1-2 tokoe:valid" result="pass"/><test-case name="3204NISTXML-SV-IV-atomic-duration-whiteSpace-1-3 tokoe:valid" result="pass"/><test-case name="3205NISTXML-SV-IV-atomic-duration-whiteSpace-1-4 tokoe:valid" result="pass"/><test-case name="3206NISTXML-SV-IV-atomic-duration-whiteSpace-1-5 tokoe:valid" result="pass"/><test-case name="3207NISTSchema-SV-IV-atomic-dateTime-minExclusive-1 tokoe:valid" result="pass"/><test-case name="3208NISTXML-SV-IV-atomic-dateTime-minExclusive-1-1 tokoe:valid" result="pass"/><test-case name="3209NISTXML-SV-IV-atomic-dateTime-minExclusive-1-2 tokoe:valid" result="pass"/><test-case name="3210NISTXML-SV-IV-atomic-dateTime-minExclusive-1-3 tokoe:valid" result="pass"/><test-case name="3211NISTXML-SV-IV-atomic-dateTime-minExclusive-1-4 tokoe:valid" result="pass"/><test-case name="3212NISTXML-SV-IV-atomic-dateTime-minExclusive-1-5 tokoe:valid" result="pass"/><test-case name="3213NISTSchema-SV-IV-atomic-dateTime-minExclusive-2 tokoe:valid" result="pass"/><test-case name="3214NISTXML-SV-IV-atomic-dateTime-minExclusive-2-1 tokoe:valid" result="pass"/><test-case name="3215NISTXML-SV-IV-atomic-dateTime-minExclusive-2-2 tokoe:valid" result="pass"/><test-case name="3216NISTXML-SV-IV-atomic-dateTime-minExclusive-2-3 tokoe:valid" result="pass"/><test-case name="3217NISTXML-SV-IV-atomic-dateTime-minExclusive-2-4 tokoe:valid" result="pass"/><test-case name="3218NISTXML-SV-IV-atomic-dateTime-minExclusive-2-5 tokoe:valid" result="pass"/><test-case name="3219NISTSchema-SV-IV-atomic-dateTime-minExclusive-3 tokoe:valid" result="pass"/><test-case name="3220NISTXML-SV-IV-atomic-dateTime-minExclusive-3-1 tokoe:valid" result="pass"/><test-case name="3221NISTXML-SV-IV-atomic-dateTime-minExclusive-3-2 tokoe:valid" result="pass"/><test-case name="3222NISTXML-SV-IV-atomic-dateTime-minExclusive-3-3 tokoe:valid" result="pass"/><test-case name="3223NISTXML-SV-IV-atomic-dateTime-minExclusive-3-4 tokoe:valid" result="pass"/><test-case name="3224NISTXML-SV-IV-atomic-dateTime-minExclusive-3-5 tokoe:valid" result="pass"/><test-case name="3225NISTSchema-SV-IV-atomic-dateTime-minExclusive-4 tokoe:valid" result="pass"/><test-case name="3226NISTXML-SV-IV-atomic-dateTime-minExclusive-4-1 tokoe:valid" result="pass"/><test-case name="3227NISTXML-SV-IV-atomic-dateTime-minExclusive-4-2 tokoe:valid" result="pass"/><test-case name="3228NISTXML-SV-IV-atomic-dateTime-minExclusive-4-3 tokoe:valid" result="pass"/><test-case name="3229NISTXML-SV-IV-atomic-dateTime-minExclusive-4-4 tokoe:valid" result="pass"/><test-case name="3230NISTXML-SV-IV-atomic-dateTime-minExclusive-4-5 tokoe:valid" result="pass"/><test-case name="3231NISTSchema-SV-IV-atomic-dateTime-minExclusive-5 tokoe:valid" result="pass"/><test-case name="3232NISTXML-SV-IV-atomic-dateTime-minExclusive-5-1 tokoe:valid" result="pass"/><test-case name="3233NISTSchema-SV-IV-atomic-dateTime-minInclusive-1 tokoe:valid" result="pass"/><test-case name="3234NISTXML-SV-IV-atomic-dateTime-minInclusive-1-1 tokoe:valid" result="pass"/><test-case name="3235NISTXML-SV-IV-atomic-dateTime-minInclusive-1-2 tokoe:valid" result="pass"/><test-case name="3236NISTXML-SV-IV-atomic-dateTime-minInclusive-1-3 tokoe:valid" result="pass"/><test-case name="3237NISTXML-SV-IV-atomic-dateTime-minInclusive-1-4 tokoe:valid" result="pass"/><test-case name="3238NISTXML-SV-IV-atomic-dateTime-minInclusive-1-5 tokoe:valid" result="pass"/><test-case name="3239NISTSchema-SV-IV-atomic-dateTime-minInclusive-2 tokoe:valid" result="pass"/><test-case name="3240NISTXML-SV-IV-atomic-dateTime-minInclusive-2-1 tokoe:valid" result="pass"/><test-case name="3241NISTXML-SV-IV-atomic-dateTime-minInclusive-2-2 tokoe:valid" result="pass"/><test-case name="3242NISTXML-SV-IV-atomic-dateTime-minInclusive-2-3 tokoe:valid" result="pass"/><test-case name="3243NISTXML-SV-IV-atomic-dateTime-minInclusive-2-4 tokoe:valid" result="pass"/><test-case name="3244NISTXML-SV-IV-atomic-dateTime-minInclusive-2-5 tokoe:valid" result="pass"/><test-case name="3245NISTSchema-SV-IV-atomic-dateTime-minInclusive-3 tokoe:valid" result="pass"/><test-case name="3246NISTXML-SV-IV-atomic-dateTime-minInclusive-3-1 tokoe:valid" result="pass"/><test-case name="3247NISTXML-SV-IV-atomic-dateTime-minInclusive-3-2 tokoe:valid" result="pass"/><test-case name="3248NISTXML-SV-IV-atomic-dateTime-minInclusive-3-3 tokoe:valid" result="pass"/><test-case name="3249NISTXML-SV-IV-atomic-dateTime-minInclusive-3-4 tokoe:valid" result="pass"/><test-case name="3250NISTXML-SV-IV-atomic-dateTime-minInclusive-3-5 tokoe:valid" result="pass"/><test-case name="3251NISTSchema-SV-IV-atomic-dateTime-minInclusive-4 tokoe:valid" result="pass"/><test-case name="3252NISTXML-SV-IV-atomic-dateTime-minInclusive-4-1 tokoe:valid" result="pass"/><test-case name="3253NISTXML-SV-IV-atomic-dateTime-minInclusive-4-2 tokoe:valid" result="pass"/><test-case name="3254NISTXML-SV-IV-atomic-dateTime-minInclusive-4-3 tokoe:valid" result="pass"/><test-case name="3255NISTXML-SV-IV-atomic-dateTime-minInclusive-4-4 tokoe:valid" result="pass"/><test-case name="3256NISTXML-SV-IV-atomic-dateTime-minInclusive-4-5 tokoe:valid" result="pass"/><test-case name="3257NISTSchema-SV-IV-atomic-dateTime-minInclusive-5 tokoe:valid" result="pass"/><test-case name="3258NISTXML-SV-IV-atomic-dateTime-minInclusive-5-1 tokoe:valid" result="pass"/><test-case name="3259NISTSchema-SV-IV-atomic-dateTime-maxExclusive-1 tokoe:valid" result="pass"/><test-case name="3260NISTXML-SV-IV-atomic-dateTime-maxExclusive-1-1 tokoe:valid" result="pass"/><test-case name="3261NISTSchema-SV-IV-atomic-dateTime-maxExclusive-2 tokoe:valid" result="pass"/><test-case name="3262NISTXML-SV-IV-atomic-dateTime-maxExclusive-2-1 tokoe:valid" result="pass"/><test-case name="3263NISTXML-SV-IV-atomic-dateTime-maxExclusive-2-2 tokoe:valid" result="pass"/><test-case name="3264NISTXML-SV-IV-atomic-dateTime-maxExclusive-2-3 tokoe:valid" result="pass"/><test-case name="3265NISTXML-SV-IV-atomic-dateTime-maxExclusive-2-4 tokoe:valid" result="pass"/><test-case name="3266NISTXML-SV-IV-atomic-dateTime-maxExclusive-2-5 tokoe:valid" result="pass"/><test-case name="3267NISTSchema-SV-IV-atomic-dateTime-maxExclusive-3 tokoe:valid" result="pass"/><test-case name="3268NISTXML-SV-IV-atomic-dateTime-maxExclusive-3-1 tokoe:valid" result="pass"/><test-case name="3269NISTXML-SV-IV-atomic-dateTime-maxExclusive-3-2 tokoe:valid" result="pass"/><test-case name="3270NISTXML-SV-IV-atomic-dateTime-maxExclusive-3-3 tokoe:valid" result="pass"/><test-case name="3271NISTXML-SV-IV-atomic-dateTime-maxExclusive-3-4 tokoe:valid" result="pass"/><test-case name="3272NISTXML-SV-IV-atomic-dateTime-maxExclusive-3-5 tokoe:valid" result="pass"/><test-case name="3273NISTSchema-SV-IV-atomic-dateTime-maxExclusive-4 tokoe:valid" result="pass"/><test-case name="3274NISTXML-SV-IV-atomic-dateTime-maxExclusive-4-1 tokoe:valid" result="pass"/><test-case name="3275NISTXML-SV-IV-atomic-dateTime-maxExclusive-4-2 tokoe:valid" result="pass"/><test-case name="3276NISTXML-SV-IV-atomic-dateTime-maxExclusive-4-3 tokoe:valid" result="pass"/><test-case name="3277NISTXML-SV-IV-atomic-dateTime-maxExclusive-4-4 tokoe:valid" result="pass"/><test-case name="3278NISTXML-SV-IV-atomic-dateTime-maxExclusive-4-5 tokoe:valid" result="pass"/><test-case name="3279NISTSchema-SV-IV-atomic-dateTime-maxExclusive-5 tokoe:valid" result="pass"/><test-case name="3280NISTXML-SV-IV-atomic-dateTime-maxExclusive-5-1 tokoe:valid" result="pass"/><test-case name="3281NISTXML-SV-IV-atomic-dateTime-maxExclusive-5-2 tokoe:valid" result="pass"/><test-case name="3282NISTXML-SV-IV-atomic-dateTime-maxExclusive-5-3 tokoe:valid" result="pass"/><test-case name="3283NISTXML-SV-IV-atomic-dateTime-maxExclusive-5-4 tokoe:valid" result="pass"/><test-case name="3284NISTXML-SV-IV-atomic-dateTime-maxExclusive-5-5 tokoe:valid" result="pass"/><test-case name="3285NISTSchema-SV-IV-atomic-dateTime-maxInclusive-1 tokoe:valid" result="pass"/><test-case name="3286NISTXML-SV-IV-atomic-dateTime-maxInclusive-1-1 tokoe:valid" result="pass"/><test-case name="3287NISTSchema-SV-IV-atomic-dateTime-maxInclusive-2 tokoe:valid" result="pass"/><test-case name="3288NISTXML-SV-IV-atomic-dateTime-maxInclusive-2-1 tokoe:valid" result="pass"/><test-case name="3289NISTXML-SV-IV-atomic-dateTime-maxInclusive-2-2 tokoe:valid" result="pass"/><test-case name="3290NISTXML-SV-IV-atomic-dateTime-maxInclusive-2-3 tokoe:valid" result="pass"/><test-case name="3291NISTXML-SV-IV-atomic-dateTime-maxInclusive-2-4 tokoe:valid" result="pass"/><test-case name="3292NISTXML-SV-IV-atomic-dateTime-maxInclusive-2-5 tokoe:valid" result="pass"/><test-case name="3293NISTSchema-SV-IV-atomic-dateTime-maxInclusive-3 tokoe:valid" result="pass"/><test-case name="3294NISTXML-SV-IV-atomic-dateTime-maxInclusive-3-1 tokoe:valid" result="pass"/><test-case name="3295NISTXML-SV-IV-atomic-dateTime-maxInclusive-3-2 tokoe:valid" result="pass"/><test-case name="3296NISTXML-SV-IV-atomic-dateTime-maxInclusive-3-3 tokoe:valid" result="pass"/><test-case name="3297NISTXML-SV-IV-atomic-dateTime-maxInclusive-3-4 tokoe:valid" result="pass"/><test-case name="3298NISTXML-SV-IV-atomic-dateTime-maxInclusive-3-5 tokoe:valid" result="pass"/><test-case name="3299NISTSchema-SV-IV-atomic-dateTime-maxInclusive-4 tokoe:valid" result="pass"/><test-case name="3300NISTXML-SV-IV-atomic-dateTime-maxInclusive-4-1 tokoe:valid" result="pass"/><test-case name="3301NISTXML-SV-IV-atomic-dateTime-maxInclusive-4-2 tokoe:valid" result="pass"/><test-case name="3302NISTXML-SV-IV-atomic-dateTime-maxInclusive-4-3 tokoe:valid" result="pass"/><test-case name="3303NISTXML-SV-IV-atomic-dateTime-maxInclusive-4-4 tokoe:valid" result="pass"/><test-case name="3304NISTXML-SV-IV-atomic-dateTime-maxInclusive-4-5 tokoe:valid" result="pass"/><test-case name="3305NISTSchema-SV-IV-atomic-dateTime-maxInclusive-5 tokoe:valid" result="pass"/><test-case name="3306NISTXML-SV-IV-atomic-dateTime-maxInclusive-5-1 tokoe:valid" result="pass"/><test-case name="3307NISTXML-SV-IV-atomic-dateTime-maxInclusive-5-2 tokoe:valid" result="pass"/><test-case name="3308NISTXML-SV-IV-atomic-dateTime-maxInclusive-5-3 tokoe:valid" result="pass"/><test-case name="3309NISTXML-SV-IV-atomic-dateTime-maxInclusive-5-4 tokoe:valid" result="pass"/><test-case name="3310NISTXML-SV-IV-atomic-dateTime-maxInclusive-5-5 tokoe:valid" result="pass"/><test-case name="3311NISTSchema-SV-IV-atomic-dateTime-pattern-1 tokoe:valid" result="pass"/><test-case name="3312NISTXML-SV-IV-atomic-dateTime-pattern-1-1 tokoe:valid" result="pass"/><test-case name="3313NISTXML-SV-IV-atomic-dateTime-pattern-1-2 tokoe:valid" result="pass"/><test-case name="3314NISTXML-SV-IV-atomic-dateTime-pattern-1-3 tokoe:valid" result="pass"/><test-case name="3315NISTXML-SV-IV-atomic-dateTime-pattern-1-4 tokoe:valid" result="pass"/><test-case name="3316NISTXML-SV-IV-atomic-dateTime-pattern-1-5 tokoe:valid" result="pass"/><test-case name="3317NISTSchema-SV-IV-atomic-dateTime-pattern-2 tokoe:valid" result="pass"/><test-case name="3318NISTXML-SV-IV-atomic-dateTime-pattern-2-1 tokoe:valid" result="pass"/><test-case name="3319NISTXML-SV-IV-atomic-dateTime-pattern-2-2 tokoe:valid" result="pass"/><test-case name="3320NISTXML-SV-IV-atomic-dateTime-pattern-2-3 tokoe:valid" result="pass"/><test-case name="3321NISTXML-SV-IV-atomic-dateTime-pattern-2-4 tokoe:valid" result="pass"/><test-case name="3322NISTXML-SV-IV-atomic-dateTime-pattern-2-5 tokoe:valid" result="pass"/><test-case name="3323NISTSchema-SV-IV-atomic-dateTime-pattern-3 tokoe:valid" result="pass"/><test-case name="3324NISTXML-SV-IV-atomic-dateTime-pattern-3-1 tokoe:valid" result="pass"/><test-case name="3325NISTXML-SV-IV-atomic-dateTime-pattern-3-2 tokoe:valid" result="pass"/><test-case name="3326NISTXML-SV-IV-atomic-dateTime-pattern-3-3 tokoe:valid" result="pass"/><test-case name="3327NISTXML-SV-IV-atomic-dateTime-pattern-3-4 tokoe:valid" result="pass"/><test-case name="3328NISTXML-SV-IV-atomic-dateTime-pattern-3-5 tokoe:valid" result="pass"/><test-case name="3329NISTSchema-SV-IV-atomic-dateTime-pattern-4 tokoe:valid" result="pass"/><test-case name="3330NISTXML-SV-IV-atomic-dateTime-pattern-4-1 tokoe:valid" result="pass"/><test-case name="3331NISTXML-SV-IV-atomic-dateTime-pattern-4-2 tokoe:valid" result="pass"/><test-case name="3332NISTXML-SV-IV-atomic-dateTime-pattern-4-3 tokoe:valid" result="pass"/><test-case name="3333NISTXML-SV-IV-atomic-dateTime-pattern-4-4 tokoe:valid" result="pass"/><test-case name="3334NISTXML-SV-IV-atomic-dateTime-pattern-4-5 tokoe:valid" result="pass"/><test-case name="3335NISTSchema-SV-IV-atomic-dateTime-pattern-5 tokoe:valid" result="pass"/><test-case name="3336NISTXML-SV-IV-atomic-dateTime-pattern-5-1 tokoe:valid" result="pass"/><test-case name="3337NISTXML-SV-IV-atomic-dateTime-pattern-5-2 tokoe:valid" result="pass"/><test-case name="3338NISTXML-SV-IV-atomic-dateTime-pattern-5-3 tokoe:valid" result="pass"/><test-case name="3339NISTXML-SV-IV-atomic-dateTime-pattern-5-4 tokoe:valid" result="pass"/><test-case name="3340NISTXML-SV-IV-atomic-dateTime-pattern-5-5 tokoe:valid" result="pass"/><test-case name="3341NISTSchema-SV-IV-atomic-dateTime-enumeration-1 tokoe:valid" result="pass"/><test-case name="3342NISTXML-SV-IV-atomic-dateTime-enumeration-1-1 tokoe:valid" result="pass"/><test-case name="3343NISTXML-SV-IV-atomic-dateTime-enumeration-1-2 tokoe:valid" result="pass"/><test-case name="3344NISTXML-SV-IV-atomic-dateTime-enumeration-1-3 tokoe:valid" result="pass"/><test-case name="3345NISTXML-SV-IV-atomic-dateTime-enumeration-1-4 tokoe:valid" result="pass"/><test-case name="3346NISTXML-SV-IV-atomic-dateTime-enumeration-1-5 tokoe:valid" result="pass"/><test-case name="3347NISTSchema-SV-IV-atomic-dateTime-enumeration-2 tokoe:valid" result="pass"/><test-case name="3348NISTXML-SV-IV-atomic-dateTime-enumeration-2-1 tokoe:valid" result="pass"/><test-case name="3349NISTXML-SV-IV-atomic-dateTime-enumeration-2-2 tokoe:valid" result="pass"/><test-case name="3350NISTXML-SV-IV-atomic-dateTime-enumeration-2-3 tokoe:valid" result="pass"/><test-case name="3351NISTXML-SV-IV-atomic-dateTime-enumeration-2-4 tokoe:valid" result="pass"/><test-case name="3352NISTXML-SV-IV-atomic-dateTime-enumeration-2-5 tokoe:valid" result="pass"/><test-case name="3353NISTSchema-SV-IV-atomic-dateTime-enumeration-3 tokoe:valid" result="pass"/><test-case name="3354NISTXML-SV-IV-atomic-dateTime-enumeration-3-1 tokoe:valid" result="pass"/><test-case name="3355NISTXML-SV-IV-atomic-dateTime-enumeration-3-2 tokoe:valid" result="pass"/><test-case name="3356NISTXML-SV-IV-atomic-dateTime-enumeration-3-3 tokoe:valid" result="pass"/><test-case name="3357NISTXML-SV-IV-atomic-dateTime-enumeration-3-4 tokoe:valid" result="pass"/><test-case name="3358NISTXML-SV-IV-atomic-dateTime-enumeration-3-5 tokoe:valid" result="pass"/><test-case name="3359NISTSchema-SV-IV-atomic-dateTime-enumeration-4 tokoe:valid" result="pass"/><test-case name="3360NISTXML-SV-IV-atomic-dateTime-enumeration-4-1 tokoe:valid" result="pass"/><test-case name="3361NISTXML-SV-IV-atomic-dateTime-enumeration-4-2 tokoe:valid" result="pass"/><test-case name="3362NISTXML-SV-IV-atomic-dateTime-enumeration-4-3 tokoe:valid" result="pass"/><test-case name="3363NISTXML-SV-IV-atomic-dateTime-enumeration-4-4 tokoe:valid" result="pass"/><test-case name="3364NISTXML-SV-IV-atomic-dateTime-enumeration-4-5 tokoe:valid" result="pass"/><test-case name="3365NISTSchema-SV-IV-atomic-dateTime-enumeration-5 tokoe:valid" result="pass"/><test-case name="3366NISTXML-SV-IV-atomic-dateTime-enumeration-5-1 tokoe:valid" result="pass"/><test-case name="3367NISTXML-SV-IV-atomic-dateTime-enumeration-5-2 tokoe:valid" result="pass"/><test-case name="3368NISTXML-SV-IV-atomic-dateTime-enumeration-5-3 tokoe:valid" result="pass"/><test-case name="3369NISTXML-SV-IV-atomic-dateTime-enumeration-5-4 tokoe:valid" result="pass"/><test-case name="3370NISTXML-SV-IV-atomic-dateTime-enumeration-5-5 tokoe:valid" result="pass"/><test-case name="3371NISTSchema-SV-IV-atomic-dateTime-whiteSpace-1 tokoe:valid" result="pass"/><test-case name="3372NISTXML-SV-IV-atomic-dateTime-whiteSpace-1-1 tokoe:valid" result="pass"/><test-case name="3373NISTXML-SV-IV-atomic-dateTime-whiteSpace-1-2 tokoe:valid" result="pass"/><test-case name="3374NISTXML-SV-IV-atomic-dateTime-whiteSpace-1-3 tokoe:valid" result="pass"/><test-case name="3375NISTXML-SV-IV-atomic-dateTime-whiteSpace-1-4 tokoe:valid" result="pass"/><test-case name="3376NISTXML-SV-IV-atomic-dateTime-whiteSpace-1-5 tokoe:valid" result="pass"/><test-case name="3377NISTSchema-SV-IV-atomic-time-minExclusive-1 tokoe:valid" result="pass"/><test-case name="3378NISTXML-SV-IV-atomic-time-minExclusive-1-1 tokoe:valid" result="pass"/><test-case name="3379NISTXML-SV-IV-atomic-time-minExclusive-1-2 tokoe:valid" result="pass"/><test-case name="3380NISTXML-SV-IV-atomic-time-minExclusive-1-3 tokoe:valid" result="pass"/><test-case name="3381NISTXML-SV-IV-atomic-time-minExclusive-1-4 tokoe:valid" result="pass"/><test-case name="3382NISTXML-SV-IV-atomic-time-minExclusive-1-5 tokoe:valid" result="pass"/><test-case name="3383NISTSchema-SV-IV-atomic-time-minExclusive-2 tokoe:valid" result="pass"/><test-case name="3384NISTXML-SV-IV-atomic-time-minExclusive-2-1 tokoe:valid" result="pass"/><test-case name="3385NISTXML-SV-IV-atomic-time-minExclusive-2-2 tokoe:valid" result="pass"/><test-case name="3386NISTXML-SV-IV-atomic-time-minExclusive-2-3 tokoe:valid" result="pass"/><test-case name="3387NISTXML-SV-IV-atomic-time-minExclusive-2-4 tokoe:valid" result="pass"/><test-case name="3388NISTXML-SV-IV-atomic-time-minExclusive-2-5 tokoe:valid" result="pass"/><test-case name="3389NISTSchema-SV-IV-atomic-time-minExclusive-3 tokoe:valid" result="pass"/><test-case name="3390NISTXML-SV-IV-atomic-time-minExclusive-3-1 tokoe:valid" result="pass"/><test-case name="3391NISTXML-SV-IV-atomic-time-minExclusive-3-2 tokoe:valid" result="pass"/><test-case name="3392NISTXML-SV-IV-atomic-time-minExclusive-3-3 tokoe:valid" result="pass"/><test-case name="3393NISTXML-SV-IV-atomic-time-minExclusive-3-4 tokoe:valid" result="pass"/><test-case name="3394NISTXML-SV-IV-atomic-time-minExclusive-3-5 tokoe:valid" result="pass"/><test-case name="3395NISTSchema-SV-IV-atomic-time-minExclusive-4 tokoe:valid" result="pass"/><test-case name="3396NISTXML-SV-IV-atomic-time-minExclusive-4-1 tokoe:valid" result="pass"/><test-case name="3397NISTXML-SV-IV-atomic-time-minExclusive-4-2 tokoe:valid" result="pass"/><test-case name="3398NISTXML-SV-IV-atomic-time-minExclusive-4-3 tokoe:valid" result="pass"/><test-case name="3399NISTXML-SV-IV-atomic-time-minExclusive-4-4 tokoe:valid" result="pass"/><test-case name="3400NISTXML-SV-IV-atomic-time-minExclusive-4-5 tokoe:valid" result="pass"/><test-case name="3401NISTSchema-SV-IV-atomic-time-minExclusive-5 tokoe:valid" result="pass"/><test-case name="3402NISTXML-SV-IV-atomic-time-minExclusive-5-1 tokoe:valid" result="pass"/><test-case name="3403NISTSchema-SV-IV-atomic-time-minInclusive-1 tokoe:valid" result="pass"/><test-case name="3404NISTXML-SV-IV-atomic-time-minInclusive-1-1 tokoe:valid" result="pass"/><test-case name="3405NISTXML-SV-IV-atomic-time-minInclusive-1-2 tokoe:valid" result="pass"/><test-case name="3406NISTXML-SV-IV-atomic-time-minInclusive-1-3 tokoe:valid" result="pass"/><test-case name="3407NISTXML-SV-IV-atomic-time-minInclusive-1-4 tokoe:valid" result="pass"/><test-case name="3408NISTXML-SV-IV-atomic-time-minInclusive-1-5 tokoe:valid" result="pass"/><test-case name="3409NISTSchema-SV-IV-atomic-time-minInclusive-2 tokoe:valid" result="pass"/><test-case name="3410NISTXML-SV-IV-atomic-time-minInclusive-2-1 tokoe:valid" result="pass"/><test-case name="3411NISTXML-SV-IV-atomic-time-minInclusive-2-2 tokoe:valid" result="pass"/><test-case name="3412NISTXML-SV-IV-atomic-time-minInclusive-2-3 tokoe:valid" result="pass"/><test-case name="3413NISTXML-SV-IV-atomic-time-minInclusive-2-4 tokoe:valid" result="pass"/><test-case name="3414NISTXML-SV-IV-atomic-time-minInclusive-2-5 tokoe:valid" result="pass"/><test-case name="3415NISTSchema-SV-IV-atomic-time-minInclusive-3 tokoe:valid" result="pass"/><test-case name="3416NISTXML-SV-IV-atomic-time-minInclusive-3-1 tokoe:valid" result="pass"/><test-case name="3417NISTXML-SV-IV-atomic-time-minInclusive-3-2 tokoe:valid" result="pass"/><test-case name="3418NISTXML-SV-IV-atomic-time-minInclusive-3-3 tokoe:valid" result="pass"/><test-case name="3419NISTXML-SV-IV-atomic-time-minInclusive-3-4 tokoe:valid" result="pass"/><test-case name="3420NISTXML-SV-IV-atomic-time-minInclusive-3-5 tokoe:valid" result="pass"/><test-case name="3421NISTSchema-SV-IV-atomic-time-minInclusive-4 tokoe:valid" result="pass"/><test-case name="3422NISTXML-SV-IV-atomic-time-minInclusive-4-1 tokoe:valid" result="pass"/><test-case name="3423NISTXML-SV-IV-atomic-time-minInclusive-4-2 tokoe:valid" result="pass"/><test-case name="3424NISTXML-SV-IV-atomic-time-minInclusive-4-3 tokoe:valid" result="pass"/><test-case name="3425NISTXML-SV-IV-atomic-time-minInclusive-4-4 tokoe:valid" result="pass"/><test-case name="3426NISTXML-SV-IV-atomic-time-minInclusive-4-5 tokoe:valid" result="pass"/><test-case name="3427NISTSchema-SV-IV-atomic-time-minInclusive-5 tokoe:valid" result="pass"/><test-case name="3428NISTXML-SV-IV-atomic-time-minInclusive-5-1 tokoe:valid" result="pass"/><test-case name="3429NISTSchema-SV-IV-atomic-time-maxExclusive-1 tokoe:valid" result="pass"/><test-case name="3430NISTXML-SV-IV-atomic-time-maxExclusive-1-1 tokoe:valid" result="pass"/><test-case name="3431NISTSchema-SV-IV-atomic-time-maxExclusive-2 tokoe:valid" result="pass"/><test-case name="3432NISTXML-SV-IV-atomic-time-maxExclusive-2-1 tokoe:valid" result="pass"/><test-case name="3433NISTXML-SV-IV-atomic-time-maxExclusive-2-2 tokoe:valid" result="pass"/><test-case name="3434NISTXML-SV-IV-atomic-time-maxExclusive-2-3 tokoe:valid" result="pass"/><test-case name="3435NISTXML-SV-IV-atomic-time-maxExclusive-2-4 tokoe:valid" result="pass"/><test-case name="3436NISTXML-SV-IV-atomic-time-maxExclusive-2-5 tokoe:valid" result="pass"/><test-case name="3437NISTSchema-SV-IV-atomic-time-maxExclusive-3 tokoe:valid" result="pass"/><test-case name="3438NISTXML-SV-IV-atomic-time-maxExclusive-3-1 tokoe:valid" result="pass"/><test-case name="3439NISTXML-SV-IV-atomic-time-maxExclusive-3-2 tokoe:valid" result="pass"/><test-case name="3440NISTXML-SV-IV-atomic-time-maxExclusive-3-3 tokoe:valid" result="pass"/><test-case name="3441NISTXML-SV-IV-atomic-time-maxExclusive-3-4 tokoe:valid" result="pass"/><test-case name="3442NISTXML-SV-IV-atomic-time-maxExclusive-3-5 tokoe:valid" result="pass"/><test-case name="3443NISTSchema-SV-IV-atomic-time-maxExclusive-4 tokoe:valid" result="pass"/><test-case name="3444NISTXML-SV-IV-atomic-time-maxExclusive-4-1 tokoe:valid" result="pass"/><test-case name="3445NISTXML-SV-IV-atomic-time-maxExclusive-4-2 tokoe:valid" result="pass"/><test-case name="3446NISTXML-SV-IV-atomic-time-maxExclusive-4-3 tokoe:valid" result="pass"/><test-case name="3447NISTXML-SV-IV-atomic-time-maxExclusive-4-4 tokoe:valid" result="pass"/><test-case name="3448NISTXML-SV-IV-atomic-time-maxExclusive-4-5 tokoe:valid" result="pass"/><test-case name="3449NISTSchema-SV-IV-atomic-time-maxExclusive-5 tokoe:valid" result="pass"/><test-case name="3450NISTXML-SV-IV-atomic-time-maxExclusive-5-1 tokoe:valid" result="pass"/><test-case name="3451NISTXML-SV-IV-atomic-time-maxExclusive-5-2 tokoe:valid" result="pass"/><test-case name="3452NISTXML-SV-IV-atomic-time-maxExclusive-5-3 tokoe:valid" result="pass"/><test-case name="3453NISTXML-SV-IV-atomic-time-maxExclusive-5-4 tokoe:valid" result="pass"/><test-case name="3454NISTXML-SV-IV-atomic-time-maxExclusive-5-5 tokoe:valid" result="pass"/><test-case name="3455NISTSchema-SV-IV-atomic-time-maxInclusive-1 tokoe:valid" result="pass"/><test-case name="3456NISTXML-SV-IV-atomic-time-maxInclusive-1-1 tokoe:valid" result="pass"/><test-case name="3457NISTSchema-SV-IV-atomic-time-maxInclusive-2 tokoe:valid" result="pass"/><test-case name="3458NISTXML-SV-IV-atomic-time-maxInclusive-2-1 tokoe:valid" result="pass"/><test-case name="3459NISTXML-SV-IV-atomic-time-maxInclusive-2-2 tokoe:valid" result="pass"/><test-case name="3460NISTXML-SV-IV-atomic-time-maxInclusive-2-3 tokoe:valid" result="pass"/><test-case name="3461NISTXML-SV-IV-atomic-time-maxInclusive-2-4 tokoe:valid" result="pass"/><test-case name="3462NISTXML-SV-IV-atomic-time-maxInclusive-2-5 tokoe:valid" result="pass"/><test-case name="3463NISTSchema-SV-IV-atomic-time-maxInclusive-3 tokoe:valid" result="pass"/><test-case name="3464NISTXML-SV-IV-atomic-time-maxInclusive-3-1 tokoe:valid" result="pass"/><test-case name="3465NISTXML-SV-IV-atomic-time-maxInclusive-3-2 tokoe:valid" result="pass"/><test-case name="3466NISTXML-SV-IV-atomic-time-maxInclusive-3-3 tokoe:valid" result="pass"/><test-case name="3467NISTXML-SV-IV-atomic-time-maxInclusive-3-4 tokoe:valid" result="pass"/><test-case name="3468NISTXML-SV-IV-atomic-time-maxInclusive-3-5 tokoe:valid" result="pass"/><test-case name="3469NISTSchema-SV-IV-atomic-time-maxInclusive-4 tokoe:valid" result="pass"/><test-case name="3470NISTXML-SV-IV-atomic-time-maxInclusive-4-1 tokoe:valid" result="pass"/><test-case name="3471NISTXML-SV-IV-atomic-time-maxInclusive-4-2 tokoe:valid" result="pass"/><test-case name="3472NISTXML-SV-IV-atomic-time-maxInclusive-4-3 tokoe:valid" result="pass"/><test-case name="3473NISTXML-SV-IV-atomic-time-maxInclusive-4-4 tokoe:valid" result="pass"/><test-case name="3474NISTXML-SV-IV-atomic-time-maxInclusive-4-5 tokoe:valid" result="pass"/><test-case name="3475NISTSchema-SV-IV-atomic-time-maxInclusive-5 tokoe:valid" result="pass"/><test-case name="3476NISTXML-SV-IV-atomic-time-maxInclusive-5-1 tokoe:valid" result="pass"/><test-case name="3477NISTXML-SV-IV-atomic-time-maxInclusive-5-2 tokoe:valid" result="pass"/><test-case name="3478NISTXML-SV-IV-atomic-time-maxInclusive-5-3 tokoe:valid" result="pass"/><test-case name="3479NISTXML-SV-IV-atomic-time-maxInclusive-5-4 tokoe:valid" result="pass"/><test-case name="3480NISTXML-SV-IV-atomic-time-maxInclusive-5-5 tokoe:valid" result="pass"/><test-case name="3481NISTSchema-SV-IV-atomic-time-pattern-1 tokoe:valid" result="pass"/><test-case name="3482NISTXML-SV-IV-atomic-time-pattern-1-1 tokoe:valid" result="pass"/><test-case name="3483NISTXML-SV-IV-atomic-time-pattern-1-2 tokoe:valid" result="pass"/><test-case name="3484NISTXML-SV-IV-atomic-time-pattern-1-3 tokoe:valid" result="pass"/><test-case name="3485NISTXML-SV-IV-atomic-time-pattern-1-4 tokoe:valid" result="pass"/><test-case name="3486NISTXML-SV-IV-atomic-time-pattern-1-5 tokoe:valid" result="pass"/><test-case name="3487NISTSchema-SV-IV-atomic-time-pattern-2 tokoe:valid" result="pass"/><test-case name="3488NISTXML-SV-IV-atomic-time-pattern-2-1 tokoe:valid" result="pass"/><test-case name="3489NISTXML-SV-IV-atomic-time-pattern-2-2 tokoe:valid" result="pass"/><test-case name="3490NISTXML-SV-IV-atomic-time-pattern-2-3 tokoe:valid" result="pass"/><test-case name="3491NISTXML-SV-IV-atomic-time-pattern-2-4 tokoe:valid" result="pass"/><test-case name="3492NISTXML-SV-IV-atomic-time-pattern-2-5 tokoe:valid" result="pass"/><test-case name="3493NISTSchema-SV-IV-atomic-time-pattern-3 tokoe:valid" result="pass"/><test-case name="3494NISTXML-SV-IV-atomic-time-pattern-3-1 tokoe:valid" result="pass"/><test-case name="3495NISTXML-SV-IV-atomic-time-pattern-3-2 tokoe:valid" result="pass"/><test-case name="3496NISTXML-SV-IV-atomic-time-pattern-3-3 tokoe:valid" result="pass"/><test-case name="3497NISTXML-SV-IV-atomic-time-pattern-3-4 tokoe:valid" result="pass"/><test-case name="3498NISTXML-SV-IV-atomic-time-pattern-3-5 tokoe:valid" result="pass"/><test-case name="3499NISTSchema-SV-IV-atomic-time-pattern-4 tokoe:valid" result="pass"/><test-case name="3500NISTXML-SV-IV-atomic-time-pattern-4-1 tokoe:valid" result="pass"/><test-case name="3501NISTXML-SV-IV-atomic-time-pattern-4-2 tokoe:valid" result="pass"/><test-case name="3502NISTXML-SV-IV-atomic-time-pattern-4-3 tokoe:valid" result="pass"/><test-case name="3503NISTXML-SV-IV-atomic-time-pattern-4-4 tokoe:valid" result="pass"/><test-case name="3504NISTXML-SV-IV-atomic-time-pattern-4-5 tokoe:valid" result="pass"/><test-case name="3505NISTSchema-SV-IV-atomic-time-pattern-5 tokoe:valid" result="pass"/><test-case name="3506NISTXML-SV-IV-atomic-time-pattern-5-1 tokoe:valid" result="pass"/><test-case name="3507NISTXML-SV-IV-atomic-time-pattern-5-2 tokoe:valid" result="pass"/><test-case name="3508NISTXML-SV-IV-atomic-time-pattern-5-3 tokoe:valid" result="pass"/><test-case name="3509NISTXML-SV-IV-atomic-time-pattern-5-4 tokoe:valid" result="pass"/><test-case name="3510NISTXML-SV-IV-atomic-time-pattern-5-5 tokoe:valid" result="pass"/><test-case name="3511NISTSchema-SV-IV-atomic-time-enumeration-1 tokoe:valid" result="pass"/><test-case name="3512NISTXML-SV-IV-atomic-time-enumeration-1-1 tokoe:valid" result="pass"/><test-case name="3513NISTXML-SV-IV-atomic-time-enumeration-1-2 tokoe:valid" result="pass"/><test-case name="3514NISTXML-SV-IV-atomic-time-enumeration-1-3 tokoe:valid" result="pass"/><test-case name="3515NISTXML-SV-IV-atomic-time-enumeration-1-4 tokoe:valid" result="pass"/><test-case name="3516NISTXML-SV-IV-atomic-time-enumeration-1-5 tokoe:valid" result="pass"/><test-case name="3517NISTSchema-SV-IV-atomic-time-enumeration-2 tokoe:valid" result="pass"/><test-case name="3518NISTXML-SV-IV-atomic-time-enumeration-2-1 tokoe:valid" result="pass"/><test-case name="3519NISTXML-SV-IV-atomic-time-enumeration-2-2 tokoe:valid" result="pass"/><test-case name="3520NISTXML-SV-IV-atomic-time-enumeration-2-3 tokoe:valid" result="pass"/><test-case name="3521NISTXML-SV-IV-atomic-time-enumeration-2-4 tokoe:valid" result="pass"/><test-case name="3522NISTXML-SV-IV-atomic-time-enumeration-2-5 tokoe:valid" result="pass"/><test-case name="3523NISTSchema-SV-IV-atomic-time-enumeration-3 tokoe:valid" result="pass"/><test-case name="3524NISTXML-SV-IV-atomic-time-enumeration-3-1 tokoe:valid" result="pass"/><test-case name="3525NISTXML-SV-IV-atomic-time-enumeration-3-2 tokoe:valid" result="pass"/><test-case name="3526NISTXML-SV-IV-atomic-time-enumeration-3-3 tokoe:valid" result="pass"/><test-case name="3527NISTXML-SV-IV-atomic-time-enumeration-3-4 tokoe:valid" result="pass"/><test-case name="3528NISTXML-SV-IV-atomic-time-enumeration-3-5 tokoe:valid" result="pass"/><test-case name="3529NISTSchema-SV-IV-atomic-time-enumeration-4 tokoe:valid" result="pass"/><test-case name="3530NISTXML-SV-IV-atomic-time-enumeration-4-1 tokoe:valid" result="pass"/><test-case name="3531NISTXML-SV-IV-atomic-time-enumeration-4-2 tokoe:valid" result="pass"/><test-case name="3532NISTXML-SV-IV-atomic-time-enumeration-4-3 tokoe:valid" result="pass"/><test-case name="3533NISTXML-SV-IV-atomic-time-enumeration-4-4 tokoe:valid" result="pass"/><test-case name="3534NISTXML-SV-IV-atomic-time-enumeration-4-5 tokoe:valid" result="pass"/><test-case name="3535NISTSchema-SV-IV-atomic-time-enumeration-5 tokoe:valid" result="pass"/><test-case name="3536NISTXML-SV-IV-atomic-time-enumeration-5-1 tokoe:valid" result="pass"/><test-case name="3537NISTXML-SV-IV-atomic-time-enumeration-5-2 tokoe:valid" result="pass"/><test-case name="3538NISTXML-SV-IV-atomic-time-enumeration-5-3 tokoe:valid" result="pass"/><test-case name="3539NISTXML-SV-IV-atomic-time-enumeration-5-4 tokoe:valid" result="pass"/><test-case name="3540NISTXML-SV-IV-atomic-time-enumeration-5-5 tokoe:valid" result="pass"/><test-case name="3541NISTSchema-SV-IV-atomic-time-whiteSpace-1 tokoe:valid" result="pass"/><test-case name="3542NISTXML-SV-IV-atomic-time-whiteSpace-1-1 tokoe:valid" result="pass"/><test-case name="3543NISTXML-SV-IV-atomic-time-whiteSpace-1-2 tokoe:valid" result="pass"/><test-case name="3544NISTXML-SV-IV-atomic-time-whiteSpace-1-3 tokoe:valid" result="pass"/><test-case name="3545NISTXML-SV-IV-atomic-time-whiteSpace-1-4 tokoe:valid" result="pass"/><test-case name="3546NISTXML-SV-IV-atomic-time-whiteSpace-1-5 tokoe:valid" result="pass"/><test-case name="3547NISTSchema-SV-IV-atomic-date-minExclusive-1 tokoe:valid" result="pass"/><test-case name="3548NISTXML-SV-IV-atomic-date-minExclusive-1-1 tokoe:valid" result="pass"/><test-case name="3549NISTXML-SV-IV-atomic-date-minExclusive-1-2 tokoe:valid" result="pass"/><test-case name="3550NISTXML-SV-IV-atomic-date-minExclusive-1-3 tokoe:valid" result="pass"/><test-case name="3551NISTXML-SV-IV-atomic-date-minExclusive-1-4 tokoe:valid" result="pass"/><test-case name="3552NISTXML-SV-IV-atomic-date-minExclusive-1-5 tokoe:valid" result="pass"/><test-case name="3553NISTSchema-SV-IV-atomic-date-minExclusive-2 tokoe:valid" result="pass"/><test-case name="3554NISTXML-SV-IV-atomic-date-minExclusive-2-1 tokoe:valid" result="pass"/><test-case name="3555NISTXML-SV-IV-atomic-date-minExclusive-2-2 tokoe:valid" result="pass"/><test-case name="3556NISTXML-SV-IV-atomic-date-minExclusive-2-3 tokoe:valid" result="pass"/><test-case name="3557NISTXML-SV-IV-atomic-date-minExclusive-2-4 tokoe:valid" result="pass"/><test-case name="3558NISTXML-SV-IV-atomic-date-minExclusive-2-5 tokoe:valid" result="pass"/><test-case name="3559NISTSchema-SV-IV-atomic-date-minExclusive-3 tokoe:valid" result="pass"/><test-case name="3560NISTXML-SV-IV-atomic-date-minExclusive-3-1 tokoe:valid" result="pass"/><test-case name="3561NISTXML-SV-IV-atomic-date-minExclusive-3-2 tokoe:valid" result="pass"/><test-case name="3562NISTXML-SV-IV-atomic-date-minExclusive-3-3 tokoe:valid" result="pass"/><test-case name="3563NISTXML-SV-IV-atomic-date-minExclusive-3-4 tokoe:valid" result="pass"/><test-case name="3564NISTXML-SV-IV-atomic-date-minExclusive-3-5 tokoe:valid" result="pass"/><test-case name="3565NISTSchema-SV-IV-atomic-date-minExclusive-4 tokoe:valid" result="pass"/><test-case name="3566NISTXML-SV-IV-atomic-date-minExclusive-4-1 tokoe:valid" result="pass"/><test-case name="3567NISTXML-SV-IV-atomic-date-minExclusive-4-2 tokoe:valid" result="pass"/><test-case name="3568NISTXML-SV-IV-atomic-date-minExclusive-4-3 tokoe:valid" result="pass"/><test-case name="3569NISTXML-SV-IV-atomic-date-minExclusive-4-4 tokoe:valid" result="pass"/><test-case name="3570NISTXML-SV-IV-atomic-date-minExclusive-4-5 tokoe:valid" result="pass"/><test-case name="3571NISTSchema-SV-IV-atomic-date-minExclusive-5 tokoe:valid" result="pass"/><test-case name="3572NISTXML-SV-IV-atomic-date-minExclusive-5-1 tokoe:valid" result="pass"/><test-case name="3573NISTSchema-SV-IV-atomic-date-minInclusive-1 tokoe:valid" result="pass"/><test-case name="3574NISTXML-SV-IV-atomic-date-minInclusive-1-1 tokoe:valid" result="pass"/><test-case name="3575NISTXML-SV-IV-atomic-date-minInclusive-1-2 tokoe:valid" result="pass"/><test-case name="3576NISTXML-SV-IV-atomic-date-minInclusive-1-3 tokoe:valid" result="pass"/><test-case name="3577NISTXML-SV-IV-atomic-date-minInclusive-1-4 tokoe:valid" result="pass"/><test-case name="3578NISTXML-SV-IV-atomic-date-minInclusive-1-5 tokoe:valid" result="pass"/><test-case name="3579NISTSchema-SV-IV-atomic-date-minInclusive-2 tokoe:valid" result="pass"/><test-case name="3580NISTXML-SV-IV-atomic-date-minInclusive-2-1 tokoe:valid" result="pass"/><test-case name="3581NISTXML-SV-IV-atomic-date-minInclusive-2-2 tokoe:valid" result="pass"/><test-case name="3582NISTXML-SV-IV-atomic-date-minInclusive-2-3 tokoe:valid" result="pass"/><test-case name="3583NISTXML-SV-IV-atomic-date-minInclusive-2-4 tokoe:valid" result="pass"/><test-case name="3584NISTXML-SV-IV-atomic-date-minInclusive-2-5 tokoe:valid" result="pass"/><test-case name="3585NISTSchema-SV-IV-atomic-date-minInclusive-3 tokoe:valid" result="pass"/><test-case name="3586NISTXML-SV-IV-atomic-date-minInclusive-3-1 tokoe:valid" result="pass"/><test-case name="3587NISTXML-SV-IV-atomic-date-minInclusive-3-2 tokoe:valid" result="pass"/><test-case name="3588NISTXML-SV-IV-atomic-date-minInclusive-3-3 tokoe:valid" result="pass"/><test-case name="3589NISTXML-SV-IV-atomic-date-minInclusive-3-4 tokoe:valid" result="pass"/><test-case name="3590NISTXML-SV-IV-atomic-date-minInclusive-3-5 tokoe:valid" result="pass"/><test-case name="3591NISTSchema-SV-IV-atomic-date-minInclusive-4 tokoe:valid" result="pass"/><test-case name="3592NISTXML-SV-IV-atomic-date-minInclusive-4-1 tokoe:valid" result="pass"/><test-case name="3593NISTXML-SV-IV-atomic-date-minInclusive-4-2 tokoe:valid" result="pass"/><test-case name="3594NISTXML-SV-IV-atomic-date-minInclusive-4-3 tokoe:valid" result="pass"/><test-case name="3595NISTXML-SV-IV-atomic-date-minInclusive-4-4 tokoe:valid" result="pass"/><test-case name="3596NISTXML-SV-IV-atomic-date-minInclusive-4-5 tokoe:valid" result="pass"/><test-case name="3597NISTSchema-SV-IV-atomic-date-minInclusive-5 tokoe:valid" result="pass"/><test-case name="3598NISTXML-SV-IV-atomic-date-minInclusive-5-1 tokoe:valid" result="pass"/><test-case name="3599NISTSchema-SV-IV-atomic-date-maxExclusive-1 tokoe:valid" result="pass"/><test-case name="3600NISTXML-SV-IV-atomic-date-maxExclusive-1-1 tokoe:valid" result="pass"/><test-case name="3601NISTSchema-SV-IV-atomic-date-maxExclusive-2 tokoe:valid" result="pass"/><test-case name="3602NISTXML-SV-IV-atomic-date-maxExclusive-2-1 tokoe:valid" result="pass"/><test-case name="3603NISTXML-SV-IV-atomic-date-maxExclusive-2-2 tokoe:valid" result="pass"/><test-case name="3604NISTXML-SV-IV-atomic-date-maxExclusive-2-3 tokoe:valid" result="pass"/><test-case name="3605NISTXML-SV-IV-atomic-date-maxExclusive-2-4 tokoe:valid" result="pass"/><test-case name="3606NISTXML-SV-IV-atomic-date-maxExclusive-2-5 tokoe:valid" result="pass"/><test-case name="3607NISTSchema-SV-IV-atomic-date-maxExclusive-3 tokoe:valid" result="pass"/><test-case name="3608NISTXML-SV-IV-atomic-date-maxExclusive-3-1 tokoe:valid" result="pass"/><test-case name="3609NISTXML-SV-IV-atomic-date-maxExclusive-3-2 tokoe:valid" result="pass"/><test-case name="3610NISTXML-SV-IV-atomic-date-maxExclusive-3-3 tokoe:valid" result="pass"/><test-case name="3611NISTXML-SV-IV-atomic-date-maxExclusive-3-4 tokoe:valid" result="pass"/><test-case name="3612NISTXML-SV-IV-atomic-date-maxExclusive-3-5 tokoe:valid" result="pass"/><test-case name="3613NISTSchema-SV-IV-atomic-date-maxExclusive-4 tokoe:valid" result="pass"/><test-case name="3614NISTXML-SV-IV-atomic-date-maxExclusive-4-1 tokoe:valid" result="pass"/><test-case name="3615NISTXML-SV-IV-atomic-date-maxExclusive-4-2 tokoe:valid" result="pass"/><test-case name="3616NISTXML-SV-IV-atomic-date-maxExclusive-4-3 tokoe:valid" result="pass"/><test-case name="3617NISTXML-SV-IV-atomic-date-maxExclusive-4-4 tokoe:valid" result="pass"/><test-case name="3618NISTXML-SV-IV-atomic-date-maxExclusive-4-5 tokoe:valid" result="pass"/><test-case name="3619NISTSchema-SV-IV-atomic-date-maxExclusive-5 tokoe:valid" result="pass"/><test-case name="3620NISTXML-SV-IV-atomic-date-maxExclusive-5-1 tokoe:valid" result="pass"/><test-case name="3621NISTXML-SV-IV-atomic-date-maxExclusive-5-2 tokoe:valid" result="pass"/><test-case name="3622NISTXML-SV-IV-atomic-date-maxExclusive-5-3 tokoe:valid" result="pass"/><test-case name="3623NISTXML-SV-IV-atomic-date-maxExclusive-5-4 tokoe:valid" result="pass"/><test-case name="3624NISTXML-SV-IV-atomic-date-maxExclusive-5-5 tokoe:valid" result="pass"/><test-case name="3625NISTSchema-SV-IV-atomic-date-maxInclusive-1 tokoe:valid" result="pass"/><test-case name="3626NISTXML-SV-IV-atomic-date-maxInclusive-1-1 tokoe:valid" result="pass"/><test-case name="3627NISTSchema-SV-IV-atomic-date-maxInclusive-2 tokoe:valid" result="pass"/><test-case name="3628NISTXML-SV-IV-atomic-date-maxInclusive-2-1 tokoe:valid" result="pass"/><test-case name="3629NISTXML-SV-IV-atomic-date-maxInclusive-2-2 tokoe:valid" result="pass"/><test-case name="3630NISTXML-SV-IV-atomic-date-maxInclusive-2-3 tokoe:valid" result="pass"/><test-case name="3631NISTXML-SV-IV-atomic-date-maxInclusive-2-4 tokoe:valid" result="pass"/><test-case name="3632NISTXML-SV-IV-atomic-date-maxInclusive-2-5 tokoe:valid" result="pass"/><test-case name="3633NISTSchema-SV-IV-atomic-date-maxInclusive-3 tokoe:valid" result="pass"/><test-case name="3634NISTXML-SV-IV-atomic-date-maxInclusive-3-1 tokoe:valid" result="pass"/><test-case name="3635NISTXML-SV-IV-atomic-date-maxInclusive-3-2 tokoe:valid" result="pass"/><test-case name="3636NISTXML-SV-IV-atomic-date-maxInclusive-3-3 tokoe:valid" result="pass"/><test-case name="3637NISTXML-SV-IV-atomic-date-maxInclusive-3-4 tokoe:valid" result="pass"/><test-case name="3638NISTXML-SV-IV-atomic-date-maxInclusive-3-5 tokoe:valid" result="pass"/><test-case name="3639NISTSchema-SV-IV-atomic-date-maxInclusive-4 tokoe:valid" result="pass"/><test-case name="3640NISTXML-SV-IV-atomic-date-maxInclusive-4-1 tokoe:valid" result="pass"/><test-case name="3641NISTXML-SV-IV-atomic-date-maxInclusive-4-2 tokoe:valid" result="pass"/><test-case name="3642NISTXML-SV-IV-atomic-date-maxInclusive-4-3 tokoe:valid" result="pass"/><test-case name="3643NISTXML-SV-IV-atomic-date-maxInclusive-4-4 tokoe:valid" result="pass"/><test-case name="3644NISTXML-SV-IV-atomic-date-maxInclusive-4-5 tokoe:valid" result="pass"/><test-case name="3645NISTSchema-SV-IV-atomic-date-maxInclusive-5 tokoe:valid" result="pass"/><test-case name="3646NISTXML-SV-IV-atomic-date-maxInclusive-5-1 tokoe:valid" result="pass"/><test-case name="3647NISTXML-SV-IV-atomic-date-maxInclusive-5-2 tokoe:valid" result="pass"/><test-case name="3648NISTXML-SV-IV-atomic-date-maxInclusive-5-3 tokoe:valid" result="pass"/><test-case name="3649NISTXML-SV-IV-atomic-date-maxInclusive-5-4 tokoe:valid" result="pass"/><test-case name="3650NISTXML-SV-IV-atomic-date-maxInclusive-5-5 tokoe:valid" result="pass"/><test-case name="3651NISTSchema-SV-IV-atomic-date-pattern-1 tokoe:valid" result="pass"/><test-case name="3652NISTXML-SV-IV-atomic-date-pattern-1-1 tokoe:valid" result="pass"/><test-case name="3653NISTXML-SV-IV-atomic-date-pattern-1-2 tokoe:valid" result="pass"/><test-case name="3654NISTXML-SV-IV-atomic-date-pattern-1-3 tokoe:valid" result="pass"/><test-case name="3655NISTXML-SV-IV-atomic-date-pattern-1-4 tokoe:valid" result="pass"/><test-case name="3656NISTXML-SV-IV-atomic-date-pattern-1-5 tokoe:valid" result="pass"/><test-case name="3657NISTSchema-SV-IV-atomic-date-pattern-2 tokoe:valid" result="pass"/><test-case name="3658NISTXML-SV-IV-atomic-date-pattern-2-1 tokoe:valid" result="pass"/><test-case name="3659NISTXML-SV-IV-atomic-date-pattern-2-2 tokoe:valid" result="pass"/><test-case name="3660NISTXML-SV-IV-atomic-date-pattern-2-3 tokoe:valid" result="pass"/><test-case name="3661NISTXML-SV-IV-atomic-date-pattern-2-4 tokoe:valid" result="pass"/><test-case name="3662NISTXML-SV-IV-atomic-date-pattern-2-5 tokoe:valid" result="pass"/><test-case name="3663NISTSchema-SV-IV-atomic-date-pattern-3 tokoe:valid" result="pass"/><test-case name="3664NISTXML-SV-IV-atomic-date-pattern-3-1 tokoe:valid" result="pass"/><test-case name="3665NISTXML-SV-IV-atomic-date-pattern-3-2 tokoe:valid" result="pass"/><test-case name="3666NISTXML-SV-IV-atomic-date-pattern-3-3 tokoe:valid" result="pass"/><test-case name="3667NISTXML-SV-IV-atomic-date-pattern-3-4 tokoe:valid" result="pass"/><test-case name="3668NISTXML-SV-IV-atomic-date-pattern-3-5 tokoe:valid" result="pass"/><test-case name="3669NISTSchema-SV-IV-atomic-date-pattern-4 tokoe:valid" result="pass"/><test-case name="3670NISTXML-SV-IV-atomic-date-pattern-4-1 tokoe:valid" result="pass"/><test-case name="3671NISTXML-SV-IV-atomic-date-pattern-4-2 tokoe:valid" result="pass"/><test-case name="3672NISTXML-SV-IV-atomic-date-pattern-4-3 tokoe:valid" result="pass"/><test-case name="3673NISTXML-SV-IV-atomic-date-pattern-4-4 tokoe:valid" result="pass"/><test-case name="3674NISTXML-SV-IV-atomic-date-pattern-4-5 tokoe:valid" result="pass"/><test-case name="3675NISTSchema-SV-IV-atomic-date-pattern-5 tokoe:valid" result="pass"/><test-case name="3676NISTXML-SV-IV-atomic-date-pattern-5-1 tokoe:valid" result="pass"/><test-case name="3677NISTXML-SV-IV-atomic-date-pattern-5-2 tokoe:valid" result="pass"/><test-case name="3678NISTXML-SV-IV-atomic-date-pattern-5-3 tokoe:valid" result="pass"/><test-case name="3679NISTXML-SV-IV-atomic-date-pattern-5-4 tokoe:valid" result="pass"/><test-case name="3680NISTXML-SV-IV-atomic-date-pattern-5-5 tokoe:valid" result="pass"/><test-case name="3681NISTSchema-SV-IV-atomic-date-enumeration-1 tokoe:valid" result="pass"/><test-case name="3682NISTXML-SV-IV-atomic-date-enumeration-1-1 tokoe:valid" result="pass"/><test-case name="3683NISTXML-SV-IV-atomic-date-enumeration-1-2 tokoe:valid" result="pass"/><test-case name="3684NISTXML-SV-IV-atomic-date-enumeration-1-3 tokoe:valid" result="pass"/><test-case name="3685NISTXML-SV-IV-atomic-date-enumeration-1-4 tokoe:valid" result="pass"/><test-case name="3686NISTXML-SV-IV-atomic-date-enumeration-1-5 tokoe:valid" result="pass"/><test-case name="3687NISTSchema-SV-IV-atomic-date-enumeration-2 tokoe:valid" result="pass"/><test-case name="3688NISTXML-SV-IV-atomic-date-enumeration-2-1 tokoe:valid" result="pass"/><test-case name="3689NISTXML-SV-IV-atomic-date-enumeration-2-2 tokoe:valid" result="pass"/><test-case name="3690NISTXML-SV-IV-atomic-date-enumeration-2-3 tokoe:valid" result="pass"/><test-case name="3691NISTXML-SV-IV-atomic-date-enumeration-2-4 tokoe:valid" result="pass"/><test-case name="3692NISTXML-SV-IV-atomic-date-enumeration-2-5 tokoe:valid" result="pass"/><test-case name="3693NISTSchema-SV-IV-atomic-date-enumeration-3 tokoe:valid" result="pass"/><test-case name="3694NISTXML-SV-IV-atomic-date-enumeration-3-1 tokoe:valid" result="pass"/><test-case name="3695NISTXML-SV-IV-atomic-date-enumeration-3-2 tokoe:valid" result="pass"/><test-case name="3696NISTXML-SV-IV-atomic-date-enumeration-3-3 tokoe:valid" result="pass"/><test-case name="3697NISTXML-SV-IV-atomic-date-enumeration-3-4 tokoe:valid" result="pass"/><test-case name="3698NISTXML-SV-IV-atomic-date-enumeration-3-5 tokoe:valid" result="pass"/><test-case name="3699NISTSchema-SV-IV-atomic-date-enumeration-4 tokoe:valid" result="pass"/><test-case name="3700NISTXML-SV-IV-atomic-date-enumeration-4-1 tokoe:valid" result="pass"/><test-case name="3701NISTXML-SV-IV-atomic-date-enumeration-4-2 tokoe:valid" result="pass"/><test-case name="3702NISTXML-SV-IV-atomic-date-enumeration-4-3 tokoe:valid" result="pass"/><test-case name="3703NISTXML-SV-IV-atomic-date-enumeration-4-4 tokoe:valid" result="pass"/><test-case name="3704NISTXML-SV-IV-atomic-date-enumeration-4-5 tokoe:valid" result="pass"/><test-case name="3705NISTSchema-SV-IV-atomic-date-enumeration-5 tokoe:valid" result="pass"/><test-case name="3706NISTXML-SV-IV-atomic-date-enumeration-5-1 tokoe:valid" result="pass"/><test-case name="3707NISTXML-SV-IV-atomic-date-enumeration-5-2 tokoe:valid" result="pass"/><test-case name="3708NISTXML-SV-IV-atomic-date-enumeration-5-3 tokoe:valid" result="pass"/><test-case name="3709NISTXML-SV-IV-atomic-date-enumeration-5-4 tokoe:valid" result="pass"/><test-case name="3710NISTXML-SV-IV-atomic-date-enumeration-5-5 tokoe:valid" result="pass"/><test-case name="3711NISTSchema-SV-IV-atomic-date-whiteSpace-1 tokoe:valid" result="pass"/><test-case name="3712NISTXML-SV-IV-atomic-date-whiteSpace-1-1 tokoe:valid" result="pass"/><test-case name="3713NISTXML-SV-IV-atomic-date-whiteSpace-1-2 tokoe:valid" result="pass"/><test-case name="3714NISTXML-SV-IV-atomic-date-whiteSpace-1-3 tokoe:valid" result="pass"/><test-case name="3715NISTXML-SV-IV-atomic-date-whiteSpace-1-4 tokoe:valid" result="pass"/><test-case name="3716NISTXML-SV-IV-atomic-date-whiteSpace-1-5 tokoe:valid" result="pass"/><test-case name="3717NISTSchema-SV-IV-atomic-gYearMonth-minExclusive-1 tokoe:valid" result="pass"/><test-case name="3718NISTXML-SV-IV-atomic-gYearMonth-minExclusive-1-1 tokoe:valid" result="pass"/><test-case name="3719NISTXML-SV-IV-atomic-gYearMonth-minExclusive-1-2 tokoe:valid" result="pass"/><test-case name="3720NISTXML-SV-IV-atomic-gYearMonth-minExclusive-1-3 tokoe:valid" result="pass"/><test-case name="3721NISTXML-SV-IV-atomic-gYearMonth-minExclusive-1-4 tokoe:valid" result="pass"/><test-case name="3722NISTXML-SV-IV-atomic-gYearMonth-minExclusive-1-5 tokoe:valid" result="pass"/><test-case name="3723NISTSchema-SV-IV-atomic-gYearMonth-minExclusive-2 tokoe:valid" result="pass"/><test-case name="3724NISTXML-SV-IV-atomic-gYearMonth-minExclusive-2-1 tokoe:valid" result="pass"/><test-case name="3725NISTXML-SV-IV-atomic-gYearMonth-minExclusive-2-2 tokoe:valid" result="pass"/><test-case name="3726NISTXML-SV-IV-atomic-gYearMonth-minExclusive-2-3 tokoe:valid" result="pass"/><test-case name="3727NISTXML-SV-IV-atomic-gYearMonth-minExclusive-2-4 tokoe:valid" result="pass"/><test-case name="3728NISTXML-SV-IV-atomic-gYearMonth-minExclusive-2-5 tokoe:valid" result="pass"/><test-case name="3729NISTSchema-SV-IV-atomic-gYearMonth-minExclusive-3 tokoe:valid" result="pass"/><test-case name="3730NISTXML-SV-IV-atomic-gYearMonth-minExclusive-3-1 tokoe:valid" result="pass"/><test-case name="3731NISTXML-SV-IV-atomic-gYearMonth-minExclusive-3-2 tokoe:valid" result="pass"/><test-case name="3732NISTXML-SV-IV-atomic-gYearMonth-minExclusive-3-3 tokoe:valid" result="pass"/><test-case name="3733NISTXML-SV-IV-atomic-gYearMonth-minExclusive-3-4 tokoe:valid" result="pass"/><test-case name="3734NISTXML-SV-IV-atomic-gYearMonth-minExclusive-3-5 tokoe:valid" result="pass"/><test-case name="3735NISTSchema-SV-IV-atomic-gYearMonth-minExclusive-4 tokoe:valid" result="pass"/><test-case name="3736NISTXML-SV-IV-atomic-gYearMonth-minExclusive-4-1 tokoe:valid" result="pass"/><test-case name="3737NISTXML-SV-IV-atomic-gYearMonth-minExclusive-4-2 tokoe:valid" result="pass"/><test-case name="3738NISTXML-SV-IV-atomic-gYearMonth-minExclusive-4-3 tokoe:valid" result="pass"/><test-case name="3739NISTXML-SV-IV-atomic-gYearMonth-minExclusive-4-4 tokoe:valid" result="pass"/><test-case name="3740NISTXML-SV-IV-atomic-gYearMonth-minExclusive-4-5 tokoe:valid" result="pass"/><test-case name="3741NISTSchema-SV-IV-atomic-gYearMonth-minExclusive-5 tokoe:valid" result="pass"/><test-case name="3742NISTXML-SV-IV-atomic-gYearMonth-minExclusive-5-1 tokoe:valid" result="pass"/><test-case name="3743NISTSchema-SV-IV-atomic-gYearMonth-minInclusive-1 tokoe:valid" result="pass"/><test-case name="3744NISTXML-SV-IV-atomic-gYearMonth-minInclusive-1-1 tokoe:valid" result="pass"/><test-case name="3745NISTXML-SV-IV-atomic-gYearMonth-minInclusive-1-2 tokoe:valid" result="pass"/><test-case name="3746NISTXML-SV-IV-atomic-gYearMonth-minInclusive-1-3 tokoe:valid" result="pass"/><test-case name="3747NISTXML-SV-IV-atomic-gYearMonth-minInclusive-1-4 tokoe:valid" result="pass"/><test-case name="3748NISTXML-SV-IV-atomic-gYearMonth-minInclusive-1-5 tokoe:valid" result="pass"/><test-case name="3749NISTSchema-SV-IV-atomic-gYearMonth-minInclusive-2 tokoe:valid" result="pass"/><test-case name="3750NISTXML-SV-IV-atomic-gYearMonth-minInclusive-2-1 tokoe:valid" result="pass"/><test-case name="3751NISTXML-SV-IV-atomic-gYearMonth-minInclusive-2-2 tokoe:valid" result="pass"/><test-case name="3752NISTXML-SV-IV-atomic-gYearMonth-minInclusive-2-3 tokoe:valid" result="pass"/><test-case name="3753NISTXML-SV-IV-atomic-gYearMonth-minInclusive-2-4 tokoe:valid" result="pass"/><test-case name="3754NISTXML-SV-IV-atomic-gYearMonth-minInclusive-2-5 tokoe:valid" result="pass"/><test-case name="3755NISTSchema-SV-IV-atomic-gYearMonth-minInclusive-3 tokoe:valid" result="pass"/><test-case name="3756NISTXML-SV-IV-atomic-gYearMonth-minInclusive-3-1 tokoe:valid" result="pass"/><test-case name="3757NISTXML-SV-IV-atomic-gYearMonth-minInclusive-3-2 tokoe:valid" result="pass"/><test-case name="3758NISTXML-SV-IV-atomic-gYearMonth-minInclusive-3-3 tokoe:valid" result="pass"/><test-case name="3759NISTXML-SV-IV-atomic-gYearMonth-minInclusive-3-4 tokoe:valid" result="pass"/><test-case name="3760NISTXML-SV-IV-atomic-gYearMonth-minInclusive-3-5 tokoe:valid" result="pass"/><test-case name="3761NISTSchema-SV-IV-atomic-gYearMonth-minInclusive-4 tokoe:valid" result="pass"/><test-case name="3762NISTXML-SV-IV-atomic-gYearMonth-minInclusive-4-1 tokoe:valid" result="pass"/><test-case name="3763NISTXML-SV-IV-atomic-gYearMonth-minInclusive-4-2 tokoe:valid" result="pass"/><test-case name="3764NISTXML-SV-IV-atomic-gYearMonth-minInclusive-4-3 tokoe:valid" result="pass"/><test-case name="3765NISTXML-SV-IV-atomic-gYearMonth-minInclusive-4-4 tokoe:valid" result="pass"/><test-case name="3766NISTXML-SV-IV-atomic-gYearMonth-minInclusive-4-5 tokoe:valid" result="pass"/><test-case name="3767NISTSchema-SV-IV-atomic-gYearMonth-minInclusive-5 tokoe:valid" result="pass"/><test-case name="3768NISTXML-SV-IV-atomic-gYearMonth-minInclusive-5-1 tokoe:valid" result="pass"/><test-case name="3769NISTSchema-SV-IV-atomic-gYearMonth-maxExclusive-1 tokoe:valid" result="pass"/><test-case name="3770NISTXML-SV-IV-atomic-gYearMonth-maxExclusive-1-1 tokoe:valid" result="pass"/><test-case name="3771NISTSchema-SV-IV-atomic-gYearMonth-maxExclusive-2 tokoe:valid" result="pass"/><test-case name="3772NISTXML-SV-IV-atomic-gYearMonth-maxExclusive-2-1 tokoe:valid" result="pass"/><test-case name="3773NISTXML-SV-IV-atomic-gYearMonth-maxExclusive-2-2 tokoe:valid" result="pass"/><test-case name="3774NISTXML-SV-IV-atomic-gYearMonth-maxExclusive-2-3 tokoe:valid" result="pass"/><test-case name="3775NISTXML-SV-IV-atomic-gYearMonth-maxExclusive-2-4 tokoe:valid" result="pass"/><test-case name="3776NISTXML-SV-IV-atomic-gYearMonth-maxExclusive-2-5 tokoe:valid" result="pass"/><test-case name="3777NISTSchema-SV-IV-atomic-gYearMonth-maxExclusive-3 tokoe:valid" result="pass"/><test-case name="3778NISTXML-SV-IV-atomic-gYearMonth-maxExclusive-3-1 tokoe:valid" result="pass"/><test-case name="3779NISTXML-SV-IV-atomic-gYearMonth-maxExclusive-3-2 tokoe:valid" result="pass"/><test-case name="3780NISTXML-SV-IV-atomic-gYearMonth-maxExclusive-3-3 tokoe:valid" result="pass"/><test-case name="3781NISTXML-SV-IV-atomic-gYearMonth-maxExclusive-3-4 tokoe:valid" result="pass"/><test-case name="3782NISTXML-SV-IV-atomic-gYearMonth-maxExclusive-3-5 tokoe:valid" result="pass"/><test-case name="3783NISTSchema-SV-IV-atomic-gYearMonth-maxExclusive-4 tokoe:valid" result="pass"/><test-case name="3784NISTXML-SV-IV-atomic-gYearMonth-maxExclusive-4-1 tokoe:valid" result="pass"/><test-case name="3785NISTXML-SV-IV-atomic-gYearMonth-maxExclusive-4-2 tokoe:valid" result="pass"/><test-case name="3786NISTXML-SV-IV-atomic-gYearMonth-maxExclusive-4-3 tokoe:valid" result="pass"/><test-case name="3787NISTXML-SV-IV-atomic-gYearMonth-maxExclusive-4-4 tokoe:valid" result="pass"/><test-case name="3788NISTXML-SV-IV-atomic-gYearMonth-maxExclusive-4-5 tokoe:valid" result="pass"/><test-case name="3789NISTSchema-SV-IV-atomic-gYearMonth-maxExclusive-5 tokoe:valid" result="pass"/><test-case name="3790NISTXML-SV-IV-atomic-gYearMonth-maxExclusive-5-1 tokoe:valid" result="pass"/><test-case name="3791NISTXML-SV-IV-atomic-gYearMonth-maxExclusive-5-2 tokoe:valid" result="pass"/><test-case name="3792NISTXML-SV-IV-atomic-gYearMonth-maxExclusive-5-3 tokoe:valid" result="pass"/><test-case name="3793NISTXML-SV-IV-atomic-gYearMonth-maxExclusive-5-4 tokoe:valid" result="pass"/><test-case name="3794NISTXML-SV-IV-atomic-gYearMonth-maxExclusive-5-5 tokoe:valid" result="pass"/><test-case name="3795NISTSchema-SV-IV-atomic-gYearMonth-maxInclusive-1 tokoe:valid" result="pass"/><test-case name="3796NISTXML-SV-IV-atomic-gYearMonth-maxInclusive-1-1 tokoe:valid" result="pass"/><test-case name="3797NISTSchema-SV-IV-atomic-gYearMonth-maxInclusive-2 tokoe:valid" result="pass"/><test-case name="3798NISTXML-SV-IV-atomic-gYearMonth-maxInclusive-2-1 tokoe:valid" result="pass"/><test-case name="3799NISTXML-SV-IV-atomic-gYearMonth-maxInclusive-2-2 tokoe:valid" result="pass"/><test-case name="3800NISTXML-SV-IV-atomic-gYearMonth-maxInclusive-2-3 tokoe:valid" result="pass"/><test-case name="3801NISTXML-SV-IV-atomic-gYearMonth-maxInclusive-2-4 tokoe:valid" result="pass"/><test-case name="3802NISTXML-SV-IV-atomic-gYearMonth-maxInclusive-2-5 tokoe:valid" result="pass"/><test-case name="3803NISTSchema-SV-IV-atomic-gYearMonth-maxInclusive-3 tokoe:valid" result="pass"/><test-case name="3804NISTXML-SV-IV-atomic-gYearMonth-maxInclusive-3-1 tokoe:valid" result="pass"/><test-case name="3805NISTXML-SV-IV-atomic-gYearMonth-maxInclusive-3-2 tokoe:valid" result="pass"/><test-case name="3806NISTXML-SV-IV-atomic-gYearMonth-maxInclusive-3-3 tokoe:valid" result="pass"/><test-case name="3807NISTXML-SV-IV-atomic-gYearMonth-maxInclusive-3-4 tokoe:valid" result="pass"/><test-case name="3808NISTXML-SV-IV-atomic-gYearMonth-maxInclusive-3-5 tokoe:valid" result="pass"/><test-case name="3809NISTSchema-SV-IV-atomic-gYearMonth-maxInclusive-4 tokoe:valid" result="pass"/><test-case name="3810NISTXML-SV-IV-atomic-gYearMonth-maxInclusive-4-1 tokoe:valid" result="pass"/><test-case name="3811NISTXML-SV-IV-atomic-gYearMonth-maxInclusive-4-2 tokoe:valid" result="pass"/><test-case name="3812NISTXML-SV-IV-atomic-gYearMonth-maxInclusive-4-3 tokoe:valid" result="pass"/><test-case name="3813NISTXML-SV-IV-atomic-gYearMonth-maxInclusive-4-4 tokoe:valid" result="pass"/><test-case name="3814NISTXML-SV-IV-atomic-gYearMonth-maxInclusive-4-5 tokoe:valid" result="pass"/><test-case name="3815NISTSchema-SV-IV-atomic-gYearMonth-maxInclusive-5 tokoe:valid" result="pass"/><test-case name="3816NISTXML-SV-IV-atomic-gYearMonth-maxInclusive-5-1 tokoe:valid" result="pass"/><test-case name="3817NISTXML-SV-IV-atomic-gYearMonth-maxInclusive-5-2 tokoe:valid" result="pass"/><test-case name="3818NISTXML-SV-IV-atomic-gYearMonth-maxInclusive-5-3 tokoe:valid" result="pass"/><test-case name="3819NISTXML-SV-IV-atomic-gYearMonth-maxInclusive-5-4 tokoe:valid" result="pass"/><test-case name="3820NISTXML-SV-IV-atomic-gYearMonth-maxInclusive-5-5 tokoe:valid" result="pass"/><test-case name="3821NISTSchema-SV-IV-atomic-gYearMonth-pattern-1 tokoe:valid" result="pass"/><test-case name="3822NISTXML-SV-IV-atomic-gYearMonth-pattern-1-1 tokoe:valid" result="pass"/><test-case name="3823NISTXML-SV-IV-atomic-gYearMonth-pattern-1-2 tokoe:valid" result="pass"/><test-case name="3824NISTXML-SV-IV-atomic-gYearMonth-pattern-1-3 tokoe:valid" result="pass"/><test-case name="3825NISTXML-SV-IV-atomic-gYearMonth-pattern-1-4 tokoe:valid" result="pass"/><test-case name="3826NISTXML-SV-IV-atomic-gYearMonth-pattern-1-5 tokoe:valid" result="pass"/><test-case name="3827NISTSchema-SV-IV-atomic-gYearMonth-pattern-2 tokoe:valid" result="pass"/><test-case name="3828NISTXML-SV-IV-atomic-gYearMonth-pattern-2-1 tokoe:valid" result="pass"/><test-case name="3829NISTXML-SV-IV-atomic-gYearMonth-pattern-2-2 tokoe:valid" result="pass"/><test-case name="3830NISTXML-SV-IV-atomic-gYearMonth-pattern-2-3 tokoe:valid" result="pass"/><test-case name="3831NISTXML-SV-IV-atomic-gYearMonth-pattern-2-4 tokoe:valid" result="pass"/><test-case name="3832NISTXML-SV-IV-atomic-gYearMonth-pattern-2-5 tokoe:valid" result="pass"/><test-case name="3833NISTSchema-SV-IV-atomic-gYearMonth-pattern-3 tokoe:valid" result="pass"/><test-case name="3834NISTXML-SV-IV-atomic-gYearMonth-pattern-3-1 tokoe:valid" result="pass"/><test-case name="3835NISTXML-SV-IV-atomic-gYearMonth-pattern-3-2 tokoe:valid" result="pass"/><test-case name="3836NISTXML-SV-IV-atomic-gYearMonth-pattern-3-3 tokoe:valid" result="pass"/><test-case name="3837NISTXML-SV-IV-atomic-gYearMonth-pattern-3-4 tokoe:valid" result="pass"/><test-case name="3838NISTXML-SV-IV-atomic-gYearMonth-pattern-3-5 tokoe:valid" result="pass"/><test-case name="3839NISTSchema-SV-IV-atomic-gYearMonth-pattern-4 tokoe:valid" result="pass"/><test-case name="3840NISTXML-SV-IV-atomic-gYearMonth-pattern-4-1 tokoe:valid" result="pass"/><test-case name="3841NISTXML-SV-IV-atomic-gYearMonth-pattern-4-2 tokoe:valid" result="pass"/><test-case name="3842NISTXML-SV-IV-atomic-gYearMonth-pattern-4-3 tokoe:valid" result="pass"/><test-case name="3843NISTXML-SV-IV-atomic-gYearMonth-pattern-4-4 tokoe:valid" result="pass"/><test-case name="3844NISTXML-SV-IV-atomic-gYearMonth-pattern-4-5 tokoe:valid" result="pass"/><test-case name="3845NISTSchema-SV-IV-atomic-gYearMonth-pattern-5 tokoe:valid" result="pass"/><test-case name="3846NISTXML-SV-IV-atomic-gYearMonth-pattern-5-1 tokoe:valid" result="pass"/><test-case name="3847NISTXML-SV-IV-atomic-gYearMonth-pattern-5-2 tokoe:valid" result="pass"/><test-case name="3848NISTXML-SV-IV-atomic-gYearMonth-pattern-5-3 tokoe:valid" result="pass"/><test-case name="3849NISTXML-SV-IV-atomic-gYearMonth-pattern-5-4 tokoe:valid" result="pass"/><test-case name="3850NISTXML-SV-IV-atomic-gYearMonth-pattern-5-5 tokoe:valid" result="pass"/><test-case name="3851NISTSchema-SV-IV-atomic-gYearMonth-enumeration-1 tokoe:valid" result="pass"/><test-case name="3852NISTXML-SV-IV-atomic-gYearMonth-enumeration-1-1 tokoe:valid" result="pass"/><test-case name="3853NISTXML-SV-IV-atomic-gYearMonth-enumeration-1-2 tokoe:valid" result="pass"/><test-case name="3854NISTXML-SV-IV-atomic-gYearMonth-enumeration-1-3 tokoe:valid" result="pass"/><test-case name="3855NISTXML-SV-IV-atomic-gYearMonth-enumeration-1-4 tokoe:valid" result="pass"/><test-case name="3856NISTXML-SV-IV-atomic-gYearMonth-enumeration-1-5 tokoe:valid" result="pass"/><test-case name="3857NISTSchema-SV-IV-atomic-gYearMonth-enumeration-2 tokoe:valid" result="pass"/><test-case name="3858NISTXML-SV-IV-atomic-gYearMonth-enumeration-2-1 tokoe:valid" result="pass"/><test-case name="3859NISTXML-SV-IV-atomic-gYearMonth-enumeration-2-2 tokoe:valid" result="pass"/><test-case name="3860NISTXML-SV-IV-atomic-gYearMonth-enumeration-2-3 tokoe:valid" result="pass"/><test-case name="3861NISTXML-SV-IV-atomic-gYearMonth-enumeration-2-4 tokoe:valid" result="pass"/><test-case name="3862NISTXML-SV-IV-atomic-gYearMonth-enumeration-2-5 tokoe:valid" result="pass"/><test-case name="3863NISTSchema-SV-IV-atomic-gYearMonth-enumeration-3 tokoe:valid" result="pass"/><test-case name="3864NISTXML-SV-IV-atomic-gYearMonth-enumeration-3-1 tokoe:valid" result="pass"/><test-case name="3865NISTXML-SV-IV-atomic-gYearMonth-enumeration-3-2 tokoe:valid" result="pass"/><test-case name="3866NISTXML-SV-IV-atomic-gYearMonth-enumeration-3-3 tokoe:valid" result="pass"/><test-case name="3867NISTXML-SV-IV-atomic-gYearMonth-enumeration-3-4 tokoe:valid" result="pass"/><test-case name="3868NISTXML-SV-IV-atomic-gYearMonth-enumeration-3-5 tokoe:valid" result="pass"/><test-case name="3869NISTSchema-SV-IV-atomic-gYearMonth-enumeration-4 tokoe:valid" result="pass"/><test-case name="3870NISTXML-SV-IV-atomic-gYearMonth-enumeration-4-1 tokoe:valid" result="pass"/><test-case name="3871NISTXML-SV-IV-atomic-gYearMonth-enumeration-4-2 tokoe:valid" result="pass"/><test-case name="3872NISTXML-SV-IV-atomic-gYearMonth-enumeration-4-3 tokoe:valid" result="pass"/><test-case name="3873NISTXML-SV-IV-atomic-gYearMonth-enumeration-4-4 tokoe:valid" result="pass"/><test-case name="3874NISTXML-SV-IV-atomic-gYearMonth-enumeration-4-5 tokoe:valid" result="pass"/><test-case name="3875NISTSchema-SV-IV-atomic-gYearMonth-enumeration-5 tokoe:valid" result="pass"/><test-case name="3876NISTXML-SV-IV-atomic-gYearMonth-enumeration-5-1 tokoe:valid" result="pass"/><test-case name="3877NISTXML-SV-IV-atomic-gYearMonth-enumeration-5-2 tokoe:valid" result="pass"/><test-case name="3878NISTXML-SV-IV-atomic-gYearMonth-enumeration-5-3 tokoe:valid" result="pass"/><test-case name="3879NISTXML-SV-IV-atomic-gYearMonth-enumeration-5-4 tokoe:valid" result="pass"/><test-case name="3880NISTXML-SV-IV-atomic-gYearMonth-enumeration-5-5 tokoe:valid" result="pass"/><test-case name="3881NISTSchema-SV-IV-atomic-gYearMonth-whiteSpace-1 tokoe:valid" result="pass"/><test-case name="3882NISTXML-SV-IV-atomic-gYearMonth-whiteSpace-1-1 tokoe:valid" result="pass"/><test-case name="3883NISTXML-SV-IV-atomic-gYearMonth-whiteSpace-1-2 tokoe:valid" result="pass"/><test-case name="3884NISTXML-SV-IV-atomic-gYearMonth-whiteSpace-1-3 tokoe:valid" result="pass"/><test-case name="3885NISTXML-SV-IV-atomic-gYearMonth-whiteSpace-1-4 tokoe:valid" result="pass"/><test-case name="3886NISTXML-SV-IV-atomic-gYearMonth-whiteSpace-1-5 tokoe:valid" result="pass"/><test-case name="3887NISTSchema-SV-IV-atomic-gYear-minExclusive-1 tokoe:valid" result="pass"/><test-case name="3888NISTXML-SV-IV-atomic-gYear-minExclusive-1-1 tokoe:valid" result="pass"/><test-case name="3889NISTXML-SV-IV-atomic-gYear-minExclusive-1-2 tokoe:valid" result="pass"/><test-case name="3890NISTXML-SV-IV-atomic-gYear-minExclusive-1-3 tokoe:valid" result="pass"/><test-case name="3891NISTXML-SV-IV-atomic-gYear-minExclusive-1-4 tokoe:valid" result="pass"/><test-case name="3892NISTXML-SV-IV-atomic-gYear-minExclusive-1-5 tokoe:valid" result="pass"/><test-case name="3893NISTSchema-SV-IV-atomic-gYear-minExclusive-2 tokoe:valid" result="pass"/><test-case name="3894NISTXML-SV-IV-atomic-gYear-minExclusive-2-1 tokoe:valid" result="pass"/><test-case name="3895NISTXML-SV-IV-atomic-gYear-minExclusive-2-2 tokoe:valid" result="pass"/><test-case name="3896NISTXML-SV-IV-atomic-gYear-minExclusive-2-3 tokoe:valid" result="pass"/><test-case name="3897NISTXML-SV-IV-atomic-gYear-minExclusive-2-4 tokoe:valid" result="pass"/><test-case name="3898NISTXML-SV-IV-atomic-gYear-minExclusive-2-5 tokoe:valid" result="pass"/><test-case name="3899NISTSchema-SV-IV-atomic-gYear-minExclusive-3 tokoe:valid" result="pass"/><test-case name="3900NISTXML-SV-IV-atomic-gYear-minExclusive-3-1 tokoe:valid" result="pass"/><test-case name="3901NISTXML-SV-IV-atomic-gYear-minExclusive-3-2 tokoe:valid" result="pass"/><test-case name="3902NISTXML-SV-IV-atomic-gYear-minExclusive-3-3 tokoe:valid" result="pass"/><test-case name="3903NISTXML-SV-IV-atomic-gYear-minExclusive-3-4 tokoe:valid" result="pass"/><test-case name="3904NISTXML-SV-IV-atomic-gYear-minExclusive-3-5 tokoe:valid" result="pass"/><test-case name="3905NISTSchema-SV-IV-atomic-gYear-minExclusive-4 tokoe:valid" result="pass"/><test-case name="3906NISTXML-SV-IV-atomic-gYear-minExclusive-4-1 tokoe:valid" result="pass"/><test-case name="3907NISTXML-SV-IV-atomic-gYear-minExclusive-4-2 tokoe:valid" result="pass"/><test-case name="3908NISTXML-SV-IV-atomic-gYear-minExclusive-4-3 tokoe:valid" result="pass"/><test-case name="3909NISTXML-SV-IV-atomic-gYear-minExclusive-4-4 tokoe:valid" result="pass"/><test-case name="3910NISTXML-SV-IV-atomic-gYear-minExclusive-4-5 tokoe:valid" result="pass"/><test-case name="3911NISTSchema-SV-IV-atomic-gYear-minExclusive-5 tokoe:valid" result="pass"/><test-case name="3912NISTXML-SV-IV-atomic-gYear-minExclusive-5-1 tokoe:valid" result="pass"/><test-case name="3913NISTSchema-SV-IV-atomic-gYear-minInclusive-1 tokoe:valid" result="pass"/><test-case name="3914NISTXML-SV-IV-atomic-gYear-minInclusive-1-1 tokoe:valid" result="pass"/><test-case name="3915NISTXML-SV-IV-atomic-gYear-minInclusive-1-2 tokoe:valid" result="pass"/><test-case name="3916NISTXML-SV-IV-atomic-gYear-minInclusive-1-3 tokoe:valid" result="pass"/><test-case name="3917NISTXML-SV-IV-atomic-gYear-minInclusive-1-4 tokoe:valid" result="pass"/><test-case name="3918NISTXML-SV-IV-atomic-gYear-minInclusive-1-5 tokoe:valid" result="pass"/><test-case name="3919NISTSchema-SV-IV-atomic-gYear-minInclusive-2 tokoe:valid" result="pass"/><test-case name="3920NISTXML-SV-IV-atomic-gYear-minInclusive-2-1 tokoe:valid" result="pass"/><test-case name="3921NISTXML-SV-IV-atomic-gYear-minInclusive-2-2 tokoe:valid" result="pass"/><test-case name="3922NISTXML-SV-IV-atomic-gYear-minInclusive-2-3 tokoe:valid" result="pass"/><test-case name="3923NISTXML-SV-IV-atomic-gYear-minInclusive-2-4 tokoe:valid" result="pass"/><test-case name="3924NISTXML-SV-IV-atomic-gYear-minInclusive-2-5 tokoe:valid" result="pass"/><test-case name="3925NISTSchema-SV-IV-atomic-gYear-minInclusive-3 tokoe:valid" result="pass"/><test-case name="3926NISTXML-SV-IV-atomic-gYear-minInclusive-3-1 tokoe:valid" result="pass"/><test-case name="3927NISTXML-SV-IV-atomic-gYear-minInclusive-3-2 tokoe:valid" result="pass"/><test-case name="3928NISTXML-SV-IV-atomic-gYear-minInclusive-3-3 tokoe:valid" result="pass"/><test-case name="3929NISTXML-SV-IV-atomic-gYear-minInclusive-3-4 tokoe:valid" result="pass"/><test-case name="3930NISTXML-SV-IV-atomic-gYear-minInclusive-3-5 tokoe:valid" result="pass"/><test-case name="3931NISTSchema-SV-IV-atomic-gYear-minInclusive-4 tokoe:valid" result="pass"/><test-case name="3932NISTXML-SV-IV-atomic-gYear-minInclusive-4-1 tokoe:valid" result="pass"/><test-case name="3933NISTXML-SV-IV-atomic-gYear-minInclusive-4-2 tokoe:valid" result="pass"/><test-case name="3934NISTXML-SV-IV-atomic-gYear-minInclusive-4-3 tokoe:valid" result="pass"/><test-case name="3935NISTXML-SV-IV-atomic-gYear-minInclusive-4-4 tokoe:valid" result="pass"/><test-case name="3936NISTXML-SV-IV-atomic-gYear-minInclusive-4-5 tokoe:valid" result="pass"/><test-case name="3937NISTSchema-SV-IV-atomic-gYear-minInclusive-5 tokoe:valid" result="pass"/><test-case name="3938NISTXML-SV-IV-atomic-gYear-minInclusive-5-1 tokoe:valid" result="pass"/><test-case name="3939NISTSchema-SV-IV-atomic-gYear-maxExclusive-1 tokoe:valid" result="pass"/><test-case name="3940NISTXML-SV-IV-atomic-gYear-maxExclusive-1-1 tokoe:valid" result="pass"/><test-case name="3941NISTSchema-SV-IV-atomic-gYear-maxExclusive-2 tokoe:valid" result="pass"/><test-case name="3942NISTXML-SV-IV-atomic-gYear-maxExclusive-2-1 tokoe:valid" result="pass"/><test-case name="3943NISTXML-SV-IV-atomic-gYear-maxExclusive-2-2 tokoe:valid" result="pass"/><test-case name="3944NISTXML-SV-IV-atomic-gYear-maxExclusive-2-3 tokoe:valid" result="pass"/><test-case name="3945NISTXML-SV-IV-atomic-gYear-maxExclusive-2-4 tokoe:valid" result="pass"/><test-case name="3946NISTXML-SV-IV-atomic-gYear-maxExclusive-2-5 tokoe:valid" result="pass"/><test-case name="3947NISTSchema-SV-IV-atomic-gYear-maxExclusive-3 tokoe:valid" result="pass"/><test-case name="3948NISTXML-SV-IV-atomic-gYear-maxExclusive-3-1 tokoe:valid" result="pass"/><test-case name="3949NISTXML-SV-IV-atomic-gYear-maxExclusive-3-2 tokoe:valid" result="pass"/><test-case name="3950NISTXML-SV-IV-atomic-gYear-maxExclusive-3-3 tokoe:valid" result="pass"/><test-case name="3951NISTXML-SV-IV-atomic-gYear-maxExclusive-3-4 tokoe:valid" result="pass"/><test-case name="3952NISTXML-SV-IV-atomic-gYear-maxExclusive-3-5 tokoe:valid" result="pass"/><test-case name="3953NISTSchema-SV-IV-atomic-gYear-maxExclusive-4 tokoe:valid" result="pass"/><test-case name="3954NISTXML-SV-IV-atomic-gYear-maxExclusive-4-1 tokoe:valid" result="pass"/><test-case name="3955NISTXML-SV-IV-atomic-gYear-maxExclusive-4-2 tokoe:valid" result="pass"/><test-case name="3956NISTXML-SV-IV-atomic-gYear-maxExclusive-4-3 tokoe:valid" result="pass"/><test-case name="3957NISTXML-SV-IV-atomic-gYear-maxExclusive-4-4 tokoe:valid" result="pass"/><test-case name="3958NISTXML-SV-IV-atomic-gYear-maxExclusive-4-5 tokoe:valid" result="pass"/><test-case name="3959NISTSchema-SV-IV-atomic-gYear-maxExclusive-5 tokoe:valid" result="pass"/><test-case name="3960NISTXML-SV-IV-atomic-gYear-maxExclusive-5-1 tokoe:valid" result="pass"/><test-case name="3961NISTXML-SV-IV-atomic-gYear-maxExclusive-5-2 tokoe:valid" result="pass"/><test-case name="3962NISTXML-SV-IV-atomic-gYear-maxExclusive-5-3 tokoe:valid" result="pass"/><test-case name="3963NISTXML-SV-IV-atomic-gYear-maxExclusive-5-4 tokoe:valid" result="pass"/><test-case name="3964NISTXML-SV-IV-atomic-gYear-maxExclusive-5-5 tokoe:valid" result="pass"/><test-case name="3965NISTSchema-SV-IV-atomic-gYear-maxInclusive-1 tokoe:valid" result="pass"/><test-case name="3966NISTXML-SV-IV-atomic-gYear-maxInclusive-1-1 tokoe:valid" result="pass"/><test-case name="3967NISTSchema-SV-IV-atomic-gYear-maxInclusive-2 tokoe:valid" result="pass"/><test-case name="3968NISTXML-SV-IV-atomic-gYear-maxInclusive-2-1 tokoe:valid" result="pass"/><test-case name="3969NISTXML-SV-IV-atomic-gYear-maxInclusive-2-2 tokoe:valid" result="pass"/><test-case name="3970NISTXML-SV-IV-atomic-gYear-maxInclusive-2-3 tokoe:valid" result="pass"/><test-case name="3971NISTXML-SV-IV-atomic-gYear-maxInclusive-2-4 tokoe:valid" result="pass"/><test-case name="3972NISTXML-SV-IV-atomic-gYear-maxInclusive-2-5 tokoe:valid" result="pass"/><test-case name="3973NISTSchema-SV-IV-atomic-gYear-maxInclusive-3 tokoe:valid" result="pass"/><test-case name="3974NISTXML-SV-IV-atomic-gYear-maxInclusive-3-1 tokoe:valid" result="pass"/><test-case name="3975NISTXML-SV-IV-atomic-gYear-maxInclusive-3-2 tokoe:valid" result="pass"/><test-case name="3976NISTXML-SV-IV-atomic-gYear-maxInclusive-3-3 tokoe:valid" result="pass"/><test-case name="3977NISTXML-SV-IV-atomic-gYear-maxInclusive-3-4 tokoe:valid" result="pass"/><test-case name="3978NISTXML-SV-IV-atomic-gYear-maxInclusive-3-5 tokoe:valid" result="pass"/><test-case name="3979NISTSchema-SV-IV-atomic-gYear-maxInclusive-4 tokoe:valid" result="pass"/><test-case name="3980NISTXML-SV-IV-atomic-gYear-maxInclusive-4-1 tokoe:valid" result="pass"/><test-case name="3981NISTXML-SV-IV-atomic-gYear-maxInclusive-4-2 tokoe:valid" result="pass"/><test-case name="3982NISTXML-SV-IV-atomic-gYear-maxInclusive-4-3 tokoe:valid" result="pass"/><test-case name="3983NISTXML-SV-IV-atomic-gYear-maxInclusive-4-4 tokoe:valid" result="pass"/><test-case name="3984NISTXML-SV-IV-atomic-gYear-maxInclusive-4-5 tokoe:valid" result="pass"/><test-case name="3985NISTSchema-SV-IV-atomic-gYear-maxInclusive-5 tokoe:valid" result="pass"/><test-case name="3986NISTXML-SV-IV-atomic-gYear-maxInclusive-5-1 tokoe:valid" result="pass"/><test-case name="3987NISTXML-SV-IV-atomic-gYear-maxInclusive-5-2 tokoe:valid" result="pass"/><test-case name="3988NISTXML-SV-IV-atomic-gYear-maxInclusive-5-3 tokoe:valid" result="pass"/><test-case name="3989NISTXML-SV-IV-atomic-gYear-maxInclusive-5-4 tokoe:valid" result="pass"/><test-case name="3990NISTXML-SV-IV-atomic-gYear-maxInclusive-5-5 tokoe:valid" result="pass"/><test-case name="3991NISTSchema-SV-IV-atomic-gYear-pattern-1 tokoe:valid" result="pass"/><test-case name="3992NISTXML-SV-IV-atomic-gYear-pattern-1-1 tokoe:valid" result="pass"/><test-case name="3993NISTXML-SV-IV-atomic-gYear-pattern-1-2 tokoe:valid" result="pass"/><test-case name="3994NISTXML-SV-IV-atomic-gYear-pattern-1-3 tokoe:valid" result="pass"/><test-case name="3995NISTXML-SV-IV-atomic-gYear-pattern-1-4 tokoe:valid" result="pass"/><test-case name="3996NISTXML-SV-IV-atomic-gYear-pattern-1-5 tokoe:valid" result="pass"/><test-case name="3997NISTSchema-SV-IV-atomic-gYear-pattern-2 tokoe:valid" result="pass"/><test-case name="3998NISTXML-SV-IV-atomic-gYear-pattern-2-1 tokoe:valid" result="pass"/><test-case name="3999NISTXML-SV-IV-atomic-gYear-pattern-2-2 tokoe:valid" result="pass"/><test-case name="4000NISTXML-SV-IV-atomic-gYear-pattern-2-3 tokoe:valid" result="pass"/><test-case name="4001NISTXML-SV-IV-atomic-gYear-pattern-2-4 tokoe:valid" result="pass"/><test-case name="4002NISTXML-SV-IV-atomic-gYear-pattern-2-5 tokoe:valid" result="pass"/><test-case name="4003NISTSchema-SV-IV-atomic-gYear-pattern-3 tokoe:valid" result="pass"/><test-case name="4004NISTXML-SV-IV-atomic-gYear-pattern-3-1 tokoe:valid" result="pass"/><test-case name="4005NISTXML-SV-IV-atomic-gYear-pattern-3-2 tokoe:valid" result="pass"/><test-case name="4006NISTXML-SV-IV-atomic-gYear-pattern-3-3 tokoe:valid" result="pass"/><test-case name="4007NISTXML-SV-IV-atomic-gYear-pattern-3-4 tokoe:valid" result="pass"/><test-case name="4008NISTXML-SV-IV-atomic-gYear-pattern-3-5 tokoe:valid" result="pass"/><test-case name="4009NISTSchema-SV-IV-atomic-gYear-pattern-4 tokoe:valid" result="pass"/><test-case name="4010NISTXML-SV-IV-atomic-gYear-pattern-4-1 tokoe:valid" result="pass"/><test-case name="4011NISTXML-SV-IV-atomic-gYear-pattern-4-2 tokoe:valid" result="pass"/><test-case name="4012NISTXML-SV-IV-atomic-gYear-pattern-4-3 tokoe:valid" result="pass"/><test-case name="4013NISTXML-SV-IV-atomic-gYear-pattern-4-4 tokoe:valid" result="pass"/><test-case name="4014NISTXML-SV-IV-atomic-gYear-pattern-4-5 tokoe:valid" result="pass"/><test-case name="4015NISTSchema-SV-IV-atomic-gYear-pattern-5 tokoe:valid" result="pass"/><test-case name="4016NISTXML-SV-IV-atomic-gYear-pattern-5-1 tokoe:valid" result="pass"/><test-case name="4017NISTXML-SV-IV-atomic-gYear-pattern-5-2 tokoe:valid" result="pass"/><test-case name="4018NISTXML-SV-IV-atomic-gYear-pattern-5-3 tokoe:valid" result="pass"/><test-case name="4019NISTXML-SV-IV-atomic-gYear-pattern-5-4 tokoe:valid" result="pass"/><test-case name="4020NISTXML-SV-IV-atomic-gYear-pattern-5-5 tokoe:valid" result="pass"/><test-case name="4021NISTSchema-SV-IV-atomic-gYear-enumeration-1 tokoe:valid" result="pass"/><test-case name="4022NISTXML-SV-IV-atomic-gYear-enumeration-1-1 tokoe:valid" result="pass"/><test-case name="4023NISTXML-SV-IV-atomic-gYear-enumeration-1-2 tokoe:valid" result="pass"/><test-case name="4024NISTXML-SV-IV-atomic-gYear-enumeration-1-3 tokoe:valid" result="pass"/><test-case name="4025NISTXML-SV-IV-atomic-gYear-enumeration-1-4 tokoe:valid" result="pass"/><test-case name="4026NISTXML-SV-IV-atomic-gYear-enumeration-1-5 tokoe:valid" result="pass"/><test-case name="4027NISTSchema-SV-IV-atomic-gYear-enumeration-2 tokoe:valid" result="pass"/><test-case name="4028NISTXML-SV-IV-atomic-gYear-enumeration-2-1 tokoe:valid" result="pass"/><test-case name="4029NISTXML-SV-IV-atomic-gYear-enumeration-2-2 tokoe:valid" result="pass"/><test-case name="4030NISTXML-SV-IV-atomic-gYear-enumeration-2-3 tokoe:valid" result="pass"/><test-case name="4031NISTXML-SV-IV-atomic-gYear-enumeration-2-4 tokoe:valid" result="pass"/><test-case name="4032NISTXML-SV-IV-atomic-gYear-enumeration-2-5 tokoe:valid" result="pass"/><test-case name="4033NISTSchema-SV-IV-atomic-gYear-enumeration-3 tokoe:valid" result="pass"/><test-case name="4034NISTXML-SV-IV-atomic-gYear-enumeration-3-1 tokoe:valid" result="pass"/><test-case name="4035NISTXML-SV-IV-atomic-gYear-enumeration-3-2 tokoe:valid" result="pass"/><test-case name="4036NISTXML-SV-IV-atomic-gYear-enumeration-3-3 tokoe:valid" result="pass"/><test-case name="4037NISTXML-SV-IV-atomic-gYear-enumeration-3-4 tokoe:valid" result="pass"/><test-case name="4038NISTXML-SV-IV-atomic-gYear-enumeration-3-5 tokoe:valid" result="pass"/><test-case name="4039NISTSchema-SV-IV-atomic-gYear-enumeration-4 tokoe:valid" result="pass"/><test-case name="4040NISTXML-SV-IV-atomic-gYear-enumeration-4-1 tokoe:valid" result="pass"/><test-case name="4041NISTXML-SV-IV-atomic-gYear-enumeration-4-2 tokoe:valid" result="pass"/><test-case name="4042NISTXML-SV-IV-atomic-gYear-enumeration-4-3 tokoe:valid" result="pass"/><test-case name="4043NISTXML-SV-IV-atomic-gYear-enumeration-4-4 tokoe:valid" result="pass"/><test-case name="4044NISTXML-SV-IV-atomic-gYear-enumeration-4-5 tokoe:valid" result="pass"/><test-case name="4045NISTSchema-SV-IV-atomic-gYear-enumeration-5 tokoe:valid" result="pass"/><test-case name="4046NISTXML-SV-IV-atomic-gYear-enumeration-5-1 tokoe:valid" result="pass"/><test-case name="4047NISTXML-SV-IV-atomic-gYear-enumeration-5-2 tokoe:valid" result="pass"/><test-case name="4048NISTXML-SV-IV-atomic-gYear-enumeration-5-3 tokoe:valid" result="pass"/><test-case name="4049NISTXML-SV-IV-atomic-gYear-enumeration-5-4 tokoe:valid" result="pass"/><test-case name="4050NISTXML-SV-IV-atomic-gYear-enumeration-5-5 tokoe:valid" result="pass"/><test-case name="4051NISTSchema-SV-IV-atomic-gYear-whiteSpace-1 tokoe:valid" result="pass"/><test-case name="4052NISTXML-SV-IV-atomic-gYear-whiteSpace-1-1 tokoe:valid" result="pass"/><test-case name="4053NISTXML-SV-IV-atomic-gYear-whiteSpace-1-2 tokoe:valid" result="pass"/><test-case name="4054NISTXML-SV-IV-atomic-gYear-whiteSpace-1-3 tokoe:valid" result="pass"/><test-case name="4055NISTXML-SV-IV-atomic-gYear-whiteSpace-1-4 tokoe:valid" result="pass"/><test-case name="4056NISTXML-SV-IV-atomic-gYear-whiteSpace-1-5 tokoe:valid" result="pass"/><test-case name="4057NISTSchema-SV-IV-atomic-gMonthDay-minExclusive-1 tokoe:valid" result="pass"/><test-case name="4058NISTXML-SV-IV-atomic-gMonthDay-minExclusive-1-1 tokoe:valid" result="pass"/><test-case name="4059NISTXML-SV-IV-atomic-gMonthDay-minExclusive-1-2 tokoe:valid" result="pass"/><test-case name="4060NISTXML-SV-IV-atomic-gMonthDay-minExclusive-1-3 tokoe:valid" result="pass"/><test-case name="4061NISTXML-SV-IV-atomic-gMonthDay-minExclusive-1-4 tokoe:valid" result="pass"/><test-case name="4062NISTXML-SV-IV-atomic-gMonthDay-minExclusive-1-5 tokoe:valid" result="pass"/><test-case name="4063NISTSchema-SV-IV-atomic-gMonthDay-minExclusive-2 tokoe:valid" result="pass"/><test-case name="4064NISTXML-SV-IV-atomic-gMonthDay-minExclusive-2-1 tokoe:valid" result="pass"/><test-case name="4065NISTXML-SV-IV-atomic-gMonthDay-minExclusive-2-2 tokoe:valid" result="pass"/><test-case name="4066NISTXML-SV-IV-atomic-gMonthDay-minExclusive-2-3 tokoe:valid" result="pass"/><test-case name="4067NISTXML-SV-IV-atomic-gMonthDay-minExclusive-2-4 tokoe:valid" result="pass"/><test-case name="4068NISTXML-SV-IV-atomic-gMonthDay-minExclusive-2-5 tokoe:valid" result="pass"/><test-case name="4069NISTSchema-SV-IV-atomic-gMonthDay-minExclusive-3 tokoe:valid" result="pass"/><test-case name="4070NISTXML-SV-IV-atomic-gMonthDay-minExclusive-3-1 tokoe:valid" result="pass"/><test-case name="4071NISTXML-SV-IV-atomic-gMonthDay-minExclusive-3-2 tokoe:valid" result="pass"/><test-case name="4072NISTXML-SV-IV-atomic-gMonthDay-minExclusive-3-3 tokoe:valid" result="pass"/><test-case name="4073NISTXML-SV-IV-atomic-gMonthDay-minExclusive-3-4 tokoe:valid" result="pass"/><test-case name="4074NISTXML-SV-IV-atomic-gMonthDay-minExclusive-3-5 tokoe:valid" result="pass"/><test-case name="4075NISTSchema-SV-IV-atomic-gMonthDay-minExclusive-4 tokoe:valid" result="pass"/><test-case name="4076NISTXML-SV-IV-atomic-gMonthDay-minExclusive-4-1 tokoe:valid" result="pass"/><test-case name="4077NISTXML-SV-IV-atomic-gMonthDay-minExclusive-4-2 tokoe:valid" result="pass"/><test-case name="4078NISTXML-SV-IV-atomic-gMonthDay-minExclusive-4-3 tokoe:valid" result="pass"/><test-case name="4079NISTXML-SV-IV-atomic-gMonthDay-minExclusive-4-4 tokoe:valid" result="pass"/><test-case name="4080NISTXML-SV-IV-atomic-gMonthDay-minExclusive-4-5 tokoe:valid" result="pass"/><test-case name="4081NISTSchema-SV-IV-atomic-gMonthDay-minExclusive-5 tokoe:valid" result="pass"/><test-case name="4082NISTXML-SV-IV-atomic-gMonthDay-minExclusive-5-1 tokoe:valid" result="pass"/><test-case name="4083NISTSchema-SV-IV-atomic-gMonthDay-minInclusive-1 tokoe:valid" result="pass"/><test-case name="4084NISTXML-SV-IV-atomic-gMonthDay-minInclusive-1-1 tokoe:valid" result="pass"/><test-case name="4085NISTXML-SV-IV-atomic-gMonthDay-minInclusive-1-2 tokoe:valid" result="pass"/><test-case name="4086NISTXML-SV-IV-atomic-gMonthDay-minInclusive-1-3 tokoe:valid" result="pass"/><test-case name="4087NISTXML-SV-IV-atomic-gMonthDay-minInclusive-1-4 tokoe:valid" result="pass"/><test-case name="4088NISTXML-SV-IV-atomic-gMonthDay-minInclusive-1-5 tokoe:valid" result="pass"/><test-case name="4089NISTSchema-SV-IV-atomic-gMonthDay-minInclusive-2 tokoe:valid" result="pass"/><test-case name="4090NISTXML-SV-IV-atomic-gMonthDay-minInclusive-2-1 tokoe:valid" result="pass"/><test-case name="4091NISTXML-SV-IV-atomic-gMonthDay-minInclusive-2-2 tokoe:valid" result="pass"/><test-case name="4092NISTXML-SV-IV-atomic-gMonthDay-minInclusive-2-3 tokoe:valid" result="pass"/><test-case name="4093NISTXML-SV-IV-atomic-gMonthDay-minInclusive-2-4 tokoe:valid" result="pass"/><test-case name="4094NISTXML-SV-IV-atomic-gMonthDay-minInclusive-2-5 tokoe:valid" result="pass"/><test-case name="4095NISTSchema-SV-IV-atomic-gMonthDay-minInclusive-3 tokoe:valid" result="pass"/><test-case name="4096NISTXML-SV-IV-atomic-gMonthDay-minInclusive-3-1 tokoe:valid" result="pass"/><test-case name="4097NISTXML-SV-IV-atomic-gMonthDay-minInclusive-3-2 tokoe:valid" result="pass"/><test-case name="4098NISTXML-SV-IV-atomic-gMonthDay-minInclusive-3-3 tokoe:valid" result="pass"/><test-case name="4099NISTXML-SV-IV-atomic-gMonthDay-minInclusive-3-4 tokoe:valid" result="pass"/><test-case name="4100NISTXML-SV-IV-atomic-gMonthDay-minInclusive-3-5 tokoe:valid" result="pass"/><test-case name="4101NISTSchema-SV-IV-atomic-gMonthDay-minInclusive-4 tokoe:valid" result="pass"/><test-case name="4102NISTXML-SV-IV-atomic-gMonthDay-minInclusive-4-1 tokoe:valid" result="pass"/><test-case name="4103NISTXML-SV-IV-atomic-gMonthDay-minInclusive-4-2 tokoe:valid" result="pass"/><test-case name="4104NISTXML-SV-IV-atomic-gMonthDay-minInclusive-4-3 tokoe:valid" result="pass"/><test-case name="4105NISTXML-SV-IV-atomic-gMonthDay-minInclusive-4-4 tokoe:valid" result="pass"/><test-case name="4106NISTXML-SV-IV-atomic-gMonthDay-minInclusive-4-5 tokoe:valid" result="pass"/><test-case name="4107NISTSchema-SV-IV-atomic-gMonthDay-minInclusive-5 tokoe:valid" result="pass"/><test-case name="4108NISTXML-SV-IV-atomic-gMonthDay-minInclusive-5-1 tokoe:valid" result="pass"/><test-case name="4109NISTSchema-SV-IV-atomic-gMonthDay-maxExclusive-1 tokoe:valid" result="pass"/><test-case name="4110NISTXML-SV-IV-atomic-gMonthDay-maxExclusive-1-1 tokoe:valid" result="pass"/><test-case name="4111NISTSchema-SV-IV-atomic-gMonthDay-maxExclusive-2 tokoe:valid" result="pass"/><test-case name="4112NISTXML-SV-IV-atomic-gMonthDay-maxExclusive-2-1 tokoe:valid" result="pass"/><test-case name="4113NISTXML-SV-IV-atomic-gMonthDay-maxExclusive-2-2 tokoe:valid" result="pass"/><test-case name="4114NISTXML-SV-IV-atomic-gMonthDay-maxExclusive-2-3 tokoe:valid" result="pass"/><test-case name="4115NISTXML-SV-IV-atomic-gMonthDay-maxExclusive-2-4 tokoe:valid" result="pass"/><test-case name="4116NISTXML-SV-IV-atomic-gMonthDay-maxExclusive-2-5 tokoe:valid" result="pass"/><test-case name="4117NISTSchema-SV-IV-atomic-gMonthDay-maxExclusive-3 tokoe:valid" result="pass"/><test-case name="4118NISTXML-SV-IV-atomic-gMonthDay-maxExclusive-3-1 tokoe:valid" result="pass"/><test-case name="4119NISTXML-SV-IV-atomic-gMonthDay-maxExclusive-3-2 tokoe:valid" result="pass"/><test-case name="4120NISTXML-SV-IV-atomic-gMonthDay-maxExclusive-3-3 tokoe:valid" result="pass"/><test-case name="4121NISTXML-SV-IV-atomic-gMonthDay-maxExclusive-3-4 tokoe:valid" result="pass"/><test-case name="4122NISTXML-SV-IV-atomic-gMonthDay-maxExclusive-3-5 tokoe:valid" result="pass"/><test-case name="4123NISTSchema-SV-IV-atomic-gMonthDay-maxExclusive-4 tokoe:valid" result="pass"/><test-case name="4124NISTXML-SV-IV-atomic-gMonthDay-maxExclusive-4-1 tokoe:valid" result="pass"/><test-case name="4125NISTXML-SV-IV-atomic-gMonthDay-maxExclusive-4-2 tokoe:valid" result="pass"/><test-case name="4126NISTXML-SV-IV-atomic-gMonthDay-maxExclusive-4-3 tokoe:valid" result="pass"/><test-case name="4127NISTXML-SV-IV-atomic-gMonthDay-maxExclusive-4-4 tokoe:valid" result="pass"/><test-case name="4128NISTXML-SV-IV-atomic-gMonthDay-maxExclusive-4-5 tokoe:valid" result="pass"/><test-case name="4129NISTSchema-SV-IV-atomic-gMonthDay-maxExclusive-5 tokoe:valid" result="pass"/><test-case name="4130NISTXML-SV-IV-atomic-gMonthDay-maxExclusive-5-1 tokoe:valid" result="pass"/><test-case name="4131NISTXML-SV-IV-atomic-gMonthDay-maxExclusive-5-2 tokoe:valid" result="pass"/><test-case name="4132NISTXML-SV-IV-atomic-gMonthDay-maxExclusive-5-3 tokoe:valid" result="pass"/><test-case name="4133NISTXML-SV-IV-atomic-gMonthDay-maxExclusive-5-4 tokoe:valid" result="pass"/><test-case name="4134NISTXML-SV-IV-atomic-gMonthDay-maxExclusive-5-5 tokoe:valid" result="pass"/><test-case name="4135NISTSchema-SV-IV-atomic-gMonthDay-maxInclusive-1 tokoe:valid" result="pass"/><test-case name="4136NISTXML-SV-IV-atomic-gMonthDay-maxInclusive-1-1 tokoe:valid" result="pass"/><test-case name="4137NISTSchema-SV-IV-atomic-gMonthDay-maxInclusive-2 tokoe:valid" result="pass"/><test-case name="4138NISTXML-SV-IV-atomic-gMonthDay-maxInclusive-2-1 tokoe:valid" result="pass"/><test-case name="4139NISTXML-SV-IV-atomic-gMonthDay-maxInclusive-2-2 tokoe:valid" result="pass"/><test-case name="4140NISTXML-SV-IV-atomic-gMonthDay-maxInclusive-2-3 tokoe:valid" result="pass"/><test-case name="4141NISTXML-SV-IV-atomic-gMonthDay-maxInclusive-2-4 tokoe:valid" result="pass"/><test-case name="4142NISTXML-SV-IV-atomic-gMonthDay-maxInclusive-2-5 tokoe:valid" result="pass"/><test-case name="4143NISTSchema-SV-IV-atomic-gMonthDay-maxInclusive-3 tokoe:valid" result="pass"/><test-case name="4144NISTXML-SV-IV-atomic-gMonthDay-maxInclusive-3-1 tokoe:valid" result="pass"/><test-case name="4145NISTXML-SV-IV-atomic-gMonthDay-maxInclusive-3-2 tokoe:valid" result="pass"/><test-case name="4146NISTXML-SV-IV-atomic-gMonthDay-maxInclusive-3-3 tokoe:valid" result="pass"/><test-case name="4147NISTXML-SV-IV-atomic-gMonthDay-maxInclusive-3-4 tokoe:valid" result="pass"/><test-case name="4148NISTXML-SV-IV-atomic-gMonthDay-maxInclusive-3-5 tokoe:valid" result="pass"/><test-case name="4149NISTSchema-SV-IV-atomic-gMonthDay-maxInclusive-4 tokoe:valid" result="pass"/><test-case name="4150NISTXML-SV-IV-atomic-gMonthDay-maxInclusive-4-1 tokoe:valid" result="pass"/><test-case name="4151NISTXML-SV-IV-atomic-gMonthDay-maxInclusive-4-2 tokoe:valid" result="pass"/><test-case name="4152NISTXML-SV-IV-atomic-gMonthDay-maxInclusive-4-3 tokoe:valid" result="pass"/><test-case name="4153NISTXML-SV-IV-atomic-gMonthDay-maxInclusive-4-4 tokoe:valid" result="pass"/><test-case name="4154NISTXML-SV-IV-atomic-gMonthDay-maxInclusive-4-5 tokoe:valid" result="pass"/><test-case name="4155NISTSchema-SV-IV-atomic-gMonthDay-maxInclusive-5 tokoe:valid" result="pass"/><test-case name="4156NISTXML-SV-IV-atomic-gMonthDay-maxInclusive-5-1 tokoe:valid" result="pass"/><test-case name="4157NISTXML-SV-IV-atomic-gMonthDay-maxInclusive-5-2 tokoe:valid" result="pass"/><test-case name="4158NISTXML-SV-IV-atomic-gMonthDay-maxInclusive-5-3 tokoe:valid" result="pass"/><test-case name="4159NISTXML-SV-IV-atomic-gMonthDay-maxInclusive-5-4 tokoe:valid" result="pass"/><test-case name="4160NISTXML-SV-IV-atomic-gMonthDay-maxInclusive-5-5 tokoe:valid" result="pass"/><test-case name="4161NISTSchema-SV-IV-atomic-gMonthDay-pattern-1 tokoe:valid" result="pass"/><test-case name="4162NISTXML-SV-IV-atomic-gMonthDay-pattern-1-1 tokoe:valid" result="pass"/><test-case name="4163NISTXML-SV-IV-atomic-gMonthDay-pattern-1-2 tokoe:valid" result="pass"/><test-case name="4164NISTXML-SV-IV-atomic-gMonthDay-pattern-1-3 tokoe:valid" result="pass"/><test-case name="4165NISTXML-SV-IV-atomic-gMonthDay-pattern-1-4 tokoe:valid" result="pass"/><test-case name="4166NISTXML-SV-IV-atomic-gMonthDay-pattern-1-5 tokoe:valid" result="pass"/><test-case name="4167NISTSchema-SV-IV-atomic-gMonthDay-pattern-2 tokoe:valid" result="pass"/><test-case name="4168NISTXML-SV-IV-atomic-gMonthDay-pattern-2-1 tokoe:valid" result="pass"/><test-case name="4169NISTXML-SV-IV-atomic-gMonthDay-pattern-2-2 tokoe:valid" result="pass"/><test-case name="4170NISTXML-SV-IV-atomic-gMonthDay-pattern-2-3 tokoe:valid" result="pass"/><test-case name="4171NISTXML-SV-IV-atomic-gMonthDay-pattern-2-4 tokoe:valid" result="pass"/><test-case name="4172NISTXML-SV-IV-atomic-gMonthDay-pattern-2-5 tokoe:valid" result="pass"/><test-case name="4173NISTSchema-SV-IV-atomic-gMonthDay-pattern-3 tokoe:valid" result="pass"/><test-case name="4174NISTXML-SV-IV-atomic-gMonthDay-pattern-3-1 tokoe:valid" result="pass"/><test-case name="4175NISTXML-SV-IV-atomic-gMonthDay-pattern-3-2 tokoe:valid" result="pass"/><test-case name="4176NISTXML-SV-IV-atomic-gMonthDay-pattern-3-3 tokoe:valid" result="pass"/><test-case name="4177NISTXML-SV-IV-atomic-gMonthDay-pattern-3-4 tokoe:valid" result="pass"/><test-case name="4178NISTXML-SV-IV-atomic-gMonthDay-pattern-3-5 tokoe:valid" result="pass"/><test-case name="4179NISTSchema-SV-IV-atomic-gMonthDay-pattern-4 tokoe:valid" result="pass"/><test-case name="4180NISTXML-SV-IV-atomic-gMonthDay-pattern-4-1 tokoe:valid" result="pass"/><test-case name="4181NISTXML-SV-IV-atomic-gMonthDay-pattern-4-2 tokoe:valid" result="pass"/><test-case name="4182NISTXML-SV-IV-atomic-gMonthDay-pattern-4-3 tokoe:valid" result="pass"/><test-case name="4183NISTXML-SV-IV-atomic-gMonthDay-pattern-4-4 tokoe:valid" result="pass"/><test-case name="4184NISTXML-SV-IV-atomic-gMonthDay-pattern-4-5 tokoe:valid" result="pass"/><test-case name="4185NISTSchema-SV-IV-atomic-gMonthDay-pattern-5 tokoe:valid" result="pass"/><test-case name="4186NISTXML-SV-IV-atomic-gMonthDay-pattern-5-1 tokoe:valid" result="pass"/><test-case name="4187NISTXML-SV-IV-atomic-gMonthDay-pattern-5-2 tokoe:valid" result="pass"/><test-case name="4188NISTXML-SV-IV-atomic-gMonthDay-pattern-5-3 tokoe:valid" result="pass"/><test-case name="4189NISTXML-SV-IV-atomic-gMonthDay-pattern-5-4 tokoe:valid" result="pass"/><test-case name="4190NISTXML-SV-IV-atomic-gMonthDay-pattern-5-5 tokoe:valid" result="pass"/><test-case name="4191NISTSchema-SV-IV-atomic-gMonthDay-enumeration-1 tokoe:valid" result="pass"/><test-case name="4192NISTXML-SV-IV-atomic-gMonthDay-enumeration-1-1 tokoe:valid" result="pass"/><test-case name="4193NISTXML-SV-IV-atomic-gMonthDay-enumeration-1-2 tokoe:valid" result="pass"/><test-case name="4194NISTXML-SV-IV-atomic-gMonthDay-enumeration-1-3 tokoe:valid" result="pass"/><test-case name="4195NISTXML-SV-IV-atomic-gMonthDay-enumeration-1-4 tokoe:valid" result="pass"/><test-case name="4196NISTXML-SV-IV-atomic-gMonthDay-enumeration-1-5 tokoe:valid" result="pass"/><test-case name="4197NISTSchema-SV-IV-atomic-gMonthDay-enumeration-2 tokoe:valid" result="pass"/><test-case name="4198NISTXML-SV-IV-atomic-gMonthDay-enumeration-2-1 tokoe:valid" result="pass"/><test-case name="4199NISTXML-SV-IV-atomic-gMonthDay-enumeration-2-2 tokoe:valid" result="pass"/><test-case name="4200NISTXML-SV-IV-atomic-gMonthDay-enumeration-2-3 tokoe:valid" result="pass"/><test-case name="4201NISTXML-SV-IV-atomic-gMonthDay-enumeration-2-4 tokoe:valid" result="pass"/><test-case name="4202NISTXML-SV-IV-atomic-gMonthDay-enumeration-2-5 tokoe:valid" result="pass"/><test-case name="4203NISTSchema-SV-IV-atomic-gMonthDay-enumeration-3 tokoe:valid" result="pass"/><test-case name="4204NISTXML-SV-IV-atomic-gMonthDay-enumeration-3-1 tokoe:valid" result="pass"/><test-case name="4205NISTXML-SV-IV-atomic-gMonthDay-enumeration-3-2 tokoe:valid" result="pass"/><test-case name="4206NISTXML-SV-IV-atomic-gMonthDay-enumeration-3-3 tokoe:valid" result="pass"/><test-case name="4207NISTXML-SV-IV-atomic-gMonthDay-enumeration-3-4 tokoe:valid" result="pass"/><test-case name="4208NISTXML-SV-IV-atomic-gMonthDay-enumeration-3-5 tokoe:valid" result="pass"/><test-case name="4209NISTSchema-SV-IV-atomic-gMonthDay-enumeration-4 tokoe:valid" result="pass"/><test-case name="4210NISTXML-SV-IV-atomic-gMonthDay-enumeration-4-1 tokoe:valid" result="pass"/><test-case name="4211NISTXML-SV-IV-atomic-gMonthDay-enumeration-4-2 tokoe:valid" result="pass"/><test-case name="4212NISTXML-SV-IV-atomic-gMonthDay-enumeration-4-3 tokoe:valid" result="pass"/><test-case name="4213NISTXML-SV-IV-atomic-gMonthDay-enumeration-4-4 tokoe:valid" result="pass"/><test-case name="4214NISTXML-SV-IV-atomic-gMonthDay-enumeration-4-5 tokoe:valid" result="pass"/><test-case name="4215NISTSchema-SV-IV-atomic-gMonthDay-enumeration-5 tokoe:valid" result="pass"/><test-case name="4216NISTXML-SV-IV-atomic-gMonthDay-enumeration-5-1 tokoe:valid" result="pass"/><test-case name="4217NISTXML-SV-IV-atomic-gMonthDay-enumeration-5-2 tokoe:valid" result="pass"/><test-case name="4218NISTXML-SV-IV-atomic-gMonthDay-enumeration-5-3 tokoe:valid" result="pass"/><test-case name="4219NISTXML-SV-IV-atomic-gMonthDay-enumeration-5-4 tokoe:valid" result="pass"/><test-case name="4220NISTXML-SV-IV-atomic-gMonthDay-enumeration-5-5 tokoe:valid" result="pass"/><test-case name="4221NISTSchema-SV-IV-atomic-gMonthDay-whiteSpace-1 tokoe:valid" result="pass"/><test-case name="4222NISTXML-SV-IV-atomic-gMonthDay-whiteSpace-1-1 tokoe:valid" result="pass"/><test-case name="4223NISTXML-SV-IV-atomic-gMonthDay-whiteSpace-1-2 tokoe:valid" result="pass"/><test-case name="4224NISTXML-SV-IV-atomic-gMonthDay-whiteSpace-1-3 tokoe:valid" result="pass"/><test-case name="4225NISTXML-SV-IV-atomic-gMonthDay-whiteSpace-1-4 tokoe:valid" result="pass"/><test-case name="4226NISTXML-SV-IV-atomic-gMonthDay-whiteSpace-1-5 tokoe:valid" result="pass"/><test-case name="4227NISTSchema-SV-IV-atomic-gDay-minExclusive-1 tokoe:valid" result="pass"/><test-case name="4228NISTXML-SV-IV-atomic-gDay-minExclusive-1-1 tokoe:valid" result="pass"/><test-case name="4229NISTXML-SV-IV-atomic-gDay-minExclusive-1-2 tokoe:valid" result="pass"/><test-case name="4230NISTXML-SV-IV-atomic-gDay-minExclusive-1-3 tokoe:valid" result="pass"/><test-case name="4231NISTXML-SV-IV-atomic-gDay-minExclusive-1-4 tokoe:valid" result="pass"/><test-case name="4232NISTXML-SV-IV-atomic-gDay-minExclusive-1-5 tokoe:valid" result="pass"/><test-case name="4233NISTSchema-SV-IV-atomic-gDay-minExclusive-2 tokoe:valid" result="pass"/><test-case name="4234NISTXML-SV-IV-atomic-gDay-minExclusive-2-1 tokoe:valid" result="pass"/><test-case name="4235NISTXML-SV-IV-atomic-gDay-minExclusive-2-2 tokoe:valid" result="pass"/><test-case name="4236NISTXML-SV-IV-atomic-gDay-minExclusive-2-3 tokoe:valid" result="pass"/><test-case name="4237NISTXML-SV-IV-atomic-gDay-minExclusive-2-4 tokoe:valid" result="pass"/><test-case name="4238NISTXML-SV-IV-atomic-gDay-minExclusive-2-5 tokoe:valid" result="pass"/><test-case name="4239NISTSchema-SV-IV-atomic-gDay-minExclusive-3 tokoe:valid" result="pass"/><test-case name="4240NISTXML-SV-IV-atomic-gDay-minExclusive-3-1 tokoe:valid" result="pass"/><test-case name="4241NISTXML-SV-IV-atomic-gDay-minExclusive-3-2 tokoe:valid" result="pass"/><test-case name="4242NISTXML-SV-IV-atomic-gDay-minExclusive-3-3 tokoe:valid" result="pass"/><test-case name="4243NISTXML-SV-IV-atomic-gDay-minExclusive-3-4 tokoe:valid" result="pass"/><test-case name="4244NISTXML-SV-IV-atomic-gDay-minExclusive-3-5 tokoe:valid" result="pass"/><test-case name="4245NISTSchema-SV-IV-atomic-gDay-minExclusive-4 tokoe:valid" result="pass"/><test-case name="4246NISTXML-SV-IV-atomic-gDay-minExclusive-4-1 tokoe:valid" result="pass"/><test-case name="4247NISTXML-SV-IV-atomic-gDay-minExclusive-4-2 tokoe:valid" result="pass"/><test-case name="4248NISTXML-SV-IV-atomic-gDay-minExclusive-4-3 tokoe:valid" result="pass"/><test-case name="4249NISTXML-SV-IV-atomic-gDay-minExclusive-4-4 tokoe:valid" result="pass"/><test-case name="4250NISTXML-SV-IV-atomic-gDay-minExclusive-4-5 tokoe:valid" result="pass"/><test-case name="4251NISTSchema-SV-IV-atomic-gDay-minExclusive-5 tokoe:valid" result="pass"/><test-case name="4252NISTXML-SV-IV-atomic-gDay-minExclusive-5-1 tokoe:valid" result="pass"/><test-case name="4253NISTSchema-SV-IV-atomic-gDay-minInclusive-1 tokoe:valid" result="pass"/><test-case name="4254NISTXML-SV-IV-atomic-gDay-minInclusive-1-1 tokoe:valid" result="pass"/><test-case name="4255NISTXML-SV-IV-atomic-gDay-minInclusive-1-2 tokoe:valid" result="pass"/><test-case name="4256NISTXML-SV-IV-atomic-gDay-minInclusive-1-3 tokoe:valid" result="pass"/><test-case name="4257NISTXML-SV-IV-atomic-gDay-minInclusive-1-4 tokoe:valid" result="pass"/><test-case name="4258NISTXML-SV-IV-atomic-gDay-minInclusive-1-5 tokoe:valid" result="pass"/><test-case name="4259NISTSchema-SV-IV-atomic-gDay-minInclusive-2 tokoe:valid" result="pass"/><test-case name="4260NISTXML-SV-IV-atomic-gDay-minInclusive-2-1 tokoe:valid" result="pass"/><test-case name="4261NISTXML-SV-IV-atomic-gDay-minInclusive-2-2 tokoe:valid" result="pass"/><test-case name="4262NISTXML-SV-IV-atomic-gDay-minInclusive-2-3 tokoe:valid" result="pass"/><test-case name="4263NISTXML-SV-IV-atomic-gDay-minInclusive-2-4 tokoe:valid" result="pass"/><test-case name="4264NISTXML-SV-IV-atomic-gDay-minInclusive-2-5 tokoe:valid" result="pass"/><test-case name="4265NISTSchema-SV-IV-atomic-gDay-minInclusive-3 tokoe:valid" result="pass"/><test-case name="4266NISTXML-SV-IV-atomic-gDay-minInclusive-3-1 tokoe:valid" result="pass"/><test-case name="4267NISTXML-SV-IV-atomic-gDay-minInclusive-3-2 tokoe:valid" result="pass"/><test-case name="4268NISTXML-SV-IV-atomic-gDay-minInclusive-3-3 tokoe:valid" result="pass"/><test-case name="4269NISTXML-SV-IV-atomic-gDay-minInclusive-3-4 tokoe:valid" result="pass"/><test-case name="4270NISTXML-SV-IV-atomic-gDay-minInclusive-3-5 tokoe:valid" result="pass"/><test-case name="4271NISTSchema-SV-IV-atomic-gDay-minInclusive-4 tokoe:valid" result="pass"/><test-case name="4272NISTXML-SV-IV-atomic-gDay-minInclusive-4-1 tokoe:valid" result="pass"/><test-case name="4273NISTXML-SV-IV-atomic-gDay-minInclusive-4-2 tokoe:valid" result="pass"/><test-case name="4274NISTXML-SV-IV-atomic-gDay-minInclusive-4-3 tokoe:valid" result="pass"/><test-case name="4275NISTXML-SV-IV-atomic-gDay-minInclusive-4-4 tokoe:valid" result="pass"/><test-case name="4276NISTXML-SV-IV-atomic-gDay-minInclusive-4-5 tokoe:valid" result="pass"/><test-case name="4277NISTSchema-SV-IV-atomic-gDay-minInclusive-5 tokoe:valid" result="pass"/><test-case name="4278NISTXML-SV-IV-atomic-gDay-minInclusive-5-1 tokoe:valid" result="pass"/><test-case name="4279NISTSchema-SV-IV-atomic-gDay-maxExclusive-1 tokoe:valid" result="pass"/><test-case name="4280NISTXML-SV-IV-atomic-gDay-maxExclusive-1-1 tokoe:valid" result="pass"/><test-case name="4281NISTSchema-SV-IV-atomic-gDay-maxExclusive-2 tokoe:valid" result="pass"/><test-case name="4282NISTXML-SV-IV-atomic-gDay-maxExclusive-2-1 tokoe:valid" result="pass"/><test-case name="4283NISTXML-SV-IV-atomic-gDay-maxExclusive-2-2 tokoe:valid" result="pass"/><test-case name="4284NISTXML-SV-IV-atomic-gDay-maxExclusive-2-3 tokoe:valid" result="pass"/><test-case name="4285NISTXML-SV-IV-atomic-gDay-maxExclusive-2-4 tokoe:valid" result="pass"/><test-case name="4286NISTXML-SV-IV-atomic-gDay-maxExclusive-2-5 tokoe:valid" result="pass"/><test-case name="4287NISTSchema-SV-IV-atomic-gDay-maxExclusive-3 tokoe:valid" result="pass"/><test-case name="4288NISTXML-SV-IV-atomic-gDay-maxExclusive-3-1 tokoe:valid" result="pass"/><test-case name="4289NISTXML-SV-IV-atomic-gDay-maxExclusive-3-2 tokoe:valid" result="pass"/><test-case name="4290NISTXML-SV-IV-atomic-gDay-maxExclusive-3-3 tokoe:valid" result="pass"/><test-case name="4291NISTXML-SV-IV-atomic-gDay-maxExclusive-3-4 tokoe:valid" result="pass"/><test-case name="4292NISTXML-SV-IV-atomic-gDay-maxExclusive-3-5 tokoe:valid" result="pass"/><test-case name="4293NISTSchema-SV-IV-atomic-gDay-maxExclusive-4 tokoe:valid" result="pass"/><test-case name="4294NISTXML-SV-IV-atomic-gDay-maxExclusive-4-1 tokoe:valid" result="pass"/><test-case name="4295NISTXML-SV-IV-atomic-gDay-maxExclusive-4-2 tokoe:valid" result="pass"/><test-case name="4296NISTXML-SV-IV-atomic-gDay-maxExclusive-4-3 tokoe:valid" result="pass"/><test-case name="4297NISTXML-SV-IV-atomic-gDay-maxExclusive-4-4 tokoe:valid" result="pass"/><test-case name="4298NISTXML-SV-IV-atomic-gDay-maxExclusive-4-5 tokoe:valid" result="pass"/><test-case name="4299NISTSchema-SV-IV-atomic-gDay-maxExclusive-5 tokoe:valid" result="pass"/><test-case name="4300NISTXML-SV-IV-atomic-gDay-maxExclusive-5-1 tokoe:valid" result="pass"/><test-case name="4301NISTXML-SV-IV-atomic-gDay-maxExclusive-5-2 tokoe:valid" result="pass"/><test-case name="4302NISTXML-SV-IV-atomic-gDay-maxExclusive-5-3 tokoe:valid" result="pass"/><test-case name="4303NISTXML-SV-IV-atomic-gDay-maxExclusive-5-4 tokoe:valid" result="pass"/><test-case name="4304NISTXML-SV-IV-atomic-gDay-maxExclusive-5-5 tokoe:valid" result="pass"/><test-case name="4305NISTSchema-SV-IV-atomic-gDay-maxInclusive-1 tokoe:valid" result="pass"/><test-case name="4306NISTXML-SV-IV-atomic-gDay-maxInclusive-1-1 tokoe:valid" result="pass"/><test-case name="4307NISTSchema-SV-IV-atomic-gDay-maxInclusive-2 tokoe:valid" result="pass"/><test-case name="4308NISTXML-SV-IV-atomic-gDay-maxInclusive-2-1 tokoe:valid" result="pass"/><test-case name="4309NISTXML-SV-IV-atomic-gDay-maxInclusive-2-2 tokoe:valid" result="pass"/><test-case name="4310NISTXML-SV-IV-atomic-gDay-maxInclusive-2-3 tokoe:valid" result="pass"/><test-case name="4311NISTXML-SV-IV-atomic-gDay-maxInclusive-2-4 tokoe:valid" result="pass"/><test-case name="4312NISTXML-SV-IV-atomic-gDay-maxInclusive-2-5 tokoe:valid" result="pass"/><test-case name="4313NISTSchema-SV-IV-atomic-gDay-maxInclusive-3 tokoe:valid" result="pass"/><test-case name="4314NISTXML-SV-IV-atomic-gDay-maxInclusive-3-1 tokoe:valid" result="pass"/><test-case name="4315NISTSchema-SV-IV-atomic-gDay-maxInclusive-4 tokoe:valid" result="pass"/><test-case name="4316NISTXML-SV-IV-atomic-gDay-maxInclusive-4-1 tokoe:valid" result="pass"/><test-case name="4317NISTXML-SV-IV-atomic-gDay-maxInclusive-4-2 tokoe:valid" result="pass"/><test-case name="4318NISTXML-SV-IV-atomic-gDay-maxInclusive-4-3 tokoe:valid" result="pass"/><test-case name="4319NISTXML-SV-IV-atomic-gDay-maxInclusive-4-4 tokoe:valid" result="pass"/><test-case name="4320NISTXML-SV-IV-atomic-gDay-maxInclusive-4-5 tokoe:valid" result="pass"/><test-case name="4321NISTSchema-SV-IV-atomic-gDay-maxInclusive-5 tokoe:valid" result="pass"/><test-case name="4322NISTXML-SV-IV-atomic-gDay-maxInclusive-5-1 tokoe:valid" result="pass"/><test-case name="4323NISTXML-SV-IV-atomic-gDay-maxInclusive-5-2 tokoe:valid" result="pass"/><test-case name="4324NISTXML-SV-IV-atomic-gDay-maxInclusive-5-3 tokoe:valid" result="pass"/><test-case name="4325NISTXML-SV-IV-atomic-gDay-maxInclusive-5-4 tokoe:valid" result="pass"/><test-case name="4326NISTXML-SV-IV-atomic-gDay-maxInclusive-5-5 tokoe:valid" result="pass"/><test-case name="4327NISTSchema-SV-IV-atomic-gDay-pattern-1 tokoe:valid" result="pass"/><test-case name="4328NISTXML-SV-IV-atomic-gDay-pattern-1-1 tokoe:valid" result="pass"/><test-case name="4329NISTXML-SV-IV-atomic-gDay-pattern-1-2 tokoe:valid" result="pass"/><test-case name="4330NISTXML-SV-IV-atomic-gDay-pattern-1-3 tokoe:valid" result="pass"/><test-case name="4331NISTXML-SV-IV-atomic-gDay-pattern-1-4 tokoe:valid" result="pass"/><test-case name="4332NISTXML-SV-IV-atomic-gDay-pattern-1-5 tokoe:valid" result="pass"/><test-case name="4333NISTSchema-SV-IV-atomic-gDay-pattern-2 tokoe:valid" result="pass"/><test-case name="4334NISTXML-SV-IV-atomic-gDay-pattern-2-1 tokoe:valid" result="pass"/><test-case name="4335NISTXML-SV-IV-atomic-gDay-pattern-2-2 tokoe:valid" result="pass"/><test-case name="4336NISTXML-SV-IV-atomic-gDay-pattern-2-3 tokoe:valid" result="pass"/><test-case name="4337NISTXML-SV-IV-atomic-gDay-pattern-2-4 tokoe:valid" result="pass"/><test-case name="4338NISTXML-SV-IV-atomic-gDay-pattern-2-5 tokoe:valid" result="pass"/><test-case name="4339NISTSchema-SV-IV-atomic-gDay-pattern-3 tokoe:valid" result="pass"/><test-case name="4340NISTXML-SV-IV-atomic-gDay-pattern-3-1 tokoe:valid" result="pass"/><test-case name="4341NISTXML-SV-IV-atomic-gDay-pattern-3-2 tokoe:valid" result="pass"/><test-case name="4342NISTXML-SV-IV-atomic-gDay-pattern-3-3 tokoe:valid" result="pass"/><test-case name="4343NISTXML-SV-IV-atomic-gDay-pattern-3-4 tokoe:valid" result="pass"/><test-case name="4344NISTXML-SV-IV-atomic-gDay-pattern-3-5 tokoe:valid" result="pass"/><test-case name="4345NISTSchema-SV-IV-atomic-gDay-pattern-4 tokoe:valid" result="pass"/><test-case name="4346NISTXML-SV-IV-atomic-gDay-pattern-4-1 tokoe:valid" result="pass"/><test-case name="4347NISTXML-SV-IV-atomic-gDay-pattern-4-2 tokoe:valid" result="pass"/><test-case name="4348NISTXML-SV-IV-atomic-gDay-pattern-4-3 tokoe:valid" result="pass"/><test-case name="4349NISTXML-SV-IV-atomic-gDay-pattern-4-4 tokoe:valid" result="pass"/><test-case name="4350NISTXML-SV-IV-atomic-gDay-pattern-4-5 tokoe:valid" result="pass"/><test-case name="4351NISTSchema-SV-IV-atomic-gDay-pattern-5 tokoe:valid" result="pass"/><test-case name="4352NISTXML-SV-IV-atomic-gDay-pattern-5-1 tokoe:valid" result="pass"/><test-case name="4353NISTXML-SV-IV-atomic-gDay-pattern-5-2 tokoe:valid" result="pass"/><test-case name="4354NISTXML-SV-IV-atomic-gDay-pattern-5-3 tokoe:valid" result="pass"/><test-case name="4355NISTXML-SV-IV-atomic-gDay-pattern-5-4 tokoe:valid" result="pass"/><test-case name="4356NISTXML-SV-IV-atomic-gDay-pattern-5-5 tokoe:valid" result="pass"/><test-case name="4357NISTSchema-SV-IV-atomic-gDay-enumeration-1 tokoe:valid" result="pass"/><test-case name="4358NISTXML-SV-IV-atomic-gDay-enumeration-1-1 tokoe:valid" result="pass"/><test-case name="4359NISTXML-SV-IV-atomic-gDay-enumeration-1-2 tokoe:valid" result="pass"/><test-case name="4360NISTXML-SV-IV-atomic-gDay-enumeration-1-3 tokoe:valid" result="pass"/><test-case name="4361NISTXML-SV-IV-atomic-gDay-enumeration-1-4 tokoe:valid" result="pass"/><test-case name="4362NISTXML-SV-IV-atomic-gDay-enumeration-1-5 tokoe:valid" result="pass"/><test-case name="4363NISTSchema-SV-IV-atomic-gDay-enumeration-2 tokoe:valid" result="pass"/><test-case name="4364NISTXML-SV-IV-atomic-gDay-enumeration-2-1 tokoe:valid" result="pass"/><test-case name="4365NISTXML-SV-IV-atomic-gDay-enumeration-2-2 tokoe:valid" result="pass"/><test-case name="4366NISTXML-SV-IV-atomic-gDay-enumeration-2-3 tokoe:valid" result="pass"/><test-case name="4367NISTXML-SV-IV-atomic-gDay-enumeration-2-4 tokoe:valid" result="pass"/><test-case name="4368NISTXML-SV-IV-atomic-gDay-enumeration-2-5 tokoe:valid" result="pass"/><test-case name="4369NISTSchema-SV-IV-atomic-gDay-enumeration-3 tokoe:valid" result="pass"/><test-case name="4370NISTXML-SV-IV-atomic-gDay-enumeration-3-1 tokoe:valid" result="pass"/><test-case name="4371NISTXML-SV-IV-atomic-gDay-enumeration-3-2 tokoe:valid" result="pass"/><test-case name="4372NISTXML-SV-IV-atomic-gDay-enumeration-3-3 tokoe:valid" result="pass"/><test-case name="4373NISTXML-SV-IV-atomic-gDay-enumeration-3-4 tokoe:valid" result="pass"/><test-case name="4374NISTXML-SV-IV-atomic-gDay-enumeration-3-5 tokoe:valid" result="pass"/><test-case name="4375NISTSchema-SV-IV-atomic-gDay-enumeration-4 tokoe:valid" result="pass"/><test-case name="4376NISTXML-SV-IV-atomic-gDay-enumeration-4-1 tokoe:valid" result="pass"/><test-case name="4377NISTXML-SV-IV-atomic-gDay-enumeration-4-2 tokoe:valid" result="pass"/><test-case name="4378NISTXML-SV-IV-atomic-gDay-enumeration-4-3 tokoe:valid" result="pass"/><test-case name="4379NISTXML-SV-IV-atomic-gDay-enumeration-4-4 tokoe:valid" result="pass"/><test-case name="4380NISTXML-SV-IV-atomic-gDay-enumeration-4-5 tokoe:valid" result="pass"/><test-case name="4381NISTSchema-SV-IV-atomic-gDay-enumeration-5 tokoe:valid" result="pass"/><test-case name="4382NISTXML-SV-IV-atomic-gDay-enumeration-5-1 tokoe:valid" result="pass"/><test-case name="4383NISTXML-SV-IV-atomic-gDay-enumeration-5-2 tokoe:valid" result="pass"/><test-case name="4384NISTXML-SV-IV-atomic-gDay-enumeration-5-3 tokoe:valid" result="pass"/><test-case name="4385NISTXML-SV-IV-atomic-gDay-enumeration-5-4 tokoe:valid" result="pass"/><test-case name="4386NISTXML-SV-IV-atomic-gDay-enumeration-5-5 tokoe:valid" result="pass"/><test-case name="4387NISTSchema-SV-IV-atomic-gDay-whiteSpace-1 tokoe:valid" result="pass"/><test-case name="4388NISTXML-SV-IV-atomic-gDay-whiteSpace-1-1 tokoe:valid" result="pass"/><test-case name="4389NISTXML-SV-IV-atomic-gDay-whiteSpace-1-2 tokoe:valid" result="pass"/><test-case name="4390NISTXML-SV-IV-atomic-gDay-whiteSpace-1-3 tokoe:valid" result="pass"/><test-case name="4391NISTXML-SV-IV-atomic-gDay-whiteSpace-1-4 tokoe:valid" result="pass"/><test-case name="4392NISTXML-SV-IV-atomic-gDay-whiteSpace-1-5 tokoe:valid" result="pass"/><test-case name="4393NISTSchema-SV-IV-atomic-gMonth-minExclusive-1 tokoe:valid" result="pass"/><test-case name="4394NISTXML-SV-IV-atomic-gMonth-minExclusive-1-1 tokoe:valid" result="pass"/><test-case name="4395NISTXML-SV-IV-atomic-gMonth-minExclusive-1-2 tokoe:valid" result="pass"/><test-case name="4396NISTXML-SV-IV-atomic-gMonth-minExclusive-1-3 tokoe:valid" result="pass"/><test-case name="4397NISTXML-SV-IV-atomic-gMonth-minExclusive-1-4 tokoe:valid" result="pass"/><test-case name="4398NISTXML-SV-IV-atomic-gMonth-minExclusive-1-5 tokoe:valid" result="pass"/><test-case name="4399NISTSchema-SV-IV-atomic-gMonth-minExclusive-2 tokoe:valid" result="pass"/><test-case name="4400NISTXML-SV-IV-atomic-gMonth-minExclusive-2-1 tokoe:valid" result="pass"/><test-case name="4401NISTXML-SV-IV-atomic-gMonth-minExclusive-2-2 tokoe:valid" result="pass"/><test-case name="4402NISTXML-SV-IV-atomic-gMonth-minExclusive-2-3 tokoe:valid" result="pass"/><test-case name="4403NISTXML-SV-IV-atomic-gMonth-minExclusive-2-4 tokoe:valid" result="pass"/><test-case name="4404NISTXML-SV-IV-atomic-gMonth-minExclusive-2-5 tokoe:valid" result="pass"/><test-case name="4405NISTSchema-SV-IV-atomic-gMonth-minExclusive-3 tokoe:valid" result="pass"/><test-case name="4406NISTXML-SV-IV-atomic-gMonth-minExclusive-3-1 tokoe:valid" result="pass"/><test-case name="4407NISTXML-SV-IV-atomic-gMonth-minExclusive-3-2 tokoe:valid" result="pass"/><test-case name="4408NISTXML-SV-IV-atomic-gMonth-minExclusive-3-3 tokoe:valid" result="pass"/><test-case name="4409NISTXML-SV-IV-atomic-gMonth-minExclusive-3-4 tokoe:valid" result="pass"/><test-case name="4410NISTXML-SV-IV-atomic-gMonth-minExclusive-3-5 tokoe:valid" result="pass"/><test-case name="4411NISTSchema-SV-IV-atomic-gMonth-minExclusive-4 tokoe:valid" result="pass"/><test-case name="4412NISTXML-SV-IV-atomic-gMonth-minExclusive-4-1 tokoe:valid" result="pass"/><test-case name="4413NISTXML-SV-IV-atomic-gMonth-minExclusive-4-2 tokoe:valid" result="pass"/><test-case name="4414NISTXML-SV-IV-atomic-gMonth-minExclusive-4-3 tokoe:valid" result="pass"/><test-case name="4415NISTXML-SV-IV-atomic-gMonth-minExclusive-4-4 tokoe:valid" result="pass"/><test-case name="4416NISTXML-SV-IV-atomic-gMonth-minExclusive-4-5 tokoe:valid" result="pass"/><test-case name="4417NISTSchema-SV-IV-atomic-gMonth-minExclusive-5 tokoe:valid" result="pass"/><test-case name="4418NISTXML-SV-IV-atomic-gMonth-minExclusive-5-1 tokoe:valid" result="pass"/><test-case name="4419NISTSchema-SV-IV-atomic-gMonth-minInclusive-1 tokoe:valid" result="pass"/><test-case name="4420NISTXML-SV-IV-atomic-gMonth-minInclusive-1-1 tokoe:valid" result="pass"/><test-case name="4421NISTXML-SV-IV-atomic-gMonth-minInclusive-1-2 tokoe:valid" result="pass"/><test-case name="4422NISTXML-SV-IV-atomic-gMonth-minInclusive-1-3 tokoe:valid" result="pass"/><test-case name="4423NISTXML-SV-IV-atomic-gMonth-minInclusive-1-4 tokoe:valid" result="pass"/><test-case name="4424NISTXML-SV-IV-atomic-gMonth-minInclusive-1-5 tokoe:valid" result="pass"/><test-case name="4425NISTSchema-SV-IV-atomic-gMonth-minInclusive-2 tokoe:valid" result="pass"/><test-case name="4426NISTXML-SV-IV-atomic-gMonth-minInclusive-2-1 tokoe:valid" result="pass"/><test-case name="4427NISTXML-SV-IV-atomic-gMonth-minInclusive-2-2 tokoe:valid" result="pass"/><test-case name="4428NISTXML-SV-IV-atomic-gMonth-minInclusive-2-3 tokoe:valid" result="pass"/><test-case name="4429NISTXML-SV-IV-atomic-gMonth-minInclusive-2-4 tokoe:valid" result="pass"/><test-case name="4430NISTXML-SV-IV-atomic-gMonth-minInclusive-2-5 tokoe:valid" result="pass"/><test-case name="4431NISTSchema-SV-IV-atomic-gMonth-minInclusive-3 tokoe:valid" result="pass"/><test-case name="4432NISTXML-SV-IV-atomic-gMonth-minInclusive-3-1 tokoe:valid" result="pass"/><test-case name="4433NISTXML-SV-IV-atomic-gMonth-minInclusive-3-2 tokoe:valid" result="pass"/><test-case name="4434NISTXML-SV-IV-atomic-gMonth-minInclusive-3-3 tokoe:valid" result="pass"/><test-case name="4435NISTXML-SV-IV-atomic-gMonth-minInclusive-3-4 tokoe:valid" result="pass"/><test-case name="4436NISTXML-SV-IV-atomic-gMonth-minInclusive-3-5 tokoe:valid" result="pass"/><test-case name="4437NISTSchema-SV-IV-atomic-gMonth-minInclusive-4 tokoe:valid" result="pass"/><test-case name="4438NISTXML-SV-IV-atomic-gMonth-minInclusive-4-1 tokoe:valid" result="pass"/><test-case name="4439NISTXML-SV-IV-atomic-gMonth-minInclusive-4-2 tokoe:valid" result="pass"/><test-case name="4440NISTXML-SV-IV-atomic-gMonth-minInclusive-4-3 tokoe:valid" result="pass"/><test-case name="4441NISTXML-SV-IV-atomic-gMonth-minInclusive-4-4 tokoe:valid" result="pass"/><test-case name="4442NISTXML-SV-IV-atomic-gMonth-minInclusive-4-5 tokoe:valid" result="pass"/><test-case name="4443NISTSchema-SV-IV-atomic-gMonth-minInclusive-5 tokoe:valid" result="pass"/><test-case name="4444NISTXML-SV-IV-atomic-gMonth-minInclusive-5-1 tokoe:valid" result="pass"/><test-case name="4445NISTSchema-SV-IV-atomic-gMonth-maxExclusive-1 tokoe:valid" result="pass"/><test-case name="4446NISTXML-SV-IV-atomic-gMonth-maxExclusive-1-1 tokoe:valid" result="pass"/><test-case name="4447NISTSchema-SV-IV-atomic-gMonth-maxExclusive-2 tokoe:valid" result="pass"/><test-case name="4448NISTXML-SV-IV-atomic-gMonth-maxExclusive-2-1 tokoe:valid" result="pass"/><test-case name="4449NISTSchema-SV-IV-atomic-gMonth-maxExclusive-3 tokoe:valid" result="pass"/><test-case name="4450NISTXML-SV-IV-atomic-gMonth-maxExclusive-3-1 tokoe:valid" result="pass"/><test-case name="4451NISTXML-SV-IV-atomic-gMonth-maxExclusive-3-2 tokoe:valid" result="pass"/><test-case name="4452NISTXML-SV-IV-atomic-gMonth-maxExclusive-3-3 tokoe:valid" result="pass"/><test-case name="4453NISTXML-SV-IV-atomic-gMonth-maxExclusive-3-4 tokoe:valid" result="pass"/><test-case name="4454NISTXML-SV-IV-atomic-gMonth-maxExclusive-3-5 tokoe:valid" result="pass"/><test-case name="4455NISTSchema-SV-IV-atomic-gMonth-maxExclusive-4 tokoe:valid" result="pass"/><test-case name="4456NISTXML-SV-IV-atomic-gMonth-maxExclusive-4-1 tokoe:valid" result="pass"/><test-case name="4457NISTXML-SV-IV-atomic-gMonth-maxExclusive-4-2 tokoe:valid" result="pass"/><test-case name="4458NISTXML-SV-IV-atomic-gMonth-maxExclusive-4-3 tokoe:valid" result="pass"/><test-case name="4459NISTXML-SV-IV-atomic-gMonth-maxExclusive-4-4 tokoe:valid" result="pass"/><test-case name="4460NISTXML-SV-IV-atomic-gMonth-maxExclusive-4-5 tokoe:valid" result="pass"/><test-case name="4461NISTSchema-SV-IV-atomic-gMonth-maxExclusive-5 tokoe:valid" result="pass"/><test-case name="4462NISTXML-SV-IV-atomic-gMonth-maxExclusive-5-1 tokoe:valid" result="pass"/><test-case name="4463NISTXML-SV-IV-atomic-gMonth-maxExclusive-5-2 tokoe:valid" result="pass"/><test-case name="4464NISTXML-SV-IV-atomic-gMonth-maxExclusive-5-3 tokoe:valid" result="pass"/><test-case name="4465NISTXML-SV-IV-atomic-gMonth-maxExclusive-5-4 tokoe:valid" result="pass"/><test-case name="4466NISTXML-SV-IV-atomic-gMonth-maxExclusive-5-5 tokoe:valid" result="pass"/><test-case name="4467NISTSchema-SV-IV-atomic-gMonth-maxInclusive-1 tokoe:valid" result="pass"/><test-case name="4468NISTXML-SV-IV-atomic-gMonth-maxInclusive-1-1 tokoe:valid" result="pass"/><test-case name="4469NISTSchema-SV-IV-atomic-gMonth-maxInclusive-2 tokoe:valid" result="pass"/><test-case name="4470NISTXML-SV-IV-atomic-gMonth-maxInclusive-2-1 tokoe:valid" result="pass"/><test-case name="4471NISTXML-SV-IV-atomic-gMonth-maxInclusive-2-2 tokoe:valid" result="pass"/><test-case name="4472NISTXML-SV-IV-atomic-gMonth-maxInclusive-2-3 tokoe:valid" result="pass"/><test-case name="4473NISTXML-SV-IV-atomic-gMonth-maxInclusive-2-4 tokoe:valid" result="pass"/><test-case name="4474NISTXML-SV-IV-atomic-gMonth-maxInclusive-2-5 tokoe:valid" result="pass"/><test-case name="4475NISTSchema-SV-IV-atomic-gMonth-maxInclusive-3 tokoe:valid" result="pass"/><test-case name="4476NISTXML-SV-IV-atomic-gMonth-maxInclusive-3-1 tokoe:valid" result="pass"/><test-case name="4477NISTXML-SV-IV-atomic-gMonth-maxInclusive-3-2 tokoe:valid" result="pass"/><test-case name="4478NISTXML-SV-IV-atomic-gMonth-maxInclusive-3-3 tokoe:valid" result="pass"/><test-case name="4479NISTXML-SV-IV-atomic-gMonth-maxInclusive-3-4 tokoe:valid" result="pass"/><test-case name="4480NISTXML-SV-IV-atomic-gMonth-maxInclusive-3-5 tokoe:valid" result="pass"/><test-case name="4481NISTSchema-SV-IV-atomic-gMonth-maxInclusive-4 tokoe:valid" result="pass"/><test-case name="4482NISTXML-SV-IV-atomic-gMonth-maxInclusive-4-1 tokoe:valid" result="pass"/><test-case name="4483NISTXML-SV-IV-atomic-gMonth-maxInclusive-4-2 tokoe:valid" result="pass"/><test-case name="4484NISTXML-SV-IV-atomic-gMonth-maxInclusive-4-3 tokoe:valid" result="pass"/><test-case name="4485NISTXML-SV-IV-atomic-gMonth-maxInclusive-4-4 tokoe:valid" result="pass"/><test-case name="4486NISTXML-SV-IV-atomic-gMonth-maxInclusive-4-5 tokoe:valid" result="pass"/><test-case name="4487NISTSchema-SV-IV-atomic-gMonth-maxInclusive-5 tokoe:valid" result="pass"/><test-case name="4488NISTXML-SV-IV-atomic-gMonth-maxInclusive-5-1 tokoe:valid" result="pass"/><test-case name="4489NISTXML-SV-IV-atomic-gMonth-maxInclusive-5-2 tokoe:valid" result="pass"/><test-case name="4490NISTXML-SV-IV-atomic-gMonth-maxInclusive-5-3 tokoe:valid" result="pass"/><test-case name="4491NISTXML-SV-IV-atomic-gMonth-maxInclusive-5-4 tokoe:valid" result="pass"/><test-case name="4492NISTXML-SV-IV-atomic-gMonth-maxInclusive-5-5 tokoe:valid" result="pass"/><test-case name="4493NISTSchema-SV-IV-atomic-gMonth-pattern-1 tokoe:valid" result="pass"/><test-case name="4494NISTXML-SV-IV-atomic-gMonth-pattern-1-1 tokoe:valid" result="pass"/><test-case name="4495NISTXML-SV-IV-atomic-gMonth-pattern-1-2 tokoe:valid" result="pass"/><test-case name="4496NISTXML-SV-IV-atomic-gMonth-pattern-1-3 tokoe:valid" result="pass"/><test-case name="4497NISTXML-SV-IV-atomic-gMonth-pattern-1-4 tokoe:valid" result="pass"/><test-case name="4498NISTXML-SV-IV-atomic-gMonth-pattern-1-5 tokoe:valid" result="pass"/><test-case name="4499NISTSchema-SV-IV-atomic-gMonth-pattern-2 tokoe:valid" result="pass"/><test-case name="4500NISTXML-SV-IV-atomic-gMonth-pattern-2-1 tokoe:valid" result="pass"/><test-case name="4501NISTXML-SV-IV-atomic-gMonth-pattern-2-2 tokoe:valid" result="pass"/><test-case name="4502NISTXML-SV-IV-atomic-gMonth-pattern-2-3 tokoe:valid" result="pass"/><test-case name="4503NISTXML-SV-IV-atomic-gMonth-pattern-2-4 tokoe:valid" result="pass"/><test-case name="4504NISTXML-SV-IV-atomic-gMonth-pattern-2-5 tokoe:valid" result="pass"/><test-case name="4505NISTSchema-SV-IV-atomic-gMonth-pattern-3 tokoe:valid" result="pass"/><test-case name="4506NISTXML-SV-IV-atomic-gMonth-pattern-3-1 tokoe:valid" result="pass"/><test-case name="4507NISTXML-SV-IV-atomic-gMonth-pattern-3-2 tokoe:valid" result="pass"/><test-case name="4508NISTXML-SV-IV-atomic-gMonth-pattern-3-3 tokoe:valid" result="pass"/><test-case name="4509NISTXML-SV-IV-atomic-gMonth-pattern-3-4 tokoe:valid" result="pass"/><test-case name="4510NISTXML-SV-IV-atomic-gMonth-pattern-3-5 tokoe:valid" result="pass"/><test-case name="4511NISTSchema-SV-IV-atomic-gMonth-pattern-4 tokoe:valid" result="pass"/><test-case name="4512NISTXML-SV-IV-atomic-gMonth-pattern-4-1 tokoe:valid" result="pass"/><test-case name="4513NISTXML-SV-IV-atomic-gMonth-pattern-4-2 tokoe:valid" result="pass"/><test-case name="4514NISTXML-SV-IV-atomic-gMonth-pattern-4-3 tokoe:valid" result="pass"/><test-case name="4515NISTXML-SV-IV-atomic-gMonth-pattern-4-4 tokoe:valid" result="pass"/><test-case name="4516NISTXML-SV-IV-atomic-gMonth-pattern-4-5 tokoe:valid" result="pass"/><test-case name="4517NISTSchema-SV-IV-atomic-gMonth-pattern-5 tokoe:valid" result="pass"/><test-case name="4518NISTXML-SV-IV-atomic-gMonth-pattern-5-1 tokoe:valid" result="pass"/><test-case name="4519NISTXML-SV-IV-atomic-gMonth-pattern-5-2 tokoe:valid" result="pass"/><test-case name="4520NISTXML-SV-IV-atomic-gMonth-pattern-5-3 tokoe:valid" result="pass"/><test-case name="4521NISTXML-SV-IV-atomic-gMonth-pattern-5-4 tokoe:valid" result="pass"/><test-case name="4522NISTXML-SV-IV-atomic-gMonth-pattern-5-5 tokoe:valid" result="pass"/><test-case name="4523NISTSchema-SV-IV-atomic-gMonth-enumeration-1 tokoe:valid" result="pass"/><test-case name="4524NISTXML-SV-IV-atomic-gMonth-enumeration-1-1 tokoe:valid" result="pass"/><test-case name="4525NISTXML-SV-IV-atomic-gMonth-enumeration-1-2 tokoe:valid" result="pass"/><test-case name="4526NISTXML-SV-IV-atomic-gMonth-enumeration-1-3 tokoe:valid" result="pass"/><test-case name="4527NISTXML-SV-IV-atomic-gMonth-enumeration-1-4 tokoe:valid" result="pass"/><test-case name="4528NISTXML-SV-IV-atomic-gMonth-enumeration-1-5 tokoe:valid" result="pass"/><test-case name="4529NISTSchema-SV-IV-atomic-gMonth-enumeration-2 tokoe:valid" result="pass"/><test-case name="4530NISTXML-SV-IV-atomic-gMonth-enumeration-2-1 tokoe:valid" result="pass"/><test-case name="4531NISTXML-SV-IV-atomic-gMonth-enumeration-2-2 tokoe:valid" result="pass"/><test-case name="4532NISTXML-SV-IV-atomic-gMonth-enumeration-2-3 tokoe:valid" result="pass"/><test-case name="4533NISTXML-SV-IV-atomic-gMonth-enumeration-2-4 tokoe:valid" result="pass"/><test-case name="4534NISTXML-SV-IV-atomic-gMonth-enumeration-2-5 tokoe:valid" result="pass"/><test-case name="4535NISTSchema-SV-IV-atomic-gMonth-enumeration-3 tokoe:valid" result="pass"/><test-case name="4536NISTXML-SV-IV-atomic-gMonth-enumeration-3-1 tokoe:valid" result="pass"/><test-case name="4537NISTXML-SV-IV-atomic-gMonth-enumeration-3-2 tokoe:valid" result="pass"/><test-case name="4538NISTXML-SV-IV-atomic-gMonth-enumeration-3-3 tokoe:valid" result="pass"/><test-case name="4539NISTXML-SV-IV-atomic-gMonth-enumeration-3-4 tokoe:valid" result="pass"/><test-case name="4540NISTXML-SV-IV-atomic-gMonth-enumeration-3-5 tokoe:valid" result="pass"/><test-case name="4541NISTSchema-SV-IV-atomic-gMonth-enumeration-4 tokoe:valid" result="pass"/><test-case name="4542NISTXML-SV-IV-atomic-gMonth-enumeration-4-1 tokoe:valid" result="pass"/><test-case name="4543NISTXML-SV-IV-atomic-gMonth-enumeration-4-2 tokoe:valid" result="pass"/><test-case name="4544NISTXML-SV-IV-atomic-gMonth-enumeration-4-3 tokoe:valid" result="pass"/><test-case name="4545NISTXML-SV-IV-atomic-gMonth-enumeration-4-4 tokoe:valid" result="pass"/><test-case name="4546NISTXML-SV-IV-atomic-gMonth-enumeration-4-5 tokoe:valid" result="pass"/><test-case name="4547NISTSchema-SV-IV-atomic-gMonth-enumeration-5 tokoe:valid" result="pass"/><test-case name="4548NISTXML-SV-IV-atomic-gMonth-enumeration-5-1 tokoe:valid" result="pass"/><test-case name="4549NISTXML-SV-IV-atomic-gMonth-enumeration-5-2 tokoe:valid" result="pass"/><test-case name="4550NISTXML-SV-IV-atomic-gMonth-enumeration-5-3 tokoe:valid" result="pass"/><test-case name="4551NISTXML-SV-IV-atomic-gMonth-enumeration-5-4 tokoe:valid" result="pass"/><test-case name="4552NISTXML-SV-IV-atomic-gMonth-enumeration-5-5 tokoe:valid" result="pass"/><test-case name="4553NISTSchema-SV-IV-atomic-gMonth-whiteSpace-1 tokoe:valid" result="pass"/><test-case name="4554NISTXML-SV-IV-atomic-gMonth-whiteSpace-1-1 tokoe:valid" result="pass"/><test-case name="4555NISTXML-SV-IV-atomic-gMonth-whiteSpace-1-2 tokoe:valid" result="pass"/><test-case name="4556NISTXML-SV-IV-atomic-gMonth-whiteSpace-1-3 tokoe:valid" result="pass"/><test-case name="4557NISTXML-SV-IV-atomic-gMonth-whiteSpace-1-4 tokoe:valid" result="pass"/><test-case name="4558NISTXML-SV-IV-atomic-gMonth-whiteSpace-1-5 tokoe:valid" result="pass"/><test-case name="4559NISTSchema-SV-IV-atomic-string-maxLength-1 tokoe:valid" result="pass"/><test-case name="4560NISTXML-SV-IV-atomic-string-maxLength-1-1 tokoe:valid" result="pass"/><test-case name="4561NISTXML-SV-IV-atomic-string-maxLength-1-2 tokoe:valid" result="pass"/><test-case name="4562NISTXML-SV-IV-atomic-string-maxLength-1-3 tokoe:valid" result="pass"/><test-case name="4563NISTXML-SV-IV-atomic-string-maxLength-1-4 tokoe:valid" result="pass"/><test-case name="4564NISTXML-SV-IV-atomic-string-maxLength-1-5 tokoe:valid" result="pass"/><test-case name="4565NISTSchema-SV-IV-atomic-string-maxLength-2 tokoe:valid" result="pass"/><test-case name="4566NISTXML-SV-IV-atomic-string-maxLength-2-1 tokoe:valid" result="pass"/><test-case name="4567NISTXML-SV-IV-atomic-string-maxLength-2-2 tokoe:valid" result="pass"/><test-case name="4568NISTXML-SV-IV-atomic-string-maxLength-2-3 tokoe:valid" result="pass"/><test-case name="4569NISTXML-SV-IV-atomic-string-maxLength-2-4 tokoe:valid" result="pass"/><test-case name="4570NISTXML-SV-IV-atomic-string-maxLength-2-5 tokoe:valid" result="pass"/><test-case name="4571NISTSchema-SV-IV-atomic-string-maxLength-3 tokoe:valid" result="pass"/><test-case name="4572NISTXML-SV-IV-atomic-string-maxLength-3-1 tokoe:valid" result="pass"/><test-case name="4573NISTXML-SV-IV-atomic-string-maxLength-3-2 tokoe:valid" result="pass"/><test-case name="4574NISTXML-SV-IV-atomic-string-maxLength-3-3 tokoe:valid" result="pass"/><test-case name="4575NISTXML-SV-IV-atomic-string-maxLength-3-4 tokoe:valid" result="pass"/><test-case name="4576NISTXML-SV-IV-atomic-string-maxLength-3-5 tokoe:valid" result="pass"/><test-case name="4577NISTSchema-SV-IV-atomic-string-maxLength-4 tokoe:valid" result="pass"/><test-case name="4578NISTXML-SV-IV-atomic-string-maxLength-4-1 tokoe:valid" result="pass"/><test-case name="4579NISTXML-SV-IV-atomic-string-maxLength-4-2 tokoe:valid" result="pass"/><test-case name="4580NISTXML-SV-IV-atomic-string-maxLength-4-3 tokoe:valid" result="pass"/><test-case name="4581NISTXML-SV-IV-atomic-string-maxLength-4-4 tokoe:valid" result="pass"/><test-case name="4582NISTXML-SV-IV-atomic-string-maxLength-4-5 tokoe:valid" result="pass"/><test-case name="4583NISTSchema-SV-IV-atomic-string-maxLength-5 tokoe:valid" result="pass"/><test-case name="4584NISTXML-SV-IV-atomic-string-maxLength-5-1 tokoe:valid" result="pass"/><test-case name="4585NISTXML-SV-IV-atomic-string-maxLength-5-2 tokoe:valid" result="pass"/><test-case name="4586NISTXML-SV-IV-atomic-string-maxLength-5-3 tokoe:valid" result="pass"/><test-case name="4587NISTXML-SV-IV-atomic-string-maxLength-5-4 tokoe:valid" result="pass"/><test-case name="4588NISTXML-SV-IV-atomic-string-maxLength-5-5 tokoe:valid" result="pass"/><test-case name="4589NISTSchema-SV-IV-atomic-string-minLength-1 tokoe:valid" result="pass"/><test-case name="4590NISTXML-SV-IV-atomic-string-minLength-1-1 tokoe:valid" result="pass"/><test-case name="4591NISTXML-SV-IV-atomic-string-minLength-1-2 tokoe:valid" result="pass"/><test-case name="4592NISTXML-SV-IV-atomic-string-minLength-1-3 tokoe:valid" result="pass"/><test-case name="4593NISTXML-SV-IV-atomic-string-minLength-1-4 tokoe:valid" result="pass"/><test-case name="4594NISTXML-SV-IV-atomic-string-minLength-1-5 tokoe:valid" result="pass"/><test-case name="4595NISTSchema-SV-IV-atomic-string-minLength-2 tokoe:valid" result="pass"/><test-case name="4596NISTXML-SV-IV-atomic-string-minLength-2-1 tokoe:valid" result="pass"/><test-case name="4597NISTXML-SV-IV-atomic-string-minLength-2-2 tokoe:valid" result="pass"/><test-case name="4598NISTXML-SV-IV-atomic-string-minLength-2-3 tokoe:valid" result="pass"/><test-case name="4599NISTXML-SV-IV-atomic-string-minLength-2-4 tokoe:valid" result="pass"/><test-case name="4600NISTXML-SV-IV-atomic-string-minLength-2-5 tokoe:valid" result="pass"/><test-case name="4601NISTSchema-SV-IV-atomic-string-minLength-3 tokoe:valid" result="pass"/><test-case name="4602NISTXML-SV-IV-atomic-string-minLength-3-1 tokoe:valid" result="pass"/><test-case name="4603NISTXML-SV-IV-atomic-string-minLength-3-2 tokoe:valid" result="pass"/><test-case name="4604NISTXML-SV-IV-atomic-string-minLength-3-3 tokoe:valid" result="pass"/><test-case name="4605NISTXML-SV-IV-atomic-string-minLength-3-4 tokoe:valid" result="pass"/><test-case name="4606NISTXML-SV-IV-atomic-string-minLength-3-5 tokoe:valid" result="pass"/><test-case name="4607NISTSchema-SV-IV-atomic-string-minLength-4 tokoe:valid" result="pass"/><test-case name="4608NISTXML-SV-IV-atomic-string-minLength-4-1 tokoe:valid" result="pass"/><test-case name="4609NISTXML-SV-IV-atomic-string-minLength-4-2 tokoe:valid" result="pass"/><test-case name="4610NISTXML-SV-IV-atomic-string-minLength-4-3 tokoe:valid" result="pass"/><test-case name="4611NISTXML-SV-IV-atomic-string-minLength-4-4 tokoe:valid" result="pass"/><test-case name="4612NISTXML-SV-IV-atomic-string-minLength-4-5 tokoe:valid" result="pass"/><test-case name="4613NISTSchema-SV-IV-atomic-string-minLength-5 tokoe:valid" result="pass"/><test-case name="4614NISTXML-SV-IV-atomic-string-minLength-5-1 tokoe:valid" result="pass"/><test-case name="4615NISTXML-SV-IV-atomic-string-minLength-5-2 tokoe:valid" result="pass"/><test-case name="4616NISTXML-SV-IV-atomic-string-minLength-5-3 tokoe:valid" result="pass"/><test-case name="4617NISTXML-SV-IV-atomic-string-minLength-5-4 tokoe:valid" result="pass"/><test-case name="4618NISTXML-SV-IV-atomic-string-minLength-5-5 tokoe:valid" result="pass"/><test-case name="4619NISTSchema-SV-IV-atomic-string-length-1 tokoe:valid" result="pass"/><test-case name="4620NISTXML-SV-IV-atomic-string-length-1-1 tokoe:valid" result="pass"/><test-case name="4621NISTXML-SV-IV-atomic-string-length-1-2 tokoe:valid" result="pass"/><test-case name="4622NISTXML-SV-IV-atomic-string-length-1-3 tokoe:valid" result="pass"/><test-case name="4623NISTXML-SV-IV-atomic-string-length-1-4 tokoe:valid" result="pass"/><test-case name="4624NISTXML-SV-IV-atomic-string-length-1-5 tokoe:valid" result="pass"/><test-case name="4625NISTSchema-SV-IV-atomic-string-length-2 tokoe:valid" result="pass"/><test-case name="4626NISTXML-SV-IV-atomic-string-length-2-1 tokoe:valid" result="pass"/><test-case name="4627NISTXML-SV-IV-atomic-string-length-2-2 tokoe:valid" result="pass"/><test-case name="4628NISTXML-SV-IV-atomic-string-length-2-3 tokoe:valid" result="pass"/><test-case name="4629NISTXML-SV-IV-atomic-string-length-2-4 tokoe:valid" result="pass"/><test-case name="4630NISTXML-SV-IV-atomic-string-length-2-5 tokoe:valid" result="pass"/><test-case name="4631NISTSchema-SV-IV-atomic-string-length-3 tokoe:valid" result="pass"/><test-case name="4632NISTXML-SV-IV-atomic-string-length-3-1 tokoe:valid" result="pass"/><test-case name="4633NISTXML-SV-IV-atomic-string-length-3-2 tokoe:valid" result="pass"/><test-case name="4634NISTXML-SV-IV-atomic-string-length-3-3 tokoe:valid" result="pass"/><test-case name="4635NISTXML-SV-IV-atomic-string-length-3-4 tokoe:valid" result="pass"/><test-case name="4636NISTXML-SV-IV-atomic-string-length-3-5 tokoe:valid" result="pass"/><test-case name="4637NISTSchema-SV-IV-atomic-string-length-4 tokoe:valid" result="pass"/><test-case name="4638NISTXML-SV-IV-atomic-string-length-4-1 tokoe:valid" result="pass"/><test-case name="4639NISTXML-SV-IV-atomic-string-length-4-2 tokoe:valid" result="pass"/><test-case name="4640NISTXML-SV-IV-atomic-string-length-4-3 tokoe:valid" result="pass"/><test-case name="4641NISTXML-SV-IV-atomic-string-length-4-4 tokoe:valid" result="pass"/><test-case name="4642NISTXML-SV-IV-atomic-string-length-4-5 tokoe:valid" result="pass"/><test-case name="4643NISTSchema-SV-IV-atomic-string-length-5 tokoe:valid" result="pass"/><test-case name="4644NISTXML-SV-IV-atomic-string-length-5-1 tokoe:valid" result="pass"/><test-case name="4645NISTXML-SV-IV-atomic-string-length-5-2 tokoe:valid" result="pass"/><test-case name="4646NISTXML-SV-IV-atomic-string-length-5-3 tokoe:valid" result="pass"/><test-case name="4647NISTXML-SV-IV-atomic-string-length-5-4 tokoe:valid" result="pass"/><test-case name="4648NISTXML-SV-IV-atomic-string-length-5-5 tokoe:valid" result="pass"/><test-case name="4649NISTSchema-SV-IV-atomic-string-pattern-1 tokoe:valid" result="pass"/><test-case name="4650NISTXML-SV-IV-atomic-string-pattern-1-1 tokoe:valid" result="pass"/><test-case name="4651NISTXML-SV-IV-atomic-string-pattern-1-2 tokoe:valid" result="pass"/><test-case name="4652NISTXML-SV-IV-atomic-string-pattern-1-3 tokoe:valid" result="pass"/><test-case name="4653NISTXML-SV-IV-atomic-string-pattern-1-4 tokoe:valid" result="pass"/><test-case name="4654NISTXML-SV-IV-atomic-string-pattern-1-5 tokoe:valid" result="pass"/><test-case name="4655NISTSchema-SV-IV-atomic-string-pattern-2 tokoe:valid" result="pass"/><test-case name="4656NISTXML-SV-IV-atomic-string-pattern-2-1 tokoe:valid" result="pass"/><test-case name="4657NISTXML-SV-IV-atomic-string-pattern-2-2 tokoe:valid" result="pass"/><test-case name="4658NISTXML-SV-IV-atomic-string-pattern-2-3 tokoe:valid" result="pass"/><test-case name="4659NISTXML-SV-IV-atomic-string-pattern-2-4 tokoe:valid" result="pass"/><test-case name="4660NISTXML-SV-IV-atomic-string-pattern-2-5 tokoe:valid" result="pass"/><test-case name="4661NISTSchema-SV-IV-atomic-string-pattern-3 tokoe:valid" result="pass"/><test-case name="4662NISTXML-SV-IV-atomic-string-pattern-3-1 tokoe:valid" result="pass"/><test-case name="4663NISTXML-SV-IV-atomic-string-pattern-3-2 tokoe:valid" result="pass"/><test-case name="4664NISTXML-SV-IV-atomic-string-pattern-3-3 tokoe:valid" result="pass"/><test-case name="4665NISTXML-SV-IV-atomic-string-pattern-3-4 tokoe:valid" result="pass"/><test-case name="4666NISTXML-SV-IV-atomic-string-pattern-3-5 tokoe:valid" result="pass"/><test-case name="4667NISTSchema-SV-IV-atomic-string-pattern-4 tokoe:valid" result="pass"/><test-case name="4668NISTXML-SV-IV-atomic-string-pattern-4-1 tokoe:valid" result="pass"/><test-case name="4669NISTXML-SV-IV-atomic-string-pattern-4-2 tokoe:valid" result="pass"/><test-case name="4670NISTXML-SV-IV-atomic-string-pattern-4-3 tokoe:valid" result="pass"/><test-case name="4671NISTXML-SV-IV-atomic-string-pattern-4-4 tokoe:valid" result="pass"/><test-case name="4672NISTXML-SV-IV-atomic-string-pattern-4-5 tokoe:valid" result="pass"/><test-case name="4673NISTSchema-SV-IV-atomic-string-pattern-5 tokoe:valid" result="pass"/><test-case name="4674NISTXML-SV-IV-atomic-string-pattern-5-1 tokoe:valid" result="pass"/><test-case name="4675NISTXML-SV-IV-atomic-string-pattern-5-2 tokoe:valid" result="pass"/><test-case name="4676NISTXML-SV-IV-atomic-string-pattern-5-3 tokoe:valid" result="pass"/><test-case name="4677NISTXML-SV-IV-atomic-string-pattern-5-4 tokoe:valid" result="pass"/><test-case name="4678NISTXML-SV-IV-atomic-string-pattern-5-5 tokoe:valid" result="pass"/><test-case name="4679NISTSchema-SV-IV-atomic-string-enumeration-1 tokoe:valid" result="pass"/><test-case name="4680NISTXML-SV-IV-atomic-string-enumeration-1-1 tokoe:valid" result="pass"/><test-case name="4681NISTXML-SV-IV-atomic-string-enumeration-1-2 tokoe:valid" result="pass"/><test-case name="4682NISTXML-SV-IV-atomic-string-enumeration-1-3 tokoe:valid" result="pass"/><test-case name="4683NISTXML-SV-IV-atomic-string-enumeration-1-4 tokoe:valid" result="pass"/><test-case name="4684NISTXML-SV-IV-atomic-string-enumeration-1-5 tokoe:valid" result="pass"/><test-case name="4685NISTSchema-SV-IV-atomic-string-enumeration-2 tokoe:valid" result="pass"/><test-case name="4686NISTXML-SV-IV-atomic-string-enumeration-2-1 tokoe:valid" result="pass"/><test-case name="4687NISTXML-SV-IV-atomic-string-enumeration-2-2 tokoe:valid" result="pass"/><test-case name="4688NISTXML-SV-IV-atomic-string-enumeration-2-3 tokoe:valid" result="pass"/><test-case name="4689NISTXML-SV-IV-atomic-string-enumeration-2-4 tokoe:valid" result="pass"/><test-case name="4690NISTXML-SV-IV-atomic-string-enumeration-2-5 tokoe:valid" result="pass"/><test-case name="4691NISTSchema-SV-IV-atomic-string-enumeration-3 tokoe:valid" result="pass"/><test-case name="4692NISTXML-SV-IV-atomic-string-enumeration-3-1 tokoe:valid" result="pass"/><test-case name="4693NISTXML-SV-IV-atomic-string-enumeration-3-2 tokoe:valid" result="pass"/><test-case name="4694NISTXML-SV-IV-atomic-string-enumeration-3-3 tokoe:valid" result="pass"/><test-case name="4695NISTXML-SV-IV-atomic-string-enumeration-3-4 tokoe:valid" result="pass"/><test-case name="4696NISTXML-SV-IV-atomic-string-enumeration-3-5 tokoe:valid" result="pass"/><test-case name="4697NISTSchema-SV-IV-atomic-string-enumeration-4 tokoe:valid" result="pass"/><test-case name="4698NISTXML-SV-IV-atomic-string-enumeration-4-1 tokoe:valid" result="pass"/><test-case name="4699NISTXML-SV-IV-atomic-string-enumeration-4-2 tokoe:valid" result="pass"/><test-case name="4700NISTXML-SV-IV-atomic-string-enumeration-4-3 tokoe:valid" result="pass"/><test-case name="4701NISTXML-SV-IV-atomic-string-enumeration-4-4 tokoe:valid" result="pass"/><test-case name="4702NISTXML-SV-IV-atomic-string-enumeration-4-5 tokoe:valid" result="pass"/><test-case name="4703NISTSchema-SV-IV-atomic-string-enumeration-5 tokoe:valid" result="pass"/><test-case name="4704NISTXML-SV-IV-atomic-string-enumeration-5-1 tokoe:valid" result="pass"/><test-case name="4705NISTXML-SV-IV-atomic-string-enumeration-5-2 tokoe:valid" result="pass"/><test-case name="4706NISTXML-SV-IV-atomic-string-enumeration-5-3 tokoe:valid" result="pass"/><test-case name="4707NISTXML-SV-IV-atomic-string-enumeration-5-4 tokoe:valid" result="pass"/><test-case name="4708NISTXML-SV-IV-atomic-string-enumeration-5-5 tokoe:valid" result="pass"/><test-case name="4709NISTSchema-SV-IV-atomic-string-whiteSpace-1 tokoe:valid" result="pass"/><test-case name="4710NISTXML-SV-IV-atomic-string-whiteSpace-1-1 tokoe:valid" result="pass"/><test-case name="4711NISTXML-SV-IV-atomic-string-whiteSpace-1-2 tokoe:valid" result="pass"/><test-case name="4712NISTXML-SV-IV-atomic-string-whiteSpace-1-3 tokoe:valid" result="pass"/><test-case name="4713NISTXML-SV-IV-atomic-string-whiteSpace-1-4 tokoe:valid" result="pass"/><test-case name="4714NISTXML-SV-IV-atomic-string-whiteSpace-1-5 tokoe:valid" result="pass"/><test-case name="4715NISTSchema-SV-IV-atomic-string-whiteSpace-2 tokoe:valid" result="pass"/><test-case name="4716NISTXML-SV-IV-atomic-string-whiteSpace-2-1 tokoe:valid" result="pass"/><test-case name="4717NISTXML-SV-IV-atomic-string-whiteSpace-2-2 tokoe:valid" result="pass"/><test-case name="4718NISTXML-SV-IV-atomic-string-whiteSpace-2-3 tokoe:valid" result="pass"/><test-case name="4719NISTXML-SV-IV-atomic-string-whiteSpace-2-4 tokoe:valid" result="pass"/><test-case name="4720NISTXML-SV-IV-atomic-string-whiteSpace-2-5 tokoe:valid" result="pass"/><test-case name="4721NISTSchema-SV-IV-atomic-string-whiteSpace-3 tokoe:valid" result="pass"/><test-case name="4722NISTXML-SV-IV-atomic-string-whiteSpace-3-1 tokoe:valid" result="pass"/><test-case name="4723NISTXML-SV-IV-atomic-string-whiteSpace-3-2 tokoe:valid" result="pass"/><test-case name="4724NISTXML-SV-IV-atomic-string-whiteSpace-3-3 tokoe:valid" result="pass"/><test-case name="4725NISTXML-SV-IV-atomic-string-whiteSpace-3-4 tokoe:valid" result="pass"/><test-case name="4726NISTXML-SV-IV-atomic-string-whiteSpace-3-5 tokoe:valid" result="pass"/><test-case name="4727NISTSchema-SV-IV-atomic-normalizedString-maxLength-1 tokoe:valid" result="pass"/><test-case name="4728NISTXML-SV-IV-atomic-normalizedString-maxLength-1-1 tokoe:valid" result="pass"/><test-case name="4729NISTXML-SV-IV-atomic-normalizedString-maxLength-1-2 tokoe:valid" result="pass"/><test-case name="4730NISTXML-SV-IV-atomic-normalizedString-maxLength-1-3 tokoe:valid" result="pass"/><test-case name="4731NISTXML-SV-IV-atomic-normalizedString-maxLength-1-4 tokoe:valid" result="pass"/><test-case name="4732NISTXML-SV-IV-atomic-normalizedString-maxLength-1-5 tokoe:valid" result="pass"/><test-case name="4733NISTSchema-SV-IV-atomic-normalizedString-maxLength-2 tokoe:valid" result="pass"/><test-case name="4734NISTXML-SV-IV-atomic-normalizedString-maxLength-2-1 tokoe:valid" result="pass"/><test-case name="4735NISTXML-SV-IV-atomic-normalizedString-maxLength-2-2 tokoe:valid" result="pass"/><test-case name="4736NISTXML-SV-IV-atomic-normalizedString-maxLength-2-3 tokoe:valid" result="pass"/><test-case name="4737NISTXML-SV-IV-atomic-normalizedString-maxLength-2-4 tokoe:valid" result="pass"/><test-case name="4738NISTXML-SV-IV-atomic-normalizedString-maxLength-2-5 tokoe:valid" result="pass"/><test-case name="4739NISTSchema-SV-IV-atomic-normalizedString-maxLength-3 tokoe:valid" result="pass"/><test-case name="4740NISTXML-SV-IV-atomic-normalizedString-maxLength-3-1 tokoe:valid" result="pass"/><test-case name="4741NISTXML-SV-IV-atomic-normalizedString-maxLength-3-2 tokoe:valid" result="pass"/><test-case name="4742NISTXML-SV-IV-atomic-normalizedString-maxLength-3-3 tokoe:valid" result="pass"/><test-case name="4743NISTXML-SV-IV-atomic-normalizedString-maxLength-3-4 tokoe:valid" result="pass"/><test-case name="4744NISTXML-SV-IV-atomic-normalizedString-maxLength-3-5 tokoe:valid" result="pass"/><test-case name="4745NISTSchema-SV-IV-atomic-normalizedString-maxLength-4 tokoe:valid" result="pass"/><test-case name="4746NISTXML-SV-IV-atomic-normalizedString-maxLength-4-1 tokoe:valid" result="pass"/><test-case name="4747NISTXML-SV-IV-atomic-normalizedString-maxLength-4-2 tokoe:valid" result="pass"/><test-case name="4748NISTXML-SV-IV-atomic-normalizedString-maxLength-4-3 tokoe:valid" result="pass"/><test-case name="4749NISTXML-SV-IV-atomic-normalizedString-maxLength-4-4 tokoe:valid" result="pass"/><test-case name="4750NISTXML-SV-IV-atomic-normalizedString-maxLength-4-5 tokoe:valid" result="pass"/><test-case name="4751NISTSchema-SV-IV-atomic-normalizedString-maxLength-5 tokoe:valid" result="pass"/><test-case name="4752NISTXML-SV-IV-atomic-normalizedString-maxLength-5-1 tokoe:valid" result="pass"/><test-case name="4753NISTXML-SV-IV-atomic-normalizedString-maxLength-5-2 tokoe:valid" result="pass"/><test-case name="4754NISTXML-SV-IV-atomic-normalizedString-maxLength-5-3 tokoe:valid" result="pass"/><test-case name="4755NISTXML-SV-IV-atomic-normalizedString-maxLength-5-4 tokoe:valid" result="pass"/><test-case name="4756NISTXML-SV-IV-atomic-normalizedString-maxLength-5-5 tokoe:valid" result="pass"/><test-case name="4757NISTSchema-SV-IV-atomic-normalizedString-minLength-1 tokoe:valid" result="pass"/><test-case name="4758NISTXML-SV-IV-atomic-normalizedString-minLength-1-1 tokoe:valid" result="pass"/><test-case name="4759NISTXML-SV-IV-atomic-normalizedString-minLength-1-2 tokoe:valid" result="pass"/><test-case name="4760NISTXML-SV-IV-atomic-normalizedString-minLength-1-3 tokoe:valid" result="pass"/><test-case name="4761NISTXML-SV-IV-atomic-normalizedString-minLength-1-4 tokoe:valid" result="pass"/><test-case name="4762NISTXML-SV-IV-atomic-normalizedString-minLength-1-5 tokoe:valid" result="pass"/><test-case name="4763NISTSchema-SV-IV-atomic-normalizedString-minLength-2 tokoe:valid" result="pass"/><test-case name="4764NISTXML-SV-IV-atomic-normalizedString-minLength-2-1 tokoe:valid" result="pass"/><test-case name="4765NISTXML-SV-IV-atomic-normalizedString-minLength-2-2 tokoe:valid" result="pass"/><test-case name="4766NISTXML-SV-IV-atomic-normalizedString-minLength-2-3 tokoe:valid" result="pass"/><test-case name="4767NISTXML-SV-IV-atomic-normalizedString-minLength-2-4 tokoe:valid" result="pass"/><test-case name="4768NISTXML-SV-IV-atomic-normalizedString-minLength-2-5 tokoe:valid" result="pass"/><test-case name="4769NISTSchema-SV-IV-atomic-normalizedString-minLength-3 tokoe:valid" result="pass"/><test-case name="4770NISTXML-SV-IV-atomic-normalizedString-minLength-3-1 tokoe:valid" result="pass"/><test-case name="4771NISTXML-SV-IV-atomic-normalizedString-minLength-3-2 tokoe:valid" result="pass"/><test-case name="4772NISTXML-SV-IV-atomic-normalizedString-minLength-3-3 tokoe:valid" result="pass"/><test-case name="4773NISTXML-SV-IV-atomic-normalizedString-minLength-3-4 tokoe:valid" result="pass"/><test-case name="4774NISTXML-SV-IV-atomic-normalizedString-minLength-3-5 tokoe:valid" result="pass"/><test-case name="4775NISTSchema-SV-IV-atomic-normalizedString-minLength-4 tokoe:valid" result="pass"/><test-case name="4776NISTXML-SV-IV-atomic-normalizedString-minLength-4-1 tokoe:valid" result="pass"/><test-case name="4777NISTXML-SV-IV-atomic-normalizedString-minLength-4-2 tokoe:valid" result="pass"/><test-case name="4778NISTXML-SV-IV-atomic-normalizedString-minLength-4-3 tokoe:valid" result="pass"/><test-case name="4779NISTXML-SV-IV-atomic-normalizedString-minLength-4-4 tokoe:valid" result="pass"/><test-case name="4780NISTXML-SV-IV-atomic-normalizedString-minLength-4-5 tokoe:valid" result="pass"/><test-case name="4781NISTSchema-SV-IV-atomic-normalizedString-minLength-5 tokoe:valid" result="pass"/><test-case name="4782NISTXML-SV-IV-atomic-normalizedString-minLength-5-1 tokoe:valid" result="pass"/><test-case name="4783NISTXML-SV-IV-atomic-normalizedString-minLength-5-2 tokoe:valid" result="pass"/><test-case name="4784NISTXML-SV-IV-atomic-normalizedString-minLength-5-3 tokoe:valid" result="pass"/><test-case name="4785NISTXML-SV-IV-atomic-normalizedString-minLength-5-4 tokoe:valid" result="pass"/><test-case name="4786NISTXML-SV-IV-atomic-normalizedString-minLength-5-5 tokoe:valid" result="pass"/><test-case name="4787NISTSchema-SV-IV-atomic-normalizedString-length-1 tokoe:valid" result="pass"/><test-case name="4788NISTXML-SV-IV-atomic-normalizedString-length-1-1 tokoe:valid" result="pass"/><test-case name="4789NISTXML-SV-IV-atomic-normalizedString-length-1-2 tokoe:valid" result="pass"/><test-case name="4790NISTXML-SV-IV-atomic-normalizedString-length-1-3 tokoe:valid" result="pass"/><test-case name="4791NISTXML-SV-IV-atomic-normalizedString-length-1-4 tokoe:valid" result="pass"/><test-case name="4792NISTXML-SV-IV-atomic-normalizedString-length-1-5 tokoe:valid" result="pass"/><test-case name="4793NISTSchema-SV-IV-atomic-normalizedString-length-2 tokoe:valid" result="pass"/><test-case name="4794NISTXML-SV-IV-atomic-normalizedString-length-2-1 tokoe:valid" result="pass"/><test-case name="4795NISTXML-SV-IV-atomic-normalizedString-length-2-2 tokoe:valid" result="pass"/><test-case name="4796NISTXML-SV-IV-atomic-normalizedString-length-2-3 tokoe:valid" result="pass"/><test-case name="4797NISTXML-SV-IV-atomic-normalizedString-length-2-4 tokoe:valid" result="pass"/><test-case name="4798NISTXML-SV-IV-atomic-normalizedString-length-2-5 tokoe:valid" result="pass"/><test-case name="4799NISTSchema-SV-IV-atomic-normalizedString-length-3 tokoe:valid" result="pass"/><test-case name="4800NISTXML-SV-IV-atomic-normalizedString-length-3-1 tokoe:valid" result="pass"/><test-case name="4801NISTXML-SV-IV-atomic-normalizedString-length-3-2 tokoe:valid" result="pass"/><test-case name="4802NISTXML-SV-IV-atomic-normalizedString-length-3-3 tokoe:valid" result="pass"/><test-case name="4803NISTXML-SV-IV-atomic-normalizedString-length-3-4 tokoe:valid" result="pass"/><test-case name="4804NISTXML-SV-IV-atomic-normalizedString-length-3-5 tokoe:valid" result="pass"/><test-case name="4805NISTSchema-SV-IV-atomic-normalizedString-length-4 tokoe:valid" result="pass"/><test-case name="4806NISTXML-SV-IV-atomic-normalizedString-length-4-1 tokoe:valid" result="pass"/><test-case name="4807NISTXML-SV-IV-atomic-normalizedString-length-4-2 tokoe:valid" result="pass"/><test-case name="4808NISTXML-SV-IV-atomic-normalizedString-length-4-3 tokoe:valid" result="pass"/><test-case name="4809NISTXML-SV-IV-atomic-normalizedString-length-4-4 tokoe:valid" result="pass"/><test-case name="4810NISTXML-SV-IV-atomic-normalizedString-length-4-5 tokoe:valid" result="pass"/><test-case name="4811NISTSchema-SV-IV-atomic-normalizedString-length-5 tokoe:valid" result="pass"/><test-case name="4812NISTXML-SV-IV-atomic-normalizedString-length-5-1 tokoe:valid" result="pass"/><test-case name="4813NISTXML-SV-IV-atomic-normalizedString-length-5-2 tokoe:valid" result="pass"/><test-case name="4814NISTXML-SV-IV-atomic-normalizedString-length-5-3 tokoe:valid" result="pass"/><test-case name="4815NISTXML-SV-IV-atomic-normalizedString-length-5-4 tokoe:valid" result="pass"/><test-case name="4816NISTXML-SV-IV-atomic-normalizedString-length-5-5 tokoe:valid" result="pass"/><test-case name="4817NISTSchema-SV-IV-atomic-normalizedString-pattern-1 tokoe:valid" result="pass"/><test-case name="4818NISTXML-SV-IV-atomic-normalizedString-pattern-1-1 tokoe:valid" result="pass"/><test-case name="4819NISTXML-SV-IV-atomic-normalizedString-pattern-1-2 tokoe:valid" result="pass"/><test-case name="4820NISTXML-SV-IV-atomic-normalizedString-pattern-1-3 tokoe:valid" result="pass"/><test-case name="4821NISTXML-SV-IV-atomic-normalizedString-pattern-1-4 tokoe:valid" result="pass"/><test-case name="4822NISTXML-SV-IV-atomic-normalizedString-pattern-1-5 tokoe:valid" result="pass"/><test-case name="4823NISTSchema-SV-IV-atomic-normalizedString-pattern-2 tokoe:valid" result="pass"/><test-case name="4824NISTXML-SV-IV-atomic-normalizedString-pattern-2-1 tokoe:valid" result="pass"/><test-case name="4825NISTXML-SV-IV-atomic-normalizedString-pattern-2-2 tokoe:valid" result="pass"/><test-case name="4826NISTXML-SV-IV-atomic-normalizedString-pattern-2-3 tokoe:valid" result="pass"/><test-case name="4827NISTXML-SV-IV-atomic-normalizedString-pattern-2-4 tokoe:valid" result="pass"/><test-case name="4828NISTXML-SV-IV-atomic-normalizedString-pattern-2-5 tokoe:valid" result="pass"/><test-case name="4829NISTSchema-SV-IV-atomic-normalizedString-pattern-3 tokoe:valid" result="pass"/><test-case name="4830NISTXML-SV-IV-atomic-normalizedString-pattern-3-1 tokoe:valid" result="pass"/><test-case name="4831NISTXML-SV-IV-atomic-normalizedString-pattern-3-2 tokoe:valid" result="pass"/><test-case name="4832NISTXML-SV-IV-atomic-normalizedString-pattern-3-3 tokoe:valid" result="pass"/><test-case name="4833NISTXML-SV-IV-atomic-normalizedString-pattern-3-4 tokoe:valid" result="pass"/><test-case name="4834NISTXML-SV-IV-atomic-normalizedString-pattern-3-5 tokoe:valid" result="pass"/><test-case name="4835NISTSchema-SV-IV-atomic-normalizedString-pattern-4 tokoe:valid" result="pass"/><test-case name="4836NISTXML-SV-IV-atomic-normalizedString-pattern-4-1 tokoe:valid" result="pass"/><test-case name="4837NISTXML-SV-IV-atomic-normalizedString-pattern-4-2 tokoe:valid" result="pass"/><test-case name="4838NISTXML-SV-IV-atomic-normalizedString-pattern-4-3 tokoe:valid" result="pass"/><test-case name="4839NISTXML-SV-IV-atomic-normalizedString-pattern-4-4 tokoe:valid" result="pass"/><test-case name="4840NISTXML-SV-IV-atomic-normalizedString-pattern-4-5 tokoe:valid" result="pass"/><test-case name="4841NISTSchema-SV-IV-atomic-normalizedString-pattern-5 tokoe:valid" result="pass"/><test-case name="4842NISTXML-SV-IV-atomic-normalizedString-pattern-5-1 tokoe:valid" result="pass"/><test-case name="4843NISTXML-SV-IV-atomic-normalizedString-pattern-5-2 tokoe:valid" result="pass"/><test-case name="4844NISTXML-SV-IV-atomic-normalizedString-pattern-5-3 tokoe:valid" result="pass"/><test-case name="4845NISTXML-SV-IV-atomic-normalizedString-pattern-5-4 tokoe:valid" result="pass"/><test-case name="4846NISTXML-SV-IV-atomic-normalizedString-pattern-5-5 tokoe:valid" result="pass"/><test-case name="4847NISTSchema-SV-IV-atomic-normalizedString-enumeration-1 tokoe:valid" result="pass"/><test-case name="4848NISTXML-SV-IV-atomic-normalizedString-enumeration-1-1 tokoe:valid" result="pass"/><test-case name="4849NISTXML-SV-IV-atomic-normalizedString-enumeration-1-2 tokoe:valid" result="pass"/><test-case name="4850NISTXML-SV-IV-atomic-normalizedString-enumeration-1-3 tokoe:valid" result="pass"/><test-case name="4851NISTXML-SV-IV-atomic-normalizedString-enumeration-1-4 tokoe:valid" result="pass"/><test-case name="4852NISTXML-SV-IV-atomic-normalizedString-enumeration-1-5 tokoe:valid" result="pass"/><test-case name="4853NISTSchema-SV-IV-atomic-normalizedString-enumeration-2 tokoe:valid" result="pass"/><test-case name="4854NISTXML-SV-IV-atomic-normalizedString-enumeration-2-1 tokoe:valid" result="pass"/><test-case name="4855NISTXML-SV-IV-atomic-normalizedString-enumeration-2-2 tokoe:valid" result="pass"/><test-case name="4856NISTXML-SV-IV-atomic-normalizedString-enumeration-2-3 tokoe:valid" result="pass"/><test-case name="4857NISTXML-SV-IV-atomic-normalizedString-enumeration-2-4 tokoe:valid" result="pass"/><test-case name="4858NISTXML-SV-IV-atomic-normalizedString-enumeration-2-5 tokoe:valid" result="pass"/><test-case name="4859NISTSchema-SV-IV-atomic-normalizedString-enumeration-3 tokoe:valid" result="pass"/><test-case name="4860NISTXML-SV-IV-atomic-normalizedString-enumeration-3-1 tokoe:valid" result="pass"/><test-case name="4861NISTXML-SV-IV-atomic-normalizedString-enumeration-3-2 tokoe:valid" result="pass"/><test-case name="4862NISTXML-SV-IV-atomic-normalizedString-enumeration-3-3 tokoe:valid" result="pass"/><test-case name="4863NISTXML-SV-IV-atomic-normalizedString-enumeration-3-4 tokoe:valid" result="pass"/><test-case name="4864NISTXML-SV-IV-atomic-normalizedString-enumeration-3-5 tokoe:valid" result="pass"/><test-case name="4865NISTSchema-SV-IV-atomic-normalizedString-enumeration-4 tokoe:valid" result="pass"/><test-case name="4866NISTXML-SV-IV-atomic-normalizedString-enumeration-4-1 tokoe:valid" result="pass"/><test-case name="4867NISTXML-SV-IV-atomic-normalizedString-enumeration-4-2 tokoe:valid" result="pass"/><test-case name="4868NISTXML-SV-IV-atomic-normalizedString-enumeration-4-3 tokoe:valid" result="pass"/><test-case name="4869NISTXML-SV-IV-atomic-normalizedString-enumeration-4-4 tokoe:valid" result="pass"/><test-case name="4870NISTXML-SV-IV-atomic-normalizedString-enumeration-4-5 tokoe:valid" result="pass"/><test-case name="4871NISTSchema-SV-IV-atomic-normalizedString-enumeration-5 tokoe:valid" result="pass"/><test-case name="4872NISTXML-SV-IV-atomic-normalizedString-enumeration-5-1 tokoe:valid" result="pass"/><test-case name="4873NISTXML-SV-IV-atomic-normalizedString-enumeration-5-2 tokoe:valid" result="pass"/><test-case name="4874NISTXML-SV-IV-atomic-normalizedString-enumeration-5-3 tokoe:valid" result="pass"/><test-case name="4875NISTXML-SV-IV-atomic-normalizedString-enumeration-5-4 tokoe:valid" result="pass"/><test-case name="4876NISTXML-SV-IV-atomic-normalizedString-enumeration-5-5 tokoe:valid" result="pass"/><test-case name="4877NISTSchema-SV-IV-atomic-normalizedString-whiteSpace-1 tokoe:valid" result="pass"/><test-case name="4878NISTXML-SV-IV-atomic-normalizedString-whiteSpace-1-1 tokoe:valid" result="pass"/><test-case name="4879NISTXML-SV-IV-atomic-normalizedString-whiteSpace-1-2 tokoe:valid" result="pass"/><test-case name="4880NISTXML-SV-IV-atomic-normalizedString-whiteSpace-1-3 tokoe:valid" result="pass"/><test-case name="4881NISTXML-SV-IV-atomic-normalizedString-whiteSpace-1-4 tokoe:valid" result="pass"/><test-case name="4882NISTXML-SV-IV-atomic-normalizedString-whiteSpace-1-5 tokoe:valid" result="pass"/><test-case name="4883NISTSchema-SV-IV-atomic-normalizedString-whiteSpace-2 tokoe:valid" result="pass"/><test-case name="4884NISTXML-SV-IV-atomic-normalizedString-whiteSpace-2-1 tokoe:valid" result="pass"/><test-case name="4885NISTXML-SV-IV-atomic-normalizedString-whiteSpace-2-2 tokoe:valid" result="pass"/><test-case name="4886NISTXML-SV-IV-atomic-normalizedString-whiteSpace-2-3 tokoe:valid" result="pass"/><test-case name="4887NISTXML-SV-IV-atomic-normalizedString-whiteSpace-2-4 tokoe:valid" result="pass"/><test-case name="4888NISTXML-SV-IV-atomic-normalizedString-whiteSpace-2-5 tokoe:valid" result="pass"/><test-case name="4889NISTSchema-SV-IV-atomic-token-maxLength-1 tokoe:valid" result="pass"/><test-case name="4890NISTXML-SV-IV-atomic-token-maxLength-1-1 tokoe:valid" result="pass"/><test-case name="4891NISTXML-SV-IV-atomic-token-maxLength-1-2 tokoe:valid" result="pass"/><test-case name="4892NISTXML-SV-IV-atomic-token-maxLength-1-3 tokoe:valid" result="pass"/><test-case name="4893NISTXML-SV-IV-atomic-token-maxLength-1-4 tokoe:valid" result="pass"/><test-case name="4894NISTXML-SV-IV-atomic-token-maxLength-1-5 tokoe:valid" result="pass"/><test-case name="4895NISTSchema-SV-IV-atomic-token-maxLength-2 tokoe:valid" result="pass"/><test-case name="4896NISTXML-SV-IV-atomic-token-maxLength-2-1 tokoe:valid" result="pass"/><test-case name="4897NISTXML-SV-IV-atomic-token-maxLength-2-2 tokoe:valid" result="pass"/><test-case name="4898NISTXML-SV-IV-atomic-token-maxLength-2-3 tokoe:valid" result="pass"/><test-case name="4899NISTXML-SV-IV-atomic-token-maxLength-2-4 tokoe:valid" result="pass"/><test-case name="4900NISTXML-SV-IV-atomic-token-maxLength-2-5 tokoe:valid" result="pass"/><test-case name="4901NISTSchema-SV-IV-atomic-token-maxLength-3 tokoe:valid" result="pass"/><test-case name="4902NISTXML-SV-IV-atomic-token-maxLength-3-1 tokoe:valid" result="pass"/><test-case name="4903NISTXML-SV-IV-atomic-token-maxLength-3-2 tokoe:valid" result="pass"/><test-case name="4904NISTXML-SV-IV-atomic-token-maxLength-3-3 tokoe:valid" result="pass"/><test-case name="4905NISTXML-SV-IV-atomic-token-maxLength-3-4 tokoe:valid" result="pass"/><test-case name="4906NISTXML-SV-IV-atomic-token-maxLength-3-5 tokoe:valid" result="pass"/><test-case name="4907NISTSchema-SV-IV-atomic-token-maxLength-4 tokoe:valid" result="pass"/><test-case name="4908NISTXML-SV-IV-atomic-token-maxLength-4-1 tokoe:valid" result="pass"/><test-case name="4909NISTXML-SV-IV-atomic-token-maxLength-4-2 tokoe:valid" result="pass"/><test-case name="4910NISTXML-SV-IV-atomic-token-maxLength-4-3 tokoe:valid" result="pass"/><test-case name="4911NISTXML-SV-IV-atomic-token-maxLength-4-4 tokoe:valid" result="pass"/><test-case name="4912NISTXML-SV-IV-atomic-token-maxLength-4-5 tokoe:valid" result="pass"/><test-case name="4913NISTSchema-SV-IV-atomic-token-maxLength-5 tokoe:valid" result="pass"/><test-case name="4914NISTXML-SV-IV-atomic-token-maxLength-5-1 tokoe:valid" result="pass"/><test-case name="4915NISTXML-SV-IV-atomic-token-maxLength-5-2 tokoe:valid" result="pass"/><test-case name="4916NISTXML-SV-IV-atomic-token-maxLength-5-3 tokoe:valid" result="pass"/><test-case name="4917NISTXML-SV-IV-atomic-token-maxLength-5-4 tokoe:valid" result="pass"/><test-case name="4918NISTXML-SV-IV-atomic-token-maxLength-5-5 tokoe:valid" result="pass"/><test-case name="4919NISTSchema-SV-IV-atomic-token-minLength-1 tokoe:valid" result="pass"/><test-case name="4920NISTXML-SV-IV-atomic-token-minLength-1-1 tokoe:valid" result="pass"/><test-case name="4921NISTXML-SV-IV-atomic-token-minLength-1-2 tokoe:valid" result="pass"/><test-case name="4922NISTXML-SV-IV-atomic-token-minLength-1-3 tokoe:valid" result="pass"/><test-case name="4923NISTXML-SV-IV-atomic-token-minLength-1-4 tokoe:valid" result="pass"/><test-case name="4924NISTXML-SV-IV-atomic-token-minLength-1-5 tokoe:valid" result="pass"/><test-case name="4925NISTSchema-SV-IV-atomic-token-minLength-2 tokoe:valid" result="pass"/><test-case name="4926NISTXML-SV-IV-atomic-token-minLength-2-1 tokoe:valid" result="pass"/><test-case name="4927NISTXML-SV-IV-atomic-token-minLength-2-2 tokoe:valid" result="pass"/><test-case name="4928NISTXML-SV-IV-atomic-token-minLength-2-3 tokoe:valid" result="pass"/><test-case name="4929NISTXML-SV-IV-atomic-token-minLength-2-4 tokoe:valid" result="pass"/><test-case name="4930NISTXML-SV-IV-atomic-token-minLength-2-5 tokoe:valid" result="pass"/><test-case name="4931NISTSchema-SV-IV-atomic-token-minLength-3 tokoe:valid" result="pass"/><test-case name="4932NISTXML-SV-IV-atomic-token-minLength-3-1 tokoe:valid" result="pass"/><test-case name="4933NISTXML-SV-IV-atomic-token-minLength-3-2 tokoe:valid" result="pass"/><test-case name="4934NISTXML-SV-IV-atomic-token-minLength-3-3 tokoe:valid" result="pass"/><test-case name="4935NISTXML-SV-IV-atomic-token-minLength-3-4 tokoe:valid" result="pass"/><test-case name="4936NISTXML-SV-IV-atomic-token-minLength-3-5 tokoe:valid" result="pass"/><test-case name="4937NISTSchema-SV-IV-atomic-token-minLength-4 tokoe:valid" result="pass"/><test-case name="4938NISTXML-SV-IV-atomic-token-minLength-4-1 tokoe:valid" result="pass"/><test-case name="4939NISTXML-SV-IV-atomic-token-minLength-4-2 tokoe:valid" result="pass"/><test-case name="4940NISTXML-SV-IV-atomic-token-minLength-4-3 tokoe:valid" result="pass"/><test-case name="4941NISTXML-SV-IV-atomic-token-minLength-4-4 tokoe:valid" result="pass"/><test-case name="4942NISTXML-SV-IV-atomic-token-minLength-4-5 tokoe:valid" result="pass"/><test-case name="4943NISTSchema-SV-IV-atomic-token-minLength-5 tokoe:valid" result="pass"/><test-case name="4944NISTXML-SV-IV-atomic-token-minLength-5-1 tokoe:valid" result="pass"/><test-case name="4945NISTXML-SV-IV-atomic-token-minLength-5-2 tokoe:valid" result="pass"/><test-case name="4946NISTXML-SV-IV-atomic-token-minLength-5-3 tokoe:valid" result="pass"/><test-case name="4947NISTXML-SV-IV-atomic-token-minLength-5-4 tokoe:valid" result="pass"/><test-case name="4948NISTXML-SV-IV-atomic-token-minLength-5-5 tokoe:valid" result="pass"/><test-case name="4949NISTSchema-SV-IV-atomic-token-length-1 tokoe:valid" result="pass"/><test-case name="4950NISTXML-SV-IV-atomic-token-length-1-1 tokoe:valid" result="pass"/><test-case name="4951NISTXML-SV-IV-atomic-token-length-1-2 tokoe:valid" result="pass"/><test-case name="4952NISTXML-SV-IV-atomic-token-length-1-3 tokoe:valid" result="pass"/><test-case name="4953NISTXML-SV-IV-atomic-token-length-1-4 tokoe:valid" result="pass"/><test-case name="4954NISTXML-SV-IV-atomic-token-length-1-5 tokoe:valid" result="pass"/><test-case name="4955NISTSchema-SV-IV-atomic-token-length-2 tokoe:valid" result="pass"/><test-case name="4956NISTXML-SV-IV-atomic-token-length-2-1 tokoe:valid" result="pass"/><test-case name="4957NISTXML-SV-IV-atomic-token-length-2-2 tokoe:valid" result="pass"/><test-case name="4958NISTXML-SV-IV-atomic-token-length-2-3 tokoe:valid" result="pass"/><test-case name="4959NISTXML-SV-IV-atomic-token-length-2-4 tokoe:valid" result="pass"/><test-case name="4960NISTXML-SV-IV-atomic-token-length-2-5 tokoe:valid" result="pass"/><test-case name="4961NISTSchema-SV-IV-atomic-token-length-3 tokoe:valid" result="pass"/><test-case name="4962NISTXML-SV-IV-atomic-token-length-3-1 tokoe:valid" result="pass"/><test-case name="4963NISTXML-SV-IV-atomic-token-length-3-2 tokoe:valid" result="pass"/><test-case name="4964NISTXML-SV-IV-atomic-token-length-3-3 tokoe:valid" result="pass"/><test-case name="4965NISTXML-SV-IV-atomic-token-length-3-4 tokoe:valid" result="pass"/><test-case name="4966NISTXML-SV-IV-atomic-token-length-3-5 tokoe:valid" result="pass"/><test-case name="4967NISTSchema-SV-IV-atomic-token-length-4 tokoe:valid" result="pass"/><test-case name="4968NISTXML-SV-IV-atomic-token-length-4-1 tokoe:valid" result="pass"/><test-case name="4969NISTXML-SV-IV-atomic-token-length-4-2 tokoe:valid" result="pass"/><test-case name="4970NISTXML-SV-IV-atomic-token-length-4-3 tokoe:valid" result="pass"/><test-case name="4971NISTXML-SV-IV-atomic-token-length-4-4 tokoe:valid" result="pass"/><test-case name="4972NISTXML-SV-IV-atomic-token-length-4-5 tokoe:valid" result="pass"/><test-case name="4973NISTSchema-SV-IV-atomic-token-length-5 tokoe:valid" result="pass"/><test-case name="4974NISTXML-SV-IV-atomic-token-length-5-1 tokoe:valid" result="pass"/><test-case name="4975NISTXML-SV-IV-atomic-token-length-5-2 tokoe:valid" result="pass"/><test-case name="4976NISTXML-SV-IV-atomic-token-length-5-3 tokoe:valid" result="pass"/><test-case name="4977NISTXML-SV-IV-atomic-token-length-5-4 tokoe:valid" result="pass"/><test-case name="4978NISTXML-SV-IV-atomic-token-length-5-5 tokoe:valid" result="pass"/><test-case name="4979NISTSchema-SV-IV-atomic-token-pattern-1 tokoe:valid" result="pass"/><test-case name="4980NISTXML-SV-IV-atomic-token-pattern-1-1 tokoe:valid" result="pass"/><test-case name="4981NISTXML-SV-IV-atomic-token-pattern-1-2 tokoe:valid" result="pass"/><test-case name="4982NISTXML-SV-IV-atomic-token-pattern-1-3 tokoe:valid" result="pass"/><test-case name="4983NISTXML-SV-IV-atomic-token-pattern-1-4 tokoe:valid" result="pass"/><test-case name="4984NISTXML-SV-IV-atomic-token-pattern-1-5 tokoe:valid" result="pass"/><test-case name="4985NISTSchema-SV-IV-atomic-token-pattern-2 tokoe:valid" result="pass"/><test-case name="4986NISTXML-SV-IV-atomic-token-pattern-2-1 tokoe:valid" result="pass"/><test-case name="4987NISTXML-SV-IV-atomic-token-pattern-2-2 tokoe:valid" result="pass"/><test-case name="4988NISTXML-SV-IV-atomic-token-pattern-2-3 tokoe:valid" result="pass"/><test-case name="4989NISTXML-SV-IV-atomic-token-pattern-2-4 tokoe:valid" result="pass"/><test-case name="4990NISTXML-SV-IV-atomic-token-pattern-2-5 tokoe:valid" result="pass"/><test-case name="4991NISTSchema-SV-IV-atomic-token-pattern-3 tokoe:valid" result="pass"/><test-case name="4992NISTXML-SV-IV-atomic-token-pattern-3-1 tokoe:valid" result="pass"/><test-case name="4993NISTXML-SV-IV-atomic-token-pattern-3-2 tokoe:valid" result="pass"/><test-case name="4994NISTXML-SV-IV-atomic-token-pattern-3-3 tokoe:valid" result="pass"/><test-case name="4995NISTXML-SV-IV-atomic-token-pattern-3-4 tokoe:valid" result="pass"/><test-case name="4996NISTXML-SV-IV-atomic-token-pattern-3-5 tokoe:valid" result="pass"/><test-case name="4997NISTSchema-SV-IV-atomic-token-pattern-4 tokoe:valid" result="pass"/><test-case name="4998NISTXML-SV-IV-atomic-token-pattern-4-1 tokoe:valid" result="pass"/><test-case name="4999NISTXML-SV-IV-atomic-token-pattern-4-2 tokoe:valid" result="pass"/><test-case name="5000NISTXML-SV-IV-atomic-token-pattern-4-3 tokoe:valid" result="pass"/><test-case name="5001NISTXML-SV-IV-atomic-token-pattern-4-4 tokoe:valid" result="pass"/><test-case name="5002NISTXML-SV-IV-atomic-token-pattern-4-5 tokoe:valid" result="pass"/><test-case name="5003NISTSchema-SV-IV-atomic-token-pattern-5 tokoe:valid" result="pass"/><test-case name="5004NISTXML-SV-IV-atomic-token-pattern-5-1 tokoe:valid" result="pass"/><test-case name="5005NISTXML-SV-IV-atomic-token-pattern-5-2 tokoe:valid" result="pass"/><test-case name="5006NISTXML-SV-IV-atomic-token-pattern-5-3 tokoe:valid" result="pass"/><test-case name="5007NISTXML-SV-IV-atomic-token-pattern-5-4 tokoe:valid" result="pass"/><test-case name="5008NISTXML-SV-IV-atomic-token-pattern-5-5 tokoe:valid" result="pass"/><test-case name="5009NISTSchema-SV-IV-atomic-token-enumeration-1 tokoe:valid" result="pass"/><test-case name="5010NISTXML-SV-IV-atomic-token-enumeration-1-1 tokoe:valid" result="pass"/><test-case name="5011NISTXML-SV-IV-atomic-token-enumeration-1-2 tokoe:valid" result="pass"/><test-case name="5012NISTXML-SV-IV-atomic-token-enumeration-1-3 tokoe:valid" result="pass"/><test-case name="5013NISTXML-SV-IV-atomic-token-enumeration-1-4 tokoe:valid" result="pass"/><test-case name="5014NISTXML-SV-IV-atomic-token-enumeration-1-5 tokoe:valid" result="pass"/><test-case name="5015NISTSchema-SV-IV-atomic-token-enumeration-2 tokoe:valid" result="pass"/><test-case name="5016NISTXML-SV-IV-atomic-token-enumeration-2-1 tokoe:valid" result="pass"/><test-case name="5017NISTXML-SV-IV-atomic-token-enumeration-2-2 tokoe:valid" result="pass"/><test-case name="5018NISTXML-SV-IV-atomic-token-enumeration-2-3 tokoe:valid" result="pass"/><test-case name="5019NISTXML-SV-IV-atomic-token-enumeration-2-4 tokoe:valid" result="pass"/><test-case name="5020NISTXML-SV-IV-atomic-token-enumeration-2-5 tokoe:valid" result="pass"/><test-case name="5021NISTSchema-SV-IV-atomic-token-enumeration-3 tokoe:valid" result="pass"/><test-case name="5022NISTXML-SV-IV-atomic-token-enumeration-3-1 tokoe:valid" result="pass"/><test-case name="5023NISTXML-SV-IV-atomic-token-enumeration-3-2 tokoe:valid" result="pass"/><test-case name="5024NISTXML-SV-IV-atomic-token-enumeration-3-3 tokoe:valid" result="pass"/><test-case name="5025NISTXML-SV-IV-atomic-token-enumeration-3-4 tokoe:valid" result="pass"/><test-case name="5026NISTXML-SV-IV-atomic-token-enumeration-3-5 tokoe:valid" result="pass"/><test-case name="5027NISTSchema-SV-IV-atomic-token-enumeration-4 tokoe:valid" result="pass"/><test-case name="5028NISTXML-SV-IV-atomic-token-enumeration-4-1 tokoe:valid" result="pass"/><test-case name="5029NISTXML-SV-IV-atomic-token-enumeration-4-2 tokoe:valid" result="pass"/><test-case name="5030NISTXML-SV-IV-atomic-token-enumeration-4-3 tokoe:valid" result="pass"/><test-case name="5031NISTXML-SV-IV-atomic-token-enumeration-4-4 tokoe:valid" result="pass"/><test-case name="5032NISTXML-SV-IV-atomic-token-enumeration-4-5 tokoe:valid" result="pass"/><test-case name="5033NISTSchema-SV-IV-atomic-token-enumeration-5 tokoe:valid" result="pass"/><test-case name="5034NISTXML-SV-IV-atomic-token-enumeration-5-1 tokoe:valid" result="pass"/><test-case name="5035NISTXML-SV-IV-atomic-token-enumeration-5-2 tokoe:valid" result="pass"/><test-case name="5036NISTXML-SV-IV-atomic-token-enumeration-5-3 tokoe:valid" result="pass"/><test-case name="5037NISTXML-SV-IV-atomic-token-enumeration-5-4 tokoe:valid" result="pass"/><test-case name="5038NISTXML-SV-IV-atomic-token-enumeration-5-5 tokoe:valid" result="pass"/><test-case name="5039NISTSchema-SV-IV-atomic-token-whiteSpace-1 tokoe:valid" result="pass"/><test-case name="5040NISTXML-SV-IV-atomic-token-whiteSpace-1-1 tokoe:valid" result="pass"/><test-case name="5041NISTXML-SV-IV-atomic-token-whiteSpace-1-2 tokoe:valid" result="pass"/><test-case name="5042NISTXML-SV-IV-atomic-token-whiteSpace-1-3 tokoe:valid" result="pass"/><test-case name="5043NISTXML-SV-IV-atomic-token-whiteSpace-1-4 tokoe:valid" result="pass"/><test-case name="5044NISTXML-SV-IV-atomic-token-whiteSpace-1-5 tokoe:valid" result="pass"/><test-case name="5045NISTSchema-SV-IV-atomic-Name-maxLength-1 tokoe:valid" result="pass"/><test-case name="5046NISTXML-SV-IV-atomic-Name-maxLength-1-1 tokoe:valid" result="pass"/><test-case name="5047NISTXML-SV-IV-atomic-Name-maxLength-1-2 tokoe:valid" result="pass"/><test-case name="5048NISTXML-SV-IV-atomic-Name-maxLength-1-3 tokoe:valid" result="pass"/><test-case name="5049NISTXML-SV-IV-atomic-Name-maxLength-1-4 tokoe:valid" result="pass"/><test-case name="5050NISTXML-SV-IV-atomic-Name-maxLength-1-5 tokoe:valid" result="pass"/><test-case name="5051NISTSchema-SV-IV-atomic-Name-maxLength-2 tokoe:valid" result="pass"/><test-case name="5052NISTXML-SV-IV-atomic-Name-maxLength-2-1 tokoe:valid" result="pass"/><test-case name="5053NISTXML-SV-IV-atomic-Name-maxLength-2-2 tokoe:valid" result="pass"/><test-case name="5054NISTXML-SV-IV-atomic-Name-maxLength-2-3 tokoe:valid" result="pass"/><test-case name="5055NISTXML-SV-IV-atomic-Name-maxLength-2-4 tokoe:valid" result="pass"/><test-case name="5056NISTXML-SV-IV-atomic-Name-maxLength-2-5 tokoe:valid" result="pass"/><test-case name="5057NISTSchema-SV-IV-atomic-Name-maxLength-3 tokoe:valid" result="pass"/><test-case name="5058NISTXML-SV-IV-atomic-Name-maxLength-3-1 tokoe:valid" result="pass"/><test-case name="5059NISTXML-SV-IV-atomic-Name-maxLength-3-2 tokoe:valid" result="pass"/><test-case name="5060NISTXML-SV-IV-atomic-Name-maxLength-3-3 tokoe:valid" result="pass"/><test-case name="5061NISTXML-SV-IV-atomic-Name-maxLength-3-4 tokoe:valid" result="pass"/><test-case name="5062NISTXML-SV-IV-atomic-Name-maxLength-3-5 tokoe:valid" result="pass"/><test-case name="5063NISTSchema-SV-IV-atomic-Name-maxLength-4 tokoe:valid" result="pass"/><test-case name="5064NISTXML-SV-IV-atomic-Name-maxLength-4-1 tokoe:valid" result="pass"/><test-case name="5065NISTXML-SV-IV-atomic-Name-maxLength-4-2 tokoe:valid" result="pass"/><test-case name="5066NISTXML-SV-IV-atomic-Name-maxLength-4-3 tokoe:valid" result="pass"/><test-case name="5067NISTXML-SV-IV-atomic-Name-maxLength-4-4 tokoe:valid" result="pass"/><test-case name="5068NISTXML-SV-IV-atomic-Name-maxLength-4-5 tokoe:valid" result="pass"/><test-case name="5069NISTSchema-SV-IV-atomic-Name-maxLength-5 tokoe:valid" result="pass"/><test-case name="5070NISTXML-SV-IV-atomic-Name-maxLength-5-1 tokoe:valid" result="pass"/><test-case name="5071NISTXML-SV-IV-atomic-Name-maxLength-5-2 tokoe:valid" result="pass"/><test-case name="5072NISTXML-SV-IV-atomic-Name-maxLength-5-3 tokoe:valid" result="pass"/><test-case name="5073NISTXML-SV-IV-atomic-Name-maxLength-5-4 tokoe:valid" result="pass"/><test-case name="5074NISTXML-SV-IV-atomic-Name-maxLength-5-5 tokoe:valid" result="pass"/><test-case name="5075NISTSchema-SV-IV-atomic-Name-minLength-1 tokoe:valid" result="pass"/><test-case name="5076NISTXML-SV-IV-atomic-Name-minLength-1-1 tokoe:valid" result="pass"/><test-case name="5077NISTXML-SV-IV-atomic-Name-minLength-1-2 tokoe:valid" result="pass"/><test-case name="5078NISTXML-SV-IV-atomic-Name-minLength-1-3 tokoe:valid" result="pass"/><test-case name="5079NISTXML-SV-IV-atomic-Name-minLength-1-4 tokoe:valid" result="pass"/><test-case name="5080NISTXML-SV-IV-atomic-Name-minLength-1-5 tokoe:valid" result="pass"/><test-case name="5081NISTSchema-SV-IV-atomic-Name-minLength-2 tokoe:valid" result="pass"/><test-case name="5082NISTXML-SV-IV-atomic-Name-minLength-2-1 tokoe:valid" result="pass"/><test-case name="5083NISTXML-SV-IV-atomic-Name-minLength-2-2 tokoe:valid" result="pass"/><test-case name="5084NISTXML-SV-IV-atomic-Name-minLength-2-3 tokoe:valid" result="pass"/><test-case name="5085NISTXML-SV-IV-atomic-Name-minLength-2-4 tokoe:valid" result="pass"/><test-case name="5086NISTXML-SV-IV-atomic-Name-minLength-2-5 tokoe:valid" result="pass"/><test-case name="5087NISTSchema-SV-IV-atomic-Name-minLength-3 tokoe:valid" result="pass"/><test-case name="5088NISTXML-SV-IV-atomic-Name-minLength-3-1 tokoe:valid" result="pass"/><test-case name="5089NISTXML-SV-IV-atomic-Name-minLength-3-2 tokoe:valid" result="pass"/><test-case name="5090NISTXML-SV-IV-atomic-Name-minLength-3-3 tokoe:valid" result="pass"/><test-case name="5091NISTXML-SV-IV-atomic-Name-minLength-3-4 tokoe:valid" result="pass"/><test-case name="5092NISTXML-SV-IV-atomic-Name-minLength-3-5 tokoe:valid" result="pass"/><test-case name="5093NISTSchema-SV-IV-atomic-Name-minLength-4 tokoe:valid" result="pass"/><test-case name="5094NISTXML-SV-IV-atomic-Name-minLength-4-1 tokoe:valid" result="pass"/><test-case name="5095NISTXML-SV-IV-atomic-Name-minLength-4-2 tokoe:valid" result="pass"/><test-case name="5096NISTXML-SV-IV-atomic-Name-minLength-4-3 tokoe:valid" result="pass"/><test-case name="5097NISTXML-SV-IV-atomic-Name-minLength-4-4 tokoe:valid" result="pass"/><test-case name="5098NISTXML-SV-IV-atomic-Name-minLength-4-5 tokoe:valid" result="pass"/><test-case name="5099NISTSchema-SV-IV-atomic-Name-minLength-5 tokoe:valid" result="pass"/><test-case name="5100NISTXML-SV-IV-atomic-Name-minLength-5-1 tokoe:valid" result="pass"/><test-case name="5101NISTXML-SV-IV-atomic-Name-minLength-5-2 tokoe:valid" result="pass"/><test-case name="5102NISTXML-SV-IV-atomic-Name-minLength-5-3 tokoe:valid" result="pass"/><test-case name="5103NISTXML-SV-IV-atomic-Name-minLength-5-4 tokoe:valid" result="pass"/><test-case name="5104NISTXML-SV-IV-atomic-Name-minLength-5-5 tokoe:valid" result="pass"/><test-case name="5105NISTSchema-SV-IV-atomic-Name-length-1 tokoe:valid" result="pass"/><test-case name="5106NISTXML-SV-IV-atomic-Name-length-1-1 tokoe:valid" result="pass"/><test-case name="5107NISTXML-SV-IV-atomic-Name-length-1-2 tokoe:valid" result="pass"/><test-case name="5108NISTXML-SV-IV-atomic-Name-length-1-3 tokoe:valid" result="pass"/><test-case name="5109NISTXML-SV-IV-atomic-Name-length-1-4 tokoe:valid" result="pass"/><test-case name="5110NISTXML-SV-IV-atomic-Name-length-1-5 tokoe:valid" result="pass"/><test-case name="5111NISTSchema-SV-IV-atomic-Name-length-2 tokoe:valid" result="pass"/><test-case name="5112NISTXML-SV-IV-atomic-Name-length-2-1 tokoe:valid" result="pass"/><test-case name="5113NISTXML-SV-IV-atomic-Name-length-2-2 tokoe:valid" result="pass"/><test-case name="5114NISTXML-SV-IV-atomic-Name-length-2-3 tokoe:valid" result="pass"/><test-case name="5115NISTXML-SV-IV-atomic-Name-length-2-4 tokoe:valid" result="pass"/><test-case name="5116NISTXML-SV-IV-atomic-Name-length-2-5 tokoe:valid" result="pass"/><test-case name="5117NISTSchema-SV-IV-atomic-Name-length-3 tokoe:valid" result="pass"/><test-case name="5118NISTXML-SV-IV-atomic-Name-length-3-1 tokoe:valid" result="pass"/><test-case name="5119NISTXML-SV-IV-atomic-Name-length-3-2 tokoe:valid" result="pass"/><test-case name="5120NISTXML-SV-IV-atomic-Name-length-3-3 tokoe:valid" result="pass"/><test-case name="5121NISTXML-SV-IV-atomic-Name-length-3-4 tokoe:valid" result="pass"/><test-case name="5122NISTXML-SV-IV-atomic-Name-length-3-5 tokoe:valid" result="pass"/><test-case name="5123NISTSchema-SV-IV-atomic-Name-length-4 tokoe:valid" result="pass"/><test-case name="5124NISTXML-SV-IV-atomic-Name-length-4-1 tokoe:valid" result="pass"/><test-case name="5125NISTXML-SV-IV-atomic-Name-length-4-2 tokoe:valid" result="pass"/><test-case name="5126NISTXML-SV-IV-atomic-Name-length-4-3 tokoe:valid" result="pass"/><test-case name="5127NISTXML-SV-IV-atomic-Name-length-4-4 tokoe:valid" result="pass"/><test-case name="5128NISTXML-SV-IV-atomic-Name-length-4-5 tokoe:valid" result="pass"/><test-case name="5129NISTSchema-SV-IV-atomic-Name-length-5 tokoe:valid" result="pass"/><test-case name="5130NISTXML-SV-IV-atomic-Name-length-5-1 tokoe:valid" result="pass"/><test-case name="5131NISTXML-SV-IV-atomic-Name-length-5-2 tokoe:valid" result="pass"/><test-case name="5132NISTXML-SV-IV-atomic-Name-length-5-3 tokoe:valid" result="pass"/><test-case name="5133NISTXML-SV-IV-atomic-Name-length-5-4 tokoe:valid" result="pass"/><test-case name="5134NISTXML-SV-IV-atomic-Name-length-5-5 tokoe:valid" result="pass"/><test-case name="5135NISTSchema-SV-IV-atomic-Name-pattern-1 tokoe:valid" result="pass"/><test-case name="5136NISTXML-SV-IV-atomic-Name-pattern-1-1 tokoe:valid" result="pass"/><test-case name="5137NISTXML-SV-IV-atomic-Name-pattern-1-2 tokoe:valid" result="pass"/><test-case name="5138NISTXML-SV-IV-atomic-Name-pattern-1-3 tokoe:valid" result="pass"/><test-case name="5139NISTXML-SV-IV-atomic-Name-pattern-1-4 tokoe:valid" result="pass"/><test-case name="5140NISTXML-SV-IV-atomic-Name-pattern-1-5 tokoe:valid" result="pass"/><test-case name="5141NISTSchema-SV-IV-atomic-Name-pattern-2 tokoe:valid" result="pass"/><test-case name="5142NISTXML-SV-IV-atomic-Name-pattern-2-1 tokoe:valid" result="pass"/><test-case name="5143NISTXML-SV-IV-atomic-Name-pattern-2-2 tokoe:valid" result="pass"/><test-case name="5144NISTXML-SV-IV-atomic-Name-pattern-2-3 tokoe:valid" result="pass"/><test-case name="5145NISTXML-SV-IV-atomic-Name-pattern-2-4 tokoe:valid" result="pass"/><test-case name="5146NISTXML-SV-IV-atomic-Name-pattern-2-5 tokoe:valid" result="pass"/><test-case name="5147NISTSchema-SV-IV-atomic-Name-pattern-3 tokoe:valid" result="pass"/><test-case name="5148NISTXML-SV-IV-atomic-Name-pattern-3-1 tokoe:valid" result="pass"/><test-case name="5149NISTXML-SV-IV-atomic-Name-pattern-3-2 tokoe:valid" result="pass"/><test-case name="5150NISTXML-SV-IV-atomic-Name-pattern-3-3 tokoe:valid" result="pass"/><test-case name="5151NISTXML-SV-IV-atomic-Name-pattern-3-4 tokoe:valid" result="pass"/><test-case name="5152NISTXML-SV-IV-atomic-Name-pattern-3-5 tokoe:valid" result="pass"/><test-case name="5153NISTSchema-SV-IV-atomic-Name-pattern-4 tokoe:valid" result="pass"/><test-case name="5154NISTXML-SV-IV-atomic-Name-pattern-4-1 tokoe:valid" result="pass"/><test-case name="5155NISTXML-SV-IV-atomic-Name-pattern-4-2 tokoe:valid" result="pass"/><test-case name="5156NISTXML-SV-IV-atomic-Name-pattern-4-3 tokoe:valid" result="pass"/><test-case name="5157NISTXML-SV-IV-atomic-Name-pattern-4-4 tokoe:valid" result="pass"/><test-case name="5158NISTXML-SV-IV-atomic-Name-pattern-4-5 tokoe:valid" result="pass"/><test-case name="5159NISTSchema-SV-IV-atomic-Name-pattern-5 tokoe:valid" result="pass"/><test-case name="5160NISTXML-SV-IV-atomic-Name-pattern-5-1 tokoe:valid" result="pass"/><test-case name="5161NISTXML-SV-IV-atomic-Name-pattern-5-2 tokoe:valid" result="pass"/><test-case name="5162NISTXML-SV-IV-atomic-Name-pattern-5-3 tokoe:valid" result="pass"/><test-case name="5163NISTXML-SV-IV-atomic-Name-pattern-5-4 tokoe:valid" result="pass"/><test-case name="5164NISTXML-SV-IV-atomic-Name-pattern-5-5 tokoe:valid" result="pass"/><test-case name="5165NISTSchema-SV-IV-atomic-Name-enumeration-1 tokoe:valid" result="pass"/><test-case name="5166NISTXML-SV-IV-atomic-Name-enumeration-1-1 tokoe:valid" result="pass"/><test-case name="5167NISTXML-SV-IV-atomic-Name-enumeration-1-2 tokoe:valid" result="pass"/><test-case name="5168NISTXML-SV-IV-atomic-Name-enumeration-1-3 tokoe:valid" result="pass"/><test-case name="5169NISTXML-SV-IV-atomic-Name-enumeration-1-4 tokoe:valid" result="pass"/><test-case name="5170NISTXML-SV-IV-atomic-Name-enumeration-1-5 tokoe:valid" result="pass"/><test-case name="5171NISTSchema-SV-IV-atomic-Name-enumeration-2 tokoe:valid" result="pass"/><test-case name="5172NISTXML-SV-IV-atomic-Name-enumeration-2-1 tokoe:valid" result="pass"/><test-case name="5173NISTXML-SV-IV-atomic-Name-enumeration-2-2 tokoe:valid" result="pass"/><test-case name="5174NISTXML-SV-IV-atomic-Name-enumeration-2-3 tokoe:valid" result="pass"/><test-case name="5175NISTXML-SV-IV-atomic-Name-enumeration-2-4 tokoe:valid" result="pass"/><test-case name="5176NISTXML-SV-IV-atomic-Name-enumeration-2-5 tokoe:valid" result="pass"/><test-case name="5177NISTSchema-SV-IV-atomic-Name-enumeration-3 tokoe:valid" result="pass"/><test-case name="5178NISTXML-SV-IV-atomic-Name-enumeration-3-1 tokoe:valid" result="pass"/><test-case name="5179NISTXML-SV-IV-atomic-Name-enumeration-3-2 tokoe:valid" result="pass"/><test-case name="5180NISTXML-SV-IV-atomic-Name-enumeration-3-3 tokoe:valid" result="pass"/><test-case name="5181NISTXML-SV-IV-atomic-Name-enumeration-3-4 tokoe:valid" result="pass"/><test-case name="5182NISTXML-SV-IV-atomic-Name-enumeration-3-5 tokoe:valid" result="pass"/><test-case name="5183NISTSchema-SV-IV-atomic-Name-enumeration-4 tokoe:valid" result="pass"/><test-case name="5184NISTXML-SV-IV-atomic-Name-enumeration-4-1 tokoe:valid" result="pass"/><test-case name="5185NISTXML-SV-IV-atomic-Name-enumeration-4-2 tokoe:valid" result="pass"/><test-case name="5186NISTXML-SV-IV-atomic-Name-enumeration-4-3 tokoe:valid" result="pass"/><test-case name="5187NISTXML-SV-IV-atomic-Name-enumeration-4-4 tokoe:valid" result="pass"/><test-case name="5188NISTXML-SV-IV-atomic-Name-enumeration-4-5 tokoe:valid" result="pass"/><test-case name="5189NISTSchema-SV-IV-atomic-Name-enumeration-5 tokoe:valid" result="pass"/><test-case name="5190NISTXML-SV-IV-atomic-Name-enumeration-5-1 tokoe:valid" result="pass"/><test-case name="5191NISTXML-SV-IV-atomic-Name-enumeration-5-2 tokoe:valid" result="pass"/><test-case name="5192NISTXML-SV-IV-atomic-Name-enumeration-5-3 tokoe:valid" result="pass"/><test-case name="5193NISTXML-SV-IV-atomic-Name-enumeration-5-4 tokoe:valid" result="pass"/><test-case name="5194NISTXML-SV-IV-atomic-Name-enumeration-5-5 tokoe:valid" result="pass"/><test-case name="5195NISTSchema-SV-IV-atomic-Name-whiteSpace-1 tokoe:valid" result="pass"/><test-case name="5196NISTXML-SV-IV-atomic-Name-whiteSpace-1-1 tokoe:valid" result="pass"/><test-case name="5197NISTXML-SV-IV-atomic-Name-whiteSpace-1-2 tokoe:valid" result="pass"/><test-case name="5198NISTXML-SV-IV-atomic-Name-whiteSpace-1-3 tokoe:valid" result="pass"/><test-case name="5199NISTXML-SV-IV-atomic-Name-whiteSpace-1-4 tokoe:valid" result="pass"/><test-case name="5200NISTXML-SV-IV-atomic-Name-whiteSpace-1-5 tokoe:valid" result="pass"/><test-case name="5201NISTSchema-SV-IV-atomic-NMTOKEN-maxLength-1 tokoe:valid" result="pass"/><test-case name="5202NISTXML-SV-IV-atomic-NMTOKEN-maxLength-1-1 tokoe:valid" result="pass"/><test-case name="5203NISTXML-SV-IV-atomic-NMTOKEN-maxLength-1-2 tokoe:valid" result="pass"/><test-case name="5204NISTXML-SV-IV-atomic-NMTOKEN-maxLength-1-3 tokoe:valid" result="pass"/><test-case name="5205NISTXML-SV-IV-atomic-NMTOKEN-maxLength-1-4 tokoe:valid" result="pass"/><test-case name="5206NISTXML-SV-IV-atomic-NMTOKEN-maxLength-1-5 tokoe:valid" result="pass"/><test-case name="5207NISTSchema-SV-IV-atomic-NMTOKEN-maxLength-2 tokoe:valid" result="pass"/><test-case name="5208NISTXML-SV-IV-atomic-NMTOKEN-maxLength-2-1 tokoe:valid" result="pass"/><test-case name="5209NISTXML-SV-IV-atomic-NMTOKEN-maxLength-2-2 tokoe:valid" result="pass"/><test-case name="5210NISTXML-SV-IV-atomic-NMTOKEN-maxLength-2-3 tokoe:valid" result="pass"/><test-case name="5211NISTXML-SV-IV-atomic-NMTOKEN-maxLength-2-4 tokoe:valid" result="pass"/><test-case name="5212NISTXML-SV-IV-atomic-NMTOKEN-maxLength-2-5 tokoe:valid" result="pass"/><test-case name="5213NISTSchema-SV-IV-atomic-NMTOKEN-maxLength-3 tokoe:valid" result="pass"/><test-case name="5214NISTXML-SV-IV-atomic-NMTOKEN-maxLength-3-1 tokoe:valid" result="pass"/><test-case name="5215NISTXML-SV-IV-atomic-NMTOKEN-maxLength-3-2 tokoe:valid" result="pass"/><test-case name="5216NISTXML-SV-IV-atomic-NMTOKEN-maxLength-3-3 tokoe:valid" result="pass"/><test-case name="5217NISTXML-SV-IV-atomic-NMTOKEN-maxLength-3-4 tokoe:valid" result="pass"/><test-case name="5218NISTXML-SV-IV-atomic-NMTOKEN-maxLength-3-5 tokoe:valid" result="pass"/><test-case name="5219NISTSchema-SV-IV-atomic-NMTOKEN-maxLength-4 tokoe:valid" result="pass"/><test-case name="5220NISTXML-SV-IV-atomic-NMTOKEN-maxLength-4-1 tokoe:valid" result="pass"/><test-case name="5221NISTXML-SV-IV-atomic-NMTOKEN-maxLength-4-2 tokoe:valid" result="pass"/><test-case name="5222NISTXML-SV-IV-atomic-NMTOKEN-maxLength-4-3 tokoe:valid" result="pass"/><test-case name="5223NISTXML-SV-IV-atomic-NMTOKEN-maxLength-4-4 tokoe:valid" result="pass"/><test-case name="5224NISTXML-SV-IV-atomic-NMTOKEN-maxLength-4-5 tokoe:valid" result="pass"/><test-case name="5225NISTSchema-SV-IV-atomic-NMTOKEN-maxLength-5 tokoe:valid" result="pass"/><test-case name="5226NISTXML-SV-IV-atomic-NMTOKEN-maxLength-5-1 tokoe:valid" result="pass"/><test-case name="5227NISTXML-SV-IV-atomic-NMTOKEN-maxLength-5-2 tokoe:valid" result="pass"/><test-case name="5228NISTXML-SV-IV-atomic-NMTOKEN-maxLength-5-3 tokoe:valid" result="pass"/><test-case name="5229NISTXML-SV-IV-atomic-NMTOKEN-maxLength-5-4 tokoe:valid" result="pass"/><test-case name="5230NISTXML-SV-IV-atomic-NMTOKEN-maxLength-5-5 tokoe:valid" result="pass"/><test-case name="5231NISTSchema-SV-IV-atomic-NMTOKEN-minLength-1 tokoe:valid" result="pass"/><test-case name="5232NISTXML-SV-IV-atomic-NMTOKEN-minLength-1-1 tokoe:valid" result="pass"/><test-case name="5233NISTXML-SV-IV-atomic-NMTOKEN-minLength-1-2 tokoe:valid" result="pass"/><test-case name="5234NISTXML-SV-IV-atomic-NMTOKEN-minLength-1-3 tokoe:valid" result="pass"/><test-case name="5235NISTXML-SV-IV-atomic-NMTOKEN-minLength-1-4 tokoe:valid" result="pass"/><test-case name="5236NISTXML-SV-IV-atomic-NMTOKEN-minLength-1-5 tokoe:valid" result="pass"/><test-case name="5237NISTSchema-SV-IV-atomic-NMTOKEN-minLength-2 tokoe:valid" result="pass"/><test-case name="5238NISTXML-SV-IV-atomic-NMTOKEN-minLength-2-1 tokoe:valid" result="pass"/><test-case name="5239NISTXML-SV-IV-atomic-NMTOKEN-minLength-2-2 tokoe:valid" result="pass"/><test-case name="5240NISTXML-SV-IV-atomic-NMTOKEN-minLength-2-3 tokoe:valid" result="pass"/><test-case name="5241NISTXML-SV-IV-atomic-NMTOKEN-minLength-2-4 tokoe:valid" result="pass"/><test-case name="5242NISTXML-SV-IV-atomic-NMTOKEN-minLength-2-5 tokoe:valid" result="pass"/><test-case name="5243NISTSchema-SV-IV-atomic-NMTOKEN-minLength-3 tokoe:valid" result="pass"/><test-case name="5244NISTXML-SV-IV-atomic-NMTOKEN-minLength-3-1 tokoe:valid" result="pass"/><test-case name="5245NISTXML-SV-IV-atomic-NMTOKEN-minLength-3-2 tokoe:valid" result="pass"/><test-case name="5246NISTXML-SV-IV-atomic-NMTOKEN-minLength-3-3 tokoe:valid" result="pass"/><test-case name="5247NISTXML-SV-IV-atomic-NMTOKEN-minLength-3-4 tokoe:valid" result="pass"/><test-case name="5248NISTXML-SV-IV-atomic-NMTOKEN-minLength-3-5 tokoe:valid" result="pass"/><test-case name="5249NISTSchema-SV-IV-atomic-NMTOKEN-minLength-4 tokoe:valid" result="pass"/><test-case name="5250NISTXML-SV-IV-atomic-NMTOKEN-minLength-4-1 tokoe:valid" result="pass"/><test-case name="5251NISTXML-SV-IV-atomic-NMTOKEN-minLength-4-2 tokoe:valid" result="pass"/><test-case name="5252NISTXML-SV-IV-atomic-NMTOKEN-minLength-4-3 tokoe:valid" result="pass"/><test-case name="5253NISTXML-SV-IV-atomic-NMTOKEN-minLength-4-4 tokoe:valid" result="pass"/><test-case name="5254NISTXML-SV-IV-atomic-NMTOKEN-minLength-4-5 tokoe:valid" result="pass"/><test-case name="5255NISTSchema-SV-IV-atomic-NMTOKEN-minLength-5 tokoe:valid" result="pass"/><test-case name="5256NISTXML-SV-IV-atomic-NMTOKEN-minLength-5-1 tokoe:valid" result="pass"/><test-case name="5257NISTXML-SV-IV-atomic-NMTOKEN-minLength-5-2 tokoe:valid" result="pass"/><test-case name="5258NISTXML-SV-IV-atomic-NMTOKEN-minLength-5-3 tokoe:valid" result="pass"/><test-case name="5259NISTXML-SV-IV-atomic-NMTOKEN-minLength-5-4 tokoe:valid" result="pass"/><test-case name="5260NISTXML-SV-IV-atomic-NMTOKEN-minLength-5-5 tokoe:valid" result="pass"/><test-case name="5261NISTSchema-SV-IV-atomic-NMTOKEN-length-1 tokoe:valid" result="pass"/><test-case name="5262NISTXML-SV-IV-atomic-NMTOKEN-length-1-1 tokoe:valid" result="pass"/><test-case name="5263NISTXML-SV-IV-atomic-NMTOKEN-length-1-2 tokoe:valid" result="pass"/><test-case name="5264NISTXML-SV-IV-atomic-NMTOKEN-length-1-3 tokoe:valid" result="pass"/><test-case name="5265NISTXML-SV-IV-atomic-NMTOKEN-length-1-4 tokoe:valid" result="pass"/><test-case name="5266NISTXML-SV-IV-atomic-NMTOKEN-length-1-5 tokoe:valid" result="pass"/><test-case name="5267NISTSchema-SV-IV-atomic-NMTOKEN-length-2 tokoe:valid" result="pass"/><test-case name="5268NISTXML-SV-IV-atomic-NMTOKEN-length-2-1 tokoe:valid" result="pass"/><test-case name="5269NISTXML-SV-IV-atomic-NMTOKEN-length-2-2 tokoe:valid" result="pass"/><test-case name="5270NISTXML-SV-IV-atomic-NMTOKEN-length-2-3 tokoe:valid" result="pass"/><test-case name="5271NISTXML-SV-IV-atomic-NMTOKEN-length-2-4 tokoe:valid" result="pass"/><test-case name="5272NISTXML-SV-IV-atomic-NMTOKEN-length-2-5 tokoe:valid" result="pass"/><test-case name="5273NISTSchema-SV-IV-atomic-NMTOKEN-length-3 tokoe:valid" result="pass"/><test-case name="5274NISTXML-SV-IV-atomic-NMTOKEN-length-3-1 tokoe:valid" result="pass"/><test-case name="5275NISTXML-SV-IV-atomic-NMTOKEN-length-3-2 tokoe:valid" result="pass"/><test-case name="5276NISTXML-SV-IV-atomic-NMTOKEN-length-3-3 tokoe:valid" result="pass"/><test-case name="5277NISTXML-SV-IV-atomic-NMTOKEN-length-3-4 tokoe:valid" result="pass"/><test-case name="5278NISTXML-SV-IV-atomic-NMTOKEN-length-3-5 tokoe:valid" result="pass"/><test-case name="5279NISTSchema-SV-IV-atomic-NMTOKEN-length-4 tokoe:valid" result="pass"/><test-case name="5280NISTXML-SV-IV-atomic-NMTOKEN-length-4-1 tokoe:valid" result="pass"/><test-case name="5281NISTXML-SV-IV-atomic-NMTOKEN-length-4-2 tokoe:valid" result="pass"/><test-case name="5282NISTXML-SV-IV-atomic-NMTOKEN-length-4-3 tokoe:valid" result="pass"/><test-case name="5283NISTXML-SV-IV-atomic-NMTOKEN-length-4-4 tokoe:valid" result="pass"/><test-case name="5284NISTXML-SV-IV-atomic-NMTOKEN-length-4-5 tokoe:valid" result="pass"/><test-case name="5285NISTSchema-SV-IV-atomic-NMTOKEN-length-5 tokoe:valid" result="pass"/><test-case name="5286NISTXML-SV-IV-atomic-NMTOKEN-length-5-1 tokoe:valid" result="pass"/><test-case name="5287NISTXML-SV-IV-atomic-NMTOKEN-length-5-2 tokoe:valid" result="pass"/><test-case name="5288NISTXML-SV-IV-atomic-NMTOKEN-length-5-3 tokoe:valid" result="pass"/><test-case name="5289NISTXML-SV-IV-atomic-NMTOKEN-length-5-4 tokoe:valid" result="pass"/><test-case name="5290NISTXML-SV-IV-atomic-NMTOKEN-length-5-5 tokoe:valid" result="pass"/><test-case name="5291NISTSchema-SV-IV-atomic-NMTOKEN-pattern-1 tokoe:valid" result="pass"/><test-case name="5292NISTXML-SV-IV-atomic-NMTOKEN-pattern-1-1 tokoe:valid" result="pass"/><test-case name="5293NISTXML-SV-IV-atomic-NMTOKEN-pattern-1-2 tokoe:valid" result="pass"/><test-case name="5294NISTXML-SV-IV-atomic-NMTOKEN-pattern-1-3 tokoe:valid" result="pass"/><test-case name="5295NISTXML-SV-IV-atomic-NMTOKEN-pattern-1-4 tokoe:valid" result="pass"/><test-case name="5296NISTXML-SV-IV-atomic-NMTOKEN-pattern-1-5 tokoe:valid" result="pass"/><test-case name="5297NISTSchema-SV-IV-atomic-NMTOKEN-pattern-2 tokoe:valid" result="pass"/><test-case name="5298NISTXML-SV-IV-atomic-NMTOKEN-pattern-2-1 tokoe:valid" result="pass"/><test-case name="5299NISTXML-SV-IV-atomic-NMTOKEN-pattern-2-2 tokoe:valid" result="pass"/><test-case name="5300NISTXML-SV-IV-atomic-NMTOKEN-pattern-2-3 tokoe:valid" result="pass"/><test-case name="5301NISTXML-SV-IV-atomic-NMTOKEN-pattern-2-4 tokoe:valid" result="pass"/><test-case name="5302NISTXML-SV-IV-atomic-NMTOKEN-pattern-2-5 tokoe:valid" result="pass"/><test-case name="5303NISTSchema-SV-IV-atomic-NMTOKEN-pattern-3 tokoe:valid" result="pass"/><test-case name="5304NISTXML-SV-IV-atomic-NMTOKEN-pattern-3-1 tokoe:valid" result="pass"/><test-case name="5305NISTXML-SV-IV-atomic-NMTOKEN-pattern-3-2 tokoe:valid" result="pass"/><test-case name="5306NISTXML-SV-IV-atomic-NMTOKEN-pattern-3-3 tokoe:valid" result="pass"/><test-case name="5307NISTXML-SV-IV-atomic-NMTOKEN-pattern-3-4 tokoe:valid" result="pass"/><test-case name="5308NISTXML-SV-IV-atomic-NMTOKEN-pattern-3-5 tokoe:valid" result="pass"/><test-case name="5309NISTSchema-SV-IV-atomic-NMTOKEN-pattern-4 tokoe:valid" result="pass"/><test-case name="5310NISTXML-SV-IV-atomic-NMTOKEN-pattern-4-1 tokoe:valid" result="pass"/><test-case name="5311NISTXML-SV-IV-atomic-NMTOKEN-pattern-4-2 tokoe:valid" result="pass"/><test-case name="5312NISTXML-SV-IV-atomic-NMTOKEN-pattern-4-3 tokoe:valid" result="pass"/><test-case name="5313NISTXML-SV-IV-atomic-NMTOKEN-pattern-4-4 tokoe:valid" result="pass"/><test-case name="5314NISTXML-SV-IV-atomic-NMTOKEN-pattern-4-5 tokoe:valid" result="pass"/><test-case name="5315NISTSchema-SV-IV-atomic-NMTOKEN-pattern-5 tokoe:valid" result="pass"/><test-case name="5316NISTXML-SV-IV-atomic-NMTOKEN-pattern-5-1 tokoe:valid" result="pass"/><test-case name="5317NISTXML-SV-IV-atomic-NMTOKEN-pattern-5-2 tokoe:valid" result="pass"/><test-case name="5318NISTXML-SV-IV-atomic-NMTOKEN-pattern-5-3 tokoe:valid" result="pass"/><test-case name="5319NISTXML-SV-IV-atomic-NMTOKEN-pattern-5-4 tokoe:valid" result="pass"/><test-case name="5320NISTXML-SV-IV-atomic-NMTOKEN-pattern-5-5 tokoe:valid" result="pass"/><test-case name="5321NISTSchema-SV-IV-atomic-NMTOKEN-enumeration-1 tokoe:valid" result="pass"/><test-case name="5322NISTXML-SV-IV-atomic-NMTOKEN-enumeration-1-1 tokoe:valid" result="pass"/><test-case name="5323NISTXML-SV-IV-atomic-NMTOKEN-enumeration-1-2 tokoe:valid" result="pass"/><test-case name="5324NISTXML-SV-IV-atomic-NMTOKEN-enumeration-1-3 tokoe:valid" result="pass"/><test-case name="5325NISTXML-SV-IV-atomic-NMTOKEN-enumeration-1-4 tokoe:valid" result="pass"/><test-case name="5326NISTXML-SV-IV-atomic-NMTOKEN-enumeration-1-5 tokoe:valid" result="pass"/><test-case name="5327NISTSchema-SV-IV-atomic-NMTOKEN-enumeration-2 tokoe:valid" result="pass"/><test-case name="5328NISTXML-SV-IV-atomic-NMTOKEN-enumeration-2-1 tokoe:valid" result="pass"/><test-case name="5329NISTXML-SV-IV-atomic-NMTOKEN-enumeration-2-2 tokoe:valid" result="pass"/><test-case name="5330NISTXML-SV-IV-atomic-NMTOKEN-enumeration-2-3 tokoe:valid" result="pass"/><test-case name="5331NISTXML-SV-IV-atomic-NMTOKEN-enumeration-2-4 tokoe:valid" result="pass"/><test-case name="5332NISTXML-SV-IV-atomic-NMTOKEN-enumeration-2-5 tokoe:valid" result="pass"/><test-case name="5333NISTSchema-SV-IV-atomic-NMTOKEN-enumeration-3 tokoe:valid" result="pass"/><test-case name="5334NISTXML-SV-IV-atomic-NMTOKEN-enumeration-3-1 tokoe:valid" result="pass"/><test-case name="5335NISTXML-SV-IV-atomic-NMTOKEN-enumeration-3-2 tokoe:valid" result="pass"/><test-case name="5336NISTXML-SV-IV-atomic-NMTOKEN-enumeration-3-3 tokoe:valid" result="pass"/><test-case name="5337NISTXML-SV-IV-atomic-NMTOKEN-enumeration-3-4 tokoe:valid" result="pass"/><test-case name="5338NISTXML-SV-IV-atomic-NMTOKEN-enumeration-3-5 tokoe:valid" result="pass"/><test-case name="5339NISTSchema-SV-IV-atomic-NMTOKEN-enumeration-4 tokoe:valid" result="pass"/><test-case name="5340NISTXML-SV-IV-atomic-NMTOKEN-enumeration-4-1 tokoe:valid" result="pass"/><test-case name="5341NISTXML-SV-IV-atomic-NMTOKEN-enumeration-4-2 tokoe:valid" result="pass"/><test-case name="5342NISTXML-SV-IV-atomic-NMTOKEN-enumeration-4-3 tokoe:valid" result="pass"/><test-case name="5343NISTXML-SV-IV-atomic-NMTOKEN-enumeration-4-4 tokoe:valid" result="pass"/><test-case name="5344NISTXML-SV-IV-atomic-NMTOKEN-enumeration-4-5 tokoe:valid" result="pass"/><test-case name="5345NISTSchema-SV-IV-atomic-NMTOKEN-enumeration-5 tokoe:valid" result="pass"/><test-case name="5346NISTXML-SV-IV-atomic-NMTOKEN-enumeration-5-1 tokoe:valid" result="pass"/><test-case name="5347NISTXML-SV-IV-atomic-NMTOKEN-enumeration-5-2 tokoe:valid" result="pass"/><test-case name="5348NISTXML-SV-IV-atomic-NMTOKEN-enumeration-5-3 tokoe:valid" result="pass"/><test-case name="5349NISTXML-SV-IV-atomic-NMTOKEN-enumeration-5-4 tokoe:valid" result="pass"/><test-case name="5350NISTXML-SV-IV-atomic-NMTOKEN-enumeration-5-5 tokoe:valid" result="pass"/><test-case name="5351NISTSchema-SV-IV-atomic-NMTOKEN-whiteSpace-1 tokoe:valid" result="pass"/><test-case name="5352NISTXML-SV-IV-atomic-NMTOKEN-whiteSpace-1-1 tokoe:valid" result="pass"/><test-case name="5353NISTXML-SV-IV-atomic-NMTOKEN-whiteSpace-1-2 tokoe:valid" result="pass"/><test-case name="5354NISTXML-SV-IV-atomic-NMTOKEN-whiteSpace-1-3 tokoe:valid" result="pass"/><test-case name="5355NISTXML-SV-IV-atomic-NMTOKEN-whiteSpace-1-4 tokoe:valid" result="pass"/><test-case name="5356NISTXML-SV-IV-atomic-NMTOKEN-whiteSpace-1-5 tokoe:valid" result="pass"/><test-case name="5357NISTSchema-SV-IV-atomic-NCName-maxLength-1 tokoe:valid" result="pass"/><test-case name="5358NISTXML-SV-IV-atomic-NCName-maxLength-1-1 tokoe:valid" result="pass"/><test-case name="5359NISTXML-SV-IV-atomic-NCName-maxLength-1-2 tokoe:valid" result="pass"/><test-case name="5360NISTXML-SV-IV-atomic-NCName-maxLength-1-3 tokoe:valid" result="pass"/><test-case name="5361NISTXML-SV-IV-atomic-NCName-maxLength-1-4 tokoe:valid" result="pass"/><test-case name="5362NISTXML-SV-IV-atomic-NCName-maxLength-1-5 tokoe:valid" result="pass"/><test-case name="5363NISTSchema-SV-IV-atomic-NCName-maxLength-2 tokoe:valid" result="pass"/><test-case name="5364NISTXML-SV-IV-atomic-NCName-maxLength-2-1 tokoe:valid" result="pass"/><test-case name="5365NISTXML-SV-IV-atomic-NCName-maxLength-2-2 tokoe:valid" result="pass"/><test-case name="5366NISTXML-SV-IV-atomic-NCName-maxLength-2-3 tokoe:valid" result="pass"/><test-case name="5367NISTXML-SV-IV-atomic-NCName-maxLength-2-4 tokoe:valid" result="pass"/><test-case name="5368NISTXML-SV-IV-atomic-NCName-maxLength-2-5 tokoe:valid" result="pass"/><test-case name="5369NISTSchema-SV-IV-atomic-NCName-maxLength-3 tokoe:valid" result="pass"/><test-case name="5370NISTXML-SV-IV-atomic-NCName-maxLength-3-1 tokoe:valid" result="pass"/><test-case name="5371NISTXML-SV-IV-atomic-NCName-maxLength-3-2 tokoe:valid" result="pass"/><test-case name="5372NISTXML-SV-IV-atomic-NCName-maxLength-3-3 tokoe:valid" result="pass"/><test-case name="5373NISTXML-SV-IV-atomic-NCName-maxLength-3-4 tokoe:valid" result="pass"/><test-case name="5374NISTXML-SV-IV-atomic-NCName-maxLength-3-5 tokoe:valid" result="pass"/><test-case name="5375NISTSchema-SV-IV-atomic-NCName-maxLength-4 tokoe:valid" result="pass"/><test-case name="5376NISTXML-SV-IV-atomic-NCName-maxLength-4-1 tokoe:valid" result="pass"/><test-case name="5377NISTXML-SV-IV-atomic-NCName-maxLength-4-2 tokoe:valid" result="pass"/><test-case name="5378NISTXML-SV-IV-atomic-NCName-maxLength-4-3 tokoe:valid" result="pass"/><test-case name="5379NISTXML-SV-IV-atomic-NCName-maxLength-4-4 tokoe:valid" result="pass"/><test-case name="5380NISTXML-SV-IV-atomic-NCName-maxLength-4-5 tokoe:valid" result="pass"/><test-case name="5381NISTSchema-SV-IV-atomic-NCName-maxLength-5 tokoe:valid" result="pass"/><test-case name="5382NISTXML-SV-IV-atomic-NCName-maxLength-5-1 tokoe:valid" result="pass"/><test-case name="5383NISTXML-SV-IV-atomic-NCName-maxLength-5-2 tokoe:valid" result="pass"/><test-case name="5384NISTXML-SV-IV-atomic-NCName-maxLength-5-3 tokoe:valid" result="pass"/><test-case name="5385NISTXML-SV-IV-atomic-NCName-maxLength-5-4 tokoe:valid" result="pass"/><test-case name="5386NISTXML-SV-IV-atomic-NCName-maxLength-5-5 tokoe:valid" result="pass"/><test-case name="5387NISTSchema-SV-IV-atomic-NCName-minLength-1 tokoe:valid" result="pass"/><test-case name="5388NISTXML-SV-IV-atomic-NCName-minLength-1-1 tokoe:valid" result="pass"/><test-case name="5389NISTXML-SV-IV-atomic-NCName-minLength-1-2 tokoe:valid" result="pass"/><test-case name="5390NISTXML-SV-IV-atomic-NCName-minLength-1-3 tokoe:valid" result="pass"/><test-case name="5391NISTXML-SV-IV-atomic-NCName-minLength-1-4 tokoe:valid" result="pass"/><test-case name="5392NISTXML-SV-IV-atomic-NCName-minLength-1-5 tokoe:valid" result="pass"/><test-case name="5393NISTSchema-SV-IV-atomic-NCName-minLength-2 tokoe:valid" result="pass"/><test-case name="5394NISTXML-SV-IV-atomic-NCName-minLength-2-1 tokoe:valid" result="pass"/><test-case name="5395NISTXML-SV-IV-atomic-NCName-minLength-2-2 tokoe:valid" result="pass"/><test-case name="5396NISTXML-SV-IV-atomic-NCName-minLength-2-3 tokoe:valid" result="pass"/><test-case name="5397NISTXML-SV-IV-atomic-NCName-minLength-2-4 tokoe:valid" result="pass"/><test-case name="5398NISTXML-SV-IV-atomic-NCName-minLength-2-5 tokoe:valid" result="pass"/><test-case name="5399NISTSchema-SV-IV-atomic-NCName-minLength-3 tokoe:valid" result="pass"/><test-case name="5400NISTXML-SV-IV-atomic-NCName-minLength-3-1 tokoe:valid" result="pass"/><test-case name="5401NISTXML-SV-IV-atomic-NCName-minLength-3-2 tokoe:valid" result="pass"/><test-case name="5402NISTXML-SV-IV-atomic-NCName-minLength-3-3 tokoe:valid" result="pass"/><test-case name="5403NISTXML-SV-IV-atomic-NCName-minLength-3-4 tokoe:valid" result="pass"/><test-case name="5404NISTXML-SV-IV-atomic-NCName-minLength-3-5 tokoe:valid" result="pass"/><test-case name="5405NISTSchema-SV-IV-atomic-NCName-minLength-4 tokoe:valid" result="pass"/><test-case name="5406NISTXML-SV-IV-atomic-NCName-minLength-4-1 tokoe:valid" result="pass"/><test-case name="5407NISTXML-SV-IV-atomic-NCName-minLength-4-2 tokoe:valid" result="pass"/><test-case name="5408NISTXML-SV-IV-atomic-NCName-minLength-4-3 tokoe:valid" result="pass"/><test-case name="5409NISTXML-SV-IV-atomic-NCName-minLength-4-4 tokoe:valid" result="pass"/><test-case name="5410NISTXML-SV-IV-atomic-NCName-minLength-4-5 tokoe:valid" result="pass"/><test-case name="5411NISTSchema-SV-IV-atomic-NCName-minLength-5 tokoe:valid" result="pass"/><test-case name="5412NISTXML-SV-IV-atomic-NCName-minLength-5-1 tokoe:valid" result="pass"/><test-case name="5413NISTXML-SV-IV-atomic-NCName-minLength-5-2 tokoe:valid" result="pass"/><test-case name="5414NISTXML-SV-IV-atomic-NCName-minLength-5-3 tokoe:valid" result="pass"/><test-case name="5415NISTXML-SV-IV-atomic-NCName-minLength-5-4 tokoe:valid" result="pass"/><test-case name="5416NISTXML-SV-IV-atomic-NCName-minLength-5-5 tokoe:valid" result="pass"/><test-case name="5417NISTSchema-SV-IV-atomic-NCName-length-1 tokoe:valid" result="pass"/><test-case name="5418NISTXML-SV-IV-atomic-NCName-length-1-1 tokoe:valid" result="pass"/><test-case name="5419NISTXML-SV-IV-atomic-NCName-length-1-2 tokoe:valid" result="pass"/><test-case name="5420NISTXML-SV-IV-atomic-NCName-length-1-3 tokoe:valid" result="pass"/><test-case name="5421NISTXML-SV-IV-atomic-NCName-length-1-4 tokoe:valid" result="pass"/><test-case name="5422NISTXML-SV-IV-atomic-NCName-length-1-5 tokoe:valid" result="pass"/><test-case name="5423NISTSchema-SV-IV-atomic-NCName-length-2 tokoe:valid" result="pass"/><test-case name="5424NISTXML-SV-IV-atomic-NCName-length-2-1 tokoe:valid" result="pass"/><test-case name="5425NISTXML-SV-IV-atomic-NCName-length-2-2 tokoe:valid" result="pass"/><test-case name="5426NISTXML-SV-IV-atomic-NCName-length-2-3 tokoe:valid" result="pass"/><test-case name="5427NISTXML-SV-IV-atomic-NCName-length-2-4 tokoe:valid" result="pass"/><test-case name="5428NISTXML-SV-IV-atomic-NCName-length-2-5 tokoe:valid" result="pass"/><test-case name="5429NISTSchema-SV-IV-atomic-NCName-length-3 tokoe:valid" result="pass"/><test-case name="5430NISTXML-SV-IV-atomic-NCName-length-3-1 tokoe:valid" result="pass"/><test-case name="5431NISTXML-SV-IV-atomic-NCName-length-3-2 tokoe:valid" result="pass"/><test-case name="5432NISTXML-SV-IV-atomic-NCName-length-3-3 tokoe:valid" result="pass"/><test-case name="5433NISTXML-SV-IV-atomic-NCName-length-3-4 tokoe:valid" result="pass"/><test-case name="5434NISTXML-SV-IV-atomic-NCName-length-3-5 tokoe:valid" result="pass"/><test-case name="5435NISTSchema-SV-IV-atomic-NCName-length-4 tokoe:valid" result="pass"/><test-case name="5436NISTXML-SV-IV-atomic-NCName-length-4-1 tokoe:valid" result="pass"/><test-case name="5437NISTXML-SV-IV-atomic-NCName-length-4-2 tokoe:valid" result="pass"/><test-case name="5438NISTXML-SV-IV-atomic-NCName-length-4-3 tokoe:valid" result="pass"/><test-case name="5439NISTXML-SV-IV-atomic-NCName-length-4-4 tokoe:valid" result="pass"/><test-case name="5440NISTXML-SV-IV-atomic-NCName-length-4-5 tokoe:valid" result="pass"/><test-case name="5441NISTSchema-SV-IV-atomic-NCName-length-5 tokoe:valid" result="pass"/><test-case name="5442NISTXML-SV-IV-atomic-NCName-length-5-1 tokoe:valid" result="pass"/><test-case name="5443NISTXML-SV-IV-atomic-NCName-length-5-2 tokoe:valid" result="pass"/><test-case name="5444NISTXML-SV-IV-atomic-NCName-length-5-3 tokoe:valid" result="pass"/><test-case name="5445NISTXML-SV-IV-atomic-NCName-length-5-4 tokoe:valid" result="pass"/><test-case name="5446NISTXML-SV-IV-atomic-NCName-length-5-5 tokoe:valid" result="pass"/><test-case name="5447NISTSchema-SV-IV-atomic-NCName-pattern-1 tokoe:valid" result="pass"/><test-case name="5448NISTXML-SV-IV-atomic-NCName-pattern-1-1 tokoe:valid" result="pass"/><test-case name="5449NISTXML-SV-IV-atomic-NCName-pattern-1-2 tokoe:valid" result="pass"/><test-case name="5450NISTXML-SV-IV-atomic-NCName-pattern-1-3 tokoe:valid" result="pass"/><test-case name="5451NISTXML-SV-IV-atomic-NCName-pattern-1-4 tokoe:valid" result="pass"/><test-case name="5452NISTXML-SV-IV-atomic-NCName-pattern-1-5 tokoe:valid" result="pass"/><test-case name="5453NISTSchema-SV-IV-atomic-NCName-pattern-2 tokoe:valid" result="pass"/><test-case name="5454NISTXML-SV-IV-atomic-NCName-pattern-2-1 tokoe:valid" result="pass"/><test-case name="5455NISTXML-SV-IV-atomic-NCName-pattern-2-2 tokoe:valid" result="pass"/><test-case name="5456NISTXML-SV-IV-atomic-NCName-pattern-2-3 tokoe:valid" result="pass"/><test-case name="5457NISTXML-SV-IV-atomic-NCName-pattern-2-4 tokoe:valid" result="pass"/><test-case name="5458NISTXML-SV-IV-atomic-NCName-pattern-2-5 tokoe:valid" result="pass"/><test-case name="5459NISTSchema-SV-IV-atomic-NCName-pattern-3 tokoe:valid" result="pass"/><test-case name="5460NISTXML-SV-IV-atomic-NCName-pattern-3-1 tokoe:valid" result="pass"/><test-case name="5461NISTXML-SV-IV-atomic-NCName-pattern-3-2 tokoe:valid" result="pass"/><test-case name="5462NISTXML-SV-IV-atomic-NCName-pattern-3-3 tokoe:valid" result="pass"/><test-case name="5463NISTXML-SV-IV-atomic-NCName-pattern-3-4 tokoe:valid" result="pass"/><test-case name="5464NISTXML-SV-IV-atomic-NCName-pattern-3-5 tokoe:valid" result="pass"/><test-case name="5465NISTSchema-SV-IV-atomic-NCName-pattern-4 tokoe:valid" result="pass"/><test-case name="5466NISTXML-SV-IV-atomic-NCName-pattern-4-1 tokoe:valid" result="pass"/><test-case name="5467NISTXML-SV-IV-atomic-NCName-pattern-4-2 tokoe:valid" result="pass"/><test-case name="5468NISTXML-SV-IV-atomic-NCName-pattern-4-3 tokoe:valid" result="pass"/><test-case name="5469NISTXML-SV-IV-atomic-NCName-pattern-4-4 tokoe:valid" result="pass"/><test-case name="5470NISTXML-SV-IV-atomic-NCName-pattern-4-5 tokoe:valid" result="pass"/><test-case name="5471NISTSchema-SV-IV-atomic-NCName-pattern-5 tokoe:valid" result="pass"/><test-case name="5472NISTXML-SV-IV-atomic-NCName-pattern-5-1 tokoe:valid" result="pass"/><test-case name="5473NISTXML-SV-IV-atomic-NCName-pattern-5-2 tokoe:valid" result="pass"/><test-case name="5474NISTXML-SV-IV-atomic-NCName-pattern-5-3 tokoe:valid" result="pass"/><test-case name="5475NISTXML-SV-IV-atomic-NCName-pattern-5-4 tokoe:valid" result="pass"/><test-case name="5476NISTXML-SV-IV-atomic-NCName-pattern-5-5 tokoe:valid" result="pass"/><test-case name="5477NISTSchema-SV-IV-atomic-NCName-enumeration-1 tokoe:valid" result="pass"/><test-case name="5478NISTXML-SV-IV-atomic-NCName-enumeration-1-1 tokoe:valid" result="pass"/><test-case name="5479NISTXML-SV-IV-atomic-NCName-enumeration-1-2 tokoe:valid" result="pass"/><test-case name="5480NISTXML-SV-IV-atomic-NCName-enumeration-1-3 tokoe:valid" result="pass"/><test-case name="5481NISTXML-SV-IV-atomic-NCName-enumeration-1-4 tokoe:valid" result="pass"/><test-case name="5482NISTXML-SV-IV-atomic-NCName-enumeration-1-5 tokoe:valid" result="pass"/><test-case name="5483NISTSchema-SV-IV-atomic-NCName-enumeration-2 tokoe:valid" result="pass"/><test-case name="5484NISTXML-SV-IV-atomic-NCName-enumeration-2-1 tokoe:valid" result="pass"/><test-case name="5485NISTXML-SV-IV-atomic-NCName-enumeration-2-2 tokoe:valid" result="pass"/><test-case name="5486NISTXML-SV-IV-atomic-NCName-enumeration-2-3 tokoe:valid" result="pass"/><test-case name="5487NISTXML-SV-IV-atomic-NCName-enumeration-2-4 tokoe:valid" result="pass"/><test-case name="5488NISTXML-SV-IV-atomic-NCName-enumeration-2-5 tokoe:valid" result="pass"/><test-case name="5489NISTSchema-SV-IV-atomic-NCName-enumeration-3 tokoe:valid" result="pass"/><test-case name="5490NISTXML-SV-IV-atomic-NCName-enumeration-3-1 tokoe:valid" result="pass"/><test-case name="5491NISTXML-SV-IV-atomic-NCName-enumeration-3-2 tokoe:valid" result="pass"/><test-case name="5492NISTXML-SV-IV-atomic-NCName-enumeration-3-3 tokoe:valid" result="pass"/><test-case name="5493NISTXML-SV-IV-atomic-NCName-enumeration-3-4 tokoe:valid" result="pass"/><test-case name="5494NISTXML-SV-IV-atomic-NCName-enumeration-3-5 tokoe:valid" result="pass"/><test-case name="5495NISTSchema-SV-IV-atomic-NCName-enumeration-4 tokoe:valid" result="pass"/><test-case name="5496NISTXML-SV-IV-atomic-NCName-enumeration-4-1 tokoe:valid" result="pass"/><test-case name="5497NISTXML-SV-IV-atomic-NCName-enumeration-4-2 tokoe:valid" result="pass"/><test-case name="5498NISTXML-SV-IV-atomic-NCName-enumeration-4-3 tokoe:valid" result="pass"/><test-case name="5499NISTXML-SV-IV-atomic-NCName-enumeration-4-4 tokoe:valid" result="pass"/><test-case name="5500NISTXML-SV-IV-atomic-NCName-enumeration-4-5 tokoe:valid" result="pass"/><test-case name="5501NISTSchema-SV-IV-atomic-NCName-enumeration-5 tokoe:valid" result="pass"/><test-case name="5502NISTXML-SV-IV-atomic-NCName-enumeration-5-1 tokoe:valid" result="pass"/><test-case name="5503NISTXML-SV-IV-atomic-NCName-enumeration-5-2 tokoe:valid" result="pass"/><test-case name="5504NISTXML-SV-IV-atomic-NCName-enumeration-5-3 tokoe:valid" result="pass"/><test-case name="5505NISTXML-SV-IV-atomic-NCName-enumeration-5-4 tokoe:valid" result="pass"/><test-case name="5506NISTXML-SV-IV-atomic-NCName-enumeration-5-5 tokoe:valid" result="pass"/><test-case name="5507NISTSchema-SV-IV-atomic-NCName-whiteSpace-1 tokoe:valid" result="pass"/><test-case name="5508NISTXML-SV-IV-atomic-NCName-whiteSpace-1-1 tokoe:valid" result="pass"/><test-case name="5509NISTXML-SV-IV-atomic-NCName-whiteSpace-1-2 tokoe:valid" result="pass"/><test-case name="5510NISTXML-SV-IV-atomic-NCName-whiteSpace-1-3 tokoe:valid" result="pass"/><test-case name="5511NISTXML-SV-IV-atomic-NCName-whiteSpace-1-4 tokoe:valid" result="pass"/><test-case name="5512NISTXML-SV-IV-atomic-NCName-whiteSpace-1-5 tokoe:valid" result="pass"/><test-case name="5513NISTSchema-SV-IV-atomic-ID-maxLength-1 tokoe:valid" result="pass"/><test-case name="5514NISTXML-SV-IV-atomic-ID-maxLength-1-1 tokoe:valid" result="pass"/><test-case name="5515NISTXML-SV-IV-atomic-ID-maxLength-1-2 tokoe:valid" result="pass"/><test-case name="5516NISTXML-SV-IV-atomic-ID-maxLength-1-3 tokoe:valid" result="pass"/><test-case name="5517NISTXML-SV-IV-atomic-ID-maxLength-1-4 tokoe:valid" result="pass"/><test-case name="5518NISTXML-SV-IV-atomic-ID-maxLength-1-5 tokoe:valid" result="pass"/><test-case name="5519NISTSchema-SV-IV-atomic-ID-maxLength-2 tokoe:valid" result="pass"/><test-case name="5520NISTXML-SV-IV-atomic-ID-maxLength-2-1 tokoe:valid" result="pass"/><test-case name="5521NISTXML-SV-IV-atomic-ID-maxLength-2-2 tokoe:valid" result="pass"/><test-case name="5522NISTXML-SV-IV-atomic-ID-maxLength-2-3 tokoe:valid" result="pass"/><test-case name="5523NISTXML-SV-IV-atomic-ID-maxLength-2-4 tokoe:valid" result="pass"/><test-case name="5524NISTXML-SV-IV-atomic-ID-maxLength-2-5 tokoe:valid" result="pass"/><test-case name="5525NISTSchema-SV-IV-atomic-ID-maxLength-3 tokoe:valid" result="pass"/><test-case name="5526NISTXML-SV-IV-atomic-ID-maxLength-3-1 tokoe:valid" result="pass"/><test-case name="5527NISTXML-SV-IV-atomic-ID-maxLength-3-2 tokoe:valid" result="pass"/><test-case name="5528NISTXML-SV-IV-atomic-ID-maxLength-3-3 tokoe:valid" result="pass"/><test-case name="5529NISTXML-SV-IV-atomic-ID-maxLength-3-4 tokoe:valid" result="pass"/><test-case name="5530NISTXML-SV-IV-atomic-ID-maxLength-3-5 tokoe:valid" result="pass"/><test-case name="5531NISTSchema-SV-IV-atomic-ID-maxLength-4 tokoe:valid" result="pass"/><test-case name="5532NISTXML-SV-IV-atomic-ID-maxLength-4-1 tokoe:valid" result="pass"/><test-case name="5533NISTXML-SV-IV-atomic-ID-maxLength-4-2 tokoe:valid" result="pass"/><test-case name="5534NISTXML-SV-IV-atomic-ID-maxLength-4-3 tokoe:valid" result="pass"/><test-case name="5535NISTXML-SV-IV-atomic-ID-maxLength-4-4 tokoe:valid" result="pass"/><test-case name="5536NISTXML-SV-IV-atomic-ID-maxLength-4-5 tokoe:valid" result="pass"/><test-case name="5537NISTSchema-SV-IV-atomic-ID-maxLength-5 tokoe:valid" result="pass"/><test-case name="5538NISTXML-SV-IV-atomic-ID-maxLength-5-1 tokoe:valid" result="pass"/><test-case name="5539NISTXML-SV-IV-atomic-ID-maxLength-5-2 tokoe:valid" result="pass"/><test-case name="5540NISTXML-SV-IV-atomic-ID-maxLength-5-3 tokoe:valid" result="pass"/><test-case name="5541NISTXML-SV-IV-atomic-ID-maxLength-5-4 tokoe:valid" result="pass"/><test-case name="5542NISTXML-SV-IV-atomic-ID-maxLength-5-5 tokoe:valid" result="pass"/><test-case name="5543NISTSchema-SV-IV-atomic-ID-minLength-1 tokoe:valid" result="pass"/><test-case name="5544NISTXML-SV-IV-atomic-ID-minLength-1-1 tokoe:valid" result="pass"/><test-case name="5545NISTXML-SV-IV-atomic-ID-minLength-1-2 tokoe:valid" result="pass"/><test-case name="5546NISTXML-SV-IV-atomic-ID-minLength-1-3 tokoe:valid" result="pass"/><test-case name="5547NISTXML-SV-IV-atomic-ID-minLength-1-4 tokoe:valid" result="pass"/><test-case name="5548NISTXML-SV-IV-atomic-ID-minLength-1-5 tokoe:valid" result="pass"/><test-case name="5549NISTSchema-SV-IV-atomic-ID-minLength-2 tokoe:valid" result="pass"/><test-case name="5550NISTXML-SV-IV-atomic-ID-minLength-2-1 tokoe:valid" result="pass"/><test-case name="5551NISTXML-SV-IV-atomic-ID-minLength-2-2 tokoe:valid" result="pass"/><test-case name="5552NISTXML-SV-IV-atomic-ID-minLength-2-3 tokoe:valid" result="pass"/><test-case name="5553NISTXML-SV-IV-atomic-ID-minLength-2-4 tokoe:valid" result="pass"/><test-case name="5554NISTXML-SV-IV-atomic-ID-minLength-2-5 tokoe:valid" result="pass"/><test-case name="5555NISTSchema-SV-IV-atomic-ID-minLength-3 tokoe:valid" result="pass"/><test-case name="5556NISTXML-SV-IV-atomic-ID-minLength-3-1 tokoe:valid" result="pass"/><test-case name="5557NISTXML-SV-IV-atomic-ID-minLength-3-2 tokoe:valid" result="pass"/><test-case name="5558NISTXML-SV-IV-atomic-ID-minLength-3-3 tokoe:valid" result="pass"/><test-case name="5559NISTXML-SV-IV-atomic-ID-minLength-3-4 tokoe:valid" result="pass"/><test-case name="5560NISTXML-SV-IV-atomic-ID-minLength-3-5 tokoe:valid" result="pass"/><test-case name="5561NISTSchema-SV-IV-atomic-ID-minLength-4 tokoe:valid" result="pass"/><test-case name="5562NISTXML-SV-IV-atomic-ID-minLength-4-1 tokoe:valid" result="pass"/><test-case name="5563NISTXML-SV-IV-atomic-ID-minLength-4-2 tokoe:valid" result="pass"/><test-case name="5564NISTXML-SV-IV-atomic-ID-minLength-4-3 tokoe:valid" result="pass"/><test-case name="5565NISTXML-SV-IV-atomic-ID-minLength-4-4 tokoe:valid" result="pass"/><test-case name="5566NISTXML-SV-IV-atomic-ID-minLength-4-5 tokoe:valid" result="pass"/><test-case name="5567NISTSchema-SV-IV-atomic-ID-minLength-5 tokoe:valid" result="pass"/><test-case name="5568NISTXML-SV-IV-atomic-ID-minLength-5-1 tokoe:valid" result="pass"/><test-case name="5569NISTXML-SV-IV-atomic-ID-minLength-5-2 tokoe:valid" result="pass"/><test-case name="5570NISTXML-SV-IV-atomic-ID-minLength-5-3 tokoe:valid" result="pass"/><test-case name="5571NISTXML-SV-IV-atomic-ID-minLength-5-4 tokoe:valid" result="pass"/><test-case name="5572NISTXML-SV-IV-atomic-ID-minLength-5-5 tokoe:valid" result="pass"/><test-case name="5573NISTSchema-SV-IV-atomic-ID-length-1 tokoe:valid" result="pass"/><test-case name="5574NISTXML-SV-IV-atomic-ID-length-1-1 tokoe:valid" result="pass"/><test-case name="5575NISTXML-SV-IV-atomic-ID-length-1-2 tokoe:valid" result="pass"/><test-case name="5576NISTXML-SV-IV-atomic-ID-length-1-3 tokoe:valid" result="pass"/><test-case name="5577NISTXML-SV-IV-atomic-ID-length-1-4 tokoe:valid" result="pass"/><test-case name="5578NISTXML-SV-IV-atomic-ID-length-1-5 tokoe:valid" result="pass"/><test-case name="5579NISTSchema-SV-IV-atomic-ID-length-2 tokoe:valid" result="pass"/><test-case name="5580NISTXML-SV-IV-atomic-ID-length-2-1 tokoe:valid" result="pass"/><test-case name="5581NISTXML-SV-IV-atomic-ID-length-2-2 tokoe:valid" result="pass"/><test-case name="5582NISTXML-SV-IV-atomic-ID-length-2-3 tokoe:valid" result="pass"/><test-case name="5583NISTXML-SV-IV-atomic-ID-length-2-4 tokoe:valid" result="pass"/><test-case name="5584NISTXML-SV-IV-atomic-ID-length-2-5 tokoe:valid" result="pass"/><test-case name="5585NISTSchema-SV-IV-atomic-ID-length-3 tokoe:valid" result="pass"/><test-case name="5586NISTXML-SV-IV-atomic-ID-length-3-1 tokoe:valid" result="pass"/><test-case name="5587NISTXML-SV-IV-atomic-ID-length-3-2 tokoe:valid" result="pass"/><test-case name="5588NISTXML-SV-IV-atomic-ID-length-3-3 tokoe:valid" result="pass"/><test-case name="5589NISTXML-SV-IV-atomic-ID-length-3-4 tokoe:valid" result="pass"/><test-case name="5590NISTXML-SV-IV-atomic-ID-length-3-5 tokoe:valid" result="pass"/><test-case name="5591NISTSchema-SV-IV-atomic-ID-length-4 tokoe:valid" result="pass"/><test-case name="5592NISTXML-SV-IV-atomic-ID-length-4-1 tokoe:valid" result="pass"/><test-case name="5593NISTXML-SV-IV-atomic-ID-length-4-2 tokoe:valid" result="pass"/><test-case name="5594NISTXML-SV-IV-atomic-ID-length-4-3 tokoe:valid" result="pass"/><test-case name="5595NISTXML-SV-IV-atomic-ID-length-4-4 tokoe:valid" result="pass"/><test-case name="5596NISTXML-SV-IV-atomic-ID-length-4-5 tokoe:valid" result="pass"/><test-case name="5597NISTSchema-SV-IV-atomic-ID-length-5 tokoe:valid" result="pass"/><test-case name="5598NISTXML-SV-IV-atomic-ID-length-5-1 tokoe:valid" result="pass"/><test-case name="5599NISTXML-SV-IV-atomic-ID-length-5-2 tokoe:valid" result="pass"/><test-case name="5600NISTXML-SV-IV-atomic-ID-length-5-3 tokoe:valid" result="pass"/><test-case name="5601NISTXML-SV-IV-atomic-ID-length-5-4 tokoe:valid" result="pass"/><test-case name="5602NISTXML-SV-IV-atomic-ID-length-5-5 tokoe:valid" result="pass"/><test-case name="5603NISTSchema-SV-IV-atomic-ID-pattern-1 tokoe:valid" result="pass"/><test-case name="5604NISTXML-SV-IV-atomic-ID-pattern-1-1 tokoe:valid" result="pass"/><test-case name="5605NISTXML-SV-IV-atomic-ID-pattern-1-2 tokoe:valid" result="pass"/><test-case name="5606NISTXML-SV-IV-atomic-ID-pattern-1-3 tokoe:valid" result="pass"/><test-case name="5607NISTXML-SV-IV-atomic-ID-pattern-1-4 tokoe:valid" result="pass"/><test-case name="5608NISTXML-SV-IV-atomic-ID-pattern-1-5 tokoe:valid" result="pass"/><test-case name="5609NISTSchema-SV-IV-atomic-ID-pattern-2 tokoe:valid" result="pass"/><test-case name="5610NISTXML-SV-IV-atomic-ID-pattern-2-1 tokoe:valid" result="pass"/><test-case name="5611NISTXML-SV-IV-atomic-ID-pattern-2-2 tokoe:valid" result="pass"/><test-case name="5612NISTXML-SV-IV-atomic-ID-pattern-2-3 tokoe:valid" result="pass"/><test-case name="5613NISTXML-SV-IV-atomic-ID-pattern-2-4 tokoe:valid" result="pass"/><test-case name="5614NISTXML-SV-IV-atomic-ID-pattern-2-5 tokoe:valid" result="pass"/><test-case name="5615NISTSchema-SV-IV-atomic-ID-pattern-3 tokoe:valid" result="pass"/><test-case name="5616NISTXML-SV-IV-atomic-ID-pattern-3-1 tokoe:valid" result="pass"/><test-case name="5617NISTXML-SV-IV-atomic-ID-pattern-3-2 tokoe:valid" result="pass"/><test-case name="5618NISTXML-SV-IV-atomic-ID-pattern-3-3 tokoe:valid" result="pass"/><test-case name="5619NISTXML-SV-IV-atomic-ID-pattern-3-4 tokoe:valid" result="pass"/><test-case name="5620NISTXML-SV-IV-atomic-ID-pattern-3-5 tokoe:valid" result="pass"/><test-case name="5621NISTSchema-SV-IV-atomic-ID-pattern-4 tokoe:valid" result="pass"/><test-case name="5622NISTXML-SV-IV-atomic-ID-pattern-4-1 tokoe:valid" result="pass"/><test-case name="5623NISTXML-SV-IV-atomic-ID-pattern-4-2 tokoe:valid" result="pass"/><test-case name="5624NISTXML-SV-IV-atomic-ID-pattern-4-3 tokoe:valid" result="pass"/><test-case name="5625NISTXML-SV-IV-atomic-ID-pattern-4-4 tokoe:valid" result="pass"/><test-case name="5626NISTXML-SV-IV-atomic-ID-pattern-4-5 tokoe:valid" result="pass"/><test-case name="5627NISTSchema-SV-IV-atomic-ID-pattern-5 tokoe:valid" result="pass"/><test-case name="5628NISTXML-SV-IV-atomic-ID-pattern-5-1 tokoe:valid" result="pass"/><test-case name="5629NISTXML-SV-IV-atomic-ID-pattern-5-2 tokoe:valid" result="pass"/><test-case name="5630NISTXML-SV-IV-atomic-ID-pattern-5-3 tokoe:valid" result="pass"/><test-case name="5631NISTXML-SV-IV-atomic-ID-pattern-5-4 tokoe:valid" result="pass"/><test-case name="5632NISTXML-SV-IV-atomic-ID-pattern-5-5 tokoe:valid" result="pass"/><test-case name="5633NISTSchema-SV-IV-atomic-ID-enumeration-1 tokoe:valid" result="pass"/><test-case name="5634NISTXML-SV-IV-atomic-ID-enumeration-1-1 tokoe:valid" result="pass"/><test-case name="5635NISTXML-SV-IV-atomic-ID-enumeration-1-2 tokoe:valid" result="pass"/><test-case name="5636NISTXML-SV-IV-atomic-ID-enumeration-1-3 tokoe:valid" result="pass"/><test-case name="5637NISTXML-SV-IV-atomic-ID-enumeration-1-4 tokoe:valid" result="pass"/><test-case name="5638NISTXML-SV-IV-atomic-ID-enumeration-1-5 tokoe:valid" result="pass"/><test-case name="5639NISTSchema-SV-IV-atomic-ID-enumeration-2 tokoe:valid" result="pass"/><test-case name="5640NISTXML-SV-IV-atomic-ID-enumeration-2-1 tokoe:valid" result="pass"/><test-case name="5641NISTXML-SV-IV-atomic-ID-enumeration-2-2 tokoe:valid" result="pass"/><test-case name="5642NISTXML-SV-IV-atomic-ID-enumeration-2-3 tokoe:valid" result="pass"/><test-case name="5643NISTXML-SV-IV-atomic-ID-enumeration-2-4 tokoe:valid" result="pass"/><test-case name="5644NISTXML-SV-IV-atomic-ID-enumeration-2-5 tokoe:valid" result="pass"/><test-case name="5645NISTSchema-SV-IV-atomic-ID-enumeration-3 tokoe:valid" result="pass"/><test-case name="5646NISTXML-SV-IV-atomic-ID-enumeration-3-1 tokoe:valid" result="pass"/><test-case name="5647NISTXML-SV-IV-atomic-ID-enumeration-3-2 tokoe:valid" result="pass"/><test-case name="5648NISTXML-SV-IV-atomic-ID-enumeration-3-3 tokoe:valid" result="pass"/><test-case name="5649NISTXML-SV-IV-atomic-ID-enumeration-3-4 tokoe:valid" result="pass"/><test-case name="5650NISTXML-SV-IV-atomic-ID-enumeration-3-5 tokoe:valid" result="pass"/><test-case name="5651NISTSchema-SV-IV-atomic-ID-enumeration-4 tokoe:valid" result="pass"/><test-case name="5652NISTXML-SV-IV-atomic-ID-enumeration-4-1 tokoe:valid" result="pass"/><test-case name="5653NISTXML-SV-IV-atomic-ID-enumeration-4-2 tokoe:valid" result="pass"/><test-case name="5654NISTXML-SV-IV-atomic-ID-enumeration-4-3 tokoe:valid" result="pass"/><test-case name="5655NISTXML-SV-IV-atomic-ID-enumeration-4-4 tokoe:valid" result="pass"/><test-case name="5656NISTXML-SV-IV-atomic-ID-enumeration-4-5 tokoe:valid" result="pass"/><test-case name="5657NISTSchema-SV-IV-atomic-ID-enumeration-5 tokoe:valid" result="pass"/><test-case name="5658NISTXML-SV-IV-atomic-ID-enumeration-5-1 tokoe:valid" result="pass"/><test-case name="5659NISTXML-SV-IV-atomic-ID-enumeration-5-2 tokoe:valid" result="pass"/><test-case name="5660NISTXML-SV-IV-atomic-ID-enumeration-5-3 tokoe:valid" result="pass"/><test-case name="5661NISTXML-SV-IV-atomic-ID-enumeration-5-4 tokoe:valid" result="pass"/><test-case name="5662NISTXML-SV-IV-atomic-ID-enumeration-5-5 tokoe:valid" result="pass"/><test-case name="5663NISTSchema-SV-IV-atomic-ID-whiteSpace-1 tokoe:valid" result="pass"/><test-case name="5664NISTXML-SV-IV-atomic-ID-whiteSpace-1-1 tokoe:valid" result="pass"/><test-case name="5665NISTXML-SV-IV-atomic-ID-whiteSpace-1-2 tokoe:valid" result="pass"/><test-case name="5666NISTXML-SV-IV-atomic-ID-whiteSpace-1-3 tokoe:valid" result="pass"/><test-case name="5667NISTXML-SV-IV-atomic-ID-whiteSpace-1-4 tokoe:valid" result="pass"/><test-case name="5668NISTXML-SV-IV-atomic-ID-whiteSpace-1-5 tokoe:valid" result="pass"/><test-case name="5669NISTSchema-SV-IV-atomic-language-maxLength-1 tokoe:valid" result="pass"/><test-case name="5670NISTXML-SV-IV-atomic-language-maxLength-1-1 tokoe:valid" result="pass"/><test-case name="5671NISTXML-SV-IV-atomic-language-maxLength-1-2 tokoe:valid" result="pass"/><test-case name="5672NISTXML-SV-IV-atomic-language-maxLength-1-3 tokoe:valid" result="pass"/><test-case name="5673NISTXML-SV-IV-atomic-language-maxLength-1-4 tokoe:valid" result="pass"/><test-case name="5674NISTXML-SV-IV-atomic-language-maxLength-1-5 tokoe:valid" result="pass"/><test-case name="5675NISTSchema-SV-IV-atomic-language-maxLength-2 tokoe:valid" result="pass"/><test-case name="5676NISTXML-SV-IV-atomic-language-maxLength-2-1 tokoe:valid" result="pass"/><test-case name="5677NISTXML-SV-IV-atomic-language-maxLength-2-2 tokoe:valid" result="pass"/><test-case name="5678NISTXML-SV-IV-atomic-language-maxLength-2-3 tokoe:valid" result="pass"/><test-case name="5679NISTXML-SV-IV-atomic-language-maxLength-2-4 tokoe:valid" result="pass"/><test-case name="5680NISTXML-SV-IV-atomic-language-maxLength-2-5 tokoe:valid" result="pass"/><test-case name="5681NISTSchema-SV-IV-atomic-language-maxLength-3 tokoe:valid" result="pass"/><test-case name="5682NISTXML-SV-IV-atomic-language-maxLength-3-1 tokoe:valid" result="pass"/><test-case name="5683NISTXML-SV-IV-atomic-language-maxLength-3-2 tokoe:valid" result="pass"/><test-case name="5684NISTXML-SV-IV-atomic-language-maxLength-3-3 tokoe:valid" result="pass"/><test-case name="5685NISTXML-SV-IV-atomic-language-maxLength-3-4 tokoe:valid" result="pass"/><test-case name="5686NISTXML-SV-IV-atomic-language-maxLength-3-5 tokoe:valid" result="pass"/><test-case name="5687NISTSchema-SV-IV-atomic-language-maxLength-4 tokoe:valid" result="pass"/><test-case name="5688NISTXML-SV-IV-atomic-language-maxLength-4-1 tokoe:valid" result="pass"/><test-case name="5689NISTXML-SV-IV-atomic-language-maxLength-4-2 tokoe:valid" result="pass"/><test-case name="5690NISTXML-SV-IV-atomic-language-maxLength-4-3 tokoe:valid" result="pass"/><test-case name="5691NISTXML-SV-IV-atomic-language-maxLength-4-4 tokoe:valid" result="pass"/><test-case name="5692NISTXML-SV-IV-atomic-language-maxLength-4-5 tokoe:valid" result="pass"/><test-case name="5693NISTSchema-SV-IV-atomic-language-maxLength-5 tokoe:valid" result="pass"/><test-case name="5694NISTXML-SV-IV-atomic-language-maxLength-5-1 tokoe:valid" result="pass"/><test-case name="5695NISTXML-SV-IV-atomic-language-maxLength-5-2 tokoe:valid" result="pass"/><test-case name="5696NISTXML-SV-IV-atomic-language-maxLength-5-3 tokoe:valid" result="pass"/><test-case name="5697NISTXML-SV-IV-atomic-language-maxLength-5-4 tokoe:valid" result="pass"/><test-case name="5698NISTXML-SV-IV-atomic-language-maxLength-5-5 tokoe:valid" result="pass"/><test-case name="5699NISTSchema-SV-IV-atomic-language-minLength-1 tokoe:valid" result="pass"/><test-case name="5700NISTXML-SV-IV-atomic-language-minLength-1-1 tokoe:valid" result="pass"/><test-case name="5701NISTXML-SV-IV-atomic-language-minLength-1-2 tokoe:valid" result="pass"/><test-case name="5702NISTXML-SV-IV-atomic-language-minLength-1-3 tokoe:valid" result="pass"/><test-case name="5703NISTXML-SV-IV-atomic-language-minLength-1-4 tokoe:valid" result="pass"/><test-case name="5704NISTXML-SV-IV-atomic-language-minLength-1-5 tokoe:valid" result="pass"/><test-case name="5705NISTSchema-SV-IV-atomic-language-minLength-2 tokoe:valid" result="pass"/><test-case name="5706NISTXML-SV-IV-atomic-language-minLength-2-1 tokoe:valid" result="pass"/><test-case name="5707NISTXML-SV-IV-atomic-language-minLength-2-2 tokoe:valid" result="pass"/><test-case name="5708NISTXML-SV-IV-atomic-language-minLength-2-3 tokoe:valid" result="pass"/><test-case name="5709NISTXML-SV-IV-atomic-language-minLength-2-4 tokoe:valid" result="pass"/><test-case name="5710NISTXML-SV-IV-atomic-language-minLength-2-5 tokoe:valid" result="pass"/><test-case name="5711NISTSchema-SV-IV-atomic-language-minLength-3 tokoe:valid" result="pass"/><test-case name="5712NISTXML-SV-IV-atomic-language-minLength-3-1 tokoe:valid" result="pass"/><test-case name="5713NISTXML-SV-IV-atomic-language-minLength-3-2 tokoe:valid" result="pass"/><test-case name="5714NISTXML-SV-IV-atomic-language-minLength-3-3 tokoe:valid" result="pass"/><test-case name="5715NISTXML-SV-IV-atomic-language-minLength-3-4 tokoe:valid" result="pass"/><test-case name="5716NISTXML-SV-IV-atomic-language-minLength-3-5 tokoe:valid" result="pass"/><test-case name="5717NISTSchema-SV-IV-atomic-language-minLength-4 tokoe:valid" result="pass"/><test-case name="5718NISTXML-SV-IV-atomic-language-minLength-4-1 tokoe:valid" result="pass"/><test-case name="5719NISTXML-SV-IV-atomic-language-minLength-4-2 tokoe:valid" result="pass"/><test-case name="5720NISTXML-SV-IV-atomic-language-minLength-4-3 tokoe:valid" result="pass"/><test-case name="5721NISTXML-SV-IV-atomic-language-minLength-4-4 tokoe:valid" result="pass"/><test-case name="5722NISTXML-SV-IV-atomic-language-minLength-4-5 tokoe:valid" result="pass"/><test-case name="5723NISTSchema-SV-IV-atomic-language-minLength-5 tokoe:valid" result="pass"/><test-case name="5724NISTXML-SV-IV-atomic-language-minLength-5-1 tokoe:valid" result="pass"/><test-case name="5725NISTXML-SV-IV-atomic-language-minLength-5-2 tokoe:valid" result="pass"/><test-case name="5726NISTXML-SV-IV-atomic-language-minLength-5-3 tokoe:valid" result="pass"/><test-case name="5727NISTXML-SV-IV-atomic-language-minLength-5-4 tokoe:valid" result="pass"/><test-case name="5728NISTXML-SV-IV-atomic-language-minLength-5-5 tokoe:valid" result="pass"/><test-case name="5729NISTSchema-SV-IV-atomic-language-length-1 tokoe:valid" result="pass"/><test-case name="5730NISTXML-SV-IV-atomic-language-length-1-1 tokoe:valid" result="pass"/><test-case name="5731NISTXML-SV-IV-atomic-language-length-1-2 tokoe:valid" result="pass"/><test-case name="5732NISTXML-SV-IV-atomic-language-length-1-3 tokoe:valid" result="pass"/><test-case name="5733NISTXML-SV-IV-atomic-language-length-1-4 tokoe:valid" result="pass"/><test-case name="5734NISTXML-SV-IV-atomic-language-length-1-5 tokoe:valid" result="pass"/><test-case name="5735NISTSchema-SV-IV-atomic-language-length-2 tokoe:valid" result="pass"/><test-case name="5736NISTXML-SV-IV-atomic-language-length-2-1 tokoe:valid" result="pass"/><test-case name="5737NISTXML-SV-IV-atomic-language-length-2-2 tokoe:valid" result="pass"/><test-case name="5738NISTXML-SV-IV-atomic-language-length-2-3 tokoe:valid" result="pass"/><test-case name="5739NISTXML-SV-IV-atomic-language-length-2-4 tokoe:valid" result="pass"/><test-case name="5740NISTXML-SV-IV-atomic-language-length-2-5 tokoe:valid" result="pass"/><test-case name="5741NISTSchema-SV-IV-atomic-language-length-3 tokoe:valid" result="pass"/><test-case name="5742NISTXML-SV-IV-atomic-language-length-3-1 tokoe:valid" result="pass"/><test-case name="5743NISTXML-SV-IV-atomic-language-length-3-2 tokoe:valid" result="pass"/><test-case name="5744NISTXML-SV-IV-atomic-language-length-3-3 tokoe:valid" result="pass"/><test-case name="5745NISTXML-SV-IV-atomic-language-length-3-4 tokoe:valid" result="pass"/><test-case name="5746NISTXML-SV-IV-atomic-language-length-3-5 tokoe:valid" result="pass"/><test-case name="5747NISTSchema-SV-IV-atomic-language-length-4 tokoe:valid" result="pass"/><test-case name="5748NISTXML-SV-IV-atomic-language-length-4-1 tokoe:valid" result="pass"/><test-case name="5749NISTXML-SV-IV-atomic-language-length-4-2 tokoe:valid" result="pass"/><test-case name="5750NISTXML-SV-IV-atomic-language-length-4-3 tokoe:valid" result="pass"/><test-case name="5751NISTXML-SV-IV-atomic-language-length-4-4 tokoe:valid" result="pass"/><test-case name="5752NISTXML-SV-IV-atomic-language-length-4-5 tokoe:valid" result="pass"/><test-case name="5753NISTSchema-SV-IV-atomic-language-length-5 tokoe:valid" result="pass"/><test-case name="5754NISTXML-SV-IV-atomic-language-length-5-1 tokoe:valid" result="pass"/><test-case name="5755NISTXML-SV-IV-atomic-language-length-5-2 tokoe:valid" result="pass"/><test-case name="5756NISTXML-SV-IV-atomic-language-length-5-3 tokoe:valid" result="pass"/><test-case name="5757NISTXML-SV-IV-atomic-language-length-5-4 tokoe:valid" result="pass"/><test-case name="5758NISTXML-SV-IV-atomic-language-length-5-5 tokoe:valid" result="pass"/><test-case name="5759NISTSchema-SV-IV-atomic-language-pattern-1 tokoe:valid" result="pass"/><test-case name="5760NISTXML-SV-IV-atomic-language-pattern-1-1 tokoe:valid" result="pass"/><test-case name="5761NISTXML-SV-IV-atomic-language-pattern-1-2 tokoe:valid" result="pass"/><test-case name="5762NISTXML-SV-IV-atomic-language-pattern-1-3 tokoe:valid" result="pass"/><test-case name="5763NISTXML-SV-IV-atomic-language-pattern-1-4 tokoe:valid" result="pass"/><test-case name="5764NISTXML-SV-IV-atomic-language-pattern-1-5 tokoe:valid" result="pass"/><test-case name="5765NISTSchema-SV-IV-atomic-language-pattern-2 tokoe:valid" result="pass"/><test-case name="5766NISTXML-SV-IV-atomic-language-pattern-2-1 tokoe:valid" result="pass"/><test-case name="5767NISTXML-SV-IV-atomic-language-pattern-2-2 tokoe:valid" result="pass"/><test-case name="5768NISTXML-SV-IV-atomic-language-pattern-2-3 tokoe:valid" result="pass"/><test-case name="5769NISTXML-SV-IV-atomic-language-pattern-2-4 tokoe:valid" result="pass"/><test-case name="5770NISTXML-SV-IV-atomic-language-pattern-2-5 tokoe:valid" result="pass"/><test-case name="5771NISTSchema-SV-IV-atomic-language-pattern-3 tokoe:valid" result="pass"/><test-case name="5772NISTXML-SV-IV-atomic-language-pattern-3-1 tokoe:valid" result="pass"/><test-case name="5773NISTXML-SV-IV-atomic-language-pattern-3-2 tokoe:valid" result="pass"/><test-case name="5774NISTXML-SV-IV-atomic-language-pattern-3-3 tokoe:valid" result="pass"/><test-case name="5775NISTXML-SV-IV-atomic-language-pattern-3-4 tokoe:valid" result="pass"/><test-case name="5776NISTXML-SV-IV-atomic-language-pattern-3-5 tokoe:valid" result="pass"/><test-case name="5777NISTSchema-SV-IV-atomic-language-pattern-4 tokoe:valid" result="pass"/><test-case name="5778NISTXML-SV-IV-atomic-language-pattern-4-1 tokoe:valid" result="pass"/><test-case name="5779NISTXML-SV-IV-atomic-language-pattern-4-2 tokoe:valid" result="pass"/><test-case name="5780NISTXML-SV-IV-atomic-language-pattern-4-3 tokoe:valid" result="pass"/><test-case name="5781NISTXML-SV-IV-atomic-language-pattern-4-4 tokoe:valid" result="pass"/><test-case name="5782NISTXML-SV-IV-atomic-language-pattern-4-5 tokoe:valid" result="pass"/><test-case name="5783NISTSchema-SV-IV-atomic-language-pattern-5 tokoe:valid" result="pass"/><test-case name="5784NISTXML-SV-IV-atomic-language-pattern-5-1 tokoe:valid" result="pass"/><test-case name="5785NISTXML-SV-IV-atomic-language-pattern-5-2 tokoe:valid" result="pass"/><test-case name="5786NISTXML-SV-IV-atomic-language-pattern-5-3 tokoe:valid" result="pass"/><test-case name="5787NISTXML-SV-IV-atomic-language-pattern-5-4 tokoe:valid" result="pass"/><test-case name="5788NISTXML-SV-IV-atomic-language-pattern-5-5 tokoe:valid" result="pass"/><test-case name="5789NISTSchema-SV-IV-atomic-language-enumeration-1 tokoe:valid" result="pass"/><test-case name="5790NISTXML-SV-IV-atomic-language-enumeration-1-1 tokoe:valid" result="pass"/><test-case name="5791NISTXML-SV-IV-atomic-language-enumeration-1-2 tokoe:valid" result="pass"/><test-case name="5792NISTXML-SV-IV-atomic-language-enumeration-1-3 tokoe:valid" result="pass"/><test-case name="5793NISTXML-SV-IV-atomic-language-enumeration-1-4 tokoe:valid" result="pass"/><test-case name="5794NISTXML-SV-IV-atomic-language-enumeration-1-5 tokoe:valid" result="pass"/><test-case name="5795NISTSchema-SV-IV-atomic-language-enumeration-2 tokoe:valid" result="pass"/><test-case name="5796NISTXML-SV-IV-atomic-language-enumeration-2-1 tokoe:valid" result="pass"/><test-case name="5797NISTXML-SV-IV-atomic-language-enumeration-2-2 tokoe:valid" result="pass"/><test-case name="5798NISTXML-SV-IV-atomic-language-enumeration-2-3 tokoe:valid" result="pass"/><test-case name="5799NISTXML-SV-IV-atomic-language-enumeration-2-4 tokoe:valid" result="pass"/><test-case name="5800NISTXML-SV-IV-atomic-language-enumeration-2-5 tokoe:valid" result="pass"/><test-case name="5801NISTSchema-SV-IV-atomic-language-enumeration-3 tokoe:valid" result="pass"/><test-case name="5802NISTXML-SV-IV-atomic-language-enumeration-3-1 tokoe:valid" result="pass"/><test-case name="5803NISTXML-SV-IV-atomic-language-enumeration-3-2 tokoe:valid" result="pass"/><test-case name="5804NISTXML-SV-IV-atomic-language-enumeration-3-3 tokoe:valid" result="pass"/><test-case name="5805NISTXML-SV-IV-atomic-language-enumeration-3-4 tokoe:valid" result="pass"/><test-case name="5806NISTXML-SV-IV-atomic-language-enumeration-3-5 tokoe:valid" result="pass"/><test-case name="5807NISTSchema-SV-IV-atomic-language-enumeration-4 tokoe:valid" result="pass"/><test-case name="5808NISTXML-SV-IV-atomic-language-enumeration-4-1 tokoe:valid" result="pass"/><test-case name="5809NISTXML-SV-IV-atomic-language-enumeration-4-2 tokoe:valid" result="pass"/><test-case name="5810NISTXML-SV-IV-atomic-language-enumeration-4-3 tokoe:valid" result="pass"/><test-case name="5811NISTXML-SV-IV-atomic-language-enumeration-4-4 tokoe:valid" result="pass"/><test-case name="5812NISTXML-SV-IV-atomic-language-enumeration-4-5 tokoe:valid" result="pass"/><test-case name="5813NISTSchema-SV-IV-atomic-language-enumeration-5 tokoe:valid" result="pass"/><test-case name="5814NISTXML-SV-IV-atomic-language-enumeration-5-1 tokoe:valid" result="pass"/><test-case name="5815NISTXML-SV-IV-atomic-language-enumeration-5-2 tokoe:valid" result="pass"/><test-case name="5816NISTXML-SV-IV-atomic-language-enumeration-5-3 tokoe:valid" result="pass"/><test-case name="5817NISTXML-SV-IV-atomic-language-enumeration-5-4 tokoe:valid" result="pass"/><test-case name="5818NISTXML-SV-IV-atomic-language-enumeration-5-5 tokoe:valid" result="pass"/><test-case name="5819NISTSchema-SV-IV-atomic-language-whiteSpace-1 tokoe:valid" result="pass"/><test-case name="5820NISTXML-SV-IV-atomic-language-whiteSpace-1-1 tokoe:valid" result="pass"/><test-case name="5821NISTXML-SV-IV-atomic-language-whiteSpace-1-2 tokoe:valid" result="pass"/><test-case name="5822NISTXML-SV-IV-atomic-language-whiteSpace-1-3 tokoe:valid" result="pass"/><test-case name="5823NISTXML-SV-IV-atomic-language-whiteSpace-1-4 tokoe:valid" result="pass"/><test-case name="5824NISTXML-SV-IV-atomic-language-whiteSpace-1-5 tokoe:valid" result="pass"/><test-case name="5825NISTSchema-SV-IV-atomic-anyURI-maxLength-1 tokoe:valid" result="pass"/><test-case name="5826NISTXML-SV-IV-atomic-anyURI-maxLength-1-1 tokoe:valid" result="pass"/><test-case name="5827NISTXML-SV-IV-atomic-anyURI-maxLength-1-2 tokoe:valid" result="pass"/><test-case name="5828NISTXML-SV-IV-atomic-anyURI-maxLength-1-3 tokoe:valid" result="pass"/><test-case name="5829NISTXML-SV-IV-atomic-anyURI-maxLength-1-4 tokoe:valid" result="pass"/><test-case name="5830NISTXML-SV-IV-atomic-anyURI-maxLength-1-5 tokoe:valid" result="pass"/><test-case name="5831NISTSchema-SV-IV-atomic-anyURI-maxLength-2 tokoe:valid" result="pass"/><test-case name="5832NISTXML-SV-IV-atomic-anyURI-maxLength-2-1 tokoe:valid" result="pass"/><test-case name="5833NISTXML-SV-IV-atomic-anyURI-maxLength-2-2 tokoe:valid" result="pass"/><test-case name="5834NISTXML-SV-IV-atomic-anyURI-maxLength-2-3 tokoe:valid" result="pass"/><test-case name="5835NISTXML-SV-IV-atomic-anyURI-maxLength-2-4 tokoe:valid" result="pass"/><test-case name="5836NISTXML-SV-IV-atomic-anyURI-maxLength-2-5 tokoe:valid" result="pass"/><test-case name="5837NISTSchema-SV-IV-atomic-anyURI-maxLength-3 tokoe:valid" result="pass"/><test-case name="5838NISTXML-SV-IV-atomic-anyURI-maxLength-3-1 tokoe:valid" result="pass"/><test-case name="5839NISTXML-SV-IV-atomic-anyURI-maxLength-3-2 tokoe:valid" result="pass"/><test-case name="5840NISTXML-SV-IV-atomic-anyURI-maxLength-3-3 tokoe:valid" result="pass"/><test-case name="5841NISTXML-SV-IV-atomic-anyURI-maxLength-3-4 tokoe:valid" result="pass"/><test-case name="5842NISTXML-SV-IV-atomic-anyURI-maxLength-3-5 tokoe:valid" result="pass"/><test-case name="5843NISTSchema-SV-IV-atomic-anyURI-maxLength-4 tokoe:valid" result="pass"/><test-case name="5844NISTXML-SV-IV-atomic-anyURI-maxLength-4-1 tokoe:valid" result="pass"/><test-case name="5845NISTXML-SV-IV-atomic-anyURI-maxLength-4-2 tokoe:valid" result="pass"/><test-case name="5846NISTXML-SV-IV-atomic-anyURI-maxLength-4-3 tokoe:valid" result="pass"/><test-case name="5847NISTXML-SV-IV-atomic-anyURI-maxLength-4-4 tokoe:valid" result="pass"/><test-case name="5848NISTXML-SV-IV-atomic-anyURI-maxLength-4-5 tokoe:valid" result="pass"/><test-case name="5849NISTSchema-SV-IV-atomic-anyURI-maxLength-5 tokoe:valid" result="pass"/><test-case name="5850NISTXML-SV-IV-atomic-anyURI-maxLength-5-1 tokoe:valid" result="pass"/><test-case name="5851NISTXML-SV-IV-atomic-anyURI-maxLength-5-2 tokoe:valid" result="pass"/><test-case name="5852NISTXML-SV-IV-atomic-anyURI-maxLength-5-3 tokoe:valid" result="pass"/><test-case name="5853NISTXML-SV-IV-atomic-anyURI-maxLength-5-4 tokoe:valid" result="pass"/><test-case name="5854NISTXML-SV-IV-atomic-anyURI-maxLength-5-5 tokoe:valid" result="pass"/><test-case name="5855NISTSchema-SV-IV-atomic-anyURI-minLength-1 tokoe:valid" result="pass"/><test-case name="5856NISTXML-SV-IV-atomic-anyURI-minLength-1-1 tokoe:valid" result="pass"/><test-case name="5857NISTXML-SV-IV-atomic-anyURI-minLength-1-2 tokoe:valid" result="pass"/><test-case name="5858NISTXML-SV-IV-atomic-anyURI-minLength-1-3 tokoe:valid" result="pass"/><test-case name="5859NISTXML-SV-IV-atomic-anyURI-minLength-1-4 tokoe:valid" result="pass"/><test-case name="5860NISTXML-SV-IV-atomic-anyURI-minLength-1-5 tokoe:valid" result="pass"/><test-case name="5861NISTSchema-SV-IV-atomic-anyURI-minLength-2 tokoe:valid" result="pass"/><test-case name="5862NISTXML-SV-IV-atomic-anyURI-minLength-2-1 tokoe:valid" result="pass"/><test-case name="5863NISTXML-SV-IV-atomic-anyURI-minLength-2-2 tokoe:valid" result="pass"/><test-case name="5864NISTXML-SV-IV-atomic-anyURI-minLength-2-3 tokoe:valid" result="pass"/><test-case name="5865NISTXML-SV-IV-atomic-anyURI-minLength-2-4 tokoe:valid" result="pass"/><test-case name="5866NISTXML-SV-IV-atomic-anyURI-minLength-2-5 tokoe:valid" result="pass"/><test-case name="5867NISTSchema-SV-IV-atomic-anyURI-minLength-3 tokoe:valid" result="pass"/><test-case name="5868NISTXML-SV-IV-atomic-anyURI-minLength-3-1 tokoe:valid" result="pass"/><test-case name="5869NISTXML-SV-IV-atomic-anyURI-minLength-3-2 tokoe:valid" result="pass"/><test-case name="5870NISTXML-SV-IV-atomic-anyURI-minLength-3-3 tokoe:valid" result="pass"/><test-case name="5871NISTXML-SV-IV-atomic-anyURI-minLength-3-4 tokoe:valid" result="pass"/><test-case name="5872NISTXML-SV-IV-atomic-anyURI-minLength-3-5 tokoe:valid" result="pass"/><test-case name="5873NISTSchema-SV-IV-atomic-anyURI-minLength-4 tokoe:valid" result="pass"/><test-case name="5874NISTXML-SV-IV-atomic-anyURI-minLength-4-1 tokoe:valid" result="pass"/><test-case name="5875NISTXML-SV-IV-atomic-anyURI-minLength-4-2 tokoe:valid" result="pass"/><test-case name="5876NISTXML-SV-IV-atomic-anyURI-minLength-4-3 tokoe:valid" result="pass"/><test-case name="5877NISTXML-SV-IV-atomic-anyURI-minLength-4-4 tokoe:valid" result="pass"/><test-case name="5878NISTXML-SV-IV-atomic-anyURI-minLength-4-5 tokoe:valid" result="pass"/><test-case name="5879NISTSchema-SV-IV-atomic-anyURI-minLength-5 tokoe:valid" result="pass"/><test-case name="5880NISTXML-SV-IV-atomic-anyURI-minLength-5-1 tokoe:valid" result="pass"/><test-case name="5881NISTXML-SV-IV-atomic-anyURI-minLength-5-2 tokoe:valid" result="pass"/><test-case name="5882NISTXML-SV-IV-atomic-anyURI-minLength-5-3 tokoe:valid" result="pass"/><test-case name="5883NISTXML-SV-IV-atomic-anyURI-minLength-5-4 tokoe:valid" result="pass"/><test-case name="5884NISTXML-SV-IV-atomic-anyURI-minLength-5-5 tokoe:valid" result="pass"/><test-case name="5885NISTSchema-SV-IV-atomic-anyURI-length-1 tokoe:valid" result="pass"/><test-case name="5886NISTXML-SV-IV-atomic-anyURI-length-1-1 tokoe:valid" result="pass"/><test-case name="5887NISTXML-SV-IV-atomic-anyURI-length-1-2 tokoe:valid" result="pass"/><test-case name="5888NISTXML-SV-IV-atomic-anyURI-length-1-3 tokoe:valid" result="pass"/><test-case name="5889NISTXML-SV-IV-atomic-anyURI-length-1-4 tokoe:valid" result="pass"/><test-case name="5890NISTXML-SV-IV-atomic-anyURI-length-1-5 tokoe:valid" result="pass"/><test-case name="5891NISTSchema-SV-IV-atomic-anyURI-length-2 tokoe:valid" result="pass"/><test-case name="5892NISTXML-SV-IV-atomic-anyURI-length-2-1 tokoe:valid" result="pass"/><test-case name="5893NISTXML-SV-IV-atomic-anyURI-length-2-2 tokoe:valid" result="pass"/><test-case name="5894NISTXML-SV-IV-atomic-anyURI-length-2-3 tokoe:valid" result="pass"/><test-case name="5895NISTXML-SV-IV-atomic-anyURI-length-2-4 tokoe:valid" result="pass"/><test-case name="5896NISTXML-SV-IV-atomic-anyURI-length-2-5 tokoe:valid" result="pass"/><test-case name="5897NISTSchema-SV-IV-atomic-anyURI-length-3 tokoe:valid" result="pass"/><test-case name="5898NISTXML-SV-IV-atomic-anyURI-length-3-1 tokoe:valid" result="pass"/><test-case name="5899NISTXML-SV-IV-atomic-anyURI-length-3-2 tokoe:valid" result="pass"/><test-case name="5900NISTXML-SV-IV-atomic-anyURI-length-3-3 tokoe:valid" result="pass"/><test-case name="5901NISTXML-SV-IV-atomic-anyURI-length-3-4 tokoe:valid" result="pass"/><test-case name="5902NISTXML-SV-IV-atomic-anyURI-length-3-5 tokoe:valid" result="pass"/><test-case name="5903NISTSchema-SV-IV-atomic-anyURI-length-4 tokoe:valid" result="pass"/><test-case name="5904NISTXML-SV-IV-atomic-anyURI-length-4-1 tokoe:valid" result="pass"/><test-case name="5905NISTXML-SV-IV-atomic-anyURI-length-4-2 tokoe:valid" result="pass"/><test-case name="5906NISTXML-SV-IV-atomic-anyURI-length-4-3 tokoe:valid" result="pass"/><test-case name="5907NISTXML-SV-IV-atomic-anyURI-length-4-4 tokoe:valid" result="pass"/><test-case name="5908NISTXML-SV-IV-atomic-anyURI-length-4-5 tokoe:valid" result="pass"/><test-case name="5909NISTSchema-SV-IV-atomic-anyURI-length-5 tokoe:valid" result="pass"/><test-case name="5910NISTXML-SV-IV-atomic-anyURI-length-5-1 tokoe:valid" result="pass"/><test-case name="5911NISTXML-SV-IV-atomic-anyURI-length-5-2 tokoe:valid" result="pass"/><test-case name="5912NISTXML-SV-IV-atomic-anyURI-length-5-3 tokoe:valid" result="pass"/><test-case name="5913NISTXML-SV-IV-atomic-anyURI-length-5-4 tokoe:valid" result="pass"/><test-case name="5914NISTXML-SV-IV-atomic-anyURI-length-5-5 tokoe:valid" result="pass"/><test-case name="5915NISTSchema-SV-IV-atomic-anyURI-pattern-1 tokoe:valid" result="pass"/><test-case name="5916NISTXML-SV-IV-atomic-anyURI-pattern-1-1 tokoe:valid" result="pass"/><test-case name="5917NISTXML-SV-IV-atomic-anyURI-pattern-1-2 tokoe:valid" result="pass"/><test-case name="5918NISTXML-SV-IV-atomic-anyURI-pattern-1-3 tokoe:valid" result="pass"/><test-case name="5919NISTXML-SV-IV-atomic-anyURI-pattern-1-4 tokoe:valid" result="pass"/><test-case name="5920NISTXML-SV-IV-atomic-anyURI-pattern-1-5 tokoe:valid" result="pass"/><test-case name="5921NISTSchema-SV-IV-atomic-anyURI-pattern-2 tokoe:valid" result="pass"/><test-case name="5922NISTXML-SV-IV-atomic-anyURI-pattern-2-1 tokoe:valid" result="pass"/><test-case name="5923NISTXML-SV-IV-atomic-anyURI-pattern-2-2 tokoe:valid" result="pass"/><test-case name="5924NISTXML-SV-IV-atomic-anyURI-pattern-2-3 tokoe:valid" result="pass"/><test-case name="5925NISTXML-SV-IV-atomic-anyURI-pattern-2-4 tokoe:valid" result="pass"/><test-case name="5926NISTXML-SV-IV-atomic-anyURI-pattern-2-5 tokoe:valid" result="pass"/><test-case name="5927NISTSchema-SV-IV-atomic-anyURI-pattern-3 tokoe:valid" result="pass"/><test-case name="5928NISTXML-SV-IV-atomic-anyURI-pattern-3-1 tokoe:valid" result="pass"/><test-case name="5929NISTXML-SV-IV-atomic-anyURI-pattern-3-2 tokoe:valid" result="pass"/><test-case name="5930NISTXML-SV-IV-atomic-anyURI-pattern-3-3 tokoe:valid" result="pass"/><test-case name="5931NISTXML-SV-IV-atomic-anyURI-pattern-3-4 tokoe:valid" result="pass"/><test-case name="5932NISTXML-SV-IV-atomic-anyURI-pattern-3-5 tokoe:valid" result="pass"/><test-case name="5933NISTSchema-SV-IV-atomic-anyURI-pattern-4 tokoe:valid" result="pass"/><test-case name="5934NISTXML-SV-IV-atomic-anyURI-pattern-4-1 tokoe:valid" result="pass"/><test-case name="5935NISTXML-SV-IV-atomic-anyURI-pattern-4-2 tokoe:valid" result="pass"/><test-case name="5936NISTXML-SV-IV-atomic-anyURI-pattern-4-3 tokoe:valid" result="pass"/><test-case name="5937NISTXML-SV-IV-atomic-anyURI-pattern-4-4 tokoe:valid" result="pass"/><test-case name="5938NISTXML-SV-IV-atomic-anyURI-pattern-4-5 tokoe:valid" result="pass"/><test-case name="5939NISTSchema-SV-IV-atomic-anyURI-pattern-5 tokoe:valid" result="pass"/><test-case name="5940NISTXML-SV-IV-atomic-anyURI-pattern-5-1 tokoe:valid" result="pass"/><test-case name="5941NISTXML-SV-IV-atomic-anyURI-pattern-5-2 tokoe:valid" result="pass"/><test-case name="5942NISTXML-SV-IV-atomic-anyURI-pattern-5-3 tokoe:valid" result="pass"/><test-case name="5943NISTXML-SV-IV-atomic-anyURI-pattern-5-4 tokoe:valid" result="pass"/><test-case name="5944NISTXML-SV-IV-atomic-anyURI-pattern-5-5 tokoe:valid" result="pass"/><test-case name="5945NISTSchema-SV-IV-atomic-anyURI-enumeration-1 tokoe:valid" result="pass"/><test-case name="5946NISTXML-SV-IV-atomic-anyURI-enumeration-1-1 tokoe:valid" result="pass"/><test-case name="5947NISTXML-SV-IV-atomic-anyURI-enumeration-1-2 tokoe:valid" result="pass"/><test-case name="5948NISTXML-SV-IV-atomic-anyURI-enumeration-1-3 tokoe:valid" result="pass"/><test-case name="5949NISTXML-SV-IV-atomic-anyURI-enumeration-1-4 tokoe:valid" result="pass"/><test-case name="5950NISTXML-SV-IV-atomic-anyURI-enumeration-1-5 tokoe:valid" result="pass"/><test-case name="5951NISTSchema-SV-IV-atomic-anyURI-enumeration-2 tokoe:valid" result="pass"/><test-case name="5952NISTXML-SV-IV-atomic-anyURI-enumeration-2-1 tokoe:valid" result="pass"/><test-case name="5953NISTXML-SV-IV-atomic-anyURI-enumeration-2-2 tokoe:valid" result="pass"/><test-case name="5954NISTXML-SV-IV-atomic-anyURI-enumeration-2-3 tokoe:valid" result="pass"/><test-case name="5955NISTXML-SV-IV-atomic-anyURI-enumeration-2-4 tokoe:valid" result="pass"/><test-case name="5956NISTXML-SV-IV-atomic-anyURI-enumeration-2-5 tokoe:valid" result="pass"/><test-case name="5957NISTSchema-SV-IV-atomic-anyURI-enumeration-3 tokoe:valid" result="pass"/><test-case name="5958NISTXML-SV-IV-atomic-anyURI-enumeration-3-1 tokoe:valid" result="pass"/><test-case name="5959NISTXML-SV-IV-atomic-anyURI-enumeration-3-2 tokoe:valid" result="pass"/><test-case name="5960NISTXML-SV-IV-atomic-anyURI-enumeration-3-3 tokoe:valid" result="pass"/><test-case name="5961NISTXML-SV-IV-atomic-anyURI-enumeration-3-4 tokoe:valid" result="pass"/><test-case name="5962NISTXML-SV-IV-atomic-anyURI-enumeration-3-5 tokoe:valid" result="pass"/><test-case name="5963NISTSchema-SV-IV-atomic-anyURI-enumeration-4 tokoe:valid" result="pass"/><test-case name="5964NISTXML-SV-IV-atomic-anyURI-enumeration-4-1 tokoe:valid" result="pass"/><test-case name="5965NISTXML-SV-IV-atomic-anyURI-enumeration-4-2 tokoe:valid" result="pass"/><test-case name="5966NISTXML-SV-IV-atomic-anyURI-enumeration-4-3 tokoe:valid" result="pass"/><test-case name="5967NISTXML-SV-IV-atomic-anyURI-enumeration-4-4 tokoe:valid" result="pass"/><test-case name="5968NISTXML-SV-IV-atomic-anyURI-enumeration-4-5 tokoe:valid" result="pass"/><test-case name="5969NISTSchema-SV-IV-atomic-anyURI-enumeration-5 tokoe:valid" result="pass"/><test-case name="5970NISTXML-SV-IV-atomic-anyURI-enumeration-5-1 tokoe:valid" result="pass"/><test-case name="5971NISTXML-SV-IV-atomic-anyURI-enumeration-5-2 tokoe:valid" result="pass"/><test-case name="5972NISTXML-SV-IV-atomic-anyURI-enumeration-5-3 tokoe:valid" result="pass"/><test-case name="5973NISTXML-SV-IV-atomic-anyURI-enumeration-5-4 tokoe:valid" result="pass"/><test-case name="5974NISTXML-SV-IV-atomic-anyURI-enumeration-5-5 tokoe:valid" result="pass"/><test-case name="5975NISTSchema-SV-IV-atomic-anyURI-whiteSpace-1 tokoe:valid" result="pass"/><test-case name="5976NISTXML-SV-IV-atomic-anyURI-whiteSpace-1-1 tokoe:valid" result="pass"/><test-case name="5977NISTXML-SV-IV-atomic-anyURI-whiteSpace-1-2 tokoe:valid" result="pass"/><test-case name="5978NISTXML-SV-IV-atomic-anyURI-whiteSpace-1-3 tokoe:valid" result="pass"/><test-case name="5979NISTXML-SV-IV-atomic-anyURI-whiteSpace-1-4 tokoe:valid" result="pass"/><test-case name="5980NISTXML-SV-IV-atomic-anyURI-whiteSpace-1-5 tokoe:valid" result="pass"/><test-case name="5981NISTSchema-SV-IV-atomic-QName-maxLength-1 tokoe:valid" result="pass"/><test-case name="5982NISTXML-SV-IV-atomic-QName-maxLength-1-1 tokoe:valid" result="pass"/><test-case name="5983NISTXML-SV-IV-atomic-QName-maxLength-1-2 tokoe:valid" result="pass"/><test-case name="5984NISTXML-SV-IV-atomic-QName-maxLength-1-3 tokoe:valid" result="pass"/><test-case name="5985NISTXML-SV-IV-atomic-QName-maxLength-1-4 tokoe:valid" result="pass"/><test-case name="5986NISTXML-SV-IV-atomic-QName-maxLength-1-5 tokoe:valid" result="pass"/><test-case name="5987NISTSchema-SV-IV-atomic-QName-maxLength-2 tokoe:valid" result="pass"/><test-case name="5988NISTXML-SV-IV-atomic-QName-maxLength-2-1 tokoe:valid" result="pass"/><test-case name="5989NISTXML-SV-IV-atomic-QName-maxLength-2-2 tokoe:valid" result="pass"/><test-case name="5990NISTXML-SV-IV-atomic-QName-maxLength-2-3 tokoe:valid" result="pass"/><test-case name="5991NISTXML-SV-IV-atomic-QName-maxLength-2-4 tokoe:valid" result="pass"/><test-case name="5992NISTXML-SV-IV-atomic-QName-maxLength-2-5 tokoe:valid" result="pass"/><test-case name="5993NISTSchema-SV-IV-atomic-QName-maxLength-3 tokoe:valid" result="pass"/><test-case name="5994NISTXML-SV-IV-atomic-QName-maxLength-3-1 tokoe:valid" result="pass"/><test-case name="5995NISTXML-SV-IV-atomic-QName-maxLength-3-2 tokoe:valid" result="pass"/><test-case name="5996NISTXML-SV-IV-atomic-QName-maxLength-3-3 tokoe:valid" result="pass"/><test-case name="5997NISTXML-SV-IV-atomic-QName-maxLength-3-4 tokoe:valid" result="pass"/><test-case name="5998NISTXML-SV-IV-atomic-QName-maxLength-3-5 tokoe:valid" result="pass"/><test-case name="5999NISTSchema-SV-IV-atomic-QName-maxLength-4 tokoe:valid" result="pass"/><test-case name="6000NISTXML-SV-IV-atomic-QName-maxLength-4-1 tokoe:valid" result="pass"/><test-case name="6001NISTXML-SV-IV-atomic-QName-maxLength-4-2 tokoe:valid" result="pass"/><test-case name="6002NISTXML-SV-IV-atomic-QName-maxLength-4-3 tokoe:valid" result="pass"/><test-case name="6003NISTXML-SV-IV-atomic-QName-maxLength-4-4 tokoe:valid" result="pass"/><test-case name="6004NISTXML-SV-IV-atomic-QName-maxLength-4-5 tokoe:valid" result="pass"/><test-case name="6005NISTSchema-SV-IV-atomic-QName-maxLength-5 tokoe:valid" result="pass"/><test-case name="6006NISTXML-SV-IV-atomic-QName-maxLength-5-1 tokoe:valid" result="pass"/><test-case name="6007NISTXML-SV-IV-atomic-QName-maxLength-5-2 tokoe:valid" result="pass"/><test-case name="6008NISTXML-SV-IV-atomic-QName-maxLength-5-3 tokoe:valid" result="pass"/><test-case name="6009NISTXML-SV-IV-atomic-QName-maxLength-5-4 tokoe:valid" result="pass"/><test-case name="6010NISTXML-SV-IV-atomic-QName-maxLength-5-5 tokoe:valid" result="pass"/><test-case name="6011NISTSchema-SV-IV-atomic-QName-minLength-1 tokoe:valid" result="pass"/><test-case name="6012NISTXML-SV-IV-atomic-QName-minLength-1-1 tokoe:valid" result="pass"/><test-case name="6013NISTXML-SV-IV-atomic-QName-minLength-1-2 tokoe:valid" result="pass"/><test-case name="6014NISTXML-SV-IV-atomic-QName-minLength-1-3 tokoe:valid" result="pass"/><test-case name="6015NISTXML-SV-IV-atomic-QName-minLength-1-4 tokoe:valid" result="pass"/><test-case name="6016NISTXML-SV-IV-atomic-QName-minLength-1-5 tokoe:valid" result="pass"/><test-case name="6017NISTSchema-SV-IV-atomic-QName-minLength-2 tokoe:valid" result="pass"/><test-case name="6018NISTXML-SV-IV-atomic-QName-minLength-2-1 tokoe:valid" result="pass"/><test-case name="6019NISTXML-SV-IV-atomic-QName-minLength-2-2 tokoe:valid" result="pass"/><test-case name="6020NISTXML-SV-IV-atomic-QName-minLength-2-3 tokoe:valid" result="pass"/><test-case name="6021NISTXML-SV-IV-atomic-QName-minLength-2-4 tokoe:valid" result="pass"/><test-case name="6022NISTXML-SV-IV-atomic-QName-minLength-2-5 tokoe:valid" result="pass"/><test-case name="6023NISTSchema-SV-IV-atomic-QName-minLength-3 tokoe:valid" result="pass"/><test-case name="6024NISTXML-SV-IV-atomic-QName-minLength-3-1 tokoe:valid" result="pass"/><test-case name="6025NISTXML-SV-IV-atomic-QName-minLength-3-2 tokoe:valid" result="pass"/><test-case name="6026NISTXML-SV-IV-atomic-QName-minLength-3-3 tokoe:valid" result="pass"/><test-case name="6027NISTXML-SV-IV-atomic-QName-minLength-3-4 tokoe:valid" result="pass"/><test-case name="6028NISTXML-SV-IV-atomic-QName-minLength-3-5 tokoe:valid" result="pass"/><test-case name="6029NISTSchema-SV-IV-atomic-QName-minLength-4 tokoe:valid" result="pass"/><test-case name="6030NISTXML-SV-IV-atomic-QName-minLength-4-1 tokoe:valid" result="pass"/><test-case name="6031NISTXML-SV-IV-atomic-QName-minLength-4-2 tokoe:valid" result="pass"/><test-case name="6032NISTXML-SV-IV-atomic-QName-minLength-4-3 tokoe:valid" result="pass"/><test-case name="6033NISTXML-SV-IV-atomic-QName-minLength-4-4 tokoe:valid" result="pass"/><test-case name="6034NISTXML-SV-IV-atomic-QName-minLength-4-5 tokoe:valid" result="pass"/><test-case name="6035NISTSchema-SV-IV-atomic-QName-minLength-5 tokoe:valid" result="pass"/><test-case name="6036NISTXML-SV-IV-atomic-QName-minLength-5-1 tokoe:valid" result="pass"/><test-case name="6037NISTXML-SV-IV-atomic-QName-minLength-5-2 tokoe:valid" result="pass"/><test-case name="6038NISTXML-SV-IV-atomic-QName-minLength-5-3 tokoe:valid" result="pass"/><test-case name="6039NISTXML-SV-IV-atomic-QName-minLength-5-4 tokoe:valid" result="pass"/><test-case name="6040NISTXML-SV-IV-atomic-QName-minLength-5-5 tokoe:valid" result="pass"/><test-case name="6041NISTSchema-SV-IV-atomic-QName-length-1 tokoe:valid" result="pass"/><test-case name="6042NISTXML-SV-IV-atomic-QName-length-1-1 tokoe:valid" result="pass"/><test-case name="6043NISTXML-SV-IV-atomic-QName-length-1-2 tokoe:valid" result="pass"/><test-case name="6044NISTXML-SV-IV-atomic-QName-length-1-3 tokoe:valid" result="pass"/><test-case name="6045NISTXML-SV-IV-atomic-QName-length-1-4 tokoe:valid" result="pass"/><test-case name="6046NISTXML-SV-IV-atomic-QName-length-1-5 tokoe:valid" result="pass"/><test-case name="6047NISTSchema-SV-IV-atomic-QName-length-2 tokoe:valid" result="pass"/><test-case name="6048NISTXML-SV-IV-atomic-QName-length-2-1 tokoe:valid" result="pass"/><test-case name="6049NISTXML-SV-IV-atomic-QName-length-2-2 tokoe:valid" result="pass"/><test-case name="6050NISTXML-SV-IV-atomic-QName-length-2-3 tokoe:valid" result="pass"/><test-case name="6051NISTXML-SV-IV-atomic-QName-length-2-4 tokoe:valid" result="pass"/><test-case name="6052NISTXML-SV-IV-atomic-QName-length-2-5 tokoe:valid" result="pass"/><test-case name="6053NISTSchema-SV-IV-atomic-QName-length-3 tokoe:valid" result="pass"/><test-case name="6054NISTXML-SV-IV-atomic-QName-length-3-1 tokoe:valid" result="pass"/><test-case name="6055NISTXML-SV-IV-atomic-QName-length-3-2 tokoe:valid" result="pass"/><test-case name="6056NISTXML-SV-IV-atomic-QName-length-3-3 tokoe:valid" result="pass"/><test-case name="6057NISTXML-SV-IV-atomic-QName-length-3-4 tokoe:valid" result="pass"/><test-case name="6058NISTXML-SV-IV-atomic-QName-length-3-5 tokoe:valid" result="pass"/><test-case name="6059NISTSchema-SV-IV-atomic-QName-length-4 tokoe:valid" result="pass"/><test-case name="6060NISTXML-SV-IV-atomic-QName-length-4-1 tokoe:valid" result="pass"/><test-case name="6061NISTXML-SV-IV-atomic-QName-length-4-2 tokoe:valid" result="pass"/><test-case name="6062NISTXML-SV-IV-atomic-QName-length-4-3 tokoe:valid" result="pass"/><test-case name="6063NISTXML-SV-IV-atomic-QName-length-4-4 tokoe:valid" result="pass"/><test-case name="6064NISTXML-SV-IV-atomic-QName-length-4-5 tokoe:valid" result="pass"/><test-case name="6065NISTSchema-SV-IV-atomic-QName-length-5 tokoe:valid" result="pass"/><test-case name="6066NISTXML-SV-IV-atomic-QName-length-5-1 tokoe:valid" result="pass"/><test-case name="6067NISTXML-SV-IV-atomic-QName-length-5-2 tokoe:valid" result="pass"/><test-case name="6068NISTXML-SV-IV-atomic-QName-length-5-3 tokoe:valid" result="pass"/><test-case name="6069NISTXML-SV-IV-atomic-QName-length-5-4 tokoe:valid" result="pass"/><test-case name="6070NISTXML-SV-IV-atomic-QName-length-5-5 tokoe:valid" result="pass"/><test-case name="6071NISTSchema-SV-IV-atomic-QName-pattern-1 tokoe:valid" result="pass"/><test-case name="6072NISTXML-SV-IV-atomic-QName-pattern-1-1 tokoe:valid" result="pass"/><test-case name="6073NISTXML-SV-IV-atomic-QName-pattern-1-2 tokoe:valid" result="pass"/><test-case name="6074NISTXML-SV-IV-atomic-QName-pattern-1-3 tokoe:valid" result="pass"/><test-case name="6075NISTXML-SV-IV-atomic-QName-pattern-1-4 tokoe:valid" result="pass"/><test-case name="6076NISTXML-SV-IV-atomic-QName-pattern-1-5 tokoe:valid" result="pass"/><test-case name="6077NISTSchema-SV-IV-atomic-QName-pattern-2 tokoe:valid" result="pass"/><test-case name="6078NISTXML-SV-IV-atomic-QName-pattern-2-1 tokoe:valid" result="pass"/><test-case name="6079NISTXML-SV-IV-atomic-QName-pattern-2-2 tokoe:valid" result="pass"/><test-case name="6080NISTXML-SV-IV-atomic-QName-pattern-2-3 tokoe:valid" result="pass"/><test-case name="6081NISTXML-SV-IV-atomic-QName-pattern-2-4 tokoe:valid" result="pass"/><test-case name="6082NISTXML-SV-IV-atomic-QName-pattern-2-5 tokoe:valid" result="pass"/><test-case name="6083NISTSchema-SV-IV-atomic-QName-pattern-3 tokoe:valid" result="pass"/><test-case name="6084NISTXML-SV-IV-atomic-QName-pattern-3-1 tokoe:valid" result="pass"/><test-case name="6085NISTXML-SV-IV-atomic-QName-pattern-3-2 tokoe:valid" result="pass"/><test-case name="6086NISTXML-SV-IV-atomic-QName-pattern-3-3 tokoe:valid" result="pass"/><test-case name="6087NISTXML-SV-IV-atomic-QName-pattern-3-4 tokoe:valid" result="pass"/><test-case name="6088NISTXML-SV-IV-atomic-QName-pattern-3-5 tokoe:valid" result="pass"/><test-case name="6089NISTSchema-SV-IV-atomic-QName-pattern-4 tokoe:valid" result="pass"/><test-case name="6090NISTXML-SV-IV-atomic-QName-pattern-4-1 tokoe:valid" result="pass"/><test-case name="6091NISTXML-SV-IV-atomic-QName-pattern-4-2 tokoe:valid" result="pass"/><test-case name="6092NISTXML-SV-IV-atomic-QName-pattern-4-3 tokoe:valid" result="pass"/><test-case name="6093NISTXML-SV-IV-atomic-QName-pattern-4-4 tokoe:valid" result="pass"/><test-case name="6094NISTXML-SV-IV-atomic-QName-pattern-4-5 tokoe:valid" result="pass"/><test-case name="6095NISTSchema-SV-IV-atomic-QName-pattern-5 tokoe:valid" result="pass"/><test-case name="6096NISTXML-SV-IV-atomic-QName-pattern-5-1 tokoe:valid" result="pass"/><test-case name="6097NISTXML-SV-IV-atomic-QName-pattern-5-2 tokoe:valid" result="pass"/><test-case name="6098NISTXML-SV-IV-atomic-QName-pattern-5-3 tokoe:valid" result="pass"/><test-case name="6099NISTXML-SV-IV-atomic-QName-pattern-5-4 tokoe:valid" result="pass"/><test-case name="6100NISTXML-SV-IV-atomic-QName-pattern-5-5 tokoe:valid" result="pass"/><test-case name="6101NISTSchema-SV-IV-atomic-QName-enumeration-1 tokoe:valid" result="pass"/><test-case name="6102NISTXML-SV-IV-atomic-QName-enumeration-1-1 tokoe:valid" result="pass"/><test-case name="6103NISTXML-SV-IV-atomic-QName-enumeration-1-2 tokoe:valid" result="pass"/><test-case name="6104NISTXML-SV-IV-atomic-QName-enumeration-1-3 tokoe:valid" result="pass"/><test-case name="6105NISTXML-SV-IV-atomic-QName-enumeration-1-4 tokoe:valid" result="pass"/><test-case name="6106NISTXML-SV-IV-atomic-QName-enumeration-1-5 tokoe:valid" result="pass"/><test-case name="6107NISTSchema-SV-IV-atomic-QName-enumeration-2 tokoe:valid" result="pass"/><test-case name="6108NISTXML-SV-IV-atomic-QName-enumeration-2-1 tokoe:valid" result="pass"/><test-case name="6109NISTXML-SV-IV-atomic-QName-enumeration-2-2 tokoe:valid" result="pass"/><test-case name="6110NISTXML-SV-IV-atomic-QName-enumeration-2-3 tokoe:valid" result="pass"/><test-case name="6111NISTXML-SV-IV-atomic-QName-enumeration-2-4 tokoe:valid" result="pass"/><test-case name="6112NISTXML-SV-IV-atomic-QName-enumeration-2-5 tokoe:valid" result="pass"/><test-case name="6113NISTSchema-SV-IV-atomic-QName-enumeration-3 tokoe:valid" result="pass"/><test-case name="6114NISTXML-SV-IV-atomic-QName-enumeration-3-1 tokoe:valid" result="pass"/><test-case name="6115NISTXML-SV-IV-atomic-QName-enumeration-3-2 tokoe:valid" result="pass"/><test-case name="6116NISTXML-SV-IV-atomic-QName-enumeration-3-3 tokoe:valid" result="pass"/><test-case name="6117NISTXML-SV-IV-atomic-QName-enumeration-3-4 tokoe:valid" result="pass"/><test-case name="6118NISTXML-SV-IV-atomic-QName-enumeration-3-5 tokoe:valid" result="pass"/><test-case name="6119NISTSchema-SV-IV-atomic-QName-enumeration-4 tokoe:valid" result="pass"/><test-case name="6120NISTXML-SV-IV-atomic-QName-enumeration-4-1 tokoe:valid" result="pass"/><test-case name="6121NISTXML-SV-IV-atomic-QName-enumeration-4-2 tokoe:valid" result="pass"/><test-case name="6122NISTXML-SV-IV-atomic-QName-enumeration-4-3 tokoe:valid" result="pass"/><test-case name="6123NISTXML-SV-IV-atomic-QName-enumeration-4-4 tokoe:valid" result="pass"/><test-case name="6124NISTXML-SV-IV-atomic-QName-enumeration-4-5 tokoe:valid" result="pass"/><test-case name="6125NISTSchema-SV-IV-atomic-QName-enumeration-5 tokoe:valid" result="pass"/><test-case name="6126NISTXML-SV-IV-atomic-QName-enumeration-5-1 tokoe:valid" result="pass"/><test-case name="6127NISTXML-SV-IV-atomic-QName-enumeration-5-2 tokoe:valid" result="pass"/><test-case name="6128NISTXML-SV-IV-atomic-QName-enumeration-5-3 tokoe:valid" result="pass"/><test-case name="6129NISTXML-SV-IV-atomic-QName-enumeration-5-4 tokoe:valid" result="pass"/><test-case name="6130NISTXML-SV-IV-atomic-QName-enumeration-5-5 tokoe:valid" result="pass"/><test-case name="6131NISTSchema-SV-IV-atomic-QName-whiteSpace-1 tokoe:valid" result="pass"/><test-case name="6132NISTXML-SV-IV-atomic-QName-whiteSpace-1-1 tokoe:valid" result="pass"/><test-case name="6133NISTXML-SV-IV-atomic-QName-whiteSpace-1-2 tokoe:valid" result="pass"/><test-case name="6134NISTXML-SV-IV-atomic-QName-whiteSpace-1-3 tokoe:valid" result="pass"/><test-case name="6135NISTXML-SV-IV-atomic-QName-whiteSpace-1-4 tokoe:valid" result="pass"/><test-case name="6136NISTXML-SV-IV-atomic-QName-whiteSpace-1-5 tokoe:valid" result="pass"/><test-case name="6137NISTSchema-SV-IV-atomic-boolean-pattern-1 tokoe:valid" result="pass"/><test-case name="6138NISTXML-SV-IV-atomic-boolean-pattern-1-1 tokoe:valid" result="pass"/><test-case name="6139NISTXML-SV-IV-atomic-boolean-pattern-1-2 tokoe:valid" result="pass"/><test-case name="6140NISTXML-SV-IV-atomic-boolean-pattern-1-3 tokoe:valid" result="pass"/><test-case name="6141NISTXML-SV-IV-atomic-boolean-pattern-1-4 tokoe:valid" result="pass"/><test-case name="6142NISTXML-SV-IV-atomic-boolean-pattern-1-5 tokoe:valid" result="pass"/><test-case name="6143NISTSchema-SV-IV-atomic-boolean-pattern-2 tokoe:valid" result="pass"/><test-case name="6144NISTXML-SV-IV-atomic-boolean-pattern-2-1 tokoe:valid" result="pass"/><test-case name="6145NISTXML-SV-IV-atomic-boolean-pattern-2-2 tokoe:valid" result="pass"/><test-case name="6146NISTXML-SV-IV-atomic-boolean-pattern-2-3 tokoe:valid" result="pass"/><test-case name="6147NISTXML-SV-IV-atomic-boolean-pattern-2-4 tokoe:valid" result="pass"/><test-case name="6148NISTXML-SV-IV-atomic-boolean-pattern-2-5 tokoe:valid" result="pass"/><test-case name="6149NISTSchema-SV-IV-atomic-boolean-pattern-3 tokoe:valid" result="pass"/><test-case name="6150NISTXML-SV-IV-atomic-boolean-pattern-3-1 tokoe:valid" result="pass"/><test-case name="6151NISTXML-SV-IV-atomic-boolean-pattern-3-2 tokoe:valid" result="pass"/><test-case name="6152NISTXML-SV-IV-atomic-boolean-pattern-3-3 tokoe:valid" result="pass"/><test-case name="6153NISTXML-SV-IV-atomic-boolean-pattern-3-4 tokoe:valid" result="pass"/><test-case name="6154NISTXML-SV-IV-atomic-boolean-pattern-3-5 tokoe:valid" result="pass"/><test-case name="6155NISTSchema-SV-IV-atomic-boolean-pattern-4 tokoe:valid" result="pass"/><test-case name="6156NISTXML-SV-IV-atomic-boolean-pattern-4-1 tokoe:valid" result="pass"/><test-case name="6157NISTXML-SV-IV-atomic-boolean-pattern-4-2 tokoe:valid" result="pass"/><test-case name="6158NISTXML-SV-IV-atomic-boolean-pattern-4-3 tokoe:valid" result="pass"/><test-case name="6159NISTXML-SV-IV-atomic-boolean-pattern-4-4 tokoe:valid" result="pass"/><test-case name="6160NISTXML-SV-IV-atomic-boolean-pattern-4-5 tokoe:valid" result="pass"/><test-case name="6161NISTSchema-SV-IV-atomic-boolean-pattern-5 tokoe:valid" result="pass"/><test-case name="6162NISTXML-SV-IV-atomic-boolean-pattern-5-1 tokoe:valid" result="pass"/><test-case name="6163NISTXML-SV-IV-atomic-boolean-pattern-5-2 tokoe:valid" result="pass"/><test-case name="6164NISTXML-SV-IV-atomic-boolean-pattern-5-3 tokoe:valid" result="pass"/><test-case name="6165NISTXML-SV-IV-atomic-boolean-pattern-5-4 tokoe:valid" result="pass"/><test-case name="6166NISTXML-SV-IV-atomic-boolean-pattern-5-5 tokoe:valid" result="pass"/><test-case name="6167NISTSchema-SV-IV-atomic-boolean-whiteSpace-1 tokoe:valid" result="pass"/><test-case name="6168NISTXML-SV-IV-atomic-boolean-whiteSpace-1-1 tokoe:valid" result="pass"/><test-case name="6169NISTXML-SV-IV-atomic-boolean-whiteSpace-1-2 tokoe:valid" result="pass"/><test-case name="6170NISTXML-SV-IV-atomic-boolean-whiteSpace-1-3 tokoe:valid" result="pass"/><test-case name="6171NISTXML-SV-IV-atomic-boolean-whiteSpace-1-4 tokoe:valid" result="pass"/><test-case name="6172NISTXML-SV-IV-atomic-boolean-whiteSpace-1-5 tokoe:valid" result="pass"/><test-case name="6173NISTSchema-SV-IV-atomic-boolean-whiteSpace-2 tokoe:valid" result="pass"/><test-case name="6174NISTXML-SV-IV-atomic-boolean-whiteSpace-2-1 tokoe:valid" result="pass"/><test-case name="6175NISTXML-SV-IV-atomic-boolean-whiteSpace-2-2 tokoe:valid" result="pass"/><test-case name="6176NISTXML-SV-IV-atomic-boolean-whiteSpace-2-3 tokoe:valid" result="pass"/><test-case name="6177NISTXML-SV-IV-atomic-boolean-whiteSpace-2-4 tokoe:valid" result="pass"/><test-case name="6178NISTXML-SV-IV-atomic-boolean-whiteSpace-2-5 tokoe:valid" result="pass"/><test-case name="6179NISTSchema-SV-IV-atomic-boolean-whiteSpace-3 tokoe:valid" result="pass"/><test-case name="6180NISTXML-SV-IV-atomic-boolean-whiteSpace-3-1 tokoe:valid" result="pass"/><test-case name="6181NISTXML-SV-IV-atomic-boolean-whiteSpace-3-2 tokoe:valid" result="pass"/><test-case name="6182NISTXML-SV-IV-atomic-boolean-whiteSpace-3-3 tokoe:valid" result="pass"/><test-case name="6183NISTXML-SV-IV-atomic-boolean-whiteSpace-3-4 tokoe:valid" result="pass"/><test-case name="6184NISTXML-SV-IV-atomic-boolean-whiteSpace-3-5 tokoe:valid" result="pass"/><test-case name="6185NISTSchema-SV-IV-atomic-boolean-whiteSpace-4 tokoe:valid" result="pass"/><test-case name="6186NISTXML-SV-IV-atomic-boolean-whiteSpace-4-1 tokoe:valid" result="pass"/><test-case name="6187NISTXML-SV-IV-atomic-boolean-whiteSpace-4-2 tokoe:valid" result="pass"/><test-case name="6188NISTXML-SV-IV-atomic-boolean-whiteSpace-4-3 tokoe:valid" result="pass"/><test-case name="6189NISTXML-SV-IV-atomic-boolean-whiteSpace-4-4 tokoe:valid" result="pass"/><test-case name="6190NISTXML-SV-IV-atomic-boolean-whiteSpace-4-5 tokoe:valid" result="pass"/><test-case name="6191NISTSchema-SV-IV-atomic-boolean-whiteSpace-5 tokoe:valid" result="pass"/><test-case name="6192NISTXML-SV-IV-atomic-boolean-whiteSpace-5-1 tokoe:valid" result="pass"/><test-case name="6193NISTXML-SV-IV-atomic-boolean-whiteSpace-5-2 tokoe:valid" result="pass"/><test-case name="6194NISTXML-SV-IV-atomic-boolean-whiteSpace-5-3 tokoe:valid" result="pass"/><test-case name="6195NISTXML-SV-IV-atomic-boolean-whiteSpace-5-4 tokoe:valid" result="pass"/><test-case name="6196NISTXML-SV-IV-atomic-boolean-whiteSpace-5-5 tokoe:valid" result="pass"/><test-case name="6197NISTSchema-SV-IV-atomic-base64Binary-maxLength-1 tokoe:valid" result="pass"/><test-case name="6198NISTXML-SV-IV-atomic-base64Binary-maxLength-1-1 tokoe:valid" result="pass"/><test-case name="6199NISTXML-SV-IV-atomic-base64Binary-maxLength-1-2 tokoe:valid" result="pass"/><test-case name="6200NISTXML-SV-IV-atomic-base64Binary-maxLength-1-3 tokoe:valid" result="pass"/><test-case name="6201NISTXML-SV-IV-atomic-base64Binary-maxLength-1-4 tokoe:valid" result="pass"/><test-case name="6202NISTXML-SV-IV-atomic-base64Binary-maxLength-1-5 tokoe:valid" result="pass"/><test-case name="6203NISTSchema-SV-IV-atomic-base64Binary-maxLength-2 tokoe:valid" result="pass"/><test-case name="6204NISTXML-SV-IV-atomic-base64Binary-maxLength-2-1 tokoe:valid" result="pass"/><test-case name="6205NISTXML-SV-IV-atomic-base64Binary-maxLength-2-2 tokoe:valid" result="pass"/><test-case name="6206NISTXML-SV-IV-atomic-base64Binary-maxLength-2-3 tokoe:valid" result="pass"/><test-case name="6207NISTXML-SV-IV-atomic-base64Binary-maxLength-2-4 tokoe:valid" result="pass"/><test-case name="6208NISTXML-SV-IV-atomic-base64Binary-maxLength-2-5 tokoe:valid" result="pass"/><test-case name="6209NISTSchema-SV-IV-atomic-base64Binary-maxLength-3 tokoe:valid" result="pass"/><test-case name="6210NISTXML-SV-IV-atomic-base64Binary-maxLength-3-1 tokoe:valid" result="pass"/><test-case name="6211NISTXML-SV-IV-atomic-base64Binary-maxLength-3-2 tokoe:valid" result="pass"/><test-case name="6212NISTXML-SV-IV-atomic-base64Binary-maxLength-3-3 tokoe:valid" result="pass"/><test-case name="6213NISTXML-SV-IV-atomic-base64Binary-maxLength-3-4 tokoe:valid" result="pass"/><test-case name="6214NISTXML-SV-IV-atomic-base64Binary-maxLength-3-5 tokoe:valid" result="pass"/><test-case name="6215NISTSchema-SV-IV-atomic-base64Binary-maxLength-4 tokoe:valid" result="pass"/><test-case name="6216NISTXML-SV-IV-atomic-base64Binary-maxLength-4-1 tokoe:valid" result="pass"/><test-case name="6217NISTXML-SV-IV-atomic-base64Binary-maxLength-4-2 tokoe:valid" result="pass"/><test-case name="6218NISTXML-SV-IV-atomic-base64Binary-maxLength-4-3 tokoe:valid" result="pass"/><test-case name="6219NISTXML-SV-IV-atomic-base64Binary-maxLength-4-4 tokoe:valid" result="pass"/><test-case name="6220NISTXML-SV-IV-atomic-base64Binary-maxLength-4-5 tokoe:valid" result="pass"/><test-case name="6221NISTSchema-SV-IV-atomic-base64Binary-maxLength-5 tokoe:valid" result="pass"/><test-case name="6222NISTXML-SV-IV-atomic-base64Binary-maxLength-5-1 tokoe:valid" result="pass"/><test-case name="6223NISTXML-SV-IV-atomic-base64Binary-maxLength-5-2 tokoe:valid" result="pass"/><test-case name="6224NISTXML-SV-IV-atomic-base64Binary-maxLength-5-3 tokoe:valid" result="pass"/><test-case name="6225NISTXML-SV-IV-atomic-base64Binary-maxLength-5-4 tokoe:valid" result="pass"/><test-case name="6226NISTXML-SV-IV-atomic-base64Binary-maxLength-5-5 tokoe:valid" result="pass"/><test-case name="6227NISTSchema-SV-IV-atomic-base64Binary-minLength-1 tokoe:valid" result="pass"/><test-case name="6228NISTXML-SV-IV-atomic-base64Binary-minLength-1-1 tokoe:valid" result="pass"/><test-case name="6229NISTXML-SV-IV-atomic-base64Binary-minLength-1-2 tokoe:valid" result="pass"/><test-case name="6230NISTXML-SV-IV-atomic-base64Binary-minLength-1-3 tokoe:valid" result="pass"/><test-case name="6231NISTXML-SV-IV-atomic-base64Binary-minLength-1-4 tokoe:valid" result="pass"/><test-case name="6232NISTXML-SV-IV-atomic-base64Binary-minLength-1-5 tokoe:valid" result="pass"/><test-case name="6233NISTSchema-SV-IV-atomic-base64Binary-minLength-2 tokoe:valid" result="pass"/><test-case name="6234NISTXML-SV-IV-atomic-base64Binary-minLength-2-1 tokoe:valid" result="pass"/><test-case name="6235NISTXML-SV-IV-atomic-base64Binary-minLength-2-2 tokoe:valid" result="pass"/><test-case name="6236NISTXML-SV-IV-atomic-base64Binary-minLength-2-3 tokoe:valid" result="pass"/><test-case name="6237NISTXML-SV-IV-atomic-base64Binary-minLength-2-4 tokoe:valid" result="pass"/><test-case name="6238NISTXML-SV-IV-atomic-base64Binary-minLength-2-5 tokoe:valid" result="pass"/><test-case name="6239NISTSchema-SV-IV-atomic-base64Binary-minLength-3 tokoe:valid" result="pass"/><test-case name="6240NISTXML-SV-IV-atomic-base64Binary-minLength-3-1 tokoe:valid" result="pass"/><test-case name="6241NISTXML-SV-IV-atomic-base64Binary-minLength-3-2 tokoe:valid" result="pass"/><test-case name="6242NISTXML-SV-IV-atomic-base64Binary-minLength-3-3 tokoe:valid" result="pass"/><test-case name="6243NISTXML-SV-IV-atomic-base64Binary-minLength-3-4 tokoe:valid" result="pass"/><test-case name="6244NISTXML-SV-IV-atomic-base64Binary-minLength-3-5 tokoe:valid" result="pass"/><test-case name="6245NISTSchema-SV-IV-atomic-base64Binary-minLength-4 tokoe:valid" result="pass"/><test-case name="6246NISTXML-SV-IV-atomic-base64Binary-minLength-4-1 tokoe:valid" result="pass"/><test-case name="6247NISTXML-SV-IV-atomic-base64Binary-minLength-4-2 tokoe:valid" result="pass"/><test-case name="6248NISTXML-SV-IV-atomic-base64Binary-minLength-4-3 tokoe:valid" result="pass"/><test-case name="6249NISTXML-SV-IV-atomic-base64Binary-minLength-4-4 tokoe:valid" result="pass"/><test-case name="6250NISTXML-SV-IV-atomic-base64Binary-minLength-4-5 tokoe:valid" result="pass"/><test-case name="6251NISTSchema-SV-IV-atomic-base64Binary-minLength-5 tokoe:valid" result="pass"/><test-case name="6252NISTXML-SV-IV-atomic-base64Binary-minLength-5-1 tokoe:valid" result="pass"/><test-case name="6253NISTXML-SV-IV-atomic-base64Binary-minLength-5-2 tokoe:valid" result="pass"/><test-case name="6254NISTXML-SV-IV-atomic-base64Binary-minLength-5-3 tokoe:valid" result="pass"/><test-case name="6255NISTXML-SV-IV-atomic-base64Binary-minLength-5-4 tokoe:valid" result="pass"/><test-case name="6256NISTXML-SV-IV-atomic-base64Binary-minLength-5-5 tokoe:valid" result="pass"/><test-case name="6257NISTSchema-SV-IV-atomic-base64Binary-length-1 tokoe:valid" result="pass"/><test-case name="6258NISTXML-SV-IV-atomic-base64Binary-length-1-1 tokoe:valid" result="pass"/><test-case name="6259NISTXML-SV-IV-atomic-base64Binary-length-1-2 tokoe:valid" result="pass"/><test-case name="6260NISTXML-SV-IV-atomic-base64Binary-length-1-3 tokoe:valid" result="pass"/><test-case name="6261NISTXML-SV-IV-atomic-base64Binary-length-1-4 tokoe:valid" result="pass"/><test-case name="6262NISTXML-SV-IV-atomic-base64Binary-length-1-5 tokoe:valid" result="pass"/><test-case name="6263NISTSchema-SV-IV-atomic-base64Binary-length-2 tokoe:valid" result="pass"/><test-case name="6264NISTXML-SV-IV-atomic-base64Binary-length-2-1 tokoe:valid" result="pass"/><test-case name="6265NISTXML-SV-IV-atomic-base64Binary-length-2-2 tokoe:valid" result="pass"/><test-case name="6266NISTXML-SV-IV-atomic-base64Binary-length-2-3 tokoe:valid" result="pass"/><test-case name="6267NISTXML-SV-IV-atomic-base64Binary-length-2-4 tokoe:valid" result="pass"/><test-case name="6268NISTXML-SV-IV-atomic-base64Binary-length-2-5 tokoe:valid" result="pass"/><test-case name="6269NISTSchema-SV-IV-atomic-base64Binary-length-3 tokoe:valid" result="pass"/><test-case name="6270NISTXML-SV-IV-atomic-base64Binary-length-3-1 tokoe:valid" result="pass"/><test-case name="6271NISTXML-SV-IV-atomic-base64Binary-length-3-2 tokoe:valid" result="pass"/><test-case name="6272NISTXML-SV-IV-atomic-base64Binary-length-3-3 tokoe:valid" result="pass"/><test-case name="6273NISTXML-SV-IV-atomic-base64Binary-length-3-4 tokoe:valid" result="pass"/><test-case name="6274NISTXML-SV-IV-atomic-base64Binary-length-3-5 tokoe:valid" result="pass"/><test-case name="6275NISTSchema-SV-IV-atomic-base64Binary-length-4 tokoe:valid" result="pass"/><test-case name="6276NISTXML-SV-IV-atomic-base64Binary-length-4-1 tokoe:valid" result="pass"/><test-case name="6277NISTXML-SV-IV-atomic-base64Binary-length-4-2 tokoe:valid" result="pass"/><test-case name="6278NISTXML-SV-IV-atomic-base64Binary-length-4-3 tokoe:valid" result="pass"/><test-case name="6279NISTXML-SV-IV-atomic-base64Binary-length-4-4 tokoe:valid" result="pass"/><test-case name="6280NISTXML-SV-IV-atomic-base64Binary-length-4-5 tokoe:valid" result="pass"/><test-case name="6281NISTSchema-SV-IV-atomic-base64Binary-length-5 tokoe:valid" result="pass"/><test-case name="6282NISTXML-SV-IV-atomic-base64Binary-length-5-1 tokoe:valid" result="pass"/><test-case name="6283NISTXML-SV-IV-atomic-base64Binary-length-5-2 tokoe:valid" result="pass"/><test-case name="6284NISTXML-SV-IV-atomic-base64Binary-length-5-3 tokoe:valid" result="pass"/><test-case name="6285NISTXML-SV-IV-atomic-base64Binary-length-5-4 tokoe:valid" result="pass"/><test-case name="6286NISTXML-SV-IV-atomic-base64Binary-length-5-5 tokoe:valid" result="pass"/><test-case name="6287NISTSchema-SV-IV-atomic-base64Binary-pattern-1 tokoe:valid" result="pass"/><test-case name="6288NISTXML-SV-IV-atomic-base64Binary-pattern-1-1 tokoe:valid" result="pass"/><test-case name="6289NISTXML-SV-IV-atomic-base64Binary-pattern-1-2 tokoe:valid" result="pass"/><test-case name="6290NISTXML-SV-IV-atomic-base64Binary-pattern-1-3 tokoe:valid" result="pass"/><test-case name="6291NISTXML-SV-IV-atomic-base64Binary-pattern-1-4 tokoe:valid" result="pass"/><test-case name="6292NISTXML-SV-IV-atomic-base64Binary-pattern-1-5 tokoe:valid" result="pass"/><test-case name="6293NISTSchema-SV-IV-atomic-base64Binary-pattern-2 tokoe:valid" result="pass"/><test-case name="6294NISTXML-SV-IV-atomic-base64Binary-pattern-2-1 tokoe:valid" result="pass"/><test-case name="6295NISTXML-SV-IV-atomic-base64Binary-pattern-2-2 tokoe:valid" result="pass"/><test-case name="6296NISTXML-SV-IV-atomic-base64Binary-pattern-2-3 tokoe:valid" result="pass"/><test-case name="6297NISTXML-SV-IV-atomic-base64Binary-pattern-2-4 tokoe:valid" result="pass"/><test-case name="6298NISTXML-SV-IV-atomic-base64Binary-pattern-2-5 tokoe:valid" result="pass"/><test-case name="6299NISTSchema-SV-IV-atomic-base64Binary-pattern-3 tokoe:valid" result="pass"/><test-case name="6300NISTXML-SV-IV-atomic-base64Binary-pattern-3-1 tokoe:valid" result="pass"/><test-case name="6301NISTXML-SV-IV-atomic-base64Binary-pattern-3-2 tokoe:valid" result="pass"/><test-case name="6302NISTXML-SV-IV-atomic-base64Binary-pattern-3-3 tokoe:valid" result="pass"/><test-case name="6303NISTXML-SV-IV-atomic-base64Binary-pattern-3-4 tokoe:valid" result="pass"/><test-case name="6304NISTXML-SV-IV-atomic-base64Binary-pattern-3-5 tokoe:valid" result="pass"/><test-case name="6305NISTSchema-SV-IV-atomic-base64Binary-pattern-4 tokoe:valid" result="pass"/><test-case name="6306NISTXML-SV-IV-atomic-base64Binary-pattern-4-1 tokoe:valid" result="pass"/><test-case name="6307NISTXML-SV-IV-atomic-base64Binary-pattern-4-2 tokoe:valid" result="pass"/><test-case name="6308NISTXML-SV-IV-atomic-base64Binary-pattern-4-3 tokoe:valid" result="pass"/><test-case name="6309NISTXML-SV-IV-atomic-base64Binary-pattern-4-4 tokoe:valid" result="pass"/><test-case name="6310NISTXML-SV-IV-atomic-base64Binary-pattern-4-5 tokoe:valid" result="pass"/><test-case name="6311NISTSchema-SV-IV-atomic-base64Binary-pattern-5 tokoe:valid" result="pass"/><test-case name="6312NISTXML-SV-IV-atomic-base64Binary-pattern-5-1 tokoe:valid" result="pass"/><test-case name="6313NISTXML-SV-IV-atomic-base64Binary-pattern-5-2 tokoe:valid" result="pass"/><test-case name="6314NISTXML-SV-IV-atomic-base64Binary-pattern-5-3 tokoe:valid" result="pass"/><test-case name="6315NISTXML-SV-IV-atomic-base64Binary-pattern-5-4 tokoe:valid" result="pass"/><test-case name="6316NISTXML-SV-IV-atomic-base64Binary-pattern-5-5 tokoe:valid" result="pass"/><test-case name="6317NISTSchema-SV-IV-atomic-base64Binary-enumeration-1 tokoe:valid" result="pass"/><test-case name="6318NISTXML-SV-IV-atomic-base64Binary-enumeration-1-1 tokoe:valid" result="pass"/><test-case name="6319NISTXML-SV-IV-atomic-base64Binary-enumeration-1-2 tokoe:valid" result="pass"/><test-case name="6320NISTXML-SV-IV-atomic-base64Binary-enumeration-1-3 tokoe:valid" result="pass"/><test-case name="6321NISTXML-SV-IV-atomic-base64Binary-enumeration-1-4 tokoe:valid" result="pass"/><test-case name="6322NISTXML-SV-IV-atomic-base64Binary-enumeration-1-5 tokoe:valid" result="pass"/><test-case name="6323NISTSchema-SV-IV-atomic-base64Binary-enumeration-2 tokoe:valid" result="pass"/><test-case name="6324NISTXML-SV-IV-atomic-base64Binary-enumeration-2-1 tokoe:valid" result="pass"/><test-case name="6325NISTXML-SV-IV-atomic-base64Binary-enumeration-2-2 tokoe:valid" result="pass"/><test-case name="6326NISTXML-SV-IV-atomic-base64Binary-enumeration-2-3 tokoe:valid" result="pass"/><test-case name="6327NISTXML-SV-IV-atomic-base64Binary-enumeration-2-4 tokoe:valid" result="pass"/><test-case name="6328NISTXML-SV-IV-atomic-base64Binary-enumeration-2-5 tokoe:valid" result="pass"/><test-case name="6329NISTSchema-SV-IV-atomic-base64Binary-enumeration-3 tokoe:valid" result="pass"/><test-case name="6330NISTXML-SV-IV-atomic-base64Binary-enumeration-3-1 tokoe:valid" result="pass"/><test-case name="6331NISTXML-SV-IV-atomic-base64Binary-enumeration-3-2 tokoe:valid" result="pass"/><test-case name="6332NISTXML-SV-IV-atomic-base64Binary-enumeration-3-3 tokoe:valid" result="pass"/><test-case name="6333NISTXML-SV-IV-atomic-base64Binary-enumeration-3-4 tokoe:valid" result="pass"/><test-case name="6334NISTXML-SV-IV-atomic-base64Binary-enumeration-3-5 tokoe:valid" result="pass"/><test-case name="6335NISTSchema-SV-IV-atomic-base64Binary-enumeration-4 tokoe:valid" result="pass"/><test-case name="6336NISTXML-SV-IV-atomic-base64Binary-enumeration-4-1 tokoe:valid" result="pass"/><test-case name="6337NISTXML-SV-IV-atomic-base64Binary-enumeration-4-2 tokoe:valid" result="pass"/><test-case name="6338NISTXML-SV-IV-atomic-base64Binary-enumeration-4-3 tokoe:valid" result="pass"/><test-case name="6339NISTXML-SV-IV-atomic-base64Binary-enumeration-4-4 tokoe:valid" result="pass"/><test-case name="6340NISTXML-SV-IV-atomic-base64Binary-enumeration-4-5 tokoe:valid" result="pass"/><test-case name="6341NISTSchema-SV-IV-atomic-base64Binary-enumeration-5 tokoe:valid" result="pass"/><test-case name="6342NISTXML-SV-IV-atomic-base64Binary-enumeration-5-1 tokoe:valid" result="pass"/><test-case name="6343NISTXML-SV-IV-atomic-base64Binary-enumeration-5-2 tokoe:valid" result="pass"/><test-case name="6344NISTXML-SV-IV-atomic-base64Binary-enumeration-5-3 tokoe:valid" result="pass"/><test-case name="6345NISTXML-SV-IV-atomic-base64Binary-enumeration-5-4 tokoe:valid" result="pass"/><test-case name="6346NISTXML-SV-IV-atomic-base64Binary-enumeration-5-5 tokoe:valid" result="pass"/><test-case name="6347NISTSchema-SV-IV-atomic-base64Binary-whiteSpace-1 tokoe:valid" result="pass"/><test-case name="6348NISTXML-SV-IV-atomic-base64Binary-whiteSpace-1-1 tokoe:valid" result="pass"/><test-case name="6349NISTXML-SV-IV-atomic-base64Binary-whiteSpace-1-2 tokoe:valid" result="pass"/><test-case name="6350NISTXML-SV-IV-atomic-base64Binary-whiteSpace-1-3 tokoe:valid" result="pass"/><test-case name="6351NISTXML-SV-IV-atomic-base64Binary-whiteSpace-1-4 tokoe:valid" result="pass"/><test-case name="6352NISTXML-SV-IV-atomic-base64Binary-whiteSpace-1-5 tokoe:valid" result="pass"/><test-case name="6353NISTSchema-SV-IV-atomic-hexBinary-maxLength-1 tokoe:valid" result="pass"/><test-case name="6354NISTXML-SV-IV-atomic-hexBinary-maxLength-1-1 tokoe:valid" result="pass"/><test-case name="6355NISTXML-SV-IV-atomic-hexBinary-maxLength-1-2 tokoe:valid" result="pass"/><test-case name="6356NISTXML-SV-IV-atomic-hexBinary-maxLength-1-3 tokoe:valid" result="pass"/><test-case name="6357NISTXML-SV-IV-atomic-hexBinary-maxLength-1-4 tokoe:valid" result="pass"/><test-case name="6358NISTXML-SV-IV-atomic-hexBinary-maxLength-1-5 tokoe:valid" result="pass"/><test-case name="6359NISTSchema-SV-IV-atomic-hexBinary-maxLength-2 tokoe:valid" result="pass"/><test-case name="6360NISTXML-SV-IV-atomic-hexBinary-maxLength-2-1 tokoe:valid" result="pass"/><test-case name="6361NISTXML-SV-IV-atomic-hexBinary-maxLength-2-2 tokoe:valid" result="pass"/><test-case name="6362NISTXML-SV-IV-atomic-hexBinary-maxLength-2-3 tokoe:valid" result="pass"/><test-case name="6363NISTXML-SV-IV-atomic-hexBinary-maxLength-2-4 tokoe:valid" result="pass"/><test-case name="6364NISTXML-SV-IV-atomic-hexBinary-maxLength-2-5 tokoe:valid" result="pass"/><test-case name="6365NISTSchema-SV-IV-atomic-hexBinary-maxLength-3 tokoe:valid" result="pass"/><test-case name="6366NISTXML-SV-IV-atomic-hexBinary-maxLength-3-1 tokoe:valid" result="pass"/><test-case name="6367NISTXML-SV-IV-atomic-hexBinary-maxLength-3-2 tokoe:valid" result="pass"/><test-case name="6368NISTXML-SV-IV-atomic-hexBinary-maxLength-3-3 tokoe:valid" result="pass"/><test-case name="6369NISTXML-SV-IV-atomic-hexBinary-maxLength-3-4 tokoe:valid" result="pass"/><test-case name="6370NISTXML-SV-IV-atomic-hexBinary-maxLength-3-5 tokoe:valid" result="pass"/><test-case name="6371NISTSchema-SV-IV-atomic-hexBinary-maxLength-4 tokoe:valid" result="pass"/><test-case name="6372NISTXML-SV-IV-atomic-hexBinary-maxLength-4-1 tokoe:valid" result="pass"/><test-case name="6373NISTXML-SV-IV-atomic-hexBinary-maxLength-4-2 tokoe:valid" result="pass"/><test-case name="6374NISTXML-SV-IV-atomic-hexBinary-maxLength-4-3 tokoe:valid" result="pass"/><test-case name="6375NISTXML-SV-IV-atomic-hexBinary-maxLength-4-4 tokoe:valid" result="pass"/><test-case name="6376NISTXML-SV-IV-atomic-hexBinary-maxLength-4-5 tokoe:valid" result="pass"/><test-case name="6377NISTSchema-SV-IV-atomic-hexBinary-maxLength-5 tokoe:valid" result="pass"/><test-case name="6378NISTXML-SV-IV-atomic-hexBinary-maxLength-5-1 tokoe:valid" result="pass"/><test-case name="6379NISTXML-SV-IV-atomic-hexBinary-maxLength-5-2 tokoe:valid" result="pass"/><test-case name="6380NISTXML-SV-IV-atomic-hexBinary-maxLength-5-3 tokoe:valid" result="pass"/><test-case name="6381NISTXML-SV-IV-atomic-hexBinary-maxLength-5-4 tokoe:valid" result="pass"/><test-case name="6382NISTXML-SV-IV-atomic-hexBinary-maxLength-5-5 tokoe:valid" result="pass"/><test-case name="6383NISTSchema-SV-IV-atomic-hexBinary-minLength-1 tokoe:valid" result="pass"/><test-case name="6384NISTXML-SV-IV-atomic-hexBinary-minLength-1-1 tokoe:valid" result="pass"/><test-case name="6385NISTXML-SV-IV-atomic-hexBinary-minLength-1-2 tokoe:valid" result="pass"/><test-case name="6386NISTXML-SV-IV-atomic-hexBinary-minLength-1-3 tokoe:valid" result="pass"/><test-case name="6387NISTXML-SV-IV-atomic-hexBinary-minLength-1-4 tokoe:valid" result="pass"/><test-case name="6388NISTXML-SV-IV-atomic-hexBinary-minLength-1-5 tokoe:valid" result="pass"/><test-case name="6389NISTSchema-SV-IV-atomic-hexBinary-minLength-2 tokoe:valid" result="pass"/><test-case name="6390NISTXML-SV-IV-atomic-hexBinary-minLength-2-1 tokoe:valid" result="pass"/><test-case name="6391NISTXML-SV-IV-atomic-hexBinary-minLength-2-2 tokoe:valid" result="pass"/><test-case name="6392NISTXML-SV-IV-atomic-hexBinary-minLength-2-3 tokoe:valid" result="pass"/><test-case name="6393NISTXML-SV-IV-atomic-hexBinary-minLength-2-4 tokoe:valid" result="pass"/><test-case name="6394NISTXML-SV-IV-atomic-hexBinary-minLength-2-5 tokoe:valid" result="pass"/><test-case name="6395NISTSchema-SV-IV-atomic-hexBinary-minLength-3 tokoe:valid" result="pass"/><test-case name="6396NISTXML-SV-IV-atomic-hexBinary-minLength-3-1 tokoe:valid" result="pass"/><test-case name="6397NISTXML-SV-IV-atomic-hexBinary-minLength-3-2 tokoe:valid" result="pass"/><test-case name="6398NISTXML-SV-IV-atomic-hexBinary-minLength-3-3 tokoe:valid" result="pass"/><test-case name="6399NISTXML-SV-IV-atomic-hexBinary-minLength-3-4 tokoe:valid" result="pass"/><test-case name="6400NISTXML-SV-IV-atomic-hexBinary-minLength-3-5 tokoe:valid" result="pass"/><test-case name="6401NISTSchema-SV-IV-atomic-hexBinary-minLength-4 tokoe:valid" result="pass"/><test-case name="6402NISTXML-SV-IV-atomic-hexBinary-minLength-4-1 tokoe:valid" result="pass"/><test-case name="6403NISTXML-SV-IV-atomic-hexBinary-minLength-4-2 tokoe:valid" result="pass"/><test-case name="6404NISTXML-SV-IV-atomic-hexBinary-minLength-4-3 tokoe:valid" result="pass"/><test-case name="6405NISTXML-SV-IV-atomic-hexBinary-minLength-4-4 tokoe:valid" result="pass"/><test-case name="6406NISTXML-SV-IV-atomic-hexBinary-minLength-4-5 tokoe:valid" result="pass"/><test-case name="6407NISTSchema-SV-IV-atomic-hexBinary-minLength-5 tokoe:valid" result="pass"/><test-case name="6408NISTXML-SV-IV-atomic-hexBinary-minLength-5-1 tokoe:valid" result="pass"/><test-case name="6409NISTXML-SV-IV-atomic-hexBinary-minLength-5-2 tokoe:valid" result="pass"/><test-case name="6410NISTXML-SV-IV-atomic-hexBinary-minLength-5-3 tokoe:valid" result="pass"/><test-case name="6411NISTXML-SV-IV-atomic-hexBinary-minLength-5-4 tokoe:valid" result="pass"/><test-case name="6412NISTXML-SV-IV-atomic-hexBinary-minLength-5-5 tokoe:valid" result="pass"/><test-case name="6413NISTSchema-SV-IV-atomic-hexBinary-length-1 tokoe:valid" result="pass"/><test-case name="6414NISTXML-SV-IV-atomic-hexBinary-length-1-1 tokoe:valid" result="pass"/><test-case name="6415NISTXML-SV-IV-atomic-hexBinary-length-1-2 tokoe:valid" result="pass"/><test-case name="6416NISTXML-SV-IV-atomic-hexBinary-length-1-3 tokoe:valid" result="pass"/><test-case name="6417NISTXML-SV-IV-atomic-hexBinary-length-1-4 tokoe:valid" result="pass"/><test-case name="6418NISTXML-SV-IV-atomic-hexBinary-length-1-5 tokoe:valid" result="pass"/><test-case name="6419NISTSchema-SV-IV-atomic-hexBinary-length-2 tokoe:valid" result="pass"/><test-case name="6420NISTXML-SV-IV-atomic-hexBinary-length-2-1 tokoe:valid" result="pass"/><test-case name="6421NISTXML-SV-IV-atomic-hexBinary-length-2-2 tokoe:valid" result="pass"/><test-case name="6422NISTXML-SV-IV-atomic-hexBinary-length-2-3 tokoe:valid" result="pass"/><test-case name="6423NISTXML-SV-IV-atomic-hexBinary-length-2-4 tokoe:valid" result="pass"/><test-case name="6424NISTXML-SV-IV-atomic-hexBinary-length-2-5 tokoe:valid" result="pass"/><test-case name="6425NISTSchema-SV-IV-atomic-hexBinary-length-3 tokoe:valid" result="pass"/><test-case name="6426NISTXML-SV-IV-atomic-hexBinary-length-3-1 tokoe:valid" result="pass"/><test-case name="6427NISTXML-SV-IV-atomic-hexBinary-length-3-2 tokoe:valid" result="pass"/><test-case name="6428NISTXML-SV-IV-atomic-hexBinary-length-3-3 tokoe:valid" result="pass"/><test-case name="6429NISTXML-SV-IV-atomic-hexBinary-length-3-4 tokoe:valid" result="pass"/><test-case name="6430NISTXML-SV-IV-atomic-hexBinary-length-3-5 tokoe:valid" result="pass"/><test-case name="6431NISTSchema-SV-IV-atomic-hexBinary-length-4 tokoe:valid" result="pass"/><test-case name="6432NISTXML-SV-IV-atomic-hexBinary-length-4-1 tokoe:valid" result="pass"/><test-case name="6433NISTXML-SV-IV-atomic-hexBinary-length-4-2 tokoe:valid" result="pass"/><test-case name="6434NISTXML-SV-IV-atomic-hexBinary-length-4-3 tokoe:valid" result="pass"/><test-case name="6435NISTXML-SV-IV-atomic-hexBinary-length-4-4 tokoe:valid" result="pass"/><test-case name="6436NISTXML-SV-IV-atomic-hexBinary-length-4-5 tokoe:valid" result="pass"/><test-case name="6437NISTSchema-SV-IV-atomic-hexBinary-length-5 tokoe:valid" result="pass"/><test-case name="6438NISTXML-SV-IV-atomic-hexBinary-length-5-1 tokoe:valid" result="pass"/><test-case name="6439NISTXML-SV-IV-atomic-hexBinary-length-5-2 tokoe:valid" result="pass"/><test-case name="6440NISTXML-SV-IV-atomic-hexBinary-length-5-3 tokoe:valid" result="pass"/><test-case name="6441NISTXML-SV-IV-atomic-hexBinary-length-5-4 tokoe:valid" result="pass"/><test-case name="6442NISTXML-SV-IV-atomic-hexBinary-length-5-5 tokoe:valid" result="pass"/><test-case name="6443NISTSchema-SV-IV-atomic-hexBinary-pattern-1 tokoe:valid" result="pass"/><test-case name="6444NISTXML-SV-IV-atomic-hexBinary-pattern-1-1 tokoe:valid" result="pass"/><test-case name="6445NISTXML-SV-IV-atomic-hexBinary-pattern-1-2 tokoe:valid" result="pass"/><test-case name="6446NISTXML-SV-IV-atomic-hexBinary-pattern-1-3 tokoe:valid" result="pass"/><test-case name="6447NISTXML-SV-IV-atomic-hexBinary-pattern-1-4 tokoe:valid" result="pass"/><test-case name="6448NISTXML-SV-IV-atomic-hexBinary-pattern-1-5 tokoe:valid" result="pass"/><test-case name="6449NISTSchema-SV-IV-atomic-hexBinary-pattern-2 tokoe:valid" result="pass"/><test-case name="6450NISTXML-SV-IV-atomic-hexBinary-pattern-2-1 tokoe:valid" result="pass"/><test-case name="6451NISTXML-SV-IV-atomic-hexBinary-pattern-2-2 tokoe:valid" result="pass"/><test-case name="6452NISTXML-SV-IV-atomic-hexBinary-pattern-2-3 tokoe:valid" result="pass"/><test-case name="6453NISTXML-SV-IV-atomic-hexBinary-pattern-2-4 tokoe:valid" result="pass"/><test-case name="6454NISTXML-SV-IV-atomic-hexBinary-pattern-2-5 tokoe:valid" result="pass"/><test-case name="6455NISTSchema-SV-IV-atomic-hexBinary-pattern-3 tokoe:valid" result="pass"/><test-case name="6456NISTXML-SV-IV-atomic-hexBinary-pattern-3-1 tokoe:valid" result="pass"/><test-case name="6457NISTXML-SV-IV-atomic-hexBinary-pattern-3-2 tokoe:valid" result="pass"/><test-case name="6458NISTXML-SV-IV-atomic-hexBinary-pattern-3-3 tokoe:valid" result="pass"/><test-case name="6459NISTXML-SV-IV-atomic-hexBinary-pattern-3-4 tokoe:valid" result="pass"/><test-case name="6460NISTXML-SV-IV-atomic-hexBinary-pattern-3-5 tokoe:valid" result="pass"/><test-case name="6461NISTSchema-SV-IV-atomic-hexBinary-pattern-4 tokoe:valid" result="pass"/><test-case name="6462NISTXML-SV-IV-atomic-hexBinary-pattern-4-1 tokoe:valid" result="pass"/><test-case name="6463NISTXML-SV-IV-atomic-hexBinary-pattern-4-2 tokoe:valid" result="pass"/><test-case name="6464NISTXML-SV-IV-atomic-hexBinary-pattern-4-3 tokoe:valid" result="pass"/><test-case name="6465NISTXML-SV-IV-atomic-hexBinary-pattern-4-4 tokoe:valid" result="pass"/><test-case name="6466NISTXML-SV-IV-atomic-hexBinary-pattern-4-5 tokoe:valid" result="pass"/><test-case name="6467NISTSchema-SV-IV-atomic-hexBinary-pattern-5 tokoe:valid" result="pass"/><test-case name="6468NISTXML-SV-IV-atomic-hexBinary-pattern-5-1 tokoe:valid" result="pass"/><test-case name="6469NISTXML-SV-IV-atomic-hexBinary-pattern-5-2 tokoe:valid" result="pass"/><test-case name="6470NISTXML-SV-IV-atomic-hexBinary-pattern-5-3 tokoe:valid" result="pass"/><test-case name="6471NISTXML-SV-IV-atomic-hexBinary-pattern-5-4 tokoe:valid" result="pass"/><test-case name="6472NISTXML-SV-IV-atomic-hexBinary-pattern-5-5 tokoe:valid" result="pass"/><test-case name="6473NISTSchema-SV-IV-atomic-hexBinary-enumeration-1 tokoe:valid" result="pass"/><test-case name="6474NISTXML-SV-IV-atomic-hexBinary-enumeration-1-1 tokoe:valid" result="pass"/><test-case name="6475NISTXML-SV-IV-atomic-hexBinary-enumeration-1-2 tokoe:valid" result="pass"/><test-case name="6476NISTXML-SV-IV-atomic-hexBinary-enumeration-1-3 tokoe:valid" result="pass"/><test-case name="6477NISTXML-SV-IV-atomic-hexBinary-enumeration-1-4 tokoe:valid" result="pass"/><test-case name="6478NISTXML-SV-IV-atomic-hexBinary-enumeration-1-5 tokoe:valid" result="pass"/><test-case name="6479NISTSchema-SV-IV-atomic-hexBinary-enumeration-2 tokoe:valid" result="pass"/><test-case name="6480NISTXML-SV-IV-atomic-hexBinary-enumeration-2-1 tokoe:valid" result="pass"/><test-case name="6481NISTXML-SV-IV-atomic-hexBinary-enumeration-2-2 tokoe:valid" result="pass"/><test-case name="6482NISTXML-SV-IV-atomic-hexBinary-enumeration-2-3 tokoe:valid" result="pass"/><test-case name="6483NISTXML-SV-IV-atomic-hexBinary-enumeration-2-4 tokoe:valid" result="pass"/><test-case name="6484NISTXML-SV-IV-atomic-hexBinary-enumeration-2-5 tokoe:valid" result="pass"/><test-case name="6485NISTSchema-SV-IV-atomic-hexBinary-enumeration-3 tokoe:valid" result="pass"/><test-case name="6486NISTXML-SV-IV-atomic-hexBinary-enumeration-3-1 tokoe:valid" result="pass"/><test-case name="6487NISTXML-SV-IV-atomic-hexBinary-enumeration-3-2 tokoe:valid" result="pass"/><test-case name="6488NISTXML-SV-IV-atomic-hexBinary-enumeration-3-3 tokoe:valid" result="pass"/><test-case name="6489NISTXML-SV-IV-atomic-hexBinary-enumeration-3-4 tokoe:valid" result="pass"/><test-case name="6490NISTXML-SV-IV-atomic-hexBinary-enumeration-3-5 tokoe:valid" result="pass"/><test-case name="6491NISTSchema-SV-IV-atomic-hexBinary-enumeration-4 tokoe:valid" result="pass"/><test-case name="6492NISTXML-SV-IV-atomic-hexBinary-enumeration-4-1 tokoe:valid" result="pass"/><test-case name="6493NISTXML-SV-IV-atomic-hexBinary-enumeration-4-2 tokoe:valid" result="pass"/><test-case name="6494NISTXML-SV-IV-atomic-hexBinary-enumeration-4-3 tokoe:valid" result="pass"/><test-case name="6495NISTXML-SV-IV-atomic-hexBinary-enumeration-4-4 tokoe:valid" result="pass"/><test-case name="6496NISTXML-SV-IV-atomic-hexBinary-enumeration-4-5 tokoe:valid" result="pass"/><test-case name="6497NISTSchema-SV-IV-atomic-hexBinary-enumeration-5 tokoe:valid" result="pass"/><test-case name="6498NISTXML-SV-IV-atomic-hexBinary-enumeration-5-1 tokoe:valid" result="pass"/><test-case name="6499NISTXML-SV-IV-atomic-hexBinary-enumeration-5-2 tokoe:valid" result="pass"/><test-case name="6500NISTXML-SV-IV-atomic-hexBinary-enumeration-5-3 tokoe:valid" result="pass"/><test-case name="6501NISTXML-SV-IV-atomic-hexBinary-enumeration-5-4 tokoe:valid" result="pass"/><test-case name="6502NISTXML-SV-IV-atomic-hexBinary-enumeration-5-5 tokoe:valid" result="pass"/><test-case name="6503NISTSchema-SV-IV-atomic-hexBinary-whiteSpace-1 tokoe:valid" result="pass"/><test-case name="6504NISTXML-SV-IV-atomic-hexBinary-whiteSpace-1-1 tokoe:valid" result="pass"/><test-case name="6505NISTXML-SV-IV-atomic-hexBinary-whiteSpace-1-2 tokoe:valid" result="pass"/><test-case name="6506NISTXML-SV-IV-atomic-hexBinary-whiteSpace-1-3 tokoe:valid" result="pass"/><test-case name="6507NISTXML-SV-IV-atomic-hexBinary-whiteSpace-1-4 tokoe:valid" result="pass"/><test-case name="6508NISTXML-SV-IV-atomic-hexBinary-whiteSpace-1-5 tokoe:valid" result="pass"/><test-case name="6509NISTSchema-SV-II-atomic-double-pattern-1 tokoe:valid" result="pass"/><test-case name="6510NISTXML-SV-II-atomic-double-pattern-1-1 tokoe:invalid" result="pass"/><test-case name="6511NISTXML-SV-II-atomic-double-pattern-1-2 tokoe:invalid" result="pass"/><test-case name="6512NISTXML-SV-II-atomic-double-pattern-1-3 tokoe:invalid" result="pass"/><test-case name="6513NISTXML-SV-II-atomic-double-pattern-1-4 tokoe:invalid" result="pass"/><test-case name="6514NISTXML-SV-II-atomic-double-pattern-1-5 tokoe:invalid" result="pass"/><test-case name="6515NISTSchema-SV-II-atomic-double-pattern-2 tokoe:valid" result="pass"/><test-case name="6516NISTXML-SV-II-atomic-double-pattern-2-1 tokoe:invalid" result="pass"/><test-case name="6517NISTXML-SV-II-atomic-double-pattern-2-2 tokoe:invalid" result="pass"/><test-case name="6518NISTXML-SV-II-atomic-double-pattern-2-3 tokoe:invalid" result="pass"/><test-case name="6519NISTXML-SV-II-atomic-double-pattern-2-4 tokoe:invalid" result="pass"/><test-case name="6520NISTXML-SV-II-atomic-double-pattern-2-5 tokoe:invalid" result="pass"/><test-case name="6521NISTSchema-SV-II-atomic-double-pattern-3 tokoe:valid" result="pass"/><test-case name="6522NISTXML-SV-II-atomic-double-pattern-3-1 tokoe:invalid" result="pass"/><test-case name="6523NISTXML-SV-II-atomic-double-pattern-3-2 tokoe:invalid" result="pass"/><test-case name="6524NISTXML-SV-II-atomic-double-pattern-3-3 tokoe:invalid" result="pass"/><test-case name="6525NISTXML-SV-II-atomic-double-pattern-3-4 tokoe:invalid" result="pass"/><test-case name="6526NISTXML-SV-II-atomic-double-pattern-3-5 tokoe:invalid" result="pass"/><test-case name="6527NISTSchema-SV-II-atomic-double-pattern-4 tokoe:valid" result="pass"/><test-case name="6528NISTXML-SV-II-atomic-double-pattern-4-1 tokoe:invalid" result="pass"/><test-case name="6529NISTXML-SV-II-atomic-double-pattern-4-2 tokoe:invalid" result="pass"/><test-case name="6530NISTXML-SV-II-atomic-double-pattern-4-3 tokoe:invalid" result="pass"/><test-case name="6531NISTXML-SV-II-atomic-double-pattern-4-4 tokoe:invalid" result="pass"/><test-case name="6532NISTXML-SV-II-atomic-double-pattern-4-5 tokoe:invalid" result="pass"/><test-case name="6533NISTSchema-SV-II-atomic-double-pattern-5 tokoe:valid" result="pass"/><test-case name="6534NISTXML-SV-II-atomic-double-pattern-5-1 tokoe:invalid" result="pass"/><test-case name="6535NISTXML-SV-II-atomic-double-pattern-5-2 tokoe:invalid" result="pass"/><test-case name="6536NISTXML-SV-II-atomic-double-pattern-5-3 tokoe:invalid" result="pass"/><test-case name="6537NISTXML-SV-II-atomic-double-pattern-5-4 tokoe:invalid" result="pass"/><test-case name="6538NISTXML-SV-II-atomic-double-pattern-5-5 tokoe:invalid" result="pass"/><test-case name="6539NISTSchema-SV-II-atomic-double-enumeration-1 tokoe:valid" result="pass"/><test-case name="6540NISTXML-SV-II-atomic-double-enumeration-1-1 tokoe:invalid" result="pass"/><test-case name="6541NISTXML-SV-II-atomic-double-enumeration-1-2 tokoe:invalid" result="pass"/><test-case name="6542NISTXML-SV-II-atomic-double-enumeration-1-3 tokoe:invalid" result="pass"/><test-case name="6543NISTXML-SV-II-atomic-double-enumeration-1-4 tokoe:invalid" result="pass"/><test-case name="6544NISTXML-SV-II-atomic-double-enumeration-1-5 tokoe:invalid" result="pass"/><test-case name="6545NISTSchema-SV-II-atomic-double-enumeration-2 tokoe:valid" result="pass"/><test-case name="6546NISTXML-SV-II-atomic-double-enumeration-2-1 tokoe:invalid" result="pass"/><test-case name="6547NISTXML-SV-II-atomic-double-enumeration-2-2 tokoe:invalid" result="pass"/><test-case name="6548NISTXML-SV-II-atomic-double-enumeration-2-3 tokoe:invalid" result="pass"/><test-case name="6549NISTXML-SV-II-atomic-double-enumeration-2-4 tokoe:invalid" result="pass"/><test-case name="6550NISTXML-SV-II-atomic-double-enumeration-2-5 tokoe:invalid" result="pass"/><test-case name="6551NISTSchema-SV-II-atomic-double-enumeration-3 tokoe:valid" result="pass"/><test-case name="6552NISTXML-SV-II-atomic-double-enumeration-3-1 tokoe:invalid" result="pass"/><test-case name="6553NISTXML-SV-II-atomic-double-enumeration-3-2 tokoe:invalid" result="pass"/><test-case name="6554NISTXML-SV-II-atomic-double-enumeration-3-3 tokoe:invalid" result="pass"/><test-case name="6555NISTXML-SV-II-atomic-double-enumeration-3-4 tokoe:invalid" result="pass"/><test-case name="6556NISTXML-SV-II-atomic-double-enumeration-3-5 tokoe:invalid" result="pass"/><test-case name="6557NISTSchema-SV-II-atomic-double-enumeration-4 tokoe:valid" result="pass"/><test-case name="6558NISTXML-SV-II-atomic-double-enumeration-4-1 tokoe:invalid" result="pass"/><test-case name="6559NISTXML-SV-II-atomic-double-enumeration-4-2 tokoe:invalid" result="pass"/><test-case name="6560NISTXML-SV-II-atomic-double-enumeration-4-3 tokoe:invalid" result="pass"/><test-case name="6561NISTXML-SV-II-atomic-double-enumeration-4-4 tokoe:invalid" result="pass"/><test-case name="6562NISTXML-SV-II-atomic-double-enumeration-4-5 tokoe:invalid" result="pass"/><test-case name="6563NISTSchema-SV-II-atomic-double-enumeration-5 tokoe:valid" result="pass"/><test-case name="6564NISTXML-SV-II-atomic-double-enumeration-5-1 tokoe:invalid" result="pass"/><test-case name="6565NISTXML-SV-II-atomic-double-enumeration-5-2 tokoe:invalid" result="pass"/><test-case name="6566NISTXML-SV-II-atomic-double-enumeration-5-3 tokoe:invalid" result="pass"/><test-case name="6567NISTXML-SV-II-atomic-double-enumeration-5-4 tokoe:invalid" result="pass"/><test-case name="6568NISTXML-SV-II-atomic-double-enumeration-5-5 tokoe:invalid" result="pass"/><test-case name="6569NISTSchema-SV-II-atomic-float-pattern-1 tokoe:valid" result="pass"/><test-case name="6570NISTXML-SV-II-atomic-float-pattern-1-1 tokoe:invalid" result="pass"/><test-case name="6571NISTXML-SV-II-atomic-float-pattern-1-2 tokoe:invalid" result="pass"/><test-case name="6572NISTXML-SV-II-atomic-float-pattern-1-3 tokoe:invalid" result="pass"/><test-case name="6573NISTXML-SV-II-atomic-float-pattern-1-4 tokoe:invalid" result="pass"/><test-case name="6574NISTXML-SV-II-atomic-float-pattern-1-5 tokoe:invalid" result="pass"/><test-case name="6575NISTSchema-SV-II-atomic-float-pattern-2 tokoe:valid" result="pass"/><test-case name="6576NISTXML-SV-II-atomic-float-pattern-2-1 tokoe:invalid" result="pass"/><test-case name="6577NISTXML-SV-II-atomic-float-pattern-2-2 tokoe:invalid" result="pass"/><test-case name="6578NISTXML-SV-II-atomic-float-pattern-2-3 tokoe:invalid" result="pass"/><test-case name="6579NISTXML-SV-II-atomic-float-pattern-2-4 tokoe:invalid" result="pass"/><test-case name="6580NISTXML-SV-II-atomic-float-pattern-2-5 tokoe:invalid" result="pass"/><test-case name="6581NISTSchema-SV-II-atomic-float-pattern-3 tokoe:valid" result="pass"/><test-case name="6582NISTXML-SV-II-atomic-float-pattern-3-1 tokoe:invalid" result="pass"/><test-case name="6583NISTXML-SV-II-atomic-float-pattern-3-2 tokoe:invalid" result="pass"/><test-case name="6584NISTXML-SV-II-atomic-float-pattern-3-3 tokoe:invalid" result="pass"/><test-case name="6585NISTXML-SV-II-atomic-float-pattern-3-4 tokoe:invalid" result="pass"/><test-case name="6586NISTXML-SV-II-atomic-float-pattern-3-5 tokoe:invalid" result="pass"/><test-case name="6587NISTSchema-SV-II-atomic-float-pattern-4 tokoe:valid" result="pass"/><test-case name="6588NISTXML-SV-II-atomic-float-pattern-4-1 tokoe:invalid" result="pass"/><test-case name="6589NISTXML-SV-II-atomic-float-pattern-4-2 tokoe:invalid" result="pass"/><test-case name="6590NISTXML-SV-II-atomic-float-pattern-4-3 tokoe:invalid" result="pass"/><test-case name="6591NISTXML-SV-II-atomic-float-pattern-4-4 tokoe:invalid" result="pass"/><test-case name="6592NISTXML-SV-II-atomic-float-pattern-4-5 tokoe:invalid" result="pass"/><test-case name="6593NISTSchema-SV-II-atomic-float-pattern-5 tokoe:valid" result="pass"/><test-case name="6594NISTXML-SV-II-atomic-float-pattern-5-1 tokoe:invalid" result="pass"/><test-case name="6595NISTXML-SV-II-atomic-float-pattern-5-2 tokoe:invalid" result="pass"/><test-case name="6596NISTXML-SV-II-atomic-float-pattern-5-3 tokoe:invalid" result="pass"/><test-case name="6597NISTXML-SV-II-atomic-float-pattern-5-4 tokoe:invalid" result="pass"/><test-case name="6598NISTXML-SV-II-atomic-float-pattern-5-5 tokoe:invalid" result="pass"/><test-case name="6599NISTSchema-SV-II-atomic-float-enumeration-1 tokoe:valid" result="pass"/><test-case name="6600NISTXML-SV-II-atomic-float-enumeration-1-1 tokoe:invalid" result="pass"/><test-case name="6601NISTXML-SV-II-atomic-float-enumeration-1-2 tokoe:invalid" result="pass"/><test-case name="6602NISTXML-SV-II-atomic-float-enumeration-1-3 tokoe:invalid" result="pass"/><test-case name="6603NISTXML-SV-II-atomic-float-enumeration-1-4 tokoe:invalid" result="pass"/><test-case name="6604NISTXML-SV-II-atomic-float-enumeration-1-5 tokoe:invalid" result="pass"/><test-case name="6605NISTSchema-SV-II-atomic-float-enumeration-2 tokoe:valid" result="pass"/><test-case name="6606NISTXML-SV-II-atomic-float-enumeration-2-1 tokoe:invalid" result="pass"/><test-case name="6607NISTXML-SV-II-atomic-float-enumeration-2-2 tokoe:invalid" result="pass"/><test-case name="6608NISTXML-SV-II-atomic-float-enumeration-2-3 tokoe:invalid" result="pass"/><test-case name="6609NISTXML-SV-II-atomic-float-enumeration-2-4 tokoe:invalid" result="pass"/><test-case name="6610NISTXML-SV-II-atomic-float-enumeration-2-5 tokoe:invalid" result="pass"/><test-case name="6611NISTSchema-SV-II-atomic-float-enumeration-3 tokoe:valid" result="pass"/><test-case name="6612NISTXML-SV-II-atomic-float-enumeration-3-1 tokoe:invalid" result="pass"/><test-case name="6613NISTXML-SV-II-atomic-float-enumeration-3-2 tokoe:invalid" result="pass"/><test-case name="6614NISTXML-SV-II-atomic-float-enumeration-3-3 tokoe:invalid" result="pass"/><test-case name="6615NISTXML-SV-II-atomic-float-enumeration-3-4 tokoe:invalid" result="pass"/><test-case name="6616NISTXML-SV-II-atomic-float-enumeration-3-5 tokoe:invalid" result="pass"/><test-case name="6617NISTSchema-SV-II-atomic-float-enumeration-4 tokoe:valid" result="pass"/><test-case name="6618NISTXML-SV-II-atomic-float-enumeration-4-1 tokoe:invalid" result="pass"/><test-case name="6619NISTXML-SV-II-atomic-float-enumeration-4-2 tokoe:invalid" result="pass"/><test-case name="6620NISTXML-SV-II-atomic-float-enumeration-4-3 tokoe:invalid" result="pass"/><test-case name="6621NISTXML-SV-II-atomic-float-enumeration-4-4 tokoe:invalid" result="pass"/><test-case name="6622NISTXML-SV-II-atomic-float-enumeration-4-5 tokoe:invalid" result="pass"/><test-case name="6623NISTSchema-SV-II-atomic-float-enumeration-5 tokoe:valid" result="pass"/><test-case name="6624NISTXML-SV-II-atomic-float-enumeration-5-1 tokoe:invalid" result="pass"/><test-case name="6625NISTXML-SV-II-atomic-float-enumeration-5-2 tokoe:invalid" result="pass"/><test-case name="6626NISTXML-SV-II-atomic-float-enumeration-5-3 tokoe:invalid" result="pass"/><test-case name="6627NISTXML-SV-II-atomic-float-enumeration-5-4 tokoe:invalid" result="pass"/><test-case name="6628NISTXML-SV-II-atomic-float-enumeration-5-5 tokoe:invalid" result="pass"/><test-case name="6629NISTSchema-SV-II-atomic-decimal-minInclusive-2 tokoe:valid" result="pass"/><test-case name="6630NISTXML-SV-II-atomic-decimal-minInclusive-2-1 tokoe:invalid" result="pass"/><test-case name="6631NISTXML-SV-II-atomic-decimal-minInclusive-2-2 tokoe:invalid" result="pass"/><test-case name="6632NISTXML-SV-II-atomic-decimal-minInclusive-2-3 tokoe:invalid" result="pass"/><test-case name="6633NISTXML-SV-II-atomic-decimal-minInclusive-2-4 tokoe:invalid" result="pass"/><test-case name="6634NISTXML-SV-II-atomic-decimal-minInclusive-2-5 tokoe:invalid" result="fail"/><test-case name="6635NISTSchema-SV-II-atomic-decimal-minInclusive-3 tokoe:valid" result="pass"/><test-case name="6636NISTXML-SV-II-atomic-decimal-minInclusive-3-1 tokoe:invalid" result="pass"/><test-case name="6637NISTXML-SV-II-atomic-decimal-minInclusive-3-2 tokoe:invalid" result="pass"/><test-case name="6638NISTXML-SV-II-atomic-decimal-minInclusive-3-3 tokoe:invalid" result="pass"/><test-case name="6639NISTXML-SV-II-atomic-decimal-minInclusive-3-4 tokoe:invalid" result="pass"/><test-case name="6640NISTXML-SV-II-atomic-decimal-minInclusive-3-5 tokoe:invalid" result="fail"/><test-case name="6641NISTSchema-SV-II-atomic-decimal-minInclusive-4 tokoe:valid" result="pass"/><test-case name="6642NISTXML-SV-II-atomic-decimal-minInclusive-4-1 tokoe:invalid" result="pass"/><test-case name="6643NISTXML-SV-II-atomic-decimal-minInclusive-4-2 tokoe:invalid" result="pass"/><test-case name="6644NISTXML-SV-II-atomic-decimal-minInclusive-4-3 tokoe:invalid" result="pass"/><test-case name="6645NISTXML-SV-II-atomic-decimal-minInclusive-4-4 tokoe:invalid" result="pass"/><test-case name="6646NISTXML-SV-II-atomic-decimal-minInclusive-4-5 tokoe:invalid" result="fail"/><test-case name="6647NISTSchema-SV-II-atomic-decimal-minInclusive-5 tokoe:valid" result="pass"/><test-case name="6648NISTXML-SV-II-atomic-decimal-minInclusive-5-1 tokoe:invalid" result="pass"/><test-case name="6649NISTXML-SV-II-atomic-decimal-minInclusive-5-2 tokoe:invalid" result="pass"/><test-case name="6650NISTXML-SV-II-atomic-decimal-minInclusive-5-3 tokoe:invalid" result="pass"/><test-case name="6651NISTXML-SV-II-atomic-decimal-minInclusive-5-4 tokoe:invalid" result="pass"/><test-case name="6652NISTXML-SV-II-atomic-decimal-minInclusive-5-5 tokoe:invalid" result="fail"/><test-case name="6653NISTSchema-SV-II-atomic-decimal-minInclusive-6 tokoe:valid" result="pass"/><test-case name="6654NISTXML-SV-II-atomic-decimal-minInclusive-6-1 tokoe:invalid" result="pass"/><test-case name="6655NISTXML-SV-II-atomic-decimal-minInclusive-6-2 tokoe:invalid" result="pass"/><test-case name="6656NISTXML-SV-II-atomic-decimal-minInclusive-6-3 tokoe:invalid" result="pass"/><test-case name="6657NISTXML-SV-II-atomic-decimal-minInclusive-6-4 tokoe:invalid" result="pass"/><test-case name="6658NISTXML-SV-II-atomic-decimal-minInclusive-6-5 tokoe:invalid" result="fail"/><test-case name="6659NISTSchema-SV-II-atomic-decimal-maxInclusive-1 tokoe:valid" result="pass"/><test-case name="6660NISTXML-SV-II-atomic-decimal-maxInclusive-1-1 tokoe:invalid" result="fail"/><test-case name="6661NISTXML-SV-II-atomic-decimal-maxInclusive-1-2 tokoe:invalid" result="pass"/><test-case name="6662NISTXML-SV-II-atomic-decimal-maxInclusive-1-3 tokoe:invalid" result="pass"/><test-case name="6663NISTXML-SV-II-atomic-decimal-maxInclusive-1-4 tokoe:invalid" result="pass"/><test-case name="6664NISTXML-SV-II-atomic-decimal-maxInclusive-1-5 tokoe:invalid" result="pass"/><test-case name="6665NISTSchema-SV-II-atomic-decimal-maxInclusive-2 tokoe:valid" result="pass"/><test-case name="6666NISTXML-SV-II-atomic-decimal-maxInclusive-2-1 tokoe:invalid" result="fail"/><test-case name="6667NISTXML-SV-II-atomic-decimal-maxInclusive-2-2 tokoe:invalid" result="pass"/><test-case name="6668NISTXML-SV-II-atomic-decimal-maxInclusive-2-3 tokoe:invalid" result="pass"/><test-case name="6669NISTXML-SV-II-atomic-decimal-maxInclusive-2-4 tokoe:invalid" result="pass"/><test-case name="6670NISTXML-SV-II-atomic-decimal-maxInclusive-2-5 tokoe:invalid" result="pass"/><test-case name="6671NISTSchema-SV-II-atomic-decimal-maxInclusive-3 tokoe:valid" result="pass"/><test-case name="6672NISTXML-SV-II-atomic-decimal-maxInclusive-3-1 tokoe:invalid" result="fail"/><test-case name="6673NISTXML-SV-II-atomic-decimal-maxInclusive-3-2 tokoe:invalid" result="pass"/><test-case name="6674NISTXML-SV-II-atomic-decimal-maxInclusive-3-3 tokoe:invalid" result="pass"/><test-case name="6675NISTXML-SV-II-atomic-decimal-maxInclusive-3-4 tokoe:invalid" result="pass"/><test-case name="6676NISTXML-SV-II-atomic-decimal-maxInclusive-3-5 tokoe:invalid" result="pass"/><test-case name="6677NISTSchema-SV-II-atomic-decimal-maxInclusive-4 tokoe:valid" result="pass"/><test-case name="6678NISTXML-SV-II-atomic-decimal-maxInclusive-4-1 tokoe:invalid" result="fail"/><test-case name="6679NISTXML-SV-II-atomic-decimal-maxInclusive-4-2 tokoe:invalid" result="pass"/><test-case name="6680NISTXML-SV-II-atomic-decimal-maxInclusive-4-3 tokoe:invalid" result="pass"/><test-case name="6681NISTXML-SV-II-atomic-decimal-maxInclusive-4-4 tokoe:invalid" result="pass"/><test-case name="6682NISTXML-SV-II-atomic-decimal-maxInclusive-4-5 tokoe:invalid" result="pass"/><test-case name="6683NISTSchema-SV-II-atomic-decimal-maxInclusive-5 tokoe:valid" result="pass"/><test-case name="6684NISTXML-SV-II-atomic-decimal-maxInclusive-5-1 tokoe:invalid" result="fail"/><test-case name="6685NISTXML-SV-II-atomic-decimal-maxInclusive-5-2 tokoe:invalid" result="pass"/><test-case name="6686NISTXML-SV-II-atomic-decimal-maxInclusive-5-3 tokoe:invalid" result="pass"/><test-case name="6687NISTXML-SV-II-atomic-decimal-maxInclusive-5-4 tokoe:invalid" result="pass"/><test-case name="6688NISTXML-SV-II-atomic-decimal-maxInclusive-5-5 tokoe:invalid" result="pass"/><test-case name="6689NISTSchema-SV-II-atomic-decimal-fractionDigits-1 tokoe:valid" result="pass"/><test-case name="6690NISTXML-SV-II-atomic-decimal-fractionDigits-1-1 tokoe:invalid" result="pass"/><test-case name="6691NISTXML-SV-II-atomic-decimal-fractionDigits-1-2 tokoe:invalid" result="pass"/><test-case name="6692NISTXML-SV-II-atomic-decimal-fractionDigits-1-3 tokoe:invalid" result="pass"/><test-case name="6693NISTXML-SV-II-atomic-decimal-fractionDigits-1-4 tokoe:invalid" result="pass"/><test-case name="6694NISTXML-SV-II-atomic-decimal-fractionDigits-1-5 tokoe:invalid" result="pass"/><test-case name="6695NISTSchema-SV-II-atomic-decimal-fractionDigits-2 tokoe:valid" result="pass"/><test-case name="6696NISTXML-SV-II-atomic-decimal-fractionDigits-2-1 tokoe:invalid" result="pass"/><test-case name="6697NISTXML-SV-II-atomic-decimal-fractionDigits-2-2 tokoe:invalid" result="pass"/><test-case name="6698NISTXML-SV-II-atomic-decimal-fractionDigits-2-3 tokoe:invalid" result="pass"/><test-case name="6699NISTXML-SV-II-atomic-decimal-fractionDigits-2-4 tokoe:invalid" result="pass"/><test-case name="6700NISTXML-SV-II-atomic-decimal-fractionDigits-2-5 tokoe:invalid" result="pass"/><test-case name="6701NISTSchema-SV-II-atomic-decimal-fractionDigits-3 tokoe:valid" result="pass"/><test-case name="6702NISTXML-SV-II-atomic-decimal-fractionDigits-3-1 tokoe:invalid" result="pass"/><test-case name="6703NISTXML-SV-II-atomic-decimal-fractionDigits-3-2 tokoe:invalid" result="pass"/><test-case name="6704NISTXML-SV-II-atomic-decimal-fractionDigits-3-3 tokoe:invalid" result="pass"/><test-case name="6705NISTXML-SV-II-atomic-decimal-fractionDigits-3-4 tokoe:invalid" result="pass"/><test-case name="6706NISTXML-SV-II-atomic-decimal-fractionDigits-3-5 tokoe:invalid" result="pass"/><test-case name="6707NISTSchema-SV-II-atomic-decimal-fractionDigits-4 tokoe:valid" result="pass"/><test-case name="6708NISTXML-SV-II-atomic-decimal-fractionDigits-4-1 tokoe:invalid" result="pass"/><test-case name="6709NISTXML-SV-II-atomic-decimal-fractionDigits-4-2 tokoe:invalid" result="pass"/><test-case name="6710NISTXML-SV-II-atomic-decimal-fractionDigits-4-3 tokoe:invalid" result="pass"/><test-case name="6711NISTXML-SV-II-atomic-decimal-fractionDigits-4-4 tokoe:invalid" result="pass"/><test-case name="6712NISTXML-SV-II-atomic-decimal-fractionDigits-4-5 tokoe:invalid" result="pass"/><test-case name="6713NISTSchema-SV-II-atomic-decimal-fractionDigits-5 tokoe:valid" result="pass"/><test-case name="6714NISTXML-SV-II-atomic-decimal-fractionDigits-5-1 tokoe:invalid" result="pass"/><test-case name="6715NISTXML-SV-II-atomic-decimal-fractionDigits-5-2 tokoe:invalid" result="pass"/><test-case name="6716NISTXML-SV-II-atomic-decimal-fractionDigits-5-3 tokoe:invalid" result="pass"/><test-case name="6717NISTXML-SV-II-atomic-decimal-fractionDigits-5-4 tokoe:invalid" result="pass"/><test-case name="6718NISTXML-SV-II-atomic-decimal-fractionDigits-5-5 tokoe:invalid" result="pass"/><test-case name="6719NISTSchema-SV-II-atomic-decimal-totalDigits-1 tokoe:valid" result="pass"/><test-case name="6720NISTXML-SV-II-atomic-decimal-totalDigits-1-1 tokoe:invalid" result="pass"/><test-case name="6721NISTXML-SV-II-atomic-decimal-totalDigits-1-2 tokoe:invalid" result="pass"/><test-case name="6722NISTXML-SV-II-atomic-decimal-totalDigits-1-3 tokoe:invalid" result="pass"/><test-case name="6723NISTXML-SV-II-atomic-decimal-totalDigits-1-4 tokoe:invalid" result="pass"/><test-case name="6724NISTXML-SV-II-atomic-decimal-totalDigits-1-5 tokoe:invalid" result="pass"/><test-case name="6725NISTSchema-SV-II-atomic-decimal-totalDigits-2 tokoe:valid" result="pass"/><test-case name="6726NISTXML-SV-II-atomic-decimal-totalDigits-2-1 tokoe:invalid" result="pass"/><test-case name="6727NISTXML-SV-II-atomic-decimal-totalDigits-2-2 tokoe:invalid" result="pass"/><test-case name="6728NISTXML-SV-II-atomic-decimal-totalDigits-2-3 tokoe:invalid" result="pass"/><test-case name="6729NISTXML-SV-II-atomic-decimal-totalDigits-2-4 tokoe:invalid" result="pass"/><test-case name="6730NISTXML-SV-II-atomic-decimal-totalDigits-2-5 tokoe:invalid" result="pass"/><test-case name="6731NISTSchema-SV-II-atomic-decimal-totalDigits-3 tokoe:valid" result="pass"/><test-case name="6732NISTXML-SV-II-atomic-decimal-totalDigits-3-1 tokoe:invalid" result="pass"/><test-case name="6733NISTXML-SV-II-atomic-decimal-totalDigits-3-2 tokoe:invalid" result="pass"/><test-case name="6734NISTXML-SV-II-atomic-decimal-totalDigits-3-3 tokoe:invalid" result="pass"/><test-case name="6735NISTXML-SV-II-atomic-decimal-totalDigits-3-4 tokoe:invalid" result="pass"/><test-case name="6736NISTXML-SV-II-atomic-decimal-totalDigits-3-5 tokoe:invalid" result="pass"/><test-case name="6737NISTSchema-SV-II-atomic-decimal-totalDigits-4 tokoe:valid" result="pass"/><test-case name="6738NISTXML-SV-II-atomic-decimal-totalDigits-4-1 tokoe:invalid" result="pass"/><test-case name="6739NISTXML-SV-II-atomic-decimal-totalDigits-4-2 tokoe:invalid" result="pass"/><test-case name="6740NISTXML-SV-II-atomic-decimal-totalDigits-4-3 tokoe:invalid" result="pass"/><test-case name="6741NISTXML-SV-II-atomic-decimal-totalDigits-4-4 tokoe:invalid" result="pass"/><test-case name="6742NISTXML-SV-II-atomic-decimal-totalDigits-4-5 tokoe:invalid" result="pass"/><test-case name="6743NISTSchema-SV-II-atomic-decimal-totalDigits-5 tokoe:valid" result="pass"/><test-case name="6744NISTXML-SV-II-atomic-decimal-totalDigits-5-1 tokoe:invalid" result="pass"/><test-case name="6745NISTXML-SV-II-atomic-decimal-totalDigits-5-2 tokoe:invalid" result="pass"/><test-case name="6746NISTXML-SV-II-atomic-decimal-totalDigits-5-3 tokoe:invalid" result="pass"/><test-case name="6747NISTXML-SV-II-atomic-decimal-totalDigits-5-4 tokoe:invalid" result="pass"/><test-case name="6748NISTXML-SV-II-atomic-decimal-totalDigits-5-5 tokoe:invalid" result="pass"/><test-case name="6749NISTSchema-SV-II-atomic-integer-minInclusive-2 tokoe:valid" result="pass"/><test-case name="6750NISTXML-SV-II-atomic-integer-minInclusive-2-1 tokoe:invalid" result="pass"/><test-case name="6751NISTXML-SV-II-atomic-integer-minInclusive-2-2 tokoe:invalid" result="pass"/><test-case name="6752NISTXML-SV-II-atomic-integer-minInclusive-2-3 tokoe:invalid" result="pass"/><test-case name="6753NISTXML-SV-II-atomic-integer-minInclusive-2-4 tokoe:invalid" result="pass"/><test-case name="6754NISTXML-SV-II-atomic-integer-minInclusive-2-5 tokoe:invalid" result="pass"/><test-case name="6755NISTSchema-SV-II-atomic-integer-minInclusive-3 tokoe:valid" result="pass"/><test-case name="6756NISTXML-SV-II-atomic-integer-minInclusive-3-1 tokoe:invalid" result="pass"/><test-case name="6757NISTXML-SV-II-atomic-integer-minInclusive-3-2 tokoe:invalid" result="pass"/><test-case name="6758NISTXML-SV-II-atomic-integer-minInclusive-3-3 tokoe:invalid" result="pass"/><test-case name="6759NISTXML-SV-II-atomic-integer-minInclusive-3-4 tokoe:invalid" result="pass"/><test-case name="6760NISTXML-SV-II-atomic-integer-minInclusive-3-5 tokoe:invalid" result="pass"/><test-case name="6761NISTSchema-SV-II-atomic-integer-minInclusive-4 tokoe:valid" result="pass"/><test-case name="6762NISTXML-SV-II-atomic-integer-minInclusive-4-1 tokoe:invalid" result="pass"/><test-case name="6763NISTXML-SV-II-atomic-integer-minInclusive-4-2 tokoe:invalid" result="pass"/><test-case name="6764NISTXML-SV-II-atomic-integer-minInclusive-4-3 tokoe:invalid" result="pass"/><test-case name="6765NISTXML-SV-II-atomic-integer-minInclusive-4-4 tokoe:invalid" result="pass"/><test-case name="6766NISTXML-SV-II-atomic-integer-minInclusive-4-5 tokoe:invalid" result="pass"/><test-case name="6767NISTSchema-SV-II-atomic-integer-minInclusive-5 tokoe:valid" result="pass"/><test-case name="6768NISTXML-SV-II-atomic-integer-minInclusive-5-1 tokoe:invalid" result="pass"/><test-case name="6769NISTXML-SV-II-atomic-integer-minInclusive-5-2 tokoe:invalid" result="pass"/><test-case name="6770NISTXML-SV-II-atomic-integer-minInclusive-5-3 tokoe:invalid" result="pass"/><test-case name="6771NISTXML-SV-II-atomic-integer-minInclusive-5-4 tokoe:invalid" result="pass"/><test-case name="6772NISTXML-SV-II-atomic-integer-minInclusive-5-5 tokoe:invalid" result="pass"/><test-case name="6773NISTSchema-SV-II-atomic-integer-minInclusive-6 tokoe:valid" result="pass"/><test-case name="6774NISTXML-SV-II-atomic-integer-minInclusive-6-1 tokoe:invalid" result="pass"/><test-case name="6775NISTXML-SV-II-atomic-integer-minInclusive-6-2 tokoe:invalid" result="pass"/><test-case name="6776NISTXML-SV-II-atomic-integer-minInclusive-6-3 tokoe:invalid" result="pass"/><test-case name="6777NISTXML-SV-II-atomic-integer-minInclusive-6-4 tokoe:invalid" result="pass"/><test-case name="6778NISTXML-SV-II-atomic-integer-minInclusive-6-5 tokoe:invalid" result="pass"/><test-case name="6779NISTSchema-SV-II-atomic-integer-maxInclusive-1 tokoe:valid" result="pass"/><test-case name="6780NISTXML-SV-II-atomic-integer-maxInclusive-1-1 tokoe:invalid" result="pass"/><test-case name="6781NISTXML-SV-II-atomic-integer-maxInclusive-1-2 tokoe:invalid" result="pass"/><test-case name="6782NISTXML-SV-II-atomic-integer-maxInclusive-1-3 tokoe:invalid" result="pass"/><test-case name="6783NISTXML-SV-II-atomic-integer-maxInclusive-1-4 tokoe:invalid" result="pass"/><test-case name="6784NISTXML-SV-II-atomic-integer-maxInclusive-1-5 tokoe:invalid" result="pass"/><test-case name="6785NISTSchema-SV-II-atomic-integer-maxInclusive-2 tokoe:valid" result="pass"/><test-case name="6786NISTXML-SV-II-atomic-integer-maxInclusive-2-1 tokoe:invalid" result="pass"/><test-case name="6787NISTXML-SV-II-atomic-integer-maxInclusive-2-2 tokoe:invalid" result="pass"/><test-case name="6788NISTXML-SV-II-atomic-integer-maxInclusive-2-3 tokoe:invalid" result="pass"/><test-case name="6789NISTXML-SV-II-atomic-integer-maxInclusive-2-4 tokoe:invalid" result="pass"/><test-case name="6790NISTXML-SV-II-atomic-integer-maxInclusive-2-5 tokoe:invalid" result="pass"/><test-case name="6791NISTSchema-SV-II-atomic-integer-maxInclusive-3 tokoe:valid" result="pass"/><test-case name="6792NISTXML-SV-II-atomic-integer-maxInclusive-3-1 tokoe:invalid" result="pass"/><test-case name="6793NISTXML-SV-II-atomic-integer-maxInclusive-3-2 tokoe:invalid" result="pass"/><test-case name="6794NISTXML-SV-II-atomic-integer-maxInclusive-3-3 tokoe:invalid" result="pass"/><test-case name="6795NISTXML-SV-II-atomic-integer-maxInclusive-3-4 tokoe:invalid" result="pass"/><test-case name="6796NISTXML-SV-II-atomic-integer-maxInclusive-3-5 tokoe:invalid" result="pass"/><test-case name="6797NISTSchema-SV-II-atomic-integer-maxInclusive-4 tokoe:valid" result="pass"/><test-case name="6798NISTXML-SV-II-atomic-integer-maxInclusive-4-1 tokoe:invalid" result="pass"/><test-case name="6799NISTXML-SV-II-atomic-integer-maxInclusive-4-2 tokoe:invalid" result="pass"/><test-case name="6800NISTXML-SV-II-atomic-integer-maxInclusive-4-3 tokoe:invalid" result="pass"/><test-case name="6801NISTXML-SV-II-atomic-integer-maxInclusive-4-4 tokoe:invalid" result="pass"/><test-case name="6802NISTXML-SV-II-atomic-integer-maxInclusive-4-5 tokoe:invalid" result="pass"/><test-case name="6803NISTSchema-SV-II-atomic-integer-maxInclusive-5 tokoe:valid" result="pass"/><test-case name="6804NISTXML-SV-II-atomic-integer-maxInclusive-5-1 tokoe:invalid" result="pass"/><test-case name="6805NISTXML-SV-II-atomic-integer-maxInclusive-5-2 tokoe:invalid" result="pass"/><test-case name="6806NISTXML-SV-II-atomic-integer-maxInclusive-5-3 tokoe:invalid" result="pass"/><test-case name="6807NISTXML-SV-II-atomic-integer-maxInclusive-5-4 tokoe:invalid" result="pass"/><test-case name="6808NISTXML-SV-II-atomic-integer-maxInclusive-5-5 tokoe:invalid" result="pass"/><test-case name="6809NISTSchema-SV-II-atomic-integer-totalDigits-1 tokoe:valid" result="pass"/><test-case name="6810NISTXML-SV-II-atomic-integer-totalDigits-1-1 tokoe:invalid" result="pass"/><test-case name="6811NISTXML-SV-II-atomic-integer-totalDigits-1-2 tokoe:invalid" result="pass"/><test-case name="6812NISTXML-SV-II-atomic-integer-totalDigits-1-3 tokoe:invalid" result="pass"/><test-case name="6813NISTXML-SV-II-atomic-integer-totalDigits-1-4 tokoe:invalid" result="pass"/><test-case name="6814NISTXML-SV-II-atomic-integer-totalDigits-1-5 tokoe:invalid" result="pass"/><test-case name="6815NISTSchema-SV-II-atomic-integer-totalDigits-2 tokoe:valid" result="pass"/><test-case name="6816NISTXML-SV-II-atomic-integer-totalDigits-2-1 tokoe:invalid" result="pass"/><test-case name="6817NISTXML-SV-II-atomic-integer-totalDigits-2-2 tokoe:invalid" result="pass"/><test-case name="6818NISTXML-SV-II-atomic-integer-totalDigits-2-3 tokoe:invalid" result="pass"/><test-case name="6819NISTXML-SV-II-atomic-integer-totalDigits-2-4 tokoe:invalid" result="pass"/><test-case name="6820NISTXML-SV-II-atomic-integer-totalDigits-2-5 tokoe:invalid" result="pass"/><test-case name="6821NISTSchema-SV-II-atomic-integer-totalDigits-3 tokoe:valid" result="pass"/><test-case name="6822NISTXML-SV-II-atomic-integer-totalDigits-3-1 tokoe:invalid" result="pass"/><test-case name="6823NISTXML-SV-II-atomic-integer-totalDigits-3-2 tokoe:invalid" result="pass"/><test-case name="6824NISTXML-SV-II-atomic-integer-totalDigits-3-3 tokoe:invalid" result="pass"/><test-case name="6825NISTXML-SV-II-atomic-integer-totalDigits-3-4 tokoe:invalid" result="pass"/><test-case name="6826NISTXML-SV-II-atomic-integer-totalDigits-3-5 tokoe:invalid" result="pass"/><test-case name="6827NISTSchema-SV-II-atomic-integer-totalDigits-4 tokoe:valid" result="pass"/><test-case name="6828NISTXML-SV-II-atomic-integer-totalDigits-4-1 tokoe:invalid" result="pass"/><test-case name="6829NISTXML-SV-II-atomic-integer-totalDigits-4-2 tokoe:invalid" result="pass"/><test-case name="6830NISTXML-SV-II-atomic-integer-totalDigits-4-3 tokoe:invalid" result="pass"/><test-case name="6831NISTXML-SV-II-atomic-integer-totalDigits-4-4 tokoe:invalid" result="pass"/><test-case name="6832NISTXML-SV-II-atomic-integer-totalDigits-4-5 tokoe:invalid" result="pass"/><test-case name="6833NISTSchema-SV-II-atomic-integer-totalDigits-5 tokoe:valid" result="pass"/><test-case name="6834NISTXML-SV-II-atomic-integer-totalDigits-5-1 tokoe:invalid" result="pass"/><test-case name="6835NISTXML-SV-II-atomic-integer-totalDigits-5-2 tokoe:invalid" result="pass"/><test-case name="6836NISTXML-SV-II-atomic-integer-totalDigits-5-3 tokoe:invalid" result="pass"/><test-case name="6837NISTXML-SV-II-atomic-integer-totalDigits-5-4 tokoe:invalid" result="pass"/><test-case name="6838NISTXML-SV-II-atomic-integer-totalDigits-5-5 tokoe:invalid" result="pass"/><test-case name="6839NISTSchema-SV-II-atomic-nonPositiveInteger-minInclusive-2 tokoe:valid" result="pass"/><test-case name="6840NISTXML-SV-II-atomic-nonPositiveInteger-minInclusive-2-1 tokoe:invalid" result="pass"/><test-case name="6841NISTXML-SV-II-atomic-nonPositiveInteger-minInclusive-2-2 tokoe:invalid" result="pass"/><test-case name="6842NISTXML-SV-II-atomic-nonPositiveInteger-minInclusive-2-3 tokoe:invalid" result="pass"/><test-case name="6843NISTXML-SV-II-atomic-nonPositiveInteger-minInclusive-2-4 tokoe:invalid" result="pass"/><test-case name="6844NISTXML-SV-II-atomic-nonPositiveInteger-minInclusive-2-5 tokoe:invalid" result="pass"/><test-case name="6845NISTSchema-SV-II-atomic-nonPositiveInteger-minInclusive-3 tokoe:valid" result="pass"/><test-case name="6846NISTXML-SV-II-atomic-nonPositiveInteger-minInclusive-3-1 tokoe:invalid" result="pass"/><test-case name="6847NISTXML-SV-II-atomic-nonPositiveInteger-minInclusive-3-2 tokoe:invalid" result="pass"/><test-case name="6848NISTXML-SV-II-atomic-nonPositiveInteger-minInclusive-3-3 tokoe:invalid" result="pass"/><test-case name="6849NISTXML-SV-II-atomic-nonPositiveInteger-minInclusive-3-4 tokoe:invalid" result="pass"/><test-case name="6850NISTXML-SV-II-atomic-nonPositiveInteger-minInclusive-3-5 tokoe:invalid" result="pass"/><test-case name="6851NISTSchema-SV-II-atomic-nonPositiveInteger-minInclusive-4 tokoe:valid" result="pass"/><test-case name="6852NISTXML-SV-II-atomic-nonPositiveInteger-minInclusive-4-1 tokoe:invalid" result="pass"/><test-case name="6853NISTXML-SV-II-atomic-nonPositiveInteger-minInclusive-4-2 tokoe:invalid" result="pass"/><test-case name="6854NISTXML-SV-II-atomic-nonPositiveInteger-minInclusive-4-3 tokoe:invalid" result="pass"/><test-case name="6855NISTXML-SV-II-atomic-nonPositiveInteger-minInclusive-4-4 tokoe:invalid" result="pass"/><test-case name="6856NISTXML-SV-II-atomic-nonPositiveInteger-minInclusive-4-5 tokoe:invalid" result="pass"/><test-case name="6857NISTSchema-SV-II-atomic-nonPositiveInteger-minInclusive-5 tokoe:valid" result="pass"/><test-case name="6858NISTXML-SV-II-atomic-nonPositiveInteger-minInclusive-5-1 tokoe:invalid" result="pass"/><test-case name="6859NISTXML-SV-II-atomic-nonPositiveInteger-minInclusive-5-2 tokoe:invalid" result="pass"/><test-case name="6860NISTXML-SV-II-atomic-nonPositiveInteger-minInclusive-5-3 tokoe:invalid" result="pass"/><test-case name="6861NISTXML-SV-II-atomic-nonPositiveInteger-minInclusive-5-4 tokoe:invalid" result="pass"/><test-case name="6862NISTXML-SV-II-atomic-nonPositiveInteger-minInclusive-5-5 tokoe:invalid" result="pass"/><test-case name="6863NISTSchema-SV-II-atomic-nonPositiveInteger-minInclusive-6 tokoe:valid" result="pass"/><test-case name="6864NISTXML-SV-II-atomic-nonPositiveInteger-minInclusive-6-1 tokoe:invalid" result="pass"/><test-case name="6865NISTXML-SV-II-atomic-nonPositiveInteger-minInclusive-6-2 tokoe:invalid" result="pass"/><test-case name="6866NISTXML-SV-II-atomic-nonPositiveInteger-minInclusive-6-3 tokoe:invalid" result="pass"/><test-case name="6867NISTXML-SV-II-atomic-nonPositiveInteger-minInclusive-6-4 tokoe:invalid" result="pass"/><test-case name="6868NISTXML-SV-II-atomic-nonPositiveInteger-minInclusive-6-5 tokoe:invalid" result="pass"/><test-case name="6869NISTSchema-SV-II-atomic-nonPositiveInteger-maxInclusive-1 tokoe:valid" result="pass"/><test-case name="6870NISTXML-SV-II-atomic-nonPositiveInteger-maxInclusive-1-1 tokoe:invalid" result="pass"/><test-case name="6871NISTXML-SV-II-atomic-nonPositiveInteger-maxInclusive-1-2 tokoe:invalid" result="pass"/><test-case name="6872NISTXML-SV-II-atomic-nonPositiveInteger-maxInclusive-1-3 tokoe:invalid" result="pass"/><test-case name="6873NISTXML-SV-II-atomic-nonPositiveInteger-maxInclusive-1-4 tokoe:invalid" result="pass"/><test-case name="6874NISTXML-SV-II-atomic-nonPositiveInteger-maxInclusive-1-5 tokoe:invalid" result="pass"/><test-case name="6875NISTSchema-SV-II-atomic-nonPositiveInteger-maxInclusive-2 tokoe:valid" result="pass"/><test-case name="6876NISTXML-SV-II-atomic-nonPositiveInteger-maxInclusive-2-1 tokoe:invalid" result="pass"/><test-case name="6877NISTXML-SV-II-atomic-nonPositiveInteger-maxInclusive-2-2 tokoe:invalid" result="pass"/><test-case name="6878NISTXML-SV-II-atomic-nonPositiveInteger-maxInclusive-2-3 tokoe:invalid" result="pass"/><test-case name="6879NISTXML-SV-II-atomic-nonPositiveInteger-maxInclusive-2-4 tokoe:invalid" result="pass"/><test-case name="6880NISTXML-SV-II-atomic-nonPositiveInteger-maxInclusive-2-5 tokoe:invalid" result="pass"/><test-case name="6881NISTSchema-SV-II-atomic-nonPositiveInteger-maxInclusive-3 tokoe:valid" result="pass"/><test-case name="6882NISTXML-SV-II-atomic-nonPositiveInteger-maxInclusive-3-1 tokoe:invalid" result="pass"/><test-case name="6883NISTXML-SV-II-atomic-nonPositiveInteger-maxInclusive-3-2 tokoe:invalid" result="pass"/><test-case name="6884NISTXML-SV-II-atomic-nonPositiveInteger-maxInclusive-3-3 tokoe:invalid" result="pass"/><test-case name="6885NISTXML-SV-II-atomic-nonPositiveInteger-maxInclusive-3-4 tokoe:invalid" result="pass"/><test-case name="6886NISTXML-SV-II-atomic-nonPositiveInteger-maxInclusive-3-5 tokoe:invalid" result="pass"/><test-case name="6887NISTSchema-SV-II-atomic-nonPositiveInteger-maxInclusive-4 tokoe:valid" result="pass"/><test-case name="6888NISTXML-SV-II-atomic-nonPositiveInteger-maxInclusive-4-1 tokoe:invalid" result="pass"/><test-case name="6889NISTXML-SV-II-atomic-nonPositiveInteger-maxInclusive-4-2 tokoe:invalid" result="pass"/><test-case name="6890NISTXML-SV-II-atomic-nonPositiveInteger-maxInclusive-4-3 tokoe:invalid" result="pass"/><test-case name="6891NISTXML-SV-II-atomic-nonPositiveInteger-maxInclusive-4-4 tokoe:invalid" result="pass"/><test-case name="6892NISTXML-SV-II-atomic-nonPositiveInteger-maxInclusive-4-5 tokoe:invalid" result="pass"/><test-case name="6893NISTSchema-SV-II-atomic-nonPositiveInteger-maxInclusive-5 tokoe:valid" result="pass"/><test-case name="6894NISTXML-SV-II-atomic-nonPositiveInteger-maxInclusive-5-1 tokoe:invalid" result="pass"/><test-case name="6895NISTXML-SV-II-atomic-nonPositiveInteger-maxInclusive-5-2 tokoe:invalid" result="pass"/><test-case name="6896NISTXML-SV-II-atomic-nonPositiveInteger-maxInclusive-5-3 tokoe:invalid" result="pass"/><test-case name="6897NISTXML-SV-II-atomic-nonPositiveInteger-maxInclusive-5-4 tokoe:invalid" result="pass"/><test-case name="6898NISTXML-SV-II-atomic-nonPositiveInteger-maxInclusive-5-5 tokoe:invalid" result="pass"/><test-case name="6899NISTSchema-SV-II-atomic-nonPositiveInteger-totalDigits-1 tokoe:valid" result="pass"/><test-case name="6900NISTXML-SV-II-atomic-nonPositiveInteger-totalDigits-1-1 tokoe:invalid" result="pass"/><test-case name="6901NISTXML-SV-II-atomic-nonPositiveInteger-totalDigits-1-2 tokoe:invalid" result="pass"/><test-case name="6902NISTXML-SV-II-atomic-nonPositiveInteger-totalDigits-1-3 tokoe:invalid" result="pass"/><test-case name="6903NISTXML-SV-II-atomic-nonPositiveInteger-totalDigits-1-4 tokoe:invalid" result="pass"/><test-case name="6904NISTXML-SV-II-atomic-nonPositiveInteger-totalDigits-1-5 tokoe:invalid" result="pass"/><test-case name="6905NISTSchema-SV-II-atomic-nonPositiveInteger-totalDigits-2 tokoe:valid" result="pass"/><test-case name="6906NISTXML-SV-II-atomic-nonPositiveInteger-totalDigits-2-1 tokoe:invalid" result="pass"/><test-case name="6907NISTXML-SV-II-atomic-nonPositiveInteger-totalDigits-2-2 tokoe:invalid" result="pass"/><test-case name="6908NISTXML-SV-II-atomic-nonPositiveInteger-totalDigits-2-3 tokoe:invalid" result="pass"/><test-case name="6909NISTXML-SV-II-atomic-nonPositiveInteger-totalDigits-2-4 tokoe:invalid" result="pass"/><test-case name="6910NISTXML-SV-II-atomic-nonPositiveInteger-totalDigits-2-5 tokoe:invalid" result="pass"/><test-case name="6911NISTSchema-SV-II-atomic-nonPositiveInteger-totalDigits-3 tokoe:valid" result="pass"/><test-case name="6912NISTXML-SV-II-atomic-nonPositiveInteger-totalDigits-3-1 tokoe:invalid" result="pass"/><test-case name="6913NISTXML-SV-II-atomic-nonPositiveInteger-totalDigits-3-2 tokoe:invalid" result="pass"/><test-case name="6914NISTXML-SV-II-atomic-nonPositiveInteger-totalDigits-3-3 tokoe:invalid" result="pass"/><test-case name="6915NISTXML-SV-II-atomic-nonPositiveInteger-totalDigits-3-4 tokoe:invalid" result="pass"/><test-case name="6916NISTXML-SV-II-atomic-nonPositiveInteger-totalDigits-3-5 tokoe:invalid" result="pass"/><test-case name="6917NISTSchema-SV-II-atomic-nonPositiveInteger-totalDigits-4 tokoe:valid" result="pass"/><test-case name="6918NISTXML-SV-II-atomic-nonPositiveInteger-totalDigits-4-1 tokoe:invalid" result="pass"/><test-case name="6919NISTXML-SV-II-atomic-nonPositiveInteger-totalDigits-4-2 tokoe:invalid" result="pass"/><test-case name="6920NISTXML-SV-II-atomic-nonPositiveInteger-totalDigits-4-3 tokoe:invalid" result="pass"/><test-case name="6921NISTXML-SV-II-atomic-nonPositiveInteger-totalDigits-4-4 tokoe:invalid" result="pass"/><test-case name="6922NISTXML-SV-II-atomic-nonPositiveInteger-totalDigits-4-5 tokoe:invalid" result="pass"/><test-case name="6923NISTSchema-SV-II-atomic-nonPositiveInteger-totalDigits-5 tokoe:valid" result="pass"/><test-case name="6924NISTXML-SV-II-atomic-nonPositiveInteger-totalDigits-5-1 tokoe:invalid" result="pass"/><test-case name="6925NISTXML-SV-II-atomic-nonPositiveInteger-totalDigits-5-2 tokoe:invalid" result="pass"/><test-case name="6926NISTXML-SV-II-atomic-nonPositiveInteger-totalDigits-5-3 tokoe:invalid" result="pass"/><test-case name="6927NISTXML-SV-II-atomic-nonPositiveInteger-totalDigits-5-4 tokoe:invalid" result="pass"/><test-case name="6928NISTXML-SV-II-atomic-nonPositiveInteger-totalDigits-5-5 tokoe:invalid" result="pass"/><test-case name="6929NISTSchema-SV-II-atomic-negativeInteger-minInclusive-2 tokoe:valid" result="pass"/><test-case name="6930NISTXML-SV-II-atomic-negativeInteger-minInclusive-2-1 tokoe:invalid" result="pass"/><test-case name="6931NISTXML-SV-II-atomic-negativeInteger-minInclusive-2-2 tokoe:invalid" result="pass"/><test-case name="6932NISTXML-SV-II-atomic-negativeInteger-minInclusive-2-3 tokoe:invalid" result="pass"/><test-case name="6933NISTXML-SV-II-atomic-negativeInteger-minInclusive-2-4 tokoe:invalid" result="pass"/><test-case name="6934NISTXML-SV-II-atomic-negativeInteger-minInclusive-2-5 tokoe:invalid" result="pass"/><test-case name="6935NISTSchema-SV-II-atomic-negativeInteger-minInclusive-3 tokoe:valid" result="pass"/><test-case name="6936NISTXML-SV-II-atomic-negativeInteger-minInclusive-3-1 tokoe:invalid" result="pass"/><test-case name="6937NISTXML-SV-II-atomic-negativeInteger-minInclusive-3-2 tokoe:invalid" result="pass"/><test-case name="6938NISTXML-SV-II-atomic-negativeInteger-minInclusive-3-3 tokoe:invalid" result="pass"/><test-case name="6939NISTXML-SV-II-atomic-negativeInteger-minInclusive-3-4 tokoe:invalid" result="pass"/><test-case name="6940NISTXML-SV-II-atomic-negativeInteger-minInclusive-3-5 tokoe:invalid" result="pass"/><test-case name="6941NISTSchema-SV-II-atomic-negativeInteger-minInclusive-4 tokoe:valid" result="pass"/><test-case name="6942NISTXML-SV-II-atomic-negativeInteger-minInclusive-4-1 tokoe:invalid" result="pass"/><test-case name="6943NISTXML-SV-II-atomic-negativeInteger-minInclusive-4-2 tokoe:invalid" result="pass"/><test-case name="6944NISTXML-SV-II-atomic-negativeInteger-minInclusive-4-3 tokoe:invalid" result="pass"/><test-case name="6945NISTXML-SV-II-atomic-negativeInteger-minInclusive-4-4 tokoe:invalid" result="pass"/><test-case name="6946NISTXML-SV-II-atomic-negativeInteger-minInclusive-4-5 tokoe:invalid" result="pass"/><test-case name="6947NISTSchema-SV-II-atomic-negativeInteger-minInclusive-5 tokoe:valid" result="pass"/><test-case name="6948NISTXML-SV-II-atomic-negativeInteger-minInclusive-5-1 tokoe:invalid" result="pass"/><test-case name="6949NISTXML-SV-II-atomic-negativeInteger-minInclusive-5-2 tokoe:invalid" result="pass"/><test-case name="6950NISTXML-SV-II-atomic-negativeInteger-minInclusive-5-3 tokoe:invalid" result="pass"/><test-case name="6951NISTXML-SV-II-atomic-negativeInteger-minInclusive-5-4 tokoe:invalid" result="pass"/><test-case name="6952NISTXML-SV-II-atomic-negativeInteger-minInclusive-5-5 tokoe:invalid" result="pass"/><test-case name="6953NISTSchema-SV-II-atomic-negativeInteger-minInclusive-6 tokoe:valid" result="pass"/><test-case name="6954NISTXML-SV-II-atomic-negativeInteger-minInclusive-6-1 tokoe:invalid" result="pass"/><test-case name="6955NISTXML-SV-II-atomic-negativeInteger-minInclusive-6-2 tokoe:invalid" result="pass"/><test-case name="6956NISTXML-SV-II-atomic-negativeInteger-minInclusive-6-3 tokoe:invalid" result="pass"/><test-case name="6957NISTXML-SV-II-atomic-negativeInteger-minInclusive-6-4 tokoe:invalid" result="pass"/><test-case name="6958NISTXML-SV-II-atomic-negativeInteger-minInclusive-6-5 tokoe:invalid" result="pass"/><test-case name="6959NISTSchema-SV-II-atomic-negativeInteger-maxInclusive-1 tokoe:valid" result="pass"/><test-case name="6960NISTXML-SV-II-atomic-negativeInteger-maxInclusive-1-1 tokoe:invalid" result="pass"/><test-case name="6961NISTXML-SV-II-atomic-negativeInteger-maxInclusive-1-2 tokoe:invalid" result="pass"/><test-case name="6962NISTXML-SV-II-atomic-negativeInteger-maxInclusive-1-3 tokoe:invalid" result="pass"/><test-case name="6963NISTXML-SV-II-atomic-negativeInteger-maxInclusive-1-4 tokoe:invalid" result="pass"/><test-case name="6964NISTXML-SV-II-atomic-negativeInteger-maxInclusive-1-5 tokoe:invalid" result="pass"/><test-case name="6965NISTSchema-SV-II-atomic-negativeInteger-maxInclusive-2 tokoe:valid" result="pass"/><test-case name="6966NISTXML-SV-II-atomic-negativeInteger-maxInclusive-2-1 tokoe:invalid" result="pass"/><test-case name="6967NISTXML-SV-II-atomic-negativeInteger-maxInclusive-2-2 tokoe:invalid" result="pass"/><test-case name="6968NISTXML-SV-II-atomic-negativeInteger-maxInclusive-2-3 tokoe:invalid" result="pass"/><test-case name="6969NISTXML-SV-II-atomic-negativeInteger-maxInclusive-2-4 tokoe:invalid" result="pass"/><test-case name="6970NISTXML-SV-II-atomic-negativeInteger-maxInclusive-2-5 tokoe:invalid" result="pass"/><test-case name="6971NISTSchema-SV-II-atomic-negativeInteger-maxInclusive-3 tokoe:valid" result="pass"/><test-case name="6972NISTXML-SV-II-atomic-negativeInteger-maxInclusive-3-1 tokoe:invalid" result="pass"/><test-case name="6973NISTXML-SV-II-atomic-negativeInteger-maxInclusive-3-2 tokoe:invalid" result="pass"/><test-case name="6974NISTXML-SV-II-atomic-negativeInteger-maxInclusive-3-3 tokoe:invalid" result="pass"/><test-case name="6975NISTXML-SV-II-atomic-negativeInteger-maxInclusive-3-4 tokoe:invalid" result="pass"/><test-case name="6976NISTXML-SV-II-atomic-negativeInteger-maxInclusive-3-5 tokoe:invalid" result="pass"/><test-case name="6977NISTSchema-SV-II-atomic-negativeInteger-maxInclusive-4 tokoe:valid" result="pass"/><test-case name="6978NISTXML-SV-II-atomic-negativeInteger-maxInclusive-4-1 tokoe:invalid" result="pass"/><test-case name="6979NISTXML-SV-II-atomic-negativeInteger-maxInclusive-4-2 tokoe:invalid" result="pass"/><test-case name="6980NISTXML-SV-II-atomic-negativeInteger-maxInclusive-4-3 tokoe:invalid" result="pass"/><test-case name="6981NISTXML-SV-II-atomic-negativeInteger-maxInclusive-4-4 tokoe:invalid" result="pass"/><test-case name="6982NISTXML-SV-II-atomic-negativeInteger-maxInclusive-4-5 tokoe:invalid" result="pass"/><test-case name="6983NISTSchema-SV-II-atomic-negativeInteger-maxInclusive-5 tokoe:valid" result="pass"/><test-case name="6984NISTXML-SV-II-atomic-negativeInteger-maxInclusive-5-1 tokoe:invalid" result="pass"/><test-case name="6985NISTXML-SV-II-atomic-negativeInteger-maxInclusive-5-2 tokoe:invalid" result="pass"/><test-case name="6986NISTXML-SV-II-atomic-negativeInteger-maxInclusive-5-3 tokoe:invalid" result="pass"/><test-case name="6987NISTXML-SV-II-atomic-negativeInteger-maxInclusive-5-4 tokoe:invalid" result="pass"/><test-case name="6988NISTXML-SV-II-atomic-negativeInteger-maxInclusive-5-5 tokoe:invalid" result="pass"/><test-case name="6989NISTSchema-SV-II-atomic-negativeInteger-totalDigits-1 tokoe:valid" result="pass"/><test-case name="6990NISTXML-SV-II-atomic-negativeInteger-totalDigits-1-1 tokoe:invalid" result="pass"/><test-case name="6991NISTXML-SV-II-atomic-negativeInteger-totalDigits-1-2 tokoe:invalid" result="pass"/><test-case name="6992NISTXML-SV-II-atomic-negativeInteger-totalDigits-1-3 tokoe:invalid" result="pass"/><test-case name="6993NISTXML-SV-II-atomic-negativeInteger-totalDigits-1-4 tokoe:invalid" result="pass"/><test-case name="6994NISTXML-SV-II-atomic-negativeInteger-totalDigits-1-5 tokoe:invalid" result="pass"/><test-case name="6995NISTSchema-SV-II-atomic-negativeInteger-totalDigits-2 tokoe:valid" result="pass"/><test-case name="6996NISTXML-SV-II-atomic-negativeInteger-totalDigits-2-1 tokoe:invalid" result="pass"/><test-case name="6997NISTXML-SV-II-atomic-negativeInteger-totalDigits-2-2 tokoe:invalid" result="pass"/><test-case name="6998NISTXML-SV-II-atomic-negativeInteger-totalDigits-2-3 tokoe:invalid" result="pass"/><test-case name="6999NISTXML-SV-II-atomic-negativeInteger-totalDigits-2-4 tokoe:invalid" result="pass"/><test-case name="7000NISTXML-SV-II-atomic-negativeInteger-totalDigits-2-5 tokoe:invalid" result="pass"/><test-case name="7001NISTSchema-SV-II-atomic-negativeInteger-totalDigits-3 tokoe:valid" result="pass"/><test-case name="7002NISTXML-SV-II-atomic-negativeInteger-totalDigits-3-1 tokoe:invalid" result="pass"/><test-case name="7003NISTXML-SV-II-atomic-negativeInteger-totalDigits-3-2 tokoe:invalid" result="pass"/><test-case name="7004NISTXML-SV-II-atomic-negativeInteger-totalDigits-3-3 tokoe:invalid" result="pass"/><test-case name="7005NISTXML-SV-II-atomic-negativeInteger-totalDigits-3-4 tokoe:invalid" result="pass"/><test-case name="7006NISTXML-SV-II-atomic-negativeInteger-totalDigits-3-5 tokoe:invalid" result="pass"/><test-case name="7007NISTSchema-SV-II-atomic-negativeInteger-totalDigits-4 tokoe:valid" result="pass"/><test-case name="7008NISTXML-SV-II-atomic-negativeInteger-totalDigits-4-1 tokoe:invalid" result="pass"/><test-case name="7009NISTXML-SV-II-atomic-negativeInteger-totalDigits-4-2 tokoe:invalid" result="pass"/><test-case name="7010NISTXML-SV-II-atomic-negativeInteger-totalDigits-4-3 tokoe:invalid" result="pass"/><test-case name="7011NISTXML-SV-II-atomic-negativeInteger-totalDigits-4-4 tokoe:invalid" result="pass"/><test-case name="7012NISTXML-SV-II-atomic-negativeInteger-totalDigits-4-5 tokoe:invalid" result="pass"/><test-case name="7013NISTSchema-SV-II-atomic-negativeInteger-totalDigits-5 tokoe:valid" result="pass"/><test-case name="7014NISTXML-SV-II-atomic-negativeInteger-totalDigits-5-1 tokoe:invalid" result="pass"/><test-case name="7015NISTXML-SV-II-atomic-negativeInteger-totalDigits-5-2 tokoe:invalid" result="pass"/><test-case name="7016NISTXML-SV-II-atomic-negativeInteger-totalDigits-5-3 tokoe:invalid" result="pass"/><test-case name="7017NISTXML-SV-II-atomic-negativeInteger-totalDigits-5-4 tokoe:invalid" result="pass"/><test-case name="7018NISTXML-SV-II-atomic-negativeInteger-totalDigits-5-5 tokoe:invalid" result="pass"/><test-case name="7019NISTSchema-SV-II-atomic-long-minInclusive-2 tokoe:valid" result="pass"/><test-case name="7020NISTXML-SV-II-atomic-long-minInclusive-2-1 tokoe:invalid" result="pass"/><test-case name="7021NISTXML-SV-II-atomic-long-minInclusive-2-2 tokoe:invalid" result="pass"/><test-case name="7022NISTXML-SV-II-atomic-long-minInclusive-2-3 tokoe:invalid" result="pass"/><test-case name="7023NISTXML-SV-II-atomic-long-minInclusive-2-4 tokoe:invalid" result="pass"/><test-case name="7024NISTXML-SV-II-atomic-long-minInclusive-2-5 tokoe:invalid" result="pass"/><test-case name="7025NISTSchema-SV-II-atomic-long-minInclusive-3 tokoe:valid" result="pass"/><test-case name="7026NISTXML-SV-II-atomic-long-minInclusive-3-1 tokoe:invalid" result="pass"/><test-case name="7027NISTXML-SV-II-atomic-long-minInclusive-3-2 tokoe:invalid" result="pass"/><test-case name="7028NISTXML-SV-II-atomic-long-minInclusive-3-3 tokoe:invalid" result="pass"/><test-case name="7029NISTXML-SV-II-atomic-long-minInclusive-3-4 tokoe:invalid" result="pass"/><test-case name="7030NISTXML-SV-II-atomic-long-minInclusive-3-5 tokoe:invalid" result="pass"/><test-case name="7031NISTSchema-SV-II-atomic-long-minInclusive-4 tokoe:valid" result="pass"/><test-case name="7032NISTXML-SV-II-atomic-long-minInclusive-4-1 tokoe:invalid" result="pass"/><test-case name="7033NISTXML-SV-II-atomic-long-minInclusive-4-2 tokoe:invalid" result="pass"/><test-case name="7034NISTXML-SV-II-atomic-long-minInclusive-4-3 tokoe:invalid" result="pass"/><test-case name="7035NISTXML-SV-II-atomic-long-minInclusive-4-4 tokoe:invalid" result="pass"/><test-case name="7036NISTXML-SV-II-atomic-long-minInclusive-4-5 tokoe:invalid" result="pass"/><test-case name="7037NISTSchema-SV-II-atomic-long-minInclusive-5 tokoe:valid" result="pass"/><test-case name="7038NISTXML-SV-II-atomic-long-minInclusive-5-1 tokoe:invalid" result="pass"/><test-case name="7039NISTXML-SV-II-atomic-long-minInclusive-5-2 tokoe:invalid" result="pass"/><test-case name="7040NISTXML-SV-II-atomic-long-minInclusive-5-3 tokoe:invalid" result="pass"/><test-case name="7041NISTXML-SV-II-atomic-long-minInclusive-5-4 tokoe:invalid" result="pass"/><test-case name="7042NISTXML-SV-II-atomic-long-minInclusive-5-5 tokoe:invalid" result="pass"/><test-case name="7043NISTSchema-SV-II-atomic-long-minInclusive-6 tokoe:valid" result="pass"/><test-case name="7044NISTXML-SV-II-atomic-long-minInclusive-6-1 tokoe:invalid" result="pass"/><test-case name="7045NISTXML-SV-II-atomic-long-minInclusive-6-2 tokoe:invalid" result="pass"/><test-case name="7046NISTXML-SV-II-atomic-long-minInclusive-6-3 tokoe:invalid" result="pass"/><test-case name="7047NISTXML-SV-II-atomic-long-minInclusive-6-4 tokoe:invalid" result="pass"/><test-case name="7048NISTXML-SV-II-atomic-long-minInclusive-6-5 tokoe:invalid" result="pass"/><test-case name="7049NISTSchema-SV-II-atomic-long-maxInclusive-1 tokoe:valid" result="pass"/><test-case name="7050NISTXML-SV-II-atomic-long-maxInclusive-1-1 tokoe:invalid" result="pass"/><test-case name="7051NISTXML-SV-II-atomic-long-maxInclusive-1-2 tokoe:invalid" result="pass"/><test-case name="7052NISTXML-SV-II-atomic-long-maxInclusive-1-3 tokoe:invalid" result="pass"/><test-case name="7053NISTXML-SV-II-atomic-long-maxInclusive-1-4 tokoe:invalid" result="pass"/><test-case name="7054NISTXML-SV-II-atomic-long-maxInclusive-1-5 tokoe:invalid" result="pass"/><test-case name="7055NISTSchema-SV-II-atomic-long-maxInclusive-2 tokoe:valid" result="pass"/><test-case name="7056NISTXML-SV-II-atomic-long-maxInclusive-2-1 tokoe:invalid" result="pass"/><test-case name="7057NISTXML-SV-II-atomic-long-maxInclusive-2-2 tokoe:invalid" result="pass"/><test-case name="7058NISTXML-SV-II-atomic-long-maxInclusive-2-3 tokoe:invalid" result="pass"/><test-case name="7059NISTXML-SV-II-atomic-long-maxInclusive-2-4 tokoe:invalid" result="pass"/><test-case name="7060NISTXML-SV-II-atomic-long-maxInclusive-2-5 tokoe:invalid" result="pass"/><test-case name="7061NISTSchema-SV-II-atomic-long-maxInclusive-3 tokoe:valid" result="pass"/><test-case name="7062NISTXML-SV-II-atomic-long-maxInclusive-3-1 tokoe:invalid" result="pass"/><test-case name="7063NISTXML-SV-II-atomic-long-maxInclusive-3-2 tokoe:invalid" result="pass"/><test-case name="7064NISTXML-SV-II-atomic-long-maxInclusive-3-3 tokoe:invalid" result="pass"/><test-case name="7065NISTXML-SV-II-atomic-long-maxInclusive-3-4 tokoe:invalid" result="pass"/><test-case name="7066NISTXML-SV-II-atomic-long-maxInclusive-3-5 tokoe:invalid" result="pass"/><test-case name="7067NISTSchema-SV-II-atomic-long-maxInclusive-4 tokoe:valid" result="pass"/><test-case name="7068NISTXML-SV-II-atomic-long-maxInclusive-4-1 tokoe:invalid" result="pass"/><test-case name="7069NISTXML-SV-II-atomic-long-maxInclusive-4-2 tokoe:invalid" result="pass"/><test-case name="7070NISTXML-SV-II-atomic-long-maxInclusive-4-3 tokoe:invalid" result="pass"/><test-case name="7071NISTXML-SV-II-atomic-long-maxInclusive-4-4 tokoe:invalid" result="pass"/><test-case name="7072NISTXML-SV-II-atomic-long-maxInclusive-4-5 tokoe:invalid" result="pass"/><test-case name="7073NISTSchema-SV-II-atomic-long-maxInclusive-5 tokoe:valid" result="pass"/><test-case name="7074NISTXML-SV-II-atomic-long-maxInclusive-5-1 tokoe:invalid" result="pass"/><test-case name="7075NISTXML-SV-II-atomic-long-maxInclusive-5-2 tokoe:invalid" result="pass"/><test-case name="7076NISTXML-SV-II-atomic-long-maxInclusive-5-3 tokoe:invalid" result="pass"/><test-case name="7077NISTXML-SV-II-atomic-long-maxInclusive-5-4 tokoe:invalid" result="pass"/><test-case name="7078NISTXML-SV-II-atomic-long-maxInclusive-5-5 tokoe:invalid" result="pass"/><test-case name="7079NISTSchema-SV-II-atomic-long-totalDigits-1 tokoe:valid" result="pass"/><test-case name="7080NISTXML-SV-II-atomic-long-totalDigits-1-1 tokoe:invalid" result="pass"/><test-case name="7081NISTXML-SV-II-atomic-long-totalDigits-1-2 tokoe:invalid" result="pass"/><test-case name="7082NISTXML-SV-II-atomic-long-totalDigits-1-3 tokoe:invalid" result="pass"/><test-case name="7083NISTXML-SV-II-atomic-long-totalDigits-1-4 tokoe:invalid" result="pass"/><test-case name="7084NISTXML-SV-II-atomic-long-totalDigits-1-5 tokoe:invalid" result="pass"/><test-case name="7085NISTSchema-SV-II-atomic-long-totalDigits-2 tokoe:valid" result="pass"/><test-case name="7086NISTXML-SV-II-atomic-long-totalDigits-2-1 tokoe:invalid" result="pass"/><test-case name="7087NISTXML-SV-II-atomic-long-totalDigits-2-2 tokoe:invalid" result="pass"/><test-case name="7088NISTXML-SV-II-atomic-long-totalDigits-2-3 tokoe:invalid" result="pass"/><test-case name="7089NISTXML-SV-II-atomic-long-totalDigits-2-4 tokoe:invalid" result="pass"/><test-case name="7090NISTXML-SV-II-atomic-long-totalDigits-2-5 tokoe:invalid" result="pass"/><test-case name="7091NISTSchema-SV-II-atomic-long-totalDigits-3 tokoe:valid" result="pass"/><test-case name="7092NISTXML-SV-II-atomic-long-totalDigits-3-1 tokoe:invalid" result="pass"/><test-case name="7093NISTXML-SV-II-atomic-long-totalDigits-3-2 tokoe:invalid" result="pass"/><test-case name="7094NISTXML-SV-II-atomic-long-totalDigits-3-3 tokoe:invalid" result="pass"/><test-case name="7095NISTXML-SV-II-atomic-long-totalDigits-3-4 tokoe:invalid" result="pass"/><test-case name="7096NISTXML-SV-II-atomic-long-totalDigits-3-5 tokoe:invalid" result="pass"/><test-case name="7097NISTSchema-SV-II-atomic-long-totalDigits-4 tokoe:valid" result="pass"/><test-case name="7098NISTXML-SV-II-atomic-long-totalDigits-4-1 tokoe:invalid" result="pass"/><test-case name="7099NISTXML-SV-II-atomic-long-totalDigits-4-2 tokoe:invalid" result="pass"/><test-case name="7100NISTXML-SV-II-atomic-long-totalDigits-4-3 tokoe:invalid" result="pass"/><test-case name="7101NISTXML-SV-II-atomic-long-totalDigits-4-4 tokoe:invalid" result="pass"/><test-case name="7102NISTXML-SV-II-atomic-long-totalDigits-4-5 tokoe:invalid" result="pass"/><test-case name="7103NISTSchema-SV-II-atomic-long-totalDigits-5 tokoe:valid" result="pass"/><test-case name="7104NISTXML-SV-II-atomic-long-totalDigits-5-1 tokoe:invalid" result="pass"/><test-case name="7105NISTXML-SV-II-atomic-long-totalDigits-5-2 tokoe:invalid" result="pass"/><test-case name="7106NISTXML-SV-II-atomic-long-totalDigits-5-3 tokoe:invalid" result="pass"/><test-case name="7107NISTXML-SV-II-atomic-long-totalDigits-5-4 tokoe:invalid" result="pass"/><test-case name="7108NISTXML-SV-II-atomic-long-totalDigits-5-5 tokoe:invalid" result="pass"/><test-case name="7109NISTSchema-SV-II-atomic-int-minInclusive-2 tokoe:valid" result="pass"/><test-case name="7110NISTXML-SV-II-atomic-int-minInclusive-2-1 tokoe:invalid" result="pass"/><test-case name="7111NISTXML-SV-II-atomic-int-minInclusive-2-2 tokoe:invalid" result="pass"/><test-case name="7112NISTXML-SV-II-atomic-int-minInclusive-2-3 tokoe:invalid" result="pass"/><test-case name="7113NISTXML-SV-II-atomic-int-minInclusive-2-4 tokoe:invalid" result="pass"/><test-case name="7114NISTXML-SV-II-atomic-int-minInclusive-2-5 tokoe:invalid" result="pass"/><test-case name="7115NISTSchema-SV-II-atomic-int-minInclusive-3 tokoe:valid" result="pass"/><test-case name="7116NISTXML-SV-II-atomic-int-minInclusive-3-1 tokoe:invalid" result="pass"/><test-case name="7117NISTXML-SV-II-atomic-int-minInclusive-3-2 tokoe:invalid" result="pass"/><test-case name="7118NISTXML-SV-II-atomic-int-minInclusive-3-3 tokoe:invalid" result="pass"/><test-case name="7119NISTXML-SV-II-atomic-int-minInclusive-3-4 tokoe:invalid" result="pass"/><test-case name="7120NISTXML-SV-II-atomic-int-minInclusive-3-5 tokoe:invalid" result="pass"/><test-case name="7121NISTSchema-SV-II-atomic-int-minInclusive-4 tokoe:valid" result="pass"/><test-case name="7122NISTXML-SV-II-atomic-int-minInclusive-4-1 tokoe:invalid" result="pass"/><test-case name="7123NISTXML-SV-II-atomic-int-minInclusive-4-2 tokoe:invalid" result="pass"/><test-case name="7124NISTXML-SV-II-atomic-int-minInclusive-4-3 tokoe:invalid" result="pass"/><test-case name="7125NISTXML-SV-II-atomic-int-minInclusive-4-4 tokoe:invalid" result="pass"/><test-case name="7126NISTXML-SV-II-atomic-int-minInclusive-4-5 tokoe:invalid" result="pass"/><test-case name="7127NISTSchema-SV-II-atomic-int-minInclusive-5 tokoe:valid" result="pass"/><test-case name="7128NISTXML-SV-II-atomic-int-minInclusive-5-1 tokoe:invalid" result="pass"/><test-case name="7129NISTXML-SV-II-atomic-int-minInclusive-5-2 tokoe:invalid" result="pass"/><test-case name="7130NISTXML-SV-II-atomic-int-minInclusive-5-3 tokoe:invalid" result="pass"/><test-case name="7131NISTXML-SV-II-atomic-int-minInclusive-5-4 tokoe:invalid" result="pass"/><test-case name="7132NISTXML-SV-II-atomic-int-minInclusive-5-5 tokoe:invalid" result="pass"/><test-case name="7133NISTSchema-SV-II-atomic-int-minInclusive-6 tokoe:valid" result="pass"/><test-case name="7134NISTXML-SV-II-atomic-int-minInclusive-6-1 tokoe:invalid" result="pass"/><test-case name="7135NISTXML-SV-II-atomic-int-minInclusive-6-2 tokoe:invalid" result="pass"/><test-case name="7136NISTXML-SV-II-atomic-int-minInclusive-6-3 tokoe:invalid" result="pass"/><test-case name="7137NISTXML-SV-II-atomic-int-minInclusive-6-4 tokoe:invalid" result="pass"/><test-case name="7138NISTXML-SV-II-atomic-int-minInclusive-6-5 tokoe:invalid" result="pass"/><test-case name="7139NISTSchema-SV-II-atomic-int-maxInclusive-1 tokoe:valid" result="pass"/><test-case name="7140NISTXML-SV-II-atomic-int-maxInclusive-1-1 tokoe:invalid" result="pass"/><test-case name="7141NISTXML-SV-II-atomic-int-maxInclusive-1-2 tokoe:invalid" result="pass"/><test-case name="7142NISTXML-SV-II-atomic-int-maxInclusive-1-3 tokoe:invalid" result="pass"/><test-case name="7143NISTXML-SV-II-atomic-int-maxInclusive-1-4 tokoe:invalid" result="pass"/><test-case name="7144NISTXML-SV-II-atomic-int-maxInclusive-1-5 tokoe:invalid" result="pass"/><test-case name="7145NISTSchema-SV-II-atomic-int-maxInclusive-2 tokoe:valid" result="pass"/><test-case name="7146NISTXML-SV-II-atomic-int-maxInclusive-2-1 tokoe:invalid" result="pass"/><test-case name="7147NISTXML-SV-II-atomic-int-maxInclusive-2-2 tokoe:invalid" result="pass"/><test-case name="7148NISTXML-SV-II-atomic-int-maxInclusive-2-3 tokoe:invalid" result="pass"/><test-case name="7149NISTXML-SV-II-atomic-int-maxInclusive-2-4 tokoe:invalid" result="pass"/><test-case name="7150NISTXML-SV-II-atomic-int-maxInclusive-2-5 tokoe:invalid" result="pass"/><test-case name="7151NISTSchema-SV-II-atomic-int-maxInclusive-3 tokoe:valid" result="pass"/><test-case name="7152NISTXML-SV-II-atomic-int-maxInclusive-3-1 tokoe:invalid" result="pass"/><test-case name="7153NISTXML-SV-II-atomic-int-maxInclusive-3-2 tokoe:invalid" result="pass"/><test-case name="7154NISTXML-SV-II-atomic-int-maxInclusive-3-3 tokoe:invalid" result="pass"/><test-case name="7155NISTXML-SV-II-atomic-int-maxInclusive-3-4 tokoe:invalid" result="pass"/><test-case name="7156NISTXML-SV-II-atomic-int-maxInclusive-3-5 tokoe:invalid" result="pass"/><test-case name="7157NISTSchema-SV-II-atomic-int-maxInclusive-4 tokoe:valid" result="pass"/><test-case name="7158NISTXML-SV-II-atomic-int-maxInclusive-4-1 tokoe:invalid" result="pass"/><test-case name="7159NISTXML-SV-II-atomic-int-maxInclusive-4-2 tokoe:invalid" result="pass"/><test-case name="7160NISTXML-SV-II-atomic-int-maxInclusive-4-3 tokoe:invalid" result="pass"/><test-case name="7161NISTXML-SV-II-atomic-int-maxInclusive-4-4 tokoe:invalid" result="pass"/><test-case name="7162NISTXML-SV-II-atomic-int-maxInclusive-4-5 tokoe:invalid" result="pass"/><test-case name="7163NISTSchema-SV-II-atomic-int-maxInclusive-5 tokoe:valid" result="pass"/><test-case name="7164NISTXML-SV-II-atomic-int-maxInclusive-5-1 tokoe:invalid" result="pass"/><test-case name="7165NISTXML-SV-II-atomic-int-maxInclusive-5-2 tokoe:invalid" result="pass"/><test-case name="7166NISTXML-SV-II-atomic-int-maxInclusive-5-3 tokoe:invalid" result="pass"/><test-case name="7167NISTXML-SV-II-atomic-int-maxInclusive-5-4 tokoe:invalid" result="pass"/><test-case name="7168NISTXML-SV-II-atomic-int-maxInclusive-5-5 tokoe:invalid" result="pass"/><test-case name="7169NISTSchema-SV-II-atomic-int-totalDigits-1 tokoe:valid" result="pass"/><test-case name="7170NISTXML-SV-II-atomic-int-totalDigits-1-1 tokoe:invalid" result="pass"/><test-case name="7171NISTXML-SV-II-atomic-int-totalDigits-1-2 tokoe:invalid" result="pass"/><test-case name="7172NISTXML-SV-II-atomic-int-totalDigits-1-3 tokoe:invalid" result="pass"/><test-case name="7173NISTXML-SV-II-atomic-int-totalDigits-1-4 tokoe:invalid" result="pass"/><test-case name="7174NISTXML-SV-II-atomic-int-totalDigits-1-5 tokoe:invalid" result="pass"/><test-case name="7175NISTSchema-SV-II-atomic-int-totalDigits-2 tokoe:valid" result="pass"/><test-case name="7176NISTXML-SV-II-atomic-int-totalDigits-2-1 tokoe:invalid" result="pass"/><test-case name="7177NISTXML-SV-II-atomic-int-totalDigits-2-2 tokoe:invalid" result="pass"/><test-case name="7178NISTXML-SV-II-atomic-int-totalDigits-2-3 tokoe:invalid" result="pass"/><test-case name="7179NISTXML-SV-II-atomic-int-totalDigits-2-4 tokoe:invalid" result="pass"/><test-case name="7180NISTXML-SV-II-atomic-int-totalDigits-2-5 tokoe:invalid" result="pass"/><test-case name="7181NISTSchema-SV-II-atomic-int-totalDigits-3 tokoe:valid" result="pass"/><test-case name="7182NISTXML-SV-II-atomic-int-totalDigits-3-1 tokoe:invalid" result="pass"/><test-case name="7183NISTXML-SV-II-atomic-int-totalDigits-3-2 tokoe:invalid" result="pass"/><test-case name="7184NISTXML-SV-II-atomic-int-totalDigits-3-3 tokoe:invalid" result="pass"/><test-case name="7185NISTXML-SV-II-atomic-int-totalDigits-3-4 tokoe:invalid" result="pass"/><test-case name="7186NISTXML-SV-II-atomic-int-totalDigits-3-5 tokoe:invalid" result="pass"/><test-case name="7187NISTSchema-SV-II-atomic-int-totalDigits-4 tokoe:valid" result="pass"/><test-case name="7188NISTXML-SV-II-atomic-int-totalDigits-4-1 tokoe:invalid" result="pass"/><test-case name="7189NISTXML-SV-II-atomic-int-totalDigits-4-2 tokoe:invalid" result="pass"/><test-case name="7190NISTXML-SV-II-atomic-int-totalDigits-4-3 tokoe:invalid" result="pass"/><test-case name="7191NISTXML-SV-II-atomic-int-totalDigits-4-4 tokoe:invalid" result="pass"/><test-case name="7192NISTXML-SV-II-atomic-int-totalDigits-4-5 tokoe:invalid" result="pass"/><test-case name="7193NISTSchema-SV-II-atomic-int-totalDigits-5 tokoe:valid" result="pass"/><test-case name="7194NISTXML-SV-II-atomic-int-totalDigits-5-1 tokoe:invalid" result="pass"/><test-case name="7195NISTXML-SV-II-atomic-int-totalDigits-5-2 tokoe:invalid" result="pass"/><test-case name="7196NISTXML-SV-II-atomic-int-totalDigits-5-3 tokoe:invalid" result="pass"/><test-case name="7197NISTXML-SV-II-atomic-int-totalDigits-5-4 tokoe:invalid" result="pass"/><test-case name="7198NISTXML-SV-II-atomic-int-totalDigits-5-5 tokoe:invalid" result="pass"/><test-case name="7199NISTSchema-SV-II-atomic-short-minInclusive-2 tokoe:valid" result="pass"/><test-case name="7200NISTXML-SV-II-atomic-short-minInclusive-2-1 tokoe:invalid" result="pass"/><test-case name="7201NISTXML-SV-II-atomic-short-minInclusive-2-2 tokoe:invalid" result="pass"/><test-case name="7202NISTXML-SV-II-atomic-short-minInclusive-2-3 tokoe:invalid" result="pass"/><test-case name="7203NISTXML-SV-II-atomic-short-minInclusive-2-4 tokoe:invalid" result="pass"/><test-case name="7204NISTXML-SV-II-atomic-short-minInclusive-2-5 tokoe:invalid" result="pass"/><test-case name="7205NISTSchema-SV-II-atomic-short-minInclusive-3 tokoe:valid" result="pass"/><test-case name="7206NISTXML-SV-II-atomic-short-minInclusive-3-1 tokoe:invalid" result="pass"/><test-case name="7207NISTXML-SV-II-atomic-short-minInclusive-3-2 tokoe:invalid" result="pass"/><test-case name="7208NISTXML-SV-II-atomic-short-minInclusive-3-3 tokoe:invalid" result="pass"/><test-case name="7209NISTXML-SV-II-atomic-short-minInclusive-3-4 tokoe:invalid" result="pass"/><test-case name="7210NISTXML-SV-II-atomic-short-minInclusive-3-5 tokoe:invalid" result="pass"/><test-case name="7211NISTSchema-SV-II-atomic-short-minInclusive-4 tokoe:valid" result="pass"/><test-case name="7212NISTXML-SV-II-atomic-short-minInclusive-4-1 tokoe:invalid" result="pass"/><test-case name="7213NISTXML-SV-II-atomic-short-minInclusive-4-2 tokoe:invalid" result="pass"/><test-case name="7214NISTXML-SV-II-atomic-short-minInclusive-4-3 tokoe:invalid" result="pass"/><test-case name="7215NISTXML-SV-II-atomic-short-minInclusive-4-4 tokoe:invalid" result="pass"/><test-case name="7216NISTXML-SV-II-atomic-short-minInclusive-4-5 tokoe:invalid" result="pass"/><test-case name="7217NISTSchema-SV-II-atomic-short-minInclusive-5 tokoe:valid" result="pass"/><test-case name="7218NISTXML-SV-II-atomic-short-minInclusive-5-1 tokoe:invalid" result="pass"/><test-case name="7219NISTXML-SV-II-atomic-short-minInclusive-5-2 tokoe:invalid" result="pass"/><test-case name="7220NISTXML-SV-II-atomic-short-minInclusive-5-3 tokoe:invalid" result="pass"/><test-case name="7221NISTXML-SV-II-atomic-short-minInclusive-5-4 tokoe:invalid" result="pass"/><test-case name="7222NISTXML-SV-II-atomic-short-minInclusive-5-5 tokoe:invalid" result="pass"/><test-case name="7223NISTSchema-SV-II-atomic-short-minInclusive-6 tokoe:valid" result="pass"/><test-case name="7224NISTXML-SV-II-atomic-short-minInclusive-6-1 tokoe:invalid" result="pass"/><test-case name="7225NISTXML-SV-II-atomic-short-minInclusive-6-2 tokoe:invalid" result="pass"/><test-case name="7226NISTXML-SV-II-atomic-short-minInclusive-6-3 tokoe:invalid" result="pass"/><test-case name="7227NISTXML-SV-II-atomic-short-minInclusive-6-4 tokoe:invalid" result="pass"/><test-case name="7228NISTXML-SV-II-atomic-short-minInclusive-6-5 tokoe:invalid" result="pass"/><test-case name="7229NISTSchema-SV-II-atomic-short-maxInclusive-1 tokoe:valid" result="pass"/><test-case name="7230NISTXML-SV-II-atomic-short-maxInclusive-1-1 tokoe:invalid" result="pass"/><test-case name="7231NISTXML-SV-II-atomic-short-maxInclusive-1-2 tokoe:invalid" result="pass"/><test-case name="7232NISTXML-SV-II-atomic-short-maxInclusive-1-3 tokoe:invalid" result="pass"/><test-case name="7233NISTXML-SV-II-atomic-short-maxInclusive-1-4 tokoe:invalid" result="pass"/><test-case name="7234NISTXML-SV-II-atomic-short-maxInclusive-1-5 tokoe:invalid" result="pass"/><test-case name="7235NISTSchema-SV-II-atomic-short-maxInclusive-2 tokoe:valid" result="pass"/><test-case name="7236NISTXML-SV-II-atomic-short-maxInclusive-2-1 tokoe:invalid" result="pass"/><test-case name="7237NISTXML-SV-II-atomic-short-maxInclusive-2-2 tokoe:invalid" result="pass"/><test-case name="7238NISTXML-SV-II-atomic-short-maxInclusive-2-3 tokoe:invalid" result="pass"/><test-case name="7239NISTXML-SV-II-atomic-short-maxInclusive-2-4 tokoe:invalid" result="pass"/><test-case name="7240NISTXML-SV-II-atomic-short-maxInclusive-2-5 tokoe:invalid" result="pass"/><test-case name="7241NISTSchema-SV-II-atomic-short-maxInclusive-3 tokoe:valid" result="pass"/><test-case name="7242NISTXML-SV-II-atomic-short-maxInclusive-3-1 tokoe:invalid" result="pass"/><test-case name="7243NISTXML-SV-II-atomic-short-maxInclusive-3-2 tokoe:invalid" result="pass"/><test-case name="7244NISTXML-SV-II-atomic-short-maxInclusive-3-3 tokoe:invalid" result="pass"/><test-case name="7245NISTXML-SV-II-atomic-short-maxInclusive-3-4 tokoe:invalid" result="pass"/><test-case name="7246NISTXML-SV-II-atomic-short-maxInclusive-3-5 tokoe:invalid" result="pass"/><test-case name="7247NISTSchema-SV-II-atomic-short-maxInclusive-4 tokoe:valid" result="pass"/><test-case name="7248NISTXML-SV-II-atomic-short-maxInclusive-4-1 tokoe:invalid" result="pass"/><test-case name="7249NISTXML-SV-II-atomic-short-maxInclusive-4-2 tokoe:invalid" result="pass"/><test-case name="7250NISTXML-SV-II-atomic-short-maxInclusive-4-3 tokoe:invalid" result="pass"/><test-case name="7251NISTXML-SV-II-atomic-short-maxInclusive-4-4 tokoe:invalid" result="pass"/><test-case name="7252NISTXML-SV-II-atomic-short-maxInclusive-4-5 tokoe:invalid" result="pass"/><test-case name="7253NISTSchema-SV-II-atomic-short-maxInclusive-5 tokoe:valid" result="pass"/><test-case name="7254NISTXML-SV-II-atomic-short-maxInclusive-5-1 tokoe:invalid" result="pass"/><test-case name="7255NISTXML-SV-II-atomic-short-maxInclusive-5-2 tokoe:invalid" result="pass"/><test-case name="7256NISTXML-SV-II-atomic-short-maxInclusive-5-3 tokoe:invalid" result="pass"/><test-case name="7257NISTXML-SV-II-atomic-short-maxInclusive-5-4 tokoe:invalid" result="pass"/><test-case name="7258NISTXML-SV-II-atomic-short-maxInclusive-5-5 tokoe:invalid" result="pass"/><test-case name="7259NISTSchema-SV-II-atomic-short-totalDigits-1 tokoe:valid" result="pass"/><test-case name="7260NISTXML-SV-II-atomic-short-totalDigits-1-1 tokoe:invalid" result="pass"/><test-case name="7261NISTXML-SV-II-atomic-short-totalDigits-1-2 tokoe:invalid" result="pass"/><test-case name="7262NISTXML-SV-II-atomic-short-totalDigits-1-3 tokoe:invalid" result="pass"/><test-case name="7263NISTXML-SV-II-atomic-short-totalDigits-1-4 tokoe:invalid" result="pass"/><test-case name="7264NISTXML-SV-II-atomic-short-totalDigits-1-5 tokoe:invalid" result="pass"/><test-case name="7265NISTSchema-SV-II-atomic-short-totalDigits-2 tokoe:valid" result="pass"/><test-case name="7266NISTXML-SV-II-atomic-short-totalDigits-2-1 tokoe:invalid" result="pass"/><test-case name="7267NISTXML-SV-II-atomic-short-totalDigits-2-2 tokoe:invalid" result="pass"/><test-case name="7268NISTXML-SV-II-atomic-short-totalDigits-2-3 tokoe:invalid" result="pass"/><test-case name="7269NISTXML-SV-II-atomic-short-totalDigits-2-4 tokoe:invalid" result="pass"/><test-case name="7270NISTXML-SV-II-atomic-short-totalDigits-2-5 tokoe:invalid" result="pass"/><test-case name="7271NISTSchema-SV-II-atomic-short-totalDigits-3 tokoe:valid" result="pass"/><test-case name="7272NISTXML-SV-II-atomic-short-totalDigits-3-1 tokoe:invalid" result="pass"/><test-case name="7273NISTXML-SV-II-atomic-short-totalDigits-3-2 tokoe:invalid" result="pass"/><test-case name="7274NISTXML-SV-II-atomic-short-totalDigits-3-3 tokoe:invalid" result="pass"/><test-case name="7275NISTXML-SV-II-atomic-short-totalDigits-3-4 tokoe:invalid" result="pass"/><test-case name="7276NISTXML-SV-II-atomic-short-totalDigits-3-5 tokoe:invalid" result="pass"/><test-case name="7277NISTSchema-SV-II-atomic-short-totalDigits-4 tokoe:valid" result="pass"/><test-case name="7278NISTXML-SV-II-atomic-short-totalDigits-4-1 tokoe:invalid" result="pass"/><test-case name="7279NISTXML-SV-II-atomic-short-totalDigits-4-2 tokoe:invalid" result="pass"/><test-case name="7280NISTXML-SV-II-atomic-short-totalDigits-4-3 tokoe:invalid" result="pass"/><test-case name="7281NISTXML-SV-II-atomic-short-totalDigits-4-4 tokoe:invalid" result="pass"/><test-case name="7282NISTXML-SV-II-atomic-short-totalDigits-4-5 tokoe:invalid" result="pass"/><test-case name="7283NISTSchema-SV-II-atomic-byte-minInclusive-2 tokoe:valid" result="pass"/><test-case name="7284NISTXML-SV-II-atomic-byte-minInclusive-2-1 tokoe:invalid" result="pass"/><test-case name="7285NISTXML-SV-II-atomic-byte-minInclusive-2-2 tokoe:invalid" result="pass"/><test-case name="7286NISTXML-SV-II-atomic-byte-minInclusive-2-3 tokoe:invalid" result="pass"/><test-case name="7287NISTXML-SV-II-atomic-byte-minInclusive-2-4 tokoe:invalid" result="pass"/><test-case name="7288NISTXML-SV-II-atomic-byte-minInclusive-2-5 tokoe:invalid" result="pass"/><test-case name="7289NISTSchema-SV-II-atomic-byte-minInclusive-3 tokoe:valid" result="pass"/><test-case name="7290NISTXML-SV-II-atomic-byte-minInclusive-3-1 tokoe:invalid" result="pass"/><test-case name="7291NISTXML-SV-II-atomic-byte-minInclusive-3-2 tokoe:invalid" result="pass"/><test-case name="7292NISTXML-SV-II-atomic-byte-minInclusive-3-3 tokoe:invalid" result="pass"/><test-case name="7293NISTXML-SV-II-atomic-byte-minInclusive-3-4 tokoe:invalid" result="pass"/><test-case name="7294NISTXML-SV-II-atomic-byte-minInclusive-3-5 tokoe:invalid" result="pass"/><test-case name="7295NISTSchema-SV-II-atomic-byte-minInclusive-4 tokoe:valid" result="pass"/><test-case name="7296NISTXML-SV-II-atomic-byte-minInclusive-4-1 tokoe:invalid" result="pass"/><test-case name="7297NISTXML-SV-II-atomic-byte-minInclusive-4-2 tokoe:invalid" result="pass"/><test-case name="7298NISTXML-SV-II-atomic-byte-minInclusive-4-3 tokoe:invalid" result="pass"/><test-case name="7299NISTXML-SV-II-atomic-byte-minInclusive-4-4 tokoe:invalid" result="pass"/><test-case name="7300NISTXML-SV-II-atomic-byte-minInclusive-4-5 tokoe:invalid" result="pass"/><test-case name="7301NISTSchema-SV-II-atomic-byte-minInclusive-5 tokoe:valid" result="pass"/><test-case name="7302NISTXML-SV-II-atomic-byte-minInclusive-5-1 tokoe:invalid" result="pass"/><test-case name="7303NISTXML-SV-II-atomic-byte-minInclusive-5-2 tokoe:invalid" result="pass"/><test-case name="7304NISTXML-SV-II-atomic-byte-minInclusive-5-3 tokoe:invalid" result="pass"/><test-case name="7305NISTXML-SV-II-atomic-byte-minInclusive-5-4 tokoe:invalid" result="pass"/><test-case name="7306NISTXML-SV-II-atomic-byte-minInclusive-5-5 tokoe:invalid" result="pass"/><test-case name="7307NISTSchema-SV-II-atomic-byte-minInclusive-6 tokoe:valid" result="pass"/><test-case name="7308NISTXML-SV-II-atomic-byte-minInclusive-6-1 tokoe:invalid" result="pass"/><test-case name="7309NISTXML-SV-II-atomic-byte-minInclusive-6-2 tokoe:invalid" result="pass"/><test-case name="7310NISTXML-SV-II-atomic-byte-minInclusive-6-3 tokoe:invalid" result="pass"/><test-case name="7311NISTXML-SV-II-atomic-byte-minInclusive-6-4 tokoe:invalid" result="pass"/><test-case name="7312NISTXML-SV-II-atomic-byte-minInclusive-6-5 tokoe:invalid" result="pass"/><test-case name="7313NISTSchema-SV-II-atomic-byte-maxInclusive-1 tokoe:valid" result="pass"/><test-case name="7314NISTXML-SV-II-atomic-byte-maxInclusive-1-1 tokoe:invalid" result="pass"/><test-case name="7315NISTXML-SV-II-atomic-byte-maxInclusive-1-2 tokoe:invalid" result="pass"/><test-case name="7316NISTXML-SV-II-atomic-byte-maxInclusive-1-3 tokoe:invalid" result="pass"/><test-case name="7317NISTXML-SV-II-atomic-byte-maxInclusive-1-4 tokoe:invalid" result="pass"/><test-case name="7318NISTXML-SV-II-atomic-byte-maxInclusive-1-5 tokoe:invalid" result="pass"/><test-case name="7319NISTSchema-SV-II-atomic-byte-maxInclusive-2 tokoe:valid" result="pass"/><test-case name="7320NISTXML-SV-II-atomic-byte-maxInclusive-2-1 tokoe:invalid" result="pass"/><test-case name="7321NISTXML-SV-II-atomic-byte-maxInclusive-2-2 tokoe:invalid" result="pass"/><test-case name="7322NISTXML-SV-II-atomic-byte-maxInclusive-2-3 tokoe:invalid" result="pass"/><test-case name="7323NISTXML-SV-II-atomic-byte-maxInclusive-2-4 tokoe:invalid" result="pass"/><test-case name="7324NISTXML-SV-II-atomic-byte-maxInclusive-2-5 tokoe:invalid" result="pass"/><test-case name="7325NISTSchema-SV-II-atomic-byte-maxInclusive-3 tokoe:valid" result="pass"/><test-case name="7326NISTXML-SV-II-atomic-byte-maxInclusive-3-1 tokoe:invalid" result="pass"/><test-case name="7327NISTXML-SV-II-atomic-byte-maxInclusive-3-2 tokoe:invalid" result="pass"/><test-case name="7328NISTXML-SV-II-atomic-byte-maxInclusive-3-3 tokoe:invalid" result="pass"/><test-case name="7329NISTXML-SV-II-atomic-byte-maxInclusive-3-4 tokoe:invalid" result="pass"/><test-case name="7330NISTXML-SV-II-atomic-byte-maxInclusive-3-5 tokoe:invalid" result="pass"/><test-case name="7331NISTSchema-SV-II-atomic-byte-maxInclusive-4 tokoe:valid" result="pass"/><test-case name="7332NISTXML-SV-II-atomic-byte-maxInclusive-4-1 tokoe:invalid" result="pass"/><test-case name="7333NISTXML-SV-II-atomic-byte-maxInclusive-4-2 tokoe:invalid" result="pass"/><test-case name="7334NISTXML-SV-II-atomic-byte-maxInclusive-4-3 tokoe:invalid" result="pass"/><test-case name="7335NISTXML-SV-II-atomic-byte-maxInclusive-4-4 tokoe:invalid" result="pass"/><test-case name="7336NISTXML-SV-II-atomic-byte-maxInclusive-4-5 tokoe:invalid" result="pass"/><test-case name="7337NISTSchema-SV-II-atomic-byte-maxInclusive-5 tokoe:valid" result="pass"/><test-case name="7338NISTXML-SV-II-atomic-byte-maxInclusive-5-1 tokoe:invalid" result="pass"/><test-case name="7339NISTXML-SV-II-atomic-byte-maxInclusive-5-2 tokoe:invalid" result="pass"/><test-case name="7340NISTXML-SV-II-atomic-byte-maxInclusive-5-3 tokoe:invalid" result="pass"/><test-case name="7341NISTXML-SV-II-atomic-byte-maxInclusive-5-4 tokoe:invalid" result="pass"/><test-case name="7342NISTXML-SV-II-atomic-byte-maxInclusive-5-5 tokoe:invalid" result="pass"/><test-case name="7343NISTSchema-SV-II-atomic-byte-totalDigits-1 tokoe:valid" result="pass"/><test-case name="7344NISTXML-SV-II-atomic-byte-totalDigits-1-1 tokoe:invalid" result="pass"/><test-case name="7345NISTXML-SV-II-atomic-byte-totalDigits-1-2 tokoe:invalid" result="pass"/><test-case name="7346NISTXML-SV-II-atomic-byte-totalDigits-1-3 tokoe:invalid" result="pass"/><test-case name="7347NISTXML-SV-II-atomic-byte-totalDigits-1-4 tokoe:invalid" result="pass"/><test-case name="7348NISTXML-SV-II-atomic-byte-totalDigits-1-5 tokoe:invalid" result="pass"/><test-case name="7349NISTSchema-SV-II-atomic-byte-totalDigits-2 tokoe:valid" result="pass"/><test-case name="7350NISTXML-SV-II-atomic-byte-totalDigits-2-1 tokoe:invalid" result="pass"/><test-case name="7351NISTXML-SV-II-atomic-byte-totalDigits-2-2 tokoe:invalid" result="pass"/><test-case name="7352NISTXML-SV-II-atomic-byte-totalDigits-2-3 tokoe:invalid" result="pass"/><test-case name="7353NISTXML-SV-II-atomic-byte-totalDigits-2-4 tokoe:invalid" result="pass"/><test-case name="7354NISTXML-SV-II-atomic-byte-totalDigits-2-5 tokoe:invalid" result="pass"/><test-case name="7355NISTSchema-SV-II-atomic-nonNegativeInteger-minInclusive-2 tokoe:valid" result="pass"/><test-case name="7356NISTXML-SV-II-atomic-nonNegativeInteger-minInclusive-2-1 tokoe:invalid" result="pass"/><test-case name="7357NISTXML-SV-II-atomic-nonNegativeInteger-minInclusive-2-2 tokoe:invalid" result="pass"/><test-case name="7358NISTXML-SV-II-atomic-nonNegativeInteger-minInclusive-2-3 tokoe:invalid" result="pass"/><test-case name="7359NISTXML-SV-II-atomic-nonNegativeInteger-minInclusive-2-4 tokoe:invalid" result="pass"/><test-case name="7360NISTXML-SV-II-atomic-nonNegativeInteger-minInclusive-2-5 tokoe:invalid" result="pass"/><test-case name="7361NISTSchema-SV-II-atomic-nonNegativeInteger-minInclusive-3 tokoe:valid" result="pass"/><test-case name="7362NISTXML-SV-II-atomic-nonNegativeInteger-minInclusive-3-1 tokoe:invalid" result="pass"/><test-case name="7363NISTXML-SV-II-atomic-nonNegativeInteger-minInclusive-3-2 tokoe:invalid" result="pass"/><test-case name="7364NISTXML-SV-II-atomic-nonNegativeInteger-minInclusive-3-3 tokoe:invalid" result="pass"/><test-case name="7365NISTXML-SV-II-atomic-nonNegativeInteger-minInclusive-3-4 tokoe:invalid" result="pass"/><test-case name="7366NISTXML-SV-II-atomic-nonNegativeInteger-minInclusive-3-5 tokoe:invalid" result="pass"/><test-case name="7367NISTSchema-SV-II-atomic-nonNegativeInteger-minInclusive-4 tokoe:valid" result="pass"/><test-case name="7368NISTXML-SV-II-atomic-nonNegativeInteger-minInclusive-4-1 tokoe:invalid" result="pass"/><test-case name="7369NISTXML-SV-II-atomic-nonNegativeInteger-minInclusive-4-2 tokoe:invalid" result="pass"/><test-case name="7370NISTXML-SV-II-atomic-nonNegativeInteger-minInclusive-4-3 tokoe:invalid" result="pass"/><test-case name="7371NISTXML-SV-II-atomic-nonNegativeInteger-minInclusive-4-4 tokoe:invalid" result="pass"/><test-case name="7372NISTXML-SV-II-atomic-nonNegativeInteger-minInclusive-4-5 tokoe:invalid" result="pass"/><test-case name="7373NISTSchema-SV-II-atomic-nonNegativeInteger-minInclusive-5 tokoe:valid" result="pass"/><test-case name="7374NISTXML-SV-II-atomic-nonNegativeInteger-minInclusive-5-1 tokoe:invalid" result="pass"/><test-case name="7375NISTXML-SV-II-atomic-nonNegativeInteger-minInclusive-5-2 tokoe:invalid" result="pass"/><test-case name="7376NISTXML-SV-II-atomic-nonNegativeInteger-minInclusive-5-3 tokoe:invalid" result="pass"/><test-case name="7377NISTXML-SV-II-atomic-nonNegativeInteger-minInclusive-5-4 tokoe:invalid" result="pass"/><test-case name="7378NISTXML-SV-II-atomic-nonNegativeInteger-minInclusive-5-5 tokoe:invalid" result="pass"/><test-case name="7379NISTSchema-SV-II-atomic-nonNegativeInteger-minInclusive-6 tokoe:valid" result="pass"/><test-case name="7380NISTXML-SV-II-atomic-nonNegativeInteger-minInclusive-6-1 tokoe:invalid" result="pass"/><test-case name="7381NISTXML-SV-II-atomic-nonNegativeInteger-minInclusive-6-2 tokoe:invalid" result="pass"/><test-case name="7382NISTXML-SV-II-atomic-nonNegativeInteger-minInclusive-6-3 tokoe:invalid" result="pass"/><test-case name="7383NISTXML-SV-II-atomic-nonNegativeInteger-minInclusive-6-4 tokoe:invalid" result="pass"/><test-case name="7384NISTXML-SV-II-atomic-nonNegativeInteger-minInclusive-6-5 tokoe:invalid" result="pass"/><test-case name="7385NISTSchema-SV-II-atomic-nonNegativeInteger-maxInclusive-1 tokoe:valid" result="pass"/><test-case name="7386NISTXML-SV-II-atomic-nonNegativeInteger-maxInclusive-1-1 tokoe:invalid" result="pass"/><test-case name="7387NISTXML-SV-II-atomic-nonNegativeInteger-maxInclusive-1-2 tokoe:invalid" result="pass"/><test-case name="7388NISTXML-SV-II-atomic-nonNegativeInteger-maxInclusive-1-3 tokoe:invalid" result="pass"/><test-case name="7389NISTXML-SV-II-atomic-nonNegativeInteger-maxInclusive-1-4 tokoe:invalid" result="pass"/><test-case name="7390NISTXML-SV-II-atomic-nonNegativeInteger-maxInclusive-1-5 tokoe:invalid" result="pass"/><test-case name="7391NISTSchema-SV-II-atomic-nonNegativeInteger-maxInclusive-2 tokoe:valid" result="pass"/><test-case name="7392NISTXML-SV-II-atomic-nonNegativeInteger-maxInclusive-2-1 tokoe:invalid" result="pass"/><test-case name="7393NISTXML-SV-II-atomic-nonNegativeInteger-maxInclusive-2-2 tokoe:invalid" result="pass"/><test-case name="7394NISTXML-SV-II-atomic-nonNegativeInteger-maxInclusive-2-3 tokoe:invalid" result="pass"/><test-case name="7395NISTXML-SV-II-atomic-nonNegativeInteger-maxInclusive-2-4 tokoe:invalid" result="pass"/><test-case name="7396NISTXML-SV-II-atomic-nonNegativeInteger-maxInclusive-2-5 tokoe:invalid" result="pass"/><test-case name="7397NISTSchema-SV-II-atomic-nonNegativeInteger-maxInclusive-3 tokoe:valid" result="pass"/><test-case name="7398NISTXML-SV-II-atomic-nonNegativeInteger-maxInclusive-3-1 tokoe:invalid" result="pass"/><test-case name="7399NISTXML-SV-II-atomic-nonNegativeInteger-maxInclusive-3-2 tokoe:invalid" result="pass"/><test-case name="7400NISTXML-SV-II-atomic-nonNegativeInteger-maxInclusive-3-3 tokoe:invalid" result="pass"/><test-case name="7401NISTXML-SV-II-atomic-nonNegativeInteger-maxInclusive-3-4 tokoe:invalid" result="pass"/><test-case name="7402NISTXML-SV-II-atomic-nonNegativeInteger-maxInclusive-3-5 tokoe:invalid" result="pass"/><test-case name="7403NISTSchema-SV-II-atomic-nonNegativeInteger-maxInclusive-4 tokoe:valid" result="pass"/><test-case name="7404NISTXML-SV-II-atomic-nonNegativeInteger-maxInclusive-4-1 tokoe:invalid" result="pass"/><test-case name="7405NISTXML-SV-II-atomic-nonNegativeInteger-maxInclusive-4-2 tokoe:invalid" result="pass"/><test-case name="7406NISTXML-SV-II-atomic-nonNegativeInteger-maxInclusive-4-3 tokoe:invalid" result="pass"/><test-case name="7407NISTXML-SV-II-atomic-nonNegativeInteger-maxInclusive-4-4 tokoe:invalid" result="pass"/><test-case name="7408NISTXML-SV-II-atomic-nonNegativeInteger-maxInclusive-4-5 tokoe:invalid" result="pass"/><test-case name="7409NISTSchema-SV-II-atomic-nonNegativeInteger-maxInclusive-5 tokoe:valid" result="pass"/><test-case name="7410NISTXML-SV-II-atomic-nonNegativeInteger-maxInclusive-5-1 tokoe:invalid" result="pass"/><test-case name="7411NISTXML-SV-II-atomic-nonNegativeInteger-maxInclusive-5-2 tokoe:invalid" result="pass"/><test-case name="7412NISTXML-SV-II-atomic-nonNegativeInteger-maxInclusive-5-3 tokoe:invalid" result="pass"/><test-case name="7413NISTXML-SV-II-atomic-nonNegativeInteger-maxInclusive-5-4 tokoe:invalid" result="pass"/><test-case name="7414NISTXML-SV-II-atomic-nonNegativeInteger-maxInclusive-5-5 tokoe:invalid" result="pass"/><test-case name="7415NISTSchema-SV-II-atomic-nonNegativeInteger-totalDigits-1 tokoe:valid" result="pass"/><test-case name="7416NISTXML-SV-II-atomic-nonNegativeInteger-totalDigits-1-1 tokoe:invalid" result="pass"/><test-case name="7417NISTXML-SV-II-atomic-nonNegativeInteger-totalDigits-1-2 tokoe:invalid" result="pass"/><test-case name="7418NISTXML-SV-II-atomic-nonNegativeInteger-totalDigits-1-3 tokoe:invalid" result="pass"/><test-case name="7419NISTXML-SV-II-atomic-nonNegativeInteger-totalDigits-1-4 tokoe:invalid" result="pass"/><test-case name="7420NISTXML-SV-II-atomic-nonNegativeInteger-totalDigits-1-5 tokoe:invalid" result="pass"/><test-case name="7421NISTSchema-SV-II-atomic-nonNegativeInteger-totalDigits-2 tokoe:valid" result="pass"/><test-case name="7422NISTXML-SV-II-atomic-nonNegativeInteger-totalDigits-2-1 tokoe:invalid" result="pass"/><test-case name="7423NISTXML-SV-II-atomic-nonNegativeInteger-totalDigits-2-2 tokoe:invalid" result="pass"/><test-case name="7424NISTXML-SV-II-atomic-nonNegativeInteger-totalDigits-2-3 tokoe:invalid" result="pass"/><test-case name="7425NISTXML-SV-II-atomic-nonNegativeInteger-totalDigits-2-4 tokoe:invalid" result="pass"/><test-case name="7426NISTXML-SV-II-atomic-nonNegativeInteger-totalDigits-2-5 tokoe:invalid" result="pass"/><test-case name="7427NISTSchema-SV-II-atomic-nonNegativeInteger-totalDigits-3 tokoe:valid" result="pass"/><test-case name="7428NISTXML-SV-II-atomic-nonNegativeInteger-totalDigits-3-1 tokoe:invalid" result="pass"/><test-case name="7429NISTXML-SV-II-atomic-nonNegativeInteger-totalDigits-3-2 tokoe:invalid" result="pass"/><test-case name="7430NISTXML-SV-II-atomic-nonNegativeInteger-totalDigits-3-3 tokoe:invalid" result="pass"/><test-case name="7431NISTXML-SV-II-atomic-nonNegativeInteger-totalDigits-3-4 tokoe:invalid" result="pass"/><test-case name="7432NISTXML-SV-II-atomic-nonNegativeInteger-totalDigits-3-5 tokoe:invalid" result="pass"/><test-case name="7433NISTSchema-SV-II-atomic-nonNegativeInteger-totalDigits-4 tokoe:valid" result="pass"/><test-case name="7434NISTXML-SV-II-atomic-nonNegativeInteger-totalDigits-4-1 tokoe:invalid" result="pass"/><test-case name="7435NISTXML-SV-II-atomic-nonNegativeInteger-totalDigits-4-2 tokoe:invalid" result="pass"/><test-case name="7436NISTXML-SV-II-atomic-nonNegativeInteger-totalDigits-4-3 tokoe:invalid" result="pass"/><test-case name="7437NISTXML-SV-II-atomic-nonNegativeInteger-totalDigits-4-4 tokoe:invalid" result="pass"/><test-case name="7438NISTXML-SV-II-atomic-nonNegativeInteger-totalDigits-4-5 tokoe:invalid" result="pass"/><test-case name="7439NISTSchema-SV-II-atomic-nonNegativeInteger-totalDigits-5 tokoe:valid" result="pass"/><test-case name="7440NISTXML-SV-II-atomic-nonNegativeInteger-totalDigits-5-1 tokoe:invalid" result="pass"/><test-case name="7441NISTXML-SV-II-atomic-nonNegativeInteger-totalDigits-5-2 tokoe:invalid" result="pass"/><test-case name="7442NISTXML-SV-II-atomic-nonNegativeInteger-totalDigits-5-3 tokoe:invalid" result="pass"/><test-case name="7443NISTXML-SV-II-atomic-nonNegativeInteger-totalDigits-5-4 tokoe:invalid" result="pass"/><test-case name="7444NISTXML-SV-II-atomic-nonNegativeInteger-totalDigits-5-5 tokoe:invalid" result="pass"/><test-case name="7445NISTSchema-SV-II-atomic-unsignedLong-minInclusive-2 tokoe:valid" result="pass"/><test-case name="7446NISTXML-SV-II-atomic-unsignedLong-minInclusive-2-1 tokoe:invalid" result="pass"/><test-case name="7447NISTXML-SV-II-atomic-unsignedLong-minInclusive-2-2 tokoe:invalid" result="pass"/><test-case name="7448NISTXML-SV-II-atomic-unsignedLong-minInclusive-2-3 tokoe:invalid" result="pass"/><test-case name="7449NISTXML-SV-II-atomic-unsignedLong-minInclusive-2-4 tokoe:invalid" result="pass"/><test-case name="7450NISTXML-SV-II-atomic-unsignedLong-minInclusive-2-5 tokoe:invalid" result="pass"/><test-case name="7451NISTSchema-SV-II-atomic-unsignedLong-minInclusive-3 tokoe:valid" result="pass"/><test-case name="7452NISTXML-SV-II-atomic-unsignedLong-minInclusive-3-1 tokoe:invalid" result="pass"/><test-case name="7453NISTXML-SV-II-atomic-unsignedLong-minInclusive-3-2 tokoe:invalid" result="pass"/><test-case name="7454NISTXML-SV-II-atomic-unsignedLong-minInclusive-3-3 tokoe:invalid" result="pass"/><test-case name="7455NISTXML-SV-II-atomic-unsignedLong-minInclusive-3-4 tokoe:invalid" result="pass"/><test-case name="7456NISTXML-SV-II-atomic-unsignedLong-minInclusive-3-5 tokoe:invalid" result="pass"/><test-case name="7457NISTSchema-SV-II-atomic-unsignedLong-minInclusive-4 tokoe:valid" result="pass"/><test-case name="7458NISTXML-SV-II-atomic-unsignedLong-minInclusive-4-1 tokoe:invalid" result="pass"/><test-case name="7459NISTXML-SV-II-atomic-unsignedLong-minInclusive-4-2 tokoe:invalid" result="pass"/><test-case name="7460NISTXML-SV-II-atomic-unsignedLong-minInclusive-4-3 tokoe:invalid" result="pass"/><test-case name="7461NISTXML-SV-II-atomic-unsignedLong-minInclusive-4-4 tokoe:invalid" result="pass"/><test-case name="7462NISTXML-SV-II-atomic-unsignedLong-minInclusive-4-5 tokoe:invalid" result="pass"/><test-case name="7463NISTSchema-SV-II-atomic-unsignedLong-minInclusive-5 tokoe:valid" result="pass"/><test-case name="7464NISTXML-SV-II-atomic-unsignedLong-minInclusive-5-1 tokoe:invalid" result="pass"/><test-case name="7465NISTXML-SV-II-atomic-unsignedLong-minInclusive-5-2 tokoe:invalid" result="pass"/><test-case name="7466NISTXML-SV-II-atomic-unsignedLong-minInclusive-5-3 tokoe:invalid" result="pass"/><test-case name="7467NISTXML-SV-II-atomic-unsignedLong-minInclusive-5-4 tokoe:invalid" result="pass"/><test-case name="7468NISTXML-SV-II-atomic-unsignedLong-minInclusive-5-5 tokoe:invalid" result="pass"/><test-case name="7469NISTSchema-SV-II-atomic-unsignedLong-minInclusive-6 tokoe:valid" result="pass"/><test-case name="7470NISTXML-SV-II-atomic-unsignedLong-minInclusive-6-1 tokoe:invalid" result="pass"/><test-case name="7471NISTXML-SV-II-atomic-unsignedLong-minInclusive-6-2 tokoe:invalid" result="pass"/><test-case name="7472NISTXML-SV-II-atomic-unsignedLong-minInclusive-6-3 tokoe:invalid" result="pass"/><test-case name="7473NISTXML-SV-II-atomic-unsignedLong-minInclusive-6-4 tokoe:invalid" result="pass"/><test-case name="7474NISTXML-SV-II-atomic-unsignedLong-minInclusive-6-5 tokoe:invalid" result="pass"/><test-case name="7475NISTSchema-SV-II-atomic-unsignedLong-maxInclusive-1 tokoe:valid" result="pass"/><test-case name="7476NISTXML-SV-II-atomic-unsignedLong-maxInclusive-1-1 tokoe:invalid" result="pass"/><test-case name="7477NISTXML-SV-II-atomic-unsignedLong-maxInclusive-1-2 tokoe:invalid" result="pass"/><test-case name="7478NISTXML-SV-II-atomic-unsignedLong-maxInclusive-1-3 tokoe:invalid" result="pass"/><test-case name="7479NISTXML-SV-II-atomic-unsignedLong-maxInclusive-1-4 tokoe:invalid" result="pass"/><test-case name="7480NISTXML-SV-II-atomic-unsignedLong-maxInclusive-1-5 tokoe:invalid" result="pass"/><test-case name="7481NISTSchema-SV-II-atomic-unsignedLong-maxInclusive-2 tokoe:valid" result="pass"/><test-case name="7482NISTXML-SV-II-atomic-unsignedLong-maxInclusive-2-1 tokoe:invalid" result="pass"/><test-case name="7483NISTXML-SV-II-atomic-unsignedLong-maxInclusive-2-2 tokoe:invalid" result="pass"/><test-case name="7484NISTXML-SV-II-atomic-unsignedLong-maxInclusive-2-3 tokoe:invalid" result="pass"/><test-case name="7485NISTXML-SV-II-atomic-unsignedLong-maxInclusive-2-4 tokoe:invalid" result="pass"/><test-case name="7486NISTXML-SV-II-atomic-unsignedLong-maxInclusive-2-5 tokoe:invalid" result="pass"/><test-case name="7487NISTSchema-SV-II-atomic-unsignedLong-maxInclusive-3 tokoe:valid" result="pass"/><test-case name="7488NISTXML-SV-II-atomic-unsignedLong-maxInclusive-3-1 tokoe:invalid" result="pass"/><test-case name="7489NISTXML-SV-II-atomic-unsignedLong-maxInclusive-3-2 tokoe:invalid" result="pass"/><test-case name="7490NISTXML-SV-II-atomic-unsignedLong-maxInclusive-3-3 tokoe:invalid" result="pass"/><test-case name="7491NISTXML-SV-II-atomic-unsignedLong-maxInclusive-3-4 tokoe:invalid" result="pass"/><test-case name="7492NISTXML-SV-II-atomic-unsignedLong-maxInclusive-3-5 tokoe:invalid" result="pass"/><test-case name="7493NISTSchema-SV-II-atomic-unsignedLong-maxInclusive-4 tokoe:valid" result="pass"/><test-case name="7494NISTXML-SV-II-atomic-unsignedLong-maxInclusive-4-1 tokoe:invalid" result="pass"/><test-case name="7495NISTXML-SV-II-atomic-unsignedLong-maxInclusive-4-2 tokoe:invalid" result="pass"/><test-case name="7496NISTXML-SV-II-atomic-unsignedLong-maxInclusive-4-3 tokoe:invalid" result="pass"/><test-case name="7497NISTXML-SV-II-atomic-unsignedLong-maxInclusive-4-4 tokoe:invalid" result="pass"/><test-case name="7498NISTXML-SV-II-atomic-unsignedLong-maxInclusive-4-5 tokoe:invalid" result="pass"/><test-case name="7499NISTSchema-SV-II-atomic-unsignedLong-maxInclusive-5 tokoe:valid" result="pass"/><test-case name="7500NISTXML-SV-II-atomic-unsignedLong-maxInclusive-5-1 tokoe:invalid" result="pass"/><test-case name="7501NISTXML-SV-II-atomic-unsignedLong-maxInclusive-5-2 tokoe:invalid" result="pass"/><test-case name="7502NISTXML-SV-II-atomic-unsignedLong-maxInclusive-5-3 tokoe:invalid" result="pass"/><test-case name="7503NISTXML-SV-II-atomic-unsignedLong-maxInclusive-5-4 tokoe:invalid" result="pass"/><test-case name="7504NISTXML-SV-II-atomic-unsignedLong-maxInclusive-5-5 tokoe:invalid" result="pass"/><test-case name="7505NISTSchema-SV-II-atomic-unsignedLong-totalDigits-1 tokoe:valid" result="pass"/><test-case name="7506NISTXML-SV-II-atomic-unsignedLong-totalDigits-1-1 tokoe:invalid" result="pass"/><test-case name="7507NISTXML-SV-II-atomic-unsignedLong-totalDigits-1-2 tokoe:invalid" result="pass"/><test-case name="7508NISTXML-SV-II-atomic-unsignedLong-totalDigits-1-3 tokoe:invalid" result="pass"/><test-case name="7509NISTXML-SV-II-atomic-unsignedLong-totalDigits-1-4 tokoe:invalid" result="pass"/><test-case name="7510NISTXML-SV-II-atomic-unsignedLong-totalDigits-1-5 tokoe:invalid" result="pass"/><test-case name="7511NISTSchema-SV-II-atomic-unsignedLong-totalDigits-2 tokoe:valid" result="pass"/><test-case name="7512NISTXML-SV-II-atomic-unsignedLong-totalDigits-2-1 tokoe:invalid" result="pass"/><test-case name="7513NISTXML-SV-II-atomic-unsignedLong-totalDigits-2-2 tokoe:invalid" result="pass"/><test-case name="7514NISTXML-SV-II-atomic-unsignedLong-totalDigits-2-3 tokoe:invalid" result="pass"/><test-case name="7515NISTXML-SV-II-atomic-unsignedLong-totalDigits-2-4 tokoe:invalid" result="pass"/><test-case name="7516NISTXML-SV-II-atomic-unsignedLong-totalDigits-2-5 tokoe:invalid" result="pass"/><test-case name="7517NISTSchema-SV-II-atomic-unsignedLong-totalDigits-3 tokoe:valid" result="pass"/><test-case name="7518NISTXML-SV-II-atomic-unsignedLong-totalDigits-3-1 tokoe:invalid" result="pass"/><test-case name="7519NISTXML-SV-II-atomic-unsignedLong-totalDigits-3-2 tokoe:invalid" result="pass"/><test-case name="7520NISTXML-SV-II-atomic-unsignedLong-totalDigits-3-3 tokoe:invalid" result="pass"/><test-case name="7521NISTXML-SV-II-atomic-unsignedLong-totalDigits-3-4 tokoe:invalid" result="pass"/><test-case name="7522NISTXML-SV-II-atomic-unsignedLong-totalDigits-3-5 tokoe:invalid" result="pass"/><test-case name="7523NISTSchema-SV-II-atomic-unsignedLong-totalDigits-4 tokoe:valid" result="pass"/><test-case name="7524NISTXML-SV-II-atomic-unsignedLong-totalDigits-4-1 tokoe:invalid" result="pass"/><test-case name="7525NISTXML-SV-II-atomic-unsignedLong-totalDigits-4-2 tokoe:invalid" result="pass"/><test-case name="7526NISTXML-SV-II-atomic-unsignedLong-totalDigits-4-3 tokoe:invalid" result="pass"/><test-case name="7527NISTXML-SV-II-atomic-unsignedLong-totalDigits-4-4 tokoe:invalid" result="pass"/><test-case name="7528NISTXML-SV-II-atomic-unsignedLong-totalDigits-4-5 tokoe:invalid" result="pass"/><test-case name="7529NISTSchema-SV-II-atomic-unsignedLong-totalDigits-5 tokoe:valid" result="pass"/><test-case name="7530NISTXML-SV-II-atomic-unsignedLong-totalDigits-5-1 tokoe:invalid" result="pass"/><test-case name="7531NISTXML-SV-II-atomic-unsignedLong-totalDigits-5-2 tokoe:invalid" result="pass"/><test-case name="7532NISTXML-SV-II-atomic-unsignedLong-totalDigits-5-3 tokoe:invalid" result="pass"/><test-case name="7533NISTXML-SV-II-atomic-unsignedLong-totalDigits-5-4 tokoe:invalid" result="pass"/><test-case name="7534NISTXML-SV-II-atomic-unsignedLong-totalDigits-5-5 tokoe:invalid" result="pass"/><test-case name="7535NISTSchema-SV-II-atomic-unsignedInt-minInclusive-2 tokoe:valid" result="pass"/><test-case name="7536NISTXML-SV-II-atomic-unsignedInt-minInclusive-2-1 tokoe:invalid" result="pass"/><test-case name="7537NISTXML-SV-II-atomic-unsignedInt-minInclusive-2-2 tokoe:invalid" result="pass"/><test-case name="7538NISTXML-SV-II-atomic-unsignedInt-minInclusive-2-3 tokoe:invalid" result="pass"/><test-case name="7539NISTXML-SV-II-atomic-unsignedInt-minInclusive-2-4 tokoe:invalid" result="pass"/><test-case name="7540NISTXML-SV-II-atomic-unsignedInt-minInclusive-2-5 tokoe:invalid" result="pass"/><test-case name="7541NISTSchema-SV-II-atomic-unsignedInt-minInclusive-3 tokoe:valid" result="pass"/><test-case name="7542NISTXML-SV-II-atomic-unsignedInt-minInclusive-3-1 tokoe:invalid" result="pass"/><test-case name="7543NISTXML-SV-II-atomic-unsignedInt-minInclusive-3-2 tokoe:invalid" result="pass"/><test-case name="7544NISTXML-SV-II-atomic-unsignedInt-minInclusive-3-3 tokoe:invalid" result="pass"/><test-case name="7545NISTXML-SV-II-atomic-unsignedInt-minInclusive-3-4 tokoe:invalid" result="pass"/><test-case name="7546NISTXML-SV-II-atomic-unsignedInt-minInclusive-3-5 tokoe:invalid" result="pass"/><test-case name="7547NISTSchema-SV-II-atomic-unsignedInt-minInclusive-4 tokoe:valid" result="pass"/><test-case name="7548NISTXML-SV-II-atomic-unsignedInt-minInclusive-4-1 tokoe:invalid" result="pass"/><test-case name="7549NISTXML-SV-II-atomic-unsignedInt-minInclusive-4-2 tokoe:invalid" result="pass"/><test-case name="7550NISTXML-SV-II-atomic-unsignedInt-minInclusive-4-3 tokoe:invalid" result="pass"/><test-case name="7551NISTXML-SV-II-atomic-unsignedInt-minInclusive-4-4 tokoe:invalid" result="pass"/><test-case name="7552NISTXML-SV-II-atomic-unsignedInt-minInclusive-4-5 tokoe:invalid" result="pass"/><test-case name="7553NISTSchema-SV-II-atomic-unsignedInt-minInclusive-5 tokoe:valid" result="pass"/><test-case name="7554NISTXML-SV-II-atomic-unsignedInt-minInclusive-5-1 tokoe:invalid" result="pass"/><test-case name="7555NISTXML-SV-II-atomic-unsignedInt-minInclusive-5-2 tokoe:invalid" result="pass"/><test-case name="7556NISTXML-SV-II-atomic-unsignedInt-minInclusive-5-3 tokoe:invalid" result="pass"/><test-case name="7557NISTXML-SV-II-atomic-unsignedInt-minInclusive-5-4 tokoe:invalid" result="pass"/><test-case name="7558NISTXML-SV-II-atomic-unsignedInt-minInclusive-5-5 tokoe:invalid" result="pass"/><test-case name="7559NISTSchema-SV-II-atomic-unsignedInt-minInclusive-6 tokoe:valid" result="pass"/><test-case name="7560NISTXML-SV-II-atomic-unsignedInt-minInclusive-6-1 tokoe:invalid" result="pass"/><test-case name="7561NISTXML-SV-II-atomic-unsignedInt-minInclusive-6-2 tokoe:invalid" result="pass"/><test-case name="7562NISTXML-SV-II-atomic-unsignedInt-minInclusive-6-3 tokoe:invalid" result="pass"/><test-case name="7563NISTXML-SV-II-atomic-unsignedInt-minInclusive-6-4 tokoe:invalid" result="pass"/><test-case name="7564NISTXML-SV-II-atomic-unsignedInt-minInclusive-6-5 tokoe:invalid" result="pass"/><test-case name="7565NISTSchema-SV-II-atomic-unsignedInt-maxInclusive-1 tokoe:valid" result="pass"/><test-case name="7566NISTXML-SV-II-atomic-unsignedInt-maxInclusive-1-1 tokoe:invalid" result="pass"/><test-case name="7567NISTXML-SV-II-atomic-unsignedInt-maxInclusive-1-2 tokoe:invalid" result="pass"/><test-case name="7568NISTXML-SV-II-atomic-unsignedInt-maxInclusive-1-3 tokoe:invalid" result="pass"/><test-case name="7569NISTXML-SV-II-atomic-unsignedInt-maxInclusive-1-4 tokoe:invalid" result="pass"/><test-case name="7570NISTXML-SV-II-atomic-unsignedInt-maxInclusive-1-5 tokoe:invalid" result="pass"/><test-case name="7571NISTSchema-SV-II-atomic-unsignedInt-maxInclusive-2 tokoe:valid" result="pass"/><test-case name="7572NISTXML-SV-II-atomic-unsignedInt-maxInclusive-2-1 tokoe:invalid" result="pass"/><test-case name="7573NISTXML-SV-II-atomic-unsignedInt-maxInclusive-2-2 tokoe:invalid" result="pass"/><test-case name="7574NISTXML-SV-II-atomic-unsignedInt-maxInclusive-2-3 tokoe:invalid" result="pass"/><test-case name="7575NISTXML-SV-II-atomic-unsignedInt-maxInclusive-2-4 tokoe:invalid" result="pass"/><test-case name="7576NISTXML-SV-II-atomic-unsignedInt-maxInclusive-2-5 tokoe:invalid" result="pass"/><test-case name="7577NISTSchema-SV-II-atomic-unsignedInt-maxInclusive-3 tokoe:valid" result="pass"/><test-case name="7578NISTXML-SV-II-atomic-unsignedInt-maxInclusive-3-1 tokoe:invalid" result="pass"/><test-case name="7579NISTXML-SV-II-atomic-unsignedInt-maxInclusive-3-2 tokoe:invalid" result="pass"/><test-case name="7580NISTXML-SV-II-atomic-unsignedInt-maxInclusive-3-3 tokoe:invalid" result="pass"/><test-case name="7581NISTXML-SV-II-atomic-unsignedInt-maxInclusive-3-4 tokoe:invalid" result="pass"/><test-case name="7582NISTXML-SV-II-atomic-unsignedInt-maxInclusive-3-5 tokoe:invalid" result="pass"/><test-case name="7583NISTSchema-SV-II-atomic-unsignedInt-maxInclusive-4 tokoe:valid" result="pass"/><test-case name="7584NISTXML-SV-II-atomic-unsignedInt-maxInclusive-4-1 tokoe:invalid" result="pass"/><test-case name="7585NISTXML-SV-II-atomic-unsignedInt-maxInclusive-4-2 tokoe:invalid" result="pass"/><test-case name="7586NISTXML-SV-II-atomic-unsignedInt-maxInclusive-4-3 tokoe:invalid" result="pass"/><test-case name="7587NISTXML-SV-II-atomic-unsignedInt-maxInclusive-4-4 tokoe:invalid" result="pass"/><test-case name="7588NISTXML-SV-II-atomic-unsignedInt-maxInclusive-4-5 tokoe:invalid" result="pass"/><test-case name="7589NISTSchema-SV-II-atomic-unsignedInt-maxInclusive-5 tokoe:valid" result="pass"/><test-case name="7590NISTXML-SV-II-atomic-unsignedInt-maxInclusive-5-1 tokoe:invalid" result="pass"/><test-case name="7591NISTXML-SV-II-atomic-unsignedInt-maxInclusive-5-2 tokoe:invalid" result="pass"/><test-case name="7592NISTXML-SV-II-atomic-unsignedInt-maxInclusive-5-3 tokoe:invalid" result="pass"/><test-case name="7593NISTXML-SV-II-atomic-unsignedInt-maxInclusive-5-4 tokoe:invalid" result="pass"/><test-case name="7594NISTXML-SV-II-atomic-unsignedInt-maxInclusive-5-5 tokoe:invalid" result="pass"/><test-case name="7595NISTSchema-SV-II-atomic-unsignedInt-totalDigits-1 tokoe:valid" result="pass"/><test-case name="7596NISTXML-SV-II-atomic-unsignedInt-totalDigits-1-1 tokoe:invalid" result="pass"/><test-case name="7597NISTXML-SV-II-atomic-unsignedInt-totalDigits-1-2 tokoe:invalid" result="pass"/><test-case name="7598NISTXML-SV-II-atomic-unsignedInt-totalDigits-1-3 tokoe:invalid" result="pass"/><test-case name="7599NISTXML-SV-II-atomic-unsignedInt-totalDigits-1-4 tokoe:invalid" result="pass"/><test-case name="7600NISTXML-SV-II-atomic-unsignedInt-totalDigits-1-5 tokoe:invalid" result="pass"/><test-case name="7601NISTSchema-SV-II-atomic-unsignedInt-totalDigits-2 tokoe:valid" result="pass"/><test-case name="7602NISTXML-SV-II-atomic-unsignedInt-totalDigits-2-1 tokoe:invalid" result="pass"/><test-case name="7603NISTXML-SV-II-atomic-unsignedInt-totalDigits-2-2 tokoe:invalid" result="pass"/><test-case name="7604NISTXML-SV-II-atomic-unsignedInt-totalDigits-2-3 tokoe:invalid" result="pass"/><test-case name="7605NISTXML-SV-II-atomic-unsignedInt-totalDigits-2-4 tokoe:invalid" result="pass"/><test-case name="7606NISTXML-SV-II-atomic-unsignedInt-totalDigits-2-5 tokoe:invalid" result="pass"/><test-case name="7607NISTSchema-SV-II-atomic-unsignedInt-totalDigits-3 tokoe:valid" result="pass"/><test-case name="7608NISTXML-SV-II-atomic-unsignedInt-totalDigits-3-1 tokoe:invalid" result="pass"/><test-case name="7609NISTXML-SV-II-atomic-unsignedInt-totalDigits-3-2 tokoe:invalid" result="pass"/><test-case name="7610NISTXML-SV-II-atomic-unsignedInt-totalDigits-3-3 tokoe:invalid" result="pass"/><test-case name="7611NISTXML-SV-II-atomic-unsignedInt-totalDigits-3-4 tokoe:invalid" result="pass"/><test-case name="7612NISTXML-SV-II-atomic-unsignedInt-totalDigits-3-5 tokoe:invalid" result="pass"/><test-case name="7613NISTSchema-SV-II-atomic-unsignedInt-totalDigits-4 tokoe:valid" result="pass"/><test-case name="7614NISTXML-SV-II-atomic-unsignedInt-totalDigits-4-1 tokoe:invalid" result="pass"/><test-case name="7615NISTXML-SV-II-atomic-unsignedInt-totalDigits-4-2 tokoe:invalid" result="pass"/><test-case name="7616NISTXML-SV-II-atomic-unsignedInt-totalDigits-4-3 tokoe:invalid" result="pass"/><test-case name="7617NISTXML-SV-II-atomic-unsignedInt-totalDigits-4-4 tokoe:invalid" result="pass"/><test-case name="7618NISTXML-SV-II-atomic-unsignedInt-totalDigits-4-5 tokoe:invalid" result="pass"/><test-case name="7619NISTSchema-SV-II-atomic-unsignedInt-totalDigits-5 tokoe:valid" result="pass"/><test-case name="7620NISTXML-SV-II-atomic-unsignedInt-totalDigits-5-1 tokoe:invalid" result="pass"/><test-case name="7621NISTXML-SV-II-atomic-unsignedInt-totalDigits-5-2 tokoe:invalid" result="pass"/><test-case name="7622NISTXML-SV-II-atomic-unsignedInt-totalDigits-5-3 tokoe:invalid" result="pass"/><test-case name="7623NISTXML-SV-II-atomic-unsignedInt-totalDigits-5-4 tokoe:invalid" result="pass"/><test-case name="7624NISTXML-SV-II-atomic-unsignedInt-totalDigits-5-5 tokoe:invalid" result="pass"/><test-case name="7625NISTSchema-SV-II-atomic-unsignedShort-minInclusive-2 tokoe:valid" result="pass"/><test-case name="7626NISTXML-SV-II-atomic-unsignedShort-minInclusive-2-1 tokoe:invalid" result="pass"/><test-case name="7627NISTXML-SV-II-atomic-unsignedShort-minInclusive-2-2 tokoe:invalid" result="pass"/><test-case name="7628NISTXML-SV-II-atomic-unsignedShort-minInclusive-2-3 tokoe:invalid" result="pass"/><test-case name="7629NISTXML-SV-II-atomic-unsignedShort-minInclusive-2-4 tokoe:invalid" result="pass"/><test-case name="7630NISTXML-SV-II-atomic-unsignedShort-minInclusive-2-5 tokoe:invalid" result="pass"/><test-case name="7631NISTSchema-SV-II-atomic-unsignedShort-minInclusive-3 tokoe:valid" result="pass"/><test-case name="7632NISTXML-SV-II-atomic-unsignedShort-minInclusive-3-1 tokoe:invalid" result="pass"/><test-case name="7633NISTXML-SV-II-atomic-unsignedShort-minInclusive-3-2 tokoe:invalid" result="pass"/><test-case name="7634NISTXML-SV-II-atomic-unsignedShort-minInclusive-3-3 tokoe:invalid" result="pass"/><test-case name="7635NISTXML-SV-II-atomic-unsignedShort-minInclusive-3-4 tokoe:invalid" result="pass"/><test-case name="7636NISTXML-SV-II-atomic-unsignedShort-minInclusive-3-5 tokoe:invalid" result="pass"/><test-case name="7637NISTSchema-SV-II-atomic-unsignedShort-minInclusive-4 tokoe:valid" result="pass"/><test-case name="7638NISTXML-SV-II-atomic-unsignedShort-minInclusive-4-1 tokoe:invalid" result="pass"/><test-case name="7639NISTXML-SV-II-atomic-unsignedShort-minInclusive-4-2 tokoe:invalid" result="pass"/><test-case name="7640NISTXML-SV-II-atomic-unsignedShort-minInclusive-4-3 tokoe:invalid" result="pass"/><test-case name="7641NISTXML-SV-II-atomic-unsignedShort-minInclusive-4-4 tokoe:invalid" result="pass"/><test-case name="7642NISTXML-SV-II-atomic-unsignedShort-minInclusive-4-5 tokoe:invalid" result="pass"/><test-case name="7643NISTSchema-SV-II-atomic-unsignedShort-minInclusive-5 tokoe:valid" result="pass"/><test-case name="7644NISTXML-SV-II-atomic-unsignedShort-minInclusive-5-1 tokoe:invalid" result="pass"/><test-case name="7645NISTXML-SV-II-atomic-unsignedShort-minInclusive-5-2 tokoe:invalid" result="pass"/><test-case name="7646NISTXML-SV-II-atomic-unsignedShort-minInclusive-5-3 tokoe:invalid" result="pass"/><test-case name="7647NISTXML-SV-II-atomic-unsignedShort-minInclusive-5-4 tokoe:invalid" result="pass"/><test-case name="7648NISTXML-SV-II-atomic-unsignedShort-minInclusive-5-5 tokoe:invalid" result="pass"/><test-case name="7649NISTSchema-SV-II-atomic-unsignedShort-minInclusive-6 tokoe:valid" result="pass"/><test-case name="7650NISTXML-SV-II-atomic-unsignedShort-minInclusive-6-1 tokoe:invalid" result="pass"/><test-case name="7651NISTXML-SV-II-atomic-unsignedShort-minInclusive-6-2 tokoe:invalid" result="pass"/><test-case name="7652NISTXML-SV-II-atomic-unsignedShort-minInclusive-6-3 tokoe:invalid" result="pass"/><test-case name="7653NISTXML-SV-II-atomic-unsignedShort-minInclusive-6-4 tokoe:invalid" result="pass"/><test-case name="7654NISTXML-SV-II-atomic-unsignedShort-minInclusive-6-5 tokoe:invalid" result="pass"/><test-case name="7655NISTSchema-SV-II-atomic-unsignedShort-maxInclusive-1 tokoe:valid" result="pass"/><test-case name="7656NISTXML-SV-II-atomic-unsignedShort-maxInclusive-1-1 tokoe:invalid" result="pass"/><test-case name="7657NISTXML-SV-II-atomic-unsignedShort-maxInclusive-1-2 tokoe:invalid" result="pass"/><test-case name="7658NISTXML-SV-II-atomic-unsignedShort-maxInclusive-1-3 tokoe:invalid" result="pass"/><test-case name="7659NISTXML-SV-II-atomic-unsignedShort-maxInclusive-1-4 tokoe:invalid" result="pass"/><test-case name="7660NISTXML-SV-II-atomic-unsignedShort-maxInclusive-1-5 tokoe:invalid" result="pass"/><test-case name="7661NISTSchema-SV-II-atomic-unsignedShort-maxInclusive-2 tokoe:valid" result="pass"/><test-case name="7662NISTXML-SV-II-atomic-unsignedShort-maxInclusive-2-1 tokoe:invalid" result="pass"/><test-case name="7663NISTXML-SV-II-atomic-unsignedShort-maxInclusive-2-2 tokoe:invalid" result="pass"/><test-case name="7664NISTXML-SV-II-atomic-unsignedShort-maxInclusive-2-3 tokoe:invalid" result="pass"/><test-case name="7665NISTXML-SV-II-atomic-unsignedShort-maxInclusive-2-4 tokoe:invalid" result="pass"/><test-case name="7666NISTXML-SV-II-atomic-unsignedShort-maxInclusive-2-5 tokoe:invalid" result="pass"/><test-case name="7667NISTSchema-SV-II-atomic-unsignedShort-maxInclusive-3 tokoe:valid" result="pass"/><test-case name="7668NISTXML-SV-II-atomic-unsignedShort-maxInclusive-3-1 tokoe:invalid" result="pass"/><test-case name="7669NISTXML-SV-II-atomic-unsignedShort-maxInclusive-3-2 tokoe:invalid" result="pass"/><test-case name="7670NISTXML-SV-II-atomic-unsignedShort-maxInclusive-3-3 tokoe:invalid" result="pass"/><test-case name="7671NISTXML-SV-II-atomic-unsignedShort-maxInclusive-3-4 tokoe:invalid" result="pass"/><test-case name="7672NISTXML-SV-II-atomic-unsignedShort-maxInclusive-3-5 tokoe:invalid" result="pass"/><test-case name="7673NISTSchema-SV-II-atomic-unsignedShort-maxInclusive-4 tokoe:valid" result="pass"/><test-case name="7674NISTXML-SV-II-atomic-unsignedShort-maxInclusive-4-1 tokoe:invalid" result="pass"/><test-case name="7675NISTXML-SV-II-atomic-unsignedShort-maxInclusive-4-2 tokoe:invalid" result="pass"/><test-case name="7676NISTXML-SV-II-atomic-unsignedShort-maxInclusive-4-3 tokoe:invalid" result="pass"/><test-case name="7677NISTXML-SV-II-atomic-unsignedShort-maxInclusive-4-4 tokoe:invalid" result="pass"/><test-case name="7678NISTXML-SV-II-atomic-unsignedShort-maxInclusive-4-5 tokoe:invalid" result="pass"/><test-case name="7679NISTSchema-SV-II-atomic-unsignedShort-maxInclusive-5 tokoe:valid" result="pass"/><test-case name="7680NISTXML-SV-II-atomic-unsignedShort-maxInclusive-5-1 tokoe:invalid" result="pass"/><test-case name="7681NISTXML-SV-II-atomic-unsignedShort-maxInclusive-5-2 tokoe:invalid" result="pass"/><test-case name="7682NISTXML-SV-II-atomic-unsignedShort-maxInclusive-5-3 tokoe:invalid" result="pass"/><test-case name="7683NISTXML-SV-II-atomic-unsignedShort-maxInclusive-5-4 tokoe:invalid" result="pass"/><test-case name="7684NISTXML-SV-II-atomic-unsignedShort-maxInclusive-5-5 tokoe:invalid" result="pass"/><test-case name="7685NISTSchema-SV-II-atomic-unsignedShort-totalDigits-1 tokoe:valid" result="pass"/><test-case name="7686NISTXML-SV-II-atomic-unsignedShort-totalDigits-1-1 tokoe:invalid" result="pass"/><test-case name="7687NISTXML-SV-II-atomic-unsignedShort-totalDigits-1-2 tokoe:invalid" result="pass"/><test-case name="7688NISTXML-SV-II-atomic-unsignedShort-totalDigits-1-3 tokoe:invalid" result="pass"/><test-case name="7689NISTXML-SV-II-atomic-unsignedShort-totalDigits-1-4 tokoe:invalid" result="pass"/><test-case name="7690NISTXML-SV-II-atomic-unsignedShort-totalDigits-1-5 tokoe:invalid" result="pass"/><test-case name="7691NISTSchema-SV-II-atomic-unsignedShort-totalDigits-2 tokoe:valid" result="pass"/><test-case name="7692NISTXML-SV-II-atomic-unsignedShort-totalDigits-2-1 tokoe:invalid" result="pass"/><test-case name="7693NISTXML-SV-II-atomic-unsignedShort-totalDigits-2-2 tokoe:invalid" result="pass"/><test-case name="7694NISTXML-SV-II-atomic-unsignedShort-totalDigits-2-3 tokoe:invalid" result="pass"/><test-case name="7695NISTXML-SV-II-atomic-unsignedShort-totalDigits-2-4 tokoe:invalid" result="pass"/><test-case name="7696NISTXML-SV-II-atomic-unsignedShort-totalDigits-2-5 tokoe:invalid" result="pass"/><test-case name="7697NISTSchema-SV-II-atomic-unsignedShort-totalDigits-3 tokoe:valid" result="pass"/><test-case name="7698NISTXML-SV-II-atomic-unsignedShort-totalDigits-3-1 tokoe:invalid" result="pass"/><test-case name="7699NISTXML-SV-II-atomic-unsignedShort-totalDigits-3-2 tokoe:invalid" result="pass"/><test-case name="7700NISTXML-SV-II-atomic-unsignedShort-totalDigits-3-3 tokoe:invalid" result="pass"/><test-case name="7701NISTXML-SV-II-atomic-unsignedShort-totalDigits-3-4 tokoe:invalid" result="pass"/><test-case name="7702NISTXML-SV-II-atomic-unsignedShort-totalDigits-3-5 tokoe:invalid" result="pass"/><test-case name="7703NISTSchema-SV-II-atomic-unsignedShort-totalDigits-4 tokoe:valid" result="pass"/><test-case name="7704NISTXML-SV-II-atomic-unsignedShort-totalDigits-4-1 tokoe:invalid" result="pass"/><test-case name="7705NISTXML-SV-II-atomic-unsignedShort-totalDigits-4-2 tokoe:invalid" result="pass"/><test-case name="7706NISTXML-SV-II-atomic-unsignedShort-totalDigits-4-3 tokoe:invalid" result="pass"/><test-case name="7707NISTXML-SV-II-atomic-unsignedShort-totalDigits-4-4 tokoe:invalid" result="pass"/><test-case name="7708NISTXML-SV-II-atomic-unsignedShort-totalDigits-4-5 tokoe:invalid" result="pass"/><test-case name="7709NISTSchema-SV-II-atomic-unsignedByte-minInclusive-2 tokoe:valid" result="pass"/><test-case name="7710NISTXML-SV-II-atomic-unsignedByte-minInclusive-2-1 tokoe:invalid" result="pass"/><test-case name="7711NISTXML-SV-II-atomic-unsignedByte-minInclusive-2-2 tokoe:invalid" result="pass"/><test-case name="7712NISTXML-SV-II-atomic-unsignedByte-minInclusive-2-3 tokoe:invalid" result="pass"/><test-case name="7713NISTXML-SV-II-atomic-unsignedByte-minInclusive-2-4 tokoe:invalid" result="pass"/><test-case name="7714NISTXML-SV-II-atomic-unsignedByte-minInclusive-2-5 tokoe:invalid" result="pass"/><test-case name="7715NISTSchema-SV-II-atomic-unsignedByte-minInclusive-3 tokoe:valid" result="pass"/><test-case name="7716NISTXML-SV-II-atomic-unsignedByte-minInclusive-3-1 tokoe:invalid" result="pass"/><test-case name="7717NISTXML-SV-II-atomic-unsignedByte-minInclusive-3-2 tokoe:invalid" result="pass"/><test-case name="7718NISTXML-SV-II-atomic-unsignedByte-minInclusive-3-3 tokoe:invalid" result="pass"/><test-case name="7719NISTXML-SV-II-atomic-unsignedByte-minInclusive-3-4 tokoe:invalid" result="pass"/><test-case name="7720NISTXML-SV-II-atomic-unsignedByte-minInclusive-3-5 tokoe:invalid" result="pass"/><test-case name="7721NISTSchema-SV-II-atomic-unsignedByte-minInclusive-4 tokoe:valid" result="pass"/><test-case name="7722NISTXML-SV-II-atomic-unsignedByte-minInclusive-4-1 tokoe:invalid" result="pass"/><test-case name="7723NISTXML-SV-II-atomic-unsignedByte-minInclusive-4-2 tokoe:invalid" result="pass"/><test-case name="7724NISTXML-SV-II-atomic-unsignedByte-minInclusive-4-3 tokoe:invalid" result="pass"/><test-case name="7725NISTXML-SV-II-atomic-unsignedByte-minInclusive-4-4 tokoe:invalid" result="pass"/><test-case name="7726NISTXML-SV-II-atomic-unsignedByte-minInclusive-4-5 tokoe:invalid" result="pass"/><test-case name="7727NISTSchema-SV-II-atomic-unsignedByte-minInclusive-5 tokoe:valid" result="pass"/><test-case name="7728NISTXML-SV-II-atomic-unsignedByte-minInclusive-5-1 tokoe:invalid" result="pass"/><test-case name="7729NISTXML-SV-II-atomic-unsignedByte-minInclusive-5-2 tokoe:invalid" result="pass"/><test-case name="7730NISTXML-SV-II-atomic-unsignedByte-minInclusive-5-3 tokoe:invalid" result="pass"/><test-case name="7731NISTXML-SV-II-atomic-unsignedByte-minInclusive-5-4 tokoe:invalid" result="pass"/><test-case name="7732NISTXML-SV-II-atomic-unsignedByte-minInclusive-5-5 tokoe:invalid" result="pass"/><test-case name="7733NISTSchema-SV-II-atomic-unsignedByte-minInclusive-6 tokoe:valid" result="pass"/><test-case name="7734NISTXML-SV-II-atomic-unsignedByte-minInclusive-6-1 tokoe:invalid" result="pass"/><test-case name="7735NISTXML-SV-II-atomic-unsignedByte-minInclusive-6-2 tokoe:invalid" result="pass"/><test-case name="7736NISTXML-SV-II-atomic-unsignedByte-minInclusive-6-3 tokoe:invalid" result="pass"/><test-case name="7737NISTXML-SV-II-atomic-unsignedByte-minInclusive-6-4 tokoe:invalid" result="pass"/><test-case name="7738NISTXML-SV-II-atomic-unsignedByte-minInclusive-6-5 tokoe:invalid" result="pass"/><test-case name="7739NISTSchema-SV-II-atomic-unsignedByte-maxInclusive-1 tokoe:valid" result="pass"/><test-case name="7740NISTXML-SV-II-atomic-unsignedByte-maxInclusive-1-1 tokoe:invalid" result="pass"/><test-case name="7741NISTXML-SV-II-atomic-unsignedByte-maxInclusive-1-2 tokoe:invalid" result="pass"/><test-case name="7742NISTXML-SV-II-atomic-unsignedByte-maxInclusive-1-3 tokoe:invalid" result="pass"/><test-case name="7743NISTXML-SV-II-atomic-unsignedByte-maxInclusive-1-4 tokoe:invalid" result="pass"/><test-case name="7744NISTXML-SV-II-atomic-unsignedByte-maxInclusive-1-5 tokoe:invalid" result="pass"/><test-case name="7745NISTSchema-SV-II-atomic-unsignedByte-maxInclusive-2 tokoe:valid" result="pass"/><test-case name="7746NISTXML-SV-II-atomic-unsignedByte-maxInclusive-2-1 tokoe:invalid" result="pass"/><test-case name="7747NISTXML-SV-II-atomic-unsignedByte-maxInclusive-2-2 tokoe:invalid" result="pass"/><test-case name="7748NISTXML-SV-II-atomic-unsignedByte-maxInclusive-2-3 tokoe:invalid" result="pass"/><test-case name="7749NISTXML-SV-II-atomic-unsignedByte-maxInclusive-2-4 tokoe:invalid" result="pass"/><test-case name="7750NISTXML-SV-II-atomic-unsignedByte-maxInclusive-2-5 tokoe:invalid" result="pass"/><test-case name="7751NISTSchema-SV-II-atomic-unsignedByte-maxInclusive-3 tokoe:valid" result="pass"/><test-case name="7752NISTXML-SV-II-atomic-unsignedByte-maxInclusive-3-1 tokoe:invalid" result="pass"/><test-case name="7753NISTXML-SV-II-atomic-unsignedByte-maxInclusive-3-2 tokoe:invalid" result="pass"/><test-case name="7754NISTXML-SV-II-atomic-unsignedByte-maxInclusive-3-3 tokoe:invalid" result="pass"/><test-case name="7755NISTXML-SV-II-atomic-unsignedByte-maxInclusive-3-4 tokoe:invalid" result="pass"/><test-case name="7756NISTXML-SV-II-atomic-unsignedByte-maxInclusive-3-5 tokoe:invalid" result="pass"/><test-case name="7757NISTSchema-SV-II-atomic-unsignedByte-maxInclusive-4 tokoe:valid" result="pass"/><test-case name="7758NISTXML-SV-II-atomic-unsignedByte-maxInclusive-4-1 tokoe:invalid" result="pass"/><test-case name="7759NISTXML-SV-II-atomic-unsignedByte-maxInclusive-4-2 tokoe:invalid" result="pass"/><test-case name="7760NISTXML-SV-II-atomic-unsignedByte-maxInclusive-4-3 tokoe:invalid" result="pass"/><test-case name="7761NISTXML-SV-II-atomic-unsignedByte-maxInclusive-4-4 tokoe:invalid" result="pass"/><test-case name="7762NISTXML-SV-II-atomic-unsignedByte-maxInclusive-4-5 tokoe:invalid" result="pass"/><test-case name="7763NISTSchema-SV-II-atomic-unsignedByte-maxInclusive-5 tokoe:valid" result="pass"/><test-case name="7764NISTXML-SV-II-atomic-unsignedByte-maxInclusive-5-1 tokoe:invalid" result="pass"/><test-case name="7765NISTXML-SV-II-atomic-unsignedByte-maxInclusive-5-2 tokoe:invalid" result="pass"/><test-case name="7766NISTXML-SV-II-atomic-unsignedByte-maxInclusive-5-3 tokoe:invalid" result="pass"/><test-case name="7767NISTXML-SV-II-atomic-unsignedByte-maxInclusive-5-4 tokoe:invalid" result="pass"/><test-case name="7768NISTXML-SV-II-atomic-unsignedByte-maxInclusive-5-5 tokoe:invalid" result="pass"/><test-case name="7769NISTSchema-SV-II-atomic-unsignedByte-totalDigits-1 tokoe:valid" result="pass"/><test-case name="7770NISTXML-SV-II-atomic-unsignedByte-totalDigits-1-1 tokoe:invalid" result="pass"/><test-case name="7771NISTXML-SV-II-atomic-unsignedByte-totalDigits-1-2 tokoe:invalid" result="pass"/><test-case name="7772NISTXML-SV-II-atomic-unsignedByte-totalDigits-1-3 tokoe:invalid" result="pass"/><test-case name="7773NISTXML-SV-II-atomic-unsignedByte-totalDigits-1-4 tokoe:invalid" result="pass"/><test-case name="7774NISTXML-SV-II-atomic-unsignedByte-totalDigits-1-5 tokoe:invalid" result="pass"/><test-case name="7775NISTSchema-SV-II-atomic-unsignedByte-totalDigits-2 tokoe:valid" result="pass"/><test-case name="7776NISTXML-SV-II-atomic-unsignedByte-totalDigits-2-1 tokoe:invalid" result="pass"/><test-case name="7777NISTXML-SV-II-atomic-unsignedByte-totalDigits-2-2 tokoe:invalid" result="pass"/><test-case name="7778NISTXML-SV-II-atomic-unsignedByte-totalDigits-2-3 tokoe:invalid" result="pass"/><test-case name="7779NISTXML-SV-II-atomic-unsignedByte-totalDigits-2-4 tokoe:invalid" result="pass"/><test-case name="7780NISTXML-SV-II-atomic-unsignedByte-totalDigits-2-5 tokoe:invalid" result="pass"/><test-case name="7781NISTSchema-SV-II-atomic-positiveInteger-minInclusive-2 tokoe:valid" result="pass"/><test-case name="7782NISTXML-SV-II-atomic-positiveInteger-minInclusive-2-1 tokoe:invalid" result="pass"/><test-case name="7783NISTXML-SV-II-atomic-positiveInteger-minInclusive-2-2 tokoe:invalid" result="pass"/><test-case name="7784NISTXML-SV-II-atomic-positiveInteger-minInclusive-2-3 tokoe:invalid" result="pass"/><test-case name="7785NISTXML-SV-II-atomic-positiveInteger-minInclusive-2-4 tokoe:invalid" result="pass"/><test-case name="7786NISTXML-SV-II-atomic-positiveInteger-minInclusive-2-5 tokoe:invalid" result="pass"/><test-case name="7787NISTSchema-SV-II-atomic-positiveInteger-minInclusive-3 tokoe:valid" result="pass"/><test-case name="7788NISTXML-SV-II-atomic-positiveInteger-minInclusive-3-1 tokoe:invalid" result="pass"/><test-case name="7789NISTXML-SV-II-atomic-positiveInteger-minInclusive-3-2 tokoe:invalid" result="pass"/><test-case name="7790NISTXML-SV-II-atomic-positiveInteger-minInclusive-3-3 tokoe:invalid" result="pass"/><test-case name="7791NISTXML-SV-II-atomic-positiveInteger-minInclusive-3-4 tokoe:invalid" result="pass"/><test-case name="7792NISTXML-SV-II-atomic-positiveInteger-minInclusive-3-5 tokoe:invalid" result="pass"/><test-case name="7793NISTSchema-SV-II-atomic-positiveInteger-minInclusive-4 tokoe:valid" result="pass"/><test-case name="7794NISTXML-SV-II-atomic-positiveInteger-minInclusive-4-1 tokoe:invalid" result="pass"/><test-case name="7795NISTXML-SV-II-atomic-positiveInteger-minInclusive-4-2 tokoe:invalid" result="pass"/><test-case name="7796NISTXML-SV-II-atomic-positiveInteger-minInclusive-4-3 tokoe:invalid" result="pass"/><test-case name="7797NISTXML-SV-II-atomic-positiveInteger-minInclusive-4-4 tokoe:invalid" result="pass"/><test-case name="7798NISTXML-SV-II-atomic-positiveInteger-minInclusive-4-5 tokoe:invalid" result="pass"/><test-case name="7799NISTSchema-SV-II-atomic-positiveInteger-minInclusive-5 tokoe:valid" result="pass"/><test-case name="7800NISTXML-SV-II-atomic-positiveInteger-minInclusive-5-1 tokoe:invalid" result="pass"/><test-case name="7801NISTXML-SV-II-atomic-positiveInteger-minInclusive-5-2 tokoe:invalid" result="pass"/><test-case name="7802NISTXML-SV-II-atomic-positiveInteger-minInclusive-5-3 tokoe:invalid" result="pass"/><test-case name="7803NISTXML-SV-II-atomic-positiveInteger-minInclusive-5-4 tokoe:invalid" result="pass"/><test-case name="7804NISTXML-SV-II-atomic-positiveInteger-minInclusive-5-5 tokoe:invalid" result="pass"/><test-case name="7805NISTSchema-SV-II-atomic-positiveInteger-minInclusive-6 tokoe:valid" result="pass"/><test-case name="7806NISTXML-SV-II-atomic-positiveInteger-minInclusive-6-1 tokoe:invalid" result="pass"/><test-case name="7807NISTXML-SV-II-atomic-positiveInteger-minInclusive-6-2 tokoe:invalid" result="pass"/><test-case name="7808NISTXML-SV-II-atomic-positiveInteger-minInclusive-6-3 tokoe:invalid" result="pass"/><test-case name="7809NISTXML-SV-II-atomic-positiveInteger-minInclusive-6-4 tokoe:invalid" result="pass"/><test-case name="7810NISTXML-SV-II-atomic-positiveInteger-minInclusive-6-5 tokoe:invalid" result="pass"/><test-case name="7811NISTSchema-SV-II-atomic-positiveInteger-maxInclusive-1 tokoe:valid" result="pass"/><test-case name="7812NISTXML-SV-II-atomic-positiveInteger-maxInclusive-1-1 tokoe:invalid" result="pass"/><test-case name="7813NISTXML-SV-II-atomic-positiveInteger-maxInclusive-1-2 tokoe:invalid" result="pass"/><test-case name="7814NISTXML-SV-II-atomic-positiveInteger-maxInclusive-1-3 tokoe:invalid" result="pass"/><test-case name="7815NISTXML-SV-II-atomic-positiveInteger-maxInclusive-1-4 tokoe:invalid" result="pass"/><test-case name="7816NISTXML-SV-II-atomic-positiveInteger-maxInclusive-1-5 tokoe:invalid" result="pass"/><test-case name="7817NISTSchema-SV-II-atomic-positiveInteger-maxInclusive-2 tokoe:valid" result="pass"/><test-case name="7818NISTXML-SV-II-atomic-positiveInteger-maxInclusive-2-1 tokoe:invalid" result="pass"/><test-case name="7819NISTXML-SV-II-atomic-positiveInteger-maxInclusive-2-2 tokoe:invalid" result="pass"/><test-case name="7820NISTXML-SV-II-atomic-positiveInteger-maxInclusive-2-3 tokoe:invalid" result="pass"/><test-case name="7821NISTXML-SV-II-atomic-positiveInteger-maxInclusive-2-4 tokoe:invalid" result="pass"/><test-case name="7822NISTXML-SV-II-atomic-positiveInteger-maxInclusive-2-5 tokoe:invalid" result="pass"/><test-case name="7823NISTSchema-SV-II-atomic-positiveInteger-maxInclusive-3 tokoe:valid" result="pass"/><test-case name="7824NISTXML-SV-II-atomic-positiveInteger-maxInclusive-3-1 tokoe:invalid" result="pass"/><test-case name="7825NISTXML-SV-II-atomic-positiveInteger-maxInclusive-3-2 tokoe:invalid" result="pass"/><test-case name="7826NISTXML-SV-II-atomic-positiveInteger-maxInclusive-3-3 tokoe:invalid" result="pass"/><test-case name="7827NISTXML-SV-II-atomic-positiveInteger-maxInclusive-3-4 tokoe:invalid" result="pass"/><test-case name="7828NISTXML-SV-II-atomic-positiveInteger-maxInclusive-3-5 tokoe:invalid" result="pass"/><test-case name="7829NISTSchema-SV-II-atomic-positiveInteger-maxInclusive-4 tokoe:valid" result="pass"/><test-case name="7830NISTXML-SV-II-atomic-positiveInteger-maxInclusive-4-1 tokoe:invalid" result="pass"/><test-case name="7831NISTXML-SV-II-atomic-positiveInteger-maxInclusive-4-2 tokoe:invalid" result="pass"/><test-case name="7832NISTXML-SV-II-atomic-positiveInteger-maxInclusive-4-3 tokoe:invalid" result="pass"/><test-case name="7833NISTXML-SV-II-atomic-positiveInteger-maxInclusive-4-4 tokoe:invalid" result="pass"/><test-case name="7834NISTXML-SV-II-atomic-positiveInteger-maxInclusive-4-5 tokoe:invalid" result="pass"/><test-case name="7835NISTSchema-SV-II-atomic-positiveInteger-maxInclusive-5 tokoe:valid" result="pass"/><test-case name="7836NISTXML-SV-II-atomic-positiveInteger-maxInclusive-5-1 tokoe:invalid" result="pass"/><test-case name="7837NISTXML-SV-II-atomic-positiveInteger-maxInclusive-5-2 tokoe:invalid" result="pass"/><test-case name="7838NISTXML-SV-II-atomic-positiveInteger-maxInclusive-5-3 tokoe:invalid" result="pass"/><test-case name="7839NISTXML-SV-II-atomic-positiveInteger-maxInclusive-5-4 tokoe:invalid" result="pass"/><test-case name="7840NISTXML-SV-II-atomic-positiveInteger-maxInclusive-5-5 tokoe:invalid" result="pass"/><test-case name="7841NISTSchema-SV-II-atomic-positiveInteger-totalDigits-1 tokoe:valid" result="pass"/><test-case name="7842NISTXML-SV-II-atomic-positiveInteger-totalDigits-1-1 tokoe:invalid" result="pass"/><test-case name="7843NISTXML-SV-II-atomic-positiveInteger-totalDigits-1-2 tokoe:invalid" result="pass"/><test-case name="7844NISTXML-SV-II-atomic-positiveInteger-totalDigits-1-3 tokoe:invalid" result="pass"/><test-case name="7845NISTXML-SV-II-atomic-positiveInteger-totalDigits-1-4 tokoe:invalid" result="pass"/><test-case name="7846NISTXML-SV-II-atomic-positiveInteger-totalDigits-1-5 tokoe:invalid" result="pass"/><test-case name="7847NISTSchema-SV-II-atomic-positiveInteger-totalDigits-2 tokoe:valid" result="pass"/><test-case name="7848NISTXML-SV-II-atomic-positiveInteger-totalDigits-2-1 tokoe:invalid" result="pass"/><test-case name="7849NISTXML-SV-II-atomic-positiveInteger-totalDigits-2-2 tokoe:invalid" result="pass"/><test-case name="7850NISTXML-SV-II-atomic-positiveInteger-totalDigits-2-3 tokoe:invalid" result="pass"/><test-case name="7851NISTXML-SV-II-atomic-positiveInteger-totalDigits-2-4 tokoe:invalid" result="pass"/><test-case name="7852NISTXML-SV-II-atomic-positiveInteger-totalDigits-2-5 tokoe:invalid" result="pass"/><test-case name="7853NISTSchema-SV-II-atomic-positiveInteger-totalDigits-3 tokoe:valid" result="pass"/><test-case name="7854NISTXML-SV-II-atomic-positiveInteger-totalDigits-3-1 tokoe:invalid" result="pass"/><test-case name="7855NISTXML-SV-II-atomic-positiveInteger-totalDigits-3-2 tokoe:invalid" result="pass"/><test-case name="7856NISTXML-SV-II-atomic-positiveInteger-totalDigits-3-3 tokoe:invalid" result="pass"/><test-case name="7857NISTXML-SV-II-atomic-positiveInteger-totalDigits-3-4 tokoe:invalid" result="pass"/><test-case name="7858NISTXML-SV-II-atomic-positiveInteger-totalDigits-3-5 tokoe:invalid" result="pass"/><test-case name="7859NISTSchema-SV-II-atomic-positiveInteger-totalDigits-4 tokoe:valid" result="pass"/><test-case name="7860NISTXML-SV-II-atomic-positiveInteger-totalDigits-4-1 tokoe:invalid" result="pass"/><test-case name="7861NISTXML-SV-II-atomic-positiveInteger-totalDigits-4-2 tokoe:invalid" result="pass"/><test-case name="7862NISTXML-SV-II-atomic-positiveInteger-totalDigits-4-3 tokoe:invalid" result="pass"/><test-case name="7863NISTXML-SV-II-atomic-positiveInteger-totalDigits-4-4 tokoe:invalid" result="pass"/><test-case name="7864NISTXML-SV-II-atomic-positiveInteger-totalDigits-4-5 tokoe:invalid" result="pass"/><test-case name="7865NISTSchema-SV-II-atomic-positiveInteger-totalDigits-5 tokoe:valid" result="pass"/><test-case name="7866NISTXML-SV-II-atomic-positiveInteger-totalDigits-5-1 tokoe:invalid" result="pass"/><test-case name="7867NISTXML-SV-II-atomic-positiveInteger-totalDigits-5-2 tokoe:invalid" result="pass"/><test-case name="7868NISTXML-SV-II-atomic-positiveInteger-totalDigits-5-3 tokoe:invalid" result="pass"/><test-case name="7869NISTXML-SV-II-atomic-positiveInteger-totalDigits-5-4 tokoe:invalid" result="pass"/><test-case name="7870NISTXML-SV-II-atomic-positiveInteger-totalDigits-5-5 tokoe:invalid" result="pass"/><test-case name="7871NISTSchema-SV-II-atomic-duration-minInclusive-2 tokoe:valid" result="pass"/><test-case name="7872NISTXML-SV-II-atomic-duration-minInclusive-2-1 tokoe:invalid" result="pass"/><test-case name="7873NISTXML-SV-II-atomic-duration-minInclusive-2-2 tokoe:invalid" result="pass"/><test-case name="7874NISTXML-SV-II-atomic-duration-minInclusive-2-3 tokoe:invalid" result="pass"/><test-case name="7875NISTXML-SV-II-atomic-duration-minInclusive-2-4 tokoe:invalid" result="pass"/><test-case name="7876NISTXML-SV-II-atomic-duration-minInclusive-2-5 tokoe:invalid" result="pass"/><test-case name="7877NISTSchema-SV-II-atomic-duration-minInclusive-3 tokoe:valid" result="pass"/><test-case name="7878NISTXML-SV-II-atomic-duration-minInclusive-3-1 tokoe:invalid" result="pass"/><test-case name="7879NISTXML-SV-II-atomic-duration-minInclusive-3-2 tokoe:invalid" result="pass"/><test-case name="7880NISTXML-SV-II-atomic-duration-minInclusive-3-3 tokoe:invalid" result="pass"/><test-case name="7881NISTXML-SV-II-atomic-duration-minInclusive-3-4 tokoe:invalid" result="pass"/><test-case name="7882NISTXML-SV-II-atomic-duration-minInclusive-3-5 tokoe:invalid" result="pass"/><test-case name="7883NISTSchema-SV-II-atomic-duration-minInclusive-4 tokoe:valid" result="pass"/><test-case name="7884NISTXML-SV-II-atomic-duration-minInclusive-4-1 tokoe:invalid" result="pass"/><test-case name="7885NISTXML-SV-II-atomic-duration-minInclusive-4-2 tokoe:invalid" result="pass"/><test-case name="7886NISTXML-SV-II-atomic-duration-minInclusive-4-3 tokoe:invalid" result="pass"/><test-case name="7887NISTXML-SV-II-atomic-duration-minInclusive-4-4 tokoe:invalid" result="pass"/><test-case name="7888NISTXML-SV-II-atomic-duration-minInclusive-4-5 tokoe:invalid" result="pass"/><test-case name="7889NISTSchema-SV-II-atomic-duration-minInclusive-5 tokoe:valid" result="pass"/><test-case name="7890NISTXML-SV-II-atomic-duration-minInclusive-5-1 tokoe:invalid" result="pass"/><test-case name="7891NISTXML-SV-II-atomic-duration-minInclusive-5-2 tokoe:invalid" result="pass"/><test-case name="7892NISTXML-SV-II-atomic-duration-minInclusive-5-3 tokoe:invalid" result="pass"/><test-case name="7893NISTXML-SV-II-atomic-duration-minInclusive-5-4 tokoe:invalid" result="pass"/><test-case name="7894NISTXML-SV-II-atomic-duration-minInclusive-5-5 tokoe:invalid" result="pass"/><test-case name="7895NISTSchema-SV-II-atomic-duration-minInclusive-6 tokoe:valid" result="pass"/><test-case name="7896NISTXML-SV-II-atomic-duration-minInclusive-6-1 tokoe:invalid" result="pass"/><test-case name="7897NISTXML-SV-II-atomic-duration-minInclusive-6-2 tokoe:invalid" result="pass"/><test-case name="7898NISTXML-SV-II-atomic-duration-minInclusive-6-3 tokoe:invalid" result="pass"/><test-case name="7899NISTXML-SV-II-atomic-duration-minInclusive-6-4 tokoe:invalid" result="pass"/><test-case name="7900NISTXML-SV-II-atomic-duration-minInclusive-6-5 tokoe:invalid" result="pass"/><test-case name="7901NISTSchema-SV-II-atomic-duration-maxInclusive-1 tokoe:valid" result="pass"/><test-case name="7902NISTXML-SV-II-atomic-duration-maxInclusive-1-1 tokoe:invalid" result="pass"/><test-case name="7903NISTXML-SV-II-atomic-duration-maxInclusive-1-2 tokoe:invalid" result="pass"/><test-case name="7904NISTXML-SV-II-atomic-duration-maxInclusive-1-3 tokoe:invalid" result="pass"/><test-case name="7905NISTXML-SV-II-atomic-duration-maxInclusive-1-4 tokoe:invalid" result="pass"/><test-case name="7906NISTXML-SV-II-atomic-duration-maxInclusive-1-5 tokoe:invalid" result="pass"/><test-case name="7907NISTSchema-SV-II-atomic-duration-maxInclusive-2 tokoe:valid" result="pass"/><test-case name="7908NISTXML-SV-II-atomic-duration-maxInclusive-2-1 tokoe:invalid" result="pass"/><test-case name="7909NISTXML-SV-II-atomic-duration-maxInclusive-2-2 tokoe:invalid" result="pass"/><test-case name="7910NISTXML-SV-II-atomic-duration-maxInclusive-2-3 tokoe:invalid" result="pass"/><test-case name="7911NISTXML-SV-II-atomic-duration-maxInclusive-2-4 tokoe:invalid" result="pass"/><test-case name="7912NISTXML-SV-II-atomic-duration-maxInclusive-2-5 tokoe:invalid" result="pass"/><test-case name="7913NISTSchema-SV-II-atomic-duration-maxInclusive-3 tokoe:valid" result="pass"/><test-case name="7914NISTXML-SV-II-atomic-duration-maxInclusive-3-1 tokoe:invalid" result="pass"/><test-case name="7915NISTXML-SV-II-atomic-duration-maxInclusive-3-2 tokoe:invalid" result="pass"/><test-case name="7916NISTXML-SV-II-atomic-duration-maxInclusive-3-3 tokoe:invalid" result="pass"/><test-case name="7917NISTXML-SV-II-atomic-duration-maxInclusive-3-4 tokoe:invalid" result="pass"/><test-case name="7918NISTXML-SV-II-atomic-duration-maxInclusive-3-5 tokoe:invalid" result="pass"/><test-case name="7919NISTSchema-SV-II-atomic-duration-maxInclusive-4 tokoe:valid" result="pass"/><test-case name="7920NISTXML-SV-II-atomic-duration-maxInclusive-4-1 tokoe:invalid" result="pass"/><test-case name="7921NISTXML-SV-II-atomic-duration-maxInclusive-4-2 tokoe:invalid" result="pass"/><test-case name="7922NISTXML-SV-II-atomic-duration-maxInclusive-4-3 tokoe:invalid" result="pass"/><test-case name="7923NISTXML-SV-II-atomic-duration-maxInclusive-4-4 tokoe:invalid" result="pass"/><test-case name="7924NISTXML-SV-II-atomic-duration-maxInclusive-4-5 tokoe:invalid" result="pass"/><test-case name="7925NISTSchema-SV-II-atomic-duration-maxInclusive-5 tokoe:valid" result="pass"/><test-case name="7926NISTXML-SV-II-atomic-duration-maxInclusive-5-1 tokoe:invalid" result="pass"/><test-case name="7927NISTXML-SV-II-atomic-duration-maxInclusive-5-2 tokoe:invalid" result="pass"/><test-case name="7928NISTXML-SV-II-atomic-duration-maxInclusive-5-3 tokoe:invalid" result="pass"/><test-case name="7929NISTXML-SV-II-atomic-duration-maxInclusive-5-4 tokoe:invalid" result="pass"/><test-case name="7930NISTXML-SV-II-atomic-duration-maxInclusive-5-5 tokoe:invalid" result="pass"/><test-case name="7931NISTSchema-SV-II-atomic-dateTime-minInclusive-2 tokoe:valid" result="pass"/><test-case name="7932NISTXML-SV-II-atomic-dateTime-minInclusive-2-1 tokoe:invalid" result="pass"/><test-case name="7933NISTXML-SV-II-atomic-dateTime-minInclusive-2-2 tokoe:invalid" result="pass"/><test-case name="7934NISTXML-SV-II-atomic-dateTime-minInclusive-2-3 tokoe:invalid" result="pass"/><test-case name="7935NISTXML-SV-II-atomic-dateTime-minInclusive-2-4 tokoe:invalid" result="pass"/><test-case name="7936NISTXML-SV-II-atomic-dateTime-minInclusive-2-5 tokoe:invalid" result="pass"/><test-case name="7937NISTSchema-SV-II-atomic-dateTime-minInclusive-3 tokoe:valid" result="pass"/><test-case name="7938NISTXML-SV-II-atomic-dateTime-minInclusive-3-1 tokoe:invalid" result="pass"/><test-case name="7939NISTXML-SV-II-atomic-dateTime-minInclusive-3-2 tokoe:invalid" result="pass"/><test-case name="7940NISTXML-SV-II-atomic-dateTime-minInclusive-3-3 tokoe:invalid" result="pass"/><test-case name="7941NISTXML-SV-II-atomic-dateTime-minInclusive-3-4 tokoe:invalid" result="pass"/><test-case name="7942NISTXML-SV-II-atomic-dateTime-minInclusive-3-5 tokoe:invalid" result="pass"/><test-case name="7943NISTSchema-SV-II-atomic-dateTime-minInclusive-4 tokoe:valid" result="pass"/><test-case name="7944NISTXML-SV-II-atomic-dateTime-minInclusive-4-1 tokoe:invalid" result="pass"/><test-case name="7945NISTXML-SV-II-atomic-dateTime-minInclusive-4-2 tokoe:invalid" result="pass"/><test-case name="7946NISTXML-SV-II-atomic-dateTime-minInclusive-4-3 tokoe:invalid" result="pass"/><test-case name="7947NISTXML-SV-II-atomic-dateTime-minInclusive-4-4 tokoe:invalid" result="pass"/><test-case name="7948NISTXML-SV-II-atomic-dateTime-minInclusive-4-5 tokoe:invalid" result="pass"/><test-case name="7949NISTSchema-SV-II-atomic-dateTime-minInclusive-5 tokoe:valid" result="pass"/><test-case name="7950NISTXML-SV-II-atomic-dateTime-minInclusive-5-1 tokoe:invalid" result="pass"/><test-case name="7951NISTXML-SV-II-atomic-dateTime-minInclusive-5-2 tokoe:invalid" result="pass"/><test-case name="7952NISTXML-SV-II-atomic-dateTime-minInclusive-5-3 tokoe:invalid" result="pass"/><test-case name="7953NISTXML-SV-II-atomic-dateTime-minInclusive-5-4 tokoe:invalid" result="pass"/><test-case name="7954NISTXML-SV-II-atomic-dateTime-minInclusive-5-5 tokoe:invalid" result="pass"/><test-case name="7955NISTSchema-SV-II-atomic-dateTime-minInclusive-6 tokoe:valid" result="pass"/><test-case name="7956NISTXML-SV-II-atomic-dateTime-minInclusive-6-1 tokoe:invalid" result="pass"/><test-case name="7957NISTXML-SV-II-atomic-dateTime-minInclusive-6-2 tokoe:invalid" result="pass"/><test-case name="7958NISTXML-SV-II-atomic-dateTime-minInclusive-6-3 tokoe:invalid" result="pass"/><test-case name="7959NISTXML-SV-II-atomic-dateTime-minInclusive-6-4 tokoe:invalid" result="pass"/><test-case name="7960NISTXML-SV-II-atomic-dateTime-minInclusive-6-5 tokoe:invalid" result="pass"/><test-case name="7961NISTSchema-SV-II-atomic-dateTime-maxInclusive-1 tokoe:valid" result="pass"/><test-case name="7962NISTXML-SV-II-atomic-dateTime-maxInclusive-1-1 tokoe:invalid" result="pass"/><test-case name="7963NISTXML-SV-II-atomic-dateTime-maxInclusive-1-2 tokoe:invalid" result="pass"/><test-case name="7964NISTXML-SV-II-atomic-dateTime-maxInclusive-1-3 tokoe:invalid" result="pass"/><test-case name="7965NISTXML-SV-II-atomic-dateTime-maxInclusive-1-4 tokoe:invalid" result="pass"/><test-case name="7966NISTXML-SV-II-atomic-dateTime-maxInclusive-1-5 tokoe:invalid" result="pass"/><test-case name="7967NISTSchema-SV-II-atomic-dateTime-maxInclusive-2 tokoe:valid" result="pass"/><test-case name="7968NISTXML-SV-II-atomic-dateTime-maxInclusive-2-1 tokoe:invalid" result="pass"/><test-case name="7969NISTXML-SV-II-atomic-dateTime-maxInclusive-2-2 tokoe:invalid" result="pass"/><test-case name="7970NISTXML-SV-II-atomic-dateTime-maxInclusive-2-3 tokoe:invalid" result="pass"/><test-case name="7971NISTXML-SV-II-atomic-dateTime-maxInclusive-2-4 tokoe:invalid" result="pass"/><test-case name="7972NISTXML-SV-II-atomic-dateTime-maxInclusive-2-5 tokoe:invalid" result="pass"/><test-case name="7973NISTSchema-SV-II-atomic-dateTime-maxInclusive-3 tokoe:valid" result="pass"/><test-case name="7974NISTXML-SV-II-atomic-dateTime-maxInclusive-3-1 tokoe:invalid" result="pass"/><test-case name="7975NISTXML-SV-II-atomic-dateTime-maxInclusive-3-2 tokoe:invalid" result="pass"/><test-case name="7976NISTXML-SV-II-atomic-dateTime-maxInclusive-3-3 tokoe:invalid" result="pass"/><test-case name="7977NISTXML-SV-II-atomic-dateTime-maxInclusive-3-4 tokoe:invalid" result="pass"/><test-case name="7978NISTXML-SV-II-atomic-dateTime-maxInclusive-3-5 tokoe:invalid" result="pass"/><test-case name="7979NISTSchema-SV-II-atomic-dateTime-maxInclusive-4 tokoe:valid" result="pass"/><test-case name="7980NISTXML-SV-II-atomic-dateTime-maxInclusive-4-1 tokoe:invalid" result="pass"/><test-case name="7981NISTXML-SV-II-atomic-dateTime-maxInclusive-4-2 tokoe:invalid" result="pass"/><test-case name="7982NISTXML-SV-II-atomic-dateTime-maxInclusive-4-3 tokoe:invalid" result="pass"/><test-case name="7983NISTXML-SV-II-atomic-dateTime-maxInclusive-4-4 tokoe:invalid" result="pass"/><test-case name="7984NISTXML-SV-II-atomic-dateTime-maxInclusive-4-5 tokoe:invalid" result="pass"/><test-case name="7985NISTSchema-SV-II-atomic-dateTime-maxInclusive-5 tokoe:valid" result="pass"/><test-case name="7986NISTXML-SV-II-atomic-dateTime-maxInclusive-5-1 tokoe:invalid" result="pass"/><test-case name="7987NISTXML-SV-II-atomic-dateTime-maxInclusive-5-2 tokoe:invalid" result="pass"/><test-case name="7988NISTXML-SV-II-atomic-dateTime-maxInclusive-5-3 tokoe:invalid" result="pass"/><test-case name="7989NISTXML-SV-II-atomic-dateTime-maxInclusive-5-4 tokoe:invalid" result="pass"/><test-case name="7990NISTXML-SV-II-atomic-dateTime-maxInclusive-5-5 tokoe:invalid" result="pass"/><test-case name="7991NISTSchema-SV-II-atomic-time-minInclusive-2 tokoe:valid" result="pass"/><test-case name="7992NISTXML-SV-II-atomic-time-minInclusive-2-1 tokoe:invalid" result="pass"/><test-case name="7993NISTXML-SV-II-atomic-time-minInclusive-2-2 tokoe:invalid" result="pass"/><test-case name="7994NISTXML-SV-II-atomic-time-minInclusive-2-3 tokoe:invalid" result="pass"/><test-case name="7995NISTXML-SV-II-atomic-time-minInclusive-2-4 tokoe:invalid" result="pass"/><test-case name="7996NISTXML-SV-II-atomic-time-minInclusive-2-5 tokoe:invalid" result="pass"/><test-case name="7997NISTSchema-SV-II-atomic-time-minInclusive-3 tokoe:valid" result="pass"/><test-case name="7998NISTXML-SV-II-atomic-time-minInclusive-3-1 tokoe:invalid" result="pass"/><test-case name="7999NISTXML-SV-II-atomic-time-minInclusive-3-2 tokoe:invalid" result="pass"/><test-case name="8000NISTXML-SV-II-atomic-time-minInclusive-3-3 tokoe:invalid" result="pass"/><test-case name="8001NISTXML-SV-II-atomic-time-minInclusive-3-4 tokoe:invalid" result="pass"/><test-case name="8002NISTXML-SV-II-atomic-time-minInclusive-3-5 tokoe:invalid" result="pass"/><test-case name="8003NISTSchema-SV-II-atomic-time-minInclusive-4 tokoe:valid" result="pass"/><test-case name="8004NISTXML-SV-II-atomic-time-minInclusive-4-1 tokoe:invalid" result="pass"/><test-case name="8005NISTXML-SV-II-atomic-time-minInclusive-4-2 tokoe:invalid" result="pass"/><test-case name="8006NISTXML-SV-II-atomic-time-minInclusive-4-3 tokoe:invalid" result="pass"/><test-case name="8007NISTXML-SV-II-atomic-time-minInclusive-4-4 tokoe:invalid" result="pass"/><test-case name="8008NISTXML-SV-II-atomic-time-minInclusive-4-5 tokoe:invalid" result="pass"/><test-case name="8009NISTSchema-SV-II-atomic-time-minInclusive-5 tokoe:valid" result="pass"/><test-case name="8010NISTXML-SV-II-atomic-time-minInclusive-5-1 tokoe:invalid" result="pass"/><test-case name="8011NISTXML-SV-II-atomic-time-minInclusive-5-2 tokoe:invalid" result="pass"/><test-case name="8012NISTXML-SV-II-atomic-time-minInclusive-5-3 tokoe:invalid" result="pass"/><test-case name="8013NISTXML-SV-II-atomic-time-minInclusive-5-4 tokoe:invalid" result="pass"/><test-case name="8014NISTXML-SV-II-atomic-time-minInclusive-5-5 tokoe:invalid" result="pass"/><test-case name="8015NISTSchema-SV-II-atomic-time-minInclusive-6 tokoe:valid" result="pass"/><test-case name="8016NISTXML-SV-II-atomic-time-minInclusive-6-1 tokoe:invalid" result="pass"/><test-case name="8017NISTXML-SV-II-atomic-time-minInclusive-6-2 tokoe:invalid" result="pass"/><test-case name="8018NISTXML-SV-II-atomic-time-minInclusive-6-3 tokoe:invalid" result="pass"/><test-case name="8019NISTXML-SV-II-atomic-time-minInclusive-6-4 tokoe:invalid" result="pass"/><test-case name="8020NISTXML-SV-II-atomic-time-minInclusive-6-5 tokoe:invalid" result="pass"/><test-case name="8021NISTSchema-SV-II-atomic-time-maxInclusive-1 tokoe:valid" result="pass"/><test-case name="8022NISTXML-SV-II-atomic-time-maxInclusive-1-1 tokoe:invalid" result="pass"/><test-case name="8023NISTXML-SV-II-atomic-time-maxInclusive-1-2 tokoe:invalid" result="pass"/><test-case name="8024NISTXML-SV-II-atomic-time-maxInclusive-1-3 tokoe:invalid" result="pass"/><test-case name="8025NISTXML-SV-II-atomic-time-maxInclusive-1-4 tokoe:invalid" result="pass"/><test-case name="8026NISTXML-SV-II-atomic-time-maxInclusive-1-5 tokoe:invalid" result="pass"/><test-case name="8027NISTSchema-SV-II-atomic-time-maxInclusive-2 tokoe:valid" result="pass"/><test-case name="8028NISTXML-SV-II-atomic-time-maxInclusive-2-1 tokoe:invalid" result="pass"/><test-case name="8029NISTXML-SV-II-atomic-time-maxInclusive-2-2 tokoe:invalid" result="pass"/><test-case name="8030NISTXML-SV-II-atomic-time-maxInclusive-2-3 tokoe:invalid" result="pass"/><test-case name="8031NISTXML-SV-II-atomic-time-maxInclusive-2-4 tokoe:invalid" result="pass"/><test-case name="8032NISTXML-SV-II-atomic-time-maxInclusive-2-5 tokoe:invalid" result="pass"/><test-case name="8033NISTSchema-SV-II-atomic-time-maxInclusive-3 tokoe:valid" result="pass"/><test-case name="8034NISTXML-SV-II-atomic-time-maxInclusive-3-1 tokoe:invalid" result="pass"/><test-case name="8035NISTXML-SV-II-atomic-time-maxInclusive-3-2 tokoe:invalid" result="pass"/><test-case name="8036NISTXML-SV-II-atomic-time-maxInclusive-3-3 tokoe:invalid" result="pass"/><test-case name="8037NISTXML-SV-II-atomic-time-maxInclusive-3-4 tokoe:invalid" result="pass"/><test-case name="8038NISTXML-SV-II-atomic-time-maxInclusive-3-5 tokoe:invalid" result="pass"/><test-case name="8039NISTSchema-SV-II-atomic-time-maxInclusive-4 tokoe:valid" result="pass"/><test-case name="8040NISTXML-SV-II-atomic-time-maxInclusive-4-1 tokoe:invalid" result="pass"/><test-case name="8041NISTXML-SV-II-atomic-time-maxInclusive-4-2 tokoe:invalid" result="pass"/><test-case name="8042NISTXML-SV-II-atomic-time-maxInclusive-4-3 tokoe:invalid" result="pass"/><test-case name="8043NISTXML-SV-II-atomic-time-maxInclusive-4-4 tokoe:invalid" result="pass"/><test-case name="8044NISTXML-SV-II-atomic-time-maxInclusive-4-5 tokoe:invalid" result="pass"/><test-case name="8045NISTSchema-SV-II-atomic-time-maxInclusive-5 tokoe:valid" result="pass"/><test-case name="8046NISTXML-SV-II-atomic-time-maxInclusive-5-1 tokoe:invalid" result="pass"/><test-case name="8047NISTXML-SV-II-atomic-time-maxInclusive-5-2 tokoe:invalid" result="pass"/><test-case name="8048NISTXML-SV-II-atomic-time-maxInclusive-5-3 tokoe:invalid" result="pass"/><test-case name="8049NISTXML-SV-II-atomic-time-maxInclusive-5-4 tokoe:invalid" result="pass"/><test-case name="8050NISTXML-SV-II-atomic-time-maxInclusive-5-5 tokoe:invalid" result="pass"/><test-case name="8051NISTSchema-SV-II-atomic-date-minInclusive-2 tokoe:valid" result="pass"/><test-case name="8052NISTXML-SV-II-atomic-date-minInclusive-2-1 tokoe:invalid" result="pass"/><test-case name="8053NISTXML-SV-II-atomic-date-minInclusive-2-2 tokoe:invalid" result="pass"/><test-case name="8054NISTXML-SV-II-atomic-date-minInclusive-2-3 tokoe:invalid" result="pass"/><test-case name="8055NISTXML-SV-II-atomic-date-minInclusive-2-4 tokoe:invalid" result="pass"/><test-case name="8056NISTXML-SV-II-atomic-date-minInclusive-2-5 tokoe:invalid" result="pass"/><test-case name="8057NISTSchema-SV-II-atomic-date-minInclusive-3 tokoe:valid" result="pass"/><test-case name="8058NISTXML-SV-II-atomic-date-minInclusive-3-1 tokoe:invalid" result="pass"/><test-case name="8059NISTXML-SV-II-atomic-date-minInclusive-3-2 tokoe:invalid" result="pass"/><test-case name="8060NISTXML-SV-II-atomic-date-minInclusive-3-3 tokoe:invalid" result="pass"/><test-case name="8061NISTXML-SV-II-atomic-date-minInclusive-3-4 tokoe:invalid" result="pass"/><test-case name="8062NISTXML-SV-II-atomic-date-minInclusive-3-5 tokoe:invalid" result="pass"/><test-case name="8063NISTSchema-SV-II-atomic-date-minInclusive-4 tokoe:valid" result="pass"/><test-case name="8064NISTXML-SV-II-atomic-date-minInclusive-4-1 tokoe:invalid" result="pass"/><test-case name="8065NISTXML-SV-II-atomic-date-minInclusive-4-2 tokoe:invalid" result="pass"/><test-case name="8066NISTXML-SV-II-atomic-date-minInclusive-4-3 tokoe:invalid" result="pass"/><test-case name="8067NISTXML-SV-II-atomic-date-minInclusive-4-4 tokoe:invalid" result="pass"/><test-case name="8068NISTXML-SV-II-atomic-date-minInclusive-4-5 tokoe:invalid" result="pass"/><test-case name="8069NISTSchema-SV-II-atomic-date-minInclusive-5 tokoe:valid" result="pass"/><test-case name="8070NISTXML-SV-II-atomic-date-minInclusive-5-1 tokoe:invalid" result="pass"/><test-case name="8071NISTXML-SV-II-atomic-date-minInclusive-5-2 tokoe:invalid" result="pass"/><test-case name="8072NISTXML-SV-II-atomic-date-minInclusive-5-3 tokoe:invalid" result="pass"/><test-case name="8073NISTXML-SV-II-atomic-date-minInclusive-5-4 tokoe:invalid" result="pass"/><test-case name="8074NISTXML-SV-II-atomic-date-minInclusive-5-5 tokoe:invalid" result="pass"/><test-case name="8075NISTSchema-SV-II-atomic-date-minInclusive-6 tokoe:valid" result="pass"/><test-case name="8076NISTXML-SV-II-atomic-date-minInclusive-6-1 tokoe:invalid" result="pass"/><test-case name="8077NISTXML-SV-II-atomic-date-minInclusive-6-2 tokoe:invalid" result="pass"/><test-case name="8078NISTXML-SV-II-atomic-date-minInclusive-6-3 tokoe:invalid" result="pass"/><test-case name="8079NISTXML-SV-II-atomic-date-minInclusive-6-4 tokoe:invalid" result="pass"/><test-case name="8080NISTXML-SV-II-atomic-date-minInclusive-6-5 tokoe:invalid" result="pass"/><test-case name="8081NISTSchema-SV-II-atomic-date-maxInclusive-1 tokoe:valid" result="pass"/><test-case name="8082NISTXML-SV-II-atomic-date-maxInclusive-1-1 tokoe:invalid" result="pass"/><test-case name="8083NISTXML-SV-II-atomic-date-maxInclusive-1-2 tokoe:invalid" result="pass"/><test-case name="8084NISTXML-SV-II-atomic-date-maxInclusive-1-3 tokoe:invalid" result="pass"/><test-case name="8085NISTXML-SV-II-atomic-date-maxInclusive-1-4 tokoe:invalid" result="pass"/><test-case name="8086NISTXML-SV-II-atomic-date-maxInclusive-1-5 tokoe:invalid" result="pass"/><test-case name="8087NISTSchema-SV-II-atomic-date-maxInclusive-2 tokoe:valid" result="pass"/><test-case name="8088NISTXML-SV-II-atomic-date-maxInclusive-2-1 tokoe:invalid" result="pass"/><test-case name="8089NISTXML-SV-II-atomic-date-maxInclusive-2-2 tokoe:invalid" result="pass"/><test-case name="8090NISTXML-SV-II-atomic-date-maxInclusive-2-3 tokoe:invalid" result="pass"/><test-case name="8091NISTXML-SV-II-atomic-date-maxInclusive-2-4 tokoe:invalid" result="pass"/><test-case name="8092NISTXML-SV-II-atomic-date-maxInclusive-2-5 tokoe:invalid" result="pass"/><test-case name="8093NISTSchema-SV-II-atomic-date-maxInclusive-3 tokoe:valid" result="pass"/><test-case name="8094NISTXML-SV-II-atomic-date-maxInclusive-3-1 tokoe:invalid" result="pass"/><test-case name="8095NISTXML-SV-II-atomic-date-maxInclusive-3-2 tokoe:invalid" result="pass"/><test-case name="8096NISTXML-SV-II-atomic-date-maxInclusive-3-3 tokoe:invalid" result="pass"/><test-case name="8097NISTXML-SV-II-atomic-date-maxInclusive-3-4 tokoe:invalid" result="pass"/><test-case name="8098NISTXML-SV-II-atomic-date-maxInclusive-3-5 tokoe:invalid" result="pass"/><test-case name="8099NISTSchema-SV-II-atomic-date-maxInclusive-4 tokoe:valid" result="pass"/><test-case name="8100NISTXML-SV-II-atomic-date-maxInclusive-4-1 tokoe:invalid" result="pass"/><test-case name="8101NISTXML-SV-II-atomic-date-maxInclusive-4-2 tokoe:invalid" result="pass"/><test-case name="8102NISTXML-SV-II-atomic-date-maxInclusive-4-3 tokoe:invalid" result="pass"/><test-case name="8103NISTXML-SV-II-atomic-date-maxInclusive-4-4 tokoe:invalid" result="pass"/><test-case name="8104NISTXML-SV-II-atomic-date-maxInclusive-4-5 tokoe:invalid" result="pass"/><test-case name="8105NISTSchema-SV-II-atomic-date-maxInclusive-5 tokoe:valid" result="pass"/><test-case name="8106NISTXML-SV-II-atomic-date-maxInclusive-5-1 tokoe:invalid" result="pass"/><test-case name="8107NISTXML-SV-II-atomic-date-maxInclusive-5-2 tokoe:invalid" result="pass"/><test-case name="8108NISTXML-SV-II-atomic-date-maxInclusive-5-3 tokoe:invalid" result="pass"/><test-case name="8109NISTXML-SV-II-atomic-date-maxInclusive-5-4 tokoe:invalid" result="pass"/><test-case name="8110NISTXML-SV-II-atomic-date-maxInclusive-5-5 tokoe:invalid" result="pass"/><test-case name="8111NISTSchema-SV-II-atomic-gYearMonth-minInclusive-2 tokoe:valid" result="pass"/><test-case name="8112NISTXML-SV-II-atomic-gYearMonth-minInclusive-2-1 tokoe:invalid" result="pass"/><test-case name="8113NISTXML-SV-II-atomic-gYearMonth-minInclusive-2-2 tokoe:invalid" result="pass"/><test-case name="8114NISTXML-SV-II-atomic-gYearMonth-minInclusive-2-3 tokoe:invalid" result="pass"/><test-case name="8115NISTXML-SV-II-atomic-gYearMonth-minInclusive-2-4 tokoe:invalid" result="pass"/><test-case name="8116NISTXML-SV-II-atomic-gYearMonth-minInclusive-2-5 tokoe:invalid" result="pass"/><test-case name="8117NISTSchema-SV-II-atomic-gYearMonth-minInclusive-3 tokoe:valid" result="pass"/><test-case name="8118NISTXML-SV-II-atomic-gYearMonth-minInclusive-3-1 tokoe:invalid" result="pass"/><test-case name="8119NISTXML-SV-II-atomic-gYearMonth-minInclusive-3-2 tokoe:invalid" result="pass"/><test-case name="8120NISTXML-SV-II-atomic-gYearMonth-minInclusive-3-3 tokoe:invalid" result="pass"/><test-case name="8121NISTXML-SV-II-atomic-gYearMonth-minInclusive-3-4 tokoe:invalid" result="pass"/><test-case name="8122NISTXML-SV-II-atomic-gYearMonth-minInclusive-3-5 tokoe:invalid" result="pass"/><test-case name="8123NISTSchema-SV-II-atomic-gYearMonth-minInclusive-4 tokoe:valid" result="pass"/><test-case name="8124NISTXML-SV-II-atomic-gYearMonth-minInclusive-4-1 tokoe:invalid" result="pass"/><test-case name="8125NISTXML-SV-II-atomic-gYearMonth-minInclusive-4-2 tokoe:invalid" result="pass"/><test-case name="8126NISTXML-SV-II-atomic-gYearMonth-minInclusive-4-3 tokoe:invalid" result="pass"/><test-case name="8127NISTXML-SV-II-atomic-gYearMonth-minInclusive-4-4 tokoe:invalid" result="pass"/><test-case name="8128NISTXML-SV-II-atomic-gYearMonth-minInclusive-4-5 tokoe:invalid" result="pass"/><test-case name="8129NISTSchema-SV-II-atomic-gYearMonth-minInclusive-5 tokoe:valid" result="pass"/><test-case name="8130NISTXML-SV-II-atomic-gYearMonth-minInclusive-5-1 tokoe:invalid" result="pass"/><test-case name="8131NISTXML-SV-II-atomic-gYearMonth-minInclusive-5-2 tokoe:invalid" result="pass"/><test-case name="8132NISTXML-SV-II-atomic-gYearMonth-minInclusive-5-3 tokoe:invalid" result="pass"/><test-case name="8133NISTXML-SV-II-atomic-gYearMonth-minInclusive-5-4 tokoe:invalid" result="pass"/><test-case name="8134NISTXML-SV-II-atomic-gYearMonth-minInclusive-5-5 tokoe:invalid" result="pass"/><test-case name="8135NISTSchema-SV-II-atomic-gYearMonth-minInclusive-6 tokoe:valid" result="pass"/><test-case name="8136NISTXML-SV-II-atomic-gYearMonth-minInclusive-6-1 tokoe:invalid" result="pass"/><test-case name="8137NISTXML-SV-II-atomic-gYearMonth-minInclusive-6-2 tokoe:invalid" result="pass"/><test-case name="8138NISTXML-SV-II-atomic-gYearMonth-minInclusive-6-3 tokoe:invalid" result="pass"/><test-case name="8139NISTXML-SV-II-atomic-gYearMonth-minInclusive-6-4 tokoe:invalid" result="pass"/><test-case name="8140NISTXML-SV-II-atomic-gYearMonth-minInclusive-6-5 tokoe:invalid" result="pass"/><test-case name="8141NISTSchema-SV-II-atomic-gYearMonth-maxInclusive-1 tokoe:valid" result="pass"/><test-case name="8142NISTXML-SV-II-atomic-gYearMonth-maxInclusive-1-1 tokoe:invalid" result="pass"/><test-case name="8143NISTXML-SV-II-atomic-gYearMonth-maxInclusive-1-2 tokoe:invalid" result="pass"/><test-case name="8144NISTXML-SV-II-atomic-gYearMonth-maxInclusive-1-3 tokoe:invalid" result="pass"/><test-case name="8145NISTXML-SV-II-atomic-gYearMonth-maxInclusive-1-4 tokoe:invalid" result="pass"/><test-case name="8146NISTXML-SV-II-atomic-gYearMonth-maxInclusive-1-5 tokoe:invalid" result="pass"/><test-case name="8147NISTSchema-SV-II-atomic-gYearMonth-maxInclusive-2 tokoe:valid" result="pass"/><test-case name="8148NISTXML-SV-II-atomic-gYearMonth-maxInclusive-2-1 tokoe:invalid" result="pass"/><test-case name="8149NISTXML-SV-II-atomic-gYearMonth-maxInclusive-2-2 tokoe:invalid" result="pass"/><test-case name="8150NISTXML-SV-II-atomic-gYearMonth-maxInclusive-2-3 tokoe:invalid" result="pass"/><test-case name="8151NISTXML-SV-II-atomic-gYearMonth-maxInclusive-2-4 tokoe:invalid" result="pass"/><test-case name="8152NISTXML-SV-II-atomic-gYearMonth-maxInclusive-2-5 tokoe:invalid" result="pass"/><test-case name="8153NISTSchema-SV-II-atomic-gYearMonth-maxInclusive-3 tokoe:valid" result="pass"/><test-case name="8154NISTXML-SV-II-atomic-gYearMonth-maxInclusive-3-1 tokoe:invalid" result="pass"/><test-case name="8155NISTXML-SV-II-atomic-gYearMonth-maxInclusive-3-2 tokoe:invalid" result="pass"/><test-case name="8156NISTXML-SV-II-atomic-gYearMonth-maxInclusive-3-3 tokoe:invalid" result="pass"/><test-case name="8157NISTXML-SV-II-atomic-gYearMonth-maxInclusive-3-4 tokoe:invalid" result="pass"/><test-case name="8158NISTXML-SV-II-atomic-gYearMonth-maxInclusive-3-5 tokoe:invalid" result="pass"/><test-case name="8159NISTSchema-SV-II-atomic-gYearMonth-maxInclusive-4 tokoe:valid" result="pass"/><test-case name="8160NISTXML-SV-II-atomic-gYearMonth-maxInclusive-4-1 tokoe:invalid" result="pass"/><test-case name="8161NISTXML-SV-II-atomic-gYearMonth-maxInclusive-4-2 tokoe:invalid" result="pass"/><test-case name="8162NISTXML-SV-II-atomic-gYearMonth-maxInclusive-4-3 tokoe:invalid" result="pass"/><test-case name="8163NISTXML-SV-II-atomic-gYearMonth-maxInclusive-4-4 tokoe:invalid" result="pass"/><test-case name="8164NISTXML-SV-II-atomic-gYearMonth-maxInclusive-4-5 tokoe:invalid" result="pass"/><test-case name="8165NISTSchema-SV-II-atomic-gYearMonth-maxInclusive-5 tokoe:valid" result="pass"/><test-case name="8166NISTXML-SV-II-atomic-gYearMonth-maxInclusive-5-1 tokoe:invalid" result="pass"/><test-case name="8167NISTXML-SV-II-atomic-gYearMonth-maxInclusive-5-2 tokoe:invalid" result="pass"/><test-case name="8168NISTXML-SV-II-atomic-gYearMonth-maxInclusive-5-3 tokoe:invalid" result="pass"/><test-case name="8169NISTXML-SV-II-atomic-gYearMonth-maxInclusive-5-4 tokoe:invalid" result="pass"/><test-case name="8170NISTXML-SV-II-atomic-gYearMonth-maxInclusive-5-5 tokoe:invalid" result="pass"/><test-case name="8171NISTSchema-SV-II-atomic-gYear-minInclusive-2 tokoe:valid" result="pass"/><test-case name="8172NISTXML-SV-II-atomic-gYear-minInclusive-2-1 tokoe:invalid" result="pass"/><test-case name="8173NISTXML-SV-II-atomic-gYear-minInclusive-2-2 tokoe:invalid" result="pass"/><test-case name="8174NISTXML-SV-II-atomic-gYear-minInclusive-2-3 tokoe:invalid" result="pass"/><test-case name="8175NISTXML-SV-II-atomic-gYear-minInclusive-2-4 tokoe:invalid" result="pass"/><test-case name="8176NISTXML-SV-II-atomic-gYear-minInclusive-2-5 tokoe:invalid" result="pass"/><test-case name="8177NISTSchema-SV-II-atomic-gYear-minInclusive-3 tokoe:valid" result="pass"/><test-case name="8178NISTXML-SV-II-atomic-gYear-minInclusive-3-1 tokoe:invalid" result="pass"/><test-case name="8179NISTXML-SV-II-atomic-gYear-minInclusive-3-2 tokoe:invalid" result="pass"/><test-case name="8180NISTXML-SV-II-atomic-gYear-minInclusive-3-3 tokoe:invalid" result="pass"/><test-case name="8181NISTXML-SV-II-atomic-gYear-minInclusive-3-4 tokoe:invalid" result="pass"/><test-case name="8182NISTXML-SV-II-atomic-gYear-minInclusive-3-5 tokoe:invalid" result="pass"/><test-case name="8183NISTSchema-SV-II-atomic-gYear-minInclusive-4 tokoe:valid" result="pass"/><test-case name="8184NISTXML-SV-II-atomic-gYear-minInclusive-4-1 tokoe:invalid" result="pass"/><test-case name="8185NISTXML-SV-II-atomic-gYear-minInclusive-4-2 tokoe:invalid" result="pass"/><test-case name="8186NISTXML-SV-II-atomic-gYear-minInclusive-4-3 tokoe:invalid" result="pass"/><test-case name="8187NISTXML-SV-II-atomic-gYear-minInclusive-4-4 tokoe:invalid" result="pass"/><test-case name="8188NISTXML-SV-II-atomic-gYear-minInclusive-4-5 tokoe:invalid" result="pass"/><test-case name="8189NISTSchema-SV-II-atomic-gYear-minInclusive-5 tokoe:valid" result="pass"/><test-case name="8190NISTXML-SV-II-atomic-gYear-minInclusive-5-1 tokoe:invalid" result="pass"/><test-case name="8191NISTXML-SV-II-atomic-gYear-minInclusive-5-2 tokoe:invalid" result="pass"/><test-case name="8192NISTXML-SV-II-atomic-gYear-minInclusive-5-3 tokoe:invalid" result="pass"/><test-case name="8193NISTXML-SV-II-atomic-gYear-minInclusive-5-4 tokoe:invalid" result="pass"/><test-case name="8194NISTXML-SV-II-atomic-gYear-minInclusive-5-5 tokoe:invalid" result="pass"/><test-case name="8195NISTSchema-SV-II-atomic-gYear-minInclusive-6 tokoe:valid" result="pass"/><test-case name="8196NISTXML-SV-II-atomic-gYear-minInclusive-6-1 tokoe:invalid" result="pass"/><test-case name="8197NISTXML-SV-II-atomic-gYear-minInclusive-6-2 tokoe:invalid" result="pass"/><test-case name="8198NISTXML-SV-II-atomic-gYear-minInclusive-6-3 tokoe:invalid" result="pass"/><test-case name="8199NISTXML-SV-II-atomic-gYear-minInclusive-6-4 tokoe:invalid" result="pass"/><test-case name="8200NISTXML-SV-II-atomic-gYear-minInclusive-6-5 tokoe:invalid" result="pass"/><test-case name="8201NISTSchema-SV-II-atomic-gYear-maxInclusive-1 tokoe:valid" result="pass"/><test-case name="8202NISTXML-SV-II-atomic-gYear-maxInclusive-1-1 tokoe:invalid" result="pass"/><test-case name="8203NISTXML-SV-II-atomic-gYear-maxInclusive-1-2 tokoe:invalid" result="pass"/><test-case name="8204NISTXML-SV-II-atomic-gYear-maxInclusive-1-3 tokoe:invalid" result="pass"/><test-case name="8205NISTXML-SV-II-atomic-gYear-maxInclusive-1-4 tokoe:invalid" result="pass"/><test-case name="8206NISTXML-SV-II-atomic-gYear-maxInclusive-1-5 tokoe:invalid" result="pass"/><test-case name="8207NISTSchema-SV-II-atomic-gYear-maxInclusive-2 tokoe:valid" result="pass"/><test-case name="8208NISTXML-SV-II-atomic-gYear-maxInclusive-2-1 tokoe:invalid" result="pass"/><test-case name="8209NISTXML-SV-II-atomic-gYear-maxInclusive-2-2 tokoe:invalid" result="pass"/><test-case name="8210NISTXML-SV-II-atomic-gYear-maxInclusive-2-3 tokoe:invalid" result="pass"/><test-case name="8211NISTXML-SV-II-atomic-gYear-maxInclusive-2-4 tokoe:invalid" result="pass"/><test-case name="8212NISTXML-SV-II-atomic-gYear-maxInclusive-2-5 tokoe:invalid" result="pass"/><test-case name="8213NISTSchema-SV-II-atomic-gYear-maxInclusive-3 tokoe:valid" result="pass"/><test-case name="8214NISTXML-SV-II-atomic-gYear-maxInclusive-3-1 tokoe:invalid" result="pass"/><test-case name="8215NISTXML-SV-II-atomic-gYear-maxInclusive-3-2 tokoe:invalid" result="pass"/><test-case name="8216NISTXML-SV-II-atomic-gYear-maxInclusive-3-3 tokoe:invalid" result="pass"/><test-case name="8217NISTXML-SV-II-atomic-gYear-maxInclusive-3-4 tokoe:invalid" result="pass"/><test-case name="8218NISTXML-SV-II-atomic-gYear-maxInclusive-3-5 tokoe:invalid" result="pass"/><test-case name="8219NISTSchema-SV-II-atomic-gYear-maxInclusive-4 tokoe:valid" result="pass"/><test-case name="8220NISTXML-SV-II-atomic-gYear-maxInclusive-4-1 tokoe:invalid" result="pass"/><test-case name="8221NISTXML-SV-II-atomic-gYear-maxInclusive-4-2 tokoe:invalid" result="pass"/><test-case name="8222NISTXML-SV-II-atomic-gYear-maxInclusive-4-3 tokoe:invalid" result="pass"/><test-case name="8223NISTXML-SV-II-atomic-gYear-maxInclusive-4-4 tokoe:invalid" result="pass"/><test-case name="8224NISTXML-SV-II-atomic-gYear-maxInclusive-4-5 tokoe:invalid" result="pass"/><test-case name="8225NISTSchema-SV-II-atomic-gYear-maxInclusive-5 tokoe:valid" result="pass"/><test-case name="8226NISTXML-SV-II-atomic-gYear-maxInclusive-5-1 tokoe:invalid" result="pass"/><test-case name="8227NISTXML-SV-II-atomic-gYear-maxInclusive-5-2 tokoe:invalid" result="pass"/><test-case name="8228NISTXML-SV-II-atomic-gYear-maxInclusive-5-3 tokoe:invalid" result="pass"/><test-case name="8229NISTXML-SV-II-atomic-gYear-maxInclusive-5-4 tokoe:invalid" result="pass"/><test-case name="8230NISTXML-SV-II-atomic-gYear-maxInclusive-5-5 tokoe:invalid" result="pass"/><test-case name="8231NISTSchema-SV-II-atomic-gMonthDay-minInclusive-2 tokoe:valid" result="pass"/><test-case name="8232NISTXML-SV-II-atomic-gMonthDay-minInclusive-2-1 tokoe:invalid" result="pass"/><test-case name="8233NISTXML-SV-II-atomic-gMonthDay-minInclusive-2-2 tokoe:invalid" result="pass"/><test-case name="8234NISTXML-SV-II-atomic-gMonthDay-minInclusive-2-3 tokoe:invalid" result="pass"/><test-case name="8235NISTXML-SV-II-atomic-gMonthDay-minInclusive-2-4 tokoe:invalid" result="pass"/><test-case name="8236NISTXML-SV-II-atomic-gMonthDay-minInclusive-2-5 tokoe:invalid" result="pass"/><test-case name="8237NISTSchema-SV-II-atomic-gMonthDay-minInclusive-3 tokoe:valid" result="pass"/><test-case name="8238NISTXML-SV-II-atomic-gMonthDay-minInclusive-3-1 tokoe:invalid" result="pass"/><test-case name="8239NISTXML-SV-II-atomic-gMonthDay-minInclusive-3-2 tokoe:invalid" result="pass"/><test-case name="8240NISTXML-SV-II-atomic-gMonthDay-minInclusive-3-3 tokoe:invalid" result="pass"/><test-case name="8241NISTXML-SV-II-atomic-gMonthDay-minInclusive-3-4 tokoe:invalid" result="pass"/><test-case name="8242NISTXML-SV-II-atomic-gMonthDay-minInclusive-3-5 tokoe:invalid" result="pass"/><test-case name="8243NISTSchema-SV-II-atomic-gMonthDay-minInclusive-4 tokoe:valid" result="pass"/><test-case name="8244NISTXML-SV-II-atomic-gMonthDay-minInclusive-4-1 tokoe:invalid" result="pass"/><test-case name="8245NISTXML-SV-II-atomic-gMonthDay-minInclusive-4-2 tokoe:invalid" result="pass"/><test-case name="8246NISTXML-SV-II-atomic-gMonthDay-minInclusive-4-3 tokoe:invalid" result="pass"/><test-case name="8247NISTXML-SV-II-atomic-gMonthDay-minInclusive-4-4 tokoe:invalid" result="pass"/><test-case name="8248NISTXML-SV-II-atomic-gMonthDay-minInclusive-4-5 tokoe:invalid" result="pass"/><test-case name="8249NISTSchema-SV-II-atomic-gMonthDay-minInclusive-5 tokoe:valid" result="pass"/><test-case name="8250NISTXML-SV-II-atomic-gMonthDay-minInclusive-5-1 tokoe:invalid" result="pass"/><test-case name="8251NISTXML-SV-II-atomic-gMonthDay-minInclusive-5-2 tokoe:invalid" result="pass"/><test-case name="8252NISTXML-SV-II-atomic-gMonthDay-minInclusive-5-3 tokoe:invalid" result="pass"/><test-case name="8253NISTXML-SV-II-atomic-gMonthDay-minInclusive-5-4 tokoe:invalid" result="pass"/><test-case name="8254NISTXML-SV-II-atomic-gMonthDay-minInclusive-5-5 tokoe:invalid" result="pass"/><test-case name="8255NISTSchema-SV-II-atomic-gMonthDay-minInclusive-6 tokoe:valid" result="pass"/><test-case name="8256NISTXML-SV-II-atomic-gMonthDay-minInclusive-6-1 tokoe:invalid" result="pass"/><test-case name="8257NISTXML-SV-II-atomic-gMonthDay-minInclusive-6-2 tokoe:invalid" result="pass"/><test-case name="8258NISTXML-SV-II-atomic-gMonthDay-minInclusive-6-3 tokoe:invalid" result="pass"/><test-case name="8259NISTXML-SV-II-atomic-gMonthDay-minInclusive-6-4 tokoe:invalid" result="pass"/><test-case name="8260NISTXML-SV-II-atomic-gMonthDay-minInclusive-6-5 tokoe:invalid" result="pass"/><test-case name="8261NISTSchema-SV-II-atomic-gMonthDay-maxInclusive-1 tokoe:valid" result="pass"/><test-case name="8262NISTXML-SV-II-atomic-gMonthDay-maxInclusive-1-1 tokoe:invalid" result="pass"/><test-case name="8263NISTXML-SV-II-atomic-gMonthDay-maxInclusive-1-2 tokoe:invalid" result="pass"/><test-case name="8264NISTXML-SV-II-atomic-gMonthDay-maxInclusive-1-3 tokoe:invalid" result="pass"/><test-case name="8265NISTXML-SV-II-atomic-gMonthDay-maxInclusive-1-4 tokoe:invalid" result="pass"/><test-case name="8266NISTXML-SV-II-atomic-gMonthDay-maxInclusive-1-5 tokoe:invalid" result="pass"/><test-case name="8267NISTSchema-SV-II-atomic-gMonthDay-maxInclusive-2 tokoe:valid" result="pass"/><test-case name="8268NISTXML-SV-II-atomic-gMonthDay-maxInclusive-2-1 tokoe:invalid" result="pass"/><test-case name="8269NISTXML-SV-II-atomic-gMonthDay-maxInclusive-2-2 tokoe:invalid" result="pass"/><test-case name="8270NISTXML-SV-II-atomic-gMonthDay-maxInclusive-2-3 tokoe:invalid" result="pass"/><test-case name="8271NISTXML-SV-II-atomic-gMonthDay-maxInclusive-2-4 tokoe:invalid" result="pass"/><test-case name="8272NISTXML-SV-II-atomic-gMonthDay-maxInclusive-2-5 tokoe:invalid" result="pass"/><test-case name="8273NISTSchema-SV-II-atomic-gMonthDay-maxInclusive-3 tokoe:valid" result="pass"/><test-case name="8274NISTXML-SV-II-atomic-gMonthDay-maxInclusive-3-1 tokoe:invalid" result="pass"/><test-case name="8275NISTXML-SV-II-atomic-gMonthDay-maxInclusive-3-2 tokoe:invalid" result="pass"/><test-case name="8276NISTXML-SV-II-atomic-gMonthDay-maxInclusive-3-3 tokoe:invalid" result="pass"/><test-case name="8277NISTXML-SV-II-atomic-gMonthDay-maxInclusive-3-4 tokoe:invalid" result="pass"/><test-case name="8278NISTXML-SV-II-atomic-gMonthDay-maxInclusive-3-5 tokoe:invalid" result="pass"/><test-case name="8279NISTSchema-SV-II-atomic-gMonthDay-maxInclusive-4 tokoe:valid" result="pass"/><test-case name="8280NISTXML-SV-II-atomic-gMonthDay-maxInclusive-4-1 tokoe:invalid" result="pass"/><test-case name="8281NISTXML-SV-II-atomic-gMonthDay-maxInclusive-4-2 tokoe:invalid" result="pass"/><test-case name="8282NISTXML-SV-II-atomic-gMonthDay-maxInclusive-4-3 tokoe:invalid" result="pass"/><test-case name="8283NISTXML-SV-II-atomic-gMonthDay-maxInclusive-4-4 tokoe:invalid" result="pass"/><test-case name="8284NISTXML-SV-II-atomic-gMonthDay-maxInclusive-4-5 tokoe:invalid" result="pass"/><test-case name="8285NISTSchema-SV-II-atomic-gMonthDay-maxInclusive-5 tokoe:valid" result="pass"/><test-case name="8286NISTXML-SV-II-atomic-gMonthDay-maxInclusive-5-1 tokoe:invalid" result="pass"/><test-case name="8287NISTXML-SV-II-atomic-gMonthDay-maxInclusive-5-2 tokoe:invalid" result="pass"/><test-case name="8288NISTXML-SV-II-atomic-gMonthDay-maxInclusive-5-3 tokoe:invalid" result="pass"/><test-case name="8289NISTXML-SV-II-atomic-gMonthDay-maxInclusive-5-4 tokoe:invalid" result="pass"/><test-case name="8290NISTXML-SV-II-atomic-gMonthDay-maxInclusive-5-5 tokoe:invalid" result="pass"/><test-case name="8291NISTSchema-SV-II-atomic-gDay-minInclusive-3 tokoe:valid" result="pass"/><test-case name="8292NISTXML-SV-II-atomic-gDay-minInclusive-3-1 tokoe:invalid" result="pass"/><test-case name="8293NISTXML-SV-II-atomic-gDay-minInclusive-3-2 tokoe:invalid" result="pass"/><test-case name="8294NISTXML-SV-II-atomic-gDay-minInclusive-3-3 tokoe:invalid" result="pass"/><test-case name="8295NISTXML-SV-II-atomic-gDay-minInclusive-3-4 tokoe:invalid" result="pass"/><test-case name="8296NISTXML-SV-II-atomic-gDay-minInclusive-3-5 tokoe:invalid" result="pass"/><test-case name="8297NISTSchema-SV-II-atomic-gDay-minInclusive-4 tokoe:valid" result="pass"/><test-case name="8298NISTXML-SV-II-atomic-gDay-minInclusive-4-1 tokoe:invalid" result="pass"/><test-case name="8299NISTXML-SV-II-atomic-gDay-minInclusive-4-2 tokoe:invalid" result="pass"/><test-case name="8300NISTXML-SV-II-atomic-gDay-minInclusive-4-3 tokoe:invalid" result="pass"/><test-case name="8301NISTXML-SV-II-atomic-gDay-minInclusive-4-4 tokoe:invalid" result="pass"/><test-case name="8302NISTXML-SV-II-atomic-gDay-minInclusive-4-5 tokoe:invalid" result="pass"/><test-case name="8303NISTSchema-SV-II-atomic-gDay-minInclusive-5 tokoe:valid" result="pass"/><test-case name="8304NISTXML-SV-II-atomic-gDay-minInclusive-5-1 tokoe:invalid" result="pass"/><test-case name="8305NISTXML-SV-II-atomic-gDay-minInclusive-5-2 tokoe:invalid" result="pass"/><test-case name="8306NISTXML-SV-II-atomic-gDay-minInclusive-5-3 tokoe:invalid" result="pass"/><test-case name="8307NISTXML-SV-II-atomic-gDay-minInclusive-5-4 tokoe:invalid" result="pass"/><test-case name="8308NISTXML-SV-II-atomic-gDay-minInclusive-5-5 tokoe:invalid" result="pass"/><test-case name="8309NISTSchema-SV-II-atomic-gDay-minInclusive-6 tokoe:valid" result="pass"/><test-case name="8310NISTXML-SV-II-atomic-gDay-minInclusive-6-1 tokoe:invalid" result="pass"/><test-case name="8311NISTXML-SV-II-atomic-gDay-minInclusive-6-2 tokoe:invalid" result="pass"/><test-case name="8312NISTXML-SV-II-atomic-gDay-minInclusive-6-3 tokoe:invalid" result="pass"/><test-case name="8313NISTXML-SV-II-atomic-gDay-minInclusive-6-4 tokoe:invalid" result="pass"/><test-case name="8314NISTXML-SV-II-atomic-gDay-minInclusive-6-5 tokoe:invalid" result="pass"/><test-case name="8315NISTSchema-SV-II-atomic-gDay-maxInclusive-1 tokoe:valid" result="pass"/><test-case name="8316NISTXML-SV-II-atomic-gDay-maxInclusive-1-1 tokoe:invalid" result="pass"/><test-case name="8317NISTXML-SV-II-atomic-gDay-maxInclusive-1-2 tokoe:invalid" result="pass"/><test-case name="8318NISTXML-SV-II-atomic-gDay-maxInclusive-1-3 tokoe:invalid" result="pass"/><test-case name="8319NISTXML-SV-II-atomic-gDay-maxInclusive-1-4 tokoe:invalid" result="pass"/><test-case name="8320NISTXML-SV-II-atomic-gDay-maxInclusive-1-5 tokoe:invalid" result="pass"/><test-case name="8321NISTSchema-SV-II-atomic-gDay-maxInclusive-2 tokoe:valid" result="pass"/><test-case name="8322NISTXML-SV-II-atomic-gDay-maxInclusive-2-1 tokoe:invalid" result="pass"/><test-case name="8323NISTSchema-SV-II-atomic-gDay-maxInclusive-3 tokoe:valid" result="pass"/><test-case name="8324NISTXML-SV-II-atomic-gDay-maxInclusive-3-1 tokoe:invalid" result="pass"/><test-case name="8325NISTXML-SV-II-atomic-gDay-maxInclusive-3-2 tokoe:invalid" result="pass"/><test-case name="8326NISTXML-SV-II-atomic-gDay-maxInclusive-3-3 tokoe:invalid" result="pass"/><test-case name="8327NISTXML-SV-II-atomic-gDay-maxInclusive-3-4 tokoe:invalid" result="pass"/><test-case name="8328NISTXML-SV-II-atomic-gDay-maxInclusive-3-5 tokoe:invalid" result="pass"/><test-case name="8329NISTSchema-SV-II-atomic-gDay-maxInclusive-4 tokoe:valid" result="pass"/><test-case name="8330NISTXML-SV-II-atomic-gDay-maxInclusive-4-1 tokoe:invalid" result="pass"/><test-case name="8331NISTXML-SV-II-atomic-gDay-maxInclusive-4-2 tokoe:invalid" result="pass"/><test-case name="8332NISTXML-SV-II-atomic-gDay-maxInclusive-4-3 tokoe:invalid" result="pass"/><test-case name="8333NISTXML-SV-II-atomic-gDay-maxInclusive-4-4 tokoe:invalid" result="pass"/><test-case name="8334NISTXML-SV-II-atomic-gDay-maxInclusive-4-5 tokoe:invalid" result="pass"/><test-case name="8335NISTSchema-SV-II-atomic-gDay-maxInclusive-5 tokoe:valid" result="pass"/><test-case name="8336NISTXML-SV-II-atomic-gDay-maxInclusive-5-1 tokoe:invalid" result="pass"/><test-case name="8337NISTXML-SV-II-atomic-gDay-maxInclusive-5-2 tokoe:invalid" result="pass"/><test-case name="8338NISTXML-SV-II-atomic-gDay-maxInclusive-5-3 tokoe:invalid" result="pass"/><test-case name="8339NISTXML-SV-II-atomic-gDay-maxInclusive-5-4 tokoe:invalid" result="pass"/><test-case name="8340NISTXML-SV-II-atomic-gDay-maxInclusive-5-5 tokoe:invalid" result="pass"/><test-case name="8341NISTSchema-SV-II-atomic-gMonth-minInclusive-2 tokoe:valid" result="pass"/><test-case name="8342NISTXML-SV-II-atomic-gMonth-minInclusive-2-1 tokoe:invalid" result="pass"/><test-case name="8343NISTXML-SV-II-atomic-gMonth-minInclusive-2-2 tokoe:invalid" result="pass"/><test-case name="8344NISTXML-SV-II-atomic-gMonth-minInclusive-2-3 tokoe:invalid" result="pass"/><test-case name="8345NISTXML-SV-II-atomic-gMonth-minInclusive-2-4 tokoe:invalid" result="pass"/><test-case name="8346NISTXML-SV-II-atomic-gMonth-minInclusive-2-5 tokoe:invalid" result="pass"/><test-case name="8347NISTSchema-SV-II-atomic-gMonth-minInclusive-3 tokoe:valid" result="pass"/><test-case name="8348NISTXML-SV-II-atomic-gMonth-minInclusive-3-1 tokoe:invalid" result="pass"/><test-case name="8349NISTXML-SV-II-atomic-gMonth-minInclusive-3-2 tokoe:invalid" result="pass"/><test-case name="8350NISTXML-SV-II-atomic-gMonth-minInclusive-3-3 tokoe:invalid" result="pass"/><test-case name="8351NISTXML-SV-II-atomic-gMonth-minInclusive-3-4 tokoe:invalid" result="pass"/><test-case name="8352NISTXML-SV-II-atomic-gMonth-minInclusive-3-5 tokoe:invalid" result="pass"/><test-case name="8353NISTSchema-SV-II-atomic-gMonth-minInclusive-4 tokoe:valid" result="pass"/><test-case name="8354NISTXML-SV-II-atomic-gMonth-minInclusive-4-1 tokoe:invalid" result="pass"/><test-case name="8355NISTXML-SV-II-atomic-gMonth-minInclusive-4-2 tokoe:invalid" result="pass"/><test-case name="8356NISTXML-SV-II-atomic-gMonth-minInclusive-4-3 tokoe:invalid" result="pass"/><test-case name="8357NISTXML-SV-II-atomic-gMonth-minInclusive-4-4 tokoe:invalid" result="pass"/><test-case name="8358NISTXML-SV-II-atomic-gMonth-minInclusive-4-5 tokoe:invalid" result="pass"/><test-case name="8359NISTSchema-SV-II-atomic-gMonth-minInclusive-5 tokoe:valid" result="pass"/><test-case name="8360NISTXML-SV-II-atomic-gMonth-minInclusive-5-1 tokoe:invalid" result="pass"/><test-case name="8361NISTXML-SV-II-atomic-gMonth-minInclusive-5-2 tokoe:invalid" result="pass"/><test-case name="8362NISTXML-SV-II-atomic-gMonth-minInclusive-5-3 tokoe:invalid" result="pass"/><test-case name="8363NISTXML-SV-II-atomic-gMonth-minInclusive-5-4 tokoe:invalid" result="pass"/><test-case name="8364NISTXML-SV-II-atomic-gMonth-minInclusive-5-5 tokoe:invalid" result="pass"/><test-case name="8365NISTSchema-SV-II-atomic-gMonth-minInclusive-6 tokoe:valid" result="pass"/><test-case name="8366NISTXML-SV-II-atomic-gMonth-minInclusive-6-1 tokoe:invalid" result="pass"/><test-case name="8367NISTXML-SV-II-atomic-gMonth-minInclusive-6-2 tokoe:invalid" result="pass"/><test-case name="8368NISTXML-SV-II-atomic-gMonth-minInclusive-6-3 tokoe:invalid" result="pass"/><test-case name="8369NISTXML-SV-II-atomic-gMonth-minInclusive-6-4 tokoe:invalid" result="pass"/><test-case name="8370NISTXML-SV-II-atomic-gMonth-minInclusive-6-5 tokoe:invalid" result="pass"/><test-case name="8371NISTSchema-SV-II-atomic-gMonth-maxInclusive-1 tokoe:valid" result="pass"/><test-case name="8372NISTXML-SV-II-atomic-gMonth-maxInclusive-1-1 tokoe:invalid" result="pass"/><test-case name="8373NISTXML-SV-II-atomic-gMonth-maxInclusive-1-2 tokoe:invalid" result="pass"/><test-case name="8374NISTXML-SV-II-atomic-gMonth-maxInclusive-1-3 tokoe:invalid" result="pass"/><test-case name="8375NISTXML-SV-II-atomic-gMonth-maxInclusive-1-4 tokoe:invalid" result="pass"/><test-case name="8376NISTXML-SV-II-atomic-gMonth-maxInclusive-1-5 tokoe:invalid" result="pass"/><test-case name="8377NISTSchema-SV-II-atomic-gMonth-maxInclusive-2 tokoe:valid" result="pass"/><test-case name="8378NISTXML-SV-II-atomic-gMonth-maxInclusive-2-1 tokoe:invalid" result="pass"/><test-case name="8379NISTXML-SV-II-atomic-gMonth-maxInclusive-2-2 tokoe:invalid" result="pass"/><test-case name="8380NISTXML-SV-II-atomic-gMonth-maxInclusive-2-3 tokoe:invalid" result="pass"/><test-case name="8381NISTXML-SV-II-atomic-gMonth-maxInclusive-2-4 tokoe:invalid" result="pass"/><test-case name="8382NISTXML-SV-II-atomic-gMonth-maxInclusive-2-5 tokoe:invalid" result="pass"/><test-case name="8383NISTSchema-SV-II-atomic-gMonth-maxInclusive-3 tokoe:valid" result="pass"/><test-case name="8384NISTXML-SV-II-atomic-gMonth-maxInclusive-3-1 tokoe:invalid" result="pass"/><test-case name="8385NISTXML-SV-II-atomic-gMonth-maxInclusive-3-2 tokoe:invalid" result="pass"/><test-case name="8386NISTXML-SV-II-atomic-gMonth-maxInclusive-3-3 tokoe:invalid" result="pass"/><test-case name="8387NISTXML-SV-II-atomic-gMonth-maxInclusive-3-4 tokoe:invalid" result="pass"/><test-case name="8388NISTXML-SV-II-atomic-gMonth-maxInclusive-3-5 tokoe:invalid" result="pass"/><test-case name="8389NISTSchema-SV-II-atomic-gMonth-maxInclusive-4 tokoe:valid" result="pass"/><test-case name="8390NISTXML-SV-II-atomic-gMonth-maxInclusive-4-1 tokoe:invalid" result="pass"/><test-case name="8391NISTXML-SV-II-atomic-gMonth-maxInclusive-4-2 tokoe:invalid" result="pass"/><test-case name="8392NISTXML-SV-II-atomic-gMonth-maxInclusive-4-3 tokoe:invalid" result="pass"/><test-case name="8393NISTXML-SV-II-atomic-gMonth-maxInclusive-4-4 tokoe:invalid" result="pass"/><test-case name="8394NISTXML-SV-II-atomic-gMonth-maxInclusive-4-5 tokoe:invalid" result="pass"/><test-case name="8395NISTSchema-SV-II-atomic-gMonth-maxInclusive-5 tokoe:valid" result="pass"/><test-case name="8396NISTXML-SV-II-atomic-gMonth-maxInclusive-5-1 tokoe:invalid" result="pass"/><test-case name="8397NISTXML-SV-II-atomic-gMonth-maxInclusive-5-2 tokoe:invalid" result="pass"/><test-case name="8398NISTXML-SV-II-atomic-gMonth-maxInclusive-5-3 tokoe:invalid" result="pass"/><test-case name="8399NISTXML-SV-II-atomic-gMonth-maxInclusive-5-4 tokoe:invalid" result="pass"/><test-case name="8400NISTXML-SV-II-atomic-gMonth-maxInclusive-5-5 tokoe:invalid" result="pass"/><test-case name="8401NISTSchema-SV-II-atomic-decimal-minExclusive-1 tokoe:valid" result="pass"/><test-case name="8402NISTXML-SV-II-atomic-decimal-minExclusive-1-1 tokoe:invalid" result="pass"/><test-case name="8403NISTSchema-SV-II-atomic-decimal-minExclusive-2 tokoe:valid" result="pass"/><test-case name="8404NISTXML-SV-II-atomic-decimal-minExclusive-2-1 tokoe:invalid" result="pass"/><test-case name="8405NISTXML-SV-II-atomic-decimal-minExclusive-2-2 tokoe:invalid" result="pass"/><test-case name="8406NISTXML-SV-II-atomic-decimal-minExclusive-2-3 tokoe:invalid" result="pass"/><test-case name="8407NISTXML-SV-II-atomic-decimal-minExclusive-2-4 tokoe:invalid" result="pass"/><test-case name="8408NISTXML-SV-II-atomic-decimal-minExclusive-2-5 tokoe:invalid" result="pass"/><test-case name="8409NISTSchema-SV-II-atomic-decimal-minExclusive-3 tokoe:valid" result="pass"/><test-case name="8410NISTXML-SV-II-atomic-decimal-minExclusive-3-1 tokoe:invalid" result="pass"/><test-case name="8411NISTXML-SV-II-atomic-decimal-minExclusive-3-2 tokoe:invalid" result="pass"/><test-case name="8412NISTXML-SV-II-atomic-decimal-minExclusive-3-3 tokoe:invalid" result="pass"/><test-case name="8413NISTXML-SV-II-atomic-decimal-minExclusive-3-4 tokoe:invalid" result="pass"/><test-case name="8414NISTXML-SV-II-atomic-decimal-minExclusive-3-5 tokoe:invalid" result="pass"/><test-case name="8415NISTSchema-SV-II-atomic-decimal-minExclusive-4 tokoe:valid" result="pass"/><test-case name="8416NISTXML-SV-II-atomic-decimal-minExclusive-4-1 tokoe:invalid" result="pass"/><test-case name="8417NISTXML-SV-II-atomic-decimal-minExclusive-4-2 tokoe:invalid" result="pass"/><test-case name="8418NISTXML-SV-II-atomic-decimal-minExclusive-4-3 tokoe:invalid" result="pass"/><test-case name="8419NISTXML-SV-II-atomic-decimal-minExclusive-4-4 tokoe:invalid" result="pass"/><test-case name="8420NISTXML-SV-II-atomic-decimal-minExclusive-4-5 tokoe:invalid" result="pass"/><test-case name="8421NISTSchema-SV-II-atomic-decimal-minExclusive-5 tokoe:valid" result="pass"/><test-case name="8422NISTXML-SV-II-atomic-decimal-minExclusive-5-1 tokoe:invalid" result="pass"/><test-case name="8423NISTXML-SV-II-atomic-decimal-minExclusive-5-2 tokoe:invalid" result="pass"/><test-case name="8424NISTXML-SV-II-atomic-decimal-minExclusive-5-3 tokoe:invalid" result="pass"/><test-case name="8425NISTXML-SV-II-atomic-decimal-minExclusive-5-4 tokoe:invalid" result="pass"/><test-case name="8426NISTXML-SV-II-atomic-decimal-minExclusive-5-5 tokoe:invalid" result="pass"/><test-case name="8427NISTSchema-SV-II-atomic-decimal-maxExclusive-1 tokoe:valid" result="pass"/><test-case name="8428NISTXML-SV-II-atomic-decimal-maxExclusive-1-1 tokoe:invalid" result="pass"/><test-case name="8429NISTXML-SV-II-atomic-decimal-maxExclusive-1-2 tokoe:invalid" result="pass"/><test-case name="8430NISTXML-SV-II-atomic-decimal-maxExclusive-1-3 tokoe:invalid" result="pass"/><test-case name="8431NISTXML-SV-II-atomic-decimal-maxExclusive-1-4 tokoe:invalid" result="pass"/><test-case name="8432NISTXML-SV-II-atomic-decimal-maxExclusive-1-5 tokoe:invalid" result="pass"/><test-case name="8433NISTSchema-SV-II-atomic-decimal-maxExclusive-2 tokoe:valid" result="pass"/><test-case name="8434NISTXML-SV-II-atomic-decimal-maxExclusive-2-1 tokoe:invalid" result="pass"/><test-case name="8435NISTXML-SV-II-atomic-decimal-maxExclusive-2-2 tokoe:invalid" result="pass"/><test-case name="8436NISTXML-SV-II-atomic-decimal-maxExclusive-2-3 tokoe:invalid" result="pass"/><test-case name="8437NISTXML-SV-II-atomic-decimal-maxExclusive-2-4 tokoe:invalid" result="pass"/><test-case name="8438NISTXML-SV-II-atomic-decimal-maxExclusive-2-5 tokoe:invalid" result="pass"/><test-case name="8439NISTSchema-SV-II-atomic-decimal-maxExclusive-3 tokoe:valid" result="pass"/><test-case name="8440NISTXML-SV-II-atomic-decimal-maxExclusive-3-1 tokoe:invalid" result="pass"/><test-case name="8441NISTXML-SV-II-atomic-decimal-maxExclusive-3-2 tokoe:invalid" result="pass"/><test-case name="8442NISTXML-SV-II-atomic-decimal-maxExclusive-3-3 tokoe:invalid" result="pass"/><test-case name="8443NISTXML-SV-II-atomic-decimal-maxExclusive-3-4 tokoe:invalid" result="pass"/><test-case name="8444NISTXML-SV-II-atomic-decimal-maxExclusive-3-5 tokoe:invalid" result="pass"/><test-case name="8445NISTSchema-SV-II-atomic-decimal-maxExclusive-4 tokoe:valid" result="pass"/><test-case name="8446NISTXML-SV-II-atomic-decimal-maxExclusive-4-1 tokoe:invalid" result="pass"/><test-case name="8447NISTXML-SV-II-atomic-decimal-maxExclusive-4-2 tokoe:invalid" result="pass"/><test-case name="8448NISTXML-SV-II-atomic-decimal-maxExclusive-4-3 tokoe:invalid" result="pass"/><test-case name="8449NISTXML-SV-II-atomic-decimal-maxExclusive-4-4 tokoe:invalid" result="pass"/><test-case name="8450NISTXML-SV-II-atomic-decimal-maxExclusive-4-5 tokoe:invalid" result="pass"/><test-case name="8451NISTSchema-SV-II-atomic-decimal-maxExclusive-5 tokoe:valid" result="pass"/><test-case name="8452NISTXML-SV-II-atomic-decimal-maxExclusive-5-1 tokoe:invalid" result="pass"/><test-case name="8453NISTSchema-SV-II-atomic-decimal-pattern-1 tokoe:valid" result="pass"/><test-case name="8454NISTXML-SV-II-atomic-decimal-pattern-1-1 tokoe:invalid" result="pass"/><test-case name="8455NISTXML-SV-II-atomic-decimal-pattern-1-2 tokoe:invalid" result="pass"/><test-case name="8456NISTXML-SV-II-atomic-decimal-pattern-1-3 tokoe:invalid" result="pass"/><test-case name="8457NISTXML-SV-II-atomic-decimal-pattern-1-4 tokoe:invalid" result="pass"/><test-case name="8458NISTXML-SV-II-atomic-decimal-pattern-1-5 tokoe:invalid" result="pass"/><test-case name="8459NISTSchema-SV-II-atomic-decimal-pattern-2 tokoe:valid" result="pass"/><test-case name="8460NISTXML-SV-II-atomic-decimal-pattern-2-1 tokoe:invalid" result="pass"/><test-case name="8461NISTXML-SV-II-atomic-decimal-pattern-2-2 tokoe:invalid" result="pass"/><test-case name="8462NISTXML-SV-II-atomic-decimal-pattern-2-3 tokoe:invalid" result="pass"/><test-case name="8463NISTXML-SV-II-atomic-decimal-pattern-2-4 tokoe:invalid" result="pass"/><test-case name="8464NISTXML-SV-II-atomic-decimal-pattern-2-5 tokoe:invalid" result="pass"/><test-case name="8465NISTSchema-SV-II-atomic-decimal-pattern-3 tokoe:valid" result="pass"/><test-case name="8466NISTXML-SV-II-atomic-decimal-pattern-3-1 tokoe:invalid" result="pass"/><test-case name="8467NISTXML-SV-II-atomic-decimal-pattern-3-2 tokoe:invalid" result="pass"/><test-case name="8468NISTXML-SV-II-atomic-decimal-pattern-3-3 tokoe:invalid" result="pass"/><test-case name="8469NISTXML-SV-II-atomic-decimal-pattern-3-4 tokoe:invalid" result="pass"/><test-case name="8470NISTXML-SV-II-atomic-decimal-pattern-3-5 tokoe:invalid" result="pass"/><test-case name="8471NISTSchema-SV-II-atomic-decimal-pattern-4 tokoe:valid" result="pass"/><test-case name="8472NISTXML-SV-II-atomic-decimal-pattern-4-1 tokoe:invalid" result="pass"/><test-case name="8473NISTXML-SV-II-atomic-decimal-pattern-4-2 tokoe:invalid" result="pass"/><test-case name="8474NISTXML-SV-II-atomic-decimal-pattern-4-3 tokoe:invalid" result="pass"/><test-case name="8475NISTXML-SV-II-atomic-decimal-pattern-4-4 tokoe:invalid" result="pass"/><test-case name="8476NISTXML-SV-II-atomic-decimal-pattern-4-5 tokoe:invalid" result="pass"/><test-case name="8477NISTSchema-SV-II-atomic-decimal-pattern-5 tokoe:valid" result="pass"/><test-case name="8478NISTXML-SV-II-atomic-decimal-pattern-5-1 tokoe:invalid" result="pass"/><test-case name="8479NISTXML-SV-II-atomic-decimal-pattern-5-2 tokoe:invalid" result="pass"/><test-case name="8480NISTXML-SV-II-atomic-decimal-pattern-5-3 tokoe:invalid" result="pass"/><test-case name="8481NISTXML-SV-II-atomic-decimal-pattern-5-4 tokoe:invalid" result="pass"/><test-case name="8482NISTXML-SV-II-atomic-decimal-pattern-5-5 tokoe:invalid" result="pass"/><test-case name="8483NISTSchema-SV-II-atomic-decimal-enumeration-1 tokoe:valid" result="pass"/><test-case name="8484NISTXML-SV-II-atomic-decimal-enumeration-1-1 tokoe:invalid" result="pass"/><test-case name="8485NISTXML-SV-II-atomic-decimal-enumeration-1-2 tokoe:invalid" result="pass"/><test-case name="8486NISTXML-SV-II-atomic-decimal-enumeration-1-3 tokoe:invalid" result="pass"/><test-case name="8487NISTXML-SV-II-atomic-decimal-enumeration-1-4 tokoe:invalid" result="pass"/><test-case name="8488NISTXML-SV-II-atomic-decimal-enumeration-1-5 tokoe:invalid" result="pass"/><test-case name="8489NISTSchema-SV-II-atomic-decimal-enumeration-2 tokoe:valid" result="pass"/><test-case name="8490NISTXML-SV-II-atomic-decimal-enumeration-2-1 tokoe:invalid" result="pass"/><test-case name="8491NISTXML-SV-II-atomic-decimal-enumeration-2-2 tokoe:invalid" result="pass"/><test-case name="8492NISTXML-SV-II-atomic-decimal-enumeration-2-3 tokoe:invalid" result="pass"/><test-case name="8493NISTXML-SV-II-atomic-decimal-enumeration-2-4 tokoe:invalid" result="pass"/><test-case name="8494NISTXML-SV-II-atomic-decimal-enumeration-2-5 tokoe:invalid" result="pass"/><test-case name="8495NISTSchema-SV-II-atomic-decimal-enumeration-3 tokoe:valid" result="pass"/><test-case name="8496NISTXML-SV-II-atomic-decimal-enumeration-3-1 tokoe:invalid" result="pass"/><test-case name="8497NISTXML-SV-II-atomic-decimal-enumeration-3-2 tokoe:invalid" result="pass"/><test-case name="8498NISTXML-SV-II-atomic-decimal-enumeration-3-3 tokoe:invalid" result="pass"/><test-case name="8499NISTXML-SV-II-atomic-decimal-enumeration-3-4 tokoe:invalid" result="pass"/><test-case name="8500NISTXML-SV-II-atomic-decimal-enumeration-3-5 tokoe:invalid" result="pass"/><test-case name="8501NISTSchema-SV-II-atomic-decimal-enumeration-4 tokoe:valid" result="pass"/><test-case name="8502NISTXML-SV-II-atomic-decimal-enumeration-4-1 tokoe:invalid" result="pass"/><test-case name="8503NISTXML-SV-II-atomic-decimal-enumeration-4-2 tokoe:invalid" result="pass"/><test-case name="8504NISTXML-SV-II-atomic-decimal-enumeration-4-3 tokoe:invalid" result="pass"/><test-case name="8505NISTXML-SV-II-atomic-decimal-enumeration-4-4 tokoe:invalid" result="pass"/><test-case name="8506NISTXML-SV-II-atomic-decimal-enumeration-4-5 tokoe:invalid" result="pass"/><test-case name="8507NISTSchema-SV-II-atomic-decimal-enumeration-5 tokoe:valid" result="pass"/><test-case name="8508NISTXML-SV-II-atomic-decimal-enumeration-5-1 tokoe:invalid" result="pass"/><test-case name="8509NISTXML-SV-II-atomic-decimal-enumeration-5-2 tokoe:invalid" result="pass"/><test-case name="8510NISTXML-SV-II-atomic-decimal-enumeration-5-3 tokoe:invalid" result="pass"/><test-case name="8511NISTXML-SV-II-atomic-decimal-enumeration-5-4 tokoe:invalid" result="pass"/><test-case name="8512NISTXML-SV-II-atomic-decimal-enumeration-5-5 tokoe:invalid" result="pass"/><test-case name="8513NISTSchema-SV-II-atomic-integer-minExclusive-1 tokoe:valid" result="pass"/><test-case name="8514NISTXML-SV-II-atomic-integer-minExclusive-1-1 tokoe:invalid" result="pass"/><test-case name="8515NISTSchema-SV-II-atomic-integer-minExclusive-2 tokoe:valid" result="pass"/><test-case name="8516NISTXML-SV-II-atomic-integer-minExclusive-2-1 tokoe:invalid" result="pass"/><test-case name="8517NISTXML-SV-II-atomic-integer-minExclusive-2-2 tokoe:invalid" result="pass"/><test-case name="8518NISTXML-SV-II-atomic-integer-minExclusive-2-3 tokoe:invalid" result="pass"/><test-case name="8519NISTXML-SV-II-atomic-integer-minExclusive-2-4 tokoe:invalid" result="pass"/><test-case name="8520NISTXML-SV-II-atomic-integer-minExclusive-2-5 tokoe:invalid" result="pass"/><test-case name="8521NISTSchema-SV-II-atomic-integer-minExclusive-3 tokoe:valid" result="pass"/><test-case name="8522NISTXML-SV-II-atomic-integer-minExclusive-3-1 tokoe:invalid" result="pass"/><test-case name="8523NISTXML-SV-II-atomic-integer-minExclusive-3-2 tokoe:invalid" result="pass"/><test-case name="8524NISTXML-SV-II-atomic-integer-minExclusive-3-3 tokoe:invalid" result="pass"/><test-case name="8525NISTXML-SV-II-atomic-integer-minExclusive-3-4 tokoe:invalid" result="pass"/><test-case name="8526NISTXML-SV-II-atomic-integer-minExclusive-3-5 tokoe:invalid" result="pass"/><test-case name="8527NISTSchema-SV-II-atomic-integer-minExclusive-4 tokoe:valid" result="pass"/><test-case name="8528NISTXML-SV-II-atomic-integer-minExclusive-4-1 tokoe:invalid" result="pass"/><test-case name="8529NISTXML-SV-II-atomic-integer-minExclusive-4-2 tokoe:invalid" result="pass"/><test-case name="8530NISTXML-SV-II-atomic-integer-minExclusive-4-3 tokoe:invalid" result="pass"/><test-case name="8531NISTXML-SV-II-atomic-integer-minExclusive-4-4 tokoe:invalid" result="pass"/><test-case name="8532NISTXML-SV-II-atomic-integer-minExclusive-4-5 tokoe:invalid" result="pass"/><test-case name="8533NISTSchema-SV-II-atomic-integer-minExclusive-5 tokoe:valid" result="pass"/><test-case name="8534NISTXML-SV-II-atomic-integer-minExclusive-5-1 tokoe:invalid" result="pass"/><test-case name="8535NISTXML-SV-II-atomic-integer-minExclusive-5-2 tokoe:invalid" result="pass"/><test-case name="8536NISTXML-SV-II-atomic-integer-minExclusive-5-3 tokoe:invalid" result="pass"/><test-case name="8537NISTXML-SV-II-atomic-integer-minExclusive-5-4 tokoe:invalid" result="pass"/><test-case name="8538NISTXML-SV-II-atomic-integer-minExclusive-5-5 tokoe:invalid" result="pass"/><test-case name="8539NISTSchema-SV-II-atomic-integer-maxExclusive-1 tokoe:valid" result="pass"/><test-case name="8540NISTXML-SV-II-atomic-integer-maxExclusive-1-1 tokoe:invalid" result="pass"/><test-case name="8541NISTXML-SV-II-atomic-integer-maxExclusive-1-2 tokoe:invalid" result="pass"/><test-case name="8542NISTXML-SV-II-atomic-integer-maxExclusive-1-3 tokoe:invalid" result="pass"/><test-case name="8543NISTXML-SV-II-atomic-integer-maxExclusive-1-4 tokoe:invalid" result="pass"/><test-case name="8544NISTXML-SV-II-atomic-integer-maxExclusive-1-5 tokoe:invalid" result="pass"/><test-case name="8545NISTSchema-SV-II-atomic-integer-maxExclusive-2 tokoe:valid" result="pass"/><test-case name="8546NISTXML-SV-II-atomic-integer-maxExclusive-2-1 tokoe:invalid" result="pass"/><test-case name="8547NISTXML-SV-II-atomic-integer-maxExclusive-2-2 tokoe:invalid" result="pass"/><test-case name="8548NISTXML-SV-II-atomic-integer-maxExclusive-2-3 tokoe:invalid" result="pass"/><test-case name="8549NISTXML-SV-II-atomic-integer-maxExclusive-2-4 tokoe:invalid" result="pass"/><test-case name="8550NISTXML-SV-II-atomic-integer-maxExclusive-2-5 tokoe:invalid" result="pass"/><test-case name="8551NISTSchema-SV-II-atomic-integer-maxExclusive-3 tokoe:valid" result="pass"/><test-case name="8552NISTXML-SV-II-atomic-integer-maxExclusive-3-1 tokoe:invalid" result="pass"/><test-case name="8553NISTXML-SV-II-atomic-integer-maxExclusive-3-2 tokoe:invalid" result="pass"/><test-case name="8554NISTXML-SV-II-atomic-integer-maxExclusive-3-3 tokoe:invalid" result="pass"/><test-case name="8555NISTXML-SV-II-atomic-integer-maxExclusive-3-4 tokoe:invalid" result="pass"/><test-case name="8556NISTXML-SV-II-atomic-integer-maxExclusive-3-5 tokoe:invalid" result="pass"/><test-case name="8557NISTSchema-SV-II-atomic-integer-maxExclusive-4 tokoe:valid" result="pass"/><test-case name="8558NISTXML-SV-II-atomic-integer-maxExclusive-4-1 tokoe:invalid" result="pass"/><test-case name="8559NISTXML-SV-II-atomic-integer-maxExclusive-4-2 tokoe:invalid" result="pass"/><test-case name="8560NISTXML-SV-II-atomic-integer-maxExclusive-4-3 tokoe:invalid" result="pass"/><test-case name="8561NISTXML-SV-II-atomic-integer-maxExclusive-4-4 tokoe:invalid" result="pass"/><test-case name="8562NISTXML-SV-II-atomic-integer-maxExclusive-4-5 tokoe:invalid" result="pass"/><test-case name="8563NISTSchema-SV-II-atomic-integer-maxExclusive-5 tokoe:valid" result="pass"/><test-case name="8564NISTXML-SV-II-atomic-integer-maxExclusive-5-1 tokoe:invalid" result="pass"/><test-case name="8565NISTSchema-SV-II-atomic-integer-pattern-1 tokoe:valid" result="pass"/><test-case name="8566NISTXML-SV-II-atomic-integer-pattern-1-1 tokoe:invalid" result="pass"/><test-case name="8567NISTXML-SV-II-atomic-integer-pattern-1-2 tokoe:invalid" result="pass"/><test-case name="8568NISTXML-SV-II-atomic-integer-pattern-1-3 tokoe:invalid" result="pass"/><test-case name="8569NISTXML-SV-II-atomic-integer-pattern-1-4 tokoe:invalid" result="pass"/><test-case name="8570NISTXML-SV-II-atomic-integer-pattern-1-5 tokoe:invalid" result="pass"/><test-case name="8571NISTSchema-SV-II-atomic-integer-pattern-2 tokoe:valid" result="pass"/><test-case name="8572NISTXML-SV-II-atomic-integer-pattern-2-1 tokoe:invalid" result="pass"/><test-case name="8573NISTXML-SV-II-atomic-integer-pattern-2-2 tokoe:invalid" result="pass"/><test-case name="8574NISTXML-SV-II-atomic-integer-pattern-2-3 tokoe:invalid" result="pass"/><test-case name="8575NISTXML-SV-II-atomic-integer-pattern-2-4 tokoe:invalid" result="pass"/><test-case name="8576NISTXML-SV-II-atomic-integer-pattern-2-5 tokoe:invalid" result="pass"/><test-case name="8577NISTSchema-SV-II-atomic-integer-pattern-3 tokoe:valid" result="pass"/><test-case name="8578NISTXML-SV-II-atomic-integer-pattern-3-1 tokoe:invalid" result="pass"/><test-case name="8579NISTXML-SV-II-atomic-integer-pattern-3-2 tokoe:invalid" result="pass"/><test-case name="8580NISTXML-SV-II-atomic-integer-pattern-3-3 tokoe:invalid" result="pass"/><test-case name="8581NISTXML-SV-II-atomic-integer-pattern-3-4 tokoe:invalid" result="pass"/><test-case name="8582NISTXML-SV-II-atomic-integer-pattern-3-5 tokoe:invalid" result="pass"/><test-case name="8583NISTSchema-SV-II-atomic-integer-pattern-4 tokoe:valid" result="pass"/><test-case name="8584NISTXML-SV-II-atomic-integer-pattern-4-1 tokoe:invalid" result="pass"/><test-case name="8585NISTXML-SV-II-atomic-integer-pattern-4-2 tokoe:invalid" result="pass"/><test-case name="8586NISTXML-SV-II-atomic-integer-pattern-4-3 tokoe:invalid" result="pass"/><test-case name="8587NISTXML-SV-II-atomic-integer-pattern-4-4 tokoe:invalid" result="pass"/><test-case name="8588NISTXML-SV-II-atomic-integer-pattern-4-5 tokoe:invalid" result="pass"/><test-case name="8589NISTSchema-SV-II-atomic-integer-pattern-5 tokoe:valid" result="pass"/><test-case name="8590NISTXML-SV-II-atomic-integer-pattern-5-1 tokoe:invalid" result="pass"/><test-case name="8591NISTXML-SV-II-atomic-integer-pattern-5-2 tokoe:invalid" result="pass"/><test-case name="8592NISTXML-SV-II-atomic-integer-pattern-5-3 tokoe:invalid" result="pass"/><test-case name="8593NISTXML-SV-II-atomic-integer-pattern-5-4 tokoe:invalid" result="pass"/><test-case name="8594NISTXML-SV-II-atomic-integer-pattern-5-5 tokoe:invalid" result="pass"/><test-case name="8595NISTSchema-SV-II-atomic-integer-enumeration-1 tokoe:valid" result="pass"/><test-case name="8596NISTXML-SV-II-atomic-integer-enumeration-1-1 tokoe:invalid" result="pass"/><test-case name="8597NISTXML-SV-II-atomic-integer-enumeration-1-2 tokoe:invalid" result="pass"/><test-case name="8598NISTXML-SV-II-atomic-integer-enumeration-1-3 tokoe:invalid" result="pass"/><test-case name="8599NISTXML-SV-II-atomic-integer-enumeration-1-4 tokoe:invalid" result="pass"/><test-case name="8600NISTXML-SV-II-atomic-integer-enumeration-1-5 tokoe:invalid" result="pass"/><test-case name="8601NISTSchema-SV-II-atomic-integer-enumeration-2 tokoe:valid" result="pass"/><test-case name="8602NISTXML-SV-II-atomic-integer-enumeration-2-1 tokoe:invalid" result="pass"/><test-case name="8603NISTXML-SV-II-atomic-integer-enumeration-2-2 tokoe:invalid" result="pass"/><test-case name="8604NISTXML-SV-II-atomic-integer-enumeration-2-3 tokoe:invalid" result="pass"/><test-case name="8605NISTXML-SV-II-atomic-integer-enumeration-2-4 tokoe:invalid" result="pass"/><test-case name="8606NISTXML-SV-II-atomic-integer-enumeration-2-5 tokoe:invalid" result="pass"/><test-case name="8607NISTSchema-SV-II-atomic-integer-enumeration-3 tokoe:valid" result="pass"/><test-case name="8608NISTXML-SV-II-atomic-integer-enumeration-3-1 tokoe:invalid" result="pass"/><test-case name="8609NISTXML-SV-II-atomic-integer-enumeration-3-2 tokoe:invalid" result="pass"/><test-case name="8610NISTXML-SV-II-atomic-integer-enumeration-3-3 tokoe:invalid" result="pass"/><test-case name="8611NISTXML-SV-II-atomic-integer-enumeration-3-4 tokoe:invalid" result="pass"/><test-case name="8612NISTXML-SV-II-atomic-integer-enumeration-3-5 tokoe:invalid" result="pass"/><test-case name="8613NISTSchema-SV-II-atomic-integer-enumeration-4 tokoe:valid" result="pass"/><test-case name="8614NISTXML-SV-II-atomic-integer-enumeration-4-1 tokoe:invalid" result="pass"/><test-case name="8615NISTXML-SV-II-atomic-integer-enumeration-4-2 tokoe:invalid" result="pass"/><test-case name="8616NISTXML-SV-II-atomic-integer-enumeration-4-3 tokoe:invalid" result="pass"/><test-case name="8617NISTXML-SV-II-atomic-integer-enumeration-4-4 tokoe:invalid" result="pass"/><test-case name="8618NISTXML-SV-II-atomic-integer-enumeration-4-5 tokoe:invalid" result="pass"/><test-case name="8619NISTSchema-SV-II-atomic-integer-enumeration-5 tokoe:valid" result="pass"/><test-case name="8620NISTXML-SV-II-atomic-integer-enumeration-5-1 tokoe:invalid" result="pass"/><test-case name="8621NISTXML-SV-II-atomic-integer-enumeration-5-2 tokoe:invalid" result="pass"/><test-case name="8622NISTXML-SV-II-atomic-integer-enumeration-5-3 tokoe:invalid" result="pass"/><test-case name="8623NISTXML-SV-II-atomic-integer-enumeration-5-4 tokoe:invalid" result="pass"/><test-case name="8624NISTXML-SV-II-atomic-integer-enumeration-5-5 tokoe:invalid" result="pass"/><test-case name="8625NISTSchema-SV-II-atomic-nonPositiveInteger-minExclusive-1 tokoe:valid" result="pass"/><test-case name="8626NISTXML-SV-II-atomic-nonPositiveInteger-minExclusive-1-1 tokoe:invalid" result="pass"/><test-case name="8627NISTSchema-SV-II-atomic-nonPositiveInteger-minExclusive-2 tokoe:valid" result="pass"/><test-case name="8628NISTXML-SV-II-atomic-nonPositiveInteger-minExclusive-2-1 tokoe:invalid" result="pass"/><test-case name="8629NISTXML-SV-II-atomic-nonPositiveInteger-minExclusive-2-2 tokoe:invalid" result="pass"/><test-case name="8630NISTXML-SV-II-atomic-nonPositiveInteger-minExclusive-2-3 tokoe:invalid" result="pass"/><test-case name="8631NISTXML-SV-II-atomic-nonPositiveInteger-minExclusive-2-4 tokoe:invalid" result="pass"/><test-case name="8632NISTXML-SV-II-atomic-nonPositiveInteger-minExclusive-2-5 tokoe:invalid" result="pass"/><test-case name="8633NISTSchema-SV-II-atomic-nonPositiveInteger-minExclusive-3 tokoe:valid" result="pass"/><test-case name="8634NISTXML-SV-II-atomic-nonPositiveInteger-minExclusive-3-1 tokoe:invalid" result="pass"/><test-case name="8635NISTXML-SV-II-atomic-nonPositiveInteger-minExclusive-3-2 tokoe:invalid" result="pass"/><test-case name="8636NISTXML-SV-II-atomic-nonPositiveInteger-minExclusive-3-3 tokoe:invalid" result="pass"/><test-case name="8637NISTXML-SV-II-atomic-nonPositiveInteger-minExclusive-3-4 tokoe:invalid" result="pass"/><test-case name="8638NISTXML-SV-II-atomic-nonPositiveInteger-minExclusive-3-5 tokoe:invalid" result="pass"/><test-case name="8639NISTSchema-SV-II-atomic-nonPositiveInteger-minExclusive-4 tokoe:valid" result="pass"/><test-case name="8640NISTXML-SV-II-atomic-nonPositiveInteger-minExclusive-4-1 tokoe:invalid" result="pass"/><test-case name="8641NISTXML-SV-II-atomic-nonPositiveInteger-minExclusive-4-2 tokoe:invalid" result="pass"/><test-case name="8642NISTXML-SV-II-atomic-nonPositiveInteger-minExclusive-4-3 tokoe:invalid" result="pass"/><test-case name="8643NISTXML-SV-II-atomic-nonPositiveInteger-minExclusive-4-4 tokoe:invalid" result="pass"/><test-case name="8644NISTXML-SV-II-atomic-nonPositiveInteger-minExclusive-4-5 tokoe:invalid" result="pass"/><test-case name="8645NISTSchema-SV-II-atomic-nonPositiveInteger-minExclusive-5 tokoe:valid" result="pass"/><test-case name="8646NISTXML-SV-II-atomic-nonPositiveInteger-minExclusive-5-1 tokoe:invalid" result="pass"/><test-case name="8647NISTXML-SV-II-atomic-nonPositiveInteger-minExclusive-5-2 tokoe:invalid" result="pass"/><test-case name="8648NISTXML-SV-II-atomic-nonPositiveInteger-minExclusive-5-3 tokoe:invalid" result="pass"/><test-case name="8649NISTXML-SV-II-atomic-nonPositiveInteger-minExclusive-5-4 tokoe:invalid" result="pass"/><test-case name="8650NISTXML-SV-II-atomic-nonPositiveInteger-minExclusive-5-5 tokoe:invalid" result="pass"/><test-case name="8651NISTSchema-SV-II-atomic-nonPositiveInteger-maxExclusive-1 tokoe:valid" result="pass"/><test-case name="8652NISTXML-SV-II-atomic-nonPositiveInteger-maxExclusive-1-1 tokoe:invalid" result="pass"/><test-case name="8653NISTXML-SV-II-atomic-nonPositiveInteger-maxExclusive-1-2 tokoe:invalid" result="pass"/><test-case name="8654NISTXML-SV-II-atomic-nonPositiveInteger-maxExclusive-1-3 tokoe:invalid" result="pass"/><test-case name="8655NISTXML-SV-II-atomic-nonPositiveInteger-maxExclusive-1-4 tokoe:invalid" result="pass"/><test-case name="8656NISTXML-SV-II-atomic-nonPositiveInteger-maxExclusive-1-5 tokoe:invalid" result="pass"/><test-case name="8657NISTSchema-SV-II-atomic-nonPositiveInteger-maxExclusive-2 tokoe:valid" result="pass"/><test-case name="8658NISTXML-SV-II-atomic-nonPositiveInteger-maxExclusive-2-1 tokoe:invalid" result="pass"/><test-case name="8659NISTXML-SV-II-atomic-nonPositiveInteger-maxExclusive-2-2 tokoe:invalid" result="pass"/><test-case name="8660NISTXML-SV-II-atomic-nonPositiveInteger-maxExclusive-2-3 tokoe:invalid" result="pass"/><test-case name="8661NISTXML-SV-II-atomic-nonPositiveInteger-maxExclusive-2-4 tokoe:invalid" result="pass"/><test-case name="8662NISTXML-SV-II-atomic-nonPositiveInteger-maxExclusive-2-5 tokoe:invalid" result="pass"/><test-case name="8663NISTSchema-SV-II-atomic-nonPositiveInteger-maxExclusive-3 tokoe:valid" result="pass"/><test-case name="8664NISTXML-SV-II-atomic-nonPositiveInteger-maxExclusive-3-1 tokoe:invalid" result="pass"/><test-case name="8665NISTXML-SV-II-atomic-nonPositiveInteger-maxExclusive-3-2 tokoe:invalid" result="pass"/><test-case name="8666NISTXML-SV-II-atomic-nonPositiveInteger-maxExclusive-3-3 tokoe:invalid" result="pass"/><test-case name="8667NISTXML-SV-II-atomic-nonPositiveInteger-maxExclusive-3-4 tokoe:invalid" result="pass"/><test-case name="8668NISTXML-SV-II-atomic-nonPositiveInteger-maxExclusive-3-5 tokoe:invalid" result="pass"/><test-case name="8669NISTSchema-SV-II-atomic-nonPositiveInteger-maxExclusive-4 tokoe:valid" result="pass"/><test-case name="8670NISTXML-SV-II-atomic-nonPositiveInteger-maxExclusive-4-1 tokoe:invalid" result="pass"/><test-case name="8671NISTXML-SV-II-atomic-nonPositiveInteger-maxExclusive-4-2 tokoe:invalid" result="pass"/><test-case name="8672NISTXML-SV-II-atomic-nonPositiveInteger-maxExclusive-4-3 tokoe:invalid" result="pass"/><test-case name="8673NISTXML-SV-II-atomic-nonPositiveInteger-maxExclusive-4-4 tokoe:invalid" result="pass"/><test-case name="8674NISTXML-SV-II-atomic-nonPositiveInteger-maxExclusive-4-5 tokoe:invalid" result="pass"/><test-case name="8675NISTSchema-SV-II-atomic-nonPositiveInteger-maxExclusive-5 tokoe:valid" result="pass"/><test-case name="8676NISTXML-SV-II-atomic-nonPositiveInteger-maxExclusive-5-1 tokoe:invalid" result="pass"/><test-case name="8677NISTSchema-SV-II-atomic-nonPositiveInteger-pattern-1 tokoe:valid" result="pass"/><test-case name="8678NISTXML-SV-II-atomic-nonPositiveInteger-pattern-1-1 tokoe:invalid" result="pass"/><test-case name="8679NISTXML-SV-II-atomic-nonPositiveInteger-pattern-1-2 tokoe:invalid" result="pass"/><test-case name="8680NISTXML-SV-II-atomic-nonPositiveInteger-pattern-1-3 tokoe:invalid" result="pass"/><test-case name="8681NISTXML-SV-II-atomic-nonPositiveInteger-pattern-1-4 tokoe:invalid" result="pass"/><test-case name="8682NISTXML-SV-II-atomic-nonPositiveInteger-pattern-1-5 tokoe:invalid" result="pass"/><test-case name="8683NISTSchema-SV-II-atomic-nonPositiveInteger-pattern-2 tokoe:valid" result="pass"/><test-case name="8684NISTXML-SV-II-atomic-nonPositiveInteger-pattern-2-1 tokoe:invalid" result="pass"/><test-case name="8685NISTXML-SV-II-atomic-nonPositiveInteger-pattern-2-2 tokoe:invalid" result="pass"/><test-case name="8686NISTXML-SV-II-atomic-nonPositiveInteger-pattern-2-3 tokoe:invalid" result="pass"/><test-case name="8687NISTXML-SV-II-atomic-nonPositiveInteger-pattern-2-4 tokoe:invalid" result="pass"/><test-case name="8688NISTXML-SV-II-atomic-nonPositiveInteger-pattern-2-5 tokoe:invalid" result="pass"/><test-case name="8689NISTSchema-SV-II-atomic-nonPositiveInteger-pattern-3 tokoe:valid" result="pass"/><test-case name="8690NISTXML-SV-II-atomic-nonPositiveInteger-pattern-3-1 tokoe:invalid" result="pass"/><test-case name="8691NISTXML-SV-II-atomic-nonPositiveInteger-pattern-3-2 tokoe:invalid" result="pass"/><test-case name="8692NISTXML-SV-II-atomic-nonPositiveInteger-pattern-3-3 tokoe:invalid" result="pass"/><test-case name="8693NISTXML-SV-II-atomic-nonPositiveInteger-pattern-3-4 tokoe:invalid" result="pass"/><test-case name="8694NISTXML-SV-II-atomic-nonPositiveInteger-pattern-3-5 tokoe:invalid" result="pass"/><test-case name="8695NISTSchema-SV-II-atomic-nonPositiveInteger-pattern-4 tokoe:valid" result="pass"/><test-case name="8696NISTXML-SV-II-atomic-nonPositiveInteger-pattern-4-1 tokoe:invalid" result="pass"/><test-case name="8697NISTXML-SV-II-atomic-nonPositiveInteger-pattern-4-2 tokoe:invalid" result="pass"/><test-case name="8698NISTXML-SV-II-atomic-nonPositiveInteger-pattern-4-3 tokoe:invalid" result="pass"/><test-case name="8699NISTXML-SV-II-atomic-nonPositiveInteger-pattern-4-4 tokoe:invalid" result="pass"/><test-case name="8700NISTXML-SV-II-atomic-nonPositiveInteger-pattern-4-5 tokoe:invalid" result="pass"/><test-case name="8701NISTSchema-SV-II-atomic-nonPositiveInteger-pattern-5 tokoe:valid" result="pass"/><test-case name="8702NISTXML-SV-II-atomic-nonPositiveInteger-pattern-5-1 tokoe:invalid" result="pass"/><test-case name="8703NISTXML-SV-II-atomic-nonPositiveInteger-pattern-5-2 tokoe:invalid" result="pass"/><test-case name="8704NISTXML-SV-II-atomic-nonPositiveInteger-pattern-5-3 tokoe:invalid" result="pass"/><test-case name="8705NISTXML-SV-II-atomic-nonPositiveInteger-pattern-5-4 tokoe:invalid" result="pass"/><test-case name="8706NISTXML-SV-II-atomic-nonPositiveInteger-pattern-5-5 tokoe:invalid" result="pass"/><test-case name="8707NISTSchema-SV-II-atomic-nonPositiveInteger-enumeration-1 tokoe:valid" result="pass"/><test-case name="8708NISTXML-SV-II-atomic-nonPositiveInteger-enumeration-1-1 tokoe:invalid" result="pass"/><test-case name="8709NISTXML-SV-II-atomic-nonPositiveInteger-enumeration-1-2 tokoe:invalid" result="pass"/><test-case name="8710NISTXML-SV-II-atomic-nonPositiveInteger-enumeration-1-3 tokoe:invalid" result="pass"/><test-case name="8711NISTXML-SV-II-atomic-nonPositiveInteger-enumeration-1-4 tokoe:invalid" result="pass"/><test-case name="8712NISTXML-SV-II-atomic-nonPositiveInteger-enumeration-1-5 tokoe:invalid" result="pass"/><test-case name="8713NISTSchema-SV-II-atomic-nonPositiveInteger-enumeration-2 tokoe:valid" result="pass"/><test-case name="8714NISTXML-SV-II-atomic-nonPositiveInteger-enumeration-2-1 tokoe:invalid" result="pass"/><test-case name="8715NISTXML-SV-II-atomic-nonPositiveInteger-enumeration-2-2 tokoe:invalid" result="pass"/><test-case name="8716NISTXML-SV-II-atomic-nonPositiveInteger-enumeration-2-3 tokoe:invalid" result="pass"/><test-case name="8717NISTXML-SV-II-atomic-nonPositiveInteger-enumeration-2-4 tokoe:invalid" result="pass"/><test-case name="8718NISTXML-SV-II-atomic-nonPositiveInteger-enumeration-2-5 tokoe:invalid" result="pass"/><test-case name="8719NISTSchema-SV-II-atomic-nonPositiveInteger-enumeration-3 tokoe:valid" result="pass"/><test-case name="8720NISTXML-SV-II-atomic-nonPositiveInteger-enumeration-3-1 tokoe:invalid" result="pass"/><test-case name="8721NISTXML-SV-II-atomic-nonPositiveInteger-enumeration-3-2 tokoe:invalid" result="pass"/><test-case name="8722NISTXML-SV-II-atomic-nonPositiveInteger-enumeration-3-3 tokoe:invalid" result="pass"/><test-case name="8723NISTXML-SV-II-atomic-nonPositiveInteger-enumeration-3-4 tokoe:invalid" result="pass"/><test-case name="8724NISTXML-SV-II-atomic-nonPositiveInteger-enumeration-3-5 tokoe:invalid" result="pass"/><test-case name="8725NISTSchema-SV-II-atomic-nonPositiveInteger-enumeration-4 tokoe:valid" result="pass"/><test-case name="8726NISTXML-SV-II-atomic-nonPositiveInteger-enumeration-4-1 tokoe:invalid" result="pass"/><test-case name="8727NISTXML-SV-II-atomic-nonPositiveInteger-enumeration-4-2 tokoe:invalid" result="pass"/><test-case name="8728NISTXML-SV-II-atomic-nonPositiveInteger-enumeration-4-3 tokoe:invalid" result="pass"/><test-case name="8729NISTXML-SV-II-atomic-nonPositiveInteger-enumeration-4-4 tokoe:invalid" result="pass"/><test-case name="8730NISTXML-SV-II-atomic-nonPositiveInteger-enumeration-4-5 tokoe:invalid" result="pass"/><test-case name="8731NISTSchema-SV-II-atomic-nonPositiveInteger-enumeration-5 tokoe:valid" result="pass"/><test-case name="8732NISTXML-SV-II-atomic-nonPositiveInteger-enumeration-5-1 tokoe:invalid" result="pass"/><test-case name="8733NISTXML-SV-II-atomic-nonPositiveInteger-enumeration-5-2 tokoe:invalid" result="pass"/><test-case name="8734NISTXML-SV-II-atomic-nonPositiveInteger-enumeration-5-3 tokoe:invalid" result="pass"/><test-case name="8735NISTXML-SV-II-atomic-nonPositiveInteger-enumeration-5-4 tokoe:invalid" result="pass"/><test-case name="8736NISTXML-SV-II-atomic-nonPositiveInteger-enumeration-5-5 tokoe:invalid" result="pass"/><test-case name="8737NISTSchema-SV-II-atomic-negativeInteger-minExclusive-1 tokoe:valid" result="pass"/><test-case name="8738NISTXML-SV-II-atomic-negativeInteger-minExclusive-1-1 tokoe:invalid" result="pass"/><test-case name="8739NISTSchema-SV-II-atomic-negativeInteger-minExclusive-2 tokoe:valid" result="pass"/><test-case name="8740NISTXML-SV-II-atomic-negativeInteger-minExclusive-2-1 tokoe:invalid" result="pass"/><test-case name="8741NISTXML-SV-II-atomic-negativeInteger-minExclusive-2-2 tokoe:invalid" result="pass"/><test-case name="8742NISTXML-SV-II-atomic-negativeInteger-minExclusive-2-3 tokoe:invalid" result="pass"/><test-case name="8743NISTXML-SV-II-atomic-negativeInteger-minExclusive-2-4 tokoe:invalid" result="pass"/><test-case name="8744NISTXML-SV-II-atomic-negativeInteger-minExclusive-2-5 tokoe:invalid" result="pass"/><test-case name="8745NISTSchema-SV-II-atomic-negativeInteger-minExclusive-3 tokoe:valid" result="pass"/><test-case name="8746NISTXML-SV-II-atomic-negativeInteger-minExclusive-3-1 tokoe:invalid" result="pass"/><test-case name="8747NISTXML-SV-II-atomic-negativeInteger-minExclusive-3-2 tokoe:invalid" result="pass"/><test-case name="8748NISTXML-SV-II-atomic-negativeInteger-minExclusive-3-3 tokoe:invalid" result="pass"/><test-case name="8749NISTXML-SV-II-atomic-negativeInteger-minExclusive-3-4 tokoe:invalid" result="pass"/><test-case name="8750NISTXML-SV-II-atomic-negativeInteger-minExclusive-3-5 tokoe:invalid" result="pass"/><test-case name="8751NISTSchema-SV-II-atomic-negativeInteger-minExclusive-4 tokoe:valid" result="pass"/><test-case name="8752NISTXML-SV-II-atomic-negativeInteger-minExclusive-4-1 tokoe:invalid" result="pass"/><test-case name="8753NISTXML-SV-II-atomic-negativeInteger-minExclusive-4-2 tokoe:invalid" result="pass"/><test-case name="8754NISTXML-SV-II-atomic-negativeInteger-minExclusive-4-3 tokoe:invalid" result="pass"/><test-case name="8755NISTXML-SV-II-atomic-negativeInteger-minExclusive-4-4 tokoe:invalid" result="pass"/><test-case name="8756NISTXML-SV-II-atomic-negativeInteger-minExclusive-4-5 tokoe:invalid" result="pass"/><test-case name="8757NISTSchema-SV-II-atomic-negativeInteger-minExclusive-5 tokoe:valid" result="pass"/><test-case name="8758NISTXML-SV-II-atomic-negativeInteger-minExclusive-5-1 tokoe:invalid" result="pass"/><test-case name="8759NISTXML-SV-II-atomic-negativeInteger-minExclusive-5-2 tokoe:invalid" result="pass"/><test-case name="8760NISTXML-SV-II-atomic-negativeInteger-minExclusive-5-3 tokoe:invalid" result="pass"/><test-case name="8761NISTXML-SV-II-atomic-negativeInteger-minExclusive-5-4 tokoe:invalid" result="pass"/><test-case name="8762NISTXML-SV-II-atomic-negativeInteger-minExclusive-5-5 tokoe:invalid" result="pass"/><test-case name="8763NISTSchema-SV-II-atomic-negativeInteger-maxExclusive-1 tokoe:valid" result="pass"/><test-case name="8764NISTXML-SV-II-atomic-negativeInteger-maxExclusive-1-1 tokoe:invalid" result="pass"/><test-case name="8765NISTXML-SV-II-atomic-negativeInteger-maxExclusive-1-2 tokoe:invalid" result="pass"/><test-case name="8766NISTXML-SV-II-atomic-negativeInteger-maxExclusive-1-3 tokoe:invalid" result="pass"/><test-case name="8767NISTXML-SV-II-atomic-negativeInteger-maxExclusive-1-4 tokoe:invalid" result="pass"/><test-case name="8768NISTXML-SV-II-atomic-negativeInteger-maxExclusive-1-5 tokoe:invalid" result="pass"/><test-case name="8769NISTSchema-SV-II-atomic-negativeInteger-maxExclusive-2 tokoe:valid" result="pass"/><test-case name="8770NISTXML-SV-II-atomic-negativeInteger-maxExclusive-2-1 tokoe:invalid" result="pass"/><test-case name="8771NISTXML-SV-II-atomic-negativeInteger-maxExclusive-2-2 tokoe:invalid" result="pass"/><test-case name="8772NISTXML-SV-II-atomic-negativeInteger-maxExclusive-2-3 tokoe:invalid" result="pass"/><test-case name="8773NISTXML-SV-II-atomic-negativeInteger-maxExclusive-2-4 tokoe:invalid" result="pass"/><test-case name="8774NISTXML-SV-II-atomic-negativeInteger-maxExclusive-2-5 tokoe:invalid" result="pass"/><test-case name="8775NISTSchema-SV-II-atomic-negativeInteger-maxExclusive-3 tokoe:valid" result="pass"/><test-case name="8776NISTXML-SV-II-atomic-negativeInteger-maxExclusive-3-1 tokoe:invalid" result="pass"/><test-case name="8777NISTXML-SV-II-atomic-negativeInteger-maxExclusive-3-2 tokoe:invalid" result="pass"/><test-case name="8778NISTXML-SV-II-atomic-negativeInteger-maxExclusive-3-3 tokoe:invalid" result="pass"/><test-case name="8779NISTXML-SV-II-atomic-negativeInteger-maxExclusive-3-4 tokoe:invalid" result="pass"/><test-case name="8780NISTXML-SV-II-atomic-negativeInteger-maxExclusive-3-5 tokoe:invalid" result="pass"/><test-case name="8781NISTSchema-SV-II-atomic-negativeInteger-maxExclusive-4 tokoe:valid" result="pass"/><test-case name="8782NISTXML-SV-II-atomic-negativeInteger-maxExclusive-4-1 tokoe:invalid" result="pass"/><test-case name="8783NISTXML-SV-II-atomic-negativeInteger-maxExclusive-4-2 tokoe:invalid" result="pass"/><test-case name="8784NISTXML-SV-II-atomic-negativeInteger-maxExclusive-4-3 tokoe:invalid" result="pass"/><test-case name="8785NISTXML-SV-II-atomic-negativeInteger-maxExclusive-4-4 tokoe:invalid" result="pass"/><test-case name="8786NISTXML-SV-II-atomic-negativeInteger-maxExclusive-4-5 tokoe:invalid" result="pass"/><test-case name="8787NISTSchema-SV-II-atomic-negativeInteger-maxExclusive-5 tokoe:valid" result="pass"/><test-case name="8788NISTXML-SV-II-atomic-negativeInteger-maxExclusive-5-1 tokoe:invalid" result="pass"/><test-case name="8789NISTSchema-SV-II-atomic-negativeInteger-pattern-1 tokoe:valid" result="pass"/><test-case name="8790NISTXML-SV-II-atomic-negativeInteger-pattern-1-1 tokoe:invalid" result="pass"/><test-case name="8791NISTXML-SV-II-atomic-negativeInteger-pattern-1-2 tokoe:invalid" result="pass"/><test-case name="8792NISTXML-SV-II-atomic-negativeInteger-pattern-1-3 tokoe:invalid" result="pass"/><test-case name="8793NISTXML-SV-II-atomic-negativeInteger-pattern-1-4 tokoe:invalid" result="pass"/><test-case name="8794NISTXML-SV-II-atomic-negativeInteger-pattern-1-5 tokoe:invalid" result="pass"/><test-case name="8795NISTSchema-SV-II-atomic-negativeInteger-pattern-2 tokoe:valid" result="pass"/><test-case name="8796NISTXML-SV-II-atomic-negativeInteger-pattern-2-1 tokoe:invalid" result="pass"/><test-case name="8797NISTXML-SV-II-atomic-negativeInteger-pattern-2-2 tokoe:invalid" result="pass"/><test-case name="8798NISTXML-SV-II-atomic-negativeInteger-pattern-2-3 tokoe:invalid" result="pass"/><test-case name="8799NISTXML-SV-II-atomic-negativeInteger-pattern-2-4 tokoe:invalid" result="pass"/><test-case name="8800NISTXML-SV-II-atomic-negativeInteger-pattern-2-5 tokoe:invalid" result="pass"/><test-case name="8801NISTSchema-SV-II-atomic-negativeInteger-pattern-3 tokoe:valid" result="pass"/><test-case name="8802NISTXML-SV-II-atomic-negativeInteger-pattern-3-1 tokoe:invalid" result="pass"/><test-case name="8803NISTXML-SV-II-atomic-negativeInteger-pattern-3-2 tokoe:invalid" result="pass"/><test-case name="8804NISTXML-SV-II-atomic-negativeInteger-pattern-3-3 tokoe:invalid" result="pass"/><test-case name="8805NISTXML-SV-II-atomic-negativeInteger-pattern-3-4 tokoe:invalid" result="pass"/><test-case name="8806NISTXML-SV-II-atomic-negativeInteger-pattern-3-5 tokoe:invalid" result="pass"/><test-case name="8807NISTSchema-SV-II-atomic-negativeInteger-pattern-4 tokoe:valid" result="pass"/><test-case name="8808NISTXML-SV-II-atomic-negativeInteger-pattern-4-1 tokoe:invalid" result="pass"/><test-case name="8809NISTXML-SV-II-atomic-negativeInteger-pattern-4-2 tokoe:invalid" result="pass"/><test-case name="8810NISTXML-SV-II-atomic-negativeInteger-pattern-4-3 tokoe:invalid" result="pass"/><test-case name="8811NISTXML-SV-II-atomic-negativeInteger-pattern-4-4 tokoe:invalid" result="pass"/><test-case name="8812NISTXML-SV-II-atomic-negativeInteger-pattern-4-5 tokoe:invalid" result="pass"/><test-case name="8813NISTSchema-SV-II-atomic-negativeInteger-pattern-5 tokoe:valid" result="pass"/><test-case name="8814NISTXML-SV-II-atomic-negativeInteger-pattern-5-1 tokoe:invalid" result="pass"/><test-case name="8815NISTXML-SV-II-atomic-negativeInteger-pattern-5-2 tokoe:invalid" result="pass"/><test-case name="8816NISTXML-SV-II-atomic-negativeInteger-pattern-5-3 tokoe:invalid" result="pass"/><test-case name="8817NISTXML-SV-II-atomic-negativeInteger-pattern-5-4 tokoe:invalid" result="pass"/><test-case name="8818NISTXML-SV-II-atomic-negativeInteger-pattern-5-5 tokoe:invalid" result="pass"/><test-case name="8819NISTSchema-SV-II-atomic-negativeInteger-enumeration-1 tokoe:valid" result="pass"/><test-case name="8820NISTXML-SV-II-atomic-negativeInteger-enumeration-1-1 tokoe:invalid" result="pass"/><test-case name="8821NISTXML-SV-II-atomic-negativeInteger-enumeration-1-2 tokoe:invalid" result="pass"/><test-case name="8822NISTXML-SV-II-atomic-negativeInteger-enumeration-1-3 tokoe:invalid" result="pass"/><test-case name="8823NISTXML-SV-II-atomic-negativeInteger-enumeration-1-4 tokoe:invalid" result="pass"/><test-case name="8824NISTXML-SV-II-atomic-negativeInteger-enumeration-1-5 tokoe:invalid" result="pass"/><test-case name="8825NISTSchema-SV-II-atomic-negativeInteger-enumeration-2 tokoe:valid" result="pass"/><test-case name="8826NISTXML-SV-II-atomic-negativeInteger-enumeration-2-1 tokoe:invalid" result="pass"/><test-case name="8827NISTXML-SV-II-atomic-negativeInteger-enumeration-2-2 tokoe:invalid" result="pass"/><test-case name="8828NISTXML-SV-II-atomic-negativeInteger-enumeration-2-3 tokoe:invalid" result="pass"/><test-case name="8829NISTXML-SV-II-atomic-negativeInteger-enumeration-2-4 tokoe:invalid" result="pass"/><test-case name="8830NISTXML-SV-II-atomic-negativeInteger-enumeration-2-5 tokoe:invalid" result="pass"/><test-case name="8831NISTSchema-SV-II-atomic-negativeInteger-enumeration-3 tokoe:valid" result="pass"/><test-case name="8832NISTXML-SV-II-atomic-negativeInteger-enumeration-3-1 tokoe:invalid" result="pass"/><test-case name="8833NISTXML-SV-II-atomic-negativeInteger-enumeration-3-2 tokoe:invalid" result="pass"/><test-case name="8834NISTXML-SV-II-atomic-negativeInteger-enumeration-3-3 tokoe:invalid" result="pass"/><test-case name="8835NISTXML-SV-II-atomic-negativeInteger-enumeration-3-4 tokoe:invalid" result="pass"/><test-case name="8836NISTXML-SV-II-atomic-negativeInteger-enumeration-3-5 tokoe:invalid" result="pass"/><test-case name="8837NISTSchema-SV-II-atomic-negativeInteger-enumeration-4 tokoe:valid" result="pass"/><test-case name="8838NISTXML-SV-II-atomic-negativeInteger-enumeration-4-1 tokoe:invalid" result="pass"/><test-case name="8839NISTXML-SV-II-atomic-negativeInteger-enumeration-4-2 tokoe:invalid" result="pass"/><test-case name="8840NISTXML-SV-II-atomic-negativeInteger-enumeration-4-3 tokoe:invalid" result="pass"/><test-case name="8841NISTXML-SV-II-atomic-negativeInteger-enumeration-4-4 tokoe:invalid" result="pass"/><test-case name="8842NISTXML-SV-II-atomic-negativeInteger-enumeration-4-5 tokoe:invalid" result="pass"/><test-case name="8843NISTSchema-SV-II-atomic-negativeInteger-enumeration-5 tokoe:valid" result="pass"/><test-case name="8844NISTXML-SV-II-atomic-negativeInteger-enumeration-5-1 tokoe:invalid" result="pass"/><test-case name="8845NISTXML-SV-II-atomic-negativeInteger-enumeration-5-2 tokoe:invalid" result="pass"/><test-case name="8846NISTXML-SV-II-atomic-negativeInteger-enumeration-5-3 tokoe:invalid" result="pass"/><test-case name="8847NISTXML-SV-II-atomic-negativeInteger-enumeration-5-4 tokoe:invalid" result="pass"/><test-case name="8848NISTXML-SV-II-atomic-negativeInteger-enumeration-5-5 tokoe:invalid" result="pass"/><test-case name="8849NISTSchema-SV-II-atomic-long-minExclusive-1 tokoe:valid" result="pass"/><test-case name="8850NISTXML-SV-II-atomic-long-minExclusive-1-1 tokoe:invalid" result="pass"/><test-case name="8851NISTSchema-SV-II-atomic-long-minExclusive-2 tokoe:valid" result="pass"/><test-case name="8852NISTXML-SV-II-atomic-long-minExclusive-2-1 tokoe:invalid" result="pass"/><test-case name="8853NISTXML-SV-II-atomic-long-minExclusive-2-2 tokoe:invalid" result="pass"/><test-case name="8854NISTXML-SV-II-atomic-long-minExclusive-2-3 tokoe:invalid" result="pass"/><test-case name="8855NISTXML-SV-II-atomic-long-minExclusive-2-4 tokoe:invalid" result="pass"/><test-case name="8856NISTXML-SV-II-atomic-long-minExclusive-2-5 tokoe:invalid" result="pass"/><test-case name="8857NISTSchema-SV-II-atomic-long-minExclusive-3 tokoe:valid" result="pass"/><test-case name="8858NISTXML-SV-II-atomic-long-minExclusive-3-1 tokoe:invalid" result="pass"/><test-case name="8859NISTXML-SV-II-atomic-long-minExclusive-3-2 tokoe:invalid" result="pass"/><test-case name="8860NISTXML-SV-II-atomic-long-minExclusive-3-3 tokoe:invalid" result="pass"/><test-case name="8861NISTXML-SV-II-atomic-long-minExclusive-3-4 tokoe:invalid" result="pass"/><test-case name="8862NISTXML-SV-II-atomic-long-minExclusive-3-5 tokoe:invalid" result="pass"/><test-case name="8863NISTSchema-SV-II-atomic-long-minExclusive-4 tokoe:valid" result="pass"/><test-case name="8864NISTXML-SV-II-atomic-long-minExclusive-4-1 tokoe:invalid" result="pass"/><test-case name="8865NISTXML-SV-II-atomic-long-minExclusive-4-2 tokoe:invalid" result="pass"/><test-case name="8866NISTXML-SV-II-atomic-long-minExclusive-4-3 tokoe:invalid" result="pass"/><test-case name="8867NISTXML-SV-II-atomic-long-minExclusive-4-4 tokoe:invalid" result="pass"/><test-case name="8868NISTXML-SV-II-atomic-long-minExclusive-4-5 tokoe:invalid" result="pass"/><test-case name="8869NISTSchema-SV-II-atomic-long-minExclusive-5 tokoe:valid" result="pass"/><test-case name="8870NISTXML-SV-II-atomic-long-minExclusive-5-1 tokoe:invalid" result="pass"/><test-case name="8871NISTXML-SV-II-atomic-long-minExclusive-5-2 tokoe:invalid" result="pass"/><test-case name="8872NISTXML-SV-II-atomic-long-minExclusive-5-3 tokoe:invalid" result="pass"/><test-case name="8873NISTXML-SV-II-atomic-long-minExclusive-5-4 tokoe:invalid" result="pass"/><test-case name="8874NISTXML-SV-II-atomic-long-minExclusive-5-5 tokoe:invalid" result="pass"/><test-case name="8875NISTSchema-SV-II-atomic-long-maxExclusive-1 tokoe:valid" result="pass"/><test-case name="8876NISTXML-SV-II-atomic-long-maxExclusive-1-1 tokoe:invalid" result="pass"/><test-case name="8877NISTXML-SV-II-atomic-long-maxExclusive-1-2 tokoe:invalid" result="pass"/><test-case name="8878NISTXML-SV-II-atomic-long-maxExclusive-1-3 tokoe:invalid" result="pass"/><test-case name="8879NISTXML-SV-II-atomic-long-maxExclusive-1-4 tokoe:invalid" result="pass"/><test-case name="8880NISTXML-SV-II-atomic-long-maxExclusive-1-5 tokoe:invalid" result="pass"/><test-case name="8881NISTSchema-SV-II-atomic-long-maxExclusive-2 tokoe:valid" result="pass"/><test-case name="8882NISTXML-SV-II-atomic-long-maxExclusive-2-1 tokoe:invalid" result="pass"/><test-case name="8883NISTXML-SV-II-atomic-long-maxExclusive-2-2 tokoe:invalid" result="pass"/><test-case name="8884NISTXML-SV-II-atomic-long-maxExclusive-2-3 tokoe:invalid" result="pass"/><test-case name="8885NISTXML-SV-II-atomic-long-maxExclusive-2-4 tokoe:invalid" result="pass"/><test-case name="8886NISTXML-SV-II-atomic-long-maxExclusive-2-5 tokoe:invalid" result="pass"/><test-case name="8887NISTSchema-SV-II-atomic-long-maxExclusive-3 tokoe:valid" result="pass"/><test-case name="8888NISTXML-SV-II-atomic-long-maxExclusive-3-1 tokoe:invalid" result="pass"/><test-case name="8889NISTXML-SV-II-atomic-long-maxExclusive-3-2 tokoe:invalid" result="pass"/><test-case name="8890NISTXML-SV-II-atomic-long-maxExclusive-3-3 tokoe:invalid" result="pass"/><test-case name="8891NISTXML-SV-II-atomic-long-maxExclusive-3-4 tokoe:invalid" result="pass"/><test-case name="8892NISTXML-SV-II-atomic-long-maxExclusive-3-5 tokoe:invalid" result="pass"/><test-case name="8893NISTSchema-SV-II-atomic-long-maxExclusive-4 tokoe:valid" result="pass"/><test-case name="8894NISTXML-SV-II-atomic-long-maxExclusive-4-1 tokoe:invalid" result="pass"/><test-case name="8895NISTXML-SV-II-atomic-long-maxExclusive-4-2 tokoe:invalid" result="pass"/><test-case name="8896NISTXML-SV-II-atomic-long-maxExclusive-4-3 tokoe:invalid" result="pass"/><test-case name="8897NISTXML-SV-II-atomic-long-maxExclusive-4-4 tokoe:invalid" result="pass"/><test-case name="8898NISTXML-SV-II-atomic-long-maxExclusive-4-5 tokoe:invalid" result="pass"/><test-case name="8899NISTSchema-SV-II-atomic-long-maxExclusive-5 tokoe:valid" result="pass"/><test-case name="8900NISTXML-SV-II-atomic-long-maxExclusive-5-1 tokoe:invalid" result="pass"/><test-case name="8901NISTSchema-SV-II-atomic-long-pattern-1 tokoe:valid" result="pass"/><test-case name="8902NISTXML-SV-II-atomic-long-pattern-1-1 tokoe:invalid" result="pass"/><test-case name="8903NISTXML-SV-II-atomic-long-pattern-1-2 tokoe:invalid" result="pass"/><test-case name="8904NISTXML-SV-II-atomic-long-pattern-1-3 tokoe:invalid" result="pass"/><test-case name="8905NISTXML-SV-II-atomic-long-pattern-1-4 tokoe:invalid" result="pass"/><test-case name="8906NISTXML-SV-II-atomic-long-pattern-1-5 tokoe:invalid" result="pass"/><test-case name="8907NISTSchema-SV-II-atomic-long-pattern-2 tokoe:valid" result="pass"/><test-case name="8908NISTXML-SV-II-atomic-long-pattern-2-1 tokoe:invalid" result="pass"/><test-case name="8909NISTXML-SV-II-atomic-long-pattern-2-2 tokoe:invalid" result="pass"/><test-case name="8910NISTXML-SV-II-atomic-long-pattern-2-3 tokoe:invalid" result="pass"/><test-case name="8911NISTXML-SV-II-atomic-long-pattern-2-4 tokoe:invalid" result="pass"/><test-case name="8912NISTXML-SV-II-atomic-long-pattern-2-5 tokoe:invalid" result="pass"/><test-case name="8913NISTSchema-SV-II-atomic-long-pattern-3 tokoe:valid" result="pass"/><test-case name="8914NISTXML-SV-II-atomic-long-pattern-3-1 tokoe:invalid" result="pass"/><test-case name="8915NISTXML-SV-II-atomic-long-pattern-3-2 tokoe:invalid" result="pass"/><test-case name="8916NISTXML-SV-II-atomic-long-pattern-3-3 tokoe:invalid" result="pass"/><test-case name="8917NISTXML-SV-II-atomic-long-pattern-3-4 tokoe:invalid" result="pass"/><test-case name="8918NISTXML-SV-II-atomic-long-pattern-3-5 tokoe:invalid" result="pass"/><test-case name="8919NISTSchema-SV-II-atomic-long-pattern-4 tokoe:valid" result="pass"/><test-case name="8920NISTXML-SV-II-atomic-long-pattern-4-1 tokoe:invalid" result="pass"/><test-case name="8921NISTXML-SV-II-atomic-long-pattern-4-2 tokoe:invalid" result="pass"/><test-case name="8922NISTXML-SV-II-atomic-long-pattern-4-3 tokoe:invalid" result="pass"/><test-case name="8923NISTXML-SV-II-atomic-long-pattern-4-4 tokoe:invalid" result="pass"/><test-case name="8924NISTXML-SV-II-atomic-long-pattern-4-5 tokoe:invalid" result="pass"/><test-case name="8925NISTSchema-SV-II-atomic-long-pattern-5 tokoe:valid" result="pass"/><test-case name="8926NISTXML-SV-II-atomic-long-pattern-5-1 tokoe:invalid" result="pass"/><test-case name="8927NISTXML-SV-II-atomic-long-pattern-5-2 tokoe:invalid" result="pass"/><test-case name="8928NISTXML-SV-II-atomic-long-pattern-5-3 tokoe:invalid" result="pass"/><test-case name="8929NISTXML-SV-II-atomic-long-pattern-5-4 tokoe:invalid" result="pass"/><test-case name="8930NISTXML-SV-II-atomic-long-pattern-5-5 tokoe:invalid" result="pass"/><test-case name="8931NISTSchema-SV-II-atomic-long-enumeration-1 tokoe:valid" result="pass"/><test-case name="8932NISTXML-SV-II-atomic-long-enumeration-1-1 tokoe:invalid" result="pass"/><test-case name="8933NISTXML-SV-II-atomic-long-enumeration-1-2 tokoe:invalid" result="pass"/><test-case name="8934NISTXML-SV-II-atomic-long-enumeration-1-3 tokoe:invalid" result="pass"/><test-case name="8935NISTXML-SV-II-atomic-long-enumeration-1-4 tokoe:invalid" result="pass"/><test-case name="8936NISTXML-SV-II-atomic-long-enumeration-1-5 tokoe:invalid" result="pass"/><test-case name="8937NISTSchema-SV-II-atomic-long-enumeration-2 tokoe:valid" result="pass"/><test-case name="8938NISTXML-SV-II-atomic-long-enumeration-2-1 tokoe:invalid" result="pass"/><test-case name="8939NISTXML-SV-II-atomic-long-enumeration-2-2 tokoe:invalid" result="pass"/><test-case name="8940NISTXML-SV-II-atomic-long-enumeration-2-3 tokoe:invalid" result="pass"/><test-case name="8941NISTXML-SV-II-atomic-long-enumeration-2-4 tokoe:invalid" result="pass"/><test-case name="8942NISTXML-SV-II-atomic-long-enumeration-2-5 tokoe:invalid" result="pass"/><test-case name="8943NISTSchema-SV-II-atomic-long-enumeration-3 tokoe:valid" result="pass"/><test-case name="8944NISTXML-SV-II-atomic-long-enumeration-3-1 tokoe:invalid" result="pass"/><test-case name="8945NISTXML-SV-II-atomic-long-enumeration-3-2 tokoe:invalid" result="pass"/><test-case name="8946NISTXML-SV-II-atomic-long-enumeration-3-3 tokoe:invalid" result="pass"/><test-case name="8947NISTXML-SV-II-atomic-long-enumeration-3-4 tokoe:invalid" result="pass"/><test-case name="8948NISTXML-SV-II-atomic-long-enumeration-3-5 tokoe:invalid" result="pass"/><test-case name="8949NISTSchema-SV-II-atomic-long-enumeration-4 tokoe:valid" result="pass"/><test-case name="8950NISTXML-SV-II-atomic-long-enumeration-4-1 tokoe:invalid" result="pass"/><test-case name="8951NISTXML-SV-II-atomic-long-enumeration-4-2 tokoe:invalid" result="pass"/><test-case name="8952NISTXML-SV-II-atomic-long-enumeration-4-3 tokoe:invalid" result="pass"/><test-case name="8953NISTXML-SV-II-atomic-long-enumeration-4-4 tokoe:invalid" result="pass"/><test-case name="8954NISTXML-SV-II-atomic-long-enumeration-4-5 tokoe:invalid" result="pass"/><test-case name="8955NISTSchema-SV-II-atomic-long-enumeration-5 tokoe:valid" result="pass"/><test-case name="8956NISTXML-SV-II-atomic-long-enumeration-5-1 tokoe:invalid" result="pass"/><test-case name="8957NISTXML-SV-II-atomic-long-enumeration-5-2 tokoe:invalid" result="pass"/><test-case name="8958NISTXML-SV-II-atomic-long-enumeration-5-3 tokoe:invalid" result="pass"/><test-case name="8959NISTXML-SV-II-atomic-long-enumeration-5-4 tokoe:invalid" result="pass"/><test-case name="8960NISTXML-SV-II-atomic-long-enumeration-5-5 tokoe:invalid" result="pass"/><test-case name="8961NISTSchema-SV-II-atomic-int-minExclusive-1 tokoe:valid" result="pass"/><test-case name="8962NISTXML-SV-II-atomic-int-minExclusive-1-1 tokoe:invalid" result="pass"/><test-case name="8963NISTSchema-SV-II-atomic-int-minExclusive-2 tokoe:valid" result="pass"/><test-case name="8964NISTXML-SV-II-atomic-int-minExclusive-2-1 tokoe:invalid" result="pass"/><test-case name="8965NISTXML-SV-II-atomic-int-minExclusive-2-2 tokoe:invalid" result="pass"/><test-case name="8966NISTXML-SV-II-atomic-int-minExclusive-2-3 tokoe:invalid" result="pass"/><test-case name="8967NISTXML-SV-II-atomic-int-minExclusive-2-4 tokoe:invalid" result="pass"/><test-case name="8968NISTXML-SV-II-atomic-int-minExclusive-2-5 tokoe:invalid" result="pass"/><test-case name="8969NISTSchema-SV-II-atomic-int-minExclusive-3 tokoe:valid" result="pass"/><test-case name="8970NISTXML-SV-II-atomic-int-minExclusive-3-1 tokoe:invalid" result="pass"/><test-case name="8971NISTXML-SV-II-atomic-int-minExclusive-3-2 tokoe:invalid" result="pass"/><test-case name="8972NISTXML-SV-II-atomic-int-minExclusive-3-3 tokoe:invalid" result="pass"/><test-case name="8973NISTXML-SV-II-atomic-int-minExclusive-3-4 tokoe:invalid" result="pass"/><test-case name="8974NISTXML-SV-II-atomic-int-minExclusive-3-5 tokoe:invalid" result="pass"/><test-case name="8975NISTSchema-SV-II-atomic-int-minExclusive-4 tokoe:valid" result="pass"/><test-case name="8976NISTXML-SV-II-atomic-int-minExclusive-4-1 tokoe:invalid" result="pass"/><test-case name="8977NISTXML-SV-II-atomic-int-minExclusive-4-2 tokoe:invalid" result="pass"/><test-case name="8978NISTXML-SV-II-atomic-int-minExclusive-4-3 tokoe:invalid" result="pass"/><test-case name="8979NISTXML-SV-II-atomic-int-minExclusive-4-4 tokoe:invalid" result="pass"/><test-case name="8980NISTXML-SV-II-atomic-int-minExclusive-4-5 tokoe:invalid" result="pass"/><test-case name="8981NISTSchema-SV-II-atomic-int-minExclusive-5 tokoe:valid" result="pass"/><test-case name="8982NISTXML-SV-II-atomic-int-minExclusive-5-1 tokoe:invalid" result="pass"/><test-case name="8983NISTXML-SV-II-atomic-int-minExclusive-5-2 tokoe:invalid" result="pass"/><test-case name="8984NISTXML-SV-II-atomic-int-minExclusive-5-3 tokoe:invalid" result="pass"/><test-case name="8985NISTXML-SV-II-atomic-int-minExclusive-5-4 tokoe:invalid" result="pass"/><test-case name="8986NISTXML-SV-II-atomic-int-minExclusive-5-5 tokoe:invalid" result="pass"/><test-case name="8987NISTSchema-SV-II-atomic-int-maxExclusive-1 tokoe:valid" result="pass"/><test-case name="8988NISTXML-SV-II-atomic-int-maxExclusive-1-1 tokoe:invalid" result="pass"/><test-case name="8989NISTXML-SV-II-atomic-int-maxExclusive-1-2 tokoe:invalid" result="pass"/><test-case name="8990NISTXML-SV-II-atomic-int-maxExclusive-1-3 tokoe:invalid" result="pass"/><test-case name="8991NISTXML-SV-II-atomic-int-maxExclusive-1-4 tokoe:invalid" result="pass"/><test-case name="8992NISTXML-SV-II-atomic-int-maxExclusive-1-5 tokoe:invalid" result="pass"/><test-case name="8993NISTSchema-SV-II-atomic-int-maxExclusive-2 tokoe:valid" result="pass"/><test-case name="8994NISTXML-SV-II-atomic-int-maxExclusive-2-1 tokoe:invalid" result="pass"/><test-case name="8995NISTXML-SV-II-atomic-int-maxExclusive-2-2 tokoe:invalid" result="pass"/><test-case name="8996NISTXML-SV-II-atomic-int-maxExclusive-2-3 tokoe:invalid" result="pass"/><test-case name="8997NISTXML-SV-II-atomic-int-maxExclusive-2-4 tokoe:invalid" result="pass"/><test-case name="8998NISTXML-SV-II-atomic-int-maxExclusive-2-5 tokoe:invalid" result="pass"/><test-case name="8999NISTSchema-SV-II-atomic-int-maxExclusive-3 tokoe:valid" result="pass"/><test-case name="9000NISTXML-SV-II-atomic-int-maxExclusive-3-1 tokoe:invalid" result="pass"/><test-case name="9001NISTXML-SV-II-atomic-int-maxExclusive-3-2 tokoe:invalid" result="pass"/><test-case name="9002NISTXML-SV-II-atomic-int-maxExclusive-3-3 tokoe:invalid" result="pass"/><test-case name="9003NISTXML-SV-II-atomic-int-maxExclusive-3-4 tokoe:invalid" result="pass"/><test-case name="9004NISTXML-SV-II-atomic-int-maxExclusive-3-5 tokoe:invalid" result="pass"/><test-case name="9005NISTSchema-SV-II-atomic-int-maxExclusive-4 tokoe:valid" result="pass"/><test-case name="9006NISTXML-SV-II-atomic-int-maxExclusive-4-1 tokoe:invalid" result="pass"/><test-case name="9007NISTXML-SV-II-atomic-int-maxExclusive-4-2 tokoe:invalid" result="pass"/><test-case name="9008NISTXML-SV-II-atomic-int-maxExclusive-4-3 tokoe:invalid" result="pass"/><test-case name="9009NISTXML-SV-II-atomic-int-maxExclusive-4-4 tokoe:invalid" result="pass"/><test-case name="9010NISTXML-SV-II-atomic-int-maxExclusive-4-5 tokoe:invalid" result="pass"/><test-case name="9011NISTSchema-SV-II-atomic-int-maxExclusive-5 tokoe:valid" result="pass"/><test-case name="9012NISTXML-SV-II-atomic-int-maxExclusive-5-1 tokoe:invalid" result="pass"/><test-case name="9013NISTSchema-SV-II-atomic-int-pattern-1 tokoe:valid" result="pass"/><test-case name="9014NISTXML-SV-II-atomic-int-pattern-1-1 tokoe:invalid" result="pass"/><test-case name="9015NISTXML-SV-II-atomic-int-pattern-1-2 tokoe:invalid" result="pass"/><test-case name="9016NISTXML-SV-II-atomic-int-pattern-1-3 tokoe:invalid" result="pass"/><test-case name="9017NISTXML-SV-II-atomic-int-pattern-1-4 tokoe:invalid" result="pass"/><test-case name="9018NISTXML-SV-II-atomic-int-pattern-1-5 tokoe:invalid" result="pass"/><test-case name="9019NISTSchema-SV-II-atomic-int-pattern-2 tokoe:valid" result="pass"/><test-case name="9020NISTXML-SV-II-atomic-int-pattern-2-1 tokoe:invalid" result="pass"/><test-case name="9021NISTXML-SV-II-atomic-int-pattern-2-2 tokoe:invalid" result="pass"/><test-case name="9022NISTXML-SV-II-atomic-int-pattern-2-3 tokoe:invalid" result="pass"/><test-case name="9023NISTXML-SV-II-atomic-int-pattern-2-4 tokoe:invalid" result="pass"/><test-case name="9024NISTXML-SV-II-atomic-int-pattern-2-5 tokoe:invalid" result="pass"/><test-case name="9025NISTSchema-SV-II-atomic-int-pattern-3 tokoe:valid" result="pass"/><test-case name="9026NISTXML-SV-II-atomic-int-pattern-3-1 tokoe:invalid" result="pass"/><test-case name="9027NISTXML-SV-II-atomic-int-pattern-3-2 tokoe:invalid" result="pass"/><test-case name="9028NISTXML-SV-II-atomic-int-pattern-3-3 tokoe:invalid" result="pass"/><test-case name="9029NISTXML-SV-II-atomic-int-pattern-3-4 tokoe:invalid" result="pass"/><test-case name="9030NISTXML-SV-II-atomic-int-pattern-3-5 tokoe:invalid" result="pass"/><test-case name="9031NISTSchema-SV-II-atomic-int-pattern-4 tokoe:valid" result="pass"/><test-case name="9032NISTXML-SV-II-atomic-int-pattern-4-1 tokoe:invalid" result="pass"/><test-case name="9033NISTXML-SV-II-atomic-int-pattern-4-2 tokoe:invalid" result="pass"/><test-case name="9034NISTXML-SV-II-atomic-int-pattern-4-3 tokoe:invalid" result="pass"/><test-case name="9035NISTXML-SV-II-atomic-int-pattern-4-4 tokoe:invalid" result="pass"/><test-case name="9036NISTXML-SV-II-atomic-int-pattern-4-5 tokoe:invalid" result="pass"/><test-case name="9037NISTSchema-SV-II-atomic-int-pattern-5 tokoe:valid" result="pass"/><test-case name="9038NISTXML-SV-II-atomic-int-pattern-5-1 tokoe:invalid" result="pass"/><test-case name="9039NISTXML-SV-II-atomic-int-pattern-5-2 tokoe:invalid" result="pass"/><test-case name="9040NISTXML-SV-II-atomic-int-pattern-5-3 tokoe:invalid" result="pass"/><test-case name="9041NISTXML-SV-II-atomic-int-pattern-5-4 tokoe:invalid" result="pass"/><test-case name="9042NISTXML-SV-II-atomic-int-pattern-5-5 tokoe:invalid" result="pass"/><test-case name="9043NISTSchema-SV-II-atomic-int-enumeration-1 tokoe:valid" result="pass"/><test-case name="9044NISTXML-SV-II-atomic-int-enumeration-1-1 tokoe:invalid" result="pass"/><test-case name="9045NISTXML-SV-II-atomic-int-enumeration-1-2 tokoe:invalid" result="pass"/><test-case name="9046NISTXML-SV-II-atomic-int-enumeration-1-3 tokoe:invalid" result="pass"/><test-case name="9047NISTXML-SV-II-atomic-int-enumeration-1-4 tokoe:invalid" result="pass"/><test-case name="9048NISTXML-SV-II-atomic-int-enumeration-1-5 tokoe:invalid" result="pass"/><test-case name="9049NISTSchema-SV-II-atomic-int-enumeration-2 tokoe:valid" result="pass"/><test-case name="9050NISTXML-SV-II-atomic-int-enumeration-2-1 tokoe:invalid" result="pass"/><test-case name="9051NISTXML-SV-II-atomic-int-enumeration-2-2 tokoe:invalid" result="pass"/><test-case name="9052NISTXML-SV-II-atomic-int-enumeration-2-3 tokoe:invalid" result="pass"/><test-case name="9053NISTXML-SV-II-atomic-int-enumeration-2-4 tokoe:invalid" result="pass"/><test-case name="9054NISTXML-SV-II-atomic-int-enumeration-2-5 tokoe:invalid" result="pass"/><test-case name="9055NISTSchema-SV-II-atomic-int-enumeration-3 tokoe:valid" result="pass"/><test-case name="9056NISTXML-SV-II-atomic-int-enumeration-3-1 tokoe:invalid" result="pass"/><test-case name="9057NISTXML-SV-II-atomic-int-enumeration-3-2 tokoe:invalid" result="pass"/><test-case name="9058NISTXML-SV-II-atomic-int-enumeration-3-3 tokoe:invalid" result="pass"/><test-case name="9059NISTXML-SV-II-atomic-int-enumeration-3-4 tokoe:invalid" result="pass"/><test-case name="9060NISTXML-SV-II-atomic-int-enumeration-3-5 tokoe:invalid" result="pass"/><test-case name="9061NISTSchema-SV-II-atomic-int-enumeration-4 tokoe:valid" result="pass"/><test-case name="9062NISTXML-SV-II-atomic-int-enumeration-4-1 tokoe:invalid" result="pass"/><test-case name="9063NISTXML-SV-II-atomic-int-enumeration-4-2 tokoe:invalid" result="pass"/><test-case name="9064NISTXML-SV-II-atomic-int-enumeration-4-3 tokoe:invalid" result="pass"/><test-case name="9065NISTXML-SV-II-atomic-int-enumeration-4-4 tokoe:invalid" result="pass"/><test-case name="9066NISTXML-SV-II-atomic-int-enumeration-4-5 tokoe:invalid" result="pass"/><test-case name="9067NISTSchema-SV-II-atomic-int-enumeration-5 tokoe:valid" result="pass"/><test-case name="9068NISTXML-SV-II-atomic-int-enumeration-5-1 tokoe:invalid" result="pass"/><test-case name="9069NISTXML-SV-II-atomic-int-enumeration-5-2 tokoe:invalid" result="pass"/><test-case name="9070NISTXML-SV-II-atomic-int-enumeration-5-3 tokoe:invalid" result="pass"/><test-case name="9071NISTXML-SV-II-atomic-int-enumeration-5-4 tokoe:invalid" result="pass"/><test-case name="9072NISTXML-SV-II-atomic-int-enumeration-5-5 tokoe:invalid" result="pass"/><test-case name="9073NISTSchema-SV-II-atomic-short-minExclusive-1 tokoe:valid" result="pass"/><test-case name="9074NISTXML-SV-II-atomic-short-minExclusive-1-1 tokoe:invalid" result="pass"/><test-case name="9075NISTSchema-SV-II-atomic-short-minExclusive-2 tokoe:valid" result="pass"/><test-case name="9076NISTXML-SV-II-atomic-short-minExclusive-2-1 tokoe:invalid" result="pass"/><test-case name="9077NISTXML-SV-II-atomic-short-minExclusive-2-2 tokoe:invalid" result="pass"/><test-case name="9078NISTXML-SV-II-atomic-short-minExclusive-2-3 tokoe:invalid" result="pass"/><test-case name="9079NISTXML-SV-II-atomic-short-minExclusive-2-4 tokoe:invalid" result="pass"/><test-case name="9080NISTXML-SV-II-atomic-short-minExclusive-2-5 tokoe:invalid" result="pass"/><test-case name="9081NISTSchema-SV-II-atomic-short-minExclusive-3 tokoe:valid" result="pass"/><test-case name="9082NISTXML-SV-II-atomic-short-minExclusive-3-1 tokoe:invalid" result="pass"/><test-case name="9083NISTXML-SV-II-atomic-short-minExclusive-3-2 tokoe:invalid" result="pass"/><test-case name="9084NISTXML-SV-II-atomic-short-minExclusive-3-3 tokoe:invalid" result="pass"/><test-case name="9085NISTXML-SV-II-atomic-short-minExclusive-3-4 tokoe:invalid" result="pass"/><test-case name="9086NISTXML-SV-II-atomic-short-minExclusive-3-5 tokoe:invalid" result="pass"/><test-case name="9087NISTSchema-SV-II-atomic-short-minExclusive-4 tokoe:valid" result="pass"/><test-case name="9088NISTXML-SV-II-atomic-short-minExclusive-4-1 tokoe:invalid" result="pass"/><test-case name="9089NISTXML-SV-II-atomic-short-minExclusive-4-2 tokoe:invalid" result="pass"/><test-case name="9090NISTXML-SV-II-atomic-short-minExclusive-4-3 tokoe:invalid" result="pass"/><test-case name="9091NISTXML-SV-II-atomic-short-minExclusive-4-4 tokoe:invalid" result="pass"/><test-case name="9092NISTXML-SV-II-atomic-short-minExclusive-4-5 tokoe:invalid" result="pass"/><test-case name="9093NISTSchema-SV-II-atomic-short-minExclusive-5 tokoe:valid" result="pass"/><test-case name="9094NISTXML-SV-II-atomic-short-minExclusive-5-1 tokoe:invalid" result="pass"/><test-case name="9095NISTXML-SV-II-atomic-short-minExclusive-5-2 tokoe:invalid" result="pass"/><test-case name="9096NISTXML-SV-II-atomic-short-minExclusive-5-3 tokoe:invalid" result="pass"/><test-case name="9097NISTXML-SV-II-atomic-short-minExclusive-5-4 tokoe:invalid" result="pass"/><test-case name="9098NISTXML-SV-II-atomic-short-minExclusive-5-5 tokoe:invalid" result="pass"/><test-case name="9099NISTSchema-SV-II-atomic-short-maxExclusive-1 tokoe:valid" result="pass"/><test-case name="9100NISTXML-SV-II-atomic-short-maxExclusive-1-1 tokoe:invalid" result="pass"/><test-case name="9101NISTXML-SV-II-atomic-short-maxExclusive-1-2 tokoe:invalid" result="pass"/><test-case name="9102NISTXML-SV-II-atomic-short-maxExclusive-1-3 tokoe:invalid" result="pass"/><test-case name="9103NISTXML-SV-II-atomic-short-maxExclusive-1-4 tokoe:invalid" result="pass"/><test-case name="9104NISTXML-SV-II-atomic-short-maxExclusive-1-5 tokoe:invalid" result="pass"/><test-case name="9105NISTSchema-SV-II-atomic-short-maxExclusive-2 tokoe:valid" result="pass"/><test-case name="9106NISTXML-SV-II-atomic-short-maxExclusive-2-1 tokoe:invalid" result="pass"/><test-case name="9107NISTXML-SV-II-atomic-short-maxExclusive-2-2 tokoe:invalid" result="pass"/><test-case name="9108NISTXML-SV-II-atomic-short-maxExclusive-2-3 tokoe:invalid" result="pass"/><test-case name="9109NISTXML-SV-II-atomic-short-maxExclusive-2-4 tokoe:invalid" result="pass"/><test-case name="9110NISTXML-SV-II-atomic-short-maxExclusive-2-5 tokoe:invalid" result="pass"/><test-case name="9111NISTSchema-SV-II-atomic-short-maxExclusive-3 tokoe:valid" result="pass"/><test-case name="9112NISTXML-SV-II-atomic-short-maxExclusive-3-1 tokoe:invalid" result="pass"/><test-case name="9113NISTXML-SV-II-atomic-short-maxExclusive-3-2 tokoe:invalid" result="pass"/><test-case name="9114NISTXML-SV-II-atomic-short-maxExclusive-3-3 tokoe:invalid" result="pass"/><test-case name="9115NISTXML-SV-II-atomic-short-maxExclusive-3-4 tokoe:invalid" result="pass"/><test-case name="9116NISTXML-SV-II-atomic-short-maxExclusive-3-5 tokoe:invalid" result="pass"/><test-case name="9117NISTSchema-SV-II-atomic-short-maxExclusive-4 tokoe:valid" result="pass"/><test-case name="9118NISTXML-SV-II-atomic-short-maxExclusive-4-1 tokoe:invalid" result="pass"/><test-case name="9119NISTXML-SV-II-atomic-short-maxExclusive-4-2 tokoe:invalid" result="pass"/><test-case name="9120NISTXML-SV-II-atomic-short-maxExclusive-4-3 tokoe:invalid" result="pass"/><test-case name="9121NISTXML-SV-II-atomic-short-maxExclusive-4-4 tokoe:invalid" result="pass"/><test-case name="9122NISTXML-SV-II-atomic-short-maxExclusive-4-5 tokoe:invalid" result="pass"/><test-case name="9123NISTSchema-SV-II-atomic-short-maxExclusive-5 tokoe:valid" result="pass"/><test-case name="9124NISTXML-SV-II-atomic-short-maxExclusive-5-1 tokoe:invalid" result="pass"/><test-case name="9125NISTSchema-SV-II-atomic-short-pattern-1 tokoe:valid" result="pass"/><test-case name="9126NISTXML-SV-II-atomic-short-pattern-1-1 tokoe:invalid" result="pass"/><test-case name="9127NISTXML-SV-II-atomic-short-pattern-1-2 tokoe:invalid" result="pass"/><test-case name="9128NISTXML-SV-II-atomic-short-pattern-1-3 tokoe:invalid" result="pass"/><test-case name="9129NISTXML-SV-II-atomic-short-pattern-1-4 tokoe:invalid" result="pass"/><test-case name="9130NISTXML-SV-II-atomic-short-pattern-1-5 tokoe:invalid" result="pass"/><test-case name="9131NISTSchema-SV-II-atomic-short-pattern-2 tokoe:valid" result="pass"/><test-case name="9132NISTXML-SV-II-atomic-short-pattern-2-1 tokoe:invalid" result="pass"/><test-case name="9133NISTXML-SV-II-atomic-short-pattern-2-2 tokoe:invalid" result="pass"/><test-case name="9134NISTXML-SV-II-atomic-short-pattern-2-3 tokoe:invalid" result="pass"/><test-case name="9135NISTXML-SV-II-atomic-short-pattern-2-4 tokoe:invalid" result="pass"/><test-case name="9136NISTXML-SV-II-atomic-short-pattern-2-5 tokoe:invalid" result="pass"/><test-case name="9137NISTSchema-SV-II-atomic-short-pattern-3 tokoe:valid" result="pass"/><test-case name="9138NISTXML-SV-II-atomic-short-pattern-3-1 tokoe:invalid" result="pass"/><test-case name="9139NISTXML-SV-II-atomic-short-pattern-3-2 tokoe:invalid" result="pass"/><test-case name="9140NISTXML-SV-II-atomic-short-pattern-3-3 tokoe:invalid" result="pass"/><test-case name="9141NISTXML-SV-II-atomic-short-pattern-3-4 tokoe:invalid" result="pass"/><test-case name="9142NISTXML-SV-II-atomic-short-pattern-3-5 tokoe:invalid" result="pass"/><test-case name="9143NISTSchema-SV-II-atomic-short-pattern-4 tokoe:valid" result="pass"/><test-case name="9144NISTXML-SV-II-atomic-short-pattern-4-1 tokoe:invalid" result="pass"/><test-case name="9145NISTXML-SV-II-atomic-short-pattern-4-2 tokoe:invalid" result="pass"/><test-case name="9146NISTXML-SV-II-atomic-short-pattern-4-3 tokoe:invalid" result="pass"/><test-case name="9147NISTXML-SV-II-atomic-short-pattern-4-4 tokoe:invalid" result="pass"/><test-case name="9148NISTXML-SV-II-atomic-short-pattern-4-5 tokoe:invalid" result="pass"/><test-case name="9149NISTSchema-SV-II-atomic-short-pattern-5 tokoe:valid" result="pass"/><test-case name="9150NISTXML-SV-II-atomic-short-pattern-5-1 tokoe:invalid" result="pass"/><test-case name="9151NISTXML-SV-II-atomic-short-pattern-5-2 tokoe:invalid" result="pass"/><test-case name="9152NISTXML-SV-II-atomic-short-pattern-5-3 tokoe:invalid" result="pass"/><test-case name="9153NISTXML-SV-II-atomic-short-pattern-5-4 tokoe:invalid" result="pass"/><test-case name="9154NISTXML-SV-II-atomic-short-pattern-5-5 tokoe:invalid" result="pass"/><test-case name="9155NISTSchema-SV-II-atomic-short-enumeration-1 tokoe:valid" result="pass"/><test-case name="9156NISTXML-SV-II-atomic-short-enumeration-1-1 tokoe:invalid" result="pass"/><test-case name="9157NISTXML-SV-II-atomic-short-enumeration-1-2 tokoe:invalid" result="pass"/><test-case name="9158NISTXML-SV-II-atomic-short-enumeration-1-3 tokoe:invalid" result="pass"/><test-case name="9159NISTXML-SV-II-atomic-short-enumeration-1-4 tokoe:invalid" result="pass"/><test-case name="9160NISTXML-SV-II-atomic-short-enumeration-1-5 tokoe:invalid" result="pass"/><test-case name="9161NISTSchema-SV-II-atomic-short-enumeration-2 tokoe:valid" result="pass"/><test-case name="9162NISTXML-SV-II-atomic-short-enumeration-2-1 tokoe:invalid" result="pass"/><test-case name="9163NISTXML-SV-II-atomic-short-enumeration-2-2 tokoe:invalid" result="pass"/><test-case name="9164NISTXML-SV-II-atomic-short-enumeration-2-3 tokoe:invalid" result="pass"/><test-case name="9165NISTXML-SV-II-atomic-short-enumeration-2-4 tokoe:invalid" result="pass"/><test-case name="9166NISTXML-SV-II-atomic-short-enumeration-2-5 tokoe:invalid" result="pass"/><test-case name="9167NISTSchema-SV-II-atomic-short-enumeration-3 tokoe:valid" result="pass"/><test-case name="9168NISTXML-SV-II-atomic-short-enumeration-3-1 tokoe:invalid" result="pass"/><test-case name="9169NISTXML-SV-II-atomic-short-enumeration-3-2 tokoe:invalid" result="pass"/><test-case name="9170NISTXML-SV-II-atomic-short-enumeration-3-3 tokoe:invalid" result="pass"/><test-case name="9171NISTXML-SV-II-atomic-short-enumeration-3-4 tokoe:invalid" result="pass"/><test-case name="9172NISTXML-SV-II-atomic-short-enumeration-3-5 tokoe:invalid" result="pass"/><test-case name="9173NISTSchema-SV-II-atomic-short-enumeration-4 tokoe:valid" result="pass"/><test-case name="9174NISTXML-SV-II-atomic-short-enumeration-4-1 tokoe:invalid" result="pass"/><test-case name="9175NISTXML-SV-II-atomic-short-enumeration-4-2 tokoe:invalid" result="pass"/><test-case name="9176NISTXML-SV-II-atomic-short-enumeration-4-3 tokoe:invalid" result="pass"/><test-case name="9177NISTXML-SV-II-atomic-short-enumeration-4-4 tokoe:invalid" result="pass"/><test-case name="9178NISTXML-SV-II-atomic-short-enumeration-4-5 tokoe:invalid" result="pass"/><test-case name="9179NISTSchema-SV-II-atomic-short-enumeration-5 tokoe:valid" result="pass"/><test-case name="9180NISTXML-SV-II-atomic-short-enumeration-5-1 tokoe:invalid" result="pass"/><test-case name="9181NISTXML-SV-II-atomic-short-enumeration-5-2 tokoe:invalid" result="pass"/><test-case name="9182NISTXML-SV-II-atomic-short-enumeration-5-3 tokoe:invalid" result="pass"/><test-case name="9183NISTXML-SV-II-atomic-short-enumeration-5-4 tokoe:invalid" result="pass"/><test-case name="9184NISTXML-SV-II-atomic-short-enumeration-5-5 tokoe:invalid" result="pass"/><test-case name="9185NISTSchema-SV-II-atomic-byte-minExclusive-1 tokoe:valid" result="pass"/><test-case name="9186NISTXML-SV-II-atomic-byte-minExclusive-1-1 tokoe:invalid" result="pass"/><test-case name="9187NISTSchema-SV-II-atomic-byte-minExclusive-2 tokoe:valid" result="pass"/><test-case name="9188NISTXML-SV-II-atomic-byte-minExclusive-2-1 tokoe:invalid" result="pass"/><test-case name="9189NISTXML-SV-II-atomic-byte-minExclusive-2-2 tokoe:invalid" result="pass"/><test-case name="9190NISTXML-SV-II-atomic-byte-minExclusive-2-3 tokoe:invalid" result="pass"/><test-case name="9191NISTXML-SV-II-atomic-byte-minExclusive-2-4 tokoe:invalid" result="pass"/><test-case name="9192NISTXML-SV-II-atomic-byte-minExclusive-2-5 tokoe:invalid" result="pass"/><test-case name="9193NISTSchema-SV-II-atomic-byte-minExclusive-3 tokoe:valid" result="pass"/><test-case name="9194NISTXML-SV-II-atomic-byte-minExclusive-3-1 tokoe:invalid" result="pass"/><test-case name="9195NISTXML-SV-II-atomic-byte-minExclusive-3-2 tokoe:invalid" result="pass"/><test-case name="9196NISTXML-SV-II-atomic-byte-minExclusive-3-3 tokoe:invalid" result="pass"/><test-case name="9197NISTXML-SV-II-atomic-byte-minExclusive-3-4 tokoe:invalid" result="pass"/><test-case name="9198NISTXML-SV-II-atomic-byte-minExclusive-3-5 tokoe:invalid" result="pass"/><test-case name="9199NISTSchema-SV-II-atomic-byte-minExclusive-4 tokoe:valid" result="pass"/><test-case name="9200NISTXML-SV-II-atomic-byte-minExclusive-4-1 tokoe:invalid" result="pass"/><test-case name="9201NISTXML-SV-II-atomic-byte-minExclusive-4-2 tokoe:invalid" result="pass"/><test-case name="9202NISTXML-SV-II-atomic-byte-minExclusive-4-3 tokoe:invalid" result="pass"/><test-case name="9203NISTXML-SV-II-atomic-byte-minExclusive-4-4 tokoe:invalid" result="pass"/><test-case name="9204NISTXML-SV-II-atomic-byte-minExclusive-4-5 tokoe:invalid" result="pass"/><test-case name="9205NISTSchema-SV-II-atomic-byte-minExclusive-5 tokoe:valid" result="pass"/><test-case name="9206NISTXML-SV-II-atomic-byte-minExclusive-5-1 tokoe:invalid" result="pass"/><test-case name="9207NISTXML-SV-II-atomic-byte-minExclusive-5-2 tokoe:invalid" result="pass"/><test-case name="9208NISTXML-SV-II-atomic-byte-minExclusive-5-3 tokoe:invalid" result="pass"/><test-case name="9209NISTXML-SV-II-atomic-byte-minExclusive-5-4 tokoe:invalid" result="pass"/><test-case name="9210NISTXML-SV-II-atomic-byte-minExclusive-5-5 tokoe:invalid" result="pass"/><test-case name="9211NISTSchema-SV-II-atomic-byte-maxExclusive-1 tokoe:valid" result="pass"/><test-case name="9212NISTXML-SV-II-atomic-byte-maxExclusive-1-1 tokoe:invalid" result="pass"/><test-case name="9213NISTXML-SV-II-atomic-byte-maxExclusive-1-2 tokoe:invalid" result="pass"/><test-case name="9214NISTXML-SV-II-atomic-byte-maxExclusive-1-3 tokoe:invalid" result="pass"/><test-case name="9215NISTXML-SV-II-atomic-byte-maxExclusive-1-4 tokoe:invalid" result="pass"/><test-case name="9216NISTXML-SV-II-atomic-byte-maxExclusive-1-5 tokoe:invalid" result="pass"/><test-case name="9217NISTSchema-SV-II-atomic-byte-maxExclusive-2 tokoe:valid" result="pass"/><test-case name="9218NISTXML-SV-II-atomic-byte-maxExclusive-2-1 tokoe:invalid" result="pass"/><test-case name="9219NISTXML-SV-II-atomic-byte-maxExclusive-2-2 tokoe:invalid" result="pass"/><test-case name="9220NISTXML-SV-II-atomic-byte-maxExclusive-2-3 tokoe:invalid" result="pass"/><test-case name="9221NISTXML-SV-II-atomic-byte-maxExclusive-2-4 tokoe:invalid" result="pass"/><test-case name="9222NISTXML-SV-II-atomic-byte-maxExclusive-2-5 tokoe:invalid" result="pass"/><test-case name="9223NISTSchema-SV-II-atomic-byte-maxExclusive-3 tokoe:valid" result="pass"/><test-case name="9224NISTXML-SV-II-atomic-byte-maxExclusive-3-1 tokoe:invalid" result="pass"/><test-case name="9225NISTXML-SV-II-atomic-byte-maxExclusive-3-2 tokoe:invalid" result="pass"/><test-case name="9226NISTXML-SV-II-atomic-byte-maxExclusive-3-3 tokoe:invalid" result="pass"/><test-case name="9227NISTXML-SV-II-atomic-byte-maxExclusive-3-4 tokoe:invalid" result="pass"/><test-case name="9228NISTXML-SV-II-atomic-byte-maxExclusive-3-5 tokoe:invalid" result="pass"/><test-case name="9229NISTSchema-SV-II-atomic-byte-maxExclusive-4 tokoe:valid" result="pass"/><test-case name="9230NISTXML-SV-II-atomic-byte-maxExclusive-4-1 tokoe:invalid" result="pass"/><test-case name="9231NISTXML-SV-II-atomic-byte-maxExclusive-4-2 tokoe:invalid" result="pass"/><test-case name="9232NISTXML-SV-II-atomic-byte-maxExclusive-4-3 tokoe:invalid" result="pass"/><test-case name="9233NISTXML-SV-II-atomic-byte-maxExclusive-4-4 tokoe:invalid" result="pass"/><test-case name="9234NISTXML-SV-II-atomic-byte-maxExclusive-4-5 tokoe:invalid" result="pass"/><test-case name="9235NISTSchema-SV-II-atomic-byte-maxExclusive-5 tokoe:valid" result="pass"/><test-case name="9236NISTXML-SV-II-atomic-byte-maxExclusive-5-1 tokoe:invalid" result="pass"/><test-case name="9237NISTSchema-SV-II-atomic-byte-pattern-1 tokoe:valid" result="pass"/><test-case name="9238NISTXML-SV-II-atomic-byte-pattern-1-1 tokoe:invalid" result="pass"/><test-case name="9239NISTXML-SV-II-atomic-byte-pattern-1-2 tokoe:invalid" result="pass"/><test-case name="9240NISTXML-SV-II-atomic-byte-pattern-1-3 tokoe:invalid" result="pass"/><test-case name="9241NISTXML-SV-II-atomic-byte-pattern-1-4 tokoe:invalid" result="pass"/><test-case name="9242NISTXML-SV-II-atomic-byte-pattern-1-5 tokoe:invalid" result="pass"/><test-case name="9243NISTSchema-SV-II-atomic-byte-pattern-2 tokoe:valid" result="pass"/><test-case name="9244NISTXML-SV-II-atomic-byte-pattern-2-1 tokoe:invalid" result="pass"/><test-case name="9245NISTXML-SV-II-atomic-byte-pattern-2-2 tokoe:invalid" result="pass"/><test-case name="9246NISTXML-SV-II-atomic-byte-pattern-2-3 tokoe:invalid" result="pass"/><test-case name="9247NISTXML-SV-II-atomic-byte-pattern-2-4 tokoe:invalid" result="pass"/><test-case name="9248NISTXML-SV-II-atomic-byte-pattern-2-5 tokoe:invalid" result="pass"/><test-case name="9249NISTSchema-SV-II-atomic-byte-pattern-3 tokoe:valid" result="pass"/><test-case name="9250NISTXML-SV-II-atomic-byte-pattern-3-1 tokoe:invalid" result="pass"/><test-case name="9251NISTXML-SV-II-atomic-byte-pattern-3-2 tokoe:invalid" result="pass"/><test-case name="9252NISTXML-SV-II-atomic-byte-pattern-3-3 tokoe:invalid" result="pass"/><test-case name="9253NISTXML-SV-II-atomic-byte-pattern-3-4 tokoe:invalid" result="pass"/><test-case name="9254NISTXML-SV-II-atomic-byte-pattern-3-5 tokoe:invalid" result="pass"/><test-case name="9255NISTSchema-SV-II-atomic-byte-pattern-4 tokoe:valid" result="pass"/><test-case name="9256NISTXML-SV-II-atomic-byte-pattern-4-1 tokoe:invalid" result="pass"/><test-case name="9257NISTXML-SV-II-atomic-byte-pattern-4-2 tokoe:invalid" result="pass"/><test-case name="9258NISTXML-SV-II-atomic-byte-pattern-4-3 tokoe:invalid" result="pass"/><test-case name="9259NISTXML-SV-II-atomic-byte-pattern-4-4 tokoe:invalid" result="pass"/><test-case name="9260NISTXML-SV-II-atomic-byte-pattern-4-5 tokoe:invalid" result="pass"/><test-case name="9261NISTSchema-SV-II-atomic-byte-pattern-5 tokoe:valid" result="pass"/><test-case name="9262NISTXML-SV-II-atomic-byte-pattern-5-1 tokoe:invalid" result="pass"/><test-case name="9263NISTXML-SV-II-atomic-byte-pattern-5-2 tokoe:invalid" result="pass"/><test-case name="9264NISTXML-SV-II-atomic-byte-pattern-5-3 tokoe:invalid" result="pass"/><test-case name="9265NISTXML-SV-II-atomic-byte-pattern-5-4 tokoe:invalid" result="pass"/><test-case name="9266NISTXML-SV-II-atomic-byte-pattern-5-5 tokoe:invalid" result="pass"/><test-case name="9267NISTSchema-SV-II-atomic-byte-enumeration-1 tokoe:valid" result="pass"/><test-case name="9268NISTXML-SV-II-atomic-byte-enumeration-1-1 tokoe:invalid" result="pass"/><test-case name="9269NISTXML-SV-II-atomic-byte-enumeration-1-2 tokoe:invalid" result="pass"/><test-case name="9270NISTXML-SV-II-atomic-byte-enumeration-1-3 tokoe:invalid" result="pass"/><test-case name="9271NISTXML-SV-II-atomic-byte-enumeration-1-4 tokoe:invalid" result="pass"/><test-case name="9272NISTXML-SV-II-atomic-byte-enumeration-1-5 tokoe:invalid" result="pass"/><test-case name="9273NISTSchema-SV-II-atomic-byte-enumeration-2 tokoe:valid" result="pass"/><test-case name="9274NISTXML-SV-II-atomic-byte-enumeration-2-1 tokoe:invalid" result="pass"/><test-case name="9275NISTXML-SV-II-atomic-byte-enumeration-2-2 tokoe:invalid" result="pass"/><test-case name="9276NISTXML-SV-II-atomic-byte-enumeration-2-3 tokoe:invalid" result="pass"/><test-case name="9277NISTXML-SV-II-atomic-byte-enumeration-2-4 tokoe:invalid" result="pass"/><test-case name="9278NISTXML-SV-II-atomic-byte-enumeration-2-5 tokoe:invalid" result="pass"/><test-case name="9279NISTSchema-SV-II-atomic-byte-enumeration-3 tokoe:valid" result="pass"/><test-case name="9280NISTXML-SV-II-atomic-byte-enumeration-3-1 tokoe:invalid" result="pass"/><test-case name="9281NISTXML-SV-II-atomic-byte-enumeration-3-2 tokoe:invalid" result="pass"/><test-case name="9282NISTXML-SV-II-atomic-byte-enumeration-3-3 tokoe:invalid" result="pass"/><test-case name="9283NISTXML-SV-II-atomic-byte-enumeration-3-4 tokoe:invalid" result="pass"/><test-case name="9284NISTXML-SV-II-atomic-byte-enumeration-3-5 tokoe:invalid" result="pass"/><test-case name="9285NISTSchema-SV-II-atomic-byte-enumeration-4 tokoe:valid" result="pass"/><test-case name="9286NISTXML-SV-II-atomic-byte-enumeration-4-1 tokoe:invalid" result="pass"/><test-case name="9287NISTXML-SV-II-atomic-byte-enumeration-4-2 tokoe:invalid" result="pass"/><test-case name="9288NISTXML-SV-II-atomic-byte-enumeration-4-3 tokoe:invalid" result="pass"/><test-case name="9289NISTXML-SV-II-atomic-byte-enumeration-4-4 tokoe:invalid" result="pass"/><test-case name="9290NISTXML-SV-II-atomic-byte-enumeration-4-5 tokoe:invalid" result="pass"/><test-case name="9291NISTSchema-SV-II-atomic-byte-enumeration-5 tokoe:valid" result="pass"/><test-case name="9292NISTXML-SV-II-atomic-byte-enumeration-5-1 tokoe:invalid" result="pass"/><test-case name="9293NISTXML-SV-II-atomic-byte-enumeration-5-2 tokoe:invalid" result="pass"/><test-case name="9294NISTXML-SV-II-atomic-byte-enumeration-5-3 tokoe:invalid" result="pass"/><test-case name="9295NISTXML-SV-II-atomic-byte-enumeration-5-4 tokoe:invalid" result="pass"/><test-case name="9296NISTXML-SV-II-atomic-byte-enumeration-5-5 tokoe:invalid" result="pass"/><test-case name="9297NISTSchema-SV-II-atomic-nonNegativeInteger-minExclusive-1 tokoe:valid" result="pass"/><test-case name="9298NISTXML-SV-II-atomic-nonNegativeInteger-minExclusive-1-1 tokoe:invalid" result="pass"/><test-case name="9299NISTSchema-SV-II-atomic-nonNegativeInteger-minExclusive-2 tokoe:valid" result="pass"/><test-case name="9300NISTXML-SV-II-atomic-nonNegativeInteger-minExclusive-2-1 tokoe:invalid" result="pass"/><test-case name="9301NISTXML-SV-II-atomic-nonNegativeInteger-minExclusive-2-2 tokoe:invalid" result="pass"/><test-case name="9302NISTXML-SV-II-atomic-nonNegativeInteger-minExclusive-2-3 tokoe:invalid" result="pass"/><test-case name="9303NISTXML-SV-II-atomic-nonNegativeInteger-minExclusive-2-4 tokoe:invalid" result="pass"/><test-case name="9304NISTXML-SV-II-atomic-nonNegativeInteger-minExclusive-2-5 tokoe:invalid" result="pass"/><test-case name="9305NISTSchema-SV-II-atomic-nonNegativeInteger-minExclusive-3 tokoe:valid" result="pass"/><test-case name="9306NISTXML-SV-II-atomic-nonNegativeInteger-minExclusive-3-1 tokoe:invalid" result="pass"/><test-case name="9307NISTXML-SV-II-atomic-nonNegativeInteger-minExclusive-3-2 tokoe:invalid" result="pass"/><test-case name="9308NISTXML-SV-II-atomic-nonNegativeInteger-minExclusive-3-3 tokoe:invalid" result="pass"/><test-case name="9309NISTXML-SV-II-atomic-nonNegativeInteger-minExclusive-3-4 tokoe:invalid" result="pass"/><test-case name="9310NISTXML-SV-II-atomic-nonNegativeInteger-minExclusive-3-5 tokoe:invalid" result="pass"/><test-case name="9311NISTSchema-SV-II-atomic-nonNegativeInteger-minExclusive-4 tokoe:valid" result="pass"/><test-case name="9312NISTXML-SV-II-atomic-nonNegativeInteger-minExclusive-4-1 tokoe:invalid" result="pass"/><test-case name="9313NISTXML-SV-II-atomic-nonNegativeInteger-minExclusive-4-2 tokoe:invalid" result="pass"/><test-case name="9314NISTXML-SV-II-atomic-nonNegativeInteger-minExclusive-4-3 tokoe:invalid" result="pass"/><test-case name="9315NISTXML-SV-II-atomic-nonNegativeInteger-minExclusive-4-4 tokoe:invalid" result="pass"/><test-case name="9316NISTXML-SV-II-atomic-nonNegativeInteger-minExclusive-4-5 tokoe:invalid" result="pass"/><test-case name="9317NISTSchema-SV-II-atomic-nonNegativeInteger-minExclusive-5 tokoe:valid" result="pass"/><test-case name="9318NISTXML-SV-II-atomic-nonNegativeInteger-minExclusive-5-1 tokoe:invalid" result="pass"/><test-case name="9319NISTXML-SV-II-atomic-nonNegativeInteger-minExclusive-5-2 tokoe:invalid" result="pass"/><test-case name="9320NISTXML-SV-II-atomic-nonNegativeInteger-minExclusive-5-3 tokoe:invalid" result="pass"/><test-case name="9321NISTXML-SV-II-atomic-nonNegativeInteger-minExclusive-5-4 tokoe:invalid" result="pass"/><test-case name="9322NISTXML-SV-II-atomic-nonNegativeInteger-minExclusive-5-5 tokoe:invalid" result="pass"/><test-case name="9323NISTSchema-SV-II-atomic-nonNegativeInteger-maxExclusive-1 tokoe:valid" result="pass"/><test-case name="9324NISTXML-SV-II-atomic-nonNegativeInteger-maxExclusive-1-1 tokoe:invalid" result="pass"/><test-case name="9325NISTXML-SV-II-atomic-nonNegativeInteger-maxExclusive-1-2 tokoe:invalid" result="pass"/><test-case name="9326NISTXML-SV-II-atomic-nonNegativeInteger-maxExclusive-1-3 tokoe:invalid" result="pass"/><test-case name="9327NISTXML-SV-II-atomic-nonNegativeInteger-maxExclusive-1-4 tokoe:invalid" result="pass"/><test-case name="9328NISTXML-SV-II-atomic-nonNegativeInteger-maxExclusive-1-5 tokoe:invalid" result="pass"/><test-case name="9329NISTSchema-SV-II-atomic-nonNegativeInteger-maxExclusive-2 tokoe:valid" result="pass"/><test-case name="9330NISTXML-SV-II-atomic-nonNegativeInteger-maxExclusive-2-1 tokoe:invalid" result="pass"/><test-case name="9331NISTXML-SV-II-atomic-nonNegativeInteger-maxExclusive-2-2 tokoe:invalid" result="pass"/><test-case name="9332NISTXML-SV-II-atomic-nonNegativeInteger-maxExclusive-2-3 tokoe:invalid" result="pass"/><test-case name="9333NISTXML-SV-II-atomic-nonNegativeInteger-maxExclusive-2-4 tokoe:invalid" result="pass"/><test-case name="9334NISTXML-SV-II-atomic-nonNegativeInteger-maxExclusive-2-5 tokoe:invalid" result="pass"/><test-case name="9335NISTSchema-SV-II-atomic-nonNegativeInteger-maxExclusive-3 tokoe:valid" result="pass"/><test-case name="9336NISTXML-SV-II-atomic-nonNegativeInteger-maxExclusive-3-1 tokoe:invalid" result="pass"/><test-case name="9337NISTXML-SV-II-atomic-nonNegativeInteger-maxExclusive-3-2 tokoe:invalid" result="pass"/><test-case name="9338NISTXML-SV-II-atomic-nonNegativeInteger-maxExclusive-3-3 tokoe:invalid" result="pass"/><test-case name="9339NISTXML-SV-II-atomic-nonNegativeInteger-maxExclusive-3-4 tokoe:invalid" result="pass"/><test-case name="9340NISTXML-SV-II-atomic-nonNegativeInteger-maxExclusive-3-5 tokoe:invalid" result="pass"/><test-case name="9341NISTSchema-SV-II-atomic-nonNegativeInteger-maxExclusive-4 tokoe:valid" result="pass"/><test-case name="9342NISTXML-SV-II-atomic-nonNegativeInteger-maxExclusive-4-1 tokoe:invalid" result="pass"/><test-case name="9343NISTXML-SV-II-atomic-nonNegativeInteger-maxExclusive-4-2 tokoe:invalid" result="pass"/><test-case name="9344NISTXML-SV-II-atomic-nonNegativeInteger-maxExclusive-4-3 tokoe:invalid" result="pass"/><test-case name="9345NISTXML-SV-II-atomic-nonNegativeInteger-maxExclusive-4-4 tokoe:invalid" result="pass"/><test-case name="9346NISTXML-SV-II-atomic-nonNegativeInteger-maxExclusive-4-5 tokoe:invalid" result="pass"/><test-case name="9347NISTSchema-SV-II-atomic-nonNegativeInteger-maxExclusive-5 tokoe:valid" result="pass"/><test-case name="9348NISTXML-SV-II-atomic-nonNegativeInteger-maxExclusive-5-1 tokoe:invalid" result="pass"/><test-case name="9349NISTSchema-SV-II-atomic-nonNegativeInteger-pattern-1 tokoe:valid" result="pass"/><test-case name="9350NISTXML-SV-II-atomic-nonNegativeInteger-pattern-1-1 tokoe:invalid" result="pass"/><test-case name="9351NISTXML-SV-II-atomic-nonNegativeInteger-pattern-1-2 tokoe:invalid" result="pass"/><test-case name="9352NISTXML-SV-II-atomic-nonNegativeInteger-pattern-1-3 tokoe:invalid" result="pass"/><test-case name="9353NISTXML-SV-II-atomic-nonNegativeInteger-pattern-1-4 tokoe:invalid" result="pass"/><test-case name="9354NISTXML-SV-II-atomic-nonNegativeInteger-pattern-1-5 tokoe:invalid" result="pass"/><test-case name="9355NISTSchema-SV-II-atomic-nonNegativeInteger-pattern-2 tokoe:valid" result="pass"/><test-case name="9356NISTXML-SV-II-atomic-nonNegativeInteger-pattern-2-1 tokoe:invalid" result="pass"/><test-case name="9357NISTXML-SV-II-atomic-nonNegativeInteger-pattern-2-2 tokoe:invalid" result="pass"/><test-case name="9358NISTXML-SV-II-atomic-nonNegativeInteger-pattern-2-3 tokoe:invalid" result="pass"/><test-case name="9359NISTXML-SV-II-atomic-nonNegativeInteger-pattern-2-4 tokoe:invalid" result="pass"/><test-case name="9360NISTXML-SV-II-atomic-nonNegativeInteger-pattern-2-5 tokoe:invalid" result="pass"/><test-case name="9361NISTSchema-SV-II-atomic-nonNegativeInteger-pattern-3 tokoe:valid" result="pass"/><test-case name="9362NISTXML-SV-II-atomic-nonNegativeInteger-pattern-3-1 tokoe:invalid" result="pass"/><test-case name="9363NISTXML-SV-II-atomic-nonNegativeInteger-pattern-3-2 tokoe:invalid" result="pass"/><test-case name="9364NISTXML-SV-II-atomic-nonNegativeInteger-pattern-3-3 tokoe:invalid" result="pass"/><test-case name="9365NISTXML-SV-II-atomic-nonNegativeInteger-pattern-3-4 tokoe:invalid" result="pass"/><test-case name="9366NISTXML-SV-II-atomic-nonNegativeInteger-pattern-3-5 tokoe:invalid" result="pass"/><test-case name="9367NISTSchema-SV-II-atomic-nonNegativeInteger-pattern-4 tokoe:valid" result="pass"/><test-case name="9368NISTXML-SV-II-atomic-nonNegativeInteger-pattern-4-1 tokoe:invalid" result="pass"/><test-case name="9369NISTXML-SV-II-atomic-nonNegativeInteger-pattern-4-2 tokoe:invalid" result="pass"/><test-case name="9370NISTXML-SV-II-atomic-nonNegativeInteger-pattern-4-3 tokoe:invalid" result="pass"/><test-case name="9371NISTXML-SV-II-atomic-nonNegativeInteger-pattern-4-4 tokoe:invalid" result="pass"/><test-case name="9372NISTXML-SV-II-atomic-nonNegativeInteger-pattern-4-5 tokoe:invalid" result="pass"/><test-case name="9373NISTSchema-SV-II-atomic-nonNegativeInteger-pattern-5 tokoe:valid" result="pass"/><test-case name="9374NISTXML-SV-II-atomic-nonNegativeInteger-pattern-5-1 tokoe:invalid" result="pass"/><test-case name="9375NISTXML-SV-II-atomic-nonNegativeInteger-pattern-5-2 tokoe:invalid" result="pass"/><test-case name="9376NISTXML-SV-II-atomic-nonNegativeInteger-pattern-5-3 tokoe:invalid" result="pass"/><test-case name="9377NISTXML-SV-II-atomic-nonNegativeInteger-pattern-5-4 tokoe:invalid" result="pass"/><test-case name="9378NISTXML-SV-II-atomic-nonNegativeInteger-pattern-5-5 tokoe:invalid" result="pass"/><test-case name="9379NISTSchema-SV-II-atomic-nonNegativeInteger-enumeration-1 tokoe:valid" result="pass"/><test-case name="9380NISTXML-SV-II-atomic-nonNegativeInteger-enumeration-1-1 tokoe:invalid" result="pass"/><test-case name="9381NISTXML-SV-II-atomic-nonNegativeInteger-enumeration-1-2 tokoe:invalid" result="pass"/><test-case name="9382NISTXML-SV-II-atomic-nonNegativeInteger-enumeration-1-3 tokoe:invalid" result="pass"/><test-case name="9383NISTXML-SV-II-atomic-nonNegativeInteger-enumeration-1-4 tokoe:invalid" result="pass"/><test-case name="9384NISTXML-SV-II-atomic-nonNegativeInteger-enumeration-1-5 tokoe:invalid" result="pass"/><test-case name="9385NISTSchema-SV-II-atomic-nonNegativeInteger-enumeration-2 tokoe:valid" result="pass"/><test-case name="9386NISTXML-SV-II-atomic-nonNegativeInteger-enumeration-2-1 tokoe:invalid" result="pass"/><test-case name="9387NISTXML-SV-II-atomic-nonNegativeInteger-enumeration-2-2 tokoe:invalid" result="pass"/><test-case name="9388NISTXML-SV-II-atomic-nonNegativeInteger-enumeration-2-3 tokoe:invalid" result="pass"/><test-case name="9389NISTXML-SV-II-atomic-nonNegativeInteger-enumeration-2-4 tokoe:invalid" result="pass"/><test-case name="9390NISTXML-SV-II-atomic-nonNegativeInteger-enumeration-2-5 tokoe:invalid" result="pass"/><test-case name="9391NISTSchema-SV-II-atomic-nonNegativeInteger-enumeration-3 tokoe:valid" result="pass"/><test-case name="9392NISTXML-SV-II-atomic-nonNegativeInteger-enumeration-3-1 tokoe:invalid" result="pass"/><test-case name="9393NISTXML-SV-II-atomic-nonNegativeInteger-enumeration-3-2 tokoe:invalid" result="pass"/><test-case name="9394NISTXML-SV-II-atomic-nonNegativeInteger-enumeration-3-3 tokoe:invalid" result="pass"/><test-case name="9395NISTXML-SV-II-atomic-nonNegativeInteger-enumeration-3-4 tokoe:invalid" result="pass"/><test-case name="9396NISTXML-SV-II-atomic-nonNegativeInteger-enumeration-3-5 tokoe:invalid" result="pass"/><test-case name="9397NISTSchema-SV-II-atomic-nonNegativeInteger-enumeration-4 tokoe:valid" result="pass"/><test-case name="9398NISTXML-SV-II-atomic-nonNegativeInteger-enumeration-4-1 tokoe:invalid" result="pass"/><test-case name="9399NISTXML-SV-II-atomic-nonNegativeInteger-enumeration-4-2 tokoe:invalid" result="pass"/><test-case name="9400NISTXML-SV-II-atomic-nonNegativeInteger-enumeration-4-3 tokoe:invalid" result="pass"/><test-case name="9401NISTXML-SV-II-atomic-nonNegativeInteger-enumeration-4-4 tokoe:invalid" result="pass"/><test-case name="9402NISTXML-SV-II-atomic-nonNegativeInteger-enumeration-4-5 tokoe:invalid" result="pass"/><test-case name="9403NISTSchema-SV-II-atomic-nonNegativeInteger-enumeration-5 tokoe:valid" result="pass"/><test-case name="9404NISTXML-SV-II-atomic-nonNegativeInteger-enumeration-5-1 tokoe:invalid" result="pass"/><test-case name="9405NISTXML-SV-II-atomic-nonNegativeInteger-enumeration-5-2 tokoe:invalid" result="pass"/><test-case name="9406NISTXML-SV-II-atomic-nonNegativeInteger-enumeration-5-3 tokoe:invalid" result="pass"/><test-case name="9407NISTXML-SV-II-atomic-nonNegativeInteger-enumeration-5-4 tokoe:invalid" result="pass"/><test-case name="9408NISTXML-SV-II-atomic-nonNegativeInteger-enumeration-5-5 tokoe:invalid" result="pass"/><test-case name="9409NISTSchema-SV-II-atomic-unsignedLong-minExclusive-1 tokoe:valid" result="pass"/><test-case name="9410NISTXML-SV-II-atomic-unsignedLong-minExclusive-1-1 tokoe:invalid" result="pass"/><test-case name="9411NISTSchema-SV-II-atomic-unsignedLong-minExclusive-2 tokoe:valid" result="pass"/><test-case name="9412NISTXML-SV-II-atomic-unsignedLong-minExclusive-2-1 tokoe:invalid" result="pass"/><test-case name="9413NISTXML-SV-II-atomic-unsignedLong-minExclusive-2-2 tokoe:invalid" result="pass"/><test-case name="9414NISTXML-SV-II-atomic-unsignedLong-minExclusive-2-3 tokoe:invalid" result="pass"/><test-case name="9415NISTXML-SV-II-atomic-unsignedLong-minExclusive-2-4 tokoe:invalid" result="pass"/><test-case name="9416NISTXML-SV-II-atomic-unsignedLong-minExclusive-2-5 tokoe:invalid" result="pass"/><test-case name="9417NISTSchema-SV-II-atomic-unsignedLong-minExclusive-3 tokoe:valid" result="pass"/><test-case name="9418NISTXML-SV-II-atomic-unsignedLong-minExclusive-3-1 tokoe:invalid" result="pass"/><test-case name="9419NISTXML-SV-II-atomic-unsignedLong-minExclusive-3-2 tokoe:invalid" result="pass"/><test-case name="9420NISTXML-SV-II-atomic-unsignedLong-minExclusive-3-3 tokoe:invalid" result="pass"/><test-case name="9421NISTXML-SV-II-atomic-unsignedLong-minExclusive-3-4 tokoe:invalid" result="pass"/><test-case name="9422NISTXML-SV-II-atomic-unsignedLong-minExclusive-3-5 tokoe:invalid" result="pass"/><test-case name="9423NISTSchema-SV-II-atomic-unsignedLong-minExclusive-4 tokoe:valid" result="pass"/><test-case name="9424NISTXML-SV-II-atomic-unsignedLong-minExclusive-4-1 tokoe:invalid" result="pass"/><test-case name="9425NISTXML-SV-II-atomic-unsignedLong-minExclusive-4-2 tokoe:invalid" result="pass"/><test-case name="9426NISTXML-SV-II-atomic-unsignedLong-minExclusive-4-3 tokoe:invalid" result="pass"/><test-case name="9427NISTXML-SV-II-atomic-unsignedLong-minExclusive-4-4 tokoe:invalid" result="pass"/><test-case name="9428NISTXML-SV-II-atomic-unsignedLong-minExclusive-4-5 tokoe:invalid" result="pass"/><test-case name="9429NISTSchema-SV-II-atomic-unsignedLong-minExclusive-5 tokoe:valid" result="pass"/><test-case name="9430NISTXML-SV-II-atomic-unsignedLong-minExclusive-5-1 tokoe:invalid" result="pass"/><test-case name="9431NISTXML-SV-II-atomic-unsignedLong-minExclusive-5-2 tokoe:invalid" result="pass"/><test-case name="9432NISTXML-SV-II-atomic-unsignedLong-minExclusive-5-3 tokoe:invalid" result="pass"/><test-case name="9433NISTXML-SV-II-atomic-unsignedLong-minExclusive-5-4 tokoe:invalid" result="pass"/><test-case name="9434NISTXML-SV-II-atomic-unsignedLong-minExclusive-5-5 tokoe:invalid" result="pass"/><test-case name="9435NISTSchema-SV-II-atomic-unsignedLong-maxExclusive-1 tokoe:valid" result="pass"/><test-case name="9436NISTXML-SV-II-atomic-unsignedLong-maxExclusive-1-1 tokoe:invalid" result="pass"/><test-case name="9437NISTXML-SV-II-atomic-unsignedLong-maxExclusive-1-2 tokoe:invalid" result="pass"/><test-case name="9438NISTXML-SV-II-atomic-unsignedLong-maxExclusive-1-3 tokoe:invalid" result="pass"/><test-case name="9439NISTXML-SV-II-atomic-unsignedLong-maxExclusive-1-4 tokoe:invalid" result="pass"/><test-case name="9440NISTXML-SV-II-atomic-unsignedLong-maxExclusive-1-5 tokoe:invalid" result="pass"/><test-case name="9441NISTSchema-SV-II-atomic-unsignedLong-maxExclusive-2 tokoe:valid" result="pass"/><test-case name="9442NISTXML-SV-II-atomic-unsignedLong-maxExclusive-2-1 tokoe:invalid" result="pass"/><test-case name="9443NISTXML-SV-II-atomic-unsignedLong-maxExclusive-2-2 tokoe:invalid" result="pass"/><test-case name="9444NISTXML-SV-II-atomic-unsignedLong-maxExclusive-2-3 tokoe:invalid" result="pass"/><test-case name="9445NISTXML-SV-II-atomic-unsignedLong-maxExclusive-2-4 tokoe:invalid" result="pass"/><test-case name="9446NISTXML-SV-II-atomic-unsignedLong-maxExclusive-2-5 tokoe:invalid" result="pass"/><test-case name="9447NISTSchema-SV-II-atomic-unsignedLong-maxExclusive-3 tokoe:valid" result="pass"/><test-case name="9448NISTXML-SV-II-atomic-unsignedLong-maxExclusive-3-1 tokoe:invalid" result="pass"/><test-case name="9449NISTXML-SV-II-atomic-unsignedLong-maxExclusive-3-2 tokoe:invalid" result="pass"/><test-case name="9450NISTXML-SV-II-atomic-unsignedLong-maxExclusive-3-3 tokoe:invalid" result="pass"/><test-case name="9451NISTXML-SV-II-atomic-unsignedLong-maxExclusive-3-4 tokoe:invalid" result="pass"/><test-case name="9452NISTXML-SV-II-atomic-unsignedLong-maxExclusive-3-5 tokoe:invalid" result="pass"/><test-case name="9453NISTSchema-SV-II-atomic-unsignedLong-maxExclusive-4 tokoe:valid" result="pass"/><test-case name="9454NISTXML-SV-II-atomic-unsignedLong-maxExclusive-4-1 tokoe:invalid" result="pass"/><test-case name="9455NISTXML-SV-II-atomic-unsignedLong-maxExclusive-4-2 tokoe:invalid" result="pass"/><test-case name="9456NISTXML-SV-II-atomic-unsignedLong-maxExclusive-4-3 tokoe:invalid" result="pass"/><test-case name="9457NISTXML-SV-II-atomic-unsignedLong-maxExclusive-4-4 tokoe:invalid" result="pass"/><test-case name="9458NISTXML-SV-II-atomic-unsignedLong-maxExclusive-4-5 tokoe:invalid" result="pass"/><test-case name="9459NISTSchema-SV-II-atomic-unsignedLong-maxExclusive-5 tokoe:valid" result="pass"/><test-case name="9460NISTXML-SV-II-atomic-unsignedLong-maxExclusive-5-1 tokoe:invalid" result="pass"/><test-case name="9461NISTSchema-SV-II-atomic-unsignedLong-pattern-1 tokoe:valid" result="pass"/><test-case name="9462NISTXML-SV-II-atomic-unsignedLong-pattern-1-1 tokoe:invalid" result="pass"/><test-case name="9463NISTXML-SV-II-atomic-unsignedLong-pattern-1-2 tokoe:invalid" result="pass"/><test-case name="9464NISTXML-SV-II-atomic-unsignedLong-pattern-1-3 tokoe:invalid" result="pass"/><test-case name="9465NISTXML-SV-II-atomic-unsignedLong-pattern-1-4 tokoe:invalid" result="pass"/><test-case name="9466NISTXML-SV-II-atomic-unsignedLong-pattern-1-5 tokoe:invalid" result="pass"/><test-case name="9467NISTSchema-SV-II-atomic-unsignedLong-pattern-2 tokoe:valid" result="pass"/><test-case name="9468NISTXML-SV-II-atomic-unsignedLong-pattern-2-1 tokoe:invalid" result="pass"/><test-case name="9469NISTXML-SV-II-atomic-unsignedLong-pattern-2-2 tokoe:invalid" result="pass"/><test-case name="9470NISTXML-SV-II-atomic-unsignedLong-pattern-2-3 tokoe:invalid" result="pass"/><test-case name="9471NISTXML-SV-II-atomic-unsignedLong-pattern-2-4 tokoe:invalid" result="pass"/><test-case name="9472NISTXML-SV-II-atomic-unsignedLong-pattern-2-5 tokoe:invalid" result="pass"/><test-case name="9473NISTSchema-SV-II-atomic-unsignedLong-pattern-3 tokoe:valid" result="pass"/><test-case name="9474NISTXML-SV-II-atomic-unsignedLong-pattern-3-1 tokoe:invalid" result="pass"/><test-case name="9475NISTXML-SV-II-atomic-unsignedLong-pattern-3-2 tokoe:invalid" result="pass"/><test-case name="9476NISTXML-SV-II-atomic-unsignedLong-pattern-3-3 tokoe:invalid" result="pass"/><test-case name="9477NISTXML-SV-II-atomic-unsignedLong-pattern-3-4 tokoe:invalid" result="pass"/><test-case name="9478NISTXML-SV-II-atomic-unsignedLong-pattern-3-5 tokoe:invalid" result="pass"/><test-case name="9479NISTSchema-SV-II-atomic-unsignedLong-pattern-4 tokoe:valid" result="pass"/><test-case name="9480NISTXML-SV-II-atomic-unsignedLong-pattern-4-1 tokoe:invalid" result="pass"/><test-case name="9481NISTXML-SV-II-atomic-unsignedLong-pattern-4-2 tokoe:invalid" result="pass"/><test-case name="9482NISTXML-SV-II-atomic-unsignedLong-pattern-4-3 tokoe:invalid" result="pass"/><test-case name="9483NISTXML-SV-II-atomic-unsignedLong-pattern-4-4 tokoe:invalid" result="pass"/><test-case name="9484NISTXML-SV-II-atomic-unsignedLong-pattern-4-5 tokoe:invalid" result="pass"/><test-case name="9485NISTSchema-SV-II-atomic-unsignedLong-pattern-5 tokoe:valid" result="pass"/><test-case name="9486NISTXML-SV-II-atomic-unsignedLong-pattern-5-1 tokoe:invalid" result="pass"/><test-case name="9487NISTXML-SV-II-atomic-unsignedLong-pattern-5-2 tokoe:invalid" result="pass"/><test-case name="9488NISTXML-SV-II-atomic-unsignedLong-pattern-5-3 tokoe:invalid" result="pass"/><test-case name="9489NISTXML-SV-II-atomic-unsignedLong-pattern-5-4 tokoe:invalid" result="pass"/><test-case name="9490NISTXML-SV-II-atomic-unsignedLong-pattern-5-5 tokoe:invalid" result="pass"/><test-case name="9491NISTSchema-SV-II-atomic-unsignedLong-enumeration-1 tokoe:valid" result="pass"/><test-case name="9492NISTXML-SV-II-atomic-unsignedLong-enumeration-1-1 tokoe:invalid" result="pass"/><test-case name="9493NISTXML-SV-II-atomic-unsignedLong-enumeration-1-2 tokoe:invalid" result="pass"/><test-case name="9494NISTXML-SV-II-atomic-unsignedLong-enumeration-1-3 tokoe:invalid" result="pass"/><test-case name="9495NISTXML-SV-II-atomic-unsignedLong-enumeration-1-4 tokoe:invalid" result="pass"/><test-case name="9496NISTXML-SV-II-atomic-unsignedLong-enumeration-1-5 tokoe:invalid" result="pass"/><test-case name="9497NISTSchema-SV-II-atomic-unsignedLong-enumeration-2 tokoe:valid" result="pass"/><test-case name="9498NISTXML-SV-II-atomic-unsignedLong-enumeration-2-1 tokoe:invalid" result="pass"/><test-case name="9499NISTXML-SV-II-atomic-unsignedLong-enumeration-2-2 tokoe:invalid" result="pass"/><test-case name="9500NISTXML-SV-II-atomic-unsignedLong-enumeration-2-3 tokoe:invalid" result="pass"/><test-case name="9501NISTXML-SV-II-atomic-unsignedLong-enumeration-2-4 tokoe:invalid" result="pass"/><test-case name="9502NISTXML-SV-II-atomic-unsignedLong-enumeration-2-5 tokoe:invalid" result="pass"/><test-case name="9503NISTSchema-SV-II-atomic-unsignedLong-enumeration-3 tokoe:valid" result="pass"/><test-case name="9504NISTXML-SV-II-atomic-unsignedLong-enumeration-3-1 tokoe:invalid" result="pass"/><test-case name="9505NISTXML-SV-II-atomic-unsignedLong-enumeration-3-2 tokoe:invalid" result="pass"/><test-case name="9506NISTXML-SV-II-atomic-unsignedLong-enumeration-3-3 tokoe:invalid" result="pass"/><test-case name="9507NISTXML-SV-II-atomic-unsignedLong-enumeration-3-4 tokoe:invalid" result="pass"/><test-case name="9508NISTXML-SV-II-atomic-unsignedLong-enumeration-3-5 tokoe:invalid" result="pass"/><test-case name="9509NISTSchema-SV-II-atomic-unsignedLong-enumeration-4 tokoe:valid" result="pass"/><test-case name="9510NISTXML-SV-II-atomic-unsignedLong-enumeration-4-1 tokoe:invalid" result="pass"/><test-case name="9511NISTXML-SV-II-atomic-unsignedLong-enumeration-4-2 tokoe:invalid" result="pass"/><test-case name="9512NISTXML-SV-II-atomic-unsignedLong-enumeration-4-3 tokoe:invalid" result="pass"/><test-case name="9513NISTXML-SV-II-atomic-unsignedLong-enumeration-4-4 tokoe:invalid" result="pass"/><test-case name="9514NISTXML-SV-II-atomic-unsignedLong-enumeration-4-5 tokoe:invalid" result="pass"/><test-case name="9515NISTSchema-SV-II-atomic-unsignedLong-enumeration-5 tokoe:valid" result="pass"/><test-case name="9516NISTXML-SV-II-atomic-unsignedLong-enumeration-5-1 tokoe:invalid" result="pass"/><test-case name="9517NISTXML-SV-II-atomic-unsignedLong-enumeration-5-2 tokoe:invalid" result="pass"/><test-case name="9518NISTXML-SV-II-atomic-unsignedLong-enumeration-5-3 tokoe:invalid" result="pass"/><test-case name="9519NISTXML-SV-II-atomic-unsignedLong-enumeration-5-4 tokoe:invalid" result="pass"/><test-case name="9520NISTXML-SV-II-atomic-unsignedLong-enumeration-5-5 tokoe:invalid" result="pass"/><test-case name="9521NISTSchema-SV-II-atomic-unsignedInt-minExclusive-1 tokoe:valid" result="pass"/><test-case name="9522NISTXML-SV-II-atomic-unsignedInt-minExclusive-1-1 tokoe:invalid" result="pass"/><test-case name="9523NISTSchema-SV-II-atomic-unsignedInt-minExclusive-2 tokoe:valid" result="pass"/><test-case name="9524NISTXML-SV-II-atomic-unsignedInt-minExclusive-2-1 tokoe:invalid" result="pass"/><test-case name="9525NISTXML-SV-II-atomic-unsignedInt-minExclusive-2-2 tokoe:invalid" result="pass"/><test-case name="9526NISTXML-SV-II-atomic-unsignedInt-minExclusive-2-3 tokoe:invalid" result="pass"/><test-case name="9527NISTXML-SV-II-atomic-unsignedInt-minExclusive-2-4 tokoe:invalid" result="pass"/><test-case name="9528NISTXML-SV-II-atomic-unsignedInt-minExclusive-2-5 tokoe:invalid" result="pass"/><test-case name="9529NISTSchema-SV-II-atomic-unsignedInt-minExclusive-3 tokoe:valid" result="pass"/><test-case name="9530NISTXML-SV-II-atomic-unsignedInt-minExclusive-3-1 tokoe:invalid" result="pass"/><test-case name="9531NISTXML-SV-II-atomic-unsignedInt-minExclusive-3-2 tokoe:invalid" result="pass"/><test-case name="9532NISTXML-SV-II-atomic-unsignedInt-minExclusive-3-3 tokoe:invalid" result="pass"/><test-case name="9533NISTXML-SV-II-atomic-unsignedInt-minExclusive-3-4 tokoe:invalid" result="pass"/><test-case name="9534NISTXML-SV-II-atomic-unsignedInt-minExclusive-3-5 tokoe:invalid" result="pass"/><test-case name="9535NISTSchema-SV-II-atomic-unsignedInt-minExclusive-4 tokoe:valid" result="pass"/><test-case name="9536NISTXML-SV-II-atomic-unsignedInt-minExclusive-4-1 tokoe:invalid" result="pass"/><test-case name="9537NISTXML-SV-II-atomic-unsignedInt-minExclusive-4-2 tokoe:invalid" result="pass"/><test-case name="9538NISTXML-SV-II-atomic-unsignedInt-minExclusive-4-3 tokoe:invalid" result="pass"/><test-case name="9539NISTXML-SV-II-atomic-unsignedInt-minExclusive-4-4 tokoe:invalid" result="pass"/><test-case name="9540NISTXML-SV-II-atomic-unsignedInt-minExclusive-4-5 tokoe:invalid" result="pass"/><test-case name="9541NISTSchema-SV-II-atomic-unsignedInt-minExclusive-5 tokoe:valid" result="pass"/><test-case name="9542NISTXML-SV-II-atomic-unsignedInt-minExclusive-5-1 tokoe:invalid" result="pass"/><test-case name="9543NISTXML-SV-II-atomic-unsignedInt-minExclusive-5-2 tokoe:invalid" result="pass"/><test-case name="9544NISTXML-SV-II-atomic-unsignedInt-minExclusive-5-3 tokoe:invalid" result="pass"/><test-case name="9545NISTXML-SV-II-atomic-unsignedInt-minExclusive-5-4 tokoe:invalid" result="pass"/><test-case name="9546NISTXML-SV-II-atomic-unsignedInt-minExclusive-5-5 tokoe:invalid" result="pass"/><test-case name="9547NISTSchema-SV-II-atomic-unsignedInt-maxExclusive-1 tokoe:valid" result="pass"/><test-case name="9548NISTXML-SV-II-atomic-unsignedInt-maxExclusive-1-1 tokoe:invalid" result="pass"/><test-case name="9549NISTXML-SV-II-atomic-unsignedInt-maxExclusive-1-2 tokoe:invalid" result="pass"/><test-case name="9550NISTXML-SV-II-atomic-unsignedInt-maxExclusive-1-3 tokoe:invalid" result="pass"/><test-case name="9551NISTXML-SV-II-atomic-unsignedInt-maxExclusive-1-4 tokoe:invalid" result="pass"/><test-case name="9552NISTXML-SV-II-atomic-unsignedInt-maxExclusive-1-5 tokoe:invalid" result="pass"/><test-case name="9553NISTSchema-SV-II-atomic-unsignedInt-maxExclusive-2 tokoe:valid" result="pass"/><test-case name="9554NISTXML-SV-II-atomic-unsignedInt-maxExclusive-2-1 tokoe:invalid" result="pass"/><test-case name="9555NISTXML-SV-II-atomic-unsignedInt-maxExclusive-2-2 tokoe:invalid" result="pass"/><test-case name="9556NISTXML-SV-II-atomic-unsignedInt-maxExclusive-2-3 tokoe:invalid" result="pass"/><test-case name="9557NISTXML-SV-II-atomic-unsignedInt-maxExclusive-2-4 tokoe:invalid" result="pass"/><test-case name="9558NISTXML-SV-II-atomic-unsignedInt-maxExclusive-2-5 tokoe:invalid" result="pass"/><test-case name="9559NISTSchema-SV-II-atomic-unsignedInt-maxExclusive-3 tokoe:valid" result="pass"/><test-case name="9560NISTXML-SV-II-atomic-unsignedInt-maxExclusive-3-1 tokoe:invalid" result="pass"/><test-case name="9561NISTXML-SV-II-atomic-unsignedInt-maxExclusive-3-2 tokoe:invalid" result="pass"/><test-case name="9562NISTXML-SV-II-atomic-unsignedInt-maxExclusive-3-3 tokoe:invalid" result="pass"/><test-case name="9563NISTXML-SV-II-atomic-unsignedInt-maxExclusive-3-4 tokoe:invalid" result="pass"/><test-case name="9564NISTXML-SV-II-atomic-unsignedInt-maxExclusive-3-5 tokoe:invalid" result="pass"/><test-case name="9565NISTSchema-SV-II-atomic-unsignedInt-maxExclusive-4 tokoe:valid" result="pass"/><test-case name="9566NISTXML-SV-II-atomic-unsignedInt-maxExclusive-4-1 tokoe:invalid" result="pass"/><test-case name="9567NISTXML-SV-II-atomic-unsignedInt-maxExclusive-4-2 tokoe:invalid" result="pass"/><test-case name="9568NISTXML-SV-II-atomic-unsignedInt-maxExclusive-4-3 tokoe:invalid" result="pass"/><test-case name="9569NISTXML-SV-II-atomic-unsignedInt-maxExclusive-4-4 tokoe:invalid" result="pass"/><test-case name="9570NISTXML-SV-II-atomic-unsignedInt-maxExclusive-4-5 tokoe:invalid" result="pass"/><test-case name="9571NISTSchema-SV-II-atomic-unsignedInt-maxExclusive-5 tokoe:valid" result="pass"/><test-case name="9572NISTXML-SV-II-atomic-unsignedInt-maxExclusive-5-1 tokoe:invalid" result="pass"/><test-case name="9573NISTSchema-SV-II-atomic-unsignedInt-pattern-1 tokoe:valid" result="pass"/><test-case name="9574NISTXML-SV-II-atomic-unsignedInt-pattern-1-1 tokoe:invalid" result="pass"/><test-case name="9575NISTXML-SV-II-atomic-unsignedInt-pattern-1-2 tokoe:invalid" result="pass"/><test-case name="9576NISTXML-SV-II-atomic-unsignedInt-pattern-1-3 tokoe:invalid" result="pass"/><test-case name="9577NISTXML-SV-II-atomic-unsignedInt-pattern-1-4 tokoe:invalid" result="pass"/><test-case name="9578NISTXML-SV-II-atomic-unsignedInt-pattern-1-5 tokoe:invalid" result="pass"/><test-case name="9579NISTSchema-SV-II-atomic-unsignedInt-pattern-2 tokoe:valid" result="pass"/><test-case name="9580NISTXML-SV-II-atomic-unsignedInt-pattern-2-1 tokoe:invalid" result="pass"/><test-case name="9581NISTXML-SV-II-atomic-unsignedInt-pattern-2-2 tokoe:invalid" result="pass"/><test-case name="9582NISTXML-SV-II-atomic-unsignedInt-pattern-2-3 tokoe:invalid" result="pass"/><test-case name="9583NISTXML-SV-II-atomic-unsignedInt-pattern-2-4 tokoe:invalid" result="pass"/><test-case name="9584NISTXML-SV-II-atomic-unsignedInt-pattern-2-5 tokoe:invalid" result="pass"/><test-case name="9585NISTSchema-SV-II-atomic-unsignedInt-pattern-3 tokoe:valid" result="pass"/><test-case name="9586NISTXML-SV-II-atomic-unsignedInt-pattern-3-1 tokoe:invalid" result="pass"/><test-case name="9587NISTXML-SV-II-atomic-unsignedInt-pattern-3-2 tokoe:invalid" result="pass"/><test-case name="9588NISTXML-SV-II-atomic-unsignedInt-pattern-3-3 tokoe:invalid" result="pass"/><test-case name="9589NISTXML-SV-II-atomic-unsignedInt-pattern-3-4 tokoe:invalid" result="pass"/><test-case name="9590NISTXML-SV-II-atomic-unsignedInt-pattern-3-5 tokoe:invalid" result="pass"/><test-case name="9591NISTSchema-SV-II-atomic-unsignedInt-pattern-4 tokoe:valid" result="pass"/><test-case name="9592NISTXML-SV-II-atomic-unsignedInt-pattern-4-1 tokoe:invalid" result="pass"/><test-case name="9593NISTXML-SV-II-atomic-unsignedInt-pattern-4-2 tokoe:invalid" result="pass"/><test-case name="9594NISTXML-SV-II-atomic-unsignedInt-pattern-4-3 tokoe:invalid" result="pass"/><test-case name="9595NISTXML-SV-II-atomic-unsignedInt-pattern-4-4 tokoe:invalid" result="pass"/><test-case name="9596NISTXML-SV-II-atomic-unsignedInt-pattern-4-5 tokoe:invalid" result="pass"/><test-case name="9597NISTSchema-SV-II-atomic-unsignedInt-pattern-5 tokoe:valid" result="pass"/><test-case name="9598NISTXML-SV-II-atomic-unsignedInt-pattern-5-1 tokoe:invalid" result="pass"/><test-case name="9599NISTXML-SV-II-atomic-unsignedInt-pattern-5-2 tokoe:invalid" result="pass"/><test-case name="9600NISTXML-SV-II-atomic-unsignedInt-pattern-5-3 tokoe:invalid" result="pass"/><test-case name="9601NISTXML-SV-II-atomic-unsignedInt-pattern-5-4 tokoe:invalid" result="pass"/><test-case name="9602NISTXML-SV-II-atomic-unsignedInt-pattern-5-5 tokoe:invalid" result="pass"/><test-case name="9603NISTSchema-SV-II-atomic-unsignedInt-enumeration-1 tokoe:valid" result="pass"/><test-case name="9604NISTXML-SV-II-atomic-unsignedInt-enumeration-1-1 tokoe:invalid" result="pass"/><test-case name="9605NISTXML-SV-II-atomic-unsignedInt-enumeration-1-2 tokoe:invalid" result="pass"/><test-case name="9606NISTXML-SV-II-atomic-unsignedInt-enumeration-1-3 tokoe:invalid" result="pass"/><test-case name="9607NISTXML-SV-II-atomic-unsignedInt-enumeration-1-4 tokoe:invalid" result="pass"/><test-case name="9608NISTXML-SV-II-atomic-unsignedInt-enumeration-1-5 tokoe:invalid" result="pass"/><test-case name="9609NISTSchema-SV-II-atomic-unsignedInt-enumeration-2 tokoe:valid" result="pass"/><test-case name="9610NISTXML-SV-II-atomic-unsignedInt-enumeration-2-1 tokoe:invalid" result="pass"/><test-case name="9611NISTXML-SV-II-atomic-unsignedInt-enumeration-2-2 tokoe:invalid" result="pass"/><test-case name="9612NISTXML-SV-II-atomic-unsignedInt-enumeration-2-3 tokoe:invalid" result="pass"/><test-case name="9613NISTXML-SV-II-atomic-unsignedInt-enumeration-2-4 tokoe:invalid" result="pass"/><test-case name="9614NISTXML-SV-II-atomic-unsignedInt-enumeration-2-5 tokoe:invalid" result="pass"/><test-case name="9615NISTSchema-SV-II-atomic-unsignedInt-enumeration-3 tokoe:valid" result="pass"/><test-case name="9616NISTXML-SV-II-atomic-unsignedInt-enumeration-3-1 tokoe:invalid" result="pass"/><test-case name="9617NISTXML-SV-II-atomic-unsignedInt-enumeration-3-2 tokoe:invalid" result="pass"/><test-case name="9618NISTXML-SV-II-atomic-unsignedInt-enumeration-3-3 tokoe:invalid" result="pass"/><test-case name="9619NISTXML-SV-II-atomic-unsignedInt-enumeration-3-4 tokoe:invalid" result="pass"/><test-case name="9620NISTXML-SV-II-atomic-unsignedInt-enumeration-3-5 tokoe:invalid" result="pass"/><test-case name="9621NISTSchema-SV-II-atomic-unsignedInt-enumeration-4 tokoe:valid" result="pass"/><test-case name="9622NISTXML-SV-II-atomic-unsignedInt-enumeration-4-1 tokoe:invalid" result="pass"/><test-case name="9623NISTXML-SV-II-atomic-unsignedInt-enumeration-4-2 tokoe:invalid" result="pass"/><test-case name="9624NISTXML-SV-II-atomic-unsignedInt-enumeration-4-3 tokoe:invalid" result="pass"/><test-case name="9625NISTXML-SV-II-atomic-unsignedInt-enumeration-4-4 tokoe:invalid" result="pass"/><test-case name="9626NISTXML-SV-II-atomic-unsignedInt-enumeration-4-5 tokoe:invalid" result="pass"/><test-case name="9627NISTSchema-SV-II-atomic-unsignedInt-enumeration-5 tokoe:valid" result="pass"/><test-case name="9628NISTXML-SV-II-atomic-unsignedInt-enumeration-5-1 tokoe:invalid" result="pass"/><test-case name="9629NISTXML-SV-II-atomic-unsignedInt-enumeration-5-2 tokoe:invalid" result="pass"/><test-case name="9630NISTXML-SV-II-atomic-unsignedInt-enumeration-5-3 tokoe:invalid" result="pass"/><test-case name="9631NISTXML-SV-II-atomic-unsignedInt-enumeration-5-4 tokoe:invalid" result="pass"/><test-case name="9632NISTXML-SV-II-atomic-unsignedInt-enumeration-5-5 tokoe:invalid" result="pass"/><test-case name="9633NISTSchema-SV-II-atomic-unsignedShort-minExclusive-1 tokoe:valid" result="pass"/><test-case name="9634NISTXML-SV-II-atomic-unsignedShort-minExclusive-1-1 tokoe:invalid" result="pass"/><test-case name="9635NISTSchema-SV-II-atomic-unsignedShort-minExclusive-2 tokoe:valid" result="pass"/><test-case name="9636NISTXML-SV-II-atomic-unsignedShort-minExclusive-2-1 tokoe:invalid" result="pass"/><test-case name="9637NISTXML-SV-II-atomic-unsignedShort-minExclusive-2-2 tokoe:invalid" result="pass"/><test-case name="9638NISTXML-SV-II-atomic-unsignedShort-minExclusive-2-3 tokoe:invalid" result="pass"/><test-case name="9639NISTXML-SV-II-atomic-unsignedShort-minExclusive-2-4 tokoe:invalid" result="pass"/><test-case name="9640NISTXML-SV-II-atomic-unsignedShort-minExclusive-2-5 tokoe:invalid" result="pass"/><test-case name="9641NISTSchema-SV-II-atomic-unsignedShort-minExclusive-3 tokoe:valid" result="pass"/><test-case name="9642NISTXML-SV-II-atomic-unsignedShort-minExclusive-3-1 tokoe:invalid" result="pass"/><test-case name="9643NISTXML-SV-II-atomic-unsignedShort-minExclusive-3-2 tokoe:invalid" result="pass"/><test-case name="9644NISTXML-SV-II-atomic-unsignedShort-minExclusive-3-3 tokoe:invalid" result="pass"/><test-case name="9645NISTXML-SV-II-atomic-unsignedShort-minExclusive-3-4 tokoe:invalid" result="pass"/><test-case name="9646NISTXML-SV-II-atomic-unsignedShort-minExclusive-3-5 tokoe:invalid" result="pass"/><test-case name="9647NISTSchema-SV-II-atomic-unsignedShort-minExclusive-4 tokoe:valid" result="pass"/><test-case name="9648NISTXML-SV-II-atomic-unsignedShort-minExclusive-4-1 tokoe:invalid" result="pass"/><test-case name="9649NISTXML-SV-II-atomic-unsignedShort-minExclusive-4-2 tokoe:invalid" result="pass"/><test-case name="9650NISTXML-SV-II-atomic-unsignedShort-minExclusive-4-3 tokoe:invalid" result="pass"/><test-case name="9651NISTXML-SV-II-atomic-unsignedShort-minExclusive-4-4 tokoe:invalid" result="pass"/><test-case name="9652NISTXML-SV-II-atomic-unsignedShort-minExclusive-4-5 tokoe:invalid" result="pass"/><test-case name="9653NISTSchema-SV-II-atomic-unsignedShort-minExclusive-5 tokoe:valid" result="pass"/><test-case name="9654NISTXML-SV-II-atomic-unsignedShort-minExclusive-5-1 tokoe:invalid" result="pass"/><test-case name="9655NISTXML-SV-II-atomic-unsignedShort-minExclusive-5-2 tokoe:invalid" result="pass"/><test-case name="9656NISTXML-SV-II-atomic-unsignedShort-minExclusive-5-3 tokoe:invalid" result="pass"/><test-case name="9657NISTXML-SV-II-atomic-unsignedShort-minExclusive-5-4 tokoe:invalid" result="pass"/><test-case name="9658NISTXML-SV-II-atomic-unsignedShort-minExclusive-5-5 tokoe:invalid" result="pass"/><test-case name="9659NISTSchema-SV-II-atomic-unsignedShort-maxExclusive-1 tokoe:valid" result="pass"/><test-case name="9660NISTXML-SV-II-atomic-unsignedShort-maxExclusive-1-1 tokoe:invalid" result="pass"/><test-case name="9661NISTXML-SV-II-atomic-unsignedShort-maxExclusive-1-2 tokoe:invalid" result="pass"/><test-case name="9662NISTXML-SV-II-atomic-unsignedShort-maxExclusive-1-3 tokoe:invalid" result="pass"/><test-case name="9663NISTXML-SV-II-atomic-unsignedShort-maxExclusive-1-4 tokoe:invalid" result="pass"/><test-case name="9664NISTXML-SV-II-atomic-unsignedShort-maxExclusive-1-5 tokoe:invalid" result="pass"/><test-case name="9665NISTSchema-SV-II-atomic-unsignedShort-maxExclusive-2 tokoe:valid" result="pass"/><test-case name="9666NISTXML-SV-II-atomic-unsignedShort-maxExclusive-2-1 tokoe:invalid" result="pass"/><test-case name="9667NISTXML-SV-II-atomic-unsignedShort-maxExclusive-2-2 tokoe:invalid" result="pass"/><test-case name="9668NISTXML-SV-II-atomic-unsignedShort-maxExclusive-2-3 tokoe:invalid" result="pass"/><test-case name="9669NISTXML-SV-II-atomic-unsignedShort-maxExclusive-2-4 tokoe:invalid" result="pass"/><test-case name="9670NISTXML-SV-II-atomic-unsignedShort-maxExclusive-2-5 tokoe:invalid" result="pass"/><test-case name="9671NISTSchema-SV-II-atomic-unsignedShort-maxExclusive-3 tokoe:valid" result="pass"/><test-case name="9672NISTXML-SV-II-atomic-unsignedShort-maxExclusive-3-1 tokoe:invalid" result="pass"/><test-case name="9673NISTXML-SV-II-atomic-unsignedShort-maxExclusive-3-2 tokoe:invalid" result="pass"/><test-case name="9674NISTXML-SV-II-atomic-unsignedShort-maxExclusive-3-3 tokoe:invalid" result="pass"/><test-case name="9675NISTXML-SV-II-atomic-unsignedShort-maxExclusive-3-4 tokoe:invalid" result="pass"/><test-case name="9676NISTXML-SV-II-atomic-unsignedShort-maxExclusive-3-5 tokoe:invalid" result="pass"/><test-case name="9677NISTSchema-SV-II-atomic-unsignedShort-maxExclusive-4 tokoe:valid" result="pass"/><test-case name="9678NISTXML-SV-II-atomic-unsignedShort-maxExclusive-4-1 tokoe:invalid" result="pass"/><test-case name="9679NISTXML-SV-II-atomic-unsignedShort-maxExclusive-4-2 tokoe:invalid" result="pass"/><test-case name="9680NISTXML-SV-II-atomic-unsignedShort-maxExclusive-4-3 tokoe:invalid" result="pass"/><test-case name="9681NISTXML-SV-II-atomic-unsignedShort-maxExclusive-4-4 tokoe:invalid" result="pass"/><test-case name="9682NISTXML-SV-II-atomic-unsignedShort-maxExclusive-4-5 tokoe:invalid" result="pass"/><test-case name="9683NISTSchema-SV-II-atomic-unsignedShort-maxExclusive-5 tokoe:valid" result="pass"/><test-case name="9684NISTXML-SV-II-atomic-unsignedShort-maxExclusive-5-1 tokoe:invalid" result="pass"/><test-case name="9685NISTSchema-SV-II-atomic-unsignedShort-pattern-1 tokoe:valid" result="pass"/><test-case name="9686NISTXML-SV-II-atomic-unsignedShort-pattern-1-1 tokoe:invalid" result="pass"/><test-case name="9687NISTXML-SV-II-atomic-unsignedShort-pattern-1-2 tokoe:invalid" result="pass"/><test-case name="9688NISTXML-SV-II-atomic-unsignedShort-pattern-1-3 tokoe:invalid" result="pass"/><test-case name="9689NISTXML-SV-II-atomic-unsignedShort-pattern-1-4 tokoe:invalid" result="pass"/><test-case name="9690NISTXML-SV-II-atomic-unsignedShort-pattern-1-5 tokoe:invalid" result="pass"/><test-case name="9691NISTSchema-SV-II-atomic-unsignedShort-pattern-2 tokoe:valid" result="pass"/><test-case name="9692NISTXML-SV-II-atomic-unsignedShort-pattern-2-1 tokoe:invalid" result="pass"/><test-case name="9693NISTXML-SV-II-atomic-unsignedShort-pattern-2-2 tokoe:invalid" result="pass"/><test-case name="9694NISTXML-SV-II-atomic-unsignedShort-pattern-2-3 tokoe:invalid" result="pass"/><test-case name="9695NISTXML-SV-II-atomic-unsignedShort-pattern-2-4 tokoe:invalid" result="pass"/><test-case name="9696NISTXML-SV-II-atomic-unsignedShort-pattern-2-5 tokoe:invalid" result="pass"/><test-case name="9697NISTSchema-SV-II-atomic-unsignedShort-pattern-3 tokoe:valid" result="pass"/><test-case name="9698NISTXML-SV-II-atomic-unsignedShort-pattern-3-1 tokoe:invalid" result="pass"/><test-case name="9699NISTXML-SV-II-atomic-unsignedShort-pattern-3-2 tokoe:invalid" result="pass"/><test-case name="9700NISTXML-SV-II-atomic-unsignedShort-pattern-3-3 tokoe:invalid" result="pass"/><test-case name="9701NISTXML-SV-II-atomic-unsignedShort-pattern-3-4 tokoe:invalid" result="pass"/><test-case name="9702NISTXML-SV-II-atomic-unsignedShort-pattern-3-5 tokoe:invalid" result="pass"/><test-case name="9703NISTSchema-SV-II-atomic-unsignedShort-pattern-4 tokoe:valid" result="pass"/><test-case name="9704NISTXML-SV-II-atomic-unsignedShort-pattern-4-1 tokoe:invalid" result="pass"/><test-case name="9705NISTXML-SV-II-atomic-unsignedShort-pattern-4-2 tokoe:invalid" result="pass"/><test-case name="9706NISTXML-SV-II-atomic-unsignedShort-pattern-4-3 tokoe:invalid" result="pass"/><test-case name="9707NISTXML-SV-II-atomic-unsignedShort-pattern-4-4 tokoe:invalid" result="pass"/><test-case name="9708NISTXML-SV-II-atomic-unsignedShort-pattern-4-5 tokoe:invalid" result="pass"/><test-case name="9709NISTSchema-SV-II-atomic-unsignedShort-pattern-5 tokoe:valid" result="pass"/><test-case name="9710NISTXML-SV-II-atomic-unsignedShort-pattern-5-1 tokoe:invalid" result="pass"/><test-case name="9711NISTXML-SV-II-atomic-unsignedShort-pattern-5-2 tokoe:invalid" result="pass"/><test-case name="9712NISTXML-SV-II-atomic-unsignedShort-pattern-5-3 tokoe:invalid" result="pass"/><test-case name="9713NISTXML-SV-II-atomic-unsignedShort-pattern-5-4 tokoe:invalid" result="pass"/><test-case name="9714NISTXML-SV-II-atomic-unsignedShort-pattern-5-5 tokoe:invalid" result="pass"/><test-case name="9715NISTSchema-SV-II-atomic-unsignedShort-enumeration-1 tokoe:valid" result="pass"/><test-case name="9716NISTXML-SV-II-atomic-unsignedShort-enumeration-1-1 tokoe:invalid" result="pass"/><test-case name="9717NISTXML-SV-II-atomic-unsignedShort-enumeration-1-2 tokoe:invalid" result="pass"/><test-case name="9718NISTXML-SV-II-atomic-unsignedShort-enumeration-1-3 tokoe:invalid" result="pass"/><test-case name="9719NISTXML-SV-II-atomic-unsignedShort-enumeration-1-4 tokoe:invalid" result="pass"/><test-case name="9720NISTXML-SV-II-atomic-unsignedShort-enumeration-1-5 tokoe:invalid" result="pass"/><test-case name="9721NISTSchema-SV-II-atomic-unsignedShort-enumeration-2 tokoe:valid" result="pass"/><test-case name="9722NISTXML-SV-II-atomic-unsignedShort-enumeration-2-1 tokoe:invalid" result="pass"/><test-case name="9723NISTXML-SV-II-atomic-unsignedShort-enumeration-2-2 tokoe:invalid" result="pass"/><test-case name="9724NISTXML-SV-II-atomic-unsignedShort-enumeration-2-3 tokoe:invalid" result="pass"/><test-case name="9725NISTXML-SV-II-atomic-unsignedShort-enumeration-2-4 tokoe:invalid" result="pass"/><test-case name="9726NISTXML-SV-II-atomic-unsignedShort-enumeration-2-5 tokoe:invalid" result="pass"/><test-case name="9727NISTSchema-SV-II-atomic-unsignedShort-enumeration-3 tokoe:valid" result="pass"/><test-case name="9728NISTXML-SV-II-atomic-unsignedShort-enumeration-3-1 tokoe:invalid" result="pass"/><test-case name="9729NISTXML-SV-II-atomic-unsignedShort-enumeration-3-2 tokoe:invalid" result="pass"/><test-case name="9730NISTXML-SV-II-atomic-unsignedShort-enumeration-3-3 tokoe:invalid" result="pass"/><test-case name="9731NISTXML-SV-II-atomic-unsignedShort-enumeration-3-4 tokoe:invalid" result="pass"/><test-case name="9732NISTXML-SV-II-atomic-unsignedShort-enumeration-3-5 tokoe:invalid" result="pass"/><test-case name="9733NISTSchema-SV-II-atomic-unsignedShort-enumeration-4 tokoe:valid" result="pass"/><test-case name="9734NISTXML-SV-II-atomic-unsignedShort-enumeration-4-1 tokoe:invalid" result="pass"/><test-case name="9735NISTXML-SV-II-atomic-unsignedShort-enumeration-4-2 tokoe:invalid" result="pass"/><test-case name="9736NISTXML-SV-II-atomic-unsignedShort-enumeration-4-3 tokoe:invalid" result="pass"/><test-case name="9737NISTXML-SV-II-atomic-unsignedShort-enumeration-4-4 tokoe:invalid" result="pass"/><test-case name="9738NISTXML-SV-II-atomic-unsignedShort-enumeration-4-5 tokoe:invalid" result="pass"/><test-case name="9739NISTSchema-SV-II-atomic-unsignedShort-enumeration-5 tokoe:valid" result="pass"/><test-case name="9740NISTXML-SV-II-atomic-unsignedShort-enumeration-5-1 tokoe:invalid" result="pass"/><test-case name="9741NISTXML-SV-II-atomic-unsignedShort-enumeration-5-2 tokoe:invalid" result="pass"/><test-case name="9742NISTXML-SV-II-atomic-unsignedShort-enumeration-5-3 tokoe:invalid" result="pass"/><test-case name="9743NISTXML-SV-II-atomic-unsignedShort-enumeration-5-4 tokoe:invalid" result="pass"/><test-case name="9744NISTXML-SV-II-atomic-unsignedShort-enumeration-5-5 tokoe:invalid" result="pass"/><test-case name="9745NISTSchema-SV-II-atomic-unsignedByte-minExclusive-1 tokoe:valid" result="pass"/><test-case name="9746NISTXML-SV-II-atomic-unsignedByte-minExclusive-1-1 tokoe:invalid" result="pass"/><test-case name="9747NISTSchema-SV-II-atomic-unsignedByte-minExclusive-2 tokoe:valid" result="pass"/><test-case name="9748NISTXML-SV-II-atomic-unsignedByte-minExclusive-2-1 tokoe:invalid" result="pass"/><test-case name="9749NISTXML-SV-II-atomic-unsignedByte-minExclusive-2-2 tokoe:invalid" result="pass"/><test-case name="9750NISTXML-SV-II-atomic-unsignedByte-minExclusive-2-3 tokoe:invalid" result="pass"/><test-case name="9751NISTXML-SV-II-atomic-unsignedByte-minExclusive-2-4 tokoe:invalid" result="pass"/><test-case name="9752NISTXML-SV-II-atomic-unsignedByte-minExclusive-2-5 tokoe:invalid" result="pass"/><test-case name="9753NISTSchema-SV-II-atomic-unsignedByte-minExclusive-3 tokoe:valid" result="pass"/><test-case name="9754NISTXML-SV-II-atomic-unsignedByte-minExclusive-3-1 tokoe:invalid" result="pass"/><test-case name="9755NISTXML-SV-II-atomic-unsignedByte-minExclusive-3-2 tokoe:invalid" result="pass"/><test-case name="9756NISTXML-SV-II-atomic-unsignedByte-minExclusive-3-3 tokoe:invalid" result="pass"/><test-case name="9757NISTXML-SV-II-atomic-unsignedByte-minExclusive-3-4 tokoe:invalid" result="pass"/><test-case name="9758NISTXML-SV-II-atomic-unsignedByte-minExclusive-3-5 tokoe:invalid" result="pass"/><test-case name="9759NISTSchema-SV-II-atomic-unsignedByte-minExclusive-4 tokoe:valid" result="pass"/><test-case name="9760NISTXML-SV-II-atomic-unsignedByte-minExclusive-4-1 tokoe:invalid" result="pass"/><test-case name="9761NISTXML-SV-II-atomic-unsignedByte-minExclusive-4-2 tokoe:invalid" result="pass"/><test-case name="9762NISTXML-SV-II-atomic-unsignedByte-minExclusive-4-3 tokoe:invalid" result="pass"/><test-case name="9763NISTXML-SV-II-atomic-unsignedByte-minExclusive-4-4 tokoe:invalid" result="pass"/><test-case name="9764NISTXML-SV-II-atomic-unsignedByte-minExclusive-4-5 tokoe:invalid" result="pass"/><test-case name="9765NISTSchema-SV-II-atomic-unsignedByte-minExclusive-5 tokoe:valid" result="pass"/><test-case name="9766NISTXML-SV-II-atomic-unsignedByte-minExclusive-5-1 tokoe:invalid" result="pass"/><test-case name="9767NISTXML-SV-II-atomic-unsignedByte-minExclusive-5-2 tokoe:invalid" result="pass"/><test-case name="9768NISTXML-SV-II-atomic-unsignedByte-minExclusive-5-3 tokoe:invalid" result="pass"/><test-case name="9769NISTXML-SV-II-atomic-unsignedByte-minExclusive-5-4 tokoe:invalid" result="pass"/><test-case name="9770NISTXML-SV-II-atomic-unsignedByte-minExclusive-5-5 tokoe:invalid" result="pass"/><test-case name="9771NISTSchema-SV-II-atomic-unsignedByte-maxExclusive-1 tokoe:valid" result="pass"/><test-case name="9772NISTXML-SV-II-atomic-unsignedByte-maxExclusive-1-1 tokoe:invalid" result="pass"/><test-case name="9773NISTXML-SV-II-atomic-unsignedByte-maxExclusive-1-2 tokoe:invalid" result="pass"/><test-case name="9774NISTXML-SV-II-atomic-unsignedByte-maxExclusive-1-3 tokoe:invalid" result="pass"/><test-case name="9775NISTXML-SV-II-atomic-unsignedByte-maxExclusive-1-4 tokoe:invalid" result="pass"/><test-case name="9776NISTXML-SV-II-atomic-unsignedByte-maxExclusive-1-5 tokoe:invalid" result="pass"/><test-case name="9777NISTSchema-SV-II-atomic-unsignedByte-maxExclusive-2 tokoe:valid" result="pass"/><test-case name="9778NISTXML-SV-II-atomic-unsignedByte-maxExclusive-2-1 tokoe:invalid" result="pass"/><test-case name="9779NISTXML-SV-II-atomic-unsignedByte-maxExclusive-2-2 tokoe:invalid" result="pass"/><test-case name="9780NISTXML-SV-II-atomic-unsignedByte-maxExclusive-2-3 tokoe:invalid" result="pass"/><test-case name="9781NISTXML-SV-II-atomic-unsignedByte-maxExclusive-2-4 tokoe:invalid" result="pass"/><test-case name="9782NISTXML-SV-II-atomic-unsignedByte-maxExclusive-2-5 tokoe:invalid" result="pass"/><test-case name="9783NISTSchema-SV-II-atomic-unsignedByte-maxExclusive-3 tokoe:valid" result="pass"/><test-case name="9784NISTXML-SV-II-atomic-unsignedByte-maxExclusive-3-1 tokoe:invalid" result="pass"/><test-case name="9785NISTXML-SV-II-atomic-unsignedByte-maxExclusive-3-2 tokoe:invalid" result="pass"/><test-case name="9786NISTXML-SV-II-atomic-unsignedByte-maxExclusive-3-3 tokoe:invalid" result="pass"/><test-case name="9787NISTXML-SV-II-atomic-unsignedByte-maxExclusive-3-4 tokoe:invalid" result="pass"/><test-case name="9788NISTXML-SV-II-atomic-unsignedByte-maxExclusive-3-5 tokoe:invalid" result="pass"/><test-case name="9789NISTSchema-SV-II-atomic-unsignedByte-maxExclusive-4 tokoe:valid" result="pass"/><test-case name="9790NISTXML-SV-II-atomic-unsignedByte-maxExclusive-4-1 tokoe:invalid" result="pass"/><test-case name="9791NISTXML-SV-II-atomic-unsignedByte-maxExclusive-4-2 tokoe:invalid" result="pass"/><test-case name="9792NISTXML-SV-II-atomic-unsignedByte-maxExclusive-4-3 tokoe:invalid" result="pass"/><test-case name="9793NISTXML-SV-II-atomic-unsignedByte-maxExclusive-4-4 tokoe:invalid" result="pass"/><test-case name="9794NISTXML-SV-II-atomic-unsignedByte-maxExclusive-4-5 tokoe:invalid" result="pass"/><test-case name="9795NISTSchema-SV-II-atomic-unsignedByte-maxExclusive-5 tokoe:valid" result="pass"/><test-case name="9796NISTXML-SV-II-atomic-unsignedByte-maxExclusive-5-1 tokoe:invalid" result="pass"/><test-case name="9797NISTSchema-SV-II-atomic-unsignedByte-pattern-1 tokoe:valid" result="pass"/><test-case name="9798NISTXML-SV-II-atomic-unsignedByte-pattern-1-1 tokoe:invalid" result="pass"/><test-case name="9799NISTXML-SV-II-atomic-unsignedByte-pattern-1-2 tokoe:invalid" result="pass"/><test-case name="9800NISTXML-SV-II-atomic-unsignedByte-pattern-1-3 tokoe:invalid" result="pass"/><test-case name="9801NISTXML-SV-II-atomic-unsignedByte-pattern-1-4 tokoe:invalid" result="pass"/><test-case name="9802NISTXML-SV-II-atomic-unsignedByte-pattern-1-5 tokoe:invalid" result="pass"/><test-case name="9803NISTSchema-SV-II-atomic-unsignedByte-pattern-2 tokoe:valid" result="pass"/><test-case name="9804NISTXML-SV-II-atomic-unsignedByte-pattern-2-1 tokoe:invalid" result="pass"/><test-case name="9805NISTXML-SV-II-atomic-unsignedByte-pattern-2-2 tokoe:invalid" result="pass"/><test-case name="9806NISTXML-SV-II-atomic-unsignedByte-pattern-2-3 tokoe:invalid" result="pass"/><test-case name="9807NISTXML-SV-II-atomic-unsignedByte-pattern-2-4 tokoe:invalid" result="pass"/><test-case name="9808NISTXML-SV-II-atomic-unsignedByte-pattern-2-5 tokoe:invalid" result="pass"/><test-case name="9809NISTSchema-SV-II-atomic-unsignedByte-pattern-3 tokoe:valid" result="pass"/><test-case name="9810NISTXML-SV-II-atomic-unsignedByte-pattern-3-1 tokoe:invalid" result="pass"/><test-case name="9811NISTXML-SV-II-atomic-unsignedByte-pattern-3-2 tokoe:invalid" result="pass"/><test-case name="9812NISTXML-SV-II-atomic-unsignedByte-pattern-3-3 tokoe:invalid" result="pass"/><test-case name="9813NISTXML-SV-II-atomic-unsignedByte-pattern-3-4 tokoe:invalid" result="pass"/><test-case name="9814NISTXML-SV-II-atomic-unsignedByte-pattern-3-5 tokoe:invalid" result="pass"/><test-case name="9815NISTSchema-SV-II-atomic-unsignedByte-pattern-4 tokoe:valid" result="pass"/><test-case name="9816NISTXML-SV-II-atomic-unsignedByte-pattern-4-1 tokoe:invalid" result="pass"/><test-case name="9817NISTXML-SV-II-atomic-unsignedByte-pattern-4-2 tokoe:invalid" result="pass"/><test-case name="9818NISTXML-SV-II-atomic-unsignedByte-pattern-4-3 tokoe:invalid" result="pass"/><test-case name="9819NISTXML-SV-II-atomic-unsignedByte-pattern-4-4 tokoe:invalid" result="pass"/><test-case name="9820NISTXML-SV-II-atomic-unsignedByte-pattern-4-5 tokoe:invalid" result="pass"/><test-case name="9821NISTSchema-SV-II-atomic-unsignedByte-pattern-5 tokoe:valid" result="pass"/><test-case name="9822NISTXML-SV-II-atomic-unsignedByte-pattern-5-1 tokoe:invalid" result="pass"/><test-case name="9823NISTXML-SV-II-atomic-unsignedByte-pattern-5-2 tokoe:invalid" result="pass"/><test-case name="9824NISTXML-SV-II-atomic-unsignedByte-pattern-5-3 tokoe:invalid" result="pass"/><test-case name="9825NISTXML-SV-II-atomic-unsignedByte-pattern-5-4 tokoe:invalid" result="pass"/><test-case name="9826NISTXML-SV-II-atomic-unsignedByte-pattern-5-5 tokoe:invalid" result="pass"/><test-case name="9827NISTSchema-SV-II-atomic-unsignedByte-enumeration-1 tokoe:valid" result="pass"/><test-case name="9828NISTXML-SV-II-atomic-unsignedByte-enumeration-1-1 tokoe:invalid" result="pass"/><test-case name="9829NISTXML-SV-II-atomic-unsignedByte-enumeration-1-2 tokoe:invalid" result="pass"/><test-case name="9830NISTXML-SV-II-atomic-unsignedByte-enumeration-1-3 tokoe:invalid" result="pass"/><test-case name="9831NISTXML-SV-II-atomic-unsignedByte-enumeration-1-4 tokoe:invalid" result="pass"/><test-case name="9832NISTXML-SV-II-atomic-unsignedByte-enumeration-1-5 tokoe:invalid" result="pass"/><test-case name="9833NISTSchema-SV-II-atomic-unsignedByte-enumeration-2 tokoe:valid" result="pass"/><test-case name="9834NISTXML-SV-II-atomic-unsignedByte-enumeration-2-1 tokoe:invalid" result="pass"/><test-case name="9835NISTXML-SV-II-atomic-unsignedByte-enumeration-2-2 tokoe:invalid" result="pass"/><test-case name="9836NISTXML-SV-II-atomic-unsignedByte-enumeration-2-3 tokoe:invalid" result="pass"/><test-case name="9837NISTXML-SV-II-atomic-unsignedByte-enumeration-2-4 tokoe:invalid" result="pass"/><test-case name="9838NISTXML-SV-II-atomic-unsignedByte-enumeration-2-5 tokoe:invalid" result="pass"/><test-case name="9839NISTSchema-SV-II-atomic-unsignedByte-enumeration-3 tokoe:valid" result="pass"/><test-case name="9840NISTXML-SV-II-atomic-unsignedByte-enumeration-3-1 tokoe:invalid" result="pass"/><test-case name="9841NISTXML-SV-II-atomic-unsignedByte-enumeration-3-2 tokoe:invalid" result="pass"/><test-case name="9842NISTXML-SV-II-atomic-unsignedByte-enumeration-3-3 tokoe:invalid" result="pass"/><test-case name="9843NISTXML-SV-II-atomic-unsignedByte-enumeration-3-4 tokoe:invalid" result="pass"/><test-case name="9844NISTXML-SV-II-atomic-unsignedByte-enumeration-3-5 tokoe:invalid" result="pass"/><test-case name="9845NISTSchema-SV-II-atomic-unsignedByte-enumeration-4 tokoe:valid" result="pass"/><test-case name="9846NISTXML-SV-II-atomic-unsignedByte-enumeration-4-1 tokoe:invalid" result="pass"/><test-case name="9847NISTXML-SV-II-atomic-unsignedByte-enumeration-4-2 tokoe:invalid" result="pass"/><test-case name="9848NISTXML-SV-II-atomic-unsignedByte-enumeration-4-3 tokoe:invalid" result="pass"/><test-case name="9849NISTXML-SV-II-atomic-unsignedByte-enumeration-4-4 tokoe:invalid" result="pass"/><test-case name="9850NISTXML-SV-II-atomic-unsignedByte-enumeration-4-5 tokoe:invalid" result="pass"/><test-case name="9851NISTSchema-SV-II-atomic-unsignedByte-enumeration-5 tokoe:valid" result="pass"/><test-case name="9852NISTXML-SV-II-atomic-unsignedByte-enumeration-5-1 tokoe:invalid" result="pass"/><test-case name="9853NISTXML-SV-II-atomic-unsignedByte-enumeration-5-2 tokoe:invalid" result="pass"/><test-case name="9854NISTXML-SV-II-atomic-unsignedByte-enumeration-5-3 tokoe:invalid" result="pass"/><test-case name="9855NISTXML-SV-II-atomic-unsignedByte-enumeration-5-4 tokoe:invalid" result="pass"/><test-case name="9856NISTXML-SV-II-atomic-unsignedByte-enumeration-5-5 tokoe:invalid" result="pass"/><test-case name="9857NISTSchema-SV-II-atomic-positiveInteger-minExclusive-1 tokoe:valid" result="pass"/><test-case name="9858NISTXML-SV-II-atomic-positiveInteger-minExclusive-1-1 tokoe:invalid" result="pass"/><test-case name="9859NISTSchema-SV-II-atomic-positiveInteger-minExclusive-2 tokoe:valid" result="pass"/><test-case name="9860NISTXML-SV-II-atomic-positiveInteger-minExclusive-2-1 tokoe:invalid" result="pass"/><test-case name="9861NISTXML-SV-II-atomic-positiveInteger-minExclusive-2-2 tokoe:invalid" result="pass"/><test-case name="9862NISTXML-SV-II-atomic-positiveInteger-minExclusive-2-3 tokoe:invalid" result="pass"/><test-case name="9863NISTXML-SV-II-atomic-positiveInteger-minExclusive-2-4 tokoe:invalid" result="pass"/><test-case name="9864NISTXML-SV-II-atomic-positiveInteger-minExclusive-2-5 tokoe:invalid" result="pass"/><test-case name="9865NISTSchema-SV-II-atomic-positiveInteger-minExclusive-3 tokoe:valid" result="pass"/><test-case name="9866NISTXML-SV-II-atomic-positiveInteger-minExclusive-3-1 tokoe:invalid" result="pass"/><test-case name="9867NISTXML-SV-II-atomic-positiveInteger-minExclusive-3-2 tokoe:invalid" result="pass"/><test-case name="9868NISTXML-SV-II-atomic-positiveInteger-minExclusive-3-3 tokoe:invalid" result="pass"/><test-case name="9869NISTXML-SV-II-atomic-positiveInteger-minExclusive-3-4 tokoe:invalid" result="pass"/><test-case name="9870NISTXML-SV-II-atomic-positiveInteger-minExclusive-3-5 tokoe:invalid" result="pass"/><test-case name="9871NISTSchema-SV-II-atomic-positiveInteger-minExclusive-4 tokoe:valid" result="pass"/><test-case name="9872NISTXML-SV-II-atomic-positiveInteger-minExclusive-4-1 tokoe:invalid" result="pass"/><test-case name="9873NISTXML-SV-II-atomic-positiveInteger-minExclusive-4-2 tokoe:invalid" result="pass"/><test-case name="9874NISTXML-SV-II-atomic-positiveInteger-minExclusive-4-3 tokoe:invalid" result="pass"/><test-case name="9875NISTXML-SV-II-atomic-positiveInteger-minExclusive-4-4 tokoe:invalid" result="pass"/><test-case name="9876NISTXML-SV-II-atomic-positiveInteger-minExclusive-4-5 tokoe:invalid" result="pass"/><test-case name="9877NISTSchema-SV-II-atomic-positiveInteger-minExclusive-5 tokoe:valid" result="pass"/><test-case name="9878NISTXML-SV-II-atomic-positiveInteger-minExclusive-5-1 tokoe:invalid" result="pass"/><test-case name="9879NISTXML-SV-II-atomic-positiveInteger-minExclusive-5-2 tokoe:invalid" result="pass"/><test-case name="9880NISTXML-SV-II-atomic-positiveInteger-minExclusive-5-3 tokoe:invalid" result="pass"/><test-case name="9881NISTXML-SV-II-atomic-positiveInteger-minExclusive-5-4 tokoe:invalid" result="pass"/><test-case name="9882NISTXML-SV-II-atomic-positiveInteger-minExclusive-5-5 tokoe:invalid" result="pass"/><test-case name="9883NISTSchema-SV-II-atomic-positiveInteger-maxExclusive-1 tokoe:valid" result="pass"/><test-case name="9884NISTXML-SV-II-atomic-positiveInteger-maxExclusive-1-1 tokoe:invalid" result="pass"/><test-case name="9885NISTXML-SV-II-atomic-positiveInteger-maxExclusive-1-2 tokoe:invalid" result="pass"/><test-case name="9886NISTXML-SV-II-atomic-positiveInteger-maxExclusive-1-3 tokoe:invalid" result="pass"/><test-case name="9887NISTXML-SV-II-atomic-positiveInteger-maxExclusive-1-4 tokoe:invalid" result="pass"/><test-case name="9888NISTXML-SV-II-atomic-positiveInteger-maxExclusive-1-5 tokoe:invalid" result="pass"/><test-case name="9889NISTSchema-SV-II-atomic-positiveInteger-maxExclusive-2 tokoe:valid" result="pass"/><test-case name="9890NISTXML-SV-II-atomic-positiveInteger-maxExclusive-2-1 tokoe:invalid" result="pass"/><test-case name="9891NISTXML-SV-II-atomic-positiveInteger-maxExclusive-2-2 tokoe:invalid" result="pass"/><test-case name="9892NISTXML-SV-II-atomic-positiveInteger-maxExclusive-2-3 tokoe:invalid" result="pass"/><test-case name="9893NISTXML-SV-II-atomic-positiveInteger-maxExclusive-2-4 tokoe:invalid" result="pass"/><test-case name="9894NISTXML-SV-II-atomic-positiveInteger-maxExclusive-2-5 tokoe:invalid" result="pass"/><test-case name="9895NISTSchema-SV-II-atomic-positiveInteger-maxExclusive-3 tokoe:valid" result="pass"/><test-case name="9896NISTXML-SV-II-atomic-positiveInteger-maxExclusive-3-1 tokoe:invalid" result="pass"/><test-case name="9897NISTXML-SV-II-atomic-positiveInteger-maxExclusive-3-2 tokoe:invalid" result="pass"/><test-case name="9898NISTXML-SV-II-atomic-positiveInteger-maxExclusive-3-3 tokoe:invalid" result="pass"/><test-case name="9899NISTXML-SV-II-atomic-positiveInteger-maxExclusive-3-4 tokoe:invalid" result="pass"/><test-case name="9900NISTXML-SV-II-atomic-positiveInteger-maxExclusive-3-5 tokoe:invalid" result="pass"/><test-case name="9901NISTSchema-SV-II-atomic-positiveInteger-maxExclusive-4 tokoe:valid" result="pass"/><test-case name="9902NISTXML-SV-II-atomic-positiveInteger-maxExclusive-4-1 tokoe:invalid" result="pass"/><test-case name="9903NISTXML-SV-II-atomic-positiveInteger-maxExclusive-4-2 tokoe:invalid" result="pass"/><test-case name="9904NISTXML-SV-II-atomic-positiveInteger-maxExclusive-4-3 tokoe:invalid" result="pass"/><test-case name="9905NISTXML-SV-II-atomic-positiveInteger-maxExclusive-4-4 tokoe:invalid" result="pass"/><test-case name="9906NISTXML-SV-II-atomic-positiveInteger-maxExclusive-4-5 tokoe:invalid" result="pass"/><test-case name="9907NISTSchema-SV-II-atomic-positiveInteger-maxExclusive-5 tokoe:valid" result="pass"/><test-case name="9908NISTXML-SV-II-atomic-positiveInteger-maxExclusive-5-1 tokoe:invalid" result="pass"/><test-case name="9909NISTSchema-SV-II-atomic-positiveInteger-pattern-1 tokoe:valid" result="pass"/><test-case name="9910NISTXML-SV-II-atomic-positiveInteger-pattern-1-1 tokoe:invalid" result="pass"/><test-case name="9911NISTXML-SV-II-atomic-positiveInteger-pattern-1-2 tokoe:invalid" result="pass"/><test-case name="9912NISTXML-SV-II-atomic-positiveInteger-pattern-1-3 tokoe:invalid" result="pass"/><test-case name="9913NISTXML-SV-II-atomic-positiveInteger-pattern-1-4 tokoe:invalid" result="pass"/><test-case name="9914NISTXML-SV-II-atomic-positiveInteger-pattern-1-5 tokoe:invalid" result="pass"/><test-case name="9915NISTSchema-SV-II-atomic-positiveInteger-pattern-2 tokoe:valid" result="pass"/><test-case name="9916NISTXML-SV-II-atomic-positiveInteger-pattern-2-1 tokoe:invalid" result="pass"/><test-case name="9917NISTXML-SV-II-atomic-positiveInteger-pattern-2-2 tokoe:invalid" result="pass"/><test-case name="9918NISTXML-SV-II-atomic-positiveInteger-pattern-2-3 tokoe:invalid" result="pass"/><test-case name="9919NISTXML-SV-II-atomic-positiveInteger-pattern-2-4 tokoe:invalid" result="pass"/><test-case name="9920NISTXML-SV-II-atomic-positiveInteger-pattern-2-5 tokoe:invalid" result="pass"/><test-case name="9921NISTSchema-SV-II-atomic-positiveInteger-pattern-3 tokoe:valid" result="pass"/><test-case name="9922NISTXML-SV-II-atomic-positiveInteger-pattern-3-1 tokoe:invalid" result="pass"/><test-case name="9923NISTXML-SV-II-atomic-positiveInteger-pattern-3-2 tokoe:invalid" result="pass"/><test-case name="9924NISTXML-SV-II-atomic-positiveInteger-pattern-3-3 tokoe:invalid" result="pass"/><test-case name="9925NISTXML-SV-II-atomic-positiveInteger-pattern-3-4 tokoe:invalid" result="pass"/><test-case name="9926NISTXML-SV-II-atomic-positiveInteger-pattern-3-5 tokoe:invalid" result="pass"/><test-case name="9927NISTSchema-SV-II-atomic-positiveInteger-pattern-4 tokoe:valid" result="pass"/><test-case name="9928NISTXML-SV-II-atomic-positiveInteger-pattern-4-1 tokoe:invalid" result="pass"/><test-case name="9929NISTXML-SV-II-atomic-positiveInteger-pattern-4-2 tokoe:invalid" result="pass"/><test-case name="9930NISTXML-SV-II-atomic-positiveInteger-pattern-4-3 tokoe:invalid" result="pass"/><test-case name="9931NISTXML-SV-II-atomic-positiveInteger-pattern-4-4 tokoe:invalid" result="pass"/><test-case name="9932NISTXML-SV-II-atomic-positiveInteger-pattern-4-5 tokoe:invalid" result="pass"/><test-case name="9933NISTSchema-SV-II-atomic-positiveInteger-pattern-5 tokoe:valid" result="pass"/><test-case name="9934NISTXML-SV-II-atomic-positiveInteger-pattern-5-1 tokoe:invalid" result="pass"/><test-case name="9935NISTXML-SV-II-atomic-positiveInteger-pattern-5-2 tokoe:invalid" result="pass"/><test-case name="9936NISTXML-SV-II-atomic-positiveInteger-pattern-5-3 tokoe:invalid" result="pass"/><test-case name="9937NISTXML-SV-II-atomic-positiveInteger-pattern-5-4 tokoe:invalid" result="pass"/><test-case name="9938NISTXML-SV-II-atomic-positiveInteger-pattern-5-5 tokoe:invalid" result="pass"/><test-case name="9939NISTSchema-SV-II-atomic-positiveInteger-enumeration-1 tokoe:valid" result="pass"/><test-case name="9940NISTXML-SV-II-atomic-positiveInteger-enumeration-1-1 tokoe:invalid" result="pass"/><test-case name="9941NISTXML-SV-II-atomic-positiveInteger-enumeration-1-2 tokoe:invalid" result="pass"/><test-case name="9942NISTXML-SV-II-atomic-positiveInteger-enumeration-1-3 tokoe:invalid" result="pass"/><test-case name="9943NISTXML-SV-II-atomic-positiveInteger-enumeration-1-4 tokoe:invalid" result="pass"/><test-case name="9944NISTXML-SV-II-atomic-positiveInteger-enumeration-1-5 tokoe:invalid" result="pass"/><test-case name="9945NISTSchema-SV-II-atomic-positiveInteger-enumeration-2 tokoe:valid" result="pass"/><test-case name="9946NISTXML-SV-II-atomic-positiveInteger-enumeration-2-1 tokoe:invalid" result="pass"/><test-case name="9947NISTXML-SV-II-atomic-positiveInteger-enumeration-2-2 tokoe:invalid" result="pass"/><test-case name="9948NISTXML-SV-II-atomic-positiveInteger-enumeration-2-3 tokoe:invalid" result="pass"/><test-case name="9949NISTXML-SV-II-atomic-positiveInteger-enumeration-2-4 tokoe:invalid" result="pass"/><test-case name="9950NISTXML-SV-II-atomic-positiveInteger-enumeration-2-5 tokoe:invalid" result="pass"/><test-case name="9951NISTSchema-SV-II-atomic-positiveInteger-enumeration-3 tokoe:valid" result="pass"/><test-case name="9952NISTXML-SV-II-atomic-positiveInteger-enumeration-3-1 tokoe:invalid" result="pass"/><test-case name="9953NISTXML-SV-II-atomic-positiveInteger-enumeration-3-2 tokoe:invalid" result="pass"/><test-case name="9954NISTXML-SV-II-atomic-positiveInteger-enumeration-3-3 tokoe:invalid" result="pass"/><test-case name="9955NISTXML-SV-II-atomic-positiveInteger-enumeration-3-4 tokoe:invalid" result="pass"/><test-case name="9956NISTXML-SV-II-atomic-positiveInteger-enumeration-3-5 tokoe:invalid" result="pass"/><test-case name="9957NISTSchema-SV-II-atomic-positiveInteger-enumeration-4 tokoe:valid" result="pass"/><test-case name="9958NISTXML-SV-II-atomic-positiveInteger-enumeration-4-1 tokoe:invalid" result="pass"/><test-case name="9959NISTXML-SV-II-atomic-positiveInteger-enumeration-4-2 tokoe:invalid" result="pass"/><test-case name="9960NISTXML-SV-II-atomic-positiveInteger-enumeration-4-3 tokoe:invalid" result="pass"/><test-case name="9961NISTXML-SV-II-atomic-positiveInteger-enumeration-4-4 tokoe:invalid" result="pass"/><test-case name="9962NISTXML-SV-II-atomic-positiveInteger-enumeration-4-5 tokoe:invalid" result="pass"/><test-case name="9963NISTSchema-SV-II-atomic-positiveInteger-enumeration-5 tokoe:valid" result="pass"/><test-case name="9964NISTXML-SV-II-atomic-positiveInteger-enumeration-5-1 tokoe:invalid" result="pass"/><test-case name="9965NISTXML-SV-II-atomic-positiveInteger-enumeration-5-2 tokoe:invalid" result="pass"/><test-case name="9966NISTXML-SV-II-atomic-positiveInteger-enumeration-5-3 tokoe:invalid" result="pass"/><test-case name="9967NISTXML-SV-II-atomic-positiveInteger-enumeration-5-4 tokoe:invalid" result="pass"/><test-case name="9968NISTXML-SV-II-atomic-positiveInteger-enumeration-5-5 tokoe:invalid" result="pass"/><test-case name="9969NISTSchema-SV-II-atomic-duration-minExclusive-1 tokoe:valid" result="pass"/><test-case name="9970NISTXML-SV-II-atomic-duration-minExclusive-1-1 tokoe:invalid" result="pass"/><test-case name="9971NISTSchema-SV-II-atomic-duration-minExclusive-2 tokoe:valid" result="pass"/><test-case name="9972NISTXML-SV-II-atomic-duration-minExclusive-2-1 tokoe:invalid" result="pass"/><test-case name="9973NISTXML-SV-II-atomic-duration-minExclusive-2-2 tokoe:invalid" result="pass"/><test-case name="9974NISTXML-SV-II-atomic-duration-minExclusive-2-3 tokoe:invalid" result="pass"/><test-case name="9975NISTXML-SV-II-atomic-duration-minExclusive-2-4 tokoe:invalid" result="pass"/><test-case name="9976NISTXML-SV-II-atomic-duration-minExclusive-2-5 tokoe:invalid" result="pass"/><test-case name="9977NISTSchema-SV-II-atomic-duration-minExclusive-3 tokoe:valid" result="pass"/><test-case name="9978NISTXML-SV-II-atomic-duration-minExclusive-3-1 tokoe:invalid" result="pass"/><test-case name="9979NISTXML-SV-II-atomic-duration-minExclusive-3-2 tokoe:invalid" result="pass"/><test-case name="9980NISTXML-SV-II-atomic-duration-minExclusive-3-3 tokoe:invalid" result="pass"/><test-case name="9981NISTXML-SV-II-atomic-duration-minExclusive-3-4 tokoe:invalid" result="pass"/><test-case name="9982NISTXML-SV-II-atomic-duration-minExclusive-3-5 tokoe:invalid" result="pass"/><test-case name="9983NISTSchema-SV-II-atomic-duration-minExclusive-4 tokoe:valid" result="pass"/><test-case name="9984NISTXML-SV-II-atomic-duration-minExclusive-4-1 tokoe:invalid" result="pass"/><test-case name="9985NISTXML-SV-II-atomic-duration-minExclusive-4-2 tokoe:invalid" result="pass"/><test-case name="9986NISTXML-SV-II-atomic-duration-minExclusive-4-3 tokoe:invalid" result="pass"/><test-case name="9987NISTXML-SV-II-atomic-duration-minExclusive-4-4 tokoe:invalid" result="pass"/><test-case name="9988NISTXML-SV-II-atomic-duration-minExclusive-4-5 tokoe:invalid" result="pass"/><test-case name="9989NISTSchema-SV-II-atomic-duration-minExclusive-5 tokoe:valid" result="pass"/><test-case name="9990NISTXML-SV-II-atomic-duration-minExclusive-5-1 tokoe:invalid" result="pass"/><test-case name="9991NISTXML-SV-II-atomic-duration-minExclusive-5-2 tokoe:invalid" result="pass"/><test-case name="9992NISTXML-SV-II-atomic-duration-minExclusive-5-3 tokoe:invalid" result="pass"/><test-case name="9993NISTXML-SV-II-atomic-duration-minExclusive-5-4 tokoe:invalid" result="pass"/><test-case name="9994NISTXML-SV-II-atomic-duration-minExclusive-5-5 tokoe:invalid" result="pass"/><test-case name="9995NISTSchema-SV-II-atomic-duration-maxExclusive-1 tokoe:valid" result="pass"/><test-case name="9996NISTXML-SV-II-atomic-duration-maxExclusive-1-1 tokoe:invalid" result="pass"/><test-case name="9997NISTXML-SV-II-atomic-duration-maxExclusive-1-2 tokoe:invalid" result="pass"/><test-case name="9998NISTXML-SV-II-atomic-duration-maxExclusive-1-3 tokoe:invalid" result="pass"/><test-case name="9999NISTXML-SV-II-atomic-duration-maxExclusive-1-4 tokoe:invalid" result="pass"/><test-case name="10000NISTXML-SV-II-atomic-duration-maxExclusive-1-5 tokoe:invalid" result="pass"/><test-case name="10001NISTSchema-SV-II-atomic-duration-maxExclusive-2 tokoe:valid" result="pass"/><test-case name="10002NISTXML-SV-II-atomic-duration-maxExclusive-2-1 tokoe:invalid" result="pass"/><test-case name="10003NISTXML-SV-II-atomic-duration-maxExclusive-2-2 tokoe:invalid" result="pass"/><test-case name="10004NISTXML-SV-II-atomic-duration-maxExclusive-2-3 tokoe:invalid" result="pass"/><test-case name="10005NISTXML-SV-II-atomic-duration-maxExclusive-2-4 tokoe:invalid" result="pass"/><test-case name="10006NISTXML-SV-II-atomic-duration-maxExclusive-2-5 tokoe:invalid" result="pass"/><test-case name="10007NISTSchema-SV-II-atomic-duration-maxExclusive-3 tokoe:valid" result="pass"/><test-case name="10008NISTXML-SV-II-atomic-duration-maxExclusive-3-1 tokoe:invalid" result="pass"/><test-case name="10009NISTXML-SV-II-atomic-duration-maxExclusive-3-2 tokoe:invalid" result="pass"/><test-case name="10010NISTXML-SV-II-atomic-duration-maxExclusive-3-3 tokoe:invalid" result="pass"/><test-case name="10011NISTXML-SV-II-atomic-duration-maxExclusive-3-4 tokoe:invalid" result="pass"/><test-case name="10012NISTXML-SV-II-atomic-duration-maxExclusive-3-5 tokoe:invalid" result="pass"/><test-case name="10013NISTSchema-SV-II-atomic-duration-maxExclusive-4 tokoe:valid" result="pass"/><test-case name="10014NISTXML-SV-II-atomic-duration-maxExclusive-4-1 tokoe:invalid" result="pass"/><test-case name="10015NISTXML-SV-II-atomic-duration-maxExclusive-4-2 tokoe:invalid" result="pass"/><test-case name="10016NISTXML-SV-II-atomic-duration-maxExclusive-4-3 tokoe:invalid" result="pass"/><test-case name="10017NISTXML-SV-II-atomic-duration-maxExclusive-4-4 tokoe:invalid" result="pass"/><test-case name="10018NISTXML-SV-II-atomic-duration-maxExclusive-4-5 tokoe:invalid" result="pass"/><test-case name="10019NISTSchema-SV-II-atomic-duration-maxExclusive-5 tokoe:valid" result="pass"/><test-case name="10020NISTXML-SV-II-atomic-duration-maxExclusive-5-1 tokoe:invalid" result="pass"/><test-case name="10021NISTSchema-SV-II-atomic-duration-pattern-1 tokoe:valid" result="pass"/><test-case name="10022NISTXML-SV-II-atomic-duration-pattern-1-1 tokoe:invalid" result="pass"/><test-case name="10023NISTXML-SV-II-atomic-duration-pattern-1-2 tokoe:invalid" result="pass"/><test-case name="10024NISTXML-SV-II-atomic-duration-pattern-1-3 tokoe:invalid" result="pass"/><test-case name="10025NISTXML-SV-II-atomic-duration-pattern-1-4 tokoe:invalid" result="pass"/><test-case name="10026NISTXML-SV-II-atomic-duration-pattern-1-5 tokoe:invalid" result="pass"/><test-case name="10027NISTSchema-SV-II-atomic-duration-pattern-2 tokoe:valid" result="pass"/><test-case name="10028NISTXML-SV-II-atomic-duration-pattern-2-1 tokoe:invalid" result="pass"/><test-case name="10029NISTXML-SV-II-atomic-duration-pattern-2-2 tokoe:invalid" result="pass"/><test-case name="10030NISTXML-SV-II-atomic-duration-pattern-2-3 tokoe:invalid" result="pass"/><test-case name="10031NISTXML-SV-II-atomic-duration-pattern-2-4 tokoe:invalid" result="pass"/><test-case name="10032NISTXML-SV-II-atomic-duration-pattern-2-5 tokoe:invalid" result="pass"/><test-case name="10033NISTSchema-SV-II-atomic-duration-pattern-3 tokoe:valid" result="pass"/><test-case name="10034NISTXML-SV-II-atomic-duration-pattern-3-1 tokoe:invalid" result="pass"/><test-case name="10035NISTXML-SV-II-atomic-duration-pattern-3-2 tokoe:invalid" result="pass"/><test-case name="10036NISTXML-SV-II-atomic-duration-pattern-3-3 tokoe:invalid" result="pass"/><test-case name="10037NISTXML-SV-II-atomic-duration-pattern-3-4 tokoe:invalid" result="pass"/><test-case name="10038NISTXML-SV-II-atomic-duration-pattern-3-5 tokoe:invalid" result="pass"/><test-case name="10039NISTSchema-SV-II-atomic-duration-pattern-4 tokoe:valid" result="pass"/><test-case name="10040NISTXML-SV-II-atomic-duration-pattern-4-1 tokoe:invalid" result="pass"/><test-case name="10041NISTXML-SV-II-atomic-duration-pattern-4-2 tokoe:invalid" result="pass"/><test-case name="10042NISTXML-SV-II-atomic-duration-pattern-4-3 tokoe:invalid" result="pass"/><test-case name="10043NISTXML-SV-II-atomic-duration-pattern-4-4 tokoe:invalid" result="pass"/><test-case name="10044NISTXML-SV-II-atomic-duration-pattern-4-5 tokoe:invalid" result="pass"/><test-case name="10045NISTSchema-SV-II-atomic-duration-pattern-5 tokoe:valid" result="pass"/><test-case name="10046NISTXML-SV-II-atomic-duration-pattern-5-1 tokoe:invalid" result="pass"/><test-case name="10047NISTXML-SV-II-atomic-duration-pattern-5-2 tokoe:invalid" result="pass"/><test-case name="10048NISTXML-SV-II-atomic-duration-pattern-5-3 tokoe:invalid" result="pass"/><test-case name="10049NISTXML-SV-II-atomic-duration-pattern-5-4 tokoe:invalid" result="pass"/><test-case name="10050NISTXML-SV-II-atomic-duration-pattern-5-5 tokoe:invalid" result="pass"/><test-case name="10051NISTSchema-SV-II-atomic-duration-enumeration-1 tokoe:valid" result="pass"/><test-case name="10052NISTXML-SV-II-atomic-duration-enumeration-1-1 tokoe:invalid" result="pass"/><test-case name="10053NISTXML-SV-II-atomic-duration-enumeration-1-2 tokoe:invalid" result="pass"/><test-case name="10054NISTXML-SV-II-atomic-duration-enumeration-1-3 tokoe:invalid" result="pass"/><test-case name="10055NISTXML-SV-II-atomic-duration-enumeration-1-4 tokoe:invalid" result="pass"/><test-case name="10056NISTXML-SV-II-atomic-duration-enumeration-1-5 tokoe:invalid" result="pass"/><test-case name="10057NISTSchema-SV-II-atomic-duration-enumeration-2 tokoe:valid" result="pass"/><test-case name="10058NISTXML-SV-II-atomic-duration-enumeration-2-1 tokoe:invalid" result="pass"/><test-case name="10059NISTXML-SV-II-atomic-duration-enumeration-2-2 tokoe:invalid" result="pass"/><test-case name="10060NISTXML-SV-II-atomic-duration-enumeration-2-3 tokoe:invalid" result="pass"/><test-case name="10061NISTXML-SV-II-atomic-duration-enumeration-2-4 tokoe:invalid" result="pass"/><test-case name="10062NISTXML-SV-II-atomic-duration-enumeration-2-5 tokoe:invalid" result="pass"/><test-case name="10063NISTSchema-SV-II-atomic-duration-enumeration-3 tokoe:valid" result="pass"/><test-case name="10064NISTXML-SV-II-atomic-duration-enumeration-3-1 tokoe:invalid" result="pass"/><test-case name="10065NISTXML-SV-II-atomic-duration-enumeration-3-2 tokoe:invalid" result="pass"/><test-case name="10066NISTXML-SV-II-atomic-duration-enumeration-3-3 tokoe:invalid" result="pass"/><test-case name="10067NISTXML-SV-II-atomic-duration-enumeration-3-4 tokoe:invalid" result="pass"/><test-case name="10068NISTXML-SV-II-atomic-duration-enumeration-3-5 tokoe:invalid" result="pass"/><test-case name="10069NISTSchema-SV-II-atomic-duration-enumeration-4 tokoe:valid" result="pass"/><test-case name="10070NISTXML-SV-II-atomic-duration-enumeration-4-1 tokoe:invalid" result="pass"/><test-case name="10071NISTXML-SV-II-atomic-duration-enumeration-4-2 tokoe:invalid" result="pass"/><test-case name="10072NISTXML-SV-II-atomic-duration-enumeration-4-3 tokoe:invalid" result="pass"/><test-case name="10073NISTXML-SV-II-atomic-duration-enumeration-4-4 tokoe:invalid" result="pass"/><test-case name="10074NISTXML-SV-II-atomic-duration-enumeration-4-5 tokoe:invalid" result="pass"/><test-case name="10075NISTSchema-SV-II-atomic-duration-enumeration-5 tokoe:valid" result="pass"/><test-case name="10076NISTXML-SV-II-atomic-duration-enumeration-5-1 tokoe:invalid" result="pass"/><test-case name="10077NISTXML-SV-II-atomic-duration-enumeration-5-2 tokoe:invalid" result="pass"/><test-case name="10078NISTXML-SV-II-atomic-duration-enumeration-5-3 tokoe:invalid" result="pass"/><test-case name="10079NISTXML-SV-II-atomic-duration-enumeration-5-4 tokoe:invalid" result="pass"/><test-case name="10080NISTXML-SV-II-atomic-duration-enumeration-5-5 tokoe:invalid" result="pass"/><test-case name="10081NISTSchema-SV-II-atomic-dateTime-minExclusive-1 tokoe:valid" result="pass"/><test-case name="10082NISTXML-SV-II-atomic-dateTime-minExclusive-1-1 tokoe:invalid" result="pass"/><test-case name="10083NISTSchema-SV-II-atomic-dateTime-minExclusive-2 tokoe:valid" result="pass"/><test-case name="10084NISTXML-SV-II-atomic-dateTime-minExclusive-2-1 tokoe:invalid" result="pass"/><test-case name="10085NISTXML-SV-II-atomic-dateTime-minExclusive-2-2 tokoe:invalid" result="pass"/><test-case name="10086NISTXML-SV-II-atomic-dateTime-minExclusive-2-3 tokoe:invalid" result="pass"/><test-case name="10087NISTXML-SV-II-atomic-dateTime-minExclusive-2-4 tokoe:invalid" result="pass"/><test-case name="10088NISTXML-SV-II-atomic-dateTime-minExclusive-2-5 tokoe:invalid" result="pass"/><test-case name="10089NISTSchema-SV-II-atomic-dateTime-minExclusive-3 tokoe:valid" result="pass"/><test-case name="10090NISTXML-SV-II-atomic-dateTime-minExclusive-3-1 tokoe:invalid" result="pass"/><test-case name="10091NISTXML-SV-II-atomic-dateTime-minExclusive-3-2 tokoe:invalid" result="pass"/><test-case name="10092NISTXML-SV-II-atomic-dateTime-minExclusive-3-3 tokoe:invalid" result="pass"/><test-case name="10093NISTXML-SV-II-atomic-dateTime-minExclusive-3-4 tokoe:invalid" result="pass"/><test-case name="10094NISTXML-SV-II-atomic-dateTime-minExclusive-3-5 tokoe:invalid" result="pass"/><test-case name="10095NISTSchema-SV-II-atomic-dateTime-minExclusive-4 tokoe:valid" result="pass"/><test-case name="10096NISTXML-SV-II-atomic-dateTime-minExclusive-4-1 tokoe:invalid" result="pass"/><test-case name="10097NISTXML-SV-II-atomic-dateTime-minExclusive-4-2 tokoe:invalid" result="pass"/><test-case name="10098NISTXML-SV-II-atomic-dateTime-minExclusive-4-3 tokoe:invalid" result="pass"/><test-case name="10099NISTXML-SV-II-atomic-dateTime-minExclusive-4-4 tokoe:invalid" result="pass"/><test-case name="10100NISTXML-SV-II-atomic-dateTime-minExclusive-4-5 tokoe:invalid" result="pass"/><test-case name="10101NISTSchema-SV-II-atomic-dateTime-minExclusive-5 tokoe:valid" result="pass"/><test-case name="10102NISTXML-SV-II-atomic-dateTime-minExclusive-5-1 tokoe:invalid" result="pass"/><test-case name="10103NISTXML-SV-II-atomic-dateTime-minExclusive-5-2 tokoe:invalid" result="pass"/><test-case name="10104NISTXML-SV-II-atomic-dateTime-minExclusive-5-3 tokoe:invalid" result="pass"/><test-case name="10105NISTXML-SV-II-atomic-dateTime-minExclusive-5-4 tokoe:invalid" result="pass"/><test-case name="10106NISTXML-SV-II-atomic-dateTime-minExclusive-5-5 tokoe:invalid" result="pass"/><test-case name="10107NISTSchema-SV-II-atomic-dateTime-maxExclusive-1 tokoe:valid" result="pass"/><test-case name="10108NISTXML-SV-II-atomic-dateTime-maxExclusive-1-1 tokoe:invalid" result="pass"/><test-case name="10109NISTXML-SV-II-atomic-dateTime-maxExclusive-1-2 tokoe:invalid" result="pass"/><test-case name="10110NISTXML-SV-II-atomic-dateTime-maxExclusive-1-3 tokoe:invalid" result="pass"/><test-case name="10111NISTXML-SV-II-atomic-dateTime-maxExclusive-1-4 tokoe:invalid" result="pass"/><test-case name="10112NISTXML-SV-II-atomic-dateTime-maxExclusive-1-5 tokoe:invalid" result="pass"/><test-case name="10113NISTSchema-SV-II-atomic-dateTime-maxExclusive-2 tokoe:valid" result="pass"/><test-case name="10114NISTXML-SV-II-atomic-dateTime-maxExclusive-2-1 tokoe:invalid" result="pass"/><test-case name="10115NISTXML-SV-II-atomic-dateTime-maxExclusive-2-2 tokoe:invalid" result="pass"/><test-case name="10116NISTXML-SV-II-atomic-dateTime-maxExclusive-2-3 tokoe:invalid" result="pass"/><test-case name="10117NISTXML-SV-II-atomic-dateTime-maxExclusive-2-4 tokoe:invalid" result="pass"/><test-case name="10118NISTXML-SV-II-atomic-dateTime-maxExclusive-2-5 tokoe:invalid" result="pass"/><test-case name="10119NISTSchema-SV-II-atomic-dateTime-maxExclusive-3 tokoe:valid" result="pass"/><test-case name="10120NISTXML-SV-II-atomic-dateTime-maxExclusive-3-1 tokoe:invalid" result="pass"/><test-case name="10121NISTXML-SV-II-atomic-dateTime-maxExclusive-3-2 tokoe:invalid" result="pass"/><test-case name="10122NISTXML-SV-II-atomic-dateTime-maxExclusive-3-3 tokoe:invalid" result="pass"/><test-case name="10123NISTXML-SV-II-atomic-dateTime-maxExclusive-3-4 tokoe:invalid" result="pass"/><test-case name="10124NISTXML-SV-II-atomic-dateTime-maxExclusive-3-5 tokoe:invalid" result="pass"/><test-case name="10125NISTSchema-SV-II-atomic-dateTime-maxExclusive-4 tokoe:valid" result="pass"/><test-case name="10126NISTXML-SV-II-atomic-dateTime-maxExclusive-4-1 tokoe:invalid" result="pass"/><test-case name="10127NISTXML-SV-II-atomic-dateTime-maxExclusive-4-2 tokoe:invalid" result="pass"/><test-case name="10128NISTXML-SV-II-atomic-dateTime-maxExclusive-4-3 tokoe:invalid" result="pass"/><test-case name="10129NISTXML-SV-II-atomic-dateTime-maxExclusive-4-4 tokoe:invalid" result="pass"/><test-case name="10130NISTXML-SV-II-atomic-dateTime-maxExclusive-4-5 tokoe:invalid" result="pass"/><test-case name="10131NISTSchema-SV-II-atomic-dateTime-maxExclusive-5 tokoe:valid" result="pass"/><test-case name="10132NISTXML-SV-II-atomic-dateTime-maxExclusive-5-1 tokoe:invalid" result="pass"/><test-case name="10133NISTSchema-SV-II-atomic-dateTime-pattern-1 tokoe:valid" result="pass"/><test-case name="10134NISTXML-SV-II-atomic-dateTime-pattern-1-1 tokoe:invalid" result="pass"/><test-case name="10135NISTXML-SV-II-atomic-dateTime-pattern-1-2 tokoe:invalid" result="pass"/><test-case name="10136NISTXML-SV-II-atomic-dateTime-pattern-1-3 tokoe:invalid" result="pass"/><test-case name="10137NISTXML-SV-II-atomic-dateTime-pattern-1-4 tokoe:invalid" result="pass"/><test-case name="10138NISTXML-SV-II-atomic-dateTime-pattern-1-5 tokoe:invalid" result="pass"/><test-case name="10139NISTSchema-SV-II-atomic-dateTime-pattern-2 tokoe:valid" result="pass"/><test-case name="10140NISTXML-SV-II-atomic-dateTime-pattern-2-1 tokoe:invalid" result="pass"/><test-case name="10141NISTXML-SV-II-atomic-dateTime-pattern-2-2 tokoe:invalid" result="pass"/><test-case name="10142NISTXML-SV-II-atomic-dateTime-pattern-2-3 tokoe:invalid" result="pass"/><test-case name="10143NISTXML-SV-II-atomic-dateTime-pattern-2-4 tokoe:invalid" result="pass"/><test-case name="10144NISTXML-SV-II-atomic-dateTime-pattern-2-5 tokoe:invalid" result="pass"/><test-case name="10145NISTSchema-SV-II-atomic-dateTime-pattern-3 tokoe:valid" result="pass"/><test-case name="10146NISTXML-SV-II-atomic-dateTime-pattern-3-1 tokoe:invalid" result="pass"/><test-case name="10147NISTXML-SV-II-atomic-dateTime-pattern-3-2 tokoe:invalid" result="pass"/><test-case name="10148NISTXML-SV-II-atomic-dateTime-pattern-3-3 tokoe:invalid" result="pass"/><test-case name="10149NISTXML-SV-II-atomic-dateTime-pattern-3-4 tokoe:invalid" result="pass"/><test-case name="10150NISTXML-SV-II-atomic-dateTime-pattern-3-5 tokoe:invalid" result="pass"/><test-case name="10151NISTSchema-SV-II-atomic-dateTime-pattern-4 tokoe:valid" result="pass"/><test-case name="10152NISTXML-SV-II-atomic-dateTime-pattern-4-1 tokoe:invalid" result="pass"/><test-case name="10153NISTXML-SV-II-atomic-dateTime-pattern-4-2 tokoe:invalid" result="pass"/><test-case name="10154NISTXML-SV-II-atomic-dateTime-pattern-4-3 tokoe:invalid" result="pass"/><test-case name="10155NISTXML-SV-II-atomic-dateTime-pattern-4-4 tokoe:invalid" result="pass"/><test-case name="10156NISTXML-SV-II-atomic-dateTime-pattern-4-5 tokoe:invalid" result="pass"/><test-case name="10157NISTSchema-SV-II-atomic-dateTime-pattern-5 tokoe:valid" result="pass"/><test-case name="10158NISTXML-SV-II-atomic-dateTime-pattern-5-1 tokoe:invalid" result="pass"/><test-case name="10159NISTXML-SV-II-atomic-dateTime-pattern-5-2 tokoe:invalid" result="pass"/><test-case name="10160NISTXML-SV-II-atomic-dateTime-pattern-5-3 tokoe:invalid" result="pass"/><test-case name="10161NISTXML-SV-II-atomic-dateTime-pattern-5-4 tokoe:invalid" result="pass"/><test-case name="10162NISTXML-SV-II-atomic-dateTime-pattern-5-5 tokoe:invalid" result="pass"/><test-case name="10163NISTSchema-SV-II-atomic-dateTime-enumeration-1 tokoe:valid" result="pass"/><test-case name="10164NISTXML-SV-II-atomic-dateTime-enumeration-1-1 tokoe:invalid" result="pass"/><test-case name="10165NISTXML-SV-II-atomic-dateTime-enumeration-1-2 tokoe:invalid" result="pass"/><test-case name="10166NISTXML-SV-II-atomic-dateTime-enumeration-1-3 tokoe:invalid" result="pass"/><test-case name="10167NISTXML-SV-II-atomic-dateTime-enumeration-1-4 tokoe:invalid" result="pass"/><test-case name="10168NISTXML-SV-II-atomic-dateTime-enumeration-1-5 tokoe:invalid" result="pass"/><test-case name="10169NISTSchema-SV-II-atomic-dateTime-enumeration-2 tokoe:valid" result="pass"/><test-case name="10170NISTXML-SV-II-atomic-dateTime-enumeration-2-1 tokoe:invalid" result="pass"/><test-case name="10171NISTXML-SV-II-atomic-dateTime-enumeration-2-2 tokoe:invalid" result="pass"/><test-case name="10172NISTXML-SV-II-atomic-dateTime-enumeration-2-3 tokoe:invalid" result="pass"/><test-case name="10173NISTXML-SV-II-atomic-dateTime-enumeration-2-4 tokoe:invalid" result="pass"/><test-case name="10174NISTXML-SV-II-atomic-dateTime-enumeration-2-5 tokoe:invalid" result="pass"/><test-case name="10175NISTSchema-SV-II-atomic-dateTime-enumeration-3 tokoe:valid" result="pass"/><test-case name="10176NISTXML-SV-II-atomic-dateTime-enumeration-3-1 tokoe:invalid" result="pass"/><test-case name="10177NISTXML-SV-II-atomic-dateTime-enumeration-3-2 tokoe:invalid" result="pass"/><test-case name="10178NISTXML-SV-II-atomic-dateTime-enumeration-3-3 tokoe:invalid" result="pass"/><test-case name="10179NISTXML-SV-II-atomic-dateTime-enumeration-3-4 tokoe:invalid" result="pass"/><test-case name="10180NISTXML-SV-II-atomic-dateTime-enumeration-3-5 tokoe:invalid" result="pass"/><test-case name="10181NISTSchema-SV-II-atomic-dateTime-enumeration-4 tokoe:valid" result="pass"/><test-case name="10182NISTXML-SV-II-atomic-dateTime-enumeration-4-1 tokoe:invalid" result="pass"/><test-case name="10183NISTXML-SV-II-atomic-dateTime-enumeration-4-2 tokoe:invalid" result="pass"/><test-case name="10184NISTXML-SV-II-atomic-dateTime-enumeration-4-3 tokoe:invalid" result="pass"/><test-case name="10185NISTXML-SV-II-atomic-dateTime-enumeration-4-4 tokoe:invalid" result="pass"/><test-case name="10186NISTXML-SV-II-atomic-dateTime-enumeration-4-5 tokoe:invalid" result="pass"/><test-case name="10187NISTSchema-SV-II-atomic-dateTime-enumeration-5 tokoe:valid" result="pass"/><test-case name="10188NISTXML-SV-II-atomic-dateTime-enumeration-5-1 tokoe:invalid" result="pass"/><test-case name="10189NISTXML-SV-II-atomic-dateTime-enumeration-5-2 tokoe:invalid" result="pass"/><test-case name="10190NISTXML-SV-II-atomic-dateTime-enumeration-5-3 tokoe:invalid" result="pass"/><test-case name="10191NISTXML-SV-II-atomic-dateTime-enumeration-5-4 tokoe:invalid" result="pass"/><test-case name="10192NISTXML-SV-II-atomic-dateTime-enumeration-5-5 tokoe:invalid" result="pass"/><test-case name="10193NISTSchema-SV-II-atomic-time-minExclusive-1 tokoe:valid" result="pass"/><test-case name="10194NISTXML-SV-II-atomic-time-minExclusive-1-1 tokoe:invalid" result="pass"/><test-case name="10195NISTSchema-SV-II-atomic-time-minExclusive-2 tokoe:valid" result="pass"/><test-case name="10196NISTXML-SV-II-atomic-time-minExclusive-2-1 tokoe:invalid" result="pass"/><test-case name="10197NISTXML-SV-II-atomic-time-minExclusive-2-2 tokoe:invalid" result="pass"/><test-case name="10198NISTXML-SV-II-atomic-time-minExclusive-2-3 tokoe:invalid" result="pass"/><test-case name="10199NISTXML-SV-II-atomic-time-minExclusive-2-4 tokoe:invalid" result="pass"/><test-case name="10200NISTXML-SV-II-atomic-time-minExclusive-2-5 tokoe:invalid" result="pass"/><test-case name="10201NISTSchema-SV-II-atomic-time-minExclusive-3 tokoe:valid" result="pass"/><test-case name="10202NISTXML-SV-II-atomic-time-minExclusive-3-1 tokoe:invalid" result="pass"/><test-case name="10203NISTXML-SV-II-atomic-time-minExclusive-3-2 tokoe:invalid" result="pass"/><test-case name="10204NISTXML-SV-II-atomic-time-minExclusive-3-3 tokoe:invalid" result="pass"/><test-case name="10205NISTXML-SV-II-atomic-time-minExclusive-3-4 tokoe:invalid" result="pass"/><test-case name="10206NISTXML-SV-II-atomic-time-minExclusive-3-5 tokoe:invalid" result="pass"/><test-case name="10207NISTSchema-SV-II-atomic-time-minExclusive-4 tokoe:valid" result="pass"/><test-case name="10208NISTXML-SV-II-atomic-time-minExclusive-4-1 tokoe:invalid" result="pass"/><test-case name="10209NISTXML-SV-II-atomic-time-minExclusive-4-2 tokoe:invalid" result="pass"/><test-case name="10210NISTXML-SV-II-atomic-time-minExclusive-4-3 tokoe:invalid" result="pass"/><test-case name="10211NISTXML-SV-II-atomic-time-minExclusive-4-4 tokoe:invalid" result="pass"/><test-case name="10212NISTXML-SV-II-atomic-time-minExclusive-4-5 tokoe:invalid" result="pass"/><test-case name="10213NISTSchema-SV-II-atomic-time-minExclusive-5 tokoe:valid" result="pass"/><test-case name="10214NISTXML-SV-II-atomic-time-minExclusive-5-1 tokoe:invalid" result="pass"/><test-case name="10215NISTXML-SV-II-atomic-time-minExclusive-5-2 tokoe:invalid" result="pass"/><test-case name="10216NISTXML-SV-II-atomic-time-minExclusive-5-3 tokoe:invalid" result="pass"/><test-case name="10217NISTXML-SV-II-atomic-time-minExclusive-5-4 tokoe:invalid" result="pass"/><test-case name="10218NISTXML-SV-II-atomic-time-minExclusive-5-5 tokoe:invalid" result="pass"/><test-case name="10219NISTSchema-SV-II-atomic-time-maxExclusive-1 tokoe:valid" result="pass"/><test-case name="10220NISTXML-SV-II-atomic-time-maxExclusive-1-1 tokoe:invalid" result="pass"/><test-case name="10221NISTXML-SV-II-atomic-time-maxExclusive-1-2 tokoe:invalid" result="pass"/><test-case name="10222NISTXML-SV-II-atomic-time-maxExclusive-1-3 tokoe:invalid" result="pass"/><test-case name="10223NISTXML-SV-II-atomic-time-maxExclusive-1-4 tokoe:invalid" result="pass"/><test-case name="10224NISTXML-SV-II-atomic-time-maxExclusive-1-5 tokoe:invalid" result="pass"/><test-case name="10225NISTSchema-SV-II-atomic-time-maxExclusive-2 tokoe:valid" result="pass"/><test-case name="10226NISTXML-SV-II-atomic-time-maxExclusive-2-1 tokoe:invalid" result="pass"/><test-case name="10227NISTXML-SV-II-atomic-time-maxExclusive-2-2 tokoe:invalid" result="pass"/><test-case name="10228NISTXML-SV-II-atomic-time-maxExclusive-2-3 tokoe:invalid" result="pass"/><test-case name="10229NISTXML-SV-II-atomic-time-maxExclusive-2-4 tokoe:invalid" result="pass"/><test-case name="10230NISTXML-SV-II-atomic-time-maxExclusive-2-5 tokoe:invalid" result="pass"/><test-case name="10231NISTSchema-SV-II-atomic-time-maxExclusive-3 tokoe:valid" result="pass"/><test-case name="10232NISTXML-SV-II-atomic-time-maxExclusive-3-1 tokoe:invalid" result="pass"/><test-case name="10233NISTXML-SV-II-atomic-time-maxExclusive-3-2 tokoe:invalid" result="pass"/><test-case name="10234NISTXML-SV-II-atomic-time-maxExclusive-3-3 tokoe:invalid" result="pass"/><test-case name="10235NISTXML-SV-II-atomic-time-maxExclusive-3-4 tokoe:invalid" result="pass"/><test-case name="10236NISTXML-SV-II-atomic-time-maxExclusive-3-5 tokoe:invalid" result="pass"/><test-case name="10237NISTSchema-SV-II-atomic-time-maxExclusive-4 tokoe:valid" result="pass"/><test-case name="10238NISTXML-SV-II-atomic-time-maxExclusive-4-1 tokoe:invalid" result="pass"/><test-case name="10239NISTXML-SV-II-atomic-time-maxExclusive-4-2 tokoe:invalid" result="pass"/><test-case name="10240NISTXML-SV-II-atomic-time-maxExclusive-4-3 tokoe:invalid" result="pass"/><test-case name="10241NISTXML-SV-II-atomic-time-maxExclusive-4-4 tokoe:invalid" result="pass"/><test-case name="10242NISTXML-SV-II-atomic-time-maxExclusive-4-5 tokoe:invalid" result="pass"/><test-case name="10243NISTSchema-SV-II-atomic-time-maxExclusive-5 tokoe:valid" result="pass"/><test-case name="10244NISTXML-SV-II-atomic-time-maxExclusive-5-1 tokoe:invalid" result="pass"/><test-case name="10245NISTSchema-SV-II-atomic-time-pattern-1 tokoe:valid" result="pass"/><test-case name="10246NISTXML-SV-II-atomic-time-pattern-1-1 tokoe:invalid" result="pass"/><test-case name="10247NISTXML-SV-II-atomic-time-pattern-1-2 tokoe:invalid" result="pass"/><test-case name="10248NISTXML-SV-II-atomic-time-pattern-1-3 tokoe:invalid" result="pass"/><test-case name="10249NISTXML-SV-II-atomic-time-pattern-1-4 tokoe:invalid" result="pass"/><test-case name="10250NISTXML-SV-II-atomic-time-pattern-1-5 tokoe:invalid" result="pass"/><test-case name="10251NISTSchema-SV-II-atomic-time-pattern-2 tokoe:valid" result="pass"/><test-case name="10252NISTXML-SV-II-atomic-time-pattern-2-1 tokoe:invalid" result="pass"/><test-case name="10253NISTXML-SV-II-atomic-time-pattern-2-2 tokoe:invalid" result="pass"/><test-case name="10254NISTXML-SV-II-atomic-time-pattern-2-3 tokoe:invalid" result="pass"/><test-case name="10255NISTXML-SV-II-atomic-time-pattern-2-4 tokoe:invalid" result="pass"/><test-case name="10256NISTXML-SV-II-atomic-time-pattern-2-5 tokoe:invalid" result="pass"/><test-case name="10257NISTSchema-SV-II-atomic-time-pattern-3 tokoe:valid" result="pass"/><test-case name="10258NISTXML-SV-II-atomic-time-pattern-3-1 tokoe:invalid" result="pass"/><test-case name="10259NISTXML-SV-II-atomic-time-pattern-3-2 tokoe:invalid" result="pass"/><test-case name="10260NISTXML-SV-II-atomic-time-pattern-3-3 tokoe:invalid" result="pass"/><test-case name="10261NISTXML-SV-II-atomic-time-pattern-3-4 tokoe:invalid" result="pass"/><test-case name="10262NISTXML-SV-II-atomic-time-pattern-3-5 tokoe:invalid" result="pass"/><test-case name="10263NISTSchema-SV-II-atomic-time-pattern-4 tokoe:valid" result="pass"/><test-case name="10264NISTXML-SV-II-atomic-time-pattern-4-1 tokoe:invalid" result="pass"/><test-case name="10265NISTXML-SV-II-atomic-time-pattern-4-2 tokoe:invalid" result="pass"/><test-case name="10266NISTXML-SV-II-atomic-time-pattern-4-3 tokoe:invalid" result="pass"/><test-case name="10267NISTXML-SV-II-atomic-time-pattern-4-4 tokoe:invalid" result="pass"/><test-case name="10268NISTXML-SV-II-atomic-time-pattern-4-5 tokoe:invalid" result="pass"/><test-case name="10269NISTSchema-SV-II-atomic-time-pattern-5 tokoe:valid" result="pass"/><test-case name="10270NISTXML-SV-II-atomic-time-pattern-5-1 tokoe:invalid" result="pass"/><test-case name="10271NISTXML-SV-II-atomic-time-pattern-5-2 tokoe:invalid" result="pass"/><test-case name="10272NISTXML-SV-II-atomic-time-pattern-5-3 tokoe:invalid" result="pass"/><test-case name="10273NISTXML-SV-II-atomic-time-pattern-5-4 tokoe:invalid" result="pass"/><test-case name="10274NISTXML-SV-II-atomic-time-pattern-5-5 tokoe:invalid" result="pass"/><test-case name="10275NISTSchema-SV-II-atomic-time-enumeration-1 tokoe:valid" result="pass"/><test-case name="10276NISTXML-SV-II-atomic-time-enumeration-1-1 tokoe:invalid" result="pass"/><test-case name="10277NISTXML-SV-II-atomic-time-enumeration-1-2 tokoe:invalid" result="pass"/><test-case name="10278NISTXML-SV-II-atomic-time-enumeration-1-3 tokoe:invalid" result="pass"/><test-case name="10279NISTXML-SV-II-atomic-time-enumeration-1-4 tokoe:invalid" result="pass"/><test-case name="10280NISTXML-SV-II-atomic-time-enumeration-1-5 tokoe:invalid" result="pass"/><test-case name="10281NISTSchema-SV-II-atomic-time-enumeration-2 tokoe:valid" result="pass"/><test-case name="10282NISTXML-SV-II-atomic-time-enumeration-2-1 tokoe:invalid" result="pass"/><test-case name="10283NISTXML-SV-II-atomic-time-enumeration-2-2 tokoe:invalid" result="pass"/><test-case name="10284NISTXML-SV-II-atomic-time-enumeration-2-3 tokoe:invalid" result="pass"/><test-case name="10285NISTXML-SV-II-atomic-time-enumeration-2-4 tokoe:invalid" result="pass"/><test-case name="10286NISTXML-SV-II-atomic-time-enumeration-2-5 tokoe:invalid" result="pass"/><test-case name="10287NISTSchema-SV-II-atomic-time-enumeration-3 tokoe:valid" result="pass"/><test-case name="10288NISTXML-SV-II-atomic-time-enumeration-3-1 tokoe:invalid" result="pass"/><test-case name="10289NISTXML-SV-II-atomic-time-enumeration-3-2 tokoe:invalid" result="pass"/><test-case name="10290NISTXML-SV-II-atomic-time-enumeration-3-3 tokoe:invalid" result="pass"/><test-case name="10291NISTXML-SV-II-atomic-time-enumeration-3-4 tokoe:invalid" result="pass"/><test-case name="10292NISTXML-SV-II-atomic-time-enumeration-3-5 tokoe:invalid" result="pass"/><test-case name="10293NISTSchema-SV-II-atomic-time-enumeration-4 tokoe:valid" result="pass"/><test-case name="10294NISTXML-SV-II-atomic-time-enumeration-4-1 tokoe:invalid" result="pass"/><test-case name="10295NISTXML-SV-II-atomic-time-enumeration-4-2 tokoe:invalid" result="pass"/><test-case name="10296NISTXML-SV-II-atomic-time-enumeration-4-3 tokoe:invalid" result="pass"/><test-case name="10297NISTXML-SV-II-atomic-time-enumeration-4-4 tokoe:invalid" result="pass"/><test-case name="10298NISTXML-SV-II-atomic-time-enumeration-4-5 tokoe:invalid" result="pass"/><test-case name="10299NISTSchema-SV-II-atomic-time-enumeration-5 tokoe:valid" result="pass"/><test-case name="10300NISTXML-SV-II-atomic-time-enumeration-5-1 tokoe:invalid" result="pass"/><test-case name="10301NISTXML-SV-II-atomic-time-enumeration-5-2 tokoe:invalid" result="pass"/><test-case name="10302NISTXML-SV-II-atomic-time-enumeration-5-3 tokoe:invalid" result="pass"/><test-case name="10303NISTXML-SV-II-atomic-time-enumeration-5-4 tokoe:invalid" result="pass"/><test-case name="10304NISTXML-SV-II-atomic-time-enumeration-5-5 tokoe:invalid" result="pass"/><test-case name="10305NISTSchema-SV-II-atomic-date-minExclusive-1 tokoe:valid" result="pass"/><test-case name="10306NISTXML-SV-II-atomic-date-minExclusive-1-1 tokoe:invalid" result="pass"/><test-case name="10307NISTSchema-SV-II-atomic-date-minExclusive-2 tokoe:valid" result="pass"/><test-case name="10308NISTXML-SV-II-atomic-date-minExclusive-2-1 tokoe:invalid" result="pass"/><test-case name="10309NISTXML-SV-II-atomic-date-minExclusive-2-2 tokoe:invalid" result="pass"/><test-case name="10310NISTXML-SV-II-atomic-date-minExclusive-2-3 tokoe:invalid" result="pass"/><test-case name="10311NISTXML-SV-II-atomic-date-minExclusive-2-4 tokoe:invalid" result="pass"/><test-case name="10312NISTXML-SV-II-atomic-date-minExclusive-2-5 tokoe:invalid" result="pass"/><test-case name="10313NISTSchema-SV-II-atomic-date-minExclusive-3 tokoe:valid" result="pass"/><test-case name="10314NISTXML-SV-II-atomic-date-minExclusive-3-1 tokoe:invalid" result="pass"/><test-case name="10315NISTXML-SV-II-atomic-date-minExclusive-3-2 tokoe:invalid" result="pass"/><test-case name="10316NISTXML-SV-II-atomic-date-minExclusive-3-3 tokoe:invalid" result="pass"/><test-case name="10317NISTXML-SV-II-atomic-date-minExclusive-3-4 tokoe:invalid" result="pass"/><test-case name="10318NISTXML-SV-II-atomic-date-minExclusive-3-5 tokoe:invalid" result="pass"/><test-case name="10319NISTSchema-SV-II-atomic-date-minExclusive-4 tokoe:valid" result="pass"/><test-case name="10320NISTXML-SV-II-atomic-date-minExclusive-4-1 tokoe:invalid" result="pass"/><test-case name="10321NISTXML-SV-II-atomic-date-minExclusive-4-2 tokoe:invalid" result="pass"/><test-case name="10322NISTXML-SV-II-atomic-date-minExclusive-4-3 tokoe:invalid" result="pass"/><test-case name="10323NISTXML-SV-II-atomic-date-minExclusive-4-4 tokoe:invalid" result="pass"/><test-case name="10324NISTXML-SV-II-atomic-date-minExclusive-4-5 tokoe:invalid" result="pass"/><test-case name="10325NISTSchema-SV-II-atomic-date-minExclusive-5 tokoe:valid" result="pass"/><test-case name="10326NISTXML-SV-II-atomic-date-minExclusive-5-1 tokoe:invalid" result="pass"/><test-case name="10327NISTXML-SV-II-atomic-date-minExclusive-5-2 tokoe:invalid" result="pass"/><test-case name="10328NISTXML-SV-II-atomic-date-minExclusive-5-3 tokoe:invalid" result="pass"/><test-case name="10329NISTXML-SV-II-atomic-date-minExclusive-5-4 tokoe:invalid" result="pass"/><test-case name="10330NISTXML-SV-II-atomic-date-minExclusive-5-5 tokoe:invalid" result="pass"/><test-case name="10331NISTSchema-SV-II-atomic-date-maxExclusive-1 tokoe:valid" result="pass"/><test-case name="10332NISTXML-SV-II-atomic-date-maxExclusive-1-1 tokoe:invalid" result="pass"/><test-case name="10333NISTXML-SV-II-atomic-date-maxExclusive-1-2 tokoe:invalid" result="pass"/><test-case name="10334NISTXML-SV-II-atomic-date-maxExclusive-1-3 tokoe:invalid" result="pass"/><test-case name="10335NISTXML-SV-II-atomic-date-maxExclusive-1-4 tokoe:invalid" result="pass"/><test-case name="10336NISTXML-SV-II-atomic-date-maxExclusive-1-5 tokoe:invalid" result="pass"/><test-case name="10337NISTSchema-SV-II-atomic-date-maxExclusive-2 tokoe:valid" result="pass"/><test-case name="10338NISTXML-SV-II-atomic-date-maxExclusive-2-1 tokoe:invalid" result="pass"/><test-case name="10339NISTXML-SV-II-atomic-date-maxExclusive-2-2 tokoe:invalid" result="pass"/><test-case name="10340NISTXML-SV-II-atomic-date-maxExclusive-2-3 tokoe:invalid" result="pass"/><test-case name="10341NISTXML-SV-II-atomic-date-maxExclusive-2-4 tokoe:invalid" result="pass"/><test-case name="10342NISTXML-SV-II-atomic-date-maxExclusive-2-5 tokoe:invalid" result="pass"/><test-case name="10343NISTSchema-SV-II-atomic-date-maxExclusive-3 tokoe:valid" result="pass"/><test-case name="10344NISTXML-SV-II-atomic-date-maxExclusive-3-1 tokoe:invalid" result="pass"/><test-case name="10345NISTXML-SV-II-atomic-date-maxExclusive-3-2 tokoe:invalid" result="pass"/><test-case name="10346NISTXML-SV-II-atomic-date-maxExclusive-3-3 tokoe:invalid" result="pass"/><test-case name="10347NISTXML-SV-II-atomic-date-maxExclusive-3-4 tokoe:invalid" result="pass"/><test-case name="10348NISTXML-SV-II-atomic-date-maxExclusive-3-5 tokoe:invalid" result="pass"/><test-case name="10349NISTSchema-SV-II-atomic-date-maxExclusive-4 tokoe:valid" result="pass"/><test-case name="10350NISTXML-SV-II-atomic-date-maxExclusive-4-1 tokoe:invalid" result="pass"/><test-case name="10351NISTXML-SV-II-atomic-date-maxExclusive-4-2 tokoe:invalid" result="pass"/><test-case name="10352NISTXML-SV-II-atomic-date-maxExclusive-4-3 tokoe:invalid" result="pass"/><test-case name="10353NISTXML-SV-II-atomic-date-maxExclusive-4-4 tokoe:invalid" result="pass"/><test-case name="10354NISTXML-SV-II-atomic-date-maxExclusive-4-5 tokoe:invalid" result="pass"/><test-case name="10355NISTSchema-SV-II-atomic-date-maxExclusive-5 tokoe:valid" result="pass"/><test-case name="10356NISTXML-SV-II-atomic-date-maxExclusive-5-1 tokoe:invalid" result="pass"/><test-case name="10357NISTSchema-SV-II-atomic-date-pattern-1 tokoe:valid" result="pass"/><test-case name="10358NISTXML-SV-II-atomic-date-pattern-1-1 tokoe:invalid" result="pass"/><test-case name="10359NISTXML-SV-II-atomic-date-pattern-1-2 tokoe:invalid" result="pass"/><test-case name="10360NISTXML-SV-II-atomic-date-pattern-1-3 tokoe:invalid" result="pass"/><test-case name="10361NISTXML-SV-II-atomic-date-pattern-1-4 tokoe:invalid" result="pass"/><test-case name="10362NISTXML-SV-II-atomic-date-pattern-1-5 tokoe:invalid" result="pass"/><test-case name="10363NISTSchema-SV-II-atomic-date-pattern-2 tokoe:valid" result="pass"/><test-case name="10364NISTXML-SV-II-atomic-date-pattern-2-1 tokoe:invalid" result="pass"/><test-case name="10365NISTXML-SV-II-atomic-date-pattern-2-2 tokoe:invalid" result="pass"/><test-case name="10366NISTXML-SV-II-atomic-date-pattern-2-3 tokoe:invalid" result="pass"/><test-case name="10367NISTXML-SV-II-atomic-date-pattern-2-4 tokoe:invalid" result="pass"/><test-case name="10368NISTXML-SV-II-atomic-date-pattern-2-5 tokoe:invalid" result="pass"/><test-case name="10369NISTSchema-SV-II-atomic-date-pattern-3 tokoe:valid" result="pass"/><test-case name="10370NISTXML-SV-II-atomic-date-pattern-3-1 tokoe:invalid" result="pass"/><test-case name="10371NISTXML-SV-II-atomic-date-pattern-3-2 tokoe:invalid" result="pass"/><test-case name="10372NISTXML-SV-II-atomic-date-pattern-3-3 tokoe:invalid" result="pass"/><test-case name="10373NISTXML-SV-II-atomic-date-pattern-3-4 tokoe:invalid" result="pass"/><test-case name="10374NISTXML-SV-II-atomic-date-pattern-3-5 tokoe:invalid" result="pass"/><test-case name="10375NISTSchema-SV-II-atomic-date-pattern-4 tokoe:valid" result="pass"/><test-case name="10376NISTXML-SV-II-atomic-date-pattern-4-1 tokoe:invalid" result="pass"/><test-case name="10377NISTXML-SV-II-atomic-date-pattern-4-2 tokoe:invalid" result="pass"/><test-case name="10378NISTXML-SV-II-atomic-date-pattern-4-3 tokoe:invalid" result="pass"/><test-case name="10379NISTXML-SV-II-atomic-date-pattern-4-4 tokoe:invalid" result="pass"/><test-case name="10380NISTXML-SV-II-atomic-date-pattern-4-5 tokoe:invalid" result="pass"/><test-case name="10381NISTSchema-SV-II-atomic-date-pattern-5 tokoe:valid" result="pass"/><test-case name="10382NISTXML-SV-II-atomic-date-pattern-5-1 tokoe:invalid" result="pass"/><test-case name="10383NISTXML-SV-II-atomic-date-pattern-5-2 tokoe:invalid" result="pass"/><test-case name="10384NISTXML-SV-II-atomic-date-pattern-5-3 tokoe:invalid" result="pass"/><test-case name="10385NISTXML-SV-II-atomic-date-pattern-5-4 tokoe:invalid" result="pass"/><test-case name="10386NISTXML-SV-II-atomic-date-pattern-5-5 tokoe:invalid" result="pass"/><test-case name="10387NISTSchema-SV-II-atomic-date-enumeration-1 tokoe:valid" result="pass"/><test-case name="10388NISTXML-SV-II-atomic-date-enumeration-1-1 tokoe:invalid" result="pass"/><test-case name="10389NISTXML-SV-II-atomic-date-enumeration-1-2 tokoe:invalid" result="pass"/><test-case name="10390NISTXML-SV-II-atomic-date-enumeration-1-3 tokoe:invalid" result="pass"/><test-case name="10391NISTXML-SV-II-atomic-date-enumeration-1-4 tokoe:invalid" result="pass"/><test-case name="10392NISTXML-SV-II-atomic-date-enumeration-1-5 tokoe:invalid" result="pass"/><test-case name="10393NISTSchema-SV-II-atomic-date-enumeration-2 tokoe:valid" result="pass"/><test-case name="10394NISTXML-SV-II-atomic-date-enumeration-2-1 tokoe:invalid" result="pass"/><test-case name="10395NISTXML-SV-II-atomic-date-enumeration-2-2 tokoe:invalid" result="pass"/><test-case name="10396NISTXML-SV-II-atomic-date-enumeration-2-3 tokoe:invalid" result="pass"/><test-case name="10397NISTXML-SV-II-atomic-date-enumeration-2-4 tokoe:invalid" result="pass"/><test-case name="10398NISTXML-SV-II-atomic-date-enumeration-2-5 tokoe:invalid" result="pass"/><test-case name="10399NISTSchema-SV-II-atomic-date-enumeration-3 tokoe:valid" result="pass"/><test-case name="10400NISTXML-SV-II-atomic-date-enumeration-3-1 tokoe:invalid" result="pass"/><test-case name="10401NISTXML-SV-II-atomic-date-enumeration-3-2 tokoe:invalid" result="pass"/><test-case name="10402NISTXML-SV-II-atomic-date-enumeration-3-3 tokoe:invalid" result="pass"/><test-case name="10403NISTXML-SV-II-atomic-date-enumeration-3-4 tokoe:invalid" result="pass"/><test-case name="10404NISTXML-SV-II-atomic-date-enumeration-3-5 tokoe:invalid" result="pass"/><test-case name="10405NISTSchema-SV-II-atomic-date-enumeration-4 tokoe:valid" result="pass"/><test-case name="10406NISTXML-SV-II-atomic-date-enumeration-4-1 tokoe:invalid" result="pass"/><test-case name="10407NISTXML-SV-II-atomic-date-enumeration-4-2 tokoe:invalid" result="pass"/><test-case name="10408NISTXML-SV-II-atomic-date-enumeration-4-3 tokoe:invalid" result="pass"/><test-case name="10409NISTXML-SV-II-atomic-date-enumeration-4-4 tokoe:invalid" result="pass"/><test-case name="10410NISTXML-SV-II-atomic-date-enumeration-4-5 tokoe:invalid" result="pass"/><test-case name="10411NISTSchema-SV-II-atomic-date-enumeration-5 tokoe:valid" result="pass"/><test-case name="10412NISTXML-SV-II-atomic-date-enumeration-5-1 tokoe:invalid" result="pass"/><test-case name="10413NISTXML-SV-II-atomic-date-enumeration-5-2 tokoe:invalid" result="pass"/><test-case name="10414NISTXML-SV-II-atomic-date-enumeration-5-3 tokoe:invalid" result="pass"/><test-case name="10415NISTXML-SV-II-atomic-date-enumeration-5-4 tokoe:invalid" result="pass"/><test-case name="10416NISTXML-SV-II-atomic-date-enumeration-5-5 tokoe:invalid" result="pass"/><test-case name="10417NISTSchema-SV-II-atomic-gYearMonth-minExclusive-1 tokoe:valid" result="pass"/><test-case name="10418NISTXML-SV-II-atomic-gYearMonth-minExclusive-1-1 tokoe:invalid" result="pass"/><test-case name="10419NISTSchema-SV-II-atomic-gYearMonth-minExclusive-2 tokoe:valid" result="pass"/><test-case name="10420NISTXML-SV-II-atomic-gYearMonth-minExclusive-2-1 tokoe:invalid" result="pass"/><test-case name="10421NISTXML-SV-II-atomic-gYearMonth-minExclusive-2-2 tokoe:invalid" result="pass"/><test-case name="10422NISTXML-SV-II-atomic-gYearMonth-minExclusive-2-3 tokoe:invalid" result="pass"/><test-case name="10423NISTXML-SV-II-atomic-gYearMonth-minExclusive-2-4 tokoe:invalid" result="pass"/><test-case name="10424NISTXML-SV-II-atomic-gYearMonth-minExclusive-2-5 tokoe:invalid" result="pass"/><test-case name="10425NISTSchema-SV-II-atomic-gYearMonth-minExclusive-3 tokoe:valid" result="pass"/><test-case name="10426NISTXML-SV-II-atomic-gYearMonth-minExclusive-3-1 tokoe:invalid" result="pass"/><test-case name="10427NISTXML-SV-II-atomic-gYearMonth-minExclusive-3-2 tokoe:invalid" result="pass"/><test-case name="10428NISTXML-SV-II-atomic-gYearMonth-minExclusive-3-3 tokoe:invalid" result="pass"/><test-case name="10429NISTXML-SV-II-atomic-gYearMonth-minExclusive-3-4 tokoe:invalid" result="pass"/><test-case name="10430NISTXML-SV-II-atomic-gYearMonth-minExclusive-3-5 tokoe:invalid" result="pass"/><test-case name="10431NISTSchema-SV-II-atomic-gYearMonth-minExclusive-4 tokoe:valid" result="pass"/><test-case name="10432NISTXML-SV-II-atomic-gYearMonth-minExclusive-4-1 tokoe:invalid" result="pass"/><test-case name="10433NISTXML-SV-II-atomic-gYearMonth-minExclusive-4-2 tokoe:invalid" result="pass"/><test-case name="10434NISTXML-SV-II-atomic-gYearMonth-minExclusive-4-3 tokoe:invalid" result="pass"/><test-case name="10435NISTXML-SV-II-atomic-gYearMonth-minExclusive-4-4 tokoe:invalid" result="pass"/><test-case name="10436NISTXML-SV-II-atomic-gYearMonth-minExclusive-4-5 tokoe:invalid" result="pass"/><test-case name="10437NISTSchema-SV-II-atomic-gYearMonth-minExclusive-5 tokoe:valid" result="pass"/><test-case name="10438NISTXML-SV-II-atomic-gYearMonth-minExclusive-5-1 tokoe:invalid" result="pass"/><test-case name="10439NISTXML-SV-II-atomic-gYearMonth-minExclusive-5-2 tokoe:invalid" result="pass"/><test-case name="10440NISTXML-SV-II-atomic-gYearMonth-minExclusive-5-3 tokoe:invalid" result="pass"/><test-case name="10441NISTXML-SV-II-atomic-gYearMonth-minExclusive-5-4 tokoe:invalid" result="pass"/><test-case name="10442NISTXML-SV-II-atomic-gYearMonth-minExclusive-5-5 tokoe:invalid" result="pass"/><test-case name="10443NISTSchema-SV-II-atomic-gYearMonth-maxExclusive-1 tokoe:valid" result="pass"/><test-case name="10444NISTXML-SV-II-atomic-gYearMonth-maxExclusive-1-1 tokoe:invalid" result="pass"/><test-case name="10445NISTXML-SV-II-atomic-gYearMonth-maxExclusive-1-2 tokoe:invalid" result="pass"/><test-case name="10446NISTXML-SV-II-atomic-gYearMonth-maxExclusive-1-3 tokoe:invalid" result="pass"/><test-case name="10447NISTXML-SV-II-atomic-gYearMonth-maxExclusive-1-4 tokoe:invalid" result="pass"/><test-case name="10448NISTXML-SV-II-atomic-gYearMonth-maxExclusive-1-5 tokoe:invalid" result="pass"/><test-case name="10449NISTSchema-SV-II-atomic-gYearMonth-maxExclusive-2 tokoe:valid" result="pass"/><test-case name="10450NISTXML-SV-II-atomic-gYearMonth-maxExclusive-2-1 tokoe:invalid" result="pass"/><test-case name="10451NISTXML-SV-II-atomic-gYearMonth-maxExclusive-2-2 tokoe:invalid" result="pass"/><test-case name="10452NISTXML-SV-II-atomic-gYearMonth-maxExclusive-2-3 tokoe:invalid" result="pass"/><test-case name="10453NISTXML-SV-II-atomic-gYearMonth-maxExclusive-2-4 tokoe:invalid" result="pass"/><test-case name="10454NISTXML-SV-II-atomic-gYearMonth-maxExclusive-2-5 tokoe:invalid" result="pass"/><test-case name="10455NISTSchema-SV-II-atomic-gYearMonth-maxExclusive-3 tokoe:valid" result="pass"/><test-case name="10456NISTXML-SV-II-atomic-gYearMonth-maxExclusive-3-1 tokoe:invalid" result="pass"/><test-case name="10457NISTXML-SV-II-atomic-gYearMonth-maxExclusive-3-2 tokoe:invalid" result="pass"/><test-case name="10458NISTXML-SV-II-atomic-gYearMonth-maxExclusive-3-3 tokoe:invalid" result="pass"/><test-case name="10459NISTXML-SV-II-atomic-gYearMonth-maxExclusive-3-4 tokoe:invalid" result="pass"/><test-case name="10460NISTXML-SV-II-atomic-gYearMonth-maxExclusive-3-5 tokoe:invalid" result="pass"/><test-case name="10461NISTSchema-SV-II-atomic-gYearMonth-maxExclusive-4 tokoe:valid" result="pass"/><test-case name="10462NISTXML-SV-II-atomic-gYearMonth-maxExclusive-4-1 tokoe:invalid" result="pass"/><test-case name="10463NISTXML-SV-II-atomic-gYearMonth-maxExclusive-4-2 tokoe:invalid" result="pass"/><test-case name="10464NISTXML-SV-II-atomic-gYearMonth-maxExclusive-4-3 tokoe:invalid" result="pass"/><test-case name="10465NISTXML-SV-II-atomic-gYearMonth-maxExclusive-4-4 tokoe:invalid" result="pass"/><test-case name="10466NISTXML-SV-II-atomic-gYearMonth-maxExclusive-4-5 tokoe:invalid" result="pass"/><test-case name="10467NISTSchema-SV-II-atomic-gYearMonth-maxExclusive-5 tokoe:valid" result="pass"/><test-case name="10468NISTXML-SV-II-atomic-gYearMonth-maxExclusive-5-1 tokoe:invalid" result="pass"/><test-case name="10469NISTSchema-SV-II-atomic-gYearMonth-pattern-1 tokoe:valid" result="pass"/><test-case name="10470NISTXML-SV-II-atomic-gYearMonth-pattern-1-1 tokoe:invalid" result="pass"/><test-case name="10471NISTXML-SV-II-atomic-gYearMonth-pattern-1-2 tokoe:invalid" result="pass"/><test-case name="10472NISTXML-SV-II-atomic-gYearMonth-pattern-1-3 tokoe:invalid" result="pass"/><test-case name="10473NISTXML-SV-II-atomic-gYearMonth-pattern-1-4 tokoe:invalid" result="pass"/><test-case name="10474NISTXML-SV-II-atomic-gYearMonth-pattern-1-5 tokoe:invalid" result="pass"/><test-case name="10475NISTSchema-SV-II-atomic-gYearMonth-pattern-2 tokoe:valid" result="pass"/><test-case name="10476NISTXML-SV-II-atomic-gYearMonth-pattern-2-1 tokoe:invalid" result="pass"/><test-case name="10477NISTXML-SV-II-atomic-gYearMonth-pattern-2-2 tokoe:invalid" result="pass"/><test-case name="10478NISTXML-SV-II-atomic-gYearMonth-pattern-2-3 tokoe:invalid" result="pass"/><test-case name="10479NISTXML-SV-II-atomic-gYearMonth-pattern-2-4 tokoe:invalid" result="pass"/><test-case name="10480NISTXML-SV-II-atomic-gYearMonth-pattern-2-5 tokoe:invalid" result="pass"/><test-case name="10481NISTSchema-SV-II-atomic-gYearMonth-pattern-3 tokoe:valid" result="pass"/><test-case name="10482NISTXML-SV-II-atomic-gYearMonth-pattern-3-1 tokoe:invalid" result="pass"/><test-case name="10483NISTXML-SV-II-atomic-gYearMonth-pattern-3-2 tokoe:invalid" result="pass"/><test-case name="10484NISTXML-SV-II-atomic-gYearMonth-pattern-3-3 tokoe:invalid" result="pass"/><test-case name="10485NISTXML-SV-II-atomic-gYearMonth-pattern-3-4 tokoe:invalid" result="pass"/><test-case name="10486NISTXML-SV-II-atomic-gYearMonth-pattern-3-5 tokoe:invalid" result="pass"/><test-case name="10487NISTSchema-SV-II-atomic-gYearMonth-pattern-4 tokoe:valid" result="pass"/><test-case name="10488NISTXML-SV-II-atomic-gYearMonth-pattern-4-1 tokoe:invalid" result="pass"/><test-case name="10489NISTXML-SV-II-atomic-gYearMonth-pattern-4-2 tokoe:invalid" result="pass"/><test-case name="10490NISTXML-SV-II-atomic-gYearMonth-pattern-4-3 tokoe:invalid" result="pass"/><test-case name="10491NISTXML-SV-II-atomic-gYearMonth-pattern-4-4 tokoe:invalid" result="pass"/><test-case name="10492NISTXML-SV-II-atomic-gYearMonth-pattern-4-5 tokoe:invalid" result="pass"/><test-case name="10493NISTSchema-SV-II-atomic-gYearMonth-pattern-5 tokoe:valid" result="pass"/><test-case name="10494NISTXML-SV-II-atomic-gYearMonth-pattern-5-1 tokoe:invalid" result="pass"/><test-case name="10495NISTXML-SV-II-atomic-gYearMonth-pattern-5-2 tokoe:invalid" result="pass"/><test-case name="10496NISTXML-SV-II-atomic-gYearMonth-pattern-5-3 tokoe:invalid" result="pass"/><test-case name="10497NISTXML-SV-II-atomic-gYearMonth-pattern-5-4 tokoe:invalid" result="pass"/><test-case name="10498NISTXML-SV-II-atomic-gYearMonth-pattern-5-5 tokoe:invalid" result="pass"/><test-case name="10499NISTSchema-SV-II-atomic-gYearMonth-enumeration-1 tokoe:valid" result="pass"/><test-case name="10500NISTXML-SV-II-atomic-gYearMonth-enumeration-1-1 tokoe:invalid" result="pass"/><test-case name="10501NISTXML-SV-II-atomic-gYearMonth-enumeration-1-2 tokoe:invalid" result="pass"/><test-case name="10502NISTXML-SV-II-atomic-gYearMonth-enumeration-1-3 tokoe:invalid" result="pass"/><test-case name="10503NISTXML-SV-II-atomic-gYearMonth-enumeration-1-4 tokoe:invalid" result="pass"/><test-case name="10504NISTXML-SV-II-atomic-gYearMonth-enumeration-1-5 tokoe:invalid" result="pass"/><test-case name="10505NISTSchema-SV-II-atomic-gYearMonth-enumeration-2 tokoe:valid" result="pass"/><test-case name="10506NISTXML-SV-II-atomic-gYearMonth-enumeration-2-1 tokoe:invalid" result="pass"/><test-case name="10507NISTXML-SV-II-atomic-gYearMonth-enumeration-2-2 tokoe:invalid" result="pass"/><test-case name="10508NISTXML-SV-II-atomic-gYearMonth-enumeration-2-3 tokoe:invalid" result="pass"/><test-case name="10509NISTXML-SV-II-atomic-gYearMonth-enumeration-2-4 tokoe:invalid" result="pass"/><test-case name="10510NISTXML-SV-II-atomic-gYearMonth-enumeration-2-5 tokoe:invalid" result="pass"/><test-case name="10511NISTSchema-SV-II-atomic-gYearMonth-enumeration-3 tokoe:valid" result="pass"/><test-case name="10512NISTXML-SV-II-atomic-gYearMonth-enumeration-3-1 tokoe:invalid" result="pass"/><test-case name="10513NISTXML-SV-II-atomic-gYearMonth-enumeration-3-2 tokoe:invalid" result="pass"/><test-case name="10514NISTXML-SV-II-atomic-gYearMonth-enumeration-3-3 tokoe:invalid" result="pass"/><test-case name="10515NISTXML-SV-II-atomic-gYearMonth-enumeration-3-4 tokoe:invalid" result="pass"/><test-case name="10516NISTXML-SV-II-atomic-gYearMonth-enumeration-3-5 tokoe:invalid" result="pass"/><test-case name="10517NISTSchema-SV-II-atomic-gYearMonth-enumeration-4 tokoe:valid" result="pass"/><test-case name="10518NISTXML-SV-II-atomic-gYearMonth-enumeration-4-1 tokoe:invalid" result="pass"/><test-case name="10519NISTXML-SV-II-atomic-gYearMonth-enumeration-4-2 tokoe:invalid" result="pass"/><test-case name="10520NISTXML-SV-II-atomic-gYearMonth-enumeration-4-3 tokoe:invalid" result="pass"/><test-case name="10521NISTXML-SV-II-atomic-gYearMonth-enumeration-4-4 tokoe:invalid" result="pass"/><test-case name="10522NISTXML-SV-II-atomic-gYearMonth-enumeration-4-5 tokoe:invalid" result="pass"/><test-case name="10523NISTSchema-SV-II-atomic-gYearMonth-enumeration-5 tokoe:valid" result="pass"/><test-case name="10524NISTXML-SV-II-atomic-gYearMonth-enumeration-5-1 tokoe:invalid" result="pass"/><test-case name="10525NISTXML-SV-II-atomic-gYearMonth-enumeration-5-2 tokoe:invalid" result="pass"/><test-case name="10526NISTXML-SV-II-atomic-gYearMonth-enumeration-5-3 tokoe:invalid" result="pass"/><test-case name="10527NISTXML-SV-II-atomic-gYearMonth-enumeration-5-4 tokoe:invalid" result="pass"/><test-case name="10528NISTXML-SV-II-atomic-gYearMonth-enumeration-5-5 tokoe:invalid" result="pass"/><test-case name="10529NISTSchema-SV-II-atomic-gYear-minExclusive-1 tokoe:valid" result="pass"/><test-case name="10530NISTXML-SV-II-atomic-gYear-minExclusive-1-1 tokoe:invalid" result="pass"/><test-case name="10531NISTSchema-SV-II-atomic-gYear-minExclusive-2 tokoe:valid" result="pass"/><test-case name="10532NISTXML-SV-II-atomic-gYear-minExclusive-2-1 tokoe:invalid" result="pass"/><test-case name="10533NISTXML-SV-II-atomic-gYear-minExclusive-2-2 tokoe:invalid" result="pass"/><test-case name="10534NISTXML-SV-II-atomic-gYear-minExclusive-2-3 tokoe:invalid" result="pass"/><test-case name="10535NISTXML-SV-II-atomic-gYear-minExclusive-2-4 tokoe:invalid" result="pass"/><test-case name="10536NISTXML-SV-II-atomic-gYear-minExclusive-2-5 tokoe:invalid" result="pass"/><test-case name="10537NISTSchema-SV-II-atomic-gYear-minExclusive-3 tokoe:valid" result="pass"/><test-case name="10538NISTXML-SV-II-atomic-gYear-minExclusive-3-1 tokoe:invalid" result="pass"/><test-case name="10539NISTXML-SV-II-atomic-gYear-minExclusive-3-2 tokoe:invalid" result="pass"/><test-case name="10540NISTXML-SV-II-atomic-gYear-minExclusive-3-3 tokoe:invalid" result="pass"/><test-case name="10541NISTXML-SV-II-atomic-gYear-minExclusive-3-4 tokoe:invalid" result="pass"/><test-case name="10542NISTXML-SV-II-atomic-gYear-minExclusive-3-5 tokoe:invalid" result="pass"/><test-case name="10543NISTSchema-SV-II-atomic-gYear-minExclusive-4 tokoe:valid" result="pass"/><test-case name="10544NISTXML-SV-II-atomic-gYear-minExclusive-4-1 tokoe:invalid" result="pass"/><test-case name="10545NISTXML-SV-II-atomic-gYear-minExclusive-4-2 tokoe:invalid" result="pass"/><test-case name="10546NISTXML-SV-II-atomic-gYear-minExclusive-4-3 tokoe:invalid" result="pass"/><test-case name="10547NISTXML-SV-II-atomic-gYear-minExclusive-4-4 tokoe:invalid" result="pass"/><test-case name="10548NISTXML-SV-II-atomic-gYear-minExclusive-4-5 tokoe:invalid" result="pass"/><test-case name="10549NISTSchema-SV-II-atomic-gYear-minExclusive-5 tokoe:valid" result="pass"/><test-case name="10550NISTXML-SV-II-atomic-gYear-minExclusive-5-1 tokoe:invalid" result="pass"/><test-case name="10551NISTXML-SV-II-atomic-gYear-minExclusive-5-2 tokoe:invalid" result="pass"/><test-case name="10552NISTXML-SV-II-atomic-gYear-minExclusive-5-3 tokoe:invalid" result="pass"/><test-case name="10553NISTXML-SV-II-atomic-gYear-minExclusive-5-4 tokoe:invalid" result="pass"/><test-case name="10554NISTXML-SV-II-atomic-gYear-minExclusive-5-5 tokoe:invalid" result="pass"/><test-case name="10555NISTSchema-SV-II-atomic-gYear-maxExclusive-1 tokoe:valid" result="pass"/><test-case name="10556NISTXML-SV-II-atomic-gYear-maxExclusive-1-1 tokoe:invalid" result="pass"/><test-case name="10557NISTXML-SV-II-atomic-gYear-maxExclusive-1-2 tokoe:invalid" result="pass"/><test-case name="10558NISTXML-SV-II-atomic-gYear-maxExclusive-1-3 tokoe:invalid" result="pass"/><test-case name="10559NISTXML-SV-II-atomic-gYear-maxExclusive-1-4 tokoe:invalid" result="pass"/><test-case name="10560NISTXML-SV-II-atomic-gYear-maxExclusive-1-5 tokoe:invalid" result="pass"/><test-case name="10561NISTSchema-SV-II-atomic-gYear-maxExclusive-2 tokoe:valid" result="pass"/><test-case name="10562NISTXML-SV-II-atomic-gYear-maxExclusive-2-1 tokoe:invalid" result="pass"/><test-case name="10563NISTXML-SV-II-atomic-gYear-maxExclusive-2-2 tokoe:invalid" result="pass"/><test-case name="10564NISTXML-SV-II-atomic-gYear-maxExclusive-2-3 tokoe:invalid" result="pass"/><test-case name="10565NISTXML-SV-II-atomic-gYear-maxExclusive-2-4 tokoe:invalid" result="pass"/><test-case name="10566NISTXML-SV-II-atomic-gYear-maxExclusive-2-5 tokoe:invalid" result="pass"/><test-case name="10567NISTSchema-SV-II-atomic-gYear-maxExclusive-3 tokoe:valid" result="pass"/><test-case name="10568NISTXML-SV-II-atomic-gYear-maxExclusive-3-1 tokoe:invalid" result="pass"/><test-case name="10569NISTXML-SV-II-atomic-gYear-maxExclusive-3-2 tokoe:invalid" result="pass"/><test-case name="10570NISTXML-SV-II-atomic-gYear-maxExclusive-3-3 tokoe:invalid" result="pass"/><test-case name="10571NISTXML-SV-II-atomic-gYear-maxExclusive-3-4 tokoe:invalid" result="pass"/><test-case name="10572NISTXML-SV-II-atomic-gYear-maxExclusive-3-5 tokoe:invalid" result="pass"/><test-case name="10573NISTSchema-SV-II-atomic-gYear-maxExclusive-4 tokoe:valid" result="pass"/><test-case name="10574NISTXML-SV-II-atomic-gYear-maxExclusive-4-1 tokoe:invalid" result="pass"/><test-case name="10575NISTXML-SV-II-atomic-gYear-maxExclusive-4-2 tokoe:invalid" result="pass"/><test-case name="10576NISTXML-SV-II-atomic-gYear-maxExclusive-4-3 tokoe:invalid" result="pass"/><test-case name="10577NISTXML-SV-II-atomic-gYear-maxExclusive-4-4 tokoe:invalid" result="pass"/><test-case name="10578NISTXML-SV-II-atomic-gYear-maxExclusive-4-5 tokoe:invalid" result="pass"/><test-case name="10579NISTSchema-SV-II-atomic-gYear-maxExclusive-5 tokoe:valid" result="pass"/><test-case name="10580NISTXML-SV-II-atomic-gYear-maxExclusive-5-1 tokoe:invalid" result="pass"/><test-case name="10581NISTSchema-SV-II-atomic-gYear-pattern-1 tokoe:valid" result="pass"/><test-case name="10582NISTXML-SV-II-atomic-gYear-pattern-1-1 tokoe:invalid" result="pass"/><test-case name="10583NISTXML-SV-II-atomic-gYear-pattern-1-2 tokoe:invalid" result="pass"/><test-case name="10584NISTXML-SV-II-atomic-gYear-pattern-1-3 tokoe:invalid" result="pass"/><test-case name="10585NISTXML-SV-II-atomic-gYear-pattern-1-4 tokoe:invalid" result="pass"/><test-case name="10586NISTXML-SV-II-atomic-gYear-pattern-1-5 tokoe:invalid" result="pass"/><test-case name="10587NISTSchema-SV-II-atomic-gYear-pattern-2 tokoe:valid" result="pass"/><test-case name="10588NISTXML-SV-II-atomic-gYear-pattern-2-1 tokoe:invalid" result="pass"/><test-case name="10589NISTXML-SV-II-atomic-gYear-pattern-2-2 tokoe:invalid" result="pass"/><test-case name="10590NISTXML-SV-II-atomic-gYear-pattern-2-3 tokoe:invalid" result="pass"/><test-case name="10591NISTXML-SV-II-atomic-gYear-pattern-2-4 tokoe:invalid" result="pass"/><test-case name="10592NISTXML-SV-II-atomic-gYear-pattern-2-5 tokoe:invalid" result="pass"/><test-case name="10593NISTSchema-SV-II-atomic-gYear-pattern-3 tokoe:valid" result="pass"/><test-case name="10594NISTXML-SV-II-atomic-gYear-pattern-3-1 tokoe:invalid" result="pass"/><test-case name="10595NISTXML-SV-II-atomic-gYear-pattern-3-2 tokoe:invalid" result="pass"/><test-case name="10596NISTXML-SV-II-atomic-gYear-pattern-3-3 tokoe:invalid" result="pass"/><test-case name="10597NISTXML-SV-II-atomic-gYear-pattern-3-4 tokoe:invalid" result="pass"/><test-case name="10598NISTXML-SV-II-atomic-gYear-pattern-3-5 tokoe:invalid" result="pass"/><test-case name="10599NISTSchema-SV-II-atomic-gYear-pattern-4 tokoe:valid" result="pass"/><test-case name="10600NISTXML-SV-II-atomic-gYear-pattern-4-1 tokoe:invalid" result="pass"/><test-case name="10601NISTXML-SV-II-atomic-gYear-pattern-4-2 tokoe:invalid" result="pass"/><test-case name="10602NISTXML-SV-II-atomic-gYear-pattern-4-3 tokoe:invalid" result="pass"/><test-case name="10603NISTXML-SV-II-atomic-gYear-pattern-4-4 tokoe:invalid" result="pass"/><test-case name="10604NISTXML-SV-II-atomic-gYear-pattern-4-5 tokoe:invalid" result="pass"/><test-case name="10605NISTSchema-SV-II-atomic-gYear-pattern-5 tokoe:valid" result="pass"/><test-case name="10606NISTXML-SV-II-atomic-gYear-pattern-5-1 tokoe:invalid" result="pass"/><test-case name="10607NISTXML-SV-II-atomic-gYear-pattern-5-2 tokoe:invalid" result="pass"/><test-case name="10608NISTXML-SV-II-atomic-gYear-pattern-5-3 tokoe:invalid" result="pass"/><test-case name="10609NISTXML-SV-II-atomic-gYear-pattern-5-4 tokoe:invalid" result="pass"/><test-case name="10610NISTXML-SV-II-atomic-gYear-pattern-5-5 tokoe:invalid" result="pass"/><test-case name="10611NISTSchema-SV-II-atomic-gYear-enumeration-1 tokoe:valid" result="pass"/><test-case name="10612NISTXML-SV-II-atomic-gYear-enumeration-1-1 tokoe:invalid" result="pass"/><test-case name="10613NISTXML-SV-II-atomic-gYear-enumeration-1-2 tokoe:invalid" result="pass"/><test-case name="10614NISTXML-SV-II-atomic-gYear-enumeration-1-3 tokoe:invalid" result="pass"/><test-case name="10615NISTXML-SV-II-atomic-gYear-enumeration-1-4 tokoe:invalid" result="pass"/><test-case name="10616NISTXML-SV-II-atomic-gYear-enumeration-1-5 tokoe:invalid" result="pass"/><test-case name="10617NISTSchema-SV-II-atomic-gYear-enumeration-2 tokoe:valid" result="pass"/><test-case name="10618NISTXML-SV-II-atomic-gYear-enumeration-2-1 tokoe:invalid" result="pass"/><test-case name="10619NISTXML-SV-II-atomic-gYear-enumeration-2-2 tokoe:invalid" result="pass"/><test-case name="10620NISTXML-SV-II-atomic-gYear-enumeration-2-3 tokoe:invalid" result="pass"/><test-case name="10621NISTXML-SV-II-atomic-gYear-enumeration-2-4 tokoe:invalid" result="pass"/><test-case name="10622NISTXML-SV-II-atomic-gYear-enumeration-2-5 tokoe:invalid" result="pass"/><test-case name="10623NISTSchema-SV-II-atomic-gYear-enumeration-3 tokoe:valid" result="pass"/><test-case name="10624NISTXML-SV-II-atomic-gYear-enumeration-3-1 tokoe:invalid" result="pass"/><test-case name="10625NISTXML-SV-II-atomic-gYear-enumeration-3-2 tokoe:invalid" result="pass"/><test-case name="10626NISTXML-SV-II-atomic-gYear-enumeration-3-3 tokoe:invalid" result="pass"/><test-case name="10627NISTXML-SV-II-atomic-gYear-enumeration-3-4 tokoe:invalid" result="pass"/><test-case name="10628NISTXML-SV-II-atomic-gYear-enumeration-3-5 tokoe:invalid" result="pass"/><test-case name="10629NISTSchema-SV-II-atomic-gYear-enumeration-4 tokoe:valid" result="pass"/><test-case name="10630NISTXML-SV-II-atomic-gYear-enumeration-4-1 tokoe:invalid" result="pass"/><test-case name="10631NISTXML-SV-II-atomic-gYear-enumeration-4-2 tokoe:invalid" result="pass"/><test-case name="10632NISTXML-SV-II-atomic-gYear-enumeration-4-3 tokoe:invalid" result="pass"/><test-case name="10633NISTXML-SV-II-atomic-gYear-enumeration-4-4 tokoe:invalid" result="pass"/><test-case name="10634NISTXML-SV-II-atomic-gYear-enumeration-4-5 tokoe:invalid" result="pass"/><test-case name="10635NISTSchema-SV-II-atomic-gYear-enumeration-5 tokoe:valid" result="pass"/><test-case name="10636NISTXML-SV-II-atomic-gYear-enumeration-5-1 tokoe:invalid" result="pass"/><test-case name="10637NISTXML-SV-II-atomic-gYear-enumeration-5-2 tokoe:invalid" result="pass"/><test-case name="10638NISTXML-SV-II-atomic-gYear-enumeration-5-3 tokoe:invalid" result="pass"/><test-case name="10639NISTXML-SV-II-atomic-gYear-enumeration-5-4 tokoe:invalid" result="pass"/><test-case name="10640NISTXML-SV-II-atomic-gYear-enumeration-5-5 tokoe:invalid" result="pass"/><test-case name="10641NISTSchema-SV-II-atomic-gMonthDay-minExclusive-1 tokoe:valid" result="pass"/><test-case name="10642NISTXML-SV-II-atomic-gMonthDay-minExclusive-1-1 tokoe:invalid" result="pass"/><test-case name="10643NISTSchema-SV-II-atomic-gMonthDay-minExclusive-2 tokoe:valid" result="pass"/><test-case name="10644NISTXML-SV-II-atomic-gMonthDay-minExclusive-2-1 tokoe:invalid" result="pass"/><test-case name="10645NISTXML-SV-II-atomic-gMonthDay-minExclusive-2-2 tokoe:invalid" result="pass"/><test-case name="10646NISTXML-SV-II-atomic-gMonthDay-minExclusive-2-3 tokoe:invalid" result="pass"/><test-case name="10647NISTXML-SV-II-atomic-gMonthDay-minExclusive-2-4 tokoe:invalid" result="pass"/><test-case name="10648NISTXML-SV-II-atomic-gMonthDay-minExclusive-2-5 tokoe:invalid" result="pass"/><test-case name="10649NISTSchema-SV-II-atomic-gMonthDay-minExclusive-3 tokoe:valid" result="pass"/><test-case name="10650NISTXML-SV-II-atomic-gMonthDay-minExclusive-3-1 tokoe:invalid" result="pass"/><test-case name="10651NISTXML-SV-II-atomic-gMonthDay-minExclusive-3-2 tokoe:invalid" result="pass"/><test-case name="10652NISTXML-SV-II-atomic-gMonthDay-minExclusive-3-3 tokoe:invalid" result="pass"/><test-case name="10653NISTXML-SV-II-atomic-gMonthDay-minExclusive-3-4 tokoe:invalid" result="pass"/><test-case name="10654NISTXML-SV-II-atomic-gMonthDay-minExclusive-3-5 tokoe:invalid" result="pass"/><test-case name="10655NISTSchema-SV-II-atomic-gMonthDay-minExclusive-4 tokoe:valid" result="pass"/><test-case name="10656NISTXML-SV-II-atomic-gMonthDay-minExclusive-4-1 tokoe:invalid" result="pass"/><test-case name="10657NISTXML-SV-II-atomic-gMonthDay-minExclusive-4-2 tokoe:invalid" result="pass"/><test-case name="10658NISTXML-SV-II-atomic-gMonthDay-minExclusive-4-3 tokoe:invalid" result="pass"/><test-case name="10659NISTXML-SV-II-atomic-gMonthDay-minExclusive-4-4 tokoe:invalid" result="pass"/><test-case name="10660NISTXML-SV-II-atomic-gMonthDay-minExclusive-4-5 tokoe:invalid" result="pass"/><test-case name="10661NISTSchema-SV-II-atomic-gMonthDay-minExclusive-5 tokoe:valid" result="pass"/><test-case name="10662NISTXML-SV-II-atomic-gMonthDay-minExclusive-5-1 tokoe:invalid" result="pass"/><test-case name="10663NISTXML-SV-II-atomic-gMonthDay-minExclusive-5-2 tokoe:invalid" result="pass"/><test-case name="10664NISTXML-SV-II-atomic-gMonthDay-minExclusive-5-3 tokoe:invalid" result="pass"/><test-case name="10665NISTXML-SV-II-atomic-gMonthDay-minExclusive-5-4 tokoe:invalid" result="pass"/><test-case name="10666NISTXML-SV-II-atomic-gMonthDay-minExclusive-5-5 tokoe:invalid" result="pass"/><test-case name="10667NISTSchema-SV-II-atomic-gMonthDay-maxExclusive-1 tokoe:valid" result="pass"/><test-case name="10668NISTXML-SV-II-atomic-gMonthDay-maxExclusive-1-1 tokoe:invalid" result="pass"/><test-case name="10669NISTXML-SV-II-atomic-gMonthDay-maxExclusive-1-2 tokoe:invalid" result="pass"/><test-case name="10670NISTXML-SV-II-atomic-gMonthDay-maxExclusive-1-3 tokoe:invalid" result="pass"/><test-case name="10671NISTXML-SV-II-atomic-gMonthDay-maxExclusive-1-4 tokoe:invalid" result="pass"/><test-case name="10672NISTXML-SV-II-atomic-gMonthDay-maxExclusive-1-5 tokoe:invalid" result="pass"/><test-case name="10673NISTSchema-SV-II-atomic-gMonthDay-maxExclusive-2 tokoe:valid" result="pass"/><test-case name="10674NISTXML-SV-II-atomic-gMonthDay-maxExclusive-2-1 tokoe:invalid" result="pass"/><test-case name="10675NISTXML-SV-II-atomic-gMonthDay-maxExclusive-2-2 tokoe:invalid" result="pass"/><test-case name="10676NISTXML-SV-II-atomic-gMonthDay-maxExclusive-2-3 tokoe:invalid" result="pass"/><test-case name="10677NISTXML-SV-II-atomic-gMonthDay-maxExclusive-2-4 tokoe:invalid" result="pass"/><test-case name="10678NISTXML-SV-II-atomic-gMonthDay-maxExclusive-2-5 tokoe:invalid" result="pass"/><test-case name="10679NISTSchema-SV-II-atomic-gMonthDay-maxExclusive-3 tokoe:valid" result="pass"/><test-case name="10680NISTXML-SV-II-atomic-gMonthDay-maxExclusive-3-1 tokoe:invalid" result="pass"/><test-case name="10681NISTXML-SV-II-atomic-gMonthDay-maxExclusive-3-2 tokoe:invalid" result="pass"/><test-case name="10682NISTXML-SV-II-atomic-gMonthDay-maxExclusive-3-3 tokoe:invalid" result="pass"/><test-case name="10683NISTXML-SV-II-atomic-gMonthDay-maxExclusive-3-4 tokoe:invalid" result="pass"/><test-case name="10684NISTXML-SV-II-atomic-gMonthDay-maxExclusive-3-5 tokoe:invalid" result="pass"/><test-case name="10685NISTSchema-SV-II-atomic-gMonthDay-maxExclusive-4 tokoe:valid" result="pass"/><test-case name="10686NISTXML-SV-II-atomic-gMonthDay-maxExclusive-4-1 tokoe:invalid" result="pass"/><test-case name="10687NISTXML-SV-II-atomic-gMonthDay-maxExclusive-4-2 tokoe:invalid" result="pass"/><test-case name="10688NISTXML-SV-II-atomic-gMonthDay-maxExclusive-4-3 tokoe:invalid" result="pass"/><test-case name="10689NISTXML-SV-II-atomic-gMonthDay-maxExclusive-4-4 tokoe:invalid" result="pass"/><test-case name="10690NISTXML-SV-II-atomic-gMonthDay-maxExclusive-4-5 tokoe:invalid" result="pass"/><test-case name="10691NISTSchema-SV-II-atomic-gMonthDay-maxExclusive-5 tokoe:valid" result="pass"/><test-case name="10692NISTXML-SV-II-atomic-gMonthDay-maxExclusive-5-1 tokoe:invalid" result="pass"/><test-case name="10693NISTSchema-SV-II-atomic-gMonthDay-pattern-1 tokoe:valid" result="pass"/><test-case name="10694NISTXML-SV-II-atomic-gMonthDay-pattern-1-1 tokoe:invalid" result="pass"/><test-case name="10695NISTXML-SV-II-atomic-gMonthDay-pattern-1-2 tokoe:invalid" result="pass"/><test-case name="10696NISTXML-SV-II-atomic-gMonthDay-pattern-1-3 tokoe:invalid" result="pass"/><test-case name="10697NISTXML-SV-II-atomic-gMonthDay-pattern-1-4 tokoe:invalid" result="pass"/><test-case name="10698NISTXML-SV-II-atomic-gMonthDay-pattern-1-5 tokoe:invalid" result="pass"/><test-case name="10699NISTSchema-SV-II-atomic-gMonthDay-pattern-2 tokoe:valid" result="pass"/><test-case name="10700NISTXML-SV-II-atomic-gMonthDay-pattern-2-1 tokoe:invalid" result="pass"/><test-case name="10701NISTXML-SV-II-atomic-gMonthDay-pattern-2-2 tokoe:invalid" result="pass"/><test-case name="10702NISTXML-SV-II-atomic-gMonthDay-pattern-2-3 tokoe:invalid" result="pass"/><test-case name="10703NISTXML-SV-II-atomic-gMonthDay-pattern-2-4 tokoe:invalid" result="pass"/><test-case name="10704NISTXML-SV-II-atomic-gMonthDay-pattern-2-5 tokoe:invalid" result="pass"/><test-case name="10705NISTSchema-SV-II-atomic-gMonthDay-pattern-3 tokoe:valid" result="pass"/><test-case name="10706NISTXML-SV-II-atomic-gMonthDay-pattern-3-1 tokoe:invalid" result="pass"/><test-case name="10707NISTXML-SV-II-atomic-gMonthDay-pattern-3-2 tokoe:invalid" result="pass"/><test-case name="10708NISTXML-SV-II-atomic-gMonthDay-pattern-3-3 tokoe:invalid" result="pass"/><test-case name="10709NISTXML-SV-II-atomic-gMonthDay-pattern-3-4 tokoe:invalid" result="pass"/><test-case name="10710NISTXML-SV-II-atomic-gMonthDay-pattern-3-5 tokoe:invalid" result="pass"/><test-case name="10711NISTSchema-SV-II-atomic-gMonthDay-pattern-4 tokoe:valid" result="pass"/><test-case name="10712NISTXML-SV-II-atomic-gMonthDay-pattern-4-1 tokoe:invalid" result="pass"/><test-case name="10713NISTXML-SV-II-atomic-gMonthDay-pattern-4-2 tokoe:invalid" result="pass"/><test-case name="10714NISTXML-SV-II-atomic-gMonthDay-pattern-4-3 tokoe:invalid" result="pass"/><test-case name="10715NISTXML-SV-II-atomic-gMonthDay-pattern-4-4 tokoe:invalid" result="pass"/><test-case name="10716NISTXML-SV-II-atomic-gMonthDay-pattern-4-5 tokoe:invalid" result="pass"/><test-case name="10717NISTSchema-SV-II-atomic-gMonthDay-pattern-5 tokoe:valid" result="pass"/><test-case name="10718NISTXML-SV-II-atomic-gMonthDay-pattern-5-1 tokoe:invalid" result="pass"/><test-case name="10719NISTXML-SV-II-atomic-gMonthDay-pattern-5-2 tokoe:invalid" result="pass"/><test-case name="10720NISTXML-SV-II-atomic-gMonthDay-pattern-5-3 tokoe:invalid" result="pass"/><test-case name="10721NISTXML-SV-II-atomic-gMonthDay-pattern-5-4 tokoe:invalid" result="pass"/><test-case name="10722NISTXML-SV-II-atomic-gMonthDay-pattern-5-5 tokoe:invalid" result="pass"/><test-case name="10723NISTSchema-SV-II-atomic-gMonthDay-enumeration-1 tokoe:valid" result="pass"/><test-case name="10724NISTXML-SV-II-atomic-gMonthDay-enumeration-1-1 tokoe:invalid" result="pass"/><test-case name="10725NISTXML-SV-II-atomic-gMonthDay-enumeration-1-2 tokoe:invalid" result="pass"/><test-case name="10726NISTXML-SV-II-atomic-gMonthDay-enumeration-1-3 tokoe:invalid" result="pass"/><test-case name="10727NISTXML-SV-II-atomic-gMonthDay-enumeration-1-4 tokoe:invalid" result="pass"/><test-case name="10728NISTXML-SV-II-atomic-gMonthDay-enumeration-1-5 tokoe:invalid" result="pass"/><test-case name="10729NISTSchema-SV-II-atomic-gMonthDay-enumeration-2 tokoe:valid" result="pass"/><test-case name="10730NISTXML-SV-II-atomic-gMonthDay-enumeration-2-1 tokoe:invalid" result="pass"/><test-case name="10731NISTXML-SV-II-atomic-gMonthDay-enumeration-2-2 tokoe:invalid" result="pass"/><test-case name="10732NISTXML-SV-II-atomic-gMonthDay-enumeration-2-3 tokoe:invalid" result="pass"/><test-case name="10733NISTXML-SV-II-atomic-gMonthDay-enumeration-2-4 tokoe:invalid" result="pass"/><test-case name="10734NISTXML-SV-II-atomic-gMonthDay-enumeration-2-5 tokoe:invalid" result="pass"/><test-case name="10735NISTSchema-SV-II-atomic-gMonthDay-enumeration-3 tokoe:valid" result="pass"/><test-case name="10736NISTXML-SV-II-atomic-gMonthDay-enumeration-3-1 tokoe:invalid" result="pass"/><test-case name="10737NISTXML-SV-II-atomic-gMonthDay-enumeration-3-2 tokoe:invalid" result="pass"/><test-case name="10738NISTXML-SV-II-atomic-gMonthDay-enumeration-3-3 tokoe:invalid" result="pass"/><test-case name="10739NISTXML-SV-II-atomic-gMonthDay-enumeration-3-4 tokoe:invalid" result="pass"/><test-case name="10740NISTXML-SV-II-atomic-gMonthDay-enumeration-3-5 tokoe:invalid" result="pass"/><test-case name="10741NISTSchema-SV-II-atomic-gMonthDay-enumeration-4 tokoe:valid" result="pass"/><test-case name="10742NISTXML-SV-II-atomic-gMonthDay-enumeration-4-1 tokoe:invalid" result="pass"/><test-case name="10743NISTXML-SV-II-atomic-gMonthDay-enumeration-4-2 tokoe:invalid" result="pass"/><test-case name="10744NISTXML-SV-II-atomic-gMonthDay-enumeration-4-3 tokoe:invalid" result="pass"/><test-case name="10745NISTXML-SV-II-atomic-gMonthDay-enumeration-4-4 tokoe:invalid" result="pass"/><test-case name="10746NISTXML-SV-II-atomic-gMonthDay-enumeration-4-5 tokoe:invalid" result="pass"/><test-case name="10747NISTSchema-SV-II-atomic-gMonthDay-enumeration-5 tokoe:valid" result="pass"/><test-case name="10748NISTXML-SV-II-atomic-gMonthDay-enumeration-5-1 tokoe:invalid" result="pass"/><test-case name="10749NISTXML-SV-II-atomic-gMonthDay-enumeration-5-2 tokoe:invalid" result="pass"/><test-case name="10750NISTXML-SV-II-atomic-gMonthDay-enumeration-5-3 tokoe:invalid" result="pass"/><test-case name="10751NISTXML-SV-II-atomic-gMonthDay-enumeration-5-4 tokoe:invalid" result="pass"/><test-case name="10752NISTXML-SV-II-atomic-gMonthDay-enumeration-5-5 tokoe:invalid" result="pass"/><test-case name="10753NISTSchema-SV-II-atomic-gDay-minExclusive-1 tokoe:valid" result="pass"/><test-case name="10754NISTXML-SV-II-atomic-gDay-minExclusive-1-1 tokoe:invalid" result="pass"/><test-case name="10755NISTSchema-SV-II-atomic-gDay-minExclusive-2 tokoe:valid" result="pass"/><test-case name="10756NISTXML-SV-II-atomic-gDay-minExclusive-2-1 tokoe:invalid" result="pass"/><test-case name="10757NISTXML-SV-II-atomic-gDay-minExclusive-2-2 tokoe:invalid" result="pass"/><test-case name="10758NISTXML-SV-II-atomic-gDay-minExclusive-2-3 tokoe:invalid" result="pass"/><test-case name="10759NISTXML-SV-II-atomic-gDay-minExclusive-2-4 tokoe:invalid" result="pass"/><test-case name="10760NISTXML-SV-II-atomic-gDay-minExclusive-2-5 tokoe:invalid" result="pass"/><test-case name="10761NISTSchema-SV-II-atomic-gDay-minExclusive-3 tokoe:valid" result="pass"/><test-case name="10762NISTXML-SV-II-atomic-gDay-minExclusive-3-1 tokoe:invalid" result="pass"/><test-case name="10763NISTXML-SV-II-atomic-gDay-minExclusive-3-2 tokoe:invalid" result="pass"/><test-case name="10764NISTXML-SV-II-atomic-gDay-minExclusive-3-3 tokoe:invalid" result="pass"/><test-case name="10765NISTXML-SV-II-atomic-gDay-minExclusive-3-4 tokoe:invalid" result="pass"/><test-case name="10766NISTXML-SV-II-atomic-gDay-minExclusive-3-5 tokoe:invalid" result="pass"/><test-case name="10767NISTSchema-SV-II-atomic-gDay-minExclusive-4 tokoe:valid" result="pass"/><test-case name="10768NISTXML-SV-II-atomic-gDay-minExclusive-4-1 tokoe:invalid" result="pass"/><test-case name="10769NISTXML-SV-II-atomic-gDay-minExclusive-4-2 tokoe:invalid" result="pass"/><test-case name="10770NISTXML-SV-II-atomic-gDay-minExclusive-4-3 tokoe:invalid" result="pass"/><test-case name="10771NISTXML-SV-II-atomic-gDay-minExclusive-4-4 tokoe:invalid" result="pass"/><test-case name="10772NISTXML-SV-II-atomic-gDay-minExclusive-4-5 tokoe:invalid" result="pass"/><test-case name="10773NISTSchema-SV-II-atomic-gDay-minExclusive-5 tokoe:valid" result="pass"/><test-case name="10774NISTXML-SV-II-atomic-gDay-minExclusive-5-1 tokoe:invalid" result="pass"/><test-case name="10775NISTXML-SV-II-atomic-gDay-minExclusive-5-2 tokoe:invalid" result="pass"/><test-case name="10776NISTXML-SV-II-atomic-gDay-minExclusive-5-3 tokoe:invalid" result="pass"/><test-case name="10777NISTXML-SV-II-atomic-gDay-minExclusive-5-4 tokoe:invalid" result="pass"/><test-case name="10778NISTXML-SV-II-atomic-gDay-minExclusive-5-5 tokoe:invalid" result="pass"/><test-case name="10779NISTSchema-SV-II-atomic-gDay-maxExclusive-1 tokoe:valid" result="pass"/><test-case name="10780NISTXML-SV-II-atomic-gDay-maxExclusive-1-1 tokoe:invalid" result="pass"/><test-case name="10781NISTXML-SV-II-atomic-gDay-maxExclusive-1-2 tokoe:invalid" result="pass"/><test-case name="10782NISTXML-SV-II-atomic-gDay-maxExclusive-1-3 tokoe:invalid" result="pass"/><test-case name="10783NISTXML-SV-II-atomic-gDay-maxExclusive-1-4 tokoe:invalid" result="pass"/><test-case name="10784NISTXML-SV-II-atomic-gDay-maxExclusive-1-5 tokoe:invalid" result="pass"/><test-case name="10785NISTSchema-SV-II-atomic-gDay-maxExclusive-2 tokoe:valid" result="pass"/><test-case name="10786NISTXML-SV-II-atomic-gDay-maxExclusive-2-1 tokoe:invalid" result="pass"/><test-case name="10787NISTXML-SV-II-atomic-gDay-maxExclusive-2-2 tokoe:invalid" result="pass"/><test-case name="10788NISTXML-SV-II-atomic-gDay-maxExclusive-2-3 tokoe:invalid" result="pass"/><test-case name="10789NISTXML-SV-II-atomic-gDay-maxExclusive-2-4 tokoe:invalid" result="pass"/><test-case name="10790NISTXML-SV-II-atomic-gDay-maxExclusive-2-5 tokoe:invalid" result="pass"/><test-case name="10791NISTSchema-SV-II-atomic-gDay-maxExclusive-3 tokoe:valid" result="pass"/><test-case name="10792NISTXML-SV-II-atomic-gDay-maxExclusive-3-1 tokoe:invalid" result="pass"/><test-case name="10793NISTXML-SV-II-atomic-gDay-maxExclusive-3-2 tokoe:invalid" result="pass"/><test-case name="10794NISTXML-SV-II-atomic-gDay-maxExclusive-3-3 tokoe:invalid" result="pass"/><test-case name="10795NISTXML-SV-II-atomic-gDay-maxExclusive-3-4 tokoe:invalid" result="pass"/><test-case name="10796NISTXML-SV-II-atomic-gDay-maxExclusive-3-5 tokoe:invalid" result="pass"/><test-case name="10797NISTSchema-SV-II-atomic-gDay-maxExclusive-4 tokoe:valid" result="pass"/><test-case name="10798NISTXML-SV-II-atomic-gDay-maxExclusive-4-1 tokoe:invalid" result="pass"/><test-case name="10799NISTXML-SV-II-atomic-gDay-maxExclusive-4-2 tokoe:invalid" result="pass"/><test-case name="10800NISTXML-SV-II-atomic-gDay-maxExclusive-4-3 tokoe:invalid" result="pass"/><test-case name="10801NISTXML-SV-II-atomic-gDay-maxExclusive-4-4 tokoe:invalid" result="pass"/><test-case name="10802NISTXML-SV-II-atomic-gDay-maxExclusive-4-5 tokoe:invalid" result="pass"/><test-case name="10803NISTSchema-SV-II-atomic-gDay-maxExclusive-5 tokoe:valid" result="pass"/><test-case name="10804NISTXML-SV-II-atomic-gDay-maxExclusive-5-1 tokoe:invalid" result="pass"/><test-case name="10805NISTSchema-SV-II-atomic-gDay-pattern-1 tokoe:valid" result="pass"/><test-case name="10806NISTXML-SV-II-atomic-gDay-pattern-1-1 tokoe:invalid" result="pass"/><test-case name="10807NISTXML-SV-II-atomic-gDay-pattern-1-2 tokoe:invalid" result="pass"/><test-case name="10808NISTXML-SV-II-atomic-gDay-pattern-1-3 tokoe:invalid" result="pass"/><test-case name="10809NISTXML-SV-II-atomic-gDay-pattern-1-4 tokoe:invalid" result="pass"/><test-case name="10810NISTXML-SV-II-atomic-gDay-pattern-1-5 tokoe:invalid" result="pass"/><test-case name="10811NISTSchema-SV-II-atomic-gDay-pattern-2 tokoe:valid" result="pass"/><test-case name="10812NISTXML-SV-II-atomic-gDay-pattern-2-1 tokoe:invalid" result="pass"/><test-case name="10813NISTXML-SV-II-atomic-gDay-pattern-2-2 tokoe:invalid" result="pass"/><test-case name="10814NISTXML-SV-II-atomic-gDay-pattern-2-3 tokoe:invalid" result="pass"/><test-case name="10815NISTXML-SV-II-atomic-gDay-pattern-2-4 tokoe:invalid" result="pass"/><test-case name="10816NISTXML-SV-II-atomic-gDay-pattern-2-5 tokoe:invalid" result="pass"/><test-case name="10817NISTSchema-SV-II-atomic-gDay-pattern-3 tokoe:valid" result="pass"/><test-case name="10818NISTXML-SV-II-atomic-gDay-pattern-3-1 tokoe:invalid" result="pass"/><test-case name="10819NISTXML-SV-II-atomic-gDay-pattern-3-2 tokoe:invalid" result="pass"/><test-case name="10820NISTXML-SV-II-atomic-gDay-pattern-3-3 tokoe:invalid" result="pass"/><test-case name="10821NISTXML-SV-II-atomic-gDay-pattern-3-4 tokoe:invalid" result="pass"/><test-case name="10822NISTXML-SV-II-atomic-gDay-pattern-3-5 tokoe:invalid" result="pass"/><test-case name="10823NISTSchema-SV-II-atomic-gDay-pattern-4 tokoe:valid" result="pass"/><test-case name="10824NISTXML-SV-II-atomic-gDay-pattern-4-1 tokoe:invalid" result="pass"/><test-case name="10825NISTXML-SV-II-atomic-gDay-pattern-4-2 tokoe:invalid" result="pass"/><test-case name="10826NISTXML-SV-II-atomic-gDay-pattern-4-3 tokoe:invalid" result="pass"/><test-case name="10827NISTXML-SV-II-atomic-gDay-pattern-4-4 tokoe:invalid" result="pass"/><test-case name="10828NISTXML-SV-II-atomic-gDay-pattern-4-5 tokoe:invalid" result="pass"/><test-case name="10829NISTSchema-SV-II-atomic-gDay-pattern-5 tokoe:valid" result="pass"/><test-case name="10830NISTXML-SV-II-atomic-gDay-pattern-5-1 tokoe:invalid" result="pass"/><test-case name="10831NISTXML-SV-II-atomic-gDay-pattern-5-2 tokoe:invalid" result="pass"/><test-case name="10832NISTXML-SV-II-atomic-gDay-pattern-5-3 tokoe:invalid" result="pass"/><test-case name="10833NISTXML-SV-II-atomic-gDay-pattern-5-4 tokoe:invalid" result="pass"/><test-case name="10834NISTXML-SV-II-atomic-gDay-pattern-5-5 tokoe:invalid" result="pass"/><test-case name="10835NISTSchema-SV-II-atomic-gDay-enumeration-1 tokoe:valid" result="pass"/><test-case name="10836NISTXML-SV-II-atomic-gDay-enumeration-1-1 tokoe:invalid" result="pass"/><test-case name="10837NISTXML-SV-II-atomic-gDay-enumeration-1-2 tokoe:invalid" result="pass"/><test-case name="10838NISTXML-SV-II-atomic-gDay-enumeration-1-3 tokoe:invalid" result="pass"/><test-case name="10839NISTXML-SV-II-atomic-gDay-enumeration-1-4 tokoe:invalid" result="pass"/><test-case name="10840NISTXML-SV-II-atomic-gDay-enumeration-1-5 tokoe:invalid" result="pass"/><test-case name="10841NISTSchema-SV-II-atomic-gDay-enumeration-2 tokoe:valid" result="pass"/><test-case name="10842NISTXML-SV-II-atomic-gDay-enumeration-2-1 tokoe:invalid" result="pass"/><test-case name="10843NISTXML-SV-II-atomic-gDay-enumeration-2-2 tokoe:invalid" result="pass"/><test-case name="10844NISTXML-SV-II-atomic-gDay-enumeration-2-3 tokoe:invalid" result="pass"/><test-case name="10845NISTXML-SV-II-atomic-gDay-enumeration-2-4 tokoe:invalid" result="pass"/><test-case name="10846NISTXML-SV-II-atomic-gDay-enumeration-2-5 tokoe:invalid" result="pass"/><test-case name="10847NISTSchema-SV-II-atomic-gDay-enumeration-3 tokoe:valid" result="pass"/><test-case name="10848NISTXML-SV-II-atomic-gDay-enumeration-3-1 tokoe:invalid" result="pass"/><test-case name="10849NISTXML-SV-II-atomic-gDay-enumeration-3-2 tokoe:invalid" result="pass"/><test-case name="10850NISTXML-SV-II-atomic-gDay-enumeration-3-3 tokoe:invalid" result="pass"/><test-case name="10851NISTXML-SV-II-atomic-gDay-enumeration-3-4 tokoe:invalid" result="pass"/><test-case name="10852NISTXML-SV-II-atomic-gDay-enumeration-3-5 tokoe:invalid" result="pass"/><test-case name="10853NISTSchema-SV-II-atomic-gDay-enumeration-4 tokoe:valid" result="pass"/><test-case name="10854NISTXML-SV-II-atomic-gDay-enumeration-4-1 tokoe:invalid" result="pass"/><test-case name="10855NISTXML-SV-II-atomic-gDay-enumeration-4-2 tokoe:invalid" result="pass"/><test-case name="10856NISTXML-SV-II-atomic-gDay-enumeration-4-3 tokoe:invalid" result="pass"/><test-case name="10857NISTXML-SV-II-atomic-gDay-enumeration-4-4 tokoe:invalid" result="pass"/><test-case name="10858NISTXML-SV-II-atomic-gDay-enumeration-4-5 tokoe:invalid" result="pass"/><test-case name="10859NISTSchema-SV-II-atomic-gDay-enumeration-5 tokoe:valid" result="pass"/><test-case name="10860NISTXML-SV-II-atomic-gDay-enumeration-5-1 tokoe:invalid" result="pass"/><test-case name="10861NISTXML-SV-II-atomic-gDay-enumeration-5-2 tokoe:invalid" result="pass"/><test-case name="10862NISTXML-SV-II-atomic-gDay-enumeration-5-3 tokoe:invalid" result="pass"/><test-case name="10863NISTXML-SV-II-atomic-gDay-enumeration-5-4 tokoe:invalid" result="pass"/><test-case name="10864NISTXML-SV-II-atomic-gDay-enumeration-5-5 tokoe:invalid" result="pass"/><test-case name="10865NISTSchema-SV-II-atomic-gMonth-minExclusive-1 tokoe:valid" result="pass"/><test-case name="10866NISTXML-SV-II-atomic-gMonth-minExclusive-1-1 tokoe:invalid" result="pass"/><test-case name="10867NISTSchema-SV-II-atomic-gMonth-minExclusive-2 tokoe:valid" result="pass"/><test-case name="10868NISTXML-SV-II-atomic-gMonth-minExclusive-2-1 tokoe:invalid" result="pass"/><test-case name="10869NISTXML-SV-II-atomic-gMonth-minExclusive-2-2 tokoe:invalid" result="pass"/><test-case name="10870NISTXML-SV-II-atomic-gMonth-minExclusive-2-3 tokoe:invalid" result="pass"/><test-case name="10871NISTXML-SV-II-atomic-gMonth-minExclusive-2-4 tokoe:invalid" result="pass"/><test-case name="10872NISTXML-SV-II-atomic-gMonth-minExclusive-2-5 tokoe:invalid" result="pass"/><test-case name="10873NISTSchema-SV-II-atomic-gMonth-minExclusive-3 tokoe:valid" result="pass"/><test-case name="10874NISTXML-SV-II-atomic-gMonth-minExclusive-3-1 tokoe:invalid" result="pass"/><test-case name="10875NISTSchema-SV-II-atomic-gMonth-minExclusive-4 tokoe:valid" result="pass"/><test-case name="10876NISTXML-SV-II-atomic-gMonth-minExclusive-4-1 tokoe:invalid" result="pass"/><test-case name="10877NISTXML-SV-II-atomic-gMonth-minExclusive-4-2 tokoe:invalid" result="pass"/><test-case name="10878NISTXML-SV-II-atomic-gMonth-minExclusive-4-3 tokoe:invalid" result="pass"/><test-case name="10879NISTXML-SV-II-atomic-gMonth-minExclusive-4-4 tokoe:invalid" result="pass"/><test-case name="10880NISTXML-SV-II-atomic-gMonth-minExclusive-4-5 tokoe:invalid" result="pass"/><test-case name="10881NISTSchema-SV-II-atomic-gMonth-minExclusive-5 tokoe:valid" result="pass"/><test-case name="10882NISTXML-SV-II-atomic-gMonth-minExclusive-5-1 tokoe:invalid" result="pass"/><test-case name="10883NISTXML-SV-II-atomic-gMonth-minExclusive-5-2 tokoe:invalid" result="pass"/><test-case name="10884NISTXML-SV-II-atomic-gMonth-minExclusive-5-3 tokoe:invalid" result="pass"/><test-case name="10885NISTXML-SV-II-atomic-gMonth-minExclusive-5-4 tokoe:invalid" result="pass"/><test-case name="10886NISTXML-SV-II-atomic-gMonth-minExclusive-5-5 tokoe:invalid" result="pass"/><test-case name="10887NISTSchema-SV-II-atomic-gMonth-maxExclusive-1 tokoe:valid" result="pass"/><test-case name="10888NISTXML-SV-II-atomic-gMonth-maxExclusive-1-1 tokoe:invalid" result="pass"/><test-case name="10889NISTXML-SV-II-atomic-gMonth-maxExclusive-1-2 tokoe:invalid" result="pass"/><test-case name="10890NISTXML-SV-II-atomic-gMonth-maxExclusive-1-3 tokoe:invalid" result="pass"/><test-case name="10891NISTXML-SV-II-atomic-gMonth-maxExclusive-1-4 tokoe:invalid" result="pass"/><test-case name="10892NISTXML-SV-II-atomic-gMonth-maxExclusive-1-5 tokoe:invalid" result="pass"/><test-case name="10893NISTSchema-SV-II-atomic-gMonth-maxExclusive-2 tokoe:valid" result="pass"/><test-case name="10894NISTXML-SV-II-atomic-gMonth-maxExclusive-2-1 tokoe:invalid" result="pass"/><test-case name="10895NISTXML-SV-II-atomic-gMonth-maxExclusive-2-2 tokoe:invalid" result="pass"/><test-case name="10896NISTXML-SV-II-atomic-gMonth-maxExclusive-2-3 tokoe:invalid" result="pass"/><test-case name="10897NISTXML-SV-II-atomic-gMonth-maxExclusive-2-4 tokoe:invalid" result="pass"/><test-case name="10898NISTXML-SV-II-atomic-gMonth-maxExclusive-2-5 tokoe:invalid" result="pass"/><test-case name="10899NISTSchema-SV-II-atomic-gMonth-maxExclusive-3 tokoe:valid" result="pass"/><test-case name="10900NISTXML-SV-II-atomic-gMonth-maxExclusive-3-1 tokoe:invalid" result="pass"/><test-case name="10901NISTXML-SV-II-atomic-gMonth-maxExclusive-3-2 tokoe:invalid" result="pass"/><test-case name="10902NISTXML-SV-II-atomic-gMonth-maxExclusive-3-3 tokoe:invalid" result="pass"/><test-case name="10903NISTXML-SV-II-atomic-gMonth-maxExclusive-3-4 tokoe:invalid" result="pass"/><test-case name="10904NISTXML-SV-II-atomic-gMonth-maxExclusive-3-5 tokoe:invalid" result="pass"/><test-case name="10905NISTSchema-SV-II-atomic-gMonth-maxExclusive-4 tokoe:valid" result="pass"/><test-case name="10906NISTXML-SV-II-atomic-gMonth-maxExclusive-4-1 tokoe:invalid" result="pass"/><test-case name="10907NISTXML-SV-II-atomic-gMonth-maxExclusive-4-2 tokoe:invalid" result="pass"/><test-case name="10908NISTXML-SV-II-atomic-gMonth-maxExclusive-4-3 tokoe:invalid" result="pass"/><test-case name="10909NISTXML-SV-II-atomic-gMonth-maxExclusive-4-4 tokoe:invalid" result="pass"/><test-case name="10910NISTXML-SV-II-atomic-gMonth-maxExclusive-4-5 tokoe:invalid" result="pass"/><test-case name="10911NISTSchema-SV-II-atomic-gMonth-maxExclusive-5 tokoe:valid" result="pass"/><test-case name="10912NISTXML-SV-II-atomic-gMonth-maxExclusive-5-1 tokoe:invalid" result="pass"/><test-case name="10913NISTSchema-SV-II-atomic-gMonth-pattern-1 tokoe:valid" result="pass"/><test-case name="10914NISTXML-SV-II-atomic-gMonth-pattern-1-1 tokoe:invalid" result="pass"/><test-case name="10915NISTXML-SV-II-atomic-gMonth-pattern-1-2 tokoe:invalid" result="pass"/><test-case name="10916NISTXML-SV-II-atomic-gMonth-pattern-1-3 tokoe:invalid" result="pass"/><test-case name="10917NISTXML-SV-II-atomic-gMonth-pattern-1-4 tokoe:invalid" result="pass"/><test-case name="10918NISTXML-SV-II-atomic-gMonth-pattern-1-5 tokoe:invalid" result="pass"/><test-case name="10919NISTSchema-SV-II-atomic-gMonth-pattern-2 tokoe:valid" result="pass"/><test-case name="10920NISTXML-SV-II-atomic-gMonth-pattern-2-1 tokoe:invalid" result="pass"/><test-case name="10921NISTXML-SV-II-atomic-gMonth-pattern-2-2 tokoe:invalid" result="pass"/><test-case name="10922NISTXML-SV-II-atomic-gMonth-pattern-2-3 tokoe:invalid" result="pass"/><test-case name="10923NISTXML-SV-II-atomic-gMonth-pattern-2-4 tokoe:invalid" result="pass"/><test-case name="10924NISTXML-SV-II-atomic-gMonth-pattern-2-5 tokoe:invalid" result="pass"/><test-case name="10925NISTSchema-SV-II-atomic-gMonth-pattern-3 tokoe:valid" result="pass"/><test-case name="10926NISTXML-SV-II-atomic-gMonth-pattern-3-1 tokoe:invalid" result="pass"/><test-case name="10927NISTXML-SV-II-atomic-gMonth-pattern-3-2 tokoe:invalid" result="pass"/><test-case name="10928NISTXML-SV-II-atomic-gMonth-pattern-3-3 tokoe:invalid" result="pass"/><test-case name="10929NISTXML-SV-II-atomic-gMonth-pattern-3-4 tokoe:invalid" result="pass"/><test-case name="10930NISTXML-SV-II-atomic-gMonth-pattern-3-5 tokoe:invalid" result="pass"/><test-case name="10931NISTSchema-SV-II-atomic-gMonth-pattern-4 tokoe:valid" result="pass"/><test-case name="10932NISTXML-SV-II-atomic-gMonth-pattern-4-1 tokoe:invalid" result="pass"/><test-case name="10933NISTXML-SV-II-atomic-gMonth-pattern-4-2 tokoe:invalid" result="pass"/><test-case name="10934NISTXML-SV-II-atomic-gMonth-pattern-4-3 tokoe:invalid" result="pass"/><test-case name="10935NISTXML-SV-II-atomic-gMonth-pattern-4-4 tokoe:invalid" result="pass"/><test-case name="10936NISTXML-SV-II-atomic-gMonth-pattern-4-5 tokoe:invalid" result="pass"/><test-case name="10937NISTSchema-SV-II-atomic-gMonth-pattern-5 tokoe:valid" result="pass"/><test-case name="10938NISTXML-SV-II-atomic-gMonth-pattern-5-1 tokoe:invalid" result="pass"/><test-case name="10939NISTXML-SV-II-atomic-gMonth-pattern-5-2 tokoe:invalid" result="pass"/><test-case name="10940NISTXML-SV-II-atomic-gMonth-pattern-5-3 tokoe:invalid" result="pass"/><test-case name="10941NISTXML-SV-II-atomic-gMonth-pattern-5-4 tokoe:invalid" result="pass"/><test-case name="10942NISTXML-SV-II-atomic-gMonth-pattern-5-5 tokoe:invalid" result="pass"/><test-case name="10943NISTSchema-SV-II-atomic-gMonth-enumeration-1 tokoe:valid" result="pass"/><test-case name="10944NISTXML-SV-II-atomic-gMonth-enumeration-1-1 tokoe:invalid" result="pass"/><test-case name="10945NISTXML-SV-II-atomic-gMonth-enumeration-1-2 tokoe:invalid" result="pass"/><test-case name="10946NISTXML-SV-II-atomic-gMonth-enumeration-1-3 tokoe:invalid" result="pass"/><test-case name="10947NISTXML-SV-II-atomic-gMonth-enumeration-1-4 tokoe:invalid" result="pass"/><test-case name="10948NISTXML-SV-II-atomic-gMonth-enumeration-1-5 tokoe:invalid" result="pass"/><test-case name="10949NISTSchema-SV-II-atomic-gMonth-enumeration-2 tokoe:valid" result="pass"/><test-case name="10950NISTXML-SV-II-atomic-gMonth-enumeration-2-1 tokoe:invalid" result="pass"/><test-case name="10951NISTXML-SV-II-atomic-gMonth-enumeration-2-2 tokoe:invalid" result="pass"/><test-case name="10952NISTXML-SV-II-atomic-gMonth-enumeration-2-3 tokoe:invalid" result="pass"/><test-case name="10953NISTXML-SV-II-atomic-gMonth-enumeration-2-4 tokoe:invalid" result="pass"/><test-case name="10954NISTXML-SV-II-atomic-gMonth-enumeration-2-5 tokoe:invalid" result="pass"/><test-case name="10955NISTSchema-SV-II-atomic-gMonth-enumeration-3 tokoe:valid" result="pass"/><test-case name="10956NISTXML-SV-II-atomic-gMonth-enumeration-3-1 tokoe:invalid" result="pass"/><test-case name="10957NISTXML-SV-II-atomic-gMonth-enumeration-3-2 tokoe:invalid" result="pass"/><test-case name="10958NISTXML-SV-II-atomic-gMonth-enumeration-3-3 tokoe:invalid" result="pass"/><test-case name="10959NISTXML-SV-II-atomic-gMonth-enumeration-3-4 tokoe:invalid" result="pass"/><test-case name="10960NISTXML-SV-II-atomic-gMonth-enumeration-3-5 tokoe:invalid" result="pass"/><test-case name="10961NISTSchema-SV-II-atomic-gMonth-enumeration-4 tokoe:valid" result="pass"/><test-case name="10962NISTXML-SV-II-atomic-gMonth-enumeration-4-1 tokoe:invalid" result="pass"/><test-case name="10963NISTXML-SV-II-atomic-gMonth-enumeration-4-2 tokoe:invalid" result="pass"/><test-case name="10964NISTXML-SV-II-atomic-gMonth-enumeration-4-3 tokoe:invalid" result="pass"/><test-case name="10965NISTXML-SV-II-atomic-gMonth-enumeration-4-4 tokoe:invalid" result="pass"/><test-case name="10966NISTXML-SV-II-atomic-gMonth-enumeration-4-5 tokoe:invalid" result="pass"/><test-case name="10967NISTSchema-SV-II-atomic-gMonth-enumeration-5 tokoe:valid" result="pass"/><test-case name="10968NISTXML-SV-II-atomic-gMonth-enumeration-5-1 tokoe:invalid" result="pass"/><test-case name="10969NISTXML-SV-II-atomic-gMonth-enumeration-5-2 tokoe:invalid" result="pass"/><test-case name="10970NISTXML-SV-II-atomic-gMonth-enumeration-5-3 tokoe:invalid" result="pass"/><test-case name="10971NISTXML-SV-II-atomic-gMonth-enumeration-5-4 tokoe:invalid" result="pass"/><test-case name="10972NISTXML-SV-II-atomic-gMonth-enumeration-5-5 tokoe:invalid" result="pass"/><test-case name="10973NISTSchema-SV-II-atomic-string-minLength-2 tokoe:valid" result="pass"/><test-case name="10974NISTXML-SV-II-atomic-string-minLength-2-1 tokoe:invalid" result="pass"/><test-case name="10975NISTXML-SV-II-atomic-string-minLength-2-2 tokoe:invalid" result="pass"/><test-case name="10976NISTXML-SV-II-atomic-string-minLength-2-3 tokoe:invalid" result="pass"/><test-case name="10977NISTXML-SV-II-atomic-string-minLength-2-4 tokoe:invalid" result="pass"/><test-case name="10978NISTXML-SV-II-atomic-string-minLength-2-5 tokoe:invalid" result="pass"/><test-case name="10979NISTSchema-SV-II-atomic-string-minLength-3 tokoe:valid" result="pass"/><test-case name="10980NISTXML-SV-II-atomic-string-minLength-3-1 tokoe:invalid" result="pass"/><test-case name="10981NISTXML-SV-II-atomic-string-minLength-3-2 tokoe:invalid" result="pass"/><test-case name="10982NISTXML-SV-II-atomic-string-minLength-3-3 tokoe:invalid" result="pass"/><test-case name="10983NISTXML-SV-II-atomic-string-minLength-3-4 tokoe:invalid" result="pass"/><test-case name="10984NISTXML-SV-II-atomic-string-minLength-3-5 tokoe:invalid" result="pass"/><test-case name="10985NISTSchema-SV-II-atomic-string-minLength-4 tokoe:valid" result="pass"/><test-case name="10986NISTXML-SV-II-atomic-string-minLength-4-1 tokoe:invalid" result="pass"/><test-case name="10987NISTXML-SV-II-atomic-string-minLength-4-2 tokoe:invalid" result="pass"/><test-case name="10988NISTXML-SV-II-atomic-string-minLength-4-3 tokoe:invalid" result="pass"/><test-case name="10989NISTXML-SV-II-atomic-string-minLength-4-4 tokoe:invalid" result="pass"/><test-case name="10990NISTXML-SV-II-atomic-string-minLength-4-5 tokoe:invalid" result="pass"/><test-case name="10991NISTSchema-SV-II-atomic-string-minLength-5 tokoe:valid" result="pass"/><test-case name="10992NISTXML-SV-II-atomic-string-minLength-5-1 tokoe:invalid" result="pass"/><test-case name="10993NISTXML-SV-II-atomic-string-minLength-5-2 tokoe:invalid" result="pass"/><test-case name="10994NISTXML-SV-II-atomic-string-minLength-5-3 tokoe:invalid" result="pass"/><test-case name="10995NISTXML-SV-II-atomic-string-minLength-5-4 tokoe:invalid" result="pass"/><test-case name="10996NISTXML-SV-II-atomic-string-minLength-5-5 tokoe:invalid" result="pass"/><test-case name="10997NISTSchema-SV-II-atomic-string-minLength-6 tokoe:valid" result="pass"/><test-case name="10998NISTXML-SV-II-atomic-string-minLength-6-1 tokoe:invalid" result="pass"/><test-case name="10999NISTXML-SV-II-atomic-string-minLength-6-2 tokoe:invalid" result="pass"/><test-case name="11000NISTXML-SV-II-atomic-string-minLength-6-3 tokoe:invalid" result="pass"/><test-case name="11001NISTXML-SV-II-atomic-string-minLength-6-4 tokoe:invalid" result="pass"/><test-case name="11002NISTXML-SV-II-atomic-string-minLength-6-5 tokoe:invalid" result="pass"/><test-case name="11003NISTSchema-SV-II-atomic-normalizedString-minLength-2 tokoe:valid" result="pass"/><test-case name="11004NISTXML-SV-II-atomic-normalizedString-minLength-2-1 tokoe:invalid" result="pass"/><test-case name="11005NISTXML-SV-II-atomic-normalizedString-minLength-2-2 tokoe:invalid" result="pass"/><test-case name="11006NISTXML-SV-II-atomic-normalizedString-minLength-2-3 tokoe:invalid" result="pass"/><test-case name="11007NISTXML-SV-II-atomic-normalizedString-minLength-2-4 tokoe:invalid" result="pass"/><test-case name="11008NISTXML-SV-II-atomic-normalizedString-minLength-2-5 tokoe:invalid" result="pass"/><test-case name="11009NISTSchema-SV-II-atomic-normalizedString-minLength-3 tokoe:valid" result="pass"/><test-case name="11010NISTXML-SV-II-atomic-normalizedString-minLength-3-1 tokoe:invalid" result="pass"/><test-case name="11011NISTXML-SV-II-atomic-normalizedString-minLength-3-2 tokoe:invalid" result="pass"/><test-case name="11012NISTXML-SV-II-atomic-normalizedString-minLength-3-3 tokoe:invalid" result="pass"/><test-case name="11013NISTXML-SV-II-atomic-normalizedString-minLength-3-4 tokoe:invalid" result="pass"/><test-case name="11014NISTXML-SV-II-atomic-normalizedString-minLength-3-5 tokoe:invalid" result="pass"/><test-case name="11015NISTSchema-SV-II-atomic-normalizedString-minLength-4 tokoe:valid" result="pass"/><test-case name="11016NISTXML-SV-II-atomic-normalizedString-minLength-4-1 tokoe:invalid" result="pass"/><test-case name="11017NISTXML-SV-II-atomic-normalizedString-minLength-4-2 tokoe:invalid" result="pass"/><test-case name="11018NISTXML-SV-II-atomic-normalizedString-minLength-4-3 tokoe:invalid" result="pass"/><test-case name="11019NISTXML-SV-II-atomic-normalizedString-minLength-4-4 tokoe:invalid" result="pass"/><test-case name="11020NISTXML-SV-II-atomic-normalizedString-minLength-4-5 tokoe:invalid" result="pass"/><test-case name="11021NISTSchema-SV-II-atomic-normalizedString-minLength-5 tokoe:valid" result="pass"/><test-case name="11022NISTXML-SV-II-atomic-normalizedString-minLength-5-1 tokoe:invalid" result="pass"/><test-case name="11023NISTXML-SV-II-atomic-normalizedString-minLength-5-2 tokoe:invalid" result="pass"/><test-case name="11024NISTXML-SV-II-atomic-normalizedString-minLength-5-3 tokoe:invalid" result="pass"/><test-case name="11025NISTXML-SV-II-atomic-normalizedString-minLength-5-4 tokoe:invalid" result="pass"/><test-case name="11026NISTXML-SV-II-atomic-normalizedString-minLength-5-5 tokoe:invalid" result="pass"/><test-case name="11027NISTSchema-SV-II-atomic-normalizedString-minLength-6 tokoe:valid" result="pass"/><test-case name="11028NISTXML-SV-II-atomic-normalizedString-minLength-6-1 tokoe:invalid" result="pass"/><test-case name="11029NISTXML-SV-II-atomic-normalizedString-minLength-6-2 tokoe:invalid" result="pass"/><test-case name="11030NISTXML-SV-II-atomic-normalizedString-minLength-6-3 tokoe:invalid" result="pass"/><test-case name="11031NISTXML-SV-II-atomic-normalizedString-minLength-6-4 tokoe:invalid" result="pass"/><test-case name="11032NISTXML-SV-II-atomic-normalizedString-minLength-6-5 tokoe:invalid" result="pass"/><test-case name="11033NISTSchema-SV-II-atomic-token-minLength-2 tokoe:valid" result="pass"/><test-case name="11034NISTXML-SV-II-atomic-token-minLength-2-1 tokoe:invalid" result="pass"/><test-case name="11035NISTXML-SV-II-atomic-token-minLength-2-2 tokoe:invalid" result="pass"/><test-case name="11036NISTXML-SV-II-atomic-token-minLength-2-3 tokoe:invalid" result="pass"/><test-case name="11037NISTXML-SV-II-atomic-token-minLength-2-4 tokoe:invalid" result="pass"/><test-case name="11038NISTXML-SV-II-atomic-token-minLength-2-5 tokoe:invalid" result="pass"/><test-case name="11039NISTSchema-SV-II-atomic-token-minLength-3 tokoe:valid" result="pass"/><test-case name="11040NISTXML-SV-II-atomic-token-minLength-3-1 tokoe:invalid" result="pass"/><test-case name="11041NISTXML-SV-II-atomic-token-minLength-3-2 tokoe:invalid" result="pass"/><test-case name="11042NISTXML-SV-II-atomic-token-minLength-3-3 tokoe:invalid" result="pass"/><test-case name="11043NISTXML-SV-II-atomic-token-minLength-3-4 tokoe:invalid" result="pass"/><test-case name="11044NISTXML-SV-II-atomic-token-minLength-3-5 tokoe:invalid" result="pass"/><test-case name="11045NISTSchema-SV-II-atomic-token-minLength-4 tokoe:valid" result="pass"/><test-case name="11046NISTXML-SV-II-atomic-token-minLength-4-1 tokoe:invalid" result="pass"/><test-case name="11047NISTXML-SV-II-atomic-token-minLength-4-2 tokoe:invalid" result="pass"/><test-case name="11048NISTXML-SV-II-atomic-token-minLength-4-3 tokoe:invalid" result="pass"/><test-case name="11049NISTXML-SV-II-atomic-token-minLength-4-4 tokoe:invalid" result="pass"/><test-case name="11050NISTXML-SV-II-atomic-token-minLength-4-5 tokoe:invalid" result="pass"/><test-case name="11051NISTSchema-SV-II-atomic-token-minLength-5 tokoe:valid" result="pass"/><test-case name="11052NISTXML-SV-II-atomic-token-minLength-5-1 tokoe:invalid" result="pass"/><test-case name="11053NISTXML-SV-II-atomic-token-minLength-5-2 tokoe:invalid" result="pass"/><test-case name="11054NISTXML-SV-II-atomic-token-minLength-5-3 tokoe:invalid" result="pass"/><test-case name="11055NISTXML-SV-II-atomic-token-minLength-5-4 tokoe:invalid" result="pass"/><test-case name="11056NISTXML-SV-II-atomic-token-minLength-5-5 tokoe:invalid" result="pass"/><test-case name="11057NISTSchema-SV-II-atomic-token-minLength-6 tokoe:valid" result="pass"/><test-case name="11058NISTXML-SV-II-atomic-token-minLength-6-1 tokoe:invalid" result="pass"/><test-case name="11059NISTXML-SV-II-atomic-token-minLength-6-2 tokoe:invalid" result="pass"/><test-case name="11060NISTXML-SV-II-atomic-token-minLength-6-3 tokoe:invalid" result="pass"/><test-case name="11061NISTXML-SV-II-atomic-token-minLength-6-4 tokoe:invalid" result="pass"/><test-case name="11062NISTXML-SV-II-atomic-token-minLength-6-5 tokoe:invalid" result="pass"/><test-case name="11063NISTSchema-SV-II-atomic-Name-minLength-2 tokoe:valid" result="pass"/><test-case name="11064NISTXML-SV-II-atomic-Name-minLength-2-1 tokoe:invalid" result="pass"/><test-case name="11065NISTXML-SV-II-atomic-Name-minLength-2-2 tokoe:invalid" result="pass"/><test-case name="11066NISTXML-SV-II-atomic-Name-minLength-2-3 tokoe:invalid" result="pass"/><test-case name="11067NISTXML-SV-II-atomic-Name-minLength-2-4 tokoe:invalid" result="pass"/><test-case name="11068NISTXML-SV-II-atomic-Name-minLength-2-5 tokoe:invalid" result="pass"/><test-case name="11069NISTSchema-SV-II-atomic-Name-minLength-3 tokoe:valid" result="pass"/><test-case name="11070NISTXML-SV-II-atomic-Name-minLength-3-1 tokoe:invalid" result="pass"/><test-case name="11071NISTXML-SV-II-atomic-Name-minLength-3-2 tokoe:invalid" result="pass"/><test-case name="11072NISTXML-SV-II-atomic-Name-minLength-3-3 tokoe:invalid" result="pass"/><test-case name="11073NISTXML-SV-II-atomic-Name-minLength-3-4 tokoe:invalid" result="pass"/><test-case name="11074NISTXML-SV-II-atomic-Name-minLength-3-5 tokoe:invalid" result="pass"/><test-case name="11075NISTSchema-SV-II-atomic-Name-minLength-4 tokoe:valid" result="pass"/><test-case name="11076NISTXML-SV-II-atomic-Name-minLength-4-1 tokoe:invalid" result="pass"/><test-case name="11077NISTXML-SV-II-atomic-Name-minLength-4-2 tokoe:invalid" result="pass"/><test-case name="11078NISTXML-SV-II-atomic-Name-minLength-4-3 tokoe:invalid" result="pass"/><test-case name="11079NISTXML-SV-II-atomic-Name-minLength-4-4 tokoe:invalid" result="pass"/><test-case name="11080NISTXML-SV-II-atomic-Name-minLength-4-5 tokoe:invalid" result="pass"/><test-case name="11081NISTSchema-SV-II-atomic-Name-minLength-5 tokoe:valid" result="pass"/><test-case name="11082NISTXML-SV-II-atomic-Name-minLength-5-1 tokoe:invalid" result="pass"/><test-case name="11083NISTXML-SV-II-atomic-Name-minLength-5-2 tokoe:invalid" result="pass"/><test-case name="11084NISTXML-SV-II-atomic-Name-minLength-5-3 tokoe:invalid" result="pass"/><test-case name="11085NISTXML-SV-II-atomic-Name-minLength-5-4 tokoe:invalid" result="pass"/><test-case name="11086NISTXML-SV-II-atomic-Name-minLength-5-5 tokoe:invalid" result="pass"/><test-case name="11087NISTSchema-SV-II-atomic-Name-minLength-6 tokoe:valid" result="pass"/><test-case name="11088NISTXML-SV-II-atomic-Name-minLength-6-1 tokoe:invalid" result="pass"/><test-case name="11089NISTXML-SV-II-atomic-Name-minLength-6-2 tokoe:invalid" result="pass"/><test-case name="11090NISTXML-SV-II-atomic-Name-minLength-6-3 tokoe:invalid" result="pass"/><test-case name="11091NISTXML-SV-II-atomic-Name-minLength-6-4 tokoe:invalid" result="pass"/><test-case name="11092NISTXML-SV-II-atomic-Name-minLength-6-5 tokoe:invalid" result="pass"/><test-case name="11093NISTSchema-SV-II-atomic-NMTOKEN-minLength-2 tokoe:valid" result="pass"/><test-case name="11094NISTXML-SV-II-atomic-NMTOKEN-minLength-2-1 tokoe:invalid" result="pass"/><test-case name="11095NISTXML-SV-II-atomic-NMTOKEN-minLength-2-2 tokoe:invalid" result="pass"/><test-case name="11096NISTXML-SV-II-atomic-NMTOKEN-minLength-2-3 tokoe:invalid" result="pass"/><test-case name="11097NISTXML-SV-II-atomic-NMTOKEN-minLength-2-4 tokoe:invalid" result="pass"/><test-case name="11098NISTXML-SV-II-atomic-NMTOKEN-minLength-2-5 tokoe:invalid" result="pass"/><test-case name="11099NISTSchema-SV-II-atomic-NMTOKEN-minLength-3 tokoe:valid" result="pass"/><test-case name="11100NISTXML-SV-II-atomic-NMTOKEN-minLength-3-1 tokoe:invalid" result="pass"/><test-case name="11101NISTXML-SV-II-atomic-NMTOKEN-minLength-3-2 tokoe:invalid" result="pass"/><test-case name="11102NISTXML-SV-II-atomic-NMTOKEN-minLength-3-3 tokoe:invalid" result="pass"/><test-case name="11103NISTXML-SV-II-atomic-NMTOKEN-minLength-3-4 tokoe:invalid" result="pass"/><test-case name="11104NISTXML-SV-II-atomic-NMTOKEN-minLength-3-5 tokoe:invalid" result="pass"/><test-case name="11105NISTSchema-SV-II-atomic-NMTOKEN-minLength-4 tokoe:valid" result="pass"/><test-case name="11106NISTXML-SV-II-atomic-NMTOKEN-minLength-4-1 tokoe:invalid" result="pass"/><test-case name="11107NISTXML-SV-II-atomic-NMTOKEN-minLength-4-2 tokoe:invalid" result="pass"/><test-case name="11108NISTXML-SV-II-atomic-NMTOKEN-minLength-4-3 tokoe:invalid" result="pass"/><test-case name="11109NISTXML-SV-II-atomic-NMTOKEN-minLength-4-4 tokoe:invalid" result="pass"/><test-case name="11110NISTXML-SV-II-atomic-NMTOKEN-minLength-4-5 tokoe:invalid" result="pass"/><test-case name="11111NISTSchema-SV-II-atomic-NMTOKEN-minLength-5 tokoe:valid" result="pass"/><test-case name="11112NISTXML-SV-II-atomic-NMTOKEN-minLength-5-1 tokoe:invalid" result="pass"/><test-case name="11113NISTXML-SV-II-atomic-NMTOKEN-minLength-5-2 tokoe:invalid" result="pass"/><test-case name="11114NISTXML-SV-II-atomic-NMTOKEN-minLength-5-3 tokoe:invalid" result="pass"/><test-case name="11115NISTXML-SV-II-atomic-NMTOKEN-minLength-5-4 tokoe:invalid" result="pass"/><test-case name="11116NISTXML-SV-II-atomic-NMTOKEN-minLength-5-5 tokoe:invalid" result="pass"/><test-case name="11117NISTSchema-SV-II-atomic-NMTOKEN-minLength-6 tokoe:valid" result="pass"/><test-case name="11118NISTXML-SV-II-atomic-NMTOKEN-minLength-6-1 tokoe:invalid" result="pass"/><test-case name="11119NISTXML-SV-II-atomic-NMTOKEN-minLength-6-2 tokoe:invalid" result="pass"/><test-case name="11120NISTXML-SV-II-atomic-NMTOKEN-minLength-6-3 tokoe:invalid" result="pass"/><test-case name="11121NISTXML-SV-II-atomic-NMTOKEN-minLength-6-4 tokoe:invalid" result="pass"/><test-case name="11122NISTXML-SV-II-atomic-NMTOKEN-minLength-6-5 tokoe:invalid" result="pass"/><test-case name="11123NISTSchema-SV-II-atomic-NCName-minLength-2 tokoe:valid" result="pass"/><test-case name="11124NISTXML-SV-II-atomic-NCName-minLength-2-1 tokoe:invalid" result="pass"/><test-case name="11125NISTXML-SV-II-atomic-NCName-minLength-2-2 tokoe:invalid" result="pass"/><test-case name="11126NISTXML-SV-II-atomic-NCName-minLength-2-3 tokoe:invalid" result="pass"/><test-case name="11127NISTXML-SV-II-atomic-NCName-minLength-2-4 tokoe:invalid" result="pass"/><test-case name="11128NISTXML-SV-II-atomic-NCName-minLength-2-5 tokoe:invalid" result="pass"/><test-case name="11129NISTSchema-SV-II-atomic-NCName-minLength-3 tokoe:valid" result="pass"/><test-case name="11130NISTXML-SV-II-atomic-NCName-minLength-3-1 tokoe:invalid" result="pass"/><test-case name="11131NISTXML-SV-II-atomic-NCName-minLength-3-2 tokoe:invalid" result="pass"/><test-case name="11132NISTXML-SV-II-atomic-NCName-minLength-3-3 tokoe:invalid" result="pass"/><test-case name="11133NISTXML-SV-II-atomic-NCName-minLength-3-4 tokoe:invalid" result="pass"/><test-case name="11134NISTXML-SV-II-atomic-NCName-minLength-3-5 tokoe:invalid" result="pass"/><test-case name="11135NISTSchema-SV-II-atomic-NCName-minLength-4 tokoe:valid" result="pass"/><test-case name="11136NISTXML-SV-II-atomic-NCName-minLength-4-1 tokoe:invalid" result="pass"/><test-case name="11137NISTXML-SV-II-atomic-NCName-minLength-4-2 tokoe:invalid" result="pass"/><test-case name="11138NISTXML-SV-II-atomic-NCName-minLength-4-3 tokoe:invalid" result="pass"/><test-case name="11139NISTXML-SV-II-atomic-NCName-minLength-4-4 tokoe:invalid" result="pass"/><test-case name="11140NISTXML-SV-II-atomic-NCName-minLength-4-5 tokoe:invalid" result="pass"/><test-case name="11141NISTSchema-SV-II-atomic-NCName-minLength-5 tokoe:valid" result="pass"/><test-case name="11142NISTXML-SV-II-atomic-NCName-minLength-5-1 tokoe:invalid" result="pass"/><test-case name="11143NISTXML-SV-II-atomic-NCName-minLength-5-2 tokoe:invalid" result="pass"/><test-case name="11144NISTXML-SV-II-atomic-NCName-minLength-5-3 tokoe:invalid" result="pass"/><test-case name="11145NISTXML-SV-II-atomic-NCName-minLength-5-4 tokoe:invalid" result="pass"/><test-case name="11146NISTXML-SV-II-atomic-NCName-minLength-5-5 tokoe:invalid" result="pass"/><test-case name="11147NISTSchema-SV-II-atomic-NCName-minLength-6 tokoe:valid" result="pass"/><test-case name="11148NISTXML-SV-II-atomic-NCName-minLength-6-1 tokoe:invalid" result="pass"/><test-case name="11149NISTXML-SV-II-atomic-NCName-minLength-6-2 tokoe:invalid" result="pass"/><test-case name="11150NISTXML-SV-II-atomic-NCName-minLength-6-3 tokoe:invalid" result="pass"/><test-case name="11151NISTXML-SV-II-atomic-NCName-minLength-6-4 tokoe:invalid" result="pass"/><test-case name="11152NISTXML-SV-II-atomic-NCName-minLength-6-5 tokoe:invalid" result="pass"/><test-case name="11153NISTSchema-SV-II-atomic-ID-minLength-2 tokoe:valid" result="pass"/><test-case name="11154NISTXML-SV-II-atomic-ID-minLength-2-1 tokoe:invalid" result="pass"/><test-case name="11155NISTXML-SV-II-atomic-ID-minLength-2-2 tokoe:invalid" result="pass"/><test-case name="11156NISTXML-SV-II-atomic-ID-minLength-2-3 tokoe:invalid" result="pass"/><test-case name="11157NISTXML-SV-II-atomic-ID-minLength-2-4 tokoe:invalid" result="pass"/><test-case name="11158NISTXML-SV-II-atomic-ID-minLength-2-5 tokoe:invalid" result="pass"/><test-case name="11159NISTSchema-SV-II-atomic-ID-minLength-3 tokoe:valid" result="pass"/><test-case name="11160NISTXML-SV-II-atomic-ID-minLength-3-1 tokoe:invalid" result="pass"/><test-case name="11161NISTXML-SV-II-atomic-ID-minLength-3-2 tokoe:invalid" result="pass"/><test-case name="11162NISTXML-SV-II-atomic-ID-minLength-3-3 tokoe:invalid" result="pass"/><test-case name="11163NISTXML-SV-II-atomic-ID-minLength-3-4 tokoe:invalid" result="pass"/><test-case name="11164NISTXML-SV-II-atomic-ID-minLength-3-5 tokoe:invalid" result="pass"/><test-case name="11165NISTSchema-SV-II-atomic-ID-minLength-4 tokoe:valid" result="pass"/><test-case name="11166NISTXML-SV-II-atomic-ID-minLength-4-1 tokoe:invalid" result="pass"/><test-case name="11167NISTXML-SV-II-atomic-ID-minLength-4-2 tokoe:invalid" result="pass"/><test-case name="11168NISTXML-SV-II-atomic-ID-minLength-4-3 tokoe:invalid" result="pass"/><test-case name="11169NISTXML-SV-II-atomic-ID-minLength-4-4 tokoe:invalid" result="pass"/><test-case name="11170NISTXML-SV-II-atomic-ID-minLength-4-5 tokoe:invalid" result="pass"/><test-case name="11171NISTSchema-SV-II-atomic-ID-minLength-5 tokoe:valid" result="pass"/><test-case name="11172NISTXML-SV-II-atomic-ID-minLength-5-1 tokoe:invalid" result="pass"/><test-case name="11173NISTXML-SV-II-atomic-ID-minLength-5-2 tokoe:invalid" result="pass"/><test-case name="11174NISTXML-SV-II-atomic-ID-minLength-5-3 tokoe:invalid" result="pass"/><test-case name="11175NISTXML-SV-II-atomic-ID-minLength-5-4 tokoe:invalid" result="pass"/><test-case name="11176NISTXML-SV-II-atomic-ID-minLength-5-5 tokoe:invalid" result="pass"/><test-case name="11177NISTSchema-SV-II-atomic-ID-minLength-6 tokoe:valid" result="pass"/><test-case name="11178NISTXML-SV-II-atomic-ID-minLength-6-1 tokoe:invalid" result="pass"/><test-case name="11179NISTXML-SV-II-atomic-ID-minLength-6-2 tokoe:invalid" result="pass"/><test-case name="11180NISTXML-SV-II-atomic-ID-minLength-6-3 tokoe:invalid" result="pass"/><test-case name="11181NISTXML-SV-II-atomic-ID-minLength-6-4 tokoe:invalid" result="pass"/><test-case name="11182NISTXML-SV-II-atomic-ID-minLength-6-5 tokoe:invalid" result="pass"/><test-case name="11183NISTSchema-SV-II-atomic-string-maxLength-1 tokoe:valid" result="pass"/><test-case name="11184NISTXML-SV-II-atomic-string-maxLength-1-1 tokoe:invalid" result="pass"/><test-case name="11185NISTXML-SV-II-atomic-string-maxLength-1-2 tokoe:invalid" result="pass"/><test-case name="11186NISTXML-SV-II-atomic-string-maxLength-1-3 tokoe:invalid" result="pass"/><test-case name="11187NISTXML-SV-II-atomic-string-maxLength-1-4 tokoe:invalid" result="pass"/><test-case name="11188NISTXML-SV-II-atomic-string-maxLength-1-5 tokoe:invalid" result="pass"/><test-case name="11189NISTSchema-SV-II-atomic-string-maxLength-2 tokoe:valid" result="pass"/><test-case name="11190NISTXML-SV-II-atomic-string-maxLength-2-1 tokoe:invalid" result="pass"/><test-case name="11191NISTXML-SV-II-atomic-string-maxLength-2-2 tokoe:invalid" result="pass"/><test-case name="11192NISTXML-SV-II-atomic-string-maxLength-2-3 tokoe:invalid" result="pass"/><test-case name="11193NISTXML-SV-II-atomic-string-maxLength-2-4 tokoe:invalid" result="pass"/><test-case name="11194NISTXML-SV-II-atomic-string-maxLength-2-5 tokoe:invalid" result="pass"/><test-case name="11195NISTSchema-SV-II-atomic-string-maxLength-3 tokoe:valid" result="pass"/><test-case name="11196NISTXML-SV-II-atomic-string-maxLength-3-1 tokoe:invalid" result="pass"/><test-case name="11197NISTXML-SV-II-atomic-string-maxLength-3-2 tokoe:invalid" result="pass"/><test-case name="11198NISTXML-SV-II-atomic-string-maxLength-3-3 tokoe:invalid" result="pass"/><test-case name="11199NISTXML-SV-II-atomic-string-maxLength-3-4 tokoe:invalid" result="pass"/><test-case name="11200NISTXML-SV-II-atomic-string-maxLength-3-5 tokoe:invalid" result="pass"/><test-case name="11201NISTSchema-SV-II-atomic-string-maxLength-4 tokoe:valid" result="pass"/><test-case name="11202NISTXML-SV-II-atomic-string-maxLength-4-1 tokoe:invalid" result="pass"/><test-case name="11203NISTXML-SV-II-atomic-string-maxLength-4-2 tokoe:invalid" result="pass"/><test-case name="11204NISTXML-SV-II-atomic-string-maxLength-4-3 tokoe:invalid" result="pass"/><test-case name="11205NISTXML-SV-II-atomic-string-maxLength-4-4 tokoe:invalid" result="pass"/><test-case name="11206NISTXML-SV-II-atomic-string-maxLength-4-5 tokoe:invalid" result="pass"/><test-case name="11207NISTSchema-SV-II-atomic-string-maxLength-5 tokoe:valid" result="pass"/><test-case name="11208NISTXML-SV-II-atomic-string-maxLength-5-1 tokoe:invalid" result="pass"/><test-case name="11209NISTXML-SV-II-atomic-string-maxLength-5-2 tokoe:invalid" result="pass"/><test-case name="11210NISTXML-SV-II-atomic-string-maxLength-5-3 tokoe:invalid" result="pass"/><test-case name="11211NISTXML-SV-II-atomic-string-maxLength-5-4 tokoe:invalid" result="pass"/><test-case name="11212NISTXML-SV-II-atomic-string-maxLength-5-5 tokoe:invalid" result="pass"/><test-case name="11213NISTSchema-SV-II-atomic-string-length-1 tokoe:valid" result="pass"/><test-case name="11214NISTXML-SV-II-atomic-string-length-1-1 tokoe:invalid" result="pass"/><test-case name="11215NISTXML-SV-II-atomic-string-length-1-2 tokoe:invalid" result="pass"/><test-case name="11216NISTXML-SV-II-atomic-string-length-1-3 tokoe:invalid" result="pass"/><test-case name="11217NISTXML-SV-II-atomic-string-length-1-4 tokoe:invalid" result="pass"/><test-case name="11218NISTXML-SV-II-atomic-string-length-1-5 tokoe:invalid" result="pass"/><test-case name="11219NISTSchema-SV-II-atomic-string-length-2 tokoe:valid" result="pass"/><test-case name="11220NISTXML-SV-II-atomic-string-length-2-1 tokoe:invalid" result="pass"/><test-case name="11221NISTXML-SV-II-atomic-string-length-2-2 tokoe:invalid" result="pass"/><test-case name="11222NISTXML-SV-II-atomic-string-length-2-3 tokoe:invalid" result="pass"/><test-case name="11223NISTXML-SV-II-atomic-string-length-2-4 tokoe:invalid" result="pass"/><test-case name="11224NISTXML-SV-II-atomic-string-length-2-5 tokoe:invalid" result="pass"/><test-case name="11225NISTSchema-SV-II-atomic-string-length-3 tokoe:valid" result="pass"/><test-case name="11226NISTXML-SV-II-atomic-string-length-3-1 tokoe:invalid" result="pass"/><test-case name="11227NISTXML-SV-II-atomic-string-length-3-2 tokoe:invalid" result="pass"/><test-case name="11228NISTXML-SV-II-atomic-string-length-3-3 tokoe:invalid" result="pass"/><test-case name="11229NISTXML-SV-II-atomic-string-length-3-4 tokoe:invalid" result="pass"/><test-case name="11230NISTXML-SV-II-atomic-string-length-3-5 tokoe:invalid" result="pass"/><test-case name="11231NISTSchema-SV-II-atomic-string-length-4 tokoe:valid" result="pass"/><test-case name="11232NISTXML-SV-II-atomic-string-length-4-1 tokoe:invalid" result="pass"/><test-case name="11233NISTXML-SV-II-atomic-string-length-4-2 tokoe:invalid" result="pass"/><test-case name="11234NISTXML-SV-II-atomic-string-length-4-3 tokoe:invalid" result="pass"/><test-case name="11235NISTXML-SV-II-atomic-string-length-4-4 tokoe:invalid" result="pass"/><test-case name="11236NISTXML-SV-II-atomic-string-length-4-5 tokoe:invalid" result="pass"/><test-case name="11237NISTSchema-SV-II-atomic-string-length-5 tokoe:valid" result="pass"/><test-case name="11238NISTXML-SV-II-atomic-string-length-5-1 tokoe:invalid" result="pass"/><test-case name="11239NISTXML-SV-II-atomic-string-length-5-2 tokoe:invalid" result="pass"/><test-case name="11240NISTXML-SV-II-atomic-string-length-5-3 tokoe:invalid" result="pass"/><test-case name="11241NISTXML-SV-II-atomic-string-length-5-4 tokoe:invalid" result="pass"/><test-case name="11242NISTXML-SV-II-atomic-string-length-5-5 tokoe:invalid" result="pass"/><test-case name="11243NISTSchema-SV-II-atomic-normalizedString-maxLength-1 tokoe:valid" result="pass"/><test-case name="11244NISTXML-SV-II-atomic-normalizedString-maxLength-1-1 tokoe:invalid" result="pass"/><test-case name="11245NISTXML-SV-II-atomic-normalizedString-maxLength-1-2 tokoe:invalid" result="pass"/><test-case name="11246NISTXML-SV-II-atomic-normalizedString-maxLength-1-3 tokoe:invalid" result="pass"/><test-case name="11247NISTXML-SV-II-atomic-normalizedString-maxLength-1-4 tokoe:invalid" result="pass"/><test-case name="11248NISTXML-SV-II-atomic-normalizedString-maxLength-1-5 tokoe:invalid" result="pass"/><test-case name="11249NISTSchema-SV-II-atomic-normalizedString-maxLength-2 tokoe:valid" result="pass"/><test-case name="11250NISTXML-SV-II-atomic-normalizedString-maxLength-2-1 tokoe:invalid" result="pass"/><test-case name="11251NISTXML-SV-II-atomic-normalizedString-maxLength-2-2 tokoe:invalid" result="pass"/><test-case name="11252NISTXML-SV-II-atomic-normalizedString-maxLength-2-3 tokoe:invalid" result="pass"/><test-case name="11253NISTXML-SV-II-atomic-normalizedString-maxLength-2-4 tokoe:invalid" result="pass"/><test-case name="11254NISTXML-SV-II-atomic-normalizedString-maxLength-2-5 tokoe:invalid" result="pass"/><test-case name="11255NISTSchema-SV-II-atomic-normalizedString-maxLength-3 tokoe:valid" result="pass"/><test-case name="11256NISTXML-SV-II-atomic-normalizedString-maxLength-3-1 tokoe:invalid" result="pass"/><test-case name="11257NISTXML-SV-II-atomic-normalizedString-maxLength-3-2 tokoe:invalid" result="pass"/><test-case name="11258NISTXML-SV-II-atomic-normalizedString-maxLength-3-3 tokoe:invalid" result="pass"/><test-case name="11259NISTXML-SV-II-atomic-normalizedString-maxLength-3-4 tokoe:invalid" result="pass"/><test-case name="11260NISTXML-SV-II-atomic-normalizedString-maxLength-3-5 tokoe:invalid" result="pass"/><test-case name="11261NISTSchema-SV-II-atomic-normalizedString-maxLength-4 tokoe:valid" result="pass"/><test-case name="11262NISTXML-SV-II-atomic-normalizedString-maxLength-4-1 tokoe:invalid" result="pass"/><test-case name="11263NISTXML-SV-II-atomic-normalizedString-maxLength-4-2 tokoe:invalid" result="pass"/><test-case name="11264NISTXML-SV-II-atomic-normalizedString-maxLength-4-3 tokoe:invalid" result="pass"/><test-case name="11265NISTXML-SV-II-atomic-normalizedString-maxLength-4-4 tokoe:invalid" result="pass"/><test-case name="11266NISTXML-SV-II-atomic-normalizedString-maxLength-4-5 tokoe:invalid" result="pass"/><test-case name="11267NISTSchema-SV-II-atomic-normalizedString-maxLength-5 tokoe:valid" result="pass"/><test-case name="11268NISTXML-SV-II-atomic-normalizedString-maxLength-5-1 tokoe:invalid" result="pass"/><test-case name="11269NISTXML-SV-II-atomic-normalizedString-maxLength-5-2 tokoe:invalid" result="pass"/><test-case name="11270NISTXML-SV-II-atomic-normalizedString-maxLength-5-3 tokoe:invalid" result="pass"/><test-case name="11271NISTXML-SV-II-atomic-normalizedString-maxLength-5-4 tokoe:invalid" result="pass"/><test-case name="11272NISTXML-SV-II-atomic-normalizedString-maxLength-5-5 tokoe:invalid" result="pass"/><test-case name="11273NISTSchema-SV-II-atomic-normalizedString-length-1 tokoe:valid" result="pass"/><test-case name="11274NISTXML-SV-II-atomic-normalizedString-length-1-1 tokoe:invalid" result="pass"/><test-case name="11275NISTXML-SV-II-atomic-normalizedString-length-1-2 tokoe:invalid" result="pass"/><test-case name="11276NISTXML-SV-II-atomic-normalizedString-length-1-3 tokoe:invalid" result="pass"/><test-case name="11277NISTXML-SV-II-atomic-normalizedString-length-1-4 tokoe:invalid" result="pass"/><test-case name="11278NISTXML-SV-II-atomic-normalizedString-length-1-5 tokoe:invalid" result="pass"/><test-case name="11279NISTSchema-SV-II-atomic-normalizedString-length-2 tokoe:valid" result="pass"/><test-case name="11280NISTXML-SV-II-atomic-normalizedString-length-2-1 tokoe:invalid" result="pass"/><test-case name="11281NISTXML-SV-II-atomic-normalizedString-length-2-2 tokoe:invalid" result="pass"/><test-case name="11282NISTXML-SV-II-atomic-normalizedString-length-2-3 tokoe:invalid" result="pass"/><test-case name="11283NISTXML-SV-II-atomic-normalizedString-length-2-4 tokoe:invalid" result="pass"/><test-case name="11284NISTXML-SV-II-atomic-normalizedString-length-2-5 tokoe:invalid" result="pass"/><test-case name="11285NISTSchema-SV-II-atomic-normalizedString-length-3 tokoe:valid" result="pass"/><test-case name="11286NISTXML-SV-II-atomic-normalizedString-length-3-1 tokoe:invalid" result="pass"/><test-case name="11287NISTXML-SV-II-atomic-normalizedString-length-3-2 tokoe:invalid" result="pass"/><test-case name="11288NISTXML-SV-II-atomic-normalizedString-length-3-3 tokoe:invalid" result="pass"/><test-case name="11289NISTXML-SV-II-atomic-normalizedString-length-3-4 tokoe:invalid" result="pass"/><test-case name="11290NISTXML-SV-II-atomic-normalizedString-length-3-5 tokoe:invalid" result="pass"/><test-case name="11291NISTSchema-SV-II-atomic-normalizedString-length-4 tokoe:valid" result="pass"/><test-case name="11292NISTXML-SV-II-atomic-normalizedString-length-4-1 tokoe:invalid" result="pass"/><test-case name="11293NISTXML-SV-II-atomic-normalizedString-length-4-2 tokoe:invalid" result="pass"/><test-case name="11294NISTXML-SV-II-atomic-normalizedString-length-4-3 tokoe:invalid" result="pass"/><test-case name="11295NISTXML-SV-II-atomic-normalizedString-length-4-4 tokoe:invalid" result="pass"/><test-case name="11296NISTXML-SV-II-atomic-normalizedString-length-4-5 tokoe:invalid" result="pass"/><test-case name="11297NISTSchema-SV-II-atomic-normalizedString-length-5 tokoe:valid" result="pass"/><test-case name="11298NISTXML-SV-II-atomic-normalizedString-length-5-1 tokoe:invalid" result="pass"/><test-case name="11299NISTXML-SV-II-atomic-normalizedString-length-5-2 tokoe:invalid" result="pass"/><test-case name="11300NISTXML-SV-II-atomic-normalizedString-length-5-3 tokoe:invalid" result="pass"/><test-case name="11301NISTXML-SV-II-atomic-normalizedString-length-5-4 tokoe:invalid" result="pass"/><test-case name="11302NISTXML-SV-II-atomic-normalizedString-length-5-5 tokoe:invalid" result="pass"/><test-case name="11303NISTSchema-SV-II-atomic-token-maxLength-1 tokoe:valid" result="pass"/><test-case name="11304NISTXML-SV-II-atomic-token-maxLength-1-1 tokoe:invalid" result="pass"/><test-case name="11305NISTXML-SV-II-atomic-token-maxLength-1-2 tokoe:invalid" result="pass"/><test-case name="11306NISTXML-SV-II-atomic-token-maxLength-1-3 tokoe:invalid" result="pass"/><test-case name="11307NISTXML-SV-II-atomic-token-maxLength-1-4 tokoe:invalid" result="pass"/><test-case name="11308NISTXML-SV-II-atomic-token-maxLength-1-5 tokoe:invalid" result="pass"/><test-case name="11309NISTSchema-SV-II-atomic-token-maxLength-2 tokoe:valid" result="pass"/><test-case name="11310NISTXML-SV-II-atomic-token-maxLength-2-1 tokoe:invalid" result="pass"/><test-case name="11311NISTXML-SV-II-atomic-token-maxLength-2-2 tokoe:invalid" result="pass"/><test-case name="11312NISTXML-SV-II-atomic-token-maxLength-2-3 tokoe:invalid" result="pass"/><test-case name="11313NISTXML-SV-II-atomic-token-maxLength-2-4 tokoe:invalid" result="pass"/><test-case name="11314NISTXML-SV-II-atomic-token-maxLength-2-5 tokoe:invalid" result="pass"/><test-case name="11315NISTSchema-SV-II-atomic-token-maxLength-3 tokoe:valid" result="pass"/><test-case name="11316NISTXML-SV-II-atomic-token-maxLength-3-1 tokoe:invalid" result="pass"/><test-case name="11317NISTXML-SV-II-atomic-token-maxLength-3-2 tokoe:invalid" result="pass"/><test-case name="11318NISTXML-SV-II-atomic-token-maxLength-3-3 tokoe:invalid" result="pass"/><test-case name="11319NISTXML-SV-II-atomic-token-maxLength-3-4 tokoe:invalid" result="pass"/><test-case name="11320NISTXML-SV-II-atomic-token-maxLength-3-5 tokoe:invalid" result="pass"/><test-case name="11321NISTSchema-SV-II-atomic-token-maxLength-4 tokoe:valid" result="pass"/><test-case name="11322NISTXML-SV-II-atomic-token-maxLength-4-1 tokoe:invalid" result="pass"/><test-case name="11323NISTXML-SV-II-atomic-token-maxLength-4-2 tokoe:invalid" result="pass"/><test-case name="11324NISTXML-SV-II-atomic-token-maxLength-4-3 tokoe:invalid" result="pass"/><test-case name="11325NISTXML-SV-II-atomic-token-maxLength-4-4 tokoe:invalid" result="pass"/><test-case name="11326NISTXML-SV-II-atomic-token-maxLength-4-5 tokoe:invalid" result="pass"/><test-case name="11327NISTSchema-SV-II-atomic-token-maxLength-5 tokoe:valid" result="pass"/><test-case name="11328NISTXML-SV-II-atomic-token-maxLength-5-1 tokoe:invalid" result="pass"/><test-case name="11329NISTXML-SV-II-atomic-token-maxLength-5-2 tokoe:invalid" result="pass"/><test-case name="11330NISTXML-SV-II-atomic-token-maxLength-5-3 tokoe:invalid" result="pass"/><test-case name="11331NISTXML-SV-II-atomic-token-maxLength-5-4 tokoe:invalid" result="pass"/><test-case name="11332NISTXML-SV-II-atomic-token-maxLength-5-5 tokoe:invalid" result="pass"/><test-case name="11333NISTSchema-SV-II-atomic-token-length-1 tokoe:valid" result="pass"/><test-case name="11334NISTXML-SV-II-atomic-token-length-1-1 tokoe:invalid" result="pass"/><test-case name="11335NISTXML-SV-II-atomic-token-length-1-2 tokoe:invalid" result="pass"/><test-case name="11336NISTXML-SV-II-atomic-token-length-1-3 tokoe:invalid" result="pass"/><test-case name="11337NISTXML-SV-II-atomic-token-length-1-4 tokoe:invalid" result="pass"/><test-case name="11338NISTXML-SV-II-atomic-token-length-1-5 tokoe:invalid" result="pass"/><test-case name="11339NISTSchema-SV-II-atomic-token-length-2 tokoe:valid" result="pass"/><test-case name="11340NISTXML-SV-II-atomic-token-length-2-1 tokoe:invalid" result="pass"/><test-case name="11341NISTXML-SV-II-atomic-token-length-2-2 tokoe:invalid" result="pass"/><test-case name="11342NISTXML-SV-II-atomic-token-length-2-3 tokoe:invalid" result="pass"/><test-case name="11343NISTXML-SV-II-atomic-token-length-2-4 tokoe:invalid" result="pass"/><test-case name="11344NISTXML-SV-II-atomic-token-length-2-5 tokoe:invalid" result="pass"/><test-case name="11345NISTSchema-SV-II-atomic-token-length-3 tokoe:valid" result="pass"/><test-case name="11346NISTXML-SV-II-atomic-token-length-3-1 tokoe:invalid" result="pass"/><test-case name="11347NISTXML-SV-II-atomic-token-length-3-2 tokoe:invalid" result="pass"/><test-case name="11348NISTXML-SV-II-atomic-token-length-3-3 tokoe:invalid" result="pass"/><test-case name="11349NISTXML-SV-II-atomic-token-length-3-4 tokoe:invalid" result="pass"/><test-case name="11350NISTXML-SV-II-atomic-token-length-3-5 tokoe:invalid" result="pass"/><test-case name="11351NISTSchema-SV-II-atomic-token-length-4 tokoe:valid" result="pass"/><test-case name="11352NISTXML-SV-II-atomic-token-length-4-1 tokoe:invalid" result="pass"/><test-case name="11353NISTXML-SV-II-atomic-token-length-4-2 tokoe:invalid" result="pass"/><test-case name="11354NISTXML-SV-II-atomic-token-length-4-3 tokoe:invalid" result="pass"/><test-case name="11355NISTXML-SV-II-atomic-token-length-4-4 tokoe:invalid" result="pass"/><test-case name="11356NISTXML-SV-II-atomic-token-length-4-5 tokoe:invalid" result="pass"/><test-case name="11357NISTSchema-SV-II-atomic-token-length-5 tokoe:valid" result="pass"/><test-case name="11358NISTXML-SV-II-atomic-token-length-5-1 tokoe:invalid" result="pass"/><test-case name="11359NISTXML-SV-II-atomic-token-length-5-2 tokoe:invalid" result="pass"/><test-case name="11360NISTXML-SV-II-atomic-token-length-5-3 tokoe:invalid" result="pass"/><test-case name="11361NISTXML-SV-II-atomic-token-length-5-4 tokoe:invalid" result="pass"/><test-case name="11362NISTXML-SV-II-atomic-token-length-5-5 tokoe:invalid" result="pass"/><test-case name="11363NISTSchema-SV-II-atomic-Name-maxLength-1 tokoe:valid" result="pass"/><test-case name="11364NISTXML-SV-II-atomic-Name-maxLength-1-1 tokoe:invalid" result="pass"/><test-case name="11365NISTXML-SV-II-atomic-Name-maxLength-1-2 tokoe:invalid" result="pass"/><test-case name="11366NISTXML-SV-II-atomic-Name-maxLength-1-3 tokoe:invalid" result="pass"/><test-case name="11367NISTXML-SV-II-atomic-Name-maxLength-1-4 tokoe:invalid" result="pass"/><test-case name="11368NISTXML-SV-II-atomic-Name-maxLength-1-5 tokoe:invalid" result="pass"/><test-case name="11369NISTSchema-SV-II-atomic-Name-maxLength-2 tokoe:valid" result="pass"/><test-case name="11370NISTXML-SV-II-atomic-Name-maxLength-2-1 tokoe:invalid" result="pass"/><test-case name="11371NISTXML-SV-II-atomic-Name-maxLength-2-2 tokoe:invalid" result="pass"/><test-case name="11372NISTXML-SV-II-atomic-Name-maxLength-2-3 tokoe:invalid" result="pass"/><test-case name="11373NISTXML-SV-II-atomic-Name-maxLength-2-4 tokoe:invalid" result="pass"/><test-case name="11374NISTXML-SV-II-atomic-Name-maxLength-2-5 tokoe:invalid" result="pass"/><test-case name="11375NISTSchema-SV-II-atomic-Name-maxLength-3 tokoe:valid" result="pass"/><test-case name="11376NISTXML-SV-II-atomic-Name-maxLength-3-1 tokoe:invalid" result="pass"/><test-case name="11377NISTXML-SV-II-atomic-Name-maxLength-3-2 tokoe:invalid" result="pass"/><test-case name="11378NISTXML-SV-II-atomic-Name-maxLength-3-3 tokoe:invalid" result="pass"/><test-case name="11379NISTXML-SV-II-atomic-Name-maxLength-3-4 tokoe:invalid" result="pass"/><test-case name="11380NISTXML-SV-II-atomic-Name-maxLength-3-5 tokoe:invalid" result="pass"/><test-case name="11381NISTSchema-SV-II-atomic-Name-maxLength-4 tokoe:valid" result="pass"/><test-case name="11382NISTXML-SV-II-atomic-Name-maxLength-4-1 tokoe:invalid" result="pass"/><test-case name="11383NISTXML-SV-II-atomic-Name-maxLength-4-2 tokoe:invalid" result="pass"/><test-case name="11384NISTXML-SV-II-atomic-Name-maxLength-4-3 tokoe:invalid" result="pass"/><test-case name="11385NISTXML-SV-II-atomic-Name-maxLength-4-4 tokoe:invalid" result="pass"/><test-case name="11386NISTXML-SV-II-atomic-Name-maxLength-4-5 tokoe:invalid" result="pass"/><test-case name="11387NISTSchema-SV-II-atomic-Name-maxLength-5 tokoe:valid" result="pass"/><test-case name="11388NISTXML-SV-II-atomic-Name-maxLength-5-1 tokoe:invalid" result="pass"/><test-case name="11389NISTXML-SV-II-atomic-Name-maxLength-5-2 tokoe:invalid" result="pass"/><test-case name="11390NISTXML-SV-II-atomic-Name-maxLength-5-3 tokoe:invalid" result="pass"/><test-case name="11391NISTXML-SV-II-atomic-Name-maxLength-5-4 tokoe:invalid" result="pass"/><test-case name="11392NISTXML-SV-II-atomic-Name-maxLength-5-5 tokoe:invalid" result="pass"/><test-case name="11393NISTSchema-SV-II-atomic-Name-length-1 tokoe:valid" result="pass"/><test-case name="11394NISTXML-SV-II-atomic-Name-length-1-1 tokoe:invalid" result="pass"/><test-case name="11395NISTXML-SV-II-atomic-Name-length-1-2 tokoe:invalid" result="pass"/><test-case name="11396NISTXML-SV-II-atomic-Name-length-1-3 tokoe:invalid" result="pass"/><test-case name="11397NISTXML-SV-II-atomic-Name-length-1-4 tokoe:invalid" result="pass"/><test-case name="11398NISTXML-SV-II-atomic-Name-length-1-5 tokoe:invalid" result="pass"/><test-case name="11399NISTSchema-SV-II-atomic-Name-length-2 tokoe:valid" result="pass"/><test-case name="11400NISTXML-SV-II-atomic-Name-length-2-1 tokoe:invalid" result="pass"/><test-case name="11401NISTXML-SV-II-atomic-Name-length-2-2 tokoe:invalid" result="pass"/><test-case name="11402NISTXML-SV-II-atomic-Name-length-2-3 tokoe:invalid" result="pass"/><test-case name="11403NISTXML-SV-II-atomic-Name-length-2-4 tokoe:invalid" result="pass"/><test-case name="11404NISTXML-SV-II-atomic-Name-length-2-5 tokoe:invalid" result="pass"/><test-case name="11405NISTSchema-SV-II-atomic-Name-length-3 tokoe:valid" result="pass"/><test-case name="11406NISTXML-SV-II-atomic-Name-length-3-1 tokoe:invalid" result="pass"/><test-case name="11407NISTXML-SV-II-atomic-Name-length-3-2 tokoe:invalid" result="pass"/><test-case name="11408NISTXML-SV-II-atomic-Name-length-3-3 tokoe:invalid" result="pass"/><test-case name="11409NISTXML-SV-II-atomic-Name-length-3-4 tokoe:invalid" result="pass"/><test-case name="11410NISTXML-SV-II-atomic-Name-length-3-5 tokoe:invalid" result="pass"/><test-case name="11411NISTSchema-SV-II-atomic-Name-length-4 tokoe:valid" result="pass"/><test-case name="11412NISTXML-SV-II-atomic-Name-length-4-1 tokoe:invalid" result="pass"/><test-case name="11413NISTXML-SV-II-atomic-Name-length-4-2 tokoe:invalid" result="pass"/><test-case name="11414NISTXML-SV-II-atomic-Name-length-4-3 tokoe:invalid" result="pass"/><test-case name="11415NISTXML-SV-II-atomic-Name-length-4-4 tokoe:invalid" result="pass"/><test-case name="11416NISTXML-SV-II-atomic-Name-length-4-5 tokoe:invalid" result="pass"/><test-case name="11417NISTSchema-SV-II-atomic-Name-length-5 tokoe:valid" result="pass"/><test-case name="11418NISTXML-SV-II-atomic-Name-length-5-1 tokoe:invalid" result="pass"/><test-case name="11419NISTXML-SV-II-atomic-Name-length-5-2 tokoe:invalid" result="pass"/><test-case name="11420NISTXML-SV-II-atomic-Name-length-5-3 tokoe:invalid" result="pass"/><test-case name="11421NISTXML-SV-II-atomic-Name-length-5-4 tokoe:invalid" result="pass"/><test-case name="11422NISTXML-SV-II-atomic-Name-length-5-5 tokoe:invalid" result="pass"/><test-case name="11423NISTSchema-SV-II-atomic-NMTOKEN-maxLength-1 tokoe:valid" result="pass"/><test-case name="11424NISTXML-SV-II-atomic-NMTOKEN-maxLength-1-1 tokoe:invalid" result="pass"/><test-case name="11425NISTXML-SV-II-atomic-NMTOKEN-maxLength-1-2 tokoe:invalid" result="pass"/><test-case name="11426NISTXML-SV-II-atomic-NMTOKEN-maxLength-1-3 tokoe:invalid" result="pass"/><test-case name="11427NISTXML-SV-II-atomic-NMTOKEN-maxLength-1-4 tokoe:invalid" result="pass"/><test-case name="11428NISTXML-SV-II-atomic-NMTOKEN-maxLength-1-5 tokoe:invalid" result="pass"/><test-case name="11429NISTSchema-SV-II-atomic-NMTOKEN-maxLength-2 tokoe:valid" result="pass"/><test-case name="11430NISTXML-SV-II-atomic-NMTOKEN-maxLength-2-1 tokoe:invalid" result="pass"/><test-case name="11431NISTXML-SV-II-atomic-NMTOKEN-maxLength-2-2 tokoe:invalid" result="pass"/><test-case name="11432NISTXML-SV-II-atomic-NMTOKEN-maxLength-2-3 tokoe:invalid" result="pass"/><test-case name="11433NISTXML-SV-II-atomic-NMTOKEN-maxLength-2-4 tokoe:invalid" result="pass"/><test-case name="11434NISTXML-SV-II-atomic-NMTOKEN-maxLength-2-5 tokoe:invalid" result="pass"/><test-case name="11435NISTSchema-SV-II-atomic-NMTOKEN-maxLength-3 tokoe:valid" result="pass"/><test-case name="11436NISTXML-SV-II-atomic-NMTOKEN-maxLength-3-1 tokoe:invalid" result="pass"/><test-case name="11437NISTXML-SV-II-atomic-NMTOKEN-maxLength-3-2 tokoe:invalid" result="pass"/><test-case name="11438NISTXML-SV-II-atomic-NMTOKEN-maxLength-3-3 tokoe:invalid" result="pass"/><test-case name="11439NISTXML-SV-II-atomic-NMTOKEN-maxLength-3-4 tokoe:invalid" result="pass"/><test-case name="11440NISTXML-SV-II-atomic-NMTOKEN-maxLength-3-5 tokoe:invalid" result="pass"/><test-case name="11441NISTSchema-SV-II-atomic-NMTOKEN-maxLength-4 tokoe:valid" result="pass"/><test-case name="11442NISTXML-SV-II-atomic-NMTOKEN-maxLength-4-1 tokoe:invalid" result="pass"/><test-case name="11443NISTXML-SV-II-atomic-NMTOKEN-maxLength-4-2 tokoe:invalid" result="pass"/><test-case name="11444NISTXML-SV-II-atomic-NMTOKEN-maxLength-4-3 tokoe:invalid" result="pass"/><test-case name="11445NISTXML-SV-II-atomic-NMTOKEN-maxLength-4-4 tokoe:invalid" result="pass"/><test-case name="11446NISTXML-SV-II-atomic-NMTOKEN-maxLength-4-5 tokoe:invalid" result="pass"/><test-case name="11447NISTSchema-SV-II-atomic-NMTOKEN-maxLength-5 tokoe:valid" result="pass"/><test-case name="11448NISTXML-SV-II-atomic-NMTOKEN-maxLength-5-1 tokoe:invalid" result="pass"/><test-case name="11449NISTXML-SV-II-atomic-NMTOKEN-maxLength-5-2 tokoe:invalid" result="pass"/><test-case name="11450NISTXML-SV-II-atomic-NMTOKEN-maxLength-5-3 tokoe:invalid" result="pass"/><test-case name="11451NISTXML-SV-II-atomic-NMTOKEN-maxLength-5-4 tokoe:invalid" result="pass"/><test-case name="11452NISTXML-SV-II-atomic-NMTOKEN-maxLength-5-5 tokoe:invalid" result="pass"/><test-case name="11453NISTSchema-SV-II-atomic-NMTOKEN-length-1 tokoe:valid" result="pass"/><test-case name="11454NISTXML-SV-II-atomic-NMTOKEN-length-1-1 tokoe:invalid" result="pass"/><test-case name="11455NISTXML-SV-II-atomic-NMTOKEN-length-1-2 tokoe:invalid" result="pass"/><test-case name="11456NISTXML-SV-II-atomic-NMTOKEN-length-1-3 tokoe:invalid" result="pass"/><test-case name="11457NISTXML-SV-II-atomic-NMTOKEN-length-1-4 tokoe:invalid" result="pass"/><test-case name="11458NISTXML-SV-II-atomic-NMTOKEN-length-1-5 tokoe:invalid" result="pass"/><test-case name="11459NISTSchema-SV-II-atomic-NMTOKEN-length-2 tokoe:valid" result="pass"/><test-case name="11460NISTXML-SV-II-atomic-NMTOKEN-length-2-1 tokoe:invalid" result="pass"/><test-case name="11461NISTXML-SV-II-atomic-NMTOKEN-length-2-2 tokoe:invalid" result="pass"/><test-case name="11462NISTXML-SV-II-atomic-NMTOKEN-length-2-3 tokoe:invalid" result="pass"/><test-case name="11463NISTXML-SV-II-atomic-NMTOKEN-length-2-4 tokoe:invalid" result="pass"/><test-case name="11464NISTXML-SV-II-atomic-NMTOKEN-length-2-5 tokoe:invalid" result="pass"/><test-case name="11465NISTSchema-SV-II-atomic-NMTOKEN-length-3 tokoe:valid" result="pass"/><test-case name="11466NISTXML-SV-II-atomic-NMTOKEN-length-3-1 tokoe:invalid" result="pass"/><test-case name="11467NISTXML-SV-II-atomic-NMTOKEN-length-3-2 tokoe:invalid" result="pass"/><test-case name="11468NISTXML-SV-II-atomic-NMTOKEN-length-3-3 tokoe:invalid" result="pass"/><test-case name="11469NISTXML-SV-II-atomic-NMTOKEN-length-3-4 tokoe:invalid" result="pass"/><test-case name="11470NISTXML-SV-II-atomic-NMTOKEN-length-3-5 tokoe:invalid" result="pass"/><test-case name="11471NISTSchema-SV-II-atomic-NMTOKEN-length-4 tokoe:valid" result="pass"/><test-case name="11472NISTXML-SV-II-atomic-NMTOKEN-length-4-1 tokoe:invalid" result="pass"/><test-case name="11473NISTXML-SV-II-atomic-NMTOKEN-length-4-2 tokoe:invalid" result="pass"/><test-case name="11474NISTXML-SV-II-atomic-NMTOKEN-length-4-3 tokoe:invalid" result="pass"/><test-case name="11475NISTXML-SV-II-atomic-NMTOKEN-length-4-4 tokoe:invalid" result="pass"/><test-case name="11476NISTXML-SV-II-atomic-NMTOKEN-length-4-5 tokoe:invalid" result="pass"/><test-case name="11477NISTSchema-SV-II-atomic-NMTOKEN-length-5 tokoe:valid" result="pass"/><test-case name="11478NISTXML-SV-II-atomic-NMTOKEN-length-5-1 tokoe:invalid" result="pass"/><test-case name="11479NISTXML-SV-II-atomic-NMTOKEN-length-5-2 tokoe:invalid" result="pass"/><test-case name="11480NISTXML-SV-II-atomic-NMTOKEN-length-5-3 tokoe:invalid" result="pass"/><test-case name="11481NISTXML-SV-II-atomic-NMTOKEN-length-5-4 tokoe:invalid" result="pass"/><test-case name="11482NISTXML-SV-II-atomic-NMTOKEN-length-5-5 tokoe:invalid" result="pass"/><test-case name="11483NISTSchema-SV-II-atomic-NCName-maxLength-1 tokoe:valid" result="pass"/><test-case name="11484NISTXML-SV-II-atomic-NCName-maxLength-1-1 tokoe:invalid" result="pass"/><test-case name="11485NISTXML-SV-II-atomic-NCName-maxLength-1-2 tokoe:invalid" result="pass"/><test-case name="11486NISTXML-SV-II-atomic-NCName-maxLength-1-3 tokoe:invalid" result="pass"/><test-case name="11487NISTXML-SV-II-atomic-NCName-maxLength-1-4 tokoe:invalid" result="pass"/><test-case name="11488NISTXML-SV-II-atomic-NCName-maxLength-1-5 tokoe:invalid" result="pass"/><test-case name="11489NISTSchema-SV-II-atomic-NCName-maxLength-2 tokoe:valid" result="pass"/><test-case name="11490NISTXML-SV-II-atomic-NCName-maxLength-2-1 tokoe:invalid" result="pass"/><test-case name="11491NISTXML-SV-II-atomic-NCName-maxLength-2-2 tokoe:invalid" result="pass"/><test-case name="11492NISTXML-SV-II-atomic-NCName-maxLength-2-3 tokoe:invalid" result="pass"/><test-case name="11493NISTXML-SV-II-atomic-NCName-maxLength-2-4 tokoe:invalid" result="pass"/><test-case name="11494NISTXML-SV-II-atomic-NCName-maxLength-2-5 tokoe:invalid" result="pass"/><test-case name="11495NISTSchema-SV-II-atomic-NCName-maxLength-3 tokoe:valid" result="pass"/><test-case name="11496NISTXML-SV-II-atomic-NCName-maxLength-3-1 tokoe:invalid" result="pass"/><test-case name="11497NISTXML-SV-II-atomic-NCName-maxLength-3-2 tokoe:invalid" result="pass"/><test-case name="11498NISTXML-SV-II-atomic-NCName-maxLength-3-3 tokoe:invalid" result="pass"/><test-case name="11499NISTXML-SV-II-atomic-NCName-maxLength-3-4 tokoe:invalid" result="pass"/><test-case name="11500NISTXML-SV-II-atomic-NCName-maxLength-3-5 tokoe:invalid" result="pass"/><test-case name="11501NISTSchema-SV-II-atomic-NCName-maxLength-4 tokoe:valid" result="pass"/><test-case name="11502NISTXML-SV-II-atomic-NCName-maxLength-4-1 tokoe:invalid" result="pass"/><test-case name="11503NISTXML-SV-II-atomic-NCName-maxLength-4-2 tokoe:invalid" result="pass"/><test-case name="11504NISTXML-SV-II-atomic-NCName-maxLength-4-3 tokoe:invalid" result="pass"/><test-case name="11505NISTXML-SV-II-atomic-NCName-maxLength-4-4 tokoe:invalid" result="pass"/><test-case name="11506NISTXML-SV-II-atomic-NCName-maxLength-4-5 tokoe:invalid" result="pass"/><test-case name="11507NISTSchema-SV-II-atomic-NCName-maxLength-5 tokoe:valid" result="pass"/><test-case name="11508NISTXML-SV-II-atomic-NCName-maxLength-5-1 tokoe:invalid" result="pass"/><test-case name="11509NISTXML-SV-II-atomic-NCName-maxLength-5-2 tokoe:invalid" result="pass"/><test-case name="11510NISTXML-SV-II-atomic-NCName-maxLength-5-3 tokoe:invalid" result="pass"/><test-case name="11511NISTXML-SV-II-atomic-NCName-maxLength-5-4 tokoe:invalid" result="pass"/><test-case name="11512NISTXML-SV-II-atomic-NCName-maxLength-5-5 tokoe:invalid" result="pass"/><test-case name="11513NISTSchema-SV-II-atomic-NCName-length-1 tokoe:valid" result="pass"/><test-case name="11514NISTXML-SV-II-atomic-NCName-length-1-1 tokoe:invalid" result="pass"/><test-case name="11515NISTXML-SV-II-atomic-NCName-length-1-2 tokoe:invalid" result="pass"/><test-case name="11516NISTXML-SV-II-atomic-NCName-length-1-3 tokoe:invalid" result="pass"/><test-case name="11517NISTXML-SV-II-atomic-NCName-length-1-4 tokoe:invalid" result="pass"/><test-case name="11518NISTXML-SV-II-atomic-NCName-length-1-5 tokoe:invalid" result="pass"/><test-case name="11519NISTSchema-SV-II-atomic-NCName-length-2 tokoe:valid" result="pass"/><test-case name="11520NISTXML-SV-II-atomic-NCName-length-2-1 tokoe:invalid" result="pass"/><test-case name="11521NISTXML-SV-II-atomic-NCName-length-2-2 tokoe:invalid" result="pass"/><test-case name="11522NISTXML-SV-II-atomic-NCName-length-2-3 tokoe:invalid" result="pass"/><test-case name="11523NISTXML-SV-II-atomic-NCName-length-2-4 tokoe:invalid" result="pass"/><test-case name="11524NISTXML-SV-II-atomic-NCName-length-2-5 tokoe:invalid" result="pass"/><test-case name="11525NISTSchema-SV-II-atomic-NCName-length-3 tokoe:valid" result="pass"/><test-case name="11526NISTXML-SV-II-atomic-NCName-length-3-1 tokoe:invalid" result="pass"/><test-case name="11527NISTXML-SV-II-atomic-NCName-length-3-2 tokoe:invalid" result="pass"/><test-case name="11528NISTXML-SV-II-atomic-NCName-length-3-3 tokoe:invalid" result="pass"/><test-case name="11529NISTXML-SV-II-atomic-NCName-length-3-4 tokoe:invalid" result="pass"/><test-case name="11530NISTXML-SV-II-atomic-NCName-length-3-5 tokoe:invalid" result="pass"/><test-case name="11531NISTSchema-SV-II-atomic-NCName-length-4 tokoe:valid" result="pass"/><test-case name="11532NISTXML-SV-II-atomic-NCName-length-4-1 tokoe:invalid" result="pass"/><test-case name="11533NISTXML-SV-II-atomic-NCName-length-4-2 tokoe:invalid" result="pass"/><test-case name="11534NISTXML-SV-II-atomic-NCName-length-4-3 tokoe:invalid" result="pass"/><test-case name="11535NISTXML-SV-II-atomic-NCName-length-4-4 tokoe:invalid" result="pass"/><test-case name="11536NISTXML-SV-II-atomic-NCName-length-4-5 tokoe:invalid" result="pass"/><test-case name="11537NISTSchema-SV-II-atomic-NCName-length-5 tokoe:valid" result="pass"/><test-case name="11538NISTXML-SV-II-atomic-NCName-length-5-1 tokoe:invalid" result="pass"/><test-case name="11539NISTXML-SV-II-atomic-NCName-length-5-2 tokoe:invalid" result="pass"/><test-case name="11540NISTXML-SV-II-atomic-NCName-length-5-3 tokoe:invalid" result="pass"/><test-case name="11541NISTXML-SV-II-atomic-NCName-length-5-4 tokoe:invalid" result="pass"/><test-case name="11542NISTXML-SV-II-atomic-NCName-length-5-5 tokoe:invalid" result="pass"/><test-case name="11543NISTSchema-SV-II-atomic-ID-maxLength-1 tokoe:valid" result="pass"/><test-case name="11544NISTXML-SV-II-atomic-ID-maxLength-1-1 tokoe:invalid" result="pass"/><test-case name="11545NISTXML-SV-II-atomic-ID-maxLength-1-2 tokoe:invalid" result="pass"/><test-case name="11546NISTXML-SV-II-atomic-ID-maxLength-1-3 tokoe:invalid" result="pass"/><test-case name="11547NISTXML-SV-II-atomic-ID-maxLength-1-4 tokoe:invalid" result="pass"/><test-case name="11548NISTXML-SV-II-atomic-ID-maxLength-1-5 tokoe:invalid" result="pass"/><test-case name="11549NISTSchema-SV-II-atomic-ID-maxLength-2 tokoe:valid" result="pass"/><test-case name="11550NISTXML-SV-II-atomic-ID-maxLength-2-1 tokoe:invalid" result="pass"/><test-case name="11551NISTXML-SV-II-atomic-ID-maxLength-2-2 tokoe:invalid" result="pass"/><test-case name="11552NISTXML-SV-II-atomic-ID-maxLength-2-3 tokoe:invalid" result="pass"/><test-case name="11553NISTXML-SV-II-atomic-ID-maxLength-2-4 tokoe:invalid" result="pass"/><test-case name="11554NISTXML-SV-II-atomic-ID-maxLength-2-5 tokoe:invalid" result="pass"/><test-case name="11555NISTSchema-SV-II-atomic-ID-maxLength-3 tokoe:valid" result="pass"/><test-case name="11556NISTXML-SV-II-atomic-ID-maxLength-3-1 tokoe:invalid" result="pass"/><test-case name="11557NISTXML-SV-II-atomic-ID-maxLength-3-2 tokoe:invalid" result="pass"/><test-case name="11558NISTXML-SV-II-atomic-ID-maxLength-3-3 tokoe:invalid" result="pass"/><test-case name="11559NISTXML-SV-II-atomic-ID-maxLength-3-4 tokoe:invalid" result="pass"/><test-case name="11560NISTXML-SV-II-atomic-ID-maxLength-3-5 tokoe:invalid" result="pass"/><test-case name="11561NISTSchema-SV-II-atomic-ID-maxLength-4 tokoe:valid" result="pass"/><test-case name="11562NISTXML-SV-II-atomic-ID-maxLength-4-1 tokoe:invalid" result="pass"/><test-case name="11563NISTXML-SV-II-atomic-ID-maxLength-4-2 tokoe:invalid" result="pass"/><test-case name="11564NISTXML-SV-II-atomic-ID-maxLength-4-3 tokoe:invalid" result="pass"/><test-case name="11565NISTXML-SV-II-atomic-ID-maxLength-4-4 tokoe:invalid" result="pass"/><test-case name="11566NISTXML-SV-II-atomic-ID-maxLength-4-5 tokoe:invalid" result="pass"/><test-case name="11567NISTSchema-SV-II-atomic-ID-maxLength-5 tokoe:valid" result="pass"/><test-case name="11568NISTXML-SV-II-atomic-ID-maxLength-5-1 tokoe:invalid" result="pass"/><test-case name="11569NISTXML-SV-II-atomic-ID-maxLength-5-2 tokoe:invalid" result="pass"/><test-case name="11570NISTXML-SV-II-atomic-ID-maxLength-5-3 tokoe:invalid" result="pass"/><test-case name="11571NISTXML-SV-II-atomic-ID-maxLength-5-4 tokoe:invalid" result="pass"/><test-case name="11572NISTXML-SV-II-atomic-ID-maxLength-5-5 tokoe:invalid" result="pass"/><test-case name="11573NISTSchema-SV-II-atomic-ID-length-1 tokoe:valid" result="pass"/><test-case name="11574NISTXML-SV-II-atomic-ID-length-1-1 tokoe:invalid" result="pass"/><test-case name="11575NISTXML-SV-II-atomic-ID-length-1-2 tokoe:invalid" result="pass"/><test-case name="11576NISTXML-SV-II-atomic-ID-length-1-3 tokoe:invalid" result="pass"/><test-case name="11577NISTXML-SV-II-atomic-ID-length-1-4 tokoe:invalid" result="pass"/><test-case name="11578NISTXML-SV-II-atomic-ID-length-1-5 tokoe:invalid" result="pass"/><test-case name="11579NISTSchema-SV-II-atomic-ID-length-2 tokoe:valid" result="pass"/><test-case name="11580NISTXML-SV-II-atomic-ID-length-2-1 tokoe:invalid" result="pass"/><test-case name="11581NISTXML-SV-II-atomic-ID-length-2-2 tokoe:invalid" result="pass"/><test-case name="11582NISTXML-SV-II-atomic-ID-length-2-3 tokoe:invalid" result="pass"/><test-case name="11583NISTXML-SV-II-atomic-ID-length-2-4 tokoe:invalid" result="pass"/><test-case name="11584NISTXML-SV-II-atomic-ID-length-2-5 tokoe:invalid" result="pass"/><test-case name="11585NISTSchema-SV-II-atomic-ID-length-3 tokoe:valid" result="pass"/><test-case name="11586NISTXML-SV-II-atomic-ID-length-3-1 tokoe:invalid" result="pass"/><test-case name="11587NISTXML-SV-II-atomic-ID-length-3-2 tokoe:invalid" result="pass"/><test-case name="11588NISTXML-SV-II-atomic-ID-length-3-3 tokoe:invalid" result="pass"/><test-case name="11589NISTXML-SV-II-atomic-ID-length-3-4 tokoe:invalid" result="pass"/><test-case name="11590NISTXML-SV-II-atomic-ID-length-3-5 tokoe:invalid" result="pass"/><test-case name="11591NISTSchema-SV-II-atomic-ID-length-4 tokoe:valid" result="pass"/><test-case name="11592NISTXML-SV-II-atomic-ID-length-4-1 tokoe:invalid" result="pass"/><test-case name="11593NISTXML-SV-II-atomic-ID-length-4-2 tokoe:invalid" result="pass"/><test-case name="11594NISTXML-SV-II-atomic-ID-length-4-3 tokoe:invalid" result="pass"/><test-case name="11595NISTXML-SV-II-atomic-ID-length-4-4 tokoe:invalid" result="pass"/><test-case name="11596NISTXML-SV-II-atomic-ID-length-4-5 tokoe:invalid" result="pass"/><test-case name="11597NISTSchema-SV-II-atomic-ID-length-5 tokoe:valid" result="pass"/><test-case name="11598NISTXML-SV-II-atomic-ID-length-5-1 tokoe:invalid" result="pass"/><test-case name="11599NISTXML-SV-II-atomic-ID-length-5-2 tokoe:invalid" result="pass"/><test-case name="11600NISTXML-SV-II-atomic-ID-length-5-3 tokoe:invalid" result="pass"/><test-case name="11601NISTXML-SV-II-atomic-ID-length-5-4 tokoe:invalid" result="pass"/><test-case name="11602NISTXML-SV-II-atomic-ID-length-5-5 tokoe:invalid" result="pass"/><test-case name="11603NISTSchema-SV-II-atomic-anyURI-minLength-2 tokoe:valid" result="pass"/><test-case name="11604NISTXML-SV-II-atomic-anyURI-minLength-2-1 tokoe:invalid" result="pass"/><test-case name="11605NISTXML-SV-II-atomic-anyURI-minLength-2-2 tokoe:invalid" result="pass"/><test-case name="11606NISTXML-SV-II-atomic-anyURI-minLength-2-3 tokoe:invalid" result="pass"/><test-case name="11607NISTXML-SV-II-atomic-anyURI-minLength-2-4 tokoe:invalid" result="pass"/><test-case name="11608NISTXML-SV-II-atomic-anyURI-minLength-2-5 tokoe:invalid" result="pass"/><test-case name="11609NISTSchema-SV-II-atomic-anyURI-minLength-3 tokoe:valid" result="pass"/><test-case name="11610NISTXML-SV-II-atomic-anyURI-minLength-3-1 tokoe:invalid" result="pass"/><test-case name="11611NISTXML-SV-II-atomic-anyURI-minLength-3-2 tokoe:invalid" result="pass"/><test-case name="11612NISTXML-SV-II-atomic-anyURI-minLength-3-3 tokoe:invalid" result="pass"/><test-case name="11613NISTXML-SV-II-atomic-anyURI-minLength-3-4 tokoe:invalid" result="pass"/><test-case name="11614NISTXML-SV-II-atomic-anyURI-minLength-3-5 tokoe:invalid" result="pass"/><test-case name="11615NISTSchema-SV-II-atomic-anyURI-minLength-4 tokoe:valid" result="pass"/><test-case name="11616NISTXML-SV-II-atomic-anyURI-minLength-4-1 tokoe:invalid" result="pass"/><test-case name="11617NISTXML-SV-II-atomic-anyURI-minLength-4-2 tokoe:invalid" result="pass"/><test-case name="11618NISTXML-SV-II-atomic-anyURI-minLength-4-3 tokoe:invalid" result="pass"/><test-case name="11619NISTXML-SV-II-atomic-anyURI-minLength-4-4 tokoe:invalid" result="pass"/><test-case name="11620NISTXML-SV-II-atomic-anyURI-minLength-4-5 tokoe:invalid" result="pass"/><test-case name="11621NISTSchema-SV-II-atomic-anyURI-minLength-5 tokoe:valid" result="pass"/><test-case name="11622NISTXML-SV-II-atomic-anyURI-minLength-5-1 tokoe:invalid" result="pass"/><test-case name="11623NISTXML-SV-II-atomic-anyURI-minLength-5-2 tokoe:invalid" result="pass"/><test-case name="11624NISTXML-SV-II-atomic-anyURI-minLength-5-3 tokoe:invalid" result="pass"/><test-case name="11625NISTXML-SV-II-atomic-anyURI-minLength-5-4 tokoe:invalid" result="pass"/><test-case name="11626NISTXML-SV-II-atomic-anyURI-minLength-5-5 tokoe:invalid" result="pass"/><test-case name="11627NISTSchema-SV-II-atomic-anyURI-minLength-6 tokoe:valid" result="pass"/><test-case name="11628NISTXML-SV-II-atomic-anyURI-minLength-6-1 tokoe:invalid" result="pass"/><test-case name="11629NISTXML-SV-II-atomic-anyURI-minLength-6-2 tokoe:invalid" result="pass"/><test-case name="11630NISTXML-SV-II-atomic-anyURI-minLength-6-3 tokoe:invalid" result="pass"/><test-case name="11631NISTXML-SV-II-atomic-anyURI-minLength-6-4 tokoe:invalid" result="pass"/><test-case name="11632NISTXML-SV-II-atomic-anyURI-minLength-6-5 tokoe:invalid" result="pass"/><test-case name="11633NISTSchema-SV-II-atomic-anyURI-maxLength-1 tokoe:valid" result="pass"/><test-case name="11634NISTXML-SV-II-atomic-anyURI-maxLength-1-1 tokoe:invalid" result="pass"/><test-case name="11635NISTXML-SV-II-atomic-anyURI-maxLength-1-2 tokoe:invalid" result="pass"/><test-case name="11636NISTXML-SV-II-atomic-anyURI-maxLength-1-3 tokoe:invalid" result="pass"/><test-case name="11637NISTXML-SV-II-atomic-anyURI-maxLength-1-4 tokoe:invalid" result="pass"/><test-case name="11638NISTXML-SV-II-atomic-anyURI-maxLength-1-5 tokoe:invalid" result="pass"/><test-case name="11639NISTSchema-SV-II-atomic-anyURI-maxLength-2 tokoe:valid" result="pass"/><test-case name="11640NISTXML-SV-II-atomic-anyURI-maxLength-2-1 tokoe:invalid" result="pass"/><test-case name="11641NISTXML-SV-II-atomic-anyURI-maxLength-2-2 tokoe:invalid" result="pass"/><test-case name="11642NISTXML-SV-II-atomic-anyURI-maxLength-2-3 tokoe:invalid" result="pass"/><test-case name="11643NISTXML-SV-II-atomic-anyURI-maxLength-2-4 tokoe:invalid" result="pass"/><test-case name="11644NISTXML-SV-II-atomic-anyURI-maxLength-2-5 tokoe:invalid" result="pass"/><test-case name="11645NISTSchema-SV-II-atomic-anyURI-maxLength-3 tokoe:valid" result="pass"/><test-case name="11646NISTXML-SV-II-atomic-anyURI-maxLength-3-1 tokoe:invalid" result="pass"/><test-case name="11647NISTXML-SV-II-atomic-anyURI-maxLength-3-2 tokoe:invalid" result="pass"/><test-case name="11648NISTXML-SV-II-atomic-anyURI-maxLength-3-3 tokoe:invalid" result="pass"/><test-case name="11649NISTXML-SV-II-atomic-anyURI-maxLength-3-4 tokoe:invalid" result="pass"/><test-case name="11650NISTXML-SV-II-atomic-anyURI-maxLength-3-5 tokoe:invalid" result="pass"/><test-case name="11651NISTSchema-SV-II-atomic-anyURI-maxLength-4 tokoe:valid" result="pass"/><test-case name="11652NISTXML-SV-II-atomic-anyURI-maxLength-4-1 tokoe:invalid" result="pass"/><test-case name="11653NISTXML-SV-II-atomic-anyURI-maxLength-4-2 tokoe:invalid" result="pass"/><test-case name="11654NISTXML-SV-II-atomic-anyURI-maxLength-4-3 tokoe:invalid" result="pass"/><test-case name="11655NISTXML-SV-II-atomic-anyURI-maxLength-4-4 tokoe:invalid" result="pass"/><test-case name="11656NISTXML-SV-II-atomic-anyURI-maxLength-4-5 tokoe:invalid" result="pass"/><test-case name="11657NISTSchema-SV-II-atomic-anyURI-maxLength-5 tokoe:valid" result="pass"/><test-case name="11658NISTXML-SV-II-atomic-anyURI-maxLength-5-1 tokoe:invalid" result="pass"/><test-case name="11659NISTXML-SV-II-atomic-anyURI-maxLength-5-2 tokoe:invalid" result="pass"/><test-case name="11660NISTXML-SV-II-atomic-anyURI-maxLength-5-3 tokoe:invalid" result="pass"/><test-case name="11661NISTXML-SV-II-atomic-anyURI-maxLength-5-4 tokoe:invalid" result="pass"/><test-case name="11662NISTXML-SV-II-atomic-anyURI-maxLength-5-5 tokoe:invalid" result="pass"/><test-case name="11663NISTSchema-SV-II-atomic-language-minLength-2 tokoe:valid" result="pass"/><test-case name="11664NISTXML-SV-II-atomic-language-minLength-2-1 tokoe:invalid" result="pass"/><test-case name="11665NISTXML-SV-II-atomic-language-minLength-2-2 tokoe:invalid" result="pass"/><test-case name="11666NISTXML-SV-II-atomic-language-minLength-2-3 tokoe:invalid" result="pass"/><test-case name="11667NISTXML-SV-II-atomic-language-minLength-2-4 tokoe:invalid" result="pass"/><test-case name="11668NISTXML-SV-II-atomic-language-minLength-2-5 tokoe:invalid" result="pass"/><test-case name="11669NISTSchema-SV-II-atomic-language-minLength-3 tokoe:valid" result="pass"/><test-case name="11670NISTXML-SV-II-atomic-language-minLength-3-1 tokoe:invalid" result="pass"/><test-case name="11671NISTXML-SV-II-atomic-language-minLength-3-2 tokoe:invalid" result="pass"/><test-case name="11672NISTXML-SV-II-atomic-language-minLength-3-3 tokoe:invalid" result="pass"/><test-case name="11673NISTXML-SV-II-atomic-language-minLength-3-4 tokoe:invalid" result="pass"/><test-case name="11674NISTXML-SV-II-atomic-language-minLength-3-5 tokoe:invalid" result="pass"/><test-case name="11675NISTSchema-SV-II-atomic-language-minLength-4 tokoe:valid" result="pass"/><test-case name="11676NISTXML-SV-II-atomic-language-minLength-4-1 tokoe:invalid" result="pass"/><test-case name="11677NISTXML-SV-II-atomic-language-minLength-4-2 tokoe:invalid" result="pass"/><test-case name="11678NISTXML-SV-II-atomic-language-minLength-4-3 tokoe:invalid" result="pass"/><test-case name="11679NISTXML-SV-II-atomic-language-minLength-4-4 tokoe:invalid" result="pass"/><test-case name="11680NISTXML-SV-II-atomic-language-minLength-4-5 tokoe:invalid" result="pass"/><test-case name="11681NISTSchema-SV-II-atomic-language-minLength-6 tokoe:valid" result="pass"/><test-case name="11682NISTXML-SV-II-atomic-language-minLength-6-1 tokoe:invalid" result="pass"/><test-case name="11683NISTXML-SV-II-atomic-language-minLength-6-2 tokoe:invalid" result="pass"/><test-case name="11684NISTXML-SV-II-atomic-language-minLength-6-3 tokoe:invalid" result="pass"/><test-case name="11685NISTXML-SV-II-atomic-language-minLength-6-4 tokoe:invalid" result="pass"/><test-case name="11686NISTXML-SV-II-atomic-language-minLength-6-5 tokoe:invalid" result="pass"/><test-case name="11687NISTSchema-SV-II-atomic-language-maxLength-1 tokoe:valid" result="pass"/><test-case name="11688NISTXML-SV-II-atomic-language-maxLength-1-1 tokoe:invalid" result="pass"/><test-case name="11689NISTXML-SV-II-atomic-language-maxLength-1-2 tokoe:invalid" result="pass"/><test-case name="11690NISTXML-SV-II-atomic-language-maxLength-1-3 tokoe:invalid" result="pass"/><test-case name="11691NISTXML-SV-II-atomic-language-maxLength-1-4 tokoe:invalid" result="pass"/><test-case name="11692NISTXML-SV-II-atomic-language-maxLength-1-5 tokoe:invalid" result="pass"/><test-case name="11693NISTSchema-SV-II-atomic-language-maxLength-2 tokoe:valid" result="pass"/><test-case name="11694NISTXML-SV-II-atomic-language-maxLength-2-1 tokoe:invalid" result="pass"/><test-case name="11695NISTXML-SV-II-atomic-language-maxLength-2-2 tokoe:invalid" result="pass"/><test-case name="11696NISTXML-SV-II-atomic-language-maxLength-2-3 tokoe:invalid" result="pass"/><test-case name="11697NISTXML-SV-II-atomic-language-maxLength-2-4 tokoe:invalid" result="pass"/><test-case name="11698NISTXML-SV-II-atomic-language-maxLength-2-5 tokoe:invalid" result="pass"/><test-case name="11699NISTSchema-SV-II-atomic-language-maxLength-3 tokoe:valid" result="pass"/><test-case name="11700NISTXML-SV-II-atomic-language-maxLength-3-1 tokoe:invalid" result="pass"/><test-case name="11701NISTXML-SV-II-atomic-language-maxLength-3-2 tokoe:invalid" result="pass"/><test-case name="11702NISTXML-SV-II-atomic-language-maxLength-3-3 tokoe:invalid" result="pass"/><test-case name="11703NISTXML-SV-II-atomic-language-maxLength-3-4 tokoe:invalid" result="pass"/><test-case name="11704NISTXML-SV-II-atomic-language-maxLength-3-5 tokoe:invalid" result="pass"/><test-case name="11705NISTSchema-SV-II-atomic-language-maxLength-4 tokoe:valid" result="pass"/><test-case name="11706NISTXML-SV-II-atomic-language-maxLength-4-1 tokoe:invalid" result="pass"/><test-case name="11707NISTXML-SV-II-atomic-language-maxLength-4-2 tokoe:invalid" result="pass"/><test-case name="11708NISTXML-SV-II-atomic-language-maxLength-4-3 tokoe:invalid" result="pass"/><test-case name="11709NISTXML-SV-II-atomic-language-maxLength-4-4 tokoe:invalid" result="pass"/><test-case name="11710NISTXML-SV-II-atomic-language-maxLength-4-5 tokoe:invalid" result="pass"/><test-case name="11711NISTSchema-SV-II-atomic-language-maxLength-5 tokoe:valid" result="pass"/><test-case name="11712NISTXML-SV-II-atomic-language-maxLength-5-1 tokoe:invalid" result="pass"/><test-case name="11713NISTXML-SV-II-atomic-language-maxLength-5-2 tokoe:invalid" result="pass"/><test-case name="11714NISTXML-SV-II-atomic-language-maxLength-5-3 tokoe:invalid" result="pass"/><test-case name="11715NISTXML-SV-II-atomic-language-maxLength-5-4 tokoe:invalid" result="pass"/><test-case name="11716NISTXML-SV-II-atomic-language-maxLength-5-5 tokoe:invalid" result="pass"/><test-case name="11717NISTSchema-SV-II-atomic-anyURI-length-1 tokoe:valid" result="pass"/><test-case name="11718NISTXML-SV-II-atomic-anyURI-length-1-1 tokoe:invalid" result="pass"/><test-case name="11719NISTXML-SV-II-atomic-anyURI-length-1-2 tokoe:invalid" result="pass"/><test-case name="11720NISTXML-SV-II-atomic-anyURI-length-1-3 tokoe:invalid" result="pass"/><test-case name="11721NISTXML-SV-II-atomic-anyURI-length-1-4 tokoe:invalid" result="pass"/><test-case name="11722NISTXML-SV-II-atomic-anyURI-length-1-5 tokoe:invalid" result="pass"/><test-case name="11723NISTSchema-SV-II-atomic-anyURI-length-2 tokoe:valid" result="pass"/><test-case name="11724NISTXML-SV-II-atomic-anyURI-length-2-1 tokoe:invalid" result="pass"/><test-case name="11725NISTXML-SV-II-atomic-anyURI-length-2-2 tokoe:invalid" result="pass"/><test-case name="11726NISTXML-SV-II-atomic-anyURI-length-2-3 tokoe:invalid" result="pass"/><test-case name="11727NISTXML-SV-II-atomic-anyURI-length-2-4 tokoe:invalid" result="pass"/><test-case name="11728NISTXML-SV-II-atomic-anyURI-length-2-5 tokoe:invalid" result="pass"/><test-case name="11729NISTSchema-SV-II-atomic-anyURI-length-3 tokoe:valid" result="pass"/><test-case name="11730NISTXML-SV-II-atomic-anyURI-length-3-1 tokoe:invalid" result="pass"/><test-case name="11731NISTXML-SV-II-atomic-anyURI-length-3-2 tokoe:invalid" result="pass"/><test-case name="11732NISTXML-SV-II-atomic-anyURI-length-3-3 tokoe:invalid" result="pass"/><test-case name="11733NISTXML-SV-II-atomic-anyURI-length-3-4 tokoe:invalid" result="pass"/><test-case name="11734NISTXML-SV-II-atomic-anyURI-length-3-5 tokoe:invalid" result="pass"/><test-case name="11735NISTSchema-SV-II-atomic-anyURI-length-4 tokoe:valid" result="pass"/><test-case name="11736NISTXML-SV-II-atomic-anyURI-length-4-1 tokoe:invalid" result="pass"/><test-case name="11737NISTXML-SV-II-atomic-anyURI-length-4-2 tokoe:invalid" result="pass"/><test-case name="11738NISTXML-SV-II-atomic-anyURI-length-4-3 tokoe:invalid" result="pass"/><test-case name="11739NISTXML-SV-II-atomic-anyURI-length-4-4 tokoe:invalid" result="pass"/><test-case name="11740NISTXML-SV-II-atomic-anyURI-length-4-5 tokoe:invalid" result="pass"/><test-case name="11741NISTSchema-SV-II-atomic-anyURI-length-5 tokoe:valid" result="pass"/><test-case name="11742NISTXML-SV-II-atomic-anyURI-length-5-1 tokoe:invalid" result="pass"/><test-case name="11743NISTXML-SV-II-atomic-anyURI-length-5-2 tokoe:invalid" result="pass"/><test-case name="11744NISTXML-SV-II-atomic-anyURI-length-5-3 tokoe:invalid" result="pass"/><test-case name="11745NISTXML-SV-II-atomic-anyURI-length-5-4 tokoe:invalid" result="pass"/><test-case name="11746NISTXML-SV-II-atomic-anyURI-length-5-5 tokoe:invalid" result="pass"/><test-case name="11747NISTSchema-SV-II-atomic-language-length-1 tokoe:valid" result="pass"/><test-case name="11748NISTXML-SV-II-atomic-language-length-1-1 tokoe:invalid" result="pass"/><test-case name="11749NISTXML-SV-II-atomic-language-length-1-2 tokoe:invalid" result="pass"/><test-case name="11750NISTXML-SV-II-atomic-language-length-1-3 tokoe:invalid" result="pass"/><test-case name="11751NISTXML-SV-II-atomic-language-length-1-4 tokoe:invalid" result="pass"/><test-case name="11752NISTXML-SV-II-atomic-language-length-1-5 tokoe:invalid" result="pass"/><test-case name="11753NISTSchema-SV-II-atomic-language-length-2 tokoe:valid" result="pass"/><test-case name="11754NISTXML-SV-II-atomic-language-length-2-1 tokoe:invalid" result="pass"/><test-case name="11755NISTXML-SV-II-atomic-language-length-2-2 tokoe:invalid" result="pass"/><test-case name="11756NISTXML-SV-II-atomic-language-length-2-3 tokoe:invalid" result="pass"/><test-case name="11757NISTXML-SV-II-atomic-language-length-2-4 tokoe:invalid" result="pass"/><test-case name="11758NISTXML-SV-II-atomic-language-length-2-5 tokoe:invalid" result="pass"/><test-case name="11759NISTSchema-SV-II-atomic-language-length-3 tokoe:valid" result="pass"/><test-case name="11760NISTXML-SV-II-atomic-language-length-3-1 tokoe:invalid" result="pass"/><test-case name="11761NISTXML-SV-II-atomic-language-length-3-2 tokoe:invalid" result="pass"/><test-case name="11762NISTXML-SV-II-atomic-language-length-3-3 tokoe:invalid" result="pass"/><test-case name="11763NISTXML-SV-II-atomic-language-length-3-4 tokoe:invalid" result="pass"/><test-case name="11764NISTXML-SV-II-atomic-language-length-3-5 tokoe:invalid" result="pass"/><test-case name="11765NISTSchema-SV-II-atomic-language-length-4 tokoe:valid" result="pass"/><test-case name="11766NISTXML-SV-II-atomic-language-length-4-1 tokoe:invalid" result="pass"/><test-case name="11767NISTXML-SV-II-atomic-language-length-4-2 tokoe:invalid" result="pass"/><test-case name="11768NISTXML-SV-II-atomic-language-length-4-3 tokoe:invalid" result="pass"/><test-case name="11769NISTXML-SV-II-atomic-language-length-4-4 tokoe:invalid" result="pass"/><test-case name="11770NISTXML-SV-II-atomic-language-length-4-5 tokoe:invalid" result="pass"/><test-case name="11771NISTSchema-SV-II-atomic-language-length-5 tokoe:valid" result="pass"/><test-case name="11772NISTXML-SV-II-atomic-language-length-5-1 tokoe:invalid" result="pass"/><test-case name="11773NISTXML-SV-II-atomic-language-length-5-2 tokoe:invalid" result="pass"/><test-case name="11774NISTXML-SV-II-atomic-language-length-5-3 tokoe:invalid" result="pass"/><test-case name="11775NISTXML-SV-II-atomic-language-length-5-4 tokoe:invalid" result="pass"/><test-case name="11776NISTXML-SV-II-atomic-language-length-5-5 tokoe:invalid" result="pass"/><test-case name="11777NISTSchema-SV-II-atomic-anyURI-pattern-1 tokoe:valid" result="pass"/><test-case name="11778NISTXML-SV-II-atomic-anyURI-pattern-1-1 tokoe:invalid" result="pass"/><test-case name="11779NISTXML-SV-II-atomic-anyURI-pattern-1-2 tokoe:invalid" result="pass"/><test-case name="11780NISTXML-SV-II-atomic-anyURI-pattern-1-3 tokoe:invalid" result="pass"/><test-case name="11781NISTXML-SV-II-atomic-anyURI-pattern-1-4 tokoe:invalid" result="pass"/><test-case name="11782NISTXML-SV-II-atomic-anyURI-pattern-1-5 tokoe:invalid" result="pass"/><test-case name="11783NISTSchema-SV-II-atomic-anyURI-pattern-2 tokoe:valid" result="pass"/><test-case name="11784NISTXML-SV-II-atomic-anyURI-pattern-2-1 tokoe:invalid" result="pass"/><test-case name="11785NISTXML-SV-II-atomic-anyURI-pattern-2-2 tokoe:invalid" result="pass"/><test-case name="11786NISTXML-SV-II-atomic-anyURI-pattern-2-3 tokoe:invalid" result="pass"/><test-case name="11787NISTXML-SV-II-atomic-anyURI-pattern-2-4 tokoe:invalid" result="pass"/><test-case name="11788NISTXML-SV-II-atomic-anyURI-pattern-2-5 tokoe:invalid" result="pass"/><test-case name="11789NISTSchema-SV-II-atomic-anyURI-pattern-3 tokoe:valid" result="pass"/><test-case name="11790NISTXML-SV-II-atomic-anyURI-pattern-3-1 tokoe:invalid" result="pass"/><test-case name="11791NISTXML-SV-II-atomic-anyURI-pattern-3-2 tokoe:invalid" result="pass"/><test-case name="11792NISTXML-SV-II-atomic-anyURI-pattern-3-3 tokoe:invalid" result="pass"/><test-case name="11793NISTXML-SV-II-atomic-anyURI-pattern-3-4 tokoe:invalid" result="pass"/><test-case name="11794NISTXML-SV-II-atomic-anyURI-pattern-3-5 tokoe:invalid" result="pass"/><test-case name="11795NISTSchema-SV-II-atomic-anyURI-pattern-4 tokoe:valid" result="pass"/><test-case name="11796NISTXML-SV-II-atomic-anyURI-pattern-4-1 tokoe:invalid" result="pass"/><test-case name="11797NISTXML-SV-II-atomic-anyURI-pattern-4-2 tokoe:invalid" result="pass"/><test-case name="11798NISTXML-SV-II-atomic-anyURI-pattern-4-3 tokoe:invalid" result="pass"/><test-case name="11799NISTXML-SV-II-atomic-anyURI-pattern-4-4 tokoe:invalid" result="pass"/><test-case name="11800NISTXML-SV-II-atomic-anyURI-pattern-4-5 tokoe:invalid" result="pass"/><test-case name="11801NISTSchema-SV-II-atomic-anyURI-pattern-5 tokoe:valid" result="pass"/><test-case name="11802NISTXML-SV-II-atomic-anyURI-pattern-5-1 tokoe:invalid" result="pass"/><test-case name="11803NISTXML-SV-II-atomic-anyURI-pattern-5-2 tokoe:invalid" result="pass"/><test-case name="11804NISTXML-SV-II-atomic-anyURI-pattern-5-3 tokoe:invalid" result="pass"/><test-case name="11805NISTXML-SV-II-atomic-anyURI-pattern-5-4 tokoe:invalid" result="pass"/><test-case name="11806NISTXML-SV-II-atomic-anyURI-pattern-5-5 tokoe:invalid" result="pass"/><test-case name="11807NISTSchema-SV-II-atomic-anyURI-enumeration-1 tokoe:valid" result="pass"/><test-case name="11808NISTXML-SV-II-atomic-anyURI-enumeration-1-1 tokoe:invalid" result="pass"/><test-case name="11809NISTXML-SV-II-atomic-anyURI-enumeration-1-2 tokoe:invalid" result="pass"/><test-case name="11810NISTXML-SV-II-atomic-anyURI-enumeration-1-3 tokoe:invalid" result="pass"/><test-case name="11811NISTXML-SV-II-atomic-anyURI-enumeration-1-4 tokoe:invalid" result="pass"/><test-case name="11812NISTXML-SV-II-atomic-anyURI-enumeration-1-5 tokoe:invalid" result="pass"/><test-case name="11813NISTSchema-SV-II-atomic-anyURI-enumeration-2 tokoe:valid" result="pass"/><test-case name="11814NISTXML-SV-II-atomic-anyURI-enumeration-2-1 tokoe:invalid" result="pass"/><test-case name="11815NISTXML-SV-II-atomic-anyURI-enumeration-2-2 tokoe:invalid" result="pass"/><test-case name="11816NISTXML-SV-II-atomic-anyURI-enumeration-2-3 tokoe:invalid" result="pass"/><test-case name="11817NISTXML-SV-II-atomic-anyURI-enumeration-2-4 tokoe:invalid" result="pass"/><test-case name="11818NISTXML-SV-II-atomic-anyURI-enumeration-2-5 tokoe:invalid" result="pass"/><test-case name="11819NISTSchema-SV-II-atomic-anyURI-enumeration-3 tokoe:valid" result="pass"/><test-case name="11820NISTXML-SV-II-atomic-anyURI-enumeration-3-1 tokoe:invalid" result="pass"/><test-case name="11821NISTXML-SV-II-atomic-anyURI-enumeration-3-2 tokoe:invalid" result="pass"/><test-case name="11822NISTXML-SV-II-atomic-anyURI-enumeration-3-3 tokoe:invalid" result="pass"/><test-case name="11823NISTXML-SV-II-atomic-anyURI-enumeration-3-4 tokoe:invalid" result="pass"/><test-case name="11824NISTXML-SV-II-atomic-anyURI-enumeration-3-5 tokoe:invalid" result="pass"/><test-case name="11825NISTSchema-SV-II-atomic-anyURI-enumeration-4 tokoe:valid" result="pass"/><test-case name="11826NISTXML-SV-II-atomic-anyURI-enumeration-4-1 tokoe:invalid" result="pass"/><test-case name="11827NISTXML-SV-II-atomic-anyURI-enumeration-4-2 tokoe:invalid" result="pass"/><test-case name="11828NISTXML-SV-II-atomic-anyURI-enumeration-4-3 tokoe:invalid" result="pass"/><test-case name="11829NISTXML-SV-II-atomic-anyURI-enumeration-4-4 tokoe:invalid" result="pass"/><test-case name="11830NISTXML-SV-II-atomic-anyURI-enumeration-4-5 tokoe:invalid" result="pass"/><test-case name="11831NISTSchema-SV-II-atomic-anyURI-enumeration-5 tokoe:valid" result="pass"/><test-case name="11832NISTXML-SV-II-atomic-anyURI-enumeration-5-1 tokoe:invalid" result="pass"/><test-case name="11833NISTXML-SV-II-atomic-anyURI-enumeration-5-2 tokoe:invalid" result="pass"/><test-case name="11834NISTXML-SV-II-atomic-anyURI-enumeration-5-3 tokoe:invalid" result="pass"/><test-case name="11835NISTXML-SV-II-atomic-anyURI-enumeration-5-4 tokoe:invalid" result="pass"/><test-case name="11836NISTXML-SV-II-atomic-anyURI-enumeration-5-5 tokoe:invalid" result="pass"/><test-case name="11837NISTSchema-SV-IV-list-decimal-maxLength-1 tokoe:valid" result="pass"/><test-case name="11838NISTXML-SV-IV-list-decimal-maxLength-1-1 tokoe:valid" result="pass"/><test-case name="11839NISTXML-SV-IV-list-decimal-maxLength-1-2 tokoe:valid" result="pass"/><test-case name="11840NISTXML-SV-IV-list-decimal-maxLength-1-3 tokoe:valid" result="pass"/><test-case name="11841NISTXML-SV-IV-list-decimal-maxLength-1-4 tokoe:valid" result="pass"/><test-case name="11842NISTXML-SV-IV-list-decimal-maxLength-1-5 tokoe:valid" result="pass"/><test-case name="11843NISTSchema-SV-IV-list-decimal-maxLength-2 tokoe:valid" result="pass"/><test-case name="11844NISTXML-SV-IV-list-decimal-maxLength-2-1 tokoe:valid" result="pass"/><test-case name="11845NISTXML-SV-IV-list-decimal-maxLength-2-2 tokoe:valid" result="pass"/><test-case name="11846NISTXML-SV-IV-list-decimal-maxLength-2-3 tokoe:valid" result="pass"/><test-case name="11847NISTXML-SV-IV-list-decimal-maxLength-2-4 tokoe:valid" result="pass"/><test-case name="11848NISTXML-SV-IV-list-decimal-maxLength-2-5 tokoe:valid" result="pass"/><test-case name="11849NISTSchema-SV-IV-list-decimal-maxLength-3 tokoe:valid" result="pass"/><test-case name="11850NISTXML-SV-IV-list-decimal-maxLength-3-1 tokoe:valid" result="pass"/><test-case name="11851NISTXML-SV-IV-list-decimal-maxLength-3-2 tokoe:valid" result="pass"/><test-case name="11852NISTXML-SV-IV-list-decimal-maxLength-3-3 tokoe:valid" result="pass"/><test-case name="11853NISTXML-SV-IV-list-decimal-maxLength-3-4 tokoe:valid" result="pass"/><test-case name="11854NISTXML-SV-IV-list-decimal-maxLength-3-5 tokoe:valid" result="pass"/><test-case name="11855NISTSchema-SV-IV-list-decimal-maxLength-4 tokoe:valid" result="pass"/><test-case name="11856NISTXML-SV-IV-list-decimal-maxLength-4-1 tokoe:valid" result="pass"/><test-case name="11857NISTXML-SV-IV-list-decimal-maxLength-4-2 tokoe:valid" result="pass"/><test-case name="11858NISTXML-SV-IV-list-decimal-maxLength-4-3 tokoe:valid" result="pass"/><test-case name="11859NISTXML-SV-IV-list-decimal-maxLength-4-4 tokoe:valid" result="pass"/><test-case name="11860NISTXML-SV-IV-list-decimal-maxLength-4-5 tokoe:valid" result="pass"/><test-case name="11861NISTSchema-SV-IV-list-decimal-maxLength-5 tokoe:valid" result="pass"/><test-case name="11862NISTXML-SV-IV-list-decimal-maxLength-5-1 tokoe:valid" result="pass"/><test-case name="11863NISTXML-SV-IV-list-decimal-maxLength-5-2 tokoe:valid" result="pass"/><test-case name="11864NISTXML-SV-IV-list-decimal-maxLength-5-3 tokoe:valid" result="pass"/><test-case name="11865NISTXML-SV-IV-list-decimal-maxLength-5-4 tokoe:valid" result="pass"/><test-case name="11866NISTXML-SV-IV-list-decimal-maxLength-5-5 tokoe:valid" result="pass"/><test-case name="11867NISTSchema-SV-IV-list-decimal-minLength-1 tokoe:valid" result="pass"/><test-case name="11868NISTXML-SV-IV-list-decimal-minLength-1-1 tokoe:valid" result="pass"/><test-case name="11869NISTXML-SV-IV-list-decimal-minLength-1-2 tokoe:valid" result="pass"/><test-case name="11870NISTXML-SV-IV-list-decimal-minLength-1-3 tokoe:valid" result="pass"/><test-case name="11871NISTXML-SV-IV-list-decimal-minLength-1-4 tokoe:valid" result="pass"/><test-case name="11872NISTXML-SV-IV-list-decimal-minLength-1-5 tokoe:valid" result="pass"/><test-case name="11873NISTSchema-SV-IV-list-decimal-minLength-2 tokoe:valid" result="pass"/><test-case name="11874NISTXML-SV-IV-list-decimal-minLength-2-1 tokoe:valid" result="pass"/><test-case name="11875NISTXML-SV-IV-list-decimal-minLength-2-2 tokoe:valid" result="pass"/><test-case name="11876NISTXML-SV-IV-list-decimal-minLength-2-3 tokoe:valid" result="pass"/><test-case name="11877NISTXML-SV-IV-list-decimal-minLength-2-4 tokoe:valid" result="pass"/><test-case name="11878NISTXML-SV-IV-list-decimal-minLength-2-5 tokoe:valid" result="pass"/><test-case name="11879NISTSchema-SV-IV-list-decimal-minLength-3 tokoe:valid" result="pass"/><test-case name="11880NISTXML-SV-IV-list-decimal-minLength-3-1 tokoe:valid" result="pass"/><test-case name="11881NISTXML-SV-IV-list-decimal-minLength-3-2 tokoe:valid" result="pass"/><test-case name="11882NISTXML-SV-IV-list-decimal-minLength-3-3 tokoe:valid" result="pass"/><test-case name="11883NISTXML-SV-IV-list-decimal-minLength-3-4 tokoe:valid" result="pass"/><test-case name="11884NISTXML-SV-IV-list-decimal-minLength-3-5 tokoe:valid" result="pass"/><test-case name="11885NISTSchema-SV-IV-list-decimal-minLength-4 tokoe:valid" result="pass"/><test-case name="11886NISTXML-SV-IV-list-decimal-minLength-4-1 tokoe:valid" result="pass"/><test-case name="11887NISTXML-SV-IV-list-decimal-minLength-4-2 tokoe:valid" result="pass"/><test-case name="11888NISTXML-SV-IV-list-decimal-minLength-4-3 tokoe:valid" result="pass"/><test-case name="11889NISTXML-SV-IV-list-decimal-minLength-4-4 tokoe:valid" result="pass"/><test-case name="11890NISTXML-SV-IV-list-decimal-minLength-4-5 tokoe:valid" result="pass"/><test-case name="11891NISTSchema-SV-IV-list-decimal-minLength-5 tokoe:valid" result="pass"/><test-case name="11892NISTXML-SV-IV-list-decimal-minLength-5-1 tokoe:valid" result="pass"/><test-case name="11893NISTXML-SV-IV-list-decimal-minLength-5-2 tokoe:valid" result="pass"/><test-case name="11894NISTXML-SV-IV-list-decimal-minLength-5-3 tokoe:valid" result="pass"/><test-case name="11895NISTXML-SV-IV-list-decimal-minLength-5-4 tokoe:valid" result="pass"/><test-case name="11896NISTXML-SV-IV-list-decimal-minLength-5-5 tokoe:valid" result="pass"/><test-case name="11897NISTSchema-SV-IV-list-decimal-length-1 tokoe:valid" result="pass"/><test-case name="11898NISTXML-SV-IV-list-decimal-length-1-1 tokoe:valid" result="pass"/><test-case name="11899NISTXML-SV-IV-list-decimal-length-1-2 tokoe:valid" result="pass"/><test-case name="11900NISTXML-SV-IV-list-decimal-length-1-3 tokoe:valid" result="pass"/><test-case name="11901NISTXML-SV-IV-list-decimal-length-1-4 tokoe:valid" result="pass"/><test-case name="11902NISTXML-SV-IV-list-decimal-length-1-5 tokoe:valid" result="pass"/><test-case name="11903NISTSchema-SV-IV-list-decimal-length-2 tokoe:valid" result="pass"/><test-case name="11904NISTXML-SV-IV-list-decimal-length-2-1 tokoe:valid" result="pass"/><test-case name="11905NISTXML-SV-IV-list-decimal-length-2-2 tokoe:valid" result="pass"/><test-case name="11906NISTXML-SV-IV-list-decimal-length-2-3 tokoe:valid" result="pass"/><test-case name="11907NISTXML-SV-IV-list-decimal-length-2-4 tokoe:valid" result="pass"/><test-case name="11908NISTXML-SV-IV-list-decimal-length-2-5 tokoe:valid" result="pass"/><test-case name="11909NISTSchema-SV-IV-list-decimal-length-3 tokoe:valid" result="pass"/><test-case name="11910NISTXML-SV-IV-list-decimal-length-3-1 tokoe:valid" result="pass"/><test-case name="11911NISTXML-SV-IV-list-decimal-length-3-2 tokoe:valid" result="pass"/><test-case name="11912NISTXML-SV-IV-list-decimal-length-3-3 tokoe:valid" result="pass"/><test-case name="11913NISTXML-SV-IV-list-decimal-length-3-4 tokoe:valid" result="pass"/><test-case name="11914NISTXML-SV-IV-list-decimal-length-3-5 tokoe:valid" result="pass"/><test-case name="11915NISTSchema-SV-IV-list-decimal-length-4 tokoe:valid" result="pass"/><test-case name="11916NISTXML-SV-IV-list-decimal-length-4-1 tokoe:valid" result="pass"/><test-case name="11917NISTXML-SV-IV-list-decimal-length-4-2 tokoe:valid" result="pass"/><test-case name="11918NISTXML-SV-IV-list-decimal-length-4-3 tokoe:valid" result="pass"/><test-case name="11919NISTXML-SV-IV-list-decimal-length-4-4 tokoe:valid" result="pass"/><test-case name="11920NISTXML-SV-IV-list-decimal-length-4-5 tokoe:valid" result="pass"/><test-case name="11921NISTSchema-SV-IV-list-decimal-length-5 tokoe:valid" result="pass"/><test-case name="11922NISTXML-SV-IV-list-decimal-length-5-1 tokoe:valid" result="pass"/><test-case name="11923NISTXML-SV-IV-list-decimal-length-5-2 tokoe:valid" result="pass"/><test-case name="11924NISTXML-SV-IV-list-decimal-length-5-3 tokoe:valid" result="pass"/><test-case name="11925NISTXML-SV-IV-list-decimal-length-5-4 tokoe:valid" result="pass"/><test-case name="11926NISTXML-SV-IV-list-decimal-length-5-5 tokoe:valid" result="pass"/><test-case name="11927NISTSchema-SV-IV-list-decimal-pattern-1 tokoe:valid" result="pass"/><test-case name="11928NISTXML-SV-IV-list-decimal-pattern-1-1 tokoe:valid" result="pass"/><test-case name="11929NISTXML-SV-IV-list-decimal-pattern-1-2 tokoe:valid" result="pass"/><test-case name="11930NISTXML-SV-IV-list-decimal-pattern-1-3 tokoe:valid" result="pass"/><test-case name="11931NISTXML-SV-IV-list-decimal-pattern-1-4 tokoe:valid" result="pass"/><test-case name="11932NISTXML-SV-IV-list-decimal-pattern-1-5 tokoe:valid" result="pass"/><test-case name="11933NISTSchema-SV-IV-list-decimal-pattern-2 tokoe:valid" result="pass"/><test-case name="11934NISTXML-SV-IV-list-decimal-pattern-2-1 tokoe:valid" result="pass"/><test-case name="11935NISTXML-SV-IV-list-decimal-pattern-2-2 tokoe:valid" result="pass"/><test-case name="11936NISTXML-SV-IV-list-decimal-pattern-2-3 tokoe:valid" result="pass"/><test-case name="11937NISTXML-SV-IV-list-decimal-pattern-2-4 tokoe:valid" result="pass"/><test-case name="11938NISTXML-SV-IV-list-decimal-pattern-2-5 tokoe:valid" result="pass"/><test-case name="11939NISTSchema-SV-IV-list-decimal-pattern-3 tokoe:valid" result="pass"/><test-case name="11940NISTXML-SV-IV-list-decimal-pattern-3-1 tokoe:valid" result="pass"/><test-case name="11941NISTXML-SV-IV-list-decimal-pattern-3-2 tokoe:valid" result="pass"/><test-case name="11942NISTXML-SV-IV-list-decimal-pattern-3-3 tokoe:valid" result="pass"/><test-case name="11943NISTXML-SV-IV-list-decimal-pattern-3-4 tokoe:valid" result="pass"/><test-case name="11944NISTXML-SV-IV-list-decimal-pattern-3-5 tokoe:valid" result="pass"/><test-case name="11945NISTSchema-SV-IV-list-decimal-pattern-4 tokoe:valid" result="pass"/><test-case name="11946NISTXML-SV-IV-list-decimal-pattern-4-1 tokoe:valid" result="pass"/><test-case name="11947NISTXML-SV-IV-list-decimal-pattern-4-2 tokoe:valid" result="pass"/><test-case name="11948NISTXML-SV-IV-list-decimal-pattern-4-3 tokoe:valid" result="pass"/><test-case name="11949NISTXML-SV-IV-list-decimal-pattern-4-4 tokoe:valid" result="pass"/><test-case name="11950NISTXML-SV-IV-list-decimal-pattern-4-5 tokoe:valid" result="pass"/><test-case name="11951NISTSchema-SV-IV-list-decimal-pattern-5 tokoe:valid" result="pass"/><test-case name="11952NISTXML-SV-IV-list-decimal-pattern-5-1 tokoe:valid" result="pass"/><test-case name="11953NISTXML-SV-IV-list-decimal-pattern-5-2 tokoe:valid" result="pass"/><test-case name="11954NISTXML-SV-IV-list-decimal-pattern-5-3 tokoe:valid" result="pass"/><test-case name="11955NISTXML-SV-IV-list-decimal-pattern-5-4 tokoe:valid" result="pass"/><test-case name="11956NISTXML-SV-IV-list-decimal-pattern-5-5 tokoe:valid" result="pass"/><test-case name="11957NISTSchema-SV-IV-list-decimal-enumeration-1 tokoe:valid" result="pass"/><test-case name="11958NISTXML-SV-IV-list-decimal-enumeration-1-1 tokoe:valid" result="pass"/><test-case name="11959NISTXML-SV-IV-list-decimal-enumeration-1-2 tokoe:valid" result="pass"/><test-case name="11960NISTXML-SV-IV-list-decimal-enumeration-1-3 tokoe:valid" result="pass"/><test-case name="11961NISTXML-SV-IV-list-decimal-enumeration-1-4 tokoe:valid" result="pass"/><test-case name="11962NISTXML-SV-IV-list-decimal-enumeration-1-5 tokoe:valid" result="pass"/><test-case name="11963NISTSchema-SV-IV-list-decimal-enumeration-2 tokoe:valid" result="pass"/><test-case name="11964NISTXML-SV-IV-list-decimal-enumeration-2-1 tokoe:valid" result="pass"/><test-case name="11965NISTXML-SV-IV-list-decimal-enumeration-2-2 tokoe:valid" result="pass"/><test-case name="11966NISTXML-SV-IV-list-decimal-enumeration-2-3 tokoe:valid" result="pass"/><test-case name="11967NISTXML-SV-IV-list-decimal-enumeration-2-4 tokoe:valid" result="pass"/><test-case name="11968NISTXML-SV-IV-list-decimal-enumeration-2-5 tokoe:valid" result="pass"/><test-case name="11969NISTSchema-SV-IV-list-decimal-enumeration-3 tokoe:valid" result="pass"/><test-case name="11970NISTXML-SV-IV-list-decimal-enumeration-3-1 tokoe:valid" result="pass"/><test-case name="11971NISTXML-SV-IV-list-decimal-enumeration-3-2 tokoe:valid" result="pass"/><test-case name="11972NISTXML-SV-IV-list-decimal-enumeration-3-3 tokoe:valid" result="pass"/><test-case name="11973NISTXML-SV-IV-list-decimal-enumeration-3-4 tokoe:valid" result="pass"/><test-case name="11974NISTXML-SV-IV-list-decimal-enumeration-3-5 tokoe:valid" result="pass"/><test-case name="11975NISTSchema-SV-IV-list-decimal-enumeration-4 tokoe:valid" result="pass"/><test-case name="11976NISTXML-SV-IV-list-decimal-enumeration-4-1 tokoe:valid" result="pass"/><test-case name="11977NISTXML-SV-IV-list-decimal-enumeration-4-2 tokoe:valid" result="pass"/><test-case name="11978NISTXML-SV-IV-list-decimal-enumeration-4-3 tokoe:valid" result="pass"/><test-case name="11979NISTXML-SV-IV-list-decimal-enumeration-4-4 tokoe:valid" result="pass"/><test-case name="11980NISTXML-SV-IV-list-decimal-enumeration-4-5 tokoe:valid" result="pass"/><test-case name="11981NISTSchema-SV-IV-list-decimal-enumeration-5 tokoe:valid" result="pass"/><test-case name="11982NISTXML-SV-IV-list-decimal-enumeration-5-1 tokoe:valid" result="pass"/><test-case name="11983NISTXML-SV-IV-list-decimal-enumeration-5-2 tokoe:valid" result="pass"/><test-case name="11984NISTXML-SV-IV-list-decimal-enumeration-5-3 tokoe:valid" result="pass"/><test-case name="11985NISTXML-SV-IV-list-decimal-enumeration-5-4 tokoe:valid" result="pass"/><test-case name="11986NISTXML-SV-IV-list-decimal-enumeration-5-5 tokoe:valid" result="pass"/><test-case name="11987NISTSchema-SV-IV-list-decimal-whiteSpace-1 tokoe:valid" result="pass"/><test-case name="11988NISTXML-SV-IV-list-decimal-whiteSpace-1-1 tokoe:valid" result="pass"/><test-case name="11989NISTXML-SV-IV-list-decimal-whiteSpace-1-2 tokoe:valid" result="pass"/><test-case name="11990NISTXML-SV-IV-list-decimal-whiteSpace-1-3 tokoe:valid" result="pass"/><test-case name="11991NISTXML-SV-IV-list-decimal-whiteSpace-1-4 tokoe:valid" result="pass"/><test-case name="11992NISTXML-SV-IV-list-decimal-whiteSpace-1-5 tokoe:valid" result="pass"/><test-case name="11993NISTSchema-SV-IV-list-integer-maxLength-1 tokoe:valid" result="pass"/><test-case name="11994NISTXML-SV-IV-list-integer-maxLength-1-1 tokoe:valid" result="pass"/><test-case name="11995NISTXML-SV-IV-list-integer-maxLength-1-2 tokoe:valid" result="pass"/><test-case name="11996NISTXML-SV-IV-list-integer-maxLength-1-3 tokoe:valid" result="pass"/><test-case name="11997NISTXML-SV-IV-list-integer-maxLength-1-4 tokoe:valid" result="pass"/><test-case name="11998NISTXML-SV-IV-list-integer-maxLength-1-5 tokoe:valid" result="pass"/><test-case name="11999NISTSchema-SV-IV-list-integer-maxLength-2 tokoe:valid" result="pass"/><test-case name="12000NISTXML-SV-IV-list-integer-maxLength-2-1 tokoe:valid" result="pass"/><test-case name="12001NISTXML-SV-IV-list-integer-maxLength-2-2 tokoe:valid" result="pass"/><test-case name="12002NISTXML-SV-IV-list-integer-maxLength-2-3 tokoe:valid" result="pass"/><test-case name="12003NISTXML-SV-IV-list-integer-maxLength-2-4 tokoe:valid" result="pass"/><test-case name="12004NISTXML-SV-IV-list-integer-maxLength-2-5 tokoe:valid" result="pass"/><test-case name="12005NISTSchema-SV-IV-list-integer-maxLength-3 tokoe:valid" result="pass"/><test-case name="12006NISTXML-SV-IV-list-integer-maxLength-3-1 tokoe:valid" result="pass"/><test-case name="12007NISTXML-SV-IV-list-integer-maxLength-3-2 tokoe:valid" result="pass"/><test-case name="12008NISTXML-SV-IV-list-integer-maxLength-3-3 tokoe:valid" result="pass"/><test-case name="12009NISTXML-SV-IV-list-integer-maxLength-3-4 tokoe:valid" result="pass"/><test-case name="12010NISTXML-SV-IV-list-integer-maxLength-3-5 tokoe:valid" result="pass"/><test-case name="12011NISTSchema-SV-IV-list-integer-maxLength-4 tokoe:valid" result="pass"/><test-case name="12012NISTXML-SV-IV-list-integer-maxLength-4-1 tokoe:valid" result="pass"/><test-case name="12013NISTXML-SV-IV-list-integer-maxLength-4-2 tokoe:valid" result="pass"/><test-case name="12014NISTXML-SV-IV-list-integer-maxLength-4-3 tokoe:valid" result="pass"/><test-case name="12015NISTXML-SV-IV-list-integer-maxLength-4-4 tokoe:valid" result="pass"/><test-case name="12016NISTXML-SV-IV-list-integer-maxLength-4-5 tokoe:valid" result="pass"/><test-case name="12017NISTSchema-SV-IV-list-integer-maxLength-5 tokoe:valid" result="pass"/><test-case name="12018NISTXML-SV-IV-list-integer-maxLength-5-1 tokoe:valid" result="pass"/><test-case name="12019NISTXML-SV-IV-list-integer-maxLength-5-2 tokoe:valid" result="pass"/><test-case name="12020NISTXML-SV-IV-list-integer-maxLength-5-3 tokoe:valid" result="pass"/><test-case name="12021NISTXML-SV-IV-list-integer-maxLength-5-4 tokoe:valid" result="pass"/><test-case name="12022NISTXML-SV-IV-list-integer-maxLength-5-5 tokoe:valid" result="pass"/><test-case name="12023NISTSchema-SV-IV-list-integer-minLength-1 tokoe:valid" result="pass"/><test-case name="12024NISTXML-SV-IV-list-integer-minLength-1-1 tokoe:valid" result="pass"/><test-case name="12025NISTXML-SV-IV-list-integer-minLength-1-2 tokoe:valid" result="pass"/><test-case name="12026NISTXML-SV-IV-list-integer-minLength-1-3 tokoe:valid" result="pass"/><test-case name="12027NISTXML-SV-IV-list-integer-minLength-1-4 tokoe:valid" result="pass"/><test-case name="12028NISTXML-SV-IV-list-integer-minLength-1-5 tokoe:valid" result="pass"/><test-case name="12029NISTSchema-SV-IV-list-integer-minLength-2 tokoe:valid" result="pass"/><test-case name="12030NISTXML-SV-IV-list-integer-minLength-2-1 tokoe:valid" result="pass"/><test-case name="12031NISTXML-SV-IV-list-integer-minLength-2-2 tokoe:valid" result="pass"/><test-case name="12032NISTXML-SV-IV-list-integer-minLength-2-3 tokoe:valid" result="pass"/><test-case name="12033NISTXML-SV-IV-list-integer-minLength-2-4 tokoe:valid" result="pass"/><test-case name="12034NISTXML-SV-IV-list-integer-minLength-2-5 tokoe:valid" result="pass"/><test-case name="12035NISTSchema-SV-IV-list-integer-minLength-3 tokoe:valid" result="pass"/><test-case name="12036NISTXML-SV-IV-list-integer-minLength-3-1 tokoe:valid" result="pass"/><test-case name="12037NISTXML-SV-IV-list-integer-minLength-3-2 tokoe:valid" result="pass"/><test-case name="12038NISTXML-SV-IV-list-integer-minLength-3-3 tokoe:valid" result="pass"/><test-case name="12039NISTXML-SV-IV-list-integer-minLength-3-4 tokoe:valid" result="pass"/><test-case name="12040NISTXML-SV-IV-list-integer-minLength-3-5 tokoe:valid" result="pass"/><test-case name="12041NISTSchema-SV-IV-list-integer-minLength-4 tokoe:valid" result="pass"/><test-case name="12042NISTXML-SV-IV-list-integer-minLength-4-1 tokoe:valid" result="pass"/><test-case name="12043NISTXML-SV-IV-list-integer-minLength-4-2 tokoe:valid" result="pass"/><test-case name="12044NISTXML-SV-IV-list-integer-minLength-4-3 tokoe:valid" result="pass"/><test-case name="12045NISTXML-SV-IV-list-integer-minLength-4-4 tokoe:valid" result="pass"/><test-case name="12046NISTXML-SV-IV-list-integer-minLength-4-5 tokoe:valid" result="pass"/><test-case name="12047NISTSchema-SV-IV-list-integer-minLength-5 tokoe:valid" result="pass"/><test-case name="12048NISTXML-SV-IV-list-integer-minLength-5-1 tokoe:valid" result="pass"/><test-case name="12049NISTXML-SV-IV-list-integer-minLength-5-2 tokoe:valid" result="pass"/><test-case name="12050NISTXML-SV-IV-list-integer-minLength-5-3 tokoe:valid" result="pass"/><test-case name="12051NISTXML-SV-IV-list-integer-minLength-5-4 tokoe:valid" result="pass"/><test-case name="12052NISTXML-SV-IV-list-integer-minLength-5-5 tokoe:valid" result="pass"/><test-case name="12053NISTSchema-SV-IV-list-integer-length-1 tokoe:valid" result="pass"/><test-case name="12054NISTXML-SV-IV-list-integer-length-1-1 tokoe:valid" result="pass"/><test-case name="12055NISTXML-SV-IV-list-integer-length-1-2 tokoe:valid" result="pass"/><test-case name="12056NISTXML-SV-IV-list-integer-length-1-3 tokoe:valid" result="pass"/><test-case name="12057NISTXML-SV-IV-list-integer-length-1-4 tokoe:valid" result="pass"/><test-case name="12058NISTXML-SV-IV-list-integer-length-1-5 tokoe:valid" result="pass"/><test-case name="12059NISTSchema-SV-IV-list-integer-length-2 tokoe:valid" result="pass"/><test-case name="12060NISTXML-SV-IV-list-integer-length-2-1 tokoe:valid" result="pass"/><test-case name="12061NISTXML-SV-IV-list-integer-length-2-2 tokoe:valid" result="pass"/><test-case name="12062NISTXML-SV-IV-list-integer-length-2-3 tokoe:valid" result="pass"/><test-case name="12063NISTXML-SV-IV-list-integer-length-2-4 tokoe:valid" result="pass"/><test-case name="12064NISTXML-SV-IV-list-integer-length-2-5 tokoe:valid" result="pass"/><test-case name="12065NISTSchema-SV-IV-list-integer-length-3 tokoe:valid" result="pass"/><test-case name="12066NISTXML-SV-IV-list-integer-length-3-1 tokoe:valid" result="pass"/><test-case name="12067NISTXML-SV-IV-list-integer-length-3-2 tokoe:valid" result="pass"/><test-case name="12068NISTXML-SV-IV-list-integer-length-3-3 tokoe:valid" result="pass"/><test-case name="12069NISTXML-SV-IV-list-integer-length-3-4 tokoe:valid" result="pass"/><test-case name="12070NISTXML-SV-IV-list-integer-length-3-5 tokoe:valid" result="pass"/><test-case name="12071NISTSchema-SV-IV-list-integer-length-4 tokoe:valid" result="pass"/><test-case name="12072NISTXML-SV-IV-list-integer-length-4-1 tokoe:valid" result="pass"/><test-case name="12073NISTXML-SV-IV-list-integer-length-4-2 tokoe:valid" result="pass"/><test-case name="12074NISTXML-SV-IV-list-integer-length-4-3 tokoe:valid" result="pass"/><test-case name="12075NISTXML-SV-IV-list-integer-length-4-4 tokoe:valid" result="pass"/><test-case name="12076NISTXML-SV-IV-list-integer-length-4-5 tokoe:valid" result="pass"/><test-case name="12077NISTSchema-SV-IV-list-integer-length-5 tokoe:valid" result="pass"/><test-case name="12078NISTXML-SV-IV-list-integer-length-5-1 tokoe:valid" result="pass"/><test-case name="12079NISTXML-SV-IV-list-integer-length-5-2 tokoe:valid" result="pass"/><test-case name="12080NISTXML-SV-IV-list-integer-length-5-3 tokoe:valid" result="pass"/><test-case name="12081NISTXML-SV-IV-list-integer-length-5-4 tokoe:valid" result="pass"/><test-case name="12082NISTXML-SV-IV-list-integer-length-5-5 tokoe:valid" result="pass"/><test-case name="12083NISTSchema-SV-IV-list-integer-pattern-1 tokoe:valid" result="pass"/><test-case name="12084NISTXML-SV-IV-list-integer-pattern-1-1 tokoe:valid" result="pass"/><test-case name="12085NISTXML-SV-IV-list-integer-pattern-1-2 tokoe:valid" result="pass"/><test-case name="12086NISTXML-SV-IV-list-integer-pattern-1-3 tokoe:valid" result="pass"/><test-case name="12087NISTXML-SV-IV-list-integer-pattern-1-4 tokoe:valid" result="pass"/><test-case name="12088NISTXML-SV-IV-list-integer-pattern-1-5 tokoe:valid" result="pass"/><test-case name="12089NISTSchema-SV-IV-list-integer-pattern-2 tokoe:valid" result="pass"/><test-case name="12090NISTXML-SV-IV-list-integer-pattern-2-1 tokoe:valid" result="pass"/><test-case name="12091NISTXML-SV-IV-list-integer-pattern-2-2 tokoe:valid" result="pass"/><test-case name="12092NISTXML-SV-IV-list-integer-pattern-2-3 tokoe:valid" result="pass"/><test-case name="12093NISTXML-SV-IV-list-integer-pattern-2-4 tokoe:valid" result="pass"/><test-case name="12094NISTXML-SV-IV-list-integer-pattern-2-5 tokoe:valid" result="pass"/><test-case name="12095NISTSchema-SV-IV-list-integer-pattern-3 tokoe:valid" result="pass"/><test-case name="12096NISTXML-SV-IV-list-integer-pattern-3-1 tokoe:valid" result="pass"/><test-case name="12097NISTXML-SV-IV-list-integer-pattern-3-2 tokoe:valid" result="pass"/><test-case name="12098NISTXML-SV-IV-list-integer-pattern-3-3 tokoe:valid" result="pass"/><test-case name="12099NISTXML-SV-IV-list-integer-pattern-3-4 tokoe:valid" result="pass"/><test-case name="12100NISTXML-SV-IV-list-integer-pattern-3-5 tokoe:valid" result="pass"/><test-case name="12101NISTSchema-SV-IV-list-integer-pattern-4 tokoe:valid" result="pass"/><test-case name="12102NISTXML-SV-IV-list-integer-pattern-4-1 tokoe:valid" result="pass"/><test-case name="12103NISTXML-SV-IV-list-integer-pattern-4-2 tokoe:valid" result="pass"/><test-case name="12104NISTXML-SV-IV-list-integer-pattern-4-3 tokoe:valid" result="pass"/><test-case name="12105NISTXML-SV-IV-list-integer-pattern-4-4 tokoe:valid" result="pass"/><test-case name="12106NISTXML-SV-IV-list-integer-pattern-4-5 tokoe:valid" result="pass"/><test-case name="12107NISTSchema-SV-IV-list-integer-pattern-5 tokoe:valid" result="pass"/><test-case name="12108NISTXML-SV-IV-list-integer-pattern-5-1 tokoe:valid" result="pass"/><test-case name="12109NISTXML-SV-IV-list-integer-pattern-5-2 tokoe:valid" result="pass"/><test-case name="12110NISTXML-SV-IV-list-integer-pattern-5-3 tokoe:valid" result="pass"/><test-case name="12111NISTXML-SV-IV-list-integer-pattern-5-4 tokoe:valid" result="pass"/><test-case name="12112NISTXML-SV-IV-list-integer-pattern-5-5 tokoe:valid" result="pass"/><test-case name="12113NISTSchema-SV-IV-list-integer-enumeration-1 tokoe:valid" result="pass"/><test-case name="12114NISTXML-SV-IV-list-integer-enumeration-1-1 tokoe:valid" result="pass"/><test-case name="12115NISTXML-SV-IV-list-integer-enumeration-1-2 tokoe:valid" result="pass"/><test-case name="12116NISTXML-SV-IV-list-integer-enumeration-1-3 tokoe:valid" result="pass"/><test-case name="12117NISTXML-SV-IV-list-integer-enumeration-1-4 tokoe:valid" result="pass"/><test-case name="12118NISTXML-SV-IV-list-integer-enumeration-1-5 tokoe:valid" result="pass"/><test-case name="12119NISTSchema-SV-IV-list-integer-enumeration-2 tokoe:valid" result="pass"/><test-case name="12120NISTXML-SV-IV-list-integer-enumeration-2-1 tokoe:valid" result="pass"/><test-case name="12121NISTXML-SV-IV-list-integer-enumeration-2-2 tokoe:valid" result="pass"/><test-case name="12122NISTXML-SV-IV-list-integer-enumeration-2-3 tokoe:valid" result="pass"/><test-case name="12123NISTXML-SV-IV-list-integer-enumeration-2-4 tokoe:valid" result="pass"/><test-case name="12124NISTXML-SV-IV-list-integer-enumeration-2-5 tokoe:valid" result="pass"/><test-case name="12125NISTSchema-SV-IV-list-integer-enumeration-3 tokoe:valid" result="pass"/><test-case name="12126NISTXML-SV-IV-list-integer-enumeration-3-1 tokoe:valid" result="pass"/><test-case name="12127NISTXML-SV-IV-list-integer-enumeration-3-2 tokoe:valid" result="pass"/><test-case name="12128NISTXML-SV-IV-list-integer-enumeration-3-3 tokoe:valid" result="pass"/><test-case name="12129NISTXML-SV-IV-list-integer-enumeration-3-4 tokoe:valid" result="pass"/><test-case name="12130NISTXML-SV-IV-list-integer-enumeration-3-5 tokoe:valid" result="pass"/><test-case name="12131NISTSchema-SV-IV-list-integer-enumeration-4 tokoe:valid" result="pass"/><test-case name="12132NISTXML-SV-IV-list-integer-enumeration-4-1 tokoe:valid" result="pass"/><test-case name="12133NISTXML-SV-IV-list-integer-enumeration-4-2 tokoe:valid" result="pass"/><test-case name="12134NISTXML-SV-IV-list-integer-enumeration-4-3 tokoe:valid" result="pass"/><test-case name="12135NISTXML-SV-IV-list-integer-enumeration-4-4 tokoe:valid" result="pass"/><test-case name="12136NISTXML-SV-IV-list-integer-enumeration-4-5 tokoe:valid" result="pass"/><test-case name="12137NISTSchema-SV-IV-list-integer-enumeration-5 tokoe:valid" result="pass"/><test-case name="12138NISTXML-SV-IV-list-integer-enumeration-5-1 tokoe:valid" result="pass"/><test-case name="12139NISTXML-SV-IV-list-integer-enumeration-5-2 tokoe:valid" result="pass"/><test-case name="12140NISTXML-SV-IV-list-integer-enumeration-5-3 tokoe:valid" result="pass"/><test-case name="12141NISTXML-SV-IV-list-integer-enumeration-5-4 tokoe:valid" result="pass"/><test-case name="12142NISTXML-SV-IV-list-integer-enumeration-5-5 tokoe:valid" result="pass"/><test-case name="12143NISTSchema-SV-IV-list-integer-whiteSpace-1 tokoe:valid" result="pass"/><test-case name="12144NISTXML-SV-IV-list-integer-whiteSpace-1-1 tokoe:valid" result="pass"/><test-case name="12145NISTXML-SV-IV-list-integer-whiteSpace-1-2 tokoe:valid" result="pass"/><test-case name="12146NISTXML-SV-IV-list-integer-whiteSpace-1-3 tokoe:valid" result="pass"/><test-case name="12147NISTXML-SV-IV-list-integer-whiteSpace-1-4 tokoe:valid" result="pass"/><test-case name="12148NISTXML-SV-IV-list-integer-whiteSpace-1-5 tokoe:valid" result="pass"/><test-case name="12149NISTSchema-SV-IV-list-nonPositiveInteger-maxLength-1 tokoe:valid" result="pass"/><test-case name="12150NISTXML-SV-IV-list-nonPositiveInteger-maxLength-1-1 tokoe:valid" result="pass"/><test-case name="12151NISTXML-SV-IV-list-nonPositiveInteger-maxLength-1-2 tokoe:valid" result="pass"/><test-case name="12152NISTXML-SV-IV-list-nonPositiveInteger-maxLength-1-3 tokoe:valid" result="pass"/><test-case name="12153NISTXML-SV-IV-list-nonPositiveInteger-maxLength-1-4 tokoe:valid" result="pass"/><test-case name="12154NISTXML-SV-IV-list-nonPositiveInteger-maxLength-1-5 tokoe:valid" result="pass"/><test-case name="12155NISTSchema-SV-IV-list-nonPositiveInteger-maxLength-2 tokoe:valid" result="pass"/><test-case name="12156NISTXML-SV-IV-list-nonPositiveInteger-maxLength-2-1 tokoe:valid" result="pass"/><test-case name="12157NISTXML-SV-IV-list-nonPositiveInteger-maxLength-2-2 tokoe:valid" result="pass"/><test-case name="12158NISTXML-SV-IV-list-nonPositiveInteger-maxLength-2-3 tokoe:valid" result="pass"/><test-case name="12159NISTXML-SV-IV-list-nonPositiveInteger-maxLength-2-4 tokoe:valid" result="pass"/><test-case name="12160NISTXML-SV-IV-list-nonPositiveInteger-maxLength-2-5 tokoe:valid" result="pass"/><test-case name="12161NISTSchema-SV-IV-list-nonPositiveInteger-maxLength-3 tokoe:valid" result="pass"/><test-case name="12162NISTXML-SV-IV-list-nonPositiveInteger-maxLength-3-1 tokoe:valid" result="pass"/><test-case name="12163NISTXML-SV-IV-list-nonPositiveInteger-maxLength-3-2 tokoe:valid" result="pass"/><test-case name="12164NISTXML-SV-IV-list-nonPositiveInteger-maxLength-3-3 tokoe:valid" result="pass"/><test-case name="12165NISTXML-SV-IV-list-nonPositiveInteger-maxLength-3-4 tokoe:valid" result="pass"/><test-case name="12166NISTXML-SV-IV-list-nonPositiveInteger-maxLength-3-5 tokoe:valid" result="pass"/><test-case name="12167NISTSchema-SV-IV-list-nonPositiveInteger-maxLength-4 tokoe:valid" result="pass"/><test-case name="12168NISTXML-SV-IV-list-nonPositiveInteger-maxLength-4-1 tokoe:valid" result="pass"/><test-case name="12169NISTXML-SV-IV-list-nonPositiveInteger-maxLength-4-2 tokoe:valid" result="pass"/><test-case name="12170NISTXML-SV-IV-list-nonPositiveInteger-maxLength-4-3 tokoe:valid" result="pass"/><test-case name="12171NISTXML-SV-IV-list-nonPositiveInteger-maxLength-4-4 tokoe:valid" result="pass"/><test-case name="12172NISTXML-SV-IV-list-nonPositiveInteger-maxLength-4-5 tokoe:valid" result="pass"/><test-case name="12173NISTSchema-SV-IV-list-nonPositiveInteger-maxLength-5 tokoe:valid" result="pass"/><test-case name="12174NISTXML-SV-IV-list-nonPositiveInteger-maxLength-5-1 tokoe:valid" result="pass"/><test-case name="12175NISTXML-SV-IV-list-nonPositiveInteger-maxLength-5-2 tokoe:valid" result="pass"/><test-case name="12176NISTXML-SV-IV-list-nonPositiveInteger-maxLength-5-3 tokoe:valid" result="pass"/><test-case name="12177NISTXML-SV-IV-list-nonPositiveInteger-maxLength-5-4 tokoe:valid" result="pass"/><test-case name="12178NISTXML-SV-IV-list-nonPositiveInteger-maxLength-5-5 tokoe:valid" result="pass"/><test-case name="12179NISTSchema-SV-IV-list-nonPositiveInteger-minLength-1 tokoe:valid" result="pass"/><test-case name="12180NISTXML-SV-IV-list-nonPositiveInteger-minLength-1-1 tokoe:valid" result="pass"/><test-case name="12181NISTXML-SV-IV-list-nonPositiveInteger-minLength-1-2 tokoe:valid" result="pass"/><test-case name="12182NISTXML-SV-IV-list-nonPositiveInteger-minLength-1-3 tokoe:valid" result="pass"/><test-case name="12183NISTXML-SV-IV-list-nonPositiveInteger-minLength-1-4 tokoe:valid" result="pass"/><test-case name="12184NISTXML-SV-IV-list-nonPositiveInteger-minLength-1-5 tokoe:valid" result="pass"/><test-case name="12185NISTSchema-SV-IV-list-nonPositiveInteger-minLength-2 tokoe:valid" result="pass"/><test-case name="12186NISTXML-SV-IV-list-nonPositiveInteger-minLength-2-1 tokoe:valid" result="pass"/><test-case name="12187NISTXML-SV-IV-list-nonPositiveInteger-minLength-2-2 tokoe:valid" result="pass"/><test-case name="12188NISTXML-SV-IV-list-nonPositiveInteger-minLength-2-3 tokoe:valid" result="pass"/><test-case name="12189NISTXML-SV-IV-list-nonPositiveInteger-minLength-2-4 tokoe:valid" result="pass"/><test-case name="12190NISTXML-SV-IV-list-nonPositiveInteger-minLength-2-5 tokoe:valid" result="pass"/><test-case name="12191NISTSchema-SV-IV-list-nonPositiveInteger-minLength-3 tokoe:valid" result="pass"/><test-case name="12192NISTXML-SV-IV-list-nonPositiveInteger-minLength-3-1 tokoe:valid" result="pass"/><test-case name="12193NISTXML-SV-IV-list-nonPositiveInteger-minLength-3-2 tokoe:valid" result="pass"/><test-case name="12194NISTXML-SV-IV-list-nonPositiveInteger-minLength-3-3 tokoe:valid" result="pass"/><test-case name="12195NISTXML-SV-IV-list-nonPositiveInteger-minLength-3-4 tokoe:valid" result="pass"/><test-case name="12196NISTXML-SV-IV-list-nonPositiveInteger-minLength-3-5 tokoe:valid" result="pass"/><test-case name="12197NISTSchema-SV-IV-list-nonPositiveInteger-minLength-4 tokoe:valid" result="pass"/><test-case name="12198NISTXML-SV-IV-list-nonPositiveInteger-minLength-4-1 tokoe:valid" result="pass"/><test-case name="12199NISTXML-SV-IV-list-nonPositiveInteger-minLength-4-2 tokoe:valid" result="pass"/><test-case name="12200NISTXML-SV-IV-list-nonPositiveInteger-minLength-4-3 tokoe:valid" result="pass"/><test-case name="12201NISTXML-SV-IV-list-nonPositiveInteger-minLength-4-4 tokoe:valid" result="pass"/><test-case name="12202NISTXML-SV-IV-list-nonPositiveInteger-minLength-4-5 tokoe:valid" result="pass"/><test-case name="12203NISTSchema-SV-IV-list-nonPositiveInteger-minLength-5 tokoe:valid" result="pass"/><test-case name="12204NISTXML-SV-IV-list-nonPositiveInteger-minLength-5-1 tokoe:valid" result="pass"/><test-case name="12205NISTXML-SV-IV-list-nonPositiveInteger-minLength-5-2 tokoe:valid" result="pass"/><test-case name="12206NISTXML-SV-IV-list-nonPositiveInteger-minLength-5-3 tokoe:valid" result="pass"/><test-case name="12207NISTXML-SV-IV-list-nonPositiveInteger-minLength-5-4 tokoe:valid" result="pass"/><test-case name="12208NISTXML-SV-IV-list-nonPositiveInteger-minLength-5-5 tokoe:valid" result="pass"/><test-case name="12209NISTSchema-SV-IV-list-nonPositiveInteger-length-1 tokoe:valid" result="pass"/><test-case name="12210NISTXML-SV-IV-list-nonPositiveInteger-length-1-1 tokoe:valid" result="pass"/><test-case name="12211NISTXML-SV-IV-list-nonPositiveInteger-length-1-2 tokoe:valid" result="pass"/><test-case name="12212NISTXML-SV-IV-list-nonPositiveInteger-length-1-3 tokoe:valid" result="pass"/><test-case name="12213NISTXML-SV-IV-list-nonPositiveInteger-length-1-4 tokoe:valid" result="pass"/><test-case name="12214NISTXML-SV-IV-list-nonPositiveInteger-length-1-5 tokoe:valid" result="pass"/><test-case name="12215NISTSchema-SV-IV-list-nonPositiveInteger-length-2 tokoe:valid" result="pass"/><test-case name="12216NISTXML-SV-IV-list-nonPositiveInteger-length-2-1 tokoe:valid" result="pass"/><test-case name="12217NISTXML-SV-IV-list-nonPositiveInteger-length-2-2 tokoe:valid" result="pass"/><test-case name="12218NISTXML-SV-IV-list-nonPositiveInteger-length-2-3 tokoe:valid" result="pass"/><test-case name="12219NISTXML-SV-IV-list-nonPositiveInteger-length-2-4 tokoe:valid" result="pass"/><test-case name="12220NISTXML-SV-IV-list-nonPositiveInteger-length-2-5 tokoe:valid" result="pass"/><test-case name="12221NISTSchema-SV-IV-list-nonPositiveInteger-length-3 tokoe:valid" result="pass"/><test-case name="12222NISTXML-SV-IV-list-nonPositiveInteger-length-3-1 tokoe:valid" result="pass"/><test-case name="12223NISTXML-SV-IV-list-nonPositiveInteger-length-3-2 tokoe:valid" result="pass"/><test-case name="12224NISTXML-SV-IV-list-nonPositiveInteger-length-3-3 tokoe:valid" result="pass"/><test-case name="12225NISTXML-SV-IV-list-nonPositiveInteger-length-3-4 tokoe:valid" result="pass"/><test-case name="12226NISTXML-SV-IV-list-nonPositiveInteger-length-3-5 tokoe:valid" result="pass"/><test-case name="12227NISTSchema-SV-IV-list-nonPositiveInteger-length-4 tokoe:valid" result="pass"/><test-case name="12228NISTXML-SV-IV-list-nonPositiveInteger-length-4-1 tokoe:valid" result="pass"/><test-case name="12229NISTXML-SV-IV-list-nonPositiveInteger-length-4-2 tokoe:valid" result="pass"/><test-case name="12230NISTXML-SV-IV-list-nonPositiveInteger-length-4-3 tokoe:valid" result="pass"/><test-case name="12231NISTXML-SV-IV-list-nonPositiveInteger-length-4-4 tokoe:valid" result="pass"/><test-case name="12232NISTXML-SV-IV-list-nonPositiveInteger-length-4-5 tokoe:valid" result="pass"/><test-case name="12233NISTSchema-SV-IV-list-nonPositiveInteger-length-5 tokoe:valid" result="pass"/><test-case name="12234NISTXML-SV-IV-list-nonPositiveInteger-length-5-1 tokoe:valid" result="pass"/><test-case name="12235NISTXML-SV-IV-list-nonPositiveInteger-length-5-2 tokoe:valid" result="pass"/><test-case name="12236NISTXML-SV-IV-list-nonPositiveInteger-length-5-3 tokoe:valid" result="pass"/><test-case name="12237NISTXML-SV-IV-list-nonPositiveInteger-length-5-4 tokoe:valid" result="pass"/><test-case name="12238NISTXML-SV-IV-list-nonPositiveInteger-length-5-5 tokoe:valid" result="pass"/><test-case name="12239NISTSchema-SV-IV-list-nonPositiveInteger-pattern-1 tokoe:valid" result="pass"/><test-case name="12240NISTXML-SV-IV-list-nonPositiveInteger-pattern-1-1 tokoe:valid" result="pass"/><test-case name="12241NISTXML-SV-IV-list-nonPositiveInteger-pattern-1-2 tokoe:valid" result="pass"/><test-case name="12242NISTXML-SV-IV-list-nonPositiveInteger-pattern-1-3 tokoe:valid" result="pass"/><test-case name="12243NISTXML-SV-IV-list-nonPositiveInteger-pattern-1-4 tokoe:valid" result="pass"/><test-case name="12244NISTXML-SV-IV-list-nonPositiveInteger-pattern-1-5 tokoe:valid" result="pass"/><test-case name="12245NISTSchema-SV-IV-list-nonPositiveInteger-pattern-2 tokoe:valid" result="pass"/><test-case name="12246NISTXML-SV-IV-list-nonPositiveInteger-pattern-2-1 tokoe:valid" result="pass"/><test-case name="12247NISTXML-SV-IV-list-nonPositiveInteger-pattern-2-2 tokoe:valid" result="pass"/><test-case name="12248NISTXML-SV-IV-list-nonPositiveInteger-pattern-2-3 tokoe:valid" result="pass"/><test-case name="12249NISTXML-SV-IV-list-nonPositiveInteger-pattern-2-4 tokoe:valid" result="pass"/><test-case name="12250NISTXML-SV-IV-list-nonPositiveInteger-pattern-2-5 tokoe:valid" result="pass"/><test-case name="12251NISTSchema-SV-IV-list-nonPositiveInteger-pattern-3 tokoe:valid" result="pass"/><test-case name="12252NISTXML-SV-IV-list-nonPositiveInteger-pattern-3-1 tokoe:valid" result="pass"/><test-case name="12253NISTXML-SV-IV-list-nonPositiveInteger-pattern-3-2 tokoe:valid" result="pass"/><test-case name="12254NISTXML-SV-IV-list-nonPositiveInteger-pattern-3-3 tokoe:valid" result="pass"/><test-case name="12255NISTXML-SV-IV-list-nonPositiveInteger-pattern-3-4 tokoe:valid" result="pass"/><test-case name="12256NISTXML-SV-IV-list-nonPositiveInteger-pattern-3-5 tokoe:valid" result="pass"/><test-case name="12257NISTSchema-SV-IV-list-nonPositiveInteger-pattern-4 tokoe:valid" result="pass"/><test-case name="12258NISTXML-SV-IV-list-nonPositiveInteger-pattern-4-1 tokoe:valid" result="pass"/><test-case name="12259NISTXML-SV-IV-list-nonPositiveInteger-pattern-4-2 tokoe:valid" result="pass"/><test-case name="12260NISTXML-SV-IV-list-nonPositiveInteger-pattern-4-3 tokoe:valid" result="pass"/><test-case name="12261NISTXML-SV-IV-list-nonPositiveInteger-pattern-4-4 tokoe:valid" result="pass"/><test-case name="12262NISTXML-SV-IV-list-nonPositiveInteger-pattern-4-5 tokoe:valid" result="pass"/><test-case name="12263NISTSchema-SV-IV-list-nonPositiveInteger-pattern-5 tokoe:valid" result="pass"/><test-case name="12264NISTXML-SV-IV-list-nonPositiveInteger-pattern-5-1 tokoe:valid" result="pass"/><test-case name="12265NISTXML-SV-IV-list-nonPositiveInteger-pattern-5-2 tokoe:valid" result="pass"/><test-case name="12266NISTXML-SV-IV-list-nonPositiveInteger-pattern-5-3 tokoe:valid" result="pass"/><test-case name="12267NISTXML-SV-IV-list-nonPositiveInteger-pattern-5-4 tokoe:valid" result="pass"/><test-case name="12268NISTXML-SV-IV-list-nonPositiveInteger-pattern-5-5 tokoe:valid" result="pass"/><test-case name="12269NISTSchema-SV-IV-list-nonPositiveInteger-enumeration-1 tokoe:valid" result="pass"/><test-case name="12270NISTXML-SV-IV-list-nonPositiveInteger-enumeration-1-1 tokoe:valid" result="pass"/><test-case name="12271NISTXML-SV-IV-list-nonPositiveInteger-enumeration-1-2 tokoe:valid" result="pass"/><test-case name="12272NISTXML-SV-IV-list-nonPositiveInteger-enumeration-1-3 tokoe:valid" result="pass"/><test-case name="12273NISTXML-SV-IV-list-nonPositiveInteger-enumeration-1-4 tokoe:valid" result="pass"/><test-case name="12274NISTXML-SV-IV-list-nonPositiveInteger-enumeration-1-5 tokoe:valid" result="pass"/><test-case name="12275NISTSchema-SV-IV-list-nonPositiveInteger-enumeration-2 tokoe:valid" result="pass"/><test-case name="12276NISTXML-SV-IV-list-nonPositiveInteger-enumeration-2-1 tokoe:valid" result="pass"/><test-case name="12277NISTXML-SV-IV-list-nonPositiveInteger-enumeration-2-2 tokoe:valid" result="pass"/><test-case name="12278NISTXML-SV-IV-list-nonPositiveInteger-enumeration-2-3 tokoe:valid" result="pass"/><test-case name="12279NISTXML-SV-IV-list-nonPositiveInteger-enumeration-2-4 tokoe:valid" result="pass"/><test-case name="12280NISTXML-SV-IV-list-nonPositiveInteger-enumeration-2-5 tokoe:valid" result="pass"/><test-case name="12281NISTSchema-SV-IV-list-nonPositiveInteger-enumeration-3 tokoe:valid" result="pass"/><test-case name="12282NISTXML-SV-IV-list-nonPositiveInteger-enumeration-3-1 tokoe:valid" result="pass"/><test-case name="12283NISTXML-SV-IV-list-nonPositiveInteger-enumeration-3-2 tokoe:valid" result="pass"/><test-case name="12284NISTXML-SV-IV-list-nonPositiveInteger-enumeration-3-3 tokoe:valid" result="pass"/><test-case name="12285NISTXML-SV-IV-list-nonPositiveInteger-enumeration-3-4 tokoe:valid" result="pass"/><test-case name="12286NISTXML-SV-IV-list-nonPositiveInteger-enumeration-3-5 tokoe:valid" result="pass"/><test-case name="12287NISTSchema-SV-IV-list-nonPositiveInteger-enumeration-4 tokoe:valid" result="pass"/><test-case name="12288NISTXML-SV-IV-list-nonPositiveInteger-enumeration-4-1 tokoe:valid" result="pass"/><test-case name="12289NISTXML-SV-IV-list-nonPositiveInteger-enumeration-4-2 tokoe:valid" result="pass"/><test-case name="12290NISTXML-SV-IV-list-nonPositiveInteger-enumeration-4-3 tokoe:valid" result="pass"/><test-case name="12291NISTXML-SV-IV-list-nonPositiveInteger-enumeration-4-4 tokoe:valid" result="pass"/><test-case name="12292NISTXML-SV-IV-list-nonPositiveInteger-enumeration-4-5 tokoe:valid" result="pass"/><test-case name="12293NISTSchema-SV-IV-list-nonPositiveInteger-enumeration-5 tokoe:valid" result="pass"/><test-case name="12294NISTXML-SV-IV-list-nonPositiveInteger-enumeration-5-1 tokoe:valid" result="pass"/><test-case name="12295NISTXML-SV-IV-list-nonPositiveInteger-enumeration-5-2 tokoe:valid" result="pass"/><test-case name="12296NISTXML-SV-IV-list-nonPositiveInteger-enumeration-5-3 tokoe:valid" result="pass"/><test-case name="12297NISTXML-SV-IV-list-nonPositiveInteger-enumeration-5-4 tokoe:valid" result="pass"/><test-case name="12298NISTXML-SV-IV-list-nonPositiveInteger-enumeration-5-5 tokoe:valid" result="pass"/><test-case name="12299NISTSchema-SV-IV-list-nonPositiveInteger-whiteSpace-1 tokoe:valid" result="pass"/><test-case name="12300NISTXML-SV-IV-list-nonPositiveInteger-whiteSpace-1-1 tokoe:valid" result="pass"/><test-case name="12301NISTXML-SV-IV-list-nonPositiveInteger-whiteSpace-1-2 tokoe:valid" result="pass"/><test-case name="12302NISTXML-SV-IV-list-nonPositiveInteger-whiteSpace-1-3 tokoe:valid" result="pass"/><test-case name="12303NISTXML-SV-IV-list-nonPositiveInteger-whiteSpace-1-4 tokoe:valid" result="pass"/><test-case name="12304NISTXML-SV-IV-list-nonPositiveInteger-whiteSpace-1-5 tokoe:valid" result="pass"/><test-case name="12305NISTSchema-SV-IV-list-negativeInteger-maxLength-1 tokoe:valid" result="pass"/><test-case name="12306NISTXML-SV-IV-list-negativeInteger-maxLength-1-1 tokoe:valid" result="pass"/><test-case name="12307NISTXML-SV-IV-list-negativeInteger-maxLength-1-2 tokoe:valid" result="pass"/><test-case name="12308NISTXML-SV-IV-list-negativeInteger-maxLength-1-3 tokoe:valid" result="pass"/><test-case name="12309NISTXML-SV-IV-list-negativeInteger-maxLength-1-4 tokoe:valid" result="pass"/><test-case name="12310NISTXML-SV-IV-list-negativeInteger-maxLength-1-5 tokoe:valid" result="pass"/><test-case name="12311NISTSchema-SV-IV-list-negativeInteger-maxLength-2 tokoe:valid" result="pass"/><test-case name="12312NISTXML-SV-IV-list-negativeInteger-maxLength-2-1 tokoe:valid" result="pass"/><test-case name="12313NISTXML-SV-IV-list-negativeInteger-maxLength-2-2 tokoe:valid" result="pass"/><test-case name="12314NISTXML-SV-IV-list-negativeInteger-maxLength-2-3 tokoe:valid" result="pass"/><test-case name="12315NISTXML-SV-IV-list-negativeInteger-maxLength-2-4 tokoe:valid" result="pass"/><test-case name="12316NISTXML-SV-IV-list-negativeInteger-maxLength-2-5 tokoe:valid" result="pass"/><test-case name="12317NISTSchema-SV-IV-list-negativeInteger-maxLength-3 tokoe:valid" result="pass"/><test-case name="12318NISTXML-SV-IV-list-negativeInteger-maxLength-3-1 tokoe:valid" result="pass"/><test-case name="12319NISTXML-SV-IV-list-negativeInteger-maxLength-3-2 tokoe:valid" result="pass"/><test-case name="12320NISTXML-SV-IV-list-negativeInteger-maxLength-3-3 tokoe:valid" result="pass"/><test-case name="12321NISTXML-SV-IV-list-negativeInteger-maxLength-3-4 tokoe:valid" result="pass"/><test-case name="12322NISTXML-SV-IV-list-negativeInteger-maxLength-3-5 tokoe:valid" result="pass"/><test-case name="12323NISTSchema-SV-IV-list-negativeInteger-maxLength-4 tokoe:valid" result="pass"/><test-case name="12324NISTXML-SV-IV-list-negativeInteger-maxLength-4-1 tokoe:valid" result="pass"/><test-case name="12325NISTXML-SV-IV-list-negativeInteger-maxLength-4-2 tokoe:valid" result="pass"/><test-case name="12326NISTXML-SV-IV-list-negativeInteger-maxLength-4-3 tokoe:valid" result="pass"/><test-case name="12327NISTXML-SV-IV-list-negativeInteger-maxLength-4-4 tokoe:valid" result="pass"/><test-case name="12328NISTXML-SV-IV-list-negativeInteger-maxLength-4-5 tokoe:valid" result="pass"/><test-case name="12329NISTSchema-SV-IV-list-negativeInteger-maxLength-5 tokoe:valid" result="pass"/><test-case name="12330NISTXML-SV-IV-list-negativeInteger-maxLength-5-1 tokoe:valid" result="pass"/><test-case name="12331NISTXML-SV-IV-list-negativeInteger-maxLength-5-2 tokoe:valid" result="pass"/><test-case name="12332NISTXML-SV-IV-list-negativeInteger-maxLength-5-3 tokoe:valid" result="pass"/><test-case name="12333NISTXML-SV-IV-list-negativeInteger-maxLength-5-4 tokoe:valid" result="pass"/><test-case name="12334NISTXML-SV-IV-list-negativeInteger-maxLength-5-5 tokoe:valid" result="pass"/><test-case name="12335NISTSchema-SV-IV-list-negativeInteger-minLength-1 tokoe:valid" result="pass"/><test-case name="12336NISTXML-SV-IV-list-negativeInteger-minLength-1-1 tokoe:valid" result="pass"/><test-case name="12337NISTXML-SV-IV-list-negativeInteger-minLength-1-2 tokoe:valid" result="pass"/><test-case name="12338NISTXML-SV-IV-list-negativeInteger-minLength-1-3 tokoe:valid" result="pass"/><test-case name="12339NISTXML-SV-IV-list-negativeInteger-minLength-1-4 tokoe:valid" result="pass"/><test-case name="12340NISTXML-SV-IV-list-negativeInteger-minLength-1-5 tokoe:valid" result="pass"/><test-case name="12341NISTSchema-SV-IV-list-negativeInteger-minLength-2 tokoe:valid" result="pass"/><test-case name="12342NISTXML-SV-IV-list-negativeInteger-minLength-2-1 tokoe:valid" result="pass"/><test-case name="12343NISTXML-SV-IV-list-negativeInteger-minLength-2-2 tokoe:valid" result="pass"/><test-case name="12344NISTXML-SV-IV-list-negativeInteger-minLength-2-3 tokoe:valid" result="pass"/><test-case name="12345NISTXML-SV-IV-list-negativeInteger-minLength-2-4 tokoe:valid" result="pass"/><test-case name="12346NISTXML-SV-IV-list-negativeInteger-minLength-2-5 tokoe:valid" result="pass"/><test-case name="12347NISTSchema-SV-IV-list-negativeInteger-minLength-3 tokoe:valid" result="pass"/><test-case name="12348NISTXML-SV-IV-list-negativeInteger-minLength-3-1 tokoe:valid" result="pass"/><test-case name="12349NISTXML-SV-IV-list-negativeInteger-minLength-3-2 tokoe:valid" result="pass"/><test-case name="12350NISTXML-SV-IV-list-negativeInteger-minLength-3-3 tokoe:valid" result="pass"/><test-case name="12351NISTXML-SV-IV-list-negativeInteger-minLength-3-4 tokoe:valid" result="pass"/><test-case name="12352NISTXML-SV-IV-list-negativeInteger-minLength-3-5 tokoe:valid" result="pass"/><test-case name="12353NISTSchema-SV-IV-list-negativeInteger-minLength-4 tokoe:valid" result="pass"/><test-case name="12354NISTXML-SV-IV-list-negativeInteger-minLength-4-1 tokoe:valid" result="pass"/><test-case name="12355NISTXML-SV-IV-list-negativeInteger-minLength-4-2 tokoe:valid" result="pass"/><test-case name="12356NISTXML-SV-IV-list-negativeInteger-minLength-4-3 tokoe:valid" result="pass"/><test-case name="12357NISTXML-SV-IV-list-negativeInteger-minLength-4-4 tokoe:valid" result="pass"/><test-case name="12358NISTXML-SV-IV-list-negativeInteger-minLength-4-5 tokoe:valid" result="pass"/><test-case name="12359NISTSchema-SV-IV-list-negativeInteger-minLength-5 tokoe:valid" result="pass"/><test-case name="12360NISTXML-SV-IV-list-negativeInteger-minLength-5-1 tokoe:valid" result="pass"/><test-case name="12361NISTXML-SV-IV-list-negativeInteger-minLength-5-2 tokoe:valid" result="pass"/><test-case name="12362NISTXML-SV-IV-list-negativeInteger-minLength-5-3 tokoe:valid" result="pass"/><test-case name="12363NISTXML-SV-IV-list-negativeInteger-minLength-5-4 tokoe:valid" result="pass"/><test-case name="12364NISTXML-SV-IV-list-negativeInteger-minLength-5-5 tokoe:valid" result="pass"/><test-case name="12365NISTSchema-SV-IV-list-negativeInteger-length-1 tokoe:valid" result="pass"/><test-case name="12366NISTXML-SV-IV-list-negativeInteger-length-1-1 tokoe:valid" result="pass"/><test-case name="12367NISTXML-SV-IV-list-negativeInteger-length-1-2 tokoe:valid" result="pass"/><test-case name="12368NISTXML-SV-IV-list-negativeInteger-length-1-3 tokoe:valid" result="pass"/><test-case name="12369NISTXML-SV-IV-list-negativeInteger-length-1-4 tokoe:valid" result="pass"/><test-case name="12370NISTXML-SV-IV-list-negativeInteger-length-1-5 tokoe:valid" result="pass"/><test-case name="12371NISTSchema-SV-IV-list-negativeInteger-length-2 tokoe:valid" result="pass"/><test-case name="12372NISTXML-SV-IV-list-negativeInteger-length-2-1 tokoe:valid" result="pass"/><test-case name="12373NISTXML-SV-IV-list-negativeInteger-length-2-2 tokoe:valid" result="pass"/><test-case name="12374NISTXML-SV-IV-list-negativeInteger-length-2-3 tokoe:valid" result="pass"/><test-case name="12375NISTXML-SV-IV-list-negativeInteger-length-2-4 tokoe:valid" result="pass"/><test-case name="12376NISTXML-SV-IV-list-negativeInteger-length-2-5 tokoe:valid" result="pass"/><test-case name="12377NISTSchema-SV-IV-list-negativeInteger-length-3 tokoe:valid" result="pass"/><test-case name="12378NISTXML-SV-IV-list-negativeInteger-length-3-1 tokoe:valid" result="pass"/><test-case name="12379NISTXML-SV-IV-list-negativeInteger-length-3-2 tokoe:valid" result="pass"/><test-case name="12380NISTXML-SV-IV-list-negativeInteger-length-3-3 tokoe:valid" result="pass"/><test-case name="12381NISTXML-SV-IV-list-negativeInteger-length-3-4 tokoe:valid" result="pass"/><test-case name="12382NISTXML-SV-IV-list-negativeInteger-length-3-5 tokoe:valid" result="pass"/><test-case name="12383NISTSchema-SV-IV-list-negativeInteger-length-4 tokoe:valid" result="pass"/><test-case name="12384NISTXML-SV-IV-list-negativeInteger-length-4-1 tokoe:valid" result="pass"/><test-case name="12385NISTXML-SV-IV-list-negativeInteger-length-4-2 tokoe:valid" result="pass"/><test-case name="12386NISTXML-SV-IV-list-negativeInteger-length-4-3 tokoe:valid" result="pass"/><test-case name="12387NISTXML-SV-IV-list-negativeInteger-length-4-4 tokoe:valid" result="pass"/><test-case name="12388NISTXML-SV-IV-list-negativeInteger-length-4-5 tokoe:valid" result="pass"/><test-case name="12389NISTSchema-SV-IV-list-negativeInteger-length-5 tokoe:valid" result="pass"/><test-case name="12390NISTXML-SV-IV-list-negativeInteger-length-5-1 tokoe:valid" result="pass"/><test-case name="12391NISTXML-SV-IV-list-negativeInteger-length-5-2 tokoe:valid" result="pass"/><test-case name="12392NISTXML-SV-IV-list-negativeInteger-length-5-3 tokoe:valid" result="pass"/><test-case name="12393NISTXML-SV-IV-list-negativeInteger-length-5-4 tokoe:valid" result="pass"/><test-case name="12394NISTXML-SV-IV-list-negativeInteger-length-5-5 tokoe:valid" result="pass"/><test-case name="12395NISTSchema-SV-IV-list-negativeInteger-pattern-1 tokoe:valid" result="pass"/><test-case name="12396NISTXML-SV-IV-list-negativeInteger-pattern-1-1 tokoe:valid" result="pass"/><test-case name="12397NISTXML-SV-IV-list-negativeInteger-pattern-1-2 tokoe:valid" result="pass"/><test-case name="12398NISTXML-SV-IV-list-negativeInteger-pattern-1-3 tokoe:valid" result="pass"/><test-case name="12399NISTXML-SV-IV-list-negativeInteger-pattern-1-4 tokoe:valid" result="pass"/><test-case name="12400NISTXML-SV-IV-list-negativeInteger-pattern-1-5 tokoe:valid" result="pass"/><test-case name="12401NISTSchema-SV-IV-list-negativeInteger-pattern-2 tokoe:valid" result="pass"/><test-case name="12402NISTXML-SV-IV-list-negativeInteger-pattern-2-1 tokoe:valid" result="pass"/><test-case name="12403NISTXML-SV-IV-list-negativeInteger-pattern-2-2 tokoe:valid" result="pass"/><test-case name="12404NISTXML-SV-IV-list-negativeInteger-pattern-2-3 tokoe:valid" result="pass"/><test-case name="12405NISTXML-SV-IV-list-negativeInteger-pattern-2-4 tokoe:valid" result="pass"/><test-case name="12406NISTXML-SV-IV-list-negativeInteger-pattern-2-5 tokoe:valid" result="pass"/><test-case name="12407NISTSchema-SV-IV-list-negativeInteger-pattern-3 tokoe:valid" result="pass"/><test-case name="12408NISTXML-SV-IV-list-negativeInteger-pattern-3-1 tokoe:valid" result="pass"/><test-case name="12409NISTXML-SV-IV-list-negativeInteger-pattern-3-2 tokoe:valid" result="pass"/><test-case name="12410NISTXML-SV-IV-list-negativeInteger-pattern-3-3 tokoe:valid" result="pass"/><test-case name="12411NISTXML-SV-IV-list-negativeInteger-pattern-3-4 tokoe:valid" result="pass"/><test-case name="12412NISTXML-SV-IV-list-negativeInteger-pattern-3-5 tokoe:valid" result="pass"/><test-case name="12413NISTSchema-SV-IV-list-negativeInteger-pattern-4 tokoe:valid" result="pass"/><test-case name="12414NISTXML-SV-IV-list-negativeInteger-pattern-4-1 tokoe:valid" result="pass"/><test-case name="12415NISTXML-SV-IV-list-negativeInteger-pattern-4-2 tokoe:valid" result="pass"/><test-case name="12416NISTXML-SV-IV-list-negativeInteger-pattern-4-3 tokoe:valid" result="pass"/><test-case name="12417NISTXML-SV-IV-list-negativeInteger-pattern-4-4 tokoe:valid" result="pass"/><test-case name="12418NISTXML-SV-IV-list-negativeInteger-pattern-4-5 tokoe:valid" result="pass"/><test-case name="12419NISTSchema-SV-IV-list-negativeInteger-pattern-5 tokoe:valid" result="pass"/><test-case name="12420NISTXML-SV-IV-list-negativeInteger-pattern-5-1 tokoe:valid" result="pass"/><test-case name="12421NISTXML-SV-IV-list-negativeInteger-pattern-5-2 tokoe:valid" result="pass"/><test-case name="12422NISTXML-SV-IV-list-negativeInteger-pattern-5-3 tokoe:valid" result="pass"/><test-case name="12423NISTXML-SV-IV-list-negativeInteger-pattern-5-4 tokoe:valid" result="pass"/><test-case name="12424NISTXML-SV-IV-list-negativeInteger-pattern-5-5 tokoe:valid" result="pass"/><test-case name="12425NISTSchema-SV-IV-list-negativeInteger-enumeration-1 tokoe:valid" result="pass"/><test-case name="12426NISTXML-SV-IV-list-negativeInteger-enumeration-1-1 tokoe:valid" result="pass"/><test-case name="12427NISTXML-SV-IV-list-negativeInteger-enumeration-1-2 tokoe:valid" result="pass"/><test-case name="12428NISTXML-SV-IV-list-negativeInteger-enumeration-1-3 tokoe:valid" result="pass"/><test-case name="12429NISTXML-SV-IV-list-negativeInteger-enumeration-1-4 tokoe:valid" result="pass"/><test-case name="12430NISTXML-SV-IV-list-negativeInteger-enumeration-1-5 tokoe:valid" result="pass"/><test-case name="12431NISTSchema-SV-IV-list-negativeInteger-enumeration-2 tokoe:valid" result="pass"/><test-case name="12432NISTXML-SV-IV-list-negativeInteger-enumeration-2-1 tokoe:valid" result="pass"/><test-case name="12433NISTXML-SV-IV-list-negativeInteger-enumeration-2-2 tokoe:valid" result="pass"/><test-case name="12434NISTXML-SV-IV-list-negativeInteger-enumeration-2-3 tokoe:valid" result="pass"/><test-case name="12435NISTXML-SV-IV-list-negativeInteger-enumeration-2-4 tokoe:valid" result="pass"/><test-case name="12436NISTXML-SV-IV-list-negativeInteger-enumeration-2-5 tokoe:valid" result="pass"/><test-case name="12437NISTSchema-SV-IV-list-negativeInteger-enumeration-3 tokoe:valid" result="pass"/><test-case name="12438NISTXML-SV-IV-list-negativeInteger-enumeration-3-1 tokoe:valid" result="pass"/><test-case name="12439NISTXML-SV-IV-list-negativeInteger-enumeration-3-2 tokoe:valid" result="pass"/><test-case name="12440NISTXML-SV-IV-list-negativeInteger-enumeration-3-3 tokoe:valid" result="pass"/><test-case name="12441NISTXML-SV-IV-list-negativeInteger-enumeration-3-4 tokoe:valid" result="pass"/><test-case name="12442NISTXML-SV-IV-list-negativeInteger-enumeration-3-5 tokoe:valid" result="pass"/><test-case name="12443NISTSchema-SV-IV-list-negativeInteger-enumeration-4 tokoe:valid" result="pass"/><test-case name="12444NISTXML-SV-IV-list-negativeInteger-enumeration-4-1 tokoe:valid" result="pass"/><test-case name="12445NISTXML-SV-IV-list-negativeInteger-enumeration-4-2 tokoe:valid" result="pass"/><test-case name="12446NISTXML-SV-IV-list-negativeInteger-enumeration-4-3 tokoe:valid" result="pass"/><test-case name="12447NISTXML-SV-IV-list-negativeInteger-enumeration-4-4 tokoe:valid" result="pass"/><test-case name="12448NISTXML-SV-IV-list-negativeInteger-enumeration-4-5 tokoe:valid" result="pass"/><test-case name="12449NISTSchema-SV-IV-list-negativeInteger-enumeration-5 tokoe:valid" result="pass"/><test-case name="12450NISTXML-SV-IV-list-negativeInteger-enumeration-5-1 tokoe:valid" result="pass"/><test-case name="12451NISTXML-SV-IV-list-negativeInteger-enumeration-5-2 tokoe:valid" result="pass"/><test-case name="12452NISTXML-SV-IV-list-negativeInteger-enumeration-5-3 tokoe:valid" result="pass"/><test-case name="12453NISTXML-SV-IV-list-negativeInteger-enumeration-5-4 tokoe:valid" result="pass"/><test-case name="12454NISTXML-SV-IV-list-negativeInteger-enumeration-5-5 tokoe:valid" result="pass"/><test-case name="12455NISTSchema-SV-IV-list-negativeInteger-whiteSpace-1 tokoe:valid" result="pass"/><test-case name="12456NISTXML-SV-IV-list-negativeInteger-whiteSpace-1-1 tokoe:valid" result="pass"/><test-case name="12457NISTXML-SV-IV-list-negativeInteger-whiteSpace-1-2 tokoe:valid" result="pass"/><test-case name="12458NISTXML-SV-IV-list-negativeInteger-whiteSpace-1-3 tokoe:valid" result="pass"/><test-case name="12459NISTXML-SV-IV-list-negativeInteger-whiteSpace-1-4 tokoe:valid" result="pass"/><test-case name="12460NISTXML-SV-IV-list-negativeInteger-whiteSpace-1-5 tokoe:valid" result="pass"/><test-case name="12461NISTSchema-SV-IV-list-long-maxLength-1 tokoe:valid" result="pass"/><test-case name="12462NISTXML-SV-IV-list-long-maxLength-1-1 tokoe:valid" result="pass"/><test-case name="12463NISTXML-SV-IV-list-long-maxLength-1-2 tokoe:valid" result="pass"/><test-case name="12464NISTXML-SV-IV-list-long-maxLength-1-3 tokoe:valid" result="pass"/><test-case name="12465NISTXML-SV-IV-list-long-maxLength-1-4 tokoe:valid" result="pass"/><test-case name="12466NISTXML-SV-IV-list-long-maxLength-1-5 tokoe:valid" result="pass"/><test-case name="12467NISTSchema-SV-IV-list-long-maxLength-2 tokoe:valid" result="pass"/><test-case name="12468NISTXML-SV-IV-list-long-maxLength-2-1 tokoe:valid" result="pass"/><test-case name="12469NISTXML-SV-IV-list-long-maxLength-2-2 tokoe:valid" result="pass"/><test-case name="12470NISTXML-SV-IV-list-long-maxLength-2-3 tokoe:valid" result="pass"/><test-case name="12471NISTXML-SV-IV-list-long-maxLength-2-4 tokoe:valid" result="pass"/><test-case name="12472NISTXML-SV-IV-list-long-maxLength-2-5 tokoe:valid" result="pass"/><test-case name="12473NISTSchema-SV-IV-list-long-maxLength-3 tokoe:valid" result="pass"/><test-case name="12474NISTXML-SV-IV-list-long-maxLength-3-1 tokoe:valid" result="pass"/><test-case name="12475NISTXML-SV-IV-list-long-maxLength-3-2 tokoe:valid" result="pass"/><test-case name="12476NISTXML-SV-IV-list-long-maxLength-3-3 tokoe:valid" result="pass"/><test-case name="12477NISTXML-SV-IV-list-long-maxLength-3-4 tokoe:valid" result="pass"/><test-case name="12478NISTXML-SV-IV-list-long-maxLength-3-5 tokoe:valid" result="pass"/><test-case name="12479NISTSchema-SV-IV-list-long-maxLength-4 tokoe:valid" result="pass"/><test-case name="12480NISTXML-SV-IV-list-long-maxLength-4-1 tokoe:valid" result="pass"/><test-case name="12481NISTXML-SV-IV-list-long-maxLength-4-2 tokoe:valid" result="pass"/><test-case name="12482NISTXML-SV-IV-list-long-maxLength-4-3 tokoe:valid" result="pass"/><test-case name="12483NISTXML-SV-IV-list-long-maxLength-4-4 tokoe:valid" result="pass"/><test-case name="12484NISTXML-SV-IV-list-long-maxLength-4-5 tokoe:valid" result="pass"/><test-case name="12485NISTSchema-SV-IV-list-long-maxLength-5 tokoe:valid" result="pass"/><test-case name="12486NISTXML-SV-IV-list-long-maxLength-5-1 tokoe:valid" result="pass"/><test-case name="12487NISTXML-SV-IV-list-long-maxLength-5-2 tokoe:valid" result="pass"/><test-case name="12488NISTXML-SV-IV-list-long-maxLength-5-3 tokoe:valid" result="pass"/><test-case name="12489NISTXML-SV-IV-list-long-maxLength-5-4 tokoe:valid" result="pass"/><test-case name="12490NISTXML-SV-IV-list-long-maxLength-5-5 tokoe:valid" result="pass"/><test-case name="12491NISTSchema-SV-IV-list-long-minLength-1 tokoe:valid" result="pass"/><test-case name="12492NISTXML-SV-IV-list-long-minLength-1-1 tokoe:valid" result="pass"/><test-case name="12493NISTXML-SV-IV-list-long-minLength-1-2 tokoe:valid" result="pass"/><test-case name="12494NISTXML-SV-IV-list-long-minLength-1-3 tokoe:valid" result="pass"/><test-case name="12495NISTXML-SV-IV-list-long-minLength-1-4 tokoe:valid" result="pass"/><test-case name="12496NISTXML-SV-IV-list-long-minLength-1-5 tokoe:valid" result="pass"/><test-case name="12497NISTSchema-SV-IV-list-long-minLength-2 tokoe:valid" result="pass"/><test-case name="12498NISTXML-SV-IV-list-long-minLength-2-1 tokoe:valid" result="pass"/><test-case name="12499NISTXML-SV-IV-list-long-minLength-2-2 tokoe:valid" result="pass"/><test-case name="12500NISTXML-SV-IV-list-long-minLength-2-3 tokoe:valid" result="pass"/><test-case name="12501NISTXML-SV-IV-list-long-minLength-2-4 tokoe:valid" result="pass"/><test-case name="12502NISTXML-SV-IV-list-long-minLength-2-5 tokoe:valid" result="pass"/><test-case name="12503NISTSchema-SV-IV-list-long-minLength-3 tokoe:valid" result="pass"/><test-case name="12504NISTXML-SV-IV-list-long-minLength-3-1 tokoe:valid" result="pass"/><test-case name="12505NISTXML-SV-IV-list-long-minLength-3-2 tokoe:valid" result="pass"/><test-case name="12506NISTXML-SV-IV-list-long-minLength-3-3 tokoe:valid" result="pass"/><test-case name="12507NISTXML-SV-IV-list-long-minLength-3-4 tokoe:valid" result="pass"/><test-case name="12508NISTXML-SV-IV-list-long-minLength-3-5 tokoe:valid" result="pass"/><test-case name="12509NISTSchema-SV-IV-list-long-minLength-4 tokoe:valid" result="pass"/><test-case name="12510NISTXML-SV-IV-list-long-minLength-4-1 tokoe:valid" result="pass"/><test-case name="12511NISTXML-SV-IV-list-long-minLength-4-2 tokoe:valid" result="pass"/><test-case name="12512NISTXML-SV-IV-list-long-minLength-4-3 tokoe:valid" result="pass"/><test-case name="12513NISTXML-SV-IV-list-long-minLength-4-4 tokoe:valid" result="pass"/><test-case name="12514NISTXML-SV-IV-list-long-minLength-4-5 tokoe:valid" result="pass"/><test-case name="12515NISTSchema-SV-IV-list-long-minLength-5 tokoe:valid" result="pass"/><test-case name="12516NISTXML-SV-IV-list-long-minLength-5-1 tokoe:valid" result="pass"/><test-case name="12517NISTXML-SV-IV-list-long-minLength-5-2 tokoe:valid" result="pass"/><test-case name="12518NISTXML-SV-IV-list-long-minLength-5-3 tokoe:valid" result="pass"/><test-case name="12519NISTXML-SV-IV-list-long-minLength-5-4 tokoe:valid" result="pass"/><test-case name="12520NISTXML-SV-IV-list-long-minLength-5-5 tokoe:valid" result="pass"/><test-case name="12521NISTSchema-SV-IV-list-long-length-1 tokoe:valid" result="pass"/><test-case name="12522NISTXML-SV-IV-list-long-length-1-1 tokoe:valid" result="pass"/><test-case name="12523NISTXML-SV-IV-list-long-length-1-2 tokoe:valid" result="pass"/><test-case name="12524NISTXML-SV-IV-list-long-length-1-3 tokoe:valid" result="pass"/><test-case name="12525NISTXML-SV-IV-list-long-length-1-4 tokoe:valid" result="pass"/><test-case name="12526NISTXML-SV-IV-list-long-length-1-5 tokoe:valid" result="pass"/><test-case name="12527NISTSchema-SV-IV-list-long-length-2 tokoe:valid" result="pass"/><test-case name="12528NISTXML-SV-IV-list-long-length-2-1 tokoe:valid" result="pass"/><test-case name="12529NISTXML-SV-IV-list-long-length-2-2 tokoe:valid" result="pass"/><test-case name="12530NISTXML-SV-IV-list-long-length-2-3 tokoe:valid" result="pass"/><test-case name="12531NISTXML-SV-IV-list-long-length-2-4 tokoe:valid" result="pass"/><test-case name="12532NISTXML-SV-IV-list-long-length-2-5 tokoe:valid" result="pass"/><test-case name="12533NISTSchema-SV-IV-list-long-length-3 tokoe:valid" result="pass"/><test-case name="12534NISTXML-SV-IV-list-long-length-3-1 tokoe:valid" result="pass"/><test-case name="12535NISTXML-SV-IV-list-long-length-3-2 tokoe:valid" result="pass"/><test-case name="12536NISTXML-SV-IV-list-long-length-3-3 tokoe:valid" result="pass"/><test-case name="12537NISTXML-SV-IV-list-long-length-3-4 tokoe:valid" result="pass"/><test-case name="12538NISTXML-SV-IV-list-long-length-3-5 tokoe:valid" result="pass"/><test-case name="12539NISTSchema-SV-IV-list-long-length-4 tokoe:valid" result="pass"/><test-case name="12540NISTXML-SV-IV-list-long-length-4-1 tokoe:valid" result="pass"/><test-case name="12541NISTXML-SV-IV-list-long-length-4-2 tokoe:valid" result="pass"/><test-case name="12542NISTXML-SV-IV-list-long-length-4-3 tokoe:valid" result="pass"/><test-case name="12543NISTXML-SV-IV-list-long-length-4-4 tokoe:valid" result="pass"/><test-case name="12544NISTXML-SV-IV-list-long-length-4-5 tokoe:valid" result="pass"/><test-case name="12545NISTSchema-SV-IV-list-long-length-5 tokoe:valid" result="pass"/><test-case name="12546NISTXML-SV-IV-list-long-length-5-1 tokoe:valid" result="pass"/><test-case name="12547NISTXML-SV-IV-list-long-length-5-2 tokoe:valid" result="pass"/><test-case name="12548NISTXML-SV-IV-list-long-length-5-3 tokoe:valid" result="pass"/><test-case name="12549NISTXML-SV-IV-list-long-length-5-4 tokoe:valid" result="pass"/><test-case name="12550NISTXML-SV-IV-list-long-length-5-5 tokoe:valid" result="pass"/><test-case name="12551NISTSchema-SV-IV-list-long-pattern-1 tokoe:valid" result="pass"/><test-case name="12552NISTXML-SV-IV-list-long-pattern-1-1 tokoe:valid" result="pass"/><test-case name="12553NISTXML-SV-IV-list-long-pattern-1-2 tokoe:valid" result="pass"/><test-case name="12554NISTXML-SV-IV-list-long-pattern-1-3 tokoe:valid" result="pass"/><test-case name="12555NISTXML-SV-IV-list-long-pattern-1-4 tokoe:valid" result="pass"/><test-case name="12556NISTXML-SV-IV-list-long-pattern-1-5 tokoe:valid" result="pass"/><test-case name="12557NISTSchema-SV-IV-list-long-pattern-2 tokoe:valid" result="pass"/><test-case name="12558NISTXML-SV-IV-list-long-pattern-2-1 tokoe:valid" result="pass"/><test-case name="12559NISTXML-SV-IV-list-long-pattern-2-2 tokoe:valid" result="pass"/><test-case name="12560NISTXML-SV-IV-list-long-pattern-2-3 tokoe:valid" result="pass"/><test-case name="12561NISTXML-SV-IV-list-long-pattern-2-4 tokoe:valid" result="pass"/><test-case name="12562NISTXML-SV-IV-list-long-pattern-2-5 tokoe:valid" result="pass"/><test-case name="12563NISTSchema-SV-IV-list-long-pattern-3 tokoe:valid" result="pass"/><test-case name="12564NISTXML-SV-IV-list-long-pattern-3-1 tokoe:valid" result="pass"/><test-case name="12565NISTXML-SV-IV-list-long-pattern-3-2 tokoe:valid" result="pass"/><test-case name="12566NISTXML-SV-IV-list-long-pattern-3-3 tokoe:valid" result="pass"/><test-case name="12567NISTXML-SV-IV-list-long-pattern-3-4 tokoe:valid" result="pass"/><test-case name="12568NISTXML-SV-IV-list-long-pattern-3-5 tokoe:valid" result="pass"/><test-case name="12569NISTSchema-SV-IV-list-long-pattern-4 tokoe:valid" result="pass"/><test-case name="12570NISTXML-SV-IV-list-long-pattern-4-1 tokoe:valid" result="pass"/><test-case name="12571NISTXML-SV-IV-list-long-pattern-4-2 tokoe:valid" result="pass"/><test-case name="12572NISTXML-SV-IV-list-long-pattern-4-3 tokoe:valid" result="pass"/><test-case name="12573NISTXML-SV-IV-list-long-pattern-4-4 tokoe:valid" result="pass"/><test-case name="12574NISTXML-SV-IV-list-long-pattern-4-5 tokoe:valid" result="pass"/><test-case name="12575NISTSchema-SV-IV-list-long-pattern-5 tokoe:valid" result="pass"/><test-case name="12576NISTXML-SV-IV-list-long-pattern-5-1 tokoe:valid" result="pass"/><test-case name="12577NISTXML-SV-IV-list-long-pattern-5-2 tokoe:valid" result="pass"/><test-case name="12578NISTXML-SV-IV-list-long-pattern-5-3 tokoe:valid" result="pass"/><test-case name="12579NISTXML-SV-IV-list-long-pattern-5-4 tokoe:valid" result="pass"/><test-case name="12580NISTXML-SV-IV-list-long-pattern-5-5 tokoe:valid" result="pass"/><test-case name="12581NISTSchema-SV-IV-list-long-enumeration-1 tokoe:valid" result="pass"/><test-case name="12582NISTXML-SV-IV-list-long-enumeration-1-1 tokoe:valid" result="pass"/><test-case name="12583NISTXML-SV-IV-list-long-enumeration-1-2 tokoe:valid" result="pass"/><test-case name="12584NISTXML-SV-IV-list-long-enumeration-1-3 tokoe:valid" result="pass"/><test-case name="12585NISTXML-SV-IV-list-long-enumeration-1-4 tokoe:valid" result="pass"/><test-case name="12586NISTXML-SV-IV-list-long-enumeration-1-5 tokoe:valid" result="pass"/><test-case name="12587NISTSchema-SV-IV-list-long-enumeration-2 tokoe:valid" result="pass"/><test-case name="12588NISTXML-SV-IV-list-long-enumeration-2-1 tokoe:valid" result="pass"/><test-case name="12589NISTXML-SV-IV-list-long-enumeration-2-2 tokoe:valid" result="pass"/><test-case name="12590NISTXML-SV-IV-list-long-enumeration-2-3 tokoe:valid" result="pass"/><test-case name="12591NISTXML-SV-IV-list-long-enumeration-2-4 tokoe:valid" result="pass"/><test-case name="12592NISTXML-SV-IV-list-long-enumeration-2-5 tokoe:valid" result="pass"/><test-case name="12593NISTSchema-SV-IV-list-long-enumeration-3 tokoe:valid" result="pass"/><test-case name="12594NISTXML-SV-IV-list-long-enumeration-3-1 tokoe:valid" result="pass"/><test-case name="12595NISTXML-SV-IV-list-long-enumeration-3-2 tokoe:valid" result="pass"/><test-case name="12596NISTXML-SV-IV-list-long-enumeration-3-3 tokoe:valid" result="pass"/><test-case name="12597NISTXML-SV-IV-list-long-enumeration-3-4 tokoe:valid" result="pass"/><test-case name="12598NISTXML-SV-IV-list-long-enumeration-3-5 tokoe:valid" result="pass"/><test-case name="12599NISTSchema-SV-IV-list-long-enumeration-4 tokoe:valid" result="pass"/><test-case name="12600NISTXML-SV-IV-list-long-enumeration-4-1 tokoe:valid" result="pass"/><test-case name="12601NISTXML-SV-IV-list-long-enumeration-4-2 tokoe:valid" result="pass"/><test-case name="12602NISTXML-SV-IV-list-long-enumeration-4-3 tokoe:valid" result="pass"/><test-case name="12603NISTXML-SV-IV-list-long-enumeration-4-4 tokoe:valid" result="pass"/><test-case name="12604NISTXML-SV-IV-list-long-enumeration-4-5 tokoe:valid" result="pass"/><test-case name="12605NISTSchema-SV-IV-list-long-enumeration-5 tokoe:valid" result="pass"/><test-case name="12606NISTXML-SV-IV-list-long-enumeration-5-1 tokoe:valid" result="pass"/><test-case name="12607NISTXML-SV-IV-list-long-enumeration-5-2 tokoe:valid" result="pass"/><test-case name="12608NISTXML-SV-IV-list-long-enumeration-5-3 tokoe:valid" result="pass"/><test-case name="12609NISTXML-SV-IV-list-long-enumeration-5-4 tokoe:valid" result="pass"/><test-case name="12610NISTXML-SV-IV-list-long-enumeration-5-5 tokoe:valid" result="pass"/><test-case name="12611NISTSchema-SV-IV-list-long-whiteSpace-1 tokoe:valid" result="pass"/><test-case name="12612NISTXML-SV-IV-list-long-whiteSpace-1-1 tokoe:valid" result="pass"/><test-case name="12613NISTXML-SV-IV-list-long-whiteSpace-1-2 tokoe:valid" result="pass"/><test-case name="12614NISTXML-SV-IV-list-long-whiteSpace-1-3 tokoe:valid" result="pass"/><test-case name="12615NISTXML-SV-IV-list-long-whiteSpace-1-4 tokoe:valid" result="pass"/><test-case name="12616NISTXML-SV-IV-list-long-whiteSpace-1-5 tokoe:valid" result="pass"/><test-case name="12617NISTSchema-SV-IV-list-int-maxLength-1 tokoe:valid" result="pass"/><test-case name="12618NISTXML-SV-IV-list-int-maxLength-1-1 tokoe:valid" result="pass"/><test-case name="12619NISTXML-SV-IV-list-int-maxLength-1-2 tokoe:valid" result="pass"/><test-case name="12620NISTXML-SV-IV-list-int-maxLength-1-3 tokoe:valid" result="pass"/><test-case name="12621NISTXML-SV-IV-list-int-maxLength-1-4 tokoe:valid" result="pass"/><test-case name="12622NISTXML-SV-IV-list-int-maxLength-1-5 tokoe:valid" result="pass"/><test-case name="12623NISTSchema-SV-IV-list-int-maxLength-2 tokoe:valid" result="pass"/><test-case name="12624NISTXML-SV-IV-list-int-maxLength-2-1 tokoe:valid" result="pass"/><test-case name="12625NISTXML-SV-IV-list-int-maxLength-2-2 tokoe:valid" result="pass"/><test-case name="12626NISTXML-SV-IV-list-int-maxLength-2-3 tokoe:valid" result="pass"/><test-case name="12627NISTXML-SV-IV-list-int-maxLength-2-4 tokoe:valid" result="pass"/><test-case name="12628NISTXML-SV-IV-list-int-maxLength-2-5 tokoe:valid" result="pass"/><test-case name="12629NISTSchema-SV-IV-list-int-maxLength-3 tokoe:valid" result="pass"/><test-case name="12630NISTXML-SV-IV-list-int-maxLength-3-1 tokoe:valid" result="pass"/><test-case name="12631NISTXML-SV-IV-list-int-maxLength-3-2 tokoe:valid" result="pass"/><test-case name="12632NISTXML-SV-IV-list-int-maxLength-3-3 tokoe:valid" result="pass"/><test-case name="12633NISTXML-SV-IV-list-int-maxLength-3-4 tokoe:valid" result="pass"/><test-case name="12634NISTXML-SV-IV-list-int-maxLength-3-5 tokoe:valid" result="pass"/><test-case name="12635NISTSchema-SV-IV-list-int-maxLength-4 tokoe:valid" result="pass"/><test-case name="12636NISTXML-SV-IV-list-int-maxLength-4-1 tokoe:valid" result="pass"/><test-case name="12637NISTXML-SV-IV-list-int-maxLength-4-2 tokoe:valid" result="pass"/><test-case name="12638NISTXML-SV-IV-list-int-maxLength-4-3 tokoe:valid" result="pass"/><test-case name="12639NISTXML-SV-IV-list-int-maxLength-4-4 tokoe:valid" result="pass"/><test-case name="12640NISTXML-SV-IV-list-int-maxLength-4-5 tokoe:valid" result="pass"/><test-case name="12641NISTSchema-SV-IV-list-int-maxLength-5 tokoe:valid" result="pass"/><test-case name="12642NISTXML-SV-IV-list-int-maxLength-5-1 tokoe:valid" result="pass"/><test-case name="12643NISTXML-SV-IV-list-int-maxLength-5-2 tokoe:valid" result="pass"/><test-case name="12644NISTXML-SV-IV-list-int-maxLength-5-3 tokoe:valid" result="pass"/><test-case name="12645NISTXML-SV-IV-list-int-maxLength-5-4 tokoe:valid" result="pass"/><test-case name="12646NISTXML-SV-IV-list-int-maxLength-5-5 tokoe:valid" result="pass"/><test-case name="12647NISTSchema-SV-IV-list-int-minLength-1 tokoe:valid" result="pass"/><test-case name="12648NISTXML-SV-IV-list-int-minLength-1-1 tokoe:valid" result="pass"/><test-case name="12649NISTXML-SV-IV-list-int-minLength-1-2 tokoe:valid" result="pass"/><test-case name="12650NISTXML-SV-IV-list-int-minLength-1-3 tokoe:valid" result="pass"/><test-case name="12651NISTXML-SV-IV-list-int-minLength-1-4 tokoe:valid" result="pass"/><test-case name="12652NISTXML-SV-IV-list-int-minLength-1-5 tokoe:valid" result="pass"/><test-case name="12653NISTSchema-SV-IV-list-int-minLength-2 tokoe:valid" result="pass"/><test-case name="12654NISTXML-SV-IV-list-int-minLength-2-1 tokoe:valid" result="pass"/><test-case name="12655NISTXML-SV-IV-list-int-minLength-2-2 tokoe:valid" result="pass"/><test-case name="12656NISTXML-SV-IV-list-int-minLength-2-3 tokoe:valid" result="pass"/><test-case name="12657NISTXML-SV-IV-list-int-minLength-2-4 tokoe:valid" result="pass"/><test-case name="12658NISTXML-SV-IV-list-int-minLength-2-5 tokoe:valid" result="pass"/><test-case name="12659NISTSchema-SV-IV-list-int-minLength-3 tokoe:valid" result="pass"/><test-case name="12660NISTXML-SV-IV-list-int-minLength-3-1 tokoe:valid" result="pass"/><test-case name="12661NISTXML-SV-IV-list-int-minLength-3-2 tokoe:valid" result="pass"/><test-case name="12662NISTXML-SV-IV-list-int-minLength-3-3 tokoe:valid" result="pass"/><test-case name="12663NISTXML-SV-IV-list-int-minLength-3-4 tokoe:valid" result="pass"/><test-case name="12664NISTXML-SV-IV-list-int-minLength-3-5 tokoe:valid" result="pass"/><test-case name="12665NISTSchema-SV-IV-list-int-minLength-4 tokoe:valid" result="pass"/><test-case name="12666NISTXML-SV-IV-list-int-minLength-4-1 tokoe:valid" result="pass"/><test-case name="12667NISTXML-SV-IV-list-int-minLength-4-2 tokoe:valid" result="pass"/><test-case name="12668NISTXML-SV-IV-list-int-minLength-4-3 tokoe:valid" result="pass"/><test-case name="12669NISTXML-SV-IV-list-int-minLength-4-4 tokoe:valid" result="pass"/><test-case name="12670NISTXML-SV-IV-list-int-minLength-4-5 tokoe:valid" result="pass"/><test-case name="12671NISTSchema-SV-IV-list-int-minLength-5 tokoe:valid" result="pass"/><test-case name="12672NISTXML-SV-IV-list-int-minLength-5-1 tokoe:valid" result="pass"/><test-case name="12673NISTXML-SV-IV-list-int-minLength-5-2 tokoe:valid" result="pass"/><test-case name="12674NISTXML-SV-IV-list-int-minLength-5-3 tokoe:valid" result="pass"/><test-case name="12675NISTXML-SV-IV-list-int-minLength-5-4 tokoe:valid" result="pass"/><test-case name="12676NISTXML-SV-IV-list-int-minLength-5-5 tokoe:valid" result="pass"/><test-case name="12677NISTSchema-SV-IV-list-int-length-1 tokoe:valid" result="pass"/><test-case name="12678NISTXML-SV-IV-list-int-length-1-1 tokoe:valid" result="pass"/><test-case name="12679NISTXML-SV-IV-list-int-length-1-2 tokoe:valid" result="pass"/><test-case name="12680NISTXML-SV-IV-list-int-length-1-3 tokoe:valid" result="pass"/><test-case name="12681NISTXML-SV-IV-list-int-length-1-4 tokoe:valid" result="pass"/><test-case name="12682NISTXML-SV-IV-list-int-length-1-5 tokoe:valid" result="pass"/><test-case name="12683NISTSchema-SV-IV-list-int-length-2 tokoe:valid" result="pass"/><test-case name="12684NISTXML-SV-IV-list-int-length-2-1 tokoe:valid" result="pass"/><test-case name="12685NISTXML-SV-IV-list-int-length-2-2 tokoe:valid" result="pass"/><test-case name="12686NISTXML-SV-IV-list-int-length-2-3 tokoe:valid" result="pass"/><test-case name="12687NISTXML-SV-IV-list-int-length-2-4 tokoe:valid" result="pass"/><test-case name="12688NISTXML-SV-IV-list-int-length-2-5 tokoe:valid" result="pass"/><test-case name="12689NISTSchema-SV-IV-list-int-length-3 tokoe:valid" result="pass"/><test-case name="12690NISTXML-SV-IV-list-int-length-3-1 tokoe:valid" result="pass"/><test-case name="12691NISTXML-SV-IV-list-int-length-3-2 tokoe:valid" result="pass"/><test-case name="12692NISTXML-SV-IV-list-int-length-3-3 tokoe:valid" result="pass"/><test-case name="12693NISTXML-SV-IV-list-int-length-3-4 tokoe:valid" result="pass"/><test-case name="12694NISTXML-SV-IV-list-int-length-3-5 tokoe:valid" result="pass"/><test-case name="12695NISTSchema-SV-IV-list-int-length-4 tokoe:valid" result="pass"/><test-case name="12696NISTXML-SV-IV-list-int-length-4-1 tokoe:valid" result="pass"/><test-case name="12697NISTXML-SV-IV-list-int-length-4-2 tokoe:valid" result="pass"/><test-case name="12698NISTXML-SV-IV-list-int-length-4-3 tokoe:valid" result="pass"/><test-case name="12699NISTXML-SV-IV-list-int-length-4-4 tokoe:valid" result="pass"/><test-case name="12700NISTXML-SV-IV-list-int-length-4-5 tokoe:valid" result="pass"/><test-case name="12701NISTSchema-SV-IV-list-int-length-5 tokoe:valid" result="pass"/><test-case name="12702NISTXML-SV-IV-list-int-length-5-1 tokoe:valid" result="pass"/><test-case name="12703NISTXML-SV-IV-list-int-length-5-2 tokoe:valid" result="pass"/><test-case name="12704NISTXML-SV-IV-list-int-length-5-3 tokoe:valid" result="pass"/><test-case name="12705NISTXML-SV-IV-list-int-length-5-4 tokoe:valid" result="pass"/><test-case name="12706NISTXML-SV-IV-list-int-length-5-5 tokoe:valid" result="pass"/><test-case name="12707NISTSchema-SV-IV-list-int-pattern-1 tokoe:valid" result="pass"/><test-case name="12708NISTXML-SV-IV-list-int-pattern-1-1 tokoe:valid" result="pass"/><test-case name="12709NISTXML-SV-IV-list-int-pattern-1-2 tokoe:valid" result="pass"/><test-case name="12710NISTXML-SV-IV-list-int-pattern-1-3 tokoe:valid" result="pass"/><test-case name="12711NISTXML-SV-IV-list-int-pattern-1-4 tokoe:valid" result="pass"/><test-case name="12712NISTXML-SV-IV-list-int-pattern-1-5 tokoe:valid" result="pass"/><test-case name="12713NISTSchema-SV-IV-list-int-pattern-2 tokoe:valid" result="pass"/><test-case name="12714NISTXML-SV-IV-list-int-pattern-2-1 tokoe:valid" result="pass"/><test-case name="12715NISTXML-SV-IV-list-int-pattern-2-2 tokoe:valid" result="pass"/><test-case name="12716NISTXML-SV-IV-list-int-pattern-2-3 tokoe:valid" result="pass"/><test-case name="12717NISTXML-SV-IV-list-int-pattern-2-4 tokoe:valid" result="pass"/><test-case name="12718NISTXML-SV-IV-list-int-pattern-2-5 tokoe:valid" result="pass"/><test-case name="12719NISTSchema-SV-IV-list-int-pattern-3 tokoe:valid" result="pass"/><test-case name="12720NISTXML-SV-IV-list-int-pattern-3-1 tokoe:valid" result="pass"/><test-case name="12721NISTXML-SV-IV-list-int-pattern-3-2 tokoe:valid" result="pass"/><test-case name="12722NISTXML-SV-IV-list-int-pattern-3-3 tokoe:valid" result="pass"/><test-case name="12723NISTXML-SV-IV-list-int-pattern-3-4 tokoe:valid" result="pass"/><test-case name="12724NISTXML-SV-IV-list-int-pattern-3-5 tokoe:valid" result="pass"/><test-case name="12725NISTSchema-SV-IV-list-int-pattern-4 tokoe:valid" result="pass"/><test-case name="12726NISTXML-SV-IV-list-int-pattern-4-1 tokoe:valid" result="pass"/><test-case name="12727NISTXML-SV-IV-list-int-pattern-4-2 tokoe:valid" result="pass"/><test-case name="12728NISTXML-SV-IV-list-int-pattern-4-3 tokoe:valid" result="pass"/><test-case name="12729NISTXML-SV-IV-list-int-pattern-4-4 tokoe:valid" result="pass"/><test-case name="12730NISTXML-SV-IV-list-int-pattern-4-5 tokoe:valid" result="pass"/><test-case name="12731NISTSchema-SV-IV-list-int-pattern-5 tokoe:valid" result="pass"/><test-case name="12732NISTXML-SV-IV-list-int-pattern-5-1 tokoe:valid" result="pass"/><test-case name="12733NISTXML-SV-IV-list-int-pattern-5-2 tokoe:valid" result="pass"/><test-case name="12734NISTXML-SV-IV-list-int-pattern-5-3 tokoe:valid" result="pass"/><test-case name="12735NISTXML-SV-IV-list-int-pattern-5-4 tokoe:valid" result="pass"/><test-case name="12736NISTXML-SV-IV-list-int-pattern-5-5 tokoe:valid" result="pass"/><test-case name="12737NISTSchema-SV-IV-list-int-enumeration-1 tokoe:valid" result="pass"/><test-case name="12738NISTXML-SV-IV-list-int-enumeration-1-1 tokoe:valid" result="pass"/><test-case name="12739NISTXML-SV-IV-list-int-enumeration-1-2 tokoe:valid" result="pass"/><test-case name="12740NISTXML-SV-IV-list-int-enumeration-1-3 tokoe:valid" result="pass"/><test-case name="12741NISTXML-SV-IV-list-int-enumeration-1-4 tokoe:valid" result="pass"/><test-case name="12742NISTXML-SV-IV-list-int-enumeration-1-5 tokoe:valid" result="pass"/><test-case name="12743NISTSchema-SV-IV-list-int-enumeration-2 tokoe:valid" result="pass"/><test-case name="12744NISTXML-SV-IV-list-int-enumeration-2-1 tokoe:valid" result="pass"/><test-case name="12745NISTXML-SV-IV-list-int-enumeration-2-2 tokoe:valid" result="pass"/><test-case name="12746NISTXML-SV-IV-list-int-enumeration-2-3 tokoe:valid" result="pass"/><test-case name="12747NISTXML-SV-IV-list-int-enumeration-2-4 tokoe:valid" result="pass"/><test-case name="12748NISTXML-SV-IV-list-int-enumeration-2-5 tokoe:valid" result="pass"/><test-case name="12749NISTSchema-SV-IV-list-int-enumeration-3 tokoe:valid" result="pass"/><test-case name="12750NISTXML-SV-IV-list-int-enumeration-3-1 tokoe:valid" result="pass"/><test-case name="12751NISTXML-SV-IV-list-int-enumeration-3-2 tokoe:valid" result="pass"/><test-case name="12752NISTXML-SV-IV-list-int-enumeration-3-3 tokoe:valid" result="pass"/><test-case name="12753NISTXML-SV-IV-list-int-enumeration-3-4 tokoe:valid" result="pass"/><test-case name="12754NISTXML-SV-IV-list-int-enumeration-3-5 tokoe:valid" result="pass"/><test-case name="12755NISTSchema-SV-IV-list-int-enumeration-4 tokoe:valid" result="pass"/><test-case name="12756NISTXML-SV-IV-list-int-enumeration-4-1 tokoe:valid" result="pass"/><test-case name="12757NISTXML-SV-IV-list-int-enumeration-4-2 tokoe:valid" result="pass"/><test-case name="12758NISTXML-SV-IV-list-int-enumeration-4-3 tokoe:valid" result="pass"/><test-case name="12759NISTXML-SV-IV-list-int-enumeration-4-4 tokoe:valid" result="pass"/><test-case name="12760NISTXML-SV-IV-list-int-enumeration-4-5 tokoe:valid" result="pass"/><test-case name="12761NISTSchema-SV-IV-list-int-enumeration-5 tokoe:valid" result="pass"/><test-case name="12762NISTXML-SV-IV-list-int-enumeration-5-1 tokoe:valid" result="pass"/><test-case name="12763NISTXML-SV-IV-list-int-enumeration-5-2 tokoe:valid" result="pass"/><test-case name="12764NISTXML-SV-IV-list-int-enumeration-5-3 tokoe:valid" result="pass"/><test-case name="12765NISTXML-SV-IV-list-int-enumeration-5-4 tokoe:valid" result="pass"/><test-case name="12766NISTXML-SV-IV-list-int-enumeration-5-5 tokoe:valid" result="pass"/><test-case name="12767NISTSchema-SV-IV-list-int-whiteSpace-1 tokoe:valid" result="pass"/><test-case name="12768NISTXML-SV-IV-list-int-whiteSpace-1-1 tokoe:valid" result="pass"/><test-case name="12769NISTXML-SV-IV-list-int-whiteSpace-1-2 tokoe:valid" result="pass"/><test-case name="12770NISTXML-SV-IV-list-int-whiteSpace-1-3 tokoe:valid" result="pass"/><test-case name="12771NISTXML-SV-IV-list-int-whiteSpace-1-4 tokoe:valid" result="pass"/><test-case name="12772NISTXML-SV-IV-list-int-whiteSpace-1-5 tokoe:valid" result="pass"/><test-case name="12773NISTSchema-SV-IV-list-short-maxLength-1 tokoe:valid" result="pass"/><test-case name="12774NISTXML-SV-IV-list-short-maxLength-1-1 tokoe:valid" result="pass"/><test-case name="12775NISTXML-SV-IV-list-short-maxLength-1-2 tokoe:valid" result="pass"/><test-case name="12776NISTXML-SV-IV-list-short-maxLength-1-3 tokoe:valid" result="pass"/><test-case name="12777NISTXML-SV-IV-list-short-maxLength-1-4 tokoe:valid" result="pass"/><test-case name="12778NISTXML-SV-IV-list-short-maxLength-1-5 tokoe:valid" result="pass"/><test-case name="12779NISTSchema-SV-IV-list-short-maxLength-2 tokoe:valid" result="pass"/><test-case name="12780NISTXML-SV-IV-list-short-maxLength-2-1 tokoe:valid" result="pass"/><test-case name="12781NISTXML-SV-IV-list-short-maxLength-2-2 tokoe:valid" result="pass"/><test-case name="12782NISTXML-SV-IV-list-short-maxLength-2-3 tokoe:valid" result="pass"/><test-case name="12783NISTXML-SV-IV-list-short-maxLength-2-4 tokoe:valid" result="pass"/><test-case name="12784NISTXML-SV-IV-list-short-maxLength-2-5 tokoe:valid" result="pass"/><test-case name="12785NISTSchema-SV-IV-list-short-maxLength-3 tokoe:valid" result="pass"/><test-case name="12786NISTXML-SV-IV-list-short-maxLength-3-1 tokoe:valid" result="pass"/><test-case name="12787NISTXML-SV-IV-list-short-maxLength-3-2 tokoe:valid" result="pass"/><test-case name="12788NISTXML-SV-IV-list-short-maxLength-3-3 tokoe:valid" result="pass"/><test-case name="12789NISTXML-SV-IV-list-short-maxLength-3-4 tokoe:valid" result="pass"/><test-case name="12790NISTXML-SV-IV-list-short-maxLength-3-5 tokoe:valid" result="pass"/><test-case name="12791NISTSchema-SV-IV-list-short-maxLength-4 tokoe:valid" result="pass"/><test-case name="12792NISTXML-SV-IV-list-short-maxLength-4-1 tokoe:valid" result="pass"/><test-case name="12793NISTXML-SV-IV-list-short-maxLength-4-2 tokoe:valid" result="pass"/><test-case name="12794NISTXML-SV-IV-list-short-maxLength-4-3 tokoe:valid" result="pass"/><test-case name="12795NISTXML-SV-IV-list-short-maxLength-4-4 tokoe:valid" result="pass"/><test-case name="12796NISTXML-SV-IV-list-short-maxLength-4-5 tokoe:valid" result="pass"/><test-case name="12797NISTSchema-SV-IV-list-short-maxLength-5 tokoe:valid" result="pass"/><test-case name="12798NISTXML-SV-IV-list-short-maxLength-5-1 tokoe:valid" result="pass"/><test-case name="12799NISTXML-SV-IV-list-short-maxLength-5-2 tokoe:valid" result="pass"/><test-case name="12800NISTXML-SV-IV-list-short-maxLength-5-3 tokoe:valid" result="pass"/><test-case name="12801NISTXML-SV-IV-list-short-maxLength-5-4 tokoe:valid" result="pass"/><test-case name="12802NISTXML-SV-IV-list-short-maxLength-5-5 tokoe:valid" result="pass"/><test-case name="12803NISTSchema-SV-IV-list-short-minLength-1 tokoe:valid" result="pass"/><test-case name="12804NISTXML-SV-IV-list-short-minLength-1-1 tokoe:valid" result="pass"/><test-case name="12805NISTXML-SV-IV-list-short-minLength-1-2 tokoe:valid" result="pass"/><test-case name="12806NISTXML-SV-IV-list-short-minLength-1-3 tokoe:valid" result="pass"/><test-case name="12807NISTXML-SV-IV-list-short-minLength-1-4 tokoe:valid" result="pass"/><test-case name="12808NISTXML-SV-IV-list-short-minLength-1-5 tokoe:valid" result="pass"/><test-case name="12809NISTSchema-SV-IV-list-short-minLength-2 tokoe:valid" result="pass"/><test-case name="12810NISTXML-SV-IV-list-short-minLength-2-1 tokoe:valid" result="pass"/><test-case name="12811NISTXML-SV-IV-list-short-minLength-2-2 tokoe:valid" result="pass"/><test-case name="12812NISTXML-SV-IV-list-short-minLength-2-3 tokoe:valid" result="pass"/><test-case name="12813NISTXML-SV-IV-list-short-minLength-2-4 tokoe:valid" result="pass"/><test-case name="12814NISTXML-SV-IV-list-short-minLength-2-5 tokoe:valid" result="pass"/><test-case name="12815NISTSchema-SV-IV-list-short-minLength-3 tokoe:valid" result="pass"/><test-case name="12816NISTXML-SV-IV-list-short-minLength-3-1 tokoe:valid" result="pass"/><test-case name="12817NISTXML-SV-IV-list-short-minLength-3-2 tokoe:valid" result="pass"/><test-case name="12818NISTXML-SV-IV-list-short-minLength-3-3 tokoe:valid" result="pass"/><test-case name="12819NISTXML-SV-IV-list-short-minLength-3-4 tokoe:valid" result="pass"/><test-case name="12820NISTXML-SV-IV-list-short-minLength-3-5 tokoe:valid" result="pass"/><test-case name="12821NISTSchema-SV-IV-list-short-minLength-4 tokoe:valid" result="pass"/><test-case name="12822NISTXML-SV-IV-list-short-minLength-4-1 tokoe:valid" result="pass"/><test-case name="12823NISTXML-SV-IV-list-short-minLength-4-2 tokoe:valid" result="pass"/><test-case name="12824NISTXML-SV-IV-list-short-minLength-4-3 tokoe:valid" result="pass"/><test-case name="12825NISTXML-SV-IV-list-short-minLength-4-4 tokoe:valid" result="pass"/><test-case name="12826NISTXML-SV-IV-list-short-minLength-4-5 tokoe:valid" result="pass"/><test-case name="12827NISTSchema-SV-IV-list-short-minLength-5 tokoe:valid" result="pass"/><test-case name="12828NISTXML-SV-IV-list-short-minLength-5-1 tokoe:valid" result="pass"/><test-case name="12829NISTXML-SV-IV-list-short-minLength-5-2 tokoe:valid" result="pass"/><test-case name="12830NISTXML-SV-IV-list-short-minLength-5-3 tokoe:valid" result="pass"/><test-case name="12831NISTXML-SV-IV-list-short-minLength-5-4 tokoe:valid" result="pass"/><test-case name="12832NISTXML-SV-IV-list-short-minLength-5-5 tokoe:valid" result="pass"/><test-case name="12833NISTSchema-SV-IV-list-short-length-1 tokoe:valid" result="pass"/><test-case name="12834NISTXML-SV-IV-list-short-length-1-1 tokoe:valid" result="pass"/><test-case name="12835NISTXML-SV-IV-list-short-length-1-2 tokoe:valid" result="pass"/><test-case name="12836NISTXML-SV-IV-list-short-length-1-3 tokoe:valid" result="pass"/><test-case name="12837NISTXML-SV-IV-list-short-length-1-4 tokoe:valid" result="pass"/><test-case name="12838NISTXML-SV-IV-list-short-length-1-5 tokoe:valid" result="pass"/><test-case name="12839NISTSchema-SV-IV-list-short-length-2 tokoe:valid" result="pass"/><test-case name="12840NISTXML-SV-IV-list-short-length-2-1 tokoe:valid" result="pass"/><test-case name="12841NISTXML-SV-IV-list-short-length-2-2 tokoe:valid" result="pass"/><test-case name="12842NISTXML-SV-IV-list-short-length-2-3 tokoe:valid" result="pass"/><test-case name="12843NISTXML-SV-IV-list-short-length-2-4 tokoe:valid" result="pass"/><test-case name="12844NISTXML-SV-IV-list-short-length-2-5 tokoe:valid" result="pass"/><test-case name="12845NISTSchema-SV-IV-list-short-length-3 tokoe:valid" result="pass"/><test-case name="12846NISTXML-SV-IV-list-short-length-3-1 tokoe:valid" result="pass"/><test-case name="12847NISTXML-SV-IV-list-short-length-3-2 tokoe:valid" result="pass"/><test-case name="12848NISTXML-SV-IV-list-short-length-3-3 tokoe:valid" result="pass"/><test-case name="12849NISTXML-SV-IV-list-short-length-3-4 tokoe:valid" result="pass"/><test-case name="12850NISTXML-SV-IV-list-short-length-3-5 tokoe:valid" result="pass"/><test-case name="12851NISTSchema-SV-IV-list-short-length-4 tokoe:valid" result="pass"/><test-case name="12852NISTXML-SV-IV-list-short-length-4-1 tokoe:valid" result="pass"/><test-case name="12853NISTXML-SV-IV-list-short-length-4-2 tokoe:valid" result="pass"/><test-case name="12854NISTXML-SV-IV-list-short-length-4-3 tokoe:valid" result="pass"/><test-case name="12855NISTXML-SV-IV-list-short-length-4-4 tokoe:valid" result="pass"/><test-case name="12856NISTXML-SV-IV-list-short-length-4-5 tokoe:valid" result="pass"/><test-case name="12857NISTSchema-SV-IV-list-short-length-5 tokoe:valid" result="pass"/><test-case name="12858NISTXML-SV-IV-list-short-length-5-1 tokoe:valid" result="pass"/><test-case name="12859NISTXML-SV-IV-list-short-length-5-2 tokoe:valid" result="pass"/><test-case name="12860NISTXML-SV-IV-list-short-length-5-3 tokoe:valid" result="pass"/><test-case name="12861NISTXML-SV-IV-list-short-length-5-4 tokoe:valid" result="pass"/><test-case name="12862NISTXML-SV-IV-list-short-length-5-5 tokoe:valid" result="pass"/><test-case name="12863NISTSchema-SV-IV-list-short-pattern-1 tokoe:valid" result="pass"/><test-case name="12864NISTXML-SV-IV-list-short-pattern-1-1 tokoe:valid" result="pass"/><test-case name="12865NISTXML-SV-IV-list-short-pattern-1-2 tokoe:valid" result="pass"/><test-case name="12866NISTXML-SV-IV-list-short-pattern-1-3 tokoe:valid" result="pass"/><test-case name="12867NISTXML-SV-IV-list-short-pattern-1-4 tokoe:valid" result="pass"/><test-case name="12868NISTXML-SV-IV-list-short-pattern-1-5 tokoe:valid" result="pass"/><test-case name="12869NISTSchema-SV-IV-list-short-pattern-2 tokoe:valid" result="pass"/><test-case name="12870NISTXML-SV-IV-list-short-pattern-2-1 tokoe:valid" result="pass"/><test-case name="12871NISTXML-SV-IV-list-short-pattern-2-2 tokoe:valid" result="pass"/><test-case name="12872NISTXML-SV-IV-list-short-pattern-2-3 tokoe:valid" result="pass"/><test-case name="12873NISTXML-SV-IV-list-short-pattern-2-4 tokoe:valid" result="pass"/><test-case name="12874NISTXML-SV-IV-list-short-pattern-2-5 tokoe:valid" result="pass"/><test-case name="12875NISTSchema-SV-IV-list-short-pattern-3 tokoe:valid" result="pass"/><test-case name="12876NISTXML-SV-IV-list-short-pattern-3-1 tokoe:valid" result="pass"/><test-case name="12877NISTXML-SV-IV-list-short-pattern-3-2 tokoe:valid" result="pass"/><test-case name="12878NISTXML-SV-IV-list-short-pattern-3-3 tokoe:valid" result="pass"/><test-case name="12879NISTXML-SV-IV-list-short-pattern-3-4 tokoe:valid" result="pass"/><test-case name="12880NISTXML-SV-IV-list-short-pattern-3-5 tokoe:valid" result="pass"/><test-case name="12881NISTSchema-SV-IV-list-short-pattern-4 tokoe:valid" result="pass"/><test-case name="12882NISTXML-SV-IV-list-short-pattern-4-1 tokoe:valid" result="pass"/><test-case name="12883NISTXML-SV-IV-list-short-pattern-4-2 tokoe:valid" result="pass"/><test-case name="12884NISTXML-SV-IV-list-short-pattern-4-3 tokoe:valid" result="pass"/><test-case name="12885NISTXML-SV-IV-list-short-pattern-4-4 tokoe:valid" result="pass"/><test-case name="12886NISTXML-SV-IV-list-short-pattern-4-5 tokoe:valid" result="pass"/><test-case name="12887NISTSchema-SV-IV-list-short-pattern-5 tokoe:valid" result="pass"/><test-case name="12888NISTXML-SV-IV-list-short-pattern-5-1 tokoe:valid" result="pass"/><test-case name="12889NISTXML-SV-IV-list-short-pattern-5-2 tokoe:valid" result="pass"/><test-case name="12890NISTXML-SV-IV-list-short-pattern-5-3 tokoe:valid" result="pass"/><test-case name="12891NISTXML-SV-IV-list-short-pattern-5-4 tokoe:valid" result="pass"/><test-case name="12892NISTXML-SV-IV-list-short-pattern-5-5 tokoe:valid" result="pass"/><test-case name="12893NISTSchema-SV-IV-list-short-enumeration-1 tokoe:valid" result="pass"/><test-case name="12894NISTXML-SV-IV-list-short-enumeration-1-1 tokoe:valid" result="pass"/><test-case name="12895NISTXML-SV-IV-list-short-enumeration-1-2 tokoe:valid" result="pass"/><test-case name="12896NISTXML-SV-IV-list-short-enumeration-1-3 tokoe:valid" result="pass"/><test-case name="12897NISTXML-SV-IV-list-short-enumeration-1-4 tokoe:valid" result="pass"/><test-case name="12898NISTXML-SV-IV-list-short-enumeration-1-5 tokoe:valid" result="pass"/><test-case name="12899NISTSchema-SV-IV-list-short-enumeration-2 tokoe:valid" result="pass"/><test-case name="12900NISTXML-SV-IV-list-short-enumeration-2-1 tokoe:valid" result="pass"/><test-case name="12901NISTXML-SV-IV-list-short-enumeration-2-2 tokoe:valid" result="pass"/><test-case name="12902NISTXML-SV-IV-list-short-enumeration-2-3 tokoe:valid" result="pass"/><test-case name="12903NISTXML-SV-IV-list-short-enumeration-2-4 tokoe:valid" result="pass"/><test-case name="12904NISTXML-SV-IV-list-short-enumeration-2-5 tokoe:valid" result="pass"/><test-case name="12905NISTSchema-SV-IV-list-short-enumeration-3 tokoe:valid" result="pass"/><test-case name="12906NISTXML-SV-IV-list-short-enumeration-3-1 tokoe:valid" result="pass"/><test-case name="12907NISTXML-SV-IV-list-short-enumeration-3-2 tokoe:valid" result="pass"/><test-case name="12908NISTXML-SV-IV-list-short-enumeration-3-3 tokoe:valid" result="pass"/><test-case name="12909NISTXML-SV-IV-list-short-enumeration-3-4 tokoe:valid" result="pass"/><test-case name="12910NISTXML-SV-IV-list-short-enumeration-3-5 tokoe:valid" result="pass"/><test-case name="12911NISTSchema-SV-IV-list-short-enumeration-4 tokoe:valid" result="pass"/><test-case name="12912NISTXML-SV-IV-list-short-enumeration-4-1 tokoe:valid" result="pass"/><test-case name="12913NISTXML-SV-IV-list-short-enumeration-4-2 tokoe:valid" result="pass"/><test-case name="12914NISTXML-SV-IV-list-short-enumeration-4-3 tokoe:valid" result="pass"/><test-case name="12915NISTXML-SV-IV-list-short-enumeration-4-4 tokoe:valid" result="pass"/><test-case name="12916NISTXML-SV-IV-list-short-enumeration-4-5 tokoe:valid" result="pass"/><test-case name="12917NISTSchema-SV-IV-list-short-enumeration-5 tokoe:valid" result="pass"/><test-case name="12918NISTXML-SV-IV-list-short-enumeration-5-1 tokoe:valid" result="pass"/><test-case name="12919NISTXML-SV-IV-list-short-enumeration-5-2 tokoe:valid" result="pass"/><test-case name="12920NISTXML-SV-IV-list-short-enumeration-5-3 tokoe:valid" result="pass"/><test-case name="12921NISTXML-SV-IV-list-short-enumeration-5-4 tokoe:valid" result="pass"/><test-case name="12922NISTXML-SV-IV-list-short-enumeration-5-5 tokoe:valid" result="pass"/><test-case name="12923NISTSchema-SV-IV-list-short-whiteSpace-1 tokoe:valid" result="pass"/><test-case name="12924NISTXML-SV-IV-list-short-whiteSpace-1-1 tokoe:valid" result="pass"/><test-case name="12925NISTXML-SV-IV-list-short-whiteSpace-1-2 tokoe:valid" result="pass"/><test-case name="12926NISTXML-SV-IV-list-short-whiteSpace-1-3 tokoe:valid" result="pass"/><test-case name="12927NISTXML-SV-IV-list-short-whiteSpace-1-4 tokoe:valid" result="pass"/><test-case name="12928NISTXML-SV-IV-list-short-whiteSpace-1-5 tokoe:valid" result="pass"/><test-case name="12929NISTSchema-SV-IV-list-byte-maxLength-1 tokoe:valid" result="pass"/><test-case name="12930NISTXML-SV-IV-list-byte-maxLength-1-1 tokoe:valid" result="pass"/><test-case name="12931NISTXML-SV-IV-list-byte-maxLength-1-2 tokoe:valid" result="pass"/><test-case name="12932NISTXML-SV-IV-list-byte-maxLength-1-3 tokoe:valid" result="pass"/><test-case name="12933NISTXML-SV-IV-list-byte-maxLength-1-4 tokoe:valid" result="pass"/><test-case name="12934NISTXML-SV-IV-list-byte-maxLength-1-5 tokoe:valid" result="pass"/><test-case name="12935NISTSchema-SV-IV-list-byte-maxLength-2 tokoe:valid" result="pass"/><test-case name="12936NISTXML-SV-IV-list-byte-maxLength-2-1 tokoe:valid" result="pass"/><test-case name="12937NISTXML-SV-IV-list-byte-maxLength-2-2 tokoe:valid" result="pass"/><test-case name="12938NISTXML-SV-IV-list-byte-maxLength-2-3 tokoe:valid" result="pass"/><test-case name="12939NISTXML-SV-IV-list-byte-maxLength-2-4 tokoe:valid" result="pass"/><test-case name="12940NISTXML-SV-IV-list-byte-maxLength-2-5 tokoe:valid" result="pass"/><test-case name="12941NISTSchema-SV-IV-list-byte-maxLength-3 tokoe:valid" result="pass"/><test-case name="12942NISTXML-SV-IV-list-byte-maxLength-3-1 tokoe:valid" result="pass"/><test-case name="12943NISTXML-SV-IV-list-byte-maxLength-3-2 tokoe:valid" result="pass"/><test-case name="12944NISTXML-SV-IV-list-byte-maxLength-3-3 tokoe:valid" result="pass"/><test-case name="12945NISTXML-SV-IV-list-byte-maxLength-3-4 tokoe:valid" result="pass"/><test-case name="12946NISTXML-SV-IV-list-byte-maxLength-3-5 tokoe:valid" result="pass"/><test-case name="12947NISTSchema-SV-IV-list-byte-maxLength-4 tokoe:valid" result="pass"/><test-case name="12948NISTXML-SV-IV-list-byte-maxLength-4-1 tokoe:valid" result="pass"/><test-case name="12949NISTXML-SV-IV-list-byte-maxLength-4-2 tokoe:valid" result="pass"/><test-case name="12950NISTXML-SV-IV-list-byte-maxLength-4-3 tokoe:valid" result="pass"/><test-case name="12951NISTXML-SV-IV-list-byte-maxLength-4-4 tokoe:valid" result="pass"/><test-case name="12952NISTXML-SV-IV-list-byte-maxLength-4-5 tokoe:valid" result="pass"/><test-case name="12953NISTSchema-SV-IV-list-byte-maxLength-5 tokoe:valid" result="pass"/><test-case name="12954NISTXML-SV-IV-list-byte-maxLength-5-1 tokoe:valid" result="pass"/><test-case name="12955NISTXML-SV-IV-list-byte-maxLength-5-2 tokoe:valid" result="pass"/><test-case name="12956NISTXML-SV-IV-list-byte-maxLength-5-3 tokoe:valid" result="pass"/><test-case name="12957NISTXML-SV-IV-list-byte-maxLength-5-4 tokoe:valid" result="pass"/><test-case name="12958NISTXML-SV-IV-list-byte-maxLength-5-5 tokoe:valid" result="pass"/><test-case name="12959NISTSchema-SV-IV-list-byte-minLength-1 tokoe:valid" result="pass"/><test-case name="12960NISTXML-SV-IV-list-byte-minLength-1-1 tokoe:valid" result="pass"/><test-case name="12961NISTXML-SV-IV-list-byte-minLength-1-2 tokoe:valid" result="pass"/><test-case name="12962NISTXML-SV-IV-list-byte-minLength-1-3 tokoe:valid" result="pass"/><test-case name="12963NISTXML-SV-IV-list-byte-minLength-1-4 tokoe:valid" result="pass"/><test-case name="12964NISTXML-SV-IV-list-byte-minLength-1-5 tokoe:valid" result="pass"/><test-case name="12965NISTSchema-SV-IV-list-byte-minLength-2 tokoe:valid" result="pass"/><test-case name="12966NISTXML-SV-IV-list-byte-minLength-2-1 tokoe:valid" result="pass"/><test-case name="12967NISTXML-SV-IV-list-byte-minLength-2-2 tokoe:valid" result="pass"/><test-case name="12968NISTXML-SV-IV-list-byte-minLength-2-3 tokoe:valid" result="pass"/><test-case name="12969NISTXML-SV-IV-list-byte-minLength-2-4 tokoe:valid" result="pass"/><test-case name="12970NISTXML-SV-IV-list-byte-minLength-2-5 tokoe:valid" result="pass"/><test-case name="12971NISTSchema-SV-IV-list-byte-minLength-3 tokoe:valid" result="pass"/><test-case name="12972NISTXML-SV-IV-list-byte-minLength-3-1 tokoe:valid" result="pass"/><test-case name="12973NISTXML-SV-IV-list-byte-minLength-3-2 tokoe:valid" result="pass"/><test-case name="12974NISTXML-SV-IV-list-byte-minLength-3-3 tokoe:valid" result="pass"/><test-case name="12975NISTXML-SV-IV-list-byte-minLength-3-4 tokoe:valid" result="pass"/><test-case name="12976NISTXML-SV-IV-list-byte-minLength-3-5 tokoe:valid" result="pass"/><test-case name="12977NISTSchema-SV-IV-list-byte-minLength-4 tokoe:valid" result="pass"/><test-case name="12978NISTXML-SV-IV-list-byte-minLength-4-1 tokoe:valid" result="pass"/><test-case name="12979NISTXML-SV-IV-list-byte-minLength-4-2 tokoe:valid" result="pass"/><test-case name="12980NISTXML-SV-IV-list-byte-minLength-4-3 tokoe:valid" result="pass"/><test-case name="12981NISTXML-SV-IV-list-byte-minLength-4-4 tokoe:valid" result="pass"/><test-case name="12982NISTXML-SV-IV-list-byte-minLength-4-5 tokoe:valid" result="pass"/><test-case name="12983NISTSchema-SV-IV-list-byte-minLength-5 tokoe:valid" result="pass"/><test-case name="12984NISTXML-SV-IV-list-byte-minLength-5-1 tokoe:valid" result="pass"/><test-case name="12985NISTXML-SV-IV-list-byte-minLength-5-2 tokoe:valid" result="pass"/><test-case name="12986NISTXML-SV-IV-list-byte-minLength-5-3 tokoe:valid" result="pass"/><test-case name="12987NISTXML-SV-IV-list-byte-minLength-5-4 tokoe:valid" result="pass"/><test-case name="12988NISTXML-SV-IV-list-byte-minLength-5-5 tokoe:valid" result="pass"/><test-case name="12989NISTSchema-SV-IV-list-byte-length-1 tokoe:valid" result="pass"/><test-case name="12990NISTXML-SV-IV-list-byte-length-1-1 tokoe:valid" result="pass"/><test-case name="12991NISTXML-SV-IV-list-byte-length-1-2 tokoe:valid" result="pass"/><test-case name="12992NISTXML-SV-IV-list-byte-length-1-3 tokoe:valid" result="pass"/><test-case name="12993NISTXML-SV-IV-list-byte-length-1-4 tokoe:valid" result="pass"/><test-case name="12994NISTXML-SV-IV-list-byte-length-1-5 tokoe:valid" result="pass"/><test-case name="12995NISTSchema-SV-IV-list-byte-length-2 tokoe:valid" result="pass"/><test-case name="12996NISTXML-SV-IV-list-byte-length-2-1 tokoe:valid" result="pass"/><test-case name="12997NISTXML-SV-IV-list-byte-length-2-2 tokoe:valid" result="pass"/><test-case name="12998NISTXML-SV-IV-list-byte-length-2-3 tokoe:valid" result="pass"/><test-case name="12999NISTXML-SV-IV-list-byte-length-2-4 tokoe:valid" result="pass"/><test-case name="13000NISTXML-SV-IV-list-byte-length-2-5 tokoe:valid" result="pass"/><test-case name="13001NISTSchema-SV-IV-list-byte-length-3 tokoe:valid" result="pass"/><test-case name="13002NISTXML-SV-IV-list-byte-length-3-1 tokoe:valid" result="pass"/><test-case name="13003NISTXML-SV-IV-list-byte-length-3-2 tokoe:valid" result="pass"/><test-case name="13004NISTXML-SV-IV-list-byte-length-3-3 tokoe:valid" result="pass"/><test-case name="13005NISTXML-SV-IV-list-byte-length-3-4 tokoe:valid" result="pass"/><test-case name="13006NISTXML-SV-IV-list-byte-length-3-5 tokoe:valid" result="pass"/><test-case name="13007NISTSchema-SV-IV-list-byte-length-4 tokoe:valid" result="pass"/><test-case name="13008NISTXML-SV-IV-list-byte-length-4-1 tokoe:valid" result="pass"/><test-case name="13009NISTXML-SV-IV-list-byte-length-4-2 tokoe:valid" result="pass"/><test-case name="13010NISTXML-SV-IV-list-byte-length-4-3 tokoe:valid" result="pass"/><test-case name="13011NISTXML-SV-IV-list-byte-length-4-4 tokoe:valid" result="pass"/><test-case name="13012NISTXML-SV-IV-list-byte-length-4-5 tokoe:valid" result="pass"/><test-case name="13013NISTSchema-SV-IV-list-byte-length-5 tokoe:valid" result="pass"/><test-case name="13014NISTXML-SV-IV-list-byte-length-5-1 tokoe:valid" result="pass"/><test-case name="13015NISTXML-SV-IV-list-byte-length-5-2 tokoe:valid" result="pass"/><test-case name="13016NISTXML-SV-IV-list-byte-length-5-3 tokoe:valid" result="pass"/><test-case name="13017NISTXML-SV-IV-list-byte-length-5-4 tokoe:valid" result="pass"/><test-case name="13018NISTXML-SV-IV-list-byte-length-5-5 tokoe:valid" result="pass"/><test-case name="13019NISTSchema-SV-IV-list-byte-pattern-1 tokoe:valid" result="pass"/><test-case name="13020NISTXML-SV-IV-list-byte-pattern-1-1 tokoe:valid" result="pass"/><test-case name="13021NISTXML-SV-IV-list-byte-pattern-1-2 tokoe:valid" result="pass"/><test-case name="13022NISTXML-SV-IV-list-byte-pattern-1-3 tokoe:valid" result="pass"/><test-case name="13023NISTXML-SV-IV-list-byte-pattern-1-4 tokoe:valid" result="pass"/><test-case name="13024NISTXML-SV-IV-list-byte-pattern-1-5 tokoe:valid" result="pass"/><test-case name="13025NISTSchema-SV-IV-list-byte-pattern-2 tokoe:valid" result="pass"/><test-case name="13026NISTXML-SV-IV-list-byte-pattern-2-1 tokoe:valid" result="pass"/><test-case name="13027NISTXML-SV-IV-list-byte-pattern-2-2 tokoe:valid" result="pass"/><test-case name="13028NISTXML-SV-IV-list-byte-pattern-2-3 tokoe:valid" result="pass"/><test-case name="13029NISTXML-SV-IV-list-byte-pattern-2-4 tokoe:valid" result="pass"/><test-case name="13030NISTXML-SV-IV-list-byte-pattern-2-5 tokoe:valid" result="pass"/><test-case name="13031NISTSchema-SV-IV-list-byte-pattern-3 tokoe:valid" result="pass"/><test-case name="13032NISTXML-SV-IV-list-byte-pattern-3-1 tokoe:valid" result="pass"/><test-case name="13033NISTXML-SV-IV-list-byte-pattern-3-2 tokoe:valid" result="pass"/><test-case name="13034NISTXML-SV-IV-list-byte-pattern-3-3 tokoe:valid" result="pass"/><test-case name="13035NISTXML-SV-IV-list-byte-pattern-3-4 tokoe:valid" result="pass"/><test-case name="13036NISTXML-SV-IV-list-byte-pattern-3-5 tokoe:valid" result="pass"/><test-case name="13037NISTSchema-SV-IV-list-byte-pattern-4 tokoe:valid" result="pass"/><test-case name="13038NISTXML-SV-IV-list-byte-pattern-4-1 tokoe:valid" result="pass"/><test-case name="13039NISTXML-SV-IV-list-byte-pattern-4-2 tokoe:valid" result="pass"/><test-case name="13040NISTXML-SV-IV-list-byte-pattern-4-3 tokoe:valid" result="pass"/><test-case name="13041NISTXML-SV-IV-list-byte-pattern-4-4 tokoe:valid" result="pass"/><test-case name="13042NISTXML-SV-IV-list-byte-pattern-4-5 tokoe:valid" result="pass"/><test-case name="13043NISTSchema-SV-IV-list-byte-pattern-5 tokoe:valid" result="pass"/><test-case name="13044NISTXML-SV-IV-list-byte-pattern-5-1 tokoe:valid" result="pass"/><test-case name="13045NISTXML-SV-IV-list-byte-pattern-5-2 tokoe:valid" result="pass"/><test-case name="13046NISTXML-SV-IV-list-byte-pattern-5-3 tokoe:valid" result="pass"/><test-case name="13047NISTXML-SV-IV-list-byte-pattern-5-4 tokoe:valid" result="pass"/><test-case name="13048NISTXML-SV-IV-list-byte-pattern-5-5 tokoe:valid" result="pass"/><test-case name="13049NISTSchema-SV-IV-list-byte-enumeration-1 tokoe:valid" result="pass"/><test-case name="13050NISTXML-SV-IV-list-byte-enumeration-1-1 tokoe:valid" result="pass"/><test-case name="13051NISTXML-SV-IV-list-byte-enumeration-1-2 tokoe:valid" result="pass"/><test-case name="13052NISTXML-SV-IV-list-byte-enumeration-1-3 tokoe:valid" result="pass"/><test-case name="13053NISTXML-SV-IV-list-byte-enumeration-1-4 tokoe:valid" result="pass"/><test-case name="13054NISTXML-SV-IV-list-byte-enumeration-1-5 tokoe:valid" result="pass"/><test-case name="13055NISTSchema-SV-IV-list-byte-enumeration-2 tokoe:valid" result="pass"/><test-case name="13056NISTXML-SV-IV-list-byte-enumeration-2-1 tokoe:valid" result="pass"/><test-case name="13057NISTXML-SV-IV-list-byte-enumeration-2-2 tokoe:valid" result="pass"/><test-case name="13058NISTXML-SV-IV-list-byte-enumeration-2-3 tokoe:valid" result="pass"/><test-case name="13059NISTXML-SV-IV-list-byte-enumeration-2-4 tokoe:valid" result="pass"/><test-case name="13060NISTXML-SV-IV-list-byte-enumeration-2-5 tokoe:valid" result="pass"/><test-case name="13061NISTSchema-SV-IV-list-byte-enumeration-3 tokoe:valid" result="pass"/><test-case name="13062NISTXML-SV-IV-list-byte-enumeration-3-1 tokoe:valid" result="pass"/><test-case name="13063NISTXML-SV-IV-list-byte-enumeration-3-2 tokoe:valid" result="pass"/><test-case name="13064NISTXML-SV-IV-list-byte-enumeration-3-3 tokoe:valid" result="pass"/><test-case name="13065NISTXML-SV-IV-list-byte-enumeration-3-4 tokoe:valid" result="pass"/><test-case name="13066NISTXML-SV-IV-list-byte-enumeration-3-5 tokoe:valid" result="pass"/><test-case name="13067NISTSchema-SV-IV-list-byte-enumeration-4 tokoe:valid" result="pass"/><test-case name="13068NISTXML-SV-IV-list-byte-enumeration-4-1 tokoe:valid" result="pass"/><test-case name="13069NISTXML-SV-IV-list-byte-enumeration-4-2 tokoe:valid" result="pass"/><test-case name="13070NISTXML-SV-IV-list-byte-enumeration-4-3 tokoe:valid" result="pass"/><test-case name="13071NISTXML-SV-IV-list-byte-enumeration-4-4 tokoe:valid" result="pass"/><test-case name="13072NISTXML-SV-IV-list-byte-enumeration-4-5 tokoe:valid" result="pass"/><test-case name="13073NISTSchema-SV-IV-list-byte-enumeration-5 tokoe:valid" result="pass"/><test-case name="13074NISTXML-SV-IV-list-byte-enumeration-5-1 tokoe:valid" result="pass"/><test-case name="13075NISTXML-SV-IV-list-byte-enumeration-5-2 tokoe:valid" result="pass"/><test-case name="13076NISTXML-SV-IV-list-byte-enumeration-5-3 tokoe:valid" result="pass"/><test-case name="13077NISTXML-SV-IV-list-byte-enumeration-5-4 tokoe:valid" result="pass"/><test-case name="13078NISTXML-SV-IV-list-byte-enumeration-5-5 tokoe:valid" result="pass"/><test-case name="13079NISTSchema-SV-IV-list-byte-whiteSpace-1 tokoe:valid" result="pass"/><test-case name="13080NISTXML-SV-IV-list-byte-whiteSpace-1-1 tokoe:valid" result="pass"/><test-case name="13081NISTXML-SV-IV-list-byte-whiteSpace-1-2 tokoe:valid" result="pass"/><test-case name="13082NISTXML-SV-IV-list-byte-whiteSpace-1-3 tokoe:valid" result="pass"/><test-case name="13083NISTXML-SV-IV-list-byte-whiteSpace-1-4 tokoe:valid" result="pass"/><test-case name="13084NISTXML-SV-IV-list-byte-whiteSpace-1-5 tokoe:valid" result="pass"/><test-case name="13085NISTSchema-SV-IV-list-nonNegativeInteger-maxLength-1 tokoe:valid" result="pass"/><test-case name="13086NISTXML-SV-IV-list-nonNegativeInteger-maxLength-1-1 tokoe:valid" result="pass"/><test-case name="13087NISTXML-SV-IV-list-nonNegativeInteger-maxLength-1-2 tokoe:valid" result="pass"/><test-case name="13088NISTXML-SV-IV-list-nonNegativeInteger-maxLength-1-3 tokoe:valid" result="pass"/><test-case name="13089NISTXML-SV-IV-list-nonNegativeInteger-maxLength-1-4 tokoe:valid" result="pass"/><test-case name="13090NISTXML-SV-IV-list-nonNegativeInteger-maxLength-1-5 tokoe:valid" result="pass"/><test-case name="13091NISTSchema-SV-IV-list-nonNegativeInteger-maxLength-2 tokoe:valid" result="pass"/><test-case name="13092NISTXML-SV-IV-list-nonNegativeInteger-maxLength-2-1 tokoe:valid" result="pass"/><test-case name="13093NISTXML-SV-IV-list-nonNegativeInteger-maxLength-2-2 tokoe:valid" result="pass"/><test-case name="13094NISTXML-SV-IV-list-nonNegativeInteger-maxLength-2-3 tokoe:valid" result="pass"/><test-case name="13095NISTXML-SV-IV-list-nonNegativeInteger-maxLength-2-4 tokoe:valid" result="pass"/><test-case name="13096NISTXML-SV-IV-list-nonNegativeInteger-maxLength-2-5 tokoe:valid" result="pass"/><test-case name="13097NISTSchema-SV-IV-list-nonNegativeInteger-maxLength-3 tokoe:valid" result="pass"/><test-case name="13098NISTXML-SV-IV-list-nonNegativeInteger-maxLength-3-1 tokoe:valid" result="pass"/><test-case name="13099NISTXML-SV-IV-list-nonNegativeInteger-maxLength-3-2 tokoe:valid" result="pass"/><test-case name="13100NISTXML-SV-IV-list-nonNegativeInteger-maxLength-3-3 tokoe:valid" result="pass"/><test-case name="13101NISTXML-SV-IV-list-nonNegativeInteger-maxLength-3-4 tokoe:valid" result="pass"/><test-case name="13102NISTXML-SV-IV-list-nonNegativeInteger-maxLength-3-5 tokoe:valid" result="pass"/><test-case name="13103NISTSchema-SV-IV-list-nonNegativeInteger-maxLength-4 tokoe:valid" result="pass"/><test-case name="13104NISTXML-SV-IV-list-nonNegativeInteger-maxLength-4-1 tokoe:valid" result="pass"/><test-case name="13105NISTXML-SV-IV-list-nonNegativeInteger-maxLength-4-2 tokoe:valid" result="pass"/><test-case name="13106NISTXML-SV-IV-list-nonNegativeInteger-maxLength-4-3 tokoe:valid" result="pass"/><test-case name="13107NISTXML-SV-IV-list-nonNegativeInteger-maxLength-4-4 tokoe:valid" result="pass"/><test-case name="13108NISTXML-SV-IV-list-nonNegativeInteger-maxLength-4-5 tokoe:valid" result="pass"/><test-case name="13109NISTSchema-SV-IV-list-nonNegativeInteger-maxLength-5 tokoe:valid" result="pass"/><test-case name="13110NISTXML-SV-IV-list-nonNegativeInteger-maxLength-5-1 tokoe:valid" result="pass"/><test-case name="13111NISTXML-SV-IV-list-nonNegativeInteger-maxLength-5-2 tokoe:valid" result="pass"/><test-case name="13112NISTXML-SV-IV-list-nonNegativeInteger-maxLength-5-3 tokoe:valid" result="pass"/><test-case name="13113NISTXML-SV-IV-list-nonNegativeInteger-maxLength-5-4 tokoe:valid" result="pass"/><test-case name="13114NISTXML-SV-IV-list-nonNegativeInteger-maxLength-5-5 tokoe:valid" result="pass"/><test-case name="13115NISTSchema-SV-IV-list-nonNegativeInteger-minLength-1 tokoe:valid" result="pass"/><test-case name="13116NISTXML-SV-IV-list-nonNegativeInteger-minLength-1-1 tokoe:valid" result="pass"/><test-case name="13117NISTXML-SV-IV-list-nonNegativeInteger-minLength-1-2 tokoe:valid" result="pass"/><test-case name="13118NISTXML-SV-IV-list-nonNegativeInteger-minLength-1-3 tokoe:valid" result="pass"/><test-case name="13119NISTXML-SV-IV-list-nonNegativeInteger-minLength-1-4 tokoe:valid" result="pass"/><test-case name="13120NISTXML-SV-IV-list-nonNegativeInteger-minLength-1-5 tokoe:valid" result="pass"/><test-case name="13121NISTSchema-SV-IV-list-nonNegativeInteger-minLength-2 tokoe:valid" result="pass"/><test-case name="13122NISTXML-SV-IV-list-nonNegativeInteger-minLength-2-1 tokoe:valid" result="pass"/><test-case name="13123NISTXML-SV-IV-list-nonNegativeInteger-minLength-2-2 tokoe:valid" result="pass"/><test-case name="13124NISTXML-SV-IV-list-nonNegativeInteger-minLength-2-3 tokoe:valid" result="pass"/><test-case name="13125NISTXML-SV-IV-list-nonNegativeInteger-minLength-2-4 tokoe:valid" result="pass"/><test-case name="13126NISTXML-SV-IV-list-nonNegativeInteger-minLength-2-5 tokoe:valid" result="pass"/><test-case name="13127NISTSchema-SV-IV-list-nonNegativeInteger-minLength-3 tokoe:valid" result="pass"/><test-case name="13128NISTXML-SV-IV-list-nonNegativeInteger-minLength-3-1 tokoe:valid" result="pass"/><test-case name="13129NISTXML-SV-IV-list-nonNegativeInteger-minLength-3-2 tokoe:valid" result="pass"/><test-case name="13130NISTXML-SV-IV-list-nonNegativeInteger-minLength-3-3 tokoe:valid" result="pass"/><test-case name="13131NISTXML-SV-IV-list-nonNegativeInteger-minLength-3-4 tokoe:valid" result="pass"/><test-case name="13132NISTXML-SV-IV-list-nonNegativeInteger-minLength-3-5 tokoe:valid" result="pass"/><test-case name="13133NISTSchema-SV-IV-list-nonNegativeInteger-minLength-4 tokoe:valid" result="pass"/><test-case name="13134NISTXML-SV-IV-list-nonNegativeInteger-minLength-4-1 tokoe:valid" result="pass"/><test-case name="13135NISTXML-SV-IV-list-nonNegativeInteger-minLength-4-2 tokoe:valid" result="pass"/><test-case name="13136NISTXML-SV-IV-list-nonNegativeInteger-minLength-4-3 tokoe:valid" result="pass"/><test-case name="13137NISTXML-SV-IV-list-nonNegativeInteger-minLength-4-4 tokoe:valid" result="pass"/><test-case name="13138NISTXML-SV-IV-list-nonNegativeInteger-minLength-4-5 tokoe:valid" result="pass"/><test-case name="13139NISTSchema-SV-IV-list-nonNegativeInteger-minLength-5 tokoe:valid" result="pass"/><test-case name="13140NISTXML-SV-IV-list-nonNegativeInteger-minLength-5-1 tokoe:valid" result="pass"/><test-case name="13141NISTXML-SV-IV-list-nonNegativeInteger-minLength-5-2 tokoe:valid" result="pass"/><test-case name="13142NISTXML-SV-IV-list-nonNegativeInteger-minLength-5-3 tokoe:valid" result="pass"/><test-case name="13143NISTXML-SV-IV-list-nonNegativeInteger-minLength-5-4 tokoe:valid" result="pass"/><test-case name="13144NISTXML-SV-IV-list-nonNegativeInteger-minLength-5-5 tokoe:valid" result="pass"/><test-case name="13145NISTSchema-SV-IV-list-nonNegativeInteger-length-1 tokoe:valid" result="pass"/><test-case name="13146NISTXML-SV-IV-list-nonNegativeInteger-length-1-1 tokoe:valid" result="pass"/><test-case name="13147NISTXML-SV-IV-list-nonNegativeInteger-length-1-2 tokoe:valid" result="pass"/><test-case name="13148NISTXML-SV-IV-list-nonNegativeInteger-length-1-3 tokoe:valid" result="pass"/><test-case name="13149NISTXML-SV-IV-list-nonNegativeInteger-length-1-4 tokoe:valid" result="pass"/><test-case name="13150NISTXML-SV-IV-list-nonNegativeInteger-length-1-5 tokoe:valid" result="pass"/><test-case name="13151NISTSchema-SV-IV-list-nonNegativeInteger-length-2 tokoe:valid" result="pass"/><test-case name="13152NISTXML-SV-IV-list-nonNegativeInteger-length-2-1 tokoe:valid" result="pass"/><test-case name="13153NISTXML-SV-IV-list-nonNegativeInteger-length-2-2 tokoe:valid" result="pass"/><test-case name="13154NISTXML-SV-IV-list-nonNegativeInteger-length-2-3 tokoe:valid" result="pass"/><test-case name="13155NISTXML-SV-IV-list-nonNegativeInteger-length-2-4 tokoe:valid" result="pass"/><test-case name="13156NISTXML-SV-IV-list-nonNegativeInteger-length-2-5 tokoe:valid" result="pass"/><test-case name="13157NISTSchema-SV-IV-list-nonNegativeInteger-length-3 tokoe:valid" result="pass"/><test-case name="13158NISTXML-SV-IV-list-nonNegativeInteger-length-3-1 tokoe:valid" result="pass"/><test-case name="13159NISTXML-SV-IV-list-nonNegativeInteger-length-3-2 tokoe:valid" result="pass"/><test-case name="13160NISTXML-SV-IV-list-nonNegativeInteger-length-3-3 tokoe:valid" result="pass"/><test-case name="13161NISTXML-SV-IV-list-nonNegativeInteger-length-3-4 tokoe:valid" result="pass"/><test-case name="13162NISTXML-SV-IV-list-nonNegativeInteger-length-3-5 tokoe:valid" result="pass"/><test-case name="13163NISTSchema-SV-IV-list-nonNegativeInteger-length-4 tokoe:valid" result="pass"/><test-case name="13164NISTXML-SV-IV-list-nonNegativeInteger-length-4-1 tokoe:valid" result="pass"/><test-case name="13165NISTXML-SV-IV-list-nonNegativeInteger-length-4-2 tokoe:valid" result="pass"/><test-case name="13166NISTXML-SV-IV-list-nonNegativeInteger-length-4-3 tokoe:valid" result="pass"/><test-case name="13167NISTXML-SV-IV-list-nonNegativeInteger-length-4-4 tokoe:valid" result="pass"/><test-case name="13168NISTXML-SV-IV-list-nonNegativeInteger-length-4-5 tokoe:valid" result="pass"/><test-case name="13169NISTSchema-SV-IV-list-nonNegativeInteger-length-5 tokoe:valid" result="pass"/><test-case name="13170NISTXML-SV-IV-list-nonNegativeInteger-length-5-1 tokoe:valid" result="pass"/><test-case name="13171NISTXML-SV-IV-list-nonNegativeInteger-length-5-2 tokoe:valid" result="pass"/><test-case name="13172NISTXML-SV-IV-list-nonNegativeInteger-length-5-3 tokoe:valid" result="pass"/><test-case name="13173NISTXML-SV-IV-list-nonNegativeInteger-length-5-4 tokoe:valid" result="pass"/><test-case name="13174NISTXML-SV-IV-list-nonNegativeInteger-length-5-5 tokoe:valid" result="pass"/><test-case name="13175NISTSchema-SV-IV-list-nonNegativeInteger-pattern-1 tokoe:valid" result="pass"/><test-case name="13176NISTXML-SV-IV-list-nonNegativeInteger-pattern-1-1 tokoe:valid" result="pass"/><test-case name="13177NISTXML-SV-IV-list-nonNegativeInteger-pattern-1-2 tokoe:valid" result="pass"/><test-case name="13178NISTXML-SV-IV-list-nonNegativeInteger-pattern-1-3 tokoe:valid" result="pass"/><test-case name="13179NISTXML-SV-IV-list-nonNegativeInteger-pattern-1-4 tokoe:valid" result="pass"/><test-case name="13180NISTXML-SV-IV-list-nonNegativeInteger-pattern-1-5 tokoe:valid" result="pass"/><test-case name="13181NISTSchema-SV-IV-list-nonNegativeInteger-pattern-2 tokoe:valid" result="pass"/><test-case name="13182NISTXML-SV-IV-list-nonNegativeInteger-pattern-2-1 tokoe:valid" result="pass"/><test-case name="13183NISTXML-SV-IV-list-nonNegativeInteger-pattern-2-2 tokoe:valid" result="pass"/><test-case name="13184NISTXML-SV-IV-list-nonNegativeInteger-pattern-2-3 tokoe:valid" result="pass"/><test-case name="13185NISTXML-SV-IV-list-nonNegativeInteger-pattern-2-4 tokoe:valid" result="pass"/><test-case name="13186NISTXML-SV-IV-list-nonNegativeInteger-pattern-2-5 tokoe:valid" result="pass"/><test-case name="13187NISTSchema-SV-IV-list-nonNegativeInteger-pattern-3 tokoe:valid" result="pass"/><test-case name="13188NISTXML-SV-IV-list-nonNegativeInteger-pattern-3-1 tokoe:valid" result="pass"/><test-case name="13189NISTXML-SV-IV-list-nonNegativeInteger-pattern-3-2 tokoe:valid" result="pass"/><test-case name="13190NISTXML-SV-IV-list-nonNegativeInteger-pattern-3-3 tokoe:valid" result="pass"/><test-case name="13191NISTXML-SV-IV-list-nonNegativeInteger-pattern-3-4 tokoe:valid" result="pass"/><test-case name="13192NISTXML-SV-IV-list-nonNegativeInteger-pattern-3-5 tokoe:valid" result="pass"/><test-case name="13193NISTSchema-SV-IV-list-nonNegativeInteger-pattern-4 tokoe:valid" result="pass"/><test-case name="13194NISTXML-SV-IV-list-nonNegativeInteger-pattern-4-1 tokoe:valid" result="pass"/><test-case name="13195NISTXML-SV-IV-list-nonNegativeInteger-pattern-4-2 tokoe:valid" result="pass"/><test-case name="13196NISTXML-SV-IV-list-nonNegativeInteger-pattern-4-3 tokoe:valid" result="pass"/><test-case name="13197NISTXML-SV-IV-list-nonNegativeInteger-pattern-4-4 tokoe:valid" result="pass"/><test-case name="13198NISTXML-SV-IV-list-nonNegativeInteger-pattern-4-5 tokoe:valid" result="pass"/><test-case name="13199NISTSchema-SV-IV-list-nonNegativeInteger-pattern-5 tokoe:valid" result="pass"/><test-case name="13200NISTXML-SV-IV-list-nonNegativeInteger-pattern-5-1 tokoe:valid" result="pass"/><test-case name="13201NISTXML-SV-IV-list-nonNegativeInteger-pattern-5-2 tokoe:valid" result="pass"/><test-case name="13202NISTXML-SV-IV-list-nonNegativeInteger-pattern-5-3 tokoe:valid" result="pass"/><test-case name="13203NISTXML-SV-IV-list-nonNegativeInteger-pattern-5-4 tokoe:valid" result="pass"/><test-case name="13204NISTXML-SV-IV-list-nonNegativeInteger-pattern-5-5 tokoe:valid" result="pass"/><test-case name="13205NISTSchema-SV-IV-list-nonNegativeInteger-enumeration-1 tokoe:valid" result="pass"/><test-case name="13206NISTXML-SV-IV-list-nonNegativeInteger-enumeration-1-1 tokoe:valid" result="pass"/><test-case name="13207NISTXML-SV-IV-list-nonNegativeInteger-enumeration-1-2 tokoe:valid" result="pass"/><test-case name="13208NISTXML-SV-IV-list-nonNegativeInteger-enumeration-1-3 tokoe:valid" result="pass"/><test-case name="13209NISTXML-SV-IV-list-nonNegativeInteger-enumeration-1-4 tokoe:valid" result="pass"/><test-case name="13210NISTXML-SV-IV-list-nonNegativeInteger-enumeration-1-5 tokoe:valid" result="pass"/><test-case name="13211NISTSchema-SV-IV-list-nonNegativeInteger-enumeration-2 tokoe:valid" result="pass"/><test-case name="13212NISTXML-SV-IV-list-nonNegativeInteger-enumeration-2-1 tokoe:valid" result="pass"/><test-case name="13213NISTXML-SV-IV-list-nonNegativeInteger-enumeration-2-2 tokoe:valid" result="pass"/><test-case name="13214NISTXML-SV-IV-list-nonNegativeInteger-enumeration-2-3 tokoe:valid" result="pass"/><test-case name="13215NISTXML-SV-IV-list-nonNegativeInteger-enumeration-2-4 tokoe:valid" result="pass"/><test-case name="13216NISTXML-SV-IV-list-nonNegativeInteger-enumeration-2-5 tokoe:valid" result="pass"/><test-case name="13217NISTSchema-SV-IV-list-nonNegativeInteger-enumeration-3 tokoe:valid" result="pass"/><test-case name="13218NISTXML-SV-IV-list-nonNegativeInteger-enumeration-3-1 tokoe:valid" result="pass"/><test-case name="13219NISTXML-SV-IV-list-nonNegativeInteger-enumeration-3-2 tokoe:valid" result="pass"/><test-case name="13220NISTXML-SV-IV-list-nonNegativeInteger-enumeration-3-3 tokoe:valid" result="pass"/><test-case name="13221NISTXML-SV-IV-list-nonNegativeInteger-enumeration-3-4 tokoe:valid" result="pass"/><test-case name="13222NISTXML-SV-IV-list-nonNegativeInteger-enumeration-3-5 tokoe:valid" result="pass"/><test-case name="13223NISTSchema-SV-IV-list-nonNegativeInteger-enumeration-4 tokoe:valid" result="pass"/><test-case name="13224NISTXML-SV-IV-list-nonNegativeInteger-enumeration-4-1 tokoe:valid" result="pass"/><test-case name="13225NISTXML-SV-IV-list-nonNegativeInteger-enumeration-4-2 tokoe:valid" result="pass"/><test-case name="13226NISTXML-SV-IV-list-nonNegativeInteger-enumeration-4-3 tokoe:valid" result="pass"/><test-case name="13227NISTXML-SV-IV-list-nonNegativeInteger-enumeration-4-4 tokoe:valid" result="pass"/><test-case name="13228NISTXML-SV-IV-list-nonNegativeInteger-enumeration-4-5 tokoe:valid" result="pass"/><test-case name="13229NISTSchema-SV-IV-list-nonNegativeInteger-enumeration-5 tokoe:valid" result="pass"/><test-case name="13230NISTXML-SV-IV-list-nonNegativeInteger-enumeration-5-1 tokoe:valid" result="pass"/><test-case name="13231NISTXML-SV-IV-list-nonNegativeInteger-enumeration-5-2 tokoe:valid" result="pass"/><test-case name="13232NISTXML-SV-IV-list-nonNegativeInteger-enumeration-5-3 tokoe:valid" result="pass"/><test-case name="13233NISTXML-SV-IV-list-nonNegativeInteger-enumeration-5-4 tokoe:valid" result="pass"/><test-case name="13234NISTXML-SV-IV-list-nonNegativeInteger-enumeration-5-5 tokoe:valid" result="pass"/><test-case name="13235NISTSchema-SV-IV-list-nonNegativeInteger-whiteSpace-1 tokoe:valid" result="pass"/><test-case name="13236NISTXML-SV-IV-list-nonNegativeInteger-whiteSpace-1-1 tokoe:valid" result="pass"/><test-case name="13237NISTXML-SV-IV-list-nonNegativeInteger-whiteSpace-1-2 tokoe:valid" result="pass"/><test-case name="13238NISTXML-SV-IV-list-nonNegativeInteger-whiteSpace-1-3 tokoe:valid" result="pass"/><test-case name="13239NISTXML-SV-IV-list-nonNegativeInteger-whiteSpace-1-4 tokoe:valid" result="pass"/><test-case name="13240NISTXML-SV-IV-list-nonNegativeInteger-whiteSpace-1-5 tokoe:valid" result="pass"/><test-case name="13241NISTSchema-SV-IV-list-unsignedLong-maxLength-1 tokoe:valid" result="pass"/><test-case name="13242NISTXML-SV-IV-list-unsignedLong-maxLength-1-1 tokoe:valid" result="pass"/><test-case name="13243NISTXML-SV-IV-list-unsignedLong-maxLength-1-2 tokoe:valid" result="pass"/><test-case name="13244NISTXML-SV-IV-list-unsignedLong-maxLength-1-3 tokoe:valid" result="pass"/><test-case name="13245NISTXML-SV-IV-list-unsignedLong-maxLength-1-4 tokoe:valid" result="pass"/><test-case name="13246NISTXML-SV-IV-list-unsignedLong-maxLength-1-5 tokoe:valid" result="pass"/><test-case name="13247NISTSchema-SV-IV-list-unsignedLong-maxLength-2 tokoe:valid" result="pass"/><test-case name="13248NISTXML-SV-IV-list-unsignedLong-maxLength-2-1 tokoe:valid" result="pass"/><test-case name="13249NISTXML-SV-IV-list-unsignedLong-maxLength-2-2 tokoe:valid" result="pass"/><test-case name="13250NISTXML-SV-IV-list-unsignedLong-maxLength-2-3 tokoe:valid" result="pass"/><test-case name="13251NISTXML-SV-IV-list-unsignedLong-maxLength-2-4 tokoe:valid" result="pass"/><test-case name="13252NISTXML-SV-IV-list-unsignedLong-maxLength-2-5 tokoe:valid" result="pass"/><test-case name="13253NISTSchema-SV-IV-list-unsignedLong-maxLength-3 tokoe:valid" result="pass"/><test-case name="13254NISTXML-SV-IV-list-unsignedLong-maxLength-3-1 tokoe:valid" result="pass"/><test-case name="13255NISTXML-SV-IV-list-unsignedLong-maxLength-3-2 tokoe:valid" result="pass"/><test-case name="13256NISTXML-SV-IV-list-unsignedLong-maxLength-3-3 tokoe:valid" result="pass"/><test-case name="13257NISTXML-SV-IV-list-unsignedLong-maxLength-3-4 tokoe:valid" result="pass"/><test-case name="13258NISTXML-SV-IV-list-unsignedLong-maxLength-3-5 tokoe:valid" result="pass"/><test-case name="13259NISTSchema-SV-IV-list-unsignedLong-maxLength-4 tokoe:valid" result="pass"/><test-case name="13260NISTXML-SV-IV-list-unsignedLong-maxLength-4-1 tokoe:valid" result="pass"/><test-case name="13261NISTXML-SV-IV-list-unsignedLong-maxLength-4-2 tokoe:valid" result="pass"/><test-case name="13262NISTXML-SV-IV-list-unsignedLong-maxLength-4-3 tokoe:valid" result="pass"/><test-case name="13263NISTXML-SV-IV-list-unsignedLong-maxLength-4-4 tokoe:valid" result="pass"/><test-case name="13264NISTXML-SV-IV-list-unsignedLong-maxLength-4-5 tokoe:valid" result="pass"/><test-case name="13265NISTSchema-SV-IV-list-unsignedLong-maxLength-5 tokoe:valid" result="pass"/><test-case name="13266NISTXML-SV-IV-list-unsignedLong-maxLength-5-1 tokoe:valid" result="pass"/><test-case name="13267NISTXML-SV-IV-list-unsignedLong-maxLength-5-2 tokoe:valid" result="pass"/><test-case name="13268NISTXML-SV-IV-list-unsignedLong-maxLength-5-3 tokoe:valid" result="pass"/><test-case name="13269NISTXML-SV-IV-list-unsignedLong-maxLength-5-4 tokoe:valid" result="pass"/><test-case name="13270NISTXML-SV-IV-list-unsignedLong-maxLength-5-5 tokoe:valid" result="pass"/><test-case name="13271NISTSchema-SV-IV-list-unsignedLong-minLength-1 tokoe:valid" result="pass"/><test-case name="13272NISTXML-SV-IV-list-unsignedLong-minLength-1-1 tokoe:valid" result="pass"/><test-case name="13273NISTXML-SV-IV-list-unsignedLong-minLength-1-2 tokoe:valid" result="pass"/><test-case name="13274NISTXML-SV-IV-list-unsignedLong-minLength-1-3 tokoe:valid" result="pass"/><test-case name="13275NISTXML-SV-IV-list-unsignedLong-minLength-1-4 tokoe:valid" result="pass"/><test-case name="13276NISTXML-SV-IV-list-unsignedLong-minLength-1-5 tokoe:valid" result="pass"/><test-case name="13277NISTSchema-SV-IV-list-unsignedLong-minLength-2 tokoe:valid" result="pass"/><test-case name="13278NISTXML-SV-IV-list-unsignedLong-minLength-2-1 tokoe:valid" result="pass"/><test-case name="13279NISTXML-SV-IV-list-unsignedLong-minLength-2-2 tokoe:valid" result="pass"/><test-case name="13280NISTXML-SV-IV-list-unsignedLong-minLength-2-3 tokoe:valid" result="pass"/><test-case name="13281NISTXML-SV-IV-list-unsignedLong-minLength-2-4 tokoe:valid" result="pass"/><test-case name="13282NISTXML-SV-IV-list-unsignedLong-minLength-2-5 tokoe:valid" result="pass"/><test-case name="13283NISTSchema-SV-IV-list-unsignedLong-minLength-3 tokoe:valid" result="pass"/><test-case name="13284NISTXML-SV-IV-list-unsignedLong-minLength-3-1 tokoe:valid" result="pass"/><test-case name="13285NISTXML-SV-IV-list-unsignedLong-minLength-3-2 tokoe:valid" result="pass"/><test-case name="13286NISTXML-SV-IV-list-unsignedLong-minLength-3-3 tokoe:valid" result="pass"/><test-case name="13287NISTXML-SV-IV-list-unsignedLong-minLength-3-4 tokoe:valid" result="pass"/><test-case name="13288NISTXML-SV-IV-list-unsignedLong-minLength-3-5 tokoe:valid" result="pass"/><test-case name="13289NISTSchema-SV-IV-list-unsignedLong-minLength-4 tokoe:valid" result="pass"/><test-case name="13290NISTXML-SV-IV-list-unsignedLong-minLength-4-1 tokoe:valid" result="pass"/><test-case name="13291NISTXML-SV-IV-list-unsignedLong-minLength-4-2 tokoe:valid" result="pass"/><test-case name="13292NISTXML-SV-IV-list-unsignedLong-minLength-4-3 tokoe:valid" result="pass"/><test-case name="13293NISTXML-SV-IV-list-unsignedLong-minLength-4-4 tokoe:valid" result="pass"/><test-case name="13294NISTXML-SV-IV-list-unsignedLong-minLength-4-5 tokoe:valid" result="pass"/><test-case name="13295NISTSchema-SV-IV-list-unsignedLong-minLength-5 tokoe:valid" result="pass"/><test-case name="13296NISTXML-SV-IV-list-unsignedLong-minLength-5-1 tokoe:valid" result="pass"/><test-case name="13297NISTXML-SV-IV-list-unsignedLong-minLength-5-2 tokoe:valid" result="pass"/><test-case name="13298NISTXML-SV-IV-list-unsignedLong-minLength-5-3 tokoe:valid" result="pass"/><test-case name="13299NISTXML-SV-IV-list-unsignedLong-minLength-5-4 tokoe:valid" result="pass"/><test-case name="13300NISTXML-SV-IV-list-unsignedLong-minLength-5-5 tokoe:valid" result="pass"/><test-case name="13301NISTSchema-SV-IV-list-unsignedLong-length-1 tokoe:valid" result="pass"/><test-case name="13302NISTXML-SV-IV-list-unsignedLong-length-1-1 tokoe:valid" result="pass"/><test-case name="13303NISTXML-SV-IV-list-unsignedLong-length-1-2 tokoe:valid" result="pass"/><test-case name="13304NISTXML-SV-IV-list-unsignedLong-length-1-3 tokoe:valid" result="pass"/><test-case name="13305NISTXML-SV-IV-list-unsignedLong-length-1-4 tokoe:valid" result="pass"/><test-case name="13306NISTXML-SV-IV-list-unsignedLong-length-1-5 tokoe:valid" result="pass"/><test-case name="13307NISTSchema-SV-IV-list-unsignedLong-length-2 tokoe:valid" result="pass"/><test-case name="13308NISTXML-SV-IV-list-unsignedLong-length-2-1 tokoe:valid" result="pass"/><test-case name="13309NISTXML-SV-IV-list-unsignedLong-length-2-2 tokoe:valid" result="pass"/><test-case name="13310NISTXML-SV-IV-list-unsignedLong-length-2-3 tokoe:valid" result="pass"/><test-case name="13311NISTXML-SV-IV-list-unsignedLong-length-2-4 tokoe:valid" result="pass"/><test-case name="13312NISTXML-SV-IV-list-unsignedLong-length-2-5 tokoe:valid" result="pass"/><test-case name="13313NISTSchema-SV-IV-list-unsignedLong-length-3 tokoe:valid" result="pass"/><test-case name="13314NISTXML-SV-IV-list-unsignedLong-length-3-1 tokoe:valid" result="pass"/><test-case name="13315NISTXML-SV-IV-list-unsignedLong-length-3-2 tokoe:valid" result="pass"/><test-case name="13316NISTXML-SV-IV-list-unsignedLong-length-3-3 tokoe:valid" result="pass"/><test-case name="13317NISTXML-SV-IV-list-unsignedLong-length-3-4 tokoe:valid" result="pass"/><test-case name="13318NISTXML-SV-IV-list-unsignedLong-length-3-5 tokoe:valid" result="pass"/><test-case name="13319NISTSchema-SV-IV-list-unsignedLong-length-4 tokoe:valid" result="pass"/><test-case name="13320NISTXML-SV-IV-list-unsignedLong-length-4-1 tokoe:valid" result="pass"/><test-case name="13321NISTXML-SV-IV-list-unsignedLong-length-4-2 tokoe:valid" result="pass"/><test-case name="13322NISTXML-SV-IV-list-unsignedLong-length-4-3 tokoe:valid" result="pass"/><test-case name="13323NISTXML-SV-IV-list-unsignedLong-length-4-4 tokoe:valid" result="pass"/><test-case name="13324NISTXML-SV-IV-list-unsignedLong-length-4-5 tokoe:valid" result="pass"/><test-case name="13325NISTSchema-SV-IV-list-unsignedLong-length-5 tokoe:valid" result="pass"/><test-case name="13326NISTXML-SV-IV-list-unsignedLong-length-5-1 tokoe:valid" result="pass"/><test-case name="13327NISTXML-SV-IV-list-unsignedLong-length-5-2 tokoe:valid" result="pass"/><test-case name="13328NISTXML-SV-IV-list-unsignedLong-length-5-3 tokoe:valid" result="pass"/><test-case name="13329NISTXML-SV-IV-list-unsignedLong-length-5-4 tokoe:valid" result="pass"/><test-case name="13330NISTXML-SV-IV-list-unsignedLong-length-5-5 tokoe:valid" result="pass"/><test-case name="13331NISTSchema-SV-IV-list-unsignedLong-pattern-1 tokoe:valid" result="pass"/><test-case name="13332NISTXML-SV-IV-list-unsignedLong-pattern-1-1 tokoe:valid" result="pass"/><test-case name="13333NISTXML-SV-IV-list-unsignedLong-pattern-1-2 tokoe:valid" result="pass"/><test-case name="13334NISTXML-SV-IV-list-unsignedLong-pattern-1-3 tokoe:valid" result="pass"/><test-case name="13335NISTXML-SV-IV-list-unsignedLong-pattern-1-4 tokoe:valid" result="pass"/><test-case name="13336NISTXML-SV-IV-list-unsignedLong-pattern-1-5 tokoe:valid" result="pass"/><test-case name="13337NISTSchema-SV-IV-list-unsignedLong-pattern-2 tokoe:valid" result="pass"/><test-case name="13338NISTXML-SV-IV-list-unsignedLong-pattern-2-1 tokoe:valid" result="pass"/><test-case name="13339NISTXML-SV-IV-list-unsignedLong-pattern-2-2 tokoe:valid" result="pass"/><test-case name="13340NISTXML-SV-IV-list-unsignedLong-pattern-2-3 tokoe:valid" result="pass"/><test-case name="13341NISTXML-SV-IV-list-unsignedLong-pattern-2-4 tokoe:valid" result="pass"/><test-case name="13342NISTXML-SV-IV-list-unsignedLong-pattern-2-5 tokoe:valid" result="pass"/><test-case name="13343NISTSchema-SV-IV-list-unsignedLong-pattern-3 tokoe:valid" result="pass"/><test-case name="13344NISTXML-SV-IV-list-unsignedLong-pattern-3-1 tokoe:valid" result="pass"/><test-case name="13345NISTXML-SV-IV-list-unsignedLong-pattern-3-2 tokoe:valid" result="pass"/><test-case name="13346NISTXML-SV-IV-list-unsignedLong-pattern-3-3 tokoe:valid" result="pass"/><test-case name="13347NISTXML-SV-IV-list-unsignedLong-pattern-3-4 tokoe:valid" result="pass"/><test-case name="13348NISTXML-SV-IV-list-unsignedLong-pattern-3-5 tokoe:valid" result="pass"/><test-case name="13349NISTSchema-SV-IV-list-unsignedLong-pattern-4 tokoe:valid" result="pass"/><test-case name="13350NISTXML-SV-IV-list-unsignedLong-pattern-4-1 tokoe:valid" result="pass"/><test-case name="13351NISTXML-SV-IV-list-unsignedLong-pattern-4-2 tokoe:valid" result="pass"/><test-case name="13352NISTXML-SV-IV-list-unsignedLong-pattern-4-3 tokoe:valid" result="pass"/><test-case name="13353NISTXML-SV-IV-list-unsignedLong-pattern-4-4 tokoe:valid" result="pass"/><test-case name="13354NISTXML-SV-IV-list-unsignedLong-pattern-4-5 tokoe:valid" result="pass"/><test-case name="13355NISTSchema-SV-IV-list-unsignedLong-pattern-5 tokoe:valid" result="pass"/><test-case name="13356NISTXML-SV-IV-list-unsignedLong-pattern-5-1 tokoe:valid" result="pass"/><test-case name="13357NISTXML-SV-IV-list-unsignedLong-pattern-5-2 tokoe:valid" result="pass"/><test-case name="13358NISTXML-SV-IV-list-unsignedLong-pattern-5-3 tokoe:valid" result="pass"/><test-case name="13359NISTXML-SV-IV-list-unsignedLong-pattern-5-4 tokoe:valid" result="pass"/><test-case name="13360NISTXML-SV-IV-list-unsignedLong-pattern-5-5 tokoe:valid" result="pass"/><test-case name="13361NISTSchema-SV-IV-list-unsignedLong-enumeration-1 tokoe:valid" result="pass"/><test-case name="13362NISTXML-SV-IV-list-unsignedLong-enumeration-1-1 tokoe:valid" result="pass"/><test-case name="13363NISTXML-SV-IV-list-unsignedLong-enumeration-1-2 tokoe:valid" result="pass"/><test-case name="13364NISTXML-SV-IV-list-unsignedLong-enumeration-1-3 tokoe:valid" result="pass"/><test-case name="13365NISTXML-SV-IV-list-unsignedLong-enumeration-1-4 tokoe:valid" result="pass"/><test-case name="13366NISTXML-SV-IV-list-unsignedLong-enumeration-1-5 tokoe:valid" result="pass"/><test-case name="13367NISTSchema-SV-IV-list-unsignedLong-enumeration-2 tokoe:valid" result="pass"/><test-case name="13368NISTXML-SV-IV-list-unsignedLong-enumeration-2-1 tokoe:valid" result="pass"/><test-case name="13369NISTXML-SV-IV-list-unsignedLong-enumeration-2-2 tokoe:valid" result="pass"/><test-case name="13370NISTXML-SV-IV-list-unsignedLong-enumeration-2-3 tokoe:valid" result="pass"/><test-case name="13371NISTXML-SV-IV-list-unsignedLong-enumeration-2-4 tokoe:valid" result="pass"/><test-case name="13372NISTXML-SV-IV-list-unsignedLong-enumeration-2-5 tokoe:valid" result="pass"/><test-case name="13373NISTSchema-SV-IV-list-unsignedLong-enumeration-3 tokoe:valid" result="pass"/><test-case name="13374NISTXML-SV-IV-list-unsignedLong-enumeration-3-1 tokoe:valid" result="pass"/><test-case name="13375NISTXML-SV-IV-list-unsignedLong-enumeration-3-2 tokoe:valid" result="pass"/><test-case name="13376NISTXML-SV-IV-list-unsignedLong-enumeration-3-3 tokoe:valid" result="pass"/><test-case name="13377NISTXML-SV-IV-list-unsignedLong-enumeration-3-4 tokoe:valid" result="pass"/><test-case name="13378NISTXML-SV-IV-list-unsignedLong-enumeration-3-5 tokoe:valid" result="pass"/><test-case name="13379NISTSchema-SV-IV-list-unsignedLong-enumeration-4 tokoe:valid" result="pass"/><test-case name="13380NISTXML-SV-IV-list-unsignedLong-enumeration-4-1 tokoe:valid" result="pass"/><test-case name="13381NISTXML-SV-IV-list-unsignedLong-enumeration-4-2 tokoe:valid" result="pass"/><test-case name="13382NISTXML-SV-IV-list-unsignedLong-enumeration-4-3 tokoe:valid" result="pass"/><test-case name="13383NISTXML-SV-IV-list-unsignedLong-enumeration-4-4 tokoe:valid" result="pass"/><test-case name="13384NISTXML-SV-IV-list-unsignedLong-enumeration-4-5 tokoe:valid" result="pass"/><test-case name="13385NISTSchema-SV-IV-list-unsignedLong-enumeration-5 tokoe:valid" result="pass"/><test-case name="13386NISTXML-SV-IV-list-unsignedLong-enumeration-5-1 tokoe:valid" result="pass"/><test-case name="13387NISTXML-SV-IV-list-unsignedLong-enumeration-5-2 tokoe:valid" result="pass"/><test-case name="13388NISTXML-SV-IV-list-unsignedLong-enumeration-5-3 tokoe:valid" result="pass"/><test-case name="13389NISTXML-SV-IV-list-unsignedLong-enumeration-5-4 tokoe:valid" result="pass"/><test-case name="13390NISTXML-SV-IV-list-unsignedLong-enumeration-5-5 tokoe:valid" result="pass"/><test-case name="13391NISTSchema-SV-IV-list-unsignedLong-whiteSpace-1 tokoe:valid" result="pass"/><test-case name="13392NISTXML-SV-IV-list-unsignedLong-whiteSpace-1-1 tokoe:valid" result="pass"/><test-case name="13393NISTXML-SV-IV-list-unsignedLong-whiteSpace-1-2 tokoe:valid" result="pass"/><test-case name="13394NISTXML-SV-IV-list-unsignedLong-whiteSpace-1-3 tokoe:valid" result="pass"/><test-case name="13395NISTXML-SV-IV-list-unsignedLong-whiteSpace-1-4 tokoe:valid" result="pass"/><test-case name="13396NISTXML-SV-IV-list-unsignedLong-whiteSpace-1-5 tokoe:valid" result="pass"/><test-case name="13397NISTSchema-SV-IV-list-unsignedInt-maxLength-1 tokoe:valid" result="pass"/><test-case name="13398NISTXML-SV-IV-list-unsignedInt-maxLength-1-1 tokoe:valid" result="pass"/><test-case name="13399NISTXML-SV-IV-list-unsignedInt-maxLength-1-2 tokoe:valid" result="pass"/><test-case name="13400NISTXML-SV-IV-list-unsignedInt-maxLength-1-3 tokoe:valid" result="pass"/><test-case name="13401NISTXML-SV-IV-list-unsignedInt-maxLength-1-4 tokoe:valid" result="pass"/><test-case name="13402NISTXML-SV-IV-list-unsignedInt-maxLength-1-5 tokoe:valid" result="pass"/><test-case name="13403NISTSchema-SV-IV-list-unsignedInt-maxLength-2 tokoe:valid" result="pass"/><test-case name="13404NISTXML-SV-IV-list-unsignedInt-maxLength-2-1 tokoe:valid" result="pass"/><test-case name="13405NISTXML-SV-IV-list-unsignedInt-maxLength-2-2 tokoe:valid" result="pass"/><test-case name="13406NISTXML-SV-IV-list-unsignedInt-maxLength-2-3 tokoe:valid" result="pass"/><test-case name="13407NISTXML-SV-IV-list-unsignedInt-maxLength-2-4 tokoe:valid" result="pass"/><test-case name="13408NISTXML-SV-IV-list-unsignedInt-maxLength-2-5 tokoe:valid" result="pass"/><test-case name="13409NISTSchema-SV-IV-list-unsignedInt-maxLength-3 tokoe:valid" result="pass"/><test-case name="13410NISTXML-SV-IV-list-unsignedInt-maxLength-3-1 tokoe:valid" result="pass"/><test-case name="13411NISTXML-SV-IV-list-unsignedInt-maxLength-3-2 tokoe:valid" result="pass"/><test-case name="13412NISTXML-SV-IV-list-unsignedInt-maxLength-3-3 tokoe:valid" result="pass"/><test-case name="13413NISTXML-SV-IV-list-unsignedInt-maxLength-3-4 tokoe:valid" result="pass"/><test-case name="13414NISTXML-SV-IV-list-unsignedInt-maxLength-3-5 tokoe:valid" result="pass"/><test-case name="13415NISTSchema-SV-IV-list-unsignedInt-maxLength-4 tokoe:valid" result="pass"/><test-case name="13416NISTXML-SV-IV-list-unsignedInt-maxLength-4-1 tokoe:valid" result="pass"/><test-case name="13417NISTXML-SV-IV-list-unsignedInt-maxLength-4-2 tokoe:valid" result="pass"/><test-case name="13418NISTXML-SV-IV-list-unsignedInt-maxLength-4-3 tokoe:valid" result="pass"/><test-case name="13419NISTXML-SV-IV-list-unsignedInt-maxLength-4-4 tokoe:valid" result="pass"/><test-case name="13420NISTXML-SV-IV-list-unsignedInt-maxLength-4-5 tokoe:valid" result="pass"/><test-case name="13421NISTSchema-SV-IV-list-unsignedInt-maxLength-5 tokoe:valid" result="pass"/><test-case name="13422NISTXML-SV-IV-list-unsignedInt-maxLength-5-1 tokoe:valid" result="pass"/><test-case name="13423NISTXML-SV-IV-list-unsignedInt-maxLength-5-2 tokoe:valid" result="pass"/><test-case name="13424NISTXML-SV-IV-list-unsignedInt-maxLength-5-3 tokoe:valid" result="pass"/><test-case name="13425NISTXML-SV-IV-list-unsignedInt-maxLength-5-4 tokoe:valid" result="pass"/><test-case name="13426NISTXML-SV-IV-list-unsignedInt-maxLength-5-5 tokoe:valid" result="pass"/><test-case name="13427NISTSchema-SV-IV-list-unsignedInt-minLength-1 tokoe:valid" result="pass"/><test-case name="13428NISTXML-SV-IV-list-unsignedInt-minLength-1-1 tokoe:valid" result="pass"/><test-case name="13429NISTXML-SV-IV-list-unsignedInt-minLength-1-2 tokoe:valid" result="pass"/><test-case name="13430NISTXML-SV-IV-list-unsignedInt-minLength-1-3 tokoe:valid" result="pass"/><test-case name="13431NISTXML-SV-IV-list-unsignedInt-minLength-1-4 tokoe:valid" result="pass"/><test-case name="13432NISTXML-SV-IV-list-unsignedInt-minLength-1-5 tokoe:valid" result="pass"/><test-case name="13433NISTSchema-SV-IV-list-unsignedInt-minLength-2 tokoe:valid" result="pass"/><test-case name="13434NISTXML-SV-IV-list-unsignedInt-minLength-2-1 tokoe:valid" result="pass"/><test-case name="13435NISTXML-SV-IV-list-unsignedInt-minLength-2-2 tokoe:valid" result="pass"/><test-case name="13436NISTXML-SV-IV-list-unsignedInt-minLength-2-3 tokoe:valid" result="pass"/><test-case name="13437NISTXML-SV-IV-list-unsignedInt-minLength-2-4 tokoe:valid" result="pass"/><test-case name="13438NISTXML-SV-IV-list-unsignedInt-minLength-2-5 tokoe:valid" result="pass"/><test-case name="13439NISTSchema-SV-IV-list-unsignedInt-minLength-3 tokoe:valid" result="pass"/><test-case name="13440NISTXML-SV-IV-list-unsignedInt-minLength-3-1 tokoe:valid" result="pass"/><test-case name="13441NISTXML-SV-IV-list-unsignedInt-minLength-3-2 tokoe:valid" result="pass"/><test-case name="13442NISTXML-SV-IV-list-unsignedInt-minLength-3-3 tokoe:valid" result="pass"/><test-case name="13443NISTXML-SV-IV-list-unsignedInt-minLength-3-4 tokoe:valid" result="pass"/><test-case name="13444NISTXML-SV-IV-list-unsignedInt-minLength-3-5 tokoe:valid" result="pass"/><test-case name="13445NISTSchema-SV-IV-list-unsignedInt-minLength-4 tokoe:valid" result="pass"/><test-case name="13446NISTXML-SV-IV-list-unsignedInt-minLength-4-1 tokoe:valid" result="pass"/><test-case name="13447NISTXML-SV-IV-list-unsignedInt-minLength-4-2 tokoe:valid" result="pass"/><test-case name="13448NISTXML-SV-IV-list-unsignedInt-minLength-4-3 tokoe:valid" result="pass"/><test-case name="13449NISTXML-SV-IV-list-unsignedInt-minLength-4-4 tokoe:valid" result="pass"/><test-case name="13450NISTXML-SV-IV-list-unsignedInt-minLength-4-5 tokoe:valid" result="pass"/><test-case name="13451NISTSchema-SV-IV-list-unsignedInt-minLength-5 tokoe:valid" result="pass"/><test-case name="13452NISTXML-SV-IV-list-unsignedInt-minLength-5-1 tokoe:valid" result="pass"/><test-case name="13453NISTXML-SV-IV-list-unsignedInt-minLength-5-2 tokoe:valid" result="pass"/><test-case name="13454NISTXML-SV-IV-list-unsignedInt-minLength-5-3 tokoe:valid" result="pass"/><test-case name="13455NISTXML-SV-IV-list-unsignedInt-minLength-5-4 tokoe:valid" result="pass"/><test-case name="13456NISTXML-SV-IV-list-unsignedInt-minLength-5-5 tokoe:valid" result="pass"/><test-case name="13457NISTSchema-SV-IV-list-unsignedInt-length-1 tokoe:valid" result="pass"/><test-case name="13458NISTXML-SV-IV-list-unsignedInt-length-1-1 tokoe:valid" result="pass"/><test-case name="13459NISTXML-SV-IV-list-unsignedInt-length-1-2 tokoe:valid" result="pass"/><test-case name="13460NISTXML-SV-IV-list-unsignedInt-length-1-3 tokoe:valid" result="pass"/><test-case name="13461NISTXML-SV-IV-list-unsignedInt-length-1-4 tokoe:valid" result="pass"/><test-case name="13462NISTXML-SV-IV-list-unsignedInt-length-1-5 tokoe:valid" result="pass"/><test-case name="13463NISTSchema-SV-IV-list-unsignedInt-length-2 tokoe:valid" result="pass"/><test-case name="13464NISTXML-SV-IV-list-unsignedInt-length-2-1 tokoe:valid" result="pass"/><test-case name="13465NISTXML-SV-IV-list-unsignedInt-length-2-2 tokoe:valid" result="pass"/><test-case name="13466NISTXML-SV-IV-list-unsignedInt-length-2-3 tokoe:valid" result="pass"/><test-case name="13467NISTXML-SV-IV-list-unsignedInt-length-2-4 tokoe:valid" result="pass"/><test-case name="13468NISTXML-SV-IV-list-unsignedInt-length-2-5 tokoe:valid" result="pass"/><test-case name="13469NISTSchema-SV-IV-list-unsignedInt-length-3 tokoe:valid" result="pass"/><test-case name="13470NISTXML-SV-IV-list-unsignedInt-length-3-1 tokoe:valid" result="pass"/><test-case name="13471NISTXML-SV-IV-list-unsignedInt-length-3-2 tokoe:valid" result="pass"/><test-case name="13472NISTXML-SV-IV-list-unsignedInt-length-3-3 tokoe:valid" result="pass"/><test-case name="13473NISTXML-SV-IV-list-unsignedInt-length-3-4 tokoe:valid" result="pass"/><test-case name="13474NISTXML-SV-IV-list-unsignedInt-length-3-5 tokoe:valid" result="pass"/><test-case name="13475NISTSchema-SV-IV-list-unsignedInt-length-4 tokoe:valid" result="pass"/><test-case name="13476NISTXML-SV-IV-list-unsignedInt-length-4-1 tokoe:valid" result="pass"/><test-case name="13477NISTXML-SV-IV-list-unsignedInt-length-4-2 tokoe:valid" result="pass"/><test-case name="13478NISTXML-SV-IV-list-unsignedInt-length-4-3 tokoe:valid" result="pass"/><test-case name="13479NISTXML-SV-IV-list-unsignedInt-length-4-4 tokoe:valid" result="pass"/><test-case name="13480NISTXML-SV-IV-list-unsignedInt-length-4-5 tokoe:valid" result="pass"/><test-case name="13481NISTSchema-SV-IV-list-unsignedInt-length-5 tokoe:valid" result="pass"/><test-case name="13482NISTXML-SV-IV-list-unsignedInt-length-5-1 tokoe:valid" result="pass"/><test-case name="13483NISTXML-SV-IV-list-unsignedInt-length-5-2 tokoe:valid" result="pass"/><test-case name="13484NISTXML-SV-IV-list-unsignedInt-length-5-3 tokoe:valid" result="pass"/><test-case name="13485NISTXML-SV-IV-list-unsignedInt-length-5-4 tokoe:valid" result="pass"/><test-case name="13486NISTXML-SV-IV-list-unsignedInt-length-5-5 tokoe:valid" result="pass"/><test-case name="13487NISTSchema-SV-IV-list-unsignedInt-pattern-1 tokoe:valid" result="pass"/><test-case name="13488NISTXML-SV-IV-list-unsignedInt-pattern-1-1 tokoe:valid" result="pass"/><test-case name="13489NISTXML-SV-IV-list-unsignedInt-pattern-1-2 tokoe:valid" result="pass"/><test-case name="13490NISTXML-SV-IV-list-unsignedInt-pattern-1-3 tokoe:valid" result="pass"/><test-case name="13491NISTXML-SV-IV-list-unsignedInt-pattern-1-4 tokoe:valid" result="pass"/><test-case name="13492NISTXML-SV-IV-list-unsignedInt-pattern-1-5 tokoe:valid" result="pass"/><test-case name="13493NISTSchema-SV-IV-list-unsignedInt-pattern-2 tokoe:valid" result="pass"/><test-case name="13494NISTXML-SV-IV-list-unsignedInt-pattern-2-1 tokoe:valid" result="pass"/><test-case name="13495NISTXML-SV-IV-list-unsignedInt-pattern-2-2 tokoe:valid" result="pass"/><test-case name="13496NISTXML-SV-IV-list-unsignedInt-pattern-2-3 tokoe:valid" result="pass"/><test-case name="13497NISTXML-SV-IV-list-unsignedInt-pattern-2-4 tokoe:valid" result="pass"/><test-case name="13498NISTXML-SV-IV-list-unsignedInt-pattern-2-5 tokoe:valid" result="pass"/><test-case name="13499NISTSchema-SV-IV-list-unsignedInt-pattern-3 tokoe:valid" result="pass"/><test-case name="13500NISTXML-SV-IV-list-unsignedInt-pattern-3-1 tokoe:valid" result="pass"/><test-case name="13501NISTXML-SV-IV-list-unsignedInt-pattern-3-2 tokoe:valid" result="pass"/><test-case name="13502NISTXML-SV-IV-list-unsignedInt-pattern-3-3 tokoe:valid" result="pass"/><test-case name="13503NISTXML-SV-IV-list-unsignedInt-pattern-3-4 tokoe:valid" result="pass"/><test-case name="13504NISTXML-SV-IV-list-unsignedInt-pattern-3-5 tokoe:valid" result="pass"/><test-case name="13505NISTSchema-SV-IV-list-unsignedInt-pattern-4 tokoe:valid" result="pass"/><test-case name="13506NISTXML-SV-IV-list-unsignedInt-pattern-4-1 tokoe:valid" result="pass"/><test-case name="13507NISTXML-SV-IV-list-unsignedInt-pattern-4-2 tokoe:valid" result="pass"/><test-case name="13508NISTXML-SV-IV-list-unsignedInt-pattern-4-3 tokoe:valid" result="pass"/><test-case name="13509NISTXML-SV-IV-list-unsignedInt-pattern-4-4 tokoe:valid" result="pass"/><test-case name="13510NISTXML-SV-IV-list-unsignedInt-pattern-4-5 tokoe:valid" result="pass"/><test-case name="13511NISTSchema-SV-IV-list-unsignedInt-pattern-5 tokoe:valid" result="pass"/><test-case name="13512NISTXML-SV-IV-list-unsignedInt-pattern-5-1 tokoe:valid" result="pass"/><test-case name="13513NISTXML-SV-IV-list-unsignedInt-pattern-5-2 tokoe:valid" result="pass"/><test-case name="13514NISTXML-SV-IV-list-unsignedInt-pattern-5-3 tokoe:valid" result="pass"/><test-case name="13515NISTXML-SV-IV-list-unsignedInt-pattern-5-4 tokoe:valid" result="pass"/><test-case name="13516NISTXML-SV-IV-list-unsignedInt-pattern-5-5 tokoe:valid" result="pass"/><test-case name="13517NISTSchema-SV-IV-list-unsignedInt-enumeration-1 tokoe:valid" result="pass"/><test-case name="13518NISTXML-SV-IV-list-unsignedInt-enumeration-1-1 tokoe:valid" result="pass"/><test-case name="13519NISTXML-SV-IV-list-unsignedInt-enumeration-1-2 tokoe:valid" result="pass"/><test-case name="13520NISTXML-SV-IV-list-unsignedInt-enumeration-1-3 tokoe:valid" result="pass"/><test-case name="13521NISTXML-SV-IV-list-unsignedInt-enumeration-1-4 tokoe:valid" result="pass"/><test-case name="13522NISTXML-SV-IV-list-unsignedInt-enumeration-1-5 tokoe:valid" result="pass"/><test-case name="13523NISTSchema-SV-IV-list-unsignedInt-enumeration-2 tokoe:valid" result="pass"/><test-case name="13524NISTXML-SV-IV-list-unsignedInt-enumeration-2-1 tokoe:valid" result="pass"/><test-case name="13525NISTXML-SV-IV-list-unsignedInt-enumeration-2-2 tokoe:valid" result="pass"/><test-case name="13526NISTXML-SV-IV-list-unsignedInt-enumeration-2-3 tokoe:valid" result="pass"/><test-case name="13527NISTXML-SV-IV-list-unsignedInt-enumeration-2-4 tokoe:valid" result="pass"/><test-case name="13528NISTXML-SV-IV-list-unsignedInt-enumeration-2-5 tokoe:valid" result="pass"/><test-case name="13529NISTSchema-SV-IV-list-unsignedInt-enumeration-3 tokoe:valid" result="pass"/><test-case name="13530NISTXML-SV-IV-list-unsignedInt-enumeration-3-1 tokoe:valid" result="pass"/><test-case name="13531NISTXML-SV-IV-list-unsignedInt-enumeration-3-2 tokoe:valid" result="pass"/><test-case name="13532NISTXML-SV-IV-list-unsignedInt-enumeration-3-3 tokoe:valid" result="pass"/><test-case name="13533NISTXML-SV-IV-list-unsignedInt-enumeration-3-4 tokoe:valid" result="pass"/><test-case name="13534NISTXML-SV-IV-list-unsignedInt-enumeration-3-5 tokoe:valid" result="pass"/><test-case name="13535NISTSchema-SV-IV-list-unsignedInt-enumeration-4 tokoe:valid" result="pass"/><test-case name="13536NISTXML-SV-IV-list-unsignedInt-enumeration-4-1 tokoe:valid" result="pass"/><test-case name="13537NISTXML-SV-IV-list-unsignedInt-enumeration-4-2 tokoe:valid" result="pass"/><test-case name="13538NISTXML-SV-IV-list-unsignedInt-enumeration-4-3 tokoe:valid" result="pass"/><test-case name="13539NISTXML-SV-IV-list-unsignedInt-enumeration-4-4 tokoe:valid" result="pass"/><test-case name="13540NISTXML-SV-IV-list-unsignedInt-enumeration-4-5 tokoe:valid" result="pass"/><test-case name="13541NISTSchema-SV-IV-list-unsignedInt-enumeration-5 tokoe:valid" result="pass"/><test-case name="13542NISTXML-SV-IV-list-unsignedInt-enumeration-5-1 tokoe:valid" result="pass"/><test-case name="13543NISTXML-SV-IV-list-unsignedInt-enumeration-5-2 tokoe:valid" result="pass"/><test-case name="13544NISTXML-SV-IV-list-unsignedInt-enumeration-5-3 tokoe:valid" result="pass"/><test-case name="13545NISTXML-SV-IV-list-unsignedInt-enumeration-5-4 tokoe:valid" result="pass"/><test-case name="13546NISTXML-SV-IV-list-unsignedInt-enumeration-5-5 tokoe:valid" result="pass"/><test-case name="13547NISTSchema-SV-IV-list-unsignedInt-whiteSpace-1 tokoe:valid" result="pass"/><test-case name="13548NISTXML-SV-IV-list-unsignedInt-whiteSpace-1-1 tokoe:valid" result="pass"/><test-case name="13549NISTXML-SV-IV-list-unsignedInt-whiteSpace-1-2 tokoe:valid" result="pass"/><test-case name="13550NISTXML-SV-IV-list-unsignedInt-whiteSpace-1-3 tokoe:valid" result="pass"/><test-case name="13551NISTXML-SV-IV-list-unsignedInt-whiteSpace-1-4 tokoe:valid" result="pass"/><test-case name="13552NISTXML-SV-IV-list-unsignedInt-whiteSpace-1-5 tokoe:valid" result="pass"/><test-case name="13553NISTSchema-SV-IV-list-unsignedShort-maxLength-1 tokoe:valid" result="pass"/><test-case name="13554NISTXML-SV-IV-list-unsignedShort-maxLength-1-1 tokoe:valid" result="pass"/><test-case name="13555NISTXML-SV-IV-list-unsignedShort-maxLength-1-2 tokoe:valid" result="pass"/><test-case name="13556NISTXML-SV-IV-list-unsignedShort-maxLength-1-3 tokoe:valid" result="pass"/><test-case name="13557NISTXML-SV-IV-list-unsignedShort-maxLength-1-4 tokoe:valid" result="pass"/><test-case name="13558NISTXML-SV-IV-list-unsignedShort-maxLength-1-5 tokoe:valid" result="pass"/><test-case name="13559NISTSchema-SV-IV-list-unsignedShort-maxLength-2 tokoe:valid" result="pass"/><test-case name="13560NISTXML-SV-IV-list-unsignedShort-maxLength-2-1 tokoe:valid" result="pass"/><test-case name="13561NISTXML-SV-IV-list-unsignedShort-maxLength-2-2 tokoe:valid" result="pass"/><test-case name="13562NISTXML-SV-IV-list-unsignedShort-maxLength-2-3 tokoe:valid" result="pass"/><test-case name="13563NISTXML-SV-IV-list-unsignedShort-maxLength-2-4 tokoe:valid" result="pass"/><test-case name="13564NISTXML-SV-IV-list-unsignedShort-maxLength-2-5 tokoe:valid" result="pass"/><test-case name="13565NISTSchema-SV-IV-list-unsignedShort-maxLength-3 tokoe:valid" result="pass"/><test-case name="13566NISTXML-SV-IV-list-unsignedShort-maxLength-3-1 tokoe:valid" result="pass"/><test-case name="13567NISTXML-SV-IV-list-unsignedShort-maxLength-3-2 tokoe:valid" result="pass"/><test-case name="13568NISTXML-SV-IV-list-unsignedShort-maxLength-3-3 tokoe:valid" result="pass"/><test-case name="13569NISTXML-SV-IV-list-unsignedShort-maxLength-3-4 tokoe:valid" result="pass"/><test-case name="13570NISTXML-SV-IV-list-unsignedShort-maxLength-3-5 tokoe:valid" result="pass"/><test-case name="13571NISTSchema-SV-IV-list-unsignedShort-maxLength-4 tokoe:valid" result="pass"/><test-case name="13572NISTXML-SV-IV-list-unsignedShort-maxLength-4-1 tokoe:valid" result="pass"/><test-case name="13573NISTXML-SV-IV-list-unsignedShort-maxLength-4-2 tokoe:valid" result="pass"/><test-case name="13574NISTXML-SV-IV-list-unsignedShort-maxLength-4-3 tokoe:valid" result="pass"/><test-case name="13575NISTXML-SV-IV-list-unsignedShort-maxLength-4-4 tokoe:valid" result="pass"/><test-case name="13576NISTXML-SV-IV-list-unsignedShort-maxLength-4-5 tokoe:valid" result="pass"/><test-case name="13577NISTSchema-SV-IV-list-unsignedShort-maxLength-5 tokoe:valid" result="pass"/><test-case name="13578NISTXML-SV-IV-list-unsignedShort-maxLength-5-1 tokoe:valid" result="pass"/><test-case name="13579NISTXML-SV-IV-list-unsignedShort-maxLength-5-2 tokoe:valid" result="pass"/><test-case name="13580NISTXML-SV-IV-list-unsignedShort-maxLength-5-3 tokoe:valid" result="pass"/><test-case name="13581NISTXML-SV-IV-list-unsignedShort-maxLength-5-4 tokoe:valid" result="pass"/><test-case name="13582NISTXML-SV-IV-list-unsignedShort-maxLength-5-5 tokoe:valid" result="pass"/><test-case name="13583NISTSchema-SV-IV-list-unsignedShort-minLength-1 tokoe:valid" result="pass"/><test-case name="13584NISTXML-SV-IV-list-unsignedShort-minLength-1-1 tokoe:valid" result="pass"/><test-case name="13585NISTXML-SV-IV-list-unsignedShort-minLength-1-2 tokoe:valid" result="pass"/><test-case name="13586NISTXML-SV-IV-list-unsignedShort-minLength-1-3 tokoe:valid" result="pass"/><test-case name="13587NISTXML-SV-IV-list-unsignedShort-minLength-1-4 tokoe:valid" result="pass"/><test-case name="13588NISTXML-SV-IV-list-unsignedShort-minLength-1-5 tokoe:valid" result="pass"/><test-case name="13589NISTSchema-SV-IV-list-unsignedShort-minLength-2 tokoe:valid" result="pass"/><test-case name="13590NISTXML-SV-IV-list-unsignedShort-minLength-2-1 tokoe:valid" result="pass"/><test-case name="13591NISTXML-SV-IV-list-unsignedShort-minLength-2-2 tokoe:valid" result="pass"/><test-case name="13592NISTXML-SV-IV-list-unsignedShort-minLength-2-3 tokoe:valid" result="pass"/><test-case name="13593NISTXML-SV-IV-list-unsignedShort-minLength-2-4 tokoe:valid" result="pass"/><test-case name="13594NISTXML-SV-IV-list-unsignedShort-minLength-2-5 tokoe:valid" result="pass"/><test-case name="13595NISTSchema-SV-IV-list-unsignedShort-minLength-3 tokoe:valid" result="pass"/><test-case name="13596NISTXML-SV-IV-list-unsignedShort-minLength-3-1 tokoe:valid" result="pass"/><test-case name="13597NISTXML-SV-IV-list-unsignedShort-minLength-3-2 tokoe:valid" result="pass"/><test-case name="13598NISTXML-SV-IV-list-unsignedShort-minLength-3-3 tokoe:valid" result="pass"/><test-case name="13599NISTXML-SV-IV-list-unsignedShort-minLength-3-4 tokoe:valid" result="pass"/><test-case name="13600NISTXML-SV-IV-list-unsignedShort-minLength-3-5 tokoe:valid" result="pass"/><test-case name="13601NISTSchema-SV-IV-list-unsignedShort-minLength-4 tokoe:valid" result="pass"/><test-case name="13602NISTXML-SV-IV-list-unsignedShort-minLength-4-1 tokoe:valid" result="pass"/><test-case name="13603NISTXML-SV-IV-list-unsignedShort-minLength-4-2 tokoe:valid" result="pass"/><test-case name="13604NISTXML-SV-IV-list-unsignedShort-minLength-4-3 tokoe:valid" result="pass"/><test-case name="13605NISTXML-SV-IV-list-unsignedShort-minLength-4-4 tokoe:valid" result="pass"/><test-case name="13606NISTXML-SV-IV-list-unsignedShort-minLength-4-5 tokoe:valid" result="pass"/><test-case name="13607NISTSchema-SV-IV-list-unsignedShort-minLength-5 tokoe:valid" result="pass"/><test-case name="13608NISTXML-SV-IV-list-unsignedShort-minLength-5-1 tokoe:valid" result="pass"/><test-case name="13609NISTXML-SV-IV-list-unsignedShort-minLength-5-2 tokoe:valid" result="pass"/><test-case name="13610NISTXML-SV-IV-list-unsignedShort-minLength-5-3 tokoe:valid" result="pass"/><test-case name="13611NISTXML-SV-IV-list-unsignedShort-minLength-5-4 tokoe:valid" result="pass"/><test-case name="13612NISTXML-SV-IV-list-unsignedShort-minLength-5-5 tokoe:valid" result="pass"/><test-case name="13613NISTSchema-SV-IV-list-unsignedShort-length-1 tokoe:valid" result="pass"/><test-case name="13614NISTXML-SV-IV-list-unsignedShort-length-1-1 tokoe:valid" result="pass"/><test-case name="13615NISTXML-SV-IV-list-unsignedShort-length-1-2 tokoe:valid" result="pass"/><test-case name="13616NISTXML-SV-IV-list-unsignedShort-length-1-3 tokoe:valid" result="pass"/><test-case name="13617NISTXML-SV-IV-list-unsignedShort-length-1-4 tokoe:valid" result="pass"/><test-case name="13618NISTXML-SV-IV-list-unsignedShort-length-1-5 tokoe:valid" result="pass"/><test-case name="13619NISTSchema-SV-IV-list-unsignedShort-length-2 tokoe:valid" result="pass"/><test-case name="13620NISTXML-SV-IV-list-unsignedShort-length-2-1 tokoe:valid" result="pass"/><test-case name="13621NISTXML-SV-IV-list-unsignedShort-length-2-2 tokoe:valid" result="pass"/><test-case name="13622NISTXML-SV-IV-list-unsignedShort-length-2-3 tokoe:valid" result="pass"/><test-case name="13623NISTXML-SV-IV-list-unsignedShort-length-2-4 tokoe:valid" result="pass"/><test-case name="13624NISTXML-SV-IV-list-unsignedShort-length-2-5 tokoe:valid" result="pass"/><test-case name="13625NISTSchema-SV-IV-list-unsignedShort-length-3 tokoe:valid" result="pass"/><test-case name="13626NISTXML-SV-IV-list-unsignedShort-length-3-1 tokoe:valid" result="pass"/><test-case name="13627NISTXML-SV-IV-list-unsignedShort-length-3-2 tokoe:valid" result="pass"/><test-case name="13628NISTXML-SV-IV-list-unsignedShort-length-3-3 tokoe:valid" result="pass"/><test-case name="13629NISTXML-SV-IV-list-unsignedShort-length-3-4 tokoe:valid" result="pass"/><test-case name="13630NISTXML-SV-IV-list-unsignedShort-length-3-5 tokoe:valid" result="pass"/><test-case name="13631NISTSchema-SV-IV-list-unsignedShort-length-4 tokoe:valid" result="pass"/><test-case name="13632NISTXML-SV-IV-list-unsignedShort-length-4-1 tokoe:valid" result="pass"/><test-case name="13633NISTXML-SV-IV-list-unsignedShort-length-4-2 tokoe:valid" result="pass"/><test-case name="13634NISTXML-SV-IV-list-unsignedShort-length-4-3 tokoe:valid" result="pass"/><test-case name="13635NISTXML-SV-IV-list-unsignedShort-length-4-4 tokoe:valid" result="pass"/><test-case name="13636NISTXML-SV-IV-list-unsignedShort-length-4-5 tokoe:valid" result="pass"/><test-case name="13637NISTSchema-SV-IV-list-unsignedShort-length-5 tokoe:valid" result="pass"/><test-case name="13638NISTXML-SV-IV-list-unsignedShort-length-5-1 tokoe:valid" result="pass"/><test-case name="13639NISTXML-SV-IV-list-unsignedShort-length-5-2 tokoe:valid" result="pass"/><test-case name="13640NISTXML-SV-IV-list-unsignedShort-length-5-3 tokoe:valid" result="pass"/><test-case name="13641NISTXML-SV-IV-list-unsignedShort-length-5-4 tokoe:valid" result="pass"/><test-case name="13642NISTXML-SV-IV-list-unsignedShort-length-5-5 tokoe:valid" result="pass"/><test-case name="13643NISTSchema-SV-IV-list-unsignedShort-pattern-1 tokoe:valid" result="pass"/><test-case name="13644NISTXML-SV-IV-list-unsignedShort-pattern-1-1 tokoe:valid" result="pass"/><test-case name="13645NISTXML-SV-IV-list-unsignedShort-pattern-1-2 tokoe:valid" result="pass"/><test-case name="13646NISTXML-SV-IV-list-unsignedShort-pattern-1-3 tokoe:valid" result="pass"/><test-case name="13647NISTXML-SV-IV-list-unsignedShort-pattern-1-4 tokoe:valid" result="pass"/><test-case name="13648NISTXML-SV-IV-list-unsignedShort-pattern-1-5 tokoe:valid" result="pass"/><test-case name="13649NISTSchema-SV-IV-list-unsignedShort-pattern-2 tokoe:valid" result="pass"/><test-case name="13650NISTXML-SV-IV-list-unsignedShort-pattern-2-1 tokoe:valid" result="pass"/><test-case name="13651NISTXML-SV-IV-list-unsignedShort-pattern-2-2 tokoe:valid" result="pass"/><test-case name="13652NISTXML-SV-IV-list-unsignedShort-pattern-2-3 tokoe:valid" result="pass"/><test-case name="13653NISTXML-SV-IV-list-unsignedShort-pattern-2-4 tokoe:valid" result="pass"/><test-case name="13654NISTXML-SV-IV-list-unsignedShort-pattern-2-5 tokoe:valid" result="pass"/><test-case name="13655NISTSchema-SV-IV-list-unsignedShort-pattern-3 tokoe:valid" result="pass"/><test-case name="13656NISTXML-SV-IV-list-unsignedShort-pattern-3-1 tokoe:valid" result="pass"/><test-case name="13657NISTXML-SV-IV-list-unsignedShort-pattern-3-2 tokoe:valid" result="pass"/><test-case name="13658NISTXML-SV-IV-list-unsignedShort-pattern-3-3 tokoe:valid" result="pass"/><test-case name="13659NISTXML-SV-IV-list-unsignedShort-pattern-3-4 tokoe:valid" result="pass"/><test-case name="13660NISTXML-SV-IV-list-unsignedShort-pattern-3-5 tokoe:valid" result="pass"/><test-case name="13661NISTSchema-SV-IV-list-unsignedShort-pattern-4 tokoe:valid" result="pass"/><test-case name="13662NISTXML-SV-IV-list-unsignedShort-pattern-4-1 tokoe:valid" result="pass"/><test-case name="13663NISTXML-SV-IV-list-unsignedShort-pattern-4-2 tokoe:valid" result="pass"/><test-case name="13664NISTXML-SV-IV-list-unsignedShort-pattern-4-3 tokoe:valid" result="pass"/><test-case name="13665NISTXML-SV-IV-list-unsignedShort-pattern-4-4 tokoe:valid" result="pass"/><test-case name="13666NISTXML-SV-IV-list-unsignedShort-pattern-4-5 tokoe:valid" result="pass"/><test-case name="13667NISTSchema-SV-IV-list-unsignedShort-pattern-5 tokoe:valid" result="pass"/><test-case name="13668NISTXML-SV-IV-list-unsignedShort-pattern-5-1 tokoe:valid" result="pass"/><test-case name="13669NISTXML-SV-IV-list-unsignedShort-pattern-5-2 tokoe:valid" result="pass"/><test-case name="13670NISTXML-SV-IV-list-unsignedShort-pattern-5-3 tokoe:valid" result="pass"/><test-case name="13671NISTXML-SV-IV-list-unsignedShort-pattern-5-4 tokoe:valid" result="pass"/><test-case name="13672NISTXML-SV-IV-list-unsignedShort-pattern-5-5 tokoe:valid" result="pass"/><test-case name="13673NISTSchema-SV-IV-list-unsignedShort-enumeration-1 tokoe:valid" result="pass"/><test-case name="13674NISTXML-SV-IV-list-unsignedShort-enumeration-1-1 tokoe:valid" result="pass"/><test-case name="13675NISTXML-SV-IV-list-unsignedShort-enumeration-1-2 tokoe:valid" result="pass"/><test-case name="13676NISTXML-SV-IV-list-unsignedShort-enumeration-1-3 tokoe:valid" result="pass"/><test-case name="13677NISTXML-SV-IV-list-unsignedShort-enumeration-1-4 tokoe:valid" result="pass"/><test-case name="13678NISTXML-SV-IV-list-unsignedShort-enumeration-1-5 tokoe:valid" result="pass"/><test-case name="13679NISTSchema-SV-IV-list-unsignedShort-enumeration-2 tokoe:valid" result="pass"/><test-case name="13680NISTXML-SV-IV-list-unsignedShort-enumeration-2-1 tokoe:valid" result="pass"/><test-case name="13681NISTXML-SV-IV-list-unsignedShort-enumeration-2-2 tokoe:valid" result="pass"/><test-case name="13682NISTXML-SV-IV-list-unsignedShort-enumeration-2-3 tokoe:valid" result="pass"/><test-case name="13683NISTXML-SV-IV-list-unsignedShort-enumeration-2-4 tokoe:valid" result="pass"/><test-case name="13684NISTXML-SV-IV-list-unsignedShort-enumeration-2-5 tokoe:valid" result="pass"/><test-case name="13685NISTSchema-SV-IV-list-unsignedShort-enumeration-3 tokoe:valid" result="pass"/><test-case name="13686NISTXML-SV-IV-list-unsignedShort-enumeration-3-1 tokoe:valid" result="pass"/><test-case name="13687NISTXML-SV-IV-list-unsignedShort-enumeration-3-2 tokoe:valid" result="pass"/><test-case name="13688NISTXML-SV-IV-list-unsignedShort-enumeration-3-3 tokoe:valid" result="pass"/><test-case name="13689NISTXML-SV-IV-list-unsignedShort-enumeration-3-4 tokoe:valid" result="pass"/><test-case name="13690NISTXML-SV-IV-list-unsignedShort-enumeration-3-5 tokoe:valid" result="pass"/><test-case name="13691NISTSchema-SV-IV-list-unsignedShort-enumeration-4 tokoe:valid" result="pass"/><test-case name="13692NISTXML-SV-IV-list-unsignedShort-enumeration-4-1 tokoe:valid" result="pass"/><test-case name="13693NISTXML-SV-IV-list-unsignedShort-enumeration-4-2 tokoe:valid" result="pass"/><test-case name="13694NISTXML-SV-IV-list-unsignedShort-enumeration-4-3 tokoe:valid" result="pass"/><test-case name="13695NISTXML-SV-IV-list-unsignedShort-enumeration-4-4 tokoe:valid" result="pass"/><test-case name="13696NISTXML-SV-IV-list-unsignedShort-enumeration-4-5 tokoe:valid" result="pass"/><test-case name="13697NISTSchema-SV-IV-list-unsignedShort-enumeration-5 tokoe:valid" result="pass"/><test-case name="13698NISTXML-SV-IV-list-unsignedShort-enumeration-5-1 tokoe:valid" result="pass"/><test-case name="13699NISTXML-SV-IV-list-unsignedShort-enumeration-5-2 tokoe:valid" result="pass"/><test-case name="13700NISTXML-SV-IV-list-unsignedShort-enumeration-5-3 tokoe:valid" result="pass"/><test-case name="13701NISTXML-SV-IV-list-unsignedShort-enumeration-5-4 tokoe:valid" result="pass"/><test-case name="13702NISTXML-SV-IV-list-unsignedShort-enumeration-5-5 tokoe:valid" result="pass"/><test-case name="13703NISTSchema-SV-IV-list-unsignedShort-whiteSpace-1 tokoe:valid" result="pass"/><test-case name="13704NISTXML-SV-IV-list-unsignedShort-whiteSpace-1-1 tokoe:valid" result="pass"/><test-case name="13705NISTXML-SV-IV-list-unsignedShort-whiteSpace-1-2 tokoe:valid" result="pass"/><test-case name="13706NISTXML-SV-IV-list-unsignedShort-whiteSpace-1-3 tokoe:valid" result="pass"/><test-case name="13707NISTXML-SV-IV-list-unsignedShort-whiteSpace-1-4 tokoe:valid" result="pass"/><test-case name="13708NISTXML-SV-IV-list-unsignedShort-whiteSpace-1-5 tokoe:valid" result="pass"/><test-case name="13709NISTSchema-SV-IV-list-unsignedByte-maxLength-1 tokoe:valid" result="pass"/><test-case name="13710NISTXML-SV-IV-list-unsignedByte-maxLength-1-1 tokoe:valid" result="pass"/><test-case name="13711NISTXML-SV-IV-list-unsignedByte-maxLength-1-2 tokoe:valid" result="pass"/><test-case name="13712NISTXML-SV-IV-list-unsignedByte-maxLength-1-3 tokoe:valid" result="pass"/><test-case name="13713NISTXML-SV-IV-list-unsignedByte-maxLength-1-4 tokoe:valid" result="pass"/><test-case name="13714NISTXML-SV-IV-list-unsignedByte-maxLength-1-5 tokoe:valid" result="pass"/><test-case name="13715NISTSchema-SV-IV-list-unsignedByte-maxLength-2 tokoe:valid" result="pass"/><test-case name="13716NISTXML-SV-IV-list-unsignedByte-maxLength-2-1 tokoe:valid" result="pass"/><test-case name="13717NISTXML-SV-IV-list-unsignedByte-maxLength-2-2 tokoe:valid" result="pass"/><test-case name="13718NISTXML-SV-IV-list-unsignedByte-maxLength-2-3 tokoe:valid" result="pass"/><test-case name="13719NISTXML-SV-IV-list-unsignedByte-maxLength-2-4 tokoe:valid" result="pass"/><test-case name="13720NISTXML-SV-IV-list-unsignedByte-maxLength-2-5 tokoe:valid" result="pass"/><test-case name="13721NISTSchema-SV-IV-list-unsignedByte-maxLength-3 tokoe:valid" result="pass"/><test-case name="13722NISTXML-SV-IV-list-unsignedByte-maxLength-3-1 tokoe:valid" result="pass"/><test-case name="13723NISTXML-SV-IV-list-unsignedByte-maxLength-3-2 tokoe:valid" result="pass"/><test-case name="13724NISTXML-SV-IV-list-unsignedByte-maxLength-3-3 tokoe:valid" result="pass"/><test-case name="13725NISTXML-SV-IV-list-unsignedByte-maxLength-3-4 tokoe:valid" result="pass"/><test-case name="13726NISTXML-SV-IV-list-unsignedByte-maxLength-3-5 tokoe:valid" result="pass"/><test-case name="13727NISTSchema-SV-IV-list-unsignedByte-maxLength-4 tokoe:valid" result="pass"/><test-case name="13728NISTXML-SV-IV-list-unsignedByte-maxLength-4-1 tokoe:valid" result="pass"/><test-case name="13729NISTXML-SV-IV-list-unsignedByte-maxLength-4-2 tokoe:valid" result="pass"/><test-case name="13730NISTXML-SV-IV-list-unsignedByte-maxLength-4-3 tokoe:valid" result="pass"/><test-case name="13731NISTXML-SV-IV-list-unsignedByte-maxLength-4-4 tokoe:valid" result="pass"/><test-case name="13732NISTXML-SV-IV-list-unsignedByte-maxLength-4-5 tokoe:valid" result="pass"/><test-case name="13733NISTSchema-SV-IV-list-unsignedByte-maxLength-5 tokoe:valid" result="pass"/><test-case name="13734NISTXML-SV-IV-list-unsignedByte-maxLength-5-1 tokoe:valid" result="pass"/><test-case name="13735NISTXML-SV-IV-list-unsignedByte-maxLength-5-2 tokoe:valid" result="pass"/><test-case name="13736NISTXML-SV-IV-list-unsignedByte-maxLength-5-3 tokoe:valid" result="pass"/><test-case name="13737NISTXML-SV-IV-list-unsignedByte-maxLength-5-4 tokoe:valid" result="pass"/><test-case name="13738NISTXML-SV-IV-list-unsignedByte-maxLength-5-5 tokoe:valid" result="pass"/><test-case name="13739NISTSchema-SV-IV-list-unsignedByte-minLength-1 tokoe:valid" result="pass"/><test-case name="13740NISTXML-SV-IV-list-unsignedByte-minLength-1-1 tokoe:valid" result="pass"/><test-case name="13741NISTXML-SV-IV-list-unsignedByte-minLength-1-2 tokoe:valid" result="pass"/><test-case name="13742NISTXML-SV-IV-list-unsignedByte-minLength-1-3 tokoe:valid" result="pass"/><test-case name="13743NISTXML-SV-IV-list-unsignedByte-minLength-1-4 tokoe:valid" result="pass"/><test-case name="13744NISTXML-SV-IV-list-unsignedByte-minLength-1-5 tokoe:valid" result="pass"/><test-case name="13745NISTSchema-SV-IV-list-unsignedByte-minLength-2 tokoe:valid" result="pass"/><test-case name="13746NISTXML-SV-IV-list-unsignedByte-minLength-2-1 tokoe:valid" result="pass"/><test-case name="13747NISTXML-SV-IV-list-unsignedByte-minLength-2-2 tokoe:valid" result="pass"/><test-case name="13748NISTXML-SV-IV-list-unsignedByte-minLength-2-3 tokoe:valid" result="pass"/><test-case name="13749NISTXML-SV-IV-list-unsignedByte-minLength-2-4 tokoe:valid" result="pass"/><test-case name="13750NISTXML-SV-IV-list-unsignedByte-minLength-2-5 tokoe:valid" result="pass"/><test-case name="13751NISTSchema-SV-IV-list-unsignedByte-minLength-3 tokoe:valid" result="pass"/><test-case name="13752NISTXML-SV-IV-list-unsignedByte-minLength-3-1 tokoe:valid" result="pass"/><test-case name="13753NISTXML-SV-IV-list-unsignedByte-minLength-3-2 tokoe:valid" result="pass"/><test-case name="13754NISTXML-SV-IV-list-unsignedByte-minLength-3-3 tokoe:valid" result="pass"/><test-case name="13755NISTXML-SV-IV-list-unsignedByte-minLength-3-4 tokoe:valid" result="pass"/><test-case name="13756NISTXML-SV-IV-list-unsignedByte-minLength-3-5 tokoe:valid" result="pass"/><test-case name="13757NISTSchema-SV-IV-list-unsignedByte-minLength-4 tokoe:valid" result="pass"/><test-case name="13758NISTXML-SV-IV-list-unsignedByte-minLength-4-1 tokoe:valid" result="pass"/><test-case name="13759NISTXML-SV-IV-list-unsignedByte-minLength-4-2 tokoe:valid" result="pass"/><test-case name="13760NISTXML-SV-IV-list-unsignedByte-minLength-4-3 tokoe:valid" result="pass"/><test-case name="13761NISTXML-SV-IV-list-unsignedByte-minLength-4-4 tokoe:valid" result="pass"/><test-case name="13762NISTXML-SV-IV-list-unsignedByte-minLength-4-5 tokoe:valid" result="pass"/><test-case name="13763NISTSchema-SV-IV-list-unsignedByte-minLength-5 tokoe:valid" result="pass"/><test-case name="13764NISTXML-SV-IV-list-unsignedByte-minLength-5-1 tokoe:valid" result="pass"/><test-case name="13765NISTXML-SV-IV-list-unsignedByte-minLength-5-2 tokoe:valid" result="pass"/><test-case name="13766NISTXML-SV-IV-list-unsignedByte-minLength-5-3 tokoe:valid" result="pass"/><test-case name="13767NISTXML-SV-IV-list-unsignedByte-minLength-5-4 tokoe:valid" result="pass"/><test-case name="13768NISTXML-SV-IV-list-unsignedByte-minLength-5-5 tokoe:valid" result="pass"/><test-case name="13769NISTSchema-SV-IV-list-unsignedByte-length-1 tokoe:valid" result="pass"/><test-case name="13770NISTXML-SV-IV-list-unsignedByte-length-1-1 tokoe:valid" result="pass"/><test-case name="13771NISTXML-SV-IV-list-unsignedByte-length-1-2 tokoe:valid" result="pass"/><test-case name="13772NISTXML-SV-IV-list-unsignedByte-length-1-3 tokoe:valid" result="pass"/><test-case name="13773NISTXML-SV-IV-list-unsignedByte-length-1-4 tokoe:valid" result="pass"/><test-case name="13774NISTXML-SV-IV-list-unsignedByte-length-1-5 tokoe:valid" result="pass"/><test-case name="13775NISTSchema-SV-IV-list-unsignedByte-length-2 tokoe:valid" result="pass"/><test-case name="13776NISTXML-SV-IV-list-unsignedByte-length-2-1 tokoe:valid" result="pass"/><test-case name="13777NISTXML-SV-IV-list-unsignedByte-length-2-2 tokoe:valid" result="pass"/><test-case name="13778NISTXML-SV-IV-list-unsignedByte-length-2-3 tokoe:valid" result="pass"/><test-case name="13779NISTXML-SV-IV-list-unsignedByte-length-2-4 tokoe:valid" result="pass"/><test-case name="13780NISTXML-SV-IV-list-unsignedByte-length-2-5 tokoe:valid" result="pass"/><test-case name="13781NISTSchema-SV-IV-list-unsignedByte-length-3 tokoe:valid" result="pass"/><test-case name="13782NISTXML-SV-IV-list-unsignedByte-length-3-1 tokoe:valid" result="pass"/><test-case name="13783NISTXML-SV-IV-list-unsignedByte-length-3-2 tokoe:valid" result="pass"/><test-case name="13784NISTXML-SV-IV-list-unsignedByte-length-3-3 tokoe:valid" result="pass"/><test-case name="13785NISTXML-SV-IV-list-unsignedByte-length-3-4 tokoe:valid" result="pass"/><test-case name="13786NISTXML-SV-IV-list-unsignedByte-length-3-5 tokoe:valid" result="pass"/><test-case name="13787NISTSchema-SV-IV-list-unsignedByte-length-4 tokoe:valid" result="pass"/><test-case name="13788NISTXML-SV-IV-list-unsignedByte-length-4-1 tokoe:valid" result="pass"/><test-case name="13789NISTXML-SV-IV-list-unsignedByte-length-4-2 tokoe:valid" result="pass"/><test-case name="13790NISTXML-SV-IV-list-unsignedByte-length-4-3 tokoe:valid" result="pass"/><test-case name="13791NISTXML-SV-IV-list-unsignedByte-length-4-4 tokoe:valid" result="pass"/><test-case name="13792NISTXML-SV-IV-list-unsignedByte-length-4-5 tokoe:valid" result="pass"/><test-case name="13793NISTSchema-SV-IV-list-unsignedByte-length-5 tokoe:valid" result="pass"/><test-case name="13794NISTXML-SV-IV-list-unsignedByte-length-5-1 tokoe:valid" result="pass"/><test-case name="13795NISTXML-SV-IV-list-unsignedByte-length-5-2 tokoe:valid" result="pass"/><test-case name="13796NISTXML-SV-IV-list-unsignedByte-length-5-3 tokoe:valid" result="pass"/><test-case name="13797NISTXML-SV-IV-list-unsignedByte-length-5-4 tokoe:valid" result="pass"/><test-case name="13798NISTXML-SV-IV-list-unsignedByte-length-5-5 tokoe:valid" result="pass"/><test-case name="13799NISTSchema-SV-IV-list-unsignedByte-pattern-1 tokoe:valid" result="pass"/><test-case name="13800NISTXML-SV-IV-list-unsignedByte-pattern-1-1 tokoe:valid" result="pass"/><test-case name="13801NISTXML-SV-IV-list-unsignedByte-pattern-1-2 tokoe:valid" result="pass"/><test-case name="13802NISTXML-SV-IV-list-unsignedByte-pattern-1-3 tokoe:valid" result="pass"/><test-case name="13803NISTXML-SV-IV-list-unsignedByte-pattern-1-4 tokoe:valid" result="pass"/><test-case name="13804NISTXML-SV-IV-list-unsignedByte-pattern-1-5 tokoe:valid" result="pass"/><test-case name="13805NISTSchema-SV-IV-list-unsignedByte-pattern-2 tokoe:valid" result="pass"/><test-case name="13806NISTXML-SV-IV-list-unsignedByte-pattern-2-1 tokoe:valid" result="pass"/><test-case name="13807NISTXML-SV-IV-list-unsignedByte-pattern-2-2 tokoe:valid" result="pass"/><test-case name="13808NISTXML-SV-IV-list-unsignedByte-pattern-2-3 tokoe:valid" result="pass"/><test-case name="13809NISTXML-SV-IV-list-unsignedByte-pattern-2-4 tokoe:valid" result="pass"/><test-case name="13810NISTXML-SV-IV-list-unsignedByte-pattern-2-5 tokoe:valid" result="pass"/><test-case name="13811NISTSchema-SV-IV-list-unsignedByte-pattern-3 tokoe:valid" result="pass"/><test-case name="13812NISTXML-SV-IV-list-unsignedByte-pattern-3-1 tokoe:valid" result="pass"/><test-case name="13813NISTXML-SV-IV-list-unsignedByte-pattern-3-2 tokoe:valid" result="pass"/><test-case name="13814NISTXML-SV-IV-list-unsignedByte-pattern-3-3 tokoe:valid" result="pass"/><test-case name="13815NISTXML-SV-IV-list-unsignedByte-pattern-3-4 tokoe:valid" result="pass"/><test-case name="13816NISTXML-SV-IV-list-unsignedByte-pattern-3-5 tokoe:valid" result="pass"/><test-case name="13817NISTSchema-SV-IV-list-unsignedByte-pattern-4 tokoe:valid" result="pass"/><test-case name="13818NISTXML-SV-IV-list-unsignedByte-pattern-4-1 tokoe:valid" result="pass"/><test-case name="13819NISTXML-SV-IV-list-unsignedByte-pattern-4-2 tokoe:valid" result="pass"/><test-case name="13820NISTXML-SV-IV-list-unsignedByte-pattern-4-3 tokoe:valid" result="pass"/><test-case name="13821NISTXML-SV-IV-list-unsignedByte-pattern-4-4 tokoe:valid" result="pass"/><test-case name="13822NISTXML-SV-IV-list-unsignedByte-pattern-4-5 tokoe:valid" result="pass"/><test-case name="13823NISTSchema-SV-IV-list-unsignedByte-pattern-5 tokoe:valid" result="pass"/><test-case name="13824NISTXML-SV-IV-list-unsignedByte-pattern-5-1 tokoe:valid" result="pass"/><test-case name="13825NISTXML-SV-IV-list-unsignedByte-pattern-5-2 tokoe:valid" result="pass"/><test-case name="13826NISTXML-SV-IV-list-unsignedByte-pattern-5-3 tokoe:valid" result="pass"/><test-case name="13827NISTXML-SV-IV-list-unsignedByte-pattern-5-4 tokoe:valid" result="pass"/><test-case name="13828NISTXML-SV-IV-list-unsignedByte-pattern-5-5 tokoe:valid" result="pass"/><test-case name="13829NISTSchema-SV-IV-list-unsignedByte-enumeration-1 tokoe:valid" result="pass"/><test-case name="13830NISTXML-SV-IV-list-unsignedByte-enumeration-1-1 tokoe:valid" result="pass"/><test-case name="13831NISTXML-SV-IV-list-unsignedByte-enumeration-1-2 tokoe:valid" result="pass"/><test-case name="13832NISTXML-SV-IV-list-unsignedByte-enumeration-1-3 tokoe:valid" result="pass"/><test-case name="13833NISTXML-SV-IV-list-unsignedByte-enumeration-1-4 tokoe:valid" result="pass"/><test-case name="13834NISTXML-SV-IV-list-unsignedByte-enumeration-1-5 tokoe:valid" result="pass"/><test-case name="13835NISTSchema-SV-IV-list-unsignedByte-enumeration-2 tokoe:valid" result="pass"/><test-case name="13836NISTXML-SV-IV-list-unsignedByte-enumeration-2-1 tokoe:valid" result="pass"/><test-case name="13837NISTXML-SV-IV-list-unsignedByte-enumeration-2-2 tokoe:valid" result="pass"/><test-case name="13838NISTXML-SV-IV-list-unsignedByte-enumeration-2-3 tokoe:valid" result="pass"/><test-case name="13839NISTXML-SV-IV-list-unsignedByte-enumeration-2-4 tokoe:valid" result="pass"/><test-case name="13840NISTXML-SV-IV-list-unsignedByte-enumeration-2-5 tokoe:valid" result="pass"/><test-case name="13841NISTSchema-SV-IV-list-unsignedByte-enumeration-3 tokoe:valid" result="pass"/><test-case name="13842NISTXML-SV-IV-list-unsignedByte-enumeration-3-1 tokoe:valid" result="pass"/><test-case name="13843NISTXML-SV-IV-list-unsignedByte-enumeration-3-2 tokoe:valid" result="pass"/><test-case name="13844NISTXML-SV-IV-list-unsignedByte-enumeration-3-3 tokoe:valid" result="pass"/><test-case name="13845NISTXML-SV-IV-list-unsignedByte-enumeration-3-4 tokoe:valid" result="pass"/><test-case name="13846NISTXML-SV-IV-list-unsignedByte-enumeration-3-5 tokoe:valid" result="pass"/><test-case name="13847NISTSchema-SV-IV-list-unsignedByte-enumeration-4 tokoe:valid" result="pass"/><test-case name="13848NISTXML-SV-IV-list-unsignedByte-enumeration-4-1 tokoe:valid" result="pass"/><test-case name="13849NISTXML-SV-IV-list-unsignedByte-enumeration-4-2 tokoe:valid" result="pass"/><test-case name="13850NISTXML-SV-IV-list-unsignedByte-enumeration-4-3 tokoe:valid" result="pass"/><test-case name="13851NISTXML-SV-IV-list-unsignedByte-enumeration-4-4 tokoe:valid" result="pass"/><test-case name="13852NISTXML-SV-IV-list-unsignedByte-enumeration-4-5 tokoe:valid" result="pass"/><test-case name="13853NISTSchema-SV-IV-list-unsignedByte-enumeration-5 tokoe:valid" result="pass"/><test-case name="13854NISTXML-SV-IV-list-unsignedByte-enumeration-5-1 tokoe:valid" result="pass"/><test-case name="13855NISTXML-SV-IV-list-unsignedByte-enumeration-5-2 tokoe:valid" result="pass"/><test-case name="13856NISTXML-SV-IV-list-unsignedByte-enumeration-5-3 tokoe:valid" result="pass"/><test-case name="13857NISTXML-SV-IV-list-unsignedByte-enumeration-5-4 tokoe:valid" result="pass"/><test-case name="13858NISTXML-SV-IV-list-unsignedByte-enumeration-5-5 tokoe:valid" result="pass"/><test-case name="13859NISTSchema-SV-IV-list-unsignedByte-whiteSpace-1 tokoe:valid" result="pass"/><test-case name="13860NISTXML-SV-IV-list-unsignedByte-whiteSpace-1-1 tokoe:valid" result="pass"/><test-case name="13861NISTXML-SV-IV-list-unsignedByte-whiteSpace-1-2 tokoe:valid" result="pass"/><test-case name="13862NISTXML-SV-IV-list-unsignedByte-whiteSpace-1-3 tokoe:valid" result="pass"/><test-case name="13863NISTXML-SV-IV-list-unsignedByte-whiteSpace-1-4 tokoe:valid" result="pass"/><test-case name="13864NISTXML-SV-IV-list-unsignedByte-whiteSpace-1-5 tokoe:valid" result="pass"/><test-case name="13865NISTSchema-SV-IV-list-positiveInteger-maxLength-1 tokoe:valid" result="pass"/><test-case name="13866NISTXML-SV-IV-list-positiveInteger-maxLength-1-1 tokoe:valid" result="pass"/><test-case name="13867NISTXML-SV-IV-list-positiveInteger-maxLength-1-2 tokoe:valid" result="pass"/><test-case name="13868NISTXML-SV-IV-list-positiveInteger-maxLength-1-3 tokoe:valid" result="pass"/><test-case name="13869NISTXML-SV-IV-list-positiveInteger-maxLength-1-4 tokoe:valid" result="pass"/><test-case name="13870NISTXML-SV-IV-list-positiveInteger-maxLength-1-5 tokoe:valid" result="pass"/><test-case name="13871NISTSchema-SV-IV-list-positiveInteger-maxLength-2 tokoe:valid" result="pass"/><test-case name="13872NISTXML-SV-IV-list-positiveInteger-maxLength-2-1 tokoe:valid" result="pass"/><test-case name="13873NISTXML-SV-IV-list-positiveInteger-maxLength-2-2 tokoe:valid" result="pass"/><test-case name="13874NISTXML-SV-IV-list-positiveInteger-maxLength-2-3 tokoe:valid" result="pass"/><test-case name="13875NISTXML-SV-IV-list-positiveInteger-maxLength-2-4 tokoe:valid" result="pass"/><test-case name="13876NISTXML-SV-IV-list-positiveInteger-maxLength-2-5 tokoe:valid" result="pass"/><test-case name="13877NISTSchema-SV-IV-list-positiveInteger-maxLength-3 tokoe:valid" result="pass"/><test-case name="13878NISTXML-SV-IV-list-positiveInteger-maxLength-3-1 tokoe:valid" result="pass"/><test-case name="13879NISTXML-SV-IV-list-positiveInteger-maxLength-3-2 tokoe:valid" result="pass"/><test-case name="13880NISTXML-SV-IV-list-positiveInteger-maxLength-3-3 tokoe:valid" result="pass"/><test-case name="13881NISTXML-SV-IV-list-positiveInteger-maxLength-3-4 tokoe:valid" result="pass"/><test-case name="13882NISTXML-SV-IV-list-positiveInteger-maxLength-3-5 tokoe:valid" result="pass"/><test-case name="13883NISTSchema-SV-IV-list-positiveInteger-maxLength-4 tokoe:valid" result="pass"/><test-case name="13884NISTXML-SV-IV-list-positiveInteger-maxLength-4-1 tokoe:valid" result="pass"/><test-case name="13885NISTXML-SV-IV-list-positiveInteger-maxLength-4-2 tokoe:valid" result="pass"/><test-case name="13886NISTXML-SV-IV-list-positiveInteger-maxLength-4-3 tokoe:valid" result="pass"/><test-case name="13887NISTXML-SV-IV-list-positiveInteger-maxLength-4-4 tokoe:valid" result="pass"/><test-case name="13888NISTXML-SV-IV-list-positiveInteger-maxLength-4-5 tokoe:valid" result="pass"/><test-case name="13889NISTSchema-SV-IV-list-positiveInteger-maxLength-5 tokoe:valid" result="pass"/><test-case name="13890NISTXML-SV-IV-list-positiveInteger-maxLength-5-1 tokoe:valid" result="pass"/><test-case name="13891NISTXML-SV-IV-list-positiveInteger-maxLength-5-2 tokoe:valid" result="pass"/><test-case name="13892NISTXML-SV-IV-list-positiveInteger-maxLength-5-3 tokoe:valid" result="pass"/><test-case name="13893NISTXML-SV-IV-list-positiveInteger-maxLength-5-4 tokoe:valid" result="pass"/><test-case name="13894NISTXML-SV-IV-list-positiveInteger-maxLength-5-5 tokoe:valid" result="pass"/><test-case name="13895NISTSchema-SV-IV-list-positiveInteger-minLength-1 tokoe:valid" result="pass"/><test-case name="13896NISTXML-SV-IV-list-positiveInteger-minLength-1-1 tokoe:valid" result="pass"/><test-case name="13897NISTXML-SV-IV-list-positiveInteger-minLength-1-2 tokoe:valid" result="pass"/><test-case name="13898NISTXML-SV-IV-list-positiveInteger-minLength-1-3 tokoe:valid" result="pass"/><test-case name="13899NISTXML-SV-IV-list-positiveInteger-minLength-1-4 tokoe:valid" result="pass"/><test-case name="13900NISTXML-SV-IV-list-positiveInteger-minLength-1-5 tokoe:valid" result="pass"/><test-case name="13901NISTSchema-SV-IV-list-positiveInteger-minLength-2 tokoe:valid" result="pass"/><test-case name="13902NISTXML-SV-IV-list-positiveInteger-minLength-2-1 tokoe:valid" result="pass"/><test-case name="13903NISTXML-SV-IV-list-positiveInteger-minLength-2-2 tokoe:valid" result="pass"/><test-case name="13904NISTXML-SV-IV-list-positiveInteger-minLength-2-3 tokoe:valid" result="pass"/><test-case name="13905NISTXML-SV-IV-list-positiveInteger-minLength-2-4 tokoe:valid" result="pass"/><test-case name="13906NISTXML-SV-IV-list-positiveInteger-minLength-2-5 tokoe:valid" result="pass"/><test-case name="13907NISTSchema-SV-IV-list-positiveInteger-minLength-3 tokoe:valid" result="pass"/><test-case name="13908NISTXML-SV-IV-list-positiveInteger-minLength-3-1 tokoe:valid" result="pass"/><test-case name="13909NISTXML-SV-IV-list-positiveInteger-minLength-3-2 tokoe:valid" result="pass"/><test-case name="13910NISTXML-SV-IV-list-positiveInteger-minLength-3-3 tokoe:valid" result="pass"/><test-case name="13911NISTXML-SV-IV-list-positiveInteger-minLength-3-4 tokoe:valid" result="pass"/><test-case name="13912NISTXML-SV-IV-list-positiveInteger-minLength-3-5 tokoe:valid" result="pass"/><test-case name="13913NISTSchema-SV-IV-list-positiveInteger-minLength-4 tokoe:valid" result="pass"/><test-case name="13914NISTXML-SV-IV-list-positiveInteger-minLength-4-1 tokoe:valid" result="pass"/><test-case name="13915NISTXML-SV-IV-list-positiveInteger-minLength-4-2 tokoe:valid" result="pass"/><test-case name="13916NISTXML-SV-IV-list-positiveInteger-minLength-4-3 tokoe:valid" result="pass"/><test-case name="13917NISTXML-SV-IV-list-positiveInteger-minLength-4-4 tokoe:valid" result="pass"/><test-case name="13918NISTXML-SV-IV-list-positiveInteger-minLength-4-5 tokoe:valid" result="pass"/><test-case name="13919NISTSchema-SV-IV-list-positiveInteger-minLength-5 tokoe:valid" result="pass"/><test-case name="13920NISTXML-SV-IV-list-positiveInteger-minLength-5-1 tokoe:valid" result="pass"/><test-case name="13921NISTXML-SV-IV-list-positiveInteger-minLength-5-2 tokoe:valid" result="pass"/><test-case name="13922NISTXML-SV-IV-list-positiveInteger-minLength-5-3 tokoe:valid" result="pass"/><test-case name="13923NISTXML-SV-IV-list-positiveInteger-minLength-5-4 tokoe:valid" result="pass"/><test-case name="13924NISTXML-SV-IV-list-positiveInteger-minLength-5-5 tokoe:valid" result="pass"/><test-case name="13925NISTSchema-SV-IV-list-positiveInteger-length-1 tokoe:valid" result="pass"/><test-case name="13926NISTXML-SV-IV-list-positiveInteger-length-1-1 tokoe:valid" result="pass"/><test-case name="13927NISTXML-SV-IV-list-positiveInteger-length-1-2 tokoe:valid" result="pass"/><test-case name="13928NISTXML-SV-IV-list-positiveInteger-length-1-3 tokoe:valid" result="pass"/><test-case name="13929NISTXML-SV-IV-list-positiveInteger-length-1-4 tokoe:valid" result="pass"/><test-case name="13930NISTXML-SV-IV-list-positiveInteger-length-1-5 tokoe:valid" result="pass"/><test-case name="13931NISTSchema-SV-IV-list-positiveInteger-length-2 tokoe:valid" result="pass"/><test-case name="13932NISTXML-SV-IV-list-positiveInteger-length-2-1 tokoe:valid" result="pass"/><test-case name="13933NISTXML-SV-IV-list-positiveInteger-length-2-2 tokoe:valid" result="pass"/><test-case name="13934NISTXML-SV-IV-list-positiveInteger-length-2-3 tokoe:valid" result="pass"/><test-case name="13935NISTXML-SV-IV-list-positiveInteger-length-2-4 tokoe:valid" result="pass"/><test-case name="13936NISTXML-SV-IV-list-positiveInteger-length-2-5 tokoe:valid" result="pass"/><test-case name="13937NISTSchema-SV-IV-list-positiveInteger-length-3 tokoe:valid" result="pass"/><test-case name="13938NISTXML-SV-IV-list-positiveInteger-length-3-1 tokoe:valid" result="pass"/><test-case name="13939NISTXML-SV-IV-list-positiveInteger-length-3-2 tokoe:valid" result="pass"/><test-case name="13940NISTXML-SV-IV-list-positiveInteger-length-3-3 tokoe:valid" result="pass"/><test-case name="13941NISTXML-SV-IV-list-positiveInteger-length-3-4 tokoe:valid" result="pass"/><test-case name="13942NISTXML-SV-IV-list-positiveInteger-length-3-5 tokoe:valid" result="pass"/><test-case name="13943NISTSchema-SV-IV-list-positiveInteger-length-4 tokoe:valid" result="pass"/><test-case name="13944NISTXML-SV-IV-list-positiveInteger-length-4-1 tokoe:valid" result="pass"/><test-case name="13945NISTXML-SV-IV-list-positiveInteger-length-4-2 tokoe:valid" result="pass"/><test-case name="13946NISTXML-SV-IV-list-positiveInteger-length-4-3 tokoe:valid" result="pass"/><test-case name="13947NISTXML-SV-IV-list-positiveInteger-length-4-4 tokoe:valid" result="pass"/><test-case name="13948NISTXML-SV-IV-list-positiveInteger-length-4-5 tokoe:valid" result="pass"/><test-case name="13949NISTSchema-SV-IV-list-positiveInteger-length-5 tokoe:valid" result="pass"/><test-case name="13950NISTXML-SV-IV-list-positiveInteger-length-5-1 tokoe:valid" result="pass"/><test-case name="13951NISTXML-SV-IV-list-positiveInteger-length-5-2 tokoe:valid" result="pass"/><test-case name="13952NISTXML-SV-IV-list-positiveInteger-length-5-3 tokoe:valid" result="pass"/><test-case name="13953NISTXML-SV-IV-list-positiveInteger-length-5-4 tokoe:valid" result="pass"/><test-case name="13954NISTXML-SV-IV-list-positiveInteger-length-5-5 tokoe:valid" result="pass"/><test-case name="13955NISTSchema-SV-IV-list-positiveInteger-pattern-1 tokoe:valid" result="pass"/><test-case name="13956NISTXML-SV-IV-list-positiveInteger-pattern-1-1 tokoe:valid" result="pass"/><test-case name="13957NISTXML-SV-IV-list-positiveInteger-pattern-1-2 tokoe:valid" result="pass"/><test-case name="13958NISTXML-SV-IV-list-positiveInteger-pattern-1-3 tokoe:valid" result="pass"/><test-case name="13959NISTXML-SV-IV-list-positiveInteger-pattern-1-4 tokoe:valid" result="pass"/><test-case name="13960NISTXML-SV-IV-list-positiveInteger-pattern-1-5 tokoe:valid" result="pass"/><test-case name="13961NISTSchema-SV-IV-list-positiveInteger-pattern-2 tokoe:valid" result="pass"/><test-case name="13962NISTXML-SV-IV-list-positiveInteger-pattern-2-1 tokoe:valid" result="pass"/><test-case name="13963NISTXML-SV-IV-list-positiveInteger-pattern-2-2 tokoe:valid" result="pass"/><test-case name="13964NISTXML-SV-IV-list-positiveInteger-pattern-2-3 tokoe:valid" result="pass"/><test-case name="13965NISTXML-SV-IV-list-positiveInteger-pattern-2-4 tokoe:valid" result="pass"/><test-case name="13966NISTXML-SV-IV-list-positiveInteger-pattern-2-5 tokoe:valid" result="pass"/><test-case name="13967NISTSchema-SV-IV-list-positiveInteger-pattern-3 tokoe:valid" result="pass"/><test-case name="13968NISTXML-SV-IV-list-positiveInteger-pattern-3-1 tokoe:valid" result="pass"/><test-case name="13969NISTXML-SV-IV-list-positiveInteger-pattern-3-2 tokoe:valid" result="pass"/><test-case name="13970NISTXML-SV-IV-list-positiveInteger-pattern-3-3 tokoe:valid" result="pass"/><test-case name="13971NISTXML-SV-IV-list-positiveInteger-pattern-3-4 tokoe:valid" result="pass"/><test-case name="13972NISTXML-SV-IV-list-positiveInteger-pattern-3-5 tokoe:valid" result="pass"/><test-case name="13973NISTSchema-SV-IV-list-positiveInteger-pattern-4 tokoe:valid" result="pass"/><test-case name="13974NISTXML-SV-IV-list-positiveInteger-pattern-4-1 tokoe:valid" result="pass"/><test-case name="13975NISTXML-SV-IV-list-positiveInteger-pattern-4-2 tokoe:valid" result="pass"/><test-case name="13976NISTXML-SV-IV-list-positiveInteger-pattern-4-3 tokoe:valid" result="pass"/><test-case name="13977NISTXML-SV-IV-list-positiveInteger-pattern-4-4 tokoe:valid" result="pass"/><test-case name="13978NISTXML-SV-IV-list-positiveInteger-pattern-4-5 tokoe:valid" result="pass"/><test-case name="13979NISTSchema-SV-IV-list-positiveInteger-pattern-5 tokoe:valid" result="pass"/><test-case name="13980NISTXML-SV-IV-list-positiveInteger-pattern-5-1 tokoe:valid" result="pass"/><test-case name="13981NISTXML-SV-IV-list-positiveInteger-pattern-5-2 tokoe:valid" result="pass"/><test-case name="13982NISTXML-SV-IV-list-positiveInteger-pattern-5-3 tokoe:valid" result="pass"/><test-case name="13983NISTXML-SV-IV-list-positiveInteger-pattern-5-4 tokoe:valid" result="pass"/><test-case name="13984NISTXML-SV-IV-list-positiveInteger-pattern-5-5 tokoe:valid" result="pass"/><test-case name="13985NISTSchema-SV-IV-list-positiveInteger-enumeration-1 tokoe:valid" result="pass"/><test-case name="13986NISTXML-SV-IV-list-positiveInteger-enumeration-1-1 tokoe:valid" result="pass"/><test-case name="13987NISTXML-SV-IV-list-positiveInteger-enumeration-1-2 tokoe:valid" result="pass"/><test-case name="13988NISTXML-SV-IV-list-positiveInteger-enumeration-1-3 tokoe:valid" result="pass"/><test-case name="13989NISTXML-SV-IV-list-positiveInteger-enumeration-1-4 tokoe:valid" result="pass"/><test-case name="13990NISTXML-SV-IV-list-positiveInteger-enumeration-1-5 tokoe:valid" result="pass"/><test-case name="13991NISTSchema-SV-IV-list-positiveInteger-enumeration-2 tokoe:valid" result="pass"/><test-case name="13992NISTXML-SV-IV-list-positiveInteger-enumeration-2-1 tokoe:valid" result="pass"/><test-case name="13993NISTXML-SV-IV-list-positiveInteger-enumeration-2-2 tokoe:valid" result="pass"/><test-case name="13994NISTXML-SV-IV-list-positiveInteger-enumeration-2-3 tokoe:valid" result="pass"/><test-case name="13995NISTXML-SV-IV-list-positiveInteger-enumeration-2-4 tokoe:valid" result="pass"/><test-case name="13996NISTXML-SV-IV-list-positiveInteger-enumeration-2-5 tokoe:valid" result="pass"/><test-case name="13997NISTSchema-SV-IV-list-positiveInteger-enumeration-3 tokoe:valid" result="pass"/><test-case name="13998NISTXML-SV-IV-list-positiveInteger-enumeration-3-1 tokoe:valid" result="pass"/><test-case name="13999NISTXML-SV-IV-list-positiveInteger-enumeration-3-2 tokoe:valid" result="pass"/><test-case name="14000NISTXML-SV-IV-list-positiveInteger-enumeration-3-3 tokoe:valid" result="pass"/><test-case name="14001NISTXML-SV-IV-list-positiveInteger-enumeration-3-4 tokoe:valid" result="pass"/><test-case name="14002NISTXML-SV-IV-list-positiveInteger-enumeration-3-5 tokoe:valid" result="pass"/><test-case name="14003NISTSchema-SV-IV-list-positiveInteger-enumeration-4 tokoe:valid" result="pass"/><test-case name="14004NISTXML-SV-IV-list-positiveInteger-enumeration-4-1 tokoe:valid" result="pass"/><test-case name="14005NISTXML-SV-IV-list-positiveInteger-enumeration-4-2 tokoe:valid" result="pass"/><test-case name="14006NISTXML-SV-IV-list-positiveInteger-enumeration-4-3 tokoe:valid" result="pass"/><test-case name="14007NISTXML-SV-IV-list-positiveInteger-enumeration-4-4 tokoe:valid" result="pass"/><test-case name="14008NISTXML-SV-IV-list-positiveInteger-enumeration-4-5 tokoe:valid" result="pass"/><test-case name="14009NISTSchema-SV-IV-list-positiveInteger-enumeration-5 tokoe:valid" result="pass"/><test-case name="14010NISTXML-SV-IV-list-positiveInteger-enumeration-5-1 tokoe:valid" result="pass"/><test-case name="14011NISTXML-SV-IV-list-positiveInteger-enumeration-5-2 tokoe:valid" result="pass"/><test-case name="14012NISTXML-SV-IV-list-positiveInteger-enumeration-5-3 tokoe:valid" result="pass"/><test-case name="14013NISTXML-SV-IV-list-positiveInteger-enumeration-5-4 tokoe:valid" result="pass"/><test-case name="14014NISTXML-SV-IV-list-positiveInteger-enumeration-5-5 tokoe:valid" result="pass"/><test-case name="14015NISTSchema-SV-IV-list-positiveInteger-whiteSpace-1 tokoe:valid" result="pass"/><test-case name="14016NISTXML-SV-IV-list-positiveInteger-whiteSpace-1-1 tokoe:valid" result="pass"/><test-case name="14017NISTXML-SV-IV-list-positiveInteger-whiteSpace-1-2 tokoe:valid" result="pass"/><test-case name="14018NISTXML-SV-IV-list-positiveInteger-whiteSpace-1-3 tokoe:valid" result="pass"/><test-case name="14019NISTXML-SV-IV-list-positiveInteger-whiteSpace-1-4 tokoe:valid" result="pass"/><test-case name="14020NISTXML-SV-IV-list-positiveInteger-whiteSpace-1-5 tokoe:valid" result="pass"/><test-case name="14021NISTSchema-SV-IV-list-double-maxLength-1 tokoe:valid" result="pass"/><test-case name="14022NISTXML-SV-IV-list-double-maxLength-1-1 tokoe:valid" result="pass"/><test-case name="14023NISTXML-SV-IV-list-double-maxLength-1-2 tokoe:valid" result="pass"/><test-case name="14024NISTXML-SV-IV-list-double-maxLength-1-3 tokoe:valid" result="pass"/><test-case name="14025NISTXML-SV-IV-list-double-maxLength-1-4 tokoe:valid" result="pass"/><test-case name="14026NISTXML-SV-IV-list-double-maxLength-1-5 tokoe:valid" result="pass"/><test-case name="14027NISTSchema-SV-IV-list-double-maxLength-2 tokoe:valid" result="pass"/><test-case name="14028NISTXML-SV-IV-list-double-maxLength-2-1 tokoe:valid" result="pass"/><test-case name="14029NISTXML-SV-IV-list-double-maxLength-2-2 tokoe:valid" result="pass"/><test-case name="14030NISTXML-SV-IV-list-double-maxLength-2-3 tokoe:valid" result="pass"/><test-case name="14031NISTXML-SV-IV-list-double-maxLength-2-4 tokoe:valid" result="pass"/><test-case name="14032NISTXML-SV-IV-list-double-maxLength-2-5 tokoe:valid" result="pass"/><test-case name="14033NISTSchema-SV-IV-list-double-maxLength-3 tokoe:valid" result="pass"/><test-case name="14034NISTXML-SV-IV-list-double-maxLength-3-1 tokoe:valid" result="pass"/><test-case name="14035NISTXML-SV-IV-list-double-maxLength-3-2 tokoe:valid" result="pass"/><test-case name="14036NISTXML-SV-IV-list-double-maxLength-3-3 tokoe:valid" result="pass"/><test-case name="14037NISTXML-SV-IV-list-double-maxLength-3-4 tokoe:valid" result="pass"/><test-case name="14038NISTXML-SV-IV-list-double-maxLength-3-5 tokoe:valid" result="pass"/><test-case name="14039NISTSchema-SV-IV-list-double-maxLength-4 tokoe:valid" result="pass"/><test-case name="14040NISTXML-SV-IV-list-double-maxLength-4-1 tokoe:valid" result="pass"/><test-case name="14041NISTXML-SV-IV-list-double-maxLength-4-2 tokoe:valid" result="pass"/><test-case name="14042NISTXML-SV-IV-list-double-maxLength-4-3 tokoe:valid" result="pass"/><test-case name="14043NISTXML-SV-IV-list-double-maxLength-4-4 tokoe:valid" result="pass"/><test-case name="14044NISTXML-SV-IV-list-double-maxLength-4-5 tokoe:valid" result="pass"/><test-case name="14045NISTSchema-SV-IV-list-double-maxLength-5 tokoe:valid" result="pass"/><test-case name="14046NISTXML-SV-IV-list-double-maxLength-5-1 tokoe:valid" result="pass"/><test-case name="14047NISTXML-SV-IV-list-double-maxLength-5-2 tokoe:valid" result="pass"/><test-case name="14048NISTXML-SV-IV-list-double-maxLength-5-3 tokoe:valid" result="pass"/><test-case name="14049NISTXML-SV-IV-list-double-maxLength-5-4 tokoe:valid" result="pass"/><test-case name="14050NISTXML-SV-IV-list-double-maxLength-5-5 tokoe:valid" result="pass"/><test-case name="14051NISTSchema-SV-IV-list-double-minLength-1 tokoe:valid" result="pass"/><test-case name="14052NISTXML-SV-IV-list-double-minLength-1-1 tokoe:valid" result="pass"/><test-case name="14053NISTXML-SV-IV-list-double-minLength-1-2 tokoe:valid" result="pass"/><test-case name="14054NISTXML-SV-IV-list-double-minLength-1-3 tokoe:valid" result="pass"/><test-case name="14055NISTXML-SV-IV-list-double-minLength-1-4 tokoe:valid" result="pass"/><test-case name="14056NISTXML-SV-IV-list-double-minLength-1-5 tokoe:valid" result="pass"/><test-case name="14057NISTSchema-SV-IV-list-double-minLength-2 tokoe:valid" result="pass"/><test-case name="14058NISTXML-SV-IV-list-double-minLength-2-1 tokoe:valid" result="pass"/><test-case name="14059NISTXML-SV-IV-list-double-minLength-2-2 tokoe:valid" result="pass"/><test-case name="14060NISTXML-SV-IV-list-double-minLength-2-3 tokoe:valid" result="pass"/><test-case name="14061NISTXML-SV-IV-list-double-minLength-2-4 tokoe:valid" result="pass"/><test-case name="14062NISTXML-SV-IV-list-double-minLength-2-5 tokoe:valid" result="pass"/><test-case name="14063NISTSchema-SV-IV-list-double-minLength-3 tokoe:valid" result="pass"/><test-case name="14064NISTXML-SV-IV-list-double-minLength-3-1 tokoe:valid" result="pass"/><test-case name="14065NISTXML-SV-IV-list-double-minLength-3-2 tokoe:valid" result="fail"/><test-case name="14066NISTXML-SV-IV-list-double-minLength-3-3 tokoe:valid" result="pass"/><test-case name="14067NISTXML-SV-IV-list-double-minLength-3-4 tokoe:valid" result="pass"/><test-case name="14068NISTXML-SV-IV-list-double-minLength-3-5 tokoe:valid" result="pass"/><test-case name="14069NISTSchema-SV-IV-list-double-minLength-4 tokoe:valid" result="pass"/><test-case name="14070NISTXML-SV-IV-list-double-minLength-4-1 tokoe:valid" result="pass"/><test-case name="14071NISTXML-SV-IV-list-double-minLength-4-2 tokoe:valid" result="pass"/><test-case name="14072NISTXML-SV-IV-list-double-minLength-4-3 tokoe:valid" result="pass"/><test-case name="14073NISTXML-SV-IV-list-double-minLength-4-4 tokoe:valid" result="pass"/><test-case name="14074NISTXML-SV-IV-list-double-minLength-4-5 tokoe:valid" result="pass"/><test-case name="14075NISTSchema-SV-IV-list-double-minLength-5 tokoe:valid" result="pass"/><test-case name="14076NISTXML-SV-IV-list-double-minLength-5-1 tokoe:valid" result="pass"/><test-case name="14077NISTXML-SV-IV-list-double-minLength-5-2 tokoe:valid" result="pass"/><test-case name="14078NISTXML-SV-IV-list-double-minLength-5-3 tokoe:valid" result="pass"/><test-case name="14079NISTXML-SV-IV-list-double-minLength-5-4 tokoe:valid" result="pass"/><test-case name="14080NISTXML-SV-IV-list-double-minLength-5-5 tokoe:valid" result="pass"/><test-case name="14081NISTSchema-SV-IV-list-double-length-1 tokoe:valid" result="pass"/><test-case name="14082NISTXML-SV-IV-list-double-length-1-1 tokoe:valid" result="pass"/><test-case name="14083NISTXML-SV-IV-list-double-length-1-2 tokoe:valid" result="pass"/><test-case name="14084NISTXML-SV-IV-list-double-length-1-3 tokoe:valid" result="pass"/><test-case name="14085NISTXML-SV-IV-list-double-length-1-4 tokoe:valid" result="pass"/><test-case name="14086NISTXML-SV-IV-list-double-length-1-5 tokoe:valid" result="pass"/><test-case name="14087NISTSchema-SV-IV-list-double-length-2 tokoe:valid" result="pass"/><test-case name="14088NISTXML-SV-IV-list-double-length-2-1 tokoe:valid" result="pass"/><test-case name="14089NISTXML-SV-IV-list-double-length-2-2 tokoe:valid" result="pass"/><test-case name="14090NISTXML-SV-IV-list-double-length-2-3 tokoe:valid" result="pass"/><test-case name="14091NISTXML-SV-IV-list-double-length-2-4 tokoe:valid" result="pass"/><test-case name="14092NISTXML-SV-IV-list-double-length-2-5 tokoe:valid" result="pass"/><test-case name="14093NISTSchema-SV-IV-list-double-length-3 tokoe:valid" result="pass"/><test-case name="14094NISTXML-SV-IV-list-double-length-3-1 tokoe:valid" result="pass"/><test-case name="14095NISTXML-SV-IV-list-double-length-3-2 tokoe:valid" result="pass"/><test-case name="14096NISTXML-SV-IV-list-double-length-3-3 tokoe:valid" result="pass"/><test-case name="14097NISTXML-SV-IV-list-double-length-3-4 tokoe:valid" result="pass"/><test-case name="14098NISTXML-SV-IV-list-double-length-3-5 tokoe:valid" result="pass"/><test-case name="14099NISTSchema-SV-IV-list-double-length-4 tokoe:valid" result="pass"/><test-case name="14100NISTXML-SV-IV-list-double-length-4-1 tokoe:valid" result="pass"/><test-case name="14101NISTXML-SV-IV-list-double-length-4-2 tokoe:valid" result="pass"/><test-case name="14102NISTXML-SV-IV-list-double-length-4-3 tokoe:valid" result="pass"/><test-case name="14103NISTXML-SV-IV-list-double-length-4-4 tokoe:valid" result="pass"/><test-case name="14104NISTXML-SV-IV-list-double-length-4-5 tokoe:valid" result="pass"/><test-case name="14105NISTSchema-SV-IV-list-double-length-5 tokoe:valid" result="pass"/><test-case name="14106NISTXML-SV-IV-list-double-length-5-1 tokoe:valid" result="pass"/><test-case name="14107NISTXML-SV-IV-list-double-length-5-2 tokoe:valid" result="pass"/><test-case name="14108NISTXML-SV-IV-list-double-length-5-3 tokoe:valid" result="pass"/><test-case name="14109NISTXML-SV-IV-list-double-length-5-4 tokoe:valid" result="pass"/><test-case name="14110NISTXML-SV-IV-list-double-length-5-5 tokoe:valid" result="pass"/><test-case name="14111NISTSchema-SV-IV-list-double-pattern-1 tokoe:valid" result="pass"/><test-case name="14112NISTXML-SV-IV-list-double-pattern-1-1 tokoe:valid" result="pass"/><test-case name="14113NISTXML-SV-IV-list-double-pattern-1-2 tokoe:valid" result="pass"/><test-case name="14114NISTXML-SV-IV-list-double-pattern-1-3 tokoe:valid" result="pass"/><test-case name="14115NISTXML-SV-IV-list-double-pattern-1-4 tokoe:valid" result="pass"/><test-case name="14116NISTXML-SV-IV-list-double-pattern-1-5 tokoe:valid" result="pass"/><test-case name="14117NISTSchema-SV-IV-list-double-pattern-2 tokoe:valid" result="pass"/><test-case name="14118NISTXML-SV-IV-list-double-pattern-2-1 tokoe:valid" result="pass"/><test-case name="14119NISTXML-SV-IV-list-double-pattern-2-2 tokoe:valid" result="pass"/><test-case name="14120NISTXML-SV-IV-list-double-pattern-2-3 tokoe:valid" result="pass"/><test-case name="14121NISTXML-SV-IV-list-double-pattern-2-4 tokoe:valid" result="pass"/><test-case name="14122NISTXML-SV-IV-list-double-pattern-2-5 tokoe:valid" result="pass"/><test-case name="14123NISTSchema-SV-IV-list-double-pattern-3 tokoe:valid" result="pass"/><test-case name="14124NISTXML-SV-IV-list-double-pattern-3-1 tokoe:valid" result="pass"/><test-case name="14125NISTXML-SV-IV-list-double-pattern-3-2 tokoe:valid" result="pass"/><test-case name="14126NISTXML-SV-IV-list-double-pattern-3-3 tokoe:valid" result="pass"/><test-case name="14127NISTXML-SV-IV-list-double-pattern-3-4 tokoe:valid" result="pass"/><test-case name="14128NISTXML-SV-IV-list-double-pattern-3-5 tokoe:valid" result="pass"/><test-case name="14129NISTSchema-SV-IV-list-double-pattern-4 tokoe:valid" result="pass"/><test-case name="14130NISTXML-SV-IV-list-double-pattern-4-1 tokoe:valid" result="pass"/><test-case name="14131NISTXML-SV-IV-list-double-pattern-4-2 tokoe:valid" result="pass"/><test-case name="14132NISTXML-SV-IV-list-double-pattern-4-3 tokoe:valid" result="pass"/><test-case name="14133NISTXML-SV-IV-list-double-pattern-4-4 tokoe:valid" result="pass"/><test-case name="14134NISTXML-SV-IV-list-double-pattern-4-5 tokoe:valid" result="pass"/><test-case name="14135NISTSchema-SV-IV-list-double-pattern-5 tokoe:valid" result="pass"/><test-case name="14136NISTXML-SV-IV-list-double-pattern-5-1 tokoe:valid" result="pass"/><test-case name="14137NISTXML-SV-IV-list-double-pattern-5-2 tokoe:valid" result="pass"/><test-case name="14138NISTXML-SV-IV-list-double-pattern-5-3 tokoe:valid" result="pass"/><test-case name="14139NISTXML-SV-IV-list-double-pattern-5-4 tokoe:valid" result="pass"/><test-case name="14140NISTXML-SV-IV-list-double-pattern-5-5 tokoe:valid" result="pass"/><test-case name="14141NISTSchema-SV-IV-list-double-enumeration-1 tokoe:valid" result="pass"/><test-case name="14142NISTXML-SV-IV-list-double-enumeration-1-1 tokoe:valid" result="pass"/><test-case name="14143NISTXML-SV-IV-list-double-enumeration-1-2 tokoe:valid" result="pass"/><test-case name="14144NISTXML-SV-IV-list-double-enumeration-1-3 tokoe:valid" result="pass"/><test-case name="14145NISTXML-SV-IV-list-double-enumeration-1-4 tokoe:valid" result="pass"/><test-case name="14146NISTXML-SV-IV-list-double-enumeration-1-5 tokoe:valid" result="pass"/><test-case name="14147NISTSchema-SV-IV-list-double-enumeration-2 tokoe:valid" result="pass"/><test-case name="14148NISTXML-SV-IV-list-double-enumeration-2-1 tokoe:valid" result="pass"/><test-case name="14149NISTXML-SV-IV-list-double-enumeration-2-2 tokoe:valid" result="pass"/><test-case name="14150NISTXML-SV-IV-list-double-enumeration-2-3 tokoe:valid" result="pass"/><test-case name="14151NISTXML-SV-IV-list-double-enumeration-2-4 tokoe:valid" result="pass"/><test-case name="14152NISTXML-SV-IV-list-double-enumeration-2-5 tokoe:valid" result="pass"/><test-case name="14153NISTSchema-SV-IV-list-double-enumeration-3 tokoe:valid" result="pass"/><test-case name="14154NISTXML-SV-IV-list-double-enumeration-3-1 tokoe:valid" result="pass"/><test-case name="14155NISTXML-SV-IV-list-double-enumeration-3-2 tokoe:valid" result="pass"/><test-case name="14156NISTXML-SV-IV-list-double-enumeration-3-3 tokoe:valid" result="pass"/><test-case name="14157NISTXML-SV-IV-list-double-enumeration-3-4 tokoe:valid" result="pass"/><test-case name="14158NISTXML-SV-IV-list-double-enumeration-3-5 tokoe:valid" result="pass"/><test-case name="14159NISTSchema-SV-IV-list-double-enumeration-4 tokoe:valid" result="pass"/><test-case name="14160NISTXML-SV-IV-list-double-enumeration-4-1 tokoe:valid" result="pass"/><test-case name="14161NISTXML-SV-IV-list-double-enumeration-4-2 tokoe:valid" result="pass"/><test-case name="14162NISTXML-SV-IV-list-double-enumeration-4-3 tokoe:valid" result="pass"/><test-case name="14163NISTXML-SV-IV-list-double-enumeration-4-4 tokoe:valid" result="pass"/><test-case name="14164NISTXML-SV-IV-list-double-enumeration-4-5 tokoe:valid" result="pass"/><test-case name="14165NISTSchema-SV-IV-list-double-enumeration-5 tokoe:valid" result="pass"/><test-case name="14166NISTXML-SV-IV-list-double-enumeration-5-1 tokoe:valid" result="pass"/><test-case name="14167NISTXML-SV-IV-list-double-enumeration-5-2 tokoe:valid" result="pass"/><test-case name="14168NISTXML-SV-IV-list-double-enumeration-5-3 tokoe:valid" result="pass"/><test-case name="14169NISTXML-SV-IV-list-double-enumeration-5-4 tokoe:valid" result="pass"/><test-case name="14170NISTXML-SV-IV-list-double-enumeration-5-5 tokoe:valid" result="pass"/><test-case name="14171NISTSchema-SV-IV-list-double-whiteSpace-1 tokoe:valid" result="pass"/><test-case name="14172NISTXML-SV-IV-list-double-whiteSpace-1-1 tokoe:valid" result="pass"/><test-case name="14173NISTXML-SV-IV-list-double-whiteSpace-1-2 tokoe:valid" result="pass"/><test-case name="14174NISTXML-SV-IV-list-double-whiteSpace-1-3 tokoe:valid" result="pass"/><test-case name="14175NISTXML-SV-IV-list-double-whiteSpace-1-4 tokoe:valid" result="pass"/><test-case name="14176NISTXML-SV-IV-list-double-whiteSpace-1-5 tokoe:valid" result="pass"/><test-case name="14177NISTSchema-SV-IV-list-float-maxLength-1 tokoe:valid" result="pass"/><test-case name="14178NISTXML-SV-IV-list-float-maxLength-1-1 tokoe:valid" result="pass"/><test-case name="14179NISTXML-SV-IV-list-float-maxLength-1-2 tokoe:valid" result="pass"/><test-case name="14180NISTXML-SV-IV-list-float-maxLength-1-3 tokoe:valid" result="pass"/><test-case name="14181NISTXML-SV-IV-list-float-maxLength-1-4 tokoe:valid" result="pass"/><test-case name="14182NISTXML-SV-IV-list-float-maxLength-1-5 tokoe:valid" result="pass"/><test-case name="14183NISTSchema-SV-IV-list-float-maxLength-2 tokoe:valid" result="pass"/><test-case name="14184NISTXML-SV-IV-list-float-maxLength-2-1 tokoe:valid" result="pass"/><test-case name="14185NISTXML-SV-IV-list-float-maxLength-2-2 tokoe:valid" result="pass"/><test-case name="14186NISTXML-SV-IV-list-float-maxLength-2-3 tokoe:valid" result="pass"/><test-case name="14187NISTXML-SV-IV-list-float-maxLength-2-4 tokoe:valid" result="pass"/><test-case name="14188NISTXML-SV-IV-list-float-maxLength-2-5 tokoe:valid" result="pass"/><test-case name="14189NISTSchema-SV-IV-list-float-maxLength-3 tokoe:valid" result="pass"/><test-case name="14190NISTXML-SV-IV-list-float-maxLength-3-1 tokoe:valid" result="pass"/><test-case name="14191NISTXML-SV-IV-list-float-maxLength-3-2 tokoe:valid" result="pass"/><test-case name="14192NISTXML-SV-IV-list-float-maxLength-3-3 tokoe:valid" result="pass"/><test-case name="14193NISTXML-SV-IV-list-float-maxLength-3-4 tokoe:valid" result="pass"/><test-case name="14194NISTXML-SV-IV-list-float-maxLength-3-5 tokoe:valid" result="pass"/><test-case name="14195NISTSchema-SV-IV-list-float-maxLength-4 tokoe:valid" result="pass"/><test-case name="14196NISTXML-SV-IV-list-float-maxLength-4-1 tokoe:valid" result="pass"/><test-case name="14197NISTXML-SV-IV-list-float-maxLength-4-2 tokoe:valid" result="pass"/><test-case name="14198NISTXML-SV-IV-list-float-maxLength-4-3 tokoe:valid" result="pass"/><test-case name="14199NISTXML-SV-IV-list-float-maxLength-4-4 tokoe:valid" result="pass"/><test-case name="14200NISTXML-SV-IV-list-float-maxLength-4-5 tokoe:valid" result="pass"/><test-case name="14201NISTSchema-SV-IV-list-float-maxLength-5 tokoe:valid" result="pass"/><test-case name="14202NISTXML-SV-IV-list-float-maxLength-5-1 tokoe:valid" result="pass"/><test-case name="14203NISTXML-SV-IV-list-float-maxLength-5-2 tokoe:valid" result="pass"/><test-case name="14204NISTXML-SV-IV-list-float-maxLength-5-3 tokoe:valid" result="pass"/><test-case name="14205NISTXML-SV-IV-list-float-maxLength-5-4 tokoe:valid" result="pass"/><test-case name="14206NISTXML-SV-IV-list-float-maxLength-5-5 tokoe:valid" result="pass"/><test-case name="14207NISTSchema-SV-IV-list-float-minLength-1 tokoe:valid" result="pass"/><test-case name="14208NISTXML-SV-IV-list-float-minLength-1-1 tokoe:valid" result="pass"/><test-case name="14209NISTXML-SV-IV-list-float-minLength-1-2 tokoe:valid" result="pass"/><test-case name="14210NISTXML-SV-IV-list-float-minLength-1-3 tokoe:valid" result="pass"/><test-case name="14211NISTXML-SV-IV-list-float-minLength-1-4 tokoe:valid" result="pass"/><test-case name="14212NISTXML-SV-IV-list-float-minLength-1-5 tokoe:valid" result="pass"/><test-case name="14213NISTSchema-SV-IV-list-float-minLength-2 tokoe:valid" result="pass"/><test-case name="14214NISTXML-SV-IV-list-float-minLength-2-1 tokoe:valid" result="pass"/><test-case name="14215NISTXML-SV-IV-list-float-minLength-2-2 tokoe:valid" result="pass"/><test-case name="14216NISTXML-SV-IV-list-float-minLength-2-3 tokoe:valid" result="pass"/><test-case name="14217NISTXML-SV-IV-list-float-minLength-2-4 tokoe:valid" result="pass"/><test-case name="14218NISTXML-SV-IV-list-float-minLength-2-5 tokoe:valid" result="pass"/><test-case name="14219NISTSchema-SV-IV-list-float-minLength-3 tokoe:valid" result="pass"/><test-case name="14220NISTXML-SV-IV-list-float-minLength-3-1 tokoe:valid" result="pass"/><test-case name="14221NISTXML-SV-IV-list-float-minLength-3-2 tokoe:valid" result="pass"/><test-case name="14222NISTXML-SV-IV-list-float-minLength-3-3 tokoe:valid" result="pass"/><test-case name="14223NISTXML-SV-IV-list-float-minLength-3-4 tokoe:valid" result="pass"/><test-case name="14224NISTXML-SV-IV-list-float-minLength-3-5 tokoe:valid" result="pass"/><test-case name="14225NISTSchema-SV-IV-list-float-minLength-4 tokoe:valid" result="pass"/><test-case name="14226NISTXML-SV-IV-list-float-minLength-4-1 tokoe:valid" result="pass"/><test-case name="14227NISTXML-SV-IV-list-float-minLength-4-2 tokoe:valid" result="pass"/><test-case name="14228NISTXML-SV-IV-list-float-minLength-4-3 tokoe:valid" result="pass"/><test-case name="14229NISTXML-SV-IV-list-float-minLength-4-4 tokoe:valid" result="pass"/><test-case name="14230NISTXML-SV-IV-list-float-minLength-4-5 tokoe:valid" result="pass"/><test-case name="14231NISTSchema-SV-IV-list-float-minLength-5 tokoe:valid" result="pass"/><test-case name="14232NISTXML-SV-IV-list-float-minLength-5-1 tokoe:valid" result="pass"/><test-case name="14233NISTXML-SV-IV-list-float-minLength-5-2 tokoe:valid" result="pass"/><test-case name="14234NISTXML-SV-IV-list-float-minLength-5-3 tokoe:valid" result="pass"/><test-case name="14235NISTXML-SV-IV-list-float-minLength-5-4 tokoe:valid" result="pass"/><test-case name="14236NISTXML-SV-IV-list-float-minLength-5-5 tokoe:valid" result="pass"/><test-case name="14237NISTSchema-SV-IV-list-float-length-1 tokoe:valid" result="pass"/><test-case name="14238NISTXML-SV-IV-list-float-length-1-1 tokoe:valid" result="pass"/><test-case name="14239NISTXML-SV-IV-list-float-length-1-2 tokoe:valid" result="pass"/><test-case name="14240NISTXML-SV-IV-list-float-length-1-3 tokoe:valid" result="pass"/><test-case name="14241NISTXML-SV-IV-list-float-length-1-4 tokoe:valid" result="pass"/><test-case name="14242NISTXML-SV-IV-list-float-length-1-5 tokoe:valid" result="pass"/><test-case name="14243NISTSchema-SV-IV-list-float-length-2 tokoe:valid" result="pass"/><test-case name="14244NISTXML-SV-IV-list-float-length-2-1 tokoe:valid" result="pass"/><test-case name="14245NISTXML-SV-IV-list-float-length-2-2 tokoe:valid" result="pass"/><test-case name="14246NISTXML-SV-IV-list-float-length-2-3 tokoe:valid" result="pass"/><test-case name="14247NISTXML-SV-IV-list-float-length-2-4 tokoe:valid" result="pass"/><test-case name="14248NISTXML-SV-IV-list-float-length-2-5 tokoe:valid" result="pass"/><test-case name="14249NISTSchema-SV-IV-list-float-length-3 tokoe:valid" result="pass"/><test-case name="14250NISTXML-SV-IV-list-float-length-3-1 tokoe:valid" result="pass"/><test-case name="14251NISTXML-SV-IV-list-float-length-3-2 tokoe:valid" result="pass"/><test-case name="14252NISTXML-SV-IV-list-float-length-3-3 tokoe:valid" result="pass"/><test-case name="14253NISTXML-SV-IV-list-float-length-3-4 tokoe:valid" result="pass"/><test-case name="14254NISTXML-SV-IV-list-float-length-3-5 tokoe:valid" result="pass"/><test-case name="14255NISTSchema-SV-IV-list-float-length-4 tokoe:valid" result="pass"/><test-case name="14256NISTXML-SV-IV-list-float-length-4-1 tokoe:valid" result="pass"/><test-case name="14257NISTXML-SV-IV-list-float-length-4-2 tokoe:valid" result="pass"/><test-case name="14258NISTXML-SV-IV-list-float-length-4-3 tokoe:valid" result="pass"/><test-case name="14259NISTXML-SV-IV-list-float-length-4-4 tokoe:valid" result="pass"/><test-case name="14260NISTXML-SV-IV-list-float-length-4-5 tokoe:valid" result="pass"/><test-case name="14261NISTSchema-SV-IV-list-float-length-5 tokoe:valid" result="pass"/><test-case name="14262NISTXML-SV-IV-list-float-length-5-1 tokoe:valid" result="pass"/><test-case name="14263NISTXML-SV-IV-list-float-length-5-2 tokoe:valid" result="pass"/><test-case name="14264NISTXML-SV-IV-list-float-length-5-3 tokoe:valid" result="pass"/><test-case name="14265NISTXML-SV-IV-list-float-length-5-4 tokoe:valid" result="pass"/><test-case name="14266NISTXML-SV-IV-list-float-length-5-5 tokoe:valid" result="pass"/><test-case name="14267NISTSchema-SV-IV-list-float-pattern-1 tokoe:valid" result="pass"/><test-case name="14268NISTXML-SV-IV-list-float-pattern-1-1 tokoe:valid" result="pass"/><test-case name="14269NISTXML-SV-IV-list-float-pattern-1-2 tokoe:valid" result="pass"/><test-case name="14270NISTXML-SV-IV-list-float-pattern-1-3 tokoe:valid" result="pass"/><test-case name="14271NISTXML-SV-IV-list-float-pattern-1-4 tokoe:valid" result="pass"/><test-case name="14272NISTXML-SV-IV-list-float-pattern-1-5 tokoe:valid" result="pass"/><test-case name="14273NISTSchema-SV-IV-list-float-pattern-2 tokoe:valid" result="pass"/><test-case name="14274NISTXML-SV-IV-list-float-pattern-2-1 tokoe:valid" result="pass"/><test-case name="14275NISTXML-SV-IV-list-float-pattern-2-2 tokoe:valid" result="pass"/><test-case name="14276NISTXML-SV-IV-list-float-pattern-2-3 tokoe:valid" result="pass"/><test-case name="14277NISTXML-SV-IV-list-float-pattern-2-4 tokoe:valid" result="pass"/><test-case name="14278NISTXML-SV-IV-list-float-pattern-2-5 tokoe:valid" result="pass"/><test-case name="14279NISTSchema-SV-IV-list-float-pattern-3 tokoe:valid" result="pass"/><test-case name="14280NISTXML-SV-IV-list-float-pattern-3-1 tokoe:valid" result="pass"/><test-case name="14281NISTXML-SV-IV-list-float-pattern-3-2 tokoe:valid" result="pass"/><test-case name="14282NISTXML-SV-IV-list-float-pattern-3-3 tokoe:valid" result="pass"/><test-case name="14283NISTXML-SV-IV-list-float-pattern-3-4 tokoe:valid" result="pass"/><test-case name="14284NISTXML-SV-IV-list-float-pattern-3-5 tokoe:valid" result="pass"/><test-case name="14285NISTSchema-SV-IV-list-float-pattern-4 tokoe:valid" result="pass"/><test-case name="14286NISTXML-SV-IV-list-float-pattern-4-1 tokoe:valid" result="pass"/><test-case name="14287NISTXML-SV-IV-list-float-pattern-4-2 tokoe:valid" result="pass"/><test-case name="14288NISTXML-SV-IV-list-float-pattern-4-3 tokoe:valid" result="pass"/><test-case name="14289NISTXML-SV-IV-list-float-pattern-4-4 tokoe:valid" result="pass"/><test-case name="14290NISTXML-SV-IV-list-float-pattern-4-5 tokoe:valid" result="pass"/><test-case name="14291NISTSchema-SV-IV-list-float-pattern-5 tokoe:valid" result="pass"/><test-case name="14292NISTXML-SV-IV-list-float-pattern-5-1 tokoe:valid" result="pass"/><test-case name="14293NISTXML-SV-IV-list-float-pattern-5-2 tokoe:valid" result="pass"/><test-case name="14294NISTXML-SV-IV-list-float-pattern-5-3 tokoe:valid" result="pass"/><test-case name="14295NISTXML-SV-IV-list-float-pattern-5-4 tokoe:valid" result="pass"/><test-case name="14296NISTXML-SV-IV-list-float-pattern-5-5 tokoe:valid" result="pass"/><test-case name="14297NISTSchema-SV-IV-list-float-enumeration-1 tokoe:valid" result="pass"/><test-case name="14298NISTXML-SV-IV-list-float-enumeration-1-1 tokoe:valid" result="pass"/><test-case name="14299NISTXML-SV-IV-list-float-enumeration-1-2 tokoe:valid" result="pass"/><test-case name="14300NISTXML-SV-IV-list-float-enumeration-1-3 tokoe:valid" result="pass"/><test-case name="14301NISTXML-SV-IV-list-float-enumeration-1-4 tokoe:valid" result="pass"/><test-case name="14302NISTXML-SV-IV-list-float-enumeration-1-5 tokoe:valid" result="pass"/><test-case name="14303NISTSchema-SV-IV-list-float-enumeration-2 tokoe:valid" result="pass"/><test-case name="14304NISTXML-SV-IV-list-float-enumeration-2-1 tokoe:valid" result="pass"/><test-case name="14305NISTXML-SV-IV-list-float-enumeration-2-2 tokoe:valid" result="pass"/><test-case name="14306NISTXML-SV-IV-list-float-enumeration-2-3 tokoe:valid" result="pass"/><test-case name="14307NISTXML-SV-IV-list-float-enumeration-2-4 tokoe:valid" result="pass"/><test-case name="14308NISTXML-SV-IV-list-float-enumeration-2-5 tokoe:valid" result="pass"/><test-case name="14309NISTSchema-SV-IV-list-float-enumeration-3 tokoe:valid" result="pass"/><test-case name="14310NISTXML-SV-IV-list-float-enumeration-3-1 tokoe:valid" result="pass"/><test-case name="14311NISTXML-SV-IV-list-float-enumeration-3-2 tokoe:valid" result="pass"/><test-case name="14312NISTXML-SV-IV-list-float-enumeration-3-3 tokoe:valid" result="pass"/><test-case name="14313NISTXML-SV-IV-list-float-enumeration-3-4 tokoe:valid" result="pass"/><test-case name="14314NISTXML-SV-IV-list-float-enumeration-3-5 tokoe:valid" result="pass"/><test-case name="14315NISTSchema-SV-IV-list-float-enumeration-4 tokoe:valid" result="pass"/><test-case name="14316NISTXML-SV-IV-list-float-enumeration-4-1 tokoe:valid" result="pass"/><test-case name="14317NISTXML-SV-IV-list-float-enumeration-4-2 tokoe:valid" result="pass"/><test-case name="14318NISTXML-SV-IV-list-float-enumeration-4-3 tokoe:valid" result="pass"/><test-case name="14319NISTXML-SV-IV-list-float-enumeration-4-4 tokoe:valid" result="pass"/><test-case name="14320NISTXML-SV-IV-list-float-enumeration-4-5 tokoe:valid" result="pass"/><test-case name="14321NISTSchema-SV-IV-list-float-enumeration-5 tokoe:valid" result="pass"/><test-case name="14322NISTXML-SV-IV-list-float-enumeration-5-1 tokoe:valid" result="pass"/><test-case name="14323NISTXML-SV-IV-list-float-enumeration-5-2 tokoe:valid" result="pass"/><test-case name="14324NISTXML-SV-IV-list-float-enumeration-5-3 tokoe:valid" result="pass"/><test-case name="14325NISTXML-SV-IV-list-float-enumeration-5-4 tokoe:valid" result="pass"/><test-case name="14326NISTXML-SV-IV-list-float-enumeration-5-5 tokoe:valid" result="pass"/><test-case name="14327NISTSchema-SV-IV-list-float-whiteSpace-1 tokoe:valid" result="pass"/><test-case name="14328NISTXML-SV-IV-list-float-whiteSpace-1-1 tokoe:valid" result="pass"/><test-case name="14329NISTXML-SV-IV-list-float-whiteSpace-1-2 tokoe:valid" result="pass"/><test-case name="14330NISTXML-SV-IV-list-float-whiteSpace-1-3 tokoe:valid" result="pass"/><test-case name="14331NISTXML-SV-IV-list-float-whiteSpace-1-4 tokoe:valid" result="pass"/><test-case name="14332NISTXML-SV-IV-list-float-whiteSpace-1-5 tokoe:valid" result="pass"/><test-case name="14333NISTSchema-SV-IV-list-duration-maxLength-1 tokoe:valid" result="pass"/><test-case name="14334NISTXML-SV-IV-list-duration-maxLength-1-1 tokoe:valid" result="pass"/><test-case name="14335NISTXML-SV-IV-list-duration-maxLength-1-2 tokoe:valid" result="pass"/><test-case name="14336NISTXML-SV-IV-list-duration-maxLength-1-3 tokoe:valid" result="pass"/><test-case name="14337NISTXML-SV-IV-list-duration-maxLength-1-4 tokoe:valid" result="pass"/><test-case name="14338NISTXML-SV-IV-list-duration-maxLength-1-5 tokoe:valid" result="pass"/><test-case name="14339NISTSchema-SV-IV-list-duration-maxLength-2 tokoe:valid" result="pass"/><test-case name="14340NISTXML-SV-IV-list-duration-maxLength-2-1 tokoe:valid" result="pass"/><test-case name="14341NISTXML-SV-IV-list-duration-maxLength-2-2 tokoe:valid" result="pass"/><test-case name="14342NISTXML-SV-IV-list-duration-maxLength-2-3 tokoe:valid" result="pass"/><test-case name="14343NISTXML-SV-IV-list-duration-maxLength-2-4 tokoe:valid" result="pass"/><test-case name="14344NISTXML-SV-IV-list-duration-maxLength-2-5 tokoe:valid" result="pass"/><test-case name="14345NISTSchema-SV-IV-list-duration-maxLength-3 tokoe:valid" result="pass"/><test-case name="14346NISTXML-SV-IV-list-duration-maxLength-3-1 tokoe:valid" result="pass"/><test-case name="14347NISTXML-SV-IV-list-duration-maxLength-3-2 tokoe:valid" result="pass"/><test-case name="14348NISTXML-SV-IV-list-duration-maxLength-3-3 tokoe:valid" result="pass"/><test-case name="14349NISTXML-SV-IV-list-duration-maxLength-3-4 tokoe:valid" result="pass"/><test-case name="14350NISTXML-SV-IV-list-duration-maxLength-3-5 tokoe:valid" result="pass"/><test-case name="14351NISTSchema-SV-IV-list-duration-maxLength-4 tokoe:valid" result="pass"/><test-case name="14352NISTXML-SV-IV-list-duration-maxLength-4-1 tokoe:valid" result="pass"/><test-case name="14353NISTXML-SV-IV-list-duration-maxLength-4-2 tokoe:valid" result="pass"/><test-case name="14354NISTXML-SV-IV-list-duration-maxLength-4-3 tokoe:valid" result="pass"/><test-case name="14355NISTXML-SV-IV-list-duration-maxLength-4-4 tokoe:valid" result="pass"/><test-case name="14356NISTXML-SV-IV-list-duration-maxLength-4-5 tokoe:valid" result="pass"/><test-case name="14357NISTSchema-SV-IV-list-duration-maxLength-5 tokoe:valid" result="pass"/><test-case name="14358NISTXML-SV-IV-list-duration-maxLength-5-1 tokoe:valid" result="pass"/><test-case name="14359NISTXML-SV-IV-list-duration-maxLength-5-2 tokoe:valid" result="pass"/><test-case name="14360NISTXML-SV-IV-list-duration-maxLength-5-3 tokoe:valid" result="pass"/><test-case name="14361NISTXML-SV-IV-list-duration-maxLength-5-4 tokoe:valid" result="pass"/><test-case name="14362NISTXML-SV-IV-list-duration-maxLength-5-5 tokoe:valid" result="pass"/><test-case name="14363NISTSchema-SV-IV-list-duration-minLength-1 tokoe:valid" result="pass"/><test-case name="14364NISTXML-SV-IV-list-duration-minLength-1-1 tokoe:valid" result="pass"/><test-case name="14365NISTXML-SV-IV-list-duration-minLength-1-2 tokoe:valid" result="pass"/><test-case name="14366NISTXML-SV-IV-list-duration-minLength-1-3 tokoe:valid" result="pass"/><test-case name="14367NISTXML-SV-IV-list-duration-minLength-1-4 tokoe:valid" result="pass"/><test-case name="14368NISTXML-SV-IV-list-duration-minLength-1-5 tokoe:valid" result="pass"/><test-case name="14369NISTSchema-SV-IV-list-duration-minLength-2 tokoe:valid" result="pass"/><test-case name="14370NISTXML-SV-IV-list-duration-minLength-2-1 tokoe:valid" result="pass"/><test-case name="14371NISTXML-SV-IV-list-duration-minLength-2-2 tokoe:valid" result="pass"/><test-case name="14372NISTXML-SV-IV-list-duration-minLength-2-3 tokoe:valid" result="pass"/><test-case name="14373NISTXML-SV-IV-list-duration-minLength-2-4 tokoe:valid" result="pass"/><test-case name="14374NISTXML-SV-IV-list-duration-minLength-2-5 tokoe:valid" result="pass"/><test-case name="14375NISTSchema-SV-IV-list-duration-minLength-3 tokoe:valid" result="pass"/><test-case name="14376NISTXML-SV-IV-list-duration-minLength-3-1 tokoe:valid" result="pass"/><test-case name="14377NISTXML-SV-IV-list-duration-minLength-3-2 tokoe:valid" result="pass"/><test-case name="14378NISTXML-SV-IV-list-duration-minLength-3-3 tokoe:valid" result="pass"/><test-case name="14379NISTXML-SV-IV-list-duration-minLength-3-4 tokoe:valid" result="pass"/><test-case name="14380NISTXML-SV-IV-list-duration-minLength-3-5 tokoe:valid" result="pass"/><test-case name="14381NISTSchema-SV-IV-list-duration-minLength-4 tokoe:valid" result="pass"/><test-case name="14382NISTXML-SV-IV-list-duration-minLength-4-1 tokoe:valid" result="pass"/><test-case name="14383NISTXML-SV-IV-list-duration-minLength-4-2 tokoe:valid" result="pass"/><test-case name="14384NISTXML-SV-IV-list-duration-minLength-4-3 tokoe:valid" result="pass"/><test-case name="14385NISTXML-SV-IV-list-duration-minLength-4-4 tokoe:valid" result="pass"/><test-case name="14386NISTXML-SV-IV-list-duration-minLength-4-5 tokoe:valid" result="pass"/><test-case name="14387NISTSchema-SV-IV-list-duration-minLength-5 tokoe:valid" result="pass"/><test-case name="14388NISTXML-SV-IV-list-duration-minLength-5-1 tokoe:valid" result="pass"/><test-case name="14389NISTXML-SV-IV-list-duration-minLength-5-2 tokoe:valid" result="pass"/><test-case name="14390NISTXML-SV-IV-list-duration-minLength-5-3 tokoe:valid" result="pass"/><test-case name="14391NISTXML-SV-IV-list-duration-minLength-5-4 tokoe:valid" result="pass"/><test-case name="14392NISTXML-SV-IV-list-duration-minLength-5-5 tokoe:valid" result="pass"/><test-case name="14393NISTSchema-SV-IV-list-duration-length-1 tokoe:valid" result="pass"/><test-case name="14394NISTXML-SV-IV-list-duration-length-1-1 tokoe:valid" result="pass"/><test-case name="14395NISTXML-SV-IV-list-duration-length-1-2 tokoe:valid" result="pass"/><test-case name="14396NISTXML-SV-IV-list-duration-length-1-3 tokoe:valid" result="pass"/><test-case name="14397NISTXML-SV-IV-list-duration-length-1-4 tokoe:valid" result="pass"/><test-case name="14398NISTXML-SV-IV-list-duration-length-1-5 tokoe:valid" result="pass"/><test-case name="14399NISTSchema-SV-IV-list-duration-length-2 tokoe:valid" result="pass"/><test-case name="14400NISTXML-SV-IV-list-duration-length-2-1 tokoe:valid" result="pass"/><test-case name="14401NISTXML-SV-IV-list-duration-length-2-2 tokoe:valid" result="pass"/><test-case name="14402NISTXML-SV-IV-list-duration-length-2-3 tokoe:valid" result="pass"/><test-case name="14403NISTXML-SV-IV-list-duration-length-2-4 tokoe:valid" result="pass"/><test-case name="14404NISTXML-SV-IV-list-duration-length-2-5 tokoe:valid" result="pass"/><test-case name="14405NISTSchema-SV-IV-list-duration-length-3 tokoe:valid" result="pass"/><test-case name="14406NISTXML-SV-IV-list-duration-length-3-1 tokoe:valid" result="pass"/><test-case name="14407NISTXML-SV-IV-list-duration-length-3-2 tokoe:valid" result="pass"/><test-case name="14408NISTXML-SV-IV-list-duration-length-3-3 tokoe:valid" result="pass"/><test-case name="14409NISTXML-SV-IV-list-duration-length-3-4 tokoe:valid" result="pass"/><test-case name="14410NISTXML-SV-IV-list-duration-length-3-5 tokoe:valid" result="pass"/><test-case name="14411NISTSchema-SV-IV-list-duration-length-4 tokoe:valid" result="pass"/><test-case name="14412NISTXML-SV-IV-list-duration-length-4-1 tokoe:valid" result="pass"/><test-case name="14413NISTXML-SV-IV-list-duration-length-4-2 tokoe:valid" result="pass"/><test-case name="14414NISTXML-SV-IV-list-duration-length-4-3 tokoe:valid" result="pass"/><test-case name="14415NISTXML-SV-IV-list-duration-length-4-4 tokoe:valid" result="pass"/><test-case name="14416NISTXML-SV-IV-list-duration-length-4-5 tokoe:valid" result="pass"/><test-case name="14417NISTSchema-SV-IV-list-duration-length-5 tokoe:valid" result="pass"/><test-case name="14418NISTXML-SV-IV-list-duration-length-5-1 tokoe:valid" result="pass"/><test-case name="14419NISTXML-SV-IV-list-duration-length-5-2 tokoe:valid" result="pass"/><test-case name="14420NISTXML-SV-IV-list-duration-length-5-3 tokoe:valid" result="pass"/><test-case name="14421NISTXML-SV-IV-list-duration-length-5-4 tokoe:valid" result="pass"/><test-case name="14422NISTXML-SV-IV-list-duration-length-5-5 tokoe:valid" result="pass"/><test-case name="14423NISTSchema-SV-IV-list-duration-pattern-1 tokoe:valid" result="pass"/><test-case name="14424NISTXML-SV-IV-list-duration-pattern-1-1 tokoe:valid" result="pass"/><test-case name="14425NISTXML-SV-IV-list-duration-pattern-1-2 tokoe:valid" result="pass"/><test-case name="14426NISTXML-SV-IV-list-duration-pattern-1-3 tokoe:valid" result="pass"/><test-case name="14427NISTXML-SV-IV-list-duration-pattern-1-4 tokoe:valid" result="pass"/><test-case name="14428NISTXML-SV-IV-list-duration-pattern-1-5 tokoe:valid" result="pass"/><test-case name="14429NISTSchema-SV-IV-list-duration-pattern-2 tokoe:valid" result="pass"/><test-case name="14430NISTXML-SV-IV-list-duration-pattern-2-1 tokoe:valid" result="pass"/><test-case name="14431NISTXML-SV-IV-list-duration-pattern-2-2 tokoe:valid" result="pass"/><test-case name="14432NISTXML-SV-IV-list-duration-pattern-2-3 tokoe:valid" result="pass"/><test-case name="14433NISTXML-SV-IV-list-duration-pattern-2-4 tokoe:valid" result="pass"/><test-case name="14434NISTXML-SV-IV-list-duration-pattern-2-5 tokoe:valid" result="pass"/><test-case name="14435NISTSchema-SV-IV-list-duration-pattern-3 tokoe:valid" result="pass"/><test-case name="14436NISTXML-SV-IV-list-duration-pattern-3-1 tokoe:valid" result="pass"/><test-case name="14437NISTXML-SV-IV-list-duration-pattern-3-2 tokoe:valid" result="pass"/><test-case name="14438NISTXML-SV-IV-list-duration-pattern-3-3 tokoe:valid" result="pass"/><test-case name="14439NISTXML-SV-IV-list-duration-pattern-3-4 tokoe:valid" result="pass"/><test-case name="14440NISTXML-SV-IV-list-duration-pattern-3-5 tokoe:valid" result="pass"/><test-case name="14441NISTSchema-SV-IV-list-duration-pattern-4 tokoe:valid" result="pass"/><test-case name="14442NISTXML-SV-IV-list-duration-pattern-4-1 tokoe:valid" result="pass"/><test-case name="14443NISTXML-SV-IV-list-duration-pattern-4-2 tokoe:valid" result="pass"/><test-case name="14444NISTXML-SV-IV-list-duration-pattern-4-3 tokoe:valid" result="pass"/><test-case name="14445NISTXML-SV-IV-list-duration-pattern-4-4 tokoe:valid" result="pass"/><test-case name="14446NISTXML-SV-IV-list-duration-pattern-4-5 tokoe:valid" result="pass"/><test-case name="14447NISTSchema-SV-IV-list-duration-pattern-5 tokoe:valid" result="pass"/><test-case name="14448NISTXML-SV-IV-list-duration-pattern-5-1 tokoe:valid" result="pass"/><test-case name="14449NISTXML-SV-IV-list-duration-pattern-5-2 tokoe:valid" result="pass"/><test-case name="14450NISTXML-SV-IV-list-duration-pattern-5-3 tokoe:valid" result="pass"/><test-case name="14451NISTXML-SV-IV-list-duration-pattern-5-4 tokoe:valid" result="pass"/><test-case name="14452NISTXML-SV-IV-list-duration-pattern-5-5 tokoe:valid" result="pass"/><test-case name="14453NISTSchema-SV-IV-list-duration-enumeration-1 tokoe:valid" result="pass"/><test-case name="14454NISTXML-SV-IV-list-duration-enumeration-1-1 tokoe:valid" result="pass"/><test-case name="14455NISTXML-SV-IV-list-duration-enumeration-1-2 tokoe:valid" result="pass"/><test-case name="14456NISTXML-SV-IV-list-duration-enumeration-1-3 tokoe:valid" result="pass"/><test-case name="14457NISTXML-SV-IV-list-duration-enumeration-1-4 tokoe:valid" result="pass"/><test-case name="14458NISTXML-SV-IV-list-duration-enumeration-1-5 tokoe:valid" result="pass"/><test-case name="14459NISTSchema-SV-IV-list-duration-enumeration-2 tokoe:valid" result="pass"/><test-case name="14460NISTXML-SV-IV-list-duration-enumeration-2-1 tokoe:valid" result="pass"/><test-case name="14461NISTXML-SV-IV-list-duration-enumeration-2-2 tokoe:valid" result="pass"/><test-case name="14462NISTXML-SV-IV-list-duration-enumeration-2-3 tokoe:valid" result="pass"/><test-case name="14463NISTXML-SV-IV-list-duration-enumeration-2-4 tokoe:valid" result="pass"/><test-case name="14464NISTXML-SV-IV-list-duration-enumeration-2-5 tokoe:valid" result="pass"/><test-case name="14465NISTSchema-SV-IV-list-duration-enumeration-3 tokoe:valid" result="pass"/><test-case name="14466NISTXML-SV-IV-list-duration-enumeration-3-1 tokoe:valid" result="pass"/><test-case name="14467NISTXML-SV-IV-list-duration-enumeration-3-2 tokoe:valid" result="pass"/><test-case name="14468NISTXML-SV-IV-list-duration-enumeration-3-3 tokoe:valid" result="pass"/><test-case name="14469NISTXML-SV-IV-list-duration-enumeration-3-4 tokoe:valid" result="pass"/><test-case name="14470NISTXML-SV-IV-list-duration-enumeration-3-5 tokoe:valid" result="pass"/><test-case name="14471NISTSchema-SV-IV-list-duration-enumeration-4 tokoe:valid" result="pass"/><test-case name="14472NISTXML-SV-IV-list-duration-enumeration-4-1 tokoe:valid" result="pass"/><test-case name="14473NISTXML-SV-IV-list-duration-enumeration-4-2 tokoe:valid" result="pass"/><test-case name="14474NISTXML-SV-IV-list-duration-enumeration-4-3 tokoe:valid" result="pass"/><test-case name="14475NISTXML-SV-IV-list-duration-enumeration-4-4 tokoe:valid" result="pass"/><test-case name="14476NISTXML-SV-IV-list-duration-enumeration-4-5 tokoe:valid" result="pass"/><test-case name="14477NISTSchema-SV-IV-list-duration-enumeration-5 tokoe:valid" result="pass"/><test-case name="14478NISTXML-SV-IV-list-duration-enumeration-5-1 tokoe:valid" result="pass"/><test-case name="14479NISTXML-SV-IV-list-duration-enumeration-5-2 tokoe:valid" result="pass"/><test-case name="14480NISTXML-SV-IV-list-duration-enumeration-5-3 tokoe:valid" result="pass"/><test-case name="14481NISTXML-SV-IV-list-duration-enumeration-5-4 tokoe:valid" result="pass"/><test-case name="14482NISTXML-SV-IV-list-duration-enumeration-5-5 tokoe:valid" result="pass"/><test-case name="14483NISTSchema-SV-IV-list-duration-whiteSpace-1 tokoe:valid" result="pass"/><test-case name="14484NISTXML-SV-IV-list-duration-whiteSpace-1-1 tokoe:valid" result="pass"/><test-case name="14485NISTXML-SV-IV-list-duration-whiteSpace-1-2 tokoe:valid" result="pass"/><test-case name="14486NISTXML-SV-IV-list-duration-whiteSpace-1-3 tokoe:valid" result="pass"/><test-case name="14487NISTXML-SV-IV-list-duration-whiteSpace-1-4 tokoe:valid" result="pass"/><test-case name="14488NISTXML-SV-IV-list-duration-whiteSpace-1-5 tokoe:valid" result="pass"/><test-case name="14489NISTSchema-SV-IV-list-dateTime-maxLength-1 tokoe:valid" result="pass"/><test-case name="14490NISTXML-SV-IV-list-dateTime-maxLength-1-1 tokoe:valid" result="pass"/><test-case name="14491NISTXML-SV-IV-list-dateTime-maxLength-1-2 tokoe:valid" result="pass"/><test-case name="14492NISTXML-SV-IV-list-dateTime-maxLength-1-3 tokoe:valid" result="pass"/><test-case name="14493NISTXML-SV-IV-list-dateTime-maxLength-1-4 tokoe:valid" result="pass"/><test-case name="14494NISTXML-SV-IV-list-dateTime-maxLength-1-5 tokoe:valid" result="pass"/><test-case name="14495NISTSchema-SV-IV-list-dateTime-maxLength-2 tokoe:valid" result="pass"/><test-case name="14496NISTXML-SV-IV-list-dateTime-maxLength-2-1 tokoe:valid" result="pass"/><test-case name="14497NISTXML-SV-IV-list-dateTime-maxLength-2-2 tokoe:valid" result="pass"/><test-case name="14498NISTXML-SV-IV-list-dateTime-maxLength-2-3 tokoe:valid" result="pass"/><test-case name="14499NISTXML-SV-IV-list-dateTime-maxLength-2-4 tokoe:valid" result="pass"/><test-case name="14500NISTXML-SV-IV-list-dateTime-maxLength-2-5 tokoe:valid" result="pass"/><test-case name="14501NISTSchema-SV-IV-list-dateTime-maxLength-3 tokoe:valid" result="pass"/><test-case name="14502NISTXML-SV-IV-list-dateTime-maxLength-3-1 tokoe:valid" result="pass"/><test-case name="14503NISTXML-SV-IV-list-dateTime-maxLength-3-2 tokoe:valid" result="pass"/><test-case name="14504NISTXML-SV-IV-list-dateTime-maxLength-3-3 tokoe:valid" result="pass"/><test-case name="14505NISTXML-SV-IV-list-dateTime-maxLength-3-4 tokoe:valid" result="pass"/><test-case name="14506NISTXML-SV-IV-list-dateTime-maxLength-3-5 tokoe:valid" result="pass"/><test-case name="14507NISTSchema-SV-IV-list-dateTime-maxLength-4 tokoe:valid" result="pass"/><test-case name="14508NISTXML-SV-IV-list-dateTime-maxLength-4-1 tokoe:valid" result="pass"/><test-case name="14509NISTXML-SV-IV-list-dateTime-maxLength-4-2 tokoe:valid" result="pass"/><test-case name="14510NISTXML-SV-IV-list-dateTime-maxLength-4-3 tokoe:valid" result="pass"/><test-case name="14511NISTXML-SV-IV-list-dateTime-maxLength-4-4 tokoe:valid" result="pass"/><test-case name="14512NISTXML-SV-IV-list-dateTime-maxLength-4-5 tokoe:valid" result="pass"/><test-case name="14513NISTSchema-SV-IV-list-dateTime-maxLength-5 tokoe:valid" result="pass"/><test-case name="14514NISTXML-SV-IV-list-dateTime-maxLength-5-1 tokoe:valid" result="pass"/><test-case name="14515NISTXML-SV-IV-list-dateTime-maxLength-5-2 tokoe:valid" result="pass"/><test-case name="14516NISTXML-SV-IV-list-dateTime-maxLength-5-3 tokoe:valid" result="pass"/><test-case name="14517NISTXML-SV-IV-list-dateTime-maxLength-5-4 tokoe:valid" result="pass"/><test-case name="14518NISTXML-SV-IV-list-dateTime-maxLength-5-5 tokoe:valid" result="pass"/><test-case name="14519NISTSchema-SV-IV-list-dateTime-minLength-1 tokoe:valid" result="pass"/><test-case name="14520NISTXML-SV-IV-list-dateTime-minLength-1-1 tokoe:valid" result="pass"/><test-case name="14521NISTXML-SV-IV-list-dateTime-minLength-1-2 tokoe:valid" result="pass"/><test-case name="14522NISTXML-SV-IV-list-dateTime-minLength-1-3 tokoe:valid" result="pass"/><test-case name="14523NISTXML-SV-IV-list-dateTime-minLength-1-4 tokoe:valid" result="pass"/><test-case name="14524NISTXML-SV-IV-list-dateTime-minLength-1-5 tokoe:valid" result="pass"/><test-case name="14525NISTSchema-SV-IV-list-dateTime-minLength-2 tokoe:valid" result="pass"/><test-case name="14526NISTXML-SV-IV-list-dateTime-minLength-2-1 tokoe:valid" result="pass"/><test-case name="14527NISTXML-SV-IV-list-dateTime-minLength-2-2 tokoe:valid" result="pass"/><test-case name="14528NISTXML-SV-IV-list-dateTime-minLength-2-3 tokoe:valid" result="pass"/><test-case name="14529NISTXML-SV-IV-list-dateTime-minLength-2-4 tokoe:valid" result="pass"/><test-case name="14530NISTXML-SV-IV-list-dateTime-minLength-2-5 tokoe:valid" result="pass"/><test-case name="14531NISTSchema-SV-IV-list-dateTime-minLength-3 tokoe:valid" result="pass"/><test-case name="14532NISTXML-SV-IV-list-dateTime-minLength-3-1 tokoe:valid" result="pass"/><test-case name="14533NISTXML-SV-IV-list-dateTime-minLength-3-2 tokoe:valid" result="pass"/><test-case name="14534NISTXML-SV-IV-list-dateTime-minLength-3-3 tokoe:valid" result="pass"/><test-case name="14535NISTXML-SV-IV-list-dateTime-minLength-3-4 tokoe:valid" result="pass"/><test-case name="14536NISTXML-SV-IV-list-dateTime-minLength-3-5 tokoe:valid" result="pass"/><test-case name="14537NISTSchema-SV-IV-list-dateTime-minLength-4 tokoe:valid" result="pass"/><test-case name="14538NISTXML-SV-IV-list-dateTime-minLength-4-1 tokoe:valid" result="pass"/><test-case name="14539NISTXML-SV-IV-list-dateTime-minLength-4-2 tokoe:valid" result="pass"/><test-case name="14540NISTXML-SV-IV-list-dateTime-minLength-4-3 tokoe:valid" result="pass"/><test-case name="14541NISTXML-SV-IV-list-dateTime-minLength-4-4 tokoe:valid" result="pass"/><test-case name="14542NISTXML-SV-IV-list-dateTime-minLength-4-5 tokoe:valid" result="pass"/><test-case name="14543NISTSchema-SV-IV-list-dateTime-minLength-5 tokoe:valid" result="pass"/><test-case name="14544NISTXML-SV-IV-list-dateTime-minLength-5-1 tokoe:valid" result="pass"/><test-case name="14545NISTXML-SV-IV-list-dateTime-minLength-5-2 tokoe:valid" result="pass"/><test-case name="14546NISTXML-SV-IV-list-dateTime-minLength-5-3 tokoe:valid" result="pass"/><test-case name="14547NISTXML-SV-IV-list-dateTime-minLength-5-4 tokoe:valid" result="pass"/><test-case name="14548NISTXML-SV-IV-list-dateTime-minLength-5-5 tokoe:valid" result="pass"/><test-case name="14549NISTSchema-SV-IV-list-dateTime-length-1 tokoe:valid" result="pass"/><test-case name="14550NISTXML-SV-IV-list-dateTime-length-1-1 tokoe:valid" result="pass"/><test-case name="14551NISTXML-SV-IV-list-dateTime-length-1-2 tokoe:valid" result="pass"/><test-case name="14552NISTXML-SV-IV-list-dateTime-length-1-3 tokoe:valid" result="pass"/><test-case name="14553NISTXML-SV-IV-list-dateTime-length-1-4 tokoe:valid" result="pass"/><test-case name="14554NISTXML-SV-IV-list-dateTime-length-1-5 tokoe:valid" result="pass"/><test-case name="14555NISTSchema-SV-IV-list-dateTime-length-2 tokoe:valid" result="pass"/><test-case name="14556NISTXML-SV-IV-list-dateTime-length-2-1 tokoe:valid" result="pass"/><test-case name="14557NISTXML-SV-IV-list-dateTime-length-2-2 tokoe:valid" result="pass"/><test-case name="14558NISTXML-SV-IV-list-dateTime-length-2-3 tokoe:valid" result="pass"/><test-case name="14559NISTXML-SV-IV-list-dateTime-length-2-4 tokoe:valid" result="pass"/><test-case name="14560NISTXML-SV-IV-list-dateTime-length-2-5 tokoe:valid" result="pass"/><test-case name="14561NISTSchema-SV-IV-list-dateTime-length-3 tokoe:valid" result="pass"/><test-case name="14562NISTXML-SV-IV-list-dateTime-length-3-1 tokoe:valid" result="pass"/><test-case name="14563NISTXML-SV-IV-list-dateTime-length-3-2 tokoe:valid" result="pass"/><test-case name="14564NISTXML-SV-IV-list-dateTime-length-3-3 tokoe:valid" result="pass"/><test-case name="14565NISTXML-SV-IV-list-dateTime-length-3-4 tokoe:valid" result="pass"/><test-case name="14566NISTXML-SV-IV-list-dateTime-length-3-5 tokoe:valid" result="pass"/><test-case name="14567NISTSchema-SV-IV-list-dateTime-length-4 tokoe:valid" result="pass"/><test-case name="14568NISTXML-SV-IV-list-dateTime-length-4-1 tokoe:valid" result="pass"/><test-case name="14569NISTXML-SV-IV-list-dateTime-length-4-2 tokoe:valid" result="pass"/><test-case name="14570NISTXML-SV-IV-list-dateTime-length-4-3 tokoe:valid" result="pass"/><test-case name="14571NISTXML-SV-IV-list-dateTime-length-4-4 tokoe:valid" result="pass"/><test-case name="14572NISTXML-SV-IV-list-dateTime-length-4-5 tokoe:valid" result="pass"/><test-case name="14573NISTSchema-SV-IV-list-dateTime-length-5 tokoe:valid" result="pass"/><test-case name="14574NISTXML-SV-IV-list-dateTime-length-5-1 tokoe:valid" result="pass"/><test-case name="14575NISTXML-SV-IV-list-dateTime-length-5-2 tokoe:valid" result="pass"/><test-case name="14576NISTXML-SV-IV-list-dateTime-length-5-3 tokoe:valid" result="pass"/><test-case name="14577NISTXML-SV-IV-list-dateTime-length-5-4 tokoe:valid" result="pass"/><test-case name="14578NISTXML-SV-IV-list-dateTime-length-5-5 tokoe:valid" result="pass"/><test-case name="14579NISTSchema-SV-IV-list-dateTime-pattern-1 tokoe:valid" result="pass"/><test-case name="14580NISTXML-SV-IV-list-dateTime-pattern-1-1 tokoe:valid" result="pass"/><test-case name="14581NISTXML-SV-IV-list-dateTime-pattern-1-2 tokoe:valid" result="pass"/><test-case name="14582NISTXML-SV-IV-list-dateTime-pattern-1-3 tokoe:valid" result="pass"/><test-case name="14583NISTXML-SV-IV-list-dateTime-pattern-1-4 tokoe:valid" result="pass"/><test-case name="14584NISTXML-SV-IV-list-dateTime-pattern-1-5 tokoe:valid" result="pass"/><test-case name="14585NISTSchema-SV-IV-list-dateTime-pattern-2 tokoe:valid" result="pass"/><test-case name="14586NISTXML-SV-IV-list-dateTime-pattern-2-1 tokoe:valid" result="pass"/><test-case name="14587NISTXML-SV-IV-list-dateTime-pattern-2-2 tokoe:valid" result="pass"/><test-case name="14588NISTXML-SV-IV-list-dateTime-pattern-2-3 tokoe:valid" result="pass"/><test-case name="14589NISTXML-SV-IV-list-dateTime-pattern-2-4 tokoe:valid" result="pass"/><test-case name="14590NISTXML-SV-IV-list-dateTime-pattern-2-5 tokoe:valid" result="pass"/><test-case name="14591NISTSchema-SV-IV-list-dateTime-pattern-3 tokoe:valid" result="pass"/><test-case name="14592NISTXML-SV-IV-list-dateTime-pattern-3-1 tokoe:valid" result="pass"/><test-case name="14593NISTXML-SV-IV-list-dateTime-pattern-3-2 tokoe:valid" result="pass"/><test-case name="14594NISTXML-SV-IV-list-dateTime-pattern-3-3 tokoe:valid" result="pass"/><test-case name="14595NISTXML-SV-IV-list-dateTime-pattern-3-4 tokoe:valid" result="pass"/><test-case name="14596NISTXML-SV-IV-list-dateTime-pattern-3-5 tokoe:valid" result="pass"/><test-case name="14597NISTSchema-SV-IV-list-dateTime-pattern-4 tokoe:valid" result="pass"/><test-case name="14598NISTXML-SV-IV-list-dateTime-pattern-4-1 tokoe:valid" result="pass"/><test-case name="14599NISTXML-SV-IV-list-dateTime-pattern-4-2 tokoe:valid" result="pass"/><test-case name="14600NISTXML-SV-IV-list-dateTime-pattern-4-3 tokoe:valid" result="pass"/><test-case name="14601NISTXML-SV-IV-list-dateTime-pattern-4-4 tokoe:valid" result="pass"/><test-case name="14602NISTXML-SV-IV-list-dateTime-pattern-4-5 tokoe:valid" result="pass"/><test-case name="14603NISTSchema-SV-IV-list-dateTime-pattern-5 tokoe:valid" result="pass"/><test-case name="14604NISTXML-SV-IV-list-dateTime-pattern-5-1 tokoe:valid" result="pass"/><test-case name="14605NISTXML-SV-IV-list-dateTime-pattern-5-2 tokoe:valid" result="pass"/><test-case name="14606NISTXML-SV-IV-list-dateTime-pattern-5-3 tokoe:valid" result="pass"/><test-case name="14607NISTXML-SV-IV-list-dateTime-pattern-5-4 tokoe:valid" result="pass"/><test-case name="14608NISTXML-SV-IV-list-dateTime-pattern-5-5 tokoe:valid" result="pass"/><test-case name="14609NISTSchema-SV-IV-list-dateTime-enumeration-1 tokoe:valid" result="pass"/><test-case name="14610NISTXML-SV-IV-list-dateTime-enumeration-1-1 tokoe:valid" result="pass"/><test-case name="14611NISTXML-SV-IV-list-dateTime-enumeration-1-2 tokoe:valid" result="pass"/><test-case name="14612NISTXML-SV-IV-list-dateTime-enumeration-1-3 tokoe:valid" result="pass"/><test-case name="14613NISTXML-SV-IV-list-dateTime-enumeration-1-4 tokoe:valid" result="pass"/><test-case name="14614NISTXML-SV-IV-list-dateTime-enumeration-1-5 tokoe:valid" result="pass"/><test-case name="14615NISTSchema-SV-IV-list-dateTime-enumeration-2 tokoe:valid" result="pass"/><test-case name="14616NISTXML-SV-IV-list-dateTime-enumeration-2-1 tokoe:valid" result="pass"/><test-case name="14617NISTXML-SV-IV-list-dateTime-enumeration-2-2 tokoe:valid" result="pass"/><test-case name="14618NISTXML-SV-IV-list-dateTime-enumeration-2-3 tokoe:valid" result="pass"/><test-case name="14619NISTXML-SV-IV-list-dateTime-enumeration-2-4 tokoe:valid" result="pass"/><test-case name="14620NISTXML-SV-IV-list-dateTime-enumeration-2-5 tokoe:valid" result="pass"/><test-case name="14621NISTSchema-SV-IV-list-dateTime-enumeration-3 tokoe:valid" result="pass"/><test-case name="14622NISTXML-SV-IV-list-dateTime-enumeration-3-1 tokoe:valid" result="pass"/><test-case name="14623NISTXML-SV-IV-list-dateTime-enumeration-3-2 tokoe:valid" result="pass"/><test-case name="14624NISTXML-SV-IV-list-dateTime-enumeration-3-3 tokoe:valid" result="pass"/><test-case name="14625NISTXML-SV-IV-list-dateTime-enumeration-3-4 tokoe:valid" result="pass"/><test-case name="14626NISTXML-SV-IV-list-dateTime-enumeration-3-5 tokoe:valid" result="pass"/><test-case name="14627NISTSchema-SV-IV-list-dateTime-enumeration-4 tokoe:valid" result="pass"/><test-case name="14628NISTXML-SV-IV-list-dateTime-enumeration-4-1 tokoe:valid" result="pass"/><test-case name="14629NISTXML-SV-IV-list-dateTime-enumeration-4-2 tokoe:valid" result="pass"/><test-case name="14630NISTXML-SV-IV-list-dateTime-enumeration-4-3 tokoe:valid" result="pass"/><test-case name="14631NISTXML-SV-IV-list-dateTime-enumeration-4-4 tokoe:valid" result="pass"/><test-case name="14632NISTXML-SV-IV-list-dateTime-enumeration-4-5 tokoe:valid" result="pass"/><test-case name="14633NISTSchema-SV-IV-list-dateTime-enumeration-5 tokoe:valid" result="pass"/><test-case name="14634NISTXML-SV-IV-list-dateTime-enumeration-5-1 tokoe:valid" result="pass"/><test-case name="14635NISTXML-SV-IV-list-dateTime-enumeration-5-2 tokoe:valid" result="pass"/><test-case name="14636NISTXML-SV-IV-list-dateTime-enumeration-5-3 tokoe:valid" result="pass"/><test-case name="14637NISTXML-SV-IV-list-dateTime-enumeration-5-4 tokoe:valid" result="pass"/><test-case name="14638NISTXML-SV-IV-list-dateTime-enumeration-5-5 tokoe:valid" result="pass"/><test-case name="14639NISTSchema-SV-IV-list-dateTime-whiteSpace-1 tokoe:valid" result="pass"/><test-case name="14640NISTXML-SV-IV-list-dateTime-whiteSpace-1-1 tokoe:valid" result="pass"/><test-case name="14641NISTXML-SV-IV-list-dateTime-whiteSpace-1-2 tokoe:valid" result="pass"/><test-case name="14642NISTXML-SV-IV-list-dateTime-whiteSpace-1-3 tokoe:valid" result="pass"/><test-case name="14643NISTXML-SV-IV-list-dateTime-whiteSpace-1-4 tokoe:valid" result="pass"/><test-case name="14644NISTXML-SV-IV-list-dateTime-whiteSpace-1-5 tokoe:valid" result="pass"/><test-case name="14645NISTSchema-SV-IV-list-time-maxLength-1 tokoe:valid" result="pass"/><test-case name="14646NISTXML-SV-IV-list-time-maxLength-1-1 tokoe:valid" result="pass"/><test-case name="14647NISTXML-SV-IV-list-time-maxLength-1-2 tokoe:valid" result="pass"/><test-case name="14648NISTXML-SV-IV-list-time-maxLength-1-3 tokoe:valid" result="pass"/><test-case name="14649NISTXML-SV-IV-list-time-maxLength-1-4 tokoe:valid" result="pass"/><test-case name="14650NISTXML-SV-IV-list-time-maxLength-1-5 tokoe:valid" result="pass"/><test-case name="14651NISTSchema-SV-IV-list-time-maxLength-2 tokoe:valid" result="pass"/><test-case name="14652NISTXML-SV-IV-list-time-maxLength-2-1 tokoe:valid" result="pass"/><test-case name="14653NISTXML-SV-IV-list-time-maxLength-2-2 tokoe:valid" result="pass"/><test-case name="14654NISTXML-SV-IV-list-time-maxLength-2-3 tokoe:valid" result="pass"/><test-case name="14655NISTXML-SV-IV-list-time-maxLength-2-4 tokoe:valid" result="pass"/><test-case name="14656NISTXML-SV-IV-list-time-maxLength-2-5 tokoe:valid" result="pass"/><test-case name="14657NISTSchema-SV-IV-list-time-maxLength-3 tokoe:valid" result="pass"/><test-case name="14658NISTXML-SV-IV-list-time-maxLength-3-1 tokoe:valid" result="pass"/><test-case name="14659NISTXML-SV-IV-list-time-maxLength-3-2 tokoe:valid" result="pass"/><test-case name="14660NISTXML-SV-IV-list-time-maxLength-3-3 tokoe:valid" result="pass"/><test-case name="14661NISTXML-SV-IV-list-time-maxLength-3-4 tokoe:valid" result="pass"/><test-case name="14662NISTXML-SV-IV-list-time-maxLength-3-5 tokoe:valid" result="pass"/><test-case name="14663NISTSchema-SV-IV-list-time-maxLength-4 tokoe:valid" result="pass"/><test-case name="14664NISTXML-SV-IV-list-time-maxLength-4-1 tokoe:valid" result="pass"/><test-case name="14665NISTXML-SV-IV-list-time-maxLength-4-2 tokoe:valid" result="pass"/><test-case name="14666NISTXML-SV-IV-list-time-maxLength-4-3 tokoe:valid" result="pass"/><test-case name="14667NISTXML-SV-IV-list-time-maxLength-4-4 tokoe:valid" result="pass"/><test-case name="14668NISTXML-SV-IV-list-time-maxLength-4-5 tokoe:valid" result="pass"/><test-case name="14669NISTSchema-SV-IV-list-time-maxLength-5 tokoe:valid" result="pass"/><test-case name="14670NISTXML-SV-IV-list-time-maxLength-5-1 tokoe:valid" result="pass"/><test-case name="14671NISTXML-SV-IV-list-time-maxLength-5-2 tokoe:valid" result="pass"/><test-case name="14672NISTXML-SV-IV-list-time-maxLength-5-3 tokoe:valid" result="pass"/><test-case name="14673NISTXML-SV-IV-list-time-maxLength-5-4 tokoe:valid" result="pass"/><test-case name="14674NISTXML-SV-IV-list-time-maxLength-5-5 tokoe:valid" result="pass"/><test-case name="14675NISTSchema-SV-IV-list-time-minLength-1 tokoe:valid" result="pass"/><test-case name="14676NISTXML-SV-IV-list-time-minLength-1-1 tokoe:valid" result="pass"/><test-case name="14677NISTXML-SV-IV-list-time-minLength-1-2 tokoe:valid" result="pass"/><test-case name="14678NISTXML-SV-IV-list-time-minLength-1-3 tokoe:valid" result="pass"/><test-case name="14679NISTXML-SV-IV-list-time-minLength-1-4 tokoe:valid" result="pass"/><test-case name="14680NISTXML-SV-IV-list-time-minLength-1-5 tokoe:valid" result="pass"/><test-case name="14681NISTSchema-SV-IV-list-time-minLength-2 tokoe:valid" result="pass"/><test-case name="14682NISTXML-SV-IV-list-time-minLength-2-1 tokoe:valid" result="pass"/><test-case name="14683NISTXML-SV-IV-list-time-minLength-2-2 tokoe:valid" result="pass"/><test-case name="14684NISTXML-SV-IV-list-time-minLength-2-3 tokoe:valid" result="pass"/><test-case name="14685NISTXML-SV-IV-list-time-minLength-2-4 tokoe:valid" result="pass"/><test-case name="14686NISTXML-SV-IV-list-time-minLength-2-5 tokoe:valid" result="pass"/><test-case name="14687NISTSchema-SV-IV-list-time-minLength-3 tokoe:valid" result="pass"/><test-case name="14688NISTXML-SV-IV-list-time-minLength-3-1 tokoe:valid" result="pass"/><test-case name="14689NISTXML-SV-IV-list-time-minLength-3-2 tokoe:valid" result="pass"/><test-case name="14690NISTXML-SV-IV-list-time-minLength-3-3 tokoe:valid" result="pass"/><test-case name="14691NISTXML-SV-IV-list-time-minLength-3-4 tokoe:valid" result="pass"/><test-case name="14692NISTXML-SV-IV-list-time-minLength-3-5 tokoe:valid" result="pass"/><test-case name="14693NISTSchema-SV-IV-list-time-minLength-4 tokoe:valid" result="pass"/><test-case name="14694NISTXML-SV-IV-list-time-minLength-4-1 tokoe:valid" result="pass"/><test-case name="14695NISTXML-SV-IV-list-time-minLength-4-2 tokoe:valid" result="pass"/><test-case name="14696NISTXML-SV-IV-list-time-minLength-4-3 tokoe:valid" result="pass"/><test-case name="14697NISTXML-SV-IV-list-time-minLength-4-4 tokoe:valid" result="pass"/><test-case name="14698NISTXML-SV-IV-list-time-minLength-4-5 tokoe:valid" result="pass"/><test-case name="14699NISTSchema-SV-IV-list-time-minLength-5 tokoe:valid" result="pass"/><test-case name="14700NISTXML-SV-IV-list-time-minLength-5-1 tokoe:valid" result="pass"/><test-case name="14701NISTXML-SV-IV-list-time-minLength-5-2 tokoe:valid" result="pass"/><test-case name="14702NISTXML-SV-IV-list-time-minLength-5-3 tokoe:valid" result="pass"/><test-case name="14703NISTXML-SV-IV-list-time-minLength-5-4 tokoe:valid" result="pass"/><test-case name="14704NISTXML-SV-IV-list-time-minLength-5-5 tokoe:valid" result="pass"/><test-case name="14705NISTSchema-SV-IV-list-time-length-1 tokoe:valid" result="pass"/><test-case name="14706NISTXML-SV-IV-list-time-length-1-1 tokoe:valid" result="pass"/><test-case name="14707NISTXML-SV-IV-list-time-length-1-2 tokoe:valid" result="pass"/><test-case name="14708NISTXML-SV-IV-list-time-length-1-3 tokoe:valid" result="pass"/><test-case name="14709NISTXML-SV-IV-list-time-length-1-4 tokoe:valid" result="pass"/><test-case name="14710NISTXML-SV-IV-list-time-length-1-5 tokoe:valid" result="pass"/><test-case name="14711NISTSchema-SV-IV-list-time-length-2 tokoe:valid" result="pass"/><test-case name="14712NISTXML-SV-IV-list-time-length-2-1 tokoe:valid" result="pass"/><test-case name="14713NISTXML-SV-IV-list-time-length-2-2 tokoe:valid" result="pass"/><test-case name="14714NISTXML-SV-IV-list-time-length-2-3 tokoe:valid" result="pass"/><test-case name="14715NISTXML-SV-IV-list-time-length-2-4 tokoe:valid" result="pass"/><test-case name="14716NISTXML-SV-IV-list-time-length-2-5 tokoe:valid" result="pass"/><test-case name="14717NISTSchema-SV-IV-list-time-length-3 tokoe:valid" result="pass"/><test-case name="14718NISTXML-SV-IV-list-time-length-3-1 tokoe:valid" result="pass"/><test-case name="14719NISTXML-SV-IV-list-time-length-3-2 tokoe:valid" result="pass"/><test-case name="14720NISTXML-SV-IV-list-time-length-3-3 tokoe:valid" result="pass"/><test-case name="14721NISTXML-SV-IV-list-time-length-3-4 tokoe:valid" result="pass"/><test-case name="14722NISTXML-SV-IV-list-time-length-3-5 tokoe:valid" result="pass"/><test-case name="14723NISTSchema-SV-IV-list-time-length-4 tokoe:valid" result="pass"/><test-case name="14724NISTXML-SV-IV-list-time-length-4-1 tokoe:valid" result="pass"/><test-case name="14725NISTXML-SV-IV-list-time-length-4-2 tokoe:valid" result="pass"/><test-case name="14726NISTXML-SV-IV-list-time-length-4-3 tokoe:valid" result="pass"/><test-case name="14727NISTXML-SV-IV-list-time-length-4-4 tokoe:valid" result="pass"/><test-case name="14728NISTXML-SV-IV-list-time-length-4-5 tokoe:valid" result="pass"/><test-case name="14729NISTSchema-SV-IV-list-time-length-5 tokoe:valid" result="pass"/><test-case name="14730NISTXML-SV-IV-list-time-length-5-1 tokoe:valid" result="pass"/><test-case name="14731NISTXML-SV-IV-list-time-length-5-2 tokoe:valid" result="pass"/><test-case name="14732NISTXML-SV-IV-list-time-length-5-3 tokoe:valid" result="pass"/><test-case name="14733NISTXML-SV-IV-list-time-length-5-4 tokoe:valid" result="pass"/><test-case name="14734NISTXML-SV-IV-list-time-length-5-5 tokoe:valid" result="pass"/><test-case name="14735NISTSchema-SV-IV-list-time-pattern-1 tokoe:valid" result="pass"/><test-case name="14736NISTXML-SV-IV-list-time-pattern-1-1 tokoe:valid" result="pass"/><test-case name="14737NISTXML-SV-IV-list-time-pattern-1-2 tokoe:valid" result="pass"/><test-case name="14738NISTXML-SV-IV-list-time-pattern-1-3 tokoe:valid" result="pass"/><test-case name="14739NISTXML-SV-IV-list-time-pattern-1-4 tokoe:valid" result="pass"/><test-case name="14740NISTXML-SV-IV-list-time-pattern-1-5 tokoe:valid" result="pass"/><test-case name="14741NISTSchema-SV-IV-list-time-pattern-2 tokoe:valid" result="pass"/><test-case name="14742NISTXML-SV-IV-list-time-pattern-2-1 tokoe:valid" result="pass"/><test-case name="14743NISTXML-SV-IV-list-time-pattern-2-2 tokoe:valid" result="pass"/><test-case name="14744NISTXML-SV-IV-list-time-pattern-2-3 tokoe:valid" result="pass"/><test-case name="14745NISTXML-SV-IV-list-time-pattern-2-4 tokoe:valid" result="pass"/><test-case name="14746NISTXML-SV-IV-list-time-pattern-2-5 tokoe:valid" result="pass"/><test-case name="14747NISTSchema-SV-IV-list-time-pattern-3 tokoe:valid" result="pass"/><test-case name="14748NISTXML-SV-IV-list-time-pattern-3-1 tokoe:valid" result="pass"/><test-case name="14749NISTXML-SV-IV-list-time-pattern-3-2 tokoe:valid" result="pass"/><test-case name="14750NISTXML-SV-IV-list-time-pattern-3-3 tokoe:valid" result="pass"/><test-case name="14751NISTXML-SV-IV-list-time-pattern-3-4 tokoe:valid" result="pass"/><test-case name="14752NISTXML-SV-IV-list-time-pattern-3-5 tokoe:valid" result="pass"/><test-case name="14753NISTSchema-SV-IV-list-time-pattern-4 tokoe:valid" result="pass"/><test-case name="14754NISTXML-SV-IV-list-time-pattern-4-1 tokoe:valid" result="pass"/><test-case name="14755NISTXML-SV-IV-list-time-pattern-4-2 tokoe:valid" result="pass"/><test-case name="14756NISTXML-SV-IV-list-time-pattern-4-3 tokoe:valid" result="pass"/><test-case name="14757NISTXML-SV-IV-list-time-pattern-4-4 tokoe:valid" result="pass"/><test-case name="14758NISTXML-SV-IV-list-time-pattern-4-5 tokoe:valid" result="pass"/><test-case name="14759NISTSchema-SV-IV-list-time-pattern-5 tokoe:valid" result="pass"/><test-case name="14760NISTXML-SV-IV-list-time-pattern-5-1 tokoe:valid" result="pass"/><test-case name="14761NISTXML-SV-IV-list-time-pattern-5-2 tokoe:valid" result="pass"/><test-case name="14762NISTXML-SV-IV-list-time-pattern-5-3 tokoe:valid" result="pass"/><test-case name="14763NISTXML-SV-IV-list-time-pattern-5-4 tokoe:valid" result="pass"/><test-case name="14764NISTXML-SV-IV-list-time-pattern-5-5 tokoe:valid" result="pass"/><test-case name="14765NISTSchema-SV-IV-list-time-enumeration-1 tokoe:valid" result="pass"/><test-case name="14766NISTXML-SV-IV-list-time-enumeration-1-1 tokoe:valid" result="pass"/><test-case name="14767NISTXML-SV-IV-list-time-enumeration-1-2 tokoe:valid" result="pass"/><test-case name="14768NISTXML-SV-IV-list-time-enumeration-1-3 tokoe:valid" result="pass"/><test-case name="14769NISTXML-SV-IV-list-time-enumeration-1-4 tokoe:valid" result="pass"/><test-case name="14770NISTXML-SV-IV-list-time-enumeration-1-5 tokoe:valid" result="pass"/><test-case name="14771NISTSchema-SV-IV-list-time-enumeration-2 tokoe:valid" result="pass"/><test-case name="14772NISTXML-SV-IV-list-time-enumeration-2-1 tokoe:valid" result="pass"/><test-case name="14773NISTXML-SV-IV-list-time-enumeration-2-2 tokoe:valid" result="pass"/><test-case name="14774NISTXML-SV-IV-list-time-enumeration-2-3 tokoe:valid" result="pass"/><test-case name="14775NISTXML-SV-IV-list-time-enumeration-2-4 tokoe:valid" result="pass"/><test-case name="14776NISTXML-SV-IV-list-time-enumeration-2-5 tokoe:valid" result="pass"/><test-case name="14777NISTSchema-SV-IV-list-time-enumeration-3 tokoe:valid" result="pass"/><test-case name="14778NISTXML-SV-IV-list-time-enumeration-3-1 tokoe:valid" result="pass"/><test-case name="14779NISTXML-SV-IV-list-time-enumeration-3-2 tokoe:valid" result="pass"/><test-case name="14780NISTXML-SV-IV-list-time-enumeration-3-3 tokoe:valid" result="pass"/><test-case name="14781NISTXML-SV-IV-list-time-enumeration-3-4 tokoe:valid" result="pass"/><test-case name="14782NISTXML-SV-IV-list-time-enumeration-3-5 tokoe:valid" result="pass"/><test-case name="14783NISTSchema-SV-IV-list-time-enumeration-4 tokoe:valid" result="pass"/><test-case name="14784NISTXML-SV-IV-list-time-enumeration-4-1 tokoe:valid" result="pass"/><test-case name="14785NISTXML-SV-IV-list-time-enumeration-4-2 tokoe:valid" result="pass"/><test-case name="14786NISTXML-SV-IV-list-time-enumeration-4-3 tokoe:valid" result="pass"/><test-case name="14787NISTXML-SV-IV-list-time-enumeration-4-4 tokoe:valid" result="pass"/><test-case name="14788NISTXML-SV-IV-list-time-enumeration-4-5 tokoe:valid" result="pass"/><test-case name="14789NISTSchema-SV-IV-list-time-enumeration-5 tokoe:valid" result="pass"/><test-case name="14790NISTXML-SV-IV-list-time-enumeration-5-1 tokoe:valid" result="pass"/><test-case name="14791NISTXML-SV-IV-list-time-enumeration-5-2 tokoe:valid" result="pass"/><test-case name="14792NISTXML-SV-IV-list-time-enumeration-5-3 tokoe:valid" result="pass"/><test-case name="14793NISTXML-SV-IV-list-time-enumeration-5-4 tokoe:valid" result="pass"/><test-case name="14794NISTXML-SV-IV-list-time-enumeration-5-5 tokoe:valid" result="pass"/><test-case name="14795NISTSchema-SV-IV-list-time-whiteSpace-1 tokoe:valid" result="pass"/><test-case name="14796NISTXML-SV-IV-list-time-whiteSpace-1-1 tokoe:valid" result="pass"/><test-case name="14797NISTXML-SV-IV-list-time-whiteSpace-1-2 tokoe:valid" result="pass"/><test-case name="14798NISTXML-SV-IV-list-time-whiteSpace-1-3 tokoe:valid" result="pass"/><test-case name="14799NISTXML-SV-IV-list-time-whiteSpace-1-4 tokoe:valid" result="pass"/><test-case name="14800NISTXML-SV-IV-list-time-whiteSpace-1-5 tokoe:valid" result="pass"/><test-case name="14801NISTSchema-SV-IV-list-date-maxLength-1 tokoe:valid" result="pass"/><test-case name="14802NISTXML-SV-IV-list-date-maxLength-1-1 tokoe:valid" result="pass"/><test-case name="14803NISTXML-SV-IV-list-date-maxLength-1-2 tokoe:valid" result="pass"/><test-case name="14804NISTXML-SV-IV-list-date-maxLength-1-3 tokoe:valid" result="pass"/><test-case name="14805NISTXML-SV-IV-list-date-maxLength-1-4 tokoe:valid" result="pass"/><test-case name="14806NISTXML-SV-IV-list-date-maxLength-1-5 tokoe:valid" result="pass"/><test-case name="14807NISTSchema-SV-IV-list-date-maxLength-2 tokoe:valid" result="pass"/><test-case name="14808NISTXML-SV-IV-list-date-maxLength-2-1 tokoe:valid" result="pass"/><test-case name="14809NISTXML-SV-IV-list-date-maxLength-2-2 tokoe:valid" result="pass"/><test-case name="14810NISTXML-SV-IV-list-date-maxLength-2-3 tokoe:valid" result="pass"/><test-case name="14811NISTXML-SV-IV-list-date-maxLength-2-4 tokoe:valid" result="pass"/><test-case name="14812NISTXML-SV-IV-list-date-maxLength-2-5 tokoe:valid" result="pass"/><test-case name="14813NISTSchema-SV-IV-list-date-maxLength-3 tokoe:valid" result="pass"/><test-case name="14814NISTXML-SV-IV-list-date-maxLength-3-1 tokoe:valid" result="pass"/><test-case name="14815NISTXML-SV-IV-list-date-maxLength-3-2 tokoe:valid" result="pass"/><test-case name="14816NISTXML-SV-IV-list-date-maxLength-3-3 tokoe:valid" result="pass"/><test-case name="14817NISTXML-SV-IV-list-date-maxLength-3-4 tokoe:valid" result="pass"/><test-case name="14818NISTXML-SV-IV-list-date-maxLength-3-5 tokoe:valid" result="pass"/><test-case name="14819NISTSchema-SV-IV-list-date-maxLength-4 tokoe:valid" result="pass"/><test-case name="14820NISTXML-SV-IV-list-date-maxLength-4-1 tokoe:valid" result="pass"/><test-case name="14821NISTXML-SV-IV-list-date-maxLength-4-2 tokoe:valid" result="pass"/><test-case name="14822NISTXML-SV-IV-list-date-maxLength-4-3 tokoe:valid" result="pass"/><test-case name="14823NISTXML-SV-IV-list-date-maxLength-4-4 tokoe:valid" result="pass"/><test-case name="14824NISTXML-SV-IV-list-date-maxLength-4-5 tokoe:valid" result="pass"/><test-case name="14825NISTSchema-SV-IV-list-date-maxLength-5 tokoe:valid" result="pass"/><test-case name="14826NISTXML-SV-IV-list-date-maxLength-5-1 tokoe:valid" result="pass"/><test-case name="14827NISTXML-SV-IV-list-date-maxLength-5-2 tokoe:valid" result="pass"/><test-case name="14828NISTXML-SV-IV-list-date-maxLength-5-3 tokoe:valid" result="pass"/><test-case name="14829NISTXML-SV-IV-list-date-maxLength-5-4 tokoe:valid" result="pass"/><test-case name="14830NISTXML-SV-IV-list-date-maxLength-5-5 tokoe:valid" result="pass"/><test-case name="14831NISTSchema-SV-IV-list-date-minLength-1 tokoe:valid" result="pass"/><test-case name="14832NISTXML-SV-IV-list-date-minLength-1-1 tokoe:valid" result="pass"/><test-case name="14833NISTXML-SV-IV-list-date-minLength-1-2 tokoe:valid" result="pass"/><test-case name="14834NISTXML-SV-IV-list-date-minLength-1-3 tokoe:valid" result="pass"/><test-case name="14835NISTXML-SV-IV-list-date-minLength-1-4 tokoe:valid" result="pass"/><test-case name="14836NISTXML-SV-IV-list-date-minLength-1-5 tokoe:valid" result="pass"/><test-case name="14837NISTSchema-SV-IV-list-date-minLength-2 tokoe:valid" result="pass"/><test-case name="14838NISTXML-SV-IV-list-date-minLength-2-1 tokoe:valid" result="pass"/><test-case name="14839NISTXML-SV-IV-list-date-minLength-2-2 tokoe:valid" result="pass"/><test-case name="14840NISTXML-SV-IV-list-date-minLength-2-3 tokoe:valid" result="pass"/><test-case name="14841NISTXML-SV-IV-list-date-minLength-2-4 tokoe:valid" result="pass"/><test-case name="14842NISTXML-SV-IV-list-date-minLength-2-5 tokoe:valid" result="pass"/><test-case name="14843NISTSchema-SV-IV-list-date-minLength-3 tokoe:valid" result="pass"/><test-case name="14844NISTXML-SV-IV-list-date-minLength-3-1 tokoe:valid" result="pass"/><test-case name="14845NISTXML-SV-IV-list-date-minLength-3-2 tokoe:valid" result="pass"/><test-case name="14846NISTXML-SV-IV-list-date-minLength-3-3 tokoe:valid" result="pass"/><test-case name="14847NISTXML-SV-IV-list-date-minLength-3-4 tokoe:valid" result="pass"/><test-case name="14848NISTXML-SV-IV-list-date-minLength-3-5 tokoe:valid" result="pass"/><test-case name="14849NISTSchema-SV-IV-list-date-minLength-4 tokoe:valid" result="pass"/><test-case name="14850NISTXML-SV-IV-list-date-minLength-4-1 tokoe:valid" result="pass"/><test-case name="14851NISTXML-SV-IV-list-date-minLength-4-2 tokoe:valid" result="pass"/><test-case name="14852NISTXML-SV-IV-list-date-minLength-4-3 tokoe:valid" result="pass"/><test-case name="14853NISTXML-SV-IV-list-date-minLength-4-4 tokoe:valid" result="pass"/><test-case name="14854NISTXML-SV-IV-list-date-minLength-4-5 tokoe:valid" result="pass"/><test-case name="14855NISTSchema-SV-IV-list-date-minLength-5 tokoe:valid" result="pass"/><test-case name="14856NISTXML-SV-IV-list-date-minLength-5-1 tokoe:valid" result="pass"/><test-case name="14857NISTXML-SV-IV-list-date-minLength-5-2 tokoe:valid" result="pass"/><test-case name="14858NISTXML-SV-IV-list-date-minLength-5-3 tokoe:valid" result="pass"/><test-case name="14859NISTXML-SV-IV-list-date-minLength-5-4 tokoe:valid" result="pass"/><test-case name="14860NISTXML-SV-IV-list-date-minLength-5-5 tokoe:valid" result="pass"/><test-case name="14861NISTSchema-SV-IV-list-date-length-1 tokoe:valid" result="pass"/><test-case name="14862NISTXML-SV-IV-list-date-length-1-1 tokoe:valid" result="pass"/><test-case name="14863NISTXML-SV-IV-list-date-length-1-2 tokoe:valid" result="pass"/><test-case name="14864NISTXML-SV-IV-list-date-length-1-3 tokoe:valid" result="pass"/><test-case name="14865NISTXML-SV-IV-list-date-length-1-4 tokoe:valid" result="pass"/><test-case name="14866NISTXML-SV-IV-list-date-length-1-5 tokoe:valid" result="pass"/><test-case name="14867NISTSchema-SV-IV-list-date-length-2 tokoe:valid" result="pass"/><test-case name="14868NISTXML-SV-IV-list-date-length-2-1 tokoe:valid" result="pass"/><test-case name="14869NISTXML-SV-IV-list-date-length-2-2 tokoe:valid" result="pass"/><test-case name="14870NISTXML-SV-IV-list-date-length-2-3 tokoe:valid" result="pass"/><test-case name="14871NISTXML-SV-IV-list-date-length-2-4 tokoe:valid" result="pass"/><test-case name="14872NISTXML-SV-IV-list-date-length-2-5 tokoe:valid" result="pass"/><test-case name="14873NISTSchema-SV-IV-list-date-length-3 tokoe:valid" result="pass"/><test-case name="14874NISTXML-SV-IV-list-date-length-3-1 tokoe:valid" result="pass"/><test-case name="14875NISTXML-SV-IV-list-date-length-3-2 tokoe:valid" result="pass"/><test-case name="14876NISTXML-SV-IV-list-date-length-3-3 tokoe:valid" result="pass"/><test-case name="14877NISTXML-SV-IV-list-date-length-3-4 tokoe:valid" result="pass"/><test-case name="14878NISTXML-SV-IV-list-date-length-3-5 tokoe:valid" result="pass"/><test-case name="14879NISTSchema-SV-IV-list-date-length-4 tokoe:valid" result="pass"/><test-case name="14880NISTXML-SV-IV-list-date-length-4-1 tokoe:valid" result="pass"/><test-case name="14881NISTXML-SV-IV-list-date-length-4-2 tokoe:valid" result="pass"/><test-case name="14882NISTXML-SV-IV-list-date-length-4-3 tokoe:valid" result="pass"/><test-case name="14883NISTXML-SV-IV-list-date-length-4-4 tokoe:valid" result="pass"/><test-case name="14884NISTXML-SV-IV-list-date-length-4-5 tokoe:valid" result="pass"/><test-case name="14885NISTSchema-SV-IV-list-date-length-5 tokoe:valid" result="pass"/><test-case name="14886NISTXML-SV-IV-list-date-length-5-1 tokoe:valid" result="pass"/><test-case name="14887NISTXML-SV-IV-list-date-length-5-2 tokoe:valid" result="pass"/><test-case name="14888NISTXML-SV-IV-list-date-length-5-3 tokoe:valid" result="pass"/><test-case name="14889NISTXML-SV-IV-list-date-length-5-4 tokoe:valid" result="pass"/><test-case name="14890NISTXML-SV-IV-list-date-length-5-5 tokoe:valid" result="pass"/><test-case name="14891NISTSchema-SV-IV-list-date-pattern-1 tokoe:valid" result="pass"/><test-case name="14892NISTXML-SV-IV-list-date-pattern-1-1 tokoe:valid" result="pass"/><test-case name="14893NISTXML-SV-IV-list-date-pattern-1-2 tokoe:valid" result="pass"/><test-case name="14894NISTXML-SV-IV-list-date-pattern-1-3 tokoe:valid" result="pass"/><test-case name="14895NISTXML-SV-IV-list-date-pattern-1-4 tokoe:valid" result="pass"/><test-case name="14896NISTXML-SV-IV-list-date-pattern-1-5 tokoe:valid" result="pass"/><test-case name="14897NISTSchema-SV-IV-list-date-pattern-2 tokoe:valid" result="pass"/><test-case name="14898NISTXML-SV-IV-list-date-pattern-2-1 tokoe:valid" result="pass"/><test-case name="14899NISTXML-SV-IV-list-date-pattern-2-2 tokoe:valid" result="pass"/><test-case name="14900NISTXML-SV-IV-list-date-pattern-2-3 tokoe:valid" result="pass"/><test-case name="14901NISTXML-SV-IV-list-date-pattern-2-4 tokoe:valid" result="pass"/><test-case name="14902NISTXML-SV-IV-list-date-pattern-2-5 tokoe:valid" result="pass"/><test-case name="14903NISTSchema-SV-IV-list-date-pattern-3 tokoe:valid" result="pass"/><test-case name="14904NISTXML-SV-IV-list-date-pattern-3-1 tokoe:valid" result="pass"/><test-case name="14905NISTXML-SV-IV-list-date-pattern-3-2 tokoe:valid" result="pass"/><test-case name="14906NISTXML-SV-IV-list-date-pattern-3-3 tokoe:valid" result="pass"/><test-case name="14907NISTXML-SV-IV-list-date-pattern-3-4 tokoe:valid" result="pass"/><test-case name="14908NISTXML-SV-IV-list-date-pattern-3-5 tokoe:valid" result="pass"/><test-case name="14909NISTSchema-SV-IV-list-date-pattern-4 tokoe:valid" result="pass"/><test-case name="14910NISTXML-SV-IV-list-date-pattern-4-1 tokoe:valid" result="pass"/><test-case name="14911NISTXML-SV-IV-list-date-pattern-4-2 tokoe:valid" result="pass"/><test-case name="14912NISTXML-SV-IV-list-date-pattern-4-3 tokoe:valid" result="pass"/><test-case name="14913NISTXML-SV-IV-list-date-pattern-4-4 tokoe:valid" result="pass"/><test-case name="14914NISTXML-SV-IV-list-date-pattern-4-5 tokoe:valid" result="pass"/><test-case name="14915NISTSchema-SV-IV-list-date-pattern-5 tokoe:valid" result="pass"/><test-case name="14916NISTXML-SV-IV-list-date-pattern-5-1 tokoe:valid" result="pass"/><test-case name="14917NISTXML-SV-IV-list-date-pattern-5-2 tokoe:valid" result="pass"/><test-case name="14918NISTXML-SV-IV-list-date-pattern-5-3 tokoe:valid" result="pass"/><test-case name="14919NISTXML-SV-IV-list-date-pattern-5-4 tokoe:valid" result="pass"/><test-case name="14920NISTXML-SV-IV-list-date-pattern-5-5 tokoe:valid" result="pass"/><test-case name="14921NISTSchema-SV-IV-list-date-enumeration-1 tokoe:valid" result="pass"/><test-case name="14922NISTXML-SV-IV-list-date-enumeration-1-1 tokoe:valid" result="pass"/><test-case name="14923NISTXML-SV-IV-list-date-enumeration-1-2 tokoe:valid" result="pass"/><test-case name="14924NISTXML-SV-IV-list-date-enumeration-1-3 tokoe:valid" result="pass"/><test-case name="14925NISTXML-SV-IV-list-date-enumeration-1-4 tokoe:valid" result="pass"/><test-case name="14926NISTXML-SV-IV-list-date-enumeration-1-5 tokoe:valid" result="pass"/><test-case name="14927NISTSchema-SV-IV-list-date-enumeration-2 tokoe:valid" result="pass"/><test-case name="14928NISTXML-SV-IV-list-date-enumeration-2-1 tokoe:valid" result="pass"/><test-case name="14929NISTXML-SV-IV-list-date-enumeration-2-2 tokoe:valid" result="pass"/><test-case name="14930NISTXML-SV-IV-list-date-enumeration-2-3 tokoe:valid" result="pass"/><test-case name="14931NISTXML-SV-IV-list-date-enumeration-2-4 tokoe:valid" result="pass"/><test-case name="14932NISTXML-SV-IV-list-date-enumeration-2-5 tokoe:valid" result="pass"/><test-case name="14933NISTSchema-SV-IV-list-date-enumeration-3 tokoe:valid" result="pass"/><test-case name="14934NISTXML-SV-IV-list-date-enumeration-3-1 tokoe:valid" result="pass"/><test-case name="14935NISTXML-SV-IV-list-date-enumeration-3-2 tokoe:valid" result="pass"/><test-case name="14936NISTXML-SV-IV-list-date-enumeration-3-3 tokoe:valid" result="pass"/><test-case name="14937NISTXML-SV-IV-list-date-enumeration-3-4 tokoe:valid" result="pass"/><test-case name="14938NISTXML-SV-IV-list-date-enumeration-3-5 tokoe:valid" result="pass"/><test-case name="14939NISTSchema-SV-IV-list-date-enumeration-4 tokoe:valid" result="pass"/><test-case name="14940NISTXML-SV-IV-list-date-enumeration-4-1 tokoe:valid" result="pass"/><test-case name="14941NISTXML-SV-IV-list-date-enumeration-4-2 tokoe:valid" result="pass"/><test-case name="14942NISTXML-SV-IV-list-date-enumeration-4-3 tokoe:valid" result="pass"/><test-case name="14943NISTXML-SV-IV-list-date-enumeration-4-4 tokoe:valid" result="pass"/><test-case name="14944NISTXML-SV-IV-list-date-enumeration-4-5 tokoe:valid" result="pass"/><test-case name="14945NISTSchema-SV-IV-list-date-enumeration-5 tokoe:valid" result="pass"/><test-case name="14946NISTXML-SV-IV-list-date-enumeration-5-1 tokoe:valid" result="pass"/><test-case name="14947NISTXML-SV-IV-list-date-enumeration-5-2 tokoe:valid" result="pass"/><test-case name="14948NISTXML-SV-IV-list-date-enumeration-5-3 tokoe:valid" result="pass"/><test-case name="14949NISTXML-SV-IV-list-date-enumeration-5-4 tokoe:valid" result="pass"/><test-case name="14950NISTXML-SV-IV-list-date-enumeration-5-5 tokoe:valid" result="pass"/><test-case name="14951NISTSchema-SV-IV-list-date-whiteSpace-1 tokoe:valid" result="pass"/><test-case name="14952NISTXML-SV-IV-list-date-whiteSpace-1-1 tokoe:valid" result="pass"/><test-case name="14953NISTXML-SV-IV-list-date-whiteSpace-1-2 tokoe:valid" result="pass"/><test-case name="14954NISTXML-SV-IV-list-date-whiteSpace-1-3 tokoe:valid" result="pass"/><test-case name="14955NISTXML-SV-IV-list-date-whiteSpace-1-4 tokoe:valid" result="pass"/><test-case name="14956NISTXML-SV-IV-list-date-whiteSpace-1-5 tokoe:valid" result="pass"/><test-case name="14957NISTSchema-SV-IV-list-gYearMonth-maxLength-1 tokoe:valid" result="pass"/><test-case name="14958NISTXML-SV-IV-list-gYearMonth-maxLength-1-1 tokoe:valid" result="pass"/><test-case name="14959NISTXML-SV-IV-list-gYearMonth-maxLength-1-2 tokoe:valid" result="pass"/><test-case name="14960NISTXML-SV-IV-list-gYearMonth-maxLength-1-3 tokoe:valid" result="pass"/><test-case name="14961NISTXML-SV-IV-list-gYearMonth-maxLength-1-4 tokoe:valid" result="pass"/><test-case name="14962NISTXML-SV-IV-list-gYearMonth-maxLength-1-5 tokoe:valid" result="pass"/><test-case name="14963NISTSchema-SV-IV-list-gYearMonth-maxLength-2 tokoe:valid" result="pass"/><test-case name="14964NISTXML-SV-IV-list-gYearMonth-maxLength-2-1 tokoe:valid" result="pass"/><test-case name="14965NISTXML-SV-IV-list-gYearMonth-maxLength-2-2 tokoe:valid" result="pass"/><test-case name="14966NISTXML-SV-IV-list-gYearMonth-maxLength-2-3 tokoe:valid" result="pass"/><test-case name="14967NISTXML-SV-IV-list-gYearMonth-maxLength-2-4 tokoe:valid" result="pass"/><test-case name="14968NISTXML-SV-IV-list-gYearMonth-maxLength-2-5 tokoe:valid" result="pass"/><test-case name="14969NISTSchema-SV-IV-list-gYearMonth-maxLength-3 tokoe:valid" result="pass"/><test-case name="14970NISTXML-SV-IV-list-gYearMonth-maxLength-3-1 tokoe:valid" result="pass"/><test-case name="14971NISTXML-SV-IV-list-gYearMonth-maxLength-3-2 tokoe:valid" result="pass"/><test-case name="14972NISTXML-SV-IV-list-gYearMonth-maxLength-3-3 tokoe:valid" result="pass"/><test-case name="14973NISTXML-SV-IV-list-gYearMonth-maxLength-3-4 tokoe:valid" result="pass"/><test-case name="14974NISTXML-SV-IV-list-gYearMonth-maxLength-3-5 tokoe:valid" result="pass"/><test-case name="14975NISTSchema-SV-IV-list-gYearMonth-maxLength-4 tokoe:valid" result="pass"/><test-case name="14976NISTXML-SV-IV-list-gYearMonth-maxLength-4-1 tokoe:valid" result="pass"/><test-case name="14977NISTXML-SV-IV-list-gYearMonth-maxLength-4-2 tokoe:valid" result="pass"/><test-case name="14978NISTXML-SV-IV-list-gYearMonth-maxLength-4-3 tokoe:valid" result="pass"/><test-case name="14979NISTXML-SV-IV-list-gYearMonth-maxLength-4-4 tokoe:valid" result="pass"/><test-case name="14980NISTXML-SV-IV-list-gYearMonth-maxLength-4-5 tokoe:valid" result="pass"/><test-case name="14981NISTSchema-SV-IV-list-gYearMonth-maxLength-5 tokoe:valid" result="pass"/><test-case name="14982NISTXML-SV-IV-list-gYearMonth-maxLength-5-1 tokoe:valid" result="pass"/><test-case name="14983NISTXML-SV-IV-list-gYearMonth-maxLength-5-2 tokoe:valid" result="pass"/><test-case name="14984NISTXML-SV-IV-list-gYearMonth-maxLength-5-3 tokoe:valid" result="pass"/><test-case name="14985NISTXML-SV-IV-list-gYearMonth-maxLength-5-4 tokoe:valid" result="pass"/><test-case name="14986NISTXML-SV-IV-list-gYearMonth-maxLength-5-5 tokoe:valid" result="pass"/><test-case name="14987NISTSchema-SV-IV-list-gYearMonth-minLength-1 tokoe:valid" result="pass"/><test-case name="14988NISTXML-SV-IV-list-gYearMonth-minLength-1-1 tokoe:valid" result="pass"/><test-case name="14989NISTXML-SV-IV-list-gYearMonth-minLength-1-2 tokoe:valid" result="pass"/><test-case name="14990NISTXML-SV-IV-list-gYearMonth-minLength-1-3 tokoe:valid" result="pass"/><test-case name="14991NISTXML-SV-IV-list-gYearMonth-minLength-1-4 tokoe:valid" result="pass"/><test-case name="14992NISTXML-SV-IV-list-gYearMonth-minLength-1-5 tokoe:valid" result="pass"/><test-case name="14993NISTSchema-SV-IV-list-gYearMonth-minLength-2 tokoe:valid" result="pass"/><test-case name="14994NISTXML-SV-IV-list-gYearMonth-minLength-2-1 tokoe:valid" result="pass"/><test-case name="14995NISTXML-SV-IV-list-gYearMonth-minLength-2-2 tokoe:valid" result="pass"/><test-case name="14996NISTXML-SV-IV-list-gYearMonth-minLength-2-3 tokoe:valid" result="pass"/><test-case name="14997NISTXML-SV-IV-list-gYearMonth-minLength-2-4 tokoe:valid" result="pass"/><test-case name="14998NISTXML-SV-IV-list-gYearMonth-minLength-2-5 tokoe:valid" result="pass"/><test-case name="14999NISTSchema-SV-IV-list-gYearMonth-minLength-3 tokoe:valid" result="pass"/><test-case name="15000NISTXML-SV-IV-list-gYearMonth-minLength-3-1 tokoe:valid" result="pass"/><test-case name="15001NISTXML-SV-IV-list-gYearMonth-minLength-3-2 tokoe:valid" result="pass"/><test-case name="15002NISTXML-SV-IV-list-gYearMonth-minLength-3-3 tokoe:valid" result="pass"/><test-case name="15003NISTXML-SV-IV-list-gYearMonth-minLength-3-4 tokoe:valid" result="pass"/><test-case name="15004NISTXML-SV-IV-list-gYearMonth-minLength-3-5 tokoe:valid" result="pass"/><test-case name="15005NISTSchema-SV-IV-list-gYearMonth-minLength-4 tokoe:valid" result="pass"/><test-case name="15006NISTXML-SV-IV-list-gYearMonth-minLength-4-1 tokoe:valid" result="pass"/><test-case name="15007NISTXML-SV-IV-list-gYearMonth-minLength-4-2 tokoe:valid" result="pass"/><test-case name="15008NISTXML-SV-IV-list-gYearMonth-minLength-4-3 tokoe:valid" result="pass"/><test-case name="15009NISTXML-SV-IV-list-gYearMonth-minLength-4-4 tokoe:valid" result="pass"/><test-case name="15010NISTXML-SV-IV-list-gYearMonth-minLength-4-5 tokoe:valid" result="pass"/><test-case name="15011NISTSchema-SV-IV-list-gYearMonth-minLength-5 tokoe:valid" result="pass"/><test-case name="15012NISTXML-SV-IV-list-gYearMonth-minLength-5-1 tokoe:valid" result="pass"/><test-case name="15013NISTXML-SV-IV-list-gYearMonth-minLength-5-2 tokoe:valid" result="pass"/><test-case name="15014NISTXML-SV-IV-list-gYearMonth-minLength-5-3 tokoe:valid" result="pass"/><test-case name="15015NISTXML-SV-IV-list-gYearMonth-minLength-5-4 tokoe:valid" result="pass"/><test-case name="15016NISTXML-SV-IV-list-gYearMonth-minLength-5-5 tokoe:valid" result="pass"/><test-case name="15017NISTSchema-SV-IV-list-gYearMonth-length-1 tokoe:valid" result="pass"/><test-case name="15018NISTXML-SV-IV-list-gYearMonth-length-1-1 tokoe:valid" result="pass"/><test-case name="15019NISTXML-SV-IV-list-gYearMonth-length-1-2 tokoe:valid" result="pass"/><test-case name="15020NISTXML-SV-IV-list-gYearMonth-length-1-3 tokoe:valid" result="pass"/><test-case name="15021NISTXML-SV-IV-list-gYearMonth-length-1-4 tokoe:valid" result="pass"/><test-case name="15022NISTXML-SV-IV-list-gYearMonth-length-1-5 tokoe:valid" result="pass"/><test-case name="15023NISTSchema-SV-IV-list-gYearMonth-length-2 tokoe:valid" result="pass"/><test-case name="15024NISTXML-SV-IV-list-gYearMonth-length-2-1 tokoe:valid" result="pass"/><test-case name="15025NISTXML-SV-IV-list-gYearMonth-length-2-2 tokoe:valid" result="pass"/><test-case name="15026NISTXML-SV-IV-list-gYearMonth-length-2-3 tokoe:valid" result="pass"/><test-case name="15027NISTXML-SV-IV-list-gYearMonth-length-2-4 tokoe:valid" result="pass"/><test-case name="15028NISTXML-SV-IV-list-gYearMonth-length-2-5 tokoe:valid" result="pass"/><test-case name="15029NISTSchema-SV-IV-list-gYearMonth-length-3 tokoe:valid" result="pass"/><test-case name="15030NISTXML-SV-IV-list-gYearMonth-length-3-1 tokoe:valid" result="pass"/><test-case name="15031NISTXML-SV-IV-list-gYearMonth-length-3-2 tokoe:valid" result="pass"/><test-case name="15032NISTXML-SV-IV-list-gYearMonth-length-3-3 tokoe:valid" result="pass"/><test-case name="15033NISTXML-SV-IV-list-gYearMonth-length-3-4 tokoe:valid" result="pass"/><test-case name="15034NISTXML-SV-IV-list-gYearMonth-length-3-5 tokoe:valid" result="pass"/><test-case name="15035NISTSchema-SV-IV-list-gYearMonth-length-4 tokoe:valid" result="pass"/><test-case name="15036NISTXML-SV-IV-list-gYearMonth-length-4-1 tokoe:valid" result="pass"/><test-case name="15037NISTXML-SV-IV-list-gYearMonth-length-4-2 tokoe:valid" result="pass"/><test-case name="15038NISTXML-SV-IV-list-gYearMonth-length-4-3 tokoe:valid" result="pass"/><test-case name="15039NISTXML-SV-IV-list-gYearMonth-length-4-4 tokoe:valid" result="pass"/><test-case name="15040NISTXML-SV-IV-list-gYearMonth-length-4-5 tokoe:valid" result="pass"/><test-case name="15041NISTSchema-SV-IV-list-gYearMonth-length-5 tokoe:valid" result="pass"/><test-case name="15042NISTXML-SV-IV-list-gYearMonth-length-5-1 tokoe:valid" result="pass"/><test-case name="15043NISTXML-SV-IV-list-gYearMonth-length-5-2 tokoe:valid" result="pass"/><test-case name="15044NISTXML-SV-IV-list-gYearMonth-length-5-3 tokoe:valid" result="pass"/><test-case name="15045NISTXML-SV-IV-list-gYearMonth-length-5-4 tokoe:valid" result="pass"/><test-case name="15046NISTXML-SV-IV-list-gYearMonth-length-5-5 tokoe:valid" result="pass"/><test-case name="15047NISTSchema-SV-IV-list-gYearMonth-pattern-1 tokoe:valid" result="pass"/><test-case name="15048NISTXML-SV-IV-list-gYearMonth-pattern-1-1 tokoe:valid" result="pass"/><test-case name="15049NISTXML-SV-IV-list-gYearMonth-pattern-1-2 tokoe:valid" result="pass"/><test-case name="15050NISTXML-SV-IV-list-gYearMonth-pattern-1-3 tokoe:valid" result="pass"/><test-case name="15051NISTXML-SV-IV-list-gYearMonth-pattern-1-4 tokoe:valid" result="pass"/><test-case name="15052NISTXML-SV-IV-list-gYearMonth-pattern-1-5 tokoe:valid" result="pass"/><test-case name="15053NISTSchema-SV-IV-list-gYearMonth-pattern-2 tokoe:valid" result="pass"/><test-case name="15054NISTXML-SV-IV-list-gYearMonth-pattern-2-1 tokoe:valid" result="pass"/><test-case name="15055NISTXML-SV-IV-list-gYearMonth-pattern-2-2 tokoe:valid" result="pass"/><test-case name="15056NISTXML-SV-IV-list-gYearMonth-pattern-2-3 tokoe:valid" result="pass"/><test-case name="15057NISTXML-SV-IV-list-gYearMonth-pattern-2-4 tokoe:valid" result="pass"/><test-case name="15058NISTXML-SV-IV-list-gYearMonth-pattern-2-5 tokoe:valid" result="pass"/><test-case name="15059NISTSchema-SV-IV-list-gYearMonth-pattern-3 tokoe:valid" result="pass"/><test-case name="15060NISTXML-SV-IV-list-gYearMonth-pattern-3-1 tokoe:valid" result="pass"/><test-case name="15061NISTXML-SV-IV-list-gYearMonth-pattern-3-2 tokoe:valid" result="pass"/><test-case name="15062NISTXML-SV-IV-list-gYearMonth-pattern-3-3 tokoe:valid" result="pass"/><test-case name="15063NISTXML-SV-IV-list-gYearMonth-pattern-3-4 tokoe:valid" result="pass"/><test-case name="15064NISTXML-SV-IV-list-gYearMonth-pattern-3-5 tokoe:valid" result="pass"/><test-case name="15065NISTSchema-SV-IV-list-gYearMonth-pattern-4 tokoe:valid" result="pass"/><test-case name="15066NISTXML-SV-IV-list-gYearMonth-pattern-4-1 tokoe:valid" result="pass"/><test-case name="15067NISTXML-SV-IV-list-gYearMonth-pattern-4-2 tokoe:valid" result="pass"/><test-case name="15068NISTXML-SV-IV-list-gYearMonth-pattern-4-3 tokoe:valid" result="pass"/><test-case name="15069NISTXML-SV-IV-list-gYearMonth-pattern-4-4 tokoe:valid" result="pass"/><test-case name="15070NISTXML-SV-IV-list-gYearMonth-pattern-4-5 tokoe:valid" result="pass"/><test-case name="15071NISTSchema-SV-IV-list-gYearMonth-pattern-5 tokoe:valid" result="pass"/><test-case name="15072NISTXML-SV-IV-list-gYearMonth-pattern-5-1 tokoe:valid" result="pass"/><test-case name="15073NISTXML-SV-IV-list-gYearMonth-pattern-5-2 tokoe:valid" result="pass"/><test-case name="15074NISTXML-SV-IV-list-gYearMonth-pattern-5-3 tokoe:valid" result="pass"/><test-case name="15075NISTXML-SV-IV-list-gYearMonth-pattern-5-4 tokoe:valid" result="pass"/><test-case name="15076NISTXML-SV-IV-list-gYearMonth-pattern-5-5 tokoe:valid" result="pass"/><test-case name="15077NISTSchema-SV-IV-list-gYearMonth-enumeration-1 tokoe:valid" result="pass"/><test-case name="15078NISTXML-SV-IV-list-gYearMonth-enumeration-1-1 tokoe:valid" result="pass"/><test-case name="15079NISTXML-SV-IV-list-gYearMonth-enumeration-1-2 tokoe:valid" result="pass"/><test-case name="15080NISTXML-SV-IV-list-gYearMonth-enumeration-1-3 tokoe:valid" result="pass"/><test-case name="15081NISTXML-SV-IV-list-gYearMonth-enumeration-1-4 tokoe:valid" result="pass"/><test-case name="15082NISTXML-SV-IV-list-gYearMonth-enumeration-1-5 tokoe:valid" result="pass"/><test-case name="15083NISTSchema-SV-IV-list-gYearMonth-enumeration-2 tokoe:valid" result="pass"/><test-case name="15084NISTXML-SV-IV-list-gYearMonth-enumeration-2-1 tokoe:valid" result="pass"/><test-case name="15085NISTXML-SV-IV-list-gYearMonth-enumeration-2-2 tokoe:valid" result="pass"/><test-case name="15086NISTXML-SV-IV-list-gYearMonth-enumeration-2-3 tokoe:valid" result="pass"/><test-case name="15087NISTXML-SV-IV-list-gYearMonth-enumeration-2-4 tokoe:valid" result="pass"/><test-case name="15088NISTXML-SV-IV-list-gYearMonth-enumeration-2-5 tokoe:valid" result="pass"/><test-case name="15089NISTSchema-SV-IV-list-gYearMonth-enumeration-3 tokoe:valid" result="pass"/><test-case name="15090NISTXML-SV-IV-list-gYearMonth-enumeration-3-1 tokoe:valid" result="pass"/><test-case name="15091NISTXML-SV-IV-list-gYearMonth-enumeration-3-2 tokoe:valid" result="pass"/><test-case name="15092NISTXML-SV-IV-list-gYearMonth-enumeration-3-3 tokoe:valid" result="pass"/><test-case name="15093NISTXML-SV-IV-list-gYearMonth-enumeration-3-4 tokoe:valid" result="pass"/><test-case name="15094NISTXML-SV-IV-list-gYearMonth-enumeration-3-5 tokoe:valid" result="pass"/><test-case name="15095NISTSchema-SV-IV-list-gYearMonth-enumeration-4 tokoe:valid" result="pass"/><test-case name="15096NISTXML-SV-IV-list-gYearMonth-enumeration-4-1 tokoe:valid" result="pass"/><test-case name="15097NISTXML-SV-IV-list-gYearMonth-enumeration-4-2 tokoe:valid" result="pass"/><test-case name="15098NISTXML-SV-IV-list-gYearMonth-enumeration-4-3 tokoe:valid" result="pass"/><test-case name="15099NISTXML-SV-IV-list-gYearMonth-enumeration-4-4 tokoe:valid" result="pass"/><test-case name="15100NISTXML-SV-IV-list-gYearMonth-enumeration-4-5 tokoe:valid" result="pass"/><test-case name="15101NISTSchema-SV-IV-list-gYearMonth-enumeration-5 tokoe:valid" result="pass"/><test-case name="15102NISTXML-SV-IV-list-gYearMonth-enumeration-5-1 tokoe:valid" result="pass"/><test-case name="15103NISTXML-SV-IV-list-gYearMonth-enumeration-5-2 tokoe:valid" result="pass"/><test-case name="15104NISTXML-SV-IV-list-gYearMonth-enumeration-5-3 tokoe:valid" result="pass"/><test-case name="15105NISTXML-SV-IV-list-gYearMonth-enumeration-5-4 tokoe:valid" result="pass"/><test-case name="15106NISTXML-SV-IV-list-gYearMonth-enumeration-5-5 tokoe:valid" result="pass"/><test-case name="15107NISTSchema-SV-IV-list-gYearMonth-whiteSpace-1 tokoe:valid" result="pass"/><test-case name="15108NISTXML-SV-IV-list-gYearMonth-whiteSpace-1-1 tokoe:valid" result="pass"/><test-case name="15109NISTXML-SV-IV-list-gYearMonth-whiteSpace-1-2 tokoe:valid" result="pass"/><test-case name="15110NISTXML-SV-IV-list-gYearMonth-whiteSpace-1-3 tokoe:valid" result="pass"/><test-case name="15111NISTXML-SV-IV-list-gYearMonth-whiteSpace-1-4 tokoe:valid" result="pass"/><test-case name="15112NISTXML-SV-IV-list-gYearMonth-whiteSpace-1-5 tokoe:valid" result="pass"/><test-case name="15113NISTSchema-SV-IV-list-gYear-maxLength-1 tokoe:valid" result="pass"/><test-case name="15114NISTXML-SV-IV-list-gYear-maxLength-1-1 tokoe:valid" result="pass"/><test-case name="15115NISTXML-SV-IV-list-gYear-maxLength-1-2 tokoe:valid" result="pass"/><test-case name="15116NISTXML-SV-IV-list-gYear-maxLength-1-3 tokoe:valid" result="pass"/><test-case name="15117NISTXML-SV-IV-list-gYear-maxLength-1-4 tokoe:valid" result="pass"/><test-case name="15118NISTXML-SV-IV-list-gYear-maxLength-1-5 tokoe:valid" result="pass"/><test-case name="15119NISTSchema-SV-IV-list-gYear-maxLength-2 tokoe:valid" result="pass"/><test-case name="15120NISTXML-SV-IV-list-gYear-maxLength-2-1 tokoe:valid" result="pass"/><test-case name="15121NISTXML-SV-IV-list-gYear-maxLength-2-2 tokoe:valid" result="pass"/><test-case name="15122NISTXML-SV-IV-list-gYear-maxLength-2-3 tokoe:valid" result="pass"/><test-case name="15123NISTXML-SV-IV-list-gYear-maxLength-2-4 tokoe:valid" result="pass"/><test-case name="15124NISTXML-SV-IV-list-gYear-maxLength-2-5 tokoe:valid" result="pass"/><test-case name="15125NISTSchema-SV-IV-list-gYear-maxLength-3 tokoe:valid" result="pass"/><test-case name="15126NISTXML-SV-IV-list-gYear-maxLength-3-1 tokoe:valid" result="pass"/><test-case name="15127NISTXML-SV-IV-list-gYear-maxLength-3-2 tokoe:valid" result="pass"/><test-case name="15128NISTXML-SV-IV-list-gYear-maxLength-3-3 tokoe:valid" result="pass"/><test-case name="15129NISTXML-SV-IV-list-gYear-maxLength-3-4 tokoe:valid" result="pass"/><test-case name="15130NISTXML-SV-IV-list-gYear-maxLength-3-5 tokoe:valid" result="pass"/><test-case name="15131NISTSchema-SV-IV-list-gYear-maxLength-4 tokoe:valid" result="pass"/><test-case name="15132NISTXML-SV-IV-list-gYear-maxLength-4-1 tokoe:valid" result="pass"/><test-case name="15133NISTXML-SV-IV-list-gYear-maxLength-4-2 tokoe:valid" result="pass"/><test-case name="15134NISTXML-SV-IV-list-gYear-maxLength-4-3 tokoe:valid" result="pass"/><test-case name="15135NISTXML-SV-IV-list-gYear-maxLength-4-4 tokoe:valid" result="pass"/><test-case name="15136NISTXML-SV-IV-list-gYear-maxLength-4-5 tokoe:valid" result="pass"/><test-case name="15137NISTSchema-SV-IV-list-gYear-maxLength-5 tokoe:valid" result="pass"/><test-case name="15138NISTXML-SV-IV-list-gYear-maxLength-5-1 tokoe:valid" result="pass"/><test-case name="15139NISTXML-SV-IV-list-gYear-maxLength-5-2 tokoe:valid" result="pass"/><test-case name="15140NISTXML-SV-IV-list-gYear-maxLength-5-3 tokoe:valid" result="pass"/><test-case name="15141NISTXML-SV-IV-list-gYear-maxLength-5-4 tokoe:valid" result="pass"/><test-case name="15142NISTXML-SV-IV-list-gYear-maxLength-5-5 tokoe:valid" result="pass"/><test-case name="15143NISTSchema-SV-IV-list-gYear-minLength-1 tokoe:valid" result="pass"/><test-case name="15144NISTXML-SV-IV-list-gYear-minLength-1-1 tokoe:valid" result="pass"/><test-case name="15145NISTXML-SV-IV-list-gYear-minLength-1-2 tokoe:valid" result="pass"/><test-case name="15146NISTXML-SV-IV-list-gYear-minLength-1-3 tokoe:valid" result="pass"/><test-case name="15147NISTXML-SV-IV-list-gYear-minLength-1-4 tokoe:valid" result="pass"/><test-case name="15148NISTXML-SV-IV-list-gYear-minLength-1-5 tokoe:valid" result="pass"/><test-case name="15149NISTSchema-SV-IV-list-gYear-minLength-2 tokoe:valid" result="pass"/><test-case name="15150NISTXML-SV-IV-list-gYear-minLength-2-1 tokoe:valid" result="pass"/><test-case name="15151NISTXML-SV-IV-list-gYear-minLength-2-2 tokoe:valid" result="pass"/><test-case name="15152NISTXML-SV-IV-list-gYear-minLength-2-3 tokoe:valid" result="pass"/><test-case name="15153NISTXML-SV-IV-list-gYear-minLength-2-4 tokoe:valid" result="pass"/><test-case name="15154NISTXML-SV-IV-list-gYear-minLength-2-5 tokoe:valid" result="pass"/><test-case name="15155NISTSchema-SV-IV-list-gYear-minLength-3 tokoe:valid" result="pass"/><test-case name="15156NISTXML-SV-IV-list-gYear-minLength-3-1 tokoe:valid" result="pass"/><test-case name="15157NISTXML-SV-IV-list-gYear-minLength-3-2 tokoe:valid" result="pass"/><test-case name="15158NISTXML-SV-IV-list-gYear-minLength-3-3 tokoe:valid" result="pass"/><test-case name="15159NISTXML-SV-IV-list-gYear-minLength-3-4 tokoe:valid" result="pass"/><test-case name="15160NISTXML-SV-IV-list-gYear-minLength-3-5 tokoe:valid" result="pass"/><test-case name="15161NISTSchema-SV-IV-list-gYear-minLength-4 tokoe:valid" result="pass"/><test-case name="15162NISTXML-SV-IV-list-gYear-minLength-4-1 tokoe:valid" result="pass"/><test-case name="15163NISTXML-SV-IV-list-gYear-minLength-4-2 tokoe:valid" result="pass"/><test-case name="15164NISTXML-SV-IV-list-gYear-minLength-4-3 tokoe:valid" result="pass"/><test-case name="15165NISTXML-SV-IV-list-gYear-minLength-4-4 tokoe:valid" result="pass"/><test-case name="15166NISTXML-SV-IV-list-gYear-minLength-4-5 tokoe:valid" result="pass"/><test-case name="15167NISTSchema-SV-IV-list-gYear-minLength-5 tokoe:valid" result="pass"/><test-case name="15168NISTXML-SV-IV-list-gYear-minLength-5-1 tokoe:valid" result="pass"/><test-case name="15169NISTXML-SV-IV-list-gYear-minLength-5-2 tokoe:valid" result="pass"/><test-case name="15170NISTXML-SV-IV-list-gYear-minLength-5-3 tokoe:valid" result="pass"/><test-case name="15171NISTXML-SV-IV-list-gYear-minLength-5-4 tokoe:valid" result="pass"/><test-case name="15172NISTXML-SV-IV-list-gYear-minLength-5-5 tokoe:valid" result="pass"/><test-case name="15173NISTSchema-SV-IV-list-gYear-length-1 tokoe:valid" result="pass"/><test-case name="15174NISTXML-SV-IV-list-gYear-length-1-1 tokoe:valid" result="pass"/><test-case name="15175NISTXML-SV-IV-list-gYear-length-1-2 tokoe:valid" result="pass"/><test-case name="15176NISTXML-SV-IV-list-gYear-length-1-3 tokoe:valid" result="pass"/><test-case name="15177NISTXML-SV-IV-list-gYear-length-1-4 tokoe:valid" result="pass"/><test-case name="15178NISTXML-SV-IV-list-gYear-length-1-5 tokoe:valid" result="pass"/><test-case name="15179NISTSchema-SV-IV-list-gYear-length-2 tokoe:valid" result="pass"/><test-case name="15180NISTXML-SV-IV-list-gYear-length-2-1 tokoe:valid" result="pass"/><test-case name="15181NISTXML-SV-IV-list-gYear-length-2-2 tokoe:valid" result="pass"/><test-case name="15182NISTXML-SV-IV-list-gYear-length-2-3 tokoe:valid" result="pass"/><test-case name="15183NISTXML-SV-IV-list-gYear-length-2-4 tokoe:valid" result="pass"/><test-case name="15184NISTXML-SV-IV-list-gYear-length-2-5 tokoe:valid" result="pass"/><test-case name="15185NISTSchema-SV-IV-list-gYear-length-3 tokoe:valid" result="pass"/><test-case name="15186NISTXML-SV-IV-list-gYear-length-3-1 tokoe:valid" result="pass"/><test-case name="15187NISTXML-SV-IV-list-gYear-length-3-2 tokoe:valid" result="pass"/><test-case name="15188NISTXML-SV-IV-list-gYear-length-3-3 tokoe:valid" result="pass"/><test-case name="15189NISTXML-SV-IV-list-gYear-length-3-4 tokoe:valid" result="pass"/><test-case name="15190NISTXML-SV-IV-list-gYear-length-3-5 tokoe:valid" result="pass"/><test-case name="15191NISTSchema-SV-IV-list-gYear-length-4 tokoe:valid" result="pass"/><test-case name="15192NISTXML-SV-IV-list-gYear-length-4-1 tokoe:valid" result="pass"/><test-case name="15193NISTXML-SV-IV-list-gYear-length-4-2 tokoe:valid" result="pass"/><test-case name="15194NISTXML-SV-IV-list-gYear-length-4-3 tokoe:valid" result="pass"/><test-case name="15195NISTXML-SV-IV-list-gYear-length-4-4 tokoe:valid" result="pass"/><test-case name="15196NISTXML-SV-IV-list-gYear-length-4-5 tokoe:valid" result="pass"/><test-case name="15197NISTSchema-SV-IV-list-gYear-length-5 tokoe:valid" result="pass"/><test-case name="15198NISTXML-SV-IV-list-gYear-length-5-1 tokoe:valid" result="pass"/><test-case name="15199NISTXML-SV-IV-list-gYear-length-5-2 tokoe:valid" result="pass"/><test-case name="15200NISTXML-SV-IV-list-gYear-length-5-3 tokoe:valid" result="pass"/><test-case name="15201NISTXML-SV-IV-list-gYear-length-5-4 tokoe:valid" result="pass"/><test-case name="15202NISTXML-SV-IV-list-gYear-length-5-5 tokoe:valid" result="pass"/><test-case name="15203NISTSchema-SV-IV-list-gYear-pattern-1 tokoe:valid" result="pass"/><test-case name="15204NISTXML-SV-IV-list-gYear-pattern-1-1 tokoe:valid" result="pass"/><test-case name="15205NISTXML-SV-IV-list-gYear-pattern-1-2 tokoe:valid" result="pass"/><test-case name="15206NISTXML-SV-IV-list-gYear-pattern-1-3 tokoe:valid" result="pass"/><test-case name="15207NISTXML-SV-IV-list-gYear-pattern-1-4 tokoe:valid" result="pass"/><test-case name="15208NISTXML-SV-IV-list-gYear-pattern-1-5 tokoe:valid" result="pass"/><test-case name="15209NISTSchema-SV-IV-list-gYear-pattern-2 tokoe:valid" result="pass"/><test-case name="15210NISTXML-SV-IV-list-gYear-pattern-2-1 tokoe:valid" result="pass"/><test-case name="15211NISTXML-SV-IV-list-gYear-pattern-2-2 tokoe:valid" result="pass"/><test-case name="15212NISTXML-SV-IV-list-gYear-pattern-2-3 tokoe:valid" result="pass"/><test-case name="15213NISTXML-SV-IV-list-gYear-pattern-2-4 tokoe:valid" result="pass"/><test-case name="15214NISTXML-SV-IV-list-gYear-pattern-2-5 tokoe:valid" result="pass"/><test-case name="15215NISTSchema-SV-IV-list-gYear-pattern-3 tokoe:valid" result="pass"/><test-case name="15216NISTXML-SV-IV-list-gYear-pattern-3-1 tokoe:valid" result="pass"/><test-case name="15217NISTXML-SV-IV-list-gYear-pattern-3-2 tokoe:valid" result="pass"/><test-case name="15218NISTXML-SV-IV-list-gYear-pattern-3-3 tokoe:valid" result="pass"/><test-case name="15219NISTXML-SV-IV-list-gYear-pattern-3-4 tokoe:valid" result="pass"/><test-case name="15220NISTXML-SV-IV-list-gYear-pattern-3-5 tokoe:valid" result="pass"/><test-case name="15221NISTSchema-SV-IV-list-gYear-pattern-4 tokoe:valid" result="pass"/><test-case name="15222NISTXML-SV-IV-list-gYear-pattern-4-1 tokoe:valid" result="pass"/><test-case name="15223NISTXML-SV-IV-list-gYear-pattern-4-2 tokoe:valid" result="pass"/><test-case name="15224NISTXML-SV-IV-list-gYear-pattern-4-3 tokoe:valid" result="pass"/><test-case name="15225NISTXML-SV-IV-list-gYear-pattern-4-4 tokoe:valid" result="pass"/><test-case name="15226NISTXML-SV-IV-list-gYear-pattern-4-5 tokoe:valid" result="pass"/><test-case name="15227NISTSchema-SV-IV-list-gYear-pattern-5 tokoe:valid" result="pass"/><test-case name="15228NISTXML-SV-IV-list-gYear-pattern-5-1 tokoe:valid" result="pass"/><test-case name="15229NISTXML-SV-IV-list-gYear-pattern-5-2 tokoe:valid" result="pass"/><test-case name="15230NISTXML-SV-IV-list-gYear-pattern-5-3 tokoe:valid" result="pass"/><test-case name="15231NISTXML-SV-IV-list-gYear-pattern-5-4 tokoe:valid" result="pass"/><test-case name="15232NISTXML-SV-IV-list-gYear-pattern-5-5 tokoe:valid" result="pass"/><test-case name="15233NISTSchema-SV-IV-list-gYear-enumeration-1 tokoe:valid" result="pass"/><test-case name="15234NISTXML-SV-IV-list-gYear-enumeration-1-1 tokoe:valid" result="pass"/><test-case name="15235NISTXML-SV-IV-list-gYear-enumeration-1-2 tokoe:valid" result="pass"/><test-case name="15236NISTXML-SV-IV-list-gYear-enumeration-1-3 tokoe:valid" result="pass"/><test-case name="15237NISTXML-SV-IV-list-gYear-enumeration-1-4 tokoe:valid" result="pass"/><test-case name="15238NISTXML-SV-IV-list-gYear-enumeration-1-5 tokoe:valid" result="pass"/><test-case name="15239NISTSchema-SV-IV-list-gYear-enumeration-2 tokoe:valid" result="pass"/><test-case name="15240NISTXML-SV-IV-list-gYear-enumeration-2-1 tokoe:valid" result="pass"/><test-case name="15241NISTXML-SV-IV-list-gYear-enumeration-2-2 tokoe:valid" result="pass"/><test-case name="15242NISTXML-SV-IV-list-gYear-enumeration-2-3 tokoe:valid" result="pass"/><test-case name="15243NISTXML-SV-IV-list-gYear-enumeration-2-4 tokoe:valid" result="pass"/><test-case name="15244NISTXML-SV-IV-list-gYear-enumeration-2-5 tokoe:valid" result="pass"/><test-case name="15245NISTSchema-SV-IV-list-gYear-enumeration-3 tokoe:valid" result="pass"/><test-case name="15246NISTXML-SV-IV-list-gYear-enumeration-3-1 tokoe:valid" result="pass"/><test-case name="15247NISTXML-SV-IV-list-gYear-enumeration-3-2 tokoe:valid" result="pass"/><test-case name="15248NISTXML-SV-IV-list-gYear-enumeration-3-3 tokoe:valid" result="pass"/><test-case name="15249NISTXML-SV-IV-list-gYear-enumeration-3-4 tokoe:valid" result="pass"/><test-case name="15250NISTXML-SV-IV-list-gYear-enumeration-3-5 tokoe:valid" result="pass"/><test-case name="15251NISTSchema-SV-IV-list-gYear-enumeration-4 tokoe:valid" result="pass"/><test-case name="15252NISTXML-SV-IV-list-gYear-enumeration-4-1 tokoe:valid" result="pass"/><test-case name="15253NISTXML-SV-IV-list-gYear-enumeration-4-2 tokoe:valid" result="pass"/><test-case name="15254NISTXML-SV-IV-list-gYear-enumeration-4-3 tokoe:valid" result="pass"/><test-case name="15255NISTXML-SV-IV-list-gYear-enumeration-4-4 tokoe:valid" result="pass"/><test-case name="15256NISTXML-SV-IV-list-gYear-enumeration-4-5 tokoe:valid" result="pass"/><test-case name="15257NISTSchema-SV-IV-list-gYear-enumeration-5 tokoe:valid" result="pass"/><test-case name="15258NISTXML-SV-IV-list-gYear-enumeration-5-1 tokoe:valid" result="pass"/><test-case name="15259NISTXML-SV-IV-list-gYear-enumeration-5-2 tokoe:valid" result="pass"/><test-case name="15260NISTXML-SV-IV-list-gYear-enumeration-5-3 tokoe:valid" result="pass"/><test-case name="15261NISTXML-SV-IV-list-gYear-enumeration-5-4 tokoe:valid" result="pass"/><test-case name="15262NISTXML-SV-IV-list-gYear-enumeration-5-5 tokoe:valid" result="pass"/><test-case name="15263NISTSchema-SV-IV-list-gYear-whiteSpace-1 tokoe:valid" result="pass"/><test-case name="15264NISTXML-SV-IV-list-gYear-whiteSpace-1-1 tokoe:valid" result="pass"/><test-case name="15265NISTXML-SV-IV-list-gYear-whiteSpace-1-2 tokoe:valid" result="pass"/><test-case name="15266NISTXML-SV-IV-list-gYear-whiteSpace-1-3 tokoe:valid" result="pass"/><test-case name="15267NISTXML-SV-IV-list-gYear-whiteSpace-1-4 tokoe:valid" result="pass"/><test-case name="15268NISTXML-SV-IV-list-gYear-whiteSpace-1-5 tokoe:valid" result="pass"/><test-case name="15269NISTSchema-SV-IV-list-gMonthDay-maxLength-1 tokoe:valid" result="pass"/><test-case name="15270NISTXML-SV-IV-list-gMonthDay-maxLength-1-1 tokoe:valid" result="pass"/><test-case name="15271NISTXML-SV-IV-list-gMonthDay-maxLength-1-2 tokoe:valid" result="pass"/><test-case name="15272NISTXML-SV-IV-list-gMonthDay-maxLength-1-3 tokoe:valid" result="pass"/><test-case name="15273NISTXML-SV-IV-list-gMonthDay-maxLength-1-4 tokoe:valid" result="pass"/><test-case name="15274NISTXML-SV-IV-list-gMonthDay-maxLength-1-5 tokoe:valid" result="pass"/><test-case name="15275NISTSchema-SV-IV-list-gMonthDay-maxLength-2 tokoe:valid" result="pass"/><test-case name="15276NISTXML-SV-IV-list-gMonthDay-maxLength-2-1 tokoe:valid" result="pass"/><test-case name="15277NISTXML-SV-IV-list-gMonthDay-maxLength-2-2 tokoe:valid" result="pass"/><test-case name="15278NISTXML-SV-IV-list-gMonthDay-maxLength-2-3 tokoe:valid" result="pass"/><test-case name="15279NISTXML-SV-IV-list-gMonthDay-maxLength-2-4 tokoe:valid" result="pass"/><test-case name="15280NISTXML-SV-IV-list-gMonthDay-maxLength-2-5 tokoe:valid" result="pass"/><test-case name="15281NISTSchema-SV-IV-list-gMonthDay-maxLength-3 tokoe:valid" result="pass"/><test-case name="15282NISTXML-SV-IV-list-gMonthDay-maxLength-3-1 tokoe:valid" result="pass"/><test-case name="15283NISTXML-SV-IV-list-gMonthDay-maxLength-3-2 tokoe:valid" result="pass"/><test-case name="15284NISTXML-SV-IV-list-gMonthDay-maxLength-3-3 tokoe:valid" result="pass"/><test-case name="15285NISTXML-SV-IV-list-gMonthDay-maxLength-3-4 tokoe:valid" result="pass"/><test-case name="15286NISTXML-SV-IV-list-gMonthDay-maxLength-3-5 tokoe:valid" result="pass"/><test-case name="15287NISTSchema-SV-IV-list-gMonthDay-maxLength-4 tokoe:valid" result="pass"/><test-case name="15288NISTXML-SV-IV-list-gMonthDay-maxLength-4-1 tokoe:valid" result="pass"/><test-case name="15289NISTXML-SV-IV-list-gMonthDay-maxLength-4-2 tokoe:valid" result="pass"/><test-case name="15290NISTXML-SV-IV-list-gMonthDay-maxLength-4-3 tokoe:valid" result="pass"/><test-case name="15291NISTXML-SV-IV-list-gMonthDay-maxLength-4-4 tokoe:valid" result="pass"/><test-case name="15292NISTXML-SV-IV-list-gMonthDay-maxLength-4-5 tokoe:valid" result="pass"/><test-case name="15293NISTSchema-SV-IV-list-gMonthDay-maxLength-5 tokoe:valid" result="pass"/><test-case name="15294NISTXML-SV-IV-list-gMonthDay-maxLength-5-1 tokoe:valid" result="pass"/><test-case name="15295NISTXML-SV-IV-list-gMonthDay-maxLength-5-2 tokoe:valid" result="pass"/><test-case name="15296NISTXML-SV-IV-list-gMonthDay-maxLength-5-3 tokoe:valid" result="pass"/><test-case name="15297NISTXML-SV-IV-list-gMonthDay-maxLength-5-4 tokoe:valid" result="pass"/><test-case name="15298NISTXML-SV-IV-list-gMonthDay-maxLength-5-5 tokoe:valid" result="pass"/><test-case name="15299NISTSchema-SV-IV-list-gMonthDay-minLength-1 tokoe:valid" result="pass"/><test-case name="15300NISTXML-SV-IV-list-gMonthDay-minLength-1-1 tokoe:valid" result="pass"/><test-case name="15301NISTXML-SV-IV-list-gMonthDay-minLength-1-2 tokoe:valid" result="pass"/><test-case name="15302NISTXML-SV-IV-list-gMonthDay-minLength-1-3 tokoe:valid" result="pass"/><test-case name="15303NISTXML-SV-IV-list-gMonthDay-minLength-1-4 tokoe:valid" result="pass"/><test-case name="15304NISTXML-SV-IV-list-gMonthDay-minLength-1-5 tokoe:valid" result="pass"/><test-case name="15305NISTSchema-SV-IV-list-gMonthDay-minLength-2 tokoe:valid" result="pass"/><test-case name="15306NISTXML-SV-IV-list-gMonthDay-minLength-2-1 tokoe:valid" result="pass"/><test-case name="15307NISTXML-SV-IV-list-gMonthDay-minLength-2-2 tokoe:valid" result="pass"/><test-case name="15308NISTXML-SV-IV-list-gMonthDay-minLength-2-3 tokoe:valid" result="pass"/><test-case name="15309NISTXML-SV-IV-list-gMonthDay-minLength-2-4 tokoe:valid" result="pass"/><test-case name="15310NISTXML-SV-IV-list-gMonthDay-minLength-2-5 tokoe:valid" result="pass"/><test-case name="15311NISTSchema-SV-IV-list-gMonthDay-minLength-3 tokoe:valid" result="pass"/><test-case name="15312NISTXML-SV-IV-list-gMonthDay-minLength-3-1 tokoe:valid" result="pass"/><test-case name="15313NISTXML-SV-IV-list-gMonthDay-minLength-3-2 tokoe:valid" result="pass"/><test-case name="15314NISTXML-SV-IV-list-gMonthDay-minLength-3-3 tokoe:valid" result="pass"/><test-case name="15315NISTXML-SV-IV-list-gMonthDay-minLength-3-4 tokoe:valid" result="pass"/><test-case name="15316NISTXML-SV-IV-list-gMonthDay-minLength-3-5 tokoe:valid" result="pass"/><test-case name="15317NISTSchema-SV-IV-list-gMonthDay-minLength-4 tokoe:valid" result="pass"/><test-case name="15318NISTXML-SV-IV-list-gMonthDay-minLength-4-1 tokoe:valid" result="pass"/><test-case name="15319NISTXML-SV-IV-list-gMonthDay-minLength-4-2 tokoe:valid" result="pass"/><test-case name="15320NISTXML-SV-IV-list-gMonthDay-minLength-4-3 tokoe:valid" result="pass"/><test-case name="15321NISTXML-SV-IV-list-gMonthDay-minLength-4-4 tokoe:valid" result="pass"/><test-case name="15322NISTXML-SV-IV-list-gMonthDay-minLength-4-5 tokoe:valid" result="pass"/><test-case name="15323NISTSchema-SV-IV-list-gMonthDay-minLength-5 tokoe:valid" result="pass"/><test-case name="15324NISTXML-SV-IV-list-gMonthDay-minLength-5-1 tokoe:valid" result="pass"/><test-case name="15325NISTXML-SV-IV-list-gMonthDay-minLength-5-2 tokoe:valid" result="pass"/><test-case name="15326NISTXML-SV-IV-list-gMonthDay-minLength-5-3 tokoe:valid" result="pass"/><test-case name="15327NISTXML-SV-IV-list-gMonthDay-minLength-5-4 tokoe:valid" result="pass"/><test-case name="15328NISTXML-SV-IV-list-gMonthDay-minLength-5-5 tokoe:valid" result="pass"/><test-case name="15329NISTSchema-SV-IV-list-gMonthDay-length-1 tokoe:valid" result="pass"/><test-case name="15330NISTXML-SV-IV-list-gMonthDay-length-1-1 tokoe:valid" result="pass"/><test-case name="15331NISTXML-SV-IV-list-gMonthDay-length-1-2 tokoe:valid" result="pass"/><test-case name="15332NISTXML-SV-IV-list-gMonthDay-length-1-3 tokoe:valid" result="pass"/><test-case name="15333NISTXML-SV-IV-list-gMonthDay-length-1-4 tokoe:valid" result="pass"/><test-case name="15334NISTXML-SV-IV-list-gMonthDay-length-1-5 tokoe:valid" result="pass"/><test-case name="15335NISTSchema-SV-IV-list-gMonthDay-length-2 tokoe:valid" result="pass"/><test-case name="15336NISTXML-SV-IV-list-gMonthDay-length-2-1 tokoe:valid" result="pass"/><test-case name="15337NISTXML-SV-IV-list-gMonthDay-length-2-2 tokoe:valid" result="pass"/><test-case name="15338NISTXML-SV-IV-list-gMonthDay-length-2-3 tokoe:valid" result="pass"/><test-case name="15339NISTXML-SV-IV-list-gMonthDay-length-2-4 tokoe:valid" result="pass"/><test-case name="15340NISTXML-SV-IV-list-gMonthDay-length-2-5 tokoe:valid" result="pass"/><test-case name="15341NISTSchema-SV-IV-list-gMonthDay-length-3 tokoe:valid" result="pass"/><test-case name="15342NISTXML-SV-IV-list-gMonthDay-length-3-1 tokoe:valid" result="pass"/><test-case name="15343NISTXML-SV-IV-list-gMonthDay-length-3-2 tokoe:valid" result="pass"/><test-case name="15344NISTXML-SV-IV-list-gMonthDay-length-3-3 tokoe:valid" result="pass"/><test-case name="15345NISTXML-SV-IV-list-gMonthDay-length-3-4 tokoe:valid" result="pass"/><test-case name="15346NISTXML-SV-IV-list-gMonthDay-length-3-5 tokoe:valid" result="pass"/><test-case name="15347NISTSchema-SV-IV-list-gMonthDay-length-4 tokoe:valid" result="pass"/><test-case name="15348NISTXML-SV-IV-list-gMonthDay-length-4-1 tokoe:valid" result="pass"/><test-case name="15349NISTXML-SV-IV-list-gMonthDay-length-4-2 tokoe:valid" result="pass"/><test-case name="15350NISTXML-SV-IV-list-gMonthDay-length-4-3 tokoe:valid" result="pass"/><test-case name="15351NISTXML-SV-IV-list-gMonthDay-length-4-4 tokoe:valid" result="pass"/><test-case name="15352NISTXML-SV-IV-list-gMonthDay-length-4-5 tokoe:valid" result="pass"/><test-case name="15353NISTSchema-SV-IV-list-gMonthDay-length-5 tokoe:valid" result="pass"/><test-case name="15354NISTXML-SV-IV-list-gMonthDay-length-5-1 tokoe:valid" result="pass"/><test-case name="15355NISTXML-SV-IV-list-gMonthDay-length-5-2 tokoe:valid" result="pass"/><test-case name="15356NISTXML-SV-IV-list-gMonthDay-length-5-3 tokoe:valid" result="pass"/><test-case name="15357NISTXML-SV-IV-list-gMonthDay-length-5-4 tokoe:valid" result="pass"/><test-case name="15358NISTXML-SV-IV-list-gMonthDay-length-5-5 tokoe:valid" result="pass"/><test-case name="15359NISTSchema-SV-IV-list-gMonthDay-pattern-1 tokoe:valid" result="pass"/><test-case name="15360NISTXML-SV-IV-list-gMonthDay-pattern-1-1 tokoe:valid" result="pass"/><test-case name="15361NISTXML-SV-IV-list-gMonthDay-pattern-1-2 tokoe:valid" result="pass"/><test-case name="15362NISTXML-SV-IV-list-gMonthDay-pattern-1-3 tokoe:valid" result="pass"/><test-case name="15363NISTXML-SV-IV-list-gMonthDay-pattern-1-4 tokoe:valid" result="pass"/><test-case name="15364NISTXML-SV-IV-list-gMonthDay-pattern-1-5 tokoe:valid" result="pass"/><test-case name="15365NISTSchema-SV-IV-list-gMonthDay-pattern-2 tokoe:valid" result="pass"/><test-case name="15366NISTXML-SV-IV-list-gMonthDay-pattern-2-1 tokoe:valid" result="pass"/><test-case name="15367NISTXML-SV-IV-list-gMonthDay-pattern-2-2 tokoe:valid" result="pass"/><test-case name="15368NISTXML-SV-IV-list-gMonthDay-pattern-2-3 tokoe:valid" result="pass"/><test-case name="15369NISTXML-SV-IV-list-gMonthDay-pattern-2-4 tokoe:valid" result="pass"/><test-case name="15370NISTXML-SV-IV-list-gMonthDay-pattern-2-5 tokoe:valid" result="pass"/><test-case name="15371NISTSchema-SV-IV-list-gMonthDay-pattern-3 tokoe:valid" result="pass"/><test-case name="15372NISTXML-SV-IV-list-gMonthDay-pattern-3-1 tokoe:valid" result="pass"/><test-case name="15373NISTXML-SV-IV-list-gMonthDay-pattern-3-2 tokoe:valid" result="pass"/><test-case name="15374NISTXML-SV-IV-list-gMonthDay-pattern-3-3 tokoe:valid" result="pass"/><test-case name="15375NISTXML-SV-IV-list-gMonthDay-pattern-3-4 tokoe:valid" result="pass"/><test-case name="15376NISTXML-SV-IV-list-gMonthDay-pattern-3-5 tokoe:valid" result="pass"/><test-case name="15377NISTSchema-SV-IV-list-gMonthDay-pattern-4 tokoe:valid" result="pass"/><test-case name="15378NISTXML-SV-IV-list-gMonthDay-pattern-4-1 tokoe:valid" result="pass"/><test-case name="15379NISTXML-SV-IV-list-gMonthDay-pattern-4-2 tokoe:valid" result="pass"/><test-case name="15380NISTXML-SV-IV-list-gMonthDay-pattern-4-3 tokoe:valid" result="pass"/><test-case name="15381NISTXML-SV-IV-list-gMonthDay-pattern-4-4 tokoe:valid" result="pass"/><test-case name="15382NISTXML-SV-IV-list-gMonthDay-pattern-4-5 tokoe:valid" result="pass"/><test-case name="15383NISTSchema-SV-IV-list-gMonthDay-pattern-5 tokoe:valid" result="pass"/><test-case name="15384NISTXML-SV-IV-list-gMonthDay-pattern-5-1 tokoe:valid" result="pass"/><test-case name="15385NISTXML-SV-IV-list-gMonthDay-pattern-5-2 tokoe:valid" result="pass"/><test-case name="15386NISTXML-SV-IV-list-gMonthDay-pattern-5-3 tokoe:valid" result="pass"/><test-case name="15387NISTXML-SV-IV-list-gMonthDay-pattern-5-4 tokoe:valid" result="pass"/><test-case name="15388NISTXML-SV-IV-list-gMonthDay-pattern-5-5 tokoe:valid" result="pass"/><test-case name="15389NISTSchema-SV-IV-list-gMonthDay-enumeration-1 tokoe:valid" result="pass"/><test-case name="15390NISTXML-SV-IV-list-gMonthDay-enumeration-1-1 tokoe:valid" result="pass"/><test-case name="15391NISTXML-SV-IV-list-gMonthDay-enumeration-1-2 tokoe:valid" result="pass"/><test-case name="15392NISTXML-SV-IV-list-gMonthDay-enumeration-1-3 tokoe:valid" result="pass"/><test-case name="15393NISTXML-SV-IV-list-gMonthDay-enumeration-1-4 tokoe:valid" result="pass"/><test-case name="15394NISTXML-SV-IV-list-gMonthDay-enumeration-1-5 tokoe:valid" result="pass"/><test-case name="15395NISTSchema-SV-IV-list-gMonthDay-enumeration-2 tokoe:valid" result="pass"/><test-case name="15396NISTXML-SV-IV-list-gMonthDay-enumeration-2-1 tokoe:valid" result="pass"/><test-case name="15397NISTXML-SV-IV-list-gMonthDay-enumeration-2-2 tokoe:valid" result="pass"/><test-case name="15398NISTXML-SV-IV-list-gMonthDay-enumeration-2-3 tokoe:valid" result="pass"/><test-case name="15399NISTXML-SV-IV-list-gMonthDay-enumeration-2-4 tokoe:valid" result="pass"/><test-case name="15400NISTXML-SV-IV-list-gMonthDay-enumeration-2-5 tokoe:valid" result="pass"/><test-case name="15401NISTSchema-SV-IV-list-gMonthDay-enumeration-3 tokoe:valid" result="pass"/><test-case name="15402NISTXML-SV-IV-list-gMonthDay-enumeration-3-1 tokoe:valid" result="pass"/><test-case name="15403NISTXML-SV-IV-list-gMonthDay-enumeration-3-2 tokoe:valid" result="pass"/><test-case name="15404NISTXML-SV-IV-list-gMonthDay-enumeration-3-3 tokoe:valid" result="pass"/><test-case name="15405NISTXML-SV-IV-list-gMonthDay-enumeration-3-4 tokoe:valid" result="pass"/><test-case name="15406NISTXML-SV-IV-list-gMonthDay-enumeration-3-5 tokoe:valid" result="pass"/><test-case name="15407NISTSchema-SV-IV-list-gMonthDay-enumeration-4 tokoe:valid" result="pass"/><test-case name="15408NISTXML-SV-IV-list-gMonthDay-enumeration-4-1 tokoe:valid" result="pass"/><test-case name="15409NISTXML-SV-IV-list-gMonthDay-enumeration-4-2 tokoe:valid" result="pass"/><test-case name="15410NISTXML-SV-IV-list-gMonthDay-enumeration-4-3 tokoe:valid" result="pass"/><test-case name="15411NISTXML-SV-IV-list-gMonthDay-enumeration-4-4 tokoe:valid" result="pass"/><test-case name="15412NISTXML-SV-IV-list-gMonthDay-enumeration-4-5 tokoe:valid" result="pass"/><test-case name="15413NISTSchema-SV-IV-list-gMonthDay-enumeration-5 tokoe:valid" result="pass"/><test-case name="15414NISTXML-SV-IV-list-gMonthDay-enumeration-5-1 tokoe:valid" result="pass"/><test-case name="15415NISTXML-SV-IV-list-gMonthDay-enumeration-5-2 tokoe:valid" result="pass"/><test-case name="15416NISTXML-SV-IV-list-gMonthDay-enumeration-5-3 tokoe:valid" result="pass"/><test-case name="15417NISTXML-SV-IV-list-gMonthDay-enumeration-5-4 tokoe:valid" result="pass"/><test-case name="15418NISTXML-SV-IV-list-gMonthDay-enumeration-5-5 tokoe:valid" result="pass"/><test-case name="15419NISTSchema-SV-IV-list-gMonthDay-whiteSpace-1 tokoe:valid" result="pass"/><test-case name="15420NISTXML-SV-IV-list-gMonthDay-whiteSpace-1-1 tokoe:valid" result="pass"/><test-case name="15421NISTXML-SV-IV-list-gMonthDay-whiteSpace-1-2 tokoe:valid" result="pass"/><test-case name="15422NISTXML-SV-IV-list-gMonthDay-whiteSpace-1-3 tokoe:valid" result="pass"/><test-case name="15423NISTXML-SV-IV-list-gMonthDay-whiteSpace-1-4 tokoe:valid" result="pass"/><test-case name="15424NISTXML-SV-IV-list-gMonthDay-whiteSpace-1-5 tokoe:valid" result="pass"/><test-case name="15425NISTSchema-SV-IV-list-gDay-maxLength-1 tokoe:valid" result="pass"/><test-case name="15426NISTXML-SV-IV-list-gDay-maxLength-1-1 tokoe:valid" result="pass"/><test-case name="15427NISTXML-SV-IV-list-gDay-maxLength-1-2 tokoe:valid" result="pass"/><test-case name="15428NISTXML-SV-IV-list-gDay-maxLength-1-3 tokoe:valid" result="pass"/><test-case name="15429NISTXML-SV-IV-list-gDay-maxLength-1-4 tokoe:valid" result="pass"/><test-case name="15430NISTXML-SV-IV-list-gDay-maxLength-1-5 tokoe:valid" result="pass"/><test-case name="15431NISTSchema-SV-IV-list-gDay-maxLength-2 tokoe:valid" result="pass"/><test-case name="15432NISTXML-SV-IV-list-gDay-maxLength-2-1 tokoe:valid" result="pass"/><test-case name="15433NISTXML-SV-IV-list-gDay-maxLength-2-2 tokoe:valid" result="pass"/><test-case name="15434NISTXML-SV-IV-list-gDay-maxLength-2-3 tokoe:valid" result="pass"/><test-case name="15435NISTXML-SV-IV-list-gDay-maxLength-2-4 tokoe:valid" result="pass"/><test-case name="15436NISTXML-SV-IV-list-gDay-maxLength-2-5 tokoe:valid" result="pass"/><test-case name="15437NISTSchema-SV-IV-list-gDay-maxLength-3 tokoe:valid" result="pass"/><test-case name="15438NISTXML-SV-IV-list-gDay-maxLength-3-1 tokoe:valid" result="pass"/><test-case name="15439NISTXML-SV-IV-list-gDay-maxLength-3-2 tokoe:valid" result="pass"/><test-case name="15440NISTXML-SV-IV-list-gDay-maxLength-3-3 tokoe:valid" result="pass"/><test-case name="15441NISTXML-SV-IV-list-gDay-maxLength-3-4 tokoe:valid" result="pass"/><test-case name="15442NISTXML-SV-IV-list-gDay-maxLength-3-5 tokoe:valid" result="pass"/><test-case name="15443NISTSchema-SV-IV-list-gDay-maxLength-4 tokoe:valid" result="pass"/><test-case name="15444NISTXML-SV-IV-list-gDay-maxLength-4-1 tokoe:valid" result="pass"/><test-case name="15445NISTXML-SV-IV-list-gDay-maxLength-4-2 tokoe:valid" result="pass"/><test-case name="15446NISTXML-SV-IV-list-gDay-maxLength-4-3 tokoe:valid" result="pass"/><test-case name="15447NISTXML-SV-IV-list-gDay-maxLength-4-4 tokoe:valid" result="pass"/><test-case name="15448NISTXML-SV-IV-list-gDay-maxLength-4-5 tokoe:valid" result="pass"/><test-case name="15449NISTSchema-SV-IV-list-gDay-maxLength-5 tokoe:valid" result="pass"/><test-case name="15450NISTXML-SV-IV-list-gDay-maxLength-5-1 tokoe:valid" result="pass"/><test-case name="15451NISTXML-SV-IV-list-gDay-maxLength-5-2 tokoe:valid" result="pass"/><test-case name="15452NISTXML-SV-IV-list-gDay-maxLength-5-3 tokoe:valid" result="pass"/><test-case name="15453NISTXML-SV-IV-list-gDay-maxLength-5-4 tokoe:valid" result="pass"/><test-case name="15454NISTXML-SV-IV-list-gDay-maxLength-5-5 tokoe:valid" result="pass"/><test-case name="15455NISTSchema-SV-IV-list-gDay-minLength-1 tokoe:valid" result="pass"/><test-case name="15456NISTXML-SV-IV-list-gDay-minLength-1-1 tokoe:valid" result="pass"/><test-case name="15457NISTXML-SV-IV-list-gDay-minLength-1-2 tokoe:valid" result="pass"/><test-case name="15458NISTXML-SV-IV-list-gDay-minLength-1-3 tokoe:valid" result="pass"/><test-case name="15459NISTXML-SV-IV-list-gDay-minLength-1-4 tokoe:valid" result="pass"/><test-case name="15460NISTXML-SV-IV-list-gDay-minLength-1-5 tokoe:valid" result="pass"/><test-case name="15461NISTSchema-SV-IV-list-gDay-minLength-2 tokoe:valid" result="pass"/><test-case name="15462NISTXML-SV-IV-list-gDay-minLength-2-1 tokoe:valid" result="pass"/><test-case name="15463NISTXML-SV-IV-list-gDay-minLength-2-2 tokoe:valid" result="pass"/><test-case name="15464NISTXML-SV-IV-list-gDay-minLength-2-3 tokoe:valid" result="pass"/><test-case name="15465NISTXML-SV-IV-list-gDay-minLength-2-4 tokoe:valid" result="pass"/><test-case name="15466NISTXML-SV-IV-list-gDay-minLength-2-5 tokoe:valid" result="pass"/><test-case name="15467NISTSchema-SV-IV-list-gDay-minLength-3 tokoe:valid" result="pass"/><test-case name="15468NISTXML-SV-IV-list-gDay-minLength-3-1 tokoe:valid" result="pass"/><test-case name="15469NISTXML-SV-IV-list-gDay-minLength-3-2 tokoe:valid" result="pass"/><test-case name="15470NISTXML-SV-IV-list-gDay-minLength-3-3 tokoe:valid" result="pass"/><test-case name="15471NISTXML-SV-IV-list-gDay-minLength-3-4 tokoe:valid" result="pass"/><test-case name="15472NISTXML-SV-IV-list-gDay-minLength-3-5 tokoe:valid" result="pass"/><test-case name="15473NISTSchema-SV-IV-list-gDay-minLength-4 tokoe:valid" result="pass"/><test-case name="15474NISTXML-SV-IV-list-gDay-minLength-4-1 tokoe:valid" result="pass"/><test-case name="15475NISTXML-SV-IV-list-gDay-minLength-4-2 tokoe:valid" result="pass"/><test-case name="15476NISTXML-SV-IV-list-gDay-minLength-4-3 tokoe:valid" result="pass"/><test-case name="15477NISTXML-SV-IV-list-gDay-minLength-4-4 tokoe:valid" result="pass"/><test-case name="15478NISTXML-SV-IV-list-gDay-minLength-4-5 tokoe:valid" result="pass"/><test-case name="15479NISTSchema-SV-IV-list-gDay-minLength-5 tokoe:valid" result="pass"/><test-case name="15480NISTXML-SV-IV-list-gDay-minLength-5-1 tokoe:valid" result="pass"/><test-case name="15481NISTXML-SV-IV-list-gDay-minLength-5-2 tokoe:valid" result="pass"/><test-case name="15482NISTXML-SV-IV-list-gDay-minLength-5-3 tokoe:valid" result="pass"/><test-case name="15483NISTXML-SV-IV-list-gDay-minLength-5-4 tokoe:valid" result="pass"/><test-case name="15484NISTXML-SV-IV-list-gDay-minLength-5-5 tokoe:valid" result="pass"/><test-case name="15485NISTSchema-SV-IV-list-gDay-length-1 tokoe:valid" result="pass"/><test-case name="15486NISTXML-SV-IV-list-gDay-length-1-1 tokoe:valid" result="pass"/><test-case name="15487NISTXML-SV-IV-list-gDay-length-1-2 tokoe:valid" result="pass"/><test-case name="15488NISTXML-SV-IV-list-gDay-length-1-3 tokoe:valid" result="pass"/><test-case name="15489NISTXML-SV-IV-list-gDay-length-1-4 tokoe:valid" result="pass"/><test-case name="15490NISTXML-SV-IV-list-gDay-length-1-5 tokoe:valid" result="pass"/><test-case name="15491NISTSchema-SV-IV-list-gDay-length-2 tokoe:valid" result="pass"/><test-case name="15492NISTXML-SV-IV-list-gDay-length-2-1 tokoe:valid" result="pass"/><test-case name="15493NISTXML-SV-IV-list-gDay-length-2-2 tokoe:valid" result="pass"/><test-case name="15494NISTXML-SV-IV-list-gDay-length-2-3 tokoe:valid" result="pass"/><test-case name="15495NISTXML-SV-IV-list-gDay-length-2-4 tokoe:valid" result="pass"/><test-case name="15496NISTXML-SV-IV-list-gDay-length-2-5 tokoe:valid" result="pass"/><test-case name="15497NISTSchema-SV-IV-list-gDay-length-3 tokoe:valid" result="pass"/><test-case name="15498NISTXML-SV-IV-list-gDay-length-3-1 tokoe:valid" result="pass"/><test-case name="15499NISTXML-SV-IV-list-gDay-length-3-2 tokoe:valid" result="pass"/><test-case name="15500NISTXML-SV-IV-list-gDay-length-3-3 tokoe:valid" result="pass"/><test-case name="15501NISTXML-SV-IV-list-gDay-length-3-4 tokoe:valid" result="pass"/><test-case name="15502NISTXML-SV-IV-list-gDay-length-3-5 tokoe:valid" result="pass"/><test-case name="15503NISTSchema-SV-IV-list-gDay-length-4 tokoe:valid" result="pass"/><test-case name="15504NISTXML-SV-IV-list-gDay-length-4-1 tokoe:valid" result="pass"/><test-case name="15505NISTXML-SV-IV-list-gDay-length-4-2 tokoe:valid" result="pass"/><test-case name="15506NISTXML-SV-IV-list-gDay-length-4-3 tokoe:valid" result="pass"/><test-case name="15507NISTXML-SV-IV-list-gDay-length-4-4 tokoe:valid" result="pass"/><test-case name="15508NISTXML-SV-IV-list-gDay-length-4-5 tokoe:valid" result="pass"/><test-case name="15509NISTSchema-SV-IV-list-gDay-length-5 tokoe:valid" result="pass"/><test-case name="15510NISTXML-SV-IV-list-gDay-length-5-1 tokoe:valid" result="pass"/><test-case name="15511NISTXML-SV-IV-list-gDay-length-5-2 tokoe:valid" result="pass"/><test-case name="15512NISTXML-SV-IV-list-gDay-length-5-3 tokoe:valid" result="pass"/><test-case name="15513NISTXML-SV-IV-list-gDay-length-5-4 tokoe:valid" result="pass"/><test-case name="15514NISTXML-SV-IV-list-gDay-length-5-5 tokoe:valid" result="pass"/><test-case name="15515NISTSchema-SV-IV-list-gDay-pattern-1 tokoe:valid" result="pass"/><test-case name="15516NISTXML-SV-IV-list-gDay-pattern-1-1 tokoe:valid" result="pass"/><test-case name="15517NISTXML-SV-IV-list-gDay-pattern-1-2 tokoe:valid" result="pass"/><test-case name="15518NISTXML-SV-IV-list-gDay-pattern-1-3 tokoe:valid" result="pass"/><test-case name="15519NISTXML-SV-IV-list-gDay-pattern-1-4 tokoe:valid" result="pass"/><test-case name="15520NISTXML-SV-IV-list-gDay-pattern-1-5 tokoe:valid" result="pass"/><test-case name="15521NISTSchema-SV-IV-list-gDay-pattern-2 tokoe:valid" result="pass"/><test-case name="15522NISTXML-SV-IV-list-gDay-pattern-2-1 tokoe:valid" result="pass"/><test-case name="15523NISTXML-SV-IV-list-gDay-pattern-2-2 tokoe:valid" result="pass"/><test-case name="15524NISTXML-SV-IV-list-gDay-pattern-2-3 tokoe:valid" result="pass"/><test-case name="15525NISTXML-SV-IV-list-gDay-pattern-2-4 tokoe:valid" result="pass"/><test-case name="15526NISTXML-SV-IV-list-gDay-pattern-2-5 tokoe:valid" result="pass"/><test-case name="15527NISTSchema-SV-IV-list-gDay-pattern-3 tokoe:valid" result="pass"/><test-case name="15528NISTXML-SV-IV-list-gDay-pattern-3-1 tokoe:valid" result="pass"/><test-case name="15529NISTXML-SV-IV-list-gDay-pattern-3-2 tokoe:valid" result="pass"/><test-case name="15530NISTXML-SV-IV-list-gDay-pattern-3-3 tokoe:valid" result="pass"/><test-case name="15531NISTXML-SV-IV-list-gDay-pattern-3-4 tokoe:valid" result="pass"/><test-case name="15532NISTXML-SV-IV-list-gDay-pattern-3-5 tokoe:valid" result="pass"/><test-case name="15533NISTSchema-SV-IV-list-gDay-pattern-4 tokoe:valid" result="pass"/><test-case name="15534NISTXML-SV-IV-list-gDay-pattern-4-1 tokoe:valid" result="pass"/><test-case name="15535NISTXML-SV-IV-list-gDay-pattern-4-2 tokoe:valid" result="pass"/><test-case name="15536NISTXML-SV-IV-list-gDay-pattern-4-3 tokoe:valid" result="pass"/><test-case name="15537NISTXML-SV-IV-list-gDay-pattern-4-4 tokoe:valid" result="pass"/><test-case name="15538NISTXML-SV-IV-list-gDay-pattern-4-5 tokoe:valid" result="pass"/><test-case name="15539NISTSchema-SV-IV-list-gDay-pattern-5 tokoe:valid" result="pass"/><test-case name="15540NISTXML-SV-IV-list-gDay-pattern-5-1 tokoe:valid" result="pass"/><test-case name="15541NISTXML-SV-IV-list-gDay-pattern-5-2 tokoe:valid" result="pass"/><test-case name="15542NISTXML-SV-IV-list-gDay-pattern-5-3 tokoe:valid" result="pass"/><test-case name="15543NISTXML-SV-IV-list-gDay-pattern-5-4 tokoe:valid" result="pass"/><test-case name="15544NISTXML-SV-IV-list-gDay-pattern-5-5 tokoe:valid" result="pass"/><test-case name="15545NISTSchema-SV-IV-list-gDay-enumeration-1 tokoe:valid" result="pass"/><test-case name="15546NISTXML-SV-IV-list-gDay-enumeration-1-1 tokoe:valid" result="pass"/><test-case name="15547NISTXML-SV-IV-list-gDay-enumeration-1-2 tokoe:valid" result="pass"/><test-case name="15548NISTXML-SV-IV-list-gDay-enumeration-1-3 tokoe:valid" result="pass"/><test-case name="15549NISTXML-SV-IV-list-gDay-enumeration-1-4 tokoe:valid" result="pass"/><test-case name="15550NISTXML-SV-IV-list-gDay-enumeration-1-5 tokoe:valid" result="pass"/><test-case name="15551NISTSchema-SV-IV-list-gDay-enumeration-2 tokoe:valid" result="pass"/><test-case name="15552NISTXML-SV-IV-list-gDay-enumeration-2-1 tokoe:valid" result="pass"/><test-case name="15553NISTXML-SV-IV-list-gDay-enumeration-2-2 tokoe:valid" result="pass"/><test-case name="15554NISTXML-SV-IV-list-gDay-enumeration-2-3 tokoe:valid" result="pass"/><test-case name="15555NISTXML-SV-IV-list-gDay-enumeration-2-4 tokoe:valid" result="pass"/><test-case name="15556NISTXML-SV-IV-list-gDay-enumeration-2-5 tokoe:valid" result="pass"/><test-case name="15557NISTSchema-SV-IV-list-gDay-enumeration-3 tokoe:valid" result="pass"/><test-case name="15558NISTXML-SV-IV-list-gDay-enumeration-3-1 tokoe:valid" result="pass"/><test-case name="15559NISTXML-SV-IV-list-gDay-enumeration-3-2 tokoe:valid" result="pass"/><test-case name="15560NISTXML-SV-IV-list-gDay-enumeration-3-3 tokoe:valid" result="pass"/><test-case name="15561NISTXML-SV-IV-list-gDay-enumeration-3-4 tokoe:valid" result="pass"/><test-case name="15562NISTXML-SV-IV-list-gDay-enumeration-3-5 tokoe:valid" result="pass"/><test-case name="15563NISTSchema-SV-IV-list-gDay-enumeration-4 tokoe:valid" result="pass"/><test-case name="15564NISTXML-SV-IV-list-gDay-enumeration-4-1 tokoe:valid" result="pass"/><test-case name="15565NISTXML-SV-IV-list-gDay-enumeration-4-2 tokoe:valid" result="pass"/><test-case name="15566NISTXML-SV-IV-list-gDay-enumeration-4-3 tokoe:valid" result="pass"/><test-case name="15567NISTXML-SV-IV-list-gDay-enumeration-4-4 tokoe:valid" result="pass"/><test-case name="15568NISTXML-SV-IV-list-gDay-enumeration-4-5 tokoe:valid" result="pass"/><test-case name="15569NISTSchema-SV-IV-list-gDay-enumeration-5 tokoe:valid" result="pass"/><test-case name="15570NISTXML-SV-IV-list-gDay-enumeration-5-1 tokoe:valid" result="pass"/><test-case name="15571NISTXML-SV-IV-list-gDay-enumeration-5-2 tokoe:valid" result="pass"/><test-case name="15572NISTXML-SV-IV-list-gDay-enumeration-5-3 tokoe:valid" result="pass"/><test-case name="15573NISTXML-SV-IV-list-gDay-enumeration-5-4 tokoe:valid" result="pass"/><test-case name="15574NISTXML-SV-IV-list-gDay-enumeration-5-5 tokoe:valid" result="pass"/><test-case name="15575NISTSchema-SV-IV-list-gDay-whiteSpace-1 tokoe:valid" result="pass"/><test-case name="15576NISTXML-SV-IV-list-gDay-whiteSpace-1-1 tokoe:valid" result="pass"/><test-case name="15577NISTXML-SV-IV-list-gDay-whiteSpace-1-2 tokoe:valid" result="pass"/><test-case name="15578NISTXML-SV-IV-list-gDay-whiteSpace-1-3 tokoe:valid" result="pass"/><test-case name="15579NISTXML-SV-IV-list-gDay-whiteSpace-1-4 tokoe:valid" result="pass"/><test-case name="15580NISTXML-SV-IV-list-gDay-whiteSpace-1-5 tokoe:valid" result="pass"/><test-case name="15581NISTSchema-SV-IV-list-gMonth-maxLength-1 tokoe:valid" result="pass"/><test-case name="15582NISTXML-SV-IV-list-gMonth-maxLength-1-1 tokoe:valid" result="pass"/><test-case name="15583NISTXML-SV-IV-list-gMonth-maxLength-1-2 tokoe:valid" result="pass"/><test-case name="15584NISTXML-SV-IV-list-gMonth-maxLength-1-3 tokoe:valid" result="pass"/><test-case name="15585NISTXML-SV-IV-list-gMonth-maxLength-1-4 tokoe:valid" result="pass"/><test-case name="15586NISTXML-SV-IV-list-gMonth-maxLength-1-5 tokoe:valid" result="pass"/><test-case name="15587NISTSchema-SV-IV-list-gMonth-maxLength-2 tokoe:valid" result="pass"/><test-case name="15588NISTXML-SV-IV-list-gMonth-maxLength-2-1 tokoe:valid" result="pass"/><test-case name="15589NISTXML-SV-IV-list-gMonth-maxLength-2-2 tokoe:valid" result="pass"/><test-case name="15590NISTXML-SV-IV-list-gMonth-maxLength-2-3 tokoe:valid" result="pass"/><test-case name="15591NISTXML-SV-IV-list-gMonth-maxLength-2-4 tokoe:valid" result="pass"/><test-case name="15592NISTXML-SV-IV-list-gMonth-maxLength-2-5 tokoe:valid" result="pass"/><test-case name="15593NISTSchema-SV-IV-list-gMonth-maxLength-3 tokoe:valid" result="pass"/><test-case name="15594NISTXML-SV-IV-list-gMonth-maxLength-3-1 tokoe:valid" result="pass"/><test-case name="15595NISTXML-SV-IV-list-gMonth-maxLength-3-2 tokoe:valid" result="pass"/><test-case name="15596NISTXML-SV-IV-list-gMonth-maxLength-3-3 tokoe:valid" result="pass"/><test-case name="15597NISTXML-SV-IV-list-gMonth-maxLength-3-4 tokoe:valid" result="pass"/><test-case name="15598NISTXML-SV-IV-list-gMonth-maxLength-3-5 tokoe:valid" result="pass"/><test-case name="15599NISTSchema-SV-IV-list-gMonth-maxLength-4 tokoe:valid" result="pass"/><test-case name="15600NISTXML-SV-IV-list-gMonth-maxLength-4-1 tokoe:valid" result="pass"/><test-case name="15601NISTXML-SV-IV-list-gMonth-maxLength-4-2 tokoe:valid" result="pass"/><test-case name="15602NISTXML-SV-IV-list-gMonth-maxLength-4-3 tokoe:valid" result="pass"/><test-case name="15603NISTXML-SV-IV-list-gMonth-maxLength-4-4 tokoe:valid" result="pass"/><test-case name="15604NISTXML-SV-IV-list-gMonth-maxLength-4-5 tokoe:valid" result="pass"/><test-case name="15605NISTSchema-SV-IV-list-gMonth-maxLength-5 tokoe:valid" result="pass"/><test-case name="15606NISTXML-SV-IV-list-gMonth-maxLength-5-1 tokoe:valid" result="pass"/><test-case name="15607NISTXML-SV-IV-list-gMonth-maxLength-5-2 tokoe:valid" result="pass"/><test-case name="15608NISTXML-SV-IV-list-gMonth-maxLength-5-3 tokoe:valid" result="pass"/><test-case name="15609NISTXML-SV-IV-list-gMonth-maxLength-5-4 tokoe:valid" result="pass"/><test-case name="15610NISTXML-SV-IV-list-gMonth-maxLength-5-5 tokoe:valid" result="pass"/><test-case name="15611NISTSchema-SV-IV-list-gMonth-minLength-1 tokoe:valid" result="pass"/><test-case name="15612NISTXML-SV-IV-list-gMonth-minLength-1-1 tokoe:valid" result="pass"/><test-case name="15613NISTXML-SV-IV-list-gMonth-minLength-1-2 tokoe:valid" result="pass"/><test-case name="15614NISTXML-SV-IV-list-gMonth-minLength-1-3 tokoe:valid" result="pass"/><test-case name="15615NISTXML-SV-IV-list-gMonth-minLength-1-4 tokoe:valid" result="pass"/><test-case name="15616NISTXML-SV-IV-list-gMonth-minLength-1-5 tokoe:valid" result="pass"/><test-case name="15617NISTSchema-SV-IV-list-gMonth-minLength-2 tokoe:valid" result="pass"/><test-case name="15618NISTXML-SV-IV-list-gMonth-minLength-2-1 tokoe:valid" result="pass"/><test-case name="15619NISTXML-SV-IV-list-gMonth-minLength-2-2 tokoe:valid" result="pass"/><test-case name="15620NISTXML-SV-IV-list-gMonth-minLength-2-3 tokoe:valid" result="pass"/><test-case name="15621NISTXML-SV-IV-list-gMonth-minLength-2-4 tokoe:valid" result="pass"/><test-case name="15622NISTXML-SV-IV-list-gMonth-minLength-2-5 tokoe:valid" result="pass"/><test-case name="15623NISTSchema-SV-IV-list-gMonth-minLength-3 tokoe:valid" result="pass"/><test-case name="15624NISTXML-SV-IV-list-gMonth-minLength-3-1 tokoe:valid" result="pass"/><test-case name="15625NISTXML-SV-IV-list-gMonth-minLength-3-2 tokoe:valid" result="pass"/><test-case name="15626NISTXML-SV-IV-list-gMonth-minLength-3-3 tokoe:valid" result="pass"/><test-case name="15627NISTXML-SV-IV-list-gMonth-minLength-3-4 tokoe:valid" result="pass"/><test-case name="15628NISTXML-SV-IV-list-gMonth-minLength-3-5 tokoe:valid" result="pass"/><test-case name="15629NISTSchema-SV-IV-list-gMonth-minLength-4 tokoe:valid" result="pass"/><test-case name="15630NISTXML-SV-IV-list-gMonth-minLength-4-1 tokoe:valid" result="pass"/><test-case name="15631NISTXML-SV-IV-list-gMonth-minLength-4-2 tokoe:valid" result="pass"/><test-case name="15632NISTXML-SV-IV-list-gMonth-minLength-4-3 tokoe:valid" result="pass"/><test-case name="15633NISTXML-SV-IV-list-gMonth-minLength-4-4 tokoe:valid" result="pass"/><test-case name="15634NISTXML-SV-IV-list-gMonth-minLength-4-5 tokoe:valid" result="pass"/><test-case name="15635NISTSchema-SV-IV-list-gMonth-minLength-5 tokoe:valid" result="pass"/><test-case name="15636NISTXML-SV-IV-list-gMonth-minLength-5-1 tokoe:valid" result="pass"/><test-case name="15637NISTXML-SV-IV-list-gMonth-minLength-5-2 tokoe:valid" result="pass"/><test-case name="15638NISTXML-SV-IV-list-gMonth-minLength-5-3 tokoe:valid" result="pass"/><test-case name="15639NISTXML-SV-IV-list-gMonth-minLength-5-4 tokoe:valid" result="pass"/><test-case name="15640NISTXML-SV-IV-list-gMonth-minLength-5-5 tokoe:valid" result="pass"/><test-case name="15641NISTSchema-SV-IV-list-gMonth-length-1 tokoe:valid" result="pass"/><test-case name="15642NISTXML-SV-IV-list-gMonth-length-1-1 tokoe:valid" result="pass"/><test-case name="15643NISTXML-SV-IV-list-gMonth-length-1-2 tokoe:valid" result="pass"/><test-case name="15644NISTXML-SV-IV-list-gMonth-length-1-3 tokoe:valid" result="pass"/><test-case name="15645NISTXML-SV-IV-list-gMonth-length-1-4 tokoe:valid" result="pass"/><test-case name="15646NISTXML-SV-IV-list-gMonth-length-1-5 tokoe:valid" result="pass"/><test-case name="15647NISTSchema-SV-IV-list-gMonth-length-2 tokoe:valid" result="pass"/><test-case name="15648NISTXML-SV-IV-list-gMonth-length-2-1 tokoe:valid" result="pass"/><test-case name="15649NISTXML-SV-IV-list-gMonth-length-2-2 tokoe:valid" result="pass"/><test-case name="15650NISTXML-SV-IV-list-gMonth-length-2-3 tokoe:valid" result="pass"/><test-case name="15651NISTXML-SV-IV-list-gMonth-length-2-4 tokoe:valid" result="pass"/><test-case name="15652NISTXML-SV-IV-list-gMonth-length-2-5 tokoe:valid" result="pass"/><test-case name="15653NISTSchema-SV-IV-list-gMonth-length-3 tokoe:valid" result="pass"/><test-case name="15654NISTXML-SV-IV-list-gMonth-length-3-1 tokoe:valid" result="pass"/><test-case name="15655NISTXML-SV-IV-list-gMonth-length-3-2 tokoe:valid" result="pass"/><test-case name="15656NISTXML-SV-IV-list-gMonth-length-3-3 tokoe:valid" result="pass"/><test-case name="15657NISTXML-SV-IV-list-gMonth-length-3-4 tokoe:valid" result="pass"/><test-case name="15658NISTXML-SV-IV-list-gMonth-length-3-5 tokoe:valid" result="pass"/><test-case name="15659NISTSchema-SV-IV-list-gMonth-length-4 tokoe:valid" result="pass"/><test-case name="15660NISTXML-SV-IV-list-gMonth-length-4-1 tokoe:valid" result="pass"/><test-case name="15661NISTXML-SV-IV-list-gMonth-length-4-2 tokoe:valid" result="pass"/><test-case name="15662NISTXML-SV-IV-list-gMonth-length-4-3 tokoe:valid" result="pass"/><test-case name="15663NISTXML-SV-IV-list-gMonth-length-4-4 tokoe:valid" result="pass"/><test-case name="15664NISTXML-SV-IV-list-gMonth-length-4-5 tokoe:valid" result="pass"/><test-case name="15665NISTSchema-SV-IV-list-gMonth-length-5 tokoe:valid" result="pass"/><test-case name="15666NISTXML-SV-IV-list-gMonth-length-5-1 tokoe:valid" result="pass"/><test-case name="15667NISTXML-SV-IV-list-gMonth-length-5-2 tokoe:valid" result="pass"/><test-case name="15668NISTXML-SV-IV-list-gMonth-length-5-3 tokoe:valid" result="pass"/><test-case name="15669NISTXML-SV-IV-list-gMonth-length-5-4 tokoe:valid" result="pass"/><test-case name="15670NISTXML-SV-IV-list-gMonth-length-5-5 tokoe:valid" result="pass"/><test-case name="15671NISTSchema-SV-IV-list-gMonth-pattern-1 tokoe:valid" result="pass"/><test-case name="15672NISTXML-SV-IV-list-gMonth-pattern-1-1 tokoe:valid" result="pass"/><test-case name="15673NISTXML-SV-IV-list-gMonth-pattern-1-2 tokoe:valid" result="pass"/><test-case name="15674NISTXML-SV-IV-list-gMonth-pattern-1-3 tokoe:valid" result="pass"/><test-case name="15675NISTXML-SV-IV-list-gMonth-pattern-1-4 tokoe:valid" result="pass"/><test-case name="15676NISTXML-SV-IV-list-gMonth-pattern-1-5 tokoe:valid" result="pass"/><test-case name="15677NISTSchema-SV-IV-list-gMonth-pattern-2 tokoe:valid" result="pass"/><test-case name="15678NISTXML-SV-IV-list-gMonth-pattern-2-1 tokoe:valid" result="pass"/><test-case name="15679NISTXML-SV-IV-list-gMonth-pattern-2-2 tokoe:valid" result="pass"/><test-case name="15680NISTXML-SV-IV-list-gMonth-pattern-2-3 tokoe:valid" result="pass"/><test-case name="15681NISTXML-SV-IV-list-gMonth-pattern-2-4 tokoe:valid" result="pass"/><test-case name="15682NISTXML-SV-IV-list-gMonth-pattern-2-5 tokoe:valid" result="pass"/><test-case name="15683NISTSchema-SV-IV-list-gMonth-pattern-3 tokoe:valid" result="pass"/><test-case name="15684NISTXML-SV-IV-list-gMonth-pattern-3-1 tokoe:valid" result="pass"/><test-case name="15685NISTXML-SV-IV-list-gMonth-pattern-3-2 tokoe:valid" result="pass"/><test-case name="15686NISTXML-SV-IV-list-gMonth-pattern-3-3 tokoe:valid" result="pass"/><test-case name="15687NISTXML-SV-IV-list-gMonth-pattern-3-4 tokoe:valid" result="pass"/><test-case name="15688NISTXML-SV-IV-list-gMonth-pattern-3-5 tokoe:valid" result="pass"/><test-case name="15689NISTSchema-SV-IV-list-gMonth-pattern-4 tokoe:valid" result="pass"/><test-case name="15690NISTXML-SV-IV-list-gMonth-pattern-4-1 tokoe:valid" result="pass"/><test-case name="15691NISTXML-SV-IV-list-gMonth-pattern-4-2 tokoe:valid" result="pass"/><test-case name="15692NISTXML-SV-IV-list-gMonth-pattern-4-3 tokoe:valid" result="pass"/><test-case name="15693NISTXML-SV-IV-list-gMonth-pattern-4-4 tokoe:valid" result="pass"/><test-case name="15694NISTXML-SV-IV-list-gMonth-pattern-4-5 tokoe:valid" result="pass"/><test-case name="15695NISTSchema-SV-IV-list-gMonth-pattern-5 tokoe:valid" result="pass"/><test-case name="15696NISTXML-SV-IV-list-gMonth-pattern-5-1 tokoe:valid" result="pass"/><test-case name="15697NISTXML-SV-IV-list-gMonth-pattern-5-2 tokoe:valid" result="pass"/><test-case name="15698NISTXML-SV-IV-list-gMonth-pattern-5-3 tokoe:valid" result="pass"/><test-case name="15699NISTXML-SV-IV-list-gMonth-pattern-5-4 tokoe:valid" result="pass"/><test-case name="15700NISTXML-SV-IV-list-gMonth-pattern-5-5 tokoe:valid" result="pass"/><test-case name="15701NISTSchema-SV-IV-list-gMonth-enumeration-1 tokoe:valid" result="pass"/><test-case name="15702NISTXML-SV-IV-list-gMonth-enumeration-1-1 tokoe:valid" result="pass"/><test-case name="15703NISTXML-SV-IV-list-gMonth-enumeration-1-2 tokoe:valid" result="pass"/><test-case name="15704NISTXML-SV-IV-list-gMonth-enumeration-1-3 tokoe:valid" result="pass"/><test-case name="15705NISTXML-SV-IV-list-gMonth-enumeration-1-4 tokoe:valid" result="pass"/><test-case name="15706NISTXML-SV-IV-list-gMonth-enumeration-1-5 tokoe:valid" result="pass"/><test-case name="15707NISTSchema-SV-IV-list-gMonth-enumeration-2 tokoe:valid" result="pass"/><test-case name="15708NISTXML-SV-IV-list-gMonth-enumeration-2-1 tokoe:valid" result="pass"/><test-case name="15709NISTXML-SV-IV-list-gMonth-enumeration-2-2 tokoe:valid" result="pass"/><test-case name="15710NISTXML-SV-IV-list-gMonth-enumeration-2-3 tokoe:valid" result="pass"/><test-case name="15711NISTXML-SV-IV-list-gMonth-enumeration-2-4 tokoe:valid" result="pass"/><test-case name="15712NISTXML-SV-IV-list-gMonth-enumeration-2-5 tokoe:valid" result="pass"/><test-case name="15713NISTSchema-SV-IV-list-gMonth-enumeration-3 tokoe:valid" result="pass"/><test-case name="15714NISTXML-SV-IV-list-gMonth-enumeration-3-1 tokoe:valid" result="pass"/><test-case name="15715NISTXML-SV-IV-list-gMonth-enumeration-3-2 tokoe:valid" result="pass"/><test-case name="15716NISTXML-SV-IV-list-gMonth-enumeration-3-3 tokoe:valid" result="pass"/><test-case name="15717NISTXML-SV-IV-list-gMonth-enumeration-3-4 tokoe:valid" result="pass"/><test-case name="15718NISTXML-SV-IV-list-gMonth-enumeration-3-5 tokoe:valid" result="pass"/><test-case name="15719NISTSchema-SV-IV-list-gMonth-enumeration-4 tokoe:valid" result="pass"/><test-case name="15720NISTXML-SV-IV-list-gMonth-enumeration-4-1 tokoe:valid" result="pass"/><test-case name="15721NISTXML-SV-IV-list-gMonth-enumeration-4-2 tokoe:valid" result="pass"/><test-case name="15722NISTXML-SV-IV-list-gMonth-enumeration-4-3 tokoe:valid" result="pass"/><test-case name="15723NISTXML-SV-IV-list-gMonth-enumeration-4-4 tokoe:valid" result="pass"/><test-case name="15724NISTXML-SV-IV-list-gMonth-enumeration-4-5 tokoe:valid" result="pass"/><test-case name="15725NISTSchema-SV-IV-list-gMonth-enumeration-5 tokoe:valid" result="pass"/><test-case name="15726NISTXML-SV-IV-list-gMonth-enumeration-5-1 tokoe:valid" result="pass"/><test-case name="15727NISTXML-SV-IV-list-gMonth-enumeration-5-2 tokoe:valid" result="pass"/><test-case name="15728NISTXML-SV-IV-list-gMonth-enumeration-5-3 tokoe:valid" result="pass"/><test-case name="15729NISTXML-SV-IV-list-gMonth-enumeration-5-4 tokoe:valid" result="pass"/><test-case name="15730NISTXML-SV-IV-list-gMonth-enumeration-5-5 tokoe:valid" result="pass"/><test-case name="15731NISTSchema-SV-IV-list-gMonth-whiteSpace-1 tokoe:valid" result="pass"/><test-case name="15732NISTXML-SV-IV-list-gMonth-whiteSpace-1-1 tokoe:valid" result="pass"/><test-case name="15733NISTXML-SV-IV-list-gMonth-whiteSpace-1-2 tokoe:valid" result="pass"/><test-case name="15734NISTXML-SV-IV-list-gMonth-whiteSpace-1-3 tokoe:valid" result="pass"/><test-case name="15735NISTXML-SV-IV-list-gMonth-whiteSpace-1-4 tokoe:valid" result="pass"/><test-case name="15736NISTXML-SV-IV-list-gMonth-whiteSpace-1-5 tokoe:valid" result="pass"/><test-case name="15737NISTSchema-SV-IV-list-string-maxLength-1 tokoe:valid" result="pass"/><test-case name="15738NISTXML-SV-IV-list-string-maxLength-1-1 tokoe:valid" result="pass"/><test-case name="15739NISTXML-SV-IV-list-string-maxLength-1-2 tokoe:valid" result="pass"/><test-case name="15740NISTXML-SV-IV-list-string-maxLength-1-3 tokoe:valid" result="pass"/><test-case name="15741NISTXML-SV-IV-list-string-maxLength-1-4 tokoe:valid" result="pass"/><test-case name="15742NISTXML-SV-IV-list-string-maxLength-1-5 tokoe:valid" result="pass"/><test-case name="15743NISTSchema-SV-IV-list-string-maxLength-2 tokoe:valid" result="pass"/><test-case name="15744NISTXML-SV-IV-list-string-maxLength-2-1 tokoe:valid" result="pass"/><test-case name="15745NISTXML-SV-IV-list-string-maxLength-2-2 tokoe:valid" result="pass"/><test-case name="15746NISTXML-SV-IV-list-string-maxLength-2-3 tokoe:valid" result="pass"/><test-case name="15747NISTXML-SV-IV-list-string-maxLength-2-4 tokoe:valid" result="pass"/><test-case name="15748NISTXML-SV-IV-list-string-maxLength-2-5 tokoe:valid" result="pass"/><test-case name="15749NISTSchema-SV-IV-list-string-maxLength-3 tokoe:valid" result="pass"/><test-case name="15750NISTXML-SV-IV-list-string-maxLength-3-1 tokoe:valid" result="pass"/><test-case name="15751NISTXML-SV-IV-list-string-maxLength-3-2 tokoe:valid" result="pass"/><test-case name="15752NISTXML-SV-IV-list-string-maxLength-3-3 tokoe:valid" result="pass"/><test-case name="15753NISTXML-SV-IV-list-string-maxLength-3-4 tokoe:valid" result="pass"/><test-case name="15754NISTXML-SV-IV-list-string-maxLength-3-5 tokoe:valid" result="pass"/><test-case name="15755NISTSchema-SV-IV-list-string-maxLength-4 tokoe:valid" result="pass"/><test-case name="15756NISTXML-SV-IV-list-string-maxLength-4-1 tokoe:valid" result="pass"/><test-case name="15757NISTXML-SV-IV-list-string-maxLength-4-2 tokoe:valid" result="pass"/><test-case name="15758NISTXML-SV-IV-list-string-maxLength-4-3 tokoe:valid" result="pass"/><test-case name="15759NISTXML-SV-IV-list-string-maxLength-4-4 tokoe:valid" result="pass"/><test-case name="15760NISTXML-SV-IV-list-string-maxLength-4-5 tokoe:valid" result="pass"/><test-case name="15761NISTSchema-SV-IV-list-string-maxLength-5 tokoe:valid" result="pass"/><test-case name="15762NISTXML-SV-IV-list-string-maxLength-5-1 tokoe:valid" result="pass"/><test-case name="15763NISTXML-SV-IV-list-string-maxLength-5-2 tokoe:valid" result="pass"/><test-case name="15764NISTXML-SV-IV-list-string-maxLength-5-3 tokoe:valid" result="pass"/><test-case name="15765NISTXML-SV-IV-list-string-maxLength-5-4 tokoe:valid" result="pass"/><test-case name="15766NISTXML-SV-IV-list-string-maxLength-5-5 tokoe:valid" result="pass"/><test-case name="15767NISTSchema-SV-IV-list-string-minLength-1 tokoe:valid" result="pass"/><test-case name="15768NISTXML-SV-IV-list-string-minLength-1-1 tokoe:valid" result="pass"/><test-case name="15769NISTXML-SV-IV-list-string-minLength-1-2 tokoe:valid" result="pass"/><test-case name="15770NISTXML-SV-IV-list-string-minLength-1-3 tokoe:valid" result="pass"/><test-case name="15771NISTXML-SV-IV-list-string-minLength-1-4 tokoe:valid" result="pass"/><test-case name="15772NISTXML-SV-IV-list-string-minLength-1-5 tokoe:valid" result="pass"/><test-case name="15773NISTSchema-SV-IV-list-string-minLength-2 tokoe:valid" result="pass"/><test-case name="15774NISTXML-SV-IV-list-string-minLength-2-1 tokoe:valid" result="pass"/><test-case name="15775NISTXML-SV-IV-list-string-minLength-2-2 tokoe:valid" result="pass"/><test-case name="15776NISTXML-SV-IV-list-string-minLength-2-3 tokoe:valid" result="pass"/><test-case name="15777NISTXML-SV-IV-list-string-minLength-2-4 tokoe:valid" result="pass"/><test-case name="15778NISTXML-SV-IV-list-string-minLength-2-5 tokoe:valid" result="pass"/><test-case name="15779NISTSchema-SV-IV-list-string-minLength-3 tokoe:valid" result="pass"/><test-case name="15780NISTXML-SV-IV-list-string-minLength-3-1 tokoe:valid" result="pass"/><test-case name="15781NISTXML-SV-IV-list-string-minLength-3-2 tokoe:valid" result="pass"/><test-case name="15782NISTXML-SV-IV-list-string-minLength-3-3 tokoe:valid" result="pass"/><test-case name="15783NISTXML-SV-IV-list-string-minLength-3-4 tokoe:valid" result="pass"/><test-case name="15784NISTXML-SV-IV-list-string-minLength-3-5 tokoe:valid" result="pass"/><test-case name="15785NISTSchema-SV-IV-list-string-minLength-4 tokoe:valid" result="pass"/><test-case name="15786NISTXML-SV-IV-list-string-minLength-4-1 tokoe:valid" result="pass"/><test-case name="15787NISTXML-SV-IV-list-string-minLength-4-2 tokoe:valid" result="pass"/><test-case name="15788NISTXML-SV-IV-list-string-minLength-4-3 tokoe:valid" result="pass"/><test-case name="15789NISTXML-SV-IV-list-string-minLength-4-4 tokoe:valid" result="pass"/><test-case name="15790NISTXML-SV-IV-list-string-minLength-4-5 tokoe:valid" result="pass"/><test-case name="15791NISTSchema-SV-IV-list-string-minLength-5 tokoe:valid" result="pass"/><test-case name="15792NISTXML-SV-IV-list-string-minLength-5-1 tokoe:valid" result="pass"/><test-case name="15793NISTXML-SV-IV-list-string-minLength-5-2 tokoe:valid" result="pass"/><test-case name="15794NISTXML-SV-IV-list-string-minLength-5-3 tokoe:valid" result="pass"/><test-case name="15795NISTXML-SV-IV-list-string-minLength-5-4 tokoe:valid" result="pass"/><test-case name="15796NISTXML-SV-IV-list-string-minLength-5-5 tokoe:valid" result="pass"/><test-case name="15797NISTSchema-SV-IV-list-string-length-1 tokoe:valid" result="pass"/><test-case name="15798NISTXML-SV-IV-list-string-length-1-1 tokoe:valid" result="pass"/><test-case name="15799NISTXML-SV-IV-list-string-length-1-2 tokoe:valid" result="pass"/><test-case name="15800NISTXML-SV-IV-list-string-length-1-3 tokoe:valid" result="pass"/><test-case name="15801NISTXML-SV-IV-list-string-length-1-4 tokoe:valid" result="pass"/><test-case name="15802NISTXML-SV-IV-list-string-length-1-5 tokoe:valid" result="pass"/><test-case name="15803NISTSchema-SV-IV-list-string-length-2 tokoe:valid" result="pass"/><test-case name="15804NISTXML-SV-IV-list-string-length-2-1 tokoe:valid" result="pass"/><test-case name="15805NISTXML-SV-IV-list-string-length-2-2 tokoe:valid" result="pass"/><test-case name="15806NISTXML-SV-IV-list-string-length-2-3 tokoe:valid" result="pass"/><test-case name="15807NISTXML-SV-IV-list-string-length-2-4 tokoe:valid" result="pass"/><test-case name="15808NISTXML-SV-IV-list-string-length-2-5 tokoe:valid" result="pass"/><test-case name="15809NISTSchema-SV-IV-list-string-length-3 tokoe:valid" result="pass"/><test-case name="15810NISTXML-SV-IV-list-string-length-3-1 tokoe:valid" result="pass"/><test-case name="15811NISTXML-SV-IV-list-string-length-3-2 tokoe:valid" result="pass"/><test-case name="15812NISTXML-SV-IV-list-string-length-3-3 tokoe:valid" result="pass"/><test-case name="15813NISTXML-SV-IV-list-string-length-3-4 tokoe:valid" result="pass"/><test-case name="15814NISTXML-SV-IV-list-string-length-3-5 tokoe:valid" result="pass"/><test-case name="15815NISTSchema-SV-IV-list-string-length-4 tokoe:valid" result="pass"/><test-case name="15816NISTXML-SV-IV-list-string-length-4-1 tokoe:valid" result="pass"/><test-case name="15817NISTXML-SV-IV-list-string-length-4-2 tokoe:valid" result="pass"/><test-case name="15818NISTXML-SV-IV-list-string-length-4-3 tokoe:valid" result="pass"/><test-case name="15819NISTXML-SV-IV-list-string-length-4-4 tokoe:valid" result="pass"/><test-case name="15820NISTXML-SV-IV-list-string-length-4-5 tokoe:valid" result="pass"/><test-case name="15821NISTSchema-SV-IV-list-string-length-5 tokoe:valid" result="pass"/><test-case name="15822NISTXML-SV-IV-list-string-length-5-1 tokoe:valid" result="pass"/><test-case name="15823NISTXML-SV-IV-list-string-length-5-2 tokoe:valid" result="pass"/><test-case name="15824NISTXML-SV-IV-list-string-length-5-3 tokoe:valid" result="pass"/><test-case name="15825NISTXML-SV-IV-list-string-length-5-4 tokoe:valid" result="pass"/><test-case name="15826NISTXML-SV-IV-list-string-length-5-5 tokoe:valid" result="pass"/><test-case name="15827NISTSchema-SV-IV-list-string-pattern-1 tokoe:valid" result="pass"/><test-case name="15828NISTXML-SV-IV-list-string-pattern-1-1 tokoe:valid" result="pass"/><test-case name="15829NISTXML-SV-IV-list-string-pattern-1-2 tokoe:valid" result="pass"/><test-case name="15830NISTXML-SV-IV-list-string-pattern-1-3 tokoe:valid" result="pass"/><test-case name="15831NISTXML-SV-IV-list-string-pattern-1-4 tokoe:valid" result="pass"/><test-case name="15832NISTXML-SV-IV-list-string-pattern-1-5 tokoe:valid" result="pass"/><test-case name="15833NISTSchema-SV-IV-list-string-pattern-2 tokoe:valid" result="pass"/><test-case name="15834NISTXML-SV-IV-list-string-pattern-2-1 tokoe:valid" result="pass"/><test-case name="15835NISTXML-SV-IV-list-string-pattern-2-2 tokoe:valid" result="pass"/><test-case name="15836NISTXML-SV-IV-list-string-pattern-2-3 tokoe:valid" result="pass"/><test-case name="15837NISTXML-SV-IV-list-string-pattern-2-4 tokoe:valid" result="pass"/><test-case name="15838NISTXML-SV-IV-list-string-pattern-2-5 tokoe:valid" result="pass"/><test-case name="15839NISTSchema-SV-IV-list-string-pattern-3 tokoe:valid" result="pass"/><test-case name="15840NISTXML-SV-IV-list-string-pattern-3-1 tokoe:valid" result="pass"/><test-case name="15841NISTXML-SV-IV-list-string-pattern-3-2 tokoe:valid" result="pass"/><test-case name="15842NISTXML-SV-IV-list-string-pattern-3-3 tokoe:valid" result="pass"/><test-case name="15843NISTXML-SV-IV-list-string-pattern-3-4 tokoe:valid" result="pass"/><test-case name="15844NISTXML-SV-IV-list-string-pattern-3-5 tokoe:valid" result="pass"/><test-case name="15845NISTSchema-SV-IV-list-string-pattern-4 tokoe:valid" result="pass"/><test-case name="15846NISTXML-SV-IV-list-string-pattern-4-1 tokoe:valid" result="pass"/><test-case name="15847NISTXML-SV-IV-list-string-pattern-4-2 tokoe:valid" result="pass"/><test-case name="15848NISTXML-SV-IV-list-string-pattern-4-3 tokoe:valid" result="pass"/><test-case name="15849NISTXML-SV-IV-list-string-pattern-4-4 tokoe:valid" result="pass"/><test-case name="15850NISTXML-SV-IV-list-string-pattern-4-5 tokoe:valid" result="pass"/><test-case name="15851NISTSchema-SV-IV-list-string-pattern-5 tokoe:valid" result="pass"/><test-case name="15852NISTXML-SV-IV-list-string-pattern-5-1 tokoe:valid" result="pass"/><test-case name="15853NISTXML-SV-IV-list-string-pattern-5-2 tokoe:valid" result="pass"/><test-case name="15854NISTXML-SV-IV-list-string-pattern-5-3 tokoe:valid" result="pass"/><test-case name="15855NISTXML-SV-IV-list-string-pattern-5-4 tokoe:valid" result="pass"/><test-case name="15856NISTXML-SV-IV-list-string-pattern-5-5 tokoe:valid" result="pass"/><test-case name="15857NISTSchema-SV-IV-list-string-enumeration-1 tokoe:valid" result="pass"/><test-case name="15858NISTXML-SV-IV-list-string-enumeration-1-1 tokoe:valid" result="pass"/><test-case name="15859NISTXML-SV-IV-list-string-enumeration-1-2 tokoe:valid" result="pass"/><test-case name="15860NISTXML-SV-IV-list-string-enumeration-1-3 tokoe:valid" result="pass"/><test-case name="15861NISTXML-SV-IV-list-string-enumeration-1-4 tokoe:valid" result="pass"/><test-case name="15862NISTXML-SV-IV-list-string-enumeration-1-5 tokoe:valid" result="pass"/><test-case name="15863NISTSchema-SV-IV-list-string-enumeration-2 tokoe:valid" result="pass"/><test-case name="15864NISTXML-SV-IV-list-string-enumeration-2-1 tokoe:valid" result="pass"/><test-case name="15865NISTXML-SV-IV-list-string-enumeration-2-2 tokoe:valid" result="pass"/><test-case name="15866NISTXML-SV-IV-list-string-enumeration-2-3 tokoe:valid" result="pass"/><test-case name="15867NISTXML-SV-IV-list-string-enumeration-2-4 tokoe:valid" result="pass"/><test-case name="15868NISTXML-SV-IV-list-string-enumeration-2-5 tokoe:valid" result="pass"/><test-case name="15869NISTSchema-SV-IV-list-string-enumeration-3 tokoe:valid" result="pass"/><test-case name="15870NISTXML-SV-IV-list-string-enumeration-3-1 tokoe:valid" result="pass"/><test-case name="15871NISTXML-SV-IV-list-string-enumeration-3-2 tokoe:valid" result="pass"/><test-case name="15872NISTXML-SV-IV-list-string-enumeration-3-3 tokoe:valid" result="pass"/><test-case name="15873NISTXML-SV-IV-list-string-enumeration-3-4 tokoe:valid" result="pass"/><test-case name="15874NISTXML-SV-IV-list-string-enumeration-3-5 tokoe:valid" result="pass"/><test-case name="15875NISTSchema-SV-IV-list-string-enumeration-4 tokoe:valid" result="pass"/><test-case name="15876NISTXML-SV-IV-list-string-enumeration-4-1 tokoe:valid" result="pass"/><test-case name="15877NISTXML-SV-IV-list-string-enumeration-4-2 tokoe:valid" result="pass"/><test-case name="15878NISTXML-SV-IV-list-string-enumeration-4-3 tokoe:valid" result="pass"/><test-case name="15879NISTXML-SV-IV-list-string-enumeration-4-4 tokoe:valid" result="pass"/><test-case name="15880NISTXML-SV-IV-list-string-enumeration-4-5 tokoe:valid" result="pass"/><test-case name="15881NISTSchema-SV-IV-list-string-enumeration-5 tokoe:valid" result="pass"/><test-case name="15882NISTXML-SV-IV-list-string-enumeration-5-1 tokoe:valid" result="pass"/><test-case name="15883NISTXML-SV-IV-list-string-enumeration-5-2 tokoe:valid" result="pass"/><test-case name="15884NISTXML-SV-IV-list-string-enumeration-5-3 tokoe:valid" result="pass"/><test-case name="15885NISTXML-SV-IV-list-string-enumeration-5-4 tokoe:valid" result="pass"/><test-case name="15886NISTXML-SV-IV-list-string-enumeration-5-5 tokoe:valid" result="pass"/><test-case name="15887NISTSchema-SV-IV-list-string-whiteSpace-1 tokoe:valid" result="pass"/><test-case name="15888NISTXML-SV-IV-list-string-whiteSpace-1-1 tokoe:valid" result="pass"/><test-case name="15889NISTXML-SV-IV-list-string-whiteSpace-1-2 tokoe:valid" result="pass"/><test-case name="15890NISTXML-SV-IV-list-string-whiteSpace-1-3 tokoe:valid" result="pass"/><test-case name="15891NISTXML-SV-IV-list-string-whiteSpace-1-4 tokoe:valid" result="pass"/><test-case name="15892NISTXML-SV-IV-list-string-whiteSpace-1-5 tokoe:valid" result="pass"/><test-case name="15893NISTSchema-SV-IV-list-normalizedString-maxLength-1 tokoe:valid" result="pass"/><test-case name="15894NISTXML-SV-IV-list-normalizedString-maxLength-1-1 tokoe:valid" result="pass"/><test-case name="15895NISTXML-SV-IV-list-normalizedString-maxLength-1-2 tokoe:valid" result="pass"/><test-case name="15896NISTXML-SV-IV-list-normalizedString-maxLength-1-3 tokoe:valid" result="pass"/><test-case name="15897NISTXML-SV-IV-list-normalizedString-maxLength-1-4 tokoe:valid" result="pass"/><test-case name="15898NISTXML-SV-IV-list-normalizedString-maxLength-1-5 tokoe:valid" result="pass"/><test-case name="15899NISTSchema-SV-IV-list-normalizedString-maxLength-2 tokoe:valid" result="pass"/><test-case name="15900NISTXML-SV-IV-list-normalizedString-maxLength-2-1 tokoe:valid" result="pass"/><test-case name="15901NISTXML-SV-IV-list-normalizedString-maxLength-2-2 tokoe:valid" result="pass"/><test-case name="15902NISTXML-SV-IV-list-normalizedString-maxLength-2-3 tokoe:valid" result="pass"/><test-case name="15903NISTXML-SV-IV-list-normalizedString-maxLength-2-4 tokoe:valid" result="pass"/><test-case name="15904NISTXML-SV-IV-list-normalizedString-maxLength-2-5 tokoe:valid" result="pass"/><test-case name="15905NISTSchema-SV-IV-list-normalizedString-maxLength-3 tokoe:valid" result="pass"/><test-case name="15906NISTXML-SV-IV-list-normalizedString-maxLength-3-1 tokoe:valid" result="pass"/><test-case name="15907NISTXML-SV-IV-list-normalizedString-maxLength-3-2 tokoe:valid" result="pass"/><test-case name="15908NISTXML-SV-IV-list-normalizedString-maxLength-3-3 tokoe:valid" result="pass"/><test-case name="15909NISTXML-SV-IV-list-normalizedString-maxLength-3-4 tokoe:valid" result="pass"/><test-case name="15910NISTXML-SV-IV-list-normalizedString-maxLength-3-5 tokoe:valid" result="pass"/><test-case name="15911NISTSchema-SV-IV-list-normalizedString-maxLength-4 tokoe:valid" result="pass"/><test-case name="15912NISTXML-SV-IV-list-normalizedString-maxLength-4-1 tokoe:valid" result="pass"/><test-case name="15913NISTXML-SV-IV-list-normalizedString-maxLength-4-2 tokoe:valid" result="pass"/><test-case name="15914NISTXML-SV-IV-list-normalizedString-maxLength-4-3 tokoe:valid" result="pass"/><test-case name="15915NISTXML-SV-IV-list-normalizedString-maxLength-4-4 tokoe:valid" result="pass"/><test-case name="15916NISTXML-SV-IV-list-normalizedString-maxLength-4-5 tokoe:valid" result="pass"/><test-case name="15917NISTSchema-SV-IV-list-normalizedString-maxLength-5 tokoe:valid" result="pass"/><test-case name="15918NISTXML-SV-IV-list-normalizedString-maxLength-5-1 tokoe:valid" result="pass"/><test-case name="15919NISTXML-SV-IV-list-normalizedString-maxLength-5-2 tokoe:valid" result="pass"/><test-case name="15920NISTXML-SV-IV-list-normalizedString-maxLength-5-3 tokoe:valid" result="pass"/><test-case name="15921NISTXML-SV-IV-list-normalizedString-maxLength-5-4 tokoe:valid" result="pass"/><test-case name="15922NISTXML-SV-IV-list-normalizedString-maxLength-5-5 tokoe:valid" result="pass"/><test-case name="15923NISTSchema-SV-IV-list-normalizedString-minLength-1 tokoe:valid" result="pass"/><test-case name="15924NISTXML-SV-IV-list-normalizedString-minLength-1-1 tokoe:valid" result="pass"/><test-case name="15925NISTXML-SV-IV-list-normalizedString-minLength-1-2 tokoe:valid" result="pass"/><test-case name="15926NISTXML-SV-IV-list-normalizedString-minLength-1-3 tokoe:valid" result="pass"/><test-case name="15927NISTXML-SV-IV-list-normalizedString-minLength-1-4 tokoe:valid" result="pass"/><test-case name="15928NISTXML-SV-IV-list-normalizedString-minLength-1-5 tokoe:valid" result="pass"/><test-case name="15929NISTSchema-SV-IV-list-normalizedString-minLength-2 tokoe:valid" result="pass"/><test-case name="15930NISTXML-SV-IV-list-normalizedString-minLength-2-1 tokoe:valid" result="pass"/><test-case name="15931NISTXML-SV-IV-list-normalizedString-minLength-2-2 tokoe:valid" result="pass"/><test-case name="15932NISTXML-SV-IV-list-normalizedString-minLength-2-3 tokoe:valid" result="pass"/><test-case name="15933NISTXML-SV-IV-list-normalizedString-minLength-2-4 tokoe:valid" result="pass"/><test-case name="15934NISTXML-SV-IV-list-normalizedString-minLength-2-5 tokoe:valid" result="pass"/><test-case name="15935NISTSchema-SV-IV-list-normalizedString-minLength-3 tokoe:valid" result="pass"/><test-case name="15936NISTXML-SV-IV-list-normalizedString-minLength-3-1 tokoe:valid" result="pass"/><test-case name="15937NISTXML-SV-IV-list-normalizedString-minLength-3-2 tokoe:valid" result="pass"/><test-case name="15938NISTXML-SV-IV-list-normalizedString-minLength-3-3 tokoe:valid" result="pass"/><test-case name="15939NISTXML-SV-IV-list-normalizedString-minLength-3-4 tokoe:valid" result="pass"/><test-case name="15940NISTXML-SV-IV-list-normalizedString-minLength-3-5 tokoe:valid" result="pass"/><test-case name="15941NISTSchema-SV-IV-list-normalizedString-minLength-4 tokoe:valid" result="pass"/><test-case name="15942NISTXML-SV-IV-list-normalizedString-minLength-4-1 tokoe:valid" result="pass"/><test-case name="15943NISTXML-SV-IV-list-normalizedString-minLength-4-2 tokoe:valid" result="pass"/><test-case name="15944NISTXML-SV-IV-list-normalizedString-minLength-4-3 tokoe:valid" result="pass"/><test-case name="15945NISTXML-SV-IV-list-normalizedString-minLength-4-4 tokoe:valid" result="pass"/><test-case name="15946NISTXML-SV-IV-list-normalizedString-minLength-4-5 tokoe:valid" result="pass"/><test-case name="15947NISTSchema-SV-IV-list-normalizedString-minLength-5 tokoe:valid" result="pass"/><test-case name="15948NISTXML-SV-IV-list-normalizedString-minLength-5-1 tokoe:valid" result="pass"/><test-case name="15949NISTXML-SV-IV-list-normalizedString-minLength-5-2 tokoe:valid" result="pass"/><test-case name="15950NISTXML-SV-IV-list-normalizedString-minLength-5-3 tokoe:valid" result="pass"/><test-case name="15951NISTXML-SV-IV-list-normalizedString-minLength-5-4 tokoe:valid" result="pass"/><test-case name="15952NISTXML-SV-IV-list-normalizedString-minLength-5-5 tokoe:valid" result="pass"/><test-case name="15953NISTSchema-SV-IV-list-normalizedString-length-1 tokoe:valid" result="pass"/><test-case name="15954NISTXML-SV-IV-list-normalizedString-length-1-1 tokoe:valid" result="pass"/><test-case name="15955NISTXML-SV-IV-list-normalizedString-length-1-2 tokoe:valid" result="pass"/><test-case name="15956NISTXML-SV-IV-list-normalizedString-length-1-3 tokoe:valid" result="pass"/><test-case name="15957NISTXML-SV-IV-list-normalizedString-length-1-4 tokoe:valid" result="pass"/><test-case name="15958NISTXML-SV-IV-list-normalizedString-length-1-5 tokoe:valid" result="pass"/><test-case name="15959NISTSchema-SV-IV-list-normalizedString-length-2 tokoe:valid" result="pass"/><test-case name="15960NISTXML-SV-IV-list-normalizedString-length-2-1 tokoe:valid" result="pass"/><test-case name="15961NISTXML-SV-IV-list-normalizedString-length-2-2 tokoe:valid" result="pass"/><test-case name="15962NISTXML-SV-IV-list-normalizedString-length-2-3 tokoe:valid" result="pass"/><test-case name="15963NISTXML-SV-IV-list-normalizedString-length-2-4 tokoe:valid" result="pass"/><test-case name="15964NISTXML-SV-IV-list-normalizedString-length-2-5 tokoe:valid" result="pass"/><test-case name="15965NISTSchema-SV-IV-list-normalizedString-length-3 tokoe:valid" result="pass"/><test-case name="15966NISTXML-SV-IV-list-normalizedString-length-3-1 tokoe:valid" result="pass"/><test-case name="15967NISTXML-SV-IV-list-normalizedString-length-3-2 tokoe:valid" result="pass"/><test-case name="15968NISTXML-SV-IV-list-normalizedString-length-3-3 tokoe:valid" result="pass"/><test-case name="15969NISTXML-SV-IV-list-normalizedString-length-3-4 tokoe:valid" result="pass"/><test-case name="15970NISTXML-SV-IV-list-normalizedString-length-3-5 tokoe:valid" result="pass"/><test-case name="15971NISTSchema-SV-IV-list-normalizedString-length-4 tokoe:valid" result="pass"/><test-case name="15972NISTXML-SV-IV-list-normalizedString-length-4-1 tokoe:valid" result="pass"/><test-case name="15973NISTXML-SV-IV-list-normalizedString-length-4-2 tokoe:valid" result="pass"/><test-case name="15974NISTXML-SV-IV-list-normalizedString-length-4-3 tokoe:valid" result="pass"/><test-case name="15975NISTXML-SV-IV-list-normalizedString-length-4-4 tokoe:valid" result="pass"/><test-case name="15976NISTXML-SV-IV-list-normalizedString-length-4-5 tokoe:valid" result="pass"/><test-case name="15977NISTSchema-SV-IV-list-normalizedString-length-5 tokoe:valid" result="pass"/><test-case name="15978NISTXML-SV-IV-list-normalizedString-length-5-1 tokoe:valid" result="pass"/><test-case name="15979NISTXML-SV-IV-list-normalizedString-length-5-2 tokoe:valid" result="pass"/><test-case name="15980NISTXML-SV-IV-list-normalizedString-length-5-3 tokoe:valid" result="pass"/><test-case name="15981NISTXML-SV-IV-list-normalizedString-length-5-4 tokoe:valid" result="pass"/><test-case name="15982NISTXML-SV-IV-list-normalizedString-length-5-5 tokoe:valid" result="pass"/><test-case name="15983NISTSchema-SV-IV-list-normalizedString-pattern-1 tokoe:valid" result="pass"/><test-case name="15984NISTXML-SV-IV-list-normalizedString-pattern-1-1 tokoe:valid" result="pass"/><test-case name="15985NISTXML-SV-IV-list-normalizedString-pattern-1-2 tokoe:valid" result="pass"/><test-case name="15986NISTXML-SV-IV-list-normalizedString-pattern-1-3 tokoe:valid" result="pass"/><test-case name="15987NISTXML-SV-IV-list-normalizedString-pattern-1-4 tokoe:valid" result="pass"/><test-case name="15988NISTXML-SV-IV-list-normalizedString-pattern-1-5 tokoe:valid" result="pass"/><test-case name="15989NISTSchema-SV-IV-list-normalizedString-pattern-2 tokoe:valid" result="pass"/><test-case name="15990NISTXML-SV-IV-list-normalizedString-pattern-2-1 tokoe:valid" result="pass"/><test-case name="15991NISTXML-SV-IV-list-normalizedString-pattern-2-2 tokoe:valid" result="pass"/><test-case name="15992NISTXML-SV-IV-list-normalizedString-pattern-2-3 tokoe:valid" result="pass"/><test-case name="15993NISTXML-SV-IV-list-normalizedString-pattern-2-4 tokoe:valid" result="pass"/><test-case name="15994NISTXML-SV-IV-list-normalizedString-pattern-2-5 tokoe:valid" result="pass"/><test-case name="15995NISTSchema-SV-IV-list-normalizedString-pattern-3 tokoe:valid" result="pass"/><test-case name="15996NISTXML-SV-IV-list-normalizedString-pattern-3-1 tokoe:valid" result="pass"/><test-case name="15997NISTXML-SV-IV-list-normalizedString-pattern-3-2 tokoe:valid" result="pass"/><test-case name="15998NISTXML-SV-IV-list-normalizedString-pattern-3-3 tokoe:valid" result="pass"/><test-case name="15999NISTXML-SV-IV-list-normalizedString-pattern-3-4 tokoe:valid" result="pass"/><test-case name="16000NISTXML-SV-IV-list-normalizedString-pattern-3-5 tokoe:valid" result="pass"/><test-case name="16001NISTSchema-SV-IV-list-normalizedString-pattern-4 tokoe:valid" result="pass"/><test-case name="16002NISTXML-SV-IV-list-normalizedString-pattern-4-1 tokoe:valid" result="pass"/><test-case name="16003NISTXML-SV-IV-list-normalizedString-pattern-4-2 tokoe:valid" result="pass"/><test-case name="16004NISTXML-SV-IV-list-normalizedString-pattern-4-3 tokoe:valid" result="pass"/><test-case name="16005NISTXML-SV-IV-list-normalizedString-pattern-4-4 tokoe:valid" result="pass"/><test-case name="16006NISTXML-SV-IV-list-normalizedString-pattern-4-5 tokoe:valid" result="pass"/><test-case name="16007NISTSchema-SV-IV-list-normalizedString-pattern-5 tokoe:valid" result="pass"/><test-case name="16008NISTXML-SV-IV-list-normalizedString-pattern-5-1 tokoe:valid" result="pass"/><test-case name="16009NISTXML-SV-IV-list-normalizedString-pattern-5-2 tokoe:valid" result="pass"/><test-case name="16010NISTXML-SV-IV-list-normalizedString-pattern-5-3 tokoe:valid" result="pass"/><test-case name="16011NISTXML-SV-IV-list-normalizedString-pattern-5-4 tokoe:valid" result="pass"/><test-case name="16012NISTXML-SV-IV-list-normalizedString-pattern-5-5 tokoe:valid" result="pass"/><test-case name="16013NISTSchema-SV-IV-list-normalizedString-enumeration-1 tokoe:valid" result="pass"/><test-case name="16014NISTXML-SV-IV-list-normalizedString-enumeration-1-1 tokoe:valid" result="pass"/><test-case name="16015NISTXML-SV-IV-list-normalizedString-enumeration-1-2 tokoe:valid" result="pass"/><test-case name="16016NISTXML-SV-IV-list-normalizedString-enumeration-1-3 tokoe:valid" result="pass"/><test-case name="16017NISTXML-SV-IV-list-normalizedString-enumeration-1-4 tokoe:valid" result="pass"/><test-case name="16018NISTXML-SV-IV-list-normalizedString-enumeration-1-5 tokoe:valid" result="pass"/><test-case name="16019NISTSchema-SV-IV-list-normalizedString-enumeration-2 tokoe:valid" result="pass"/><test-case name="16020NISTXML-SV-IV-list-normalizedString-enumeration-2-1 tokoe:valid" result="pass"/><test-case name="16021NISTXML-SV-IV-list-normalizedString-enumeration-2-2 tokoe:valid" result="pass"/><test-case name="16022NISTXML-SV-IV-list-normalizedString-enumeration-2-3 tokoe:valid" result="pass"/><test-case name="16023NISTXML-SV-IV-list-normalizedString-enumeration-2-4 tokoe:valid" result="pass"/><test-case name="16024NISTXML-SV-IV-list-normalizedString-enumeration-2-5 tokoe:valid" result="pass"/><test-case name="16025NISTSchema-SV-IV-list-normalizedString-enumeration-3 tokoe:valid" result="pass"/><test-case name="16026NISTXML-SV-IV-list-normalizedString-enumeration-3-1 tokoe:valid" result="pass"/><test-case name="16027NISTXML-SV-IV-list-normalizedString-enumeration-3-2 tokoe:valid" result="pass"/><test-case name="16028NISTXML-SV-IV-list-normalizedString-enumeration-3-3 tokoe:valid" result="pass"/><test-case name="16029NISTXML-SV-IV-list-normalizedString-enumeration-3-4 tokoe:valid" result="pass"/><test-case name="16030NISTXML-SV-IV-list-normalizedString-enumeration-3-5 tokoe:valid" result="pass"/><test-case name="16031NISTSchema-SV-IV-list-normalizedString-enumeration-4 tokoe:valid" result="pass"/><test-case name="16032NISTXML-SV-IV-list-normalizedString-enumeration-4-1 tokoe:valid" result="pass"/><test-case name="16033NISTXML-SV-IV-list-normalizedString-enumeration-4-2 tokoe:valid" result="pass"/><test-case name="16034NISTXML-SV-IV-list-normalizedString-enumeration-4-3 tokoe:valid" result="pass"/><test-case name="16035NISTXML-SV-IV-list-normalizedString-enumeration-4-4 tokoe:valid" result="pass"/><test-case name="16036NISTXML-SV-IV-list-normalizedString-enumeration-4-5 tokoe:valid" result="pass"/><test-case name="16037NISTSchema-SV-IV-list-normalizedString-enumeration-5 tokoe:valid" result="pass"/><test-case name="16038NISTXML-SV-IV-list-normalizedString-enumeration-5-1 tokoe:valid" result="pass"/><test-case name="16039NISTXML-SV-IV-list-normalizedString-enumeration-5-2 tokoe:valid" result="pass"/><test-case name="16040NISTXML-SV-IV-list-normalizedString-enumeration-5-3 tokoe:valid" result="pass"/><test-case name="16041NISTXML-SV-IV-list-normalizedString-enumeration-5-4 tokoe:valid" result="pass"/><test-case name="16042NISTXML-SV-IV-list-normalizedString-enumeration-5-5 tokoe:valid" result="pass"/><test-case name="16043NISTSchema-SV-IV-list-normalizedString-whiteSpace-1 tokoe:valid" result="pass"/><test-case name="16044NISTXML-SV-IV-list-normalizedString-whiteSpace-1-1 tokoe:valid" result="pass"/><test-case name="16045NISTXML-SV-IV-list-normalizedString-whiteSpace-1-2 tokoe:valid" result="pass"/><test-case name="16046NISTXML-SV-IV-list-normalizedString-whiteSpace-1-3 tokoe:valid" result="pass"/><test-case name="16047NISTXML-SV-IV-list-normalizedString-whiteSpace-1-4 tokoe:valid" result="pass"/><test-case name="16048NISTXML-SV-IV-list-normalizedString-whiteSpace-1-5 tokoe:valid" result="pass"/><test-case name="16049NISTSchema-SV-IV-list-token-maxLength-1 tokoe:valid" result="pass"/><test-case name="16050NISTXML-SV-IV-list-token-maxLength-1-1 tokoe:valid" result="pass"/><test-case name="16051NISTXML-SV-IV-list-token-maxLength-1-2 tokoe:valid" result="pass"/><test-case name="16052NISTXML-SV-IV-list-token-maxLength-1-3 tokoe:valid" result="pass"/><test-case name="16053NISTXML-SV-IV-list-token-maxLength-1-4 tokoe:valid" result="pass"/><test-case name="16054NISTXML-SV-IV-list-token-maxLength-1-5 tokoe:valid" result="pass"/><test-case name="16055NISTSchema-SV-IV-list-token-maxLength-2 tokoe:valid" result="pass"/><test-case name="16056NISTXML-SV-IV-list-token-maxLength-2-1 tokoe:valid" result="pass"/><test-case name="16057NISTXML-SV-IV-list-token-maxLength-2-2 tokoe:valid" result="pass"/><test-case name="16058NISTXML-SV-IV-list-token-maxLength-2-3 tokoe:valid" result="pass"/><test-case name="16059NISTXML-SV-IV-list-token-maxLength-2-4 tokoe:valid" result="pass"/><test-case name="16060NISTXML-SV-IV-list-token-maxLength-2-5 tokoe:valid" result="pass"/><test-case name="16061NISTSchema-SV-IV-list-token-maxLength-3 tokoe:valid" result="pass"/><test-case name="16062NISTXML-SV-IV-list-token-maxLength-3-1 tokoe:valid" result="pass"/><test-case name="16063NISTXML-SV-IV-list-token-maxLength-3-2 tokoe:valid" result="pass"/><test-case name="16064NISTXML-SV-IV-list-token-maxLength-3-3 tokoe:valid" result="pass"/><test-case name="16065NISTXML-SV-IV-list-token-maxLength-3-4 tokoe:valid" result="pass"/><test-case name="16066NISTXML-SV-IV-list-token-maxLength-3-5 tokoe:valid" result="pass"/><test-case name="16067NISTSchema-SV-IV-list-token-maxLength-4 tokoe:valid" result="pass"/><test-case name="16068NISTXML-SV-IV-list-token-maxLength-4-1 tokoe:valid" result="pass"/><test-case name="16069NISTXML-SV-IV-list-token-maxLength-4-2 tokoe:valid" result="pass"/><test-case name="16070NISTXML-SV-IV-list-token-maxLength-4-3 tokoe:valid" result="pass"/><test-case name="16071NISTXML-SV-IV-list-token-maxLength-4-4 tokoe:valid" result="pass"/><test-case name="16072NISTXML-SV-IV-list-token-maxLength-4-5 tokoe:valid" result="pass"/><test-case name="16073NISTSchema-SV-IV-list-token-maxLength-5 tokoe:valid" result="pass"/><test-case name="16074NISTXML-SV-IV-list-token-maxLength-5-1 tokoe:valid" result="pass"/><test-case name="16075NISTXML-SV-IV-list-token-maxLength-5-2 tokoe:valid" result="pass"/><test-case name="16076NISTXML-SV-IV-list-token-maxLength-5-3 tokoe:valid" result="pass"/><test-case name="16077NISTXML-SV-IV-list-token-maxLength-5-4 tokoe:valid" result="pass"/><test-case name="16078NISTXML-SV-IV-list-token-maxLength-5-5 tokoe:valid" result="pass"/><test-case name="16079NISTSchema-SV-IV-list-token-minLength-1 tokoe:valid" result="pass"/><test-case name="16080NISTXML-SV-IV-list-token-minLength-1-1 tokoe:valid" result="pass"/><test-case name="16081NISTXML-SV-IV-list-token-minLength-1-2 tokoe:valid" result="pass"/><test-case name="16082NISTXML-SV-IV-list-token-minLength-1-3 tokoe:valid" result="pass"/><test-case name="16083NISTXML-SV-IV-list-token-minLength-1-4 tokoe:valid" result="pass"/><test-case name="16084NISTXML-SV-IV-list-token-minLength-1-5 tokoe:valid" result="pass"/><test-case name="16085NISTSchema-SV-IV-list-token-minLength-2 tokoe:valid" result="pass"/><test-case name="16086NISTXML-SV-IV-list-token-minLength-2-1 tokoe:valid" result="pass"/><test-case name="16087NISTXML-SV-IV-list-token-minLength-2-2 tokoe:valid" result="pass"/><test-case name="16088NISTXML-SV-IV-list-token-minLength-2-3 tokoe:valid" result="pass"/><test-case name="16089NISTXML-SV-IV-list-token-minLength-2-4 tokoe:valid" result="pass"/><test-case name="16090NISTXML-SV-IV-list-token-minLength-2-5 tokoe:valid" result="pass"/><test-case name="16091NISTSchema-SV-IV-list-token-minLength-3 tokoe:valid" result="pass"/><test-case name="16092NISTXML-SV-IV-list-token-minLength-3-1 tokoe:valid" result="pass"/><test-case name="16093NISTXML-SV-IV-list-token-minLength-3-2 tokoe:valid" result="pass"/><test-case name="16094NISTXML-SV-IV-list-token-minLength-3-3 tokoe:valid" result="pass"/><test-case name="16095NISTXML-SV-IV-list-token-minLength-3-4 tokoe:valid" result="pass"/><test-case name="16096NISTXML-SV-IV-list-token-minLength-3-5 tokoe:valid" result="pass"/><test-case name="16097NISTSchema-SV-IV-list-token-minLength-4 tokoe:valid" result="pass"/><test-case name="16098NISTXML-SV-IV-list-token-minLength-4-1 tokoe:valid" result="pass"/><test-case name="16099NISTXML-SV-IV-list-token-minLength-4-2 tokoe:valid" result="pass"/><test-case name="16100NISTXML-SV-IV-list-token-minLength-4-3 tokoe:valid" result="pass"/><test-case name="16101NISTXML-SV-IV-list-token-minLength-4-4 tokoe:valid" result="pass"/><test-case name="16102NISTXML-SV-IV-list-token-minLength-4-5 tokoe:valid" result="pass"/><test-case name="16103NISTSchema-SV-IV-list-token-minLength-5 tokoe:valid" result="pass"/><test-case name="16104NISTXML-SV-IV-list-token-minLength-5-1 tokoe:valid" result="pass"/><test-case name="16105NISTXML-SV-IV-list-token-minLength-5-2 tokoe:valid" result="pass"/><test-case name="16106NISTXML-SV-IV-list-token-minLength-5-3 tokoe:valid" result="pass"/><test-case name="16107NISTXML-SV-IV-list-token-minLength-5-4 tokoe:valid" result="pass"/><test-case name="16108NISTXML-SV-IV-list-token-minLength-5-5 tokoe:valid" result="pass"/><test-case name="16109NISTSchema-SV-IV-list-token-length-1 tokoe:valid" result="pass"/><test-case name="16110NISTXML-SV-IV-list-token-length-1-1 tokoe:valid" result="pass"/><test-case name="16111NISTXML-SV-IV-list-token-length-1-2 tokoe:valid" result="pass"/><test-case name="16112NISTXML-SV-IV-list-token-length-1-3 tokoe:valid" result="pass"/><test-case name="16113NISTXML-SV-IV-list-token-length-1-4 tokoe:valid" result="pass"/><test-case name="16114NISTXML-SV-IV-list-token-length-1-5 tokoe:valid" result="pass"/><test-case name="16115NISTSchema-SV-IV-list-token-length-2 tokoe:valid" result="pass"/><test-case name="16116NISTXML-SV-IV-list-token-length-2-1 tokoe:valid" result="pass"/><test-case name="16117NISTXML-SV-IV-list-token-length-2-2 tokoe:valid" result="pass"/><test-case name="16118NISTXML-SV-IV-list-token-length-2-3 tokoe:valid" result="pass"/><test-case name="16119NISTXML-SV-IV-list-token-length-2-4 tokoe:valid" result="pass"/><test-case name="16120NISTXML-SV-IV-list-token-length-2-5 tokoe:valid" result="pass"/><test-case name="16121NISTSchema-SV-IV-list-token-length-3 tokoe:valid" result="pass"/><test-case name="16122NISTXML-SV-IV-list-token-length-3-1 tokoe:valid" result="pass"/><test-case name="16123NISTXML-SV-IV-list-token-length-3-2 tokoe:valid" result="pass"/><test-case name="16124NISTXML-SV-IV-list-token-length-3-3 tokoe:valid" result="pass"/><test-case name="16125NISTXML-SV-IV-list-token-length-3-4 tokoe:valid" result="pass"/><test-case name="16126NISTXML-SV-IV-list-token-length-3-5 tokoe:valid" result="pass"/><test-case name="16127NISTSchema-SV-IV-list-token-length-4 tokoe:valid" result="pass"/><test-case name="16128NISTXML-SV-IV-list-token-length-4-1 tokoe:valid" result="pass"/><test-case name="16129NISTXML-SV-IV-list-token-length-4-2 tokoe:valid" result="pass"/><test-case name="16130NISTXML-SV-IV-list-token-length-4-3 tokoe:valid" result="pass"/><test-case name="16131NISTXML-SV-IV-list-token-length-4-4 tokoe:valid" result="pass"/><test-case name="16132NISTXML-SV-IV-list-token-length-4-5 tokoe:valid" result="pass"/><test-case name="16133NISTSchema-SV-IV-list-token-length-5 tokoe:valid" result="pass"/><test-case name="16134NISTXML-SV-IV-list-token-length-5-1 tokoe:valid" result="pass"/><test-case name="16135NISTXML-SV-IV-list-token-length-5-2 tokoe:valid" result="pass"/><test-case name="16136NISTXML-SV-IV-list-token-length-5-3 tokoe:valid" result="pass"/><test-case name="16137NISTXML-SV-IV-list-token-length-5-4 tokoe:valid" result="pass"/><test-case name="16138NISTXML-SV-IV-list-token-length-5-5 tokoe:valid" result="pass"/><test-case name="16139NISTSchema-SV-IV-list-token-pattern-1 tokoe:valid" result="pass"/><test-case name="16140NISTXML-SV-IV-list-token-pattern-1-1 tokoe:valid" result="pass"/><test-case name="16141NISTXML-SV-IV-list-token-pattern-1-2 tokoe:valid" result="pass"/><test-case name="16142NISTXML-SV-IV-list-token-pattern-1-3 tokoe:valid" result="pass"/><test-case name="16143NISTXML-SV-IV-list-token-pattern-1-4 tokoe:valid" result="pass"/><test-case name="16144NISTXML-SV-IV-list-token-pattern-1-5 tokoe:valid" result="pass"/><test-case name="16145NISTSchema-SV-IV-list-token-pattern-2 tokoe:valid" result="pass"/><test-case name="16146NISTXML-SV-IV-list-token-pattern-2-1 tokoe:valid" result="pass"/><test-case name="16147NISTXML-SV-IV-list-token-pattern-2-2 tokoe:valid" result="pass"/><test-case name="16148NISTXML-SV-IV-list-token-pattern-2-3 tokoe:valid" result="pass"/><test-case name="16149NISTXML-SV-IV-list-token-pattern-2-4 tokoe:valid" result="pass"/><test-case name="16150NISTXML-SV-IV-list-token-pattern-2-5 tokoe:valid" result="pass"/><test-case name="16151NISTSchema-SV-IV-list-token-pattern-3 tokoe:valid" result="pass"/><test-case name="16152NISTXML-SV-IV-list-token-pattern-3-1 tokoe:valid" result="pass"/><test-case name="16153NISTXML-SV-IV-list-token-pattern-3-2 tokoe:valid" result="pass"/><test-case name="16154NISTXML-SV-IV-list-token-pattern-3-3 tokoe:valid" result="pass"/><test-case name="16155NISTXML-SV-IV-list-token-pattern-3-4 tokoe:valid" result="pass"/><test-case name="16156NISTXML-SV-IV-list-token-pattern-3-5 tokoe:valid" result="pass"/><test-case name="16157NISTSchema-SV-IV-list-token-pattern-4 tokoe:valid" result="pass"/><test-case name="16158NISTXML-SV-IV-list-token-pattern-4-1 tokoe:valid" result="pass"/><test-case name="16159NISTXML-SV-IV-list-token-pattern-4-2 tokoe:valid" result="pass"/><test-case name="16160NISTXML-SV-IV-list-token-pattern-4-3 tokoe:valid" result="pass"/><test-case name="16161NISTXML-SV-IV-list-token-pattern-4-4 tokoe:valid" result="pass"/><test-case name="16162NISTXML-SV-IV-list-token-pattern-4-5 tokoe:valid" result="pass"/><test-case name="16163NISTSchema-SV-IV-list-token-pattern-5 tokoe:valid" result="pass"/><test-case name="16164NISTXML-SV-IV-list-token-pattern-5-1 tokoe:valid" result="pass"/><test-case name="16165NISTXML-SV-IV-list-token-pattern-5-2 tokoe:valid" result="pass"/><test-case name="16166NISTXML-SV-IV-list-token-pattern-5-3 tokoe:valid" result="pass"/><test-case name="16167NISTXML-SV-IV-list-token-pattern-5-4 tokoe:valid" result="pass"/><test-case name="16168NISTXML-SV-IV-list-token-pattern-5-5 tokoe:valid" result="pass"/><test-case name="16169NISTSchema-SV-IV-list-token-enumeration-1 tokoe:valid" result="pass"/><test-case name="16170NISTXML-SV-IV-list-token-enumeration-1-1 tokoe:valid" result="pass"/><test-case name="16171NISTXML-SV-IV-list-token-enumeration-1-2 tokoe:valid" result="pass"/><test-case name="16172NISTXML-SV-IV-list-token-enumeration-1-3 tokoe:valid" result="pass"/><test-case name="16173NISTXML-SV-IV-list-token-enumeration-1-4 tokoe:valid" result="pass"/><test-case name="16174NISTXML-SV-IV-list-token-enumeration-1-5 tokoe:valid" result="pass"/><test-case name="16175NISTSchema-SV-IV-list-token-enumeration-2 tokoe:valid" result="pass"/><test-case name="16176NISTXML-SV-IV-list-token-enumeration-2-1 tokoe:valid" result="pass"/><test-case name="16177NISTXML-SV-IV-list-token-enumeration-2-2 tokoe:valid" result="pass"/><test-case name="16178NISTXML-SV-IV-list-token-enumeration-2-3 tokoe:valid" result="pass"/><test-case name="16179NISTXML-SV-IV-list-token-enumeration-2-4 tokoe:valid" result="pass"/><test-case name="16180NISTXML-SV-IV-list-token-enumeration-2-5 tokoe:valid" result="pass"/><test-case name="16181NISTSchema-SV-IV-list-token-enumeration-3 tokoe:valid" result="pass"/><test-case name="16182NISTXML-SV-IV-list-token-enumeration-3-1 tokoe:valid" result="pass"/><test-case name="16183NISTXML-SV-IV-list-token-enumeration-3-2 tokoe:valid" result="pass"/><test-case name="16184NISTXML-SV-IV-list-token-enumeration-3-3 tokoe:valid" result="pass"/><test-case name="16185NISTXML-SV-IV-list-token-enumeration-3-4 tokoe:valid" result="pass"/><test-case name="16186NISTXML-SV-IV-list-token-enumeration-3-5 tokoe:valid" result="pass"/><test-case name="16187NISTSchema-SV-IV-list-token-enumeration-4 tokoe:valid" result="pass"/><test-case name="16188NISTXML-SV-IV-list-token-enumeration-4-1 tokoe:valid" result="pass"/><test-case name="16189NISTXML-SV-IV-list-token-enumeration-4-2 tokoe:valid" result="pass"/><test-case name="16190NISTXML-SV-IV-list-token-enumeration-4-3 tokoe:valid" result="pass"/><test-case name="16191NISTXML-SV-IV-list-token-enumeration-4-4 tokoe:valid" result="pass"/><test-case name="16192NISTXML-SV-IV-list-token-enumeration-4-5 tokoe:valid" result="pass"/><test-case name="16193NISTSchema-SV-IV-list-token-enumeration-5 tokoe:valid" result="pass"/><test-case name="16194NISTXML-SV-IV-list-token-enumeration-5-1 tokoe:valid" result="pass"/><test-case name="16195NISTXML-SV-IV-list-token-enumeration-5-2 tokoe:valid" result="pass"/><test-case name="16196NISTXML-SV-IV-list-token-enumeration-5-3 tokoe:valid" result="pass"/><test-case name="16197NISTXML-SV-IV-list-token-enumeration-5-4 tokoe:valid" result="pass"/><test-case name="16198NISTXML-SV-IV-list-token-enumeration-5-5 tokoe:valid" result="pass"/><test-case name="16199NISTSchema-SV-IV-list-token-whiteSpace-1 tokoe:valid" result="pass"/><test-case name="16200NISTXML-SV-IV-list-token-whiteSpace-1-1 tokoe:valid" result="pass"/><test-case name="16201NISTXML-SV-IV-list-token-whiteSpace-1-2 tokoe:valid" result="pass"/><test-case name="16202NISTXML-SV-IV-list-token-whiteSpace-1-3 tokoe:valid" result="pass"/><test-case name="16203NISTXML-SV-IV-list-token-whiteSpace-1-4 tokoe:valid" result="pass"/><test-case name="16204NISTXML-SV-IV-list-token-whiteSpace-1-5 tokoe:valid" result="pass"/><test-case name="16205NISTSchema-SV-IV-list-Name-maxLength-1 tokoe:valid" result="pass"/><test-case name="16206NISTXML-SV-IV-list-Name-maxLength-1-1 tokoe:valid" result="pass"/><test-case name="16207NISTXML-SV-IV-list-Name-maxLength-1-2 tokoe:valid" result="pass"/><test-case name="16208NISTXML-SV-IV-list-Name-maxLength-1-3 tokoe:valid" result="pass"/><test-case name="16209NISTXML-SV-IV-list-Name-maxLength-1-4 tokoe:valid" result="pass"/><test-case name="16210NISTXML-SV-IV-list-Name-maxLength-1-5 tokoe:valid" result="pass"/><test-case name="16211NISTSchema-SV-IV-list-Name-maxLength-2 tokoe:valid" result="pass"/><test-case name="16212NISTXML-SV-IV-list-Name-maxLength-2-1 tokoe:valid" result="pass"/><test-case name="16213NISTXML-SV-IV-list-Name-maxLength-2-2 tokoe:valid" result="pass"/><test-case name="16214NISTXML-SV-IV-list-Name-maxLength-2-3 tokoe:valid" result="pass"/><test-case name="16215NISTXML-SV-IV-list-Name-maxLength-2-4 tokoe:valid" result="pass"/><test-case name="16216NISTXML-SV-IV-list-Name-maxLength-2-5 tokoe:valid" result="pass"/><test-case name="16217NISTSchema-SV-IV-list-Name-maxLength-3 tokoe:valid" result="pass"/><test-case name="16218NISTXML-SV-IV-list-Name-maxLength-3-1 tokoe:valid" result="pass"/><test-case name="16219NISTXML-SV-IV-list-Name-maxLength-3-2 tokoe:valid" result="pass"/><test-case name="16220NISTXML-SV-IV-list-Name-maxLength-3-3 tokoe:valid" result="pass"/><test-case name="16221NISTXML-SV-IV-list-Name-maxLength-3-4 tokoe:valid" result="pass"/><test-case name="16222NISTXML-SV-IV-list-Name-maxLength-3-5 tokoe:valid" result="pass"/><test-case name="16223NISTSchema-SV-IV-list-Name-maxLength-4 tokoe:valid" result="pass"/><test-case name="16224NISTXML-SV-IV-list-Name-maxLength-4-1 tokoe:valid" result="pass"/><test-case name="16225NISTXML-SV-IV-list-Name-maxLength-4-2 tokoe:valid" result="pass"/><test-case name="16226NISTXML-SV-IV-list-Name-maxLength-4-3 tokoe:valid" result="pass"/><test-case name="16227NISTXML-SV-IV-list-Name-maxLength-4-4 tokoe:valid" result="pass"/><test-case name="16228NISTXML-SV-IV-list-Name-maxLength-4-5 tokoe:valid" result="pass"/><test-case name="16229NISTSchema-SV-IV-list-Name-maxLength-5 tokoe:valid" result="pass"/><test-case name="16230NISTXML-SV-IV-list-Name-maxLength-5-1 tokoe:valid" result="pass"/><test-case name="16231NISTXML-SV-IV-list-Name-maxLength-5-2 tokoe:valid" result="pass"/><test-case name="16232NISTXML-SV-IV-list-Name-maxLength-5-3 tokoe:valid" result="pass"/><test-case name="16233NISTXML-SV-IV-list-Name-maxLength-5-4 tokoe:valid" result="pass"/><test-case name="16234NISTXML-SV-IV-list-Name-maxLength-5-5 tokoe:valid" result="pass"/><test-case name="16235NISTSchema-SV-IV-list-Name-minLength-1 tokoe:valid" result="pass"/><test-case name="16236NISTXML-SV-IV-list-Name-minLength-1-1 tokoe:valid" result="pass"/><test-case name="16237NISTXML-SV-IV-list-Name-minLength-1-2 tokoe:valid" result="pass"/><test-case name="16238NISTXML-SV-IV-list-Name-minLength-1-3 tokoe:valid" result="pass"/><test-case name="16239NISTXML-SV-IV-list-Name-minLength-1-4 tokoe:valid" result="pass"/><test-case name="16240NISTXML-SV-IV-list-Name-minLength-1-5 tokoe:valid" result="pass"/><test-case name="16241NISTSchema-SV-IV-list-Name-minLength-2 tokoe:valid" result="pass"/><test-case name="16242NISTXML-SV-IV-list-Name-minLength-2-1 tokoe:valid" result="pass"/><test-case name="16243NISTXML-SV-IV-list-Name-minLength-2-2 tokoe:valid" result="pass"/><test-case name="16244NISTXML-SV-IV-list-Name-minLength-2-3 tokoe:valid" result="pass"/><test-case name="16245NISTXML-SV-IV-list-Name-minLength-2-4 tokoe:valid" result="pass"/><test-case name="16246NISTXML-SV-IV-list-Name-minLength-2-5 tokoe:valid" result="pass"/><test-case name="16247NISTSchema-SV-IV-list-Name-minLength-3 tokoe:valid" result="pass"/><test-case name="16248NISTXML-SV-IV-list-Name-minLength-3-1 tokoe:valid" result="pass"/><test-case name="16249NISTXML-SV-IV-list-Name-minLength-3-2 tokoe:valid" result="pass"/><test-case name="16250NISTXML-SV-IV-list-Name-minLength-3-3 tokoe:valid" result="pass"/><test-case name="16251NISTXML-SV-IV-list-Name-minLength-3-4 tokoe:valid" result="pass"/><test-case name="16252NISTXML-SV-IV-list-Name-minLength-3-5 tokoe:valid" result="pass"/><test-case name="16253NISTSchema-SV-IV-list-Name-minLength-4 tokoe:valid" result="pass"/><test-case name="16254NISTXML-SV-IV-list-Name-minLength-4-1 tokoe:valid" result="pass"/><test-case name="16255NISTXML-SV-IV-list-Name-minLength-4-2 tokoe:valid" result="pass"/><test-case name="16256NISTXML-SV-IV-list-Name-minLength-4-3 tokoe:valid" result="pass"/><test-case name="16257NISTXML-SV-IV-list-Name-minLength-4-4 tokoe:valid" result="pass"/><test-case name="16258NISTXML-SV-IV-list-Name-minLength-4-5 tokoe:valid" result="pass"/><test-case name="16259NISTSchema-SV-IV-list-Name-minLength-5 tokoe:valid" result="pass"/><test-case name="16260NISTXML-SV-IV-list-Name-minLength-5-1 tokoe:valid" result="pass"/><test-case name="16261NISTXML-SV-IV-list-Name-minLength-5-2 tokoe:valid" result="pass"/><test-case name="16262NISTXML-SV-IV-list-Name-minLength-5-3 tokoe:valid" result="pass"/><test-case name="16263NISTXML-SV-IV-list-Name-minLength-5-4 tokoe:valid" result="pass"/><test-case name="16264NISTXML-SV-IV-list-Name-minLength-5-5 tokoe:valid" result="pass"/><test-case name="16265NISTSchema-SV-IV-list-Name-length-1 tokoe:valid" result="pass"/><test-case name="16266NISTXML-SV-IV-list-Name-length-1-1 tokoe:valid" result="pass"/><test-case name="16267NISTXML-SV-IV-list-Name-length-1-2 tokoe:valid" result="pass"/><test-case name="16268NISTXML-SV-IV-list-Name-length-1-3 tokoe:valid" result="pass"/><test-case name="16269NISTXML-SV-IV-list-Name-length-1-4 tokoe:valid" result="pass"/><test-case name="16270NISTXML-SV-IV-list-Name-length-1-5 tokoe:valid" result="pass"/><test-case name="16271NISTSchema-SV-IV-list-Name-length-2 tokoe:valid" result="pass"/><test-case name="16272NISTXML-SV-IV-list-Name-length-2-1 tokoe:valid" result="pass"/><test-case name="16273NISTXML-SV-IV-list-Name-length-2-2 tokoe:valid" result="pass"/><test-case name="16274NISTXML-SV-IV-list-Name-length-2-3 tokoe:valid" result="pass"/><test-case name="16275NISTXML-SV-IV-list-Name-length-2-4 tokoe:valid" result="pass"/><test-case name="16276NISTXML-SV-IV-list-Name-length-2-5 tokoe:valid" result="pass"/><test-case name="16277NISTSchema-SV-IV-list-Name-length-3 tokoe:valid" result="pass"/><test-case name="16278NISTXML-SV-IV-list-Name-length-3-1 tokoe:valid" result="pass"/><test-case name="16279NISTXML-SV-IV-list-Name-length-3-2 tokoe:valid" result="pass"/><test-case name="16280NISTXML-SV-IV-list-Name-length-3-3 tokoe:valid" result="pass"/><test-case name="16281NISTXML-SV-IV-list-Name-length-3-4 tokoe:valid" result="pass"/><test-case name="16282NISTXML-SV-IV-list-Name-length-3-5 tokoe:valid" result="pass"/><test-case name="16283NISTSchema-SV-IV-list-Name-length-4 tokoe:valid" result="pass"/><test-case name="16284NISTXML-SV-IV-list-Name-length-4-1 tokoe:valid" result="pass"/><test-case name="16285NISTXML-SV-IV-list-Name-length-4-2 tokoe:valid" result="pass"/><test-case name="16286NISTXML-SV-IV-list-Name-length-4-3 tokoe:valid" result="pass"/><test-case name="16287NISTXML-SV-IV-list-Name-length-4-4 tokoe:valid" result="pass"/><test-case name="16288NISTXML-SV-IV-list-Name-length-4-5 tokoe:valid" result="pass"/><test-case name="16289NISTSchema-SV-IV-list-Name-length-5 tokoe:valid" result="pass"/><test-case name="16290NISTXML-SV-IV-list-Name-length-5-1 tokoe:valid" result="pass"/><test-case name="16291NISTXML-SV-IV-list-Name-length-5-2 tokoe:valid" result="pass"/><test-case name="16292NISTXML-SV-IV-list-Name-length-5-3 tokoe:valid" result="pass"/><test-case name="16293NISTXML-SV-IV-list-Name-length-5-4 tokoe:valid" result="pass"/><test-case name="16294NISTXML-SV-IV-list-Name-length-5-5 tokoe:valid" result="pass"/><test-case name="16295NISTSchema-SV-IV-list-Name-pattern-1 tokoe:valid" result="pass"/><test-case name="16296NISTXML-SV-IV-list-Name-pattern-1-1 tokoe:valid" result="pass"/><test-case name="16297NISTXML-SV-IV-list-Name-pattern-1-2 tokoe:valid" result="pass"/><test-case name="16298NISTXML-SV-IV-list-Name-pattern-1-3 tokoe:valid" result="pass"/><test-case name="16299NISTXML-SV-IV-list-Name-pattern-1-4 tokoe:valid" result="pass"/><test-case name="16300NISTXML-SV-IV-list-Name-pattern-1-5 tokoe:valid" result="pass"/><test-case name="16301NISTSchema-SV-IV-list-Name-pattern-2 tokoe:valid" result="pass"/><test-case name="16302NISTXML-SV-IV-list-Name-pattern-2-1 tokoe:valid" result="pass"/><test-case name="16303NISTXML-SV-IV-list-Name-pattern-2-2 tokoe:valid" result="pass"/><test-case name="16304NISTXML-SV-IV-list-Name-pattern-2-3 tokoe:valid" result="pass"/><test-case name="16305NISTXML-SV-IV-list-Name-pattern-2-4 tokoe:valid" result="pass"/><test-case name="16306NISTXML-SV-IV-list-Name-pattern-2-5 tokoe:valid" result="pass"/><test-case name="16307NISTSchema-SV-IV-list-Name-pattern-3 tokoe:valid" result="pass"/><test-case name="16308NISTXML-SV-IV-list-Name-pattern-3-1 tokoe:valid" result="pass"/><test-case name="16309NISTXML-SV-IV-list-Name-pattern-3-2 tokoe:valid" result="pass"/><test-case name="16310NISTXML-SV-IV-list-Name-pattern-3-3 tokoe:valid" result="pass"/><test-case name="16311NISTXML-SV-IV-list-Name-pattern-3-4 tokoe:valid" result="pass"/><test-case name="16312NISTXML-SV-IV-list-Name-pattern-3-5 tokoe:valid" result="pass"/><test-case name="16313NISTSchema-SV-IV-list-Name-pattern-4 tokoe:valid" result="pass"/><test-case name="16314NISTXML-SV-IV-list-Name-pattern-4-1 tokoe:valid" result="pass"/><test-case name="16315NISTXML-SV-IV-list-Name-pattern-4-2 tokoe:valid" result="pass"/><test-case name="16316NISTXML-SV-IV-list-Name-pattern-4-3 tokoe:valid" result="pass"/><test-case name="16317NISTXML-SV-IV-list-Name-pattern-4-4 tokoe:valid" result="pass"/><test-case name="16318NISTXML-SV-IV-list-Name-pattern-4-5 tokoe:valid" result="pass"/><test-case name="16319NISTSchema-SV-IV-list-Name-pattern-5 tokoe:valid" result="pass"/><test-case name="16320NISTXML-SV-IV-list-Name-pattern-5-1 tokoe:valid" result="pass"/><test-case name="16321NISTXML-SV-IV-list-Name-pattern-5-2 tokoe:valid" result="pass"/><test-case name="16322NISTXML-SV-IV-list-Name-pattern-5-3 tokoe:valid" result="pass"/><test-case name="16323NISTXML-SV-IV-list-Name-pattern-5-4 tokoe:valid" result="pass"/><test-case name="16324NISTXML-SV-IV-list-Name-pattern-5-5 tokoe:valid" result="pass"/><test-case name="16325NISTSchema-SV-IV-list-Name-enumeration-1 tokoe:valid" result="pass"/><test-case name="16326NISTXML-SV-IV-list-Name-enumeration-1-1 tokoe:valid" result="pass"/><test-case name="16327NISTXML-SV-IV-list-Name-enumeration-1-2 tokoe:valid" result="pass"/><test-case name="16328NISTXML-SV-IV-list-Name-enumeration-1-3 tokoe:valid" result="pass"/><test-case name="16329NISTXML-SV-IV-list-Name-enumeration-1-4 tokoe:valid" result="pass"/><test-case name="16330NISTXML-SV-IV-list-Name-enumeration-1-5 tokoe:valid" result="pass"/><test-case name="16331NISTSchema-SV-IV-list-Name-enumeration-2 tokoe:valid" result="pass"/><test-case name="16332NISTXML-SV-IV-list-Name-enumeration-2-1 tokoe:valid" result="pass"/><test-case name="16333NISTXML-SV-IV-list-Name-enumeration-2-2 tokoe:valid" result="pass"/><test-case name="16334NISTXML-SV-IV-list-Name-enumeration-2-3 tokoe:valid" result="pass"/><test-case name="16335NISTXML-SV-IV-list-Name-enumeration-2-4 tokoe:valid" result="pass"/><test-case name="16336NISTXML-SV-IV-list-Name-enumeration-2-5 tokoe:valid" result="pass"/><test-case name="16337NISTSchema-SV-IV-list-Name-enumeration-3 tokoe:valid" result="pass"/><test-case name="16338NISTXML-SV-IV-list-Name-enumeration-3-1 tokoe:valid" result="pass"/><test-case name="16339NISTXML-SV-IV-list-Name-enumeration-3-2 tokoe:valid" result="pass"/><test-case name="16340NISTXML-SV-IV-list-Name-enumeration-3-3 tokoe:valid" result="pass"/><test-case name="16341NISTXML-SV-IV-list-Name-enumeration-3-4 tokoe:valid" result="pass"/><test-case name="16342NISTXML-SV-IV-list-Name-enumeration-3-5 tokoe:valid" result="pass"/><test-case name="16343NISTSchema-SV-IV-list-Name-enumeration-4 tokoe:valid" result="pass"/><test-case name="16344NISTXML-SV-IV-list-Name-enumeration-4-1 tokoe:valid" result="pass"/><test-case name="16345NISTXML-SV-IV-list-Name-enumeration-4-2 tokoe:valid" result="pass"/><test-case name="16346NISTXML-SV-IV-list-Name-enumeration-4-3 tokoe:valid" result="pass"/><test-case name="16347NISTXML-SV-IV-list-Name-enumeration-4-4 tokoe:valid" result="pass"/><test-case name="16348NISTXML-SV-IV-list-Name-enumeration-4-5 tokoe:valid" result="pass"/><test-case name="16349NISTSchema-SV-IV-list-Name-enumeration-5 tokoe:valid" result="pass"/><test-case name="16350NISTXML-SV-IV-list-Name-enumeration-5-1 tokoe:valid" result="pass"/><test-case name="16351NISTXML-SV-IV-list-Name-enumeration-5-2 tokoe:valid" result="pass"/><test-case name="16352NISTXML-SV-IV-list-Name-enumeration-5-3 tokoe:valid" result="pass"/><test-case name="16353NISTXML-SV-IV-list-Name-enumeration-5-4 tokoe:valid" result="pass"/><test-case name="16354NISTXML-SV-IV-list-Name-enumeration-5-5 tokoe:valid" result="pass"/><test-case name="16355NISTSchema-SV-IV-list-Name-whiteSpace-1 tokoe:valid" result="pass"/><test-case name="16356NISTXML-SV-IV-list-Name-whiteSpace-1-1 tokoe:valid" result="pass"/><test-case name="16357NISTXML-SV-IV-list-Name-whiteSpace-1-2 tokoe:valid" result="pass"/><test-case name="16358NISTXML-SV-IV-list-Name-whiteSpace-1-3 tokoe:valid" result="pass"/><test-case name="16359NISTXML-SV-IV-list-Name-whiteSpace-1-4 tokoe:valid" result="pass"/><test-case name="16360NISTXML-SV-IV-list-Name-whiteSpace-1-5 tokoe:valid" result="pass"/><test-case name="16361NISTSchema-SV-IV-list-NMTOKEN-maxLength-1 tokoe:valid" result="pass"/><test-case name="16362NISTXML-SV-IV-list-NMTOKEN-maxLength-1-1 tokoe:valid" result="pass"/><test-case name="16363NISTXML-SV-IV-list-NMTOKEN-maxLength-1-2 tokoe:valid" result="pass"/><test-case name="16364NISTXML-SV-IV-list-NMTOKEN-maxLength-1-3 tokoe:valid" result="pass"/><test-case name="16365NISTXML-SV-IV-list-NMTOKEN-maxLength-1-4 tokoe:valid" result="pass"/><test-case name="16366NISTXML-SV-IV-list-NMTOKEN-maxLength-1-5 tokoe:valid" result="pass"/><test-case name="16367NISTSchema-SV-IV-list-NMTOKEN-maxLength-2 tokoe:valid" result="pass"/><test-case name="16368NISTXML-SV-IV-list-NMTOKEN-maxLength-2-1 tokoe:valid" result="pass"/><test-case name="16369NISTXML-SV-IV-list-NMTOKEN-maxLength-2-2 tokoe:valid" result="pass"/><test-case name="16370NISTXML-SV-IV-list-NMTOKEN-maxLength-2-3 tokoe:valid" result="pass"/><test-case name="16371NISTXML-SV-IV-list-NMTOKEN-maxLength-2-4 tokoe:valid" result="pass"/><test-case name="16372NISTXML-SV-IV-list-NMTOKEN-maxLength-2-5 tokoe:valid" result="pass"/><test-case name="16373NISTSchema-SV-IV-list-NMTOKEN-maxLength-3 tokoe:valid" result="pass"/><test-case name="16374NISTXML-SV-IV-list-NMTOKEN-maxLength-3-1 tokoe:valid" result="pass"/><test-case name="16375NISTXML-SV-IV-list-NMTOKEN-maxLength-3-2 tokoe:valid" result="pass"/><test-case name="16376NISTXML-SV-IV-list-NMTOKEN-maxLength-3-3 tokoe:valid" result="pass"/><test-case name="16377NISTXML-SV-IV-list-NMTOKEN-maxLength-3-4 tokoe:valid" result="pass"/><test-case name="16378NISTXML-SV-IV-list-NMTOKEN-maxLength-3-5 tokoe:valid" result="pass"/><test-case name="16379NISTSchema-SV-IV-list-NMTOKEN-maxLength-4 tokoe:valid" result="pass"/><test-case name="16380NISTXML-SV-IV-list-NMTOKEN-maxLength-4-1 tokoe:valid" result="pass"/><test-case name="16381NISTXML-SV-IV-list-NMTOKEN-maxLength-4-2 tokoe:valid" result="pass"/><test-case name="16382NISTXML-SV-IV-list-NMTOKEN-maxLength-4-3 tokoe:valid" result="pass"/><test-case name="16383NISTXML-SV-IV-list-NMTOKEN-maxLength-4-4 tokoe:valid" result="pass"/><test-case name="16384NISTXML-SV-IV-list-NMTOKEN-maxLength-4-5 tokoe:valid" result="pass"/><test-case name="16385NISTSchema-SV-IV-list-NMTOKEN-maxLength-5 tokoe:valid" result="pass"/><test-case name="16386NISTXML-SV-IV-list-NMTOKEN-maxLength-5-1 tokoe:valid" result="pass"/><test-case name="16387NISTXML-SV-IV-list-NMTOKEN-maxLength-5-2 tokoe:valid" result="pass"/><test-case name="16388NISTXML-SV-IV-list-NMTOKEN-maxLength-5-3 tokoe:valid" result="pass"/><test-case name="16389NISTXML-SV-IV-list-NMTOKEN-maxLength-5-4 tokoe:valid" result="pass"/><test-case name="16390NISTXML-SV-IV-list-NMTOKEN-maxLength-5-5 tokoe:valid" result="pass"/><test-case name="16391NISTSchema-SV-IV-list-NMTOKEN-minLength-1 tokoe:valid" result="pass"/><test-case name="16392NISTXML-SV-IV-list-NMTOKEN-minLength-1-1 tokoe:valid" result="pass"/><test-case name="16393NISTXML-SV-IV-list-NMTOKEN-minLength-1-2 tokoe:valid" result="pass"/><test-case name="16394NISTXML-SV-IV-list-NMTOKEN-minLength-1-3 tokoe:valid" result="pass"/><test-case name="16395NISTXML-SV-IV-list-NMTOKEN-minLength-1-4 tokoe:valid" result="pass"/><test-case name="16396NISTXML-SV-IV-list-NMTOKEN-minLength-1-5 tokoe:valid" result="pass"/><test-case name="16397NISTSchema-SV-IV-list-NMTOKEN-minLength-2 tokoe:valid" result="pass"/><test-case name="16398NISTXML-SV-IV-list-NMTOKEN-minLength-2-1 tokoe:valid" result="pass"/><test-case name="16399NISTXML-SV-IV-list-NMTOKEN-minLength-2-2 tokoe:valid" result="pass"/><test-case name="16400NISTXML-SV-IV-list-NMTOKEN-minLength-2-3 tokoe:valid" result="pass"/><test-case name="16401NISTXML-SV-IV-list-NMTOKEN-minLength-2-4 tokoe:valid" result="pass"/><test-case name="16402NISTXML-SV-IV-list-NMTOKEN-minLength-2-5 tokoe:valid" result="pass"/><test-case name="16403NISTSchema-SV-IV-list-NMTOKEN-minLength-3 tokoe:valid" result="pass"/><test-case name="16404NISTXML-SV-IV-list-NMTOKEN-minLength-3-1 tokoe:valid" result="pass"/><test-case name="16405NISTXML-SV-IV-list-NMTOKEN-minLength-3-2 tokoe:valid" result="pass"/><test-case name="16406NISTXML-SV-IV-list-NMTOKEN-minLength-3-3 tokoe:valid" result="pass"/><test-case name="16407NISTXML-SV-IV-list-NMTOKEN-minLength-3-4 tokoe:valid" result="pass"/><test-case name="16408NISTXML-SV-IV-list-NMTOKEN-minLength-3-5 tokoe:valid" result="pass"/><test-case name="16409NISTSchema-SV-IV-list-NMTOKEN-minLength-4 tokoe:valid" result="pass"/><test-case name="16410NISTXML-SV-IV-list-NMTOKEN-minLength-4-1 tokoe:valid" result="pass"/><test-case name="16411NISTXML-SV-IV-list-NMTOKEN-minLength-4-2 tokoe:valid" result="pass"/><test-case name="16412NISTXML-SV-IV-list-NMTOKEN-minLength-4-3 tokoe:valid" result="pass"/><test-case name="16413NISTXML-SV-IV-list-NMTOKEN-minLength-4-4 tokoe:valid" result="pass"/><test-case name="16414NISTXML-SV-IV-list-NMTOKEN-minLength-4-5 tokoe:valid" result="pass"/><test-case name="16415NISTSchema-SV-IV-list-NMTOKEN-minLength-5 tokoe:valid" result="pass"/><test-case name="16416NISTXML-SV-IV-list-NMTOKEN-minLength-5-1 tokoe:valid" result="pass"/><test-case name="16417NISTXML-SV-IV-list-NMTOKEN-minLength-5-2 tokoe:valid" result="pass"/><test-case name="16418NISTXML-SV-IV-list-NMTOKEN-minLength-5-3 tokoe:valid" result="pass"/><test-case name="16419NISTXML-SV-IV-list-NMTOKEN-minLength-5-4 tokoe:valid" result="pass"/><test-case name="16420NISTXML-SV-IV-list-NMTOKEN-minLength-5-5 tokoe:valid" result="pass"/><test-case name="16421NISTSchema-SV-IV-list-NMTOKEN-length-1 tokoe:valid" result="pass"/><test-case name="16422NISTXML-SV-IV-list-NMTOKEN-length-1-1 tokoe:valid" result="pass"/><test-case name="16423NISTXML-SV-IV-list-NMTOKEN-length-1-2 tokoe:valid" result="pass"/><test-case name="16424NISTXML-SV-IV-list-NMTOKEN-length-1-3 tokoe:valid" result="pass"/><test-case name="16425NISTXML-SV-IV-list-NMTOKEN-length-1-4 tokoe:valid" result="pass"/><test-case name="16426NISTXML-SV-IV-list-NMTOKEN-length-1-5 tokoe:valid" result="pass"/><test-case name="16427NISTSchema-SV-IV-list-NMTOKEN-length-2 tokoe:valid" result="pass"/><test-case name="16428NISTXML-SV-IV-list-NMTOKEN-length-2-1 tokoe:valid" result="pass"/><test-case name="16429NISTXML-SV-IV-list-NMTOKEN-length-2-2 tokoe:valid" result="pass"/><test-case name="16430NISTXML-SV-IV-list-NMTOKEN-length-2-3 tokoe:valid" result="pass"/><test-case name="16431NISTXML-SV-IV-list-NMTOKEN-length-2-4 tokoe:valid" result="pass"/><test-case name="16432NISTXML-SV-IV-list-NMTOKEN-length-2-5 tokoe:valid" result="pass"/><test-case name="16433NISTSchema-SV-IV-list-NMTOKEN-length-3 tokoe:valid" result="pass"/><test-case name="16434NISTXML-SV-IV-list-NMTOKEN-length-3-1 tokoe:valid" result="pass"/><test-case name="16435NISTXML-SV-IV-list-NMTOKEN-length-3-2 tokoe:valid" result="pass"/><test-case name="16436NISTXML-SV-IV-list-NMTOKEN-length-3-3 tokoe:valid" result="pass"/><test-case name="16437NISTXML-SV-IV-list-NMTOKEN-length-3-4 tokoe:valid" result="pass"/><test-case name="16438NISTXML-SV-IV-list-NMTOKEN-length-3-5 tokoe:valid" result="pass"/><test-case name="16439NISTSchema-SV-IV-list-NMTOKEN-length-4 tokoe:valid" result="pass"/><test-case name="16440NISTXML-SV-IV-list-NMTOKEN-length-4-1 tokoe:valid" result="pass"/><test-case name="16441NISTXML-SV-IV-list-NMTOKEN-length-4-2 tokoe:valid" result="pass"/><test-case name="16442NISTXML-SV-IV-list-NMTOKEN-length-4-3 tokoe:valid" result="pass"/><test-case name="16443NISTXML-SV-IV-list-NMTOKEN-length-4-4 tokoe:valid" result="pass"/><test-case name="16444NISTXML-SV-IV-list-NMTOKEN-length-4-5 tokoe:valid" result="pass"/><test-case name="16445NISTSchema-SV-IV-list-NMTOKEN-length-5 tokoe:valid" result="pass"/><test-case name="16446NISTXML-SV-IV-list-NMTOKEN-length-5-1 tokoe:valid" result="pass"/><test-case name="16447NISTXML-SV-IV-list-NMTOKEN-length-5-2 tokoe:valid" result="pass"/><test-case name="16448NISTXML-SV-IV-list-NMTOKEN-length-5-3 tokoe:valid" result="pass"/><test-case name="16449NISTXML-SV-IV-list-NMTOKEN-length-5-4 tokoe:valid" result="pass"/><test-case name="16450NISTXML-SV-IV-list-NMTOKEN-length-5-5 tokoe:valid" result="pass"/><test-case name="16451NISTSchema-SV-IV-list-NMTOKEN-pattern-1 tokoe:valid" result="pass"/><test-case name="16452NISTXML-SV-IV-list-NMTOKEN-pattern-1-1 tokoe:valid" result="pass"/><test-case name="16453NISTXML-SV-IV-list-NMTOKEN-pattern-1-2 tokoe:valid" result="pass"/><test-case name="16454NISTXML-SV-IV-list-NMTOKEN-pattern-1-3 tokoe:valid" result="pass"/><test-case name="16455NISTXML-SV-IV-list-NMTOKEN-pattern-1-4 tokoe:valid" result="pass"/><test-case name="16456NISTXML-SV-IV-list-NMTOKEN-pattern-1-5 tokoe:valid" result="pass"/><test-case name="16457NISTSchema-SV-IV-list-NMTOKEN-pattern-2 tokoe:valid" result="pass"/><test-case name="16458NISTXML-SV-IV-list-NMTOKEN-pattern-2-1 tokoe:valid" result="pass"/><test-case name="16459NISTXML-SV-IV-list-NMTOKEN-pattern-2-2 tokoe:valid" result="pass"/><test-case name="16460NISTXML-SV-IV-list-NMTOKEN-pattern-2-3 tokoe:valid" result="pass"/><test-case name="16461NISTXML-SV-IV-list-NMTOKEN-pattern-2-4 tokoe:valid" result="pass"/><test-case name="16462NISTXML-SV-IV-list-NMTOKEN-pattern-2-5 tokoe:valid" result="pass"/><test-case name="16463NISTSchema-SV-IV-list-NMTOKEN-pattern-3 tokoe:valid" result="pass"/><test-case name="16464NISTXML-SV-IV-list-NMTOKEN-pattern-3-1 tokoe:valid" result="pass"/><test-case name="16465NISTXML-SV-IV-list-NMTOKEN-pattern-3-2 tokoe:valid" result="pass"/><test-case name="16466NISTXML-SV-IV-list-NMTOKEN-pattern-3-3 tokoe:valid" result="pass"/><test-case name="16467NISTXML-SV-IV-list-NMTOKEN-pattern-3-4 tokoe:valid" result="pass"/><test-case name="16468NISTXML-SV-IV-list-NMTOKEN-pattern-3-5 tokoe:valid" result="pass"/><test-case name="16469NISTSchema-SV-IV-list-NMTOKEN-pattern-4 tokoe:valid" result="pass"/><test-case name="16470NISTXML-SV-IV-list-NMTOKEN-pattern-4-1 tokoe:valid" result="pass"/><test-case name="16471NISTXML-SV-IV-list-NMTOKEN-pattern-4-2 tokoe:valid" result="pass"/><test-case name="16472NISTXML-SV-IV-list-NMTOKEN-pattern-4-3 tokoe:valid" result="pass"/><test-case name="16473NISTXML-SV-IV-list-NMTOKEN-pattern-4-4 tokoe:valid" result="pass"/><test-case name="16474NISTXML-SV-IV-list-NMTOKEN-pattern-4-5 tokoe:valid" result="pass"/><test-case name="16475NISTSchema-SV-IV-list-NMTOKEN-pattern-5 tokoe:valid" result="pass"/><test-case name="16476NISTXML-SV-IV-list-NMTOKEN-pattern-5-1 tokoe:valid" result="pass"/><test-case name="16477NISTXML-SV-IV-list-NMTOKEN-pattern-5-2 tokoe:valid" result="pass"/><test-case name="16478NISTXML-SV-IV-list-NMTOKEN-pattern-5-3 tokoe:valid" result="pass"/><test-case name="16479NISTXML-SV-IV-list-NMTOKEN-pattern-5-4 tokoe:valid" result="pass"/><test-case name="16480NISTXML-SV-IV-list-NMTOKEN-pattern-5-5 tokoe:valid" result="pass"/><test-case name="16481NISTSchema-SV-IV-list-NMTOKEN-enumeration-1 tokoe:valid" result="pass"/><test-case name="16482NISTXML-SV-IV-list-NMTOKEN-enumeration-1-1 tokoe:valid" result="pass"/><test-case name="16483NISTXML-SV-IV-list-NMTOKEN-enumeration-1-2 tokoe:valid" result="pass"/><test-case name="16484NISTXML-SV-IV-list-NMTOKEN-enumeration-1-3 tokoe:valid" result="pass"/><test-case name="16485NISTXML-SV-IV-list-NMTOKEN-enumeration-1-4 tokoe:valid" result="pass"/><test-case name="16486NISTXML-SV-IV-list-NMTOKEN-enumeration-1-5 tokoe:valid" result="pass"/><test-case name="16487NISTSchema-SV-IV-list-NMTOKEN-enumeration-2 tokoe:valid" result="pass"/><test-case name="16488NISTXML-SV-IV-list-NMTOKEN-enumeration-2-1 tokoe:valid" result="pass"/><test-case name="16489NISTXML-SV-IV-list-NMTOKEN-enumeration-2-2 tokoe:valid" result="pass"/><test-case name="16490NISTXML-SV-IV-list-NMTOKEN-enumeration-2-3 tokoe:valid" result="pass"/><test-case name="16491NISTXML-SV-IV-list-NMTOKEN-enumeration-2-4 tokoe:valid" result="pass"/><test-case name="16492NISTXML-SV-IV-list-NMTOKEN-enumeration-2-5 tokoe:valid" result="pass"/><test-case name="16493NISTSchema-SV-IV-list-NMTOKEN-enumeration-3 tokoe:valid" result="pass"/><test-case name="16494NISTXML-SV-IV-list-NMTOKEN-enumeration-3-1 tokoe:valid" result="pass"/><test-case name="16495NISTXML-SV-IV-list-NMTOKEN-enumeration-3-2 tokoe:valid" result="pass"/><test-case name="16496NISTXML-SV-IV-list-NMTOKEN-enumeration-3-3 tokoe:valid" result="pass"/><test-case name="16497NISTXML-SV-IV-list-NMTOKEN-enumeration-3-4 tokoe:valid" result="pass"/><test-case name="16498NISTXML-SV-IV-list-NMTOKEN-enumeration-3-5 tokoe:valid" result="pass"/><test-case name="16499NISTSchema-SV-IV-list-NMTOKEN-enumeration-4 tokoe:valid" result="pass"/><test-case name="16500NISTXML-SV-IV-list-NMTOKEN-enumeration-4-1 tokoe:valid" result="pass"/><test-case name="16501NISTXML-SV-IV-list-NMTOKEN-enumeration-4-2 tokoe:valid" result="pass"/><test-case name="16502NISTXML-SV-IV-list-NMTOKEN-enumeration-4-3 tokoe:valid" result="pass"/><test-case name="16503NISTXML-SV-IV-list-NMTOKEN-enumeration-4-4 tokoe:valid" result="pass"/><test-case name="16504NISTXML-SV-IV-list-NMTOKEN-enumeration-4-5 tokoe:valid" result="pass"/><test-case name="16505NISTSchema-SV-IV-list-NMTOKEN-enumeration-5 tokoe:valid" result="pass"/><test-case name="16506NISTXML-SV-IV-list-NMTOKEN-enumeration-5-1 tokoe:valid" result="pass"/><test-case name="16507NISTXML-SV-IV-list-NMTOKEN-enumeration-5-2 tokoe:valid" result="pass"/><test-case name="16508NISTXML-SV-IV-list-NMTOKEN-enumeration-5-3 tokoe:valid" result="pass"/><test-case name="16509NISTXML-SV-IV-list-NMTOKEN-enumeration-5-4 tokoe:valid" result="pass"/><test-case name="16510NISTXML-SV-IV-list-NMTOKEN-enumeration-5-5 tokoe:valid" result="pass"/><test-case name="16511NISTSchema-SV-IV-list-NMTOKEN-whiteSpace-1 tokoe:valid" result="pass"/><test-case name="16512NISTXML-SV-IV-list-NMTOKEN-whiteSpace-1-1 tokoe:valid" result="pass"/><test-case name="16513NISTXML-SV-IV-list-NMTOKEN-whiteSpace-1-2 tokoe:valid" result="pass"/><test-case name="16514NISTXML-SV-IV-list-NMTOKEN-whiteSpace-1-3 tokoe:valid" result="pass"/><test-case name="16515NISTXML-SV-IV-list-NMTOKEN-whiteSpace-1-4 tokoe:valid" result="pass"/><test-case name="16516NISTXML-SV-IV-list-NMTOKEN-whiteSpace-1-5 tokoe:valid" result="pass"/><test-case name="16517NISTSchema-SV-IV-list-NMTOKENS-maxLength-1 tokoe:valid" result="pass"/><test-case name="16518NISTXML-SV-IV-list-NMTOKENS-maxLength-1-1 tokoe:valid" result="pass"/><test-case name="16519NISTXML-SV-IV-list-NMTOKENS-maxLength-1-2 tokoe:valid" result="pass"/><test-case name="16520NISTXML-SV-IV-list-NMTOKENS-maxLength-1-3 tokoe:valid" result="pass"/><test-case name="16521NISTXML-SV-IV-list-NMTOKENS-maxLength-1-4 tokoe:valid" result="pass"/><test-case name="16522NISTXML-SV-IV-list-NMTOKENS-maxLength-1-5 tokoe:valid" result="pass"/><test-case name="16523NISTSchema-SV-IV-list-NMTOKENS-maxLength-2 tokoe:valid" result="pass"/><test-case name="16524NISTXML-SV-IV-list-NMTOKENS-maxLength-2-1 tokoe:valid" result="pass"/><test-case name="16525NISTXML-SV-IV-list-NMTOKENS-maxLength-2-2 tokoe:valid" result="pass"/><test-case name="16526NISTXML-SV-IV-list-NMTOKENS-maxLength-2-3 tokoe:valid" result="pass"/><test-case name="16527NISTXML-SV-IV-list-NMTOKENS-maxLength-2-4 tokoe:valid" result="pass"/><test-case name="16528NISTXML-SV-IV-list-NMTOKENS-maxLength-2-5 tokoe:valid" result="pass"/><test-case name="16529NISTSchema-SV-IV-list-NMTOKENS-maxLength-3 tokoe:valid" result="pass"/><test-case name="16530NISTXML-SV-IV-list-NMTOKENS-maxLength-3-1 tokoe:valid" result="pass"/><test-case name="16531NISTXML-SV-IV-list-NMTOKENS-maxLength-3-2 tokoe:valid" result="pass"/><test-case name="16532NISTXML-SV-IV-list-NMTOKENS-maxLength-3-3 tokoe:valid" result="pass"/><test-case name="16533NISTXML-SV-IV-list-NMTOKENS-maxLength-3-4 tokoe:valid" result="pass"/><test-case name="16534NISTXML-SV-IV-list-NMTOKENS-maxLength-3-5 tokoe:valid" result="pass"/><test-case name="16535NISTSchema-SV-IV-list-NMTOKENS-maxLength-4 tokoe:valid" result="pass"/><test-case name="16536NISTXML-SV-IV-list-NMTOKENS-maxLength-4-1 tokoe:valid" result="pass"/><test-case name="16537NISTXML-SV-IV-list-NMTOKENS-maxLength-4-2 tokoe:valid" result="pass"/><test-case name="16538NISTXML-SV-IV-list-NMTOKENS-maxLength-4-3 tokoe:valid" result="pass"/><test-case name="16539NISTXML-SV-IV-list-NMTOKENS-maxLength-4-4 tokoe:valid" result="pass"/><test-case name="16540NISTXML-SV-IV-list-NMTOKENS-maxLength-4-5 tokoe:valid" result="pass"/><test-case name="16541NISTSchema-SV-IV-list-NMTOKENS-maxLength-5 tokoe:valid" result="pass"/><test-case name="16542NISTXML-SV-IV-list-NMTOKENS-maxLength-5-1 tokoe:valid" result="pass"/><test-case name="16543NISTXML-SV-IV-list-NMTOKENS-maxLength-5-2 tokoe:valid" result="pass"/><test-case name="16544NISTXML-SV-IV-list-NMTOKENS-maxLength-5-3 tokoe:valid" result="pass"/><test-case name="16545NISTXML-SV-IV-list-NMTOKENS-maxLength-5-4 tokoe:valid" result="pass"/><test-case name="16546NISTXML-SV-IV-list-NMTOKENS-maxLength-5-5 tokoe:valid" result="pass"/><test-case name="16547NISTSchema-SV-IV-list-NMTOKENS-minLength-1 tokoe:valid" result="pass"/><test-case name="16548NISTXML-SV-IV-list-NMTOKENS-minLength-1-1 tokoe:valid" result="pass"/><test-case name="16549NISTXML-SV-IV-list-NMTOKENS-minLength-1-2 tokoe:valid" result="pass"/><test-case name="16550NISTXML-SV-IV-list-NMTOKENS-minLength-1-3 tokoe:valid" result="pass"/><test-case name="16551NISTXML-SV-IV-list-NMTOKENS-minLength-1-4 tokoe:valid" result="pass"/><test-case name="16552NISTXML-SV-IV-list-NMTOKENS-minLength-1-5 tokoe:valid" result="pass"/><test-case name="16553NISTSchema-SV-IV-list-NMTOKENS-minLength-2 tokoe:valid" result="pass"/><test-case name="16554NISTXML-SV-IV-list-NMTOKENS-minLength-2-1 tokoe:valid" result="pass"/><test-case name="16555NISTXML-SV-IV-list-NMTOKENS-minLength-2-2 tokoe:valid" result="pass"/><test-case name="16556NISTXML-SV-IV-list-NMTOKENS-minLength-2-3 tokoe:valid" result="pass"/><test-case name="16557NISTXML-SV-IV-list-NMTOKENS-minLength-2-4 tokoe:valid" result="pass"/><test-case name="16558NISTXML-SV-IV-list-NMTOKENS-minLength-2-5 tokoe:valid" result="pass"/><test-case name="16559NISTSchema-SV-IV-list-NMTOKENS-minLength-3 tokoe:valid" result="pass"/><test-case name="16560NISTXML-SV-IV-list-NMTOKENS-minLength-3-1 tokoe:valid" result="pass"/><test-case name="16561NISTXML-SV-IV-list-NMTOKENS-minLength-3-2 tokoe:valid" result="pass"/><test-case name="16562NISTXML-SV-IV-list-NMTOKENS-minLength-3-3 tokoe:valid" result="pass"/><test-case name="16563NISTXML-SV-IV-list-NMTOKENS-minLength-3-4 tokoe:valid" result="pass"/><test-case name="16564NISTXML-SV-IV-list-NMTOKENS-minLength-3-5 tokoe:valid" result="pass"/><test-case name="16565NISTSchema-SV-IV-list-NMTOKENS-minLength-4 tokoe:valid" result="pass"/><test-case name="16566NISTXML-SV-IV-list-NMTOKENS-minLength-4-1 tokoe:valid" result="pass"/><test-case name="16567NISTXML-SV-IV-list-NMTOKENS-minLength-4-2 tokoe:valid" result="pass"/><test-case name="16568NISTXML-SV-IV-list-NMTOKENS-minLength-4-3 tokoe:valid" result="pass"/><test-case name="16569NISTXML-SV-IV-list-NMTOKENS-minLength-4-4 tokoe:valid" result="pass"/><test-case name="16570NISTXML-SV-IV-list-NMTOKENS-minLength-4-5 tokoe:valid" result="pass"/><test-case name="16571NISTSchema-SV-IV-list-NMTOKENS-minLength-5 tokoe:valid" result="pass"/><test-case name="16572NISTXML-SV-IV-list-NMTOKENS-minLength-5-1 tokoe:valid" result="pass"/><test-case name="16573NISTXML-SV-IV-list-NMTOKENS-minLength-5-2 tokoe:valid" result="pass"/><test-case name="16574NISTXML-SV-IV-list-NMTOKENS-minLength-5-3 tokoe:valid" result="pass"/><test-case name="16575NISTXML-SV-IV-list-NMTOKENS-minLength-5-4 tokoe:valid" result="pass"/><test-case name="16576NISTXML-SV-IV-list-NMTOKENS-minLength-5-5 tokoe:valid" result="pass"/><test-case name="16577NISTSchema-SV-IV-list-NMTOKENS-length-1 tokoe:valid" result="pass"/><test-case name="16578NISTXML-SV-IV-list-NMTOKENS-length-1-1 tokoe:valid" result="pass"/><test-case name="16579NISTXML-SV-IV-list-NMTOKENS-length-1-2 tokoe:valid" result="pass"/><test-case name="16580NISTXML-SV-IV-list-NMTOKENS-length-1-3 tokoe:valid" result="pass"/><test-case name="16581NISTXML-SV-IV-list-NMTOKENS-length-1-4 tokoe:valid" result="pass"/><test-case name="16582NISTXML-SV-IV-list-NMTOKENS-length-1-5 tokoe:valid" result="pass"/><test-case name="16583NISTSchema-SV-IV-list-NMTOKENS-length-2 tokoe:valid" result="pass"/><test-case name="16584NISTXML-SV-IV-list-NMTOKENS-length-2-1 tokoe:valid" result="pass"/><test-case name="16585NISTXML-SV-IV-list-NMTOKENS-length-2-2 tokoe:valid" result="pass"/><test-case name="16586NISTXML-SV-IV-list-NMTOKENS-length-2-3 tokoe:valid" result="pass"/><test-case name="16587NISTXML-SV-IV-list-NMTOKENS-length-2-4 tokoe:valid" result="pass"/><test-case name="16588NISTXML-SV-IV-list-NMTOKENS-length-2-5 tokoe:valid" result="pass"/><test-case name="16589NISTSchema-SV-IV-list-NMTOKENS-length-3 tokoe:valid" result="pass"/><test-case name="16590NISTXML-SV-IV-list-NMTOKENS-length-3-1 tokoe:valid" result="pass"/><test-case name="16591NISTXML-SV-IV-list-NMTOKENS-length-3-2 tokoe:valid" result="pass"/><test-case name="16592NISTXML-SV-IV-list-NMTOKENS-length-3-3 tokoe:valid" result="pass"/><test-case name="16593NISTXML-SV-IV-list-NMTOKENS-length-3-4 tokoe:valid" result="pass"/><test-case name="16594NISTXML-SV-IV-list-NMTOKENS-length-3-5 tokoe:valid" result="pass"/><test-case name="16595NISTSchema-SV-IV-list-NMTOKENS-length-4 tokoe:valid" result="pass"/><test-case name="16596NISTXML-SV-IV-list-NMTOKENS-length-4-1 tokoe:valid" result="pass"/><test-case name="16597NISTXML-SV-IV-list-NMTOKENS-length-4-2 tokoe:valid" result="pass"/><test-case name="16598NISTXML-SV-IV-list-NMTOKENS-length-4-3 tokoe:valid" result="pass"/><test-case name="16599NISTXML-SV-IV-list-NMTOKENS-length-4-4 tokoe:valid" result="pass"/><test-case name="16600NISTXML-SV-IV-list-NMTOKENS-length-4-5 tokoe:valid" result="pass"/><test-case name="16601NISTSchema-SV-IV-list-NMTOKENS-length-5 tokoe:valid" result="pass"/><test-case name="16602NISTXML-SV-IV-list-NMTOKENS-length-5-1 tokoe:valid" result="pass"/><test-case name="16603NISTXML-SV-IV-list-NMTOKENS-length-5-2 tokoe:valid" result="pass"/><test-case name="16604NISTXML-SV-IV-list-NMTOKENS-length-5-3 tokoe:valid" result="pass"/><test-case name="16605NISTXML-SV-IV-list-NMTOKENS-length-5-4 tokoe:valid" result="pass"/><test-case name="16606NISTXML-SV-IV-list-NMTOKENS-length-5-5 tokoe:valid" result="pass"/><test-case name="16607NISTSchema-SV-IV-list-NMTOKENS-pattern-1 tokoe:valid" result="pass"/><test-case name="16608NISTXML-SV-IV-list-NMTOKENS-pattern-1-1 tokoe:valid" result="pass"/><test-case name="16609NISTXML-SV-IV-list-NMTOKENS-pattern-1-2 tokoe:valid" result="pass"/><test-case name="16610NISTXML-SV-IV-list-NMTOKENS-pattern-1-3 tokoe:valid" result="pass"/><test-case name="16611NISTXML-SV-IV-list-NMTOKENS-pattern-1-4 tokoe:valid" result="pass"/><test-case name="16612NISTXML-SV-IV-list-NMTOKENS-pattern-1-5 tokoe:valid" result="pass"/><test-case name="16613NISTSchema-SV-IV-list-NMTOKENS-pattern-2 tokoe:valid" result="pass"/><test-case name="16614NISTXML-SV-IV-list-NMTOKENS-pattern-2-1 tokoe:valid" result="pass"/><test-case name="16615NISTXML-SV-IV-list-NMTOKENS-pattern-2-2 tokoe:valid" result="pass"/><test-case name="16616NISTXML-SV-IV-list-NMTOKENS-pattern-2-3 tokoe:valid" result="pass"/><test-case name="16617NISTXML-SV-IV-list-NMTOKENS-pattern-2-4 tokoe:valid" result="pass"/><test-case name="16618NISTXML-SV-IV-list-NMTOKENS-pattern-2-5 tokoe:valid" result="pass"/><test-case name="16619NISTSchema-SV-IV-list-NMTOKENS-pattern-3 tokoe:valid" result="pass"/><test-case name="16620NISTXML-SV-IV-list-NMTOKENS-pattern-3-1 tokoe:valid" result="pass"/><test-case name="16621NISTXML-SV-IV-list-NMTOKENS-pattern-3-2 tokoe:valid" result="pass"/><test-case name="16622NISTXML-SV-IV-list-NMTOKENS-pattern-3-3 tokoe:valid" result="pass"/><test-case name="16623NISTXML-SV-IV-list-NMTOKENS-pattern-3-4 tokoe:valid" result="pass"/><test-case name="16624NISTXML-SV-IV-list-NMTOKENS-pattern-3-5 tokoe:valid" result="pass"/><test-case name="16625NISTSchema-SV-IV-list-NMTOKENS-pattern-4 tokoe:valid" result="pass"/><test-case name="16626NISTXML-SV-IV-list-NMTOKENS-pattern-4-1 tokoe:valid" result="pass"/><test-case name="16627NISTXML-SV-IV-list-NMTOKENS-pattern-4-2 tokoe:valid" result="pass"/><test-case name="16628NISTXML-SV-IV-list-NMTOKENS-pattern-4-3 tokoe:valid" result="pass"/><test-case name="16629NISTXML-SV-IV-list-NMTOKENS-pattern-4-4 tokoe:valid" result="pass"/><test-case name="16630NISTXML-SV-IV-list-NMTOKENS-pattern-4-5 tokoe:valid" result="pass"/><test-case name="16631NISTSchema-SV-IV-list-NMTOKENS-pattern-5 tokoe:valid" result="pass"/><test-case name="16632NISTXML-SV-IV-list-NMTOKENS-pattern-5-1 tokoe:valid" result="pass"/><test-case name="16633NISTXML-SV-IV-list-NMTOKENS-pattern-5-2 tokoe:valid" result="pass"/><test-case name="16634NISTXML-SV-IV-list-NMTOKENS-pattern-5-3 tokoe:valid" result="pass"/><test-case name="16635NISTXML-SV-IV-list-NMTOKENS-pattern-5-4 tokoe:valid" result="pass"/><test-case name="16636NISTXML-SV-IV-list-NMTOKENS-pattern-5-5 tokoe:valid" result="pass"/><test-case name="16637NISTSchema-SV-IV-list-NMTOKENS-enumeration-1 tokoe:valid" result="pass"/><test-case name="16638NISTXML-SV-IV-list-NMTOKENS-enumeration-1-1 tokoe:valid" result="pass"/><test-case name="16639NISTXML-SV-IV-list-NMTOKENS-enumeration-1-2 tokoe:valid" result="pass"/><test-case name="16640NISTXML-SV-IV-list-NMTOKENS-enumeration-1-3 tokoe:valid" result="pass"/><test-case name="16641NISTXML-SV-IV-list-NMTOKENS-enumeration-1-4 tokoe:valid" result="pass"/><test-case name="16642NISTXML-SV-IV-list-NMTOKENS-enumeration-1-5 tokoe:valid" result="pass"/><test-case name="16643NISTSchema-SV-IV-list-NMTOKENS-enumeration-2 tokoe:valid" result="pass"/><test-case name="16644NISTXML-SV-IV-list-NMTOKENS-enumeration-2-1 tokoe:valid" result="pass"/><test-case name="16645NISTXML-SV-IV-list-NMTOKENS-enumeration-2-2 tokoe:valid" result="pass"/><test-case name="16646NISTXML-SV-IV-list-NMTOKENS-enumeration-2-3 tokoe:valid" result="pass"/><test-case name="16647NISTXML-SV-IV-list-NMTOKENS-enumeration-2-4 tokoe:valid" result="pass"/><test-case name="16648NISTXML-SV-IV-list-NMTOKENS-enumeration-2-5 tokoe:valid" result="pass"/><test-case name="16649NISTSchema-SV-IV-list-NMTOKENS-enumeration-3 tokoe:valid" result="pass"/><test-case name="16650NISTXML-SV-IV-list-NMTOKENS-enumeration-3-1 tokoe:valid" result="pass"/><test-case name="16651NISTXML-SV-IV-list-NMTOKENS-enumeration-3-2 tokoe:valid" result="pass"/><test-case name="16652NISTXML-SV-IV-list-NMTOKENS-enumeration-3-3 tokoe:valid" result="pass"/><test-case name="16653NISTXML-SV-IV-list-NMTOKENS-enumeration-3-4 tokoe:valid" result="pass"/><test-case name="16654NISTXML-SV-IV-list-NMTOKENS-enumeration-3-5 tokoe:valid" result="pass"/><test-case name="16655NISTSchema-SV-IV-list-NMTOKENS-enumeration-4 tokoe:valid" result="pass"/><test-case name="16656NISTXML-SV-IV-list-NMTOKENS-enumeration-4-1 tokoe:valid" result="pass"/><test-case name="16657NISTXML-SV-IV-list-NMTOKENS-enumeration-4-2 tokoe:valid" result="pass"/><test-case name="16658NISTXML-SV-IV-list-NMTOKENS-enumeration-4-3 tokoe:valid" result="pass"/><test-case name="16659NISTXML-SV-IV-list-NMTOKENS-enumeration-4-4 tokoe:valid" result="pass"/><test-case name="16660NISTXML-SV-IV-list-NMTOKENS-enumeration-4-5 tokoe:valid" result="pass"/><test-case name="16661NISTSchema-SV-IV-list-NMTOKENS-enumeration-5 tokoe:valid" result="pass"/><test-case name="16662NISTXML-SV-IV-list-NMTOKENS-enumeration-5-1 tokoe:valid" result="pass"/><test-case name="16663NISTXML-SV-IV-list-NMTOKENS-enumeration-5-2 tokoe:valid" result="pass"/><test-case name="16664NISTXML-SV-IV-list-NMTOKENS-enumeration-5-3 tokoe:valid" result="pass"/><test-case name="16665NISTXML-SV-IV-list-NMTOKENS-enumeration-5-4 tokoe:valid" result="pass"/><test-case name="16666NISTXML-SV-IV-list-NMTOKENS-enumeration-5-5 tokoe:valid" result="pass"/><test-case name="16667NISTSchema-SV-IV-list-NMTOKENS-whiteSpace-1 tokoe:valid" result="pass"/><test-case name="16668NISTXML-SV-IV-list-NMTOKENS-whiteSpace-1-1 tokoe:valid" result="pass"/><test-case name="16669NISTXML-SV-IV-list-NMTOKENS-whiteSpace-1-2 tokoe:valid" result="pass"/><test-case name="16670NISTXML-SV-IV-list-NMTOKENS-whiteSpace-1-3 tokoe:valid" result="pass"/><test-case name="16671NISTXML-SV-IV-list-NMTOKENS-whiteSpace-1-4 tokoe:valid" result="pass"/><test-case name="16672NISTXML-SV-IV-list-NMTOKENS-whiteSpace-1-5 tokoe:valid" result="pass"/><test-case name="16673NISTSchema-SV-IV-list-NCName-maxLength-1 tokoe:valid" result="pass"/><test-case name="16674NISTXML-SV-IV-list-NCName-maxLength-1-1 tokoe:valid" result="pass"/><test-case name="16675NISTXML-SV-IV-list-NCName-maxLength-1-2 tokoe:valid" result="pass"/><test-case name="16676NISTXML-SV-IV-list-NCName-maxLength-1-3 tokoe:valid" result="pass"/><test-case name="16677NISTXML-SV-IV-list-NCName-maxLength-1-4 tokoe:valid" result="pass"/><test-case name="16678NISTXML-SV-IV-list-NCName-maxLength-1-5 tokoe:valid" result="pass"/><test-case name="16679NISTSchema-SV-IV-list-NCName-maxLength-2 tokoe:valid" result="pass"/><test-case name="16680NISTXML-SV-IV-list-NCName-maxLength-2-1 tokoe:valid" result="pass"/><test-case name="16681NISTXML-SV-IV-list-NCName-maxLength-2-2 tokoe:valid" result="pass"/><test-case name="16682NISTXML-SV-IV-list-NCName-maxLength-2-3 tokoe:valid" result="pass"/><test-case name="16683NISTXML-SV-IV-list-NCName-maxLength-2-4 tokoe:valid" result="pass"/><test-case name="16684NISTXML-SV-IV-list-NCName-maxLength-2-5 tokoe:valid" result="pass"/><test-case name="16685NISTSchema-SV-IV-list-NCName-maxLength-3 tokoe:valid" result="pass"/><test-case name="16686NISTXML-SV-IV-list-NCName-maxLength-3-1 tokoe:valid" result="pass"/><test-case name="16687NISTXML-SV-IV-list-NCName-maxLength-3-2 tokoe:valid" result="pass"/><test-case name="16688NISTXML-SV-IV-list-NCName-maxLength-3-3 tokoe:valid" result="pass"/><test-case name="16689NISTXML-SV-IV-list-NCName-maxLength-3-4 tokoe:valid" result="pass"/><test-case name="16690NISTXML-SV-IV-list-NCName-maxLength-3-5 tokoe:valid" result="pass"/><test-case name="16691NISTSchema-SV-IV-list-NCName-maxLength-4 tokoe:valid" result="pass"/><test-case name="16692NISTXML-SV-IV-list-NCName-maxLength-4-1 tokoe:valid" result="pass"/><test-case name="16693NISTXML-SV-IV-list-NCName-maxLength-4-2 tokoe:valid" result="pass"/><test-case name="16694NISTXML-SV-IV-list-NCName-maxLength-4-3 tokoe:valid" result="pass"/><test-case name="16695NISTXML-SV-IV-list-NCName-maxLength-4-4 tokoe:valid" result="pass"/><test-case name="16696NISTXML-SV-IV-list-NCName-maxLength-4-5 tokoe:valid" result="pass"/><test-case name="16697NISTSchema-SV-IV-list-NCName-maxLength-5 tokoe:valid" result="pass"/><test-case name="16698NISTXML-SV-IV-list-NCName-maxLength-5-1 tokoe:valid" result="pass"/><test-case name="16699NISTXML-SV-IV-list-NCName-maxLength-5-2 tokoe:valid" result="pass"/><test-case name="16700NISTXML-SV-IV-list-NCName-maxLength-5-3 tokoe:valid" result="pass"/><test-case name="16701NISTXML-SV-IV-list-NCName-maxLength-5-4 tokoe:valid" result="pass"/><test-case name="16702NISTXML-SV-IV-list-NCName-maxLength-5-5 tokoe:valid" result="pass"/><test-case name="16703NISTSchema-SV-IV-list-NCName-minLength-1 tokoe:valid" result="pass"/><test-case name="16704NISTXML-SV-IV-list-NCName-minLength-1-1 tokoe:valid" result="pass"/><test-case name="16705NISTXML-SV-IV-list-NCName-minLength-1-2 tokoe:valid" result="pass"/><test-case name="16706NISTXML-SV-IV-list-NCName-minLength-1-3 tokoe:valid" result="pass"/><test-case name="16707NISTXML-SV-IV-list-NCName-minLength-1-4 tokoe:valid" result="pass"/><test-case name="16708NISTXML-SV-IV-list-NCName-minLength-1-5 tokoe:valid" result="pass"/><test-case name="16709NISTSchema-SV-IV-list-NCName-minLength-2 tokoe:valid" result="pass"/><test-case name="16710NISTXML-SV-IV-list-NCName-minLength-2-1 tokoe:valid" result="pass"/><test-case name="16711NISTXML-SV-IV-list-NCName-minLength-2-2 tokoe:valid" result="pass"/><test-case name="16712NISTXML-SV-IV-list-NCName-minLength-2-3 tokoe:valid" result="pass"/><test-case name="16713NISTXML-SV-IV-list-NCName-minLength-2-4 tokoe:valid" result="pass"/><test-case name="16714NISTXML-SV-IV-list-NCName-minLength-2-5 tokoe:valid" result="pass"/><test-case name="16715NISTSchema-SV-IV-list-NCName-minLength-3 tokoe:valid" result="pass"/><test-case name="16716NISTXML-SV-IV-list-NCName-minLength-3-1 tokoe:valid" result="pass"/><test-case name="16717NISTXML-SV-IV-list-NCName-minLength-3-2 tokoe:valid" result="pass"/><test-case name="16718NISTXML-SV-IV-list-NCName-minLength-3-3 tokoe:valid" result="pass"/><test-case name="16719NISTXML-SV-IV-list-NCName-minLength-3-4 tokoe:valid" result="pass"/><test-case name="16720NISTXML-SV-IV-list-NCName-minLength-3-5 tokoe:valid" result="pass"/><test-case name="16721NISTSchema-SV-IV-list-NCName-minLength-4 tokoe:valid" result="pass"/><test-case name="16722NISTXML-SV-IV-list-NCName-minLength-4-1 tokoe:valid" result="pass"/><test-case name="16723NISTXML-SV-IV-list-NCName-minLength-4-2 tokoe:valid" result="pass"/><test-case name="16724NISTXML-SV-IV-list-NCName-minLength-4-3 tokoe:valid" result="pass"/><test-case name="16725NISTXML-SV-IV-list-NCName-minLength-4-4 tokoe:valid" result="pass"/><test-case name="16726NISTXML-SV-IV-list-NCName-minLength-4-5 tokoe:valid" result="pass"/><test-case name="16727NISTSchema-SV-IV-list-NCName-minLength-5 tokoe:valid" result="pass"/><test-case name="16728NISTXML-SV-IV-list-NCName-minLength-5-1 tokoe:valid" result="pass"/><test-case name="16729NISTXML-SV-IV-list-NCName-minLength-5-2 tokoe:valid" result="pass"/><test-case name="16730NISTXML-SV-IV-list-NCName-minLength-5-3 tokoe:valid" result="pass"/><test-case name="16731NISTXML-SV-IV-list-NCName-minLength-5-4 tokoe:valid" result="pass"/><test-case name="16732NISTXML-SV-IV-list-NCName-minLength-5-5 tokoe:valid" result="pass"/><test-case name="16733NISTSchema-SV-IV-list-NCName-length-1 tokoe:valid" result="pass"/><test-case name="16734NISTXML-SV-IV-list-NCName-length-1-1 tokoe:valid" result="pass"/><test-case name="16735NISTXML-SV-IV-list-NCName-length-1-2 tokoe:valid" result="pass"/><test-case name="16736NISTXML-SV-IV-list-NCName-length-1-3 tokoe:valid" result="pass"/><test-case name="16737NISTXML-SV-IV-list-NCName-length-1-4 tokoe:valid" result="pass"/><test-case name="16738NISTXML-SV-IV-list-NCName-length-1-5 tokoe:valid" result="pass"/><test-case name="16739NISTSchema-SV-IV-list-NCName-length-2 tokoe:valid" result="pass"/><test-case name="16740NISTXML-SV-IV-list-NCName-length-2-1 tokoe:valid" result="pass"/><test-case name="16741NISTXML-SV-IV-list-NCName-length-2-2 tokoe:valid" result="pass"/><test-case name="16742NISTXML-SV-IV-list-NCName-length-2-3 tokoe:valid" result="pass"/><test-case name="16743NISTXML-SV-IV-list-NCName-length-2-4 tokoe:valid" result="pass"/><test-case name="16744NISTXML-SV-IV-list-NCName-length-2-5 tokoe:valid" result="pass"/><test-case name="16745NISTSchema-SV-IV-list-NCName-length-3 tokoe:valid" result="pass"/><test-case name="16746NISTXML-SV-IV-list-NCName-length-3-1 tokoe:valid" result="pass"/><test-case name="16747NISTXML-SV-IV-list-NCName-length-3-2 tokoe:valid" result="pass"/><test-case name="16748NISTXML-SV-IV-list-NCName-length-3-3 tokoe:valid" result="pass"/><test-case name="16749NISTXML-SV-IV-list-NCName-length-3-4 tokoe:valid" result="pass"/><test-case name="16750NISTXML-SV-IV-list-NCName-length-3-5 tokoe:valid" result="pass"/><test-case name="16751NISTSchema-SV-IV-list-NCName-length-4 tokoe:valid" result="pass"/><test-case name="16752NISTXML-SV-IV-list-NCName-length-4-1 tokoe:valid" result="pass"/><test-case name="16753NISTXML-SV-IV-list-NCName-length-4-2 tokoe:valid" result="pass"/><test-case name="16754NISTXML-SV-IV-list-NCName-length-4-3 tokoe:valid" result="pass"/><test-case name="16755NISTXML-SV-IV-list-NCName-length-4-4 tokoe:valid" result="pass"/><test-case name="16756NISTXML-SV-IV-list-NCName-length-4-5 tokoe:valid" result="pass"/><test-case name="16757NISTSchema-SV-IV-list-NCName-length-5 tokoe:valid" result="pass"/><test-case name="16758NISTXML-SV-IV-list-NCName-length-5-1 tokoe:valid" result="pass"/><test-case name="16759NISTXML-SV-IV-list-NCName-length-5-2 tokoe:valid" result="pass"/><test-case name="16760NISTXML-SV-IV-list-NCName-length-5-3 tokoe:valid" result="pass"/><test-case name="16761NISTXML-SV-IV-list-NCName-length-5-4 tokoe:valid" result="pass"/><test-case name="16762NISTXML-SV-IV-list-NCName-length-5-5 tokoe:valid" result="pass"/><test-case name="16763NISTSchema-SV-IV-list-NCName-pattern-1 tokoe:valid" result="pass"/><test-case name="16764NISTXML-SV-IV-list-NCName-pattern-1-1 tokoe:valid" result="pass"/><test-case name="16765NISTXML-SV-IV-list-NCName-pattern-1-2 tokoe:valid" result="pass"/><test-case name="16766NISTXML-SV-IV-list-NCName-pattern-1-3 tokoe:valid" result="pass"/><test-case name="16767NISTXML-SV-IV-list-NCName-pattern-1-4 tokoe:valid" result="pass"/><test-case name="16768NISTXML-SV-IV-list-NCName-pattern-1-5 tokoe:valid" result="pass"/><test-case name="16769NISTSchema-SV-IV-list-NCName-pattern-2 tokoe:valid" result="pass"/><test-case name="16770NISTXML-SV-IV-list-NCName-pattern-2-1 tokoe:valid" result="pass"/><test-case name="16771NISTXML-SV-IV-list-NCName-pattern-2-2 tokoe:valid" result="pass"/><test-case name="16772NISTXML-SV-IV-list-NCName-pattern-2-3 tokoe:valid" result="pass"/><test-case name="16773NISTXML-SV-IV-list-NCName-pattern-2-4 tokoe:valid" result="pass"/><test-case name="16774NISTXML-SV-IV-list-NCName-pattern-2-5 tokoe:valid" result="pass"/><test-case name="16775NISTSchema-SV-IV-list-NCName-pattern-3 tokoe:valid" result="pass"/><test-case name="16776NISTXML-SV-IV-list-NCName-pattern-3-1 tokoe:valid" result="pass"/><test-case name="16777NISTXML-SV-IV-list-NCName-pattern-3-2 tokoe:valid" result="pass"/><test-case name="16778NISTXML-SV-IV-list-NCName-pattern-3-3 tokoe:valid" result="pass"/><test-case name="16779NISTXML-SV-IV-list-NCName-pattern-3-4 tokoe:valid" result="pass"/><test-case name="16780NISTXML-SV-IV-list-NCName-pattern-3-5 tokoe:valid" result="pass"/><test-case name="16781NISTSchema-SV-IV-list-NCName-pattern-4 tokoe:valid" result="pass"/><test-case name="16782NISTXML-SV-IV-list-NCName-pattern-4-1 tokoe:valid" result="pass"/><test-case name="16783NISTXML-SV-IV-list-NCName-pattern-4-2 tokoe:valid" result="pass"/><test-case name="16784NISTXML-SV-IV-list-NCName-pattern-4-3 tokoe:valid" result="pass"/><test-case name="16785NISTXML-SV-IV-list-NCName-pattern-4-4 tokoe:valid" result="pass"/><test-case name="16786NISTXML-SV-IV-list-NCName-pattern-4-5 tokoe:valid" result="pass"/><test-case name="16787NISTSchema-SV-IV-list-NCName-pattern-5 tokoe:valid" result="pass"/><test-case name="16788NISTXML-SV-IV-list-NCName-pattern-5-1 tokoe:valid" result="pass"/><test-case name="16789NISTXML-SV-IV-list-NCName-pattern-5-2 tokoe:valid" result="pass"/><test-case name="16790NISTXML-SV-IV-list-NCName-pattern-5-3 tokoe:valid" result="pass"/><test-case name="16791NISTXML-SV-IV-list-NCName-pattern-5-4 tokoe:valid" result="pass"/><test-case name="16792NISTXML-SV-IV-list-NCName-pattern-5-5 tokoe:valid" result="pass"/><test-case name="16793NISTSchema-SV-IV-list-NCName-enumeration-1 tokoe:valid" result="pass"/><test-case name="16794NISTXML-SV-IV-list-NCName-enumeration-1-1 tokoe:valid" result="pass"/><test-case name="16795NISTXML-SV-IV-list-NCName-enumeration-1-2 tokoe:valid" result="pass"/><test-case name="16796NISTXML-SV-IV-list-NCName-enumeration-1-3 tokoe:valid" result="pass"/><test-case name="16797NISTXML-SV-IV-list-NCName-enumeration-1-4 tokoe:valid" result="pass"/><test-case name="16798NISTXML-SV-IV-list-NCName-enumeration-1-5 tokoe:valid" result="pass"/><test-case name="16799NISTSchema-SV-IV-list-NCName-enumeration-2 tokoe:valid" result="pass"/><test-case name="16800NISTXML-SV-IV-list-NCName-enumeration-2-1 tokoe:valid" result="pass"/><test-case name="16801NISTXML-SV-IV-list-NCName-enumeration-2-2 tokoe:valid" result="pass"/><test-case name="16802NISTXML-SV-IV-list-NCName-enumeration-2-3 tokoe:valid" result="pass"/><test-case name="16803NISTXML-SV-IV-list-NCName-enumeration-2-4 tokoe:valid" result="pass"/><test-case name="16804NISTXML-SV-IV-list-NCName-enumeration-2-5 tokoe:valid" result="pass"/><test-case name="16805NISTSchema-SV-IV-list-NCName-enumeration-3 tokoe:valid" result="pass"/><test-case name="16806NISTXML-SV-IV-list-NCName-enumeration-3-1 tokoe:valid" result="pass"/><test-case name="16807NISTXML-SV-IV-list-NCName-enumeration-3-2 tokoe:valid" result="pass"/><test-case name="16808NISTXML-SV-IV-list-NCName-enumeration-3-3 tokoe:valid" result="pass"/><test-case name="16809NISTXML-SV-IV-list-NCName-enumeration-3-4 tokoe:valid" result="pass"/><test-case name="16810NISTXML-SV-IV-list-NCName-enumeration-3-5 tokoe:valid" result="pass"/><test-case name="16811NISTSchema-SV-IV-list-NCName-enumeration-4 tokoe:valid" result="pass"/><test-case name="16812NISTXML-SV-IV-list-NCName-enumeration-4-1 tokoe:valid" result="pass"/><test-case name="16813NISTXML-SV-IV-list-NCName-enumeration-4-2 tokoe:valid" result="pass"/><test-case name="16814NISTXML-SV-IV-list-NCName-enumeration-4-3 tokoe:valid" result="pass"/><test-case name="16815NISTXML-SV-IV-list-NCName-enumeration-4-4 tokoe:valid" result="pass"/><test-case name="16816NISTXML-SV-IV-list-NCName-enumeration-4-5 tokoe:valid" result="pass"/><test-case name="16817NISTSchema-SV-IV-list-NCName-enumeration-5 tokoe:valid" result="pass"/><test-case name="16818NISTXML-SV-IV-list-NCName-enumeration-5-1 tokoe:valid" result="pass"/><test-case name="16819NISTXML-SV-IV-list-NCName-enumeration-5-2 tokoe:valid" result="pass"/><test-case name="16820NISTXML-SV-IV-list-NCName-enumeration-5-3 tokoe:valid" result="pass"/><test-case name="16821NISTXML-SV-IV-list-NCName-enumeration-5-4 tokoe:valid" result="pass"/><test-case name="16822NISTXML-SV-IV-list-NCName-enumeration-5-5 tokoe:valid" result="pass"/><test-case name="16823NISTSchema-SV-IV-list-NCName-whiteSpace-1 tokoe:valid" result="pass"/><test-case name="16824NISTXML-SV-IV-list-NCName-whiteSpace-1-1 tokoe:valid" result="pass"/><test-case name="16825NISTXML-SV-IV-list-NCName-whiteSpace-1-2 tokoe:valid" result="pass"/><test-case name="16826NISTXML-SV-IV-list-NCName-whiteSpace-1-3 tokoe:valid" result="pass"/><test-case name="16827NISTXML-SV-IV-list-NCName-whiteSpace-1-4 tokoe:valid" result="pass"/><test-case name="16828NISTXML-SV-IV-list-NCName-whiteSpace-1-5 tokoe:valid" result="pass"/><test-case name="16829NISTSchema-SV-IV-list-ID-maxLength-1 tokoe:valid" result="pass"/><test-case name="16830NISTXML-SV-IV-list-ID-maxLength-1-1 tokoe:valid" result="pass"/><test-case name="16831NISTXML-SV-IV-list-ID-maxLength-1-2 tokoe:valid" result="pass"/><test-case name="16832NISTXML-SV-IV-list-ID-maxLength-1-3 tokoe:valid" result="pass"/><test-case name="16833NISTXML-SV-IV-list-ID-maxLength-1-4 tokoe:valid" result="pass"/><test-case name="16834NISTXML-SV-IV-list-ID-maxLength-1-5 tokoe:valid" result="pass"/><test-case name="16835NISTSchema-SV-IV-list-ID-maxLength-2 tokoe:valid" result="pass"/><test-case name="16836NISTXML-SV-IV-list-ID-maxLength-2-1 tokoe:valid" result="pass"/><test-case name="16837NISTXML-SV-IV-list-ID-maxLength-2-2 tokoe:valid" result="pass"/><test-case name="16838NISTXML-SV-IV-list-ID-maxLength-2-3 tokoe:valid" result="pass"/><test-case name="16839NISTXML-SV-IV-list-ID-maxLength-2-4 tokoe:valid" result="pass"/><test-case name="16840NISTXML-SV-IV-list-ID-maxLength-2-5 tokoe:valid" result="pass"/><test-case name="16841NISTSchema-SV-IV-list-ID-maxLength-3 tokoe:valid" result="pass"/><test-case name="16842NISTXML-SV-IV-list-ID-maxLength-3-1 tokoe:valid" result="pass"/><test-case name="16843NISTXML-SV-IV-list-ID-maxLength-3-2 tokoe:valid" result="pass"/><test-case name="16844NISTXML-SV-IV-list-ID-maxLength-3-3 tokoe:valid" result="pass"/><test-case name="16845NISTXML-SV-IV-list-ID-maxLength-3-4 tokoe:valid" result="pass"/><test-case name="16846NISTXML-SV-IV-list-ID-maxLength-3-5 tokoe:valid" result="pass"/><test-case name="16847NISTSchema-SV-IV-list-ID-maxLength-4 tokoe:valid" result="pass"/><test-case name="16848NISTXML-SV-IV-list-ID-maxLength-4-1 tokoe:valid" result="pass"/><test-case name="16849NISTXML-SV-IV-list-ID-maxLength-4-2 tokoe:valid" result="pass"/><test-case name="16850NISTXML-SV-IV-list-ID-maxLength-4-3 tokoe:valid" result="pass"/><test-case name="16851NISTXML-SV-IV-list-ID-maxLength-4-4 tokoe:valid" result="pass"/><test-case name="16852NISTXML-SV-IV-list-ID-maxLength-4-5 tokoe:valid" result="pass"/><test-case name="16853NISTSchema-SV-IV-list-ID-maxLength-5 tokoe:valid" result="pass"/><test-case name="16854NISTXML-SV-IV-list-ID-maxLength-5-1 tokoe:valid" result="pass"/><test-case name="16855NISTXML-SV-IV-list-ID-maxLength-5-2 tokoe:valid" result="pass"/><test-case name="16856NISTXML-SV-IV-list-ID-maxLength-5-3 tokoe:valid" result="pass"/><test-case name="16857NISTXML-SV-IV-list-ID-maxLength-5-4 tokoe:valid" result="pass"/><test-case name="16858NISTXML-SV-IV-list-ID-maxLength-5-5 tokoe:valid" result="pass"/><test-case name="16859NISTSchema-SV-IV-list-ID-minLength-1 tokoe:valid" result="pass"/><test-case name="16860NISTXML-SV-IV-list-ID-minLength-1-1 tokoe:valid" result="pass"/><test-case name="16861NISTXML-SV-IV-list-ID-minLength-1-2 tokoe:valid" result="pass"/><test-case name="16862NISTXML-SV-IV-list-ID-minLength-1-3 tokoe:valid" result="pass"/><test-case name="16863NISTXML-SV-IV-list-ID-minLength-1-4 tokoe:valid" result="pass"/><test-case name="16864NISTXML-SV-IV-list-ID-minLength-1-5 tokoe:valid" result="pass"/><test-case name="16865NISTSchema-SV-IV-list-ID-minLength-2 tokoe:valid" result="pass"/><test-case name="16866NISTXML-SV-IV-list-ID-minLength-2-1 tokoe:valid" result="pass"/><test-case name="16867NISTXML-SV-IV-list-ID-minLength-2-2 tokoe:valid" result="pass"/><test-case name="16868NISTXML-SV-IV-list-ID-minLength-2-3 tokoe:valid" result="pass"/><test-case name="16869NISTXML-SV-IV-list-ID-minLength-2-4 tokoe:valid" result="pass"/><test-case name="16870NISTXML-SV-IV-list-ID-minLength-2-5 tokoe:valid" result="pass"/><test-case name="16871NISTSchema-SV-IV-list-ID-minLength-3 tokoe:valid" result="pass"/><test-case name="16872NISTXML-SV-IV-list-ID-minLength-3-1 tokoe:valid" result="pass"/><test-case name="16873NISTXML-SV-IV-list-ID-minLength-3-2 tokoe:valid" result="pass"/><test-case name="16874NISTXML-SV-IV-list-ID-minLength-3-3 tokoe:valid" result="pass"/><test-case name="16875NISTXML-SV-IV-list-ID-minLength-3-4 tokoe:valid" result="pass"/><test-case name="16876NISTXML-SV-IV-list-ID-minLength-3-5 tokoe:valid" result="pass"/><test-case name="16877NISTSchema-SV-IV-list-ID-minLength-4 tokoe:valid" result="pass"/><test-case name="16878NISTXML-SV-IV-list-ID-minLength-4-1 tokoe:valid" result="pass"/><test-case name="16879NISTXML-SV-IV-list-ID-minLength-4-2 tokoe:valid" result="pass"/><test-case name="16880NISTXML-SV-IV-list-ID-minLength-4-3 tokoe:valid" result="pass"/><test-case name="16881NISTXML-SV-IV-list-ID-minLength-4-4 tokoe:valid" result="pass"/><test-case name="16882NISTXML-SV-IV-list-ID-minLength-4-5 tokoe:valid" result="pass"/><test-case name="16883NISTSchema-SV-IV-list-ID-minLength-5 tokoe:valid" result="pass"/><test-case name="16884NISTXML-SV-IV-list-ID-minLength-5-1 tokoe:valid" result="pass"/><test-case name="16885NISTXML-SV-IV-list-ID-minLength-5-2 tokoe:valid" result="pass"/><test-case name="16886NISTXML-SV-IV-list-ID-minLength-5-3 tokoe:valid" result="pass"/><test-case name="16887NISTXML-SV-IV-list-ID-minLength-5-4 tokoe:valid" result="pass"/><test-case name="16888NISTXML-SV-IV-list-ID-minLength-5-5 tokoe:valid" result="pass"/><test-case name="16889NISTSchema-SV-IV-list-ID-length-1 tokoe:valid" result="pass"/><test-case name="16890NISTXML-SV-IV-list-ID-length-1-1 tokoe:valid" result="pass"/><test-case name="16891NISTXML-SV-IV-list-ID-length-1-2 tokoe:valid" result="pass"/><test-case name="16892NISTXML-SV-IV-list-ID-length-1-3 tokoe:valid" result="pass"/><test-case name="16893NISTXML-SV-IV-list-ID-length-1-4 tokoe:valid" result="pass"/><test-case name="16894NISTXML-SV-IV-list-ID-length-1-5 tokoe:valid" result="pass"/><test-case name="16895NISTSchema-SV-IV-list-ID-length-2 tokoe:valid" result="pass"/><test-case name="16896NISTXML-SV-IV-list-ID-length-2-1 tokoe:valid" result="pass"/><test-case name="16897NISTXML-SV-IV-list-ID-length-2-2 tokoe:valid" result="pass"/><test-case name="16898NISTXML-SV-IV-list-ID-length-2-3 tokoe:valid" result="pass"/><test-case name="16899NISTXML-SV-IV-list-ID-length-2-4 tokoe:valid" result="pass"/><test-case name="16900NISTXML-SV-IV-list-ID-length-2-5 tokoe:valid" result="pass"/><test-case name="16901NISTSchema-SV-IV-list-ID-length-3 tokoe:valid" result="pass"/><test-case name="16902NISTXML-SV-IV-list-ID-length-3-1 tokoe:valid" result="pass"/><test-case name="16903NISTXML-SV-IV-list-ID-length-3-2 tokoe:valid" result="pass"/><test-case name="16904NISTXML-SV-IV-list-ID-length-3-3 tokoe:valid" result="pass"/><test-case name="16905NISTXML-SV-IV-list-ID-length-3-4 tokoe:valid" result="pass"/><test-case name="16906NISTXML-SV-IV-list-ID-length-3-5 tokoe:valid" result="pass"/><test-case name="16907NISTSchema-SV-IV-list-ID-length-4 tokoe:valid" result="pass"/><test-case name="16908NISTXML-SV-IV-list-ID-length-4-1 tokoe:valid" result="pass"/><test-case name="16909NISTXML-SV-IV-list-ID-length-4-2 tokoe:valid" result="pass"/><test-case name="16910NISTXML-SV-IV-list-ID-length-4-3 tokoe:valid" result="pass"/><test-case name="16911NISTXML-SV-IV-list-ID-length-4-4 tokoe:valid" result="pass"/><test-case name="16912NISTXML-SV-IV-list-ID-length-4-5 tokoe:valid" result="pass"/><test-case name="16913NISTSchema-SV-IV-list-ID-length-5 tokoe:valid" result="pass"/><test-case name="16914NISTXML-SV-IV-list-ID-length-5-1 tokoe:valid" result="pass"/><test-case name="16915NISTXML-SV-IV-list-ID-length-5-2 tokoe:valid" result="pass"/><test-case name="16916NISTXML-SV-IV-list-ID-length-5-3 tokoe:valid" result="pass"/><test-case name="16917NISTXML-SV-IV-list-ID-length-5-4 tokoe:valid" result="pass"/><test-case name="16918NISTXML-SV-IV-list-ID-length-5-5 tokoe:valid" result="pass"/><test-case name="16919NISTSchema-SV-IV-list-ID-pattern-1 tokoe:valid" result="pass"/><test-case name="16920NISTXML-SV-IV-list-ID-pattern-1-1 tokoe:valid" result="pass"/><test-case name="16921NISTXML-SV-IV-list-ID-pattern-1-2 tokoe:valid" result="pass"/><test-case name="16922NISTXML-SV-IV-list-ID-pattern-1-3 tokoe:valid" result="pass"/><test-case name="16923NISTXML-SV-IV-list-ID-pattern-1-4 tokoe:valid" result="pass"/><test-case name="16924NISTXML-SV-IV-list-ID-pattern-1-5 tokoe:valid" result="pass"/><test-case name="16925NISTSchema-SV-IV-list-ID-pattern-2 tokoe:valid" result="pass"/><test-case name="16926NISTXML-SV-IV-list-ID-pattern-2-1 tokoe:valid" result="pass"/><test-case name="16927NISTXML-SV-IV-list-ID-pattern-2-2 tokoe:valid" result="pass"/><test-case name="16928NISTXML-SV-IV-list-ID-pattern-2-3 tokoe:valid" result="pass"/><test-case name="16929NISTXML-SV-IV-list-ID-pattern-2-4 tokoe:valid" result="pass"/><test-case name="16930NISTXML-SV-IV-list-ID-pattern-2-5 tokoe:valid" result="pass"/><test-case name="16931NISTSchema-SV-IV-list-ID-pattern-3 tokoe:valid" result="pass"/><test-case name="16932NISTXML-SV-IV-list-ID-pattern-3-1 tokoe:valid" result="pass"/><test-case name="16933NISTXML-SV-IV-list-ID-pattern-3-2 tokoe:valid" result="pass"/><test-case name="16934NISTXML-SV-IV-list-ID-pattern-3-3 tokoe:valid" result="pass"/><test-case name="16935NISTXML-SV-IV-list-ID-pattern-3-4 tokoe:valid" result="pass"/><test-case name="16936NISTXML-SV-IV-list-ID-pattern-3-5 tokoe:valid" result="pass"/><test-case name="16937NISTSchema-SV-IV-list-ID-pattern-4 tokoe:valid" result="pass"/><test-case name="16938NISTXML-SV-IV-list-ID-pattern-4-1 tokoe:valid" result="pass"/><test-case name="16939NISTXML-SV-IV-list-ID-pattern-4-2 tokoe:valid" result="pass"/><test-case name="16940NISTXML-SV-IV-list-ID-pattern-4-3 tokoe:valid" result="pass"/><test-case name="16941NISTXML-SV-IV-list-ID-pattern-4-4 tokoe:valid" result="pass"/><test-case name="16942NISTXML-SV-IV-list-ID-pattern-4-5 tokoe:valid" result="pass"/><test-case name="16943NISTSchema-SV-IV-list-ID-pattern-5 tokoe:valid" result="pass"/><test-case name="16944NISTXML-SV-IV-list-ID-pattern-5-1 tokoe:valid" result="pass"/><test-case name="16945NISTXML-SV-IV-list-ID-pattern-5-2 tokoe:valid" result="pass"/><test-case name="16946NISTXML-SV-IV-list-ID-pattern-5-3 tokoe:valid" result="pass"/><test-case name="16947NISTXML-SV-IV-list-ID-pattern-5-4 tokoe:valid" result="pass"/><test-case name="16948NISTXML-SV-IV-list-ID-pattern-5-5 tokoe:valid" result="pass"/><test-case name="16949NISTSchema-SV-IV-list-ID-enumeration-1 tokoe:valid" result="pass"/><test-case name="16950NISTXML-SV-IV-list-ID-enumeration-1-1 tokoe:valid" result="pass"/><test-case name="16951NISTXML-SV-IV-list-ID-enumeration-1-2 tokoe:valid" result="pass"/><test-case name="16952NISTXML-SV-IV-list-ID-enumeration-1-3 tokoe:valid" result="pass"/><test-case name="16953NISTXML-SV-IV-list-ID-enumeration-1-4 tokoe:valid" result="pass"/><test-case name="16954NISTXML-SV-IV-list-ID-enumeration-1-5 tokoe:valid" result="pass"/><test-case name="16955NISTSchema-SV-IV-list-ID-enumeration-2 tokoe:valid" result="pass"/><test-case name="16956NISTXML-SV-IV-list-ID-enumeration-2-1 tokoe:valid" result="pass"/><test-case name="16957NISTXML-SV-IV-list-ID-enumeration-2-2 tokoe:valid" result="pass"/><test-case name="16958NISTXML-SV-IV-list-ID-enumeration-2-3 tokoe:valid" result="pass"/><test-case name="16959NISTXML-SV-IV-list-ID-enumeration-2-4 tokoe:valid" result="pass"/><test-case name="16960NISTXML-SV-IV-list-ID-enumeration-2-5 tokoe:valid" result="pass"/><test-case name="16961NISTSchema-SV-IV-list-ID-enumeration-3 tokoe:valid" result="pass"/><test-case name="16962NISTXML-SV-IV-list-ID-enumeration-3-1 tokoe:valid" result="pass"/><test-case name="16963NISTXML-SV-IV-list-ID-enumeration-3-2 tokoe:valid" result="pass"/><test-case name="16964NISTXML-SV-IV-list-ID-enumeration-3-3 tokoe:valid" result="pass"/><test-case name="16965NISTXML-SV-IV-list-ID-enumeration-3-4 tokoe:valid" result="pass"/><test-case name="16966NISTXML-SV-IV-list-ID-enumeration-3-5 tokoe:valid" result="pass"/><test-case name="16967NISTSchema-SV-IV-list-ID-enumeration-4 tokoe:valid" result="pass"/><test-case name="16968NISTXML-SV-IV-list-ID-enumeration-4-1 tokoe:valid" result="pass"/><test-case name="16969NISTXML-SV-IV-list-ID-enumeration-4-2 tokoe:valid" result="pass"/><test-case name="16970NISTXML-SV-IV-list-ID-enumeration-4-3 tokoe:valid" result="pass"/><test-case name="16971NISTXML-SV-IV-list-ID-enumeration-4-4 tokoe:valid" result="pass"/><test-case name="16972NISTXML-SV-IV-list-ID-enumeration-4-5 tokoe:valid" result="pass"/><test-case name="16973NISTSchema-SV-IV-list-ID-enumeration-5 tokoe:valid" result="pass"/><test-case name="16974NISTXML-SV-IV-list-ID-enumeration-5-1 tokoe:valid" result="pass"/><test-case name="16975NISTXML-SV-IV-list-ID-enumeration-5-2 tokoe:valid" result="pass"/><test-case name="16976NISTXML-SV-IV-list-ID-enumeration-5-3 tokoe:valid" result="pass"/><test-case name="16977NISTXML-SV-IV-list-ID-enumeration-5-4 tokoe:valid" result="pass"/><test-case name="16978NISTXML-SV-IV-list-ID-enumeration-5-5 tokoe:valid" result="pass"/><test-case name="16979NISTSchema-SV-IV-list-ID-whiteSpace-1 tokoe:valid" result="pass"/><test-case name="16980NISTXML-SV-IV-list-ID-whiteSpace-1-1 tokoe:valid" result="pass"/><test-case name="16981NISTXML-SV-IV-list-ID-whiteSpace-1-2 tokoe:valid" result="pass"/><test-case name="16982NISTXML-SV-IV-list-ID-whiteSpace-1-3 tokoe:valid" result="pass"/><test-case name="16983NISTXML-SV-IV-list-ID-whiteSpace-1-4 tokoe:valid" result="pass"/><test-case name="16984NISTXML-SV-IV-list-ID-whiteSpace-1-5 tokoe:valid" result="pass"/><test-case name="16985NISTSchema-SV-IV-list-language-maxLength-1 tokoe:valid" result="pass"/><test-case name="16986NISTXML-SV-IV-list-language-maxLength-1-1 tokoe:valid" result="pass"/><test-case name="16987NISTXML-SV-IV-list-language-maxLength-1-2 tokoe:valid" result="pass"/><test-case name="16988NISTXML-SV-IV-list-language-maxLength-1-3 tokoe:valid" result="pass"/><test-case name="16989NISTXML-SV-IV-list-language-maxLength-1-4 tokoe:valid" result="pass"/><test-case name="16990NISTXML-SV-IV-list-language-maxLength-1-5 tokoe:valid" result="pass"/><test-case name="16991NISTSchema-SV-IV-list-language-maxLength-2 tokoe:valid" result="pass"/><test-case name="16992NISTXML-SV-IV-list-language-maxLength-2-1 tokoe:valid" result="pass"/><test-case name="16993NISTXML-SV-IV-list-language-maxLength-2-2 tokoe:valid" result="pass"/><test-case name="16994NISTXML-SV-IV-list-language-maxLength-2-3 tokoe:valid" result="pass"/><test-case name="16995NISTXML-SV-IV-list-language-maxLength-2-4 tokoe:valid" result="pass"/><test-case name="16996NISTXML-SV-IV-list-language-maxLength-2-5 tokoe:valid" result="pass"/><test-case name="16997NISTSchema-SV-IV-list-language-maxLength-3 tokoe:valid" result="pass"/><test-case name="16998NISTXML-SV-IV-list-language-maxLength-3-1 tokoe:valid" result="pass"/><test-case name="16999NISTXML-SV-IV-list-language-maxLength-3-2 tokoe:valid" result="pass"/><test-case name="17000NISTXML-SV-IV-list-language-maxLength-3-3 tokoe:valid" result="pass"/><test-case name="17001NISTXML-SV-IV-list-language-maxLength-3-4 tokoe:valid" result="pass"/><test-case name="17002NISTXML-SV-IV-list-language-maxLength-3-5 tokoe:valid" result="pass"/><test-case name="17003NISTSchema-SV-IV-list-language-maxLength-4 tokoe:valid" result="pass"/><test-case name="17004NISTXML-SV-IV-list-language-maxLength-4-1 tokoe:valid" result="pass"/><test-case name="17005NISTXML-SV-IV-list-language-maxLength-4-2 tokoe:valid" result="pass"/><test-case name="17006NISTXML-SV-IV-list-language-maxLength-4-3 tokoe:valid" result="pass"/><test-case name="17007NISTXML-SV-IV-list-language-maxLength-4-4 tokoe:valid" result="pass"/><test-case name="17008NISTXML-SV-IV-list-language-maxLength-4-5 tokoe:valid" result="pass"/><test-case name="17009NISTSchema-SV-IV-list-language-maxLength-5 tokoe:valid" result="pass"/><test-case name="17010NISTXML-SV-IV-list-language-maxLength-5-1 tokoe:valid" result="pass"/><test-case name="17011NISTXML-SV-IV-list-language-maxLength-5-2 tokoe:valid" result="pass"/><test-case name="17012NISTXML-SV-IV-list-language-maxLength-5-3 tokoe:valid" result="pass"/><test-case name="17013NISTXML-SV-IV-list-language-maxLength-5-4 tokoe:valid" result="pass"/><test-case name="17014NISTXML-SV-IV-list-language-maxLength-5-5 tokoe:valid" result="pass"/><test-case name="17015NISTSchema-SV-IV-list-language-minLength-1 tokoe:valid" result="pass"/><test-case name="17016NISTXML-SV-IV-list-language-minLength-1-1 tokoe:valid" result="pass"/><test-case name="17017NISTXML-SV-IV-list-language-minLength-1-2 tokoe:valid" result="pass"/><test-case name="17018NISTXML-SV-IV-list-language-minLength-1-3 tokoe:valid" result="pass"/><test-case name="17019NISTXML-SV-IV-list-language-minLength-1-4 tokoe:valid" result="pass"/><test-case name="17020NISTXML-SV-IV-list-language-minLength-1-5 tokoe:valid" result="pass"/><test-case name="17021NISTSchema-SV-IV-list-language-minLength-2 tokoe:valid" result="pass"/><test-case name="17022NISTXML-SV-IV-list-language-minLength-2-1 tokoe:valid" result="pass"/><test-case name="17023NISTXML-SV-IV-list-language-minLength-2-2 tokoe:valid" result="pass"/><test-case name="17024NISTXML-SV-IV-list-language-minLength-2-3 tokoe:valid" result="pass"/><test-case name="17025NISTXML-SV-IV-list-language-minLength-2-4 tokoe:valid" result="pass"/><test-case name="17026NISTXML-SV-IV-list-language-minLength-2-5 tokoe:valid" result="pass"/><test-case name="17027NISTSchema-SV-IV-list-language-minLength-3 tokoe:valid" result="pass"/><test-case name="17028NISTXML-SV-IV-list-language-minLength-3-1 tokoe:valid" result="pass"/><test-case name="17029NISTXML-SV-IV-list-language-minLength-3-2 tokoe:valid" result="pass"/><test-case name="17030NISTXML-SV-IV-list-language-minLength-3-3 tokoe:valid" result="pass"/><test-case name="17031NISTXML-SV-IV-list-language-minLength-3-4 tokoe:valid" result="pass"/><test-case name="17032NISTXML-SV-IV-list-language-minLength-3-5 tokoe:valid" result="pass"/><test-case name="17033NISTSchema-SV-IV-list-language-minLength-4 tokoe:valid" result="pass"/><test-case name="17034NISTXML-SV-IV-list-language-minLength-4-1 tokoe:valid" result="pass"/><test-case name="17035NISTXML-SV-IV-list-language-minLength-4-2 tokoe:valid" result="pass"/><test-case name="17036NISTXML-SV-IV-list-language-minLength-4-3 tokoe:valid" result="pass"/><test-case name="17037NISTXML-SV-IV-list-language-minLength-4-4 tokoe:valid" result="pass"/><test-case name="17038NISTXML-SV-IV-list-language-minLength-4-5 tokoe:valid" result="pass"/><test-case name="17039NISTSchema-SV-IV-list-language-minLength-5 tokoe:valid" result="pass"/><test-case name="17040NISTXML-SV-IV-list-language-minLength-5-1 tokoe:valid" result="pass"/><test-case name="17041NISTXML-SV-IV-list-language-minLength-5-2 tokoe:valid" result="pass"/><test-case name="17042NISTXML-SV-IV-list-language-minLength-5-3 tokoe:valid" result="pass"/><test-case name="17043NISTXML-SV-IV-list-language-minLength-5-4 tokoe:valid" result="pass"/><test-case name="17044NISTXML-SV-IV-list-language-minLength-5-5 tokoe:valid" result="pass"/><test-case name="17045NISTSchema-SV-IV-list-language-length-1 tokoe:valid" result="pass"/><test-case name="17046NISTXML-SV-IV-list-language-length-1-1 tokoe:valid" result="pass"/><test-case name="17047NISTXML-SV-IV-list-language-length-1-2 tokoe:valid" result="pass"/><test-case name="17048NISTXML-SV-IV-list-language-length-1-3 tokoe:valid" result="pass"/><test-case name="17049NISTXML-SV-IV-list-language-length-1-4 tokoe:valid" result="pass"/><test-case name="17050NISTXML-SV-IV-list-language-length-1-5 tokoe:valid" result="pass"/><test-case name="17051NISTSchema-SV-IV-list-language-length-2 tokoe:valid" result="pass"/><test-case name="17052NISTXML-SV-IV-list-language-length-2-1 tokoe:valid" result="pass"/><test-case name="17053NISTXML-SV-IV-list-language-length-2-2 tokoe:valid" result="pass"/><test-case name="17054NISTXML-SV-IV-list-language-length-2-3 tokoe:valid" result="pass"/><test-case name="17055NISTXML-SV-IV-list-language-length-2-4 tokoe:valid" result="pass"/><test-case name="17056NISTXML-SV-IV-list-language-length-2-5 tokoe:valid" result="pass"/><test-case name="17057NISTSchema-SV-IV-list-language-length-3 tokoe:valid" result="pass"/><test-case name="17058NISTXML-SV-IV-list-language-length-3-1 tokoe:valid" result="pass"/><test-case name="17059NISTXML-SV-IV-list-language-length-3-2 tokoe:valid" result="pass"/><test-case name="17060NISTXML-SV-IV-list-language-length-3-3 tokoe:valid" result="pass"/><test-case name="17061NISTXML-SV-IV-list-language-length-3-4 tokoe:valid" result="pass"/><test-case name="17062NISTXML-SV-IV-list-language-length-3-5 tokoe:valid" result="pass"/><test-case name="17063NISTSchema-SV-IV-list-language-length-4 tokoe:valid" result="pass"/><test-case name="17064NISTXML-SV-IV-list-language-length-4-1 tokoe:valid" result="pass"/><test-case name="17065NISTXML-SV-IV-list-language-length-4-2 tokoe:valid" result="pass"/><test-case name="17066NISTXML-SV-IV-list-language-length-4-3 tokoe:valid" result="pass"/><test-case name="17067NISTXML-SV-IV-list-language-length-4-4 tokoe:valid" result="pass"/><test-case name="17068NISTXML-SV-IV-list-language-length-4-5 tokoe:valid" result="pass"/><test-case name="17069NISTSchema-SV-IV-list-language-length-5 tokoe:valid" result="pass"/><test-case name="17070NISTXML-SV-IV-list-language-length-5-1 tokoe:valid" result="pass"/><test-case name="17071NISTXML-SV-IV-list-language-length-5-2 tokoe:valid" result="pass"/><test-case name="17072NISTXML-SV-IV-list-language-length-5-3 tokoe:valid" result="pass"/><test-case name="17073NISTXML-SV-IV-list-language-length-5-4 tokoe:valid" result="pass"/><test-case name="17074NISTXML-SV-IV-list-language-length-5-5 tokoe:valid" result="pass"/><test-case name="17075NISTSchema-SV-IV-list-language-pattern-1 tokoe:valid" result="pass"/><test-case name="17076NISTXML-SV-IV-list-language-pattern-1-1 tokoe:valid" result="pass"/><test-case name="17077NISTXML-SV-IV-list-language-pattern-1-2 tokoe:valid" result="pass"/><test-case name="17078NISTXML-SV-IV-list-language-pattern-1-3 tokoe:valid" result="pass"/><test-case name="17079NISTXML-SV-IV-list-language-pattern-1-4 tokoe:valid" result="pass"/><test-case name="17080NISTXML-SV-IV-list-language-pattern-1-5 tokoe:valid" result="pass"/><test-case name="17081NISTSchema-SV-IV-list-language-pattern-2 tokoe:valid" result="pass"/><test-case name="17082NISTXML-SV-IV-list-language-pattern-2-1 tokoe:valid" result="pass"/><test-case name="17083NISTXML-SV-IV-list-language-pattern-2-2 tokoe:valid" result="pass"/><test-case name="17084NISTXML-SV-IV-list-language-pattern-2-3 tokoe:valid" result="pass"/><test-case name="17085NISTXML-SV-IV-list-language-pattern-2-4 tokoe:valid" result="pass"/><test-case name="17086NISTXML-SV-IV-list-language-pattern-2-5 tokoe:valid" result="pass"/><test-case name="17087NISTSchema-SV-IV-list-language-pattern-3 tokoe:valid" result="pass"/><test-case name="17088NISTXML-SV-IV-list-language-pattern-3-1 tokoe:valid" result="pass"/><test-case name="17089NISTXML-SV-IV-list-language-pattern-3-2 tokoe:valid" result="pass"/><test-case name="17090NISTXML-SV-IV-list-language-pattern-3-3 tokoe:valid" result="pass"/><test-case name="17091NISTXML-SV-IV-list-language-pattern-3-4 tokoe:valid" result="pass"/><test-case name="17092NISTXML-SV-IV-list-language-pattern-3-5 tokoe:valid" result="pass"/><test-case name="17093NISTSchema-SV-IV-list-language-pattern-4 tokoe:valid" result="pass"/><test-case name="17094NISTXML-SV-IV-list-language-pattern-4-1 tokoe:valid" result="pass"/><test-case name="17095NISTXML-SV-IV-list-language-pattern-4-2 tokoe:valid" result="pass"/><test-case name="17096NISTXML-SV-IV-list-language-pattern-4-3 tokoe:valid" result="pass"/><test-case name="17097NISTXML-SV-IV-list-language-pattern-4-4 tokoe:valid" result="pass"/><test-case name="17098NISTXML-SV-IV-list-language-pattern-4-5 tokoe:valid" result="pass"/><test-case name="17099NISTSchema-SV-IV-list-language-pattern-5 tokoe:valid" result="pass"/><test-case name="17100NISTXML-SV-IV-list-language-pattern-5-1 tokoe:valid" result="pass"/><test-case name="17101NISTXML-SV-IV-list-language-pattern-5-2 tokoe:valid" result="pass"/><test-case name="17102NISTXML-SV-IV-list-language-pattern-5-3 tokoe:valid" result="pass"/><test-case name="17103NISTXML-SV-IV-list-language-pattern-5-4 tokoe:valid" result="pass"/><test-case name="17104NISTXML-SV-IV-list-language-pattern-5-5 tokoe:valid" result="pass"/><test-case name="17105NISTSchema-SV-IV-list-language-enumeration-1 tokoe:valid" result="pass"/><test-case name="17106NISTXML-SV-IV-list-language-enumeration-1-1 tokoe:valid" result="pass"/><test-case name="17107NISTXML-SV-IV-list-language-enumeration-1-2 tokoe:valid" result="pass"/><test-case name="17108NISTXML-SV-IV-list-language-enumeration-1-3 tokoe:valid" result="pass"/><test-case name="17109NISTXML-SV-IV-list-language-enumeration-1-4 tokoe:valid" result="pass"/><test-case name="17110NISTXML-SV-IV-list-language-enumeration-1-5 tokoe:valid" result="pass"/><test-case name="17111NISTSchema-SV-IV-list-language-enumeration-2 tokoe:valid" result="pass"/><test-case name="17112NISTXML-SV-IV-list-language-enumeration-2-1 tokoe:valid" result="pass"/><test-case name="17113NISTXML-SV-IV-list-language-enumeration-2-2 tokoe:valid" result="pass"/><test-case name="17114NISTXML-SV-IV-list-language-enumeration-2-3 tokoe:valid" result="pass"/><test-case name="17115NISTXML-SV-IV-list-language-enumeration-2-4 tokoe:valid" result="pass"/><test-case name="17116NISTXML-SV-IV-list-language-enumeration-2-5 tokoe:valid" result="pass"/><test-case name="17117NISTSchema-SV-IV-list-language-enumeration-3 tokoe:valid" result="pass"/><test-case name="17118NISTXML-SV-IV-list-language-enumeration-3-1 tokoe:valid" result="pass"/><test-case name="17119NISTXML-SV-IV-list-language-enumeration-3-2 tokoe:valid" result="pass"/><test-case name="17120NISTXML-SV-IV-list-language-enumeration-3-3 tokoe:valid" result="pass"/><test-case name="17121NISTXML-SV-IV-list-language-enumeration-3-4 tokoe:valid" result="pass"/><test-case name="17122NISTXML-SV-IV-list-language-enumeration-3-5 tokoe:valid" result="pass"/><test-case name="17123NISTSchema-SV-IV-list-language-enumeration-4 tokoe:valid" result="pass"/><test-case name="17124NISTXML-SV-IV-list-language-enumeration-4-1 tokoe:valid" result="pass"/><test-case name="17125NISTXML-SV-IV-list-language-enumeration-4-2 tokoe:valid" result="pass"/><test-case name="17126NISTXML-SV-IV-list-language-enumeration-4-3 tokoe:valid" result="pass"/><test-case name="17127NISTXML-SV-IV-list-language-enumeration-4-4 tokoe:valid" result="pass"/><test-case name="17128NISTXML-SV-IV-list-language-enumeration-4-5 tokoe:valid" result="pass"/><test-case name="17129NISTSchema-SV-IV-list-language-enumeration-5 tokoe:valid" result="pass"/><test-case name="17130NISTXML-SV-IV-list-language-enumeration-5-1 tokoe:valid" result="pass"/><test-case name="17131NISTXML-SV-IV-list-language-enumeration-5-2 tokoe:valid" result="pass"/><test-case name="17132NISTXML-SV-IV-list-language-enumeration-5-3 tokoe:valid" result="pass"/><test-case name="17133NISTXML-SV-IV-list-language-enumeration-5-4 tokoe:valid" result="pass"/><test-case name="17134NISTXML-SV-IV-list-language-enumeration-5-5 tokoe:valid" result="pass"/><test-case name="17135NISTSchema-SV-IV-list-language-whiteSpace-1 tokoe:valid" result="pass"/><test-case name="17136NISTXML-SV-IV-list-language-whiteSpace-1-1 tokoe:valid" result="pass"/><test-case name="17137NISTXML-SV-IV-list-language-whiteSpace-1-2 tokoe:valid" result="pass"/><test-case name="17138NISTXML-SV-IV-list-language-whiteSpace-1-3 tokoe:valid" result="pass"/><test-case name="17139NISTXML-SV-IV-list-language-whiteSpace-1-4 tokoe:valid" result="pass"/><test-case name="17140NISTXML-SV-IV-list-language-whiteSpace-1-5 tokoe:valid" result="pass"/><test-case name="17141NISTSchema-SV-IV-list-anyURI-maxLength-1 tokoe:valid" result="pass"/><test-case name="17142NISTXML-SV-IV-list-anyURI-maxLength-1-1 tokoe:valid" result="pass"/><test-case name="17143NISTXML-SV-IV-list-anyURI-maxLength-1-2 tokoe:valid" result="pass"/><test-case name="17144NISTXML-SV-IV-list-anyURI-maxLength-1-3 tokoe:valid" result="pass"/><test-case name="17145NISTXML-SV-IV-list-anyURI-maxLength-1-4 tokoe:valid" result="pass"/><test-case name="17146NISTXML-SV-IV-list-anyURI-maxLength-1-5 tokoe:valid" result="pass"/><test-case name="17147NISTSchema-SV-IV-list-anyURI-maxLength-2 tokoe:valid" result="pass"/><test-case name="17148NISTXML-SV-IV-list-anyURI-maxLength-2-1 tokoe:valid" result="pass"/><test-case name="17149NISTXML-SV-IV-list-anyURI-maxLength-2-2 tokoe:valid" result="pass"/><test-case name="17150NISTXML-SV-IV-list-anyURI-maxLength-2-3 tokoe:valid" result="pass"/><test-case name="17151NISTXML-SV-IV-list-anyURI-maxLength-2-4 tokoe:valid" result="pass"/><test-case name="17152NISTXML-SV-IV-list-anyURI-maxLength-2-5 tokoe:valid" result="pass"/><test-case name="17153NISTSchema-SV-IV-list-anyURI-maxLength-3 tokoe:valid" result="pass"/><test-case name="17154NISTXML-SV-IV-list-anyURI-maxLength-3-1 tokoe:valid" result="pass"/><test-case name="17155NISTXML-SV-IV-list-anyURI-maxLength-3-2 tokoe:valid" result="pass"/><test-case name="17156NISTXML-SV-IV-list-anyURI-maxLength-3-3 tokoe:valid" result="pass"/><test-case name="17157NISTXML-SV-IV-list-anyURI-maxLength-3-4 tokoe:valid" result="pass"/><test-case name="17158NISTXML-SV-IV-list-anyURI-maxLength-3-5 tokoe:valid" result="pass"/><test-case name="17159NISTSchema-SV-IV-list-anyURI-maxLength-4 tokoe:valid" result="pass"/><test-case name="17160NISTXML-SV-IV-list-anyURI-maxLength-4-1 tokoe:valid" result="pass"/><test-case name="17161NISTXML-SV-IV-list-anyURI-maxLength-4-2 tokoe:valid" result="pass"/><test-case name="17162NISTXML-SV-IV-list-anyURI-maxLength-4-3 tokoe:valid" result="pass"/><test-case name="17163NISTXML-SV-IV-list-anyURI-maxLength-4-4 tokoe:valid" result="pass"/><test-case name="17164NISTXML-SV-IV-list-anyURI-maxLength-4-5 tokoe:valid" result="pass"/><test-case name="17165NISTSchema-SV-IV-list-anyURI-maxLength-5 tokoe:valid" result="pass"/><test-case name="17166NISTXML-SV-IV-list-anyURI-maxLength-5-1 tokoe:valid" result="pass"/><test-case name="17167NISTXML-SV-IV-list-anyURI-maxLength-5-2 tokoe:valid" result="pass"/><test-case name="17168NISTXML-SV-IV-list-anyURI-maxLength-5-3 tokoe:valid" result="pass"/><test-case name="17169NISTXML-SV-IV-list-anyURI-maxLength-5-4 tokoe:valid" result="pass"/><test-case name="17170NISTXML-SV-IV-list-anyURI-maxLength-5-5 tokoe:valid" result="pass"/><test-case name="17171NISTSchema-SV-IV-list-anyURI-minLength-1 tokoe:valid" result="pass"/><test-case name="17172NISTXML-SV-IV-list-anyURI-minLength-1-1 tokoe:valid" result="pass"/><test-case name="17173NISTXML-SV-IV-list-anyURI-minLength-1-2 tokoe:valid" result="pass"/><test-case name="17174NISTXML-SV-IV-list-anyURI-minLength-1-3 tokoe:valid" result="pass"/><test-case name="17175NISTXML-SV-IV-list-anyURI-minLength-1-4 tokoe:valid" result="pass"/><test-case name="17176NISTXML-SV-IV-list-anyURI-minLength-1-5 tokoe:valid" result="pass"/><test-case name="17177NISTSchema-SV-IV-list-anyURI-minLength-2 tokoe:valid" result="pass"/><test-case name="17178NISTXML-SV-IV-list-anyURI-minLength-2-1 tokoe:valid" result="pass"/><test-case name="17179NISTXML-SV-IV-list-anyURI-minLength-2-2 tokoe:valid" result="pass"/><test-case name="17180NISTXML-SV-IV-list-anyURI-minLength-2-3 tokoe:valid" result="pass"/><test-case name="17181NISTXML-SV-IV-list-anyURI-minLength-2-4 tokoe:valid" result="pass"/><test-case name="17182NISTXML-SV-IV-list-anyURI-minLength-2-5 tokoe:valid" result="pass"/><test-case name="17183NISTSchema-SV-IV-list-anyURI-minLength-3 tokoe:valid" result="pass"/><test-case name="17184NISTXML-SV-IV-list-anyURI-minLength-3-1 tokoe:valid" result="pass"/><test-case name="17185NISTXML-SV-IV-list-anyURI-minLength-3-2 tokoe:valid" result="pass"/><test-case name="17186NISTXML-SV-IV-list-anyURI-minLength-3-3 tokoe:valid" result="pass"/><test-case name="17187NISTXML-SV-IV-list-anyURI-minLength-3-4 tokoe:valid" result="pass"/><test-case name="17188NISTXML-SV-IV-list-anyURI-minLength-3-5 tokoe:valid" result="pass"/><test-case name="17189NISTSchema-SV-IV-list-anyURI-minLength-4 tokoe:valid" result="pass"/><test-case name="17190NISTXML-SV-IV-list-anyURI-minLength-4-1 tokoe:valid" result="pass"/><test-case name="17191NISTXML-SV-IV-list-anyURI-minLength-4-2 tokoe:valid" result="pass"/><test-case name="17192NISTXML-SV-IV-list-anyURI-minLength-4-3 tokoe:valid" result="pass"/><test-case name="17193NISTXML-SV-IV-list-anyURI-minLength-4-4 tokoe:valid" result="pass"/><test-case name="17194NISTXML-SV-IV-list-anyURI-minLength-4-5 tokoe:valid" result="pass"/><test-case name="17195NISTSchema-SV-IV-list-anyURI-minLength-5 tokoe:valid" result="pass"/><test-case name="17196NISTXML-SV-IV-list-anyURI-minLength-5-1 tokoe:valid" result="pass"/><test-case name="17197NISTXML-SV-IV-list-anyURI-minLength-5-2 tokoe:valid" result="pass"/><test-case name="17198NISTXML-SV-IV-list-anyURI-minLength-5-3 tokoe:valid" result="pass"/><test-case name="17199NISTXML-SV-IV-list-anyURI-minLength-5-4 tokoe:valid" result="pass"/><test-case name="17200NISTXML-SV-IV-list-anyURI-minLength-5-5 tokoe:valid" result="pass"/><test-case name="17201NISTSchema-SV-IV-list-anyURI-length-1 tokoe:valid" result="pass"/><test-case name="17202NISTXML-SV-IV-list-anyURI-length-1-1 tokoe:valid" result="pass"/><test-case name="17203NISTXML-SV-IV-list-anyURI-length-1-2 tokoe:valid" result="pass"/><test-case name="17204NISTXML-SV-IV-list-anyURI-length-1-3 tokoe:valid" result="pass"/><test-case name="17205NISTXML-SV-IV-list-anyURI-length-1-4 tokoe:valid" result="pass"/><test-case name="17206NISTXML-SV-IV-list-anyURI-length-1-5 tokoe:valid" result="pass"/><test-case name="17207NISTSchema-SV-IV-list-anyURI-length-2 tokoe:valid" result="pass"/><test-case name="17208NISTXML-SV-IV-list-anyURI-length-2-1 tokoe:valid" result="pass"/><test-case name="17209NISTXML-SV-IV-list-anyURI-length-2-2 tokoe:valid" result="pass"/><test-case name="17210NISTXML-SV-IV-list-anyURI-length-2-3 tokoe:valid" result="pass"/><test-case name="17211NISTXML-SV-IV-list-anyURI-length-2-4 tokoe:valid" result="pass"/><test-case name="17212NISTXML-SV-IV-list-anyURI-length-2-5 tokoe:valid" result="pass"/><test-case name="17213NISTSchema-SV-IV-list-anyURI-length-3 tokoe:valid" result="pass"/><test-case name="17214NISTXML-SV-IV-list-anyURI-length-3-1 tokoe:valid" result="pass"/><test-case name="17215NISTXML-SV-IV-list-anyURI-length-3-2 tokoe:valid" result="pass"/><test-case name="17216NISTXML-SV-IV-list-anyURI-length-3-3 tokoe:valid" result="pass"/><test-case name="17217NISTXML-SV-IV-list-anyURI-length-3-4 tokoe:valid" result="pass"/><test-case name="17218NISTXML-SV-IV-list-anyURI-length-3-5 tokoe:valid" result="pass"/><test-case name="17219NISTSchema-SV-IV-list-anyURI-length-4 tokoe:valid" result="pass"/><test-case name="17220NISTXML-SV-IV-list-anyURI-length-4-1 tokoe:valid" result="pass"/><test-case name="17221NISTXML-SV-IV-list-anyURI-length-4-2 tokoe:valid" result="pass"/><test-case name="17222NISTXML-SV-IV-list-anyURI-length-4-3 tokoe:valid" result="pass"/><test-case name="17223NISTXML-SV-IV-list-anyURI-length-4-4 tokoe:valid" result="pass"/><test-case name="17224NISTXML-SV-IV-list-anyURI-length-4-5 tokoe:valid" result="pass"/><test-case name="17225NISTSchema-SV-IV-list-anyURI-length-5 tokoe:valid" result="pass"/><test-case name="17226NISTXML-SV-IV-list-anyURI-length-5-1 tokoe:valid" result="pass"/><test-case name="17227NISTXML-SV-IV-list-anyURI-length-5-2 tokoe:valid" result="pass"/><test-case name="17228NISTXML-SV-IV-list-anyURI-length-5-3 tokoe:valid" result="pass"/><test-case name="17229NISTXML-SV-IV-list-anyURI-length-5-4 tokoe:valid" result="pass"/><test-case name="17230NISTXML-SV-IV-list-anyURI-length-5-5 tokoe:valid" result="pass"/><test-case name="17231NISTSchema-SV-IV-list-anyURI-pattern-1 tokoe:valid" result="pass"/><test-case name="17232NISTXML-SV-IV-list-anyURI-pattern-1-1 tokoe:valid" result="pass"/><test-case name="17233NISTXML-SV-IV-list-anyURI-pattern-1-2 tokoe:valid" result="pass"/><test-case name="17234NISTXML-SV-IV-list-anyURI-pattern-1-3 tokoe:valid" result="pass"/><test-case name="17235NISTXML-SV-IV-list-anyURI-pattern-1-4 tokoe:valid" result="pass"/><test-case name="17236NISTXML-SV-IV-list-anyURI-pattern-1-5 tokoe:valid" result="pass"/><test-case name="17237NISTSchema-SV-IV-list-anyURI-pattern-2 tokoe:valid" result="pass"/><test-case name="17238NISTXML-SV-IV-list-anyURI-pattern-2-1 tokoe:valid" result="pass"/><test-case name="17239NISTXML-SV-IV-list-anyURI-pattern-2-2 tokoe:valid" result="pass"/><test-case name="17240NISTXML-SV-IV-list-anyURI-pattern-2-3 tokoe:valid" result="pass"/><test-case name="17241NISTXML-SV-IV-list-anyURI-pattern-2-4 tokoe:valid" result="pass"/><test-case name="17242NISTXML-SV-IV-list-anyURI-pattern-2-5 tokoe:valid" result="pass"/><test-case name="17243NISTSchema-SV-IV-list-anyURI-pattern-3 tokoe:valid" result="pass"/><test-case name="17244NISTXML-SV-IV-list-anyURI-pattern-3-1 tokoe:valid" result="pass"/><test-case name="17245NISTXML-SV-IV-list-anyURI-pattern-3-2 tokoe:valid" result="pass"/><test-case name="17246NISTXML-SV-IV-list-anyURI-pattern-3-3 tokoe:valid" result="pass"/><test-case name="17247NISTXML-SV-IV-list-anyURI-pattern-3-4 tokoe:valid" result="pass"/><test-case name="17248NISTXML-SV-IV-list-anyURI-pattern-3-5 tokoe:valid" result="pass"/><test-case name="17249NISTSchema-SV-IV-list-anyURI-pattern-4 tokoe:valid" result="pass"/><test-case name="17250NISTXML-SV-IV-list-anyURI-pattern-4-1 tokoe:valid" result="pass"/><test-case name="17251NISTXML-SV-IV-list-anyURI-pattern-4-2 tokoe:valid" result="pass"/><test-case name="17252NISTXML-SV-IV-list-anyURI-pattern-4-3 tokoe:valid" result="pass"/><test-case name="17253NISTXML-SV-IV-list-anyURI-pattern-4-4 tokoe:valid" result="pass"/><test-case name="17254NISTXML-SV-IV-list-anyURI-pattern-4-5 tokoe:valid" result="pass"/><test-case name="17255NISTSchema-SV-IV-list-anyURI-pattern-5 tokoe:valid" result="pass"/><test-case name="17256NISTXML-SV-IV-list-anyURI-pattern-5-1 tokoe:valid" result="pass"/><test-case name="17257NISTXML-SV-IV-list-anyURI-pattern-5-2 tokoe:valid" result="pass"/><test-case name="17258NISTXML-SV-IV-list-anyURI-pattern-5-3 tokoe:valid" result="pass"/><test-case name="17259NISTXML-SV-IV-list-anyURI-pattern-5-4 tokoe:valid" result="pass"/><test-case name="17260NISTXML-SV-IV-list-anyURI-pattern-5-5 tokoe:valid" result="pass"/><test-case name="17261NISTSchema-SV-IV-list-anyURI-enumeration-1 tokoe:valid" result="pass"/><test-case name="17262NISTXML-SV-IV-list-anyURI-enumeration-1-1 tokoe:valid" result="pass"/><test-case name="17263NISTXML-SV-IV-list-anyURI-enumeration-1-2 tokoe:valid" result="pass"/><test-case name="17264NISTXML-SV-IV-list-anyURI-enumeration-1-3 tokoe:valid" result="pass"/><test-case name="17265NISTXML-SV-IV-list-anyURI-enumeration-1-4 tokoe:valid" result="pass"/><test-case name="17266NISTXML-SV-IV-list-anyURI-enumeration-1-5 tokoe:valid" result="pass"/><test-case name="17267NISTSchema-SV-IV-list-anyURI-enumeration-2 tokoe:valid" result="pass"/><test-case name="17268NISTXML-SV-IV-list-anyURI-enumeration-2-1 tokoe:valid" result="pass"/><test-case name="17269NISTXML-SV-IV-list-anyURI-enumeration-2-2 tokoe:valid" result="pass"/><test-case name="17270NISTXML-SV-IV-list-anyURI-enumeration-2-3 tokoe:valid" result="pass"/><test-case name="17271NISTXML-SV-IV-list-anyURI-enumeration-2-4 tokoe:valid" result="pass"/><test-case name="17272NISTXML-SV-IV-list-anyURI-enumeration-2-5 tokoe:valid" result="pass"/><test-case name="17273NISTSchema-SV-IV-list-anyURI-enumeration-3 tokoe:valid" result="pass"/><test-case name="17274NISTXML-SV-IV-list-anyURI-enumeration-3-1 tokoe:valid" result="pass"/><test-case name="17275NISTXML-SV-IV-list-anyURI-enumeration-3-2 tokoe:valid" result="pass"/><test-case name="17276NISTXML-SV-IV-list-anyURI-enumeration-3-3 tokoe:valid" result="pass"/><test-case name="17277NISTXML-SV-IV-list-anyURI-enumeration-3-4 tokoe:valid" result="pass"/><test-case name="17278NISTXML-SV-IV-list-anyURI-enumeration-3-5 tokoe:valid" result="pass"/><test-case name="17279NISTSchema-SV-IV-list-anyURI-enumeration-4 tokoe:valid" result="pass"/><test-case name="17280NISTXML-SV-IV-list-anyURI-enumeration-4-1 tokoe:valid" result="pass"/><test-case name="17281NISTXML-SV-IV-list-anyURI-enumeration-4-2 tokoe:valid" result="pass"/><test-case name="17282NISTXML-SV-IV-list-anyURI-enumeration-4-3 tokoe:valid" result="pass"/><test-case name="17283NISTXML-SV-IV-list-anyURI-enumeration-4-4 tokoe:valid" result="pass"/><test-case name="17284NISTXML-SV-IV-list-anyURI-enumeration-4-5 tokoe:valid" result="pass"/><test-case name="17285NISTSchema-SV-IV-list-anyURI-enumeration-5 tokoe:valid" result="pass"/><test-case name="17286NISTXML-SV-IV-list-anyURI-enumeration-5-1 tokoe:valid" result="pass"/><test-case name="17287NISTXML-SV-IV-list-anyURI-enumeration-5-2 tokoe:valid" result="pass"/><test-case name="17288NISTXML-SV-IV-list-anyURI-enumeration-5-3 tokoe:valid" result="pass"/><test-case name="17289NISTXML-SV-IV-list-anyURI-enumeration-5-4 tokoe:valid" result="pass"/><test-case name="17290NISTXML-SV-IV-list-anyURI-enumeration-5-5 tokoe:valid" result="pass"/><test-case name="17291NISTSchema-SV-IV-list-anyURI-whiteSpace-1 tokoe:valid" result="pass"/><test-case name="17292NISTXML-SV-IV-list-anyURI-whiteSpace-1-1 tokoe:valid" result="pass"/><test-case name="17293NISTXML-SV-IV-list-anyURI-whiteSpace-1-2 tokoe:valid" result="pass"/><test-case name="17294NISTXML-SV-IV-list-anyURI-whiteSpace-1-3 tokoe:valid" result="pass"/><test-case name="17295NISTXML-SV-IV-list-anyURI-whiteSpace-1-4 tokoe:valid" result="pass"/><test-case name="17296NISTXML-SV-IV-list-anyURI-whiteSpace-1-5 tokoe:valid" result="pass"/><test-case name="17297NISTSchema-SV-IV-list-QName-maxLength-1 tokoe:valid" result="pass"/><test-case name="17298NISTXML-SV-IV-list-QName-maxLength-1-1 tokoe:valid" result="pass"/><test-case name="17299NISTXML-SV-IV-list-QName-maxLength-1-2 tokoe:valid" result="pass"/><test-case name="17300NISTXML-SV-IV-list-QName-maxLength-1-3 tokoe:valid" result="pass"/><test-case name="17301NISTXML-SV-IV-list-QName-maxLength-1-4 tokoe:valid" result="pass"/><test-case name="17302NISTXML-SV-IV-list-QName-maxLength-1-5 tokoe:valid" result="pass"/><test-case name="17303NISTSchema-SV-IV-list-QName-maxLength-2 tokoe:valid" result="pass"/><test-case name="17304NISTXML-SV-IV-list-QName-maxLength-2-1 tokoe:valid" result="pass"/><test-case name="17305NISTXML-SV-IV-list-QName-maxLength-2-2 tokoe:valid" result="pass"/><test-case name="17306NISTXML-SV-IV-list-QName-maxLength-2-3 tokoe:valid" result="pass"/><test-case name="17307NISTXML-SV-IV-list-QName-maxLength-2-4 tokoe:valid" result="pass"/><test-case name="17308NISTXML-SV-IV-list-QName-maxLength-2-5 tokoe:valid" result="pass"/><test-case name="17309NISTSchema-SV-IV-list-QName-maxLength-3 tokoe:valid" result="pass"/><test-case name="17310NISTXML-SV-IV-list-QName-maxLength-3-1 tokoe:valid" result="pass"/><test-case name="17311NISTXML-SV-IV-list-QName-maxLength-3-2 tokoe:valid" result="pass"/><test-case name="17312NISTXML-SV-IV-list-QName-maxLength-3-3 tokoe:valid" result="pass"/><test-case name="17313NISTXML-SV-IV-list-QName-maxLength-3-4 tokoe:valid" result="pass"/><test-case name="17314NISTXML-SV-IV-list-QName-maxLength-3-5 tokoe:valid" result="pass"/><test-case name="17315NISTSchema-SV-IV-list-QName-maxLength-4 tokoe:valid" result="pass"/><test-case name="17316NISTXML-SV-IV-list-QName-maxLength-4-1 tokoe:valid" result="pass"/><test-case name="17317NISTXML-SV-IV-list-QName-maxLength-4-2 tokoe:valid" result="pass"/><test-case name="17318NISTXML-SV-IV-list-QName-maxLength-4-3 tokoe:valid" result="pass"/><test-case name="17319NISTXML-SV-IV-list-QName-maxLength-4-4 tokoe:valid" result="pass"/><test-case name="17320NISTXML-SV-IV-list-QName-maxLength-4-5 tokoe:valid" result="pass"/><test-case name="17321NISTSchema-SV-IV-list-QName-maxLength-5 tokoe:valid" result="pass"/><test-case name="17322NISTXML-SV-IV-list-QName-maxLength-5-1 tokoe:valid" result="pass"/><test-case name="17323NISTXML-SV-IV-list-QName-maxLength-5-2 tokoe:valid" result="pass"/><test-case name="17324NISTXML-SV-IV-list-QName-maxLength-5-3 tokoe:valid" result="pass"/><test-case name="17325NISTXML-SV-IV-list-QName-maxLength-5-4 tokoe:valid" result="pass"/><test-case name="17326NISTXML-SV-IV-list-QName-maxLength-5-5 tokoe:valid" result="pass"/><test-case name="17327NISTSchema-SV-IV-list-QName-minLength-1 tokoe:valid" result="pass"/><test-case name="17328NISTXML-SV-IV-list-QName-minLength-1-1 tokoe:valid" result="pass"/><test-case name="17329NISTXML-SV-IV-list-QName-minLength-1-2 tokoe:valid" result="pass"/><test-case name="17330NISTXML-SV-IV-list-QName-minLength-1-3 tokoe:valid" result="pass"/><test-case name="17331NISTXML-SV-IV-list-QName-minLength-1-4 tokoe:valid" result="pass"/><test-case name="17332NISTXML-SV-IV-list-QName-minLength-1-5 tokoe:valid" result="pass"/><test-case name="17333NISTSchema-SV-IV-list-QName-minLength-2 tokoe:valid" result="pass"/><test-case name="17334NISTXML-SV-IV-list-QName-minLength-2-1 tokoe:valid" result="pass"/><test-case name="17335NISTXML-SV-IV-list-QName-minLength-2-2 tokoe:valid" result="pass"/><test-case name="17336NISTXML-SV-IV-list-QName-minLength-2-3 tokoe:valid" result="pass"/><test-case name="17337NISTXML-SV-IV-list-QName-minLength-2-4 tokoe:valid" result="pass"/><test-case name="17338NISTXML-SV-IV-list-QName-minLength-2-5 tokoe:valid" result="pass"/><test-case name="17339NISTSchema-SV-IV-list-QName-minLength-3 tokoe:valid" result="pass"/><test-case name="17340NISTXML-SV-IV-list-QName-minLength-3-1 tokoe:valid" result="pass"/><test-case name="17341NISTXML-SV-IV-list-QName-minLength-3-2 tokoe:valid" result="pass"/><test-case name="17342NISTXML-SV-IV-list-QName-minLength-3-3 tokoe:valid" result="pass"/><test-case name="17343NISTXML-SV-IV-list-QName-minLength-3-4 tokoe:valid" result="pass"/><test-case name="17344NISTXML-SV-IV-list-QName-minLength-3-5 tokoe:valid" result="pass"/><test-case name="17345NISTSchema-SV-IV-list-QName-minLength-4 tokoe:valid" result="pass"/><test-case name="17346NISTXML-SV-IV-list-QName-minLength-4-1 tokoe:valid" result="pass"/><test-case name="17347NISTXML-SV-IV-list-QName-minLength-4-2 tokoe:valid" result="pass"/><test-case name="17348NISTXML-SV-IV-list-QName-minLength-4-3 tokoe:valid" result="pass"/><test-case name="17349NISTXML-SV-IV-list-QName-minLength-4-4 tokoe:valid" result="pass"/><test-case name="17350NISTXML-SV-IV-list-QName-minLength-4-5 tokoe:valid" result="pass"/><test-case name="17351NISTSchema-SV-IV-list-QName-minLength-5 tokoe:valid" result="pass"/><test-case name="17352NISTXML-SV-IV-list-QName-minLength-5-1 tokoe:valid" result="pass"/><test-case name="17353NISTXML-SV-IV-list-QName-minLength-5-2 tokoe:valid" result="pass"/><test-case name="17354NISTXML-SV-IV-list-QName-minLength-5-3 tokoe:valid" result="pass"/><test-case name="17355NISTXML-SV-IV-list-QName-minLength-5-4 tokoe:valid" result="pass"/><test-case name="17356NISTXML-SV-IV-list-QName-minLength-5-5 tokoe:valid" result="pass"/><test-case name="17357NISTSchema-SV-IV-list-QName-length-1 tokoe:valid" result="pass"/><test-case name="17358NISTXML-SV-IV-list-QName-length-1-1 tokoe:valid" result="pass"/><test-case name="17359NISTXML-SV-IV-list-QName-length-1-2 tokoe:valid" result="pass"/><test-case name="17360NISTXML-SV-IV-list-QName-length-1-3 tokoe:valid" result="pass"/><test-case name="17361NISTXML-SV-IV-list-QName-length-1-4 tokoe:valid" result="pass"/><test-case name="17362NISTXML-SV-IV-list-QName-length-1-5 tokoe:valid" result="pass"/><test-case name="17363NISTSchema-SV-IV-list-QName-length-2 tokoe:valid" result="pass"/><test-case name="17364NISTXML-SV-IV-list-QName-length-2-1 tokoe:valid" result="pass"/><test-case name="17365NISTXML-SV-IV-list-QName-length-2-2 tokoe:valid" result="pass"/><test-case name="17366NISTXML-SV-IV-list-QName-length-2-3 tokoe:valid" result="pass"/><test-case name="17367NISTXML-SV-IV-list-QName-length-2-4 tokoe:valid" result="pass"/><test-case name="17368NISTXML-SV-IV-list-QName-length-2-5 tokoe:valid" result="pass"/><test-case name="17369NISTSchema-SV-IV-list-QName-length-3 tokoe:valid" result="pass"/><test-case name="17370NISTXML-SV-IV-list-QName-length-3-1 tokoe:valid" result="pass"/><test-case name="17371NISTXML-SV-IV-list-QName-length-3-2 tokoe:valid" result="pass"/><test-case name="17372NISTXML-SV-IV-list-QName-length-3-3 tokoe:valid" result="pass"/><test-case name="17373NISTXML-SV-IV-list-QName-length-3-4 tokoe:valid" result="pass"/><test-case name="17374NISTXML-SV-IV-list-QName-length-3-5 tokoe:valid" result="pass"/><test-case name="17375NISTSchema-SV-IV-list-QName-length-4 tokoe:valid" result="pass"/><test-case name="17376NISTXML-SV-IV-list-QName-length-4-1 tokoe:valid" result="pass"/><test-case name="17377NISTXML-SV-IV-list-QName-length-4-2 tokoe:valid" result="pass"/><test-case name="17378NISTXML-SV-IV-list-QName-length-4-3 tokoe:valid" result="pass"/><test-case name="17379NISTXML-SV-IV-list-QName-length-4-4 tokoe:valid" result="pass"/><test-case name="17380NISTXML-SV-IV-list-QName-length-4-5 tokoe:valid" result="pass"/><test-case name="17381NISTSchema-SV-IV-list-QName-length-5 tokoe:valid" result="pass"/><test-case name="17382NISTXML-SV-IV-list-QName-length-5-1 tokoe:valid" result="pass"/><test-case name="17383NISTXML-SV-IV-list-QName-length-5-2 tokoe:valid" result="pass"/><test-case name="17384NISTXML-SV-IV-list-QName-length-5-3 tokoe:valid" result="pass"/><test-case name="17385NISTXML-SV-IV-list-QName-length-5-4 tokoe:valid" result="pass"/><test-case name="17386NISTXML-SV-IV-list-QName-length-5-5 tokoe:valid" result="pass"/><test-case name="17387NISTSchema-SV-IV-list-QName-pattern-1 tokoe:valid" result="pass"/><test-case name="17388NISTXML-SV-IV-list-QName-pattern-1-1 tokoe:valid" result="pass"/><test-case name="17389NISTXML-SV-IV-list-QName-pattern-1-2 tokoe:valid" result="pass"/><test-case name="17390NISTXML-SV-IV-list-QName-pattern-1-3 tokoe:valid" result="pass"/><test-case name="17391NISTXML-SV-IV-list-QName-pattern-1-4 tokoe:valid" result="pass"/><test-case name="17392NISTXML-SV-IV-list-QName-pattern-1-5 tokoe:valid" result="pass"/><test-case name="17393NISTSchema-SV-IV-list-QName-pattern-2 tokoe:valid" result="pass"/><test-case name="17394NISTXML-SV-IV-list-QName-pattern-2-1 tokoe:valid" result="pass"/><test-case name="17395NISTXML-SV-IV-list-QName-pattern-2-2 tokoe:valid" result="pass"/><test-case name="17396NISTXML-SV-IV-list-QName-pattern-2-3 tokoe:valid" result="pass"/><test-case name="17397NISTXML-SV-IV-list-QName-pattern-2-4 tokoe:valid" result="pass"/><test-case name="17398NISTXML-SV-IV-list-QName-pattern-2-5 tokoe:valid" result="pass"/><test-case name="17399NISTSchema-SV-IV-list-QName-pattern-3 tokoe:valid" result="pass"/><test-case name="17400NISTXML-SV-IV-list-QName-pattern-3-1 tokoe:valid" result="pass"/><test-case name="17401NISTXML-SV-IV-list-QName-pattern-3-2 tokoe:valid" result="pass"/><test-case name="17402NISTXML-SV-IV-list-QName-pattern-3-3 tokoe:valid" result="pass"/><test-case name="17403NISTXML-SV-IV-list-QName-pattern-3-4 tokoe:valid" result="pass"/><test-case name="17404NISTXML-SV-IV-list-QName-pattern-3-5 tokoe:valid" result="pass"/><test-case name="17405NISTSchema-SV-IV-list-QName-pattern-4 tokoe:valid" result="pass"/><test-case name="17406NISTXML-SV-IV-list-QName-pattern-4-1 tokoe:valid" result="pass"/><test-case name="17407NISTXML-SV-IV-list-QName-pattern-4-2 tokoe:valid" result="pass"/><test-case name="17408NISTXML-SV-IV-list-QName-pattern-4-3 tokoe:valid" result="pass"/><test-case name="17409NISTXML-SV-IV-list-QName-pattern-4-4 tokoe:valid" result="pass"/><test-case name="17410NISTXML-SV-IV-list-QName-pattern-4-5 tokoe:valid" result="pass"/><test-case name="17411NISTSchema-SV-IV-list-QName-pattern-5 tokoe:valid" result="pass"/><test-case name="17412NISTXML-SV-IV-list-QName-pattern-5-1 tokoe:valid" result="pass"/><test-case name="17413NISTXML-SV-IV-list-QName-pattern-5-2 tokoe:valid" result="pass"/><test-case name="17414NISTXML-SV-IV-list-QName-pattern-5-3 tokoe:valid" result="pass"/><test-case name="17415NISTXML-SV-IV-list-QName-pattern-5-4 tokoe:valid" result="pass"/><test-case name="17416NISTXML-SV-IV-list-QName-pattern-5-5 tokoe:valid" result="pass"/><test-case name="17417NISTSchema-SV-IV-list-QName-enumeration-1 tokoe:valid" result="pass"/><test-case name="17418NISTXML-SV-IV-list-QName-enumeration-1-1 tokoe:valid" result="pass"/><test-case name="17419NISTXML-SV-IV-list-QName-enumeration-1-2 tokoe:valid" result="pass"/><test-case name="17420NISTXML-SV-IV-list-QName-enumeration-1-3 tokoe:valid" result="pass"/><test-case name="17421NISTXML-SV-IV-list-QName-enumeration-1-4 tokoe:valid" result="pass"/><test-case name="17422NISTXML-SV-IV-list-QName-enumeration-1-5 tokoe:valid" result="pass"/><test-case name="17423NISTSchema-SV-IV-list-QName-enumeration-2 tokoe:valid" result="pass"/><test-case name="17424NISTXML-SV-IV-list-QName-enumeration-2-1 tokoe:valid" result="pass"/><test-case name="17425NISTXML-SV-IV-list-QName-enumeration-2-2 tokoe:valid" result="pass"/><test-case name="17426NISTXML-SV-IV-list-QName-enumeration-2-3 tokoe:valid" result="pass"/><test-case name="17427NISTXML-SV-IV-list-QName-enumeration-2-4 tokoe:valid" result="pass"/><test-case name="17428NISTXML-SV-IV-list-QName-enumeration-2-5 tokoe:valid" result="pass"/><test-case name="17429NISTSchema-SV-IV-list-QName-enumeration-3 tokoe:valid" result="pass"/><test-case name="17430NISTXML-SV-IV-list-QName-enumeration-3-1 tokoe:valid" result="pass"/><test-case name="17431NISTXML-SV-IV-list-QName-enumeration-3-2 tokoe:valid" result="pass"/><test-case name="17432NISTXML-SV-IV-list-QName-enumeration-3-3 tokoe:valid" result="pass"/><test-case name="17433NISTXML-SV-IV-list-QName-enumeration-3-4 tokoe:valid" result="pass"/><test-case name="17434NISTXML-SV-IV-list-QName-enumeration-3-5 tokoe:valid" result="pass"/><test-case name="17435NISTSchema-SV-IV-list-QName-enumeration-4 tokoe:valid" result="pass"/><test-case name="17436NISTXML-SV-IV-list-QName-enumeration-4-1 tokoe:valid" result="pass"/><test-case name="17437NISTXML-SV-IV-list-QName-enumeration-4-2 tokoe:valid" result="pass"/><test-case name="17438NISTXML-SV-IV-list-QName-enumeration-4-3 tokoe:valid" result="pass"/><test-case name="17439NISTXML-SV-IV-list-QName-enumeration-4-4 tokoe:valid" result="pass"/><test-case name="17440NISTXML-SV-IV-list-QName-enumeration-4-5 tokoe:valid" result="pass"/><test-case name="17441NISTSchema-SV-IV-list-QName-enumeration-5 tokoe:valid" result="pass"/><test-case name="17442NISTXML-SV-IV-list-QName-enumeration-5-1 tokoe:valid" result="pass"/><test-case name="17443NISTXML-SV-IV-list-QName-enumeration-5-2 tokoe:valid" result="pass"/><test-case name="17444NISTXML-SV-IV-list-QName-enumeration-5-3 tokoe:valid" result="pass"/><test-case name="17445NISTXML-SV-IV-list-QName-enumeration-5-4 tokoe:valid" result="pass"/><test-case name="17446NISTXML-SV-IV-list-QName-enumeration-5-5 tokoe:valid" result="pass"/><test-case name="17447NISTSchema-SV-IV-list-QName-whiteSpace-1 tokoe:valid" result="pass"/><test-case name="17448NISTXML-SV-IV-list-QName-whiteSpace-1-1 tokoe:valid" result="pass"/><test-case name="17449NISTXML-SV-IV-list-QName-whiteSpace-1-2 tokoe:valid" result="pass"/><test-case name="17450NISTXML-SV-IV-list-QName-whiteSpace-1-3 tokoe:valid" result="pass"/><test-case name="17451NISTXML-SV-IV-list-QName-whiteSpace-1-4 tokoe:valid" result="pass"/><test-case name="17452NISTXML-SV-IV-list-QName-whiteSpace-1-5 tokoe:valid" result="pass"/><test-case name="17453NISTSchema-SV-IV-list-boolean-maxLength-1 tokoe:valid" result="pass"/><test-case name="17454NISTXML-SV-IV-list-boolean-maxLength-1-1 tokoe:valid" result="pass"/><test-case name="17455NISTXML-SV-IV-list-boolean-maxLength-1-2 tokoe:valid" result="pass"/><test-case name="17456NISTXML-SV-IV-list-boolean-maxLength-1-3 tokoe:valid" result="pass"/><test-case name="17457NISTXML-SV-IV-list-boolean-maxLength-1-4 tokoe:valid" result="pass"/><test-case name="17458NISTXML-SV-IV-list-boolean-maxLength-1-5 tokoe:valid" result="pass"/><test-case name="17459NISTSchema-SV-IV-list-boolean-maxLength-2 tokoe:valid" result="pass"/><test-case name="17460NISTXML-SV-IV-list-boolean-maxLength-2-1 tokoe:valid" result="pass"/><test-case name="17461NISTXML-SV-IV-list-boolean-maxLength-2-2 tokoe:valid" result="pass"/><test-case name="17462NISTXML-SV-IV-list-boolean-maxLength-2-3 tokoe:valid" result="pass"/><test-case name="17463NISTXML-SV-IV-list-boolean-maxLength-2-4 tokoe:valid" result="pass"/><test-case name="17464NISTXML-SV-IV-list-boolean-maxLength-2-5 tokoe:valid" result="pass"/><test-case name="17465NISTSchema-SV-IV-list-boolean-maxLength-3 tokoe:valid" result="pass"/><test-case name="17466NISTXML-SV-IV-list-boolean-maxLength-3-1 tokoe:valid" result="pass"/><test-case name="17467NISTXML-SV-IV-list-boolean-maxLength-3-2 tokoe:valid" result="pass"/><test-case name="17468NISTXML-SV-IV-list-boolean-maxLength-3-3 tokoe:valid" result="pass"/><test-case name="17469NISTXML-SV-IV-list-boolean-maxLength-3-4 tokoe:valid" result="pass"/><test-case name="17470NISTXML-SV-IV-list-boolean-maxLength-3-5 tokoe:valid" result="pass"/><test-case name="17471NISTSchema-SV-IV-list-boolean-maxLength-4 tokoe:valid" result="pass"/><test-case name="17472NISTXML-SV-IV-list-boolean-maxLength-4-1 tokoe:valid" result="pass"/><test-case name="17473NISTXML-SV-IV-list-boolean-maxLength-4-2 tokoe:valid" result="pass"/><test-case name="17474NISTXML-SV-IV-list-boolean-maxLength-4-3 tokoe:valid" result="pass"/><test-case name="17475NISTXML-SV-IV-list-boolean-maxLength-4-4 tokoe:valid" result="pass"/><test-case name="17476NISTXML-SV-IV-list-boolean-maxLength-4-5 tokoe:valid" result="pass"/><test-case name="17477NISTSchema-SV-IV-list-boolean-maxLength-5 tokoe:valid" result="pass"/><test-case name="17478NISTXML-SV-IV-list-boolean-maxLength-5-1 tokoe:valid" result="pass"/><test-case name="17479NISTXML-SV-IV-list-boolean-maxLength-5-2 tokoe:valid" result="pass"/><test-case name="17480NISTXML-SV-IV-list-boolean-maxLength-5-3 tokoe:valid" result="pass"/><test-case name="17481NISTXML-SV-IV-list-boolean-maxLength-5-4 tokoe:valid" result="pass"/><test-case name="17482NISTXML-SV-IV-list-boolean-maxLength-5-5 tokoe:valid" result="pass"/><test-case name="17483NISTSchema-SV-IV-list-boolean-minLength-1 tokoe:valid" result="pass"/><test-case name="17484NISTXML-SV-IV-list-boolean-minLength-1-1 tokoe:valid" result="pass"/><test-case name="17485NISTXML-SV-IV-list-boolean-minLength-1-2 tokoe:valid" result="pass"/><test-case name="17486NISTXML-SV-IV-list-boolean-minLength-1-3 tokoe:valid" result="pass"/><test-case name="17487NISTXML-SV-IV-list-boolean-minLength-1-4 tokoe:valid" result="pass"/><test-case name="17488NISTXML-SV-IV-list-boolean-minLength-1-5 tokoe:valid" result="pass"/><test-case name="17489NISTSchema-SV-IV-list-boolean-minLength-2 tokoe:valid" result="pass"/><test-case name="17490NISTXML-SV-IV-list-boolean-minLength-2-1 tokoe:valid" result="pass"/><test-case name="17491NISTXML-SV-IV-list-boolean-minLength-2-2 tokoe:valid" result="pass"/><test-case name="17492NISTXML-SV-IV-list-boolean-minLength-2-3 tokoe:valid" result="pass"/><test-case name="17493NISTXML-SV-IV-list-boolean-minLength-2-4 tokoe:valid" result="pass"/><test-case name="17494NISTXML-SV-IV-list-boolean-minLength-2-5 tokoe:valid" result="pass"/><test-case name="17495NISTSchema-SV-IV-list-boolean-minLength-3 tokoe:valid" result="pass"/><test-case name="17496NISTXML-SV-IV-list-boolean-minLength-3-1 tokoe:valid" result="pass"/><test-case name="17497NISTXML-SV-IV-list-boolean-minLength-3-2 tokoe:valid" result="pass"/><test-case name="17498NISTXML-SV-IV-list-boolean-minLength-3-3 tokoe:valid" result="pass"/><test-case name="17499NISTXML-SV-IV-list-boolean-minLength-3-4 tokoe:valid" result="pass"/><test-case name="17500NISTXML-SV-IV-list-boolean-minLength-3-5 tokoe:valid" result="pass"/><test-case name="17501NISTSchema-SV-IV-list-boolean-minLength-4 tokoe:valid" result="pass"/><test-case name="17502NISTXML-SV-IV-list-boolean-minLength-4-1 tokoe:valid" result="pass"/><test-case name="17503NISTXML-SV-IV-list-boolean-minLength-4-2 tokoe:valid" result="pass"/><test-case name="17504NISTXML-SV-IV-list-boolean-minLength-4-3 tokoe:valid" result="pass"/><test-case name="17505NISTXML-SV-IV-list-boolean-minLength-4-4 tokoe:valid" result="pass"/><test-case name="17506NISTXML-SV-IV-list-boolean-minLength-4-5 tokoe:valid" result="pass"/><test-case name="17507NISTSchema-SV-IV-list-boolean-minLength-5 tokoe:valid" result="pass"/><test-case name="17508NISTXML-SV-IV-list-boolean-minLength-5-1 tokoe:valid" result="pass"/><test-case name="17509NISTXML-SV-IV-list-boolean-minLength-5-2 tokoe:valid" result="pass"/><test-case name="17510NISTXML-SV-IV-list-boolean-minLength-5-3 tokoe:valid" result="pass"/><test-case name="17511NISTXML-SV-IV-list-boolean-minLength-5-4 tokoe:valid" result="pass"/><test-case name="17512NISTXML-SV-IV-list-boolean-minLength-5-5 tokoe:valid" result="pass"/><test-case name="17513NISTSchema-SV-IV-list-boolean-length-1 tokoe:valid" result="pass"/><test-case name="17514NISTXML-SV-IV-list-boolean-length-1-1 tokoe:valid" result="pass"/><test-case name="17515NISTXML-SV-IV-list-boolean-length-1-2 tokoe:valid" result="pass"/><test-case name="17516NISTXML-SV-IV-list-boolean-length-1-3 tokoe:valid" result="pass"/><test-case name="17517NISTXML-SV-IV-list-boolean-length-1-4 tokoe:valid" result="pass"/><test-case name="17518NISTXML-SV-IV-list-boolean-length-1-5 tokoe:valid" result="pass"/><test-case name="17519NISTSchema-SV-IV-list-boolean-length-2 tokoe:valid" result="pass"/><test-case name="17520NISTXML-SV-IV-list-boolean-length-2-1 tokoe:valid" result="pass"/><test-case name="17521NISTXML-SV-IV-list-boolean-length-2-2 tokoe:valid" result="pass"/><test-case name="17522NISTXML-SV-IV-list-boolean-length-2-3 tokoe:valid" result="pass"/><test-case name="17523NISTXML-SV-IV-list-boolean-length-2-4 tokoe:valid" result="pass"/><test-case name="17524NISTXML-SV-IV-list-boolean-length-2-5 tokoe:valid" result="pass"/><test-case name="17525NISTSchema-SV-IV-list-boolean-length-3 tokoe:valid" result="pass"/><test-case name="17526NISTXML-SV-IV-list-boolean-length-3-1 tokoe:valid" result="pass"/><test-case name="17527NISTXML-SV-IV-list-boolean-length-3-2 tokoe:valid" result="pass"/><test-case name="17528NISTXML-SV-IV-list-boolean-length-3-3 tokoe:valid" result="pass"/><test-case name="17529NISTXML-SV-IV-list-boolean-length-3-4 tokoe:valid" result="pass"/><test-case name="17530NISTXML-SV-IV-list-boolean-length-3-5 tokoe:valid" result="pass"/><test-case name="17531NISTSchema-SV-IV-list-boolean-length-4 tokoe:valid" result="pass"/><test-case name="17532NISTXML-SV-IV-list-boolean-length-4-1 tokoe:valid" result="pass"/><test-case name="17533NISTXML-SV-IV-list-boolean-length-4-2 tokoe:valid" result="pass"/><test-case name="17534NISTXML-SV-IV-list-boolean-length-4-3 tokoe:valid" result="pass"/><test-case name="17535NISTXML-SV-IV-list-boolean-length-4-4 tokoe:valid" result="pass"/><test-case name="17536NISTXML-SV-IV-list-boolean-length-4-5 tokoe:valid" result="pass"/><test-case name="17537NISTSchema-SV-IV-list-boolean-length-5 tokoe:valid" result="pass"/><test-case name="17538NISTXML-SV-IV-list-boolean-length-5-1 tokoe:valid" result="pass"/><test-case name="17539NISTXML-SV-IV-list-boolean-length-5-2 tokoe:valid" result="pass"/><test-case name="17540NISTXML-SV-IV-list-boolean-length-5-3 tokoe:valid" result="pass"/><test-case name="17541NISTXML-SV-IV-list-boolean-length-5-4 tokoe:valid" result="pass"/><test-case name="17542NISTXML-SV-IV-list-boolean-length-5-5 tokoe:valid" result="pass"/><test-case name="17543NISTSchema-SV-IV-list-boolean-pattern-1 tokoe:valid" result="pass"/><test-case name="17544NISTXML-SV-IV-list-boolean-pattern-1-1 tokoe:valid" result="pass"/><test-case name="17545NISTXML-SV-IV-list-boolean-pattern-1-2 tokoe:valid" result="pass"/><test-case name="17546NISTXML-SV-IV-list-boolean-pattern-1-3 tokoe:valid" result="pass"/><test-case name="17547NISTXML-SV-IV-list-boolean-pattern-1-4 tokoe:valid" result="pass"/><test-case name="17548NISTXML-SV-IV-list-boolean-pattern-1-5 tokoe:valid" result="pass"/><test-case name="17549NISTSchema-SV-IV-list-boolean-pattern-2 tokoe:valid" result="pass"/><test-case name="17550NISTXML-SV-IV-list-boolean-pattern-2-1 tokoe:valid" result="pass"/><test-case name="17551NISTXML-SV-IV-list-boolean-pattern-2-2 tokoe:valid" result="pass"/><test-case name="17552NISTXML-SV-IV-list-boolean-pattern-2-3 tokoe:valid" result="pass"/><test-case name="17553NISTXML-SV-IV-list-boolean-pattern-2-4 tokoe:valid" result="pass"/><test-case name="17554NISTXML-SV-IV-list-boolean-pattern-2-5 tokoe:valid" result="pass"/><test-case name="17555NISTSchema-SV-IV-list-boolean-pattern-3 tokoe:valid" result="pass"/><test-case name="17556NISTXML-SV-IV-list-boolean-pattern-3-1 tokoe:valid" result="pass"/><test-case name="17557NISTXML-SV-IV-list-boolean-pattern-3-2 tokoe:valid" result="pass"/><test-case name="17558NISTXML-SV-IV-list-boolean-pattern-3-3 tokoe:valid" result="pass"/><test-case name="17559NISTXML-SV-IV-list-boolean-pattern-3-4 tokoe:valid" result="pass"/><test-case name="17560NISTXML-SV-IV-list-boolean-pattern-3-5 tokoe:valid" result="pass"/><test-case name="17561NISTSchema-SV-IV-list-boolean-pattern-4 tokoe:valid" result="pass"/><test-case name="17562NISTXML-SV-IV-list-boolean-pattern-4-1 tokoe:valid" result="pass"/><test-case name="17563NISTXML-SV-IV-list-boolean-pattern-4-2 tokoe:valid" result="pass"/><test-case name="17564NISTXML-SV-IV-list-boolean-pattern-4-3 tokoe:valid" result="pass"/><test-case name="17565NISTXML-SV-IV-list-boolean-pattern-4-4 tokoe:valid" result="pass"/><test-case name="17566NISTXML-SV-IV-list-boolean-pattern-4-5 tokoe:valid" result="pass"/><test-case name="17567NISTSchema-SV-IV-list-boolean-pattern-5 tokoe:valid" result="pass"/><test-case name="17568NISTXML-SV-IV-list-boolean-pattern-5-1 tokoe:valid" result="pass"/><test-case name="17569NISTXML-SV-IV-list-boolean-pattern-5-2 tokoe:valid" result="pass"/><test-case name="17570NISTXML-SV-IV-list-boolean-pattern-5-3 tokoe:valid" result="pass"/><test-case name="17571NISTXML-SV-IV-list-boolean-pattern-5-4 tokoe:valid" result="pass"/><test-case name="17572NISTXML-SV-IV-list-boolean-pattern-5-5 tokoe:valid" result="pass"/><test-case name="17573NISTSchema-SV-IV-list-boolean-whiteSpace-1 tokoe:valid" result="pass"/><test-case name="17574NISTXML-SV-IV-list-boolean-whiteSpace-1-1 tokoe:valid" result="pass"/><test-case name="17575NISTXML-SV-IV-list-boolean-whiteSpace-1-2 tokoe:valid" result="pass"/><test-case name="17576NISTXML-SV-IV-list-boolean-whiteSpace-1-3 tokoe:valid" result="pass"/><test-case name="17577NISTXML-SV-IV-list-boolean-whiteSpace-1-4 tokoe:valid" result="pass"/><test-case name="17578NISTXML-SV-IV-list-boolean-whiteSpace-1-5 tokoe:valid" result="pass"/><test-case name="17579NISTSchema-SV-IV-list-base64Binary-maxLength-1 tokoe:valid" result="pass"/><test-case name="17580NISTXML-SV-IV-list-base64Binary-maxLength-1-1 tokoe:valid" result="pass"/><test-case name="17581NISTXML-SV-IV-list-base64Binary-maxLength-1-2 tokoe:valid" result="pass"/><test-case name="17582NISTXML-SV-IV-list-base64Binary-maxLength-1-3 tokoe:valid" result="pass"/><test-case name="17583NISTXML-SV-IV-list-base64Binary-maxLength-1-4 tokoe:valid" result="pass"/><test-case name="17584NISTXML-SV-IV-list-base64Binary-maxLength-1-5 tokoe:valid" result="pass"/><test-case name="17585NISTSchema-SV-IV-list-base64Binary-maxLength-2 tokoe:valid" result="pass"/><test-case name="17586NISTXML-SV-IV-list-base64Binary-maxLength-2-1 tokoe:valid" result="pass"/><test-case name="17587NISTXML-SV-IV-list-base64Binary-maxLength-2-2 tokoe:valid" result="pass"/><test-case name="17588NISTXML-SV-IV-list-base64Binary-maxLength-2-3 tokoe:valid" result="pass"/><test-case name="17589NISTXML-SV-IV-list-base64Binary-maxLength-2-4 tokoe:valid" result="pass"/><test-case name="17590NISTXML-SV-IV-list-base64Binary-maxLength-2-5 tokoe:valid" result="pass"/><test-case name="17591NISTSchema-SV-IV-list-base64Binary-maxLength-3 tokoe:valid" result="pass"/><test-case name="17592NISTXML-SV-IV-list-base64Binary-maxLength-3-1 tokoe:valid" result="pass"/><test-case name="17593NISTXML-SV-IV-list-base64Binary-maxLength-3-2 tokoe:valid" result="pass"/><test-case name="17594NISTXML-SV-IV-list-base64Binary-maxLength-3-3 tokoe:valid" result="pass"/><test-case name="17595NISTXML-SV-IV-list-base64Binary-maxLength-3-4 tokoe:valid" result="pass"/><test-case name="17596NISTXML-SV-IV-list-base64Binary-maxLength-3-5 tokoe:valid" result="pass"/><test-case name="17597NISTSchema-SV-IV-list-base64Binary-maxLength-4 tokoe:valid" result="pass"/><test-case name="17598NISTXML-SV-IV-list-base64Binary-maxLength-4-1 tokoe:valid" result="pass"/><test-case name="17599NISTXML-SV-IV-list-base64Binary-maxLength-4-2 tokoe:valid" result="pass"/><test-case name="17600NISTXML-SV-IV-list-base64Binary-maxLength-4-3 tokoe:valid" result="pass"/><test-case name="17601NISTXML-SV-IV-list-base64Binary-maxLength-4-4 tokoe:valid" result="pass"/><test-case name="17602NISTXML-SV-IV-list-base64Binary-maxLength-4-5 tokoe:valid" result="pass"/><test-case name="17603NISTSchema-SV-IV-list-base64Binary-maxLength-5 tokoe:valid" result="pass"/><test-case name="17604NISTXML-SV-IV-list-base64Binary-maxLength-5-1 tokoe:valid" result="pass"/><test-case name="17605NISTXML-SV-IV-list-base64Binary-maxLength-5-2 tokoe:valid" result="pass"/><test-case name="17606NISTXML-SV-IV-list-base64Binary-maxLength-5-3 tokoe:valid" result="pass"/><test-case name="17607NISTXML-SV-IV-list-base64Binary-maxLength-5-4 tokoe:valid" result="pass"/><test-case name="17608NISTXML-SV-IV-list-base64Binary-maxLength-5-5 tokoe:valid" result="pass"/><test-case name="17609NISTSchema-SV-IV-list-base64Binary-minLength-1 tokoe:valid" result="pass"/><test-case name="17610NISTXML-SV-IV-list-base64Binary-minLength-1-1 tokoe:valid" result="pass"/><test-case name="17611NISTXML-SV-IV-list-base64Binary-minLength-1-2 tokoe:valid" result="pass"/><test-case name="17612NISTXML-SV-IV-list-base64Binary-minLength-1-3 tokoe:valid" result="pass"/><test-case name="17613NISTXML-SV-IV-list-base64Binary-minLength-1-4 tokoe:valid" result="pass"/><test-case name="17614NISTXML-SV-IV-list-base64Binary-minLength-1-5 tokoe:valid" result="pass"/><test-case name="17615NISTSchema-SV-IV-list-base64Binary-minLength-2 tokoe:valid" result="pass"/><test-case name="17616NISTXML-SV-IV-list-base64Binary-minLength-2-1 tokoe:valid" result="pass"/><test-case name="17617NISTXML-SV-IV-list-base64Binary-minLength-2-2 tokoe:valid" result="pass"/><test-case name="17618NISTXML-SV-IV-list-base64Binary-minLength-2-3 tokoe:valid" result="pass"/><test-case name="17619NISTXML-SV-IV-list-base64Binary-minLength-2-4 tokoe:valid" result="pass"/><test-case name="17620NISTXML-SV-IV-list-base64Binary-minLength-2-5 tokoe:valid" result="pass"/><test-case name="17621NISTSchema-SV-IV-list-base64Binary-minLength-3 tokoe:valid" result="pass"/><test-case name="17622NISTXML-SV-IV-list-base64Binary-minLength-3-1 tokoe:valid" result="pass"/><test-case name="17623NISTXML-SV-IV-list-base64Binary-minLength-3-2 tokoe:valid" result="pass"/><test-case name="17624NISTXML-SV-IV-list-base64Binary-minLength-3-3 tokoe:valid" result="pass"/><test-case name="17625NISTXML-SV-IV-list-base64Binary-minLength-3-4 tokoe:valid" result="pass"/><test-case name="17626NISTXML-SV-IV-list-base64Binary-minLength-3-5 tokoe:valid" result="pass"/><test-case name="17627NISTSchema-SV-IV-list-base64Binary-minLength-4 tokoe:valid" result="pass"/><test-case name="17628NISTXML-SV-IV-list-base64Binary-minLength-4-1 tokoe:valid" result="pass"/><test-case name="17629NISTXML-SV-IV-list-base64Binary-minLength-4-2 tokoe:valid" result="pass"/><test-case name="17630NISTXML-SV-IV-list-base64Binary-minLength-4-3 tokoe:valid" result="pass"/><test-case name="17631NISTXML-SV-IV-list-base64Binary-minLength-4-4 tokoe:valid" result="pass"/><test-case name="17632NISTXML-SV-IV-list-base64Binary-minLength-4-5 tokoe:valid" result="pass"/><test-case name="17633NISTSchema-SV-IV-list-base64Binary-minLength-5 tokoe:valid" result="pass"/><test-case name="17634NISTXML-SV-IV-list-base64Binary-minLength-5-1 tokoe:valid" result="pass"/><test-case name="17635NISTXML-SV-IV-list-base64Binary-minLength-5-2 tokoe:valid" result="pass"/><test-case name="17636NISTXML-SV-IV-list-base64Binary-minLength-5-3 tokoe:valid" result="pass"/><test-case name="17637NISTXML-SV-IV-list-base64Binary-minLength-5-4 tokoe:valid" result="pass"/><test-case name="17638NISTXML-SV-IV-list-base64Binary-minLength-5-5 tokoe:valid" result="pass"/><test-case name="17639NISTSchema-SV-IV-list-base64Binary-length-1 tokoe:valid" result="pass"/><test-case name="17640NISTXML-SV-IV-list-base64Binary-length-1-1 tokoe:valid" result="pass"/><test-case name="17641NISTXML-SV-IV-list-base64Binary-length-1-2 tokoe:valid" result="pass"/><test-case name="17642NISTXML-SV-IV-list-base64Binary-length-1-3 tokoe:valid" result="pass"/><test-case name="17643NISTXML-SV-IV-list-base64Binary-length-1-4 tokoe:valid" result="pass"/><test-case name="17644NISTXML-SV-IV-list-base64Binary-length-1-5 tokoe:valid" result="pass"/><test-case name="17645NISTSchema-SV-IV-list-base64Binary-length-2 tokoe:valid" result="pass"/><test-case name="17646NISTXML-SV-IV-list-base64Binary-length-2-1 tokoe:valid" result="pass"/><test-case name="17647NISTXML-SV-IV-list-base64Binary-length-2-2 tokoe:valid" result="pass"/><test-case name="17648NISTXML-SV-IV-list-base64Binary-length-2-3 tokoe:valid" result="pass"/><test-case name="17649NISTXML-SV-IV-list-base64Binary-length-2-4 tokoe:valid" result="pass"/><test-case name="17650NISTXML-SV-IV-list-base64Binary-length-2-5 tokoe:valid" result="pass"/><test-case name="17651NISTSchema-SV-IV-list-base64Binary-length-3 tokoe:valid" result="pass"/><test-case name="17652NISTXML-SV-IV-list-base64Binary-length-3-1 tokoe:valid" result="pass"/><test-case name="17653NISTXML-SV-IV-list-base64Binary-length-3-2 tokoe:valid" result="pass"/><test-case name="17654NISTXML-SV-IV-list-base64Binary-length-3-3 tokoe:valid" result="pass"/><test-case name="17655NISTXML-SV-IV-list-base64Binary-length-3-4 tokoe:valid" result="pass"/><test-case name="17656NISTXML-SV-IV-list-base64Binary-length-3-5 tokoe:valid" result="pass"/><test-case name="17657NISTSchema-SV-IV-list-base64Binary-length-4 tokoe:valid" result="pass"/><test-case name="17658NISTXML-SV-IV-list-base64Binary-length-4-1 tokoe:valid" result="pass"/><test-case name="17659NISTXML-SV-IV-list-base64Binary-length-4-2 tokoe:valid" result="pass"/><test-case name="17660NISTXML-SV-IV-list-base64Binary-length-4-3 tokoe:valid" result="pass"/><test-case name="17661NISTXML-SV-IV-list-base64Binary-length-4-4 tokoe:valid" result="pass"/><test-case name="17662NISTXML-SV-IV-list-base64Binary-length-4-5 tokoe:valid" result="pass"/><test-case name="17663NISTSchema-SV-IV-list-base64Binary-length-5 tokoe:valid" result="pass"/><test-case name="17664NISTXML-SV-IV-list-base64Binary-length-5-1 tokoe:valid" result="pass"/><test-case name="17665NISTXML-SV-IV-list-base64Binary-length-5-2 tokoe:valid" result="pass"/><test-case name="17666NISTXML-SV-IV-list-base64Binary-length-5-3 tokoe:valid" result="pass"/><test-case name="17667NISTXML-SV-IV-list-base64Binary-length-5-4 tokoe:valid" result="pass"/><test-case name="17668NISTXML-SV-IV-list-base64Binary-length-5-5 tokoe:valid" result="pass"/><test-case name="17669NISTSchema-SV-IV-list-base64Binary-pattern-1 tokoe:valid" result="pass"/><test-case name="17670NISTXML-SV-IV-list-base64Binary-pattern-1-1 tokoe:valid" result="pass"/><test-case name="17671NISTXML-SV-IV-list-base64Binary-pattern-1-2 tokoe:valid" result="pass"/><test-case name="17672NISTXML-SV-IV-list-base64Binary-pattern-1-3 tokoe:valid" result="pass"/><test-case name="17673NISTXML-SV-IV-list-base64Binary-pattern-1-4 tokoe:valid" result="pass"/><test-case name="17674NISTXML-SV-IV-list-base64Binary-pattern-1-5 tokoe:valid" result="pass"/><test-case name="17675NISTSchema-SV-IV-list-base64Binary-pattern-2 tokoe:valid" result="pass"/><test-case name="17676NISTXML-SV-IV-list-base64Binary-pattern-2-1 tokoe:valid" result="pass"/><test-case name="17677NISTXML-SV-IV-list-base64Binary-pattern-2-2 tokoe:valid" result="pass"/><test-case name="17678NISTXML-SV-IV-list-base64Binary-pattern-2-3 tokoe:valid" result="pass"/><test-case name="17679NISTXML-SV-IV-list-base64Binary-pattern-2-4 tokoe:valid" result="pass"/><test-case name="17680NISTXML-SV-IV-list-base64Binary-pattern-2-5 tokoe:valid" result="pass"/><test-case name="17681NISTSchema-SV-IV-list-base64Binary-pattern-3 tokoe:valid" result="pass"/><test-case name="17682NISTXML-SV-IV-list-base64Binary-pattern-3-1 tokoe:valid" result="pass"/><test-case name="17683NISTXML-SV-IV-list-base64Binary-pattern-3-2 tokoe:valid" result="pass"/><test-case name="17684NISTXML-SV-IV-list-base64Binary-pattern-3-3 tokoe:valid" result="pass"/><test-case name="17685NISTXML-SV-IV-list-base64Binary-pattern-3-4 tokoe:valid" result="pass"/><test-case name="17686NISTXML-SV-IV-list-base64Binary-pattern-3-5 tokoe:valid" result="pass"/><test-case name="17687NISTSchema-SV-IV-list-base64Binary-pattern-4 tokoe:valid" result="pass"/><test-case name="17688NISTXML-SV-IV-list-base64Binary-pattern-4-1 tokoe:valid" result="pass"/><test-case name="17689NISTXML-SV-IV-list-base64Binary-pattern-4-2 tokoe:valid" result="pass"/><test-case name="17690NISTXML-SV-IV-list-base64Binary-pattern-4-3 tokoe:valid" result="pass"/><test-case name="17691NISTXML-SV-IV-list-base64Binary-pattern-4-4 tokoe:valid" result="pass"/><test-case name="17692NISTXML-SV-IV-list-base64Binary-pattern-4-5 tokoe:valid" result="pass"/><test-case name="17693NISTSchema-SV-IV-list-base64Binary-pattern-5 tokoe:valid" result="pass"/><test-case name="17694NISTXML-SV-IV-list-base64Binary-pattern-5-1 tokoe:valid" result="pass"/><test-case name="17695NISTXML-SV-IV-list-base64Binary-pattern-5-2 tokoe:valid" result="pass"/><test-case name="17696NISTXML-SV-IV-list-base64Binary-pattern-5-3 tokoe:valid" result="pass"/><test-case name="17697NISTXML-SV-IV-list-base64Binary-pattern-5-4 tokoe:valid" result="pass"/><test-case name="17698NISTXML-SV-IV-list-base64Binary-pattern-5-5 tokoe:valid" result="pass"/><test-case name="17699NISTSchema-SV-IV-list-base64Binary-enumeration-1 tokoe:valid" result="pass"/><test-case name="17700NISTXML-SV-IV-list-base64Binary-enumeration-1-1 tokoe:valid" result="pass"/><test-case name="17701NISTXML-SV-IV-list-base64Binary-enumeration-1-2 tokoe:valid" result="pass"/><test-case name="17702NISTXML-SV-IV-list-base64Binary-enumeration-1-3 tokoe:valid" result="pass"/><test-case name="17703NISTXML-SV-IV-list-base64Binary-enumeration-1-4 tokoe:valid" result="pass"/><test-case name="17704NISTXML-SV-IV-list-base64Binary-enumeration-1-5 tokoe:valid" result="pass"/><test-case name="17705NISTSchema-SV-IV-list-base64Binary-enumeration-2 tokoe:valid" result="pass"/><test-case name="17706NISTXML-SV-IV-list-base64Binary-enumeration-2-1 tokoe:valid" result="pass"/><test-case name="17707NISTXML-SV-IV-list-base64Binary-enumeration-2-2 tokoe:valid" result="pass"/><test-case name="17708NISTXML-SV-IV-list-base64Binary-enumeration-2-3 tokoe:valid" result="pass"/><test-case name="17709NISTXML-SV-IV-list-base64Binary-enumeration-2-4 tokoe:valid" result="pass"/><test-case name="17710NISTXML-SV-IV-list-base64Binary-enumeration-2-5 tokoe:valid" result="pass"/><test-case name="17711NISTSchema-SV-IV-list-base64Binary-enumeration-3 tokoe:valid" result="pass"/><test-case name="17712NISTXML-SV-IV-list-base64Binary-enumeration-3-1 tokoe:valid" result="pass"/><test-case name="17713NISTXML-SV-IV-list-base64Binary-enumeration-3-2 tokoe:valid" result="pass"/><test-case name="17714NISTXML-SV-IV-list-base64Binary-enumeration-3-3 tokoe:valid" result="pass"/><test-case name="17715NISTXML-SV-IV-list-base64Binary-enumeration-3-4 tokoe:valid" result="pass"/><test-case name="17716NISTXML-SV-IV-list-base64Binary-enumeration-3-5 tokoe:valid" result="pass"/><test-case name="17717NISTSchema-SV-IV-list-base64Binary-enumeration-4 tokoe:valid" result="pass"/><test-case name="17718NISTXML-SV-IV-list-base64Binary-enumeration-4-1 tokoe:valid" result="pass"/><test-case name="17719NISTXML-SV-IV-list-base64Binary-enumeration-4-2 tokoe:valid" result="pass"/><test-case name="17720NISTXML-SV-IV-list-base64Binary-enumeration-4-3 tokoe:valid" result="pass"/><test-case name="17721NISTXML-SV-IV-list-base64Binary-enumeration-4-4 tokoe:valid" result="pass"/><test-case name="17722NISTXML-SV-IV-list-base64Binary-enumeration-4-5 tokoe:valid" result="pass"/><test-case name="17723NISTSchema-SV-IV-list-base64Binary-enumeration-5 tokoe:valid" result="pass"/><test-case name="17724NISTXML-SV-IV-list-base64Binary-enumeration-5-1 tokoe:valid" result="pass"/><test-case name="17725NISTXML-SV-IV-list-base64Binary-enumeration-5-2 tokoe:valid" result="pass"/><test-case name="17726NISTXML-SV-IV-list-base64Binary-enumeration-5-3 tokoe:valid" result="pass"/><test-case name="17727NISTXML-SV-IV-list-base64Binary-enumeration-5-4 tokoe:valid" result="pass"/><test-case name="17728NISTXML-SV-IV-list-base64Binary-enumeration-5-5 tokoe:valid" result="pass"/><test-case name="17729NISTSchema-SV-IV-list-base64Binary-whiteSpace-1 tokoe:valid" result="pass"/><test-case name="17730NISTXML-SV-IV-list-base64Binary-whiteSpace-1-1 tokoe:valid" result="pass"/><test-case name="17731NISTXML-SV-IV-list-base64Binary-whiteSpace-1-2 tokoe:valid" result="pass"/><test-case name="17732NISTXML-SV-IV-list-base64Binary-whiteSpace-1-3 tokoe:valid" result="pass"/><test-case name="17733NISTXML-SV-IV-list-base64Binary-whiteSpace-1-4 tokoe:valid" result="pass"/><test-case name="17734NISTXML-SV-IV-list-base64Binary-whiteSpace-1-5 tokoe:valid" result="pass"/><test-case name="17735NISTSchema-SV-IV-list-hexBinary-maxLength-1 tokoe:valid" result="pass"/><test-case name="17736NISTXML-SV-IV-list-hexBinary-maxLength-1-1 tokoe:valid" result="pass"/><test-case name="17737NISTXML-SV-IV-list-hexBinary-maxLength-1-2 tokoe:valid" result="pass"/><test-case name="17738NISTXML-SV-IV-list-hexBinary-maxLength-1-3 tokoe:valid" result="pass"/><test-case name="17739NISTXML-SV-IV-list-hexBinary-maxLength-1-4 tokoe:valid" result="pass"/><test-case name="17740NISTXML-SV-IV-list-hexBinary-maxLength-1-5 tokoe:valid" result="pass"/><test-case name="17741NISTSchema-SV-IV-list-hexBinary-maxLength-2 tokoe:valid" result="pass"/><test-case name="17742NISTXML-SV-IV-list-hexBinary-maxLength-2-1 tokoe:valid" result="pass"/><test-case name="17743NISTXML-SV-IV-list-hexBinary-maxLength-2-2 tokoe:valid" result="pass"/><test-case name="17744NISTXML-SV-IV-list-hexBinary-maxLength-2-3 tokoe:valid" result="pass"/><test-case name="17745NISTXML-SV-IV-list-hexBinary-maxLength-2-4 tokoe:valid" result="pass"/><test-case name="17746NISTXML-SV-IV-list-hexBinary-maxLength-2-5 tokoe:valid" result="pass"/><test-case name="17747NISTSchema-SV-IV-list-hexBinary-maxLength-3 tokoe:valid" result="pass"/><test-case name="17748NISTXML-SV-IV-list-hexBinary-maxLength-3-1 tokoe:valid" result="pass"/><test-case name="17749NISTXML-SV-IV-list-hexBinary-maxLength-3-2 tokoe:valid" result="pass"/><test-case name="17750NISTXML-SV-IV-list-hexBinary-maxLength-3-3 tokoe:valid" result="pass"/><test-case name="17751NISTXML-SV-IV-list-hexBinary-maxLength-3-4 tokoe:valid" result="pass"/><test-case name="17752NISTXML-SV-IV-list-hexBinary-maxLength-3-5 tokoe:valid" result="pass"/><test-case name="17753NISTSchema-SV-IV-list-hexBinary-maxLength-4 tokoe:valid" result="pass"/><test-case name="17754NISTXML-SV-IV-list-hexBinary-maxLength-4-1 tokoe:valid" result="pass"/><test-case name="17755NISTXML-SV-IV-list-hexBinary-maxLength-4-2 tokoe:valid" result="pass"/><test-case name="17756NISTXML-SV-IV-list-hexBinary-maxLength-4-3 tokoe:valid" result="pass"/><test-case name="17757NISTXML-SV-IV-list-hexBinary-maxLength-4-4 tokoe:valid" result="pass"/><test-case name="17758NISTXML-SV-IV-list-hexBinary-maxLength-4-5 tokoe:valid" result="pass"/><test-case name="17759NISTSchema-SV-IV-list-hexBinary-maxLength-5 tokoe:valid" result="pass"/><test-case name="17760NISTXML-SV-IV-list-hexBinary-maxLength-5-1 tokoe:valid" result="pass"/><test-case name="17761NISTXML-SV-IV-list-hexBinary-maxLength-5-2 tokoe:valid" result="pass"/><test-case name="17762NISTXML-SV-IV-list-hexBinary-maxLength-5-3 tokoe:valid" result="pass"/><test-case name="17763NISTXML-SV-IV-list-hexBinary-maxLength-5-4 tokoe:valid" result="pass"/><test-case name="17764NISTXML-SV-IV-list-hexBinary-maxLength-5-5 tokoe:valid" result="pass"/><test-case name="17765NISTSchema-SV-IV-list-hexBinary-minLength-1 tokoe:valid" result="pass"/><test-case name="17766NISTXML-SV-IV-list-hexBinary-minLength-1-1 tokoe:valid" result="pass"/><test-case name="17767NISTXML-SV-IV-list-hexBinary-minLength-1-2 tokoe:valid" result="pass"/><test-case name="17768NISTXML-SV-IV-list-hexBinary-minLength-1-3 tokoe:valid" result="pass"/><test-case name="17769NISTXML-SV-IV-list-hexBinary-minLength-1-4 tokoe:valid" result="pass"/><test-case name="17770NISTXML-SV-IV-list-hexBinary-minLength-1-5 tokoe:valid" result="pass"/><test-case name="17771NISTSchema-SV-IV-list-hexBinary-minLength-2 tokoe:valid" result="pass"/><test-case name="17772NISTXML-SV-IV-list-hexBinary-minLength-2-1 tokoe:valid" result="pass"/><test-case name="17773NISTXML-SV-IV-list-hexBinary-minLength-2-2 tokoe:valid" result="pass"/><test-case name="17774NISTXML-SV-IV-list-hexBinary-minLength-2-3 tokoe:valid" result="pass"/><test-case name="17775NISTXML-SV-IV-list-hexBinary-minLength-2-4 tokoe:valid" result="pass"/><test-case name="17776NISTXML-SV-IV-list-hexBinary-minLength-2-5 tokoe:valid" result="pass"/><test-case name="17777NISTSchema-SV-IV-list-hexBinary-minLength-3 tokoe:valid" result="pass"/><test-case name="17778NISTXML-SV-IV-list-hexBinary-minLength-3-1 tokoe:valid" result="pass"/><test-case name="17779NISTXML-SV-IV-list-hexBinary-minLength-3-2 tokoe:valid" result="pass"/><test-case name="17780NISTXML-SV-IV-list-hexBinary-minLength-3-3 tokoe:valid" result="pass"/><test-case name="17781NISTXML-SV-IV-list-hexBinary-minLength-3-4 tokoe:valid" result="pass"/><test-case name="17782NISTXML-SV-IV-list-hexBinary-minLength-3-5 tokoe:valid" result="pass"/><test-case name="17783NISTSchema-SV-IV-list-hexBinary-minLength-4 tokoe:valid" result="pass"/><test-case name="17784NISTXML-SV-IV-list-hexBinary-minLength-4-1 tokoe:valid" result="pass"/><test-case name="17785NISTXML-SV-IV-list-hexBinary-minLength-4-2 tokoe:valid" result="pass"/><test-case name="17786NISTXML-SV-IV-list-hexBinary-minLength-4-3 tokoe:valid" result="pass"/><test-case name="17787NISTXML-SV-IV-list-hexBinary-minLength-4-4 tokoe:valid" result="pass"/><test-case name="17788NISTXML-SV-IV-list-hexBinary-minLength-4-5 tokoe:valid" result="pass"/><test-case name="17789NISTSchema-SV-IV-list-hexBinary-minLength-5 tokoe:valid" result="pass"/><test-case name="17790NISTXML-SV-IV-list-hexBinary-minLength-5-1 tokoe:valid" result="pass"/><test-case name="17791NISTXML-SV-IV-list-hexBinary-minLength-5-2 tokoe:valid" result="pass"/><test-case name="17792NISTXML-SV-IV-list-hexBinary-minLength-5-3 tokoe:valid" result="pass"/><test-case name="17793NISTXML-SV-IV-list-hexBinary-minLength-5-4 tokoe:valid" result="pass"/><test-case name="17794NISTXML-SV-IV-list-hexBinary-minLength-5-5 tokoe:valid" result="pass"/><test-case name="17795NISTSchema-SV-IV-list-hexBinary-length-1 tokoe:valid" result="pass"/><test-case name="17796NISTXML-SV-IV-list-hexBinary-length-1-1 tokoe:valid" result="pass"/><test-case name="17797NISTXML-SV-IV-list-hexBinary-length-1-2 tokoe:valid" result="pass"/><test-case name="17798NISTXML-SV-IV-list-hexBinary-length-1-3 tokoe:valid" result="pass"/><test-case name="17799NISTXML-SV-IV-list-hexBinary-length-1-4 tokoe:valid" result="pass"/><test-case name="17800NISTXML-SV-IV-list-hexBinary-length-1-5 tokoe:valid" result="pass"/><test-case name="17801NISTSchema-SV-IV-list-hexBinary-length-2 tokoe:valid" result="pass"/><test-case name="17802NISTXML-SV-IV-list-hexBinary-length-2-1 tokoe:valid" result="pass"/><test-case name="17803NISTXML-SV-IV-list-hexBinary-length-2-2 tokoe:valid" result="pass"/><test-case name="17804NISTXML-SV-IV-list-hexBinary-length-2-3 tokoe:valid" result="pass"/><test-case name="17805NISTXML-SV-IV-list-hexBinary-length-2-4 tokoe:valid" result="pass"/><test-case name="17806NISTXML-SV-IV-list-hexBinary-length-2-5 tokoe:valid" result="pass"/><test-case name="17807NISTSchema-SV-IV-list-hexBinary-length-3 tokoe:valid" result="pass"/><test-case name="17808NISTXML-SV-IV-list-hexBinary-length-3-1 tokoe:valid" result="pass"/><test-case name="17809NISTXML-SV-IV-list-hexBinary-length-3-2 tokoe:valid" result="pass"/><test-case name="17810NISTXML-SV-IV-list-hexBinary-length-3-3 tokoe:valid" result="pass"/><test-case name="17811NISTXML-SV-IV-list-hexBinary-length-3-4 tokoe:valid" result="pass"/><test-case name="17812NISTXML-SV-IV-list-hexBinary-length-3-5 tokoe:valid" result="pass"/><test-case name="17813NISTSchema-SV-IV-list-hexBinary-length-4 tokoe:valid" result="pass"/><test-case name="17814NISTXML-SV-IV-list-hexBinary-length-4-1 tokoe:valid" result="pass"/><test-case name="17815NISTXML-SV-IV-list-hexBinary-length-4-2 tokoe:valid" result="pass"/><test-case name="17816NISTXML-SV-IV-list-hexBinary-length-4-3 tokoe:valid" result="pass"/><test-case name="17817NISTXML-SV-IV-list-hexBinary-length-4-4 tokoe:valid" result="pass"/><test-case name="17818NISTXML-SV-IV-list-hexBinary-length-4-5 tokoe:valid" result="pass"/><test-case name="17819NISTSchema-SV-IV-list-hexBinary-length-5 tokoe:valid" result="pass"/><test-case name="17820NISTXML-SV-IV-list-hexBinary-length-5-1 tokoe:valid" result="pass"/><test-case name="17821NISTXML-SV-IV-list-hexBinary-length-5-2 tokoe:valid" result="pass"/><test-case name="17822NISTXML-SV-IV-list-hexBinary-length-5-3 tokoe:valid" result="pass"/><test-case name="17823NISTXML-SV-IV-list-hexBinary-length-5-4 tokoe:valid" result="pass"/><test-case name="17824NISTXML-SV-IV-list-hexBinary-length-5-5 tokoe:valid" result="pass"/><test-case name="17825NISTSchema-SV-IV-list-hexBinary-pattern-1 tokoe:valid" result="pass"/><test-case name="17826NISTXML-SV-IV-list-hexBinary-pattern-1-1 tokoe:valid" result="pass"/><test-case name="17827NISTXML-SV-IV-list-hexBinary-pattern-1-2 tokoe:valid" result="pass"/><test-case name="17828NISTXML-SV-IV-list-hexBinary-pattern-1-3 tokoe:valid" result="pass"/><test-case name="17829NISTXML-SV-IV-list-hexBinary-pattern-1-4 tokoe:valid" result="pass"/><test-case name="17830NISTXML-SV-IV-list-hexBinary-pattern-1-5 tokoe:valid" result="pass"/><test-case name="17831NISTSchema-SV-IV-list-hexBinary-pattern-2 tokoe:valid" result="pass"/><test-case name="17832NISTXML-SV-IV-list-hexBinary-pattern-2-1 tokoe:valid" result="pass"/><test-case name="17833NISTXML-SV-IV-list-hexBinary-pattern-2-2 tokoe:valid" result="pass"/><test-case name="17834NISTXML-SV-IV-list-hexBinary-pattern-2-3 tokoe:valid" result="pass"/><test-case name="17835NISTXML-SV-IV-list-hexBinary-pattern-2-4 tokoe:valid" result="pass"/><test-case name="17836NISTXML-SV-IV-list-hexBinary-pattern-2-5 tokoe:valid" result="pass"/><test-case name="17837NISTSchema-SV-IV-list-hexBinary-pattern-3 tokoe:valid" result="pass"/><test-case name="17838NISTXML-SV-IV-list-hexBinary-pattern-3-1 tokoe:valid" result="pass"/><test-case name="17839NISTXML-SV-IV-list-hexBinary-pattern-3-2 tokoe:valid" result="pass"/><test-case name="17840NISTXML-SV-IV-list-hexBinary-pattern-3-3 tokoe:valid" result="pass"/><test-case name="17841NISTXML-SV-IV-list-hexBinary-pattern-3-4 tokoe:valid" result="pass"/><test-case name="17842NISTXML-SV-IV-list-hexBinary-pattern-3-5 tokoe:valid" result="pass"/><test-case name="17843NISTSchema-SV-IV-list-hexBinary-pattern-4 tokoe:valid" result="pass"/><test-case name="17844NISTXML-SV-IV-list-hexBinary-pattern-4-1 tokoe:valid" result="pass"/><test-case name="17845NISTXML-SV-IV-list-hexBinary-pattern-4-2 tokoe:valid" result="pass"/><test-case name="17846NISTXML-SV-IV-list-hexBinary-pattern-4-3 tokoe:valid" result="pass"/><test-case name="17847NISTXML-SV-IV-list-hexBinary-pattern-4-4 tokoe:valid" result="pass"/><test-case name="17848NISTXML-SV-IV-list-hexBinary-pattern-4-5 tokoe:valid" result="pass"/><test-case name="17849NISTSchema-SV-IV-list-hexBinary-pattern-5 tokoe:valid" result="pass"/><test-case name="17850NISTXML-SV-IV-list-hexBinary-pattern-5-1 tokoe:valid" result="pass"/><test-case name="17851NISTXML-SV-IV-list-hexBinary-pattern-5-2 tokoe:valid" result="pass"/><test-case name="17852NISTXML-SV-IV-list-hexBinary-pattern-5-3 tokoe:valid" result="pass"/><test-case name="17853NISTXML-SV-IV-list-hexBinary-pattern-5-4 tokoe:valid" result="pass"/><test-case name="17854NISTXML-SV-IV-list-hexBinary-pattern-5-5 tokoe:valid" result="pass"/><test-case name="17855NISTSchema-SV-IV-list-hexBinary-enumeration-1 tokoe:valid" result="pass"/><test-case name="17856NISTXML-SV-IV-list-hexBinary-enumeration-1-1 tokoe:valid" result="pass"/><test-case name="17857NISTXML-SV-IV-list-hexBinary-enumeration-1-2 tokoe:valid" result="pass"/><test-case name="17858NISTXML-SV-IV-list-hexBinary-enumeration-1-3 tokoe:valid" result="pass"/><test-case name="17859NISTXML-SV-IV-list-hexBinary-enumeration-1-4 tokoe:valid" result="pass"/><test-case name="17860NISTXML-SV-IV-list-hexBinary-enumeration-1-5 tokoe:valid" result="pass"/><test-case name="17861NISTSchema-SV-IV-list-hexBinary-enumeration-2 tokoe:valid" result="pass"/><test-case name="17862NISTXML-SV-IV-list-hexBinary-enumeration-2-1 tokoe:valid" result="pass"/><test-case name="17863NISTXML-SV-IV-list-hexBinary-enumeration-2-2 tokoe:valid" result="pass"/><test-case name="17864NISTXML-SV-IV-list-hexBinary-enumeration-2-3 tokoe:valid" result="pass"/><test-case name="17865NISTXML-SV-IV-list-hexBinary-enumeration-2-4 tokoe:valid" result="pass"/><test-case name="17866NISTXML-SV-IV-list-hexBinary-enumeration-2-5 tokoe:valid" result="pass"/><test-case name="17867NISTSchema-SV-IV-list-hexBinary-enumeration-3 tokoe:valid" result="pass"/><test-case name="17868NISTXML-SV-IV-list-hexBinary-enumeration-3-1 tokoe:valid" result="pass"/><test-case name="17869NISTXML-SV-IV-list-hexBinary-enumeration-3-2 tokoe:valid" result="pass"/><test-case name="17870NISTXML-SV-IV-list-hexBinary-enumeration-3-3 tokoe:valid" result="pass"/><test-case name="17871NISTXML-SV-IV-list-hexBinary-enumeration-3-4 tokoe:valid" result="pass"/><test-case name="17872NISTXML-SV-IV-list-hexBinary-enumeration-3-5 tokoe:valid" result="pass"/><test-case name="17873NISTSchema-SV-IV-list-hexBinary-enumeration-4 tokoe:valid" result="pass"/><test-case name="17874NISTXML-SV-IV-list-hexBinary-enumeration-4-1 tokoe:valid" result="pass"/><test-case name="17875NISTXML-SV-IV-list-hexBinary-enumeration-4-2 tokoe:valid" result="pass"/><test-case name="17876NISTXML-SV-IV-list-hexBinary-enumeration-4-3 tokoe:valid" result="pass"/><test-case name="17877NISTXML-SV-IV-list-hexBinary-enumeration-4-4 tokoe:valid" result="pass"/><test-case name="17878NISTXML-SV-IV-list-hexBinary-enumeration-4-5 tokoe:valid" result="pass"/><test-case name="17879NISTSchema-SV-IV-list-hexBinary-enumeration-5 tokoe:valid" result="pass"/><test-case name="17880NISTXML-SV-IV-list-hexBinary-enumeration-5-1 tokoe:valid" result="pass"/><test-case name="17881NISTXML-SV-IV-list-hexBinary-enumeration-5-2 tokoe:valid" result="pass"/><test-case name="17882NISTXML-SV-IV-list-hexBinary-enumeration-5-3 tokoe:valid" result="pass"/><test-case name="17883NISTXML-SV-IV-list-hexBinary-enumeration-5-4 tokoe:valid" result="pass"/><test-case name="17884NISTXML-SV-IV-list-hexBinary-enumeration-5-5 tokoe:valid" result="pass"/><test-case name="17885NISTSchema-SV-IV-list-hexBinary-whiteSpace-1 tokoe:valid" result="pass"/><test-case name="17886NISTXML-SV-IV-list-hexBinary-whiteSpace-1-1 tokoe:valid" result="pass"/><test-case name="17887NISTXML-SV-IV-list-hexBinary-whiteSpace-1-2 tokoe:valid" result="pass"/><test-case name="17888NISTXML-SV-IV-list-hexBinary-whiteSpace-1-3 tokoe:valid" result="pass"/><test-case name="17889NISTXML-SV-IV-list-hexBinary-whiteSpace-1-4 tokoe:valid" result="pass"/><test-case name="17890NISTXML-SV-IV-list-hexBinary-whiteSpace-1-5 tokoe:valid" result="pass"/><test-case name="17891NISTSchema-SV-II-list-decimal-maxLength-1 tokoe:valid" result="pass"/><test-case name="17892NISTXML-SV-II-list-decimal-maxLength-1-1 tokoe:invalid" result="pass"/><test-case name="17893NISTXML-SV-II-list-decimal-maxLength-1-2 tokoe:invalid" result="pass"/><test-case name="17894NISTXML-SV-II-list-decimal-maxLength-1-3 tokoe:invalid" result="pass"/><test-case name="17895NISTXML-SV-II-list-decimal-maxLength-1-4 tokoe:invalid" result="pass"/><test-case name="17896NISTXML-SV-II-list-decimal-maxLength-1-5 tokoe:invalid" result="pass"/><test-case name="17897NISTSchema-SV-II-list-decimal-maxLength-2 tokoe:valid" result="pass"/><test-case name="17898NISTXML-SV-II-list-decimal-maxLength-2-1 tokoe:invalid" result="pass"/><test-case name="17899NISTXML-SV-II-list-decimal-maxLength-2-2 tokoe:invalid" result="pass"/><test-case name="17900NISTXML-SV-II-list-decimal-maxLength-2-3 tokoe:invalid" result="pass"/><test-case name="17901NISTXML-SV-II-list-decimal-maxLength-2-4 tokoe:invalid" result="pass"/><test-case name="17902NISTXML-SV-II-list-decimal-maxLength-2-5 tokoe:invalid" result="pass"/><test-case name="17903NISTSchema-SV-II-list-decimal-maxLength-3 tokoe:valid" result="pass"/><test-case name="17904NISTXML-SV-II-list-decimal-maxLength-3-1 tokoe:invalid" result="pass"/><test-case name="17905NISTXML-SV-II-list-decimal-maxLength-3-2 tokoe:invalid" result="pass"/><test-case name="17906NISTXML-SV-II-list-decimal-maxLength-3-3 tokoe:invalid" result="pass"/><test-case name="17907NISTXML-SV-II-list-decimal-maxLength-3-4 tokoe:invalid" result="pass"/><test-case name="17908NISTXML-SV-II-list-decimal-maxLength-3-5 tokoe:invalid" result="pass"/><test-case name="17909NISTSchema-SV-II-list-decimal-maxLength-4 tokoe:valid" result="pass"/><test-case name="17910NISTXML-SV-II-list-decimal-maxLength-4-1 tokoe:invalid" result="pass"/><test-case name="17911NISTXML-SV-II-list-decimal-maxLength-4-2 tokoe:invalid" result="pass"/><test-case name="17912NISTXML-SV-II-list-decimal-maxLength-4-3 tokoe:invalid" result="pass"/><test-case name="17913NISTXML-SV-II-list-decimal-maxLength-4-4 tokoe:invalid" result="pass"/><test-case name="17914NISTXML-SV-II-list-decimal-maxLength-4-5 tokoe:invalid" result="pass"/><test-case name="17915NISTSchema-SV-II-list-decimal-maxLength-5 tokoe:valid" result="pass"/><test-case name="17916NISTXML-SV-II-list-decimal-maxLength-5-1 tokoe:invalid" result="pass"/><test-case name="17917NISTXML-SV-II-list-decimal-maxLength-5-2 tokoe:invalid" result="pass"/><test-case name="17918NISTXML-SV-II-list-decimal-maxLength-5-3 tokoe:invalid" result="pass"/><test-case name="17919NISTXML-SV-II-list-decimal-maxLength-5-4 tokoe:invalid" result="pass"/><test-case name="17920NISTXML-SV-II-list-decimal-maxLength-5-5 tokoe:invalid" result="pass"/><test-case name="17921NISTSchema-SV-II-list-decimal-minLength-1 tokoe:valid" result="pass"/><test-case name="17922NISTXML-SV-II-list-decimal-minLength-1-1 tokoe:invalid" result="pass"/><test-case name="17923NISTXML-SV-II-list-decimal-minLength-1-2 tokoe:invalid" result="pass"/><test-case name="17924NISTXML-SV-II-list-decimal-minLength-1-3 tokoe:invalid" result="pass"/><test-case name="17925NISTXML-SV-II-list-decimal-minLength-1-4 tokoe:invalid" result="pass"/><test-case name="17926NISTXML-SV-II-list-decimal-minLength-1-5 tokoe:invalid" result="pass"/><test-case name="17927NISTSchema-SV-II-list-decimal-minLength-2 tokoe:valid" result="pass"/><test-case name="17928NISTXML-SV-II-list-decimal-minLength-2-1 tokoe:invalid" result="pass"/><test-case name="17929NISTXML-SV-II-list-decimal-minLength-2-2 tokoe:invalid" result="pass"/><test-case name="17930NISTXML-SV-II-list-decimal-minLength-2-3 tokoe:invalid" result="pass"/><test-case name="17931NISTXML-SV-II-list-decimal-minLength-2-4 tokoe:invalid" result="pass"/><test-case name="17932NISTXML-SV-II-list-decimal-minLength-2-5 tokoe:invalid" result="pass"/><test-case name="17933NISTSchema-SV-II-list-decimal-minLength-3 tokoe:valid" result="pass"/><test-case name="17934NISTXML-SV-II-list-decimal-minLength-3-1 tokoe:invalid" result="pass"/><test-case name="17935NISTXML-SV-II-list-decimal-minLength-3-2 tokoe:invalid" result="pass"/><test-case name="17936NISTXML-SV-II-list-decimal-minLength-3-3 tokoe:invalid" result="pass"/><test-case name="17937NISTXML-SV-II-list-decimal-minLength-3-4 tokoe:invalid" result="pass"/><test-case name="17938NISTXML-SV-II-list-decimal-minLength-3-5 tokoe:invalid" result="pass"/><test-case name="17939NISTSchema-SV-II-list-decimal-minLength-4 tokoe:valid" result="pass"/><test-case name="17940NISTXML-SV-II-list-decimal-minLength-4-1 tokoe:invalid" result="pass"/><test-case name="17941NISTXML-SV-II-list-decimal-minLength-4-2 tokoe:invalid" result="pass"/><test-case name="17942NISTXML-SV-II-list-decimal-minLength-4-3 tokoe:invalid" result="pass"/><test-case name="17943NISTXML-SV-II-list-decimal-minLength-4-4 tokoe:invalid" result="pass"/><test-case name="17944NISTXML-SV-II-list-decimal-minLength-4-5 tokoe:invalid" result="pass"/><test-case name="17945NISTSchema-SV-II-list-decimal-minLength-5 tokoe:valid" result="pass"/><test-case name="17946NISTXML-SV-II-list-decimal-minLength-5-1 tokoe:invalid" result="pass"/><test-case name="17947NISTXML-SV-II-list-decimal-minLength-5-2 tokoe:invalid" result="pass"/><test-case name="17948NISTXML-SV-II-list-decimal-minLength-5-3 tokoe:invalid" result="pass"/><test-case name="17949NISTXML-SV-II-list-decimal-minLength-5-4 tokoe:invalid" result="pass"/><test-case name="17950NISTXML-SV-II-list-decimal-minLength-5-5 tokoe:invalid" result="pass"/><test-case name="17951NISTSchema-SV-II-list-decimal-length-1 tokoe:valid" result="pass"/><test-case name="17952NISTXML-SV-II-list-decimal-length-1-1 tokoe:invalid" result="pass"/><test-case name="17953NISTXML-SV-II-list-decimal-length-1-2 tokoe:invalid" result="pass"/><test-case name="17954NISTXML-SV-II-list-decimal-length-1-3 tokoe:invalid" result="pass"/><test-case name="17955NISTXML-SV-II-list-decimal-length-1-4 tokoe:invalid" result="pass"/><test-case name="17956NISTXML-SV-II-list-decimal-length-1-5 tokoe:invalid" result="pass"/><test-case name="17957NISTSchema-SV-II-list-decimal-length-2 tokoe:valid" result="pass"/><test-case name="17958NISTXML-SV-II-list-decimal-length-2-1 tokoe:invalid" result="pass"/><test-case name="17959NISTXML-SV-II-list-decimal-length-2-2 tokoe:invalid" result="pass"/><test-case name="17960NISTXML-SV-II-list-decimal-length-2-3 tokoe:invalid" result="pass"/><test-case name="17961NISTXML-SV-II-list-decimal-length-2-4 tokoe:invalid" result="pass"/><test-case name="17962NISTXML-SV-II-list-decimal-length-2-5 tokoe:invalid" result="pass"/><test-case name="17963NISTSchema-SV-II-list-decimal-length-3 tokoe:valid" result="pass"/><test-case name="17964NISTXML-SV-II-list-decimal-length-3-1 tokoe:invalid" result="pass"/><test-case name="17965NISTXML-SV-II-list-decimal-length-3-2 tokoe:invalid" result="pass"/><test-case name="17966NISTXML-SV-II-list-decimal-length-3-3 tokoe:invalid" result="pass"/><test-case name="17967NISTXML-SV-II-list-decimal-length-3-4 tokoe:invalid" result="pass"/><test-case name="17968NISTXML-SV-II-list-decimal-length-3-5 tokoe:invalid" result="pass"/><test-case name="17969NISTSchema-SV-II-list-decimal-length-4 tokoe:valid" result="pass"/><test-case name="17970NISTXML-SV-II-list-decimal-length-4-1 tokoe:invalid" result="pass"/><test-case name="17971NISTXML-SV-II-list-decimal-length-4-2 tokoe:invalid" result="pass"/><test-case name="17972NISTXML-SV-II-list-decimal-length-4-3 tokoe:invalid" result="pass"/><test-case name="17973NISTXML-SV-II-list-decimal-length-4-4 tokoe:invalid" result="pass"/><test-case name="17974NISTXML-SV-II-list-decimal-length-4-5 tokoe:invalid" result="pass"/><test-case name="17975NISTSchema-SV-II-list-decimal-length-5 tokoe:valid" result="pass"/><test-case name="17976NISTXML-SV-II-list-decimal-length-5-1 tokoe:invalid" result="pass"/><test-case name="17977NISTXML-SV-II-list-decimal-length-5-2 tokoe:invalid" result="pass"/><test-case name="17978NISTXML-SV-II-list-decimal-length-5-3 tokoe:invalid" result="pass"/><test-case name="17979NISTXML-SV-II-list-decimal-length-5-4 tokoe:invalid" result="pass"/><test-case name="17980NISTXML-SV-II-list-decimal-length-5-5 tokoe:invalid" result="pass"/><test-case name="17981NISTSchema-SV-II-list-decimal-pattern-1 tokoe:valid" result="pass"/><test-case name="17982NISTXML-SV-II-list-decimal-pattern-1-1 tokoe:invalid" result="pass"/><test-case name="17983NISTXML-SV-II-list-decimal-pattern-1-2 tokoe:invalid" result="pass"/><test-case name="17984NISTXML-SV-II-list-decimal-pattern-1-3 tokoe:invalid" result="pass"/><test-case name="17985NISTXML-SV-II-list-decimal-pattern-1-4 tokoe:invalid" result="pass"/><test-case name="17986NISTXML-SV-II-list-decimal-pattern-1-5 tokoe:invalid" result="pass"/><test-case name="17987NISTSchema-SV-II-list-decimal-pattern-2 tokoe:valid" result="pass"/><test-case name="17988NISTXML-SV-II-list-decimal-pattern-2-1 tokoe:invalid" result="pass"/><test-case name="17989NISTXML-SV-II-list-decimal-pattern-2-2 tokoe:invalid" result="pass"/><test-case name="17990NISTXML-SV-II-list-decimal-pattern-2-3 tokoe:invalid" result="pass"/><test-case name="17991NISTXML-SV-II-list-decimal-pattern-2-4 tokoe:invalid" result="pass"/><test-case name="17992NISTXML-SV-II-list-decimal-pattern-2-5 tokoe:invalid" result="pass"/><test-case name="17993NISTSchema-SV-II-list-decimal-pattern-3 tokoe:valid" result="pass"/><test-case name="17994NISTXML-SV-II-list-decimal-pattern-3-1 tokoe:invalid" result="pass"/><test-case name="17995NISTXML-SV-II-list-decimal-pattern-3-2 tokoe:invalid" result="pass"/><test-case name="17996NISTXML-SV-II-list-decimal-pattern-3-3 tokoe:invalid" result="pass"/><test-case name="17997NISTXML-SV-II-list-decimal-pattern-3-4 tokoe:invalid" result="pass"/><test-case name="17998NISTXML-SV-II-list-decimal-pattern-3-5 tokoe:invalid" result="pass"/><test-case name="17999NISTSchema-SV-II-list-decimal-pattern-4 tokoe:valid" result="pass"/><test-case name="18000NISTXML-SV-II-list-decimal-pattern-4-1 tokoe:invalid" result="pass"/><test-case name="18001NISTXML-SV-II-list-decimal-pattern-4-2 tokoe:invalid" result="pass"/><test-case name="18002NISTXML-SV-II-list-decimal-pattern-4-3 tokoe:invalid" result="pass"/><test-case name="18003NISTXML-SV-II-list-decimal-pattern-4-4 tokoe:invalid" result="pass"/><test-case name="18004NISTXML-SV-II-list-decimal-pattern-4-5 tokoe:invalid" result="pass"/><test-case name="18005NISTSchema-SV-II-list-decimal-pattern-5 tokoe:valid" result="pass"/><test-case name="18006NISTXML-SV-II-list-decimal-pattern-5-1 tokoe:invalid" result="pass"/><test-case name="18007NISTXML-SV-II-list-decimal-pattern-5-2 tokoe:invalid" result="pass"/><test-case name="18008NISTXML-SV-II-list-decimal-pattern-5-3 tokoe:invalid" result="pass"/><test-case name="18009NISTXML-SV-II-list-decimal-pattern-5-4 tokoe:invalid" result="pass"/><test-case name="18010NISTXML-SV-II-list-decimal-pattern-5-5 tokoe:invalid" result="pass"/><test-case name="18011NISTSchema-SV-II-list-decimal-enumeration-1 tokoe:valid" result="pass"/><test-case name="18012NISTXML-SV-II-list-decimal-enumeration-1-1 tokoe:invalid" result="pass"/><test-case name="18013NISTXML-SV-II-list-decimal-enumeration-1-2 tokoe:invalid" result="pass"/><test-case name="18014NISTXML-SV-II-list-decimal-enumeration-1-3 tokoe:invalid" result="pass"/><test-case name="18015NISTXML-SV-II-list-decimal-enumeration-1-4 tokoe:invalid" result="pass"/><test-case name="18016NISTXML-SV-II-list-decimal-enumeration-1-5 tokoe:invalid" result="pass"/><test-case name="18017NISTSchema-SV-II-list-decimal-enumeration-2 tokoe:valid" result="pass"/><test-case name="18018NISTXML-SV-II-list-decimal-enumeration-2-1 tokoe:invalid" result="pass"/><test-case name="18019NISTXML-SV-II-list-decimal-enumeration-2-2 tokoe:invalid" result="pass"/><test-case name="18020NISTXML-SV-II-list-decimal-enumeration-2-3 tokoe:invalid" result="pass"/><test-case name="18021NISTXML-SV-II-list-decimal-enumeration-2-4 tokoe:invalid" result="pass"/><test-case name="18022NISTXML-SV-II-list-decimal-enumeration-2-5 tokoe:invalid" result="pass"/><test-case name="18023NISTSchema-SV-II-list-decimal-enumeration-3 tokoe:valid" result="pass"/><test-case name="18024NISTXML-SV-II-list-decimal-enumeration-3-1 tokoe:invalid" result="pass"/><test-case name="18025NISTXML-SV-II-list-decimal-enumeration-3-2 tokoe:invalid" result="pass"/><test-case name="18026NISTXML-SV-II-list-decimal-enumeration-3-3 tokoe:invalid" result="pass"/><test-case name="18027NISTXML-SV-II-list-decimal-enumeration-3-4 tokoe:invalid" result="pass"/><test-case name="18028NISTXML-SV-II-list-decimal-enumeration-3-5 tokoe:invalid" result="pass"/><test-case name="18029NISTSchema-SV-II-list-decimal-enumeration-4 tokoe:valid" result="pass"/><test-case name="18030NISTXML-SV-II-list-decimal-enumeration-4-1 tokoe:invalid" result="pass"/><test-case name="18031NISTXML-SV-II-list-decimal-enumeration-4-2 tokoe:invalid" result="pass"/><test-case name="18032NISTXML-SV-II-list-decimal-enumeration-4-3 tokoe:invalid" result="pass"/><test-case name="18033NISTXML-SV-II-list-decimal-enumeration-4-4 tokoe:invalid" result="pass"/><test-case name="18034NISTXML-SV-II-list-decimal-enumeration-4-5 tokoe:invalid" result="pass"/><test-case name="18035NISTSchema-SV-II-list-decimal-enumeration-5 tokoe:valid" result="pass"/><test-case name="18036NISTXML-SV-II-list-decimal-enumeration-5-1 tokoe:invalid" result="pass"/><test-case name="18037NISTXML-SV-II-list-decimal-enumeration-5-2 tokoe:invalid" result="pass"/><test-case name="18038NISTXML-SV-II-list-decimal-enumeration-5-3 tokoe:invalid" result="pass"/><test-case name="18039NISTXML-SV-II-list-decimal-enumeration-5-4 tokoe:invalid" result="pass"/><test-case name="18040NISTXML-SV-II-list-decimal-enumeration-5-5 tokoe:invalid" result="pass"/><test-case name="18041NISTSchema-SV-II-list-integer-maxLength-1 tokoe:valid" result="pass"/><test-case name="18042NISTXML-SV-II-list-integer-maxLength-1-1 tokoe:invalid" result="pass"/><test-case name="18043NISTXML-SV-II-list-integer-maxLength-1-2 tokoe:invalid" result="pass"/><test-case name="18044NISTXML-SV-II-list-integer-maxLength-1-3 tokoe:invalid" result="pass"/><test-case name="18045NISTXML-SV-II-list-integer-maxLength-1-4 tokoe:invalid" result="pass"/><test-case name="18046NISTXML-SV-II-list-integer-maxLength-1-5 tokoe:invalid" result="pass"/><test-case name="18047NISTSchema-SV-II-list-integer-maxLength-2 tokoe:valid" result="pass"/><test-case name="18048NISTXML-SV-II-list-integer-maxLength-2-1 tokoe:invalid" result="pass"/><test-case name="18049NISTXML-SV-II-list-integer-maxLength-2-2 tokoe:invalid" result="pass"/><test-case name="18050NISTXML-SV-II-list-integer-maxLength-2-3 tokoe:invalid" result="pass"/><test-case name="18051NISTXML-SV-II-list-integer-maxLength-2-4 tokoe:invalid" result="pass"/><test-case name="18052NISTXML-SV-II-list-integer-maxLength-2-5 tokoe:invalid" result="pass"/><test-case name="18053NISTSchema-SV-II-list-integer-maxLength-3 tokoe:valid" result="pass"/><test-case name="18054NISTXML-SV-II-list-integer-maxLength-3-1 tokoe:invalid" result="pass"/><test-case name="18055NISTXML-SV-II-list-integer-maxLength-3-2 tokoe:invalid" result="pass"/><test-case name="18056NISTXML-SV-II-list-integer-maxLength-3-3 tokoe:invalid" result="pass"/><test-case name="18057NISTXML-SV-II-list-integer-maxLength-3-4 tokoe:invalid" result="pass"/><test-case name="18058NISTXML-SV-II-list-integer-maxLength-3-5 tokoe:invalid" result="pass"/><test-case name="18059NISTSchema-SV-II-list-integer-maxLength-4 tokoe:valid" result="pass"/><test-case name="18060NISTXML-SV-II-list-integer-maxLength-4-1 tokoe:invalid" result="pass"/><test-case name="18061NISTXML-SV-II-list-integer-maxLength-4-2 tokoe:invalid" result="pass"/><test-case name="18062NISTXML-SV-II-list-integer-maxLength-4-3 tokoe:invalid" result="pass"/><test-case name="18063NISTXML-SV-II-list-integer-maxLength-4-4 tokoe:invalid" result="pass"/><test-case name="18064NISTXML-SV-II-list-integer-maxLength-4-5 tokoe:invalid" result="pass"/><test-case name="18065NISTSchema-SV-II-list-integer-maxLength-5 tokoe:valid" result="pass"/><test-case name="18066NISTXML-SV-II-list-integer-maxLength-5-1 tokoe:invalid" result="pass"/><test-case name="18067NISTXML-SV-II-list-integer-maxLength-5-2 tokoe:invalid" result="pass"/><test-case name="18068NISTXML-SV-II-list-integer-maxLength-5-3 tokoe:invalid" result="pass"/><test-case name="18069NISTXML-SV-II-list-integer-maxLength-5-4 tokoe:invalid" result="pass"/><test-case name="18070NISTXML-SV-II-list-integer-maxLength-5-5 tokoe:invalid" result="pass"/><test-case name="18071NISTSchema-SV-II-list-integer-minLength-1 tokoe:valid" result="pass"/><test-case name="18072NISTXML-SV-II-list-integer-minLength-1-1 tokoe:invalid" result="pass"/><test-case name="18073NISTXML-SV-II-list-integer-minLength-1-2 tokoe:invalid" result="pass"/><test-case name="18074NISTXML-SV-II-list-integer-minLength-1-3 tokoe:invalid" result="pass"/><test-case name="18075NISTXML-SV-II-list-integer-minLength-1-4 tokoe:invalid" result="pass"/><test-case name="18076NISTXML-SV-II-list-integer-minLength-1-5 tokoe:invalid" result="pass"/><test-case name="18077NISTSchema-SV-II-list-integer-minLength-2 tokoe:valid" result="pass"/><test-case name="18078NISTXML-SV-II-list-integer-minLength-2-1 tokoe:invalid" result="pass"/><test-case name="18079NISTXML-SV-II-list-integer-minLength-2-2 tokoe:invalid" result="pass"/><test-case name="18080NISTXML-SV-II-list-integer-minLength-2-3 tokoe:invalid" result="pass"/><test-case name="18081NISTXML-SV-II-list-integer-minLength-2-4 tokoe:invalid" result="pass"/><test-case name="18082NISTXML-SV-II-list-integer-minLength-2-5 tokoe:invalid" result="pass"/><test-case name="18083NISTSchema-SV-II-list-integer-minLength-3 tokoe:valid" result="pass"/><test-case name="18084NISTXML-SV-II-list-integer-minLength-3-1 tokoe:invalid" result="pass"/><test-case name="18085NISTXML-SV-II-list-integer-minLength-3-2 tokoe:invalid" result="pass"/><test-case name="18086NISTXML-SV-II-list-integer-minLength-3-3 tokoe:invalid" result="pass"/><test-case name="18087NISTXML-SV-II-list-integer-minLength-3-4 tokoe:invalid" result="pass"/><test-case name="18088NISTXML-SV-II-list-integer-minLength-3-5 tokoe:invalid" result="pass"/><test-case name="18089NISTSchema-SV-II-list-integer-minLength-4 tokoe:valid" result="pass"/><test-case name="18090NISTXML-SV-II-list-integer-minLength-4-1 tokoe:invalid" result="pass"/><test-case name="18091NISTXML-SV-II-list-integer-minLength-4-2 tokoe:invalid" result="pass"/><test-case name="18092NISTXML-SV-II-list-integer-minLength-4-3 tokoe:invalid" result="pass"/><test-case name="18093NISTXML-SV-II-list-integer-minLength-4-4 tokoe:invalid" result="pass"/><test-case name="18094NISTXML-SV-II-list-integer-minLength-4-5 tokoe:invalid" result="pass"/><test-case name="18095NISTSchema-SV-II-list-integer-minLength-5 tokoe:valid" result="pass"/><test-case name="18096NISTXML-SV-II-list-integer-minLength-5-1 tokoe:invalid" result="pass"/><test-case name="18097NISTXML-SV-II-list-integer-minLength-5-2 tokoe:invalid" result="pass"/><test-case name="18098NISTXML-SV-II-list-integer-minLength-5-3 tokoe:invalid" result="pass"/><test-case name="18099NISTXML-SV-II-list-integer-minLength-5-4 tokoe:invalid" result="pass"/><test-case name="18100NISTXML-SV-II-list-integer-minLength-5-5 tokoe:invalid" result="pass"/><test-case name="18101NISTSchema-SV-II-list-integer-length-1 tokoe:valid" result="pass"/><test-case name="18102NISTXML-SV-II-list-integer-length-1-1 tokoe:invalid" result="pass"/><test-case name="18103NISTXML-SV-II-list-integer-length-1-2 tokoe:invalid" result="pass"/><test-case name="18104NISTXML-SV-II-list-integer-length-1-3 tokoe:invalid" result="pass"/><test-case name="18105NISTXML-SV-II-list-integer-length-1-4 tokoe:invalid" result="pass"/><test-case name="18106NISTXML-SV-II-list-integer-length-1-5 tokoe:invalid" result="pass"/><test-case name="18107NISTSchema-SV-II-list-integer-length-2 tokoe:valid" result="pass"/><test-case name="18108NISTXML-SV-II-list-integer-length-2-1 tokoe:invalid" result="pass"/><test-case name="18109NISTXML-SV-II-list-integer-length-2-2 tokoe:invalid" result="pass"/><test-case name="18110NISTXML-SV-II-list-integer-length-2-3 tokoe:invalid" result="pass"/><test-case name="18111NISTXML-SV-II-list-integer-length-2-4 tokoe:invalid" result="pass"/><test-case name="18112NISTXML-SV-II-list-integer-length-2-5 tokoe:invalid" result="pass"/><test-case name="18113NISTSchema-SV-II-list-integer-length-3 tokoe:valid" result="pass"/><test-case name="18114NISTXML-SV-II-list-integer-length-3-1 tokoe:invalid" result="pass"/><test-case name="18115NISTXML-SV-II-list-integer-length-3-2 tokoe:invalid" result="pass"/><test-case name="18116NISTXML-SV-II-list-integer-length-3-3 tokoe:invalid" result="pass"/><test-case name="18117NISTXML-SV-II-list-integer-length-3-4 tokoe:invalid" result="pass"/><test-case name="18118NISTXML-SV-II-list-integer-length-3-5 tokoe:invalid" result="pass"/><test-case name="18119NISTSchema-SV-II-list-integer-length-4 tokoe:valid" result="pass"/><test-case name="18120NISTXML-SV-II-list-integer-length-4-1 tokoe:invalid" result="pass"/><test-case name="18121NISTXML-SV-II-list-integer-length-4-2 tokoe:invalid" result="pass"/><test-case name="18122NISTXML-SV-II-list-integer-length-4-3 tokoe:invalid" result="pass"/><test-case name="18123NISTXML-SV-II-list-integer-length-4-4 tokoe:invalid" result="pass"/><test-case name="18124NISTXML-SV-II-list-integer-length-4-5 tokoe:invalid" result="pass"/><test-case name="18125NISTSchema-SV-II-list-integer-length-5 tokoe:valid" result="pass"/><test-case name="18126NISTXML-SV-II-list-integer-length-5-1 tokoe:invalid" result="pass"/><test-case name="18127NISTXML-SV-II-list-integer-length-5-2 tokoe:invalid" result="pass"/><test-case name="18128NISTXML-SV-II-list-integer-length-5-3 tokoe:invalid" result="pass"/><test-case name="18129NISTXML-SV-II-list-integer-length-5-4 tokoe:invalid" result="pass"/><test-case name="18130NISTXML-SV-II-list-integer-length-5-5 tokoe:invalid" result="pass"/><test-case name="18131NISTSchema-SV-II-list-integer-pattern-1 tokoe:valid" result="pass"/><test-case name="18132NISTXML-SV-II-list-integer-pattern-1-1 tokoe:invalid" result="pass"/><test-case name="18133NISTXML-SV-II-list-integer-pattern-1-2 tokoe:invalid" result="pass"/><test-case name="18134NISTXML-SV-II-list-integer-pattern-1-3 tokoe:invalid" result="pass"/><test-case name="18135NISTXML-SV-II-list-integer-pattern-1-4 tokoe:invalid" result="pass"/><test-case name="18136NISTXML-SV-II-list-integer-pattern-1-5 tokoe:invalid" result="pass"/><test-case name="18137NISTSchema-SV-II-list-integer-pattern-2 tokoe:valid" result="pass"/><test-case name="18138NISTXML-SV-II-list-integer-pattern-2-1 tokoe:invalid" result="pass"/><test-case name="18139NISTXML-SV-II-list-integer-pattern-2-2 tokoe:invalid" result="pass"/><test-case name="18140NISTXML-SV-II-list-integer-pattern-2-3 tokoe:invalid" result="pass"/><test-case name="18141NISTXML-SV-II-list-integer-pattern-2-4 tokoe:invalid" result="pass"/><test-case name="18142NISTXML-SV-II-list-integer-pattern-2-5 tokoe:invalid" result="pass"/><test-case name="18143NISTSchema-SV-II-list-integer-pattern-3 tokoe:valid" result="pass"/><test-case name="18144NISTXML-SV-II-list-integer-pattern-3-1 tokoe:invalid" result="pass"/><test-case name="18145NISTXML-SV-II-list-integer-pattern-3-2 tokoe:invalid" result="pass"/><test-case name="18146NISTXML-SV-II-list-integer-pattern-3-3 tokoe:invalid" result="pass"/><test-case name="18147NISTXML-SV-II-list-integer-pattern-3-4 tokoe:invalid" result="pass"/><test-case name="18148NISTXML-SV-II-list-integer-pattern-3-5 tokoe:invalid" result="pass"/><test-case name="18149NISTSchema-SV-II-list-integer-pattern-4 tokoe:valid" result="pass"/><test-case name="18150NISTXML-SV-II-list-integer-pattern-4-1 tokoe:invalid" result="pass"/><test-case name="18151NISTXML-SV-II-list-integer-pattern-4-2 tokoe:invalid" result="pass"/><test-case name="18152NISTXML-SV-II-list-integer-pattern-4-3 tokoe:invalid" result="pass"/><test-case name="18153NISTXML-SV-II-list-integer-pattern-4-4 tokoe:invalid" result="pass"/><test-case name="18154NISTXML-SV-II-list-integer-pattern-4-5 tokoe:invalid" result="pass"/><test-case name="18155NISTSchema-SV-II-list-integer-pattern-5 tokoe:valid" result="pass"/><test-case name="18156NISTXML-SV-II-list-integer-pattern-5-1 tokoe:invalid" result="pass"/><test-case name="18157NISTXML-SV-II-list-integer-pattern-5-2 tokoe:invalid" result="pass"/><test-case name="18158NISTXML-SV-II-list-integer-pattern-5-3 tokoe:invalid" result="pass"/><test-case name="18159NISTXML-SV-II-list-integer-pattern-5-4 tokoe:invalid" result="pass"/><test-case name="18160NISTXML-SV-II-list-integer-pattern-5-5 tokoe:invalid" result="pass"/><test-case name="18161NISTSchema-SV-II-list-integer-enumeration-1 tokoe:valid" result="pass"/><test-case name="18162NISTXML-SV-II-list-integer-enumeration-1-1 tokoe:invalid" result="pass"/><test-case name="18163NISTXML-SV-II-list-integer-enumeration-1-2 tokoe:invalid" result="pass"/><test-case name="18164NISTXML-SV-II-list-integer-enumeration-1-3 tokoe:invalid" result="pass"/><test-case name="18165NISTXML-SV-II-list-integer-enumeration-1-4 tokoe:invalid" result="pass"/><test-case name="18166NISTXML-SV-II-list-integer-enumeration-1-5 tokoe:invalid" result="pass"/><test-case name="18167NISTSchema-SV-II-list-integer-enumeration-2 tokoe:valid" result="pass"/><test-case name="18168NISTXML-SV-II-list-integer-enumeration-2-1 tokoe:invalid" result="pass"/><test-case name="18169NISTXML-SV-II-list-integer-enumeration-2-2 tokoe:invalid" result="pass"/><test-case name="18170NISTXML-SV-II-list-integer-enumeration-2-3 tokoe:invalid" result="pass"/><test-case name="18171NISTXML-SV-II-list-integer-enumeration-2-4 tokoe:invalid" result="pass"/><test-case name="18172NISTXML-SV-II-list-integer-enumeration-2-5 tokoe:invalid" result="pass"/><test-case name="18173NISTSchema-SV-II-list-integer-enumeration-3 tokoe:valid" result="pass"/><test-case name="18174NISTXML-SV-II-list-integer-enumeration-3-1 tokoe:invalid" result="pass"/><test-case name="18175NISTXML-SV-II-list-integer-enumeration-3-2 tokoe:invalid" result="pass"/><test-case name="18176NISTXML-SV-II-list-integer-enumeration-3-3 tokoe:invalid" result="pass"/><test-case name="18177NISTXML-SV-II-list-integer-enumeration-3-4 tokoe:invalid" result="pass"/><test-case name="18178NISTXML-SV-II-list-integer-enumeration-3-5 tokoe:invalid" result="pass"/><test-case name="18179NISTSchema-SV-II-list-integer-enumeration-4 tokoe:valid" result="pass"/><test-case name="18180NISTXML-SV-II-list-integer-enumeration-4-1 tokoe:invalid" result="pass"/><test-case name="18181NISTXML-SV-II-list-integer-enumeration-4-2 tokoe:invalid" result="pass"/><test-case name="18182NISTXML-SV-II-list-integer-enumeration-4-3 tokoe:invalid" result="pass"/><test-case name="18183NISTXML-SV-II-list-integer-enumeration-4-4 tokoe:invalid" result="pass"/><test-case name="18184NISTXML-SV-II-list-integer-enumeration-4-5 tokoe:invalid" result="pass"/><test-case name="18185NISTSchema-SV-II-list-integer-enumeration-5 tokoe:valid" result="pass"/><test-case name="18186NISTXML-SV-II-list-integer-enumeration-5-1 tokoe:invalid" result="pass"/><test-case name="18187NISTXML-SV-II-list-integer-enumeration-5-2 tokoe:invalid" result="pass"/><test-case name="18188NISTXML-SV-II-list-integer-enumeration-5-3 tokoe:invalid" result="pass"/><test-case name="18189NISTXML-SV-II-list-integer-enumeration-5-4 tokoe:invalid" result="pass"/><test-case name="18190NISTXML-SV-II-list-integer-enumeration-5-5 tokoe:invalid" result="pass"/><test-case name="18191NISTSchema-SV-II-list-nonPositiveInteger-maxLength-1 tokoe:valid" result="pass"/><test-case name="18192NISTXML-SV-II-list-nonPositiveInteger-maxLength-1-1 tokoe:invalid" result="pass"/><test-case name="18193NISTXML-SV-II-list-nonPositiveInteger-maxLength-1-2 tokoe:invalid" result="pass"/><test-case name="18194NISTXML-SV-II-list-nonPositiveInteger-maxLength-1-3 tokoe:invalid" result="pass"/><test-case name="18195NISTXML-SV-II-list-nonPositiveInteger-maxLength-1-4 tokoe:invalid" result="pass"/><test-case name="18196NISTXML-SV-II-list-nonPositiveInteger-maxLength-1-5 tokoe:invalid" result="pass"/><test-case name="18197NISTSchema-SV-II-list-nonPositiveInteger-maxLength-2 tokoe:valid" result="pass"/><test-case name="18198NISTXML-SV-II-list-nonPositiveInteger-maxLength-2-1 tokoe:invalid" result="pass"/><test-case name="18199NISTXML-SV-II-list-nonPositiveInteger-maxLength-2-2 tokoe:invalid" result="pass"/><test-case name="18200NISTXML-SV-II-list-nonPositiveInteger-maxLength-2-3 tokoe:invalid" result="pass"/><test-case name="18201NISTXML-SV-II-list-nonPositiveInteger-maxLength-2-4 tokoe:invalid" result="pass"/><test-case name="18202NISTXML-SV-II-list-nonPositiveInteger-maxLength-2-5 tokoe:invalid" result="pass"/><test-case name="18203NISTSchema-SV-II-list-nonPositiveInteger-maxLength-3 tokoe:valid" result="pass"/><test-case name="18204NISTXML-SV-II-list-nonPositiveInteger-maxLength-3-1 tokoe:invalid" result="pass"/><test-case name="18205NISTXML-SV-II-list-nonPositiveInteger-maxLength-3-2 tokoe:invalid" result="pass"/><test-case name="18206NISTXML-SV-II-list-nonPositiveInteger-maxLength-3-3 tokoe:invalid" result="pass"/><test-case name="18207NISTXML-SV-II-list-nonPositiveInteger-maxLength-3-4 tokoe:invalid" result="pass"/><test-case name="18208NISTXML-SV-II-list-nonPositiveInteger-maxLength-3-5 tokoe:invalid" result="pass"/><test-case name="18209NISTSchema-SV-II-list-nonPositiveInteger-maxLength-4 tokoe:valid" result="pass"/><test-case name="18210NISTXML-SV-II-list-nonPositiveInteger-maxLength-4-1 tokoe:invalid" result="pass"/><test-case name="18211NISTXML-SV-II-list-nonPositiveInteger-maxLength-4-2 tokoe:invalid" result="pass"/><test-case name="18212NISTXML-SV-II-list-nonPositiveInteger-maxLength-4-3 tokoe:invalid" result="pass"/><test-case name="18213NISTXML-SV-II-list-nonPositiveInteger-maxLength-4-4 tokoe:invalid" result="pass"/><test-case name="18214NISTXML-SV-II-list-nonPositiveInteger-maxLength-4-5 tokoe:invalid" result="pass"/><test-case name="18215NISTSchema-SV-II-list-nonPositiveInteger-maxLength-5 tokoe:valid" result="pass"/><test-case name="18216NISTXML-SV-II-list-nonPositiveInteger-maxLength-5-1 tokoe:invalid" result="pass"/><test-case name="18217NISTXML-SV-II-list-nonPositiveInteger-maxLength-5-2 tokoe:invalid" result="pass"/><test-case name="18218NISTXML-SV-II-list-nonPositiveInteger-maxLength-5-3 tokoe:invalid" result="pass"/><test-case name="18219NISTXML-SV-II-list-nonPositiveInteger-maxLength-5-4 tokoe:invalid" result="pass"/><test-case name="18220NISTXML-SV-II-list-nonPositiveInteger-maxLength-5-5 tokoe:invalid" result="pass"/><test-case name="18221NISTSchema-SV-II-list-nonPositiveInteger-minLength-1 tokoe:valid" result="pass"/><test-case name="18222NISTXML-SV-II-list-nonPositiveInteger-minLength-1-1 tokoe:invalid" result="pass"/><test-case name="18223NISTXML-SV-II-list-nonPositiveInteger-minLength-1-2 tokoe:invalid" result="pass"/><test-case name="18224NISTXML-SV-II-list-nonPositiveInteger-minLength-1-3 tokoe:invalid" result="pass"/><test-case name="18225NISTXML-SV-II-list-nonPositiveInteger-minLength-1-4 tokoe:invalid" result="pass"/><test-case name="18226NISTXML-SV-II-list-nonPositiveInteger-minLength-1-5 tokoe:invalid" result="pass"/><test-case name="18227NISTSchema-SV-II-list-nonPositiveInteger-minLength-2 tokoe:valid" result="pass"/><test-case name="18228NISTXML-SV-II-list-nonPositiveInteger-minLength-2-1 tokoe:invalid" result="pass"/><test-case name="18229NISTXML-SV-II-list-nonPositiveInteger-minLength-2-2 tokoe:invalid" result="pass"/><test-case name="18230NISTXML-SV-II-list-nonPositiveInteger-minLength-2-3 tokoe:invalid" result="pass"/><test-case name="18231NISTXML-SV-II-list-nonPositiveInteger-minLength-2-4 tokoe:invalid" result="pass"/><test-case name="18232NISTXML-SV-II-list-nonPositiveInteger-minLength-2-5 tokoe:invalid" result="pass"/><test-case name="18233NISTSchema-SV-II-list-nonPositiveInteger-minLength-3 tokoe:valid" result="pass"/><test-case name="18234NISTXML-SV-II-list-nonPositiveInteger-minLength-3-1 tokoe:invalid" result="pass"/><test-case name="18235NISTXML-SV-II-list-nonPositiveInteger-minLength-3-2 tokoe:invalid" result="pass"/><test-case name="18236NISTXML-SV-II-list-nonPositiveInteger-minLength-3-3 tokoe:invalid" result="pass"/><test-case name="18237NISTXML-SV-II-list-nonPositiveInteger-minLength-3-4 tokoe:invalid" result="pass"/><test-case name="18238NISTXML-SV-II-list-nonPositiveInteger-minLength-3-5 tokoe:invalid" result="pass"/><test-case name="18239NISTSchema-SV-II-list-nonPositiveInteger-minLength-4 tokoe:valid" result="pass"/><test-case name="18240NISTXML-SV-II-list-nonPositiveInteger-minLength-4-1 tokoe:invalid" result="pass"/><test-case name="18241NISTXML-SV-II-list-nonPositiveInteger-minLength-4-2 tokoe:invalid" result="pass"/><test-case name="18242NISTXML-SV-II-list-nonPositiveInteger-minLength-4-3 tokoe:invalid" result="pass"/><test-case name="18243NISTXML-SV-II-list-nonPositiveInteger-minLength-4-4 tokoe:invalid" result="pass"/><test-case name="18244NISTXML-SV-II-list-nonPositiveInteger-minLength-4-5 tokoe:invalid" result="pass"/><test-case name="18245NISTSchema-SV-II-list-nonPositiveInteger-minLength-5 tokoe:valid" result="pass"/><test-case name="18246NISTXML-SV-II-list-nonPositiveInteger-minLength-5-1 tokoe:invalid" result="pass"/><test-case name="18247NISTXML-SV-II-list-nonPositiveInteger-minLength-5-2 tokoe:invalid" result="pass"/><test-case name="18248NISTXML-SV-II-list-nonPositiveInteger-minLength-5-3 tokoe:invalid" result="pass"/><test-case name="18249NISTXML-SV-II-list-nonPositiveInteger-minLength-5-4 tokoe:invalid" result="pass"/><test-case name="18250NISTXML-SV-II-list-nonPositiveInteger-minLength-5-5 tokoe:invalid" result="pass"/><test-case name="18251NISTSchema-SV-II-list-nonPositiveInteger-length-1 tokoe:valid" result="pass"/><test-case name="18252NISTXML-SV-II-list-nonPositiveInteger-length-1-1 tokoe:invalid" result="pass"/><test-case name="18253NISTXML-SV-II-list-nonPositiveInteger-length-1-2 tokoe:invalid" result="pass"/><test-case name="18254NISTXML-SV-II-list-nonPositiveInteger-length-1-3 tokoe:invalid" result="pass"/><test-case name="18255NISTXML-SV-II-list-nonPositiveInteger-length-1-4 tokoe:invalid" result="pass"/><test-case name="18256NISTXML-SV-II-list-nonPositiveInteger-length-1-5 tokoe:invalid" result="pass"/><test-case name="18257NISTSchema-SV-II-list-nonPositiveInteger-length-2 tokoe:valid" result="pass"/><test-case name="18258NISTXML-SV-II-list-nonPositiveInteger-length-2-1 tokoe:invalid" result="pass"/><test-case name="18259NISTXML-SV-II-list-nonPositiveInteger-length-2-2 tokoe:invalid" result="pass"/><test-case name="18260NISTXML-SV-II-list-nonPositiveInteger-length-2-3 tokoe:invalid" result="pass"/><test-case name="18261NISTXML-SV-II-list-nonPositiveInteger-length-2-4 tokoe:invalid" result="pass"/><test-case name="18262NISTXML-SV-II-list-nonPositiveInteger-length-2-5 tokoe:invalid" result="pass"/><test-case name="18263NISTSchema-SV-II-list-nonPositiveInteger-length-3 tokoe:valid" result="pass"/><test-case name="18264NISTXML-SV-II-list-nonPositiveInteger-length-3-1 tokoe:invalid" result="pass"/><test-case name="18265NISTXML-SV-II-list-nonPositiveInteger-length-3-2 tokoe:invalid" result="pass"/><test-case name="18266NISTXML-SV-II-list-nonPositiveInteger-length-3-3 tokoe:invalid" result="pass"/><test-case name="18267NISTXML-SV-II-list-nonPositiveInteger-length-3-4 tokoe:invalid" result="pass"/><test-case name="18268NISTXML-SV-II-list-nonPositiveInteger-length-3-5 tokoe:invalid" result="pass"/><test-case name="18269NISTSchema-SV-II-list-nonPositiveInteger-length-4 tokoe:valid" result="pass"/><test-case name="18270NISTXML-SV-II-list-nonPositiveInteger-length-4-1 tokoe:invalid" result="pass"/><test-case name="18271NISTXML-SV-II-list-nonPositiveInteger-length-4-2 tokoe:invalid" result="pass"/><test-case name="18272NISTXML-SV-II-list-nonPositiveInteger-length-4-3 tokoe:invalid" result="pass"/><test-case name="18273NISTXML-SV-II-list-nonPositiveInteger-length-4-4 tokoe:invalid" result="pass"/><test-case name="18274NISTXML-SV-II-list-nonPositiveInteger-length-4-5 tokoe:invalid" result="pass"/><test-case name="18275NISTSchema-SV-II-list-nonPositiveInteger-length-5 tokoe:valid" result="pass"/><test-case name="18276NISTXML-SV-II-list-nonPositiveInteger-length-5-1 tokoe:invalid" result="pass"/><test-case name="18277NISTXML-SV-II-list-nonPositiveInteger-length-5-2 tokoe:invalid" result="pass"/><test-case name="18278NISTXML-SV-II-list-nonPositiveInteger-length-5-3 tokoe:invalid" result="pass"/><test-case name="18279NISTXML-SV-II-list-nonPositiveInteger-length-5-4 tokoe:invalid" result="pass"/><test-case name="18280NISTXML-SV-II-list-nonPositiveInteger-length-5-5 tokoe:invalid" result="pass"/><test-case name="18281NISTSchema-SV-II-list-nonPositiveInteger-pattern-1 tokoe:valid" result="pass"/><test-case name="18282NISTXML-SV-II-list-nonPositiveInteger-pattern-1-1 tokoe:invalid" result="pass"/><test-case name="18283NISTXML-SV-II-list-nonPositiveInteger-pattern-1-2 tokoe:invalid" result="pass"/><test-case name="18284NISTXML-SV-II-list-nonPositiveInteger-pattern-1-3 tokoe:invalid" result="pass"/><test-case name="18285NISTXML-SV-II-list-nonPositiveInteger-pattern-1-4 tokoe:invalid" result="pass"/><test-case name="18286NISTXML-SV-II-list-nonPositiveInteger-pattern-1-5 tokoe:invalid" result="pass"/><test-case name="18287NISTSchema-SV-II-list-nonPositiveInteger-pattern-2 tokoe:valid" result="pass"/><test-case name="18288NISTXML-SV-II-list-nonPositiveInteger-pattern-2-1 tokoe:invalid" result="pass"/><test-case name="18289NISTXML-SV-II-list-nonPositiveInteger-pattern-2-2 tokoe:invalid" result="pass"/><test-case name="18290NISTXML-SV-II-list-nonPositiveInteger-pattern-2-3 tokoe:invalid" result="pass"/><test-case name="18291NISTXML-SV-II-list-nonPositiveInteger-pattern-2-4 tokoe:invalid" result="pass"/><test-case name="18292NISTXML-SV-II-list-nonPositiveInteger-pattern-2-5 tokoe:invalid" result="pass"/><test-case name="18293NISTSchema-SV-II-list-nonPositiveInteger-pattern-3 tokoe:valid" result="pass"/><test-case name="18294NISTXML-SV-II-list-nonPositiveInteger-pattern-3-1 tokoe:invalid" result="pass"/><test-case name="18295NISTXML-SV-II-list-nonPositiveInteger-pattern-3-2 tokoe:invalid" result="pass"/><test-case name="18296NISTXML-SV-II-list-nonPositiveInteger-pattern-3-3 tokoe:invalid" result="pass"/><test-case name="18297NISTXML-SV-II-list-nonPositiveInteger-pattern-3-4 tokoe:invalid" result="pass"/><test-case name="18298NISTXML-SV-II-list-nonPositiveInteger-pattern-3-5 tokoe:invalid" result="pass"/><test-case name="18299NISTSchema-SV-II-list-nonPositiveInteger-pattern-4 tokoe:valid" result="pass"/><test-case name="18300NISTXML-SV-II-list-nonPositiveInteger-pattern-4-1 tokoe:invalid" result="pass"/><test-case name="18301NISTXML-SV-II-list-nonPositiveInteger-pattern-4-2 tokoe:invalid" result="pass"/><test-case name="18302NISTXML-SV-II-list-nonPositiveInteger-pattern-4-3 tokoe:invalid" result="pass"/><test-case name="18303NISTXML-SV-II-list-nonPositiveInteger-pattern-4-4 tokoe:invalid" result="pass"/><test-case name="18304NISTXML-SV-II-list-nonPositiveInteger-pattern-4-5 tokoe:invalid" result="pass"/><test-case name="18305NISTSchema-SV-II-list-nonPositiveInteger-pattern-5 tokoe:valid" result="pass"/><test-case name="18306NISTXML-SV-II-list-nonPositiveInteger-pattern-5-1 tokoe:invalid" result="pass"/><test-case name="18307NISTXML-SV-II-list-nonPositiveInteger-pattern-5-2 tokoe:invalid" result="pass"/><test-case name="18308NISTXML-SV-II-list-nonPositiveInteger-pattern-5-3 tokoe:invalid" result="pass"/><test-case name="18309NISTXML-SV-II-list-nonPositiveInteger-pattern-5-4 tokoe:invalid" result="pass"/><test-case name="18310NISTXML-SV-II-list-nonPositiveInteger-pattern-5-5 tokoe:invalid" result="pass"/><test-case name="18311NISTSchema-SV-II-list-nonPositiveInteger-enumeration-1 tokoe:valid" result="pass"/><test-case name="18312NISTXML-SV-II-list-nonPositiveInteger-enumeration-1-1 tokoe:invalid" result="pass"/><test-case name="18313NISTXML-SV-II-list-nonPositiveInteger-enumeration-1-2 tokoe:invalid" result="pass"/><test-case name="18314NISTXML-SV-II-list-nonPositiveInteger-enumeration-1-3 tokoe:invalid" result="pass"/><test-case name="18315NISTXML-SV-II-list-nonPositiveInteger-enumeration-1-4 tokoe:invalid" result="pass"/><test-case name="18316NISTXML-SV-II-list-nonPositiveInteger-enumeration-1-5 tokoe:invalid" result="pass"/><test-case name="18317NISTSchema-SV-II-list-nonPositiveInteger-enumeration-2 tokoe:valid" result="pass"/><test-case name="18318NISTXML-SV-II-list-nonPositiveInteger-enumeration-2-1 tokoe:invalid" result="pass"/><test-case name="18319NISTXML-SV-II-list-nonPositiveInteger-enumeration-2-2 tokoe:invalid" result="pass"/><test-case name="18320NISTXML-SV-II-list-nonPositiveInteger-enumeration-2-3 tokoe:invalid" result="pass"/><test-case name="18321NISTXML-SV-II-list-nonPositiveInteger-enumeration-2-4 tokoe:invalid" result="pass"/><test-case name="18322NISTXML-SV-II-list-nonPositiveInteger-enumeration-2-5 tokoe:invalid" result="pass"/><test-case name="18323NISTSchema-SV-II-list-nonPositiveInteger-enumeration-3 tokoe:valid" result="pass"/><test-case name="18324NISTXML-SV-II-list-nonPositiveInteger-enumeration-3-1 tokoe:invalid" result="pass"/><test-case name="18325NISTXML-SV-II-list-nonPositiveInteger-enumeration-3-2 tokoe:invalid" result="pass"/><test-case name="18326NISTXML-SV-II-list-nonPositiveInteger-enumeration-3-3 tokoe:invalid" result="pass"/><test-case name="18327NISTXML-SV-II-list-nonPositiveInteger-enumeration-3-4 tokoe:invalid" result="pass"/><test-case name="18328NISTXML-SV-II-list-nonPositiveInteger-enumeration-3-5 tokoe:invalid" result="pass"/><test-case name="18329NISTSchema-SV-II-list-nonPositiveInteger-enumeration-4 tokoe:valid" result="pass"/><test-case name="18330NISTXML-SV-II-list-nonPositiveInteger-enumeration-4-1 tokoe:invalid" result="pass"/><test-case name="18331NISTXML-SV-II-list-nonPositiveInteger-enumeration-4-2 tokoe:invalid" result="pass"/><test-case name="18332NISTXML-SV-II-list-nonPositiveInteger-enumeration-4-3 tokoe:invalid" result="pass"/><test-case name="18333NISTXML-SV-II-list-nonPositiveInteger-enumeration-4-4 tokoe:invalid" result="pass"/><test-case name="18334NISTXML-SV-II-list-nonPositiveInteger-enumeration-4-5 tokoe:invalid" result="pass"/><test-case name="18335NISTSchema-SV-II-list-nonPositiveInteger-enumeration-5 tokoe:valid" result="pass"/><test-case name="18336NISTXML-SV-II-list-nonPositiveInteger-enumeration-5-1 tokoe:invalid" result="pass"/><test-case name="18337NISTXML-SV-II-list-nonPositiveInteger-enumeration-5-2 tokoe:invalid" result="pass"/><test-case name="18338NISTXML-SV-II-list-nonPositiveInteger-enumeration-5-3 tokoe:invalid" result="pass"/><test-case name="18339NISTXML-SV-II-list-nonPositiveInteger-enumeration-5-4 tokoe:invalid" result="pass"/><test-case name="18340NISTXML-SV-II-list-nonPositiveInteger-enumeration-5-5 tokoe:invalid" result="pass"/><test-case name="18341NISTSchema-SV-II-list-negativeInteger-maxLength-1 tokoe:valid" result="pass"/><test-case name="18342NISTXML-SV-II-list-negativeInteger-maxLength-1-1 tokoe:invalid" result="pass"/><test-case name="18343NISTXML-SV-II-list-negativeInteger-maxLength-1-2 tokoe:invalid" result="pass"/><test-case name="18344NISTXML-SV-II-list-negativeInteger-maxLength-1-3 tokoe:invalid" result="pass"/><test-case name="18345NISTXML-SV-II-list-negativeInteger-maxLength-1-4 tokoe:invalid" result="pass"/><test-case name="18346NISTXML-SV-II-list-negativeInteger-maxLength-1-5 tokoe:invalid" result="pass"/><test-case name="18347NISTSchema-SV-II-list-negativeInteger-maxLength-2 tokoe:valid" result="pass"/><test-case name="18348NISTXML-SV-II-list-negativeInteger-maxLength-2-1 tokoe:invalid" result="pass"/><test-case name="18349NISTXML-SV-II-list-negativeInteger-maxLength-2-2 tokoe:invalid" result="pass"/><test-case name="18350NISTXML-SV-II-list-negativeInteger-maxLength-2-3 tokoe:invalid" result="pass"/><test-case name="18351NISTXML-SV-II-list-negativeInteger-maxLength-2-4 tokoe:invalid" result="pass"/><test-case name="18352NISTXML-SV-II-list-negativeInteger-maxLength-2-5 tokoe:invalid" result="pass"/><test-case name="18353NISTSchema-SV-II-list-negativeInteger-maxLength-3 tokoe:valid" result="pass"/><test-case name="18354NISTXML-SV-II-list-negativeInteger-maxLength-3-1 tokoe:invalid" result="pass"/><test-case name="18355NISTXML-SV-II-list-negativeInteger-maxLength-3-2 tokoe:invalid" result="pass"/><test-case name="18356NISTXML-SV-II-list-negativeInteger-maxLength-3-3 tokoe:invalid" result="pass"/><test-case name="18357NISTXML-SV-II-list-negativeInteger-maxLength-3-4 tokoe:invalid" result="pass"/><test-case name="18358NISTXML-SV-II-list-negativeInteger-maxLength-3-5 tokoe:invalid" result="pass"/><test-case name="18359NISTSchema-SV-II-list-negativeInteger-maxLength-4 tokoe:valid" result="pass"/><test-case name="18360NISTXML-SV-II-list-negativeInteger-maxLength-4-1 tokoe:invalid" result="pass"/><test-case name="18361NISTXML-SV-II-list-negativeInteger-maxLength-4-2 tokoe:invalid" result="pass"/><test-case name="18362NISTXML-SV-II-list-negativeInteger-maxLength-4-3 tokoe:invalid" result="pass"/><test-case name="18363NISTXML-SV-II-list-negativeInteger-maxLength-4-4 tokoe:invalid" result="pass"/><test-case name="18364NISTXML-SV-II-list-negativeInteger-maxLength-4-5 tokoe:invalid" result="pass"/><test-case name="18365NISTSchema-SV-II-list-negativeInteger-maxLength-5 tokoe:valid" result="pass"/><test-case name="18366NISTXML-SV-II-list-negativeInteger-maxLength-5-1 tokoe:invalid" result="pass"/><test-case name="18367NISTXML-SV-II-list-negativeInteger-maxLength-5-2 tokoe:invalid" result="pass"/><test-case name="18368NISTXML-SV-II-list-negativeInteger-maxLength-5-3 tokoe:invalid" result="pass"/><test-case name="18369NISTXML-SV-II-list-negativeInteger-maxLength-5-4 tokoe:invalid" result="pass"/><test-case name="18370NISTXML-SV-II-list-negativeInteger-maxLength-5-5 tokoe:invalid" result="pass"/><test-case name="18371NISTSchema-SV-II-list-negativeInteger-minLength-1 tokoe:valid" result="pass"/><test-case name="18372NISTXML-SV-II-list-negativeInteger-minLength-1-1 tokoe:invalid" result="pass"/><test-case name="18373NISTXML-SV-II-list-negativeInteger-minLength-1-2 tokoe:invalid" result="pass"/><test-case name="18374NISTXML-SV-II-list-negativeInteger-minLength-1-3 tokoe:invalid" result="pass"/><test-case name="18375NISTXML-SV-II-list-negativeInteger-minLength-1-4 tokoe:invalid" result="pass"/><test-case name="18376NISTXML-SV-II-list-negativeInteger-minLength-1-5 tokoe:invalid" result="pass"/><test-case name="18377NISTSchema-SV-II-list-negativeInteger-minLength-2 tokoe:valid" result="pass"/><test-case name="18378NISTXML-SV-II-list-negativeInteger-minLength-2-1 tokoe:invalid" result="pass"/><test-case name="18379NISTXML-SV-II-list-negativeInteger-minLength-2-2 tokoe:invalid" result="pass"/><test-case name="18380NISTXML-SV-II-list-negativeInteger-minLength-2-3 tokoe:invalid" result="pass"/><test-case name="18381NISTXML-SV-II-list-negativeInteger-minLength-2-4 tokoe:invalid" result="pass"/><test-case name="18382NISTXML-SV-II-list-negativeInteger-minLength-2-5 tokoe:invalid" result="pass"/><test-case name="18383NISTSchema-SV-II-list-negativeInteger-minLength-3 tokoe:valid" result="pass"/><test-case name="18384NISTXML-SV-II-list-negativeInteger-minLength-3-1 tokoe:invalid" result="pass"/><test-case name="18385NISTXML-SV-II-list-negativeInteger-minLength-3-2 tokoe:invalid" result="pass"/><test-case name="18386NISTXML-SV-II-list-negativeInteger-minLength-3-3 tokoe:invalid" result="pass"/><test-case name="18387NISTXML-SV-II-list-negativeInteger-minLength-3-4 tokoe:invalid" result="pass"/><test-case name="18388NISTXML-SV-II-list-negativeInteger-minLength-3-5 tokoe:invalid" result="pass"/><test-case name="18389NISTSchema-SV-II-list-negativeInteger-minLength-4 tokoe:valid" result="pass"/><test-case name="18390NISTXML-SV-II-list-negativeInteger-minLength-4-1 tokoe:invalid" result="pass"/><test-case name="18391NISTXML-SV-II-list-negativeInteger-minLength-4-2 tokoe:invalid" result="pass"/><test-case name="18392NISTXML-SV-II-list-negativeInteger-minLength-4-3 tokoe:invalid" result="pass"/><test-case name="18393NISTXML-SV-II-list-negativeInteger-minLength-4-4 tokoe:invalid" result="pass"/><test-case name="18394NISTXML-SV-II-list-negativeInteger-minLength-4-5 tokoe:invalid" result="pass"/><test-case name="18395NISTSchema-SV-II-list-negativeInteger-minLength-5 tokoe:valid" result="pass"/><test-case name="18396NISTXML-SV-II-list-negativeInteger-minLength-5-1 tokoe:invalid" result="pass"/><test-case name="18397NISTXML-SV-II-list-negativeInteger-minLength-5-2 tokoe:invalid" result="pass"/><test-case name="18398NISTXML-SV-II-list-negativeInteger-minLength-5-3 tokoe:invalid" result="pass"/><test-case name="18399NISTXML-SV-II-list-negativeInteger-minLength-5-4 tokoe:invalid" result="pass"/><test-case name="18400NISTXML-SV-II-list-negativeInteger-minLength-5-5 tokoe:invalid" result="pass"/><test-case name="18401NISTSchema-SV-II-list-negativeInteger-length-1 tokoe:valid" result="pass"/><test-case name="18402NISTXML-SV-II-list-negativeInteger-length-1-1 tokoe:invalid" result="pass"/><test-case name="18403NISTXML-SV-II-list-negativeInteger-length-1-2 tokoe:invalid" result="pass"/><test-case name="18404NISTXML-SV-II-list-negativeInteger-length-1-3 tokoe:invalid" result="pass"/><test-case name="18405NISTXML-SV-II-list-negativeInteger-length-1-4 tokoe:invalid" result="pass"/><test-case name="18406NISTXML-SV-II-list-negativeInteger-length-1-5 tokoe:invalid" result="pass"/><test-case name="18407NISTSchema-SV-II-list-negativeInteger-length-2 tokoe:valid" result="pass"/><test-case name="18408NISTXML-SV-II-list-negativeInteger-length-2-1 tokoe:invalid" result="pass"/><test-case name="18409NISTXML-SV-II-list-negativeInteger-length-2-2 tokoe:invalid" result="pass"/><test-case name="18410NISTXML-SV-II-list-negativeInteger-length-2-3 tokoe:invalid" result="pass"/><test-case name="18411NISTXML-SV-II-list-negativeInteger-length-2-4 tokoe:invalid" result="pass"/><test-case name="18412NISTXML-SV-II-list-negativeInteger-length-2-5 tokoe:invalid" result="pass"/><test-case name="18413NISTSchema-SV-II-list-negativeInteger-length-3 tokoe:valid" result="pass"/><test-case name="18414NISTXML-SV-II-list-negativeInteger-length-3-1 tokoe:invalid" result="pass"/><test-case name="18415NISTXML-SV-II-list-negativeInteger-length-3-2 tokoe:invalid" result="pass"/><test-case name="18416NISTXML-SV-II-list-negativeInteger-length-3-3 tokoe:invalid" result="pass"/><test-case name="18417NISTXML-SV-II-list-negativeInteger-length-3-4 tokoe:invalid" result="pass"/><test-case name="18418NISTXML-SV-II-list-negativeInteger-length-3-5 tokoe:invalid" result="pass"/><test-case name="18419NISTSchema-SV-II-list-negativeInteger-length-4 tokoe:valid" result="pass"/><test-case name="18420NISTXML-SV-II-list-negativeInteger-length-4-1 tokoe:invalid" result="pass"/><test-case name="18421NISTXML-SV-II-list-negativeInteger-length-4-2 tokoe:invalid" result="pass"/><test-case name="18422NISTXML-SV-II-list-negativeInteger-length-4-3 tokoe:invalid" result="pass"/><test-case name="18423NISTXML-SV-II-list-negativeInteger-length-4-4 tokoe:invalid" result="pass"/><test-case name="18424NISTXML-SV-II-list-negativeInteger-length-4-5 tokoe:invalid" result="pass"/><test-case name="18425NISTSchema-SV-II-list-negativeInteger-length-5 tokoe:valid" result="pass"/><test-case name="18426NISTXML-SV-II-list-negativeInteger-length-5-1 tokoe:invalid" result="pass"/><test-case name="18427NISTXML-SV-II-list-negativeInteger-length-5-2 tokoe:invalid" result="pass"/><test-case name="18428NISTXML-SV-II-list-negativeInteger-length-5-3 tokoe:invalid" result="pass"/><test-case name="18429NISTXML-SV-II-list-negativeInteger-length-5-4 tokoe:invalid" result="pass"/><test-case name="18430NISTXML-SV-II-list-negativeInteger-length-5-5 tokoe:invalid" result="pass"/><test-case name="18431NISTSchema-SV-II-list-negativeInteger-pattern-1 tokoe:valid" result="pass"/><test-case name="18432NISTXML-SV-II-list-negativeInteger-pattern-1-1 tokoe:invalid" result="pass"/><test-case name="18433NISTXML-SV-II-list-negativeInteger-pattern-1-2 tokoe:invalid" result="pass"/><test-case name="18434NISTXML-SV-II-list-negativeInteger-pattern-1-3 tokoe:invalid" result="pass"/><test-case name="18435NISTXML-SV-II-list-negativeInteger-pattern-1-4 tokoe:invalid" result="pass"/><test-case name="18436NISTXML-SV-II-list-negativeInteger-pattern-1-5 tokoe:invalid" result="pass"/><test-case name="18437NISTSchema-SV-II-list-negativeInteger-pattern-2 tokoe:valid" result="pass"/><test-case name="18438NISTXML-SV-II-list-negativeInteger-pattern-2-1 tokoe:invalid" result="pass"/><test-case name="18439NISTXML-SV-II-list-negativeInteger-pattern-2-2 tokoe:invalid" result="pass"/><test-case name="18440NISTXML-SV-II-list-negativeInteger-pattern-2-3 tokoe:invalid" result="pass"/><test-case name="18441NISTXML-SV-II-list-negativeInteger-pattern-2-4 tokoe:invalid" result="pass"/><test-case name="18442NISTXML-SV-II-list-negativeInteger-pattern-2-5 tokoe:invalid" result="pass"/><test-case name="18443NISTSchema-SV-II-list-negativeInteger-pattern-3 tokoe:valid" result="pass"/><test-case name="18444NISTXML-SV-II-list-negativeInteger-pattern-3-1 tokoe:invalid" result="pass"/><test-case name="18445NISTXML-SV-II-list-negativeInteger-pattern-3-2 tokoe:invalid" result="pass"/><test-case name="18446NISTXML-SV-II-list-negativeInteger-pattern-3-3 tokoe:invalid" result="pass"/><test-case name="18447NISTXML-SV-II-list-negativeInteger-pattern-3-4 tokoe:invalid" result="pass"/><test-case name="18448NISTXML-SV-II-list-negativeInteger-pattern-3-5 tokoe:invalid" result="pass"/><test-case name="18449NISTSchema-SV-II-list-negativeInteger-pattern-4 tokoe:valid" result="pass"/><test-case name="18450NISTXML-SV-II-list-negativeInteger-pattern-4-1 tokoe:invalid" result="pass"/><test-case name="18451NISTXML-SV-II-list-negativeInteger-pattern-4-2 tokoe:invalid" result="pass"/><test-case name="18452NISTXML-SV-II-list-negativeInteger-pattern-4-3 tokoe:invalid" result="pass"/><test-case name="18453NISTXML-SV-II-list-negativeInteger-pattern-4-4 tokoe:invalid" result="pass"/><test-case name="18454NISTXML-SV-II-list-negativeInteger-pattern-4-5 tokoe:invalid" result="pass"/><test-case name="18455NISTSchema-SV-II-list-negativeInteger-pattern-5 tokoe:valid" result="pass"/><test-case name="18456NISTXML-SV-II-list-negativeInteger-pattern-5-1 tokoe:invalid" result="pass"/><test-case name="18457NISTXML-SV-II-list-negativeInteger-pattern-5-2 tokoe:invalid" result="pass"/><test-case name="18458NISTXML-SV-II-list-negativeInteger-pattern-5-3 tokoe:invalid" result="pass"/><test-case name="18459NISTXML-SV-II-list-negativeInteger-pattern-5-4 tokoe:invalid" result="pass"/><test-case name="18460NISTXML-SV-II-list-negativeInteger-pattern-5-5 tokoe:invalid" result="pass"/><test-case name="18461NISTSchema-SV-II-list-negativeInteger-enumeration-1 tokoe:valid" result="pass"/><test-case name="18462NISTXML-SV-II-list-negativeInteger-enumeration-1-1 tokoe:invalid" result="pass"/><test-case name="18463NISTXML-SV-II-list-negativeInteger-enumeration-1-2 tokoe:invalid" result="pass"/><test-case name="18464NISTXML-SV-II-list-negativeInteger-enumeration-1-3 tokoe:invalid" result="pass"/><test-case name="18465NISTXML-SV-II-list-negativeInteger-enumeration-1-4 tokoe:invalid" result="pass"/><test-case name="18466NISTXML-SV-II-list-negativeInteger-enumeration-1-5 tokoe:invalid" result="pass"/><test-case name="18467NISTSchema-SV-II-list-negativeInteger-enumeration-2 tokoe:valid" result="pass"/><test-case name="18468NISTXML-SV-II-list-negativeInteger-enumeration-2-1 tokoe:invalid" result="pass"/><test-case name="18469NISTXML-SV-II-list-negativeInteger-enumeration-2-2 tokoe:invalid" result="pass"/><test-case name="18470NISTXML-SV-II-list-negativeInteger-enumeration-2-3 tokoe:invalid" result="pass"/><test-case name="18471NISTXML-SV-II-list-negativeInteger-enumeration-2-4 tokoe:invalid" result="pass"/><test-case name="18472NISTXML-SV-II-list-negativeInteger-enumeration-2-5 tokoe:invalid" result="pass"/><test-case name="18473NISTSchema-SV-II-list-negativeInteger-enumeration-3 tokoe:valid" result="pass"/><test-case name="18474NISTXML-SV-II-list-negativeInteger-enumeration-3-1 tokoe:invalid" result="pass"/><test-case name="18475NISTXML-SV-II-list-negativeInteger-enumeration-3-2 tokoe:invalid" result="pass"/><test-case name="18476NISTXML-SV-II-list-negativeInteger-enumeration-3-3 tokoe:invalid" result="pass"/><test-case name="18477NISTXML-SV-II-list-negativeInteger-enumeration-3-4 tokoe:invalid" result="pass"/><test-case name="18478NISTXML-SV-II-list-negativeInteger-enumeration-3-5 tokoe:invalid" result="pass"/><test-case name="18479NISTSchema-SV-II-list-negativeInteger-enumeration-4 tokoe:valid" result="pass"/><test-case name="18480NISTXML-SV-II-list-negativeInteger-enumeration-4-1 tokoe:invalid" result="pass"/><test-case name="18481NISTXML-SV-II-list-negativeInteger-enumeration-4-2 tokoe:invalid" result="pass"/><test-case name="18482NISTXML-SV-II-list-negativeInteger-enumeration-4-3 tokoe:invalid" result="pass"/><test-case name="18483NISTXML-SV-II-list-negativeInteger-enumeration-4-4 tokoe:invalid" result="pass"/><test-case name="18484NISTXML-SV-II-list-negativeInteger-enumeration-4-5 tokoe:invalid" result="pass"/><test-case name="18485NISTSchema-SV-II-list-negativeInteger-enumeration-5 tokoe:valid" result="pass"/><test-case name="18486NISTXML-SV-II-list-negativeInteger-enumeration-5-1 tokoe:invalid" result="pass"/><test-case name="18487NISTXML-SV-II-list-negativeInteger-enumeration-5-2 tokoe:invalid" result="pass"/><test-case name="18488NISTXML-SV-II-list-negativeInteger-enumeration-5-3 tokoe:invalid" result="pass"/><test-case name="18489NISTXML-SV-II-list-negativeInteger-enumeration-5-4 tokoe:invalid" result="pass"/><test-case name="18490NISTXML-SV-II-list-negativeInteger-enumeration-5-5 tokoe:invalid" result="pass"/><test-case name="18491NISTSchema-SV-II-list-long-maxLength-1 tokoe:valid" result="pass"/><test-case name="18492NISTXML-SV-II-list-long-maxLength-1-1 tokoe:invalid" result="pass"/><test-case name="18493NISTXML-SV-II-list-long-maxLength-1-2 tokoe:invalid" result="pass"/><test-case name="18494NISTXML-SV-II-list-long-maxLength-1-3 tokoe:invalid" result="pass"/><test-case name="18495NISTXML-SV-II-list-long-maxLength-1-4 tokoe:invalid" result="pass"/><test-case name="18496NISTXML-SV-II-list-long-maxLength-1-5 tokoe:invalid" result="pass"/><test-case name="18497NISTSchema-SV-II-list-long-maxLength-2 tokoe:valid" result="pass"/><test-case name="18498NISTXML-SV-II-list-long-maxLength-2-1 tokoe:invalid" result="pass"/><test-case name="18499NISTXML-SV-II-list-long-maxLength-2-2 tokoe:invalid" result="pass"/><test-case name="18500NISTXML-SV-II-list-long-maxLength-2-3 tokoe:invalid" result="pass"/><test-case name="18501NISTXML-SV-II-list-long-maxLength-2-4 tokoe:invalid" result="pass"/><test-case name="18502NISTXML-SV-II-list-long-maxLength-2-5 tokoe:invalid" result="pass"/><test-case name="18503NISTSchema-SV-II-list-long-maxLength-3 tokoe:valid" result="pass"/><test-case name="18504NISTXML-SV-II-list-long-maxLength-3-1 tokoe:invalid" result="pass"/><test-case name="18505NISTXML-SV-II-list-long-maxLength-3-2 tokoe:invalid" result="pass"/><test-case name="18506NISTXML-SV-II-list-long-maxLength-3-3 tokoe:invalid" result="pass"/><test-case name="18507NISTXML-SV-II-list-long-maxLength-3-4 tokoe:invalid" result="pass"/><test-case name="18508NISTXML-SV-II-list-long-maxLength-3-5 tokoe:invalid" result="pass"/><test-case name="18509NISTSchema-SV-II-list-long-maxLength-4 tokoe:valid" result="pass"/><test-case name="18510NISTXML-SV-II-list-long-maxLength-4-1 tokoe:invalid" result="pass"/><test-case name="18511NISTXML-SV-II-list-long-maxLength-4-2 tokoe:invalid" result="pass"/><test-case name="18512NISTXML-SV-II-list-long-maxLength-4-3 tokoe:invalid" result="pass"/><test-case name="18513NISTXML-SV-II-list-long-maxLength-4-4 tokoe:invalid" result="pass"/><test-case name="18514NISTXML-SV-II-list-long-maxLength-4-5 tokoe:invalid" result="pass"/><test-case name="18515NISTSchema-SV-II-list-long-maxLength-5 tokoe:valid" result="pass"/><test-case name="18516NISTXML-SV-II-list-long-maxLength-5-1 tokoe:invalid" result="pass"/><test-case name="18517NISTXML-SV-II-list-long-maxLength-5-2 tokoe:invalid" result="pass"/><test-case name="18518NISTXML-SV-II-list-long-maxLength-5-3 tokoe:invalid" result="pass"/><test-case name="18519NISTXML-SV-II-list-long-maxLength-5-4 tokoe:invalid" result="pass"/><test-case name="18520NISTXML-SV-II-list-long-maxLength-5-5 tokoe:invalid" result="pass"/><test-case name="18521NISTSchema-SV-II-list-long-minLength-1 tokoe:valid" result="pass"/><test-case name="18522NISTXML-SV-II-list-long-minLength-1-1 tokoe:invalid" result="pass"/><test-case name="18523NISTXML-SV-II-list-long-minLength-1-2 tokoe:invalid" result="pass"/><test-case name="18524NISTXML-SV-II-list-long-minLength-1-3 tokoe:invalid" result="pass"/><test-case name="18525NISTXML-SV-II-list-long-minLength-1-4 tokoe:invalid" result="pass"/><test-case name="18526NISTXML-SV-II-list-long-minLength-1-5 tokoe:invalid" result="pass"/><test-case name="18527NISTSchema-SV-II-list-long-minLength-2 tokoe:valid" result="pass"/><test-case name="18528NISTXML-SV-II-list-long-minLength-2-1 tokoe:invalid" result="pass"/><test-case name="18529NISTXML-SV-II-list-long-minLength-2-2 tokoe:invalid" result="pass"/><test-case name="18530NISTXML-SV-II-list-long-minLength-2-3 tokoe:invalid" result="pass"/><test-case name="18531NISTXML-SV-II-list-long-minLength-2-4 tokoe:invalid" result="pass"/><test-case name="18532NISTXML-SV-II-list-long-minLength-2-5 tokoe:invalid" result="pass"/><test-case name="18533NISTSchema-SV-II-list-long-minLength-3 tokoe:valid" result="pass"/><test-case name="18534NISTXML-SV-II-list-long-minLength-3-1 tokoe:invalid" result="pass"/><test-case name="18535NISTXML-SV-II-list-long-minLength-3-2 tokoe:invalid" result="pass"/><test-case name="18536NISTXML-SV-II-list-long-minLength-3-3 tokoe:invalid" result="pass"/><test-case name="18537NISTXML-SV-II-list-long-minLength-3-4 tokoe:invalid" result="pass"/><test-case name="18538NISTXML-SV-II-list-long-minLength-3-5 tokoe:invalid" result="pass"/><test-case name="18539NISTSchema-SV-II-list-long-minLength-4 tokoe:valid" result="pass"/><test-case name="18540NISTXML-SV-II-list-long-minLength-4-1 tokoe:invalid" result="pass"/><test-case name="18541NISTXML-SV-II-list-long-minLength-4-2 tokoe:invalid" result="pass"/><test-case name="18542NISTXML-SV-II-list-long-minLength-4-3 tokoe:invalid" result="pass"/><test-case name="18543NISTXML-SV-II-list-long-minLength-4-4 tokoe:invalid" result="pass"/><test-case name="18544NISTXML-SV-II-list-long-minLength-4-5 tokoe:invalid" result="pass"/><test-case name="18545NISTSchema-SV-II-list-long-minLength-5 tokoe:valid" result="pass"/><test-case name="18546NISTXML-SV-II-list-long-minLength-5-1 tokoe:invalid" result="pass"/><test-case name="18547NISTXML-SV-II-list-long-minLength-5-2 tokoe:invalid" result="pass"/><test-case name="18548NISTXML-SV-II-list-long-minLength-5-3 tokoe:invalid" result="pass"/><test-case name="18549NISTXML-SV-II-list-long-minLength-5-4 tokoe:invalid" result="pass"/><test-case name="18550NISTXML-SV-II-list-long-minLength-5-5 tokoe:invalid" result="pass"/><test-case name="18551NISTSchema-SV-II-list-long-length-1 tokoe:valid" result="pass"/><test-case name="18552NISTXML-SV-II-list-long-length-1-1 tokoe:invalid" result="pass"/><test-case name="18553NISTXML-SV-II-list-long-length-1-2 tokoe:invalid" result="pass"/><test-case name="18554NISTXML-SV-II-list-long-length-1-3 tokoe:invalid" result="pass"/><test-case name="18555NISTXML-SV-II-list-long-length-1-4 tokoe:invalid" result="pass"/><test-case name="18556NISTXML-SV-II-list-long-length-1-5 tokoe:invalid" result="pass"/><test-case name="18557NISTSchema-SV-II-list-long-length-2 tokoe:valid" result="pass"/><test-case name="18558NISTXML-SV-II-list-long-length-2-1 tokoe:invalid" result="pass"/><test-case name="18559NISTXML-SV-II-list-long-length-2-2 tokoe:invalid" result="pass"/><test-case name="18560NISTXML-SV-II-list-long-length-2-3 tokoe:invalid" result="pass"/><test-case name="18561NISTXML-SV-II-list-long-length-2-4 tokoe:invalid" result="pass"/><test-case name="18562NISTXML-SV-II-list-long-length-2-5 tokoe:invalid" result="pass"/><test-case name="18563NISTSchema-SV-II-list-long-length-3 tokoe:valid" result="pass"/><test-case name="18564NISTXML-SV-II-list-long-length-3-1 tokoe:invalid" result="pass"/><test-case name="18565NISTXML-SV-II-list-long-length-3-2 tokoe:invalid" result="pass"/><test-case name="18566NISTXML-SV-II-list-long-length-3-3 tokoe:invalid" result="pass"/><test-case name="18567NISTXML-SV-II-list-long-length-3-4 tokoe:invalid" result="pass"/><test-case name="18568NISTXML-SV-II-list-long-length-3-5 tokoe:invalid" result="pass"/><test-case name="18569NISTSchema-SV-II-list-long-length-4 tokoe:valid" result="pass"/><test-case name="18570NISTXML-SV-II-list-long-length-4-1 tokoe:invalid" result="pass"/><test-case name="18571NISTXML-SV-II-list-long-length-4-2 tokoe:invalid" result="pass"/><test-case name="18572NISTXML-SV-II-list-long-length-4-3 tokoe:invalid" result="pass"/><test-case name="18573NISTXML-SV-II-list-long-length-4-4 tokoe:invalid" result="pass"/><test-case name="18574NISTXML-SV-II-list-long-length-4-5 tokoe:invalid" result="pass"/><test-case name="18575NISTSchema-SV-II-list-long-length-5 tokoe:valid" result="pass"/><test-case name="18576NISTXML-SV-II-list-long-length-5-1 tokoe:invalid" result="pass"/><test-case name="18577NISTXML-SV-II-list-long-length-5-2 tokoe:invalid" result="pass"/><test-case name="18578NISTXML-SV-II-list-long-length-5-3 tokoe:invalid" result="pass"/><test-case name="18579NISTXML-SV-II-list-long-length-5-4 tokoe:invalid" result="pass"/><test-case name="18580NISTXML-SV-II-list-long-length-5-5 tokoe:invalid" result="pass"/><test-case name="18581NISTSchema-SV-II-list-long-pattern-1 tokoe:valid" result="pass"/><test-case name="18582NISTXML-SV-II-list-long-pattern-1-1 tokoe:invalid" result="pass"/><test-case name="18583NISTXML-SV-II-list-long-pattern-1-2 tokoe:invalid" result="pass"/><test-case name="18584NISTXML-SV-II-list-long-pattern-1-3 tokoe:invalid" result="pass"/><test-case name="18585NISTXML-SV-II-list-long-pattern-1-4 tokoe:invalid" result="pass"/><test-case name="18586NISTXML-SV-II-list-long-pattern-1-5 tokoe:invalid" result="pass"/><test-case name="18587NISTSchema-SV-II-list-long-pattern-2 tokoe:valid" result="pass"/><test-case name="18588NISTXML-SV-II-list-long-pattern-2-1 tokoe:invalid" result="pass"/><test-case name="18589NISTXML-SV-II-list-long-pattern-2-2 tokoe:invalid" result="pass"/><test-case name="18590NISTXML-SV-II-list-long-pattern-2-3 tokoe:invalid" result="pass"/><test-case name="18591NISTXML-SV-II-list-long-pattern-2-4 tokoe:invalid" result="pass"/><test-case name="18592NISTXML-SV-II-list-long-pattern-2-5 tokoe:invalid" result="pass"/><test-case name="18593NISTSchema-SV-II-list-long-pattern-3 tokoe:valid" result="pass"/><test-case name="18594NISTXML-SV-II-list-long-pattern-3-1 tokoe:invalid" result="pass"/><test-case name="18595NISTXML-SV-II-list-long-pattern-3-2 tokoe:invalid" result="pass"/><test-case name="18596NISTXML-SV-II-list-long-pattern-3-3 tokoe:invalid" result="pass"/><test-case name="18597NISTXML-SV-II-list-long-pattern-3-4 tokoe:invalid" result="pass"/><test-case name="18598NISTXML-SV-II-list-long-pattern-3-5 tokoe:invalid" result="pass"/><test-case name="18599NISTSchema-SV-II-list-long-pattern-4 tokoe:valid" result="pass"/><test-case name="18600NISTXML-SV-II-list-long-pattern-4-1 tokoe:invalid" result="pass"/><test-case name="18601NISTXML-SV-II-list-long-pattern-4-2 tokoe:invalid" result="pass"/><test-case name="18602NISTXML-SV-II-list-long-pattern-4-3 tokoe:invalid" result="pass"/><test-case name="18603NISTXML-SV-II-list-long-pattern-4-4 tokoe:invalid" result="pass"/><test-case name="18604NISTXML-SV-II-list-long-pattern-4-5 tokoe:invalid" result="pass"/><test-case name="18605NISTSchema-SV-II-list-long-pattern-5 tokoe:valid" result="pass"/><test-case name="18606NISTXML-SV-II-list-long-pattern-5-1 tokoe:invalid" result="pass"/><test-case name="18607NISTXML-SV-II-list-long-pattern-5-2 tokoe:invalid" result="pass"/><test-case name="18608NISTXML-SV-II-list-long-pattern-5-3 tokoe:invalid" result="pass"/><test-case name="18609NISTXML-SV-II-list-long-pattern-5-4 tokoe:invalid" result="pass"/><test-case name="18610NISTXML-SV-II-list-long-pattern-5-5 tokoe:invalid" result="pass"/><test-case name="18611NISTSchema-SV-II-list-long-enumeration-1 tokoe:valid" result="pass"/><test-case name="18612NISTXML-SV-II-list-long-enumeration-1-1 tokoe:invalid" result="pass"/><test-case name="18613NISTXML-SV-II-list-long-enumeration-1-2 tokoe:invalid" result="pass"/><test-case name="18614NISTXML-SV-II-list-long-enumeration-1-3 tokoe:invalid" result="pass"/><test-case name="18615NISTXML-SV-II-list-long-enumeration-1-4 tokoe:invalid" result="pass"/><test-case name="18616NISTXML-SV-II-list-long-enumeration-1-5 tokoe:invalid" result="pass"/><test-case name="18617NISTSchema-SV-II-list-long-enumeration-2 tokoe:valid" result="pass"/><test-case name="18618NISTXML-SV-II-list-long-enumeration-2-1 tokoe:invalid" result="pass"/><test-case name="18619NISTXML-SV-II-list-long-enumeration-2-2 tokoe:invalid" result="pass"/><test-case name="18620NISTXML-SV-II-list-long-enumeration-2-3 tokoe:invalid" result="pass"/><test-case name="18621NISTXML-SV-II-list-long-enumeration-2-4 tokoe:invalid" result="pass"/><test-case name="18622NISTXML-SV-II-list-long-enumeration-2-5 tokoe:invalid" result="pass"/><test-case name="18623NISTSchema-SV-II-list-long-enumeration-3 tokoe:valid" result="pass"/><test-case name="18624NISTXML-SV-II-list-long-enumeration-3-1 tokoe:invalid" result="pass"/><test-case name="18625NISTXML-SV-II-list-long-enumeration-3-2 tokoe:invalid" result="pass"/><test-case name="18626NISTXML-SV-II-list-long-enumeration-3-3 tokoe:invalid" result="pass"/><test-case name="18627NISTXML-SV-II-list-long-enumeration-3-4 tokoe:invalid" result="pass"/><test-case name="18628NISTXML-SV-II-list-long-enumeration-3-5 tokoe:invalid" result="pass"/><test-case name="18629NISTSchema-SV-II-list-long-enumeration-4 tokoe:valid" result="pass"/><test-case name="18630NISTXML-SV-II-list-long-enumeration-4-1 tokoe:invalid" result="pass"/><test-case name="18631NISTXML-SV-II-list-long-enumeration-4-2 tokoe:invalid" result="pass"/><test-case name="18632NISTXML-SV-II-list-long-enumeration-4-3 tokoe:invalid" result="pass"/><test-case name="18633NISTXML-SV-II-list-long-enumeration-4-4 tokoe:invalid" result="pass"/><test-case name="18634NISTXML-SV-II-list-long-enumeration-4-5 tokoe:invalid" result="pass"/><test-case name="18635NISTSchema-SV-II-list-long-enumeration-5 tokoe:valid" result="pass"/><test-case name="18636NISTXML-SV-II-list-long-enumeration-5-1 tokoe:invalid" result="pass"/><test-case name="18637NISTXML-SV-II-list-long-enumeration-5-2 tokoe:invalid" result="pass"/><test-case name="18638NISTXML-SV-II-list-long-enumeration-5-3 tokoe:invalid" result="pass"/><test-case name="18639NISTXML-SV-II-list-long-enumeration-5-4 tokoe:invalid" result="pass"/><test-case name="18640NISTXML-SV-II-list-long-enumeration-5-5 tokoe:invalid" result="pass"/><test-case name="18641NISTSchema-SV-II-list-int-maxLength-1 tokoe:valid" result="pass"/><test-case name="18642NISTXML-SV-II-list-int-maxLength-1-1 tokoe:invalid" result="pass"/><test-case name="18643NISTXML-SV-II-list-int-maxLength-1-2 tokoe:invalid" result="pass"/><test-case name="18644NISTXML-SV-II-list-int-maxLength-1-3 tokoe:invalid" result="pass"/><test-case name="18645NISTXML-SV-II-list-int-maxLength-1-4 tokoe:invalid" result="pass"/><test-case name="18646NISTXML-SV-II-list-int-maxLength-1-5 tokoe:invalid" result="pass"/><test-case name="18647NISTSchema-SV-II-list-int-maxLength-2 tokoe:valid" result="pass"/><test-case name="18648NISTXML-SV-II-list-int-maxLength-2-1 tokoe:invalid" result="pass"/><test-case name="18649NISTXML-SV-II-list-int-maxLength-2-2 tokoe:invalid" result="pass"/><test-case name="18650NISTXML-SV-II-list-int-maxLength-2-3 tokoe:invalid" result="pass"/><test-case name="18651NISTXML-SV-II-list-int-maxLength-2-4 tokoe:invalid" result="pass"/><test-case name="18652NISTXML-SV-II-list-int-maxLength-2-5 tokoe:invalid" result="pass"/><test-case name="18653NISTSchema-SV-II-list-int-maxLength-3 tokoe:valid" result="pass"/><test-case name="18654NISTXML-SV-II-list-int-maxLength-3-1 tokoe:invalid" result="pass"/><test-case name="18655NISTXML-SV-II-list-int-maxLength-3-2 tokoe:invalid" result="pass"/><test-case name="18656NISTXML-SV-II-list-int-maxLength-3-3 tokoe:invalid" result="pass"/><test-case name="18657NISTXML-SV-II-list-int-maxLength-3-4 tokoe:invalid" result="pass"/><test-case name="18658NISTXML-SV-II-list-int-maxLength-3-5 tokoe:invalid" result="pass"/><test-case name="18659NISTSchema-SV-II-list-int-maxLength-4 tokoe:valid" result="pass"/><test-case name="18660NISTXML-SV-II-list-int-maxLength-4-1 tokoe:invalid" result="pass"/><test-case name="18661NISTXML-SV-II-list-int-maxLength-4-2 tokoe:invalid" result="pass"/><test-case name="18662NISTXML-SV-II-list-int-maxLength-4-3 tokoe:invalid" result="pass"/><test-case name="18663NISTXML-SV-II-list-int-maxLength-4-4 tokoe:invalid" result="pass"/><test-case name="18664NISTXML-SV-II-list-int-maxLength-4-5 tokoe:invalid" result="pass"/><test-case name="18665NISTSchema-SV-II-list-int-maxLength-5 tokoe:valid" result="pass"/><test-case name="18666NISTXML-SV-II-list-int-maxLength-5-1 tokoe:invalid" result="pass"/><test-case name="18667NISTXML-SV-II-list-int-maxLength-5-2 tokoe:invalid" result="pass"/><test-case name="18668NISTXML-SV-II-list-int-maxLength-5-3 tokoe:invalid" result="pass"/><test-case name="18669NISTXML-SV-II-list-int-maxLength-5-4 tokoe:invalid" result="pass"/><test-case name="18670NISTXML-SV-II-list-int-maxLength-5-5 tokoe:invalid" result="pass"/><test-case name="18671NISTSchema-SV-II-list-int-minLength-1 tokoe:valid" result="pass"/><test-case name="18672NISTXML-SV-II-list-int-minLength-1-1 tokoe:invalid" result="pass"/><test-case name="18673NISTXML-SV-II-list-int-minLength-1-2 tokoe:invalid" result="pass"/><test-case name="18674NISTXML-SV-II-list-int-minLength-1-3 tokoe:invalid" result="pass"/><test-case name="18675NISTXML-SV-II-list-int-minLength-1-4 tokoe:invalid" result="pass"/><test-case name="18676NISTXML-SV-II-list-int-minLength-1-5 tokoe:invalid" result="pass"/><test-case name="18677NISTSchema-SV-II-list-int-minLength-2 tokoe:valid" result="pass"/><test-case name="18678NISTXML-SV-II-list-int-minLength-2-1 tokoe:invalid" result="pass"/><test-case name="18679NISTXML-SV-II-list-int-minLength-2-2 tokoe:invalid" result="pass"/><test-case name="18680NISTXML-SV-II-list-int-minLength-2-3 tokoe:invalid" result="pass"/><test-case name="18681NISTXML-SV-II-list-int-minLength-2-4 tokoe:invalid" result="pass"/><test-case name="18682NISTXML-SV-II-list-int-minLength-2-5 tokoe:invalid" result="pass"/><test-case name="18683NISTSchema-SV-II-list-int-minLength-3 tokoe:valid" result="pass"/><test-case name="18684NISTXML-SV-II-list-int-minLength-3-1 tokoe:invalid" result="pass"/><test-case name="18685NISTXML-SV-II-list-int-minLength-3-2 tokoe:invalid" result="pass"/><test-case name="18686NISTXML-SV-II-list-int-minLength-3-3 tokoe:invalid" result="pass"/><test-case name="18687NISTXML-SV-II-list-int-minLength-3-4 tokoe:invalid" result="pass"/><test-case name="18688NISTXML-SV-II-list-int-minLength-3-5 tokoe:invalid" result="pass"/><test-case name="18689NISTSchema-SV-II-list-int-minLength-4 tokoe:valid" result="pass"/><test-case name="18690NISTXML-SV-II-list-int-minLength-4-1 tokoe:invalid" result="pass"/><test-case name="18691NISTXML-SV-II-list-int-minLength-4-2 tokoe:invalid" result="pass"/><test-case name="18692NISTXML-SV-II-list-int-minLength-4-3 tokoe:invalid" result="pass"/><test-case name="18693NISTXML-SV-II-list-int-minLength-4-4 tokoe:invalid" result="pass"/><test-case name="18694NISTXML-SV-II-list-int-minLength-4-5 tokoe:invalid" result="pass"/><test-case name="18695NISTSchema-SV-II-list-int-minLength-5 tokoe:valid" result="pass"/><test-case name="18696NISTXML-SV-II-list-int-minLength-5-1 tokoe:invalid" result="pass"/><test-case name="18697NISTXML-SV-II-list-int-minLength-5-2 tokoe:invalid" result="pass"/><test-case name="18698NISTXML-SV-II-list-int-minLength-5-3 tokoe:invalid" result="pass"/><test-case name="18699NISTXML-SV-II-list-int-minLength-5-4 tokoe:invalid" result="pass"/><test-case name="18700NISTXML-SV-II-list-int-minLength-5-5 tokoe:invalid" result="pass"/><test-case name="18701NISTSchema-SV-II-list-int-length-1 tokoe:valid" result="pass"/><test-case name="18702NISTXML-SV-II-list-int-length-1-1 tokoe:invalid" result="pass"/><test-case name="18703NISTXML-SV-II-list-int-length-1-2 tokoe:invalid" result="pass"/><test-case name="18704NISTXML-SV-II-list-int-length-1-3 tokoe:invalid" result="pass"/><test-case name="18705NISTXML-SV-II-list-int-length-1-4 tokoe:invalid" result="pass"/><test-case name="18706NISTXML-SV-II-list-int-length-1-5 tokoe:invalid" result="pass"/><test-case name="18707NISTSchema-SV-II-list-int-length-2 tokoe:valid" result="pass"/><test-case name="18708NISTXML-SV-II-list-int-length-2-1 tokoe:invalid" result="pass"/><test-case name="18709NISTXML-SV-II-list-int-length-2-2 tokoe:invalid" result="pass"/><test-case name="18710NISTXML-SV-II-list-int-length-2-3 tokoe:invalid" result="pass"/><test-case name="18711NISTXML-SV-II-list-int-length-2-4 tokoe:invalid" result="pass"/><test-case name="18712NISTXML-SV-II-list-int-length-2-5 tokoe:invalid" result="pass"/><test-case name="18713NISTSchema-SV-II-list-int-length-3 tokoe:valid" result="pass"/><test-case name="18714NISTXML-SV-II-list-int-length-3-1 tokoe:invalid" result="pass"/><test-case name="18715NISTXML-SV-II-list-int-length-3-2 tokoe:invalid" result="pass"/><test-case name="18716NISTXML-SV-II-list-int-length-3-3 tokoe:invalid" result="pass"/><test-case name="18717NISTXML-SV-II-list-int-length-3-4 tokoe:invalid" result="pass"/><test-case name="18718NISTXML-SV-II-list-int-length-3-5 tokoe:invalid" result="pass"/><test-case name="18719NISTSchema-SV-II-list-int-length-4 tokoe:valid" result="pass"/><test-case name="18720NISTXML-SV-II-list-int-length-4-1 tokoe:invalid" result="pass"/><test-case name="18721NISTXML-SV-II-list-int-length-4-2 tokoe:invalid" result="pass"/><test-case name="18722NISTXML-SV-II-list-int-length-4-3 tokoe:invalid" result="pass"/><test-case name="18723NISTXML-SV-II-list-int-length-4-4 tokoe:invalid" result="pass"/><test-case name="18724NISTXML-SV-II-list-int-length-4-5 tokoe:invalid" result="pass"/><test-case name="18725NISTSchema-SV-II-list-int-length-5 tokoe:valid" result="pass"/><test-case name="18726NISTXML-SV-II-list-int-length-5-1 tokoe:invalid" result="pass"/><test-case name="18727NISTXML-SV-II-list-int-length-5-2 tokoe:invalid" result="pass"/><test-case name="18728NISTXML-SV-II-list-int-length-5-3 tokoe:invalid" result="pass"/><test-case name="18729NISTXML-SV-II-list-int-length-5-4 tokoe:invalid" result="pass"/><test-case name="18730NISTXML-SV-II-list-int-length-5-5 tokoe:invalid" result="pass"/><test-case name="18731NISTSchema-SV-II-list-int-pattern-1 tokoe:valid" result="pass"/><test-case name="18732NISTXML-SV-II-list-int-pattern-1-1 tokoe:invalid" result="pass"/><test-case name="18733NISTXML-SV-II-list-int-pattern-1-2 tokoe:invalid" result="pass"/><test-case name="18734NISTXML-SV-II-list-int-pattern-1-3 tokoe:invalid" result="pass"/><test-case name="18735NISTXML-SV-II-list-int-pattern-1-4 tokoe:invalid" result="pass"/><test-case name="18736NISTXML-SV-II-list-int-pattern-1-5 tokoe:invalid" result="pass"/><test-case name="18737NISTSchema-SV-II-list-int-pattern-2 tokoe:valid" result="pass"/><test-case name="18738NISTXML-SV-II-list-int-pattern-2-1 tokoe:invalid" result="pass"/><test-case name="18739NISTXML-SV-II-list-int-pattern-2-2 tokoe:invalid" result="pass"/><test-case name="18740NISTXML-SV-II-list-int-pattern-2-3 tokoe:invalid" result="pass"/><test-case name="18741NISTXML-SV-II-list-int-pattern-2-4 tokoe:invalid" result="pass"/><test-case name="18742NISTXML-SV-II-list-int-pattern-2-5 tokoe:invalid" result="pass"/><test-case name="18743NISTSchema-SV-II-list-int-pattern-3 tokoe:valid" result="pass"/><test-case name="18744NISTXML-SV-II-list-int-pattern-3-1 tokoe:invalid" result="pass"/><test-case name="18745NISTXML-SV-II-list-int-pattern-3-2 tokoe:invalid" result="pass"/><test-case name="18746NISTXML-SV-II-list-int-pattern-3-3 tokoe:invalid" result="pass"/><test-case name="18747NISTXML-SV-II-list-int-pattern-3-4 tokoe:invalid" result="pass"/><test-case name="18748NISTXML-SV-II-list-int-pattern-3-5 tokoe:invalid" result="pass"/><test-case name="18749NISTSchema-SV-II-list-int-pattern-4 tokoe:valid" result="pass"/><test-case name="18750NISTXML-SV-II-list-int-pattern-4-1 tokoe:invalid" result="pass"/><test-case name="18751NISTXML-SV-II-list-int-pattern-4-2 tokoe:invalid" result="pass"/><test-case name="18752NISTXML-SV-II-list-int-pattern-4-3 tokoe:invalid" result="pass"/><test-case name="18753NISTXML-SV-II-list-int-pattern-4-4 tokoe:invalid" result="pass"/><test-case name="18754NISTXML-SV-II-list-int-pattern-4-5 tokoe:invalid" result="pass"/><test-case name="18755NISTSchema-SV-II-list-int-pattern-5 tokoe:valid" result="pass"/><test-case name="18756NISTXML-SV-II-list-int-pattern-5-1 tokoe:invalid" result="pass"/><test-case name="18757NISTXML-SV-II-list-int-pattern-5-2 tokoe:invalid" result="pass"/><test-case name="18758NISTXML-SV-II-list-int-pattern-5-3 tokoe:invalid" result="pass"/><test-case name="18759NISTXML-SV-II-list-int-pattern-5-4 tokoe:invalid" result="pass"/><test-case name="18760NISTXML-SV-II-list-int-pattern-5-5 tokoe:invalid" result="pass"/><test-case name="18761NISTSchema-SV-II-list-int-enumeration-1 tokoe:valid" result="pass"/><test-case name="18762NISTXML-SV-II-list-int-enumeration-1-1 tokoe:invalid" result="pass"/><test-case name="18763NISTXML-SV-II-list-int-enumeration-1-2 tokoe:invalid" result="pass"/><test-case name="18764NISTXML-SV-II-list-int-enumeration-1-3 tokoe:invalid" result="pass"/><test-case name="18765NISTXML-SV-II-list-int-enumeration-1-4 tokoe:invalid" result="pass"/><test-case name="18766NISTXML-SV-II-list-int-enumeration-1-5 tokoe:invalid" result="pass"/><test-case name="18767NISTSchema-SV-II-list-int-enumeration-2 tokoe:valid" result="pass"/><test-case name="18768NISTXML-SV-II-list-int-enumeration-2-1 tokoe:invalid" result="pass"/><test-case name="18769NISTXML-SV-II-list-int-enumeration-2-2 tokoe:invalid" result="pass"/><test-case name="18770NISTXML-SV-II-list-int-enumeration-2-3 tokoe:invalid" result="pass"/><test-case name="18771NISTXML-SV-II-list-int-enumeration-2-4 tokoe:invalid" result="pass"/><test-case name="18772NISTXML-SV-II-list-int-enumeration-2-5 tokoe:invalid" result="pass"/><test-case name="18773NISTSchema-SV-II-list-int-enumeration-3 tokoe:valid" result="pass"/><test-case name="18774NISTXML-SV-II-list-int-enumeration-3-1 tokoe:invalid" result="pass"/><test-case name="18775NISTXML-SV-II-list-int-enumeration-3-2 tokoe:invalid" result="pass"/><test-case name="18776NISTXML-SV-II-list-int-enumeration-3-3 tokoe:invalid" result="pass"/><test-case name="18777NISTXML-SV-II-list-int-enumeration-3-4 tokoe:invalid" result="pass"/><test-case name="18778NISTXML-SV-II-list-int-enumeration-3-5 tokoe:invalid" result="pass"/><test-case name="18779NISTSchema-SV-II-list-int-enumeration-4 tokoe:valid" result="pass"/><test-case name="18780NISTXML-SV-II-list-int-enumeration-4-1 tokoe:invalid" result="pass"/><test-case name="18781NISTXML-SV-II-list-int-enumeration-4-2 tokoe:invalid" result="pass"/><test-case name="18782NISTXML-SV-II-list-int-enumeration-4-3 tokoe:invalid" result="pass"/><test-case name="18783NISTXML-SV-II-list-int-enumeration-4-4 tokoe:invalid" result="pass"/><test-case name="18784NISTXML-SV-II-list-int-enumeration-4-5 tokoe:invalid" result="pass"/><test-case name="18785NISTSchema-SV-II-list-int-enumeration-5 tokoe:valid" result="pass"/><test-case name="18786NISTXML-SV-II-list-int-enumeration-5-1 tokoe:invalid" result="pass"/><test-case name="18787NISTXML-SV-II-list-int-enumeration-5-2 tokoe:invalid" result="pass"/><test-case name="18788NISTXML-SV-II-list-int-enumeration-5-3 tokoe:invalid" result="pass"/><test-case name="18789NISTXML-SV-II-list-int-enumeration-5-4 tokoe:invalid" result="pass"/><test-case name="18790NISTXML-SV-II-list-int-enumeration-5-5 tokoe:invalid" result="pass"/><test-case name="18791NISTSchema-SV-II-list-short-maxLength-1 tokoe:valid" result="pass"/><test-case name="18792NISTXML-SV-II-list-short-maxLength-1-1 tokoe:invalid" result="pass"/><test-case name="18793NISTXML-SV-II-list-short-maxLength-1-2 tokoe:invalid" result="pass"/><test-case name="18794NISTXML-SV-II-list-short-maxLength-1-3 tokoe:invalid" result="pass"/><test-case name="18795NISTXML-SV-II-list-short-maxLength-1-4 tokoe:invalid" result="pass"/><test-case name="18796NISTXML-SV-II-list-short-maxLength-1-5 tokoe:invalid" result="pass"/><test-case name="18797NISTSchema-SV-II-list-short-maxLength-2 tokoe:valid" result="pass"/><test-case name="18798NISTXML-SV-II-list-short-maxLength-2-1 tokoe:invalid" result="pass"/><test-case name="18799NISTXML-SV-II-list-short-maxLength-2-2 tokoe:invalid" result="pass"/><test-case name="18800NISTXML-SV-II-list-short-maxLength-2-3 tokoe:invalid" result="pass"/><test-case name="18801NISTXML-SV-II-list-short-maxLength-2-4 tokoe:invalid" result="pass"/><test-case name="18802NISTXML-SV-II-list-short-maxLength-2-5 tokoe:invalid" result="pass"/><test-case name="18803NISTSchema-SV-II-list-short-maxLength-3 tokoe:valid" result="pass"/><test-case name="18804NISTXML-SV-II-list-short-maxLength-3-1 tokoe:invalid" result="pass"/><test-case name="18805NISTXML-SV-II-list-short-maxLength-3-2 tokoe:invalid" result="pass"/><test-case name="18806NISTXML-SV-II-list-short-maxLength-3-3 tokoe:invalid" result="pass"/><test-case name="18807NISTXML-SV-II-list-short-maxLength-3-4 tokoe:invalid" result="pass"/><test-case name="18808NISTXML-SV-II-list-short-maxLength-3-5 tokoe:invalid" result="pass"/><test-case name="18809NISTSchema-SV-II-list-short-maxLength-4 tokoe:valid" result="pass"/><test-case name="18810NISTXML-SV-II-list-short-maxLength-4-1 tokoe:invalid" result="pass"/><test-case name="18811NISTXML-SV-II-list-short-maxLength-4-2 tokoe:invalid" result="pass"/><test-case name="18812NISTXML-SV-II-list-short-maxLength-4-3 tokoe:invalid" result="pass"/><test-case name="18813NISTXML-SV-II-list-short-maxLength-4-4 tokoe:invalid" result="pass"/><test-case name="18814NISTXML-SV-II-list-short-maxLength-4-5 tokoe:invalid" result="pass"/><test-case name="18815NISTSchema-SV-II-list-short-maxLength-5 tokoe:valid" result="pass"/><test-case name="18816NISTXML-SV-II-list-short-maxLength-5-1 tokoe:invalid" result="pass"/><test-case name="18817NISTXML-SV-II-list-short-maxLength-5-2 tokoe:invalid" result="pass"/><test-case name="18818NISTXML-SV-II-list-short-maxLength-5-3 tokoe:invalid" result="pass"/><test-case name="18819NISTXML-SV-II-list-short-maxLength-5-4 tokoe:invalid" result="pass"/><test-case name="18820NISTXML-SV-II-list-short-maxLength-5-5 tokoe:invalid" result="pass"/><test-case name="18821NISTSchema-SV-II-list-short-minLength-1 tokoe:valid" result="pass"/><test-case name="18822NISTXML-SV-II-list-short-minLength-1-1 tokoe:invalid" result="pass"/><test-case name="18823NISTXML-SV-II-list-short-minLength-1-2 tokoe:invalid" result="pass"/><test-case name="18824NISTXML-SV-II-list-short-minLength-1-3 tokoe:invalid" result="pass"/><test-case name="18825NISTXML-SV-II-list-short-minLength-1-4 tokoe:invalid" result="pass"/><test-case name="18826NISTXML-SV-II-list-short-minLength-1-5 tokoe:invalid" result="pass"/><test-case name="18827NISTSchema-SV-II-list-short-minLength-2 tokoe:valid" result="pass"/><test-case name="18828NISTXML-SV-II-list-short-minLength-2-1 tokoe:invalid" result="pass"/><test-case name="18829NISTXML-SV-II-list-short-minLength-2-2 tokoe:invalid" result="pass"/><test-case name="18830NISTXML-SV-II-list-short-minLength-2-3 tokoe:invalid" result="pass"/><test-case name="18831NISTXML-SV-II-list-short-minLength-2-4 tokoe:invalid" result="pass"/><test-case name="18832NISTXML-SV-II-list-short-minLength-2-5 tokoe:invalid" result="pass"/><test-case name="18833NISTSchema-SV-II-list-short-minLength-3 tokoe:valid" result="pass"/><test-case name="18834NISTXML-SV-II-list-short-minLength-3-1 tokoe:invalid" result="pass"/><test-case name="18835NISTXML-SV-II-list-short-minLength-3-2 tokoe:invalid" result="pass"/><test-case name="18836NISTXML-SV-II-list-short-minLength-3-3 tokoe:invalid" result="pass"/><test-case name="18837NISTXML-SV-II-list-short-minLength-3-4 tokoe:invalid" result="pass"/><test-case name="18838NISTXML-SV-II-list-short-minLength-3-5 tokoe:invalid" result="pass"/><test-case name="18839NISTSchema-SV-II-list-short-minLength-4 tokoe:valid" result="pass"/><test-case name="18840NISTXML-SV-II-list-short-minLength-4-1 tokoe:invalid" result="pass"/><test-case name="18841NISTXML-SV-II-list-short-minLength-4-2 tokoe:invalid" result="pass"/><test-case name="18842NISTXML-SV-II-list-short-minLength-4-3 tokoe:invalid" result="pass"/><test-case name="18843NISTXML-SV-II-list-short-minLength-4-4 tokoe:invalid" result="pass"/><test-case name="18844NISTXML-SV-II-list-short-minLength-4-5 tokoe:invalid" result="pass"/><test-case name="18845NISTSchema-SV-II-list-short-minLength-5 tokoe:valid" result="pass"/><test-case name="18846NISTXML-SV-II-list-short-minLength-5-1 tokoe:invalid" result="pass"/><test-case name="18847NISTXML-SV-II-list-short-minLength-5-2 tokoe:invalid" result="pass"/><test-case name="18848NISTXML-SV-II-list-short-minLength-5-3 tokoe:invalid" result="pass"/><test-case name="18849NISTXML-SV-II-list-short-minLength-5-4 tokoe:invalid" result="pass"/><test-case name="18850NISTXML-SV-II-list-short-minLength-5-5 tokoe:invalid" result="pass"/><test-case name="18851NISTSchema-SV-II-list-short-length-1 tokoe:valid" result="pass"/><test-case name="18852NISTXML-SV-II-list-short-length-1-1 tokoe:invalid" result="pass"/><test-case name="18853NISTXML-SV-II-list-short-length-1-2 tokoe:invalid" result="pass"/><test-case name="18854NISTXML-SV-II-list-short-length-1-3 tokoe:invalid" result="pass"/><test-case name="18855NISTXML-SV-II-list-short-length-1-4 tokoe:invalid" result="pass"/><test-case name="18856NISTXML-SV-II-list-short-length-1-5 tokoe:invalid" result="pass"/><test-case name="18857NISTSchema-SV-II-list-short-length-2 tokoe:valid" result="pass"/><test-case name="18858NISTXML-SV-II-list-short-length-2-1 tokoe:invalid" result="pass"/><test-case name="18859NISTXML-SV-II-list-short-length-2-2 tokoe:invalid" result="pass"/><test-case name="18860NISTXML-SV-II-list-short-length-2-3 tokoe:invalid" result="pass"/><test-case name="18861NISTXML-SV-II-list-short-length-2-4 tokoe:invalid" result="pass"/><test-case name="18862NISTXML-SV-II-list-short-length-2-5 tokoe:invalid" result="pass"/><test-case name="18863NISTSchema-SV-II-list-short-length-3 tokoe:valid" result="pass"/><test-case name="18864NISTXML-SV-II-list-short-length-3-1 tokoe:invalid" result="pass"/><test-case name="18865NISTXML-SV-II-list-short-length-3-2 tokoe:invalid" result="pass"/><test-case name="18866NISTXML-SV-II-list-short-length-3-3 tokoe:invalid" result="pass"/><test-case name="18867NISTXML-SV-II-list-short-length-3-4 tokoe:invalid" result="pass"/><test-case name="18868NISTXML-SV-II-list-short-length-3-5 tokoe:invalid" result="pass"/><test-case name="18869NISTSchema-SV-II-list-short-length-4 tokoe:valid" result="pass"/><test-case name="18870NISTXML-SV-II-list-short-length-4-1 tokoe:invalid" result="pass"/><test-case name="18871NISTXML-SV-II-list-short-length-4-2 tokoe:invalid" result="pass"/><test-case name="18872NISTXML-SV-II-list-short-length-4-3 tokoe:invalid" result="pass"/><test-case name="18873NISTXML-SV-II-list-short-length-4-4 tokoe:invalid" result="pass"/><test-case name="18874NISTXML-SV-II-list-short-length-4-5 tokoe:invalid" result="pass"/><test-case name="18875NISTSchema-SV-II-list-short-length-5 tokoe:valid" result="pass"/><test-case name="18876NISTXML-SV-II-list-short-length-5-1 tokoe:invalid" result="pass"/><test-case name="18877NISTXML-SV-II-list-short-length-5-2 tokoe:invalid" result="pass"/><test-case name="18878NISTXML-SV-II-list-short-length-5-3 tokoe:invalid" result="pass"/><test-case name="18879NISTXML-SV-II-list-short-length-5-4 tokoe:invalid" result="pass"/><test-case name="18880NISTXML-SV-II-list-short-length-5-5 tokoe:invalid" result="pass"/><test-case name="18881NISTSchema-SV-II-list-short-pattern-1 tokoe:valid" result="pass"/><test-case name="18882NISTXML-SV-II-list-short-pattern-1-1 tokoe:invalid" result="pass"/><test-case name="18883NISTXML-SV-II-list-short-pattern-1-2 tokoe:invalid" result="pass"/><test-case name="18884NISTXML-SV-II-list-short-pattern-1-3 tokoe:invalid" result="pass"/><test-case name="18885NISTXML-SV-II-list-short-pattern-1-4 tokoe:invalid" result="pass"/><test-case name="18886NISTXML-SV-II-list-short-pattern-1-5 tokoe:invalid" result="pass"/><test-case name="18887NISTSchema-SV-II-list-short-pattern-2 tokoe:valid" result="pass"/><test-case name="18888NISTXML-SV-II-list-short-pattern-2-1 tokoe:invalid" result="pass"/><test-case name="18889NISTXML-SV-II-list-short-pattern-2-2 tokoe:invalid" result="pass"/><test-case name="18890NISTXML-SV-II-list-short-pattern-2-3 tokoe:invalid" result="pass"/><test-case name="18891NISTXML-SV-II-list-short-pattern-2-4 tokoe:invalid" result="pass"/><test-case name="18892NISTXML-SV-II-list-short-pattern-2-5 tokoe:invalid" result="pass"/><test-case name="18893NISTSchema-SV-II-list-short-pattern-3 tokoe:valid" result="pass"/><test-case name="18894NISTXML-SV-II-list-short-pattern-3-1 tokoe:invalid" result="pass"/><test-case name="18895NISTXML-SV-II-list-short-pattern-3-2 tokoe:invalid" result="pass"/><test-case name="18896NISTXML-SV-II-list-short-pattern-3-3 tokoe:invalid" result="pass"/><test-case name="18897NISTXML-SV-II-list-short-pattern-3-4 tokoe:invalid" result="pass"/><test-case name="18898NISTXML-SV-II-list-short-pattern-3-5 tokoe:invalid" result="pass"/><test-case name="18899NISTSchema-SV-II-list-short-pattern-4 tokoe:valid" result="pass"/><test-case name="18900NISTXML-SV-II-list-short-pattern-4-1 tokoe:invalid" result="pass"/><test-case name="18901NISTXML-SV-II-list-short-pattern-4-2 tokoe:invalid" result="pass"/><test-case name="18902NISTXML-SV-II-list-short-pattern-4-3 tokoe:invalid" result="pass"/><test-case name="18903NISTXML-SV-II-list-short-pattern-4-4 tokoe:invalid" result="pass"/><test-case name="18904NISTXML-SV-II-list-short-pattern-4-5 tokoe:invalid" result="pass"/><test-case name="18905NISTSchema-SV-II-list-short-pattern-5 tokoe:valid" result="pass"/><test-case name="18906NISTXML-SV-II-list-short-pattern-5-1 tokoe:invalid" result="pass"/><test-case name="18907NISTXML-SV-II-list-short-pattern-5-2 tokoe:invalid" result="pass"/><test-case name="18908NISTXML-SV-II-list-short-pattern-5-3 tokoe:invalid" result="pass"/><test-case name="18909NISTXML-SV-II-list-short-pattern-5-4 tokoe:invalid" result="pass"/><test-case name="18910NISTXML-SV-II-list-short-pattern-5-5 tokoe:invalid" result="pass"/><test-case name="18911NISTSchema-SV-II-list-short-enumeration-1 tokoe:valid" result="pass"/><test-case name="18912NISTXML-SV-II-list-short-enumeration-1-1 tokoe:invalid" result="pass"/><test-case name="18913NISTXML-SV-II-list-short-enumeration-1-2 tokoe:invalid" result="pass"/><test-case name="18914NISTXML-SV-II-list-short-enumeration-1-3 tokoe:invalid" result="pass"/><test-case name="18915NISTXML-SV-II-list-short-enumeration-1-4 tokoe:invalid" result="pass"/><test-case name="18916NISTXML-SV-II-list-short-enumeration-1-5 tokoe:invalid" result="pass"/><test-case name="18917NISTSchema-SV-II-list-short-enumeration-2 tokoe:valid" result="pass"/><test-case name="18918NISTXML-SV-II-list-short-enumeration-2-1 tokoe:invalid" result="pass"/><test-case name="18919NISTXML-SV-II-list-short-enumeration-2-2 tokoe:invalid" result="pass"/><test-case name="18920NISTXML-SV-II-list-short-enumeration-2-3 tokoe:invalid" result="pass"/><test-case name="18921NISTXML-SV-II-list-short-enumeration-2-4 tokoe:invalid" result="pass"/><test-case name="18922NISTXML-SV-II-list-short-enumeration-2-5 tokoe:invalid" result="pass"/><test-case name="18923NISTSchema-SV-II-list-short-enumeration-3 tokoe:valid" result="pass"/><test-case name="18924NISTXML-SV-II-list-short-enumeration-3-1 tokoe:invalid" result="pass"/><test-case name="18925NISTXML-SV-II-list-short-enumeration-3-2 tokoe:invalid" result="pass"/><test-case name="18926NISTXML-SV-II-list-short-enumeration-3-3 tokoe:invalid" result="pass"/><test-case name="18927NISTXML-SV-II-list-short-enumeration-3-4 tokoe:invalid" result="pass"/><test-case name="18928NISTXML-SV-II-list-short-enumeration-3-5 tokoe:invalid" result="pass"/><test-case name="18929NISTSchema-SV-II-list-short-enumeration-4 tokoe:valid" result="pass"/><test-case name="18930NISTXML-SV-II-list-short-enumeration-4-1 tokoe:invalid" result="pass"/><test-case name="18931NISTXML-SV-II-list-short-enumeration-4-2 tokoe:invalid" result="pass"/><test-case name="18932NISTXML-SV-II-list-short-enumeration-4-3 tokoe:invalid" result="pass"/><test-case name="18933NISTXML-SV-II-list-short-enumeration-4-4 tokoe:invalid" result="pass"/><test-case name="18934NISTXML-SV-II-list-short-enumeration-4-5 tokoe:invalid" result="pass"/><test-case name="18935NISTSchema-SV-II-list-short-enumeration-5 tokoe:valid" result="pass"/><test-case name="18936NISTXML-SV-II-list-short-enumeration-5-1 tokoe:invalid" result="pass"/><test-case name="18937NISTXML-SV-II-list-short-enumeration-5-2 tokoe:invalid" result="pass"/><test-case name="18938NISTXML-SV-II-list-short-enumeration-5-3 tokoe:invalid" result="pass"/><test-case name="18939NISTXML-SV-II-list-short-enumeration-5-4 tokoe:invalid" result="pass"/><test-case name="18940NISTXML-SV-II-list-short-enumeration-5-5 tokoe:invalid" result="pass"/><test-case name="18941NISTSchema-SV-II-list-byte-maxLength-1 tokoe:valid" result="pass"/><test-case name="18942NISTXML-SV-II-list-byte-maxLength-1-1 tokoe:invalid" result="pass"/><test-case name="18943NISTXML-SV-II-list-byte-maxLength-1-2 tokoe:invalid" result="pass"/><test-case name="18944NISTXML-SV-II-list-byte-maxLength-1-3 tokoe:invalid" result="pass"/><test-case name="18945NISTXML-SV-II-list-byte-maxLength-1-4 tokoe:invalid" result="pass"/><test-case name="18946NISTXML-SV-II-list-byte-maxLength-1-5 tokoe:invalid" result="pass"/><test-case name="18947NISTSchema-SV-II-list-byte-maxLength-2 tokoe:valid" result="pass"/><test-case name="18948NISTXML-SV-II-list-byte-maxLength-2-1 tokoe:invalid" result="pass"/><test-case name="18949NISTXML-SV-II-list-byte-maxLength-2-2 tokoe:invalid" result="pass"/><test-case name="18950NISTXML-SV-II-list-byte-maxLength-2-3 tokoe:invalid" result="pass"/><test-case name="18951NISTXML-SV-II-list-byte-maxLength-2-4 tokoe:invalid" result="pass"/><test-case name="18952NISTXML-SV-II-list-byte-maxLength-2-5 tokoe:invalid" result="pass"/><test-case name="18953NISTSchema-SV-II-list-byte-maxLength-3 tokoe:valid" result="pass"/><test-case name="18954NISTXML-SV-II-list-byte-maxLength-3-1 tokoe:invalid" result="pass"/><test-case name="18955NISTXML-SV-II-list-byte-maxLength-3-2 tokoe:invalid" result="pass"/><test-case name="18956NISTXML-SV-II-list-byte-maxLength-3-3 tokoe:invalid" result="pass"/><test-case name="18957NISTXML-SV-II-list-byte-maxLength-3-4 tokoe:invalid" result="pass"/><test-case name="18958NISTXML-SV-II-list-byte-maxLength-3-5 tokoe:invalid" result="pass"/><test-case name="18959NISTSchema-SV-II-list-byte-maxLength-4 tokoe:valid" result="pass"/><test-case name="18960NISTXML-SV-II-list-byte-maxLength-4-1 tokoe:invalid" result="pass"/><test-case name="18961NISTXML-SV-II-list-byte-maxLength-4-2 tokoe:invalid" result="pass"/><test-case name="18962NISTXML-SV-II-list-byte-maxLength-4-3 tokoe:invalid" result="pass"/><test-case name="18963NISTXML-SV-II-list-byte-maxLength-4-4 tokoe:invalid" result="pass"/><test-case name="18964NISTXML-SV-II-list-byte-maxLength-4-5 tokoe:invalid" result="pass"/><test-case name="18965NISTSchema-SV-II-list-byte-maxLength-5 tokoe:valid" result="pass"/><test-case name="18966NISTXML-SV-II-list-byte-maxLength-5-1 tokoe:invalid" result="pass"/><test-case name="18967NISTXML-SV-II-list-byte-maxLength-5-2 tokoe:invalid" result="pass"/><test-case name="18968NISTXML-SV-II-list-byte-maxLength-5-3 tokoe:invalid" result="pass"/><test-case name="18969NISTXML-SV-II-list-byte-maxLength-5-4 tokoe:invalid" result="pass"/><test-case name="18970NISTXML-SV-II-list-byte-maxLength-5-5 tokoe:invalid" result="pass"/><test-case name="18971NISTSchema-SV-II-list-byte-minLength-1 tokoe:valid" result="pass"/><test-case name="18972NISTXML-SV-II-list-byte-minLength-1-1 tokoe:invalid" result="pass"/><test-case name="18973NISTXML-SV-II-list-byte-minLength-1-2 tokoe:invalid" result="pass"/><test-case name="18974NISTXML-SV-II-list-byte-minLength-1-3 tokoe:invalid" result="pass"/><test-case name="18975NISTXML-SV-II-list-byte-minLength-1-4 tokoe:invalid" result="pass"/><test-case name="18976NISTXML-SV-II-list-byte-minLength-1-5 tokoe:invalid" result="pass"/><test-case name="18977NISTSchema-SV-II-list-byte-minLength-2 tokoe:valid" result="pass"/><test-case name="18978NISTXML-SV-II-list-byte-minLength-2-1 tokoe:invalid" result="pass"/><test-case name="18979NISTXML-SV-II-list-byte-minLength-2-2 tokoe:invalid" result="pass"/><test-case name="18980NISTXML-SV-II-list-byte-minLength-2-3 tokoe:invalid" result="pass"/><test-case name="18981NISTXML-SV-II-list-byte-minLength-2-4 tokoe:invalid" result="pass"/><test-case name="18982NISTXML-SV-II-list-byte-minLength-2-5 tokoe:invalid" result="pass"/><test-case name="18983NISTSchema-SV-II-list-byte-minLength-3 tokoe:valid" result="pass"/><test-case name="18984NISTXML-SV-II-list-byte-minLength-3-1 tokoe:invalid" result="pass"/><test-case name="18985NISTXML-SV-II-list-byte-minLength-3-2 tokoe:invalid" result="pass"/><test-case name="18986NISTXML-SV-II-list-byte-minLength-3-3 tokoe:invalid" result="pass"/><test-case name="18987NISTXML-SV-II-list-byte-minLength-3-4 tokoe:invalid" result="pass"/><test-case name="18988NISTXML-SV-II-list-byte-minLength-3-5 tokoe:invalid" result="pass"/><test-case name="18989NISTSchema-SV-II-list-byte-minLength-4 tokoe:valid" result="pass"/><test-case name="18990NISTXML-SV-II-list-byte-minLength-4-1 tokoe:invalid" result="pass"/><test-case name="18991NISTXML-SV-II-list-byte-minLength-4-2 tokoe:invalid" result="pass"/><test-case name="18992NISTXML-SV-II-list-byte-minLength-4-3 tokoe:invalid" result="pass"/><test-case name="18993NISTXML-SV-II-list-byte-minLength-4-4 tokoe:invalid" result="pass"/><test-case name="18994NISTXML-SV-II-list-byte-minLength-4-5 tokoe:invalid" result="pass"/><test-case name="18995NISTSchema-SV-II-list-byte-minLength-5 tokoe:valid" result="pass"/><test-case name="18996NISTXML-SV-II-list-byte-minLength-5-1 tokoe:invalid" result="pass"/><test-case name="18997NISTXML-SV-II-list-byte-minLength-5-2 tokoe:invalid" result="pass"/><test-case name="18998NISTXML-SV-II-list-byte-minLength-5-3 tokoe:invalid" result="pass"/><test-case name="18999NISTXML-SV-II-list-byte-minLength-5-4 tokoe:invalid" result="pass"/><test-case name="19000NISTXML-SV-II-list-byte-minLength-5-5 tokoe:invalid" result="pass"/><test-case name="19001NISTSchema-SV-II-list-byte-length-1 tokoe:valid" result="pass"/><test-case name="19002NISTXML-SV-II-list-byte-length-1-1 tokoe:invalid" result="pass"/><test-case name="19003NISTXML-SV-II-list-byte-length-1-2 tokoe:invalid" result="pass"/><test-case name="19004NISTXML-SV-II-list-byte-length-1-3 tokoe:invalid" result="pass"/><test-case name="19005NISTXML-SV-II-list-byte-length-1-4 tokoe:invalid" result="pass"/><test-case name="19006NISTXML-SV-II-list-byte-length-1-5 tokoe:invalid" result="pass"/><test-case name="19007NISTSchema-SV-II-list-byte-length-2 tokoe:valid" result="pass"/><test-case name="19008NISTXML-SV-II-list-byte-length-2-1 tokoe:invalid" result="pass"/><test-case name="19009NISTXML-SV-II-list-byte-length-2-2 tokoe:invalid" result="pass"/><test-case name="19010NISTXML-SV-II-list-byte-length-2-3 tokoe:invalid" result="pass"/><test-case name="19011NISTXML-SV-II-list-byte-length-2-4 tokoe:invalid" result="pass"/><test-case name="19012NISTXML-SV-II-list-byte-length-2-5 tokoe:invalid" result="pass"/><test-case name="19013NISTSchema-SV-II-list-byte-length-3 tokoe:valid" result="pass"/><test-case name="19014NISTXML-SV-II-list-byte-length-3-1 tokoe:invalid" result="pass"/><test-case name="19015NISTXML-SV-II-list-byte-length-3-2 tokoe:invalid" result="pass"/><test-case name="19016NISTXML-SV-II-list-byte-length-3-3 tokoe:invalid" result="pass"/><test-case name="19017NISTXML-SV-II-list-byte-length-3-4 tokoe:invalid" result="pass"/><test-case name="19018NISTXML-SV-II-list-byte-length-3-5 tokoe:invalid" result="pass"/><test-case name="19019NISTSchema-SV-II-list-byte-length-4 tokoe:valid" result="pass"/><test-case name="19020NISTXML-SV-II-list-byte-length-4-1 tokoe:invalid" result="pass"/><test-case name="19021NISTXML-SV-II-list-byte-length-4-2 tokoe:invalid" result="pass"/><test-case name="19022NISTXML-SV-II-list-byte-length-4-3 tokoe:invalid" result="pass"/><test-case name="19023NISTXML-SV-II-list-byte-length-4-4 tokoe:invalid" result="pass"/><test-case name="19024NISTXML-SV-II-list-byte-length-4-5 tokoe:invalid" result="pass"/><test-case name="19025NISTSchema-SV-II-list-byte-length-5 tokoe:valid" result="pass"/><test-case name="19026NISTXML-SV-II-list-byte-length-5-1 tokoe:invalid" result="pass"/><test-case name="19027NISTXML-SV-II-list-byte-length-5-2 tokoe:invalid" result="pass"/><test-case name="19028NISTXML-SV-II-list-byte-length-5-3 tokoe:invalid" result="pass"/><test-case name="19029NISTXML-SV-II-list-byte-length-5-4 tokoe:invalid" result="pass"/><test-case name="19030NISTXML-SV-II-list-byte-length-5-5 tokoe:invalid" result="pass"/><test-case name="19031NISTSchema-SV-II-list-byte-pattern-1 tokoe:valid" result="pass"/><test-case name="19032NISTXML-SV-II-list-byte-pattern-1-1 tokoe:invalid" result="pass"/><test-case name="19033NISTXML-SV-II-list-byte-pattern-1-2 tokoe:invalid" result="pass"/><test-case name="19034NISTXML-SV-II-list-byte-pattern-1-3 tokoe:invalid" result="pass"/><test-case name="19035NISTXML-SV-II-list-byte-pattern-1-4 tokoe:invalid" result="pass"/><test-case name="19036NISTXML-SV-II-list-byte-pattern-1-5 tokoe:invalid" result="pass"/><test-case name="19037NISTSchema-SV-II-list-byte-pattern-2 tokoe:valid" result="pass"/><test-case name="19038NISTXML-SV-II-list-byte-pattern-2-1 tokoe:invalid" result="pass"/><test-case name="19039NISTXML-SV-II-list-byte-pattern-2-2 tokoe:invalid" result="pass"/><test-case name="19040NISTXML-SV-II-list-byte-pattern-2-3 tokoe:invalid" result="pass"/><test-case name="19041NISTXML-SV-II-list-byte-pattern-2-4 tokoe:invalid" result="pass"/><test-case name="19042NISTXML-SV-II-list-byte-pattern-2-5 tokoe:invalid" result="pass"/><test-case name="19043NISTSchema-SV-II-list-byte-pattern-3 tokoe:valid" result="pass"/><test-case name="19044NISTXML-SV-II-list-byte-pattern-3-1 tokoe:invalid" result="pass"/><test-case name="19045NISTXML-SV-II-list-byte-pattern-3-2 tokoe:invalid" result="pass"/><test-case name="19046NISTXML-SV-II-list-byte-pattern-3-3 tokoe:invalid" result="pass"/><test-case name="19047NISTXML-SV-II-list-byte-pattern-3-4 tokoe:invalid" result="pass"/><test-case name="19048NISTXML-SV-II-list-byte-pattern-3-5 tokoe:invalid" result="pass"/><test-case name="19049NISTSchema-SV-II-list-byte-pattern-4 tokoe:valid" result="pass"/><test-case name="19050NISTXML-SV-II-list-byte-pattern-4-1 tokoe:invalid" result="pass"/><test-case name="19051NISTXML-SV-II-list-byte-pattern-4-2 tokoe:invalid" result="pass"/><test-case name="19052NISTXML-SV-II-list-byte-pattern-4-3 tokoe:invalid" result="pass"/><test-case name="19053NISTXML-SV-II-list-byte-pattern-4-4 tokoe:invalid" result="pass"/><test-case name="19054NISTXML-SV-II-list-byte-pattern-4-5 tokoe:invalid" result="pass"/><test-case name="19055NISTSchema-SV-II-list-byte-pattern-5 tokoe:valid" result="pass"/><test-case name="19056NISTXML-SV-II-list-byte-pattern-5-1 tokoe:invalid" result="pass"/><test-case name="19057NISTXML-SV-II-list-byte-pattern-5-2 tokoe:invalid" result="pass"/><test-case name="19058NISTXML-SV-II-list-byte-pattern-5-3 tokoe:invalid" result="pass"/><test-case name="19059NISTXML-SV-II-list-byte-pattern-5-4 tokoe:invalid" result="pass"/><test-case name="19060NISTXML-SV-II-list-byte-pattern-5-5 tokoe:invalid" result="pass"/><test-case name="19061NISTSchema-SV-II-list-byte-enumeration-1 tokoe:valid" result="pass"/><test-case name="19062NISTXML-SV-II-list-byte-enumeration-1-1 tokoe:invalid" result="pass"/><test-case name="19063NISTXML-SV-II-list-byte-enumeration-1-2 tokoe:invalid" result="pass"/><test-case name="19064NISTXML-SV-II-list-byte-enumeration-1-3 tokoe:invalid" result="pass"/><test-case name="19065NISTXML-SV-II-list-byte-enumeration-1-4 tokoe:invalid" result="pass"/><test-case name="19066NISTXML-SV-II-list-byte-enumeration-1-5 tokoe:invalid" result="pass"/><test-case name="19067NISTSchema-SV-II-list-byte-enumeration-2 tokoe:valid" result="pass"/><test-case name="19068NISTXML-SV-II-list-byte-enumeration-2-1 tokoe:invalid" result="pass"/><test-case name="19069NISTXML-SV-II-list-byte-enumeration-2-2 tokoe:invalid" result="pass"/><test-case name="19070NISTXML-SV-II-list-byte-enumeration-2-3 tokoe:invalid" result="pass"/><test-case name="19071NISTXML-SV-II-list-byte-enumeration-2-4 tokoe:invalid" result="pass"/><test-case name="19072NISTXML-SV-II-list-byte-enumeration-2-5 tokoe:invalid" result="pass"/><test-case name="19073NISTSchema-SV-II-list-byte-enumeration-3 tokoe:valid" result="pass"/><test-case name="19074NISTXML-SV-II-list-byte-enumeration-3-1 tokoe:invalid" result="pass"/><test-case name="19075NISTXML-SV-II-list-byte-enumeration-3-2 tokoe:invalid" result="pass"/><test-case name="19076NISTXML-SV-II-list-byte-enumeration-3-3 tokoe:invalid" result="pass"/><test-case name="19077NISTXML-SV-II-list-byte-enumeration-3-4 tokoe:invalid" result="pass"/><test-case name="19078NISTXML-SV-II-list-byte-enumeration-3-5 tokoe:invalid" result="pass"/><test-case name="19079NISTSchema-SV-II-list-byte-enumeration-4 tokoe:valid" result="pass"/><test-case name="19080NISTXML-SV-II-list-byte-enumeration-4-1 tokoe:invalid" result="pass"/><test-case name="19081NISTXML-SV-II-list-byte-enumeration-4-2 tokoe:invalid" result="pass"/><test-case name="19082NISTXML-SV-II-list-byte-enumeration-4-3 tokoe:invalid" result="pass"/><test-case name="19083NISTXML-SV-II-list-byte-enumeration-4-4 tokoe:invalid" result="pass"/><test-case name="19084NISTXML-SV-II-list-byte-enumeration-4-5 tokoe:invalid" result="pass"/><test-case name="19085NISTSchema-SV-II-list-byte-enumeration-5 tokoe:valid" result="pass"/><test-case name="19086NISTXML-SV-II-list-byte-enumeration-5-1 tokoe:invalid" result="pass"/><test-case name="19087NISTXML-SV-II-list-byte-enumeration-5-2 tokoe:invalid" result="pass"/><test-case name="19088NISTXML-SV-II-list-byte-enumeration-5-3 tokoe:invalid" result="pass"/><test-case name="19089NISTXML-SV-II-list-byte-enumeration-5-4 tokoe:invalid" result="pass"/><test-case name="19090NISTXML-SV-II-list-byte-enumeration-5-5 tokoe:invalid" result="pass"/><test-case name="19091NISTSchema-SV-II-list-nonNegativeInteger-maxLength-1 tokoe:valid" result="pass"/><test-case name="19092NISTXML-SV-II-list-nonNegativeInteger-maxLength-1-1 tokoe:invalid" result="pass"/><test-case name="19093NISTXML-SV-II-list-nonNegativeInteger-maxLength-1-2 tokoe:invalid" result="pass"/><test-case name="19094NISTXML-SV-II-list-nonNegativeInteger-maxLength-1-3 tokoe:invalid" result="pass"/><test-case name="19095NISTXML-SV-II-list-nonNegativeInteger-maxLength-1-4 tokoe:invalid" result="pass"/><test-case name="19096NISTXML-SV-II-list-nonNegativeInteger-maxLength-1-5 tokoe:invalid" result="pass"/><test-case name="19097NISTSchema-SV-II-list-nonNegativeInteger-maxLength-2 tokoe:valid" result="pass"/><test-case name="19098NISTXML-SV-II-list-nonNegativeInteger-maxLength-2-1 tokoe:invalid" result="pass"/><test-case name="19099NISTXML-SV-II-list-nonNegativeInteger-maxLength-2-2 tokoe:invalid" result="pass"/><test-case name="19100NISTXML-SV-II-list-nonNegativeInteger-maxLength-2-3 tokoe:invalid" result="pass"/><test-case name="19101NISTXML-SV-II-list-nonNegativeInteger-maxLength-2-4 tokoe:invalid" result="pass"/><test-case name="19102NISTXML-SV-II-list-nonNegativeInteger-maxLength-2-5 tokoe:invalid" result="pass"/><test-case name="19103NISTSchema-SV-II-list-nonNegativeInteger-maxLength-3 tokoe:valid" result="pass"/><test-case name="19104NISTXML-SV-II-list-nonNegativeInteger-maxLength-3-1 tokoe:invalid" result="pass"/><test-case name="19105NISTXML-SV-II-list-nonNegativeInteger-maxLength-3-2 tokoe:invalid" result="pass"/><test-case name="19106NISTXML-SV-II-list-nonNegativeInteger-maxLength-3-3 tokoe:invalid" result="pass"/><test-case name="19107NISTXML-SV-II-list-nonNegativeInteger-maxLength-3-4 tokoe:invalid" result="pass"/><test-case name="19108NISTXML-SV-II-list-nonNegativeInteger-maxLength-3-5 tokoe:invalid" result="pass"/><test-case name="19109NISTSchema-SV-II-list-nonNegativeInteger-maxLength-4 tokoe:valid" result="pass"/><test-case name="19110NISTXML-SV-II-list-nonNegativeInteger-maxLength-4-1 tokoe:invalid" result="pass"/><test-case name="19111NISTXML-SV-II-list-nonNegativeInteger-maxLength-4-2 tokoe:invalid" result="pass"/><test-case name="19112NISTXML-SV-II-list-nonNegativeInteger-maxLength-4-3 tokoe:invalid" result="pass"/><test-case name="19113NISTXML-SV-II-list-nonNegativeInteger-maxLength-4-4 tokoe:invalid" result="pass"/><test-case name="19114NISTXML-SV-II-list-nonNegativeInteger-maxLength-4-5 tokoe:invalid" result="pass"/><test-case name="19115NISTSchema-SV-II-list-nonNegativeInteger-maxLength-5 tokoe:valid" result="pass"/><test-case name="19116NISTXML-SV-II-list-nonNegativeInteger-maxLength-5-1 tokoe:invalid" result="pass"/><test-case name="19117NISTXML-SV-II-list-nonNegativeInteger-maxLength-5-2 tokoe:invalid" result="pass"/><test-case name="19118NISTXML-SV-II-list-nonNegativeInteger-maxLength-5-3 tokoe:invalid" result="pass"/><test-case name="19119NISTXML-SV-II-list-nonNegativeInteger-maxLength-5-4 tokoe:invalid" result="pass"/><test-case name="19120NISTXML-SV-II-list-nonNegativeInteger-maxLength-5-5 tokoe:invalid" result="pass"/><test-case name="19121NISTSchema-SV-II-list-nonNegativeInteger-minLength-1 tokoe:valid" result="pass"/><test-case name="19122NISTXML-SV-II-list-nonNegativeInteger-minLength-1-1 tokoe:invalid" result="pass"/><test-case name="19123NISTXML-SV-II-list-nonNegativeInteger-minLength-1-2 tokoe:invalid" result="pass"/><test-case name="19124NISTXML-SV-II-list-nonNegativeInteger-minLength-1-3 tokoe:invalid" result="pass"/><test-case name="19125NISTXML-SV-II-list-nonNegativeInteger-minLength-1-4 tokoe:invalid" result="pass"/><test-case name="19126NISTXML-SV-II-list-nonNegativeInteger-minLength-1-5 tokoe:invalid" result="pass"/><test-case name="19127NISTSchema-SV-II-list-nonNegativeInteger-minLength-2 tokoe:valid" result="pass"/><test-case name="19128NISTXML-SV-II-list-nonNegativeInteger-minLength-2-1 tokoe:invalid" result="pass"/><test-case name="19129NISTXML-SV-II-list-nonNegativeInteger-minLength-2-2 tokoe:invalid" result="pass"/><test-case name="19130NISTXML-SV-II-list-nonNegativeInteger-minLength-2-3 tokoe:invalid" result="pass"/><test-case name="19131NISTXML-SV-II-list-nonNegativeInteger-minLength-2-4 tokoe:invalid" result="pass"/><test-case name="19132NISTXML-SV-II-list-nonNegativeInteger-minLength-2-5 tokoe:invalid" result="pass"/><test-case name="19133NISTSchema-SV-II-list-nonNegativeInteger-minLength-3 tokoe:valid" result="pass"/><test-case name="19134NISTXML-SV-II-list-nonNegativeInteger-minLength-3-1 tokoe:invalid" result="pass"/><test-case name="19135NISTXML-SV-II-list-nonNegativeInteger-minLength-3-2 tokoe:invalid" result="pass"/><test-case name="19136NISTXML-SV-II-list-nonNegativeInteger-minLength-3-3 tokoe:invalid" result="pass"/><test-case name="19137NISTXML-SV-II-list-nonNegativeInteger-minLength-3-4 tokoe:invalid" result="pass"/><test-case name="19138NISTXML-SV-II-list-nonNegativeInteger-minLength-3-5 tokoe:invalid" result="pass"/><test-case name="19139NISTSchema-SV-II-list-nonNegativeInteger-minLength-4 tokoe:valid" result="pass"/><test-case name="19140NISTXML-SV-II-list-nonNegativeInteger-minLength-4-1 tokoe:invalid" result="pass"/><test-case name="19141NISTXML-SV-II-list-nonNegativeInteger-minLength-4-2 tokoe:invalid" result="pass"/><test-case name="19142NISTXML-SV-II-list-nonNegativeInteger-minLength-4-3 tokoe:invalid" result="pass"/><test-case name="19143NISTXML-SV-II-list-nonNegativeInteger-minLength-4-4 tokoe:invalid" result="pass"/><test-case name="19144NISTXML-SV-II-list-nonNegativeInteger-minLength-4-5 tokoe:invalid" result="pass"/><test-case name="19145NISTSchema-SV-II-list-nonNegativeInteger-minLength-5 tokoe:valid" result="pass"/><test-case name="19146NISTXML-SV-II-list-nonNegativeInteger-minLength-5-1 tokoe:invalid" result="pass"/><test-case name="19147NISTXML-SV-II-list-nonNegativeInteger-minLength-5-2 tokoe:invalid" result="pass"/><test-case name="19148NISTXML-SV-II-list-nonNegativeInteger-minLength-5-3 tokoe:invalid" result="pass"/><test-case name="19149NISTXML-SV-II-list-nonNegativeInteger-minLength-5-4 tokoe:invalid" result="pass"/><test-case name="19150NISTXML-SV-II-list-nonNegativeInteger-minLength-5-5 tokoe:invalid" result="pass"/><test-case name="19151NISTSchema-SV-II-list-nonNegativeInteger-length-1 tokoe:valid" result="pass"/><test-case name="19152NISTXML-SV-II-list-nonNegativeInteger-length-1-1 tokoe:invalid" result="pass"/><test-case name="19153NISTXML-SV-II-list-nonNegativeInteger-length-1-2 tokoe:invalid" result="pass"/><test-case name="19154NISTXML-SV-II-list-nonNegativeInteger-length-1-3 tokoe:invalid" result="pass"/><test-case name="19155NISTXML-SV-II-list-nonNegativeInteger-length-1-4 tokoe:invalid" result="pass"/><test-case name="19156NISTXML-SV-II-list-nonNegativeInteger-length-1-5 tokoe:invalid" result="pass"/><test-case name="19157NISTSchema-SV-II-list-nonNegativeInteger-length-2 tokoe:valid" result="pass"/><test-case name="19158NISTXML-SV-II-list-nonNegativeInteger-length-2-1 tokoe:invalid" result="pass"/><test-case name="19159NISTXML-SV-II-list-nonNegativeInteger-length-2-2 tokoe:invalid" result="pass"/><test-case name="19160NISTXML-SV-II-list-nonNegativeInteger-length-2-3 tokoe:invalid" result="pass"/><test-case name="19161NISTXML-SV-II-list-nonNegativeInteger-length-2-4 tokoe:invalid" result="pass"/><test-case name="19162NISTXML-SV-II-list-nonNegativeInteger-length-2-5 tokoe:invalid" result="pass"/><test-case name="19163NISTSchema-SV-II-list-nonNegativeInteger-length-3 tokoe:valid" result="pass"/><test-case name="19164NISTXML-SV-II-list-nonNegativeInteger-length-3-1 tokoe:invalid" result="pass"/><test-case name="19165NISTXML-SV-II-list-nonNegativeInteger-length-3-2 tokoe:invalid" result="pass"/><test-case name="19166NISTXML-SV-II-list-nonNegativeInteger-length-3-3 tokoe:invalid" result="pass"/><test-case name="19167NISTXML-SV-II-list-nonNegativeInteger-length-3-4 tokoe:invalid" result="pass"/><test-case name="19168NISTXML-SV-II-list-nonNegativeInteger-length-3-5 tokoe:invalid" result="pass"/><test-case name="19169NISTSchema-SV-II-list-nonNegativeInteger-length-4 tokoe:valid" result="pass"/><test-case name="19170NISTXML-SV-II-list-nonNegativeInteger-length-4-1 tokoe:invalid" result="pass"/><test-case name="19171NISTXML-SV-II-list-nonNegativeInteger-length-4-2 tokoe:invalid" result="pass"/><test-case name="19172NISTXML-SV-II-list-nonNegativeInteger-length-4-3 tokoe:invalid" result="pass"/><test-case name="19173NISTXML-SV-II-list-nonNegativeInteger-length-4-4 tokoe:invalid" result="pass"/><test-case name="19174NISTXML-SV-II-list-nonNegativeInteger-length-4-5 tokoe:invalid" result="pass"/><test-case name="19175NISTSchema-SV-II-list-nonNegativeInteger-length-5 tokoe:valid" result="pass"/><test-case name="19176NISTXML-SV-II-list-nonNegativeInteger-length-5-1 tokoe:invalid" result="pass"/><test-case name="19177NISTXML-SV-II-list-nonNegativeInteger-length-5-2 tokoe:invalid" result="pass"/><test-case name="19178NISTXML-SV-II-list-nonNegativeInteger-length-5-3 tokoe:invalid" result="pass"/><test-case name="19179NISTXML-SV-II-list-nonNegativeInteger-length-5-4 tokoe:invalid" result="pass"/><test-case name="19180NISTXML-SV-II-list-nonNegativeInteger-length-5-5 tokoe:invalid" result="pass"/><test-case name="19181NISTSchema-SV-II-list-nonNegativeInteger-pattern-1 tokoe:valid" result="pass"/><test-case name="19182NISTXML-SV-II-list-nonNegativeInteger-pattern-1-1 tokoe:invalid" result="pass"/><test-case name="19183NISTXML-SV-II-list-nonNegativeInteger-pattern-1-2 tokoe:invalid" result="pass"/><test-case name="19184NISTXML-SV-II-list-nonNegativeInteger-pattern-1-3 tokoe:invalid" result="pass"/><test-case name="19185NISTXML-SV-II-list-nonNegativeInteger-pattern-1-4 tokoe:invalid" result="pass"/><test-case name="19186NISTXML-SV-II-list-nonNegativeInteger-pattern-1-5 tokoe:invalid" result="pass"/><test-case name="19187NISTSchema-SV-II-list-nonNegativeInteger-pattern-2 tokoe:valid" result="pass"/><test-case name="19188NISTXML-SV-II-list-nonNegativeInteger-pattern-2-1 tokoe:invalid" result="pass"/><test-case name="19189NISTXML-SV-II-list-nonNegativeInteger-pattern-2-2 tokoe:invalid" result="pass"/><test-case name="19190NISTXML-SV-II-list-nonNegativeInteger-pattern-2-3 tokoe:invalid" result="pass"/><test-case name="19191NISTXML-SV-II-list-nonNegativeInteger-pattern-2-4 tokoe:invalid" result="pass"/><test-case name="19192NISTXML-SV-II-list-nonNegativeInteger-pattern-2-5 tokoe:invalid" result="pass"/><test-case name="19193NISTSchema-SV-II-list-nonNegativeInteger-pattern-3 tokoe:valid" result="pass"/><test-case name="19194NISTXML-SV-II-list-nonNegativeInteger-pattern-3-1 tokoe:invalid" result="pass"/><test-case name="19195NISTXML-SV-II-list-nonNegativeInteger-pattern-3-2 tokoe:invalid" result="pass"/><test-case name="19196NISTXML-SV-II-list-nonNegativeInteger-pattern-3-3 tokoe:invalid" result="pass"/><test-case name="19197NISTXML-SV-II-list-nonNegativeInteger-pattern-3-4 tokoe:invalid" result="pass"/><test-case name="19198NISTXML-SV-II-list-nonNegativeInteger-pattern-3-5 tokoe:invalid" result="pass"/><test-case name="19199NISTSchema-SV-II-list-nonNegativeInteger-pattern-4 tokoe:valid" result="pass"/><test-case name="19200NISTXML-SV-II-list-nonNegativeInteger-pattern-4-1 tokoe:invalid" result="pass"/><test-case name="19201NISTXML-SV-II-list-nonNegativeInteger-pattern-4-2 tokoe:invalid" result="pass"/><test-case name="19202NISTXML-SV-II-list-nonNegativeInteger-pattern-4-3 tokoe:invalid" result="pass"/><test-case name="19203NISTXML-SV-II-list-nonNegativeInteger-pattern-4-4 tokoe:invalid" result="pass"/><test-case name="19204NISTXML-SV-II-list-nonNegativeInteger-pattern-4-5 tokoe:invalid" result="pass"/><test-case name="19205NISTSchema-SV-II-list-nonNegativeInteger-pattern-5 tokoe:valid" result="pass"/><test-case name="19206NISTXML-SV-II-list-nonNegativeInteger-pattern-5-1 tokoe:invalid" result="pass"/><test-case name="19207NISTXML-SV-II-list-nonNegativeInteger-pattern-5-2 tokoe:invalid" result="pass"/><test-case name="19208NISTXML-SV-II-list-nonNegativeInteger-pattern-5-3 tokoe:invalid" result="pass"/><test-case name="19209NISTXML-SV-II-list-nonNegativeInteger-pattern-5-4 tokoe:invalid" result="pass"/><test-case name="19210NISTXML-SV-II-list-nonNegativeInteger-pattern-5-5 tokoe:invalid" result="pass"/><test-case name="19211NISTSchema-SV-II-list-nonNegativeInteger-enumeration-1 tokoe:valid" result="pass"/><test-case name="19212NISTXML-SV-II-list-nonNegativeInteger-enumeration-1-1 tokoe:invalid" result="pass"/><test-case name="19213NISTXML-SV-II-list-nonNegativeInteger-enumeration-1-2 tokoe:invalid" result="pass"/><test-case name="19214NISTXML-SV-II-list-nonNegativeInteger-enumeration-1-3 tokoe:invalid" result="pass"/><test-case name="19215NISTXML-SV-II-list-nonNegativeInteger-enumeration-1-4 tokoe:invalid" result="pass"/><test-case name="19216NISTXML-SV-II-list-nonNegativeInteger-enumeration-1-5 tokoe:invalid" result="pass"/><test-case name="19217NISTSchema-SV-II-list-nonNegativeInteger-enumeration-2 tokoe:valid" result="pass"/><test-case name="19218NISTXML-SV-II-list-nonNegativeInteger-enumeration-2-1 tokoe:invalid" result="pass"/><test-case name="19219NISTXML-SV-II-list-nonNegativeInteger-enumeration-2-2 tokoe:invalid" result="pass"/><test-case name="19220NISTXML-SV-II-list-nonNegativeInteger-enumeration-2-3 tokoe:invalid" result="pass"/><test-case name="19221NISTXML-SV-II-list-nonNegativeInteger-enumeration-2-4 tokoe:invalid" result="pass"/><test-case name="19222NISTXML-SV-II-list-nonNegativeInteger-enumeration-2-5 tokoe:invalid" result="pass"/><test-case name="19223NISTSchema-SV-II-list-nonNegativeInteger-enumeration-3 tokoe:valid" result="pass"/><test-case name="19224NISTXML-SV-II-list-nonNegativeInteger-enumeration-3-1 tokoe:invalid" result="pass"/><test-case name="19225NISTXML-SV-II-list-nonNegativeInteger-enumeration-3-2 tokoe:invalid" result="pass"/><test-case name="19226NISTXML-SV-II-list-nonNegativeInteger-enumeration-3-3 tokoe:invalid" result="pass"/><test-case name="19227NISTXML-SV-II-list-nonNegativeInteger-enumeration-3-4 tokoe:invalid" result="pass"/><test-case name="19228NISTXML-SV-II-list-nonNegativeInteger-enumeration-3-5 tokoe:invalid" result="pass"/><test-case name="19229NISTSchema-SV-II-list-nonNegativeInteger-enumeration-4 tokoe:valid" result="pass"/><test-case name="19230NISTXML-SV-II-list-nonNegativeInteger-enumeration-4-1 tokoe:invalid" result="pass"/><test-case name="19231NISTXML-SV-II-list-nonNegativeInteger-enumeration-4-2 tokoe:invalid" result="pass"/><test-case name="19232NISTXML-SV-II-list-nonNegativeInteger-enumeration-4-3 tokoe:invalid" result="pass"/><test-case name="19233NISTXML-SV-II-list-nonNegativeInteger-enumeration-4-4 tokoe:invalid" result="pass"/><test-case name="19234NISTXML-SV-II-list-nonNegativeInteger-enumeration-4-5 tokoe:invalid" result="pass"/><test-case name="19235NISTSchema-SV-II-list-nonNegativeInteger-enumeration-5 tokoe:valid" result="pass"/><test-case name="19236NISTXML-SV-II-list-nonNegativeInteger-enumeration-5-1 tokoe:invalid" result="pass"/><test-case name="19237NISTXML-SV-II-list-nonNegativeInteger-enumeration-5-2 tokoe:invalid" result="pass"/><test-case name="19238NISTXML-SV-II-list-nonNegativeInteger-enumeration-5-3 tokoe:invalid" result="pass"/><test-case name="19239NISTXML-SV-II-list-nonNegativeInteger-enumeration-5-4 tokoe:invalid" result="pass"/><test-case name="19240NISTXML-SV-II-list-nonNegativeInteger-enumeration-5-5 tokoe:invalid" result="pass"/><test-case name="19241NISTSchema-SV-II-list-unsignedLong-maxLength-1 tokoe:valid" result="pass"/><test-case name="19242NISTXML-SV-II-list-unsignedLong-maxLength-1-1 tokoe:invalid" result="pass"/><test-case name="19243NISTXML-SV-II-list-unsignedLong-maxLength-1-2 tokoe:invalid" result="pass"/><test-case name="19244NISTXML-SV-II-list-unsignedLong-maxLength-1-3 tokoe:invalid" result="pass"/><test-case name="19245NISTXML-SV-II-list-unsignedLong-maxLength-1-4 tokoe:invalid" result="pass"/><test-case name="19246NISTXML-SV-II-list-unsignedLong-maxLength-1-5 tokoe:invalid" result="pass"/><test-case name="19247NISTSchema-SV-II-list-unsignedLong-maxLength-2 tokoe:valid" result="pass"/><test-case name="19248NISTXML-SV-II-list-unsignedLong-maxLength-2-1 tokoe:invalid" result="pass"/><test-case name="19249NISTXML-SV-II-list-unsignedLong-maxLength-2-2 tokoe:invalid" result="pass"/><test-case name="19250NISTXML-SV-II-list-unsignedLong-maxLength-2-3 tokoe:invalid" result="pass"/><test-case name="19251NISTXML-SV-II-list-unsignedLong-maxLength-2-4 tokoe:invalid" result="pass"/><test-case name="19252NISTXML-SV-II-list-unsignedLong-maxLength-2-5 tokoe:invalid" result="pass"/><test-case name="19253NISTSchema-SV-II-list-unsignedLong-maxLength-3 tokoe:valid" result="pass"/><test-case name="19254NISTXML-SV-II-list-unsignedLong-maxLength-3-1 tokoe:invalid" result="pass"/><test-case name="19255NISTXML-SV-II-list-unsignedLong-maxLength-3-2 tokoe:invalid" result="pass"/><test-case name="19256NISTXML-SV-II-list-unsignedLong-maxLength-3-3 tokoe:invalid" result="pass"/><test-case name="19257NISTXML-SV-II-list-unsignedLong-maxLength-3-4 tokoe:invalid" result="pass"/><test-case name="19258NISTXML-SV-II-list-unsignedLong-maxLength-3-5 tokoe:invalid" result="pass"/><test-case name="19259NISTSchema-SV-II-list-unsignedLong-maxLength-4 tokoe:valid" result="pass"/><test-case name="19260NISTXML-SV-II-list-unsignedLong-maxLength-4-1 tokoe:invalid" result="pass"/><test-case name="19261NISTXML-SV-II-list-unsignedLong-maxLength-4-2 tokoe:invalid" result="pass"/><test-case name="19262NISTXML-SV-II-list-unsignedLong-maxLength-4-3 tokoe:invalid" result="pass"/><test-case name="19263NISTXML-SV-II-list-unsignedLong-maxLength-4-4 tokoe:invalid" result="pass"/><test-case name="19264NISTXML-SV-II-list-unsignedLong-maxLength-4-5 tokoe:invalid" result="pass"/><test-case name="19265NISTSchema-SV-II-list-unsignedLong-maxLength-5 tokoe:valid" result="pass"/><test-case name="19266NISTXML-SV-II-list-unsignedLong-maxLength-5-1 tokoe:invalid" result="pass"/><test-case name="19267NISTXML-SV-II-list-unsignedLong-maxLength-5-2 tokoe:invalid" result="pass"/><test-case name="19268NISTXML-SV-II-list-unsignedLong-maxLength-5-3 tokoe:invalid" result="pass"/><test-case name="19269NISTXML-SV-II-list-unsignedLong-maxLength-5-4 tokoe:invalid" result="pass"/><test-case name="19270NISTXML-SV-II-list-unsignedLong-maxLength-5-5 tokoe:invalid" result="pass"/><test-case name="19271NISTSchema-SV-II-list-unsignedLong-minLength-1 tokoe:valid" result="pass"/><test-case name="19272NISTXML-SV-II-list-unsignedLong-minLength-1-1 tokoe:invalid" result="pass"/><test-case name="19273NISTXML-SV-II-list-unsignedLong-minLength-1-2 tokoe:invalid" result="pass"/><test-case name="19274NISTXML-SV-II-list-unsignedLong-minLength-1-3 tokoe:invalid" result="pass"/><test-case name="19275NISTXML-SV-II-list-unsignedLong-minLength-1-4 tokoe:invalid" result="pass"/><test-case name="19276NISTXML-SV-II-list-unsignedLong-minLength-1-5 tokoe:invalid" result="pass"/><test-case name="19277NISTSchema-SV-II-list-unsignedLong-minLength-2 tokoe:valid" result="pass"/><test-case name="19278NISTXML-SV-II-list-unsignedLong-minLength-2-1 tokoe:invalid" result="pass"/><test-case name="19279NISTXML-SV-II-list-unsignedLong-minLength-2-2 tokoe:invalid" result="pass"/><test-case name="19280NISTXML-SV-II-list-unsignedLong-minLength-2-3 tokoe:invalid" result="pass"/><test-case name="19281NISTXML-SV-II-list-unsignedLong-minLength-2-4 tokoe:invalid" result="pass"/><test-case name="19282NISTXML-SV-II-list-unsignedLong-minLength-2-5 tokoe:invalid" result="pass"/><test-case name="19283NISTSchema-SV-II-list-unsignedLong-minLength-3 tokoe:valid" result="pass"/><test-case name="19284NISTXML-SV-II-list-unsignedLong-minLength-3-1 tokoe:invalid" result="pass"/><test-case name="19285NISTXML-SV-II-list-unsignedLong-minLength-3-2 tokoe:invalid" result="pass"/><test-case name="19286NISTXML-SV-II-list-unsignedLong-minLength-3-3 tokoe:invalid" result="pass"/><test-case name="19287NISTXML-SV-II-list-unsignedLong-minLength-3-4 tokoe:invalid" result="pass"/><test-case name="19288NISTXML-SV-II-list-unsignedLong-minLength-3-5 tokoe:invalid" result="pass"/><test-case name="19289NISTSchema-SV-II-list-unsignedLong-minLength-4 tokoe:valid" result="pass"/><test-case name="19290NISTXML-SV-II-list-unsignedLong-minLength-4-1 tokoe:invalid" result="pass"/><test-case name="19291NISTXML-SV-II-list-unsignedLong-minLength-4-2 tokoe:invalid" result="pass"/><test-case name="19292NISTXML-SV-II-list-unsignedLong-minLength-4-3 tokoe:invalid" result="pass"/><test-case name="19293NISTXML-SV-II-list-unsignedLong-minLength-4-4 tokoe:invalid" result="pass"/><test-case name="19294NISTXML-SV-II-list-unsignedLong-minLength-4-5 tokoe:invalid" result="pass"/><test-case name="19295NISTSchema-SV-II-list-unsignedLong-minLength-5 tokoe:valid" result="pass"/><test-case name="19296NISTXML-SV-II-list-unsignedLong-minLength-5-1 tokoe:invalid" result="pass"/><test-case name="19297NISTXML-SV-II-list-unsignedLong-minLength-5-2 tokoe:invalid" result="pass"/><test-case name="19298NISTXML-SV-II-list-unsignedLong-minLength-5-3 tokoe:invalid" result="pass"/><test-case name="19299NISTXML-SV-II-list-unsignedLong-minLength-5-4 tokoe:invalid" result="pass"/><test-case name="19300NISTXML-SV-II-list-unsignedLong-minLength-5-5 tokoe:invalid" result="pass"/><test-case name="19301NISTSchema-SV-II-list-unsignedLong-length-1 tokoe:valid" result="pass"/><test-case name="19302NISTXML-SV-II-list-unsignedLong-length-1-1 tokoe:invalid" result="pass"/><test-case name="19303NISTXML-SV-II-list-unsignedLong-length-1-2 tokoe:invalid" result="pass"/><test-case name="19304NISTXML-SV-II-list-unsignedLong-length-1-3 tokoe:invalid" result="pass"/><test-case name="19305NISTXML-SV-II-list-unsignedLong-length-1-4 tokoe:invalid" result="pass"/><test-case name="19306NISTXML-SV-II-list-unsignedLong-length-1-5 tokoe:invalid" result="pass"/><test-case name="19307NISTSchema-SV-II-list-unsignedLong-length-2 tokoe:valid" result="pass"/><test-case name="19308NISTXML-SV-II-list-unsignedLong-length-2-1 tokoe:invalid" result="pass"/><test-case name="19309NISTXML-SV-II-list-unsignedLong-length-2-2 tokoe:invalid" result="pass"/><test-case name="19310NISTXML-SV-II-list-unsignedLong-length-2-3 tokoe:invalid" result="pass"/><test-case name="19311NISTXML-SV-II-list-unsignedLong-length-2-4 tokoe:invalid" result="pass"/><test-case name="19312NISTXML-SV-II-list-unsignedLong-length-2-5 tokoe:invalid" result="pass"/><test-case name="19313NISTSchema-SV-II-list-unsignedLong-length-3 tokoe:valid" result="pass"/><test-case name="19314NISTXML-SV-II-list-unsignedLong-length-3-1 tokoe:invalid" result="pass"/><test-case name="19315NISTXML-SV-II-list-unsignedLong-length-3-2 tokoe:invalid" result="pass"/><test-case name="19316NISTXML-SV-II-list-unsignedLong-length-3-3 tokoe:invalid" result="pass"/><test-case name="19317NISTXML-SV-II-list-unsignedLong-length-3-4 tokoe:invalid" result="pass"/><test-case name="19318NISTXML-SV-II-list-unsignedLong-length-3-5 tokoe:invalid" result="pass"/><test-case name="19319NISTSchema-SV-II-list-unsignedLong-length-4 tokoe:valid" result="pass"/><test-case name="19320NISTXML-SV-II-list-unsignedLong-length-4-1 tokoe:invalid" result="pass"/><test-case name="19321NISTXML-SV-II-list-unsignedLong-length-4-2 tokoe:invalid" result="pass"/><test-case name="19322NISTXML-SV-II-list-unsignedLong-length-4-3 tokoe:invalid" result="pass"/><test-case name="19323NISTXML-SV-II-list-unsignedLong-length-4-4 tokoe:invalid" result="pass"/><test-case name="19324NISTXML-SV-II-list-unsignedLong-length-4-5 tokoe:invalid" result="pass"/><test-case name="19325NISTSchema-SV-II-list-unsignedLong-length-5 tokoe:valid" result="pass"/><test-case name="19326NISTXML-SV-II-list-unsignedLong-length-5-1 tokoe:invalid" result="pass"/><test-case name="19327NISTXML-SV-II-list-unsignedLong-length-5-2 tokoe:invalid" result="pass"/><test-case name="19328NISTXML-SV-II-list-unsignedLong-length-5-3 tokoe:invalid" result="pass"/><test-case name="19329NISTXML-SV-II-list-unsignedLong-length-5-4 tokoe:invalid" result="pass"/><test-case name="19330NISTXML-SV-II-list-unsignedLong-length-5-5 tokoe:invalid" result="pass"/><test-case name="19331NISTSchema-SV-II-list-unsignedLong-pattern-1 tokoe:valid" result="pass"/><test-case name="19332NISTXML-SV-II-list-unsignedLong-pattern-1-1 tokoe:invalid" result="pass"/><test-case name="19333NISTXML-SV-II-list-unsignedLong-pattern-1-2 tokoe:invalid" result="pass"/><test-case name="19334NISTXML-SV-II-list-unsignedLong-pattern-1-3 tokoe:invalid" result="pass"/><test-case name="19335NISTXML-SV-II-list-unsignedLong-pattern-1-4 tokoe:invalid" result="pass"/><test-case name="19336NISTXML-SV-II-list-unsignedLong-pattern-1-5 tokoe:invalid" result="pass"/><test-case name="19337NISTSchema-SV-II-list-unsignedLong-pattern-2 tokoe:valid" result="pass"/><test-case name="19338NISTXML-SV-II-list-unsignedLong-pattern-2-1 tokoe:invalid" result="pass"/><test-case name="19339NISTXML-SV-II-list-unsignedLong-pattern-2-2 tokoe:invalid" result="pass"/><test-case name="19340NISTXML-SV-II-list-unsignedLong-pattern-2-3 tokoe:invalid" result="pass"/><test-case name="19341NISTXML-SV-II-list-unsignedLong-pattern-2-4 tokoe:invalid" result="pass"/><test-case name="19342NISTXML-SV-II-list-unsignedLong-pattern-2-5 tokoe:invalid" result="pass"/><test-case name="19343NISTSchema-SV-II-list-unsignedLong-pattern-3 tokoe:valid" result="pass"/><test-case name="19344NISTXML-SV-II-list-unsignedLong-pattern-3-1 tokoe:invalid" result="pass"/><test-case name="19345NISTXML-SV-II-list-unsignedLong-pattern-3-2 tokoe:invalid" result="pass"/><test-case name="19346NISTXML-SV-II-list-unsignedLong-pattern-3-3 tokoe:invalid" result="pass"/><test-case name="19347NISTXML-SV-II-list-unsignedLong-pattern-3-4 tokoe:invalid" result="pass"/><test-case name="19348NISTXML-SV-II-list-unsignedLong-pattern-3-5 tokoe:invalid" result="pass"/><test-case name="19349NISTSchema-SV-II-list-unsignedLong-pattern-4 tokoe:valid" result="pass"/><test-case name="19350NISTXML-SV-II-list-unsignedLong-pattern-4-1 tokoe:invalid" result="pass"/><test-case name="19351NISTXML-SV-II-list-unsignedLong-pattern-4-2 tokoe:invalid" result="pass"/><test-case name="19352NISTXML-SV-II-list-unsignedLong-pattern-4-3 tokoe:invalid" result="pass"/><test-case name="19353NISTXML-SV-II-list-unsignedLong-pattern-4-4 tokoe:invalid" result="pass"/><test-case name="19354NISTXML-SV-II-list-unsignedLong-pattern-4-5 tokoe:invalid" result="pass"/><test-case name="19355NISTSchema-SV-II-list-unsignedLong-pattern-5 tokoe:valid" result="pass"/><test-case name="19356NISTXML-SV-II-list-unsignedLong-pattern-5-1 tokoe:invalid" result="pass"/><test-case name="19357NISTXML-SV-II-list-unsignedLong-pattern-5-2 tokoe:invalid" result="pass"/><test-case name="19358NISTXML-SV-II-list-unsignedLong-pattern-5-3 tokoe:invalid" result="pass"/><test-case name="19359NISTXML-SV-II-list-unsignedLong-pattern-5-4 tokoe:invalid" result="pass"/><test-case name="19360NISTXML-SV-II-list-unsignedLong-pattern-5-5 tokoe:invalid" result="pass"/><test-case name="19361NISTSchema-SV-II-list-unsignedLong-enumeration-1 tokoe:valid" result="pass"/><test-case name="19362NISTXML-SV-II-list-unsignedLong-enumeration-1-1 tokoe:invalid" result="pass"/><test-case name="19363NISTXML-SV-II-list-unsignedLong-enumeration-1-2 tokoe:invalid" result="pass"/><test-case name="19364NISTXML-SV-II-list-unsignedLong-enumeration-1-3 tokoe:invalid" result="pass"/><test-case name="19365NISTXML-SV-II-list-unsignedLong-enumeration-1-4 tokoe:invalid" result="pass"/><test-case name="19366NISTXML-SV-II-list-unsignedLong-enumeration-1-5 tokoe:invalid" result="pass"/><test-case name="19367NISTSchema-SV-II-list-unsignedLong-enumeration-2 tokoe:valid" result="pass"/><test-case name="19368NISTXML-SV-II-list-unsignedLong-enumeration-2-1 tokoe:invalid" result="pass"/><test-case name="19369NISTXML-SV-II-list-unsignedLong-enumeration-2-2 tokoe:invalid" result="pass"/><test-case name="19370NISTXML-SV-II-list-unsignedLong-enumeration-2-3 tokoe:invalid" result="pass"/><test-case name="19371NISTXML-SV-II-list-unsignedLong-enumeration-2-4 tokoe:invalid" result="pass"/><test-case name="19372NISTXML-SV-II-list-unsignedLong-enumeration-2-5 tokoe:invalid" result="pass"/><test-case name="19373NISTSchema-SV-II-list-unsignedLong-enumeration-3 tokoe:valid" result="pass"/><test-case name="19374NISTXML-SV-II-list-unsignedLong-enumeration-3-1 tokoe:invalid" result="pass"/><test-case name="19375NISTXML-SV-II-list-unsignedLong-enumeration-3-2 tokoe:invalid" result="pass"/><test-case name="19376NISTXML-SV-II-list-unsignedLong-enumeration-3-3 tokoe:invalid" result="pass"/><test-case name="19377NISTXML-SV-II-list-unsignedLong-enumeration-3-4 tokoe:invalid" result="pass"/><test-case name="19378NISTXML-SV-II-list-unsignedLong-enumeration-3-5 tokoe:invalid" result="pass"/><test-case name="19379NISTSchema-SV-II-list-unsignedLong-enumeration-4 tokoe:valid" result="pass"/><test-case name="19380NISTXML-SV-II-list-unsignedLong-enumeration-4-1 tokoe:invalid" result="pass"/><test-case name="19381NISTXML-SV-II-list-unsignedLong-enumeration-4-2 tokoe:invalid" result="pass"/><test-case name="19382NISTXML-SV-II-list-unsignedLong-enumeration-4-3 tokoe:invalid" result="pass"/><test-case name="19383NISTXML-SV-II-list-unsignedLong-enumeration-4-4 tokoe:invalid" result="pass"/><test-case name="19384NISTXML-SV-II-list-unsignedLong-enumeration-4-5 tokoe:invalid" result="pass"/><test-case name="19385NISTSchema-SV-II-list-unsignedLong-enumeration-5 tokoe:valid" result="pass"/><test-case name="19386NISTXML-SV-II-list-unsignedLong-enumeration-5-1 tokoe:invalid" result="pass"/><test-case name="19387NISTXML-SV-II-list-unsignedLong-enumeration-5-2 tokoe:invalid" result="pass"/><test-case name="19388NISTXML-SV-II-list-unsignedLong-enumeration-5-3 tokoe:invalid" result="pass"/><test-case name="19389NISTXML-SV-II-list-unsignedLong-enumeration-5-4 tokoe:invalid" result="pass"/><test-case name="19390NISTXML-SV-II-list-unsignedLong-enumeration-5-5 tokoe:invalid" result="pass"/><test-case name="19391NISTSchema-SV-II-list-unsignedInt-maxLength-1 tokoe:valid" result="pass"/><test-case name="19392NISTXML-SV-II-list-unsignedInt-maxLength-1-1 tokoe:invalid" result="pass"/><test-case name="19393NISTXML-SV-II-list-unsignedInt-maxLength-1-2 tokoe:invalid" result="pass"/><test-case name="19394NISTXML-SV-II-list-unsignedInt-maxLength-1-3 tokoe:invalid" result="pass"/><test-case name="19395NISTXML-SV-II-list-unsignedInt-maxLength-1-4 tokoe:invalid" result="pass"/><test-case name="19396NISTXML-SV-II-list-unsignedInt-maxLength-1-5 tokoe:invalid" result="pass"/><test-case name="19397NISTSchema-SV-II-list-unsignedInt-maxLength-2 tokoe:valid" result="pass"/><test-case name="19398NISTXML-SV-II-list-unsignedInt-maxLength-2-1 tokoe:invalid" result="pass"/><test-case name="19399NISTXML-SV-II-list-unsignedInt-maxLength-2-2 tokoe:invalid" result="pass"/><test-case name="19400NISTXML-SV-II-list-unsignedInt-maxLength-2-3 tokoe:invalid" result="pass"/><test-case name="19401NISTXML-SV-II-list-unsignedInt-maxLength-2-4 tokoe:invalid" result="pass"/><test-case name="19402NISTXML-SV-II-list-unsignedInt-maxLength-2-5 tokoe:invalid" result="pass"/><test-case name="19403NISTSchema-SV-II-list-unsignedInt-maxLength-3 tokoe:valid" result="pass"/><test-case name="19404NISTXML-SV-II-list-unsignedInt-maxLength-3-1 tokoe:invalid" result="pass"/><test-case name="19405NISTXML-SV-II-list-unsignedInt-maxLength-3-2 tokoe:invalid" result="pass"/><test-case name="19406NISTXML-SV-II-list-unsignedInt-maxLength-3-3 tokoe:invalid" result="pass"/><test-case name="19407NISTXML-SV-II-list-unsignedInt-maxLength-3-4 tokoe:invalid" result="pass"/><test-case name="19408NISTXML-SV-II-list-unsignedInt-maxLength-3-5 tokoe:invalid" result="pass"/><test-case name="19409NISTSchema-SV-II-list-unsignedInt-maxLength-4 tokoe:valid" result="pass"/><test-case name="19410NISTXML-SV-II-list-unsignedInt-maxLength-4-1 tokoe:invalid" result="pass"/><test-case name="19411NISTXML-SV-II-list-unsignedInt-maxLength-4-2 tokoe:invalid" result="pass"/><test-case name="19412NISTXML-SV-II-list-unsignedInt-maxLength-4-3 tokoe:invalid" result="pass"/><test-case name="19413NISTXML-SV-II-list-unsignedInt-maxLength-4-4 tokoe:invalid" result="pass"/><test-case name="19414NISTXML-SV-II-list-unsignedInt-maxLength-4-5 tokoe:invalid" result="pass"/><test-case name="19415NISTSchema-SV-II-list-unsignedInt-maxLength-5 tokoe:valid" result="pass"/><test-case name="19416NISTXML-SV-II-list-unsignedInt-maxLength-5-1 tokoe:invalid" result="pass"/><test-case name="19417NISTXML-SV-II-list-unsignedInt-maxLength-5-2 tokoe:invalid" result="pass"/><test-case name="19418NISTXML-SV-II-list-unsignedInt-maxLength-5-3 tokoe:invalid" result="pass"/><test-case name="19419NISTXML-SV-II-list-unsignedInt-maxLength-5-4 tokoe:invalid" result="pass"/><test-case name="19420NISTXML-SV-II-list-unsignedInt-maxLength-5-5 tokoe:invalid" result="pass"/><test-case name="19421NISTSchema-SV-II-list-unsignedInt-minLength-1 tokoe:valid" result="pass"/><test-case name="19422NISTXML-SV-II-list-unsignedInt-minLength-1-1 tokoe:invalid" result="pass"/><test-case name="19423NISTXML-SV-II-list-unsignedInt-minLength-1-2 tokoe:invalid" result="pass"/><test-case name="19424NISTXML-SV-II-list-unsignedInt-minLength-1-3 tokoe:invalid" result="pass"/><test-case name="19425NISTXML-SV-II-list-unsignedInt-minLength-1-4 tokoe:invalid" result="pass"/><test-case name="19426NISTXML-SV-II-list-unsignedInt-minLength-1-5 tokoe:invalid" result="pass"/><test-case name="19427NISTSchema-SV-II-list-unsignedInt-minLength-2 tokoe:valid" result="pass"/><test-case name="19428NISTXML-SV-II-list-unsignedInt-minLength-2-1 tokoe:invalid" result="pass"/><test-case name="19429NISTXML-SV-II-list-unsignedInt-minLength-2-2 tokoe:invalid" result="pass"/><test-case name="19430NISTXML-SV-II-list-unsignedInt-minLength-2-3 tokoe:invalid" result="pass"/><test-case name="19431NISTXML-SV-II-list-unsignedInt-minLength-2-4 tokoe:invalid" result="pass"/><test-case name="19432NISTXML-SV-II-list-unsignedInt-minLength-2-5 tokoe:invalid" result="pass"/><test-case name="19433NISTSchema-SV-II-list-unsignedInt-minLength-3 tokoe:valid" result="pass"/><test-case name="19434NISTXML-SV-II-list-unsignedInt-minLength-3-1 tokoe:invalid" result="pass"/><test-case name="19435NISTXML-SV-II-list-unsignedInt-minLength-3-2 tokoe:invalid" result="pass"/><test-case name="19436NISTXML-SV-II-list-unsignedInt-minLength-3-3 tokoe:invalid" result="pass"/><test-case name="19437NISTXML-SV-II-list-unsignedInt-minLength-3-4 tokoe:invalid" result="pass"/><test-case name="19438NISTXML-SV-II-list-unsignedInt-minLength-3-5 tokoe:invalid" result="pass"/><test-case name="19439NISTSchema-SV-II-list-unsignedInt-minLength-4 tokoe:valid" result="pass"/><test-case name="19440NISTXML-SV-II-list-unsignedInt-minLength-4-1 tokoe:invalid" result="pass"/><test-case name="19441NISTXML-SV-II-list-unsignedInt-minLength-4-2 tokoe:invalid" result="pass"/><test-case name="19442NISTXML-SV-II-list-unsignedInt-minLength-4-3 tokoe:invalid" result="pass"/><test-case name="19443NISTXML-SV-II-list-unsignedInt-minLength-4-4 tokoe:invalid" result="pass"/><test-case name="19444NISTXML-SV-II-list-unsignedInt-minLength-4-5 tokoe:invalid" result="pass"/><test-case name="19445NISTSchema-SV-II-list-unsignedInt-minLength-5 tokoe:valid" result="pass"/><test-case name="19446NISTXML-SV-II-list-unsignedInt-minLength-5-1 tokoe:invalid" result="pass"/><test-case name="19447NISTXML-SV-II-list-unsignedInt-minLength-5-2 tokoe:invalid" result="pass"/><test-case name="19448NISTXML-SV-II-list-unsignedInt-minLength-5-3 tokoe:invalid" result="pass"/><test-case name="19449NISTXML-SV-II-list-unsignedInt-minLength-5-4 tokoe:invalid" result="pass"/><test-case name="19450NISTXML-SV-II-list-unsignedInt-minLength-5-5 tokoe:invalid" result="pass"/><test-case name="19451NISTSchema-SV-II-list-unsignedInt-length-1 tokoe:valid" result="pass"/><test-case name="19452NISTXML-SV-II-list-unsignedInt-length-1-1 tokoe:invalid" result="pass"/><test-case name="19453NISTXML-SV-II-list-unsignedInt-length-1-2 tokoe:invalid" result="pass"/><test-case name="19454NISTXML-SV-II-list-unsignedInt-length-1-3 tokoe:invalid" result="pass"/><test-case name="19455NISTXML-SV-II-list-unsignedInt-length-1-4 tokoe:invalid" result="pass"/><test-case name="19456NISTXML-SV-II-list-unsignedInt-length-1-5 tokoe:invalid" result="pass"/><test-case name="19457NISTSchema-SV-II-list-unsignedInt-length-2 tokoe:valid" result="pass"/><test-case name="19458NISTXML-SV-II-list-unsignedInt-length-2-1 tokoe:invalid" result="pass"/><test-case name="19459NISTXML-SV-II-list-unsignedInt-length-2-2 tokoe:invalid" result="pass"/><test-case name="19460NISTXML-SV-II-list-unsignedInt-length-2-3 tokoe:invalid" result="pass"/><test-case name="19461NISTXML-SV-II-list-unsignedInt-length-2-4 tokoe:invalid" result="pass"/><test-case name="19462NISTXML-SV-II-list-unsignedInt-length-2-5 tokoe:invalid" result="pass"/><test-case name="19463NISTSchema-SV-II-list-unsignedInt-length-3 tokoe:valid" result="pass"/><test-case name="19464NISTXML-SV-II-list-unsignedInt-length-3-1 tokoe:invalid" result="pass"/><test-case name="19465NISTXML-SV-II-list-unsignedInt-length-3-2 tokoe:invalid" result="pass"/><test-case name="19466NISTXML-SV-II-list-unsignedInt-length-3-3 tokoe:invalid" result="pass"/><test-case name="19467NISTXML-SV-II-list-unsignedInt-length-3-4 tokoe:invalid" result="pass"/><test-case name="19468NISTXML-SV-II-list-unsignedInt-length-3-5 tokoe:invalid" result="pass"/><test-case name="19469NISTSchema-SV-II-list-unsignedInt-length-4 tokoe:valid" result="pass"/><test-case name="19470NISTXML-SV-II-list-unsignedInt-length-4-1 tokoe:invalid" result="pass"/><test-case name="19471NISTXML-SV-II-list-unsignedInt-length-4-2 tokoe:invalid" result="pass"/><test-case name="19472NISTXML-SV-II-list-unsignedInt-length-4-3 tokoe:invalid" result="pass"/><test-case name="19473NISTXML-SV-II-list-unsignedInt-length-4-4 tokoe:invalid" result="pass"/><test-case name="19474NISTXML-SV-II-list-unsignedInt-length-4-5 tokoe:invalid" result="pass"/><test-case name="19475NISTSchema-SV-II-list-unsignedInt-length-5 tokoe:valid" result="pass"/><test-case name="19476NISTXML-SV-II-list-unsignedInt-length-5-1 tokoe:invalid" result="pass"/><test-case name="19477NISTXML-SV-II-list-unsignedInt-length-5-2 tokoe:invalid" result="pass"/><test-case name="19478NISTXML-SV-II-list-unsignedInt-length-5-3 tokoe:invalid" result="pass"/><test-case name="19479NISTXML-SV-II-list-unsignedInt-length-5-4 tokoe:invalid" result="pass"/><test-case name="19480NISTXML-SV-II-list-unsignedInt-length-5-5 tokoe:invalid" result="pass"/><test-case name="19481NISTSchema-SV-II-list-unsignedInt-pattern-1 tokoe:valid" result="pass"/><test-case name="19482NISTXML-SV-II-list-unsignedInt-pattern-1-1 tokoe:invalid" result="pass"/><test-case name="19483NISTXML-SV-II-list-unsignedInt-pattern-1-2 tokoe:invalid" result="pass"/><test-case name="19484NISTXML-SV-II-list-unsignedInt-pattern-1-3 tokoe:invalid" result="pass"/><test-case name="19485NISTXML-SV-II-list-unsignedInt-pattern-1-4 tokoe:invalid" result="pass"/><test-case name="19486NISTXML-SV-II-list-unsignedInt-pattern-1-5 tokoe:invalid" result="pass"/><test-case name="19487NISTSchema-SV-II-list-unsignedInt-pattern-2 tokoe:valid" result="pass"/><test-case name="19488NISTXML-SV-II-list-unsignedInt-pattern-2-1 tokoe:invalid" result="pass"/><test-case name="19489NISTXML-SV-II-list-unsignedInt-pattern-2-2 tokoe:invalid" result="pass"/><test-case name="19490NISTXML-SV-II-list-unsignedInt-pattern-2-3 tokoe:invalid" result="pass"/><test-case name="19491NISTXML-SV-II-list-unsignedInt-pattern-2-4 tokoe:invalid" result="pass"/><test-case name="19492NISTXML-SV-II-list-unsignedInt-pattern-2-5 tokoe:invalid" result="pass"/><test-case name="19493NISTSchema-SV-II-list-unsignedInt-pattern-3 tokoe:valid" result="pass"/><test-case name="19494NISTXML-SV-II-list-unsignedInt-pattern-3-1 tokoe:invalid" result="pass"/><test-case name="19495NISTXML-SV-II-list-unsignedInt-pattern-3-2 tokoe:invalid" result="pass"/><test-case name="19496NISTXML-SV-II-list-unsignedInt-pattern-3-3 tokoe:invalid" result="pass"/><test-case name="19497NISTXML-SV-II-list-unsignedInt-pattern-3-4 tokoe:invalid" result="pass"/><test-case name="19498NISTXML-SV-II-list-unsignedInt-pattern-3-5 tokoe:invalid" result="pass"/><test-case name="19499NISTSchema-SV-II-list-unsignedInt-pattern-4 tokoe:valid" result="pass"/><test-case name="19500NISTXML-SV-II-list-unsignedInt-pattern-4-1 tokoe:invalid" result="pass"/><test-case name="19501NISTXML-SV-II-list-unsignedInt-pattern-4-2 tokoe:invalid" result="pass"/><test-case name="19502NISTXML-SV-II-list-unsignedInt-pattern-4-3 tokoe:invalid" result="pass"/><test-case name="19503NISTXML-SV-II-list-unsignedInt-pattern-4-4 tokoe:invalid" result="pass"/><test-case name="19504NISTXML-SV-II-list-unsignedInt-pattern-4-5 tokoe:invalid" result="pass"/><test-case name="19505NISTSchema-SV-II-list-unsignedInt-pattern-5 tokoe:valid" result="pass"/><test-case name="19506NISTXML-SV-II-list-unsignedInt-pattern-5-1 tokoe:invalid" result="pass"/><test-case name="19507NISTXML-SV-II-list-unsignedInt-pattern-5-2 tokoe:invalid" result="pass"/><test-case name="19508NISTXML-SV-II-list-unsignedInt-pattern-5-3 tokoe:invalid" result="pass"/><test-case name="19509NISTXML-SV-II-list-unsignedInt-pattern-5-4 tokoe:invalid" result="pass"/><test-case name="19510NISTXML-SV-II-list-unsignedInt-pattern-5-5 tokoe:invalid" result="pass"/><test-case name="19511NISTSchema-SV-II-list-unsignedInt-enumeration-1 tokoe:valid" result="pass"/><test-case name="19512NISTXML-SV-II-list-unsignedInt-enumeration-1-1 tokoe:invalid" result="pass"/><test-case name="19513NISTXML-SV-II-list-unsignedInt-enumeration-1-2 tokoe:invalid" result="pass"/><test-case name="19514NISTXML-SV-II-list-unsignedInt-enumeration-1-3 tokoe:invalid" result="pass"/><test-case name="19515NISTXML-SV-II-list-unsignedInt-enumeration-1-4 tokoe:invalid" result="pass"/><test-case name="19516NISTXML-SV-II-list-unsignedInt-enumeration-1-5 tokoe:invalid" result="pass"/><test-case name="19517NISTSchema-SV-II-list-unsignedInt-enumeration-2 tokoe:valid" result="pass"/><test-case name="19518NISTXML-SV-II-list-unsignedInt-enumeration-2-1 tokoe:invalid" result="pass"/><test-case name="19519NISTXML-SV-II-list-unsignedInt-enumeration-2-2 tokoe:invalid" result="pass"/><test-case name="19520NISTXML-SV-II-list-unsignedInt-enumeration-2-3 tokoe:invalid" result="pass"/><test-case name="19521NISTXML-SV-II-list-unsignedInt-enumeration-2-4 tokoe:invalid" result="pass"/><test-case name="19522NISTXML-SV-II-list-unsignedInt-enumeration-2-5 tokoe:invalid" result="pass"/><test-case name="19523NISTSchema-SV-II-list-unsignedInt-enumeration-3 tokoe:valid" result="pass"/><test-case name="19524NISTXML-SV-II-list-unsignedInt-enumeration-3-1 tokoe:invalid" result="pass"/><test-case name="19525NISTXML-SV-II-list-unsignedInt-enumeration-3-2 tokoe:invalid" result="pass"/><test-case name="19526NISTXML-SV-II-list-unsignedInt-enumeration-3-3 tokoe:invalid" result="pass"/><test-case name="19527NISTXML-SV-II-list-unsignedInt-enumeration-3-4 tokoe:invalid" result="pass"/><test-case name="19528NISTXML-SV-II-list-unsignedInt-enumeration-3-5 tokoe:invalid" result="pass"/><test-case name="19529NISTSchema-SV-II-list-unsignedInt-enumeration-4 tokoe:valid" result="pass"/><test-case name="19530NISTXML-SV-II-list-unsignedInt-enumeration-4-1 tokoe:invalid" result="pass"/><test-case name="19531NISTXML-SV-II-list-unsignedInt-enumeration-4-2 tokoe:invalid" result="pass"/><test-case name="19532NISTXML-SV-II-list-unsignedInt-enumeration-4-3 tokoe:invalid" result="pass"/><test-case name="19533NISTXML-SV-II-list-unsignedInt-enumeration-4-4 tokoe:invalid" result="pass"/><test-case name="19534NISTXML-SV-II-list-unsignedInt-enumeration-4-5 tokoe:invalid" result="pass"/><test-case name="19535NISTSchema-SV-II-list-unsignedInt-enumeration-5 tokoe:valid" result="pass"/><test-case name="19536NISTXML-SV-II-list-unsignedInt-enumeration-5-1 tokoe:invalid" result="pass"/><test-case name="19537NISTXML-SV-II-list-unsignedInt-enumeration-5-2 tokoe:invalid" result="pass"/><test-case name="19538NISTXML-SV-II-list-unsignedInt-enumeration-5-3 tokoe:invalid" result="pass"/><test-case name="19539NISTXML-SV-II-list-unsignedInt-enumeration-5-4 tokoe:invalid" result="pass"/><test-case name="19540NISTXML-SV-II-list-unsignedInt-enumeration-5-5 tokoe:invalid" result="pass"/><test-case name="19541NISTSchema-SV-II-list-unsignedShort-maxLength-1 tokoe:valid" result="pass"/><test-case name="19542NISTXML-SV-II-list-unsignedShort-maxLength-1-1 tokoe:invalid" result="pass"/><test-case name="19543NISTXML-SV-II-list-unsignedShort-maxLength-1-2 tokoe:invalid" result="pass"/><test-case name="19544NISTXML-SV-II-list-unsignedShort-maxLength-1-3 tokoe:invalid" result="pass"/><test-case name="19545NISTXML-SV-II-list-unsignedShort-maxLength-1-4 tokoe:invalid" result="pass"/><test-case name="19546NISTXML-SV-II-list-unsignedShort-maxLength-1-5 tokoe:invalid" result="pass"/><test-case name="19547NISTSchema-SV-II-list-unsignedShort-maxLength-2 tokoe:valid" result="pass"/><test-case name="19548NISTXML-SV-II-list-unsignedShort-maxLength-2-1 tokoe:invalid" result="pass"/><test-case name="19549NISTXML-SV-II-list-unsignedShort-maxLength-2-2 tokoe:invalid" result="pass"/><test-case name="19550NISTXML-SV-II-list-unsignedShort-maxLength-2-3 tokoe:invalid" result="pass"/><test-case name="19551NISTXML-SV-II-list-unsignedShort-maxLength-2-4 tokoe:invalid" result="pass"/><test-case name="19552NISTXML-SV-II-list-unsignedShort-maxLength-2-5 tokoe:invalid" result="pass"/><test-case name="19553NISTSchema-SV-II-list-unsignedShort-maxLength-3 tokoe:valid" result="pass"/><test-case name="19554NISTXML-SV-II-list-unsignedShort-maxLength-3-1 tokoe:invalid" result="pass"/><test-case name="19555NISTXML-SV-II-list-unsignedShort-maxLength-3-2 tokoe:invalid" result="pass"/><test-case name="19556NISTXML-SV-II-list-unsignedShort-maxLength-3-3 tokoe:invalid" result="pass"/><test-case name="19557NISTXML-SV-II-list-unsignedShort-maxLength-3-4 tokoe:invalid" result="pass"/><test-case name="19558NISTXML-SV-II-list-unsignedShort-maxLength-3-5 tokoe:invalid" result="pass"/><test-case name="19559NISTSchema-SV-II-list-unsignedShort-maxLength-4 tokoe:valid" result="pass"/><test-case name="19560NISTXML-SV-II-list-unsignedShort-maxLength-4-1 tokoe:invalid" result="pass"/><test-case name="19561NISTXML-SV-II-list-unsignedShort-maxLength-4-2 tokoe:invalid" result="pass"/><test-case name="19562NISTXML-SV-II-list-unsignedShort-maxLength-4-3 tokoe:invalid" result="pass"/><test-case name="19563NISTXML-SV-II-list-unsignedShort-maxLength-4-4 tokoe:invalid" result="pass"/><test-case name="19564NISTXML-SV-II-list-unsignedShort-maxLength-4-5 tokoe:invalid" result="pass"/><test-case name="19565NISTSchema-SV-II-list-unsignedShort-maxLength-5 tokoe:valid" result="pass"/><test-case name="19566NISTXML-SV-II-list-unsignedShort-maxLength-5-1 tokoe:invalid" result="pass"/><test-case name="19567NISTXML-SV-II-list-unsignedShort-maxLength-5-2 tokoe:invalid" result="pass"/><test-case name="19568NISTXML-SV-II-list-unsignedShort-maxLength-5-3 tokoe:invalid" result="pass"/><test-case name="19569NISTXML-SV-II-list-unsignedShort-maxLength-5-4 tokoe:invalid" result="pass"/><test-case name="19570NISTXML-SV-II-list-unsignedShort-maxLength-5-5 tokoe:invalid" result="pass"/><test-case name="19571NISTSchema-SV-II-list-unsignedShort-minLength-1 tokoe:valid" result="pass"/><test-case name="19572NISTXML-SV-II-list-unsignedShort-minLength-1-1 tokoe:invalid" result="pass"/><test-case name="19573NISTXML-SV-II-list-unsignedShort-minLength-1-2 tokoe:invalid" result="pass"/><test-case name="19574NISTXML-SV-II-list-unsignedShort-minLength-1-3 tokoe:invalid" result="pass"/><test-case name="19575NISTXML-SV-II-list-unsignedShort-minLength-1-4 tokoe:invalid" result="pass"/><test-case name="19576NISTXML-SV-II-list-unsignedShort-minLength-1-5 tokoe:invalid" result="pass"/><test-case name="19577NISTSchema-SV-II-list-unsignedShort-minLength-2 tokoe:valid" result="pass"/><test-case name="19578NISTXML-SV-II-list-unsignedShort-minLength-2-1 tokoe:invalid" result="pass"/><test-case name="19579NISTXML-SV-II-list-unsignedShort-minLength-2-2 tokoe:invalid" result="pass"/><test-case name="19580NISTXML-SV-II-list-unsignedShort-minLength-2-3 tokoe:invalid" result="pass"/><test-case name="19581NISTXML-SV-II-list-unsignedShort-minLength-2-4 tokoe:invalid" result="pass"/><test-case name="19582NISTXML-SV-II-list-unsignedShort-minLength-2-5 tokoe:invalid" result="pass"/><test-case name="19583NISTSchema-SV-II-list-unsignedShort-minLength-3 tokoe:valid" result="pass"/><test-case name="19584NISTXML-SV-II-list-unsignedShort-minLength-3-1 tokoe:invalid" result="pass"/><test-case name="19585NISTXML-SV-II-list-unsignedShort-minLength-3-2 tokoe:invalid" result="pass"/><test-case name="19586NISTXML-SV-II-list-unsignedShort-minLength-3-3 tokoe:invalid" result="pass"/><test-case name="19587NISTXML-SV-II-list-unsignedShort-minLength-3-4 tokoe:invalid" result="pass"/><test-case name="19588NISTXML-SV-II-list-unsignedShort-minLength-3-5 tokoe:invalid" result="pass"/><test-case name="19589NISTSchema-SV-II-list-unsignedShort-minLength-4 tokoe:valid" result="pass"/><test-case name="19590NISTXML-SV-II-list-unsignedShort-minLength-4-1 tokoe:invalid" result="pass"/><test-case name="19591NISTXML-SV-II-list-unsignedShort-minLength-4-2 tokoe:invalid" result="pass"/><test-case name="19592NISTXML-SV-II-list-unsignedShort-minLength-4-3 tokoe:invalid" result="pass"/><test-case name="19593NISTXML-SV-II-list-unsignedShort-minLength-4-4 tokoe:invalid" result="pass"/><test-case name="19594NISTXML-SV-II-list-unsignedShort-minLength-4-5 tokoe:invalid" result="pass"/><test-case name="19595NISTSchema-SV-II-list-unsignedShort-minLength-5 tokoe:valid" result="pass"/><test-case name="19596NISTXML-SV-II-list-unsignedShort-minLength-5-1 tokoe:invalid" result="pass"/><test-case name="19597NISTXML-SV-II-list-unsignedShort-minLength-5-2 tokoe:invalid" result="pass"/><test-case name="19598NISTXML-SV-II-list-unsignedShort-minLength-5-3 tokoe:invalid" result="pass"/><test-case name="19599NISTXML-SV-II-list-unsignedShort-minLength-5-4 tokoe:invalid" result="pass"/><test-case name="19600NISTXML-SV-II-list-unsignedShort-minLength-5-5 tokoe:invalid" result="pass"/><test-case name="19601NISTSchema-SV-II-list-unsignedShort-length-1 tokoe:valid" result="pass"/><test-case name="19602NISTXML-SV-II-list-unsignedShort-length-1-1 tokoe:invalid" result="pass"/><test-case name="19603NISTXML-SV-II-list-unsignedShort-length-1-2 tokoe:invalid" result="pass"/><test-case name="19604NISTXML-SV-II-list-unsignedShort-length-1-3 tokoe:invalid" result="pass"/><test-case name="19605NISTXML-SV-II-list-unsignedShort-length-1-4 tokoe:invalid" result="pass"/><test-case name="19606NISTXML-SV-II-list-unsignedShort-length-1-5 tokoe:invalid" result="pass"/><test-case name="19607NISTSchema-SV-II-list-unsignedShort-length-2 tokoe:valid" result="pass"/><test-case name="19608NISTXML-SV-II-list-unsignedShort-length-2-1 tokoe:invalid" result="pass"/><test-case name="19609NISTXML-SV-II-list-unsignedShort-length-2-2 tokoe:invalid" result="pass"/><test-case name="19610NISTXML-SV-II-list-unsignedShort-length-2-3 tokoe:invalid" result="pass"/><test-case name="19611NISTXML-SV-II-list-unsignedShort-length-2-4 tokoe:invalid" result="pass"/><test-case name="19612NISTXML-SV-II-list-unsignedShort-length-2-5 tokoe:invalid" result="pass"/><test-case name="19613NISTSchema-SV-II-list-unsignedShort-length-3 tokoe:valid" result="pass"/><test-case name="19614NISTXML-SV-II-list-unsignedShort-length-3-1 tokoe:invalid" result="pass"/><test-case name="19615NISTXML-SV-II-list-unsignedShort-length-3-2 tokoe:invalid" result="pass"/><test-case name="19616NISTXML-SV-II-list-unsignedShort-length-3-3 tokoe:invalid" result="pass"/><test-case name="19617NISTXML-SV-II-list-unsignedShort-length-3-4 tokoe:invalid" result="pass"/><test-case name="19618NISTXML-SV-II-list-unsignedShort-length-3-5 tokoe:invalid" result="pass"/><test-case name="19619NISTSchema-SV-II-list-unsignedShort-length-4 tokoe:valid" result="pass"/><test-case name="19620NISTXML-SV-II-list-unsignedShort-length-4-1 tokoe:invalid" result="pass"/><test-case name="19621NISTXML-SV-II-list-unsignedShort-length-4-2 tokoe:invalid" result="pass"/><test-case name="19622NISTXML-SV-II-list-unsignedShort-length-4-3 tokoe:invalid" result="pass"/><test-case name="19623NISTXML-SV-II-list-unsignedShort-length-4-4 tokoe:invalid" result="pass"/><test-case name="19624NISTXML-SV-II-list-unsignedShort-length-4-5 tokoe:invalid" result="pass"/><test-case name="19625NISTSchema-SV-II-list-unsignedShort-length-5 tokoe:valid" result="pass"/><test-case name="19626NISTXML-SV-II-list-unsignedShort-length-5-1 tokoe:invalid" result="pass"/><test-case name="19627NISTXML-SV-II-list-unsignedShort-length-5-2 tokoe:invalid" result="pass"/><test-case name="19628NISTXML-SV-II-list-unsignedShort-length-5-3 tokoe:invalid" result="pass"/><test-case name="19629NISTXML-SV-II-list-unsignedShort-length-5-4 tokoe:invalid" result="pass"/><test-case name="19630NISTXML-SV-II-list-unsignedShort-length-5-5 tokoe:invalid" result="pass"/><test-case name="19631NISTSchema-SV-II-list-unsignedShort-pattern-1 tokoe:valid" result="pass"/><test-case name="19632NISTXML-SV-II-list-unsignedShort-pattern-1-1 tokoe:invalid" result="pass"/><test-case name="19633NISTXML-SV-II-list-unsignedShort-pattern-1-2 tokoe:invalid" result="pass"/><test-case name="19634NISTXML-SV-II-list-unsignedShort-pattern-1-3 tokoe:invalid" result="pass"/><test-case name="19635NISTXML-SV-II-list-unsignedShort-pattern-1-4 tokoe:invalid" result="pass"/><test-case name="19636NISTXML-SV-II-list-unsignedShort-pattern-1-5 tokoe:invalid" result="pass"/><test-case name="19637NISTSchema-SV-II-list-unsignedShort-pattern-2 tokoe:valid" result="pass"/><test-case name="19638NISTXML-SV-II-list-unsignedShort-pattern-2-1 tokoe:invalid" result="pass"/><test-case name="19639NISTXML-SV-II-list-unsignedShort-pattern-2-2 tokoe:invalid" result="pass"/><test-case name="19640NISTXML-SV-II-list-unsignedShort-pattern-2-3 tokoe:invalid" result="pass"/><test-case name="19641NISTXML-SV-II-list-unsignedShort-pattern-2-4 tokoe:invalid" result="pass"/><test-case name="19642NISTXML-SV-II-list-unsignedShort-pattern-2-5 tokoe:invalid" result="pass"/><test-case name="19643NISTSchema-SV-II-list-unsignedShort-pattern-3 tokoe:valid" result="pass"/><test-case name="19644NISTXML-SV-II-list-unsignedShort-pattern-3-1 tokoe:invalid" result="pass"/><test-case name="19645NISTXML-SV-II-list-unsignedShort-pattern-3-2 tokoe:invalid" result="pass"/><test-case name="19646NISTXML-SV-II-list-unsignedShort-pattern-3-3 tokoe:invalid" result="pass"/><test-case name="19647NISTXML-SV-II-list-unsignedShort-pattern-3-4 tokoe:invalid" result="pass"/><test-case name="19648NISTXML-SV-II-list-unsignedShort-pattern-3-5 tokoe:invalid" result="pass"/><test-case name="19649NISTSchema-SV-II-list-unsignedShort-pattern-4 tokoe:valid" result="pass"/><test-case name="19650NISTXML-SV-II-list-unsignedShort-pattern-4-1 tokoe:invalid" result="pass"/><test-case name="19651NISTXML-SV-II-list-unsignedShort-pattern-4-2 tokoe:invalid" result="pass"/><test-case name="19652NISTXML-SV-II-list-unsignedShort-pattern-4-3 tokoe:invalid" result="pass"/><test-case name="19653NISTXML-SV-II-list-unsignedShort-pattern-4-4 tokoe:invalid" result="pass"/><test-case name="19654NISTXML-SV-II-list-unsignedShort-pattern-4-5 tokoe:invalid" result="pass"/><test-case name="19655NISTSchema-SV-II-list-unsignedShort-pattern-5 tokoe:valid" result="pass"/><test-case name="19656NISTXML-SV-II-list-unsignedShort-pattern-5-1 tokoe:invalid" result="pass"/><test-case name="19657NISTXML-SV-II-list-unsignedShort-pattern-5-2 tokoe:invalid" result="pass"/><test-case name="19658NISTXML-SV-II-list-unsignedShort-pattern-5-3 tokoe:invalid" result="pass"/><test-case name="19659NISTXML-SV-II-list-unsignedShort-pattern-5-4 tokoe:invalid" result="pass"/><test-case name="19660NISTXML-SV-II-list-unsignedShort-pattern-5-5 tokoe:invalid" result="pass"/><test-case name="19661NISTSchema-SV-II-list-unsignedShort-enumeration-1 tokoe:valid" result="pass"/><test-case name="19662NISTXML-SV-II-list-unsignedShort-enumeration-1-1 tokoe:invalid" result="pass"/><test-case name="19663NISTXML-SV-II-list-unsignedShort-enumeration-1-2 tokoe:invalid" result="pass"/><test-case name="19664NISTXML-SV-II-list-unsignedShort-enumeration-1-3 tokoe:invalid" result="pass"/><test-case name="19665NISTXML-SV-II-list-unsignedShort-enumeration-1-4 tokoe:invalid" result="pass"/><test-case name="19666NISTXML-SV-II-list-unsignedShort-enumeration-1-5 tokoe:invalid" result="pass"/><test-case name="19667NISTSchema-SV-II-list-unsignedShort-enumeration-2 tokoe:valid" result="pass"/><test-case name="19668NISTXML-SV-II-list-unsignedShort-enumeration-2-1 tokoe:invalid" result="pass"/><test-case name="19669NISTXML-SV-II-list-unsignedShort-enumeration-2-2 tokoe:invalid" result="pass"/><test-case name="19670NISTXML-SV-II-list-unsignedShort-enumeration-2-3 tokoe:invalid" result="pass"/><test-case name="19671NISTXML-SV-II-list-unsignedShort-enumeration-2-4 tokoe:invalid" result="pass"/><test-case name="19672NISTXML-SV-II-list-unsignedShort-enumeration-2-5 tokoe:invalid" result="pass"/><test-case name="19673NISTSchema-SV-II-list-unsignedShort-enumeration-3 tokoe:valid" result="pass"/><test-case name="19674NISTXML-SV-II-list-unsignedShort-enumeration-3-1 tokoe:invalid" result="pass"/><test-case name="19675NISTXML-SV-II-list-unsignedShort-enumeration-3-2 tokoe:invalid" result="pass"/><test-case name="19676NISTXML-SV-II-list-unsignedShort-enumeration-3-3 tokoe:invalid" result="pass"/><test-case name="19677NISTXML-SV-II-list-unsignedShort-enumeration-3-4 tokoe:invalid" result="pass"/><test-case name="19678NISTXML-SV-II-list-unsignedShort-enumeration-3-5 tokoe:invalid" result="pass"/><test-case name="19679NISTSchema-SV-II-list-unsignedShort-enumeration-4 tokoe:valid" result="pass"/><test-case name="19680NISTXML-SV-II-list-unsignedShort-enumeration-4-1 tokoe:invalid" result="pass"/><test-case name="19681NISTXML-SV-II-list-unsignedShort-enumeration-4-2 tokoe:invalid" result="pass"/><test-case name="19682NISTXML-SV-II-list-unsignedShort-enumeration-4-3 tokoe:invalid" result="pass"/><test-case name="19683NISTXML-SV-II-list-unsignedShort-enumeration-4-4 tokoe:invalid" result="pass"/><test-case name="19684NISTXML-SV-II-list-unsignedShort-enumeration-4-5 tokoe:invalid" result="pass"/><test-case name="19685NISTSchema-SV-II-list-unsignedShort-enumeration-5 tokoe:valid" result="pass"/><test-case name="19686NISTXML-SV-II-list-unsignedShort-enumeration-5-1 tokoe:invalid" result="pass"/><test-case name="19687NISTXML-SV-II-list-unsignedShort-enumeration-5-2 tokoe:invalid" result="pass"/><test-case name="19688NISTXML-SV-II-list-unsignedShort-enumeration-5-3 tokoe:invalid" result="pass"/><test-case name="19689NISTXML-SV-II-list-unsignedShort-enumeration-5-4 tokoe:invalid" result="pass"/><test-case name="19690NISTXML-SV-II-list-unsignedShort-enumeration-5-5 tokoe:invalid" result="pass"/><test-case name="19691NISTSchema-SV-II-list-unsignedByte-maxLength-1 tokoe:valid" result="pass"/><test-case name="19692NISTXML-SV-II-list-unsignedByte-maxLength-1-1 tokoe:invalid" result="pass"/><test-case name="19693NISTXML-SV-II-list-unsignedByte-maxLength-1-2 tokoe:invalid" result="pass"/><test-case name="19694NISTXML-SV-II-list-unsignedByte-maxLength-1-3 tokoe:invalid" result="pass"/><test-case name="19695NISTXML-SV-II-list-unsignedByte-maxLength-1-4 tokoe:invalid" result="pass"/><test-case name="19696NISTXML-SV-II-list-unsignedByte-maxLength-1-5 tokoe:invalid" result="pass"/><test-case name="19697NISTSchema-SV-II-list-unsignedByte-maxLength-2 tokoe:valid" result="pass"/><test-case name="19698NISTXML-SV-II-list-unsignedByte-maxLength-2-1 tokoe:invalid" result="pass"/><test-case name="19699NISTXML-SV-II-list-unsignedByte-maxLength-2-2 tokoe:invalid" result="pass"/><test-case name="19700NISTXML-SV-II-list-unsignedByte-maxLength-2-3 tokoe:invalid" result="pass"/><test-case name="19701NISTXML-SV-II-list-unsignedByte-maxLength-2-4 tokoe:invalid" result="pass"/><test-case name="19702NISTXML-SV-II-list-unsignedByte-maxLength-2-5 tokoe:invalid" result="pass"/><test-case name="19703NISTSchema-SV-II-list-unsignedByte-maxLength-3 tokoe:valid" result="pass"/><test-case name="19704NISTXML-SV-II-list-unsignedByte-maxLength-3-1 tokoe:invalid" result="pass"/><test-case name="19705NISTXML-SV-II-list-unsignedByte-maxLength-3-2 tokoe:invalid" result="pass"/><test-case name="19706NISTXML-SV-II-list-unsignedByte-maxLength-3-3 tokoe:invalid" result="pass"/><test-case name="19707NISTXML-SV-II-list-unsignedByte-maxLength-3-4 tokoe:invalid" result="pass"/><test-case name="19708NISTXML-SV-II-list-unsignedByte-maxLength-3-5 tokoe:invalid" result="pass"/><test-case name="19709NISTSchema-SV-II-list-unsignedByte-maxLength-4 tokoe:valid" result="pass"/><test-case name="19710NISTXML-SV-II-list-unsignedByte-maxLength-4-1 tokoe:invalid" result="pass"/><test-case name="19711NISTXML-SV-II-list-unsignedByte-maxLength-4-2 tokoe:invalid" result="pass"/><test-case name="19712NISTXML-SV-II-list-unsignedByte-maxLength-4-3 tokoe:invalid" result="pass"/><test-case name="19713NISTXML-SV-II-list-unsignedByte-maxLength-4-4 tokoe:invalid" result="pass"/><test-case name="19714NISTXML-SV-II-list-unsignedByte-maxLength-4-5 tokoe:invalid" result="pass"/><test-case name="19715NISTSchema-SV-II-list-unsignedByte-maxLength-5 tokoe:valid" result="pass"/><test-case name="19716NISTXML-SV-II-list-unsignedByte-maxLength-5-1 tokoe:invalid" result="pass"/><test-case name="19717NISTXML-SV-II-list-unsignedByte-maxLength-5-2 tokoe:invalid" result="pass"/><test-case name="19718NISTXML-SV-II-list-unsignedByte-maxLength-5-3 tokoe:invalid" result="pass"/><test-case name="19719NISTXML-SV-II-list-unsignedByte-maxLength-5-4 tokoe:invalid" result="pass"/><test-case name="19720NISTXML-SV-II-list-unsignedByte-maxLength-5-5 tokoe:invalid" result="pass"/><test-case name="19721NISTSchema-SV-II-list-unsignedByte-minLength-1 tokoe:valid" result="pass"/><test-case name="19722NISTXML-SV-II-list-unsignedByte-minLength-1-1 tokoe:invalid" result="pass"/><test-case name="19723NISTXML-SV-II-list-unsignedByte-minLength-1-2 tokoe:invalid" result="pass"/><test-case name="19724NISTXML-SV-II-list-unsignedByte-minLength-1-3 tokoe:invalid" result="pass"/><test-case name="19725NISTXML-SV-II-list-unsignedByte-minLength-1-4 tokoe:invalid" result="pass"/><test-case name="19726NISTXML-SV-II-list-unsignedByte-minLength-1-5 tokoe:invalid" result="pass"/><test-case name="19727NISTSchema-SV-II-list-unsignedByte-minLength-2 tokoe:valid" result="pass"/><test-case name="19728NISTXML-SV-II-list-unsignedByte-minLength-2-1 tokoe:invalid" result="pass"/><test-case name="19729NISTXML-SV-II-list-unsignedByte-minLength-2-2 tokoe:invalid" result="pass"/><test-case name="19730NISTXML-SV-II-list-unsignedByte-minLength-2-3 tokoe:invalid" result="pass"/><test-case name="19731NISTXML-SV-II-list-unsignedByte-minLength-2-4 tokoe:invalid" result="pass"/><test-case name="19732NISTXML-SV-II-list-unsignedByte-minLength-2-5 tokoe:invalid" result="pass"/><test-case name="19733NISTSchema-SV-II-list-unsignedByte-minLength-3 tokoe:valid" result="pass"/><test-case name="19734NISTXML-SV-II-list-unsignedByte-minLength-3-1 tokoe:invalid" result="pass"/><test-case name="19735NISTXML-SV-II-list-unsignedByte-minLength-3-2 tokoe:invalid" result="pass"/><test-case name="19736NISTXML-SV-II-list-unsignedByte-minLength-3-3 tokoe:invalid" result="pass"/><test-case name="19737NISTXML-SV-II-list-unsignedByte-minLength-3-4 tokoe:invalid" result="pass"/><test-case name="19738NISTXML-SV-II-list-unsignedByte-minLength-3-5 tokoe:invalid" result="pass"/><test-case name="19739NISTSchema-SV-II-list-unsignedByte-minLength-4 tokoe:valid" result="pass"/><test-case name="19740NISTXML-SV-II-list-unsignedByte-minLength-4-1 tokoe:invalid" result="pass"/><test-case name="19741NISTXML-SV-II-list-unsignedByte-minLength-4-2 tokoe:invalid" result="pass"/><test-case name="19742NISTXML-SV-II-list-unsignedByte-minLength-4-3 tokoe:invalid" result="pass"/><test-case name="19743NISTXML-SV-II-list-unsignedByte-minLength-4-4 tokoe:invalid" result="pass"/><test-case name="19744NISTXML-SV-II-list-unsignedByte-minLength-4-5 tokoe:invalid" result="pass"/><test-case name="19745NISTSchema-SV-II-list-unsignedByte-minLength-5 tokoe:valid" result="pass"/><test-case name="19746NISTXML-SV-II-list-unsignedByte-minLength-5-1 tokoe:invalid" result="pass"/><test-case name="19747NISTXML-SV-II-list-unsignedByte-minLength-5-2 tokoe:invalid" result="pass"/><test-case name="19748NISTXML-SV-II-list-unsignedByte-minLength-5-3 tokoe:invalid" result="pass"/><test-case name="19749NISTXML-SV-II-list-unsignedByte-minLength-5-4 tokoe:invalid" result="pass"/><test-case name="19750NISTXML-SV-II-list-unsignedByte-minLength-5-5 tokoe:invalid" result="pass"/><test-case name="19751NISTSchema-SV-II-list-unsignedByte-length-1 tokoe:valid" result="pass"/><test-case name="19752NISTXML-SV-II-list-unsignedByte-length-1-1 tokoe:invalid" result="pass"/><test-case name="19753NISTXML-SV-II-list-unsignedByte-length-1-2 tokoe:invalid" result="pass"/><test-case name="19754NISTXML-SV-II-list-unsignedByte-length-1-3 tokoe:invalid" result="pass"/><test-case name="19755NISTXML-SV-II-list-unsignedByte-length-1-4 tokoe:invalid" result="pass"/><test-case name="19756NISTXML-SV-II-list-unsignedByte-length-1-5 tokoe:invalid" result="pass"/><test-case name="19757NISTSchema-SV-II-list-unsignedByte-length-2 tokoe:valid" result="pass"/><test-case name="19758NISTXML-SV-II-list-unsignedByte-length-2-1 tokoe:invalid" result="pass"/><test-case name="19759NISTXML-SV-II-list-unsignedByte-length-2-2 tokoe:invalid" result="pass"/><test-case name="19760NISTXML-SV-II-list-unsignedByte-length-2-3 tokoe:invalid" result="pass"/><test-case name="19761NISTXML-SV-II-list-unsignedByte-length-2-4 tokoe:invalid" result="pass"/><test-case name="19762NISTXML-SV-II-list-unsignedByte-length-2-5 tokoe:invalid" result="pass"/><test-case name="19763NISTSchema-SV-II-list-unsignedByte-length-3 tokoe:valid" result="pass"/><test-case name="19764NISTXML-SV-II-list-unsignedByte-length-3-1 tokoe:invalid" result="pass"/><test-case name="19765NISTXML-SV-II-list-unsignedByte-length-3-2 tokoe:invalid" result="pass"/><test-case name="19766NISTXML-SV-II-list-unsignedByte-length-3-3 tokoe:invalid" result="pass"/><test-case name="19767NISTXML-SV-II-list-unsignedByte-length-3-4 tokoe:invalid" result="pass"/><test-case name="19768NISTXML-SV-II-list-unsignedByte-length-3-5 tokoe:invalid" result="pass"/><test-case name="19769NISTSchema-SV-II-list-unsignedByte-length-4 tokoe:valid" result="pass"/><test-case name="19770NISTXML-SV-II-list-unsignedByte-length-4-1 tokoe:invalid" result="pass"/><test-case name="19771NISTXML-SV-II-list-unsignedByte-length-4-2 tokoe:invalid" result="pass"/><test-case name="19772NISTXML-SV-II-list-unsignedByte-length-4-3 tokoe:invalid" result="pass"/><test-case name="19773NISTXML-SV-II-list-unsignedByte-length-4-4 tokoe:invalid" result="pass"/><test-case name="19774NISTXML-SV-II-list-unsignedByte-length-4-5 tokoe:invalid" result="pass"/><test-case name="19775NISTSchema-SV-II-list-unsignedByte-length-5 tokoe:valid" result="pass"/><test-case name="19776NISTXML-SV-II-list-unsignedByte-length-5-1 tokoe:invalid" result="pass"/><test-case name="19777NISTXML-SV-II-list-unsignedByte-length-5-2 tokoe:invalid" result="pass"/><test-case name="19778NISTXML-SV-II-list-unsignedByte-length-5-3 tokoe:invalid" result="pass"/><test-case name="19779NISTXML-SV-II-list-unsignedByte-length-5-4 tokoe:invalid" result="pass"/><test-case name="19780NISTXML-SV-II-list-unsignedByte-length-5-5 tokoe:invalid" result="pass"/><test-case name="19781NISTSchema-SV-II-list-unsignedByte-pattern-1 tokoe:valid" result="pass"/><test-case name="19782NISTXML-SV-II-list-unsignedByte-pattern-1-1 tokoe:invalid" result="pass"/><test-case name="19783NISTXML-SV-II-list-unsignedByte-pattern-1-2 tokoe:invalid" result="pass"/><test-case name="19784NISTXML-SV-II-list-unsignedByte-pattern-1-3 tokoe:invalid" result="pass"/><test-case name="19785NISTXML-SV-II-list-unsignedByte-pattern-1-4 tokoe:invalid" result="pass"/><test-case name="19786NISTXML-SV-II-list-unsignedByte-pattern-1-5 tokoe:invalid" result="pass"/><test-case name="19787NISTSchema-SV-II-list-unsignedByte-pattern-2 tokoe:valid" result="pass"/><test-case name="19788NISTXML-SV-II-list-unsignedByte-pattern-2-1 tokoe:invalid" result="pass"/><test-case name="19789NISTXML-SV-II-list-unsignedByte-pattern-2-2 tokoe:invalid" result="pass"/><test-case name="19790NISTXML-SV-II-list-unsignedByte-pattern-2-3 tokoe:invalid" result="pass"/><test-case name="19791NISTXML-SV-II-list-unsignedByte-pattern-2-4 tokoe:invalid" result="pass"/><test-case name="19792NISTXML-SV-II-list-unsignedByte-pattern-2-5 tokoe:invalid" result="pass"/><test-case name="19793NISTSchema-SV-II-list-unsignedByte-pattern-3 tokoe:valid" result="pass"/><test-case name="19794NISTXML-SV-II-list-unsignedByte-pattern-3-1 tokoe:invalid" result="pass"/><test-case name="19795NISTXML-SV-II-list-unsignedByte-pattern-3-2 tokoe:invalid" result="pass"/><test-case name="19796NISTXML-SV-II-list-unsignedByte-pattern-3-3 tokoe:invalid" result="pass"/><test-case name="19797NISTXML-SV-II-list-unsignedByte-pattern-3-4 tokoe:invalid" result="pass"/><test-case name="19798NISTXML-SV-II-list-unsignedByte-pattern-3-5 tokoe:invalid" result="pass"/><test-case name="19799NISTSchema-SV-II-list-unsignedByte-pattern-4 tokoe:valid" result="pass"/><test-case name="19800NISTXML-SV-II-list-unsignedByte-pattern-4-1 tokoe:invalid" result="pass"/><test-case name="19801NISTXML-SV-II-list-unsignedByte-pattern-4-2 tokoe:invalid" result="pass"/><test-case name="19802NISTXML-SV-II-list-unsignedByte-pattern-4-3 tokoe:invalid" result="pass"/><test-case name="19803NISTXML-SV-II-list-unsignedByte-pattern-4-4 tokoe:invalid" result="pass"/><test-case name="19804NISTXML-SV-II-list-unsignedByte-pattern-4-5 tokoe:invalid" result="pass"/><test-case name="19805NISTSchema-SV-II-list-unsignedByte-pattern-5 tokoe:valid" result="pass"/><test-case name="19806NISTXML-SV-II-list-unsignedByte-pattern-5-1 tokoe:invalid" result="pass"/><test-case name="19807NISTXML-SV-II-list-unsignedByte-pattern-5-2 tokoe:invalid" result="pass"/><test-case name="19808NISTXML-SV-II-list-unsignedByte-pattern-5-3 tokoe:invalid" result="pass"/><test-case name="19809NISTXML-SV-II-list-unsignedByte-pattern-5-4 tokoe:invalid" result="pass"/><test-case name="19810NISTXML-SV-II-list-unsignedByte-pattern-5-5 tokoe:invalid" result="pass"/><test-case name="19811NISTSchema-SV-II-list-unsignedByte-enumeration-1 tokoe:valid" result="pass"/><test-case name="19812NISTXML-SV-II-list-unsignedByte-enumeration-1-1 tokoe:invalid" result="pass"/><test-case name="19813NISTXML-SV-II-list-unsignedByte-enumeration-1-2 tokoe:invalid" result="pass"/><test-case name="19814NISTXML-SV-II-list-unsignedByte-enumeration-1-3 tokoe:invalid" result="pass"/><test-case name="19815NISTXML-SV-II-list-unsignedByte-enumeration-1-4 tokoe:invalid" result="pass"/><test-case name="19816NISTXML-SV-II-list-unsignedByte-enumeration-1-5 tokoe:invalid" result="pass"/><test-case name="19817NISTSchema-SV-II-list-unsignedByte-enumeration-2 tokoe:valid" result="pass"/><test-case name="19818NISTXML-SV-II-list-unsignedByte-enumeration-2-1 tokoe:invalid" result="pass"/><test-case name="19819NISTXML-SV-II-list-unsignedByte-enumeration-2-2 tokoe:invalid" result="pass"/><test-case name="19820NISTXML-SV-II-list-unsignedByte-enumeration-2-3 tokoe:invalid" result="pass"/><test-case name="19821NISTXML-SV-II-list-unsignedByte-enumeration-2-4 tokoe:invalid" result="pass"/><test-case name="19822NISTXML-SV-II-list-unsignedByte-enumeration-2-5 tokoe:invalid" result="pass"/><test-case name="19823NISTSchema-SV-II-list-unsignedByte-enumeration-3 tokoe:valid" result="pass"/><test-case name="19824NISTXML-SV-II-list-unsignedByte-enumeration-3-1 tokoe:invalid" result="pass"/><test-case name="19825NISTXML-SV-II-list-unsignedByte-enumeration-3-2 tokoe:invalid" result="pass"/><test-case name="19826NISTXML-SV-II-list-unsignedByte-enumeration-3-3 tokoe:invalid" result="pass"/><test-case name="19827NISTXML-SV-II-list-unsignedByte-enumeration-3-4 tokoe:invalid" result="pass"/><test-case name="19828NISTXML-SV-II-list-unsignedByte-enumeration-3-5 tokoe:invalid" result="pass"/><test-case name="19829NISTSchema-SV-II-list-unsignedByte-enumeration-4 tokoe:valid" result="pass"/><test-case name="19830NISTXML-SV-II-list-unsignedByte-enumeration-4-1 tokoe:invalid" result="pass"/><test-case name="19831NISTXML-SV-II-list-unsignedByte-enumeration-4-2 tokoe:invalid" result="pass"/><test-case name="19832NISTXML-SV-II-list-unsignedByte-enumeration-4-3 tokoe:invalid" result="pass"/><test-case name="19833NISTXML-SV-II-list-unsignedByte-enumeration-4-4 tokoe:invalid" result="pass"/><test-case name="19834NISTXML-SV-II-list-unsignedByte-enumeration-4-5 tokoe:invalid" result="pass"/><test-case name="19835NISTSchema-SV-II-list-unsignedByte-enumeration-5 tokoe:valid" result="pass"/><test-case name="19836NISTXML-SV-II-list-unsignedByte-enumeration-5-1 tokoe:invalid" result="pass"/><test-case name="19837NISTXML-SV-II-list-unsignedByte-enumeration-5-2 tokoe:invalid" result="pass"/><test-case name="19838NISTXML-SV-II-list-unsignedByte-enumeration-5-3 tokoe:invalid" result="pass"/><test-case name="19839NISTXML-SV-II-list-unsignedByte-enumeration-5-4 tokoe:invalid" result="pass"/><test-case name="19840NISTXML-SV-II-list-unsignedByte-enumeration-5-5 tokoe:invalid" result="pass"/><test-case name="19841NISTSchema-SV-II-list-positiveInteger-maxLength-1 tokoe:valid" result="pass"/><test-case name="19842NISTXML-SV-II-list-positiveInteger-maxLength-1-1 tokoe:invalid" result="pass"/><test-case name="19843NISTXML-SV-II-list-positiveInteger-maxLength-1-2 tokoe:invalid" result="pass"/><test-case name="19844NISTXML-SV-II-list-positiveInteger-maxLength-1-3 tokoe:invalid" result="pass"/><test-case name="19845NISTXML-SV-II-list-positiveInteger-maxLength-1-4 tokoe:invalid" result="pass"/><test-case name="19846NISTXML-SV-II-list-positiveInteger-maxLength-1-5 tokoe:invalid" result="pass"/><test-case name="19847NISTSchema-SV-II-list-positiveInteger-maxLength-2 tokoe:valid" result="pass"/><test-case name="19848NISTXML-SV-II-list-positiveInteger-maxLength-2-1 tokoe:invalid" result="pass"/><test-case name="19849NISTXML-SV-II-list-positiveInteger-maxLength-2-2 tokoe:invalid" result="pass"/><test-case name="19850NISTXML-SV-II-list-positiveInteger-maxLength-2-3 tokoe:invalid" result="pass"/><test-case name="19851NISTXML-SV-II-list-positiveInteger-maxLength-2-4 tokoe:invalid" result="pass"/><test-case name="19852NISTXML-SV-II-list-positiveInteger-maxLength-2-5 tokoe:invalid" result="pass"/><test-case name="19853NISTSchema-SV-II-list-positiveInteger-maxLength-3 tokoe:valid" result="pass"/><test-case name="19854NISTXML-SV-II-list-positiveInteger-maxLength-3-1 tokoe:invalid" result="pass"/><test-case name="19855NISTXML-SV-II-list-positiveInteger-maxLength-3-2 tokoe:invalid" result="pass"/><test-case name="19856NISTXML-SV-II-list-positiveInteger-maxLength-3-3 tokoe:invalid" result="pass"/><test-case name="19857NISTXML-SV-II-list-positiveInteger-maxLength-3-4 tokoe:invalid" result="pass"/><test-case name="19858NISTXML-SV-II-list-positiveInteger-maxLength-3-5 tokoe:invalid" result="pass"/><test-case name="19859NISTSchema-SV-II-list-positiveInteger-maxLength-4 tokoe:valid" result="pass"/><test-case name="19860NISTXML-SV-II-list-positiveInteger-maxLength-4-1 tokoe:invalid" result="pass"/><test-case name="19861NISTXML-SV-II-list-positiveInteger-maxLength-4-2 tokoe:invalid" result="pass"/><test-case name="19862NISTXML-SV-II-list-positiveInteger-maxLength-4-3 tokoe:invalid" result="pass"/><test-case name="19863NISTXML-SV-II-list-positiveInteger-maxLength-4-4 tokoe:invalid" result="pass"/><test-case name="19864NISTXML-SV-II-list-positiveInteger-maxLength-4-5 tokoe:invalid" result="pass"/><test-case name="19865NISTSchema-SV-II-list-positiveInteger-maxLength-5 tokoe:valid" result="pass"/><test-case name="19866NISTXML-SV-II-list-positiveInteger-maxLength-5-1 tokoe:invalid" result="pass"/><test-case name="19867NISTXML-SV-II-list-positiveInteger-maxLength-5-2 tokoe:invalid" result="pass"/><test-case name="19868NISTXML-SV-II-list-positiveInteger-maxLength-5-3 tokoe:invalid" result="pass"/><test-case name="19869NISTXML-SV-II-list-positiveInteger-maxLength-5-4 tokoe:invalid" result="pass"/><test-case name="19870NISTXML-SV-II-list-positiveInteger-maxLength-5-5 tokoe:invalid" result="pass"/><test-case name="19871NISTSchema-SV-II-list-positiveInteger-minLength-1 tokoe:valid" result="pass"/><test-case name="19872NISTXML-SV-II-list-positiveInteger-minLength-1-1 tokoe:invalid" result="pass"/><test-case name="19873NISTXML-SV-II-list-positiveInteger-minLength-1-2 tokoe:invalid" result="pass"/><test-case name="19874NISTXML-SV-II-list-positiveInteger-minLength-1-3 tokoe:invalid" result="pass"/><test-case name="19875NISTXML-SV-II-list-positiveInteger-minLength-1-4 tokoe:invalid" result="pass"/><test-case name="19876NISTXML-SV-II-list-positiveInteger-minLength-1-5 tokoe:invalid" result="pass"/><test-case name="19877NISTSchema-SV-II-list-positiveInteger-minLength-2 tokoe:valid" result="pass"/><test-case name="19878NISTXML-SV-II-list-positiveInteger-minLength-2-1 tokoe:invalid" result="pass"/><test-case name="19879NISTXML-SV-II-list-positiveInteger-minLength-2-2 tokoe:invalid" result="pass"/><test-case name="19880NISTXML-SV-II-list-positiveInteger-minLength-2-3 tokoe:invalid" result="pass"/><test-case name="19881NISTXML-SV-II-list-positiveInteger-minLength-2-4 tokoe:invalid" result="pass"/><test-case name="19882NISTXML-SV-II-list-positiveInteger-minLength-2-5 tokoe:invalid" result="pass"/><test-case name="19883NISTSchema-SV-II-list-positiveInteger-minLength-3 tokoe:valid" result="pass"/><test-case name="19884NISTXML-SV-II-list-positiveInteger-minLength-3-1 tokoe:invalid" result="pass"/><test-case name="19885NISTXML-SV-II-list-positiveInteger-minLength-3-2 tokoe:invalid" result="pass"/><test-case name="19886NISTXML-SV-II-list-positiveInteger-minLength-3-3 tokoe:invalid" result="pass"/><test-case name="19887NISTXML-SV-II-list-positiveInteger-minLength-3-4 tokoe:invalid" result="pass"/><test-case name="19888NISTXML-SV-II-list-positiveInteger-minLength-3-5 tokoe:invalid" result="pass"/><test-case name="19889NISTSchema-SV-II-list-positiveInteger-minLength-4 tokoe:valid" result="pass"/><test-case name="19890NISTXML-SV-II-list-positiveInteger-minLength-4-1 tokoe:invalid" result="pass"/><test-case name="19891NISTXML-SV-II-list-positiveInteger-minLength-4-2 tokoe:invalid" result="pass"/><test-case name="19892NISTXML-SV-II-list-positiveInteger-minLength-4-3 tokoe:invalid" result="pass"/><test-case name="19893NISTXML-SV-II-list-positiveInteger-minLength-4-4 tokoe:invalid" result="pass"/><test-case name="19894NISTXML-SV-II-list-positiveInteger-minLength-4-5 tokoe:invalid" result="pass"/><test-case name="19895NISTSchema-SV-II-list-positiveInteger-minLength-5 tokoe:valid" result="pass"/><test-case name="19896NISTXML-SV-II-list-positiveInteger-minLength-5-1 tokoe:invalid" result="pass"/><test-case name="19897NISTXML-SV-II-list-positiveInteger-minLength-5-2 tokoe:invalid" result="pass"/><test-case name="19898NISTXML-SV-II-list-positiveInteger-minLength-5-3 tokoe:invalid" result="pass"/><test-case name="19899NISTXML-SV-II-list-positiveInteger-minLength-5-4 tokoe:invalid" result="pass"/><test-case name="19900NISTXML-SV-II-list-positiveInteger-minLength-5-5 tokoe:invalid" result="pass"/><test-case name="19901NISTSchema-SV-II-list-positiveInteger-length-1 tokoe:valid" result="pass"/><test-case name="19902NISTXML-SV-II-list-positiveInteger-length-1-1 tokoe:invalid" result="pass"/><test-case name="19903NISTXML-SV-II-list-positiveInteger-length-1-2 tokoe:invalid" result="pass"/><test-case name="19904NISTXML-SV-II-list-positiveInteger-length-1-3 tokoe:invalid" result="pass"/><test-case name="19905NISTXML-SV-II-list-positiveInteger-length-1-4 tokoe:invalid" result="pass"/><test-case name="19906NISTXML-SV-II-list-positiveInteger-length-1-5 tokoe:invalid" result="pass"/><test-case name="19907NISTSchema-SV-II-list-positiveInteger-length-2 tokoe:valid" result="pass"/><test-case name="19908NISTXML-SV-II-list-positiveInteger-length-2-1 tokoe:invalid" result="pass"/><test-case name="19909NISTXML-SV-II-list-positiveInteger-length-2-2 tokoe:invalid" result="pass"/><test-case name="19910NISTXML-SV-II-list-positiveInteger-length-2-3 tokoe:invalid" result="pass"/><test-case name="19911NISTXML-SV-II-list-positiveInteger-length-2-4 tokoe:invalid" result="pass"/><test-case name="19912NISTXML-SV-II-list-positiveInteger-length-2-5 tokoe:invalid" result="pass"/><test-case name="19913NISTSchema-SV-II-list-positiveInteger-length-3 tokoe:valid" result="pass"/><test-case name="19914NISTXML-SV-II-list-positiveInteger-length-3-1 tokoe:invalid" result="pass"/><test-case name="19915NISTXML-SV-II-list-positiveInteger-length-3-2 tokoe:invalid" result="pass"/><test-case name="19916NISTXML-SV-II-list-positiveInteger-length-3-3 tokoe:invalid" result="pass"/><test-case name="19917NISTXML-SV-II-list-positiveInteger-length-3-4 tokoe:invalid" result="pass"/><test-case name="19918NISTXML-SV-II-list-positiveInteger-length-3-5 tokoe:invalid" result="pass"/><test-case name="19919NISTSchema-SV-II-list-positiveInteger-length-4 tokoe:valid" result="pass"/><test-case name="19920NISTXML-SV-II-list-positiveInteger-length-4-1 tokoe:invalid" result="pass"/><test-case name="19921NISTXML-SV-II-list-positiveInteger-length-4-2 tokoe:invalid" result="pass"/><test-case name="19922NISTXML-SV-II-list-positiveInteger-length-4-3 tokoe:invalid" result="pass"/><test-case name="19923NISTXML-SV-II-list-positiveInteger-length-4-4 tokoe:invalid" result="pass"/><test-case name="19924NISTXML-SV-II-list-positiveInteger-length-4-5 tokoe:invalid" result="pass"/><test-case name="19925NISTSchema-SV-II-list-positiveInteger-length-5 tokoe:valid" result="pass"/><test-case name="19926NISTXML-SV-II-list-positiveInteger-length-5-1 tokoe:invalid" result="pass"/><test-case name="19927NISTXML-SV-II-list-positiveInteger-length-5-2 tokoe:invalid" result="pass"/><test-case name="19928NISTXML-SV-II-list-positiveInteger-length-5-3 tokoe:invalid" result="pass"/><test-case name="19929NISTXML-SV-II-list-positiveInteger-length-5-4 tokoe:invalid" result="pass"/><test-case name="19930NISTXML-SV-II-list-positiveInteger-length-5-5 tokoe:invalid" result="pass"/><test-case name="19931NISTSchema-SV-II-list-positiveInteger-pattern-1 tokoe:valid" result="pass"/><test-case name="19932NISTXML-SV-II-list-positiveInteger-pattern-1-1 tokoe:invalid" result="pass"/><test-case name="19933NISTXML-SV-II-list-positiveInteger-pattern-1-2 tokoe:invalid" result="pass"/><test-case name="19934NISTXML-SV-II-list-positiveInteger-pattern-1-3 tokoe:invalid" result="pass"/><test-case name="19935NISTXML-SV-II-list-positiveInteger-pattern-1-4 tokoe:invalid" result="pass"/><test-case name="19936NISTXML-SV-II-list-positiveInteger-pattern-1-5 tokoe:invalid" result="pass"/><test-case name="19937NISTSchema-SV-II-list-positiveInteger-pattern-2 tokoe:valid" result="pass"/><test-case name="19938NISTXML-SV-II-list-positiveInteger-pattern-2-1 tokoe:invalid" result="pass"/><test-case name="19939NISTXML-SV-II-list-positiveInteger-pattern-2-2 tokoe:invalid" result="pass"/><test-case name="19940NISTXML-SV-II-list-positiveInteger-pattern-2-3 tokoe:invalid" result="pass"/><test-case name="19941NISTXML-SV-II-list-positiveInteger-pattern-2-4 tokoe:invalid" result="pass"/><test-case name="19942NISTXML-SV-II-list-positiveInteger-pattern-2-5 tokoe:invalid" result="pass"/><test-case name="19943NISTSchema-SV-II-list-positiveInteger-pattern-3 tokoe:valid" result="pass"/><test-case name="19944NISTXML-SV-II-list-positiveInteger-pattern-3-1 tokoe:invalid" result="pass"/><test-case name="19945NISTXML-SV-II-list-positiveInteger-pattern-3-2 tokoe:invalid" result="pass"/><test-case name="19946NISTXML-SV-II-list-positiveInteger-pattern-3-3 tokoe:invalid" result="pass"/><test-case name="19947NISTXML-SV-II-list-positiveInteger-pattern-3-4 tokoe:invalid" result="pass"/><test-case name="19948NISTXML-SV-II-list-positiveInteger-pattern-3-5 tokoe:invalid" result="pass"/><test-case name="19949NISTSchema-SV-II-list-positiveInteger-pattern-4 tokoe:valid" result="pass"/><test-case name="19950NISTXML-SV-II-list-positiveInteger-pattern-4-1 tokoe:invalid" result="pass"/><test-case name="19951NISTXML-SV-II-list-positiveInteger-pattern-4-2 tokoe:invalid" result="pass"/><test-case name="19952NISTXML-SV-II-list-positiveInteger-pattern-4-3 tokoe:invalid" result="pass"/><test-case name="19953NISTXML-SV-II-list-positiveInteger-pattern-4-4 tokoe:invalid" result="pass"/><test-case name="19954NISTXML-SV-II-list-positiveInteger-pattern-4-5 tokoe:invalid" result="pass"/><test-case name="19955NISTSchema-SV-II-list-positiveInteger-pattern-5 tokoe:valid" result="pass"/><test-case name="19956NISTXML-SV-II-list-positiveInteger-pattern-5-1 tokoe:invalid" result="pass"/><test-case name="19957NISTXML-SV-II-list-positiveInteger-pattern-5-2 tokoe:invalid" result="pass"/><test-case name="19958NISTXML-SV-II-list-positiveInteger-pattern-5-3 tokoe:invalid" result="pass"/><test-case name="19959NISTXML-SV-II-list-positiveInteger-pattern-5-4 tokoe:invalid" result="pass"/><test-case name="19960NISTXML-SV-II-list-positiveInteger-pattern-5-5 tokoe:invalid" result="pass"/><test-case name="19961NISTSchema-SV-II-list-positiveInteger-enumeration-1 tokoe:valid" result="pass"/><test-case name="19962NISTXML-SV-II-list-positiveInteger-enumeration-1-1 tokoe:invalid" result="pass"/><test-case name="19963NISTXML-SV-II-list-positiveInteger-enumeration-1-2 tokoe:invalid" result="pass"/><test-case name="19964NISTXML-SV-II-list-positiveInteger-enumeration-1-3 tokoe:invalid" result="pass"/><test-case name="19965NISTXML-SV-II-list-positiveInteger-enumeration-1-4 tokoe:invalid" result="pass"/><test-case name="19966NISTXML-SV-II-list-positiveInteger-enumeration-1-5 tokoe:invalid" result="pass"/><test-case name="19967NISTSchema-SV-II-list-positiveInteger-enumeration-2 tokoe:valid" result="pass"/><test-case name="19968NISTXML-SV-II-list-positiveInteger-enumeration-2-1 tokoe:invalid" result="pass"/><test-case name="19969NISTXML-SV-II-list-positiveInteger-enumeration-2-2 tokoe:invalid" result="pass"/><test-case name="19970NISTXML-SV-II-list-positiveInteger-enumeration-2-3 tokoe:invalid" result="pass"/><test-case name="19971NISTXML-SV-II-list-positiveInteger-enumeration-2-4 tokoe:invalid" result="pass"/><test-case name="19972NISTXML-SV-II-list-positiveInteger-enumeration-2-5 tokoe:invalid" result="pass"/><test-case name="19973NISTSchema-SV-II-list-positiveInteger-enumeration-3 tokoe:valid" result="pass"/><test-case name="19974NISTXML-SV-II-list-positiveInteger-enumeration-3-1 tokoe:invalid" result="pass"/><test-case name="19975NISTXML-SV-II-list-positiveInteger-enumeration-3-2 tokoe:invalid" result="pass"/><test-case name="19976NISTXML-SV-II-list-positiveInteger-enumeration-3-3 tokoe:invalid" result="pass"/><test-case name="19977NISTXML-SV-II-list-positiveInteger-enumeration-3-4 tokoe:invalid" result="pass"/><test-case name="19978NISTXML-SV-II-list-positiveInteger-enumeration-3-5 tokoe:invalid" result="pass"/><test-case name="19979NISTSchema-SV-II-list-positiveInteger-enumeration-4 tokoe:valid" result="pass"/><test-case name="19980NISTXML-SV-II-list-positiveInteger-enumeration-4-1 tokoe:invalid" result="pass"/><test-case name="19981NISTXML-SV-II-list-positiveInteger-enumeration-4-2 tokoe:invalid" result="pass"/><test-case name="19982NISTXML-SV-II-list-positiveInteger-enumeration-4-3 tokoe:invalid" result="pass"/><test-case name="19983NISTXML-SV-II-list-positiveInteger-enumeration-4-4 tokoe:invalid" result="pass"/><test-case name="19984NISTXML-SV-II-list-positiveInteger-enumeration-4-5 tokoe:invalid" result="pass"/><test-case name="19985NISTSchema-SV-II-list-positiveInteger-enumeration-5 tokoe:valid" result="pass"/><test-case name="19986NISTXML-SV-II-list-positiveInteger-enumeration-5-1 tokoe:invalid" result="pass"/><test-case name="19987NISTXML-SV-II-list-positiveInteger-enumeration-5-2 tokoe:invalid" result="pass"/><test-case name="19988NISTXML-SV-II-list-positiveInteger-enumeration-5-3 tokoe:invalid" result="pass"/><test-case name="19989NISTXML-SV-II-list-positiveInteger-enumeration-5-4 tokoe:invalid" result="pass"/><test-case name="19990NISTXML-SV-II-list-positiveInteger-enumeration-5-5 tokoe:invalid" result="pass"/><test-case name="19991NISTSchema-SV-II-list-double-maxLength-1 tokoe:valid" result="pass"/><test-case name="19992NISTXML-SV-II-list-double-maxLength-1-1 tokoe:invalid" result="pass"/><test-case name="19993NISTXML-SV-II-list-double-maxLength-1-2 tokoe:invalid" result="pass"/><test-case name="19994NISTXML-SV-II-list-double-maxLength-1-3 tokoe:invalid" result="pass"/><test-case name="19995NISTXML-SV-II-list-double-maxLength-1-4 tokoe:invalid" result="pass"/><test-case name="19996NISTXML-SV-II-list-double-maxLength-1-5 tokoe:invalid" result="pass"/><test-case name="19997NISTSchema-SV-II-list-double-maxLength-2 tokoe:valid" result="pass"/><test-case name="19998NISTXML-SV-II-list-double-maxLength-2-1 tokoe:invalid" result="pass"/><test-case name="19999NISTXML-SV-II-list-double-maxLength-2-2 tokoe:invalid" result="pass"/><test-case name="20000NISTXML-SV-II-list-double-maxLength-2-3 tokoe:invalid" result="pass"/><test-case name="20001NISTXML-SV-II-list-double-maxLength-2-4 tokoe:invalid" result="pass"/><test-case name="20002NISTXML-SV-II-list-double-maxLength-2-5 tokoe:invalid" result="pass"/><test-case name="20003NISTSchema-SV-II-list-double-maxLength-3 tokoe:valid" result="pass"/><test-case name="20004NISTXML-SV-II-list-double-maxLength-3-1 tokoe:invalid" result="pass"/><test-case name="20005NISTXML-SV-II-list-double-maxLength-3-2 tokoe:invalid" result="pass"/><test-case name="20006NISTXML-SV-II-list-double-maxLength-3-3 tokoe:invalid" result="pass"/><test-case name="20007NISTXML-SV-II-list-double-maxLength-3-4 tokoe:invalid" result="pass"/><test-case name="20008NISTXML-SV-II-list-double-maxLength-3-5 tokoe:invalid" result="pass"/><test-case name="20009NISTSchema-SV-II-list-double-maxLength-4 tokoe:valid" result="pass"/><test-case name="20010NISTXML-SV-II-list-double-maxLength-4-1 tokoe:invalid" result="pass"/><test-case name="20011NISTXML-SV-II-list-double-maxLength-4-2 tokoe:invalid" result="pass"/><test-case name="20012NISTXML-SV-II-list-double-maxLength-4-3 tokoe:invalid" result="pass"/><test-case name="20013NISTXML-SV-II-list-double-maxLength-4-4 tokoe:invalid" result="pass"/><test-case name="20014NISTXML-SV-II-list-double-maxLength-4-5 tokoe:invalid" result="pass"/><test-case name="20015NISTSchema-SV-II-list-double-maxLength-5 tokoe:valid" result="pass"/><test-case name="20016NISTXML-SV-II-list-double-maxLength-5-1 tokoe:invalid" result="pass"/><test-case name="20017NISTXML-SV-II-list-double-maxLength-5-2 tokoe:invalid" result="pass"/><test-case name="20018NISTXML-SV-II-list-double-maxLength-5-3 tokoe:invalid" result="pass"/><test-case name="20019NISTXML-SV-II-list-double-maxLength-5-4 tokoe:invalid" result="pass"/><test-case name="20020NISTXML-SV-II-list-double-maxLength-5-5 tokoe:invalid" result="pass"/><test-case name="20021NISTSchema-SV-II-list-double-minLength-1 tokoe:valid" result="pass"/><test-case name="20022NISTXML-SV-II-list-double-minLength-1-1 tokoe:invalid" result="pass"/><test-case name="20023NISTXML-SV-II-list-double-minLength-1-2 tokoe:invalid" result="pass"/><test-case name="20024NISTXML-SV-II-list-double-minLength-1-3 tokoe:invalid" result="pass"/><test-case name="20025NISTXML-SV-II-list-double-minLength-1-4 tokoe:invalid" result="pass"/><test-case name="20026NISTXML-SV-II-list-double-minLength-1-5 tokoe:invalid" result="pass"/><test-case name="20027NISTSchema-SV-II-list-double-minLength-2 tokoe:valid" result="pass"/><test-case name="20028NISTXML-SV-II-list-double-minLength-2-1 tokoe:invalid" result="pass"/><test-case name="20029NISTXML-SV-II-list-double-minLength-2-2 tokoe:invalid" result="pass"/><test-case name="20030NISTXML-SV-II-list-double-minLength-2-3 tokoe:invalid" result="pass"/><test-case name="20031NISTXML-SV-II-list-double-minLength-2-4 tokoe:invalid" result="pass"/><test-case name="20032NISTXML-SV-II-list-double-minLength-2-5 tokoe:invalid" result="pass"/><test-case name="20033NISTSchema-SV-II-list-double-minLength-3 tokoe:valid" result="pass"/><test-case name="20034NISTXML-SV-II-list-double-minLength-3-1 tokoe:invalid" result="pass"/><test-case name="20035NISTXML-SV-II-list-double-minLength-3-2 tokoe:invalid" result="pass"/><test-case name="20036NISTXML-SV-II-list-double-minLength-3-3 tokoe:invalid" result="pass"/><test-case name="20037NISTXML-SV-II-list-double-minLength-3-4 tokoe:invalid" result="pass"/><test-case name="20038NISTXML-SV-II-list-double-minLength-3-5 tokoe:invalid" result="pass"/><test-case name="20039NISTSchema-SV-II-list-double-minLength-4 tokoe:valid" result="pass"/><test-case name="20040NISTXML-SV-II-list-double-minLength-4-1 tokoe:invalid" result="pass"/><test-case name="20041NISTXML-SV-II-list-double-minLength-4-2 tokoe:invalid" result="pass"/><test-case name="20042NISTXML-SV-II-list-double-minLength-4-3 tokoe:invalid" result="pass"/><test-case name="20043NISTXML-SV-II-list-double-minLength-4-4 tokoe:invalid" result="pass"/><test-case name="20044NISTXML-SV-II-list-double-minLength-4-5 tokoe:invalid" result="pass"/><test-case name="20045NISTSchema-SV-II-list-double-minLength-5 tokoe:valid" result="pass"/><test-case name="20046NISTXML-SV-II-list-double-minLength-5-1 tokoe:invalid" result="pass"/><test-case name="20047NISTXML-SV-II-list-double-minLength-5-2 tokoe:invalid" result="pass"/><test-case name="20048NISTXML-SV-II-list-double-minLength-5-3 tokoe:invalid" result="pass"/><test-case name="20049NISTXML-SV-II-list-double-minLength-5-4 tokoe:invalid" result="pass"/><test-case name="20050NISTXML-SV-II-list-double-minLength-5-5 tokoe:invalid" result="pass"/><test-case name="20051NISTSchema-SV-II-list-double-length-1 tokoe:valid" result="pass"/><test-case name="20052NISTXML-SV-II-list-double-length-1-1 tokoe:invalid" result="pass"/><test-case name="20053NISTXML-SV-II-list-double-length-1-2 tokoe:invalid" result="pass"/><test-case name="20054NISTXML-SV-II-list-double-length-1-3 tokoe:invalid" result="pass"/><test-case name="20055NISTXML-SV-II-list-double-length-1-4 tokoe:invalid" result="pass"/><test-case name="20056NISTXML-SV-II-list-double-length-1-5 tokoe:invalid" result="pass"/><test-case name="20057NISTSchema-SV-II-list-double-length-2 tokoe:valid" result="pass"/><test-case name="20058NISTXML-SV-II-list-double-length-2-1 tokoe:invalid" result="pass"/><test-case name="20059NISTXML-SV-II-list-double-length-2-2 tokoe:invalid" result="pass"/><test-case name="20060NISTXML-SV-II-list-double-length-2-3 tokoe:invalid" result="pass"/><test-case name="20061NISTXML-SV-II-list-double-length-2-4 tokoe:invalid" result="pass"/><test-case name="20062NISTXML-SV-II-list-double-length-2-5 tokoe:invalid" result="pass"/><test-case name="20063NISTSchema-SV-II-list-double-length-3 tokoe:valid" result="pass"/><test-case name="20064NISTXML-SV-II-list-double-length-3-1 tokoe:invalid" result="pass"/><test-case name="20065NISTXML-SV-II-list-double-length-3-2 tokoe:invalid" result="pass"/><test-case name="20066NISTXML-SV-II-list-double-length-3-3 tokoe:invalid" result="pass"/><test-case name="20067NISTXML-SV-II-list-double-length-3-4 tokoe:invalid" result="pass"/><test-case name="20068NISTXML-SV-II-list-double-length-3-5 tokoe:invalid" result="pass"/><test-case name="20069NISTSchema-SV-II-list-double-length-4 tokoe:valid" result="pass"/><test-case name="20070NISTXML-SV-II-list-double-length-4-1 tokoe:invalid" result="pass"/><test-case name="20071NISTXML-SV-II-list-double-length-4-2 tokoe:invalid" result="pass"/><test-case name="20072NISTXML-SV-II-list-double-length-4-3 tokoe:invalid" result="pass"/><test-case name="20073NISTXML-SV-II-list-double-length-4-4 tokoe:invalid" result="pass"/><test-case name="20074NISTXML-SV-II-list-double-length-4-5 tokoe:invalid" result="pass"/><test-case name="20075NISTSchema-SV-II-list-double-length-5 tokoe:valid" result="pass"/><test-case name="20076NISTXML-SV-II-list-double-length-5-1 tokoe:invalid" result="pass"/><test-case name="20077NISTXML-SV-II-list-double-length-5-2 tokoe:invalid" result="pass"/><test-case name="20078NISTXML-SV-II-list-double-length-5-3 tokoe:invalid" result="pass"/><test-case name="20079NISTXML-SV-II-list-double-length-5-4 tokoe:invalid" result="pass"/><test-case name="20080NISTXML-SV-II-list-double-length-5-5 tokoe:invalid" result="pass"/><test-case name="20081NISTSchema-SV-II-list-double-pattern-1 tokoe:valid" result="pass"/><test-case name="20082NISTXML-SV-II-list-double-pattern-1-1 tokoe:invalid" result="pass"/><test-case name="20083NISTXML-SV-II-list-double-pattern-1-2 tokoe:invalid" result="pass"/><test-case name="20084NISTXML-SV-II-list-double-pattern-1-3 tokoe:invalid" result="pass"/><test-case name="20085NISTXML-SV-II-list-double-pattern-1-4 tokoe:invalid" result="pass"/><test-case name="20086NISTXML-SV-II-list-double-pattern-1-5 tokoe:invalid" result="pass"/><test-case name="20087NISTSchema-SV-II-list-double-pattern-2 tokoe:valid" result="pass"/><test-case name="20088NISTXML-SV-II-list-double-pattern-2-1 tokoe:invalid" result="pass"/><test-case name="20089NISTXML-SV-II-list-double-pattern-2-2 tokoe:invalid" result="pass"/><test-case name="20090NISTXML-SV-II-list-double-pattern-2-3 tokoe:invalid" result="pass"/><test-case name="20091NISTXML-SV-II-list-double-pattern-2-4 tokoe:invalid" result="pass"/><test-case name="20092NISTXML-SV-II-list-double-pattern-2-5 tokoe:invalid" result="pass"/><test-case name="20093NISTSchema-SV-II-list-double-pattern-3 tokoe:valid" result="pass"/><test-case name="20094NISTXML-SV-II-list-double-pattern-3-1 tokoe:invalid" result="pass"/><test-case name="20095NISTXML-SV-II-list-double-pattern-3-2 tokoe:invalid" result="pass"/><test-case name="20096NISTXML-SV-II-list-double-pattern-3-3 tokoe:invalid" result="pass"/><test-case name="20097NISTXML-SV-II-list-double-pattern-3-4 tokoe:invalid" result="pass"/><test-case name="20098NISTXML-SV-II-list-double-pattern-3-5 tokoe:invalid" result="pass"/><test-case name="20099NISTSchema-SV-II-list-double-pattern-4 tokoe:valid" result="pass"/><test-case name="20100NISTXML-SV-II-list-double-pattern-4-1 tokoe:invalid" result="pass"/><test-case name="20101NISTXML-SV-II-list-double-pattern-4-2 tokoe:invalid" result="pass"/><test-case name="20102NISTXML-SV-II-list-double-pattern-4-3 tokoe:invalid" result="pass"/><test-case name="20103NISTXML-SV-II-list-double-pattern-4-4 tokoe:invalid" result="pass"/><test-case name="20104NISTXML-SV-II-list-double-pattern-4-5 tokoe:invalid" result="pass"/><test-case name="20105NISTSchema-SV-II-list-double-pattern-5 tokoe:valid" result="pass"/><test-case name="20106NISTXML-SV-II-list-double-pattern-5-1 tokoe:invalid" result="pass"/><test-case name="20107NISTXML-SV-II-list-double-pattern-5-2 tokoe:invalid" result="pass"/><test-case name="20108NISTXML-SV-II-list-double-pattern-5-3 tokoe:invalid" result="pass"/><test-case name="20109NISTXML-SV-II-list-double-pattern-5-4 tokoe:invalid" result="pass"/><test-case name="20110NISTXML-SV-II-list-double-pattern-5-5 tokoe:invalid" result="pass"/><test-case name="20111NISTSchema-SV-II-list-double-enumeration-1 tokoe:valid" result="pass"/><test-case name="20112NISTXML-SV-II-list-double-enumeration-1-1 tokoe:invalid" result="pass"/><test-case name="20113NISTXML-SV-II-list-double-enumeration-1-2 tokoe:invalid" result="pass"/><test-case name="20114NISTXML-SV-II-list-double-enumeration-1-3 tokoe:invalid" result="pass"/><test-case name="20115NISTXML-SV-II-list-double-enumeration-1-4 tokoe:invalid" result="pass"/><test-case name="20116NISTXML-SV-II-list-double-enumeration-1-5 tokoe:invalid" result="pass"/><test-case name="20117NISTSchema-SV-II-list-double-enumeration-2 tokoe:valid" result="pass"/><test-case name="20118NISTXML-SV-II-list-double-enumeration-2-1 tokoe:invalid" result="pass"/><test-case name="20119NISTXML-SV-II-list-double-enumeration-2-2 tokoe:invalid" result="pass"/><test-case name="20120NISTXML-SV-II-list-double-enumeration-2-3 tokoe:invalid" result="pass"/><test-case name="20121NISTXML-SV-II-list-double-enumeration-2-4 tokoe:invalid" result="pass"/><test-case name="20122NISTXML-SV-II-list-double-enumeration-2-5 tokoe:invalid" result="pass"/><test-case name="20123NISTSchema-SV-II-list-double-enumeration-3 tokoe:valid" result="pass"/><test-case name="20124NISTXML-SV-II-list-double-enumeration-3-1 tokoe:invalid" result="pass"/><test-case name="20125NISTXML-SV-II-list-double-enumeration-3-2 tokoe:invalid" result="pass"/><test-case name="20126NISTXML-SV-II-list-double-enumeration-3-3 tokoe:invalid" result="pass"/><test-case name="20127NISTXML-SV-II-list-double-enumeration-3-4 tokoe:invalid" result="pass"/><test-case name="20128NISTXML-SV-II-list-double-enumeration-3-5 tokoe:invalid" result="pass"/><test-case name="20129NISTSchema-SV-II-list-double-enumeration-4 tokoe:valid" result="pass"/><test-case name="20130NISTXML-SV-II-list-double-enumeration-4-1 tokoe:invalid" result="pass"/><test-case name="20131NISTXML-SV-II-list-double-enumeration-4-2 tokoe:invalid" result="pass"/><test-case name="20132NISTXML-SV-II-list-double-enumeration-4-3 tokoe:invalid" result="pass"/><test-case name="20133NISTXML-SV-II-list-double-enumeration-4-4 tokoe:invalid" result="pass"/><test-case name="20134NISTXML-SV-II-list-double-enumeration-4-5 tokoe:invalid" result="pass"/><test-case name="20135NISTSchema-SV-II-list-double-enumeration-5 tokoe:valid" result="pass"/><test-case name="20136NISTXML-SV-II-list-double-enumeration-5-1 tokoe:invalid" result="pass"/><test-case name="20137NISTXML-SV-II-list-double-enumeration-5-2 tokoe:invalid" result="pass"/><test-case name="20138NISTXML-SV-II-list-double-enumeration-5-3 tokoe:invalid" result="pass"/><test-case name="20139NISTXML-SV-II-list-double-enumeration-5-4 tokoe:invalid" result="pass"/><test-case name="20140NISTXML-SV-II-list-double-enumeration-5-5 tokoe:invalid" result="pass"/><test-case name="20141NISTSchema-SV-II-list-float-maxLength-1 tokoe:valid" result="pass"/><test-case name="20142NISTXML-SV-II-list-float-maxLength-1-1 tokoe:invalid" result="pass"/><test-case name="20143NISTXML-SV-II-list-float-maxLength-1-2 tokoe:invalid" result="pass"/><test-case name="20144NISTXML-SV-II-list-float-maxLength-1-3 tokoe:invalid" result="pass"/><test-case name="20145NISTXML-SV-II-list-float-maxLength-1-4 tokoe:invalid" result="pass"/><test-case name="20146NISTXML-SV-II-list-float-maxLength-1-5 tokoe:invalid" result="pass"/><test-case name="20147NISTSchema-SV-II-list-float-maxLength-2 tokoe:valid" result="pass"/><test-case name="20148NISTXML-SV-II-list-float-maxLength-2-1 tokoe:invalid" result="pass"/><test-case name="20149NISTXML-SV-II-list-float-maxLength-2-2 tokoe:invalid" result="pass"/><test-case name="20150NISTXML-SV-II-list-float-maxLength-2-3 tokoe:invalid" result="pass"/><test-case name="20151NISTXML-SV-II-list-float-maxLength-2-4 tokoe:invalid" result="pass"/><test-case name="20152NISTXML-SV-II-list-float-maxLength-2-5 tokoe:invalid" result="pass"/><test-case name="20153NISTSchema-SV-II-list-float-maxLength-3 tokoe:valid" result="pass"/><test-case name="20154NISTXML-SV-II-list-float-maxLength-3-1 tokoe:invalid" result="pass"/><test-case name="20155NISTXML-SV-II-list-float-maxLength-3-2 tokoe:invalid" result="pass"/><test-case name="20156NISTXML-SV-II-list-float-maxLength-3-3 tokoe:invalid" result="pass"/><test-case name="20157NISTXML-SV-II-list-float-maxLength-3-4 tokoe:invalid" result="pass"/><test-case name="20158NISTXML-SV-II-list-float-maxLength-3-5 tokoe:invalid" result="pass"/><test-case name="20159NISTSchema-SV-II-list-float-maxLength-4 tokoe:valid" result="pass"/><test-case name="20160NISTXML-SV-II-list-float-maxLength-4-1 tokoe:invalid" result="pass"/><test-case name="20161NISTXML-SV-II-list-float-maxLength-4-2 tokoe:invalid" result="pass"/><test-case name="20162NISTXML-SV-II-list-float-maxLength-4-3 tokoe:invalid" result="pass"/><test-case name="20163NISTXML-SV-II-list-float-maxLength-4-4 tokoe:invalid" result="pass"/><test-case name="20164NISTXML-SV-II-list-float-maxLength-4-5 tokoe:invalid" result="pass"/><test-case name="20165NISTSchema-SV-II-list-float-maxLength-5 tokoe:valid" result="pass"/><test-case name="20166NISTXML-SV-II-list-float-maxLength-5-1 tokoe:invalid" result="pass"/><test-case name="20167NISTXML-SV-II-list-float-maxLength-5-2 tokoe:invalid" result="pass"/><test-case name="20168NISTXML-SV-II-list-float-maxLength-5-3 tokoe:invalid" result="pass"/><test-case name="20169NISTXML-SV-II-list-float-maxLength-5-4 tokoe:invalid" result="pass"/><test-case name="20170NISTXML-SV-II-list-float-maxLength-5-5 tokoe:invalid" result="pass"/><test-case name="20171NISTSchema-SV-II-list-float-minLength-1 tokoe:valid" result="pass"/><test-case name="20172NISTXML-SV-II-list-float-minLength-1-1 tokoe:invalid" result="pass"/><test-case name="20173NISTXML-SV-II-list-float-minLength-1-2 tokoe:invalid" result="pass"/><test-case name="20174NISTXML-SV-II-list-float-minLength-1-3 tokoe:invalid" result="pass"/><test-case name="20175NISTXML-SV-II-list-float-minLength-1-4 tokoe:invalid" result="pass"/><test-case name="20176NISTXML-SV-II-list-float-minLength-1-5 tokoe:invalid" result="pass"/><test-case name="20177NISTSchema-SV-II-list-float-minLength-2 tokoe:valid" result="pass"/><test-case name="20178NISTXML-SV-II-list-float-minLength-2-1 tokoe:invalid" result="pass"/><test-case name="20179NISTXML-SV-II-list-float-minLength-2-2 tokoe:invalid" result="pass"/><test-case name="20180NISTXML-SV-II-list-float-minLength-2-3 tokoe:invalid" result="pass"/><test-case name="20181NISTXML-SV-II-list-float-minLength-2-4 tokoe:invalid" result="pass"/><test-case name="20182NISTXML-SV-II-list-float-minLength-2-5 tokoe:invalid" result="pass"/><test-case name="20183NISTSchema-SV-II-list-float-minLength-3 tokoe:valid" result="pass"/><test-case name="20184NISTXML-SV-II-list-float-minLength-3-1 tokoe:invalid" result="pass"/><test-case name="20185NISTXML-SV-II-list-float-minLength-3-2 tokoe:invalid" result="pass"/><test-case name="20186NISTXML-SV-II-list-float-minLength-3-3 tokoe:invalid" result="pass"/><test-case name="20187NISTXML-SV-II-list-float-minLength-3-4 tokoe:invalid" result="pass"/><test-case name="20188NISTXML-SV-II-list-float-minLength-3-5 tokoe:invalid" result="pass"/><test-case name="20189NISTSchema-SV-II-list-float-minLength-4 tokoe:valid" result="pass"/><test-case name="20190NISTXML-SV-II-list-float-minLength-4-1 tokoe:invalid" result="pass"/><test-case name="20191NISTXML-SV-II-list-float-minLength-4-2 tokoe:invalid" result="pass"/><test-case name="20192NISTXML-SV-II-list-float-minLength-4-3 tokoe:invalid" result="pass"/><test-case name="20193NISTXML-SV-II-list-float-minLength-4-4 tokoe:invalid" result="pass"/><test-case name="20194NISTXML-SV-II-list-float-minLength-4-5 tokoe:invalid" result="pass"/><test-case name="20195NISTSchema-SV-II-list-float-minLength-5 tokoe:valid" result="pass"/><test-case name="20196NISTXML-SV-II-list-float-minLength-5-1 tokoe:invalid" result="pass"/><test-case name="20197NISTXML-SV-II-list-float-minLength-5-2 tokoe:invalid" result="pass"/><test-case name="20198NISTXML-SV-II-list-float-minLength-5-3 tokoe:invalid" result="pass"/><test-case name="20199NISTXML-SV-II-list-float-minLength-5-4 tokoe:invalid" result="pass"/><test-case name="20200NISTXML-SV-II-list-float-minLength-5-5 tokoe:invalid" result="pass"/><test-case name="20201NISTSchema-SV-II-list-float-length-1 tokoe:valid" result="pass"/><test-case name="20202NISTXML-SV-II-list-float-length-1-1 tokoe:invalid" result="pass"/><test-case name="20203NISTXML-SV-II-list-float-length-1-2 tokoe:invalid" result="pass"/><test-case name="20204NISTXML-SV-II-list-float-length-1-3 tokoe:invalid" result="pass"/><test-case name="20205NISTXML-SV-II-list-float-length-1-4 tokoe:invalid" result="pass"/><test-case name="20206NISTXML-SV-II-list-float-length-1-5 tokoe:invalid" result="pass"/><test-case name="20207NISTSchema-SV-II-list-float-length-2 tokoe:valid" result="pass"/><test-case name="20208NISTXML-SV-II-list-float-length-2-1 tokoe:invalid" result="pass"/><test-case name="20209NISTXML-SV-II-list-float-length-2-2 tokoe:invalid" result="pass"/><test-case name="20210NISTXML-SV-II-list-float-length-2-3 tokoe:invalid" result="pass"/><test-case name="20211NISTXML-SV-II-list-float-length-2-4 tokoe:invalid" result="pass"/><test-case name="20212NISTXML-SV-II-list-float-length-2-5 tokoe:invalid" result="pass"/><test-case name="20213NISTSchema-SV-II-list-float-length-3 tokoe:valid" result="pass"/><test-case name="20214NISTXML-SV-II-list-float-length-3-1 tokoe:invalid" result="pass"/><test-case name="20215NISTXML-SV-II-list-float-length-3-2 tokoe:invalid" result="pass"/><test-case name="20216NISTXML-SV-II-list-float-length-3-3 tokoe:invalid" result="pass"/><test-case name="20217NISTXML-SV-II-list-float-length-3-4 tokoe:invalid" result="pass"/><test-case name="20218NISTXML-SV-II-list-float-length-3-5 tokoe:invalid" result="pass"/><test-case name="20219NISTSchema-SV-II-list-float-length-4 tokoe:valid" result="pass"/><test-case name="20220NISTXML-SV-II-list-float-length-4-1 tokoe:invalid" result="pass"/><test-case name="20221NISTXML-SV-II-list-float-length-4-2 tokoe:invalid" result="pass"/><test-case name="20222NISTXML-SV-II-list-float-length-4-3 tokoe:invalid" result="pass"/><test-case name="20223NISTXML-SV-II-list-float-length-4-4 tokoe:invalid" result="pass"/><test-case name="20224NISTXML-SV-II-list-float-length-4-5 tokoe:invalid" result="pass"/><test-case name="20225NISTSchema-SV-II-list-float-length-5 tokoe:valid" result="pass"/><test-case name="20226NISTXML-SV-II-list-float-length-5-1 tokoe:invalid" result="pass"/><test-case name="20227NISTXML-SV-II-list-float-length-5-2 tokoe:invalid" result="pass"/><test-case name="20228NISTXML-SV-II-list-float-length-5-3 tokoe:invalid" result="pass"/><test-case name="20229NISTXML-SV-II-list-float-length-5-4 tokoe:invalid" result="pass"/><test-case name="20230NISTXML-SV-II-list-float-length-5-5 tokoe:invalid" result="pass"/><test-case name="20231NISTSchema-SV-II-list-float-pattern-1 tokoe:valid" result="pass"/><test-case name="20232NISTXML-SV-II-list-float-pattern-1-1 tokoe:invalid" result="pass"/><test-case name="20233NISTXML-SV-II-list-float-pattern-1-2 tokoe:invalid" result="pass"/><test-case name="20234NISTXML-SV-II-list-float-pattern-1-3 tokoe:invalid" result="pass"/><test-case name="20235NISTXML-SV-II-list-float-pattern-1-4 tokoe:invalid" result="pass"/><test-case name="20236NISTXML-SV-II-list-float-pattern-1-5 tokoe:invalid" result="pass"/><test-case name="20237NISTSchema-SV-II-list-float-pattern-2 tokoe:valid" result="pass"/><test-case name="20238NISTXML-SV-II-list-float-pattern-2-1 tokoe:invalid" result="pass"/><test-case name="20239NISTXML-SV-II-list-float-pattern-2-2 tokoe:invalid" result="pass"/><test-case name="20240NISTXML-SV-II-list-float-pattern-2-3 tokoe:invalid" result="pass"/><test-case name="20241NISTXML-SV-II-list-float-pattern-2-4 tokoe:invalid" result="pass"/><test-case name="20242NISTXML-SV-II-list-float-pattern-2-5 tokoe:invalid" result="pass"/><test-case name="20243NISTSchema-SV-II-list-float-pattern-3 tokoe:valid" result="pass"/><test-case name="20244NISTXML-SV-II-list-float-pattern-3-1 tokoe:invalid" result="pass"/><test-case name="20245NISTXML-SV-II-list-float-pattern-3-2 tokoe:invalid" result="pass"/><test-case name="20246NISTXML-SV-II-list-float-pattern-3-3 tokoe:invalid" result="pass"/><test-case name="20247NISTXML-SV-II-list-float-pattern-3-4 tokoe:invalid" result="pass"/><test-case name="20248NISTXML-SV-II-list-float-pattern-3-5 tokoe:invalid" result="pass"/><test-case name="20249NISTSchema-SV-II-list-float-pattern-4 tokoe:valid" result="pass"/><test-case name="20250NISTXML-SV-II-list-float-pattern-4-1 tokoe:invalid" result="pass"/><test-case name="20251NISTXML-SV-II-list-float-pattern-4-2 tokoe:invalid" result="pass"/><test-case name="20252NISTXML-SV-II-list-float-pattern-4-3 tokoe:invalid" result="pass"/><test-case name="20253NISTXML-SV-II-list-float-pattern-4-4 tokoe:invalid" result="pass"/><test-case name="20254NISTXML-SV-II-list-float-pattern-4-5 tokoe:invalid" result="pass"/><test-case name="20255NISTSchema-SV-II-list-float-pattern-5 tokoe:valid" result="pass"/><test-case name="20256NISTXML-SV-II-list-float-pattern-5-1 tokoe:invalid" result="pass"/><test-case name="20257NISTXML-SV-II-list-float-pattern-5-2 tokoe:invalid" result="pass"/><test-case name="20258NISTXML-SV-II-list-float-pattern-5-3 tokoe:invalid" result="pass"/><test-case name="20259NISTXML-SV-II-list-float-pattern-5-4 tokoe:invalid" result="pass"/><test-case name="20260NISTXML-SV-II-list-float-pattern-5-5 tokoe:invalid" result="pass"/><test-case name="20261NISTSchema-SV-II-list-float-enumeration-1 tokoe:valid" result="pass"/><test-case name="20262NISTXML-SV-II-list-float-enumeration-1-1 tokoe:invalid" result="pass"/><test-case name="20263NISTXML-SV-II-list-float-enumeration-1-2 tokoe:invalid" result="pass"/><test-case name="20264NISTXML-SV-II-list-float-enumeration-1-3 tokoe:invalid" result="pass"/><test-case name="20265NISTXML-SV-II-list-float-enumeration-1-4 tokoe:invalid" result="pass"/><test-case name="20266NISTXML-SV-II-list-float-enumeration-1-5 tokoe:invalid" result="pass"/><test-case name="20267NISTSchema-SV-II-list-float-enumeration-2 tokoe:valid" result="pass"/><test-case name="20268NISTXML-SV-II-list-float-enumeration-2-1 tokoe:invalid" result="pass"/><test-case name="20269NISTXML-SV-II-list-float-enumeration-2-2 tokoe:invalid" result="pass"/><test-case name="20270NISTXML-SV-II-list-float-enumeration-2-3 tokoe:invalid" result="pass"/><test-case name="20271NISTXML-SV-II-list-float-enumeration-2-4 tokoe:invalid" result="pass"/><test-case name="20272NISTXML-SV-II-list-float-enumeration-2-5 tokoe:invalid" result="pass"/><test-case name="20273NISTSchema-SV-II-list-float-enumeration-3 tokoe:valid" result="pass"/><test-case name="20274NISTXML-SV-II-list-float-enumeration-3-1 tokoe:invalid" result="pass"/><test-case name="20275NISTXML-SV-II-list-float-enumeration-3-2 tokoe:invalid" result="pass"/><test-case name="20276NISTXML-SV-II-list-float-enumeration-3-3 tokoe:invalid" result="pass"/><test-case name="20277NISTXML-SV-II-list-float-enumeration-3-4 tokoe:invalid" result="pass"/><test-case name="20278NISTXML-SV-II-list-float-enumeration-3-5 tokoe:invalid" result="pass"/><test-case name="20279NISTSchema-SV-II-list-float-enumeration-4 tokoe:valid" result="pass"/><test-case name="20280NISTXML-SV-II-list-float-enumeration-4-1 tokoe:invalid" result="pass"/><test-case name="20281NISTXML-SV-II-list-float-enumeration-4-2 tokoe:invalid" result="pass"/><test-case name="20282NISTXML-SV-II-list-float-enumeration-4-3 tokoe:invalid" result="pass"/><test-case name="20283NISTXML-SV-II-list-float-enumeration-4-4 tokoe:invalid" result="pass"/><test-case name="20284NISTXML-SV-II-list-float-enumeration-4-5 tokoe:invalid" result="pass"/><test-case name="20285NISTSchema-SV-II-list-float-enumeration-5 tokoe:valid" result="pass"/><test-case name="20286NISTXML-SV-II-list-float-enumeration-5-1 tokoe:invalid" result="pass"/><test-case name="20287NISTXML-SV-II-list-float-enumeration-5-2 tokoe:invalid" result="pass"/><test-case name="20288NISTXML-SV-II-list-float-enumeration-5-3 tokoe:invalid" result="pass"/><test-case name="20289NISTXML-SV-II-list-float-enumeration-5-4 tokoe:invalid" result="pass"/><test-case name="20290NISTXML-SV-II-list-float-enumeration-5-5 tokoe:invalid" result="pass"/><test-case name="20291NISTSchema-SV-II-list-duration-maxLength-1 tokoe:valid" result="pass"/><test-case name="20292NISTXML-SV-II-list-duration-maxLength-1-1 tokoe:invalid" result="pass"/><test-case name="20293NISTXML-SV-II-list-duration-maxLength-1-2 tokoe:invalid" result="pass"/><test-case name="20294NISTXML-SV-II-list-duration-maxLength-1-3 tokoe:invalid" result="pass"/><test-case name="20295NISTXML-SV-II-list-duration-maxLength-1-4 tokoe:invalid" result="pass"/><test-case name="20296NISTXML-SV-II-list-duration-maxLength-1-5 tokoe:invalid" result="pass"/><test-case name="20297NISTSchema-SV-II-list-duration-maxLength-2 tokoe:valid" result="pass"/><test-case name="20298NISTXML-SV-II-list-duration-maxLength-2-1 tokoe:invalid" result="pass"/><test-case name="20299NISTXML-SV-II-list-duration-maxLength-2-2 tokoe:invalid" result="pass"/><test-case name="20300NISTXML-SV-II-list-duration-maxLength-2-3 tokoe:invalid" result="pass"/><test-case name="20301NISTXML-SV-II-list-duration-maxLength-2-4 tokoe:invalid" result="pass"/><test-case name="20302NISTXML-SV-II-list-duration-maxLength-2-5 tokoe:invalid" result="pass"/><test-case name="20303NISTSchema-SV-II-list-duration-maxLength-3 tokoe:valid" result="pass"/><test-case name="20304NISTXML-SV-II-list-duration-maxLength-3-1 tokoe:invalid" result="pass"/><test-case name="20305NISTXML-SV-II-list-duration-maxLength-3-2 tokoe:invalid" result="pass"/><test-case name="20306NISTXML-SV-II-list-duration-maxLength-3-3 tokoe:invalid" result="pass"/><test-case name="20307NISTXML-SV-II-list-duration-maxLength-3-4 tokoe:invalid" result="pass"/><test-case name="20308NISTXML-SV-II-list-duration-maxLength-3-5 tokoe:invalid" result="pass"/><test-case name="20309NISTSchema-SV-II-list-duration-maxLength-4 tokoe:valid" result="pass"/><test-case name="20310NISTXML-SV-II-list-duration-maxLength-4-1 tokoe:invalid" result="pass"/><test-case name="20311NISTXML-SV-II-list-duration-maxLength-4-2 tokoe:invalid" result="pass"/><test-case name="20312NISTXML-SV-II-list-duration-maxLength-4-3 tokoe:invalid" result="pass"/><test-case name="20313NISTXML-SV-II-list-duration-maxLength-4-4 tokoe:invalid" result="pass"/><test-case name="20314NISTXML-SV-II-list-duration-maxLength-4-5 tokoe:invalid" result="pass"/><test-case name="20315NISTSchema-SV-II-list-duration-maxLength-5 tokoe:valid" result="pass"/><test-case name="20316NISTXML-SV-II-list-duration-maxLength-5-1 tokoe:invalid" result="pass"/><test-case name="20317NISTXML-SV-II-list-duration-maxLength-5-2 tokoe:invalid" result="pass"/><test-case name="20318NISTXML-SV-II-list-duration-maxLength-5-3 tokoe:invalid" result="pass"/><test-case name="20319NISTXML-SV-II-list-duration-maxLength-5-4 tokoe:invalid" result="pass"/><test-case name="20320NISTXML-SV-II-list-duration-maxLength-5-5 tokoe:invalid" result="pass"/><test-case name="20321NISTSchema-SV-II-list-duration-minLength-1 tokoe:valid" result="pass"/><test-case name="20322NISTXML-SV-II-list-duration-minLength-1-1 tokoe:invalid" result="pass"/><test-case name="20323NISTXML-SV-II-list-duration-minLength-1-2 tokoe:invalid" result="pass"/><test-case name="20324NISTXML-SV-II-list-duration-minLength-1-3 tokoe:invalid" result="pass"/><test-case name="20325NISTXML-SV-II-list-duration-minLength-1-4 tokoe:invalid" result="pass"/><test-case name="20326NISTXML-SV-II-list-duration-minLength-1-5 tokoe:invalid" result="pass"/><test-case name="20327NISTSchema-SV-II-list-duration-minLength-2 tokoe:valid" result="pass"/><test-case name="20328NISTXML-SV-II-list-duration-minLength-2-1 tokoe:invalid" result="pass"/><test-case name="20329NISTXML-SV-II-list-duration-minLength-2-2 tokoe:invalid" result="pass"/><test-case name="20330NISTXML-SV-II-list-duration-minLength-2-3 tokoe:invalid" result="pass"/><test-case name="20331NISTXML-SV-II-list-duration-minLength-2-4 tokoe:invalid" result="pass"/><test-case name="20332NISTXML-SV-II-list-duration-minLength-2-5 tokoe:invalid" result="pass"/><test-case name="20333NISTSchema-SV-II-list-duration-minLength-3 tokoe:valid" result="pass"/><test-case name="20334NISTXML-SV-II-list-duration-minLength-3-1 tokoe:invalid" result="pass"/><test-case name="20335NISTXML-SV-II-list-duration-minLength-3-2 tokoe:invalid" result="pass"/><test-case name="20336NISTXML-SV-II-list-duration-minLength-3-3 tokoe:invalid" result="pass"/><test-case name="20337NISTXML-SV-II-list-duration-minLength-3-4 tokoe:invalid" result="pass"/><test-case name="20338NISTXML-SV-II-list-duration-minLength-3-5 tokoe:invalid" result="pass"/><test-case name="20339NISTSchema-SV-II-list-duration-minLength-4 tokoe:valid" result="pass"/><test-case name="20340NISTXML-SV-II-list-duration-minLength-4-1 tokoe:invalid" result="pass"/><test-case name="20341NISTXML-SV-II-list-duration-minLength-4-2 tokoe:invalid" result="pass"/><test-case name="20342NISTXML-SV-II-list-duration-minLength-4-3 tokoe:invalid" result="pass"/><test-case name="20343NISTXML-SV-II-list-duration-minLength-4-4 tokoe:invalid" result="pass"/><test-case name="20344NISTXML-SV-II-list-duration-minLength-4-5 tokoe:invalid" result="pass"/><test-case name="20345NISTSchema-SV-II-list-duration-minLength-5 tokoe:valid" result="pass"/><test-case name="20346NISTXML-SV-II-list-duration-minLength-5-1 tokoe:invalid" result="pass"/><test-case name="20347NISTXML-SV-II-list-duration-minLength-5-2 tokoe:invalid" result="pass"/><test-case name="20348NISTXML-SV-II-list-duration-minLength-5-3 tokoe:invalid" result="pass"/><test-case name="20349NISTXML-SV-II-list-duration-minLength-5-4 tokoe:invalid" result="pass"/><test-case name="20350NISTXML-SV-II-list-duration-minLength-5-5 tokoe:invalid" result="pass"/><test-case name="20351NISTSchema-SV-II-list-duration-length-1 tokoe:valid" result="pass"/><test-case name="20352NISTXML-SV-II-list-duration-length-1-1 tokoe:invalid" result="pass"/><test-case name="20353NISTXML-SV-II-list-duration-length-1-2 tokoe:invalid" result="pass"/><test-case name="20354NISTXML-SV-II-list-duration-length-1-3 tokoe:invalid" result="pass"/><test-case name="20355NISTXML-SV-II-list-duration-length-1-4 tokoe:invalid" result="pass"/><test-case name="20356NISTXML-SV-II-list-duration-length-1-5 tokoe:invalid" result="pass"/><test-case name="20357NISTSchema-SV-II-list-duration-length-2 tokoe:valid" result="pass"/><test-case name="20358NISTXML-SV-II-list-duration-length-2-1 tokoe:invalid" result="pass"/><test-case name="20359NISTXML-SV-II-list-duration-length-2-2 tokoe:invalid" result="pass"/><test-case name="20360NISTXML-SV-II-list-duration-length-2-3 tokoe:invalid" result="pass"/><test-case name="20361NISTXML-SV-II-list-duration-length-2-4 tokoe:invalid" result="pass"/><test-case name="20362NISTXML-SV-II-list-duration-length-2-5 tokoe:invalid" result="pass"/><test-case name="20363NISTSchema-SV-II-list-duration-length-3 tokoe:valid" result="pass"/><test-case name="20364NISTXML-SV-II-list-duration-length-3-1 tokoe:invalid" result="pass"/><test-case name="20365NISTXML-SV-II-list-duration-length-3-2 tokoe:invalid" result="pass"/><test-case name="20366NISTXML-SV-II-list-duration-length-3-3 tokoe:invalid" result="pass"/><test-case name="20367NISTXML-SV-II-list-duration-length-3-4 tokoe:invalid" result="pass"/><test-case name="20368NISTXML-SV-II-list-duration-length-3-5 tokoe:invalid" result="pass"/><test-case name="20369NISTSchema-SV-II-list-duration-length-4 tokoe:valid" result="pass"/><test-case name="20370NISTXML-SV-II-list-duration-length-4-1 tokoe:invalid" result="pass"/><test-case name="20371NISTXML-SV-II-list-duration-length-4-2 tokoe:invalid" result="pass"/><test-case name="20372NISTXML-SV-II-list-duration-length-4-3 tokoe:invalid" result="pass"/><test-case name="20373NISTXML-SV-II-list-duration-length-4-4 tokoe:invalid" result="pass"/><test-case name="20374NISTXML-SV-II-list-duration-length-4-5 tokoe:invalid" result="pass"/><test-case name="20375NISTSchema-SV-II-list-duration-length-5 tokoe:valid" result="pass"/><test-case name="20376NISTXML-SV-II-list-duration-length-5-1 tokoe:invalid" result="pass"/><test-case name="20377NISTXML-SV-II-list-duration-length-5-2 tokoe:invalid" result="pass"/><test-case name="20378NISTXML-SV-II-list-duration-length-5-3 tokoe:invalid" result="pass"/><test-case name="20379NISTXML-SV-II-list-duration-length-5-4 tokoe:invalid" result="pass"/><test-case name="20380NISTXML-SV-II-list-duration-length-5-5 tokoe:invalid" result="pass"/><test-case name="20381NISTSchema-SV-II-list-duration-pattern-1 tokoe:valid" result="pass"/><test-case name="20382NISTXML-SV-II-list-duration-pattern-1-1 tokoe:invalid" result="pass"/><test-case name="20383NISTXML-SV-II-list-duration-pattern-1-2 tokoe:invalid" result="pass"/><test-case name="20384NISTXML-SV-II-list-duration-pattern-1-3 tokoe:invalid" result="pass"/><test-case name="20385NISTXML-SV-II-list-duration-pattern-1-4 tokoe:invalid" result="pass"/><test-case name="20386NISTXML-SV-II-list-duration-pattern-1-5 tokoe:invalid" result="pass"/><test-case name="20387NISTSchema-SV-II-list-duration-pattern-2 tokoe:valid" result="pass"/><test-case name="20388NISTXML-SV-II-list-duration-pattern-2-1 tokoe:invalid" result="pass"/><test-case name="20389NISTXML-SV-II-list-duration-pattern-2-2 tokoe:invalid" result="pass"/><test-case name="20390NISTXML-SV-II-list-duration-pattern-2-3 tokoe:invalid" result="pass"/><test-case name="20391NISTXML-SV-II-list-duration-pattern-2-4 tokoe:invalid" result="pass"/><test-case name="20392NISTXML-SV-II-list-duration-pattern-2-5 tokoe:invalid" result="pass"/><test-case name="20393NISTSchema-SV-II-list-duration-pattern-3 tokoe:valid" result="pass"/><test-case name="20394NISTXML-SV-II-list-duration-pattern-3-1 tokoe:invalid" result="pass"/><test-case name="20395NISTXML-SV-II-list-duration-pattern-3-2 tokoe:invalid" result="pass"/><test-case name="20396NISTXML-SV-II-list-duration-pattern-3-3 tokoe:invalid" result="pass"/><test-case name="20397NISTXML-SV-II-list-duration-pattern-3-4 tokoe:invalid" result="pass"/><test-case name="20398NISTXML-SV-II-list-duration-pattern-3-5 tokoe:invalid" result="pass"/><test-case name="20399NISTSchema-SV-II-list-duration-pattern-4 tokoe:valid" result="pass"/><test-case name="20400NISTXML-SV-II-list-duration-pattern-4-1 tokoe:invalid" result="pass"/><test-case name="20401NISTXML-SV-II-list-duration-pattern-4-2 tokoe:invalid" result="pass"/><test-case name="20402NISTXML-SV-II-list-duration-pattern-4-3 tokoe:invalid" result="pass"/><test-case name="20403NISTXML-SV-II-list-duration-pattern-4-4 tokoe:invalid" result="pass"/><test-case name="20404NISTXML-SV-II-list-duration-pattern-4-5 tokoe:invalid" result="pass"/><test-case name="20405NISTSchema-SV-II-list-duration-pattern-5 tokoe:valid" result="pass"/><test-case name="20406NISTXML-SV-II-list-duration-pattern-5-1 tokoe:invalid" result="pass"/><test-case name="20407NISTXML-SV-II-list-duration-pattern-5-2 tokoe:invalid" result="pass"/><test-case name="20408NISTXML-SV-II-list-duration-pattern-5-3 tokoe:invalid" result="pass"/><test-case name="20409NISTXML-SV-II-list-duration-pattern-5-4 tokoe:invalid" result="pass"/><test-case name="20410NISTXML-SV-II-list-duration-pattern-5-5 tokoe:invalid" result="pass"/><test-case name="20411NISTSchema-SV-II-list-duration-enumeration-1 tokoe:valid" result="pass"/><test-case name="20412NISTXML-SV-II-list-duration-enumeration-1-1 tokoe:invalid" result="pass"/><test-case name="20413NISTXML-SV-II-list-duration-enumeration-1-2 tokoe:invalid" result="pass"/><test-case name="20414NISTXML-SV-II-list-duration-enumeration-1-3 tokoe:invalid" result="pass"/><test-case name="20415NISTXML-SV-II-list-duration-enumeration-1-4 tokoe:invalid" result="pass"/><test-case name="20416NISTXML-SV-II-list-duration-enumeration-1-5 tokoe:invalid" result="pass"/><test-case name="20417NISTSchema-SV-II-list-duration-enumeration-2 tokoe:valid" result="pass"/><test-case name="20418NISTXML-SV-II-list-duration-enumeration-2-1 tokoe:invalid" result="pass"/><test-case name="20419NISTXML-SV-II-list-duration-enumeration-2-2 tokoe:invalid" result="pass"/><test-case name="20420NISTXML-SV-II-list-duration-enumeration-2-3 tokoe:invalid" result="pass"/><test-case name="20421NISTXML-SV-II-list-duration-enumeration-2-4 tokoe:invalid" result="pass"/><test-case name="20422NISTXML-SV-II-list-duration-enumeration-2-5 tokoe:invalid" result="pass"/><test-case name="20423NISTSchema-SV-II-list-duration-enumeration-3 tokoe:valid" result="pass"/><test-case name="20424NISTXML-SV-II-list-duration-enumeration-3-1 tokoe:invalid" result="pass"/><test-case name="20425NISTXML-SV-II-list-duration-enumeration-3-2 tokoe:invalid" result="pass"/><test-case name="20426NISTXML-SV-II-list-duration-enumeration-3-3 tokoe:invalid" result="pass"/><test-case name="20427NISTXML-SV-II-list-duration-enumeration-3-4 tokoe:invalid" result="pass"/><test-case name="20428NISTXML-SV-II-list-duration-enumeration-3-5 tokoe:invalid" result="pass"/><test-case name="20429NISTSchema-SV-II-list-duration-enumeration-4 tokoe:valid" result="pass"/><test-case name="20430NISTXML-SV-II-list-duration-enumeration-4-1 tokoe:invalid" result="pass"/><test-case name="20431NISTXML-SV-II-list-duration-enumeration-4-2 tokoe:invalid" result="pass"/><test-case name="20432NISTXML-SV-II-list-duration-enumeration-4-3 tokoe:invalid" result="pass"/><test-case name="20433NISTXML-SV-II-list-duration-enumeration-4-4 tokoe:invalid" result="pass"/><test-case name="20434NISTXML-SV-II-list-duration-enumeration-4-5 tokoe:invalid" result="pass"/><test-case name="20435NISTSchema-SV-II-list-duration-enumeration-5 tokoe:valid" result="pass"/><test-case name="20436NISTXML-SV-II-list-duration-enumeration-5-1 tokoe:invalid" result="pass"/><test-case name="20437NISTXML-SV-II-list-duration-enumeration-5-2 tokoe:invalid" result="pass"/><test-case name="20438NISTXML-SV-II-list-duration-enumeration-5-3 tokoe:invalid" result="pass"/><test-case name="20439NISTXML-SV-II-list-duration-enumeration-5-4 tokoe:invalid" result="pass"/><test-case name="20440NISTXML-SV-II-list-duration-enumeration-5-5 tokoe:invalid" result="pass"/><test-case name="20441NISTSchema-SV-II-list-dateTime-maxLength-1 tokoe:valid" result="pass"/><test-case name="20442NISTXML-SV-II-list-dateTime-maxLength-1-1 tokoe:invalid" result="pass"/><test-case name="20443NISTXML-SV-II-list-dateTime-maxLength-1-2 tokoe:invalid" result="pass"/><test-case name="20444NISTXML-SV-II-list-dateTime-maxLength-1-3 tokoe:invalid" result="pass"/><test-case name="20445NISTXML-SV-II-list-dateTime-maxLength-1-4 tokoe:invalid" result="pass"/><test-case name="20446NISTXML-SV-II-list-dateTime-maxLength-1-5 tokoe:invalid" result="pass"/><test-case name="20447NISTSchema-SV-II-list-dateTime-maxLength-2 tokoe:valid" result="pass"/><test-case name="20448NISTXML-SV-II-list-dateTime-maxLength-2-1 tokoe:invalid" result="pass"/><test-case name="20449NISTXML-SV-II-list-dateTime-maxLength-2-2 tokoe:invalid" result="pass"/><test-case name="20450NISTXML-SV-II-list-dateTime-maxLength-2-3 tokoe:invalid" result="pass"/><test-case name="20451NISTXML-SV-II-list-dateTime-maxLength-2-4 tokoe:invalid" result="pass"/><test-case name="20452NISTXML-SV-II-list-dateTime-maxLength-2-5 tokoe:invalid" result="pass"/><test-case name="20453NISTSchema-SV-II-list-dateTime-maxLength-3 tokoe:valid" result="pass"/><test-case name="20454NISTXML-SV-II-list-dateTime-maxLength-3-1 tokoe:invalid" result="pass"/><test-case name="20455NISTXML-SV-II-list-dateTime-maxLength-3-2 tokoe:invalid" result="pass"/><test-case name="20456NISTXML-SV-II-list-dateTime-maxLength-3-3 tokoe:invalid" result="pass"/><test-case name="20457NISTXML-SV-II-list-dateTime-maxLength-3-4 tokoe:invalid" result="pass"/><test-case name="20458NISTXML-SV-II-list-dateTime-maxLength-3-5 tokoe:invalid" result="pass"/><test-case name="20459NISTSchema-SV-II-list-dateTime-maxLength-4 tokoe:valid" result="pass"/><test-case name="20460NISTXML-SV-II-list-dateTime-maxLength-4-1 tokoe:invalid" result="pass"/><test-case name="20461NISTXML-SV-II-list-dateTime-maxLength-4-2 tokoe:invalid" result="pass"/><test-case name="20462NISTXML-SV-II-list-dateTime-maxLength-4-3 tokoe:invalid" result="pass"/><test-case name="20463NISTXML-SV-II-list-dateTime-maxLength-4-4 tokoe:invalid" result="pass"/><test-case name="20464NISTXML-SV-II-list-dateTime-maxLength-4-5 tokoe:invalid" result="pass"/><test-case name="20465NISTSchema-SV-II-list-dateTime-maxLength-5 tokoe:valid" result="pass"/><test-case name="20466NISTXML-SV-II-list-dateTime-maxLength-5-1 tokoe:invalid" result="pass"/><test-case name="20467NISTXML-SV-II-list-dateTime-maxLength-5-2 tokoe:invalid" result="pass"/><test-case name="20468NISTXML-SV-II-list-dateTime-maxLength-5-3 tokoe:invalid" result="pass"/><test-case name="20469NISTXML-SV-II-list-dateTime-maxLength-5-4 tokoe:invalid" result="pass"/><test-case name="20470NISTXML-SV-II-list-dateTime-maxLength-5-5 tokoe:invalid" result="pass"/><test-case name="20471NISTSchema-SV-II-list-dateTime-minLength-1 tokoe:valid" result="pass"/><test-case name="20472NISTXML-SV-II-list-dateTime-minLength-1-1 tokoe:invalid" result="pass"/><test-case name="20473NISTXML-SV-II-list-dateTime-minLength-1-2 tokoe:invalid" result="pass"/><test-case name="20474NISTXML-SV-II-list-dateTime-minLength-1-3 tokoe:invalid" result="pass"/><test-case name="20475NISTXML-SV-II-list-dateTime-minLength-1-4 tokoe:invalid" result="pass"/><test-case name="20476NISTXML-SV-II-list-dateTime-minLength-1-5 tokoe:invalid" result="pass"/><test-case name="20477NISTSchema-SV-II-list-dateTime-minLength-2 tokoe:valid" result="pass"/><test-case name="20478NISTXML-SV-II-list-dateTime-minLength-2-1 tokoe:invalid" result="pass"/><test-case name="20479NISTXML-SV-II-list-dateTime-minLength-2-2 tokoe:invalid" result="pass"/><test-case name="20480NISTXML-SV-II-list-dateTime-minLength-2-3 tokoe:invalid" result="pass"/><test-case name="20481NISTXML-SV-II-list-dateTime-minLength-2-4 tokoe:invalid" result="pass"/><test-case name="20482NISTXML-SV-II-list-dateTime-minLength-2-5 tokoe:invalid" result="pass"/><test-case name="20483NISTSchema-SV-II-list-dateTime-minLength-3 tokoe:valid" result="pass"/><test-case name="20484NISTXML-SV-II-list-dateTime-minLength-3-1 tokoe:invalid" result="pass"/><test-case name="20485NISTXML-SV-II-list-dateTime-minLength-3-2 tokoe:invalid" result="pass"/><test-case name="20486NISTXML-SV-II-list-dateTime-minLength-3-3 tokoe:invalid" result="pass"/><test-case name="20487NISTXML-SV-II-list-dateTime-minLength-3-4 tokoe:invalid" result="pass"/><test-case name="20488NISTXML-SV-II-list-dateTime-minLength-3-5 tokoe:invalid" result="pass"/><test-case name="20489NISTSchema-SV-II-list-dateTime-minLength-4 tokoe:valid" result="pass"/><test-case name="20490NISTXML-SV-II-list-dateTime-minLength-4-1 tokoe:invalid" result="pass"/><test-case name="20491NISTXML-SV-II-list-dateTime-minLength-4-2 tokoe:invalid" result="pass"/><test-case name="20492NISTXML-SV-II-list-dateTime-minLength-4-3 tokoe:invalid" result="pass"/><test-case name="20493NISTXML-SV-II-list-dateTime-minLength-4-4 tokoe:invalid" result="pass"/><test-case name="20494NISTXML-SV-II-list-dateTime-minLength-4-5 tokoe:invalid" result="pass"/><test-case name="20495NISTSchema-SV-II-list-dateTime-minLength-5 tokoe:valid" result="pass"/><test-case name="20496NISTXML-SV-II-list-dateTime-minLength-5-1 tokoe:invalid" result="pass"/><test-case name="20497NISTXML-SV-II-list-dateTime-minLength-5-2 tokoe:invalid" result="pass"/><test-case name="20498NISTXML-SV-II-list-dateTime-minLength-5-3 tokoe:invalid" result="pass"/><test-case name="20499NISTXML-SV-II-list-dateTime-minLength-5-4 tokoe:invalid" result="pass"/><test-case name="20500NISTXML-SV-II-list-dateTime-minLength-5-5 tokoe:invalid" result="pass"/><test-case name="20501NISTSchema-SV-II-list-dateTime-length-1 tokoe:valid" result="pass"/><test-case name="20502NISTXML-SV-II-list-dateTime-length-1-1 tokoe:invalid" result="pass"/><test-case name="20503NISTXML-SV-II-list-dateTime-length-1-2 tokoe:invalid" result="pass"/><test-case name="20504NISTXML-SV-II-list-dateTime-length-1-3 tokoe:invalid" result="pass"/><test-case name="20505NISTXML-SV-II-list-dateTime-length-1-4 tokoe:invalid" result="pass"/><test-case name="20506NISTXML-SV-II-list-dateTime-length-1-5 tokoe:invalid" result="pass"/><test-case name="20507NISTSchema-SV-II-list-dateTime-length-2 tokoe:valid" result="pass"/><test-case name="20508NISTXML-SV-II-list-dateTime-length-2-1 tokoe:invalid" result="pass"/><test-case name="20509NISTXML-SV-II-list-dateTime-length-2-2 tokoe:invalid" result="pass"/><test-case name="20510NISTXML-SV-II-list-dateTime-length-2-3 tokoe:invalid" result="pass"/><test-case name="20511NISTXML-SV-II-list-dateTime-length-2-4 tokoe:invalid" result="pass"/><test-case name="20512NISTXML-SV-II-list-dateTime-length-2-5 tokoe:invalid" result="pass"/><test-case name="20513NISTSchema-SV-II-list-dateTime-length-3 tokoe:valid" result="pass"/><test-case name="20514NISTXML-SV-II-list-dateTime-length-3-1 tokoe:invalid" result="pass"/><test-case name="20515NISTXML-SV-II-list-dateTime-length-3-2 tokoe:invalid" result="pass"/><test-case name="20516NISTXML-SV-II-list-dateTime-length-3-3 tokoe:invalid" result="pass"/><test-case name="20517NISTXML-SV-II-list-dateTime-length-3-4 tokoe:invalid" result="pass"/><test-case name="20518NISTXML-SV-II-list-dateTime-length-3-5 tokoe:invalid" result="pass"/><test-case name="20519NISTSchema-SV-II-list-dateTime-length-4 tokoe:valid" result="pass"/><test-case name="20520NISTXML-SV-II-list-dateTime-length-4-1 tokoe:invalid" result="pass"/><test-case name="20521NISTXML-SV-II-list-dateTime-length-4-2 tokoe:invalid" result="pass"/><test-case name="20522NISTXML-SV-II-list-dateTime-length-4-3 tokoe:invalid" result="pass"/><test-case name="20523NISTXML-SV-II-list-dateTime-length-4-4 tokoe:invalid" result="pass"/><test-case name="20524NISTXML-SV-II-list-dateTime-length-4-5 tokoe:invalid" result="pass"/><test-case name="20525NISTSchema-SV-II-list-dateTime-length-5 tokoe:valid" result="pass"/><test-case name="20526NISTXML-SV-II-list-dateTime-length-5-1 tokoe:invalid" result="pass"/><test-case name="20527NISTXML-SV-II-list-dateTime-length-5-2 tokoe:invalid" result="pass"/><test-case name="20528NISTXML-SV-II-list-dateTime-length-5-3 tokoe:invalid" result="pass"/><test-case name="20529NISTXML-SV-II-list-dateTime-length-5-4 tokoe:invalid" result="pass"/><test-case name="20530NISTXML-SV-II-list-dateTime-length-5-5 tokoe:invalid" result="pass"/><test-case name="20531NISTSchema-SV-II-list-dateTime-pattern-1 tokoe:valid" result="pass"/><test-case name="20532NISTXML-SV-II-list-dateTime-pattern-1-1 tokoe:invalid" result="pass"/><test-case name="20533NISTXML-SV-II-list-dateTime-pattern-1-2 tokoe:invalid" result="pass"/><test-case name="20534NISTXML-SV-II-list-dateTime-pattern-1-3 tokoe:invalid" result="pass"/><test-case name="20535NISTXML-SV-II-list-dateTime-pattern-1-4 tokoe:invalid" result="pass"/><test-case name="20536NISTXML-SV-II-list-dateTime-pattern-1-5 tokoe:invalid" result="pass"/><test-case name="20537NISTSchema-SV-II-list-dateTime-pattern-2 tokoe:valid" result="pass"/><test-case name="20538NISTXML-SV-II-list-dateTime-pattern-2-1 tokoe:invalid" result="pass"/><test-case name="20539NISTXML-SV-II-list-dateTime-pattern-2-2 tokoe:invalid" result="pass"/><test-case name="20540NISTXML-SV-II-list-dateTime-pattern-2-3 tokoe:invalid" result="pass"/><test-case name="20541NISTXML-SV-II-list-dateTime-pattern-2-4 tokoe:invalid" result="pass"/><test-case name="20542NISTXML-SV-II-list-dateTime-pattern-2-5 tokoe:invalid" result="pass"/><test-case name="20543NISTSchema-SV-II-list-dateTime-pattern-3 tokoe:valid" result="pass"/><test-case name="20544NISTXML-SV-II-list-dateTime-pattern-3-1 tokoe:invalid" result="pass"/><test-case name="20545NISTXML-SV-II-list-dateTime-pattern-3-2 tokoe:invalid" result="pass"/><test-case name="20546NISTXML-SV-II-list-dateTime-pattern-3-3 tokoe:invalid" result="pass"/><test-case name="20547NISTXML-SV-II-list-dateTime-pattern-3-4 tokoe:invalid" result="pass"/><test-case name="20548NISTXML-SV-II-list-dateTime-pattern-3-5 tokoe:invalid" result="pass"/><test-case name="20549NISTSchema-SV-II-list-dateTime-pattern-4 tokoe:valid" result="pass"/><test-case name="20550NISTXML-SV-II-list-dateTime-pattern-4-1 tokoe:invalid" result="pass"/><test-case name="20551NISTXML-SV-II-list-dateTime-pattern-4-2 tokoe:invalid" result="pass"/><test-case name="20552NISTXML-SV-II-list-dateTime-pattern-4-3 tokoe:invalid" result="pass"/><test-case name="20553NISTXML-SV-II-list-dateTime-pattern-4-4 tokoe:invalid" result="pass"/><test-case name="20554NISTXML-SV-II-list-dateTime-pattern-4-5 tokoe:invalid" result="pass"/><test-case name="20555NISTSchema-SV-II-list-dateTime-pattern-5 tokoe:valid" result="pass"/><test-case name="20556NISTXML-SV-II-list-dateTime-pattern-5-1 tokoe:invalid" result="pass"/><test-case name="20557NISTXML-SV-II-list-dateTime-pattern-5-2 tokoe:invalid" result="pass"/><test-case name="20558NISTXML-SV-II-list-dateTime-pattern-5-3 tokoe:invalid" result="pass"/><test-case name="20559NISTXML-SV-II-list-dateTime-pattern-5-4 tokoe:invalid" result="pass"/><test-case name="20560NISTXML-SV-II-list-dateTime-pattern-5-5 tokoe:invalid" result="pass"/><test-case name="20561NISTSchema-SV-II-list-dateTime-enumeration-1 tokoe:valid" result="pass"/><test-case name="20562NISTXML-SV-II-list-dateTime-enumeration-1-1 tokoe:invalid" result="pass"/><test-case name="20563NISTXML-SV-II-list-dateTime-enumeration-1-2 tokoe:invalid" result="pass"/><test-case name="20564NISTXML-SV-II-list-dateTime-enumeration-1-3 tokoe:invalid" result="pass"/><test-case name="20565NISTXML-SV-II-list-dateTime-enumeration-1-4 tokoe:invalid" result="pass"/><test-case name="20566NISTXML-SV-II-list-dateTime-enumeration-1-5 tokoe:invalid" result="pass"/><test-case name="20567NISTSchema-SV-II-list-dateTime-enumeration-2 tokoe:valid" result="pass"/><test-case name="20568NISTXML-SV-II-list-dateTime-enumeration-2-1 tokoe:invalid" result="pass"/><test-case name="20569NISTXML-SV-II-list-dateTime-enumeration-2-2 tokoe:invalid" result="pass"/><test-case name="20570NISTXML-SV-II-list-dateTime-enumeration-2-3 tokoe:invalid" result="pass"/><test-case name="20571NISTXML-SV-II-list-dateTime-enumeration-2-4 tokoe:invalid" result="pass"/><test-case name="20572NISTXML-SV-II-list-dateTime-enumeration-2-5 tokoe:invalid" result="pass"/><test-case name="20573NISTSchema-SV-II-list-dateTime-enumeration-3 tokoe:valid" result="pass"/><test-case name="20574NISTXML-SV-II-list-dateTime-enumeration-3-1 tokoe:invalid" result="pass"/><test-case name="20575NISTXML-SV-II-list-dateTime-enumeration-3-2 tokoe:invalid" result="pass"/><test-case name="20576NISTXML-SV-II-list-dateTime-enumeration-3-3 tokoe:invalid" result="pass"/><test-case name="20577NISTXML-SV-II-list-dateTime-enumeration-3-4 tokoe:invalid" result="pass"/><test-case name="20578NISTXML-SV-II-list-dateTime-enumeration-3-5 tokoe:invalid" result="pass"/><test-case name="20579NISTSchema-SV-II-list-dateTime-enumeration-4 tokoe:valid" result="pass"/><test-case name="20580NISTXML-SV-II-list-dateTime-enumeration-4-1 tokoe:invalid" result="pass"/><test-case name="20581NISTXML-SV-II-list-dateTime-enumeration-4-2 tokoe:invalid" result="pass"/><test-case name="20582NISTXML-SV-II-list-dateTime-enumeration-4-3 tokoe:invalid" result="pass"/><test-case name="20583NISTXML-SV-II-list-dateTime-enumeration-4-4 tokoe:invalid" result="pass"/><test-case name="20584NISTXML-SV-II-list-dateTime-enumeration-4-5 tokoe:invalid" result="pass"/><test-case name="20585NISTSchema-SV-II-list-dateTime-enumeration-5 tokoe:valid" result="pass"/><test-case name="20586NISTXML-SV-II-list-dateTime-enumeration-5-1 tokoe:invalid" result="pass"/><test-case name="20587NISTXML-SV-II-list-dateTime-enumeration-5-2 tokoe:invalid" result="pass"/><test-case name="20588NISTXML-SV-II-list-dateTime-enumeration-5-3 tokoe:invalid" result="pass"/><test-case name="20589NISTXML-SV-II-list-dateTime-enumeration-5-4 tokoe:invalid" result="pass"/><test-case name="20590NISTXML-SV-II-list-dateTime-enumeration-5-5 tokoe:invalid" result="pass"/><test-case name="20591NISTSchema-SV-II-list-time-maxLength-1 tokoe:valid" result="pass"/><test-case name="20592NISTXML-SV-II-list-time-maxLength-1-1 tokoe:invalid" result="pass"/><test-case name="20593NISTXML-SV-II-list-time-maxLength-1-2 tokoe:invalid" result="pass"/><test-case name="20594NISTXML-SV-II-list-time-maxLength-1-3 tokoe:invalid" result="pass"/><test-case name="20595NISTXML-SV-II-list-time-maxLength-1-4 tokoe:invalid" result="pass"/><test-case name="20596NISTXML-SV-II-list-time-maxLength-1-5 tokoe:invalid" result="pass"/><test-case name="20597NISTSchema-SV-II-list-time-maxLength-2 tokoe:valid" result="pass"/><test-case name="20598NISTXML-SV-II-list-time-maxLength-2-1 tokoe:invalid" result="pass"/><test-case name="20599NISTXML-SV-II-list-time-maxLength-2-2 tokoe:invalid" result="pass"/><test-case name="20600NISTXML-SV-II-list-time-maxLength-2-3 tokoe:invalid" result="pass"/><test-case name="20601NISTXML-SV-II-list-time-maxLength-2-4 tokoe:invalid" result="pass"/><test-case name="20602NISTXML-SV-II-list-time-maxLength-2-5 tokoe:invalid" result="pass"/><test-case name="20603NISTSchema-SV-II-list-time-maxLength-3 tokoe:valid" result="pass"/><test-case name="20604NISTXML-SV-II-list-time-maxLength-3-1 tokoe:invalid" result="pass"/><test-case name="20605NISTXML-SV-II-list-time-maxLength-3-2 tokoe:invalid" result="pass"/><test-case name="20606NISTXML-SV-II-list-time-maxLength-3-3 tokoe:invalid" result="pass"/><test-case name="20607NISTXML-SV-II-list-time-maxLength-3-4 tokoe:invalid" result="pass"/><test-case name="20608NISTXML-SV-II-list-time-maxLength-3-5 tokoe:invalid" result="pass"/><test-case name="20609NISTSchema-SV-II-list-time-maxLength-4 tokoe:valid" result="pass"/><test-case name="20610NISTXML-SV-II-list-time-maxLength-4-1 tokoe:invalid" result="pass"/><test-case name="20611NISTXML-SV-II-list-time-maxLength-4-2 tokoe:invalid" result="pass"/><test-case name="20612NISTXML-SV-II-list-time-maxLength-4-3 tokoe:invalid" result="pass"/><test-case name="20613NISTXML-SV-II-list-time-maxLength-4-4 tokoe:invalid" result="pass"/><test-case name="20614NISTXML-SV-II-list-time-maxLength-4-5 tokoe:invalid" result="pass"/><test-case name="20615NISTSchema-SV-II-list-time-maxLength-5 tokoe:valid" result="pass"/><test-case name="20616NISTXML-SV-II-list-time-maxLength-5-1 tokoe:invalid" result="pass"/><test-case name="20617NISTXML-SV-II-list-time-maxLength-5-2 tokoe:invalid" result="pass"/><test-case name="20618NISTXML-SV-II-list-time-maxLength-5-3 tokoe:invalid" result="pass"/><test-case name="20619NISTXML-SV-II-list-time-maxLength-5-4 tokoe:invalid" result="pass"/><test-case name="20620NISTXML-SV-II-list-time-maxLength-5-5 tokoe:invalid" result="pass"/><test-case name="20621NISTSchema-SV-II-list-time-minLength-1 tokoe:valid" result="pass"/><test-case name="20622NISTXML-SV-II-list-time-minLength-1-1 tokoe:invalid" result="pass"/><test-case name="20623NISTXML-SV-II-list-time-minLength-1-2 tokoe:invalid" result="pass"/><test-case name="20624NISTXML-SV-II-list-time-minLength-1-3 tokoe:invalid" result="pass"/><test-case name="20625NISTXML-SV-II-list-time-minLength-1-4 tokoe:invalid" result="pass"/><test-case name="20626NISTXML-SV-II-list-time-minLength-1-5 tokoe:invalid" result="pass"/><test-case name="20627NISTSchema-SV-II-list-time-minLength-2 tokoe:valid" result="pass"/><test-case name="20628NISTXML-SV-II-list-time-minLength-2-1 tokoe:invalid" result="pass"/><test-case name="20629NISTXML-SV-II-list-time-minLength-2-2 tokoe:invalid" result="pass"/><test-case name="20630NISTXML-SV-II-list-time-minLength-2-3 tokoe:invalid" result="pass"/><test-case name="20631NISTXML-SV-II-list-time-minLength-2-4 tokoe:invalid" result="pass"/><test-case name="20632NISTXML-SV-II-list-time-minLength-2-5 tokoe:invalid" result="pass"/><test-case name="20633NISTSchema-SV-II-list-time-minLength-3 tokoe:valid" result="pass"/><test-case name="20634NISTXML-SV-II-list-time-minLength-3-1 tokoe:invalid" result="pass"/><test-case name="20635NISTXML-SV-II-list-time-minLength-3-2 tokoe:invalid" result="pass"/><test-case name="20636NISTXML-SV-II-list-time-minLength-3-3 tokoe:invalid" result="pass"/><test-case name="20637NISTXML-SV-II-list-time-minLength-3-4 tokoe:invalid" result="pass"/><test-case name="20638NISTXML-SV-II-list-time-minLength-3-5 tokoe:invalid" result="pass"/><test-case name="20639NISTSchema-SV-II-list-time-minLength-4 tokoe:valid" result="pass"/><test-case name="20640NISTXML-SV-II-list-time-minLength-4-1 tokoe:invalid" result="pass"/><test-case name="20641NISTXML-SV-II-list-time-minLength-4-2 tokoe:invalid" result="pass"/><test-case name="20642NISTXML-SV-II-list-time-minLength-4-3 tokoe:invalid" result="pass"/><test-case name="20643NISTXML-SV-II-list-time-minLength-4-4 tokoe:invalid" result="pass"/><test-case name="20644NISTXML-SV-II-list-time-minLength-4-5 tokoe:invalid" result="pass"/><test-case name="20645NISTSchema-SV-II-list-time-minLength-5 tokoe:valid" result="pass"/><test-case name="20646NISTXML-SV-II-list-time-minLength-5-1 tokoe:invalid" result="pass"/><test-case name="20647NISTXML-SV-II-list-time-minLength-5-2 tokoe:invalid" result="pass"/><test-case name="20648NISTXML-SV-II-list-time-minLength-5-3 tokoe:invalid" result="pass"/><test-case name="20649NISTXML-SV-II-list-time-minLength-5-4 tokoe:invalid" result="pass"/><test-case name="20650NISTXML-SV-II-list-time-minLength-5-5 tokoe:invalid" result="pass"/><test-case name="20651NISTSchema-SV-II-list-time-length-1 tokoe:valid" result="pass"/><test-case name="20652NISTXML-SV-II-list-time-length-1-1 tokoe:invalid" result="pass"/><test-case name="20653NISTXML-SV-II-list-time-length-1-2 tokoe:invalid" result="pass"/><test-case name="20654NISTXML-SV-II-list-time-length-1-3 tokoe:invalid" result="pass"/><test-case name="20655NISTXML-SV-II-list-time-length-1-4 tokoe:invalid" result="pass"/><test-case name="20656NISTXML-SV-II-list-time-length-1-5 tokoe:invalid" result="pass"/><test-case name="20657NISTSchema-SV-II-list-time-length-2 tokoe:valid" result="pass"/><test-case name="20658NISTXML-SV-II-list-time-length-2-1 tokoe:invalid" result="pass"/><test-case name="20659NISTXML-SV-II-list-time-length-2-2 tokoe:invalid" result="pass"/><test-case name="20660NISTXML-SV-II-list-time-length-2-3 tokoe:invalid" result="pass"/><test-case name="20661NISTXML-SV-II-list-time-length-2-4 tokoe:invalid" result="pass"/><test-case name="20662NISTXML-SV-II-list-time-length-2-5 tokoe:invalid" result="pass"/><test-case name="20663NISTSchema-SV-II-list-time-length-3 tokoe:valid" result="pass"/><test-case name="20664NISTXML-SV-II-list-time-length-3-1 tokoe:invalid" result="pass"/><test-case name="20665NISTXML-SV-II-list-time-length-3-2 tokoe:invalid" result="pass"/><test-case name="20666NISTXML-SV-II-list-time-length-3-3 tokoe:invalid" result="pass"/><test-case name="20667NISTXML-SV-II-list-time-length-3-4 tokoe:invalid" result="pass"/><test-case name="20668NISTXML-SV-II-list-time-length-3-5 tokoe:invalid" result="pass"/><test-case name="20669NISTSchema-SV-II-list-time-length-4 tokoe:valid" result="pass"/><test-case name="20670NISTXML-SV-II-list-time-length-4-1 tokoe:invalid" result="pass"/><test-case name="20671NISTXML-SV-II-list-time-length-4-2 tokoe:invalid" result="pass"/><test-case name="20672NISTXML-SV-II-list-time-length-4-3 tokoe:invalid" result="pass"/><test-case name="20673NISTXML-SV-II-list-time-length-4-4 tokoe:invalid" result="pass"/><test-case name="20674NISTXML-SV-II-list-time-length-4-5 tokoe:invalid" result="pass"/><test-case name="20675NISTSchema-SV-II-list-time-length-5 tokoe:valid" result="pass"/><test-case name="20676NISTXML-SV-II-list-time-length-5-1 tokoe:invalid" result="pass"/><test-case name="20677NISTXML-SV-II-list-time-length-5-2 tokoe:invalid" result="pass"/><test-case name="20678NISTXML-SV-II-list-time-length-5-3 tokoe:invalid" result="pass"/><test-case name="20679NISTXML-SV-II-list-time-length-5-4 tokoe:invalid" result="pass"/><test-case name="20680NISTXML-SV-II-list-time-length-5-5 tokoe:invalid" result="pass"/><test-case name="20681NISTSchema-SV-II-list-time-pattern-1 tokoe:valid" result="pass"/><test-case name="20682NISTXML-SV-II-list-time-pattern-1-1 tokoe:invalid" result="pass"/><test-case name="20683NISTXML-SV-II-list-time-pattern-1-2 tokoe:invalid" result="pass"/><test-case name="20684NISTXML-SV-II-list-time-pattern-1-3 tokoe:invalid" result="pass"/><test-case name="20685NISTXML-SV-II-list-time-pattern-1-4 tokoe:invalid" result="pass"/><test-case name="20686NISTXML-SV-II-list-time-pattern-1-5 tokoe:invalid" result="pass"/><test-case name="20687NISTSchema-SV-II-list-time-pattern-2 tokoe:valid" result="pass"/><test-case name="20688NISTXML-SV-II-list-time-pattern-2-1 tokoe:invalid" result="pass"/><test-case name="20689NISTXML-SV-II-list-time-pattern-2-2 tokoe:invalid" result="pass"/><test-case name="20690NISTXML-SV-II-list-time-pattern-2-3 tokoe:invalid" result="pass"/><test-case name="20691NISTXML-SV-II-list-time-pattern-2-4 tokoe:invalid" result="pass"/><test-case name="20692NISTXML-SV-II-list-time-pattern-2-5 tokoe:invalid" result="pass"/><test-case name="20693NISTSchema-SV-II-list-time-pattern-3 tokoe:valid" result="pass"/><test-case name="20694NISTXML-SV-II-list-time-pattern-3-1 tokoe:invalid" result="pass"/><test-case name="20695NISTXML-SV-II-list-time-pattern-3-2 tokoe:invalid" result="pass"/><test-case name="20696NISTXML-SV-II-list-time-pattern-3-3 tokoe:invalid" result="pass"/><test-case name="20697NISTXML-SV-II-list-time-pattern-3-4 tokoe:invalid" result="pass"/><test-case name="20698NISTXML-SV-II-list-time-pattern-3-5 tokoe:invalid" result="pass"/><test-case name="20699NISTSchema-SV-II-list-time-pattern-4 tokoe:valid" result="pass"/><test-case name="20700NISTXML-SV-II-list-time-pattern-4-1 tokoe:invalid" result="pass"/><test-case name="20701NISTXML-SV-II-list-time-pattern-4-2 tokoe:invalid" result="pass"/><test-case name="20702NISTXML-SV-II-list-time-pattern-4-3 tokoe:invalid" result="pass"/><test-case name="20703NISTXML-SV-II-list-time-pattern-4-4 tokoe:invalid" result="pass"/><test-case name="20704NISTXML-SV-II-list-time-pattern-4-5 tokoe:invalid" result="pass"/><test-case name="20705NISTSchema-SV-II-list-time-pattern-5 tokoe:valid" result="pass"/><test-case name="20706NISTXML-SV-II-list-time-pattern-5-1 tokoe:invalid" result="pass"/><test-case name="20707NISTXML-SV-II-list-time-pattern-5-2 tokoe:invalid" result="pass"/><test-case name="20708NISTXML-SV-II-list-time-pattern-5-3 tokoe:invalid" result="pass"/><test-case name="20709NISTXML-SV-II-list-time-pattern-5-4 tokoe:invalid" result="pass"/><test-case name="20710NISTXML-SV-II-list-time-pattern-5-5 tokoe:invalid" result="pass"/><test-case name="20711NISTSchema-SV-II-list-time-enumeration-1 tokoe:valid" result="pass"/><test-case name="20712NISTXML-SV-II-list-time-enumeration-1-1 tokoe:invalid" result="pass"/><test-case name="20713NISTXML-SV-II-list-time-enumeration-1-2 tokoe:invalid" result="pass"/><test-case name="20714NISTXML-SV-II-list-time-enumeration-1-3 tokoe:invalid" result="pass"/><test-case name="20715NISTXML-SV-II-list-time-enumeration-1-4 tokoe:invalid" result="pass"/><test-case name="20716NISTXML-SV-II-list-time-enumeration-1-5 tokoe:invalid" result="pass"/><test-case name="20717NISTSchema-SV-II-list-time-enumeration-2 tokoe:valid" result="pass"/><test-case name="20718NISTXML-SV-II-list-time-enumeration-2-1 tokoe:invalid" result="pass"/><test-case name="20719NISTXML-SV-II-list-time-enumeration-2-2 tokoe:invalid" result="pass"/><test-case name="20720NISTXML-SV-II-list-time-enumeration-2-3 tokoe:invalid" result="pass"/><test-case name="20721NISTXML-SV-II-list-time-enumeration-2-4 tokoe:invalid" result="pass"/><test-case name="20722NISTXML-SV-II-list-time-enumeration-2-5 tokoe:invalid" result="pass"/><test-case name="20723NISTSchema-SV-II-list-time-enumeration-3 tokoe:valid" result="pass"/><test-case name="20724NISTXML-SV-II-list-time-enumeration-3-1 tokoe:invalid" result="pass"/><test-case name="20725NISTXML-SV-II-list-time-enumeration-3-2 tokoe:invalid" result="pass"/><test-case name="20726NISTXML-SV-II-list-time-enumeration-3-3 tokoe:invalid" result="pass"/><test-case name="20727NISTXML-SV-II-list-time-enumeration-3-4 tokoe:invalid" result="pass"/><test-case name="20728NISTXML-SV-II-list-time-enumeration-3-5 tokoe:invalid" result="pass"/><test-case name="20729NISTSchema-SV-II-list-time-enumeration-4 tokoe:valid" result="pass"/><test-case name="20730NISTXML-SV-II-list-time-enumeration-4-1 tokoe:invalid" result="pass"/><test-case name="20731NISTXML-SV-II-list-time-enumeration-4-2 tokoe:invalid" result="pass"/><test-case name="20732NISTXML-SV-II-list-time-enumeration-4-3 tokoe:invalid" result="pass"/><test-case name="20733NISTXML-SV-II-list-time-enumeration-4-4 tokoe:invalid" result="pass"/><test-case name="20734NISTXML-SV-II-list-time-enumeration-4-5 tokoe:invalid" result="pass"/><test-case name="20735NISTSchema-SV-II-list-time-enumeration-5 tokoe:valid" result="pass"/><test-case name="20736NISTXML-SV-II-list-time-enumeration-5-1 tokoe:invalid" result="pass"/><test-case name="20737NISTXML-SV-II-list-time-enumeration-5-2 tokoe:invalid" result="pass"/><test-case name="20738NISTXML-SV-II-list-time-enumeration-5-3 tokoe:invalid" result="pass"/><test-case name="20739NISTXML-SV-II-list-time-enumeration-5-4 tokoe:invalid" result="pass"/><test-case name="20740NISTXML-SV-II-list-time-enumeration-5-5 tokoe:invalid" result="pass"/><test-case name="20741NISTSchema-SV-II-list-date-maxLength-1 tokoe:valid" result="pass"/><test-case name="20742NISTXML-SV-II-list-date-maxLength-1-1 tokoe:invalid" result="pass"/><test-case name="20743NISTXML-SV-II-list-date-maxLength-1-2 tokoe:invalid" result="pass"/><test-case name="20744NISTXML-SV-II-list-date-maxLength-1-3 tokoe:invalid" result="pass"/><test-case name="20745NISTXML-SV-II-list-date-maxLength-1-4 tokoe:invalid" result="pass"/><test-case name="20746NISTXML-SV-II-list-date-maxLength-1-5 tokoe:invalid" result="pass"/><test-case name="20747NISTSchema-SV-II-list-date-maxLength-2 tokoe:valid" result="pass"/><test-case name="20748NISTXML-SV-II-list-date-maxLength-2-1 tokoe:invalid" result="pass"/><test-case name="20749NISTXML-SV-II-list-date-maxLength-2-2 tokoe:invalid" result="pass"/><test-case name="20750NISTXML-SV-II-list-date-maxLength-2-3 tokoe:invalid" result="pass"/><test-case name="20751NISTXML-SV-II-list-date-maxLength-2-4 tokoe:invalid" result="pass"/><test-case name="20752NISTXML-SV-II-list-date-maxLength-2-5 tokoe:invalid" result="pass"/><test-case name="20753NISTSchema-SV-II-list-date-maxLength-3 tokoe:valid" result="pass"/><test-case name="20754NISTXML-SV-II-list-date-maxLength-3-1 tokoe:invalid" result="pass"/><test-case name="20755NISTXML-SV-II-list-date-maxLength-3-2 tokoe:invalid" result="pass"/><test-case name="20756NISTXML-SV-II-list-date-maxLength-3-3 tokoe:invalid" result="pass"/><test-case name="20757NISTXML-SV-II-list-date-maxLength-3-4 tokoe:invalid" result="pass"/><test-case name="20758NISTXML-SV-II-list-date-maxLength-3-5 tokoe:invalid" result="pass"/><test-case name="20759NISTSchema-SV-II-list-date-maxLength-4 tokoe:valid" result="pass"/><test-case name="20760NISTXML-SV-II-list-date-maxLength-4-1 tokoe:invalid" result="pass"/><test-case name="20761NISTXML-SV-II-list-date-maxLength-4-2 tokoe:invalid" result="pass"/><test-case name="20762NISTXML-SV-II-list-date-maxLength-4-3 tokoe:invalid" result="pass"/><test-case name="20763NISTXML-SV-II-list-date-maxLength-4-4 tokoe:invalid" result="pass"/><test-case name="20764NISTXML-SV-II-list-date-maxLength-4-5 tokoe:invalid" result="pass"/><test-case name="20765NISTSchema-SV-II-list-date-maxLength-5 tokoe:valid" result="pass"/><test-case name="20766NISTXML-SV-II-list-date-maxLength-5-1 tokoe:invalid" result="pass"/><test-case name="20767NISTXML-SV-II-list-date-maxLength-5-2 tokoe:invalid" result="pass"/><test-case name="20768NISTXML-SV-II-list-date-maxLength-5-3 tokoe:invalid" result="pass"/><test-case name="20769NISTXML-SV-II-list-date-maxLength-5-4 tokoe:invalid" result="pass"/><test-case name="20770NISTXML-SV-II-list-date-maxLength-5-5 tokoe:invalid" result="pass"/><test-case name="20771NISTSchema-SV-II-list-date-minLength-1 tokoe:valid" result="pass"/><test-case name="20772NISTXML-SV-II-list-date-minLength-1-1 tokoe:invalid" result="pass"/><test-case name="20773NISTXML-SV-II-list-date-minLength-1-2 tokoe:invalid" result="pass"/><test-case name="20774NISTXML-SV-II-list-date-minLength-1-3 tokoe:invalid" result="pass"/><test-case name="20775NISTXML-SV-II-list-date-minLength-1-4 tokoe:invalid" result="pass"/><test-case name="20776NISTXML-SV-II-list-date-minLength-1-5 tokoe:invalid" result="pass"/><test-case name="20777NISTSchema-SV-II-list-date-minLength-2 tokoe:valid" result="pass"/><test-case name="20778NISTXML-SV-II-list-date-minLength-2-1 tokoe:invalid" result="pass"/><test-case name="20779NISTXML-SV-II-list-date-minLength-2-2 tokoe:invalid" result="pass"/><test-case name="20780NISTXML-SV-II-list-date-minLength-2-3 tokoe:invalid" result="pass"/><test-case name="20781NISTXML-SV-II-list-date-minLength-2-4 tokoe:invalid" result="pass"/><test-case name="20782NISTXML-SV-II-list-date-minLength-2-5 tokoe:invalid" result="pass"/><test-case name="20783NISTSchema-SV-II-list-date-minLength-3 tokoe:valid" result="pass"/><test-case name="20784NISTXML-SV-II-list-date-minLength-3-1 tokoe:invalid" result="pass"/><test-case name="20785NISTXML-SV-II-list-date-minLength-3-2 tokoe:invalid" result="pass"/><test-case name="20786NISTXML-SV-II-list-date-minLength-3-3 tokoe:invalid" result="pass"/><test-case name="20787NISTXML-SV-II-list-date-minLength-3-4 tokoe:invalid" result="pass"/><test-case name="20788NISTXML-SV-II-list-date-minLength-3-5 tokoe:invalid" result="pass"/><test-case name="20789NISTSchema-SV-II-list-date-minLength-4 tokoe:valid" result="pass"/><test-case name="20790NISTXML-SV-II-list-date-minLength-4-1 tokoe:invalid" result="pass"/><test-case name="20791NISTXML-SV-II-list-date-minLength-4-2 tokoe:invalid" result="pass"/><test-case name="20792NISTXML-SV-II-list-date-minLength-4-3 tokoe:invalid" result="pass"/><test-case name="20793NISTXML-SV-II-list-date-minLength-4-4 tokoe:invalid" result="pass"/><test-case name="20794NISTXML-SV-II-list-date-minLength-4-5 tokoe:invalid" result="pass"/><test-case name="20795NISTSchema-SV-II-list-date-minLength-5 tokoe:valid" result="pass"/><test-case name="20796NISTXML-SV-II-list-date-minLength-5-1 tokoe:invalid" result="pass"/><test-case name="20797NISTXML-SV-II-list-date-minLength-5-2 tokoe:invalid" result="pass"/><test-case name="20798NISTXML-SV-II-list-date-minLength-5-3 tokoe:invalid" result="pass"/><test-case name="20799NISTXML-SV-II-list-date-minLength-5-4 tokoe:invalid" result="pass"/><test-case name="20800NISTXML-SV-II-list-date-minLength-5-5 tokoe:invalid" result="pass"/><test-case name="20801NISTSchema-SV-II-list-date-length-1 tokoe:valid" result="pass"/><test-case name="20802NISTXML-SV-II-list-date-length-1-1 tokoe:invalid" result="pass"/><test-case name="20803NISTXML-SV-II-list-date-length-1-2 tokoe:invalid" result="pass"/><test-case name="20804NISTXML-SV-II-list-date-length-1-3 tokoe:invalid" result="pass"/><test-case name="20805NISTXML-SV-II-list-date-length-1-4 tokoe:invalid" result="pass"/><test-case name="20806NISTXML-SV-II-list-date-length-1-5 tokoe:invalid" result="pass"/><test-case name="20807NISTSchema-SV-II-list-date-length-2 tokoe:valid" result="pass"/><test-case name="20808NISTXML-SV-II-list-date-length-2-1 tokoe:invalid" result="pass"/><test-case name="20809NISTXML-SV-II-list-date-length-2-2 tokoe:invalid" result="pass"/><test-case name="20810NISTXML-SV-II-list-date-length-2-3 tokoe:invalid" result="pass"/><test-case name="20811NISTXML-SV-II-list-date-length-2-4 tokoe:invalid" result="pass"/><test-case name="20812NISTXML-SV-II-list-date-length-2-5 tokoe:invalid" result="pass"/><test-case name="20813NISTSchema-SV-II-list-date-length-3 tokoe:valid" result="pass"/><test-case name="20814NISTXML-SV-II-list-date-length-3-1 tokoe:invalid" result="pass"/><test-case name="20815NISTXML-SV-II-list-date-length-3-2 tokoe:invalid" result="pass"/><test-case name="20816NISTXML-SV-II-list-date-length-3-3 tokoe:invalid" result="pass"/><test-case name="20817NISTXML-SV-II-list-date-length-3-4 tokoe:invalid" result="pass"/><test-case name="20818NISTXML-SV-II-list-date-length-3-5 tokoe:invalid" result="pass"/><test-case name="20819NISTSchema-SV-II-list-date-length-4 tokoe:valid" result="pass"/><test-case name="20820NISTXML-SV-II-list-date-length-4-1 tokoe:invalid" result="pass"/><test-case name="20821NISTXML-SV-II-list-date-length-4-2 tokoe:invalid" result="pass"/><test-case name="20822NISTXML-SV-II-list-date-length-4-3 tokoe:invalid" result="pass"/><test-case name="20823NISTXML-SV-II-list-date-length-4-4 tokoe:invalid" result="pass"/><test-case name="20824NISTXML-SV-II-list-date-length-4-5 tokoe:invalid" result="pass"/><test-case name="20825NISTSchema-SV-II-list-date-length-5 tokoe:valid" result="pass"/><test-case name="20826NISTXML-SV-II-list-date-length-5-1 tokoe:invalid" result="pass"/><test-case name="20827NISTXML-SV-II-list-date-length-5-2 tokoe:invalid" result="pass"/><test-case name="20828NISTXML-SV-II-list-date-length-5-3 tokoe:invalid" result="pass"/><test-case name="20829NISTXML-SV-II-list-date-length-5-4 tokoe:invalid" result="pass"/><test-case name="20830NISTXML-SV-II-list-date-length-5-5 tokoe:invalid" result="pass"/><test-case name="20831NISTSchema-SV-II-list-date-pattern-1 tokoe:valid" result="pass"/><test-case name="20832NISTXML-SV-II-list-date-pattern-1-1 tokoe:invalid" result="pass"/><test-case name="20833NISTXML-SV-II-list-date-pattern-1-2 tokoe:invalid" result="pass"/><test-case name="20834NISTXML-SV-II-list-date-pattern-1-3 tokoe:invalid" result="pass"/><test-case name="20835NISTXML-SV-II-list-date-pattern-1-4 tokoe:invalid" result="pass"/><test-case name="20836NISTXML-SV-II-list-date-pattern-1-5 tokoe:invalid" result="pass"/><test-case name="20837NISTSchema-SV-II-list-date-pattern-2 tokoe:valid" result="pass"/><test-case name="20838NISTXML-SV-II-list-date-pattern-2-1 tokoe:invalid" result="pass"/><test-case name="20839NISTXML-SV-II-list-date-pattern-2-2 tokoe:invalid" result="pass"/><test-case name="20840NISTXML-SV-II-list-date-pattern-2-3 tokoe:invalid" result="pass"/><test-case name="20841NISTXML-SV-II-list-date-pattern-2-4 tokoe:invalid" result="pass"/><test-case name="20842NISTXML-SV-II-list-date-pattern-2-5 tokoe:invalid" result="pass"/><test-case name="20843NISTSchema-SV-II-list-date-pattern-3 tokoe:valid" result="pass"/><test-case name="20844NISTXML-SV-II-list-date-pattern-3-1 tokoe:invalid" result="pass"/><test-case name="20845NISTXML-SV-II-list-date-pattern-3-2 tokoe:invalid" result="pass"/><test-case name="20846NISTXML-SV-II-list-date-pattern-3-3 tokoe:invalid" result="pass"/><test-case name="20847NISTXML-SV-II-list-date-pattern-3-4 tokoe:invalid" result="pass"/><test-case name="20848NISTXML-SV-II-list-date-pattern-3-5 tokoe:invalid" result="pass"/><test-case name="20849NISTSchema-SV-II-list-date-pattern-4 tokoe:valid" result="pass"/><test-case name="20850NISTXML-SV-II-list-date-pattern-4-1 tokoe:invalid" result="pass"/><test-case name="20851NISTXML-SV-II-list-date-pattern-4-2 tokoe:invalid" result="pass"/><test-case name="20852NISTXML-SV-II-list-date-pattern-4-3 tokoe:invalid" result="pass"/><test-case name="20853NISTXML-SV-II-list-date-pattern-4-4 tokoe:invalid" result="pass"/><test-case name="20854NISTXML-SV-II-list-date-pattern-4-5 tokoe:invalid" result="pass"/><test-case name="20855NISTSchema-SV-II-list-date-pattern-5 tokoe:valid" result="pass"/><test-case name="20856NISTXML-SV-II-list-date-pattern-5-1 tokoe:invalid" result="pass"/><test-case name="20857NISTXML-SV-II-list-date-pattern-5-2 tokoe:invalid" result="pass"/><test-case name="20858NISTXML-SV-II-list-date-pattern-5-3 tokoe:invalid" result="pass"/><test-case name="20859NISTXML-SV-II-list-date-pattern-5-4 tokoe:invalid" result="pass"/><test-case name="20860NISTXML-SV-II-list-date-pattern-5-5 tokoe:invalid" result="pass"/><test-case name="20861NISTSchema-SV-II-list-date-enumeration-1 tokoe:valid" result="pass"/><test-case name="20862NISTXML-SV-II-list-date-enumeration-1-1 tokoe:invalid" result="pass"/><test-case name="20863NISTXML-SV-II-list-date-enumeration-1-2 tokoe:invalid" result="pass"/><test-case name="20864NISTXML-SV-II-list-date-enumeration-1-3 tokoe:invalid" result="pass"/><test-case name="20865NISTXML-SV-II-list-date-enumeration-1-4 tokoe:invalid" result="pass"/><test-case name="20866NISTXML-SV-II-list-date-enumeration-1-5 tokoe:invalid" result="pass"/><test-case name="20867NISTSchema-SV-II-list-date-enumeration-2 tokoe:valid" result="pass"/><test-case name="20868NISTXML-SV-II-list-date-enumeration-2-1 tokoe:invalid" result="pass"/><test-case name="20869NISTXML-SV-II-list-date-enumeration-2-2 tokoe:invalid" result="pass"/><test-case name="20870NISTXML-SV-II-list-date-enumeration-2-3 tokoe:invalid" result="pass"/><test-case name="20871NISTXML-SV-II-list-date-enumeration-2-4 tokoe:invalid" result="pass"/><test-case name="20872NISTXML-SV-II-list-date-enumeration-2-5 tokoe:invalid" result="pass"/><test-case name="20873NISTSchema-SV-II-list-date-enumeration-3 tokoe:valid" result="pass"/><test-case name="20874NISTXML-SV-II-list-date-enumeration-3-1 tokoe:invalid" result="pass"/><test-case name="20875NISTXML-SV-II-list-date-enumeration-3-2 tokoe:invalid" result="pass"/><test-case name="20876NISTXML-SV-II-list-date-enumeration-3-3 tokoe:invalid" result="pass"/><test-case name="20877NISTXML-SV-II-list-date-enumeration-3-4 tokoe:invalid" result="pass"/><test-case name="20878NISTXML-SV-II-list-date-enumeration-3-5 tokoe:invalid" result="pass"/><test-case name="20879NISTSchema-SV-II-list-date-enumeration-4 tokoe:valid" result="pass"/><test-case name="20880NISTXML-SV-II-list-date-enumeration-4-1 tokoe:invalid" result="pass"/><test-case name="20881NISTXML-SV-II-list-date-enumeration-4-2 tokoe:invalid" result="pass"/><test-case name="20882NISTXML-SV-II-list-date-enumeration-4-3 tokoe:invalid" result="pass"/><test-case name="20883NISTXML-SV-II-list-date-enumeration-4-4 tokoe:invalid" result="pass"/><test-case name="20884NISTXML-SV-II-list-date-enumeration-4-5 tokoe:invalid" result="pass"/><test-case name="20885NISTSchema-SV-II-list-date-enumeration-5 tokoe:valid" result="pass"/><test-case name="20886NISTXML-SV-II-list-date-enumeration-5-1 tokoe:invalid" result="pass"/><test-case name="20887NISTXML-SV-II-list-date-enumeration-5-2 tokoe:invalid" result="pass"/><test-case name="20888NISTXML-SV-II-list-date-enumeration-5-3 tokoe:invalid" result="pass"/><test-case name="20889NISTXML-SV-II-list-date-enumeration-5-4 tokoe:invalid" result="pass"/><test-case name="20890NISTXML-SV-II-list-date-enumeration-5-5 tokoe:invalid" result="pass"/><test-case name="20891NISTSchema-SV-II-list-gYearMonth-maxLength-1 tokoe:valid" result="pass"/><test-case name="20892NISTXML-SV-II-list-gYearMonth-maxLength-1-1 tokoe:invalid" result="pass"/><test-case name="20893NISTXML-SV-II-list-gYearMonth-maxLength-1-2 tokoe:invalid" result="pass"/><test-case name="20894NISTXML-SV-II-list-gYearMonth-maxLength-1-3 tokoe:invalid" result="pass"/><test-case name="20895NISTXML-SV-II-list-gYearMonth-maxLength-1-4 tokoe:invalid" result="pass"/><test-case name="20896NISTXML-SV-II-list-gYearMonth-maxLength-1-5 tokoe:invalid" result="pass"/><test-case name="20897NISTSchema-SV-II-list-gYearMonth-maxLength-2 tokoe:valid" result="pass"/><test-case name="20898NISTXML-SV-II-list-gYearMonth-maxLength-2-1 tokoe:invalid" result="pass"/><test-case name="20899NISTXML-SV-II-list-gYearMonth-maxLength-2-2 tokoe:invalid" result="pass"/><test-case name="20900NISTXML-SV-II-list-gYearMonth-maxLength-2-3 tokoe:invalid" result="pass"/><test-case name="20901NISTXML-SV-II-list-gYearMonth-maxLength-2-4 tokoe:invalid" result="pass"/><test-case name="20902NISTXML-SV-II-list-gYearMonth-maxLength-2-5 tokoe:invalid" result="pass"/><test-case name="20903NISTSchema-SV-II-list-gYearMonth-maxLength-3 tokoe:valid" result="pass"/><test-case name="20904NISTXML-SV-II-list-gYearMonth-maxLength-3-1 tokoe:invalid" result="pass"/><test-case name="20905NISTXML-SV-II-list-gYearMonth-maxLength-3-2 tokoe:invalid" result="pass"/><test-case name="20906NISTXML-SV-II-list-gYearMonth-maxLength-3-3 tokoe:invalid" result="pass"/><test-case name="20907NISTXML-SV-II-list-gYearMonth-maxLength-3-4 tokoe:invalid" result="pass"/><test-case name="20908NISTXML-SV-II-list-gYearMonth-maxLength-3-5 tokoe:invalid" result="pass"/><test-case name="20909NISTSchema-SV-II-list-gYearMonth-maxLength-4 tokoe:valid" result="pass"/><test-case name="20910NISTXML-SV-II-list-gYearMonth-maxLength-4-1 tokoe:invalid" result="pass"/><test-case name="20911NISTXML-SV-II-list-gYearMonth-maxLength-4-2 tokoe:invalid" result="pass"/><test-case name="20912NISTXML-SV-II-list-gYearMonth-maxLength-4-3 tokoe:invalid" result="pass"/><test-case name="20913NISTXML-SV-II-list-gYearMonth-maxLength-4-4 tokoe:invalid" result="pass"/><test-case name="20914NISTXML-SV-II-list-gYearMonth-maxLength-4-5 tokoe:invalid" result="pass"/><test-case name="20915NISTSchema-SV-II-list-gYearMonth-maxLength-5 tokoe:valid" result="pass"/><test-case name="20916NISTXML-SV-II-list-gYearMonth-maxLength-5-1 tokoe:invalid" result="pass"/><test-case name="20917NISTXML-SV-II-list-gYearMonth-maxLength-5-2 tokoe:invalid" result="pass"/><test-case name="20918NISTXML-SV-II-list-gYearMonth-maxLength-5-3 tokoe:invalid" result="pass"/><test-case name="20919NISTXML-SV-II-list-gYearMonth-maxLength-5-4 tokoe:invalid" result="pass"/><test-case name="20920NISTXML-SV-II-list-gYearMonth-maxLength-5-5 tokoe:invalid" result="pass"/><test-case name="20921NISTSchema-SV-II-list-gYearMonth-minLength-1 tokoe:valid" result="pass"/><test-case name="20922NISTXML-SV-II-list-gYearMonth-minLength-1-1 tokoe:invalid" result="pass"/><test-case name="20923NISTXML-SV-II-list-gYearMonth-minLength-1-2 tokoe:invalid" result="pass"/><test-case name="20924NISTXML-SV-II-list-gYearMonth-minLength-1-3 tokoe:invalid" result="pass"/><test-case name="20925NISTXML-SV-II-list-gYearMonth-minLength-1-4 tokoe:invalid" result="pass"/><test-case name="20926NISTXML-SV-II-list-gYearMonth-minLength-1-5 tokoe:invalid" result="pass"/><test-case name="20927NISTSchema-SV-II-list-gYearMonth-minLength-2 tokoe:valid" result="pass"/><test-case name="20928NISTXML-SV-II-list-gYearMonth-minLength-2-1 tokoe:invalid" result="pass"/><test-case name="20929NISTXML-SV-II-list-gYearMonth-minLength-2-2 tokoe:invalid" result="pass"/><test-case name="20930NISTXML-SV-II-list-gYearMonth-minLength-2-3 tokoe:invalid" result="pass"/><test-case name="20931NISTXML-SV-II-list-gYearMonth-minLength-2-4 tokoe:invalid" result="pass"/><test-case name="20932NISTXML-SV-II-list-gYearMonth-minLength-2-5 tokoe:invalid" result="pass"/><test-case name="20933NISTSchema-SV-II-list-gYearMonth-minLength-3 tokoe:valid" result="pass"/><test-case name="20934NISTXML-SV-II-list-gYearMonth-minLength-3-1 tokoe:invalid" result="pass"/><test-case name="20935NISTXML-SV-II-list-gYearMonth-minLength-3-2 tokoe:invalid" result="pass"/><test-case name="20936NISTXML-SV-II-list-gYearMonth-minLength-3-3 tokoe:invalid" result="pass"/><test-case name="20937NISTXML-SV-II-list-gYearMonth-minLength-3-4 tokoe:invalid" result="pass"/><test-case name="20938NISTXML-SV-II-list-gYearMonth-minLength-3-5 tokoe:invalid" result="pass"/><test-case name="20939NISTSchema-SV-II-list-gYearMonth-minLength-4 tokoe:valid" result="pass"/><test-case name="20940NISTXML-SV-II-list-gYearMonth-minLength-4-1 tokoe:invalid" result="pass"/><test-case name="20941NISTXML-SV-II-list-gYearMonth-minLength-4-2 tokoe:invalid" result="pass"/><test-case name="20942NISTXML-SV-II-list-gYearMonth-minLength-4-3 tokoe:invalid" result="pass"/><test-case name="20943NISTXML-SV-II-list-gYearMonth-minLength-4-4 tokoe:invalid" result="pass"/><test-case name="20944NISTXML-SV-II-list-gYearMonth-minLength-4-5 tokoe:invalid" result="pass"/><test-case name="20945NISTSchema-SV-II-list-gYearMonth-minLength-5 tokoe:valid" result="pass"/><test-case name="20946NISTXML-SV-II-list-gYearMonth-minLength-5-1 tokoe:invalid" result="pass"/><test-case name="20947NISTXML-SV-II-list-gYearMonth-minLength-5-2 tokoe:invalid" result="pass"/><test-case name="20948NISTXML-SV-II-list-gYearMonth-minLength-5-3 tokoe:invalid" result="pass"/><test-case name="20949NISTXML-SV-II-list-gYearMonth-minLength-5-4 tokoe:invalid" result="pass"/><test-case name="20950NISTXML-SV-II-list-gYearMonth-minLength-5-5 tokoe:invalid" result="pass"/><test-case name="20951NISTSchema-SV-II-list-gYearMonth-length-1 tokoe:valid" result="pass"/><test-case name="20952NISTXML-SV-II-list-gYearMonth-length-1-1 tokoe:invalid" result="pass"/><test-case name="20953NISTXML-SV-II-list-gYearMonth-length-1-2 tokoe:invalid" result="pass"/><test-case name="20954NISTXML-SV-II-list-gYearMonth-length-1-3 tokoe:invalid" result="pass"/><test-case name="20955NISTXML-SV-II-list-gYearMonth-length-1-4 tokoe:invalid" result="pass"/><test-case name="20956NISTXML-SV-II-list-gYearMonth-length-1-5 tokoe:invalid" result="pass"/><test-case name="20957NISTSchema-SV-II-list-gYearMonth-length-2 tokoe:valid" result="pass"/><test-case name="20958NISTXML-SV-II-list-gYearMonth-length-2-1 tokoe:invalid" result="pass"/><test-case name="20959NISTXML-SV-II-list-gYearMonth-length-2-2 tokoe:invalid" result="pass"/><test-case name="20960NISTXML-SV-II-list-gYearMonth-length-2-3 tokoe:invalid" result="pass"/><test-case name="20961NISTXML-SV-II-list-gYearMonth-length-2-4 tokoe:invalid" result="pass"/><test-case name="20962NISTXML-SV-II-list-gYearMonth-length-2-5 tokoe:invalid" result="pass"/><test-case name="20963NISTSchema-SV-II-list-gYearMonth-length-3 tokoe:valid" result="pass"/><test-case name="20964NISTXML-SV-II-list-gYearMonth-length-3-1 tokoe:invalid" result="pass"/><test-case name="20965NISTXML-SV-II-list-gYearMonth-length-3-2 tokoe:invalid" result="pass"/><test-case name="20966NISTXML-SV-II-list-gYearMonth-length-3-3 tokoe:invalid" result="pass"/><test-case name="20967NISTXML-SV-II-list-gYearMonth-length-3-4 tokoe:invalid" result="pass"/><test-case name="20968NISTXML-SV-II-list-gYearMonth-length-3-5 tokoe:invalid" result="pass"/><test-case name="20969NISTSchema-SV-II-list-gYearMonth-length-4 tokoe:valid" result="pass"/><test-case name="20970NISTXML-SV-II-list-gYearMonth-length-4-1 tokoe:invalid" result="pass"/><test-case name="20971NISTXML-SV-II-list-gYearMonth-length-4-2 tokoe:invalid" result="pass"/><test-case name="20972NISTXML-SV-II-list-gYearMonth-length-4-3 tokoe:invalid" result="pass"/><test-case name="20973NISTXML-SV-II-list-gYearMonth-length-4-4 tokoe:invalid" result="pass"/><test-case name="20974NISTXML-SV-II-list-gYearMonth-length-4-5 tokoe:invalid" result="pass"/><test-case name="20975NISTSchema-SV-II-list-gYearMonth-length-5 tokoe:valid" result="pass"/><test-case name="20976NISTXML-SV-II-list-gYearMonth-length-5-1 tokoe:invalid" result="pass"/><test-case name="20977NISTXML-SV-II-list-gYearMonth-length-5-2 tokoe:invalid" result="pass"/><test-case name="20978NISTXML-SV-II-list-gYearMonth-length-5-3 tokoe:invalid" result="pass"/><test-case name="20979NISTXML-SV-II-list-gYearMonth-length-5-4 tokoe:invalid" result="pass"/><test-case name="20980NISTXML-SV-II-list-gYearMonth-length-5-5 tokoe:invalid" result="pass"/><test-case name="20981NISTSchema-SV-II-list-gYearMonth-pattern-1 tokoe:valid" result="pass"/><test-case name="20982NISTXML-SV-II-list-gYearMonth-pattern-1-1 tokoe:invalid" result="pass"/><test-case name="20983NISTXML-SV-II-list-gYearMonth-pattern-1-2 tokoe:invalid" result="pass"/><test-case name="20984NISTXML-SV-II-list-gYearMonth-pattern-1-3 tokoe:invalid" result="pass"/><test-case name="20985NISTXML-SV-II-list-gYearMonth-pattern-1-4 tokoe:invalid" result="pass"/><test-case name="20986NISTXML-SV-II-list-gYearMonth-pattern-1-5 tokoe:invalid" result="pass"/><test-case name="20987NISTSchema-SV-II-list-gYearMonth-pattern-2 tokoe:valid" result="pass"/><test-case name="20988NISTXML-SV-II-list-gYearMonth-pattern-2-1 tokoe:invalid" result="pass"/><test-case name="20989NISTXML-SV-II-list-gYearMonth-pattern-2-2 tokoe:invalid" result="pass"/><test-case name="20990NISTXML-SV-II-list-gYearMonth-pattern-2-3 tokoe:invalid" result="pass"/><test-case name="20991NISTXML-SV-II-list-gYearMonth-pattern-2-4 tokoe:invalid" result="pass"/><test-case name="20992NISTXML-SV-II-list-gYearMonth-pattern-2-5 tokoe:invalid" result="pass"/><test-case name="20993NISTSchema-SV-II-list-gYearMonth-pattern-3 tokoe:valid" result="pass"/><test-case name="20994NISTXML-SV-II-list-gYearMonth-pattern-3-1 tokoe:invalid" result="pass"/><test-case name="20995NISTXML-SV-II-list-gYearMonth-pattern-3-2 tokoe:invalid" result="pass"/><test-case name="20996NISTXML-SV-II-list-gYearMonth-pattern-3-3 tokoe:invalid" result="pass"/><test-case name="20997NISTXML-SV-II-list-gYearMonth-pattern-3-4 tokoe:invalid" result="pass"/><test-case name="20998NISTXML-SV-II-list-gYearMonth-pattern-3-5 tokoe:invalid" result="pass"/><test-case name="20999NISTSchema-SV-II-list-gYearMonth-pattern-4 tokoe:valid" result="pass"/><test-case name="21000NISTXML-SV-II-list-gYearMonth-pattern-4-1 tokoe:invalid" result="pass"/><test-case name="21001NISTXML-SV-II-list-gYearMonth-pattern-4-2 tokoe:invalid" result="pass"/><test-case name="21002NISTXML-SV-II-list-gYearMonth-pattern-4-3 tokoe:invalid" result="pass"/><test-case name="21003NISTXML-SV-II-list-gYearMonth-pattern-4-4 tokoe:invalid" result="pass"/><test-case name="21004NISTXML-SV-II-list-gYearMonth-pattern-4-5 tokoe:invalid" result="pass"/><test-case name="21005NISTSchema-SV-II-list-gYearMonth-pattern-5 tokoe:valid" result="pass"/><test-case name="21006NISTXML-SV-II-list-gYearMonth-pattern-5-1 tokoe:invalid" result="pass"/><test-case name="21007NISTXML-SV-II-list-gYearMonth-pattern-5-2 tokoe:invalid" result="pass"/><test-case name="21008NISTXML-SV-II-list-gYearMonth-pattern-5-3 tokoe:invalid" result="pass"/><test-case name="21009NISTXML-SV-II-list-gYearMonth-pattern-5-4 tokoe:invalid" result="pass"/><test-case name="21010NISTXML-SV-II-list-gYearMonth-pattern-5-5 tokoe:invalid" result="pass"/><test-case name="21011NISTSchema-SV-II-list-gYearMonth-enumeration-1 tokoe:valid" result="pass"/><test-case name="21012NISTXML-SV-II-list-gYearMonth-enumeration-1-1 tokoe:invalid" result="pass"/><test-case name="21013NISTXML-SV-II-list-gYearMonth-enumeration-1-2 tokoe:invalid" result="pass"/><test-case name="21014NISTXML-SV-II-list-gYearMonth-enumeration-1-3 tokoe:invalid" result="pass"/><test-case name="21015NISTXML-SV-II-list-gYearMonth-enumeration-1-4 tokoe:invalid" result="pass"/><test-case name="21016NISTXML-SV-II-list-gYearMonth-enumeration-1-5 tokoe:invalid" result="pass"/><test-case name="21017NISTSchema-SV-II-list-gYearMonth-enumeration-2 tokoe:valid" result="pass"/><test-case name="21018NISTXML-SV-II-list-gYearMonth-enumeration-2-1 tokoe:invalid" result="pass"/><test-case name="21019NISTXML-SV-II-list-gYearMonth-enumeration-2-2 tokoe:invalid" result="pass"/><test-case name="21020NISTXML-SV-II-list-gYearMonth-enumeration-2-3 tokoe:invalid" result="pass"/><test-case name="21021NISTXML-SV-II-list-gYearMonth-enumeration-2-4 tokoe:invalid" result="pass"/><test-case name="21022NISTXML-SV-II-list-gYearMonth-enumeration-2-5 tokoe:invalid" result="pass"/><test-case name="21023NISTSchema-SV-II-list-gYearMonth-enumeration-3 tokoe:valid" result="pass"/><test-case name="21024NISTXML-SV-II-list-gYearMonth-enumeration-3-1 tokoe:invalid" result="pass"/><test-case name="21025NISTXML-SV-II-list-gYearMonth-enumeration-3-2 tokoe:invalid" result="pass"/><test-case name="21026NISTXML-SV-II-list-gYearMonth-enumeration-3-3 tokoe:invalid" result="pass"/><test-case name="21027NISTXML-SV-II-list-gYearMonth-enumeration-3-4 tokoe:invalid" result="pass"/><test-case name="21028NISTXML-SV-II-list-gYearMonth-enumeration-3-5 tokoe:invalid" result="pass"/><test-case name="21029NISTSchema-SV-II-list-gYearMonth-enumeration-4 tokoe:valid" result="pass"/><test-case name="21030NISTXML-SV-II-list-gYearMonth-enumeration-4-1 tokoe:invalid" result="pass"/><test-case name="21031NISTXML-SV-II-list-gYearMonth-enumeration-4-2 tokoe:invalid" result="pass"/><test-case name="21032NISTXML-SV-II-list-gYearMonth-enumeration-4-3 tokoe:invalid" result="pass"/><test-case name="21033NISTXML-SV-II-list-gYearMonth-enumeration-4-4 tokoe:invalid" result="pass"/><test-case name="21034NISTXML-SV-II-list-gYearMonth-enumeration-4-5 tokoe:invalid" result="pass"/><test-case name="21035NISTSchema-SV-II-list-gYearMonth-enumeration-5 tokoe:valid" result="pass"/><test-case name="21036NISTXML-SV-II-list-gYearMonth-enumeration-5-1 tokoe:invalid" result="pass"/><test-case name="21037NISTXML-SV-II-list-gYearMonth-enumeration-5-2 tokoe:invalid" result="pass"/><test-case name="21038NISTXML-SV-II-list-gYearMonth-enumeration-5-3 tokoe:invalid" result="pass"/><test-case name="21039NISTXML-SV-II-list-gYearMonth-enumeration-5-4 tokoe:invalid" result="pass"/><test-case name="21040NISTXML-SV-II-list-gYearMonth-enumeration-5-5 tokoe:invalid" result="pass"/><test-case name="21041NISTSchema-SV-II-list-gYear-maxLength-1 tokoe:valid" result="pass"/><test-case name="21042NISTXML-SV-II-list-gYear-maxLength-1-1 tokoe:invalid" result="pass"/><test-case name="21043NISTXML-SV-II-list-gYear-maxLength-1-2 tokoe:invalid" result="pass"/><test-case name="21044NISTXML-SV-II-list-gYear-maxLength-1-3 tokoe:invalid" result="pass"/><test-case name="21045NISTXML-SV-II-list-gYear-maxLength-1-4 tokoe:invalid" result="pass"/><test-case name="21046NISTXML-SV-II-list-gYear-maxLength-1-5 tokoe:invalid" result="pass"/><test-case name="21047NISTSchema-SV-II-list-gYear-maxLength-2 tokoe:valid" result="pass"/><test-case name="21048NISTXML-SV-II-list-gYear-maxLength-2-1 tokoe:invalid" result="pass"/><test-case name="21049NISTXML-SV-II-list-gYear-maxLength-2-2 tokoe:invalid" result="pass"/><test-case name="21050NISTXML-SV-II-list-gYear-maxLength-2-3 tokoe:invalid" result="pass"/><test-case name="21051NISTXML-SV-II-list-gYear-maxLength-2-4 tokoe:invalid" result="pass"/><test-case name="21052NISTXML-SV-II-list-gYear-maxLength-2-5 tokoe:invalid" result="pass"/><test-case name="21053NISTSchema-SV-II-list-gYear-maxLength-3 tokoe:valid" result="pass"/><test-case name="21054NISTXML-SV-II-list-gYear-maxLength-3-1 tokoe:invalid" result="pass"/><test-case name="21055NISTXML-SV-II-list-gYear-maxLength-3-2 tokoe:invalid" result="pass"/><test-case name="21056NISTXML-SV-II-list-gYear-maxLength-3-3 tokoe:invalid" result="pass"/><test-case name="21057NISTXML-SV-II-list-gYear-maxLength-3-4 tokoe:invalid" result="pass"/><test-case name="21058NISTXML-SV-II-list-gYear-maxLength-3-5 tokoe:invalid" result="pass"/><test-case name="21059NISTSchema-SV-II-list-gYear-maxLength-4 tokoe:valid" result="pass"/><test-case name="21060NISTXML-SV-II-list-gYear-maxLength-4-1 tokoe:invalid" result="pass"/><test-case name="21061NISTXML-SV-II-list-gYear-maxLength-4-2 tokoe:invalid" result="pass"/><test-case name="21062NISTXML-SV-II-list-gYear-maxLength-4-3 tokoe:invalid" result="pass"/><test-case name="21063NISTXML-SV-II-list-gYear-maxLength-4-4 tokoe:invalid" result="pass"/><test-case name="21064NISTXML-SV-II-list-gYear-maxLength-4-5 tokoe:invalid" result="pass"/><test-case name="21065NISTSchema-SV-II-list-gYear-maxLength-5 tokoe:valid" result="pass"/><test-case name="21066NISTXML-SV-II-list-gYear-maxLength-5-1 tokoe:invalid" result="pass"/><test-case name="21067NISTXML-SV-II-list-gYear-maxLength-5-2 tokoe:invalid" result="pass"/><test-case name="21068NISTXML-SV-II-list-gYear-maxLength-5-3 tokoe:invalid" result="pass"/><test-case name="21069NISTXML-SV-II-list-gYear-maxLength-5-4 tokoe:invalid" result="pass"/><test-case name="21070NISTXML-SV-II-list-gYear-maxLength-5-5 tokoe:invalid" result="pass"/><test-case name="21071NISTSchema-SV-II-list-gYear-minLength-1 tokoe:valid" result="pass"/><test-case name="21072NISTXML-SV-II-list-gYear-minLength-1-1 tokoe:invalid" result="pass"/><test-case name="21073NISTXML-SV-II-list-gYear-minLength-1-2 tokoe:invalid" result="pass"/><test-case name="21074NISTXML-SV-II-list-gYear-minLength-1-3 tokoe:invalid" result="pass"/><test-case name="21075NISTXML-SV-II-list-gYear-minLength-1-4 tokoe:invalid" result="pass"/><test-case name="21076NISTXML-SV-II-list-gYear-minLength-1-5 tokoe:invalid" result="pass"/><test-case name="21077NISTSchema-SV-II-list-gYear-minLength-2 tokoe:valid" result="pass"/><test-case name="21078NISTXML-SV-II-list-gYear-minLength-2-1 tokoe:invalid" result="pass"/><test-case name="21079NISTXML-SV-II-list-gYear-minLength-2-2 tokoe:invalid" result="pass"/><test-case name="21080NISTXML-SV-II-list-gYear-minLength-2-3 tokoe:invalid" result="pass"/><test-case name="21081NISTXML-SV-II-list-gYear-minLength-2-4 tokoe:invalid" result="pass"/><test-case name="21082NISTXML-SV-II-list-gYear-minLength-2-5 tokoe:invalid" result="pass"/><test-case name="21083NISTSchema-SV-II-list-gYear-minLength-3 tokoe:valid" result="pass"/><test-case name="21084NISTXML-SV-II-list-gYear-minLength-3-1 tokoe:invalid" result="pass"/><test-case name="21085NISTXML-SV-II-list-gYear-minLength-3-2 tokoe:invalid" result="pass"/><test-case name="21086NISTXML-SV-II-list-gYear-minLength-3-3 tokoe:invalid" result="pass"/><test-case name="21087NISTXML-SV-II-list-gYear-minLength-3-4 tokoe:invalid" result="pass"/><test-case name="21088NISTXML-SV-II-list-gYear-minLength-3-5 tokoe:invalid" result="pass"/><test-case name="21089NISTSchema-SV-II-list-gYear-minLength-4 tokoe:valid" result="pass"/><test-case name="21090NISTXML-SV-II-list-gYear-minLength-4-1 tokoe:invalid" result="pass"/><test-case name="21091NISTXML-SV-II-list-gYear-minLength-4-2 tokoe:invalid" result="pass"/><test-case name="21092NISTXML-SV-II-list-gYear-minLength-4-3 tokoe:invalid" result="pass"/><test-case name="21093NISTXML-SV-II-list-gYear-minLength-4-4 tokoe:invalid" result="pass"/><test-case name="21094NISTXML-SV-II-list-gYear-minLength-4-5 tokoe:invalid" result="pass"/><test-case name="21095NISTSchema-SV-II-list-gYear-minLength-5 tokoe:valid" result="pass"/><test-case name="21096NISTXML-SV-II-list-gYear-minLength-5-1 tokoe:invalid" result="pass"/><test-case name="21097NISTXML-SV-II-list-gYear-minLength-5-2 tokoe:invalid" result="pass"/><test-case name="21098NISTXML-SV-II-list-gYear-minLength-5-3 tokoe:invalid" result="pass"/><test-case name="21099NISTXML-SV-II-list-gYear-minLength-5-4 tokoe:invalid" result="pass"/><test-case name="21100NISTXML-SV-II-list-gYear-minLength-5-5 tokoe:invalid" result="pass"/><test-case name="21101NISTSchema-SV-II-list-gYear-length-1 tokoe:valid" result="pass"/><test-case name="21102NISTXML-SV-II-list-gYear-length-1-1 tokoe:invalid" result="pass"/><test-case name="21103NISTXML-SV-II-list-gYear-length-1-2 tokoe:invalid" result="pass"/><test-case name="21104NISTXML-SV-II-list-gYear-length-1-3 tokoe:invalid" result="pass"/><test-case name="21105NISTXML-SV-II-list-gYear-length-1-4 tokoe:invalid" result="pass"/><test-case name="21106NISTXML-SV-II-list-gYear-length-1-5 tokoe:invalid" result="pass"/><test-case name="21107NISTSchema-SV-II-list-gYear-length-2 tokoe:valid" result="pass"/><test-case name="21108NISTXML-SV-II-list-gYear-length-2-1 tokoe:invalid" result="pass"/><test-case name="21109NISTXML-SV-II-list-gYear-length-2-2 tokoe:invalid" result="pass"/><test-case name="21110NISTXML-SV-II-list-gYear-length-2-3 tokoe:invalid" result="pass"/><test-case name="21111NISTXML-SV-II-list-gYear-length-2-4 tokoe:invalid" result="pass"/><test-case name="21112NISTXML-SV-II-list-gYear-length-2-5 tokoe:invalid" result="pass"/><test-case name="21113NISTSchema-SV-II-list-gYear-length-3 tokoe:valid" result="pass"/><test-case name="21114NISTXML-SV-II-list-gYear-length-3-1 tokoe:invalid" result="pass"/><test-case name="21115NISTXML-SV-II-list-gYear-length-3-2 tokoe:invalid" result="pass"/><test-case name="21116NISTXML-SV-II-list-gYear-length-3-3 tokoe:invalid" result="pass"/><test-case name="21117NISTXML-SV-II-list-gYear-length-3-4 tokoe:invalid" result="pass"/><test-case name="21118NISTXML-SV-II-list-gYear-length-3-5 tokoe:invalid" result="pass"/><test-case name="21119NISTSchema-SV-II-list-gYear-length-4 tokoe:valid" result="pass"/><test-case name="21120NISTXML-SV-II-list-gYear-length-4-1 tokoe:invalid" result="pass"/><test-case name="21121NISTXML-SV-II-list-gYear-length-4-2 tokoe:invalid" result="pass"/><test-case name="21122NISTXML-SV-II-list-gYear-length-4-3 tokoe:invalid" result="pass"/><test-case name="21123NISTXML-SV-II-list-gYear-length-4-4 tokoe:invalid" result="pass"/><test-case name="21124NISTXML-SV-II-list-gYear-length-4-5 tokoe:invalid" result="pass"/><test-case name="21125NISTSchema-SV-II-list-gYear-length-5 tokoe:valid" result="pass"/><test-case name="21126NISTXML-SV-II-list-gYear-length-5-1 tokoe:invalid" result="pass"/><test-case name="21127NISTXML-SV-II-list-gYear-length-5-2 tokoe:invalid" result="pass"/><test-case name="21128NISTXML-SV-II-list-gYear-length-5-3 tokoe:invalid" result="pass"/><test-case name="21129NISTXML-SV-II-list-gYear-length-5-4 tokoe:invalid" result="pass"/><test-case name="21130NISTXML-SV-II-list-gYear-length-5-5 tokoe:invalid" result="pass"/><test-case name="21131NISTSchema-SV-II-list-gYear-pattern-1 tokoe:valid" result="pass"/><test-case name="21132NISTXML-SV-II-list-gYear-pattern-1-1 tokoe:invalid" result="pass"/><test-case name="21133NISTXML-SV-II-list-gYear-pattern-1-2 tokoe:invalid" result="pass"/><test-case name="21134NISTXML-SV-II-list-gYear-pattern-1-3 tokoe:invalid" result="pass"/><test-case name="21135NISTXML-SV-II-list-gYear-pattern-1-4 tokoe:invalid" result="pass"/><test-case name="21136NISTXML-SV-II-list-gYear-pattern-1-5 tokoe:invalid" result="pass"/><test-case name="21137NISTSchema-SV-II-list-gYear-pattern-2 tokoe:valid" result="pass"/><test-case name="21138NISTXML-SV-II-list-gYear-pattern-2-1 tokoe:invalid" result="pass"/><test-case name="21139NISTXML-SV-II-list-gYear-pattern-2-2 tokoe:invalid" result="pass"/><test-case name="21140NISTXML-SV-II-list-gYear-pattern-2-3 tokoe:invalid" result="pass"/><test-case name="21141NISTXML-SV-II-list-gYear-pattern-2-4 tokoe:invalid" result="pass"/><test-case name="21142NISTXML-SV-II-list-gYear-pattern-2-5 tokoe:invalid" result="pass"/><test-case name="21143NISTSchema-SV-II-list-gYear-pattern-3 tokoe:valid" result="pass"/><test-case name="21144NISTXML-SV-II-list-gYear-pattern-3-1 tokoe:invalid" result="pass"/><test-case name="21145NISTXML-SV-II-list-gYear-pattern-3-2 tokoe:invalid" result="pass"/><test-case name="21146NISTXML-SV-II-list-gYear-pattern-3-3 tokoe:invalid" result="pass"/><test-case name="21147NISTXML-SV-II-list-gYear-pattern-3-4 tokoe:invalid" result="pass"/><test-case name="21148NISTXML-SV-II-list-gYear-pattern-3-5 tokoe:invalid" result="pass"/><test-case name="21149NISTSchema-SV-II-list-gYear-pattern-4 tokoe:valid" result="pass"/><test-case name="21150NISTXML-SV-II-list-gYear-pattern-4-1 tokoe:invalid" result="pass"/><test-case name="21151NISTXML-SV-II-list-gYear-pattern-4-2 tokoe:invalid" result="pass"/><test-case name="21152NISTXML-SV-II-list-gYear-pattern-4-3 tokoe:invalid" result="pass"/><test-case name="21153NISTXML-SV-II-list-gYear-pattern-4-4 tokoe:invalid" result="pass"/><test-case name="21154NISTXML-SV-II-list-gYear-pattern-4-5 tokoe:invalid" result="pass"/><test-case name="21155NISTSchema-SV-II-list-gYear-pattern-5 tokoe:valid" result="pass"/><test-case name="21156NISTXML-SV-II-list-gYear-pattern-5-1 tokoe:invalid" result="pass"/><test-case name="21157NISTXML-SV-II-list-gYear-pattern-5-2 tokoe:invalid" result="pass"/><test-case name="21158NISTXML-SV-II-list-gYear-pattern-5-3 tokoe:invalid" result="pass"/><test-case name="21159NISTXML-SV-II-list-gYear-pattern-5-4 tokoe:invalid" result="pass"/><test-case name="21160NISTXML-SV-II-list-gYear-pattern-5-5 tokoe:invalid" result="pass"/><test-case name="21161NISTSchema-SV-II-list-gYear-enumeration-1 tokoe:valid" result="pass"/><test-case name="21162NISTXML-SV-II-list-gYear-enumeration-1-1 tokoe:invalid" result="pass"/><test-case name="21163NISTXML-SV-II-list-gYear-enumeration-1-2 tokoe:invalid" result="pass"/><test-case name="21164NISTXML-SV-II-list-gYear-enumeration-1-3 tokoe:invalid" result="pass"/><test-case name="21165NISTXML-SV-II-list-gYear-enumeration-1-4 tokoe:invalid" result="pass"/><test-case name="21166NISTXML-SV-II-list-gYear-enumeration-1-5 tokoe:invalid" result="pass"/><test-case name="21167NISTSchema-SV-II-list-gYear-enumeration-2 tokoe:valid" result="pass"/><test-case name="21168NISTXML-SV-II-list-gYear-enumeration-2-1 tokoe:invalid" result="pass"/><test-case name="21169NISTXML-SV-II-list-gYear-enumeration-2-2 tokoe:invalid" result="pass"/><test-case name="21170NISTXML-SV-II-list-gYear-enumeration-2-3 tokoe:invalid" result="pass"/><test-case name="21171NISTXML-SV-II-list-gYear-enumeration-2-4 tokoe:invalid" result="pass"/><test-case name="21172NISTXML-SV-II-list-gYear-enumeration-2-5 tokoe:invalid" result="pass"/><test-case name="21173NISTSchema-SV-II-list-gYear-enumeration-3 tokoe:valid" result="pass"/><test-case name="21174NISTXML-SV-II-list-gYear-enumeration-3-1 tokoe:invalid" result="pass"/><test-case name="21175NISTXML-SV-II-list-gYear-enumeration-3-2 tokoe:invalid" result="pass"/><test-case name="21176NISTXML-SV-II-list-gYear-enumeration-3-3 tokoe:invalid" result="pass"/><test-case name="21177NISTXML-SV-II-list-gYear-enumeration-3-4 tokoe:invalid" result="pass"/><test-case name="21178NISTXML-SV-II-list-gYear-enumeration-3-5 tokoe:invalid" result="pass"/><test-case name="21179NISTSchema-SV-II-list-gYear-enumeration-4 tokoe:valid" result="pass"/><test-case name="21180NISTXML-SV-II-list-gYear-enumeration-4-1 tokoe:invalid" result="pass"/><test-case name="21181NISTXML-SV-II-list-gYear-enumeration-4-2 tokoe:invalid" result="pass"/><test-case name="21182NISTXML-SV-II-list-gYear-enumeration-4-3 tokoe:invalid" result="pass"/><test-case name="21183NISTXML-SV-II-list-gYear-enumeration-4-4 tokoe:invalid" result="pass"/><test-case name="21184NISTXML-SV-II-list-gYear-enumeration-4-5 tokoe:invalid" result="pass"/><test-case name="21185NISTSchema-SV-II-list-gYear-enumeration-5 tokoe:valid" result="pass"/><test-case name="21186NISTXML-SV-II-list-gYear-enumeration-5-1 tokoe:invalid" result="pass"/><test-case name="21187NISTXML-SV-II-list-gYear-enumeration-5-2 tokoe:invalid" result="pass"/><test-case name="21188NISTXML-SV-II-list-gYear-enumeration-5-3 tokoe:invalid" result="pass"/><test-case name="21189NISTXML-SV-II-list-gYear-enumeration-5-4 tokoe:invalid" result="pass"/><test-case name="21190NISTXML-SV-II-list-gYear-enumeration-5-5 tokoe:invalid" result="pass"/><test-case name="21191NISTSchema-SV-II-list-gMonthDay-maxLength-1 tokoe:valid" result="pass"/><test-case name="21192NISTXML-SV-II-list-gMonthDay-maxLength-1-1 tokoe:invalid" result="pass"/><test-case name="21193NISTXML-SV-II-list-gMonthDay-maxLength-1-2 tokoe:invalid" result="pass"/><test-case name="21194NISTXML-SV-II-list-gMonthDay-maxLength-1-3 tokoe:invalid" result="pass"/><test-case name="21195NISTXML-SV-II-list-gMonthDay-maxLength-1-4 tokoe:invalid" result="pass"/><test-case name="21196NISTXML-SV-II-list-gMonthDay-maxLength-1-5 tokoe:invalid" result="pass"/><test-case name="21197NISTSchema-SV-II-list-gMonthDay-maxLength-2 tokoe:valid" result="pass"/><test-case name="21198NISTXML-SV-II-list-gMonthDay-maxLength-2-1 tokoe:invalid" result="pass"/><test-case name="21199NISTXML-SV-II-list-gMonthDay-maxLength-2-2 tokoe:invalid" result="pass"/><test-case name="21200NISTXML-SV-II-list-gMonthDay-maxLength-2-3 tokoe:invalid" result="pass"/><test-case name="21201NISTXML-SV-II-list-gMonthDay-maxLength-2-4 tokoe:invalid" result="pass"/><test-case name="21202NISTXML-SV-II-list-gMonthDay-maxLength-2-5 tokoe:invalid" result="pass"/><test-case name="21203NISTSchema-SV-II-list-gMonthDay-maxLength-3 tokoe:valid" result="pass"/><test-case name="21204NISTXML-SV-II-list-gMonthDay-maxLength-3-1 tokoe:invalid" result="pass"/><test-case name="21205NISTXML-SV-II-list-gMonthDay-maxLength-3-2 tokoe:invalid" result="pass"/><test-case name="21206NISTXML-SV-II-list-gMonthDay-maxLength-3-3 tokoe:invalid" result="pass"/><test-case name="21207NISTXML-SV-II-list-gMonthDay-maxLength-3-4 tokoe:invalid" result="pass"/><test-case name="21208NISTXML-SV-II-list-gMonthDay-maxLength-3-5 tokoe:invalid" result="pass"/><test-case name="21209NISTSchema-SV-II-list-gMonthDay-maxLength-4 tokoe:valid" result="pass"/><test-case name="21210NISTXML-SV-II-list-gMonthDay-maxLength-4-1 tokoe:invalid" result="pass"/><test-case name="21211NISTXML-SV-II-list-gMonthDay-maxLength-4-2 tokoe:invalid" result="pass"/><test-case name="21212NISTXML-SV-II-list-gMonthDay-maxLength-4-3 tokoe:invalid" result="pass"/><test-case name="21213NISTXML-SV-II-list-gMonthDay-maxLength-4-4 tokoe:invalid" result="pass"/><test-case name="21214NISTXML-SV-II-list-gMonthDay-maxLength-4-5 tokoe:invalid" result="pass"/><test-case name="21215NISTSchema-SV-II-list-gMonthDay-maxLength-5 tokoe:valid" result="pass"/><test-case name="21216NISTXML-SV-II-list-gMonthDay-maxLength-5-1 tokoe:invalid" result="pass"/><test-case name="21217NISTXML-SV-II-list-gMonthDay-maxLength-5-2 tokoe:invalid" result="pass"/><test-case name="21218NISTXML-SV-II-list-gMonthDay-maxLength-5-3 tokoe:invalid" result="pass"/><test-case name="21219NISTXML-SV-II-list-gMonthDay-maxLength-5-4 tokoe:invalid" result="pass"/><test-case name="21220NISTXML-SV-II-list-gMonthDay-maxLength-5-5 tokoe:invalid" result="pass"/><test-case name="21221NISTSchema-SV-II-list-gMonthDay-minLength-1 tokoe:valid" result="pass"/><test-case name="21222NISTXML-SV-II-list-gMonthDay-minLength-1-1 tokoe:invalid" result="pass"/><test-case name="21223NISTXML-SV-II-list-gMonthDay-minLength-1-2 tokoe:invalid" result="pass"/><test-case name="21224NISTXML-SV-II-list-gMonthDay-minLength-1-3 tokoe:invalid" result="pass"/><test-case name="21225NISTXML-SV-II-list-gMonthDay-minLength-1-4 tokoe:invalid" result="pass"/><test-case name="21226NISTXML-SV-II-list-gMonthDay-minLength-1-5 tokoe:invalid" result="pass"/><test-case name="21227NISTSchema-SV-II-list-gMonthDay-minLength-2 tokoe:valid" result="pass"/><test-case name="21228NISTXML-SV-II-list-gMonthDay-minLength-2-1 tokoe:invalid" result="pass"/><test-case name="21229NISTXML-SV-II-list-gMonthDay-minLength-2-2 tokoe:invalid" result="pass"/><test-case name="21230NISTXML-SV-II-list-gMonthDay-minLength-2-3 tokoe:invalid" result="pass"/><test-case name="21231NISTXML-SV-II-list-gMonthDay-minLength-2-4 tokoe:invalid" result="pass"/><test-case name="21232NISTXML-SV-II-list-gMonthDay-minLength-2-5 tokoe:invalid" result="pass"/><test-case name="21233NISTSchema-SV-II-list-gMonthDay-minLength-3 tokoe:valid" result="pass"/><test-case name="21234NISTXML-SV-II-list-gMonthDay-minLength-3-1 tokoe:invalid" result="pass"/><test-case name="21235NISTXML-SV-II-list-gMonthDay-minLength-3-2 tokoe:invalid" result="pass"/><test-case name="21236NISTXML-SV-II-list-gMonthDay-minLength-3-3 tokoe:invalid" result="pass"/><test-case name="21237NISTXML-SV-II-list-gMonthDay-minLength-3-4 tokoe:invalid" result="pass"/><test-case name="21238NISTXML-SV-II-list-gMonthDay-minLength-3-5 tokoe:invalid" result="pass"/><test-case name="21239NISTSchema-SV-II-list-gMonthDay-minLength-4 tokoe:valid" result="pass"/><test-case name="21240NISTXML-SV-II-list-gMonthDay-minLength-4-1 tokoe:invalid" result="pass"/><test-case name="21241NISTXML-SV-II-list-gMonthDay-minLength-4-2 tokoe:invalid" result="pass"/><test-case name="21242NISTXML-SV-II-list-gMonthDay-minLength-4-3 tokoe:invalid" result="pass"/><test-case name="21243NISTXML-SV-II-list-gMonthDay-minLength-4-4 tokoe:invalid" result="pass"/><test-case name="21244NISTXML-SV-II-list-gMonthDay-minLength-4-5 tokoe:invalid" result="pass"/><test-case name="21245NISTSchema-SV-II-list-gMonthDay-minLength-5 tokoe:valid" result="pass"/><test-case name="21246NISTXML-SV-II-list-gMonthDay-minLength-5-1 tokoe:invalid" result="pass"/><test-case name="21247NISTXML-SV-II-list-gMonthDay-minLength-5-2 tokoe:invalid" result="pass"/><test-case name="21248NISTXML-SV-II-list-gMonthDay-minLength-5-3 tokoe:invalid" result="pass"/><test-case name="21249NISTXML-SV-II-list-gMonthDay-minLength-5-4 tokoe:invalid" result="pass"/><test-case name="21250NISTXML-SV-II-list-gMonthDay-minLength-5-5 tokoe:invalid" result="pass"/><test-case name="21251NISTSchema-SV-II-list-gMonthDay-length-1 tokoe:valid" result="pass"/><test-case name="21252NISTXML-SV-II-list-gMonthDay-length-1-1 tokoe:invalid" result="pass"/><test-case name="21253NISTXML-SV-II-list-gMonthDay-length-1-2 tokoe:invalid" result="pass"/><test-case name="21254NISTXML-SV-II-list-gMonthDay-length-1-3 tokoe:invalid" result="pass"/><test-case name="21255NISTXML-SV-II-list-gMonthDay-length-1-4 tokoe:invalid" result="pass"/><test-case name="21256NISTXML-SV-II-list-gMonthDay-length-1-5 tokoe:invalid" result="pass"/><test-case name="21257NISTSchema-SV-II-list-gMonthDay-length-2 tokoe:valid" result="pass"/><test-case name="21258NISTXML-SV-II-list-gMonthDay-length-2-1 tokoe:invalid" result="pass"/><test-case name="21259NISTXML-SV-II-list-gMonthDay-length-2-2 tokoe:invalid" result="pass"/><test-case name="21260NISTXML-SV-II-list-gMonthDay-length-2-3 tokoe:invalid" result="pass"/><test-case name="21261NISTXML-SV-II-list-gMonthDay-length-2-4 tokoe:invalid" result="pass"/><test-case name="21262NISTXML-SV-II-list-gMonthDay-length-2-5 tokoe:invalid" result="pass"/><test-case name="21263NISTSchema-SV-II-list-gMonthDay-length-3 tokoe:valid" result="pass"/><test-case name="21264NISTXML-SV-II-list-gMonthDay-length-3-1 tokoe:invalid" result="pass"/><test-case name="21265NISTXML-SV-II-list-gMonthDay-length-3-2 tokoe:invalid" result="pass"/><test-case name="21266NISTXML-SV-II-list-gMonthDay-length-3-3 tokoe:invalid" result="pass"/><test-case name="21267NISTXML-SV-II-list-gMonthDay-length-3-4 tokoe:invalid" result="pass"/><test-case name="21268NISTXML-SV-II-list-gMonthDay-length-3-5 tokoe:invalid" result="pass"/><test-case name="21269NISTSchema-SV-II-list-gMonthDay-length-4 tokoe:valid" result="pass"/><test-case name="21270NISTXML-SV-II-list-gMonthDay-length-4-1 tokoe:invalid" result="pass"/><test-case name="21271NISTXML-SV-II-list-gMonthDay-length-4-2 tokoe:invalid" result="pass"/><test-case name="21272NISTXML-SV-II-list-gMonthDay-length-4-3 tokoe:invalid" result="pass"/><test-case name="21273NISTXML-SV-II-list-gMonthDay-length-4-4 tokoe:invalid" result="pass"/><test-case name="21274NISTXML-SV-II-list-gMonthDay-length-4-5 tokoe:invalid" result="pass"/><test-case name="21275NISTSchema-SV-II-list-gMonthDay-length-5 tokoe:valid" result="pass"/><test-case name="21276NISTXML-SV-II-list-gMonthDay-length-5-1 tokoe:invalid" result="pass"/><test-case name="21277NISTXML-SV-II-list-gMonthDay-length-5-2 tokoe:invalid" result="pass"/><test-case name="21278NISTXML-SV-II-list-gMonthDay-length-5-3 tokoe:invalid" result="pass"/><test-case name="21279NISTXML-SV-II-list-gMonthDay-length-5-4 tokoe:invalid" result="pass"/><test-case name="21280NISTXML-SV-II-list-gMonthDay-length-5-5 tokoe:invalid" result="pass"/><test-case name="21281NISTSchema-SV-II-list-gMonthDay-pattern-1 tokoe:valid" result="pass"/><test-case name="21282NISTXML-SV-II-list-gMonthDay-pattern-1-1 tokoe:invalid" result="pass"/><test-case name="21283NISTXML-SV-II-list-gMonthDay-pattern-1-2 tokoe:invalid" result="pass"/><test-case name="21284NISTXML-SV-II-list-gMonthDay-pattern-1-3 tokoe:invalid" result="pass"/><test-case name="21285NISTXML-SV-II-list-gMonthDay-pattern-1-4 tokoe:invalid" result="pass"/><test-case name="21286NISTXML-SV-II-list-gMonthDay-pattern-1-5 tokoe:invalid" result="pass"/><test-case name="21287NISTSchema-SV-II-list-gMonthDay-pattern-2 tokoe:valid" result="pass"/><test-case name="21288NISTXML-SV-II-list-gMonthDay-pattern-2-1 tokoe:invalid" result="pass"/><test-case name="21289NISTXML-SV-II-list-gMonthDay-pattern-2-2 tokoe:invalid" result="pass"/><test-case name="21290NISTXML-SV-II-list-gMonthDay-pattern-2-3 tokoe:invalid" result="pass"/><test-case name="21291NISTXML-SV-II-list-gMonthDay-pattern-2-4 tokoe:invalid" result="pass"/><test-case name="21292NISTXML-SV-II-list-gMonthDay-pattern-2-5 tokoe:invalid" result="pass"/><test-case name="21293NISTSchema-SV-II-list-gMonthDay-pattern-3 tokoe:valid" result="pass"/><test-case name="21294NISTXML-SV-II-list-gMonthDay-pattern-3-1 tokoe:invalid" result="pass"/><test-case name="21295NISTXML-SV-II-list-gMonthDay-pattern-3-2 tokoe:invalid" result="pass"/><test-case name="21296NISTXML-SV-II-list-gMonthDay-pattern-3-3 tokoe:invalid" result="pass"/><test-case name="21297NISTXML-SV-II-list-gMonthDay-pattern-3-4 tokoe:invalid" result="pass"/><test-case name="21298NISTXML-SV-II-list-gMonthDay-pattern-3-5 tokoe:invalid" result="pass"/><test-case name="21299NISTSchema-SV-II-list-gMonthDay-pattern-4 tokoe:valid" result="pass"/><test-case name="21300NISTXML-SV-II-list-gMonthDay-pattern-4-1 tokoe:invalid" result="pass"/><test-case name="21301NISTXML-SV-II-list-gMonthDay-pattern-4-2 tokoe:invalid" result="pass"/><test-case name="21302NISTXML-SV-II-list-gMonthDay-pattern-4-3 tokoe:invalid" result="pass"/><test-case name="21303NISTXML-SV-II-list-gMonthDay-pattern-4-4 tokoe:invalid" result="pass"/><test-case name="21304NISTXML-SV-II-list-gMonthDay-pattern-4-5 tokoe:invalid" result="pass"/><test-case name="21305NISTSchema-SV-II-list-gMonthDay-pattern-5 tokoe:valid" result="pass"/><test-case name="21306NISTXML-SV-II-list-gMonthDay-pattern-5-1 tokoe:invalid" result="pass"/><test-case name="21307NISTXML-SV-II-list-gMonthDay-pattern-5-2 tokoe:invalid" result="pass"/><test-case name="21308NISTXML-SV-II-list-gMonthDay-pattern-5-3 tokoe:invalid" result="pass"/><test-case name="21309NISTXML-SV-II-list-gMonthDay-pattern-5-4 tokoe:invalid" result="pass"/><test-case name="21310NISTXML-SV-II-list-gMonthDay-pattern-5-5 tokoe:invalid" result="pass"/><test-case name="21311NISTSchema-SV-II-list-gMonthDay-enumeration-1 tokoe:valid" result="pass"/><test-case name="21312NISTXML-SV-II-list-gMonthDay-enumeration-1-1 tokoe:invalid" result="pass"/><test-case name="21313NISTXML-SV-II-list-gMonthDay-enumeration-1-2 tokoe:invalid" result="pass"/><test-case name="21314NISTXML-SV-II-list-gMonthDay-enumeration-1-3 tokoe:invalid" result="pass"/><test-case name="21315NISTXML-SV-II-list-gMonthDay-enumeration-1-4 tokoe:invalid" result="pass"/><test-case name="21316NISTXML-SV-II-list-gMonthDay-enumeration-1-5 tokoe:invalid" result="pass"/><test-case name="21317NISTSchema-SV-II-list-gMonthDay-enumeration-2 tokoe:valid" result="pass"/><test-case name="21318NISTXML-SV-II-list-gMonthDay-enumeration-2-1 tokoe:invalid" result="pass"/><test-case name="21319NISTXML-SV-II-list-gMonthDay-enumeration-2-2 tokoe:invalid" result="pass"/><test-case name="21320NISTXML-SV-II-list-gMonthDay-enumeration-2-3 tokoe:invalid" result="pass"/><test-case name="21321NISTXML-SV-II-list-gMonthDay-enumeration-2-4 tokoe:invalid" result="pass"/><test-case name="21322NISTXML-SV-II-list-gMonthDay-enumeration-2-5 tokoe:invalid" result="pass"/><test-case name="21323NISTSchema-SV-II-list-gMonthDay-enumeration-3 tokoe:valid" result="pass"/><test-case name="21324NISTXML-SV-II-list-gMonthDay-enumeration-3-1 tokoe:invalid" result="pass"/><test-case name="21325NISTXML-SV-II-list-gMonthDay-enumeration-3-2 tokoe:invalid" result="pass"/><test-case name="21326NISTXML-SV-II-list-gMonthDay-enumeration-3-3 tokoe:invalid" result="pass"/><test-case name="21327NISTXML-SV-II-list-gMonthDay-enumeration-3-4 tokoe:invalid" result="pass"/><test-case name="21328NISTXML-SV-II-list-gMonthDay-enumeration-3-5 tokoe:invalid" result="pass"/><test-case name="21329NISTSchema-SV-II-list-gMonthDay-enumeration-4 tokoe:valid" result="pass"/><test-case name="21330NISTXML-SV-II-list-gMonthDay-enumeration-4-1 tokoe:invalid" result="pass"/><test-case name="21331NISTXML-SV-II-list-gMonthDay-enumeration-4-2 tokoe:invalid" result="pass"/><test-case name="21332NISTXML-SV-II-list-gMonthDay-enumeration-4-3 tokoe:invalid" result="pass"/><test-case name="21333NISTXML-SV-II-list-gMonthDay-enumeration-4-4 tokoe:invalid" result="pass"/><test-case name="21334NISTXML-SV-II-list-gMonthDay-enumeration-4-5 tokoe:invalid" result="pass"/><test-case name="21335NISTSchema-SV-II-list-gMonthDay-enumeration-5 tokoe:valid" result="pass"/><test-case name="21336NISTXML-SV-II-list-gMonthDay-enumeration-5-1 tokoe:invalid" result="pass"/><test-case name="21337NISTXML-SV-II-list-gMonthDay-enumeration-5-2 tokoe:invalid" result="pass"/><test-case name="21338NISTXML-SV-II-list-gMonthDay-enumeration-5-3 tokoe:invalid" result="pass"/><test-case name="21339NISTXML-SV-II-list-gMonthDay-enumeration-5-4 tokoe:invalid" result="pass"/><test-case name="21340NISTXML-SV-II-list-gMonthDay-enumeration-5-5 tokoe:invalid" result="pass"/><test-case name="21341NISTSchema-SV-II-list-gDay-maxLength-1 tokoe:valid" result="pass"/><test-case name="21342NISTXML-SV-II-list-gDay-maxLength-1-1 tokoe:invalid" result="pass"/><test-case name="21343NISTXML-SV-II-list-gDay-maxLength-1-2 tokoe:invalid" result="pass"/><test-case name="21344NISTXML-SV-II-list-gDay-maxLength-1-3 tokoe:invalid" result="pass"/><test-case name="21345NISTXML-SV-II-list-gDay-maxLength-1-4 tokoe:invalid" result="pass"/><test-case name="21346NISTXML-SV-II-list-gDay-maxLength-1-5 tokoe:invalid" result="pass"/><test-case name="21347NISTSchema-SV-II-list-gDay-maxLength-2 tokoe:valid" result="pass"/><test-case name="21348NISTXML-SV-II-list-gDay-maxLength-2-1 tokoe:invalid" result="pass"/><test-case name="21349NISTXML-SV-II-list-gDay-maxLength-2-2 tokoe:invalid" result="pass"/><test-case name="21350NISTXML-SV-II-list-gDay-maxLength-2-3 tokoe:invalid" result="pass"/><test-case name="21351NISTXML-SV-II-list-gDay-maxLength-2-4 tokoe:invalid" result="pass"/><test-case name="21352NISTXML-SV-II-list-gDay-maxLength-2-5 tokoe:invalid" result="pass"/><test-case name="21353NISTSchema-SV-II-list-gDay-maxLength-3 tokoe:valid" result="pass"/><test-case name="21354NISTXML-SV-II-list-gDay-maxLength-3-1 tokoe:invalid" result="pass"/><test-case name="21355NISTXML-SV-II-list-gDay-maxLength-3-2 tokoe:invalid" result="pass"/><test-case name="21356NISTXML-SV-II-list-gDay-maxLength-3-3 tokoe:invalid" result="pass"/><test-case name="21357NISTXML-SV-II-list-gDay-maxLength-3-4 tokoe:invalid" result="pass"/><test-case name="21358NISTXML-SV-II-list-gDay-maxLength-3-5 tokoe:invalid" result="pass"/><test-case name="21359NISTSchema-SV-II-list-gDay-maxLength-4 tokoe:valid" result="pass"/><test-case name="21360NISTXML-SV-II-list-gDay-maxLength-4-1 tokoe:invalid" result="pass"/><test-case name="21361NISTXML-SV-II-list-gDay-maxLength-4-2 tokoe:invalid" result="pass"/><test-case name="21362NISTXML-SV-II-list-gDay-maxLength-4-3 tokoe:invalid" result="pass"/><test-case name="21363NISTXML-SV-II-list-gDay-maxLength-4-4 tokoe:invalid" result="pass"/><test-case name="21364NISTXML-SV-II-list-gDay-maxLength-4-5 tokoe:invalid" result="pass"/><test-case name="21365NISTSchema-SV-II-list-gDay-maxLength-5 tokoe:valid" result="pass"/><test-case name="21366NISTXML-SV-II-list-gDay-maxLength-5-1 tokoe:invalid" result="pass"/><test-case name="21367NISTXML-SV-II-list-gDay-maxLength-5-2 tokoe:invalid" result="pass"/><test-case name="21368NISTXML-SV-II-list-gDay-maxLength-5-3 tokoe:invalid" result="pass"/><test-case name="21369NISTXML-SV-II-list-gDay-maxLength-5-4 tokoe:invalid" result="pass"/><test-case name="21370NISTXML-SV-II-list-gDay-maxLength-5-5 tokoe:invalid" result="pass"/><test-case name="21371NISTSchema-SV-II-list-gDay-minLength-1 tokoe:valid" result="pass"/><test-case name="21372NISTXML-SV-II-list-gDay-minLength-1-1 tokoe:invalid" result="pass"/><test-case name="21373NISTXML-SV-II-list-gDay-minLength-1-2 tokoe:invalid" result="pass"/><test-case name="21374NISTXML-SV-II-list-gDay-minLength-1-3 tokoe:invalid" result="pass"/><test-case name="21375NISTXML-SV-II-list-gDay-minLength-1-4 tokoe:invalid" result="pass"/><test-case name="21376NISTXML-SV-II-list-gDay-minLength-1-5 tokoe:invalid" result="pass"/><test-case name="21377NISTSchema-SV-II-list-gDay-minLength-2 tokoe:valid" result="pass"/><test-case name="21378NISTXML-SV-II-list-gDay-minLength-2-1 tokoe:invalid" result="pass"/><test-case name="21379NISTXML-SV-II-list-gDay-minLength-2-2 tokoe:invalid" result="pass"/><test-case name="21380NISTXML-SV-II-list-gDay-minLength-2-3 tokoe:invalid" result="pass"/><test-case name="21381NISTXML-SV-II-list-gDay-minLength-2-4 tokoe:invalid" result="pass"/><test-case name="21382NISTXML-SV-II-list-gDay-minLength-2-5 tokoe:invalid" result="pass"/><test-case name="21383NISTSchema-SV-II-list-gDay-minLength-3 tokoe:valid" result="pass"/><test-case name="21384NISTXML-SV-II-list-gDay-minLength-3-1 tokoe:invalid" result="pass"/><test-case name="21385NISTXML-SV-II-list-gDay-minLength-3-2 tokoe:invalid" result="pass"/><test-case name="21386NISTXML-SV-II-list-gDay-minLength-3-3 tokoe:invalid" result="pass"/><test-case name="21387NISTXML-SV-II-list-gDay-minLength-3-4 tokoe:invalid" result="pass"/><test-case name="21388NISTXML-SV-II-list-gDay-minLength-3-5 tokoe:invalid" result="pass"/><test-case name="21389NISTSchema-SV-II-list-gDay-minLength-4 tokoe:valid" result="pass"/><test-case name="21390NISTXML-SV-II-list-gDay-minLength-4-1 tokoe:invalid" result="pass"/><test-case name="21391NISTXML-SV-II-list-gDay-minLength-4-2 tokoe:invalid" result="pass"/><test-case name="21392NISTXML-SV-II-list-gDay-minLength-4-3 tokoe:invalid" result="pass"/><test-case name="21393NISTXML-SV-II-list-gDay-minLength-4-4 tokoe:invalid" result="pass"/><test-case name="21394NISTXML-SV-II-list-gDay-minLength-4-5 tokoe:invalid" result="pass"/><test-case name="21395NISTSchema-SV-II-list-gDay-minLength-5 tokoe:valid" result="pass"/><test-case name="21396NISTXML-SV-II-list-gDay-minLength-5-1 tokoe:invalid" result="pass"/><test-case name="21397NISTXML-SV-II-list-gDay-minLength-5-2 tokoe:invalid" result="pass"/><test-case name="21398NISTXML-SV-II-list-gDay-minLength-5-3 tokoe:invalid" result="pass"/><test-case name="21399NISTXML-SV-II-list-gDay-minLength-5-4 tokoe:invalid" result="pass"/><test-case name="21400NISTXML-SV-II-list-gDay-minLength-5-5 tokoe:invalid" result="pass"/><test-case name="21401NISTSchema-SV-II-list-gDay-length-1 tokoe:valid" result="pass"/><test-case name="21402NISTXML-SV-II-list-gDay-length-1-1 tokoe:invalid" result="pass"/><test-case name="21403NISTXML-SV-II-list-gDay-length-1-2 tokoe:invalid" result="pass"/><test-case name="21404NISTXML-SV-II-list-gDay-length-1-3 tokoe:invalid" result="pass"/><test-case name="21405NISTXML-SV-II-list-gDay-length-1-4 tokoe:invalid" result="pass"/><test-case name="21406NISTXML-SV-II-list-gDay-length-1-5 tokoe:invalid" result="pass"/><test-case name="21407NISTSchema-SV-II-list-gDay-length-2 tokoe:valid" result="pass"/><test-case name="21408NISTXML-SV-II-list-gDay-length-2-1 tokoe:invalid" result="pass"/><test-case name="21409NISTXML-SV-II-list-gDay-length-2-2 tokoe:invalid" result="pass"/><test-case name="21410NISTXML-SV-II-list-gDay-length-2-3 tokoe:invalid" result="pass"/><test-case name="21411NISTXML-SV-II-list-gDay-length-2-4 tokoe:invalid" result="pass"/><test-case name="21412NISTXML-SV-II-list-gDay-length-2-5 tokoe:invalid" result="pass"/><test-case name="21413NISTSchema-SV-II-list-gDay-length-3 tokoe:valid" result="pass"/><test-case name="21414NISTXML-SV-II-list-gDay-length-3-1 tokoe:invalid" result="pass"/><test-case name="21415NISTXML-SV-II-list-gDay-length-3-2 tokoe:invalid" result="pass"/><test-case name="21416NISTXML-SV-II-list-gDay-length-3-3 tokoe:invalid" result="pass"/><test-case name="21417NISTXML-SV-II-list-gDay-length-3-4 tokoe:invalid" result="pass"/><test-case name="21418NISTXML-SV-II-list-gDay-length-3-5 tokoe:invalid" result="pass"/><test-case name="21419NISTSchema-SV-II-list-gDay-length-4 tokoe:valid" result="pass"/><test-case name="21420NISTXML-SV-II-list-gDay-length-4-1 tokoe:invalid" result="pass"/><test-case name="21421NISTXML-SV-II-list-gDay-length-4-2 tokoe:invalid" result="pass"/><test-case name="21422NISTXML-SV-II-list-gDay-length-4-3 tokoe:invalid" result="pass"/><test-case name="21423NISTXML-SV-II-list-gDay-length-4-4 tokoe:invalid" result="pass"/><test-case name="21424NISTXML-SV-II-list-gDay-length-4-5 tokoe:invalid" result="pass"/><test-case name="21425NISTSchema-SV-II-list-gDay-length-5 tokoe:valid" result="pass"/><test-case name="21426NISTXML-SV-II-list-gDay-length-5-1 tokoe:invalid" result="pass"/><test-case name="21427NISTXML-SV-II-list-gDay-length-5-2 tokoe:invalid" result="pass"/><test-case name="21428NISTXML-SV-II-list-gDay-length-5-3 tokoe:invalid" result="pass"/><test-case name="21429NISTXML-SV-II-list-gDay-length-5-4 tokoe:invalid" result="pass"/><test-case name="21430NISTXML-SV-II-list-gDay-length-5-5 tokoe:invalid" result="pass"/><test-case name="21431NISTSchema-SV-II-list-gDay-pattern-1 tokoe:valid" result="pass"/><test-case name="21432NISTXML-SV-II-list-gDay-pattern-1-1 tokoe:invalid" result="pass"/><test-case name="21433NISTXML-SV-II-list-gDay-pattern-1-2 tokoe:invalid" result="pass"/><test-case name="21434NISTXML-SV-II-list-gDay-pattern-1-3 tokoe:invalid" result="pass"/><test-case name="21435NISTXML-SV-II-list-gDay-pattern-1-4 tokoe:invalid" result="pass"/><test-case name="21436NISTXML-SV-II-list-gDay-pattern-1-5 tokoe:invalid" result="pass"/><test-case name="21437NISTSchema-SV-II-list-gDay-pattern-2 tokoe:valid" result="pass"/><test-case name="21438NISTXML-SV-II-list-gDay-pattern-2-1 tokoe:invalid" result="pass"/><test-case name="21439NISTXML-SV-II-list-gDay-pattern-2-2 tokoe:invalid" result="pass"/><test-case name="21440NISTXML-SV-II-list-gDay-pattern-2-3 tokoe:invalid" result="pass"/><test-case name="21441NISTXML-SV-II-list-gDay-pattern-2-4 tokoe:invalid" result="pass"/><test-case name="21442NISTXML-SV-II-list-gDay-pattern-2-5 tokoe:invalid" result="pass"/><test-case name="21443NISTSchema-SV-II-list-gDay-pattern-3 tokoe:valid" result="pass"/><test-case name="21444NISTXML-SV-II-list-gDay-pattern-3-1 tokoe:invalid" result="pass"/><test-case name="21445NISTXML-SV-II-list-gDay-pattern-3-2 tokoe:invalid" result="pass"/><test-case name="21446NISTXML-SV-II-list-gDay-pattern-3-3 tokoe:invalid" result="pass"/><test-case name="21447NISTXML-SV-II-list-gDay-pattern-3-4 tokoe:invalid" result="pass"/><test-case name="21448NISTXML-SV-II-list-gDay-pattern-3-5 tokoe:invalid" result="pass"/><test-case name="21449NISTSchema-SV-II-list-gDay-pattern-4 tokoe:valid" result="pass"/><test-case name="21450NISTXML-SV-II-list-gDay-pattern-4-1 tokoe:invalid" result="pass"/><test-case name="21451NISTXML-SV-II-list-gDay-pattern-4-2 tokoe:invalid" result="pass"/><test-case name="21452NISTXML-SV-II-list-gDay-pattern-4-3 tokoe:invalid" result="pass"/><test-case name="21453NISTXML-SV-II-list-gDay-pattern-4-4 tokoe:invalid" result="pass"/><test-case name="21454NISTXML-SV-II-list-gDay-pattern-4-5 tokoe:invalid" result="pass"/><test-case name="21455NISTSchema-SV-II-list-gDay-pattern-5 tokoe:valid" result="pass"/><test-case name="21456NISTXML-SV-II-list-gDay-pattern-5-1 tokoe:invalid" result="pass"/><test-case name="21457NISTXML-SV-II-list-gDay-pattern-5-2 tokoe:invalid" result="pass"/><test-case name="21458NISTXML-SV-II-list-gDay-pattern-5-3 tokoe:invalid" result="pass"/><test-case name="21459NISTXML-SV-II-list-gDay-pattern-5-4 tokoe:invalid" result="pass"/><test-case name="21460NISTXML-SV-II-list-gDay-pattern-5-5 tokoe:invalid" result="pass"/><test-case name="21461NISTSchema-SV-II-list-gDay-enumeration-1 tokoe:valid" result="pass"/><test-case name="21462NISTXML-SV-II-list-gDay-enumeration-1-1 tokoe:invalid" result="pass"/><test-case name="21463NISTXML-SV-II-list-gDay-enumeration-1-2 tokoe:invalid" result="pass"/><test-case name="21464NISTXML-SV-II-list-gDay-enumeration-1-3 tokoe:invalid" result="pass"/><test-case name="21465NISTXML-SV-II-list-gDay-enumeration-1-4 tokoe:invalid" result="pass"/><test-case name="21466NISTXML-SV-II-list-gDay-enumeration-1-5 tokoe:invalid" result="pass"/><test-case name="21467NISTSchema-SV-II-list-gDay-enumeration-2 tokoe:valid" result="pass"/><test-case name="21468NISTXML-SV-II-list-gDay-enumeration-2-1 tokoe:invalid" result="pass"/><test-case name="21469NISTXML-SV-II-list-gDay-enumeration-2-2 tokoe:invalid" result="pass"/><test-case name="21470NISTXML-SV-II-list-gDay-enumeration-2-3 tokoe:invalid" result="pass"/><test-case name="21471NISTXML-SV-II-list-gDay-enumeration-2-4 tokoe:invalid" result="pass"/><test-case name="21472NISTXML-SV-II-list-gDay-enumeration-2-5 tokoe:invalid" result="pass"/><test-case name="21473NISTSchema-SV-II-list-gDay-enumeration-3 tokoe:valid" result="pass"/><test-case name="21474NISTXML-SV-II-list-gDay-enumeration-3-1 tokoe:invalid" result="pass"/><test-case name="21475NISTXML-SV-II-list-gDay-enumeration-3-2 tokoe:invalid" result="pass"/><test-case name="21476NISTXML-SV-II-list-gDay-enumeration-3-3 tokoe:invalid" result="pass"/><test-case name="21477NISTXML-SV-II-list-gDay-enumeration-3-4 tokoe:invalid" result="pass"/><test-case name="21478NISTXML-SV-II-list-gDay-enumeration-3-5 tokoe:invalid" result="pass"/><test-case name="21479NISTSchema-SV-II-list-gDay-enumeration-4 tokoe:valid" result="pass"/><test-case name="21480NISTXML-SV-II-list-gDay-enumeration-4-1 tokoe:invalid" result="pass"/><test-case name="21481NISTXML-SV-II-list-gDay-enumeration-4-2 tokoe:invalid" result="pass"/><test-case name="21482NISTXML-SV-II-list-gDay-enumeration-4-3 tokoe:invalid" result="pass"/><test-case name="21483NISTXML-SV-II-list-gDay-enumeration-4-4 tokoe:invalid" result="pass"/><test-case name="21484NISTXML-SV-II-list-gDay-enumeration-4-5 tokoe:invalid" result="pass"/><test-case name="21485NISTSchema-SV-II-list-gDay-enumeration-5 tokoe:valid" result="pass"/><test-case name="21486NISTXML-SV-II-list-gDay-enumeration-5-1 tokoe:invalid" result="pass"/><test-case name="21487NISTXML-SV-II-list-gDay-enumeration-5-2 tokoe:invalid" result="pass"/><test-case name="21488NISTXML-SV-II-list-gDay-enumeration-5-3 tokoe:invalid" result="pass"/><test-case name="21489NISTXML-SV-II-list-gDay-enumeration-5-4 tokoe:invalid" result="pass"/><test-case name="21490NISTXML-SV-II-list-gDay-enumeration-5-5 tokoe:invalid" result="pass"/><test-case name="21491NISTSchema-SV-II-list-gMonth-maxLength-1 tokoe:valid" result="pass"/><test-case name="21492NISTXML-SV-II-list-gMonth-maxLength-1-1 tokoe:invalid" result="pass"/><test-case name="21493NISTXML-SV-II-list-gMonth-maxLength-1-2 tokoe:invalid" result="pass"/><test-case name="21494NISTXML-SV-II-list-gMonth-maxLength-1-3 tokoe:invalid" result="pass"/><test-case name="21495NISTXML-SV-II-list-gMonth-maxLength-1-4 tokoe:invalid" result="pass"/><test-case name="21496NISTXML-SV-II-list-gMonth-maxLength-1-5 tokoe:invalid" result="pass"/><test-case name="21497NISTSchema-SV-II-list-gMonth-maxLength-2 tokoe:valid" result="pass"/><test-case name="21498NISTXML-SV-II-list-gMonth-maxLength-2-1 tokoe:invalid" result="pass"/><test-case name="21499NISTXML-SV-II-list-gMonth-maxLength-2-2 tokoe:invalid" result="pass"/><test-case name="21500NISTXML-SV-II-list-gMonth-maxLength-2-3 tokoe:invalid" result="pass"/><test-case name="21501NISTXML-SV-II-list-gMonth-maxLength-2-4 tokoe:invalid" result="pass"/><test-case name="21502NISTXML-SV-II-list-gMonth-maxLength-2-5 tokoe:invalid" result="pass"/><test-case name="21503NISTSchema-SV-II-list-gMonth-maxLength-3 tokoe:valid" result="pass"/><test-case name="21504NISTXML-SV-II-list-gMonth-maxLength-3-1 tokoe:invalid" result="pass"/><test-case name="21505NISTXML-SV-II-list-gMonth-maxLength-3-2 tokoe:invalid" result="pass"/><test-case name="21506NISTXML-SV-II-list-gMonth-maxLength-3-3 tokoe:invalid" result="pass"/><test-case name="21507NISTXML-SV-II-list-gMonth-maxLength-3-4 tokoe:invalid" result="pass"/><test-case name="21508NISTXML-SV-II-list-gMonth-maxLength-3-5 tokoe:invalid" result="pass"/><test-case name="21509NISTSchema-SV-II-list-gMonth-maxLength-4 tokoe:valid" result="pass"/><test-case name="21510NISTXML-SV-II-list-gMonth-maxLength-4-1 tokoe:invalid" result="pass"/><test-case name="21511NISTXML-SV-II-list-gMonth-maxLength-4-2 tokoe:invalid" result="pass"/><test-case name="21512NISTXML-SV-II-list-gMonth-maxLength-4-3 tokoe:invalid" result="pass"/><test-case name="21513NISTXML-SV-II-list-gMonth-maxLength-4-4 tokoe:invalid" result="pass"/><test-case name="21514NISTXML-SV-II-list-gMonth-maxLength-4-5 tokoe:invalid" result="pass"/><test-case name="21515NISTSchema-SV-II-list-gMonth-maxLength-5 tokoe:valid" result="pass"/><test-case name="21516NISTXML-SV-II-list-gMonth-maxLength-5-1 tokoe:invalid" result="pass"/><test-case name="21517NISTXML-SV-II-list-gMonth-maxLength-5-2 tokoe:invalid" result="pass"/><test-case name="21518NISTXML-SV-II-list-gMonth-maxLength-5-3 tokoe:invalid" result="pass"/><test-case name="21519NISTXML-SV-II-list-gMonth-maxLength-5-4 tokoe:invalid" result="pass"/><test-case name="21520NISTXML-SV-II-list-gMonth-maxLength-5-5 tokoe:invalid" result="pass"/><test-case name="21521NISTSchema-SV-II-list-gMonth-minLength-1 tokoe:valid" result="pass"/><test-case name="21522NISTXML-SV-II-list-gMonth-minLength-1-1 tokoe:invalid" result="pass"/><test-case name="21523NISTXML-SV-II-list-gMonth-minLength-1-2 tokoe:invalid" result="pass"/><test-case name="21524NISTXML-SV-II-list-gMonth-minLength-1-3 tokoe:invalid" result="pass"/><test-case name="21525NISTXML-SV-II-list-gMonth-minLength-1-4 tokoe:invalid" result="pass"/><test-case name="21526NISTXML-SV-II-list-gMonth-minLength-1-5 tokoe:invalid" result="pass"/><test-case name="21527NISTSchema-SV-II-list-gMonth-minLength-2 tokoe:valid" result="pass"/><test-case name="21528NISTXML-SV-II-list-gMonth-minLength-2-1 tokoe:invalid" result="pass"/><test-case name="21529NISTXML-SV-II-list-gMonth-minLength-2-2 tokoe:invalid" result="pass"/><test-case name="21530NISTXML-SV-II-list-gMonth-minLength-2-3 tokoe:invalid" result="pass"/><test-case name="21531NISTXML-SV-II-list-gMonth-minLength-2-4 tokoe:invalid" result="pass"/><test-case name="21532NISTXML-SV-II-list-gMonth-minLength-2-5 tokoe:invalid" result="pass"/><test-case name="21533NISTSchema-SV-II-list-gMonth-minLength-3 tokoe:valid" result="pass"/><test-case name="21534NISTXML-SV-II-list-gMonth-minLength-3-1 tokoe:invalid" result="pass"/><test-case name="21535NISTXML-SV-II-list-gMonth-minLength-3-2 tokoe:invalid" result="pass"/><test-case name="21536NISTXML-SV-II-list-gMonth-minLength-3-3 tokoe:invalid" result="pass"/><test-case name="21537NISTXML-SV-II-list-gMonth-minLength-3-4 tokoe:invalid" result="pass"/><test-case name="21538NISTXML-SV-II-list-gMonth-minLength-3-5 tokoe:invalid" result="pass"/><test-case name="21539NISTSchema-SV-II-list-gMonth-minLength-4 tokoe:valid" result="pass"/><test-case name="21540NISTXML-SV-II-list-gMonth-minLength-4-1 tokoe:invalid" result="pass"/><test-case name="21541NISTXML-SV-II-list-gMonth-minLength-4-2 tokoe:invalid" result="pass"/><test-case name="21542NISTXML-SV-II-list-gMonth-minLength-4-3 tokoe:invalid" result="pass"/><test-case name="21543NISTXML-SV-II-list-gMonth-minLength-4-4 tokoe:invalid" result="pass"/><test-case name="21544NISTXML-SV-II-list-gMonth-minLength-4-5 tokoe:invalid" result="pass"/><test-case name="21545NISTSchema-SV-II-list-gMonth-minLength-5 tokoe:valid" result="pass"/><test-case name="21546NISTXML-SV-II-list-gMonth-minLength-5-1 tokoe:invalid" result="pass"/><test-case name="21547NISTXML-SV-II-list-gMonth-minLength-5-2 tokoe:invalid" result="pass"/><test-case name="21548NISTXML-SV-II-list-gMonth-minLength-5-3 tokoe:invalid" result="pass"/><test-case name="21549NISTXML-SV-II-list-gMonth-minLength-5-4 tokoe:invalid" result="pass"/><test-case name="21550NISTXML-SV-II-list-gMonth-minLength-5-5 tokoe:invalid" result="pass"/><test-case name="21551NISTSchema-SV-II-list-gMonth-length-1 tokoe:valid" result="pass"/><test-case name="21552NISTXML-SV-II-list-gMonth-length-1-1 tokoe:invalid" result="pass"/><test-case name="21553NISTXML-SV-II-list-gMonth-length-1-2 tokoe:invalid" result="pass"/><test-case name="21554NISTXML-SV-II-list-gMonth-length-1-3 tokoe:invalid" result="pass"/><test-case name="21555NISTXML-SV-II-list-gMonth-length-1-4 tokoe:invalid" result="pass"/><test-case name="21556NISTXML-SV-II-list-gMonth-length-1-5 tokoe:invalid" result="pass"/><test-case name="21557NISTSchema-SV-II-list-gMonth-length-2 tokoe:valid" result="pass"/><test-case name="21558NISTXML-SV-II-list-gMonth-length-2-1 tokoe:invalid" result="pass"/><test-case name="21559NISTXML-SV-II-list-gMonth-length-2-2 tokoe:invalid" result="pass"/><test-case name="21560NISTXML-SV-II-list-gMonth-length-2-3 tokoe:invalid" result="pass"/><test-case name="21561NISTXML-SV-II-list-gMonth-length-2-4 tokoe:invalid" result="pass"/><test-case name="21562NISTXML-SV-II-list-gMonth-length-2-5 tokoe:invalid" result="pass"/><test-case name="21563NISTSchema-SV-II-list-gMonth-length-3 tokoe:valid" result="pass"/><test-case name="21564NISTXML-SV-II-list-gMonth-length-3-1 tokoe:invalid" result="pass"/><test-case name="21565NISTXML-SV-II-list-gMonth-length-3-2 tokoe:invalid" result="pass"/><test-case name="21566NISTXML-SV-II-list-gMonth-length-3-3 tokoe:invalid" result="pass"/><test-case name="21567NISTXML-SV-II-list-gMonth-length-3-4 tokoe:invalid" result="pass"/><test-case name="21568NISTXML-SV-II-list-gMonth-length-3-5 tokoe:invalid" result="pass"/><test-case name="21569NISTSchema-SV-II-list-gMonth-length-4 tokoe:valid" result="pass"/><test-case name="21570NISTXML-SV-II-list-gMonth-length-4-1 tokoe:invalid" result="pass"/><test-case name="21571NISTXML-SV-II-list-gMonth-length-4-2 tokoe:invalid" result="pass"/><test-case name="21572NISTXML-SV-II-list-gMonth-length-4-3 tokoe:invalid" result="pass"/><test-case name="21573NISTXML-SV-II-list-gMonth-length-4-4 tokoe:invalid" result="pass"/><test-case name="21574NISTXML-SV-II-list-gMonth-length-4-5 tokoe:invalid" result="pass"/><test-case name="21575NISTSchema-SV-II-list-gMonth-length-5 tokoe:valid" result="pass"/><test-case name="21576NISTXML-SV-II-list-gMonth-length-5-1 tokoe:invalid" result="pass"/><test-case name="21577NISTXML-SV-II-list-gMonth-length-5-2 tokoe:invalid" result="pass"/><test-case name="21578NISTXML-SV-II-list-gMonth-length-5-3 tokoe:invalid" result="pass"/><test-case name="21579NISTXML-SV-II-list-gMonth-length-5-4 tokoe:invalid" result="pass"/><test-case name="21580NISTXML-SV-II-list-gMonth-length-5-5 tokoe:invalid" result="pass"/><test-case name="21581NISTSchema-SV-II-list-gMonth-pattern-1 tokoe:valid" result="pass"/><test-case name="21582NISTXML-SV-II-list-gMonth-pattern-1-1 tokoe:invalid" result="pass"/><test-case name="21583NISTXML-SV-II-list-gMonth-pattern-1-2 tokoe:invalid" result="pass"/><test-case name="21584NISTXML-SV-II-list-gMonth-pattern-1-3 tokoe:invalid" result="pass"/><test-case name="21585NISTXML-SV-II-list-gMonth-pattern-1-4 tokoe:invalid" result="pass"/><test-case name="21586NISTXML-SV-II-list-gMonth-pattern-1-5 tokoe:invalid" result="pass"/><test-case name="21587NISTSchema-SV-II-list-gMonth-pattern-2 tokoe:valid" result="pass"/><test-case name="21588NISTXML-SV-II-list-gMonth-pattern-2-1 tokoe:invalid" result="pass"/><test-case name="21589NISTXML-SV-II-list-gMonth-pattern-2-2 tokoe:invalid" result="pass"/><test-case name="21590NISTXML-SV-II-list-gMonth-pattern-2-3 tokoe:invalid" result="pass"/><test-case name="21591NISTXML-SV-II-list-gMonth-pattern-2-4 tokoe:invalid" result="pass"/><test-case name="21592NISTXML-SV-II-list-gMonth-pattern-2-5 tokoe:invalid" result="pass"/><test-case name="21593NISTSchema-SV-II-list-gMonth-pattern-3 tokoe:valid" result="pass"/><test-case name="21594NISTXML-SV-II-list-gMonth-pattern-3-1 tokoe:invalid" result="pass"/><test-case name="21595NISTXML-SV-II-list-gMonth-pattern-3-2 tokoe:invalid" result="pass"/><test-case name="21596NISTXML-SV-II-list-gMonth-pattern-3-3 tokoe:invalid" result="pass"/><test-case name="21597NISTXML-SV-II-list-gMonth-pattern-3-4 tokoe:invalid" result="pass"/><test-case name="21598NISTXML-SV-II-list-gMonth-pattern-3-5 tokoe:invalid" result="pass"/><test-case name="21599NISTSchema-SV-II-list-gMonth-pattern-4 tokoe:valid" result="pass"/><test-case name="21600NISTXML-SV-II-list-gMonth-pattern-4-1 tokoe:invalid" result="pass"/><test-case name="21601NISTXML-SV-II-list-gMonth-pattern-4-2 tokoe:invalid" result="pass"/><test-case name="21602NISTXML-SV-II-list-gMonth-pattern-4-3 tokoe:invalid" result="pass"/><test-case name="21603NISTXML-SV-II-list-gMonth-pattern-4-4 tokoe:invalid" result="pass"/><test-case name="21604NISTXML-SV-II-list-gMonth-pattern-4-5 tokoe:invalid" result="pass"/><test-case name="21605NISTSchema-SV-II-list-gMonth-pattern-5 tokoe:valid" result="pass"/><test-case name="21606NISTXML-SV-II-list-gMonth-pattern-5-1 tokoe:invalid" result="pass"/><test-case name="21607NISTXML-SV-II-list-gMonth-pattern-5-2 tokoe:invalid" result="pass"/><test-case name="21608NISTXML-SV-II-list-gMonth-pattern-5-3 tokoe:invalid" result="pass"/><test-case name="21609NISTXML-SV-II-list-gMonth-pattern-5-4 tokoe:invalid" result="pass"/><test-case name="21610NISTXML-SV-II-list-gMonth-pattern-5-5 tokoe:invalid" result="pass"/><test-case name="21611NISTSchema-SV-II-list-gMonth-enumeration-1 tokoe:valid" result="pass"/><test-case name="21612NISTXML-SV-II-list-gMonth-enumeration-1-1 tokoe:invalid" result="pass"/><test-case name="21613NISTXML-SV-II-list-gMonth-enumeration-1-2 tokoe:invalid" result="pass"/><test-case name="21614NISTXML-SV-II-list-gMonth-enumeration-1-3 tokoe:invalid" result="pass"/><test-case name="21615NISTXML-SV-II-list-gMonth-enumeration-1-4 tokoe:invalid" result="pass"/><test-case name="21616NISTXML-SV-II-list-gMonth-enumeration-1-5 tokoe:invalid" result="pass"/><test-case name="21617NISTSchema-SV-II-list-gMonth-enumeration-2 tokoe:valid" result="pass"/><test-case name="21618NISTXML-SV-II-list-gMonth-enumeration-2-1 tokoe:invalid" result="pass"/><test-case name="21619NISTXML-SV-II-list-gMonth-enumeration-2-2 tokoe:invalid" result="pass"/><test-case name="21620NISTXML-SV-II-list-gMonth-enumeration-2-3 tokoe:invalid" result="pass"/><test-case name="21621NISTXML-SV-II-list-gMonth-enumeration-2-4 tokoe:invalid" result="pass"/><test-case name="21622NISTXML-SV-II-list-gMonth-enumeration-2-5 tokoe:invalid" result="pass"/><test-case name="21623NISTSchema-SV-II-list-gMonth-enumeration-3 tokoe:valid" result="pass"/><test-case name="21624NISTXML-SV-II-list-gMonth-enumeration-3-1 tokoe:invalid" result="pass"/><test-case name="21625NISTXML-SV-II-list-gMonth-enumeration-3-2 tokoe:invalid" result="pass"/><test-case name="21626NISTXML-SV-II-list-gMonth-enumeration-3-3 tokoe:invalid" result="pass"/><test-case name="21627NISTXML-SV-II-list-gMonth-enumeration-3-4 tokoe:invalid" result="pass"/><test-case name="21628NISTXML-SV-II-list-gMonth-enumeration-3-5 tokoe:invalid" result="pass"/><test-case name="21629NISTSchema-SV-II-list-gMonth-enumeration-4 tokoe:valid" result="pass"/><test-case name="21630NISTXML-SV-II-list-gMonth-enumeration-4-1 tokoe:invalid" result="pass"/><test-case name="21631NISTXML-SV-II-list-gMonth-enumeration-4-2 tokoe:invalid" result="pass"/><test-case name="21632NISTXML-SV-II-list-gMonth-enumeration-4-3 tokoe:invalid" result="pass"/><test-case name="21633NISTXML-SV-II-list-gMonth-enumeration-4-4 tokoe:invalid" result="pass"/><test-case name="21634NISTXML-SV-II-list-gMonth-enumeration-4-5 tokoe:invalid" result="pass"/><test-case name="21635NISTSchema-SV-II-list-gMonth-enumeration-5 tokoe:valid" result="pass"/><test-case name="21636NISTXML-SV-II-list-gMonth-enumeration-5-1 tokoe:invalid" result="pass"/><test-case name="21637NISTXML-SV-II-list-gMonth-enumeration-5-2 tokoe:invalid" result="pass"/><test-case name="21638NISTXML-SV-II-list-gMonth-enumeration-5-3 tokoe:invalid" result="pass"/><test-case name="21639NISTXML-SV-II-list-gMonth-enumeration-5-4 tokoe:invalid" result="pass"/><test-case name="21640NISTXML-SV-II-list-gMonth-enumeration-5-5 tokoe:invalid" result="pass"/><test-case name="21641NISTSchema-SV-II-list-anyURI-maxLength-1 tokoe:valid" result="pass"/><test-case name="21642NISTXML-SV-II-list-anyURI-maxLength-1-1 tokoe:invalid" result="pass"/><test-case name="21643NISTXML-SV-II-list-anyURI-maxLength-1-2 tokoe:invalid" result="pass"/><test-case name="21644NISTXML-SV-II-list-anyURI-maxLength-1-3 tokoe:invalid" result="pass"/><test-case name="21645NISTXML-SV-II-list-anyURI-maxLength-1-4 tokoe:invalid" result="pass"/><test-case name="21646NISTXML-SV-II-list-anyURI-maxLength-1-5 tokoe:invalid" result="pass"/><test-case name="21647NISTSchema-SV-II-list-anyURI-maxLength-2 tokoe:valid" result="pass"/><test-case name="21648NISTXML-SV-II-list-anyURI-maxLength-2-1 tokoe:invalid" result="pass"/><test-case name="21649NISTXML-SV-II-list-anyURI-maxLength-2-2 tokoe:invalid" result="pass"/><test-case name="21650NISTXML-SV-II-list-anyURI-maxLength-2-3 tokoe:invalid" result="pass"/><test-case name="21651NISTXML-SV-II-list-anyURI-maxLength-2-4 tokoe:invalid" result="pass"/><test-case name="21652NISTXML-SV-II-list-anyURI-maxLength-2-5 tokoe:invalid" result="pass"/><test-case name="21653NISTSchema-SV-II-list-anyURI-maxLength-3 tokoe:valid" result="pass"/><test-case name="21654NISTXML-SV-II-list-anyURI-maxLength-3-1 tokoe:invalid" result="pass"/><test-case name="21655NISTXML-SV-II-list-anyURI-maxLength-3-2 tokoe:invalid" result="pass"/><test-case name="21656NISTXML-SV-II-list-anyURI-maxLength-3-3 tokoe:invalid" result="pass"/><test-case name="21657NISTXML-SV-II-list-anyURI-maxLength-3-4 tokoe:invalid" result="pass"/><test-case name="21658NISTXML-SV-II-list-anyURI-maxLength-3-5 tokoe:invalid" result="pass"/><test-case name="21659NISTSchema-SV-II-list-anyURI-maxLength-4 tokoe:valid" result="pass"/><test-case name="21660NISTXML-SV-II-list-anyURI-maxLength-4-1 tokoe:invalid" result="pass"/><test-case name="21661NISTXML-SV-II-list-anyURI-maxLength-4-2 tokoe:invalid" result="pass"/><test-case name="21662NISTXML-SV-II-list-anyURI-maxLength-4-3 tokoe:invalid" result="pass"/><test-case name="21663NISTXML-SV-II-list-anyURI-maxLength-4-4 tokoe:invalid" result="pass"/><test-case name="21664NISTXML-SV-II-list-anyURI-maxLength-4-5 tokoe:invalid" result="pass"/><test-case name="21665NISTSchema-SV-II-list-anyURI-maxLength-5 tokoe:valid" result="pass"/><test-case name="21666NISTXML-SV-II-list-anyURI-maxLength-5-1 tokoe:invalid" result="pass"/><test-case name="21667NISTXML-SV-II-list-anyURI-maxLength-5-2 tokoe:invalid" result="pass"/><test-case name="21668NISTXML-SV-II-list-anyURI-maxLength-5-3 tokoe:invalid" result="pass"/><test-case name="21669NISTXML-SV-II-list-anyURI-maxLength-5-4 tokoe:invalid" result="pass"/><test-case name="21670NISTXML-SV-II-list-anyURI-maxLength-5-5 tokoe:invalid" result="pass"/><test-case name="21671NISTSchema-SV-II-list-anyURI-minLength-1 tokoe:valid" result="pass"/><test-case name="21672NISTXML-SV-II-list-anyURI-minLength-1-1 tokoe:invalid" result="pass"/><test-case name="21673NISTXML-SV-II-list-anyURI-minLength-1-2 tokoe:invalid" result="pass"/><test-case name="21674NISTXML-SV-II-list-anyURI-minLength-1-3 tokoe:invalid" result="pass"/><test-case name="21675NISTXML-SV-II-list-anyURI-minLength-1-4 tokoe:invalid" result="pass"/><test-case name="21676NISTXML-SV-II-list-anyURI-minLength-1-5 tokoe:invalid" result="pass"/><test-case name="21677NISTSchema-SV-II-list-anyURI-minLength-2 tokoe:valid" result="pass"/><test-case name="21678NISTXML-SV-II-list-anyURI-minLength-2-1 tokoe:invalid" result="pass"/><test-case name="21679NISTXML-SV-II-list-anyURI-minLength-2-2 tokoe:invalid" result="pass"/><test-case name="21680NISTXML-SV-II-list-anyURI-minLength-2-3 tokoe:invalid" result="pass"/><test-case name="21681NISTXML-SV-II-list-anyURI-minLength-2-4 tokoe:invalid" result="pass"/><test-case name="21682NISTXML-SV-II-list-anyURI-minLength-2-5 tokoe:invalid" result="pass"/><test-case name="21683NISTSchema-SV-II-list-anyURI-minLength-3 tokoe:valid" result="pass"/><test-case name="21684NISTXML-SV-II-list-anyURI-minLength-3-1 tokoe:invalid" result="pass"/><test-case name="21685NISTXML-SV-II-list-anyURI-minLength-3-2 tokoe:invalid" result="pass"/><test-case name="21686NISTXML-SV-II-list-anyURI-minLength-3-3 tokoe:invalid" result="pass"/><test-case name="21687NISTXML-SV-II-list-anyURI-minLength-3-4 tokoe:invalid" result="pass"/><test-case name="21688NISTXML-SV-II-list-anyURI-minLength-3-5 tokoe:invalid" result="pass"/><test-case name="21689NISTSchema-SV-II-list-anyURI-minLength-4 tokoe:valid" result="pass"/><test-case name="21690NISTXML-SV-II-list-anyURI-minLength-4-1 tokoe:invalid" result="pass"/><test-case name="21691NISTXML-SV-II-list-anyURI-minLength-4-2 tokoe:invalid" result="pass"/><test-case name="21692NISTXML-SV-II-list-anyURI-minLength-4-3 tokoe:invalid" result="pass"/><test-case name="21693NISTXML-SV-II-list-anyURI-minLength-4-4 tokoe:invalid" result="pass"/><test-case name="21694NISTXML-SV-II-list-anyURI-minLength-4-5 tokoe:invalid" result="pass"/><test-case name="21695NISTSchema-SV-II-list-anyURI-minLength-5 tokoe:valid" result="pass"/><test-case name="21696NISTXML-SV-II-list-anyURI-minLength-5-1 tokoe:invalid" result="pass"/><test-case name="21697NISTXML-SV-II-list-anyURI-minLength-5-2 tokoe:invalid" result="pass"/><test-case name="21698NISTXML-SV-II-list-anyURI-minLength-5-3 tokoe:invalid" result="pass"/><test-case name="21699NISTXML-SV-II-list-anyURI-minLength-5-4 tokoe:invalid" result="pass"/><test-case name="21700NISTXML-SV-II-list-anyURI-minLength-5-5 tokoe:invalid" result="pass"/><test-case name="21701NISTSchema-SV-II-list-anyURI-length-1 tokoe:valid" result="pass"/><test-case name="21702NISTXML-SV-II-list-anyURI-length-1-1 tokoe:invalid" result="pass"/><test-case name="21703NISTXML-SV-II-list-anyURI-length-1-2 tokoe:invalid" result="pass"/><test-case name="21704NISTXML-SV-II-list-anyURI-length-1-3 tokoe:invalid" result="pass"/><test-case name="21705NISTXML-SV-II-list-anyURI-length-1-4 tokoe:invalid" result="pass"/><test-case name="21706NISTXML-SV-II-list-anyURI-length-1-5 tokoe:invalid" result="pass"/><test-case name="21707NISTSchema-SV-II-list-anyURI-length-2 tokoe:valid" result="pass"/><test-case name="21708NISTXML-SV-II-list-anyURI-length-2-1 tokoe:invalid" result="pass"/><test-case name="21709NISTXML-SV-II-list-anyURI-length-2-2 tokoe:invalid" result="pass"/><test-case name="21710NISTXML-SV-II-list-anyURI-length-2-3 tokoe:invalid" result="pass"/><test-case name="21711NISTXML-SV-II-list-anyURI-length-2-4 tokoe:invalid" result="pass"/><test-case name="21712NISTXML-SV-II-list-anyURI-length-2-5 tokoe:invalid" result="pass"/><test-case name="21713NISTSchema-SV-II-list-anyURI-length-3 tokoe:valid" result="pass"/><test-case name="21714NISTXML-SV-II-list-anyURI-length-3-1 tokoe:invalid" result="pass"/><test-case name="21715NISTXML-SV-II-list-anyURI-length-3-2 tokoe:invalid" result="pass"/><test-case name="21716NISTXML-SV-II-list-anyURI-length-3-3 tokoe:invalid" result="pass"/><test-case name="21717NISTXML-SV-II-list-anyURI-length-3-4 tokoe:invalid" result="pass"/><test-case name="21718NISTXML-SV-II-list-anyURI-length-3-5 tokoe:invalid" result="pass"/><test-case name="21719NISTSchema-SV-II-list-anyURI-length-4 tokoe:valid" result="pass"/><test-case name="21720NISTXML-SV-II-list-anyURI-length-4-1 tokoe:invalid" result="pass"/><test-case name="21721NISTXML-SV-II-list-anyURI-length-4-2 tokoe:invalid" result="pass"/><test-case name="21722NISTXML-SV-II-list-anyURI-length-4-3 tokoe:invalid" result="pass"/><test-case name="21723NISTXML-SV-II-list-anyURI-length-4-4 tokoe:invalid" result="pass"/><test-case name="21724NISTXML-SV-II-list-anyURI-length-4-5 tokoe:invalid" result="pass"/><test-case name="21725NISTSchema-SV-II-list-anyURI-length-5 tokoe:valid" result="pass"/><test-case name="21726NISTXML-SV-II-list-anyURI-length-5-1 tokoe:invalid" result="pass"/><test-case name="21727NISTXML-SV-II-list-anyURI-length-5-2 tokoe:invalid" result="pass"/><test-case name="21728NISTXML-SV-II-list-anyURI-length-5-3 tokoe:invalid" result="pass"/><test-case name="21729NISTXML-SV-II-list-anyURI-length-5-4 tokoe:invalid" result="pass"/><test-case name="21730NISTXML-SV-II-list-anyURI-length-5-5 tokoe:invalid" result="pass"/><test-case name="21731NISTSchema-SV-II-list-anyURI-pattern-1 tokoe:valid" result="pass"/><test-case name="21732NISTXML-SV-II-list-anyURI-pattern-1-1 tokoe:invalid" result="pass"/><test-case name="21733NISTXML-SV-II-list-anyURI-pattern-1-2 tokoe:invalid" result="pass"/><test-case name="21734NISTXML-SV-II-list-anyURI-pattern-1-3 tokoe:invalid" result="pass"/><test-case name="21735NISTXML-SV-II-list-anyURI-pattern-1-4 tokoe:invalid" result="pass"/><test-case name="21736NISTXML-SV-II-list-anyURI-pattern-1-5 tokoe:invalid" result="pass"/><test-case name="21737NISTSchema-SV-II-list-anyURI-pattern-2 tokoe:valid" result="pass"/><test-case name="21738NISTXML-SV-II-list-anyURI-pattern-2-1 tokoe:invalid" result="pass"/><test-case name="21739NISTXML-SV-II-list-anyURI-pattern-2-2 tokoe:invalid" result="pass"/><test-case name="21740NISTXML-SV-II-list-anyURI-pattern-2-3 tokoe:invalid" result="pass"/><test-case name="21741NISTXML-SV-II-list-anyURI-pattern-2-4 tokoe:invalid" result="pass"/><test-case name="21742NISTXML-SV-II-list-anyURI-pattern-2-5 tokoe:invalid" result="pass"/><test-case name="21743NISTSchema-SV-II-list-anyURI-pattern-3 tokoe:valid" result="pass"/><test-case name="21744NISTXML-SV-II-list-anyURI-pattern-3-1 tokoe:invalid" result="pass"/><test-case name="21745NISTXML-SV-II-list-anyURI-pattern-3-2 tokoe:invalid" result="pass"/><test-case name="21746NISTXML-SV-II-list-anyURI-pattern-3-3 tokoe:invalid" result="pass"/><test-case name="21747NISTXML-SV-II-list-anyURI-pattern-3-4 tokoe:invalid" result="pass"/><test-case name="21748NISTXML-SV-II-list-anyURI-pattern-3-5 tokoe:invalid" result="pass"/><test-case name="21749NISTSchema-SV-II-list-anyURI-pattern-4 tokoe:valid" result="pass"/><test-case name="21750NISTXML-SV-II-list-anyURI-pattern-4-1 tokoe:invalid" result="pass"/><test-case name="21751NISTXML-SV-II-list-anyURI-pattern-4-2 tokoe:invalid" result="pass"/><test-case name="21752NISTXML-SV-II-list-anyURI-pattern-4-3 tokoe:invalid" result="pass"/><test-case name="21753NISTXML-SV-II-list-anyURI-pattern-4-4 tokoe:invalid" result="pass"/><test-case name="21754NISTXML-SV-II-list-anyURI-pattern-4-5 tokoe:invalid" result="pass"/><test-case name="21755NISTSchema-SV-II-list-anyURI-pattern-5 tokoe:valid" result="pass"/><test-case name="21756NISTXML-SV-II-list-anyURI-pattern-5-1 tokoe:invalid" result="pass"/><test-case name="21757NISTXML-SV-II-list-anyURI-pattern-5-2 tokoe:invalid" result="pass"/><test-case name="21758NISTXML-SV-II-list-anyURI-pattern-5-3 tokoe:invalid" result="pass"/><test-case name="21759NISTXML-SV-II-list-anyURI-pattern-5-4 tokoe:invalid" result="pass"/><test-case name="21760NISTXML-SV-II-list-anyURI-pattern-5-5 tokoe:invalid" result="pass"/><test-case name="21761NISTSchema-SV-II-list-anyURI-enumeration-1 tokoe:valid" result="pass"/><test-case name="21762NISTXML-SV-II-list-anyURI-enumeration-1-1 tokoe:invalid" result="pass"/><test-case name="21763NISTXML-SV-II-list-anyURI-enumeration-1-2 tokoe:invalid" result="pass"/><test-case name="21764NISTXML-SV-II-list-anyURI-enumeration-1-3 tokoe:invalid" result="pass"/><test-case name="21765NISTXML-SV-II-list-anyURI-enumeration-1-4 tokoe:invalid" result="pass"/><test-case name="21766NISTXML-SV-II-list-anyURI-enumeration-1-5 tokoe:invalid" result="pass"/><test-case name="21767NISTSchema-SV-II-list-anyURI-enumeration-2 tokoe:valid" result="pass"/><test-case name="21768NISTXML-SV-II-list-anyURI-enumeration-2-1 tokoe:invalid" result="pass"/><test-case name="21769NISTXML-SV-II-list-anyURI-enumeration-2-2 tokoe:invalid" result="pass"/><test-case name="21770NISTXML-SV-II-list-anyURI-enumeration-2-3 tokoe:invalid" result="pass"/><test-case name="21771NISTXML-SV-II-list-anyURI-enumeration-2-4 tokoe:invalid" result="pass"/><test-case name="21772NISTXML-SV-II-list-anyURI-enumeration-2-5 tokoe:invalid" result="pass"/><test-case name="21773NISTSchema-SV-II-list-anyURI-enumeration-3 tokoe:valid" result="pass"/><test-case name="21774NISTXML-SV-II-list-anyURI-enumeration-3-1 tokoe:invalid" result="pass"/><test-case name="21775NISTXML-SV-II-list-anyURI-enumeration-3-2 tokoe:invalid" result="pass"/><test-case name="21776NISTXML-SV-II-list-anyURI-enumeration-3-3 tokoe:invalid" result="pass"/><test-case name="21777NISTXML-SV-II-list-anyURI-enumeration-3-4 tokoe:invalid" result="pass"/><test-case name="21778NISTXML-SV-II-list-anyURI-enumeration-3-5 tokoe:invalid" result="pass"/><test-case name="21779NISTSchema-SV-II-list-anyURI-enumeration-4 tokoe:valid" result="pass"/><test-case name="21780NISTXML-SV-II-list-anyURI-enumeration-4-1 tokoe:invalid" result="pass"/><test-case name="21781NISTXML-SV-II-list-anyURI-enumeration-4-2 tokoe:invalid" result="pass"/><test-case name="21782NISTXML-SV-II-list-anyURI-enumeration-4-3 tokoe:invalid" result="pass"/><test-case name="21783NISTXML-SV-II-list-anyURI-enumeration-4-4 tokoe:invalid" result="pass"/><test-case name="21784NISTXML-SV-II-list-anyURI-enumeration-4-5 tokoe:invalid" result="pass"/><test-case name="21785NISTSchema-SV-II-list-anyURI-enumeration-5 tokoe:valid" result="pass"/><test-case name="21786NISTXML-SV-II-list-anyURI-enumeration-5-1 tokoe:invalid" result="pass"/><test-case name="21787NISTXML-SV-II-list-anyURI-enumeration-5-2 tokoe:invalid" result="pass"/><test-case name="21788NISTXML-SV-II-list-anyURI-enumeration-5-3 tokoe:invalid" result="pass"/><test-case name="21789NISTXML-SV-II-list-anyURI-enumeration-5-4 tokoe:invalid" result="pass"/><test-case name="21790NISTXML-SV-II-list-anyURI-enumeration-5-5 tokoe:invalid" result="pass"/><test-case name="21791NISTSchema-SV-II-list-string-maxLength-1 tokoe:valid" result="pass"/><test-case name="21792NISTXML-SV-II-list-string-maxLength-1-1 tokoe:invalid" result="pass"/><test-case name="21793NISTXML-SV-II-list-string-maxLength-1-2 tokoe:invalid" result="pass"/><test-case name="21794NISTXML-SV-II-list-string-maxLength-1-3 tokoe:invalid" result="pass"/><test-case name="21795NISTXML-SV-II-list-string-maxLength-1-4 tokoe:invalid" result="pass"/><test-case name="21796NISTXML-SV-II-list-string-maxLength-1-5 tokoe:invalid" result="pass"/><test-case name="21797NISTSchema-SV-II-list-string-maxLength-2 tokoe:valid" result="pass"/><test-case name="21798NISTXML-SV-II-list-string-maxLength-2-1 tokoe:invalid" result="pass"/><test-case name="21799NISTXML-SV-II-list-string-maxLength-2-2 tokoe:invalid" result="pass"/><test-case name="21800NISTXML-SV-II-list-string-maxLength-2-3 tokoe:invalid" result="pass"/><test-case name="21801NISTXML-SV-II-list-string-maxLength-2-4 tokoe:invalid" result="pass"/><test-case name="21802NISTXML-SV-II-list-string-maxLength-2-5 tokoe:invalid" result="pass"/><test-case name="21803NISTSchema-SV-II-list-string-maxLength-3 tokoe:valid" result="pass"/><test-case name="21804NISTXML-SV-II-list-string-maxLength-3-1 tokoe:invalid" result="pass"/><test-case name="21805NISTXML-SV-II-list-string-maxLength-3-2 tokoe:invalid" result="pass"/><test-case name="21806NISTXML-SV-II-list-string-maxLength-3-3 tokoe:invalid" result="pass"/><test-case name="21807NISTXML-SV-II-list-string-maxLength-3-4 tokoe:invalid" result="pass"/><test-case name="21808NISTXML-SV-II-list-string-maxLength-3-5 tokoe:invalid" result="pass"/><test-case name="21809NISTSchema-SV-II-list-string-maxLength-4 tokoe:valid" result="pass"/><test-case name="21810NISTXML-SV-II-list-string-maxLength-4-1 tokoe:invalid" result="pass"/><test-case name="21811NISTXML-SV-II-list-string-maxLength-4-2 tokoe:invalid" result="pass"/><test-case name="21812NISTXML-SV-II-list-string-maxLength-4-3 tokoe:invalid" result="pass"/><test-case name="21813NISTXML-SV-II-list-string-maxLength-4-4 tokoe:invalid" result="pass"/><test-case name="21814NISTXML-SV-II-list-string-maxLength-4-5 tokoe:invalid" result="pass"/><test-case name="21815NISTSchema-SV-II-list-string-maxLength-5 tokoe:valid" result="pass"/><test-case name="21816NISTXML-SV-II-list-string-maxLength-5-1 tokoe:invalid" result="pass"/><test-case name="21817NISTXML-SV-II-list-string-maxLength-5-2 tokoe:invalid" result="pass"/><test-case name="21818NISTXML-SV-II-list-string-maxLength-5-3 tokoe:invalid" result="pass"/><test-case name="21819NISTXML-SV-II-list-string-maxLength-5-4 tokoe:invalid" result="pass"/><test-case name="21820NISTXML-SV-II-list-string-maxLength-5-5 tokoe:invalid" result="pass"/><test-case name="21821NISTSchema-SV-II-list-string-minLength-1 tokoe:valid" result="pass"/><test-case name="21822NISTXML-SV-II-list-string-minLength-1-1 tokoe:invalid" result="pass"/><test-case name="21823NISTXML-SV-II-list-string-minLength-1-2 tokoe:invalid" result="pass"/><test-case name="21824NISTXML-SV-II-list-string-minLength-1-3 tokoe:invalid" result="pass"/><test-case name="21825NISTXML-SV-II-list-string-minLength-1-4 tokoe:invalid" result="pass"/><test-case name="21826NISTXML-SV-II-list-string-minLength-1-5 tokoe:invalid" result="pass"/><test-case name="21827NISTSchema-SV-II-list-string-minLength-2 tokoe:valid" result="pass"/><test-case name="21828NISTXML-SV-II-list-string-minLength-2-1 tokoe:invalid" result="pass"/><test-case name="21829NISTXML-SV-II-list-string-minLength-2-2 tokoe:invalid" result="pass"/><test-case name="21830NISTXML-SV-II-list-string-minLength-2-3 tokoe:invalid" result="pass"/><test-case name="21831NISTXML-SV-II-list-string-minLength-2-4 tokoe:invalid" result="pass"/><test-case name="21832NISTXML-SV-II-list-string-minLength-2-5 tokoe:invalid" result="pass"/><test-case name="21833NISTSchema-SV-II-list-string-minLength-3 tokoe:valid" result="pass"/><test-case name="21834NISTXML-SV-II-list-string-minLength-3-1 tokoe:invalid" result="pass"/><test-case name="21835NISTXML-SV-II-list-string-minLength-3-2 tokoe:invalid" result="pass"/><test-case name="21836NISTXML-SV-II-list-string-minLength-3-3 tokoe:invalid" result="pass"/><test-case name="21837NISTXML-SV-II-list-string-minLength-3-4 tokoe:invalid" result="pass"/><test-case name="21838NISTXML-SV-II-list-string-minLength-3-5 tokoe:invalid" result="pass"/><test-case name="21839NISTSchema-SV-II-list-string-minLength-4 tokoe:valid" result="pass"/><test-case name="21840NISTXML-SV-II-list-string-minLength-4-1 tokoe:invalid" result="pass"/><test-case name="21841NISTXML-SV-II-list-string-minLength-4-2 tokoe:invalid" result="pass"/><test-case name="21842NISTXML-SV-II-list-string-minLength-4-3 tokoe:invalid" result="pass"/><test-case name="21843NISTXML-SV-II-list-string-minLength-4-4 tokoe:invalid" result="pass"/><test-case name="21844NISTXML-SV-II-list-string-minLength-4-5 tokoe:invalid" result="pass"/><test-case name="21845NISTSchema-SV-II-list-string-minLength-5 tokoe:valid" result="pass"/><test-case name="21846NISTXML-SV-II-list-string-minLength-5-1 tokoe:invalid" result="pass"/><test-case name="21847NISTXML-SV-II-list-string-minLength-5-2 tokoe:invalid" result="pass"/><test-case name="21848NISTXML-SV-II-list-string-minLength-5-3 tokoe:invalid" result="pass"/><test-case name="21849NISTXML-SV-II-list-string-minLength-5-4 tokoe:invalid" result="pass"/><test-case name="21850NISTXML-SV-II-list-string-minLength-5-5 tokoe:invalid" result="pass"/><test-case name="21851NISTSchema-SV-II-list-string-length-1 tokoe:valid" result="pass"/><test-case name="21852NISTXML-SV-II-list-string-length-1-1 tokoe:invalid" result="pass"/><test-case name="21853NISTXML-SV-II-list-string-length-1-2 tokoe:invalid" result="pass"/><test-case name="21854NISTXML-SV-II-list-string-length-1-3 tokoe:invalid" result="pass"/><test-case name="21855NISTXML-SV-II-list-string-length-1-4 tokoe:invalid" result="pass"/><test-case name="21856NISTXML-SV-II-list-string-length-1-5 tokoe:invalid" result="pass"/><test-case name="21857NISTSchema-SV-II-list-string-length-2 tokoe:valid" result="pass"/><test-case name="21858NISTXML-SV-II-list-string-length-2-1 tokoe:invalid" result="pass"/><test-case name="21859NISTXML-SV-II-list-string-length-2-2 tokoe:invalid" result="pass"/><test-case name="21860NISTXML-SV-II-list-string-length-2-3 tokoe:invalid" result="pass"/><test-case name="21861NISTXML-SV-II-list-string-length-2-4 tokoe:invalid" result="pass"/><test-case name="21862NISTXML-SV-II-list-string-length-2-5 tokoe:invalid" result="pass"/><test-case name="21863NISTSchema-SV-II-list-string-length-3 tokoe:valid" result="pass"/><test-case name="21864NISTXML-SV-II-list-string-length-3-1 tokoe:invalid" result="pass"/><test-case name="21865NISTXML-SV-II-list-string-length-3-2 tokoe:invalid" result="pass"/><test-case name="21866NISTXML-SV-II-list-string-length-3-3 tokoe:invalid" result="pass"/><test-case name="21867NISTXML-SV-II-list-string-length-3-4 tokoe:invalid" result="pass"/><test-case name="21868NISTXML-SV-II-list-string-length-3-5 tokoe:invalid" result="pass"/><test-case name="21869NISTSchema-SV-II-list-string-length-4 tokoe:valid" result="pass"/><test-case name="21870NISTXML-SV-II-list-string-length-4-1 tokoe:invalid" result="pass"/><test-case name="21871NISTXML-SV-II-list-string-length-4-2 tokoe:invalid" result="pass"/><test-case name="21872NISTXML-SV-II-list-string-length-4-3 tokoe:invalid" result="pass"/><test-case name="21873NISTXML-SV-II-list-string-length-4-4 tokoe:invalid" result="pass"/><test-case name="21874NISTXML-SV-II-list-string-length-4-5 tokoe:invalid" result="pass"/><test-case name="21875NISTSchema-SV-II-list-string-length-5 tokoe:valid" result="pass"/><test-case name="21876NISTXML-SV-II-list-string-length-5-1 tokoe:invalid" result="pass"/><test-case name="21877NISTXML-SV-II-list-string-length-5-2 tokoe:invalid" result="pass"/><test-case name="21878NISTXML-SV-II-list-string-length-5-3 tokoe:invalid" result="pass"/><test-case name="21879NISTXML-SV-II-list-string-length-5-4 tokoe:invalid" result="pass"/><test-case name="21880NISTXML-SV-II-list-string-length-5-5 tokoe:invalid" result="pass"/><test-case name="21881NISTSchema-SV-II-list-normalizedString-maxLength-1 tokoe:valid" result="pass"/><test-case name="21882NISTXML-SV-II-list-normalizedString-maxLength-1-1 tokoe:invalid" result="pass"/><test-case name="21883NISTXML-SV-II-list-normalizedString-maxLength-1-2 tokoe:invalid" result="pass"/><test-case name="21884NISTXML-SV-II-list-normalizedString-maxLength-1-3 tokoe:invalid" result="pass"/><test-case name="21885NISTXML-SV-II-list-normalizedString-maxLength-1-4 tokoe:invalid" result="pass"/><test-case name="21886NISTXML-SV-II-list-normalizedString-maxLength-1-5 tokoe:invalid" result="pass"/><test-case name="21887NISTSchema-SV-II-list-normalizedString-maxLength-2 tokoe:valid" result="pass"/><test-case name="21888NISTXML-SV-II-list-normalizedString-maxLength-2-1 tokoe:invalid" result="pass"/><test-case name="21889NISTXML-SV-II-list-normalizedString-maxLength-2-2 tokoe:invalid" result="pass"/><test-case name="21890NISTXML-SV-II-list-normalizedString-maxLength-2-3 tokoe:invalid" result="pass"/><test-case name="21891NISTXML-SV-II-list-normalizedString-maxLength-2-4 tokoe:invalid" result="pass"/><test-case name="21892NISTXML-SV-II-list-normalizedString-maxLength-2-5 tokoe:invalid" result="pass"/><test-case name="21893NISTSchema-SV-II-list-normalizedString-maxLength-3 tokoe:valid" result="pass"/><test-case name="21894NISTXML-SV-II-list-normalizedString-maxLength-3-1 tokoe:invalid" result="pass"/><test-case name="21895NISTXML-SV-II-list-normalizedString-maxLength-3-2 tokoe:invalid" result="pass"/><test-case name="21896NISTXML-SV-II-list-normalizedString-maxLength-3-3 tokoe:invalid" result="pass"/><test-case name="21897NISTXML-SV-II-list-normalizedString-maxLength-3-4 tokoe:invalid" result="pass"/><test-case name="21898NISTXML-SV-II-list-normalizedString-maxLength-3-5 tokoe:invalid" result="pass"/><test-case name="21899NISTSchema-SV-II-list-normalizedString-maxLength-4 tokoe:valid" result="pass"/><test-case name="21900NISTXML-SV-II-list-normalizedString-maxLength-4-1 tokoe:invalid" result="pass"/><test-case name="21901NISTXML-SV-II-list-normalizedString-maxLength-4-2 tokoe:invalid" result="pass"/><test-case name="21902NISTXML-SV-II-list-normalizedString-maxLength-4-3 tokoe:invalid" result="pass"/><test-case name="21903NISTXML-SV-II-list-normalizedString-maxLength-4-4 tokoe:invalid" result="pass"/><test-case name="21904NISTXML-SV-II-list-normalizedString-maxLength-4-5 tokoe:invalid" result="pass"/><test-case name="21905NISTSchema-SV-II-list-normalizedString-maxLength-5 tokoe:valid" result="pass"/><test-case name="21906NISTXML-SV-II-list-normalizedString-maxLength-5-1 tokoe:invalid" result="pass"/><test-case name="21907NISTXML-SV-II-list-normalizedString-maxLength-5-2 tokoe:invalid" result="pass"/><test-case name="21908NISTXML-SV-II-list-normalizedString-maxLength-5-3 tokoe:invalid" result="pass"/><test-case name="21909NISTXML-SV-II-list-normalizedString-maxLength-5-4 tokoe:invalid" result="pass"/><test-case name="21910NISTXML-SV-II-list-normalizedString-maxLength-5-5 tokoe:invalid" result="pass"/><test-case name="21911NISTSchema-SV-II-list-normalizedString-minLength-1 tokoe:valid" result="pass"/><test-case name="21912NISTXML-SV-II-list-normalizedString-minLength-1-1 tokoe:invalid" result="pass"/><test-case name="21913NISTXML-SV-II-list-normalizedString-minLength-1-2 tokoe:invalid" result="pass"/><test-case name="21914NISTXML-SV-II-list-normalizedString-minLength-1-3 tokoe:invalid" result="pass"/><test-case name="21915NISTXML-SV-II-list-normalizedString-minLength-1-4 tokoe:invalid" result="pass"/><test-case name="21916NISTXML-SV-II-list-normalizedString-minLength-1-5 tokoe:invalid" result="pass"/><test-case name="21917NISTSchema-SV-II-list-normalizedString-minLength-2 tokoe:valid" result="pass"/><test-case name="21918NISTXML-SV-II-list-normalizedString-minLength-2-1 tokoe:invalid" result="pass"/><test-case name="21919NISTXML-SV-II-list-normalizedString-minLength-2-2 tokoe:invalid" result="pass"/><test-case name="21920NISTXML-SV-II-list-normalizedString-minLength-2-3 tokoe:invalid" result="pass"/><test-case name="21921NISTXML-SV-II-list-normalizedString-minLength-2-4 tokoe:invalid" result="pass"/><test-case name="21922NISTXML-SV-II-list-normalizedString-minLength-2-5 tokoe:invalid" result="pass"/><test-case name="21923NISTSchema-SV-II-list-normalizedString-minLength-3 tokoe:valid" result="pass"/><test-case name="21924NISTXML-SV-II-list-normalizedString-minLength-3-1 tokoe:invalid" result="pass"/><test-case name="21925NISTXML-SV-II-list-normalizedString-minLength-3-2 tokoe:invalid" result="pass"/><test-case name="21926NISTXML-SV-II-list-normalizedString-minLength-3-3 tokoe:invalid" result="pass"/><test-case name="21927NISTXML-SV-II-list-normalizedString-minLength-3-4 tokoe:invalid" result="pass"/><test-case name="21928NISTXML-SV-II-list-normalizedString-minLength-3-5 tokoe:invalid" result="pass"/><test-case name="21929NISTSchema-SV-II-list-normalizedString-minLength-4 tokoe:valid" result="pass"/><test-case name="21930NISTXML-SV-II-list-normalizedString-minLength-4-1 tokoe:invalid" result="pass"/><test-case name="21931NISTXML-SV-II-list-normalizedString-minLength-4-2 tokoe:invalid" result="pass"/><test-case name="21932NISTXML-SV-II-list-normalizedString-minLength-4-3 tokoe:invalid" result="pass"/><test-case name="21933NISTXML-SV-II-list-normalizedString-minLength-4-4 tokoe:invalid" result="pass"/><test-case name="21934NISTXML-SV-II-list-normalizedString-minLength-4-5 tokoe:invalid" result="pass"/><test-case name="21935NISTSchema-SV-II-list-normalizedString-minLength-5 tokoe:valid" result="pass"/><test-case name="21936NISTXML-SV-II-list-normalizedString-minLength-5-1 tokoe:invalid" result="pass"/><test-case name="21937NISTXML-SV-II-list-normalizedString-minLength-5-2 tokoe:invalid" result="pass"/><test-case name="21938NISTXML-SV-II-list-normalizedString-minLength-5-3 tokoe:invalid" result="pass"/><test-case name="21939NISTXML-SV-II-list-normalizedString-minLength-5-4 tokoe:invalid" result="pass"/><test-case name="21940NISTXML-SV-II-list-normalizedString-minLength-5-5 tokoe:invalid" result="pass"/><test-case name="21941NISTSchema-SV-II-list-normalizedString-length-1 tokoe:valid" result="pass"/><test-case name="21942NISTXML-SV-II-list-normalizedString-length-1-1 tokoe:invalid" result="pass"/><test-case name="21943NISTXML-SV-II-list-normalizedString-length-1-2 tokoe:invalid" result="pass"/><test-case name="21944NISTXML-SV-II-list-normalizedString-length-1-3 tokoe:invalid" result="pass"/><test-case name="21945NISTXML-SV-II-list-normalizedString-length-1-4 tokoe:invalid" result="pass"/><test-case name="21946NISTXML-SV-II-list-normalizedString-length-1-5 tokoe:invalid" result="pass"/><test-case name="21947NISTSchema-SV-II-list-normalizedString-length-2 tokoe:valid" result="pass"/><test-case name="21948NISTXML-SV-II-list-normalizedString-length-2-1 tokoe:invalid" result="pass"/><test-case name="21949NISTXML-SV-II-list-normalizedString-length-2-2 tokoe:invalid" result="pass"/><test-case name="21950NISTXML-SV-II-list-normalizedString-length-2-3 tokoe:invalid" result="pass"/><test-case name="21951NISTXML-SV-II-list-normalizedString-length-2-4 tokoe:invalid" result="pass"/><test-case name="21952NISTXML-SV-II-list-normalizedString-length-2-5 tokoe:invalid" result="pass"/><test-case name="21953NISTSchema-SV-II-list-normalizedString-length-3 tokoe:valid" result="pass"/><test-case name="21954NISTXML-SV-II-list-normalizedString-length-3-1 tokoe:invalid" result="pass"/><test-case name="21955NISTXML-SV-II-list-normalizedString-length-3-2 tokoe:invalid" result="pass"/><test-case name="21956NISTXML-SV-II-list-normalizedString-length-3-3 tokoe:invalid" result="pass"/><test-case name="21957NISTXML-SV-II-list-normalizedString-length-3-4 tokoe:invalid" result="pass"/><test-case name="21958NISTXML-SV-II-list-normalizedString-length-3-5 tokoe:invalid" result="pass"/><test-case name="21959NISTSchema-SV-II-list-normalizedString-length-4 tokoe:valid" result="pass"/><test-case name="21960NISTXML-SV-II-list-normalizedString-length-4-1 tokoe:invalid" result="pass"/><test-case name="21961NISTXML-SV-II-list-normalizedString-length-4-2 tokoe:invalid" result="pass"/><test-case name="21962NISTXML-SV-II-list-normalizedString-length-4-3 tokoe:invalid" result="pass"/><test-case name="21963NISTXML-SV-II-list-normalizedString-length-4-4 tokoe:invalid" result="pass"/><test-case name="21964NISTXML-SV-II-list-normalizedString-length-4-5 tokoe:invalid" result="pass"/><test-case name="21965NISTSchema-SV-II-list-normalizedString-length-5 tokoe:valid" result="pass"/><test-case name="21966NISTXML-SV-II-list-normalizedString-length-5-1 tokoe:invalid" result="pass"/><test-case name="21967NISTXML-SV-II-list-normalizedString-length-5-2 tokoe:invalid" result="pass"/><test-case name="21968NISTXML-SV-II-list-normalizedString-length-5-3 tokoe:invalid" result="pass"/><test-case name="21969NISTXML-SV-II-list-normalizedString-length-5-4 tokoe:invalid" result="pass"/><test-case name="21970NISTXML-SV-II-list-normalizedString-length-5-5 tokoe:invalid" result="pass"/><test-case name="21971NISTSchema-SV-II-list-token-maxLength-1 tokoe:valid" result="pass"/><test-case name="21972NISTXML-SV-II-list-token-maxLength-1-1 tokoe:invalid" result="pass"/><test-case name="21973NISTXML-SV-II-list-token-maxLength-1-2 tokoe:invalid" result="pass"/><test-case name="21974NISTXML-SV-II-list-token-maxLength-1-3 tokoe:invalid" result="pass"/><test-case name="21975NISTXML-SV-II-list-token-maxLength-1-4 tokoe:invalid" result="pass"/><test-case name="21976NISTXML-SV-II-list-token-maxLength-1-5 tokoe:invalid" result="pass"/><test-case name="21977NISTSchema-SV-II-list-token-maxLength-2 tokoe:valid" result="pass"/><test-case name="21978NISTXML-SV-II-list-token-maxLength-2-1 tokoe:invalid" result="pass"/><test-case name="21979NISTXML-SV-II-list-token-maxLength-2-2 tokoe:invalid" result="pass"/><test-case name="21980NISTXML-SV-II-list-token-maxLength-2-3 tokoe:invalid" result="pass"/><test-case name="21981NISTXML-SV-II-list-token-maxLength-2-4 tokoe:invalid" result="pass"/><test-case name="21982NISTXML-SV-II-list-token-maxLength-2-5 tokoe:invalid" result="pass"/><test-case name="21983NISTSchema-SV-II-list-token-maxLength-3 tokoe:valid" result="pass"/><test-case name="21984NISTXML-SV-II-list-token-maxLength-3-1 tokoe:invalid" result="pass"/><test-case name="21985NISTXML-SV-II-list-token-maxLength-3-2 tokoe:invalid" result="pass"/><test-case name="21986NISTXML-SV-II-list-token-maxLength-3-3 tokoe:invalid" result="pass"/><test-case name="21987NISTXML-SV-II-list-token-maxLength-3-4 tokoe:invalid" result="pass"/><test-case name="21988NISTXML-SV-II-list-token-maxLength-3-5 tokoe:invalid" result="pass"/><test-case name="21989NISTSchema-SV-II-list-token-maxLength-4 tokoe:valid" result="pass"/><test-case name="21990NISTXML-SV-II-list-token-maxLength-4-1 tokoe:invalid" result="pass"/><test-case name="21991NISTXML-SV-II-list-token-maxLength-4-2 tokoe:invalid" result="pass"/><test-case name="21992NISTXML-SV-II-list-token-maxLength-4-3 tokoe:invalid" result="pass"/><test-case name="21993NISTXML-SV-II-list-token-maxLength-4-4 tokoe:invalid" result="pass"/><test-case name="21994NISTXML-SV-II-list-token-maxLength-4-5 tokoe:invalid" result="pass"/><test-case name="21995NISTSchema-SV-II-list-token-maxLength-5 tokoe:valid" result="pass"/><test-case name="21996NISTXML-SV-II-list-token-maxLength-5-1 tokoe:invalid" result="pass"/><test-case name="21997NISTXML-SV-II-list-token-maxLength-5-2 tokoe:invalid" result="pass"/><test-case name="21998NISTXML-SV-II-list-token-maxLength-5-3 tokoe:invalid" result="pass"/><test-case name="21999NISTXML-SV-II-list-token-maxLength-5-4 tokoe:invalid" result="pass"/><test-case name="22000NISTXML-SV-II-list-token-maxLength-5-5 tokoe:invalid" result="pass"/><test-case name="22001NISTSchema-SV-II-list-token-minLength-1 tokoe:valid" result="pass"/><test-case name="22002NISTXML-SV-II-list-token-minLength-1-1 tokoe:invalid" result="pass"/><test-case name="22003NISTXML-SV-II-list-token-minLength-1-2 tokoe:invalid" result="pass"/><test-case name="22004NISTXML-SV-II-list-token-minLength-1-3 tokoe:invalid" result="pass"/><test-case name="22005NISTXML-SV-II-list-token-minLength-1-4 tokoe:invalid" result="pass"/><test-case name="22006NISTXML-SV-II-list-token-minLength-1-5 tokoe:invalid" result="pass"/><test-case name="22007NISTSchema-SV-II-list-token-minLength-2 tokoe:valid" result="pass"/><test-case name="22008NISTXML-SV-II-list-token-minLength-2-1 tokoe:invalid" result="pass"/><test-case name="22009NISTXML-SV-II-list-token-minLength-2-2 tokoe:invalid" result="pass"/><test-case name="22010NISTXML-SV-II-list-token-minLength-2-3 tokoe:invalid" result="pass"/><test-case name="22011NISTXML-SV-II-list-token-minLength-2-4 tokoe:invalid" result="pass"/><test-case name="22012NISTXML-SV-II-list-token-minLength-2-5 tokoe:invalid" result="pass"/><test-case name="22013NISTSchema-SV-II-list-token-minLength-3 tokoe:valid" result="pass"/><test-case name="22014NISTXML-SV-II-list-token-minLength-3-1 tokoe:invalid" result="pass"/><test-case name="22015NISTXML-SV-II-list-token-minLength-3-2 tokoe:invalid" result="pass"/><test-case name="22016NISTXML-SV-II-list-token-minLength-3-3 tokoe:invalid" result="pass"/><test-case name="22017NISTXML-SV-II-list-token-minLength-3-4 tokoe:invalid" result="pass"/><test-case name="22018NISTXML-SV-II-list-token-minLength-3-5 tokoe:invalid" result="pass"/><test-case name="22019NISTSchema-SV-II-list-token-minLength-4 tokoe:valid" result="pass"/><test-case name="22020NISTXML-SV-II-list-token-minLength-4-1 tokoe:invalid" result="pass"/><test-case name="22021NISTXML-SV-II-list-token-minLength-4-2 tokoe:invalid" result="pass"/><test-case name="22022NISTXML-SV-II-list-token-minLength-4-3 tokoe:invalid" result="pass"/><test-case name="22023NISTXML-SV-II-list-token-minLength-4-4 tokoe:invalid" result="pass"/><test-case name="22024NISTXML-SV-II-list-token-minLength-4-5 tokoe:invalid" result="pass"/><test-case name="22025NISTSchema-SV-II-list-token-minLength-5 tokoe:valid" result="pass"/><test-case name="22026NISTXML-SV-II-list-token-minLength-5-1 tokoe:invalid" result="pass"/><test-case name="22027NISTXML-SV-II-list-token-minLength-5-2 tokoe:invalid" result="pass"/><test-case name="22028NISTXML-SV-II-list-token-minLength-5-3 tokoe:invalid" result="pass"/><test-case name="22029NISTXML-SV-II-list-token-minLength-5-4 tokoe:invalid" result="pass"/><test-case name="22030NISTXML-SV-II-list-token-minLength-5-5 tokoe:invalid" result="pass"/><test-case name="22031NISTSchema-SV-II-list-token-length-1 tokoe:valid" result="pass"/><test-case name="22032NISTXML-SV-II-list-token-length-1-1 tokoe:invalid" result="pass"/><test-case name="22033NISTXML-SV-II-list-token-length-1-2 tokoe:invalid" result="pass"/><test-case name="22034NISTXML-SV-II-list-token-length-1-3 tokoe:invalid" result="pass"/><test-case name="22035NISTXML-SV-II-list-token-length-1-4 tokoe:invalid" result="pass"/><test-case name="22036NISTXML-SV-II-list-token-length-1-5 tokoe:invalid" result="pass"/><test-case name="22037NISTSchema-SV-II-list-token-length-2 tokoe:valid" result="pass"/><test-case name="22038NISTXML-SV-II-list-token-length-2-1 tokoe:invalid" result="pass"/><test-case name="22039NISTXML-SV-II-list-token-length-2-2 tokoe:invalid" result="pass"/><test-case name="22040NISTXML-SV-II-list-token-length-2-3 tokoe:invalid" result="pass"/><test-case name="22041NISTXML-SV-II-list-token-length-2-4 tokoe:invalid" result="pass"/><test-case name="22042NISTXML-SV-II-list-token-length-2-5 tokoe:invalid" result="pass"/><test-case name="22043NISTSchema-SV-II-list-token-length-3 tokoe:valid" result="pass"/><test-case name="22044NISTXML-SV-II-list-token-length-3-1 tokoe:invalid" result="pass"/><test-case name="22045NISTXML-SV-II-list-token-length-3-2 tokoe:invalid" result="pass"/><test-case name="22046NISTXML-SV-II-list-token-length-3-3 tokoe:invalid" result="pass"/><test-case name="22047NISTXML-SV-II-list-token-length-3-4 tokoe:invalid" result="pass"/><test-case name="22048NISTXML-SV-II-list-token-length-3-5 tokoe:invalid" result="pass"/><test-case name="22049NISTSchema-SV-II-list-token-length-4 tokoe:valid" result="pass"/><test-case name="22050NISTXML-SV-II-list-token-length-4-1 tokoe:invalid" result="pass"/><test-case name="22051NISTXML-SV-II-list-token-length-4-2 tokoe:invalid" result="pass"/><test-case name="22052NISTXML-SV-II-list-token-length-4-3 tokoe:invalid" result="pass"/><test-case name="22053NISTXML-SV-II-list-token-length-4-4 tokoe:invalid" result="pass"/><test-case name="22054NISTXML-SV-II-list-token-length-4-5 tokoe:invalid" result="pass"/><test-case name="22055NISTSchema-SV-II-list-token-length-5 tokoe:valid" result="pass"/><test-case name="22056NISTXML-SV-II-list-token-length-5-1 tokoe:invalid" result="pass"/><test-case name="22057NISTXML-SV-II-list-token-length-5-2 tokoe:invalid" result="pass"/><test-case name="22058NISTXML-SV-II-list-token-length-5-3 tokoe:invalid" result="pass"/><test-case name="22059NISTXML-SV-II-list-token-length-5-4 tokoe:invalid" result="pass"/><test-case name="22060NISTXML-SV-II-list-token-length-5-5 tokoe:invalid" result="pass"/><test-case name="22061NISTSchema-SV-II-list-Name-maxLength-1 tokoe:valid" result="pass"/><test-case name="22062NISTXML-SV-II-list-Name-maxLength-1-1 tokoe:invalid" result="pass"/><test-case name="22063NISTXML-SV-II-list-Name-maxLength-1-2 tokoe:invalid" result="pass"/><test-case name="22064NISTXML-SV-II-list-Name-maxLength-1-3 tokoe:invalid" result="pass"/><test-case name="22065NISTXML-SV-II-list-Name-maxLength-1-4 tokoe:invalid" result="pass"/><test-case name="22066NISTXML-SV-II-list-Name-maxLength-1-5 tokoe:invalid" result="pass"/><test-case name="22067NISTSchema-SV-II-list-Name-maxLength-2 tokoe:valid" result="pass"/><test-case name="22068NISTXML-SV-II-list-Name-maxLength-2-1 tokoe:invalid" result="pass"/><test-case name="22069NISTXML-SV-II-list-Name-maxLength-2-2 tokoe:invalid" result="pass"/><test-case name="22070NISTXML-SV-II-list-Name-maxLength-2-3 tokoe:invalid" result="pass"/><test-case name="22071NISTXML-SV-II-list-Name-maxLength-2-4 tokoe:invalid" result="pass"/><test-case name="22072NISTXML-SV-II-list-Name-maxLength-2-5 tokoe:invalid" result="pass"/><test-case name="22073NISTSchema-SV-II-list-Name-maxLength-3 tokoe:valid" result="pass"/><test-case name="22074NISTXML-SV-II-list-Name-maxLength-3-1 tokoe:invalid" result="pass"/><test-case name="22075NISTXML-SV-II-list-Name-maxLength-3-2 tokoe:invalid" result="pass"/><test-case name="22076NISTXML-SV-II-list-Name-maxLength-3-3 tokoe:invalid" result="pass"/><test-case name="22077NISTXML-SV-II-list-Name-maxLength-3-4 tokoe:invalid" result="pass"/><test-case name="22078NISTXML-SV-II-list-Name-maxLength-3-5 tokoe:invalid" result="pass"/><test-case name="22079NISTSchema-SV-II-list-Name-maxLength-4 tokoe:valid" result="pass"/><test-case name="22080NISTXML-SV-II-list-Name-maxLength-4-1 tokoe:invalid" result="pass"/><test-case name="22081NISTXML-SV-II-list-Name-maxLength-4-2 tokoe:invalid" result="pass"/><test-case name="22082NISTXML-SV-II-list-Name-maxLength-4-3 tokoe:invalid" result="pass"/><test-case name="22083NISTXML-SV-II-list-Name-maxLength-4-4 tokoe:invalid" result="pass"/><test-case name="22084NISTXML-SV-II-list-Name-maxLength-4-5 tokoe:invalid" result="pass"/><test-case name="22085NISTSchema-SV-II-list-Name-maxLength-5 tokoe:valid" result="pass"/><test-case name="22086NISTXML-SV-II-list-Name-maxLength-5-1 tokoe:invalid" result="pass"/><test-case name="22087NISTXML-SV-II-list-Name-maxLength-5-2 tokoe:invalid" result="pass"/><test-case name="22088NISTXML-SV-II-list-Name-maxLength-5-3 tokoe:invalid" result="pass"/><test-case name="22089NISTXML-SV-II-list-Name-maxLength-5-4 tokoe:invalid" result="pass"/><test-case name="22090NISTXML-SV-II-list-Name-maxLength-5-5 tokoe:invalid" result="pass"/><test-case name="22091NISTSchema-SV-II-list-Name-minLength-1 tokoe:valid" result="pass"/><test-case name="22092NISTXML-SV-II-list-Name-minLength-1-1 tokoe:invalid" result="pass"/><test-case name="22093NISTXML-SV-II-list-Name-minLength-1-2 tokoe:invalid" result="pass"/><test-case name="22094NISTXML-SV-II-list-Name-minLength-1-3 tokoe:invalid" result="pass"/><test-case name="22095NISTXML-SV-II-list-Name-minLength-1-4 tokoe:invalid" result="pass"/><test-case name="22096NISTXML-SV-II-list-Name-minLength-1-5 tokoe:invalid" result="pass"/><test-case name="22097NISTSchema-SV-II-list-Name-minLength-2 tokoe:valid" result="pass"/><test-case name="22098NISTXML-SV-II-list-Name-minLength-2-1 tokoe:invalid" result="pass"/><test-case name="22099NISTXML-SV-II-list-Name-minLength-2-2 tokoe:invalid" result="pass"/><test-case name="22100NISTXML-SV-II-list-Name-minLength-2-3 tokoe:invalid" result="pass"/><test-case name="22101NISTXML-SV-II-list-Name-minLength-2-4 tokoe:invalid" result="pass"/><test-case name="22102NISTXML-SV-II-list-Name-minLength-2-5 tokoe:invalid" result="pass"/><test-case name="22103NISTSchema-SV-II-list-Name-minLength-3 tokoe:valid" result="pass"/><test-case name="22104NISTXML-SV-II-list-Name-minLength-3-1 tokoe:invalid" result="pass"/><test-case name="22105NISTXML-SV-II-list-Name-minLength-3-2 tokoe:invalid" result="pass"/><test-case name="22106NISTXML-SV-II-list-Name-minLength-3-3 tokoe:invalid" result="pass"/><test-case name="22107NISTXML-SV-II-list-Name-minLength-3-4 tokoe:invalid" result="pass"/><test-case name="22108NISTXML-SV-II-list-Name-minLength-3-5 tokoe:invalid" result="pass"/><test-case name="22109NISTSchema-SV-II-list-Name-minLength-4 tokoe:valid" result="pass"/><test-case name="22110NISTXML-SV-II-list-Name-minLength-4-1 tokoe:invalid" result="pass"/><test-case name="22111NISTXML-SV-II-list-Name-minLength-4-2 tokoe:invalid" result="pass"/><test-case name="22112NISTXML-SV-II-list-Name-minLength-4-3 tokoe:invalid" result="pass"/><test-case name="22113NISTXML-SV-II-list-Name-minLength-4-4 tokoe:invalid" result="pass"/><test-case name="22114NISTXML-SV-II-list-Name-minLength-4-5 tokoe:invalid" result="pass"/><test-case name="22115NISTSchema-SV-II-list-Name-minLength-5 tokoe:valid" result="pass"/><test-case name="22116NISTXML-SV-II-list-Name-minLength-5-1 tokoe:invalid" result="pass"/><test-case name="22117NISTXML-SV-II-list-Name-minLength-5-2 tokoe:invalid" result="pass"/><test-case name="22118NISTXML-SV-II-list-Name-minLength-5-3 tokoe:invalid" result="pass"/><test-case name="22119NISTXML-SV-II-list-Name-minLength-5-4 tokoe:invalid" result="pass"/><test-case name="22120NISTXML-SV-II-list-Name-minLength-5-5 tokoe:invalid" result="pass"/><test-case name="22121NISTSchema-SV-II-list-Name-length-1 tokoe:valid" result="pass"/><test-case name="22122NISTXML-SV-II-list-Name-length-1-1 tokoe:invalid" result="pass"/><test-case name="22123NISTXML-SV-II-list-Name-length-1-2 tokoe:invalid" result="pass"/><test-case name="22124NISTXML-SV-II-list-Name-length-1-3 tokoe:invalid" result="pass"/><test-case name="22125NISTXML-SV-II-list-Name-length-1-4 tokoe:invalid" result="pass"/><test-case name="22126NISTXML-SV-II-list-Name-length-1-5 tokoe:invalid" result="pass"/><test-case name="22127NISTSchema-SV-II-list-Name-length-2 tokoe:valid" result="pass"/><test-case name="22128NISTXML-SV-II-list-Name-length-2-1 tokoe:invalid" result="pass"/><test-case name="22129NISTXML-SV-II-list-Name-length-2-2 tokoe:invalid" result="pass"/><test-case name="22130NISTXML-SV-II-list-Name-length-2-3 tokoe:invalid" result="pass"/><test-case name="22131NISTXML-SV-II-list-Name-length-2-4 tokoe:invalid" result="pass"/><test-case name="22132NISTXML-SV-II-list-Name-length-2-5 tokoe:invalid" result="pass"/><test-case name="22133NISTSchema-SV-II-list-Name-length-3 tokoe:valid" result="pass"/><test-case name="22134NISTXML-SV-II-list-Name-length-3-1 tokoe:invalid" result="pass"/><test-case name="22135NISTXML-SV-II-list-Name-length-3-2 tokoe:invalid" result="pass"/><test-case name="22136NISTXML-SV-II-list-Name-length-3-3 tokoe:invalid" result="pass"/><test-case name="22137NISTXML-SV-II-list-Name-length-3-4 tokoe:invalid" result="pass"/><test-case name="22138NISTXML-SV-II-list-Name-length-3-5 tokoe:invalid" result="pass"/><test-case name="22139NISTSchema-SV-II-list-Name-length-4 tokoe:valid" result="pass"/><test-case name="22140NISTXML-SV-II-list-Name-length-4-1 tokoe:invalid" result="pass"/><test-case name="22141NISTXML-SV-II-list-Name-length-4-2 tokoe:invalid" result="pass"/><test-case name="22142NISTXML-SV-II-list-Name-length-4-3 tokoe:invalid" result="pass"/><test-case name="22143NISTXML-SV-II-list-Name-length-4-4 tokoe:invalid" result="pass"/><test-case name="22144NISTXML-SV-II-list-Name-length-4-5 tokoe:invalid" result="pass"/><test-case name="22145NISTSchema-SV-II-list-Name-length-5 tokoe:valid" result="pass"/><test-case name="22146NISTXML-SV-II-list-Name-length-5-1 tokoe:invalid" result="pass"/><test-case name="22147NISTXML-SV-II-list-Name-length-5-2 tokoe:invalid" result="pass"/><test-case name="22148NISTXML-SV-II-list-Name-length-5-3 tokoe:invalid" result="pass"/><test-case name="22149NISTXML-SV-II-list-Name-length-5-4 tokoe:invalid" result="pass"/><test-case name="22150NISTXML-SV-II-list-Name-length-5-5 tokoe:invalid" result="pass"/><test-case name="22151NISTSchema-SV-II-list-NMTOKEN-maxLength-1 tokoe:valid" result="pass"/><test-case name="22152NISTXML-SV-II-list-NMTOKEN-maxLength-1-1 tokoe:invalid" result="pass"/><test-case name="22153NISTXML-SV-II-list-NMTOKEN-maxLength-1-2 tokoe:invalid" result="pass"/><test-case name="22154NISTXML-SV-II-list-NMTOKEN-maxLength-1-3 tokoe:invalid" result="pass"/><test-case name="22155NISTXML-SV-II-list-NMTOKEN-maxLength-1-4 tokoe:invalid" result="pass"/><test-case name="22156NISTXML-SV-II-list-NMTOKEN-maxLength-1-5 tokoe:invalid" result="pass"/><test-case name="22157NISTSchema-SV-II-list-NMTOKEN-maxLength-2 tokoe:valid" result="pass"/><test-case name="22158NISTXML-SV-II-list-NMTOKEN-maxLength-2-1 tokoe:invalid" result="pass"/><test-case name="22159NISTXML-SV-II-list-NMTOKEN-maxLength-2-2 tokoe:invalid" result="pass"/><test-case name="22160NISTXML-SV-II-list-NMTOKEN-maxLength-2-3 tokoe:invalid" result="pass"/><test-case name="22161NISTXML-SV-II-list-NMTOKEN-maxLength-2-4 tokoe:invalid" result="pass"/><test-case name="22162NISTXML-SV-II-list-NMTOKEN-maxLength-2-5 tokoe:invalid" result="pass"/><test-case name="22163NISTSchema-SV-II-list-NMTOKEN-maxLength-3 tokoe:valid" result="pass"/><test-case name="22164NISTXML-SV-II-list-NMTOKEN-maxLength-3-1 tokoe:invalid" result="pass"/><test-case name="22165NISTXML-SV-II-list-NMTOKEN-maxLength-3-2 tokoe:invalid" result="pass"/><test-case name="22166NISTXML-SV-II-list-NMTOKEN-maxLength-3-3 tokoe:invalid" result="pass"/><test-case name="22167NISTXML-SV-II-list-NMTOKEN-maxLength-3-4 tokoe:invalid" result="pass"/><test-case name="22168NISTXML-SV-II-list-NMTOKEN-maxLength-3-5 tokoe:invalid" result="pass"/><test-case name="22169NISTSchema-SV-II-list-NMTOKEN-maxLength-4 tokoe:valid" result="pass"/><test-case name="22170NISTXML-SV-II-list-NMTOKEN-maxLength-4-1 tokoe:invalid" result="pass"/><test-case name="22171NISTXML-SV-II-list-NMTOKEN-maxLength-4-2 tokoe:invalid" result="pass"/><test-case name="22172NISTXML-SV-II-list-NMTOKEN-maxLength-4-3 tokoe:invalid" result="pass"/><test-case name="22173NISTXML-SV-II-list-NMTOKEN-maxLength-4-4 tokoe:invalid" result="pass"/><test-case name="22174NISTXML-SV-II-list-NMTOKEN-maxLength-4-5 tokoe:invalid" result="pass"/><test-case name="22175NISTSchema-SV-II-list-NMTOKEN-maxLength-5 tokoe:valid" result="pass"/><test-case name="22176NISTXML-SV-II-list-NMTOKEN-maxLength-5-1 tokoe:invalid" result="pass"/><test-case name="22177NISTXML-SV-II-list-NMTOKEN-maxLength-5-2 tokoe:invalid" result="pass"/><test-case name="22178NISTXML-SV-II-list-NMTOKEN-maxLength-5-3 tokoe:invalid" result="pass"/><test-case name="22179NISTXML-SV-II-list-NMTOKEN-maxLength-5-4 tokoe:invalid" result="pass"/><test-case name="22180NISTXML-SV-II-list-NMTOKEN-maxLength-5-5 tokoe:invalid" result="pass"/><test-case name="22181NISTSchema-SV-II-list-NMTOKEN-minLength-1 tokoe:valid" result="pass"/><test-case name="22182NISTXML-SV-II-list-NMTOKEN-minLength-1-1 tokoe:invalid" result="pass"/><test-case name="22183NISTXML-SV-II-list-NMTOKEN-minLength-1-2 tokoe:invalid" result="pass"/><test-case name="22184NISTXML-SV-II-list-NMTOKEN-minLength-1-3 tokoe:invalid" result="pass"/><test-case name="22185NISTXML-SV-II-list-NMTOKEN-minLength-1-4 tokoe:invalid" result="pass"/><test-case name="22186NISTXML-SV-II-list-NMTOKEN-minLength-1-5 tokoe:invalid" result="pass"/><test-case name="22187NISTSchema-SV-II-list-NMTOKEN-minLength-2 tokoe:valid" result="pass"/><test-case name="22188NISTXML-SV-II-list-NMTOKEN-minLength-2-1 tokoe:invalid" result="pass"/><test-case name="22189NISTXML-SV-II-list-NMTOKEN-minLength-2-2 tokoe:invalid" result="pass"/><test-case name="22190NISTXML-SV-II-list-NMTOKEN-minLength-2-3 tokoe:invalid" result="pass"/><test-case name="22191NISTXML-SV-II-list-NMTOKEN-minLength-2-4 tokoe:invalid" result="pass"/><test-case name="22192NISTXML-SV-II-list-NMTOKEN-minLength-2-5 tokoe:invalid" result="pass"/><test-case name="22193NISTSchema-SV-II-list-NMTOKEN-minLength-3 tokoe:valid" result="pass"/><test-case name="22194NISTXML-SV-II-list-NMTOKEN-minLength-3-1 tokoe:invalid" result="pass"/><test-case name="22195NISTXML-SV-II-list-NMTOKEN-minLength-3-2 tokoe:invalid" result="pass"/><test-case name="22196NISTXML-SV-II-list-NMTOKEN-minLength-3-3 tokoe:invalid" result="pass"/><test-case name="22197NISTXML-SV-II-list-NMTOKEN-minLength-3-4 tokoe:invalid" result="pass"/><test-case name="22198NISTXML-SV-II-list-NMTOKEN-minLength-3-5 tokoe:invalid" result="pass"/><test-case name="22199NISTSchema-SV-II-list-NMTOKEN-minLength-4 tokoe:valid" result="pass"/><test-case name="22200NISTXML-SV-II-list-NMTOKEN-minLength-4-1 tokoe:invalid" result="pass"/><test-case name="22201NISTXML-SV-II-list-NMTOKEN-minLength-4-2 tokoe:invalid" result="pass"/><test-case name="22202NISTXML-SV-II-list-NMTOKEN-minLength-4-3 tokoe:invalid" result="pass"/><test-case name="22203NISTXML-SV-II-list-NMTOKEN-minLength-4-4 tokoe:invalid" result="pass"/><test-case name="22204NISTXML-SV-II-list-NMTOKEN-minLength-4-5 tokoe:invalid" result="pass"/><test-case name="22205NISTSchema-SV-II-list-NMTOKEN-minLength-5 tokoe:valid" result="pass"/><test-case name="22206NISTXML-SV-II-list-NMTOKEN-minLength-5-1 tokoe:invalid" result="pass"/><test-case name="22207NISTXML-SV-II-list-NMTOKEN-minLength-5-2 tokoe:invalid" result="pass"/><test-case name="22208NISTXML-SV-II-list-NMTOKEN-minLength-5-3 tokoe:invalid" result="pass"/><test-case name="22209NISTXML-SV-II-list-NMTOKEN-minLength-5-4 tokoe:invalid" result="pass"/><test-case name="22210NISTXML-SV-II-list-NMTOKEN-minLength-5-5 tokoe:invalid" result="pass"/><test-case name="22211NISTSchema-SV-II-list-NMTOKEN-length-1 tokoe:valid" result="pass"/><test-case name="22212NISTXML-SV-II-list-NMTOKEN-length-1-1 tokoe:invalid" result="pass"/><test-case name="22213NISTXML-SV-II-list-NMTOKEN-length-1-2 tokoe:invalid" result="pass"/><test-case name="22214NISTXML-SV-II-list-NMTOKEN-length-1-3 tokoe:invalid" result="pass"/><test-case name="22215NISTXML-SV-II-list-NMTOKEN-length-1-4 tokoe:invalid" result="pass"/><test-case name="22216NISTXML-SV-II-list-NMTOKEN-length-1-5 tokoe:invalid" result="pass"/><test-case name="22217NISTSchema-SV-II-list-NMTOKEN-length-2 tokoe:valid" result="pass"/><test-case name="22218NISTXML-SV-II-list-NMTOKEN-length-2-1 tokoe:invalid" result="pass"/><test-case name="22219NISTXML-SV-II-list-NMTOKEN-length-2-2 tokoe:invalid" result="pass"/><test-case name="22220NISTXML-SV-II-list-NMTOKEN-length-2-3 tokoe:invalid" result="pass"/><test-case name="22221NISTXML-SV-II-list-NMTOKEN-length-2-4 tokoe:invalid" result="pass"/><test-case name="22222NISTXML-SV-II-list-NMTOKEN-length-2-5 tokoe:invalid" result="pass"/><test-case name="22223NISTSchema-SV-II-list-NMTOKEN-length-3 tokoe:valid" result="pass"/><test-case name="22224NISTXML-SV-II-list-NMTOKEN-length-3-1 tokoe:invalid" result="pass"/><test-case name="22225NISTXML-SV-II-list-NMTOKEN-length-3-2 tokoe:invalid" result="pass"/><test-case name="22226NISTXML-SV-II-list-NMTOKEN-length-3-3 tokoe:invalid" result="pass"/><test-case name="22227NISTXML-SV-II-list-NMTOKEN-length-3-4 tokoe:invalid" result="pass"/><test-case name="22228NISTXML-SV-II-list-NMTOKEN-length-3-5 tokoe:invalid" result="pass"/><test-case name="22229NISTSchema-SV-II-list-NMTOKEN-length-4 tokoe:valid" result="pass"/><test-case name="22230NISTXML-SV-II-list-NMTOKEN-length-4-1 tokoe:invalid" result="pass"/><test-case name="22231NISTXML-SV-II-list-NMTOKEN-length-4-2 tokoe:invalid" result="pass"/><test-case name="22232NISTXML-SV-II-list-NMTOKEN-length-4-3 tokoe:invalid" result="pass"/><test-case name="22233NISTXML-SV-II-list-NMTOKEN-length-4-4 tokoe:invalid" result="pass"/><test-case name="22234NISTXML-SV-II-list-NMTOKEN-length-4-5 tokoe:invalid" result="pass"/><test-case name="22235NISTSchema-SV-II-list-NMTOKEN-length-5 tokoe:valid" result="pass"/><test-case name="22236NISTXML-SV-II-list-NMTOKEN-length-5-1 tokoe:invalid" result="pass"/><test-case name="22237NISTXML-SV-II-list-NMTOKEN-length-5-2 tokoe:invalid" result="pass"/><test-case name="22238NISTXML-SV-II-list-NMTOKEN-length-5-3 tokoe:invalid" result="pass"/><test-case name="22239NISTXML-SV-II-list-NMTOKEN-length-5-4 tokoe:invalid" result="pass"/><test-case name="22240NISTXML-SV-II-list-NMTOKEN-length-5-5 tokoe:invalid" result="pass"/><test-case name="22241NISTSchema-SV-II-list-NMTOKENS-maxLength-1 tokoe:valid" result="pass"/><test-case name="22242NISTXML-SV-II-list-NMTOKENS-maxLength-1-1 tokoe:invalid" result="pass"/><test-case name="22243NISTXML-SV-II-list-NMTOKENS-maxLength-1-2 tokoe:invalid" result="pass"/><test-case name="22244NISTXML-SV-II-list-NMTOKENS-maxLength-1-3 tokoe:invalid" result="pass"/><test-case name="22245NISTXML-SV-II-list-NMTOKENS-maxLength-1-4 tokoe:invalid" result="pass"/><test-case name="22246NISTXML-SV-II-list-NMTOKENS-maxLength-1-5 tokoe:invalid" result="pass"/><test-case name="22247NISTSchema-SV-II-list-NMTOKENS-maxLength-2 tokoe:valid" result="pass"/><test-case name="22248NISTXML-SV-II-list-NMTOKENS-maxLength-2-1 tokoe:invalid" result="pass"/><test-case name="22249NISTXML-SV-II-list-NMTOKENS-maxLength-2-2 tokoe:invalid" result="pass"/><test-case name="22250NISTXML-SV-II-list-NMTOKENS-maxLength-2-3 tokoe:invalid" result="pass"/><test-case name="22251NISTXML-SV-II-list-NMTOKENS-maxLength-2-4 tokoe:invalid" result="pass"/><test-case name="22252NISTXML-SV-II-list-NMTOKENS-maxLength-2-5 tokoe:invalid" result="pass"/><test-case name="22253NISTSchema-SV-II-list-NMTOKENS-maxLength-3 tokoe:valid" result="pass"/><test-case name="22254NISTXML-SV-II-list-NMTOKENS-maxLength-3-1 tokoe:invalid" result="pass"/><test-case name="22255NISTXML-SV-II-list-NMTOKENS-maxLength-3-2 tokoe:invalid" result="pass"/><test-case name="22256NISTXML-SV-II-list-NMTOKENS-maxLength-3-3 tokoe:invalid" result="pass"/><test-case name="22257NISTXML-SV-II-list-NMTOKENS-maxLength-3-4 tokoe:invalid" result="pass"/><test-case name="22258NISTXML-SV-II-list-NMTOKENS-maxLength-3-5 tokoe:invalid" result="pass"/><test-case name="22259NISTSchema-SV-II-list-NMTOKENS-maxLength-4 tokoe:valid" result="pass"/><test-case name="22260NISTXML-SV-II-list-NMTOKENS-maxLength-4-1 tokoe:invalid" result="pass"/><test-case name="22261NISTXML-SV-II-list-NMTOKENS-maxLength-4-2 tokoe:invalid" result="pass"/><test-case name="22262NISTXML-SV-II-list-NMTOKENS-maxLength-4-3 tokoe:invalid" result="pass"/><test-case name="22263NISTXML-SV-II-list-NMTOKENS-maxLength-4-4 tokoe:invalid" result="pass"/><test-case name="22264NISTXML-SV-II-list-NMTOKENS-maxLength-4-5 tokoe:invalid" result="pass"/><test-case name="22265NISTSchema-SV-II-list-NMTOKENS-maxLength-5 tokoe:valid" result="pass"/><test-case name="22266NISTXML-SV-II-list-NMTOKENS-maxLength-5-1 tokoe:invalid" result="pass"/><test-case name="22267NISTXML-SV-II-list-NMTOKENS-maxLength-5-2 tokoe:invalid" result="pass"/><test-case name="22268NISTXML-SV-II-list-NMTOKENS-maxLength-5-3 tokoe:invalid" result="pass"/><test-case name="22269NISTXML-SV-II-list-NMTOKENS-maxLength-5-4 tokoe:invalid" result="pass"/><test-case name="22270NISTXML-SV-II-list-NMTOKENS-maxLength-5-5 tokoe:invalid" result="pass"/><test-case name="22271NISTSchema-SV-II-list-NMTOKENS-minLength-1 tokoe:valid" result="pass"/><test-case name="22272NISTXML-SV-II-list-NMTOKENS-minLength-1-1 tokoe:invalid" result="pass"/><test-case name="22273NISTXML-SV-II-list-NMTOKENS-minLength-1-2 tokoe:invalid" result="pass"/><test-case name="22274NISTXML-SV-II-list-NMTOKENS-minLength-1-3 tokoe:invalid" result="pass"/><test-case name="22275NISTXML-SV-II-list-NMTOKENS-minLength-1-4 tokoe:invalid" result="pass"/><test-case name="22276NISTXML-SV-II-list-NMTOKENS-minLength-1-5 tokoe:invalid" result="pass"/><test-case name="22277NISTSchema-SV-II-list-NMTOKENS-minLength-2 tokoe:valid" result="pass"/><test-case name="22278NISTXML-SV-II-list-NMTOKENS-minLength-2-1 tokoe:invalid" result="pass"/><test-case name="22279NISTXML-SV-II-list-NMTOKENS-minLength-2-2 tokoe:invalid" result="pass"/><test-case name="22280NISTXML-SV-II-list-NMTOKENS-minLength-2-3 tokoe:invalid" result="pass"/><test-case name="22281NISTXML-SV-II-list-NMTOKENS-minLength-2-4 tokoe:invalid" result="pass"/><test-case name="22282NISTXML-SV-II-list-NMTOKENS-minLength-2-5 tokoe:invalid" result="pass"/><test-case name="22283NISTSchema-SV-II-list-NMTOKENS-minLength-3 tokoe:valid" result="pass"/><test-case name="22284NISTXML-SV-II-list-NMTOKENS-minLength-3-1 tokoe:invalid" result="pass"/><test-case name="22285NISTXML-SV-II-list-NMTOKENS-minLength-3-2 tokoe:invalid" result="pass"/><test-case name="22286NISTXML-SV-II-list-NMTOKENS-minLength-3-3 tokoe:invalid" result="pass"/><test-case name="22287NISTXML-SV-II-list-NMTOKENS-minLength-3-4 tokoe:invalid" result="pass"/><test-case name="22288NISTXML-SV-II-list-NMTOKENS-minLength-3-5 tokoe:invalid" result="pass"/><test-case name="22289NISTSchema-SV-II-list-NMTOKENS-minLength-4 tokoe:valid" result="pass"/><test-case name="22290NISTXML-SV-II-list-NMTOKENS-minLength-4-1 tokoe:invalid" result="pass"/><test-case name="22291NISTXML-SV-II-list-NMTOKENS-minLength-4-2 tokoe:invalid" result="pass"/><test-case name="22292NISTXML-SV-II-list-NMTOKENS-minLength-4-3 tokoe:invalid" result="pass"/><test-case name="22293NISTXML-SV-II-list-NMTOKENS-minLength-4-4 tokoe:invalid" result="pass"/><test-case name="22294NISTXML-SV-II-list-NMTOKENS-minLength-4-5 tokoe:invalid" result="pass"/><test-case name="22295NISTSchema-SV-II-list-NMTOKENS-minLength-5 tokoe:valid" result="pass"/><test-case name="22296NISTXML-SV-II-list-NMTOKENS-minLength-5-1 tokoe:invalid" result="pass"/><test-case name="22297NISTXML-SV-II-list-NMTOKENS-minLength-5-2 tokoe:invalid" result="pass"/><test-case name="22298NISTXML-SV-II-list-NMTOKENS-minLength-5-3 tokoe:invalid" result="pass"/><test-case name="22299NISTXML-SV-II-list-NMTOKENS-minLength-5-4 tokoe:invalid" result="pass"/><test-case name="22300NISTXML-SV-II-list-NMTOKENS-minLength-5-5 tokoe:invalid" result="pass"/><test-case name="22301NISTSchema-SV-II-list-NMTOKENS-length-1 tokoe:valid" result="pass"/><test-case name="22302NISTXML-SV-II-list-NMTOKENS-length-1-1 tokoe:invalid" result="pass"/><test-case name="22303NISTXML-SV-II-list-NMTOKENS-length-1-2 tokoe:invalid" result="pass"/><test-case name="22304NISTXML-SV-II-list-NMTOKENS-length-1-3 tokoe:invalid" result="pass"/><test-case name="22305NISTXML-SV-II-list-NMTOKENS-length-1-4 tokoe:invalid" result="pass"/><test-case name="22306NISTXML-SV-II-list-NMTOKENS-length-1-5 tokoe:invalid" result="pass"/><test-case name="22307NISTSchema-SV-II-list-NMTOKENS-length-2 tokoe:valid" result="pass"/><test-case name="22308NISTXML-SV-II-list-NMTOKENS-length-2-1 tokoe:invalid" result="pass"/><test-case name="22309NISTXML-SV-II-list-NMTOKENS-length-2-2 tokoe:invalid" result="pass"/><test-case name="22310NISTXML-SV-II-list-NMTOKENS-length-2-3 tokoe:invalid" result="pass"/><test-case name="22311NISTXML-SV-II-list-NMTOKENS-length-2-4 tokoe:invalid" result="pass"/><test-case name="22312NISTXML-SV-II-list-NMTOKENS-length-2-5 tokoe:invalid" result="pass"/><test-case name="22313NISTSchema-SV-II-list-NMTOKENS-length-3 tokoe:valid" result="pass"/><test-case name="22314NISTXML-SV-II-list-NMTOKENS-length-3-1 tokoe:invalid" result="pass"/><test-case name="22315NISTXML-SV-II-list-NMTOKENS-length-3-2 tokoe:invalid" result="pass"/><test-case name="22316NISTXML-SV-II-list-NMTOKENS-length-3-3 tokoe:invalid" result="pass"/><test-case name="22317NISTXML-SV-II-list-NMTOKENS-length-3-4 tokoe:invalid" result="pass"/><test-case name="22318NISTXML-SV-II-list-NMTOKENS-length-3-5 tokoe:invalid" result="pass"/><test-case name="22319NISTSchema-SV-II-list-NMTOKENS-length-4 tokoe:valid" result="pass"/><test-case name="22320NISTXML-SV-II-list-NMTOKENS-length-4-1 tokoe:invalid" result="pass"/><test-case name="22321NISTXML-SV-II-list-NMTOKENS-length-4-2 tokoe:invalid" result="pass"/><test-case name="22322NISTXML-SV-II-list-NMTOKENS-length-4-3 tokoe:invalid" result="pass"/><test-case name="22323NISTXML-SV-II-list-NMTOKENS-length-4-4 tokoe:invalid" result="pass"/><test-case name="22324NISTXML-SV-II-list-NMTOKENS-length-4-5 tokoe:invalid" result="pass"/><test-case name="22325NISTSchema-SV-II-list-NMTOKENS-length-5 tokoe:valid" result="pass"/><test-case name="22326NISTXML-SV-II-list-NMTOKENS-length-5-1 tokoe:invalid" result="pass"/><test-case name="22327NISTXML-SV-II-list-NMTOKENS-length-5-2 tokoe:invalid" result="pass"/><test-case name="22328NISTXML-SV-II-list-NMTOKENS-length-5-3 tokoe:invalid" result="pass"/><test-case name="22329NISTXML-SV-II-list-NMTOKENS-length-5-4 tokoe:invalid" result="pass"/><test-case name="22330NISTXML-SV-II-list-NMTOKENS-length-5-5 tokoe:invalid" result="pass"/><test-case name="22331NISTSchema-SV-II-list-NCName-maxLength-1 tokoe:valid" result="pass"/><test-case name="22332NISTXML-SV-II-list-NCName-maxLength-1-1 tokoe:invalid" result="pass"/><test-case name="22333NISTXML-SV-II-list-NCName-maxLength-1-2 tokoe:invalid" result="pass"/><test-case name="22334NISTXML-SV-II-list-NCName-maxLength-1-3 tokoe:invalid" result="pass"/><test-case name="22335NISTXML-SV-II-list-NCName-maxLength-1-4 tokoe:invalid" result="pass"/><test-case name="22336NISTXML-SV-II-list-NCName-maxLength-1-5 tokoe:invalid" result="pass"/><test-case name="22337NISTSchema-SV-II-list-NCName-maxLength-2 tokoe:valid" result="pass"/><test-case name="22338NISTXML-SV-II-list-NCName-maxLength-2-1 tokoe:invalid" result="pass"/><test-case name="22339NISTXML-SV-II-list-NCName-maxLength-2-2 tokoe:invalid" result="pass"/><test-case name="22340NISTXML-SV-II-list-NCName-maxLength-2-3 tokoe:invalid" result="pass"/><test-case name="22341NISTXML-SV-II-list-NCName-maxLength-2-4 tokoe:invalid" result="pass"/><test-case name="22342NISTXML-SV-II-list-NCName-maxLength-2-5 tokoe:invalid" result="pass"/><test-case name="22343NISTSchema-SV-II-list-NCName-maxLength-3 tokoe:valid" result="pass"/><test-case name="22344NISTXML-SV-II-list-NCName-maxLength-3-1 tokoe:invalid" result="pass"/><test-case name="22345NISTXML-SV-II-list-NCName-maxLength-3-2 tokoe:invalid" result="pass"/><test-case name="22346NISTXML-SV-II-list-NCName-maxLength-3-3 tokoe:invalid" result="pass"/><test-case name="22347NISTXML-SV-II-list-NCName-maxLength-3-4 tokoe:invalid" result="pass"/><test-case name="22348NISTXML-SV-II-list-NCName-maxLength-3-5 tokoe:invalid" result="pass"/><test-case name="22349NISTSchema-SV-II-list-NCName-maxLength-4 tokoe:valid" result="pass"/><test-case name="22350NISTXML-SV-II-list-NCName-maxLength-4-1 tokoe:invalid" result="pass"/><test-case name="22351NISTXML-SV-II-list-NCName-maxLength-4-2 tokoe:invalid" result="pass"/><test-case name="22352NISTXML-SV-II-list-NCName-maxLength-4-3 tokoe:invalid" result="pass"/><test-case name="22353NISTXML-SV-II-list-NCName-maxLength-4-4 tokoe:invalid" result="pass"/><test-case name="22354NISTXML-SV-II-list-NCName-maxLength-4-5 tokoe:invalid" result="pass"/><test-case name="22355NISTSchema-SV-II-list-NCName-maxLength-5 tokoe:valid" result="pass"/><test-case name="22356NISTXML-SV-II-list-NCName-maxLength-5-1 tokoe:invalid" result="pass"/><test-case name="22357NISTXML-SV-II-list-NCName-maxLength-5-2 tokoe:invalid" result="pass"/><test-case name="22358NISTXML-SV-II-list-NCName-maxLength-5-3 tokoe:invalid" result="pass"/><test-case name="22359NISTXML-SV-II-list-NCName-maxLength-5-4 tokoe:invalid" result="pass"/><test-case name="22360NISTXML-SV-II-list-NCName-maxLength-5-5 tokoe:invalid" result="pass"/><test-case name="22361NISTSchema-SV-II-list-NCName-minLength-1 tokoe:valid" result="pass"/><test-case name="22362NISTXML-SV-II-list-NCName-minLength-1-1 tokoe:invalid" result="pass"/><test-case name="22363NISTXML-SV-II-list-NCName-minLength-1-2 tokoe:invalid" result="pass"/><test-case name="22364NISTXML-SV-II-list-NCName-minLength-1-3 tokoe:invalid" result="pass"/><test-case name="22365NISTXML-SV-II-list-NCName-minLength-1-4 tokoe:invalid" result="pass"/><test-case name="22366NISTXML-SV-II-list-NCName-minLength-1-5 tokoe:invalid" result="pass"/><test-case name="22367NISTSchema-SV-II-list-NCName-minLength-2 tokoe:valid" result="pass"/><test-case name="22368NISTXML-SV-II-list-NCName-minLength-2-1 tokoe:invalid" result="pass"/><test-case name="22369NISTXML-SV-II-list-NCName-minLength-2-2 tokoe:invalid" result="pass"/><test-case name="22370NISTXML-SV-II-list-NCName-minLength-2-3 tokoe:invalid" result="pass"/><test-case name="22371NISTXML-SV-II-list-NCName-minLength-2-4 tokoe:invalid" result="pass"/><test-case name="22372NISTXML-SV-II-list-NCName-minLength-2-5 tokoe:invalid" result="pass"/><test-case name="22373NISTSchema-SV-II-list-NCName-minLength-3 tokoe:valid" result="pass"/><test-case name="22374NISTXML-SV-II-list-NCName-minLength-3-1 tokoe:invalid" result="pass"/><test-case name="22375NISTXML-SV-II-list-NCName-minLength-3-2 tokoe:invalid" result="pass"/><test-case name="22376NISTXML-SV-II-list-NCName-minLength-3-3 tokoe:invalid" result="pass"/><test-case name="22377NISTXML-SV-II-list-NCName-minLength-3-4 tokoe:invalid" result="pass"/><test-case name="22378NISTXML-SV-II-list-NCName-minLength-3-5 tokoe:invalid" result="pass"/><test-case name="22379NISTSchema-SV-II-list-NCName-minLength-4 tokoe:valid" result="pass"/><test-case name="22380NISTXML-SV-II-list-NCName-minLength-4-1 tokoe:invalid" result="pass"/><test-case name="22381NISTXML-SV-II-list-NCName-minLength-4-2 tokoe:invalid" result="pass"/><test-case name="22382NISTXML-SV-II-list-NCName-minLength-4-3 tokoe:invalid" result="pass"/><test-case name="22383NISTXML-SV-II-list-NCName-minLength-4-4 tokoe:invalid" result="pass"/><test-case name="22384NISTXML-SV-II-list-NCName-minLength-4-5 tokoe:invalid" result="pass"/><test-case name="22385NISTSchema-SV-II-list-NCName-minLength-5 tokoe:valid" result="pass"/><test-case name="22386NISTXML-SV-II-list-NCName-minLength-5-1 tokoe:invalid" result="pass"/><test-case name="22387NISTXML-SV-II-list-NCName-minLength-5-2 tokoe:invalid" result="pass"/><test-case name="22388NISTXML-SV-II-list-NCName-minLength-5-3 tokoe:invalid" result="pass"/><test-case name="22389NISTXML-SV-II-list-NCName-minLength-5-4 tokoe:invalid" result="pass"/><test-case name="22390NISTXML-SV-II-list-NCName-minLength-5-5 tokoe:invalid" result="pass"/><test-case name="22391NISTSchema-SV-II-list-NCName-length-1 tokoe:valid" result="pass"/><test-case name="22392NISTXML-SV-II-list-NCName-length-1-1 tokoe:invalid" result="pass"/><test-case name="22393NISTXML-SV-II-list-NCName-length-1-2 tokoe:invalid" result="pass"/><test-case name="22394NISTXML-SV-II-list-NCName-length-1-3 tokoe:invalid" result="pass"/><test-case name="22395NISTXML-SV-II-list-NCName-length-1-4 tokoe:invalid" result="pass"/><test-case name="22396NISTXML-SV-II-list-NCName-length-1-5 tokoe:invalid" result="pass"/><test-case name="22397NISTSchema-SV-II-list-NCName-length-2 tokoe:valid" result="pass"/><test-case name="22398NISTXML-SV-II-list-NCName-length-2-1 tokoe:invalid" result="pass"/><test-case name="22399NISTXML-SV-II-list-NCName-length-2-2 tokoe:invalid" result="pass"/><test-case name="22400NISTXML-SV-II-list-NCName-length-2-3 tokoe:invalid" result="pass"/><test-case name="22401NISTXML-SV-II-list-NCName-length-2-4 tokoe:invalid" result="pass"/><test-case name="22402NISTXML-SV-II-list-NCName-length-2-5 tokoe:invalid" result="pass"/><test-case name="22403NISTSchema-SV-II-list-NCName-length-3 tokoe:valid" result="pass"/><test-case name="22404NISTXML-SV-II-list-NCName-length-3-1 tokoe:invalid" result="pass"/><test-case name="22405NISTXML-SV-II-list-NCName-length-3-2 tokoe:invalid" result="pass"/><test-case name="22406NISTXML-SV-II-list-NCName-length-3-3 tokoe:invalid" result="pass"/><test-case name="22407NISTXML-SV-II-list-NCName-length-3-4 tokoe:invalid" result="pass"/><test-case name="22408NISTXML-SV-II-list-NCName-length-3-5 tokoe:invalid" result="pass"/><test-case name="22409NISTSchema-SV-II-list-NCName-length-4 tokoe:valid" result="pass"/><test-case name="22410NISTXML-SV-II-list-NCName-length-4-1 tokoe:invalid" result="pass"/><test-case name="22411NISTXML-SV-II-list-NCName-length-4-2 tokoe:invalid" result="pass"/><test-case name="22412NISTXML-SV-II-list-NCName-length-4-3 tokoe:invalid" result="pass"/><test-case name="22413NISTXML-SV-II-list-NCName-length-4-4 tokoe:invalid" result="pass"/><test-case name="22414NISTXML-SV-II-list-NCName-length-4-5 tokoe:invalid" result="pass"/><test-case name="22415NISTSchema-SV-II-list-NCName-length-5 tokoe:valid" result="pass"/><test-case name="22416NISTXML-SV-II-list-NCName-length-5-1 tokoe:invalid" result="pass"/><test-case name="22417NISTXML-SV-II-list-NCName-length-5-2 tokoe:invalid" result="pass"/><test-case name="22418NISTXML-SV-II-list-NCName-length-5-3 tokoe:invalid" result="pass"/><test-case name="22419NISTXML-SV-II-list-NCName-length-5-4 tokoe:invalid" result="pass"/><test-case name="22420NISTXML-SV-II-list-NCName-length-5-5 tokoe:invalid" result="pass"/><test-case name="22421NISTSchema-SV-II-list-ID-maxLength-1 tokoe:valid" result="pass"/><test-case name="22422NISTXML-SV-II-list-ID-maxLength-1-1 tokoe:invalid" result="pass"/><test-case name="22423NISTXML-SV-II-list-ID-maxLength-1-2 tokoe:invalid" result="pass"/><test-case name="22424NISTXML-SV-II-list-ID-maxLength-1-3 tokoe:invalid" result="pass"/><test-case name="22425NISTXML-SV-II-list-ID-maxLength-1-4 tokoe:invalid" result="pass"/><test-case name="22426NISTXML-SV-II-list-ID-maxLength-1-5 tokoe:invalid" result="pass"/><test-case name="22427NISTSchema-SV-II-list-ID-maxLength-2 tokoe:valid" result="pass"/><test-case name="22428NISTXML-SV-II-list-ID-maxLength-2-1 tokoe:invalid" result="pass"/><test-case name="22429NISTXML-SV-II-list-ID-maxLength-2-2 tokoe:invalid" result="pass"/><test-case name="22430NISTXML-SV-II-list-ID-maxLength-2-3 tokoe:invalid" result="pass"/><test-case name="22431NISTXML-SV-II-list-ID-maxLength-2-4 tokoe:invalid" result="pass"/><test-case name="22432NISTXML-SV-II-list-ID-maxLength-2-5 tokoe:invalid" result="pass"/><test-case name="22433NISTSchema-SV-II-list-ID-maxLength-3 tokoe:valid" result="pass"/><test-case name="22434NISTXML-SV-II-list-ID-maxLength-3-1 tokoe:invalid" result="pass"/><test-case name="22435NISTXML-SV-II-list-ID-maxLength-3-2 tokoe:invalid" result="pass"/><test-case name="22436NISTXML-SV-II-list-ID-maxLength-3-3 tokoe:invalid" result="pass"/><test-case name="22437NISTXML-SV-II-list-ID-maxLength-3-4 tokoe:invalid" result="pass"/><test-case name="22438NISTXML-SV-II-list-ID-maxLength-3-5 tokoe:invalid" result="pass"/><test-case name="22439NISTSchema-SV-II-list-ID-maxLength-4 tokoe:valid" result="pass"/><test-case name="22440NISTXML-SV-II-list-ID-maxLength-4-1 tokoe:invalid" result="pass"/><test-case name="22441NISTXML-SV-II-list-ID-maxLength-4-2 tokoe:invalid" result="pass"/><test-case name="22442NISTXML-SV-II-list-ID-maxLength-4-3 tokoe:invalid" result="pass"/><test-case name="22443NISTXML-SV-II-list-ID-maxLength-4-4 tokoe:invalid" result="pass"/><test-case name="22444NISTXML-SV-II-list-ID-maxLength-4-5 tokoe:invalid" result="pass"/><test-case name="22445NISTSchema-SV-II-list-ID-maxLength-5 tokoe:valid" result="pass"/><test-case name="22446NISTXML-SV-II-list-ID-maxLength-5-1 tokoe:invalid" result="pass"/><test-case name="22447NISTXML-SV-II-list-ID-maxLength-5-2 tokoe:invalid" result="pass"/><test-case name="22448NISTXML-SV-II-list-ID-maxLength-5-3 tokoe:invalid" result="pass"/><test-case name="22449NISTXML-SV-II-list-ID-maxLength-5-4 tokoe:invalid" result="pass"/><test-case name="22450NISTXML-SV-II-list-ID-maxLength-5-5 tokoe:invalid" result="pass"/><test-case name="22451NISTSchema-SV-II-list-ID-minLength-1 tokoe:valid" result="pass"/><test-case name="22452NISTXML-SV-II-list-ID-minLength-1-1 tokoe:invalid" result="pass"/><test-case name="22453NISTXML-SV-II-list-ID-minLength-1-2 tokoe:invalid" result="pass"/><test-case name="22454NISTXML-SV-II-list-ID-minLength-1-3 tokoe:invalid" result="pass"/><test-case name="22455NISTXML-SV-II-list-ID-minLength-1-4 tokoe:invalid" result="pass"/><test-case name="22456NISTXML-SV-II-list-ID-minLength-1-5 tokoe:invalid" result="pass"/><test-case name="22457NISTSchema-SV-II-list-ID-minLength-2 tokoe:valid" result="pass"/><test-case name="22458NISTXML-SV-II-list-ID-minLength-2-1 tokoe:invalid" result="pass"/><test-case name="22459NISTXML-SV-II-list-ID-minLength-2-2 tokoe:invalid" result="pass"/><test-case name="22460NISTXML-SV-II-list-ID-minLength-2-3 tokoe:invalid" result="pass"/><test-case name="22461NISTXML-SV-II-list-ID-minLength-2-4 tokoe:invalid" result="pass"/><test-case name="22462NISTXML-SV-II-list-ID-minLength-2-5 tokoe:invalid" result="pass"/><test-case name="22463NISTSchema-SV-II-list-ID-minLength-3 tokoe:valid" result="pass"/><test-case name="22464NISTXML-SV-II-list-ID-minLength-3-1 tokoe:invalid" result="pass"/><test-case name="22465NISTXML-SV-II-list-ID-minLength-3-2 tokoe:invalid" result="pass"/><test-case name="22466NISTXML-SV-II-list-ID-minLength-3-3 tokoe:invalid" result="pass"/><test-case name="22467NISTXML-SV-II-list-ID-minLength-3-4 tokoe:invalid" result="pass"/><test-case name="22468NISTXML-SV-II-list-ID-minLength-3-5 tokoe:invalid" result="pass"/><test-case name="22469NISTSchema-SV-II-list-ID-minLength-4 tokoe:valid" result="pass"/><test-case name="22470NISTXML-SV-II-list-ID-minLength-4-1 tokoe:invalid" result="pass"/><test-case name="22471NISTXML-SV-II-list-ID-minLength-4-2 tokoe:invalid" result="pass"/><test-case name="22472NISTXML-SV-II-list-ID-minLength-4-3 tokoe:invalid" result="pass"/><test-case name="22473NISTXML-SV-II-list-ID-minLength-4-4 tokoe:invalid" result="pass"/><test-case name="22474NISTXML-SV-II-list-ID-minLength-4-5 tokoe:invalid" result="pass"/><test-case name="22475NISTSchema-SV-II-list-ID-minLength-5 tokoe:valid" result="pass"/><test-case name="22476NISTXML-SV-II-list-ID-minLength-5-1 tokoe:invalid" result="pass"/><test-case name="22477NISTXML-SV-II-list-ID-minLength-5-2 tokoe:invalid" result="pass"/><test-case name="22478NISTXML-SV-II-list-ID-minLength-5-3 tokoe:invalid" result="pass"/><test-case name="22479NISTXML-SV-II-list-ID-minLength-5-4 tokoe:invalid" result="pass"/><test-case name="22480NISTXML-SV-II-list-ID-minLength-5-5 tokoe:invalid" result="pass"/><test-case name="22481NISTSchema-SV-II-list-ID-length-1 tokoe:valid" result="pass"/><test-case name="22482NISTXML-SV-II-list-ID-length-1-1 tokoe:invalid" result="pass"/><test-case name="22483NISTXML-SV-II-list-ID-length-1-2 tokoe:invalid" result="pass"/><test-case name="22484NISTXML-SV-II-list-ID-length-1-3 tokoe:invalid" result="pass"/><test-case name="22485NISTXML-SV-II-list-ID-length-1-4 tokoe:invalid" result="pass"/><test-case name="22486NISTXML-SV-II-list-ID-length-1-5 tokoe:invalid" result="pass"/><test-case name="22487NISTSchema-SV-II-list-ID-length-2 tokoe:valid" result="pass"/><test-case name="22488NISTXML-SV-II-list-ID-length-2-1 tokoe:invalid" result="pass"/><test-case name="22489NISTXML-SV-II-list-ID-length-2-2 tokoe:invalid" result="pass"/><test-case name="22490NISTXML-SV-II-list-ID-length-2-3 tokoe:invalid" result="pass"/><test-case name="22491NISTXML-SV-II-list-ID-length-2-4 tokoe:invalid" result="pass"/><test-case name="22492NISTXML-SV-II-list-ID-length-2-5 tokoe:invalid" result="pass"/><test-case name="22493NISTSchema-SV-II-list-ID-length-3 tokoe:valid" result="pass"/><test-case name="22494NISTXML-SV-II-list-ID-length-3-1 tokoe:invalid" result="pass"/><test-case name="22495NISTXML-SV-II-list-ID-length-3-2 tokoe:invalid" result="pass"/><test-case name="22496NISTXML-SV-II-list-ID-length-3-3 tokoe:invalid" result="pass"/><test-case name="22497NISTXML-SV-II-list-ID-length-3-4 tokoe:invalid" result="pass"/><test-case name="22498NISTXML-SV-II-list-ID-length-3-5 tokoe:invalid" result="pass"/><test-case name="22499NISTSchema-SV-II-list-ID-length-4 tokoe:valid" result="pass"/><test-case name="22500NISTXML-SV-II-list-ID-length-4-1 tokoe:invalid" result="pass"/><test-case name="22501NISTXML-SV-II-list-ID-length-4-2 tokoe:invalid" result="pass"/><test-case name="22502NISTXML-SV-II-list-ID-length-4-3 tokoe:invalid" result="pass"/><test-case name="22503NISTXML-SV-II-list-ID-length-4-4 tokoe:invalid" result="pass"/><test-case name="22504NISTXML-SV-II-list-ID-length-4-5 tokoe:invalid" result="pass"/><test-case name="22505NISTSchema-SV-II-list-ID-length-5 tokoe:valid" result="pass"/><test-case name="22506NISTXML-SV-II-list-ID-length-5-1 tokoe:invalid" result="pass"/><test-case name="22507NISTXML-SV-II-list-ID-length-5-2 tokoe:invalid" result="pass"/><test-case name="22508NISTXML-SV-II-list-ID-length-5-3 tokoe:invalid" result="pass"/><test-case name="22509NISTXML-SV-II-list-ID-length-5-4 tokoe:invalid" result="pass"/><test-case name="22510NISTXML-SV-II-list-ID-length-5-5 tokoe:invalid" result="pass"/><test-case name="22511NISTSchema-SV-II-list-language-maxLength-1 tokoe:valid" result="pass"/><test-case name="22512NISTXML-SV-II-list-language-maxLength-1-1 tokoe:invalid" result="pass"/><test-case name="22513NISTXML-SV-II-list-language-maxLength-1-2 tokoe:invalid" result="pass"/><test-case name="22514NISTXML-SV-II-list-language-maxLength-1-3 tokoe:invalid" result="pass"/><test-case name="22515NISTXML-SV-II-list-language-maxLength-1-4 tokoe:invalid" result="pass"/><test-case name="22516NISTXML-SV-II-list-language-maxLength-1-5 tokoe:invalid" result="pass"/><test-case name="22517NISTSchema-SV-II-list-language-maxLength-2 tokoe:valid" result="pass"/><test-case name="22518NISTXML-SV-II-list-language-maxLength-2-1 tokoe:invalid" result="pass"/><test-case name="22519NISTXML-SV-II-list-language-maxLength-2-2 tokoe:invalid" result="pass"/><test-case name="22520NISTXML-SV-II-list-language-maxLength-2-3 tokoe:invalid" result="pass"/><test-case name="22521NISTXML-SV-II-list-language-maxLength-2-4 tokoe:invalid" result="pass"/><test-case name="22522NISTXML-SV-II-list-language-maxLength-2-5 tokoe:invalid" result="pass"/><test-case name="22523NISTSchema-SV-II-list-language-maxLength-3 tokoe:valid" result="pass"/><test-case name="22524NISTXML-SV-II-list-language-maxLength-3-1 tokoe:invalid" result="pass"/><test-case name="22525NISTXML-SV-II-list-language-maxLength-3-2 tokoe:invalid" result="pass"/><test-case name="22526NISTXML-SV-II-list-language-maxLength-3-3 tokoe:invalid" result="pass"/><test-case name="22527NISTXML-SV-II-list-language-maxLength-3-4 tokoe:invalid" result="pass"/><test-case name="22528NISTXML-SV-II-list-language-maxLength-3-5 tokoe:invalid" result="pass"/><test-case name="22529NISTSchema-SV-II-list-language-maxLength-4 tokoe:valid" result="pass"/><test-case name="22530NISTXML-SV-II-list-language-maxLength-4-1 tokoe:invalid" result="pass"/><test-case name="22531NISTXML-SV-II-list-language-maxLength-4-2 tokoe:invalid" result="pass"/><test-case name="22532NISTXML-SV-II-list-language-maxLength-4-3 tokoe:invalid" result="pass"/><test-case name="22533NISTXML-SV-II-list-language-maxLength-4-4 tokoe:invalid" result="pass"/><test-case name="22534NISTXML-SV-II-list-language-maxLength-4-5 tokoe:invalid" result="pass"/><test-case name="22535NISTSchema-SV-II-list-language-maxLength-5 tokoe:valid" result="pass"/><test-case name="22536NISTXML-SV-II-list-language-maxLength-5-1 tokoe:invalid" result="pass"/><test-case name="22537NISTXML-SV-II-list-language-maxLength-5-2 tokoe:invalid" result="pass"/><test-case name="22538NISTXML-SV-II-list-language-maxLength-5-3 tokoe:invalid" result="pass"/><test-case name="22539NISTXML-SV-II-list-language-maxLength-5-4 tokoe:invalid" result="pass"/><test-case name="22540NISTXML-SV-II-list-language-maxLength-5-5 tokoe:invalid" result="pass"/><test-case name="22541NISTSchema-SV-II-list-language-minLength-1 tokoe:valid" result="pass"/><test-case name="22542NISTXML-SV-II-list-language-minLength-1-1 tokoe:invalid" result="pass"/><test-case name="22543NISTXML-SV-II-list-language-minLength-1-2 tokoe:invalid" result="pass"/><test-case name="22544NISTXML-SV-II-list-language-minLength-1-3 tokoe:invalid" result="pass"/><test-case name="22545NISTXML-SV-II-list-language-minLength-1-4 tokoe:invalid" result="pass"/><test-case name="22546NISTXML-SV-II-list-language-minLength-1-5 tokoe:invalid" result="pass"/><test-case name="22547NISTSchema-SV-II-list-language-minLength-2 tokoe:valid" result="pass"/><test-case name="22548NISTXML-SV-II-list-language-minLength-2-1 tokoe:invalid" result="pass"/><test-case name="22549NISTXML-SV-II-list-language-minLength-2-2 tokoe:invalid" result="pass"/><test-case name="22550NISTXML-SV-II-list-language-minLength-2-3 tokoe:invalid" result="pass"/><test-case name="22551NISTXML-SV-II-list-language-minLength-2-4 tokoe:invalid" result="pass"/><test-case name="22552NISTXML-SV-II-list-language-minLength-2-5 tokoe:invalid" result="pass"/><test-case name="22553NISTSchema-SV-II-list-language-minLength-3 tokoe:valid" result="pass"/><test-case name="22554NISTXML-SV-II-list-language-minLength-3-1 tokoe:invalid" result="pass"/><test-case name="22555NISTXML-SV-II-list-language-minLength-3-2 tokoe:invalid" result="pass"/><test-case name="22556NISTXML-SV-II-list-language-minLength-3-3 tokoe:invalid" result="pass"/><test-case name="22557NISTXML-SV-II-list-language-minLength-3-4 tokoe:invalid" result="pass"/><test-case name="22558NISTXML-SV-II-list-language-minLength-3-5 tokoe:invalid" result="pass"/><test-case name="22559NISTSchema-SV-II-list-language-minLength-4 tokoe:valid" result="pass"/><test-case name="22560NISTXML-SV-II-list-language-minLength-4-1 tokoe:invalid" result="pass"/><test-case name="22561NISTXML-SV-II-list-language-minLength-4-2 tokoe:invalid" result="pass"/><test-case name="22562NISTXML-SV-II-list-language-minLength-4-3 tokoe:invalid" result="pass"/><test-case name="22563NISTXML-SV-II-list-language-minLength-4-4 tokoe:invalid" result="pass"/><test-case name="22564NISTXML-SV-II-list-language-minLength-4-5 tokoe:invalid" result="pass"/><test-case name="22565NISTSchema-SV-II-list-language-minLength-5 tokoe:valid" result="pass"/><test-case name="22566NISTXML-SV-II-list-language-minLength-5-1 tokoe:invalid" result="pass"/><test-case name="22567NISTXML-SV-II-list-language-minLength-5-2 tokoe:invalid" result="pass"/><test-case name="22568NISTXML-SV-II-list-language-minLength-5-3 tokoe:invalid" result="pass"/><test-case name="22569NISTXML-SV-II-list-language-minLength-5-4 tokoe:invalid" result="pass"/><test-case name="22570NISTXML-SV-II-list-language-minLength-5-5 tokoe:invalid" result="pass"/><test-case name="22571NISTSchema-SV-II-list-language-length-1 tokoe:valid" result="pass"/><test-case name="22572NISTXML-SV-II-list-language-length-1-1 tokoe:invalid" result="pass"/><test-case name="22573NISTXML-SV-II-list-language-length-1-2 tokoe:invalid" result="pass"/><test-case name="22574NISTXML-SV-II-list-language-length-1-3 tokoe:invalid" result="pass"/><test-case name="22575NISTXML-SV-II-list-language-length-1-4 tokoe:invalid" result="pass"/><test-case name="22576NISTXML-SV-II-list-language-length-1-5 tokoe:invalid" result="pass"/><test-case name="22577NISTSchema-SV-II-list-language-length-2 tokoe:valid" result="pass"/><test-case name="22578NISTXML-SV-II-list-language-length-2-1 tokoe:invalid" result="pass"/><test-case name="22579NISTXML-SV-II-list-language-length-2-2 tokoe:invalid" result="pass"/><test-case name="22580NISTXML-SV-II-list-language-length-2-3 tokoe:invalid" result="pass"/><test-case name="22581NISTXML-SV-II-list-language-length-2-4 tokoe:invalid" result="pass"/><test-case name="22582NISTXML-SV-II-list-language-length-2-5 tokoe:invalid" result="pass"/><test-case name="22583NISTSchema-SV-II-list-language-length-3 tokoe:valid" result="pass"/><test-case name="22584NISTXML-SV-II-list-language-length-3-1 tokoe:invalid" result="pass"/><test-case name="22585NISTXML-SV-II-list-language-length-3-2 tokoe:invalid" result="pass"/><test-case name="22586NISTXML-SV-II-list-language-length-3-3 tokoe:invalid" result="pass"/><test-case name="22587NISTXML-SV-II-list-language-length-3-4 tokoe:invalid" result="pass"/><test-case name="22588NISTXML-SV-II-list-language-length-3-5 tokoe:invalid" result="pass"/><test-case name="22589NISTSchema-SV-II-list-language-length-4 tokoe:valid" result="pass"/><test-case name="22590NISTXML-SV-II-list-language-length-4-1 tokoe:invalid" result="pass"/><test-case name="22591NISTXML-SV-II-list-language-length-4-2 tokoe:invalid" result="pass"/><test-case name="22592NISTXML-SV-II-list-language-length-4-3 tokoe:invalid" result="pass"/><test-case name="22593NISTXML-SV-II-list-language-length-4-4 tokoe:invalid" result="pass"/><test-case name="22594NISTXML-SV-II-list-language-length-4-5 tokoe:invalid" result="pass"/><test-case name="22595NISTSchema-SV-II-list-language-length-5 tokoe:valid" result="pass"/><test-case name="22596NISTXML-SV-II-list-language-length-5-1 tokoe:invalid" result="pass"/><test-case name="22597NISTXML-SV-II-list-language-length-5-2 tokoe:invalid" result="pass"/><test-case name="22598NISTXML-SV-II-list-language-length-5-3 tokoe:invalid" result="pass"/><test-case name="22599NISTXML-SV-II-list-language-length-5-4 tokoe:invalid" result="pass"/><test-case name="22600NISTXML-SV-II-list-language-length-5-5 tokoe:invalid" result="pass"/><test-case name="22601NISTSchema-SV-II-list-QName-maxLength-1 tokoe:valid" result="pass"/><test-case name="22602NISTXML-SV-II-list-QName-maxLength-1-1 tokoe:invalid" result="pass"/><test-case name="22603NISTXML-SV-II-list-QName-maxLength-1-2 tokoe:invalid" result="pass"/><test-case name="22604NISTXML-SV-II-list-QName-maxLength-1-3 tokoe:invalid" result="pass"/><test-case name="22605NISTXML-SV-II-list-QName-maxLength-1-4 tokoe:invalid" result="pass"/><test-case name="22606NISTXML-SV-II-list-QName-maxLength-1-5 tokoe:invalid" result="pass"/><test-case name="22607NISTSchema-SV-II-list-QName-maxLength-2 tokoe:valid" result="pass"/><test-case name="22608NISTXML-SV-II-list-QName-maxLength-2-1 tokoe:invalid" result="pass"/><test-case name="22609NISTXML-SV-II-list-QName-maxLength-2-2 tokoe:invalid" result="pass"/><test-case name="22610NISTXML-SV-II-list-QName-maxLength-2-3 tokoe:invalid" result="pass"/><test-case name="22611NISTXML-SV-II-list-QName-maxLength-2-4 tokoe:invalid" result="pass"/><test-case name="22612NISTXML-SV-II-list-QName-maxLength-2-5 tokoe:invalid" result="pass"/><test-case name="22613NISTSchema-SV-II-list-QName-maxLength-3 tokoe:valid" result="pass"/><test-case name="22614NISTXML-SV-II-list-QName-maxLength-3-1 tokoe:invalid" result="pass"/><test-case name="22615NISTXML-SV-II-list-QName-maxLength-3-2 tokoe:invalid" result="pass"/><test-case name="22616NISTXML-SV-II-list-QName-maxLength-3-3 tokoe:invalid" result="pass"/><test-case name="22617NISTXML-SV-II-list-QName-maxLength-3-4 tokoe:invalid" result="pass"/><test-case name="22618NISTXML-SV-II-list-QName-maxLength-3-5 tokoe:invalid" result="pass"/><test-case name="22619NISTSchema-SV-II-list-QName-maxLength-4 tokoe:valid" result="pass"/><test-case name="22620NISTXML-SV-II-list-QName-maxLength-4-1 tokoe:invalid" result="pass"/><test-case name="22621NISTXML-SV-II-list-QName-maxLength-4-2 tokoe:invalid" result="pass"/><test-case name="22622NISTXML-SV-II-list-QName-maxLength-4-3 tokoe:invalid" result="pass"/><test-case name="22623NISTXML-SV-II-list-QName-maxLength-4-4 tokoe:invalid" result="pass"/><test-case name="22624NISTXML-SV-II-list-QName-maxLength-4-5 tokoe:invalid" result="pass"/><test-case name="22625NISTSchema-SV-II-list-QName-maxLength-5 tokoe:valid" result="pass"/><test-case name="22626NISTXML-SV-II-list-QName-maxLength-5-1 tokoe:invalid" result="pass"/><test-case name="22627NISTXML-SV-II-list-QName-maxLength-5-2 tokoe:invalid" result="pass"/><test-case name="22628NISTXML-SV-II-list-QName-maxLength-5-3 tokoe:invalid" result="pass"/><test-case name="22629NISTXML-SV-II-list-QName-maxLength-5-4 tokoe:invalid" result="pass"/><test-case name="22630NISTXML-SV-II-list-QName-maxLength-5-5 tokoe:invalid" result="pass"/><test-case name="22631NISTSchema-SV-II-list-QName-minLength-1 tokoe:valid" result="pass"/><test-case name="22632NISTXML-SV-II-list-QName-minLength-1-1 tokoe:invalid" result="pass"/><test-case name="22633NISTXML-SV-II-list-QName-minLength-1-2 tokoe:invalid" result="pass"/><test-case name="22634NISTXML-SV-II-list-QName-minLength-1-3 tokoe:invalid" result="pass"/><test-case name="22635NISTXML-SV-II-list-QName-minLength-1-4 tokoe:invalid" result="pass"/><test-case name="22636NISTXML-SV-II-list-QName-minLength-1-5 tokoe:invalid" result="pass"/><test-case name="22637NISTSchema-SV-II-list-QName-minLength-2 tokoe:valid" result="pass"/><test-case name="22638NISTXML-SV-II-list-QName-minLength-2-1 tokoe:invalid" result="pass"/><test-case name="22639NISTXML-SV-II-list-QName-minLength-2-2 tokoe:invalid" result="pass"/><test-case name="22640NISTXML-SV-II-list-QName-minLength-2-3 tokoe:invalid" result="pass"/><test-case name="22641NISTXML-SV-II-list-QName-minLength-2-4 tokoe:invalid" result="pass"/><test-case name="22642NISTXML-SV-II-list-QName-minLength-2-5 tokoe:invalid" result="pass"/><test-case name="22643NISTSchema-SV-II-list-QName-minLength-3 tokoe:valid" result="pass"/><test-case name="22644NISTXML-SV-II-list-QName-minLength-3-1 tokoe:invalid" result="pass"/><test-case name="22645NISTXML-SV-II-list-QName-minLength-3-2 tokoe:invalid" result="pass"/><test-case name="22646NISTXML-SV-II-list-QName-minLength-3-3 tokoe:invalid" result="pass"/><test-case name="22647NISTXML-SV-II-list-QName-minLength-3-4 tokoe:invalid" result="pass"/><test-case name="22648NISTXML-SV-II-list-QName-minLength-3-5 tokoe:invalid" result="pass"/><test-case name="22649NISTSchema-SV-II-list-QName-minLength-4 tokoe:valid" result="pass"/><test-case name="22650NISTXML-SV-II-list-QName-minLength-4-1 tokoe:invalid" result="pass"/><test-case name="22651NISTXML-SV-II-list-QName-minLength-4-2 tokoe:invalid" result="pass"/><test-case name="22652NISTXML-SV-II-list-QName-minLength-4-3 tokoe:invalid" result="pass"/><test-case name="22653NISTXML-SV-II-list-QName-minLength-4-4 tokoe:invalid" result="pass"/><test-case name="22654NISTXML-SV-II-list-QName-minLength-4-5 tokoe:invalid" result="pass"/><test-case name="22655NISTSchema-SV-II-list-QName-minLength-5 tokoe:valid" result="pass"/><test-case name="22656NISTXML-SV-II-list-QName-minLength-5-1 tokoe:invalid" result="pass"/><test-case name="22657NISTXML-SV-II-list-QName-minLength-5-2 tokoe:invalid" result="pass"/><test-case name="22658NISTXML-SV-II-list-QName-minLength-5-3 tokoe:invalid" result="pass"/><test-case name="22659NISTXML-SV-II-list-QName-minLength-5-4 tokoe:invalid" result="pass"/><test-case name="22660NISTXML-SV-II-list-QName-minLength-5-5 tokoe:invalid" result="pass"/><test-case name="22661NISTSchema-SV-II-list-QName-length-1 tokoe:valid" result="pass"/><test-case name="22662NISTXML-SV-II-list-QName-length-1-1 tokoe:invalid" result="pass"/><test-case name="22663NISTXML-SV-II-list-QName-length-1-2 tokoe:invalid" result="pass"/><test-case name="22664NISTXML-SV-II-list-QName-length-1-3 tokoe:invalid" result="pass"/><test-case name="22665NISTXML-SV-II-list-QName-length-1-4 tokoe:invalid" result="pass"/><test-case name="22666NISTXML-SV-II-list-QName-length-1-5 tokoe:invalid" result="pass"/><test-case name="22667NISTSchema-SV-II-list-QName-length-2 tokoe:valid" result="pass"/><test-case name="22668NISTXML-SV-II-list-QName-length-2-1 tokoe:invalid" result="pass"/><test-case name="22669NISTXML-SV-II-list-QName-length-2-2 tokoe:invalid" result="pass"/><test-case name="22670NISTXML-SV-II-list-QName-length-2-3 tokoe:invalid" result="pass"/><test-case name="22671NISTXML-SV-II-list-QName-length-2-4 tokoe:invalid" result="pass"/><test-case name="22672NISTXML-SV-II-list-QName-length-2-5 tokoe:invalid" result="pass"/><test-case name="22673NISTSchema-SV-II-list-QName-length-3 tokoe:valid" result="pass"/><test-case name="22674NISTXML-SV-II-list-QName-length-3-1 tokoe:invalid" result="pass"/><test-case name="22675NISTXML-SV-II-list-QName-length-3-2 tokoe:invalid" result="pass"/><test-case name="22676NISTXML-SV-II-list-QName-length-3-3 tokoe:invalid" result="pass"/><test-case name="22677NISTXML-SV-II-list-QName-length-3-4 tokoe:invalid" result="pass"/><test-case name="22678NISTXML-SV-II-list-QName-length-3-5 tokoe:invalid" result="pass"/><test-case name="22679NISTSchema-SV-II-list-QName-length-4 tokoe:valid" result="pass"/><test-case name="22680NISTXML-SV-II-list-QName-length-4-1 tokoe:invalid" result="pass"/><test-case name="22681NISTXML-SV-II-list-QName-length-4-2 tokoe:invalid" result="pass"/><test-case name="22682NISTXML-SV-II-list-QName-length-4-3 tokoe:invalid" result="pass"/><test-case name="22683NISTXML-SV-II-list-QName-length-4-4 tokoe:invalid" result="pass"/><test-case name="22684NISTXML-SV-II-list-QName-length-4-5 tokoe:invalid" result="pass"/><test-case name="22685NISTSchema-SV-II-list-QName-length-5 tokoe:valid" result="pass"/><test-case name="22686NISTXML-SV-II-list-QName-length-5-1 tokoe:invalid" result="pass"/><test-case name="22687NISTXML-SV-II-list-QName-length-5-2 tokoe:invalid" result="pass"/><test-case name="22688NISTXML-SV-II-list-QName-length-5-3 tokoe:invalid" result="pass"/><test-case name="22689NISTXML-SV-II-list-QName-length-5-4 tokoe:invalid" result="pass"/><test-case name="22690NISTXML-SV-II-list-QName-length-5-5 tokoe:invalid" result="pass"/><test-case name="22691NISTSchema-SV-IV-union-duration-decimal-pattern-1 tokoe:valid" result="pass"/><test-case name="22692NISTXML-SV-IV-union-duration-decimal-pattern-1-1 tokoe:valid" result="pass"/><test-case name="22693NISTXML-SV-IV-union-duration-decimal-pattern-1-2 tokoe:valid" result="pass"/><test-case name="22694NISTXML-SV-IV-union-duration-decimal-pattern-1-3 tokoe:valid" result="pass"/><test-case name="22695NISTXML-SV-IV-union-duration-decimal-pattern-1-4 tokoe:valid" result="pass"/><test-case name="22696NISTXML-SV-IV-union-duration-decimal-pattern-1-5 tokoe:valid" result="pass"/><test-case name="22697NISTSchema-SV-IV-union-duration-decimal-pattern-2 tokoe:valid" result="pass"/><test-case name="22698NISTXML-SV-IV-union-duration-decimal-pattern-2-1 tokoe:valid" result="pass"/><test-case name="22699NISTXML-SV-IV-union-duration-decimal-pattern-2-2 tokoe:valid" result="pass"/><test-case name="22700NISTXML-SV-IV-union-duration-decimal-pattern-2-3 tokoe:valid" result="pass"/><test-case name="22701NISTXML-SV-IV-union-duration-decimal-pattern-2-4 tokoe:valid" result="pass"/><test-case name="22702NISTXML-SV-IV-union-duration-decimal-pattern-2-5 tokoe:valid" result="pass"/><test-case name="22703NISTSchema-SV-IV-union-duration-decimal-pattern-3 tokoe:valid" result="pass"/><test-case name="22704NISTXML-SV-IV-union-duration-decimal-pattern-3-1 tokoe:valid" result="pass"/><test-case name="22705NISTXML-SV-IV-union-duration-decimal-pattern-3-2 tokoe:valid" result="pass"/><test-case name="22706NISTXML-SV-IV-union-duration-decimal-pattern-3-3 tokoe:valid" result="pass"/><test-case name="22707NISTXML-SV-IV-union-duration-decimal-pattern-3-4 tokoe:valid" result="pass"/><test-case name="22708NISTXML-SV-IV-union-duration-decimal-pattern-3-5 tokoe:valid" result="pass"/><test-case name="22709NISTSchema-SV-IV-union-duration-decimal-pattern-4 tokoe:valid" result="pass"/><test-case name="22710NISTXML-SV-IV-union-duration-decimal-pattern-4-1 tokoe:valid" result="pass"/><test-case name="22711NISTXML-SV-IV-union-duration-decimal-pattern-4-2 tokoe:valid" result="pass"/><test-case name="22712NISTXML-SV-IV-union-duration-decimal-pattern-4-3 tokoe:valid" result="pass"/><test-case name="22713NISTXML-SV-IV-union-duration-decimal-pattern-4-4 tokoe:valid" result="pass"/><test-case name="22714NISTXML-SV-IV-union-duration-decimal-pattern-4-5 tokoe:valid" result="pass"/><test-case name="22715NISTSchema-SV-IV-union-duration-decimal-pattern-5 tokoe:valid" result="pass"/><test-case name="22716NISTXML-SV-IV-union-duration-decimal-pattern-5-1 tokoe:valid" result="pass"/><test-case name="22717NISTXML-SV-IV-union-duration-decimal-pattern-5-2 tokoe:valid" result="pass"/><test-case name="22718NISTXML-SV-IV-union-duration-decimal-pattern-5-3 tokoe:valid" result="pass"/><test-case name="22719NISTXML-SV-IV-union-duration-decimal-pattern-5-4 tokoe:valid" result="pass"/><test-case name="22720NISTXML-SV-IV-union-duration-decimal-pattern-5-5 tokoe:valid" result="pass"/><test-case name="22721NISTSchema-SV-IV-union-duration-decimal-enumeration-1 tokoe:valid" result="pass"/><test-case name="22722NISTXML-SV-IV-union-duration-decimal-enumeration-1-1 tokoe:valid" result="pass"/><test-case name="22723NISTXML-SV-IV-union-duration-decimal-enumeration-1-2 tokoe:valid" result="pass"/><test-case name="22724NISTXML-SV-IV-union-duration-decimal-enumeration-1-3 tokoe:valid" result="pass"/><test-case name="22725NISTXML-SV-IV-union-duration-decimal-enumeration-1-4 tokoe:valid" result="pass"/><test-case name="22726NISTXML-SV-IV-union-duration-decimal-enumeration-1-5 tokoe:valid" result="pass"/><test-case name="22727NISTSchema-SV-IV-union-duration-decimal-enumeration-2 tokoe:valid" result="pass"/><test-case name="22728NISTXML-SV-IV-union-duration-decimal-enumeration-2-1 tokoe:valid" result="pass"/><test-case name="22729NISTXML-SV-IV-union-duration-decimal-enumeration-2-2 tokoe:valid" result="pass"/><test-case name="22730NISTXML-SV-IV-union-duration-decimal-enumeration-2-3 tokoe:valid" result="pass"/><test-case name="22731NISTXML-SV-IV-union-duration-decimal-enumeration-2-4 tokoe:valid" result="pass"/><test-case name="22732NISTXML-SV-IV-union-duration-decimal-enumeration-2-5 tokoe:valid" result="pass"/><test-case name="22733NISTSchema-SV-IV-union-duration-decimal-enumeration-3 tokoe:valid" result="pass"/><test-case name="22734NISTXML-SV-IV-union-duration-decimal-enumeration-3-1 tokoe:valid" result="pass"/><test-case name="22735NISTXML-SV-IV-union-duration-decimal-enumeration-3-2 tokoe:valid" result="pass"/><test-case name="22736NISTXML-SV-IV-union-duration-decimal-enumeration-3-3 tokoe:valid" result="pass"/><test-case name="22737NISTXML-SV-IV-union-duration-decimal-enumeration-3-4 tokoe:valid" result="pass"/><test-case name="22738NISTXML-SV-IV-union-duration-decimal-enumeration-3-5 tokoe:valid" result="pass"/><test-case name="22739NISTSchema-SV-IV-union-duration-decimal-enumeration-4 tokoe:valid" result="pass"/><test-case name="22740NISTXML-SV-IV-union-duration-decimal-enumeration-4-1 tokoe:valid" result="pass"/><test-case name="22741NISTXML-SV-IV-union-duration-decimal-enumeration-4-2 tokoe:valid" result="pass"/><test-case name="22742NISTXML-SV-IV-union-duration-decimal-enumeration-4-3 tokoe:valid" result="pass"/><test-case name="22743NISTXML-SV-IV-union-duration-decimal-enumeration-4-4 tokoe:valid" result="pass"/><test-case name="22744NISTXML-SV-IV-union-duration-decimal-enumeration-4-5 tokoe:valid" result="pass"/><test-case name="22745NISTSchema-SV-IV-union-duration-decimal-enumeration-5 tokoe:valid" result="pass"/><test-case name="22746NISTXML-SV-IV-union-duration-decimal-enumeration-5-1 tokoe:valid" result="pass"/><test-case name="22747NISTXML-SV-IV-union-duration-decimal-enumeration-5-2 tokoe:valid" result="pass"/><test-case name="22748NISTXML-SV-IV-union-duration-decimal-enumeration-5-3 tokoe:valid" result="pass"/><test-case name="22749NISTXML-SV-IV-union-duration-decimal-enumeration-5-4 tokoe:valid" result="pass"/><test-case name="22750NISTXML-SV-IV-union-duration-decimal-enumeration-5-5 tokoe:valid" result="pass"/><test-case name="22751NISTSchema-SV-IV-union-anyURI-float-pattern-1 tokoe:valid" result="pass"/><test-case name="22752NISTXML-SV-IV-union-anyURI-float-pattern-1-1 tokoe:valid" result="pass"/><test-case name="22753NISTXML-SV-IV-union-anyURI-float-pattern-1-2 tokoe:valid" result="pass"/><test-case name="22754NISTXML-SV-IV-union-anyURI-float-pattern-1-3 tokoe:valid" result="pass"/><test-case name="22755NISTXML-SV-IV-union-anyURI-float-pattern-1-4 tokoe:valid" result="pass"/><test-case name="22756NISTXML-SV-IV-union-anyURI-float-pattern-1-5 tokoe:valid" result="pass"/><test-case name="22757NISTSchema-SV-IV-union-anyURI-float-pattern-2 tokoe:valid" result="pass"/><test-case name="22758NISTXML-SV-IV-union-anyURI-float-pattern-2-1 tokoe:valid" result="pass"/><test-case name="22759NISTXML-SV-IV-union-anyURI-float-pattern-2-2 tokoe:valid" result="pass"/><test-case name="22760NISTXML-SV-IV-union-anyURI-float-pattern-2-3 tokoe:valid" result="pass"/><test-case name="22761NISTXML-SV-IV-union-anyURI-float-pattern-2-4 tokoe:valid" result="pass"/><test-case name="22762NISTXML-SV-IV-union-anyURI-float-pattern-2-5 tokoe:valid" result="pass"/><test-case name="22763NISTSchema-SV-IV-union-anyURI-float-pattern-3 tokoe:valid" result="pass"/><test-case name="22764NISTXML-SV-IV-union-anyURI-float-pattern-3-1 tokoe:valid" result="pass"/><test-case name="22765NISTXML-SV-IV-union-anyURI-float-pattern-3-2 tokoe:valid" result="pass"/><test-case name="22766NISTXML-SV-IV-union-anyURI-float-pattern-3-3 tokoe:valid" result="pass"/><test-case name="22767NISTXML-SV-IV-union-anyURI-float-pattern-3-4 tokoe:valid" result="pass"/><test-case name="22768NISTXML-SV-IV-union-anyURI-float-pattern-3-5 tokoe:valid" result="pass"/><test-case name="22769NISTSchema-SV-IV-union-anyURI-float-pattern-4 tokoe:valid" result="pass"/><test-case name="22770NISTXML-SV-IV-union-anyURI-float-pattern-4-1 tokoe:valid" result="pass"/><test-case name="22771NISTXML-SV-IV-union-anyURI-float-pattern-4-2 tokoe:valid" result="pass"/><test-case name="22772NISTXML-SV-IV-union-anyURI-float-pattern-4-3 tokoe:valid" result="pass"/><test-case name="22773NISTXML-SV-IV-union-anyURI-float-pattern-4-4 tokoe:valid" result="pass"/><test-case name="22774NISTXML-SV-IV-union-anyURI-float-pattern-4-5 tokoe:valid" result="pass"/><test-case name="22775NISTSchema-SV-IV-union-anyURI-float-pattern-5 tokoe:valid" result="pass"/><test-case name="22776NISTXML-SV-IV-union-anyURI-float-pattern-5-1 tokoe:valid" result="pass"/><test-case name="22777NISTXML-SV-IV-union-anyURI-float-pattern-5-2 tokoe:valid" result="pass"/><test-case name="22778NISTXML-SV-IV-union-anyURI-float-pattern-5-3 tokoe:valid" result="pass"/><test-case name="22779NISTXML-SV-IV-union-anyURI-float-pattern-5-4 tokoe:valid" result="pass"/><test-case name="22780NISTXML-SV-IV-union-anyURI-float-pattern-5-5 tokoe:valid" result="pass"/><test-case name="22781NISTSchema-SV-IV-union-anyURI-float-enumeration-1 tokoe:valid" result="pass"/><test-case name="22782NISTXML-SV-IV-union-anyURI-float-enumeration-1-1 tokoe:valid" result="pass"/><test-case name="22783NISTXML-SV-IV-union-anyURI-float-enumeration-1-2 tokoe:valid" result="pass"/><test-case name="22784NISTXML-SV-IV-union-anyURI-float-enumeration-1-3 tokoe:valid" result="pass"/><test-case name="22785NISTXML-SV-IV-union-anyURI-float-enumeration-1-4 tokoe:valid" result="pass"/><test-case name="22786NISTXML-SV-IV-union-anyURI-float-enumeration-1-5 tokoe:valid" result="pass"/><test-case name="22787NISTSchema-SV-IV-union-anyURI-float-enumeration-2 tokoe:valid" result="pass"/><test-case name="22788NISTXML-SV-IV-union-anyURI-float-enumeration-2-1 tokoe:valid" result="pass"/><test-case name="22789NISTXML-SV-IV-union-anyURI-float-enumeration-2-2 tokoe:valid" result="pass"/><test-case name="22790NISTXML-SV-IV-union-anyURI-float-enumeration-2-3 tokoe:valid" result="pass"/><test-case name="22791NISTXML-SV-IV-union-anyURI-float-enumeration-2-4 tokoe:valid" result="pass"/><test-case name="22792NISTXML-SV-IV-union-anyURI-float-enumeration-2-5 tokoe:valid" result="pass"/><test-case name="22793NISTSchema-SV-IV-union-anyURI-float-enumeration-3 tokoe:valid" result="pass"/><test-case name="22794NISTXML-SV-IV-union-anyURI-float-enumeration-3-1 tokoe:valid" result="pass"/><test-case name="22795NISTXML-SV-IV-union-anyURI-float-enumeration-3-2 tokoe:valid" result="pass"/><test-case name="22796NISTXML-SV-IV-union-anyURI-float-enumeration-3-3 tokoe:valid" result="pass"/><test-case name="22797NISTXML-SV-IV-union-anyURI-float-enumeration-3-4 tokoe:valid" result="pass"/><test-case name="22798NISTXML-SV-IV-union-anyURI-float-enumeration-3-5 tokoe:valid" result="pass"/><test-case name="22799NISTSchema-SV-IV-union-anyURI-float-enumeration-4 tokoe:valid" result="pass"/><test-case name="22800NISTXML-SV-IV-union-anyURI-float-enumeration-4-1 tokoe:valid" result="pass"/><test-case name="22801NISTXML-SV-IV-union-anyURI-float-enumeration-4-2 tokoe:valid" result="pass"/><test-case name="22802NISTXML-SV-IV-union-anyURI-float-enumeration-4-3 tokoe:valid" result="pass"/><test-case name="22803NISTXML-SV-IV-union-anyURI-float-enumeration-4-4 tokoe:valid" result="pass"/><test-case name="22804NISTXML-SV-IV-union-anyURI-float-enumeration-4-5 tokoe:valid" result="pass"/><test-case name="22805NISTSchema-SV-IV-union-anyURI-float-enumeration-5 tokoe:valid" result="pass"/><test-case name="22806NISTXML-SV-IV-union-anyURI-float-enumeration-5-1 tokoe:valid" result="pass"/><test-case name="22807NISTXML-SV-IV-union-anyURI-float-enumeration-5-2 tokoe:valid" result="pass"/><test-case name="22808NISTXML-SV-IV-union-anyURI-float-enumeration-5-3 tokoe:valid" result="pass"/><test-case name="22809NISTXML-SV-IV-union-anyURI-float-enumeration-5-4 tokoe:valid" result="pass"/><test-case name="22810NISTXML-SV-IV-union-anyURI-float-enumeration-5-5 tokoe:valid" result="pass"/><test-case name="22811NISTSchema-SV-IV-union-gMonthDay-gYearMonth-pattern-1 tokoe:valid" result="pass"/><test-case name="22812NISTXML-SV-IV-union-gMonthDay-gYearMonth-pattern-1-1 tokoe:valid" result="pass"/><test-case name="22813NISTXML-SV-IV-union-gMonthDay-gYearMonth-pattern-1-2 tokoe:valid" result="pass"/><test-case name="22814NISTXML-SV-IV-union-gMonthDay-gYearMonth-pattern-1-3 tokoe:valid" result="pass"/><test-case name="22815NISTXML-SV-IV-union-gMonthDay-gYearMonth-pattern-1-4 tokoe:valid" result="pass"/><test-case name="22816NISTXML-SV-IV-union-gMonthDay-gYearMonth-pattern-1-5 tokoe:valid" result="pass"/><test-case name="22817NISTSchema-SV-IV-union-gMonthDay-gYearMonth-pattern-2 tokoe:valid" result="pass"/><test-case name="22818NISTXML-SV-IV-union-gMonthDay-gYearMonth-pattern-2-1 tokoe:valid" result="pass"/><test-case name="22819NISTXML-SV-IV-union-gMonthDay-gYearMonth-pattern-2-2 tokoe:valid" result="pass"/><test-case name="22820NISTXML-SV-IV-union-gMonthDay-gYearMonth-pattern-2-3 tokoe:valid" result="pass"/><test-case name="22821NISTXML-SV-IV-union-gMonthDay-gYearMonth-pattern-2-4 tokoe:valid" result="pass"/><test-case name="22822NISTXML-SV-IV-union-gMonthDay-gYearMonth-pattern-2-5 tokoe:valid" result="pass"/><test-case name="22823NISTSchema-SV-IV-union-gMonthDay-gYearMonth-pattern-3 tokoe:valid" result="pass"/><test-case name="22824NISTXML-SV-IV-union-gMonthDay-gYearMonth-pattern-3-1 tokoe:valid" result="pass"/><test-case name="22825NISTXML-SV-IV-union-gMonthDay-gYearMonth-pattern-3-2 tokoe:valid" result="pass"/><test-case name="22826NISTXML-SV-IV-union-gMonthDay-gYearMonth-pattern-3-3 tokoe:valid" result="pass"/><test-case name="22827NISTXML-SV-IV-union-gMonthDay-gYearMonth-pattern-3-4 tokoe:valid" result="pass"/><test-case name="22828NISTXML-SV-IV-union-gMonthDay-gYearMonth-pattern-3-5 tokoe:valid" result="pass"/><test-case name="22829NISTSchema-SV-IV-union-gMonthDay-gYearMonth-pattern-4 tokoe:valid" result="pass"/><test-case name="22830NISTXML-SV-IV-union-gMonthDay-gYearMonth-pattern-4-1 tokoe:valid" result="pass"/><test-case name="22831NISTXML-SV-IV-union-gMonthDay-gYearMonth-pattern-4-2 tokoe:valid" result="pass"/><test-case name="22832NISTXML-SV-IV-union-gMonthDay-gYearMonth-pattern-4-3 tokoe:valid" result="pass"/><test-case name="22833NISTXML-SV-IV-union-gMonthDay-gYearMonth-pattern-4-4 tokoe:valid" result="pass"/><test-case name="22834NISTXML-SV-IV-union-gMonthDay-gYearMonth-pattern-4-5 tokoe:valid" result="pass"/><test-case name="22835NISTSchema-SV-IV-union-gMonthDay-gYearMonth-pattern-5 tokoe:valid" result="pass"/><test-case name="22836NISTXML-SV-IV-union-gMonthDay-gYearMonth-pattern-5-1 tokoe:valid" result="pass"/><test-case name="22837NISTXML-SV-IV-union-gMonthDay-gYearMonth-pattern-5-2 tokoe:valid" result="pass"/><test-case name="22838NISTXML-SV-IV-union-gMonthDay-gYearMonth-pattern-5-3 tokoe:valid" result="pass"/><test-case name="22839NISTXML-SV-IV-union-gMonthDay-gYearMonth-pattern-5-4 tokoe:valid" result="pass"/><test-case name="22840NISTXML-SV-IV-union-gMonthDay-gYearMonth-pattern-5-5 tokoe:valid" result="pass"/><test-case name="22841NISTSchema-SV-IV-union-gMonthDay-gYearMonth-enumeration-1 tokoe:valid" result="pass"/><test-case name="22842NISTXML-SV-IV-union-gMonthDay-gYearMonth-enumeration-1-1 tokoe:valid" result="pass"/><test-case name="22843NISTXML-SV-IV-union-gMonthDay-gYearMonth-enumeration-1-2 tokoe:valid" result="pass"/><test-case name="22844NISTXML-SV-IV-union-gMonthDay-gYearMonth-enumeration-1-3 tokoe:valid" result="pass"/><test-case name="22845NISTXML-SV-IV-union-gMonthDay-gYearMonth-enumeration-1-4 tokoe:valid" result="pass"/><test-case name="22846NISTXML-SV-IV-union-gMonthDay-gYearMonth-enumeration-1-5 tokoe:valid" result="pass"/><test-case name="22847NISTSchema-SV-IV-union-gMonthDay-gYearMonth-enumeration-2 tokoe:valid" result="pass"/><test-case name="22848NISTXML-SV-IV-union-gMonthDay-gYearMonth-enumeration-2-1 tokoe:valid" result="pass"/><test-case name="22849NISTXML-SV-IV-union-gMonthDay-gYearMonth-enumeration-2-2 tokoe:valid" result="pass"/><test-case name="22850NISTXML-SV-IV-union-gMonthDay-gYearMonth-enumeration-2-3 tokoe:valid" result="pass"/><test-case name="22851NISTXML-SV-IV-union-gMonthDay-gYearMonth-enumeration-2-4 tokoe:valid" result="pass"/><test-case name="22852NISTXML-SV-IV-union-gMonthDay-gYearMonth-enumeration-2-5 tokoe:valid" result="pass"/><test-case name="22853NISTSchema-SV-IV-union-gMonthDay-gYearMonth-enumeration-3 tokoe:valid" result="pass"/><test-case name="22854NISTXML-SV-IV-union-gMonthDay-gYearMonth-enumeration-3-1 tokoe:valid" result="pass"/><test-case name="22855NISTXML-SV-IV-union-gMonthDay-gYearMonth-enumeration-3-2 tokoe:valid" result="pass"/><test-case name="22856NISTXML-SV-IV-union-gMonthDay-gYearMonth-enumeration-3-3 tokoe:valid" result="pass"/><test-case name="22857NISTXML-SV-IV-union-gMonthDay-gYearMonth-enumeration-3-4 tokoe:valid" result="pass"/><test-case name="22858NISTXML-SV-IV-union-gMonthDay-gYearMonth-enumeration-3-5 tokoe:valid" result="pass"/><test-case name="22859NISTSchema-SV-IV-union-gMonthDay-gYearMonth-enumeration-4 tokoe:valid" result="pass"/><test-case name="22860NISTXML-SV-IV-union-gMonthDay-gYearMonth-enumeration-4-1 tokoe:valid" result="pass"/><test-case name="22861NISTXML-SV-IV-union-gMonthDay-gYearMonth-enumeration-4-2 tokoe:valid" result="pass"/><test-case name="22862NISTXML-SV-IV-union-gMonthDay-gYearMonth-enumeration-4-3 tokoe:valid" result="pass"/><test-case name="22863NISTXML-SV-IV-union-gMonthDay-gYearMonth-enumeration-4-4 tokoe:valid" result="pass"/><test-case name="22864NISTXML-SV-IV-union-gMonthDay-gYearMonth-enumeration-4-5 tokoe:valid" result="pass"/><test-case name="22865NISTSchema-SV-IV-union-gMonthDay-gYearMonth-enumeration-5 tokoe:valid" result="pass"/><test-case name="22866NISTXML-SV-IV-union-gMonthDay-gYearMonth-enumeration-5-1 tokoe:valid" result="pass"/><test-case name="22867NISTXML-SV-IV-union-gMonthDay-gYearMonth-enumeration-5-2 tokoe:valid" result="pass"/><test-case name="22868NISTXML-SV-IV-union-gMonthDay-gYearMonth-enumeration-5-3 tokoe:valid" result="pass"/><test-case name="22869NISTXML-SV-IV-union-gMonthDay-gYearMonth-enumeration-5-4 tokoe:valid" result="pass"/><test-case name="22870NISTXML-SV-IV-union-gMonthDay-gYearMonth-enumeration-5-5 tokoe:valid" result="pass"/><test-case name="22871NISTSchema-SV-IV-union-short-gYear-pattern-1 tokoe:valid" result="pass"/><test-case name="22872NISTXML-SV-IV-union-short-gYear-pattern-1-1 tokoe:valid" result="pass"/><test-case name="22873NISTXML-SV-IV-union-short-gYear-pattern-1-2 tokoe:valid" result="pass"/><test-case name="22874NISTXML-SV-IV-union-short-gYear-pattern-1-3 tokoe:valid" result="pass"/><test-case name="22875NISTXML-SV-IV-union-short-gYear-pattern-1-4 tokoe:valid" result="pass"/><test-case name="22876NISTXML-SV-IV-union-short-gYear-pattern-1-5 tokoe:valid" result="pass"/><test-case name="22877NISTSchema-SV-IV-union-short-gYear-pattern-2 tokoe:valid" result="pass"/><test-case name="22878NISTXML-SV-IV-union-short-gYear-pattern-2-1 tokoe:valid" result="pass"/><test-case name="22879NISTXML-SV-IV-union-short-gYear-pattern-2-2 tokoe:valid" result="pass"/><test-case name="22880NISTXML-SV-IV-union-short-gYear-pattern-2-3 tokoe:valid" result="pass"/><test-case name="22881NISTXML-SV-IV-union-short-gYear-pattern-2-4 tokoe:valid" result="pass"/><test-case name="22882NISTXML-SV-IV-union-short-gYear-pattern-2-5 tokoe:valid" result="pass"/><test-case name="22883NISTSchema-SV-IV-union-short-gYear-pattern-3 tokoe:valid" result="pass"/><test-case name="22884NISTXML-SV-IV-union-short-gYear-pattern-3-1 tokoe:valid" result="pass"/><test-case name="22885NISTXML-SV-IV-union-short-gYear-pattern-3-2 tokoe:valid" result="pass"/><test-case name="22886NISTXML-SV-IV-union-short-gYear-pattern-3-3 tokoe:valid" result="pass"/><test-case name="22887NISTXML-SV-IV-union-short-gYear-pattern-3-4 tokoe:valid" result="pass"/><test-case name="22888NISTXML-SV-IV-union-short-gYear-pattern-3-5 tokoe:valid" result="pass"/><test-case name="22889NISTSchema-SV-IV-union-short-gYear-pattern-4 tokoe:valid" result="pass"/><test-case name="22890NISTXML-SV-IV-union-short-gYear-pattern-4-1 tokoe:valid" result="pass"/><test-case name="22891NISTXML-SV-IV-union-short-gYear-pattern-4-2 tokoe:valid" result="pass"/><test-case name="22892NISTXML-SV-IV-union-short-gYear-pattern-4-3 tokoe:valid" result="pass"/><test-case name="22893NISTXML-SV-IV-union-short-gYear-pattern-4-4 tokoe:valid" result="pass"/><test-case name="22894NISTXML-SV-IV-union-short-gYear-pattern-4-5 tokoe:valid" result="pass"/><test-case name="22895NISTSchema-SV-IV-union-short-gYear-pattern-5 tokoe:valid" result="pass"/><test-case name="22896NISTXML-SV-IV-union-short-gYear-pattern-5-1 tokoe:valid" result="pass"/><test-case name="22897NISTXML-SV-IV-union-short-gYear-pattern-5-2 tokoe:valid" result="pass"/><test-case name="22898NISTXML-SV-IV-union-short-gYear-pattern-5-3 tokoe:valid" result="pass"/><test-case name="22899NISTXML-SV-IV-union-short-gYear-pattern-5-4 tokoe:valid" result="pass"/><test-case name="22900NISTXML-SV-IV-union-short-gYear-pattern-5-5 tokoe:valid" result="pass"/><test-case name="22901NISTSchema-SV-IV-union-short-gYear-enumeration-1 tokoe:valid" result="pass"/><test-case name="22902NISTXML-SV-IV-union-short-gYear-enumeration-1-1 tokoe:valid" result="pass"/><test-case name="22903NISTXML-SV-IV-union-short-gYear-enumeration-1-2 tokoe:valid" result="pass"/><test-case name="22904NISTXML-SV-IV-union-short-gYear-enumeration-1-3 tokoe:valid" result="pass"/><test-case name="22905NISTXML-SV-IV-union-short-gYear-enumeration-1-4 tokoe:valid" result="pass"/><test-case name="22906NISTXML-SV-IV-union-short-gYear-enumeration-1-5 tokoe:valid" result="pass"/><test-case name="22907NISTSchema-SV-IV-union-short-gYear-enumeration-2 tokoe:valid" result="pass"/><test-case name="22908NISTXML-SV-IV-union-short-gYear-enumeration-2-1 tokoe:valid" result="pass"/><test-case name="22909NISTXML-SV-IV-union-short-gYear-enumeration-2-2 tokoe:valid" result="pass"/><test-case name="22910NISTXML-SV-IV-union-short-gYear-enumeration-2-3 tokoe:valid" result="pass"/><test-case name="22911NISTXML-SV-IV-union-short-gYear-enumeration-2-4 tokoe:valid" result="pass"/><test-case name="22912NISTXML-SV-IV-union-short-gYear-enumeration-2-5 tokoe:valid" result="pass"/><test-case name="22913NISTSchema-SV-IV-union-short-gYear-enumeration-3 tokoe:valid" result="pass"/><test-case name="22914NISTXML-SV-IV-union-short-gYear-enumeration-3-1 tokoe:valid" result="pass"/><test-case name="22915NISTXML-SV-IV-union-short-gYear-enumeration-3-2 tokoe:valid" result="pass"/><test-case name="22916NISTXML-SV-IV-union-short-gYear-enumeration-3-3 tokoe:valid" result="pass"/><test-case name="22917NISTXML-SV-IV-union-short-gYear-enumeration-3-4 tokoe:valid" result="pass"/><test-case name="22918NISTXML-SV-IV-union-short-gYear-enumeration-3-5 tokoe:valid" result="pass"/><test-case name="22919NISTSchema-SV-IV-union-short-gYear-enumeration-4 tokoe:valid" result="pass"/><test-case name="22920NISTXML-SV-IV-union-short-gYear-enumeration-4-1 tokoe:valid" result="pass"/><test-case name="22921NISTXML-SV-IV-union-short-gYear-enumeration-4-2 tokoe:valid" result="pass"/><test-case name="22922NISTXML-SV-IV-union-short-gYear-enumeration-4-3 tokoe:valid" result="pass"/><test-case name="22923NISTXML-SV-IV-union-short-gYear-enumeration-4-4 tokoe:valid" result="pass"/><test-case name="22924NISTXML-SV-IV-union-short-gYear-enumeration-4-5 tokoe:valid" result="pass"/><test-case name="22925NISTSchema-SV-IV-union-short-gYear-enumeration-5 tokoe:valid" result="pass"/><test-case name="22926NISTXML-SV-IV-union-short-gYear-enumeration-5-1 tokoe:valid" result="pass"/><test-case name="22927NISTXML-SV-IV-union-short-gYear-enumeration-5-2 tokoe:valid" result="pass"/><test-case name="22928NISTXML-SV-IV-union-short-gYear-enumeration-5-3 tokoe:valid" result="pass"/><test-case name="22929NISTXML-SV-IV-union-short-gYear-enumeration-5-4 tokoe:valid" result="pass"/><test-case name="22930NISTXML-SV-IV-union-short-gYear-enumeration-5-5 tokoe:valid" result="pass"/><test-case name="22931NISTSchema-SV-II-union-duration-decimal-pattern-1 tokoe:valid" result="pass"/><test-case name="22932NISTXML-SV-II-union-duration-decimal-pattern-1-1 tokoe:invalid" result="pass"/><test-case name="22933NISTXML-SV-II-union-duration-decimal-pattern-1-2 tokoe:invalid" result="pass"/><test-case name="22934NISTXML-SV-II-union-duration-decimal-pattern-1-3 tokoe:invalid" result="pass"/><test-case name="22935NISTXML-SV-II-union-duration-decimal-pattern-1-4 tokoe:invalid" result="pass"/><test-case name="22936NISTXML-SV-II-union-duration-decimal-pattern-1-5 tokoe:invalid" result="pass"/><test-case name="22937NISTSchema-SV-II-union-duration-decimal-pattern-2 tokoe:valid" result="pass"/><test-case name="22938NISTXML-SV-II-union-duration-decimal-pattern-2-1 tokoe:invalid" result="pass"/><test-case name="22939NISTXML-SV-II-union-duration-decimal-pattern-2-2 tokoe:invalid" result="pass"/><test-case name="22940NISTXML-SV-II-union-duration-decimal-pattern-2-3 tokoe:invalid" result="pass"/><test-case name="22941NISTXML-SV-II-union-duration-decimal-pattern-2-4 tokoe:invalid" result="pass"/><test-case name="22942NISTXML-SV-II-union-duration-decimal-pattern-2-5 tokoe:invalid" result="pass"/><test-case name="22943NISTSchema-SV-II-union-duration-decimal-pattern-3 tokoe:valid" result="pass"/><test-case name="22944NISTXML-SV-II-union-duration-decimal-pattern-3-1 tokoe:invalid" result="pass"/><test-case name="22945NISTXML-SV-II-union-duration-decimal-pattern-3-2 tokoe:invalid" result="pass"/><test-case name="22946NISTXML-SV-II-union-duration-decimal-pattern-3-3 tokoe:invalid" result="pass"/><test-case name="22947NISTXML-SV-II-union-duration-decimal-pattern-3-4 tokoe:invalid" result="pass"/><test-case name="22948NISTXML-SV-II-union-duration-decimal-pattern-3-5 tokoe:invalid" result="pass"/><test-case name="22949NISTSchema-SV-II-union-duration-decimal-pattern-4 tokoe:valid" result="pass"/><test-case name="22950NISTXML-SV-II-union-duration-decimal-pattern-4-1 tokoe:invalid" result="pass"/><test-case name="22951NISTXML-SV-II-union-duration-decimal-pattern-4-2 tokoe:invalid" result="pass"/><test-case name="22952NISTXML-SV-II-union-duration-decimal-pattern-4-3 tokoe:invalid" result="pass"/><test-case name="22953NISTXML-SV-II-union-duration-decimal-pattern-4-4 tokoe:invalid" result="pass"/><test-case name="22954NISTXML-SV-II-union-duration-decimal-pattern-4-5 tokoe:invalid" result="pass"/><test-case name="22955NISTSchema-SV-II-union-duration-decimal-pattern-5 tokoe:valid" result="pass"/><test-case name="22956NISTXML-SV-II-union-duration-decimal-pattern-5-1 tokoe:invalid" result="pass"/><test-case name="22957NISTXML-SV-II-union-duration-decimal-pattern-5-2 tokoe:invalid" result="pass"/><test-case name="22958NISTXML-SV-II-union-duration-decimal-pattern-5-3 tokoe:invalid" result="pass"/><test-case name="22959NISTXML-SV-II-union-duration-decimal-pattern-5-4 tokoe:invalid" result="pass"/><test-case name="22960NISTXML-SV-II-union-duration-decimal-pattern-5-5 tokoe:invalid" result="pass"/><test-case name="22961NISTSchema-SV-II-union-duration-decimal-enumeration-1 tokoe:valid" result="pass"/><test-case name="22962NISTXML-SV-II-union-duration-decimal-enumeration-1-1 tokoe:invalid" result="pass"/><test-case name="22963NISTXML-SV-II-union-duration-decimal-enumeration-1-2 tokoe:invalid" result="pass"/><test-case name="22964NISTXML-SV-II-union-duration-decimal-enumeration-1-3 tokoe:invalid" result="pass"/><test-case name="22965NISTXML-SV-II-union-duration-decimal-enumeration-1-4 tokoe:invalid" result="pass"/><test-case name="22966NISTXML-SV-II-union-duration-decimal-enumeration-1-5 tokoe:invalid" result="pass"/><test-case name="22967NISTSchema-SV-II-union-duration-decimal-enumeration-2 tokoe:valid" result="pass"/><test-case name="22968NISTXML-SV-II-union-duration-decimal-enumeration-2-1 tokoe:invalid" result="pass"/><test-case name="22969NISTXML-SV-II-union-duration-decimal-enumeration-2-2 tokoe:invalid" result="pass"/><test-case name="22970NISTXML-SV-II-union-duration-decimal-enumeration-2-3 tokoe:invalid" result="pass"/><test-case name="22971NISTXML-SV-II-union-duration-decimal-enumeration-2-4 tokoe:invalid" result="pass"/><test-case name="22972NISTXML-SV-II-union-duration-decimal-enumeration-2-5 tokoe:invalid" result="pass"/><test-case name="22973NISTSchema-SV-II-union-duration-decimal-enumeration-3 tokoe:valid" result="pass"/><test-case name="22974NISTXML-SV-II-union-duration-decimal-enumeration-3-1 tokoe:invalid" result="pass"/><test-case name="22975NISTXML-SV-II-union-duration-decimal-enumeration-3-2 tokoe:invalid" result="pass"/><test-case name="22976NISTXML-SV-II-union-duration-decimal-enumeration-3-3 tokoe:invalid" result="pass"/><test-case name="22977NISTXML-SV-II-union-duration-decimal-enumeration-3-4 tokoe:invalid" result="pass"/><test-case name="22978NISTXML-SV-II-union-duration-decimal-enumeration-3-5 tokoe:invalid" result="pass"/><test-case name="22979NISTSchema-SV-II-union-duration-decimal-enumeration-4 tokoe:valid" result="pass"/><test-case name="22980NISTXML-SV-II-union-duration-decimal-enumeration-4-1 tokoe:invalid" result="pass"/><test-case name="22981NISTXML-SV-II-union-duration-decimal-enumeration-4-2 tokoe:invalid" result="pass"/><test-case name="22982NISTXML-SV-II-union-duration-decimal-enumeration-4-3 tokoe:invalid" result="pass"/><test-case name="22983NISTXML-SV-II-union-duration-decimal-enumeration-4-4 tokoe:invalid" result="pass"/><test-case name="22984NISTXML-SV-II-union-duration-decimal-enumeration-4-5 tokoe:invalid" result="pass"/><test-case name="22985NISTSchema-SV-II-union-duration-decimal-enumeration-5 tokoe:valid" result="pass"/><test-case name="22986NISTXML-SV-II-union-duration-decimal-enumeration-5-1 tokoe:invalid" result="pass"/><test-case name="22987NISTXML-SV-II-union-duration-decimal-enumeration-5-2 tokoe:invalid" result="pass"/><test-case name="22988NISTXML-SV-II-union-duration-decimal-enumeration-5-3 tokoe:invalid" result="pass"/><test-case name="22989NISTXML-SV-II-union-duration-decimal-enumeration-5-4 tokoe:invalid" result="pass"/><test-case name="22990NISTXML-SV-II-union-duration-decimal-enumeration-5-5 tokoe:invalid" result="pass"/><test-case name="22991NISTSchema-SV-II-union-anyURI-float-pattern-1 tokoe:valid" result="pass"/><test-case name="22992NISTXML-SV-II-union-anyURI-float-pattern-1-1 tokoe:invalid" result="pass"/><test-case name="22993NISTXML-SV-II-union-anyURI-float-pattern-1-2 tokoe:invalid" result="pass"/><test-case name="22994NISTXML-SV-II-union-anyURI-float-pattern-1-3 tokoe:invalid" result="pass"/><test-case name="22995NISTXML-SV-II-union-anyURI-float-pattern-1-4 tokoe:invalid" result="pass"/><test-case name="22996NISTXML-SV-II-union-anyURI-float-pattern-1-5 tokoe:invalid" result="pass"/><test-case name="22997NISTSchema-SV-II-union-anyURI-float-pattern-2 tokoe:valid" result="pass"/><test-case name="22998NISTXML-SV-II-union-anyURI-float-pattern-2-1 tokoe:invalid" result="pass"/><test-case name="22999NISTXML-SV-II-union-anyURI-float-pattern-2-2 tokoe:invalid" result="pass"/><test-case name="23000NISTXML-SV-II-union-anyURI-float-pattern-2-3 tokoe:invalid" result="pass"/><test-case name="23001NISTXML-SV-II-union-anyURI-float-pattern-2-4 tokoe:invalid" result="pass"/><test-case name="23002NISTXML-SV-II-union-anyURI-float-pattern-2-5 tokoe:invalid" result="pass"/><test-case name="23003NISTSchema-SV-II-union-anyURI-float-pattern-3 tokoe:valid" result="pass"/><test-case name="23004NISTXML-SV-II-union-anyURI-float-pattern-3-1 tokoe:invalid" result="pass"/><test-case name="23005NISTXML-SV-II-union-anyURI-float-pattern-3-2 tokoe:invalid" result="pass"/><test-case name="23006NISTXML-SV-II-union-anyURI-float-pattern-3-3 tokoe:invalid" result="pass"/><test-case name="23007NISTXML-SV-II-union-anyURI-float-pattern-3-4 tokoe:invalid" result="pass"/><test-case name="23008NISTXML-SV-II-union-anyURI-float-pattern-3-5 tokoe:invalid" result="pass"/><test-case name="23009NISTSchema-SV-II-union-anyURI-float-pattern-4 tokoe:valid" result="pass"/><test-case name="23010NISTXML-SV-II-union-anyURI-float-pattern-4-1 tokoe:invalid" result="pass"/><test-case name="23011NISTXML-SV-II-union-anyURI-float-pattern-4-2 tokoe:invalid" result="pass"/><test-case name="23012NISTXML-SV-II-union-anyURI-float-pattern-4-3 tokoe:invalid" result="pass"/><test-case name="23013NISTXML-SV-II-union-anyURI-float-pattern-4-4 tokoe:invalid" result="pass"/><test-case name="23014NISTXML-SV-II-union-anyURI-float-pattern-4-5 tokoe:invalid" result="pass"/><test-case name="23015NISTSchema-SV-II-union-anyURI-float-pattern-5 tokoe:valid" result="pass"/><test-case name="23016NISTXML-SV-II-union-anyURI-float-pattern-5-1 tokoe:invalid" result="pass"/><test-case name="23017NISTXML-SV-II-union-anyURI-float-pattern-5-2 tokoe:invalid" result="pass"/><test-case name="23018NISTXML-SV-II-union-anyURI-float-pattern-5-3 tokoe:invalid" result="pass"/><test-case name="23019NISTXML-SV-II-union-anyURI-float-pattern-5-4 tokoe:invalid" result="pass"/><test-case name="23020NISTXML-SV-II-union-anyURI-float-pattern-5-5 tokoe:invalid" result="pass"/><test-case name="23021NISTSchema-SV-II-union-anyURI-float-enumeration-1 tokoe:valid" result="pass"/><test-case name="23022NISTXML-SV-II-union-anyURI-float-enumeration-1-1 tokoe:invalid" result="pass"/><test-case name="23023NISTXML-SV-II-union-anyURI-float-enumeration-1-2 tokoe:invalid" result="pass"/><test-case name="23024NISTXML-SV-II-union-anyURI-float-enumeration-1-3 tokoe:invalid" result="pass"/><test-case name="23025NISTXML-SV-II-union-anyURI-float-enumeration-1-4 tokoe:invalid" result="pass"/><test-case name="23026NISTXML-SV-II-union-anyURI-float-enumeration-1-5 tokoe:invalid" result="pass"/><test-case name="23027NISTSchema-SV-II-union-anyURI-float-enumeration-2 tokoe:valid" result="pass"/><test-case name="23028NISTXML-SV-II-union-anyURI-float-enumeration-2-1 tokoe:invalid" result="pass"/><test-case name="23029NISTXML-SV-II-union-anyURI-float-enumeration-2-2 tokoe:invalid" result="pass"/><test-case name="23030NISTXML-SV-II-union-anyURI-float-enumeration-2-3 tokoe:invalid" result="pass"/><test-case name="23031NISTXML-SV-II-union-anyURI-float-enumeration-2-4 tokoe:invalid" result="pass"/><test-case name="23032NISTXML-SV-II-union-anyURI-float-enumeration-2-5 tokoe:invalid" result="pass"/><test-case name="23033NISTSchema-SV-II-union-anyURI-float-enumeration-3 tokoe:valid" result="pass"/><test-case name="23034NISTXML-SV-II-union-anyURI-float-enumeration-3-1 tokoe:invalid" result="pass"/><test-case name="23035NISTXML-SV-II-union-anyURI-float-enumeration-3-2 tokoe:invalid" result="pass"/><test-case name="23036NISTXML-SV-II-union-anyURI-float-enumeration-3-3 tokoe:invalid" result="pass"/><test-case name="23037NISTXML-SV-II-union-anyURI-float-enumeration-3-4 tokoe:invalid" result="pass"/><test-case name="23038NISTXML-SV-II-union-anyURI-float-enumeration-3-5 tokoe:invalid" result="pass"/><test-case name="23039NISTSchema-SV-II-union-anyURI-float-enumeration-4 tokoe:valid" result="pass"/><test-case name="23040NISTXML-SV-II-union-anyURI-float-enumeration-4-1 tokoe:invalid" result="pass"/><test-case name="23041NISTXML-SV-II-union-anyURI-float-enumeration-4-2 tokoe:invalid" result="pass"/><test-case name="23042NISTXML-SV-II-union-anyURI-float-enumeration-4-3 tokoe:invalid" result="pass"/><test-case name="23043NISTXML-SV-II-union-anyURI-float-enumeration-4-4 tokoe:invalid" result="pass"/><test-case name="23044NISTXML-SV-II-union-anyURI-float-enumeration-4-5 tokoe:invalid" result="pass"/><test-case name="23045NISTSchema-SV-II-union-anyURI-float-enumeration-5 tokoe:valid" result="pass"/><test-case name="23046NISTXML-SV-II-union-anyURI-float-enumeration-5-1 tokoe:invalid" result="pass"/><test-case name="23047NISTXML-SV-II-union-anyURI-float-enumeration-5-2 tokoe:invalid" result="pass"/><test-case name="23048NISTXML-SV-II-union-anyURI-float-enumeration-5-3 tokoe:invalid" result="pass"/><test-case name="23049NISTXML-SV-II-union-anyURI-float-enumeration-5-4 tokoe:invalid" result="pass"/><test-case name="23050NISTXML-SV-II-union-anyURI-float-enumeration-5-5 tokoe:invalid" result="pass"/><test-case name="23051NISTSchema-SV-II-union-gMonthDay-gYearMonth-pattern-1 tokoe:valid" result="pass"/><test-case name="23052NISTXML-SV-II-union-gMonthDay-gYearMonth-pattern-1-1 tokoe:invalid" result="pass"/><test-case name="23053NISTXML-SV-II-union-gMonthDay-gYearMonth-pattern-1-2 tokoe:invalid" result="pass"/><test-case name="23054NISTXML-SV-II-union-gMonthDay-gYearMonth-pattern-1-3 tokoe:invalid" result="pass"/><test-case name="23055NISTXML-SV-II-union-gMonthDay-gYearMonth-pattern-1-4 tokoe:invalid" result="pass"/><test-case name="23056NISTXML-SV-II-union-gMonthDay-gYearMonth-pattern-1-5 tokoe:invalid" result="pass"/><test-case name="23057NISTSchema-SV-II-union-gMonthDay-gYearMonth-pattern-2 tokoe:valid" result="pass"/><test-case name="23058NISTXML-SV-II-union-gMonthDay-gYearMonth-pattern-2-1 tokoe:invalid" result="pass"/><test-case name="23059NISTXML-SV-II-union-gMonthDay-gYearMonth-pattern-2-2 tokoe:invalid" result="pass"/><test-case name="23060NISTXML-SV-II-union-gMonthDay-gYearMonth-pattern-2-3 tokoe:invalid" result="pass"/><test-case name="23061NISTXML-SV-II-union-gMonthDay-gYearMonth-pattern-2-4 tokoe:invalid" result="pass"/><test-case name="23062NISTXML-SV-II-union-gMonthDay-gYearMonth-pattern-2-5 tokoe:invalid" result="pass"/><test-case name="23063NISTSchema-SV-II-union-gMonthDay-gYearMonth-pattern-3 tokoe:valid" result="pass"/><test-case name="23064NISTXML-SV-II-union-gMonthDay-gYearMonth-pattern-3-1 tokoe:invalid" result="pass"/><test-case name="23065NISTXML-SV-II-union-gMonthDay-gYearMonth-pattern-3-2 tokoe:invalid" result="pass"/><test-case name="23066NISTXML-SV-II-union-gMonthDay-gYearMonth-pattern-3-3 tokoe:invalid" result="pass"/><test-case name="23067NISTXML-SV-II-union-gMonthDay-gYearMonth-pattern-3-4 tokoe:invalid" result="pass"/><test-case name="23068NISTXML-SV-II-union-gMonthDay-gYearMonth-pattern-3-5 tokoe:invalid" result="pass"/><test-case name="23069NISTSchema-SV-II-union-gMonthDay-gYearMonth-pattern-4 tokoe:valid" result="pass"/><test-case name="23070NISTXML-SV-II-union-gMonthDay-gYearMonth-pattern-4-1 tokoe:invalid" result="pass"/><test-case name="23071NISTXML-SV-II-union-gMonthDay-gYearMonth-pattern-4-2 tokoe:invalid" result="pass"/><test-case name="23072NISTXML-SV-II-union-gMonthDay-gYearMonth-pattern-4-3 tokoe:invalid" result="pass"/><test-case name="23073NISTXML-SV-II-union-gMonthDay-gYearMonth-pattern-4-4 tokoe:invalid" result="pass"/><test-case name="23074NISTXML-SV-II-union-gMonthDay-gYearMonth-pattern-4-5 tokoe:invalid" result="pass"/><test-case name="23075NISTSchema-SV-II-union-gMonthDay-gYearMonth-pattern-5 tokoe:valid" result="pass"/><test-case name="23076NISTXML-SV-II-union-gMonthDay-gYearMonth-pattern-5-1 tokoe:invalid" result="pass"/><test-case name="23077NISTXML-SV-II-union-gMonthDay-gYearMonth-pattern-5-2 tokoe:invalid" result="pass"/><test-case name="23078NISTXML-SV-II-union-gMonthDay-gYearMonth-pattern-5-3 tokoe:invalid" result="pass"/><test-case name="23079NISTXML-SV-II-union-gMonthDay-gYearMonth-pattern-5-4 tokoe:invalid" result="pass"/><test-case name="23080NISTXML-SV-II-union-gMonthDay-gYearMonth-pattern-5-5 tokoe:invalid" result="pass"/><test-case name="23081NISTSchema-SV-II-union-gMonthDay-gYearMonth-enumeration-1 tokoe:valid" result="pass"/><test-case name="23082NISTXML-SV-II-union-gMonthDay-gYearMonth-enumeration-1-1 tokoe:invalid" result="pass"/><test-case name="23083NISTXML-SV-II-union-gMonthDay-gYearMonth-enumeration-1-2 tokoe:invalid" result="pass"/><test-case name="23084NISTXML-SV-II-union-gMonthDay-gYearMonth-enumeration-1-3 tokoe:invalid" result="pass"/><test-case name="23085NISTXML-SV-II-union-gMonthDay-gYearMonth-enumeration-1-4 tokoe:invalid" result="pass"/><test-case name="23086NISTXML-SV-II-union-gMonthDay-gYearMonth-enumeration-1-5 tokoe:invalid" result="pass"/><test-case name="23087NISTSchema-SV-II-union-gMonthDay-gYearMonth-enumeration-2 tokoe:valid" result="pass"/><test-case name="23088NISTXML-SV-II-union-gMonthDay-gYearMonth-enumeration-2-1 tokoe:invalid" result="pass"/><test-case name="23089NISTXML-SV-II-union-gMonthDay-gYearMonth-enumeration-2-2 tokoe:invalid" result="pass"/><test-case name="23090NISTXML-SV-II-union-gMonthDay-gYearMonth-enumeration-2-3 tokoe:invalid" result="pass"/><test-case name="23091NISTXML-SV-II-union-gMonthDay-gYearMonth-enumeration-2-4 tokoe:invalid" result="pass"/><test-case name="23092NISTXML-SV-II-union-gMonthDay-gYearMonth-enumeration-2-5 tokoe:invalid" result="pass"/><test-case name="23093NISTSchema-SV-II-union-gMonthDay-gYearMonth-enumeration-3 tokoe:valid" result="pass"/><test-case name="23094NISTXML-SV-II-union-gMonthDay-gYearMonth-enumeration-3-1 tokoe:invalid" result="pass"/><test-case name="23095NISTXML-SV-II-union-gMonthDay-gYearMonth-enumeration-3-2 tokoe:invalid" result="pass"/><test-case name="23096NISTXML-SV-II-union-gMonthDay-gYearMonth-enumeration-3-3 tokoe:invalid" result="pass"/><test-case name="23097NISTXML-SV-II-union-gMonthDay-gYearMonth-enumeration-3-4 tokoe:invalid" result="pass"/><test-case name="23098NISTXML-SV-II-union-gMonthDay-gYearMonth-enumeration-3-5 tokoe:invalid" result="pass"/><test-case name="23099NISTSchema-SV-II-union-gMonthDay-gYearMonth-enumeration-4 tokoe:valid" result="pass"/><test-case name="23100NISTXML-SV-II-union-gMonthDay-gYearMonth-enumeration-4-1 tokoe:invalid" result="pass"/><test-case name="23101NISTXML-SV-II-union-gMonthDay-gYearMonth-enumeration-4-2 tokoe:invalid" result="pass"/><test-case name="23102NISTXML-SV-II-union-gMonthDay-gYearMonth-enumeration-4-3 tokoe:invalid" result="pass"/><test-case name="23103NISTXML-SV-II-union-gMonthDay-gYearMonth-enumeration-4-4 tokoe:invalid" result="pass"/><test-case name="23104NISTXML-SV-II-union-gMonthDay-gYearMonth-enumeration-4-5 tokoe:invalid" result="pass"/><test-case name="23105NISTSchema-SV-II-union-gMonthDay-gYearMonth-enumeration-5 tokoe:valid" result="pass"/><test-case name="23106NISTXML-SV-II-union-gMonthDay-gYearMonth-enumeration-5-1 tokoe:invalid" result="pass"/><test-case name="23107NISTXML-SV-II-union-gMonthDay-gYearMonth-enumeration-5-2 tokoe:invalid" result="pass"/><test-case name="23108NISTXML-SV-II-union-gMonthDay-gYearMonth-enumeration-5-3 tokoe:invalid" result="pass"/><test-case name="23109NISTXML-SV-II-union-gMonthDay-gYearMonth-enumeration-5-4 tokoe:invalid" result="pass"/><test-case name="23110NISTXML-SV-II-union-gMonthDay-gYearMonth-enumeration-5-5 tokoe:invalid" result="pass"/><test-case name="23111NISTSchema-SV-II-union-short-gYear-pattern-1 tokoe:valid" result="pass"/><test-case name="23112NISTXML-SV-II-union-short-gYear-pattern-1-1 tokoe:invalid" result="pass"/><test-case name="23113NISTXML-SV-II-union-short-gYear-pattern-1-2 tokoe:invalid" result="pass"/><test-case name="23114NISTXML-SV-II-union-short-gYear-pattern-1-3 tokoe:invalid" result="pass"/><test-case name="23115NISTXML-SV-II-union-short-gYear-pattern-1-4 tokoe:invalid" result="pass"/><test-case name="23116NISTXML-SV-II-union-short-gYear-pattern-1-5 tokoe:invalid" result="pass"/><test-case name="23117NISTSchema-SV-II-union-short-gYear-pattern-2 tokoe:valid" result="pass"/><test-case name="23118NISTXML-SV-II-union-short-gYear-pattern-2-1 tokoe:invalid" result="pass"/><test-case name="23119NISTXML-SV-II-union-short-gYear-pattern-2-2 tokoe:invalid" result="pass"/><test-case name="23120NISTXML-SV-II-union-short-gYear-pattern-2-3 tokoe:invalid" result="pass"/><test-case name="23121NISTXML-SV-II-union-short-gYear-pattern-2-4 tokoe:invalid" result="pass"/><test-case name="23122NISTXML-SV-II-union-short-gYear-pattern-2-5 tokoe:invalid" result="pass"/><test-case name="23123NISTSchema-SV-II-union-short-gYear-pattern-3 tokoe:valid" result="pass"/><test-case name="23124NISTXML-SV-II-union-short-gYear-pattern-3-1 tokoe:invalid" result="pass"/><test-case name="23125NISTXML-SV-II-union-short-gYear-pattern-3-2 tokoe:invalid" result="pass"/><test-case name="23126NISTXML-SV-II-union-short-gYear-pattern-3-3 tokoe:invalid" result="pass"/><test-case name="23127NISTXML-SV-II-union-short-gYear-pattern-3-4 tokoe:invalid" result="pass"/><test-case name="23128NISTXML-SV-II-union-short-gYear-pattern-3-5 tokoe:invalid" result="pass"/><test-case name="23129NISTSchema-SV-II-union-short-gYear-pattern-4 tokoe:valid" result="pass"/><test-case name="23130NISTXML-SV-II-union-short-gYear-pattern-4-1 tokoe:invalid" result="pass"/><test-case name="23131NISTXML-SV-II-union-short-gYear-pattern-4-2 tokoe:invalid" result="pass"/><test-case name="23132NISTXML-SV-II-union-short-gYear-pattern-4-3 tokoe:invalid" result="pass"/><test-case name="23133NISTXML-SV-II-union-short-gYear-pattern-4-4 tokoe:invalid" result="pass"/><test-case name="23134NISTXML-SV-II-union-short-gYear-pattern-4-5 tokoe:invalid" result="pass"/><test-case name="23135NISTSchema-SV-II-union-short-gYear-pattern-5 tokoe:valid" result="pass"/><test-case name="23136NISTXML-SV-II-union-short-gYear-pattern-5-1 tokoe:invalid" result="pass"/><test-case name="23137NISTXML-SV-II-union-short-gYear-pattern-5-2 tokoe:invalid" result="pass"/><test-case name="23138NISTXML-SV-II-union-short-gYear-pattern-5-3 tokoe:invalid" result="pass"/><test-case name="23139NISTXML-SV-II-union-short-gYear-pattern-5-4 tokoe:invalid" result="pass"/><test-case name="23140NISTXML-SV-II-union-short-gYear-pattern-5-5 tokoe:invalid" result="pass"/><test-case name="23141NISTSchema-SV-II-union-short-gYear-enumeration-1 tokoe:valid" result="pass"/><test-case name="23142NISTXML-SV-II-union-short-gYear-enumeration-1-1 tokoe:invalid" result="pass"/><test-case name="23143NISTXML-SV-II-union-short-gYear-enumeration-1-2 tokoe:invalid" result="pass"/><test-case name="23144NISTXML-SV-II-union-short-gYear-enumeration-1-3 tokoe:invalid" result="pass"/><test-case name="23145NISTXML-SV-II-union-short-gYear-enumeration-1-4 tokoe:invalid" result="pass"/><test-case name="23146NISTXML-SV-II-union-short-gYear-enumeration-1-5 tokoe:invalid" result="pass"/><test-case name="23147NISTSchema-SV-II-union-short-gYear-enumeration-2 tokoe:valid" result="pass"/><test-case name="23148NISTXML-SV-II-union-short-gYear-enumeration-2-1 tokoe:invalid" result="pass"/><test-case name="23149NISTXML-SV-II-union-short-gYear-enumeration-2-2 tokoe:invalid" result="pass"/><test-case name="23150NISTXML-SV-II-union-short-gYear-enumeration-2-3 tokoe:invalid" result="pass"/><test-case name="23151NISTXML-SV-II-union-short-gYear-enumeration-2-4 tokoe:invalid" result="pass"/><test-case name="23152NISTXML-SV-II-union-short-gYear-enumeration-2-5 tokoe:invalid" result="pass"/><test-case name="23153NISTSchema-SV-II-union-short-gYear-enumeration-3 tokoe:valid" result="pass"/><test-case name="23154NISTXML-SV-II-union-short-gYear-enumeration-3-1 tokoe:invalid" result="pass"/><test-case name="23155NISTXML-SV-II-union-short-gYear-enumeration-3-2 tokoe:invalid" result="pass"/><test-case name="23156NISTXML-SV-II-union-short-gYear-enumeration-3-3 tokoe:invalid" result="pass"/><test-case name="23157NISTXML-SV-II-union-short-gYear-enumeration-3-4 tokoe:invalid" result="pass"/><test-case name="23158NISTXML-SV-II-union-short-gYear-enumeration-3-5 tokoe:invalid" result="pass"/><test-case name="23159NISTSchema-SV-II-union-short-gYear-enumeration-4 tokoe:valid" result="pass"/><test-case name="23160NISTXML-SV-II-union-short-gYear-enumeration-4-1 tokoe:invalid" result="pass"/><test-case name="23161NISTXML-SV-II-union-short-gYear-enumeration-4-2 tokoe:invalid" result="pass"/><test-case name="23162NISTXML-SV-II-union-short-gYear-enumeration-4-3 tokoe:invalid" result="pass"/><test-case name="23163NISTXML-SV-II-union-short-gYear-enumeration-4-4 tokoe:invalid" result="pass"/><test-case name="23164NISTXML-SV-II-union-short-gYear-enumeration-4-5 tokoe:invalid" result="pass"/><test-case name="23165NISTSchema-SV-II-union-short-gYear-enumeration-5 tokoe:valid" result="pass"/><test-case name="23166NISTXML-SV-II-union-short-gYear-enumeration-5-1 tokoe:invalid" result="pass"/><test-case name="23167NISTXML-SV-II-union-short-gYear-enumeration-5-2 tokoe:invalid" result="pass"/><test-case name="23168NISTXML-SV-II-union-short-gYear-enumeration-5-3 tokoe:invalid" result="pass"/><test-case name="23169NISTXML-SV-II-union-short-gYear-enumeration-5-4 tokoe:invalid" result="pass"/><test-case name="23170NISTXML-SV-II-union-short-gYear-enumeration-5-5 tokoe:invalid" result="pass"/><test-case name="23171test tokoe:valid" result="pass"/><test-case name="23172test.1.v tokoe:valid" result="pass"/><test-case name="23173test.2.n tokoe:invalid" result="pass"/><test-case name="23174test tokoe:valid" result="pass"/><test-case name="23175test.1.v tokoe:valid" result="pass"/><test-case name="23176test.2.n tokoe:invalid" result="pass"/><test-case name="23177test.3.n tokoe:invalid" result="pass"/><test-case name="23178test.4.n tokoe:invalid" result="pass"/><test-case name="23179test.5.n tokoe:invalid" result="pass"/><test-case name="23180test tokoe:valid" result="pass"/><test-case name="23181test.1.v tokoe:valid" result="pass"/><test-case name="23182test.2.n tokoe:invalid" result="pass"/><test-case name="23183test.3.n tokoe:invalid" result="pass"/><test-case name="23184test.4.n tokoe:invalid" result="pass"/><test-case name="23185test.5.n tokoe:invalid" result="pass"/><test-case name="23186test tokoe:valid" result="pass"/><test-case name="23187test.1.v tokoe:valid" result="pass"/><test-case name="23188test.2.n tokoe:invalid" result="pass"/><test-case name="23189test.3.n tokoe:invalid" result="pass"/><test-case name="23190test.4.n tokoe:invalid" result="pass"/><test-case name="23191test.5.n tokoe:invalid" result="pass"/><test-case name="23192test tokoe:valid" result="pass"/><test-case name="23193test.1.v tokoe:valid" result="pass"/><test-case name="23194test.2.n tokoe:invalid" result="pass"/><test-case name="23195test.3.n tokoe:invalid" result="pass"/><test-case name="23196test.4.n tokoe:invalid" result="pass"/><test-case name="23197test.5.n tokoe:invalid" result="pass"/><test-case name="23198test tokoe:valid" result="pass"/><test-case name="23199test.1.v tokoe:valid" result="pass"/><test-case name="23200test.10.n tokoe:invalid" result="pass"/><test-case name="23201test.11.n tokoe:invalid" result="pass"/><test-case name="23202test.12.n tokoe:invalid" result="pass"/><test-case name="23203test.13.n tokoe:invalid" result="pass"/><test-case name="23204test.14.n tokoe:invalid" result="pass"/><test-case name="23205test.15.n tokoe:invalid" result="pass"/><test-case name="23206test.16.n tokoe:invalid" result="pass"/><test-case name="23207test.17.n tokoe:invalid" result="pass"/><test-case name="23208test.18.n tokoe:invalid" result="pass"/><test-case name="23209test.19.n tokoe:invalid" result="pass"/><test-case name="23210test.2.v tokoe:valid" result="pass"/><test-case name="23211test.20.n tokoe:invalid" result="pass"/><test-case name="23212test.21.n tokoe:invalid" result="pass"/><test-case name="23213test.22.n tokoe:invalid" result="pass"/><test-case name="23214test.23.n tokoe:invalid" result="pass"/><test-case name="23215test.24.n tokoe:invalid" result="pass"/><test-case name="23216test.25.n tokoe:invalid" result="pass"/><test-case name="23217test.26.n tokoe:invalid" result="pass"/><test-case name="23218test.27.n tokoe:invalid" result="pass"/><test-case name="23219test.28.n tokoe:invalid" result="pass"/><test-case name="23220test.29.n tokoe:invalid" result="pass"/><test-case name="23221test.3.n tokoe:invalid" result="pass"/><test-case name="23222test.30.n tokoe:invalid" result="pass"/><test-case name="23223test.31.n tokoe:invalid" result="pass"/><test-case name="23224test.32.n tokoe:invalid" result="pass"/><test-case name="23225test.33.n tokoe:invalid" result="pass"/><test-case name="23226test.34.n tokoe:invalid" result="pass"/><test-case name="23227test.4.n tokoe:invalid" result="pass"/><test-case name="23228test.5.n tokoe:invalid" result="pass"/><test-case name="23229test.6.n tokoe:invalid" result="pass"/><test-case name="23230test.7.n tokoe:invalid" result="pass"/><test-case name="23231test.8.n tokoe:invalid" result="pass"/><test-case name="23232test.9.n tokoe:invalid" result="pass"/><test-case name="23233test tokoe:valid" result="pass"/><test-case name="23234test.1.v tokoe:valid" result="pass"/><test-case name="23235test.6.v tokoe:valid" result="pass"/><test-case name="23236test.2.n tokoe:invalid" result="pass"/><test-case name="23237test.3.n tokoe:invalid" result="pass"/><test-case name="23238test.4.n tokoe:invalid" result="pass"/><test-case name="23239test.5.n tokoe:invalid" result="pass"/><test-case name="23240test.7.n tokoe:invalid" result="pass"/><test-case name="23241test.8.n tokoe:invalid" result="pass"/><test-case name="23242test tokoe:valid" result="pass"/><test-case name="23243test.1.n tokoe:invalid" result="pass"/><test-case name="23244test.10.n tokoe:invalid" result="pass"/><test-case name="23245test.11.n tokoe:invalid" result="pass"/><test-case name="23246test.12.n tokoe:invalid" result="pass"/><test-case name="23247test.5.n tokoe:invalid" result="pass"/><test-case name="23248test.7.n tokoe:invalid" result="pass"/><test-case name="23249test.8.n tokoe:invalid" result="pass"/><test-case name="23250test.9.n tokoe:invalid" result="pass"/><test-case name="23251test.2.v tokoe:valid" result="pass"/><test-case name="23252test.3.v tokoe:valid" result="pass"/><test-case name="23253test.4.v tokoe:valid" result="pass"/><test-case name="23254test.6.v tokoe:valid" result="pass"/><test-case name="23255test tokoe:valid" result="pass"/><test-case name="23256test.13.n tokoe:invalid" result="pass"/><test-case name="23257test.8.n tokoe:invalid" result="pass"/><test-case name="23258test.1.v tokoe:valid" result="pass"/><test-case name="23259test.10.v tokoe:valid" result="pass"/><test-case name="23260test.11.v tokoe:valid" result="pass"/><test-case name="23261test.12.v tokoe:valid" result="pass"/><test-case name="23262test.2.v tokoe:valid" result="pass"/><test-case name="23263test.3.v tokoe:valid" result="pass"/><test-case name="23264test.4.v tokoe:valid" result="pass"/><test-case name="23265test.5.v tokoe:valid" result="pass"/><test-case name="23266test.6.v tokoe:valid" result="pass"/><test-case name="23267test.7.v tokoe:valid" result="pass"/><test-case name="23268test.9.v tokoe:valid" result="pass"/><test-case name="23269test tokoe:valid" result="pass"/><test-case name="23270test.1.v tokoe:valid" result="pass"/><test-case name="23271test.2.n tokoe:invalid" result="pass"/><test-case name="23272test tokoe:valid" result="pass"/><test-case name="23273test.1.v tokoe:valid" result="pass"/><test-case name="23274test.2.v tokoe:valid" result="pass"/><test-case name="23275test.3.n tokoe:invalid" result="pass"/><test-case name="23276test tokoe:valid" result="pass"/><test-case name="23277test.1.v tokoe:valid" result="pass"/><test-case name="23278test.2.v tokoe:valid" result="pass"/><test-case name="23279test.3.n tokoe:invalid" result="pass"/><test-case name="23280test tokoe:valid" result="pass"/><test-case name="23281test.1.v tokoe:valid" result="pass"/><test-case name="23282test.2.n tokoe:invalid" result="pass"/><test-case name="23283test.3.n tokoe:invalid" result="pass"/><test-case name="23284idc001.nogen tokoe:valid" result="pass"/><test-case name="23285idc001.nogen.n00 tokoe:invalid" result="pass"/><test-case name="23286idc001.nogen.v00 tokoe:valid" result="pass"/><test-case name="23287idc001.nogen.v01 tokoe:valid" result="pass"/><test-case name="23288idc002.e tokoe:invalid" result="pass"/><test-case name="23289idc002b.e tokoe:invalid" result="pass"/><test-case name="23290idc003.e tokoe:invalid" result="pass"/><test-case name="23291idc004.nogen tokoe:valid" result="pass"/><test-case name="23292idc004.nogen.n00 tokoe:invalid" result="pass"/><test-case name="23293idc004.nogen.n01 tokoe:invalid" result="pass"/><test-case name="23294idc004.nogen.n02 tokoe:invalid" result="pass"/><test-case name="23295idc004.nogen.n03 tokoe:invalid" result="pass"/><test-case name="23296idc004.nogen.v00 tokoe:valid" result="pass"/><test-case name="23297idc004a.e tokoe:invalid" result="pass"/><test-case name="23298idc005.nogen tokoe:valid" result="pass"/><test-case name="23299idc005.nogen.n00 tokoe:invalid" result="pass"/><test-case name="23300idc005.nogen.n01 tokoe:invalid" result="pass"/><test-case name="23301idc005.nogen.v00 tokoe:valid" result="pass"/><test-case name="23302idc006.nogen tokoe:valid" result="pass"/><test-case name="23303idc006.nogen.n00 tokoe:invalid" result="pass"/><test-case name="23304idc006.nogen.n01 tokoe:invalid" result="pass"/><test-case name="23305idc006.nogen.v00 tokoe:valid" result="pass"/><test-case name="23306xsd001 tokoe:valid" result="pass"/><test-case name="23307xsd001.n00 tokoe:invalid" result="pass"/><test-case name="23308xsd001.n01 tokoe:invalid" result="pass"/><test-case name="23309xsd001.n02 tokoe:invalid" result="pass"/><test-case name="23310xsd001.n03 tokoe:invalid" result="pass"/><test-case name="23311xsd001.n04 tokoe:invalid" result="pass"/><test-case name="23312xsd001.n05 tokoe:invalid" result="pass"/><test-case name="23313xsd001.n06 tokoe:invalid" result="pass"/><test-case name="23314xsd001.n07 tokoe:invalid" result="pass"/><test-case name="23315xsd001.v00 tokoe:valid" result="pass"/><test-case name="23316xsd001.v01 tokoe:valid" result="pass"/><test-case name="23317xsd001.v02 tokoe:valid" result="pass"/><test-case name="23318xsd001.v03 tokoe:valid" result="pass"/><test-case name="23319xsd002 tokoe:valid" result="pass"/><test-case name="23320xsd002.n00 tokoe:invalid" result="pass"/><test-case name="23321xsd002.n01 tokoe:invalid" result="pass"/><test-case name="23322xsd002.n02 tokoe:invalid" result="pass"/><test-case name="23323xsd002.v00 tokoe:valid" result="pass"/><test-case name="23324xsd002.v01 tokoe:valid" result="pass"/><test-case name="23325xsd003-1.e tokoe:invalid" result="pass"/><test-case name="23326xsd003-2.e tokoe:invalid" result="pass"/><test-case name="23327xsd003a tokoe:valid" result="pass"/><test-case name="23328xsd003a.v00 tokoe:valid" result="pass"/><test-case name="23329xsd003b.e tokoe:invalid" result="pass"/><test-case name="23330xsd003b tokoe:valid" result="pass"/><test-case name="23331xsd003b.n00 tokoe:invalid" result="pass"/><test-case name="23332xsd003b.n01 tokoe:invalid" result="pass"/><test-case name="23333xsd003b.v00 tokoe:valid" result="pass"/><test-case name="23334xsd003b.v01 tokoe:valid" result="pass"/><test-case name="23335xsd004 tokoe:valid" result="pass"/><test-case name="23336xsd004.n00 tokoe:invalid" result="pass"/><test-case name="23337xsd004.n01 tokoe:invalid" result="pass"/><test-case name="23338xsd004.n02 tokoe:invalid" result="pass"/><test-case name="23339xsd004.n03 tokoe:invalid" result="pass"/><test-case name="23340xsd004.n04 tokoe:invalid" result="pass"/><test-case name="23341xsd004.n05 tokoe:invalid" result="pass"/><test-case name="23342xsd004.n06 tokoe:invalid" result="pass"/><test-case name="23343xsd004.n07 tokoe:invalid" result="pass"/><test-case name="23344xsd004.n08 tokoe:invalid" result="pass"/><test-case name="23345xsd004.n09 tokoe:invalid" result="pass"/><test-case name="23346xsd004.n10 tokoe:invalid" result="pass"/><test-case name="23347xsd004.n11 tokoe:invalid" result="pass"/><test-case name="23348xsd004.n12 tokoe:invalid" result="pass"/><test-case name="23349xsd004.v00 tokoe:valid" result="pass"/><test-case name="23350xsd005 tokoe:valid" result="pass"/><test-case name="23351xsd005.n00 tokoe:invalid" result="pass"/><test-case name="23352xsd005.n01 tokoe:invalid" result="pass"/><test-case name="23353xsd005.n02 tokoe:invalid" result="pass"/><test-case name="23354xsd005.n03 tokoe:invalid" result="pass"/><test-case name="23355xsd005.n04 tokoe:invalid" result="pass"/><test-case name="23356xsd005.n05 tokoe:invalid" result="pass"/><test-case name="23357xsd005.n06 tokoe:invalid" result="pass"/><test-case name="23358xsd005.v00 tokoe:valid" result="pass"/><test-case name="23359xsd006 tokoe:valid" result="pass"/><test-case name="23360xsd006.n00 tokoe:invalid" result="pass"/><test-case name="23361xsd006.n01 tokoe:invalid" result="pass"/><test-case name="23362xsd006.n02 tokoe:invalid" result="pass"/><test-case name="23363xsd006.n03 tokoe:invalid" result="pass"/><test-case name="23364xsd006.n04 tokoe:invalid" result="pass"/><test-case name="23365xsd006.n05 tokoe:invalid" result="pass"/><test-case name="23366xsd006.n06 tokoe:invalid" result="pass"/><test-case name="23367xsd006.n07 tokoe:invalid" result="pass"/><test-case name="23368xsd006.n08 tokoe:invalid" result="pass"/><test-case name="23369xsd006.n09 tokoe:invalid" result="pass"/><test-case name="23370xsd006.n10 tokoe:invalid" result="pass"/><test-case name="23371xsd006.n11 tokoe:invalid" result="pass"/><test-case name="23372xsd006.v00 tokoe:valid" result="pass"/><test-case name="23373xsd007.e tokoe:invalid" result="pass"/><test-case name="23374xsd008 tokoe:valid" result="pass"/><test-case name="23375xsd008.n00 tokoe:invalid" result="pass"/><test-case name="23376xsd008.n01 tokoe:invalid" result="pass"/><test-case name="23377xsd008.n02 tokoe:invalid" result="pass"/><test-case name="23378xsd008.v00 tokoe:valid" result="pass"/><test-case name="23379xsd009.e tokoe:invalid" result="pass"/><test-case name="23380xsd010.e tokoe:invalid" result="pass"/><test-case name="23381xsd011 tokoe:valid" result="pass"/><test-case name="23382xsd011.n00 tokoe:invalid" result="pass"/><test-case name="23383xsd011.n01 tokoe:invalid" result="pass"/><test-case name="23384xsd011.n02 tokoe:invalid" result="pass"/><test-case name="23385xsd011.n03 tokoe:invalid" result="pass"/><test-case name="23386xsd011.n04 tokoe:invalid" result="pass"/><test-case name="23387xsd011.v00 tokoe:valid" result="pass"/><test-case name="23388xsd012 tokoe:valid" result="pass"/><test-case name="23389xsd012.n00 tokoe:invalid" result="pass"/><test-case name="23390xsd012.v00 tokoe:valid" result="pass"/><test-case name="23391xsd013.e tokoe:invalid" result="pass"/><test-case name="23392xsd014.e tokoe:invalid" result="pass"/><test-case name="23393xsd015.e tokoe:invalid" result="pass"/><test-case name="23394xsd016.e tokoe:invalid" result="pass"/><test-case name="23395xsd017.e tokoe:invalid" result="pass"/><test-case name="23396xsd018.e tokoe:invalid" result="pass"/><test-case name="23397xsd019.e tokoe:invalid" result="pass"/><test-case name="23398xsd020-2.e tokoe:invalid" result="pass"/><test-case name="23399xsd020-3.e tokoe:invalid" result="pass"/><test-case name="23400xsd020-4.e tokoe:invalid" result="pass"/><test-case name="23401xsd020.e tokoe:invalid" result="pass"/><test-case name="23402xsd021 tokoe:valid" result="pass"/><test-case name="23403xsd021.n00 tokoe:invalid" result="pass"/><test-case name="23404xsd021.n01 tokoe:invalid" result="pass"/><test-case name="23405xsd021.n02 tokoe:invalid" result="pass"/><test-case name="23406xsd021.n03 tokoe:invalid" result="pass"/><test-case name="23407xsd021.n04 tokoe:invalid" result="pass"/><test-case name="23408xsd021.n05 tokoe:invalid" result="pass"/><test-case name="23409xsd021.n06 tokoe:invalid" result="pass"/><test-case name="23410xsd021.n07 tokoe:invalid" result="pass"/><test-case name="23411xsd021.n08 tokoe:invalid" result="pass"/><test-case name="23412xsd021.n09 tokoe:invalid" result="pass"/><test-case name="23413xsd021.n10 tokoe:invalid" result="pass"/><test-case name="23414xsd021.n11 tokoe:invalid" result="pass"/><test-case name="23415xsd021.v00 tokoe:valid" result="pass"/><test-case name="23416xsd022 tokoe:valid" result="pass"/><test-case name="23417xsd022.n00 tokoe:invalid" result="pass"/><test-case name="23418xsd022.v00 tokoe:valid" result="pass"/><test-case name="23419xsd023.e tokoe:invalid" result="pass"/><test-case name="23420xsd024 tokoe:valid" result="pass"/><test-case name="23421xsd024.v00 tokoe:valid" result="pass"/><test-case name="23422AG_attrUseNS00101m1_p tokoe:valid" result="pass"/><test-case name="23423Positive tokoe:valid" result="pass"/><test-case name="23424AG_attrUseNS00101m1_n tokoe:invalid" result="pass"/><test-case name="23425AG_attrWCard00101m1 tokoe:valid" result="pass"/><test-case name="23426Positive tokoe:valid" result="pass"/><test-case name="23427AG_name00101m1_p tokoe:valid" result="pass"/><test-case name="23428Positive tokoe:valid" result="pass"/><test-case name="23429AG_name00101m1_n tokoe:invalid" result="pass"/><test-case name="23430AG_targetNS00101m1_p tokoe:valid" result="pass"/><test-case name="23431Positive tokoe:valid" result="pass"/><test-case name="23432AG_targetNS00101m1_n tokoe:invalid" result="pass"/><test-case name="23433annotation00101m1 tokoe:valid" result="pass"/><test-case name="23434Positive tokoe:valid" result="pass"/><test-case name="23435annotation00101m2 tokoe:invalid" result="pass"/><test-case name="23436annotation00101m3 tokoe:invalid" result="pass"/><test-case name="23437annotation00101m4 tokoe:valid" result="pass"/><test-case name="23438Positive tokoe:valid" result="pass"/><test-case name="23439annotation00101m5 tokoe:invalid" result="pass"/><test-case name="23440annotation00101m6 tokoe:invalid" result="pass"/><test-case name="23441AD_annotation00101m1 tokoe:valid" result="pass"/><test-case name="23442Positive tokoe:valid" result="pass"/><test-case name="23443AD_annotation00101m2 tokoe:valid" result="pass"/><test-case name="23444Positive tokoe:valid" result="pass"/><test-case name="23445AD_name00101m1 tokoe:valid" result="pass"/><test-case name="23446Positive tokoe:valid" result="pass"/><test-case name="23447Negative tokoe:invalid" result="pass"/><test-case name="23448AD_name00101m2 tokoe:valid" result="pass"/><test-case name="23449Positive tokoe:valid" result="pass"/><test-case name="23450Negative tokoe:invalid" result="pass"/><test-case name="23451AD_name00101m3 tokoe:valid" result="pass"/><test-case name="23452Positive tokoe:valid" result="pass"/><test-case name="23453Negative tokoe:invalid" result="pass"/><test-case name="23454AD_name00101m4 tokoe:valid" result="pass"/><test-case name="23455Positive tokoe:valid" result="pass"/><test-case name="23456Negative tokoe:invalid" result="pass"/><test-case name="23457AD_name00102m1 tokoe:valid" result="pass"/><test-case name="23458Positive tokoe:valid" result="pass"/><test-case name="23459AD_name00103m1 tokoe:valid" result="pass"/><test-case name="23460Positive tokoe:valid" result="pass"/><test-case name="23461AD_name00103m2 tokoe:valid" result="pass"/><test-case name="23462Positive tokoe:valid" result="pass"/><test-case name="23463AD_name00104m1 tokoe:valid" result="pass"/><test-case name="23464Positive tokoe:valid" result="pass"/><test-case name="23465AD_name00104m10 tokoe:valid" result="pass"/><test-case name="23466Positive tokoe:valid" result="pass"/><test-case name="23467AD_name00104m11 tokoe:valid" result="pass"/><test-case name="23468Positive tokoe:valid" result="pass"/><test-case name="23469AD_name00104m12 tokoe:valid" result="pass"/><test-case name="23470Positive tokoe:valid" result="pass"/><test-case name="23471AD_name00104m13 tokoe:valid" result="pass"/><test-case name="23472Positive tokoe:valid" result="pass"/><test-case name="23473AD_name00104m14 tokoe:valid" result="pass"/><test-case name="23474Positive tokoe:valid" result="pass"/><test-case name="23475AD_name00104m15 tokoe:valid" result="pass"/><test-case name="23476Positive tokoe:valid" result="pass"/><test-case name="23477AD_name00104m16 tokoe:valid" result="pass"/><test-case name="23478Positive tokoe:valid" result="pass"/><test-case name="23479AD_name00104m17 tokoe:valid" result="pass"/><test-case name="23480Positive tokoe:valid" result="pass"/><test-case name="23481AD_name00104m18 tokoe:valid" result="pass"/><test-case name="23482Positive tokoe:valid" result="pass"/><test-case name="23483AD_name00104m19 tokoe:valid" result="pass"/><test-case name="23484Positive tokoe:valid" result="pass"/><test-case name="23485AD_name00104m2 tokoe:valid" result="pass"/><test-case name="23486Positive tokoe:valid" result="pass"/><test-case name="23487AD_name00104m20 tokoe:valid" result="pass"/><test-case name="23488Positive tokoe:valid" result="pass"/><test-case name="23489AD_name00104m21 tokoe:valid" result="pass"/><test-case name="23490Positive tokoe:valid" result="pass"/><test-case name="23491AD_name00104m3 tokoe:valid" result="pass"/><test-case name="23492Positive tokoe:valid" result="pass"/><test-case name="23493AD_name00104m4 tokoe:valid" result="pass"/><test-case name="23494Positive tokoe:valid" result="pass"/><test-case name="23495AD_name00104m5 tokoe:valid" result="pass"/><test-case name="23496Positive tokoe:valid" result="pass"/><test-case name="23497AD_name00104m6 tokoe:valid" result="pass"/><test-case name="23498Positive tokoe:valid" result="pass"/><test-case name="23499AD_name00104m7 tokoe:valid" result="pass"/><test-case name="23500Positive tokoe:valid" result="pass"/><test-case name="23501AD_name00104m8 tokoe:valid" result="pass"/><test-case name="23502Positive tokoe:valid" result="pass"/><test-case name="23503AD_name00104m9 tokoe:valid" result="pass"/><test-case name="23504Positive tokoe:valid" result="pass"/><test-case name="23505AD_name00105m1 tokoe:valid" result="pass"/><test-case name="23506Positive tokoe:valid" result="pass"/><test-case name="23507AD_name00106m1 tokoe:valid" result="pass"/><test-case name="23508Positive tokoe:valid" result="pass"/><test-case name="23509AD_name00107m1 tokoe:valid" result="pass"/><test-case name="23510Positive tokoe:valid" result="pass"/><test-case name="23511AD_name00108m1 tokoe:valid" result="pass"/><test-case name="23512Positive tokoe:valid" result="pass"/><test-case name="23513AD_name00108m10 tokoe:valid" result="pass"/><test-case name="23514Positive tokoe:valid" result="pass"/><test-case name="23515AD_name00108m11 tokoe:valid" result="pass"/><test-case name="23516Positive tokoe:valid" result="pass"/><test-case name="23517AD_name00108m12 tokoe:valid" result="pass"/><test-case name="23518Positive tokoe:valid" result="pass"/><test-case name="23519AD_name00108m13 tokoe:valid" result="pass"/><test-case name="23520Positive tokoe:valid" result="pass"/><test-case name="23521AD_name00108m14 tokoe:valid" result="pass"/><test-case name="23522Positive tokoe:valid" result="pass"/><test-case name="23523AD_name00108m15 tokoe:valid" result="pass"/><test-case name="23524Positive tokoe:valid" result="pass"/><test-case name="23525AD_name00108m16 tokoe:valid" result="pass"/><test-case name="23526Positive tokoe:valid" result="pass"/><test-case name="23527AD_name00108m17 tokoe:valid" result="pass"/><test-case name="23528Positive tokoe:valid" result="pass"/><test-case name="23529AD_name00108m18 tokoe:valid" result="pass"/><test-case name="23530Positive tokoe:valid" result="pass"/><test-case name="23531AD_name00108m19 tokoe:valid" result="pass"/><test-case name="23532Positive tokoe:valid" result="pass"/><test-case name="23533AD_name00108m2 tokoe:valid" result="pass"/><test-case name="23534Positive tokoe:valid" result="pass"/><test-case name="23535AD_name00108m20 tokoe:valid" result="pass"/><test-case name="23536Positive tokoe:valid" result="pass"/><test-case name="23537AD_name00108m21 tokoe:valid" result="pass"/><test-case name="23538Positive tokoe:valid" result="pass"/><test-case name="23539AD_name00108m3 tokoe:valid" result="pass"/><test-case name="23540Positive tokoe:valid" result="pass"/><test-case name="23541AD_name00108m4 tokoe:valid" result="pass"/><test-case name="23542Positive tokoe:valid" result="pass"/><test-case name="23543AD_name00108m5 tokoe:valid" result="pass"/><test-case name="23544Positive tokoe:valid" result="pass"/><test-case name="23545AD_name00108m6 tokoe:valid" result="pass"/><test-case name="23546Positive tokoe:valid" result="pass"/><test-case name="23547AD_name00108m7 tokoe:valid" result="pass"/><test-case name="23548Positive tokoe:valid" result="pass"/><test-case name="23549AD_name00108m8 tokoe:valid" result="pass"/><test-case name="23550Positive tokoe:valid" result="pass"/><test-case name="23551AD_name00108m9 tokoe:valid" result="pass"/><test-case name="23552Positive tokoe:valid" result="pass"/><test-case name="23553AD_name00109m1 tokoe:valid" result="pass"/><test-case name="23554Positive tokoe:valid" result="pass"/><test-case name="23555AD_name00109m2 tokoe:valid" result="pass"/><test-case name="23556Positive tokoe:valid" result="pass"/><test-case name="23557AD_name00110m1 tokoe:valid" result="pass"/><test-case name="23558Positive tokoe:valid" result="pass"/><test-case name="23559AD_name00110m10 tokoe:valid" result="pass"/><test-case name="23560Positive tokoe:valid" result="pass"/><test-case name="23561AD_name00110m2 tokoe:valid" result="pass"/><test-case name="23562Positive tokoe:valid" result="pass"/><test-case name="23563AD_name00110m3 tokoe:valid" result="pass"/><test-case name="23564Positive tokoe:valid" result="pass"/><test-case name="23565AD_name00110m4 tokoe:valid" result="pass"/><test-case name="23566Positive tokoe:valid" result="pass"/><test-case name="23567AD_name00110m5 tokoe:valid" result="pass"/><test-case name="23568Positive tokoe:valid" result="pass"/><test-case name="23569AD_name00110m6 tokoe:valid" result="pass"/><test-case name="23570Positive tokoe:valid" result="pass"/><test-case name="23571AD_name00110m7 tokoe:valid" result="pass"/><test-case name="23572Positive tokoe:valid" result="pass"/><test-case name="23573AD_name00110m8 tokoe:valid" result="pass"/><test-case name="23574Positive tokoe:valid" result="pass"/><test-case name="23575AD_name00110m9 tokoe:valid" result="pass"/><test-case name="23576Positive tokoe:valid" result="pass"/><test-case name="23577AD_name00111 tokoe:valid" result="pass"/><test-case name="23578AD_name00111_p tokoe:valid" result="pass"/><test-case name="23579AD_name00112 tokoe:valid" result="pass"/><test-case name="23580AD_name00112_p tokoe:valid" result="pass"/><test-case name="23581AD_name00113 tokoe:valid" result="pass"/><test-case name="23582AD_name00113_p tokoe:valid" result="pass"/><test-case name="23583AD_name00114 tokoe:valid" result="pass"/><test-case name="23584AD_name00114_p tokoe:valid" result="pass"/><test-case name="23585AD_name00115 tokoe:valid" result="pass"/><test-case name="23586AD_name00115_p tokoe:valid" result="pass"/><test-case name="23587AD_name00118 tokoe:valid" result="pass"/><test-case name="23588AD_name00118_p tokoe:valid" result="pass"/><test-case name="23589AD_scope00101m1 tokoe:valid" result="pass"/><test-case name="23590Positive tokoe:valid" result="pass"/><test-case name="23591AD_scope00101m2 tokoe:invalid" result="pass"/><test-case name="23592AD_targetNS00101m tokoe:valid" result="pass"/><test-case name="23593AD_targetNS00101m1_p tokoe:valid" result="pass"/><test-case name="23594AD_targetNS00101m1_n tokoe:invalid" result="pass"/><test-case name="23595AD_targetNS00101m2_n tokoe:invalid" result="pass"/><test-case name="23596AD_targetNS00101m3_p tokoe:valid" result="pass"/><test-case name="23597AD_targetNS00101m3_n tokoe:invalid" result="pass"/><test-case name="23598AD_type00101m tokoe:valid" result="pass"/><test-case name="23599AD_type00101m1_p tokoe:valid" result="pass"/><test-case name="23600AD_type00101m1_n tokoe:invalid" result="pass"/><test-case name="23601AD_type00101m2_p tokoe:valid" result="pass"/><test-case name="23602AD_type00101m2_n tokoe:invalid" result="pass"/><test-case name="23603AD_type00102m tokoe:valid" result="pass"/><test-case name="23604AD_type00102m1_p tokoe:valid" result="pass"/><test-case name="23605AD_type00102m1_n tokoe:invalid" result="pass"/><test-case name="23606AD_type00102m2_p tokoe:valid" result="pass"/><test-case name="23607AD_type00102m2_n tokoe:invalid" result="pass"/><test-case name="23608AD_valConstr00101m tokoe:valid" result="pass"/><test-case name="23609AD_valConstr00101m1_p tokoe:valid" result="pass"/><test-case name="23610AD_valConstr00101m1_n tokoe:invalid" result="pass"/><test-case name="23611AD_valConstr00101m2_p tokoe:valid" result="pass"/><test-case name="23612AD_valConstr00101m2_n tokoe:invalid" result="pass"/><test-case name="23613AD_valConstr00201m1 tokoe:invalid" result="pass"/><test-case name="23614AD_valConstr00201m2 tokoe:invalid" result="pass"/><test-case name="23615AD_valConstr00201m3 tokoe:valid" result="pass"/><test-case name="23616Positive tokoe:valid" result="pass"/><test-case name="23617AD_valConstr00201m4 tokoe:invalid" result="pass"/><test-case name="23618AD_valConstr00201m5 tokoe:invalid" result="pass"/><test-case name="23619AU_attrDecl00101m1_p tokoe:valid" result="pass"/><test-case name="23620Positive tokoe:valid" result="pass"/><test-case name="23621AU_attrDecl00101m1_n tokoe:invalid" result="pass"/><test-case name="23622AU_required00101m1 tokoe:valid" result="pass"/><test-case name="23623Positive tokoe:valid" result="pass"/><test-case name="23624Negative tokoe:invalid" result="pass"/><test-case name="23625AU_valConstr00101m1 tokoe:valid" result="pass"/><test-case name="23626Positive tokoe:valid" result="pass"/><test-case name="23627Negative tokoe:invalid" result="pass"/><test-case name="23628abstract00101m1 tokoe:valid" result="pass"/><test-case name="23629Positive tokoe:valid" result="pass"/><test-case name="23630Negative tokoe:invalid" result="pass"/><test-case name="23631abstract00101m2 tokoe:valid" result="pass"/><test-case name="23632Negative tokoe:invalid" result="pass"/><test-case name="23633annotation00101m1 tokoe:valid" result="pass"/><test-case name="23634Positive tokoe:valid" result="pass"/><test-case name="23635annotation00101m2 tokoe:valid" result="pass"/><test-case name="23636Positive tokoe:valid" result="pass"/><test-case name="23637annotation00101m3 tokoe:invalid" result="pass"/><test-case name="23638annotation00101m4 tokoe:invalid" result="pass"/><test-case name="23639attrWildcard00101m1 tokoe:valid" result="pass"/><test-case name="23640Positive tokoe:valid" result="pass"/><test-case name="23641attributeUses00101m1 tokoe:valid" result="pass"/><test-case name="23642Positive tokoe:valid" result="pass"/><test-case name="23643Negative tokoe:invalid" result="pass"/><test-case name="23644baseTD00101m1 tokoe:valid" result="pass"/><test-case name="23645Positive tokoe:valid" result="pass"/><test-case name="23646Negative tokoe:invalid" result="pass"/><test-case name="23647baseTD00101m2 tokoe:valid" result="pass"/><test-case name="23648Positive tokoe:valid" result="pass"/><test-case name="23649Negative tokoe:invalid" result="pass"/><test-case name="23650baseTD00101m3 tokoe:valid" result="pass"/><test-case name="23651Positive tokoe:valid" result="pass"/><test-case name="23652Negative tokoe:invalid" result="pass"/><test-case name="23653baseTD00101m4 tokoe:valid" result="pass"/><test-case name="23654Positive tokoe:valid" result="pass"/><test-case name="23655Negative tokoe:invalid" result="pass"/><test-case name="23656contentType00101m tokoe:valid" result="pass"/><test-case name="23657contentType00101m1_p tokoe:valid" result="pass"/><test-case name="23658contentType00101m1_n tokoe:invalid" result="pass"/><test-case name="23659contentType00201m tokoe:valid" result="pass"/><test-case name="23660contentType00201m1_p tokoe:valid" result="pass"/><test-case name="23661contentType00201m1_n tokoe:invalid" result="pass"/><test-case name="23662contentType00301m tokoe:valid" result="pass"/><test-case name="23663contentType00301m1_p tokoe:valid" result="pass"/><test-case name="23664contentType00301m1_n tokoe:invalid" result="pass"/><test-case name="23665contentType00401m tokoe:valid" result="pass"/><test-case name="23666contentType00401m1_p tokoe:valid" result="pass"/><test-case name="23667contentType00401m1_n tokoe:invalid" result="pass"/><test-case name="23668derivationMethod00101m1 tokoe:valid" result="pass"/><test-case name="23669Positive tokoe:valid" result="pass"/><test-case name="23670Negative tokoe:invalid" result="pass"/><test-case name="23671derivationMethod00101m2 tokoe:valid" result="pass"/><test-case name="23672Positive tokoe:valid" result="pass"/><test-case name="23673Negative tokoe:invalid" result="pass"/><test-case name="23674derivationMethod00102m1 tokoe:valid" result="pass"/><test-case name="23675Positive tokoe:valid" result="pass"/><test-case name="23676Negative tokoe:invalid" result="pass"/><test-case name="23677derivationMethod00102m2 tokoe:valid" result="pass"/><test-case name="23678Positive tokoe:valid" result="pass"/><test-case name="23679Negative tokoe:invalid" result="pass"/><test-case name="23680final00101m2 tokoe:invalid" result="pass"/><test-case name="23681final00101m3 tokoe:valid" result="pass"/><test-case name="23682Positive tokoe:valid" result="pass"/><test-case name="23683Negative tokoe:invalid" result="pass"/><test-case name="23684final00101m4 tokoe:invalid" result="pass"/><test-case name="23685final00101m5 tokoe:invalid" result="pass"/><test-case name="23686final00101m6 tokoe:invalid" result="pass"/><test-case name="23687name00101m tokoe:valid" result="pass"/><test-case name="23688name00101m1_p tokoe:valid" result="pass"/><test-case name="23689name00101m1_n tokoe:invalid" result="pass"/><test-case name="23690pSubstitutions00101m tokoe:valid" result="pass"/><test-case name="23691pSubstitutions00101m1_p tokoe:valid" result="pass"/><test-case name="23692pSubstitutions00101m1_n tokoe:invalid" result="pass"/><test-case name="23693pSubstitutions00101m2_p tokoe:valid" result="pass"/><test-case name="23694pSubstitutions00101m2_n tokoe:invalid" result="pass"/><test-case name="23695pSubstitutions00102m tokoe:valid" result="pass"/><test-case name="23696pSubstitutions00102m1_p tokoe:valid" result="pass"/><test-case name="23697pSubstitutions00102m1_n tokoe:invalid" result="pass"/><test-case name="23698pSubstitutions00102m2_p tokoe:valid" result="pass"/><test-case name="23699pSubstitutions00102m2_n tokoe:invalid" result="pass"/><test-case name="23700pSubstitutions00103m tokoe:valid" result="pass"/><test-case name="23701pSubstitutions00103m1_p tokoe:valid" result="pass"/><test-case name="23702pSubstitutions00103m1_n tokoe:invalid" result="pass"/><test-case name="23703pSubstitutions00103m2_p tokoe:valid" result="pass"/><test-case name="23704pSubstitutions00103m2_n tokoe:invalid" result="pass"/><test-case name="23705pSubstitutions00104m tokoe:valid" result="pass"/><test-case name="23706pSubstitutions00104m1_p tokoe:valid" result="pass"/><test-case name="23707pSubstitutions00104m1_n tokoe:invalid" result="pass"/><test-case name="23708pSubstitutions00104m2_p tokoe:valid" result="pass"/><test-case name="23709pSubstitutions00104m2_n tokoe:invalid" result="pass"/><test-case name="23710targetNS00101m tokoe:valid" result="pass"/><test-case name="23711targetNS00101m1_p tokoe:valid" result="pass"/><test-case name="23712targetNS00101m1_n tokoe:invalid" result="pass"/><test-case name="23713abstract00101m tokoe:valid" result="pass"/><test-case name="23714abstract00101m1_p tokoe:valid" result="pass"/><test-case name="23715abstract00101m1_n tokoe:invalid" result="pass"/><test-case name="23716abstract00201m1 tokoe:valid" result="pass"/><test-case name="23717Negative tokoe:invalid" result="pass"/><test-case name="23718abstract00201m2 tokoe:valid" result="pass"/><test-case name="23719Positive tokoe:valid" result="pass"/><test-case name="23720abstract00201m3 tokoe:valid" result="pass"/><test-case name="23721Positive tokoe:valid" result="pass"/><test-case name="23722annotation00101m1 tokoe:valid" result="pass"/><test-case name="23723Positive tokoe:valid" result="pass"/><test-case name="23724annotation00101m2 tokoe:invalid" result="pass"/><test-case name="23725annotation00101m3 tokoe:valid" result="pass"/><test-case name="23726Positive tokoe:valid" result="pass"/><test-case name="23727annotation00101m4 tokoe:invalid" result="pass"/><test-case name="23728disallowedSubst00101m tokoe:valid" result="pass"/><test-case name="23729disallowedSubst00101m1_p tokoe:valid" result="pass"/><test-case name="23730disallowedSubst00101m1_n tokoe:invalid" result="pass"/><test-case name="23731disallowedSubst00102m1 tokoe:valid" result="pass"/><test-case name="23732Positive tokoe:valid" result="pass"/><test-case name="23733disallowedSubst00102m2 tokoe:valid" result="pass"/><test-case name="23734Negative tokoe:invalid" result="pass"/><test-case name="23735disallowedSubst00105m tokoe:valid" result="pass"/><test-case name="23736disallowedSubst00105m1_p tokoe:valid" result="pass"/><test-case name="23737disallowedSubst00105m1_n tokoe:invalid" result="pass"/><test-case name="23738disallowedSubst00106m1 tokoe:valid" result="pass"/><test-case name="23739Positive tokoe:valid" result="pass"/><test-case name="23740disallowedSubst00106m2 tokoe:valid" result="pass"/><test-case name="23741Negative tokoe:invalid" result="pass"/><test-case name="23742disallowedSubst00202m1 tokoe:invalid" result="pass"/><test-case name="23743disallowedSubst00202m10 tokoe:invalid" result="pass"/><test-case name="23744disallowedSubst00202m11 tokoe:invalid" result="pass"/><test-case name="23745disallowedSubst00202m12 tokoe:valid" result="pass"/><test-case name="23746Positive tokoe:valid" result="pass"/><test-case name="23747disallowedSubst00202m2 tokoe:invalid" result="pass"/><test-case name="23748disallowedSubst00202m3 tokoe:invalid" result="pass"/><test-case name="23749disallowedSubst00202m4 tokoe:invalid" result="pass"/><test-case name="23750disallowedSubst00202m5 tokoe:invalid" result="pass"/><test-case name="23751disallowedSubst00202m6 tokoe:invalid" result="pass"/><test-case name="23752disallowedSubst00202m7 tokoe:invalid" result="pass"/><test-case name="23753disallowedSubst00202m8 tokoe:invalid" result="pass"/><test-case name="23754disallowedSubst00202m9 tokoe:invalid" result="pass"/><test-case name="23755disallowedSubst00301m1 tokoe:valid" result="pass"/><test-case name="23756Positive tokoe:valid" result="pass"/><test-case name="23757disallowedSubst00301m2 tokoe:valid" result="pass"/><test-case name="23758Negative tokoe:invalid" result="pass"/><test-case name="23759disallowedSubst00401m1 tokoe:valid" result="pass"/><test-case name="23760Positive tokoe:valid" result="pass"/><test-case name="23761disallowedSubst00401m2 tokoe:valid" result="pass"/><test-case name="23762Negative tokoe:invalid" result="pass"/><test-case name="23763disallowedSubst00501m1 tokoe:valid" result="pass"/><test-case name="23764Positive tokoe:valid" result="pass"/><test-case name="23765disallowedSubst00501m2 tokoe:valid" result="pass"/><test-case name="23766Negative tokoe:invalid" result="pass"/><test-case name="23767disallowedSubst00502m1 tokoe:valid" result="pass"/><test-case name="23768Positive tokoe:valid" result="pass"/><test-case name="23769disallowedSubst00502m2 tokoe:valid" result="pass"/><test-case name="23770Positive tokoe:valid" result="pass"/><test-case name="23771disallowedSubst00502m3 tokoe:valid" result="pass"/><test-case name="23772Negative tokoe:invalid" result="pass"/><test-case name="23773disallowedSubst00502m4 tokoe:valid" result="pass"/><test-case name="23774Negative tokoe:invalid" result="pass"/><test-case name="23775disallowedSubst00503m1 tokoe:valid" result="pass"/><test-case name="23776Positive tokoe:valid" result="pass"/><test-case name="23777disallowedSubst00503m2 tokoe:valid" result="pass"/><test-case name="23778Positive tokoe:valid" result="pass"/><test-case name="23779disallowedSubst00503m3 tokoe:valid" result="pass"/><test-case name="23780Negative tokoe:invalid" result="pass"/><test-case name="23781disallowedSubst00503m4 tokoe:valid" result="pass"/><test-case name="23782Negative tokoe:invalid" result="pass"/><test-case name="23783disallowedSubst00503m5 tokoe:valid" result="pass"/><test-case name="23784Negative tokoe:invalid" result="pass"/><test-case name="23785idConstrDefs00101m tokoe:valid" result="pass"/><test-case name="23786idConstrDefs00101m1_p tokoe:valid" result="pass"/><test-case name="23787idConstrDefs00101m1_n tokoe:invalid" result="pass"/><test-case name="23788idConstrDefs00201m tokoe:valid" result="pass"/><test-case name="23789idConstrDefs00201m1_p tokoe:valid" result="pass"/><test-case name="23790idConstrDefs00201m2_n tokoe:invalid" result="pass"/><test-case name="23791idConstrDefs00201m3_n tokoe:invalid" result="pass"/><test-case name="23792idConstrDefs00201m4_n tokoe:invalid" result="pass"/><test-case name="23793idConstrDefs00202m tokoe:valid" result="pass"/><test-case name="23794idConstrDefs00202m1_p tokoe:valid" result="pass"/><test-case name="23795idConstrDefs00202m1_n tokoe:invalid" result="pass"/><test-case name="23796idConstrDefs00203m tokoe:valid" result="pass"/><test-case name="23797idConstrDefs00203m1_p tokoe:valid" result="pass"/><test-case name="23798idConstrDefs00203m1_n tokoe:invalid" result="pass"/><test-case name="23799idConstrDefs00204m tokoe:valid" result="pass"/><test-case name="23800idConstrDefs00204m1_p tokoe:valid" result="pass"/><test-case name="23801idConstrDefs00204m1_n tokoe:invalid" result="pass"/><test-case name="23802idConstrDefs00301m tokoe:valid" result="pass"/><test-case name="23803idConstrDefs00301m1_p tokoe:valid" result="pass"/><test-case name="23804idConstrDefs00301m2_n tokoe:invalid" result="pass"/><test-case name="23805idConstrDefs00301m3_n tokoe:invalid" result="pass"/><test-case name="23806idConstrDefs00301m4_n tokoe:invalid" result="pass"/><test-case name="23807idConstrDefs00302m tokoe:valid" result="pass"/><test-case name="23808idConstrDefs00302m1_p tokoe:valid" result="pass"/><test-case name="23809idConstrDefs00302m2_n tokoe:invalid" result="pass"/><test-case name="23810idConstrDefs00302m3_n tokoe:invalid" result="pass"/><test-case name="23811idConstrDefs00302m4_n tokoe:invalid" result="pass"/><test-case name="23812idConstrDefs00401m tokoe:valid" result="pass"/><test-case name="23813idConstrDefs00401m1_p tokoe:valid" result="pass"/><test-case name="23814idConstrDefs00402m tokoe:valid" result="pass"/><test-case name="23815idConstrDefs00402m1_p tokoe:valid" result="pass"/><test-case name="23816idConstrDefs00402m1_n tokoe:invalid" result="pass"/><test-case name="23817idConstrDefs00403m tokoe:valid" result="pass"/><test-case name="23818idConstrDefs00403m1_p tokoe:valid" result="pass"/><test-case name="23819idConstrDefs00403m1_n tokoe:invalid" result="pass"/><test-case name="23820idConstrDefs00501m tokoe:valid" result="pass"/><test-case name="23821idConstrDefs00501m1_p tokoe:valid" result="pass"/><test-case name="23822idConstrDefs00501m1_n tokoe:invalid" result="pass"/><test-case name="23823maxOccurs00101m tokoe:valid" result="pass"/><test-case name="23824maxOccurs00101m1_p tokoe:valid" result="pass"/><test-case name="23825maxOccurs00101m1_n tokoe:invalid" result="pass"/><test-case name="23826maxOccurs00201m tokoe:valid" result="pass"/><test-case name="23827maxOccurs00201m1_p tokoe:valid" result="pass"/><test-case name="23828maxOccurs00201m1_n tokoe:invalid" result="pass"/><test-case name="23829minOccurs00101m tokoe:valid" result="pass"/><test-case name="23830minOccurs00101m1_p tokoe:valid" result="pass"/><test-case name="23831minOccurs00101m1_n tokoe:invalid" result="pass"/><test-case name="23832minOccurs00201m tokoe:valid" result="pass"/><test-case name="23833minOccurs00201m1_p tokoe:valid" result="pass"/><test-case name="23834minOccurs00201m1_n tokoe:invalid" result="pass"/><test-case name="23835name00101m tokoe:valid" result="pass"/><test-case name="23836name00101m1_p tokoe:valid" result="pass"/><test-case name="23837name00101m1_n tokoe:invalid" result="pass"/><test-case name="23838name00201m1 tokoe:valid" result="pass"/><test-case name="23839Positive tokoe:valid" result="pass"/><test-case name="23840name00201m2 tokoe:valid" result="pass"/><test-case name="23841Positive tokoe:valid" result="pass"/><test-case name="23842name00301m1 tokoe:valid" result="pass"/><test-case name="23843Positive tokoe:valid" result="pass"/><test-case name="23844name00401m1 tokoe:valid" result="pass"/><test-case name="23845Positive tokoe:valid" result="pass"/><test-case name="23846name00401m2 tokoe:valid" result="pass"/><test-case name="23847Positive tokoe:valid" result="pass"/><test-case name="23848name00401m3 tokoe:invalid" result="pass"/><test-case name="23849name00401m4 tokoe:invalid" result="pass"/><test-case name="23850name00401m5 tokoe:invalid" result="pass"/><test-case name="23851name00501m1 tokoe:valid" result="pass"/><test-case name="23852Positive tokoe:valid" result="pass"/><test-case name="23853name00501m10 tokoe:invalid" result="pass"/><test-case name="23854name00501m11 tokoe:valid" result="pass"/><test-case name="23855Positive tokoe:valid" result="pass"/><test-case name="23856name00501m12 tokoe:invalid" result="pass"/><test-case name="23857name00501m13 tokoe:valid" result="pass"/><test-case name="23858Positive tokoe:valid" result="pass"/><test-case name="23859name00501m14 tokoe:valid" result="pass"/><test-case name="23860Positive tokoe:valid" result="pass"/><test-case name="23861name00501m15 tokoe:valid" result="pass"/><test-case name="23862Positive tokoe:valid" result="pass"/><test-case name="23863name00501m2 tokoe:invalid" result="pass"/><test-case name="23864name00501m3 tokoe:valid" result="pass"/><test-case name="23865Positive tokoe:valid" result="pass"/><test-case name="23866name00501m4 tokoe:invalid" result="pass"/><test-case name="23867name00501m5 tokoe:valid" result="pass"/><test-case name="23868Positive tokoe:valid" result="pass"/><test-case name="23869name00501m6 tokoe:invalid" result="pass"/><test-case name="23870name00501m7 tokoe:valid" result="pass"/><test-case name="23871Positive tokoe:valid" result="pass"/><test-case name="23872name00501m8 tokoe:invalid" result="pass"/><test-case name="23873name00501m9 tokoe:valid" result="pass"/><test-case name="23874Positive tokoe:valid" result="pass"/><test-case name="23875name00502m1 tokoe:valid" result="pass"/><test-case name="23876Positive tokoe:valid" result="pass"/><test-case name="23877name00502m2 tokoe:invalid" result="pass"/><test-case name="23878name00503m1 tokoe:valid" result="pass"/><test-case name="23879Positive tokoe:valid" result="pass"/><test-case name="23880name00503m2 tokoe:invalid" result="pass"/><test-case name="23881name00504m1 tokoe:valid" result="pass"/><test-case name="23882Positive tokoe:valid" result="pass"/><test-case name="23883name00504m2 tokoe:invalid" result="pass"/><test-case name="23884name00504m3 tokoe:valid" result="pass"/><test-case name="23885Positive tokoe:valid" result="pass"/><test-case name="23886name00504m4 tokoe:invalid" result="pass"/><test-case name="23887name00505m1 tokoe:valid" result="pass"/><test-case name="23888Positive tokoe:valid" result="pass"/><test-case name="23889name00505m2 tokoe:invalid" result="pass"/><test-case name="23890name00601m tokoe:valid" result="pass"/><test-case name="23891name00601m1_p tokoe:valid" result="pass"/><test-case name="23892name00601m1_n tokoe:invalid" result="pass"/><test-case name="23893name00801 tokoe:valid" result="pass"/><test-case name="23894name00801_p tokoe:valid" result="pass"/><test-case name="23895name00802 tokoe:valid" result="pass"/><test-case name="23896name00802_p tokoe:valid" result="pass"/><test-case name="23897name00803 tokoe:valid" result="pass"/><test-case name="23898name00803_p tokoe:valid" result="pass"/><test-case name="23899name00804 tokoe:valid" result="pass"/><test-case name="23900name00804_p tokoe:valid" result="pass"/><test-case name="23901name00805 tokoe:valid" result="pass"/><test-case name="23902name00805_p tokoe:valid" result="pass"/><test-case name="23903nillable00101m1 tokoe:valid" result="pass"/><test-case name="23904Positive tokoe:valid" result="pass"/><test-case name="23905nillable00101m2 tokoe:valid" result="pass"/><test-case name="23906Negative tokoe:invalid" result="pass"/><test-case name="23907nillable00102m tokoe:valid" result="pass"/><test-case name="23908nillable00102m1_p tokoe:valid" result="pass"/><test-case name="23909nillable00102m1_n tokoe:invalid" result="pass"/><test-case name="23910nillable00201m tokoe:valid" result="pass"/><test-case name="23911nillable00201m1_n tokoe:invalid" result="pass"/><test-case name="23912nillable00201m2_n tokoe:invalid" result="pass"/><test-case name="23913nillable00201m3_p tokoe:valid" result="pass"/><test-case name="23914nillable00301m tokoe:valid" result="pass"/><test-case name="23915nillable00301m1_p tokoe:valid" result="pass"/><test-case name="23916nillable00301m1_n tokoe:invalid" result="pass"/><test-case name="23917nillable00302m tokoe:valid" result="pass"/><test-case name="23918nillable00302m1_p tokoe:valid" result="pass"/><test-case name="23919nillable00302m1_n tokoe:invalid" result="pass"/><test-case name="23920nillable00401m1 tokoe:valid" result="pass"/><test-case name="23921Positive tokoe:valid" result="pass"/><test-case name="23922nillable00401m2 tokoe:valid" result="pass"/><test-case name="23923Positive tokoe:valid" result="pass"/><test-case name="23924scope00101m tokoe:valid" result="pass"/><test-case name="23925scope00101m1_p tokoe:valid" result="pass"/><test-case name="23926scope00201m1 tokoe:valid" result="pass"/><test-case name="23927Positive tokoe:valid" result="pass"/><test-case name="23928scope00201m2 tokoe:invalid" result="pass"/><test-case name="23929scope00301m tokoe:valid" result="pass"/><test-case name="23930scope00301m1_p tokoe:valid" result="pass"/><test-case name="23931substGrpAffil00101m tokoe:valid" result="pass"/><test-case name="23932substGrpAffil00101m1_p tokoe:valid" result="pass"/><test-case name="23933substGrpAffil00101m1_n tokoe:invalid" result="pass"/><test-case name="23934substGrpAffil00201m tokoe:valid" result="pass"/><test-case name="23935substGrpAffil00201m1_p tokoe:valid" result="pass"/><test-case name="23936substGrpAffil00201m1_n tokoe:invalid" result="pass"/><test-case name="23937substGrpExcl00202m1 tokoe:valid" result="pass"/><test-case name="23938Positive tokoe:valid" result="pass"/><test-case name="23939substGrpExcl00202m2 tokoe:invalid" result="pass"/><test-case name="23940substGrpExcl00301m1 tokoe:valid" result="pass"/><test-case name="23941Positive tokoe:valid" result="pass"/><test-case name="23942substGrpExcl00301m3 tokoe:valid" result="pass"/><test-case name="23943Positive tokoe:valid" result="pass"/><test-case name="23944substGrpExcl00303m1 tokoe:valid" result="pass"/><test-case name="23945Positive tokoe:valid" result="pass"/><test-case name="23946substGrpExcl00303m2 tokoe:invalid" result="pass"/><test-case name="23947substGrpExcl00303m3 tokoe:valid" result="pass"/><test-case name="23948Positive tokoe:valid" result="pass"/><test-case name="23949substGrpExcl00401m1 tokoe:valid" result="pass"/><test-case name="23950Positive tokoe:valid" result="pass"/><test-case name="23951substGrpExcl00401m2 tokoe:valid" result="pass"/><test-case name="23952Positive tokoe:valid" result="pass"/><test-case name="23953substGrpExcl00401m3 tokoe:valid" result="pass"/><test-case name="23954Positive tokoe:valid" result="pass"/><test-case name="23955substGrpExcl00401m4 tokoe:valid" result="pass"/><test-case name="23956Positive tokoe:valid" result="pass"/><test-case name="23957substGrpExcl00401m5 tokoe:valid" result="pass"/><test-case name="23958Positive tokoe:valid" result="pass"/><test-case name="23959substGrpExcl00401m6 tokoe:valid" result="pass"/><test-case name="23960Positive tokoe:valid" result="pass"/><test-case name="23961substGrpExcl00402m1 tokoe:invalid" result="pass"/><test-case name="23962substGrpExcl00402m2 tokoe:invalid" result="pass"/><test-case name="23963substGrpExcl00402m3 tokoe:invalid" result="pass"/><test-case name="23964substGrpExcl00402m4 tokoe:invalid" result="pass"/><test-case name="23965substGrpExcl00402m5 tokoe:invalid" result="pass"/><test-case name="23966substGrpExcl00402m6 tokoe:invalid" result="pass"/><test-case name="23967substGrpExcl00402m7 tokoe:valid" result="pass"/><test-case name="23968Positive tokoe:valid" result="pass"/><test-case name="23969targetNS00101m tokoe:valid" result="pass"/><test-case name="23970targetNS00101m1_p tokoe:valid" result="pass"/><test-case name="23971targetNS00201m tokoe:valid" result="pass"/><test-case name="23972targetNS00201m1_p tokoe:valid" result="pass"/><test-case name="23973targetNS00201m1_n tokoe:invalid" result="pass"/><test-case name="23974targetNS00301m1 tokoe:valid" result="pass"/><test-case name="23975Positive tokoe:valid" result="pass"/><test-case name="23976Negative tokoe:invalid" result="pass"/><test-case name="23977targetNS00301m2 tokoe:valid" result="pass"/><test-case name="23978Positive tokoe:valid" result="pass"/><test-case name="23979Negative tokoe:invalid" result="pass"/><test-case name="23980targetNS00301m3 tokoe:valid" result="pass"/><test-case name="23981Positive tokoe:valid" result="pass"/><test-case name="23982Negative tokoe:invalid" result="pass"/><test-case name="23983targetNS00302m1 tokoe:valid" result="pass"/><test-case name="23984Positive tokoe:valid" result="pass"/><test-case name="23985Negative tokoe:invalid" result="pass"/><test-case name="23986targetNS00302m2 tokoe:valid" result="pass"/><test-case name="23987Positive tokoe:valid" result="pass"/><test-case name="23988Negative tokoe:invalid" result="pass"/><test-case name="23989targetNS00302m3 tokoe:valid" result="pass"/><test-case name="23990Positive tokoe:valid" result="pass"/><test-case name="23991Negative tokoe:invalid" result="pass"/><test-case name="23992targetNS00303m1 tokoe:valid" result="pass"/><test-case name="23993Positive tokoe:valid" result="pass"/><test-case name="23994Negative tokoe:invalid" result="pass"/><test-case name="23995targetNS00303m2 tokoe:valid" result="pass"/><test-case name="23996Positive tokoe:valid" result="pass"/><test-case name="23997Negative tokoe:invalid" result="pass"/><test-case name="23998targetNS00303m3 tokoe:valid" result="pass"/><test-case name="23999Positive tokoe:valid" result="pass"/><test-case name="24000Negative tokoe:invalid" result="pass"/><test-case name="24001targetNS00401m tokoe:valid" result="pass"/><test-case name="24002targetNS00401m1_p tokoe:valid" result="pass"/><test-case name="24003targetNS00401m1_n tokoe:invalid" result="pass"/><test-case name="24004targetNS00402m tokoe:valid" result="pass"/><test-case name="24005targetNS00402m1_p tokoe:valid" result="pass"/><test-case name="24006targetNS00402m1_n tokoe:invalid" result="pass"/><test-case name="24007term00101m tokoe:valid" result="pass"/><test-case name="24008term00101m1_p tokoe:valid" result="pass"/><test-case name="24009term00101m1_n tokoe:invalid" result="pass"/><test-case name="24010typeDef00101m tokoe:valid" result="pass"/><test-case name="24011typeDef00101m1_p tokoe:valid" result="pass"/><test-case name="24012typeDef00101m1_n tokoe:invalid" result="pass"/><test-case name="24013typeDef00201m tokoe:valid" result="pass"/><test-case name="24014typeDef00201m1_p tokoe:valid" result="pass"/><test-case name="24015typeDef00201m1_n tokoe:invalid" result="pass"/><test-case name="24016typeDef00202m tokoe:valid" result="pass"/><test-case name="24017typeDef00202m1_p tokoe:valid" result="pass"/><test-case name="24018typeDef00202m1_n tokoe:invalid" result="pass"/><test-case name="24019typeDef00203m tokoe:valid" result="pass"/><test-case name="24020typeDef00203m1_p tokoe:valid" result="pass"/><test-case name="24021typeDef00203m1_n tokoe:invalid" result="pass"/><test-case name="24022typeDef00204m tokoe:valid" result="pass"/><test-case name="24023typeDef00204m1_p tokoe:valid" result="pass"/><test-case name="24024typeDef00204m1_n tokoe:invalid" result="pass"/><test-case name="24025typeDef00205m tokoe:valid" result="pass"/><test-case name="24026typeDef00205m1_p tokoe:valid" result="pass"/><test-case name="24027typeDef00301m tokoe:valid" result="pass"/><test-case name="24028typeDef00301m1_p tokoe:valid" result="pass"/><test-case name="24029typeDef00301m1_n tokoe:invalid" result="pass"/><test-case name="24030typeDef00401m tokoe:valid" result="pass"/><test-case name="24031typeDef00401m1_p tokoe:valid" result="pass"/><test-case name="24032typeDef00401m1_n tokoe:invalid" result="pass"/><test-case name="24033typeDef00402m tokoe:valid" result="pass"/><test-case name="24034typeDef00402m1_p tokoe:valid" result="pass"/><test-case name="24035typeDef00402m1_n tokoe:invalid" result="pass"/><test-case name="24036typeDef00403m tokoe:valid" result="pass"/><test-case name="24037typeDef00403m1_p tokoe:valid" result="pass"/><test-case name="24038typeDef00501m1 tokoe:valid" result="pass"/><test-case name="24039Positive tokoe:valid" result="pass"/><test-case name="24040typeDef00501m2 tokoe:invalid" result="pass"/><test-case name="24041typeDef00502m1 tokoe:valid" result="pass"/><test-case name="24042Positive tokoe:valid" result="pass"/><test-case name="24043typeDef00502m2 tokoe:invalid" result="pass"/><test-case name="24044typeDef00601m tokoe:valid" result="pass"/><test-case name="24045typeDef00601m1_p tokoe:valid" result="pass"/><test-case name="24046typeDef00701m tokoe:valid" result="pass"/><test-case name="24047typeDef00701m1_p tokoe:valid" result="pass"/><test-case name="24048typeDef00701m1_n tokoe:invalid" result="pass"/><test-case name="24049typeDef00801m1 tokoe:valid" result="pass"/><test-case name="24050Positive tokoe:valid" result="pass"/><test-case name="24051typeDef00801m2 tokoe:valid" result="pass"/><test-case name="24052Negative tokoe:invalid" result="pass"/><test-case name="24053typeDef00801m3 tokoe:valid" result="pass"/><test-case name="24054Negative tokoe:invalid" result="pass"/><test-case name="24055typeDef00802m1 tokoe:valid" result="pass"/><test-case name="24056Positive tokoe:valid" result="pass"/><test-case name="24057Negative tokoe:invalid" result="pass"/><test-case name="24058typeDef00802m2 tokoe:valid" result="pass"/><test-case name="24059Negative tokoe:invalid" result="pass"/><test-case name="24060typeDef00901m1 tokoe:valid" result="pass"/><test-case name="24061Positive tokoe:valid" result="pass"/><test-case name="24062Negative tokoe:invalid" result="pass"/><test-case name="24063typeDef01101m1 tokoe:valid" result="pass"/><test-case name="24064Positive tokoe:valid" result="pass"/><test-case name="24065Negative tokoe:invalid" result="pass"/><test-case name="24066typeDef01201m1 tokoe:valid" result="pass"/><test-case name="24067Positive tokoe:valid" result="pass"/><test-case name="24068Negative tokoe:invalid" result="pass"/><test-case name="24069typeDef01202m1 tokoe:valid" result="pass"/><test-case name="24070Positive tokoe:valid" result="pass"/><test-case name="24071Negative tokoe:invalid" result="pass"/><test-case name="24072typeDef01301m1 tokoe:valid" result="pass"/><test-case name="24073Positive tokoe:valid" result="pass"/><test-case name="24074Negative tokoe:invalid" result="pass"/><test-case name="24075typeDef01401m1 tokoe:valid" result="pass"/><test-case name="24076Positive tokoe:valid" result="pass"/><test-case name="24077Negative tokoe:invalid" result="pass"/><test-case name="24078typeDef01501m1 tokoe:valid" result="pass"/><test-case name="24079Positive tokoe:valid" result="pass"/><test-case name="24080Negative tokoe:invalid" result="pass"/><test-case name="24081valueConstraint00101m1 tokoe:valid" result="pass"/><test-case name="24082Positive tokoe:valid" result="pass"/><test-case name="24083valueConstraint00101m2 tokoe:invalid" result="pass"/><test-case name="24084valueConstraint00201m tokoe:valid" result="pass"/><test-case name="24085valueConstraint00201m1_p tokoe:valid" result="pass"/><test-case name="24086valueConstraint00201m1_n tokoe:invalid" result="pass"/><test-case name="24087valueConstraint00301m1 tokoe:valid" result="pass"/><test-case name="24088Positive tokoe:valid" result="pass"/><test-case name="24089valueConstraint00301m2 tokoe:valid" result="pass"/><test-case name="24090Positive tokoe:valid" result="pass"/><test-case name="24091valueConstraint00301m3 tokoe:invalid" result="pass"/><test-case name="24092valueConstraint00301m4 tokoe:invalid" result="pass"/><test-case name="24093valueConstraint00301m5 tokoe:invalid" result="pass"/><test-case name="24094valueConstraint00401m1 tokoe:valid" result="pass"/><test-case name="24095Positive tokoe:valid" result="pass"/><test-case name="24096valueConstraint00401m2 tokoe:invalid" result="pass"/><test-case name="24097valueConstraint00401m3 tokoe:valid" result="pass"/><test-case name="24098Positive tokoe:valid" result="pass"/><test-case name="24099valueConstraint00401m4 tokoe:valid" result="pass"/><test-case name="24100Positive tokoe:valid" result="pass"/><test-case name="24101valueConstraint00401m5 tokoe:valid" result="pass"/><test-case name="24102Positive tokoe:valid" result="pass"/><test-case name="24103valueConstraint00401m6 tokoe:invalid" result="pass"/><test-case name="24104valueConstraint00401m7 tokoe:valid" result="pass"/><test-case name="24105Positive tokoe:valid" result="pass"/><test-case name="24106valueConstraint00401m8 tokoe:invalid" result="pass"/><test-case name="24107valueConstraint00401m9 tokoe:valid" result="pass"/><test-case name="24108Positive tokoe:valid" result="pass"/><test-case name="24109valueConstraint00402m1 tokoe:valid" result="pass"/><test-case name="24110Positive tokoe:valid" result="pass"/><test-case name="24111valueConstraint00402m2 tokoe:invalid" result="pass"/><test-case name="24112valueConstraint00402m3 tokoe:valid" result="pass"/><test-case name="24113Positive tokoe:valid" result="pass"/><test-case name="24114valueConstraint00402m4 tokoe:valid" result="pass"/><test-case name="24115Positive tokoe:valid" result="pass"/><test-case name="24116valueConstraint00402m5 tokoe:valid" result="pass"/><test-case name="24117Positive tokoe:valid" result="pass"/><test-case name="24118valueConstraint00402m6 tokoe:invalid" result="pass"/><test-case name="24119valueConstraint00402m7 tokoe:valid" result="pass"/><test-case name="24120Positive tokoe:valid" result="pass"/><test-case name="24121valueConstraint00402m8 tokoe:invalid" result="pass"/><test-case name="24122valueConstraint00402m9 tokoe:valid" result="pass"/><test-case name="24123Positive tokoe:valid" result="pass"/><test-case name="24124valueConstraint00501m1 tokoe:valid" result="pass"/><test-case name="24125Positive tokoe:valid" result="pass"/><test-case name="24126valueConstraint00501m2 tokoe:valid" result="pass"/><test-case name="24127Positive tokoe:valid" result="pass"/><test-case name="24128valueConstraint00501m3 tokoe:valid" result="pass"/><test-case name="24129Negative tokoe:invalid" result="pass"/><test-case name="24130valueConstraint00501m4 tokoe:valid" result="pass"/><test-case name="24131Positive tokoe:valid" result="pass"/><test-case name="24132valueConstraint00501m5 tokoe:valid" result="pass"/><test-case name="24133Positive tokoe:valid" result="pass"/><test-case name="24134valueConstraint00501m6 tokoe:valid" result="pass"/><test-case name="24135Negative tokoe:invalid" result="pass"/><test-case name="24136valueConstraint00601m1 tokoe:valid" result="pass"/><test-case name="24137Positive tokoe:valid" result="pass"/><test-case name="24138valueConstraint00601m2 tokoe:invalid" result="pass"/><test-case name="24139valueConstraint00601m3 tokoe:valid" result="pass"/><test-case name="24140Positive tokoe:valid" result="pass"/><test-case name="24141valueConstraint00601m4 tokoe:invalid" result="pass"/><test-case name="24142valueConstraint00601m5 tokoe:valid" result="pass"/><test-case name="24143Positive tokoe:valid" result="pass"/><test-case name="24144valueConstraint00601m6 tokoe:invalid" result="pass"/><test-case name="24145valueConstraint00601m7 tokoe:valid" result="pass"/><test-case name="24146Positive tokoe:valid" result="pass"/><test-case name="24147valueConstraint00601m8 tokoe:invalid" result="pass"/><test-case name="24148valueConstraint00701m1 tokoe:valid" result="pass"/><test-case name="24149Positive tokoe:valid" result="pass"/><test-case name="24150Negative tokoe:invalid" result="pass"/><test-case name="24151valueConstraint00801m1 tokoe:valid" result="pass"/><test-case name="24152Positive tokoe:valid" result="pass"/><test-case name="24153Negative tokoe:invalid" result="pass"/><test-case name="24154valueConstraint00901m1 tokoe:valid" result="pass"/><test-case name="24155Positive tokoe:valid" result="pass"/><test-case name="24156Negative tokoe:invalid" result="pass"/><test-case name="24157valueConstraint01001m1 tokoe:valid" result="pass"/><test-case name="24158Positive tokoe:valid" result="pass"/><test-case name="24159valueConstraint01001m2 tokoe:invalid" result="pass"/><test-case name="24160valueConstraint01001m3 tokoe:invalid" result="pass"/><test-case name="24161valueConstraint01001m4 tokoe:valid" result="pass"/><test-case name="24162Positive tokoe:valid" result="pass"/><test-case name="24163valueConstraint01001m5 tokoe:invalid" result="pass"/><test-case name="24164valueConstraint01001m6 tokoe:invalid" result="pass"/><test-case name="24165valueConstraint01001m7 tokoe:valid" result="pass"/><test-case name="24166Positive tokoe:valid" result="pass"/><test-case name="24167valueConstraint01001m8 tokoe:valid" result="pass"/><test-case name="24168Positive tokoe:valid" result="pass"/><test-case name="24169valueConstraint01101m1 tokoe:valid" result="pass"/><test-case name="24170Positive tokoe:valid" result="pass"/><test-case name="24171valueConstraint01101m2 tokoe:valid" result="pass"/><test-case name="24172Negative tokoe:invalid" result="pass"/><test-case name="24173valueConstraint01101m3 tokoe:valid" result="pass"/><test-case name="24174Positive tokoe:valid" result="pass"/><test-case name="24175valueConstraint01101m4 tokoe:valid" result="pass"/><test-case name="24176Negative tokoe:invalid" result="pass"/><test-case name="24177annotation00101m1 tokoe:valid" result="pass"/><test-case name="24178Positive tokoe:valid" result="pass"/><test-case name="24179annotation00101m2 tokoe:invalid" result="pass"/><test-case name="24180annotation00101m3 tokoe:invalid" result="pass"/><test-case name="24181annotation00101m4 tokoe:valid" result="pass"/><test-case name="24182Positive tokoe:valid" result="pass"/><test-case name="24183annotation00101m5 tokoe:invalid" result="pass"/><test-case name="24184annotation00101m6 tokoe:invalid" result="pass"/><test-case name="24185fields00101m1 tokoe:valid" result="pass"/><test-case name="24186Positive tokoe:valid" result="pass"/><test-case name="24187fields00201m1 tokoe:valid" result="pass"/><test-case name="24188Positive tokoe:valid" result="pass"/><test-case name="24189fields00201m2 tokoe:valid" result="pass"/><test-case name="24190Negative tokoe:invalid" result="pass"/><test-case name="24191fields00201m3 tokoe:valid" result="pass"/><test-case name="24192Negative tokoe:invalid" result="pass"/><test-case name="24193fields00201m4 tokoe:valid" result="pass"/><test-case name="24194Positive tokoe:valid" result="pass"/><test-case name="24195fields00201m5 tokoe:valid" result="pass"/><test-case name="24196Negative tokoe:invalid" result="pass"/><test-case name="24197fields00202m1 tokoe:valid" result="pass"/><test-case name="24198Positive tokoe:valid" result="pass"/><test-case name="24199fields00202m2 tokoe:valid" result="pass"/><test-case name="24200Positive tokoe:valid" result="pass"/><test-case name="24201fields00202m3 tokoe:valid" result="pass"/><test-case name="24202Positive tokoe:valid" result="pass"/><test-case name="24203fields00202m4 tokoe:valid" result="pass"/><test-case name="24204Positive tokoe:valid" result="pass"/><test-case name="24205fields00202m5 tokoe:valid" result="pass"/><test-case name="24206Negative tokoe:invalid" result="pass"/><test-case name="24207fields00203m1 tokoe:valid" result="pass"/><test-case name="24208Positive tokoe:valid" result="pass"/><test-case name="24209fields00203m2 tokoe:valid" result="pass"/><test-case name="24210Negative tokoe:invalid" result="pass"/><test-case name="24211fields00203m3 tokoe:valid" result="pass"/><test-case name="24212Negative tokoe:invalid" result="pass"/><test-case name="24213fields00203m4 tokoe:valid" result="pass"/><test-case name="24214Positive tokoe:valid" result="pass"/><test-case name="24215fields00203m5 tokoe:valid" result="pass"/><test-case name="24216Negative tokoe:invalid" result="pass"/><test-case name="24217name00101m1 tokoe:valid" result="pass"/><test-case name="24218Positive tokoe:valid" result="pass"/><test-case name="24219name00201m1 tokoe:valid" result="pass"/><test-case name="24220Positive tokoe:valid" result="pass"/><test-case name="24221targetNS00101m1 tokoe:valid" result="pass"/><test-case name="24222Positive tokoe:valid" result="pass"/><test-case name="24223targetNS00101m2 tokoe:invalid" result="pass"/><test-case name="24224annotation00101m1 tokoe:valid" result="pass"/><test-case name="24225Positive tokoe:valid" result="pass"/><test-case name="24226annotation00101m10 tokoe:valid" result="pass"/><test-case name="24227Positive tokoe:valid" result="pass"/><test-case name="24228annotation00101m11 tokoe:invalid" result="pass"/><test-case name="24229annotation00101m12 tokoe:invalid" result="pass"/><test-case name="24230annotation00101m13 tokoe:valid" result="pass"/><test-case name="24231Positive tokoe:valid" result="pass"/><test-case name="24232annotation00101m14 tokoe:invalid" result="pass"/><test-case name="24233annotation00101m15 tokoe:invalid" result="pass"/><test-case name="24234annotation00101m16 tokoe:valid" result="pass"/><test-case name="24235Positive tokoe:valid" result="pass"/><test-case name="24236annotation00101m17 tokoe:invalid" result="pass"/><test-case name="24237annotation00101m18 tokoe:invalid" result="pass"/><test-case name="24238annotation00101m2 tokoe:invalid" result="pass"/><test-case name="24239annotation00101m3 tokoe:invalid" result="pass"/><test-case name="24240annotation00101m4 tokoe:valid" result="pass"/><test-case name="24241Positive tokoe:valid" result="pass"/><test-case name="24242annotation00101m5 tokoe:invalid" result="pass"/><test-case name="24243annotation00101m6 tokoe:invalid" result="pass"/><test-case name="24244annotation00101m7 tokoe:valid" result="pass"/><test-case name="24245Positive tokoe:valid" result="pass"/><test-case name="24246annotation00101m8 tokoe:invalid" result="pass"/><test-case name="24247annotation00101m9 tokoe:invalid" result="pass"/><test-case name="24248compositor00101m1 tokoe:valid" result="pass"/><test-case name="24249Positive tokoe:valid" result="pass"/><test-case name="24250Negative tokoe:invalid" result="pass"/><test-case name="24251compositor00102m1 tokoe:valid" result="pass"/><test-case name="24252Positive tokoe:valid" result="pass"/><test-case name="24253Negative tokoe:invalid" result="pass"/><test-case name="24254compositor00103m1 tokoe:valid" result="pass"/><test-case name="24255Positive tokoe:valid" result="pass"/><test-case name="24256Negative tokoe:invalid" result="pass"/><test-case name="24257compositor00201m1 tokoe:valid" result="pass"/><test-case name="24258Positive tokoe:valid" result="pass"/><test-case name="24259compositor00202m1 tokoe:valid" result="pass"/><test-case name="24260Positive tokoe:valid" result="pass"/><test-case name="24261compositor00203m1 tokoe:valid" result="pass"/><test-case name="24262Positive tokoe:valid" result="pass"/><test-case name="24263particles00101m1 tokoe:valid" result="pass"/><test-case name="24264Positive tokoe:valid" result="pass"/><test-case name="24265Negative tokoe:invalid" result="pass"/><test-case name="24266particles00101m2 tokoe:valid" result="pass"/><test-case name="24267Positive tokoe:valid" result="pass"/><test-case name="24268Negative tokoe:invalid" result="pass"/><test-case name="24269particles00102m1 tokoe:invalid" result="pass"/><test-case name="24270particles00103m1 tokoe:invalid" result="pass"/><test-case name="24271particles00104m1 tokoe:invalid" result="pass"/><test-case name="24272particles00105m1 tokoe:invalid" result="pass"/><test-case name="24273particles00201m1 tokoe:valid" result="pass"/><test-case name="24274Positive tokoe:valid" result="pass"/><test-case name="24275Negative tokoe:invalid" result="pass"/><test-case name="24276particles00202m1 tokoe:valid" result="pass"/><test-case name="24277Positive tokoe:valid" result="pass"/><test-case name="24278Negative tokoe:invalid" result="pass"/><test-case name="24279particles00203m1 tokoe:valid" result="pass"/><test-case name="24280Positive tokoe:valid" result="pass"/><test-case name="24281Negative tokoe:invalid" result="pass"/><test-case name="24282particles00204m1 tokoe:valid" result="pass"/><test-case name="24283Positive tokoe:valid" result="pass"/><test-case name="24284Negative tokoe:invalid" result="pass"/><test-case name="24285particles00205m1 tokoe:valid" result="pass"/><test-case name="24286Positive tokoe:valid" result="pass"/><test-case name="24287Negative tokoe:invalid" result="pass"/><test-case name="24288particles00301m1 tokoe:valid" result="pass"/><test-case name="24289Positive tokoe:valid" result="fail"/><test-case name="24290Negative tokoe:invalid" result="pass"/><test-case name="24291particles00302m1 tokoe:valid" result="pass"/><test-case name="24292Positive tokoe:valid" result="fail"/><test-case name="24293Negative tokoe:invalid" result="pass"/><test-case name="24294particles00303m1 tokoe:valid" result="pass"/><test-case name="24295Positive tokoe:valid" result="pass"/><test-case name="24296Negative tokoe:invalid" result="pass"/><test-case name="24297particles00304m1 tokoe:valid" result="pass"/><test-case name="24298Positive tokoe:valid" result="pass"/><test-case name="24299Negative tokoe:invalid" result="pass"/><test-case name="24300particles00305m1 tokoe:valid" result="pass"/><test-case name="24301Positive tokoe:valid" result="pass"/><test-case name="24302Negative tokoe:invalid" result="pass"/><test-case name="24303annotation00101m1 tokoe:valid" result="pass"/><test-case name="24304Positive tokoe:valid" result="pass"/><test-case name="24305annotation00101m2 tokoe:invalid" result="pass"/><test-case name="24306annotation00101m3 tokoe:invalid" result="pass"/><test-case name="24307annotation00101m4 tokoe:valid" result="pass"/><test-case name="24308Positive tokoe:valid" result="pass"/><test-case name="24309annotation00101m5 tokoe:invalid" result="pass"/><test-case name="24310annotation00101m6 tokoe:invalid" result="pass"/><test-case name="24311modelGroup00101m1 tokoe:valid" result="pass"/><test-case name="24312Positive tokoe:valid" result="pass"/><test-case name="24313Negative tokoe:invalid" result="pass"/><test-case name="24314modelGroup00101m2 tokoe:valid" result="pass"/><test-case name="24315Positive tokoe:valid" result="pass"/><test-case name="24316Negative tokoe:invalid" result="pass"/><test-case name="24317modelGroup00101m3 tokoe:valid" result="pass"/><test-case name="24318Positive tokoe:valid" result="pass"/><test-case name="24319Negative tokoe:invalid" result="pass"/><test-case name="24320modelGroup00102m1 tokoe:invalid" result="pass"/><test-case name="24321modelGroup00102m2 tokoe:invalid" result="pass"/><test-case name="24322modelGroup00102m3 tokoe:invalid" result="pass"/><test-case name="24323modelGroup00102m4 tokoe:invalid" result="pass"/><test-case name="24324modelGroup00102m5 tokoe:invalid" result="pass"/><test-case name="24325modelGroup00102m6 tokoe:invalid" result="pass"/><test-case name="24326name00101m1 tokoe:valid" result="pass"/><test-case name="24327Positive tokoe:valid" result="pass"/><test-case name="24328Negative tokoe:invalid" result="pass"/><test-case name="24329targetNS00101m1 tokoe:valid" result="pass"/><test-case name="24330Positive tokoe:valid" result="pass"/><test-case name="24331Negative tokoe:invalid" result="pass"/><test-case name="24332targetNS00101m2 tokoe:valid" result="pass"/><test-case name="24333Positive tokoe:valid" result="pass"/><test-case name="24334Negative tokoe:invalid" result="pass"/><test-case name="24335annotation00101m1 tokoe:valid" result="pass"/><test-case name="24336Positive tokoe:valid" result="pass"/><test-case name="24337annotation00101m2 tokoe:invalid" result="pass"/><test-case name="24338annotation00101m3 tokoe:valid" result="pass"/><test-case name="24339Positive tokoe:valid" result="pass"/><test-case name="24340annotation00101m4 tokoe:invalid" result="pass"/><test-case name="24341name00101m1 tokoe:valid" result="pass"/><test-case name="24342Positive tokoe:valid" result="pass"/><test-case name="24343name00201m1 tokoe:invalid" result="pass"/><test-case name="24344publicId00101m1 tokoe:valid" result="pass"/><test-case name="24345Positive tokoe:valid" result="pass"/><test-case name="24346publicId00201m1 tokoe:invalid" result="pass"/><test-case name="24347systemId00101m1 tokoe:valid" result="pass"/><test-case name="24348Positive tokoe:valid" result="pass"/><test-case name="24349systemId00201m1 tokoe:valid" result="pass"/><test-case name="24350Positive tokoe:valid" result="pass"/><test-case name="24351targetNS00101m1 tokoe:valid" result="pass"/><test-case name="24352Positive tokoe:valid" result="pass"/><test-case name="24353targetNS00101m2 tokoe:valid" result="pass"/><test-case name="24354Positive tokoe:valid" result="pass"/><test-case name="24355ST_annotation00101m1 tokoe:valid" result="pass"/><test-case name="24356Positive tokoe:valid" result="pass"/><test-case name="24357ST_annotation00101m2 tokoe:valid" result="pass"/><test-case name="24358Positive tokoe:valid" result="pass"/><test-case name="24359ST_baseTD00101m tokoe:valid" result="pass"/><test-case name="24360ST_baseTD00101m1_p tokoe:valid" result="pass"/><test-case name="24361ST_baseTD00101m1_n tokoe:invalid" result="pass"/><test-case name="24362ST_baseTD00101m2_p tokoe:valid" result="pass"/><test-case name="24363ST_baseTD00201m tokoe:valid" result="pass"/><test-case name="24364ST_baseTD00201m1_p tokoe:valid" result="pass"/><test-case name="24365ST_baseTD00201m1_n tokoe:invalid" result="pass"/><test-case name="24366ST_baseTD00301m tokoe:valid" result="pass"/><test-case name="24367ST_baseTD00301m1_p tokoe:valid" result="pass"/><test-case name="24368ST_baseTD00301m1_n tokoe:invalid" result="pass"/><test-case name="24369ST_baseTD00302m tokoe:valid" result="pass"/><test-case name="24370ST_baseTD00302m1_p tokoe:valid" result="pass"/><test-case name="24371ST_baseTD00302m1_n tokoe:invalid" result="pass"/><test-case name="24372ST_baseTD00302m2_p tokoe:valid" result="pass"/><test-case name="24373ST_baseTD00302m2_n tokoe:invalid" result="pass"/><test-case name="24374ST_baseTD00302m3_n tokoe:invalid" result="pass"/><test-case name="24375ST_facets00101m tokoe:valid" result="pass"/><test-case name="24376ST_facets00101m1_p tokoe:valid" result="pass"/><test-case name="24377ST_facets00101m1_n tokoe:invalid" result="pass"/><test-case name="24378ST_facets00101m2_p tokoe:valid" result="pass"/><test-case name="24379ST_facets00101m3_p tokoe:valid" result="pass"/><test-case name="24380ST_facets00102m tokoe:valid" result="pass"/><test-case name="24381ST_facets00102m1_p tokoe:valid" result="pass"/><test-case name="24382ST_facets00102m1_n tokoe:invalid" result="pass"/><test-case name="24383ST_facets00103m tokoe:valid" result="pass"/><test-case name="24384ST_facets00103m1_p tokoe:valid" result="pass"/><test-case name="24385ST_facets00103m1_n tokoe:invalid" result="pass"/><test-case name="24386ST_facets00104m tokoe:valid" result="pass"/><test-case name="24387ST_facets00104m1_p tokoe:valid" result="pass"/><test-case name="24388ST_facets00104m1_n tokoe:invalid" result="pass"/><test-case name="24389ST_facets00105m tokoe:valid" result="pass"/><test-case name="24390ST_facets00105m1_p tokoe:valid" result="pass"/><test-case name="24391ST_facets00105m1_n tokoe:invalid" result="pass"/><test-case name="24392ST_facets00106m tokoe:valid" result="pass"/><test-case name="24393ST_facets00106m1_p tokoe:valid" result="pass"/><test-case name="24394ST_facets00106m1_n tokoe:invalid" result="pass"/><test-case name="24395ST_facets00107m tokoe:valid" result="pass"/><test-case name="24396ST_facets00107m1_p tokoe:valid" result="pass"/><test-case name="24397ST_facets00107m1_n tokoe:invalid" result="pass"/><test-case name="24398ST_facets00108m tokoe:valid" result="pass"/><test-case name="24399ST_facets00108m1_p tokoe:valid" result="pass"/><test-case name="24400ST_facets00108m1_n tokoe:invalid" result="pass"/><test-case name="24401ST_facets00109m tokoe:valid" result="pass"/><test-case name="24402ST_facets00109m1_p tokoe:valid" result="pass"/><test-case name="24403ST_facets00109m1_n tokoe:invalid" result="pass"/><test-case name="24404ST_facets00110m tokoe:valid" result="pass"/><test-case name="24405ST_facets00110m1_p tokoe:valid" result="pass"/><test-case name="24406ST_facets00110m1_n tokoe:invalid" result="pass"/><test-case name="24407ST_facets00111m tokoe:valid" result="pass"/><test-case name="24408ST_facets00111m1_p tokoe:valid" result="pass"/><test-case name="24409ST_facets00111m1_n tokoe:invalid" result="pass"/><test-case name="24410ST_facets00112m tokoe:valid" result="pass"/><test-case name="24411ST_facets00112m1_p tokoe:valid" result="pass"/><test-case name="24412ST_facets00112m1_n tokoe:invalid" result="pass"/><test-case name="24413ST_facets00113m tokoe:valid" result="pass"/><test-case name="24414ST_facets00113m1_p tokoe:valid" result="pass"/><test-case name="24415ST_facets00113m1_n tokoe:invalid" result="pass"/><test-case name="24416ST_facets00114m tokoe:valid" result="pass"/><test-case name="24417ST_facets00114m1_p tokoe:valid" result="pass"/><test-case name="24418ST_facets00114m1_n tokoe:invalid" result="pass"/><test-case name="24419ST_facets00115m tokoe:valid" result="pass"/><test-case name="24420ST_facets00115m1_p tokoe:valid" result="pass"/><test-case name="24421ST_facets00115m1_n tokoe:invalid" result="pass"/><test-case name="24422ST_facets00116m tokoe:valid" result="pass"/><test-case name="24423ST_facets00116m1_p tokoe:valid" result="pass"/><test-case name="24424ST_facets00116m1_n tokoe:invalid" result="pass"/><test-case name="24425ST_facets00117m tokoe:valid" result="pass"/><test-case name="24426ST_facets00117m1_p tokoe:valid" result="pass"/><test-case name="24427ST_facets00117m1_n tokoe:invalid" result="pass"/><test-case name="24428ST_facets00118m tokoe:valid" result="pass"/><test-case name="24429ST_facets00118m1_p tokoe:valid" result="pass"/><test-case name="24430ST_facets00118m1_n tokoe:invalid" result="pass"/><test-case name="24431ST_facets00119m tokoe:valid" result="fail"/><test-case name="24432ST_facets00119m1_p tokoe:valid" result="fail"/><test-case name="24433ST_facets00119m1_n tokoe:invalid" result="pass"/><test-case name="24434ST_facets00120m tokoe:valid" result="pass"/><test-case name="24435ST_facets00120m1_p tokoe:valid" result="pass"/><test-case name="24436ST_facets00120m1_n tokoe:invalid" result="pass"/><test-case name="24437ST_facets00121m tokoe:valid" result="pass"/><test-case name="24438ST_facets00121m1_p tokoe:valid" result="pass"/><test-case name="24439ST_facets00121m1_n tokoe:invalid" result="pass"/><test-case name="24440ST_facets00122m tokoe:valid" result="pass"/><test-case name="24441ST_facets00122m1_p tokoe:valid" result="pass"/><test-case name="24442ST_facets00122m1_n tokoe:invalid" result="pass"/><test-case name="24443ST_facets00123m tokoe:valid" result="pass"/><test-case name="24444ST_facets00123m1_p tokoe:valid" result="pass"/><test-case name="24445ST_facets00123m1_n tokoe:invalid" result="pass"/><test-case name="24446ST_facets00124m1 tokoe:valid" result="pass"/><test-case name="24447Positive tokoe:valid" result="pass"/><test-case name="24448Negative tokoe:invalid" result="pass"/><test-case name="24449ST_facets00201m1 tokoe:valid" result="pass"/><test-case name="24450Positive tokoe:valid" result="pass"/><test-case name="24451Negative tokoe:invalid" result="pass"/><test-case name="24452ST_facets00201m10 tokoe:valid" result="pass"/><test-case name="24453Positive tokoe:valid" result="pass"/><test-case name="24454Negative tokoe:invalid" result="pass"/><test-case name="24455ST_facets00201m11 tokoe:valid" result="pass"/><test-case name="24456Positive tokoe:valid" result="pass"/><test-case name="24457Negative tokoe:invalid" result="pass"/><test-case name="24458ST_facets00201m12 tokoe:valid" result="pass"/><test-case name="24459Positive tokoe:valid" result="pass"/><test-case name="24460Negative tokoe:invalid" result="pass"/><test-case name="24461ST_facets00201m13 tokoe:valid" result="pass"/><test-case name="24462Positive tokoe:valid" result="pass"/><test-case name="24463Negative tokoe:invalid" result="pass"/><test-case name="24464ST_facets00201m14 tokoe:valid" result="pass"/><test-case name="24465Positive tokoe:valid" result="pass"/><test-case name="24466Negative tokoe:invalid" result="pass"/><test-case name="24467ST_facets00201m15 tokoe:valid" result="pass"/><test-case name="24468Positive tokoe:valid" result="pass"/><test-case name="24469Negative tokoe:invalid" result="pass"/><test-case name="24470ST_facets00201m16 tokoe:valid" result="pass"/><test-case name="24471Positive tokoe:valid" result="pass"/><test-case name="24472Negative tokoe:invalid" result="pass"/><test-case name="24473ST_facets00201m2 tokoe:valid" result="pass"/><test-case name="24474Positive tokoe:valid" result="pass"/><test-case name="24475Negative tokoe:invalid" result="pass"/><test-case name="24476ST_facets00201m3 tokoe:valid" result="pass"/><test-case name="24477Positive tokoe:valid" result="pass"/><test-case name="24478Negative tokoe:invalid" result="pass"/><test-case name="24479ST_facets00201m4 tokoe:valid" result="pass"/><test-case name="24480Positive tokoe:valid" result="pass"/><test-case name="24481Negative tokoe:invalid" result="pass"/><test-case name="24482ST_facets00201m5 tokoe:valid" result="pass"/><test-case name="24483Positive tokoe:valid" result="pass"/><test-case name="24484Negative tokoe:invalid" result="pass"/><test-case name="24485ST_facets00201m6 tokoe:valid" result="pass"/><test-case name="24486Positive tokoe:valid" result="pass"/><test-case name="24487Negative tokoe:invalid" result="pass"/><test-case name="24488ST_facets00201m7 tokoe:valid" result="pass"/><test-case name="24489Positive tokoe:valid" result="pass"/><test-case name="24490Negative tokoe:invalid" result="pass"/><test-case name="24491ST_facets00201m8 tokoe:valid" result="pass"/><test-case name="24492Positive tokoe:valid" result="pass"/><test-case name="24493Negative tokoe:invalid" result="pass"/><test-case name="24494ST_facets00201m9 tokoe:valid" result="pass"/><test-case name="24495Positive tokoe:valid" result="pass"/><test-case name="24496Negative tokoe:invalid" result="pass"/><test-case name="24497ST_facets00301m tokoe:valid" result="pass"/><test-case name="24498ST_facets00301m1_p tokoe:valid" result="pass"/><test-case name="24499ST_facets00301m1_n tokoe:invalid" result="pass"/><test-case name="24500ST_facets00401m1 tokoe:valid" result="pass"/><test-case name="24501Positive tokoe:valid" result="pass"/><test-case name="24502ST_facets00401m10 tokoe:valid" result="pass"/><test-case name="24503Positive tokoe:valid" result="pass"/><test-case name="24504ST_facets00401m11 tokoe:valid" result="pass"/><test-case name="24505Positive tokoe:valid" result="pass"/><test-case name="24506ST_facets00401m12 tokoe:valid" result="pass"/><test-case name="24507Positive tokoe:valid" result="pass"/><test-case name="24508ST_facets00401m13 tokoe:valid" result="pass"/><test-case name="24509Positive tokoe:valid" result="pass"/><test-case name="24510ST_facets00401m14 tokoe:valid" result="pass"/><test-case name="24511Positive tokoe:valid" result="pass"/><test-case name="24512ST_facets00401m15 tokoe:valid" result="pass"/><test-case name="24513Positive tokoe:valid" result="pass"/><test-case name="24514ST_facets00401m16 tokoe:valid" result="pass"/><test-case name="24515Positive tokoe:valid" result="pass"/><test-case name="24516ST_facets00401m17 tokoe:valid" result="pass"/><test-case name="24517Positive tokoe:valid" result="pass"/><test-case name="24518ST_facets00401m18 tokoe:valid" result="pass"/><test-case name="24519Positive tokoe:valid" result="pass"/><test-case name="24520ST_facets00401m19 tokoe:valid" result="pass"/><test-case name="24521Positive tokoe:valid" result="pass"/><test-case name="24522ST_facets00401m2 tokoe:valid" result="pass"/><test-case name="24523Positive tokoe:valid" result="pass"/><test-case name="24524ST_facets00401m20 tokoe:valid" result="pass"/><test-case name="24525Positive tokoe:valid" result="pass"/><test-case name="24526ST_facets00401m21 tokoe:valid" result="pass"/><test-case name="24527Positive tokoe:valid" result="pass"/><test-case name="24528ST_facets00401m3 tokoe:valid" result="pass"/><test-case name="24529Positive tokoe:valid" result="pass"/><test-case name="24530ST_facets00401m4 tokoe:valid" result="pass"/><test-case name="24531Positive tokoe:valid" result="pass"/><test-case name="24532ST_facets00401m5 tokoe:valid" result="pass"/><test-case name="24533Positive tokoe:valid" result="pass"/><test-case name="24534ST_facets00401m6 tokoe:valid" result="pass"/><test-case name="24535Positive tokoe:valid" result="pass"/><test-case name="24536ST_facets00401m7 tokoe:valid" result="pass"/><test-case name="24537Positive tokoe:valid" result="pass"/><test-case name="24538ST_facets00401m8 tokoe:valid" result="pass"/><test-case name="24539Positive tokoe:valid" result="pass"/><test-case name="24540ST_facets00401m9 tokoe:valid" result="pass"/><test-case name="24541Positive tokoe:valid" result="pass"/><test-case name="24542ST_facets00402m1 tokoe:valid" result="pass"/><test-case name="24543Positive tokoe:valid" result="pass"/><test-case name="24544ST_facets00403m1 tokoe:valid" result="pass"/><test-case name="24545Positive tokoe:valid" result="pass"/><test-case name="24546ST_facets00501m1 tokoe:valid" result="pass"/><test-case name="24547Positive tokoe:valid" result="pass"/><test-case name="24548ST_facets00501m10 tokoe:valid" result="pass"/><test-case name="24549Positive tokoe:valid" result="pass"/><test-case name="24550ST_facets00501m11 tokoe:valid" result="pass"/><test-case name="24551Positive tokoe:valid" result="pass"/><test-case name="24552ST_facets00501m12 tokoe:valid" result="pass"/><test-case name="24553Positive tokoe:valid" result="pass"/><test-case name="24554ST_facets00501m13 tokoe:valid" result="pass"/><test-case name="24555Positive tokoe:valid" result="pass"/><test-case name="24556ST_facets00501m14 tokoe:valid" result="pass"/><test-case name="24557Positive tokoe:valid" result="pass"/><test-case name="24558ST_facets00501m15 tokoe:valid" result="pass"/><test-case name="24559Positive tokoe:valid" result="pass"/><test-case name="24560ST_facets00501m16 tokoe:valid" result="pass"/><test-case name="24561Positive tokoe:valid" result="pass"/><test-case name="24562ST_facets00501m17 tokoe:valid" result="pass"/><test-case name="24563Positive tokoe:valid" result="pass"/><test-case name="24564ST_facets00501m18 tokoe:valid" result="pass"/><test-case name="24565Positive tokoe:valid" result="pass"/><test-case name="24566ST_facets00501m19 tokoe:valid" result="pass"/><test-case name="24567Positive tokoe:valid" result="pass"/><test-case name="24568ST_facets00501m2 tokoe:valid" result="pass"/><test-case name="24569Positive tokoe:valid" result="pass"/><test-case name="24570ST_facets00501m20 tokoe:valid" result="pass"/><test-case name="24571Positive tokoe:valid" result="pass"/><test-case name="24572ST_facets00501m21 tokoe:valid" result="pass"/><test-case name="24573Positive tokoe:valid" result="pass"/><test-case name="24574ST_facets00501m3 tokoe:valid" result="pass"/><test-case name="24575Positive tokoe:valid" result="pass"/><test-case name="24576ST_facets00501m4 tokoe:valid" result="pass"/><test-case name="24577Positive tokoe:valid" result="pass"/><test-case name="24578ST_facets00501m5 tokoe:valid" result="pass"/><test-case name="24579Positive tokoe:valid" result="pass"/><test-case name="24580ST_facets00501m6 tokoe:valid" result="pass"/><test-case name="24581Positive tokoe:valid" result="pass"/><test-case name="24582ST_facets00501m7 tokoe:valid" result="pass"/><test-case name="24583Positive tokoe:valid" result="pass"/><test-case name="24584ST_facets00501m8 tokoe:valid" result="pass"/><test-case name="24585Positive tokoe:valid" result="pass"/><test-case name="24586ST_facets00501m9 tokoe:valid" result="pass"/><test-case name="24587Positive tokoe:valid" result="pass"/><test-case name="24588ST_facets00502m1 tokoe:valid" result="pass"/><test-case name="24589Positive tokoe:valid" result="pass"/><test-case name="24590ST_facets00503m1 tokoe:valid" result="pass"/><test-case name="24591Positive tokoe:valid" result="pass"/><test-case name="24592ST_facets00504m1 tokoe:valid" result="pass"/><test-case name="24593Positive tokoe:valid" result="pass"/><test-case name="24594ST_facets00504m2 tokoe:valid" result="pass"/><test-case name="24595Positive tokoe:valid" result="pass"/><test-case name="24596ST_facets00505m1 tokoe:valid" result="pass"/><test-case name="24597Positive tokoe:valid" result="pass"/><test-case name="24598ST_facets00505m10 tokoe:valid" result="pass"/><test-case name="24599Positive tokoe:valid" result="pass"/><test-case name="24600ST_facets00505m2 tokoe:valid" result="pass"/><test-case name="24601Positive tokoe:valid" result="pass"/><test-case name="24602ST_facets00505m3 tokoe:valid" result="pass"/><test-case name="24603Positive tokoe:valid" result="pass"/><test-case name="24604ST_facets00505m4 tokoe:valid" result="pass"/><test-case name="24605Positive tokoe:valid" result="pass"/><test-case name="24606ST_facets00505m5 tokoe:valid" result="pass"/><test-case name="24607Positive tokoe:valid" result="pass"/><test-case name="24608ST_facets00505m6 tokoe:valid" result="pass"/><test-case name="24609Positive tokoe:valid" result="pass"/><test-case name="24610ST_facets00505m7 tokoe:valid" result="pass"/><test-case name="24611Positive tokoe:valid" result="pass"/><test-case name="24612ST_facets00505m8 tokoe:valid" result="pass"/><test-case name="24613Positive tokoe:valid" result="pass"/><test-case name="24614ST_facets00505m9 tokoe:valid" result="pass"/><test-case name="24615Positive tokoe:valid" result="pass"/><test-case name="24616ST_facets00506m1 tokoe:valid" result="pass"/><test-case name="24617Positive tokoe:valid" result="pass"/><test-case name="24618ST_facets00506m2 tokoe:valid" result="pass"/><test-case name="24619Positive tokoe:valid" result="pass"/><test-case name="24620ST_facets00601 tokoe:valid" result="pass"/><test-case name="24621ST_facets00601_p tokoe:valid" result="pass"/><test-case name="24622ST_facets00602 tokoe:valid" result="pass"/><test-case name="24623ST_facets00602_p tokoe:valid" result="pass"/><test-case name="24624ST_facets00603 tokoe:valid" result="pass"/><test-case name="24625ST_facets00603_p tokoe:valid" result="pass"/><test-case name="24626ST_facets00604 tokoe:valid" result="pass"/><test-case name="24627ST_facets00604_p tokoe:valid" result="pass"/><test-case name="24628ST_facets00605 tokoe:valid" result="pass"/><test-case name="24629ST_facets00605_p tokoe:valid" result="pass"/><test-case name="24630ST_facets00608 tokoe:valid" result="pass"/><test-case name="24631ST_facets00608_p tokoe:valid" result="pass"/><test-case name="24632ST_final00101m1 tokoe:invalid" result="pass"/><test-case name="24633ST_final00101m2 tokoe:valid" result="pass"/><test-case name="24634Positive tokoe:valid" result="pass"/><test-case name="24635Negative tokoe:invalid" result="pass"/><test-case name="24636ST_final00101m3 tokoe:valid" result="pass"/><test-case name="24637Positive tokoe:valid" result="pass"/><test-case name="24638Negative tokoe:invalid" result="pass"/><test-case name="24639ST_final00101m4 tokoe:valid" result="pass"/><test-case name="24640Positive tokoe:valid" result="pass"/><test-case name="24641Negative tokoe:invalid" result="pass"/><test-case name="24642ST_final00101m5 tokoe:valid" result="pass"/><test-case name="24643Positive tokoe:valid" result="pass"/><test-case name="24644Negative tokoe:invalid" result="pass"/><test-case name="24645ST_final00101m6 tokoe:valid" result="pass"/><test-case name="24646Positive tokoe:valid" result="pass"/><test-case name="24647Negative tokoe:invalid" result="pass"/><test-case name="24648ST_final00102m1 tokoe:invalid" result="pass"/><test-case name="24649ST_final00102m2 tokoe:valid" result="pass"/><test-case name="24650Positive tokoe:valid" result="pass"/><test-case name="24651Negative tokoe:invalid" result="pass"/><test-case name="24652ST_final00102m3 tokoe:valid" result="pass"/><test-case name="24653Positive tokoe:valid" result="pass"/><test-case name="24654Negative tokoe:invalid" result="pass"/><test-case name="24655ST_final00102m4 tokoe:valid" result="pass"/><test-case name="24656Positive tokoe:valid" result="pass"/><test-case name="24657Negative tokoe:invalid" result="pass"/><test-case name="24658ST_final00102m5 tokoe:valid" result="pass"/><test-case name="24659Positive tokoe:valid" result="pass"/><test-case name="24660Negative tokoe:invalid" result="pass"/><test-case name="24661ST_final00102m6 tokoe:valid" result="pass"/><test-case name="24662Positive tokoe:valid" result="pass"/><test-case name="24663Negative tokoe:invalid" result="pass"/><test-case name="24664ST_final00103m1 tokoe:invalid" result="pass"/><test-case name="24665ST_final00103m2 tokoe:valid" result="pass"/><test-case name="24666Positive tokoe:valid" result="pass"/><test-case name="24667Negative tokoe:invalid" result="pass"/><test-case name="24668ST_final00103m3 tokoe:valid" result="pass"/><test-case name="24669Positive tokoe:valid" result="pass"/><test-case name="24670Negative tokoe:invalid" result="pass"/><test-case name="24671ST_name00101m tokoe:valid" result="pass"/><test-case name="24672ST_name00101m1_p tokoe:valid" result="pass"/><test-case name="24673ST_name00101m1_n tokoe:invalid" result="pass"/><test-case name="24674ST_name00201m tokoe:invalid" result="pass"/><test-case name="24675ST_name00301m tokoe:invalid" result="pass"/><test-case name="24676ST_name00401m tokoe:valid" result="pass"/><test-case name="24677ST_name00401m1_p tokoe:valid" result="pass"/><test-case name="24678ST_targetNS00101m tokoe:valid" result="pass"/><test-case name="24679ST_targetNS00101m1_p tokoe:valid" result="pass"/><test-case name="24680ST_targetNS00101m1_n tokoe:invalid" result="pass"/><test-case name="24681ST_targetNS00101m2_p tokoe:valid" result="pass"/><test-case name="24682ST_targetNS00101m2_n tokoe:invalid" result="pass"/><test-case name="24683ST_targetNS00201m tokoe:valid" result="pass"/><test-case name="24684ST_targetNS00201m1_p tokoe:valid" result="pass"/><test-case name="24685ST_variety00101m1 tokoe:valid" result="pass"/><test-case name="24686Positive tokoe:valid" result="pass"/><test-case name="24687Negative tokoe:invalid" result="pass"/><test-case name="24688ST_variety00101m2 tokoe:valid" result="pass"/><test-case name="24689Positive tokoe:valid" result="pass"/><test-case name="24690Negative tokoe:invalid" result="pass"/><test-case name="24691ST_variety00201m1 tokoe:invalid" result="pass"/><test-case name="24692ST_variety00201m2 tokoe:invalid" result="pass"/><test-case name="24693annotations00101m1 tokoe:valid" result="pass"/><test-case name="24694Positive tokoe:valid" result="pass"/><test-case name="24695annotations00101m2 tokoe:valid" result="pass"/><test-case name="24696Positive tokoe:valid" result="pass"/><test-case name="24697annotations00101m3 tokoe:valid" result="pass"/><test-case name="24698Positive tokoe:valid" result="pass"/><test-case name="24699annotations00101m4 tokoe:valid" result="pass"/><test-case name="24700Positive tokoe:valid" result="pass"/><test-case name="24701annotations00101m5 tokoe:valid" result="pass"/><test-case name="24702Positive tokoe:valid" result="pass"/><test-case name="24703annotations00101m6 tokoe:valid" result="pass"/><test-case name="24704Positive tokoe:valid" result="pass"/><test-case name="24705annotation00101m1 tokoe:valid" result="pass"/><test-case name="24706Positive tokoe:valid" result="pass"/><test-case name="24707annotation00101m2 tokoe:invalid" result="pass"/><test-case name="24708annotation00101m3 tokoe:valid" result="pass"/><test-case name="24709Positive tokoe:valid" result="pass"/><test-case name="24710annotation00101m4 tokoe:invalid" result="pass"/><test-case name="24711annotation00101m5 tokoe:valid" result="pass"/><test-case name="24712Positive tokoe:valid" result="pass"/><test-case name="24713annotation00101m6 tokoe:invalid" result="pass"/><test-case name="24714annotation00101m7 tokoe:valid" result="pass"/><test-case name="24715Positive tokoe:valid" result="pass"/><test-case name="24716annotation00101m8 tokoe:invalid" result="pass"/><test-case name="24717nsConstraint00101m1 tokoe:valid" result="pass"/><test-case name="24718Positive tokoe:valid" result="pass"/><test-case name="24719Negative tokoe:invalid" result="pass"/><test-case name="24720nsConstraint00101m2 tokoe:valid" result="pass"/><test-case name="24721Positive tokoe:valid" result="pass"/><test-case name="24722Negative tokoe:invalid" result="pass"/><test-case name="24723nsConstraint00102m1 tokoe:valid" result="pass"/><test-case name="24724Positive tokoe:valid" result="pass"/><test-case name="24725nsConstraint00102m2 tokoe:valid" result="pass"/><test-case name="24726Positive tokoe:valid" result="pass"/><test-case name="24727nsConstraint00201m1 tokoe:valid" result="pass"/><test-case name="24728Positive tokoe:valid" result="pass"/><test-case name="24729Negative tokoe:invalid" result="pass"/><test-case name="24730nsConstraint00202m1 tokoe:valid" result="pass"/><test-case name="24731Positive tokoe:valid" result="pass"/><test-case name="24732Negative tokoe:invalid" result="pass"/><test-case name="24733nsConstraint00301m1 tokoe:valid" result="pass"/><test-case name="24734Positive tokoe:valid" result="pass"/><test-case name="24735Negative tokoe:invalid" result="pass"/><test-case name="24736nsConstraint00302m1 tokoe:valid" result="pass"/><test-case name="24737Positive tokoe:valid" result="pass"/><test-case name="24738Negative tokoe:invalid" result="pass"/><test-case name="24739psContents00101m1 tokoe:valid" result="pass"/><test-case name="24740Positive tokoe:valid" result="pass"/><test-case name="24741Negative tokoe:invalid" result="pass"/><test-case name="24742psContents00101m2 tokoe:valid" result="pass"/><test-case name="24743Negative tokoe:invalid" result="pass"/><test-case name="24744psContents00102m1 tokoe:valid" result="pass"/><test-case name="24745Positive tokoe:valid" result="pass"/><test-case name="24746Negative tokoe:invalid" result="pass"/><test-case name="24747psContents00102m2 tokoe:valid" result="pass"/><test-case name="24748Negative tokoe:invalid" result="pass"/><test-case name="24749psContents00201m1 tokoe:valid" result="pass"/><test-case name="24750Positive tokoe:valid" result="pass"/><test-case name="24751Negative tokoe:invalid" result="pass"/><test-case name="24752psContents00202m1 tokoe:valid" result="pass"/><test-case name="24753Positive tokoe:valid" result="pass"/><test-case name="24754psContents00301m1 tokoe:valid" result="pass"/><test-case name="24755Positive tokoe:valid" result="pass"/><test-case name="24756Negative tokoe:invalid" result="pass"/><test-case name="24757psContents00301m2 tokoe:valid" result="pass"/><test-case name="24758Positive tokoe:valid" result="pass"/><test-case name="24759Negative tokoe:invalid" result="pass"/><test-case name="24760psContents00302m1 tokoe:valid" result="pass"/><test-case name="24761Positive tokoe:valid" result="pass"/><test-case name="24762Negative tokoe:invalid" result="pass"/><test-case name="24763psContents00302m2 tokoe:valid" result="pass"/><test-case name="24764Positive tokoe:valid" result="pass"/><test-case name="24765Negative tokoe:invalid" result="pass"/><test-case name="24766addA001 tokoe:valid" result="pass"/><test-case name="24767addA002 tokoe:valid" result="pass"/><test-case name="24768addA003 tokoe:invalid" result="pass"/><test-case name="24769addA005 tokoe:valid" result="pass"/><test-case name="24770addA005.v tokoe:valid" result="pass"/><test-case name="24771addA006.v tokoe:valid" result="fail"/><test-case name="24772adda007.v tokoe:valid" result="pass"/><test-case name="24773addA008.v tokoe:valid" result="pass"/><test-case name="24774addC001 tokoe:valid" result="pass"/><test-case name="24775addC001.v tokoe:valid" result="pass"/><test-case name="24776addC002 tokoe:valid" result="pass"/><test-case name="24777addB001 tokoe:valid" result="pass"/><test-case name="24778addB002 tokoe:valid" result="pass"/><test-case name="24779addB002.i tokoe:invalid" result="pass"/><test-case name="24780addB003 tokoe:valid" result="pass"/><test-case name="24781addB003.i tokoe:invalid" result="pass"/><test-case name="24782addB004 tokoe:invalid" result="pass"/><test-case name="24783addB005 tokoe:invalid" result="pass"/><test-case name="24784addB006 tokoe:valid" result="pass"/><test-case name="24785addB007 tokoe:valid" result="pass"/><test-case name="24786addB008 tokoe:invalid" result="pass"/><test-case name="24787addB009 tokoe:invalid" result="pass"/><test-case name="24788addB010 tokoe:invalid" result="pass"/><test-case name="24789addB011 tokoe:valid" result="pass"/><test-case name="24790addB011.i tokoe:invalid" result="pass"/><test-case name="24791addB012 tokoe:valid" result="pass"/><test-case name="24792addB012.v tokoe:valid" result="pass"/><test-case name="24793addB013 tokoe:valid" result="pass"/><test-case name="24794addB013.i tokoe:invalid" result="pass"/><test-case name="24795addB014 tokoe:invalid" result="pass"/><test-case name="24796addB016 tokoe:valid" result="fail"/><test-case name="24797addB017 tokoe:valid" result="pass"/><test-case name="24798addB018 tokoe:valid" result="pass"/><test-case name="24799addB019 tokoe:valid" result="pass"/><test-case name="24800addB019.v tokoe:valid" result="pass"/><test-case name="24801addB020 tokoe:valid" result="pass"/><test-case name="24802addB021 tokoe:valid" result="pass"/><test-case name="24803addB021a tokoe:invalid" result="pass"/><test-case name="24804addB022 tokoe:invalid" result="pass"/><test-case name="24805addB023 tokoe:valid" result="pass"/><test-case name="24806addB024 tokoe:valid" result="pass"/><test-case name="24807addB025 tokoe:valid" result="pass"/><test-case name="24808addB026 tokoe:valid" result="pass"/><test-case name="24809addB027 tokoe:valid" result="pass"/><test-case name="24810addB028 tokoe:valid" result="pass"/><test-case name="24811addB028.v tokoe:valid" result="pass"/><test-case name="24812addB029 tokoe:valid" result="pass"/><test-case name="24813addB030 tokoe:invalid" result="pass"/><test-case name="24814addB31 tokoe:valid" result="pass"/><test-case name="24815addB31.v tokoe:valid" result="pass"/><test-case name="24816addB32 tokoe:invalid" result="pass"/><test-case name="24817addB033 tokoe:invalid" result="pass"/><test-case name="24818addB034 tokoe:valid" result="pass"/><test-case name="24819addB034.v tokoe:valid" result="pass"/><test-case name="24820addB035 tokoe:invalid" result="pass"/><test-case name="24821addB036 tokoe:invalid" result="pass"/><test-case name="24822addB037 tokoe:valid" result="pass"/><test-case name="24823addB037.i tokoe:invalid" result="pass"/><test-case name="24824addB040 tokoe:valid" result="pass"/><test-case name="24825addB040.v tokoe:valid" result="pass"/><test-case name="24826addB041 tokoe:invalid" result="pass"/><test-case name="24827addB042 tokoe:valid" result="pass"/><test-case name="24828addB043 tokoe:invalid" result="pass"/><test-case name="24829addB044 tokoe:invalid" result="pass"/><test-case name="24830addB045 tokoe:invalid" result="pass"/><test-case name="24831addB046 tokoe:valid" result="pass"/><test-case name="24832addB046.v tokoe:valid" result="pass"/><test-case name="24833addB047 tokoe:valid" result="pass"/><test-case name="24834addB047.v tokoe:valid" result="pass"/><test-case name="24835addB050 tokoe:valid" result="pass"/><test-case name="24836addB050.i tokoe:invalid" result="pass"/><test-case name="24837addB051 tokoe:valid" result="pass"/><test-case name="24838addB051b tokoe:valid" result="pass"/><test-case name="24839addB052 tokoe:invalid" result="pass"/><test-case name="24840addB053 tokoe:invalid" result="pass"/><test-case name="24841addB054 tokoe:valid" result="pass"/><test-case name="24842addB054.v tokoe:valid" result="pass"/><test-case name="24843addB055 tokoe:valid" result="pass"/><test-case name="24844addB056 tokoe:valid" result="pass"/><test-case name="24845addB056.v tokoe:valid" result="pass"/><test-case name="24846addB057 tokoe:valid" result="pass"/><test-case name="24847addB057.i tokoe:invalid" result="pass"/><test-case name="24848addB058 tokoe:valid" result="pass"/><test-case name="24849addB058.v tokoe:valid" result="pass"/><test-case name="24850addB059 tokoe:valid" result="pass"/><test-case name="24851addB059.v tokoe:valid" result="pass"/><test-case name="24852addB060 tokoe:valid" result="pass"/><test-case name="24853addB061 tokoe:valid" result="pass"/><test-case name="24854addB062 tokoe:valid" result="pass"/><test-case name="24855addB063.i tokoe:invalid" result="pass"/><test-case name="24856addB064 tokoe:valid" result="pass"/><test-case name="24857addB065 tokoe:valid" result="pass"/><test-case name="24858addB065.i tokoe:invalid" result="pass"/><test-case name="24859addB066 tokoe:valid" result="pass"/><test-case name="24860addB066.i tokoe:invalid" result="pass"/><test-case name="24861addB067 tokoe:valid" result="pass"/><test-case name="24862addB067.v tokoe:valid" result="pass"/><test-case name="24863addB069 tokoe:valid" result="pass"/><test-case name="24864addB069.i tokoe:invalid" result="pass"/><test-case name="24865addB070 tokoe:invalid" result="pass"/><test-case name="24866addB070a tokoe:invalid" result="pass"/><test-case name="24867addB071 tokoe:valid" result="pass"/><test-case name="24868addB072 tokoe:valid" result="pass"/><test-case name="24869addB073 tokoe:valid" result="pass"/><test-case name="24870addB075 tokoe:valid" result="pass"/><test-case name="24871addB075.i tokoe:invalid" result="pass"/><test-case name="24872addB076 tokoe:valid" result="pass"/><test-case name="24873addB076.v tokoe:valid" result="pass"/><test-case name="24874addB077 tokoe:valid" result="pass"/><test-case name="24875addB079 tokoe:valid" result="pass"/><test-case name="24876addB080 tokoe:valid" result="pass"/><test-case name="24877addB080.i tokoe:invalid" result="pass"/><test-case name="24878addB081 tokoe:invalid" result="pass"/><test-case name="24879addB082 tokoe:invalid" result="pass"/><test-case name="24880addB083 tokoe:invalid" result="pass"/><test-case name="24881addB084 tokoe:valid" result="pass"/><test-case name="24882addB084.v tokoe:valid" result="pass"/><test-case name="24883addB085 tokoe:valid" result="pass"/><test-case name="24884addB087 tokoe:valid" result="pass"/><test-case name="24885addB087.i tokoe:invalid" result="pass"/><test-case name="24886addB088 tokoe:valid" result="pass"/><test-case name="24887addB088.v tokoe:valid" result="pass"/><test-case name="24888addB089 tokoe:invalid" result="pass"/><test-case name="24889addB090 tokoe:valid" result="pass"/><test-case name="24890addB090.v tokoe:valid" result="pass"/><test-case name="24891addB091 tokoe:valid" result="pass"/><test-case name="24892addB092 tokoe:valid" result="pass"/><test-case name="24893addB092.i tokoe:invalid" result="pass"/><test-case name="24894addB093 tokoe:valid" result="pass"/><test-case name="24895addB094 tokoe:valid" result="pass"/><test-case name="24896addB095 tokoe:invalid" result="pass"/><test-case name="24897addB096 tokoe:valid" result="pass"/><test-case name="24898addB096.v tokoe:valid" result="pass"/><test-case name="24899addB097 tokoe:invalid" result="pass"/><test-case name="24900addB098 tokoe:valid" result="pass"/><test-case name="24901addB098.i tokoe:invalid" result="pass"/><test-case name="24902addB100 tokoe:invalid" result="pass"/><test-case name="24903addB101 tokoe:invalid" result="pass"/><test-case name="24904addB102 tokoe:valid" result="pass"/><test-case name="24905addB102.i tokoe:invalid" result="pass"/><test-case name="24906addB103 tokoe:valid" result="pass"/><test-case name="24907addB104 tokoe:valid" result="pass"/><test-case name="24908addB104.v tokoe:valid" result="pass"/><test-case name="24909addB105 tokoe:valid" result="pass"/><test-case name="24910addB105.i tokoe:invalid" result="pass"/><test-case name="24911addB106 tokoe:valid" result="pass"/><test-case name="24912addB107 tokoe:valid" result="pass"/><test-case name="24913addB108 tokoe:invalid" result="pass"/><test-case name="24914addB109 tokoe:valid" result="pass"/><test-case name="24915addB109.i tokoe:invalid" result="pass"/><test-case name="24916addB110 tokoe:invalid" result="pass"/><test-case name="24917addB111 tokoe:invalid" result="pass"/><test-case name="24918addB112 tokoe:invalid" result="pass"/><test-case name="24919addB113 tokoe:invalid" result="pass"/><test-case name="24920addB114 tokoe:valid" result="pass"/><test-case name="24921addB114.i tokoe:invalid" result="pass"/><test-case name="24922addB115 tokoe:valid" result="pass"/><test-case name="24923addB115.i tokoe:invalid" result="pass"/><test-case name="24924addB116 tokoe:valid" result="pass"/><test-case name="24925addB116.v tokoe:valid" result="pass"/><test-case name="24926addB117 tokoe:valid" result="pass"/><test-case name="24927addB121 tokoe:invalid" result="pass"/><test-case name="24928addB122 tokoe:valid" result="pass"/><test-case name="24929addB122.v tokoe:valid" result="pass"/><test-case name="24930addB123 tokoe:valid" result="pass"/><test-case name="24931addB123.i tokoe:invalid" result="pass"/><test-case name="24932addB124.i tokoe:invalid" result="pass"/><test-case name="24933addB125 tokoe:valid" result="pass"/><test-case name="24934addB125.v tokoe:valid" result="pass"/><test-case name="24935addB126 tokoe:valid" result="pass"/><test-case name="24936addB127 tokoe:valid" result="pass"/><test-case name="24937addB128 tokoe:valid" result="pass"/><test-case name="24938addB129 tokoe:valid" result="pass"/><test-case name="24939addB129.v tokoe:valid" result="pass"/><test-case name="24940addB130 tokoe:valid" result="pass"/><test-case name="24941addB130.v tokoe:valid" result="pass"/><test-case name="24942addB131 tokoe:valid" result="pass"/><test-case name="24943addB131.v tokoe:valid" result="pass"/><test-case name="24944addB132 tokoe:valid" result="pass"/><test-case name="24945addB132.v tokoe:valid" result="pass"/><test-case name="24946addB134.v tokoe:valid" result="pass"/><test-case name="24947addB135 tokoe:valid" result="pass"/><test-case name="24948addB135.v tokoe:valid" result="pass"/><test-case name="24949addB136 tokoe:valid" result="pass"/><test-case name="24950addB136.v tokoe:valid" result="pass"/><test-case name="24951addB137 tokoe:invalid" result="pass"/><test-case name="24952addB138.i tokoe:invalid" result="pass"/><test-case name="24953addB139.i tokoe:invalid" result="pass"/><test-case name="24954addB140 tokoe:valid" result="pass"/><test-case name="24955addB140.v tokoe:valid" result="pass"/><test-case name="24956addB141 tokoe:invalid" result="pass"/><test-case name="24957addB142.i tokoe:invalid" result="pass"/><test-case name="24958addB143 tokoe:valid" result="pass"/><test-case name="24959addB143.i tokoe:invalid" result="pass"/><test-case name="24960addB144 tokoe:valid" result="pass"/><test-case name="24961addB145 tokoe:valid" result="pass"/><test-case name="24962addB145.v tokoe:valid" result="pass"/><test-case name="24963test93160 tokoe:valid" result="pass"/><test-case name="24964test93160.i tokoe:invalid" result="pass"/><test-case name="24965addB147 tokoe:valid" result="pass"/><test-case name="24966addB148 tokoe:valid" result="pass"/><test-case name="24967addB148.v tokoe:valid" result="pass"/><test-case name="24968addB149 tokoe:valid" result="pass"/><test-case name="24969addB149.i tokoe:invalid" result="pass"/><test-case name="24970addB150 tokoe:valid" result="pass"/><test-case name="24971addB151 tokoe:valid" result="pass"/><test-case name="24972addB153 tokoe:invalid" result="pass"/><test-case name="24973addB155.v tokoe:valid" result="pass"/><test-case name="24974addB156.i tokoe:invalid" result="pass"/><test-case name="24975addB157.v tokoe:valid" result="pass"/><test-case name="24976addB158.i tokoe:invalid" result="pass"/><test-case name="24977addB159.i tokoe:invalid" result="pass"/><test-case name="24978addB160.v tokoe:valid" result="pass"/><test-case name="24979addB161.i tokoe:invalid" result="pass"/><test-case name="24980addB162.i tokoe:invalid" result="pass"/><test-case name="24981addB163.v tokoe:valid" result="pass"/><test-case name="24982addB164.i tokoe:invalid" result="pass"/><test-case name="24983addB165.v tokoe:valid" result="pass"/><test-case name="24984addB166.i tokoe:invalid" result="pass"/><test-case name="24985addB167.i tokoe:invalid" result="fail"/><test-case name="24986addB168.v tokoe:valid" result="pass"/><test-case name="24987addB169.v tokoe:valid" result="pass"/><test-case name="24988addB169.1 tokoe:valid" result="pass"/><test-case name="24989addB169.1.v tokoe:valid" result="pass"/><test-case name="24990addB170 tokoe:valid" result="pass"/><test-case name="24991addB170.i tokoe:invalid" result="pass"/><test-case name="24992addB171 tokoe:valid" result="pass"/><test-case name="24993addB171.i tokoe:invalid" result="pass"/><test-case name="24994addB172 tokoe:valid" result="pass"/><test-case name="24995addB172.i tokoe:invalid" result="pass"/><test-case name="24996addB173 tokoe:valid" result="pass"/><test-case name="24997addB173.i tokoe:invalid" result="pass"/><test-case name="24998addB174 tokoe:valid" result="pass"/><test-case name="24999addB174.v tokoe:valid" result="pass"/><test-case name="25000addB175 tokoe:valid" result="pass"/><test-case name="25001addB175.i tokoe:invalid" result="pass"/><test-case name="25002addB176 tokoe:valid" result="pass"/><test-case name="25003addB176.v tokoe:valid" result="pass"/><test-case name="25004addB177 tokoe:invalid" result="pass"/><test-case name="25005addB178 tokoe:invalid" result="pass"/><test-case name="25006addB180 tokoe:invalid" result="pass"/><test-case name="25007addB181.i tokoe:invalid" result="pass"/><test-case name="25008addB182 tokoe:valid" result="pass"/><test-case name="25009addB182.v tokoe:valid" result="pass"/><test-case name="25010addB183 tokoe:valid" result="pass"/><test-case name="25011addB184 tokoe:valid" result="pass"/><test-case name="25012addB187 tokoe:valid" result="pass"/><test-case name="25013addB187.v tokoe:valid" result="pass"/><test-case name="25014addB188 tokoe:valid" result="pass"/><test-case name="25015addB188.i tokoe:invalid" result="pass"/><test-case name="25016addB191.v tokoe:invalid" result="pass"/><test-case name="25017addB193 tokoe:valid" result="pass"/><test-case name="25018addB194 tokoe:valid" result="fail"/><test-case name="25019addB196a tokoe:valid" result="pass"/><test-case name="25020addB196a.v tokoe:valid" result="pass"/><test-case name="25021addB196b tokoe:valid" result="pass"/><test-case name="25022addB196b.i tokoe:invalid" result="pass"/><test-case name="25023addB196c tokoe:valid" result="pass"/><test-case name="25024addB196c.v tokoe:valid" result="pass"/><test-case name="25025addB196d tokoe:valid" result="pass"/><test-case name="25026addB196d.i tokoe:invalid" result="pass"/><test-case name="25027addB196e tokoe:valid" result="pass"/><test-case name="25028addB196e.i tokoe:invalid" result="pass"/><test-case name="25029addB196f tokoe:valid" result="pass"/><test-case name="25030addB196f.v tokoe:valid" result="pass"/><test-case name="25031addB196g tokoe:valid" result="pass"/><test-case name="25032addB196g.i tokoe:invalid" result="pass"/><test-case name="25033addB196h tokoe:valid" result="pass"/><test-case name="25034addB196h.v tokoe:valid" result="pass"/><test-case name="25035addB196i tokoe:valid" result="pass"/><test-case name="25036addB196i.i tokoe:invalid" result="pass"/><test-case name="25037addB196j tokoe:valid" result="pass"/><test-case name="25038addB196j.i tokoe:invalid" result="pass"/><test-case name="25039addB196k tokoe:valid" result="pass"/><test-case name="25040addB196k.i tokoe:invalid" result="pass"/><test-case name="25041addB196l tokoe:valid" result="pass"/><test-case name="25042addB196l.i tokoe:invalid" result="pass"/><test-case name="25043addB197a tokoe:valid" result="pass"/><test-case name="25044addB197a.v tokoe:valid" result="pass"/><test-case name="25045addB197b tokoe:valid" result="pass"/><test-case name="25046addB197b.i tokoe:invalid" result="pass"/><test-case name="25047addB197c tokoe:valid" result="pass"/><test-case name="25048addB197c.v tokoe:valid" result="pass"/><test-case name="25049addB197d tokoe:valid" result="pass"/><test-case name="25050addB197d.i tokoe:invalid" result="pass"/><test-case name="25051addB197e tokoe:valid" result="pass"/><test-case name="25052addB197e.i tokoe:invalid" result="pass"/><test-case name="25053addB197f tokoe:valid" result="pass"/><test-case name="25054addB197f.i tokoe:invalid" result="pass"/><test-case name="25055addB198a tokoe:valid" result="pass"/><test-case name="25056addB198a.i tokoe:invalid" result="pass"/><test-case name="25057addB198b tokoe:valid" result="pass"/><test-case name="25058addB198b.i tokoe:invalid" result="pass"/><test-case name="25059addB198c tokoe:valid" result="pass"/><test-case name="25060addB198c.v tokoe:valid" result="pass"/><test-case name="25061addB198d tokoe:valid" result="pass"/><test-case name="25062addB198d.v tokoe:valid" result="pass"/><test-case name="25063addB199.i tokoe:invalid" result="pass"/><test-case name="25064addB200a tokoe:valid" result="pass"/><test-case name="25065addB200a.i tokoe:invalid" result="pass"/><test-case name="25066addB200b tokoe:valid" result="pass"/><test-case name="25067addB200b.i tokoe:invalid" result="pass"/><test-case name="25068addB200c tokoe:valid" result="pass"/><test-case name="25069addB200c.i tokoe:invalid" result="pass"/><test-case name="25070addB201 tokoe:valid" result="pass"/><test-case name="25071addB201.i tokoe:invalid" result="pass"/><test-case name="25072addB202a.i tokoe:invalid" result="pass"/><test-case name="25073addB202b.i tokoe:invalid" result="pass"/><test-case name="25074addD001 tokoe:valid" result="pass"/><test-case name="25075addD001.v tokoe:valid" result="pass"/><test-case name="25076addD002 tokoe:valid" result="pass"/><test-case name="25077addD002.v tokoe:valid" result="pass"/><test-case name="25078addD003 tokoe:valid" result="pass"/><test-case name="25079addD004 tokoe:valid" result="pass"/><test-case name="25080addD004.v tokoe:valid" result="pass"/><test-case name="25081addD004a tokoe:valid" result="pass"/><test-case name="25082addD004a.v tokoe:valid" result="pass"/><test-case name="25083isDefault001 tokoe:valid" result="pass"/><test-case name="25084isDefault001.v tokoe:valid" result="pass"/><test-case name="25085isDefault002 tokoe:valid" result="pass"/><test-case name="25086isDefault002.v tokoe:valid" result="pass"/><test-case name="25087isDefault003 tokoe:valid" result="pass"/><test-case name="25088isDefault003.v tokoe:valid" result="pass"/><test-case name="25089isDefault004 tokoe:valid" result="pass"/><test-case name="25090isDefault004.i tokoe:invalid" result="pass"/><test-case name="25091isDefault005 tokoe:valid" result="pass"/><test-case name="25092isDefault005.v tokoe:valid" result="pass"/><test-case name="25093isDefault006 tokoe:valid" result="pass"/><test-case name="25094isDefault006.v tokoe:valid" result="pass"/><test-case name="25095isDefault007 tokoe:valid" result="pass"/><test-case name="25096isDefault007.v tokoe:valid" result="pass"/><test-case name="25097isDefault008 tokoe:valid" result="pass"/><test-case name="25098isDefault008.i tokoe:invalid" result="pass"/><test-case name="25099isDefault009 tokoe:valid" result="pass"/><test-case name="25100isDefault009.i tokoe:invalid" result="pass"/><test-case name="25101isDefault010 tokoe:valid" result="pass"/><test-case name="25102isDefault010.i tokoe:invalid" result="pass"/><test-case name="25103isDefault011 tokoe:valid" result="pass"/><test-case name="25104isDefault011.i tokoe:invalid" result="pass"/><test-case name="25105isDefault021 tokoe:valid" result="pass"/><test-case name="25106isDefault021.v tokoe:valid" result="pass"/><test-case name="25107isDefault022 tokoe:valid" result="pass"/><test-case name="25108isDefault022.v tokoe:valid" result="pass"/><test-case name="25109isDefault023 tokoe:valid" result="pass"/><test-case name="25110isDefault023.v tokoe:valid" result="pass"/><test-case name="25111isDefault024 tokoe:valid" result="pass"/><test-case name="25112isDefault024.v tokoe:valid" result="pass"/><test-case name="25113isDefault025 tokoe:valid" result="pass"/><test-case name="25114isDefault025.v tokoe:valid" result="pass"/><test-case name="25115isDefault026 tokoe:valid" result="pass"/><test-case name="25116isDefault026.v tokoe:valid" result="pass"/><test-case name="25117isDefault027 tokoe:valid" result="pass"/><test-case name="25118isDefault027.v tokoe:valid" result="pass"/><test-case name="25119isDefault028 tokoe:valid" result="pass"/><test-case name="25120isDefault028.v tokoe:valid" result="pass"/><test-case name="25121isDefault051 tokoe:valid" result="pass"/><test-case name="25122isDefault051.v tokoe:valid" result="pass"/><test-case name="25123isDefault052 tokoe:valid" result="pass"/><test-case name="25124isDefault052.i tokoe:invalid" result="pass"/><test-case name="25125isDefault053 tokoe:valid" result="pass"/><test-case name="25126isDefault053.i tokoe:invalid" result="pass"/><test-case name="25127isDefault054 tokoe:valid" result="pass"/><test-case name="25128isDefault054.i tokoe:invalid" result="pass"/><test-case name="25129isDefault055 tokoe:valid" result="pass"/><test-case name="25130isDefault055.v tokoe:valid" result="pass"/><test-case name="25131isDefault056 tokoe:valid" result="pass"/><test-case name="25132isDefault056.v tokoe:valid" result="pass"/><test-case name="25133isDefault057 tokoe:valid" result="pass"/><test-case name="25134isDefault057.v tokoe:valid" result="pass"/><test-case name="25135isDefault058 tokoe:valid" result="pass"/><test-case name="25136isDefault058.v tokoe:valid" result="pass"/><test-case name="25137isDefault061 tokoe:valid" result="pass"/><test-case name="25138isDefault061.v tokoe:valid" result="pass"/><test-case name="25139isDefault062 tokoe:valid" result="pass"/><test-case name="25140isDefault062.i tokoe:invalid" result="pass"/><test-case name="25141isDefault063 tokoe:valid" result="pass"/><test-case name="25142isDefault063.i tokoe:invalid" result="pass"/><test-case name="25143isDefault064 tokoe:valid" result="pass"/><test-case name="25144isDefault064.i tokoe:invalid" result="pass"/><test-case name="25145isDefault065 tokoe:valid" result="pass"/><test-case name="25146isDefault065.v tokoe:valid" result="pass"/><test-case name="25147isDefault066 tokoe:valid" result="pass"/><test-case name="25148isDefault066.v tokoe:valid" result="pass"/><test-case name="25149isDefault067 tokoe:valid" result="pass"/><test-case name="25150isDefault067.v tokoe:valid" result="pass"/><test-case name="25151isDefault068 tokoe:valid" result="pass"/><test-case name="25152isDefault068.v tokoe:valid" result="pass"/><test-case name="25153isDefault060_1 tokoe:valid" result="pass"/><test-case name="25154isDefault060_1.v tokoe:valid" result="pass"/><test-case name="25155isDefault070 tokoe:valid" result="pass"/><test-case name="25156isDefault070.i tokoe:invalid" result="pass"/><test-case name="25157isDefault071 tokoe:valid" result="pass"/><test-case name="25158isDefault071.v tokoe:valid" result="pass"/><test-case name="25159isDefault072 tokoe:valid" result="pass"/><test-case name="25160isDefault072.v tokoe:valid" result="pass"/><test-case name="25161isDefault073 tokoe:valid" result="pass"/><test-case name="25162isDefault073.v tokoe:valid" result="pass"/><test-case name="25163isDefault074 tokoe:valid" result="pass"/><test-case name="25164isDefault074.v tokoe:valid" result="pass"/><test-case name="25165isDefault075 tokoe:valid" result="pass"/><test-case name="25166isDefault075.v tokoe:valid" result="pass"/><test-case name="25167isDefault076 tokoe:valid" result="pass"/><test-case name="25168isDefault076.v tokoe:valid" result="pass"/><test-case name="25169isDefault077 tokoe:valid" result="pass"/><test-case name="25170isDefault077.i tokoe:invalid" result="pass"/><test-case name="25171isDefault078 tokoe:valid" result="pass"/><test-case name="25172isDefault078.v tokoe:valid" result="pass"/><test-case name="25173isDefault079 tokoe:valid" result="pass"/><test-case name="25174isDefault079.v tokoe:valid" result="pass"/><test-case name="25175memberType001 tokoe:valid" result="pass"/><test-case name="25176memberType001.v tokoe:valid" result="pass"/><test-case name="25177memberType002 tokoe:valid" result="pass"/><test-case name="25178memberType002.v tokoe:valid" result="pass"/><test-case name="25179memberType003 tokoe:valid" result="pass"/><test-case name="25180memberType003.v tokoe:valid" result="pass"/><test-case name="25181memberType004 tokoe:valid" result="pass"/><test-case name="25182memberType004.v tokoe:valid" result="pass"/><test-case name="25183memberType005 tokoe:valid" result="pass"/><test-case name="25184memberType005.v tokoe:valid" result="pass"/><test-case name="25185memberType006 tokoe:valid" result="pass"/><test-case name="25186memberType006.v tokoe:valid" result="pass"/><test-case name="25187memberType007 tokoe:valid" result="pass"/><test-case name="25188memberType007.v tokoe:valid" result="pass"/><test-case name="25189memberType008 tokoe:valid" result="pass"/><test-case name="25190memberType008.v tokoe:valid" result="pass"/><test-case name="25191memberType021 tokoe:valid" result="pass"/><test-case name="25192memberType021.v tokoe:valid" result="pass"/><test-case name="25193memberType022 tokoe:valid" result="pass"/><test-case name="25194memberType022.v tokoe:valid" result="pass"/><test-case name="25195memberType023 tokoe:valid" result="pass"/><test-case name="25196memberType023.v tokoe:valid" result="pass"/><test-case name="25197memberType024 tokoe:valid" result="pass"/><test-case name="25198memberType024.v tokoe:valid" result="pass"/><test-case name="25199annotA001 tokoe:valid" result="pass"/><test-case name="25200annotA002 tokoe:valid" result="pass"/><test-case name="25201annotA003 tokoe:valid" result="pass"/><test-case name="25202annotA004 tokoe:valid" result="pass"/><test-case name="25203annotA005 tokoe:valid" result="pass"/><test-case name="25204annotA006 tokoe:valid" result="pass"/><test-case name="25205annotA007 tokoe:valid" result="pass"/><test-case name="25206annotA008 tokoe:valid" result="pass"/><test-case name="25207annotA009 tokoe:valid" result="pass"/><test-case name="25208annotA010 tokoe:valid" result="pass"/><test-case name="25209annotA011 tokoe:valid" result="pass"/><test-case name="25210annotA012 tokoe:valid" result="pass"/><test-case name="25211annotA013 tokoe:valid" result="pass"/><test-case name="25212annotA014 tokoe:valid" result="pass"/><test-case name="25213annotA015 tokoe:valid" result="pass"/><test-case name="25214annotA016 tokoe:valid" result="pass"/><test-case name="25215annotA017 tokoe:valid" result="pass"/><test-case name="25216annotA018 tokoe:valid" result="pass"/><test-case name="25217annotA019 tokoe:valid" result="pass"/><test-case name="25218annotA020 tokoe:valid" result="pass"/><test-case name="25219annotA021 tokoe:valid" result="pass"/><test-case name="25220annotA022 tokoe:valid" result="pass"/><test-case name="25221annotA023 tokoe:valid" result="pass"/><test-case name="25222annotB001 tokoe:invalid" result="pass"/><test-case name="25223annotB002 tokoe:valid" result="pass"/><test-case name="25224annotB003 tokoe:valid" result="pass"/><test-case name="25225annotB004 tokoe:invalid" result="pass"/><test-case name="25226annotB005 tokoe:invalid" result="pass"/><test-case name="25227annotB006 tokoe:invalid" result="pass"/><test-case name="25228annotB007 tokoe:invalid" result="pass"/><test-case name="25229annotB008 tokoe:valid" result="pass"/><test-case name="25230annotB009 tokoe:invalid" result="pass"/><test-case name="25231annotB010 tokoe:invalid" result="pass"/><test-case name="25232annotB011 tokoe:invalid" result="pass"/><test-case name="25233annotB012 tokoe:invalid" result="pass"/><test-case name="25234annotB013 tokoe:invalid" result="pass"/><test-case name="25235annotB014 tokoe:valid" result="pass"/><test-case name="25236annotB015 tokoe:invalid" result="pass"/><test-case name="25237annotB016 tokoe:invalid" result="pass"/><test-case name="25238annotB017 tokoe:invalid" result="pass"/><test-case name="25239annotB018 tokoe:invalid" result="pass"/><test-case name="25240annotB019 tokoe:invalid" result="pass"/><test-case name="25241annotB020 tokoe:invalid" result="pass"/><test-case name="25242annotB021 tokoe:invalid" result="pass"/><test-case name="25243annotB022 tokoe:invalid" result="pass"/><test-case name="25244annotB023 tokoe:invalid" result="pass"/><test-case name="25245annotB024 tokoe:invalid" result="pass"/><test-case name="25246annotB026 tokoe:invalid" result="pass"/><test-case name="25247annotB027 tokoe:valid" result="pass"/><test-case name="25248annotB028 tokoe:invalid" result="pass"/><test-case name="25249annotB029 tokoe:invalid" result="pass"/><test-case name="25250annotB030 tokoe:invalid" result="pass"/><test-case name="25251annotB031 tokoe:invalid" result="pass"/><test-case name="25252annotB032 tokoe:invalid" result="pass"/><test-case name="25253annotB033 tokoe:invalid" result="pass"/><test-case name="25254annotC001 tokoe:valid" result="pass"/><test-case name="25255annotC002 tokoe:valid" result="pass"/><test-case name="25256annotC003 tokoe:valid" result="pass"/><test-case name="25257annotC004 tokoe:valid" result="pass"/><test-case name="25258annotC005 tokoe:valid" result="pass"/><test-case name="25259annotD001 tokoe:valid" result="pass"/><test-case name="25260annotD002 tokoe:valid" result="pass"/><test-case name="25261annotD003 tokoe:valid" result="pass"/><test-case name="25262annotD004 tokoe:valid" result="pass"/><test-case name="25263annotD005 tokoe:valid" result="pass"/><test-case name="25264annotE001 tokoe:valid" result="pass"/><test-case name="25265annotE002 tokoe:valid" result="pass"/><test-case name="25266annotF001 tokoe:invalid" result="pass"/><test-case name="25267annotF002 tokoe:valid" result="pass"/><test-case name="25268annotF003 tokoe:invalid" result="pass"/><test-case name="25269annotF004 tokoe:valid" result="pass"/><test-case name="25270annotF005 tokoe:valid" result="pass"/><test-case name="25271annotF006 tokoe:valid" result="pass"/><test-case name="25272annotF007 tokoe:valid" result="pass"/><test-case name="25273annotF008 tokoe:valid" result="pass"/><test-case name="25274annotF009 tokoe:invalid" result="pass"/><test-case name="25275annotZ001 tokoe:valid" result="pass"/><test-case name="25276annotZ002 tokoe:valid" result="pass"/><test-case name="25277annotZ004 tokoe:valid" result="pass"/><test-case name="25278attgA001 tokoe:valid" result="pass"/><test-case name="25279attgA002 tokoe:invalid" result="pass"/><test-case name="25280attgA003 tokoe:invalid" result="pass"/><test-case name="25281attgA004 tokoe:invalid" result="pass"/><test-case name="25282attgA005 tokoe:invalid" result="pass"/><test-case name="25283attgA006 tokoe:invalid" result="pass"/><test-case name="25284attgA007 tokoe:invalid" result="pass"/><test-case name="25285attgA008 tokoe:valid" result="pass"/><test-case name="25286attgA009 tokoe:invalid" result="pass"/><test-case name="25287attgB001 tokoe:valid" result="pass"/><test-case name="25288attgB002 tokoe:invalid" result="pass"/><test-case name="25289attgB003 tokoe:invalid" result="pass"/><test-case name="25290attgB004 tokoe:invalid" result="pass"/><test-case name="25291attgB005 tokoe:valid" result="pass"/><test-case name="25292attgB006 tokoe:invalid" result="pass"/><test-case name="25293attgB007 tokoe:invalid" result="pass"/><test-case name="25294attgB008 tokoe:valid" result="pass"/><test-case name="25295attgB009 tokoe:valid" result="pass"/><test-case name="25296attgB010 tokoe:invalid" result="pass"/><test-case name="25297attgB011 tokoe:invalid" result="pass"/><test-case name="25298attgB012 tokoe:valid" result="pass"/><test-case name="25299attgB013 tokoe:invalid" result="pass"/><test-case name="25300attgB014 tokoe:valid" result="pass"/><test-case name="25301attgB015 tokoe:invalid" result="pass"/><test-case name="25302attgC001 tokoe:invalid" result="pass"/><test-case name="25303attgC002 tokoe:valid" result="pass"/><test-case name="25304attgC003 tokoe:valid" result="pass"/><test-case name="25305attgC004 tokoe:valid" result="pass"/><test-case name="25306attgC005 tokoe:valid" result="pass"/><test-case name="25307attgC006 tokoe:valid" result="pass"/><test-case name="25308attgC006.i tokoe:invalid" result="pass"/><test-case name="25309attgC007 tokoe:valid" result="pass"/><test-case name="25310attgC007.v tokoe:valid" result="pass"/><test-case name="25311attgC008 tokoe:invalid" result="pass"/><test-case name="25312attgC009 tokoe:invalid" result="pass"/><test-case name="25313attgC010 tokoe:invalid" result="pass"/><test-case name="25314attgC011 tokoe:invalid" result="pass"/><test-case name="25315attgC012 tokoe:valid" result="pass"/><test-case name="25316attgC013 tokoe:valid" result="pass"/><test-case name="25317attgC014 tokoe:valid" result="pass"/><test-case name="25318attgC015 tokoe:valid" result="pass"/><test-case name="25319attgC016 tokoe:valid" result="pass"/><test-case name="25320attgC017 tokoe:valid" result="pass"/><test-case name="25321attgC018 tokoe:invalid" result="pass"/><test-case name="25322attgC019 tokoe:invalid" result="pass"/><test-case name="25323attgC020 tokoe:invalid" result="pass"/><test-case name="25324attgC021 tokoe:invalid" result="pass"/><test-case name="25325attgC022 tokoe:valid" result="pass"/><test-case name="25326attgC023 tokoe:valid" result="pass"/><test-case name="25327attgC024 tokoe:valid" result="pass"/><test-case name="25328attgC024.v tokoe:valid" result="pass"/><test-case name="25329attgC025 tokoe:valid" result="pass"/><test-case name="25330attgC025.i tokoe:invalid" result="pass"/><test-case name="25331attgC026 tokoe:valid" result="pass"/><test-case name="25332attgC026.v tokoe:valid" result="pass"/><test-case name="25333attgC027 tokoe:valid" result="pass"/><test-case name="25334attgC028 tokoe:invalid" result="pass"/><test-case name="25335attgC029 tokoe:invalid" result="pass"/><test-case name="25336attgC030 tokoe:invalid" result="pass"/><test-case name="25337attgC031 tokoe:invalid" result="pass"/><test-case name="25338attgC032 tokoe:invalid" result="pass"/><test-case name="25339attgC033 tokoe:valid" result="pass"/><test-case name="25340attgC034 tokoe:valid" result="pass"/><test-case name="25341attgC035 tokoe:valid" result="pass"/><test-case name="25342attgC035.v tokoe:valid" result="pass"/><test-case name="25343attgC036 tokoe:valid" result="pass"/><test-case name="25344attgC036.v tokoe:valid" result="pass"/><test-case name="25345attgC037 tokoe:valid" result="pass"/><test-case name="25346attgC037.v tokoe:valid" result="pass"/><test-case name="25347attgC038 tokoe:valid" result="pass"/><test-case name="25348attgC038.v tokoe:valid" result="pass"/><test-case name="25349attgC039 tokoe:invalid" result="pass"/><test-case name="25350attgC040 tokoe:invalid" result="pass"/><test-case name="25351attgC041 tokoe:valid" result="pass"/><test-case name="25352attgC042 tokoe:invalid" result="pass"/><test-case name="25353attgC043 tokoe:valid" result="pass"/><test-case name="25354attgC044 tokoe:invalid" result="pass"/><test-case name="25355attgC045 tokoe:valid" result="pass"/><test-case name="25356attgD001 tokoe:valid" result="pass"/><test-case name="25357attgD002 tokoe:invalid" result="pass"/><test-case name="25358attgD003 tokoe:valid" result="pass"/><test-case name="25359attgD003.v tokoe:valid" result="pass"/><test-case name="25360attgD004 tokoe:valid" result="pass"/><test-case name="25361attgD004.v tokoe:valid" result="pass"/><test-case name="25362attgD005 tokoe:valid" result="pass"/><test-case name="25363attgD005.v tokoe:valid" result="pass"/><test-case name="25364attgD006 tokoe:invalid" result="pass"/><test-case name="25365attgD007 tokoe:invalid" result="pass"/><test-case name="25366attgD008 tokoe:invalid" result="pass"/><test-case name="25367attgD009 tokoe:invalid" result="pass"/><test-case name="25368attgD010 tokoe:valid" result="pass"/><test-case name="25369attgD011 tokoe:invalid" result="pass"/><test-case name="25370attgD012 tokoe:invalid" result="pass"/><test-case name="25371attgD013 tokoe:invalid" result="pass"/><test-case name="25372attgD014 tokoe:invalid" result="pass"/><test-case name="25373attgD015 tokoe:invalid" result="pass"/><test-case name="25374attgD016 tokoe:invalid" result="pass"/><test-case name="25375attgD017 tokoe:invalid" result="pass"/><test-case name="25376attgD018 tokoe:valid" result="pass"/><test-case name="25377attgD018.v tokoe:valid" result="pass"/><test-case name="25378attgD019 tokoe:valid" result="pass"/><test-case name="25379attgD019.v tokoe:valid" result="pass"/><test-case name="25380attgD020 tokoe:valid" result="pass"/><test-case name="25381attgD020.v tokoe:valid" result="pass"/><test-case name="25382attgD021 tokoe:valid" result="pass"/><test-case name="25383attgD021.v tokoe:valid" result="pass"/><test-case name="25384attgD022 tokoe:valid" result="pass"/><test-case name="25385attgD022.v tokoe:valid" result="pass"/><test-case name="25386attgD023 tokoe:valid" result="pass"/><test-case name="25387attgD023.i tokoe:invalid" result="pass"/><test-case name="25388attgD024 tokoe:valid" result="pass"/><test-case name="25389attgD024.i tokoe:invalid" result="pass"/><test-case name="25390attgD025 tokoe:valid" result="pass"/><test-case name="25391attgD025.v tokoe:valid" result="pass"/><test-case name="25392attgD026 tokoe:valid" result="pass"/><test-case name="25393attgD026.i tokoe:invalid" result="pass"/><test-case name="25394attgD027 tokoe:valid" result="pass"/><test-case name="25395attgD027.v tokoe:valid" result="pass"/><test-case name="25396attgD028 tokoe:valid" result="pass"/><test-case name="25397attgD028.i tokoe:invalid" result="pass"/><test-case name="25398attgD029 tokoe:valid" result="pass"/><test-case name="25399attgD029.v tokoe:valid" result="pass"/><test-case name="25400attgD030 tokoe:valid" result="pass"/><test-case name="25401attgD030.i tokoe:invalid" result="pass"/><test-case name="25402attgD031 tokoe:valid" result="pass"/><test-case name="25403attgD031.v tokoe:valid" result="pass"/><test-case name="25404attgD032 tokoe:valid" result="pass"/><test-case name="25405attgD032.v tokoe:valid" result="pass"/><test-case name="25406attgD033 tokoe:valid" result="pass"/><test-case name="25407attgD033.v tokoe:valid" result="pass"/><test-case name="25408attgD034 tokoe:valid" result="pass"/><test-case name="25409attgD034.v tokoe:valid" result="pass"/><test-case name="25410attgD035 tokoe:valid" result="pass"/><test-case name="25411attgD035.i tokoe:invalid" result="pass"/><test-case name="25412attgD036 tokoe:valid" result="pass"/><test-case name="25413attgD036.v tokoe:valid" result="pass"/><test-case name="25414attgD037 tokoe:invalid" result="pass"/><test-case name="25415attgD038 tokoe:invalid" result="pass"/><test-case name="25416attgD039 tokoe:invalid" result="pass"/><test-case name="25417attgD040 tokoe:valid" result="pass"/><test-case name="25418attgD041 tokoe:invalid" result="pass"/><test-case name="25419attgD042 tokoe:valid" result="pass"/><test-case name="25420attgD042.i tokoe:invalid" result="pass"/><test-case name="25421attgZ001 tokoe:valid" result="pass"/><test-case name="25422attgZ001.i tokoe:invalid" result="pass"/><test-case name="25423attgZ002 tokoe:invalid" result="pass"/><test-case name="25424attgZ003 tokoe:invalid" result="pass"/><test-case name="25425attA001 tokoe:invalid" result="pass"/><test-case name="25426attA002 tokoe:invalid" result="pass"/><test-case name="25427attA003 tokoe:invalid" result="pass"/><test-case name="25428attA004 tokoe:invalid" result="pass"/><test-case name="25429attA005 tokoe:invalid" result="pass"/><test-case name="25430attA006 tokoe:invalid" result="pass"/><test-case name="25431attA007 tokoe:valid" result="pass"/><test-case name="25432attA008 tokoe:valid" result="pass"/><test-case name="25433attB001 tokoe:valid" result="pass"/><test-case name="25434attB002 tokoe:valid" result="pass"/><test-case name="25435attB003 tokoe:valid" result="pass"/><test-case name="25436attB004 tokoe:valid" result="pass"/><test-case name="25437attB005 tokoe:invalid" result="pass"/><test-case name="25438attB006 tokoe:invalid" result="pass"/><test-case name="25439attC001 tokoe:valid" result="pass"/><test-case name="25440attC002 tokoe:valid" result="pass"/><test-case name="25441attC003 tokoe:valid" result="pass"/><test-case name="25442attC004 tokoe:invalid" result="pass"/><test-case name="25443attC005 tokoe:invalid" result="pass"/><test-case name="25444attC006 tokoe:invalid" result="pass"/><test-case name="25445attC007 tokoe:invalid" result="pass"/><test-case name="25446attC008 tokoe:invalid" result="pass"/><test-case name="25447attC009 tokoe:invalid" result="pass"/><test-case name="25448attC010 tokoe:invalid" result="pass"/><test-case name="25449attD001 tokoe:valid" result="pass"/><test-case name="25450attD002 tokoe:invalid" result="pass"/><test-case name="25451attD003 tokoe:valid" result="pass"/><test-case name="25452attD003.v tokoe:valid" result="pass"/><test-case name="25453attD004 tokoe:valid" result="pass"/><test-case name="25454attD004.v tokoe:valid" result="pass"/><test-case name="25455attD005 tokoe:invalid" result="pass"/><test-case name="25456attD006 tokoe:invalid" result="pass"/><test-case name="25457attD007 tokoe:valid" result="pass"/><test-case name="25458attD007.v tokoe:valid" result="pass"/><test-case name="25459attE001 tokoe:valid" result="pass"/><test-case name="25460attE001.v tokoe:valid" result="pass"/><test-case name="25461attE002 tokoe:invalid" result="pass"/><test-case name="25462attE003 tokoe:invalid" result="pass"/><test-case name="25463attE004 tokoe:invalid" result="pass"/><test-case name="25464attE005 tokoe:invalid" result="pass"/><test-case name="25465attE006 tokoe:invalid" result="pass"/><test-case name="25466attE007 tokoe:invalid" result="pass"/><test-case name="25467attE008 tokoe:valid" result="pass"/><test-case name="25468attF001 tokoe:valid" result="pass"/><test-case name="25469attF001.i tokoe:invalid" result="pass"/><test-case name="25470attF002 tokoe:valid" result="pass"/><test-case name="25471attF002.v tokoe:valid" result="pass"/><test-case name="25472attF003 tokoe:valid" result="pass"/><test-case name="25473attF003.v tokoe:valid" result="pass"/><test-case name="25474attF004 tokoe:invalid" result="pass"/><test-case name="25475attF005 tokoe:invalid" result="pass"/><test-case name="25476attF006 tokoe:invalid" result="pass"/><test-case name="25477attF007 tokoe:invalid" result="pass"/><test-case name="25478attF008 tokoe:invalid" result="pass"/><test-case name="25479attF009 tokoe:invalid" result="pass"/><test-case name="25480attF010 tokoe:invalid" result="pass"/><test-case name="25481attF011 tokoe:invalid" result="pass"/><test-case name="25482attJ001 tokoe:valid" result="pass"/><test-case name="25483attJ001.v tokoe:valid" result="pass"/><test-case name="25484attJ002 tokoe:valid" result="pass"/><test-case name="25485attJ002.i tokoe:invalid" result="pass"/><test-case name="25486attJ003 tokoe:valid" result="pass"/><test-case name="25487attJ003.i tokoe:invalid" result="pass"/><test-case name="25488attJ004 tokoe:valid" result="pass"/><test-case name="25489attJ004.v tokoe:valid" result="pass"/><test-case name="25490attJ005 tokoe:valid" result="pass"/><test-case name="25491attJ005.v tokoe:valid" result="pass"/><test-case name="25492attJ006 tokoe:valid" result="pass"/><test-case name="25493attJ006.v tokoe:valid" result="pass"/><test-case name="25494attJ007 tokoe:valid" result="pass"/><test-case name="25495attJ007.v tokoe:valid" result="pass"/><test-case name="25496attJ008 tokoe:valid" result="pass"/><test-case name="25497attJ008.i tokoe:invalid" result="pass"/><test-case name="25498attJ009 tokoe:valid" result="pass"/><test-case name="25499attJ009.i tokoe:invalid" result="pass"/><test-case name="25500attJ010 tokoe:valid" result="pass"/><test-case name="25501attJ010.i tokoe:invalid" result="pass"/><test-case name="25502attJ011 tokoe:invalid" result="pass"/><test-case name="25503attJ012 tokoe:invalid" result="pass"/><test-case name="25504attJ013 tokoe:invalid" result="pass"/><test-case name="25505attJ014 tokoe:invalid" result="pass"/><test-case name="25506attJ015 tokoe:invalid" result="pass"/><test-case name="25507attJ016 tokoe:invalid" result="pass"/><test-case name="25508attJ017 tokoe:invalid" result="pass"/><test-case name="25509attJ018 tokoe:valid" result="pass"/><test-case name="25510attJ018.v tokoe:valid" result="pass"/><test-case name="25511attG001 tokoe:valid" result="pass"/><test-case name="25512attG002 tokoe:valid" result="pass"/><test-case name="25513attG003 tokoe:valid" result="pass"/><test-case name="25514attH001 tokoe:invalid" result="pass"/><test-case name="25515attI001 tokoe:valid" result="pass"/><test-case name="25516attI002 tokoe:valid" result="pass"/><test-case name="25517attI003 tokoe:valid" result="pass"/><test-case name="25518attI003.v tokoe:valid" result="pass"/><test-case name="25519attI004 tokoe:invalid" result="pass"/><test-case name="25520attI005 tokoe:invalid" result="pass"/><test-case name="25521attI006 tokoe:invalid" result="pass"/><test-case name="25522attKa001 tokoe:invalid" result="pass"/><test-case name="25523attKa002 tokoe:valid" result="pass"/><test-case name="25524attKa003 tokoe:invalid" result="pass"/><test-case name="25525attKa004 tokoe:invalid" result="pass"/><test-case name="25526attKa005 tokoe:invalid" result="pass"/><test-case name="25527attKa006 tokoe:valid" result="pass"/><test-case name="25528attKa007 tokoe:invalid" result="pass"/><test-case name="25529attKa008 tokoe:invalid" result="pass"/><test-case name="25530attKa009 tokoe:invalid" result="pass"/><test-case name="25531attKa010 tokoe:invalid" result="pass"/><test-case name="25532attKa011 tokoe:invalid" result="pass"/><test-case name="25533attKa012 tokoe:invalid" result="pass"/><test-case name="25534attKa013 tokoe:invalid" result="pass"/><test-case name="25535attKa014 tokoe:invalid" result="pass"/><test-case name="25536attKa015 tokoe:invalid" result="pass"/><test-case name="25537attKb001 tokoe:invalid" result="pass"/><test-case name="25538attKb002 tokoe:valid" result="pass"/><test-case name="25539attKb003 tokoe:valid" result="pass"/><test-case name="25540attKb004 tokoe:invalid" result="pass"/><test-case name="25541attKb005 tokoe:invalid" result="pass"/><test-case name="25542attKb006 tokoe:valid" result="pass"/><test-case name="25543attKb007 tokoe:valid" result="pass"/><test-case name="25544attKb008 tokoe:valid" result="pass"/><test-case name="25545attKb009 tokoe:valid" result="pass"/><test-case name="25546attKb010 tokoe:invalid" result="pass"/><test-case name="25547attKb011 tokoe:invalid" result="pass"/><test-case name="25548attKb012 tokoe:invalid" result="pass"/><test-case name="25549attKb013 tokoe:invalid" result="pass"/><test-case name="25550attKb014 tokoe:invalid" result="pass"/><test-case name="25551attKb015 tokoe:invalid" result="pass"/><test-case name="25552attKb016 tokoe:invalid" result="pass"/><test-case name="25553attKb017 tokoe:invalid" result="pass"/><test-case name="25554attKb018 tokoe:valid" result="pass"/><test-case name="25555attKb018a tokoe:invalid" result="pass"/><test-case name="25556attKc001 tokoe:invalid" result="pass"/><test-case name="25557attKc002 tokoe:valid" result="pass"/><test-case name="25558attKc003 tokoe:valid" result="pass"/><test-case name="25559attKc004 tokoe:invalid" result="pass"/><test-case name="25560attKc005 tokoe:invalid" result="pass"/><test-case name="25561attKc006 tokoe:valid" result="pass"/><test-case name="25562attKc007 tokoe:valid" result="pass"/><test-case name="25563attKc008 tokoe:valid" result="pass"/><test-case name="25564attKc009 tokoe:valid" result="pass"/><test-case name="25565attKc010 tokoe:invalid" result="pass"/><test-case name="25566attKc011 tokoe:invalid" result="pass"/><test-case name="25567attKc012 tokoe:invalid" result="pass"/><test-case name="25568attKc013 tokoe:invalid" result="pass"/><test-case name="25569attKc014 tokoe:invalid" result="pass"/><test-case name="25570attKc015 tokoe:invalid" result="pass"/><test-case name="25571attKc016 tokoe:invalid" result="pass"/><test-case name="25572attKc017 tokoe:invalid" result="pass"/><test-case name="25573attKc018 tokoe:valid" result="pass"/><test-case name="25574attKc018a tokoe:invalid" result="pass"/><test-case name="25575attLa001 tokoe:valid" result="pass"/><test-case name="25576attLa001.v tokoe:valid" result="pass"/><test-case name="25577attLa002 tokoe:valid" result="pass"/><test-case name="25578attLa002.v tokoe:valid" result="pass"/><test-case name="25579attLa003 tokoe:valid" result="pass"/><test-case name="25580attLa003.v tokoe:valid" result="pass"/><test-case name="25581attLa004 tokoe:valid" result="pass"/><test-case name="25582attLa004.v tokoe:valid" result="pass"/><test-case name="25583attLa005 tokoe:valid" result="pass"/><test-case name="25584attLa005.i tokoe:invalid" result="pass"/><test-case name="25585attLa006 tokoe:valid" result="pass"/><test-case name="25586attLa006.v tokoe:valid" result="pass"/><test-case name="25587attLb001 tokoe:valid" result="pass"/><test-case name="25588attLb001.v tokoe:valid" result="pass"/><test-case name="25589attLb002 tokoe:valid" result="pass"/><test-case name="25590attLb002.v tokoe:valid" result="pass"/><test-case name="25591attLb003 tokoe:valid" result="pass"/><test-case name="25592attLb003.v tokoe:valid" result="pass"/><test-case name="25593attLb004 tokoe:valid" result="pass"/><test-case name="25594attLb004.v tokoe:valid" result="pass"/><test-case name="25595attLb005 tokoe:valid" result="pass"/><test-case name="25596attLb005.i tokoe:invalid" result="pass"/><test-case name="25597attLb006 tokoe:valid" result="pass"/><test-case name="25598attLb006.v tokoe:valid" result="pass"/><test-case name="25599attLc001 tokoe:valid" result="pass"/><test-case name="25600attLc001.v tokoe:valid" result="pass"/><test-case name="25601attLc002 tokoe:valid" result="pass"/><test-case name="25602attLc002.v tokoe:valid" result="pass"/><test-case name="25603attLc003 tokoe:valid" result="pass"/><test-case name="25604attLc003.v tokoe:valid" result="pass"/><test-case name="25605attLc004 tokoe:valid" result="pass"/><test-case name="25606attLc004.v tokoe:valid" result="pass"/><test-case name="25607attLc005 tokoe:valid" result="pass"/><test-case name="25608attLc005.i tokoe:invalid" result="pass"/><test-case name="25609attLc006 tokoe:valid" result="pass"/><test-case name="25610attLc006.v tokoe:valid" result="pass"/><test-case name="25611attO001 tokoe:valid" result="pass"/><test-case name="25612attO001.i tokoe:invalid" result="pass"/><test-case name="25613attO002 tokoe:invalid" result="pass"/><test-case name="25614attO003 tokoe:invalid" result="pass"/><test-case name="25615attO004 tokoe:valid" result="pass"/><test-case name="25616attO004.i tokoe:invalid" result="pass"/><test-case name="25617attO005 tokoe:invalid" result="pass"/><test-case name="25618attO006 tokoe:valid" result="pass"/><test-case name="25619attO006.v tokoe:valid" result="pass"/><test-case name="25620attO007 tokoe:valid" result="pass"/><test-case name="25621attO007.v tokoe:valid" result="pass"/><test-case name="25622attO008 tokoe:valid" result="pass"/><test-case name="25623attO008.i tokoe:invalid" result="pass"/><test-case name="25624attO009 tokoe:valid" result="pass"/><test-case name="25625attO009.v tokoe:valid" result="pass"/><test-case name="25626attO010 tokoe:valid" result="pass"/><test-case name="25627attO010.v tokoe:valid" result="pass"/><test-case name="25628attO011 tokoe:valid" result="pass"/><test-case name="25629attO011.v tokoe:valid" result="pass"/><test-case name="25630attO012 tokoe:valid" result="pass"/><test-case name="25631attO012.i tokoe:invalid" result="pass"/><test-case name="25632attO013 tokoe:invalid" result="pass"/><test-case name="25633attO014 tokoe:invalid" result="pass"/><test-case name="25634attO015 tokoe:invalid" result="pass"/><test-case name="25635attO016 tokoe:invalid" result="pass"/><test-case name="25636attO017 tokoe:invalid" result="pass"/><test-case name="25637attO018 tokoe:valid" result="pass"/><test-case name="25638attO019 tokoe:invalid" result="pass"/><test-case name="25639attO020 tokoe:invalid" result="pass"/><test-case name="25640attO021 tokoe:invalid" result="pass"/><test-case name="25641attO022 tokoe:invalid" result="pass"/><test-case name="25642attO023 tokoe:invalid" result="pass"/><test-case name="25643attO024 tokoe:invalid" result="pass"/><test-case name="25644attO025 tokoe:invalid" result="pass"/><test-case name="25645attMa001 tokoe:valid" result="pass"/><test-case name="25646attMa001.i tokoe:invalid" result="pass"/><test-case name="25647attMa002 tokoe:valid" result="pass"/><test-case name="25648attMa002.i tokoe:invalid" result="pass"/><test-case name="25649attMa003 tokoe:valid" result="pass"/><test-case name="25650attMa003.v tokoe:valid" result="pass"/><test-case name="25651attMa004 tokoe:valid" result="pass"/><test-case name="25652attMa004.v tokoe:valid" result="pass"/><test-case name="25653attMb001 tokoe:valid" result="pass"/><test-case name="25654attMb001.i tokoe:invalid" result="pass"/><test-case name="25655attMb002 tokoe:valid" result="pass"/><test-case name="25656attMb002.i tokoe:invalid" result="pass"/><test-case name="25657attMb003 tokoe:valid" result="pass"/><test-case name="25658attMb003.i tokoe:invalid" result="pass"/><test-case name="25659attMb004 tokoe:valid" result="pass"/><test-case name="25660attMb004.v tokoe:valid" result="pass"/><test-case name="25661attMb005 tokoe:valid" result="pass"/><test-case name="25662attMb005.v tokoe:valid" result="pass"/><test-case name="25663attMb006 tokoe:valid" result="pass"/><test-case name="25664attMb006.v tokoe:valid" result="pass"/><test-case name="25665attMb007 tokoe:valid" result="pass"/><test-case name="25666attMb007.v tokoe:valid" result="pass"/><test-case name="25667attMb008 tokoe:valid" result="pass"/><test-case name="25668attMb008.v tokoe:valid" result="pass"/><test-case name="25669attMb009 tokoe:valid" result="pass"/><test-case name="25670attMb009.v tokoe:valid" result="pass"/><test-case name="25671attMb010 tokoe:valid" result="pass"/><test-case name="25672attMb010.i tokoe:invalid" result="pass"/><test-case name="25673attMb011 tokoe:valid" result="pass"/><test-case name="25674attMb011.i tokoe:invalid" result="pass"/><test-case name="25675attMb012 tokoe:valid" result="pass"/><test-case name="25676attMb012.i tokoe:invalid" result="pass"/><test-case name="25677attMc001 tokoe:valid" result="pass"/><test-case name="25678attMc001.i tokoe:invalid" result="pass"/><test-case name="25679attMc002 tokoe:valid" result="pass"/><test-case name="25680attMc002.i tokoe:invalid" result="pass"/><test-case name="25681attMc003 tokoe:valid" result="pass"/><test-case name="25682attMc003.i tokoe:invalid" result="pass"/><test-case name="25683attMc004 tokoe:valid" result="pass"/><test-case name="25684attMc004.v tokoe:valid" result="pass"/><test-case name="25685attMc005 tokoe:valid" result="pass"/><test-case name="25686attMc005.v tokoe:valid" result="pass"/><test-case name="25687attMc006 tokoe:valid" result="pass"/><test-case name="25688attMc006.v tokoe:valid" result="pass"/><test-case name="25689attMc007 tokoe:valid" result="pass"/><test-case name="25690attMc007.v tokoe:valid" result="pass"/><test-case name="25691attMc008 tokoe:valid" result="pass"/><test-case name="25692attMc008.v tokoe:valid" result="pass"/><test-case name="25693attMc009 tokoe:valid" result="pass"/><test-case name="25694attMc009.v tokoe:valid" result="pass"/><test-case name="25695attMc010 tokoe:valid" result="pass"/><test-case name="25696attMc010.i tokoe:invalid" result="pass"/><test-case name="25697attMc011 tokoe:valid" result="pass"/><test-case name="25698attMc011.i tokoe:invalid" result="pass"/><test-case name="25699attMc012 tokoe:valid" result="pass"/><test-case name="25700attMc012.i tokoe:invalid" result="pass"/><test-case name="25701attMd001.i tokoe:invalid" result="pass"/><test-case name="25702attMd002.i tokoe:invalid" result="pass"/><test-case name="25703attMd003.i tokoe:invalid" result="pass"/><test-case name="25704attMd004.i tokoe:invalid" result="pass"/><test-case name="25705attMd005.i tokoe:invalid" result="pass"/><test-case name="25706attMd006.i tokoe:invalid" result="pass"/><test-case name="25707attMd007.i tokoe:invalid" result="pass"/><test-case name="25708attMd008.i tokoe:invalid" result="pass"/><test-case name="25709attMd009.i tokoe:invalid" result="pass"/><test-case name="25710attMd010.i tokoe:invalid" result="pass"/><test-case name="25711attMd011.i tokoe:invalid" result="pass"/><test-case name="25712attP001 tokoe:invalid" result="pass"/><test-case name="25713attP002 tokoe:invalid" result="pass"/><test-case name="25714attP003 tokoe:invalid" result="pass"/><test-case name="25715attP004 tokoe:valid" result="pass"/><test-case name="25716attP004.v tokoe:valid" result="pass"/><test-case name="25717attP005 tokoe:valid" result="pass"/><test-case name="25718attP005.i tokoe:invalid" result="pass"/><test-case name="25719attP006 tokoe:invalid" result="pass"/><test-case name="25720attP007 tokoe:valid" result="pass"/><test-case name="25721attP007.v tokoe:valid" result="pass"/><test-case name="25722attP008 tokoe:valid" result="pass"/><test-case name="25723attP008.i tokoe:invalid" result="pass"/><test-case name="25724attP009 tokoe:valid" result="pass"/><test-case name="25725attP009.i tokoe:invalid" result="pass"/><test-case name="25726attP010 tokoe:valid" result="pass"/><test-case name="25727attP010.i tokoe:invalid" result="pass"/><test-case name="25728attP011 tokoe:valid" result="pass"/><test-case name="25729attP011.v tokoe:valid" result="pass"/><test-case name="25730attP012 tokoe:valid" result="pass"/><test-case name="25731attP012.i tokoe:invalid" result="pass"/><test-case name="25732attP013 tokoe:valid" result="pass"/><test-case name="25733attP013.v tokoe:valid" result="pass"/><test-case name="25734attP014 tokoe:valid" result="pass"/><test-case name="25735attP014.i tokoe:invalid" result="pass"/><test-case name="25736attP015 tokoe:valid" result="pass"/><test-case name="25737attP015.v tokoe:valid" result="pass"/><test-case name="25738attP016 tokoe:valid" result="pass"/><test-case name="25739attP016.i tokoe:invalid" result="pass"/><test-case name="25740attP017 tokoe:valid" result="pass"/><test-case name="25741attP017.v tokoe:valid" result="pass"/><test-case name="25742attP018 tokoe:valid" result="pass"/><test-case name="25743attP018.i tokoe:invalid" result="pass"/><test-case name="25744attP019 tokoe:valid" result="pass"/><test-case name="25745attP019.v tokoe:valid" result="pass"/><test-case name="25746attP020 tokoe:valid" result="pass"/><test-case name="25747attP020.i tokoe:invalid" result="pass"/><test-case name="25748attP021 tokoe:valid" result="pass"/><test-case name="25749attP021.v tokoe:valid" result="pass"/><test-case name="25750attP022 tokoe:valid" result="pass"/><test-case name="25751attP022.v tokoe:valid" result="pass"/><test-case name="25752attP023 tokoe:valid" result="pass"/><test-case name="25753attP023.v tokoe:valid" result="pass"/><test-case name="25754attP024 tokoe:valid" result="pass"/><test-case name="25755attP024.v tokoe:valid" result="pass"/><test-case name="25756attP025 tokoe:valid" result="pass"/><test-case name="25757attP025.v tokoe:valid" result="pass"/><test-case name="25758attP026 tokoe:valid" result="pass"/><test-case name="25759attP026.v tokoe:valid" result="pass"/><test-case name="25760attP027 tokoe:valid" result="pass"/><test-case name="25761attP027.i tokoe:invalid" result="pass"/><test-case name="25762attP028 tokoe:valid" result="pass"/><test-case name="25763attP028.v tokoe:valid" result="pass"/><test-case name="25764attP029 tokoe:valid" result="pass"/><test-case name="25765attP029.v tokoe:valid" result="pass"/><test-case name="25766attP030 tokoe:invalid" result="pass"/><test-case name="25767attP031 tokoe:valid" result="pass"/><test-case name="25768attP031.i tokoe:invalid" result="pass"/><test-case name="25769attP032 tokoe:valid" result="pass"/><test-case name="25770attP032.v tokoe:valid" result="pass"/><test-case name="25771attQ001 tokoe:invalid" result="pass"/><test-case name="25772attQ002 tokoe:invalid" result="pass"/><test-case name="25773attQ003 tokoe:valid" result="pass"/><test-case name="25774attQ003.v tokoe:valid" result="pass"/><test-case name="25775attQ004 tokoe:invalid" result="pass"/><test-case name="25776attQ005 tokoe:invalid" result="pass"/><test-case name="25777attQ006 tokoe:invalid" result="pass"/><test-case name="25778attQ007 tokoe:invalid" result="pass"/><test-case name="25779attQ008 tokoe:invalid" result="pass"/><test-case name="25780attQ009 tokoe:invalid" result="pass"/><test-case name="25781attQ010 tokoe:valid" result="pass"/><test-case name="25782attQ011 tokoe:invalid" result="pass"/><test-case name="25783attQ012 tokoe:invalid" result="pass"/><test-case name="25784attQ013 tokoe:invalid" result="pass"/><test-case name="25785attQ014 tokoe:valid" result="pass"/><test-case name="25786attQ014.v tokoe:valid" result="pass"/><test-case name="25787attQ015 tokoe:invalid" result="pass"/><test-case name="25788attQ016 tokoe:invalid" result="pass"/><test-case name="25789attQ017 tokoe:invalid" result="pass"/><test-case name="25790attQ018 tokoe:invalid" result="pass"/><test-case name="25791attQ019 tokoe:valid" result="pass"/><test-case name="25792attQ019.v tokoe:valid" result="pass"/><test-case name="25793attZ001 tokoe:valid" result="pass"/><test-case name="25794attZ001.i tokoe:invalid" result="pass"/><test-case name="25795attZ002 tokoe:valid" result="pass"/><test-case name="25796attZ002.v tokoe:valid" result="pass"/><test-case name="25797attZ004 tokoe:invalid" result="pass"/><test-case name="25798attZ005 tokoe:valid" result="pass"/><test-case name="25799attZ005.v tokoe:valid" result="pass"/><test-case name="25800attZ006 tokoe:invalid" result="pass"/><test-case name="25801attZ007v tokoe:valid" result="pass"/><test-case name="25802attZ007v.v tokoe:valid" result="pass"/><test-case name="25803attZ007i tokoe:valid" result="pass"/><test-case name="25804attZ007i.i tokoe:invalid" result="pass"/><test-case name="25805attZ008_a tokoe:valid" result="pass"/><test-case name="25806attZ008_b tokoe:valid" result="pass"/><test-case name="25807attZ008_c tokoe:valid" result="pass"/><test-case name="25808attZ008_d tokoe:valid" result="pass"/><test-case name="25809attZ008_e tokoe:invalid" result="pass"/><test-case name="25810attZ008_f tokoe:invalid" result="pass"/><test-case name="25811attZ008_g tokoe:valid" result="pass"/><test-case name="25812attZ008_h tokoe:invalid" result="pass"/><test-case name="25813attZ009 tokoe:valid" result="pass"/><test-case name="25814attZ009.i tokoe:invalid" result="pass"/><test-case name="25815attZ010a tokoe:valid" result="pass"/><test-case name="25816attZ010b tokoe:valid" result="pass"/><test-case name="25817attZ010c tokoe:valid" result="pass"/><test-case name="25818attZ011 tokoe:invalid" result="pass"/><test-case name="25819attZ012 tokoe:invalid" result="pass"/><test-case name="25820attZ013a tokoe:invalid" result="pass"/><test-case name="25821attZ013b tokoe:invalid" result="pass"/><test-case name="25822attZ014a tokoe:valid" result="pass"/><test-case name="25823attZ014a.i tokoe:invalid" result="pass"/><test-case name="25824attZ014b tokoe:valid" result="pass"/><test-case name="25825attZ014b.i tokoe:invalid" result="pass"/><test-case name="25826attZ015 tokoe:valid" result="pass"/><test-case name="25827attZ015.v tokoe:valid" result="pass"/><test-case name="25828ctA001 tokoe:valid" result="pass"/><test-case name="25829ctA001.v tokoe:valid" result="pass"/><test-case name="25830ctA002 tokoe:valid" result="pass"/><test-case name="25831ctA002.v tokoe:valid" result="pass"/><test-case name="25832ctA003 tokoe:valid" result="pass"/><test-case name="25833ctA003.v tokoe:valid" result="pass"/><test-case name="25834ctA004 tokoe:invalid" result="pass"/><test-case name="25835ctA005 tokoe:valid" result="pass"/><test-case name="25836ctA005.v tokoe:valid" result="pass"/><test-case name="25837ctA006 tokoe:invalid" result="pass"/><test-case name="25838ctA007 tokoe:invalid" result="pass"/><test-case name="25839ctA008 tokoe:invalid" result="pass"/><test-case name="25840ctA009 tokoe:valid" result="pass"/><test-case name="25841ctA009.v tokoe:valid" result="pass"/><test-case name="25842ctA010 tokoe:valid" result="pass"/><test-case name="25843ctA010.v tokoe:valid" result="pass"/><test-case name="25844ctA011 tokoe:valid" result="pass"/><test-case name="25845ctA011.v tokoe:valid" result="pass"/><test-case name="25846ctA012 tokoe:valid" result="pass"/><test-case name="25847ctA012.v tokoe:valid" result="pass"/><test-case name="25848ctA013 tokoe:valid" result="pass"/><test-case name="25849ctA013.v tokoe:valid" result="pass"/><test-case name="25850ctA014 tokoe:valid" result="pass"/><test-case name="25851ctA015 tokoe:valid" result="pass"/><test-case name="25852ctA016 tokoe:invalid" result="pass"/><test-case name="25853ctA017 tokoe:valid" result="pass"/><test-case name="25854ctA017.v tokoe:valid" result="pass"/><test-case name="25855ctA018 tokoe:valid" result="pass"/><test-case name="25856ctA018.v tokoe:valid" result="pass"/><test-case name="25857ctA019 tokoe:valid" result="pass"/><test-case name="25858ctA019.v tokoe:valid" result="pass"/><test-case name="25859ctA020 tokoe:valid" result="pass"/><test-case name="25860ctA020.v tokoe:valid" result="pass"/><test-case name="25861ctA021 tokoe:valid" result="pass"/><test-case name="25862ctA021.v tokoe:valid" result="pass"/><test-case name="25863ctA022 tokoe:valid" result="pass"/><test-case name="25864ctA022.v tokoe:valid" result="pass"/><test-case name="25865ctA023 tokoe:valid" result="pass"/><test-case name="25866ctA024 tokoe:valid" result="pass"/><test-case name="25867ctA025 tokoe:invalid" result="pass"/><test-case name="25868ctA026 tokoe:valid" result="pass"/><test-case name="25869ctA026.v tokoe:valid" result="pass"/><test-case name="25870ctA027 tokoe:valid" result="pass"/><test-case name="25871ctA027.v tokoe:valid" result="pass"/><test-case name="25872ctA028 tokoe:invalid" result="pass"/><test-case name="25873ctA029 tokoe:valid" result="pass"/><test-case name="25874ctA030 tokoe:invalid" result="pass"/><test-case name="25875ctA031 tokoe:invalid" result="pass"/><test-case name="25876ctA032 tokoe:valid" result="pass"/><test-case name="25877ctA032.v tokoe:valid" result="pass"/><test-case name="25878ctA033 tokoe:valid" result="pass"/><test-case name="25879ctA033.v tokoe:valid" result="pass"/><test-case name="25880ctA034 tokoe:valid" result="pass"/><test-case name="25881ctA034.v tokoe:valid" result="pass"/><test-case name="25882ctA035 tokoe:valid" result="pass"/><test-case name="25883ctA035.v tokoe:valid" result="pass"/><test-case name="25884ctA036 tokoe:invalid" result="pass"/><test-case name="25885ctA037 tokoe:valid" result="pass"/><test-case name="25886ctA037.v tokoe:valid" result="pass"/><test-case name="25887ctA038 tokoe:invalid" result="pass"/><test-case name="25888ctA039 tokoe:invalid" result="pass"/><test-case name="25889ctA040 tokoe:invalid" result="pass"/><test-case name="25890ctA041 tokoe:valid" result="pass"/><test-case name="25891ctA041.v tokoe:valid" result="pass"/><test-case name="25892ctA042 tokoe:invalid" result="pass"/><test-case name="25893ctA043 tokoe:invalid" result="pass"/><test-case name="25894ctA044 tokoe:invalid" result="pass"/><test-case name="25895ctA045 tokoe:valid" result="pass"/><test-case name="25896ctA045.v tokoe:valid" result="pass"/><test-case name="25897ctA046 tokoe:invalid" result="pass"/><test-case name="25898ctA047 tokoe:valid" result="pass"/><test-case name="25899ctA047.v tokoe:valid" result="pass"/><test-case name="25900ctA048 tokoe:valid" result="pass"/><test-case name="25901ctA048.v tokoe:valid" result="pass"/><test-case name="25902ctA049 tokoe:valid" result="pass"/><test-case name="25903ctA049.v tokoe:valid" result="pass"/><test-case name="25904ctB001 tokoe:valid" result="pass"/><test-case name="25905ctB001.v tokoe:valid" result="pass"/><test-case name="25906ctB002 tokoe:invalid" result="pass"/><test-case name="25907ctB003 tokoe:valid" result="pass"/><test-case name="25908ctB003.v tokoe:valid" result="pass"/><test-case name="25909ctB004 tokoe:invalid" result="pass"/><test-case name="25910ctB005 tokoe:invalid" result="pass"/><test-case name="25911ctB006 tokoe:invalid" result="pass"/><test-case name="25912ctB007 tokoe:invalid" result="pass"/><test-case name="25913ctB008 tokoe:invalid" result="pass"/><test-case name="25914ctB009 tokoe:invalid" result="pass"/><test-case name="25915ctB010 tokoe:invalid" result="pass"/><test-case name="25916ctB011 tokoe:invalid" result="pass"/><test-case name="25917ctB012 tokoe:invalid" result="pass"/><test-case name="25918ctB013 tokoe:invalid" result="pass"/><test-case name="25919ctB014 tokoe:invalid" result="pass"/><test-case name="25920ctB015 tokoe:invalid" result="pass"/><test-case name="25921ctB016 tokoe:invalid" result="pass"/><test-case name="25922ctB017 tokoe:valid" result="pass"/><test-case name="25923ctB017.v tokoe:valid" result="pass"/><test-case name="25924ctB018 tokoe:invalid" result="pass"/><test-case name="25925ctB019 tokoe:invalid" result="pass"/><test-case name="25926ctB020 tokoe:invalid" result="pass"/><test-case name="25927ctB021 tokoe:invalid" result="pass"/><test-case name="25928ctB022 tokoe:invalid" result="pass"/><test-case name="25929ctB023 tokoe:invalid" result="pass"/><test-case name="25930ctB024 tokoe:invalid" result="pass"/><test-case name="25931ctB025 tokoe:invalid" result="pass"/><test-case name="25932ctB026 tokoe:invalid" result="pass"/><test-case name="25933ctB027 tokoe:invalid" result="pass"/><test-case name="25934ctB028 tokoe:invalid" result="pass"/><test-case name="25935ctB029 tokoe:invalid" result="pass"/><test-case name="25936ctB030 tokoe:invalid" result="pass"/><test-case name="25937ctB031 tokoe:valid" result="pass"/><test-case name="25938ctB031.v tokoe:valid" result="pass"/><test-case name="25939ctB032 tokoe:invalid" result="pass"/><test-case name="25940ctB033 tokoe:invalid" result="pass"/><test-case name="25941ctB034 tokoe:invalid" result="pass"/><test-case name="25942ctB035 tokoe:invalid" result="pass"/><test-case name="25943ctB036 tokoe:invalid" result="pass"/><test-case name="25944ctB037 tokoe:invalid" result="pass"/><test-case name="25945ctB038 tokoe:invalid" result="pass"/><test-case name="25946ctB039 tokoe:valid" result="pass"/><test-case name="25947ctB039.v tokoe:valid" result="pass"/><test-case name="25948ctB040 tokoe:valid" result="pass"/><test-case name="25949ctB040.v tokoe:valid" result="pass"/><test-case name="25950ctB041 tokoe:valid" result="pass"/><test-case name="25951ctB041.v tokoe:valid" result="pass"/><test-case name="25952ctB042 tokoe:valid" result="pass"/><test-case name="25953ctB042.v tokoe:valid" result="pass"/><test-case name="25954ctB043 tokoe:valid" result="pass"/><test-case name="25955ctB043.v tokoe:valid" result="pass"/><test-case name="25956ctB044 tokoe:invalid" result="pass"/><test-case name="25957ctB045 tokoe:valid" result="pass"/><test-case name="25958ctB045.v tokoe:valid" result="pass"/><test-case name="25959ctB046 tokoe:invalid" result="pass"/><test-case name="25960ctB047 tokoe:invalid" result="pass"/><test-case name="25961ctB048 tokoe:invalid" result="pass"/><test-case name="25962ctB049 tokoe:invalid" result="pass"/><test-case name="25963ctB050 tokoe:invalid" result="pass"/><test-case name="25964ctB051 tokoe:invalid" result="pass"/><test-case name="25965ctB052 tokoe:invalid" result="pass"/><test-case name="25966ctB053 tokoe:valid" result="pass"/><test-case name="25967ctB053.v tokoe:valid" result="pass"/><test-case name="25968ctB054 tokoe:valid" result="pass"/><test-case name="25969ctB054.v tokoe:valid" result="pass"/><test-case name="25970ctB055 tokoe:valid" result="pass"/><test-case name="25971ctB055.v tokoe:valid" result="pass"/><test-case name="25972ctB056 tokoe:valid" result="pass"/><test-case name="25973ctB056.v tokoe:valid" result="pass"/><test-case name="25974ctB057 tokoe:valid" result="pass"/><test-case name="25975ctB057.v tokoe:valid" result="pass"/><test-case name="25976ctB058 tokoe:invalid" result="pass"/><test-case name="25977ctB059 tokoe:valid" result="pass"/><test-case name="25978ctB059.v tokoe:valid" result="pass"/><test-case name="25979ctB060 tokoe:invalid" result="pass"/><test-case name="25980ctB061 tokoe:invalid" result="pass"/><test-case name="25981ctB062 tokoe:invalid" result="pass"/><test-case name="25982ctB063 tokoe:invalid" result="pass"/><test-case name="25983ctB064 tokoe:invalid" result="pass"/><test-case name="25984ctB065 tokoe:invalid" result="pass"/><test-case name="25985ctB066 tokoe:invalid" result="pass"/><test-case name="25986ctB067 tokoe:valid" result="pass"/><test-case name="25987ctB067.v tokoe:valid" result="pass"/><test-case name="25988ctB068 tokoe:valid" result="pass"/><test-case name="25989ctB068.v tokoe:valid" result="pass"/><test-case name="25990ctB069 tokoe:valid" result="pass"/><test-case name="25991ctB069.v tokoe:valid" result="pass"/><test-case name="25992ctB070 tokoe:valid" result="pass"/><test-case name="25993ctB070.v tokoe:valid" result="pass"/><test-case name="25994ctB071 tokoe:valid" result="pass"/><test-case name="25995ctB071.v tokoe:valid" result="pass"/><test-case name="25996ctB072 tokoe:invalid" result="pass"/><test-case name="25997ctB073 tokoe:valid" result="pass"/><test-case name="25998ctB073.v tokoe:valid" result="pass"/><test-case name="25999ctB074 tokoe:invalid" result="pass"/><test-case name="26000ctB075 tokoe:invalid" result="pass"/><test-case name="26001ctB076 tokoe:invalid" result="pass"/><test-case name="26002ctB077 tokoe:invalid" result="pass"/><test-case name="26003ctB078 tokoe:invalid" result="pass"/><test-case name="26004ctB079 tokoe:invalid" result="pass"/><test-case name="26005ctB080 tokoe:invalid" result="pass"/><test-case name="26006ctB081 tokoe:valid" result="pass"/><test-case name="26007ctB081.v tokoe:valid" result="pass"/><test-case name="26008ctB082 tokoe:valid" result="pass"/><test-case name="26009ctB082.v tokoe:valid" result="pass"/><test-case name="26010ctB083 tokoe:valid" result="pass"/><test-case name="26011ctB083.v tokoe:valid" result="pass"/><test-case name="26012ctB084 tokoe:valid" result="pass"/><test-case name="26013ctB084.v tokoe:valid" result="pass"/><test-case name="26014ctB085 tokoe:valid" result="pass"/><test-case name="26015ctB085.v tokoe:valid" result="pass"/><test-case name="26016ctB086 tokoe:invalid" result="pass"/><test-case name="26017ctB087 tokoe:valid" result="pass"/><test-case name="26018ctB087.v tokoe:valid" result="pass"/><test-case name="26019ctB088 tokoe:invalid" result="pass"/><test-case name="26020ctB089 tokoe:invalid" result="pass"/><test-case name="26021ctB090 tokoe:invalid" result="pass"/><test-case name="26022ctB091 tokoe:invalid" result="pass"/><test-case name="26023ctB092 tokoe:invalid" result="pass"/><test-case name="26024ctB093 tokoe:invalid" result="pass"/><test-case name="26025ctB094 tokoe:invalid" result="pass"/><test-case name="26026ctB095 tokoe:valid" result="pass"/><test-case name="26027ctB095.v tokoe:valid" result="pass"/><test-case name="26028ctB096 tokoe:valid" result="pass"/><test-case name="26029ctB096.v tokoe:valid" result="pass"/><test-case name="26030ctB097 tokoe:valid" result="pass"/><test-case name="26031ctB097.v tokoe:valid" result="pass"/><test-case name="26032ctB098 tokoe:valid" result="pass"/><test-case name="26033ctB098.v tokoe:valid" result="pass"/><test-case name="26034ctB099 tokoe:invalid" result="pass"/><test-case name="26035ctB100 tokoe:valid" result="pass"/><test-case name="26036ctB100.v tokoe:valid" result="pass"/><test-case name="26037ctB101 tokoe:invalid" result="pass"/><test-case name="26038ctB102 tokoe:invalid" result="pass"/><test-case name="26039ctB103 tokoe:invalid" result="pass"/><test-case name="26040ctB104 tokoe:invalid" result="pass"/><test-case name="26041ctB105 tokoe:invalid" result="pass"/><test-case name="26042ctB106 tokoe:invalid" result="pass"/><test-case name="26043ctB107 tokoe:invalid" result="pass"/><test-case name="26044ctB108 tokoe:valid" result="pass"/><test-case name="26045ctB108.v tokoe:valid" result="pass"/><test-case name="26046ctB109 tokoe:valid" result="pass"/><test-case name="26047ctB109.v tokoe:valid" result="pass"/><test-case name="26048ctB110 tokoe:valid" result="pass"/><test-case name="26049ctB110.v tokoe:valid" result="pass"/><test-case name="26050ctB111 tokoe:valid" result="pass"/><test-case name="26051ctB111.v tokoe:valid" result="pass"/><test-case name="26052ctB112 tokoe:invalid" result="pass"/><test-case name="26053ctB113 tokoe:valid" result="pass"/><test-case name="26054ctB113.v tokoe:valid" result="pass"/><test-case name="26055ctB114 tokoe:invalid" result="pass"/><test-case name="26056ctB115 tokoe:invalid" result="pass"/><test-case name="26057ctB116 tokoe:invalid" result="pass"/><test-case name="26058ctB117 tokoe:invalid" result="pass"/><test-case name="26059ctB118 tokoe:invalid" result="pass"/><test-case name="26060ctB119 tokoe:invalid" result="pass"/><test-case name="26061ctB120 tokoe:invalid" result="pass"/><test-case name="26062ctB121 tokoe:invalid" result="pass"/><test-case name="26063ctB122 tokoe:invalid" result="pass"/><test-case name="26064ctB123 tokoe:invalid" result="pass"/><test-case name="26065ctB124 tokoe:invalid" result="pass"/><test-case name="26066ctB125 tokoe:invalid" result="pass"/><test-case name="26067ctC001 tokoe:valid" result="pass"/><test-case name="26068ctC001.v tokoe:valid" result="pass"/><test-case name="26069ctC002 tokoe:invalid" result="pass"/><test-case name="26070ctC003 tokoe:valid" result="pass"/><test-case name="26071ctC004 tokoe:invalid" result="pass"/><test-case name="26072ctC005 tokoe:invalid" result="pass"/><test-case name="26073ctC006 tokoe:valid" result="pass"/><test-case name="26074ctC006.v tokoe:valid" result="pass"/><test-case name="26075ctC007 tokoe:valid" result="pass"/><test-case name="26076ctC007.v tokoe:valid" result="pass"/><test-case name="26077ctC008 tokoe:valid" result="pass"/><test-case name="26078ctC008.v tokoe:valid" result="pass"/><test-case name="26079ctC009 tokoe:invalid" result="pass"/><test-case name="26080ctC010 tokoe:invalid" result="pass"/><test-case name="26081ctC011 tokoe:invalid" result="pass"/><test-case name="26082ctC012 tokoe:valid" result="pass"/><test-case name="26083ctC012.v tokoe:valid" result="pass"/><test-case name="26084ctD001 tokoe:invalid" result="pass"/><test-case name="26085ctD002 tokoe:valid" result="pass"/><test-case name="26086ctD002.v tokoe:valid" result="pass"/><test-case name="26087ctD003 tokoe:invalid" result="pass"/><test-case name="26088ctD004 tokoe:invalid" result="pass"/><test-case name="26089ctD005 tokoe:valid" result="pass"/><test-case name="26090ctD005.v tokoe:valid" result="pass"/><test-case name="26091ctD006 tokoe:valid" result="pass"/><test-case name="26092ctD006.v tokoe:valid" result="pass"/><test-case name="26093ctD007 tokoe:invalid" result="pass"/><test-case name="26094ctD008 tokoe:valid" result="pass"/><test-case name="26095ctD008.v tokoe:valid" result="pass"/><test-case name="26096ctD009 tokoe:invalid" result="pass"/><test-case name="26097ctD010 tokoe:valid" result="pass"/><test-case name="26098ctD010.v tokoe:valid" result="pass"/><test-case name="26099ctD011 tokoe:invalid" result="pass"/><test-case name="26100ctD012 tokoe:valid" result="pass"/><test-case name="26101ctD012.v tokoe:valid" result="pass"/><test-case name="26102ctD013 tokoe:invalid" result="pass"/><test-case name="26103ctD014 tokoe:invalid" result="pass"/><test-case name="26104ctD015 tokoe:valid" result="pass"/><test-case name="26105ctD015.v tokoe:valid" result="pass"/><test-case name="26106ctD016 tokoe:valid" result="pass"/><test-case name="26107ctD016.v tokoe:valid" result="pass"/><test-case name="26108ctD017 tokoe:valid" result="pass"/><test-case name="26109ctD017.v tokoe:valid" result="pass"/><test-case name="26110ctD018 tokoe:valid" result="pass"/><test-case name="26111ctD018.v tokoe:valid" result="pass"/><test-case name="26112ctD019 tokoe:valid" result="pass"/><test-case name="26113ctD019.v tokoe:valid" result="pass"/><test-case name="26114ctD020 tokoe:valid" result="pass"/><test-case name="26115ctD020.v tokoe:valid" result="pass"/><test-case name="26116ctD021 tokoe:valid" result="pass"/><test-case name="26117ctD021.v tokoe:valid" result="pass"/><test-case name="26118ctD022 tokoe:valid" result="pass"/><test-case name="26119ctD022.v tokoe:valid" result="pass"/><test-case name="26120ctD023 tokoe:valid" result="pass"/><test-case name="26121ctD023.v tokoe:valid" result="pass"/><test-case name="26122ctD024 tokoe:invalid" result="pass"/><test-case name="26123ctD025 tokoe:valid" result="pass"/><test-case name="26124ctD025.v tokoe:valid" result="pass"/><test-case name="26125ctD026 tokoe:valid" result="pass"/><test-case name="26126ctD026.v tokoe:valid" result="pass"/><test-case name="26127ctD027 tokoe:valid" result="pass"/><test-case name="26128ctD027.v tokoe:valid" result="pass"/><test-case name="26129ctD028 tokoe:valid" result="pass"/><test-case name="26130ctD028.v tokoe:valid" result="pass"/><test-case name="26131ctD029 tokoe:valid" result="pass"/><test-case name="26132ctD029.v tokoe:valid" result="pass"/><test-case name="26133ctD030 tokoe:valid" result="pass"/><test-case name="26134ctD030.v tokoe:valid" result="pass"/><test-case name="26135ctD031 tokoe:valid" result="pass"/><test-case name="26136ctD031.v tokoe:valid" result="pass"/><test-case name="26137ctD032 tokoe:valid" result="pass"/><test-case name="26138ctD032.v tokoe:valid" result="pass"/><test-case name="26139ctD033 tokoe:valid" result="pass"/><test-case name="26140ctD033.v tokoe:valid" result="pass"/><test-case name="26141ctD034 tokoe:invalid" result="pass"/><test-case name="26142ctD035 tokoe:valid" result="pass"/><test-case name="26143ctD035.v tokoe:valid" result="pass"/><test-case name="26144ctD036 tokoe:invalid" result="pass"/><test-case name="26145ctD037 tokoe:invalid" result="pass"/><test-case name="26146ctD038 tokoe:invalid" result="pass"/><test-case name="26147ctD039 tokoe:invalid" result="pass"/><test-case name="26148ctD040 tokoe:invalid" result="pass"/><test-case name="26149ctD041 tokoe:invalid" result="pass"/><test-case name="26150ctD042 tokoe:invalid" result="pass"/><test-case name="26151ctD043 tokoe:invalid" result="pass"/><test-case name="26152ctE001 tokoe:valid" result="pass"/><test-case name="26153ctE001.v tokoe:valid" result="pass"/><test-case name="26154ctE002 tokoe:valid" result="pass"/><test-case name="26155ctE002.v tokoe:valid" result="pass"/><test-case name="26156ctE003 tokoe:invalid" result="pass"/><test-case name="26157ctE004 tokoe:invalid" result="pass"/><test-case name="26158ctE005 tokoe:invalid" result="pass"/><test-case name="26159ctE006 tokoe:valid" result="pass"/><test-case name="26160ctE006.v tokoe:valid" result="pass"/><test-case name="26161ctE007 tokoe:valid" result="pass"/><test-case name="26162ctE007.v tokoe:valid" result="pass"/><test-case name="26163ctE008 tokoe:valid" result="pass"/><test-case name="26164ctE008.v tokoe:valid" result="pass"/><test-case name="26165ctE009 tokoe:invalid" result="pass"/><test-case name="26166ctE010 tokoe:valid" result="pass"/><test-case name="26167ctE010.v tokoe:valid" result="pass"/><test-case name="26168ctE011 tokoe:invalid" result="pass"/><test-case name="26169ctE012 tokoe:invalid" result="pass"/><test-case name="26170ctE013 tokoe:invalid" result="pass"/><test-case name="26171ctE014 tokoe:invalid" result="pass"/><test-case name="26172ctE015 tokoe:invalid" result="pass"/><test-case name="26173ctE016 tokoe:invalid" result="pass"/><test-case name="26174ctE017 tokoe:valid" result="pass"/><test-case name="26175ctE017.v tokoe:valid" result="pass"/><test-case name="26176ctE018 tokoe:valid" result="pass"/><test-case name="26177ctE018.v tokoe:valid" result="pass"/><test-case name="26178ctE019 tokoe:valid" result="pass"/><test-case name="26179ctE019.v tokoe:valid" result="pass"/><test-case name="26180ctF001 tokoe:valid" result="pass"/><test-case name="26181ctF001.v tokoe:valid" result="pass"/><test-case name="26182ctF002 tokoe:invalid" result="pass"/><test-case name="26183ctF003 tokoe:valid" result="pass"/><test-case name="26184ctF004 tokoe:invalid" result="pass"/><test-case name="26185ctF005 tokoe:invalid" result="pass"/><test-case name="26186ctF006 tokoe:invalid" result="pass"/><test-case name="26187ctF007 tokoe:valid" result="pass"/><test-case name="26188ctF007.v tokoe:valid" result="pass"/><test-case name="26189ctF008 tokoe:invalid" result="pass"/><test-case name="26190ctF009 tokoe:invalid" result="pass"/><test-case name="26191ctF010 tokoe:valid" result="pass"/><test-case name="26192ctF010.v tokoe:valid" result="pass"/><test-case name="26193ctF011 tokoe:valid" result="pass"/><test-case name="26194ctF011.v tokoe:valid" result="pass"/><test-case name="26195ctF012 tokoe:invalid" result="pass"/><test-case name="26196ctF013 tokoe:valid" result="pass"/><test-case name="26197ctF013.v tokoe:valid" result="pass"/><test-case name="26198ctF014 tokoe:valid" result="pass"/><test-case name="26199ctF014.v tokoe:valid" result="pass"/><test-case name="26200ctF015 tokoe:invalid" result="pass"/><test-case name="26201ctF016 tokoe:invalid" result="pass"/><test-case name="26202ctF017 tokoe:invalid" result="pass"/><test-case name="26203ctG001 tokoe:valid" result="pass"/><test-case name="26204ctG001.v tokoe:valid" result="pass"/><test-case name="26205ctG002 tokoe:invalid" result="pass"/><test-case name="26206ctG003 tokoe:invalid" result="pass"/><test-case name="26207ctG004 tokoe:invalid" result="pass"/><test-case name="26208ctG005 tokoe:invalid" result="pass"/><test-case name="26209ctG006 tokoe:invalid" result="pass"/><test-case name="26210ctG007 tokoe:valid" result="pass"/><test-case name="26211ctG007.v tokoe:valid" result="pass"/><test-case name="26212ctG008 tokoe:valid" result="pass"/><test-case name="26213ctG008.v tokoe:valid" result="pass"/><test-case name="26214ctG009 tokoe:valid" result="pass"/><test-case name="26215ctG009.v tokoe:valid" result="pass"/><test-case name="26216ctG010 tokoe:valid" result="pass"/><test-case name="26217ctG010.v tokoe:valid" result="pass"/><test-case name="26218ctG011 tokoe:valid" result="pass"/><test-case name="26219ctG011.v tokoe:valid" result="pass"/><test-case name="26220ctG012 tokoe:invalid" result="pass"/><test-case name="26221ctG013 tokoe:valid" result="pass"/><test-case name="26222ctG013.v tokoe:valid" result="pass"/><test-case name="26223ctG014 tokoe:invalid" result="pass"/><test-case name="26224ctG015 tokoe:invalid" result="pass"/><test-case name="26225ctG016 tokoe:invalid" result="pass"/><test-case name="26226ctG017 tokoe:invalid" result="pass"/><test-case name="26227ctG018 tokoe:invalid" result="pass"/><test-case name="26228ctG019 tokoe:valid" result="pass"/><test-case name="26229ctG019.v tokoe:valid" result="pass"/><test-case name="26230ctG020 tokoe:valid" result="pass"/><test-case name="26231ctG020.v tokoe:valid" result="pass"/><test-case name="26232ctG021 tokoe:valid" result="pass"/><test-case name="26233ctG021.v tokoe:valid" result="pass"/><test-case name="26234ctG022 tokoe:valid" result="pass"/><test-case name="26235ctG022.v tokoe:valid" result="pass"/><test-case name="26236ctG023 tokoe:valid" result="pass"/><test-case name="26237ctG023.v tokoe:valid" result="pass"/><test-case name="26238ctG024 tokoe:invalid" result="pass"/><test-case name="26239ctG025 tokoe:valid" result="pass"/><test-case name="26240ctG025.v tokoe:valid" result="pass"/><test-case name="26241ctG026 tokoe:invalid" result="pass"/><test-case name="26242ctG027 tokoe:invalid" result="pass"/><test-case name="26243ctG028 tokoe:invalid" result="pass"/><test-case name="26244ctG029 tokoe:invalid" result="pass"/><test-case name="26245ctG030 tokoe:invalid" result="pass"/><test-case name="26246ctG031 tokoe:valid" result="pass"/><test-case name="26247ctG031.v tokoe:valid" result="pass"/><test-case name="26248ctG032 tokoe:valid" result="pass"/><test-case name="26249ctG032.v tokoe:valid" result="pass"/><test-case name="26250ctG033 tokoe:valid" result="pass"/><test-case name="26251ctG033.v tokoe:valid" result="pass"/><test-case name="26252ctG034 tokoe:valid" result="pass"/><test-case name="26253ctG034.v tokoe:valid" result="pass"/><test-case name="26254ctG035 tokoe:valid" result="pass"/><test-case name="26255ctG035.v tokoe:valid" result="pass"/><test-case name="26256ctG036 tokoe:invalid" result="pass"/><test-case name="26257ctG037 tokoe:valid" result="pass"/><test-case name="26258ctG037.v tokoe:valid" result="pass"/><test-case name="26259ctG038 tokoe:invalid" result="pass"/><test-case name="26260ctG039 tokoe:invalid" result="pass"/><test-case name="26261ctG040 tokoe:invalid" result="pass"/><test-case name="26262ctG041 tokoe:invalid" result="pass"/><test-case name="26263ctG042 tokoe:invalid" result="pass"/><test-case name="26264ctG043 tokoe:valid" result="pass"/><test-case name="26265ctG043.v tokoe:valid" result="pass"/><test-case name="26266ctG044 tokoe:valid" result="pass"/><test-case name="26267ctG044.v tokoe:valid" result="pass"/><test-case name="26268ctG045 tokoe:valid" result="pass"/><test-case name="26269ctG045.v tokoe:valid" result="pass"/><test-case name="26270ctG046 tokoe:valid" result="pass"/><test-case name="26271ctG046.v tokoe:valid" result="pass"/><test-case name="26272ctG047 tokoe:valid" result="pass"/><test-case name="26273ctG047.v tokoe:valid" result="pass"/><test-case name="26274ctG048 tokoe:invalid" result="pass"/><test-case name="26275ctG049 tokoe:valid" result="pass"/><test-case name="26276ctG049.v tokoe:valid" result="pass"/><test-case name="26277ctG050 tokoe:invalid" result="pass"/><test-case name="26278ctG051 tokoe:invalid" result="pass"/><test-case name="26279ctG052 tokoe:invalid" result="pass"/><test-case name="26280ctG053 tokoe:invalid" result="pass"/><test-case name="26281ctG054 tokoe:invalid" result="pass"/><test-case name="26282ctG055 tokoe:valid" result="pass"/><test-case name="26283ctG055.v tokoe:valid" result="pass"/><test-case name="26284ctG056 tokoe:valid" result="pass"/><test-case name="26285ctG056.v tokoe:valid" result="pass"/><test-case name="26286ctG057 tokoe:valid" result="pass"/><test-case name="26287ctG057.v tokoe:valid" result="pass"/><test-case name="26288ctG058 tokoe:valid" result="pass"/><test-case name="26289ctG058.v tokoe:valid" result="pass"/><test-case name="26290ctG059 tokoe:invalid" result="pass"/><test-case name="26291ctG060 tokoe:valid" result="pass"/><test-case name="26292ctG060.v tokoe:valid" result="pass"/><test-case name="26293ctG061 tokoe:invalid" result="pass"/><test-case name="26294ctG062 tokoe:invalid" result="pass"/><test-case name="26295ctG063 tokoe:invalid" result="pass"/><test-case name="26296ctG064 tokoe:invalid" result="pass"/><test-case name="26297ctG065 tokoe:invalid" result="pass"/><test-case name="26298ctG066 tokoe:valid" result="pass"/><test-case name="26299ctG066.v tokoe:valid" result="pass"/><test-case name="26300ctG067 tokoe:valid" result="pass"/><test-case name="26301ctG067.v tokoe:valid" result="pass"/><test-case name="26302ctG068 tokoe:valid" result="pass"/><test-case name="26303ctG068.v tokoe:valid" result="pass"/><test-case name="26304ctG069 tokoe:valid" result="pass"/><test-case name="26305ctG069.v tokoe:valid" result="pass"/><test-case name="26306ctG070 tokoe:invalid" result="pass"/><test-case name="26307ctG071 tokoe:valid" result="pass"/><test-case name="26308ctG071.v tokoe:valid" result="pass"/><test-case name="26309ctG072 tokoe:invalid" result="pass"/><test-case name="26310ctG073 tokoe:invalid" result="pass"/><test-case name="26311ctG074 tokoe:invalid" result="pass"/><test-case name="26312ctG075 tokoe:invalid" result="pass"/><test-case name="26313ctG076 tokoe:invalid" result="pass"/><test-case name="26314ctG077 tokoe:invalid" result="pass"/><test-case name="26315ctG078 tokoe:invalid" result="pass"/><test-case name="26316ctG079 tokoe:invalid" result="pass"/><test-case name="26317ctG080 tokoe:invalid" result="pass"/><test-case name="26318ctG081 tokoe:invalid" result="pass"/><test-case name="26319ctH001 tokoe:valid" result="pass"/><test-case name="26320ctH001.v tokoe:valid" result="pass"/><test-case name="26321ctH002 tokoe:invalid" result="pass"/><test-case name="26322ctH003 tokoe:invalid" result="pass"/><test-case name="26323ctH004 tokoe:invalid" result="pass"/><test-case name="26324ctH005 tokoe:invalid" result="pass"/><test-case name="26325ctH006 tokoe:invalid" result="pass"/><test-case name="26326ctH007 tokoe:valid" result="pass"/><test-case name="26327ctH007.v tokoe:valid" result="pass"/><test-case name="26328ctH008 tokoe:valid" result="pass"/><test-case name="26329ctH008.v tokoe:valid" result="pass"/><test-case name="26330ctH009 tokoe:valid" result="pass"/><test-case name="26331ctH009.v tokoe:valid" result="pass"/><test-case name="26332ctH010 tokoe:valid" result="pass"/><test-case name="26333ctH010.v tokoe:valid" result="pass"/><test-case name="26334ctH011 tokoe:valid" result="pass"/><test-case name="26335ctH011.v tokoe:valid" result="pass"/><test-case name="26336ctH012 tokoe:invalid" result="pass"/><test-case name="26337ctH013 tokoe:invalid" result="pass"/><test-case name="26338ctH014 tokoe:invalid" result="pass"/><test-case name="26339ctH015 tokoe:invalid" result="pass"/><test-case name="26340ctH016 tokoe:invalid" result="pass"/><test-case name="26341ctH017 tokoe:invalid" result="pass"/><test-case name="26342ctH018 tokoe:invalid" result="pass"/><test-case name="26343ctH019 tokoe:invalid" result="pass"/><test-case name="26344ctH020 tokoe:invalid" result="pass"/><test-case name="26345ctH021 tokoe:invalid" result="pass"/><test-case name="26346ctH022 tokoe:invalid" result="pass"/><test-case name="26347ctH023 tokoe:invalid" result="pass"/><test-case name="26348ctH024 tokoe:invalid" result="pass"/><test-case name="26349ctH025 tokoe:valid" result="pass"/><test-case name="26350ctH025.v tokoe:valid" result="pass"/><test-case name="26351ctH026 tokoe:invalid" result="pass"/><test-case name="26352ctH027 tokoe:invalid" result="pass"/><test-case name="26353ctH028 tokoe:invalid" result="pass"/><test-case name="26354ctH029 tokoe:invalid" result="pass"/><test-case name="26355ctH030 tokoe:invalid" result="pass"/><test-case name="26356ctH031 tokoe:valid" result="pass"/><test-case name="26357ctH031.v tokoe:valid" result="pass"/><test-case name="26358ctH032 tokoe:valid" result="pass"/><test-case name="26359ctH032.v tokoe:valid" result="pass"/><test-case name="26360ctH033 tokoe:valid" result="pass"/><test-case name="26361ctH033.v tokoe:valid" result="pass"/><test-case name="26362ctH034 tokoe:valid" result="pass"/><test-case name="26363ctH034.v tokoe:valid" result="pass"/><test-case name="26364ctH035 tokoe:valid" result="pass"/><test-case name="26365ctH035.v tokoe:valid" result="pass"/><test-case name="26366ctH036 tokoe:invalid" result="pass"/><test-case name="26367ctH037 tokoe:valid" result="pass"/><test-case name="26368ctH037.v tokoe:valid" result="pass"/><test-case name="26369ctH038 tokoe:invalid" result="pass"/><test-case name="26370ctH039 tokoe:invalid" result="pass"/><test-case name="26371ctH040 tokoe:invalid" result="pass"/><test-case name="26372ctH041 tokoe:invalid" result="pass"/><test-case name="26373ctH042 tokoe:invalid" result="pass"/><test-case name="26374ctH043 tokoe:valid" result="pass"/><test-case name="26375ctH043.v tokoe:valid" result="pass"/><test-case name="26376ctH044 tokoe:valid" result="pass"/><test-case name="26377ctH044.v tokoe:valid" result="pass"/><test-case name="26378ctH045 tokoe:valid" result="pass"/><test-case name="26379ctH045.v tokoe:valid" result="pass"/><test-case name="26380ctH046 tokoe:valid" result="pass"/><test-case name="26381ctH046.v tokoe:valid" result="pass"/><test-case name="26382ctH047 tokoe:valid" result="pass"/><test-case name="26383ctH047.v tokoe:valid" result="pass"/><test-case name="26384ctH048 tokoe:invalid" result="pass"/><test-case name="26385ctH049 tokoe:valid" result="pass"/><test-case name="26386ctH049.v tokoe:valid" result="pass"/><test-case name="26387ctH050 tokoe:invalid" result="pass"/><test-case name="26388ctH051 tokoe:invalid" result="pass"/><test-case name="26389ctH052 tokoe:invalid" result="pass"/><test-case name="26390ctH053 tokoe:invalid" result="pass"/><test-case name="26391ctH054 tokoe:invalid" result="pass"/><test-case name="26392ctH055 tokoe:valid" result="pass"/><test-case name="26393ctH055.v tokoe:valid" result="pass"/><test-case name="26394ctH056 tokoe:valid" result="pass"/><test-case name="26395ctH056.v tokoe:valid" result="pass"/><test-case name="26396ctH057 tokoe:valid" result="pass"/><test-case name="26397ctH057.v tokoe:valid" result="pass"/><test-case name="26398ctH058 tokoe:valid" result="pass"/><test-case name="26399ctH058.v tokoe:valid" result="pass"/><test-case name="26400ctH059 tokoe:invalid" result="pass"/><test-case name="26401ctH060 tokoe:valid" result="pass"/><test-case name="26402ctH060.v tokoe:valid" result="pass"/><test-case name="26403ctH061 tokoe:invalid" result="pass"/><test-case name="26404ctH062 tokoe:invalid" result="pass"/><test-case name="26405ctH063 tokoe:invalid" result="pass"/><test-case name="26406ctH064 tokoe:invalid" result="pass"/><test-case name="26407ctH065 tokoe:invalid" result="pass"/><test-case name="26408ctH066 tokoe:valid" result="pass"/><test-case name="26409ctH066.v tokoe:valid" result="pass"/><test-case name="26410ctH067 tokoe:valid" result="pass"/><test-case name="26411ctH067.v tokoe:valid" result="pass"/><test-case name="26412ctH068 tokoe:valid" result="pass"/><test-case name="26413ctH068.v tokoe:valid" result="pass"/><test-case name="26414ctH069 tokoe:valid" result="pass"/><test-case name="26415ctH069.v tokoe:valid" result="pass"/><test-case name="26416ctH070 tokoe:invalid" result="pass"/><test-case name="26417ctH071 tokoe:valid" result="pass"/><test-case name="26418ctH071.v tokoe:valid" result="pass"/><test-case name="26419ctH072 tokoe:invalid" result="pass"/><test-case name="26420ctH073 tokoe:invalid" result="pass"/><test-case name="26421ctH074 tokoe:invalid" result="pass"/><test-case name="26422ctH075 tokoe:invalid" result="pass"/><test-case name="26423ctH076 tokoe:invalid" result="pass"/><test-case name="26424ctH077 tokoe:invalid" result="pass"/><test-case name="26425ctH078 tokoe:invalid" result="pass"/><test-case name="26426ctH079 tokoe:invalid" result="pass"/><test-case name="26427ctH080 tokoe:invalid" result="pass"/><test-case name="26428ctH081 tokoe:invalid" result="pass"/><test-case name="26429ctH082 tokoe:valid" result="pass"/><test-case name="26430ctH082.v tokoe:valid" result="pass"/><test-case name="26431ctI001 tokoe:invalid" result="pass"/><test-case name="26432ctI002 tokoe:invalid" result="pass"/><test-case name="26433ctI003 tokoe:valid" result="pass"/><test-case name="26434ctI003.v tokoe:valid" result="pass"/><test-case name="26435ctI004 tokoe:valid" result="pass"/><test-case name="26436ctI004.v tokoe:valid" result="pass"/><test-case name="26437ctI005 tokoe:valid" result="pass"/><test-case name="26438ctI005.v tokoe:valid" result="pass"/><test-case name="26439ctI006 tokoe:invalid" result="pass"/><test-case name="26440ctI007 tokoe:invalid" result="pass"/><test-case name="26441ctI008 tokoe:invalid" result="pass"/><test-case name="26442ctI009 tokoe:valid" result="pass"/><test-case name="26443ctI009.v tokoe:valid" result="pass"/><test-case name="26444ctI010 tokoe:valid" result="pass"/><test-case name="26445ctI010.v tokoe:valid" result="pass"/><test-case name="26446ctI011 tokoe:invalid" result="pass"/><test-case name="26447ctI012 tokoe:invalid" result="pass"/><test-case name="26448ctI013 tokoe:invalid" result="pass"/><test-case name="26449ctI014 tokoe:valid" result="pass"/><test-case name="26450ctI014.v tokoe:valid" result="pass"/><test-case name="26451ctI015 tokoe:valid" result="pass"/><test-case name="26452ctI015.v tokoe:valid" result="pass"/><test-case name="26453ctI016 tokoe:invalid" result="pass"/><test-case name="26454ctI017 tokoe:invalid" result="pass"/><test-case name="26455ctI018 tokoe:valid" result="pass"/><test-case name="26456ctI018.v tokoe:valid" result="pass"/><test-case name="26457ctI019 tokoe:valid" result="pass"/><test-case name="26458ctI019.v tokoe:valid" result="pass"/><test-case name="26459ctI020 tokoe:invalid" result="pass"/><test-case name="26460ctI021 tokoe:valid" result="pass"/><test-case name="26461ctI021.v tokoe:valid" result="pass"/><test-case name="26462ctI022 tokoe:valid" result="pass"/><test-case name="26463ctI022.v tokoe:valid" result="pass"/><test-case name="26464ctI023 tokoe:valid" result="pass"/><test-case name="26465ctI023.v tokoe:valid" result="pass"/><test-case name="26466ctI024 tokoe:invalid" result="pass"/><test-case name="26467ctI025 tokoe:valid" result="pass"/><test-case name="26468ctI025.v tokoe:valid" result="pass"/><test-case name="26469ctI026 tokoe:valid" result="pass"/><test-case name="26470ctI026.v tokoe:valid" result="pass"/><test-case name="26471ctI027 tokoe:valid" result="pass"/><test-case name="26472ctI027.v tokoe:valid" result="pass"/><test-case name="26473ctI028 tokoe:valid" result="pass"/><test-case name="26474ctI028.v tokoe:valid" result="pass"/><test-case name="26475ctI029 tokoe:valid" result="pass"/><test-case name="26476ctI029.v tokoe:valid" result="pass"/><test-case name="26477ctI030 tokoe:valid" result="pass"/><test-case name="26478ctI030.i tokoe:invalid" result="pass"/><test-case name="26479ctI031 tokoe:valid" result="pass"/><test-case name="26480ctI031.i tokoe:invalid" result="pass"/><test-case name="26481ctI032 tokoe:valid" result="pass"/><test-case name="26482ctI032.i tokoe:invalid" result="pass"/><test-case name="26483ctI033 tokoe:valid" result="pass"/><test-case name="26484ctI033.v tokoe:valid" result="pass"/><test-case name="26485ctI034 tokoe:valid" result="pass"/><test-case name="26486ctI034.v tokoe:valid" result="pass"/><test-case name="26487ctI035 tokoe:valid" result="pass"/><test-case name="26488ctI035.i tokoe:invalid" result="pass"/><test-case name="26489ctI036 tokoe:valid" result="pass"/><test-case name="26490ctI036.v tokoe:valid" result="pass"/><test-case name="26491ctI037 tokoe:valid" result="pass"/><test-case name="26492ctI037.v tokoe:valid" result="pass"/><test-case name="26493ctI038 tokoe:valid" result="pass"/><test-case name="26494ctI038.i tokoe:invalid" result="pass"/><test-case name="26495ctI039 tokoe:valid" result="pass"/><test-case name="26496ctI039.i tokoe:invalid" result="pass"/><test-case name="26497ctI040 tokoe:valid" result="pass"/><test-case name="26498ctI040.v tokoe:valid" result="pass"/><test-case name="26499ctI041 tokoe:valid" result="pass"/><test-case name="26500ctI041.v tokoe:valid" result="pass"/><test-case name="26501ctI042 tokoe:valid" result="pass"/><test-case name="26502ctI042.i tokoe:invalid" result="pass"/><test-case name="26503ctI043 tokoe:valid" result="pass"/><test-case name="26504ctI043.v tokoe:valid" result="pass"/><test-case name="26505ctI044 tokoe:valid" result="pass"/><test-case name="26506ctI044.v tokoe:valid" result="pass"/><test-case name="26507ctI045 tokoe:valid" result="pass"/><test-case name="26508ctI045.i tokoe:invalid" result="pass"/><test-case name="26509ctI046 tokoe:valid" result="pass"/><test-case name="26510ctI046.v tokoe:valid" result="pass"/><test-case name="26511ctI047 tokoe:valid" result="pass"/><test-case name="26512ctI047.v tokoe:valid" result="pass"/><test-case name="26513ctI048 tokoe:valid" result="pass"/><test-case name="26514ctI048.i tokoe:invalid" result="pass"/><test-case name="26515ctI049 tokoe:valid" result="pass"/><test-case name="26516ctI049.i tokoe:invalid" result="pass"/><test-case name="26517ctI050 tokoe:valid" result="pass"/><test-case name="26518ctI050.v tokoe:valid" result="pass"/><test-case name="26519ctJ001 tokoe:valid" result="pass"/><test-case name="26520ctJ001.v tokoe:valid" result="pass"/><test-case name="26521ctJ002 tokoe:invalid" result="pass"/><test-case name="26522ctJ003 tokoe:invalid" result="pass"/><test-case name="26523ctK001 tokoe:valid" result="pass"/><test-case name="26524ctK001.v tokoe:valid" result="pass"/><test-case name="26525ctK002 tokoe:invalid" result="pass"/><test-case name="26526ctL001 tokoe:valid" result="pass"/><test-case name="26527ctL001.i tokoe:invalid" result="pass"/><test-case name="26528ctL002 tokoe:valid" result="pass"/><test-case name="26529ctL002.i tokoe:invalid" result="pass"/><test-case name="26530ctL003 tokoe:valid" result="pass"/><test-case name="26531ctL003.v tokoe:valid" result="pass"/><test-case name="26532ctL004 tokoe:valid" result="pass"/><test-case name="26533ctL004.i tokoe:invalid" result="pass"/><test-case name="26534ctL005 tokoe:valid" result="pass"/><test-case name="26535ctL005.v tokoe:valid" result="pass"/><test-case name="26536ctL006 tokoe:valid" result="pass"/><test-case name="26537ctL006.i tokoe:invalid" result="pass"/><test-case name="26538ctL007 tokoe:valid" result="pass"/><test-case name="26539ctL007.v tokoe:valid" result="pass"/><test-case name="26540ctL008 tokoe:valid" result="pass"/><test-case name="26541ctL008.v tokoe:valid" result="pass"/><test-case name="26542ctL009 tokoe:valid" result="pass"/><test-case name="26543ctL009.i tokoe:invalid" result="pass"/><test-case name="26544ctL010 tokoe:valid" result="pass"/><test-case name="26545ctL010.i tokoe:invalid" result="pass"/><test-case name="26546ctL011 tokoe:valid" result="pass"/><test-case name="26547ctL011.v tokoe:valid" result="pass"/><test-case name="26548ctL012 tokoe:valid" result="pass"/><test-case name="26549ctL012.i tokoe:invalid" result="pass"/><test-case name="26550ctL013 tokoe:valid" result="pass"/><test-case name="26551ctL013.i tokoe:invalid" result="pass"/><test-case name="26552ctL014 tokoe:valid" result="pass"/><test-case name="26553ctL014.v tokoe:valid" result="pass"/><test-case name="26554ctL015 tokoe:valid" result="pass"/><test-case name="26555ctL015.v tokoe:valid" result="pass"/><test-case name="26556ctL016 tokoe:valid" result="pass"/><test-case name="26557ctL016.v tokoe:valid" result="pass"/><test-case name="26558ctL017 tokoe:valid" result="pass"/><test-case name="26559ctL017.v tokoe:valid" result="pass"/><test-case name="26560ctL018 tokoe:valid" result="pass"/><test-case name="26561ctL018.v tokoe:valid" result="pass"/><test-case name="26562ctL019 tokoe:valid" result="pass"/><test-case name="26563ctL019.v tokoe:valid" result="pass"/><test-case name="26564ctL020 tokoe:valid" result="pass"/><test-case name="26565ctL020.i tokoe:invalid" result="pass"/><test-case name="26566ctL021 tokoe:valid" result="pass"/><test-case name="26567ctL021.v tokoe:valid" result="pass"/><test-case name="26568ctL022 tokoe:valid" result="pass"/><test-case name="26569ctL022.v tokoe:valid" result="pass"/><test-case name="26570ctM001 tokoe:invalid" result="pass"/><test-case name="26571ctM002 tokoe:valid" result="pass"/><test-case name="26572ctM002.v tokoe:valid" result="pass"/><test-case name="26573ctM003 tokoe:invalid" result="pass"/><test-case name="26574ctM004 tokoe:invalid" result="pass"/><test-case name="26575ctN001 tokoe:valid" result="pass"/><test-case name="26576ctN001.v tokoe:valid" result="pass"/><test-case name="26577ctN002 tokoe:invalid" result="pass"/><test-case name="26578ctN003 tokoe:valid" result="pass"/><test-case name="26579ctN003.v tokoe:valid" result="pass"/><test-case name="26580ctN004 tokoe:valid" result="pass"/><test-case name="26581ctN004.v tokoe:valid" result="pass"/><test-case name="26582ctO001 tokoe:valid" result="pass"/><test-case name="26583ctO001.v tokoe:valid" result="pass"/><test-case name="26584ctO002 tokoe:invalid" result="pass"/><test-case name="26585ctO003 tokoe:valid" result="pass"/><test-case name="26586ctO003.v tokoe:valid" result="pass"/><test-case name="26587ctO004 tokoe:invalid" result="pass"/><test-case name="26588ctO005 tokoe:invalid" result="pass"/><test-case name="26589ctO006 tokoe:valid" result="pass"/><test-case name="26590ctO006.v tokoe:valid" result="pass"/><test-case name="26591ctO007 tokoe:invalid" result="pass"/><test-case name="26592ctZ001 tokoe:valid" result="pass"/><test-case name="26593ctZ001.v tokoe:valid" result="pass"/><test-case name="26594ctZ002 tokoe:invalid" result="pass"/><test-case name="26595ctZ003 tokoe:valid" result="pass"/><test-case name="26596ctZ003.v tokoe:valid" result="pass"/><test-case name="26597ctZ004 tokoe:valid" result="pass"/><test-case name="26598ctZ005 tokoe:valid" result="pass"/><test-case name="26599ctZ005.i tokoe:invalid" result="pass"/><test-case name="26600ctZ006 tokoe:valid" result="pass"/><test-case name="26601ctZ006.v tokoe:valid" result="pass"/><test-case name="26602ctZ007 tokoe:valid" result="pass"/><test-case name="26603ctZ007.v tokoe:valid" result="fail"/><test-case name="26604ctZ008 tokoe:valid" result="pass"/><test-case name="26605ctZ008.v tokoe:valid" result="pass"/><test-case name="26606ctZ009 tokoe:valid" result="pass"/><test-case name="26607ctZ009.v tokoe:valid" result="pass"/><test-case name="26608ctZ009_a tokoe:valid" result="pass"/><test-case name="26609ctZ009_a.v tokoe:valid" result="pass"/><test-case name="26610ctZ009_b tokoe:valid" result="pass"/><test-case name="26611ctZ009_b.v tokoe:valid" result="pass"/><test-case name="26612ctZ009_c tokoe:valid" result="pass"/><test-case name="26613ctZ009_c.i tokoe:invalid" result="pass"/><test-case name="26614ctZ009_d tokoe:valid" result="pass"/><test-case name="26615ctZ009_d.v tokoe:valid" result="pass"/><test-case name="26616ctZ010 tokoe:valid" result="pass"/><test-case name="26617ctZ010a tokoe:invalid" result="pass"/><test-case name="26618ctZ010b tokoe:valid" result="pass"/><test-case name="26619ctZ010c tokoe:valid" result="pass"/><test-case name="26620ctZ010d tokoe:invalid" result="pass"/><test-case name="26621ctZ010e tokoe:invalid" result="pass"/><test-case name="26622ctZ010f tokoe:valid" result="pass"/><test-case name="26623ctZ010g tokoe:valid" result="pass"/><test-case name="26624ctZ010h tokoe:valid" result="pass"/><test-case name="26625ctZ011_a.v tokoe:valid" result="pass"/><test-case name="26626ctZ011_b tokoe:valid" result="pass"/><test-case name="26627ctZ011_b.v tokoe:valid" result="pass"/><test-case name="26628ctZ012a tokoe:valid" result="pass"/><test-case name="26629ctZ012b tokoe:valid" result="pass"/><test-case name="26630ctZ013a tokoe:valid" result="pass"/><test-case name="26631ctZ013a.v tokoe:valid" result="pass"/><test-case name="26632ctZ013b tokoe:valid" result="pass"/><test-case name="26633ctZ013b.v tokoe:valid" result="pass"/><test-case name="26634ctZ013c tokoe:valid" result="pass"/><test-case name="26635ctZ013c.i tokoe:invalid" result="pass"/><test-case name="26636ctZ013d tokoe:valid" result="pass"/><test-case name="26637ctZ013d.i tokoe:invalid" result="pass"/><test-case name="26638ctZ013e tokoe:valid" result="pass"/><test-case name="26639ctZ013e.i tokoe:invalid" result="pass"/><test-case name="26640string_length001_0 tokoe:invalid" result="pass"/><test-case name="26641string_length002_1 tokoe:invalid" result="pass"/><test-case name="26642string_length003_2 tokoe:valid" result="pass"/><test-case name="26643string_length004_3 tokoe:invalid" result="pass"/><test-case name="26644string_length005_4 tokoe:invalid" result="pass"/><test-case name="26645string_length006_5 tokoe:invalid" result="pass"/><test-case name="26646string_length007_6 tokoe:invalid" result="pass"/><test-case name="26647string_minLength001_7 tokoe:invalid" result="pass"/><test-case name="26648string_minLength002_8 tokoe:invalid" result="pass"/><test-case name="26649string_minLength003_9 tokoe:valid" result="pass"/><test-case name="26650string_minLength004_10 tokoe:invalid" result="pass"/><test-case name="26651string_minLength005_11 tokoe:invalid" result="pass"/><test-case name="26652string_minLength006_12 tokoe:invalid" result="pass"/><test-case name="26653string_minLength007_13 tokoe:valid" result="pass"/><test-case name="26654string_minLength008_14 tokoe:valid" result="pass"/><test-case name="26655string_maxLength001_15 tokoe:invalid" result="pass"/><test-case name="26656string_maxLength002_16 tokoe:invalid" result="pass"/><test-case name="26657string_maxLength003_17 tokoe:valid" result="pass"/><test-case name="26658string_maxLength004_18 tokoe:invalid" result="pass"/><test-case name="26659string_maxLength005_19 tokoe:invalid" result="pass"/><test-case name="26660string_pattern001_20 tokoe:valid" result="pass"/><test-case name="26661string_enumeration001_21 tokoe:valid" result="pass"/><test-case name="26662string_enumeration002_22 tokoe:valid" result="pass"/><test-case name="26663decimal_pattern001_23 tokoe:valid" result="pass"/><test-case name="26664decimal_enumeration001_24 tokoe:invalid" result="pass"/><test-case name="26665decimal_enumeration002_25 tokoe:valid" result="pass"/><test-case name="26666decimal_maxInclusive001_26 tokoe:invalid" result="pass"/><test-case name="26667decimal_maxInclusive002_27 tokoe:valid" result="pass"/><test-case name="26668decimal_maxInclusive003_28 tokoe:invalid" result="pass"/><test-case name="26669decimal_maxExclusive001_29 tokoe:invalid" result="pass"/><test-case name="26670decimal_maxExclusive002_30 tokoe:valid" result="pass"/><test-case name="26671decimal_minInclusive001_31 tokoe:invalid" result="pass"/><test-case name="26672decimal_minInclusive002_32 tokoe:valid" result="pass"/><test-case name="26673decimal_minInclusive003_33 tokoe:invalid" result="pass"/><test-case name="26674decimal_minExclusive001_34 tokoe:invalid" result="pass"/><test-case name="26675decimal_minExclusive002_35 tokoe:valid" result="pass"/><test-case name="26676decimal_minExclusive003_36 tokoe:invalid" result="pass"/><test-case name="26677decimal_totalDigits001_37 tokoe:invalid" result="pass"/><test-case name="26678decimal_totalDigits002_38 tokoe:invalid" result="pass"/><test-case name="26679decimal_totalDigits003_39 tokoe:invalid" result="pass"/><test-case name="26680decimal_totalDigits004_40 tokoe:valid" result="pass"/><test-case name="26681decimal_totalDigits005_41 tokoe:invalid" result="pass"/><test-case name="26682decimal_totalDigits006_42 tokoe:invalid" result="pass"/><test-case name="26683decimal_totalDigits007_43 tokoe:valid" result="pass"/><test-case name="26684decimal_fractionDigits001_44 tokoe:invalid" result="pass"/><test-case name="26685decimal_fractionDigits002_45 tokoe:invalid" result="pass"/><test-case name="26686decimal_fractionDigits003_46 tokoe:valid" result="pass"/><test-case name="26687decimal_fractionDigits004_47 tokoe:valid" result="pass"/><test-case name="26688decimal_fractionDigits005_48 tokoe:invalid" result="pass"/><test-case name="26689decimal_fractionDigits006_49 tokoe:invalid" result="pass"/><test-case name="26690decimal_fractionDigits007_50 tokoe:valid" result="pass"/><test-case name="26691decimal_fractionDigits008_51 tokoe:invalid" result="pass"/><test-case name="26692float_pattern001_52 tokoe:valid" result="pass"/><test-case name="26693float_enumeration001_53 tokoe:invalid" result="pass"/><test-case name="26694float_enumeration002_54 tokoe:valid" result="pass"/><test-case name="26695float_maxInclusive001_55 tokoe:invalid" result="pass"/><test-case name="26696float_maxInclusive002_56 tokoe:valid" result="pass"/><test-case name="26697float_maxInclusive003_57 tokoe:invalid" result="pass"/><test-case name="26698float_maxExclusive001_58 tokoe:invalid" result="pass"/><test-case name="26699float_maxExclusive002_59 tokoe:valid" result="pass"/><test-case name="26700float_minInclusive001_60 tokoe:invalid" result="pass"/><test-case name="26701float_minInclusive002_61 tokoe:valid" result="pass"/><test-case name="26702float_minInclusive003_62 tokoe:invalid" result="pass"/><test-case name="26703float_minExclusive001_63 tokoe:invalid" result="pass"/><test-case name="26704float_minExclusive002_64 tokoe:valid" result="pass"/><test-case name="26705float_minExclusive003_65 tokoe:invalid" result="pass"/><test-case name="26706double_pattern001_66 tokoe:valid" result="pass"/><test-case name="26707double_enumeration001_67 tokoe:invalid" result="pass"/><test-case name="26708double_enumeration002_68 tokoe:valid" result="pass"/><test-case name="26709double_maxInclusive001_69 tokoe:invalid" result="pass"/><test-case name="26710double_maxInclusive002_70 tokoe:valid" result="pass"/><test-case name="26711double_maxInclusive003_71 tokoe:invalid" result="pass"/><test-case name="26712double_maxExclusive001_72 tokoe:invalid" result="pass"/><test-case name="26713double_maxExclusive002_73 tokoe:valid" result="pass"/><test-case name="26714double_minInclusive001_74 tokoe:invalid" result="pass"/><test-case name="26715double_minInclusive002_75 tokoe:valid" result="pass"/><test-case name="26716double_minInclusive003_76 tokoe:invalid" result="pass"/><test-case name="26717double_minExclusive001_77 tokoe:invalid" result="pass"/><test-case name="26718double_minExclusive002_78 tokoe:valid" result="pass"/><test-case name="26719double_minExclusive003_79 tokoe:invalid" result="pass"/><test-case name="26720duration_pattern001_80 tokoe:valid" result="pass"/><test-case name="26721duration_enumeration001_81 tokoe:invalid" result="pass"/><test-case name="26722duration_enumeration002_82 tokoe:valid" result="pass"/><test-case name="26723duration_enumeration003_83 tokoe:valid" result="pass"/><test-case name="26724duration_enumeration004_84 tokoe:valid" result="pass"/><test-case name="26725duration_maxInclusive001_85 tokoe:invalid" result="pass"/><test-case name="26726duration_maxInclusive002_86 tokoe:valid" result="pass"/><test-case name="26727duration_maxInclusive003_87 tokoe:invalid" result="pass"/><test-case name="26728duration_maxExclusive001_88 tokoe:invalid" result="pass"/><test-case name="26729duration_maxExclusive002_89 tokoe:valid" result="pass"/><test-case name="26730duration_minInclusive001_90 tokoe:invalid" result="pass"/><test-case name="26731duration_minInclusive002_91 tokoe:valid" result="pass"/><test-case name="26732duration_minInclusive003_92 tokoe:invalid" result="pass"/><test-case name="26733duration_minInclusive004_93 tokoe:valid" result="fail"/><test-case name="26734duration_minExclusive001_94 tokoe:invalid" result="pass"/><test-case name="26735duration_minExclusive002_95 tokoe:valid" result="pass"/><test-case name="26736duration_minExclusive003_96 tokoe:invalid" result="pass"/><test-case name="26737dateTime_pattern001_97 tokoe:valid" result="pass"/><test-case name="26738dateTime_enumeration001_98 tokoe:invalid" result="pass"/><test-case name="26739dateTime_enumeration002_99 tokoe:valid" result="pass"/><test-case name="26740dateTime_enumeration003_100 tokoe:valid" result="fail"/><test-case name="26741dateTime_maxInclusive001_101 tokoe:invalid" result="pass"/><test-case name="26742dateTime_maxInclusive002_102 tokoe:valid" result="pass"/><test-case name="26743dateTime_maxInclusive003_103 tokoe:invalid" result="pass"/><test-case name="26744dateTime_maxInclusive004_104 tokoe:valid" result="pass"/><test-case name="26745dateTime_maxExclusive001_105 tokoe:invalid" result="pass"/><test-case name="26746dateTime_maxExclusive002_106 tokoe:valid" result="pass"/><test-case name="26747dateTime_minInclusive001_107 tokoe:invalid" result="pass"/><test-case name="26748dateTime_minInclusive002_108 tokoe:valid" result="pass"/><test-case name="26749dateTime_minInclusive003_109 tokoe:invalid" result="pass"/><test-case name="26750dateTime_minExclusive001_110 tokoe:invalid" result="pass"/><test-case name="26751dateTime_minExclusive002_111 tokoe:valid" result="pass"/><test-case name="26752dateTime_minExclusive003_112 tokoe:invalid" result="pass"/><test-case name="26753time_pattern001_113 tokoe:valid" result="pass"/><test-case name="26754time_enumeration001_114 tokoe:invalid" result="pass"/><test-case name="26755time_enumeration002_115 tokoe:valid" result="pass"/><test-case name="26756time_maxInclusive001_116 tokoe:invalid" result="pass"/><test-case name="26757time_maxInclusive002_117 tokoe:valid" result="pass"/><test-case name="26758time_maxInclusive003_118 tokoe:invalid" result="pass"/><test-case name="26759time_maxInclusive007_119 tokoe:invalid" result="pass"/><test-case name="26760time_maxExclusive001_120 tokoe:invalid" result="pass"/><test-case name="26761time_maxExclusive002_121 tokoe:valid" result="pass"/><test-case name="26762time_minInclusive001_122 tokoe:invalid" result="pass"/><test-case name="26763time_minInclusive002_123 tokoe:valid" result="pass"/><test-case name="26764time_minInclusive003_124 tokoe:invalid" result="pass"/><test-case name="26765time_minExclusive001_125 tokoe:invalid" result="pass"/><test-case name="26766time_minExclusive002_126 tokoe:valid" result="pass"/><test-case name="26767time_minExclusive003_127 tokoe:invalid" result="pass"/><test-case name="26768date_pattern001_128 tokoe:valid" result="pass"/><test-case name="26769date_enumeration001_129 tokoe:invalid" result="pass"/><test-case name="26770date_enumeration002_130 tokoe:valid" result="pass"/><test-case name="26771date_maxInclusive001_131 tokoe:invalid" result="pass"/><test-case name="26772date_maxInclusive002_132 tokoe:valid" result="pass"/><test-case name="26773date_maxInclusive003_133 tokoe:invalid" result="pass"/><test-case name="26774date_maxInclusive007_134 tokoe:invalid" result="pass"/><test-case name="26775date_maxInclusive008_135 tokoe:invalid" result="pass"/><test-case name="26776date_maxInclusive009_136 tokoe:valid" result="pass"/><test-case name="26777date_maxExclusive001_137 tokoe:invalid" result="pass"/><test-case name="26778date_maxExclusive002_138 tokoe:valid" result="pass"/><test-case name="26779date_minInclusive001_139 tokoe:invalid" result="pass"/><test-case name="26780date_minInclusive002_140 tokoe:valid" result="pass"/><test-case name="26781date_minInclusive003_141 tokoe:invalid" result="pass"/><test-case name="26782date_minExclusive001_142 tokoe:invalid" result="pass"/><test-case name="26783date_minExclusive002_143 tokoe:valid" result="pass"/><test-case name="26784date_minExclusive003_144 tokoe:invalid" result="pass"/><test-case name="26785gYearMonth_pattern001_145 tokoe:valid" result="pass"/><test-case name="26786gYearMonth_enumeration001_146 tokoe:invalid" result="pass"/><test-case name="26787gYearMonth_enumeration002_147 tokoe:valid" result="pass"/><test-case name="26788gYearMonth_maxInclusive001_148 tokoe:invalid" result="pass"/><test-case name="26789gYearMonth_maxInclusive002_149 tokoe:valid" result="pass"/><test-case name="26790gYearMonth_maxInclusive003_150 tokoe:invalid" result="pass"/><test-case name="26791gYearMonth_maxExclusive001_151 tokoe:invalid" result="pass"/><test-case name="26792gYearMonth_maxExclusive002_152 tokoe:valid" result="pass"/><test-case name="26793gYearMonth_minInclusive001_153 tokoe:invalid" result="pass"/><test-case name="26794gYearMonth_minInclusive002_154 tokoe:valid" result="pass"/><test-case name="26795gYearMonth_minInclusive003_155 tokoe:invalid" result="pass"/><test-case name="26796gYearMonth_minExclusive001_156 tokoe:invalid" result="pass"/><test-case name="26797gYearMonth_minExclusive002_157 tokoe:valid" result="pass"/><test-case name="26798gYearMonth_minExclusive003_158 tokoe:invalid" result="pass"/><test-case name="26799gYear_pattern001_159 tokoe:valid" result="pass"/><test-case name="26800gYear_enumeration001_160 tokoe:invalid" result="pass"/><test-case name="26801gYear_enumeration002_161 tokoe:valid" result="pass"/><test-case name="26802gYear_maxInclusive001_162 tokoe:invalid" result="pass"/><test-case name="26803gYear_maxInclusive002_163 tokoe:valid" result="pass"/><test-case name="26804gYear_maxInclusive003_164 tokoe:invalid" result="pass"/><test-case name="26805gYear_maxExclusive001_165 tokoe:invalid" result="pass"/><test-case name="26806gYear_maxExclusive002_166 tokoe:valid" result="pass"/><test-case name="26807gYear_minInclusive001_167 tokoe:invalid" result="pass"/><test-case name="26808gYear_minInclusive002_168 tokoe:valid" result="pass"/><test-case name="26809gYear_minInclusive003_169 tokoe:invalid" result="pass"/><test-case name="26810gYear_minExclusive001_170 tokoe:invalid" result="pass"/><test-case name="26811gYear_minExclusive002_171 tokoe:valid" result="pass"/><test-case name="26812gYear_minExclusive003_172 tokoe:invalid" result="pass"/><test-case name="26813gMonthDay_pattern001_173 tokoe:valid" result="pass"/><test-case name="26814gMonthDay_enumeration001_174 tokoe:invalid" result="pass"/><test-case name="26815gMonthDay_enumeration002_175 tokoe:valid" result="pass"/><test-case name="26816gMonthDay_maxInclusive001_176 tokoe:invalid" result="pass"/><test-case name="26817gMonthDay_maxInclusive002_177 tokoe:valid" result="pass"/><test-case name="26818gMonthDay_maxInclusive003_178 tokoe:invalid" result="pass"/><test-case name="26819gMonthDay_maxExclusive001_179 tokoe:invalid" result="pass"/><test-case name="26820gMonthDay_maxExclusive002_180 tokoe:valid" result="pass"/><test-case name="26821gMonthDay_minInclusive001_181 tokoe:invalid" result="pass"/><test-case name="26822gMonthDay_minInclusive002_182 tokoe:valid" result="pass"/><test-case name="26823gMonthDay_minInclusive003_183 tokoe:invalid" result="pass"/><test-case name="26824gMonthDay_minExclusive001_184 tokoe:invalid" result="pass"/><test-case name="26825gMonthDay_minExclusive002_185 tokoe:valid" result="pass"/><test-case name="26826gMonthDay_minExclusive003_186 tokoe:invalid" result="pass"/><test-case name="26827gDay_pattern001_187 tokoe:valid" result="pass"/><test-case name="26828gDay_enumeration001_188 tokoe:invalid" result="pass"/><test-case name="26829gDay_enumeration002_189 tokoe:valid" result="pass"/><test-case name="26830gDay_maxInclusive001_190 tokoe:invalid" result="pass"/><test-case name="26831gDay_maxInclusive002_191 tokoe:valid" result="pass"/><test-case name="26832gDay_maxInclusive003_192 tokoe:invalid" result="pass"/><test-case name="26833gDay_maxExclusive001_193 tokoe:invalid" result="pass"/><test-case name="26834gDay_maxExclusive002_194 tokoe:valid" result="pass"/><test-case name="26835gDay_minInclusive001_195 tokoe:invalid" result="pass"/><test-case name="26836gDay_minInclusive002_196 tokoe:valid" result="pass"/><test-case name="26837gDay_minInclusive003_197 tokoe:invalid" result="pass"/><test-case name="26838gDay_minExclusive001_198 tokoe:invalid" result="pass"/><test-case name="26839gDay_minExclusive002_199 tokoe:valid" result="pass"/><test-case name="26840gDay_minExclusive003_200 tokoe:invalid" result="pass"/><test-case name="26841gMonth_pattern001_201 tokoe:valid" result="pass"/><test-case name="26842gMonth_enumeration001_202 tokoe:invalid" result="pass"/><test-case name="26843gMonth_enumeration002_203 tokoe:valid" result="fail"/><test-case name="26844gMonth_maxInclusive001_204 tokoe:invalid" result="pass"/><test-case name="26845gMonth_maxInclusive002_205 tokoe:valid" result="fail"/><test-case name="26846gMonth_maxInclusive003_206 tokoe:invalid" result="pass"/><test-case name="26847gMonth_maxExclusive001_207 tokoe:invalid" result="pass"/><test-case name="26848gMonth_maxExclusive002_208 tokoe:valid" result="fail"/><test-case name="26849gMonth_minInclusive001_209 tokoe:invalid" result="pass"/><test-case name="26850gMonth_minInclusive002_210 tokoe:valid" result="fail"/><test-case name="26851gMonth_minInclusive003_211 tokoe:invalid" result="pass"/><test-case name="26852gMonth_minExclusive001_212 tokoe:invalid" result="pass"/><test-case name="26853gMonth_minExclusive002_213 tokoe:valid" result="fail"/><test-case name="26854gMonth_minExclusive003_214 tokoe:invalid" result="pass"/><test-case name="26855hexBinary_length001_215 tokoe:invalid" result="pass"/><test-case name="26856hexBinary_length002_216 tokoe:invalid" result="pass"/><test-case name="26857hexBinary_length003_217 tokoe:valid" result="pass"/><test-case name="26858hexBinary_length004_218 tokoe:invalid" result="pass"/><test-case name="26859hexBinary_length005_219 tokoe:invalid" result="pass"/><test-case name="26860hexBinary_length006_220 tokoe:invalid" result="pass"/><test-case name="26861hexBinary_length007_221 tokoe:invalid" result="pass"/><test-case name="26862hexBinary_minLength001_222 tokoe:invalid" result="pass"/><test-case name="26863hexBinary_minLength002_223 tokoe:invalid" result="pass"/><test-case name="26864hexBinary_minLength003_224 tokoe:valid" result="pass"/><test-case name="26865hexBinary_minLength004_225 tokoe:invalid" result="pass"/><test-case name="26866hexBinary_minLength005_226 tokoe:invalid" result="pass"/><test-case name="26867hexBinary_minLength006_227 tokoe:invalid" result="pass"/><test-case name="26868hexBinary_minLength007_228 tokoe:valid" result="pass"/><test-case name="26869hexBinary_maxLength001_229 tokoe:invalid" result="pass"/><test-case name="26870hexBinary_maxLength002_230 tokoe:invalid" result="pass"/><test-case name="26871hexBinary_maxLength003_231 tokoe:valid" result="pass"/><test-case name="26872hexBinary_maxLength004_232 tokoe:invalid" result="pass"/><test-case name="26873hexBinary_maxLength005_233 tokoe:invalid" result="pass"/><test-case name="26874hexBinary_enumeration001_234 tokoe:valid" result="pass"/><test-case name="26875hexBinary_enumeration002_235 tokoe:valid" result="pass"/><test-case name="26876base64Binary_length001_236 tokoe:invalid" result="pass"/><test-case name="26877base64Binary_length002_237 tokoe:invalid" result="pass"/><test-case name="26878base64Binary_length003_238 tokoe:valid" result="pass"/><test-case name="26879base64Binary_length004_239 tokoe:invalid" result="pass"/><test-case name="26880base64Binary_length005_240 tokoe:invalid" result="pass"/><test-case name="26881base64Binary_length006_241 tokoe:invalid" result="pass"/><test-case name="26882base64Binary_length007_242 tokoe:invalid" result="pass"/><test-case name="26883base64Binary_minLength001_243 tokoe:invalid" result="pass"/><test-case name="26884base64Binary_minLength002_244 tokoe:invalid" result="pass"/><test-case name="26885base64Binary_minLength003_245 tokoe:valid" result="pass"/><test-case name="26886base64Binary_minLength004_246 tokoe:invalid" result="pass"/><test-case name="26887base64Binary_minLength005_247 tokoe:invalid" result="pass"/><test-case name="26888base64Binary_minLength006_248 tokoe:invalid" result="pass"/><test-case name="26889base64Binary_minLength007_249 tokoe:valid" result="pass"/><test-case name="26890base64Binary_maxLength001_250 tokoe:invalid" result="pass"/><test-case name="26891base64Binary_maxLength002_251 tokoe:invalid" result="pass"/><test-case name="26892base64Binary_maxLength003_252 tokoe:valid" result="pass"/><test-case name="26893base64Binary_maxLength004_253 tokoe:invalid" result="pass"/><test-case name="26894base64Binary_maxLength005_254 tokoe:invalid" result="pass"/><test-case name="26895base64Binary_enumeration001_255 tokoe:valid" result="pass"/><test-case name="26896base64Binary_enumeration002_256 tokoe:valid" result="pass"/><test-case name="26897base64Binary_enumeration003_257 tokoe:valid" result="pass"/><test-case name="26898anyURI_length002_258 tokoe:invalid" result="pass"/><test-case name="26899anyURI_length003_259 tokoe:valid" result="pass"/><test-case name="26900anyURI_length004_260 tokoe:invalid" result="pass"/><test-case name="26901anyURI_length005_261 tokoe:invalid" result="pass"/><test-case name="26902anyURI_length006_262 tokoe:invalid" result="pass"/><test-case name="26903anyURI_length007_263 tokoe:invalid" result="pass"/><test-case name="26904anyURI_minLength001_264 tokoe:invalid" result="pass"/><test-case name="26905anyURI_minLength002_265 tokoe:invalid" result="pass"/><test-case name="26906anyURI_minLength003_266 tokoe:valid" result="pass"/><test-case name="26907anyURI_minLength004_267 tokoe:invalid" result="pass"/><test-case name="26908anyURI_minLength005_268 tokoe:invalid" result="pass"/><test-case name="26909anyURI_minLength006_269 tokoe:invalid" result="pass"/><test-case name="26910anyURI_minLength007_270 tokoe:valid" result="pass"/><test-case name="26911anyURI_maxLength001_271 tokoe:invalid" result="pass"/><test-case name="26912anyURI_maxLength002_272 tokoe:invalid" result="pass"/><test-case name="26913anyURI_maxLength003_273 tokoe:valid" result="pass"/><test-case name="26914anyURI_maxLength004_274 tokoe:invalid" result="pass"/><test-case name="26915anyURI_maxLength005_275 tokoe:invalid" result="pass"/><test-case name="26916anyURI_enumeration001_276 tokoe:valid" result="pass"/><test-case name="26917anyURI_enumeration002_277 tokoe:valid" result="pass"/><test-case name="26918QName_length001_278 tokoe:invalid" result="pass"/><test-case name="26919QName_length002_279 tokoe:invalid" result="pass"/><test-case name="26920QName_length003_280 tokoe:valid" result="pass"/><test-case name="26921QName_length004_281 tokoe:invalid" result="pass"/><test-case name="26922QName_length005_282 tokoe:invalid" result="pass"/><test-case name="26923QName_length006_283 tokoe:invalid" result="pass"/><test-case name="26924QName_length007_284 tokoe:invalid" result="pass"/><test-case name="26925QName_minLength001_285 tokoe:invalid" result="pass"/><test-case name="26926QName_minLength002_286 tokoe:invalid" result="pass"/><test-case name="26927QName_minLength003_287 tokoe:valid" result="pass"/><test-case name="26928QName_minLength004_288 tokoe:invalid" result="pass"/><test-case name="26929QName_minLength005_289 tokoe:invalid" result="pass"/><test-case name="26930QName_minLength006_290 tokoe:invalid" result="pass"/><test-case name="26931QName_minLength007_291 tokoe:valid" result="pass"/><test-case name="26932QName_maxLength001_292 tokoe:invalid" result="pass"/><test-case name="26933QName_maxLength002_293 tokoe:invalid" result="pass"/><test-case name="26934QName_maxLength003_294 tokoe:valid" result="pass"/><test-case name="26935QName_maxLength004_295 tokoe:invalid" result="pass"/><test-case name="26936QName_maxLength005_296 tokoe:invalid" result="pass"/><test-case name="26937QName_pattern001_297 tokoe:valid" result="pass"/><test-case name="26938QName_enumeration001_298 tokoe:invalid" result="pass"/><test-case name="26939QName_enumeration002_299 tokoe:valid" result="pass"/><test-case name="26940NOTATION_length001_300 tokoe:invalid" result="pass"/><test-case name="26941NOTATION_length002_301 tokoe:invalid" result="pass"/><test-case name="26942NOTATION_length003_302 tokoe:valid" result="pass"/><test-case name="26943NOTATION_length004_303 tokoe:invalid" result="pass"/><test-case name="26944NOTATION_length005_304 tokoe:invalid" result="pass"/><test-case name="26945NOTATION_length006_305 tokoe:invalid" result="pass"/><test-case name="26946NOTATION_length007_306 tokoe:invalid" result="pass"/><test-case name="26947NOTATION_minLength001_307 tokoe:invalid" result="pass"/><test-case name="26948NOTATION_minLength002_308 tokoe:invalid" result="pass"/><test-case name="26949NOTATION_minLength003_309 tokoe:valid" result="pass"/><test-case name="26950NOTATION_minLength004_310 tokoe:invalid" result="pass"/><test-case name="26951NOTATION_minLength005_311 tokoe:invalid" result="pass"/><test-case name="26952NOTATION_minLength006_312 tokoe:invalid" result="pass"/><test-case name="26953NOTATION_minLength007_313 tokoe:valid" result="pass"/><test-case name="26954NOTATION_maxLength001_314 tokoe:invalid" result="pass"/><test-case name="26955NOTATION_maxLength002_315 tokoe:invalid" result="pass"/><test-case name="26956NOTATION_maxLength003_316 tokoe:valid" result="pass"/><test-case name="26957NOTATION_maxLength004_317 tokoe:invalid" result="pass"/><test-case name="26958NOTATION_maxLength005_318 tokoe:invalid" result="pass"/><test-case name="26959NOTATION_pattern001_319 tokoe:valid" result="pass"/><test-case name="26960NOTATION_enumeration001_320 tokoe:invalid" result="pass"/><test-case name="26961NOTATION_enumeration002_321 tokoe:valid" result="pass"/><test-case name="26962normalizedString_length001_322 tokoe:invalid" result="pass"/><test-case name="26963normalizedString_length002_323 tokoe:invalid" result="pass"/><test-case name="26964normalizedString_length003_324 tokoe:valid" result="pass"/><test-case name="26965normalizedString_length004_325 tokoe:invalid" result="pass"/><test-case name="26966normalizedString_length005_326 tokoe:invalid" result="pass"/><test-case name="26967normalizedString_length006_327 tokoe:invalid" result="pass"/><test-case name="26968normalizedString_length007_328 tokoe:invalid" result="pass"/><test-case name="26969normalizedString_minLength001_329 tokoe:invalid" result="pass"/><test-case name="26970normalizedString_minLength002_330 tokoe:invalid" result="pass"/><test-case name="26971normalizedString_minLength003_331 tokoe:valid" result="pass"/><test-case name="26972normalizedString_minLength004_332 tokoe:invalid" result="pass"/><test-case name="26973normalizedString_minLength005_333 tokoe:invalid" result="pass"/><test-case name="26974normalizedString_minLength006_334 tokoe:invalid" result="pass"/><test-case name="26975normalizedString_minLength007_335 tokoe:valid" result="pass"/><test-case name="26976normalizedString_maxLength001_336 tokoe:invalid" result="pass"/><test-case name="26977normalizedString_maxLength002_337 tokoe:invalid" result="pass"/><test-case name="26978normalizedString_maxLength003_338 tokoe:valid" result="pass"/><test-case name="26979normalizedString_maxLength004_339 tokoe:invalid" result="pass"/><test-case name="26980normalizedString_maxLength005_340 tokoe:invalid" result="pass"/><test-case name="26981normalizedString_pattern001_341 tokoe:valid" result="pass"/><test-case name="26982normalizedString_enumeration001_342 tokoe:valid" result="pass"/><test-case name="26983normalizedString_enumeration002_343 tokoe:valid" result="pass"/><test-case name="26984normalizedString_whitespace001_344 tokoe:invalid" result="pass"/><test-case name="26985token_length001_345 tokoe:invalid" result="pass"/><test-case name="26986token_length002_346 tokoe:invalid" result="pass"/><test-case name="26987token_length003_347 tokoe:valid" result="pass"/><test-case name="26988token_length004_348 tokoe:invalid" result="pass"/><test-case name="26989token_length005_349 tokoe:invalid" result="pass"/><test-case name="26990token_length006_350 tokoe:invalid" result="pass"/><test-case name="26991token_length007_351 tokoe:invalid" result="pass"/><test-case name="26992token_minLength001_352 tokoe:invalid" result="pass"/><test-case name="26993token_minLength002_353 tokoe:invalid" result="pass"/><test-case name="26994token_minLength003_354 tokoe:valid" result="pass"/><test-case name="26995token_minLength004_355 tokoe:invalid" result="pass"/><test-case name="26996token_minLength005_356 tokoe:invalid" result="pass"/><test-case name="26997token_minLength006_357 tokoe:invalid" result="pass"/><test-case name="26998token_minLength007_358 tokoe:valid" result="pass"/><test-case name="26999token_maxLength001_359 tokoe:invalid" result="pass"/><test-case name="27000token_maxLength002_360 tokoe:invalid" result="pass"/><test-case name="27001token_maxLength003_361 tokoe:valid" result="pass"/><test-case name="27002token_maxLength004_362 tokoe:invalid" result="pass"/><test-case name="27003token_maxLength005_363 tokoe:invalid" result="pass"/><test-case name="27004token_pattern001_364 tokoe:valid" result="pass"/><test-case name="27005token_enumeration001_365 tokoe:valid" result="pass"/><test-case name="27006token_enumeration002_366 tokoe:valid" result="pass"/><test-case name="27007token_whitespace001_367 tokoe:invalid" result="pass"/><test-case name="27008language_length001_368 tokoe:invalid" result="pass"/><test-case name="27009language_length002_369 tokoe:invalid" result="pass"/><test-case name="27010language_length003_370 tokoe:valid" result="pass"/><test-case name="27011language_length004_371 tokoe:invalid" result="pass"/><test-case name="27012language_length005_372 tokoe:invalid" result="pass"/><test-case name="27013language_length006_373 tokoe:invalid" result="pass"/><test-case name="27014language_length007_374 tokoe:invalid" result="pass"/><test-case name="27015language_minLength001_375 tokoe:invalid" result="pass"/><test-case name="27016language_minLength002_376 tokoe:invalid" result="pass"/><test-case name="27017language_minLength003_377 tokoe:valid" result="pass"/><test-case name="27018language_minLength004_378 tokoe:invalid" result="pass"/><test-case name="27019language_minLength005_379 tokoe:invalid" result="pass"/><test-case name="27020language_minLength006_380 tokoe:invalid" result="pass"/><test-case name="27021language_minLength007_381 tokoe:valid" result="pass"/><test-case name="27022language_maxLength001_382 tokoe:invalid" result="pass"/><test-case name="27023language_maxLength002_383 tokoe:invalid" result="pass"/><test-case name="27024language_maxLength003_384 tokoe:valid" result="pass"/><test-case name="27025language_maxLength004_385 tokoe:invalid" result="pass"/><test-case name="27026language_maxLength005_386 tokoe:invalid" result="pass"/><test-case name="27027language_pattern001_387 tokoe:valid" result="pass"/><test-case name="27028language_enumeration001_388 tokoe:invalid" result="pass"/><test-case name="27029language_enumeration002_389 tokoe:valid" result="pass"/><test-case name="27030IDREFS_length001_390 tokoe:invalid" result="pass"/><test-case name="27031IDREFS_length002_391 tokoe:invalid" result="pass"/><test-case name="27032IDREFS_length003_392 tokoe:valid" result="pass"/><test-case name="27033IDREFS_length004_393 tokoe:invalid" result="pass"/><test-case name="27034IDREFS_length005_394 tokoe:invalid" result="pass"/><test-case name="27035IDREFS_length006_395 tokoe:invalid" result="fail"/><test-case name="27036IDREFS_length007_396 tokoe:invalid" result="pass"/><test-case name="27037IDREFS_minLength001_397 tokoe:invalid" result="pass"/><test-case name="27038IDREFS_minLength002_398 tokoe:invalid" result="pass"/><test-case name="27039IDREFS_minLength003_399 tokoe:valid" result="pass"/><test-case name="27040IDREFS_minLength004_400 tokoe:invalid" result="pass"/><test-case name="27041IDREFS_minLength005_401 tokoe:invalid" result="pass"/><test-case name="27042IDREFS_minLength006_402 tokoe:invalid" result="pass"/><test-case name="27043IDREFS_minLength007_403 tokoe:valid" result="pass"/><test-case name="27044IDREFS_maxLength001_404 tokoe:invalid" result="pass"/><test-case name="27045IDREFS_maxLength002_405 tokoe:invalid" result="pass"/><test-case name="27046IDREFS_maxLength003_406 tokoe:valid" result="pass"/><test-case name="27047IDREFS_maxLength004_407 tokoe:invalid" result="pass"/><test-case name="27048IDREFS_maxLength005_408 tokoe:invalid" result="pass"/><test-case name="27049IDREFS_enumeration001_409 tokoe:invalid" result="pass"/><test-case name="27050IDREFS_enumeration002_410 tokoe:valid" result="pass"/><test-case name="27051NMTOKEN_length001_411 tokoe:invalid" result="pass"/><test-case name="27052NMTOKEN_length002_412 tokoe:invalid" result="pass"/><test-case name="27053NMTOKEN_length003_413 tokoe:valid" result="pass"/><test-case name="27054NMTOKEN_length004_414 tokoe:invalid" result="pass"/><test-case name="27055NMTOKEN_length005_415 tokoe:invalid" result="pass"/><test-case name="27056NMTOKEN_length006_416 tokoe:invalid" result="pass"/><test-case name="27057NMTOKEN_length007_417 tokoe:invalid" result="pass"/><test-case name="27058NMTOKEN_minLength001_418 tokoe:invalid" result="pass"/><test-case name="27059NMTOKEN_minLength002_419 tokoe:invalid" result="pass"/><test-case name="27060NMTOKEN_minLength003_420 tokoe:valid" result="pass"/><test-case name="27061NMTOKEN_minLength004_421 tokoe:invalid" result="pass"/><test-case name="27062NMTOKEN_minLength005_422 tokoe:invalid" result="pass"/><test-case name="27063NMTOKEN_minLength006_423 tokoe:invalid" result="pass"/><test-case name="27064NMTOKEN_minLength007_424 tokoe:valid" result="pass"/><test-case name="27065NMTOKEN_maxLength001_425 tokoe:invalid" result="pass"/><test-case name="27066NMTOKEN_maxLength002_426 tokoe:invalid" result="pass"/><test-case name="27067NMTOKEN_maxLength003_427 tokoe:valid" result="pass"/><test-case name="27068NMTOKEN_maxLength004_428 tokoe:invalid" result="pass"/><test-case name="27069NMTOKEN_maxLength005_429 tokoe:invalid" result="pass"/><test-case name="27070NMTOKEN_pattern001_430 tokoe:valid" result="pass"/><test-case name="27071NMTOKEN_enumeration001_431 tokoe:invalid" result="pass"/><test-case name="27072NMTOKEN_enumeration002_432 tokoe:valid" result="pass"/><test-case name="27073NMTOKENS_length001_433 tokoe:invalid" result="pass"/><test-case name="27074NMTOKENS_length002_434 tokoe:invalid" result="pass"/><test-case name="27075NMTOKENS_length003_435 tokoe:valid" result="pass"/><test-case name="27076NMTOKENS_length004_436 tokoe:invalid" result="pass"/><test-case name="27077NMTOKENS_length005_437 tokoe:invalid" result="pass"/><test-case name="27078NMTOKENS_length006_438 tokoe:invalid" result="fail"/><test-case name="27079NMTOKENS_length007_439 tokoe:invalid" result="pass"/><test-case name="27080NMTOKENS_minLength001_440 tokoe:invalid" result="pass"/><test-case name="27081NMTOKENS_minLength002_441 tokoe:invalid" result="pass"/><test-case name="27082NMTOKENS_minLength003_442 tokoe:valid" result="pass"/><test-case name="27083NMTOKENS_minLength004_443 tokoe:invalid" result="pass"/><test-case name="27084NMTOKENS_minLength005_444 tokoe:invalid" result="pass"/><test-case name="27085NMTOKENS_minLength006_445 tokoe:invalid" result="pass"/><test-case name="27086NMTOKENS_minLength007_446 tokoe:valid" result="pass"/><test-case name="27087NMTOKENS_maxLength001_447 tokoe:invalid" result="pass"/><test-case name="27088NMTOKENS_maxLength002_448 tokoe:invalid" result="pass"/><test-case name="27089NMTOKENS_maxLength003_449 tokoe:valid" result="pass"/><test-case name="27090NMTOKENS_maxLength004_450 tokoe:invalid" result="pass"/><test-case name="27091NMTOKENS_maxLength005_451 tokoe:invalid" result="pass"/><test-case name="27092NMTOKENS_enumeration001_452 tokoe:invalid" result="pass"/><test-case name="27093NMTOKENS_enumeration002_453 tokoe:valid" result="pass"/><test-case name="27094Name_length001_454 tokoe:invalid" result="pass"/><test-case name="27095Name_length002_455 tokoe:invalid" result="pass"/><test-case name="27096Name_length003_456 tokoe:valid" result="pass"/><test-case name="27097Name_length004_457 tokoe:invalid" result="pass"/><test-case name="27098Name_length005_458 tokoe:invalid" result="pass"/><test-case name="27099Name_length006_459 tokoe:invalid" result="pass"/><test-case name="27100Name_length007_460 tokoe:invalid" result="pass"/><test-case name="27101Name_minLength001_461 tokoe:invalid" result="pass"/><test-case name="27102Name_minLength002_462 tokoe:invalid" result="pass"/><test-case name="27103Name_minLength003_463 tokoe:valid" result="pass"/><test-case name="27104Name_minLength004_464 tokoe:invalid" result="pass"/><test-case name="27105Name_minLength005_465 tokoe:invalid" result="pass"/><test-case name="27106Name_minLength006_466 tokoe:invalid" result="pass"/><test-case name="27107Name_minLength007_467 tokoe:valid" result="pass"/><test-case name="27108Name_maxLength001_468 tokoe:invalid" result="pass"/><test-case name="27109Name_maxLength002_469 tokoe:invalid" result="pass"/><test-case name="27110Name_maxLength003_470 tokoe:valid" result="pass"/><test-case name="27111Name_maxLength004_471 tokoe:invalid" result="pass"/><test-case name="27112Name_maxLength005_472 tokoe:invalid" result="pass"/><test-case name="27113Name_pattern001_473 tokoe:valid" result="pass"/><test-case name="27114Name_enumeration001_474 tokoe:invalid" result="pass"/><test-case name="27115Name_enumeration002_475 tokoe:valid" result="pass"/><test-case name="27116NCName_length001_476 tokoe:invalid" result="pass"/><test-case name="27117NCName_length002_477 tokoe:invalid" result="pass"/><test-case name="27118NCName_length003_478 tokoe:valid" result="pass"/><test-case name="27119NCName_length004_479 tokoe:invalid" result="pass"/><test-case name="27120NCName_length005_480 tokoe:invalid" result="pass"/><test-case name="27121NCName_length006_481 tokoe:invalid" result="pass"/><test-case name="27122NCName_length007_482 tokoe:invalid" result="pass"/><test-case name="27123NCName_minLength001_483 tokoe:invalid" result="pass"/><test-case name="27124NCName_minLength002_484 tokoe:invalid" result="pass"/><test-case name="27125NCName_minLength003_485 tokoe:valid" result="pass"/><test-case name="27126NCName_minLength004_486 tokoe:invalid" result="pass"/><test-case name="27127NCName_minLength005_487 tokoe:invalid" result="pass"/><test-case name="27128NCName_minLength006_488 tokoe:invalid" result="pass"/><test-case name="27129NCName_minLength007_489 tokoe:valid" result="pass"/><test-case name="27130NCName_maxLength001_490 tokoe:invalid" result="pass"/><test-case name="27131NCName_maxLength002_491 tokoe:invalid" result="pass"/><test-case name="27132NCName_maxLength003_492 tokoe:valid" result="pass"/><test-case name="27133NCName_maxLength004_493 tokoe:invalid" result="pass"/><test-case name="27134NCName_maxLength005_494 tokoe:invalid" result="pass"/><test-case name="27135NCName_pattern001_495 tokoe:valid" result="pass"/><test-case name="27136NCName_enumeration001_496 tokoe:invalid" result="pass"/><test-case name="27137NCName_enumeration002_497 tokoe:valid" result="pass"/><test-case name="27138ID_length001_498 tokoe:invalid" result="pass"/><test-case name="27139ID_length002_499 tokoe:invalid" result="pass"/><test-case name="27140ID_length003_500 tokoe:valid" result="pass"/><test-case name="27141ID_length004_501 tokoe:invalid" result="pass"/><test-case name="27142ID_length005_502 tokoe:invalid" result="pass"/><test-case name="27143ID_length006_503 tokoe:invalid" result="pass"/><test-case name="27144ID_length007_504 tokoe:invalid" result="pass"/><test-case name="27145ID_minLength001_505 tokoe:invalid" result="pass"/><test-case name="27146ID_minLength002_506 tokoe:invalid" result="pass"/><test-case name="27147ID_minLength003_507 tokoe:valid" result="pass"/><test-case name="27148ID_minLength004_508 tokoe:invalid" result="pass"/><test-case name="27149ID_minLength005_509 tokoe:invalid" result="pass"/><test-case name="27150ID_minLength006_510 tokoe:invalid" result="pass"/><test-case name="27151ID_minLength007_511 tokoe:valid" result="pass"/><test-case name="27152ID_maxLength001_512 tokoe:invalid" result="pass"/><test-case name="27153ID_maxLength002_513 tokoe:invalid" result="pass"/><test-case name="27154ID_maxLength003_514 tokoe:valid" result="pass"/><test-case name="27155ID_maxLength004_515 tokoe:invalid" result="pass"/><test-case name="27156ID_maxLength005_516 tokoe:invalid" result="pass"/><test-case name="27157ID_pattern001_517 tokoe:valid" result="pass"/><test-case name="27158ID_enumeration001_518 tokoe:invalid" result="pass"/><test-case name="27159ID_enumeration002_519 tokoe:valid" result="pass"/><test-case name="27160IDREF_length001_520 tokoe:invalid" result="pass"/><test-case name="27161IDREF_length002_521 tokoe:invalid" result="pass"/><test-case name="27162IDREF_length003_522 tokoe:valid" result="pass"/><test-case name="27163IDREF_length004_523 tokoe:invalid" result="pass"/><test-case name="27164IDREF_length005_524 tokoe:invalid" result="pass"/><test-case name="27165IDREF_length006_525 tokoe:invalid" result="pass"/><test-case name="27166IDREF_length007_526 tokoe:invalid" result="pass"/><test-case name="27167IDREF_minLength001_527 tokoe:invalid" result="pass"/><test-case name="27168IDREF_minLength002_528 tokoe:invalid" result="pass"/><test-case name="27169IDREF_minLength003_529 tokoe:valid" result="pass"/><test-case name="27170IDREF_minLength004_530 tokoe:invalid" result="pass"/><test-case name="27171IDREF_minLength005_531 tokoe:invalid" result="pass"/><test-case name="27172IDREF_minLength006_532 tokoe:invalid" result="pass"/><test-case name="27173IDREF_minLength007_533 tokoe:valid" result="pass"/><test-case name="27174IDREF_maxLength001_534 tokoe:invalid" result="pass"/><test-case name="27175IDREF_maxLength002_535 tokoe:invalid" result="pass"/><test-case name="27176IDREF_maxLength003_536 tokoe:valid" result="pass"/><test-case name="27177IDREF_maxLength004_537 tokoe:invalid" result="pass"/><test-case name="27178IDREF_maxLength005_538 tokoe:invalid" result="pass"/><test-case name="27179IDREF_pattern001_539 tokoe:valid" result="pass"/><test-case name="27180IDREF_enumeration001_540 tokoe:invalid" result="pass"/><test-case name="27181IDREF_enumeration002_541 tokoe:valid" result="pass"/><test-case name="27182integer_pattern001_542 tokoe:valid" result="pass"/><test-case name="27183integer_enumeration001_543 tokoe:invalid" result="pass"/><test-case name="27184integer_enumeration002_544 tokoe:valid" result="pass"/><test-case name="27185integer_maxInclusive001_545 tokoe:invalid" result="pass"/><test-case name="27186integer_maxInclusive002_546 tokoe:valid" result="pass"/><test-case name="27187integer_maxInclusive003_547 tokoe:invalid" result="pass"/><test-case name="27188integer_maxExclusive001_548 tokoe:invalid" result="pass"/><test-case name="27189integer_maxExclusive002_549 tokoe:valid" result="pass"/><test-case name="27190integer_minInclusive001_550 tokoe:invalid" result="pass"/><test-case name="27191integer_minInclusive002_551 tokoe:valid" result="pass"/><test-case name="27192integer_minInclusive003_552 tokoe:invalid" result="pass"/><test-case name="27193integer_minInclusive004_553 tokoe:invalid" result="pass"/><test-case name="27194integer_minExclusive001_554 tokoe:invalid" result="pass"/><test-case name="27195integer_minExclusive002_555 tokoe:valid" result="pass"/><test-case name="27196integer_minExclusive003_556 tokoe:invalid" result="pass"/><test-case name="27197integer_minExclusive004_557 tokoe:invalid" result="pass"/><test-case name="27198integer_totalDigits001_558 tokoe:invalid" result="pass"/><test-case name="27199integer_totalDigits002_559 tokoe:invalid" result="pass"/><test-case name="27200integer_totalDigits003_560 tokoe:invalid" result="pass"/><test-case name="27201integer_totalDigits004_561 tokoe:valid" result="pass"/><test-case name="27202integer_totalDigits005_562 tokoe:invalid" result="pass"/><test-case name="27203integer_totalDigits006_563 tokoe:invalid" result="pass"/><test-case name="27204integer_fractionDigits001_564 tokoe:invalid" result="pass"/><test-case name="27205integer_fractionDigits002_565 tokoe:invalid" result="pass"/><test-case name="27206integer_fractionDigits003_566 tokoe:valid" result="pass"/><test-case name="27207integer_fractionDigits004_567 tokoe:invalid" result="pass"/><test-case name="27208integer_fractionDigits005_568 tokoe:invalid" result="pass"/><test-case name="27209integer_fractionDigits006_569 tokoe:invalid" result="pass"/><test-case name="27210integer_fractionDigits007_570 tokoe:invalid" result="pass"/><test-case name="27211integer_fractionDigits008_571 tokoe:invalid" result="pass"/><test-case name="27212nonPositiveInteger_pattern001_572 tokoe:valid" result="pass"/><test-case name="27213nonPositiveInteger_enumeration001_573 tokoe:invalid" result="pass"/><test-case name="27214nonPositiveInteger_enumeration002_574 tokoe:valid" result="pass"/><test-case name="27215nonPositiveInteger_maxInclusive001_575 tokoe:invalid" result="pass"/><test-case name="27216nonPositiveInteger_maxInclusive002_576 tokoe:valid" result="pass"/><test-case name="27217nonPositiveInteger_maxInclusive003_577 tokoe:invalid" result="pass"/><test-case name="27218nonPositiveInteger_maxInclusive004_578 tokoe:invalid" result="pass"/><test-case name="27219nonPositiveInteger_maxExclusive001_579 tokoe:invalid" result="pass"/><test-case name="27220nonPositiveInteger_maxExclusive002_580 tokoe:valid" result="pass"/><test-case name="27221nonPositiveInteger_maxExclusive003_581 tokoe:invalid" result="pass"/><test-case name="27222nonPositiveInteger_minInclusive001_582 tokoe:invalid" result="pass"/><test-case name="27223nonPositiveInteger_minInclusive002_583 tokoe:valid" result="pass"/><test-case name="27224nonPositiveInteger_minInclusive003_584 tokoe:invalid" result="pass"/><test-case name="27225nonPositiveInteger_minInclusive004_585 tokoe:invalid" result="pass"/><test-case name="27226nonPositiveInteger_minExclusive001_586 tokoe:invalid" result="pass"/><test-case name="27227nonPositiveInteger_minExclusive002_587 tokoe:valid" result="pass"/><test-case name="27228nonPositiveInteger_minExclusive003_588 tokoe:invalid" result="pass"/><test-case name="27229nonPositiveInteger_minExclusive004_589 tokoe:invalid" result="pass"/><test-case name="27230nonPositiveInteger_totalDigits001_590 tokoe:invalid" result="pass"/><test-case name="27231nonPositiveInteger_totalDigits002_591 tokoe:invalid" result="pass"/><test-case name="27232nonPositiveInteger_totalDigits003_592 tokoe:invalid" result="pass"/><test-case name="27233nonPositiveInteger_totalDigits004_593 tokoe:valid" result="pass"/><test-case name="27234nonPositiveInteger_totalDigits005_594 tokoe:invalid" result="pass"/><test-case name="27235nonPositiveInteger_totalDigits006_595 tokoe:invalid" result="pass"/><test-case name="27236nonPositiveInteger_fractionDigits001_596 tokoe:invalid" result="pass"/><test-case name="27237nonPositiveInteger_fractionDigits002_597 tokoe:invalid" result="pass"/><test-case name="27238nonPositiveInteger_fractionDigits003_598 tokoe:valid" result="pass"/><test-case name="27239nonPositiveInteger_fractionDigits004_599 tokoe:invalid" result="pass"/><test-case name="27240nonPositiveInteger_fractionDigits005_600 tokoe:invalid" result="pass"/><test-case name="27241nonPositiveInteger_fractionDigits006_601 tokoe:invalid" result="pass"/><test-case name="27242nonPositiveInteger_fractionDigits007_602 tokoe:invalid" result="pass"/><test-case name="27243nonPositiveInteger_fractionDigits008_603 tokoe:invalid" result="pass"/><test-case name="27244negativeInteger_pattern001_604 tokoe:valid" result="pass"/><test-case name="27245negativeInteger_enumeration001_605 tokoe:invalid" result="pass"/><test-case name="27246negativeInteger_enumeration002_606 tokoe:valid" result="pass"/><test-case name="27247negativeInteger_maxInclusive001_607 tokoe:invalid" result="pass"/><test-case name="27248negativeInteger_maxInclusive002_608 tokoe:valid" result="pass"/><test-case name="27249negativeInteger_maxInclusive003_609 tokoe:invalid" result="pass"/><test-case name="27250negativeInteger_maxInclusive004_610 tokoe:invalid" result="pass"/><test-case name="27251negativeInteger_maxExclusive001_611 tokoe:invalid" result="pass"/><test-case name="27252negativeInteger_maxExclusive002_612 tokoe:valid" result="pass"/><test-case name="27253negativeInteger_maxExclusive003_613 tokoe:invalid" result="pass"/><test-case name="27254negativeInteger_minInclusive001_614 tokoe:invalid" result="pass"/><test-case name="27255negativeInteger_minInclusive002_615 tokoe:valid" result="pass"/><test-case name="27256negativeInteger_minInclusive003_616 tokoe:invalid" result="pass"/><test-case name="27257negativeInteger_minInclusive004_617 tokoe:invalid" result="pass"/><test-case name="27258negativeInteger_minExclusive001_618 tokoe:invalid" result="pass"/><test-case name="27259negativeInteger_minExclusive002_619 tokoe:valid" result="pass"/><test-case name="27260negativeInteger_minExclusive003_620 tokoe:invalid" result="pass"/><test-case name="27261negativeInteger_minExclusive004_621 tokoe:invalid" result="pass"/><test-case name="27262negativeInteger_totalDigits001_622 tokoe:invalid" result="pass"/><test-case name="27263negativeInteger_totalDigits002_623 tokoe:invalid" result="pass"/><test-case name="27264negativeInteger_totalDigits003_624 tokoe:invalid" result="pass"/><test-case name="27265negativeInteger_totalDigits004_625 tokoe:valid" result="pass"/><test-case name="27266negativeInteger_totalDigits005_626 tokoe:invalid" result="pass"/><test-case name="27267negativeInteger_totalDigits006_627 tokoe:invalid" result="pass"/><test-case name="27268negativeInteger_fractionDigits001_628 tokoe:invalid" result="pass"/><test-case name="27269negativeInteger_fractionDigits002_629 tokoe:invalid" result="pass"/><test-case name="27270negativeInteger_fractionDigits003_630 tokoe:valid" result="pass"/><test-case name="27271negativeInteger_fractionDigits004_631 tokoe:invalid" result="pass"/><test-case name="27272negativeInteger_fractionDigits005_632 tokoe:invalid" result="pass"/><test-case name="27273negativeInteger_fractionDigits006_633 tokoe:invalid" result="pass"/><test-case name="27274negativeInteger_fractionDigits007_634 tokoe:invalid" result="pass"/><test-case name="27275negativeInteger_fractionDigits008_635 tokoe:invalid" result="pass"/><test-case name="27276long_pattern001_636 tokoe:valid" result="pass"/><test-case name="27277long_enumeration001_637 tokoe:invalid" result="pass"/><test-case name="27278long_enumeration002_638 tokoe:valid" result="pass"/><test-case name="27279long_maxInclusive001_639 tokoe:invalid" result="pass"/><test-case name="27280long_maxInclusive002_640 tokoe:valid" result="pass"/><test-case name="27281long_maxInclusive003_641 tokoe:invalid" result="pass"/><test-case name="27282long_maxInclusive004_642 tokoe:invalid" result="pass"/><test-case name="27283long_maxInclusive005_643 tokoe:invalid" result="pass"/><test-case name="27284long_maxExclusive001_644 tokoe:invalid" result="pass"/><test-case name="27285long_maxExclusive002_645 tokoe:valid" result="pass"/><test-case name="27286long_maxExclusive003_646 tokoe:invalid" result="pass"/><test-case name="27287long_maxExclusive004_647 tokoe:invalid" result="pass"/><test-case name="27288long_minInclusive001_648 tokoe:invalid" result="pass"/><test-case name="27289long_minInclusive002_649 tokoe:valid" result="pass"/><test-case name="27290long_minInclusive003_650 tokoe:invalid" result="pass"/><test-case name="27291long_minInclusive004_651 tokoe:invalid" result="pass"/><test-case name="27292long_minInclusive005_652 tokoe:invalid" result="pass"/><test-case name="27293long_minExclusive001_653 tokoe:invalid" result="pass"/><test-case name="27294long_minExclusive002_654 tokoe:valid" result="pass"/><test-case name="27295long_minExclusive003_655 tokoe:invalid" result="pass"/><test-case name="27296long_minExclusive004_656 tokoe:invalid" result="pass"/><test-case name="27297long_minExclusive005_657 tokoe:invalid" result="pass"/><test-case name="27298long_totalDigits001_658 tokoe:invalid" result="pass"/><test-case name="27299long_totalDigits002_659 tokoe:invalid" result="pass"/><test-case name="27300long_totalDigits003_660 tokoe:invalid" result="pass"/><test-case name="27301long_totalDigits004_661 tokoe:valid" result="pass"/><test-case name="27302long_totalDigits005_662 tokoe:invalid" result="pass"/><test-case name="27303long_totalDigits006_663 tokoe:invalid" result="pass"/><test-case name="27304long_fractionDigits001_664 tokoe:invalid" result="pass"/><test-case name="27305long_fractionDigits002_665 tokoe:invalid" result="pass"/><test-case name="27306long_fractionDigits003_666 tokoe:valid" result="pass"/><test-case name="27307long_fractionDigits004_667 tokoe:invalid" result="pass"/><test-case name="27308long_fractionDigits005_668 tokoe:invalid" result="pass"/><test-case name="27309long_fractionDigits006_669 tokoe:invalid" result="pass"/><test-case name="27310long_fractionDigits007_670 tokoe:invalid" result="pass"/><test-case name="27311long_fractionDigits008_671 tokoe:invalid" result="pass"/><test-case name="27312int_pattern001_672 tokoe:valid" result="pass"/><test-case name="27313int_enumeration001_673 tokoe:invalid" result="pass"/><test-case name="27314int_enumeration002_674 tokoe:valid" result="pass"/><test-case name="27315int_maxInclusive001_675 tokoe:invalid" result="pass"/><test-case name="27316int_maxInclusive002_676 tokoe:valid" result="pass"/><test-case name="27317int_maxInclusive003_677 tokoe:invalid" result="pass"/><test-case name="27318int_maxInclusive004_678 tokoe:invalid" result="pass"/><test-case name="27319int_maxInclusive004a_679 tokoe:valid" result="pass"/><test-case name="27320int_maxInclusive004b_680 tokoe:invalid" result="pass"/><test-case name="27321int_maxInclusive004c_681 tokoe:invalid" result="pass"/><test-case name="27322int_maxInclusive004d_682 tokoe:invalid" result="pass"/><test-case name="27323int_maxInclusive004e_683 tokoe:valid" result="pass"/><test-case name="27324int_maxInclusive004f_684 tokoe:invalid" result="fail"/><test-case name="27325int_maxInclusive004g_685 tokoe:valid" result="pass"/><test-case name="27326int_maxInclusive004h_686 tokoe:valid" result="pass"/><test-case name="27327int_maxInclusive004i_687 tokoe:valid" result="pass"/><test-case name="27328int_maxInclusive005_688 tokoe:invalid" result="pass"/><test-case name="27329int_maxExclusive001_689 tokoe:invalid" result="pass"/><test-case name="27330int_maxExclusive002_690 tokoe:valid" result="pass"/><test-case name="27331int_maxExclusive003_691 tokoe:invalid" result="pass"/><test-case name="27332int_maxExclusive004b_692 tokoe:invalid" result="pass"/><test-case name="27333int_maxExclusive004c_693 tokoe:invalid" result="pass"/><test-case name="27334int_maxExclusive004d_694 tokoe:valid" result="pass"/><test-case name="27335int_maxExclusive004e_695 tokoe:valid" result="pass"/><test-case name="27336int_maxExclusive004f_696 tokoe:invalid" result="pass"/><test-case name="27337int_maxExclusive004h_697 tokoe:valid" result="pass"/><test-case name="27338int_maxExclusive004i_698 tokoe:invalid" result="pass"/><test-case name="27339int_minInclusive001_699 tokoe:invalid" result="pass"/><test-case name="27340int_minInclusive002_700 tokoe:valid" result="pass"/><test-case name="27341int_minInclusive003_701 tokoe:invalid" result="pass"/><test-case name="27342int_minInclusive004_702 tokoe:invalid" result="pass"/><test-case name="27343int_minInclusive005_703 tokoe:invalid" result="pass"/><test-case name="27344int_minInclusive006a_704 tokoe:valid" result="pass"/><test-case name="27345int_minInclusive006b_705 tokoe:invalid" result="pass"/><test-case name="27346int_minInclusive006c_706 tokoe:valid" result="pass"/><test-case name="27347int_minInclusive006d_707 tokoe:invalid" result="pass"/><test-case name="27348int_minInclusive006f_708 tokoe:invalid" result="pass"/><test-case name="27349int_minInclusive006g_709 tokoe:valid" result="pass"/><test-case name="27350int_minInclusive006h_710 tokoe:invalid" result="pass"/><test-case name="27351int_minInclusive006i_711 tokoe:invalid" result="pass"/><test-case name="27352int_minExclusive001_712 tokoe:invalid" result="pass"/><test-case name="27353int_minExclusive002_713 tokoe:valid" result="pass"/><test-case name="27354int_minExclusive003_714 tokoe:invalid" result="pass"/><test-case name="27355int_minExclusive004_715 tokoe:invalid" result="pass"/><test-case name="27356int_minExclusive005_716 tokoe:invalid" result="pass"/><test-case name="27357int_minExclusive006a_717 tokoe:invalid" result="fail"/><test-case name="27358int_minExclusive006c_718 tokoe:valid" result="pass"/><test-case name="27359int_minExclusive006e_719 tokoe:valid" result="pass"/><test-case name="27360int_minExclusive006f_720 tokoe:valid" result="pass"/><test-case name="27361int_minExclusive006g_721 tokoe:valid" result="pass"/><test-case name="27362int_minExclusive006h_722 tokoe:invalid" result="pass"/><test-case name="27363int_minExclusive006i_723 tokoe:invalid" result="pass"/><test-case name="27364int_minExclusive006j_724 tokoe:valid" result="pass"/><test-case name="27365int_totalDigits001_725 tokoe:invalid" result="pass"/><test-case name="27366int_totalDigits002_726 tokoe:invalid" result="pass"/><test-case name="27367int_totalDigits003_727 tokoe:invalid" result="pass"/><test-case name="27368int_totalDigits004_728 tokoe:valid" result="pass"/><test-case name="27369int_totalDigits005_729 tokoe:invalid" result="pass"/><test-case name="27370int_totalDigits006_730 tokoe:invalid" result="pass"/><test-case name="27371int_fractionDigits001_731 tokoe:invalid" result="pass"/><test-case name="27372int_fractionDigits002_732 tokoe:invalid" result="pass"/><test-case name="27373int_fractionDigits003_733 tokoe:valid" result="pass"/><test-case name="27374int_fractionDigits004_734 tokoe:invalid" result="pass"/><test-case name="27375int_fractionDigits005_735 tokoe:invalid" result="pass"/><test-case name="27376int_fractionDigits006_736 tokoe:invalid" result="pass"/><test-case name="27377int_fractionDigits007_737 tokoe:invalid" result="pass"/><test-case name="27378int_fractionDigits008_738 tokoe:invalid" result="pass"/><test-case name="27379short_pattern001_739 tokoe:valid" result="pass"/><test-case name="27380short_enumeration001_740 tokoe:invalid" result="pass"/><test-case name="27381short_enumeration002_741 tokoe:valid" result="pass"/><test-case name="27382short_maxInclusive001_742 tokoe:invalid" result="pass"/><test-case name="27383short_maxInclusive002_743 tokoe:valid" result="pass"/><test-case name="27384short_maxInclusive003_744 tokoe:invalid" result="pass"/><test-case name="27385short_maxInclusive004_745 tokoe:invalid" result="pass"/><test-case name="27386short_maxInclusive005_746 tokoe:invalid" result="pass"/><test-case name="27387short_maxExclusive001_747 tokoe:invalid" result="pass"/><test-case name="27388short_maxExclusive002_748 tokoe:valid" result="pass"/><test-case name="27389short_maxExclusive003_749 tokoe:invalid" result="pass"/><test-case name="27390short_maxExclusive004_750 tokoe:invalid" result="pass"/><test-case name="27391short_minInclusive001_751 tokoe:invalid" result="pass"/><test-case name="27392short_minInclusive002_752 tokoe:valid" result="pass"/><test-case name="27393short_minInclusive003_753 tokoe:invalid" result="pass"/><test-case name="27394short_minInclusive004_754 tokoe:invalid" result="pass"/><test-case name="27395short_minInclusive005_755 tokoe:invalid" result="pass"/><test-case name="27396short_minExclusive001_756 tokoe:invalid" result="pass"/><test-case name="27397short_minExclusive002_757 tokoe:valid" result="pass"/><test-case name="27398short_minExclusive003_758 tokoe:invalid" result="pass"/><test-case name="27399short_minExclusive004_759 tokoe:invalid" result="pass"/><test-case name="27400short_minExclusive005_760 tokoe:invalid" result="pass"/><test-case name="27401short_totalDigits001_761 tokoe:invalid" result="pass"/><test-case name="27402short_totalDigits002_762 tokoe:invalid" result="pass"/><test-case name="27403short_totalDigits003_763 tokoe:invalid" result="pass"/><test-case name="27404short_totalDigits004_764 tokoe:valid" result="pass"/><test-case name="27405short_totalDigits005_765 tokoe:invalid" result="pass"/><test-case name="27406short_totalDigits006_766 tokoe:invalid" result="pass"/><test-case name="27407short_fractionDigits001_767 tokoe:invalid" result="pass"/><test-case name="27408short_fractionDigits002_768 tokoe:invalid" result="pass"/><test-case name="27409short_fractionDigits003_769 tokoe:valid" result="pass"/><test-case name="27410short_fractionDigits004_770 tokoe:invalid" result="pass"/><test-case name="27411short_fractionDigits005_771 tokoe:invalid" result="pass"/><test-case name="27412short_fractionDigits006_772 tokoe:invalid" result="pass"/><test-case name="27413short_fractionDigits007_773 tokoe:invalid" result="pass"/><test-case name="27414short_fractionDigits008_774 tokoe:invalid" result="pass"/><test-case name="27415byte_pattern001_775 tokoe:valid" result="pass"/><test-case name="27416byte_enumeration001_776 tokoe:invalid" result="pass"/><test-case name="27417byte_enumeration002_777 tokoe:valid" result="pass"/><test-case name="27418byte_maxInclusive001_778 tokoe:invalid" result="pass"/><test-case name="27419byte_maxInclusive002_779 tokoe:valid" result="pass"/><test-case name="27420byte_maxInclusive003_780 tokoe:invalid" result="pass"/><test-case name="27421byte_maxInclusive004_781 tokoe:invalid" result="pass"/><test-case name="27422byte_maxInclusive005_782 tokoe:invalid" result="pass"/><test-case name="27423byte_maxExclusive001_783 tokoe:invalid" result="pass"/><test-case name="27424byte_maxExclusive002_784 tokoe:valid" result="pass"/><test-case name="27425byte_maxExclusive003_785 tokoe:invalid" result="pass"/><test-case name="27426byte_maxExclusive004_786 tokoe:invalid" result="pass"/><test-case name="27427byte_minInclusive001_787 tokoe:invalid" result="pass"/><test-case name="27428byte_minInclusive002_788 tokoe:valid" result="pass"/><test-case name="27429byte_minInclusive003_789 tokoe:invalid" result="pass"/><test-case name="27430byte_minInclusive004_790 tokoe:invalid" result="pass"/><test-case name="27431byte_minInclusive005_791 tokoe:invalid" result="pass"/><test-case name="27432byte_minExclusive001_792 tokoe:invalid" result="pass"/><test-case name="27433byte_minExclusive002_793 tokoe:valid" result="pass"/><test-case name="27434byte_minExclusive003_794 tokoe:invalid" result="pass"/><test-case name="27435byte_minExclusive004_795 tokoe:invalid" result="pass"/><test-case name="27436byte_minExclusive005_796 tokoe:invalid" result="pass"/><test-case name="27437byte_totalDigits001_797 tokoe:invalid" result="pass"/><test-case name="27438byte_totalDigits002_798 tokoe:invalid" result="pass"/><test-case name="27439byte_totalDigits003_799 tokoe:invalid" result="pass"/><test-case name="27440byte_totalDigits004_800 tokoe:valid" result="pass"/><test-case name="27441byte_totalDigits005_801 tokoe:invalid" result="pass"/><test-case name="27442byte_totalDigits006_802 tokoe:invalid" result="pass"/><test-case name="27443byte_fractionDigits001_803 tokoe:invalid" result="pass"/><test-case name="27444byte_fractionDigits002_804 tokoe:invalid" result="pass"/><test-case name="27445byte_fractionDigits003_805 tokoe:valid" result="pass"/><test-case name="27446byte_fractionDigits004_806 tokoe:invalid" result="pass"/><test-case name="27447byte_fractionDigits005_807 tokoe:invalid" result="pass"/><test-case name="27448byte_fractionDigits006_808 tokoe:invalid" result="pass"/><test-case name="27449byte_fractionDigits007_809 tokoe:invalid" result="pass"/><test-case name="27450byte_fractionDigits008_810 tokoe:invalid" result="pass"/><test-case name="27451nonNegativeInteger_pattern001_811 tokoe:valid" result="pass"/><test-case name="27452nonNegativeInteger_enumeration001_812 tokoe:invalid" result="pass"/><test-case name="27453nonNegativeInteger_enumeration002_813 tokoe:valid" result="pass"/><test-case name="27454nonNegativeInteger_maxInclusive001_814 tokoe:invalid" result="pass"/><test-case name="27455nonNegativeInteger_maxInclusive002_815 tokoe:valid" result="pass"/><test-case name="27456nonNegativeInteger_maxInclusive003_816 tokoe:invalid" result="pass"/><test-case name="27457nonNegativeInteger_maxInclusive004_817 tokoe:invalid" result="pass"/><test-case name="27458nonNegativeInteger_maxExclusive001_818 tokoe:invalid" result="pass"/><test-case name="27459nonNegativeInteger_maxExclusive002_819 tokoe:valid" result="pass"/><test-case name="27460nonNegativeInteger_maxExclusive003_820 tokoe:invalid" result="pass"/><test-case name="27461nonNegativeInteger_minInclusive001_821 tokoe:invalid" result="pass"/><test-case name="27462nonNegativeInteger_minInclusive002_822 tokoe:valid" result="pass"/><test-case name="27463nonNegativeInteger_minInclusive003_823 tokoe:invalid" result="pass"/><test-case name="27464nonNegativeInteger_minInclusive004_824 tokoe:invalid" result="pass"/><test-case name="27465nonNegativeInteger_minExclusive001_825 tokoe:invalid" result="pass"/><test-case name="27466nonNegativeInteger_minExclusive002_826 tokoe:valid" result="pass"/><test-case name="27467nonNegativeInteger_minExclusive003_827 tokoe:invalid" result="pass"/><test-case name="27468nonNegativeInteger_minExclusive004_828 tokoe:invalid" result="pass"/><test-case name="27469nonNegativeInteger_totalDigits001_829 tokoe:invalid" result="pass"/><test-case name="27470nonNegativeInteger_totalDigits002_830 tokoe:invalid" result="pass"/><test-case name="27471nonNegativeInteger_totalDigits003_831 tokoe:invalid" result="pass"/><test-case name="27472nonNegativeInteger_totalDigits004_832 tokoe:valid" result="pass"/><test-case name="27473nonNegativeInteger_totalDigits005_833 tokoe:invalid" result="pass"/><test-case name="27474nonNegativeInteger_totalDigits006_834 tokoe:invalid" result="pass"/><test-case name="27475nonNegativeInteger_fractionDigits001_835 tokoe:invalid" result="pass"/><test-case name="27476nonNegativeInteger_fractionDigits002_836 tokoe:invalid" result="pass"/><test-case name="27477nonNegativeInteger_fractionDigits003_837 tokoe:valid" result="pass"/><test-case name="27478nonNegativeInteger_fractionDigits004_838 tokoe:invalid" result="pass"/><test-case name="27479nonNegativeInteger_fractionDigits005_839 tokoe:invalid" result="pass"/><test-case name="27480nonNegativeInteger_fractionDigits006_840 tokoe:invalid" result="pass"/><test-case name="27481nonNegativeInteger_fractionDigits007_841 tokoe:invalid" result="pass"/><test-case name="27482nonNegativeInteger_fractionDigits008_842 tokoe:invalid" result="pass"/><test-case name="27483unsignedLong_pattern001_843 tokoe:valid" result="pass"/><test-case name="27484unsignedLong_enumeration001_844 tokoe:invalid" result="pass"/><test-case name="27485unsignedLong_enumeration002_845 tokoe:valid" result="pass"/><test-case name="27486unsignedLong_maxInclusive001_846 tokoe:invalid" result="pass"/><test-case name="27487unsignedLong_maxInclusive002_847 tokoe:valid" result="pass"/><test-case name="27488unsignedLong_maxInclusive003_848 tokoe:invalid" result="pass"/><test-case name="27489unsignedLong_maxInclusive004_849 tokoe:invalid" result="pass"/><test-case name="27490unsignedLong_maxInclusive005_850 tokoe:invalid" result="pass"/><test-case name="27491unsignedLong_maxExclusive001_851 tokoe:invalid" result="pass"/><test-case name="27492unsignedLong_maxExclusive002_852 tokoe:valid" result="pass"/><test-case name="27493unsignedLong_maxExclusive003_853 tokoe:invalid" result="pass"/><test-case name="27494unsignedLong_maxExclusive004_854 tokoe:invalid" result="pass"/><test-case name="27495unsignedLong_minInclusive001_855 tokoe:invalid" result="pass"/><test-case name="27496unsignedLong_minInclusive002_856 tokoe:valid" result="pass"/><test-case name="27497unsignedLong_minInclusive003_857 tokoe:invalid" result="pass"/><test-case name="27498unsignedLong_minInclusive004_858 tokoe:invalid" result="pass"/><test-case name="27499unsignedLong_minInclusive005_859 tokoe:invalid" result="pass"/><test-case name="27500unsignedLong_minExclusive001_860 tokoe:invalid" result="pass"/><test-case name="27501unsignedLong_minExclusive002_861 tokoe:valid" result="pass"/><test-case name="27502unsignedLong_minExclusive003_862 tokoe:invalid" result="pass"/><test-case name="27503unsignedLong_minExclusive004_863 tokoe:invalid" result="pass"/><test-case name="27504unsignedLong_minExclusive005_864 tokoe:invalid" result="pass"/><test-case name="27505unsignedLong_totalDigits001_865 tokoe:invalid" result="pass"/><test-case name="27506unsignedLong_totalDigits002_866 tokoe:invalid" result="pass"/><test-case name="27507unsignedLong_totalDigits003_867 tokoe:invalid" result="pass"/><test-case name="27508unsignedLong_totalDigits004_868 tokoe:valid" result="pass"/><test-case name="27509unsignedLong_totalDigits005_869 tokoe:invalid" result="pass"/><test-case name="27510unsignedLong_totalDigits006_870 tokoe:invalid" result="pass"/><test-case name="27511unsignedLong_fractionDigits001_871 tokoe:invalid" result="pass"/><test-case name="27512unsignedLong_fractionDigits002_872 tokoe:invalid" result="pass"/><test-case name="27513unsignedLong_fractionDigits003_873 tokoe:valid" result="pass"/><test-case name="27514unsignedLong_fractionDigits004_874 tokoe:invalid" result="pass"/><test-case name="27515unsignedLong_fractionDigits005_875 tokoe:invalid" result="pass"/><test-case name="27516unsignedLong_fractionDigits006_876 tokoe:invalid" result="pass"/><test-case name="27517unsignedLong_fractionDigits007_877 tokoe:invalid" result="pass"/><test-case name="27518unsignedLong_fractionDigits008_878 tokoe:invalid" result="pass"/><test-case name="27519unsignedInt_pattern001_879 tokoe:valid" result="pass"/><test-case name="27520unsignedInt_enumeration001_880 tokoe:invalid" result="pass"/><test-case name="27521unsignedInt_enumeration002_881 tokoe:valid" result="pass"/><test-case name="27522unsignedInt_maxInclusive001_882 tokoe:invalid" result="pass"/><test-case name="27523unsignedInt_maxInclusive002_883 tokoe:valid" result="pass"/><test-case name="27524unsignedInt_maxInclusive003_884 tokoe:invalid" result="pass"/><test-case name="27525unsignedInt_maxInclusive004_885 tokoe:invalid" result="pass"/><test-case name="27526unsignedInt_maxInclusive005_886 tokoe:invalid" result="pass"/><test-case name="27527unsignedInt_maxExclusive001_887 tokoe:invalid" result="pass"/><test-case name="27528unsignedInt_maxExclusive002_888 tokoe:valid" result="pass"/><test-case name="27529unsignedInt_maxExclusive003_889 tokoe:invalid" result="pass"/><test-case name="27530unsignedInt_maxExclusive004_890 tokoe:invalid" result="pass"/><test-case name="27531unsignedInt_minInclusive001_891 tokoe:invalid" result="pass"/><test-case name="27532unsignedInt_minInclusive002_892 tokoe:valid" result="pass"/><test-case name="27533unsignedInt_minInclusive003_893 tokoe:invalid" result="pass"/><test-case name="27534unsignedInt_minInclusive004_894 tokoe:invalid" result="pass"/><test-case name="27535unsignedInt_minInclusive005_895 tokoe:invalid" result="pass"/><test-case name="27536unsignedInt_minExclusive001_896 tokoe:invalid" result="pass"/><test-case name="27537unsignedInt_minExclusive002_897 tokoe:valid" result="pass"/><test-case name="27538unsignedInt_minExclusive003_898 tokoe:invalid" result="pass"/><test-case name="27539unsignedInt_minExclusive004_899 tokoe:invalid" result="pass"/><test-case name="27540unsignedInt_minExclusive005_900 tokoe:invalid" result="pass"/><test-case name="27541unsignedInt_totalDigits001_901 tokoe:invalid" result="pass"/><test-case name="27542unsignedInt_totalDigits002_902 tokoe:invalid" result="pass"/><test-case name="27543unsignedInt_totalDigits003_903 tokoe:invalid" result="pass"/><test-case name="27544unsignedInt_totalDigits004_904 tokoe:valid" result="pass"/><test-case name="27545unsignedInt_totalDigits005_905 tokoe:invalid" result="pass"/><test-case name="27546unsignedInt_totalDigits006_906 tokoe:invalid" result="pass"/><test-case name="27547unsignedInt_fractionDigits001_907 tokoe:invalid" result="pass"/><test-case name="27548unsignedInt_fractionDigits002_908 tokoe:invalid" result="pass"/><test-case name="27549unsignedInt_fractionDigits003_909 tokoe:valid" result="pass"/><test-case name="27550unsignedInt_fractionDigits004_910 tokoe:invalid" result="pass"/><test-case name="27551unsignedInt_fractionDigits005_911 tokoe:invalid" result="pass"/><test-case name="27552unsignedInt_fractionDigits006_912 tokoe:invalid" result="pass"/><test-case name="27553unsignedInt_fractionDigits007_913 tokoe:invalid" result="pass"/><test-case name="27554unsignedInt_fractionDigits008_914 tokoe:invalid" result="pass"/><test-case name="27555unsignedShort_pattern001_915 tokoe:valid" result="pass"/><test-case name="27556unsignedShort_enumeration001_916 tokoe:invalid" result="pass"/><test-case name="27557unsignedShort_enumeration002_917 tokoe:valid" result="pass"/><test-case name="27558unsignedShort_maxInclusive001_918 tokoe:invalid" result="pass"/><test-case name="27559unsignedShort_maxInclusive002_919 tokoe:valid" result="pass"/><test-case name="27560unsignedShort_maxInclusive003_920 tokoe:invalid" result="pass"/><test-case name="27561unsignedShort_maxInclusive004_921 tokoe:invalid" result="pass"/><test-case name="27562unsignedShort_maxInclusive005_922 tokoe:invalid" result="pass"/><test-case name="27563unsignedShort_maxExclusive001_923 tokoe:invalid" result="pass"/><test-case name="27564unsignedShort_maxExclusive002_924 tokoe:valid" result="pass"/><test-case name="27565unsignedShort_maxExclusive003_925 tokoe:invalid" result="pass"/><test-case name="27566unsignedShort_maxExclusive004_926 tokoe:invalid" result="pass"/><test-case name="27567unsignedShort_minInclusive001_927 tokoe:invalid" result="pass"/><test-case name="27568unsignedShort_minInclusive002_928 tokoe:valid" result="pass"/><test-case name="27569unsignedShort_minInclusive003_929 tokoe:invalid" result="pass"/><test-case name="27570unsignedShort_minInclusive004_930 tokoe:invalid" result="pass"/><test-case name="27571unsignedShort_minInclusive005_931 tokoe:invalid" result="pass"/><test-case name="27572unsignedShort_minExclusive001_932 tokoe:invalid" result="pass"/><test-case name="27573unsignedShort_minExclusive002_933 tokoe:valid" result="pass"/><test-case name="27574unsignedShort_minExclusive003_934 tokoe:invalid" result="pass"/><test-case name="27575unsignedShort_minExclusive004_935 tokoe:invalid" result="pass"/><test-case name="27576unsignedShort_minExclusive005_936 tokoe:invalid" result="pass"/><test-case name="27577unsignedShort_totalDigits001_937 tokoe:invalid" result="pass"/><test-case name="27578unsignedShort_totalDigits002_938 tokoe:invalid" result="pass"/><test-case name="27579unsignedShort_totalDigits003_939 tokoe:invalid" result="pass"/><test-case name="27580unsignedShort_totalDigits004_940 tokoe:valid" result="pass"/><test-case name="27581unsignedShort_totalDigits005_941 tokoe:invalid" result="pass"/><test-case name="27582unsignedShort_totalDigits006_942 tokoe:invalid" result="pass"/><test-case name="27583unsignedShort_fractionDigits001_943 tokoe:invalid" result="pass"/><test-case name="27584unsignedShort_fractionDigits002_944 tokoe:invalid" result="pass"/><test-case name="27585unsignedShort_fractionDigits003_945 tokoe:valid" result="pass"/><test-case name="27586unsignedShort_fractionDigits004_946 tokoe:invalid" result="pass"/><test-case name="27587unsignedShort_fractionDigits005_947 tokoe:invalid" result="pass"/><test-case name="27588unsignedShort_fractionDigits006_948 tokoe:invalid" result="pass"/><test-case name="27589unsignedShort_fractionDigits007_949 tokoe:invalid" result="pass"/><test-case name="27590unsignedShort_fractionDigits008_950 tokoe:invalid" result="pass"/><test-case name="27591unsignedByte_pattern001_951 tokoe:valid" result="pass"/><test-case name="27592unsignedByte_enumeration001_952 tokoe:invalid" result="pass"/><test-case name="27593unsignedByte_enumeration002_953 tokoe:valid" result="pass"/><test-case name="27594unsignedByte_maxInclusive001_954 tokoe:invalid" result="pass"/><test-case name="27595unsignedByte_maxInclusive002_955 tokoe:valid" result="pass"/><test-case name="27596unsignedByte_maxInclusive003_956 tokoe:invalid" result="pass"/><test-case name="27597unsignedByte_maxInclusive004_957 tokoe:invalid" result="pass"/><test-case name="27598unsignedByte_maxInclusive005_958 tokoe:invalid" result="pass"/><test-case name="27599unsignedByte_maxExclusive001_959 tokoe:invalid" result="pass"/><test-case name="27600unsignedByte_maxExclusive002_960 tokoe:valid" result="pass"/><test-case name="27601unsignedByte_maxExclusive003_961 tokoe:invalid" result="pass"/><test-case name="27602unsignedByte_maxExclusive004_962 tokoe:invalid" result="pass"/><test-case name="27603unsignedByte_minInclusive001_963 tokoe:invalid" result="pass"/><test-case name="27604unsignedByte_minInclusive002_964 tokoe:valid" result="pass"/><test-case name="27605unsignedByte_minInclusive003_965 tokoe:invalid" result="pass"/><test-case name="27606unsignedByte_minInclusive004_966 tokoe:invalid" result="pass"/><test-case name="27607unsignedByte_minInclusive005_967 tokoe:invalid" result="pass"/><test-case name="27608unsignedByte_minExclusive001_968 tokoe:invalid" result="pass"/><test-case name="27609unsignedByte_minExclusive002_969 tokoe:valid" result="pass"/><test-case name="27610unsignedByte_minExclusive003_970 tokoe:invalid" result="pass"/><test-case name="27611unsignedByte_minExclusive004_971 tokoe:invalid" result="pass"/><test-case name="27612unsignedByte_minExclusive005_972 tokoe:invalid" result="pass"/><test-case name="27613unsignedByte_totalDigits001_973 tokoe:invalid" result="pass"/><test-case name="27614unsignedByte_totalDigits002_974 tokoe:invalid" result="pass"/><test-case name="27615unsignedByte_totalDigits003_975 tokoe:invalid" result="pass"/><test-case name="27616unsignedByte_totalDigits004_976 tokoe:valid" result="pass"/><test-case name="27617unsignedByte_totalDigits005_977 tokoe:invalid" result="pass"/><test-case name="27618unsignedByte_totalDigits006_978 tokoe:invalid" result="pass"/><test-case name="27619unsignedByte_fractionDigits001_979 tokoe:invalid" result="pass"/><test-case name="27620unsignedByte_fractionDigits002_980 tokoe:invalid" result="pass"/><test-case name="27621unsignedByte_fractionDigits003_981 tokoe:valid" result="pass"/><test-case name="27622unsignedByte_fractionDigits004_982 tokoe:invalid" result="pass"/><test-case name="27623unsignedByte_fractionDigits005_983 tokoe:invalid" result="pass"/><test-case name="27624unsignedByte_fractionDigits006_984 tokoe:invalid" result="pass"/><test-case name="27625unsignedByte_fractionDigits007_985 tokoe:invalid" result="pass"/><test-case name="27626unsignedByte_fractionDigits008_986 tokoe:invalid" result="pass"/><test-case name="27627positiveInteger_pattern001_987 tokoe:valid" result="pass"/><test-case name="27628positiveInteger_enumeration001_988 tokoe:invalid" result="pass"/><test-case name="27629positiveInteger_enumeration002_989 tokoe:valid" result="pass"/><test-case name="27630positiveInteger_maxInclusive001_990 tokoe:invalid" result="pass"/><test-case name="27631positiveInteger_maxInclusive002_991 tokoe:valid" result="pass"/><test-case name="27632positiveInteger_maxInclusive003_992 tokoe:invalid" result="pass"/><test-case name="27633positiveInteger_maxInclusive004_993 tokoe:invalid" result="pass"/><test-case name="27634positiveInteger_maxExclusive001_994 tokoe:invalid" result="pass"/><test-case name="27635positiveInteger_maxExclusive002_995 tokoe:valid" result="pass"/><test-case name="27636positiveInteger_maxExclusive003_996 tokoe:invalid" result="pass"/><test-case name="27637positiveInteger_minInclusive001_997 tokoe:invalid" result="pass"/><test-case name="27638positiveInteger_minInclusive002_998 tokoe:valid" result="pass"/><test-case name="27639positiveInteger_minInclusive003_999 tokoe:invalid" result="pass"/><test-case name="27640positiveInteger_minInclusive004_1000 tokoe:invalid" result="pass"/><test-case name="27641positiveInteger_minExclusive001_1001 tokoe:invalid" result="pass"/><test-case name="27642positiveInteger_minExclusive002_1002 tokoe:valid" result="pass"/><test-case name="27643positiveInteger_minExclusive003_1003 tokoe:invalid" result="pass"/><test-case name="27644positiveInteger_minExclusive004_1004 tokoe:invalid" result="pass"/><test-case name="27645positiveInteger_totalDigits001_1005 tokoe:invalid" result="pass"/><test-case name="27646positiveInteger_totalDigits002_1006 tokoe:invalid" result="pass"/><test-case name="27647positiveInteger_totalDigits003_1007 tokoe:invalid" result="pass"/><test-case name="27648positiveInteger_totalDigits004_1008 tokoe:valid" result="pass"/><test-case name="27649positiveInteger_totalDigits005_1009 tokoe:invalid" result="pass"/><test-case name="27650positiveInteger_totalDigits006_1010 tokoe:invalid" result="pass"/><test-case name="27651positiveInteger_fractionDigits001_1011 tokoe:invalid" result="pass"/><test-case name="27652positiveInteger_fractionDigits002_1012 tokoe:invalid" result="pass"/><test-case name="27653positiveInteger_fractionDigits003_1013 tokoe:valid" result="pass"/><test-case name="27654positiveInteger_fractionDigits004_1014 tokoe:invalid" result="pass"/><test-case name="27655positiveInteger_fractionDigits005_1015 tokoe:invalid" result="pass"/><test-case name="27656positiveInteger_fractionDigits006_1016 tokoe:invalid" result="pass"/><test-case name="27657positiveInteger_fractionDigits007_1017 tokoe:invalid" result="pass"/><test-case name="27658positiveInteger_fractionDigits008_1018 tokoe:invalid" result="pass"/><test-case name="27659union_minInclisive_1019 tokoe:invalid" result="pass"/><test-case name="27660string_length001_1020 tokoe:valid" result="pass"/><test-case name="27661string_length001_1020.i tokoe:invalid" result="pass"/><test-case name="27662string_length002_1021 tokoe:valid" result="pass"/><test-case name="27663string_length002_1021.v tokoe:valid" result="pass"/><test-case name="27664string_length003_1022 tokoe:valid" result="pass"/><test-case name="27665string_length003_1022.i tokoe:invalid" result="pass"/><test-case name="27666string_minLength001_1023 tokoe:valid" result="pass"/><test-case name="27667string_minLength001_1023.v tokoe:valid" result="pass"/><test-case name="27668string_minLength002_1024 tokoe:valid" result="pass"/><test-case name="27669string_minLength002_1024.v tokoe:valid" result="pass"/><test-case name="27670string_minLength003_1025 tokoe:valid" result="pass"/><test-case name="27671string_minLength003_1025.i tokoe:invalid" result="pass"/><test-case name="27672string_minLength004_1026 tokoe:valid" result="pass"/><test-case name="27673string_minLength004_1026.v tokoe:valid" result="pass"/><test-case name="27674string_maxLength001_1027 tokoe:valid" result="pass"/><test-case name="27675string_maxLength001_1027.i tokoe:invalid" result="pass"/><test-case name="27676string_maxLength002_1028 tokoe:valid" result="pass"/><test-case name="27677string_maxLength002_1028.v tokoe:valid" result="pass"/><test-case name="27678string_maxLength003_1029 tokoe:valid" result="pass"/><test-case name="27679string_maxLength003_1029.v tokoe:valid" result="pass"/><test-case name="27680string_pattern001_1030 tokoe:valid" result="pass"/><test-case name="27681string_pattern001_1030.v tokoe:valid" result="pass"/><test-case name="27682string_pattern002_1031 tokoe:valid" result="pass"/><test-case name="27683string_pattern002_1031.i tokoe:invalid" result="pass"/><test-case name="27684string_enumeration001_1032 tokoe:valid" result="pass"/><test-case name="27685string_enumeration001_1032.i tokoe:invalid" result="pass"/><test-case name="27686string_enumeration002_1033 tokoe:valid" result="pass"/><test-case name="27687string_enumeration002_1033.v tokoe:valid" result="pass"/><test-case name="27688string_enumeration003_1034 tokoe:valid" result="pass"/><test-case name="27689string_enumeration003_1034.i tokoe:invalid" result="pass"/><test-case name="27690string_enumeration004_1035 tokoe:valid" result="pass"/><test-case name="27691string_enumeration004_1035.v tokoe:valid" result="pass"/><test-case name="27692decimal_pattern001_1036 tokoe:valid" result="pass"/><test-case name="27693decimal_pattern001_1036.v tokoe:valid" result="pass"/><test-case name="27694decimal_enumeration001_1037 tokoe:valid" result="pass"/><test-case name="27695decimal_enumeration001_1037.i tokoe:invalid" result="pass"/><test-case name="27696decimal_enumeration002_1038 tokoe:valid" result="pass"/><test-case name="27697decimal_enumeration002_1038.v tokoe:valid" result="pass"/><test-case name="27698decimal_enumeration003_1039 tokoe:valid" result="pass"/><test-case name="27699decimal_enumeration003_1039.i tokoe:invalid" result="pass"/><test-case name="27700decimal_enumeration004_1040 tokoe:valid" result="pass"/><test-case name="27701decimal_enumeration004_1040.v tokoe:valid" result="pass"/><test-case name="27702decimal_maxInclusive001_1041 tokoe:valid" result="pass"/><test-case name="27703decimal_maxInclusive001_1041.v tokoe:valid" result="pass"/><test-case name="27704decimal_maxInclusive002_1042 tokoe:valid" result="pass"/><test-case name="27705decimal_maxInclusive002_1042.i tokoe:invalid" result="pass"/><test-case name="27706decimal_maxInclusive003_1043 tokoe:valid" result="pass"/><test-case name="27707decimal_maxInclusive003_1043.v tokoe:valid" result="pass"/><test-case name="27708decimal_maxExclusive001_1044 tokoe:valid" result="pass"/><test-case name="27709decimal_maxExclusive001_1044.i tokoe:invalid" result="pass"/><test-case name="27710decimal_maxExclusive002_1045 tokoe:valid" result="pass"/><test-case name="27711decimal_maxExclusive002_1045.i tokoe:invalid" result="pass"/><test-case name="27712decimal_maxExclusive003_1046 tokoe:valid" result="pass"/><test-case name="27713decimal_maxExclusive003_1046.v tokoe:valid" result="pass"/><test-case name="27714decimal_minInclusive001_1047 tokoe:valid" result="pass"/><test-case name="27715decimal_minInclusive001_1047.v tokoe:valid" result="pass"/><test-case name="27716decimal_minInclusive002_1048 tokoe:valid" result="pass"/><test-case name="27717decimal_minInclusive002_1048.i tokoe:invalid" result="pass"/><test-case name="27718decimal_minInclusive003_1049 tokoe:valid" result="pass"/><test-case name="27719decimal_minInclusive003_1049.v tokoe:valid" result="pass"/><test-case name="27720decimal_minInclusive004_1050 tokoe:valid" result="pass"/><test-case name="27721decimal_minInclusive004_1050.v tokoe:valid" result="pass"/><test-case name="27722decimal_minInclusive005_1051 tokoe:valid" result="pass"/><test-case name="27723decimal_minInclusive005_1051.v tokoe:valid" result="pass"/><test-case name="27724decimal_minExclusive001_1052 tokoe:valid" result="pass"/><test-case name="27725decimal_minExclusive001_1052.i tokoe:invalid" result="pass"/><test-case name="27726decimal_minExclusive002_1053 tokoe:valid" result="pass"/><test-case name="27727decimal_minExclusive002_1053.i tokoe:invalid" result="pass"/><test-case name="27728decimal_minExclusive003_1054 tokoe:valid" result="pass"/><test-case name="27729decimal_minExclusive003_1054.v tokoe:valid" result="pass"/><test-case name="27730decimal_minExclusive004_1055 tokoe:valid" result="pass"/><test-case name="27731decimal_minExclusive004_1055.v tokoe:valid" result="pass"/><test-case name="27732decimal_minExclusive005_1056 tokoe:valid" result="pass"/><test-case name="27733decimal_minExclusive005_1056.v tokoe:valid" result="pass"/><test-case name="27734decimal_totalDigits001_1057 tokoe:valid" result="pass"/><test-case name="27735decimal_totalDigits001_1057.i tokoe:invalid" result="pass"/><test-case name="27736decimal_totalDigits002_1058 tokoe:valid" result="pass"/><test-case name="27737decimal_totalDigits002_1058.v tokoe:valid" result="pass"/><test-case name="27738decimal_totalDigits003_1059 tokoe:valid" result="pass"/><test-case name="27739decimal_totalDigits003_1059.v tokoe:valid" result="pass"/><test-case name="27740decimal_totalDigits004_1060 tokoe:valid" result="pass"/><test-case name="27741decimal_totalDigits004_1060.v tokoe:valid" result="pass"/><test-case name="27742float_pattern001_1061 tokoe:valid" result="pass"/><test-case name="27743float_pattern001_1061.v tokoe:valid" result="pass"/><test-case name="27744float_enumeration001_1062 tokoe:valid" result="pass"/><test-case name="27745float_enumeration001_1062.i tokoe:invalid" result="pass"/><test-case name="27746float_enumeration002_1063 tokoe:valid" result="pass"/><test-case name="27747float_enumeration002_1063.v tokoe:valid" result="pass"/><test-case name="27748float_enumeration003_1064 tokoe:valid" result="pass"/><test-case name="27749float_enumeration003_1064.i tokoe:invalid" result="pass"/><test-case name="27750float_enumeration004_1065 tokoe:valid" result="pass"/><test-case name="27751float_enumeration004_1065.v tokoe:valid" result="pass"/><test-case name="27752float_maxInclusive001_1066 tokoe:valid" result="pass"/><test-case name="27753float_maxInclusive001_1066.v tokoe:valid" result="pass"/><test-case name="27754float_maxInclusive002_1067 tokoe:valid" result="pass"/><test-case name="27755float_maxInclusive002_1067.i tokoe:invalid" result="pass"/><test-case name="27756float_maxInclusive003_1068 tokoe:valid" result="pass"/><test-case name="27757float_maxInclusive003_1068.v tokoe:valid" result="pass"/><test-case name="27758float_maxExclusive001_1069 tokoe:valid" result="pass"/><test-case name="27759float_maxExclusive001_1069.i tokoe:invalid" result="pass"/><test-case name="27760float_maxExclusive002_1070 tokoe:valid" result="pass"/><test-case name="27761float_maxExclusive002_1070.i tokoe:invalid" result="pass"/><test-case name="27762float_maxExclusive003_1071 tokoe:valid" result="pass"/><test-case name="27763float_maxExclusive003_1071.v tokoe:valid" result="pass"/><test-case name="27764float_minInclusive001_1072 tokoe:valid" result="pass"/><test-case name="27765float_minInclusive001_1072.v tokoe:valid" result="pass"/><test-case name="27766float_minInclusive002_1073 tokoe:valid" result="pass"/><test-case name="27767float_minInclusive002_1073.i tokoe:invalid" result="pass"/><test-case name="27768float_minInclusive003_1074 tokoe:valid" result="pass"/><test-case name="27769float_minInclusive003_1074.v tokoe:valid" result="pass"/><test-case name="27770float_minInclusive004_1075 tokoe:valid" result="pass"/><test-case name="27771float_minInclusive004_1075.v tokoe:valid" result="pass"/><test-case name="27772float_minInclusive005_1076 tokoe:valid" result="pass"/><test-case name="27773float_minInclusive005_1076.v tokoe:valid" result="pass"/><test-case name="27774float_minExclusive001_1077 tokoe:valid" result="pass"/><test-case name="27775float_minExclusive001_1077.i tokoe:invalid" result="pass"/><test-case name="27776float_minExclusive002_1078 tokoe:valid" result="pass"/><test-case name="27777float_minExclusive002_1078.i tokoe:invalid" result="pass"/><test-case name="27778float_minExclusive003_1079 tokoe:valid" result="pass"/><test-case name="27779float_minExclusive003_1079.v tokoe:valid" result="pass"/><test-case name="27780float_minExclusive004_1080 tokoe:valid" result="pass"/><test-case name="27781float_minExclusive004_1080.v tokoe:valid" result="pass"/><test-case name="27782float_minExclusive005_1081 tokoe:valid" result="pass"/><test-case name="27783float_minExclusive005_1081.v tokoe:valid" result="pass"/><test-case name="27784double_pattern001_1082 tokoe:valid" result="pass"/><test-case name="27785double_pattern001_1082.v tokoe:valid" result="pass"/><test-case name="27786double_enumeration001_1083 tokoe:valid" result="pass"/><test-case name="27787double_enumeration001_1083.i tokoe:invalid" result="pass"/><test-case name="27788double_enumeration002_1084 tokoe:valid" result="pass"/><test-case name="27789double_enumeration002_1084.v tokoe:valid" result="pass"/><test-case name="27790double_enumeration003_1085 tokoe:valid" result="pass"/><test-case name="27791double_enumeration003_1085.i tokoe:invalid" result="pass"/><test-case name="27792double_enumeration004_1086 tokoe:valid" result="pass"/><test-case name="27793double_enumeration004_1086.v tokoe:valid" result="pass"/><test-case name="27794double_maxInclusive001_1087 tokoe:valid" result="pass"/><test-case name="27795double_maxInclusive001_1087.v tokoe:valid" result="pass"/><test-case name="27796double_maxInclusive002_1088 tokoe:valid" result="pass"/><test-case name="27797double_maxInclusive002_1088.i tokoe:invalid" result="pass"/><test-case name="27798double_maxInclusive003_1089 tokoe:valid" result="pass"/><test-case name="27799double_maxInclusive003_1089.v tokoe:valid" result="pass"/><test-case name="27800double_maxExclusive001_1090 tokoe:valid" result="pass"/><test-case name="27801double_maxExclusive001_1090.i tokoe:invalid" result="pass"/><test-case name="27802double_maxExclusive002_1091 tokoe:valid" result="pass"/><test-case name="27803double_maxExclusive002_1091.i tokoe:invalid" result="pass"/><test-case name="27804double_maxExclusive003_1092 tokoe:valid" result="pass"/><test-case name="27805double_maxExclusive003_1092.v tokoe:valid" result="pass"/><test-case name="27806double_minInclusive001_1093 tokoe:valid" result="pass"/><test-case name="27807double_minInclusive001_1093.v tokoe:valid" result="pass"/><test-case name="27808double_minInclusive002_1094 tokoe:valid" result="pass"/><test-case name="27809double_minInclusive002_1094.i tokoe:invalid" result="pass"/><test-case name="27810double_minInclusive003_1095 tokoe:valid" result="pass"/><test-case name="27811double_minInclusive003_1095.v tokoe:valid" result="pass"/><test-case name="27812double_minInclusive004_1096 tokoe:valid" result="pass"/><test-case name="27813double_minInclusive004_1096.v tokoe:valid" result="pass"/><test-case name="27814double_minInclusive005_1097 tokoe:valid" result="pass"/><test-case name="27815double_minInclusive005_1097.v tokoe:valid" result="pass"/><test-case name="27816double_minExclusive001_1098 tokoe:valid" result="pass"/><test-case name="27817double_minExclusive001_1098.i tokoe:invalid" result="pass"/><test-case name="27818double_minExclusive002_1099 tokoe:valid" result="pass"/><test-case name="27819double_minExclusive002_1099.i tokoe:invalid" result="pass"/><test-case name="27820double_minExclusive003_1100 tokoe:valid" result="pass"/><test-case name="27821double_minExclusive003_1100.v tokoe:valid" result="pass"/><test-case name="27822double_minExclusive004_1101 tokoe:valid" result="pass"/><test-case name="27823double_minExclusive004_1101.v tokoe:valid" result="pass"/><test-case name="27824double_minExclusive005_1102 tokoe:valid" result="pass"/><test-case name="27825double_minExclusive005_1102.v tokoe:valid" result="pass"/><test-case name="27826duration_pattern001_1103 tokoe:valid" result="pass"/><test-case name="27827duration_pattern001_1103.v tokoe:valid" result="pass"/><test-case name="27828duration_enumeration001_1104 tokoe:valid" result="pass"/><test-case name="27829duration_enumeration001_1104.i tokoe:invalid" result="pass"/><test-case name="27830duration_enumeration002_1105 tokoe:valid" result="pass"/><test-case name="27831duration_enumeration002_1105.v tokoe:valid" result="pass"/><test-case name="27832duration_enumeration003_1106 tokoe:valid" result="pass"/><test-case name="27833duration_enumeration003_1106.i tokoe:invalid" result="pass"/><test-case name="27834duration_enumeration004_1107 tokoe:valid" result="pass"/><test-case name="27835duration_enumeration004_1107.v tokoe:valid" result="pass"/><test-case name="27836duration_maxInclusive001_1108 tokoe:valid" result="pass"/><test-case name="27837duration_maxInclusive001_1108.v tokoe:valid" result="pass"/><test-case name="27838duration_maxInclusive002_1109 tokoe:valid" result="pass"/><test-case name="27839duration_maxInclusive002_1109.i tokoe:invalid" result="pass"/><test-case name="27840duration_maxInclusive003_1110 tokoe:valid" result="pass"/><test-case name="27841duration_maxInclusive003_1110.v tokoe:valid" result="pass"/><test-case name="27842duration_maxExclusive001_1111 tokoe:valid" result="pass"/><test-case name="27843duration_maxExclusive001_1111.i tokoe:invalid" result="pass"/><test-case name="27844duration_maxExclusive002_1112 tokoe:valid" result="pass"/><test-case name="27845duration_maxExclusive002_1112.i tokoe:invalid" result="pass"/><test-case name="27846duration_maxExclusive003_1113 tokoe:valid" result="pass"/><test-case name="27847duration_maxExclusive003_1113.v tokoe:valid" result="pass"/><test-case name="27848duration_minInclusive001_1114 tokoe:valid" result="pass"/><test-case name="27849duration_minInclusive001_1114.v tokoe:valid" result="pass"/><test-case name="27850duration_minInclusive002_1115 tokoe:valid" result="pass"/><test-case name="27851duration_minInclusive002_1115.i tokoe:invalid" result="pass"/><test-case name="27852duration_minInclusive003_1116 tokoe:valid" result="pass"/><test-case name="27853duration_minInclusive003_1116.v tokoe:valid" result="pass"/><test-case name="27854duration_minInclusive004_1117 tokoe:valid" result="pass"/><test-case name="27855duration_minInclusive004_1117.v tokoe:valid" result="pass"/><test-case name="27856duration_minInclusive005_1118 tokoe:valid" result="pass"/><test-case name="27857duration_minInclusive005_1118.v tokoe:valid" result="pass"/><test-case name="27858duration_minExclusive001_1119 tokoe:valid" result="pass"/><test-case name="27859duration_minExclusive001_1119.i tokoe:invalid" result="pass"/><test-case name="27860duration_minExclusive002_1120 tokoe:valid" result="pass"/><test-case name="27861duration_minExclusive002_1120.i tokoe:invalid" result="pass"/><test-case name="27862duration_minExclusive003_1121 tokoe:valid" result="pass"/><test-case name="27863duration_minExclusive003_1121.v tokoe:valid" result="pass"/><test-case name="27864duration_minExclusive004_1122 tokoe:valid" result="pass"/><test-case name="27865duration_minExclusive004_1122.v tokoe:valid" result="pass"/><test-case name="27866duration_minExclusive005_1123 tokoe:valid" result="pass"/><test-case name="27867duration_minExclusive005_1123.v tokoe:valid" result="pass"/><test-case name="27868dateTime_pattern001_1124 tokoe:valid" result="pass"/><test-case name="27869dateTime_pattern001_1124.v tokoe:valid" result="pass"/><test-case name="27870dateTime_enumeration001_1125 tokoe:valid" result="pass"/><test-case name="27871dateTime_enumeration001_1125.i tokoe:invalid" result="pass"/><test-case name="27872dateTime_enumeration002_1126 tokoe:valid" result="pass"/><test-case name="27873dateTime_enumeration002_1126.v tokoe:valid" result="pass"/><test-case name="27874dateTime_enumeration003_1127 tokoe:valid" result="pass"/><test-case name="27875dateTime_enumeration003_1127.i tokoe:invalid" result="pass"/><test-case name="27876dateTime_enumeration004_1128 tokoe:valid" result="pass"/><test-case name="27877dateTime_enumeration004_1128.v tokoe:valid" result="pass"/><test-case name="27878dateTime_enumeration005a_1129 tokoe:valid" result="pass"/><test-case name="27879dateTime_enumeration005a_1129.v tokoe:valid" result="pass"/><test-case name="27880dateTime_enumeration005b_1130 tokoe:valid" result="pass"/><test-case name="27881dateTime_enumeration005b_1130.v tokoe:valid" result="pass"/><test-case name="27882dateTime_maxInclusive001_1131 tokoe:valid" result="pass"/><test-case name="27883dateTime_maxInclusive001_1131.v tokoe:valid" result="pass"/><test-case name="27884dateTime_maxInclusive002_1132 tokoe:valid" result="pass"/><test-case name="27885dateTime_maxInclusive002_1132.i tokoe:invalid" result="pass"/><test-case name="27886dateTime_maxInclusive003_1133 tokoe:valid" result="pass"/><test-case name="27887dateTime_maxInclusive003_1133.v tokoe:valid" result="pass"/><test-case name="27888dateTime_maxExclusive001_1134 tokoe:valid" result="pass"/><test-case name="27889dateTime_maxExclusive001_1134.i tokoe:invalid" result="pass"/><test-case name="27890dateTime_maxExclusive002_1135 tokoe:valid" result="pass"/><test-case name="27891dateTime_maxExclusive002_1135.i tokoe:invalid" result="pass"/><test-case name="27892dateTime_maxExclusive003_1136 tokoe:valid" result="pass"/><test-case name="27893dateTime_maxExclusive003_1136.v tokoe:valid" result="pass"/><test-case name="27894dateTime_minInclusive001_1137 tokoe:valid" result="pass"/><test-case name="27895dateTime_minInclusive001_1137.v tokoe:valid" result="pass"/><test-case name="27896dateTime_minInclusive002_1138 tokoe:valid" result="pass"/><test-case name="27897dateTime_minInclusive002_1138.i tokoe:invalid" result="pass"/><test-case name="27898dateTime_minInclusive003_1139 tokoe:valid" result="pass"/><test-case name="27899dateTime_minInclusive003_1139.v tokoe:valid" result="pass"/><test-case name="27900dateTime_minInclusive004_1140 tokoe:valid" result="pass"/><test-case name="27901dateTime_minInclusive004_1140.v tokoe:valid" result="pass"/><test-case name="27902dateTime_minInclusive005_1141 tokoe:valid" result="pass"/><test-case name="27903dateTime_minInclusive005_1141.v tokoe:valid" result="pass"/><test-case name="27904dateTime_minExclusive001_1142 tokoe:valid" result="pass"/><test-case name="27905dateTime_minExclusive001_1142.i tokoe:invalid" result="pass"/><test-case name="27906dateTime_minExclusive002_1143 tokoe:valid" result="pass"/><test-case name="27907dateTime_minExclusive002_1143.i tokoe:invalid" result="pass"/><test-case name="27908dateTime_minExclusive003_1144 tokoe:valid" result="pass"/><test-case name="27909dateTime_minExclusive003_1144.v tokoe:valid" result="pass"/><test-case name="27910dateTime_minExclusive004_1145 tokoe:valid" result="pass"/><test-case name="27911dateTime_minExclusive004_1145.v tokoe:valid" result="pass"/><test-case name="27912dateTime_minExclusive005_1146 tokoe:valid" result="pass"/><test-case name="27913dateTime_minExclusive005_1146.v tokoe:valid" result="pass"/><test-case name="27914time_pattern001_1147 tokoe:valid" result="pass"/><test-case name="27915time_pattern001_1147.v tokoe:valid" result="pass"/><test-case name="27916time_enumeration001_1148 tokoe:valid" result="pass"/><test-case name="27917time_enumeration001_1148.i tokoe:invalid" result="pass"/><test-case name="27918time_enumeration002_1149 tokoe:valid" result="pass"/><test-case name="27919time_enumeration002_1149.v tokoe:valid" result="pass"/><test-case name="27920time_enumeration003_1150 tokoe:valid" result="pass"/><test-case name="27921time_enumeration003_1150.i tokoe:invalid" result="pass"/><test-case name="27922time_enumeration004_1151 tokoe:valid" result="pass"/><test-case name="27923time_enumeration004_1151.v tokoe:valid" result="pass"/><test-case name="27924time_maxInclusive001_1152 tokoe:valid" result="pass"/><test-case name="27925time_maxInclusive001_1152.v tokoe:valid" result="pass"/><test-case name="27926time_maxInclusive002_1153 tokoe:valid" result="pass"/><test-case name="27927time_maxInclusive002_1153.i tokoe:invalid" result="pass"/><test-case name="27928time_maxInclusive003_1154 tokoe:valid" result="pass"/><test-case name="27929time_maxInclusive003_1154.v tokoe:valid" result="pass"/><test-case name="27930time_maxExclusive001_1155 tokoe:valid" result="pass"/><test-case name="27931time_maxExclusive001_1155.i tokoe:invalid" result="pass"/><test-case name="27932time_maxExclusive002_1156 tokoe:valid" result="pass"/><test-case name="27933time_maxExclusive002_1156.i tokoe:invalid" result="pass"/><test-case name="27934time_maxExclusive003_1157 tokoe:valid" result="pass"/><test-case name="27935time_maxExclusive003_1157.v tokoe:valid" result="pass"/><test-case name="27936time_minInclusive001_1158 tokoe:valid" result="pass"/><test-case name="27937time_minInclusive001_1158.v tokoe:valid" result="pass"/><test-case name="27938time_minInclusive002_1159 tokoe:valid" result="pass"/><test-case name="27939time_minInclusive002_1159.i tokoe:invalid" result="pass"/><test-case name="27940time_minInclusive003_1160 tokoe:valid" result="pass"/><test-case name="27941time_minInclusive003_1160.v tokoe:valid" result="pass"/><test-case name="27942time_minInclusive004_1161 tokoe:valid" result="pass"/><test-case name="27943time_minInclusive004_1161.v tokoe:valid" result="pass"/><test-case name="27944time_minInclusive005_1162 tokoe:valid" result="pass"/><test-case name="27945time_minInclusive005_1162.v tokoe:valid" result="pass"/><test-case name="27946time_minInclusive006_1163 tokoe:valid" result="pass"/><test-case name="27947time_minInclusive006_1163.i tokoe:invalid" result="pass"/><test-case name="27948time_minExclusive001_1164 tokoe:valid" result="pass"/><test-case name="27949time_minExclusive001_1164.i tokoe:invalid" result="pass"/><test-case name="27950time_minExclusive002_1165 tokoe:valid" result="pass"/><test-case name="27951time_minExclusive002_1165.i tokoe:invalid" result="pass"/><test-case name="27952time_minExclusive003_1166 tokoe:valid" result="pass"/><test-case name="27953time_minExclusive003_1166.v tokoe:valid" result="pass"/><test-case name="27954time_minExclusive004_1167 tokoe:valid" result="pass"/><test-case name="27955time_minExclusive004_1167.v tokoe:valid" result="pass"/><test-case name="27956time_minExclusive005_1168 tokoe:valid" result="pass"/><test-case name="27957time_minExclusive005_1168.v tokoe:valid" result="pass"/><test-case name="27958date_pattern001_1169 tokoe:valid" result="pass"/><test-case name="27959date_pattern001_1169.v tokoe:valid" result="pass"/><test-case name="27960date_enumeration001_1170 tokoe:valid" result="pass"/><test-case name="27961date_enumeration001_1170.i tokoe:invalid" result="pass"/><test-case name="27962date_enumeration002_1171 tokoe:valid" result="pass"/><test-case name="27963date_enumeration002_1171.v tokoe:valid" result="pass"/><test-case name="27964date_enumeration003_1172 tokoe:valid" result="pass"/><test-case name="27965date_enumeration003_1172.i tokoe:invalid" result="pass"/><test-case name="27966date_enumeration004_1173 tokoe:valid" result="pass"/><test-case name="27967date_enumeration004_1173.v tokoe:valid" result="pass"/><test-case name="27968date_maxInclusive001_1174 tokoe:valid" result="pass"/><test-case name="27969date_maxInclusive001_1174.v tokoe:valid" result="pass"/><test-case name="27970date_maxInclusive002_1175 tokoe:valid" result="pass"/><test-case name="27971date_maxInclusive002_1175.i tokoe:invalid" result="pass"/><test-case name="27972date_maxInclusive003_1176 tokoe:valid" result="pass"/><test-case name="27973date_maxInclusive003_1176.v tokoe:valid" result="pass"/><test-case name="27974date_maxExclusive001_1177 tokoe:valid" result="pass"/><test-case name="27975date_maxExclusive001_1177.i tokoe:invalid" result="pass"/><test-case name="27976date_maxExclusive002_1178 tokoe:valid" result="pass"/><test-case name="27977date_maxExclusive002_1178.i tokoe:invalid" result="pass"/><test-case name="27978date_maxExclusive003_1179 tokoe:valid" result="pass"/><test-case name="27979date_maxExclusive003_1179.v tokoe:valid" result="pass"/><test-case name="27980date_minInclusive001_1180 tokoe:valid" result="pass"/><test-case name="27981date_minInclusive001_1180.v tokoe:valid" result="pass"/><test-case name="27982date_minInclusive002_1181 tokoe:valid" result="pass"/><test-case name="27983date_minInclusive002_1181.i tokoe:invalid" result="pass"/><test-case name="27984date_minInclusive003_1182 tokoe:valid" result="pass"/><test-case name="27985date_minInclusive003_1182.v tokoe:valid" result="pass"/><test-case name="27986date_minInclusive004_1183 tokoe:valid" result="pass"/><test-case name="27987date_minInclusive004_1183.v tokoe:valid" result="pass"/><test-case name="27988date_minInclusive005_1184 tokoe:valid" result="pass"/><test-case name="27989date_minInclusive005_1184.v tokoe:valid" result="pass"/><test-case name="27990date_minExclusive001_1185 tokoe:valid" result="pass"/><test-case name="27991date_minExclusive001_1185.i tokoe:invalid" result="pass"/><test-case name="27992date_minExclusive002_1186 tokoe:valid" result="pass"/><test-case name="27993date_minExclusive002_1186.i tokoe:invalid" result="pass"/><test-case name="27994date_minExclusive003_1187 tokoe:valid" result="pass"/><test-case name="27995date_minExclusive003_1187.v tokoe:valid" result="pass"/><test-case name="27996date_minExclusive004_1188 tokoe:valid" result="pass"/><test-case name="27997date_minExclusive004_1188.v tokoe:valid" result="pass"/><test-case name="27998date_minExclusive005_1189 tokoe:valid" result="pass"/><test-case name="27999date_minExclusive005_1189.v tokoe:valid" result="pass"/><test-case name="28000gYearMonth_pattern001_1190 tokoe:valid" result="pass"/><test-case name="28001gYearMonth_pattern001_1190.v tokoe:valid" result="pass"/><test-case name="28002gYearMonth_enumeration001_1191 tokoe:valid" result="pass"/><test-case name="28003gYearMonth_enumeration001_1191.i tokoe:invalid" result="pass"/><test-case name="28004gYearMonth_enumeration002_1192 tokoe:valid" result="pass"/><test-case name="28005gYearMonth_enumeration002_1192.v tokoe:valid" result="pass"/><test-case name="28006gYearMonth_enumeration003_1193 tokoe:valid" result="pass"/><test-case name="28007gYearMonth_enumeration003_1193.i tokoe:invalid" result="pass"/><test-case name="28008gYearMonth_enumeration004_1194 tokoe:valid" result="pass"/><test-case name="28009gYearMonth_enumeration004_1194.v tokoe:valid" result="pass"/><test-case name="28010gYearMonth_maxInclusive001_1195 tokoe:valid" result="pass"/><test-case name="28011gYearMonth_maxInclusive001_1195.v tokoe:valid" result="pass"/><test-case name="28012gYearMonth_maxInclusive002_1196 tokoe:valid" result="pass"/><test-case name="28013gYearMonth_maxInclusive002_1196.i tokoe:invalid" result="pass"/><test-case name="28014gYearMonth_maxInclusive003_1197 tokoe:valid" result="pass"/><test-case name="28015gYearMonth_maxInclusive003_1197.v tokoe:valid" result="pass"/><test-case name="28016gYearMonth_maxExclusive001_1198 tokoe:valid" result="pass"/><test-case name="28017gYearMonth_maxExclusive001_1198.i tokoe:invalid" result="pass"/><test-case name="28018gYearMonth_maxExclusive002_1199 tokoe:valid" result="pass"/><test-case name="28019gYearMonth_maxExclusive002_1199.i tokoe:invalid" result="pass"/><test-case name="28020gYearMonth_maxExclusive003_1200 tokoe:valid" result="pass"/><test-case name="28021gYearMonth_maxExclusive003_1200.v tokoe:valid" result="pass"/><test-case name="28022gYearMonth_minInclusive001_1201 tokoe:valid" result="pass"/><test-case name="28023gYearMonth_minInclusive001_1201.v tokoe:valid" result="pass"/><test-case name="28024gYearMonth_minInclusive002_1202 tokoe:valid" result="pass"/><test-case name="28025gYearMonth_minInclusive002_1202.i tokoe:invalid" result="pass"/><test-case name="28026gYearMonth_minInclusive003_1203 tokoe:valid" result="pass"/><test-case name="28027gYearMonth_minInclusive003_1203.v tokoe:valid" result="pass"/><test-case name="28028gYearMonth_minInclusive004_1204 tokoe:valid" result="pass"/><test-case name="28029gYearMonth_minInclusive004_1204.v tokoe:valid" result="pass"/><test-case name="28030gYearMonth_minInclusive005_1205 tokoe:valid" result="pass"/><test-case name="28031gYearMonth_minInclusive005_1205.v tokoe:valid" result="pass"/><test-case name="28032gYearMonth_minExclusive001_1206 tokoe:valid" result="pass"/><test-case name="28033gYearMonth_minExclusive001_1206.i tokoe:invalid" result="pass"/><test-case name="28034gYearMonth_minExclusive002_1207 tokoe:valid" result="pass"/><test-case name="28035gYearMonth_minExclusive002_1207.i tokoe:invalid" result="pass"/><test-case name="28036gYearMonth_minExclusive003_1208 tokoe:valid" result="pass"/><test-case name="28037gYearMonth_minExclusive003_1208.v tokoe:valid" result="pass"/><test-case name="28038gYearMonth_minExclusive004_1209 tokoe:valid" result="pass"/><test-case name="28039gYearMonth_minExclusive004_1209.v tokoe:valid" result="pass"/><test-case name="28040gYearMonth_minExclusive005_1210 tokoe:valid" result="pass"/><test-case name="28041gYearMonth_minExclusive005_1210.v tokoe:valid" result="pass"/><test-case name="28042gYear_pattern001_1211 tokoe:valid" result="pass"/><test-case name="28043gYear_pattern001_1211.v tokoe:valid" result="pass"/><test-case name="28044gYear_enumeration001_1212 tokoe:valid" result="pass"/><test-case name="28045gYear_enumeration001_1212.i tokoe:invalid" result="pass"/><test-case name="28046gYear_enumeration002_1213 tokoe:valid" result="pass"/><test-case name="28047gYear_enumeration002_1213.v tokoe:valid" result="pass"/><test-case name="28048gYear_enumeration003_1214 tokoe:valid" result="pass"/><test-case name="28049gYear_enumeration003_1214.i tokoe:invalid" result="pass"/><test-case name="28050gYear_enumeration004_1215 tokoe:valid" result="pass"/><test-case name="28051gYear_enumeration004_1215.v tokoe:valid" result="pass"/><test-case name="28052gYear_maxInclusive001_1216 tokoe:valid" result="pass"/><test-case name="28053gYear_maxInclusive001_1216.v tokoe:valid" result="pass"/><test-case name="28054gYear_maxInclusive002_1217 tokoe:valid" result="pass"/><test-case name="28055gYear_maxInclusive002_1217.i tokoe:invalid" result="pass"/><test-case name="28056gYear_maxInclusive003_1218 tokoe:valid" result="pass"/><test-case name="28057gYear_maxInclusive003_1218.v tokoe:valid" result="pass"/><test-case name="28058gYear_maxExclusive001_1219 tokoe:valid" result="pass"/><test-case name="28059gYear_maxExclusive001_1219.i tokoe:invalid" result="pass"/><test-case name="28060gYear_maxExclusive002_1220 tokoe:valid" result="pass"/><test-case name="28061gYear_maxExclusive002_1220.i tokoe:invalid" result="pass"/><test-case name="28062gYear_maxExclusive003_1221 tokoe:valid" result="pass"/><test-case name="28063gYear_maxExclusive003_1221.v tokoe:valid" result="pass"/><test-case name="28064gYear_minInclusive001_1222 tokoe:valid" result="pass"/><test-case name="28065gYear_minInclusive001_1222.v tokoe:valid" result="pass"/><test-case name="28066gYear_minInclusive002_1223 tokoe:valid" result="pass"/><test-case name="28067gYear_minInclusive002_1223.i tokoe:invalid" result="pass"/><test-case name="28068gYear_minInclusive003_1224 tokoe:valid" result="pass"/><test-case name="28069gYear_minInclusive003_1224.v tokoe:valid" result="pass"/><test-case name="28070gYear_minInclusive004_1225 tokoe:valid" result="pass"/><test-case name="28071gYear_minInclusive004_1225.v tokoe:valid" result="pass"/><test-case name="28072gYear_minInclusive005_1226 tokoe:valid" result="pass"/><test-case name="28073gYear_minInclusive005_1226.v tokoe:valid" result="pass"/><test-case name="28074gYear_minExclusive001_1227 tokoe:valid" result="pass"/><test-case name="28075gYear_minExclusive001_1227.i tokoe:invalid" result="pass"/><test-case name="28076gYear_minExclusive002_1228 tokoe:valid" result="pass"/><test-case name="28077gYear_minExclusive002_1228.i tokoe:invalid" result="pass"/><test-case name="28078gYear_minExclusive003_1229 tokoe:valid" result="pass"/><test-case name="28079gYear_minExclusive003_1229.v tokoe:valid" result="pass"/><test-case name="28080gYear_minExclusive004_1230 tokoe:valid" result="pass"/><test-case name="28081gYear_minExclusive004_1230.v tokoe:valid" result="pass"/><test-case name="28082gYear_minExclusive005_1231 tokoe:valid" result="pass"/><test-case name="28083gYear_minExclusive005_1231.v tokoe:valid" result="pass"/><test-case name="28084gMonthDay_pattern001_1232 tokoe:valid" result="pass"/><test-case name="28085gMonthDay_pattern001_1232.v tokoe:valid" result="pass"/><test-case name="28086gMonthDay_enumeration001_1233 tokoe:valid" result="pass"/><test-case name="28087gMonthDay_enumeration001_1233.i tokoe:invalid" result="pass"/><test-case name="28088gMonthDay_enumeration002_1234 tokoe:valid" result="pass"/><test-case name="28089gMonthDay_enumeration002_1234.v tokoe:valid" result="pass"/><test-case name="28090gMonthDay_enumeration003_1235 tokoe:valid" result="pass"/><test-case name="28091gMonthDay_enumeration003_1235.i tokoe:invalid" result="pass"/><test-case name="28092gMonthDay_enumeration004_1236 tokoe:valid" result="pass"/><test-case name="28093gMonthDay_enumeration004_1236.v tokoe:valid" result="pass"/><test-case name="28094gMonthDay_maxInclusive001_1237 tokoe:valid" result="pass"/><test-case name="28095gMonthDay_maxInclusive001_1237.v tokoe:valid" result="pass"/><test-case name="28096gMonthDay_maxInclusive002_1238 tokoe:valid" result="pass"/><test-case name="28097gMonthDay_maxInclusive002_1238.i tokoe:invalid" result="pass"/><test-case name="28098gMonthDay_maxInclusive003_1239 tokoe:valid" result="pass"/><test-case name="28099gMonthDay_maxInclusive003_1239.v tokoe:valid" result="pass"/><test-case name="28100gMonthDay_maxExclusive001_1240 tokoe:valid" result="pass"/><test-case name="28101gMonthDay_maxExclusive001_1240.i tokoe:invalid" result="pass"/><test-case name="28102gMonthDay_maxExclusive002_1241 tokoe:valid" result="pass"/><test-case name="28103gMonthDay_maxExclusive002_1241.i tokoe:invalid" result="pass"/><test-case name="28104gMonthDay_maxExclusive003_1242 tokoe:valid" result="pass"/><test-case name="28105gMonthDay_maxExclusive003_1242.v tokoe:valid" result="pass"/><test-case name="28106gMonthDay_minInclusive001_1243 tokoe:valid" result="pass"/><test-case name="28107gMonthDay_minInclusive001_1243.v tokoe:valid" result="pass"/><test-case name="28108gMonthDay_minInclusive002_1244 tokoe:valid" result="pass"/><test-case name="28109gMonthDay_minInclusive002_1244.i tokoe:invalid" result="pass"/><test-case name="28110gMonthDay_minInclusive003_1245 tokoe:valid" result="pass"/><test-case name="28111gMonthDay_minInclusive003_1245.v tokoe:valid" result="pass"/><test-case name="28112gMonthDay_minInclusive004_1246 tokoe:valid" result="pass"/><test-case name="28113gMonthDay_minInclusive004_1246.v tokoe:valid" result="pass"/><test-case name="28114gMonthDay_minInclusive005_1247 tokoe:valid" result="pass"/><test-case name="28115gMonthDay_minInclusive005_1247.v tokoe:valid" result="pass"/><test-case name="28116gMonthDay_minExclusive001_1248 tokoe:valid" result="pass"/><test-case name="28117gMonthDay_minExclusive001_1248.i tokoe:invalid" result="pass"/><test-case name="28118gMonthDay_minExclusive002_1249 tokoe:valid" result="pass"/><test-case name="28119gMonthDay_minExclusive002_1249.i tokoe:invalid" result="pass"/><test-case name="28120gMonthDay_minExclusive003_1250 tokoe:valid" result="pass"/><test-case name="28121gMonthDay_minExclusive003_1250.v tokoe:valid" result="pass"/><test-case name="28122gMonthDay_minExclusive004_1251 tokoe:valid" result="pass"/><test-case name="28123gMonthDay_minExclusive004_1251.v tokoe:valid" result="pass"/><test-case name="28124gMonthDay_minExclusive005_1252 tokoe:valid" result="pass"/><test-case name="28125gMonthDay_minExclusive005_1252.v tokoe:valid" result="pass"/><test-case name="28126gDay_pattern001_1253 tokoe:valid" result="pass"/><test-case name="28127gDay_pattern001_1253.v tokoe:valid" result="pass"/><test-case name="28128gDay_enumeration001_1254 tokoe:valid" result="pass"/><test-case name="28129gDay_enumeration001_1254.i tokoe:invalid" result="pass"/><test-case name="28130gDay_enumeration002_1255 tokoe:valid" result="pass"/><test-case name="28131gDay_enumeration002_1255.v tokoe:valid" result="pass"/><test-case name="28132gDay_enumeration003_1256 tokoe:valid" result="pass"/><test-case name="28133gDay_enumeration003_1256.i tokoe:invalid" result="pass"/><test-case name="28134gDay_enumeration004_1257 tokoe:valid" result="pass"/><test-case name="28135gDay_enumeration004_1257.v tokoe:valid" result="pass"/><test-case name="28136gDay_maxInclusive001_1258 tokoe:valid" result="pass"/><test-case name="28137gDay_maxInclusive001_1258.v tokoe:valid" result="pass"/><test-case name="28138gDay_maxInclusive002_1259 tokoe:valid" result="pass"/><test-case name="28139gDay_maxInclusive002_1259.i tokoe:invalid" result="pass"/><test-case name="28140gDay_maxInclusive003_1260 tokoe:valid" result="pass"/><test-case name="28141gDay_maxInclusive003_1260.v tokoe:valid" result="pass"/><test-case name="28142gDay_maxExclusive001_1261 tokoe:valid" result="pass"/><test-case name="28143gDay_maxExclusive001_1261.i tokoe:invalid" result="pass"/><test-case name="28144gDay_maxExclusive002_1262 tokoe:valid" result="pass"/><test-case name="28145gDay_maxExclusive002_1262.i tokoe:invalid" result="pass"/><test-case name="28146gDay_maxExclusive003_1263 tokoe:valid" result="pass"/><test-case name="28147gDay_maxExclusive003_1263.v tokoe:valid" result="pass"/><test-case name="28148gDay_minInclusive001_1264 tokoe:valid" result="pass"/><test-case name="28149gDay_minInclusive001_1264.v tokoe:valid" result="pass"/><test-case name="28150gDay_minInclusive002_1265 tokoe:valid" result="pass"/><test-case name="28151gDay_minInclusive002_1265.i tokoe:invalid" result="pass"/><test-case name="28152gDay_minInclusive003_1266 tokoe:valid" result="pass"/><test-case name="28153gDay_minInclusive003_1266.v tokoe:valid" result="pass"/><test-case name="28154gDay_minInclusive004_1267 tokoe:valid" result="pass"/><test-case name="28155gDay_minInclusive004_1267.v tokoe:valid" result="pass"/><test-case name="28156gDay_minInclusive005_1268 tokoe:valid" result="pass"/><test-case name="28157gDay_minInclusive005_1268.v tokoe:valid" result="pass"/><test-case name="28158gDay_minExclusive001_1269 tokoe:valid" result="pass"/><test-case name="28159gDay_minExclusive001_1269.i tokoe:invalid" result="pass"/><test-case name="28160gDay_minExclusive002_1270 tokoe:valid" result="pass"/><test-case name="28161gDay_minExclusive002_1270.i tokoe:invalid" result="pass"/><test-case name="28162gDay_minExclusive003_1271 tokoe:valid" result="pass"/><test-case name="28163gDay_minExclusive003_1271.v tokoe:valid" result="pass"/><test-case name="28164gDay_minExclusive004_1272 tokoe:valid" result="pass"/><test-case name="28165gDay_minExclusive004_1272.v tokoe:valid" result="pass"/><test-case name="28166gDay_minExclusive005_1273 tokoe:valid" result="pass"/><test-case name="28167gDay_minExclusive005_1273.v tokoe:valid" result="pass"/><test-case name="28168gMonth_pattern001_1274 tokoe:valid" result="pass"/><test-case name="28169gMonth_pattern001_1274.v tokoe:valid" result="fail"/><test-case name="28170gMonth_enumeration001_1275 tokoe:valid" result="fail"/><test-case name="28171gMonth_enumeration001_1275.i tokoe:invalid" result="pass"/><test-case name="28172gMonth_enumeration002_1276 tokoe:valid" result="fail"/><test-case name="28173gMonth_enumeration002_1276.v tokoe:valid" result="fail"/><test-case name="28174gMonth_enumeration003_1277 tokoe:valid" result="fail"/><test-case name="28175gMonth_enumeration003_1277.i tokoe:invalid" result="pass"/><test-case name="28176gMonth_enumeration004_1278 tokoe:valid" result="fail"/><test-case name="28177gMonth_enumeration004_1278.v tokoe:valid" result="fail"/><test-case name="28178gMonth_maxInclusive001_1279 tokoe:valid" result="fail"/><test-case name="28179gMonth_maxInclusive001_1279.v tokoe:valid" result="fail"/><test-case name="28180gMonth_maxInclusive002_1280 tokoe:valid" result="fail"/><test-case name="28181gMonth_maxInclusive002_1280.i tokoe:invalid" result="pass"/><test-case name="28182gMonth_maxInclusive003_1281 tokoe:valid" result="fail"/><test-case name="28183gMonth_maxInclusive003_1281.v tokoe:valid" result="fail"/><test-case name="28184gMonth_maxExclusive001_1282 tokoe:valid" result="fail"/><test-case name="28185gMonth_maxExclusive001_1282.i tokoe:invalid" result="pass"/><test-case name="28186gMonth_maxExclusive002_1283 tokoe:valid" result="fail"/><test-case name="28187gMonth_maxExclusive002_1283.i tokoe:invalid" result="pass"/><test-case name="28188gMonth_maxExclusive003_1284 tokoe:valid" result="fail"/><test-case name="28189gMonth_maxExclusive003_1284.v tokoe:valid" result="fail"/><test-case name="28190gMonth_minInclusive001_1285 tokoe:valid" result="fail"/><test-case name="28191gMonth_minInclusive001_1285.v tokoe:valid" result="fail"/><test-case name="28192gMonth_minInclusive002_1286 tokoe:valid" result="fail"/><test-case name="28193gMonth_minInclusive002_1286.i tokoe:invalid" result="pass"/><test-case name="28194gMonth_minInclusive003_1287 tokoe:valid" result="fail"/><test-case name="28195gMonth_minInclusive003_1287.v tokoe:valid" result="fail"/><test-case name="28196gMonth_minInclusive004_1288 tokoe:valid" result="fail"/><test-case name="28197gMonth_minInclusive004_1288.v tokoe:valid" result="fail"/><test-case name="28198gMonth_minInclusive005_1289 tokoe:valid" result="fail"/><test-case name="28199gMonth_minInclusive005_1289.v tokoe:valid" result="fail"/><test-case name="28200gMonth_minExclusive001_1290 tokoe:valid" result="fail"/><test-case name="28201gMonth_minExclusive001_1290.i tokoe:invalid" result="pass"/><test-case name="28202gMonth_minExclusive002_1291 tokoe:valid" result="fail"/><test-case name="28203gMonth_minExclusive002_1291.i tokoe:invalid" result="pass"/><test-case name="28204gMonth_minExclusive003_1292 tokoe:valid" result="fail"/><test-case name="28205gMonth_minExclusive003_1292.v tokoe:valid" result="fail"/><test-case name="28206gMonth_minExclusive004_1293 tokoe:valid" result="fail"/><test-case name="28207gMonth_minExclusive004_1293.v tokoe:valid" result="fail"/><test-case name="28208gMonth_minExclusive005_1294 tokoe:valid" result="fail"/><test-case name="28209gMonth_minExclusive005_1294.v tokoe:valid" result="fail"/><test-case name="28210hexBinary_length001_1295 tokoe:valid" result="pass"/><test-case name="28211hexBinary_length001_1295.i tokoe:invalid" result="pass"/><test-case name="28212hexBinary_length002_1296 tokoe:valid" result="pass"/><test-case name="28213hexBinary_length002_1296.v tokoe:valid" result="pass"/><test-case name="28214hexBinary_length003_1297 tokoe:valid" result="pass"/><test-case name="28215hexBinary_length003_1297.i tokoe:invalid" result="pass"/><test-case name="28216hexBinary_minLength001_1298 tokoe:valid" result="pass"/><test-case name="28217hexBinary_minLength001_1298.v tokoe:valid" result="pass"/><test-case name="28218hexBinary_minLength002_1299 tokoe:valid" result="pass"/><test-case name="28219hexBinary_minLength002_1299.v tokoe:valid" result="pass"/><test-case name="28220hexBinary_minLength003_1300 tokoe:valid" result="pass"/><test-case name="28221hexBinary_minLength003_1300.i tokoe:invalid" result="pass"/><test-case name="28222hexBinary_minLength004_1301 tokoe:valid" result="pass"/><test-case name="28223hexBinary_minLength004_1301.v tokoe:valid" result="pass"/><test-case name="28224hexBinary_maxLength001_1302 tokoe:valid" result="pass"/><test-case name="28225hexBinary_maxLength001_1302.v tokoe:valid" result="pass"/><test-case name="28226hexBinary_maxLength002_1303 tokoe:valid" result="pass"/><test-case name="28227hexBinary_maxLength002_1303.v tokoe:valid" result="pass"/><test-case name="28228hexBinary_maxLength003_1304 tokoe:valid" result="pass"/><test-case name="28229hexBinary_maxLength003_1304.v tokoe:valid" result="pass"/><test-case name="28230hexBinary_enumeration001_1305 tokoe:valid" result="pass"/><test-case name="28231hexBinary_enumeration001_1305.i tokoe:invalid" result="pass"/><test-case name="28232hexBinary_enumeration002_1306 tokoe:valid" result="pass"/><test-case name="28233hexBinary_enumeration002_1306.v tokoe:valid" result="pass"/><test-case name="28234hexBinary_enumeration003_1307 tokoe:valid" result="pass"/><test-case name="28235hexBinary_enumeration003_1307.i tokoe:invalid" result="pass"/><test-case name="28236hexBinary_enumeration004_1308 tokoe:valid" result="pass"/><test-case name="28237hexBinary_enumeration004_1308.v tokoe:valid" result="pass"/><test-case name="28238base64Binary_length001_1309 tokoe:valid" result="pass"/><test-case name="28239base64Binary_length001_1309.i tokoe:invalid" result="pass"/><test-case name="28240base64Binary_length002_1310 tokoe:valid" result="pass"/><test-case name="28241base64Binary_length002_1310.v tokoe:valid" result="pass"/><test-case name="28242base64Binary_length003_1311 tokoe:valid" result="pass"/><test-case name="28243base64Binary_length003_1311.i tokoe:invalid" result="pass"/><test-case name="28244base64Binary_minLength001_1312 tokoe:valid" result="pass"/><test-case name="28245base64Binary_minLength001_1312.v tokoe:valid" result="pass"/><test-case name="28246base64Binary_minLength002_1313 tokoe:valid" result="pass"/><test-case name="28247base64Binary_minLength002_1313.v tokoe:valid" result="pass"/><test-case name="28248base64Binary_minLength003_1314 tokoe:valid" result="pass"/><test-case name="28249base64Binary_minLength003_1314.i tokoe:invalid" result="pass"/><test-case name="28250base64Binary_minLength004_1315 tokoe:valid" result="pass"/><test-case name="28251base64Binary_minLength004_1315.v tokoe:valid" result="pass"/><test-case name="28252base64Binary_maxLength001_1316 tokoe:valid" result="pass"/><test-case name="28253base64Binary_maxLength001_1316.i tokoe:invalid" result="pass"/><test-case name="28254base64Binary_maxLength002_1317 tokoe:valid" result="pass"/><test-case name="28255base64Binary_maxLength002_1317.i tokoe:invalid" result="pass"/><test-case name="28256base64Binary_maxLength003_1318 tokoe:valid" result="pass"/><test-case name="28257base64Binary_maxLength003_1318.i tokoe:invalid" result="pass"/><test-case name="28258base64Binary_enumeration001_1319 tokoe:valid" result="pass"/><test-case name="28259base64Binary_enumeration001_1319.i tokoe:invalid" result="pass"/><test-case name="28260base64Binary_enumeration002_1320 tokoe:valid" result="pass"/><test-case name="28261base64Binary_enumeration002_1320.v tokoe:valid" result="pass"/><test-case name="28262anyURI_length001_1322 tokoe:valid" result="pass"/><test-case name="28263anyURI_length001_1322.i tokoe:invalid" result="pass"/><test-case name="28264anyURI_length002_1323 tokoe:valid" result="pass"/><test-case name="28265anyURI_length002_1323.v tokoe:valid" result="pass"/><test-case name="28266anyURI_length003_1324 tokoe:valid" result="pass"/><test-case name="28267anyURI_length003_1324.i tokoe:invalid" result="pass"/><test-case name="28268anyURI_minLength001_1325 tokoe:valid" result="pass"/><test-case name="28269anyURI_minLength001_1325.v tokoe:valid" result="pass"/><test-case name="28270anyURI_minLength002_1326 tokoe:valid" result="pass"/><test-case name="28271anyURI_minLength002_1326.v tokoe:valid" result="pass"/><test-case name="28272anyURI_minLength003_1327 tokoe:valid" result="pass"/><test-case name="28273anyURI_minLength003_1327.i tokoe:invalid" result="pass"/><test-case name="28274anyURI_minLength004_1328 tokoe:valid" result="pass"/><test-case name="28275anyURI_minLength004_1328.v tokoe:valid" result="pass"/><test-case name="28276anyURI_maxLength001_1329 tokoe:valid" result="pass"/><test-case name="28277anyURI_maxLength001_1329.i tokoe:invalid" result="pass"/><test-case name="28278anyURI_maxLength002_1330 tokoe:valid" result="pass"/><test-case name="28279anyURI_maxLength002_1330.v tokoe:valid" result="pass"/><test-case name="28280anyURI_maxLength003_1331 tokoe:valid" result="pass"/><test-case name="28281anyURI_maxLength003_1331.v tokoe:valid" result="pass"/><test-case name="28282anyURI_enumeration001_1332 tokoe:valid" result="pass"/><test-case name="28283anyURI_enumeration001_1332.i tokoe:invalid" result="pass"/><test-case name="28284anyURI_enumeration002_1333 tokoe:valid" result="pass"/><test-case name="28285anyURI_enumeration002_1333.v tokoe:valid" result="pass"/><test-case name="28286anyURI_enumeration003_1334 tokoe:valid" result="pass"/><test-case name="28287anyURI_enumeration003_1334.i tokoe:invalid" result="pass"/><test-case name="28288anyURI_enumeration004_1335 tokoe:valid" result="pass"/><test-case name="28289anyURI_enumeration004_1335.v tokoe:valid" result="pass"/><test-case name="28290anyURI_a002_1337 tokoe:valid" result="pass"/><test-case name="28291anyURI_a002_1337.v tokoe:valid" result="pass"/><test-case name="28292anyURI_a005_1340 tokoe:valid" result="pass"/><test-case name="28293anyURI_a006_1341 tokoe:valid" result="pass"/><test-case name="28294anyURI_a007_1342 tokoe:valid" result="pass"/><test-case name="28295anyURI_a008_1343 tokoe:valid" result="pass"/><test-case name="28296anyURI_a009_1344 tokoe:valid" result="pass"/><test-case name="28297anyURI_a010_1345 tokoe:valid" result="pass"/><test-case name="28298anyURI_a011_1346 tokoe:valid" result="pass"/><test-case name="28299anyURI_a012_1347 tokoe:valid" result="pass"/><test-case name="28300anyURI_a013_1348 tokoe:valid" result="pass"/><test-case name="28301anyURI_a014_1349 tokoe:valid" result="pass"/><test-case name="28302anyURI_a015_1350 tokoe:valid" result="pass"/><test-case name="28303anyURI_a016_1351 tokoe:valid" result="pass"/><test-case name="28304anyURI_b001_1352 tokoe:valid" result="pass"/><test-case name="28305anyURI_b001_1352.i tokoe:invalid" result="pass"/><test-case name="28306anyURI_b002_1353 tokoe:valid" result="pass"/><test-case name="28307anyURI_b002_1353.v tokoe:valid" result="pass"/><test-case name="28308anyURI_b005_1355 tokoe:valid" result="pass"/><test-case name="28309anyURI_b005_1355.i tokoe:invalid" result="pass"/><test-case name="28310QName_length002_1358 tokoe:valid" result="pass"/><test-case name="28311QName_length002_1358.v tokoe:valid" result="pass"/><test-case name="28312QName_minLength001_1360 tokoe:valid" result="pass"/><test-case name="28313QName_minLength001_1360.v tokoe:valid" result="pass"/><test-case name="28314QName_minLength002_1361 tokoe:valid" result="pass"/><test-case name="28315QName_minLength002_1361.v tokoe:valid" result="pass"/><test-case name="28316QName_minLength004_1363 tokoe:valid" result="pass"/><test-case name="28317QName_minLength004_1363.v tokoe:valid" result="pass"/><test-case name="28318QName_maxLength002_1365 tokoe:valid" result="pass"/><test-case name="28319QName_maxLength002_1365.v tokoe:valid" result="pass"/><test-case name="28320QName_maxLength003_1366 tokoe:valid" result="pass"/><test-case name="28321QName_maxLength003_1366.v tokoe:valid" result="pass"/><test-case name="28322QName_pattern001_1367 tokoe:valid" result="pass"/><test-case name="28323QName_pattern001_1367.v tokoe:valid" result="pass"/><test-case name="28324QName_enumeration001_1368 tokoe:valid" result="pass"/><test-case name="28325QName_enumeration001_1368.i tokoe:invalid" result="pass"/><test-case name="28326QName_enumeration002_1369 tokoe:valid" result="pass"/><test-case name="28327QName_enumeration002_1369.v tokoe:valid" result="pass"/><test-case name="28328QName_enumeration003_1370 tokoe:valid" result="pass"/><test-case name="28329QName_enumeration003_1370.i tokoe:invalid" result="pass"/><test-case name="28330QName_enumeration004_1371 tokoe:valid" result="pass"/><test-case name="28331QName_enumeration004_1371.v tokoe:valid" result="pass"/><test-case name="28332NOTATION_length002_1373 tokoe:valid" result="pass"/><test-case name="28333NOTATION_length002_1373.v tokoe:valid" result="pass"/><test-case name="28334NOTATION_minLength001_1375 tokoe:valid" result="pass"/><test-case name="28335NOTATION_minLength001_1375.v tokoe:valid" result="pass"/><test-case name="28336NOTATION_minLength002_1376 tokoe:valid" result="pass"/><test-case name="28337NOTATION_minLength002_1376.v tokoe:valid" result="pass"/><test-case name="28338NOTATION_minLength004_1378 tokoe:valid" result="pass"/><test-case name="28339NOTATION_minLength004_1378.v tokoe:valid" result="pass"/><test-case name="28340NOTATION_maxLength002_1380 tokoe:valid" result="pass"/><test-case name="28341NOTATION_maxLength002_1380.v tokoe:valid" result="pass"/><test-case name="28342NOTATION_maxLength003_1381 tokoe:valid" result="pass"/><test-case name="28343NOTATION_maxLength003_1381.v tokoe:valid" result="pass"/><test-case name="28344NOTATION_pattern001_1382 tokoe:valid" result="pass"/><test-case name="28345NOTATION_pattern001_1382.v tokoe:valid" result="pass"/><test-case name="28346NOTATION_enumeration001_1383 tokoe:valid" result="pass"/><test-case name="28347NOTATION_enumeration001_1383.i tokoe:invalid" result="pass"/><test-case name="28348NOTATION_enumeration002_1384 tokoe:valid" result="pass"/><test-case name="28349NOTATION_enumeration002_1384.v tokoe:valid" result="pass"/><test-case name="28350NOTATION_enumeration003_1385 tokoe:valid" result="pass"/><test-case name="28351NOTATION_enumeration003_1385.i tokoe:invalid" result="pass"/><test-case name="28352NOTATION_enumeration004_1386 tokoe:valid" result="pass"/><test-case name="28353NOTATION_enumeration004_1386.v tokoe:valid" result="pass"/><test-case name="28354normalizedString_length001_1387 tokoe:valid" result="pass"/><test-case name="28355normalizedString_length001_1387.i tokoe:invalid" result="pass"/><test-case name="28356normalizedString_length002_1388 tokoe:valid" result="pass"/><test-case name="28357normalizedString_length002_1388.v tokoe:valid" result="pass"/><test-case name="28358normalizedString_length003_1389 tokoe:valid" result="pass"/><test-case name="28359normalizedString_length003_1389.i tokoe:invalid" result="pass"/><test-case name="28360normalizedString_minLength001_1390 tokoe:valid" result="pass"/><test-case name="28361normalizedString_minLength001_1390.v tokoe:valid" result="pass"/><test-case name="28362normalizedString_minLength002_1391 tokoe:valid" result="pass"/><test-case name="28363normalizedString_minLength002_1391.v tokoe:valid" result="pass"/><test-case name="28364normalizedString_minLength003_1392 tokoe:valid" result="pass"/><test-case name="28365normalizedString_minLength003_1392.i tokoe:invalid" result="pass"/><test-case name="28366normalizedString_minLength004_1393 tokoe:valid" result="pass"/><test-case name="28367normalizedString_minLength004_1393.v tokoe:valid" result="pass"/><test-case name="28368normalizedString_maxLength001_1394 tokoe:valid" result="pass"/><test-case name="28369normalizedString_maxLength001_1394.i tokoe:invalid" result="pass"/><test-case name="28370normalizedString_maxLength002_1395 tokoe:valid" result="pass"/><test-case name="28371normalizedString_maxLength002_1395.v tokoe:valid" result="pass"/><test-case name="28372normalizedString_maxLength003_1396 tokoe:valid" result="pass"/><test-case name="28373normalizedString_maxLength003_1396.v tokoe:valid" result="pass"/><test-case name="28374normalizedString_pattern001_1397 tokoe:valid" result="pass"/><test-case name="28375normalizedString_pattern001_1397.v tokoe:valid" result="pass"/><test-case name="28376normalizedString_enumeration001_1398 tokoe:valid" result="pass"/><test-case name="28377normalizedString_enumeration001_1398.i tokoe:invalid" result="pass"/><test-case name="28378normalizedString_enumeration002_1399 tokoe:valid" result="pass"/><test-case name="28379normalizedString_enumeration002_1399.v tokoe:valid" result="pass"/><test-case name="28380normalizedString_enumeration003_1400 tokoe:valid" result="pass"/><test-case name="28381normalizedString_enumeration003_1400.i tokoe:invalid" result="pass"/><test-case name="28382normalizedString_enumeration004_1401 tokoe:valid" result="pass"/><test-case name="28383normalizedString_enumeration004_1401.v tokoe:valid" result="pass"/><test-case name="28384token_length001_1402 tokoe:valid" result="pass"/><test-case name="28385token_length001_1402.i tokoe:invalid" result="pass"/><test-case name="28386token_length002_1403 tokoe:valid" result="pass"/><test-case name="28387token_length002_1403.v tokoe:valid" result="pass"/><test-case name="28388token_length003_1404 tokoe:valid" result="pass"/><test-case name="28389token_length003_1404.i tokoe:invalid" result="pass"/><test-case name="28390token_minLength001_1405 tokoe:valid" result="pass"/><test-case name="28391token_minLength001_1405.v tokoe:valid" result="pass"/><test-case name="28392token_minLength002_1406 tokoe:valid" result="pass"/><test-case name="28393token_minLength002_1406.v tokoe:valid" result="pass"/><test-case name="28394token_minLength003_1407 tokoe:valid" result="pass"/><test-case name="28395token_minLength003_1407.i tokoe:invalid" result="pass"/><test-case name="28396token_minLength004_1408 tokoe:valid" result="pass"/><test-case name="28397token_minLength004_1408.v tokoe:valid" result="pass"/><test-case name="28398token_maxLength001_1409 tokoe:valid" result="pass"/><test-case name="28399token_maxLength001_1409.i tokoe:invalid" result="pass"/><test-case name="28400token_maxLength002_1410 tokoe:valid" result="pass"/><test-case name="28401token_maxLength002_1410.v tokoe:valid" result="pass"/><test-case name="28402token_maxLength003_1411 tokoe:valid" result="pass"/><test-case name="28403token_maxLength003_1411.v tokoe:valid" result="pass"/><test-case name="28404token_pattern001_1412 tokoe:valid" result="pass"/><test-case name="28405token_pattern001_1412.v tokoe:valid" result="pass"/><test-case name="28406token_enumeration001_1413 tokoe:valid" result="pass"/><test-case name="28407token_enumeration001_1413.i tokoe:invalid" result="pass"/><test-case name="28408token_enumeration002_1414 tokoe:valid" result="pass"/><test-case name="28409token_enumeration002_1414.v tokoe:valid" result="pass"/><test-case name="28410token_enumeration003_1415 tokoe:valid" result="pass"/><test-case name="28411token_enumeration003_1415.i tokoe:invalid" result="pass"/><test-case name="28412token_enumeration004_1416 tokoe:valid" result="pass"/><test-case name="28413token_enumeration004_1416.v tokoe:valid" result="pass"/><test-case name="28414language_length001_1417 tokoe:valid" result="pass"/><test-case name="28415language_length001_1417.i tokoe:invalid" result="pass"/><test-case name="28416language_length002_1418 tokoe:valid" result="pass"/><test-case name="28417language_length002_1418.v tokoe:valid" result="pass"/><test-case name="28418language_length003_1419 tokoe:valid" result="pass"/><test-case name="28419language_length003_1419.i tokoe:invalid" result="pass"/><test-case name="28420language_minLength001_1420 tokoe:valid" result="pass"/><test-case name="28421language_minLength001_1420.v tokoe:valid" result="pass"/><test-case name="28422language_minLength002_1421 tokoe:valid" result="pass"/><test-case name="28423language_minLength002_1421.v tokoe:valid" result="pass"/><test-case name="28424language_minLength003_1422 tokoe:valid" result="pass"/><test-case name="28425language_minLength003_1422.i tokoe:invalid" result="pass"/><test-case name="28426language_minLength004_1423 tokoe:valid" result="pass"/><test-case name="28427language_minLength004_1423.v tokoe:valid" result="pass"/><test-case name="28428language_maxLength001_1424 tokoe:valid" result="pass"/><test-case name="28429language_maxLength001_1424.i tokoe:invalid" result="pass"/><test-case name="28430language_maxLength002_1425 tokoe:valid" result="pass"/><test-case name="28431language_maxLength002_1425.v tokoe:valid" result="pass"/><test-case name="28432language_maxLength003_1426 tokoe:valid" result="pass"/><test-case name="28433language_maxLength003_1426.v tokoe:valid" result="pass"/><test-case name="28434language_pattern001_1427 tokoe:valid" result="pass"/><test-case name="28435language_pattern001_1427.v tokoe:valid" result="pass"/><test-case name="28436language_enumeration001_1428 tokoe:valid" result="pass"/><test-case name="28437language_enumeration001_1428.i tokoe:invalid" result="pass"/><test-case name="28438language_enumeration002_1429 tokoe:valid" result="pass"/><test-case name="28439language_enumeration002_1429.v tokoe:valid" result="pass"/><test-case name="28440language_enumeration003_1430 tokoe:valid" result="pass"/><test-case name="28441language_enumeration003_1430.i tokoe:invalid" result="pass"/><test-case name="28442language_enumeration004_1431 tokoe:valid" result="pass"/><test-case name="28443language_enumeration004_1431.v tokoe:valid" result="pass"/><test-case name="28444IDREFS_length001_1432 tokoe:valid" result="pass"/><test-case name="28445IDREFS_length001_1432.i tokoe:invalid" result="pass"/><test-case name="28446IDREFS_length002_1433 tokoe:valid" result="pass"/><test-case name="28447IDREFS_length002_1433.v tokoe:valid" result="pass"/><test-case name="28448IDREFS_length003_1434 tokoe:valid" result="pass"/><test-case name="28449IDREFS_length003_1434.i tokoe:invalid" result="pass"/><test-case name="28450IDREFS_minLength001_1435 tokoe:valid" result="pass"/><test-case name="28451IDREFS_minLength001_1435.v tokoe:valid" result="pass"/><test-case name="28452IDREFS_minLength002_1436 tokoe:valid" result="pass"/><test-case name="28453IDREFS_minLength002_1436.v tokoe:valid" result="pass"/><test-case name="28454IDREFS_minLength003_1437 tokoe:valid" result="pass"/><test-case name="28455IDREFS_minLength003_1437.i tokoe:invalid" result="pass"/><test-case name="28456IDREFS_minLength004_1438 tokoe:valid" result="pass"/><test-case name="28457IDREFS_minLength004_1438.v tokoe:valid" result="pass"/><test-case name="28458IDREFS_maxLength001_1439 tokoe:valid" result="pass"/><test-case name="28459IDREFS_maxLength001_1439.i tokoe:invalid" result="pass"/><test-case name="28460IDREFS_maxLength002_1440 tokoe:valid" result="pass"/><test-case name="28461IDREFS_maxLength002_1440.v tokoe:valid" result="pass"/><test-case name="28462IDREFS_maxLength003_1441 tokoe:valid" result="pass"/><test-case name="28463IDREFS_maxLength003_1441.v tokoe:valid" result="pass"/><test-case name="28464IDREFS_enumeration001_1442 tokoe:valid" result="pass"/><test-case name="28465IDREFS_enumeration001_1442.i tokoe:invalid" result="pass"/><test-case name="28466IDREFS_enumeration002_1443 tokoe:valid" result="pass"/><test-case name="28467IDREFS_enumeration002_1443.v tokoe:valid" result="pass"/><test-case name="28468IDREFS_enumeration003_1444 tokoe:valid" result="pass"/><test-case name="28469IDREFS_enumeration003_1444.i tokoe:invalid" result="pass"/><test-case name="28470IDREFS_enumeration004_1445 tokoe:valid" result="pass"/><test-case name="28471IDREFS_enumeration004_1445.v tokoe:valid" result="pass"/><test-case name="28472NMTOKEN_length001_1446 tokoe:valid" result="pass"/><test-case name="28473NMTOKEN_length001_1446.i tokoe:invalid" result="pass"/><test-case name="28474NMTOKEN_length002_1447 tokoe:valid" result="pass"/><test-case name="28475NMTOKEN_length002_1447.v tokoe:valid" result="pass"/><test-case name="28476NMTOKEN_length003_1448 tokoe:valid" result="pass"/><test-case name="28477NMTOKEN_length003_1448.i tokoe:invalid" result="pass"/><test-case name="28478NMTOKEN_minLength001_1449 tokoe:valid" result="pass"/><test-case name="28479NMTOKEN_minLength001_1449.v tokoe:valid" result="pass"/><test-case name="28480NMTOKEN_minLength002_1450 tokoe:valid" result="pass"/><test-case name="28481NMTOKEN_minLength002_1450.v tokoe:valid" result="pass"/><test-case name="28482NMTOKEN_minLength003_1451 tokoe:valid" result="pass"/><test-case name="28483NMTOKEN_minLength003_1451.i tokoe:invalid" result="pass"/><test-case name="28484NMTOKEN_minLength004_1452 tokoe:valid" result="pass"/><test-case name="28485NMTOKEN_minLength004_1452.v tokoe:valid" result="pass"/><test-case name="28486NMTOKEN_maxLength001_1453 tokoe:valid" result="pass"/><test-case name="28487NMTOKEN_maxLength001_1453.i tokoe:invalid" result="pass"/><test-case name="28488NMTOKEN_maxLength002_1454 tokoe:valid" result="pass"/><test-case name="28489NMTOKEN_maxLength002_1454.v tokoe:valid" result="pass"/><test-case name="28490NMTOKEN_maxLength003_1455 tokoe:valid" result="pass"/><test-case name="28491NMTOKEN_maxLength003_1455.v tokoe:valid" result="pass"/><test-case name="28492NMTOKEN_pattern001_1456 tokoe:valid" result="pass"/><test-case name="28493NMTOKEN_pattern001_1456.v tokoe:valid" result="pass"/><test-case name="28494NMTOKEN_enumeration001_1457 tokoe:valid" result="pass"/><test-case name="28495NMTOKEN_enumeration001_1457.i tokoe:invalid" result="pass"/><test-case name="28496NMTOKEN_enumeration002_1458 tokoe:valid" result="pass"/><test-case name="28497NMTOKEN_enumeration002_1458.v tokoe:valid" result="pass"/><test-case name="28498NMTOKEN_enumeration003_1459 tokoe:valid" result="pass"/><test-case name="28499NMTOKEN_enumeration003_1459.i tokoe:invalid" result="pass"/><test-case name="28500NMTOKEN_enumeration004_1460 tokoe:valid" result="pass"/><test-case name="28501NMTOKEN_enumeration004_1460.v tokoe:valid" result="pass"/><test-case name="28502NMTOKENS_length001_1461 tokoe:valid" result="pass"/><test-case name="28503NMTOKENS_length001_1461.i tokoe:invalid" result="pass"/><test-case name="28504NMTOKENS_length002_1462 tokoe:valid" result="pass"/><test-case name="28505NMTOKENS_length002_1462.v tokoe:valid" result="pass"/><test-case name="28506NMTOKENS_length003_1463 tokoe:valid" result="pass"/><test-case name="28507NMTOKENS_length003_1463.i tokoe:invalid" result="pass"/><test-case name="28508NMTOKENS_minLength001_1464 tokoe:valid" result="fail"/><test-case name="28509NMTOKENS_minLength001_1464.v tokoe:valid" result="fail"/><test-case name="28510NMTOKENS_minLength002_1465 tokoe:valid" result="pass"/><test-case name="28511NMTOKENS_minLength002_1465.v tokoe:valid" result="pass"/><test-case name="28512NMTOKENS_minLength003_1466 tokoe:valid" result="pass"/><test-case name="28513NMTOKENS_minLength003_1466.i tokoe:invalid" result="pass"/><test-case name="28514NMTOKENS_minLength004_1467 tokoe:valid" result="fail"/><test-case name="28515NMTOKENS_minLength004_1467.v tokoe:valid" result="fail"/><test-case name="28516NMTOKENS_maxLength001_1468 tokoe:valid" result="pass"/><test-case name="28517NMTOKENS_maxLength001_1468.i tokoe:invalid" result="pass"/><test-case name="28518NMTOKENS_maxLength002_1469 tokoe:valid" result="pass"/><test-case name="28519NMTOKENS_maxLength002_1469.v tokoe:valid" result="pass"/><test-case name="28520NMTOKENS_maxLength003_1470 tokoe:valid" result="pass"/><test-case name="28521NMTOKENS_maxLength003_1470.v tokoe:valid" result="pass"/><test-case name="28522NMTOKENS_enumeration001_1471 tokoe:valid" result="pass"/><test-case name="28523NMTOKENS_enumeration001_1471.i tokoe:invalid" result="pass"/><test-case name="28524NMTOKENS_enumeration002_1472 tokoe:valid" result="pass"/><test-case name="28525NMTOKENS_enumeration002_1472.v tokoe:valid" result="pass"/><test-case name="28526NMTOKENS_enumeration003_1473 tokoe:valid" result="pass"/><test-case name="28527NMTOKENS_enumeration003_1473.i tokoe:invalid" result="pass"/><test-case name="28528NMTOKENS_enumeration004_1474 tokoe:valid" result="pass"/><test-case name="28529NMTOKENS_enumeration004_1474.v tokoe:valid" result="pass"/><test-case name="28530NMTOKENS_pattern001_1475 tokoe:valid" result="pass"/><test-case name="28531NMTOKENS_pattern001_1475.v tokoe:valid" result="pass"/><test-case name="28532NMTOKENS_pattern002_1476 tokoe:valid" result="pass"/><test-case name="28533NMTOKENS_pattern002_1476.i tokoe:invalid" result="pass"/><test-case name="28534Name_length001_1477 tokoe:valid" result="pass"/><test-case name="28535Name_length001_1477.i tokoe:invalid" result="pass"/><test-case name="28536Name_length002_1478 tokoe:valid" result="pass"/><test-case name="28537Name_length002_1478.v tokoe:valid" result="pass"/><test-case name="28538Name_length003_1479 tokoe:valid" result="pass"/><test-case name="28539Name_length003_1479.i tokoe:invalid" result="pass"/><test-case name="28540Name_minLength001_1480 tokoe:valid" result="pass"/><test-case name="28541Name_minLength001_1480.v tokoe:valid" result="pass"/><test-case name="28542Name_minLength002_1481 tokoe:valid" result="pass"/><test-case name="28543Name_minLength002_1481.v tokoe:valid" result="pass"/><test-case name="28544Name_minLength003_1482 tokoe:valid" result="pass"/><test-case name="28545Name_minLength003_1482.i tokoe:invalid" result="pass"/><test-case name="28546Name_minLength004_1483 tokoe:valid" result="pass"/><test-case name="28547Name_minLength004_1483.v tokoe:valid" result="pass"/><test-case name="28548Name_maxLength001_1484 tokoe:valid" result="pass"/><test-case name="28549Name_maxLength001_1484.i tokoe:invalid" result="pass"/><test-case name="28550Name_maxLength002_1485 tokoe:valid" result="pass"/><test-case name="28551Name_maxLength002_1485.v tokoe:valid" result="pass"/><test-case name="28552Name_maxLength003_1486 tokoe:valid" result="pass"/><test-case name="28553Name_maxLength003_1486.v tokoe:valid" result="pass"/><test-case name="28554Name_pattern001_1487 tokoe:valid" result="pass"/><test-case name="28555Name_pattern001_1487.v tokoe:valid" result="pass"/><test-case name="28556Name_enumeration001_1488 tokoe:valid" result="pass"/><test-case name="28557Name_enumeration001_1488.i tokoe:invalid" result="pass"/><test-case name="28558Name_enumeration002_1489 tokoe:valid" result="pass"/><test-case name="28559Name_enumeration002_1489.v tokoe:valid" result="pass"/><test-case name="28560Name_enumeration003_1490 tokoe:valid" result="pass"/><test-case name="28561Name_enumeration003_1490.i tokoe:invalid" result="pass"/><test-case name="28562Name_enumeration004_1491 tokoe:valid" result="pass"/><test-case name="28563Name_enumeration004_1491.v tokoe:valid" result="pass"/><test-case name="28564NCName_length001_1492 tokoe:valid" result="pass"/><test-case name="28565NCName_length001_1492.i tokoe:invalid" result="pass"/><test-case name="28566NCName_length002_1493 tokoe:valid" result="pass"/><test-case name="28567NCName_length002_1493.v tokoe:valid" result="pass"/><test-case name="28568NCName_length003_1494 tokoe:valid" result="pass"/><test-case name="28569NCName_length003_1494.i tokoe:invalid" result="pass"/><test-case name="28570NCName_minLength001_1495 tokoe:valid" result="pass"/><test-case name="28571NCName_minLength001_1495.v tokoe:valid" result="pass"/><test-case name="28572NCName_minLength002_1496 tokoe:valid" result="pass"/><test-case name="28573NCName_minLength002_1496.v tokoe:valid" result="pass"/><test-case name="28574NCName_minLength003_1497 tokoe:valid" result="pass"/><test-case name="28575NCName_minLength003_1497.i tokoe:invalid" result="pass"/><test-case name="28576NCName_minLength004_1498 tokoe:valid" result="pass"/><test-case name="28577NCName_minLength004_1498.v tokoe:valid" result="pass"/><test-case name="28578NCName_maxLength001_1499 tokoe:valid" result="pass"/><test-case name="28579NCName_maxLength001_1499.i tokoe:invalid" result="pass"/><test-case name="28580NCName_maxLength002_1500 tokoe:valid" result="pass"/><test-case name="28581NCName_maxLength002_1500.v tokoe:valid" result="pass"/><test-case name="28582NCName_maxLength003_1501 tokoe:valid" result="pass"/><test-case name="28583NCName_maxLength003_1501.v tokoe:valid" result="pass"/><test-case name="28584NCName_pattern001_1502 tokoe:valid" result="pass"/><test-case name="28585NCName_pattern001_1502.v tokoe:valid" result="pass"/><test-case name="28586NCName_enumeration001_1503 tokoe:valid" result="pass"/><test-case name="28587NCName_enumeration001_1503.i tokoe:invalid" result="pass"/><test-case name="28588NCName_enumeration002_1504 tokoe:valid" result="pass"/><test-case name="28589NCName_enumeration002_1504.v tokoe:valid" result="pass"/><test-case name="28590NCName_enumeration003_1505 tokoe:valid" result="pass"/><test-case name="28591NCName_enumeration003_1505.i tokoe:invalid" result="pass"/><test-case name="28592NCName_enumeration004_1506 tokoe:valid" result="pass"/><test-case name="28593NCName_enumeration004_1506.v tokoe:valid" result="pass"/><test-case name="28594ID_length001_1507 tokoe:valid" result="pass"/><test-case name="28595ID_length001_1507.i tokoe:invalid" result="pass"/><test-case name="28596ID_length002_1508 tokoe:valid" result="pass"/><test-case name="28597ID_length002_1508.v tokoe:valid" result="pass"/><test-case name="28598ID_length003_1509 tokoe:valid" result="pass"/><test-case name="28599ID_length003_1509.i tokoe:invalid" result="pass"/><test-case name="28600ID_minLength001_1510 tokoe:valid" result="pass"/><test-case name="28601ID_minLength001_1510.v tokoe:valid" result="pass"/><test-case name="28602ID_minLength002_1511 tokoe:valid" result="pass"/><test-case name="28603ID_minLength002_1511.v tokoe:valid" result="pass"/><test-case name="28604ID_minLength003_1512 tokoe:valid" result="pass"/><test-case name="28605ID_minLength003_1512.i tokoe:invalid" result="pass"/><test-case name="28606ID_minLength004_1513 tokoe:valid" result="pass"/><test-case name="28607ID_minLength004_1513.v tokoe:valid" result="pass"/><test-case name="28608ID_maxLength001_1514 tokoe:valid" result="pass"/><test-case name="28609ID_maxLength001_1514.i tokoe:invalid" result="pass"/><test-case name="28610ID_maxLength002_1515 tokoe:valid" result="pass"/><test-case name="28611ID_maxLength002_1515.v tokoe:valid" result="pass"/><test-case name="28612ID_maxLength003_1516 tokoe:valid" result="pass"/><test-case name="28613ID_maxLength003_1516.v tokoe:valid" result="pass"/><test-case name="28614ID_pattern001_1517 tokoe:valid" result="pass"/><test-case name="28615ID_pattern001_1517.v tokoe:valid" result="pass"/><test-case name="28616ID_enumeration001_1518 tokoe:valid" result="pass"/><test-case name="28617ID_enumeration001_1518.i tokoe:invalid" result="pass"/><test-case name="28618ID_enumeration002_1519 tokoe:valid" result="pass"/><test-case name="28619ID_enumeration002_1519.v tokoe:valid" result="pass"/><test-case name="28620ID_enumeration003_1520 tokoe:valid" result="pass"/><test-case name="28621ID_enumeration003_1520.i tokoe:invalid" result="pass"/><test-case name="28622ID_enumeration004_1521 tokoe:valid" result="pass"/><test-case name="28623ID_enumeration004_1521.v tokoe:valid" result="pass"/><test-case name="28624IDREF_length001_1522 tokoe:valid" result="pass"/><test-case name="28625IDREF_length001_1522.i tokoe:invalid" result="pass"/><test-case name="28626IDREF_length002_1523 tokoe:valid" result="pass"/><test-case name="28627IDREF_length002_1523.v tokoe:valid" result="pass"/><test-case name="28628IDREF_length003_1524 tokoe:valid" result="pass"/><test-case name="28629IDREF_length003_1524.i tokoe:invalid" result="pass"/><test-case name="28630IDREF_minLength001_1525 tokoe:valid" result="pass"/><test-case name="28631IDREF_minLength001_1525.v tokoe:valid" result="pass"/><test-case name="28632IDREF_minLength002_1526 tokoe:valid" result="pass"/><test-case name="28633IDREF_minLength002_1526.v tokoe:valid" result="pass"/><test-case name="28634IDREF_minLength003_1527 tokoe:valid" result="pass"/><test-case name="28635IDREF_minLength003_1527.i tokoe:invalid" result="pass"/><test-case name="28636IDREF_minLength004_1528 tokoe:valid" result="pass"/><test-case name="28637IDREF_minLength004_1528.v tokoe:valid" result="pass"/><test-case name="28638IDREF_maxLength001_1529 tokoe:valid" result="pass"/><test-case name="28639IDREF_maxLength001_1529.i tokoe:invalid" result="pass"/><test-case name="28640IDREF_maxLength002_1530 tokoe:valid" result="pass"/><test-case name="28641IDREF_maxLength002_1530.v tokoe:valid" result="pass"/><test-case name="28642IDREF_maxLength003_1531 tokoe:valid" result="pass"/><test-case name="28643IDREF_maxLength003_1531.v tokoe:valid" result="pass"/><test-case name="28644IDREF_pattern001_1532 tokoe:valid" result="pass"/><test-case name="28645IDREF_pattern001_1532.v tokoe:valid" result="pass"/><test-case name="28646IDREF_enumeration001_1533 tokoe:valid" result="pass"/><test-case name="28647IDREF_enumeration001_1533.i tokoe:invalid" result="pass"/><test-case name="28648IDREF_enumeration002_1534 tokoe:valid" result="pass"/><test-case name="28649IDREF_enumeration002_1534.v tokoe:valid" result="pass"/><test-case name="28650IDREF_enumeration003_1535 tokoe:valid" result="pass"/><test-case name="28651IDREF_enumeration003_1535.i tokoe:invalid" result="pass"/><test-case name="28652IDREF_enumeration004_1536 tokoe:valid" result="pass"/><test-case name="28653IDREF_enumeration004_1536.v tokoe:valid" result="pass"/><test-case name="28654integer_pattern001_1537 tokoe:valid" result="pass"/><test-case name="28655integer_pattern001_1537.v tokoe:valid" result="pass"/><test-case name="28656integer_enumeration001_1538 tokoe:valid" result="pass"/><test-case name="28657integer_enumeration001_1538.i tokoe:invalid" result="pass"/><test-case name="28658integer_enumeration002_1539 tokoe:valid" result="pass"/><test-case name="28659integer_enumeration002_1539.v tokoe:valid" result="pass"/><test-case name="28660integer_enumeration003_1540 tokoe:valid" result="pass"/><test-case name="28661integer_enumeration003_1540.i tokoe:invalid" result="pass"/><test-case name="28662integer_enumeration004_1541 tokoe:valid" result="pass"/><test-case name="28663integer_enumeration004_1541.v tokoe:valid" result="pass"/><test-case name="28664integer_maxInclusive001_1542 tokoe:valid" result="pass"/><test-case name="28665integer_maxInclusive001_1542.v tokoe:valid" result="pass"/><test-case name="28666integer_maxInclusive002_1543 tokoe:valid" result="pass"/><test-case name="28667integer_maxInclusive002_1543.i tokoe:invalid" result="pass"/><test-case name="28668integer_maxInclusive003_1544 tokoe:valid" result="pass"/><test-case name="28669integer_maxInclusive003_1544.v tokoe:valid" result="pass"/><test-case name="28670integer_maxExclusive001_1545 tokoe:valid" result="pass"/><test-case name="28671integer_maxExclusive001_1545.i tokoe:invalid" result="pass"/><test-case name="28672integer_maxExclusive002_1546 tokoe:valid" result="pass"/><test-case name="28673integer_maxExclusive002_1546.i tokoe:invalid" result="pass"/><test-case name="28674integer_maxExclusive003_1547 tokoe:valid" result="pass"/><test-case name="28675integer_maxExclusive003_1547.v tokoe:valid" result="pass"/><test-case name="28676integer_minInclusive001_1548 tokoe:valid" result="pass"/><test-case name="28677integer_minInclusive001_1548.v tokoe:valid" result="pass"/><test-case name="28678integer_minInclusive002_1549 tokoe:valid" result="pass"/><test-case name="28679integer_minInclusive002_1549.i tokoe:invalid" result="pass"/><test-case name="28680integer_minInclusive003_1550 tokoe:valid" result="pass"/><test-case name="28681integer_minInclusive003_1550.v tokoe:valid" result="pass"/><test-case name="28682integer_minInclusive004_1551 tokoe:valid" result="pass"/><test-case name="28683integer_minInclusive004_1551.v tokoe:valid" result="pass"/><test-case name="28684integer_minInclusive005_1552 tokoe:valid" result="pass"/><test-case name="28685integer_minInclusive005_1552.v tokoe:valid" result="pass"/><test-case name="28686integer_minExclusive001_1553 tokoe:valid" result="pass"/><test-case name="28687integer_minExclusive001_1553.i tokoe:invalid" result="pass"/><test-case name="28688integer_minExclusive002_1554 tokoe:valid" result="pass"/><test-case name="28689integer_minExclusive002_1554.i tokoe:invalid" result="pass"/><test-case name="28690integer_minExclusive003_1555 tokoe:valid" result="pass"/><test-case name="28691integer_minExclusive003_1555.v tokoe:valid" result="pass"/><test-case name="28692integer_minExclusive004_1556 tokoe:valid" result="pass"/><test-case name="28693integer_minExclusive004_1556.v tokoe:valid" result="pass"/><test-case name="28694integer_minExclusive005_1557 tokoe:valid" result="pass"/><test-case name="28695integer_minExclusive005_1557.v tokoe:valid" result="pass"/><test-case name="28696integer_totalDigits001_1558 tokoe:valid" result="pass"/><test-case name="28697integer_totalDigits001_1558.i tokoe:invalid" result="pass"/><test-case name="28698integer_totalDigits002_1559 tokoe:valid" result="pass"/><test-case name="28699integer_totalDigits002_1559.v tokoe:valid" result="pass"/><test-case name="28700integer_totalDigits003_1560 tokoe:valid" result="pass"/><test-case name="28701integer_totalDigits003_1560.v tokoe:valid" result="pass"/><test-case name="28702nonPositiveInteger_pattern001_1561 tokoe:valid" result="pass"/><test-case name="28703nonPositiveInteger_pattern001_1561.v tokoe:valid" result="pass"/><test-case name="28704nonPositiveInteger_enumeration001_1562 tokoe:valid" result="pass"/><test-case name="28705nonPositiveInteger_enumeration001_1562.i tokoe:invalid" result="pass"/><test-case name="28706nonPositiveInteger_enumeration002_1563 tokoe:valid" result="pass"/><test-case name="28707nonPositiveInteger_enumeration002_1563.v tokoe:valid" result="pass"/><test-case name="28708nonPositiveInteger_enumeration003_1564 tokoe:valid" result="pass"/><test-case name="28709nonPositiveInteger_enumeration003_1564.i tokoe:invalid" result="pass"/><test-case name="28710nonPositiveInteger_enumeration004_1565 tokoe:valid" result="pass"/><test-case name="28711nonPositiveInteger_enumeration004_1565.v tokoe:valid" result="pass"/><test-case name="28712nonPositiveInteger_maxInclusive001_1566 tokoe:valid" result="pass"/><test-case name="28713nonPositiveInteger_maxInclusive001_1566.v tokoe:valid" result="pass"/><test-case name="28714nonPositiveInteger_maxInclusive002_1567 tokoe:valid" result="pass"/><test-case name="28715nonPositiveInteger_maxInclusive002_1567.i tokoe:invalid" result="pass"/><test-case name="28716nonPositiveInteger_maxInclusive003_1568 tokoe:valid" result="pass"/><test-case name="28717nonPositiveInteger_maxInclusive003_1568.v tokoe:valid" result="pass"/><test-case name="28718nonPositiveInteger_maxExclusive001_1569 tokoe:valid" result="pass"/><test-case name="28719nonPositiveInteger_maxExclusive001_1569.i tokoe:invalid" result="pass"/><test-case name="28720nonPositiveInteger_maxExclusive002_1570 tokoe:valid" result="pass"/><test-case name="28721nonPositiveInteger_maxExclusive002_1570.i tokoe:invalid" result="pass"/><test-case name="28722nonPositiveInteger_maxExclusive003_1571 tokoe:valid" result="pass"/><test-case name="28723nonPositiveInteger_maxExclusive003_1571.v tokoe:valid" result="pass"/><test-case name="28724nonPositiveInteger_minInclusive001_1572 tokoe:valid" result="pass"/><test-case name="28725nonPositiveInteger_minInclusive001_1572.v tokoe:valid" result="pass"/><test-case name="28726nonPositiveInteger_minInclusive002_1573 tokoe:valid" result="pass"/><test-case name="28727nonPositiveInteger_minInclusive002_1573.i tokoe:invalid" result="pass"/><test-case name="28728nonPositiveInteger_minInclusive003_1574 tokoe:valid" result="pass"/><test-case name="28729nonPositiveInteger_minInclusive003_1574.v tokoe:valid" result="pass"/><test-case name="28730nonPositiveInteger_minInclusive004_1575 tokoe:valid" result="pass"/><test-case name="28731nonPositiveInteger_minInclusive004_1575.v tokoe:valid" result="pass"/><test-case name="28732nonPositiveInteger_minInclusive005_1576 tokoe:valid" result="pass"/><test-case name="28733nonPositiveInteger_minInclusive005_1576.v tokoe:valid" result="pass"/><test-case name="28734nonPositiveInteger_minExclusive001_1577 tokoe:valid" result="pass"/><test-case name="28735nonPositiveInteger_minExclusive001_1577.i tokoe:invalid" result="pass"/><test-case name="28736nonPositiveInteger_minExclusive002_1578 tokoe:valid" result="pass"/><test-case name="28737nonPositiveInteger_minExclusive002_1578.i tokoe:invalid" result="pass"/><test-case name="28738nonPositiveInteger_minExclusive003_1579 tokoe:valid" result="pass"/><test-case name="28739nonPositiveInteger_minExclusive003_1579.v tokoe:valid" result="pass"/><test-case name="28740nonPositiveInteger_minExclusive004_1580 tokoe:valid" result="pass"/><test-case name="28741nonPositiveInteger_minExclusive004_1580.v tokoe:valid" result="pass"/><test-case name="28742nonPositiveInteger_minExclusive005_1581 tokoe:valid" result="pass"/><test-case name="28743nonPositiveInteger_minExclusive005_1581.v tokoe:valid" result="pass"/><test-case name="28744nonPositiveInteger_totalDigits001_1582 tokoe:valid" result="pass"/><test-case name="28745nonPositiveInteger_totalDigits001_1582.i tokoe:invalid" result="pass"/><test-case name="28746nonPositiveInteger_totalDigits002_1583 tokoe:valid" result="pass"/><test-case name="28747nonPositiveInteger_totalDigits002_1583.v tokoe:valid" result="pass"/><test-case name="28748nonPositiveInteger_totalDigits003_1584 tokoe:valid" result="pass"/><test-case name="28749nonPositiveInteger_totalDigits003_1584.v tokoe:valid" result="pass"/><test-case name="28750negativeInteger_pattern001_1585 tokoe:valid" result="pass"/><test-case name="28751negativeInteger_pattern001_1585.v tokoe:valid" result="pass"/><test-case name="28752negativeInteger_enumeration001_1586 tokoe:valid" result="pass"/><test-case name="28753negativeInteger_enumeration001_1586.i tokoe:invalid" result="pass"/><test-case name="28754negativeInteger_enumeration002_1587 tokoe:valid" result="pass"/><test-case name="28755negativeInteger_enumeration002_1587.v tokoe:valid" result="pass"/><test-case name="28756negativeInteger_enumeration003_1588 tokoe:valid" result="pass"/><test-case name="28757negativeInteger_enumeration003_1588.i tokoe:invalid" result="pass"/><test-case name="28758negativeInteger_enumeration004_1589 tokoe:valid" result="pass"/><test-case name="28759negativeInteger_enumeration004_1589.v tokoe:valid" result="pass"/><test-case name="28760negativeInteger_maxInclusive001_1590 tokoe:valid" result="pass"/><test-case name="28761negativeInteger_maxInclusive001_1590.v tokoe:valid" result="pass"/><test-case name="28762negativeInteger_maxInclusive002_1591 tokoe:valid" result="pass"/><test-case name="28763negativeInteger_maxInclusive002_1591.i tokoe:invalid" result="pass"/><test-case name="28764negativeInteger_maxInclusive003_1592 tokoe:valid" result="pass"/><test-case name="28765negativeInteger_maxInclusive003_1592.v tokoe:valid" result="pass"/><test-case name="28766negativeInteger_maxExclusive001_1593 tokoe:valid" result="pass"/><test-case name="28767negativeInteger_maxExclusive001_1593.i tokoe:invalid" result="pass"/><test-case name="28768negativeInteger_maxExclusive002_1594 tokoe:valid" result="pass"/><test-case name="28769negativeInteger_maxExclusive002_1594.i tokoe:invalid" result="pass"/><test-case name="28770negativeInteger_maxExclusive003_1595 tokoe:valid" result="pass"/><test-case name="28771negativeInteger_maxExclusive003_1595.v tokoe:valid" result="pass"/><test-case name="28772negativeInteger_minInclusive001_1596 tokoe:valid" result="pass"/><test-case name="28773negativeInteger_minInclusive001_1596.v tokoe:valid" result="pass"/><test-case name="28774negativeInteger_minInclusive002_1597 tokoe:valid" result="pass"/><test-case name="28775negativeInteger_minInclusive002_1597.i tokoe:invalid" result="pass"/><test-case name="28776negativeInteger_minInclusive003_1598 tokoe:valid" result="pass"/><test-case name="28777negativeInteger_minInclusive003_1598.v tokoe:valid" result="pass"/><test-case name="28778negativeInteger_minInclusive004_1599 tokoe:valid" result="pass"/><test-case name="28779negativeInteger_minInclusive004_1599.v tokoe:valid" result="pass"/><test-case name="28780negativeInteger_minInclusive005_1600 tokoe:valid" result="pass"/><test-case name="28781negativeInteger_minInclusive005_1600.v tokoe:valid" result="pass"/><test-case name="28782negativeInteger_minExclusive001_1601 tokoe:valid" result="pass"/><test-case name="28783negativeInteger_minExclusive001_1601.i tokoe:invalid" result="pass"/><test-case name="28784negativeInteger_minExclusive002_1602 tokoe:valid" result="pass"/><test-case name="28785negativeInteger_minExclusive002_1602.i tokoe:invalid" result="pass"/><test-case name="28786negativeInteger_minExclusive003_1603 tokoe:valid" result="pass"/><test-case name="28787negativeInteger_minExclusive003_1603.v tokoe:valid" result="pass"/><test-case name="28788negativeInteger_minExclusive004_1604 tokoe:valid" result="pass"/><test-case name="28789negativeInteger_minExclusive004_1604.v tokoe:valid" result="pass"/><test-case name="28790negativeInteger_minExclusive005_1605 tokoe:valid" result="pass"/><test-case name="28791negativeInteger_minExclusive005_1605.v tokoe:valid" result="pass"/><test-case name="28792negativeInteger_totalDigits001_1606 tokoe:valid" result="pass"/><test-case name="28793negativeInteger_totalDigits001_1606.i tokoe:invalid" result="pass"/><test-case name="28794negativeInteger_totalDigits002_1607 tokoe:valid" result="pass"/><test-case name="28795negativeInteger_totalDigits002_1607.v tokoe:valid" result="pass"/><test-case name="28796negativeInteger_totalDigits003_1608 tokoe:valid" result="pass"/><test-case name="28797negativeInteger_totalDigits003_1608.v tokoe:valid" result="pass"/><test-case name="28798long_pattern001_1609 tokoe:valid" result="pass"/><test-case name="28799long_pattern001_1609.v tokoe:valid" result="pass"/><test-case name="28800long_enumeration001_1610 tokoe:valid" result="pass"/><test-case name="28801long_enumeration001_1610.i tokoe:invalid" result="pass"/><test-case name="28802long_enumeration002_1611 tokoe:valid" result="pass"/><test-case name="28803long_enumeration002_1611.v tokoe:valid" result="pass"/><test-case name="28804long_enumeration003_1612 tokoe:valid" result="pass"/><test-case name="28805long_enumeration003_1612.i tokoe:invalid" result="pass"/><test-case name="28806long_enumeration004_1613 tokoe:valid" result="pass"/><test-case name="28807long_enumeration004_1613.v tokoe:valid" result="pass"/><test-case name="28808long_maxInclusive001_1614 tokoe:valid" result="pass"/><test-case name="28809long_maxInclusive001_1614.v tokoe:valid" result="pass"/><test-case name="28810long_maxInclusive002_1615 tokoe:valid" result="pass"/><test-case name="28811long_maxInclusive002_1615.i tokoe:invalid" result="pass"/><test-case name="28812long_maxInclusive003_1616 tokoe:valid" result="pass"/><test-case name="28813long_maxInclusive003_1616.v tokoe:valid" result="pass"/><test-case name="28814long_maxExclusive001_1617 tokoe:valid" result="pass"/><test-case name="28815long_maxExclusive001_1617.i tokoe:invalid" result="pass"/><test-case name="28816long_maxExclusive002_1618 tokoe:valid" result="pass"/><test-case name="28817long_maxExclusive002_1618.i tokoe:invalid" result="pass"/><test-case name="28818long_maxExclusive003_1619 tokoe:valid" result="pass"/><test-case name="28819long_maxExclusive003_1619.v tokoe:valid" result="pass"/><test-case name="28820long_minInclusive001_1620 tokoe:valid" result="pass"/><test-case name="28821long_minInclusive001_1620.v tokoe:valid" result="pass"/><test-case name="28822long_minInclusive002_1621 tokoe:valid" result="pass"/><test-case name="28823long_minInclusive002_1621.i tokoe:invalid" result="pass"/><test-case name="28824long_minInclusive003_1622 tokoe:valid" result="pass"/><test-case name="28825long_minInclusive003_1622.v tokoe:valid" result="pass"/><test-case name="28826long_minInclusive004_1623 tokoe:valid" result="pass"/><test-case name="28827long_minInclusive004_1623.v tokoe:valid" result="pass"/><test-case name="28828long_minInclusive005_1624 tokoe:valid" result="pass"/><test-case name="28829long_minInclusive005_1624.v tokoe:valid" result="pass"/><test-case name="28830long_minExclusive001_1625 tokoe:valid" result="pass"/><test-case name="28831long_minExclusive001_1625.i tokoe:invalid" result="pass"/><test-case name="28832long_minExclusive002_1626 tokoe:valid" result="pass"/><test-case name="28833long_minExclusive002_1626.i tokoe:invalid" result="pass"/><test-case name="28834long_minExclusive003_1627 tokoe:valid" result="pass"/><test-case name="28835long_minExclusive003_1627.v tokoe:valid" result="pass"/><test-case name="28836long_minExclusive004_1628 tokoe:valid" result="pass"/><test-case name="28837long_minExclusive004_1628.v tokoe:valid" result="pass"/><test-case name="28838long_minExclusive005_1629 tokoe:valid" result="pass"/><test-case name="28839long_minExclusive005_1629.v tokoe:valid" result="pass"/><test-case name="28840long_totalDigits001_1630 tokoe:valid" result="pass"/><test-case name="28841long_totalDigits001_1630.i tokoe:invalid" result="pass"/><test-case name="28842long_totalDigits002_1631 tokoe:valid" result="pass"/><test-case name="28843long_totalDigits002_1631.v tokoe:valid" result="pass"/><test-case name="28844long_totalDigits003_1632 tokoe:valid" result="pass"/><test-case name="28845long_totalDigits003_1632.v tokoe:valid" result="pass"/><test-case name="28846int_pattern001_1633 tokoe:valid" result="pass"/><test-case name="28847int_pattern001_1633.v tokoe:valid" result="pass"/><test-case name="28848int_enumeration001_1634 tokoe:valid" result="pass"/><test-case name="28849int_enumeration001_1634.i tokoe:invalid" result="pass"/><test-case name="28850int_enumeration002_1635 tokoe:valid" result="pass"/><test-case name="28851int_enumeration002_1635.v tokoe:valid" result="pass"/><test-case name="28852int_enumeration003_1636 tokoe:valid" result="pass"/><test-case name="28853int_enumeration003_1636.i tokoe:invalid" result="pass"/><test-case name="28854int_enumeration004_1637 tokoe:valid" result="pass"/><test-case name="28855int_enumeration004_1637.v tokoe:valid" result="pass"/><test-case name="28856int_maxInclusive001_1638 tokoe:valid" result="pass"/><test-case name="28857int_maxInclusive001_1638.v tokoe:valid" result="pass"/><test-case name="28858int_maxInclusive002_1639 tokoe:valid" result="pass"/><test-case name="28859int_maxInclusive002_1639.i tokoe:invalid" result="pass"/><test-case name="28860int_maxInclusive003_1640 tokoe:valid" result="pass"/><test-case name="28861int_maxInclusive003_1640.v tokoe:valid" result="pass"/><test-case name="28862int_maxExclusive001_1641 tokoe:valid" result="pass"/><test-case name="28863int_maxExclusive001_1641.i tokoe:invalid" result="pass"/><test-case name="28864int_maxExclusive002_1642 tokoe:valid" result="pass"/><test-case name="28865int_maxExclusive002_1642.i tokoe:invalid" result="pass"/><test-case name="28866int_maxExclusive003_1643 tokoe:valid" result="pass"/><test-case name="28867int_maxExclusive003_1643.v tokoe:valid" result="pass"/><test-case name="28868int_minInclusive001_1644 tokoe:valid" result="pass"/><test-case name="28869int_minInclusive001_1644.v tokoe:valid" result="pass"/><test-case name="28870int_minInclusive002_1645 tokoe:valid" result="pass"/><test-case name="28871int_minInclusive002_1645.i tokoe:invalid" result="pass"/><test-case name="28872int_minInclusive003_1646 tokoe:valid" result="pass"/><test-case name="28873int_minInclusive003_1646.v tokoe:valid" result="pass"/><test-case name="28874int_minInclusive004_1647 tokoe:valid" result="pass"/><test-case name="28875int_minInclusive004_1647.v tokoe:valid" result="pass"/><test-case name="28876int_minInclusive005_1648 tokoe:valid" result="pass"/><test-case name="28877int_minInclusive005_1648.v tokoe:valid" result="pass"/><test-case name="28878int_minExclusive001_1649 tokoe:valid" result="pass"/><test-case name="28879int_minExclusive001_1649.i tokoe:invalid" result="pass"/><test-case name="28880int_minExclusive002_1650 tokoe:valid" result="pass"/><test-case name="28881int_minExclusive002_1650.i tokoe:invalid" result="pass"/><test-case name="28882int_minExclusive003_1651 tokoe:valid" result="pass"/><test-case name="28883int_minExclusive003_1651.v tokoe:valid" result="pass"/><test-case name="28884int_minExclusive004_1652 tokoe:valid" result="pass"/><test-case name="28885int_minExclusive004_1652.v tokoe:valid" result="pass"/><test-case name="28886int_minExclusive005_1653 tokoe:valid" result="pass"/><test-case name="28887int_minExclusive005_1653.v tokoe:valid" result="pass"/><test-case name="28888int_totalDigits001_1654 tokoe:valid" result="pass"/><test-case name="28889int_totalDigits001_1654.i tokoe:invalid" result="pass"/><test-case name="28890int_totalDigits002_1655 tokoe:valid" result="pass"/><test-case name="28891int_totalDigits002_1655.v tokoe:valid" result="pass"/><test-case name="28892int_totalDigits003_1656 tokoe:valid" result="pass"/><test-case name="28893int_totalDigits003_1656.v tokoe:valid" result="pass"/><test-case name="28894test111092_1657 tokoe:valid" result="pass"/><test-case name="28895test111092_1657.i tokoe:invalid" result="pass"/><test-case name="28896short_pattern001_1658 tokoe:valid" result="pass"/><test-case name="28897short_pattern001_1658.v tokoe:valid" result="pass"/><test-case name="28898short_enumeration001_1659 tokoe:valid" result="pass"/><test-case name="28899short_enumeration001_1659.i tokoe:invalid" result="pass"/><test-case name="28900short_enumeration002_1660 tokoe:valid" result="pass"/><test-case name="28901short_enumeration002_1660.v tokoe:valid" result="pass"/><test-case name="28902short_enumeration003_1661 tokoe:valid" result="pass"/><test-case name="28903short_enumeration003_1661.i tokoe:invalid" result="pass"/><test-case name="28904short_enumeration004_1662 tokoe:valid" result="pass"/><test-case name="28905short_enumeration004_1662.v tokoe:valid" result="pass"/><test-case name="28906short_maxInclusive001_1663 tokoe:valid" result="pass"/><test-case name="28907short_maxInclusive001_1663.v tokoe:valid" result="pass"/><test-case name="28908short_maxInclusive002_1664 tokoe:valid" result="pass"/><test-case name="28909short_maxInclusive002_1664.i tokoe:invalid" result="pass"/><test-case name="28910short_maxInclusive003_1665 tokoe:valid" result="pass"/><test-case name="28911short_maxInclusive003_1665.v tokoe:valid" result="pass"/><test-case name="28912short_maxExclusive001_1666 tokoe:valid" result="pass"/><test-case name="28913short_maxExclusive001_1666.i tokoe:invalid" result="pass"/><test-case name="28914short_maxExclusive002_1667 tokoe:valid" result="pass"/><test-case name="28915short_maxExclusive002_1667.i tokoe:invalid" result="pass"/><test-case name="28916short_maxExclusive003_1668 tokoe:valid" result="pass"/><test-case name="28917short_maxExclusive003_1668.v tokoe:valid" result="pass"/><test-case name="28918short_minInclusive001_1669 tokoe:valid" result="pass"/><test-case name="28919short_minInclusive001_1669.v tokoe:valid" result="pass"/><test-case name="28920short_minInclusive002_1670 tokoe:valid" result="pass"/><test-case name="28921short_minInclusive002_1670.i tokoe:invalid" result="pass"/><test-case name="28922short_minInclusive003_1671 tokoe:valid" result="pass"/><test-case name="28923short_minInclusive003_1671.v tokoe:valid" result="pass"/><test-case name="28924short_minInclusive004_1672 tokoe:valid" result="pass"/><test-case name="28925short_minInclusive004_1672.v tokoe:valid" result="pass"/><test-case name="28926short_minInclusive005_1673 tokoe:valid" result="pass"/><test-case name="28927short_minInclusive005_1673.v tokoe:valid" result="pass"/><test-case name="28928short_minExclusive001_1674 tokoe:valid" result="pass"/><test-case name="28929short_minExclusive001_1674.i tokoe:invalid" result="pass"/><test-case name="28930short_minExclusive002_1675 tokoe:valid" result="pass"/><test-case name="28931short_minExclusive002_1675.i tokoe:invalid" result="pass"/><test-case name="28932short_minExclusive003_1676 tokoe:valid" result="pass"/><test-case name="28933short_minExclusive003_1676.v tokoe:valid" result="pass"/><test-case name="28934short_minExclusive004_1677 tokoe:valid" result="pass"/><test-case name="28935short_minExclusive004_1677.v tokoe:valid" result="pass"/><test-case name="28936short_minExclusive005_1678 tokoe:valid" result="pass"/><test-case name="28937short_minExclusive005_1678.v tokoe:valid" result="pass"/><test-case name="28938short_totalDigits001_1679 tokoe:valid" result="pass"/><test-case name="28939short_totalDigits001_1679.i tokoe:invalid" result="pass"/><test-case name="28940short_totalDigits002_1680 tokoe:valid" result="pass"/><test-case name="28941short_totalDigits002_1680.v tokoe:valid" result="pass"/><test-case name="28942short_totalDigits003_1681 tokoe:valid" result="pass"/><test-case name="28943short_totalDigits003_1681.v tokoe:valid" result="pass"/><test-case name="28944byte_pattern001_1682 tokoe:valid" result="pass"/><test-case name="28945byte_pattern001_1682.v tokoe:valid" result="pass"/><test-case name="28946byte_enumeration001_1683 tokoe:valid" result="pass"/><test-case name="28947byte_enumeration001_1683.i tokoe:invalid" result="pass"/><test-case name="28948byte_enumeration002_1684 tokoe:valid" result="pass"/><test-case name="28949byte_enumeration002_1684.v tokoe:valid" result="pass"/><test-case name="28950byte_enumeration003_1685 tokoe:valid" result="pass"/><test-case name="28951byte_enumeration003_1685.i tokoe:invalid" result="pass"/><test-case name="28952byte_enumeration004_1686 tokoe:valid" result="pass"/><test-case name="28953byte_enumeration004_1686.v tokoe:valid" result="pass"/><test-case name="28954byte_maxInclusive001_1687 tokoe:valid" result="pass"/><test-case name="28955byte_maxInclusive001_1687.v tokoe:valid" result="pass"/><test-case name="28956byte_maxInclusive002_1688 tokoe:valid" result="pass"/><test-case name="28957byte_maxInclusive002_1688.i tokoe:invalid" result="pass"/><test-case name="28958byte_maxInclusive003_1689 tokoe:valid" result="pass"/><test-case name="28959byte_maxInclusive003_1689.v tokoe:valid" result="pass"/><test-case name="28960byte_maxExclusive001_1690 tokoe:valid" result="pass"/><test-case name="28961byte_maxExclusive001_1690.i tokoe:invalid" result="pass"/><test-case name="28962byte_maxExclusive002_1691 tokoe:valid" result="pass"/><test-case name="28963byte_maxExclusive002_1691.i tokoe:invalid" result="pass"/><test-case name="28964byte_maxExclusive003_1692 tokoe:valid" result="pass"/><test-case name="28965byte_maxExclusive003_1692.v tokoe:valid" result="pass"/><test-case name="28966byte_minInclusive001_1693 tokoe:valid" result="pass"/><test-case name="28967byte_minInclusive001_1693.v tokoe:valid" result="pass"/><test-case name="28968byte_minInclusive002_1694 tokoe:valid" result="pass"/><test-case name="28969byte_minInclusive002_1694.i tokoe:invalid" result="pass"/><test-case name="28970byte_minInclusive003_1695 tokoe:valid" result="pass"/><test-case name="28971byte_minInclusive003_1695.v tokoe:valid" result="pass"/><test-case name="28972byte_minInclusive004_1696 tokoe:valid" result="pass"/><test-case name="28973byte_minInclusive004_1696.v tokoe:valid" result="pass"/><test-case name="28974byte_minInclusive005_1697 tokoe:valid" result="pass"/><test-case name="28975byte_minInclusive005_1697.v tokoe:valid" result="pass"/><test-case name="28976byte_minExclusive001_1698 tokoe:valid" result="pass"/><test-case name="28977byte_minExclusive001_1698.i tokoe:invalid" result="pass"/><test-case name="28978byte_minExclusive002_1699 tokoe:valid" result="pass"/><test-case name="28979byte_minExclusive002_1699.i tokoe:invalid" result="pass"/><test-case name="28980byte_minExclusive003_1700 tokoe:valid" result="pass"/><test-case name="28981byte_minExclusive003_1700.v tokoe:valid" result="pass"/><test-case name="28982byte_minExclusive004_1701 tokoe:valid" result="pass"/><test-case name="28983byte_minExclusive004_1701.v tokoe:valid" result="pass"/><test-case name="28984byte_minExclusive005_1702 tokoe:valid" result="pass"/><test-case name="28985byte_minExclusive005_1702.v tokoe:valid" result="pass"/><test-case name="28986byte_totalDigits001_1703 tokoe:valid" result="pass"/><test-case name="28987byte_totalDigits001_1703.i tokoe:invalid" result="pass"/><test-case name="28988byte_totalDigits002_1704 tokoe:valid" result="pass"/><test-case name="28989byte_totalDigits002_1704.v tokoe:valid" result="pass"/><test-case name="28990byte_totalDigits003_1705 tokoe:valid" result="pass"/><test-case name="28991byte_totalDigits003_1705.v tokoe:valid" result="pass"/><test-case name="28992nonNegativeInteger_pattern001_1706 tokoe:valid" result="pass"/><test-case name="28993nonNegativeInteger_pattern001_1706.v tokoe:valid" result="pass"/><test-case name="28994nonNegativeInteger_enumeration001_1707 tokoe:valid" result="pass"/><test-case name="28995nonNegativeInteger_enumeration001_1707.i tokoe:invalid" result="pass"/><test-case name="28996nonNegativeInteger_enumeration002_1708 tokoe:valid" result="pass"/><test-case name="28997nonNegativeInteger_enumeration002_1708.v tokoe:valid" result="pass"/><test-case name="28998nonNegativeInteger_enumeration003_1709 tokoe:valid" result="pass"/><test-case name="28999nonNegativeInteger_enumeration003_1709.i tokoe:invalid" result="pass"/><test-case name="29000nonNegativeInteger_enumeration004_1710 tokoe:valid" result="pass"/><test-case name="29001nonNegativeInteger_enumeration004_1710.v tokoe:valid" result="pass"/><test-case name="29002nonNegativeInteger_maxInclusive001_1711 tokoe:valid" result="pass"/><test-case name="29003nonNegativeInteger_maxInclusive001_1711.v tokoe:valid" result="pass"/><test-case name="29004nonNegativeInteger_maxInclusive002_1712 tokoe:valid" result="pass"/><test-case name="29005nonNegativeInteger_maxInclusive002_1712.i tokoe:invalid" result="pass"/><test-case name="29006nonNegativeInteger_maxInclusive003_1713 tokoe:valid" result="pass"/><test-case name="29007nonNegativeInteger_maxInclusive003_1713.v tokoe:valid" result="pass"/><test-case name="29008nonNegativeInteger_maxExclusive001_1714 tokoe:valid" result="pass"/><test-case name="29009nonNegativeInteger_maxExclusive001_1714.i tokoe:invalid" result="pass"/><test-case name="29010nonNegativeInteger_maxExclusive002_1715 tokoe:valid" result="pass"/><test-case name="29011nonNegativeInteger_maxExclusive002_1715.i tokoe:invalid" result="pass"/><test-case name="29012nonNegativeInteger_maxExclusive003_1716 tokoe:valid" result="pass"/><test-case name="29013nonNegativeInteger_maxExclusive003_1716.v tokoe:valid" result="pass"/><test-case name="29014nonNegativeInteger_minInclusive001_1717 tokoe:valid" result="pass"/><test-case name="29015nonNegativeInteger_minInclusive001_1717.v tokoe:valid" result="pass"/><test-case name="29016nonNegativeInteger_minInclusive002_1718 tokoe:valid" result="pass"/><test-case name="29017nonNegativeInteger_minInclusive002_1718.i tokoe:invalid" result="pass"/><test-case name="29018nonNegativeInteger_minInclusive003_1719 tokoe:valid" result="pass"/><test-case name="29019nonNegativeInteger_minInclusive003_1719.v tokoe:valid" result="pass"/><test-case name="29020nonNegativeInteger_minInclusive004_1720 tokoe:valid" result="pass"/><test-case name="29021nonNegativeInteger_minInclusive004_1720.v tokoe:valid" result="pass"/><test-case name="29022nonNegativeInteger_minInclusive005_1721 tokoe:valid" result="pass"/><test-case name="29023nonNegativeInteger_minInclusive005_1721.v tokoe:valid" result="pass"/><test-case name="29024nonNegativeInteger_minExclusive001_1722 tokoe:valid" result="pass"/><test-case name="29025nonNegativeInteger_minExclusive001_1722.i tokoe:invalid" result="pass"/><test-case name="29026nonNegativeInteger_minExclusive002_1723 tokoe:valid" result="pass"/><test-case name="29027nonNegativeInteger_minExclusive002_1723.i tokoe:invalid" result="pass"/><test-case name="29028nonNegativeInteger_minExclusive003_1724 tokoe:valid" result="pass"/><test-case name="29029nonNegativeInteger_minExclusive003_1724.v tokoe:valid" result="pass"/><test-case name="29030nonNegativeInteger_minExclusive004_1725 tokoe:valid" result="pass"/><test-case name="29031nonNegativeInteger_minExclusive004_1725.v tokoe:valid" result="pass"/><test-case name="29032nonNegativeInteger_minExclusive005_1726 tokoe:valid" result="pass"/><test-case name="29033nonNegativeInteger_minExclusive005_1726.v tokoe:valid" result="pass"/><test-case name="29034nonNegativeInteger_totalDigits001_1727 tokoe:valid" result="pass"/><test-case name="29035nonNegativeInteger_totalDigits001_1727.i tokoe:invalid" result="pass"/><test-case name="29036nonNegativeInteger_totalDigits002_1728 tokoe:valid" result="pass"/><test-case name="29037nonNegativeInteger_totalDigits002_1728.v tokoe:valid" result="pass"/><test-case name="29038nonNegativeInteger_totalDigits003_1729 tokoe:valid" result="pass"/><test-case name="29039nonNegativeInteger_totalDigits003_1729.v tokoe:valid" result="pass"/><test-case name="29040unsignedLong_pattern001_1730 tokoe:valid" result="pass"/><test-case name="29041unsignedLong_pattern001_1730.v tokoe:valid" result="pass"/><test-case name="29042unsignedLong_enumeration001_1731 tokoe:valid" result="pass"/><test-case name="29043unsignedLong_enumeration001_1731.i tokoe:invalid" result="pass"/><test-case name="29044unsignedLong_enumeration002_1732 tokoe:valid" result="pass"/><test-case name="29045unsignedLong_enumeration002_1732.v tokoe:valid" result="pass"/><test-case name="29046unsignedLong_enumeration003_1733 tokoe:valid" result="pass"/><test-case name="29047unsignedLong_enumeration003_1733.i tokoe:invalid" result="pass"/><test-case name="29048unsignedLong_enumeration004_1734 tokoe:valid" result="pass"/><test-case name="29049unsignedLong_enumeration004_1734.v tokoe:valid" result="pass"/><test-case name="29050unsignedLong_maxInclusive001_1735 tokoe:valid" result="pass"/><test-case name="29051unsignedLong_maxInclusive001_1735.v tokoe:valid" result="pass"/><test-case name="29052unsignedLong_maxInclusive002_1736 tokoe:valid" result="pass"/><test-case name="29053unsignedLong_maxInclusive002_1736.i tokoe:invalid" result="pass"/><test-case name="29054unsignedLong_maxInclusive003_1737 tokoe:valid" result="pass"/><test-case name="29055unsignedLong_maxInclusive003_1737.v tokoe:valid" result="pass"/><test-case name="29056unsignedLong_maxExclusive001_1738 tokoe:valid" result="pass"/><test-case name="29057unsignedLong_maxExclusive001_1738.i tokoe:invalid" result="pass"/><test-case name="29058unsignedLong_maxExclusive002_1739 tokoe:valid" result="pass"/><test-case name="29059unsignedLong_maxExclusive002_1739.i tokoe:invalid" result="pass"/><test-case name="29060unsignedLong_maxExclusive003_1740 tokoe:valid" result="pass"/><test-case name="29061unsignedLong_maxExclusive003_1740.v tokoe:valid" result="pass"/><test-case name="29062unsignedLong_minInclusive001_1741 tokoe:valid" result="pass"/><test-case name="29063unsignedLong_minInclusive001_1741.v tokoe:valid" result="pass"/><test-case name="29064unsignedLong_minInclusive002_1742 tokoe:valid" result="pass"/><test-case name="29065unsignedLong_minInclusive002_1742.i tokoe:invalid" result="pass"/><test-case name="29066unsignedLong_minInclusive003_1743 tokoe:valid" result="pass"/><test-case name="29067unsignedLong_minInclusive003_1743.v tokoe:valid" result="pass"/><test-case name="29068unsignedLong_minInclusive004_1744 tokoe:valid" result="pass"/><test-case name="29069unsignedLong_minInclusive004_1744.v tokoe:valid" result="pass"/><test-case name="29070unsignedLong_minInclusive005_1745 tokoe:valid" result="pass"/><test-case name="29071unsignedLong_minInclusive005_1745.v tokoe:valid" result="pass"/><test-case name="29072unsignedLong_minExclusive001_1746 tokoe:valid" result="pass"/><test-case name="29073unsignedLong_minExclusive001_1746.i tokoe:invalid" result="pass"/><test-case name="29074unsignedLong_minExclusive002_1747 tokoe:valid" result="pass"/><test-case name="29075unsignedLong_minExclusive002_1747.i tokoe:invalid" result="pass"/><test-case name="29076unsignedLong_minExclusive003_1748 tokoe:valid" result="pass"/><test-case name="29077unsignedLong_minExclusive003_1748.v tokoe:valid" result="pass"/><test-case name="29078unsignedLong_minExclusive004_1749 tokoe:valid" result="pass"/><test-case name="29079unsignedLong_minExclusive004_1749.v tokoe:valid" result="pass"/><test-case name="29080unsignedLong_minExclusive005_1750 tokoe:valid" result="pass"/><test-case name="29081unsignedLong_minExclusive005_1750.v tokoe:valid" result="pass"/><test-case name="29082unsignedLong_totalDigits001_1751 tokoe:valid" result="pass"/><test-case name="29083unsignedLong_totalDigits001_1751.i tokoe:invalid" result="pass"/><test-case name="29084unsignedLong_totalDigits002_1752 tokoe:valid" result="pass"/><test-case name="29085unsignedLong_totalDigits002_1752.v tokoe:valid" result="pass"/><test-case name="29086unsignedLong_totalDigits003_1753 tokoe:valid" result="pass"/><test-case name="29087unsignedLong_totalDigits003_1753.v tokoe:valid" result="pass"/><test-case name="29088unsignedInt_pattern001_1754 tokoe:valid" result="pass"/><test-case name="29089unsignedInt_pattern001_1754.v tokoe:valid" result="pass"/><test-case name="29090unsignedInt_enumeration001_1755 tokoe:valid" result="pass"/><test-case name="29091unsignedInt_enumeration001_1755.i tokoe:invalid" result="pass"/><test-case name="29092unsignedInt_enumeration002_1756 tokoe:valid" result="pass"/><test-case name="29093unsignedInt_enumeration002_1756.v tokoe:valid" result="pass"/><test-case name="29094unsignedInt_enumeration003_1757 tokoe:valid" result="pass"/><test-case name="29095unsignedInt_enumeration003_1757.i tokoe:invalid" result="pass"/><test-case name="29096unsignedInt_enumeration004_1758 tokoe:valid" result="pass"/><test-case name="29097unsignedInt_enumeration004_1758.v tokoe:valid" result="pass"/><test-case name="29098unsignedInt_maxInclusive001_1759 tokoe:valid" result="pass"/><test-case name="29099unsignedInt_maxInclusive001_1759.v tokoe:valid" result="pass"/><test-case name="29100unsignedInt_maxInclusive002_1760 tokoe:valid" result="pass"/><test-case name="29101unsignedInt_maxInclusive002_1760.i tokoe:invalid" result="pass"/><test-case name="29102unsignedInt_maxInclusive003_1761 tokoe:valid" result="pass"/><test-case name="29103unsignedInt_maxInclusive003_1761.v tokoe:valid" result="pass"/><test-case name="29104unsignedInt_maxExclusive001_1762 tokoe:valid" result="pass"/><test-case name="29105unsignedInt_maxExclusive001_1762.i tokoe:invalid" result="pass"/><test-case name="29106unsignedInt_maxExclusive002_1763 tokoe:valid" result="pass"/><test-case name="29107unsignedInt_maxExclusive002_1763.i tokoe:invalid" result="pass"/><test-case name="29108unsignedInt_maxExclusive003_1764 tokoe:valid" result="pass"/><test-case name="29109unsignedInt_maxExclusive003_1764.v tokoe:valid" result="pass"/><test-case name="29110unsignedInt_minInclusive001_1765 tokoe:valid" result="pass"/><test-case name="29111unsignedInt_minInclusive001_1765.v tokoe:valid" result="pass"/><test-case name="29112unsignedInt_minInclusive002_1766 tokoe:valid" result="pass"/><test-case name="29113unsignedInt_minInclusive002_1766.i tokoe:invalid" result="pass"/><test-case name="29114unsignedInt_minInclusive003_1767 tokoe:valid" result="pass"/><test-case name="29115unsignedInt_minInclusive003_1767.v tokoe:valid" result="pass"/><test-case name="29116unsignedInt_minInclusive004_1768 tokoe:valid" result="pass"/><test-case name="29117unsignedInt_minInclusive004_1768.v tokoe:valid" result="pass"/><test-case name="29118unsignedInt_minInclusive005_1769 tokoe:valid" result="pass"/><test-case name="29119unsignedInt_minInclusive005_1769.v tokoe:valid" result="pass"/><test-case name="29120unsignedInt_minExclusive001_1770 tokoe:valid" result="pass"/><test-case name="29121unsignedInt_minExclusive001_1770.i tokoe:invalid" result="pass"/><test-case name="29122unsignedInt_minExclusive002_1771 tokoe:valid" result="pass"/><test-case name="29123unsignedInt_minExclusive002_1771.i tokoe:invalid" result="pass"/><test-case name="29124unsignedInt_minExclusive003_1772 tokoe:valid" result="pass"/><test-case name="29125unsignedInt_minExclusive003_1772.v tokoe:valid" result="pass"/><test-case name="29126unsignedInt_minExclusive004_1773 tokoe:valid" result="pass"/><test-case name="29127unsignedInt_minExclusive004_1773.v tokoe:valid" result="pass"/><test-case name="29128unsignedInt_minExclusive005_1774 tokoe:valid" result="pass"/><test-case name="29129unsignedInt_minExclusive005_1774.v tokoe:valid" result="pass"/><test-case name="29130unsignedInt_totalDigits001_1775 tokoe:valid" result="pass"/><test-case name="29131unsignedInt_totalDigits001_1775.i tokoe:invalid" result="pass"/><test-case name="29132unsignedInt_totalDigits002_1776 tokoe:valid" result="pass"/><test-case name="29133unsignedInt_totalDigits002_1776.v tokoe:valid" result="pass"/><test-case name="29134unsignedInt_totalDigits003_1777 tokoe:valid" result="pass"/><test-case name="29135unsignedInt_totalDigits003_1777.v tokoe:valid" result="pass"/><test-case name="29136unsignedShort_pattern001_1778 tokoe:valid" result="pass"/><test-case name="29137unsignedShort_pattern001_1778.v tokoe:valid" result="pass"/><test-case name="29138unsignedShort_enumeration001_1779 tokoe:valid" result="pass"/><test-case name="29139unsignedShort_enumeration001_1779.i tokoe:invalid" result="pass"/><test-case name="29140unsignedShort_enumeration002_1780 tokoe:valid" result="pass"/><test-case name="29141unsignedShort_enumeration002_1780.v tokoe:valid" result="pass"/><test-case name="29142unsignedShort_enumeration003_1781 tokoe:valid" result="pass"/><test-case name="29143unsignedShort_enumeration003_1781.i tokoe:invalid" result="pass"/><test-case name="29144unsignedShort_enumeration004_1782 tokoe:valid" result="pass"/><test-case name="29145unsignedShort_enumeration004_1782.v tokoe:valid" result="pass"/><test-case name="29146unsignedShort_maxInclusive001_1783 tokoe:valid" result="pass"/><test-case name="29147unsignedShort_maxInclusive001_1783.v tokoe:valid" result="pass"/><test-case name="29148unsignedShort_maxInclusive002_1784 tokoe:valid" result="pass"/><test-case name="29149unsignedShort_maxInclusive002_1784.i tokoe:invalid" result="pass"/><test-case name="29150unsignedShort_maxInclusive003_1785 tokoe:valid" result="pass"/><test-case name="29151unsignedShort_maxInclusive003_1785.v tokoe:valid" result="pass"/><test-case name="29152unsignedShort_maxExclusive001_1786 tokoe:valid" result="pass"/><test-case name="29153unsignedShort_maxExclusive001_1786.i tokoe:invalid" result="pass"/><test-case name="29154unsignedShort_maxExclusive002_1787 tokoe:valid" result="pass"/><test-case name="29155unsignedShort_maxExclusive002_1787.i tokoe:invalid" result="pass"/><test-case name="29156unsignedShort_maxExclusive003_1788 tokoe:valid" result="pass"/><test-case name="29157unsignedShort_maxExclusive003_1788.v tokoe:valid" result="pass"/><test-case name="29158unsignedShort_minInclusive001_1789 tokoe:valid" result="pass"/><test-case name="29159unsignedShort_minInclusive001_1789.v tokoe:valid" result="pass"/><test-case name="29160unsignedShort_minInclusive002_1790 tokoe:valid" result="pass"/><test-case name="29161unsignedShort_minInclusive002_1790.i tokoe:invalid" result="pass"/><test-case name="29162unsignedShort_minInclusive003_1791 tokoe:valid" result="pass"/><test-case name="29163unsignedShort_minInclusive003_1791.v tokoe:valid" result="pass"/><test-case name="29164unsignedShort_minInclusive004_1792 tokoe:valid" result="pass"/><test-case name="29165unsignedShort_minInclusive004_1792.v tokoe:valid" result="pass"/><test-case name="29166unsignedShort_minInclusive005_1793 tokoe:valid" result="pass"/><test-case name="29167unsignedShort_minInclusive005_1793.v tokoe:valid" result="pass"/><test-case name="29168unsignedShort_minExclusive001_1794 tokoe:valid" result="pass"/><test-case name="29169unsignedShort_minExclusive001_1794.i tokoe:invalid" result="pass"/><test-case name="29170unsignedShort_minExclusive002_1795 tokoe:valid" result="pass"/><test-case name="29171unsignedShort_minExclusive002_1795.i tokoe:invalid" result="pass"/><test-case name="29172unsignedShort_minExclusive003_1796 tokoe:valid" result="pass"/><test-case name="29173unsignedShort_minExclusive003_1796.v tokoe:valid" result="pass"/><test-case name="29174unsignedShort_minExclusive004_1797 tokoe:valid" result="pass"/><test-case name="29175unsignedShort_minExclusive004_1797.v tokoe:valid" result="pass"/><test-case name="29176unsignedShort_minExclusive005_1798 tokoe:valid" result="pass"/><test-case name="29177unsignedShort_minExclusive005_1798.v tokoe:valid" result="pass"/><test-case name="29178unsignedShort_totalDigits001_1799 tokoe:valid" result="pass"/><test-case name="29179unsignedShort_totalDigits001_1799.i tokoe:invalid" result="pass"/><test-case name="29180unsignedShort_totalDigits002_1800 tokoe:valid" result="pass"/><test-case name="29181unsignedShort_totalDigits002_1800.v tokoe:valid" result="pass"/><test-case name="29182unsignedShort_totalDigits003_1801 tokoe:valid" result="pass"/><test-case name="29183unsignedShort_totalDigits003_1801.v tokoe:valid" result="pass"/><test-case name="29184unsignedByte_pattern001_1802 tokoe:valid" result="pass"/><test-case name="29185unsignedByte_pattern001_1802.v tokoe:valid" result="pass"/><test-case name="29186unsignedByte_enumeration001_1803 tokoe:valid" result="pass"/><test-case name="29187unsignedByte_enumeration001_1803.i tokoe:invalid" result="pass"/><test-case name="29188unsignedByte_enumeration002_1804 tokoe:valid" result="pass"/><test-case name="29189unsignedByte_enumeration002_1804.v tokoe:valid" result="pass"/><test-case name="29190unsignedByte_enumeration003_1805 tokoe:valid" result="pass"/><test-case name="29191unsignedByte_enumeration003_1805.i tokoe:invalid" result="pass"/><test-case name="29192unsignedByte_enumeration004_1806 tokoe:valid" result="pass"/><test-case name="29193unsignedByte_enumeration004_1806.v tokoe:valid" result="pass"/><test-case name="29194unsignedByte_maxInclusive001_1807 tokoe:valid" result="pass"/><test-case name="29195unsignedByte_maxInclusive001_1807.v tokoe:valid" result="pass"/><test-case name="29196unsignedByte_maxInclusive002_1808 tokoe:valid" result="pass"/><test-case name="29197unsignedByte_maxInclusive002_1808.i tokoe:invalid" result="pass"/><test-case name="29198unsignedByte_maxInclusive003_1809 tokoe:valid" result="pass"/><test-case name="29199unsignedByte_maxInclusive003_1809.v tokoe:valid" result="pass"/><test-case name="29200unsignedByte_maxExclusive001_1810 tokoe:valid" result="pass"/><test-case name="29201unsignedByte_maxExclusive001_1810.i tokoe:invalid" result="pass"/><test-case name="29202unsignedByte_maxExclusive002_1811 tokoe:valid" result="pass"/><test-case name="29203unsignedByte_maxExclusive002_1811.i tokoe:invalid" result="pass"/><test-case name="29204unsignedByte_maxExclusive003_1812 tokoe:valid" result="pass"/><test-case name="29205unsignedByte_maxExclusive003_1812.v tokoe:valid" result="pass"/><test-case name="29206unsignedByte_minInclusive001_1813 tokoe:valid" result="pass"/><test-case name="29207unsignedByte_minInclusive001_1813.v tokoe:valid" result="pass"/><test-case name="29208unsignedByte_minInclusive002_1814 tokoe:valid" result="pass"/><test-case name="29209unsignedByte_minInclusive002_1814.i tokoe:invalid" result="pass"/><test-case name="29210unsignedByte_minInclusive003_1815 tokoe:valid" result="pass"/><test-case name="29211unsignedByte_minInclusive003_1815.v tokoe:valid" result="pass"/><test-case name="29212unsignedByte_minInclusive004_1816 tokoe:valid" result="pass"/><test-case name="29213unsignedByte_minInclusive004_1816.v tokoe:valid" result="pass"/><test-case name="29214unsignedByte_minInclusive005_1817 tokoe:valid" result="pass"/><test-case name="29215unsignedByte_minInclusive005_1817.v tokoe:valid" result="pass"/><test-case name="29216unsignedByte_minExclusive001_1818 tokoe:valid" result="pass"/><test-case name="29217unsignedByte_minExclusive001_1818.i tokoe:invalid" result="pass"/><test-case name="29218unsignedByte_minExclusive002_1819 tokoe:valid" result="pass"/><test-case name="29219unsignedByte_minExclusive002_1819.i tokoe:invalid" result="pass"/><test-case name="29220unsignedByte_minExclusive003_1820 tokoe:valid" result="pass"/><test-case name="29221unsignedByte_minExclusive003_1820.v tokoe:valid" result="pass"/><test-case name="29222unsignedByte_minExclusive004_1821 tokoe:valid" result="pass"/><test-case name="29223unsignedByte_minExclusive004_1821.v tokoe:valid" result="pass"/><test-case name="29224unsignedByte_minExclusive005_1822 tokoe:valid" result="pass"/><test-case name="29225unsignedByte_minExclusive005_1822.v tokoe:valid" result="pass"/><test-case name="29226unsignedByte_totalDigits001_1823 tokoe:valid" result="pass"/><test-case name="29227unsignedByte_totalDigits001_1823.i tokoe:invalid" result="pass"/><test-case name="29228unsignedByte_totalDigits002_1824 tokoe:valid" result="pass"/><test-case name="29229unsignedByte_totalDigits002_1824.v tokoe:valid" result="pass"/><test-case name="29230unsignedByte_totalDigits003_1825 tokoe:valid" result="pass"/><test-case name="29231unsignedByte_totalDigits003_1825.v tokoe:valid" result="pass"/><test-case name="29232positiveInteger_pattern001_1826 tokoe:valid" result="pass"/><test-case name="29233positiveInteger_pattern001_1826.v tokoe:valid" result="pass"/><test-case name="29234positiveInteger_enumeration001_1827 tokoe:valid" result="pass"/><test-case name="29235positiveInteger_enumeration001_1827.i tokoe:invalid" result="pass"/><test-case name="29236positiveInteger_enumeration002_1828 tokoe:valid" result="pass"/><test-case name="29237positiveInteger_enumeration002_1828.v tokoe:valid" result="pass"/><test-case name="29238positiveInteger_enumeration003_1829 tokoe:valid" result="pass"/><test-case name="29239positiveInteger_enumeration003_1829.i tokoe:invalid" result="pass"/><test-case name="29240positiveInteger_enumeration004_1830 tokoe:valid" result="pass"/><test-case name="29241positiveInteger_enumeration004_1830.v tokoe:valid" result="pass"/><test-case name="29242positiveInteger_maxInclusive001_1831 tokoe:valid" result="pass"/><test-case name="29243positiveInteger_maxInclusive001_1831.v tokoe:valid" result="pass"/><test-case name="29244positiveInteger_maxInclusive002_1832 tokoe:valid" result="pass"/><test-case name="29245positiveInteger_maxInclusive002_1832.i tokoe:invalid" result="pass"/><test-case name="29246positiveInteger_maxInclusive003_1833 tokoe:valid" result="pass"/><test-case name="29247positiveInteger_maxInclusive003_1833.v tokoe:valid" result="pass"/><test-case name="29248positiveInteger_maxExclusive001_1834 tokoe:valid" result="fail"/><test-case name="29249positiveInteger_maxExclusive001_1834.i tokoe:invalid" result="pass"/><test-case name="29250positiveInteger_maxExclusive002_1835 tokoe:valid" result="fail"/><test-case name="29251positiveInteger_maxExclusive002_1835.i tokoe:invalid" result="pass"/><test-case name="29252positiveInteger_maxExclusive003_1836 tokoe:valid" result="pass"/><test-case name="29253positiveInteger_maxExclusive003_1836.v tokoe:valid" result="pass"/><test-case name="29254positiveInteger_minInclusive001_1837 tokoe:valid" result="pass"/><test-case name="29255positiveInteger_minInclusive001_1837.v tokoe:valid" result="pass"/><test-case name="29256positiveInteger_minInclusive002_1838 tokoe:valid" result="pass"/><test-case name="29257positiveInteger_minInclusive002_1838.i tokoe:invalid" result="pass"/><test-case name="29258positiveInteger_minInclusive003_1839 tokoe:valid" result="pass"/><test-case name="29259positiveInteger_minInclusive003_1839.v tokoe:valid" result="pass"/><test-case name="29260positiveInteger_minInclusive004_1840 tokoe:valid" result="pass"/><test-case name="29261positiveInteger_minInclusive004_1840.v tokoe:valid" result="pass"/><test-case name="29262positiveInteger_minInclusive005_1841 tokoe:valid" result="pass"/><test-case name="29263positiveInteger_minInclusive005_1841.v tokoe:valid" result="pass"/><test-case name="29264positiveInteger_minExclusive001_1842 tokoe:valid" result="pass"/><test-case name="29265positiveInteger_minExclusive001_1842.i tokoe:invalid" result="pass"/><test-case name="29266positiveInteger_minExclusive002_1843 tokoe:valid" result="pass"/><test-case name="29267positiveInteger_minExclusive002_1843.i tokoe:invalid" result="pass"/><test-case name="29268positiveInteger_minExclusive003_1844 tokoe:valid" result="pass"/><test-case name="29269positiveInteger_minExclusive003_1844.v tokoe:valid" result="pass"/><test-case name="29270positiveInteger_minExclusive004_1845 tokoe:valid" result="pass"/><test-case name="29271positiveInteger_minExclusive004_1845.v tokoe:valid" result="pass"/><test-case name="29272positiveInteger_minExclusive005_1846 tokoe:valid" result="pass"/><test-case name="29273positiveInteger_minExclusive005_1846.v tokoe:valid" result="pass"/><test-case name="29274positiveInteger_totalDigits001_1847 tokoe:valid" result="pass"/><test-case name="29275positiveInteger_totalDigits001_1847.i tokoe:invalid" result="pass"/><test-case name="29276positiveInteger_totalDigits002_1848 tokoe:valid" result="pass"/><test-case name="29277positiveInteger_totalDigits002_1848.v tokoe:valid" result="pass"/><test-case name="29278positiveInteger_totalDigits003_1849 tokoe:valid" result="pass"/><test-case name="29279positiveInteger_totalDigits003_1849.v tokoe:valid" result="pass"/><test-case name="29280list_minInclusive_1850 tokoe:invalid" result="pass"/><test-case name="29281string001_1851 tokoe:valid" result="pass"/><test-case name="29282string001_1851.v tokoe:valid" result="pass"/><test-case name="29283string002_1852 tokoe:valid" result="pass"/><test-case name="29284string002_1852.v tokoe:valid" result="pass"/><test-case name="29285string003_1853 tokoe:valid" result="pass"/><test-case name="29286string003_1853.v tokoe:valid" result="pass"/><test-case name="29287string004_1854 tokoe:valid" result="pass"/><test-case name="29288string004_1854.v tokoe:valid" result="pass"/><test-case name="29289string005_1855 tokoe:valid" result="pass"/><test-case name="29290string005_1855.v tokoe:valid" result="pass"/><test-case name="29291string006_1856 tokoe:valid" result="pass"/><test-case name="29292string006_1856.v tokoe:valid" result="pass"/><test-case name="29293boolean001_1857 tokoe:valid" result="pass"/><test-case name="29294boolean001_1857.i tokoe:invalid" result="pass"/><test-case name="29295boolean002_1858 tokoe:valid" result="pass"/><test-case name="29296boolean002_1858.v tokoe:valid" result="pass"/><test-case name="29297boolean003_1859 tokoe:valid" result="pass"/><test-case name="29298boolean003_1859.v tokoe:valid" result="pass"/><test-case name="29299boolean004_1860 tokoe:valid" result="pass"/><test-case name="29300boolean004_1860.v tokoe:valid" result="pass"/><test-case name="29301boolean005_1861 tokoe:valid" result="pass"/><test-case name="29302boolean005_1861.v tokoe:valid" result="pass"/><test-case name="29303boolean006_1862 tokoe:valid" result="pass"/><test-case name="29304boolean006_1862.i tokoe:invalid" result="pass"/><test-case name="29305boolean007_1863 tokoe:valid" result="pass"/><test-case name="29306boolean007_1863.i tokoe:invalid" result="pass"/><test-case name="29307boolean008_1864 tokoe:valid" result="pass"/><test-case name="29308boolean008_1864.i tokoe:invalid" result="pass"/><test-case name="29309boolean009_1865 tokoe:valid" result="pass"/><test-case name="29310boolean009_1865.i tokoe:invalid" result="pass"/><test-case name="29311boolean010_1866 tokoe:valid" result="pass"/><test-case name="29312boolean010_1866.i tokoe:invalid" result="pass"/><test-case name="29313boolean011_1867 tokoe:valid" result="pass"/><test-case name="29314boolean011_1867.i tokoe:invalid" result="pass"/><test-case name="29315boolean012_1868 tokoe:valid" result="pass"/><test-case name="29316boolean012_1868.i tokoe:invalid" result="pass"/><test-case name="29317boolean013_1869 tokoe:valid" result="pass"/><test-case name="29318boolean013_1869.i tokoe:invalid" result="pass"/><test-case name="29319boolean014_1870 tokoe:valid" result="pass"/><test-case name="29320boolean014_1870.i tokoe:invalid" result="pass"/><test-case name="29321boolean015_1871 tokoe:valid" result="pass"/><test-case name="29322boolean015_1871.i tokoe:invalid" result="pass"/><test-case name="29323boolean016_1872 tokoe:valid" result="pass"/><test-case name="29324boolean016_1872.i tokoe:invalid" result="pass"/><test-case name="29325boolean017_1873 tokoe:valid" result="pass"/><test-case name="29326boolean017_1873.i tokoe:invalid" result="pass"/><test-case name="29327boolean018_1874 tokoe:valid" result="pass"/><test-case name="29328boolean018_1874.v tokoe:valid" result="pass"/><test-case name="29329decimal001_1875 tokoe:valid" result="pass"/><test-case name="29330decimal001_1875.i tokoe:invalid" result="pass"/><test-case name="29331decimal002_1876 tokoe:valid" result="pass"/><test-case name="29332decimal002_1876.v tokoe:valid" result="pass"/><test-case name="29333decimal003_1877 tokoe:valid" result="pass"/><test-case name="29334decimal003_1877.v tokoe:valid" result="pass"/><test-case name="29335decimal004_1878 tokoe:valid" result="pass"/><test-case name="29336decimal004_1878.v tokoe:valid" result="pass"/><test-case name="29337decimal005_1879 tokoe:valid" result="pass"/><test-case name="29338decimal005_1879.v tokoe:valid" result="pass"/><test-case name="29339decimal006_1880 tokoe:valid" result="pass"/><test-case name="29340decimal006_1880.v tokoe:valid" result="pass"/><test-case name="29341decimal007_1881 tokoe:valid" result="pass"/><test-case name="29342decimal007_1881.v tokoe:valid" result="pass"/><test-case name="29343decimal008_1882 tokoe:valid" result="pass"/><test-case name="29344decimal008_1882.v tokoe:valid" result="pass"/><test-case name="29345decimal009_1883 tokoe:valid" result="pass"/><test-case name="29346decimal009_1883.v tokoe:valid" result="pass"/><test-case name="29347decimal010_1884 tokoe:valid" result="pass"/><test-case name="29348decimal010_1884.v tokoe:valid" result="pass"/><test-case name="29349decimal011_1885 tokoe:valid" result="pass"/><test-case name="29350decimal011_1885.v tokoe:valid" result="pass"/><test-case name="29351decimal012_1886 tokoe:valid" result="pass"/><test-case name="29352decimal012_1886.v tokoe:valid" result="pass"/><test-case name="29353decimal013_1887 tokoe:valid" result="pass"/><test-case name="29354decimal013_1887.v tokoe:valid" result="pass"/><test-case name="29355decimal014_1888 tokoe:valid" result="pass"/><test-case name="29356decimal014_1888.v tokoe:valid" result="pass"/><test-case name="29357decimal015_1889 tokoe:valid" result="pass"/><test-case name="29358decimal015_1889.v tokoe:valid" result="pass"/><test-case name="29359decimal016_1890 tokoe:valid" result="pass"/><test-case name="29360decimal016_1890.v tokoe:valid" result="pass"/><test-case name="29361decimal017_1891 tokoe:valid" result="pass"/><test-case name="29362decimal017_1891.i tokoe:invalid" result="pass"/><test-case name="29363decimal018_1892 tokoe:valid" result="pass"/><test-case name="29364decimal018_1892.i tokoe:invalid" result="pass"/><test-case name="29365decimal019_1893 tokoe:valid" result="pass"/><test-case name="29366decimal019_1893.i tokoe:invalid" result="pass"/><test-case name="29367decimal020_1894 tokoe:valid" result="pass"/><test-case name="29368decimal020_1894.i tokoe:invalid" result="pass"/><test-case name="29369decimal021_1895 tokoe:valid" result="pass"/><test-case name="29370decimal021_1895.i tokoe:invalid" result="pass"/><test-case name="29371decimal022_1896 tokoe:valid" result="pass"/><test-case name="29372decimal022_1896.i tokoe:invalid" result="pass"/><test-case name="29373decimal023_1897 tokoe:valid" result="pass"/><test-case name="29374decimal023_1897.i tokoe:invalid" result="pass"/><test-case name="29375decimal024_1898 tokoe:valid" result="pass"/><test-case name="29376decimal024_1898.i tokoe:invalid" result="pass"/><test-case name="29377decimal025_1899 tokoe:valid" result="pass"/><test-case name="29378decimal025_1899.i tokoe:invalid" result="pass"/><test-case name="29379float001_1900 tokoe:valid" result="pass"/><test-case name="29380float001_1900.i tokoe:invalid" result="pass"/><test-case name="29381float002_1901 tokoe:valid" result="pass"/><test-case name="29382float002_1901.v tokoe:valid" result="pass"/><test-case name="29383float003_1902 tokoe:valid" result="pass"/><test-case name="29384float003_1902.v tokoe:valid" result="pass"/><test-case name="29385float004_1903 tokoe:valid" result="pass"/><test-case name="29386float004_1903.v tokoe:valid" result="pass"/><test-case name="29387float005_1904 tokoe:valid" result="pass"/><test-case name="29388float005_1904.v tokoe:valid" result="pass"/><test-case name="29389float006_1905 tokoe:valid" result="pass"/><test-case name="29390float006_1905.v tokoe:valid" result="pass"/><test-case name="29391float007_1906 tokoe:valid" result="pass"/><test-case name="29392float007_1906.v tokoe:valid" result="pass"/><test-case name="29393float008_1907 tokoe:valid" result="pass"/><test-case name="29394float008_1907.v tokoe:valid" result="pass"/><test-case name="29395float009_1908 tokoe:valid" result="pass"/><test-case name="29396float009_1908.v tokoe:valid" result="pass"/><test-case name="29397float010_1909 tokoe:valid" result="pass"/><test-case name="29398float010_1909.v tokoe:valid" result="pass"/><test-case name="29399float011_1910 tokoe:valid" result="pass"/><test-case name="29400float011_1910.v tokoe:valid" result="pass"/><test-case name="29401float012_1911 tokoe:valid" result="pass"/><test-case name="29402float012_1911.v tokoe:valid" result="pass"/><test-case name="29403float013_1912 tokoe:valid" result="pass"/><test-case name="29404float013_1912.v tokoe:valid" result="pass"/><test-case name="29405float014_1913 tokoe:valid" result="pass"/><test-case name="29406float014_1913.v tokoe:valid" result="pass"/><test-case name="29407float015_1914 tokoe:valid" result="pass"/><test-case name="29408float015_1914.i tokoe:invalid" result="pass"/><test-case name="29409float016_1915 tokoe:valid" result="pass"/><test-case name="29410float016_1915.i tokoe:invalid" result="pass"/><test-case name="29411float017_1916 tokoe:valid" result="pass"/><test-case name="29412float017_1916.v tokoe:valid" result="pass"/><test-case name="29413float018_1917 tokoe:valid" result="pass"/><test-case name="29414float018_1917.i tokoe:invalid" result="pass"/><test-case name="29415float019_1918 tokoe:valid" result="pass"/><test-case name="29416float019_1918.v tokoe:valid" result="pass"/><test-case name="29417float020_1919 tokoe:valid" result="pass"/><test-case name="29418float020_1919.v tokoe:valid" result="pass"/><test-case name="29419float021_1920 tokoe:valid" result="pass"/><test-case name="29420float021_1920.v tokoe:valid" result="pass"/><test-case name="29421float022_1921 tokoe:valid" result="pass"/><test-case name="29422float022_1921.i tokoe:invalid" result="pass"/><test-case name="29423float023_1922 tokoe:valid" result="pass"/><test-case name="29424float023_1922.i tokoe:invalid" result="pass"/><test-case name="29425float024_1923 tokoe:valid" result="pass"/><test-case name="29426float024_1923.i tokoe:invalid" result="pass"/><test-case name="29427float025_1924 tokoe:valid" result="pass"/><test-case name="29428float025_1924.i tokoe:invalid" result="pass"/><test-case name="29429float026_1925 tokoe:valid" result="pass"/><test-case name="29430float026_1925.i tokoe:invalid" result="pass"/><test-case name="29431float027_1926 tokoe:valid" result="pass"/><test-case name="29432float027_1926.i tokoe:invalid" result="pass"/><test-case name="29433float028_1927 tokoe:valid" result="pass"/><test-case name="29434float028_1927.v tokoe:valid" result="pass"/><test-case name="29435float029_1928 tokoe:valid" result="pass"/><test-case name="29436float029_1928.v tokoe:valid" result="pass"/><test-case name="29437float030_1929 tokoe:valid" result="pass"/><test-case name="29438float030_1929.v tokoe:valid" result="pass"/><test-case name="29439float031_1930 tokoe:valid" result="pass"/><test-case name="29440float031_1930.v tokoe:valid" result="pass"/><test-case name="29441float032_1931 tokoe:valid" result="pass"/><test-case name="29442float032_1931.v tokoe:valid" result="pass"/><test-case name="29443float033_1932 tokoe:valid" result="pass"/><test-case name="29444float033_1932.v tokoe:valid" result="pass"/><test-case name="29445float034_1933 tokoe:valid" result="pass"/><test-case name="29446float034_1933.v tokoe:valid" result="pass"/><test-case name="29447float035_1934 tokoe:valid" result="pass"/><test-case name="29448float035_1934.i tokoe:invalid" result="pass"/><test-case name="29449float036_1935 tokoe:valid" result="pass"/><test-case name="29450float036_1935.i tokoe:invalid" result="pass"/><test-case name="29451float037_1936 tokoe:valid" result="pass"/><test-case name="29452float037_1936.i tokoe:invalid" result="pass"/><test-case name="29453float038_1937 tokoe:valid" result="pass"/><test-case name="29454float038_1937.v tokoe:valid" result="pass"/><test-case name="29455float039_1938 tokoe:valid" result="pass"/><test-case name="29456float039_1938.v tokoe:valid" result="pass"/><test-case name="29457double001_1939 tokoe:valid" result="pass"/><test-case name="29458double001_1939.i tokoe:invalid" result="pass"/><test-case name="29459double002_1940 tokoe:valid" result="pass"/><test-case name="29460double002_1940.v tokoe:valid" result="pass"/><test-case name="29461double003_1941 tokoe:valid" result="pass"/><test-case name="29462double003_1941.v tokoe:valid" result="pass"/><test-case name="29463double004_1942 tokoe:valid" result="pass"/><test-case name="29464double004_1942.v tokoe:valid" result="pass"/><test-case name="29465double005_1943 tokoe:valid" result="pass"/><test-case name="29466double005_1943.v tokoe:valid" result="pass"/><test-case name="29467double006_1944 tokoe:valid" result="pass"/><test-case name="29468double006_1944.v tokoe:valid" result="pass"/><test-case name="29469double007_1945 tokoe:valid" result="pass"/><test-case name="29470double007_1945.v tokoe:valid" result="pass"/><test-case name="29471double008_1946 tokoe:valid" result="pass"/><test-case name="29472double008_1946.v tokoe:valid" result="pass"/><test-case name="29473double009_1947 tokoe:valid" result="pass"/><test-case name="29474double009_1947.v tokoe:valid" result="pass"/><test-case name="29475double010_1948 tokoe:valid" result="pass"/><test-case name="29476double010_1948.v tokoe:valid" result="pass"/><test-case name="29477double011_1949 tokoe:valid" result="pass"/><test-case name="29478double011_1949.v tokoe:valid" result="pass"/><test-case name="29479double012_1950 tokoe:valid" result="pass"/><test-case name="29480double012_1950.v tokoe:valid" result="pass"/><test-case name="29481double013_1951 tokoe:valid" result="pass"/><test-case name="29482double013_1951.v tokoe:valid" result="pass"/><test-case name="29483double014_1952 tokoe:valid" result="pass"/><test-case name="29484double014_1952.v tokoe:valid" result="pass"/><test-case name="29485double015_1953 tokoe:valid" result="pass"/><test-case name="29486double015_1953.i tokoe:invalid" result="pass"/><test-case name="29487double016_1954 tokoe:valid" result="pass"/><test-case name="29488double016_1954.i tokoe:invalid" result="pass"/><test-case name="29489double017_1955 tokoe:valid" result="pass"/><test-case name="29490double017_1955.v tokoe:valid" result="pass"/><test-case name="29491double018_1956 tokoe:valid" result="pass"/><test-case name="29492double018_1956.i tokoe:invalid" result="pass"/><test-case name="29493double019_1957 tokoe:valid" result="pass"/><test-case name="29494double019_1957.v tokoe:valid" result="pass"/><test-case name="29495double020_1958 tokoe:valid" result="pass"/><test-case name="29496double020_1958.v tokoe:valid" result="pass"/><test-case name="29497double021_1959 tokoe:valid" result="pass"/><test-case name="29498double021_1959.v tokoe:valid" result="pass"/><test-case name="29499double022_1960 tokoe:valid" result="pass"/><test-case name="29500double022_1960.i tokoe:invalid" result="pass"/><test-case name="29501double023_1961 tokoe:valid" result="pass"/><test-case name="29502double023_1961.i tokoe:invalid" result="pass"/><test-case name="29503double024_1962 tokoe:valid" result="pass"/><test-case name="29504double024_1962.i tokoe:invalid" result="pass"/><test-case name="29505double025_1963 tokoe:valid" result="pass"/><test-case name="29506double025_1963.i tokoe:invalid" result="pass"/><test-case name="29507double026_1964 tokoe:valid" result="pass"/><test-case name="29508double026_1964.i tokoe:invalid" result="pass"/><test-case name="29509double027_1965 tokoe:valid" result="pass"/><test-case name="29510double027_1965.v tokoe:valid" result="pass"/><test-case name="29511double028_1966 tokoe:valid" result="pass"/><test-case name="29512double028_1966.v tokoe:valid" result="pass"/><test-case name="29513double029_1967 tokoe:valid" result="pass"/><test-case name="29514double029_1967.i tokoe:invalid" result="pass"/><test-case name="29515double030_1968 tokoe:valid" result="pass"/><test-case name="29516double030_1968.v tokoe:valid" result="pass"/><test-case name="29517duration001_1969 tokoe:valid" result="pass"/><test-case name="29518duration001_1969.i tokoe:invalid" result="pass"/><test-case name="29519duration002_1970 tokoe:valid" result="pass"/><test-case name="29520duration002_1970.v tokoe:valid" result="pass"/><test-case name="29521duration003_1971 tokoe:valid" result="pass"/><test-case name="29522duration003_1971.v tokoe:valid" result="pass"/><test-case name="29523duration004_1972 tokoe:valid" result="pass"/><test-case name="29524duration004_1972.v tokoe:valid" result="pass"/><test-case name="29525duration005_1973 tokoe:valid" result="pass"/><test-case name="29526duration005_1973.v tokoe:valid" result="pass"/><test-case name="29527duration006_1974 tokoe:valid" result="pass"/><test-case name="29528duration006_1974.v tokoe:valid" result="pass"/><test-case name="29529duration007_1975 tokoe:valid" result="pass"/><test-case name="29530duration007_1975.v tokoe:valid" result="pass"/><test-case name="29531duration008_1976 tokoe:valid" result="pass"/><test-case name="29532duration008_1976.i tokoe:invalid" result="pass"/><test-case name="29533duration009_1977 tokoe:valid" result="pass"/><test-case name="29534duration009_1977.v tokoe:valid" result="pass"/><test-case name="29535duration010_1978 tokoe:valid" result="pass"/><test-case name="29536duration010_1978.i tokoe:invalid" result="pass"/><test-case name="29537duration011_1979 tokoe:valid" result="pass"/><test-case name="29538duration011_1979.i tokoe:invalid" result="pass"/><test-case name="29539duration012_1980 tokoe:valid" result="pass"/><test-case name="29540duration012_1980.v tokoe:valid" result="pass"/><test-case name="29541duration013_1981 tokoe:valid" result="pass"/><test-case name="29542duration013_1981.i tokoe:invalid" result="pass"/><test-case name="29543duration014_1982 tokoe:valid" result="pass"/><test-case name="29544duration014_1982.v tokoe:valid" result="pass"/><test-case name="29545duration015_1983 tokoe:valid" result="pass"/><test-case name="29546duration015_1983.i tokoe:invalid" result="pass"/><test-case name="29547duration016_1984 tokoe:valid" result="pass"/><test-case name="29548duration016_1984.v tokoe:valid" result="pass"/><test-case name="29549duration017_1985 tokoe:valid" result="pass"/><test-case name="29550duration017_1985.v tokoe:valid" result="pass"/><test-case name="29551duration018_1986 tokoe:valid" result="pass"/><test-case name="29552duration018_1986.v tokoe:valid" result="pass"/><test-case name="29553duration019_1987 tokoe:valid" result="pass"/><test-case name="29554duration019_1987.v tokoe:valid" result="pass"/><test-case name="29555duration020_1988 tokoe:valid" result="pass"/><test-case name="29556duration020_1988.v tokoe:valid" result="pass"/><test-case name="29557duration021_1989 tokoe:valid" result="pass"/><test-case name="29558duration021_1989.i tokoe:invalid" result="pass"/><test-case name="29559duration022_1990 tokoe:valid" result="pass"/><test-case name="29560duration022_1990.v tokoe:valid" result="pass"/><test-case name="29561duration023_1991 tokoe:valid" result="pass"/><test-case name="29562duration023_1991.v tokoe:valid" result="pass"/><test-case name="29563duration024_1992 tokoe:valid" result="pass"/><test-case name="29564duration024_1992.v tokoe:valid" result="pass"/><test-case name="29565duration025_1993 tokoe:valid" result="pass"/><test-case name="29566duration025_1993.v tokoe:valid" result="pass"/><test-case name="29567duration026_1994 tokoe:valid" result="pass"/><test-case name="29568duration026_1994.v tokoe:valid" result="pass"/><test-case name="29569duration027_1995 tokoe:valid" result="pass"/><test-case name="29570duration027_1995.v tokoe:valid" result="pass"/><test-case name="29571duration028_1996 tokoe:valid" result="pass"/><test-case name="29572duration028_1996.i tokoe:invalid" result="pass"/><test-case name="29573duration029_1997 tokoe:valid" result="pass"/><test-case name="29574duration029_1997.i tokoe:invalid" result="pass"/><test-case name="29575duration030_1998 tokoe:valid" result="pass"/><test-case name="29576duration030_1998.i tokoe:invalid" result="pass"/><test-case name="29577dateTime001_1999 tokoe:valid" result="pass"/><test-case name="29578dateTime001_1999.i tokoe:invalid" result="pass"/><test-case name="29579dateTime002_2000 tokoe:valid" result="pass"/><test-case name="29580dateTime002_2000.v tokoe:valid" result="pass"/><test-case name="29581dateTime003_2001 tokoe:valid" result="pass"/><test-case name="29582dateTime003_2001.v tokoe:valid" result="pass"/><test-case name="29583dateTime004_2002 tokoe:valid" result="pass"/><test-case name="29584dateTime004_2002.i tokoe:invalid" result="pass"/><test-case name="29585dateTime005_2003 tokoe:valid" result="pass"/><test-case name="29586dateTime005_2003.v tokoe:valid" result="pass"/><test-case name="29587dateTime006_2004 tokoe:valid" result="pass"/><test-case name="29588dateTime006_2004.v tokoe:valid" result="pass"/><test-case name="29589dateTime007_2005 tokoe:valid" result="pass"/><test-case name="29590dateTime007_2005.v tokoe:valid" result="pass"/><test-case name="29591dateTime008_2006 tokoe:valid" result="pass"/><test-case name="29592dateTime008_2006.v tokoe:valid" result="pass"/><test-case name="29593dateTime010_2007 tokoe:valid" result="pass"/><test-case name="29594dateTime010_2007.v tokoe:valid" result="pass"/><test-case name="29595dateTime011_2008 tokoe:valid" result="pass"/><test-case name="29596dateTime011_2008.i tokoe:invalid" result="pass"/><test-case name="29597dateTime013_2009 tokoe:valid" result="pass"/><test-case name="29598dateTime013_2009.i tokoe:invalid" result="pass"/><test-case name="29599time001_2010 tokoe:valid" result="pass"/><test-case name="29600time001_2010.i tokoe:invalid" result="pass"/><test-case name="29601time002_2011 tokoe:valid" result="pass"/><test-case name="29602time002_2011.i tokoe:invalid" result="pass"/><test-case name="29603time003_2012 tokoe:valid" result="pass"/><test-case name="29604time003_2012.i tokoe:invalid" result="pass"/><test-case name="29605time004_2013 tokoe:valid" result="pass"/><test-case name="29606time004_2013.v tokoe:valid" result="pass"/><test-case name="29607time005_2014 tokoe:valid" result="pass"/><test-case name="29608time005_2014.v tokoe:valid" result="pass"/><test-case name="29609time006_2015 tokoe:valid" result="pass"/><test-case name="29610time006_2015.v tokoe:valid" result="pass"/><test-case name="29611time007_2016 tokoe:valid" result="pass"/><test-case name="29612time007_2016.v tokoe:valid" result="pass"/><test-case name="29613time008_2017 tokoe:valid" result="pass"/><test-case name="29614time008_2017.v tokoe:valid" result="pass"/><test-case name="29615time009_2018 tokoe:valid" result="pass"/><test-case name="29616time009_2018.v tokoe:valid" result="pass"/><test-case name="29617time011_2019 tokoe:valid" result="pass"/><test-case name="29618time011_2019.v tokoe:valid" result="pass"/><test-case name="29619time012_2020 tokoe:valid" result="pass"/><test-case name="29620time012_2020.v tokoe:valid" result="pass"/><test-case name="29621time013_2021 tokoe:valid" result="pass"/><test-case name="29622time013_2021.v tokoe:valid" result="pass"/><test-case name="29623time014_2022 tokoe:valid" result="pass"/><test-case name="29624time014_2022.i tokoe:invalid" result="pass"/><test-case name="29625time015_2023 tokoe:valid" result="pass"/><test-case name="29626time015_2023.i tokoe:invalid" result="pass"/><test-case name="29627time016_2024 tokoe:valid" result="pass"/><test-case name="29628time016_2024.i tokoe:invalid" result="pass"/><test-case name="29629time017_2025 tokoe:valid" result="pass"/><test-case name="29630time017_2025.i tokoe:invalid" result="pass"/><test-case name="29631time018_2026 tokoe:valid" result="pass"/><test-case name="29632time018_2026.i tokoe:invalid" result="pass"/><test-case name="29633time019_2027 tokoe:valid" result="pass"/><test-case name="29634time019_2027.i tokoe:invalid" result="pass"/><test-case name="29635time020_2028 tokoe:valid" result="pass"/><test-case name="29636time020_2028.i tokoe:invalid" result="pass"/><test-case name="29637time021_2029 tokoe:valid" result="pass"/><test-case name="29638time021_2029.i tokoe:invalid" result="pass"/><test-case name="29639time022_2030 tokoe:valid" result="pass"/><test-case name="29640time022_2030.i tokoe:invalid" result="pass"/><test-case name="29641date001_2031 tokoe:valid" result="pass"/><test-case name="29642date001_2031.i tokoe:invalid" result="pass"/><test-case name="29643date002_2032 tokoe:valid" result="pass"/><test-case name="29644date002_2032.v tokoe:valid" result="pass"/><test-case name="29645date003_2033 tokoe:valid" result="pass"/><test-case name="29646date003_2033.i tokoe:invalid" result="pass"/><test-case name="29647date004_2034 tokoe:valid" result="pass"/><test-case name="29648date004_2034.i tokoe:invalid" result="pass"/><test-case name="29649date005_2035 tokoe:valid" result="pass"/><test-case name="29650date005_2035.v tokoe:valid" result="pass"/><test-case name="29651date006_2036 tokoe:valid" result="pass"/><test-case name="29652date006_2036.i tokoe:invalid" result="pass"/><test-case name="29653date009_2037 tokoe:valid" result="pass"/><test-case name="29654date009_2037.i tokoe:invalid" result="pass"/><test-case name="29655date010_2038 tokoe:valid" result="pass"/><test-case name="29656date010_2038.v tokoe:valid" result="pass"/><test-case name="29657date011_2039 tokoe:valid" result="pass"/><test-case name="29658date011_2039.i tokoe:invalid" result="pass"/><test-case name="29659gYearMonth001_2040 tokoe:valid" result="pass"/><test-case name="29660gYearMonth001_2040.i tokoe:invalid" result="pass"/><test-case name="29661gYearMonth002_2041 tokoe:valid" result="pass"/><test-case name="29662gYearMonth002_2041.v tokoe:valid" result="pass"/><test-case name="29663gYearMonth003_2042 tokoe:valid" result="pass"/><test-case name="29664gYearMonth003_2042.v tokoe:valid" result="pass"/><test-case name="29665gYearMonth004_2043 tokoe:valid" result="pass"/><test-case name="29666gYearMonth004_2043.i tokoe:invalid" result="pass"/><test-case name="29667gYearMonth006_2044 tokoe:valid" result="pass"/><test-case name="29668gYearMonth006_2044.i tokoe:invalid" result="pass"/><test-case name="29669gYear001_2045 tokoe:valid" result="pass"/><test-case name="29670gYear001_2045.i tokoe:invalid" result="pass"/><test-case name="29671gYear002_2046 tokoe:valid" result="pass"/><test-case name="29672gYear002_2046.v tokoe:valid" result="pass"/><test-case name="29673gYear005_2047 tokoe:valid" result="pass"/><test-case name="29674gYear005_2047.i tokoe:invalid" result="pass"/><test-case name="29675gYear006_2048 tokoe:valid" result="pass"/><test-case name="29676gYear006_2048.v tokoe:valid" result="pass"/><test-case name="29677gMonthDay001_2049 tokoe:valid" result="pass"/><test-case name="29678gMonthDay001_2049.i tokoe:invalid" result="pass"/><test-case name="29679gMonthDay002_2050 tokoe:valid" result="pass"/><test-case name="29680gMonthDay002_2050.v tokoe:valid" result="pass"/><test-case name="29681gMonthDay003_2051 tokoe:valid" result="pass"/><test-case name="29682gMonthDay003_2051.v tokoe:valid" result="pass"/><test-case name="29683gMonthDay004_2052 tokoe:valid" result="pass"/><test-case name="29684gMonthDay004_2052.v tokoe:valid" result="pass"/><test-case name="29685gMonthDay005_2053 tokoe:valid" result="pass"/><test-case name="29686gMonthDay005_2053.i tokoe:invalid" result="pass"/><test-case name="29687gMonthDay006_2054 tokoe:valid" result="pass"/><test-case name="29688gMonthDay006_2054.i tokoe:invalid" result="pass"/><test-case name="29689gDay001_2055 tokoe:valid" result="pass"/><test-case name="29690gDay001_2055.v tokoe:valid" result="pass"/><test-case name="29691gDay002_2056 tokoe:valid" result="pass"/><test-case name="29692gDay002_2056.v tokoe:valid" result="pass"/><test-case name="29693gDay003_2057 tokoe:valid" result="pass"/><test-case name="29694gDay003_2057.v tokoe:valid" result="pass"/><test-case name="29695gDay004_2058 tokoe:valid" result="pass"/><test-case name="29696gDay004_2058.i tokoe:invalid" result="pass"/><test-case name="29697gDay005_2059 tokoe:valid" result="pass"/><test-case name="29698gDay005_2059.i tokoe:invalid" result="pass"/><test-case name="29699gMonth001_2060 tokoe:valid" result="pass"/><test-case name="29700gMonth001_2060.i tokoe:invalid" result="pass"/><test-case name="29701gMonth002_2061 tokoe:valid" result="pass"/><test-case name="29702gMonth002_2061.v tokoe:valid" result="fail"/><test-case name="29703gMonth003_2062 tokoe:valid" result="pass"/><test-case name="29704gMonth003_2062.i tokoe:invalid" result="pass"/><test-case name="29705gMonth004_2063 tokoe:valid" result="pass"/><test-case name="29706gMonth004_2063.v tokoe:valid" result="fail"/><test-case name="29707gMonth005_2064 tokoe:valid" result="pass"/><test-case name="29708gMonth005_2064.i tokoe:invalid" result="pass"/><test-case name="29709gMonth006_2065 tokoe:valid" result="pass"/><test-case name="29710gMonth006_2065.i tokoe:invalid" result="pass"/><test-case name="29711gMonth007_2066 tokoe:valid" result="pass"/><test-case name="29712gMonth007_2066.i tokoe:invalid" result="pass"/><test-case name="29713hexBinary001_2067 tokoe:valid" result="pass"/><test-case name="29714hexBinary001_2067.v tokoe:valid" result="pass"/><test-case name="29715hexBinary002_2068 tokoe:valid" result="pass"/><test-case name="29716hexBinary002_2068.v tokoe:valid" result="pass"/><test-case name="29717hexBinary004_2070 tokoe:valid" result="pass"/><test-case name="29718hexBinary004_2070.i tokoe:invalid" result="pass"/><test-case name="29719base64Binary001_2071 tokoe:valid" result="pass"/><test-case name="29720base64Binary001_2071.v tokoe:valid" result="pass"/><test-case name="29721base64Binary002_2072 tokoe:valid" result="pass"/><test-case name="29722base64Binary002_2072.v tokoe:valid" result="pass"/><test-case name="29723anyURI001_2073 tokoe:valid" result="pass"/><test-case name="29724anyURI001_2073.v tokoe:valid" result="pass"/><test-case name="29725anyURI002_2074 tokoe:valid" result="pass"/><test-case name="29726anyURI002_2074.v tokoe:valid" result="pass"/><test-case name="29727anyURI003_2075 tokoe:valid" result="pass"/><test-case name="29728anyURI003_2075.v tokoe:valid" result="pass"/><test-case name="29729anyURI004_2076 tokoe:valid" result="pass"/><test-case name="29730anyURI004_2076.v tokoe:valid" result="pass"/><test-case name="29731anyURI005_2077 tokoe:valid" result="pass"/><test-case name="29732anyURI005_2077.v tokoe:valid" result="pass"/><test-case name="29733anyURI006_2078 tokoe:valid" result="pass"/><test-case name="29734anyURI006_2078.v tokoe:valid" result="pass"/><test-case name="29735anyURI007_2079 tokoe:valid" result="pass"/><test-case name="29736anyURI007_2079.v tokoe:valid" result="pass"/><test-case name="29737anyURI008_2080 tokoe:valid" result="pass"/><test-case name="29738anyURI008_2080.v tokoe:valid" result="pass"/><test-case name="29739anyURI009_2081 tokoe:valid" result="pass"/><test-case name="29740anyURI009_2081.v tokoe:valid" result="pass"/><test-case name="29741anyURI010_2082 tokoe:valid" result="pass"/><test-case name="29742anyURI010_2082.v tokoe:valid" result="pass"/><test-case name="29743anyURI011_2083 tokoe:valid" result="pass"/><test-case name="29744anyURI011_2083.v tokoe:valid" result="pass"/><test-case name="29745QName001_2084 tokoe:valid" result="pass"/><test-case name="29746QName001_2084.i tokoe:invalid" result="pass"/><test-case name="29747QName002_2085 tokoe:valid" result="pass"/><test-case name="29748QName002_2085.v tokoe:valid" result="pass"/><test-case name="29749QName003_2086 tokoe:valid" result="pass"/><test-case name="29750QName003_2086.v tokoe:valid" result="pass"/><test-case name="29751QName004_2087 tokoe:valid" result="pass"/><test-case name="29752QName004_2087.i tokoe:invalid" result="pass"/><test-case name="29753QName005_2088 tokoe:valid" result="pass"/><test-case name="29754QName005_2088.i tokoe:invalid" result="pass"/><test-case name="29755QName006_2089 tokoe:valid" result="pass"/><test-case name="29756QName006_2089.v tokoe:valid" result="pass"/><test-case name="29757QName007_2090 tokoe:valid" result="pass"/><test-case name="29758QName007_2090.i tokoe:invalid" result="pass"/><test-case name="29759QName008_2091 tokoe:valid" result="pass"/><test-case name="29760QName008_2091.i tokoe:invalid" result="pass"/><test-case name="29761QName010_2093 tokoe:valid" result="pass"/><test-case name="29762QName010_2093.i tokoe:invalid" result="pass"/><test-case name="29763QName011_2094 tokoe:valid" result="pass"/><test-case name="29764QName011_2094.i tokoe:invalid" result="pass"/><test-case name="29765normalizedString001_2095 tokoe:valid" result="pass"/><test-case name="29766normalizedString001_2095.v tokoe:valid" result="pass"/><test-case name="29767normalizedString002_2096 tokoe:valid" result="pass"/><test-case name="29768normalizedString002_2096.v tokoe:valid" result="pass"/><test-case name="29769normalizedString003_2097 tokoe:valid" result="pass"/><test-case name="29770normalizedString003_2097.v tokoe:valid" result="pass"/><test-case name="29771token001_2098 tokoe:valid" result="pass"/><test-case name="29772token001_2098.v tokoe:valid" result="pass"/><test-case name="29773token002_2099 tokoe:valid" result="pass"/><test-case name="29774token002_2099.v tokoe:valid" result="pass"/><test-case name="29775token003_2100 tokoe:valid" result="pass"/><test-case name="29776token003_2100.v tokoe:valid" result="pass"/><test-case name="29777token004_2101 tokoe:valid" result="pass"/><test-case name="29778token004_2101.v tokoe:valid" result="pass"/><test-case name="29779language001_2102 tokoe:valid" result="pass"/><test-case name="29780language001_2102.i tokoe:invalid" result="pass"/><test-case name="29781language002_2103 tokoe:valid" result="pass"/><test-case name="29782language002_2103.v tokoe:valid" result="pass"/><test-case name="29783language003_2104 tokoe:valid" result="pass"/><test-case name="29784language003_2104.v tokoe:valid" result="pass"/><test-case name="29785language004_2105 tokoe:valid" result="pass"/><test-case name="29786language004_2105.v tokoe:valid" result="pass"/><test-case name="29787language005_2106 tokoe:valid" result="pass"/><test-case name="29788language005_2106.v tokoe:valid" result="pass"/><test-case name="29789language006_2107 tokoe:valid" result="pass"/><test-case name="29790language006_2107.v tokoe:valid" result="pass"/><test-case name="29791language007_2108 tokoe:valid" result="pass"/><test-case name="29792language007_2108.v tokoe:valid" result="pass"/><test-case name="29793language008_2109 tokoe:valid" result="pass"/><test-case name="29794language008_2109.i tokoe:invalid" result="pass"/><test-case name="29795language009_2110 tokoe:valid" result="pass"/><test-case name="29796language009_2110.v tokoe:valid" result="pass"/><test-case name="29797language010_2111 tokoe:valid" result="pass"/><test-case name="29798language010_2111.i tokoe:invalid" result="pass"/><test-case name="29799Name001_2112 tokoe:valid" result="pass"/><test-case name="29800Name001_2112.i tokoe:invalid" result="pass"/><test-case name="29801Name002_2113 tokoe:valid" result="pass"/><test-case name="29802Name002_2113.v tokoe:valid" result="pass"/><test-case name="29803Name003_2114 tokoe:valid" result="pass"/><test-case name="29804Name003_2114.v tokoe:valid" result="pass"/><test-case name="29805Name004_2115 tokoe:valid" result="pass"/><test-case name="29806Name004_2115.i tokoe:invalid" result="pass"/><test-case name="29807Name005_2116 tokoe:valid" result="pass"/><test-case name="29808Name005_2116.i tokoe:invalid" result="pass"/><test-case name="29809Name006_2117 tokoe:valid" result="pass"/><test-case name="29810Name006_2117.i tokoe:invalid" result="pass"/><test-case name="29811Name007_2118 tokoe:valid" result="pass"/><test-case name="29812Name007_2118.v tokoe:valid" result="pass"/><test-case name="29813Name008_2119 tokoe:valid" result="pass"/><test-case name="29814Name008_2119.v tokoe:valid" result="pass"/><test-case name="29815Name009_2120 tokoe:valid" result="pass"/><test-case name="29816Name009_2120.v tokoe:valid" result="pass"/><test-case name="29817Name010_2121 tokoe:valid" result="pass"/><test-case name="29818Name010_2121.v tokoe:valid" result="pass"/><test-case name="29819Name011_2122 tokoe:valid" result="pass"/><test-case name="29820Name011_2122.v tokoe:valid" result="pass"/><test-case name="29821Name012_2123 tokoe:valid" result="pass"/><test-case name="29822Name012_2123.v tokoe:valid" result="pass"/><test-case name="29823Name013_2124 tokoe:valid" result="pass"/><test-case name="29824Name013_2124.v tokoe:valid" result="pass"/><test-case name="29825Name014_2125 tokoe:valid" result="pass"/><test-case name="29826Name014_2125.i tokoe:invalid" result="pass"/><test-case name="29827Name015_2126 tokoe:valid" result="pass"/><test-case name="29828Name015_2126.v tokoe:valid" result="pass"/><test-case name="29829Name016_2127 tokoe:valid" result="pass"/><test-case name="29830Name016_2127.v tokoe:valid" result="pass"/><test-case name="29831Name017_2128 tokoe:valid" result="pass"/><test-case name="29832Name017_2128.i tokoe:invalid" result="pass"/><test-case name="29833Name018_2129 tokoe:valid" result="pass"/><test-case name="29834Name018_2129.i tokoe:invalid" result="pass"/><test-case name="29835NCName001_2130 tokoe:valid" result="pass"/><test-case name="29836NCName001_2130.i tokoe:invalid" result="pass"/><test-case name="29837NCName002_2131 tokoe:valid" result="pass"/><test-case name="29838NCName002_2131.v tokoe:valid" result="pass"/><test-case name="29839NCName003_2132 tokoe:valid" result="pass"/><test-case name="29840NCName003_2132.v tokoe:valid" result="pass"/><test-case name="29841NCName004_2133 tokoe:valid" result="pass"/><test-case name="29842NCName004_2133.i tokoe:invalid" result="pass"/><test-case name="29843NCName005_2134 tokoe:valid" result="pass"/><test-case name="29844NCName005_2134.i tokoe:invalid" result="pass"/><test-case name="29845NCName006_2135 tokoe:valid" result="pass"/><test-case name="29846NCName006_2135.i tokoe:invalid" result="pass"/><test-case name="29847NCName007_2136 tokoe:valid" result="pass"/><test-case name="29848NCName007_2136.v tokoe:valid" result="pass"/><test-case name="29849NCName008_2137 tokoe:valid" result="pass"/><test-case name="29850NCName008_2137.i tokoe:invalid" result="pass"/><test-case name="29851NCName009_2138 tokoe:valid" result="pass"/><test-case name="29852NCName009_2138.i tokoe:invalid" result="pass"/><test-case name="29853NCName010_2139 tokoe:valid" result="pass"/><test-case name="29854NCName010_2139.i tokoe:invalid" result="pass"/><test-case name="29855NCName011_2140 tokoe:valid" result="pass"/><test-case name="29856NCName011_2140.i tokoe:invalid" result="pass"/><test-case name="29857integer001_2141 tokoe:valid" result="pass"/><test-case name="29858integer001_2141.i tokoe:invalid" result="pass"/><test-case name="29859integer002_2142 tokoe:valid" result="pass"/><test-case name="29860integer002_2142.i tokoe:invalid" result="pass"/><test-case name="29861integer003_2143 tokoe:valid" result="pass"/><test-case name="29862integer003_2143.i tokoe:invalid" result="pass"/><test-case name="29863integer004_2144 tokoe:valid" result="pass"/><test-case name="29864integer004_2144.v tokoe:valid" result="pass"/><test-case name="29865integer005_2145 tokoe:valid" result="pass"/><test-case name="29866integer005_2145.v tokoe:valid" result="pass"/><test-case name="29867integer006_2146 tokoe:valid" result="pass"/><test-case name="29868integer006_2146.i tokoe:invalid" result="pass"/><test-case name="29869integer007_2147 tokoe:valid" result="pass"/><test-case name="29870integer007_2147.v tokoe:valid" result="pass"/><test-case name="29871integer008_2148 tokoe:valid" result="pass"/><test-case name="29872integer008_2148.v tokoe:valid" result="pass"/><test-case name="29873integer009_2149 tokoe:valid" result="pass"/><test-case name="29874integer009_2149.v tokoe:valid" result="pass"/><test-case name="29875integer010_2150 tokoe:valid" result="pass"/><test-case name="29876integer010_2150.v tokoe:valid" result="pass"/><test-case name="29877integer011_2151 tokoe:valid" result="pass"/><test-case name="29878integer011_2151.v tokoe:valid" result="fail"/><test-case name="29879integer012_2152 tokoe:valid" result="pass"/><test-case name="29880integer012_2152.i tokoe:invalid" result="pass"/><test-case name="29881integer013_2153 tokoe:valid" result="pass"/><test-case name="29882integer013_2153.i tokoe:invalid" result="pass"/><test-case name="29883integer014_2154 tokoe:valid" result="pass"/><test-case name="29884integer014_2154.i tokoe:invalid" result="pass"/><test-case name="29885integer015_2155 tokoe:valid" result="pass"/><test-case name="29886integer015_2155.i tokoe:invalid" result="pass"/><test-case name="29887integer016_2156 tokoe:valid" result="pass"/><test-case name="29888integer016_2156.i tokoe:invalid" result="pass"/><test-case name="29889nonPositiveInteger001_2157 tokoe:valid" result="pass"/><test-case name="29890nonPositiveInteger001_2157.i tokoe:invalid" result="pass"/><test-case name="29891nonPositiveInteger002_2158 tokoe:valid" result="pass"/><test-case name="29892nonPositiveInteger002_2158.v tokoe:valid" result="pass"/><test-case name="29893nonPositiveInteger003_2159 tokoe:valid" result="pass"/><test-case name="29894nonPositiveInteger003_2159.v tokoe:valid" result="pass"/><test-case name="29895nonPositiveInteger004_2160 tokoe:valid" result="pass"/><test-case name="29896nonPositiveInteger004_2160.i tokoe:invalid" result="pass"/><test-case name="29897nonPositiveInteger005_2161 tokoe:valid" result="pass"/><test-case name="29898nonPositiveInteger005_2161.v tokoe:valid" result="fail"/><test-case name="29899negativeInteger001_2162 tokoe:valid" result="pass"/><test-case name="29900negativeInteger001_2162.i tokoe:invalid" result="pass"/><test-case name="29901negativeInteger002_2163 tokoe:valid" result="pass"/><test-case name="29902negativeInteger002_2163.v tokoe:valid" result="pass"/><test-case name="29903negativeInteger003_2164 tokoe:valid" result="pass"/><test-case name="29904negativeInteger003_2164.i tokoe:invalid" result="pass"/><test-case name="29905negativeInteger004_2165 tokoe:valid" result="pass"/><test-case name="29906negativeInteger004_2165.i tokoe:invalid" result="pass"/><test-case name="29907negativeInteger005_2166 tokoe:valid" result="pass"/><test-case name="29908negativeInteger005_2166.v tokoe:valid" result="fail"/><test-case name="29909long001_2167 tokoe:valid" result="pass"/><test-case name="29910long001_2167.i tokoe:invalid" result="pass"/><test-case name="29911long002_2168 tokoe:valid" result="pass"/><test-case name="29912long002_2168.v tokoe:valid" result="pass"/><test-case name="29913long003_2169 tokoe:valid" result="pass"/><test-case name="29914long003_2169.v tokoe:valid" result="pass"/><test-case name="29915long004_2170 tokoe:valid" result="pass"/><test-case name="29916long004_2170.v tokoe:valid" result="pass"/><test-case name="29917long005_2171 tokoe:valid" result="pass"/><test-case name="29918long005_2171.v tokoe:valid" result="pass"/><test-case name="29919long006_2172 tokoe:valid" result="pass"/><test-case name="29920long006_2172.i tokoe:invalid" result="pass"/><test-case name="29921long007_2173 tokoe:valid" result="pass"/><test-case name="29922long007_2173.v tokoe:valid" result="pass"/><test-case name="29923long008_2174 tokoe:valid" result="pass"/><test-case name="29924long008_2174.i tokoe:invalid" result="pass"/><test-case name="29925long009_2175 tokoe:valid" result="pass"/><test-case name="29926long009_2175.v tokoe:valid" result="pass"/><test-case name="29927int001_2176 tokoe:valid" result="pass"/><test-case name="29928int001_2176.i tokoe:invalid" result="pass"/><test-case name="29929int002_2177 tokoe:valid" result="pass"/><test-case name="29930int002_2177.v tokoe:valid" result="pass"/><test-case name="29931int003_2178 tokoe:valid" result="pass"/><test-case name="29932int003_2178.v tokoe:valid" result="pass"/><test-case name="29933int004_2179 tokoe:valid" result="pass"/><test-case name="29934int004_2179.v tokoe:valid" result="pass"/><test-case name="29935int005_2180 tokoe:valid" result="pass"/><test-case name="29936int005_2180.v tokoe:valid" result="pass"/><test-case name="29937int006_2181 tokoe:valid" result="pass"/><test-case name="29938int006_2181.i tokoe:invalid" result="pass"/><test-case name="29939int007_2182 tokoe:valid" result="pass"/><test-case name="29940int007_2182.v tokoe:valid" result="pass"/><test-case name="29941int008_2183 tokoe:valid" result="pass"/><test-case name="29942int008_2183.i tokoe:invalid" result="pass"/><test-case name="29943short001_2184 tokoe:valid" result="pass"/><test-case name="29944short001_2184.i tokoe:invalid" result="pass"/><test-case name="29945short002_2185 tokoe:valid" result="pass"/><test-case name="29946short002_2185.v tokoe:valid" result="pass"/><test-case name="29947short003_2186 tokoe:valid" result="pass"/><test-case name="29948short003_2186.v tokoe:valid" result="pass"/><test-case name="29949short004_2187 tokoe:valid" result="pass"/><test-case name="29950short004_2187.v tokoe:valid" result="pass"/><test-case name="29951short005_2188 tokoe:valid" result="pass"/><test-case name="29952short005_2188.v tokoe:valid" result="pass"/><test-case name="29953short006_2189 tokoe:valid" result="pass"/><test-case name="29954short006_2189.i tokoe:invalid" result="pass"/><test-case name="29955short007_2190 tokoe:valid" result="pass"/><test-case name="29956short007_2190.v tokoe:valid" result="pass"/><test-case name="29957short008_2191 tokoe:valid" result="pass"/><test-case name="29958short008_2191.i tokoe:invalid" result="pass"/><test-case name="29959short009_2192 tokoe:valid" result="pass"/><test-case name="29960short009_2192.v tokoe:valid" result="pass"/><test-case name="29961byte001_2193 tokoe:valid" result="pass"/><test-case name="29962byte001_2193.i tokoe:invalid" result="pass"/><test-case name="29963byte002_2194 tokoe:valid" result="pass"/><test-case name="29964byte002_2194.v tokoe:valid" result="pass"/><test-case name="29965byte003_2195 tokoe:valid" result="pass"/><test-case name="29966byte003_2195.v tokoe:valid" result="pass"/><test-case name="29967byte004_2196 tokoe:valid" result="pass"/><test-case name="29968byte004_2196.v tokoe:valid" result="pass"/><test-case name="29969byte005_2197 tokoe:valid" result="pass"/><test-case name="29970byte005_2197.v tokoe:valid" result="pass"/><test-case name="29971byte006_2198 tokoe:valid" result="pass"/><test-case name="29972byte006_2198.i tokoe:invalid" result="pass"/><test-case name="29973byte007_2199 tokoe:valid" result="pass"/><test-case name="29974byte007_2199.v tokoe:valid" result="pass"/><test-case name="29975byte008_2200 tokoe:valid" result="pass"/><test-case name="29976byte008_2200.i tokoe:invalid" result="pass"/><test-case name="29977byte009_2201 tokoe:valid" result="pass"/><test-case name="29978byte009_2201.v tokoe:valid" result="pass"/><test-case name="29979nonNegativeInteger001_2202 tokoe:valid" result="pass"/><test-case name="29980nonNegativeInteger001_2202.i tokoe:invalid" result="pass"/><test-case name="29981nonNegativeInteger002_2203 tokoe:valid" result="pass"/><test-case name="29982nonNegativeInteger002_2203.i tokoe:invalid" result="pass"/><test-case name="29983nonNegativeInteger003_2204 tokoe:valid" result="pass"/><test-case name="29984nonNegativeInteger003_2204.v tokoe:valid" result="pass"/><test-case name="29985nonNegativeInteger004_2205 tokoe:valid" result="pass"/><test-case name="29986nonNegativeInteger004_2205.v tokoe:valid" result="pass"/><test-case name="29987nonNegativeInteger005_2206 tokoe:valid" result="pass"/><test-case name="29988nonNegativeInteger005_2206.v tokoe:valid" result="fail"/><test-case name="29989unsignedLong001_2207 tokoe:valid" result="pass"/><test-case name="29990unsignedLong001_2207.i tokoe:invalid" result="pass"/><test-case name="29991unsignedLong002_2208 tokoe:valid" result="pass"/><test-case name="29992unsignedLong002_2208.i tokoe:invalid" result="pass"/><test-case name="29993unsignedLong003_2209 tokoe:valid" result="pass"/><test-case name="29994unsignedLong003_2209.v tokoe:valid" result="pass"/><test-case name="29995unsignedLong004_2210 tokoe:valid" result="pass"/><test-case name="29996unsignedLong004_2210.v tokoe:valid" result="pass"/><test-case name="29997unsignedLong005_2211 tokoe:valid" result="pass"/><test-case name="29998unsignedLong005_2211.v tokoe:valid" result="pass"/><test-case name="29999unsignedLong006_2212 tokoe:valid" result="pass"/><test-case name="30000unsignedLong006_2212.i tokoe:invalid" result="pass"/><test-case name="30001unsignedLong007_2213 tokoe:valid" result="pass"/><test-case name="30002unsignedLong007_2213.v tokoe:valid" result="pass"/><test-case name="30003unsignedInt001_2214 tokoe:valid" result="pass"/><test-case name="30004unsignedInt001_2214.i tokoe:invalid" result="pass"/><test-case name="30005unsignedInt002_2215 tokoe:valid" result="pass"/><test-case name="30006unsignedInt002_2215.i tokoe:invalid" result="pass"/><test-case name="30007unsignedInt003_2216 tokoe:valid" result="pass"/><test-case name="30008unsignedInt003_2216.v tokoe:valid" result="pass"/><test-case name="30009unsignedInt004_2217 tokoe:valid" result="pass"/><test-case name="30010unsignedInt004_2217.v tokoe:valid" result="pass"/><test-case name="30011unsignedInt005_2218 tokoe:valid" result="pass"/><test-case name="30012unsignedInt005_2218.v tokoe:valid" result="pass"/><test-case name="30013unsignedInt006_2219 tokoe:valid" result="pass"/><test-case name="30014unsignedInt006_2219.i tokoe:invalid" result="pass"/><test-case name="30015unsignedInt007_2220 tokoe:valid" result="pass"/><test-case name="30016unsignedInt007_2220.v tokoe:valid" result="pass"/><test-case name="30017unsignedShort001_2221 tokoe:valid" result="pass"/><test-case name="30018unsignedShort001_2221.i tokoe:invalid" result="pass"/><test-case name="30019unsignedShort002_2222 tokoe:valid" result="pass"/><test-case name="30020unsignedShort002_2222.i tokoe:invalid" result="pass"/><test-case name="30021unsignedShort003_2223 tokoe:valid" result="pass"/><test-case name="30022unsignedShort003_2223.v tokoe:valid" result="pass"/><test-case name="30023unsignedShort004_2224 tokoe:valid" result="pass"/><test-case name="30024unsignedShort004_2224.v tokoe:valid" result="pass"/><test-case name="30025unsignedShort005_2225 tokoe:valid" result="pass"/><test-case name="30026unsignedShort005_2225.v tokoe:valid" result="pass"/><test-case name="30027unsignedShort006_2226 tokoe:valid" result="pass"/><test-case name="30028unsignedShort006_2226.i tokoe:invalid" result="pass"/><test-case name="30029unsignedShort007_2227 tokoe:valid" result="pass"/><test-case name="30030unsignedShort007_2227.v tokoe:valid" result="pass"/><test-case name="30031unsignedByte001_2228 tokoe:valid" result="pass"/><test-case name="30032unsignedByte001_2228.i tokoe:invalid" result="pass"/><test-case name="30033unsignedByte002_2229 tokoe:valid" result="pass"/><test-case name="30034unsignedByte002_2229.i tokoe:invalid" result="pass"/><test-case name="30035unsignedByte003_2230 tokoe:valid" result="pass"/><test-case name="30036unsignedByte003_2230.v tokoe:valid" result="pass"/><test-case name="30037unsignedByte004_2231 tokoe:valid" result="pass"/><test-case name="30038unsignedByte004_2231.v tokoe:valid" result="pass"/><test-case name="30039unsignedByte005_2232 tokoe:valid" result="pass"/><test-case name="30040unsignedByte005_2232.v tokoe:valid" result="pass"/><test-case name="30041unsignedByte006_2233 tokoe:valid" result="pass"/><test-case name="30042unsignedByte006_2233.i tokoe:invalid" result="pass"/><test-case name="30043unsignedByte007_2234 tokoe:valid" result="pass"/><test-case name="30044unsignedByte007_2234.v tokoe:valid" result="pass"/><test-case name="30045positiveInteger001_2235 tokoe:valid" result="pass"/><test-case name="30046positiveInteger001_2235.i tokoe:invalid" result="pass"/><test-case name="30047positiveInteger002_2236 tokoe:valid" result="pass"/><test-case name="30048positiveInteger002_2236.i tokoe:invalid" result="pass"/><test-case name="30049positiveInteger003_2237 tokoe:valid" result="pass"/><test-case name="30050positiveInteger003_2237.i tokoe:invalid" result="pass"/><test-case name="30051positiveInteger004_2238 tokoe:valid" result="pass"/><test-case name="30052positiveInteger004_2238.v tokoe:valid" result="pass"/><test-case name="30053positiveInteger005_2239 tokoe:valid" result="pass"/><test-case name="30054positiveInteger005_2239.v tokoe:valid" result="fail"/><test-case name="30055ID_test64335_2240 tokoe:valid" result="pass"/><test-case name="30056ID_test64335_2240.v tokoe:valid" result="pass"/><test-case name="30057ID_test70681_2241 tokoe:valid" result="pass"/><test-case name="30058ID_test70681_2241.v tokoe:valid" result="pass"/><test-case name="30059dtZ100507_2242 tokoe:valid" result="pass"/><test-case name="30060dtZ100507_2242.i tokoe:invalid" result="pass"/><test-case name="30061dtZ107447_2243 tokoe:valid" result="pass"/><test-case name="30062dtZ107447_2243.v tokoe:valid" result="pass"/><test-case name="30063dtZ107447_1_2244 tokoe:valid" result="pass"/><test-case name="30064dtZ107447_1_2244.v tokoe:valid" result="pass"/><test-case name="30065dtZ86723_2246 tokoe:valid" result="pass"/><test-case name="30066dtZ86723_2246.i tokoe:invalid" result="pass"/><test-case name="30067elemA001 tokoe:invalid" result="pass"/><test-case name="30068elemA002 tokoe:valid" result="pass"/><test-case name="30069elemA003 tokoe:valid" result="pass"/><test-case name="30070elemA004 tokoe:valid" result="pass"/><test-case name="30071elemA005 tokoe:valid" result="pass"/><test-case name="30072elemA006 tokoe:invalid" result="pass"/><test-case name="30073elemA007 tokoe:valid" result="pass"/><test-case name="30074elemA009 tokoe:invalid" result="pass"/><test-case name="30075elemA010 tokoe:invalid" result="pass"/><test-case name="30076elemA011 tokoe:invalid" result="pass"/><test-case name="30077elemA012 tokoe:invalid" result="pass"/><test-case name="30078elemA013 tokoe:invalid" result="pass"/><test-case name="30079elemA014 tokoe:invalid" result="pass"/><test-case name="30080elemA015 tokoe:valid" result="pass"/><test-case name="30081elemA016 tokoe:valid" result="pass"/><test-case name="30082elemA017 tokoe:valid" result="pass"/><test-case name="30083elemB001 tokoe:valid" result="pass"/><test-case name="30084elemB002 tokoe:valid" result="pass"/><test-case name="30085elemB003 tokoe:invalid" result="pass"/><test-case name="30086elemB004 tokoe:invalid" result="pass"/><test-case name="30087elemB005 tokoe:invalid" result="pass"/><test-case name="30088elemB006 tokoe:invalid" result="pass"/><test-case name="30089elemB007 tokoe:valid" result="pass"/><test-case name="30090elemB008 tokoe:valid" result="pass"/><test-case name="30091elemB009 tokoe:invalid" result="pass"/><test-case name="30092elemB010 tokoe:invalid" result="pass"/><test-case name="30093elemC001 tokoe:valid" result="pass"/><test-case name="30094elemC002 tokoe:valid" result="pass"/><test-case name="30095elemC003 tokoe:valid" result="pass"/><test-case name="30096elemC004 tokoe:valid" result="pass"/><test-case name="30097elemC005 tokoe:valid" result="pass"/><test-case name="30098elemC006 tokoe:valid" result="pass"/><test-case name="30099elemC007 tokoe:valid" result="pass"/><test-case name="30100elemC008 tokoe:valid" result="pass"/><test-case name="30101elemC009 tokoe:invalid" result="pass"/><test-case name="30102elemC010 tokoe:invalid" result="pass"/><test-case name="30103elemC011 tokoe:invalid" result="pass"/><test-case name="30104elemC012 tokoe:invalid" result="pass"/><test-case name="30105elemC013 tokoe:invalid" result="pass"/><test-case name="30106elemC014 tokoe:invalid" result="pass"/><test-case name="30107elemC015 tokoe:invalid" result="pass"/><test-case name="30108elemC016 tokoe:invalid" result="pass"/><test-case name="30109elemC017 tokoe:invalid" result="pass"/><test-case name="30110elemC018 tokoe:valid" result="pass"/><test-case name="30111elemC020 tokoe:valid" result="pass"/><test-case name="30112elemD001 tokoe:valid" result="pass"/><test-case name="30113elemD002 tokoe:valid" result="pass"/><test-case name="30114elemD003 tokoe:invalid" result="pass"/><test-case name="30115elemD004 tokoe:invalid" result="pass"/><test-case name="30116elemD005 tokoe:invalid" result="pass"/><test-case name="30117elemD006 tokoe:valid" result="pass"/><test-case name="30118elemE006 tokoe:invalid" result="pass"/><test-case name="30119elemE007 tokoe:invalid" result="pass"/><test-case name="30120elemE008 tokoe:invalid" result="pass"/><test-case name="30121elemE009 tokoe:invalid" result="pass"/><test-case name="30122elemF001 tokoe:valid" result="pass"/><test-case name="30123elemF002 tokoe:valid" result="pass"/><test-case name="30124elemF003 tokoe:valid" result="pass"/><test-case name="30125elemF004 tokoe:invalid" result="pass"/><test-case name="30126elemF005 tokoe:valid" result="pass"/><test-case name="30127elemF006 tokoe:invalid" result="pass"/><test-case name="30128elemF007 tokoe:invalid" result="pass"/><test-case name="30129elemF008 tokoe:invalid" result="pass"/><test-case name="30130elemF009 tokoe:invalid" result="pass"/><test-case name="30131elemF010 tokoe:invalid" result="pass"/><test-case name="30132elemF011 tokoe:invalid" result="pass"/><test-case name="30133elemF012 tokoe:invalid" result="pass"/><test-case name="30134elemF013 tokoe:invalid" result="pass"/><test-case name="30135elemF014 tokoe:invalid" result="pass"/><test-case name="30136elemF015 tokoe:invalid" result="pass"/><test-case name="30137elemF016 tokoe:invalid" result="pass"/><test-case name="30138elemF017 tokoe:invalid" result="pass"/><test-case name="30139elemF018 tokoe:valid" result="pass"/><test-case name="30140elemG001 tokoe:valid" result="pass"/><test-case name="30141elemG002 tokoe:valid" result="pass"/><test-case name="30142elemG003 tokoe:invalid" result="pass"/><test-case name="30143elemG004 tokoe:invalid" result="pass"/><test-case name="30144elemG005 tokoe:valid" result="pass"/><test-case name="30145elemH001 tokoe:valid" result="pass"/><test-case name="30146elemH002 tokoe:valid" result="pass"/><test-case name="30147elemH003 tokoe:invalid" result="pass"/><test-case name="30148elemH004 tokoe:invalid" result="pass"/><test-case name="30149elemH005 tokoe:invalid" result="pass"/><test-case name="30150elemH006 tokoe:invalid" result="pass"/><test-case name="30151elemI001 tokoe:valid" result="pass"/><test-case name="30152elemI002 tokoe:valid" result="pass"/><test-case name="30153elemI003 tokoe:invalid" result="pass"/><test-case name="30154elemI004 tokoe:invalid" result="pass"/><test-case name="30155elemI005 tokoe:invalid" result="pass"/><test-case name="30156elemJ002 tokoe:valid" result="pass"/><test-case name="30157elemJ004 tokoe:valid" result="pass"/><test-case name="30158elemJ005 tokoe:valid" result="pass"/><test-case name="30159elemJ006 tokoe:invalid" result="pass"/><test-case name="30160elemJ007 tokoe:invalid" result="pass"/><test-case name="30161elemJ008 tokoe:invalid" result="pass"/><test-case name="30162elemJ009 tokoe:valid" result="pass"/><test-case name="30163elemJ010 tokoe:valid" result="pass"/><test-case name="30164elemJ012 tokoe:invalid" result="pass"/><test-case name="30165elemJ013 tokoe:valid" result="pass"/><test-case name="30166elemJ014 tokoe:invalid" result="pass"/><test-case name="30167elemJ015 tokoe:invalid" result="pass"/><test-case name="30168elemJ016 tokoe:invalid" result="pass"/><test-case name="30169elemJ017 tokoe:valid" result="pass"/><test-case name="30170elemJ018 tokoe:valid" result="pass"/><test-case name="30171elemJ019 tokoe:invalid" result="pass"/><test-case name="30172elemJ020 tokoe:invalid" result="pass"/><test-case name="30173elemJ021 tokoe:valid" result="pass"/><test-case name="30174elemK001 tokoe:valid" result="pass"/><test-case name="30175elemK002 tokoe:valid" result="pass"/><test-case name="30176elemK003 tokoe:invalid" result="pass"/><test-case name="30177elemK004 tokoe:invalid" result="pass"/><test-case name="30178elemK005 tokoe:invalid" result="pass"/><test-case name="30179elemK006 tokoe:invalid" result="pass"/><test-case name="30180elemK007 tokoe:invalid" result="pass"/><test-case name="30181elemL001 tokoe:valid" result="pass"/><test-case name="30182elemL002 tokoe:invalid" result="pass"/><test-case name="30183elemL003 tokoe:invalid" result="pass"/><test-case name="30184elemL004 tokoe:valid" result="pass"/><test-case name="30185elemL005 tokoe:valid" result="pass"/><test-case name="30186elemM001 tokoe:valid" result="pass"/><test-case name="30187elemM002 tokoe:invalid" result="pass"/><test-case name="30188elemM003 tokoe:invalid" result="pass"/><test-case name="30189elemM004 tokoe:valid" result="pass"/><test-case name="30190elemM005 tokoe:invalid" result="pass"/><test-case name="30191elemN001 tokoe:valid" result="pass"/><test-case name="30192elemN002 tokoe:valid" result="pass"/><test-case name="30193elemN003 tokoe:valid" result="pass"/><test-case name="30194elemN004 tokoe:valid" result="pass"/><test-case name="30195elemN005 tokoe:valid" result="pass"/><test-case name="30196elemN006 tokoe:invalid" result="pass"/><test-case name="30197elemO001 tokoe:valid" result="pass"/><test-case name="30198elemO001.i tokoe:invalid" result="pass"/><test-case name="30199elemO002 tokoe:valid" result="pass"/><test-case name="30200elemO002.v tokoe:valid" result="pass"/><test-case name="30201elemO003 tokoe:valid" result="pass"/><test-case name="30202elemO003.v tokoe:valid" result="pass"/><test-case name="30203elemO004 tokoe:valid" result="pass"/><test-case name="30204elemO004.v tokoe:valid" result="pass"/><test-case name="30205elemO005 tokoe:valid" result="pass"/><test-case name="30206elemO005.v tokoe:valid" result="pass"/><test-case name="30207elemO006 tokoe:valid" result="pass"/><test-case name="30208elemO006.v tokoe:valid" result="pass"/><test-case name="30209elemO007 tokoe:valid" result="pass"/><test-case name="30210elemO007.i tokoe:invalid" result="pass"/><test-case name="30211elemO008 tokoe:valid" result="pass"/><test-case name="30212elemO008.v tokoe:valid" result="pass"/><test-case name="30213elemO009 tokoe:valid" result="pass"/><test-case name="30214elemO009.v tokoe:valid" result="pass"/><test-case name="30215elemO010 tokoe:valid" result="pass"/><test-case name="30216elemO010.i tokoe:invalid" result="pass"/><test-case name="30217elemO011 tokoe:valid" result="pass"/><test-case name="30218elemO011.i tokoe:invalid" result="pass"/><test-case name="30219elemO012 tokoe:valid" result="pass"/><test-case name="30220elemO012.v tokoe:valid" result="pass"/><test-case name="30221elemP001 tokoe:invalid" result="pass"/><test-case name="30222elemP002 tokoe:invalid" result="pass"/><test-case name="30223elemP003 tokoe:valid" result="pass"/><test-case name="30224elemP004 tokoe:valid" result="pass"/><test-case name="30225elemP005 tokoe:invalid" result="pass"/><test-case name="30226elemP006 tokoe:invalid" result="pass"/><test-case name="30227elemP007 tokoe:invalid" result="pass"/><test-case name="30228elemP008 tokoe:invalid" result="pass"/><test-case name="30229elemP009 tokoe:invalid" result="pass"/><test-case name="30230elemQ001 tokoe:valid" result="pass"/><test-case name="30231elemQ002 tokoe:valid" result="pass"/><test-case name="30232elemQ003 tokoe:valid" result="pass"/><test-case name="30233elemQ004 tokoe:invalid" result="pass"/><test-case name="30234elemQ005 tokoe:valid" result="pass"/><test-case name="30235elemQ006 tokoe:invalid" result="pass"/><test-case name="30236elemQ007 tokoe:valid" result="pass"/><test-case name="30237elemQ007.i tokoe:invalid" result="pass"/><test-case name="30238elemQ008 tokoe:valid" result="pass"/><test-case name="30239elemQ008.v tokoe:valid" result="pass"/><test-case name="30240elemQ009 tokoe:valid" result="pass"/><test-case name="30241elemQ009.i tokoe:invalid" result="pass"/><test-case name="30242elemQ010 tokoe:valid" result="pass"/><test-case name="30243elemQ010.i tokoe:invalid" result="pass"/><test-case name="30244elemQ011 tokoe:valid" result="pass"/><test-case name="30245elemQ011.v tokoe:valid" result="pass"/><test-case name="30246elemQ012 tokoe:valid" result="pass"/><test-case name="30247elemQ012.i tokoe:invalid" result="pass"/><test-case name="30248elemQ013 tokoe:valid" result="pass"/><test-case name="30249elemQ013.v tokoe:valid" result="pass"/><test-case name="30250elemQ014 tokoe:valid" result="pass"/><test-case name="30251elemQ014.i tokoe:invalid" result="pass"/><test-case name="30252elemQ015 tokoe:valid" result="pass"/><test-case name="30253elemQ015.v tokoe:valid" result="pass"/><test-case name="30254elemQ016 tokoe:valid" result="pass"/><test-case name="30255elemQ017 tokoe:valid" result="pass"/><test-case name="30256elemQ017.v tokoe:valid" result="pass"/><test-case name="30257elemQ018 tokoe:valid" result="pass"/><test-case name="30258elemQ018.i tokoe:invalid" result="pass"/><test-case name="30259elemQ019 tokoe:valid" result="pass"/><test-case name="30260elemQ019.v tokoe:valid" result="pass"/><test-case name="30261elemQ020 tokoe:valid" result="pass"/><test-case name="30262elemQ020.v tokoe:valid" result="pass"/><test-case name="30263elemQ021 tokoe:valid" result="pass"/><test-case name="30264elemQ021.v tokoe:valid" result="pass"/><test-case name="30265elemQ022 tokoe:valid" result="pass"/><test-case name="30266elemQ022.v tokoe:valid" result="pass"/><test-case name="30267elemR001 tokoe:valid" result="pass"/><test-case name="30268elemR001.v tokoe:valid" result="pass"/><test-case name="30269elemR002 tokoe:valid" result="pass"/><test-case name="30270elemR002.v tokoe:valid" result="pass"/><test-case name="30271elemR003 tokoe:invalid" result="pass"/><test-case name="30272elemR004 tokoe:valid" result="pass"/><test-case name="30273elemR004.v tokoe:valid" result="pass"/><test-case name="30274elemR005 tokoe:valid" result="pass"/><test-case name="30275elemR005.v tokoe:valid" result="pass"/><test-case name="30276elemR006 tokoe:invalid" result="pass"/><test-case name="30277elemS001 tokoe:invalid" result="pass"/><test-case name="30278elemS002 tokoe:valid" result="pass"/><test-case name="30279elemS002.v tokoe:valid" result="pass"/><test-case name="30280elemS003 tokoe:valid" result="pass"/><test-case name="30281elemS003.v tokoe:valid" result="pass"/><test-case name="30282elemS004 tokoe:invalid" result="pass"/><test-case name="30283elemS005 tokoe:invalid" result="pass"/><test-case name="30284elemS006 tokoe:invalid" result="pass"/><test-case name="30285elemS007 tokoe:valid" result="pass"/><test-case name="30286elemS007.v tokoe:valid" result="pass"/><test-case name="30287elemS008 tokoe:valid" result="pass"/><test-case name="30288elemS008.v tokoe:valid" result="pass"/><test-case name="30289elemT001 tokoe:valid" result="pass"/><test-case name="30290elemT001.i tokoe:invalid" result="pass"/><test-case name="30291elemT002 tokoe:valid" result="pass"/><test-case name="30292elemT002.v tokoe:valid" result="pass"/><test-case name="30293elemT003 tokoe:valid" result="pass"/><test-case name="30294elemT003.v tokoe:valid" result="pass"/><test-case name="30295elemT004 tokoe:valid" result="pass"/><test-case name="30296elemT004.i tokoe:invalid" result="pass"/><test-case name="30297elemT005 tokoe:valid" result="pass"/><test-case name="30298elemT005.i tokoe:invalid" result="pass"/><test-case name="30299elemT006 tokoe:valid" result="pass"/><test-case name="30300elemT006.i tokoe:invalid" result="pass"/><test-case name="30301elemT007 tokoe:valid" result="pass"/><test-case name="30302elemT007.v tokoe:valid" result="pass"/><test-case name="30303elemT008 tokoe:valid" result="pass"/><test-case name="30304elemT008.v tokoe:valid" result="pass"/><test-case name="30305elemT009 tokoe:invalid" result="pass"/><test-case name="30306elemT010 tokoe:invalid" result="pass"/><test-case name="30307elemT011 tokoe:valid" result="pass"/><test-case name="30308elemT011.i tokoe:invalid" result="pass"/><test-case name="30309elemT012 tokoe:valid" result="pass"/><test-case name="30310elemT012.i tokoe:invalid" result="pass"/><test-case name="30311elemT013 tokoe:valid" result="pass"/><test-case name="30312elemT013.i tokoe:invalid" result="pass"/><test-case name="30313elemT014 tokoe:valid" result="pass"/><test-case name="30314elemT014.v tokoe:valid" result="pass"/><test-case name="30315elemT015 tokoe:valid" result="pass"/><test-case name="30316elemT015.v tokoe:valid" result="pass"/><test-case name="30317elemT016 tokoe:valid" result="pass"/><test-case name="30318elemT016.v tokoe:valid" result="pass"/><test-case name="30319elemT017 tokoe:valid" result="pass"/><test-case name="30320elemT017.i tokoe:invalid" result="pass"/><test-case name="30321elemT018 tokoe:valid" result="pass"/><test-case name="30322elemT018.i tokoe:invalid" result="pass"/><test-case name="30323elemT019 tokoe:valid" result="pass"/><test-case name="30324elemT019.i tokoe:invalid" result="pass"/><test-case name="30325elemT020 tokoe:valid" result="pass"/><test-case name="30326elemT020.i tokoe:invalid" result="pass"/><test-case name="30327elemT021 tokoe:valid" result="pass"/><test-case name="30328elemT021.i tokoe:invalid" result="pass"/><test-case name="30329elemT022 tokoe:valid" result="pass"/><test-case name="30330elemT022.i tokoe:invalid" result="pass"/><test-case name="30331elemT023 tokoe:valid" result="pass"/><test-case name="30332elemT023.i tokoe:invalid" result="pass"/><test-case name="30333elemT024 tokoe:valid" result="pass"/><test-case name="30334elemT024.i tokoe:invalid" result="pass"/><test-case name="30335elemT025 tokoe:valid" result="pass"/><test-case name="30336elemT025.v tokoe:valid" result="pass"/><test-case name="30337elemT030 tokoe:valid" result="pass"/><test-case name="30338elemT030.v tokoe:valid" result="pass"/><test-case name="30339elemT031 tokoe:valid" result="pass"/><test-case name="30340elemT031.i tokoe:invalid" result="pass"/><test-case name="30341elemT032 tokoe:valid" result="pass"/><test-case name="30342elemT032.v tokoe:valid" result="pass"/><test-case name="30343elemT033 tokoe:valid" result="pass"/><test-case name="30344elemT033.i tokoe:invalid" result="pass"/><test-case name="30345elemT034 tokoe:valid" result="pass"/><test-case name="30346elemT034.i tokoe:invalid" result="pass"/><test-case name="30347elemT035 tokoe:valid" result="pass"/><test-case name="30348elemT035.i tokoe:invalid" result="pass"/><test-case name="30349elemT036 tokoe:valid" result="pass"/><test-case name="30350elemT036.i tokoe:invalid" result="pass"/><test-case name="30351elemT037 tokoe:valid" result="pass"/><test-case name="30352elemT037.i tokoe:invalid" result="pass"/><test-case name="30353elemT038 tokoe:valid" result="pass"/><test-case name="30354elemT038.v tokoe:valid" result="pass"/><test-case name="30355elemT039 tokoe:valid" result="pass"/><test-case name="30356elemT039.i tokoe:invalid" result="pass"/><test-case name="30357elemT040 tokoe:valid" result="pass"/><test-case name="30358elemT040.v tokoe:valid" result="pass"/><test-case name="30359elemT041 tokoe:valid" result="pass"/><test-case name="30360elemT041.v tokoe:valid" result="pass"/><test-case name="30361elemT042 tokoe:valid" result="pass"/><test-case name="30362elemT042.v tokoe:valid" result="pass"/><test-case name="30363elemT043 tokoe:valid" result="pass"/><test-case name="30364elemT043.v tokoe:valid" result="pass"/><test-case name="30365elemT044 tokoe:valid" result="pass"/><test-case name="30366elemT044.v tokoe:valid" result="pass"/><test-case name="30367elemT045 tokoe:valid" result="pass"/><test-case name="30368elemT045.i tokoe:invalid" result="pass"/><test-case name="30369elemT046 tokoe:valid" result="pass"/><test-case name="30370elemT046.i tokoe:invalid" result="pass"/><test-case name="30371elemT047 tokoe:valid" result="pass"/><test-case name="30372elemT047.i tokoe:invalid" result="pass"/><test-case name="30373elemT048 tokoe:valid" result="pass"/><test-case name="30374elemT048.i tokoe:invalid" result="pass"/><test-case name="30375elemT049 tokoe:valid" result="pass"/><test-case name="30376elemT049.i tokoe:invalid" result="pass"/><test-case name="30377elemT050 tokoe:valid" result="pass"/><test-case name="30378elemT050.i tokoe:invalid" result="pass"/><test-case name="30379elemT051 tokoe:valid" result="pass"/><test-case name="30380elemT051.i tokoe:invalid" result="pass"/><test-case name="30381elemT052 tokoe:valid" result="pass"/><test-case name="30382elemT052.i tokoe:invalid" result="pass"/><test-case name="30383elemT053 tokoe:valid" result="pass"/><test-case name="30384elemT053.i tokoe:invalid" result="pass"/><test-case name="30385elemT058 tokoe:valid" result="pass"/><test-case name="30386elemT058.v tokoe:valid" result="pass"/><test-case name="30387elemT059 tokoe:valid" result="pass"/><test-case name="30388elemT059.i tokoe:invalid" result="pass"/><test-case name="30389elemT060 tokoe:valid" result="pass"/><test-case name="30390elemT060.i tokoe:invalid" result="pass"/><test-case name="30391elemT061 tokoe:valid" result="pass"/><test-case name="30392elemT061.i tokoe:invalid" result="pass"/><test-case name="30393elemT062 tokoe:valid" result="pass"/><test-case name="30394elemT062.v tokoe:valid" result="pass"/><test-case name="30395elemT063 tokoe:valid" result="pass"/><test-case name="30396elemT063.i tokoe:invalid" result="pass"/><test-case name="30397elemT064 tokoe:valid" result="pass"/><test-case name="30398elemT064.v tokoe:valid" result="pass"/><test-case name="30399elemT065 tokoe:valid" result="pass"/><test-case name="30400elemT065.i tokoe:invalid" result="pass"/><test-case name="30401elemT066 tokoe:valid" result="pass"/><test-case name="30402elemT066.v tokoe:valid" result="pass"/><test-case name="30403elemT067 tokoe:valid" result="pass"/><test-case name="30404elemT067.v tokoe:valid" result="pass"/><test-case name="30405elemT068 tokoe:valid" result="pass"/><test-case name="30406elemT068.i tokoe:invalid" result="pass"/><test-case name="30407elemT069 tokoe:valid" result="pass"/><test-case name="30408elemT069.i tokoe:invalid" result="pass"/><test-case name="30409elemT070 tokoe:valid" result="pass"/><test-case name="30410elemT070.i tokoe:invalid" result="pass"/><test-case name="30411elemT071 tokoe:valid" result="pass"/><test-case name="30412elemT071.v tokoe:valid" result="pass"/><test-case name="30413elemT072 tokoe:valid" result="pass"/><test-case name="30414elemT072.v tokoe:valid" result="pass"/><test-case name="30415elemT073 tokoe:valid" result="pass"/><test-case name="30416elemT073.v tokoe:valid" result="pass"/><test-case name="30417elemT074 tokoe:valid" result="pass"/><test-case name="30418elemT074.i tokoe:invalid" result="pass"/><test-case name="30419elemU001 tokoe:valid" result="pass"/><test-case name="30420elemU001.v tokoe:valid" result="pass"/><test-case name="30421elemU002 tokoe:valid" result="pass"/><test-case name="30422elemU002.v tokoe:valid" result="pass"/><test-case name="30423elemU003 tokoe:valid" result="pass"/><test-case name="30424elemU003.v tokoe:valid" result="pass"/><test-case name="30425elemU004 tokoe:valid" result="pass"/><test-case name="30426elemU004.v tokoe:valid" result="pass"/><test-case name="30427elemU005 tokoe:valid" result="pass"/><test-case name="30428elemU005.v tokoe:valid" result="pass"/><test-case name="30429elemU006 tokoe:valid" result="pass"/><test-case name="30430elemU006.v tokoe:valid" result="pass"/><test-case name="30431elemU007 tokoe:valid" result="pass"/><test-case name="30432elemU007.v tokoe:valid" result="pass"/><test-case name="30433elemU008 tokoe:valid" result="pass"/><test-case name="30434elemU008.v tokoe:valid" result="pass"/><test-case name="30435elemU009 tokoe:valid" result="pass"/><test-case name="30436elemU009.v tokoe:valid" result="pass"/><test-case name="30437elemU010 tokoe:valid" result="pass"/><test-case name="30438elemU010.v tokoe:valid" result="pass"/><test-case name="30439elemU011 tokoe:valid" result="pass"/><test-case name="30440elemU011.v tokoe:valid" result="pass"/><test-case name="30441elemU012 tokoe:valid" result="pass"/><test-case name="30442elemU012.v tokoe:valid" result="pass"/><test-case name="30443elemU013 tokoe:valid" result="pass"/><test-case name="30444elemU013.v tokoe:valid" result="pass"/><test-case name="30445elemU014 tokoe:valid" result="pass"/><test-case name="30446elemU014.v tokoe:valid" result="pass"/><test-case name="30447elemU015 tokoe:valid" result="pass"/><test-case name="30448elemU015.v tokoe:valid" result="pass"/><test-case name="30449elemU017 tokoe:valid" result="pass"/><test-case name="30450elemU017.v tokoe:valid" result="pass"/><test-case name="30451elemU018 tokoe:valid" result="pass"/><test-case name="30452elemU018.v tokoe:valid" result="pass"/><test-case name="30453elemU019 tokoe:valid" result="pass"/><test-case name="30454elemU019.v tokoe:valid" result="pass"/><test-case name="30455elemU020 tokoe:valid" result="pass"/><test-case name="30456elemU020.v tokoe:valid" result="pass"/><test-case name="30457elemU021 tokoe:valid" result="pass"/><test-case name="30458elemU021.v tokoe:valid" result="pass"/><test-case name="30459elemU022 tokoe:valid" result="pass"/><test-case name="30460elemU022.v tokoe:valid" result="pass"/><test-case name="30461elemU023 tokoe:valid" result="pass"/><test-case name="30462elemU023.v tokoe:valid" result="pass"/><test-case name="30463elemU024 tokoe:valid" result="pass"/><test-case name="30464elemU024.v tokoe:valid" result="pass"/><test-case name="30465elemU025 tokoe:valid" result="pass"/><test-case name="30466elemU025.i tokoe:invalid" result="pass"/><test-case name="30467elemZ001 tokoe:valid" result="pass"/><test-case name="30468elemZ001.v tokoe:valid" result="pass"/><test-case name="30469elemZ002 tokoe:valid" result="pass"/><test-case name="30470elemZ002.v tokoe:valid" result="pass"/><test-case name="30471elemZ003 tokoe:valid" result="pass"/><test-case name="30472elemZ003.v tokoe:valid" result="pass"/><test-case name="30473elemZ005 tokoe:valid" result="pass"/><test-case name="30474elemZ008 tokoe:valid" result="pass"/><test-case name="30475elemZ009 tokoe:valid" result="pass"/><test-case name="30476elemZ009.v tokoe:valid" result="pass"/><test-case name="30477elemZ010 tokoe:valid" result="pass"/><test-case name="30478elemZ010.v tokoe:valid" result="pass"/><test-case name="30479elemZ011 tokoe:valid" result="pass"/><test-case name="30480elemZ012 tokoe:invalid" result="pass"/><test-case name="30481elemZ014 tokoe:valid" result="pass"/><test-case name="30482elemZ014.v tokoe:valid" result="pass"/><test-case name="30483elemZ015 tokoe:valid" result="pass"/><test-case name="30484elemZ015.i tokoe:invalid" result="pass"/><test-case name="30485elemZ016 tokoe:valid" result="pass"/><test-case name="30486elemZ016.i tokoe:invalid" result="pass"/><test-case name="30487elemZ017.v tokoe:valid" result="pass"/><test-case name="30488elemZ018 tokoe:valid" result="pass"/><test-case name="30489elemZ018.v tokoe:valid" result="pass"/><test-case name="30490elemZ019 tokoe:valid" result="pass"/><test-case name="30491elemZ019.v tokoe:valid" result="pass"/><test-case name="30492elemZ021a tokoe:valid" result="pass"/><test-case name="30493elemZ021a.v tokoe:valid" result="pass"/><test-case name="30494elemZ021b tokoe:valid" result="pass"/><test-case name="30495elemZ021b.i tokoe:invalid" result="pass"/><test-case name="30496elemZ021c tokoe:valid" result="pass"/><test-case name="30497elemZ021c.v tokoe:valid" result="pass"/><test-case name="30498elemZ021d tokoe:valid" result="pass"/><test-case name="30499elemZ021d.v tokoe:valid" result="pass"/><test-case name="30500elemZ021e tokoe:valid" result="pass"/><test-case name="30501elemZ021e.v tokoe:valid" result="pass"/><test-case name="30502elemZ021f tokoe:valid" result="pass"/><test-case name="30503elemZ021f.i tokoe:invalid" result="pass"/><test-case name="30504elemZ021g tokoe:valid" result="pass"/><test-case name="30505elemZ021g.i tokoe:invalid" result="pass"/><test-case name="30506elemZ022a tokoe:valid" result="pass"/><test-case name="30507elemZ022a.i tokoe:invalid" result="pass"/><test-case name="30508elemZ022b tokoe:valid" result="pass"/><test-case name="30509elemZ022b.v tokoe:valid" result="pass"/><test-case name="30510elemZ023 tokoe:valid" result="pass"/><test-case name="30511elemZ023.i tokoe:invalid" result="pass"/><test-case name="30512QFE1700a1 tokoe:valid" result="pass"/><test-case name="30513QFE1700a1.v tokoe:valid" result="pass"/><test-case name="30514QFE1700a2 tokoe:valid" result="pass"/><test-case name="30515QFE1700a2.v tokoe:valid" result="pass"/><test-case name="30516QFE1700a3 tokoe:valid" result="pass"/><test-case name="30517QFE1700a3.v tokoe:valid" result="pass"/><test-case name="30518QFE1700b1 tokoe:valid" result="pass"/><test-case name="30519QFE1700b1.v tokoe:valid" result="pass"/><test-case name="30520QFE1700b2 tokoe:valid" result="pass"/><test-case name="30521QFE1700b2.v tokoe:valid" result="pass"/><test-case name="30522QFE1700c1 tokoe:valid" result="pass"/><test-case name="30523QFE1700c1.i tokoe:invalid" result="pass"/><test-case name="30524QFE1700c2 tokoe:valid" result="pass"/><test-case name="30525QFE1700c2.v tokoe:valid" result="pass"/><test-case name="30526QFE1700d1 tokoe:valid" result="pass"/><test-case name="30527QFE1700d1.i tokoe:invalid" result="pass"/><test-case name="30528QFE1700e1 tokoe:valid" result="pass"/><test-case name="30529QFE1700e1.v tokoe:valid" result="pass"/><test-case name="30530QFE1700e2 tokoe:valid" result="pass"/><test-case name="30531QFE1700e2.v tokoe:valid" result="pass"/><test-case name="30532QFE1700e3 tokoe:valid" result="pass"/><test-case name="30533QFE1700e3.i tokoe:invalid" result="pass"/><test-case name="30534QFE1700f1 tokoe:valid" result="pass"/><test-case name="30535QFE1700f1.v tokoe:valid" result="pass"/><test-case name="30536QFE1700f2 tokoe:valid" result="pass"/><test-case name="30537QFE1700f2.v tokoe:valid" result="pass"/><test-case name="30538QFE1700f3 tokoe:valid" result="pass"/><test-case name="30539QFE1700f3.i tokoe:invalid" result="pass"/><test-case name="30540QFE1700g1 tokoe:valid" result="pass"/><test-case name="30541QFE1700g1.i tokoe:invalid" result="pass"/><test-case name="30542QFE1700g2 tokoe:valid" result="pass"/><test-case name="30543QFE1700g2.v tokoe:valid" result="pass"/><test-case name="30544elemZ025 tokoe:valid" result="pass"/><test-case name="30545elemZ027_a tokoe:valid" result="pass"/><test-case name="30546elemZ027_b tokoe:valid" result="pass"/><test-case name="30547elemZ027_e tokoe:valid" result="pass"/><test-case name="30548elemZ027_f tokoe:valid" result="pass"/><test-case name="30549elemZ028a tokoe:valid" result="pass"/><test-case name="30550elemZ028b tokoe:invalid" result="pass"/><test-case name="30551elemZ028e tokoe:invalid" result="pass"/><test-case name="30552elemZ029 tokoe:valid" result="pass"/><test-case name="30553elemZ029.v tokoe:valid" result="pass"/><test-case name="30554elemZ030 tokoe:invalid" result="pass"/><test-case name="30555elemZ032a tokoe:invalid" result="pass"/><test-case name="30556elemZ032b tokoe:invalid" result="pass"/><test-case name="30557elemZ033b.v tokoe:valid" result="pass"/><test-case name="30558errA001 tokoe:valid" result="pass"/><test-case name="30559errA001.v tokoe:valid" result="pass"/><test-case name="30560errA002 tokoe:valid" result="pass"/><test-case name="30561errA002.i tokoe:invalid" result="pass"/><test-case name="30562errA003 tokoe:valid" result="pass"/><test-case name="30563errA003.v tokoe:valid" result="pass"/><test-case name="30564errC001 tokoe:valid" result="pass"/><test-case name="30565errC001.v tokoe:valid" result="pass"/><test-case name="30566errC002 tokoe:valid" result="pass"/><test-case name="30567errC003 tokoe:valid" result="pass"/><test-case name="30568errC004 tokoe:valid" result="pass"/><test-case name="30569errC005 tokoe:invalid" result="pass"/><test-case name="30570errC006 tokoe:invalid" result="pass"/><test-case name="30571errC007 tokoe:valid" result="pass"/><test-case name="30572errC007.v tokoe:valid" result="pass"/><test-case name="30573errC008 tokoe:invalid" result="pass"/><test-case name="30574errC009 tokoe:invalid" result="pass"/><test-case name="30575errE001 tokoe:valid" result="pass"/><test-case name="30576errE001.v tokoe:valid" result="pass"/><test-case name="30577errE002 tokoe:valid" result="pass"/><test-case name="30578errE002.v tokoe:valid" result="pass"/><test-case name="30579errE003 tokoe:valid" result="pass"/><test-case name="30580errE003.v tokoe:valid" result="pass"/><test-case name="30581errE004 tokoe:valid" result="pass"/><test-case name="30582errE004.i tokoe:invalid" result="pass"/><test-case name="30583errE006 tokoe:valid" result="pass"/><test-case name="30584errE006.v tokoe:valid" result="fail"/><test-case name="30585errE008 tokoe:valid" result="pass"/><test-case name="30586errE008.v tokoe:valid" result="pass"/><test-case name="30587groupA001 tokoe:valid" result="pass"/><test-case name="30588groupA002 tokoe:valid" result="pass"/><test-case name="30589groupA003 tokoe:invalid" result="pass"/><test-case name="30590groupA004 tokoe:invalid" result="pass"/><test-case name="30591groupA005 tokoe:invalid" result="pass"/><test-case name="30592groupA006 tokoe:valid" result="pass"/><test-case name="30593groupA007 tokoe:valid" result="pass"/><test-case name="30594groupA008 tokoe:invalid" result="pass"/><test-case name="30595groupA009 tokoe:invalid" result="pass"/><test-case name="30596groupA010 tokoe:invalid" result="pass"/><test-case name="30597groupA011 tokoe:valid" result="pass"/><test-case name="30598groupA012 tokoe:invalid" result="pass"/><test-case name="30599groupB001 tokoe:invalid" result="pass"/><test-case name="30600groupB002v tokoe:valid" result="pass"/><test-case name="30601groupB002v.v tokoe:valid" result="pass"/><test-case name="30602groupB003v tokoe:valid" result="pass"/><test-case name="30603groupB003v.v tokoe:valid" result="pass"/><test-case name="30604groupB004v tokoe:valid" result="pass"/><test-case name="30605groupB004v.v tokoe:valid" result="pass"/><test-case name="30606groupB005v tokoe:valid" result="pass"/><test-case name="30607groupB005v.v tokoe:valid" result="pass"/><test-case name="30608groupB006v tokoe:valid" result="pass"/><test-case name="30609groupB006v.v tokoe:valid" result="pass"/><test-case name="30610groupB007 tokoe:invalid" result="pass"/><test-case name="30611groupB008 tokoe:invalid" result="pass"/><test-case name="30612groupB009v tokoe:valid" result="pass"/><test-case name="30613groupB009v.v tokoe:valid" result="pass"/><test-case name="30614groupB010v tokoe:valid" result="pass"/><test-case name="30615groupB010v.v tokoe:valid" result="pass"/><test-case name="30616groupB011 tokoe:invalid" result="pass"/><test-case name="30617groupB012 tokoe:invalid" result="pass"/><test-case name="30618groupB013 tokoe:invalid" result="pass"/><test-case name="30619groupB014 tokoe:invalid" result="pass"/><test-case name="30620groupB015 tokoe:invalid" result="pass"/><test-case name="30621groupB016 tokoe:invalid" result="pass"/><test-case name="30622groupB017 tokoe:valid" result="pass"/><test-case name="30623groupB018 tokoe:valid" result="pass"/><test-case name="30624groupC001 tokoe:invalid" result="pass"/><test-case name="30625groupC002 tokoe:invalid" result="pass"/><test-case name="30626groupC003 tokoe:invalid" result="pass"/><test-case name="30627groupC004 tokoe:invalid" result="pass"/><test-case name="30628groupC005 tokoe:invalid" result="pass"/><test-case name="30629groupC006 tokoe:invalid" result="pass"/><test-case name="30630groupC007 tokoe:invalid" result="pass"/><test-case name="30631groupC008 tokoe:invalid" result="pass"/><test-case name="30632groupC009 tokoe:invalid" result="pass"/><test-case name="30633groupC010 tokoe:invalid" result="pass"/><test-case name="30634groupC011 tokoe:valid" result="pass"/><test-case name="30635groupC012 tokoe:invalid" result="pass"/><test-case name="30636groupD001 tokoe:invalid" result="pass"/><test-case name="30637groupD002 tokoe:invalid" result="pass"/><test-case name="30638groupD003 tokoe:invalid" result="pass"/><test-case name="30639groupD004 tokoe:invalid" result="pass"/><test-case name="30640groupE002 tokoe:invalid" result="pass"/><test-case name="30641groupE003v tokoe:valid" result="pass"/><test-case name="30642groupE003v.i tokoe:invalid" result="pass"/><test-case name="30643groupE004v tokoe:valid" result="pass"/><test-case name="30644groupE004v.v tokoe:valid" result="pass"/><test-case name="30645groupE005v tokoe:valid" result="pass"/><test-case name="30646groupE005v.i tokoe:invalid" result="pass"/><test-case name="30647groupF001v tokoe:valid" result="pass"/><test-case name="30648groupF001v.v tokoe:valid" result="pass"/><test-case name="30649groupF002v tokoe:valid" result="pass"/><test-case name="30650groupF002v.v tokoe:valid" result="pass"/><test-case name="30651groupF003v tokoe:valid" result="pass"/><test-case name="30652groupF003v.i tokoe:invalid" result="pass"/><test-case name="30653groupF004v tokoe:valid" result="pass"/><test-case name="30654groupF004v.v tokoe:valid" result="pass"/><test-case name="30655groupF005v tokoe:valid" result="pass"/><test-case name="30656groupF005v.v tokoe:valid" result="pass"/><test-case name="30657groupF006v tokoe:valid" result="pass"/><test-case name="30658groupF006v.i tokoe:invalid" result="pass"/><test-case name="30659groupF007v tokoe:valid" result="pass"/><test-case name="30660groupF007v.v tokoe:valid" result="pass"/><test-case name="30661groupF008v tokoe:valid" result="pass"/><test-case name="30662groupF008v.i tokoe:invalid" result="pass"/><test-case name="30663groupF009v tokoe:valid" result="pass"/><test-case name="30664groupF009v.v tokoe:valid" result="fail"/><test-case name="30665groupF010v tokoe:valid" result="pass"/><test-case name="30666groupF010v.i tokoe:invalid" result="pass"/><test-case name="30667groupF011v tokoe:valid" result="pass"/><test-case name="30668groupF011v.v tokoe:valid" result="pass"/><test-case name="30669groupF012v tokoe:valid" result="pass"/><test-case name="30670groupF012v.i tokoe:invalid" result="pass"/><test-case name="30671groupF013v tokoe:valid" result="pass"/><test-case name="30672groupF013v.i tokoe:invalid" result="pass"/><test-case name="30673groupF014v tokoe:valid" result="pass"/><test-case name="30674groupF014v.v tokoe:valid" result="pass"/><test-case name="30675groupF015v tokoe:valid" result="pass"/><test-case name="30676groupF015v.i tokoe:invalid" result="pass"/><test-case name="30677groupF016v tokoe:valid" result="pass"/><test-case name="30678groupF016v.i tokoe:invalid" result="pass"/><test-case name="30679groupF017v tokoe:valid" result="pass"/><test-case name="30680groupF017v.v tokoe:valid" result="pass"/><test-case name="30681groupF018v tokoe:valid" result="pass"/><test-case name="30682groupF018v.v tokoe:valid" result="pass"/><test-case name="30683groupF019v tokoe:valid" result="pass"/><test-case name="30684groupF019v.i tokoe:invalid" result="pass"/><test-case name="30685groupF020 tokoe:invalid" result="pass"/><test-case name="30686groupF021v tokoe:valid" result="pass"/><test-case name="30687groupF021v.v tokoe:valid" result="pass"/><test-case name="30688groupF022 tokoe:invalid" result="pass"/><test-case name="30689groupF023 tokoe:invalid" result="pass"/><test-case name="30690groupF024 tokoe:invalid" result="pass"/><test-case name="30691groupF025 tokoe:invalid" result="pass"/><test-case name="30692groupG002 tokoe:invalid" result="pass"/><test-case name="30693groupG003v tokoe:valid" result="pass"/><test-case name="30694groupG003v.i tokoe:invalid" result="pass"/><test-case name="30695groupG004v tokoe:valid" result="pass"/><test-case name="30696groupG004v.v tokoe:valid" result="pass"/><test-case name="30697groupG005v tokoe:valid" result="pass"/><test-case name="30698groupG005v.i tokoe:invalid" result="pass"/><test-case name="30699groupH001v tokoe:valid" result="pass"/><test-case name="30700groupH001v.v tokoe:valid" result="pass"/><test-case name="30701groupH002v tokoe:valid" result="pass"/><test-case name="30702groupH002v.v tokoe:valid" result="pass"/><test-case name="30703groupH003v tokoe:valid" result="pass"/><test-case name="30704groupH003v.i tokoe:invalid" result="pass"/><test-case name="30705groupH004v tokoe:valid" result="pass"/><test-case name="30706groupH004v.v tokoe:valid" result="pass"/><test-case name="30707groupH005v tokoe:valid" result="pass"/><test-case name="30708groupH005v.v tokoe:valid" result="pass"/><test-case name="30709groupH006v tokoe:valid" result="pass"/><test-case name="30710groupH006v.i tokoe:invalid" result="pass"/><test-case name="30711groupH007v tokoe:invalid" result="pass"/><test-case name="30712groupH008v tokoe:valid" result="pass"/><test-case name="30713groupH008v.i tokoe:invalid" result="pass"/><test-case name="30714groupH009v tokoe:valid" result="pass"/><test-case name="30715groupH009v.v tokoe:valid" result="pass"/><test-case name="30716groupH010v tokoe:valid" result="pass"/><test-case name="30717groupH010v.i tokoe:invalid" result="pass"/><test-case name="30718groupH011v tokoe:valid" result="pass"/><test-case name="30719groupH011v.v tokoe:valid" result="pass"/><test-case name="30720groupH012v tokoe:valid" result="pass"/><test-case name="30721groupH012v.i tokoe:invalid" result="pass"/><test-case name="30722groupH013v tokoe:valid" result="pass"/><test-case name="30723groupH013v.i tokoe:invalid" result="pass"/><test-case name="30724groupH014v tokoe:valid" result="pass"/><test-case name="30725groupH014v.v tokoe:valid" result="pass"/><test-case name="30726groupH015v tokoe:valid" result="pass"/><test-case name="30727groupH015v.i tokoe:invalid" result="pass"/><test-case name="30728groupH016v tokoe:valid" result="pass"/><test-case name="30729groupH016v.i tokoe:invalid" result="pass"/><test-case name="30730groupH017v tokoe:valid" result="pass"/><test-case name="30731groupH017v.v tokoe:valid" result="pass"/><test-case name="30732groupH018v tokoe:valid" result="pass"/><test-case name="30733groupH018v.v tokoe:valid" result="pass"/><test-case name="30734groupH019v tokoe:valid" result="pass"/><test-case name="30735groupH019v.i tokoe:invalid" result="pass"/><test-case name="30736groupH020 tokoe:invalid" result="pass"/><test-case name="30737groupH022 tokoe:invalid" result="pass"/><test-case name="30738groupH023 tokoe:invalid" result="pass"/><test-case name="30739groupH024 tokoe:invalid" result="pass"/><test-case name="30740groupH025 tokoe:invalid" result="pass"/><test-case name="30741groupI002 tokoe:invalid" result="pass"/><test-case name="30742groupI003v tokoe:valid" result="pass"/><test-case name="30743groupI003v.i tokoe:invalid" result="pass"/><test-case name="30744groupI004v tokoe:valid" result="pass"/><test-case name="30745groupI004v.v tokoe:valid" result="pass"/><test-case name="30746groupI005v tokoe:valid" result="pass"/><test-case name="30747groupI005v.i tokoe:invalid" result="pass"/><test-case name="30748groupJ001v tokoe:valid" result="pass"/><test-case name="30749groupJ001v.v tokoe:valid" result="pass"/><test-case name="30750groupJ002v tokoe:valid" result="pass"/><test-case name="30751groupJ002v.v tokoe:valid" result="pass"/><test-case name="30752groupJ003v tokoe:valid" result="pass"/><test-case name="30753groupJ003v.i tokoe:invalid" result="pass"/><test-case name="30754groupJ004v tokoe:valid" result="pass"/><test-case name="30755groupJ004v.v tokoe:valid" result="pass"/><test-case name="30756groupJ005v tokoe:valid" result="pass"/><test-case name="30757groupJ005v.v tokoe:valid" result="pass"/><test-case name="30758groupJ006v tokoe:valid" result="pass"/><test-case name="30759groupJ006v.i tokoe:invalid" result="pass"/><test-case name="30760groupJ007v tokoe:valid" result="pass"/><test-case name="30761groupJ007v.v tokoe:valid" result="pass"/><test-case name="30762groupJ008v tokoe:valid" result="pass"/><test-case name="30763groupJ008v.i tokoe:invalid" result="pass"/><test-case name="30764groupJ010v tokoe:valid" result="pass"/><test-case name="30765groupJ010v.i tokoe:invalid" result="pass"/><test-case name="30766groupJ011v tokoe:valid" result="pass"/><test-case name="30767groupJ011v.v tokoe:valid" result="pass"/><test-case name="30768groupJ012v tokoe:valid" result="pass"/><test-case name="30769groupJ012v.i tokoe:invalid" result="pass"/><test-case name="30770groupJ013v tokoe:valid" result="pass"/><test-case name="30771groupJ013v.i tokoe:invalid" result="pass"/><test-case name="30772groupJ014v tokoe:valid" result="pass"/><test-case name="30773groupJ014v.v tokoe:valid" result="pass"/><test-case name="30774groupJ015v tokoe:valid" result="pass"/><test-case name="30775groupJ015v.i tokoe:invalid" result="pass"/><test-case name="30776groupJ016v tokoe:valid" result="pass"/><test-case name="30777groupJ016v.i tokoe:invalid" result="pass"/><test-case name="30778groupJ017v tokoe:valid" result="pass"/><test-case name="30779groupJ017v.v tokoe:valid" result="pass"/><test-case name="30780groupJ018v tokoe:valid" result="pass"/><test-case name="30781groupJ018v.v tokoe:valid" result="pass"/><test-case name="30782groupJ019v tokoe:valid" result="pass"/><test-case name="30783groupJ019v.i tokoe:invalid" result="pass"/><test-case name="30784groupJ020 tokoe:invalid" result="pass"/><test-case name="30785groupJ021v tokoe:valid" result="pass"/><test-case name="30786groupJ021v.v tokoe:valid" result="pass"/><test-case name="30787groupJ022 tokoe:invalid" result="pass"/><test-case name="30788groupJ023 tokoe:invalid" result="pass"/><test-case name="30789groupJ024 tokoe:invalid" result="pass"/><test-case name="30790groupJ025 tokoe:invalid" result="pass"/><test-case name="30791groupK002 tokoe:invalid" result="pass"/><test-case name="30792groupK003v tokoe:valid" result="pass"/><test-case name="30793groupK003v.i tokoe:invalid" result="pass"/><test-case name="30794groupK004v tokoe:valid" result="pass"/><test-case name="30795groupK004v.v tokoe:valid" result="pass"/><test-case name="30796groupK005v tokoe:valid" result="pass"/><test-case name="30797groupK005v.i tokoe:invalid" result="pass"/><test-case name="30798groupL001v tokoe:valid" result="pass"/><test-case name="30799groupL001v.v tokoe:valid" result="pass"/><test-case name="30800groupL002v tokoe:valid" result="pass"/><test-case name="30801groupL002v.v tokoe:valid" result="pass"/><test-case name="30802groupL003v tokoe:valid" result="pass"/><test-case name="30803groupL003v.i tokoe:invalid" result="pass"/><test-case name="30804groupL004v tokoe:valid" result="pass"/><test-case name="30805groupL004v.v tokoe:valid" result="pass"/><test-case name="30806groupL005v tokoe:valid" result="pass"/><test-case name="30807groupL005v.v tokoe:valid" result="pass"/><test-case name="30808groupL006v tokoe:valid" result="pass"/><test-case name="30809groupL006v.i tokoe:invalid" result="pass"/><test-case name="30810groupL007 tokoe:valid" result="pass"/><test-case name="30811groupL007.v tokoe:valid" result="pass"/><test-case name="30812groupL008v tokoe:valid" result="pass"/><test-case name="30813groupL008v.i tokoe:invalid" result="pass"/><test-case name="30814groupL009v tokoe:valid" result="pass"/><test-case name="30815groupL009v.v tokoe:valid" result="pass"/><test-case name="30816groupL010v tokoe:valid" result="pass"/><test-case name="30817groupL010v.i tokoe:invalid" result="pass"/><test-case name="30818groupL011v tokoe:valid" result="pass"/><test-case name="30819groupL011v.v tokoe:valid" result="pass"/><test-case name="30820groupL012v tokoe:valid" result="pass"/><test-case name="30821groupL012v.i tokoe:invalid" result="pass"/><test-case name="30822groupL013v tokoe:valid" result="pass"/><test-case name="30823groupL013v.i tokoe:invalid" result="pass"/><test-case name="30824groupL014v tokoe:valid" result="pass"/><test-case name="30825groupL014v.v tokoe:valid" result="pass"/><test-case name="30826groupL015v tokoe:valid" result="pass"/><test-case name="30827groupL015v.i tokoe:invalid" result="pass"/><test-case name="30828groupL016v tokoe:valid" result="pass"/><test-case name="30829groupL016v.i tokoe:invalid" result="pass"/><test-case name="30830groupL017v tokoe:valid" result="pass"/><test-case name="30831groupL017v.v tokoe:valid" result="pass"/><test-case name="30832groupL018v tokoe:valid" result="pass"/><test-case name="30833groupL018v.v tokoe:valid" result="pass"/><test-case name="30834groupL019v tokoe:valid" result="pass"/><test-case name="30835groupL019v.i tokoe:invalid" result="pass"/><test-case name="30836groupL020 tokoe:invalid" result="pass"/><test-case name="30837groupL021v tokoe:valid" result="pass"/><test-case name="30838groupL021v.v tokoe:valid" result="pass"/><test-case name="30839groupL022 tokoe:invalid" result="pass"/><test-case name="30840groupL023 tokoe:invalid" result="pass"/><test-case name="30841groupL024 tokoe:invalid" result="pass"/><test-case name="30842groupL025 tokoe:invalid" result="pass"/><test-case name="30843groupM002 tokoe:invalid" result="pass"/><test-case name="30844groupM003v tokoe:valid" result="pass"/><test-case name="30845groupM003v.i tokoe:invalid" result="pass"/><test-case name="30846groupM004v tokoe:valid" result="pass"/><test-case name="30847groupM004v.v tokoe:valid" result="pass"/><test-case name="30848groupM005v tokoe:valid" result="pass"/><test-case name="30849groupM005v.i tokoe:invalid" result="pass"/><test-case name="30850groupN001v tokoe:valid" result="pass"/><test-case name="30851groupN001v.v tokoe:valid" result="pass"/><test-case name="30852groupN002v tokoe:valid" result="pass"/><test-case name="30853groupN002v.v tokoe:valid" result="pass"/><test-case name="30854groupN003v tokoe:valid" result="pass"/><test-case name="30855groupN003v.i tokoe:invalid" result="pass"/><test-case name="30856groupN004v tokoe:valid" result="pass"/><test-case name="30857groupN004v.v tokoe:valid" result="pass"/><test-case name="30858groupN005v tokoe:valid" result="pass"/><test-case name="30859groupN005v.v tokoe:valid" result="pass"/><test-case name="30860groupN006v tokoe:valid" result="pass"/><test-case name="30861groupN006v.i tokoe:invalid" result="pass"/><test-case name="30862groupN007v tokoe:valid" result="pass"/><test-case name="30863groupN007v.v tokoe:valid" result="pass"/><test-case name="30864groupN008v tokoe:valid" result="pass"/><test-case name="30865groupN008v.i tokoe:invalid" result="pass"/><test-case name="30866groupN009v tokoe:valid" result="pass"/><test-case name="30867groupN009v.v tokoe:valid" result="pass"/><test-case name="30868groupN010v tokoe:valid" result="pass"/><test-case name="30869groupN010v.i tokoe:invalid" result="pass"/><test-case name="30870groupN011v tokoe:valid" result="pass"/><test-case name="30871groupN011v.v tokoe:valid" result="pass"/><test-case name="30872groupN012v tokoe:valid" result="pass"/><test-case name="30873groupN012v.i tokoe:invalid" result="pass"/><test-case name="30874groupN013v tokoe:valid" result="pass"/><test-case name="30875groupN013v.i tokoe:invalid" result="pass"/><test-case name="30876groupN014v tokoe:valid" result="pass"/><test-case name="30877groupN014v.v tokoe:valid" result="pass"/><test-case name="30878groupN015v tokoe:valid" result="pass"/><test-case name="30879groupN015v.i tokoe:invalid" result="pass"/><test-case name="30880groupN016v tokoe:valid" result="pass"/><test-case name="30881groupN016v.i tokoe:invalid" result="pass"/><test-case name="30882groupN017v tokoe:valid" result="pass"/><test-case name="30883groupN017v.v tokoe:valid" result="pass"/><test-case name="30884groupN018v tokoe:valid" result="pass"/><test-case name="30885groupN018v.v tokoe:valid" result="pass"/><test-case name="30886groupN019v tokoe:valid" result="pass"/><test-case name="30887groupN019v.i tokoe:invalid" result="pass"/><test-case name="30888groupN020 tokoe:invalid" result="pass"/><test-case name="30889groupN021v tokoe:valid" result="pass"/><test-case name="30890groupN021v.v tokoe:valid" result="pass"/><test-case name="30891groupN022 tokoe:invalid" result="pass"/><test-case name="30892groupN023 tokoe:invalid" result="pass"/><test-case name="30893groupN024 tokoe:invalid" result="pass"/><test-case name="30894groupN025 tokoe:invalid" result="pass"/><test-case name="30895groupO001 tokoe:valid" result="pass"/><test-case name="30896groupO002 tokoe:invalid" result="pass"/><test-case name="30897groupO003 tokoe:invalid" result="pass"/><test-case name="30898groupO004v tokoe:valid" result="pass"/><test-case name="30899groupO004v.v tokoe:valid" result="pass"/><test-case name="30900groupO005v tokoe:valid" result="pass"/><test-case name="30901groupO005v.i tokoe:invalid" result="pass"/><test-case name="30902groupO006v tokoe:valid" result="pass"/><test-case name="30903groupO006v.v tokoe:valid" result="pass"/><test-case name="30904groupO007v tokoe:valid" result="pass"/><test-case name="30905groupO007v.i tokoe:invalid" result="pass"/><test-case name="30906groupO008v tokoe:valid" result="pass"/><test-case name="30907groupO008v.v tokoe:valid" result="pass"/><test-case name="30908groupO009v tokoe:valid" result="pass"/><test-case name="30909groupO009v.i tokoe:invalid" result="pass"/><test-case name="30910groupO010 tokoe:invalid" result="pass"/><test-case name="30911groupO011 tokoe:invalid" result="pass"/><test-case name="30912groupO012 tokoe:invalid" result="pass"/><test-case name="30913groupO013 tokoe:invalid" result="pass"/><test-case name="30914groupO014 tokoe:valid" result="pass"/><test-case name="30915groupO015 tokoe:invalid" result="pass"/><test-case name="30916groupO016 tokoe:invalid" result="pass"/><test-case name="30917groupO017 tokoe:invalid" result="pass"/><test-case name="30918groupO018 tokoe:invalid" result="pass"/><test-case name="30919groupO019 tokoe:invalid" result="pass"/><test-case name="30920groupO020 tokoe:invalid" result="pass"/><test-case name="30921groupO021 tokoe:invalid" result="pass"/><test-case name="30922groupO022 tokoe:invalid" result="pass"/><test-case name="30923groupO023 tokoe:invalid" result="pass"/><test-case name="30924groupO024 tokoe:invalid" result="pass"/><test-case name="30925groupO025 tokoe:invalid" result="pass"/><test-case name="30926groupO026 tokoe:invalid" result="pass"/><test-case name="30927groupO027 tokoe:invalid" result="pass"/><test-case name="30928idA001 tokoe:valid" result="pass"/><test-case name="30929idA002 tokoe:invalid" result="pass"/><test-case name="30930idA003 tokoe:valid" result="pass"/><test-case name="30931idA004 tokoe:valid" result="pass"/><test-case name="30932idA005 tokoe:valid" result="pass"/><test-case name="30933idA006 tokoe:invalid" result="pass"/><test-case name="30934idA007 tokoe:invalid" result="pass"/><test-case name="30935idA008 tokoe:valid" result="pass"/><test-case name="30936idA009 tokoe:valid" result="pass"/><test-case name="30937idA010 tokoe:valid" result="pass"/><test-case name="30938idA011 tokoe:valid" result="pass"/><test-case name="30939idA012 tokoe:valid" result="pass"/><test-case name="30940idA013 tokoe:valid" result="pass"/><test-case name="30941idA014 tokoe:valid" result="pass"/><test-case name="30942idA015 tokoe:valid" result="pass"/><test-case name="30943idA016 tokoe:invalid" result="pass"/><test-case name="30944idA017 tokoe:valid" result="pass"/><test-case name="30945idA018 tokoe:invalid" result="pass"/><test-case name="30946idA019 tokoe:invalid" result="pass"/><test-case name="30947idA020 tokoe:invalid" result="pass"/><test-case name="30948idA021 tokoe:invalid" result="pass"/><test-case name="30949idA022 tokoe:valid" result="pass"/><test-case name="30950idA023 tokoe:invalid" result="pass"/><test-case name="30951idA024 tokoe:invalid" result="pass"/><test-case name="30952idA025 tokoe:invalid" result="pass"/><test-case name="30953idA026 tokoe:invalid" result="pass"/><test-case name="30954idA027 tokoe:invalid" result="pass"/><test-case name="30955idA028 tokoe:invalid" result="pass"/><test-case name="30956idA029 tokoe:invalid" result="pass"/><test-case name="30957idA030 tokoe:invalid" result="pass"/><test-case name="30958idA031 tokoe:invalid" result="pass"/><test-case name="30959idA032 tokoe:invalid" result="pass"/><test-case name="30960idA033 tokoe:valid" result="pass"/><test-case name="30961idA034 tokoe:valid" result="pass"/><test-case name="30962idA035 tokoe:invalid" result="pass"/><test-case name="30963idA036 tokoe:valid" result="pass"/><test-case name="30964idA037 tokoe:invalid" result="pass"/><test-case name="30965idA038 tokoe:invalid" result="pass"/><test-case name="30966idA039 tokoe:invalid" result="pass"/><test-case name="30967idA040 tokoe:valid" result="pass"/><test-case name="30968idA041 tokoe:valid" result="pass"/><test-case name="30969idA042 tokoe:invalid" result="pass"/><test-case name="30970idA043 tokoe:invalid" result="pass"/><test-case name="30971idA044 tokoe:invalid" result="pass"/><test-case name="30972idA045 tokoe:valid" result="pass"/><test-case name="30973idA046 tokoe:invalid" result="pass"/><test-case name="30974idA047 tokoe:invalid" result="pass"/><test-case name="30975idA048 tokoe:invalid" result="pass"/><test-case name="30976idA049 tokoe:invalid" result="pass"/><test-case name="30977idA050 tokoe:invalid" result="pass"/><test-case name="30978idA051 tokoe:invalid" result="pass"/><test-case name="30979idA052 tokoe:invalid" result="pass"/><test-case name="30980idA053 tokoe:invalid" result="pass"/><test-case name="30981idA054 tokoe:invalid" result="pass"/><test-case name="30982idA055 tokoe:invalid" result="pass"/><test-case name="30983idA056 tokoe:invalid" result="pass"/><test-case name="30984idA057 tokoe:invalid" result="pass"/><test-case name="30985idA058 tokoe:invalid" result="pass"/><test-case name="30986idA059 tokoe:invalid" result="pass"/><test-case name="30987idA060 tokoe:invalid" result="pass"/><test-case name="30988idB001 tokoe:valid" result="pass"/><test-case name="30989idB002 tokoe:invalid" result="pass"/><test-case name="30990idB003 tokoe:valid" result="pass"/><test-case name="30991idB004 tokoe:valid" result="pass"/><test-case name="30992idB005 tokoe:invalid" result="pass"/><test-case name="30993idB006 tokoe:invalid" result="pass"/><test-case name="30994idB007 tokoe:invalid" result="pass"/><test-case name="30995idB008 tokoe:valid" result="pass"/><test-case name="30996idB009 tokoe:valid" result="pass"/><test-case name="30997idB010 tokoe:valid" result="pass"/><test-case name="30998idB011 tokoe:valid" result="pass"/><test-case name="30999idB012 tokoe:valid" result="pass"/><test-case name="31000idB013 tokoe:valid" result="pass"/><test-case name="31001idB014 tokoe:valid" result="pass"/><test-case name="31002idB015 tokoe:valid" result="pass"/><test-case name="31003idB016 tokoe:invalid" result="pass"/><test-case name="31004idB017 tokoe:invalid" result="pass"/><test-case name="31005idB018 tokoe:valid" result="pass"/><test-case name="31006idB019 tokoe:invalid" result="pass"/><test-case name="31007idB020 tokoe:invalid" result="pass"/><test-case name="31008idB021 tokoe:invalid" result="pass"/><test-case name="31009idB022 tokoe:valid" result="pass"/><test-case name="31010idB023 tokoe:invalid" result="pass"/><test-case name="31011idB024 tokoe:invalid" result="pass"/><test-case name="31012idB025 tokoe:invalid" result="pass"/><test-case name="31013idB026 tokoe:invalid" result="pass"/><test-case name="31014idB027 tokoe:invalid" result="pass"/><test-case name="31015idB028 tokoe:invalid" result="pass"/><test-case name="31016idB029 tokoe:invalid" result="pass"/><test-case name="31017idB030 tokoe:invalid" result="pass"/><test-case name="31018idB031 tokoe:invalid" result="pass"/><test-case name="31019idB032 tokoe:invalid" result="pass"/><test-case name="31020idB033 tokoe:valid" result="pass"/><test-case name="31021idB034 tokoe:valid" result="pass"/><test-case name="31022idB035 tokoe:invalid" result="pass"/><test-case name="31023idB036 tokoe:valid" result="pass"/><test-case name="31024idB037 tokoe:invalid" result="pass"/><test-case name="31025idB038 tokoe:invalid" result="pass"/><test-case name="31026idB039 tokoe:invalid" result="pass"/><test-case name="31027idB040 tokoe:valid" result="pass"/><test-case name="31028idB041 tokoe:valid" result="pass"/><test-case name="31029idB042 tokoe:invalid" result="pass"/><test-case name="31030idB043 tokoe:invalid" result="pass"/><test-case name="31031idB044 tokoe:invalid" result="pass"/><test-case name="31032idB045 tokoe:valid" result="pass"/><test-case name="31033idB046 tokoe:invalid" result="pass"/><test-case name="31034idB047 tokoe:invalid" result="pass"/><test-case name="31035idB048 tokoe:invalid" result="pass"/><test-case name="31036idB049 tokoe:invalid" result="pass"/><test-case name="31037idB050 tokoe:invalid" result="pass"/><test-case name="31038idB051 tokoe:invalid" result="pass"/><test-case name="31039idB052 tokoe:invalid" result="pass"/><test-case name="31040idB053 tokoe:invalid" result="pass"/><test-case name="31041idB054 tokoe:invalid" result="pass"/><test-case name="31042idB055 tokoe:invalid" result="pass"/><test-case name="31043idB056 tokoe:invalid" result="pass"/><test-case name="31044idB057 tokoe:invalid" result="pass"/><test-case name="31045idB058 tokoe:invalid" result="pass"/><test-case name="31046idB059 tokoe:invalid" result="pass"/><test-case name="31047idB060 tokoe:invalid" result="pass"/><test-case name="31048idC001 tokoe:valid" result="pass"/><test-case name="31049idC002 tokoe:invalid" result="pass"/><test-case name="31050idC003 tokoe:valid" result="pass"/><test-case name="31051idC004 tokoe:valid" result="pass"/><test-case name="31052idC005 tokoe:valid" result="pass"/><test-case name="31053idC006 tokoe:invalid" result="pass"/><test-case name="31054idC007 tokoe:invalid" result="pass"/><test-case name="31055idC008 tokoe:valid" result="pass"/><test-case name="31056idC009 tokoe:valid" result="pass"/><test-case name="31057idC010 tokoe:valid" result="pass"/><test-case name="31058idC011 tokoe:valid" result="pass"/><test-case name="31059idC012 tokoe:valid" result="pass"/><test-case name="31060idC013 tokoe:valid" result="pass"/><test-case name="31061idC014 tokoe:valid" result="pass"/><test-case name="31062idC015 tokoe:valid" result="pass"/><test-case name="31063idC016 tokoe:invalid" result="pass"/><test-case name="31064idC017 tokoe:invalid" result="pass"/><test-case name="31065idC018 tokoe:invalid" result="pass"/><test-case name="31066idC020 tokoe:invalid" result="pass"/><test-case name="31067idC021 tokoe:invalid" result="pass"/><test-case name="31068idC022 tokoe:valid" result="pass"/><test-case name="31069idC023 tokoe:invalid" result="pass"/><test-case name="31070idC024 tokoe:invalid" result="pass"/><test-case name="31071idC025 tokoe:invalid" result="pass"/><test-case name="31072idC026 tokoe:invalid" result="pass"/><test-case name="31073idC027 tokoe:invalid" result="pass"/><test-case name="31074idC028 tokoe:invalid" result="pass"/><test-case name="31075idC029 tokoe:invalid" result="pass"/><test-case name="31076idC030 tokoe:invalid" result="pass"/><test-case name="31077idC031 tokoe:invalid" result="pass"/><test-case name="31078idC032 tokoe:invalid" result="pass"/><test-case name="31079idC033 tokoe:valid" result="pass"/><test-case name="31080idC034 tokoe:valid" result="pass"/><test-case name="31081idC035 tokoe:valid" result="pass"/><test-case name="31082idC036 tokoe:valid" result="pass"/><test-case name="31083idC038 tokoe:invalid" result="pass"/><test-case name="31084idC039 tokoe:valid" result="pass"/><test-case name="31085idC040 tokoe:invalid" result="pass"/><test-case name="31086idC041 tokoe:invalid" result="pass"/><test-case name="31087idC042 tokoe:invalid" result="pass"/><test-case name="31088idC043 tokoe:valid" result="pass"/><test-case name="31089idC044 tokoe:valid" result="pass"/><test-case name="31090idC045 tokoe:invalid" result="pass"/><test-case name="31091idC046 tokoe:invalid" result="pass"/><test-case name="31092idC047 tokoe:invalid" result="pass"/><test-case name="31093idC048 tokoe:valid" result="pass"/><test-case name="31094idC049 tokoe:invalid" result="pass"/><test-case name="31095idC050 tokoe:invalid" result="pass"/><test-case name="31096idC051 tokoe:invalid" result="pass"/><test-case name="31097idC052 tokoe:invalid" result="pass"/><test-case name="31098idC053 tokoe:invalid" result="pass"/><test-case name="31099idC054 tokoe:invalid" result="pass"/><test-case name="31100idC055 tokoe:invalid" result="pass"/><test-case name="31101idC056 tokoe:invalid" result="pass"/><test-case name="31102idC057 tokoe:invalid" result="pass"/><test-case name="31103idC058 tokoe:invalid" result="pass"/><test-case name="31104idC059 tokoe:invalid" result="pass"/><test-case name="31105idC060 tokoe:invalid" result="pass"/><test-case name="31106idC061 tokoe:invalid" result="pass"/><test-case name="31107idC062 tokoe:invalid" result="pass"/><test-case name="31108idC063 tokoe:invalid" result="pass"/><test-case name="31109idD001 tokoe:valid" result="pass"/><test-case name="31110idD002 tokoe:invalid" result="pass"/><test-case name="31111idD003 tokoe:valid" result="pass"/><test-case name="31112idD004 tokoe:invalid" result="pass"/><test-case name="31113idD005 tokoe:invalid" result="pass"/><test-case name="31114idD006 tokoe:invalid" result="pass"/><test-case name="31115idD007 tokoe:invalid" result="pass"/><test-case name="31116idD008 tokoe:valid" result="pass"/><test-case name="31117idD009 tokoe:valid" result="pass"/><test-case name="31118idD010 tokoe:valid" result="pass"/><test-case name="31119idD011 tokoe:invalid" result="pass"/><test-case name="31120idD012 tokoe:invalid" result="pass"/><test-case name="31121idD013 tokoe:valid" result="pass"/><test-case name="31122idD014 tokoe:invalid" result="pass"/><test-case name="31123idD015 tokoe:valid" result="pass"/><test-case name="31124idD016 tokoe:valid" result="pass"/><test-case name="31125idD017 tokoe:invalid" result="pass"/><test-case name="31126idD018 tokoe:invalid" result="pass"/><test-case name="31127idD019 tokoe:invalid" result="pass"/><test-case name="31128idD020 tokoe:invalid" result="pass"/><test-case name="31129idD021 tokoe:invalid" result="pass"/><test-case name="31130idD022 tokoe:invalid" result="pass"/><test-case name="31131idD023 tokoe:invalid" result="pass"/><test-case name="31132idD024 tokoe:invalid" result="pass"/><test-case name="31133idD025 tokoe:invalid" result="pass"/><test-case name="31134idD026 tokoe:invalid" result="pass"/><test-case name="31135idD027 tokoe:invalid" result="pass"/><test-case name="31136idD028 tokoe:invalid" result="pass"/><test-case name="31137idD029 tokoe:invalid" result="pass"/><test-case name="31138idD030 tokoe:invalid" result="pass"/><test-case name="31139idD031 tokoe:invalid" result="pass"/><test-case name="31140idD032 tokoe:invalid" result="pass"/><test-case name="31141idD033 tokoe:invalid" result="pass"/><test-case name="31142idE001 tokoe:valid" result="pass"/><test-case name="31143idE002 tokoe:invalid" result="pass"/><test-case name="31144idE003 tokoe:valid" result="pass"/><test-case name="31145idE004 tokoe:invalid" result="pass"/><test-case name="31146idE005 tokoe:invalid" result="pass"/><test-case name="31147idE006 tokoe:invalid" result="pass"/><test-case name="31148idE007 tokoe:invalid" result="pass"/><test-case name="31149idE008 tokoe:valid" result="pass"/><test-case name="31150idE009 tokoe:valid" result="pass"/><test-case name="31151idE010 tokoe:valid" result="pass"/><test-case name="31152idE011 tokoe:invalid" result="pass"/><test-case name="31153idE012 tokoe:invalid" result="pass"/><test-case name="31154idE013 tokoe:valid" result="pass"/><test-case name="31155idE014 tokoe:invalid" result="pass"/><test-case name="31156idE015 tokoe:valid" result="pass"/><test-case name="31157idE016 tokoe:valid" result="pass"/><test-case name="31158idE017 tokoe:invalid" result="pass"/><test-case name="31159idE018 tokoe:invalid" result="pass"/><test-case name="31160idE019 tokoe:invalid" result="pass"/><test-case name="31161idE020 tokoe:invalid" result="pass"/><test-case name="31162idE021 tokoe:invalid" result="pass"/><test-case name="31163idE022 tokoe:invalid" result="pass"/><test-case name="31164idE023 tokoe:invalid" result="pass"/><test-case name="31165idE024 tokoe:invalid" result="pass"/><test-case name="31166idE025 tokoe:invalid" result="pass"/><test-case name="31167idE026 tokoe:invalid" result="pass"/><test-case name="31168idE027 tokoe:invalid" result="pass"/><test-case name="31169idE028 tokoe:invalid" result="pass"/><test-case name="31170idE029 tokoe:invalid" result="pass"/><test-case name="31171idE030 tokoe:invalid" result="pass"/><test-case name="31172idE031 tokoe:invalid" result="pass"/><test-case name="31173idE032 tokoe:invalid" result="pass"/><test-case name="31174idE033 tokoe:invalid" result="pass"/><test-case name="31175idF001 tokoe:valid" result="pass"/><test-case name="31176idF001.v tokoe:valid" result="pass"/><test-case name="31177idF003 tokoe:valid" result="pass"/><test-case name="31178idF003.v tokoe:valid" result="pass"/><test-case name="31179idF004 tokoe:valid" result="pass"/><test-case name="31180idF004.v tokoe:valid" result="pass"/><test-case name="31181idF005 tokoe:valid" result="pass"/><test-case name="31182idF005.i tokoe:invalid" result="pass"/><test-case name="31183idF006 tokoe:valid" result="pass"/><test-case name="31184idF006.i tokoe:invalid" result="pass"/><test-case name="31185idF007 tokoe:valid" result="pass"/><test-case name="31186idF007.v tokoe:valid" result="pass"/><test-case name="31187idF008 tokoe:valid" result="pass"/><test-case name="31188idF008.i tokoe:invalid" result="pass"/><test-case name="31189idF009 tokoe:valid" result="pass"/><test-case name="31190idF009.v tokoe:valid" result="pass"/><test-case name="31191idF010 tokoe:valid" result="pass"/><test-case name="31192idF010.i tokoe:invalid" result="pass"/><test-case name="31193idF011 tokoe:valid" result="pass"/><test-case name="31194idF011.v tokoe:valid" result="pass"/><test-case name="31195idF012 tokoe:valid" result="pass"/><test-case name="31196idF012.v tokoe:valid" result="pass"/><test-case name="31197idF013 tokoe:valid" result="pass"/><test-case name="31198idF013.v tokoe:valid" result="pass"/><test-case name="31199idF014 tokoe:valid" result="pass"/><test-case name="31200idF014.v tokoe:valid" result="pass"/><test-case name="31201idF015 tokoe:valid" result="pass"/><test-case name="31202idF015.i tokoe:invalid" result="fail"/><test-case name="31203idF016 tokoe:valid" result="pass"/><test-case name="31204idF016.i tokoe:invalid" result="fail"/><test-case name="31205idF017 tokoe:valid" result="pass"/><test-case name="31206idF017.i tokoe:invalid" result="fail"/><test-case name="31207idF018 tokoe:valid" result="pass"/><test-case name="31208idF018.i tokoe:invalid" result="pass"/><test-case name="31209idF019 tokoe:valid" result="pass"/><test-case name="31210idF019.v tokoe:valid" result="pass"/><test-case name="31211idF020 tokoe:valid" result="pass"/><test-case name="31212idF020.v tokoe:valid" result="pass"/><test-case name="31213idF021 tokoe:valid" result="pass"/><test-case name="31214idF021.v tokoe:valid" result="pass"/><test-case name="31215idF022 tokoe:valid" result="pass"/><test-case name="31216idF022.v tokoe:valid" result="pass"/><test-case name="31217idF023 tokoe:valid" result="pass"/><test-case name="31218idF023.v tokoe:valid" result="pass"/><test-case name="31219idF024 tokoe:valid" result="pass"/><test-case name="31220idF024.v tokoe:valid" result="pass"/><test-case name="31221idF025 tokoe:valid" result="pass"/><test-case name="31222idF025.v tokoe:valid" result="pass"/><test-case name="31223idF026 tokoe:valid" result="pass"/><test-case name="31224idF026.v tokoe:valid" result="pass"/><test-case name="31225idF027 tokoe:valid" result="pass"/><test-case name="31226idF027.v tokoe:valid" result="pass"/><test-case name="31227idF028 tokoe:valid" result="pass"/><test-case name="31228idF028.v tokoe:valid" result="pass"/><test-case name="31229idF029 tokoe:valid" result="pass"/><test-case name="31230idF029.v tokoe:valid" result="pass"/><test-case name="31231idF030 tokoe:valid" result="pass"/><test-case name="31232idF030.v tokoe:valid" result="pass"/><test-case name="31233idF031 tokoe:valid" result="pass"/><test-case name="31234idF031.v tokoe:valid" result="pass"/><test-case name="31235idF032 tokoe:valid" result="pass"/><test-case name="31236idF032.v tokoe:valid" result="pass"/><test-case name="31237idF033 tokoe:valid" result="pass"/><test-case name="31238idF033.v tokoe:valid" result="pass"/><test-case name="31239idF034 tokoe:valid" result="pass"/><test-case name="31240idF034.v tokoe:valid" result="pass"/><test-case name="31241idF035 tokoe:valid" result="pass"/><test-case name="31242idF035.v tokoe:valid" result="pass"/><test-case name="31243idF036 tokoe:valid" result="pass"/><test-case name="31244idF036.v tokoe:valid" result="pass"/><test-case name="31245idG001 tokoe:valid" result="pass"/><test-case name="31246idG001.v tokoe:valid" result="pass"/><test-case name="31247idG003 tokoe:valid" result="pass"/><test-case name="31248idG003.i tokoe:invalid" result="pass"/><test-case name="31249idG004 tokoe:valid" result="pass"/><test-case name="31250idG004.v tokoe:valid" result="pass"/><test-case name="31251idG005 tokoe:valid" result="pass"/><test-case name="31252idG005.i tokoe:invalid" result="pass"/><test-case name="31253idG006 tokoe:valid" result="pass"/><test-case name="31254idG006.i tokoe:invalid" result="pass"/><test-case name="31255idG007 tokoe:valid" result="pass"/><test-case name="31256idG007.v tokoe:valid" result="pass"/><test-case name="31257idG008 tokoe:valid" result="pass"/><test-case name="31258idG008.i tokoe:invalid" result="pass"/><test-case name="31259idG009 tokoe:valid" result="pass"/><test-case name="31260idG009.i tokoe:invalid" result="pass"/><test-case name="31261idG010 tokoe:valid" result="pass"/><test-case name="31262idG010.i tokoe:invalid" result="pass"/><test-case name="31263idG011 tokoe:valid" result="pass"/><test-case name="31264idG011.i tokoe:invalid" result="fail"/><test-case name="31265idG012 tokoe:valid" result="pass"/><test-case name="31266idG012.i tokoe:invalid" result="fail"/><test-case name="31267idG013 tokoe:valid" result="pass"/><test-case name="31268idG013.v tokoe:valid" result="pass"/><test-case name="31269idG014 tokoe:valid" result="pass"/><test-case name="31270idG014.v tokoe:valid" result="pass"/><test-case name="31271idG015 tokoe:valid" result="pass"/><test-case name="31272idG015.v tokoe:valid" result="pass"/><test-case name="31273idG016 tokoe:valid" result="pass"/><test-case name="31274idG016.v tokoe:valid" result="pass"/><test-case name="31275idG017 tokoe:valid" result="pass"/><test-case name="31276idG017.v tokoe:valid" result="pass"/><test-case name="31277idG018 tokoe:valid" result="pass"/><test-case name="31278idG018.v tokoe:valid" result="pass"/><test-case name="31279idG019 tokoe:valid" result="pass"/><test-case name="31280idG019.v tokoe:valid" result="pass"/><test-case name="31281idG020 tokoe:valid" result="pass"/><test-case name="31282idG020.i tokoe:invalid" result="pass"/><test-case name="31283idG021 tokoe:valid" result="pass"/><test-case name="31284idG021.v tokoe:valid" result="pass"/><test-case name="31285idG022 tokoe:valid" result="pass"/><test-case name="31286idG022.v tokoe:valid" result="pass"/><test-case name="31287idG023 tokoe:valid" result="pass"/><test-case name="31288idG023.v tokoe:valid" result="pass"/><test-case name="31289idG024 tokoe:valid" result="pass"/><test-case name="31290idG024.v tokoe:valid" result="pass"/><test-case name="31291idG025 tokoe:valid" result="pass"/><test-case name="31292idG025.i tokoe:invalid" result="pass"/><test-case name="31293idG026 tokoe:valid" result="pass"/><test-case name="31294idG026.v tokoe:valid" result="pass"/><test-case name="31295idG027 tokoe:valid" result="pass"/><test-case name="31296idG027.v tokoe:valid" result="pass"/><test-case name="31297idG028 tokoe:valid" result="pass"/><test-case name="31298idG028.v tokoe:valid" result="pass"/><test-case name="31299idG029 tokoe:valid" result="pass"/><test-case name="31300idG029.v tokoe:valid" result="pass"/><test-case name="31301idG030 tokoe:valid" result="pass"/><test-case name="31302idG030.v tokoe:valid" result="pass"/><test-case name="31303idH001 tokoe:valid" result="pass"/><test-case name="31304idH001.v tokoe:valid" result="pass"/><test-case name="31305idH003 tokoe:valid" result="pass"/><test-case name="31306idH003.v tokoe:valid" result="pass"/><test-case name="31307idH004 tokoe:valid" result="pass"/><test-case name="31308idH004.v tokoe:valid" result="pass"/><test-case name="31309idH005 tokoe:valid" result="pass"/><test-case name="31310idH005.i tokoe:invalid" result="pass"/><test-case name="31311idH006 tokoe:valid" result="pass"/><test-case name="31312idH006.i tokoe:invalid" result="pass"/><test-case name="31313idH007 tokoe:valid" result="pass"/><test-case name="31314idH007.v tokoe:valid" result="pass"/><test-case name="31315idH008 tokoe:valid" result="pass"/><test-case name="31316idH008.v tokoe:valid" result="pass"/><test-case name="31317idH009 tokoe:valid" result="pass"/><test-case name="31318idH009.v tokoe:valid" result="pass"/><test-case name="31319idH010 tokoe:valid" result="pass"/><test-case name="31320idH010.i tokoe:invalid" result="pass"/><test-case name="31321idH011 tokoe:invalid" result="pass"/><test-case name="31322idH012 tokoe:valid" result="pass"/><test-case name="31323idH012.i tokoe:invalid" result="pass"/><test-case name="31324idH013 tokoe:invalid" result="pass"/><test-case name="31325idH014 tokoe:invalid" result="pass"/><test-case name="31326idH015 tokoe:valid" result="pass"/><test-case name="31327idH015.v tokoe:valid" result="pass"/><test-case name="31328idH016 tokoe:valid" result="pass"/><test-case name="31329idH016.v tokoe:valid" result="pass"/><test-case name="31330idH017 tokoe:valid" result="pass"/><test-case name="31331idH017.v tokoe:valid" result="pass"/><test-case name="31332idH018 tokoe:valid" result="pass"/><test-case name="31333idH018.v tokoe:valid" result="pass"/><test-case name="31334idH019 tokoe:valid" result="pass"/><test-case name="31335idH019.v tokoe:valid" result="pass"/><test-case name="31336idH020 tokoe:valid" result="pass"/><test-case name="31337idH020.v tokoe:valid" result="pass"/><test-case name="31338idH021 tokoe:valid" result="pass"/><test-case name="31339idH021.v tokoe:valid" result="pass"/><test-case name="31340idH022 tokoe:valid" result="pass"/><test-case name="31341idH022.v tokoe:valid" result="pass"/><test-case name="31342idH023 tokoe:valid" result="pass"/><test-case name="31343idH023.v tokoe:valid" result="pass"/><test-case name="31344idH024 tokoe:valid" result="pass"/><test-case name="31345idH024.v tokoe:valid" result="pass"/><test-case name="31346idH025 tokoe:valid" result="pass"/><test-case name="31347idH025.v tokoe:valid" result="pass"/><test-case name="31348idH026 tokoe:valid" result="pass"/><test-case name="31349idH026.v tokoe:valid" result="pass"/><test-case name="31350idH027 tokoe:valid" result="pass"/><test-case name="31351idH027.v tokoe:valid" result="pass"/><test-case name="31352idH028 tokoe:valid" result="pass"/><test-case name="31353idH028.v tokoe:valid" result="pass"/><test-case name="31354idH029 tokoe:valid" result="pass"/><test-case name="31355idH029.v tokoe:valid" result="pass"/><test-case name="31356idH030 tokoe:valid" result="pass"/><test-case name="31357idH030.v tokoe:valid" result="pass"/><test-case name="31358idH031 tokoe:valid" result="pass"/><test-case name="31359idH031.v tokoe:valid" result="pass"/><test-case name="31360idH032 tokoe:valid" result="pass"/><test-case name="31361idH032.v tokoe:valid" result="pass"/><test-case name="31362idH034 tokoe:valid" result="pass"/><test-case name="31363idH034.v tokoe:valid" result="pass"/><test-case name="31364idH035 tokoe:invalid" result="pass"/><test-case name="31365idI001 tokoe:invalid" result="pass"/><test-case name="31366idI002 tokoe:valid" result="pass"/><test-case name="31367idI003 tokoe:invalid" result="pass"/><test-case name="31368idI004 tokoe:invalid" result="pass"/><test-case name="31369idI005 tokoe:invalid" result="pass"/><test-case name="31370idI006 tokoe:invalid" result="pass"/><test-case name="31371idI007 tokoe:invalid" result="pass"/><test-case name="31372idI008 tokoe:valid" result="pass"/><test-case name="31373idI009 tokoe:valid" result="pass"/><test-case name="31374idI010 tokoe:invalid" result="pass"/><test-case name="31375idI011 tokoe:valid" result="pass"/><test-case name="31376idI012 tokoe:valid" result="pass"/><test-case name="31377idI013 tokoe:valid" result="pass"/><test-case name="31378idI014 tokoe:invalid" result="pass"/><test-case name="31379idI015 tokoe:invalid" result="pass"/><test-case name="31380idI016 tokoe:invalid" result="pass"/><test-case name="31381idI017 tokoe:valid" result="pass"/><test-case name="31382idI018 tokoe:invalid" result="pass"/><test-case name="31383idI019 tokoe:valid" result="pass"/><test-case name="31384idI020 tokoe:valid" result="pass"/><test-case name="31385idI021 tokoe:valid" result="pass"/><test-case name="31386idI022 tokoe:invalid" result="pass"/><test-case name="31387idI023 tokoe:invalid" result="pass"/><test-case name="31388idI024 tokoe:valid" result="pass"/><test-case name="31389idI025 tokoe:valid" result="pass"/><test-case name="31390idI026 tokoe:valid" result="pass"/><test-case name="31391idI027 tokoe:valid" result="pass"/><test-case name="31392idI028 tokoe:invalid" result="fail"/><test-case name="31393idI029 tokoe:valid" result="pass"/><test-case name="31394idI030 tokoe:valid" result="pass"/><test-case name="31395idI031 tokoe:valid" result="pass"/><test-case name="31396idI032 tokoe:valid" result="pass"/><test-case name="31397idI033 tokoe:valid" result="pass"/><test-case name="31398idI034 tokoe:valid" result="pass"/><test-case name="31399idI035 tokoe:valid" result="pass"/><test-case name="31400idI036 tokoe:valid" result="pass"/><test-case name="31401idI037 tokoe:valid" result="pass"/><test-case name="31402idI038 tokoe:invalid" result="fail"/><test-case name="31403idI039 tokoe:valid" result="pass"/><test-case name="31404idI040 tokoe:valid" result="pass"/><test-case name="31405idI041 tokoe:valid" result="pass"/><test-case name="31406idI042 tokoe:valid" result="pass"/><test-case name="31407idI043 tokoe:valid" result="pass"/><test-case name="31408idI044 tokoe:valid" result="pass"/><test-case name="31409idI045 tokoe:valid" result="pass"/><test-case name="31410idI046 tokoe:valid" result="pass"/><test-case name="31411idI047 tokoe:valid" result="pass"/><test-case name="31412idI048 tokoe:valid" result="pass"/><test-case name="31413idI049 tokoe:valid" result="pass"/><test-case name="31414idI050 tokoe:valid" result="pass"/><test-case name="31415idI051 tokoe:valid" result="pass"/><test-case name="31416idI052 tokoe:valid" result="pass"/><test-case name="31417idI053 tokoe:valid" result="pass"/><test-case name="31418idI054 tokoe:valid" result="pass"/><test-case name="31419idI055 tokoe:valid" result="pass"/><test-case name="31420idI056 tokoe:valid" result="pass"/><test-case name="31421idI057 tokoe:valid" result="pass"/><test-case name="31422idI058 tokoe:valid" result="pass"/><test-case name="31423idI059 tokoe:valid" result="pass"/><test-case name="31424idI060 tokoe:valid" result="pass"/><test-case name="31425idI061 tokoe:valid" result="pass"/><test-case name="31426idI062 tokoe:valid" result="pass"/><test-case name="31427idI063 tokoe:valid" result="pass"/><test-case name="31428idI064 tokoe:valid" result="pass"/><test-case name="31429idI065 tokoe:valid" result="pass"/><test-case name="31430idI066 tokoe:valid" result="pass"/><test-case name="31431idI067 tokoe:valid" result="pass"/><test-case name="31432idI068 tokoe:valid" result="pass"/><test-case name="31433idI069 tokoe:valid" result="pass"/><test-case name="31434idI070 tokoe:valid" result="pass"/><test-case name="31435idI071 tokoe:valid" result="pass"/><test-case name="31436idI072 tokoe:valid" result="pass"/><test-case name="31437idI073 tokoe:valid" result="pass"/><test-case name="31438idI074 tokoe:valid" result="pass"/><test-case name="31439idI075 tokoe:valid" result="pass"/><test-case name="31440idI076 tokoe:valid" result="pass"/><test-case name="31441idI077 tokoe:valid" result="pass"/><test-case name="31442idI078 tokoe:valid" result="pass"/><test-case name="31443idI079 tokoe:valid" result="pass"/><test-case name="31444idI080 tokoe:valid" result="pass"/><test-case name="31445idI081 tokoe:valid" result="pass"/><test-case name="31446idI082 tokoe:valid" result="pass"/><test-case name="31447idI083 tokoe:valid" result="pass"/><test-case name="31448idI084 tokoe:valid" result="pass"/><test-case name="31449idI085 tokoe:valid" result="pass"/><test-case name="31450idI086 tokoe:valid" result="pass"/><test-case name="31451idI087 tokoe:valid" result="pass"/><test-case name="31452idI088 tokoe:valid" result="pass"/><test-case name="31453idI089 tokoe:valid" result="pass"/><test-case name="31454idI090 tokoe:valid" result="pass"/><test-case name="31455idI091 tokoe:valid" result="pass"/><test-case name="31456idI092 tokoe:valid" result="pass"/><test-case name="31457idI093 tokoe:valid" result="pass"/><test-case name="31458idI094 tokoe:valid" result="pass"/><test-case name="31459idI095 tokoe:valid" result="pass"/><test-case name="31460idI096 tokoe:valid" result="pass"/><test-case name="31461idI097 tokoe:valid" result="pass"/><test-case name="31462idI098 tokoe:valid" result="pass"/><test-case name="31463idI099 tokoe:valid" result="pass"/><test-case name="31464idI100 tokoe:valid" result="pass"/><test-case name="31465idI101 tokoe:valid" result="pass"/><test-case name="31466idI102 tokoe:valid" result="pass"/><test-case name="31467idI103 tokoe:valid" result="pass"/><test-case name="31468idI104 tokoe:valid" result="pass"/><test-case name="31469idI105 tokoe:valid" result="pass"/><test-case name="31470idI106 tokoe:valid" result="pass"/><test-case name="31471idI107 tokoe:valid" result="pass"/><test-case name="31472idI108 tokoe:valid" result="pass"/><test-case name="31473idI109 tokoe:valid" result="pass"/><test-case name="31474idI110 tokoe:valid" result="pass"/><test-case name="31475idI111 tokoe:valid" result="pass"/><test-case name="31476idI112 tokoe:valid" result="pass"/><test-case name="31477idI113 tokoe:valid" result="pass"/><test-case name="31478idI114 tokoe:valid" result="pass"/><test-case name="31479idI115 tokoe:valid" result="pass"/><test-case name="31480idI116 tokoe:valid" result="pass"/><test-case name="31481idI117 tokoe:valid" result="pass"/><test-case name="31482idI118 tokoe:valid" result="pass"/><test-case name="31483idI119 tokoe:valid" result="pass"/><test-case name="31484idI120 tokoe:valid" result="pass"/><test-case name="31485idI121 tokoe:valid" result="pass"/><test-case name="31486idI122 tokoe:valid" result="pass"/><test-case name="31487idI123 tokoe:valid" result="pass"/><test-case name="31488idI124 tokoe:valid" result="pass"/><test-case name="31489idI125 tokoe:valid" result="pass"/><test-case name="31490idI126 tokoe:valid" result="pass"/><test-case name="31491idI127 tokoe:valid" result="pass"/><test-case name="31492idI128 tokoe:valid" result="pass"/><test-case name="31493idI129 tokoe:valid" result="pass"/><test-case name="31494idI130 tokoe:valid" result="pass"/><test-case name="31495idI131 tokoe:valid" result="pass"/><test-case name="31496idI132 tokoe:valid" result="pass"/><test-case name="31497idI133 tokoe:valid" result="pass"/><test-case name="31498idI134 tokoe:valid" result="pass"/><test-case name="31499idI135 tokoe:valid" result="pass"/><test-case name="31500idI136 tokoe:valid" result="pass"/><test-case name="31501idI137 tokoe:valid" result="pass"/><test-case name="31502idI138 tokoe:valid" result="pass"/><test-case name="31503idI139 tokoe:valid" result="pass"/><test-case name="31504idI140 tokoe:valid" result="pass"/><test-case name="31505idI141 tokoe:valid" result="pass"/><test-case name="31506idI142 tokoe:valid" result="pass"/><test-case name="31507idI143 tokoe:valid" result="pass"/><test-case name="31508idI144 tokoe:valid" result="pass"/><test-case name="31509idI145 tokoe:invalid" result="pass"/><test-case name="31510idI146 tokoe:invalid" result="pass"/><test-case name="31511idI147 tokoe:invalid" result="pass"/><test-case name="31512idI148 tokoe:invalid" result="pass"/><test-case name="31513idI149 tokoe:invalid" result="pass"/><test-case name="31514idI150 tokoe:invalid" result="pass"/><test-case name="31515idI151 tokoe:invalid" result="pass"/><test-case name="31516idI152 tokoe:invalid" result="fail"/><test-case name="31517idJ001 tokoe:invalid" result="pass"/><test-case name="31518idJ002 tokoe:invalid" result="pass"/><test-case name="31519idJ003 tokoe:invalid" result="pass"/><test-case name="31520idJ004 tokoe:valid" result="pass"/><test-case name="31521idJ005 tokoe:invalid" result="pass"/><test-case name="31522idJ006 tokoe:invalid" result="pass"/><test-case name="31523idJ007 tokoe:invalid" result="pass"/><test-case name="31524idJ008 tokoe:invalid" result="pass"/><test-case name="31525idJ009 tokoe:valid" result="pass"/><test-case name="31526idJ010 tokoe:valid" result="pass"/><test-case name="31527idJ011 tokoe:invalid" result="pass"/><test-case name="31528idJ012 tokoe:valid" result="pass"/><test-case name="31529idJ013 tokoe:valid" result="pass"/><test-case name="31530idJ014 tokoe:valid" result="pass"/><test-case name="31531idJ015 tokoe:invalid" result="pass"/><test-case name="31532idJ016 tokoe:invalid" result="pass"/><test-case name="31533idJ017 tokoe:invalid" result="pass"/><test-case name="31534idJ018 tokoe:valid" result="pass"/><test-case name="31535idJ019 tokoe:valid" result="pass"/><test-case name="31536idJ020 tokoe:valid" result="pass"/><test-case name="31537idJ021 tokoe:valid" result="pass"/><test-case name="31538idJ022 tokoe:valid" result="pass"/><test-case name="31539idJ023 tokoe:valid" result="pass"/><test-case name="31540idJ024 tokoe:valid" result="pass"/><test-case name="31541idJ025 tokoe:invalid" result="pass"/><test-case name="31542idJ026 tokoe:invalid" result="pass"/><test-case name="31543idJ027 tokoe:valid" result="pass"/><test-case name="31544idJ028 tokoe:valid" result="pass"/><test-case name="31545idJ029 tokoe:valid" result="pass"/><test-case name="31546idJ030 tokoe:invalid" result="pass"/><test-case name="31547idJ031 tokoe:valid" result="pass"/><test-case name="31548idJ032 tokoe:invalid" result="pass"/><test-case name="31549idJ033 tokoe:valid" result="pass"/><test-case name="31550idJ034 tokoe:valid" result="pass"/><test-case name="31551idJ035 tokoe:valid" result="pass"/><test-case name="31552idJ036 tokoe:invalid" result="fail"/><test-case name="31553idJ037 tokoe:valid" result="pass"/><test-case name="31554idJ038 tokoe:valid" result="pass"/><test-case name="31555idJ039 tokoe:valid" result="pass"/><test-case name="31556idJ040 tokoe:valid" result="pass"/><test-case name="31557idJ041 tokoe:valid" result="pass"/><test-case name="31558idJ042 tokoe:valid" result="pass"/><test-case name="31559idJ043 tokoe:valid" result="pass"/><test-case name="31560idJ044 tokoe:valid" result="pass"/><test-case name="31561idJ045 tokoe:valid" result="pass"/><test-case name="31562idJ046 tokoe:valid" result="pass"/><test-case name="31563idJ047 tokoe:valid" result="pass"/><test-case name="31564idJ048 tokoe:valid" result="pass"/><test-case name="31565idJ049 tokoe:valid" result="pass"/><test-case name="31566idJ050 tokoe:valid" result="pass"/><test-case name="31567idJ051 tokoe:valid" result="pass"/><test-case name="31568idJ052 tokoe:invalid" result="fail"/><test-case name="31569idJ053 tokoe:valid" result="pass"/><test-case name="31570idJ054 tokoe:valid" result="pass"/><test-case name="31571idJ055 tokoe:valid" result="pass"/><test-case name="31572idJ056 tokoe:invalid" result="fail"/><test-case name="31573idJ057 tokoe:valid" result="pass"/><test-case name="31574idJ058 tokoe:valid" result="pass"/><test-case name="31575idJ059 tokoe:valid" result="pass"/><test-case name="31576idJ060 tokoe:valid" result="pass"/><test-case name="31577idJ061 tokoe:valid" result="pass"/><test-case name="31578idJ062 tokoe:valid" result="pass"/><test-case name="31579idJ063 tokoe:valid" result="pass"/><test-case name="31580idJ064 tokoe:valid" result="pass"/><test-case name="31581idJ065 tokoe:valid" result="pass"/><test-case name="31582idJ066 tokoe:valid" result="pass"/><test-case name="31583idJ067 tokoe:valid" result="pass"/><test-case name="31584idJ068 tokoe:valid" result="pass"/><test-case name="31585idJ069 tokoe:valid" result="pass"/><test-case name="31586idJ070 tokoe:valid" result="pass"/><test-case name="31587idJ071 tokoe:valid" result="pass"/><test-case name="31588idJ072 tokoe:valid" result="pass"/><test-case name="31589idJ073 tokoe:valid" result="pass"/><test-case name="31590idJ074 tokoe:valid" result="pass"/><test-case name="31591idJ075 tokoe:valid" result="pass"/><test-case name="31592idJ076 tokoe:valid" result="pass"/><test-case name="31593idJ077 tokoe:valid" result="pass"/><test-case name="31594idJ078 tokoe:valid" result="pass"/><test-case name="31595idJ079 tokoe:valid" result="pass"/><test-case name="31596idJ080 tokoe:valid" result="pass"/><test-case name="31597idJ081 tokoe:valid" result="pass"/><test-case name="31598idJ082 tokoe:valid" result="pass"/><test-case name="31599idJ083 tokoe:valid" result="pass"/><test-case name="31600idJ084 tokoe:valid" result="pass"/><test-case name="31601idJ085 tokoe:valid" result="pass"/><test-case name="31602idJ086 tokoe:valid" result="pass"/><test-case name="31603idJ087 tokoe:valid" result="pass"/><test-case name="31604idJ088 tokoe:valid" result="pass"/><test-case name="31605idJ089 tokoe:valid" result="pass"/><test-case name="31606idJ090 tokoe:valid" result="pass"/><test-case name="31607idJ091 tokoe:valid" result="pass"/><test-case name="31608idJ092 tokoe:valid" result="pass"/><test-case name="31609idJ093 tokoe:valid" result="pass"/><test-case name="31610idJ094 tokoe:valid" result="pass"/><test-case name="31611idJ095 tokoe:valid" result="pass"/><test-case name="31612idJ096 tokoe:valid" result="pass"/><test-case name="31613idJ097 tokoe:valid" result="pass"/><test-case name="31614idJ098 tokoe:valid" result="pass"/><test-case name="31615idJ099 tokoe:valid" result="pass"/><test-case name="31616idJ100 tokoe:valid" result="pass"/><test-case name="31617idJ101 tokoe:valid" result="pass"/><test-case name="31618idJ102 tokoe:valid" result="pass"/><test-case name="31619idJ103 tokoe:valid" result="pass"/><test-case name="31620idJ104 tokoe:valid" result="pass"/><test-case name="31621idJ105 tokoe:valid" result="pass"/><test-case name="31622idJ106 tokoe:valid" result="pass"/><test-case name="31623idJ107 tokoe:valid" result="pass"/><test-case name="31624idJ108 tokoe:valid" result="pass"/><test-case name="31625idJ109 tokoe:valid" result="pass"/><test-case name="31626idJ110 tokoe:valid" result="pass"/><test-case name="31627idJ111 tokoe:valid" result="pass"/><test-case name="31628idJ112 tokoe:valid" result="pass"/><test-case name="31629idJ113 tokoe:valid" result="pass"/><test-case name="31630idJ114 tokoe:valid" result="pass"/><test-case name="31631idJ115 tokoe:valid" result="pass"/><test-case name="31632idJ116 tokoe:valid" result="pass"/><test-case name="31633idJ117 tokoe:valid" result="pass"/><test-case name="31634idJ118 tokoe:valid" result="pass"/><test-case name="31635idJ119 tokoe:valid" result="pass"/><test-case name="31636idJ120 tokoe:valid" result="pass"/><test-case name="31637idJ121 tokoe:valid" result="pass"/><test-case name="31638idJ122 tokoe:valid" result="pass"/><test-case name="31639idJ123 tokoe:valid" result="pass"/><test-case name="31640idJ124 tokoe:valid" result="pass"/><test-case name="31641idJ125 tokoe:valid" result="pass"/><test-case name="31642idJ126 tokoe:valid" result="pass"/><test-case name="31643idJ127 tokoe:valid" result="pass"/><test-case name="31644idJ128 tokoe:valid" result="pass"/><test-case name="31645idJ129 tokoe:valid" result="pass"/><test-case name="31646idJ130 tokoe:valid" result="pass"/><test-case name="31647idJ131 tokoe:valid" result="pass"/><test-case name="31648idJ132 tokoe:valid" result="pass"/><test-case name="31649idJ133 tokoe:valid" result="pass"/><test-case name="31650idJ134 tokoe:valid" result="pass"/><test-case name="31651idJ135 tokoe:valid" result="pass"/><test-case name="31652idJ136 tokoe:valid" result="pass"/><test-case name="31653idJ137 tokoe:valid" result="pass"/><test-case name="31654idJ138 tokoe:valid" result="pass"/><test-case name="31655idJ139 tokoe:valid" result="pass"/><test-case name="31656idJ140 tokoe:valid" result="pass"/><test-case name="31657idJ141 tokoe:valid" result="pass"/><test-case name="31658idJ142 tokoe:valid" result="pass"/><test-case name="31659idJ143 tokoe:valid" result="pass"/><test-case name="31660idJ144 tokoe:valid" result="pass"/><test-case name="31661idJ145 tokoe:valid" result="pass"/><test-case name="31662idJ146 tokoe:valid" result="pass"/><test-case name="31663idJ147 tokoe:valid" result="pass"/><test-case name="31664idJ148 tokoe:valid" result="pass"/><test-case name="31665idJ149 tokoe:valid" result="pass"/><test-case name="31666idJ150 tokoe:valid" result="pass"/><test-case name="31667idJ151 tokoe:valid" result="pass"/><test-case name="31668idJ152 tokoe:valid" result="pass"/><test-case name="31669idJ153 tokoe:valid" result="pass"/><test-case name="31670idJ154 tokoe:valid" result="pass"/><test-case name="31671idJ155 tokoe:valid" result="pass"/><test-case name="31672idJ156 tokoe:valid" result="pass"/><test-case name="31673idJ157 tokoe:valid" result="pass"/><test-case name="31674idJ158 tokoe:valid" result="pass"/><test-case name="31675idJ159 tokoe:valid" result="pass"/><test-case name="31676idJ160 tokoe:valid" result="pass"/><test-case name="31677idJ161 tokoe:valid" result="pass"/><test-case name="31678idJ162 tokoe:valid" result="pass"/><test-case name="31679idJ163 tokoe:valid" result="pass"/><test-case name="31680idJ164 tokoe:valid" result="pass"/><test-case name="31681idJ165 tokoe:valid" result="pass"/><test-case name="31682idJ166 tokoe:valid" result="pass"/><test-case name="31683idJ167 tokoe:valid" result="pass"/><test-case name="31684idJ168 tokoe:valid" result="pass"/><test-case name="31685idJ169 tokoe:valid" result="pass"/><test-case name="31686idJ170 tokoe:valid" result="pass"/><test-case name="31687idJ171 tokoe:valid" result="pass"/><test-case name="31688idJ172 tokoe:valid" result="pass"/><test-case name="31689idJ173 tokoe:valid" result="pass"/><test-case name="31690idJ174 tokoe:valid" result="pass"/><test-case name="31691idJ175 tokoe:valid" result="pass"/><test-case name="31692idJ176 tokoe:valid" result="pass"/><test-case name="31693idJ177 tokoe:valid" result="pass"/><test-case name="31694idJ178 tokoe:valid" result="pass"/><test-case name="31695idJ179 tokoe:valid" result="pass"/><test-case name="31696idJ180 tokoe:valid" result="pass"/><test-case name="31697idJ181 tokoe:valid" result="pass"/><test-case name="31698idJ182 tokoe:valid" result="pass"/><test-case name="31699idJ183 tokoe:valid" result="pass"/><test-case name="31700idJ184 tokoe:valid" result="pass"/><test-case name="31701idJ185 tokoe:valid" result="pass"/><test-case name="31702idJ186 tokoe:valid" result="pass"/><test-case name="31703idJ187 tokoe:valid" result="pass"/><test-case name="31704idJ188 tokoe:valid" result="pass"/><test-case name="31705idJ189 tokoe:valid" result="pass"/><test-case name="31706idJ190 tokoe:valid" result="pass"/><test-case name="31707idJ191 tokoe:valid" result="pass"/><test-case name="31708idJ192 tokoe:valid" result="pass"/><test-case name="31709idJ193 tokoe:valid" result="pass"/><test-case name="31710idJ194 tokoe:valid" result="pass"/><test-case name="31711idJ195 tokoe:valid" result="pass"/><test-case name="31712idJ196 tokoe:valid" result="pass"/><test-case name="31713idJ197 tokoe:valid" result="pass"/><test-case name="31714idJ198 tokoe:valid" result="pass"/><test-case name="31715idJ199 tokoe:valid" result="pass"/><test-case name="31716idJ200 tokoe:valid" result="pass"/><test-case name="31717idJ201 tokoe:valid" result="pass"/><test-case name="31718idJ202 tokoe:valid" result="pass"/><test-case name="31719idJ203 tokoe:valid" result="pass"/><test-case name="31720idJ204 tokoe:valid" result="pass"/><test-case name="31721idJ205 tokoe:invalid" result="pass"/><test-case name="31722idJ206 tokoe:invalid" result="pass"/><test-case name="31723idJ207 tokoe:invalid" result="pass"/><test-case name="31724idJ208 tokoe:invalid" result="pass"/><test-case name="31725idJ209 tokoe:invalid" result="pass"/><test-case name="31726idJ210 tokoe:invalid" result="fail"/><test-case name="31727idK001 tokoe:valid" result="pass"/><test-case name="31728idK001.v tokoe:valid" result="pass"/><test-case name="31729idK002 tokoe:valid" result="pass"/><test-case name="31730idK002.v tokoe:valid" result="pass"/><test-case name="31731idK003 tokoe:valid" result="pass"/><test-case name="31732idK003.i tokoe:invalid" result="pass"/><test-case name="31733idK004 tokoe:valid" result="pass"/><test-case name="31734idK004.v tokoe:valid" result="pass"/><test-case name="31735idK005 tokoe:valid" result="pass"/><test-case name="31736idK005.v tokoe:valid" result="pass"/><test-case name="31737idK006 tokoe:valid" result="pass"/><test-case name="31738idK006.v tokoe:valid" result="pass"/><test-case name="31739idK007 tokoe:valid" result="pass"/><test-case name="31740idK007.v tokoe:valid" result="pass"/><test-case name="31741idK008 tokoe:valid" result="pass"/><test-case name="31742idK008.v tokoe:valid" result="pass"/><test-case name="31743idK009 tokoe:valid" result="pass"/><test-case name="31744idK009.v tokoe:valid" result="pass"/><test-case name="31745idK010 tokoe:valid" result="pass"/><test-case name="31746idK010.v tokoe:valid" result="pass"/><test-case name="31747idK011 tokoe:valid" result="pass"/><test-case name="31748idK011.v tokoe:valid" result="pass"/><test-case name="31749idK012 tokoe:valid" result="pass"/><test-case name="31750idK012.i tokoe:invalid" result="pass"/><test-case name="31751idK013 tokoe:valid" result="pass"/><test-case name="31752idK013.v tokoe:valid" result="pass"/><test-case name="31753idK014 tokoe:valid" result="pass"/><test-case name="31754idK014.v tokoe:valid" result="pass"/><test-case name="31755idK015 tokoe:valid" result="pass"/><test-case name="31756idK015.v tokoe:valid" result="pass"/><test-case name="31757idK016 tokoe:invalid" result="pass"/><test-case name="31758idK017 tokoe:valid" result="pass"/><test-case name="31759idK017.v tokoe:valid" result="pass"/><test-case name="31760idL001 tokoe:valid" result="pass"/><test-case name="31761idL001.v tokoe:valid" result="pass"/><test-case name="31762idL002 tokoe:valid" result="pass"/><test-case name="31763idL002.i tokoe:invalid" result="pass"/><test-case name="31764idL003 tokoe:valid" result="pass"/><test-case name="31765idL003.v tokoe:valid" result="pass"/><test-case name="31766idL004 tokoe:valid" result="pass"/><test-case name="31767idL004.v tokoe:valid" result="pass"/><test-case name="31768idL005 tokoe:valid" result="pass"/><test-case name="31769idL005.v tokoe:valid" result="pass"/><test-case name="31770idL006 tokoe:valid" result="pass"/><test-case name="31771idL006.i tokoe:invalid" result="pass"/><test-case name="31772idL007 tokoe:valid" result="pass"/><test-case name="31773idL007.i tokoe:invalid" result="pass"/><test-case name="31774idL008 tokoe:valid" result="pass"/><test-case name="31775idL008.v tokoe:valid" result="pass"/><test-case name="31776idL009 tokoe:valid" result="pass"/><test-case name="31777idL009.v tokoe:valid" result="pass"/><test-case name="31778idL010 tokoe:valid" result="pass"/><test-case name="31779idL010.v tokoe:valid" result="pass"/><test-case name="31780idL011 tokoe:valid" result="pass"/><test-case name="31781idL011.i tokoe:invalid" result="pass"/><test-case name="31782idL012 tokoe:valid" result="pass"/><test-case name="31783idL012.i tokoe:invalid" result="pass"/><test-case name="31784idL013 tokoe:valid" result="pass"/><test-case name="31785idL013.v tokoe:valid" result="pass"/><test-case name="31786idL014 tokoe:valid" result="pass"/><test-case name="31787idL014.v tokoe:valid" result="pass"/><test-case name="31788idL015 tokoe:valid" result="pass"/><test-case name="31789idL015.i tokoe:invalid" result="pass"/><test-case name="31790idL016 tokoe:valid" result="pass"/><test-case name="31791idL016.v tokoe:valid" result="pass"/><test-case name="31792idL017 tokoe:valid" result="pass"/><test-case name="31793idL017.v tokoe:valid" result="pass"/><test-case name="31794idL018 tokoe:valid" result="pass"/><test-case name="31795idL018.v tokoe:valid" result="pass"/><test-case name="31796idL019 tokoe:valid" result="pass"/><test-case name="31797idL019.i tokoe:invalid" result="pass"/><test-case name="31798idL020 tokoe:valid" result="pass"/><test-case name="31799idL020.v tokoe:valid" result="pass"/><test-case name="31800idL021 tokoe:valid" result="pass"/><test-case name="31801idL021.v tokoe:valid" result="pass"/><test-case name="31802idL022 tokoe:valid" result="pass"/><test-case name="31803idL022.i tokoe:invalid" result="pass"/><test-case name="31804idL023 tokoe:valid" result="pass"/><test-case name="31805idL023.v tokoe:valid" result="pass"/><test-case name="31806idL024 tokoe:valid" result="pass"/><test-case name="31807idL024.v tokoe:valid" result="pass"/><test-case name="31808idL025 tokoe:valid" result="pass"/><test-case name="31809idL025.i tokoe:invalid" result="pass"/><test-case name="31810idL026 tokoe:valid" result="pass"/><test-case name="31811idL026.v tokoe:valid" result="pass"/><test-case name="31812idL027 tokoe:valid" result="pass"/><test-case name="31813idL027.i tokoe:invalid" result="pass"/><test-case name="31814idL028 tokoe:valid" result="pass"/><test-case name="31815idL028.v tokoe:valid" result="pass"/><test-case name="31816idL029 tokoe:valid" result="pass"/><test-case name="31817idL029.v tokoe:valid" result="pass"/><test-case name="31818idL030 tokoe:valid" result="pass"/><test-case name="31819idL030.v tokoe:valid" result="pass"/><test-case name="31820idL031 tokoe:valid" result="pass"/><test-case name="31821idL031.i tokoe:invalid" result="pass"/><test-case name="31822idL032 tokoe:valid" result="pass"/><test-case name="31823idL032.i tokoe:invalid" result="pass"/><test-case name="31824idL033 tokoe:valid" result="pass"/><test-case name="31825idL033.v tokoe:valid" result="pass"/><test-case name="31826idL034 tokoe:valid" result="pass"/><test-case name="31827idL034.v tokoe:valid" result="pass"/><test-case name="31828idL035 tokoe:valid" result="pass"/><test-case name="31829idL035.v tokoe:valid" result="pass"/><test-case name="31830idL036 tokoe:valid" result="pass"/><test-case name="31831idL036.i tokoe:invalid" result="pass"/><test-case name="31832idL037 tokoe:valid" result="pass"/><test-case name="31833idL037.i tokoe:invalid" result="pass"/><test-case name="31834idL038 tokoe:valid" result="pass"/><test-case name="31835idL038.v tokoe:valid" result="pass"/><test-case name="31836idL039 tokoe:valid" result="pass"/><test-case name="31837idL039.v tokoe:valid" result="pass"/><test-case name="31838idL040 tokoe:valid" result="pass"/><test-case name="31839idL040.i tokoe:invalid" result="pass"/><test-case name="31840idL041 tokoe:valid" result="pass"/><test-case name="31841idL041.v tokoe:valid" result="pass"/><test-case name="31842idL042 tokoe:valid" result="pass"/><test-case name="31843idL042.v tokoe:valid" result="pass"/><test-case name="31844idL043 tokoe:valid" result="pass"/><test-case name="31845idL043.v tokoe:valid" result="pass"/><test-case name="31846idL044 tokoe:valid" result="pass"/><test-case name="31847idL044.i tokoe:invalid" result="pass"/><test-case name="31848idL045 tokoe:valid" result="pass"/><test-case name="31849idL045.v tokoe:valid" result="pass"/><test-case name="31850idL046 tokoe:valid" result="pass"/><test-case name="31851idL046.v tokoe:valid" result="pass"/><test-case name="31852idL047 tokoe:valid" result="pass"/><test-case name="31853idL047.i tokoe:invalid" result="pass"/><test-case name="31854idL048 tokoe:valid" result="pass"/><test-case name="31855idL048.v tokoe:valid" result="pass"/><test-case name="31856idL049 tokoe:valid" result="pass"/><test-case name="31857idL049.v tokoe:valid" result="pass"/><test-case name="31858idL050 tokoe:valid" result="pass"/><test-case name="31859idL050.i tokoe:invalid" result="pass"/><test-case name="31860idL051 tokoe:valid" result="pass"/><test-case name="31861idL051.v tokoe:valid" result="pass"/><test-case name="31862idL052 tokoe:valid" result="pass"/><test-case name="31863idL052.i tokoe:invalid" result="pass"/><test-case name="31864idL053 tokoe:valid" result="pass"/><test-case name="31865idL053.v tokoe:valid" result="pass"/><test-case name="31866idL054 tokoe:valid" result="pass"/><test-case name="31867idL054.v tokoe:valid" result="pass"/><test-case name="31868idL055 tokoe:valid" result="pass"/><test-case name="31869idL055.v tokoe:valid" result="pass"/><test-case name="31870idL056 tokoe:valid" result="pass"/><test-case name="31871idL056.i tokoe:invalid" result="pass"/><test-case name="31872idL057 tokoe:valid" result="pass"/><test-case name="31873idL057.i tokoe:invalid" result="pass"/><test-case name="31874idL058 tokoe:valid" result="pass"/><test-case name="31875idL058.v tokoe:valid" result="pass"/><test-case name="31876idL059 tokoe:valid" result="pass"/><test-case name="31877idL059.v tokoe:valid" result="pass"/><test-case name="31878idL060 tokoe:valid" result="pass"/><test-case name="31879idL060.v tokoe:valid" result="pass"/><test-case name="31880idL061 tokoe:valid" result="pass"/><test-case name="31881idL061.i tokoe:invalid" result="pass"/><test-case name="31882idL062 tokoe:valid" result="pass"/><test-case name="31883idL062.i tokoe:invalid" result="pass"/><test-case name="31884idL063 tokoe:valid" result="pass"/><test-case name="31885idL063.v tokoe:valid" result="pass"/><test-case name="31886idL064 tokoe:valid" result="pass"/><test-case name="31887idL064.v tokoe:valid" result="pass"/><test-case name="31888idL065 tokoe:valid" result="pass"/><test-case name="31889idL065.i tokoe:invalid" result="pass"/><test-case name="31890idL066 tokoe:valid" result="pass"/><test-case name="31891idL066.v tokoe:valid" result="pass"/><test-case name="31892idL067 tokoe:valid" result="pass"/><test-case name="31893idL067.v tokoe:valid" result="pass"/><test-case name="31894idL068 tokoe:valid" result="pass"/><test-case name="31895idL068.v tokoe:valid" result="pass"/><test-case name="31896idL069 tokoe:valid" result="pass"/><test-case name="31897idL069.i tokoe:invalid" result="pass"/><test-case name="31898idL070 tokoe:valid" result="pass"/><test-case name="31899idL070.v tokoe:valid" result="pass"/><test-case name="31900idL071 tokoe:valid" result="pass"/><test-case name="31901idL071.v tokoe:valid" result="pass"/><test-case name="31902idL072 tokoe:valid" result="pass"/><test-case name="31903idL072.i tokoe:invalid" result="pass"/><test-case name="31904idL073 tokoe:valid" result="pass"/><test-case name="31905idL073.v tokoe:valid" result="pass"/><test-case name="31906idL074 tokoe:valid" result="pass"/><test-case name="31907idL074.v tokoe:valid" result="pass"/><test-case name="31908idL075 tokoe:valid" result="pass"/><test-case name="31909idL075.i tokoe:invalid" result="pass"/><test-case name="31910idL076 tokoe:valid" result="pass"/><test-case name="31911idL076.v tokoe:valid" result="pass"/><test-case name="31912idL077 tokoe:valid" result="pass"/><test-case name="31913idL077.v tokoe:valid" result="pass"/><test-case name="31914idL078 tokoe:valid" result="pass"/><test-case name="31915idL078.v tokoe:valid" result="pass"/><test-case name="31916idL079 tokoe:valid" result="pass"/><test-case name="31917idL079.i tokoe:invalid" result="pass"/><test-case name="31918idL080 tokoe:valid" result="pass"/><test-case name="31919idL080.i tokoe:invalid" result="pass"/><test-case name="31920idL081 tokoe:valid" result="pass"/><test-case name="31921idL081.i tokoe:invalid" result="pass"/><test-case name="31922idL082 tokoe:valid" result="pass"/><test-case name="31923idL082.v tokoe:valid" result="pass"/><test-case name="31924idL083 tokoe:valid" result="pass"/><test-case name="31925idL083.i tokoe:invalid" result="pass"/><test-case name="31926idL084 tokoe:valid" result="pass"/><test-case name="31927idL084.v tokoe:valid" result="pass"/><test-case name="31928idL085 tokoe:valid" result="pass"/><test-case name="31929idL085.i tokoe:invalid" result="pass"/><test-case name="31930idL086 tokoe:valid" result="pass"/><test-case name="31931idL086.v tokoe:valid" result="pass"/><test-case name="31932idL087 tokoe:valid" result="pass"/><test-case name="31933idL087.i tokoe:invalid" result="pass"/><test-case name="31934idL088 tokoe:valid" result="pass"/><test-case name="31935idL088.v tokoe:valid" result="pass"/><test-case name="31936idL089 tokoe:valid" result="pass"/><test-case name="31937idL089.i tokoe:invalid" result="pass"/><test-case name="31938idL090 tokoe:valid" result="pass"/><test-case name="31939idL090.v tokoe:valid" result="pass"/><test-case name="31940idL091 tokoe:valid" result="pass"/><test-case name="31941idL091.i tokoe:invalid" result="pass"/><test-case name="31942idL092 tokoe:valid" result="pass"/><test-case name="31943idL092.v tokoe:valid" result="pass"/><test-case name="31944idL093 tokoe:valid" result="pass"/><test-case name="31945idL093.i tokoe:invalid" result="pass"/><test-case name="31946idL094 tokoe:valid" result="pass"/><test-case name="31947idL094.v tokoe:valid" result="pass"/><test-case name="31948idL095 tokoe:valid" result="pass"/><test-case name="31949idL095.i tokoe:invalid" result="pass"/><test-case name="31950idL096 tokoe:valid" result="pass"/><test-case name="31951idL096.v tokoe:valid" result="pass"/><test-case name="31952idL097 tokoe:valid" result="pass"/><test-case name="31953idL097.i tokoe:invalid" result="pass"/><test-case name="31954idL098 tokoe:valid" result="pass"/><test-case name="31955idL098.v tokoe:valid" result="pass"/><test-case name="31956idL099 tokoe:valid" result="pass"/><test-case name="31957idL099.i tokoe:invalid" result="pass"/><test-case name="31958idL101 tokoe:valid" result="pass"/><test-case name="31959idL101.i tokoe:invalid" result="pass"/><test-case name="31960idL102 tokoe:valid" result="pass"/><test-case name="31961idL102.v tokoe:valid" result="pass"/><test-case name="31962idL103 tokoe:valid" result="pass"/><test-case name="31963idL103.i tokoe:invalid" result="pass"/><test-case name="31964idZ001 tokoe:valid" result="pass"/><test-case name="31965idZ001.i tokoe:invalid" result="pass"/><test-case name="31966idZ002 tokoe:valid" result="pass"/><test-case name="31967idZ002.i tokoe:invalid" result="pass"/><test-case name="31968idZ003 tokoe:invalid" result="pass"/><test-case name="31969idZ004 tokoe:valid" result="pass"/><test-case name="31970idZ004.i tokoe:invalid" result="pass"/><test-case name="31971idZ005 tokoe:valid" result="pass"/><test-case name="31972idZ005.v tokoe:valid" result="pass"/><test-case name="31973idZ006 tokoe:valid" result="pass"/><test-case name="31974idZ006.v tokoe:valid" result="pass"/><test-case name="31975idZ007 tokoe:valid" result="pass"/><test-case name="31976idZ007.v tokoe:valid" result="pass"/><test-case name="31977idZ008 tokoe:valid" result="pass"/><test-case name="31978idZ008.i tokoe:invalid" result="pass"/><test-case name="31979idZ010 tokoe:valid" result="pass"/><test-case name="31980idZ010.i tokoe:invalid" result="pass"/><test-case name="31981idZ011_a tokoe:valid" result="pass"/><test-case name="31982idZ011_a.i tokoe:invalid" result="fail"/><test-case name="31983idZ012 tokoe:valid" result="pass"/><test-case name="31984idZ012.i tokoe:invalid" result="fail"/><test-case name="31985mgA001 tokoe:valid" result="pass"/><test-case name="31986mgA001.v tokoe:valid" result="pass"/><test-case name="31987mgA002 tokoe:invalid" result="pass"/><test-case name="31988mgA003 tokoe:invalid" result="pass"/><test-case name="31989mgA004 tokoe:invalid" result="pass"/><test-case name="31990mgA005 tokoe:invalid" result="pass"/><test-case name="31991mgA006 tokoe:invalid" result="pass"/><test-case name="31992mgA007 tokoe:invalid" result="pass"/><test-case name="31993mgA008 tokoe:invalid" result="pass"/><test-case name="31994mgA009 tokoe:invalid" result="pass"/><test-case name="31995mgA010 tokoe:invalid" result="pass"/><test-case name="31996mgA011 tokoe:invalid" result="pass"/><test-case name="31997mgA012 tokoe:invalid" result="pass"/><test-case name="31998mgA013 tokoe:invalid" result="pass"/><test-case name="31999mgA014 tokoe:valid" result="pass"/><test-case name="32000mgA014.v tokoe:valid" result="pass"/><test-case name="32001mgA015 tokoe:valid" result="pass"/><test-case name="32002mgA015.v tokoe:valid" result="pass"/><test-case name="32003mgA016 tokoe:invalid" result="pass"/><test-case name="32004mgA017 tokoe:valid" result="pass"/><test-case name="32005mgA017.v tokoe:valid" result="pass"/><test-case name="32006mgA018 tokoe:invalid" result="pass"/><test-case name="32007mgA019 tokoe:invalid" result="pass"/><test-case name="32008mgA020 tokoe:invalid" result="pass"/><test-case name="32009mgAa001 tokoe:invalid" result="pass"/><test-case name="32010mgAa002 tokoe:invalid" result="pass"/><test-case name="32011mgAa003 tokoe:valid" result="pass"/><test-case name="32012mgAa003.v tokoe:valid" result="pass"/><test-case name="32013mgAa004 tokoe:invalid" result="pass"/><test-case name="32014mgAa005 tokoe:invalid" result="pass"/><test-case name="32015mgAa006 tokoe:invalid" result="pass"/><test-case name="32016mgAa007 tokoe:invalid" result="pass"/><test-case name="32017mgAa008 tokoe:invalid" result="pass"/><test-case name="32018mgAa009 tokoe:invalid" result="pass"/><test-case name="32019mgAb001 tokoe:invalid" result="pass"/><test-case name="32020mgAb002 tokoe:invalid" result="pass"/><test-case name="32021mgAb003 tokoe:invalid" result="pass"/><test-case name="32022mgAb004 tokoe:invalid" result="pass"/><test-case name="32023mgAb005 tokoe:invalid" result="pass"/><test-case name="32024mgAb006 tokoe:invalid" result="pass"/><test-case name="32025mgAb007 tokoe:invalid" result="pass"/><test-case name="32026mgAb008 tokoe:invalid" result="pass"/><test-case name="32027mgAb009 tokoe:invalid" result="pass"/><test-case name="32028mgB001 tokoe:valid" result="pass"/><test-case name="32029mgB001.v tokoe:valid" result="pass"/><test-case name="32030mgB002 tokoe:valid" result="pass"/><test-case name="32031mgB002.v tokoe:valid" result="pass"/><test-case name="32032mgB003 tokoe:invalid" result="pass"/><test-case name="32033mgB004 tokoe:valid" result="pass"/><test-case name="32034mgB004.v tokoe:valid" result="pass"/><test-case name="32035mgB006 tokoe:valid" result="pass"/><test-case name="32036mgB006.v tokoe:valid" result="pass"/><test-case name="32037mgB007 tokoe:invalid" result="pass"/><test-case name="32038mgB008 tokoe:invalid" result="pass"/><test-case name="32039mgB009 tokoe:invalid" result="pass"/><test-case name="32040mgB010 tokoe:invalid" result="pass"/><test-case name="32041mgC001 tokoe:valid" result="pass"/><test-case name="32042mgC001.i tokoe:invalid" result="pass"/><test-case name="32043mgC002 tokoe:valid" result="pass"/><test-case name="32044mgC002.v tokoe:valid" result="pass"/><test-case name="32045mgC003 tokoe:valid" result="pass"/><test-case name="32046mgC003.i tokoe:invalid" result="pass"/><test-case name="32047mgC004 tokoe:valid" result="pass"/><test-case name="32048mgC004.v tokoe:valid" result="pass"/><test-case name="32049mgC005 tokoe:valid" result="pass"/><test-case name="32050mgC005.i tokoe:invalid" result="pass"/><test-case name="32051mgC006 tokoe:valid" result="pass"/><test-case name="32052mgC006.v tokoe:valid" result="pass"/><test-case name="32053mgC007 tokoe:valid" result="pass"/><test-case name="32054mgC007.i tokoe:invalid" result="pass"/><test-case name="32055mgC008 tokoe:invalid" result="pass"/><test-case name="32056mgC009 tokoe:invalid" result="pass"/><test-case name="32057mgC010 tokoe:valid" result="pass"/><test-case name="32058mgC010.i tokoe:invalid" result="pass"/><test-case name="32059mgC011 tokoe:valid" result="pass"/><test-case name="32060mgC011.v tokoe:valid" result="pass"/><test-case name="32061mgC012 tokoe:valid" result="pass"/><test-case name="32062mgC012.i tokoe:invalid" result="pass"/><test-case name="32063mgC013 tokoe:invalid" result="pass"/><test-case name="32064mgC014 tokoe:valid" result="pass"/><test-case name="32065mgC014.v tokoe:valid" result="pass"/><test-case name="32066mgD001 tokoe:valid" result="pass"/><test-case name="32067mgD001.v tokoe:valid" result="pass"/><test-case name="32068mgD005 tokoe:valid" result="pass"/><test-case name="32069mgD005.v tokoe:valid" result="pass"/><test-case name="32070mgD009 tokoe:valid" result="pass"/><test-case name="32071mgD009.v tokoe:valid" result="pass"/><test-case name="32072mgD013 tokoe:valid" result="pass"/><test-case name="32073mgD013.v tokoe:valid" result="pass"/><test-case name="32074mgE001 tokoe:valid" result="pass"/><test-case name="32075mgE001.v tokoe:valid" result="pass"/><test-case name="32076mgE002 tokoe:invalid" result="pass"/><test-case name="32077mgE003 tokoe:invalid" result="pass"/><test-case name="32078mgE004 tokoe:invalid" result="pass"/><test-case name="32079mgE005 tokoe:invalid" result="pass"/><test-case name="32080mgE006 tokoe:invalid" result="pass"/><test-case name="32081mgE007 tokoe:invalid" result="pass"/><test-case name="32082mgE008 tokoe:invalid" result="pass"/><test-case name="32083mgE009 tokoe:invalid" result="pass"/><test-case name="32084mgE010 tokoe:invalid" result="pass"/><test-case name="32085mgE011 tokoe:invalid" result="pass"/><test-case name="32086mgE012 tokoe:invalid" result="pass"/><test-case name="32087mgE013 tokoe:valid" result="pass"/><test-case name="32088mgE013.v tokoe:valid" result="pass"/><test-case name="32089mgE014 tokoe:valid" result="pass"/><test-case name="32090mgE014.v tokoe:valid" result="pass"/><test-case name="32091mgE015 tokoe:valid" result="pass"/><test-case name="32092mgE015.v tokoe:valid" result="pass"/><test-case name="32093mgE016 tokoe:valid" result="pass"/><test-case name="32094mgE016.v tokoe:valid" result="pass"/><test-case name="32095mgE017 tokoe:valid" result="pass"/><test-case name="32096mgE017.v tokoe:valid" result="pass"/><test-case name="32097mgE018 tokoe:valid" result="pass"/><test-case name="32098mgE018.v tokoe:valid" result="pass"/><test-case name="32099mgEa001 tokoe:invalid" result="pass"/><test-case name="32100mgEa002 tokoe:invalid" result="pass"/><test-case name="32101mgEa003 tokoe:invalid" result="pass"/><test-case name="32102mgEa004 tokoe:invalid" result="pass"/><test-case name="32103mgEa005 tokoe:invalid" result="pass"/><test-case name="32104mgEa006 tokoe:invalid" result="pass"/><test-case name="32105mgEa007 tokoe:invalid" result="pass"/><test-case name="32106mgEa008 tokoe:invalid" result="pass"/><test-case name="32107mgEb001 tokoe:invalid" result="pass"/><test-case name="32108mgEb002 tokoe:invalid" result="pass"/><test-case name="32109mgEb003 tokoe:invalid" result="pass"/><test-case name="32110mgEb004 tokoe:valid" result="pass"/><test-case name="32111mgEb004.v tokoe:valid" result="pass"/><test-case name="32112mgEb005 tokoe:valid" result="pass"/><test-case name="32113mgEb005.v tokoe:valid" result="pass"/><test-case name="32114mgEb006 tokoe:invalid" result="pass"/><test-case name="32115mgEb007 tokoe:invalid" result="pass"/><test-case name="32116mgEb008 tokoe:invalid" result="pass"/><test-case name="32117mgF001 tokoe:valid" result="pass"/><test-case name="32118mgF001.v tokoe:valid" result="pass"/><test-case name="32119mgF002 tokoe:valid" result="pass"/><test-case name="32120mgF002.v tokoe:valid" result="pass"/><test-case name="32121mgF003 tokoe:invalid" result="pass"/><test-case name="32122mgF004 tokoe:valid" result="pass"/><test-case name="32123mgF004.v tokoe:valid" result="pass"/><test-case name="32124mgF005 tokoe:valid" result="pass"/><test-case name="32125mgF005.v tokoe:valid" result="pass"/><test-case name="32126mgF006 tokoe:valid" result="pass"/><test-case name="32127mgF006.v tokoe:valid" result="pass"/><test-case name="32128mgF007 tokoe:valid" result="pass"/><test-case name="32129mgF007.v tokoe:valid" result="pass"/><test-case name="32130mgF008 tokoe:valid" result="pass"/><test-case name="32131mgF008.v tokoe:valid" result="pass"/><test-case name="32132mgF009 tokoe:valid" result="pass"/><test-case name="32133mgF009.v tokoe:valid" result="pass"/><test-case name="32134mgF010 tokoe:valid" result="pass"/><test-case name="32135mgF010.v tokoe:valid" result="pass"/><test-case name="32136mgF011 tokoe:valid" result="pass"/><test-case name="32137mgF011.v tokoe:valid" result="pass"/><test-case name="32138mgF012 tokoe:valid" result="pass"/><test-case name="32139mgF012.v tokoe:valid" result="pass"/><test-case name="32140mgF013 tokoe:valid" result="pass"/><test-case name="32141mgF013.v tokoe:valid" result="pass"/><test-case name="32142mgF014 tokoe:valid" result="pass"/><test-case name="32143mgF014.v tokoe:valid" result="pass"/><test-case name="32144mgF015 tokoe:valid" result="pass"/><test-case name="32145mgF015.v tokoe:valid" result="pass"/><test-case name="32146mgF016 tokoe:valid" result="pass"/><test-case name="32147mgF016.v tokoe:valid" result="pass"/><test-case name="32148mgF017 tokoe:valid" result="pass"/><test-case name="32149mgF017.v tokoe:valid" result="pass"/><test-case name="32150mgF018 tokoe:valid" result="pass"/><test-case name="32151mgF018.v tokoe:valid" result="pass"/><test-case name="32152mgF019 tokoe:valid" result="pass"/><test-case name="32153mgF019.v tokoe:valid" result="pass"/><test-case name="32154mgF020 tokoe:invalid" result="pass"/><test-case name="32155mgF021 tokoe:invalid" result="pass"/><test-case name="32156mgF022 tokoe:invalid" result="pass"/><test-case name="32157mgF023 tokoe:invalid" result="pass"/><test-case name="32158mgG002 tokoe:invalid" result="pass"/><test-case name="32159mgG003 tokoe:valid" result="pass"/><test-case name="32160mgG003.i tokoe:invalid" result="pass"/><test-case name="32161mgG004 tokoe:valid" result="pass"/><test-case name="32162mgG004.v tokoe:valid" result="pass"/><test-case name="32163mgG005 tokoe:valid" result="pass"/><test-case name="32164mgG005.i tokoe:invalid" result="pass"/><test-case name="32165mgG006 tokoe:valid" result="pass"/><test-case name="32166mgG006.v tokoe:valid" result="pass"/><test-case name="32167mgG007 tokoe:valid" result="pass"/><test-case name="32168mgG007.v tokoe:valid" result="pass"/><test-case name="32169mgG008 tokoe:valid" result="pass"/><test-case name="32170mgG008.i tokoe:invalid" result="pass"/><test-case name="32171mgG009 tokoe:valid" result="pass"/><test-case name="32172mgG009.v tokoe:valid" result="pass"/><test-case name="32173mgG010 tokoe:valid" result="pass"/><test-case name="32174mgG010.v tokoe:valid" result="pass"/><test-case name="32175mgG011 tokoe:valid" result="pass"/><test-case name="32176mgG011.i tokoe:invalid" result="pass"/><test-case name="32177mgG012 tokoe:valid" result="pass"/><test-case name="32178mgG012.v tokoe:valid" result="pass"/><test-case name="32179mgG013 tokoe:valid" result="pass"/><test-case name="32180mgG013.i tokoe:invalid" result="pass"/><test-case name="32181mgG014 tokoe:valid" result="pass"/><test-case name="32182mgG014.v tokoe:valid" result="pass"/><test-case name="32183mgG015 tokoe:valid" result="pass"/><test-case name="32184mgG015.i tokoe:invalid" result="pass"/><test-case name="32185mgG016 tokoe:valid" result="pass"/><test-case name="32186mgG016.v tokoe:valid" result="pass"/><test-case name="32187mgG017 tokoe:valid" result="pass"/><test-case name="32188mgG017.i tokoe:invalid" result="pass"/><test-case name="32189mgG018 tokoe:valid" result="pass"/><test-case name="32190mgG018.i tokoe:invalid" result="pass"/><test-case name="32191mgG019 tokoe:valid" result="pass"/><test-case name="32192mgG019.v tokoe:valid" result="pass"/><test-case name="32193mgG020 tokoe:valid" result="pass"/><test-case name="32194mgG020.i tokoe:invalid" result="pass"/><test-case name="32195mgG021 tokoe:valid" result="pass"/><test-case name="32196mgG021.i tokoe:invalid" result="pass"/><test-case name="32197mgG022 tokoe:valid" result="pass"/><test-case name="32198mgG022.v tokoe:valid" result="pass"/><test-case name="32199mgG023 tokoe:valid" result="pass"/><test-case name="32200mgG023.v tokoe:valid" result="pass"/><test-case name="32201mgG024 tokoe:valid" result="pass"/><test-case name="32202mgG024.i tokoe:invalid" result="pass"/><test-case name="32203mgG025 tokoe:invalid" result="pass"/><test-case name="32204mgG026 tokoe:valid" result="pass"/><test-case name="32205mgG026.v tokoe:valid" result="pass"/><test-case name="32206mgG027 tokoe:invalid" result="pass"/><test-case name="32207mgG028 tokoe:invalid" result="pass"/><test-case name="32208mgG029 tokoe:invalid" result="pass"/><test-case name="32209mgG030 tokoe:invalid" result="pass"/><test-case name="32210mgH001 tokoe:valid" result="pass"/><test-case name="32211mgH001.v tokoe:valid" result="pass"/><test-case name="32212mgH002 tokoe:invalid" result="pass"/><test-case name="32213mgH003 tokoe:invalid" result="pass"/><test-case name="32214mgH004 tokoe:invalid" result="pass"/><test-case name="32215mgH005 tokoe:invalid" result="pass"/><test-case name="32216mgH006 tokoe:invalid" result="pass"/><test-case name="32217mgH007 tokoe:invalid" result="pass"/><test-case name="32218mgH008 tokoe:invalid" result="pass"/><test-case name="32219mgH009 tokoe:invalid" result="pass"/><test-case name="32220mgH010 tokoe:invalid" result="pass"/><test-case name="32221mgH011 tokoe:invalid" result="pass"/><test-case name="32222mgH012 tokoe:invalid" result="pass"/><test-case name="32223mgH013 tokoe:valid" result="pass"/><test-case name="32224mgH013.v tokoe:valid" result="pass"/><test-case name="32225mgH014 tokoe:valid" result="pass"/><test-case name="32226mgH014.v tokoe:valid" result="pass"/><test-case name="32227mgH015 tokoe:valid" result="pass"/><test-case name="32228mgH015.v tokoe:valid" result="pass"/><test-case name="32229mgH016 tokoe:valid" result="pass"/><test-case name="32230mgH016.v tokoe:valid" result="pass"/><test-case name="32231mgH017 tokoe:valid" result="pass"/><test-case name="32232mgH017.v tokoe:valid" result="pass"/><test-case name="32233mgH018 tokoe:valid" result="pass"/><test-case name="32234mgH018.v tokoe:valid" result="pass"/><test-case name="32235mgHa001 tokoe:invalid" result="pass"/><test-case name="32236mgHa002 tokoe:invalid" result="pass"/><test-case name="32237mgHa003 tokoe:invalid" result="pass"/><test-case name="32238mgHa004 tokoe:invalid" result="pass"/><test-case name="32239mgHa005 tokoe:invalid" result="pass"/><test-case name="32240mgHa006 tokoe:invalid" result="pass"/><test-case name="32241mgHa007 tokoe:invalid" result="pass"/><test-case name="32242mgHa008 tokoe:invalid" result="pass"/><test-case name="32243mgHb001 tokoe:invalid" result="pass"/><test-case name="32244mgHb002 tokoe:invalid" result="pass"/><test-case name="32245mgHb003 tokoe:invalid" result="pass"/><test-case name="32246mgHb004 tokoe:valid" result="pass"/><test-case name="32247mgHb004.v tokoe:valid" result="pass"/><test-case name="32248mgHb005 tokoe:valid" result="pass"/><test-case name="32249mgHb005.v tokoe:valid" result="pass"/><test-case name="32250mgHb006 tokoe:invalid" result="pass"/><test-case name="32251mgHb007 tokoe:invalid" result="pass"/><test-case name="32252mgHb008 tokoe:invalid" result="pass"/><test-case name="32253mgI001 tokoe:valid" result="pass"/><test-case name="32254mgI001.v tokoe:valid" result="pass"/><test-case name="32255mgI002 tokoe:valid" result="pass"/><test-case name="32256mgI002.v tokoe:valid" result="pass"/><test-case name="32257mgI003 tokoe:invalid" result="pass"/><test-case name="32258mgI004 tokoe:valid" result="pass"/><test-case name="32259mgI004.v tokoe:valid" result="pass"/><test-case name="32260mgI005 tokoe:valid" result="pass"/><test-case name="32261mgI005.v tokoe:valid" result="pass"/><test-case name="32262mgI006 tokoe:valid" result="pass"/><test-case name="32263mgI006.v tokoe:valid" result="pass"/><test-case name="32264mgI007 tokoe:valid" result="pass"/><test-case name="32265mgI007.v tokoe:valid" result="pass"/><test-case name="32266mgI008 tokoe:valid" result="pass"/><test-case name="32267mgI008.v tokoe:valid" result="pass"/><test-case name="32268mgI009 tokoe:valid" result="pass"/><test-case name="32269mgI009.v tokoe:valid" result="pass"/><test-case name="32270mgI010 tokoe:valid" result="pass"/><test-case name="32271mgI010.v tokoe:valid" result="pass"/><test-case name="32272mgI011 tokoe:valid" result="pass"/><test-case name="32273mgI011.v tokoe:valid" result="pass"/><test-case name="32274mgI012 tokoe:valid" result="pass"/><test-case name="32275mgI012.v tokoe:valid" result="pass"/><test-case name="32276mgI013 tokoe:valid" result="pass"/><test-case name="32277mgI013.v tokoe:valid" result="pass"/><test-case name="32278mgI014 tokoe:valid" result="pass"/><test-case name="32279mgI014.v tokoe:valid" result="pass"/><test-case name="32280mgI015 tokoe:valid" result="pass"/><test-case name="32281mgI015.v tokoe:valid" result="pass"/><test-case name="32282mgI016 tokoe:valid" result="pass"/><test-case name="32283mgI016.v tokoe:valid" result="pass"/><test-case name="32284mgI017 tokoe:valid" result="pass"/><test-case name="32285mgI017.v tokoe:valid" result="pass"/><test-case name="32286mgI018 tokoe:valid" result="pass"/><test-case name="32287mgI018.v tokoe:valid" result="pass"/><test-case name="32288mgI019 tokoe:valid" result="pass"/><test-case name="32289mgI019.v tokoe:valid" result="pass"/><test-case name="32290mgI020 tokoe:invalid" result="pass"/><test-case name="32291mgI021 tokoe:invalid" result="pass"/><test-case name="32292mgI022 tokoe:invalid" result="pass"/><test-case name="32293mgI023 tokoe:invalid" result="pass"/><test-case name="32294mgJ002 tokoe:invalid" result="pass"/><test-case name="32295mgJ003 tokoe:valid" result="pass"/><test-case name="32296mgJ003.i tokoe:invalid" result="pass"/><test-case name="32297mgJ004 tokoe:valid" result="pass"/><test-case name="32298mgJ004.v tokoe:valid" result="pass"/><test-case name="32299mgJ005 tokoe:valid" result="pass"/><test-case name="32300mgJ005.i tokoe:invalid" result="pass"/><test-case name="32301mgJ006 tokoe:valid" result="pass"/><test-case name="32302mgJ006.v tokoe:valid" result="pass"/><test-case name="32303mgJ007 tokoe:valid" result="pass"/><test-case name="32304mgJ007.v tokoe:valid" result="pass"/><test-case name="32305mgJ008 tokoe:valid" result="pass"/><test-case name="32306mgJ008.i tokoe:invalid" result="pass"/><test-case name="32307mgJ009 tokoe:valid" result="pass"/><test-case name="32308mgJ009.v tokoe:valid" result="pass"/><test-case name="32309mgJ010 tokoe:valid" result="pass"/><test-case name="32310mgJ010.v tokoe:valid" result="pass"/><test-case name="32311mgJ011 tokoe:valid" result="pass"/><test-case name="32312mgJ011.i tokoe:invalid" result="pass"/><test-case name="32313mgJ012 tokoe:valid" result="pass"/><test-case name="32314mgJ012.v tokoe:valid" result="pass"/><test-case name="32315mgJ013 tokoe:valid" result="pass"/><test-case name="32316mgJ013.i tokoe:invalid" result="pass"/><test-case name="32317mgJ014 tokoe:valid" result="pass"/><test-case name="32318mgJ014.v tokoe:valid" result="pass"/><test-case name="32319mgJ015 tokoe:valid" result="pass"/><test-case name="32320mgJ015.i tokoe:invalid" result="pass"/><test-case name="32321mgJ016 tokoe:valid" result="pass"/><test-case name="32322mgJ016.v tokoe:valid" result="pass"/><test-case name="32323mgJ017 tokoe:valid" result="pass"/><test-case name="32324mgJ017.i tokoe:invalid" result="pass"/><test-case name="32325mgJ018 tokoe:valid" result="pass"/><test-case name="32326mgJ018.i tokoe:invalid" result="pass"/><test-case name="32327mgJ019 tokoe:valid" result="pass"/><test-case name="32328mgJ019.v tokoe:valid" result="pass"/><test-case name="32329mgJ020 tokoe:valid" result="pass"/><test-case name="32330mgJ020.i tokoe:invalid" result="pass"/><test-case name="32331mgJ021 tokoe:valid" result="pass"/><test-case name="32332mgJ021.i tokoe:invalid" result="pass"/><test-case name="32333mgJ022 tokoe:valid" result="pass"/><test-case name="32334mgJ022.v tokoe:valid" result="pass"/><test-case name="32335mgJ023 tokoe:valid" result="pass"/><test-case name="32336mgJ023.v tokoe:valid" result="pass"/><test-case name="32337mgJ024 tokoe:valid" result="pass"/><test-case name="32338mgJ024.i tokoe:invalid" result="pass"/><test-case name="32339mgJ025 tokoe:invalid" result="pass"/><test-case name="32340mgJ026 tokoe:valid" result="pass"/><test-case name="32341mgJ026.v tokoe:valid" result="pass"/><test-case name="32342mgJ027 tokoe:invalid" result="pass"/><test-case name="32343mgJ028 tokoe:invalid" result="pass"/><test-case name="32344mgJ029 tokoe:invalid" result="pass"/><test-case name="32345mgJ030 tokoe:invalid" result="pass"/><test-case name="32346mgK001 tokoe:valid" result="pass"/><test-case name="32347mgK001.v tokoe:valid" result="pass"/><test-case name="32348mgK002 tokoe:valid" result="pass"/><test-case name="32349mgK002.i tokoe:invalid" result="pass"/><test-case name="32350mgK003 tokoe:valid" result="pass"/><test-case name="32351mgK003.i tokoe:invalid" result="pass"/><test-case name="32352mgK004 tokoe:valid" result="pass"/><test-case name="32353mgK004.v tokoe:valid" result="pass"/><test-case name="32354mgK005 tokoe:valid" result="pass"/><test-case name="32355mgK005.i tokoe:invalid" result="pass"/><test-case name="32356mgK006 tokoe:valid" result="pass"/><test-case name="32357mgK006.i tokoe:invalid" result="pass"/><test-case name="32358mgK007 tokoe:valid" result="pass"/><test-case name="32359mgK007.i tokoe:invalid" result="pass"/><test-case name="32360mgK008 tokoe:valid" result="pass"/><test-case name="32361mgK008.i tokoe:invalid" result="pass"/><test-case name="32362mgK009 tokoe:valid" result="pass"/><test-case name="32363mgK009.v tokoe:valid" result="pass"/><test-case name="32364mgK010 tokoe:valid" result="pass"/><test-case name="32365mgK010.i tokoe:invalid" result="pass"/><test-case name="32366mgL001 tokoe:valid" result="pass"/><test-case name="32367mgL001.v tokoe:valid" result="pass"/><test-case name="32368mgL002 tokoe:valid" result="pass"/><test-case name="32369mgL002.i tokoe:invalid" result="pass"/><test-case name="32370mgL003 tokoe:valid" result="pass"/><test-case name="32371mgL003.i tokoe:invalid" result="pass"/><test-case name="32372mgL004 tokoe:valid" result="pass"/><test-case name="32373mgL004.v tokoe:valid" result="pass"/><test-case name="32374mgL005 tokoe:valid" result="pass"/><test-case name="32375mgL005.i tokoe:invalid" result="pass"/><test-case name="32376mgL006 tokoe:valid" result="pass"/><test-case name="32377mgL006.v tokoe:valid" result="pass"/><test-case name="32378mgL007 tokoe:valid" result="pass"/><test-case name="32379mgL007.i tokoe:invalid" result="pass"/><test-case name="32380mgL008 tokoe:valid" result="pass"/><test-case name="32381mgL008.v tokoe:valid" result="pass"/><test-case name="32382mgL009 tokoe:valid" result="pass"/><test-case name="32383mgL009.v tokoe:valid" result="pass"/><test-case name="32384mgL010 tokoe:valid" result="pass"/><test-case name="32385mgL010.i tokoe:invalid" result="pass"/><test-case name="32386mgM002 tokoe:valid" result="pass"/><test-case name="32387mgM002.i tokoe:invalid" result="pass"/><test-case name="32388mgM003 tokoe:valid" result="pass"/><test-case name="32389mgM003.i tokoe:invalid" result="pass"/><test-case name="32390mgM004 tokoe:valid" result="pass"/><test-case name="32391mgM004.v tokoe:valid" result="pass"/><test-case name="32392mgM005 tokoe:valid" result="pass"/><test-case name="32393mgM005.i tokoe:invalid" result="pass"/><test-case name="32394mgM006 tokoe:valid" result="pass"/><test-case name="32395mgM006.i tokoe:invalid" result="pass"/><test-case name="32396mgM007 tokoe:valid" result="pass"/><test-case name="32397mgM007.i tokoe:invalid" result="pass"/><test-case name="32398mgM008 tokoe:valid" result="pass"/><test-case name="32399mgM008.v tokoe:valid" result="pass"/><test-case name="32400mgM009 tokoe:valid" result="pass"/><test-case name="32401mgM009.v tokoe:valid" result="pass"/><test-case name="32402mgM010 tokoe:valid" result="pass"/><test-case name="32403mgM010.i tokoe:invalid" result="pass"/><test-case name="32404mgM011 tokoe:valid" result="pass"/><test-case name="32405mgM011.v tokoe:valid" result="pass"/><test-case name="32406mgM012 tokoe:valid" result="pass"/><test-case name="32407mgM012.i tokoe:invalid" result="pass"/><test-case name="32408mgM013 tokoe:valid" result="pass"/><test-case name="32409mgM013.v tokoe:valid" result="pass"/><test-case name="32410mgM014 tokoe:valid" result="pass"/><test-case name="32411mgM014.i tokoe:invalid" result="pass"/><test-case name="32412mgN001 tokoe:valid" result="pass"/><test-case name="32413mgN001.v tokoe:valid" result="pass"/><test-case name="32414mgN002 tokoe:valid" result="pass"/><test-case name="32415mgN002.i tokoe:invalid" result="pass"/><test-case name="32416mgN003 tokoe:valid" result="pass"/><test-case name="32417mgN003.i tokoe:invalid" result="pass"/><test-case name="32418mgN004 tokoe:valid" result="pass"/><test-case name="32419mgN004.i tokoe:invalid" result="pass"/><test-case name="32420mgN005 tokoe:valid" result="pass"/><test-case name="32421mgN005.v tokoe:valid" result="pass"/><test-case name="32422mgN006 tokoe:valid" result="pass"/><test-case name="32423mgN006.i tokoe:invalid" result="pass"/><test-case name="32424mgN007 tokoe:valid" result="pass"/><test-case name="32425mgN007.i tokoe:invalid" result="pass"/><test-case name="32426mgN008 tokoe:valid" result="pass"/><test-case name="32427mgN008.i tokoe:invalid" result="pass"/><test-case name="32428mgN009 tokoe:valid" result="pass"/><test-case name="32429mgN009.i tokoe:invalid" result="pass"/><test-case name="32430mgN010 tokoe:valid" result="pass"/><test-case name="32431mgN010.i tokoe:invalid" result="pass"/><test-case name="32432mgN011 tokoe:valid" result="pass"/><test-case name="32433mgN011.i tokoe:invalid" result="pass"/><test-case name="32434mgN012 tokoe:valid" result="pass"/><test-case name="32435mgN012.v tokoe:valid" result="pass"/><test-case name="32436mgN013 tokoe:valid" result="pass"/><test-case name="32437mgN013.i tokoe:invalid" result="pass"/><test-case name="32438mgN014 tokoe:valid" result="pass"/><test-case name="32439mgN014.i tokoe:invalid" result="pass"/><test-case name="32440mgN015 tokoe:valid" result="pass"/><test-case name="32441mgN015.i tokoe:invalid" result="pass"/><test-case name="32442mgN016 tokoe:valid" result="pass"/><test-case name="32443mgN016.i tokoe:invalid" result="pass"/><test-case name="32444mgO001 tokoe:invalid" result="pass"/><test-case name="32445mgO002 tokoe:valid" result="pass"/><test-case name="32446mgO002.v tokoe:valid" result="pass"/><test-case name="32447mgO003 tokoe:invalid" result="pass"/><test-case name="32448mgO004 tokoe:valid" result="pass"/><test-case name="32449mgO004.v tokoe:valid" result="pass"/><test-case name="32450mgO005 tokoe:valid" result="pass"/><test-case name="32451mgO005.v tokoe:valid" result="pass"/><test-case name="32452mgO006 tokoe:valid" result="pass"/><test-case name="32453mgO006.v tokoe:valid" result="pass"/><test-case name="32454mgO007 tokoe:valid" result="pass"/><test-case name="32455mgO008 tokoe:valid" result="pass"/><test-case name="32456mgO008.v tokoe:valid" result="pass"/><test-case name="32457mgO009 tokoe:valid" result="pass"/><test-case name="32458mgO009.v tokoe:valid" result="pass"/><test-case name="32459mgO010 tokoe:valid" result="pass"/><test-case name="32460mgO010.v tokoe:valid" result="pass"/><test-case name="32461mgO011 tokoe:valid" result="pass"/><test-case name="32462mgO011.v tokoe:valid" result="pass"/><test-case name="32463mgO012 tokoe:invalid" result="pass"/><test-case name="32464mgO014 tokoe:valid" result="pass"/><test-case name="32465mgO015 tokoe:valid" result="pass"/><test-case name="32466mgO015.v tokoe:valid" result="pass"/><test-case name="32467mgO016 tokoe:valid" result="pass"/><test-case name="32468mgO016.v tokoe:valid" result="pass"/><test-case name="32469mgO017 tokoe:valid" result="pass"/><test-case name="32470mgO017.v tokoe:valid" result="pass"/><test-case name="32471mgO018 tokoe:invalid" result="pass"/><test-case name="32472mgO019 tokoe:invalid" result="pass"/><test-case name="32473mgO020 tokoe:invalid" result="pass"/><test-case name="32474mgO021 tokoe:invalid" result="pass"/><test-case name="32475mgO022 tokoe:invalid" result="pass"/><test-case name="32476mgO023 tokoe:invalid" result="pass"/><test-case name="32477mgO024 tokoe:invalid" result="pass"/><test-case name="32478mgO025 tokoe:invalid" result="pass"/><test-case name="32479mgO026 tokoe:invalid" result="pass"/><test-case name="32480mgO027 tokoe:invalid" result="pass"/><test-case name="32481mgO028 tokoe:valid" result="pass"/><test-case name="32482mgO029 tokoe:valid" result="pass"/><test-case name="32483mgO029.v tokoe:valid" result="pass"/><test-case name="32484mgO030 tokoe:valid" result="pass"/><test-case name="32485mgO030.v tokoe:valid" result="pass"/><test-case name="32486mgO031 tokoe:valid" result="pass"/><test-case name="32487mgO031.v tokoe:valid" result="pass"/><test-case name="32488mgO032 tokoe:invalid" result="pass"/><test-case name="32489mgO033 tokoe:invalid" result="pass"/><test-case name="32490mgO034 tokoe:valid" result="pass"/><test-case name="32491mgO034.v tokoe:valid" result="pass"/><test-case name="32492mgO035 tokoe:valid" result="pass"/><test-case name="32493mgO036 tokoe:valid" result="pass"/><test-case name="32494mgO036.v tokoe:valid" result="pass"/><test-case name="32495mgO037 tokoe:valid" result="pass"/><test-case name="32496mgO037.v tokoe:valid" result="pass"/><test-case name="32497mgO038 tokoe:valid" result="pass"/><test-case name="32498mgO038.v tokoe:valid" result="pass"/><test-case name="32499mgP039 tokoe:invalid" result="pass"/><test-case name="32500mgP040 tokoe:invalid" result="pass"/><test-case name="32501mgP041 tokoe:invalid" result="pass"/><test-case name="32502mgP042 tokoe:invalid" result="pass"/><test-case name="32503mgP043 tokoe:invalid" result="pass"/><test-case name="32504mgP049 tokoe:invalid" result="pass"/><test-case name="32505mgP050 tokoe:invalid" result="pass"/><test-case name="32506mgP055 tokoe:invalid" result="pass"/><test-case name="32507mgP056 tokoe:invalid" result="pass"/><test-case name="32508mgP057 tokoe:invalid" result="pass"/><test-case name="32509mgP058 tokoe:invalid" result="pass"/><test-case name="32510mgP059 tokoe:invalid" result="pass"/><test-case name="32511mgP060 tokoe:invalid" result="pass"/><test-case name="32512mgP061 tokoe:invalid" result="pass"/><test-case name="32513mgP062 tokoe:invalid" result="pass"/><test-case name="32514mgQ001 tokoe:invalid" result="pass"/><test-case name="32515mgQ002 tokoe:valid" result="pass"/><test-case name="32516mgQ002.v tokoe:valid" result="pass"/><test-case name="32517mgQ003 tokoe:valid" result="pass"/><test-case name="32518mgQ003.v tokoe:valid" result="pass"/><test-case name="32519mgQ004 tokoe:invalid" result="pass"/><test-case name="32520mgQ005 tokoe:invalid" result="pass"/><test-case name="32521mgQ006 tokoe:valid" result="pass"/><test-case name="32522mgQ006.v tokoe:valid" result="pass"/><test-case name="32523mgQ007 tokoe:valid" result="pass"/><test-case name="32524mgQ007.v tokoe:valid" result="pass"/><test-case name="32525mgQ008 tokoe:valid" result="pass"/><test-case name="32526mgQ008.v tokoe:valid" result="pass"/><test-case name="32527mgQ009 tokoe:valid" result="pass"/><test-case name="32528mgQ009.v tokoe:valid" result="pass"/><test-case name="32529mgQ010 tokoe:invalid" result="pass"/><test-case name="32530mgQ011 tokoe:invalid" result="pass"/><test-case name="32531mgQ012 tokoe:invalid" result="pass"/><test-case name="32532mgQ013 tokoe:invalid" result="pass"/><test-case name="32533mgQ014 tokoe:valid" result="pass"/><test-case name="32534mgQ014.v tokoe:valid" result="pass"/><test-case name="32535mgQ015 tokoe:valid" result="pass"/><test-case name="32536mgQ015.v tokoe:valid" result="pass"/><test-case name="32537mgQ016 tokoe:valid" result="pass"/><test-case name="32538mgQ016.v tokoe:valid" result="pass"/><test-case name="32539mgQ017 tokoe:valid" result="pass"/><test-case name="32540mgQ017.v tokoe:valid" result="pass"/><test-case name="32541mgQ018 tokoe:valid" result="pass"/><test-case name="32542mgQ018.v tokoe:valid" result="pass"/><test-case name="32543mgQ019 tokoe:valid" result="pass"/><test-case name="32544mgQ019.v tokoe:valid" result="pass"/><test-case name="32545mgQ020 tokoe:valid" result="pass"/><test-case name="32546mgQ020.v tokoe:valid" result="pass"/><test-case name="32547mgQ021 tokoe:invalid" result="pass"/><test-case name="32548mgR001 tokoe:invalid" result="pass"/><test-case name="32549mgR002 tokoe:invalid" result="pass"/><test-case name="32550mgR003 tokoe:invalid" result="pass"/><test-case name="32551mgR004 tokoe:invalid" result="pass"/><test-case name="32552mgR005 tokoe:invalid" result="pass"/><test-case name="32553mgR006 tokoe:invalid" result="pass"/><test-case name="32554mgR007 tokoe:invalid" result="pass"/><test-case name="32555mgR008 tokoe:invalid" result="pass"/><test-case name="32556mgR009 tokoe:invalid" result="pass"/><test-case name="32557mgR010 tokoe:invalid" result="pass"/><test-case name="32558mgR011 tokoe:invalid" result="pass"/><test-case name="32559mgR012 tokoe:invalid" result="pass"/><test-case name="32560mgR013 tokoe:invalid" result="pass"/><test-case name="32561mgR014 tokoe:invalid" result="pass"/><test-case name="32562mgR015 tokoe:invalid" result="pass"/><test-case name="32563mgR016 tokoe:invalid" result="pass"/><test-case name="32564mgR017 tokoe:invalid" result="pass"/><test-case name="32565mgR018 tokoe:invalid" result="pass"/><test-case name="32566mgR019 tokoe:invalid" result="pass"/><test-case name="32567mgR020 tokoe:invalid" result="pass"/><test-case name="32568mgR021 tokoe:invalid" result="pass"/><test-case name="32569mgR022 tokoe:invalid" result="pass"/><test-case name="32570mgS002 tokoe:invalid" result="pass"/><test-case name="32571mgS003 tokoe:invalid" result="pass"/><test-case name="32572mgS004 tokoe:invalid" result="pass"/><test-case name="32573mgS005 tokoe:invalid" result="pass"/><test-case name="32574mgZ001 tokoe:valid" result="pass"/><test-case name="32575mgZ001.i tokoe:invalid" result="pass"/><test-case name="32576mgZ002 tokoe:valid" result="pass"/><test-case name="32577mgZ003 tokoe:valid" result="pass"/><test-case name="32578mgZ003.v tokoe:valid" result="pass"/><test-case name="32579mgZ004 tokoe:valid" result="pass"/><test-case name="32580mgZ004.v tokoe:valid" result="pass"/><test-case name="32581mgZ005 tokoe:valid" result="pass"/><test-case name="32582notatA001 tokoe:valid" result="pass"/><test-case name="32583notatA002 tokoe:invalid" result="pass"/><test-case name="32584notatA003 tokoe:valid" result="pass"/><test-case name="32585notatA004 tokoe:valid" result="pass"/><test-case name="32586notatA005 tokoe:invalid" result="pass"/><test-case name="32587notatA006 tokoe:invalid" result="pass"/><test-case name="32588notatA007 tokoe:invalid" result="pass"/><test-case name="32589notatB001 tokoe:invalid" result="pass"/><test-case name="32590notatB002 tokoe:valid" result="pass"/><test-case name="32591notatB003 tokoe:valid" result="pass"/><test-case name="32592notatB004 tokoe:valid" result="pass"/><test-case name="32593notatB005 tokoe:invalid" result="pass"/><test-case name="32594notatB006 tokoe:valid" result="pass"/><test-case name="32595notatB008 tokoe:invalid" result="pass"/><test-case name="32596notatB009 tokoe:invalid" result="pass"/><test-case name="32597notatB010 tokoe:invalid" result="pass"/><test-case name="32598notatB011 tokoe:invalid" result="pass"/><test-case name="32599notatB012 tokoe:invalid" result="pass"/><test-case name="32600notatB013 tokoe:invalid" result="pass"/><test-case name="32601notatB014 tokoe:valid" result="pass"/><test-case name="32602notatB015 tokoe:valid" result="pass"/><test-case name="32603notatB016 tokoe:valid" result="pass"/><test-case name="32604notatC001 tokoe:valid" result="pass"/><test-case name="32605notatC003 tokoe:valid" result="pass"/><test-case name="32606notatC004 tokoe:valid" result="pass"/><test-case name="32607notatC005 tokoe:valid" result="pass"/><test-case name="32608notatC006 tokoe:valid" result="pass"/><test-case name="32609notatD001 tokoe:valid" result="pass"/><test-case name="32610notatD004 tokoe:valid" result="pass"/><test-case name="32611notatD005 tokoe:valid" result="pass"/><test-case name="32612notatD006 tokoe:valid" result="pass"/><test-case name="32613notatD007 tokoe:valid" result="pass"/><test-case name="32614notatE001 tokoe:valid" result="pass"/><test-case name="32615notatE002 tokoe:invalid" result="pass"/><test-case name="32616notatE003 tokoe:invalid" result="pass"/><test-case name="32617notatE004 tokoe:valid" result="pass"/><test-case name="32618notatF001 tokoe:invalid" result="pass"/><test-case name="32619notatF002 tokoe:invalid" result="pass"/><test-case name="32620notatF003 tokoe:invalid" result="pass"/><test-case name="32621notatF004 tokoe:valid" result="pass"/><test-case name="32622notatF005 tokoe:invalid" result="pass"/><test-case name="32623notatF006 tokoe:invalid" result="pass"/><test-case name="32624notatF007 tokoe:invalid" result="pass"/><test-case name="32625notatF008 tokoe:invalid" result="pass"/><test-case name="32626notatF009 tokoe:valid" result="pass"/><test-case name="32627notatF010 tokoe:invalid" result="pass"/><test-case name="32628notatF011 tokoe:invalid" result="pass"/><test-case name="32629notatF012 tokoe:invalid" result="pass"/><test-case name="32630notatF013 tokoe:invalid" result="pass"/><test-case name="32631notatF014 tokoe:invalid" result="pass"/><test-case name="32632notatF015 tokoe:invalid" result="pass"/><test-case name="32633notatF016 tokoe:invalid" result="pass"/><test-case name="32634notatF017 tokoe:invalid" result="pass"/><test-case name="32635notatF018 tokoe:invalid" result="pass"/><test-case name="32636notatF019 tokoe:invalid" result="pass"/><test-case name="32637notatF020 tokoe:invalid" result="pass"/><test-case name="32638notatF021 tokoe:valid" result="pass"/><test-case name="32639notatF022 tokoe:invalid" result="pass"/><test-case name="32640notatF023 tokoe:invalid" result="pass"/><test-case name="32641notatF024 tokoe:invalid" result="pass"/><test-case name="32642notatF025 tokoe:invalid" result="pass"/><test-case name="32643notatF026 tokoe:invalid" result="pass"/><test-case name="32644notatF027 tokoe:invalid" result="pass"/><test-case name="32645notatF028 tokoe:invalid" result="pass"/><test-case name="32646notatF029 tokoe:invalid" result="pass"/><test-case name="32647notatF030 tokoe:invalid" result="pass"/><test-case name="32648notatF031 tokoe:invalid" result="pass"/><test-case name="32649notatF032 tokoe:invalid" result="pass"/><test-case name="32650notatF033 tokoe:invalid" result="pass"/><test-case name="32651notatF034 tokoe:invalid" result="pass"/><test-case name="32652notatF035 tokoe:invalid" result="pass"/><test-case name="32653notatF036 tokoe:invalid" result="pass"/><test-case name="32654notatF037 tokoe:invalid" result="pass"/><test-case name="32655notatF038 tokoe:invalid" result="pass"/><test-case name="32656notatF039 tokoe:invalid" result="pass"/><test-case name="32657notatF040 tokoe:invalid" result="pass"/><test-case name="32658notatF041 tokoe:invalid" result="pass"/><test-case name="32659notatF042 tokoe:invalid" result="pass"/><test-case name="32660notatF043 tokoe:invalid" result="pass"/><test-case name="32661notatF044 tokoe:invalid" result="pass"/><test-case name="32662notatF045 tokoe:invalid" result="pass"/><test-case name="32663notatF046 tokoe:invalid" result="pass"/><test-case name="32664notatF047 tokoe:invalid" result="pass"/><test-case name="32665notatF048 tokoe:invalid" result="pass"/><test-case name="32666notatF049 tokoe:invalid" result="pass"/><test-case name="32667notatF050 tokoe:invalid" result="pass"/><test-case name="32668notatF051 tokoe:invalid" result="pass"/><test-case name="32669notatF052 tokoe:invalid" result="pass"/><test-case name="32670notatF053 tokoe:invalid" result="pass"/><test-case name="32671notatF054 tokoe:invalid" result="pass"/><test-case name="32672notatF055 tokoe:invalid" result="pass"/><test-case name="32673notatF056 tokoe:invalid" result="pass"/><test-case name="32674notatF057 tokoe:invalid" result="pass"/><test-case name="32675notatF058 tokoe:invalid" result="pass"/><test-case name="32676notatF059 tokoe:valid" result="pass"/><test-case name="32677notatF060 tokoe:invalid" result="pass"/><test-case name="32678notatF061 tokoe:invalid" result="pass"/><test-case name="32679notatF062 tokoe:invalid" result="pass"/><test-case name="32680notatF063 tokoe:invalid" result="pass"/><test-case name="32681notatF064 tokoe:invalid" result="pass"/><test-case name="32682notatF065 tokoe:invalid" result="pass"/><test-case name="32683notatF066 tokoe:invalid" result="pass"/><test-case name="32684notatF067 tokoe:invalid" result="pass"/><test-case name="32685notatF068 tokoe:invalid" result="pass"/><test-case name="32686notatF069 tokoe:invalid" result="pass"/><test-case name="32687notatF070 tokoe:invalid" result="pass"/><test-case name="32688notatF071 tokoe:invalid" result="pass"/><test-case name="32689notatF072 tokoe:invalid" result="pass"/><test-case name="32690notatG001 tokoe:invalid" result="pass"/><test-case name="32691notatG002 tokoe:invalid" result="pass"/><test-case name="32692notatG003 tokoe:invalid" result="pass"/><test-case name="32693notatG005 tokoe:valid" result="pass"/><test-case name="32694notatG006 tokoe:invalid" result="pass"/><test-case name="32695notatH001v tokoe:valid" result="pass"/><test-case name="32696notatH001v.v tokoe:valid" result="pass"/><test-case name="32697notatH002v tokoe:valid" result="pass"/><test-case name="32698notatH002v.i tokoe:invalid" result="pass"/><test-case name="32699notatH003 tokoe:valid" result="pass"/><test-case name="32700notatH003.i tokoe:invalid" result="pass"/><test-case name="32701particlesA001 tokoe:valid" result="pass"/><test-case name="32702particlesA001.i tokoe:invalid" result="pass"/><test-case name="32703particlesA002 tokoe:valid" result="pass"/><test-case name="32704particlesA002.v tokoe:valid" result="pass"/><test-case name="32705particlesA003 tokoe:valid" result="pass"/><test-case name="32706particlesA003.i tokoe:invalid" result="pass"/><test-case name="32707particlesA004 tokoe:valid" result="pass"/><test-case name="32708particlesA004.i tokoe:invalid" result="pass"/><test-case name="32709particlesA005 tokoe:valid" result="pass"/><test-case name="32710particlesA005.i tokoe:invalid" result="pass"/><test-case name="32711particlesA006 tokoe:valid" result="pass"/><test-case name="32712particlesA006.v tokoe:valid" result="pass"/><test-case name="32713particlesA007 tokoe:valid" result="pass"/><test-case name="32714particlesA007.v tokoe:valid" result="pass"/><test-case name="32715particlesA008 tokoe:valid" result="pass"/><test-case name="32716particlesA008.i tokoe:invalid" result="pass"/><test-case name="32717particlesA009 tokoe:valid" result="pass"/><test-case name="32718particlesA009.i tokoe:invalid" result="pass"/><test-case name="32719particlesA010 tokoe:valid" result="pass"/><test-case name="32720particlesA010.v tokoe:valid" result="pass"/><test-case name="32721particlesA011 tokoe:valid" result="pass"/><test-case name="32722particlesA011.v tokoe:valid" result="pass"/><test-case name="32723particlesB001 tokoe:valid" result="pass"/><test-case name="32724particlesB001.i tokoe:invalid" result="pass"/><test-case name="32725particlesB002 tokoe:valid" result="pass"/><test-case name="32726particlesB002.v tokoe:valid" result="pass"/><test-case name="32727particlesB003 tokoe:valid" result="pass"/><test-case name="32728particlesB003.i tokoe:invalid" result="pass"/><test-case name="32729particlesB004 tokoe:valid" result="pass"/><test-case name="32730particlesB004.i tokoe:invalid" result="pass"/><test-case name="32731particlesB005 tokoe:valid" result="pass"/><test-case name="32732particlesB005.v tokoe:valid" result="pass"/><test-case name="32733particlesB006 tokoe:valid" result="pass"/><test-case name="32734particlesB006.v tokoe:valid" result="pass"/><test-case name="32735particlesB007 tokoe:valid" result="pass"/><test-case name="32736particlesB007.i tokoe:invalid" result="pass"/><test-case name="32737particlesB008 tokoe:valid" result="pass"/><test-case name="32738particlesB008.i tokoe:invalid" result="pass"/><test-case name="32739particlesB009 tokoe:valid" result="pass"/><test-case name="32740particlesB009.v tokoe:valid" result="pass"/><test-case name="32741particlesB010 tokoe:valid" result="pass"/><test-case name="32742particlesB010.v tokoe:valid" result="pass"/><test-case name="32743particlesB011 tokoe:valid" result="pass"/><test-case name="32744particlesB011.i tokoe:invalid" result="pass"/><test-case name="32745particlesB012 tokoe:valid" result="pass"/><test-case name="32746particlesB012.i tokoe:invalid" result="pass"/><test-case name="32747particlesB013 tokoe:valid" result="pass"/><test-case name="32748particlesB013.v tokoe:valid" result="pass"/><test-case name="32749particlesB014 tokoe:valid" result="pass"/><test-case name="32750particlesB014.v tokoe:valid" result="pass"/><test-case name="32751particlesB015 tokoe:valid" result="pass"/><test-case name="32752particlesB015.i tokoe:invalid" result="pass"/><test-case name="32753particlesC001 tokoe:valid" result="pass"/><test-case name="32754particlesC001.v tokoe:valid" result="pass"/><test-case name="32755particlesC002 tokoe:valid" result="pass"/><test-case name="32756particlesC002.v tokoe:valid" result="pass"/><test-case name="32757particlesC003 tokoe:valid" result="pass"/><test-case name="32758particlesC003.v tokoe:valid" result="pass"/><test-case name="32759particlesC004 tokoe:valid" result="pass"/><test-case name="32760particlesC004.v tokoe:valid" result="pass"/><test-case name="32761particlesC005 tokoe:valid" result="pass"/><test-case name="32762particlesC005.v tokoe:valid" result="pass"/><test-case name="32763particlesC006 tokoe:valid" result="pass"/><test-case name="32764particlesC006.v tokoe:valid" result="pass"/><test-case name="32765particlesC007 tokoe:valid" result="pass"/><test-case name="32766particlesC007.i tokoe:invalid" result="pass"/><test-case name="32767particlesC008 tokoe:valid" result="pass"/><test-case name="32768particlesC008.v tokoe:valid" result="pass"/><test-case name="32769particlesC009 tokoe:valid" result="pass"/><test-case name="32770particlesC009.i tokoe:invalid" result="pass"/><test-case name="32771particlesC010 tokoe:valid" result="pass"/><test-case name="32772particlesC010.i tokoe:invalid" result="pass"/><test-case name="32773particlesC011 tokoe:valid" result="pass"/><test-case name="32774particlesC011.v tokoe:valid" result="pass"/><test-case name="32775particlesC012 tokoe:valid" result="pass"/><test-case name="32776particlesC012.i tokoe:invalid" result="pass"/><test-case name="32777particlesC013 tokoe:valid" result="pass"/><test-case name="32778particlesC013.i tokoe:invalid" result="pass"/><test-case name="32779particlesC014 tokoe:valid" result="pass"/><test-case name="32780particlesC014.i tokoe:invalid" result="pass"/><test-case name="32781particlesC015 tokoe:valid" result="pass"/><test-case name="32782particlesC015.v tokoe:valid" result="pass"/><test-case name="32783particlesC016 tokoe:valid" result="pass"/><test-case name="32784particlesC016.v tokoe:valid" result="pass"/><test-case name="32785particlesC017 tokoe:valid" result="pass"/><test-case name="32786particlesC017.i tokoe:invalid" result="pass"/><test-case name="32787particlesC018 tokoe:valid" result="pass"/><test-case name="32788particlesC018.i tokoe:invalid" result="pass"/><test-case name="32789particlesC019 tokoe:valid" result="pass"/><test-case name="32790particlesC019.i tokoe:invalid" result="pass"/><test-case name="32791particlesC020 tokoe:valid" result="pass"/><test-case name="32792particlesC020.i tokoe:invalid" result="pass"/><test-case name="32793particlesC021 tokoe:valid" result="pass"/><test-case name="32794particlesC021.v tokoe:valid" result="pass"/><test-case name="32795particlesC022 tokoe:valid" result="pass"/><test-case name="32796particlesC022.i tokoe:invalid" result="pass"/><test-case name="32797particlesC023 tokoe:valid" result="pass"/><test-case name="32798particlesC023.i tokoe:invalid" result="pass"/><test-case name="32799particlesC024 tokoe:valid" result="pass"/><test-case name="32800particlesC024.i tokoe:invalid" result="pass"/><test-case name="32801particlesC025 tokoe:valid" result="pass"/><test-case name="32802particlesC025.i tokoe:invalid" result="pass"/><test-case name="32803particlesC026 tokoe:valid" result="pass"/><test-case name="32804particlesC026.i tokoe:invalid" result="pass"/><test-case name="32805particlesC027 tokoe:valid" result="pass"/><test-case name="32806particlesC027.v tokoe:valid" result="pass"/><test-case name="32807particlesC028 tokoe:valid" result="pass"/><test-case name="32808particlesC028.v tokoe:valid" result="pass"/><test-case name="32809particlesC029 tokoe:valid" result="pass"/><test-case name="32810particlesC029.v tokoe:valid" result="pass"/><test-case name="32811particlesC030 tokoe:valid" result="pass"/><test-case name="32812particlesC030.v tokoe:valid" result="pass"/><test-case name="32813particlesC031 tokoe:valid" result="pass"/><test-case name="32814particlesC031.i tokoe:invalid" result="pass"/><test-case name="32815particlesC032 tokoe:valid" result="pass"/><test-case name="32816particlesC032.i tokoe:invalid" result="pass"/><test-case name="32817particlesC033 tokoe:valid" result="pass"/><test-case name="32818particlesC033.i tokoe:invalid" result="pass"/><test-case name="32819particlesC034 tokoe:valid" result="pass"/><test-case name="32820particlesC034.v tokoe:valid" result="pass"/><test-case name="32821particlesC035 tokoe:valid" result="pass"/><test-case name="32822particlesC035.i tokoe:invalid" result="pass"/><test-case name="32823particlesC036 tokoe:valid" result="pass"/><test-case name="32824particlesC036.i tokoe:invalid" result="pass"/><test-case name="32825particlesC037 tokoe:valid" result="pass"/><test-case name="32826particlesC037.v tokoe:valid" result="pass"/><test-case name="32827particlesC038 tokoe:valid" result="pass"/><test-case name="32828particlesC038.i tokoe:invalid" result="pass"/><test-case name="32829particlesC039 tokoe:valid" result="pass"/><test-case name="32830particlesC039.i tokoe:invalid" result="pass"/><test-case name="32831particlesC040 tokoe:valid" result="pass"/><test-case name="32832particlesC040.v tokoe:valid" result="pass"/><test-case name="32833particlesC041 tokoe:valid" result="pass"/><test-case name="32834particlesC041.v tokoe:valid" result="pass"/><test-case name="32835particlesC042 tokoe:valid" result="pass"/><test-case name="32836particlesC042.i tokoe:invalid" result="pass"/><test-case name="32837particlesC043 tokoe:valid" result="pass"/><test-case name="32838particlesC043.v tokoe:valid" result="pass"/><test-case name="32839particlesC044 tokoe:valid" result="pass"/><test-case name="32840particlesC044.v tokoe:valid" result="pass"/><test-case name="32841particlesC045 tokoe:valid" result="pass"/><test-case name="32842particlesC045.v tokoe:valid" result="pass"/><test-case name="32843particlesC046 tokoe:valid" result="pass"/><test-case name="32844particlesC046.v tokoe:valid" result="pass"/><test-case name="32845particlesC047 tokoe:valid" result="pass"/><test-case name="32846particlesC047.i tokoe:invalid" result="pass"/><test-case name="32847particlesC048 tokoe:valid" result="pass"/><test-case name="32848particlesC048.i tokoe:invalid" result="pass"/><test-case name="32849particlesDa001 tokoe:valid" result="pass"/><test-case name="32850particlesDa001.i tokoe:invalid" result="pass"/><test-case name="32851particlesDa002 tokoe:valid" result="pass"/><test-case name="32852particlesDa002.v tokoe:valid" result="pass"/><test-case name="32853particlesDa003 tokoe:valid" result="pass"/><test-case name="32854particlesDa003.i tokoe:invalid" result="pass"/><test-case name="32855particlesDa004 tokoe:valid" result="pass"/><test-case name="32856particlesDa004.i tokoe:invalid" result="pass"/><test-case name="32857particlesDa005 tokoe:valid" result="pass"/><test-case name="32858particlesDa005.i tokoe:invalid" result="pass"/><test-case name="32859particlesDa006 tokoe:invalid" result="pass"/><test-case name="32860particlesDa011 tokoe:invalid" result="pass"/><test-case name="32861particlesDb001 tokoe:valid" result="pass"/><test-case name="32862particlesDb001.i tokoe:invalid" result="pass"/><test-case name="32863particlesDb002 tokoe:valid" result="pass"/><test-case name="32864particlesDb002.v tokoe:valid" result="pass"/><test-case name="32865particlesDb003 tokoe:valid" result="pass"/><test-case name="32866particlesDb003.i tokoe:invalid" result="pass"/><test-case name="32867particlesDb004 tokoe:valid" result="pass"/><test-case name="32868particlesDb004.i tokoe:invalid" result="pass"/><test-case name="32869particlesDb005 tokoe:valid" result="pass"/><test-case name="32870particlesDb005.i tokoe:invalid" result="pass"/><test-case name="32871particlesDb006 tokoe:valid" result="pass"/><test-case name="32872particlesDb006.i tokoe:invalid" result="pass"/><test-case name="32873particlesDb007 tokoe:valid" result="pass"/><test-case name="32874particlesDb007.v tokoe:valid" result="pass"/><test-case name="32875particlesDb008 tokoe:valid" result="pass"/><test-case name="32876particlesDb008.i tokoe:invalid" result="pass"/><test-case name="32877particlesDb009 tokoe:valid" result="pass"/><test-case name="32878particlesDb009.i tokoe:invalid" result="pass"/><test-case name="32879particlesDb010 tokoe:valid" result="pass"/><test-case name="32880particlesDb010.i tokoe:invalid" result="pass"/><test-case name="32881particlesDb011 tokoe:valid" result="pass"/><test-case name="32882particlesDb011.i tokoe:invalid" result="pass"/><test-case name="32883particlesDc001 tokoe:valid" result="pass"/><test-case name="32884particlesDc001.v tokoe:valid" result="pass"/><test-case name="32885particlesDc002 tokoe:valid" result="pass"/><test-case name="32886particlesDc002.v tokoe:valid" result="pass"/><test-case name="32887particlesDc003 tokoe:valid" result="pass"/><test-case name="32888particlesDc003.v tokoe:valid" result="pass"/><test-case name="32889particlesDc004 tokoe:valid" result="pass"/><test-case name="32890particlesDc004.i tokoe:invalid" result="pass"/><test-case name="32891particlesDc005 tokoe:valid" result="pass"/><test-case name="32892particlesDc005.i tokoe:invalid" result="pass"/><test-case name="32893particlesDc006 tokoe:valid" result="pass"/><test-case name="32894particlesDc006.i tokoe:invalid" result="pass"/><test-case name="32895particlesDc007 tokoe:valid" result="pass"/><test-case name="32896particlesDc007.v tokoe:valid" result="pass"/><test-case name="32897particlesDc008 tokoe:valid" result="pass"/><test-case name="32898particlesDc008.i tokoe:invalid" result="pass"/><test-case name="32899particlesDc009 tokoe:valid" result="pass"/><test-case name="32900particlesDc009.i tokoe:invalid" result="pass"/><test-case name="32901particlesEa001 tokoe:valid" result="pass"/><test-case name="32902particlesEa001.v tokoe:valid" result="pass"/><test-case name="32903particlesEa002 tokoe:valid" result="pass"/><test-case name="32904particlesEa002.i tokoe:invalid" result="pass"/><test-case name="32905particlesEa003 tokoe:valid" result="pass"/><test-case name="32906particlesEa003.v tokoe:valid" result="pass"/><test-case name="32907particlesEa004 tokoe:valid" result="pass"/><test-case name="32908particlesEa004.v tokoe:valid" result="pass"/><test-case name="32909particlesEa005 tokoe:valid" result="pass"/><test-case name="32910particlesEa005.i tokoe:invalid" result="pass"/><test-case name="32911particlesEa006 tokoe:valid" result="pass"/><test-case name="32912particlesEa006.i tokoe:invalid" result="pass"/><test-case name="32913particlesEa007 tokoe:valid" result="pass"/><test-case name="32914particlesEa007.i tokoe:invalid" result="pass"/><test-case name="32915particlesEa008 tokoe:valid" result="pass"/><test-case name="32916particlesEa008.v tokoe:valid" result="pass"/><test-case name="32917particlesEa009 tokoe:valid" result="pass"/><test-case name="32918particlesEa009.i tokoe:invalid" result="pass"/><test-case name="32919particlesEa010 tokoe:valid" result="pass"/><test-case name="32920particlesEa010.v tokoe:valid" result="pass"/><test-case name="32921particlesEa011 tokoe:valid" result="pass"/><test-case name="32922particlesEa011.v tokoe:valid" result="pass"/><test-case name="32923particlesEa012 tokoe:valid" result="pass"/><test-case name="32924particlesEa012.i tokoe:invalid" result="pass"/><test-case name="32925particlesEa013 tokoe:valid" result="pass"/><test-case name="32926particlesEa013.i tokoe:invalid" result="pass"/><test-case name="32927particlesEa014 tokoe:valid" result="pass"/><test-case name="32928particlesEa014.i tokoe:invalid" result="pass"/><test-case name="32929particlesEa015 tokoe:valid" result="pass"/><test-case name="32930particlesEa015.v tokoe:valid" result="pass"/><test-case name="32931particlesEa016 tokoe:valid" result="pass"/><test-case name="32932particlesEa016.i tokoe:invalid" result="pass"/><test-case name="32933particlesEa017 tokoe:valid" result="pass"/><test-case name="32934particlesEa017.v tokoe:valid" result="pass"/><test-case name="32935particlesEa018 tokoe:valid" result="pass"/><test-case name="32936particlesEa018.v tokoe:valid" result="pass"/><test-case name="32937particlesEa019 tokoe:valid" result="pass"/><test-case name="32938particlesEa019.i tokoe:invalid" result="pass"/><test-case name="32939particlesEa020 tokoe:valid" result="pass"/><test-case name="32940particlesEa020.i tokoe:invalid" result="pass"/><test-case name="32941particlesEa021 tokoe:valid" result="pass"/><test-case name="32942particlesEa021.i tokoe:invalid" result="pass"/><test-case name="32943particlesEa022 tokoe:valid" result="pass"/><test-case name="32944particlesEa023 tokoe:invalid" result="pass"/><test-case name="32945particlesEa024 tokoe:invalid" result="pass"/><test-case name="32946particlesEa025 tokoe:invalid" result="pass"/><test-case name="32947particlesEb001 tokoe:valid" result="pass"/><test-case name="32948particlesEb001.v tokoe:valid" result="pass"/><test-case name="32949particlesEb002 tokoe:valid" result="pass"/><test-case name="32950particlesEb002.i tokoe:invalid" result="pass"/><test-case name="32951particlesEb003 tokoe:valid" result="pass"/><test-case name="32952particlesEb003.v tokoe:valid" result="pass"/><test-case name="32953particlesEb004 tokoe:valid" result="pass"/><test-case name="32954particlesEb004.i tokoe:invalid" result="pass"/><test-case name="32955particlesEb005 tokoe:valid" result="pass"/><test-case name="32956particlesEb005.i tokoe:invalid" result="pass"/><test-case name="32957particlesEb006 tokoe:valid" result="pass"/><test-case name="32958particlesEb006.i tokoe:invalid" result="pass"/><test-case name="32959particlesEb007 tokoe:valid" result="pass"/><test-case name="32960particlesEb007.i tokoe:invalid" result="pass"/><test-case name="32961particlesEb008 tokoe:valid" result="pass"/><test-case name="32962particlesEb008.i tokoe:invalid" result="pass"/><test-case name="32963particlesEb009 tokoe:valid" result="pass"/><test-case name="32964particlesEb009.i tokoe:invalid" result="pass"/><test-case name="32965particlesEb010 tokoe:valid" result="pass"/><test-case name="32966particlesEb010.v tokoe:valid" result="pass"/><test-case name="32967particlesEb011 tokoe:valid" result="pass"/><test-case name="32968particlesEb011.i tokoe:invalid" result="pass"/><test-case name="32969particlesEb012 tokoe:valid" result="pass"/><test-case name="32970particlesEb012.i tokoe:invalid" result="pass"/><test-case name="32971particlesEb013 tokoe:valid" result="pass"/><test-case name="32972particlesEb013.i tokoe:invalid" result="pass"/><test-case name="32973particlesEb014 tokoe:valid" result="pass"/><test-case name="32974particlesEb014.i tokoe:invalid" result="pass"/><test-case name="32975particlesEb015 tokoe:invalid" result="pass"/><test-case name="32976particlesEb017 tokoe:valid" result="pass"/><test-case name="32977particlesEb017.i tokoe:invalid" result="pass"/><test-case name="32978particlesEb018 tokoe:valid" result="pass"/><test-case name="32979particlesEb018.i tokoe:invalid" result="pass"/><test-case name="32980particlesEb019 tokoe:valid" result="pass"/><test-case name="32981particlesEb019.v tokoe:valid" result="pass"/><test-case name="32982particlesEb020 tokoe:valid" result="pass"/><test-case name="32983particlesEb020.i tokoe:invalid" result="pass"/><test-case name="32984particlesEb021 tokoe:valid" result="pass"/><test-case name="32985particlesEb021.i tokoe:invalid" result="pass"/><test-case name="32986particlesEb022 tokoe:valid" result="pass"/><test-case name="32987particlesEb022.i tokoe:invalid" result="pass"/><test-case name="32988particlesEb023 tokoe:valid" result="pass"/><test-case name="32989particlesEb023.i tokoe:invalid" result="pass"/><test-case name="32990particlesEb024 tokoe:valid" result="pass"/><test-case name="32991particlesEb024.i tokoe:invalid" result="pass"/><test-case name="32992particlesEb025 tokoe:valid" result="pass"/><test-case name="32993particlesEb025.i tokoe:invalid" result="pass"/><test-case name="32994particlesEb026 tokoe:valid" result="pass"/><test-case name="32995particlesEb026.v tokoe:valid" result="pass"/><test-case name="32996particlesEb027 tokoe:valid" result="pass"/><test-case name="32997particlesEb027.v tokoe:valid" result="pass"/><test-case name="32998particlesEb028 tokoe:valid" result="pass"/><test-case name="32999particlesEb028.i tokoe:invalid" result="pass"/><test-case name="33000particlesEb029 tokoe:valid" result="pass"/><test-case name="33001particlesEb029.i tokoe:invalid" result="pass"/><test-case name="33002particlesEb030 tokoe:valid" result="pass"/><test-case name="33003particlesEb030.i tokoe:invalid" result="pass"/><test-case name="33004particlesEb031 tokoe:valid" result="pass"/><test-case name="33005particlesEb031.i tokoe:invalid" result="pass"/><test-case name="33006particlesEb032 tokoe:valid" result="pass"/><test-case name="33007particlesEb032.i tokoe:invalid" result="pass"/><test-case name="33008particlesEb033 tokoe:valid" result="pass"/><test-case name="33009particlesEb033.i tokoe:invalid" result="pass"/><test-case name="33010particlesEb034 tokoe:valid" result="pass"/><test-case name="33011particlesEb034.i tokoe:invalid" result="pass"/><test-case name="33012particlesEb035 tokoe:valid" result="pass"/><test-case name="33013particlesEb035.i tokoe:invalid" result="pass"/><test-case name="33014particlesEb036 tokoe:valid" result="pass"/><test-case name="33015particlesEb036.v tokoe:valid" result="pass"/><test-case name="33016particlesEb037 tokoe:valid" result="pass"/><test-case name="33017particlesEb037.i tokoe:invalid" result="pass"/><test-case name="33018particlesEb038 tokoe:valid" result="pass"/><test-case name="33019particlesEb038.v tokoe:valid" result="pass"/><test-case name="33020particlesEb039 tokoe:valid" result="pass"/><test-case name="33021particlesEb039.i tokoe:invalid" result="pass"/><test-case name="33022particlesEb040 tokoe:invalid" result="pass"/><test-case name="33023particlesEb041 tokoe:valid" result="pass"/><test-case name="33024particlesEb041.v tokoe:valid" result="pass"/><test-case name="33025particlesEc001 tokoe:valid" result="pass"/><test-case name="33026particlesEc001.v tokoe:valid" result="pass"/><test-case name="33027particlesEc002 tokoe:valid" result="pass"/><test-case name="33028particlesEc002.v tokoe:valid" result="pass"/><test-case name="33029particlesEc003 tokoe:valid" result="pass"/><test-case name="33030particlesEc003.i tokoe:invalid" result="pass"/><test-case name="33031particlesEc004 tokoe:valid" result="pass"/><test-case name="33032particlesEc004.i tokoe:invalid" result="pass"/><test-case name="33033particlesEc005 tokoe:valid" result="pass"/><test-case name="33034particlesEc005.i tokoe:invalid" result="pass"/><test-case name="33035particlesEc006 tokoe:valid" result="pass"/><test-case name="33036particlesEc006.v tokoe:valid" result="pass"/><test-case name="33037particlesEc007 tokoe:valid" result="pass"/><test-case name="33038particlesEc007.i tokoe:invalid" result="pass"/><test-case name="33039particlesEc008 tokoe:valid" result="pass"/><test-case name="33040particlesEc008.i tokoe:invalid" result="pass"/><test-case name="33041particlesEc009 tokoe:invalid" result="pass"/><test-case name="33042particlesEc011 tokoe:valid" result="pass"/><test-case name="33043particlesEc011.i tokoe:invalid" result="pass"/><test-case name="33044particlesEc012 tokoe:valid" result="pass"/><test-case name="33045particlesEc012.v tokoe:valid" result="pass"/><test-case name="33046particlesEc013 tokoe:valid" result="pass"/><test-case name="33047particlesEc013.i tokoe:invalid" result="pass"/><test-case name="33048particlesEc014 tokoe:valid" result="pass"/><test-case name="33049particlesEc014.i tokoe:invalid" result="pass"/><test-case name="33050particlesEc015 tokoe:valid" result="pass"/><test-case name="33051particlesEc015.i tokoe:invalid" result="pass"/><test-case name="33052particlesEc016 tokoe:valid" result="pass"/><test-case name="33053particlesEc016.v tokoe:valid" result="pass"/><test-case name="33054particlesEc017 tokoe:valid" result="pass"/><test-case name="33055particlesEc017.v tokoe:valid" result="pass"/><test-case name="33056particlesEc018 tokoe:valid" result="pass"/><test-case name="33057particlesEc018.v tokoe:valid" result="pass"/><test-case name="33058particlesEc019 tokoe:valid" result="pass"/><test-case name="33059particlesEc019.v tokoe:valid" result="pass"/><test-case name="33060particlesEc020 tokoe:valid" result="pass"/><test-case name="33061particlesEc020.v tokoe:valid" result="pass"/><test-case name="33062particlesEc021 tokoe:valid" result="pass"/><test-case name="33063particlesEc021.v tokoe:valid" result="pass"/><test-case name="33064particlesEc022 tokoe:valid" result="pass"/><test-case name="33065particlesEc022.i tokoe:invalid" result="pass"/><test-case name="33066particlesEc023 tokoe:valid" result="pass"/><test-case name="33067particlesEc023.i tokoe:invalid" result="pass"/><test-case name="33068particlesEc024 tokoe:valid" result="pass"/><test-case name="33069particlesEc024.i tokoe:invalid" result="pass"/><test-case name="33070particlesEc025 tokoe:valid" result="pass"/><test-case name="33071particlesEc025.i tokoe:invalid" result="pass"/><test-case name="33072particlesEc026 tokoe:valid" result="pass"/><test-case name="33073particlesEc026.i tokoe:invalid" result="pass"/><test-case name="33074particlesEc027 tokoe:valid" result="pass"/><test-case name="33075particlesEc027.i tokoe:invalid" result="pass"/><test-case name="33076particlesEc028 tokoe:valid" result="pass"/><test-case name="33077particlesEc028.i tokoe:invalid" result="pass"/><test-case name="33078particlesEc029 tokoe:valid" result="pass"/><test-case name="33079particlesEc029.v tokoe:valid" result="pass"/><test-case name="33080particlesEc030 tokoe:valid" result="pass"/><test-case name="33081particlesEc030.v tokoe:valid" result="pass"/><test-case name="33082particlesEc031 tokoe:valid" result="pass"/><test-case name="33083particlesEc031.v tokoe:valid" result="pass"/><test-case name="33084particlesEc032 tokoe:valid" result="pass"/><test-case name="33085particlesEc032.v tokoe:valid" result="pass"/><test-case name="33086particlesEc033 tokoe:valid" result="pass"/><test-case name="33087particlesEc033.v tokoe:valid" result="pass"/><test-case name="33088particlesEc034 tokoe:valid" result="pass"/><test-case name="33089particlesEc034.v tokoe:valid" result="pass"/><test-case name="33090particlesEc035 tokoe:valid" result="pass"/><test-case name="33091particlesEc035.v tokoe:valid" result="pass"/><test-case name="33092particlesEc036 tokoe:valid" result="pass"/><test-case name="33093particlesEc036.v tokoe:valid" result="pass"/><test-case name="33094particlesEc037 tokoe:valid" result="pass"/><test-case name="33095particlesEc037.v tokoe:valid" result="pass"/><test-case name="33096particlesEc038 tokoe:valid" result="pass"/><test-case name="33097particlesEc038.i tokoe:invalid" result="pass"/><test-case name="33098particlesEc039 tokoe:valid" result="pass"/><test-case name="33099particlesEc039.i tokoe:invalid" result="pass"/><test-case name="33100particlesEc040 tokoe:valid" result="pass"/><test-case name="33101particlesEc040.i tokoe:invalid" result="pass"/><test-case name="33102particlesEc041 tokoe:valid" result="pass"/><test-case name="33103particlesEc041.i tokoe:invalid" result="pass"/><test-case name="33104particlesEd001 tokoe:invalid" result="pass"/><test-case name="33105particlesFa001 tokoe:valid" result="pass"/><test-case name="33106particlesFa002 tokoe:valid" result="pass"/><test-case name="33107particlesFa002.v tokoe:valid" result="pass"/><test-case name="33108particlesFa003 tokoe:valid" result="pass"/><test-case name="33109particlesFa003.v tokoe:valid" result="pass"/><test-case name="33110particlesFa004 tokoe:valid" result="pass"/><test-case name="33111particlesFa004.v tokoe:valid" result="pass"/><test-case name="33112particlesFa005 tokoe:valid" result="pass"/><test-case name="33113particlesFa005.v tokoe:valid" result="pass"/><test-case name="33114particlesFb001 tokoe:valid" result="pass"/><test-case name="33115particlesFb001.v tokoe:valid" result="pass"/><test-case name="33116particlesFb002 tokoe:invalid" result="pass"/><test-case name="33117particlesFb003 tokoe:invalid" result="pass"/><test-case name="33118particlesFb004 tokoe:valid" result="pass"/><test-case name="33119particlesFb004.v tokoe:valid" result="pass"/><test-case name="33120particlesFb005 tokoe:invalid" result="pass"/><test-case name="33121particlesFb006 tokoe:invalid" result="pass"/><test-case name="33122particlesHa001 tokoe:valid" result="pass"/><test-case name="33123particlesHa001.v tokoe:valid" result="pass"/><test-case name="33124particlesHa002 tokoe:valid" result="pass"/><test-case name="33125particlesHa002.v tokoe:valid" result="pass"/><test-case name="33126particlesHa003 tokoe:valid" result="pass"/><test-case name="33127particlesHa003.v tokoe:valid" result="pass"/><test-case name="33128particlesHa004 tokoe:valid" result="pass"/><test-case name="33129particlesHa004.v tokoe:valid" result="pass"/><test-case name="33130particlesHa005 tokoe:valid" result="pass"/><test-case name="33131particlesHa005.v tokoe:valid" result="pass"/><test-case name="33132particlesHa006 tokoe:valid" result="pass"/><test-case name="33133particlesHa006.v tokoe:valid" result="pass"/><test-case name="33134particlesHa007 tokoe:valid" result="pass"/><test-case name="33135particlesHa007.v tokoe:valid" result="pass"/><test-case name="33136particlesHa008 tokoe:invalid" result="pass"/><test-case name="33137particlesHa009 tokoe:valid" result="pass"/><test-case name="33138particlesHa009.v tokoe:valid" result="pass"/><test-case name="33139particlesHa010 tokoe:valid" result="pass"/><test-case name="33140particlesHa010.v tokoe:valid" result="pass"/><test-case name="33141particlesHa011 tokoe:valid" result="pass"/><test-case name="33142particlesHa011.v tokoe:valid" result="pass"/><test-case name="33143particlesHa012 tokoe:valid" result="pass"/><test-case name="33144particlesHa012.v tokoe:valid" result="pass"/><test-case name="33145particlesHa013 tokoe:valid" result="pass"/><test-case name="33146particlesHa013.v tokoe:valid" result="pass"/><test-case name="33147particlesHa014 tokoe:valid" result="pass"/><test-case name="33148particlesHa014.v tokoe:valid" result="pass"/><test-case name="33149particlesHa015 tokoe:valid" result="pass"/><test-case name="33150particlesHa015.v tokoe:valid" result="pass"/><test-case name="33151particlesHa016 tokoe:valid" result="pass"/><test-case name="33152particlesHa016.v tokoe:valid" result="pass"/><test-case name="33153particlesHa017 tokoe:valid" result="pass"/><test-case name="33154particlesHa017.v tokoe:valid" result="pass"/><test-case name="33155particlesHa018 tokoe:valid" result="pass"/><test-case name="33156particlesHa018.v tokoe:valid" result="pass"/><test-case name="33157particlesHa020 tokoe:valid" result="pass"/><test-case name="33158particlesHa021 tokoe:invalid" result="pass"/><test-case name="33159particlesHa022 tokoe:valid" result="pass"/><test-case name="33160particlesHa050 tokoe:valid" result="pass"/><test-case name="33161particlesHa051 tokoe:valid" result="pass"/><test-case name="33162particlesHa052 tokoe:invalid" result="pass"/><test-case name="33163particlesHa053 tokoe:valid" result="pass"/><test-case name="33164particlesHa054 tokoe:valid" result="pass"/><test-case name="33165particlesHa070 tokoe:valid" result="pass"/><test-case name="33166particlesHa071 tokoe:invalid" result="pass"/><test-case name="33167particlesHa080 tokoe:valid" result="pass"/><test-case name="33168particlesHa081 tokoe:invalid" result="pass"/><test-case name="33169particlesHa082 tokoe:invalid" result="pass"/><test-case name="33170particlesHa083 tokoe:invalid" result="pass"/><test-case name="33171particlesHa084 tokoe:valid" result="pass"/><test-case name="33172particlesHa100 tokoe:valid" result="pass"/><test-case name="33173particlesHa101 tokoe:invalid" result="pass"/><test-case name="33174particlesHa102 tokoe:invalid" result="pass"/><test-case name="33175particlesHa103 tokoe:invalid" result="pass"/><test-case name="33176particlesHa120 tokoe:valid" result="pass"/><test-case name="33177particlesHa121 tokoe:invalid" result="pass"/><test-case name="33178particlesHa122 tokoe:valid" result="pass"/><test-case name="33179particlesHa123 tokoe:invalid" result="pass"/><test-case name="33180particlesHa140 tokoe:invalid" result="pass"/><test-case name="33181particlesHa141 tokoe:valid" result="pass"/><test-case name="33182particlesHa142 tokoe:valid" result="pass"/><test-case name="33183particlesHa143 tokoe:invalid" result="pass"/><test-case name="33184particlesHa144 tokoe:invalid" result="pass"/><test-case name="33185particlesHa145 tokoe:invalid" result="pass"/><test-case name="33186particlesHa146 tokoe:valid" result="pass"/><test-case name="33187particlesHa147 tokoe:invalid" result="pass"/><test-case name="33188particlesHa160 tokoe:valid" result="pass"/><test-case name="33189particlesHa162 tokoe:invalid" result="pass"/><test-case name="33190particlesHa163 tokoe:invalid" result="pass"/><test-case name="33191particlesHa164 tokoe:invalid" result="pass"/><test-case name="33192particlesHa165 tokoe:valid" result="pass"/><test-case name="33193particlesHa166 tokoe:invalid" result="pass"/><test-case name="33194particlesHa167 tokoe:valid" result="pass"/><test-case name="33195particlesHa168 tokoe:invalid" result="pass"/><test-case name="33196particlesHa169 tokoe:invalid" result="pass"/><test-case name="33197particlesHa180 tokoe:valid" result="pass"/><test-case name="33198particlesHa181 tokoe:invalid" result="pass"/><test-case name="33199particlesHa182 tokoe:invalid" result="pass"/><test-case name="33200particlesHa183 tokoe:invalid" result="pass"/><test-case name="33201particlesHa184 tokoe:invalid" result="pass"/><test-case name="33202particlesHa185 tokoe:valid" result="pass"/><test-case name="33203particlesHa186 tokoe:valid" result="pass"/><test-case name="33204particlesHa187 tokoe:invalid" result="pass"/><test-case name="33205particlesHa188 tokoe:valid" result="pass"/><test-case name="33206particlesHa189 tokoe:invalid" result="pass"/><test-case name="33207particlesHb001 tokoe:invalid" result="pass"/><test-case name="33208particlesHb002 tokoe:invalid" result="pass"/><test-case name="33209particlesHb003 tokoe:invalid" result="pass"/><test-case name="33210particlesHb004 tokoe:invalid" result="pass"/><test-case name="33211particlesHb006 tokoe:invalid" result="pass"/><test-case name="33212particlesHb007 tokoe:invalid" result="pass"/><test-case name="33213particlesHb009 tokoe:invalid" result="pass"/><test-case name="33214particlesHb010 tokoe:valid" result="pass"/><test-case name="33215particlesIa001 tokoe:valid" result="pass"/><test-case name="33216particlesIa001.v tokoe:valid" result="pass"/><test-case name="33217particlesIa002 tokoe:valid" result="pass"/><test-case name="33218particlesIa002.v tokoe:valid" result="pass"/><test-case name="33219particlesIa003 tokoe:valid" result="pass"/><test-case name="33220particlesIa003.v tokoe:valid" result="pass"/><test-case name="33221particlesIa004 tokoe:valid" result="pass"/><test-case name="33222particlesIa004.v tokoe:valid" result="pass"/><test-case name="33223particlesIa005 tokoe:valid" result="pass"/><test-case name="33224particlesIa005.v tokoe:valid" result="pass"/><test-case name="33225particlesIa006 tokoe:invalid" result="pass"/><test-case name="33226particlesIa007 tokoe:valid" result="pass"/><test-case name="33227particlesIa008 tokoe:invalid" result="pass"/><test-case name="33228particlesIa009 tokoe:valid" result="pass"/><test-case name="33229particlesIb001 tokoe:valid" result="pass"/><test-case name="33230particlesIb001.v tokoe:valid" result="pass"/><test-case name="33231particlesIb002 tokoe:invalid" result="pass"/><test-case name="33232particlesIb003 tokoe:valid" result="pass"/><test-case name="33233particlesIb003.v tokoe:valid" result="pass"/><test-case name="33234particlesIb004 tokoe:invalid" result="pass"/><test-case name="33235particlesIb005 tokoe:valid" result="pass"/><test-case name="33236particlesIb005.v tokoe:valid" result="pass"/><test-case name="33237particlesIb006 tokoe:invalid" result="pass"/><test-case name="33238particlesIb007 tokoe:invalid" result="pass"/><test-case name="33239particlesIc001 tokoe:valid" result="pass"/><test-case name="33240particlesIc001.v tokoe:valid" result="pass"/><test-case name="33241particlesIc002 tokoe:invalid" result="pass"/><test-case name="33242particlesIc003 tokoe:invalid" result="pass"/><test-case name="33243particlesIc004 tokoe:invalid" result="pass"/><test-case name="33244particlesIc005 tokoe:valid" result="pass"/><test-case name="33245particlesIc005.v tokoe:valid" result="pass"/><test-case name="33246particlesIc006 tokoe:valid" result="pass"/><test-case name="33247particlesIc006.v tokoe:valid" result="pass"/><test-case name="33248particlesIc007 tokoe:valid" result="pass"/><test-case name="33249particlesIc007.v tokoe:valid" result="pass"/><test-case name="33250particlesId001 tokoe:valid" result="pass"/><test-case name="33251particlesId001.v tokoe:valid" result="pass"/><test-case name="33252particlesId002 tokoe:valid" result="pass"/><test-case name="33253particlesId002.v tokoe:valid" result="pass"/><test-case name="33254particlesId003 tokoe:invalid" result="pass"/><test-case name="33255particlesId004 tokoe:valid" result="pass"/><test-case name="33256particlesId004.v tokoe:valid" result="pass"/><test-case name="33257particlesId005 tokoe:valid" result="pass"/><test-case name="33258particlesId005.v tokoe:valid" result="pass"/><test-case name="33259particlesId006 tokoe:invalid" result="pass"/><test-case name="33260particlesId007 tokoe:valid" result="pass"/><test-case name="33261particlesId007.v tokoe:valid" result="pass"/><test-case name="33262particlesId008 tokoe:valid" result="pass"/><test-case name="33263particlesId008.v tokoe:valid" result="pass"/><test-case name="33264particlesId009 tokoe:valid" result="pass"/><test-case name="33265particlesId009.v tokoe:valid" result="pass"/><test-case name="33266particlesId010 tokoe:valid" result="pass"/><test-case name="33267particlesId010.v tokoe:valid" result="pass"/><test-case name="33268particlesId011 tokoe:valid" result="pass"/><test-case name="33269particlesId011.v tokoe:valid" result="pass"/><test-case name="33270particlesId012 tokoe:invalid" result="pass"/><test-case name="33271particlesIe001 tokoe:valid" result="pass"/><test-case name="33272particlesIe001.v tokoe:valid" result="pass"/><test-case name="33273particlesIe002 tokoe:valid" result="pass"/><test-case name="33274particlesIe002.v tokoe:valid" result="pass"/><test-case name="33275particlesIe004 tokoe:valid" result="pass"/><test-case name="33276particlesIe004.v tokoe:valid" result="pass"/><test-case name="33277particlesIe005 tokoe:valid" result="pass"/><test-case name="33278particlesIe005.v tokoe:valid" result="pass"/><test-case name="33279particlesIe006 tokoe:invalid" result="pass"/><test-case name="33280particlesIe007 tokoe:valid" result="pass"/><test-case name="33281particlesIe007.v tokoe:valid" result="pass"/><test-case name="33282particlesIe008 tokoe:valid" result="pass"/><test-case name="33283particlesIe008.v tokoe:valid" result="pass"/><test-case name="33284particlesIe009 tokoe:invalid" result="pass"/><test-case name="33285particlesIe010 tokoe:valid" result="pass"/><test-case name="33286particlesIe010.v tokoe:valid" result="pass"/><test-case name="33287particlesIe011 tokoe:valid" result="pass"/><test-case name="33288particlesIe011.v tokoe:valid" result="pass"/><test-case name="33289particlesIe012 tokoe:invalid" result="pass"/><test-case name="33290particlesIe013 tokoe:valid" result="pass"/><test-case name="33291particlesIe013.v tokoe:valid" result="pass"/><test-case name="33292particlesIe014 tokoe:invalid" result="pass"/><test-case name="33293particlesIe015 tokoe:valid" result="pass"/><test-case name="33294particlesIe015.v tokoe:valid" result="pass"/><test-case name="33295particlesIe016 tokoe:valid" result="pass"/><test-case name="33296particlesIe016.v tokoe:valid" result="pass"/><test-case name="33297particlesIf001 tokoe:valid" result="pass"/><test-case name="33298particlesIf001.v tokoe:valid" result="pass"/><test-case name="33299particlesIf002 tokoe:valid" result="pass"/><test-case name="33300particlesIf002.v tokoe:valid" result="pass"/><test-case name="33301particlesIf003 tokoe:valid" result="pass"/><test-case name="33302particlesIf003.v tokoe:valid" result="pass"/><test-case name="33303particlesIf004 tokoe:valid" result="pass"/><test-case name="33304particlesIf004.v tokoe:valid" result="pass"/><test-case name="33305particlesIf005 tokoe:valid" result="pass"/><test-case name="33306particlesIf005.v tokoe:valid" result="pass"/><test-case name="33307particlesIf006 tokoe:valid" result="pass"/><test-case name="33308particlesIf006.v tokoe:valid" result="pass"/><test-case name="33309particlesIf007 tokoe:invalid" result="pass"/><test-case name="33310particlesIf008 tokoe:invalid" result="pass"/><test-case name="33311particlesIf009 tokoe:invalid" result="pass"/><test-case name="33312particlesIg001 tokoe:valid" result="pass"/><test-case name="33313particlesIg001.v tokoe:valid" result="pass"/><test-case name="33314particlesIg002 tokoe:valid" result="pass"/><test-case name="33315particlesIg002.v tokoe:valid" result="pass"/><test-case name="33316particlesIg005 tokoe:valid" result="pass"/><test-case name="33317particlesIg005.v tokoe:valid" result="pass"/><test-case name="33318particlesIg006 tokoe:invalid" result="pass"/><test-case name="33319particlesIg007 tokoe:invalid" result="pass"/><test-case name="33320particlesIg008 tokoe:invalid" result="pass"/><test-case name="33321particlesIg009 tokoe:invalid" result="pass"/><test-case name="33322particlesIg010 tokoe:invalid" result="pass"/><test-case name="33323particlesIg011 tokoe:valid" result="pass"/><test-case name="33324particlesIg011.v tokoe:valid" result="pass"/><test-case name="33325particlesIg012 tokoe:valid" result="pass"/><test-case name="33326particlesIg012.v tokoe:valid" result="pass"/><test-case name="33327particlesIg013 tokoe:invalid" result="pass"/><test-case name="33328particlesIg014 tokoe:valid" result="pass"/><test-case name="33329particlesIg014.v tokoe:valid" result="pass"/><test-case name="33330particlesIg015 tokoe:valid" result="pass"/><test-case name="33331particlesIg015.v tokoe:valid" result="pass"/><test-case name="33332particlesIg016 tokoe:invalid" result="pass"/><test-case name="33333particlesIh001 tokoe:invalid" result="pass"/><test-case name="33334particlesIj001 tokoe:valid" result="pass"/><test-case name="33335particlesIj001.v tokoe:valid" result="pass"/><test-case name="33336particlesIj002 tokoe:valid" result="pass"/><test-case name="33337particlesIj002.v tokoe:valid" result="pass"/><test-case name="33338particlesIj003 tokoe:invalid" result="pass"/><test-case name="33339particlesIj004 tokoe:invalid" result="pass"/><test-case name="33340particlesIj005 tokoe:valid" result="pass"/><test-case name="33341particlesIj005.v tokoe:valid" result="pass"/><test-case name="33342particlesIj006 tokoe:valid" result="pass"/><test-case name="33343particlesIj006.v tokoe:valid" result="pass"/><test-case name="33344particlesIj007 tokoe:invalid" result="pass"/><test-case name="33345particlesIj008 tokoe:invalid" result="pass"/><test-case name="33346particlesIj009 tokoe:invalid" result="pass"/><test-case name="33347particlesIj010 tokoe:invalid" result="pass"/><test-case name="33348particlesIj011 tokoe:invalid" result="pass"/><test-case name="33349particlesIj012 tokoe:invalid" result="pass"/><test-case name="33350particlesIj013 tokoe:invalid" result="pass"/><test-case name="33351particlesIj014 tokoe:valid" result="pass"/><test-case name="33352particlesIj015 tokoe:invalid" result="pass"/><test-case name="33353particlesIj016 tokoe:invalid" result="pass"/><test-case name="33354particlesIk001 tokoe:valid" result="pass"/><test-case name="33355particlesIk001.v tokoe:valid" result="pass"/><test-case name="33356particlesIk002 tokoe:invalid" result="pass"/><test-case name="33357particlesIk003 tokoe:invalid" result="pass"/><test-case name="33358particlesIk004 tokoe:valid" result="pass"/><test-case name="33359particlesIk004.v tokoe:valid" result="pass"/><test-case name="33360particlesIk005 tokoe:invalid" result="pass"/><test-case name="33361particlesIk006 tokoe:invalid" result="pass"/><test-case name="33362particlesIk007 tokoe:invalid" result="pass"/><test-case name="33363particlesIk008 tokoe:invalid" result="pass"/><test-case name="33364particlesIk009 tokoe:invalid" result="pass"/><test-case name="33365particlesIk010 tokoe:invalid" result="pass"/><test-case name="33366particlesIk011 tokoe:invalid" result="pass"/><test-case name="33367particlesIk012 tokoe:valid" result="pass"/><test-case name="33368particlesIk012.v tokoe:valid" result="pass"/><test-case name="33369particlesIk013 tokoe:invalid" result="pass"/><test-case name="33370particlesIk014 tokoe:valid" result="pass"/><test-case name="33371particlesIk015 tokoe:invalid" result="pass"/><test-case name="33372particlesIk016 tokoe:invalid" result="pass"/><test-case name="33373particlesIk017 tokoe:valid" result="pass"/><test-case name="33374particlesIk018 tokoe:valid" result="pass"/><test-case name="33375particlesIk019 tokoe:invalid" result="pass"/><test-case name="33376particlesIk020 tokoe:invalid" result="pass"/><test-case name="33377particlesIk021 tokoe:invalid" result="pass"/><test-case name="33378particlesIk022 tokoe:invalid" result="pass"/><test-case name="33379particlesIk023 tokoe:valid" result="pass"/><test-case name="33380particlesIk024 tokoe:invalid" result="pass"/><test-case name="33381particlesIk025 tokoe:invalid" result="pass"/><test-case name="33382particlesIk026 tokoe:valid" result="pass"/><test-case name="33383particlesIk026.v tokoe:valid" result="pass"/><test-case name="33384particlesIk027 tokoe:invalid" result="pass"/><test-case name="33385particlesJa001 tokoe:valid" result="pass"/><test-case name="33386particlesJa001.v tokoe:valid" result="pass"/><test-case name="33387particlesJa002 tokoe:valid" result="pass"/><test-case name="33388particlesJa002.v tokoe:valid" result="pass"/><test-case name="33389particlesJa003 tokoe:invalid" result="pass"/><test-case name="33390particlesJa004 tokoe:valid" result="pass"/><test-case name="33391particlesJa004.v tokoe:valid" result="pass"/><test-case name="33392particlesJa005 tokoe:valid" result="pass"/><test-case name="33393particlesJa005.v tokoe:valid" result="pass"/><test-case name="33394particlesJa006 tokoe:invalid" result="pass"/><test-case name="33395particlesJa007 tokoe:valid" result="pass"/><test-case name="33396particlesJa007.v tokoe:valid" result="pass"/><test-case name="33397particlesJa008 tokoe:valid" result="pass"/><test-case name="33398particlesJa008.v tokoe:valid" result="pass"/><test-case name="33399particlesJa009 tokoe:valid" result="pass"/><test-case name="33400particlesJa009.v tokoe:valid" result="pass"/><test-case name="33401particlesJa010 tokoe:valid" result="pass"/><test-case name="33402particlesJa010.v tokoe:valid" result="pass"/><test-case name="33403particlesJa011 tokoe:valid" result="pass"/><test-case name="33404particlesJa011.v tokoe:valid" result="pass"/><test-case name="33405particlesJa012 tokoe:invalid" result="pass"/><test-case name="33406particlesJb001 tokoe:valid" result="pass"/><test-case name="33407particlesJb001.v tokoe:valid" result="pass"/><test-case name="33408particlesJb002 tokoe:valid" result="pass"/><test-case name="33409particlesJb002.v tokoe:valid" result="pass"/><test-case name="33410particlesJb004 tokoe:valid" result="pass"/><test-case name="33411particlesJb004.v tokoe:valid" result="pass"/><test-case name="33412particlesJb005 tokoe:valid" result="pass"/><test-case name="33413particlesJb005.v tokoe:valid" result="pass"/><test-case name="33414particlesJb006 tokoe:invalid" result="pass"/><test-case name="33415particlesJb007 tokoe:valid" result="pass"/><test-case name="33416particlesJb007.v tokoe:valid" result="pass"/><test-case name="33417particlesJb008 tokoe:valid" result="pass"/><test-case name="33418particlesJb008.v tokoe:valid" result="pass"/><test-case name="33419particlesJb009 tokoe:invalid" result="pass"/><test-case name="33420particlesJb010 tokoe:valid" result="pass"/><test-case name="33421particlesJb010.v tokoe:valid" result="pass"/><test-case name="33422particlesJb011 tokoe:valid" result="pass"/><test-case name="33423particlesJb011.v tokoe:valid" result="pass"/><test-case name="33424particlesJb012 tokoe:invalid" result="pass"/><test-case name="33425particlesJb013 tokoe:valid" result="pass"/><test-case name="33426particlesJb013.v tokoe:valid" result="pass"/><test-case name="33427particlesJb014 tokoe:invalid" result="pass"/><test-case name="33428particlesJb015 tokoe:valid" result="pass"/><test-case name="33429particlesJb015.v tokoe:valid" result="pass"/><test-case name="33430particlesJb016 tokoe:valid" result="pass"/><test-case name="33431particlesJb016.v tokoe:valid" result="pass"/><test-case name="33432particlesJc001 tokoe:valid" result="pass"/><test-case name="33433particlesJc001.v tokoe:valid" result="pass"/><test-case name="33434particlesJc002 tokoe:valid" result="pass"/><test-case name="33435particlesJc002.v tokoe:valid" result="pass"/><test-case name="33436particlesJc003 tokoe:invalid" result="pass"/><test-case name="33437particlesJc004 tokoe:valid" result="pass"/><test-case name="33438particlesJc004.v tokoe:valid" result="pass"/><test-case name="33439particlesJc005 tokoe:valid" result="pass"/><test-case name="33440particlesJc005.v tokoe:valid" result="pass"/><test-case name="33441particlesJc006 tokoe:invalid" result="pass"/><test-case name="33442particlesJc007 tokoe:valid" result="pass"/><test-case name="33443particlesJc007.v tokoe:valid" result="pass"/><test-case name="33444particlesJc008 tokoe:valid" result="pass"/><test-case name="33445particlesJc008.v tokoe:valid" result="pass"/><test-case name="33446particlesJc009 tokoe:valid" result="pass"/><test-case name="33447particlesJc009.v tokoe:valid" result="pass"/><test-case name="33448particlesJc010 tokoe:valid" result="pass"/><test-case name="33449particlesJc010.v tokoe:valid" result="pass"/><test-case name="33450particlesJc011 tokoe:valid" result="pass"/><test-case name="33451particlesJc011.v tokoe:valid" result="pass"/><test-case name="33452particlesJc012 tokoe:invalid" result="pass"/><test-case name="33453particlesJd001 tokoe:valid" result="pass"/><test-case name="33454particlesJd001.v tokoe:valid" result="pass"/><test-case name="33455particlesJd002 tokoe:valid" result="pass"/><test-case name="33456particlesJd002.v tokoe:valid" result="pass"/><test-case name="33457particlesJd004 tokoe:valid" result="pass"/><test-case name="33458particlesJd004.v tokoe:valid" result="pass"/><test-case name="33459particlesJd005 tokoe:valid" result="pass"/><test-case name="33460particlesJd005.v tokoe:valid" result="pass"/><test-case name="33461particlesJd006 tokoe:invalid" result="pass"/><test-case name="33462particlesJd007 tokoe:valid" result="pass"/><test-case name="33463particlesJd007.v tokoe:valid" result="pass"/><test-case name="33464particlesJd008 tokoe:valid" result="pass"/><test-case name="33465particlesJd008.v tokoe:valid" result="pass"/><test-case name="33466particlesJd009 tokoe:invalid" result="pass"/><test-case name="33467particlesJd010 tokoe:valid" result="pass"/><test-case name="33468particlesJd010.v tokoe:valid" result="pass"/><test-case name="33469particlesJd011 tokoe:valid" result="pass"/><test-case name="33470particlesJd011.v tokoe:valid" result="pass"/><test-case name="33471particlesJd012 tokoe:invalid" result="pass"/><test-case name="33472particlesJd013 tokoe:valid" result="pass"/><test-case name="33473particlesJd013.v tokoe:valid" result="pass"/><test-case name="33474particlesJd014 tokoe:invalid" result="pass"/><test-case name="33475particlesJd015 tokoe:valid" result="pass"/><test-case name="33476particlesJd015.v tokoe:valid" result="pass"/><test-case name="33477particlesJd016 tokoe:valid" result="pass"/><test-case name="33478particlesJd016.v tokoe:valid" result="pass"/><test-case name="33479particlesJe001 tokoe:valid" result="pass"/><test-case name="33480particlesJe001.v tokoe:valid" result="pass"/><test-case name="33481particlesJe002 tokoe:valid" result="pass"/><test-case name="33482particlesJe002.v tokoe:valid" result="pass"/><test-case name="33483particlesJe003 tokoe:invalid" result="pass"/><test-case name="33484particlesJe004 tokoe:valid" result="pass"/><test-case name="33485particlesJe004.v tokoe:valid" result="pass"/><test-case name="33486particlesJe005 tokoe:valid" result="pass"/><test-case name="33487particlesJe005.v tokoe:valid" result="pass"/><test-case name="33488particlesJe006 tokoe:invalid" result="pass"/><test-case name="33489particlesJe007 tokoe:valid" result="pass"/><test-case name="33490particlesJe007.v tokoe:valid" result="pass"/><test-case name="33491particlesJe008 tokoe:valid" result="pass"/><test-case name="33492particlesJe008.v tokoe:valid" result="pass"/><test-case name="33493particlesJe009 tokoe:valid" result="pass"/><test-case name="33494particlesJe009.v tokoe:valid" result="pass"/><test-case name="33495particlesJe010 tokoe:valid" result="pass"/><test-case name="33496particlesJe010.v tokoe:valid" result="pass"/><test-case name="33497particlesJe011 tokoe:valid" result="pass"/><test-case name="33498particlesJe011.v tokoe:valid" result="pass"/><test-case name="33499particlesJe012 tokoe:invalid" result="pass"/><test-case name="33500particlesJf001 tokoe:valid" result="pass"/><test-case name="33501particlesJf001.v tokoe:valid" result="pass"/><test-case name="33502particlesJf002 tokoe:valid" result="pass"/><test-case name="33503particlesJf002.v tokoe:valid" result="pass"/><test-case name="33504particlesJf004 tokoe:valid" result="pass"/><test-case name="33505particlesJf004.v tokoe:valid" result="pass"/><test-case name="33506particlesJf005 tokoe:valid" result="pass"/><test-case name="33507particlesJf005.v tokoe:valid" result="pass"/><test-case name="33508particlesJf006 tokoe:invalid" result="pass"/><test-case name="33509particlesJf007 tokoe:valid" result="pass"/><test-case name="33510particlesJf007.v tokoe:valid" result="pass"/><test-case name="33511particlesJf008 tokoe:valid" result="pass"/><test-case name="33512particlesJf008.v tokoe:valid" result="pass"/><test-case name="33513particlesJf009 tokoe:invalid" result="pass"/><test-case name="33514particlesJf010 tokoe:valid" result="pass"/><test-case name="33515particlesJf010.v tokoe:valid" result="pass"/><test-case name="33516particlesJf011 tokoe:valid" result="pass"/><test-case name="33517particlesJf011.v tokoe:valid" result="pass"/><test-case name="33518particlesJf012 tokoe:invalid" result="pass"/><test-case name="33519particlesJf013 tokoe:valid" result="pass"/><test-case name="33520particlesJf013.v tokoe:valid" result="pass"/><test-case name="33521particlesJf014 tokoe:invalid" result="pass"/><test-case name="33522particlesJf015 tokoe:valid" result="pass"/><test-case name="33523particlesJf015.v tokoe:valid" result="pass"/><test-case name="33524particlesJf016 tokoe:valid" result="pass"/><test-case name="33525particlesJf016.v tokoe:valid" result="pass"/><test-case name="33526particlesJg001 tokoe:invalid" result="pass"/><test-case name="33527particlesJh001 tokoe:invalid" result="pass"/><test-case name="33528particlesJj001 tokoe:valid" result="pass"/><test-case name="33529particlesJj001.v tokoe:valid" result="pass"/><test-case name="33530particlesJj002 tokoe:valid" result="pass"/><test-case name="33531particlesJj002.v tokoe:valid" result="pass"/><test-case name="33532particlesJj003 tokoe:invalid" result="pass"/><test-case name="33533particlesJj004 tokoe:valid" result="pass"/><test-case name="33534particlesJj004.v tokoe:valid" result="pass"/><test-case name="33535particlesJj005 tokoe:valid" result="pass"/><test-case name="33536particlesJj005.v tokoe:valid" result="pass"/><test-case name="33537particlesJj006 tokoe:invalid" result="pass"/><test-case name="33538particlesJj007 tokoe:valid" result="pass"/><test-case name="33539particlesJj007.v tokoe:valid" result="pass"/><test-case name="33540particlesJj008 tokoe:valid" result="pass"/><test-case name="33541particlesJj008.v tokoe:valid" result="pass"/><test-case name="33542particlesJj009 tokoe:valid" result="pass"/><test-case name="33543particlesJj009.v tokoe:valid" result="pass"/><test-case name="33544particlesJj010 tokoe:valid" result="pass"/><test-case name="33545particlesJj010.v tokoe:valid" result="pass"/><test-case name="33546particlesJj011 tokoe:valid" result="pass"/><test-case name="33547particlesJj011.v tokoe:valid" result="pass"/><test-case name="33548particlesJj012 tokoe:invalid" result="pass"/><test-case name="33549particlesJk001 tokoe:valid" result="pass"/><test-case name="33550particlesJk001.v tokoe:valid" result="pass"/><test-case name="33551particlesJk002 tokoe:valid" result="pass"/><test-case name="33552particlesJk002.v tokoe:valid" result="pass"/><test-case name="33553particlesJk004 tokoe:valid" result="pass"/><test-case name="33554particlesJk004.v tokoe:valid" result="pass"/><test-case name="33555particlesJk005 tokoe:valid" result="pass"/><test-case name="33556particlesJk005.v tokoe:valid" result="pass"/><test-case name="33557particlesJk006 tokoe:invalid" result="pass"/><test-case name="33558particlesJk007 tokoe:valid" result="pass"/><test-case name="33559particlesJk007.v tokoe:valid" result="pass"/><test-case name="33560particlesJk008 tokoe:valid" result="pass"/><test-case name="33561particlesJk008.v tokoe:valid" result="pass"/><test-case name="33562particlesJk009 tokoe:invalid" result="pass"/><test-case name="33563particlesJk010 tokoe:valid" result="pass"/><test-case name="33564particlesJk010.v tokoe:valid" result="pass"/><test-case name="33565particlesJk011 tokoe:valid" result="pass"/><test-case name="33566particlesJk011.v tokoe:valid" result="pass"/><test-case name="33567particlesJk012 tokoe:invalid" result="pass"/><test-case name="33568particlesJk013 tokoe:valid" result="pass"/><test-case name="33569particlesJk013.v tokoe:valid" result="pass"/><test-case name="33570particlesJk014 tokoe:invalid" result="pass"/><test-case name="33571particlesJk015 tokoe:valid" result="pass"/><test-case name="33572particlesJk015.v tokoe:valid" result="pass"/><test-case name="33573particlesJk016 tokoe:valid" result="pass"/><test-case name="33574particlesJk016.v tokoe:valid" result="pass"/><test-case name="33575particlesJl001 tokoe:valid" result="pass"/><test-case name="33576particlesJl001.v tokoe:valid" result="pass"/><test-case name="33577particlesJl002 tokoe:invalid" result="pass"/><test-case name="33578particlesJl003 tokoe:invalid" result="pass"/><test-case name="33579particlesJm003 tokoe:invalid" result="pass"/><test-case name="33580particlesJm004 tokoe:valid" result="pass"/><test-case name="33581particlesJm004.v tokoe:valid" result="pass"/><test-case name="33582particlesJm005 tokoe:valid" result="pass"/><test-case name="33583particlesJm005.v tokoe:valid" result="pass"/><test-case name="33584particlesJn007 tokoe:valid" result="pass"/><test-case name="33585particlesJn007.v tokoe:valid" result="pass"/><test-case name="33586particlesJn008 tokoe:valid" result="pass"/><test-case name="33587particlesJn008.v tokoe:valid" result="pass"/><test-case name="33588particlesJn009 tokoe:invalid" result="pass"/><test-case name="33589particlesJn010 tokoe:valid" result="pass"/><test-case name="33590particlesJn010.v tokoe:valid" result="pass"/><test-case name="33591particlesJr001 tokoe:invalid" result="pass"/><test-case name="33592particlesJr002 tokoe:invalid" result="pass"/><test-case name="33593particlesJp003 tokoe:invalid" result="pass"/><test-case name="33594particlesJp004 tokoe:valid" result="pass"/><test-case name="33595particlesJp004.v tokoe:valid" result="pass"/><test-case name="33596particlesJp005 tokoe:valid" result="pass"/><test-case name="33597particlesJp005.v tokoe:valid" result="pass"/><test-case name="33598particlesJq007 tokoe:valid" result="pass"/><test-case name="33599particlesJq007.v tokoe:valid" result="pass"/><test-case name="33600particlesJq008 tokoe:valid" result="pass"/><test-case name="33601particlesJq008.v tokoe:valid" result="pass"/><test-case name="33602particlesJq009 tokoe:invalid" result="pass"/><test-case name="33603particlesJq010 tokoe:valid" result="pass"/><test-case name="33604particlesJq010.v tokoe:valid" result="pass"/><test-case name="33605particlesJs001 tokoe:valid" result="pass"/><test-case name="33606particlesJs001.v tokoe:valid" result="pass"/><test-case name="33607particlesJs002 tokoe:invalid" result="pass"/><test-case name="33608particlesJs003 tokoe:invalid" result="pass"/><test-case name="33609particlesJs004 tokoe:invalid" result="pass"/><test-case name="33610particlesJu001 tokoe:valid" result="pass"/><test-case name="33611particlesJu001.v tokoe:valid" result="pass"/><test-case name="33612particlesJu002 tokoe:valid" result="pass"/><test-case name="33613particlesJu002.v tokoe:valid" result="pass"/><test-case name="33614particlesJu003 tokoe:valid" result="pass"/><test-case name="33615particlesJu003.v tokoe:valid" result="pass"/><test-case name="33616particlesK001 tokoe:valid" result="pass"/><test-case name="33617particlesK001.v tokoe:valid" result="pass"/><test-case name="33618particlesK002 tokoe:valid" result="pass"/><test-case name="33619particlesK002.v tokoe:valid" result="pass"/><test-case name="33620particlesK003 tokoe:valid" result="pass"/><test-case name="33621particlesK003.v tokoe:valid" result="pass"/><test-case name="33622particlesK004 tokoe:invalid" result="pass"/><test-case name="33623particlesK005 tokoe:valid" result="pass"/><test-case name="33624particlesK005.v tokoe:valid" result="pass"/><test-case name="33625particlesK006 tokoe:invalid" result="pass"/><test-case name="33626particlesK008 tokoe:valid" result="pass"/><test-case name="33627particlesK008.v tokoe:valid" result="pass"/><test-case name="33628particlesL001 tokoe:invalid" result="pass"/><test-case name="33629particlesL002 tokoe:invalid" result="pass"/><test-case name="33630particlesL003 tokoe:valid" result="pass"/><test-case name="33631particlesL003.v tokoe:valid" result="pass"/><test-case name="33632particlesL004 tokoe:invalid" result="pass"/><test-case name="33633particlesL005 tokoe:invalid" result="pass"/><test-case name="33634particlesL006 tokoe:valid" result="pass"/><test-case name="33635particlesL006.v tokoe:valid" result="pass"/><test-case name="33636particlesL007 tokoe:valid" result="pass"/><test-case name="33637particlesL007.v tokoe:valid" result="pass"/><test-case name="33638particlesL008 tokoe:invalid" result="pass"/><test-case name="33639particlesL009 tokoe:invalid" result="pass"/><test-case name="33640particlesL010 tokoe:invalid" result="pass"/><test-case name="33641particlesL011 tokoe:invalid" result="pass"/><test-case name="33642particlesL012 tokoe:valid" result="pass"/><test-case name="33643particlesL012.v tokoe:valid" result="pass"/><test-case name="33644particlesL013 tokoe:valid" result="pass"/><test-case name="33645particlesL013.v tokoe:valid" result="pass"/><test-case name="33646particlesL014 tokoe:invalid" result="pass"/><test-case name="33647particlesL015 tokoe:invalid" result="pass"/><test-case name="33648particlesL016 tokoe:invalid" result="pass"/><test-case name="33649particlesL017 tokoe:valid" result="pass"/><test-case name="33650particlesL017.v tokoe:valid" result="pass"/><test-case name="33651particlesL018 tokoe:valid" result="pass"/><test-case name="33652particlesL018.v tokoe:valid" result="pass"/><test-case name="33653particlesL019 tokoe:invalid" result="pass"/><test-case name="33654particlesL020 tokoe:invalid" result="pass"/><test-case name="33655particlesL021 tokoe:valid" result="pass"/><test-case name="33656particlesL021.v tokoe:valid" result="pass"/><test-case name="33657particlesL022 tokoe:invalid" result="pass"/><test-case name="33658particlesL023 tokoe:valid" result="pass"/><test-case name="33659particlesL023.v tokoe:valid" result="pass"/><test-case name="33660particlesL024 tokoe:invalid" result="pass"/><test-case name="33661particlesL025 tokoe:valid" result="pass"/><test-case name="33662particlesL025.v tokoe:valid" result="pass"/><test-case name="33663particlesL026 tokoe:invalid" result="pass"/><test-case name="33664particlesL027 tokoe:invalid" result="pass"/><test-case name="33665particlesL028 tokoe:valid" result="pass"/><test-case name="33666particlesL028.v tokoe:valid" result="pass"/><test-case name="33667particlesL029 tokoe:valid" result="pass"/><test-case name="33668particlesL029.v tokoe:valid" result="pass"/><test-case name="33669particlesL030 tokoe:invalid" result="pass"/><test-case name="33670particlesL031 tokoe:invalid" result="pass"/><test-case name="33671particlesL032 tokoe:invalid" result="pass"/><test-case name="33672particlesM001 tokoe:invalid" result="pass"/><test-case name="33673particlesM002 tokoe:valid" result="pass"/><test-case name="33674particlesM002.v tokoe:valid" result="pass"/><test-case name="33675particlesM003 tokoe:valid" result="pass"/><test-case name="33676particlesM003.v tokoe:valid" result="pass"/><test-case name="33677particlesM033 tokoe:invalid" result="pass"/><test-case name="33678particlesM034 tokoe:invalid" result="pass"/><test-case name="33679particlesM035 tokoe:valid" result="pass"/><test-case name="33680particlesM035.v tokoe:valid" result="pass"/><test-case name="33681particlesOa001 tokoe:valid" result="pass"/><test-case name="33682particlesOa001.v tokoe:valid" result="pass"/><test-case name="33683particlesOa002 tokoe:invalid" result="pass"/><test-case name="33684particlesOa003 tokoe:valid" result="pass"/><test-case name="33685particlesOa003.v tokoe:valid" result="pass"/><test-case name="33686particlesOa004 tokoe:invalid" result="pass"/><test-case name="33687particlesOa005 tokoe:invalid" result="pass"/><test-case name="33688particlesOa006 tokoe:valid" result="pass"/><test-case name="33689particlesOa006.v tokoe:valid" result="pass"/><test-case name="33690particlesOa007 tokoe:invalid" result="pass"/><test-case name="33691particlesOa008 tokoe:invalid" result="pass"/><test-case name="33692particlesOa009 tokoe:invalid" result="pass"/><test-case name="33693particlesOa010 tokoe:invalid" result="pass"/><test-case name="33694particlesOa011 tokoe:valid" result="pass"/><test-case name="33695particlesOa011.v tokoe:valid" result="pass"/><test-case name="33696particlesOa012 tokoe:valid" result="pass"/><test-case name="33697particlesOa012.v tokoe:valid" result="pass"/><test-case name="33698particlesOa013 tokoe:valid" result="pass"/><test-case name="33699particlesOa013.v tokoe:valid" result="pass"/><test-case name="33700particlesOa014 tokoe:valid" result="pass"/><test-case name="33701particlesOa014.v tokoe:valid" result="pass"/><test-case name="33702particlesOa015 tokoe:invalid" result="pass"/><test-case name="33703particlesOb003 tokoe:valid" result="pass"/><test-case name="33704particlesOb003.v tokoe:valid" result="pass"/><test-case name="33705particlesOb005 tokoe:valid" result="pass"/><test-case name="33706particlesOb005.v tokoe:valid" result="pass"/><test-case name="33707particlesOb006 tokoe:valid" result="pass"/><test-case name="33708particlesOb006.v tokoe:valid" result="pass"/><test-case name="33709particlesOb007 tokoe:valid" result="pass"/><test-case name="33710particlesOb007.v tokoe:valid" result="pass"/><test-case name="33711particlesOb010 tokoe:invalid" result="pass"/><test-case name="33712particlesOb011 tokoe:invalid" result="pass"/><test-case name="33713particlesOb012 tokoe:valid" result="pass"/><test-case name="33714particlesOb012.v tokoe:valid" result="pass"/><test-case name="33715particlesOb014 tokoe:invalid" result="pass"/><test-case name="33716particlesOb015 tokoe:valid" result="pass"/><test-case name="33717particlesOb015.v tokoe:valid" result="pass"/><test-case name="33718particlesOb016 tokoe:invalid" result="pass"/><test-case name="33719particlesOb017 tokoe:invalid" result="pass"/><test-case name="33720particlesOb019 tokoe:invalid" result="pass"/><test-case name="33721particlesOb020 tokoe:invalid" result="pass"/><test-case name="33722particlesOb021 tokoe:invalid" result="pass"/><test-case name="33723particlesOb022 tokoe:valid" result="pass"/><test-case name="33724particlesOb022.v tokoe:valid" result="pass"/><test-case name="33725particlesOb023 tokoe:invalid" result="pass"/><test-case name="33726particlesOb024 tokoe:invalid" result="pass"/><test-case name="33727particlesOb025 tokoe:invalid" result="pass"/><test-case name="33728particlesOb026 tokoe:invalid" result="pass"/><test-case name="33729particlesOb027 tokoe:invalid" result="pass"/><test-case name="33730particlesOb028 tokoe:invalid" result="pass"/><test-case name="33731particlesOb029 tokoe:invalid" result="pass"/><test-case name="33732particlesOb030 tokoe:invalid" result="pass"/><test-case name="33733particlesOb031 tokoe:invalid" result="pass"/><test-case name="33734particlesOb032 tokoe:valid" result="pass"/><test-case name="33735particlesOb032.v tokoe:valid" result="pass"/><test-case name="33736particlesOb033 tokoe:invalid" result="pass"/><test-case name="33737particlesOb034 tokoe:invalid" result="pass"/><test-case name="33738particlesOb035 tokoe:invalid" result="pass"/><test-case name="33739particlesOb036 tokoe:invalid" result="pass"/><test-case name="33740particlesOb037 tokoe:invalid" result="pass"/><test-case name="33741particlesOb038 tokoe:invalid" result="pass"/><test-case name="33742particlesOb039 tokoe:invalid" result="pass"/><test-case name="33743particlesOb040 tokoe:invalid" result="pass"/><test-case name="33744particlesOb041 tokoe:invalid" result="pass"/><test-case name="33745particlesOb042 tokoe:valid" result="pass"/><test-case name="33746particlesOb042.v tokoe:valid" result="pass"/><test-case name="33747particlesOb043 tokoe:invalid" result="pass"/><test-case name="33748particlesOb044 tokoe:invalid" result="pass"/><test-case name="33749particlesOb045 tokoe:invalid" result="pass"/><test-case name="33750particlesOb046 tokoe:invalid" result="pass"/><test-case name="33751particlesOb047 tokoe:valid" result="pass"/><test-case name="33752particlesOb047.v tokoe:valid" result="pass"/><test-case name="33753particlesOb048 tokoe:valid" result="pass"/><test-case name="33754particlesOb048.v tokoe:valid" result="pass"/><test-case name="33755particlesOb049 tokoe:invalid" result="pass"/><test-case name="33756particlesOb050 tokoe:invalid" result="pass"/><test-case name="33757particlesOb051 tokoe:invalid" result="pass"/><test-case name="33758particlesOb052 tokoe:valid" result="pass"/><test-case name="33759particlesOb052.v tokoe:valid" result="pass"/><test-case name="33760particlesOb053 tokoe:valid" result="pass"/><test-case name="33761particlesOb053.v tokoe:valid" result="pass"/><test-case name="33762particlesOb054 tokoe:valid" result="pass"/><test-case name="33763particlesOb054.v tokoe:valid" result="pass"/><test-case name="33764particlesOb055 tokoe:valid" result="pass"/><test-case name="33765particlesOb055.v tokoe:valid" result="pass"/><test-case name="33766particlesOb056 tokoe:valid" result="pass"/><test-case name="33767particlesOb056.v tokoe:valid" result="pass"/><test-case name="33768particlesOb057 tokoe:valid" result="pass"/><test-case name="33769particlesOb057.v tokoe:valid" result="pass"/><test-case name="33770particlesOb058 tokoe:invalid" result="pass"/><test-case name="33771particlesOb059 tokoe:valid" result="pass"/><test-case name="33772particlesOb059.v tokoe:valid" result="pass"/><test-case name="33773particlesOb060 tokoe:valid" result="pass"/><test-case name="33774particlesOb060.v tokoe:valid" result="pass"/><test-case name="33775particlesP002 tokoe:valid" result="pass"/><test-case name="33776particlesP002.v tokoe:valid" result="pass"/><test-case name="33777particlesS001 tokoe:valid" result="pass"/><test-case name="33778particlesS001.v tokoe:valid" result="pass"/><test-case name="33779particlesS003 tokoe:valid" result="pass"/><test-case name="33780particlesS003.v tokoe:valid" result="pass"/><test-case name="33781particlesS004 tokoe:valid" result="pass"/><test-case name="33782particlesS004.v tokoe:valid" result="pass"/><test-case name="33783particlesS005 tokoe:invalid" result="pass"/><test-case name="33784particlesS006 tokoe:invalid" result="pass"/><test-case name="33785particlesS007 tokoe:valid" result="pass"/><test-case name="33786particlesS007.v tokoe:valid" result="pass"/><test-case name="33787particlesS008 tokoe:invalid" result="pass"/><test-case name="33788particlesS009 tokoe:invalid" result="pass"/><test-case name="33789particlesS010 tokoe:invalid" result="pass"/><test-case name="33790particlesS011 tokoe:valid" result="pass"/><test-case name="33791particlesS011.v tokoe:valid" result="pass"/><test-case name="33792particlesR001 tokoe:valid" result="pass"/><test-case name="33793particlesR001.v tokoe:valid" result="pass"/><test-case name="33794particlesR002 tokoe:valid" result="pass"/><test-case name="33795particlesR002.v tokoe:valid" result="pass"/><test-case name="33796particlesR003 tokoe:valid" result="pass"/><test-case name="33797particlesR003.v tokoe:valid" result="pass"/><test-case name="33798particlesR004 tokoe:valid" result="pass"/><test-case name="33799particlesR004.v tokoe:valid" result="pass"/><test-case name="33800particlesR005 tokoe:valid" result="pass"/><test-case name="33801particlesR005.v tokoe:valid" result="fail"/><test-case name="33802particlesR006 tokoe:invalid" result="pass"/><test-case name="33803particlesR007 tokoe:valid" result="pass"/><test-case name="33804particlesR007.v tokoe:valid" result="pass"/><test-case name="33805particlesR008 tokoe:valid" result="pass"/><test-case name="33806particlesR008.v tokoe:valid" result="pass"/><test-case name="33807particlesR009 tokoe:valid" result="pass"/><test-case name="33808particlesR009.v tokoe:valid" result="pass"/><test-case name="33809particlesR010 tokoe:invalid" result="pass"/><test-case name="33810particlesR011 tokoe:valid" result="pass"/><test-case name="33811particlesR011.v tokoe:valid" result="pass"/><test-case name="33812particlesR012 tokoe:valid" result="pass"/><test-case name="33813particlesR012.v tokoe:valid" result="pass"/><test-case name="33814particlesR013 tokoe:valid" result="pass"/><test-case name="33815particlesR013.v tokoe:valid" result="pass"/><test-case name="33816particlesR014 tokoe:invalid" result="pass"/><test-case name="33817particlesR015 tokoe:valid" result="pass"/><test-case name="33818particlesR015.v tokoe:valid" result="pass"/><test-case name="33819particlesR016 tokoe:valid" result="pass"/><test-case name="33820particlesR016.v tokoe:valid" result="pass"/><test-case name="33821particlesR017 tokoe:valid" result="pass"/><test-case name="33822particlesR017.v tokoe:valid" result="pass"/><test-case name="33823particlesR018 tokoe:invalid" result="pass"/><test-case name="33824particlesR019 tokoe:invalid" result="pass"/><test-case name="33825particlesR020 tokoe:valid" result="pass"/><test-case name="33826particlesR020.v tokoe:valid" result="pass"/><test-case name="33827particlesR021 tokoe:invalid" result="pass"/><test-case name="33828particlesR022 tokoe:valid" result="pass"/><test-case name="33829particlesR022.v tokoe:valid" result="pass"/><test-case name="33830particlesR023 tokoe:invalid" result="pass"/><test-case name="33831particlesR024 tokoe:valid" result="pass"/><test-case name="33832particlesR024.v tokoe:valid" result="pass"/><test-case name="33833particlesR025 tokoe:invalid" result="pass"/><test-case name="33834particlesR026 tokoe:invalid" result="pass"/><test-case name="33835particlesR027 tokoe:invalid" result="pass"/><test-case name="33836particlesR028 tokoe:invalid" result="pass"/><test-case name="33837particlesR029 tokoe:valid" result="pass"/><test-case name="33838particlesR029.v tokoe:valid" result="pass"/><test-case name="33839particlesR030 tokoe:valid" result="pass"/><test-case name="33840particlesR030.v tokoe:valid" result="pass"/><test-case name="33841particlesR031 tokoe:invalid" result="pass"/><test-case name="33842particlesT001 tokoe:valid" result="pass"/><test-case name="33843particlesT001.v tokoe:valid" result="pass"/><test-case name="33844particlesT003 tokoe:valid" result="pass"/><test-case name="33845particlesT003.v tokoe:valid" result="pass"/><test-case name="33846particlesT004 tokoe:valid" result="pass"/><test-case name="33847particlesT004.v tokoe:valid" result="pass"/><test-case name="33848particlesT005 tokoe:valid" result="pass"/><test-case name="33849particlesT005.v tokoe:valid" result="pass"/><test-case name="33850particlesT006 tokoe:valid" result="pass"/><test-case name="33851particlesT006.v tokoe:valid" result="pass"/><test-case name="33852particlesT007 tokoe:valid" result="pass"/><test-case name="33853particlesT007.v tokoe:valid" result="pass"/><test-case name="33854particlesT008 tokoe:invalid" result="pass"/><test-case name="33855particlesT010 tokoe:invalid" result="pass"/><test-case name="33856particlesT011 tokoe:invalid" result="pass"/><test-case name="33857particlesT012 tokoe:valid" result="pass"/><test-case name="33858particlesT012.v tokoe:valid" result="pass"/><test-case name="33859particlesT013 tokoe:valid" result="pass"/><test-case name="33860particlesT013.v tokoe:valid" result="pass"/><test-case name="33861particlesQ001 tokoe:valid" result="pass"/><test-case name="33862particlesQ001.v tokoe:valid" result="pass"/><test-case name="33863particlesQ002 tokoe:valid" result="pass"/><test-case name="33864particlesQ002.v tokoe:valid" result="pass"/><test-case name="33865particlesQ003 tokoe:valid" result="pass"/><test-case name="33866particlesQ003.v tokoe:valid" result="pass"/><test-case name="33867particlesQ004 tokoe:valid" result="pass"/><test-case name="33868particlesQ004.v tokoe:valid" result="pass"/><test-case name="33869particlesQ006 tokoe:invalid" result="pass"/><test-case name="33870particlesQ007 tokoe:valid" result="pass"/><test-case name="33871particlesQ007.v tokoe:valid" result="pass"/><test-case name="33872particlesQ008 tokoe:invalid" result="pass"/><test-case name="33873particlesQ011 tokoe:valid" result="pass"/><test-case name="33874particlesQ011.v tokoe:valid" result="pass"/><test-case name="33875particlesQ012 tokoe:invalid" result="pass"/><test-case name="33876particlesQ013 tokoe:valid" result="pass"/><test-case name="33877particlesQ013.v tokoe:valid" result="pass"/><test-case name="33878particlesQ016 tokoe:valid" result="pass"/><test-case name="33879particlesQ016.v tokoe:valid" result="pass"/><test-case name="33880particlesQ017 tokoe:valid" result="pass"/><test-case name="33881particlesQ017.v tokoe:valid" result="pass"/><test-case name="33882particlesQ018 tokoe:invalid" result="pass"/><test-case name="33883particlesQ019 tokoe:invalid" result="pass"/><test-case name="33884particlesQ020 tokoe:valid" result="pass"/><test-case name="33885particlesQ020.v tokoe:valid" result="pass"/><test-case name="33886particlesQ021 tokoe:invalid" result="pass"/><test-case name="33887particlesQ022 tokoe:valid" result="pass"/><test-case name="33888particlesQ022.v tokoe:valid" result="pass"/><test-case name="33889particlesQ023 tokoe:invalid" result="pass"/><test-case name="33890particlesQ024 tokoe:valid" result="pass"/><test-case name="33891particlesQ024.v tokoe:valid" result="pass"/><test-case name="33892particlesQ025 tokoe:invalid" result="pass"/><test-case name="33893particlesQ026 tokoe:invalid" result="pass"/><test-case name="33894particlesQ027 tokoe:invalid" result="pass"/><test-case name="33895particlesQ028 tokoe:invalid" result="pass"/><test-case name="33896particlesQ029 tokoe:valid" result="pass"/><test-case name="33897particlesQ029.v tokoe:valid" result="pass"/><test-case name="33898particlesQ030 tokoe:valid" result="pass"/><test-case name="33899particlesQ030.v tokoe:valid" result="pass"/><test-case name="33900particlesQ031 tokoe:invalid" result="pass"/><test-case name="33901particlesQ032 tokoe:valid" result="pass"/><test-case name="33902particlesQ032.v tokoe:valid" result="pass"/><test-case name="33903particlesU001 tokoe:invalid" result="pass"/><test-case name="33904particlesU002 tokoe:invalid" result="pass"/><test-case name="33905particlesU003 tokoe:valid" result="pass"/><test-case name="33906particlesU003.v tokoe:valid" result="pass"/><test-case name="33907particlesU004 tokoe:valid" result="pass"/><test-case name="33908particlesU004.v tokoe:valid" result="pass"/><test-case name="33909particlesU005 tokoe:valid" result="pass"/><test-case name="33910particlesU005.v tokoe:valid" result="pass"/><test-case name="33911particlesU006 tokoe:invalid" result="pass"/><test-case name="33912particlesU007 tokoe:valid" result="pass"/><test-case name="33913particlesU007.v tokoe:valid" result="pass"/><test-case name="33914particlesU008 tokoe:invalid" result="pass"/><test-case name="33915particlesU009 tokoe:invalid" result="pass"/><test-case name="33916particlesV003 tokoe:valid" result="pass"/><test-case name="33917particlesV003.v tokoe:valid" result="pass"/><test-case name="33918particlesV004 tokoe:valid" result="pass"/><test-case name="33919particlesV004.v tokoe:valid" result="pass"/><test-case name="33920particlesV005 tokoe:invalid" result="pass"/><test-case name="33921particlesV006 tokoe:valid" result="pass"/><test-case name="33922particlesV006.v tokoe:valid" result="pass"/><test-case name="33923particlesV007 tokoe:valid" result="pass"/><test-case name="33924particlesV007.v tokoe:valid" result="pass"/><test-case name="33925particlesV008 tokoe:valid" result="pass"/><test-case name="33926particlesV008.v tokoe:valid" result="pass"/><test-case name="33927particlesV009 tokoe:valid" result="pass"/><test-case name="33928particlesV009.v tokoe:valid" result="pass"/><test-case name="33929particlesV010 tokoe:valid" result="pass"/><test-case name="33930particlesV010.v tokoe:valid" result="pass"/><test-case name="33931particlesV011 tokoe:valid" result="pass"/><test-case name="33932particlesV011.v tokoe:valid" result="pass"/><test-case name="33933particlesV012 tokoe:valid" result="pass"/><test-case name="33934particlesV012.v tokoe:valid" result="pass"/><test-case name="33935particlesV013 tokoe:valid" result="pass"/><test-case name="33936particlesV013.v tokoe:valid" result="pass"/><test-case name="33937particlesV014 tokoe:valid" result="pass"/><test-case name="33938particlesV014.v tokoe:valid" result="pass"/><test-case name="33939particlesV015 tokoe:valid" result="pass"/><test-case name="33940particlesV015.v tokoe:valid" result="pass"/><test-case name="33941particlesV016 tokoe:invalid" result="pass"/><test-case name="33942particlesV017 tokoe:invalid" result="pass"/><test-case name="33943particlesV018 tokoe:invalid" result="pass"/><test-case name="33944particlesW001 tokoe:valid" result="pass"/><test-case name="33945particlesW001.v tokoe:valid" result="pass"/><test-case name="33946particlesW002 tokoe:invalid" result="pass"/><test-case name="33947particlesW003 tokoe:valid" result="pass"/><test-case name="33948particlesW003.v tokoe:valid" result="pass"/><test-case name="33949particlesW005 tokoe:invalid" result="pass"/><test-case name="33950particlesW006 tokoe:valid" result="pass"/><test-case name="33951particlesW007 tokoe:invalid" result="pass"/><test-case name="33952particlesW008 tokoe:valid" result="pass"/><test-case name="33953particlesW008.v tokoe:valid" result="pass"/><test-case name="33954particlesW010 tokoe:invalid" result="pass"/><test-case name="33955particlesW011 tokoe:valid" result="pass"/><test-case name="33956particlesW011.v tokoe:valid" result="pass"/><test-case name="33957particlesW012 tokoe:invalid" result="pass"/><test-case name="33958particlesW013 tokoe:invalid" result="pass"/><test-case name="33959particlesW014 tokoe:invalid" result="pass"/><test-case name="33960particlesW015 tokoe:invalid" result="pass"/><test-case name="33961particlesW016 tokoe:valid" result="pass"/><test-case name="33962particlesW016.v tokoe:valid" result="pass"/><test-case name="33963particlesZ002 tokoe:valid" result="pass"/><test-case name="33964particlesZ002.v tokoe:valid" result="pass"/><test-case name="33965particlesZ003 tokoe:valid" result="pass"/><test-case name="33966particlesZ003.v tokoe:valid" result="pass"/><test-case name="33967particlesZ008 tokoe:valid" result="pass"/><test-case name="33968particlesZ008.v tokoe:valid" result="pass"/><test-case name="33969particlesZ009 tokoe:invalid" result="pass"/><test-case name="33970particlesZ010 tokoe:valid" result="pass"/><test-case name="33971particlesZ011 tokoe:invalid" result="pass"/><test-case name="33972particlesZ012 tokoe:valid" result="pass"/><test-case name="33973particlesZ012.v tokoe:valid" result="pass"/><test-case name="33974particlesZ013 tokoe:invalid" result="pass"/><test-case name="33975particlesZ014 tokoe:invalid" result="pass"/><test-case name="33976particlesZ015 tokoe:valid" result="pass"/><test-case name="33977particlesZ015.i tokoe:invalid" result="pass"/><test-case name="33978particlesZ016 tokoe:valid" result="pass"/><test-case name="33979particlesZ016.i tokoe:invalid" result="pass"/><test-case name="33980particlesZ017 tokoe:invalid" result="pass"/><test-case name="33981particlesZ018 tokoe:invalid" result="pass"/><test-case name="33982particlesZ020 tokoe:valid" result="pass"/><test-case name="33983particlesZ021 tokoe:invalid" result="pass"/><test-case name="33984particlesZ022 tokoe:invalid" result="pass"/><test-case name="33985particlesZ030_a tokoe:valid" result="pass"/><test-case name="33986particlesZ030_b tokoe:valid" result="pass"/><test-case name="33987particlesZ030_c tokoe:valid" result="pass"/><test-case name="33988particlesZ030_d tokoe:invalid" result="pass"/><test-case name="33989particlesZ031 tokoe:valid" result="fail"/><test-case name="33990particlesZ033_a tokoe:valid" result="fail"/><test-case name="33991particlesZ037 tokoe:invalid" result="pass"/><test-case name="33992particlesZ038 tokoe:valid" result="pass"/><test-case name="33993particlesZ039 tokoe:invalid" result="pass"/><test-case name="33994particlesZ040 tokoe:valid" result="pass"/><test-case name="33995particlesZ040.i tokoe:valid" result="pass"/><test-case name="33996reA1 tokoe:valid" result="pass"/><test-case name="33997reA1.v tokoe:valid" result="pass"/><test-case name="33998reA2 tokoe:valid" result="pass"/><test-case name="33999reA2.i tokoe:invalid" result="pass"/><test-case name="34000reA3 tokoe:valid" result="pass"/><test-case name="34001reA3.i tokoe:invalid" result="pass"/><test-case name="34002reA4 tokoe:valid" result="pass"/><test-case name="34003reA4.i tokoe:invalid" result="pass"/><test-case name="34004reA5 tokoe:valid" result="pass"/><test-case name="34005reA5.i tokoe:invalid" result="pass"/><test-case name="34006reA6 tokoe:valid" result="pass"/><test-case name="34007reA6.i tokoe:invalid" result="pass"/><test-case name="34008reA7 tokoe:valid" result="pass"/><test-case name="34009reA7.v tokoe:valid" result="pass"/><test-case name="34010reA8 tokoe:valid" result="pass"/><test-case name="34011reA8.v tokoe:valid" result="pass"/><test-case name="34012reA9 tokoe:valid" result="pass"/><test-case name="34013reA9.i tokoe:invalid" result="pass"/><test-case name="34014reA10 tokoe:valid" result="pass"/><test-case name="34015reA10.i tokoe:invalid" result="pass"/><test-case name="34016reA11 tokoe:valid" result="pass"/><test-case name="34017reA11.i tokoe:invalid" result="pass"/><test-case name="34018reA12 tokoe:valid" result="pass"/><test-case name="34019reA12.v tokoe:valid" result="pass"/><test-case name="34020reA13 tokoe:valid" result="pass"/><test-case name="34021reA13.i tokoe:invalid" result="pass"/><test-case name="34022reA14 tokoe:valid" result="pass"/><test-case name="34023reA14.i tokoe:invalid" result="pass"/><test-case name="34024reA15 tokoe:valid" result="pass"/><test-case name="34025reA15.i tokoe:invalid" result="pass"/><test-case name="34026reA16 tokoe:valid" result="pass"/><test-case name="34027reA16.v tokoe:valid" result="pass"/><test-case name="34028reA17 tokoe:valid" result="pass"/><test-case name="34029reA17.v tokoe:valid" result="pass"/><test-case name="34030reA18 tokoe:valid" result="pass"/><test-case name="34031reA18.i tokoe:invalid" result="pass"/><test-case name="34032reA19 tokoe:valid" result="pass"/><test-case name="34033reA19.i tokoe:invalid" result="pass"/><test-case name="34034reA20 tokoe:valid" result="pass"/><test-case name="34035reA20.i tokoe:invalid" result="pass"/><test-case name="34036reA21 tokoe:valid" result="pass"/><test-case name="34037reA21.i tokoe:invalid" result="pass"/><test-case name="34038reA22 tokoe:valid" result="pass"/><test-case name="34039reA22.i tokoe:invalid" result="pass"/><test-case name="34040reA23 tokoe:valid" result="pass"/><test-case name="34041reA23.i tokoe:invalid" result="pass"/><test-case name="34042reA24 tokoe:valid" result="pass"/><test-case name="34043reA24.v tokoe:valid" result="pass"/><test-case name="34044reA25 tokoe:valid" result="pass"/><test-case name="34045reA25.i tokoe:invalid" result="pass"/><test-case name="34046reA26 tokoe:valid" result="pass"/><test-case name="34047reA26.i tokoe:invalid" result="pass"/><test-case name="34048reA27 tokoe:valid" result="pass"/><test-case name="34049reA27.i tokoe:invalid" result="pass"/><test-case name="34050reA28 tokoe:valid" result="pass"/><test-case name="34051reA28.v tokoe:valid" result="pass"/><test-case name="34052reA29 tokoe:valid" result="pass"/><test-case name="34053reA29.v tokoe:valid" result="pass"/><test-case name="34054reA30 tokoe:valid" result="pass"/><test-case name="34055reA30.v tokoe:valid" result="pass"/><test-case name="34056reA31 tokoe:valid" result="pass"/><test-case name="34057reA31.v tokoe:valid" result="pass"/><test-case name="34058reA32 tokoe:valid" result="pass"/><test-case name="34059reA32.i tokoe:invalid" result="pass"/><test-case name="34060reA33 tokoe:valid" result="pass"/><test-case name="34061reA33.i tokoe:invalid" result="pass"/><test-case name="34062reA34 tokoe:valid" result="pass"/><test-case name="34063reA34.i tokoe:invalid" result="pass"/><test-case name="34064reA35 tokoe:valid" result="pass"/><test-case name="34065reA36 tokoe:valid" result="pass"/><test-case name="34066reA37 tokoe:valid" result="pass"/><test-case name="34067reA38 tokoe:valid" result="pass"/><test-case name="34068reA39 tokoe:valid" result="pass"/><test-case name="34069reA40 tokoe:valid" result="pass"/><test-case name="34070reA45 tokoe:valid" result="pass"/><test-case name="34071reA45.v tokoe:valid" result="pass"/><test-case name="34072reB1 tokoe:valid" result="pass"/><test-case name="34073reB1.v tokoe:valid" result="pass"/><test-case name="34074reB2 tokoe:valid" result="pass"/><test-case name="34075reB2.v tokoe:valid" result="pass"/><test-case name="34076reB3 tokoe:valid" result="pass"/><test-case name="34077reB3.i tokoe:invalid" result="pass"/><test-case name="34078reB4 tokoe:valid" result="pass"/><test-case name="34079reB4.i tokoe:invalid" result="pass"/><test-case name="34080reB5 tokoe:valid" result="pass"/><test-case name="34081reB5.i tokoe:invalid" result="pass"/><test-case name="34082reB10 tokoe:valid" result="pass"/><test-case name="34083reB10.i tokoe:invalid" result="pass"/><test-case name="34084reB11 tokoe:valid" result="pass"/><test-case name="34085reB11.v tokoe:valid" result="pass"/><test-case name="34086reB12 tokoe:valid" result="pass"/><test-case name="34087reB12.v tokoe:valid" result="pass"/><test-case name="34088reB13 tokoe:valid" result="pass"/><test-case name="34089reB13.i tokoe:invalid" result="pass"/><test-case name="34090reB14 tokoe:valid" result="pass"/><test-case name="34091reB14.i tokoe:invalid" result="pass"/><test-case name="34092reB15 tokoe:valid" result="pass"/><test-case name="34093reB15.i tokoe:invalid" result="pass"/><test-case name="34094reB16 tokoe:valid" result="pass"/><test-case name="34095reB16.i tokoe:invalid" result="pass"/><test-case name="34096reB17 tokoe:valid" result="pass"/><test-case name="34097reB17.v tokoe:valid" result="pass"/><test-case name="34098reB18 tokoe:valid" result="pass"/><test-case name="34099reB18.v tokoe:valid" result="pass"/><test-case name="34100reB19 tokoe:valid" result="pass"/><test-case name="34101reB19.i tokoe:invalid" result="pass"/><test-case name="34102reB20 tokoe:valid" result="pass"/><test-case name="34103reB20.i tokoe:invalid" result="pass"/><test-case name="34104reB21 tokoe:valid" result="pass"/><test-case name="34105reB21.i tokoe:invalid" result="pass"/><test-case name="34106reB22 tokoe:valid" result="pass"/><test-case name="34107reB22.i tokoe:invalid" result="pass"/><test-case name="34108reB23 tokoe:valid" result="pass"/><test-case name="34109reB23.v tokoe:valid" result="pass"/><test-case name="34110reB24 tokoe:valid" result="pass"/><test-case name="34111reB24.v tokoe:valid" result="pass"/><test-case name="34112reB25 tokoe:valid" result="pass"/><test-case name="34113reB25.i tokoe:invalid" result="pass"/><test-case name="34114reB26 tokoe:valid" result="pass"/><test-case name="34115reB26.i tokoe:invalid" result="pass"/><test-case name="34116reB27 tokoe:valid" result="pass"/><test-case name="34117reB27.i tokoe:invalid" result="pass"/><test-case name="34118reB28 tokoe:valid" result="pass"/><test-case name="34119reB28.v tokoe:valid" result="pass"/><test-case name="34120reB29 tokoe:valid" result="pass"/><test-case name="34121reB29.v tokoe:valid" result="pass"/><test-case name="34122reB30 tokoe:valid" result="pass"/><test-case name="34123reB30.v tokoe:valid" result="pass"/><test-case name="34124reB31 tokoe:valid" result="pass"/><test-case name="34125reB31.i tokoe:invalid" result="pass"/><test-case name="34126reB32 tokoe:valid" result="pass"/><test-case name="34127reB32.i tokoe:invalid" result="pass"/><test-case name="34128reB33 tokoe:valid" result="pass"/><test-case name="34129reB33.i tokoe:invalid" result="pass"/><test-case name="34130reB34 tokoe:valid" result="pass"/><test-case name="34131reB34.i tokoe:invalid" result="pass"/><test-case name="34132reB35 tokoe:valid" result="pass"/><test-case name="34133reB35.i tokoe:invalid" result="pass"/><test-case name="34134reB36 tokoe:valid" result="pass"/><test-case name="34135reB36.i tokoe:invalid" result="pass"/><test-case name="34136reB37 tokoe:valid" result="pass"/><test-case name="34137reB37.v tokoe:valid" result="pass"/><test-case name="34138reB38 tokoe:valid" result="pass"/><test-case name="34139reB38.v tokoe:valid" result="pass"/><test-case name="34140reB39 tokoe:valid" result="pass"/><test-case name="34141reB39.v tokoe:valid" result="pass"/><test-case name="34142reB40 tokoe:valid" result="pass"/><test-case name="34143reB40.i tokoe:invalid" result="pass"/><test-case name="34144reB41 tokoe:valid" result="pass"/><test-case name="34145reB41.i tokoe:invalid" result="pass"/><test-case name="34146reB42 tokoe:valid" result="pass"/><test-case name="34147reB42.i tokoe:invalid" result="pass"/><test-case name="34148reB43 tokoe:valid" result="pass"/><test-case name="34149reB43.i tokoe:invalid" result="pass"/><test-case name="34150reB44 tokoe:valid" result="pass"/><test-case name="34151reB44.v tokoe:valid" result="pass"/><test-case name="34152reB45 tokoe:valid" result="pass"/><test-case name="34153reB45.v tokoe:valid" result="pass"/><test-case name="34154reB46 tokoe:valid" result="pass"/><test-case name="34155reB46.v tokoe:valid" result="pass"/><test-case name="34156reB47 tokoe:valid" result="pass"/><test-case name="34157reB47.v tokoe:valid" result="pass"/><test-case name="34158reB48 tokoe:valid" result="pass"/><test-case name="34159reB48.v tokoe:valid" result="pass"/><test-case name="34160reB49 tokoe:valid" result="pass"/><test-case name="34161reB49.i tokoe:invalid" result="pass"/><test-case name="34162reB50 tokoe:valid" result="pass"/><test-case name="34163reB50.i tokoe:invalid" result="pass"/><test-case name="34164reB51 tokoe:valid" result="pass"/><test-case name="34165reB51.i tokoe:invalid" result="pass"/><test-case name="34166reB52 tokoe:valid" result="pass"/><test-case name="34167reB52.i tokoe:invalid" result="pass"/><test-case name="34168reB53 tokoe:valid" result="pass"/><test-case name="34169reB53.i tokoe:invalid" result="pass"/><test-case name="34170reB54 tokoe:valid" result="pass"/><test-case name="34171reB54.v tokoe:valid" result="pass"/><test-case name="34172reB55 tokoe:valid" result="pass"/><test-case name="34173reB55.v tokoe:valid" result="pass"/><test-case name="34174reB56 tokoe:valid" result="pass"/><test-case name="34175reB56.v tokoe:valid" result="pass"/><test-case name="34176reB57 tokoe:valid" result="pass"/><test-case name="34177reB57.v tokoe:valid" result="pass"/><test-case name="34178reB58 tokoe:valid" result="pass"/><test-case name="34179reB58.i tokoe:invalid" result="pass"/><test-case name="34180reB59 tokoe:valid" result="pass"/><test-case name="34181reB59.i tokoe:invalid" result="pass"/><test-case name="34182reB60 tokoe:valid" result="pass"/><test-case name="34183reB60.i tokoe:invalid" result="pass"/><test-case name="34184reB61 tokoe:valid" result="pass"/><test-case name="34185reB61.i tokoe:invalid" result="pass"/><test-case name="34186reB62 tokoe:invalid" result="pass"/><test-case name="34187reB63 tokoe:invalid" result="pass"/><test-case name="34188reB64 tokoe:invalid" result="pass"/><test-case name="34189reB65 tokoe:invalid" result="pass"/><test-case name="34190reB78 tokoe:valid" result="pass"/><test-case name="34191reB78.v tokoe:valid" result="pass"/><test-case name="34192reB79 tokoe:invalid" result="pass"/><test-case name="34193reB80 tokoe:invalid" result="pass"/><test-case name="34194reC1 tokoe:valid" result="pass"/><test-case name="34195reC1.i tokoe:invalid" result="pass"/><test-case name="34196reC2 tokoe:valid" result="pass"/><test-case name="34197reC2.v tokoe:valid" result="pass"/><test-case name="34198reC3 tokoe:valid" result="pass"/><test-case name="34199reC3.v tokoe:valid" result="pass"/><test-case name="34200reC4 tokoe:valid" result="pass"/><test-case name="34201reC4.v tokoe:valid" result="pass"/><test-case name="34202reC5 tokoe:valid" result="pass"/><test-case name="34203reC5.i tokoe:invalid" result="pass"/><test-case name="34204reC6 tokoe:valid" result="pass"/><test-case name="34205reC6.i tokoe:invalid" result="pass"/><test-case name="34206reC7 tokoe:valid" result="pass"/><test-case name="34207reC7.i tokoe:invalid" result="pass"/><test-case name="34208reC8 tokoe:valid" result="pass"/><test-case name="34209reC8.i tokoe:invalid" result="pass"/><test-case name="34210reC9 tokoe:valid" result="pass"/><test-case name="34211reC9.v tokoe:valid" result="pass"/><test-case name="34212reC10 tokoe:valid" result="pass"/><test-case name="34213reC10.v tokoe:valid" result="pass"/><test-case name="34214reC11 tokoe:valid" result="pass"/><test-case name="34215reC11.v tokoe:valid" result="pass"/><test-case name="34216reC12 tokoe:valid" result="pass"/><test-case name="34217reC12.i tokoe:invalid" result="pass"/><test-case name="34218reC13 tokoe:valid" result="pass"/><test-case name="34219reC13.i tokoe:invalid" result="pass"/><test-case name="34220reC14 tokoe:valid" result="pass"/><test-case name="34221reC14.i tokoe:invalid" result="pass"/><test-case name="34222reC15 tokoe:valid" result="pass"/><test-case name="34223reC15.i tokoe:invalid" result="pass"/><test-case name="34224reC16 tokoe:valid" result="pass"/><test-case name="34225reC16.v tokoe:valid" result="pass"/><test-case name="34226reC17 tokoe:valid" result="pass"/><test-case name="34227reC17.v tokoe:valid" result="pass"/><test-case name="34228reC18 tokoe:valid" result="pass"/><test-case name="34229reC18.v tokoe:valid" result="pass"/><test-case name="34230reC19 tokoe:valid" result="pass"/><test-case name="34231reC19.i tokoe:invalid" result="pass"/><test-case name="34232reC20 tokoe:valid" result="pass"/><test-case name="34233reC20.i tokoe:invalid" result="pass"/><test-case name="34234reC21 tokoe:valid" result="pass"/><test-case name="34235reC21.i tokoe:invalid" result="pass"/><test-case name="34236reC22 tokoe:valid" result="pass"/><test-case name="34237reC22.v tokoe:valid" result="pass"/><test-case name="34238reC23 tokoe:valid" result="pass"/><test-case name="34239reC23.i tokoe:invalid" result="pass"/><test-case name="34240reC24 tokoe:valid" result="pass"/><test-case name="34241reC24.i tokoe:invalid" result="pass"/><test-case name="34242reC25 tokoe:valid" result="pass"/><test-case name="34243reC25.i tokoe:invalid" result="pass"/><test-case name="34244reC26 tokoe:valid" result="pass"/><test-case name="34245reC26.i tokoe:invalid" result="pass"/><test-case name="34246reC27 tokoe:valid" result="pass"/><test-case name="34247reC27.i tokoe:invalid" result="pass"/><test-case name="34248reC28 tokoe:valid" result="pass"/><test-case name="34249reC28.v tokoe:valid" result="pass"/><test-case name="34250reC29 tokoe:valid" result="pass"/><test-case name="34251reC29.i tokoe:invalid" result="pass"/><test-case name="34252reC30 tokoe:valid" result="pass"/><test-case name="34253reC30.i tokoe:invalid" result="pass"/><test-case name="34254reC31 tokoe:valid" result="pass"/><test-case name="34255reC31.i tokoe:invalid" result="pass"/><test-case name="34256reC32 tokoe:valid" result="pass"/><test-case name="34257reC32.v tokoe:valid" result="pass"/><test-case name="34258reC33 tokoe:valid" result="pass"/><test-case name="34259reC33.v tokoe:valid" result="pass"/><test-case name="34260reC34 tokoe:valid" result="pass"/><test-case name="34261reC34.v tokoe:valid" result="pass"/><test-case name="34262reC35 tokoe:valid" result="pass"/><test-case name="34263reC35.v tokoe:valid" result="pass"/><test-case name="34264reC36 tokoe:valid" result="pass"/><test-case name="34265reC36.i tokoe:invalid" result="pass"/><test-case name="34266reC37 tokoe:valid" result="pass"/><test-case name="34267reC37.i tokoe:invalid" result="pass"/><test-case name="34268reC38 tokoe:valid" result="pass"/><test-case name="34269reC38.i tokoe:invalid" result="pass"/><test-case name="34270reC39 tokoe:valid" result="pass"/><test-case name="34271reC39.i tokoe:invalid" result="pass"/><test-case name="34272reC40 tokoe:valid" result="pass"/><test-case name="34273reC40.i tokoe:invalid" result="pass"/><test-case name="34274reC41 tokoe:valid" result="pass"/><test-case name="34275reC41.v tokoe:valid" result="pass"/><test-case name="34276reC42 tokoe:valid" result="pass"/><test-case name="34277reC42.v tokoe:valid" result="pass"/><test-case name="34278reC43 tokoe:valid" result="pass"/><test-case name="34279reC43.v tokoe:valid" result="pass"/><test-case name="34280reC44 tokoe:valid" result="pass"/><test-case name="34281reC44.i tokoe:invalid" result="pass"/><test-case name="34282reC45 tokoe:valid" result="pass"/><test-case name="34283reC45.i tokoe:invalid" result="pass"/><test-case name="34284reC46 tokoe:valid" result="pass"/><test-case name="34285reC46.i tokoe:invalid" result="pass"/><test-case name="34286reC47 tokoe:valid" result="pass"/><test-case name="34287reC47.i tokoe:invalid" result="pass"/><test-case name="34288reC48 tokoe:valid" result="pass"/><test-case name="34289reC48.i tokoe:invalid" result="pass"/><test-case name="34290reC49 tokoe:valid" result="pass"/><test-case name="34291reC49.v tokoe:valid" result="pass"/><test-case name="34292reC50 tokoe:valid" result="pass"/><test-case name="34293reC50.v tokoe:valid" result="pass"/><test-case name="34294reC51 tokoe:valid" result="pass"/><test-case name="34295reC51.v tokoe:valid" result="pass"/><test-case name="34296reC52 tokoe:valid" result="pass"/><test-case name="34297reC52.i tokoe:invalid" result="pass"/><test-case name="34298reC53 tokoe:valid" result="pass"/><test-case name="34299reC53.i tokoe:invalid" result="pass"/><test-case name="34300reC54 tokoe:valid" result="pass"/><test-case name="34301reC54.i tokoe:invalid" result="pass"/><test-case name="34302reC55 tokoe:valid" result="pass"/><test-case name="34303reC55.i tokoe:invalid" result="pass"/><test-case name="34304reC56 tokoe:valid" result="pass"/><test-case name="34305reC56.v tokoe:valid" result="pass"/><test-case name="34306reC57 tokoe:valid" result="pass"/><test-case name="34307reC57.v tokoe:valid" result="pass"/><test-case name="34308reC58 tokoe:valid" result="pass"/><test-case name="34309reC58.v tokoe:valid" result="pass"/><test-case name="34310reC59 tokoe:valid" result="pass"/><test-case name="34311reC59.i tokoe:invalid" result="pass"/><test-case name="34312reC60 tokoe:valid" result="pass"/><test-case name="34313reC60.i tokoe:invalid" result="pass"/><test-case name="34314reC61 tokoe:valid" result="pass"/><test-case name="34315reC61.i tokoe:invalid" result="pass"/><test-case name="34316reC62 tokoe:valid" result="pass"/><test-case name="34317reC62.i tokoe:invalid" result="pass"/><test-case name="34318reC63 tokoe:valid" result="pass"/><test-case name="34319reC63.i tokoe:invalid" result="pass"/><test-case name="34320reC64 tokoe:valid" result="pass"/><test-case name="34321reC64.i tokoe:invalid" result="pass"/><test-case name="34322reC69 tokoe:invalid" result="pass"/><test-case name="34323reC70 tokoe:valid" result="pass"/><test-case name="34324reC70.v tokoe:valid" result="pass"/><test-case name="34325reC71 tokoe:valid" result="pass"/><test-case name="34326reC71.i tokoe:invalid" result="pass"/><test-case name="34327reC72 tokoe:valid" result="pass"/><test-case name="34328reC72.i tokoe:invalid" result="pass"/><test-case name="34329reC73 tokoe:valid" result="pass"/><test-case name="34330reC73.v tokoe:valid" result="pass"/><test-case name="34331reC74 tokoe:valid" result="pass"/><test-case name="34332reC74.v tokoe:valid" result="pass"/><test-case name="34333reC75 tokoe:valid" result="pass"/><test-case name="34334reC75.v tokoe:valid" result="pass"/><test-case name="34335reC76 tokoe:valid" result="pass"/><test-case name="34336reC76.v tokoe:valid" result="pass"/><test-case name="34337reC77 tokoe:valid" result="pass"/><test-case name="34338reC77.v tokoe:valid" result="pass"/><test-case name="34339reC78 tokoe:valid" result="pass"/><test-case name="34340reC78.v tokoe:valid" result="pass"/><test-case name="34341reC79 tokoe:valid" result="pass"/><test-case name="34342reC79.i tokoe:invalid" result="pass"/><test-case name="34343reC80 tokoe:valid" result="pass"/><test-case name="34344reC80.i tokoe:invalid" result="pass"/><test-case name="34345reC81 tokoe:valid" result="pass"/><test-case name="34346reC81.i tokoe:invalid" result="pass"/><test-case name="34347reC82 tokoe:valid" result="pass"/><test-case name="34348reC82.i tokoe:invalid" result="pass"/><test-case name="34349reC83 tokoe:valid" result="pass"/><test-case name="34350reC83.i tokoe:invalid" result="pass"/><test-case name="34351reC84 tokoe:valid" result="pass"/><test-case name="34352reC84.i tokoe:invalid" result="pass"/><test-case name="34353reD1 tokoe:valid" result="pass"/><test-case name="34354reD1.v tokoe:valid" result="pass"/><test-case name="34355reD2 tokoe:valid" result="pass"/><test-case name="34356reD2.v tokoe:valid" result="pass"/><test-case name="34357reD3 tokoe:valid" result="pass"/><test-case name="34358reD3.v tokoe:valid" result="pass"/><test-case name="34359reD4 tokoe:valid" result="pass"/><test-case name="34360reD4.v tokoe:valid" result="pass"/><test-case name="34361reD5 tokoe:valid" result="pass"/><test-case name="34362reD5.v tokoe:valid" result="pass"/><test-case name="34363reD6 tokoe:valid" result="pass"/><test-case name="34364reD6.v tokoe:valid" result="pass"/><test-case name="34365reD7 tokoe:valid" result="pass"/><test-case name="34366reD7.i tokoe:invalid" result="pass"/><test-case name="34367reD8 tokoe:valid" result="pass"/><test-case name="34368reD8.i tokoe:invalid" result="pass"/><test-case name="34369reD9 tokoe:invalid" result="pass"/><test-case name="34370reD10 tokoe:invalid" result="pass"/><test-case name="34371reD11 tokoe:invalid" result="pass"/><test-case name="34372reD12 tokoe:invalid" result="pass"/><test-case name="34373reE2 tokoe:invalid" result="pass"/><test-case name="34374reE3 tokoe:invalid" result="pass"/><test-case name="34375reE4 tokoe:invalid" result="pass"/><test-case name="34376reE5 tokoe:invalid" result="pass"/><test-case name="34377reE8 tokoe:invalid" result="pass"/><test-case name="34378reE9 tokoe:invalid" result="pass"/><test-case name="34379reE10 tokoe:valid" result="pass"/><test-case name="34380reE10.v tokoe:valid" result="pass"/><test-case name="34381reE11 tokoe:invalid" result="pass"/><test-case name="34382reE13 tokoe:valid" result="pass"/><test-case name="34383reE13.v tokoe:valid" result="pass"/><test-case name="34384reE14 tokoe:valid" result="pass"/><test-case name="34385reE14.v tokoe:valid" result="pass"/><test-case name="34386reF4 tokoe:valid" result="pass"/><test-case name="34387reF4.v tokoe:valid" result="pass"/><test-case name="34388reF6 tokoe:valid" result="pass"/><test-case name="34389reF6.i tokoe:invalid" result="pass"/><test-case name="34390reF7 tokoe:valid" result="pass"/><test-case name="34391reF7.v tokoe:valid" result="pass"/><test-case name="34392reF8 tokoe:valid" result="pass"/><test-case name="34393reF8.i tokoe:invalid" result="pass"/><test-case name="34394reF9 tokoe:valid" result="pass"/><test-case name="34395reF9.v tokoe:valid" result="pass"/><test-case name="34396reF10 tokoe:valid" result="pass"/><test-case name="34397reF10.v tokoe:valid" result="pass"/><test-case name="34398reF11 tokoe:valid" result="pass"/><test-case name="34399reF11.v tokoe:valid" result="pass"/><test-case name="34400reF12 tokoe:valid" result="pass"/><test-case name="34401reF12.v tokoe:valid" result="pass"/><test-case name="34402reF13 tokoe:valid" result="pass"/><test-case name="34403reF13.i tokoe:invalid" result="pass"/><test-case name="34404reF14 tokoe:valid" result="pass"/><test-case name="34405reF14.i tokoe:invalid" result="pass"/><test-case name="34406reF15 tokoe:valid" result="pass"/><test-case name="34407reF15.i tokoe:invalid" result="pass"/><test-case name="34408reF17 tokoe:valid" result="fail"/><test-case name="34409reF17.i tokoe:invalid" result="pass"/><test-case name="34410reF18 tokoe:valid" result="fail"/><test-case name="34411reF18.i tokoe:invalid" result="pass"/><test-case name="34412reF20 tokoe:valid" result="pass"/><test-case name="34413reF20.i tokoe:invalid" result="pass"/><test-case name="34414reF21 tokoe:valid" result="pass"/><test-case name="34415reF21.i tokoe:invalid" result="pass"/><test-case name="34416reF22 tokoe:valid" result="pass"/><test-case name="34417reF22.i tokoe:invalid" result="pass"/><test-case name="34418reF23 tokoe:valid" result="pass"/><test-case name="34419reF23.i tokoe:invalid" result="pass"/><test-case name="34420reF32 tokoe:valid" result="pass"/><test-case name="34421reF32.v tokoe:valid" result="pass"/><test-case name="34422reF34 tokoe:valid" result="fail"/><test-case name="34423reF34.i tokoe:invalid" result="pass"/><test-case name="34424reF36 tokoe:valid" result="fail"/><test-case name="34425reF36.i tokoe:invalid" result="pass"/><test-case name="34426reF39 tokoe:valid" result="fail"/><test-case name="34427reF39.i tokoe:invalid" result="pass"/><test-case name="34428reF40 tokoe:valid" result="pass"/><test-case name="34429reF40.v tokoe:valid" result="pass"/><test-case name="34430reF41 tokoe:valid" result="pass"/><test-case name="34431reF41.i tokoe:invalid" result="pass"/><test-case name="34432reF42 tokoe:valid" result="pass"/><test-case name="34433reF42.i tokoe:invalid" result="pass"/><test-case name="34434reF43 tokoe:valid" result="pass"/><test-case name="34435reF43.v tokoe:valid" result="pass"/><test-case name="34436reF44 tokoe:valid" result="pass"/><test-case name="34437reF44.i tokoe:invalid" result="pass"/><test-case name="34438reF45 tokoe:valid" result="pass"/><test-case name="34439reF45.v tokoe:valid" result="pass"/><test-case name="34440reF46 tokoe:valid" result="pass"/><test-case name="34441reF46.v tokoe:valid" result="pass"/><test-case name="34442reF47 tokoe:valid" result="pass"/><test-case name="34443reF47.i tokoe:invalid" result="pass"/><test-case name="34444reF48 tokoe:valid" result="pass"/><test-case name="34445reF48.i tokoe:invalid" result="pass"/><test-case name="34446reF49 tokoe:valid" result="pass"/><test-case name="34447reF49.i tokoe:invalid" result="pass"/><test-case name="34448reF50 tokoe:valid" result="pass"/><test-case name="34449reF50.i tokoe:invalid" result="pass"/><test-case name="34450reF51 tokoe:valid" result="pass"/><test-case name="34451reF51.i tokoe:invalid" result="pass"/><test-case name="34452reF52 tokoe:valid" result="pass"/><test-case name="34453reF52.i tokoe:invalid" result="pass"/><test-case name="34454reF53 tokoe:valid" result="pass"/><test-case name="34455reF53.i tokoe:invalid" result="pass"/><test-case name="34456reF54 tokoe:valid" result="pass"/><test-case name="34457reF54.v tokoe:valid" result="pass"/><test-case name="34458reF55 tokoe:valid" result="pass"/><test-case name="34459reF55.v tokoe:valid" result="pass"/><test-case name="34460reF56 tokoe:valid" result="fail"/><test-case name="34461reF57 tokoe:invalid" result="fail"/><test-case name="34462reG2 tokoe:valid" result="pass"/><test-case name="34463reG2.i tokoe:invalid" result="pass"/><test-case name="34464reG3 tokoe:valid" result="pass"/><test-case name="34465reG3.i tokoe:invalid" result="pass"/><test-case name="34466reG4 tokoe:valid" result="pass"/><test-case name="34467reG4.v tokoe:valid" result="pass"/><test-case name="34468reG6 tokoe:valid" result="pass"/><test-case name="34469reG6.v tokoe:valid" result="pass"/><test-case name="34470reG7 tokoe:valid" result="pass"/><test-case name="34471reG7.i tokoe:invalid" result="pass"/><test-case name="34472reG8 tokoe:valid" result="pass"/><test-case name="34473reG8.v tokoe:valid" result="pass"/><test-case name="34474reG9 tokoe:valid" result="pass"/><test-case name="34475reG9.i tokoe:invalid" result="pass"/><test-case name="34476reG10 tokoe:valid" result="pass"/><test-case name="34477reG10.i tokoe:invalid" result="pass"/><test-case name="34478reG11 tokoe:valid" result="pass"/><test-case name="34479reG11.v tokoe:valid" result="pass"/><test-case name="34480reG13 tokoe:valid" result="pass"/><test-case name="34481reG13.v tokoe:valid" result="pass"/><test-case name="34482reG14 tokoe:valid" result="pass"/><test-case name="34483reG14.v tokoe:valid" result="pass"/><test-case name="34484reG16 tokoe:valid" result="pass"/><test-case name="34485reG16.i tokoe:invalid" result="pass"/><test-case name="34486reG17 tokoe:valid" result="pass"/><test-case name="34487reG17.i tokoe:invalid" result="pass"/><test-case name="34488reG18 tokoe:valid" result="pass"/><test-case name="34489reG18.v tokoe:valid" result="fail"/><test-case name="34490reG19 tokoe:valid" result="pass"/><test-case name="34491reG19.v tokoe:valid" result="fail"/><test-case name="34492reG20 tokoe:valid" result="pass"/><test-case name="34493reG20.v tokoe:valid" result="fail"/><test-case name="34494reG21 tokoe:valid" result="pass"/><test-case name="34495reG21.i tokoe:invalid" result="pass"/><test-case name="34496reG22 tokoe:valid" result="pass"/><test-case name="34497reG22.v tokoe:valid" result="pass"/><test-case name="34498reG23 tokoe:valid" result="pass"/><test-case name="34499reG23.i tokoe:invalid" result="pass"/><test-case name="34500reG24 tokoe:valid" result="pass"/><test-case name="34501reG24.i tokoe:invalid" result="pass"/><test-case name="34502reG25 tokoe:valid" result="pass"/><test-case name="34503reG25.i tokoe:invalid" result="pass"/><test-case name="34504reG26 tokoe:valid" result="pass"/><test-case name="34505reG26.v tokoe:valid" result="pass"/><test-case name="34506reG27 tokoe:valid" result="pass"/><test-case name="34507reG27.v tokoe:valid" result="pass"/><test-case name="34508reG28 tokoe:valid" result="pass"/><test-case name="34509reG28.v tokoe:valid" result="pass"/><test-case name="34510reG29 tokoe:valid" result="pass"/><test-case name="34511reG29.v tokoe:valid" result="pass"/><test-case name="34512reG30 tokoe:valid" result="pass"/><test-case name="34513reG30.v tokoe:valid" result="pass"/><test-case name="34514reG31 tokoe:valid" result="pass"/><test-case name="34515reG31.v tokoe:valid" result="pass"/><test-case name="34516reG32 tokoe:valid" result="pass"/><test-case name="34517reG32.v tokoe:valid" result="pass"/><test-case name="34518reG33 tokoe:valid" result="pass"/><test-case name="34519reG33.v tokoe:valid" result="pass"/><test-case name="34520reG34 tokoe:invalid" result="fail"/><test-case name="34521reG35 tokoe:invalid" result="fail"/><test-case name="34522reG36 tokoe:valid" result="pass"/><test-case name="34523reG36.v tokoe:valid" result="pass"/><test-case name="34524reG37 tokoe:invalid" result="fail"/><test-case name="34525reG38 tokoe:valid" result="pass"/><test-case name="34526reG38.v tokoe:valid" result="pass"/><test-case name="34527reG39 tokoe:valid" result="pass"/><test-case name="34528reG39.i tokoe:invalid" result="pass"/><test-case name="34529reG40 tokoe:valid" result="pass"/><test-case name="34530reG40.i tokoe:invalid" result="pass"/><test-case name="34531reG41 tokoe:valid" result="pass"/><test-case name="34532reG42 tokoe:valid" result="pass"/><test-case name="34533reG43 tokoe:valid" result="pass"/><test-case name="34534reG43.v tokoe:valid" result="pass"/><test-case name="34535reG44 tokoe:valid" result="pass"/><test-case name="34536reG44.v tokoe:valid" result="pass"/><test-case name="34537reG45 tokoe:valid" result="pass"/><test-case name="34538reG45.i tokoe:invalid" result="pass"/><test-case name="34539reG46 tokoe:invalid" result="fail"/><test-case name="34540reG47 tokoe:valid" result="pass"/><test-case name="34541reG47.v tokoe:valid" result="pass"/><test-case name="34542reG48 tokoe:valid" result="pass"/><test-case name="34543reG48.i tokoe:invalid" result="pass"/><test-case name="34544reG49 tokoe:valid" result="pass"/><test-case name="34545reG49.v tokoe:valid" result="pass"/><test-case name="34546reG51 tokoe:valid" result="pass"/><test-case name="34547reG51.i tokoe:invalid" result="pass"/><test-case name="34548reH1 tokoe:invalid" result="pass"/><test-case name="34549reH4 tokoe:valid" result="pass"/><test-case name="34550reH4.v tokoe:valid" result="pass"/><test-case name="34551reH5 tokoe:valid" result="pass"/><test-case name="34552reH5.v tokoe:valid" result="pass"/><test-case name="34553reH6 tokoe:valid" result="pass"/><test-case name="34554reH6.v tokoe:valid" result="pass"/><test-case name="34555reH7 tokoe:valid" result="pass"/><test-case name="34556reH7.v tokoe:valid" result="pass"/><test-case name="34557reH8 tokoe:valid" result="pass"/><test-case name="34558reH8.v tokoe:valid" result="pass"/><test-case name="34559reH9 tokoe:valid" result="pass"/><test-case name="34560reH9.v tokoe:valid" result="pass"/><test-case name="34561reH10 tokoe:valid" result="pass"/><test-case name="34562reH10.v tokoe:valid" result="pass"/><test-case name="34563reH11 tokoe:valid" result="pass"/><test-case name="34564reH11.v tokoe:valid" result="pass"/><test-case name="34565reH12 tokoe:valid" result="pass"/><test-case name="34566reH12.v tokoe:valid" result="pass"/><test-case name="34567reH13 tokoe:valid" result="pass"/><test-case name="34568reH13.i tokoe:invalid" result="pass"/><test-case name="34569reH14 tokoe:valid" result="pass"/><test-case name="34570reH14.i tokoe:invalid" result="pass"/><test-case name="34571reH15 tokoe:valid" result="pass"/><test-case name="34572reH15.i tokoe:invalid" result="pass"/><test-case name="34573reH16 tokoe:valid" result="pass"/><test-case name="34574reH16.v tokoe:valid" result="pass"/><test-case name="34575reH17 tokoe:valid" result="pass"/><test-case name="34576reH17.v tokoe:valid" result="pass"/><test-case name="34577reH18 tokoe:valid" result="pass"/><test-case name="34578reH18.v tokoe:valid" result="pass"/><test-case name="34579reH19 tokoe:valid" result="pass"/><test-case name="34580reH19.v tokoe:valid" result="pass"/><test-case name="34581reH20 tokoe:valid" result="pass"/><test-case name="34582reH20.i tokoe:invalid" result="pass"/><test-case name="34583reH21 tokoe:valid" result="pass"/><test-case name="34584reH21.i tokoe:invalid" result="pass"/><test-case name="34585reI1 tokoe:valid" result="pass"/><test-case name="34586reI1.v tokoe:valid" result="pass"/><test-case name="34587reI8 tokoe:valid" result="pass"/><test-case name="34588reI8.v tokoe:valid" result="pass"/><test-case name="34589reI9 tokoe:valid" result="pass"/><test-case name="34590reI9.v tokoe:valid" result="pass"/><test-case name="34591reI10 tokoe:valid" result="pass"/><test-case name="34592reI10.v tokoe:valid" result="pass"/><test-case name="34593reI11 tokoe:valid" result="pass"/><test-case name="34594reI11.i tokoe:invalid" result="pass"/><test-case name="34595reI12 tokoe:valid" result="pass"/><test-case name="34596reI12.v tokoe:valid" result="pass"/><test-case name="34597reI13 tokoe:valid" result="pass"/><test-case name="34598reI13.v tokoe:valid" result="pass"/><test-case name="34599reI14 tokoe:valid" result="pass"/><test-case name="34600reI14.v tokoe:valid" result="pass"/><test-case name="34601reI15 tokoe:valid" result="pass"/><test-case name="34602reI15.v tokoe:valid" result="pass"/><test-case name="34603reI16 tokoe:valid" result="pass"/><test-case name="34604reI16.v tokoe:valid" result="pass"/><test-case name="34605reI17 tokoe:valid" result="pass"/><test-case name="34606reI17.v tokoe:valid" result="pass"/><test-case name="34607reI18 tokoe:valid" result="pass"/><test-case name="34608reI18.i tokoe:invalid" result="pass"/><test-case name="34609reI19 tokoe:valid" result="pass"/><test-case name="34610reI19.i tokoe:invalid" result="pass"/><test-case name="34611reI20 tokoe:valid" result="pass"/><test-case name="34612reI20.i tokoe:invalid" result="pass"/><test-case name="34613reI21 tokoe:valid" result="pass"/><test-case name="34614reI21.v tokoe:valid" result="pass"/><test-case name="34615reI22 tokoe:valid" result="pass"/><test-case name="34616reI22.i tokoe:invalid" result="pass"/><test-case name="34617reI23 tokoe:valid" result="pass"/><test-case name="34618reI23.i tokoe:invalid" result="pass"/><test-case name="34619reI24 tokoe:valid" result="pass"/><test-case name="34620reI24.i tokoe:invalid" result="pass"/><test-case name="34621reI25 tokoe:valid" result="pass"/><test-case name="34622reI25.v tokoe:valid" result="pass"/><test-case name="34623reI26 tokoe:valid" result="pass"/><test-case name="34624reI26.i tokoe:invalid" result="pass"/><test-case name="34625reI27 tokoe:valid" result="pass"/><test-case name="34626reI27.i tokoe:invalid" result="pass"/><test-case name="34627reI28 tokoe:valid" result="pass"/><test-case name="34628reI28.i tokoe:invalid" result="pass"/><test-case name="34629reI29 tokoe:valid" result="pass"/><test-case name="34630reI29.v tokoe:valid" result="pass"/><test-case name="34631reI31 tokoe:valid" result="pass"/><test-case name="34632reI31.v tokoe:valid" result="pass"/><test-case name="34633reI32 tokoe:valid" result="pass"/><test-case name="34634reI32.v tokoe:valid" result="pass"/><test-case name="34635reI33 tokoe:valid" result="pass"/><test-case name="34636reI33.v tokoe:valid" result="pass"/><test-case name="34637reI34 tokoe:valid" result="pass"/><test-case name="34638reI34.v tokoe:valid" result="pass"/><test-case name="34639reI35 tokoe:valid" result="pass"/><test-case name="34640reI35.v tokoe:valid" result="pass"/><test-case name="34641reI36 tokoe:valid" result="pass"/><test-case name="34642reI36.v tokoe:valid" result="pass"/><test-case name="34643reI37 tokoe:valid" result="pass"/><test-case name="34644reI37.v tokoe:valid" result="pass"/><test-case name="34645reI38 tokoe:valid" result="pass"/><test-case name="34646reI38.v tokoe:valid" result="pass"/><test-case name="34647reI39 tokoe:valid" result="pass"/><test-case name="34648reI39.v tokoe:valid" result="pass"/><test-case name="34649reI40 tokoe:valid" result="pass"/><test-case name="34650reI40.v tokoe:valid" result="pass"/><test-case name="34651reI41 tokoe:valid" result="pass"/><test-case name="34652reI41.v tokoe:valid" result="pass"/><test-case name="34653reI42 tokoe:valid" result="pass"/><test-case name="34654reI42.v tokoe:valid" result="pass"/><test-case name="34655reI43 tokoe:valid" result="pass"/><test-case name="34656reI43.v tokoe:valid" result="pass"/><test-case name="34657reI44 tokoe:valid" result="pass"/><test-case name="34658reI44.v tokoe:valid" result="pass"/><test-case name="34659reI45 tokoe:valid" result="pass"/><test-case name="34660reI45.v tokoe:valid" result="pass"/><test-case name="34661reI47 tokoe:valid" result="pass"/><test-case name="34662reI47.i tokoe:invalid" result="pass"/><test-case name="34663reI48 tokoe:valid" result="pass"/><test-case name="34664reI48.i tokoe:invalid" result="pass"/><test-case name="34665reI49 tokoe:valid" result="pass"/><test-case name="34666reI49.i tokoe:invalid" result="pass"/><test-case name="34667reI51 tokoe:valid" result="pass"/><test-case name="34668reI51.i tokoe:invalid" result="pass"/><test-case name="34669reI52 tokoe:valid" result="pass"/><test-case name="34670reI52.i tokoe:invalid" result="pass"/><test-case name="34671reI53 tokoe:valid" result="pass"/><test-case name="34672reI53.i tokoe:invalid" result="pass"/><test-case name="34673reI54 tokoe:valid" result="pass"/><test-case name="34674reI54.i tokoe:invalid" result="pass"/><test-case name="34675reI55 tokoe:valid" result="pass"/><test-case name="34676reI55.v tokoe:valid" result="pass"/><test-case name="34677reI56 tokoe:valid" result="pass"/><test-case name="34678reI56.i tokoe:invalid" result="pass"/><test-case name="34679reI57 tokoe:valid" result="pass"/><test-case name="34680reI57.i tokoe:invalid" result="pass"/><test-case name="34681reI58 tokoe:valid" result="pass"/><test-case name="34682reI58.i tokoe:invalid" result="pass"/><test-case name="34683reI59 tokoe:valid" result="pass"/><test-case name="34684reI59.i tokoe:invalid" result="pass"/><test-case name="34685reI61 tokoe:valid" result="pass"/><test-case name="34686reI61.i tokoe:invalid" result="pass"/><test-case name="34687reI62 tokoe:valid" result="pass"/><test-case name="34688reI62.i tokoe:invalid" result="pass"/><test-case name="34689reI63 tokoe:valid" result="pass"/><test-case name="34690reI63.i tokoe:invalid" result="pass"/><test-case name="34691reI64 tokoe:valid" result="pass"/><test-case name="34692reI64.i tokoe:invalid" result="pass"/><test-case name="34693reI65 tokoe:valid" result="pass"/><test-case name="34694reI65.v tokoe:valid" result="pass"/><test-case name="34695reI67 tokoe:valid" result="pass"/><test-case name="34696reI67.v tokoe:valid" result="pass"/><test-case name="34697reI69 tokoe:valid" result="pass"/><test-case name="34698reI69.v tokoe:valid" result="pass"/><test-case name="34699reI71 tokoe:valid" result="pass"/><test-case name="34700reI71.v tokoe:valid" result="pass"/><test-case name="34701reI72 tokoe:valid" result="pass"/><test-case name="34702reI72.v tokoe:valid" result="pass"/><test-case name="34703reI73 tokoe:valid" result="pass"/><test-case name="34704reI73.v tokoe:valid" result="pass"/><test-case name="34705reI74 tokoe:valid" result="pass"/><test-case name="34706reI74.v tokoe:valid" result="pass"/><test-case name="34707reI75 tokoe:valid" result="pass"/><test-case name="34708reI75.i tokoe:invalid" result="pass"/><test-case name="34709reI76 tokoe:valid" result="pass"/><test-case name="34710reI76.i tokoe:invalid" result="pass"/><test-case name="34711reI77 tokoe:valid" result="pass"/><test-case name="34712reI77.v tokoe:valid" result="pass"/><test-case name="34713reI78 tokoe:valid" result="pass"/><test-case name="34714reI78.v tokoe:valid" result="pass"/><test-case name="34715reI79 tokoe:valid" result="pass"/><test-case name="34716reI79.i tokoe:invalid" result="pass"/><test-case name="34717reI80 tokoe:valid" result="pass"/><test-case name="34718reI80.i tokoe:invalid" result="pass"/><test-case name="34719reI81 tokoe:valid" result="pass"/><test-case name="34720reI81.i tokoe:invalid" result="pass"/><test-case name="34721reI82 tokoe:valid" result="pass"/><test-case name="34722reI82.v tokoe:valid" result="pass"/><test-case name="34723reI83 tokoe:valid" result="pass"/><test-case name="34724reI83.v tokoe:valid" result="pass"/><test-case name="34725reJ4 tokoe:valid" result="pass"/><test-case name="34726reJ4.v tokoe:valid" result="pass"/><test-case name="34727reJ5 tokoe:valid" result="pass"/><test-case name="34728reJ5.i tokoe:invalid" result="pass"/><test-case name="34729reJ8 tokoe:valid" result="pass"/><test-case name="34730reJ8.i tokoe:invalid" result="pass"/><test-case name="34731reJ10 tokoe:valid" result="pass"/><test-case name="34732reJ10.i tokoe:invalid" result="pass"/><test-case name="34733reJ12 tokoe:valid" result="pass"/><test-case name="34734reJ12.i tokoe:invalid" result="pass"/><test-case name="34735reJ14 tokoe:valid" result="pass"/><test-case name="34736reJ14.i tokoe:invalid" result="pass"/><test-case name="34737reJ15 tokoe:valid" result="pass"/><test-case name="34738reJ15.v tokoe:valid" result="pass"/><test-case name="34739reJ16 tokoe:valid" result="pass"/><test-case name="34740reJ16.i tokoe:invalid" result="pass"/><test-case name="34741reJ17 tokoe:valid" result="pass"/><test-case name="34742reJ17.v tokoe:valid" result="pass"/><test-case name="34743reJ18 tokoe:valid" result="pass"/><test-case name="34744reJ18.i tokoe:invalid" result="pass"/><test-case name="34745reJ20 tokoe:valid" result="pass"/><test-case name="34746reJ20.i tokoe:invalid" result="pass"/><test-case name="34747reJ22 tokoe:valid" result="pass"/><test-case name="34748reJ22.i tokoe:invalid" result="pass"/><test-case name="34749reJ24 tokoe:valid" result="pass"/><test-case name="34750reJ24.i tokoe:invalid" result="pass"/><test-case name="34751reJ26 tokoe:valid" result="pass"/><test-case name="34752reJ26.i tokoe:invalid" result="pass"/><test-case name="34753reJ27 tokoe:valid" result="pass"/><test-case name="34754reJ27.v tokoe:valid" result="pass"/><test-case name="34755reJ28 tokoe:valid" result="pass"/><test-case name="34756reJ28.i tokoe:invalid" result="pass"/><test-case name="34757reJ30 tokoe:valid" result="pass"/><test-case name="34758reJ30.i tokoe:invalid" result="pass"/><test-case name="34759reJ32 tokoe:valid" result="pass"/><test-case name="34760reJ32.i tokoe:invalid" result="pass"/><test-case name="34761reJ34 tokoe:valid" result="pass"/><test-case name="34762reJ34.i tokoe:invalid" result="pass"/><test-case name="34763reJ36 tokoe:valid" result="pass"/><test-case name="34764reJ36.i tokoe:invalid" result="pass"/><test-case name="34765reJ37 tokoe:valid" result="pass"/><test-case name="34766reJ37.v tokoe:valid" result="fail"/><test-case name="34767reJ38 tokoe:valid" result="pass"/><test-case name="34768reJ38.i tokoe:invalid" result="pass"/><test-case name="34769reJ40 tokoe:valid" result="pass"/><test-case name="34770reJ40.i tokoe:invalid" result="pass"/><test-case name="34771reJ41 tokoe:valid" result="pass"/><test-case name="34772reJ41.v tokoe:valid" result="pass"/><test-case name="34773reJ42 tokoe:valid" result="pass"/><test-case name="34774reJ42.i tokoe:invalid" result="pass"/><test-case name="34775reJ43 tokoe:valid" result="pass"/><test-case name="34776reJ43.v tokoe:valid" result="pass"/><test-case name="34777reJ44 tokoe:valid" result="pass"/><test-case name="34778reJ44.i tokoe:invalid" result="pass"/><test-case name="34779reJ45 tokoe:valid" result="pass"/><test-case name="34780reJ45.v tokoe:valid" result="pass"/><test-case name="34781reJ46 tokoe:valid" result="pass"/><test-case name="34782reJ46.i tokoe:invalid" result="pass"/><test-case name="34783reJ47 tokoe:valid" result="pass"/><test-case name="34784reJ47.v tokoe:valid" result="pass"/><test-case name="34785reJ48 tokoe:valid" result="pass"/><test-case name="34786reJ48.i tokoe:invalid" result="pass"/><test-case name="34787reJ49 tokoe:valid" result="pass"/><test-case name="34788reJ49.v tokoe:valid" result="pass"/><test-case name="34789reJ50 tokoe:valid" result="pass"/><test-case name="34790reJ50.i tokoe:invalid" result="pass"/><test-case name="34791reJ51 tokoe:valid" result="pass"/><test-case name="34792reJ51.v tokoe:valid" result="pass"/><test-case name="34793reJ52 tokoe:valid" result="pass"/><test-case name="34794reJ52.i tokoe:invalid" result="pass"/><test-case name="34795reJ53 tokoe:valid" result="pass"/><test-case name="34796reJ53.v tokoe:valid" result="pass"/><test-case name="34797reJ54 tokoe:valid" result="pass"/><test-case name="34798reJ54.i tokoe:invalid" result="pass"/><test-case name="34799reJ55 tokoe:valid" result="pass"/><test-case name="34800reJ55.v tokoe:valid" result="pass"/><test-case name="34801reJ56 tokoe:valid" result="pass"/><test-case name="34802reJ56.i tokoe:invalid" result="pass"/><test-case name="34803reJ57 tokoe:valid" result="pass"/><test-case name="34804reJ57.v tokoe:valid" result="pass"/><test-case name="34805reJ58 tokoe:valid" result="pass"/><test-case name="34806reJ58.i tokoe:invalid" result="pass"/><test-case name="34807reJ59 tokoe:valid" result="pass"/><test-case name="34808reJ59.v tokoe:valid" result="pass"/><test-case name="34809reJ60 tokoe:valid" result="pass"/><test-case name="34810reJ60.i tokoe:invalid" result="pass"/><test-case name="34811reJ62 tokoe:valid" result="pass"/><test-case name="34812reJ62.i tokoe:invalid" result="pass"/><test-case name="34813reJ63 tokoe:valid" result="pass"/><test-case name="34814reJ63.v tokoe:valid" result="pass"/><test-case name="34815reJ64 tokoe:valid" result="pass"/><test-case name="34816reJ64.i tokoe:invalid" result="pass"/><test-case name="34817reJ65 tokoe:valid" result="pass"/><test-case name="34818reJ65.v tokoe:valid" result="pass"/><test-case name="34819reJ66 tokoe:valid" result="pass"/><test-case name="34820reJ66.i tokoe:invalid" result="pass"/><test-case name="34821reJ67 tokoe:valid" result="pass"/><test-case name="34822reJ67.v tokoe:valid" result="pass"/><test-case name="34823reJ68 tokoe:valid" result="pass"/><test-case name="34824reJ68.i tokoe:invalid" result="pass"/><test-case name="34825reJ70 tokoe:valid" result="pass"/><test-case name="34826reJ70.i tokoe:invalid" result="pass"/><test-case name="34827reJ72 tokoe:valid" result="pass"/><test-case name="34828reJ72.i tokoe:invalid" result="pass"/><test-case name="34829reJ73 tokoe:valid" result="pass"/><test-case name="34830reJ73.v tokoe:valid" result="pass"/><test-case name="34831reJ74 tokoe:valid" result="pass"/><test-case name="34832reJ74.i tokoe:invalid" result="pass"/><test-case name="34833reJ76 tokoe:valid" result="pass"/><test-case name="34834reJ76.i tokoe:invalid" result="pass"/><test-case name="34835reJ78 tokoe:valid" result="pass"/><test-case name="34836reJ78.i tokoe:invalid" result="pass"/><test-case name="34837reJ80 tokoe:valid" result="pass"/><test-case name="34838reJ80.i tokoe:invalid" result="pass"/><test-case name="34839reK1 tokoe:valid" result="pass"/><test-case name="34840reK1.i tokoe:invalid" result="pass"/><test-case name="34841reK2 tokoe:valid" result="pass"/><test-case name="34842reK2.v tokoe:valid" result="pass"/><test-case name="34843reK3 tokoe:valid" result="pass"/><test-case name="34844reK3.v tokoe:valid" result="pass"/><test-case name="34845reK4 tokoe:valid" result="pass"/><test-case name="34846reK4.v tokoe:valid" result="pass"/><test-case name="34847reK5 tokoe:valid" result="pass"/><test-case name="34848reK5.i tokoe:invalid" result="pass"/><test-case name="34849reK6 tokoe:valid" result="pass"/><test-case name="34850reK6.i tokoe:invalid" result="pass"/><test-case name="34851reK9 tokoe:valid" result="pass"/><test-case name="34852reK9.i tokoe:invalid" result="pass"/><test-case name="34853reK10 tokoe:valid" result="pass"/><test-case name="34854reK10.v tokoe:valid" result="pass"/><test-case name="34855reK11 tokoe:valid" result="pass"/><test-case name="34856reK11.i tokoe:invalid" result="pass"/><test-case name="34857reK12 tokoe:valid" result="pass"/><test-case name="34858reK12.v tokoe:valid" result="pass"/><test-case name="34859reK13 tokoe:valid" result="pass"/><test-case name="34860reK13.i tokoe:invalid" result="pass"/><test-case name="34861reK14 tokoe:valid" result="pass"/><test-case name="34862reK14.v tokoe:valid" result="pass"/><test-case name="34863reK15 tokoe:valid" result="pass"/><test-case name="34864reK15.i tokoe:invalid" result="pass"/><test-case name="34865reK16 tokoe:valid" result="pass"/><test-case name="34866reK16.v tokoe:valid" result="pass"/><test-case name="34867reK17 tokoe:valid" result="pass"/><test-case name="34868reK17.i tokoe:invalid" result="pass"/><test-case name="34869reK18 tokoe:valid" result="pass"/><test-case name="34870reK18.v tokoe:valid" result="pass"/><test-case name="34871reK19 tokoe:valid" result="pass"/><test-case name="34872reK19.i tokoe:invalid" result="pass"/><test-case name="34873reK20 tokoe:valid" result="pass"/><test-case name="34874reK20.v tokoe:valid" result="pass"/><test-case name="34875reK21 tokoe:valid" result="pass"/><test-case name="34876reK21.i tokoe:invalid" result="pass"/><test-case name="34877reK22 tokoe:valid" result="pass"/><test-case name="34878reK22.v tokoe:valid" result="pass"/><test-case name="34879reK23 tokoe:valid" result="pass"/><test-case name="34880reK23.i tokoe:invalid" result="pass"/><test-case name="34881reK24 tokoe:valid" result="pass"/><test-case name="34882reK24.v tokoe:valid" result="pass"/><test-case name="34883reK25 tokoe:valid" result="pass"/><test-case name="34884reK25.i tokoe:invalid" result="pass"/><test-case name="34885reK26 tokoe:valid" result="pass"/><test-case name="34886reK26.v tokoe:valid" result="pass"/><test-case name="34887reK27 tokoe:valid" result="pass"/><test-case name="34888reK27.i tokoe:invalid" result="pass"/><test-case name="34889reK28 tokoe:valid" result="pass"/><test-case name="34890reK28.v tokoe:valid" result="pass"/><test-case name="34891reK29 tokoe:valid" result="pass"/><test-case name="34892reK29.i tokoe:invalid" result="pass"/><test-case name="34893reK30 tokoe:valid" result="pass"/><test-case name="34894reK30.v tokoe:valid" result="pass"/><test-case name="34895reK31 tokoe:valid" result="pass"/><test-case name="34896reK31.i tokoe:invalid" result="pass"/><test-case name="34897reK32 tokoe:valid" result="pass"/><test-case name="34898reK32.v tokoe:valid" result="pass"/><test-case name="34899reK33 tokoe:valid" result="pass"/><test-case name="34900reK33.i tokoe:invalid" result="pass"/><test-case name="34901reK34 tokoe:valid" result="pass"/><test-case name="34902reK34.v tokoe:valid" result="pass"/><test-case name="34903reK35 tokoe:valid" result="pass"/><test-case name="34904reK35.i tokoe:invalid" result="pass"/><test-case name="34905reK36 tokoe:valid" result="pass"/><test-case name="34906reK36.v tokoe:valid" result="pass"/><test-case name="34907reK37 tokoe:valid" result="pass"/><test-case name="34908reK37.i tokoe:invalid" result="pass"/><test-case name="34909reK38 tokoe:valid" result="pass"/><test-case name="34910reK38.v tokoe:valid" result="pass"/><test-case name="34911reK39 tokoe:valid" result="pass"/><test-case name="34912reK39.i tokoe:invalid" result="pass"/><test-case name="34913reK40 tokoe:valid" result="pass"/><test-case name="34914reK40.v tokoe:valid" result="pass"/><test-case name="34915reK41 tokoe:valid" result="pass"/><test-case name="34916reK41.i tokoe:invalid" result="pass"/><test-case name="34917reK42 tokoe:valid" result="pass"/><test-case name="34918reK42.v tokoe:valid" result="pass"/><test-case name="34919reK43 tokoe:valid" result="pass"/><test-case name="34920reK43.i tokoe:invalid" result="pass"/><test-case name="34921reK44 tokoe:valid" result="pass"/><test-case name="34922reK44.v tokoe:valid" result="pass"/><test-case name="34923reK45 tokoe:valid" result="pass"/><test-case name="34924reK45.i tokoe:invalid" result="pass"/><test-case name="34925reK46 tokoe:valid" result="pass"/><test-case name="34926reK46.v tokoe:valid" result="pass"/><test-case name="34927reK47 tokoe:valid" result="pass"/><test-case name="34928reK47.i tokoe:invalid" result="pass"/><test-case name="34929reK48 tokoe:valid" result="pass"/><test-case name="34930reK48.v tokoe:valid" result="pass"/><test-case name="34931reK49 tokoe:valid" result="pass"/><test-case name="34932reK49.i tokoe:invalid" result="pass"/><test-case name="34933reK50 tokoe:valid" result="pass"/><test-case name="34934reK50.v tokoe:valid" result="pass"/><test-case name="34935reK51 tokoe:valid" result="pass"/><test-case name="34936reK51.i tokoe:invalid" result="pass"/><test-case name="34937reK52 tokoe:valid" result="pass"/><test-case name="34938reK52.v tokoe:valid" result="pass"/><test-case name="34939reK53 tokoe:valid" result="pass"/><test-case name="34940reK53.i tokoe:invalid" result="pass"/><test-case name="34941reK54 tokoe:valid" result="pass"/><test-case name="34942reK54.v tokoe:valid" result="pass"/><test-case name="34943reK55 tokoe:valid" result="pass"/><test-case name="34944reK55.i tokoe:invalid" result="pass"/><test-case name="34945reK56 tokoe:valid" result="pass"/><test-case name="34946reK56.v tokoe:valid" result="pass"/><test-case name="34947reK57 tokoe:valid" result="pass"/><test-case name="34948reK57.i tokoe:invalid" result="pass"/><test-case name="34949reK58 tokoe:valid" result="pass"/><test-case name="34950reK58.v tokoe:valid" result="pass"/><test-case name="34951reK59 tokoe:valid" result="pass"/><test-case name="34952reK59.i tokoe:invalid" result="pass"/><test-case name="34953reK60 tokoe:valid" result="pass"/><test-case name="34954reK60.v tokoe:valid" result="pass"/><test-case name="34955reK61 tokoe:valid" result="pass"/><test-case name="34956reK61.i tokoe:invalid" result="pass"/><test-case name="34957reK62 tokoe:valid" result="pass"/><test-case name="34958reK62.v tokoe:valid" result="pass"/><test-case name="34959reK63 tokoe:valid" result="pass"/><test-case name="34960reK63.i tokoe:invalid" result="pass"/><test-case name="34961reK64 tokoe:valid" result="pass"/><test-case name="34962reK64.v tokoe:valid" result="pass"/><test-case name="34963reK65 tokoe:valid" result="pass"/><test-case name="34964reK65.i tokoe:invalid" result="pass"/><test-case name="34965reK66 tokoe:valid" result="pass"/><test-case name="34966reK66.v tokoe:valid" result="pass"/><test-case name="34967reK67 tokoe:valid" result="pass"/><test-case name="34968reK67.i tokoe:invalid" result="pass"/><test-case name="34969reK68 tokoe:valid" result="pass"/><test-case name="34970reK68.v tokoe:valid" result="pass"/><test-case name="34971reK69 tokoe:valid" result="pass"/><test-case name="34972reK69.i tokoe:invalid" result="pass"/><test-case name="34973reK70 tokoe:valid" result="pass"/><test-case name="34974reK70.v tokoe:valid" result="pass"/><test-case name="34975reK71 tokoe:valid" result="pass"/><test-case name="34976reK71.i tokoe:invalid" result="pass"/><test-case name="34977reK72 tokoe:valid" result="pass"/><test-case name="34978reK72.v tokoe:valid" result="pass"/><test-case name="34979reK73 tokoe:valid" result="pass"/><test-case name="34980reK73.i tokoe:invalid" result="pass"/><test-case name="34981reK74 tokoe:valid" result="pass"/><test-case name="34982reK74.v tokoe:valid" result="pass"/><test-case name="34983reK75 tokoe:valid" result="pass"/><test-case name="34984reK75.i tokoe:invalid" result="pass"/><test-case name="34985reK76 tokoe:valid" result="pass"/><test-case name="34986reK76.v tokoe:valid" result="pass"/><test-case name="34987reK77 tokoe:valid" result="pass"/><test-case name="34988reK77.i tokoe:invalid" result="pass"/><test-case name="34989reK78 tokoe:valid" result="pass"/><test-case name="34990reK78.v tokoe:valid" result="pass"/><test-case name="34991reK82 tokoe:invalid" result="pass"/><test-case name="34992reK84 tokoe:valid" result="pass"/><test-case name="34993reK84.v tokoe:valid" result="pass"/><test-case name="34994reK85 tokoe:valid" result="pass"/><test-case name="34995reK85.i tokoe:invalid" result="pass"/><test-case name="34996reK86 tokoe:invalid" result="pass"/><test-case name="34997reK87 tokoe:invalid" result="pass"/><test-case name="34998reK88 tokoe:invalid" result="pass"/><test-case name="34999reL1 tokoe:valid" result="pass"/><test-case name="35000reL1.v tokoe:valid" result="pass"/><test-case name="35001reL2 tokoe:valid" result="pass"/><test-case name="35002reL2.v tokoe:valid" result="pass"/><test-case name="35003reL3 tokoe:valid" result="pass"/><test-case name="35004reL3.v tokoe:valid" result="pass"/><test-case name="35005reL4 tokoe:valid" result="pass"/><test-case name="35006reL4.v tokoe:valid" result="pass"/><test-case name="35007reL5 tokoe:valid" result="pass"/><test-case name="35008reL5.v tokoe:valid" result="pass"/><test-case name="35009reL6 tokoe:valid" result="pass"/><test-case name="35010reL6.v tokoe:valid" result="pass"/><test-case name="35011reL10 tokoe:valid" result="pass"/><test-case name="35012reL10.v tokoe:valid" result="pass"/><test-case name="35013reL11 tokoe:valid" result="pass"/><test-case name="35014reL11.v tokoe:valid" result="pass"/><test-case name="35015reL12 tokoe:valid" result="pass"/><test-case name="35016reL12.v tokoe:valid" result="pass"/><test-case name="35017reL13 tokoe:valid" result="pass"/><test-case name="35018reL13.v tokoe:valid" result="pass"/><test-case name="35019reL14 tokoe:valid" result="pass"/><test-case name="35020reL14.v tokoe:valid" result="pass"/><test-case name="35021reL15 tokoe:valid" result="pass"/><test-case name="35022reL15.v tokoe:valid" result="pass"/><test-case name="35023reL16 tokoe:valid" result="pass"/><test-case name="35024reL16.v tokoe:valid" result="pass"/><test-case name="35025reL17 tokoe:valid" result="pass"/><test-case name="35026reL17.v tokoe:valid" result="pass"/><test-case name="35027reL18 tokoe:valid" result="pass"/><test-case name="35028reL18.v tokoe:valid" result="pass"/><test-case name="35029reL19 tokoe:valid" result="pass"/><test-case name="35030reL19.v tokoe:valid" result="pass"/><test-case name="35031reL20 tokoe:valid" result="pass"/><test-case name="35032reL20.v tokoe:valid" result="pass"/><test-case name="35033reL21 tokoe:valid" result="pass"/><test-case name="35034reL21.v tokoe:valid" result="pass"/><test-case name="35035reL22 tokoe:valid" result="pass"/><test-case name="35036reL22.v tokoe:valid" result="pass"/><test-case name="35037reL23 tokoe:valid" result="pass"/><test-case name="35038reL23.v tokoe:valid" result="pass"/><test-case name="35039reL24 tokoe:valid" result="pass"/><test-case name="35040reL24.v tokoe:valid" result="pass"/><test-case name="35041reL25 tokoe:valid" result="pass"/><test-case name="35042reL25.v tokoe:valid" result="pass"/><test-case name="35043reL26 tokoe:valid" result="pass"/><test-case name="35044reL26.v tokoe:valid" result="pass"/><test-case name="35045reL27 tokoe:valid" result="pass"/><test-case name="35046reL27.v tokoe:valid" result="pass"/><test-case name="35047reL28 tokoe:valid" result="pass"/><test-case name="35048reL28.v tokoe:valid" result="pass"/><test-case name="35049reL29 tokoe:valid" result="pass"/><test-case name="35050reL29.v tokoe:valid" result="pass"/><test-case name="35051reL30 tokoe:valid" result="pass"/><test-case name="35052reL30.v tokoe:valid" result="pass"/><test-case name="35053reL31 tokoe:valid" result="pass"/><test-case name="35054reL31.v tokoe:valid" result="pass"/><test-case name="35055reL32 tokoe:valid" result="pass"/><test-case name="35056reL32.v tokoe:valid" result="pass"/><test-case name="35057reL33 tokoe:valid" result="pass"/><test-case name="35058reL33.v tokoe:valid" result="pass"/><test-case name="35059reL34 tokoe:valid" result="pass"/><test-case name="35060reL34.v tokoe:valid" result="pass"/><test-case name="35061reL35 tokoe:valid" result="pass"/><test-case name="35062reL35.v tokoe:valid" result="pass"/><test-case name="35063reL36 tokoe:valid" result="pass"/><test-case name="35064reL36.v tokoe:valid" result="pass"/><test-case name="35065reL37 tokoe:valid" result="pass"/><test-case name="35066reL37.v tokoe:valid" result="pass"/><test-case name="35067reL38 tokoe:valid" result="pass"/><test-case name="35068reL38.v tokoe:valid" result="pass"/><test-case name="35069reL39 tokoe:valid" result="pass"/><test-case name="35070reL39.v tokoe:valid" result="pass"/><test-case name="35071reL40 tokoe:valid" result="pass"/><test-case name="35072reL40.v tokoe:valid" result="pass"/><test-case name="35073reL41 tokoe:valid" result="pass"/><test-case name="35074reL41.v tokoe:valid" result="pass"/><test-case name="35075reL42 tokoe:valid" result="pass"/><test-case name="35076reL42.v tokoe:valid" result="pass"/><test-case name="35077reL43 tokoe:valid" result="pass"/><test-case name="35078reL43.v tokoe:valid" result="pass"/><test-case name="35079reL44 tokoe:valid" result="pass"/><test-case name="35080reL44.v tokoe:valid" result="pass"/><test-case name="35081reL45 tokoe:valid" result="pass"/><test-case name="35082reL45.v tokoe:valid" result="pass"/><test-case name="35083reL46 tokoe:valid" result="pass"/><test-case name="35084reL46.v tokoe:valid" result="pass"/><test-case name="35085reL47 tokoe:valid" result="pass"/><test-case name="35086reL47.v tokoe:valid" result="pass"/><test-case name="35087reL48 tokoe:valid" result="pass"/><test-case name="35088reL48.v tokoe:valid" result="pass"/><test-case name="35089reL49 tokoe:valid" result="pass"/><test-case name="35090reL49.v tokoe:valid" result="pass"/><test-case name="35091reL50 tokoe:valid" result="pass"/><test-case name="35092reL50.v tokoe:valid" result="pass"/><test-case name="35093reL51 tokoe:valid" result="pass"/><test-case name="35094reL51.v tokoe:valid" result="pass"/><test-case name="35095reL52 tokoe:valid" result="pass"/><test-case name="35096reL52.v tokoe:valid" result="pass"/><test-case name="35097reL53 tokoe:valid" result="pass"/><test-case name="35098reL53.v tokoe:valid" result="pass"/><test-case name="35099reL54 tokoe:valid" result="pass"/><test-case name="35100reL54.v tokoe:valid" result="pass"/><test-case name="35101reL55 tokoe:valid" result="pass"/><test-case name="35102reL55.v tokoe:valid" result="pass"/><test-case name="35103reL56 tokoe:valid" result="pass"/><test-case name="35104reL56.v tokoe:valid" result="pass"/><test-case name="35105reL57 tokoe:valid" result="pass"/><test-case name="35106reL57.v tokoe:valid" result="pass"/><test-case name="35107reL58 tokoe:valid" result="pass"/><test-case name="35108reL58.v tokoe:valid" result="pass"/><test-case name="35109reL59 tokoe:valid" result="pass"/><test-case name="35110reL59.v tokoe:valid" result="pass"/><test-case name="35111reL60 tokoe:valid" result="pass"/><test-case name="35112reL60.v tokoe:valid" result="pass"/><test-case name="35113reL61 tokoe:valid" result="pass"/><test-case name="35114reL61.v tokoe:valid" result="pass"/><test-case name="35115reL62 tokoe:valid" result="pass"/><test-case name="35116reL62.v tokoe:valid" result="pass"/><test-case name="35117reL63 tokoe:valid" result="pass"/><test-case name="35118reL63.v tokoe:valid" result="pass"/><test-case name="35119reL64 tokoe:valid" result="pass"/><test-case name="35120reL64.v tokoe:valid" result="pass"/><test-case name="35121reL65 tokoe:valid" result="pass"/><test-case name="35122reL65.v tokoe:valid" result="pass"/><test-case name="35123reL66 tokoe:valid" result="pass"/><test-case name="35124reL66.v tokoe:valid" result="pass"/><test-case name="35125reL67 tokoe:valid" result="pass"/><test-case name="35126reL67.v tokoe:valid" result="pass"/><test-case name="35127reL68 tokoe:valid" result="pass"/><test-case name="35128reL68.v tokoe:valid" result="pass"/><test-case name="35129reL69 tokoe:valid" result="pass"/><test-case name="35130reL69.v tokoe:valid" result="pass"/><test-case name="35131reL70 tokoe:valid" result="pass"/><test-case name="35132reL70.v tokoe:valid" result="pass"/><test-case name="35133reL71 tokoe:valid" result="pass"/><test-case name="35134reL71.v tokoe:valid" result="pass"/><test-case name="35135reL72 tokoe:valid" result="pass"/><test-case name="35136reL72.v tokoe:valid" result="pass"/><test-case name="35137reL73 tokoe:valid" result="pass"/><test-case name="35138reL73.v tokoe:valid" result="pass"/><test-case name="35139reL74 tokoe:valid" result="pass"/><test-case name="35140reL74.v tokoe:valid" result="pass"/><test-case name="35141reL78 tokoe:valid" result="pass"/><test-case name="35142reL78.v tokoe:valid" result="pass"/><test-case name="35143reL79 tokoe:valid" result="pass"/><test-case name="35144reL79.v tokoe:valid" result="pass"/><test-case name="35145reL80 tokoe:valid" result="pass"/><test-case name="35146reL80.v tokoe:valid" result="pass"/><test-case name="35147reL81 tokoe:valid" result="pass"/><test-case name="35148reL81.v tokoe:valid" result="pass"/><test-case name="35149reL82 tokoe:valid" result="pass"/><test-case name="35150reL82.v tokoe:valid" result="pass"/><test-case name="35151reL83 tokoe:valid" result="pass"/><test-case name="35152reL83.v tokoe:valid" result="pass"/><test-case name="35153reL84 tokoe:valid" result="pass"/><test-case name="35154reL84.v tokoe:valid" result="pass"/><test-case name="35155reL85 tokoe:valid" result="pass"/><test-case name="35156reL85.v tokoe:valid" result="pass"/><test-case name="35157reL87 tokoe:valid" result="pass"/><test-case name="35158reL87.v tokoe:valid" result="pass"/><test-case name="35159reL88 tokoe:valid" result="pass"/><test-case name="35160reL88.v tokoe:valid" result="pass"/><test-case name="35161reM1 tokoe:valid" result="pass"/><test-case name="35162reM1.i tokoe:invalid" result="pass"/><test-case name="35163reM2 tokoe:valid" result="pass"/><test-case name="35164reM2.i tokoe:invalid" result="pass"/><test-case name="35165reM3 tokoe:valid" result="pass"/><test-case name="35166reM3.i tokoe:invalid" result="pass"/><test-case name="35167reM4 tokoe:valid" result="pass"/><test-case name="35168reM4.i tokoe:invalid" result="pass"/><test-case name="35169reM5 tokoe:valid" result="pass"/><test-case name="35170reM5.i tokoe:invalid" result="pass"/><test-case name="35171reM6 tokoe:valid" result="pass"/><test-case name="35172reM6.i tokoe:invalid" result="pass"/><test-case name="35173reM9 tokoe:valid" result="pass"/><test-case name="35174reM9.i tokoe:invalid" result="pass"/><test-case name="35175reM10 tokoe:valid" result="pass"/><test-case name="35176reM10.i tokoe:invalid" result="pass"/><test-case name="35177reM11 tokoe:valid" result="pass"/><test-case name="35178reM11.i tokoe:invalid" result="pass"/><test-case name="35179reM12 tokoe:valid" result="pass"/><test-case name="35180reM12.i tokoe:invalid" result="pass"/><test-case name="35181reM13 tokoe:valid" result="pass"/><test-case name="35182reM13.i tokoe:invalid" result="pass"/><test-case name="35183reM14 tokoe:valid" result="pass"/><test-case name="35184reM14.i tokoe:invalid" result="pass"/><test-case name="35185reM15 tokoe:valid" result="pass"/><test-case name="35186reM15.i tokoe:invalid" result="pass"/><test-case name="35187reM16 tokoe:valid" result="pass"/><test-case name="35188reM16.i tokoe:invalid" result="pass"/><test-case name="35189reM17 tokoe:valid" result="pass"/><test-case name="35190reM17.i tokoe:invalid" result="pass"/><test-case name="35191reM18 tokoe:valid" result="pass"/><test-case name="35192reM18.i tokoe:invalid" result="pass"/><test-case name="35193reM19 tokoe:valid" result="pass"/><test-case name="35194reM19.i tokoe:invalid" result="pass"/><test-case name="35195reM20 tokoe:valid" result="pass"/><test-case name="35196reM20.i tokoe:invalid" result="pass"/><test-case name="35197reM21 tokoe:valid" result="pass"/><test-case name="35198reM21.i tokoe:invalid" result="pass"/><test-case name="35199reM22 tokoe:valid" result="pass"/><test-case name="35200reM22.i tokoe:invalid" result="pass"/><test-case name="35201reM23 tokoe:valid" result="pass"/><test-case name="35202reM23.i tokoe:invalid" result="pass"/><test-case name="35203reM24 tokoe:valid" result="pass"/><test-case name="35204reM24.i tokoe:invalid" result="pass"/><test-case name="35205reM25 tokoe:valid" result="pass"/><test-case name="35206reM25.i tokoe:invalid" result="pass"/><test-case name="35207reM26 tokoe:valid" result="pass"/><test-case name="35208reM26.i tokoe:invalid" result="pass"/><test-case name="35209reM27 tokoe:valid" result="pass"/><test-case name="35210reM27.i tokoe:invalid" result="pass"/><test-case name="35211reM28 tokoe:valid" result="pass"/><test-case name="35212reM28.i tokoe:invalid" result="pass"/><test-case name="35213reM29 tokoe:valid" result="pass"/><test-case name="35214reM29.i tokoe:invalid" result="pass"/><test-case name="35215reM30 tokoe:valid" result="pass"/><test-case name="35216reM30.i tokoe:invalid" result="pass"/><test-case name="35217reM31 tokoe:valid" result="pass"/><test-case name="35218reM31.i tokoe:invalid" result="pass"/><test-case name="35219reM32 tokoe:valid" result="pass"/><test-case name="35220reM32.i tokoe:invalid" result="pass"/><test-case name="35221reM33 tokoe:valid" result="pass"/><test-case name="35222reM33.i tokoe:invalid" result="pass"/><test-case name="35223reM34 tokoe:valid" result="pass"/><test-case name="35224reM34.i tokoe:invalid" result="pass"/><test-case name="35225reM35 tokoe:valid" result="pass"/><test-case name="35226reM35.i tokoe:invalid" result="pass"/><test-case name="35227reM36 tokoe:valid" result="pass"/><test-case name="35228reM36.i tokoe:invalid" result="pass"/><test-case name="35229reM37 tokoe:valid" result="pass"/><test-case name="35230reM37.i tokoe:invalid" result="pass"/><test-case name="35231reM38 tokoe:valid" result="pass"/><test-case name="35232reM38.i tokoe:invalid" result="pass"/><test-case name="35233reM39 tokoe:valid" result="pass"/><test-case name="35234reM39.i tokoe:invalid" result="pass"/><test-case name="35235reM40 tokoe:valid" result="pass"/><test-case name="35236reM40.i tokoe:invalid" result="pass"/><test-case name="35237reM41 tokoe:valid" result="pass"/><test-case name="35238reM41.i tokoe:invalid" result="pass"/><test-case name="35239reM42 tokoe:valid" result="pass"/><test-case name="35240reM42.i tokoe:invalid" result="pass"/><test-case name="35241reM43 tokoe:valid" result="pass"/><test-case name="35242reM43.i tokoe:invalid" result="pass"/><test-case name="35243reM44 tokoe:valid" result="pass"/><test-case name="35244reM44.i tokoe:invalid" result="pass"/><test-case name="35245reM45 tokoe:valid" result="pass"/><test-case name="35246reM45.i tokoe:invalid" result="pass"/><test-case name="35247reM46 tokoe:valid" result="pass"/><test-case name="35248reM46.i tokoe:invalid" result="pass"/><test-case name="35249reM47 tokoe:valid" result="pass"/><test-case name="35250reM47.i tokoe:invalid" result="pass"/><test-case name="35251reM48 tokoe:valid" result="pass"/><test-case name="35252reM48.i tokoe:invalid" result="pass"/><test-case name="35253reM49 tokoe:valid" result="pass"/><test-case name="35254reM49.i tokoe:invalid" result="pass"/><test-case name="35255reM50 tokoe:valid" result="pass"/><test-case name="35256reM50.i tokoe:invalid" result="pass"/><test-case name="35257reM51 tokoe:valid" result="pass"/><test-case name="35258reM51.i tokoe:invalid" result="pass"/><test-case name="35259reM52 tokoe:valid" result="pass"/><test-case name="35260reM52.i tokoe:invalid" result="pass"/><test-case name="35261reM53 tokoe:valid" result="pass"/><test-case name="35262reM53.i tokoe:invalid" result="pass"/><test-case name="35263reM54 tokoe:valid" result="pass"/><test-case name="35264reM54.i tokoe:invalid" result="pass"/><test-case name="35265reM55 tokoe:valid" result="pass"/><test-case name="35266reM55.i tokoe:invalid" result="pass"/><test-case name="35267reM56 tokoe:valid" result="pass"/><test-case name="35268reM56.i tokoe:invalid" result="pass"/><test-case name="35269reM57 tokoe:valid" result="pass"/><test-case name="35270reM57.i tokoe:invalid" result="pass"/><test-case name="35271reM58 tokoe:valid" result="pass"/><test-case name="35272reM58.i tokoe:invalid" result="pass"/><test-case name="35273reM59 tokoe:valid" result="pass"/><test-case name="35274reM59.i tokoe:invalid" result="pass"/><test-case name="35275reM60 tokoe:valid" result="pass"/><test-case name="35276reM60.i tokoe:invalid" result="pass"/><test-case name="35277reM61 tokoe:valid" result="pass"/><test-case name="35278reM61.i tokoe:invalid" result="pass"/><test-case name="35279reM62 tokoe:valid" result="pass"/><test-case name="35280reM62.i tokoe:invalid" result="pass"/><test-case name="35281reM63 tokoe:valid" result="pass"/><test-case name="35282reM63.i tokoe:invalid" result="pass"/><test-case name="35283reM64 tokoe:valid" result="pass"/><test-case name="35284reM64.i tokoe:invalid" result="pass"/><test-case name="35285reM65 tokoe:valid" result="pass"/><test-case name="35286reM65.i tokoe:invalid" result="pass"/><test-case name="35287reM66 tokoe:valid" result="pass"/><test-case name="35288reM66.i tokoe:invalid" result="pass"/><test-case name="35289reM67 tokoe:valid" result="pass"/><test-case name="35290reM67.i tokoe:invalid" result="pass"/><test-case name="35291reM68 tokoe:valid" result="pass"/><test-case name="35292reM68.i tokoe:invalid" result="pass"/><test-case name="35293reM69 tokoe:valid" result="pass"/><test-case name="35294reM69.i tokoe:invalid" result="pass"/><test-case name="35295reM70 tokoe:valid" result="pass"/><test-case name="35296reM70.i tokoe:invalid" result="pass"/><test-case name="35297reM71 tokoe:valid" result="pass"/><test-case name="35298reM71.i tokoe:invalid" result="pass"/><test-case name="35299reM72 tokoe:valid" result="pass"/><test-case name="35300reM72.i tokoe:invalid" result="pass"/><test-case name="35301reM73 tokoe:valid" result="pass"/><test-case name="35302reM73.i tokoe:invalid" result="pass"/><test-case name="35303reM77 tokoe:valid" result="fail"/><test-case name="35304reM77.i tokoe:invalid" result="pass"/><test-case name="35305reM78 tokoe:valid" result="pass"/><test-case name="35306reM78.i tokoe:invalid" result="pass"/><test-case name="35307reM79 tokoe:valid" result="pass"/><test-case name="35308reM79.i tokoe:invalid" result="pass"/><test-case name="35309reM80 tokoe:valid" result="pass"/><test-case name="35310reM80.i tokoe:invalid" result="pass"/><test-case name="35311reM81 tokoe:valid" result="pass"/><test-case name="35312reM81.i tokoe:invalid" result="pass"/><test-case name="35313reM82 tokoe:valid" result="pass"/><test-case name="35314reM82.i tokoe:invalid" result="pass"/><test-case name="35315reM83 tokoe:valid" result="pass"/><test-case name="35316reM83.i tokoe:invalid" result="pass"/><test-case name="35317reM84 tokoe:valid" result="pass"/><test-case name="35318reM84.i tokoe:invalid" result="pass"/><test-case name="35319reM86 tokoe:valid" result="pass"/><test-case name="35320reM86.i tokoe:invalid" result="pass"/><test-case name="35321reM87 tokoe:valid" result="pass"/><test-case name="35322reM87.i tokoe:invalid" result="pass"/><test-case name="35323reM88 tokoe:valid" result="pass"/><test-case name="35324reM88.i tokoe:invalid" result="pass"/><test-case name="35325reM89 tokoe:valid" result="pass"/><test-case name="35326reM89.i tokoe:invalid" result="pass"/><test-case name="35327reM90 tokoe:valid" result="pass"/><test-case name="35328reM90.i tokoe:invalid" result="pass"/><test-case name="35329reM91 tokoe:valid" result="pass"/><test-case name="35330reM91.i tokoe:invalid" result="pass"/><test-case name="35331reM92 tokoe:valid" result="pass"/><test-case name="35332reM92.i tokoe:invalid" result="pass"/><test-case name="35333reM93 tokoe:valid" result="pass"/><test-case name="35334reM93.i tokoe:invalid" result="pass"/><test-case name="35335reM94 tokoe:valid" result="pass"/><test-case name="35336reM94.i tokoe:invalid" result="pass"/><test-case name="35337reM95 tokoe:valid" result="pass"/><test-case name="35338reM95.i tokoe:invalid" result="pass"/><test-case name="35339reM96 tokoe:valid" result="pass"/><test-case name="35340reM96.i tokoe:invalid" result="pass"/><test-case name="35341reM97 tokoe:valid" result="pass"/><test-case name="35342reM97.i tokoe:invalid" result="pass"/><test-case name="35343reM99 tokoe:valid" result="pass"/><test-case name="35344reM99.i tokoe:invalid" result="pass"/><test-case name="35345reN1 tokoe:valid" result="pass"/><test-case name="35346reN1.i tokoe:invalid" result="pass"/><test-case name="35347reN2 tokoe:valid" result="pass"/><test-case name="35348reN2.i tokoe:invalid" result="pass"/><test-case name="35349reN3 tokoe:valid" result="pass"/><test-case name="35350reN3.i tokoe:invalid" result="pass"/><test-case name="35351reN4 tokoe:valid" result="pass"/><test-case name="35352reN4.i tokoe:invalid" result="pass"/><test-case name="35353reN5 tokoe:valid" result="pass"/><test-case name="35354reN5.i tokoe:invalid" result="pass"/><test-case name="35355reN6 tokoe:valid" result="pass"/><test-case name="35356reN6.i tokoe:invalid" result="pass"/><test-case name="35357reN8 tokoe:valid" result="pass"/><test-case name="35358reN8.i tokoe:invalid" result="pass"/><test-case name="35359reN9 tokoe:valid" result="pass"/><test-case name="35360reN9.i tokoe:invalid" result="pass"/><test-case name="35361reN10 tokoe:valid" result="pass"/><test-case name="35362reN10.i tokoe:invalid" result="pass"/><test-case name="35363reN11 tokoe:valid" result="pass"/><test-case name="35364reN11.i tokoe:invalid" result="pass"/><test-case name="35365reN12 tokoe:valid" result="pass"/><test-case name="35366reN12.i tokoe:invalid" result="pass"/><test-case name="35367reN13 tokoe:valid" result="pass"/><test-case name="35368reN13.i tokoe:invalid" result="pass"/><test-case name="35369reN14 tokoe:valid" result="pass"/><test-case name="35370reN14.i tokoe:invalid" result="pass"/><test-case name="35371reN15 tokoe:valid" result="pass"/><test-case name="35372reN15.i tokoe:invalid" result="pass"/><test-case name="35373reN16 tokoe:valid" result="pass"/><test-case name="35374reN16.i tokoe:invalid" result="pass"/><test-case name="35375reN17 tokoe:valid" result="pass"/><test-case name="35376reN17.i tokoe:invalid" result="pass"/><test-case name="35377reN18 tokoe:valid" result="pass"/><test-case name="35378reN18.i tokoe:invalid" result="pass"/><test-case name="35379reN19 tokoe:valid" result="pass"/><test-case name="35380reN19.i tokoe:invalid" result="pass"/><test-case name="35381reN20 tokoe:valid" result="pass"/><test-case name="35382reN20.i tokoe:invalid" result="pass"/><test-case name="35383reN21 tokoe:valid" result="pass"/><test-case name="35384reN21.i tokoe:invalid" result="pass"/><test-case name="35385reN22 tokoe:valid" result="pass"/><test-case name="35386reN22.i tokoe:invalid" result="pass"/><test-case name="35387reN23 tokoe:valid" result="pass"/><test-case name="35388reN23.i tokoe:invalid" result="pass"/><test-case name="35389reN24 tokoe:valid" result="pass"/><test-case name="35390reN24.i tokoe:invalid" result="pass"/><test-case name="35391reN25 tokoe:valid" result="pass"/><test-case name="35392reN25.i tokoe:invalid" result="pass"/><test-case name="35393reN26 tokoe:valid" result="pass"/><test-case name="35394reN26.i tokoe:invalid" result="pass"/><test-case name="35395reN27 tokoe:valid" result="pass"/><test-case name="35396reN27.i tokoe:invalid" result="pass"/><test-case name="35397reN28 tokoe:valid" result="pass"/><test-case name="35398reN28.i tokoe:invalid" result="pass"/><test-case name="35399reN29 tokoe:valid" result="pass"/><test-case name="35400reN29.i tokoe:invalid" result="pass"/><test-case name="35401reN30 tokoe:valid" result="pass"/><test-case name="35402reN30.i tokoe:invalid" result="pass"/><test-case name="35403reN31 tokoe:valid" result="pass"/><test-case name="35404reN31.i tokoe:invalid" result="pass"/><test-case name="35405reN32 tokoe:valid" result="pass"/><test-case name="35406reN32.i tokoe:invalid" result="pass"/><test-case name="35407reN33 tokoe:valid" result="pass"/><test-case name="35408reN33.i tokoe:invalid" result="pass"/><test-case name="35409reN34 tokoe:valid" result="pass"/><test-case name="35410reN34.i tokoe:invalid" result="pass"/><test-case name="35411reN35 tokoe:valid" result="pass"/><test-case name="35412reN35.i tokoe:invalid" result="pass"/><test-case name="35413reN36 tokoe:valid" result="pass"/><test-case name="35414reN36.i tokoe:invalid" result="pass"/><test-case name="35415reN37 tokoe:valid" result="pass"/><test-case name="35416reN37.i tokoe:invalid" result="pass"/><test-case name="35417reN38 tokoe:valid" result="pass"/><test-case name="35418reN38.i tokoe:invalid" result="pass"/><test-case name="35419reN39 tokoe:valid" result="pass"/><test-case name="35420reN39.i tokoe:invalid" result="pass"/><test-case name="35421reN40 tokoe:valid" result="pass"/><test-case name="35422reN40.i tokoe:invalid" result="pass"/><test-case name="35423reN41 tokoe:valid" result="pass"/><test-case name="35424reN41.i tokoe:invalid" result="pass"/><test-case name="35425reN42 tokoe:valid" result="pass"/><test-case name="35426reN42.i tokoe:invalid" result="pass"/><test-case name="35427reN43 tokoe:valid" result="pass"/><test-case name="35428reN43.i tokoe:invalid" result="pass"/><test-case name="35429reN44 tokoe:valid" result="pass"/><test-case name="35430reN44.i tokoe:invalid" result="pass"/><test-case name="35431reN45 tokoe:valid" result="pass"/><test-case name="35432reN45.i tokoe:invalid" result="pass"/><test-case name="35433reN46 tokoe:valid" result="pass"/><test-case name="35434reN46.i tokoe:invalid" result="pass"/><test-case name="35435reN47 tokoe:valid" result="pass"/><test-case name="35436reN47.i tokoe:invalid" result="pass"/><test-case name="35437reN48 tokoe:valid" result="pass"/><test-case name="35438reN48.i tokoe:invalid" result="pass"/><test-case name="35439reN49 tokoe:valid" result="pass"/><test-case name="35440reN49.i tokoe:invalid" result="pass"/><test-case name="35441reN50 tokoe:valid" result="pass"/><test-case name="35442reN50.i tokoe:invalid" result="pass"/><test-case name="35443reN51 tokoe:valid" result="pass"/><test-case name="35444reN51.i tokoe:invalid" result="pass"/><test-case name="35445reN52 tokoe:valid" result="pass"/><test-case name="35446reN52.i tokoe:invalid" result="pass"/><test-case name="35447reN53 tokoe:valid" result="pass"/><test-case name="35448reN53.i tokoe:invalid" result="pass"/><test-case name="35449reN54 tokoe:valid" result="pass"/><test-case name="35450reN54.i tokoe:invalid" result="pass"/><test-case name="35451reN55 tokoe:valid" result="pass"/><test-case name="35452reN55.i tokoe:invalid" result="pass"/><test-case name="35453reN56 tokoe:valid" result="pass"/><test-case name="35454reN56.i tokoe:invalid" result="pass"/><test-case name="35455reN57 tokoe:valid" result="pass"/><test-case name="35456reN57.i tokoe:invalid" result="pass"/><test-case name="35457reN58 tokoe:valid" result="pass"/><test-case name="35458reN58.i tokoe:invalid" result="pass"/><test-case name="35459reN59 tokoe:valid" result="pass"/><test-case name="35460reN59.i tokoe:invalid" result="pass"/><test-case name="35461reN60 tokoe:valid" result="pass"/><test-case name="35462reN60.i tokoe:invalid" result="pass"/><test-case name="35463reN61 tokoe:valid" result="pass"/><test-case name="35464reN61.i tokoe:invalid" result="pass"/><test-case name="35465reN62 tokoe:valid" result="pass"/><test-case name="35466reN62.i tokoe:invalid" result="pass"/><test-case name="35467reN63 tokoe:valid" result="pass"/><test-case name="35468reN63.i tokoe:invalid" result="pass"/><test-case name="35469reN64 tokoe:valid" result="pass"/><test-case name="35470reN64.i tokoe:invalid" result="pass"/><test-case name="35471reN65 tokoe:valid" result="pass"/><test-case name="35472reN65.i tokoe:invalid" result="pass"/><test-case name="35473reN66 tokoe:valid" result="pass"/><test-case name="35474reN66.i tokoe:invalid" result="pass"/><test-case name="35475reN67 tokoe:valid" result="pass"/><test-case name="35476reN67.i tokoe:invalid" result="pass"/><test-case name="35477reN68 tokoe:valid" result="pass"/><test-case name="35478reN68.i tokoe:invalid" result="pass"/><test-case name="35479reN69 tokoe:valid" result="pass"/><test-case name="35480reN69.i tokoe:invalid" result="pass"/><test-case name="35481reN70 tokoe:valid" result="pass"/><test-case name="35482reN70.i tokoe:invalid" result="pass"/><test-case name="35483reN71 tokoe:valid" result="pass"/><test-case name="35484reN71.i tokoe:invalid" result="pass"/><test-case name="35485reN72 tokoe:valid" result="pass"/><test-case name="35486reN72.i tokoe:invalid" result="pass"/><test-case name="35487reN73 tokoe:valid" result="pass"/><test-case name="35488reN73.i tokoe:invalid" result="pass"/><test-case name="35489reN74 tokoe:valid" result="pass"/><test-case name="35490reN74.i tokoe:invalid" result="pass"/><test-case name="35491reN75 tokoe:valid" result="fail"/><test-case name="35492reN75.i tokoe:invalid" result="pass"/><test-case name="35493reN79 tokoe:valid" result="pass"/><test-case name="35494reN79.i tokoe:invalid" result="pass"/><test-case name="35495reN80 tokoe:valid" result="pass"/><test-case name="35496reN80.i tokoe:invalid" result="pass"/><test-case name="35497reN81 tokoe:valid" result="pass"/><test-case name="35498reN81.i tokoe:invalid" result="pass"/><test-case name="35499reN82 tokoe:valid" result="pass"/><test-case name="35500reN82.i tokoe:invalid" result="pass"/><test-case name="35501reN83 tokoe:valid" result="pass"/><test-case name="35502reN83.i tokoe:invalid" result="pass"/><test-case name="35503reN84 tokoe:valid" result="pass"/><test-case name="35504reN84.i tokoe:invalid" result="pass"/><test-case name="35505reN85 tokoe:valid" result="pass"/><test-case name="35506reN85.i tokoe:invalid" result="pass"/><test-case name="35507reN86 tokoe:valid" result="pass"/><test-case name="35508reN86.i tokoe:invalid" result="pass"/><test-case name="35509reN87 tokoe:valid" result="pass"/><test-case name="35510reN87.i tokoe:invalid" result="pass"/><test-case name="35511reN88 tokoe:valid" result="pass"/><test-case name="35512reN88.i tokoe:invalid" result="pass"/><test-case name="35513reN89 tokoe:valid" result="pass"/><test-case name="35514reN89.i tokoe:invalid" result="pass"/><test-case name="35515reN90 tokoe:valid" result="pass"/><test-case name="35516reN90.i tokoe:invalid" result="pass"/><test-case name="35517reN91 tokoe:valid" result="pass"/><test-case name="35518reN91.i tokoe:invalid" result="pass"/><test-case name="35519reN92 tokoe:valid" result="pass"/><test-case name="35520reN92.i tokoe:invalid" result="pass"/><test-case name="35521reN93 tokoe:valid" result="pass"/><test-case name="35522reN93.i tokoe:invalid" result="pass"/><test-case name="35523reN94 tokoe:valid" result="pass"/><test-case name="35524reN94.i tokoe:invalid" result="pass"/><test-case name="35525reN95 tokoe:valid" result="pass"/><test-case name="35526reN95.i tokoe:invalid" result="pass"/><test-case name="35527reN96 tokoe:valid" result="pass"/><test-case name="35528reN96.i tokoe:invalid" result="pass"/><test-case name="35529reN97 tokoe:valid" result="pass"/><test-case name="35530reN97.i tokoe:invalid" result="pass"/><test-case name="35531reN98 tokoe:valid" result="pass"/><test-case name="35532reN98.i tokoe:invalid" result="pass"/><test-case name="35533reO1 tokoe:valid" result="pass"/><test-case name="35534reO1.v tokoe:valid" result="pass"/><test-case name="35535reO2 tokoe:valid" result="pass"/><test-case name="35536reO2.v tokoe:valid" result="pass"/><test-case name="35537reO3 tokoe:valid" result="pass"/><test-case name="35538reO3.i tokoe:invalid" result="pass"/><test-case name="35539reO4 tokoe:valid" result="pass"/><test-case name="35540reO4.i tokoe:invalid" result="pass"/><test-case name="35541reP1 tokoe:valid" result="pass"/><test-case name="35542reP1.v tokoe:valid" result="pass"/><test-case name="35543reP2 tokoe:valid" result="pass"/><test-case name="35544reP2.v tokoe:valid" result="pass"/><test-case name="35545reP3 tokoe:valid" result="pass"/><test-case name="35546reP3.v tokoe:valid" result="pass"/><test-case name="35547reP4 tokoe:valid" result="pass"/><test-case name="35548reP4.v tokoe:valid" result="pass"/><test-case name="35549reP5 tokoe:valid" result="pass"/><test-case name="35550reP5.i tokoe:invalid" result="pass"/><test-case name="35551reP6 tokoe:valid" result="pass"/><test-case name="35552reP6.v tokoe:valid" result="pass"/><test-case name="35553reP7 tokoe:valid" result="pass"/><test-case name="35554reP7.v tokoe:valid" result="pass"/><test-case name="35555reP8 tokoe:valid" result="pass"/><test-case name="35556reP8.i tokoe:invalid" result="pass"/><test-case name="35557reP9 tokoe:valid" result="pass"/><test-case name="35558reP9.i tokoe:invalid" result="pass"/><test-case name="35559reP10 tokoe:valid" result="pass"/><test-case name="35560reP10.i tokoe:invalid" result="pass"/><test-case name="35561reP11 tokoe:valid" result="pass"/><test-case name="35562reP11.v tokoe:valid" result="pass"/><test-case name="35563reP12 tokoe:valid" result="pass"/><test-case name="35564reP12.v tokoe:valid" result="pass"/><test-case name="35565reP13 tokoe:valid" result="pass"/><test-case name="35566reP13.v tokoe:valid" result="pass"/><test-case name="35567reP14 tokoe:valid" result="pass"/><test-case name="35568reP14.i tokoe:invalid" result="pass"/><test-case name="35569reP15 tokoe:valid" result="pass"/><test-case name="35570reP15.i tokoe:invalid" result="pass"/><test-case name="35571reP16 tokoe:valid" result="pass"/><test-case name="35572reP16.i tokoe:invalid" result="pass"/><test-case name="35573reP17 tokoe:valid" result="pass"/><test-case name="35574reP17.i tokoe:invalid" result="pass"/><test-case name="35575reP18 tokoe:valid" result="pass"/><test-case name="35576reP18.v tokoe:valid" result="pass"/><test-case name="35577reP19 tokoe:valid" result="pass"/><test-case name="35578reP19.i tokoe:invalid" result="pass"/><test-case name="35579reP20 tokoe:valid" result="pass"/><test-case name="35580reP20.i tokoe:invalid" result="pass"/><test-case name="35581reP21 tokoe:valid" result="pass"/><test-case name="35582reP21.i tokoe:invalid" result="pass"/><test-case name="35583reP22 tokoe:valid" result="pass"/><test-case name="35584reP22.i tokoe:invalid" result="pass"/><test-case name="35585reP23 tokoe:valid" result="pass"/><test-case name="35586reP23.i tokoe:invalid" result="pass"/><test-case name="35587reP24 tokoe:valid" result="pass"/><test-case name="35588reP24.i tokoe:invalid" result="pass"/><test-case name="35589reP25 tokoe:valid" result="pass"/><test-case name="35590reP25.v tokoe:valid" result="pass"/><test-case name="35591reP26 tokoe:valid" result="pass"/><test-case name="35592reP26.v tokoe:valid" result="pass"/><test-case name="35593reP27 tokoe:valid" result="pass"/><test-case name="35594reP27.v tokoe:valid" result="pass"/><test-case name="35595reP28 tokoe:valid" result="pass"/><test-case name="35596reP28.i tokoe:invalid" result="pass"/><test-case name="35597reP29 tokoe:valid" result="pass"/><test-case name="35598reP29.i tokoe:invalid" result="pass"/><test-case name="35599reP30 tokoe:valid" result="pass"/><test-case name="35600reP30.i tokoe:invalid" result="pass"/><test-case name="35601reQ1 tokoe:valid" result="pass"/><test-case name="35602reQ1.v tokoe:valid" result="pass"/><test-case name="35603reQ2 tokoe:valid" result="pass"/><test-case name="35604reQ2.v tokoe:valid" result="pass"/><test-case name="35605reQ3 tokoe:valid" result="pass"/><test-case name="35606reQ3.v tokoe:valid" result="pass"/><test-case name="35607reQ4 tokoe:valid" result="pass"/><test-case name="35608reQ4.i tokoe:invalid" result="pass"/><test-case name="35609reQ5 tokoe:valid" result="pass"/><test-case name="35610reQ5.i tokoe:invalid" result="pass"/><test-case name="35611reQ6 tokoe:valid" result="pass"/><test-case name="35612reQ6.i tokoe:invalid" result="pass"/><test-case name="35613reQ7 tokoe:valid" result="pass"/><test-case name="35614reQ7.i tokoe:invalid" result="pass"/><test-case name="35615reQ8 tokoe:valid" result="pass"/><test-case name="35616reQ8.v tokoe:valid" result="pass"/><test-case name="35617reQ9 tokoe:valid" result="pass"/><test-case name="35618reQ9.i tokoe:invalid" result="pass"/><test-case name="35619reQ10 tokoe:valid" result="pass"/><test-case name="35620reQ10.v tokoe:valid" result="pass"/><test-case name="35621reQ11 tokoe:valid" result="pass"/><test-case name="35622reQ11.i tokoe:invalid" result="pass"/><test-case name="35623reQ12 tokoe:valid" result="pass"/><test-case name="35624reQ12.v tokoe:valid" result="pass"/><test-case name="35625reQ13 tokoe:valid" result="pass"/><test-case name="35626reQ13.i tokoe:invalid" result="fail"/><test-case name="35627reQ14 tokoe:valid" result="pass"/><test-case name="35628reQ14.i tokoe:invalid" result="pass"/><test-case name="35629reQ15 tokoe:valid" result="pass"/><test-case name="35630reQ15.i tokoe:invalid" result="pass"/><test-case name="35631reQ16 tokoe:valid" result="pass"/><test-case name="35632reQ16.i tokoe:invalid" result="pass"/><test-case name="35633reQ17 tokoe:valid" result="pass"/><test-case name="35634reQ17.v tokoe:valid" result="pass"/><test-case name="35635reQ18 tokoe:valid" result="pass"/><test-case name="35636reQ18.v tokoe:valid" result="pass"/><test-case name="35637reQ19 tokoe:valid" result="pass"/><test-case name="35638reQ19.v tokoe:valid" result="pass"/><test-case name="35639reQ20 tokoe:valid" result="pass"/><test-case name="35640reQ20.v tokoe:valid" result="pass"/><test-case name="35641reQ21 tokoe:valid" result="pass"/><test-case name="35642reQ21.v tokoe:valid" result="fail"/><test-case name="35643reQ22 tokoe:valid" result="pass"/><test-case name="35644reQ22.v tokoe:valid" result="fail"/><test-case name="35645reQ23 tokoe:valid" result="pass"/><test-case name="35646reQ23.i tokoe:invalid" result="pass"/><test-case name="35647reQ24 tokoe:valid" result="pass"/><test-case name="35648reQ24.i tokoe:invalid" result="pass"/><test-case name="35649reR1 tokoe:valid" result="pass"/><test-case name="35650reR1.v tokoe:valid" result="pass"/><test-case name="35651reR2 tokoe:valid" result="pass"/><test-case name="35652reR2.v tokoe:valid" result="pass"/><test-case name="35653reR3 tokoe:valid" result="pass"/><test-case name="35654reR3.v tokoe:valid" result="pass"/><test-case name="35655reR4 tokoe:valid" result="pass"/><test-case name="35656reR4.i tokoe:invalid" result="pass"/><test-case name="35657reR5 tokoe:valid" result="pass"/><test-case name="35658reR5.i tokoe:invalid" result="pass"/><test-case name="35659reR6 tokoe:valid" result="pass"/><test-case name="35660reR6.i tokoe:invalid" result="pass"/><test-case name="35661reR7 tokoe:valid" result="pass"/><test-case name="35662reR7.i tokoe:invalid" result="pass"/><test-case name="35663reR8 tokoe:valid" result="pass"/><test-case name="35664reR8.v tokoe:valid" result="pass"/><test-case name="35665reR9 tokoe:valid" result="pass"/><test-case name="35666reR9.v tokoe:valid" result="pass"/><test-case name="35667reR10 tokoe:valid" result="pass"/><test-case name="35668reR10.i tokoe:invalid" result="pass"/><test-case name="35669reR11 tokoe:valid" result="pass"/><test-case name="35670reR11.i tokoe:invalid" result="pass"/><test-case name="35671reR12 tokoe:valid" result="pass"/><test-case name="35672reR12.v tokoe:valid" result="pass"/><test-case name="35673reR13 tokoe:valid" result="pass"/><test-case name="35674reR13.v tokoe:valid" result="pass"/><test-case name="35675reR14 tokoe:valid" result="pass"/><test-case name="35676reR14.v tokoe:valid" result="pass"/><test-case name="35677reR15 tokoe:valid" result="pass"/><test-case name="35678reR15.i tokoe:invalid" result="pass"/><test-case name="35679reR16 tokoe:valid" result="pass"/><test-case name="35680reR16.i tokoe:invalid" result="pass"/><test-case name="35681reR17 tokoe:valid" result="pass"/><test-case name="35682reR17.i tokoe:invalid" result="pass"/><test-case name="35683reR18 tokoe:valid" result="pass"/><test-case name="35684reR18.i tokoe:invalid" result="pass"/><test-case name="35685reR19 tokoe:valid" result="pass"/><test-case name="35686reR19.v tokoe:valid" result="pass"/><test-case name="35687reR20 tokoe:valid" result="pass"/><test-case name="35688reR20.v tokoe:valid" result="pass"/><test-case name="35689reR21 tokoe:valid" result="pass"/><test-case name="35690reR21.v tokoe:valid" result="pass"/><test-case name="35691reR22 tokoe:valid" result="pass"/><test-case name="35692reR22.v tokoe:valid" result="pass"/><test-case name="35693reR23 tokoe:valid" result="pass"/><test-case name="35694reR23.i tokoe:invalid" result="pass"/><test-case name="35695reR24 tokoe:valid" result="pass"/><test-case name="35696reR24.v tokoe:valid" result="pass"/><test-case name="35697reR25 tokoe:valid" result="pass"/><test-case name="35698reR25.v tokoe:valid" result="pass"/><test-case name="35699reR26 tokoe:valid" result="pass"/><test-case name="35700reR26.i tokoe:invalid" result="pass"/><test-case name="35701reR27 tokoe:valid" result="pass"/><test-case name="35702reR27.i tokoe:invalid" result="pass"/><test-case name="35703reR28 tokoe:valid" result="pass"/><test-case name="35704reR28.i tokoe:invalid" result="pass"/><test-case name="35705reR29 tokoe:valid" result="pass"/><test-case name="35706reR29.i tokoe:invalid" result="pass"/><test-case name="35707reS1 tokoe:valid" result="pass"/><test-case name="35708reS1.v tokoe:valid" result="pass"/><test-case name="35709reS3 tokoe:valid" result="pass"/><test-case name="35710reS3.v tokoe:valid" result="pass"/><test-case name="35711reS5 tokoe:valid" result="pass"/><test-case name="35712reS5.v tokoe:valid" result="pass"/><test-case name="35713reS6 tokoe:valid" result="pass"/><test-case name="35714reS6.v tokoe:valid" result="pass"/><test-case name="35715reS7 tokoe:valid" result="pass"/><test-case name="35716reS7.v tokoe:valid" result="pass"/><test-case name="35717reS8 tokoe:valid" result="pass"/><test-case name="35718reS8.v tokoe:valid" result="pass"/><test-case name="35719reS9 tokoe:valid" result="pass"/><test-case name="35720reS9.v tokoe:valid" result="pass"/><test-case name="35721reS10 tokoe:valid" result="pass"/><test-case name="35722reS10.v tokoe:valid" result="pass"/><test-case name="35723reS11 tokoe:valid" result="pass"/><test-case name="35724reS11.v tokoe:valid" result="pass"/><test-case name="35725reS12 tokoe:valid" result="pass"/><test-case name="35726reS12.v tokoe:valid" result="pass"/><test-case name="35727reS13 tokoe:valid" result="pass"/><test-case name="35728reS13.v tokoe:valid" result="pass"/><test-case name="35729reS14 tokoe:valid" result="pass"/><test-case name="35730reS14.v tokoe:valid" result="pass"/><test-case name="35731reS15 tokoe:valid" result="pass"/><test-case name="35732reS15.v tokoe:valid" result="pass"/><test-case name="35733reS16 tokoe:valid" result="pass"/><test-case name="35734reS16.v tokoe:valid" result="pass"/><test-case name="35735reS17 tokoe:valid" result="pass"/><test-case name="35736reS17.v tokoe:valid" result="fail"/><test-case name="35737reS18 tokoe:valid" result="pass"/><test-case name="35738reS18.v tokoe:valid" result="pass"/><test-case name="35739reS19 tokoe:valid" result="pass"/><test-case name="35740reS19.v tokoe:valid" result="pass"/><test-case name="35741reS20 tokoe:valid" result="pass"/><test-case name="35742reS20.v tokoe:valid" result="pass"/><test-case name="35743reS22 tokoe:valid" result="pass"/><test-case name="35744reS22.v tokoe:valid" result="pass"/><test-case name="35745reS23 tokoe:valid" result="pass"/><test-case name="35746reS23.v tokoe:valid" result="pass"/><test-case name="35747reS24 tokoe:valid" result="pass"/><test-case name="35748reS24.v tokoe:valid" result="pass"/><test-case name="35749reS25 tokoe:valid" result="pass"/><test-case name="35750reS25.v tokoe:valid" result="pass"/><test-case name="35751reS26 tokoe:valid" result="pass"/><test-case name="35752reS26.v tokoe:valid" result="pass"/><test-case name="35753reS27 tokoe:valid" result="pass"/><test-case name="35754reS27.v tokoe:valid" result="pass"/><test-case name="35755reS28 tokoe:valid" result="pass"/><test-case name="35756reS28.v tokoe:valid" result="pass"/><test-case name="35757reS29 tokoe:valid" result="pass"/><test-case name="35758reS29.v tokoe:valid" result="pass"/><test-case name="35759reS30 tokoe:valid" result="pass"/><test-case name="35760reS30.v tokoe:valid" result="pass"/><test-case name="35761reS31 tokoe:valid" result="pass"/><test-case name="35762reS31.v tokoe:valid" result="pass"/><test-case name="35763reS32 tokoe:valid" result="pass"/><test-case name="35764reS32.v tokoe:valid" result="pass"/><test-case name="35765reS33 tokoe:valid" result="pass"/><test-case name="35766reS33.v tokoe:valid" result="pass"/><test-case name="35767reS34 tokoe:valid" result="pass"/><test-case name="35768reS34.v tokoe:valid" result="pass"/><test-case name="35769reS35 tokoe:valid" result="pass"/><test-case name="35770reS35.v tokoe:valid" result="pass"/><test-case name="35771reS36 tokoe:valid" result="pass"/><test-case name="35772reS36.v tokoe:valid" result="pass"/><test-case name="35773reS37 tokoe:valid" result="pass"/><test-case name="35774reS37.v tokoe:valid" result="pass"/><test-case name="35775reS38 tokoe:valid" result="pass"/><test-case name="35776reS38.v tokoe:valid" result="fail"/><test-case name="35777reS39 tokoe:valid" result="pass"/><test-case name="35778reS39.v tokoe:valid" result="pass"/><test-case name="35779reS40 tokoe:valid" result="pass"/><test-case name="35780reS40.v tokoe:valid" result="pass"/><test-case name="35781reS41 tokoe:valid" result="pass"/><test-case name="35782reS41.v tokoe:valid" result="pass"/><test-case name="35783reS43 tokoe:valid" result="pass"/><test-case name="35784reS43.i tokoe:invalid" result="pass"/><test-case name="35785reS44 tokoe:valid" result="pass"/><test-case name="35786reS44.i tokoe:invalid" result="pass"/><test-case name="35787reS45 tokoe:valid" result="pass"/><test-case name="35788reS45.i tokoe:invalid" result="pass"/><test-case name="35789reS46 tokoe:valid" result="pass"/><test-case name="35790reS46.i tokoe:invalid" result="pass"/><test-case name="35791reS47 tokoe:valid" result="pass"/><test-case name="35792reS47.i tokoe:invalid" result="pass"/><test-case name="35793reS48 tokoe:valid" result="pass"/><test-case name="35794reS48.i tokoe:invalid" result="pass"/><test-case name="35795reS49 tokoe:valid" result="pass"/><test-case name="35796reS49.i tokoe:invalid" result="pass"/><test-case name="35797reS50 tokoe:valid" result="pass"/><test-case name="35798reS50.i tokoe:invalid" result="pass"/><test-case name="35799reS51 tokoe:valid" result="pass"/><test-case name="35800reS51.i tokoe:invalid" result="fail"/><test-case name="35801reS52 tokoe:valid" result="pass"/><test-case name="35802reS52.i tokoe:invalid" result="pass"/><test-case name="35803reS53 tokoe:valid" result="pass"/><test-case name="35804reS53.i tokoe:invalid" result="pass"/><test-case name="35805reS54 tokoe:valid" result="pass"/><test-case name="35806reS54.i tokoe:invalid" result="pass"/><test-case name="35807reS55 tokoe:valid" result="pass"/><test-case name="35808reS55.i tokoe:invalid" result="pass"/><test-case name="35809reS56 tokoe:valid" result="pass"/><test-case name="35810reS56.i tokoe:invalid" result="pass"/><test-case name="35811reS57 tokoe:valid" result="pass"/><test-case name="35812reS57.i tokoe:invalid" result="pass"/><test-case name="35813reS58 tokoe:valid" result="pass"/><test-case name="35814reS58.i tokoe:invalid" result="pass"/><test-case name="35815reS59 tokoe:valid" result="pass"/><test-case name="35816reS59.i tokoe:invalid" result="pass"/><test-case name="35817reS60 tokoe:valid" result="pass"/><test-case name="35818reS60.i tokoe:invalid" result="pass"/><test-case name="35819reS61 tokoe:valid" result="pass"/><test-case name="35820reS61.i tokoe:invalid" result="pass"/><test-case name="35821reS62 tokoe:valid" result="pass"/><test-case name="35822reS62.i tokoe:invalid" result="pass"/><test-case name="35823reS63 tokoe:valid" result="pass"/><test-case name="35824reS63.i tokoe:invalid" result="pass"/><test-case name="35825reS64 tokoe:valid" result="pass"/><test-case name="35826reS64.i tokoe:invalid" result="pass"/><test-case name="35827reS65 tokoe:valid" result="pass"/><test-case name="35828reS65.i tokoe:invalid" result="pass"/><test-case name="35829reS66 tokoe:valid" result="pass"/><test-case name="35830reS66.i tokoe:invalid" result="pass"/><test-case name="35831reS67 tokoe:valid" result="pass"/><test-case name="35832reS67.i tokoe:invalid" result="pass"/><test-case name="35833reS68 tokoe:valid" result="pass"/><test-case name="35834reS68.i tokoe:invalid" result="pass"/><test-case name="35835reS69 tokoe:valid" result="pass"/><test-case name="35836reS69.i tokoe:invalid" result="pass"/><test-case name="35837reS70 tokoe:valid" result="pass"/><test-case name="35838reS70.i tokoe:invalid" result="pass"/><test-case name="35839reS71 tokoe:valid" result="pass"/><test-case name="35840reS71.i tokoe:invalid" result="pass"/><test-case name="35841reS72 tokoe:valid" result="pass"/><test-case name="35842reS72.i tokoe:invalid" result="pass"/><test-case name="35843reS73 tokoe:valid" result="pass"/><test-case name="35844reS73.i tokoe:invalid" result="pass"/><test-case name="35845reS74 tokoe:valid" result="pass"/><test-case name="35846reS74.i tokoe:invalid" result="pass"/><test-case name="35847reS75 tokoe:valid" result="pass"/><test-case name="35848reS75.i tokoe:invalid" result="pass"/><test-case name="35849reS76 tokoe:valid" result="pass"/><test-case name="35850reS76.i tokoe:invalid" result="pass"/><test-case name="35851reS77 tokoe:valid" result="pass"/><test-case name="35852reS77.i tokoe:invalid" result="pass"/><test-case name="35853reS78 tokoe:valid" result="pass"/><test-case name="35854reS78.i tokoe:invalid" result="pass"/><test-case name="35855reS79 tokoe:valid" result="pass"/><test-case name="35856reS79.i tokoe:invalid" result="pass"/><test-case name="35857reS80 tokoe:valid" result="pass"/><test-case name="35858reS80.i tokoe:invalid" result="pass"/><test-case name="35859reS81 tokoe:valid" result="pass"/><test-case name="35860reS81.i tokoe:invalid" result="pass"/><test-case name="35861reS82 tokoe:valid" result="pass"/><test-case name="35862reS82.i tokoe:invalid" result="pass"/><test-case name="35863reS83 tokoe:valid" result="pass"/><test-case name="35864reS83.i tokoe:invalid" result="pass"/><test-case name="35865reS84 tokoe:valid" result="pass"/><test-case name="35866reS84.i tokoe:invalid" result="pass"/><test-case name="35867reT1 tokoe:valid" result="pass"/><test-case name="35868reT1.i tokoe:invalid" result="pass"/><test-case name="35869reT2 tokoe:valid" result="pass"/><test-case name="35870reT2.i tokoe:invalid" result="pass"/><test-case name="35871reT3 tokoe:valid" result="pass"/><test-case name="35872reT3.i tokoe:invalid" result="pass"/><test-case name="35873reT4 tokoe:valid" result="pass"/><test-case name="35874reT4.i tokoe:invalid" result="pass"/><test-case name="35875reT5 tokoe:valid" result="pass"/><test-case name="35876reT5.i tokoe:invalid" result="pass"/><test-case name="35877reT7 tokoe:valid" result="pass"/><test-case name="35878reT7.i tokoe:invalid" result="pass"/><test-case name="35879reT9 tokoe:valid" result="pass"/><test-case name="35880reT9.i tokoe:invalid" result="pass"/><test-case name="35881reT10 tokoe:valid" result="pass"/><test-case name="35882reT10.i tokoe:invalid" result="pass"/><test-case name="35883reT11 tokoe:valid" result="pass"/><test-case name="35884reT11.i tokoe:invalid" result="pass"/><test-case name="35885reT12 tokoe:valid" result="pass"/><test-case name="35886reT12.i tokoe:invalid" result="pass"/><test-case name="35887reT13 tokoe:valid" result="pass"/><test-case name="35888reT13.i tokoe:invalid" result="pass"/><test-case name="35889reT14 tokoe:valid" result="pass"/><test-case name="35890reT14.i tokoe:invalid" result="pass"/><test-case name="35891reT15 tokoe:valid" result="pass"/><test-case name="35892reT15.i tokoe:invalid" result="pass"/><test-case name="35893reT16 tokoe:valid" result="pass"/><test-case name="35894reT16.i tokoe:invalid" result="pass"/><test-case name="35895reT17 tokoe:valid" result="pass"/><test-case name="35896reT17.i tokoe:invalid" result="fail"/><test-case name="35897reT18 tokoe:valid" result="pass"/><test-case name="35898reT18.i tokoe:invalid" result="pass"/><test-case name="35899reT19 tokoe:valid" result="pass"/><test-case name="35900reT19.i tokoe:invalid" result="pass"/><test-case name="35901reT20 tokoe:valid" result="pass"/><test-case name="35902reT20.i tokoe:invalid" result="pass"/><test-case name="35903reT21 tokoe:valid" result="pass"/><test-case name="35904reT21.i tokoe:invalid" result="pass"/><test-case name="35905reT22 tokoe:valid" result="pass"/><test-case name="35906reT22.i tokoe:invalid" result="pass"/><test-case name="35907reT23 tokoe:valid" result="pass"/><test-case name="35908reT23.i tokoe:invalid" result="pass"/><test-case name="35909reT24 tokoe:valid" result="pass"/><test-case name="35910reT24.i tokoe:invalid" result="pass"/><test-case name="35911reT25 tokoe:valid" result="pass"/><test-case name="35912reT25.i tokoe:invalid" result="pass"/><test-case name="35913reT26 tokoe:valid" result="pass"/><test-case name="35914reT26.i tokoe:invalid" result="pass"/><test-case name="35915reT27 tokoe:valid" result="pass"/><test-case name="35916reT27.i tokoe:invalid" result="pass"/><test-case name="35917reT28 tokoe:valid" result="pass"/><test-case name="35918reT28.i tokoe:invalid" result="pass"/><test-case name="35919reT29 tokoe:valid" result="pass"/><test-case name="35920reT29.i tokoe:invalid" result="pass"/><test-case name="35921reT30 tokoe:valid" result="pass"/><test-case name="35922reT30.i tokoe:invalid" result="pass"/><test-case name="35923reT31 tokoe:valid" result="pass"/><test-case name="35924reT31.i tokoe:invalid" result="pass"/><test-case name="35925reT32 tokoe:valid" result="pass"/><test-case name="35926reT32.i tokoe:invalid" result="pass"/><test-case name="35927reT33 tokoe:valid" result="pass"/><test-case name="35928reT33.i tokoe:invalid" result="pass"/><test-case name="35929reT34 tokoe:valid" result="pass"/><test-case name="35930reT34.i tokoe:invalid" result="pass"/><test-case name="35931reT35 tokoe:valid" result="pass"/><test-case name="35932reT35.i tokoe:invalid" result="pass"/><test-case name="35933reT36 tokoe:valid" result="pass"/><test-case name="35934reT36.i tokoe:invalid" result="pass"/><test-case name="35935reT37 tokoe:valid" result="pass"/><test-case name="35936reT37.i tokoe:invalid" result="pass"/><test-case name="35937reT38 tokoe:valid" result="pass"/><test-case name="35938reT38.i tokoe:invalid" result="fail"/><test-case name="35939reT39 tokoe:valid" result="pass"/><test-case name="35940reT39.i tokoe:invalid" result="pass"/><test-case name="35941reT40 tokoe:valid" result="pass"/><test-case name="35942reT40.i tokoe:invalid" result="pass"/><test-case name="35943reT41 tokoe:valid" result="pass"/><test-case name="35944reT41.i tokoe:invalid" result="pass"/><test-case name="35945reT42 tokoe:valid" result="pass"/><test-case name="35946reT42.i tokoe:invalid" result="pass"/><test-case name="35947reT43 tokoe:valid" result="pass"/><test-case name="35948reT43.v tokoe:valid" result="pass"/><test-case name="35949reT44 tokoe:valid" result="pass"/><test-case name="35950reT44.v tokoe:valid" result="pass"/><test-case name="35951reT45 tokoe:valid" result="pass"/><test-case name="35952reT45.v tokoe:valid" result="pass"/><test-case name="35953reT46 tokoe:valid" result="pass"/><test-case name="35954reT46.v tokoe:valid" result="pass"/><test-case name="35955reT47 tokoe:valid" result="pass"/><test-case name="35956reT47.v tokoe:valid" result="pass"/><test-case name="35957reT48 tokoe:valid" result="pass"/><test-case name="35958reT48.v tokoe:valid" result="pass"/><test-case name="35959reT49 tokoe:valid" result="pass"/><test-case name="35960reT49.v tokoe:valid" result="pass"/><test-case name="35961reT50 tokoe:valid" result="pass"/><test-case name="35962reT50.v tokoe:valid" result="pass"/><test-case name="35963reT51 tokoe:valid" result="pass"/><test-case name="35964reT51.v tokoe:valid" result="fail"/><test-case name="35965reT52 tokoe:valid" result="pass"/><test-case name="35966reT52.v tokoe:valid" result="pass"/><test-case name="35967reT53 tokoe:valid" result="pass"/><test-case name="35968reT53.v tokoe:valid" result="pass"/><test-case name="35969reT54 tokoe:valid" result="pass"/><test-case name="35970reT54.v tokoe:valid" result="pass"/><test-case name="35971reT55 tokoe:valid" result="pass"/><test-case name="35972reT55.v tokoe:valid" result="pass"/><test-case name="35973reT56 tokoe:valid" result="pass"/><test-case name="35974reT56.v tokoe:valid" result="pass"/><test-case name="35975reT57 tokoe:valid" result="pass"/><test-case name="35976reT57.v tokoe:valid" result="pass"/><test-case name="35977reT58 tokoe:valid" result="pass"/><test-case name="35978reT58.v tokoe:valid" result="pass"/><test-case name="35979reT59 tokoe:valid" result="pass"/><test-case name="35980reT59.v tokoe:valid" result="pass"/><test-case name="35981reT60 tokoe:valid" result="pass"/><test-case name="35982reT60.v tokoe:valid" result="pass"/><test-case name="35983reT61 tokoe:valid" result="pass"/><test-case name="35984reT61.v tokoe:valid" result="pass"/><test-case name="35985reT62 tokoe:valid" result="pass"/><test-case name="35986reT62.v tokoe:valid" result="pass"/><test-case name="35987reT64 tokoe:valid" result="pass"/><test-case name="35988reT64.v tokoe:valid" result="pass"/><test-case name="35989reT65 tokoe:valid" result="pass"/><test-case name="35990reT65.v tokoe:valid" result="pass"/><test-case name="35991reT66 tokoe:valid" result="pass"/><test-case name="35992reT66.v tokoe:valid" result="pass"/><test-case name="35993reT67 tokoe:valid" result="pass"/><test-case name="35994reT67.v tokoe:valid" result="pass"/><test-case name="35995reT68 tokoe:valid" result="pass"/><test-case name="35996reT68.v tokoe:valid" result="pass"/><test-case name="35997reT69 tokoe:valid" result="pass"/><test-case name="35998reT69.v tokoe:valid" result="pass"/><test-case name="35999reT70 tokoe:valid" result="pass"/><test-case name="36000reT70.v tokoe:valid" result="pass"/><test-case name="36001reT71 tokoe:valid" result="pass"/><test-case name="36002reT71.v tokoe:valid" result="pass"/><test-case name="36003reT72 tokoe:valid" result="pass"/><test-case name="36004reT72.v tokoe:valid" result="pass"/><test-case name="36005reT73 tokoe:valid" result="pass"/><test-case name="36006reT73.v tokoe:valid" result="pass"/><test-case name="36007reT74 tokoe:valid" result="pass"/><test-case name="36008reT74.v tokoe:valid" result="pass"/><test-case name="36009reT75 tokoe:valid" result="pass"/><test-case name="36010reT75.v tokoe:valid" result="pass"/><test-case name="36011reT76 tokoe:valid" result="pass"/><test-case name="36012reT76.v tokoe:valid" result="pass"/><test-case name="36013reT77 tokoe:valid" result="pass"/><test-case name="36014reT77.v tokoe:valid" result="pass"/><test-case name="36015reT78 tokoe:valid" result="pass"/><test-case name="36016reT78.v tokoe:valid" result="pass"/><test-case name="36017reT79 tokoe:valid" result="pass"/><test-case name="36018reT79.v tokoe:valid" result="pass"/><test-case name="36019reT80 tokoe:valid" result="pass"/><test-case name="36020reT80.v tokoe:valid" result="pass"/><test-case name="36021reT81 tokoe:valid" result="pass"/><test-case name="36022reT81.v tokoe:valid" result="pass"/><test-case name="36023reT82 tokoe:valid" result="pass"/><test-case name="36024reT82.v tokoe:valid" result="pass"/><test-case name="36025reT83 tokoe:valid" result="pass"/><test-case name="36026reT83.v tokoe:valid" result="pass"/><test-case name="36027reU3 tokoe:valid" result="pass"/><test-case name="36028reU3.i tokoe:invalid" result="pass"/><test-case name="36029reU4 tokoe:valid" result="pass"/><test-case name="36030reU4.i tokoe:invalid" result="pass"/><test-case name="36031reU5 tokoe:valid" result="pass"/><test-case name="36032reU5.i tokoe:invalid" result="pass"/><test-case name="36033reU6 tokoe:valid" result="pass"/><test-case name="36034reU6.i tokoe:invalid" result="fail"/><test-case name="36035reU7 tokoe:valid" result="pass"/><test-case name="36036reU7.i tokoe:invalid" result="pass"/><test-case name="36037reU8 tokoe:valid" result="pass"/><test-case name="36038reU8.i tokoe:invalid" result="pass"/><test-case name="36039reU9 tokoe:valid" result="pass"/><test-case name="36040reU9.i tokoe:invalid" result="pass"/><test-case name="36041reU10 tokoe:valid" result="pass"/><test-case name="36042reU10.i tokoe:invalid" result="pass"/><test-case name="36043reU11 tokoe:valid" result="pass"/><test-case name="36044reU11.i tokoe:invalid" result="pass"/><test-case name="36045reU12 tokoe:valid" result="pass"/><test-case name="36046reU12.i tokoe:invalid" result="pass"/><test-case name="36047reU13 tokoe:valid" result="pass"/><test-case name="36048reU13.i tokoe:invalid" result="pass"/><test-case name="36049reU14 tokoe:valid" result="pass"/><test-case name="36050reU14.i tokoe:invalid" result="pass"/><test-case name="36051reU15 tokoe:valid" result="pass"/><test-case name="36052reU15.i tokoe:invalid" result="pass"/><test-case name="36053reV2 tokoe:valid" result="pass"/><test-case name="36054reV2.i tokoe:invalid" result="pass"/><test-case name="36055reV3 tokoe:valid" result="pass"/><test-case name="36056reV3.i tokoe:invalid" result="pass"/><test-case name="36057reV4 tokoe:valid" result="pass"/><test-case name="36058reV4.i tokoe:invalid" result="pass"/><test-case name="36059reV5 tokoe:valid" result="pass"/><test-case name="36060reV5.i tokoe:invalid" result="pass"/><test-case name="36061reV6 tokoe:valid" result="pass"/><test-case name="36062reV6.i tokoe:invalid" result="pass"/><test-case name="36063reV7 tokoe:valid" result="pass"/><test-case name="36064reV7.i tokoe:invalid" result="pass"/><test-case name="36065reV8 tokoe:valid" result="pass"/><test-case name="36066reV8.i tokoe:invalid" result="pass"/><test-case name="36067reV9 tokoe:valid" result="pass"/><test-case name="36068reV9.i tokoe:invalid" result="pass"/><test-case name="36069reV10 tokoe:valid" result="pass"/><test-case name="36070reV10.i tokoe:invalid" result="pass"/><test-case name="36071reV11 tokoe:valid" result="pass"/><test-case name="36072reV11.i tokoe:invalid" result="pass"/><test-case name="36073reV12 tokoe:valid" result="pass"/><test-case name="36074reV12.i tokoe:invalid" result="pass"/><test-case name="36075reV13 tokoe:valid" result="pass"/><test-case name="36076reV13.i tokoe:invalid" result="pass"/><test-case name="36077reV14 tokoe:valid" result="pass"/><test-case name="36078reV14.i tokoe:invalid" result="pass"/><test-case name="36079reV15 tokoe:valid" result="pass"/><test-case name="36080reV15.i tokoe:invalid" result="pass"/><test-case name="36081reV16 tokoe:valid" result="pass"/><test-case name="36082reV16.i tokoe:invalid" result="pass"/><test-case name="36083reV17 tokoe:valid" result="pass"/><test-case name="36084reV17.i tokoe:invalid" result="pass"/><test-case name="36085reV18 tokoe:valid" result="pass"/><test-case name="36086reV18.i tokoe:invalid" result="pass"/><test-case name="36087reV19 tokoe:valid" result="pass"/><test-case name="36088reV19.i tokoe:invalid" result="pass"/><test-case name="36089reV20 tokoe:valid" result="pass"/><test-case name="36090reV20.i tokoe:invalid" result="pass"/><test-case name="36091reV21 tokoe:valid" result="pass"/><test-case name="36092reV21.i tokoe:invalid" result="pass"/><test-case name="36093reV22 tokoe:valid" result="pass"/><test-case name="36094reV22.i tokoe:invalid" result="pass"/><test-case name="36095reV23 tokoe:valid" result="pass"/><test-case name="36096reV23.i tokoe:invalid" result="pass"/><test-case name="36097reV24 tokoe:valid" result="pass"/><test-case name="36098reV24.i tokoe:invalid" result="pass"/><test-case name="36099reV25 tokoe:valid" result="pass"/><test-case name="36100reV25.i tokoe:invalid" result="pass"/><test-case name="36101reV26 tokoe:valid" result="pass"/><test-case name="36102reV26.i tokoe:invalid" result="pass"/><test-case name="36103reV27 tokoe:valid" result="pass"/><test-case name="36104reV27.i tokoe:invalid" result="pass"/><test-case name="36105reV28 tokoe:valid" result="pass"/><test-case name="36106reV28.i tokoe:invalid" result="pass"/><test-case name="36107reV29 tokoe:valid" result="pass"/><test-case name="36108reV29.i tokoe:invalid" result="pass"/><test-case name="36109reV30 tokoe:valid" result="pass"/><test-case name="36110reV30.i tokoe:invalid" result="pass"/><test-case name="36111reV31 tokoe:valid" result="pass"/><test-case name="36112reV31.i tokoe:invalid" result="pass"/><test-case name="36113reV32 tokoe:valid" result="pass"/><test-case name="36114reV32.i tokoe:invalid" result="pass"/><test-case name="36115reV33 tokoe:valid" result="pass"/><test-case name="36116reV33.i tokoe:invalid" result="fail"/><test-case name="36117reV34 tokoe:valid" result="pass"/><test-case name="36118reV34.i tokoe:invalid" result="fail"/><test-case name="36119reV35 tokoe:valid" result="pass"/><test-case name="36120reV35.i tokoe:invalid" result="fail"/><test-case name="36121reV36 tokoe:valid" result="pass"/><test-case name="36122reV36.i tokoe:invalid" result="fail"/><test-case name="36123reV37 tokoe:valid" result="pass"/><test-case name="36124reV37.i tokoe:invalid" result="fail"/><test-case name="36125reV38 tokoe:valid" result="pass"/><test-case name="36126reV38.i tokoe:invalid" result="fail"/><test-case name="36127reV39 tokoe:valid" result="pass"/><test-case name="36128reV39.i tokoe:invalid" result="fail"/><test-case name="36129reV40 tokoe:valid" result="pass"/><test-case name="36130reV40.i tokoe:invalid" result="fail"/><test-case name="36131reV41 tokoe:valid" result="pass"/><test-case name="36132reV41.i tokoe:invalid" result="fail"/><test-case name="36133reV42 tokoe:valid" result="pass"/><test-case name="36134reV42.i tokoe:invalid" result="fail"/><test-case name="36135reV43 tokoe:valid" result="pass"/><test-case name="36136reV43.i tokoe:invalid" result="pass"/><test-case name="36137reDA1 tokoe:valid" result="pass"/><test-case name="36138reDA1.v tokoe:valid" result="pass"/><test-case name="36139reDA2 tokoe:valid" result="pass"/><test-case name="36140reDA2.i tokoe:invalid" result="pass"/><test-case name="36141reDA3 tokoe:valid" result="pass"/><test-case name="36142reDA3.i tokoe:invalid" result="pass"/><test-case name="36143reDA4 tokoe:valid" result="pass"/><test-case name="36144reDA4.v tokoe:valid" result="pass"/><test-case name="36145reDA5 tokoe:valid" result="pass"/><test-case name="36146reDA5.v tokoe:valid" result="pass"/><test-case name="36147reDA6 tokoe:valid" result="pass"/><test-case name="36148reDA6.v tokoe:valid" result="pass"/><test-case name="36149reDA7 tokoe:valid" result="pass"/><test-case name="36150reDA8 tokoe:valid" result="pass"/><test-case name="36151reDA9 tokoe:valid" result="pass"/><test-case name="36152reDA9.v tokoe:valid" result="pass"/><test-case name="36153reDA10 tokoe:valid" result="pass"/><test-case name="36154reDA10.i tokoe:invalid" result="pass"/><test-case name="36155reDA11 tokoe:valid" result="pass"/><test-case name="36156reDA11.i tokoe:invalid" result="pass"/><test-case name="36157reDA12 tokoe:valid" result="pass"/><test-case name="36158reDA12.i tokoe:invalid" result="pass"/><test-case name="36159reDA13 tokoe:valid" result="pass"/><test-case name="36160reDA13.i tokoe:invalid" result="pass"/><test-case name="36161reDA14 tokoe:valid" result="pass"/><test-case name="36162reDA14.i tokoe:invalid" result="pass"/><test-case name="36163reDA15 tokoe:valid" result="pass"/><test-case name="36164reDA15.v tokoe:valid" result="pass"/><test-case name="36165reDB1 tokoe:valid" result="pass"/><test-case name="36166reDB1.v tokoe:valid" result="pass"/><test-case name="36167reDB2 tokoe:valid" result="pass"/><test-case name="36168reDB2.v tokoe:valid" result="pass"/><test-case name="36169reDB3 tokoe:valid" result="pass"/><test-case name="36170reDB3.i tokoe:invalid" result="pass"/><test-case name="36171reDB4 tokoe:valid" result="pass"/><test-case name="36172reDB4.i tokoe:invalid" result="pass"/><test-case name="36173reDB5 tokoe:valid" result="pass"/><test-case name="36174reDB5.i tokoe:invalid" result="pass"/><test-case name="36175reDB6 tokoe:valid" result="pass"/><test-case name="36176reDB6.i tokoe:invalid" result="pass"/><test-case name="36177reDC1 tokoe:valid" result="pass"/><test-case name="36178reDC1.v tokoe:valid" result="pass"/><test-case name="36179reDC2 tokoe:valid" result="pass"/><test-case name="36180reDC2.v tokoe:valid" result="pass"/><test-case name="36181reDC3 tokoe:valid" result="pass"/><test-case name="36182reDC3.v tokoe:valid" result="pass"/><test-case name="36183reDC4 tokoe:valid" result="pass"/><test-case name="36184reDC4.v tokoe:valid" result="pass"/><test-case name="36185reDC5 tokoe:valid" result="pass"/><test-case name="36186reDC5.v tokoe:valid" result="pass"/><test-case name="36187reDD1 tokoe:valid" result="pass"/><test-case name="36188reDD1.v tokoe:valid" result="pass"/><test-case name="36189reDD2 tokoe:valid" result="pass"/><test-case name="36190reDD2.i tokoe:invalid" result="pass"/><test-case name="36191reDD3 tokoe:valid" result="pass"/><test-case name="36192reDD3.i tokoe:invalid" result="pass"/><test-case name="36193reDD4 tokoe:valid" result="pass"/><test-case name="36194reDD4.i tokoe:invalid" result="pass"/><test-case name="36195reDD5 tokoe:valid" result="pass"/><test-case name="36196reDD5.i tokoe:invalid" result="pass"/><test-case name="36197reDD6 tokoe:valid" result="pass"/><test-case name="36198reDD6.i tokoe:invalid" result="pass"/><test-case name="36199reDD7 tokoe:valid" result="pass"/><test-case name="36200reDD7.i tokoe:invalid" result="pass"/><test-case name="36201reDD8 tokoe:valid" result="pass"/><test-case name="36202reDD8.i tokoe:invalid" result="pass"/><test-case name="36203reDE1 tokoe:valid" result="pass"/><test-case name="36204reDE1.v tokoe:valid" result="pass"/><test-case name="36205reDE2 tokoe:valid" result="pass"/><test-case name="36206reDE2.i tokoe:invalid" result="pass"/><test-case name="36207reDE3 tokoe:valid" result="pass"/><test-case name="36208reDE3.i tokoe:invalid" result="pass"/><test-case name="36209reDE4 tokoe:valid" result="pass"/><test-case name="36210reDE4.i tokoe:invalid" result="pass"/><test-case name="36211reDF1 tokoe:valid" result="pass"/><test-case name="36212reDF1.v tokoe:valid" result="pass"/><test-case name="36213reDF2 tokoe:valid" result="pass"/><test-case name="36214reDF2.v tokoe:valid" result="pass"/><test-case name="36215reDF3 tokoe:valid" result="pass"/><test-case name="36216reDF3.i tokoe:invalid" result="pass"/><test-case name="36217reDF5 tokoe:valid" result="pass"/><test-case name="36218reDF5.i tokoe:invalid" result="pass"/><test-case name="36219reDG1 tokoe:valid" result="pass"/><test-case name="36220reDG1.v tokoe:valid" result="pass"/><test-case name="36221reDG3 tokoe:valid" result="pass"/><test-case name="36222reDG3.v tokoe:valid" result="pass"/><test-case name="36223reDG4 tokoe:valid" result="pass"/><test-case name="36224reDG4.i tokoe:invalid" result="pass"/><test-case name="36225reDG5 tokoe:valid" result="pass"/><test-case name="36226reDG5.v tokoe:valid" result="pass"/><test-case name="36227reDG6 tokoe:valid" result="pass"/><test-case name="36228reDG6.v tokoe:valid" result="pass"/><test-case name="36229reDG7 tokoe:valid" result="pass"/><test-case name="36230reDG7.v tokoe:valid" result="fail"/><test-case name="36231reDH2 tokoe:valid" result="pass"/><test-case name="36232reDH2.v tokoe:valid" result="pass"/><test-case name="36233reDH3 tokoe:valid" result="pass"/><test-case name="36234reDH3.v tokoe:valid" result="pass"/><test-case name="36235reDH4 tokoe:valid" result="pass"/><test-case name="36236reDH4.v tokoe:valid" result="pass"/><test-case name="36237reDH5 tokoe:valid" result="pass"/><test-case name="36238reDH5.v tokoe:valid" result="pass"/><test-case name="36239reDH6 tokoe:valid" result="pass"/><test-case name="36240reDH6.v tokoe:valid" result="pass"/><test-case name="36241reDH7 tokoe:valid" result="pass"/><test-case name="36242reDH7.v tokoe:valid" result="pass"/><test-case name="36243reDH7a tokoe:valid" result="pass"/><test-case name="36244reDH7a.i tokoe:invalid" result="pass"/><test-case name="36245reDH10 tokoe:valid" result="pass"/><test-case name="36246reDH11 tokoe:valid" result="pass"/><test-case name="36247reDH11.v tokoe:valid" result="pass"/><test-case name="36248reDH12 tokoe:valid" result="pass"/><test-case name="36249reDI1 tokoe:valid" result="pass"/><test-case name="36250reDI1.v tokoe:valid" result="pass"/><test-case name="36251reDI2 tokoe:valid" result="pass"/><test-case name="36252reDI2.v tokoe:valid" result="pass"/><test-case name="36253reDI3 tokoe:valid" result="pass"/><test-case name="36254reDI3.i tokoe:invalid" result="pass"/><test-case name="36255reDI4 tokoe:valid" result="pass"/><test-case name="36256reDI4.i tokoe:invalid" result="pass"/><test-case name="36257reDI5 tokoe:valid" result="pass"/><test-case name="36258reDI5.i tokoe:invalid" result="pass"/><test-case name="36259reDI6 tokoe:valid" result="pass"/><test-case name="36260reDI6.v tokoe:valid" result="pass"/><test-case name="36261reDI7 tokoe:valid" result="pass"/><test-case name="36262reDI7.v tokoe:valid" result="pass"/><test-case name="36263reDI8 tokoe:valid" result="pass"/><test-case name="36264reDI8.v tokoe:valid" result="pass"/><test-case name="36265reDI9 tokoe:valid" result="pass"/><test-case name="36266reDI9.v tokoe:valid" result="pass"/><test-case name="36267reDI10 tokoe:valid" result="pass"/><test-case name="36268reDI10.v tokoe:valid" result="pass"/><test-case name="36269reDI11 tokoe:valid" result="pass"/><test-case name="36270reDI11.v tokoe:valid" result="pass"/><test-case name="36271reDI12 tokoe:valid" result="pass"/><test-case name="36272reDI12.i tokoe:invalid" result="pass"/><test-case name="36273reDI13 tokoe:valid" result="pass"/><test-case name="36274reDI13.i tokoe:invalid" result="pass"/><test-case name="36275reDI14 tokoe:valid" result="pass"/><test-case name="36276reDI14.v tokoe:valid" result="pass"/><test-case name="36277p1 tokoe:invalid" result="pass"/><test-case name="36278p2 tokoe:valid" result="pass"/><test-case name="36279p2.i tokoe:invalid" result="pass"/><test-case name="36280p3 tokoe:valid" result="pass"/><test-case name="36281p3.v tokoe:valid" result="pass"/><test-case name="36282p4 tokoe:valid" result="pass"/><test-case name="36283p4.i tokoe:invalid" result="pass"/><test-case name="36284p5 tokoe:valid" result="pass"/><test-case name="36285p5.v tokoe:valid" result="pass"/><test-case name="36286p6 tokoe:valid" result="pass"/><test-case name="36287p6.v tokoe:valid" result="pass"/><test-case name="36288p7 tokoe:valid" result="pass"/><test-case name="36289p7.i tokoe:invalid" result="pass"/><test-case name="36290p8 tokoe:valid" result="pass"/><test-case name="36291p8.v tokoe:valid" result="pass"/><test-case name="36292p9 tokoe:valid" result="pass"/><test-case name="36293p9.v tokoe:valid" result="pass"/><test-case name="36294p10 tokoe:valid" result="pass"/><test-case name="36295p10.i tokoe:invalid" result="pass"/><test-case name="36296p11 tokoe:valid" result="pass"/><test-case name="36297p11.v tokoe:valid" result="pass"/><test-case name="36298p12 tokoe:valid" result="pass"/><test-case name="36299p12.v tokoe:valid" result="pass"/><test-case name="36300p13 tokoe:valid" result="pass"/><test-case name="36301p13.v tokoe:valid" result="pass"/><test-case name="36302p14 tokoe:valid" result="pass"/><test-case name="36303p14.i tokoe:invalid" result="pass"/><test-case name="36304p15 tokoe:valid" result="pass"/><test-case name="36305p15.i tokoe:invalid" result="pass"/><test-case name="36306p16 tokoe:valid" result="pass"/><test-case name="36307p16.v tokoe:valid" result="pass"/><test-case name="36308p17 tokoe:valid" result="pass"/><test-case name="36309p17.v tokoe:valid" result="pass"/><test-case name="36310p18 tokoe:valid" result="pass"/><test-case name="36311p18.i tokoe:invalid" result="pass"/><test-case name="36312p19 tokoe:valid" result="pass"/><test-case name="36313p19.i tokoe:invalid" result="pass"/><test-case name="36314p20 tokoe:valid" result="pass"/><test-case name="36315p20.v tokoe:valid" result="pass"/><test-case name="36316p21 tokoe:valid" result="pass"/><test-case name="36317p21.i tokoe:invalid" result="fail"/><test-case name="36318RegexTest_1 tokoe:valid" result="pass"/><test-case name="36319RegexTest_1.v tokoe:valid" result="pass"/><test-case name="36320RegexTest_2 tokoe:valid" result="pass"/><test-case name="36321RegexTest_2.v tokoe:valid" result="pass"/><test-case name="36322RegexTest_3 tokoe:valid" result="pass"/><test-case name="36323RegexTest_3.v tokoe:valid" result="pass"/><test-case name="36324RegexTest_4 tokoe:valid" result="pass"/><test-case name="36325RegexTest_4.v tokoe:valid" result="pass"/><test-case name="36326RegexTest_5 tokoe:valid" result="pass"/><test-case name="36327RegexTest_5.v tokoe:valid" result="pass"/><test-case name="36328RegexTest_6 tokoe:valid" result="pass"/><test-case name="36329RegexTest_6.v tokoe:valid" result="pass"/><test-case name="36330RegexTest_7 tokoe:valid" result="pass"/><test-case name="36331RegexTest_7.i tokoe:invalid" result="pass"/><test-case name="36332RegexTest_8 tokoe:valid" result="pass"/><test-case name="36333RegexTest_8.i tokoe:invalid" result="pass"/><test-case name="36334RegexTest_10 tokoe:valid" result="pass"/><test-case name="36335RegexTest_10.i tokoe:invalid" result="pass"/><test-case name="36336RegexTest_12 tokoe:valid" result="pass"/><test-case name="36337RegexTest_12.i tokoe:invalid" result="pass"/><test-case name="36338RegexTest_13 tokoe:valid" result="pass"/><test-case name="36339RegexTest_13.i tokoe:invalid" result="pass"/><test-case name="36340RegexTest_20 tokoe:valid" result="pass"/><test-case name="36341RegexTest_20.v tokoe:valid" result="pass"/><test-case name="36342RegexTest_21 tokoe:valid" result="pass"/><test-case name="36343RegexTest_21.v tokoe:valid" result="pass"/><test-case name="36344RegexTest_35 tokoe:valid" result="pass"/><test-case name="36345RegexTest_35.i tokoe:invalid" result="pass"/><test-case name="36346RegexTest_36 tokoe:valid" result="pass"/><test-case name="36347RegexTest_36.i tokoe:invalid" result="pass"/><test-case name="36348RegexTest_37 tokoe:valid" result="pass"/><test-case name="36349RegexTest_37.i tokoe:invalid" result="pass"/><test-case name="36350RegexTest_38 tokoe:valid" result="pass"/><test-case name="36351RegexTest_38.i tokoe:invalid" result="pass"/><test-case name="36352RegexTest_39 tokoe:valid" result="pass"/><test-case name="36353RegexTest_39.i tokoe:invalid" result="pass"/><test-case name="36354RegexTest_40 tokoe:valid" result="pass"/><test-case name="36355RegexTest_40.i tokoe:invalid" result="pass"/><test-case name="36356RegexTest_41 tokoe:valid" result="pass"/><test-case name="36357RegexTest_41.v tokoe:valid" result="pass"/><test-case name="36358RegexTest_42 tokoe:valid" result="pass"/><test-case name="36359RegexTest_42.v tokoe:valid" result="pass"/><test-case name="36360RegexTest_63 tokoe:valid" result="pass"/><test-case name="36361RegexTest_63.i tokoe:invalid" result="pass"/><test-case name="36362RegexTest_66 tokoe:valid" result="pass"/><test-case name="36363RegexTest_66.i tokoe:invalid" result="pass"/><test-case name="36364RegexTest_67 tokoe:valid" result="pass"/><test-case name="36365RegexTest_67.i tokoe:invalid" result="pass"/><test-case name="36366RegexTest_68 tokoe:valid" result="pass"/><test-case name="36367RegexTest_68.i tokoe:invalid" result="pass"/><test-case name="36368RegexTest_69 tokoe:valid" result="pass"/><test-case name="36369RegexTest_69.i tokoe:invalid" result="pass"/><test-case name="36370RegexTest_70 tokoe:valid" result="pass"/><test-case name="36371RegexTest_70.i tokoe:invalid" result="pass"/><test-case name="36372RegexTest_71 tokoe:valid" result="pass"/><test-case name="36373RegexTest_71.i tokoe:invalid" result="pass"/><test-case name="36374RegexTest_72 tokoe:valid" result="pass"/><test-case name="36375RegexTest_72.v tokoe:valid" result="pass"/><test-case name="36376RegexTest_73 tokoe:valid" result="pass"/><test-case name="36377RegexTest_73.v tokoe:valid" result="pass"/><test-case name="36378RegexTest_74 tokoe:valid" result="pass"/><test-case name="36379RegexTest_74.i tokoe:invalid" result="pass"/><test-case name="36380RegexTest_75 tokoe:valid" result="pass"/><test-case name="36381RegexTest_75.i tokoe:invalid" result="pass"/><test-case name="36382RegexTest_76 tokoe:valid" result="pass"/><test-case name="36383RegexTest_76.i tokoe:invalid" result="pass"/><test-case name="36384RegexTest_77 tokoe:valid" result="pass"/><test-case name="36385RegexTest_77.i tokoe:invalid" result="pass"/><test-case name="36386RegexTest_78 tokoe:valid" result="pass"/><test-case name="36387RegexTest_78.i tokoe:invalid" result="pass"/><test-case name="36388RegexTest_79 tokoe:valid" result="pass"/><test-case name="36389RegexTest_79.i tokoe:invalid" result="pass"/><test-case name="36390RegexTest_80 tokoe:valid" result="pass"/><test-case name="36391RegexTest_80.v tokoe:valid" result="pass"/><test-case name="36392RegexTest_81 tokoe:valid" result="pass"/><test-case name="36393RegexTest_81.v tokoe:valid" result="pass"/><test-case name="36394RegexTest_117 tokoe:valid" result="pass"/><test-case name="36395RegexTest_117.i tokoe:invalid" result="pass"/><test-case name="36396RegexTest_118 tokoe:valid" result="pass"/><test-case name="36397RegexTest_118.i tokoe:invalid" result="pass"/><test-case name="36398RegexTest_175 tokoe:valid" result="pass"/><test-case name="36399RegexTest_175.i tokoe:invalid" result="pass"/><test-case name="36400RegexTest_176 tokoe:valid" result="pass"/><test-case name="36401RegexTest_176.i tokoe:invalid" result="pass"/><test-case name="36402RegexTest_177 tokoe:valid" result="pass"/><test-case name="36403RegexTest_177.i tokoe:invalid" result="pass"/><test-case name="36404RegexTest_180 tokoe:valid" result="pass"/><test-case name="36405RegexTest_180.i tokoe:invalid" result="pass"/><test-case name="36406RegexTest_181 tokoe:valid" result="pass"/><test-case name="36407RegexTest_181.i tokoe:invalid" result="pass"/><test-case name="36408RegexTest_182 tokoe:valid" result="pass"/><test-case name="36409RegexTest_182.i tokoe:invalid" result="pass"/><test-case name="36410RegexTest_234 tokoe:valid" result="pass"/><test-case name="36411RegexTest_234.v tokoe:valid" result="pass"/><test-case name="36412RegexTest_235 tokoe:valid" result="pass"/><test-case name="36413RegexTest_235.i tokoe:invalid" result="pass"/><test-case name="36414RegexTest_236 tokoe:valid" result="pass"/><test-case name="36415RegexTest_236.i tokoe:invalid" result="pass"/><test-case name="36416RegexTest_239 tokoe:valid" result="pass"/><test-case name="36417RegexTest_239.i tokoe:invalid" result="pass"/><test-case name="36418RegexTest_250 tokoe:valid" result="pass"/><test-case name="36419RegexTest_250.i tokoe:invalid" result="pass"/><test-case name="36420RegexTest_251 tokoe:valid" result="pass"/><test-case name="36421RegexTest_251.i tokoe:invalid" result="pass"/><test-case name="36422RegexTest_252 tokoe:valid" result="pass"/><test-case name="36423RegexTest_252.i tokoe:invalid" result="pass"/><test-case name="36424RegexTest_253 tokoe:valid" result="pass"/><test-case name="36425RegexTest_253.i tokoe:invalid" result="pass"/><test-case name="36426RegexTest_254 tokoe:valid" result="pass"/><test-case name="36427RegexTest_254.i tokoe:invalid" result="pass"/><test-case name="36428RegexTest_255 tokoe:valid" result="pass"/><test-case name="36429RegexTest_255.i tokoe:invalid" result="pass"/><test-case name="36430RegexTest_259 tokoe:valid" result="pass"/><test-case name="36431RegexTest_259.v tokoe:valid" result="pass"/><test-case name="36432RegexTest_260 tokoe:valid" result="pass"/><test-case name="36433RegexTest_260.v tokoe:valid" result="pass"/><test-case name="36434RegexTest_261 tokoe:valid" result="pass"/><test-case name="36435RegexTest_261.v tokoe:valid" result="pass"/><test-case name="36436RegexTest_262 tokoe:valid" result="pass"/><test-case name="36437RegexTest_262.v tokoe:valid" result="pass"/><test-case name="36438RegexTest_263 tokoe:valid" result="pass"/><test-case name="36439RegexTest_263.v tokoe:valid" result="pass"/><test-case name="36440RegexTest_264 tokoe:valid" result="pass"/><test-case name="36441RegexTest_264.v tokoe:valid" result="pass"/><test-case name="36442RegexTest_267 tokoe:valid" result="pass"/><test-case name="36443RegexTest_267.i tokoe:invalid" result="pass"/><test-case name="36444RegexTest_268 tokoe:valid" result="pass"/><test-case name="36445RegexTest_268.i tokoe:invalid" result="pass"/><test-case name="36446RegexTest_269 tokoe:valid" result="pass"/><test-case name="36447RegexTest_269.i tokoe:invalid" result="pass"/><test-case name="36448RegexTest_270 tokoe:valid" result="pass"/><test-case name="36449RegexTest_270.i tokoe:invalid" result="pass"/><test-case name="36450RegexTest_271 tokoe:valid" result="pass"/><test-case name="36451RegexTest_271.i tokoe:invalid" result="pass"/><test-case name="36452RegexTest_272 tokoe:valid" result="pass"/><test-case name="36453RegexTest_272.i tokoe:invalid" result="pass"/><test-case name="36454RegexTest_273 tokoe:valid" result="pass"/><test-case name="36455RegexTest_273.i tokoe:invalid" result="pass"/><test-case name="36456RegexTest_274 tokoe:valid" result="pass"/><test-case name="36457RegexTest_274.i tokoe:invalid" result="pass"/><test-case name="36458RegexTest_275 tokoe:valid" result="pass"/><test-case name="36459RegexTest_275.i tokoe:invalid" result="pass"/><test-case name="36460RegexTest_276 tokoe:valid" result="pass"/><test-case name="36461RegexTest_276.i tokoe:invalid" result="pass"/><test-case name="36462RegexTest_277 tokoe:valid" result="pass"/><test-case name="36463RegexTest_277.i tokoe:invalid" result="pass"/><test-case name="36464RegexTest_278 tokoe:valid" result="pass"/><test-case name="36465RegexTest_278.i tokoe:invalid" result="pass"/><test-case name="36466RegexTest_279 tokoe:valid" result="pass"/><test-case name="36467RegexTest_279.i tokoe:invalid" result="pass"/><test-case name="36468RegexTest_280 tokoe:valid" result="pass"/><test-case name="36469RegexTest_280.i tokoe:invalid" result="pass"/><test-case name="36470RegexTest_281 tokoe:valid" result="pass"/><test-case name="36471RegexTest_281.i tokoe:invalid" result="pass"/><test-case name="36472RegexTest_282 tokoe:valid" result="pass"/><test-case name="36473RegexTest_282.i tokoe:invalid" result="pass"/><test-case name="36474RegexTest_283 tokoe:valid" result="pass"/><test-case name="36475RegexTest_283.i tokoe:invalid" result="pass"/><test-case name="36476RegexTest_284 tokoe:valid" result="pass"/><test-case name="36477RegexTest_284.i tokoe:invalid" result="pass"/><test-case name="36478RegexTest_285 tokoe:valid" result="pass"/><test-case name="36479RegexTest_285.i tokoe:invalid" result="pass"/><test-case name="36480RegexTest_286 tokoe:valid" result="pass"/><test-case name="36481RegexTest_286.i tokoe:invalid" result="pass"/><test-case name="36482RegexTest_319 tokoe:valid" result="pass"/><test-case name="36483RegexTest_319.v tokoe:valid" result="pass"/><test-case name="36484RegexTest_322 tokoe:valid" result="fail"/><test-case name="36485RegexTest_322.i tokoe:invalid" result="pass"/><test-case name="36486RegexTest_323 tokoe:valid" result="fail"/><test-case name="36487RegexTest_323.i tokoe:invalid" result="pass"/><test-case name="36488RegexTest_324 tokoe:valid" result="fail"/><test-case name="36489RegexTest_324.i tokoe:invalid" result="pass"/><test-case name="36490RegexTest_325 tokoe:valid" result="fail"/><test-case name="36491RegexTest_325.i tokoe:invalid" result="pass"/><test-case name="36492RegexTest_326 tokoe:valid" result="fail"/><test-case name="36493RegexTest_326.i tokoe:invalid" result="pass"/><test-case name="36494RegexTest_327 tokoe:valid" result="fail"/><test-case name="36495RegexTest_327.i tokoe:invalid" result="pass"/><test-case name="36496RegexTest_328 tokoe:valid" result="fail"/><test-case name="36497RegexTest_328.i tokoe:invalid" result="pass"/><test-case name="36498RegexTest_329 tokoe:valid" result="fail"/><test-case name="36499RegexTest_329.i tokoe:invalid" result="pass"/><test-case name="36500RegexTest_332 tokoe:valid" result="fail"/><test-case name="36501RegexTest_332.i tokoe:invalid" result="pass"/><test-case name="36502RegexTest_333 tokoe:valid" result="fail"/><test-case name="36503RegexTest_333.i tokoe:invalid" result="pass"/><test-case name="36504RegexTest_334 tokoe:valid" result="fail"/><test-case name="36505RegexTest_334.i tokoe:invalid" result="pass"/><test-case name="36506RegexTest_335 tokoe:valid" result="fail"/><test-case name="36507RegexTest_335.i tokoe:invalid" result="pass"/><test-case name="36508RegexTest_336 tokoe:valid" result="fail"/><test-case name="36509RegexTest_336.i tokoe:invalid" result="pass"/><test-case name="36510RegexTest_337 tokoe:valid" result="fail"/><test-case name="36511RegexTest_337.i tokoe:invalid" result="pass"/><test-case name="36512RegexTest_339 tokoe:valid" result="fail"/><test-case name="36513RegexTest_339.i tokoe:invalid" result="pass"/><test-case name="36514RegexTest_340 tokoe:valid" result="fail"/><test-case name="36515RegexTest_340.i tokoe:invalid" result="pass"/><test-case name="36516RegexTest_341 tokoe:valid" result="fail"/><test-case name="36517RegexTest_341.i tokoe:invalid" result="pass"/><test-case name="36518RegexTest_342 tokoe:valid" result="fail"/><test-case name="36519RegexTest_342.i tokoe:invalid" result="pass"/><test-case name="36520RegexTest_343 tokoe:valid" result="fail"/><test-case name="36521RegexTest_343.i tokoe:invalid" result="pass"/><test-case name="36522RegexTest_344 tokoe:valid" result="fail"/><test-case name="36523RegexTest_344.i tokoe:invalid" result="pass"/><test-case name="36524RegexTest_345 tokoe:valid" result="fail"/><test-case name="36525RegexTest_345.i tokoe:invalid" result="pass"/><test-case name="36526RegexTest_346 tokoe:valid" result="fail"/><test-case name="36527RegexTest_346.i tokoe:invalid" result="pass"/><test-case name="36528RegexTest_347 tokoe:valid" result="fail"/><test-case name="36529RegexTest_347.i tokoe:invalid" result="pass"/><test-case name="36530RegexTest_348 tokoe:valid" result="fail"/><test-case name="36531RegexTest_348.i tokoe:invalid" result="pass"/><test-case name="36532RegexTest_349 tokoe:valid" result="fail"/><test-case name="36533RegexTest_349.i tokoe:invalid" result="pass"/><test-case name="36534RegexTest_350 tokoe:valid" result="fail"/><test-case name="36535RegexTest_350.i tokoe:invalid" result="pass"/><test-case name="36536RegexTest_352 tokoe:valid" result="fail"/><test-case name="36537RegexTest_352.i tokoe:invalid" result="pass"/><test-case name="36538RegexTest_353 tokoe:valid" result="fail"/><test-case name="36539RegexTest_353.i tokoe:invalid" result="pass"/><test-case name="36540RegexTest_354 tokoe:valid" result="fail"/><test-case name="36541RegexTest_354.i tokoe:invalid" result="pass"/><test-case name="36542RegexTest_356 tokoe:valid" result="fail"/><test-case name="36543RegexTest_356.i tokoe:invalid" result="pass"/><test-case name="36544RegexTest_357 tokoe:valid" result="fail"/><test-case name="36545RegexTest_357.i tokoe:invalid" result="pass"/><test-case name="36546RegexTest_358 tokoe:valid" result="fail"/><test-case name="36547RegexTest_358.i tokoe:invalid" result="pass"/><test-case name="36548RegexTest_359 tokoe:valid" result="fail"/><test-case name="36549RegexTest_359.i tokoe:invalid" result="pass"/><test-case name="36550RegexTest_363 tokoe:valid" result="fail"/><test-case name="36551RegexTest_363.i tokoe:invalid" result="pass"/><test-case name="36552RegexTest_364 tokoe:valid" result="fail"/><test-case name="36553RegexTest_364.i tokoe:invalid" result="pass"/><test-case name="36554RegexTest_365 tokoe:valid" result="fail"/><test-case name="36555RegexTest_365.i tokoe:invalid" result="pass"/><test-case name="36556RegexTest_367 tokoe:valid" result="fail"/><test-case name="36557RegexTest_367.i tokoe:invalid" result="pass"/><test-case name="36558RegexTest_370 tokoe:valid" result="fail"/><test-case name="36559RegexTest_370.i tokoe:invalid" result="pass"/><test-case name="36560RegexTest_371 tokoe:valid" result="fail"/><test-case name="36561RegexTest_371.i tokoe:invalid" result="pass"/><test-case name="36562RegexTest_372 tokoe:valid" result="fail"/><test-case name="36563RegexTest_372.i tokoe:invalid" result="pass"/><test-case name="36564RegexTest_373 tokoe:valid" result="fail"/><test-case name="36565RegexTest_373.i tokoe:invalid" result="pass"/><test-case name="36566RegexTest_374 tokoe:valid" result="fail"/><test-case name="36567RegexTest_374.i tokoe:invalid" result="pass"/><test-case name="36568RegexTest_375 tokoe:valid" result="fail"/><test-case name="36569RegexTest_375.i tokoe:invalid" result="pass"/><test-case name="36570RegexTest_420 tokoe:valid" result="fail"/><test-case name="36571RegexTest_420.i tokoe:invalid" result="pass"/><test-case name="36572RegexTest_421 tokoe:valid" result="fail"/><test-case name="36573RegexTest_421.i tokoe:invalid" result="pass"/><test-case name="36574RegexTest_422 tokoe:valid" result="fail"/><test-case name="36575RegexTest_422.i tokoe:invalid" result="pass"/><test-case name="36576RegexTest_424 tokoe:valid" result="fail"/><test-case name="36577RegexTest_424.i tokoe:invalid" result="pass"/><test-case name="36578RegexTest_425 tokoe:valid" result="fail"/><test-case name="36579RegexTest_425.i tokoe:invalid" result="pass"/><test-case name="36580RegexTest_426 tokoe:valid" result="fail"/><test-case name="36581RegexTest_426.i tokoe:invalid" result="pass"/><test-case name="36582RegexTest_429 tokoe:valid" result="fail"/><test-case name="36583RegexTest_429.i tokoe:invalid" result="pass"/><test-case name="36584RegexTest_430 tokoe:valid" result="fail"/><test-case name="36585RegexTest_430.i tokoe:invalid" result="pass"/><test-case name="36586RegexTest_433 tokoe:valid" result="fail"/><test-case name="36587RegexTest_433.i tokoe:invalid" result="pass"/><test-case name="36588RegexTest_434 tokoe:valid" result="fail"/><test-case name="36589RegexTest_434.i tokoe:invalid" result="pass"/><test-case name="36590RegexTest_438 tokoe:valid" result="fail"/><test-case name="36591RegexTest_438.i tokoe:invalid" result="pass"/><test-case name="36592RegexTest_439 tokoe:valid" result="fail"/><test-case name="36593RegexTest_439.i tokoe:invalid" result="pass"/><test-case name="36594RegexTest_459 tokoe:valid" result="fail"/><test-case name="36595RegexTest_459.i tokoe:invalid" result="pass"/><test-case name="36596RegexTest_460 tokoe:valid" result="fail"/><test-case name="36597RegexTest_460.i tokoe:invalid" result="pass"/><test-case name="36598RegexTest_461 tokoe:valid" result="fail"/><test-case name="36599RegexTest_461.i tokoe:invalid" result="pass"/><test-case name="36600RegexTest_462 tokoe:valid" result="fail"/><test-case name="36601RegexTest_462.i tokoe:invalid" result="pass"/><test-case name="36602RegexTest_466 tokoe:valid" result="pass"/><test-case name="36603RegexTest_466.i tokoe:invalid" result="pass"/><test-case name="36604RegexTest_467 tokoe:valid" result="pass"/><test-case name="36605RegexTest_467.i tokoe:invalid" result="pass"/><test-case name="36606RegexTest_468 tokoe:valid" result="pass"/><test-case name="36607RegexTest_468.i tokoe:invalid" result="pass"/><test-case name="36608RegexTest_474 tokoe:valid" result="pass"/><test-case name="36609RegexTest_474.i tokoe:invalid" result="pass"/><test-case name="36610RegexTest_475 tokoe:valid" result="fail"/><test-case name="36611RegexTest_475.i tokoe:invalid" result="pass"/><test-case name="36612RegexTest_476 tokoe:valid" result="fail"/><test-case name="36613RegexTest_476.i tokoe:invalid" result="pass"/><test-case name="36614RegexTest_488 tokoe:valid" result="pass"/><test-case name="36615RegexTest_488.i tokoe:invalid" result="pass"/><test-case name="36616RegexTest_489 tokoe:valid" result="pass"/><test-case name="36617RegexTest_489.i tokoe:invalid" result="pass"/><test-case name="36618RegexTest_491 tokoe:valid" result="pass"/><test-case name="36619RegexTest_491.i tokoe:invalid" result="pass"/><test-case name="36620RegexTest_492 tokoe:valid" result="pass"/><test-case name="36621RegexTest_492.i tokoe:invalid" result="pass"/><test-case name="36622RegexTest_493 tokoe:valid" result="pass"/><test-case name="36623RegexTest_493.i tokoe:invalid" result="pass"/><test-case name="36624RegexTest_494 tokoe:valid" result="pass"/><test-case name="36625RegexTest_494.i tokoe:invalid" result="pass"/><test-case name="36626RegexTest_495 tokoe:valid" result="pass"/><test-case name="36627RegexTest_495.v tokoe:valid" result="pass"/><test-case name="36628RegexTest_496 tokoe:valid" result="pass"/><test-case name="36629RegexTest_496.i tokoe:invalid" result="pass"/><test-case name="36630RegexTest_497 tokoe:valid" result="pass"/><test-case name="36631RegexTest_497.i tokoe:invalid" result="pass"/><test-case name="36632RegexTest_498 tokoe:valid" result="pass"/><test-case name="36633RegexTest_498.i tokoe:invalid" result="pass"/><test-case name="36634RegexTest_499 tokoe:valid" result="pass"/><test-case name="36635RegexTest_499.i tokoe:invalid" result="pass"/><test-case name="36636RegexTest_500 tokoe:valid" result="pass"/><test-case name="36637RegexTest_500.i tokoe:invalid" result="pass"/><test-case name="36638RegexTest_501 tokoe:valid" result="pass"/><test-case name="36639RegexTest_501.i tokoe:invalid" result="pass"/><test-case name="36640RegexTest_502 tokoe:valid" result="pass"/><test-case name="36641RegexTest_502.i tokoe:invalid" result="pass"/><test-case name="36642RegexTest_503 tokoe:valid" result="pass"/><test-case name="36643RegexTest_503.i tokoe:invalid" result="pass"/><test-case name="36644RegexTest_504 tokoe:valid" result="pass"/><test-case name="36645RegexTest_504.i tokoe:invalid" result="pass"/><test-case name="36646RegexTest_506 tokoe:valid" result="pass"/><test-case name="36647RegexTest_506.i tokoe:invalid" result="pass"/><test-case name="36648RegexTest_508 tokoe:valid" result="pass"/><test-case name="36649RegexTest_508.i tokoe:invalid" result="pass"/><test-case name="36650RegexTest_513 tokoe:valid" result="pass"/><test-case name="36651RegexTest_513.v tokoe:valid" result="pass"/><test-case name="36652RegexTest_514 tokoe:valid" result="pass"/><test-case name="36653RegexTest_514.i tokoe:invalid" result="pass"/><test-case name="36654RegexTest_515 tokoe:valid" result="pass"/><test-case name="36655RegexTest_515.v tokoe:valid" result="pass"/><test-case name="36656RegexTest_520 tokoe:valid" result="pass"/><test-case name="36657RegexTest_520.i tokoe:invalid" result="pass"/><test-case name="36658RegexTest_522 tokoe:valid" result="pass"/><test-case name="36659RegexTest_522.v tokoe:valid" result="pass"/><test-case name="36660RegexTest_525 tokoe:valid" result="pass"/><test-case name="36661RegexTest_525.v tokoe:valid" result="pass"/><test-case name="36662RegexTest_528 tokoe:valid" result="pass"/><test-case name="36663RegexTest_528.i tokoe:invalid" result="pass"/><test-case name="36664RegexTest_529 tokoe:valid" result="pass"/><test-case name="36665RegexTest_529.i tokoe:invalid" result="pass"/><test-case name="36666RegexTest_530 tokoe:valid" result="pass"/><test-case name="36667RegexTest_530.v tokoe:valid" result="pass"/><test-case name="36668RegexTest_531 tokoe:valid" result="pass"/><test-case name="36669RegexTest_531.i tokoe:invalid" result="pass"/><test-case name="36670RegexTest_532 tokoe:valid" result="pass"/><test-case name="36671RegexTest_532.i tokoe:invalid" result="pass"/><test-case name="36672RegexTest_533 tokoe:valid" result="pass"/><test-case name="36673RegexTest_533.i tokoe:invalid" result="pass"/><test-case name="36674RegexTest_535 tokoe:valid" result="pass"/><test-case name="36675RegexTest_535.v tokoe:valid" result="pass"/><test-case name="36676RegexTest_536 tokoe:valid" result="pass"/><test-case name="36677RegexTest_537 tokoe:valid" result="pass"/><test-case name="36678RegexTest_538 tokoe:valid" result="pass"/><test-case name="36679RegexTest_539 tokoe:valid" result="pass"/><test-case name="36680RegexTest_540 tokoe:valid" result="pass"/><test-case name="36681RegexTest_541 tokoe:valid" result="pass"/><test-case name="36682RegexTest_542 tokoe:valid" result="pass"/><test-case name="36683RegexTest_543 tokoe:valid" result="pass"/><test-case name="36684RegexTest_544 tokoe:valid" result="pass"/><test-case name="36685RegexTest_545 tokoe:valid" result="pass"/><test-case name="36686RegexTest_546 tokoe:valid" result="pass"/><test-case name="36687RegexTest_547 tokoe:valid" result="pass"/><test-case name="36688RegexTest_548 tokoe:valid" result="pass"/><test-case name="36689RegexTest_549 tokoe:valid" result="pass"/><test-case name="36690RegexTest_550 tokoe:valid" result="pass"/><test-case name="36691RegexTest_551 tokoe:valid" result="pass"/><test-case name="36692RegexTest_552 tokoe:valid" result="pass"/><test-case name="36693RegexTest_553 tokoe:valid" result="pass"/><test-case name="36694RegexTest_554 tokoe:valid" result="pass"/><test-case name="36695RegexTest_555 tokoe:valid" result="pass"/><test-case name="36696RegexTest_556 tokoe:valid" result="pass"/><test-case name="36697RegexTest_557 tokoe:valid" result="pass"/><test-case name="36698RegexTest_558 tokoe:valid" result="pass"/><test-case name="36699RegexTest_559 tokoe:valid" result="pass"/><test-case name="36700RegexTest_560 tokoe:valid" result="pass"/><test-case name="36701RegexTest_561 tokoe:valid" result="pass"/><test-case name="36702RegexTest_562 tokoe:valid" result="pass"/><test-case name="36703RegexTest_563 tokoe:valid" result="pass"/><test-case name="36704RegexTest_564 tokoe:valid" result="pass"/><test-case name="36705RegexTest_565 tokoe:valid" result="pass"/><test-case name="36706RegexTest_566 tokoe:valid" result="pass"/><test-case name="36707RegexTest_567 tokoe:valid" result="pass"/><test-case name="36708RegexTest_568 tokoe:valid" result="pass"/><test-case name="36709RegexTest_569 tokoe:valid" result="pass"/><test-case name="36710RegexTest_570 tokoe:valid" result="pass"/><test-case name="36711RegexTest_571 tokoe:valid" result="pass"/><test-case name="36712RegexTest_572 tokoe:valid" result="pass"/><test-case name="36713RegexTest_573 tokoe:valid" result="pass"/><test-case name="36714RegexTest_574 tokoe:valid" result="pass"/><test-case name="36715RegexTest_575 tokoe:valid" result="pass"/><test-case name="36716RegexTest_576 tokoe:valid" result="pass"/><test-case name="36717RegexTest_577 tokoe:valid" result="pass"/><test-case name="36718RegexTest_578 tokoe:valid" result="pass"/><test-case name="36719RegexTest_579 tokoe:valid" result="pass"/><test-case name="36720RegexTest_580 tokoe:valid" result="pass"/><test-case name="36721RegexTest_581 tokoe:valid" result="pass"/><test-case name="36722RegexTest_582 tokoe:valid" result="pass"/><test-case name="36723RegexTest_583 tokoe:invalid" result="fail"/><test-case name="36724RegexTest_584 tokoe:invalid" result="pass"/><test-case name="36725RegexTest_585 tokoe:invalid" result="pass"/><test-case name="36726RegexTest_588 tokoe:valid" result="pass"/><test-case name="36727RegexTest_589 tokoe:valid" result="pass"/><test-case name="36728RegexTest_590 tokoe:valid" result="pass"/><test-case name="36729RegexTest_591 tokoe:valid" result="pass"/><test-case name="36730RegexTest_606 tokoe:valid" result="pass"/><test-case name="36731RegexTest_607 tokoe:valid" result="pass"/><test-case name="36732RegexTest_608 tokoe:valid" result="pass"/><test-case name="36733RegexTest_609 tokoe:valid" result="pass"/><test-case name="36734RegexTest_610 tokoe:valid" result="pass"/><test-case name="36735RegexTest_611 tokoe:valid" result="pass"/><test-case name="36736RegexTest_612 tokoe:valid" result="pass"/><test-case name="36737RegexTest_613 tokoe:valid" result="pass"/><test-case name="36738RegexTest_614 tokoe:valid" result="pass"/><test-case name="36739RegexTest_615 tokoe:valid" result="pass"/><test-case name="36740RegexTest_616 tokoe:valid" result="pass"/><test-case name="36741RegexTest_617 tokoe:valid" result="pass"/><test-case name="36742RegexTest_618 tokoe:valid" result="pass"/><test-case name="36743RegexTest_619 tokoe:valid" result="pass"/><test-case name="36744RegexTest_620 tokoe:valid" result="pass"/><test-case name="36745RegexTest_621 tokoe:valid" result="pass"/><test-case name="36746RegexTest_622 tokoe:valid" result="pass"/><test-case name="36747RegexTest_623 tokoe:valid" result="pass"/><test-case name="36748RegexTest_624 tokoe:valid" result="pass"/><test-case name="36749RegexTest_625 tokoe:valid" result="pass"/><test-case name="36750RegexTest_626 tokoe:valid" result="pass"/><test-case name="36751RegexTest_627 tokoe:valid" result="pass"/><test-case name="36752RegexTest_628 tokoe:valid" result="pass"/><test-case name="36753RegexTest_629 tokoe:valid" result="pass"/><test-case name="36754RegexTest_630 tokoe:valid" result="pass"/><test-case name="36755RegexTest_631 tokoe:valid" result="pass"/><test-case name="36756RegexTest_632 tokoe:valid" result="pass"/><test-case name="36757RegexTest_633 tokoe:invalid" result="pass"/><test-case name="36758RegexTest_634 tokoe:invalid" result="pass"/><test-case name="36759RegexTest_635 tokoe:valid" result="pass"/><test-case name="36760RegexTest_636 tokoe:invalid" result="pass"/><test-case name="36761RegexTest_637 tokoe:valid" result="pass"/><test-case name="36762RegexTest_638 tokoe:valid" result="pass"/><test-case name="36763RegexTest_639 tokoe:valid" result="pass"/><test-case name="36764RegexTest_640 tokoe:valid" result="pass"/><test-case name="36765RegexTest_641 tokoe:invalid" result="pass"/><test-case name="36766RegexTest_642 tokoe:invalid" result="pass"/><test-case name="36767RegexTest_643 tokoe:valid" result="pass"/><test-case name="36768RegexTest_644 tokoe:valid" result="pass"/><test-case name="36769RegexTest_645 tokoe:valid" result="pass"/><test-case name="36770RegexTest_646 tokoe:valid" result="pass"/><test-case name="36771RegexTest_647 tokoe:invalid" result="pass"/><test-case name="36772RegexTest_649 tokoe:valid" result="pass"/><test-case name="36773RegexTest_650 tokoe:valid" result="pass"/><test-case name="36774RegexTest_651 tokoe:valid" result="pass"/><test-case name="36775RegexTest_652 tokoe:valid" result="pass"/><test-case name="36776RegexTest_653 tokoe:valid" result="pass"/><test-case name="36777RegexTest_654 tokoe:valid" result="pass"/><test-case name="36778RegexTest_656 tokoe:valid" result="pass"/><test-case name="36779RegexTest_657 tokoe:valid" result="pass"/><test-case name="36780RegexTest_658 tokoe:valid" result="pass"/><test-case name="36781RegexTest_659 tokoe:valid" result="pass"/><test-case name="36782RegexTest_660 tokoe:valid" result="pass"/><test-case name="36783RegexTest_661 tokoe:valid" result="pass"/><test-case name="36784RegexTest_662 tokoe:valid" result="pass"/><test-case name="36785RegexTest_663 tokoe:valid" result="pass"/><test-case name="36786RegexTest_664 tokoe:valid" result="pass"/><test-case name="36787RegexTest_665 tokoe:valid" result="pass"/><test-case name="36788RegexTest_666 tokoe:valid" result="pass"/><test-case name="36789RegexTest_667 tokoe:valid" result="pass"/><test-case name="36790RegexTest_668 tokoe:valid" result="pass"/><test-case name="36791RegexTest_669 tokoe:valid" result="pass"/><test-case name="36792RegexTest_670 tokoe:valid" result="pass"/><test-case name="36793RegexTest_671 tokoe:valid" result="pass"/><test-case name="36794RegexTest_672 tokoe:valid" result="pass"/><test-case name="36795RegexTest_673 tokoe:valid" result="pass"/><test-case name="36796RegexTest_674 tokoe:valid" result="pass"/><test-case name="36797RegexTest_675 tokoe:valid" result="pass"/><test-case name="36798RegexTest_676 tokoe:valid" result="pass"/><test-case name="36799RegexTest_677 tokoe:valid" result="pass"/><test-case name="36800RegexTest_678 tokoe:valid" result="pass"/><test-case name="36801RegexTest_679 tokoe:valid" result="pass"/><test-case name="36802RegexTest_680 tokoe:valid" result="pass"/><test-case name="36803RegexTest_681 tokoe:valid" result="pass"/><test-case name="36804RegexTest_682 tokoe:valid" result="pass"/><test-case name="36805RegexTest_683 tokoe:valid" result="pass"/><test-case name="36806RegexTest_684 tokoe:valid" result="pass"/><test-case name="36807RegexTest_685 tokoe:valid" result="pass"/><test-case name="36808RegexTest_686 tokoe:valid" result="pass"/><test-case name="36809RegexTest_687 tokoe:valid" result="pass"/><test-case name="36810RegexTest_689 tokoe:valid" result="pass"/><test-case name="36811RegexTest_690 tokoe:valid" result="pass"/><test-case name="36812RegexTest_691 tokoe:valid" result="pass"/><test-case name="36813RegexTest_692 tokoe:valid" result="pass"/><test-case name="36814RegexTest_693 tokoe:valid" result="pass"/><test-case name="36815RegexTest_694 tokoe:valid" result="pass"/><test-case name="36816RegexTest_695 tokoe:valid" result="pass"/><test-case name="36817RegexTest_699 tokoe:invalid" result="fail"/><test-case name="36818RegexTest_708 tokoe:valid" result="pass"/><test-case name="36819RegexTest_709 tokoe:valid" result="pass"/><test-case name="36820RegexTest_710 tokoe:valid" result="pass"/><test-case name="36821RegexTest_711 tokoe:valid" result="pass"/><test-case name="36822RegexTest_712 tokoe:valid" result="pass"/><test-case name="36823RegexTest_713 tokoe:valid" result="pass"/><test-case name="36824RegexTest_714 tokoe:valid" result="pass"/><test-case name="36825RegexTest_715 tokoe:valid" result="pass"/><test-case name="36826RegexTest_716 tokoe:valid" result="pass"/><test-case name="36827RegexTest_720 tokoe:valid" result="pass"/><test-case name="36828RegexTest_721 tokoe:valid" result="pass"/><test-case name="36829RegexTest_722 tokoe:valid" result="pass"/><test-case name="36830RegexTest_723 tokoe:valid" result="pass"/><test-case name="36831RegexTest_734 tokoe:valid" result="pass"/><test-case name="36832RegexTest_735 tokoe:valid" result="pass"/><test-case name="36833RegexTest_736 tokoe:valid" result="pass"/><test-case name="36834RegexTest_737 tokoe:valid" result="pass"/><test-case name="36835RegexTest_738 tokoe:valid" result="pass"/><test-case name="36836RegexTest_739 tokoe:valid" result="pass"/><test-case name="36837RegexTest_740 tokoe:valid" result="pass"/><test-case name="36838RegexTest_741 tokoe:valid" result="pass"/><test-case name="36839RegexTest_742 tokoe:valid" result="pass"/><test-case name="36840RegexTest_744 tokoe:valid" result="pass"/><test-case name="36841RegexTest_745 tokoe:valid" result="pass"/><test-case name="36842RegexTest_746 tokoe:valid" result="pass"/><test-case name="36843RegexTest_747 tokoe:valid" result="pass"/><test-case name="36844RegexTest_748 tokoe:valid" result="pass"/><test-case name="36845RegexTest_749 tokoe:valid" result="pass"/><test-case name="36846RegexTest_750 tokoe:valid" result="pass"/><test-case name="36847RegexTest_751 tokoe:valid" result="pass"/><test-case name="36848RegexTest_752 tokoe:invalid" result="fail"/><test-case name="36849RegexTest_753 tokoe:invalid" result="pass"/><test-case name="36850RegexTest_754 tokoe:invalid" result="pass"/><test-case name="36851RegexTest_757 tokoe:valid" result="pass"/><test-case name="36852RegexTest_758 tokoe:valid" result="pass"/><test-case name="36853RegexTest_759 tokoe:valid" result="pass"/><test-case name="36854RegexTest_760 tokoe:valid" result="pass"/><test-case name="36855RegexTest_763 tokoe:valid" result="pass"/><test-case name="36856RegexTest_764 tokoe:valid" result="pass"/><test-case name="36857RegexTest_765 tokoe:valid" result="pass"/><test-case name="36858RegexTest_766 tokoe:invalid" result="pass"/><test-case name="36859RegexTest_767 tokoe:invalid" result="pass"/><test-case name="36860RegexTest_768 tokoe:valid" result="pass"/><test-case name="36861RegexTest_769 tokoe:invalid" result="pass"/><test-case name="36862RegexTest_770 tokoe:valid" result="pass"/><test-case name="36863RegexTest_771 tokoe:valid" result="pass"/><test-case name="36864RegexTest_772 tokoe:valid" result="pass"/><test-case name="36865RegexTest_773 tokoe:valid" result="pass"/><test-case name="36866RegexTest_774 tokoe:invalid" result="pass"/><test-case name="36867RegexTest_775 tokoe:invalid" result="pass"/><test-case name="36868RegexTest_776 tokoe:valid" result="pass"/><test-case name="36869RegexTest_777 tokoe:valid" result="pass"/><test-case name="36870RegexTest_778 tokoe:valid" result="pass"/><test-case name="36871RegexTest_779 tokoe:valid" result="pass"/><test-case name="36872RegexTest_780 tokoe:invalid" result="pass"/><test-case name="36873RegexTest_784 tokoe:valid" result="pass"/><test-case name="36874RegexTest_785 tokoe:valid" result="pass"/><test-case name="36875RegexTest_786 tokoe:valid" result="pass"/><test-case name="36876RegexTest_787 tokoe:valid" result="pass"/><test-case name="36877RegexTest_788 tokoe:valid" result="pass"/><test-case name="36878RegexTest_789 tokoe:valid" result="pass"/><test-case name="36879RegexTest_792 tokoe:valid" result="pass"/><test-case name="36880RegexTest_793 tokoe:valid" result="pass"/><test-case name="36881RegexTest_794 tokoe:valid" result="pass"/><test-case name="36882RegexTest_795 tokoe:valid" result="pass"/><test-case name="36883RegexTest_796 tokoe:valid" result="pass"/><test-case name="36884RegexTest_797 tokoe:valid" result="pass"/><test-case name="36885RegexTest_798 tokoe:valid" result="pass"/><test-case name="36886RegexTest_799 tokoe:valid" result="pass"/><test-case name="36887RegexTest_800 tokoe:valid" result="pass"/><test-case name="36888RegexTest_801 tokoe:valid" result="pass"/><test-case name="36889RegexTest_802 tokoe:valid" result="pass"/><test-case name="36890RegexTest_803 tokoe:valid" result="pass"/><test-case name="36891RegexTest_804 tokoe:valid" result="pass"/><test-case name="36892RegexTest_805 tokoe:valid" result="pass"/><test-case name="36893RegexTest_806 tokoe:valid" result="pass"/><test-case name="36894RegexTest_807 tokoe:valid" result="pass"/><test-case name="36895RegexTest_808 tokoe:valid" result="pass"/><test-case name="36896RegexTest_809 tokoe:valid" result="pass"/><test-case name="36897RegexTest_810 tokoe:valid" result="pass"/><test-case name="36898RegexTest_811 tokoe:valid" result="pass"/><test-case name="36899RegexTest_812 tokoe:valid" result="pass"/><test-case name="36900RegexTest_813 tokoe:valid" result="pass"/><test-case name="36901RegexTest_814 tokoe:valid" result="pass"/><test-case name="36902RegexTest_815 tokoe:valid" result="pass"/><test-case name="36903RegexTest_816 tokoe:valid" result="pass"/><test-case name="36904RegexTest_817 tokoe:valid" result="pass"/><test-case name="36905RegexTest_818 tokoe:valid" result="pass"/><test-case name="36906RegexTest_819 tokoe:valid" result="pass"/><test-case name="36907RegexTest_820 tokoe:valid" result="pass"/><test-case name="36908RegexTest_821 tokoe:valid" result="pass"/><test-case name="36909RegexTest_822 tokoe:valid" result="pass"/><test-case name="36910RegexTest_823 tokoe:valid" result="pass"/><test-case name="36911RegexTest_825 tokoe:valid" result="pass"/><test-case name="36912RegexTest_828 tokoe:valid" result="pass"/><test-case name="36913RegexTest_829 tokoe:valid" result="pass"/><test-case name="36914RegexTest_830 tokoe:valid" result="pass"/><test-case name="36915RegexTest_831 tokoe:valid" result="pass"/><test-case name="36916RegexTest_832 tokoe:valid" result="pass"/><test-case name="36917RegexTest_833 tokoe:valid" result="pass"/><test-case name="36918RegexTest_834 tokoe:valid" result="pass"/><test-case name="36919RegexTest_835 tokoe:valid" result="pass"/><test-case name="36920RegexTest_849 tokoe:valid" result="pass"/><test-case name="36921RegexTest_850 tokoe:invalid" result="pass"/><test-case name="36922RegexTest_858 tokoe:valid" result="pass"/><test-case name="36923RegexTest_859 tokoe:valid" result="pass"/><test-case name="36924RegexTest_867 tokoe:valid" result="pass"/><test-case name="36925RegexTest_868 tokoe:valid" result="pass"/><test-case name="36926RegexTest_869 tokoe:valid" result="pass"/><test-case name="36927RegexTest_882 tokoe:valid" result="pass"/><test-case name="36928RegexTest_883 tokoe:valid" result="pass"/><test-case name="36929RegexTest_884 tokoe:valid" result="pass"/><test-case name="36930RegexTest_885 tokoe:valid" result="pass"/><test-case name="36931RegexTest_886 tokoe:valid" result="pass"/><test-case name="36932RegexTest_887 tokoe:valid" result="pass"/><test-case name="36933RegexTest_927 tokoe:valid" result="pass"/><test-case name="36934RegexTest_947 tokoe:valid" result="pass"/><test-case name="36935RegexTest_948 tokoe:valid" result="pass"/><test-case name="36936RegexTest_965 tokoe:invalid" result="pass"/><test-case name="36937RegexTest_966 tokoe:invalid" result="pass"/><test-case name="36938RegexTest_973 tokoe:valid" result="pass"/><test-case name="36939RegexTest_978 tokoe:valid" result="pass"/><test-case name="36940RegexTest_979 tokoe:valid" result="pass"/><test-case name="36941RegexTest_980 tokoe:valid" result="pass"/><test-case name="36942RegexTest_981 tokoe:valid" result="pass"/><test-case name="36943RegexTest_982 tokoe:valid" result="pass"/><test-case name="36944RegexTest_983 tokoe:valid" result="pass"/><test-case name="36945RegexTest_984 tokoe:valid" result="pass"/><test-case name="36946RegexTest_985 tokoe:valid" result="pass"/><test-case name="36947RegexTest_986 tokoe:valid" result="pass"/><test-case name="36948RegexTest_987 tokoe:valid" result="pass"/><test-case name="36949RegexTest_992 tokoe:invalid" result="pass"/><test-case name="36950RegexTest_993 tokoe:invalid" result="fail"/><test-case name="36951RegexTest_999 tokoe:invalid" result="pass"/><test-case name="36952RegexTest_1005 tokoe:valid" result="pass"/><test-case name="36953RegexTest_1006 tokoe:valid" result="pass"/><test-case name="36954RegexTest_1020 tokoe:valid" result="pass"/><test-case name="36955RegexTest_1021 tokoe:valid" result="pass"/><test-case name="36956RegexTest_1022 tokoe:valid" result="pass"/><test-case name="36957RegexTest_1023 tokoe:valid" result="pass"/><test-case name="36958RegexTest_1024 tokoe:valid" result="pass"/><test-case name="36959RegexTest_1025 tokoe:valid" result="pass"/><test-case name="36960RegexTest_1026 tokoe:valid" result="pass"/><test-case name="36961RegexTest_1027 tokoe:valid" result="pass"/><test-case name="36962RegexTest_1028 tokoe:valid" result="pass"/><test-case name="36963RegexTest_1029 tokoe:valid" result="pass"/><test-case name="36964RegexTest_1030 tokoe:valid" result="pass"/><test-case name="36965RegexTest_1031 tokoe:valid" result="pass"/><test-case name="36966RegexTest_1032 tokoe:valid" result="pass"/><test-case name="36967RegexTest_1033 tokoe:valid" result="pass"/><test-case name="36968RegexTest_1034 tokoe:valid" result="pass"/><test-case name="36969RegexTest_1035 tokoe:valid" result="pass"/><test-case name="36970RegexTest_1036 tokoe:valid" result="pass"/><test-case name="36971RegexTest_1037 tokoe:valid" result="pass"/><test-case name="36972RegexTest_1038 tokoe:valid" result="pass"/><test-case name="36973RegexTest_1039 tokoe:valid" result="pass"/><test-case name="36974RegexTest_1040 tokoe:valid" result="pass"/><test-case name="36975RegexTest_1041 tokoe:valid" result="pass"/><test-case name="36976RegexTest_1042 tokoe:valid" result="pass"/><test-case name="36977RegexTest_1043 tokoe:valid" result="pass"/><test-case name="36978RegexTest_1044 tokoe:valid" result="pass"/><test-case name="36979RegexTest_1045 tokoe:valid" result="pass"/><test-case name="36980RegexTest_1046 tokoe:valid" result="pass"/><test-case name="36981RegexTest_1047 tokoe:valid" result="pass"/><test-case name="36982RegexTest_1048 tokoe:valid" result="pass"/><test-case name="36983RegexTest_1049 tokoe:valid" result="pass"/><test-case name="36984RegexTest_1050 tokoe:valid" result="pass"/><test-case name="36985RegexTest_1051 tokoe:valid" result="pass"/><test-case name="36986RegexTest_1052 tokoe:valid" result="pass"/><test-case name="36987RegexTest_1053 tokoe:valid" result="pass"/><test-case name="36988RegexTest_1054 tokoe:valid" result="pass"/><test-case name="36989RegexTest_1055 tokoe:valid" result="pass"/><test-case name="36990RegexTest_1056 tokoe:valid" result="pass"/><test-case name="36991RegexTest_1057 tokoe:valid" result="pass"/><test-case name="36992RegexTest_1058 tokoe:valid" result="pass"/><test-case name="36993RegexTest_1059 tokoe:valid" result="pass"/><test-case name="36994RegexTest_1060 tokoe:valid" result="pass"/><test-case name="36995RegexTest_1061 tokoe:valid" result="pass"/><test-case name="36996RegexTest_1062 tokoe:valid" result="pass"/><test-case name="36997RegexTest_1063 tokoe:valid" result="pass"/><test-case name="36998RegexTest_1064 tokoe:valid" result="pass"/><test-case name="36999RegexTest_1065 tokoe:valid" result="pass"/><test-case name="37000RegexTest_1066 tokoe:valid" result="pass"/><test-case name="37001RegexTest_1067 tokoe:invalid" result="fail"/><test-case name="37002RegexTest_1068 tokoe:invalid" result="pass"/><test-case name="37003RegexTest_1069 tokoe:invalid" result="pass"/><test-case name="37004RegexTest_1072 tokoe:valid" result="pass"/><test-case name="37005RegexTest_1073 tokoe:valid" result="pass"/><test-case name="37006RegexTest_1074 tokoe:valid" result="pass"/><test-case name="37007RegexTest_1075 tokoe:valid" result="pass"/><test-case name="37008RegexTest_1090 tokoe:valid" result="pass"/><test-case name="37009RegexTest_1091 tokoe:valid" result="pass"/><test-case name="37010RegexTest_1092 tokoe:valid" result="pass"/><test-case name="37011RegexTest_1093 tokoe:valid" result="pass"/><test-case name="37012RegexTest_1094 tokoe:valid" result="pass"/><test-case name="37013RegexTest_1095 tokoe:valid" result="pass"/><test-case name="37014RegexTest_1096 tokoe:valid" result="pass"/><test-case name="37015RegexTest_1097 tokoe:valid" result="pass"/><test-case name="37016RegexTest_1098 tokoe:valid" result="pass"/><test-case name="37017RegexTest_1099 tokoe:valid" result="pass"/><test-case name="37018RegexTest_1100 tokoe:valid" result="pass"/><test-case name="37019RegexTest_1101 tokoe:valid" result="pass"/><test-case name="37020RegexTest_1102 tokoe:valid" result="pass"/><test-case name="37021RegexTest_1103 tokoe:valid" result="pass"/><test-case name="37022RegexTest_1104 tokoe:valid" result="pass"/><test-case name="37023RegexTest_1105 tokoe:valid" result="pass"/><test-case name="37024RegexTest_1106 tokoe:valid" result="pass"/><test-case name="37025RegexTest_1107 tokoe:valid" result="pass"/><test-case name="37026RegexTest_1108 tokoe:valid" result="pass"/><test-case name="37027RegexTest_1109 tokoe:valid" result="pass"/><test-case name="37028RegexTest_1110 tokoe:valid" result="pass"/><test-case name="37029RegexTest_1111 tokoe:valid" result="pass"/><test-case name="37030RegexTest_1112 tokoe:valid" result="pass"/><test-case name="37031RegexTest_1113 tokoe:valid" result="pass"/><test-case name="37032RegexTest_1114 tokoe:valid" result="pass"/><test-case name="37033RegexTest_1115 tokoe:valid" result="pass"/><test-case name="37034RegexTest_1116 tokoe:valid" result="pass"/><test-case name="37035RegexTest_1117 tokoe:invalid" result="pass"/><test-case name="37036RegexTest_1118 tokoe:invalid" result="pass"/><test-case name="37037RegexTest_1119 tokoe:valid" result="pass"/><test-case name="37038RegexTest_1120 tokoe:invalid" result="pass"/><test-case name="37039RegexTest_1121 tokoe:valid" result="pass"/><test-case name="37040RegexTest_1122 tokoe:valid" result="pass"/><test-case name="37041RegexTest_1123 tokoe:valid" result="pass"/><test-case name="37042RegexTest_1124 tokoe:valid" result="pass"/><test-case name="37043RegexTest_1125 tokoe:invalid" result="pass"/><test-case name="37044RegexTest_1126 tokoe:invalid" result="pass"/><test-case name="37045RegexTest_1127 tokoe:valid" result="pass"/><test-case name="37046RegexTest_1128 tokoe:valid" result="pass"/><test-case name="37047RegexTest_1129 tokoe:valid" result="pass"/><test-case name="37048RegexTest_1130 tokoe:valid" result="pass"/><test-case name="37049RegexTest_1131 tokoe:invalid" result="pass"/><test-case name="37050RegexTest_1133 tokoe:valid" result="pass"/><test-case name="37051RegexTest_1134 tokoe:valid" result="pass"/><test-case name="37052RegexTest_1135 tokoe:valid" result="pass"/><test-case name="37053RegexTest_1136 tokoe:valid" result="pass"/><test-case name="37054RegexTest_1137 tokoe:valid" result="pass"/><test-case name="37055RegexTest_1138 tokoe:valid" result="pass"/><test-case name="37056RegexTest_1140 tokoe:valid" result="pass"/><test-case name="37057RegexTest_1141 tokoe:valid" result="pass"/><test-case name="37058RegexTest_1142 tokoe:valid" result="pass"/><test-case name="37059RegexTest_1143 tokoe:valid" result="pass"/><test-case name="37060RegexTest_1144 tokoe:valid" result="pass"/><test-case name="37061RegexTest_1145 tokoe:valid" result="pass"/><test-case name="37062RegexTest_1146 tokoe:valid" result="pass"/><test-case name="37063RegexTest_1147 tokoe:valid" result="pass"/><test-case name="37064RegexTest_1148 tokoe:valid" result="pass"/><test-case name="37065RegexTest_1149 tokoe:valid" result="pass"/><test-case name="37066RegexTest_1150 tokoe:valid" result="pass"/><test-case name="37067RegexTest_1151 tokoe:valid" result="pass"/><test-case name="37068RegexTest_1152 tokoe:valid" result="pass"/><test-case name="37069RegexTest_1153 tokoe:valid" result="pass"/><test-case name="37070RegexTest_1154 tokoe:valid" result="pass"/><test-case name="37071RegexTest_1155 tokoe:valid" result="pass"/><test-case name="37072RegexTest_1156 tokoe:valid" result="pass"/><test-case name="37073RegexTest_1157 tokoe:valid" result="pass"/><test-case name="37074RegexTest_1158 tokoe:valid" result="pass"/><test-case name="37075RegexTest_1159 tokoe:valid" result="pass"/><test-case name="37076RegexTest_1160 tokoe:valid" result="pass"/><test-case name="37077RegexTest_1161 tokoe:valid" result="pass"/><test-case name="37078RegexTest_1162 tokoe:valid" result="pass"/><test-case name="37079RegexTest_1163 tokoe:valid" result="pass"/><test-case name="37080RegexTest_1164 tokoe:valid" result="pass"/><test-case name="37081RegexTest_1165 tokoe:valid" result="pass"/><test-case name="37082RegexTest_1166 tokoe:valid" result="pass"/><test-case name="37083RegexTest_1167 tokoe:valid" result="pass"/><test-case name="37084RegexTest_1168 tokoe:valid" result="pass"/><test-case name="37085RegexTest_1169 tokoe:valid" result="pass"/><test-case name="37086RegexTest_1170 tokoe:valid" result="pass"/><test-case name="37087RegexTest_1171 tokoe:valid" result="pass"/><test-case name="37088RegexTest_1173 tokoe:valid" result="pass"/><test-case name="37089RegexTest_1174 tokoe:valid" result="pass"/><test-case name="37090RegexTest_1175 tokoe:valid" result="pass"/><test-case name="37091RegexTest_1176 tokoe:valid" result="pass"/><test-case name="37092RegexTest_1177 tokoe:valid" result="pass"/><test-case name="37093RegexTest_1178 tokoe:valid" result="pass"/><test-case name="37094RegexTest_1179 tokoe:valid" result="pass"/><test-case name="37095RegexTest_1183 tokoe:invalid" result="fail"/><test-case name="37096RegexTest_1192 tokoe:valid" result="pass"/><test-case name="37097RegexTest_1193 tokoe:valid" result="pass"/><test-case name="37098RegexTest_1194 tokoe:valid" result="pass"/><test-case name="37099RegexTest_1195 tokoe:valid" result="pass"/><test-case name="37100RegexTest_1196 tokoe:valid" result="pass"/><test-case name="37101RegexTest_1197 tokoe:valid" result="pass"/><test-case name="37102RegexTest_1198 tokoe:valid" result="pass"/><test-case name="37103RegexTest_1199 tokoe:valid" result="pass"/><test-case name="37104RegexTest_1200 tokoe:valid" result="pass"/><test-case name="37105RegexTest_1204 tokoe:valid" result="pass"/><test-case name="37106RegexTest_1205 tokoe:valid" result="pass"/><test-case name="37107RegexTest_1206 tokoe:valid" result="pass"/><test-case name="37108RegexTest_1207 tokoe:valid" result="pass"/><test-case name="37109RegexTest_1218 tokoe:valid" result="pass"/><test-case name="37110RegexTest_1219 tokoe:valid" result="pass"/><test-case name="37111RegexTest_1220 tokoe:valid" result="pass"/><test-case name="37112RegexTest_1221 tokoe:valid" result="pass"/><test-case name="37113RegexTest_1222 tokoe:valid" result="pass"/><test-case name="37114RegexTest_1223 tokoe:valid" result="pass"/><test-case name="37115RegexTest_1224 tokoe:valid" result="pass"/><test-case name="37116RegexTest_1225 tokoe:valid" result="pass"/><test-case name="37117RegexTest_1226 tokoe:valid" result="pass"/><test-case name="37118RegexTest_1228 tokoe:valid" result="pass"/><test-case name="37119RegexTest_1229 tokoe:valid" result="pass"/><test-case name="37120RegexTest_1230 tokoe:valid" result="pass"/><test-case name="37121RegexTest_1231 tokoe:valid" result="pass"/><test-case name="37122RegexTest_1232 tokoe:valid" result="pass"/><test-case name="37123RegexTest_1233 tokoe:valid" result="pass"/><test-case name="37124RegexTest_1234 tokoe:valid" result="pass"/><test-case name="37125RegexTest_1235 tokoe:valid" result="pass"/><test-case name="37126RegexTest_1236 tokoe:invalid" result="fail"/><test-case name="37127RegexTest_1237 tokoe:invalid" result="pass"/><test-case name="37128RegexTest_1238 tokoe:invalid" result="pass"/><test-case name="37129RegexTest_1241 tokoe:valid" result="pass"/><test-case name="37130RegexTest_1242 tokoe:valid" result="pass"/><test-case name="37131RegexTest_1243 tokoe:valid" result="pass"/><test-case name="37132RegexTest_1244 tokoe:valid" result="pass"/><test-case name="37133RegexTest_1247 tokoe:valid" result="pass"/><test-case name="37134RegexTest_1248 tokoe:valid" result="pass"/><test-case name="37135RegexTest_1249 tokoe:valid" result="pass"/><test-case name="37136RegexTest_1250 tokoe:invalid" result="pass"/><test-case name="37137RegexTest_1251 tokoe:invalid" result="pass"/><test-case name="37138RegexTest_1252 tokoe:valid" result="pass"/><test-case name="37139RegexTest_1253 tokoe:invalid" result="pass"/><test-case name="37140RegexTest_1254 tokoe:valid" result="pass"/><test-case name="37141RegexTest_1255 tokoe:valid" result="pass"/><test-case name="37142RegexTest_1256 tokoe:valid" result="pass"/><test-case name="37143RegexTest_1257 tokoe:valid" result="pass"/><test-case name="37144RegexTest_1258 tokoe:invalid" result="pass"/><test-case name="37145RegexTest_1259 tokoe:invalid" result="pass"/><test-case name="37146RegexTest_1260 tokoe:valid" result="pass"/><test-case name="37147RegexTest_1261 tokoe:valid" result="pass"/><test-case name="37148RegexTest_1262 tokoe:valid" result="pass"/><test-case name="37149RegexTest_1263 tokoe:valid" result="pass"/><test-case name="37150RegexTest_1264 tokoe:invalid" result="pass"/><test-case name="37151RegexTest_1268 tokoe:valid" result="pass"/><test-case name="37152RegexTest_1269 tokoe:valid" result="pass"/><test-case name="37153RegexTest_1270 tokoe:valid" result="pass"/><test-case name="37154RegexTest_1271 tokoe:valid" result="pass"/><test-case name="37155RegexTest_1272 tokoe:valid" result="pass"/><test-case name="37156RegexTest_1273 tokoe:valid" result="pass"/><test-case name="37157RegexTest_1276 tokoe:valid" result="pass"/><test-case name="37158RegexTest_1277 tokoe:valid" result="pass"/><test-case name="37159RegexTest_1278 tokoe:valid" result="pass"/><test-case name="37160RegexTest_1279 tokoe:valid" result="pass"/><test-case name="37161RegexTest_1280 tokoe:valid" result="pass"/><test-case name="37162RegexTest_1281 tokoe:valid" result="pass"/><test-case name="37163RegexTest_1282 tokoe:valid" result="pass"/><test-case name="37164RegexTest_1283 tokoe:valid" result="pass"/><test-case name="37165RegexTest_1284 tokoe:valid" result="pass"/><test-case name="37166RegexTest_1285 tokoe:valid" result="pass"/><test-case name="37167RegexTest_1286 tokoe:valid" result="pass"/><test-case name="37168RegexTest_1287 tokoe:valid" result="pass"/><test-case name="37169RegexTest_1288 tokoe:valid" result="pass"/><test-case name="37170RegexTest_1289 tokoe:valid" result="pass"/><test-case name="37171RegexTest_1290 tokoe:valid" result="pass"/><test-case name="37172RegexTest_1291 tokoe:valid" result="pass"/><test-case name="37173RegexTest_1292 tokoe:valid" result="pass"/><test-case name="37174RegexTest_1293 tokoe:valid" result="pass"/><test-case name="37175RegexTest_1294 tokoe:valid" result="pass"/><test-case name="37176RegexTest_1295 tokoe:valid" result="pass"/><test-case name="37177RegexTest_1296 tokoe:valid" result="pass"/><test-case name="37178RegexTest_1297 tokoe:valid" result="pass"/><test-case name="37179RegexTest_1298 tokoe:valid" result="pass"/><test-case name="37180RegexTest_1299 tokoe:valid" result="pass"/><test-case name="37181RegexTest_1300 tokoe:valid" result="pass"/><test-case name="37182RegexTest_1301 tokoe:valid" result="pass"/><test-case name="37183RegexTest_1302 tokoe:valid" result="pass"/><test-case name="37184RegexTest_1303 tokoe:valid" result="pass"/><test-case name="37185RegexTest_1304 tokoe:valid" result="pass"/><test-case name="37186RegexTest_1305 tokoe:valid" result="pass"/><test-case name="37187RegexTest_1306 tokoe:valid" result="pass"/><test-case name="37188RegexTest_1307 tokoe:valid" result="pass"/><test-case name="37189RegexTest_1309 tokoe:valid" result="pass"/><test-case name="37190RegexTest_1312 tokoe:valid" result="pass"/><test-case name="37191RegexTest_1313 tokoe:valid" result="pass"/><test-case name="37192RegexTest_1314 tokoe:valid" result="pass"/><test-case name="37193RegexTest_1315 tokoe:valid" result="pass"/><test-case name="37194RegexTest_1316 tokoe:valid" result="pass"/><test-case name="37195RegexTest_1317 tokoe:valid" result="pass"/><test-case name="37196RegexTest_1318 tokoe:valid" result="pass"/><test-case name="37197RegexTest_1319 tokoe:valid" result="pass"/><test-case name="37198RegexTest_1333 tokoe:valid" result="pass"/><test-case name="37199RegexTest_1334 tokoe:invalid" result="pass"/><test-case name="37200RegexTest_1342 tokoe:valid" result="pass"/><test-case name="37201RegexTest_1343 tokoe:valid" result="pass"/><test-case name="37202RegexTest_1351 tokoe:valid" result="pass"/><test-case name="37203RegexTest_1352 tokoe:valid" result="pass"/><test-case name="37204RegexTest_1353 tokoe:valid" result="pass"/><test-case name="37205RegexTest_1366 tokoe:valid" result="pass"/><test-case name="37206RegexTest_1367 tokoe:valid" result="pass"/><test-case name="37207RegexTest_1368 tokoe:valid" result="pass"/><test-case name="37208RegexTest_1369 tokoe:valid" result="pass"/><test-case name="37209RegexTest_1370 tokoe:valid" result="pass"/><test-case name="37210RegexTest_1371 tokoe:valid" result="pass"/><test-case name="37211RegexTest_1411 tokoe:valid" result="pass"/><test-case name="37212RegexTest_1431 tokoe:valid" result="pass"/><test-case name="37213RegexTest_1432 tokoe:valid" result="pass"/><test-case name="37214RegexTest_1449 tokoe:invalid" result="pass"/><test-case name="37215RegexTest_1450 tokoe:invalid" result="pass"/><test-case name="37216RegexTest_1457 tokoe:valid" result="pass"/><test-case name="37217RegexTest_1462 tokoe:valid" result="pass"/><test-case name="37218RegexTest_1463 tokoe:valid" result="pass"/><test-case name="37219RegexTest_1464 tokoe:valid" result="pass"/><test-case name="37220RegexTest_1465 tokoe:valid" result="pass"/><test-case name="37221RegexTest_1466 tokoe:valid" result="pass"/><test-case name="37222RegexTest_1467 tokoe:valid" result="pass"/><test-case name="37223RegexTest_1468 tokoe:valid" result="pass"/><test-case name="37224RegexTest_1469 tokoe:valid" result="pass"/><test-case name="37225RegexTest_1470 tokoe:valid" result="pass"/><test-case name="37226RegexTest_1471 tokoe:valid" result="pass"/><test-case name="37227RegexTest_1476 tokoe:invalid" result="pass"/><test-case name="37228RegexTest_1477 tokoe:invalid" result="fail"/><test-case name="37229RegexTest_1483 tokoe:invalid" result="pass"/><test-case name="37230RegexTest_1489 tokoe:valid" result="pass"/><test-case name="37231RegexTest_1490 tokoe:valid" result="pass"/><test-case name="37232RegexTest_1504 tokoe:valid" result="pass"/><test-case name="37233RegexTest_1505 tokoe:valid" result="pass"/><test-case name="37234RegexTest_1506 tokoe:valid" result="pass"/><test-case name="37235RegexTest_1507 tokoe:valid" result="pass"/><test-case name="37236RegexTest_1508 tokoe:valid" result="pass"/><test-case name="37237RegexTest_1509 tokoe:valid" result="pass"/><test-case name="37238RegexTest_1510 tokoe:valid" result="pass"/><test-case name="37239RegexTest_1511 tokoe:valid" result="pass"/><test-case name="37240RegexTest_1512 tokoe:valid" result="pass"/><test-case name="37241RegexTest_1513 tokoe:valid" result="pass"/><test-case name="37242RegexTest_1514 tokoe:valid" result="pass"/><test-case name="37243RegexTest_1515 tokoe:valid" result="pass"/><test-case name="37244RegexTest_1516 tokoe:valid" result="pass"/><test-case name="37245RegexTest_1517 tokoe:valid" result="pass"/><test-case name="37246RegexTest_1518 tokoe:valid" result="pass"/><test-case name="37247RegexTest_1519 tokoe:valid" result="pass"/><test-case name="37248RegexTest_1520 tokoe:valid" result="pass"/><test-case name="37249RegexTest_1521 tokoe:valid" result="pass"/><test-case name="37250RegexTest_1522 tokoe:valid" result="pass"/><test-case name="37251RegexTest_1523 tokoe:valid" result="pass"/><test-case name="37252RegexTest_1524 tokoe:valid" result="pass"/><test-case name="37253RegexTest_1525 tokoe:valid" result="pass"/><test-case name="37254RegexTest_1526 tokoe:valid" result="pass"/><test-case name="37255RegexTest_1527 tokoe:valid" result="pass"/><test-case name="37256RegexTest_1528 tokoe:valid" result="pass"/><test-case name="37257RegexTest_1529 tokoe:valid" result="pass"/><test-case name="37258RegexTest_1530 tokoe:valid" result="pass"/><test-case name="37259RegexTest_1531 tokoe:valid" result="pass"/><test-case name="37260RegexTest_1532 tokoe:valid" result="pass"/><test-case name="37261RegexTest_1533 tokoe:valid" result="pass"/><test-case name="37262RegexTest_1534 tokoe:valid" result="pass"/><test-case name="37263RegexTest_1535 tokoe:valid" result="pass"/><test-case name="37264RegexTest_1536 tokoe:valid" result="pass"/><test-case name="37265RegexTest_1537 tokoe:valid" result="pass"/><test-case name="37266RegexTest_1538 tokoe:valid" result="pass"/><test-case name="37267RegexTest_1539 tokoe:valid" result="pass"/><test-case name="37268RegexTest_1540 tokoe:valid" result="pass"/><test-case name="37269RegexTest_1541 tokoe:valid" result="pass"/><test-case name="37270BasicLatin tokoe:valid" result="pass"/><test-case name="37271BasicLatin.v tokoe:valid" result="pass"/><test-case name="37272Latin-1Supplement tokoe:valid" result="pass"/><test-case name="37273Latin-1Supplement.v tokoe:valid" result="pass"/><test-case name="37274LatinExtended-A tokoe:valid" result="pass"/><test-case name="37275LatinExtended-A.v tokoe:valid" result="pass"/><test-case name="37276LatinExtended-B tokoe:valid" result="pass"/><test-case name="37277LatinExtended-B.v tokoe:valid" result="pass"/><test-case name="37278IPAExtensions tokoe:valid" result="pass"/><test-case name="37279IPAExtensions.v tokoe:valid" result="pass"/><test-case name="37280SpacingModifierLetters tokoe:valid" result="pass"/><test-case name="37281SpacingModifierLetters.v tokoe:valid" result="pass"/><test-case name="37282CombiningDiacriticalMarks tokoe:valid" result="pass"/><test-case name="37283CombiningDiacriticalMarks.v tokoe:valid" result="pass"/><test-case name="37284Cyrillic tokoe:valid" result="pass"/><test-case name="37285Cyrillic.v tokoe:valid" result="pass"/><test-case name="37286Armenian tokoe:valid" result="pass"/><test-case name="37287Armenian.v tokoe:valid" result="pass"/><test-case name="37288Hebrew tokoe:valid" result="pass"/><test-case name="37289Hebrew.v tokoe:valid" result="pass"/><test-case name="37290Arabic tokoe:valid" result="pass"/><test-case name="37291Arabic.v tokoe:valid" result="pass"/><test-case name="37292Syriac tokoe:valid" result="pass"/><test-case name="37293Syriac.v tokoe:valid" result="pass"/><test-case name="37294Thaana tokoe:valid" result="pass"/><test-case name="37295Thaana.v tokoe:valid" result="pass"/><test-case name="37296Devanagari tokoe:valid" result="pass"/><test-case name="37297Devanagari.v tokoe:valid" result="pass"/><test-case name="37298Bengali tokoe:valid" result="pass"/><test-case name="37299Bengali.v tokoe:valid" result="pass"/><test-case name="37300Gurmukhi tokoe:valid" result="pass"/><test-case name="37301Gurmukhi.v tokoe:valid" result="pass"/><test-case name="37302Gujarati tokoe:valid" result="pass"/><test-case name="37303Gujarati.v tokoe:valid" result="pass"/><test-case name="37304Oriya tokoe:valid" result="pass"/><test-case name="37305Oriya.v tokoe:valid" result="pass"/><test-case name="37306Tamil tokoe:valid" result="pass"/><test-case name="37307Tamil.v tokoe:valid" result="pass"/><test-case name="37308Telugu tokoe:valid" result="pass"/><test-case name="37309Telugu.v tokoe:valid" result="pass"/><test-case name="37310Kannada tokoe:valid" result="pass"/><test-case name="37311Kannada.v tokoe:valid" result="pass"/><test-case name="37312Malayalam tokoe:valid" result="pass"/><test-case name="37313Malayalam.v tokoe:valid" result="pass"/><test-case name="37314Sinhala tokoe:valid" result="pass"/><test-case name="37315Sinhala.v tokoe:valid" result="pass"/><test-case name="37316Thai tokoe:valid" result="pass"/><test-case name="37317Thai.v tokoe:valid" result="pass"/><test-case name="37318Lao tokoe:valid" result="pass"/><test-case name="37319Lao.v tokoe:valid" result="pass"/><test-case name="37320Tibetan tokoe:valid" result="pass"/><test-case name="37321Tibetan.v tokoe:valid" result="pass"/><test-case name="37322Myanmar tokoe:valid" result="pass"/><test-case name="37323Myanmar.v tokoe:valid" result="pass"/><test-case name="37324Georgian tokoe:valid" result="pass"/><test-case name="37325Georgian.v tokoe:valid" result="pass"/><test-case name="37326HangulJamo tokoe:valid" result="pass"/><test-case name="37327HangulJamo.v tokoe:valid" result="pass"/><test-case name="37328Ethiopic tokoe:valid" result="pass"/><test-case name="37329Ethiopic.v tokoe:valid" result="pass"/><test-case name="37330Cherokee tokoe:valid" result="pass"/><test-case name="37331Cherokee.v tokoe:valid" result="pass"/><test-case name="37332UnifiedCanadianAboriginalSyllabics tokoe:valid" result="pass"/><test-case name="37333UnifiedCanadianAboriginalSyllabics.v tokoe:valid" result="pass"/><test-case name="37334Ogham tokoe:valid" result="pass"/><test-case name="37335Ogham.v tokoe:valid" result="pass"/><test-case name="37336Runic tokoe:valid" result="pass"/><test-case name="37337Runic.v tokoe:valid" result="pass"/><test-case name="37338Khmer tokoe:valid" result="pass"/><test-case name="37339Khmer.v tokoe:valid" result="pass"/><test-case name="37340Mongolian tokoe:valid" result="pass"/><test-case name="37341Mongolian.v tokoe:valid" result="pass"/><test-case name="37342LatinExtendedAdditional tokoe:valid" result="pass"/><test-case name="37343LatinExtendedAdditional.v tokoe:valid" result="pass"/><test-case name="37344GreekExtended tokoe:valid" result="pass"/><test-case name="37345GreekExtended.v tokoe:valid" result="pass"/><test-case name="37346GeneralPunctuation tokoe:valid" result="pass"/><test-case name="37347GeneralPunctuation.v tokoe:valid" result="pass"/><test-case name="37348SuperscriptsandSubscripts tokoe:valid" result="pass"/><test-case name="37349SuperscriptsandSubscripts.v tokoe:valid" result="pass"/><test-case name="37350CurrencySymbols tokoe:valid" result="pass"/><test-case name="37351CurrencySymbols.v tokoe:valid" result="pass"/><test-case name="37352LetterlikeSymbols tokoe:valid" result="pass"/><test-case name="37353LetterlikeSymbols.v tokoe:valid" result="pass"/><test-case name="37354NumberForms tokoe:valid" result="pass"/><test-case name="37355NumberForms.v tokoe:valid" result="pass"/><test-case name="37356Arrows tokoe:valid" result="pass"/><test-case name="37357Arrows.v tokoe:valid" result="pass"/><test-case name="37358MathematicalOperators tokoe:valid" result="pass"/><test-case name="37359MathematicalOperators.v tokoe:valid" result="pass"/><test-case name="37360MiscellaneousTechnical tokoe:valid" result="pass"/><test-case name="37361MiscellaneousTechnical.v tokoe:valid" result="pass"/><test-case name="37362ControlPictures tokoe:valid" result="pass"/><test-case name="37363ControlPictures.v tokoe:valid" result="pass"/><test-case name="37364OpticalCharacterRecognition tokoe:valid" result="pass"/><test-case name="37365OpticalCharacterRecognition.v tokoe:valid" result="pass"/><test-case name="37366EnclosedAlphanumerics tokoe:valid" result="pass"/><test-case name="37367EnclosedAlphanumerics.v tokoe:valid" result="pass"/><test-case name="37368BoxDrawing tokoe:valid" result="pass"/><test-case name="37369BoxDrawing.v tokoe:valid" result="pass"/><test-case name="37370BlockElements tokoe:valid" result="pass"/><test-case name="37371BlockElements.v tokoe:valid" result="pass"/><test-case name="37372GeometricShapes tokoe:valid" result="pass"/><test-case name="37373GeometricShapes.v tokoe:valid" result="pass"/><test-case name="37374MiscellaneousSymbols tokoe:valid" result="pass"/><test-case name="37375MiscellaneousSymbols.v tokoe:valid" result="pass"/><test-case name="37376Dingbats tokoe:valid" result="pass"/><test-case name="37377Dingbats.v tokoe:valid" result="pass"/><test-case name="37378BraillePatterns tokoe:valid" result="pass"/><test-case name="37379BraillePatterns.v tokoe:valid" result="pass"/><test-case name="37380CJKRadicalsSupplement tokoe:valid" result="pass"/><test-case name="37381CJKRadicalsSupplement.v tokoe:valid" result="pass"/><test-case name="37382KangxiRadicals tokoe:valid" result="pass"/><test-case name="37383KangxiRadicals.v tokoe:valid" result="pass"/><test-case name="37384IdeographicDescriptionCharacters tokoe:valid" result="pass"/><test-case name="37385IdeographicDescriptionCharacters.v tokoe:valid" result="pass"/><test-case name="37386CJKSymbolsandPunctuation tokoe:valid" result="pass"/><test-case name="37387CJKSymbolsandPunctuation.v tokoe:valid" result="pass"/><test-case name="37388Hiragana tokoe:valid" result="pass"/><test-case name="37389Hiragana.v tokoe:valid" result="pass"/><test-case name="37390Katakana tokoe:valid" result="pass"/><test-case name="37391Katakana.v tokoe:valid" result="pass"/><test-case name="37392Bopomofo tokoe:valid" result="pass"/><test-case name="37393Bopomofo.v tokoe:valid" result="pass"/><test-case name="37394HangulCompatibilityJamo tokoe:valid" result="pass"/><test-case name="37395HangulCompatibilityJamo.v tokoe:valid" result="pass"/><test-case name="37396Kanbun tokoe:valid" result="pass"/><test-case name="37397Kanbun.v tokoe:valid" result="pass"/><test-case name="37398BopomofoExtended tokoe:valid" result="pass"/><test-case name="37399BopomofoExtended.v tokoe:valid" result="pass"/><test-case name="37400EnclosedCJKLettersandMonths tokoe:valid" result="pass"/><test-case name="37401EnclosedCJKLettersandMonths.v tokoe:valid" result="pass"/><test-case name="37402CJKCompatibility tokoe:valid" result="pass"/><test-case name="37403CJKCompatibility.v tokoe:valid" result="pass"/><test-case name="37404CJKUnifiedIdeographs tokoe:valid" result="pass"/><test-case name="37405CJKUnifiedIdeographs.v tokoe:valid" result="pass"/><test-case name="37406YiSyllables tokoe:valid" result="pass"/><test-case name="37407YiSyllables.v tokoe:valid" result="pass"/><test-case name="37408YiRadicals tokoe:valid" result="pass"/><test-case name="37409YiRadicals.v tokoe:valid" result="pass"/><test-case name="37410HighSurrogates tokoe:valid" result="fail"/><test-case name="37411HighSurrogates.i tokoe:invalid" result="pass"/><test-case name="37412CJKCompatibilityIdeographs tokoe:valid" result="pass"/><test-case name="37413CJKCompatibilityIdeographs.v tokoe:valid" result="pass"/><test-case name="37414AlphabeticPresentationForms tokoe:valid" result="pass"/><test-case name="37415AlphabeticPresentationForms.v tokoe:valid" result="pass"/><test-case name="37416ArabicPresentationForms-A tokoe:valid" result="pass"/><test-case name="37417ArabicPresentationForms-A.v tokoe:valid" result="pass"/><test-case name="37418CombiningHalfMarks tokoe:valid" result="pass"/><test-case name="37419CombiningHalfMarks.v tokoe:valid" result="pass"/><test-case name="37420CJKCompatibilityForms tokoe:valid" result="pass"/><test-case name="37421CJKCompatibilityForms.v tokoe:valid" result="pass"/><test-case name="37422SmallFormVariants tokoe:valid" result="pass"/><test-case name="37423SmallFormVariants.v tokoe:valid" result="pass"/><test-case name="37424HalfwidthandFullwidthForms tokoe:valid" result="pass"/><test-case name="37425HalfwidthandFullwidthForms.v tokoe:valid" result="pass"/><test-case name="37426Specials tokoe:valid" result="pass"/><test-case name="37427Specials.v tokoe:valid" result="pass"/><test-case name="37428reZ002 tokoe:valid" result="pass"/><test-case name="37429reZ002.i tokoe:invalid" result="fail"/><test-case name="37430reZ003v tokoe:valid" result="pass"/><test-case name="37431reZ003v.v tokoe:valid" result="fail"/><test-case name="37432reZ004v tokoe:valid" result="pass"/><test-case name="37433reZ004v.v tokoe:valid" result="fail"/><test-case name="37434reZ004i tokoe:valid" result="pass"/><test-case name="37435reZ004i.i tokoe:invalid" result="pass"/><test-case name="37436reZ005v tokoe:valid" result="pass"/><test-case name="37437reZ005v.v tokoe:valid" result="pass"/><test-case name="37438reZ005i tokoe:valid" result="pass"/><test-case name="37439reZ005i.i tokoe:invalid" result="pass"/><test-case name="37440reZ006v tokoe:valid" result="pass"/><test-case name="37441reZ006v.v tokoe:valid" result="pass"/><test-case name="37442reZ006i tokoe:valid" result="pass"/><test-case name="37443reZ006i.i tokoe:invalid" result="fail"/><test-case name="37444schA1 tokoe:valid" result="pass"/><test-case name="37445schA1.v tokoe:valid" result="pass"/><test-case name="37446schA3 tokoe:valid" result="pass"/><test-case name="37447schA3.v tokoe:valid" result="pass"/><test-case name="37448schA4.v tokoe:valid" result="pass"/><test-case name="37449schB1 tokoe:valid" result="pass"/><test-case name="37450schB1i tokoe:invalid" result="pass"/><test-case name="37451schB2 tokoe:valid" result="pass"/><test-case name="37452schB3 tokoe:invalid" result="pass"/><test-case name="37453schB4 tokoe:invalid" result="pass"/><test-case name="37454schB5 tokoe:invalid" result="pass"/><test-case name="37455schB8 tokoe:valid" result="pass"/><test-case name="37456schC2 tokoe:invalid" result="pass"/><test-case name="37457schC3 tokoe:valid" result="pass"/><test-case name="37458schC3.v tokoe:valid" result="pass"/><test-case name="37459schC4 tokoe:valid" result="pass"/><test-case name="37460schC4.v tokoe:valid" result="pass"/><test-case name="37461schC5 tokoe:invalid" result="pass"/><test-case name="37462schD5 tokoe:valid" result="pass"/><test-case name="37463schD5.v tokoe:valid" result="pass"/><test-case name="37464schD7 tokoe:valid" result="pass"/><test-case name="37465schD7.v tokoe:valid" result="pass"/><test-case name="37466schD10 tokoe:valid" result="pass"/><test-case name="37467schD10.v tokoe:valid" result="pass"/><test-case name="37468schD11 tokoe:valid" result="pass"/><test-case name="37469schE1 tokoe:valid" result="pass"/><test-case name="37470schE1i tokoe:invalid" result="pass"/><test-case name="37471schE2 tokoe:valid" result="pass"/><test-case name="37472schE3 tokoe:valid" result="pass"/><test-case name="37473schE4 tokoe:valid" result="pass"/><test-case name="37474schE4.v tokoe:valid" result="pass"/><test-case name="37475schE5 tokoe:invalid" result="pass"/><test-case name="37476schE6 tokoe:invalid" result="pass"/><test-case name="37477schE9 tokoe:valid" result="pass"/><test-case name="37478schE10 tokoe:invalid" result="pass"/><test-case name="37479schF1 tokoe:valid" result="pass"/><test-case name="37480schF1.v tokoe:valid" result="pass"/><test-case name="37481schF2 tokoe:valid" result="pass"/><test-case name="37482schF2.v tokoe:valid" result="pass"/><test-case name="37483schF3 tokoe:invalid" result="pass"/><test-case name="37484schF4 tokoe:invalid" result="pass"/><test-case name="37485schF5 tokoe:valid" result="pass"/><test-case name="37486schF5.v tokoe:valid" result="pass"/><test-case name="37487schF6 tokoe:invalid" result="pass"/><test-case name="37488schG1 tokoe:valid" result="pass"/><test-case name="37489schG1.v tokoe:valid" result="pass"/><test-case name="37490schG2 tokoe:valid" result="pass"/><test-case name="37491schG2.v tokoe:valid" result="pass"/><test-case name="37492schG4 tokoe:valid" result="fail"/><test-case name="37493schG4.v tokoe:valid" result="fail"/><test-case name="37494schG5 tokoe:valid" result="pass"/><test-case name="37495schG5.v tokoe:valid" result="pass"/><test-case name="37496schG7 tokoe:valid" result="fail"/><test-case name="37497schG7.v tokoe:valid" result="fail"/><test-case name="37498schG8 tokoe:valid" result="pass"/><test-case name="37499schG8.v tokoe:valid" result="pass"/><test-case name="37500schG10 tokoe:invalid" result="pass"/><test-case name="37501schG13 tokoe:invalid" result="pass"/><test-case name="37502schG14 tokoe:valid" result="fail"/><test-case name="37503schG15 tokoe:valid" result="pass"/><test-case name="37504schH1 tokoe:valid" result="pass"/><test-case name="37505schH2 tokoe:valid" result="pass"/><test-case name="37506schH3 tokoe:invalid" result="pass"/><test-case name="37507schH4 tokoe:invalid" result="pass"/><test-case name="37508schH5 tokoe:invalid" result="pass"/><test-case name="37509schH6 tokoe:invalid" result="pass"/><test-case name="37510schH9 tokoe:valid" result="pass"/><test-case name="37511schI2 tokoe:invalid" result="pass"/><test-case name="37512schI5 tokoe:invalid" result="pass"/><test-case name="37513schJ2 tokoe:invalid" result="pass"/><test-case name="37514schJ3 tokoe:invalid" result="pass"/><test-case name="37515schK2 tokoe:invalid" result="pass"/><test-case name="37516schK3 tokoe:invalid" result="pass"/><test-case name="37517schL1 tokoe:invalid" result="pass"/><test-case name="37518schL3 tokoe:invalid" result="pass"/><test-case name="37519schL6 tokoe:invalid" result="pass"/><test-case name="37520schL8 tokoe:invalid" result="pass"/><test-case name="37521schL10 tokoe:invalid" result="pass"/><test-case name="37522schM3 tokoe:invalid" result="pass"/><test-case name="37523schM4 tokoe:invalid" result="pass"/><test-case name="37524schM5 tokoe:invalid" result="pass"/><test-case name="37525schM8 tokoe:invalid" result="pass"/><test-case name="37526schM9 tokoe:valid" result="pass"/><test-case name="37527schM10 tokoe:invalid" result="pass"/><test-case name="37528schN4 tokoe:invalid" result="pass"/><test-case name="37529schN5 tokoe:invalid" result="pass"/><test-case name="37530schN6 tokoe:invalid" result="pass"/><test-case name="37531schN7 tokoe:invalid" result="pass"/><test-case name="37532schN10 tokoe:invalid" result="pass"/><test-case name="37533schN11 tokoe:valid" result="pass"/><test-case name="37534schN12 tokoe:invalid" result="pass"/><test-case name="37535schN13v tokoe:valid" result="pass"/><test-case name="37536schN13i tokoe:invalid" result="pass"/><test-case name="37537schO2 tokoe:invalid" result="pass"/><test-case name="37538schP1 tokoe:invalid" result="pass"/><test-case name="37539schP2 tokoe:valid" result="pass"/><test-case name="37540schP2.v tokoe:valid" result="pass"/><test-case name="37541schP3 tokoe:invalid" result="pass"/><test-case name="37542schQ1 tokoe:valid" result="pass"/><test-case name="37543schQ1.v tokoe:valid" result="pass"/><test-case name="37544schQ2 tokoe:invalid" result="pass"/><test-case name="37545schQ3 tokoe:valid" result="pass"/><test-case name="37546schQ3.v tokoe:valid" result="pass"/><test-case name="37547schQ4 tokoe:invalid" result="pass"/><test-case name="37548schR2 tokoe:valid" result="pass"/><test-case name="37549schR2.i tokoe:invalid" result="pass"/><test-case name="37550schR3 tokoe:invalid" result="pass"/><test-case name="37551schR4 tokoe:invalid" result="pass"/><test-case name="37552schR5 tokoe:invalid" result="pass"/><test-case name="37553schS1 tokoe:invalid" result="pass"/><test-case name="37554schT1 tokoe:invalid" result="pass"/><test-case name="37555schT2 tokoe:invalid" result="pass"/><test-case name="37556schT3 tokoe:valid" result="pass"/><test-case name="37557schT3.v tokoe:valid" result="pass"/><test-case name="37558schT6 tokoe:valid" result="pass"/><test-case name="37559schT6.i tokoe:invalid" result="pass"/><test-case name="37560schT9 tokoe:valid" result="pass"/><test-case name="37561schT9.v tokoe:valid" result="pass"/><test-case name="37562schT10 tokoe:valid" result="pass"/><test-case name="37563schT10.v tokoe:valid" result="pass"/><test-case name="37564schU2 tokoe:valid" result="pass"/><test-case name="37565schZ001_78029-a tokoe:invalid" result="pass"/><test-case name="37566schZ002_78029-b tokoe:invalid" result="pass"/><test-case name="37567schZ003_78029-c tokoe:invalid" result="pass"/><test-case name="37568schZ006 tokoe:invalid" result="pass"/><test-case name="37569schZ007 tokoe:valid" result="pass"/><test-case name="37570schZ008 tokoe:valid" result="pass"/><test-case name="37571schZ009 tokoe:valid" result="pass"/><test-case name="37572schZ010 tokoe:invalid" result="pass"/><test-case name="37573schZ011_a tokoe:invalid" result="pass"/><test-case name="37574schZ011_b tokoe:invalid" result="pass"/><test-case name="37575schZ011_c tokoe:invalid" result="pass"/><test-case name="37576schZ011_d tokoe:invalid" result="pass"/><test-case name="37577schZ012_b tokoe:valid" result="pass"/><test-case name="37578schZ012_c tokoe:valid" result="pass"/><test-case name="37579schZ013 tokoe:valid" result="pass"/><test-case name="37580schZ014_a tokoe:invalid" result="pass"/><test-case name="37581schZ014_b tokoe:invalid" result="pass"/><test-case name="37582schZ015 tokoe:valid" result="pass"/><test-case name="37583stA001 tokoe:valid" result="pass"/><test-case name="37584stA002 tokoe:invalid" result="pass"/><test-case name="37585stA003 tokoe:valid" result="pass"/><test-case name="37586stA004 tokoe:invalid" result="pass"/><test-case name="37587stA005 tokoe:invalid" result="pass"/><test-case name="37588stA006 tokoe:valid" result="pass"/><test-case name="37589stA007 tokoe:valid" result="pass"/><test-case name="37590stA008 tokoe:invalid" result="pass"/><test-case name="37591stA009 tokoe:invalid" result="pass"/><test-case name="37592stA010 tokoe:invalid" result="pass"/><test-case name="37593stA011 tokoe:invalid" result="pass"/><test-case name="37594stA012 tokoe:invalid" result="pass"/><test-case name="37595stA013 tokoe:invalid" result="pass"/><test-case name="37596stA014 tokoe:invalid" result="pass"/><test-case name="37597stA015 tokoe:invalid" result="pass"/><test-case name="37598stA016 tokoe:valid" result="pass"/><test-case name="37599stA017 tokoe:invalid" result="pass"/><test-case name="37600stA018 tokoe:valid" result="pass"/><test-case name="37601stA019 tokoe:valid" result="pass"/><test-case name="37602stA020 tokoe:valid" result="pass"/><test-case name="37603stB001 tokoe:invalid" result="pass"/><test-case name="37604stB002 tokoe:invalid" result="pass"/><test-case name="37605stB003 tokoe:valid" result="pass"/><test-case name="37606stB004 tokoe:invalid" result="pass"/><test-case name="37607stB005 tokoe:invalid" result="pass"/><test-case name="37608stB006 tokoe:valid" result="pass"/><test-case name="37609stB007 tokoe:invalid" result="pass"/><test-case name="37610stB008 tokoe:valid" result="pass"/><test-case name="37611stB009 tokoe:invalid" result="pass"/><test-case name="37612stB010 tokoe:invalid" result="pass"/><test-case name="37613stB011 tokoe:valid" result="pass"/><test-case name="37614stB012 tokoe:valid" result="pass"/><test-case name="37615stB013 tokoe:invalid" result="pass"/><test-case name="37616stB014 tokoe:invalid" result="pass"/><test-case name="37617stB015 tokoe:valid" result="pass"/><test-case name="37618stB016 tokoe:invalid" result="pass"/><test-case name="37619stB017 tokoe:invalid" result="pass"/><test-case name="37620stB018 tokoe:invalid" result="pass"/><test-case name="37621stB019 tokoe:invalid" result="pass"/><test-case name="37622stB020 tokoe:invalid" result="pass"/><test-case name="37623stB021 tokoe:invalid" result="pass"/><test-case name="37624stB022 tokoe:invalid" result="pass"/><test-case name="37625stB023 tokoe:invalid" result="pass"/><test-case name="37626stB024 tokoe:invalid" result="pass"/><test-case name="37627stC001 tokoe:valid" result="pass"/><test-case name="37628stC002 tokoe:invalid" result="pass"/><test-case name="37629stC003 tokoe:invalid" result="pass"/><test-case name="37630stC004 tokoe:invalid" result="pass"/><test-case name="37631stC005 tokoe:valid" result="pass"/><test-case name="37632stC006 tokoe:invalid" result="pass"/><test-case name="37633stC007 tokoe:valid" result="pass"/><test-case name="37634stC008 tokoe:invalid" result="pass"/><test-case name="37635stC009 tokoe:invalid" result="pass"/><test-case name="37636stC010 tokoe:valid" result="pass"/><test-case name="37637stC011 tokoe:invalid" result="pass"/><test-case name="37638stC012 tokoe:invalid" result="pass"/><test-case name="37639stC013 tokoe:invalid" result="pass"/><test-case name="37640stC014 tokoe:valid" result="pass"/><test-case name="37641stC015 tokoe:valid" result="pass"/><test-case name="37642stC016 tokoe:valid" result="pass"/><test-case name="37643stC017 tokoe:valid" result="pass"/><test-case name="37644stC018 tokoe:valid" result="pass"/><test-case name="37645stC019 tokoe:valid" result="pass"/><test-case name="37646stC020 tokoe:valid" result="pass"/><test-case name="37647stC021 tokoe:valid" result="pass"/><test-case name="37648stC022 tokoe:valid" result="pass"/><test-case name="37649stC023 tokoe:invalid" result="pass"/><test-case name="37650stC024 tokoe:valid" result="pass"/><test-case name="37651stC025 tokoe:valid" result="pass"/><test-case name="37652stC026 tokoe:valid" result="pass"/><test-case name="37653stC027 tokoe:invalid" result="pass"/><test-case name="37654stC028 tokoe:invalid" result="pass"/><test-case name="37655stC029 tokoe:invalid" result="pass"/><test-case name="37656stC030 tokoe:valid" result="pass"/><test-case name="37657stC031 tokoe:invalid" result="pass"/><test-case name="37658stC032 tokoe:invalid" result="pass"/><test-case name="37659stC033 tokoe:valid" result="pass"/><test-case name="37660stC034 tokoe:valid" result="pass"/><test-case name="37661stC034.i tokoe:invalid" result="pass"/><test-case name="37662stC035 tokoe:valid" result="pass"/><test-case name="37663stD001 tokoe:valid" result="pass"/><test-case name="37664stD002 tokoe:invalid" result="pass"/><test-case name="37665stD003 tokoe:valid" result="pass"/><test-case name="37666stD004 tokoe:invalid" result="pass"/><test-case name="37667stD005 tokoe:invalid" result="pass"/><test-case name="37668stD006 tokoe:valid" result="pass"/><test-case name="37669stD007 tokoe:valid" result="pass"/><test-case name="37670stD008 tokoe:valid" result="pass"/><test-case name="37671stD009 tokoe:invalid" result="pass"/><test-case name="37672stD010 tokoe:invalid" result="pass"/><test-case name="37673stD011 tokoe:valid" result="pass"/><test-case name="37674stD012 tokoe:valid" result="pass"/><test-case name="37675stD013 tokoe:valid" result="pass"/><test-case name="37676stD014 tokoe:valid" result="pass"/><test-case name="37677stD015 tokoe:invalid" result="pass"/><test-case name="37678stD016 tokoe:invalid" result="pass"/><test-case name="37679stD017 tokoe:invalid" result="pass"/><test-case name="37680stD018 tokoe:invalid" result="pass"/><test-case name="37681stD019 tokoe:invalid" result="pass"/><test-case name="37682stD020 tokoe:valid" result="pass"/><test-case name="37683stD021 tokoe:valid" result="pass"/><test-case name="37684stE001 tokoe:valid" result="pass"/><test-case name="37685stE002 tokoe:invalid" result="pass"/><test-case name="37686stE003 tokoe:valid" result="pass"/><test-case name="37687stE004 tokoe:invalid" result="pass"/><test-case name="37688stE005 tokoe:invalid" result="pass"/><test-case name="37689stE006 tokoe:valid" result="pass"/><test-case name="37690stE007 tokoe:valid" result="pass"/><test-case name="37691stE008 tokoe:invalid" result="pass"/><test-case name="37692stE009 tokoe:valid" result="pass"/><test-case name="37693stE010 tokoe:valid" result="pass"/><test-case name="37694stE011 tokoe:valid" result="pass"/><test-case name="37695stE012 tokoe:invalid" result="pass"/><test-case name="37696stE013 tokoe:valid" result="pass"/><test-case name="37697stE014 tokoe:valid" result="pass"/><test-case name="37698stE015 tokoe:invalid" result="pass"/><test-case name="37699stE016 tokoe:invalid" result="pass"/><test-case name="37700stE017 tokoe:valid" result="pass"/><test-case name="37701stE018 tokoe:invalid" result="pass"/><test-case name="37702stE050 tokoe:valid" result="pass"/><test-case name="37703stE050.v tokoe:valid" result="pass"/><test-case name="37704stE051 tokoe:valid" result="pass"/><test-case name="37705stE051.i tokoe:invalid" result="pass"/><test-case name="37706stE052 tokoe:valid" result="pass"/><test-case name="37707stE052.v tokoe:valid" result="pass"/><test-case name="37708stE053 tokoe:valid" result="pass"/><test-case name="37709stE053.i tokoe:invalid" result="pass"/><test-case name="37710stE054 tokoe:valid" result="pass"/><test-case name="37711stE054.i tokoe:invalid" result="fail"/><test-case name="37712stE055 tokoe:valid" result="pass"/><test-case name="37713stE055.v tokoe:valid" result="pass"/><test-case name="37714stE056 tokoe:valid" result="pass"/><test-case name="37715stE056.i tokoe:invalid" result="pass"/><test-case name="37716stE057 tokoe:valid" result="pass"/><test-case name="37717stE057.v tokoe:valid" result="pass"/><test-case name="37718stE058 tokoe:valid" result="pass"/><test-case name="37719stE058.v tokoe:valid" result="pass"/><test-case name="37720stE059 tokoe:valid" result="pass"/><test-case name="37721stE059.v tokoe:valid" result="pass"/><test-case name="37722stE060 tokoe:valid" result="pass"/><test-case name="37723stE060.v tokoe:valid" result="pass"/><test-case name="37724stE061 tokoe:valid" result="pass"/><test-case name="37725stE061.v tokoe:valid" result="pass"/><test-case name="37726stE062 tokoe:valid" result="pass"/><test-case name="37727stE062.v tokoe:valid" result="pass"/><test-case name="37728stE063 tokoe:valid" result="pass"/><test-case name="37729stE063.i tokoe:invalid" result="pass"/><test-case name="37730stE064 tokoe:valid" result="pass"/><test-case name="37731stE064.v tokoe:valid" result="pass"/><test-case name="37732stE065 tokoe:valid" result="pass"/><test-case name="37733stE065.v tokoe:valid" result="pass"/><test-case name="37734stE066 tokoe:valid" result="pass"/><test-case name="37735stE066.v tokoe:valid" result="pass"/><test-case name="37736stE067 tokoe:valid" result="pass"/><test-case name="37737stE067.v tokoe:valid" result="pass"/><test-case name="37738stE068 tokoe:valid" result="pass"/><test-case name="37739stE068.v tokoe:valid" result="pass"/><test-case name="37740stE069 tokoe:valid" result="pass"/><test-case name="37741stE069.v tokoe:valid" result="pass"/><test-case name="37742stE070 tokoe:valid" result="pass"/><test-case name="37743stE070.i tokoe:invalid" result="pass"/><test-case name="37744stE071 tokoe:valid" result="pass"/><test-case name="37745stE071.i tokoe:invalid" result="pass"/><test-case name="37746stE072 tokoe:valid" result="pass"/><test-case name="37747stE072.v tokoe:valid" result="pass"/><test-case name="37748stE073 tokoe:valid" result="pass"/><test-case name="37749stE073.i tokoe:invalid" result="pass"/><test-case name="37750stE073v tokoe:valid" result="pass"/><test-case name="37751stE073v.v tokoe:valid" result="pass"/><test-case name="37752stE074 tokoe:valid" result="pass"/><test-case name="37753stE074.i tokoe:invalid" result="pass"/><test-case name="37754ste074v tokoe:valid" result="pass"/><test-case name="37755ste074v.v tokoe:valid" result="pass"/><test-case name="37756stE075 tokoe:valid" result="fail"/><test-case name="37757stE075.i tokoe:invalid" result="pass"/><test-case name="37758stE076 tokoe:valid" result="pass"/><test-case name="37759stE076.i tokoe:invalid" result="pass"/><test-case name="37760stE077 tokoe:valid" result="pass"/><test-case name="37761stE077.v tokoe:valid" result="pass"/><test-case name="37762stE078 tokoe:valid" result="pass"/><test-case name="37763stE078.i tokoe:invalid" result="pass"/><test-case name="37764stE079 tokoe:valid" result="pass"/><test-case name="37765stE079.v tokoe:valid" result="pass"/><test-case name="37766stE080 tokoe:valid" result="pass"/><test-case name="37767stE080.v tokoe:valid" result="pass"/><test-case name="37768stE081 tokoe:valid" result="pass"/><test-case name="37769stE081.v tokoe:valid" result="pass"/><test-case name="37770stE082 tokoe:valid" result="pass"/><test-case name="37771stE082.i tokoe:invalid" result="pass"/><test-case name="37772stE090 tokoe:valid" result="pass"/><test-case name="37773stE090.v tokoe:valid" result="pass"/><test-case name="37774stE091 tokoe:valid" result="pass"/><test-case name="37775stE091.v tokoe:valid" result="pass"/><test-case name="37776stE092 tokoe:valid" result="pass"/><test-case name="37777stE092.v tokoe:valid" result="pass"/><test-case name="37778stE093 tokoe:valid" result="pass"/><test-case name="37779stE093.v tokoe:valid" result="pass"/><test-case name="37780stE094 tokoe:valid" result="pass"/><test-case name="37781stE094.v tokoe:valid" result="pass"/><test-case name="37782stE095 tokoe:valid" result="pass"/><test-case name="37783stE095.i tokoe:invalid" result="pass"/><test-case name="37784stE096 tokoe:valid" result="fail"/><test-case name="37785stE096.v tokoe:valid" result="fail"/><test-case name="37786stE097 tokoe:valid" result="fail"/><test-case name="37787stE097.i tokoe:invalid" result="pass"/><test-case name="37788ste098 tokoe:valid" result="pass"/><test-case name="37789ste098.i tokoe:invalid" result="pass"/><test-case name="37790ste099 tokoe:valid" result="pass"/><test-case name="37791ste099.v tokoe:valid" result="pass"/><test-case name="37792ste100 tokoe:valid" result="pass"/><test-case name="37793ste100.i tokoe:invalid" result="pass"/><test-case name="37794stF001 tokoe:valid" result="pass"/><test-case name="37795stF002 tokoe:valid" result="pass"/><test-case name="37796stF003 tokoe:valid" result="pass"/><test-case name="37797stF004 tokoe:valid" result="pass"/><test-case name="37798stF005 tokoe:invalid" result="pass"/><test-case name="37799stF006 tokoe:valid" result="pass"/><test-case name="37800stF007 tokoe:invalid" result="pass"/><test-case name="37801stF008 tokoe:invalid" result="pass"/><test-case name="37802stF009 tokoe:invalid" result="pass"/><test-case name="37803stF010 tokoe:invalid" result="pass"/><test-case name="37804stF011 tokoe:invalid" result="pass"/><test-case name="37805stF012 tokoe:invalid" result="pass"/><test-case name="37806stF013 tokoe:invalid" result="pass"/><test-case name="37807stF014 tokoe:invalid" result="pass"/><test-case name="37808stF015 tokoe:invalid" result="pass"/><test-case name="37809stF016 tokoe:valid" result="pass"/><test-case name="37810stF017 tokoe:valid" result="pass"/><test-case name="37811stF018 tokoe:invalid" result="pass"/><test-case name="37812stF019 tokoe:invalid" result="pass"/><test-case name="37813stF020 tokoe:invalid" result="pass"/><test-case name="37814stF021 tokoe:invalid" result="pass"/><test-case name="37815stF022 tokoe:invalid" result="pass"/><test-case name="37816stF023 tokoe:invalid" result="pass"/><test-case name="37817stF024 tokoe:invalid" result="pass"/><test-case name="37818stF025 tokoe:invalid" result="pass"/><test-case name="37819stF026 tokoe:invalid" result="pass"/><test-case name="37820stF027 tokoe:invalid" result="pass"/><test-case name="37821stF028 tokoe:invalid" result="pass"/><test-case name="37822stF029 tokoe:invalid" result="pass"/><test-case name="37823stF030 tokoe:invalid" result="pass"/><test-case name="37824stF031 tokoe:invalid" result="pass"/><test-case name="37825stF032 tokoe:valid" result="pass"/><test-case name="37826stF033 tokoe:invalid" result="pass"/><test-case name="37827stF034 tokoe:valid" result="pass"/><test-case name="37828stF035 tokoe:invalid" result="pass"/><test-case name="37829stF036 tokoe:valid" result="pass"/><test-case name="37830stF037 tokoe:invalid" result="pass"/><test-case name="37831stG001 tokoe:valid" result="pass"/><test-case name="37832stG001.v tokoe:valid" result="pass"/><test-case name="37833stG002 tokoe:valid" result="pass"/><test-case name="37834stG002.v tokoe:valid" result="pass"/><test-case name="37835stG003 tokoe:valid" result="pass"/><test-case name="37836stG003.i tokoe:invalid" result="pass"/><test-case name="37837stG004 tokoe:valid" result="pass"/><test-case name="37838stG004.v tokoe:valid" result="pass"/><test-case name="37839stG005 tokoe:valid" result="pass"/><test-case name="37840stG005.i tokoe:invalid" result="pass"/><test-case name="37841stG006 tokoe:valid" result="pass"/><test-case name="37842stG006.v tokoe:valid" result="pass"/><test-case name="37843stG007 tokoe:valid" result="pass"/><test-case name="37844stG007.i tokoe:invalid" result="pass"/><test-case name="37845stG008 tokoe:valid" result="pass"/><test-case name="37846stG008.v tokoe:valid" result="pass"/><test-case name="37847stG009 tokoe:valid" result="pass"/><test-case name="37848stG009.i tokoe:invalid" result="pass"/><test-case name="37849stG010 tokoe:valid" result="pass"/><test-case name="37850stG010.v tokoe:valid" result="pass"/><test-case name="37851stG011 tokoe:valid" result="pass"/><test-case name="37852stG011.i tokoe:invalid" result="pass"/><test-case name="37853stG012 tokoe:valid" result="pass"/><test-case name="37854stG012.v tokoe:valid" result="pass"/><test-case name="37855stG013 tokoe:valid" result="pass"/><test-case name="37856stG013.i tokoe:invalid" result="pass"/><test-case name="37857stH001 tokoe:valid" result="pass"/><test-case name="37858stH001.v tokoe:valid" result="pass"/><test-case name="37859stH002 tokoe:valid" result="pass"/><test-case name="37860stH002.i tokoe:invalid" result="pass"/><test-case name="37861stH003 tokoe:valid" result="pass"/><test-case name="37862stH003.v tokoe:valid" result="pass"/><test-case name="37863stH004 tokoe:valid" result="pass"/><test-case name="37864stH004.i tokoe:invalid" result="pass"/><test-case name="37865stH005 tokoe:valid" result="pass"/><test-case name="37866stH005.v tokoe:valid" result="pass"/><test-case name="37867stH006 tokoe:valid" result="pass"/><test-case name="37868stH006.i tokoe:invalid" result="pass"/><test-case name="37869stH007 tokoe:valid" result="pass"/><test-case name="37870stH007.v tokoe:valid" result="pass"/><test-case name="37871stH008 tokoe:valid" result="pass"/><test-case name="37872stH008.i tokoe:invalid" result="pass"/><test-case name="37873stI001 tokoe:valid" result="pass"/><test-case name="37874stI002 tokoe:valid" result="pass"/><test-case name="37875stI003 tokoe:valid" result="pass"/><test-case name="37876stI004 tokoe:invalid" result="pass"/><test-case name="37877stI005 tokoe:invalid" result="pass"/><test-case name="37878stJ001 tokoe:valid" result="pass"/><test-case name="37879stJ002 tokoe:valid" result="pass"/><test-case name="37880stJ003 tokoe:invalid" result="pass"/><test-case name="37881stJ004 tokoe:valid" result="pass"/><test-case name="37882stJ005 tokoe:valid" result="pass"/><test-case name="37883stJ006 tokoe:valid" result="pass"/><test-case name="37884stJ007 tokoe:valid" result="pass"/><test-case name="37885stJ008 tokoe:valid" result="pass"/><test-case name="37886stJ009 tokoe:invalid" result="pass"/><test-case name="37887stJ010 tokoe:invalid" result="pass"/><test-case name="37888stJ011 tokoe:invalid" result="pass"/><test-case name="37889stJ012 tokoe:invalid" result="pass"/><test-case name="37890stJ013 tokoe:invalid" result="pass"/><test-case name="37891stJ014 tokoe:invalid" result="pass"/><test-case name="37892stJ015 tokoe:invalid" result="pass"/><test-case name="37893stJ016 tokoe:invalid" result="pass"/><test-case name="37894stJ017 tokoe:invalid" result="pass"/><test-case name="37895stJ018 tokoe:invalid" result="pass"/><test-case name="37896stJ019 tokoe:invalid" result="pass"/><test-case name="37897stK001 tokoe:valid" result="pass"/><test-case name="37898stK002 tokoe:invalid" result="pass"/><test-case name="37899stK003 tokoe:invalid" result="pass"/><test-case name="37900stK004 tokoe:valid" result="pass"/><test-case name="37901stK005 tokoe:invalid" result="pass"/><test-case name="37902stK006 tokoe:invalid" result="pass"/><test-case name="37903stK007 tokoe:invalid" result="pass"/><test-case name="37904stK008 tokoe:valid" result="pass"/><test-case name="37905stK009 tokoe:valid" result="pass"/><test-case name="37906stK010 tokoe:invalid" result="pass"/><test-case name="37907stK011 tokoe:invalid" result="pass"/><test-case name="37908stK012 tokoe:invalid" result="pass"/><test-case name="37909stK013 tokoe:invalid" result="pass"/><test-case name="37910stK014 tokoe:invalid" result="pass"/><test-case name="37911stK015 tokoe:invalid" result="pass"/><test-case name="37912stK016 tokoe:invalid" result="pass"/><test-case name="37913stK017 tokoe:invalid" result="pass"/><test-case name="37914stK018 tokoe:invalid" result="pass"/><test-case name="37915stK019 tokoe:invalid" result="pass"/><test-case name="37916stZ001 tokoe:valid" result="pass"/><test-case name="37917stZ002 tokoe:invalid" result="pass"/><test-case name="37918stZ003 tokoe:invalid" result="pass"/><test-case name="37919stZ004 tokoe:valid" result="pass"/><test-case name="37920stZ004.v tokoe:valid" result="pass"/><test-case name="37921stZ005 tokoe:invalid" result="pass"/><test-case name="37922stZ006 tokoe:invalid" result="pass"/><test-case name="37923stZ008 tokoe:valid" result="pass"/><test-case name="37924stZ008.v tokoe:valid" result="pass"/><test-case name="37925stZ009 tokoe:invalid" result="pass"/><test-case name="37926stZ010 tokoe:invalid" result="pass"/><test-case name="37927stZ011 tokoe:invalid" result="pass"/><test-case name="37928stZ012 tokoe:invalid" result="pass"/><test-case name="37929stZ013 tokoe:invalid" result="pass"/><test-case name="37930stZ014 tokoe:invalid" result="pass"/><test-case name="37931stZ015 tokoe:valid" result="pass"/><test-case name="37932stZ015.v tokoe:valid" result="pass"/><test-case name="37933stZ016 tokoe:valid" result="pass"/><test-case name="37934stZ017 tokoe:valid" result="pass"/><test-case name="37935stZ018 tokoe:invalid" result="pass"/><test-case name="37936stZ019 tokoe:invalid" result="pass"/><test-case name="37937stZ020 tokoe:valid" result="pass"/><test-case name="37938stZ021 tokoe:valid" result="pass"/><test-case name="37939stZ022 tokoe:invalid" result="pass"/><test-case name="37940stZ023 tokoe:valid" result="pass"/><test-case name="37941stZ024 tokoe:valid" result="pass"/><test-case name="37942stZ025 tokoe:valid" result="pass"/><test-case name="37943stZ026 tokoe:invalid" result="pass"/><test-case name="37944stZ027 tokoe:invalid" result="pass"/><test-case name="37945stZ028 tokoe:invalid" result="pass"/><test-case name="37946stZ029 tokoe:valid" result="pass"/><test-case name="37947stZ030 tokoe:valid" result="pass"/><test-case name="37948stZ030.v tokoe:valid" result="pass"/><test-case name="37949stZ031 tokoe:valid" result="pass"/><test-case name="37950stZ031.v tokoe:valid" result="pass"/><test-case name="37951stZ032 tokoe:valid" result="pass"/><test-case name="37952stZ032.i tokoe:invalid" result="pass"/><test-case name="37953stZ033 tokoe:valid" result="pass"/><test-case name="37954stZ033.i tokoe:invalid" result="pass"/><test-case name="37955stZ034 tokoe:valid" result="pass"/><test-case name="37956stZ034.i tokoe:invalid" result="pass"/><test-case name="37957stZ035 tokoe:valid" result="pass"/><test-case name="37958stZ035.i tokoe:invalid" result="pass"/><test-case name="37959stZ036 tokoe:valid" result="pass"/><test-case name="37960stZ036.v tokoe:valid" result="pass"/><test-case name="37961stZ037 tokoe:valid" result="pass"/><test-case name="37962stZ037.i tokoe:invalid" result="fail"/><test-case name="37963stZ038 tokoe:invalid" result="pass"/><test-case name="37964stZ039 tokoe:valid" result="pass"/><test-case name="37965stZ039.i tokoe:invalid" result="pass"/><test-case name="37966stZ040 tokoe:valid" result="pass"/><test-case name="37967stZ040.v tokoe:valid" result="pass"/><test-case name="37968stZ042 tokoe:valid" result="pass"/><test-case name="37969stZ043 tokoe:valid" result="pass"/><test-case name="37970stZ043.v tokoe:valid" result="fail"/><test-case name="37971stZ044 tokoe:valid" result="pass"/><test-case name="37972stZ044.i tokoe:invalid" result="pass"/><test-case name="37973stZ045 tokoe:valid" result="pass"/><test-case name="37974stZ045.v tokoe:valid" result="pass"/><test-case name="37975stZ046 tokoe:valid" result="pass"/><test-case name="37976stZ046.v tokoe:valid" result="pass"/><test-case name="37977stZ048 tokoe:invalid" result="pass"/><test-case name="37978stZ049 tokoe:invalid" result="pass"/><test-case name="37979stZ050 tokoe:valid" result="pass"/><test-case name="37980stZ050.v tokoe:valid" result="pass"/><test-case name="37981stZ051 tokoe:valid" result="pass"/><test-case name="37982stZ051.i tokoe:invalid" result="pass"/><test-case name="37983stZ052 tokoe:valid" result="pass"/><test-case name="37984stZ052.v tokoe:valid" result="pass"/><test-case name="37985stZ053 tokoe:valid" result="pass"/><test-case name="37986stZ053.v tokoe:valid" result="pass"/><test-case name="37987stZ054 tokoe:valid" result="pass"/><test-case name="37988stZ054.v tokoe:valid" result="pass"/><test-case name="37989stZ056 tokoe:valid" result="pass"/><test-case name="37990stZ056.i tokoe:invalid" result="pass"/><test-case name="37991stZ057 tokoe:valid" result="pass"/><test-case name="37992stZ057.v tokoe:valid" result="pass"/><test-case name="37993stZ058.v tokoe:valid" result="pass"/><test-case name="37994stZ059.i tokoe:invalid" result="pass"/><test-case name="37995stZ060.i tokoe:invalid" result="pass"/><test-case name="37996stZ061.i tokoe:invalid" result="pass"/><test-case name="37997stZ062.v tokoe:valid" result="pass"/><test-case name="37998stZ063.v tokoe:valid" result="pass"/><test-case name="37999stZ064.i tokoe:invalid" result="pass"/><test-case name="38000stZ066.i tokoe:invalid" result="pass"/><test-case name="38001stZ067 tokoe:valid" result="pass"/><test-case name="38002stZ068 tokoe:valid" result="pass"/><test-case name="38003stZ069 tokoe:valid" result="pass"/><test-case name="38004stZ070 tokoe:invalid" result="pass"/><test-case name="38005stZ071 tokoe:valid" result="pass"/><test-case name="38006stZ071.v tokoe:valid" result="pass"/><test-case name="38007stZ072 tokoe:valid" result="pass"/><test-case name="38008stZ072.v tokoe:valid" result="pass"/><test-case name="38009stZ073b tokoe:valid" result="pass"/><test-case name="38010stZ073b.i tokoe:invalid" result="pass"/><test-case name="38011stZ074 tokoe:valid" result="pass"/><test-case name="38012stZ074.v tokoe:valid" result="pass"/><test-case name="38013stZ075 tokoe:valid" result="pass"/><test-case name="38014stZ075.v tokoe:valid" result="pass"/><test-case name="38015wildA001 tokoe:valid" result="pass"/><test-case name="38016wildA002 tokoe:valid" result="pass"/><test-case name="38017wildA003 tokoe:invalid" result="pass"/><test-case name="38018wildA004 tokoe:invalid" result="pass"/><test-case name="38019wildA005 tokoe:invalid" result="pass"/><test-case name="38020wildA006 tokoe:invalid" result="pass"/><test-case name="38021wildA007 tokoe:invalid" result="pass"/><test-case name="38022wildA008 tokoe:invalid" result="pass"/><test-case name="38023wildB010 tokoe:valid" result="pass"/><test-case name="38024wildB011 tokoe:valid" result="pass"/><test-case name="38025wildB012 tokoe:valid" result="pass"/><test-case name="38026wildB013 tokoe:valid" result="pass"/><test-case name="38027wildB014 tokoe:invalid" result="pass"/><test-case name="38028wildB015 tokoe:invalid" result="pass"/><test-case name="38029wildB016 tokoe:invalid" result="pass"/><test-case name="38030wildB017 tokoe:valid" result="pass"/><test-case name="38031wildB018 tokoe:valid" result="pass"/><test-case name="38032wildB019 tokoe:valid" result="pass"/><test-case name="38033wildB020 tokoe:invalid" result="pass"/><test-case name="38034wildB021 tokoe:valid" result="pass"/><test-case name="38035wildB022 tokoe:invalid" result="pass"/><test-case name="38036wildB023 tokoe:invalid" result="pass"/><test-case name="38037wildB024 tokoe:invalid" result="pass"/><test-case name="38038wildB025 tokoe:valid" result="pass"/><test-case name="38039wildB026 tokoe:valid" result="pass"/><test-case name="38040wildB027 tokoe:invalid" result="pass"/><test-case name="38041wildB028 tokoe:invalid" result="pass"/><test-case name="38042wildB029 tokoe:valid" result="pass"/><test-case name="38043wildC030 tokoe:valid" result="pass"/><test-case name="38044wildC031 tokoe:valid" result="pass"/><test-case name="38045wildC032 tokoe:valid" result="pass"/><test-case name="38046wildC033 tokoe:valid" result="pass"/><test-case name="38047wildC034 tokoe:valid" result="pass"/><test-case name="38048wildC035 tokoe:invalid" result="pass"/><test-case name="38049wildC036 tokoe:invalid" result="pass"/><test-case name="38050wildC037 tokoe:valid" result="pass"/><test-case name="38051wildC038 tokoe:valid" result="pass"/><test-case name="38052wildC039 tokoe:valid" result="pass"/><test-case name="38053wildC040 tokoe:valid" result="pass"/><test-case name="38054wildC041 tokoe:valid" result="pass"/><test-case name="38055wildC042 tokoe:valid" result="pass"/><test-case name="38056wildC043 tokoe:valid" result="pass"/><test-case name="38057wildC044 tokoe:valid" result="pass"/><test-case name="38058wildC045 tokoe:valid" result="pass"/><test-case name="38059wildC046 tokoe:valid" result="pass"/><test-case name="38060wildC047 tokoe:valid" result="pass"/><test-case name="38061wildC048 tokoe:valid" result="pass"/><test-case name="38062wildC049 tokoe:invalid" result="pass"/><test-case name="38063wildC050 tokoe:invalid" result="pass"/><test-case name="38064wildC051 tokoe:invalid" result="pass"/><test-case name="38065wildC052 tokoe:invalid" result="pass"/><test-case name="38066wildC053 tokoe:invalid" result="pass"/><test-case name="38067wildC054 tokoe:valid" result="pass"/><test-case name="38068wildC055 tokoe:invalid" result="pass"/><test-case name="38069wildC056 tokoe:invalid" result="pass"/><test-case name="38070wildC057 tokoe:invalid" result="pass"/><test-case name="38071wildC058 tokoe:invalid" result="pass"/><test-case name="38072wildC059 tokoe:valid" result="pass"/><test-case name="38073wildC060 tokoe:valid" result="pass"/><test-case name="38074wildC061 tokoe:valid" result="pass"/><test-case name="38075wildC062 tokoe:valid" result="pass"/><test-case name="38076wildC063 tokoe:valid" result="pass"/><test-case name="38077wildC064 tokoe:valid" result="pass"/><test-case name="38078wildC065 tokoe:valid" result="pass"/><test-case name="38079wildC066 tokoe:invalid" result="pass"/><test-case name="38080wildC067 tokoe:invalid" result="pass"/><test-case name="38081wildC068 tokoe:valid" result="pass"/><test-case name="38082wildC069 tokoe:valid" result="pass"/><test-case name="38083wildC070 tokoe:valid" result="pass"/><test-case name="38084wildD071 tokoe:invalid" result="pass"/><test-case name="38085wildD072 tokoe:valid" result="pass"/><test-case name="38086wildD073 tokoe:valid" result="pass"/><test-case name="38087wildD074 tokoe:valid" result="pass"/><test-case name="38088wildD075 tokoe:invalid" result="pass"/><test-case name="38089wildD076 tokoe:invalid" result="pass"/><test-case name="38090wildD077 tokoe:invalid" result="pass"/><test-case name="38091wildD078 tokoe:invalid" result="pass"/><test-case name="38092wildD079 tokoe:invalid" result="pass"/><test-case name="38093wildE001 tokoe:valid" result="pass"/><test-case name="38094wildE002 tokoe:invalid" result="pass"/><test-case name="38095wildF001 tokoe:valid" result="pass"/><test-case name="38096wildF002 tokoe:valid" result="pass"/><test-case name="38097wildF003 tokoe:valid" result="pass"/><test-case name="38098wildF004 tokoe:valid" result="pass"/><test-case name="38099wildF005 tokoe:valid" result="pass"/><test-case name="38100wildF006 tokoe:invalid" result="pass"/><test-case name="38101wildF007 tokoe:invalid" result="pass"/><test-case name="38102wildF008 tokoe:invalid" result="pass"/><test-case name="38103wildF009 tokoe:invalid" result="pass"/><test-case name="38104wildF010 tokoe:invalid" result="pass"/><test-case name="38105wildF011 tokoe:valid" result="pass"/><test-case name="38106wildF012 tokoe:invalid" result="pass"/><test-case name="38107wildF013 tokoe:invalid" result="pass"/><test-case name="38108wildF014 tokoe:invalid" result="pass"/><test-case name="38109wildF015 tokoe:invalid" result="pass"/><test-case name="38110wildF016 tokoe:invalid" result="pass"/><test-case name="38111wildF017 tokoe:valid" result="pass"/><test-case name="38112wildF018 tokoe:invalid" result="pass"/><test-case name="38113wildF019 tokoe:valid" result="pass"/><test-case name="38114wildF020 tokoe:valid" result="pass"/><test-case name="38115wildG001 tokoe:valid" result="pass"/><test-case name="38116wildG001.v tokoe:valid" result="pass"/><test-case name="38117wildG002 tokoe:valid" result="pass"/><test-case name="38118wildG002.v tokoe:valid" result="pass"/><test-case name="38119wildG003 tokoe:valid" result="pass"/><test-case name="38120wildG003.i tokoe:invalid" result="pass"/><test-case name="38121wildG004 tokoe:valid" result="pass"/><test-case name="38122wildG004.v tokoe:valid" result="pass"/><test-case name="38123wildG005 tokoe:valid" result="pass"/><test-case name="38124wildG005.i tokoe:invalid" result="pass"/><test-case name="38125wildG006 tokoe:valid" result="pass"/><test-case name="38126wildG006.v tokoe:valid" result="pass"/><test-case name="38127wildG007 tokoe:valid" result="pass"/><test-case name="38128wildG007.v tokoe:valid" result="pass"/><test-case name="38129wildG008 tokoe:valid" result="pass"/><test-case name="38130wildG008.i tokoe:invalid" result="pass"/><test-case name="38131wildG009 tokoe:valid" result="pass"/><test-case name="38132wildG009.i tokoe:invalid" result="pass"/><test-case name="38133wildG010 tokoe:valid" result="pass"/><test-case name="38134wildG010.v tokoe:valid" result="pass"/><test-case name="38135wildG011 tokoe:valid" result="pass"/><test-case name="38136wildG011.i tokoe:invalid" result="pass"/><test-case name="38137wildG012 tokoe:valid" result="pass"/><test-case name="38138wildG012.v tokoe:valid" result="pass"/><test-case name="38139wildG013 tokoe:valid" result="pass"/><test-case name="38140wildG013.v tokoe:valid" result="pass"/><test-case name="38141wildG014 tokoe:valid" result="pass"/><test-case name="38142wildG014.i tokoe:invalid" result="pass"/><test-case name="38143wildG015 tokoe:valid" result="pass"/><test-case name="38144wildG015.v tokoe:valid" result="pass"/><test-case name="38145wildG016 tokoe:valid" result="pass"/><test-case name="38146wildG016.v tokoe:valid" result="pass"/><test-case name="38147wildG017 tokoe:valid" result="pass"/><test-case name="38148wildG017.i tokoe:invalid" result="pass"/><test-case name="38149wildG018 tokoe:valid" result="pass"/><test-case name="38150wildG018.v tokoe:valid" result="pass"/><test-case name="38151wildG019 tokoe:valid" result="pass"/><test-case name="38152wildG019.i tokoe:invalid" result="pass"/><test-case name="38153wildG020 tokoe:valid" result="pass"/><test-case name="38154wildG020.i tokoe:invalid" result="pass"/><test-case name="38155wildG021 tokoe:valid" result="pass"/><test-case name="38156wildG021.v tokoe:valid" result="pass"/><test-case name="38157wildG022 tokoe:valid" result="pass"/><test-case name="38158wildG022.i tokoe:invalid" result="pass"/><test-case name="38159wildG023 tokoe:valid" result="pass"/><test-case name="38160wildG023.v tokoe:valid" result="pass"/><test-case name="38161wildG024 tokoe:valid" result="pass"/><test-case name="38162wildG024.i tokoe:invalid" result="pass"/><test-case name="38163wildG025 tokoe:valid" result="pass"/><test-case name="38164wildG025.i tokoe:invalid" result="pass"/><test-case name="38165wildG026 tokoe:valid" result="pass"/><test-case name="38166wildG026.v tokoe:valid" result="pass"/><test-case name="38167wildG027 tokoe:valid" result="pass"/><test-case name="38168wildG027.v tokoe:valid" result="pass"/><test-case name="38169wildG028 tokoe:valid" result="pass"/><test-case name="38170wildG028.i tokoe:invalid" result="pass"/><test-case name="38171wildG029 tokoe:valid" result="pass"/><test-case name="38172wildG029.i tokoe:invalid" result="pass"/><test-case name="38173wildG030 tokoe:valid" result="pass"/><test-case name="38174wildG030.i tokoe:invalid" result="pass"/><test-case name="38175wildG031 tokoe:valid" result="pass"/><test-case name="38176wildG031.v tokoe:valid" result="pass"/><test-case name="38177wildG032 tokoe:valid" result="pass"/><test-case name="38178wildG032.i tokoe:invalid" result="pass"/><test-case name="38179wildG033 tokoe:valid" result="pass"/><test-case name="38180wildG033.v tokoe:valid" result="pass"/><test-case name="38181wildG034 tokoe:valid" result="pass"/><test-case name="38182wildG034.i tokoe:invalid" result="pass"/><test-case name="38183wildG035 tokoe:valid" result="pass"/><test-case name="38184wildG035.v tokoe:valid" result="pass"/><test-case name="38185wildG036 tokoe:valid" result="pass"/><test-case name="38186wildG036.i tokoe:invalid" result="pass"/><test-case name="38187wildG037 tokoe:valid" result="pass"/><test-case name="38188wildG037.v tokoe:valid" result="pass"/><test-case name="38189wildG038 tokoe:valid" result="pass"/><test-case name="38190wildG038.v tokoe:valid" result="pass"/><test-case name="38191wildG039 tokoe:valid" result="pass"/><test-case name="38192wildG039.i tokoe:invalid" result="pass"/><test-case name="38193wildG040 tokoe:valid" result="pass"/><test-case name="38194wildG040.v tokoe:valid" result="pass"/><test-case name="38195wildH001 tokoe:valid" result="pass"/><test-case name="38196wildH001.i tokoe:invalid" result="pass"/><test-case name="38197wildH002 tokoe:valid" result="pass"/><test-case name="38198wildH002.i tokoe:invalid" result="pass"/><test-case name="38199wildH003 tokoe:valid" result="pass"/><test-case name="38200wildH003.v tokoe:valid" result="pass"/><test-case name="38201wildH004 tokoe:valid" result="pass"/><test-case name="38202wildH004.v tokoe:valid" result="pass"/><test-case name="38203wildH005 tokoe:valid" result="pass"/><test-case name="38204wildH005.v tokoe:valid" result="pass"/><test-case name="38205wildH006 tokoe:valid" result="pass"/><test-case name="38206wildH006.i tokoe:invalid" result="pass"/><test-case name="38207wildH007 tokoe:valid" result="pass"/><test-case name="38208wildH007.v tokoe:valid" result="pass"/><test-case name="38209wildH008 tokoe:valid" result="pass"/><test-case name="38210wildH008.i tokoe:invalid" result="pass"/><test-case name="38211wildH009 tokoe:valid" result="pass"/><test-case name="38212wildH009.v tokoe:valid" result="pass"/><test-case name="38213wildH010 tokoe:valid" result="pass"/><test-case name="38214wildH010.v tokoe:valid" result="pass"/><test-case name="38215wildH011 tokoe:valid" result="pass"/><test-case name="38216wildH011.v tokoe:valid" result="pass"/><test-case name="38217wildH012 tokoe:valid" result="pass"/><test-case name="38218wildH012.v tokoe:valid" result="pass"/><test-case name="38219wildI001 tokoe:valid" result="pass"/><test-case name="38220wildI002 tokoe:invalid" result="pass"/><test-case name="38221wildI003 tokoe:invalid" result="pass"/><test-case name="38222wildI004 tokoe:valid" result="pass"/><test-case name="38223wildI004.v tokoe:valid" result="pass"/><test-case name="38224wildI004i tokoe:valid" result="pass"/><test-case name="38225wildI004i.i tokoe:invalid" result="pass"/><test-case name="38226wildI005 tokoe:valid" result="pass"/><test-case name="38227wildI005.v tokoe:valid" result="pass"/><test-case name="38228wildI006 tokoe:valid" result="pass"/><test-case name="38229wildI006.v tokoe:valid" result="pass"/><test-case name="38230wildI007 tokoe:valid" result="pass"/><test-case name="38231wildI007.v tokoe:valid" result="pass"/><test-case name="38232wildI008 tokoe:valid" result="pass"/><test-case name="38233wildI009 tokoe:invalid" result="pass"/><test-case name="38234wildI010 tokoe:invalid" result="pass"/><test-case name="38235wildI011 tokoe:valid" result="pass"/><test-case name="38236wildI011.v tokoe:valid" result="pass"/><test-case name="38237wildI012 tokoe:valid" result="pass"/><test-case name="38238wildI012.v tokoe:valid" result="pass"/><test-case name="38239wildI013 tokoe:invalid" result="pass"/><test-case name="38240wildI014 tokoe:invalid" result="pass"/><test-case name="38241wildJ001 tokoe:valid" result="pass"/><test-case name="38242wildJ002 tokoe:valid" result="pass"/><test-case name="38243wildJ003 tokoe:invalid" result="pass"/><test-case name="38244wildJ004 tokoe:invalid" result="pass"/><test-case name="38245wildJ005 tokoe:invalid" result="pass"/><test-case name="38246wildJ006 tokoe:invalid" result="pass"/><test-case name="38247wildJ007 tokoe:invalid" result="pass"/><test-case name="38248wildJ008 tokoe:invalid" result="pass"/><test-case name="38249wildK001 tokoe:valid" result="pass"/><test-case name="38250wildK002 tokoe:invalid" result="pass"/><test-case name="38251wildK003 tokoe:valid" result="pass"/><test-case name="38252wildK004 tokoe:valid" result="pass"/><test-case name="38253wildK005 tokoe:valid" result="pass"/><test-case name="38254wildK006 tokoe:invalid" result="pass"/><test-case name="38255wildK007 tokoe:invalid" result="pass"/><test-case name="38256wildK008 tokoe:valid" result="pass"/><test-case name="38257wildK009 tokoe:valid" result="pass"/><test-case name="38258wildK010 tokoe:valid" result="pass"/><test-case name="38259wildK011 tokoe:valid" result="pass"/><test-case name="38260wildK012 tokoe:valid" result="pass"/><test-case name="38261wildK013 tokoe:valid" result="pass"/><test-case name="38262wildK014 tokoe:valid" result="pass"/><test-case name="38263wildK015 tokoe:valid" result="pass"/><test-case name="38264wildK016 tokoe:valid" result="pass"/><test-case name="38265wildK017 tokoe:valid" result="pass"/><test-case name="38266wildK018 tokoe:valid" result="pass"/><test-case name="38267wildK019 tokoe:valid" result="pass"/><test-case name="38268wildK020 tokoe:invalid" result="pass"/><test-case name="38269wildK021 tokoe:invalid" result="pass"/><test-case name="38270wildK022 tokoe:invalid" result="pass"/><test-case name="38271wildK023 tokoe:invalid" result="pass"/><test-case name="38272wildK024 tokoe:invalid" result="pass"/><test-case name="38273wildK025 tokoe:valid" result="pass"/><test-case name="38274wildK026 tokoe:invalid" result="pass"/><test-case name="38275wildK027 tokoe:invalid" result="pass"/><test-case name="38276wildK028 tokoe:invalid" result="pass"/><test-case name="38277wildK029 tokoe:invalid" result="pass"/><test-case name="38278wildK030 tokoe:valid" result="pass"/><test-case name="38279wildK031 tokoe:valid" result="pass"/><test-case name="38280wildK032 tokoe:valid" result="pass"/><test-case name="38281wildK033 tokoe:valid" result="pass"/><test-case name="38282wildK034 tokoe:valid" result="pass"/><test-case name="38283wildK035 tokoe:valid" result="pass"/><test-case name="38284wildK036 tokoe:valid" result="pass"/><test-case name="38285wildK037 tokoe:valid" result="pass"/><test-case name="38286wildK038 tokoe:invalid" result="pass"/><test-case name="38287wildK039 tokoe:valid" result="pass"/><test-case name="38288wildK040 tokoe:valid" result="pass"/><test-case name="38289wildK041 tokoe:valid" result="pass"/><test-case name="38290wildL001 tokoe:invalid" result="pass"/><test-case name="38291wildL002 tokoe:valid" result="pass"/><test-case name="38292wildL003 tokoe:valid" result="pass"/><test-case name="38293wildL004 tokoe:valid" result="pass"/><test-case name="38294wildL005 tokoe:invalid" result="pass"/><test-case name="38295wildL006 tokoe:invalid" result="pass"/><test-case name="38296wildL007 tokoe:invalid" result="pass"/><test-case name="38297wildL008 tokoe:invalid" result="pass"/><test-case name="38298wildL009 tokoe:invalid" result="pass"/><test-case name="38299wildM001 tokoe:valid" result="pass"/><test-case name="38300wildM002 tokoe:invalid" result="pass"/><test-case name="38301wildN001 tokoe:invalid" result="pass"/><test-case name="38302wildN002 tokoe:valid" result="pass"/><test-case name="38303wildN003 tokoe:valid" result="pass"/><test-case name="38304wildN004 tokoe:valid" result="pass"/><test-case name="38305wildN005 tokoe:valid" result="pass"/><test-case name="38306wildN006 tokoe:invalid" result="pass"/><test-case name="38307wildN007 tokoe:invalid" result="pass"/><test-case name="38308wildN008 tokoe:invalid" result="pass"/><test-case name="38309wildN009 tokoe:invalid" result="pass"/><test-case name="38310wildN010 tokoe:invalid" result="pass"/><test-case name="38311wildN011 tokoe:valid" result="pass"/><test-case name="38312wildN012 tokoe:invalid" result="pass"/><test-case name="38313wildN013 tokoe:invalid" result="pass"/><test-case name="38314wildN014 tokoe:invalid" result="pass"/><test-case name="38315wildN015 tokoe:invalid" result="pass"/><test-case name="38316wildN016 tokoe:invalid" result="pass"/><test-case name="38317wildN017 tokoe:valid" result="pass"/><test-case name="38318wildN018 tokoe:invalid" result="pass"/><test-case name="38319wildN019 tokoe:valid" result="pass"/><test-case name="38320wildN020 tokoe:valid" result="pass"/><test-case name="38321wildQ001 tokoe:invalid" result="pass"/><test-case name="38322wildQ002 tokoe:invalid" result="pass"/><test-case name="38323wildQ003 tokoe:invalid" result="pass"/><test-case name="38324wildQ004 tokoe:invalid" result="pass"/><test-case name="38325wildO001 tokoe:valid" result="pass"/><test-case name="38326wildO001.v tokoe:valid" result="pass"/><test-case name="38327wildO002 tokoe:valid" result="pass"/><test-case name="38328wildO002.v tokoe:valid" result="pass"/><test-case name="38329wildO003 tokoe:valid" result="pass"/><test-case name="38330wildO003.i tokoe:invalid" result="pass"/><test-case name="38331wildO004 tokoe:valid" result="pass"/><test-case name="38332wildO004.v tokoe:valid" result="pass"/><test-case name="38333wildO005 tokoe:valid" result="pass"/><test-case name="38334wildO005.v tokoe:valid" result="pass"/><test-case name="38335wildO006 tokoe:valid" result="pass"/><test-case name="38336wildO006.i tokoe:invalid" result="pass"/><test-case name="38337wildO007 tokoe:valid" result="pass"/><test-case name="38338wildO007.v tokoe:valid" result="pass"/><test-case name="38339wildO008 tokoe:valid" result="pass"/><test-case name="38340wildO008.i tokoe:invalid" result="pass"/><test-case name="38341wildO009 tokoe:valid" result="pass"/><test-case name="38342wildO009.i tokoe:invalid" result="pass"/><test-case name="38343wildO010 tokoe:valid" result="pass"/><test-case name="38344wildO010.v tokoe:valid" result="pass"/><test-case name="38345wildO011 tokoe:valid" result="pass"/><test-case name="38346wildO011.i tokoe:invalid" result="pass"/><test-case name="38347wildO012 tokoe:valid" result="pass"/><test-case name="38348wildO012.v tokoe:valid" result="pass"/><test-case name="38349wildO013 tokoe:valid" result="pass"/><test-case name="38350wildO013.v tokoe:valid" result="pass"/><test-case name="38351wildO014 tokoe:valid" result="pass"/><test-case name="38352wildO014.i tokoe:invalid" result="pass"/><test-case name="38353wildO015 tokoe:valid" result="pass"/><test-case name="38354wildO015.v tokoe:valid" result="pass"/><test-case name="38355wildO016 tokoe:valid" result="pass"/><test-case name="38356wildO016.v tokoe:valid" result="pass"/><test-case name="38357wildO017 tokoe:valid" result="pass"/><test-case name="38358wildO017.i tokoe:invalid" result="pass"/><test-case name="38359wildO018 tokoe:valid" result="pass"/><test-case name="38360wildO018.v tokoe:valid" result="pass"/><test-case name="38361wildO019 tokoe:valid" result="pass"/><test-case name="38362wildO019.v tokoe:valid" result="pass"/><test-case name="38363wildO020 tokoe:valid" result="pass"/><test-case name="38364wildO020.i tokoe:invalid" result="pass"/><test-case name="38365wildO021 tokoe:valid" result="pass"/><test-case name="38366wildO021.v tokoe:valid" result="pass"/><test-case name="38367wildO022 tokoe:valid" result="pass"/><test-case name="38368wildO022.i tokoe:invalid" result="pass"/><test-case name="38369wildO023 tokoe:valid" result="pass"/><test-case name="38370wildO023.v tokoe:valid" result="pass"/><test-case name="38371wildO024 tokoe:valid" result="pass"/><test-case name="38372wildO024.i tokoe:invalid" result="pass"/><test-case name="38373wildO025 tokoe:valid" result="pass"/><test-case name="38374wildO025.i tokoe:invalid" result="pass"/><test-case name="38375wildO026 tokoe:valid" result="pass"/><test-case name="38376wildO026.v tokoe:valid" result="pass"/><test-case name="38377wildO027 tokoe:valid" result="pass"/><test-case name="38378wildO027.v tokoe:valid" result="pass"/><test-case name="38379wildO028 tokoe:valid" result="pass"/><test-case name="38380wildO028.i tokoe:invalid" result="pass"/><test-case name="38381wildO029 tokoe:valid" result="pass"/><test-case name="38382wildO029.v tokoe:valid" result="pass"/><test-case name="38383wildO030 tokoe:valid" result="pass"/><test-case name="38384wildO030.i tokoe:invalid" result="pass"/><test-case name="38385wildO031 tokoe:valid" result="pass"/><test-case name="38386wildO031.v tokoe:valid" result="pass"/><test-case name="38387wildO032 tokoe:valid" result="pass"/><test-case name="38388wildO032.i tokoe:invalid" result="pass"/><test-case name="38389wildO033 tokoe:valid" result="pass"/><test-case name="38390wildO033.v tokoe:valid" result="pass"/><test-case name="38391wildO034 tokoe:valid" result="pass"/><test-case name="38392wildO034.i tokoe:invalid" result="pass"/><test-case name="38393wildO035 tokoe:valid" result="pass"/><test-case name="38394wildO035.i tokoe:invalid" result="pass"/><test-case name="38395wildO037 tokoe:valid" result="pass"/><test-case name="38396wildO037.v tokoe:valid" result="pass"/><test-case name="38397wildO038 tokoe:valid" result="pass"/><test-case name="38398wildO038.v tokoe:valid" result="pass"/><test-case name="38399wildO039 tokoe:valid" result="pass"/><test-case name="38400wildO039.i tokoe:invalid" result="pass"/><test-case name="38401wildO040 tokoe:valid" result="pass"/><test-case name="38402wildO040.v tokoe:valid" result="pass"/><test-case name="38403wildP001 tokoe:valid" result="pass"/><test-case name="38404wildP001.v tokoe:valid" result="pass"/><test-case name="38405wildP002 tokoe:valid" result="pass"/><test-case name="38406wildP002.i tokoe:invalid" result="pass"/><test-case name="38407wildP003 tokoe:valid" result="pass"/><test-case name="38408wildP003.v tokoe:valid" result="pass"/><test-case name="38409wildP004 tokoe:valid" result="pass"/><test-case name="38410wildP004.v tokoe:valid" result="pass"/><test-case name="38411wildP005 tokoe:valid" result="pass"/><test-case name="38412wildP005.v tokoe:valid" result="pass"/><test-case name="38413wildP006 tokoe:valid" result="pass"/><test-case name="38414wildP006.v tokoe:valid" result="pass"/><test-case name="38415wildZ001 tokoe:valid" result="pass"/><test-case name="38416wildZ001.i tokoe:invalid" result="pass"/><test-case name="38417wildZ002 tokoe:valid" result="pass"/><test-case name="38418wildZ002.v tokoe:valid" result="pass"/><test-case name="38419wildZ003 tokoe:valid" result="pass"/><test-case name="38420wildZ003.v tokoe:valid" result="fail"/><test-case name="38421wildZ004 tokoe:valid" result="pass"/><test-case name="38422wildZ004.v tokoe:valid" result="pass"/><test-case name="38423wildZ005 tokoe:valid" result="pass"/><test-case name="38424wildZ005.i tokoe:invalid" result="pass"/><test-case name="38425wildZ006 tokoe:valid" result="pass"/><test-case name="38426wildZ006.i tokoe:invalid" result="pass"/><test-case name="38427wildZ007 tokoe:valid" result="pass"/><test-case name="38428wildZ007.v tokoe:valid" result="pass"/><test-case name="38429wildZ008 tokoe:invalid" result="pass"/><test-case name="38430wildZ009 tokoe:invalid" result="pass"/><test-case name="38431wildZ009b tokoe:valid" result="pass"/><test-case name="38432wildZ011 tokoe:valid" result="pass"/><test-case name="38433wildZ011.i tokoe:invalid" result="pass"/><test-case name="38434wildZ013 tokoe:invalid" result="pass"/><test-case name="38435wildZ013a tokoe:valid" result="pass"/><test-case name="38436wildZ013a.i tokoe:invalid" result="pass"/><test-case name="38437wildZ013b tokoe:valid" result="pass"/><test-case name="38438wildZ013b.v tokoe:valid" result="pass"/><test-case name="38439wildZ013c tokoe:valid" result="pass"/><test-case name="38440wildZ013c.v tokoe:valid" result="pass"/><test-case name="38441wildZ013d tokoe:valid" result="pass"/><test-case name="38442wildZ013d.i tokoe:invalid" result="pass"/><test-case name="38443wildZ013e tokoe:valid" result="pass"/><test-case name="38444wildZ013e.i tokoe:invalid" result="pass"/><test-case name="38445wildZ013f tokoe:valid" result="pass"/><test-case name="38446wildZ013f.i tokoe:invalid" result="pass"/><test-case name="38447ipo1 tokoe:valid" result="pass"/><test-case name="38448ipo_1 tokoe:valid" result="pass"/><test-case name="38449ipo_2 tokoe:valid" result="pass"/><test-case name="38450ipo2 tokoe:valid" result="pass"/><test-case name="38451ipo_1 tokoe:valid" result="pass"/><test-case name="38452ipo_2 tokoe:valid" result="pass"/><test-case name="38453ipo3 tokoe:valid" result="pass"/><test-case name="38454ipo_1 tokoe:valid" result="pass"/><test-case name="38455ipo_2 tokoe:valid" result="pass"/><test-case name="38456ipo4 tokoe:valid" result="pass"/><test-case name="38457ipo_1 tokoe:valid" result="pass"/><test-case name="38458ipo_2 tokoe:valid" result="pass"/><test-case name="38459ipo5 tokoe:valid" result="pass"/><test-case name="38460ipo_1 tokoe:valid" result="pass"/><test-case name="38461ipo_2 tokoe:valid" result="pass"/><test-case name="38462ipo6 tokoe:valid" result="pass"/><test-case name="38463ipo_1 tokoe:valid" result="fail"/><test-case name="38464ipo_2 tokoe:valid" result="fail"/></test-suite-result> \ No newline at end of file
diff --git a/tests/auto/xmlpatternsschemats/TESTSUITE/.gitignore b/tests/auto/xmlpatternsschemats/TESTSUITE/.gitignore
new file mode 100644
index 0000000..35cb85e
--- /dev/null
+++ b/tests/auto/xmlpatternsschemats/TESTSUITE/.gitignore
@@ -0,0 +1,3 @@
+testSuites.xml
+xmlschema2006-11-06
+xmlschema2006-11-06-new
diff --git a/tests/auto/xmlpatternsschemats/TESTSUITE/unifyCatalog.xsl b/tests/auto/xmlpatternsschemats/TESTSUITE/unifyCatalog.xsl
new file mode 100644
index 0000000..325f626
--- /dev/null
+++ b/tests/auto/xmlpatternsschemats/TESTSUITE/unifyCatalog.xsl
@@ -0,0 +1,21 @@
+<xsl:stylesheet version="2.0"
+ xmlns:ts="http://www.w3.org/XML/2004/xml-schema-test-suite/"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+
+ <xsl:template match="ts:testSetRef">
+ <xsl:apply-templates select="document(@xlink:href)"/>
+ </xsl:template>
+
+ <!-- We make all URI references absolute. -->
+ <xsl:template match="@xlink:href">
+ <xsl:attribute name="xlink:href" select="resolve-uri(., base-uri())"/>
+ </xsl:template>
+
+ <xsl:template match="@*|node()">
+ <xsl:copy>
+ <xsl:apply-templates select="@*|node()"/>
+ </xsl:copy>
+ </xsl:template>
+
+</xsl:stylesheet>
diff --git a/tests/auto/xmlpatternsschemats/TESTSUITE/updateSuite.sh b/tests/auto/xmlpatternsschemats/TESTSUITE/updateSuite.sh
new file mode 100755
index 0000000..1770f1e
--- /dev/null
+++ b/tests/auto/xmlpatternsschemats/TESTSUITE/updateSuite.sh
@@ -0,0 +1,20 @@
+#!/bin/bash
+
+# This script updates the suite from W3C's server.
+#
+# NOTE: the files checked out CANNOT be added to Trolltech's
+# repository at the moment, due to legal complications.
+
+DIRECTORY_NAME="xmlschema2006-11-06"
+ARCHIVE_NAME="xsts-2007-06-20.tar.gz"
+
+rm -Rf $DIRECTORY_NAME
+
+wget http://www.w3.org/XML/2004/xml-schema-test-suite/xmlschema2006-11-06/$ARCHIVE_NAME
+tar -xzf $ARCHIVE_NAME
+rm $ARCHIVE_NAME
+
+CVSROOT=:pserver:anonymous@dev.w3.org:/sources/public cvs login
+CVSROOT=:pserver:anonymous@dev.w3.org:/sources/public cvs checkout -d xmlschema2006-11-06-new XML/xml-schema-test-suite/2004-01-14/xmlschema2006-11-06
+
+java net.sf.saxon.Transform -xsl:unifyCatalog.xsl $DIRECTORY_NAME/suite.xml > testSuites.xml
diff --git a/tests/auto/xmlpatternsschemats/tst_xmlpatternsschemats.cpp b/tests/auto/xmlpatternsschemats/tst_xmlpatternsschemats.cpp
new file mode 100644
index 0000000..7a6f4c8
--- /dev/null
+++ b/tests/auto/xmlpatternsschemats/tst_xmlpatternsschemats.cpp
@@ -0,0 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+****************************************************************************/
+
+#include <QtTest/QtTest>
+
+#ifdef QTEST_XMLPATTERNS
+
+#include "tst_suitetest.h"
+
+/*!
+ \internal
+ \brief Test QXsdSchemaParser against W3C's XSD test suite.
+ */
+class tst_XmlPatternsSchemaTS : public tst_SuiteTest
+{
+ Q_OBJECT
+public:
+ tst_XmlPatternsSchemaTS();
+protected:
+ virtual void catalogPath(QString &write) const;
+};
+
+tst_XmlPatternsSchemaTS::tst_XmlPatternsSchemaTS()
+ : tst_SuiteTest(tst_SuiteTest::XsdSuite)
+{
+}
+
+void tst_XmlPatternsSchemaTS::catalogPath(QString &write) const
+{
+ write = QLatin1String("TESTSUITE/testSuites.xml");
+}
+
+QTEST_MAIN(tst_XmlPatternsSchemaTS)
+
+#include "tst_xmlpatternsschemats.moc"
+#else
+QTEST_NOOP_MAIN
+#endif
+
+// vim: et:ts=4:sw=4:sts=4
diff --git a/tests/auto/xmlpatternsschemats/xmlpatternsschemats.pro b/tests/auto/xmlpatternsschemats/xmlpatternsschemats.pro
new file mode 100644
index 0000000..4978c35
--- /dev/null
+++ b/tests/auto/xmlpatternsschemats/xmlpatternsschemats.pro
@@ -0,0 +1,23 @@
+load(qttest_p4)
+SOURCES += tst_xmlpatternsschemats.cpp \
+ ../qxmlquery/TestFundament.cpp
+
+include (../xmlpatterns.pri)
+
+contains(QT_CONFIG,xmlpatterns) {
+HEADERS += ../xmlpatternsxqts/test/tst_suitetest.h
+SOURCES += ../xmlpatternsxqts/test/tst_suitetest.cpp
+}
+
+PATTERNIST_SDK = QtXmlPatternsSDK
+if(!debug_and_release|build_pass):CONFIG(debug, debug|release) {
+ win32:PATTERNIST_SDK = $${PATTERNIST_SDK}d
+ else: PATTERNIST_SDK = $${PATTERNIST_SDK}_debug
+}
+LIBS += -l$$PATTERNIST_SDK
+
+INCLUDEPATH += $$QT_SOURCE_TREE/tests/auto/xmlpatternsxqts/lib/ \
+ $$QT_BUILD_TREE/include/QtXmlPatterns/private \
+ $$QT_SOURCE_TREE/tests/auto/xmlpatternsxqts/test \
+ ../xmlpatternsxqts/test \
+ ../xmlpatternsxqts/lib
diff --git a/tests/auto/xmlpatternsvalidator/files/instance.xml b/tests/auto/xmlpatternsvalidator/files/instance.xml
new file mode 100644
index 0000000..544ff8c
--- /dev/null
+++ b/tests/auto/xmlpatternsvalidator/files/instance.xml
@@ -0,0 +1,3 @@
+<hello>
+ <world/>
+</hello> \ No newline at end of file
diff --git a/tests/auto/xmlpatternsvalidator/files/invalid_schema.xsd b/tests/auto/xmlpatternsvalidator/files/invalid_schema.xsd
new file mode 100644
index 0000000..99e3525
--- /dev/null
+++ b/tests/auto/xmlpatternsvalidator/files/invalid_schema.xsd
@@ -0,0 +1,12 @@
+<?xml version="1.0"?>
+<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+
+ <xsd:element name="hello">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="world" type="xsd:string" maxOccurs="-2345"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+
+</xsd:schema>
diff --git a/tests/auto/xmlpatternsvalidator/files/other_valid_schema.xsd b/tests/auto/xmlpatternsvalidator/files/other_valid_schema.xsd
new file mode 100644
index 0000000..850ed92
--- /dev/null
+++ b/tests/auto/xmlpatternsvalidator/files/other_valid_schema.xsd
@@ -0,0 +1,12 @@
+<?xml version="1.0"?>
+<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+
+ <xsd:element name="olleh">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="dlrow" type="xsd:string" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+
+</xsd:schema>
diff --git a/tests/auto/xmlpatternsvalidator/files/sa_invalid_instance.xml b/tests/auto/xmlpatternsvalidator/files/sa_invalid_instance.xml
new file mode 100644
index 0000000..1804e88
--- /dev/null
+++ b/tests/auto/xmlpatternsvalidator/files/sa_invalid_instance.xml
@@ -0,0 +1,3 @@
+<hello xsi:noNamespaceSchemaLocation="valid_schema.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <dlrow/>
+</hello>
diff --git a/tests/auto/xmlpatternsvalidator/files/sa_valid_instance.xml b/tests/auto/xmlpatternsvalidator/files/sa_valid_instance.xml
new file mode 100644
index 0000000..47c980e
--- /dev/null
+++ b/tests/auto/xmlpatternsvalidator/files/sa_valid_instance.xml
@@ -0,0 +1,3 @@
+<hello xsi:noNamespaceSchemaLocation="valid_schema.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <world/>
+</hello>
diff --git a/tests/auto/xmlpatternsvalidator/files/valid_schema.xsd b/tests/auto/xmlpatternsvalidator/files/valid_schema.xsd
new file mode 100644
index 0000000..a1b765a
--- /dev/null
+++ b/tests/auto/xmlpatternsvalidator/files/valid_schema.xsd
@@ -0,0 +1,12 @@
+<?xml version="1.0"?>
+<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+
+ <xsd:element name="hello">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="world" type="xsd:string" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+
+</xsd:schema>
diff --git a/tests/auto/xmlpatternsvalidator/tst_xmlpatternsvalidator.cpp b/tests/auto/xmlpatternsvalidator/tst_xmlpatternsvalidator.cpp
new file mode 100644
index 0000000..9643e56
--- /dev/null
+++ b/tests/auto/xmlpatternsvalidator/tst_xmlpatternsvalidator.cpp
@@ -0,0 +1,174 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+****************************************************************************/
+
+#include <QFile>
+#include <QtTest/QtTest>
+
+#ifdef QTEST_XMLPATTERNS
+
+#include "../qxmlquery/TestFundament.h"
+#include "../network-settings.h"
+
+/*!
+ \class tst_XmlPatterns
+ \internal
+ \since 4.6
+ \brief Tests the command line interface, \c xmlpatternsvalidator, for the XML validation code.
+ */
+class tst_XmlPatternsValidator : public QObject
+ , private TestFundament
+{
+ Q_OBJECT
+
+public:
+ tst_XmlPatternsValidator();
+
+private Q_SLOTS:
+ void initTestCase();
+ void xsdSupport();
+ void xsdSupport_data() const;
+
+private:
+ const QString m_command;
+ bool m_dontRun;
+};
+
+tst_XmlPatternsValidator::tst_XmlPatternsValidator()
+ : m_command(QLatin1String("xmlpatternsvalidator"))
+ , m_dontRun(false)
+{
+}
+
+void tst_XmlPatternsValidator::initTestCase()
+{
+ QProcess process;
+ process.start(m_command);
+
+ if(!process.waitForFinished())
+ {
+ m_dontRun = true;
+ QEXPECT_FAIL("", "The command line tool is not in the path, most likely because Qt "
+ "has been partically built, such as only the sub-src rule. No tests will be run.", Abort);
+ QVERIFY(false);
+ }
+}
+
+void tst_XmlPatternsValidator::xsdSupport()
+{
+ if(m_dontRun)
+ QSKIP("The command line utility is not in the path.", SkipAll);
+
+#ifdef Q_OS_WINCE
+ QSKIP("WinCE: This test uses unsupported WinCE functionality", SkipAll);
+#endif
+
+ QFETCH(int, expectedExitCode);
+ QFETCH(QStringList, arguments);
+ QFETCH(QString, cwd);
+
+ QProcess process;
+
+ if(!cwd.isEmpty())
+ process.setWorkingDirectory(inputFile(cwd));
+
+ process.start(m_command, arguments);
+
+ QCOMPARE(process.exitStatus(), QProcess::NormalExit);
+ QVERIFY(process.waitForFinished());
+
+ if(process.exitCode() != expectedExitCode)
+ QTextStream(stderr) << "foo:" << process.readAllStandardError();
+
+ QCOMPARE(process.exitCode(), expectedExitCode);
+}
+
+void tst_XmlPatternsValidator::xsdSupport_data() const
+{
+#ifdef Q_OS_WINCE
+ return;
+#endif
+
+ QTest::addColumn<int>("expectedExitCode");
+ QTest::addColumn<QStringList>("arguments");
+ QTest::addColumn<QString>("cwd");
+
+ QTest::newRow("No arguments")
+ << 2
+ << QStringList()
+ << QString();
+
+ QTest::newRow("A valid schema")
+ << 0
+ << QStringList(QLatin1String("files/valid_schema.xsd"))
+ << QString();
+
+ QTest::newRow("An invalid schema")
+ << 1
+ << QStringList(QLatin1String("files/invalid_schema.xsd"))
+ << QString();
+
+ QTest::newRow("An instance and valid schema")
+ << 0
+ << (QStringList() << QLatin1String("files/instance.xml")
+ << QLatin1String("files/valid_schema.xsd"))
+ << QString();
+
+ QTest::newRow("An instance and invalid schema")
+ << 1
+ << (QStringList() << QLatin1String("files/instance.xml")
+ << QLatin1String("files/invalid_schema.xsd"))
+ << QString();
+
+ QTest::newRow("An instance and not matching schema")
+ << 1
+ << (QStringList() << QLatin1String("files/instance.xml")
+ << QLatin1String("files/other_valid_schema.xsd"))
+ << QString();
+
+ QTest::newRow("Two instance documents")
+ << 1
+ << (QStringList() << QLatin1String("files/instance.xml")
+ << QLatin1String("files/instance.xml"))
+ << QString();
+
+ QTest::newRow("Three instance documents")
+ << 2
+ << (QStringList() << QLatin1String("files/instance.xml")
+ << QLatin1String("files/instance.xml")
+ << QLatin1String("files/instance.xml"))
+ << QString();
+
+ QTest::newRow("Two schema documents")
+ << 1
+ << (QStringList() << QLatin1String("files/valid_schema.xsd")
+ << QLatin1String("files/valid_schema.xsd"))
+ << QString();
+
+ QTest::newRow("A schema aware valid instance document")
+ << 0
+ << (QStringList() << QLatin1String("files/sa_valid_instance.xml"))
+ << QString();
+
+ QTest::newRow("A schema aware invalid instance document")
+ << 1
+ << (QStringList() << QLatin1String("files/sa_invalid_instance.xml"))
+ << QString();
+
+ QTest::newRow("A non-schema aware instance document")
+ << 1
+ << (QStringList() << QLatin1String("files/instance.xml"))
+ << QString();
+}
+
+QTEST_MAIN(tst_XmlPatternsValidator)
+
+#include "tst_xmlpatternsvalidator.moc"
+#else
+QTEST_NOOP_MAIN
+#endif
+
+// vim: et:ts=4:sw=4:sts=4
diff --git a/tests/auto/xmlpatternsvalidator/xmlpatternsvalidator.pro b/tests/auto/xmlpatternsvalidator/xmlpatternsvalidator.pro
new file mode 100644
index 0000000..7091840
--- /dev/null
+++ b/tests/auto/xmlpatternsvalidator/xmlpatternsvalidator.pro
@@ -0,0 +1,5 @@
+load(qttest_p4)
+SOURCES += tst_xmlpatternsvalidator.cpp \
+ ../qxmlquery/TestFundament.cpp
+
+include (../xmlpatterns.pri)
diff --git a/tests/auto/xmlpatternsview/view/MainWindow.cpp b/tests/auto/xmlpatternsview/view/MainWindow.cpp
index 734c1be..2723b1d 100644
--- a/tests/auto/xmlpatternsview/view/MainWindow.cpp
+++ b/tests/auto/xmlpatternsview/view/MainWindow.cpp
@@ -220,7 +220,8 @@ void MainWindow::on_actionOpen_triggered()
if(fileName.isNull())
return;
- openCatalog(QUrl::fromLocalFile(fileName), true, false);
+ m_currentSuiteType = TestSuite::XQuerySuite;
+ openCatalog(QUrl::fromLocalFile(fileName), true, TestSuite::XQuerySuite);
}
void MainWindow::on_actionOpenXSLTSCatalog_triggered()
@@ -234,18 +235,34 @@ void MainWindow::on_actionOpenXSLTSCatalog_triggered()
if(fileName.isNull())
return;
- openCatalog(QUrl::fromLocalFile(fileName), true, true);
+ m_currentSuiteType = TestSuite::XsltSuite;
+ openCatalog(QUrl::fromLocalFile(fileName), true, TestSuite::XsltSuite);
+}
+
+void MainWindow::on_actionOpenXSDTSCatalog_triggered()
+{
+ const QString fileName(QFileDialog::getOpenFileName(this,
+ QLatin1String("Open Test Suite Catalog"),
+ m_previousOpenedCatalog.toLocalFile(),
+ QLatin1String("Test Suite Catalog file (*.xml)")));
+
+ /* "If the user presses Cancel, it returns a null string." */
+ if(fileName.isNull())
+ return;
+
+ m_currentSuiteType = TestSuite::XsdSuite;
+ openCatalog(QUrl::fromLocalFile(fileName), true, TestSuite::XsdSuite);
}
void MainWindow::openCatalog(const QUrl &fileName,
const bool reportError,
- const bool isXSLT)
+ const TestSuite::SuiteType suiteType)
{
setCurrentFile(fileName);
m_previousOpenedCatalog = fileName;
QString errorMsg;
- TestSuite *const loadedSuite = TestSuite::openCatalog(fileName, errorMsg, false, isXSLT);
+ TestSuite *const loadedSuite = TestSuite::openCatalog(fileName, errorMsg, false, suiteType);
if(!loadedSuite)
{
@@ -334,12 +351,12 @@ void MainWindow::readSettings()
focusURI->setText(settings.value(QLatin1String("focusURI")).toString());
isXSLT20->setChecked(settings.value(QLatin1String("isXSLT20")).toBool());
compileOnly->setChecked(settings.value(QLatin1String("compileOnly")).toBool());
+ m_currentSuiteType = (TestSuite::SuiteType)settings.value(QLatin1String("PreviousSuiteType"), isXSLT20->isChecked() ? TestSuite::XsltSuite : TestSuite::XQuerySuite).toInt();
/* Open the previously opened catalog. */
if(!m_previousOpenedCatalog.isEmpty())
{
- /* We don't know what kind of catalog it is, so we just take a chance. */
- openCatalog(m_previousOpenedCatalog, false, isXSLT20->isChecked());
+ openCatalog(m_previousOpenedCatalog, false, m_currentSuiteType);
}
sourceInput->setPlainText(settings.value(QLatin1String("sourceInput")).toString());
@@ -393,6 +410,7 @@ void MainWindow::writeSettings()
settings.setValue(QLatin1String("size"), size());
settings.setValue(QLatin1String("sourceInput"), sourceInput->toPlainText());
settings.setValue(QLatin1String("PreviousOpenedCatalogFile"), m_previousOpenedCatalog);
+ settings.setValue(QLatin1String("PreviousSuiteType"), m_currentSuiteType);
settings.setValue(QLatin1String("SelectedTab"), sourceTab->currentIndex());
settings.setValue(QLatin1String("ResultViewMethod"),
testResultView->resultViewSelection->currentIndex());
@@ -470,7 +488,7 @@ void MainWindow::openRecentFile()
{
const QAction *const action = qobject_cast<QAction *>(sender());
if(action)
- openCatalog(action->data().toUrl(), true, false);
+ openCatalog(action->data().toUrl(), true, TestSuite::XQuerySuite);
}
void MainWindow::closeEvent(QCloseEvent *ev)
diff --git a/tests/auto/xmlpatternsview/view/MainWindow.h b/tests/auto/xmlpatternsview/view/MainWindow.h
index a41ad77..21e1ecf 100644
--- a/tests/auto/xmlpatternsview/view/MainWindow.h
+++ b/tests/auto/xmlpatternsview/view/MainWindow.h
@@ -88,6 +88,7 @@
#include "ui_ui_MainWindow.h"
#include "DebugExpressionFactory.h"
+#include "TestSuite.h"
QT_BEGIN_HEADER
@@ -142,6 +143,8 @@ namespace QPatternistSDK
void on_actionOpenXSLTSCatalog_triggered();
+ void on_actionOpenXSDTSCatalog_triggered();
+
/**
* Executes the selected test case or test group.
*/
@@ -153,7 +156,7 @@ namespace QPatternistSDK
* an informative message box will be displayed, if any errors occurred.
*/
void openCatalog(const QUrl &file, const bool reportError,
- const bool isXSLT);
+ const TestSuite::SuiteType suitType);
void openRecentFile();
@@ -205,6 +208,7 @@ namespace QPatternistSDK
TestCaseView * testCaseView;
TestResultView * testResultView;
FunctionSignaturesView * functionView;
+ TestSuite::SuiteType m_currentSuiteType;
};
}
QT_END_NAMESPACE
diff --git a/tests/auto/xmlpatternsview/view/ui_MainWindow.ui b/tests/auto/xmlpatternsview/view/ui_MainWindow.ui
index 5d74331..0240350 100644
--- a/tests/auto/xmlpatternsview/view/ui_MainWindow.ui
+++ b/tests/auto/xmlpatternsview/view/ui_MainWindow.ui
@@ -234,6 +234,7 @@
</property>
<addaction name="actionOpen"/>
<addaction name="actionOpenXSLTSCatalog"/>
+ <addaction name="actionOpenXSDTSCatalog"/>
<addaction name="actionExecute"/>
<addaction name="separator"/>
<addaction name="actionRestart"/>
@@ -304,6 +305,14 @@
<string>Ctrl+L</string>
</property>
</action>
+ <action name="actionOpenXSDTSCatalog">
+ <property name="text">
+ <string>O&amp;pen XSDTS Catalog...</string>
+ </property>
+ <property name="shortcut">
+ <string>Ctrl+S</string>
+ </property>
+ </action>
</widget>
<resources/>
<connections/>
diff --git a/tests/auto/xmlpatternsview/xmlpatternsview.pro b/tests/auto/xmlpatternsview/xmlpatternsview.pro
index 3544264..04ee4d0 100644
--- a/tests/auto/xmlpatternsview/xmlpatternsview.pro
+++ b/tests/auto/xmlpatternsview/xmlpatternsview.pro
@@ -6,3 +6,4 @@ SUBDIRS = ../xmlpatternsxqts test
contains(QT_CONFIG,xmlpatterns) {
SUBDIRS += view
}
+requires(contains(QT_CONFIG,private_tests))
diff --git a/tests/auto/xmlpatternsxqts/lib/TestBaseLine.cpp b/tests/auto/xmlpatternsxqts/lib/TestBaseLine.cpp
index 78b58c6..dd10b51 100644
--- a/tests/auto/xmlpatternsxqts/lib/TestBaseLine.cpp
+++ b/tests/auto/xmlpatternsxqts/lib/TestBaseLine.cpp
@@ -178,6 +178,7 @@ void TestBaseLine::toXML(XMLWriter &receiver) const
{
case XML: /* Fallthrough. */
case Fragment: /* Fallthrough. */
+ case SchemaIsValid: /* Fallthrough. */
case Text:
{
QXmlAttributes inspectAtts;
@@ -343,6 +344,8 @@ TestResult::Status TestBaseLine::verify(const QString &serializedInput) const
{
switch(m_type)
{
+ case SchemaIsValid:
+ /* Fall through. */
case Text:
{
if(serializedInput == details())
@@ -491,6 +494,8 @@ QString TestBaseLine::displayName(const Type id)
return QLatin1String("Inspect");
case ExpectedError:
return QLatin1String("ExpectedError");
+ case SchemaIsValid:
+ return QLatin1String("SchemaIsValid");
}
Q_ASSERT(false);
@@ -503,6 +508,8 @@ QString TestBaseLine::details() const
return QString();
if(m_type == ExpectedError) /* We're an error code. */
return m_details;
+ if(m_type == SchemaIsValid) /* We're a schema validation information . */
+ return m_details;
if(m_details.isEmpty())
return m_details;
diff --git a/tests/auto/xmlpatternsxqts/lib/TestBaseLine.h b/tests/auto/xmlpatternsxqts/lib/TestBaseLine.h
index 4e1df67..07d14de 100644
--- a/tests/auto/xmlpatternsxqts/lib/TestBaseLine.h
+++ b/tests/auto/xmlpatternsxqts/lib/TestBaseLine.h
@@ -168,7 +168,14 @@ namespace QPatternistSDK
* because an implementation does not support the feature is not
* considered a correct result.
*/
- ExpectedError
+ ExpectedError,
+
+ /**
+ * A special comparison for the schema validation tests. The details
+ * can only be 'true' or 'false' depending on whether it is a valid
+ * schema or not.
+ */
+ SchemaIsValid
};
/**
diff --git a/tests/auto/xmlpatternsxqts/lib/TestGroup.cpp b/tests/auto/xmlpatternsxqts/lib/TestGroup.cpp
index 40a3a9d..458a553 100644
--- a/tests/auto/xmlpatternsxqts/lib/TestGroup.cpp
+++ b/tests/auto/xmlpatternsxqts/lib/TestGroup.cpp
@@ -94,7 +94,7 @@ TestGroup::TestGroup(TreeItem *p) : m_parent(p)
QVariant TestGroup::data(const Qt::ItemDataRole role, int column) const
{
- if(role != Qt::DisplayRole && role != Qt::BackgroundRole)
+ if(role != Qt::DisplayRole && role != Qt::BackgroundRole && role != Qt::ToolTipRole)
return QVariant();
/* In ResultSummary, the first is the amount of passes and the second is the total. */
@@ -154,6 +154,10 @@ QVariant TestGroup::data(const Qt::ItemDataRole role, int column) const
return QVariant();
}
}
+ case Qt::ToolTipRole:
+ {
+ return description();
+ }
default:
{
Q_ASSERT_X(false, Q_FUNC_INFO, "This shouldn't be reached");
diff --git a/tests/auto/xmlpatternsxqts/lib/TestSuite.cpp b/tests/auto/xmlpatternsxqts/lib/TestSuite.cpp
index 34334ec..9122860 100644
--- a/tests/auto/xmlpatternsxqts/lib/TestSuite.cpp
+++ b/tests/auto/xmlpatternsxqts/lib/TestSuite.cpp
@@ -91,6 +91,7 @@
#include "TestSuiteResult.h"
#include "XMLWriter.h"
#include "XSLTTestSuiteHandler.h"
+#include "XSDTestSuiteHandler.h"
#include "qdebug_p.h"
#include "TestSuite.h"
@@ -132,7 +133,7 @@ TestSuiteResult *TestSuite::runSuite()
TestSuite *TestSuite::openCatalog(const QUrl &catalogURI,
QString &errorMsg,
const bool useExclusionList,
- const bool isXSLTCatalog)
+ SuiteType suiteType)
{
pDebug() << "Opening catalog:" << catalogURI.toString();
QFile ts(catalogURI.toLocalFile());
@@ -167,14 +168,14 @@ TestSuite *TestSuite::openCatalog(const QUrl &catalogURI,
return 0;
}
- return openCatalog(&ts, errorMsg, catalogURI, useExclusionList, isXSLTCatalog);
+ return openCatalog(&ts, errorMsg, catalogURI, useExclusionList, suiteType);
}
TestSuite *TestSuite::openCatalog(QIODevice *input,
QString &errorMsg,
const QUrl &fileName,
const bool useExclusionList,
- const bool isXSLTCatalog)
+ SuiteType suiteType)
{
Q_ASSERT(input);
@@ -183,10 +184,12 @@ TestSuite *TestSuite::openCatalog(QIODevice *input,
HandlerPtr loader;
- if(isXSLTCatalog)
- loader = HandlerPtr(new XSLTTestSuiteHandler(fileName));
- else
- loader = HandlerPtr(new TestSuiteHandler(fileName, useExclusionList));
+ switch (suiteType) {
+ case XQuerySuite: loader = HandlerPtr(new TestSuiteHandler(fileName, useExclusionList)); break;
+ case XsltSuite: loader = HandlerPtr(new XSLTTestSuiteHandler(fileName)); break;
+ case XsdSuite: loader = HandlerPtr(new XSDTestSuiteHandler(fileName)); break;
+ default: Q_ASSERT(false); break;
+ }
reader.setContentHandler(loader.data());
@@ -198,8 +201,13 @@ TestSuite *TestSuite::openCatalog(QIODevice *input,
return 0;
}
- TestSuite *const suite = isXSLTCatalog ? static_cast<XSLTTestSuiteHandler *>(loader.data())->testSuite()
- : static_cast<TestSuiteHandler *>(loader.data())->testSuite();
+ TestSuite *suite = 0;
+ switch (suiteType) {
+ case XQuerySuite: suite = static_cast<TestSuiteHandler *>(loader.data())->testSuite(); break;
+ case XsltSuite: suite = static_cast<XSLTTestSuiteHandler *>(loader.data())->testSuite(); break;
+ case XsdSuite: suite = static_cast<XSDTestSuiteHandler *>(loader.data())->testSuite(); break;
+ default: Q_ASSERT(false); break;
+ }
if(suite)
return suite;
diff --git a/tests/auto/xmlpatternsxqts/lib/TestSuite.h b/tests/auto/xmlpatternsxqts/lib/TestSuite.h
index 4fc489b..7b057b8 100644
--- a/tests/auto/xmlpatternsxqts/lib/TestSuite.h
+++ b/tests/auto/xmlpatternsxqts/lib/TestSuite.h
@@ -112,6 +112,16 @@ namespace QPatternistSDK
class Q_PATTERNISTSDK_EXPORT TestSuite : public TestContainer
{
public:
+ /**
+ * Describes the type of test suite.
+ */
+ enum SuiteType
+ {
+ XQuerySuite, ///< The test suite for XQuery
+ XsltSuite, ///< The test suite for XSLT
+ XsdSuite ///< The test suite for XML Schema
+ };
+
TestSuite();
virtual QVariant data(const Qt::ItemDataRole role, int column) const;
@@ -148,7 +158,7 @@ namespace QPatternistSDK
static TestSuite *openCatalog(const QUrl &catalogFile,
QString &errorMsg,
const bool useExclusionList,
- const bool isXSLTCatalog = false);
+ SuiteType type);
void toXML(XMLWriter &receiver, TestCase *const tc) const;
@@ -177,7 +187,7 @@ namespace QPatternistSDK
QString &errorMsg,
const QUrl &fileName,
const bool useExclusionList,
- const bool isXSLTCatalog);
+ SuiteType type);
QString m_version;
QDate m_designDate;
};
diff --git a/tests/auto/xmlpatternsxqts/lib/TreeModel.cpp b/tests/auto/xmlpatternsxqts/lib/TreeModel.cpp
index 172e68c..ff98b3e 100644
--- a/tests/auto/xmlpatternsxqts/lib/TreeModel.cpp
+++ b/tests/auto/xmlpatternsxqts/lib/TreeModel.cpp
@@ -118,9 +118,14 @@ QVariant TreeModel::headerData(int section, Qt::Orientation orientation, int rol
return QVariant();
}
-void TreeModel::childChanged(TreeItem *)
+void TreeModel::childChanged(TreeItem *item)
{
- layoutChanged();
+ if (item) {
+ const QModelIndex index = createIndex(item->row(), 0, item);
+ dataChanged(index, index);
+ } else {
+ layoutChanged();
+ }
}
QModelIndex TreeModel::index(int row, int column, const QModelIndex &p) const
diff --git a/tests/auto/xmlpatternsxqts/lib/XSDTSTestCase.cpp b/tests/auto/xmlpatternsxqts/lib/XSDTSTestCase.cpp
new file mode 100644
index 0000000..b19eb91
--- /dev/null
+++ b/tests/auto/xmlpatternsxqts/lib/XSDTSTestCase.cpp
@@ -0,0 +1,346 @@
+/****************************************************************************
+**
+** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the Patternist project on Trolltech Labs.
+**
+** $TROLLTECH_GPL_LICENSE$
+**
+***************************************************************************
+*/
+
+#include <QColor>
+#include <QFile>
+#include <QFileInfo>
+#include <QVariant>
+#include <QtDebug>
+
+#include "XSDTSTestCase.h"
+
+#include "qxmlschema.h"
+#include "qxmlschemavalidator.h"
+
+using namespace QPatternistSDK;
+using namespace QPatternist;
+
+XSDTSTestCase::XSDTSTestCase(const Scenario scen, TreeItem *p, TestType testType)
+ : m_scenario(scen)
+ , m_parent(p)
+ , m_testType(testType)
+{
+}
+
+XSDTSTestCase::~XSDTSTestCase()
+{
+ qDeleteAll(m_baseLines);
+}
+
+TestResult::List XSDTSTestCase::execute(const ExecutionStage, TestSuite*)
+{
+ ErrorHandler errHandler;
+ ErrorHandler::installQtMessageHandler(&errHandler);
+
+ TestResult::List retval;
+ TestResult::Status resultStatus = TestResult::Unknown;
+ QString serialized;
+
+ if (m_testType == SchemaTest) {
+ executeSchemaTest(resultStatus, serialized, &errHandler);
+ } else {
+ executeInstanceTest(resultStatus, serialized, &errHandler);
+ }
+
+ resultStatus = TestBaseLine::scan(serialized, baseLines());
+ Q_ASSERT(resultStatus != TestResult::Unknown);
+
+ m_result = new TestResult(name(), resultStatus, 0, errHandler.messages(),
+ QPatternist::Item::List(), serialized);
+ retval.append(m_result);
+ ErrorHandler::installQtMessageHandler(0);
+ changed(this);
+ return retval;
+}
+
+void XSDTSTestCase::executeSchemaTest(TestResult::Status &resultStatus, QString &serialized, QAbstractMessageHandler *handler)
+{
+ QFile file(m_schemaUri.path());
+ if (!file.open(QIODevice::ReadOnly)) {
+ resultStatus = TestResult::Fail;
+ serialized = QString();
+ return;
+ }
+
+ QXmlSchema schema;
+ schema.setMessageHandler(handler);
+ schema.load(&file, m_schemaUri);
+
+ if (schema.isValid()) {
+ resultStatus = TestResult::Pass;
+ serialized = QString::fromLatin1("true");
+ } else {
+ resultStatus = TestResult::Pass;
+ serialized = QString::fromLatin1("false");
+ }
+}
+
+void XSDTSTestCase::executeInstanceTest(TestResult::Status &resultStatus, QString &serialized, QAbstractMessageHandler *handler)
+{
+ QFile instanceFile(m_instanceUri.path());
+ if (!instanceFile.open(QIODevice::ReadOnly)) {
+ resultStatus = TestResult::Fail;
+ serialized = QString();
+ return;
+ }
+
+ QXmlSchema schema;
+ if (m_schemaUri.isValid()) {
+ QFile file(m_schemaUri.path());
+ if (!file.open(QIODevice::ReadOnly)) {
+ resultStatus = TestResult::Fail;
+ serialized = QString();
+ return;
+ }
+
+ schema.setMessageHandler(handler);
+ schema.load(&file, m_schemaUri);
+
+ if (!schema.isValid()) {
+ resultStatus = TestResult::Pass;
+ serialized = QString::fromLatin1("false");
+ return;
+ }
+ }
+
+ QXmlSchemaValidator validator(schema);
+ validator.setMessageHandler(handler);
+
+ qDebug("check %s", qPrintable(m_instanceUri.path()));
+ if (validator.validate(&instanceFile, m_instanceUri)) {
+ resultStatus = TestResult::Pass;
+ serialized = QString::fromLatin1("true");
+ } else {
+ resultStatus = TestResult::Pass;
+ serialized = QString::fromLatin1("false");
+ }
+}
+
+QVariant XSDTSTestCase::data(const Qt::ItemDataRole role, int column) const
+{
+ if(role == Qt::DisplayRole)
+ {
+ if(column == 0)
+ return title();
+
+ const TestResult *const tr = testResult();
+ if(!tr)
+ {
+ if(column == 1)
+ return TestResult::displayName(TestResult::NotTested);
+ else
+ return QString();
+ }
+ const TestResult::Status status = tr->status();
+
+ switch(column)
+ {
+ case 1:
+ return status == TestResult::Pass ? QString(QChar::fromLatin1('1'))
+ : QString(QChar::fromLatin1('0'));
+ case 2:
+ return status == TestResult::Fail ? QString(QChar::fromLatin1('1'))
+ : QString(QChar::fromLatin1('0'));
+ default:
+ return QString();
+ }
+ }
+
+ if(role != Qt::BackgroundRole)
+ return QVariant();
+
+ const TestResult *const tr = testResult();
+
+ if(!tr)
+ {
+ if(column == 0)
+ return Qt::yellow;
+ else
+ return QVariant();
+ }
+
+ const TestResult::Status status = tr->status();
+
+ if(status == TestResult::NotTested || status == TestResult::Unknown)
+ return Qt::yellow;
+
+ switch(column)
+ {
+ case 1:
+ return status == TestResult::Pass ? Qt::green : QVariant();
+ case 2:
+ return status == TestResult::Fail ? Qt::red : QVariant();
+ default:
+ return QVariant();
+ }
+}
+
+QString XSDTSTestCase::sourceCode(bool &ok) const
+{
+ QFile file((m_testType == SchemaTest ? m_schemaUri : m_instanceUri).toLocalFile());
+
+ QString err;
+
+ if(!file.exists())
+ err = QString::fromLatin1("Error: %1 does not exist.").arg(file.fileName());
+ else if(!QFileInfo(file.fileName()).isFile())
+ err = QString::fromLatin1("Error: %1 is not a file, cannot display it.").arg(file.fileName());
+ else if(!file.open(QIODevice::ReadOnly))
+ err = QString::fromLatin1("Error: Could not open %1. Likely a permission error.")
+ .arg(file.fileName());
+
+ if(err.isNull()) /* No errors. */
+ {
+ ok = true;
+ /* Scary, we assume the query is stored in UTF-8. */
+ return QString::fromUtf8(file.readAll());
+ }
+ else
+ {
+ ok = false;
+ return err;
+ }
+}
+
+int XSDTSTestCase::columnCount() const
+{
+ return 2;
+}
+
+void XSDTSTestCase::addBaseLine(TestBaseLine *line)
+{
+ m_baseLines.append(line);
+}
+
+QString XSDTSTestCase::name() const
+{
+ return m_name;
+}
+
+QString XSDTSTestCase::creator() const
+{
+ return m_creator;
+}
+
+QString XSDTSTestCase::description() const
+{
+ return m_description;
+}
+
+QDate XSDTSTestCase::lastModified() const
+{
+ return m_lastModified;
+}
+
+bool XSDTSTestCase::isXPath() const
+{
+ return false;
+}
+
+TestCase::Scenario XSDTSTestCase::scenario() const
+{
+ return m_scenario;
+}
+
+void XSDTSTestCase::setName(const QString &n)
+{
+ m_name = n;
+}
+
+void XSDTSTestCase::setCreator(const QString &ctor)
+{
+ m_creator = ctor;
+}
+
+void XSDTSTestCase::setDescription(const QString &descriptionP)
+{
+ m_description = descriptionP;
+}
+
+void XSDTSTestCase::setLastModified(const QDate &date)
+{
+ m_lastModified = date;
+}
+
+void XSDTSTestCase::setSchemaUri(const QUrl &uri)
+{
+ m_schemaUri = uri;
+}
+
+void XSDTSTestCase::setInstanceUri(const QUrl &uri)
+{
+ m_instanceUri = uri;
+}
+
+TreeItem *XSDTSTestCase::parent() const
+{
+ return m_parent;
+}
+
+QString XSDTSTestCase::title() const
+{
+ return m_name;
+}
+
+TestBaseLine::List XSDTSTestCase::baseLines() const
+{
+ Q_ASSERT_X(!m_baseLines.isEmpty(), Q_FUNC_INFO,
+ qPrintable(QString::fromLatin1("The test %1 has no base lines, it should have at least one.").arg(name())));
+ return m_baseLines;
+}
+
+QUrl XSDTSTestCase::schemaUri() const
+{
+ return m_schemaUri;
+}
+
+QUrl XSDTSTestCase::instanceUri() const
+{
+ return m_instanceUri;
+}
+
+void XSDTSTestCase::setContextItemSource(const QUrl &uri)
+{
+ m_contextItemSource = uri;
+}
+
+QUrl XSDTSTestCase::contextItemSource() const
+{
+ return m_contextItemSource;
+}
+
+void XSDTSTestCase::setParent(TreeItem *const p)
+{
+ m_parent = p;
+}
+
+QPatternist::ExternalVariableLoader::Ptr XSDTSTestCase::externalVariableLoader() const
+{
+ return QPatternist::ExternalVariableLoader::Ptr();
+}
+
+TestResult *XSDTSTestCase::testResult() const
+{
+ return m_result;
+}
+
+TestItem::ResultSummary XSDTSTestCase::resultSummary() const
+{
+ if(m_result)
+ return ResultSummary(m_result->status() == TestResult::Pass ? 1 : 0,
+ 1);
+
+ return ResultSummary(0, 1);
+}
+
+// vim: et:ts=4:sw=4:sts=4
+
diff --git a/tests/auto/xmlpatternsxqts/lib/XSDTSTestCase.h b/tests/auto/xmlpatternsxqts/lib/XSDTSTestCase.h
new file mode 100644
index 0000000..ce84988
--- /dev/null
+++ b/tests/auto/xmlpatternsxqts/lib/XSDTSTestCase.h
@@ -0,0 +1,130 @@
+/****************************************************************************
+**
+** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the Patternist project on Trolltech Labs.
+**
+** $TROLLTECH_GPL_LICENSE$
+**
+***************************************************************************
+*/
+
+#ifndef PatternistSDK_XSDTSTestCase_H
+#define PatternistSDK_XSDTSTestCase_H
+
+#include <QDate>
+#include <QString>
+#include <QUrl>
+
+#include "TestBaseLine.h"
+#include "TestCase.h"
+
+QT_BEGIN_HEADER
+
+namespace QPatternistSDK
+{
+ /**
+ * @short Represents a test case in a test suite in the XML Query Test Suite.
+ *
+ * TestCase is a memory representation of a test case, and maps
+ * to the @c test-case element in the XQuery Test Suite test
+ * case catalog.
+ *
+ * @ingroup PatternistSDK
+ * @author Frans Englich <fenglich@trolltech.com>
+ */
+ class Q_PATTERNISTSDK_EXPORT XSDTSTestCase : public TestCase
+ {
+ public:
+ enum TestType
+ {
+ SchemaTest,
+ InstanceTest
+ };
+
+ XSDTSTestCase(const Scenario scen, TreeItem *parent, TestType testType);
+ virtual ~XSDTSTestCase();
+
+ /**
+ * Executes the test, and returns the result. The returned list
+ * will always contain exactly one TestResult.
+ *
+ * @p stage is ignored when running out-of-process.
+ */
+ virtual TestResult::List execute(const ExecutionStage stage,
+ TestSuite *ts);
+ /**
+ * The identifier, the name of the test. For example, "Literals034".
+ * The name of a test case must be unique.
+ */
+ virtual QString name() const;
+ virtual QString creator() const;
+ virtual QString description() const;
+ /**
+ * @returns the query inside the file, specified by testCasePath(). Loading
+ * of the file is not cached in order to avoid complications.
+ * @param ok is set to @c false if loading the query file fails
+ */
+ virtual QString sourceCode(bool &ok) const;
+ virtual QUrl schemaUri() const;
+ virtual QUrl instanceUri() const;
+ virtual QUrl testCasePath() const {return QUrl();}
+ virtual QDate lastModified() const;
+
+ bool isXPath() const;
+
+ /**
+ * What kind of test case this is, what kind of scenario it takes part
+ * of. For example, whether the test case should evaluate normally or fail.
+ */
+ Scenario scenario() const;
+
+ void setCreator(const QString &creator);
+ void setLastModified(const QDate &date);
+ void setDescription(const QString &description);
+ void setName(const QString &name);
+ void setSchemaUri(const QUrl &uri);
+ void setInstanceUri(const QUrl &uri);
+ void setTestCasePath(const QUrl &uri) {}
+ void setContextItemSource(const QUrl &uri);
+ void addBaseLine(TestBaseLine *lines);
+
+ virtual TreeItem *parent() const;
+
+ virtual QVariant data(const Qt::ItemDataRole role, int column) const;
+
+ virtual QString title() const;
+ virtual TestBaseLine::List baseLines() const;
+
+ virtual int columnCount() const;
+
+ virtual QUrl contextItemSource() const;
+ void setParent(TreeItem *const parent);
+ virtual QPatternist::ExternalVariableLoader::Ptr externalVariableLoader() const;
+ virtual TestResult *testResult() const;
+ virtual ResultSummary resultSummary() const;
+
+ private:
+ void executeSchemaTest(TestResult::Status &resultStatus, QString &serialized, QAbstractMessageHandler *handler);
+ void executeInstanceTest(TestResult::Status &resultStatus, QString &serialized, QAbstractMessageHandler *handler);
+
+ QString m_name;
+ QString m_creator;
+ QString m_description;
+ QUrl m_schemaUri;
+ QUrl m_instanceUri;
+ QDate m_lastModified;
+ const Scenario m_scenario;
+ TreeItem * m_parent;
+ TestBaseLine::List m_baseLines;
+ QUrl m_contextItemSource;
+ TestType m_testType;
+ QPointer<TestResult> m_result;
+ };
+}
+
+QT_END_HEADER
+
+#endif
+// vim: et:ts=4:sw=4:sts=4
diff --git a/tests/auto/xmlpatternsxqts/lib/XSDTestSuiteHandler.cpp b/tests/auto/xmlpatternsxqts/lib/XSDTestSuiteHandler.cpp
new file mode 100644
index 0000000..b6ee379
--- /dev/null
+++ b/tests/auto/xmlpatternsxqts/lib/XSDTestSuiteHandler.cpp
@@ -0,0 +1,881 @@
+/****************************************************************************
+**
+** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the Patternist project on Trolltech Labs.
+**
+** $TROLLTECH_GPL_LICENSE$
+**
+***************************************************************************
+*/
+
+#include <QtDebug>
+
+#include "qacceltreeresourceloader_p.h"
+#include "qnetworkaccessdelegator_p.h"
+
+#include "Global.h"
+#include "TestBaseLine.h"
+#include "TestGroup.h"
+
+#include "XSDTestSuiteHandler.h"
+#include "XSDTSTestCase.h"
+
+using namespace QPatternistSDK;
+
+extern QNetworkAccessManager s_networkManager;
+
+XSDTestSuiteHandler::XSDTestSuiteHandler(const QUrl &catalogFile) : m_ts(0)
+ , m_catalogFile(catalogFile)
+ , m_inSchemaTest(false)
+ , m_inInstanceTest(false)
+ , m_inTestGroup(false)
+ , m_inDescription(false)
+ , m_schemaBlacklisted(false)
+ , m_counter(0)
+{
+ Q_ASSERT(!m_catalogFile.isRelative());
+ m_ts = new TestSuite();
+ m_topLevelGroup = new TestGroup(m_ts);
+ m_topLevelGroup->setTitle("XML Schema Test Suite");
+ m_ts->appendChild(m_topLevelGroup);
+
+ // exclude these test cases, as they break our current state machine
+ m_blackList << QLatin1String("addB099")
+ << QLatin1String("addB118")
+ << QLatin1String("elemJ003")
+ << QLatin1String("elemJ011")
+ << QLatin1String("elemZ004")
+ << QLatin1String("elemZ020")
+ << QLatin1String("groupH021v")
+ << QLatin1String("groupJ009v")
+ << QLatin1String("name00101m2")
+ << QLatin1String("schL5")
+ << QLatin1String("ste110")
+ << QLatin1String("stZ007")
+ << QLatin1String("stZ047")
+ << QLatin1String("stZ055")
+ << QLatin1String("addB049")
+ << QLatin1String("addB068")
+ << QLatin1String("addB078")
+ << QLatin1String("addB078A")
+ << QLatin1String("addB078B")
+ << QLatin1String("addB167")
+ << QLatin1String("addB191")
+ << QLatin1String("isDefault060_2")
+ << QLatin1String("isDefault069")
+ << QLatin1String("annotB025")
+ << QLatin1String("base64Binary_enumeration003_1321")
+ << QLatin1String("anyURI_a001_1336")
+ << QLatin1String("anyURI_a001_1336")
+ << QLatin1String("anyURI_a003_1338")
+ << QLatin1String("anyURI_a004_1339")
+ << QLatin1String("anyURI_b004_1354")
+ << QLatin1String("anyURI_b004_1354")
+ << QLatin1String("anyURI_b006_1356")
+ << QLatin1String("QName_length001_1357")
+ << QLatin1String("QName_length003_1359")
+ << QLatin1String("QName_minLength003_1362")
+ << QLatin1String("QName_maxLength001_1364")
+ << QLatin1String("NOTATION_length001_1372")
+ << QLatin1String("NOTATION_length003_1374")
+ << QLatin1String("NOTATION_minLength003_1377")
+ << QLatin1String("NOTATION_maxLength001_1379")
+ << QLatin1String("hexBinary003_2069")
+ << QLatin1String("QName009_2092")
+ << QLatin1String("dtZ107447_a_2245")
+ << QLatin1String("elemE001")
+ << QLatin1String("elemE002")
+ << QLatin1String("elemE003")
+ << QLatin1String("elemE004")
+ << QLatin1String("elemE005")
+ << QLatin1String("elemT026")
+ << QLatin1String("elemT027")
+ << QLatin1String("elemT028")
+ << QLatin1String("elemT029")
+ << QLatin1String("elemT054")
+ << QLatin1String("elemT055")
+ << QLatin1String("elemT056")
+ << QLatin1String("elemT057")
+ << QLatin1String("elemZ006")
+ << QLatin1String("elemZ007")
+ << QLatin1String("elemZ026")
+ << QLatin1String("elemZ027_c")
+ << QLatin1String("elemZ028c")
+ << QLatin1String("elemZ028d")
+ << QLatin1String("elemZ028f1")
+ << QLatin1String("elemZ028f1")
+ << QLatin1String("elemZ028f2")
+ << QLatin1String("elemZ028f2")
+ << QLatin1String("elemZ028f3")
+ << QLatin1String("elemZ028f3")
+ << QLatin1String("elemZ031")
+ << QLatin1String("errF001")
+ << QLatin1String("idC019")
+ << QLatin1String("idL100")
+ << QLatin1String("idZ011")
+ << QLatin1String("idZ015")
+ << QLatin1String("mgO013")
+ << QLatin1String("particlesA012")
+ << QLatin1String("particlesA013")
+ << QLatin1String("particlesA014")
+ << QLatin1String("particlesA015")
+ << QLatin1String("particlesHa161")
+ << QLatin1String("particlesHb008")
+ << QLatin1String("particlesHb011")
+ << QLatin1String("particlesIe003")
+ << QLatin1String("particlesIg003")
+ << QLatin1String("particlesIg004")
+ << QLatin1String("particlesJb003")
+ << QLatin1String("particlesJd003")
+ << QLatin1String("particlesJf003")
+ << QLatin1String("particlesJk003")
+ << QLatin1String("particlesOb001")
+ << QLatin1String("particlesOb002")
+ << QLatin1String("particlesOb004")
+ << QLatin1String("particlesOb008")
+ << QLatin1String("particlesOb009")
+ << QLatin1String("particlesOb013")
+ << QLatin1String("particlesOb018")
+ << QLatin1String("particlesQ005")
+ << QLatin1String("particlesS002")
+ << QLatin1String("particlesT002")
+ << QLatin1String("particlesT009")
+ << QLatin1String("particlesT014")
+ << QLatin1String("particlesV001")
+ << QLatin1String("particlesV002")
+ << QLatin1String("particlesV020")
+ << QLatin1String("particlesZ001")
+ << QLatin1String("particlesZ005")
+ << QLatin1String("particlesZ007")
+ << QLatin1String("particlesZ023")
+ << QLatin1String("particlesZ024")
+ << QLatin1String("particlesZ026")
+ << QLatin1String("particlesZ028")
+ << QLatin1String("particlesZ033_c")
+ << QLatin1String("particlesZ033_d")
+ << QLatin1String("particlesZ033_e")
+ << QLatin1String("particlesZ033_f")
+ << QLatin1String("particlesZ033_g")
+ << QLatin1String("particlesZ034_a1")
+ << QLatin1String("particlesZ034_a2")
+ << QLatin1String("particlesZ034_a3")
+ << QLatin1String("particlesZ034_b")
+ << QLatin1String("particlesZ035_a")
+ << QLatin1String("particlesZ035_b")
+ << QLatin1String("particlesZ036_a")
+ << QLatin1String("particlesZ036_b1")
+ << QLatin1String("particlesZ036_b2")
+ << QLatin1String("particlesZ036_c")
+/*
+ << QLatin1String("reC65")
+ << QLatin1String("reC66")
+ << QLatin1String("reC67")
+ << QLatin1String("reC68")
+ << QLatin1String("reF58")
+ << QLatin1String("reG50")
+ << QLatin1String("reJ11")
+ << QLatin1String("reJ13")
+ << QLatin1String("reJ19")
+ << QLatin1String("reJ21")
+ << QLatin1String("reJ23")
+ << QLatin1String("reJ25")
+ << QLatin1String("reJ29")
+ << QLatin1String("reJ31")
+ << QLatin1String("reJ33")
+ << QLatin1String("reJ35")
+ << QLatin1String("reJ61")
+ << QLatin1String("reJ69")
+ << QLatin1String("reJ75")
+ << QLatin1String("reJ77")
+ << QLatin1String("reL98")
+ << QLatin1String("reL99")
+ << QLatin1String("reM98")
+ << QLatin1String("reN99")
+ << QLatin1String("reS21")
+ << QLatin1String("reS42")
+ << QLatin1String("reT63")
+ << QLatin1String("reT84")
+ << QLatin1String("reDG2")
+ << QLatin1String("RegexTest_9")
+ << QLatin1String("RegexTest_11")
+ << QLatin1String("RegexTest_14")
+ << QLatin1String("RegexTest_15")
+ << QLatin1String("RegexTest_16")
+ << QLatin1String("RegexTest_17")
+ << QLatin1String("RegexTest_23")
+ << QLatin1String("RegexTest_24")
+ << QLatin1String("RegexTest_25")
+ << QLatin1String("RegexTest_26")
+ << QLatin1String("RegexTest_27")
+ << QLatin1String("RegexTest_28")
+ << QLatin1String("RegexTest_30")
+ << QLatin1String("RegexTest_30")
+ << QLatin1String("RegexTest_33")
+ << QLatin1String("RegexTest_34")
+ << QLatin1String("RegexTest_34")
+ << QLatin1String("RegexTest_43")
+ << QLatin1String("RegexTest_44")
+ << QLatin1String("RegexTest_45")
+ << QLatin1String("RegexTest_46")
+ << QLatin1String("RegexTest_47")
+ << QLatin1String("RegexTest_48")
+ << QLatin1String("RegexTest_49")
+ << QLatin1String("RegexTest_50")
+ << QLatin1String("RegexTest_51")
+ << QLatin1String("RegexTest_52")
+ << QLatin1String("RegexTest_53")
+ << QLatin1String("RegexTest_54")
+ << QLatin1String("RegexTest_55")
+ << QLatin1String("RegexTest_56")
+ << QLatin1String("RegexTest_57")
+ << QLatin1String("RegexTest_57")
+ << QLatin1String("RegexTest_58")
+ << QLatin1String("RegexTest_58")
+ << QLatin1String("RegexTest_65")
+ << QLatin1String("RegexTest_113")
+ << QLatin1String("RegexTest_116")
+ << QLatin1String("RegexTest_119")
+ << QLatin1String("RegexTest_120")
+ << QLatin1String("RegexTest_121")
+ << QLatin1String("RegexTest_141")
+ << QLatin1String("RegexTest_142")
+ << QLatin1String("RegexTest_143")
+ << QLatin1String("RegexTest_145")
+ << QLatin1String("RegexTest_146")
+ << QLatin1String("RegexTest_147")
+ << QLatin1String("RegexTest_148")
+ << QLatin1String("RegexTest_149")
+ << QLatin1String("RegexTest_150")
+ << QLatin1String("RegexTest_151")
+ << QLatin1String("RegexTest_152")
+ << QLatin1String("RegexTest_154")
+ << QLatin1String("RegexTest_155")
+ << QLatin1String("RegexTest_156")
+ << QLatin1String("RegexTest_157")
+ << QLatin1String("RegexTest_158")
+ << QLatin1String("RegexTest_163")
+ << QLatin1String("RegexTest_164")
+ << QLatin1String("RegexTest_165")
+ << QLatin1String("RegexTest_166")
+ << QLatin1String("RegexTest_167")
+ << QLatin1String("RegexTest_168")
+ << QLatin1String("RegexTest_169")
+ << QLatin1String("RegexTest_170")
+ << QLatin1String("RegexTest_171")
+ << QLatin1String("RegexTest_172")
+ << QLatin1String("RegexTest_173")
+ << QLatin1String("RegexTest_174")
+ << QLatin1String("RegexTest_178")
+ << QLatin1String("RegexTest_194")
+ << QLatin1String("RegexTest_194")
+ << QLatin1String("RegexTest_195")
+ << QLatin1String("RegexTest_195")
+ << QLatin1String("RegexTest_196")
+ << QLatin1String("RegexTest_196")
+ << QLatin1String("RegexTest_197")
+ << QLatin1String("RegexTest_198")
+ << QLatin1String("RegexTest_199")
+ << QLatin1String("RegexTest_200")
+ << QLatin1String("RegexTest_200")
+ << QLatin1String("RegexTest_201")
+ << QLatin1String("RegexTest_201")
+ << QLatin1String("RegexTest_202")
+ << QLatin1String("RegexTest_202")
+ << QLatin1String("RegexTest_203")
+ << QLatin1String("RegexTest_204")
+ << QLatin1String("RegexTest_205")
+ << QLatin1String("RegexTest_206")
+ << QLatin1String("RegexTest_207")
+ << QLatin1String("RegexTest_208")
+ << QLatin1String("RegexTest_209")
+ << QLatin1String("RegexTest_209")
+ << QLatin1String("RegexTest_210")
+ << QLatin1String("RegexTest_210")
+ << QLatin1String("RegexTest_211")
+ << QLatin1String("RegexTest_211")
+ << QLatin1String("RegexTest_212")
+ << QLatin1String("RegexTest_213")
+ << QLatin1String("RegexTest_214")
+ << QLatin1String("RegexTest_215")
+ << QLatin1String("RegexTest_216")
+ << QLatin1String("RegexTest_217")
+ << QLatin1String("RegexTest_218")
+ << QLatin1String("RegexTest_220")
+ << QLatin1String("RegexTest_221")
+ << QLatin1String("RegexTest_222")
+ << QLatin1String("RegexTest_226")
+ << QLatin1String("RegexTest_230")
+ << QLatin1String("RegexTest_232")
+ << QLatin1String("RegexTest_233")
+ << QLatin1String("RegexTest_294")
+ << QLatin1String("RegexTest_294")
+ << QLatin1String("RegexTest_295")
+ << QLatin1String("RegexTest_295")
+ << QLatin1String("RegexTest_299")
+ << QLatin1String("RegexTest_300")
+ << QLatin1String("RegexTest_301")
+ << QLatin1String("RegexTest_302")
+ << QLatin1String("RegexTest_303")
+ << QLatin1String("RegexTest_304")
+ << QLatin1String("RegexTest_305")
+ << QLatin1String("RegexTest_306")
+ << QLatin1String("RegexTest_307")
+ << QLatin1String("RegexTest_308")
+ << QLatin1String("RegexTest_309")
+ << QLatin1String("RegexTest_310")
+ << QLatin1String("RegexTest_311")
+ << QLatin1String("RegexTest_312")
+ << QLatin1String("RegexTest_313")
+ << QLatin1String("RegexTest_314")
+ << QLatin1String("RegexTest_315")
+ << QLatin1String("RegexTest_315")
+ << QLatin1String("RegexTest_316")
+ << QLatin1String("RegexTest_316")
+ << QLatin1String("RegexTest_317")
+ << QLatin1String("RegexTest_317")
+ << QLatin1String("RegexTest_440")
+ << QLatin1String("RegexTest_441")
+ << QLatin1String("RegexTest_442")
+ << QLatin1String("RegexTest_443")
+ << QLatin1String("RegexTest_448")
+ << QLatin1String("RegexTest_449")
+ << QLatin1String("RegexTest_450")
+ << QLatin1String("RegexTest_451")
+ << QLatin1String("RegexTest_458")
+ << QLatin1String("RegexTest_464")
+ << QLatin1String("RegexTest_464")
+ << QLatin1String("RegexTest_465")
+ << QLatin1String("RegexTest_469")
+ << QLatin1String("RegexTest_470")
+ << QLatin1String("RegexTest_471")
+ << QLatin1String("RegexTest_472")
+ << QLatin1String("RegexTest_473")
+ << QLatin1String("RegexTest_477")
+ << QLatin1String("RegexTest_478")
+ << QLatin1String("RegexTest_478")
+ << QLatin1String("RegexTest_479")
+ << QLatin1String("RegexTest_480")
+ << QLatin1String("RegexTest_481")
+ << QLatin1String("RegexTest_482")
+ << QLatin1String("RegexTest_482")
+ << QLatin1String("RegexTest_483")
+ << QLatin1String("RegexTest_483")
+ << QLatin1String("RegexTest_484")
+ << QLatin1String("RegexTest_487")
+ << QLatin1String("RegexTest_516")
+ << QLatin1String("RegexTest_516")
+ << QLatin1String("RegexTest_517")
+ << QLatin1String("RegexTest_517")
+ << QLatin1String("RegexTest_518")
+ << QLatin1String("RegexTest_518")
+ << QLatin1String("RegexTest_519")
+ << QLatin1String("RegexTest_519")
+ << QLatin1String("RegexTest_521")
+ << QLatin1String("RegexTest_523")
+ << QLatin1String("RegexTest_524")
+ << QLatin1String("RegexTest_524")
+ << QLatin1String("RegexTest_586")
+ << QLatin1String("RegexTest_587")
+ << QLatin1String("RegexTest_592")
+ << QLatin1String("RegexTest_593")
+ << QLatin1String("RegexTest_594")
+ << QLatin1String("RegexTest_595")
+ << QLatin1String("RegexTest_596")
+ << QLatin1String("RegexTest_597")
+ << QLatin1String("RegexTest_598")
+ << QLatin1String("RegexTest_599")
+ << QLatin1String("RegexTest_600")
+ << QLatin1String("RegexTest_601")
+ << QLatin1String("RegexTest_602")
+ << QLatin1String("RegexTest_603")
+ << QLatin1String("RegexTest_604")
+ << QLatin1String("RegexTest_605")
+ << QLatin1String("RegexTest_648")
+ << QLatin1String("RegexTest_655")
+ << QLatin1String("RegexTest_688")
+ << QLatin1String("RegexTest_696")
+ << QLatin1String("RegexTest_697")
+ << QLatin1String("RegexTest_698")
+ << QLatin1String("RegexTest_700")
+ << QLatin1String("RegexTest_701")
+ << QLatin1String("RegexTest_702")
+ << QLatin1String("RegexTest_703")
+ << QLatin1String("RegexTest_704")
+ << QLatin1String("RegexTest_705")
+ << QLatin1String("RegexTest_706")
+ << QLatin1String("RegexTest_707")
+ << QLatin1String("RegexTest_717")
+ << QLatin1String("RegexTest_718")
+ << QLatin1String("RegexTest_719")
+ << QLatin1String("RegexTest_724")
+ << QLatin1String("RegexTest_725")
+ << QLatin1String("RegexTest_726")
+ << QLatin1String("RegexTest_727")
+ << QLatin1String("RegexTest_728")
+ << QLatin1String("RegexTest_729")
+ << QLatin1String("RegexTest_730")
+ << QLatin1String("RegexTest_731")
+ << QLatin1String("RegexTest_732")
+ << QLatin1String("RegexTest_733")
+ << QLatin1String("RegexTest_743")
+ << QLatin1String("RegexTest_755")
+ << QLatin1String("RegexTest_756")
+ << QLatin1String("RegexTest_761")
+ << QLatin1String("RegexTest_762")
+ << QLatin1String("RegexTest_781")
+ << QLatin1String("RegexTest_782")
+ << QLatin1String("RegexTest_783")
+ << QLatin1String("RegexTest_790")
+ << QLatin1String("RegexTest_791")
+ << QLatin1String("RegexTest_824")
+ << QLatin1String("RegexTest_826")
+ << QLatin1String("RegexTest_827")
+ << QLatin1String("RegexTest_836")
+ << QLatin1String("RegexTest_837")
+ << QLatin1String("RegexTest_841")
+ << QLatin1String("RegexTest_842")
+ << QLatin1String("RegexTest_843")
+ << QLatin1String("RegexTest_844")
+ << QLatin1String("RegexTest_845")
+ << QLatin1String("RegexTest_846")
+ << QLatin1String("RegexTest_847")
+ << QLatin1String("RegexTest_848")
+ << QLatin1String("RegexTest_851")
+ << QLatin1String("RegexTest_852")
+ << QLatin1String("RegexTest_853")
+ << QLatin1String("RegexTest_854")
+ << QLatin1String("RegexTest_855")
+ << QLatin1String("RegexTest_856")
+ << QLatin1String("RegexTest_857")
+ << QLatin1String("RegexTest_861")
+ << QLatin1String("RegexTest_862")
+ << QLatin1String("RegexTest_863")
+ << QLatin1String("RegexTest_864")
+ << QLatin1String("RegexTest_865")
+ << QLatin1String("RegexTest_866")
+ << QLatin1String("RegexTest_870")
+ << QLatin1String("RegexTest_879")
+ << QLatin1String("RegexTest_880")
+ << QLatin1String("RegexTest_888")
+ << QLatin1String("RegexTest_889")
+ << QLatin1String("RegexTest_890")
+ << QLatin1String("RegexTest_891")
+ << QLatin1String("RegexTest_892")
+ << QLatin1String("RegexTest_893")
+ << QLatin1String("RegexTest_894")
+ << QLatin1String("RegexTest_895")
+ << QLatin1String("RegexTest_896")
+ << QLatin1String("RegexTest_897")
+ << QLatin1String("RegexTest_898")
+ << QLatin1String("RegexTest_899")
+ << QLatin1String("RegexTest_900")
+ << QLatin1String("RegexTest_901")
+ << QLatin1String("RegexTest_902")
+ << QLatin1String("RegexTest_903")
+ << QLatin1String("RegexTest_904")
+ << QLatin1String("RegexTest_905")
+ << QLatin1String("RegexTest_906")
+ << QLatin1String("RegexTest_907")
+ << QLatin1String("RegexTest_908")
+ << QLatin1String("RegexTest_909")
+ << QLatin1String("RegexTest_910")
+ << QLatin1String("RegexTest_911")
+ << QLatin1String("RegexTest_912")
+ << QLatin1String("RegexTest_913")
+ << QLatin1String("RegexTest_914")
+ << QLatin1String("RegexTest_915")
+ << QLatin1String("RegexTest_916")
+ << QLatin1String("RegexTest_917")
+ << QLatin1String("RegexTest_918")
+ << QLatin1String("RegexTest_919")
+ << QLatin1String("RegexTest_920")
+ << QLatin1String("RegexTest_921")
+ << QLatin1String("RegexTest_922")
+ << QLatin1String("RegexTest_923")
+ << QLatin1String("RegexTest_924")
+ << QLatin1String("RegexTest_925")
+ << QLatin1String("RegexTest_926")
+ << QLatin1String("RegexTest_928")
+ << QLatin1String("RegexTest_929")
+ << QLatin1String("RegexTest_930")
+ << QLatin1String("RegexTest_936")
+ << QLatin1String("RegexTest_937")
+ << QLatin1String("RegexTest_938")
+ << QLatin1String("RegexTest_939")
+ << QLatin1String("RegexTest_940")
+ << QLatin1String("RegexTest_941")
+ << QLatin1String("RegexTest_942")
+ << QLatin1String("RegexTest_943")
+ << QLatin1String("RegexTest_944")
+ << QLatin1String("RegexTest_945")
+ << QLatin1String("RegexTest_946")
+ << QLatin1String("RegexTest_949")
+ << QLatin1String("RegexTest_950")
+ << QLatin1String("RegexTest_951")
+ << QLatin1String("RegexTest_952")
+ << QLatin1String("RegexTest_953")
+ << QLatin1String("RegexTest_954")
+ << QLatin1String("RegexTest_955")
+ << QLatin1String("RegexTest_956")
+ << QLatin1String("RegexTest_957")
+ << QLatin1String("RegexTest_958")
+ << QLatin1String("RegexTest_959")
+ << QLatin1String("RegexTest_960")
+ << QLatin1String("RegexTest_961")
+ << QLatin1String("RegexTest_962")
+ << QLatin1String("RegexTest_963")
+ << QLatin1String("RegexTest_964")
+ << QLatin1String("RegexTest_976")
+ << QLatin1String("RegexTest_977")
+ << QLatin1String("RegexTest_988")
+ << QLatin1String("RegexTest_989")
+ << QLatin1String("RegexTest_990")
+ << QLatin1String("RegexTest_991")
+ << QLatin1String("RegexTest_994")
+ << QLatin1String("RegexTest_995")
+ << QLatin1String("RegexTest_996")
+ << QLatin1String("RegexTest_997")
+ << QLatin1String("RegexTest_1000")
+ << QLatin1String("RegexTest_1001")
+ << QLatin1String("RegexTest_1002")
+ << QLatin1String("RegexTest_1003")
+ << QLatin1String("RegexTest_1004")
+ << QLatin1String("RegexTest_1007")
+ << QLatin1String("RegexTest_1008")
+ << QLatin1String("RegexTest_1009")
+ << QLatin1String("RegexTest_1010")
+ << QLatin1String("RegexTest_1011")
+ << QLatin1String("RegexTest_1012")
+ << QLatin1String("RegexTest_1013")
+ << QLatin1String("RegexTest_1014")
+ << QLatin1String("RegexTest_1015")
+ << QLatin1String("RegexTest_1016")
+ << QLatin1String("RegexTest_1017")
+ << QLatin1String("RegexTest_1018")
+ << QLatin1String("RegexTest_1019")
+ << QLatin1String("RegexTest_1070")
+ << QLatin1String("RegexTest_1071")
+ << QLatin1String("RegexTest_1076")
+ << QLatin1String("RegexTest_1077")
+ << QLatin1String("RegexTest_1078")
+ << QLatin1String("RegexTest_1079")
+ << QLatin1String("RegexTest_1080")
+ << QLatin1String("RegexTest_1081")
+ << QLatin1String("RegexTest_1082")
+ << QLatin1String("RegexTest_1083")
+ << QLatin1String("RegexTest_1084")
+ << QLatin1String("RegexTest_1085")
+ << QLatin1String("RegexTest_1086")
+ << QLatin1String("RegexTest_1087")
+ << QLatin1String("RegexTest_1088")
+ << QLatin1String("RegexTest_1089")
+ << QLatin1String("RegexTest_1132")
+ << QLatin1String("RegexTest_1139")
+ << QLatin1String("RegexTest_1172")
+ << QLatin1String("RegexTest_1180")
+ << QLatin1String("RegexTest_1181")
+ << QLatin1String("RegexTest_1182")
+ << QLatin1String("RegexTest_1184")
+ << QLatin1String("RegexTest_1185")
+ << QLatin1String("RegexTest_1186")
+ << QLatin1String("RegexTest_1187")
+ << QLatin1String("RegexTest_1188")
+ << QLatin1String("RegexTest_1189")
+ << QLatin1String("RegexTest_1190")
+ << QLatin1String("RegexTest_1191")
+ << QLatin1String("RegexTest_1201")
+ << QLatin1String("RegexTest_1202")
+ << QLatin1String("RegexTest_1203")
+ << QLatin1String("RegexTest_1208")
+ << QLatin1String("RegexTest_1209")
+ << QLatin1String("RegexTest_1210")
+ << QLatin1String("RegexTest_1211")
+ << QLatin1String("RegexTest_1212")
+ << QLatin1String("RegexTest_1213")
+ << QLatin1String("RegexTest_1214")
+ << QLatin1String("RegexTest_1215")
+ << QLatin1String("RegexTest_1216")
+ << QLatin1String("RegexTest_1217")
+ << QLatin1String("RegexTest_1227")
+ << QLatin1String("RegexTest_1239")
+ << QLatin1String("RegexTest_1240")
+ << QLatin1String("RegexTest_1245")
+ << QLatin1String("RegexTest_1246")
+ << QLatin1String("RegexTest_1265")
+ << QLatin1String("RegexTest_1266")
+ << QLatin1String("RegexTest_1267")
+ << QLatin1String("RegexTest_1274")
+ << QLatin1String("RegexTest_1275")
+ << QLatin1String("RegexTest_1308")
+ << QLatin1String("RegexTest_1310")
+ << QLatin1String("RegexTest_1311")
+ << QLatin1String("RegexTest_1320")
+ << QLatin1String("RegexTest_1321")
+ << QLatin1String("RegexTest_1322")
+ << QLatin1String("RegexTest_1323")
+ << QLatin1String("RegexTest_1324")
+ << QLatin1String("RegexTest_1325")
+ << QLatin1String("RegexTest_1326")
+ << QLatin1String("RegexTest_1327")
+ << QLatin1String("RegexTest_1328")
+ << QLatin1String("RegexTest_1329")
+ << QLatin1String("RegexTest_1330")
+ << QLatin1String("RegexTest_1331")
+ << QLatin1String("RegexTest_1332")
+ << QLatin1String("RegexTest_1335")
+ << QLatin1String("RegexTest_1336")
+ << QLatin1String("RegexTest_1337")
+ << QLatin1String("RegexTest_1338")
+ << QLatin1String("RegexTest_1339")
+ << QLatin1String("RegexTest_1340")
+ << QLatin1String("RegexTest_1341")
+ << QLatin1String("RegexTest_1345")
+ << QLatin1String("RegexTest_1346")
+ << QLatin1String("RegexTest_1347")
+ << QLatin1String("RegexTest_1348")
+ << QLatin1String("RegexTest_1349")
+ << QLatin1String("RegexTest_1350")
+ << QLatin1String("RegexTest_1354")
+ << QLatin1String("RegexTest_1363")
+ << QLatin1String("RegexTest_1364")
+ << QLatin1String("RegexTest_1365")
+ << QLatin1String("RegexTest_1372")
+ << QLatin1String("RegexTest_1373")
+ << QLatin1String("RegexTest_1374")
+ << QLatin1String("RegexTest_1375")
+ << QLatin1String("RegexTest_1376")
+ << QLatin1String("RegexTest_1377")
+ << QLatin1String("RegexTest_1378")
+ << QLatin1String("RegexTest_1379")
+ << QLatin1String("RegexTest_1380")
+ << QLatin1String("RegexTest_1381")
+ << QLatin1String("RegexTest_1382")
+ << QLatin1String("RegexTest_1383")
+ << QLatin1String("RegexTest_1384")
+ << QLatin1String("RegexTest_1385")
+ << QLatin1String("RegexTest_1386")
+ << QLatin1String("RegexTest_1387")
+ << QLatin1String("RegexTest_1388")
+ << QLatin1String("RegexTest_1389")
+ << QLatin1String("RegexTest_1390")
+ << QLatin1String("RegexTest_1391")
+ << QLatin1String("RegexTest_1392")
+ << QLatin1String("RegexTest_1393")
+ << QLatin1String("RegexTest_1394")
+ << QLatin1String("RegexTest_1395")
+ << QLatin1String("RegexTest_1396")
+ << QLatin1String("RegexTest_1397")
+ << QLatin1String("RegexTest_1398")
+ << QLatin1String("RegexTest_1399")
+ << QLatin1String("RegexTest_1400")
+ << QLatin1String("RegexTest_1401")
+ << QLatin1String("RegexTest_1402")
+ << QLatin1String("RegexTest_1403")
+ << QLatin1String("RegexTest_1404")
+ << QLatin1String("RegexTest_1405")
+ << QLatin1String("RegexTest_1406")
+ << QLatin1String("RegexTest_1407")
+ << QLatin1String("RegexTest_1408")
+ << QLatin1String("RegexTest_1409")
+ << QLatin1String("RegexTest_1410")
+ << QLatin1String("RegexTest_1412")
+ << QLatin1String("RegexTest_1413")
+ << QLatin1String("RegexTest_1414")
+ << QLatin1String("RegexTest_1420")
+ << QLatin1String("RegexTest_1421")
+ << QLatin1String("RegexTest_1422")
+ << QLatin1String("RegexTest_1423")
+ << QLatin1String("RegexTest_1424")
+ << QLatin1String("RegexTest_1425")
+ << QLatin1String("RegexTest_1426")
+ << QLatin1String("RegexTest_1427")
+ << QLatin1String("RegexTest_1428")
+ << QLatin1String("RegexTest_1429")
+ << QLatin1String("RegexTest_1430")
+ << QLatin1String("RegexTest_1433")
+ << QLatin1String("RegexTest_1434")
+ << QLatin1String("RegexTest_1435")
+ << QLatin1String("RegexTest_1436")
+ << QLatin1String("RegexTest_1437")
+ << QLatin1String("RegexTest_1438")
+ << QLatin1String("RegexTest_1439")
+ << QLatin1String("RegexTest_1440")
+ << QLatin1String("RegexTest_1441")
+ << QLatin1String("RegexTest_1442")
+ << QLatin1String("RegexTest_1443")
+ << QLatin1String("RegexTest_1444")
+ << QLatin1String("RegexTest_1445")
+ << QLatin1String("RegexTest_1446")
+ << QLatin1String("RegexTest_1447")
+ << QLatin1String("RegexTest_1448")
+ << QLatin1String("RegexTest_1451")
+ << QLatin1String("RegexTest_1452")
+ << QLatin1String("RegexTest_1453")
+ << QLatin1String("RegexTest_1454")
+ << QLatin1String("RegexTest_1455")
+ << QLatin1String("RegexTest_1456")
+ << QLatin1String("RegexTest_1472")
+ << QLatin1String("RegexTest_1473")
+ << QLatin1String("RegexTest_1474")
+ << QLatin1String("RegexTest_1475")
+ << QLatin1String("RegexTest_1478")
+ << QLatin1String("RegexTest_1479")
+ << QLatin1String("RegexTest_1480")
+ << QLatin1String("RegexTest_1481")
+ << QLatin1String("RegexTest_1484")
+ << QLatin1String("RegexTest_1485")
+ << QLatin1String("RegexTest_1486")
+ << QLatin1String("RegexTest_1487")
+ << QLatin1String("RegexTest_1488")
+ << QLatin1String("RegexTest_1491")
+ << QLatin1String("RegexTest_1492")
+ << QLatin1String("RegexTest_1493")
+ << QLatin1String("RegexTest_1494")
+ << QLatin1String("RegexTest_1495")
+ << QLatin1String("RegexTest_1496")
+ << QLatin1String("RegexTest_1497")
+ << QLatin1String("RegexTest_1498")
+ << QLatin1String("RegexTest_1499")
+ << QLatin1String("RegexTest_1500")
+ << QLatin1String("RegexTest_1501")
+ << QLatin1String("RegexTest_1502")
+ << QLatin1String("RegexTest_1503")
+ << QLatin1String("RegexTest_1543")
+ << QLatin1String("RegexTest_1544")
+ << QLatin1String("reZ001")
+*/
+ << QLatin1String("schA2")
+ << QLatin1String("schA5")
+ << QLatin1String("schA7")
+ << QLatin1String("schD8")
+ << QLatin1String("schG3")
+ << QLatin1String("schG6")
+ << QLatin1String("schG9")
+ << QLatin1String("schG11")
+ << QLatin1String("schG12")
+ << QLatin1String("schU1")
+ << QLatin1String("schU3")
+ << QLatin1String("schU4")
+ << QLatin1String("schU5")
+ << QLatin1String("schZ004")
+ << QLatin1String("schZ005")
+ << QLatin1String("schZ012_a")
+ << QLatin1String("stZ041")
+ << QLatin1String("wildZ010");
+}
+
+bool XSDTestSuiteHandler::startElement(const QString &namespaceURI,
+ const QString &localName,
+ const QString &/*qName*/,
+ const QXmlAttributes &atts)
+{
+ if(namespaceURI != QString::fromLatin1("http://www.w3.org/XML/2004/xml-schema-test-suite/"))
+ return true;
+
+ if (localName == QLatin1String("testSet")) {
+ m_currentTestSet = new TestGroup(m_topLevelGroup);
+ Q_ASSERT(m_currentTestSet);
+ m_currentTestSet->setTitle(atts.value("name"));
+ m_topLevelGroup->appendChild(m_currentTestSet);
+ } else if (localName == QLatin1String("testGroup")) {
+ m_currentTestGroup = new TestGroup(m_currentTestSet);
+ Q_ASSERT(m_currentTestGroup);
+ m_currentTestGroup->setTitle(atts.value("name"));
+ m_currentTestSet->appendChild(m_currentTestGroup);
+ m_inTestGroup = true;
+ } else if (localName == QLatin1String("schemaTest")) {
+ if (m_blackList.contains(atts.value("name"))) {
+ m_currentTestCase = 0;
+ m_schemaBlacklisted = true;
+ return true;
+ }
+ m_schemaBlacklisted = false;
+
+ m_currentTestCase = new XSDTSTestCase(TestCase::Standard, m_currentTestGroup, XSDTSTestCase::SchemaTest);
+ Q_ASSERT(m_currentTestCase);
+ m_counter++;
+ m_currentTestCase->setName(QString::number(m_counter) + atts.value("name"));
+ m_currentTestGroup->appendChild(m_currentTestCase);
+ m_currentTestCase->setParent(m_currentTestGroup);
+
+ m_inSchemaTest = true;
+ } else if (localName == QLatin1String("instanceTest")) {
+ if (m_schemaBlacklisted) {
+ m_currentTestCase = 0;
+ return true;
+ }
+
+ m_currentTestCase = new XSDTSTestCase(TestCase::Standard, m_currentTestGroup, XSDTSTestCase::InstanceTest);
+ Q_ASSERT(m_currentTestCase);
+ m_counter++;
+ m_currentTestCase->setName(QString::number(m_counter) + atts.value("name"));
+ m_currentTestGroup->appendChild(m_currentTestCase);
+
+ m_inInstanceTest = true;
+ } else if (localName == QLatin1String("schemaDocument") || localName == QLatin1String("instanceDocument")) {
+ if (m_inSchemaTest) {
+ m_currentTestCase->setSchemaUri(QUrl(atts.value("xlink:href")));
+ if (m_currentSchemaLink.isEmpty()) // we only use the first schema document for validation
+ m_currentSchemaLink = atts.value("xlink:href");
+ }
+ if (m_inInstanceTest) {
+ m_currentTestCase->setInstanceUri(QUrl(atts.value("xlink:href")));
+ m_currentTestCase->setSchemaUri(QUrl(m_currentSchemaLink));
+ }
+ } else if (localName == QLatin1String("expected") && (m_inSchemaTest || m_inInstanceTest)) {
+ TestBaseLine *baseLine = new TestBaseLine(TestBaseLine::SchemaIsValid);
+ if (atts.value("validity") == QLatin1String("valid")) {
+ baseLine->setDetails(QLatin1String("true"));
+ m_currentTestCase->setName(m_currentTestCase->name() + QLatin1String(" tokoe:valid"));
+ } else {
+ baseLine->setDetails(QLatin1String("false"));
+ m_currentTestCase->setName(m_currentTestCase->name() + QLatin1String(" tokoe:invalid"));
+ }
+
+ m_currentTestCase->addBaseLine(baseLine);
+ } else if (localName == QLatin1String("documentation") && m_inTestGroup) {
+ m_inDescription = true;
+ }
+
+ return true;
+}
+
+bool XSDTestSuiteHandler::endElement(const QString &namespaceURI,
+ const QString &localName,
+ const QString &/*qName*/)
+{
+ if (localName == QLatin1String("testGroup")) {
+ m_inTestGroup = false;
+ m_currentTestGroup->setDescription(m_documentation);
+ m_documentation.clear();
+ m_currentSchemaLink.clear();
+
+ if (m_currentTestGroup->childCount() == 0)
+ m_currentTestSet->removeLast();
+ } else if (localName == QLatin1String("schemaTest"))
+ m_inSchemaTest = false;
+ else if (localName == QLatin1String("instanceTest"))
+ m_inInstanceTest = false;
+ else if (localName == QLatin1String("documentation"))
+ m_inDescription = false;
+
+ return true;
+}
+
+bool XSDTestSuiteHandler::characters(const QString &ch)
+{
+ if (m_inDescription)
+ m_documentation += ch;
+
+ return true;
+}
+
+TestSuite *XSDTestSuiteHandler::testSuite() const
+{
+ return m_ts;
+}
+
+// vim: et:ts=4:sw=4:sts=4
+
diff --git a/tests/auto/xmlpatternsxqts/lib/XSDTestSuiteHandler.h b/tests/auto/xmlpatternsxqts/lib/XSDTestSuiteHandler.h
new file mode 100644
index 0000000..8c57e82
--- /dev/null
+++ b/tests/auto/xmlpatternsxqts/lib/XSDTestSuiteHandler.h
@@ -0,0 +1,90 @@
+/****************************************************************************
+**
+** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the Patternist project on Trolltech Labs.
+**
+** $TROLLTECH_GPL_LICENSE$
+**
+***************************************************************************
+*/
+
+#ifndef PatternistSDK_XSDTestSuiteHandler_H
+#define PatternistSDK_XSDTestSuiteHandler_H
+
+#include <QUrl>
+#include <QXmlDefaultHandler>
+
+#include "ExternalSourceLoader.h"
+#include "TestSuite.h"
+#include "XQTSTestCase.h"
+
+QT_BEGIN_HEADER
+
+namespace QPatternistSDK
+{
+ class TestBaseLine;
+ class TestGroup;
+ class XSDTSTestCase;
+
+ /**
+ * @short Creates a TestSuite from the XSD Test Suite.
+ *
+ * The created TestSuite can be retrieved via testSuite().
+ *
+ * @note XSDTestSuiteHandler assumes the XML is valid by having been validated
+ * against the W3C XML Schema. It has no safety checks for that the XML format
+ * is correct but is hard coded for it. Thus, the behavior is undefined if
+ * the XML is invalid.
+ *
+ * @ingroup PatternistSDK
+ * @author Tobias Koenig <tobias.koenig@trolltech.com>
+ */
+ class Q_PATTERNISTSDK_EXPORT XSDTestSuiteHandler : public QXmlDefaultHandler
+ {
+ public:
+ /**
+ * @param catalogFile the URI for the catalog file being parsed. This
+ * URI is used for creating absolute URIs for files mentioned in
+ * the catalog with relative URIs.
+ * @param useExclusionList whether excludeTestGroups.txt should be used to ignore
+ * test groups when loading
+ */
+ XSDTestSuiteHandler(const QUrl &catalogFile);
+ virtual bool characters(const QString &ch);
+
+ virtual bool endElement(const QString &namespaceURI,
+ const QString &localName,
+ const QString &qName);
+ virtual bool startElement(const QString &namespaceURI,
+ const QString &localName,
+ const QString &qName,
+ const QXmlAttributes &atts);
+
+ virtual TestSuite *testSuite() const;
+
+ private:
+ TestSuite* m_ts;
+ const QUrl m_catalogFile;
+
+ TestGroup* m_topLevelGroup;
+ TestGroup* m_currentTestSet;
+ TestGroup* m_currentTestGroup;
+ XSDTSTestCase* m_currentTestCase;
+ bool m_inSchemaTest;
+ bool m_inInstanceTest;
+ bool m_inTestGroup;
+ bool m_inDescription;
+ bool m_schemaBlacklisted;
+ QString m_documentation;
+ QString m_currentSchemaLink;
+ int m_counter;
+ QSet<QString> m_blackList;
+ };
+}
+
+QT_END_HEADER
+
+#endif
+// vim: et:ts=4:sw=4:sts=4
diff --git a/tests/auto/xmlpatternsxqts/lib/lib.pro b/tests/auto/xmlpatternsxqts/lib/lib.pro
index 5b12d63..cb9453a 100644
--- a/tests/auto/xmlpatternsxqts/lib/lib.pro
+++ b/tests/auto/xmlpatternsxqts/lib/lib.pro
@@ -50,6 +50,8 @@ HEADERS = ASTItem.h \
Worker.h \
XMLWriter.h \
XQTSTestCase.h \
+ XSDTestSuiteHandler.h \
+ XSDTSTestCase.h \
XSLTTestSuiteHandler.h
SOURCES = ASTItem.cpp \
@@ -75,4 +77,6 @@ SOURCES = ASTItem.cpp \
Worker.cpp \
XMLWriter.cpp \
XQTSTestCase.cpp \
+ XSDTestSuiteHandler.cpp \
+ XSDTSTestCase.cpp \
XSLTTestSuiteHandler.cpp
diff --git a/tests/auto/xmlpatternsxqts/test/tst_suitetest.cpp b/tests/auto/xmlpatternsxqts/test/tst_suitetest.cpp
index 5d61436..0f44058 100644
--- a/tests/auto/xmlpatternsxqts/test/tst_suitetest.cpp
+++ b/tests/auto/xmlpatternsxqts/test/tst_suitetest.cpp
@@ -55,11 +55,11 @@
using namespace QPatternistSDK;
-tst_SuiteTest::tst_SuiteTest(const bool isXSLT,
+tst_SuiteTest::tst_SuiteTest(const SuiteType suiteType,
const bool alwaysRun) : m_existingBaseline(inputFile(QLatin1String("Baseline.xml")))
, m_candidateBaseline(inputFile(QLatin1String("CandidateBaseline.xml")))
, m_abortRun(!alwaysRun && !QFile::exists(QLatin1String("runTests")))
- , m_isXSLT(isXSLT)
+ , m_suiteType(suiteType)
{
}
@@ -86,7 +86,16 @@ void tst_SuiteTest::runTestSuite() const
QString errMsg;
const QFileInfo fi(m_catalogPath);
const QUrl catalogPath(QUrl::fromLocalFile(fi.absoluteFilePath()));
- TestSuite *const ts = TestSuite::openCatalog(catalogPath, errMsg, true, m_isXSLT);
+
+ TestSuite::SuiteType suiteType;
+ switch (m_suiteType) {
+ case XQuerySuite: suiteType = TestSuite::XQuerySuite;
+ case XsltSuite: suiteType = TestSuite::XsltSuite;
+ case XsdSuite: suiteType = TestSuite::XsdSuite;
+ default: break;
+ }
+
+ TestSuite *const ts = TestSuite::openCatalog(catalogPath, errMsg, true, suiteType);
QVERIFY2(ts, qPrintable(QString::fromLatin1("Failed to open the catalog, maybe it doesn't exist or is broken: %1").arg(errMsg)));
diff --git a/tests/auto/xmlpatternsxqts/test/tst_suitetest.h b/tests/auto/xmlpatternsxqts/test/tst_suitetest.h
index effa887..fdf82d5 100644
--- a/tests/auto/xmlpatternsxqts/test/tst_suitetest.h
+++ b/tests/auto/xmlpatternsxqts/test/tst_suitetest.h
@@ -50,13 +50,21 @@
\class tst_SuiteTest
\internal
\since 4.5
- \brief Base class for tst_XmlPatternsXQTS and tst_XmlPatternsXSLTS.
+ \brief Base class for tst_XmlPatternsXQTS, tst_XmlPatternsXSLTS and tst_XmlPatternsXSDTS.
*/
class tst_SuiteTest : public QObject
, private TestFundament
{
Q_OBJECT
+public:
+ enum SuiteType
+ {
+ XQuerySuite,
+ XsltSuite,
+ XsdSuite
+ };
+
protected:
/**
* @p isXSLT is @c true if the catalog opened is an
@@ -65,7 +73,7 @@ protected:
* @p alwaysRun is @c true if the test should always be run,
* regardless of if the file runTests exists.
*/
- tst_SuiteTest(const bool isXSLT,
+ tst_SuiteTest(SuiteType type,
const bool alwaysRun = false);
/**
@@ -91,7 +99,7 @@ private:
const QString m_existingBaseline;
const QString m_candidateBaseline;
const bool m_abortRun;
- const bool m_isXSLT;
+ const SuiteType m_suiteType;
};
#endif
diff --git a/tests/auto/xmlpatternsxqts/test/tst_xmlpatternsxqts.cpp b/tests/auto/xmlpatternsxqts/test/tst_xmlpatternsxqts.cpp
index 6330784..4154b16 100644
--- a/tests/auto/xmlpatternsxqts/test/tst_xmlpatternsxqts.cpp
+++ b/tests/auto/xmlpatternsxqts/test/tst_xmlpatternsxqts.cpp
@@ -61,7 +61,7 @@ public:
virtual void catalogPath(QString &write) const;
};
-tst_XmlPatternsXQTS::tst_XmlPatternsXQTS() : tst_SuiteTest(false)
+tst_XmlPatternsXQTS::tst_XmlPatternsXQTS() : tst_SuiteTest(tst_SuiteTest::XQuerySuite)
{
}
diff --git a/tests/auto/xmlpatternsxqts/xmlpatternsxqts.pro b/tests/auto/xmlpatternsxqts/xmlpatternsxqts.pro
index 368a028..a3b13da 100644
--- a/tests/auto/xmlpatternsxqts/xmlpatternsxqts.pro
+++ b/tests/auto/xmlpatternsxqts/xmlpatternsxqts.pro
@@ -9,3 +9,6 @@ contains(QT_CONFIG,xmlpatterns) {
# Needed on the win32-g++ setup and on the test machine arsia.
INCLUDEPATH += $$QT_BUILD_TREE/include/QtXmlPatterns/private \
../../../include/QtXmlPatterns/private
+
+requires(contains(QT_CONFIG,private_tests))
+
diff --git a/tests/auto/xmlpatternsxslts/tst_xmlpatternsxslts.cpp b/tests/auto/xmlpatternsxslts/tst_xmlpatternsxslts.cpp
index 16091f6..d89974c 100644
--- a/tests/auto/xmlpatternsxslts/tst_xmlpatternsxslts.cpp
+++ b/tests/auto/xmlpatternsxslts/tst_xmlpatternsxslts.cpp
@@ -61,7 +61,7 @@ protected:
virtual void catalogPath(QString &write) const;
};
-tst_XmlPatternsXSLTS::tst_XmlPatternsXSLTS() : tst_SuiteTest(true)
+tst_XmlPatternsXSLTS::tst_XmlPatternsXSLTS() : tst_SuiteTest(tst_SuiteTest::XsltSuite)
{
}
diff --git a/tests/auto/xmlpatternsxslts/xmlpatternsxslts.pro b/tests/auto/xmlpatternsxslts/xmlpatternsxslts.pro
index 4a688c4..9b63a52 100644
--- a/tests/auto/xmlpatternsxslts/xmlpatternsxslts.pro
+++ b/tests/auto/xmlpatternsxslts/xmlpatternsxslts.pro
@@ -23,3 +23,4 @@ wince*: {
DEPLOYMENT += testdata
}
+requires(contains(QT_CONFIG,private_tests))
diff --git a/tests/benchmarks/benchmarks.pro b/tests/benchmarks/benchmarks.pro
index bc41125..bf02731 100644
--- a/tests/benchmarks/benchmarks.pro
+++ b/tests/benchmarks/benchmarks.pro
@@ -8,8 +8,10 @@ SUBDIRS = containers-associative \
qiodevice \
qpixmap \
blendbench \
- qstringlist \
+ qstring \
+ qstringlist \
qmatrix4x4 \
+ qnetworkreply \
qobject \
qrect \
qregexp \
diff --git a/tests/benchmarks/qdir/tst_qdir.cpp b/tests/benchmarks/qdir/tst_qdir.cpp
index 6405645..7977e28 100644
--- a/tests/benchmarks/qdir/tst_qdir.cpp
+++ b/tests/benchmarks/qdir/tst_qdir.cpp
@@ -1,9 +1,13 @@
#include <QtTest/QtTest>
-#include<dirent.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <unistd.h>
+#ifdef Q_OS_WIN
+# include <windows.h>
+#else
+# include <sys/stat.h>
+# include <sys/types.h>
+# include <dirent.h>
+# include <unistd.h>
+#endif
class Test : public QObject{
Q_OBJECT
@@ -73,10 +77,29 @@ private slots:
}
}
}
-#ifndef Q_OS_WIN
+
void testLowLevel() {
+#ifdef Q_OS_WIN
+ const wchar_t *dirpath = (wchar_t*)testdir.absolutePath().utf16();
+ wchar_t appendedPath[MAX_PATH];
+ wcscpy(appendedPath, dirpath);
+ wcscat(appendedPath, L"\\*");
+
+ WIN32_FIND_DATA fd;
+ HANDLE hSearch = FindFirstFileW(appendedPath, &fd);
+ QVERIFY(hSearch == INVALID_HANDLE_VALUE);
+
+ QBENCHMARK {
+ do {
+
+ } while (FindNextFile(hSearch, &fd));
+ }
+ FindClose(hSearch);
+#else
QDir testdir(QDir::tempPath() + QLatin1String("/test_speed"));
DIR *dir = opendir(qPrintable(testdir.absolutePath()));
+ QVERIFY(dir);
+
QVERIFY(!chdir(qPrintable(testdir.absolutePath())));
QBENCHMARK {
struct dirent *item = readdir(dir);
@@ -90,8 +113,8 @@ private slots:
}
}
closedir(dir);
- }
#endif
+ }
};
QTEST_MAIN(Test)
diff --git a/tests/benchmarks/qdiriterator/main.cpp b/tests/benchmarks/qdiriterator/main.cpp
index 13128f7..1a5ffbb 100644
--- a/tests/benchmarks/qdiriterator/main.cpp
+++ b/tests/benchmarks/qdiriterator/main.cpp
@@ -107,7 +107,7 @@ static int posix_helper(const wchar_t *dirpath)
wchar_t appendedPath[MAX_PATH];
wcscpy(appendedPath, dirpath);
wcscat(appendedPath, L"\\*");
- hSearch = FindFirstFileW(appendedPath, &fd);
+ hSearch = FindFirstFile(appendedPath, &fd);
appendedPath[origDirPathLength] = 0;
if (hSearch == INVALID_HANDLE_VALUE) {
diff --git a/tests/benchmarks/qdiriterator/qfilesystemiterator.cpp b/tests/benchmarks/qdiriterator/qfilesystemiterator.cpp
index 1ef600b..47720f1 100644
--- a/tests/benchmarks/qdiriterator/qfilesystemiterator.cpp
+++ b/tests/benchmarks/qdiriterator/qfilesystemiterator.cpp
@@ -108,17 +108,6 @@
QT_BEGIN_NAMESPACE
-#ifdef Q_OS_WIN
-inline QString convertString(TCHAR* sz)
-{
-#ifdef UNICODE
- return QString::fromUtf16(sz);
-#else
- return QString::fromLocal8Bit(sz);
-#endif
-}
-#endif
-
class QFileSystemIteratorPrivate
{
public:
@@ -202,7 +191,7 @@ QFileSystemIteratorPrivate::~QFileSystemIteratorPrivate()
}
#ifdef Q_OS_WIN
-static bool isDotOrDotDot(const TCHAR* name)
+static bool isDotOrDotDot(const wchar_t* name)
{
if (name[0] == L'.' && name[1] == 0)
return true;
@@ -339,7 +328,7 @@ bool QFileSystemIteratorPrivate::advanceHelper()
if (m_entry->dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) {
QByteArray ba = m_dirPaths.top();
ba += '\\';
- ba += convertString(m_entry->cFileName);
+ ba += QString::fromWCharArray(m_entry->cFileName);
pushSubDirectory(ba);
}
#else
@@ -634,7 +623,7 @@ QString QFileSystemIterator::fileName() const
if (d->m_currentDirShown == QFileSystemIteratorPrivate::ShowDotDotDir)
return QLatin1String("@@");
#ifdef Q_OS_WIN
- return convertString(d->m_entry->cFileName);
+ return QString::fromWCharArray(d->m_entry->cFileName);
#else
return QString::fromLocal8Bit(d->m_entry->d_name);
#endif
@@ -659,7 +648,7 @@ QString QFileSystemIterator::filePath() const
else if (d->m_entry) {
ba += '/';
#ifdef Q_OS_WIN
- ba += convertString(d->m_entry->cFileName);
+ ba += QString::fromWCharArray(d->m_entry->cFileName);
#else
ba += d->m_entry->d_name;
#endif
diff --git a/tests/benchmarks/qfile/main.cpp b/tests/benchmarks/qfile/main.cpp
index 36cd40a..fd2addc 100644
--- a/tests/benchmarks/qfile/main.cpp
+++ b/tests/benchmarks/qfile/main.cpp
@@ -1,7 +1,7 @@
/****************************************************************************
**
-** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
****************************************************************************/
@@ -280,11 +280,11 @@ void tst_qfile::readBigFile()
HANDLE hndl;
// ensure we don't account string conversion
- TCHAR* cfilename = (TCHAR*)filename.utf16();
+ wchar_t* cfilename = (wchar_t*)filename.utf16();
hndl = CreateFile(cfilename, GENERIC_READ, 0, 0, OPEN_EXISTING, 0, 0);
Q_ASSERT(hndl);
- TCHAR* nativeBuffer = new TCHAR[BUFSIZE];
+ wchar_t* nativeBuffer = new wchar_t[BUFSIZE];
DWORD numberOfBytesRead;
QBENCHMARK {
@@ -363,7 +363,7 @@ void tst_qfile::seek()
HANDLE hndl;
// ensure we don't account string conversion
- TCHAR* cfilename = (TCHAR*)filename.utf16();
+ wchar_t* cfilename = (wchar_t*)filename.utf16();
hndl = CreateFile(cfilename, GENERIC_READ, 0, 0, OPEN_EXISTING, 0, 0);
Q_ASSERT(hndl);
@@ -446,7 +446,7 @@ void tst_qfile::open()
HANDLE hndl;
// ensure we don't account string conversion
- TCHAR* cfilename = (TCHAR*)filename.utf16();
+ wchar_t* cfilename = (wchar_t*)filename.utf16();
QBENCHMARK {
hndl = CreateFile(cfilename, GENERIC_READ, 0, 0, OPEN_EXISTING, 0, 0);
@@ -625,11 +625,11 @@ void tst_qfile::readSmallFiles()
HANDLE hndl;
// ensure we don't account string conversion
- TCHAR* cfilename = (TCHAR*)filename.utf16();
+ wchar_t* cfilename = (wchar_t*)filename.utf16();
hndl = CreateFile(cfilename, GENERIC_READ, 0, 0, OPEN_EXISTING, 0, 0);
Q_ASSERT(hndl);
- TCHAR* nativeBuffer = new TCHAR[BUFSIZE];
+ wchar_t* nativeBuffer = new wchar_t[BUFSIZE];
DWORD numberOfBytesRead;
QBENCHMARK {
do {
diff --git a/tests/benchmarks/qgraphicsitem/qgraphicsitem.pro b/tests/benchmarks/qgraphicsitem/qgraphicsitem.pro
index c8fc07b..726bb96 100644
--- a/tests/benchmarks/qgraphicsitem/qgraphicsitem.pro
+++ b/tests/benchmarks/qgraphicsitem/qgraphicsitem.pro
@@ -3,4 +3,3 @@ TEMPLATE = app
TARGET = tst_qgraphicsitem
SOURCES += tst_qgraphicsitem.cpp
-
diff --git a/tests/benchmarks/qgraphicsitem/tst_qgraphicsitem.cpp b/tests/benchmarks/qgraphicsitem/tst_qgraphicsitem.cpp
index d072d08..ee27ebe 100644
--- a/tests/benchmarks/qgraphicsitem/tst_qgraphicsitem.cpp
+++ b/tests/benchmarks/qgraphicsitem/tst_qgraphicsitem.cpp
@@ -25,6 +25,9 @@ public slots:
void cleanup();
private slots:
+ void setParentItem();
+ void setParentItem_deep();
+ void deleteItemWithManyChildren();
void setPos_data();
void setPos();
void setTransform_data();
@@ -34,7 +37,6 @@ private slots:
void shear();
void translate();
void setRotation();
- void setRotationXYZ();
};
tst_QGraphicsItem::tst_QGraphicsItem()
@@ -53,6 +55,40 @@ void tst_QGraphicsItem::cleanup()
{
}
+void tst_QGraphicsItem::setParentItem()
+{
+ QBENCHMARK {
+ QGraphicsRectItem rect;
+ QGraphicsRectItem *childRect = new QGraphicsRectItem;
+ childRect->setParentItem(&rect);
+ }
+}
+
+void tst_QGraphicsItem::setParentItem_deep()
+{
+ QBENCHMARK {
+ QGraphicsRectItem rect;
+ QGraphicsRectItem *lastRect = &rect;
+ for (int i = 0; i < 10; ++i) {
+ QGraphicsRectItem *childRect = new QGraphicsRectItem;
+ childRect->setParentItem(lastRect);
+ lastRect = childRect;
+ }
+ QGraphicsItem *first = rect.children().first();
+ first->setParentItem(0);
+ }
+}
+
+void tst_QGraphicsItem::deleteItemWithManyChildren()
+{
+ QBENCHMARK {
+ QGraphicsRectItem *rect = new QGraphicsRectItem;
+ for (int i = 0; i < 1000; ++i)
+ new QGraphicsRectItem(rect);
+ delete rect;
+ }
+}
+
void tst_QGraphicsItem::setPos_data()
{
QTest::addColumn<QPointF>("pos");
@@ -150,18 +186,7 @@ void tst_QGraphicsItem::setRotation()
QGraphicsItem *item = scene.addRect(QRectF(0, 0, 100, 100));
QBENCHMARK {
- item->setXRotation(45);
- item->transform(); // prevent lazy optimizing
- }
-}
-
-void tst_QGraphicsItem::setRotationXYZ()
-{
- QGraphicsScene scene;
- QGraphicsItem *item = scene.addRect(QRectF(0, 0, 100, 100));
-
- QBENCHMARK {
- item->setRotation(45, 45, 45);
+ item->setRotation(45);
item->transform(); // prevent lazy optimizing
}
}
diff --git a/tests/benchmarks/qnetworkreply/main.cpp b/tests/benchmarks/qnetworkreply/main.cpp
new file mode 100644
index 0000000..3f1e9f7
--- /dev/null
+++ b/tests/benchmarks/qnetworkreply/main.cpp
@@ -0,0 +1,74 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+// This file contains benchmarks for QNetworkReply functions.
+
+#include <QDebug>
+#include <qtest.h>
+#include <QtTest/QtTest>
+#include <QtNetwork/qnetworkreply.h>
+#include <QtNetwork/qnetworkrequest.h>
+#include <QtNetwork/qnetworkaccessmanager.h>
+#include "../../auto/network-settings.h"
+
+class tst_qnetworkreply : public QObject
+{
+ Q_OBJECT
+private slots:
+ void httpLatency();
+
+};
+
+void tst_qnetworkreply::httpLatency()
+{
+ QNetworkAccessManager manager;
+ QBENCHMARK{
+ QNetworkRequest request(QUrl("http://" + QtNetworkSettings::serverName() + "/qtest/"));
+ QNetworkReply* reply = manager.get(request);
+ connect(reply, SIGNAL(finished()), &QTestEventLoop::instance(), SLOT(exitLoop()), Qt::QueuedConnection);
+ QTestEventLoop::instance().enterLoop(5);
+ QVERIFY(!QTestEventLoop::instance().timeout());
+ delete reply;
+ }
+}
+
+QTEST_MAIN(tst_qnetworkreply)
+
+#include "main.moc"
diff --git a/tests/benchmarks/qnetworkreply/qnetworkreply.pro b/tests/benchmarks/qnetworkreply/qnetworkreply.pro
new file mode 100644
index 0000000..060acf5
--- /dev/null
+++ b/tests/benchmarks/qnetworkreply/qnetworkreply.pro
@@ -0,0 +1,13 @@
+load(qttest_p4)
+TEMPLATE = app
+TARGET = tst_qnetworkreply
+DEPENDPATH += .
+INCLUDEPATH += .
+
+QT -= gui
+QT += network
+
+CONFIG += release
+
+# Input
+SOURCES += main.cpp
diff --git a/tests/benchmarks/qquaternion/qquaternion.pro b/tests/benchmarks/qquaternion/qquaternion.pro
new file mode 100644
index 0000000..cd68423
--- /dev/null
+++ b/tests/benchmarks/qquaternion/qquaternion.pro
@@ -0,0 +1,6 @@
+load(qttest_p4)
+TEMPLATE = app
+TARGET = tst_qquaternion
+
+SOURCES += tst_qquaternion.cpp
+
diff --git a/tests/benchmarks/qquaternion/tst_qquaternion.cpp b/tests/benchmarks/qquaternion/tst_qquaternion.cpp
new file mode 100644
index 0000000..eaacf74
--- /dev/null
+++ b/tests/benchmarks/qquaternion/tst_qquaternion.cpp
@@ -0,0 +1,124 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <qtest.h>
+#include <QQuaternion>
+
+//TESTED_FILES=
+
+class tst_QQuaternion : public QObject
+{
+ Q_OBJECT
+
+public:
+ tst_QQuaternion();
+ virtual ~tst_QQuaternion();
+
+public slots:
+ void init();
+ void cleanup();
+
+private slots:
+ void multiply_data();
+ void multiply();
+};
+
+tst_QQuaternion::tst_QQuaternion()
+{
+}
+
+tst_QQuaternion::~tst_QQuaternion()
+{
+}
+
+void tst_QQuaternion::init()
+{
+}
+
+void tst_QQuaternion::cleanup()
+{
+}
+
+void tst_QQuaternion::multiply_data()
+{
+ QTest::addColumn<qreal>("x1");
+ QTest::addColumn<qreal>("y1");
+ QTest::addColumn<qreal>("z1");
+ QTest::addColumn<qreal>("w1");
+ QTest::addColumn<qreal>("x2");
+ QTest::addColumn<qreal>("y2");
+ QTest::addColumn<qreal>("z2");
+ QTest::addColumn<qreal>("w2");
+
+ QTest::newRow("null")
+ << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f
+ << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f;
+
+ QTest::newRow("unitvec")
+ << (qreal)1.0f << (qreal)0.0f << (qreal)0.0f << (qreal)1.0f
+ << (qreal)0.0f << (qreal)1.0f << (qreal)0.0f << (qreal)1.0f;
+
+ QTest::newRow("complex")
+ << (qreal)1.0f << (qreal)2.0f << (qreal)3.0f << (qreal)7.0f
+ << (qreal)4.0f << (qreal)5.0f << (qreal)6.0f << (qreal)8.0f;
+}
+
+void tst_QQuaternion::multiply()
+{
+ QFETCH(qreal, x1);
+ QFETCH(qreal, y1);
+ QFETCH(qreal, z1);
+ QFETCH(qreal, w1);
+ QFETCH(qreal, x2);
+ QFETCH(qreal, y2);
+ QFETCH(qreal, z2);
+ QFETCH(qreal, w2);
+
+ QQuaternion q1(w1, x1, y1, z1);
+ QQuaternion q2(w2, x2, y2, z2);
+
+ QBENCHMARK {
+ QQuaternion q3 = q1 * q2;
+ }
+}
+
+QTEST_MAIN(tst_QQuaternion)
+#include "tst_qquaternion.moc"
diff --git a/tests/benchmarks/qstring/main.cpp b/tests/benchmarks/qstring/main.cpp
index 2c218df..b53b284 100644
--- a/tests/benchmarks/qstring/main.cpp
+++ b/tests/benchmarks/qstring/main.cpp
@@ -39,6 +39,7 @@
**
****************************************************************************/
#include <QStringList>
+#include <QFile>
#include <qtest.h>
class tst_QString: public QObject
@@ -47,6 +48,7 @@ class tst_QString: public QObject
private slots:
void equals() const;
void equals_data() const;
+ void fromUtf8() const;
};
void tst_QString::equals() const
@@ -118,6 +120,22 @@ void tst_QString::equals_data() const
<< QString::fromRawData(ptr + 1, 58) << QString::fromRawData(ptr + 3, 58);
}
+void tst_QString::fromUtf8() const
+{
+ QFile file(SRCDIR "utf-8.txt");
+ if (!file.open(QFile::ReadOnly)) {
+ qFatal("Cannot open input file");
+ return;
+ }
+ QByteArray data = file.readAll();
+ const char *d = data.constData();
+ int size = data.size();
+
+ QBENCHMARK {
+ QString::fromUtf8(d, size);
+ }
+}
+
QTEST_MAIN(tst_QString)
#include "main.moc"
diff --git a/tests/benchmarks/qstring/qstring.pro b/tests/benchmarks/qstring/qstring.pro
index 74423e7..6aad1c0 100644
--- a/tests/benchmarks/qstring/qstring.pro
+++ b/tests/benchmarks/qstring/qstring.pro
@@ -2,3 +2,11 @@ load(qttest_p4)
TARGET = tst_qstring
QT -= gui
SOURCES += main.cpp
+
+wince*:{
+ DEFINES += SRCDIR=\\\"\\\"
+} else {
+ DEFINES += SRCDIR=\\\"$$PWD/\\\"
+}
+
+
diff --git a/tests/benchmarks/qstring/utf-8.txt b/tests/benchmarks/qstring/utf-8.txt
new file mode 100644
index 0000000..a8a58de
--- /dev/null
+++ b/tests/benchmarks/qstring/utf-8.txt
@@ -0,0 +1,72 @@
+Språk: Norsk
+Γλώσσα: Ελληνικά
+Язык: РуÑÑкий
+언어 : 한국어
+言語: 日本語
+Langage : Français
+Språk: Norsk
+Γλώσσα: Ελληνικά
+Язык: РуÑÑкий
+언어 : 한국어
+言語: 日本語
+Langage : Français
+Språk: Norsk
+Γλώσσα: Ελληνικά
+Язык: РуÑÑкий
+언어 : 한국어
+言語: 日本語
+Langage : Français
+Språk: Norsk
+Γλώσσα: Ελληνικά
+Язык: РуÑÑкий
+언어 : 한국어
+言語: 日本語
+Langage : Français
+Språk: Norsk
+Γλώσσα: Ελληνικά
+Язык: РуÑÑкий
+언어 : 한국어
+言語: 日本語
+Langage : Français
+Språk: Norsk
+Γλώσσα: Ελληνικά
+Язык: РуÑÑкий
+언어 : 한국어
+言語: 日本語
+Langage : Français
+Språk: Norsk
+Γλώσσα: Ελληνικά
+Язык: РуÑÑкий
+언어 : 한국어
+言語: 日本語
+Langage : Français
+Språk: Norsk
+Γλώσσα: Ελληνικά
+Язык: РуÑÑкий
+언어 : 한국어
+言語: 日本語
+Langage : Français
+Språk: Norsk
+Γλώσσα: Ελληνικά
+Язык: РуÑÑкий
+언어 : 한국어
+言語: 日本語
+Langage : Français
+Språk: Norsk
+Γλώσσα: Ελληνικά
+Язык: РуÑÑкий
+언어 : 한국어
+言語: 日本語
+Langage : Français
+Språk: Norsk
+Γλώσσα: Ελληνικά
+Язык: РуÑÑкий
+언어 : 한국어
+言語: 日本語
+Langage : Français
+Språk: Norsk
+Γλώσσα: Ελληνικά
+Язык: РуÑÑкий
+언어 : 한국어
+言語: 日本語
+Langage : Français
diff --git a/tests/manual/qdesktopwidget/main.cpp b/tests/manual/qdesktopwidget/main.cpp
new file mode 100644
index 0000000..2cbdfb9
--- /dev/null
+++ b/tests/manual/qdesktopwidget/main.cpp
@@ -0,0 +1,188 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QtGui>
+
+class DesktopView : public QGraphicsView
+{
+ Q_OBJECT
+public:
+ DesktopView()
+ : that(0)
+ {
+ scene = new QGraphicsScene;
+ setScene(scene);
+
+ QDesktopWidget *desktop = QApplication::desktop();
+ connect(desktop, SIGNAL(resized(int)), this, SLOT(updateScene()));
+ connect(desktop, SIGNAL(workAreaResized(int)), this, SLOT(updateScene()));
+ connect(desktop, SIGNAL(screenCountChanged(int)), this, SLOT(updateScene()));
+
+ updateScene();
+
+ QTransform transform;
+ transform.scale(0.25, 0.25);
+ setTransform(transform);
+
+ setBackgroundBrush(Qt::darkGray);
+ }
+
+protected:
+ void moveEvent(QMoveEvent *e)
+ {
+ if (that) {
+ that->setRect(appRect());
+ scene->update();
+ }
+ QGraphicsView::moveEvent(e);
+ }
+ void resizeEvent(QResizeEvent *e)
+ {
+ if (that) {
+ that->setRect(appRect());
+ }
+ QGraphicsView::resizeEvent(e);
+ }
+
+private slots:
+ void updateScene()
+ {
+ scene->clear();
+
+ const QDesktopWidget *desktop = QApplication::desktop();
+ const bool isVirtualDesktop = desktop->isVirtualDesktop();
+ const int homeScreen = desktop->screenNumber(this);
+
+ QRect sceneRect;
+ int screenCount = desktop->screenCount();
+ for (int s = 0; s < screenCount; ++s) {
+ const bool isPrimary = desktop->primaryScreen() == s;
+ const QRect screenRect = desktop->screenGeometry(s);
+ const QRect workRect = desktop->availableGeometry(s);
+ const QBrush fillBrush = palette().brush(isPrimary ? QPalette::Active : QPalette::Inactive, QPalette::Highlight);
+ QGraphicsRectItem *screen = new QGraphicsRectItem(0, 0, screenRect.width(), screenRect.height());
+
+ if (isVirtualDesktop) {
+ thatRoot = QPoint();
+ screen->setPos(screenRect.x(), screenRect.y());
+ } else {
+ // for non-virtual desktops we assume that screens are
+ // simply next to each other
+ if (s)
+ screen->setPos(sceneRect.right(), 0);
+ if (s == homeScreen)
+ thatRoot = screen->pos().toPoint();
+ }
+
+ screen->setBrush(fillBrush);
+ scene->addItem(screen);
+ sceneRect.setLeft(qMin(sceneRect.left(), screenRect.left()));
+ sceneRect.setRight(qMax(sceneRect.right(), screenRect.right()));
+ sceneRect.setTop(qMin(sceneRect.top(), screenRect.top()));
+ sceneRect.setBottom(qMax(sceneRect.bottom(), screenRect.bottom()));
+
+ QGraphicsRectItem *workArea = new QGraphicsRectItem(screen);
+ workArea->setRect(0, 0, workRect.width(), workRect.height());
+ workArea->setPos(workRect.x() - screenRect.x(), workRect.y() - screenRect.y());
+ workArea->setBrush(Qt::white);
+
+ QGraphicsSimpleTextItem *screenNumber = new QGraphicsSimpleTextItem(workArea);
+ screenNumber->setText(QString::number(s));
+ screenNumber->setPen(QPen(Qt::black, 1));
+ screenNumber->setBrush(fillBrush);
+ screenNumber->setFont(QFont("Arial Black", 18));
+ screenNumber->setTransform(QTransform().scale(10, 10));
+ screenNumber->setTransformOriginPoint(screenNumber->boundingRect().center());
+ QSizeF center = (workRect.size() - screenNumber->boundingRect().size()) / 2;
+ screenNumber->setPos(center.width(), center.height());
+
+ screen->show();
+ screen->setZValue(1);
+ }
+
+ if (isVirtualDesktop) {
+ QGraphicsRectItem *virtualDesktop = new QGraphicsRectItem;
+ virtualDesktop->setRect(sceneRect);
+ virtualDesktop->setPen(QPen(Qt::black));
+ virtualDesktop->setBrush(Qt::DiagCrossPattern);
+ scene->addItem(virtualDesktop);
+ virtualDesktop->setZValue(-1);
+ virtualDesktop->show();
+ }
+
+ that = new QGraphicsRectItem;
+ that->setBrush(Qt::red);
+ that->setOpacity(0.5);
+ that->setZValue(2);
+ that->setRect(appRect());
+ that->show();
+ scene->addItem(that);
+
+ scene->setSceneRect(sceneRect);
+ scene->update();
+ }
+
+ QRect appRect() const
+ {
+ QRect rect = frameGeometry();
+ if (!QApplication::desktop()->isVirtualDesktop()) {
+ rect.translate(thatRoot);
+ }
+ return rect;
+ }
+
+private:
+ QGraphicsScene *scene;
+ QGraphicsRectItem *that;
+ QPoint thatRoot;
+};
+
+#include "main.moc"
+
+int main(int argc, char **argv)
+{
+ QApplication app(argc, argv);
+
+ DesktopView view;
+ view.show();
+
+ return app.exec();
+}
diff --git a/tests/manual/qdesktopwidget/qdesktopwidget.pro b/tests/manual/qdesktopwidget/qdesktopwidget.pro
new file mode 100644
index 0000000..93d56eb
--- /dev/null
+++ b/tests/manual/qdesktopwidget/qdesktopwidget.pro
@@ -0,0 +1,2 @@
+TEMPLATE = app
+SOURCES += main.cpp
diff --git a/tests/manual/windowflags/controllerwindow.cpp b/tests/manual/windowflags/controllerwindow.cpp
new file mode 100644
index 0000000..055ff40
--- /dev/null
+++ b/tests/manual/windowflags/controllerwindow.cpp
@@ -0,0 +1,263 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QtGui>
+
+#include "controllerwindow.h"
+
+//! [0]
+ControllerWindow::ControllerWindow()
+{
+ parentWindow = new QMainWindow;
+ parentWindow->setWindowTitle(tr("Preview parent window"));
+ QLabel *label = new QLabel(tr("Parent window"));
+ parentWindow->setCentralWidget(label);
+
+ previewWindow = new PreviewWindow;
+ previewDialog = new PreviewDialog;
+
+ createTypeGroupBox();
+ createHintsGroupBox();
+
+ quitButton = new QPushButton(tr("&Quit"));
+ connect(quitButton, SIGNAL(clicked()), qApp, SLOT(quit()));
+
+ QHBoxLayout *bottomLayout = new QHBoxLayout;
+ bottomLayout->addStretch();
+ bottomLayout->addWidget(quitButton);
+
+ QVBoxLayout *mainLayout = new QVBoxLayout;
+ mainLayout->addWidget(widgetTypeGroupBox);
+ mainLayout->addWidget(additionalOptionsGroupBox);
+ mainLayout->addWidget(typeGroupBox);
+ mainLayout->addWidget(hintsGroupBox);
+ mainLayout->addLayout(bottomLayout);
+ setLayout(mainLayout);
+
+ setWindowTitle(tr("Window Flags"));
+ updatePreview();
+}
+
+void ControllerWindow::updatePreview()
+{
+ Qt::WindowFlags flags = 0;
+
+ if (windowRadioButton->isChecked()) {
+ flags = Qt::Window;
+ } else if (dialogRadioButton->isChecked()) {
+ flags = Qt::Dialog;
+ } else if (sheetRadioButton->isChecked()) {
+ flags = Qt::Sheet;
+ } else if (drawerRadioButton->isChecked()) {
+ flags = Qt::Drawer;
+ } else if (popupRadioButton->isChecked()) {
+ flags = Qt::Popup;
+ } else if (toolRadioButton->isChecked()) {
+ flags = Qt::Tool;
+ } else if (toolTipRadioButton->isChecked()) {
+ flags = Qt::ToolTip;
+ } else if (splashScreenRadioButton->isChecked()) {
+ flags = Qt::SplashScreen;
+ }
+
+ if (msWindowsFixedSizeDialogCheckBox->isChecked())
+ flags |= Qt::MSWindowsFixedSizeDialogHint;
+ if (x11BypassWindowManagerCheckBox->isChecked())
+ flags |= Qt::X11BypassWindowManagerHint;
+ if (framelessWindowCheckBox->isChecked())
+ flags |= Qt::FramelessWindowHint;
+ if (windowTitleCheckBox->isChecked())
+ flags |= Qt::WindowTitleHint;
+ if (windowSystemMenuCheckBox->isChecked())
+ flags |= Qt::WindowSystemMenuHint;
+ if (windowMinimizeButtonCheckBox->isChecked())
+ flags |= Qt::WindowMinimizeButtonHint;
+ if (windowMaximizeButtonCheckBox->isChecked())
+ flags |= Qt::WindowMaximizeButtonHint;
+ if (windowCloseButtonCheckBox->isChecked())
+ flags |= Qt::WindowCloseButtonHint;
+ if (windowContextHelpButtonCheckBox->isChecked())
+ flags |= Qt::WindowContextHelpButtonHint;
+ if (windowShadeButtonCheckBox->isChecked())
+ flags |= Qt::WindowShadeButtonHint;
+ if (windowStaysOnTopCheckBox->isChecked())
+ flags |= Qt::WindowStaysOnTopHint;
+ if (windowStaysOnBottomCheckBox->isChecked())
+ flags |= Qt::WindowStaysOnBottomHint;
+ if (customizeWindowHintCheckBox->isChecked())
+ flags |= Qt::CustomizeWindowHint;
+
+ previewWindow->hide();
+ previewDialog->hide();
+ QWidget *widget = 0;
+ if (previewWidgetButton->isChecked())
+ widget = previewWindow;
+ else
+ widget = previewDialog;
+
+ if (modalWindowCheckBox->isChecked()) {
+ parentWindow->show();
+ widget->setWindowModality(Qt::WindowModal);
+ widget->setParent(parentWindow);
+ } else {
+ widget->setWindowModality(Qt::NonModal);
+ widget->setParent(0);
+ parentWindow->hide();
+ }
+
+ widget->setWindowFlags(flags);
+
+ if (fixedSizeWindowCheckBox->isChecked()) {
+ widget->setFixedSize(300, 300);
+ } else {
+ widget->setFixedSize(QWIDGETSIZE_MAX, QWIDGETSIZE_MAX);
+ }
+
+ QPoint pos = widget->pos();
+ if (pos.x() < 0)
+ pos.setX(0);
+ if (pos.y() < 0)
+ pos.setY(0);
+ widget->move(pos);
+ widget->show();
+}
+
+void ControllerWindow::createTypeGroupBox()
+{
+ widgetTypeGroupBox = new QGroupBox(tr("Widget Type"));
+ previewWidgetButton = createRadioButton(tr("QWidget"));
+ previewWidgetButton->setChecked(true);
+ previewDialogButton = createRadioButton(tr("QDialog"));
+ QHBoxLayout *l = new QHBoxLayout;
+ l->addWidget(previewWidgetButton);
+ l->addWidget(previewDialogButton);
+ widgetTypeGroupBox->setLayout(l);
+
+ additionalOptionsGroupBox = new QGroupBox(tr("Additional options"));
+ l = new QHBoxLayout;
+ modalWindowCheckBox = createCheckBox(tr("Modal window"));
+ fixedSizeWindowCheckBox = createCheckBox(tr("Fixed size window"));
+ l->addWidget(modalWindowCheckBox);
+ l->addWidget(fixedSizeWindowCheckBox);
+ additionalOptionsGroupBox->setLayout(l);
+
+ typeGroupBox = new QGroupBox(tr("Type"));
+
+ windowRadioButton = createRadioButton(tr("Window"));
+ dialogRadioButton = createRadioButton(tr("Dialog"));
+ sheetRadioButton = createRadioButton(tr("Sheet"));
+ drawerRadioButton = createRadioButton(tr("Drawer"));
+ popupRadioButton = createRadioButton(tr("Popup"));
+ toolRadioButton = createRadioButton(tr("Tool"));
+ toolTipRadioButton = createRadioButton(tr("Tooltip"));
+ splashScreenRadioButton = createRadioButton(tr("Splash screen"));
+ windowRadioButton->setChecked(true);
+
+ QGridLayout *layout = new QGridLayout;
+ layout->addWidget(windowRadioButton, 0, 0);
+ layout->addWidget(dialogRadioButton, 1, 0);
+ layout->addWidget(sheetRadioButton, 2, 0);
+ layout->addWidget(drawerRadioButton, 3, 0);
+ layout->addWidget(popupRadioButton, 0, 1);
+ layout->addWidget(toolRadioButton, 1, 1);
+ layout->addWidget(toolTipRadioButton, 2, 1);
+ layout->addWidget(splashScreenRadioButton, 3, 1);
+ typeGroupBox->setLayout(layout);
+}
+//! [5]
+
+//! [6]
+void ControllerWindow::createHintsGroupBox()
+{
+ hintsGroupBox = new QGroupBox(tr("Hints"));
+
+ msWindowsFixedSizeDialogCheckBox =
+ createCheckBox(tr("MS Windows fixed size dialog"));
+ x11BypassWindowManagerCheckBox =
+ createCheckBox(tr("X11 bypass window manager"));
+ framelessWindowCheckBox = createCheckBox(tr("Frameless window"));
+ windowTitleCheckBox = createCheckBox(tr("Window title"));
+ windowSystemMenuCheckBox = createCheckBox(tr("Window system menu"));
+ windowMinimizeButtonCheckBox = createCheckBox(tr("Window minimize button"));
+ windowMaximizeButtonCheckBox = createCheckBox(tr("Window maximize button"));
+ windowCloseButtonCheckBox = createCheckBox(tr("Window close button"));
+ windowContextHelpButtonCheckBox =
+ createCheckBox(tr("Window context help button"));
+ windowShadeButtonCheckBox = createCheckBox(tr("Window shade button"));
+ windowStaysOnTopCheckBox = createCheckBox(tr("Window stays on top"));
+ windowStaysOnBottomCheckBox = createCheckBox(tr("Window stays on bottom"));
+ customizeWindowHintCheckBox= createCheckBox(tr("Customize window"));
+
+ QGridLayout *layout = new QGridLayout;
+ layout->addWidget(msWindowsFixedSizeDialogCheckBox, 0, 0);
+ layout->addWidget(x11BypassWindowManagerCheckBox, 1, 0);
+ layout->addWidget(framelessWindowCheckBox, 2, 0);
+ layout->addWidget(windowTitleCheckBox, 3, 0);
+ layout->addWidget(windowSystemMenuCheckBox, 4, 0);
+ layout->addWidget(windowMinimizeButtonCheckBox, 0, 1);
+ layout->addWidget(windowMaximizeButtonCheckBox, 1, 1);
+ layout->addWidget(windowCloseButtonCheckBox, 2, 1);
+ layout->addWidget(windowContextHelpButtonCheckBox, 3, 1);
+ layout->addWidget(windowShadeButtonCheckBox, 4, 1);
+ layout->addWidget(windowStaysOnTopCheckBox, 5, 1);
+ layout->addWidget(windowStaysOnBottomCheckBox, 6, 1);
+ layout->addWidget(customizeWindowHintCheckBox, 5, 0);
+ hintsGroupBox->setLayout(layout);
+}
+//! [6]
+
+//! [7]
+QCheckBox *ControllerWindow::createCheckBox(const QString &text)
+{
+ QCheckBox *checkBox = new QCheckBox(text);
+ connect(checkBox, SIGNAL(clicked()), this, SLOT(updatePreview()));
+ return checkBox;
+}
+//! [7]
+
+//! [8]
+QRadioButton *ControllerWindow::createRadioButton(const QString &text)
+{
+ QRadioButton *button = new QRadioButton(text);
+ connect(button, SIGNAL(clicked()), this, SLOT(updatePreview()));
+ return button;
+}
+//! [8]
diff --git a/tests/manual/windowflags/controllerwindow.h b/tests/manual/windowflags/controllerwindow.h
new file mode 100644
index 0000000..3d315be
--- /dev/null
+++ b/tests/manual/windowflags/controllerwindow.h
@@ -0,0 +1,115 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef CONTROLLERWINDOW_H
+#define CONTROLLERWINDOW_H
+
+#include <QWidget>
+
+#include "previewwindow.h"
+
+QT_BEGIN_NAMESPACE
+class QCheckBox;
+class QGroupBox;
+class QLabel;
+class QPushButton;
+class QRadioButton;
+class QMainWindow;
+QT_END_NAMESPACE
+
+//! [0]
+class ControllerWindow : public QWidget
+{
+ Q_OBJECT
+
+public:
+ ControllerWindow();
+
+private slots:
+ void updatePreview();
+
+private:
+ void createTypeGroupBox();
+ void createHintsGroupBox();
+ QCheckBox *createCheckBox(const QString &text);
+ QRadioButton *createRadioButton(const QString &text);
+
+ QMainWindow *parentWindow;
+ PreviewWindow *previewWindow;
+ PreviewDialog *previewDialog;
+
+ QGroupBox *widgetTypeGroupBox;
+ QGroupBox *additionalOptionsGroupBox;
+ QGroupBox *typeGroupBox;
+ QGroupBox *hintsGroupBox;
+ QPushButton *quitButton;
+
+ QRadioButton *previewWidgetButton;
+ QRadioButton *previewDialogButton;
+ QCheckBox *modalWindowCheckBox;
+ QCheckBox *fixedSizeWindowCheckBox;
+
+ QRadioButton *windowRadioButton;
+ QRadioButton *dialogRadioButton;
+ QRadioButton *sheetRadioButton;
+ QRadioButton *drawerRadioButton;
+ QRadioButton *popupRadioButton;
+ QRadioButton *toolRadioButton;
+ QRadioButton *toolTipRadioButton;
+ QRadioButton *splashScreenRadioButton;
+
+ QCheckBox *msWindowsFixedSizeDialogCheckBox;
+ QCheckBox *x11BypassWindowManagerCheckBox;
+ QCheckBox *framelessWindowCheckBox;
+ QCheckBox *windowTitleCheckBox;
+ QCheckBox *windowSystemMenuCheckBox;
+ QCheckBox *windowMinimizeButtonCheckBox;
+ QCheckBox *windowMaximizeButtonCheckBox;
+ QCheckBox *windowCloseButtonCheckBox;
+ QCheckBox *windowContextHelpButtonCheckBox;
+ QCheckBox *windowShadeButtonCheckBox;
+ QCheckBox *windowStaysOnTopCheckBox;
+ QCheckBox *windowStaysOnBottomCheckBox;
+ QCheckBox *customizeWindowHintCheckBox;
+};
+//! [0]
+
+#endif
diff --git a/tests/manual/windowflags/main.cpp b/tests/manual/windowflags/main.cpp
new file mode 100644
index 0000000..011ca3f
--- /dev/null
+++ b/tests/manual/windowflags/main.cpp
@@ -0,0 +1,52 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QApplication>
+
+#include "controllerwindow.h"
+
+int main(int argc, char *argv[])
+{
+ QApplication app(argc, argv);
+ ControllerWindow controller;
+ controller.show();
+ return app.exec();
+}
diff --git a/tests/manual/windowflags/previewwindow.cpp b/tests/manual/windowflags/previewwindow.cpp
new file mode 100644
index 0000000..796bdb9
--- /dev/null
+++ b/tests/manual/windowflags/previewwindow.cpp
@@ -0,0 +1,146 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QtGui>
+
+#include "previewwindow.h"
+
+static QString windowFlagsToString(Qt::WindowFlags flags)
+{
+ QString text;
+
+ Qt::WindowFlags type = (flags & Qt::WindowType_Mask);
+ if (type == Qt::Window) {
+ text = "Qt::Window";
+ } else if (type == Qt::Dialog) {
+ text = "Qt::Dialog";
+ } else if (type == Qt::Sheet) {
+ text = "Qt::Sheet";
+ } else if (type == Qt::Drawer) {
+ text = "Qt::Drawer";
+ } else if (type == Qt::Popup) {
+ text = "Qt::Popup";
+ } else if (type == Qt::Tool) {
+ text = "Qt::Tool";
+ } else if (type == Qt::ToolTip) {
+ text = "Qt::ToolTip";
+ } else if (type == Qt::SplashScreen) {
+ text = "Qt::SplashScreen";
+ }
+
+ if (flags & Qt::MSWindowsFixedSizeDialogHint)
+ text += "\n| Qt::MSWindowsFixedSizeDialogHint";
+ if (flags & Qt::X11BypassWindowManagerHint)
+ text += "\n| Qt::X11BypassWindowManagerHint";
+ if (flags & Qt::FramelessWindowHint)
+ text += "\n| Qt::FramelessWindowHint";
+ if (flags & Qt::WindowTitleHint)
+ text += "\n| Qt::WindowTitleHint";
+ if (flags & Qt::WindowSystemMenuHint)
+ text += "\n| Qt::WindowSystemMenuHint";
+ if (flags & Qt::WindowMinimizeButtonHint)
+ text += "\n| Qt::WindowMinimizeButtonHint";
+ if (flags & Qt::WindowMaximizeButtonHint)
+ text += "\n| Qt::WindowMaximizeButtonHint";
+ if (flags & Qt::WindowCloseButtonHint)
+ text += "\n| Qt::WindowCloseButtonHint";
+ if (flags & Qt::WindowContextHelpButtonHint)
+ text += "\n| Qt::WindowContextHelpButtonHint";
+ if (flags & Qt::WindowShadeButtonHint)
+ text += "\n| Qt::WindowShadeButtonHint";
+ if (flags & Qt::WindowStaysOnTopHint)
+ text += "\n| Qt::WindowStaysOnTopHint";
+ if (flags & Qt::CustomizeWindowHint)
+ text += "\n| Qt::CustomizeWindowHint";
+ return text;
+}
+
+PreviewWindow::PreviewWindow(QWidget *parent)
+ : QWidget(parent)
+{
+ textEdit = new QTextEdit;
+ textEdit->setReadOnly(true);
+ textEdit->setLineWrapMode(QTextEdit::NoWrap);
+
+ closeButton = new QPushButton(tr("&Close"));
+ connect(closeButton, SIGNAL(clicked()), this, SLOT(close()));
+
+ QVBoxLayout *layout = new QVBoxLayout;
+ layout->addWidget(textEdit);
+ layout->addWidget(closeButton);
+ setLayout(layout);
+
+ setWindowTitle(tr("Preview <QWidget>"));
+}
+
+void PreviewWindow::setWindowFlags(Qt::WindowFlags flags)
+{
+ QWidget::setWindowFlags(flags);
+
+ QString text = windowFlagsToString(flags);
+ textEdit->setPlainText(text);
+}
+
+PreviewDialog::PreviewDialog(QWidget *parent)
+ : QDialog(parent)
+{
+ textEdit = new QTextEdit;
+ textEdit->setReadOnly(true);
+ textEdit->setLineWrapMode(QTextEdit::NoWrap);
+
+ closeButton = new QPushButton(tr("&Close"));
+ connect(closeButton, SIGNAL(clicked()), this, SLOT(close()));
+
+ QVBoxLayout *layout = new QVBoxLayout;
+ layout->addWidget(textEdit);
+ layout->addWidget(closeButton);
+ setLayout(layout);
+
+ setWindowTitle(tr("Preview <QDialog>"));
+}
+
+void PreviewDialog::setWindowFlags(Qt::WindowFlags flags)
+{
+ QWidget::setWindowFlags(flags);
+
+ QString text = windowFlagsToString(flags);
+ textEdit->setPlainText(text);
+}
diff --git a/tests/manual/windowflags/previewwindow.h b/tests/manual/windowflags/previewwindow.h
new file mode 100644
index 0000000..90ed8ba
--- /dev/null
+++ b/tests/manual/windowflags/previewwindow.h
@@ -0,0 +1,81 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef PREVIEWWINDOW_H
+#define PREVIEWWINDOW_H
+
+#include <QWidget>
+#include <QDialog>
+
+QT_BEGIN_NAMESPACE
+class QPushButton;
+class QTextEdit;
+QT_END_NAMESPACE
+
+class PreviewWindow : public QWidget
+{
+ Q_OBJECT
+
+public:
+ PreviewWindow(QWidget *parent = 0);
+
+ void setWindowFlags(Qt::WindowFlags flags);
+
+private:
+ QTextEdit *textEdit;
+ QPushButton *closeButton;
+};
+
+class PreviewDialog : public QDialog
+{
+ Q_OBJECT
+
+public:
+ PreviewDialog(QWidget *parent = 0);
+
+ void setWindowFlags(Qt::WindowFlags flags);
+
+private:
+ QTextEdit *textEdit;
+ QPushButton *closeButton;
+};
+
+#endif
diff --git a/tests/manual/windowflags/windowflags.pro b/tests/manual/windowflags/windowflags.pro
new file mode 100644
index 0000000..1b45d0d
--- /dev/null
+++ b/tests/manual/windowflags/windowflags.pro
@@ -0,0 +1,5 @@
+HEADERS = controllerwindow.h \
+ previewwindow.h
+SOURCES = controllerwindow.cpp \
+ previewwindow.cpp \
+ main.cpp
diff --git a/tools/activeqt/dumpcpp/main.cpp b/tools/activeqt/dumpcpp/main.cpp
index 0a4aa06..de3ec57 100644
--- a/tools/activeqt/dumpcpp/main.cpp
+++ b/tools/activeqt/dumpcpp/main.cpp
@@ -969,7 +969,7 @@ bool generateTypeLibrary(const QByteArray &typeLib, const QByteArray &outname, O
QString libName;
BSTR nameString;
typelib->GetDocumentation(-1, &nameString, 0, 0, 0);
- libName = QString::fromUtf16((const ushort *)nameString);
+ libName = QString::fromWCharArray(nameString);
SysFreeString(nameString);
if (!nameSpace.isEmpty())
libName = QString(nameSpace);
@@ -1086,7 +1086,7 @@ bool generateTypeLibrary(const QByteArray &typeLib, const QByteArray &outname, O
BSTR bstr;
if (S_OK != typeinfo->GetDocumentation(-1, &bstr, 0, 0, 0))
break;
- className = QString::fromUtf16((const ushort *)bstr).toLatin1();
+ className = QString::fromWCharArray(bstr).toLatin1();
SysFreeString(bstr);
switch (typekind) {
case TKIND_RECORD:
@@ -1227,7 +1227,7 @@ bool generateTypeLibrary(const QByteArray &typeLib, const QByteArray &outname, O
BSTR bstr;
if (S_OK != typeinfo->GetDocumentation(-1, &bstr, 0, 0, 0))
break;
- className = QString::fromUtf16((const ushort *)bstr).toLatin1();
+ className = QString::fromWCharArray(bstr).toLatin1();
SysFreeString(bstr);
declOut << "// stub for vtable-only interface" << endl;
diff --git a/tools/assistant/lib/lib.pro b/tools/assistant/lib/lib.pro
index bd9ed53..5d6d436 100644
--- a/tools/assistant/lib/lib.pro
+++ b/tools/assistant/lib/lib.pro
@@ -1,65 +1,71 @@
-QT += sql xml network
+QT += sql \
+ xml \
+ network
TEMPLATE = lib
TARGET = QtHelp
-DEFINES += QHELP_LIB QT_CLUCENE_SUPPORT
-CONFIG += qt warn_on
-
+DEFINES += QHELP_LIB \
+ QT_CLUCENE_SUPPORT
+CONFIG += qt \
+ warn_on
include(../../../src/qbase.pri)
-
QMAKE_TARGET_PRODUCT = Help
-QMAKE_TARGET_DESCRIPTION = Help application framework.
+QMAKE_TARGET_DESCRIPTION = Help \
+ application \
+ framework.
DEFINES -= QT_ASCII_CAST_WARNINGS
-
qclucene = QtCLucene$${QT_LIBINFIX}
-if(!debug_and_release|build_pass):CONFIG(debug, debug|release) {
+if(!debug_and_release|build_pass):CONFIG(debug, debug|release) {
mac:qclucene = $${qclucene}_debug
win32:qclucene = $${qclucene}d
}
linux-lsb-g++:LIBS += --lsb-shared-libs=$$qclucene
-unix:QMAKE_PKGCONFIG_REQUIRES += QtNetwork QtSql QtXml
+unix:QMAKE_PKGCONFIG_REQUIRES += QtNetwork \
+ QtSql \
+ QtXml
LIBS += -l$$qclucene
-unix:QMAKE_PKGCONFIG_REQUIRES += QtNetwork QtSql QtXml
-
+unix:QMAKE_PKGCONFIG_REQUIRES += QtNetwork \
+ QtSql \
+ QtXml
RESOURCES += helpsystem.qrc
-
SOURCES += qhelpenginecore.cpp \
- qhelpengine.cpp \
- qhelpdbreader.cpp \
- qhelpcontentwidget.cpp \
- qhelpindexwidget.cpp \
- qhelpgenerator.cpp \
- qhelpdatainterface.cpp \
- qhelpprojectdata.cpp \
- qhelpcollectionhandler.cpp \
- qhelpsearchengine.cpp \
- qhelpsearchquerywidget.cpp \
- qhelpsearchresultwidget.cpp \
- qhelpsearchindex_default.cpp \
- qhelpsearchindexwriter_default.cpp \
- qhelpsearchindexreader_default.cpp
+ qhelpengine.cpp \
+ qhelpdbreader.cpp \
+ qhelpcontentwidget.cpp \
+ qhelpindexwidget.cpp \
+ qhelpgenerator.cpp \
+ qhelpdatainterface.cpp \
+ qhelpprojectdata.cpp \
+ qhelpcollectionhandler.cpp \
+ qhelpsearchengine.cpp \
+ qhelpsearchquerywidget.cpp \
+ qhelpsearchresultwidget.cpp \
+ qhelpsearchindex_default.cpp \
+ qhelpsearchindexwriter_default.cpp \
+ qhelpsearchindexreader_default.cpp \
+ qhelpsearchindexreader.cpp
# access to clucene
SOURCES += qhelpsearchindexwriter_clucene.cpp \
- qhelpsearchindexreader_clucene.cpp
-
+ qhelpsearchindexreader_clucene.cpp
HEADERS += qhelpenginecore.h \
- qhelpengine.h \
- qhelpengine_p.h \
- qhelp_global.h \
- qhelpdbreader_p.h \
- qhelpcontentwidget.h \
- qhelpindexwidget.h \
- qhelpgenerator_p.h \
- qhelpdatainterface_p.h \
- qhelpprojectdata_p.h \
- qhelpcollectionhandler_p.h \
- qhelpsearchengine.h \
- qhelpsearchquerywidget.h \
- qhelpsearchresultwidget.h \
- qhelpsearchindex_default_p.h \
- qhelpsearchindexwriter_default_p.h \
- qhelpsearchindexreader_default_p.h
+ qhelpengine.h \
+ qhelpengine_p.h \
+ qhelp_global.h \
+ qhelpdbreader_p.h \
+ qhelpcontentwidget.h \
+ qhelpindexwidget.h \
+ qhelpgenerator_p.h \
+ qhelpdatainterface_p.h \
+ qhelpprojectdata_p.h \
+ qhelpcollectionhandler_p.h \
+ qhelpsearchengine.h \
+ qhelpsearchquerywidget.h \
+ qhelpsearchresultwidget.h \
+ qhelpsearchindex_default_p.h \
+ qhelpsearchindexwriter_default_p.h \
+ qhelpsearchindexreader_default_p.h \
+ qhelpsearchindexreader_p.h
# access to clucene
HEADERS += qhelpsearchindexwriter_clucene_p.h \
- qhelpsearchindexreader_clucene_p.h
+ qhelpsearchindexreader_clucene_p.h
diff --git a/tools/assistant/lib/qhelpprojectdata.cpp b/tools/assistant/lib/qhelpprojectdata.cpp
index 8947a36..9412f1c 100644
--- a/tools/assistant/lib/qhelpprojectdata.cpp
+++ b/tools/assistant/lib/qhelpprojectdata.cpp
@@ -41,9 +41,11 @@
#include "qhelpprojectdata_p.h"
+#include <QtCore/QDir>
#include <QtCore/QFileInfo>
#include <QtCore/QStack>
#include <QtCore/QMap>
+#include <QtCore/QRegExp>
#include <QtCore/QVariant>
#include <QtXml/QXmlStreamReader>
@@ -73,6 +75,9 @@ private:
void readKeywords();
void readFiles();
void raiseUnknownTokenError();
+ void addMatchingFiles(const QString &pattern);
+
+ QMap<QString, QStringList> dirEntriesCache;
};
void QHelpProjectDataPrivate::raiseUnknownTokenError()
@@ -161,7 +166,7 @@ void QHelpProjectDataPrivate::readFilterSection()
readNext();
if (isStartElement()) {
if (name() == QLatin1String("filterAttribute"))
- filterSectionList.last().addFilterAttribute(readElementText());
+ filterSectionList.last().addFilterAttribute(readElementText());
else if (name() == QLatin1String("toc"))
readTOC();
else if (name() == QLatin1String("keywords"))
@@ -244,7 +249,7 @@ void QHelpProjectDataPrivate::readFiles()
readNext();
if (isStartElement()) {
if (name() == QLatin1String("file"))
- filterSectionList.last().addFile(readElementText());
+ addMatchingFiles(readElementText());
else
raiseUnknownTokenError();
} else if (isEndElement()) {
@@ -258,7 +263,47 @@ void QHelpProjectDataPrivate::readFiles()
}
}
+// Expand file pattern and add matches into list. If the pattern does not match
+// any files, insert the pattern itself so the QHelpGenerator will emit a
+// meaningful warning later.
+void QHelpProjectDataPrivate::addMatchingFiles(const QString &pattern)
+{
+ // The pattern matching is expensive, so we skip it if no
+ // wildcard symbols occur in the string.
+ if (!pattern.contains('?') && !pattern.contains('*')
+ && !pattern.contains('[') && !pattern.contains(']')) {
+ filterSectionList.last().addFile(pattern);
+ return;
+ }
+ QFileInfo fileInfo(rootPath + '/' + pattern);
+ const QDir &dir = fileInfo.dir();
+ const QString &path = dir.canonicalPath();
+
+ // QDir::entryList() is expensive, so we cache the results.
+ QMap<QString, QStringList>::ConstIterator it = dirEntriesCache.find(path);
+ const QStringList &entries = it != dirEntriesCache.constEnd() ?
+ it.value() : dir.entryList(QDir::Files);
+ if (it == dirEntriesCache.constEnd())
+ dirEntriesCache.insert(path, entries);
+
+ bool matchFound = false;
+#ifdef Q_OS_WIN
+ Qt::CaseSensitivity cs = Qt::CaseInsensitive;
+#else
+ Qt::CaseSensitivity cs = Qt::CaseSensitive;
+#endif
+ QRegExp regExp(fileInfo.fileName(), cs, QRegExp::Wildcard);
+ foreach (const QString &file, entries) {
+ if (regExp.exactMatch(file)) {
+ matchFound = true;
+ filterSectionList.last().
+ addFile(QFileInfo(pattern).dir().path() + '/' + file);
+ }
+ }
+ if (!matchFound)
+ filterSectionList.last().addFile(pattern);
+}
/*!
\internal
diff --git a/tools/assistant/lib/qhelpsearchengine.cpp b/tools/assistant/lib/qhelpsearchengine.cpp
index 2a41d04..94c5f7e 100644
--- a/tools/assistant/lib/qhelpsearchengine.cpp
+++ b/tools/assistant/lib/qhelpsearchengine.cpp
@@ -44,6 +44,7 @@
#include "qhelpsearchquerywidget.h"
#include "qhelpsearchresultwidget.h"
+#include "qhelpsearchindexreader_p.h"
#if defined(QT_CLUCENE_SUPPORT)
# include "qhelpsearchindexreader_clucene_p.h"
# include "qhelpsearchindexwriter_clucene_p.h"
@@ -147,8 +148,11 @@ private:
return;
if (!indexReader) {
- indexReader = new QHelpSearchIndexReader();
-
+#if defined(QT_CLUCENE_SUPPORT)
+ indexReader = new QHelpSearchIndexReaderClucene();
+#else
+ indexReader = new QHelpSearchIndexReaderDefault();
+#endif // QT_CLUCENE_SUPPORT
connect(indexReader, SIGNAL(searchingStarted()), this, SIGNAL(searchingStarted()));
connect(indexReader, SIGNAL(searchingFinished(int)), this, SIGNAL(searchingFinished(int)));
}
@@ -181,7 +185,7 @@ private slots:
{
#if defined(QT_CLUCENE_SUPPORT)
if (indexWriter && !helpEngine.isNull()) {
- indexWriter->optimizeIndex();
+ indexWriter->optimizeIndex();
}
#endif
}
@@ -192,7 +196,7 @@ private:
QHelpSearchQueryWidget *queryWidget;
QHelpSearchResultWidget *resultWidget;
- QHelpSearchIndexReader *indexReader;
+ qt::fulltextsearch::QHelpSearchIndexReader *indexReader;
QHelpSearchIndexWriter *indexWriter;
QPointer<QHelpEngineCore> helpEngine;
@@ -321,7 +325,7 @@ QHelpSearchEngine::QHelpSearchEngine(QHelpEngineCore *helpEngine, QObject *paren
: QObject(parent)
{
d = new QHelpSearchEnginePrivate(helpEngine);
-
+
connect(helpEngine, SIGNAL(setupFinished()), this, SLOT(indexDocumentation()));
connect(d, SIGNAL(indexingStarted()), this, SIGNAL(indexingStarted()));
diff --git a/tools/assistant/lib/qhelpsearchindexreader.cpp b/tools/assistant/lib/qhelpsearchindexreader.cpp
new file mode 100644
index 0000000..a0fcbe5
--- /dev/null
+++ b/tools/assistant/lib/qhelpsearchindexreader.cpp
@@ -0,0 +1,106 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the Qt Assistant of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "qhelpsearchindexreader_p.h"
+
+QT_BEGIN_NAMESPACE
+
+namespace qt {
+ namespace fulltextsearch {
+
+QHelpSearchIndexReader::QHelpSearchIndexReader()
+ : QThread()
+ , m_cancel(false)
+{
+ // nothing todo
+}
+
+QHelpSearchIndexReader::~QHelpSearchIndexReader()
+{
+ mutex.lock();
+ this->m_cancel = true;
+ mutex.unlock();
+
+ wait();
+}
+
+void QHelpSearchIndexReader::cancelSearching()
+{
+ mutex.lock();
+ this->m_cancel = true;
+ mutex.unlock();
+}
+
+void QHelpSearchIndexReader::search(const QString &collectionFile, const QString &indexFilesFolder,
+ const QList<QHelpSearchQuery> &queryList)
+{
+ wait();
+
+ this->hitList.clear();
+ this->m_cancel = false;
+ this->m_query = queryList;
+ this->m_collectionFile = collectionFile;
+ this->m_indexFilesFolder = indexFilesFolder;
+
+ start(QThread::NormalPriority);
+}
+
+int QHelpSearchIndexReader::hitsCount() const
+{
+ QMutexLocker lock(&mutex);
+ return hitList.count();
+}
+
+QList<QHelpSearchEngine::SearchHit> QHelpSearchIndexReader::hits(int start,
+ int end) const
+{
+ QList<QHelpSearchEngine::SearchHit> hits;
+ QMutexLocker lock(&mutex);
+ for (int i = start; i < end && i < hitList.count(); ++i)
+ hits.append(hitList.at(i));
+ return hits;
+}
+
+
+ } // namespace fulltextsearch
+} // namespace qt
+
+QT_END_NAMESPACE
diff --git a/tools/assistant/lib/qhelpsearchindexreader_clucene.cpp b/tools/assistant/lib/qhelpsearchindexreader_clucene.cpp
index 89d6040..b417078 100644
--- a/tools/assistant/lib/qhelpsearchindexreader_clucene.cpp
+++ b/tools/assistant/lib/qhelpsearchindexreader_clucene.cpp
@@ -59,60 +59,18 @@ namespace qt {
namespace fulltextsearch {
namespace clucene {
-QHelpSearchIndexReader::QHelpSearchIndexReader()
- : QThread()
- , m_cancel(false)
+QHelpSearchIndexReaderClucene::QHelpSearchIndexReaderClucene()
+ : QHelpSearchIndexReader()
{
// nothing todo
}
-QHelpSearchIndexReader::~QHelpSearchIndexReader()
+QHelpSearchIndexReaderClucene::~QHelpSearchIndexReaderClucene()
{
- mutex.lock();
- this->m_cancel = true;
- mutex.unlock();
-
- wait();
}
-void QHelpSearchIndexReader::cancelSearching()
-{
- mutex.lock();
- this->m_cancel = true;
- mutex.unlock();
-}
-void QHelpSearchIndexReader::search(const QString &collectionFile, const QString &indexFilesFolder,
- const QList<QHelpSearchQuery> &queryList)
-{
- wait();
-
- this->hitList.clear();
- this->m_cancel = false;
- this->m_query = queryList;
- this->m_collectionFile = collectionFile;
- this->m_indexFilesFolder = indexFilesFolder;
-
- start(QThread::NormalPriority);
-}
-
-int QHelpSearchIndexReader::hitsCount() const
-{
- QMutexLocker lock(&mutex);
- return hitList.count();
-}
-
-QList<QHelpSearchEngine::SearchHit> QHelpSearchIndexReader::hits(int start,
- int end) const
-{
- QList<QHelpSearchEngine::SearchHit> hits;
- QMutexLocker lock(&mutex);
- for (int i = start; i < end && i < hitList.count(); ++i)
- hits.append(hitList.at(i));
- return hits;
-}
-
-void QHelpSearchIndexReader::run()
+void QHelpSearchIndexReaderClucene::run()
{
mutex.lock();
@@ -140,7 +98,7 @@ void QHelpSearchIndexReader::run()
if(QCLuceneIndexReader::indexExists(indexPath)) {
mutex.lock();
if (m_cancel) {
- mutex.unlock();
+ mutex.unlock();
return;
}
mutex.unlock();
@@ -227,7 +185,7 @@ void QHelpSearchIndexReader::run()
}
}
-bool QHelpSearchIndexReader::defaultQuery(const QString &term, QCLuceneBooleanQuery &booleanQuery,
+bool QHelpSearchIndexReaderClucene::defaultQuery(const QString &term, QCLuceneBooleanQuery &booleanQuery,
QCLuceneStandardAnalyzer &analyzer)
{
const QLatin1String c("content");
@@ -244,7 +202,7 @@ bool QHelpSearchIndexReader::defaultQuery(const QString &term, QCLuceneBooleanQu
return false;
}
-bool QHelpSearchIndexReader::buildQuery(QCLuceneBooleanQuery &booleanQuery,
+bool QHelpSearchIndexReaderClucene::buildQuery(QCLuceneBooleanQuery &booleanQuery,
const QList<QHelpSearchQuery> &queryList, QCLuceneStandardAnalyzer &analyzer)
{
foreach (const QHelpSearchQuery query, queryList) {
@@ -344,7 +302,7 @@ bool QHelpSearchIndexReader::buildQuery(QCLuceneBooleanQuery &booleanQuery,
return true;
}
-bool QHelpSearchIndexReader::buildTryHarderQuery(QCLuceneBooleanQuery &booleanQuery,
+bool QHelpSearchIndexReaderClucene::buildTryHarderQuery(QCLuceneBooleanQuery &booleanQuery,
const QList<QHelpSearchQuery> &queryList, QCLuceneStandardAnalyzer &analyzer)
{
bool retVal = false;
@@ -367,7 +325,7 @@ bool QHelpSearchIndexReader::buildTryHarderQuery(QCLuceneBooleanQuery &booleanQu
return retVal;
}
-void QHelpSearchIndexReader::boostSearchHits(const QHelpEngineCore &engine,
+void QHelpSearchIndexReaderClucene::boostSearchHits(const QHelpEngineCore &engine,
QList<QHelpSearchEngine::SearchHit> &hitList, const QList<QHelpSearchQuery> &queryList)
{
foreach (const QHelpSearchQuery query, queryList) {
diff --git a/tools/assistant/lib/qhelpsearchindexreader_clucene_p.h b/tools/assistant/lib/qhelpsearchindexreader_clucene_p.h
index 8876d80..93ac6a8 100644
--- a/tools/assistant/lib/qhelpsearchindexreader_clucene_p.h
+++ b/tools/assistant/lib/qhelpsearchindexreader_clucene_p.h
@@ -53,44 +53,24 @@
// We mean it.
//
-#include "qhelpsearchengine.h"
+#include "qhelpsearchindexreader_p.h"
#include "fulltextsearch/qanalyzer_p.h"
#include "fulltextsearch/qquery_p.h"
-#include <QtCore/QList>
-#include <QtCore/QMutex>
-#include <QtCore/QObject>
-#include <QtCore/QString>
-#include <QtCore/QThread>
-#include <QtCore/QWaitCondition>
-
-class QHelpEngineCore;
-
QT_BEGIN_NAMESPACE
namespace qt {
namespace fulltextsearch {
namespace clucene {
-class QHelpSearchIndexReader : public QThread
+class QHelpSearchIndexReaderClucene : public QHelpSearchIndexReader
{
Q_OBJECT
public:
- QHelpSearchIndexReader();
- ~QHelpSearchIndexReader();
-
- void cancelSearching();
- void search(const QString &collectionFile,
- const QString &indexFilesFolder,
- const QList<QHelpSearchQuery> &queryList);
- int hitsCount() const;
- QList<QHelpSearchEngine::SearchHit> hits(int start, int end) const;
-
-signals:
- void searchingStarted();
- void searchingFinished(int hits);
+ QHelpSearchIndexReaderClucene();
+ ~QHelpSearchIndexReaderClucene();
private:
void run();
@@ -102,14 +82,6 @@ private:
const QList<QHelpSearchQuery> &queryList, QCLuceneStandardAnalyzer &analyzer);
void boostSearchHits(const QHelpEngineCore &engine, QList<QHelpSearchEngine::SearchHit> &hitList,
const QList<QHelpSearchQuery> &queryList);
-
-private:
- mutable QMutex mutex;
- QList<QHelpSearchEngine::SearchHit> hitList;
- bool m_cancel;
- QString m_collectionFile;
- QList<QHelpSearchQuery> m_query;
- QString m_indexFilesFolder;
};
} // namespace clucene
diff --git a/tools/assistant/lib/qhelpsearchindexreader_default.cpp b/tools/assistant/lib/qhelpsearchindexreader_default.cpp
index 91af925..fbf8a09 100644
--- a/tools/assistant/lib/qhelpsearchindexreader_default.cpp
+++ b/tools/assistant/lib/qhelpsearchindexreader_default.cpp
@@ -492,56 +492,17 @@ void Reader::cleanupIndex(EntryTable &entryTable)
}
-QHelpSearchIndexReader::QHelpSearchIndexReader()
- : QThread()
- , m_cancel(false)
+QHelpSearchIndexReaderDefault::QHelpSearchIndexReaderDefault()
+ : QHelpSearchIndexReader()
{
// nothing todo
}
-QHelpSearchIndexReader::~QHelpSearchIndexReader()
+QHelpSearchIndexReaderDefault::~QHelpSearchIndexReaderDefault()
{
- mutex.lock();
- this->m_cancel = true;
- waitCondition.wakeOne();
- mutex.unlock();
-
- wait();
-}
-
-void QHelpSearchIndexReader::cancelSearching()
-{
- mutex.lock();
- this->m_cancel = true;
- mutex.unlock();
-}
-
-void QHelpSearchIndexReader::search(const QString &collectionFile,
- const QString &indexFilesFolder,
- const QList<QHelpSearchQuery> &queryList)
-{
- QMutexLocker lock(&mutex);
-
- this->hitList.clear();
- this->m_cancel = false;
- this->m_query = queryList;
- this->m_collectionFile = collectionFile;
- this->m_indexFilesFolder = indexFilesFolder;
-
- start(QThread::NormalPriority);
-}
-
-int QHelpSearchIndexReader::hitsCount() const
-{
- return hitList.count();
}
-QHelpSearchEngine::SearchHit QHelpSearchIndexReader::hit(int index) const
-{
- return hitList.at(index);
-}
-
-void QHelpSearchIndexReader::run()
+void QHelpSearchIndexReaderDefault::run()
{
mutex.lock();
@@ -571,7 +532,7 @@ void QHelpSearchIndexReader::run()
QHelpEngineCore engine(collectionFile, 0);
if (!engine.setupData())
return;
-
+
const QStringList registeredDocs = engine.registeredDocumentations();
const QStringList indexedNamespaces = engine.customValue(key).toString().
split(QLatin1String("|"), QString::SkipEmptyParts);
diff --git a/tools/assistant/lib/qhelpsearchindexreader_default_p.h b/tools/assistant/lib/qhelpsearchindexreader_default_p.h
index f0e59b4..d21fc08 100644
--- a/tools/assistant/lib/qhelpsearchindexreader_default_p.h
+++ b/tools/assistant/lib/qhelpsearchindexreader_default_p.h
@@ -54,19 +54,10 @@
//
#include "qhelpsearchindex_default_p.h"
-#include "qhelpsearchengine.h"
+#include "qhelpsearchindexreader_p.h"
#include <QtCore/QHash>
#include <QtCore/QPair>
-#include <QtCore/QList>
-#include <QtCore/QMutex>
-#include <QtCore/QString>
-#include <QtCore/QThread>
-#include <QtCore/QObject>
-#include <QtCore/QVector>
-#include <QtCore/QByteArray>
-#include <QtCore/QStringList>
-#include <QtCore/QWaitCondition>
QT_BEGIN_NAMESPACE
@@ -121,39 +112,19 @@ private:
};
-class QHelpSearchIndexReader : public QThread
+class QHelpSearchIndexReaderDefault : public QHelpSearchIndexReader
{
Q_OBJECT
public:
- QHelpSearchIndexReader();
- ~QHelpSearchIndexReader();
-
- void cancelSearching();
- void search(const QString &collectionFile,
- const QString &indexFilesFolder,
- const QList<QHelpSearchQuery> &queryList);
-
- int hitsCount() const;
- QHelpSearchEngine::SearchHit hit(int index) const;
-
-signals:
- void searchingStarted();
- void searchingFinished(int hits);
+ QHelpSearchIndexReaderDefault();
+ ~QHelpSearchIndexReaderDefault();
private:
void run();
private:
- QMutex mutex;
Reader m_reader;
- QWaitCondition waitCondition;
- QList<QHelpSearchEngine::SearchHit> hitList;
-
- bool m_cancel;
- QList<QHelpSearchQuery> m_query;
- QString m_collectionFile;
- QString m_indexFilesFolder;
};
} // namespace std
diff --git a/tools/assistant/lib/qhelpsearchindexreader_p.h b/tools/assistant/lib/qhelpsearchindexreader_p.h
new file mode 100644
index 0000000..c8f2b44
--- /dev/null
+++ b/tools/assistant/lib/qhelpsearchindexreader_p.h
@@ -0,0 +1,108 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the Qt Assistant of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QHELPSEARCHINDEXREADER_H
+#define QHELPSEARCHINDEXREADER_H
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists for the convenience
+// of the help generator tools. This header file may change from version
+// to version without notice, or even be removed.
+//
+// We mean it.
+//
+
+#include "qhelpsearchengine.h"
+
+#include <QtCore/QList>
+#include <QtCore/QMutex>
+#include <QtCore/QObject>
+#include <QtCore/QString>
+#include <QtCore/QThread>
+#include <QtCore/QWaitCondition>
+
+QT_BEGIN_NAMESPACE
+
+class QHelpEngineCore;
+
+namespace qt {
+ namespace fulltextsearch {
+
+class QHelpSearchIndexReader : public QThread
+{
+ Q_OBJECT
+
+public:
+ QHelpSearchIndexReader();
+ ~QHelpSearchIndexReader();
+
+ void cancelSearching();
+ void search(const QString &collectionFile,
+ const QString &indexFilesFolder,
+ const QList<QHelpSearchQuery> &queryList);
+ int hitsCount() const;
+ QList<QHelpSearchEngine::SearchHit> hits(int start, int end) const;
+
+signals:
+ void searchingStarted();
+ void searchingFinished(int hits);
+
+protected:
+ mutable QMutex mutex;
+ QList<QHelpSearchEngine::SearchHit> hitList;
+ bool m_cancel;
+ QString m_collectionFile;
+ QList<QHelpSearchQuery> m_query;
+ QString m_indexFilesFolder;
+
+private:
+ virtual void run()=0;
+};
+
+ } // namespace fulltextsearch
+} // namespace qt
+
+QT_END_NAMESPACE
+
+#endif // QHELPSEARCHINDEXREADER_H
diff --git a/tools/assistant/lib/qhelpsearchquerywidget.cpp b/tools/assistant/lib/qhelpsearchquerywidget.cpp
index 00444b1..110df4f 100644
--- a/tools/assistant/lib/qhelpsearchquerywidget.cpp
+++ b/tools/assistant/lib/qhelpsearchquerywidget.cpp
@@ -43,9 +43,12 @@
#include <QtCore/QDebug>
+#include <QtCore/QAbstractListModel>
#include <QtCore/QObject>
#include <QtCore/QStringList>
+#include <QtCore/QtGlobal>
+#include <QtGui/QCompleter>
#include <QtGui/QLabel>
#include <QtGui/QLayout>
#include <QtGui/QLineEdit>
@@ -60,8 +63,46 @@ class QHelpSearchQueryWidgetPrivate : public QObject
Q_OBJECT
private:
+ struct QueryHistory {
+ explicit QueryHistory() : curQuery(-1) {}
+ QList<QList<QHelpSearchQuery> > queries;
+ int curQuery;
+ };
+
+ class CompleterModel : public QAbstractListModel
+ {
+ public:
+ explicit CompleterModel(QObject *parent)
+ : QAbstractListModel(parent) {}
+
+ int rowCount(const QModelIndex &parent = QModelIndex()) const
+ {
+ return parent.isValid() ? 0 : termList.size();
+ }
+
+ QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const
+ {
+ if (!index.isValid() || index.row() >= termList.count()||
+ (role != Qt::EditRole && role != Qt::DisplayRole))
+ return QVariant();
+ return termList.at(index.row());
+ }
+
+ void addTerm(const QString &term)
+ {
+ if (!termList.contains(term)) {
+ termList.append(term);
+ reset();
+ }
+ }
+
+ private:
+ QStringList termList;
+ };
+
QHelpSearchQueryWidgetPrivate()
- : QObject()
+ : QObject(), simpleSearch(true),
+ searchCompleter(new CompleterModel(this), this)
{
searchButton = 0;
advancedSearchWidget = 0;
@@ -136,11 +177,102 @@ private:
return wordList;
}
+ void saveQuery(const QList<QHelpSearchQuery> &query, QueryHistory &queryHist)
+ {
+ // We only add the query to the list if it is different from the last one.
+ bool insert = false;
+ if (queryHist.queries.empty())
+ insert = true;
+ else {
+ const QList<QHelpSearchQuery> &lastQuery = queryHist.queries.last();
+ if (lastQuery.size() != query.size()) {
+ insert = true;
+ } else {
+ for (int i = 0; i < query.size(); ++i) {
+ if (query.at(i).fieldName != lastQuery.at(i).fieldName
+ || query.at(i).wordList != lastQuery.at(i).wordList) {
+ insert = true;
+ break;
+ }
+ }
+ }
+ }
+ if (insert) {
+ queryHist.queries.append(query);
+ foreach (const QHelpSearchQuery &queryPart, query) {
+ static_cast<CompleterModel *>(searchCompleter.model())->
+ addTerm(queryPart.wordList.join(" "));
+ }
+ }
+ }
+
+ void nextOrPrevQuery(int maxOrMinIndex, int addend,
+ QToolButton *thisButton, QToolButton *otherButton)
+ {
+ QueryHistory *queryHist;
+ QList<QLineEdit *> lineEdits;
+ if (simpleSearch) {
+ queryHist = &simpleQueries;
+ lineEdits << defaultQuery;
+ } else {
+ queryHist = &complexQueries;
+ lineEdits << allQuery << atLeastQuery << similarQuery
+ << withoutQuery << exactQuery;
+ }
+ foreach (QLineEdit *lineEdit, lineEdits)
+ lineEdit->clear();
+
+ // Otherwise, the respective button would be disabled.
+ Q_ASSERT(queryHist->curQuery != maxOrMinIndex);
+
+ queryHist->curQuery += addend;
+ const QList<QHelpSearchQuery> &query =
+ queryHist->queries.at(queryHist->curQuery);
+ foreach (const QHelpSearchQuery &queryPart, query) {
+ QLineEdit *lineEdit;
+ switch (queryPart.fieldName) {
+ case QHelpSearchQuery::DEFAULT:
+ lineEdit = defaultQuery;
+ break;
+ case QHelpSearchQuery::ALL:
+ lineEdit = allQuery;
+ break;
+ case QHelpSearchQuery::ATLEAST:
+ lineEdit = atLeastQuery;
+ break;
+ case QHelpSearchQuery::FUZZY:
+ lineEdit = similarQuery;
+ break;
+ case QHelpSearchQuery::WITHOUT:
+ lineEdit = withoutQuery;
+ break;
+ case QHelpSearchQuery::PHRASE:
+ lineEdit = exactQuery;
+ break;
+ default:
+ Q_ASSERT(0);
+ }
+ lineEdit->setText(queryPart.wordList.join(" "));
+ }
+
+ if (queryHist->curQuery == maxOrMinIndex)
+ thisButton->setEnabled(false);
+ otherButton->setEnabled(true);
+ }
+
+ void enableOrDisableToolButtons()
+ {
+ const QueryHistory &queryHist =
+ simpleSearch ? simpleQueries : complexQueries;
+ prevQueryButton->setEnabled(queryHist.curQuery > 0);
+ nextQueryButton->setEnabled(queryHist.curQuery <
+ queryHist.queries.size() - 1);
+ }
+
private slots:
void showHideAdvancedSearch()
{
- bool hidden = advancedSearchWidget->isHidden();
- if (hidden) {
+ if (simpleSearch) {
advancedSearchWidget->show();
showHideAdvancedSearchButton->setText((QLatin1String("-")));
} else {
@@ -148,12 +280,86 @@ private slots:
showHideAdvancedSearchButton->setText((QLatin1String("+")));
}
- defaultQuery->setEnabled(!hidden);
+ simpleSearch = !simpleSearch;
+ defaultQuery->setEnabled(simpleSearch);
+ enableOrDisableToolButtons();
+ }
+
+ void searchRequested()
+ {
+ QList<QHelpSearchQuery> queryList;
+#if !defined(QT_CLUCENE_SUPPORT)
+ queryList.append(QHelSearchQuery(QHelpSearchQuery::DEFAULT,
+ QStringList(defaultQuery->text())));
+
+#else
+ if (defaultQuery->isEnabled()) {
+ queryList.append(QHelpSearchQuery(QHelpSearchQuery::DEFAULT,
+ buildTermList(escapeString(defaultQuery->text()))));
+ } else {
+ const QRegExp exp(QLatin1String("\\s+"));
+ QStringList lst = similarQuery->text().split(exp, QString::SkipEmptyParts);
+ if (!lst.isEmpty()) {
+ QStringList fuzzy;
+ foreach (const QString term, lst)
+ fuzzy += buildTermList(escapeString(term));
+ queryList.append(QHelpSearchQuery(QHelpSearchQuery::FUZZY, fuzzy));
+ }
+
+ lst = withoutQuery->text().split(exp, QString::SkipEmptyParts);
+ if (!lst.isEmpty()) {
+ QStringList without;
+ foreach (const QString term, lst)
+ without.append(escapeString(term));
+ queryList.append(QHelpSearchQuery(QHelpSearchQuery::WITHOUT, without));
+ }
+
+ if (!exactQuery->text().isEmpty()) {
+ QString phrase = exactQuery->text().remove(QLatin1Char('\"'));
+ phrase = escapeString(phrase.simplified());
+ queryList.append(QHelpSearchQuery(QHelpSearchQuery::PHRASE, QStringList(phrase)));
+ }
+
+ lst = allQuery->text().split(exp, QString::SkipEmptyParts);
+ if (!lst.isEmpty()) {
+ QStringList all;
+ foreach (const QString term, lst)
+ all.append(escapeString(term));
+ queryList.append(QHelpSearchQuery(QHelpSearchQuery::ALL, all));
+ }
+
+ lst = atLeastQuery->text().split(exp, QString::SkipEmptyParts);
+ if (!lst.isEmpty()) {
+ QStringList atLeast;
+ foreach (const QString term, lst)
+ atLeast += buildTermList(escapeString(term));
+ queryList.append(QHelpSearchQuery(QHelpSearchQuery::ATLEAST, atLeast));
+ }
+ }
+#endif
+ QueryHistory &queryHist = simpleSearch ? simpleQueries : complexQueries;
+ saveQuery(queryList, queryHist);
+ queryHist.curQuery = queryHist.queries.size() - 1;
+ if (queryHist.curQuery > 0)
+ prevQueryButton->setEnabled(true);
+ nextQueryButton->setEnabled(false);
+ }
+
+ void nextQuery()
+ {
+ nextOrPrevQuery((simpleSearch ? simpleQueries : complexQueries).queries.size() - 1,
+ 1, nextQueryButton, prevQueryButton);
+ }
+
+ void prevQuery()
+ {
+ nextOrPrevQuery(0, -1, prevQueryButton, nextQueryButton);
}
private:
friend class QHelpSearchQueryWidget;
+ bool simpleSearch;
QPushButton *searchButton;
QWidget* advancedSearchWidget;
QToolButton *showHideAdvancedSearchButton;
@@ -163,6 +369,11 @@ private:
QLineEdit *withoutQuery;
QLineEdit *allQuery;
QLineEdit *atLeastQuery;
+ QToolButton *nextQueryButton;
+ QToolButton *prevQueryButton;
+ QueryHistory simpleQueries;
+ QueryHistory complexQueries;
+ QCompleter searchCompleter;
};
#include "qhelpsearchquerywidget.moc"
@@ -199,13 +410,26 @@ QHelpSearchQueryWidget::QHelpSearchQueryWidget(QWidget *parent)
QHBoxLayout* hBoxLayout = new QHBoxLayout();
QLabel *label = new QLabel(tr("Search for:"), this);
d->defaultQuery = new QLineEdit(this);
+ d->defaultQuery->setCompleter(&d->searchCompleter);
+ d->prevQueryButton = new QToolButton(this);
+ d->prevQueryButton->setArrowType(Qt::LeftArrow);
+ d->prevQueryButton->setToolTip(tr("Previous search"));
+ d->prevQueryButton->setEnabled(false);
+ d->nextQueryButton = new QToolButton(this);
+ d->nextQueryButton->setArrowType(Qt::RightArrow);
+ d->nextQueryButton->setToolTip(tr("Next search"));
+ d->nextQueryButton->setEnabled(false);
d->searchButton = new QPushButton(tr("Search"), this);
hBoxLayout->addWidget(label);
hBoxLayout->addWidget(d->defaultQuery);
+ hBoxLayout->addWidget(d->prevQueryButton);
+ hBoxLayout->addWidget(d->nextQueryButton);
hBoxLayout->addWidget(d->searchButton);
vLayout->addLayout(hBoxLayout);
+ connect(d->prevQueryButton, SIGNAL(clicked()), d, SLOT(prevQuery()));
+ connect(d->nextQueryButton, SIGNAL(clicked()), d, SLOT(nextQuery()));
connect(d->searchButton, SIGNAL(clicked()), this, SIGNAL(search()));
connect(d->defaultQuery, SIGNAL(returnPressed()), this, SIGNAL(search()));
@@ -236,26 +460,31 @@ QHelpSearchQueryWidget::QHelpSearchQueryWidget(QWidget *parent)
label = new QLabel(tr("words <B>similar</B> to:"), this);
gLayout->addWidget(label, 0, 0);
d->similarQuery = new QLineEdit(this);
+ d->similarQuery->setCompleter(&d->searchCompleter);
gLayout->addWidget(d->similarQuery, 0, 1);
label = new QLabel(tr("<B>without</B> the words:"), this);
gLayout->addWidget(label, 1, 0);
d->withoutQuery = new QLineEdit(this);
+ d->withoutQuery->setCompleter(&d->searchCompleter);
gLayout->addWidget(d->withoutQuery, 1, 1);
label = new QLabel(tr("with <B>exact phrase</B>:"), this);
gLayout->addWidget(label, 2, 0);
d->exactQuery = new QLineEdit(this);
+ d->exactQuery->setCompleter(&d->searchCompleter);
gLayout->addWidget(d->exactQuery, 2, 1);
label = new QLabel(tr("with <B>all</B> of the words:"), this);
gLayout->addWidget(label, 3, 0);
d->allQuery = new QLineEdit(this);
+ d->allQuery->setCompleter(&d->searchCompleter);
gLayout->addWidget(d->allQuery, 3, 1);
label = new QLabel(tr("with <B>at least one</B> of the words:"), this);
gLayout->addWidget(label, 4, 0);
d->atLeastQuery = new QLineEdit(this);
+ d->atLeastQuery->setCompleter(&d->searchCompleter);
gLayout->addWidget(d->atLeastQuery, 4, 1);
vLayout->addWidget(d->advancedSearchWidget);
@@ -269,6 +498,7 @@ QHelpSearchQueryWidget::QHelpSearchQueryWidget(QWidget *parent)
connect(d->showHideAdvancedSearchButton, SIGNAL(clicked()),
d, SLOT(showHideAdvancedSearch()));
#endif
+ connect(this, SIGNAL(search()), d, SLOT(searchRequested()));
}
/*!
@@ -285,59 +515,10 @@ QHelpSearchQueryWidget::~QHelpSearchQueryWidget()
*/
QList<QHelpSearchQuery> QHelpSearchQueryWidget::query() const
{
-#if !defined(QT_CLUCENE_SUPPORT)
- QList<QHelpSearchQuery> queryList;
- queryList.append(QHelpSearchQuery(QHelpSearchQuery::DEFAULT,
- QStringList(d->defaultQuery->text())));
-
- return queryList;
-#else
- QList<QHelpSearchQuery> queryList;
- if (d->defaultQuery->isEnabled()) {
- queryList.append(QHelpSearchQuery(QHelpSearchQuery::DEFAULT,
- d->buildTermList(d->escapeString(d->defaultQuery->text()))));
- } else {
- const QRegExp exp(QLatin1String("\\s+"));
- QStringList lst = d->similarQuery->text().split(exp, QString::SkipEmptyParts);
- if (!lst.isEmpty()) {
- QStringList fuzzy;
- foreach (const QString term, lst)
- fuzzy += d->buildTermList(d->escapeString(term));
- queryList.append(QHelpSearchQuery(QHelpSearchQuery::FUZZY, fuzzy));
- }
-
- lst = d->withoutQuery->text().split(exp, QString::SkipEmptyParts);
- if (!lst.isEmpty()) {
- QStringList without;
- foreach (const QString term, lst)
- without.append(d->escapeString(term));
- queryList.append(QHelpSearchQuery(QHelpSearchQuery::WITHOUT, without));
- }
-
- if (!d->exactQuery->text().isEmpty()) {
- QString phrase = d->exactQuery->text().remove(QLatin1Char('\"'));
- phrase = d->escapeString(phrase.simplified());
- queryList.append(QHelpSearchQuery(QHelpSearchQuery::PHRASE, QStringList(phrase)));
- }
-
- lst = d->allQuery->text().split(exp, QString::SkipEmptyParts);
- if (!lst.isEmpty()) {
- QStringList all;
- foreach (const QString term, lst)
- all.append(d->escapeString(term));
- queryList.append(QHelpSearchQuery(QHelpSearchQuery::ALL, all));
- }
-
- lst = d->atLeastQuery->text().split(exp, QString::SkipEmptyParts);
- if (!lst.isEmpty()) {
- QStringList atLeast;
- foreach (const QString term, lst)
- atLeast += d->buildTermList(d->escapeString(term));
- queryList.append(QHelpSearchQuery(QHelpSearchQuery::ATLEAST, atLeast));
- }
- }
- return queryList;
-#endif
+ const QHelpSearchQueryWidgetPrivate::QueryHistory &queryHist =
+ d->simpleSearch ? d->simpleQueries : d->complexQueries;
+ return queryHist.queries.isEmpty() ?
+ QList<QHelpSearchQuery>() : queryHist.queries.last();
}
/*! \reimp
diff --git a/tools/assistant/tools/assistant/assistant.qch b/tools/assistant/tools/assistant/assistant.qch
index 99687ed..3e66bd9 100644
--- a/tools/assistant/tools/assistant/assistant.qch
+++ b/tools/assistant/tools/assistant/assistant.qch
Binary files differ
diff --git a/tools/assistant/tools/assistant/assistant.rc b/tools/assistant/tools/assistant/assistant.rc
index b4786ce..deaf40c 100644
--- a/tools/assistant/tools/assistant/assistant.rc
+++ b/tools/assistant/tools/assistant/assistant.rc
@@ -1 +1,32 @@
+#include "winver.h"
+
IDI_ICON1 ICON DISCARDABLE "assistant.ico"
+
+VS_VERSION_INFO VERSIONINFO
+ FILEVERSION 1,0,0,0
+ PRODUCTVERSION 1,0,0,0
+ FILEFLAGS 0x0L
+ FILEFLAGSMASK 0x3fL
+ FILEOS 0x00040004L
+ FILETYPE 0x1L
+ FILESUBTYPE 0x0L
+BEGIN
+ BLOCK "StringFileInfo"
+ BEGIN
+ BLOCK "000004b0"
+ BEGIN
+ VALUE "CompanyName", "Nokia Corporation and/or its subsidiary(-ies)"
+ VALUE "FileDescription", "Qt Assistant"
+ VALUE "FileVersion", "1.0.0.0"
+ VALUE "LegalCopyright", "Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies)."
+ VALUE "InternalName", "assistant.exe"
+ VALUE "OriginalFilename", "assistant.exe"
+ VALUE "ProductName", "Qt Assistant"
+ VALUE "ProductVersion", "1.0.0.0"
+ END
+ END
+ BLOCK "VarFileInfo"
+ BEGIN
+ VALUE "Translation", 0x0, 1200
+ END
+END
diff --git a/tools/assistant/tools/assistant/centralwidget.cpp b/tools/assistant/tools/assistant/centralwidget.cpp
index a384544..23562db 100644
--- a/tools/assistant/tools/assistant/centralwidget.cpp
+++ b/tools/assistant/tools/assistant/centralwidget.cpp
@@ -43,6 +43,7 @@
#include "helpviewer.h"
#include "searchwidget.h"
#include "mainwindow.h"
+#include "preferencesdialog.h"
#include <QtCore/QDir>
#include <QtCore/QEvent>
@@ -423,6 +424,27 @@ void CentralWidget::setSource(const QUrl &url)
tabWidget->setTabText(lastTabPage, quoteTabTitle(viewer->documentTitle()));
}
+void CentralWidget::setupWidget()
+{
+ int option = helpEngine->customValue(QLatin1String("StartOption"),
+ ShowLastPages).toInt();
+
+ if (option != ShowLastPages) {
+ QString homePage;
+ if (option == ShowHomePage) {
+ homePage = helpEngine->customValue(QLatin1String("defaultHomepage"),
+ QLatin1String("help")).toString();
+ homePage = helpEngine->customValue(QLatin1String("homepage"),
+ homePage).toString();
+ }
+ if (option == ShowBlankPage)
+ homePage = QLatin1String("about:blank");
+ setSource(homePage);
+ } else {
+ setLastShownPages();
+ }
+}
+
void CentralWidget::setLastShownPages()
{
const QLatin1String key("LastShownPages");
@@ -739,8 +761,10 @@ void CentralWidget::setTabTitle(const QUrl &url)
QTabBar *tabBar = qFindChild<QTabBar*>(tabWidget);
for (int tab = 0; tab < tabBar->count(); ++tab) {
HelpViewer *viewer = qobject_cast<HelpViewer*>(tabWidget->widget(tab));
- if (viewer)
- tabWidget->setTabText(tab, viewer->documentTitle().trimmed());
+ if (viewer) {
+ tabWidget->setTabText(tab,
+ quoteTabTitle(viewer->documentTitle().trimmed()));
+ }
}
#else
HelpViewer *viewer = currentHelpViewer();
diff --git a/tools/assistant/tools/assistant/centralwidget.h b/tools/assistant/tools/assistant/centralwidget.h
index ca9caaf..f7ce1d5 100644
--- a/tools/assistant/tools/assistant/centralwidget.h
+++ b/tools/assistant/tools/assistant/centralwidget.h
@@ -111,7 +111,7 @@ public:
CentralWidget(QHelpEngine *engine, MainWindow *parent);
~CentralWidget();
- void setLastShownPages();
+ void setupWidget();
bool hasSelection() const;
QUrl currentSource() const;
QString currentTitle() const;
@@ -188,6 +188,7 @@ private:
void initPrinter();
QString quoteTabTitle(const QString &title) const;
void highlightSearchTerms();
+ void setLastShownPages();
private:
int lastTabPage;
diff --git a/tools/assistant/tools/assistant/doc/assistant.qhp b/tools/assistant/tools/assistant/doc/assistant.qhp
index 7a26101..7ea4cdd 100644
--- a/tools/assistant/tools/assistant/doc/assistant.qhp
+++ b/tools/assistant/tools/assistant/doc/assistant.qhp
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<QtHelpProject version="1.0">
<virtualFolder>assistant</virtualFolder>
- <namespace>com.trolltech.com.assistantinternal_1.0.0</namespace>
+ <namespace>com.trolltech.com.assistantinternal-1.0.0</namespace>
<filterSection>
<files>
<file>assistant.html</file>
diff --git a/tools/assistant/tools/assistant/helpviewer.cpp b/tools/assistant/tools/assistant/helpviewer.cpp
index 6799db3..5422bf46 100644
--- a/tools/assistant/tools/assistant/helpviewer.cpp
+++ b/tools/assistant/tools/assistant/helpviewer.cpp
@@ -306,7 +306,7 @@ void HelpViewer::setSource(const QUrl &url)
loadFinished = false;
if (url.toString() == QLatin1String("help")) {
load(QUrl(QLatin1String("qthelp://com.trolltech.com."
- "assistantinternal_1.0.0/assistant/assistant.html")));
+ "assistantinternal-1.0.0/assistant/assistant.html")));
} else {
load(url);
}
@@ -425,7 +425,7 @@ void HelpViewer::setSource(const QUrl &url)
if (help) {
QTextBrowser::setSource(QUrl(QLatin1String("qthelp://com.trolltech.com."
- "assistantinternal_1.0.0/assistant/assistant.html")));
+ "assistantinternal-1.0.0/assistant/assistant.html")));
} else {
QTextBrowser::setSource(url);
setHtml(tr("<title>Error 404...</title><div align=\"center\"><br><br>"
diff --git a/tools/assistant/tools/assistant/main.cpp b/tools/assistant/tools/assistant/main.cpp
index 05355d9..4af2570 100644
--- a/tools/assistant/tools/assistant/main.cpp
+++ b/tools/assistant/tools/assistant/main.cpp
@@ -181,7 +181,21 @@ QString indexFilesFolder(const QString &collectionFile)
int main(int argc, char *argv[])
{
- QApplication a(argc, argv);
+ // First do a quick search for arguments that imply command-line mode.
+ const char * cmdModeArgs[] = {
+ "-help", "-register", "-unregister", "-remove-search-index"
+ };
+ bool useGui = true;
+ for (int i = 1; i < argc; ++i) {
+ for (size_t j = 0; j < sizeof cmdModeArgs/sizeof *cmdModeArgs; ++j) {
+ if(strcmp(argv[i], cmdModeArgs[j]) == 0) {
+ useGui = false;
+ break;
+ }
+ }
+ }
+
+ QApplication a(argc, argv, useGui);
a.addLibraryPath(a.applicationDirPath() + QLatin1String("/plugins"));
CmdLineParser cmd;
@@ -306,7 +320,7 @@ int main(int argc, char *argv[])
}
}
- QLatin1String intern("com.trolltech.com.assistantinternal_");
+ QLatin1String intern("com.trolltech.com.assistantinternal-");
foreach (const QString &doc, userDocs) {
if (!callerDocs.contains(doc) && !doc.startsWith(intern))
user.unregisterDocumentation(doc);
diff --git a/tools/assistant/tools/assistant/mainwindow.cpp b/tools/assistant/tools/assistant/mainwindow.cpp
index 617ac4d..bc73b80 100644
--- a/tools/assistant/tools/assistant/mainwindow.cpp
+++ b/tools/assistant/tools/assistant/mainwindow.cpp
@@ -93,6 +93,8 @@ MainWindow::MainWindow(CmdLineParser *cmdLine, QWidget *parent)
, m_qtDocInstaller(0)
, m_connectedInitSignals(false)
{
+ setToolButtonStyle(Qt::ToolButtonFollowStyle);
+
if (usesDefaultCollection()) {
MainWindow::collectionFileDirectory(true);
m_helpEngine = new QHelpEngine(MainWindow::defaultHelpCollectionFileName(),
@@ -272,7 +274,7 @@ bool MainWindow::initHelpDB()
return false;
bool assistantInternalDocRegistered = false;
- QString intern(QLatin1String("com.trolltech.com.assistantinternal_"));
+ QString intern(QLatin1String("com.trolltech.com.assistantinternal-"));
foreach (const QString &ns, m_helpEngine->registeredDocumentations()) {
if (ns.startsWith(intern)) {
intern = ns;
@@ -405,7 +407,7 @@ void MainWindow::insertLastPages()
if (m_cmdLine->url().isValid())
m_centralWidget->setSource(m_cmdLine->url());
else
- m_centralWidget->setLastShownPages();
+ m_centralWidget->setupWidget();
if (m_cmdLine->search() == CmdLineParser::Activate)
showSearch();
@@ -429,6 +431,7 @@ void MainWindow::setupActions()
SLOT(printPreview()));
m_printAction = menu->addAction(tr("&Print..."), m_centralWidget, SLOT(print()));
+ m_printAction->setPriority(QAction::LowPriority);
m_printAction->setIcon(QIcon(resourcePath + QLatin1String("/print.png")));
m_printAction->setShortcut(QKeySequence::Print);
@@ -448,12 +451,15 @@ void MainWindow::setupActions()
menu = menuBar()->addMenu(tr("&Edit"));
m_copyAction = menu->addAction(tr("&Copy selected Text"), m_centralWidget,
SLOT(copySelection()));
+ m_copyAction->setPriority(QAction::LowPriority);
+ m_copyAction->setIconText("&Copy");
m_copyAction->setIcon(QIcon(resourcePath + QLatin1String("/editcopy.png")));
m_copyAction->setShortcuts(QKeySequence::Copy);
m_copyAction->setEnabled(false);
m_findAction = menu->addAction(tr("&Find in Text..."), m_centralWidget,
SLOT(showTextSearch()));
+ m_findAction->setIconText("&Find");
m_findAction->setIcon(QIcon(resourcePath + QLatin1String("/find.png")));
m_findAction->setShortcuts(QKeySequence::Find);
@@ -472,16 +478,19 @@ void MainWindow::setupActions()
m_viewMenu = menuBar()->addMenu(tr("&View"));
m_zoomInAction = m_viewMenu->addAction(tr("Zoom &in"), m_centralWidget,
SLOT(zoomIn()));
+ m_zoomInAction->setPriority(QAction::LowPriority);
m_zoomInAction->setIcon(QIcon(resourcePath + QLatin1String("/zoomin.png")));
m_zoomInAction->setShortcut(QKeySequence::ZoomIn);
m_zoomOutAction = m_viewMenu->addAction(tr("Zoom &out"), m_centralWidget,
SLOT(zoomOut()));
+ m_zoomOutAction->setPriority(QAction::LowPriority);
m_zoomOutAction->setIcon(QIcon(resourcePath + QLatin1String("/zoomout.png")));
m_zoomOutAction->setShortcut(QKeySequence::ZoomOut);
m_resetZoomAction = m_viewMenu->addAction(tr("Normal &Size"), m_centralWidget,
SLOT(resetZoom()));
+ m_resetZoomAction->setPriority(QAction::LowPriority);
m_resetZoomAction->setIcon(QIcon(resourcePath + QLatin1String("/resetzoom.png")));
m_resetZoomAction->setShortcut(tr("Ctrl+0"));
@@ -507,12 +516,14 @@ void MainWindow::setupActions()
m_backAction->setIcon(QIcon(resourcePath + QLatin1String("/previous.png")));
m_nextAction = menu->addAction(tr("&Forward"), m_centralWidget, SLOT(forward()));
+ m_nextAction->setPriority(QAction::LowPriority);
m_nextAction->setEnabled(false);
m_nextAction->setShortcuts(QKeySequence::Forward);
m_nextAction->setIcon(QIcon(resourcePath + QLatin1String("/next.png")));
m_syncAction = menu->addAction(tr("Sync with Table of Contents"), this,
SLOT(syncContents()));
+ m_syncAction->setIconText("Sync");
m_syncAction->setIcon(QIcon(resourcePath + QLatin1String("/synctoc.png")));
menu->addSeparator();
diff --git a/tools/assistant/tools/assistant/preferencesdialog.cpp b/tools/assistant/tools/assistant/preferencesdialog.cpp
index fa70196..2b58c64 100644
--- a/tools/assistant/tools/assistant/preferencesdialog.cpp
+++ b/tools/assistant/tools/assistant/preferencesdialog.cpp
@@ -146,10 +146,13 @@ PreferencesDialog::~PreferencesDialog()
emit updateBrowserFont();
}
- if (!m_ui.homePageLineEdit->text().isEmpty()) {
- key = QLatin1String("homepage");
- m_helpEngine->setCustomValue(key, m_ui.homePageLineEdit->text());
- }
+ QString homePage = m_ui.homePageLineEdit->text();
+ if (homePage.isEmpty())
+ homePage = QLatin1String("help");
+ m_helpEngine->setCustomValue(QLatin1String("homepage"), homePage);
+
+ int option = m_ui.helpStartComboBox->currentIndex();
+ m_helpEngine->setCustomValue(QLatin1String("StartOption"), option);
}
void PreferencesDialog::showDialog()
@@ -379,6 +382,8 @@ void PreferencesDialog::applyChanges()
CentralWidget* widget = CentralWidget::instance();
for (int i = m_TabsToClose.count(); --i >= 0;)
widget->closeTabAt(m_TabsToClose.at(i));
+ if (widget->availableHelpViewer()== 0)
+ widget->setSource(QUrl(QLatin1String("about:blank")));
if (m_unregDocs.count()) {
foreach (const QString &doc, m_unregDocs)
@@ -483,22 +488,23 @@ void PreferencesDialog::updateOptionsPage()
homepage = m_helpEngine->customValue(QLatin1String("defaultHomepage"),
QLatin1String("help")).toString();
}
-
m_ui.homePageLineEdit->setText(homepage);
- connect(m_ui.currentPageButton, SIGNAL(pressed()), this,
- SLOT(currentHomepageChanged()));
- connect(m_ui.restoreDefaultHomePageButton, SIGNAL(pressed()), this,
- SLOT(restoreDefaultHomepage()));
+
+ int option = m_helpEngine->customValue(QLatin1String("StartOption"),
+ ShowLastPages).toInt();
+ m_ui.helpStartComboBox->setCurrentIndex(option);
+
+ connect(m_ui.blankPageButton, SIGNAL(clicked()), this, SLOT(setBlankPage()));
+ connect(m_ui.currentPageButton, SIGNAL(clicked()), this, SLOT(setCurrentPage()));
+ connect(m_ui.defaultPageButton, SIGNAL(clicked()), this, SLOT(setDefaultPage()));
}
-void PreferencesDialog::restoreDefaultHomepage()
+void PreferencesDialog::setBlankPage()
{
- QString homepage = m_helpEngine->customValue(QLatin1String("defaultHomepage"),
- QLatin1String("help")).toString();
- m_ui.homePageLineEdit->setText(homepage);
+ m_ui.homePageLineEdit->setText(QLatin1String("about:blank"));
}
-void PreferencesDialog::currentHomepageChanged()
+void PreferencesDialog::setCurrentPage()
{
QString homepage = CentralWidget::instance()->currentSource().toString();
if (homepage.isEmpty())
@@ -507,4 +513,11 @@ void PreferencesDialog::currentHomepageChanged()
m_ui.homePageLineEdit->setText(homepage);
}
+void PreferencesDialog::setDefaultPage()
+{
+ QString homepage = m_helpEngine->customValue(QLatin1String("defaultHomepage"),
+ QLatin1String("help")).toString();
+ m_ui.homePageLineEdit->setText(homepage);
+}
+
QT_END_NAMESPACE
diff --git a/tools/assistant/tools/assistant/preferencesdialog.h b/tools/assistant/tools/assistant/preferencesdialog.h
index 5b8ffe8..4471b5f 100644
--- a/tools/assistant/tools/assistant/preferencesdialog.h
+++ b/tools/assistant/tools/assistant/preferencesdialog.h
@@ -50,6 +50,12 @@ QT_BEGIN_NAMESPACE
class FontPanel;
class QHelpEngineCore;
+enum {
+ ShowHomePage = 0,
+ ShowBlankPage = 1,
+ ShowLastPages = 2
+};
+
class PreferencesDialog : public QDialog
{
Q_OBJECT
@@ -72,8 +78,10 @@ private slots:
void appFontSettingChanged(int index);
void browserFontSettingToggled(bool on);
void browserFontSettingChanged(int index);
- void restoreDefaultHomepage();
- void currentHomepageChanged();
+
+ void setBlankPage();
+ void setCurrentPage();
+ void setDefaultPage();
signals:
void updateBrowserFont();
diff --git a/tools/assistant/tools/assistant/preferencesdialog.ui b/tools/assistant/tools/assistant/preferencesdialog.ui
index d848b49..279084d 100644
--- a/tools/assistant/tools/assistant/preferencesdialog.ui
+++ b/tools/assistant/tools/assistant/preferencesdialog.ui
@@ -6,7 +6,7 @@
<rect>
<x>0</x>
<y>0</y>
- <width>359</width>
+ <width>375</width>
<height>266</height>
</rect>
</property>
@@ -187,19 +187,90 @@
<attribute name="title">
<string>Options</string>
</attribute>
- <layout class="QVBoxLayout" name="verticalLayout_3">
+ <layout class="QVBoxLayout" name="verticalLayout_2">
<item>
- <widget class="QGroupBox" name="groupBox">
+ <widget class="QGroupBox" name="groupBox_2">
<property name="title">
- <string>Homepage</string>
+ <string/>
</property>
- <layout class="QVBoxLayout" name="verticalLayout_2">
+ <layout class="QHBoxLayout" name="horizontalLayout_3">
<item>
- <widget class="QLineEdit" name="homePageLineEdit"/>
+ <widget class="QLabel" name="label_5">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>On help start:</string>
+ </property>
+ </widget>
</item>
<item>
+ <widget class="QComboBox" name="helpStartComboBox">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <item>
+ <property name="text">
+ <string>Show my home page</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Show a blank page</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Show my tabs from last session</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ <item>
+ <spacer name="horizontalSpacer_3">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>54</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <widget class="QGroupBox" name="groupBox">
+ <property name="title">
+ <string/>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout">
+ <item>
<layout class="QHBoxLayout" name="horizontalLayout_2">
<item>
+ <widget class="QLabel" name="label_4">
+ <property name="text">
+ <string>Homepage</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLineEdit" name="homePageLineEdit"/>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout">
+ <item>
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
@@ -213,22 +284,25 @@
</spacer>
</item>
<item>
- <layout class="QHBoxLayout" name="horizontalLayout">
- <item>
- <widget class="QPushButton" name="currentPageButton">
- <property name="text">
- <string>Current Page</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QPushButton" name="restoreDefaultHomePageButton">
- <property name="text">
- <string>Restore to default</string>
- </property>
- </widget>
- </item>
- </layout>
+ <widget class="QPushButton" name="currentPageButton">
+ <property name="text">
+ <string>Current Page</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="blankPageButton">
+ <property name="text">
+ <string>Blank Page</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="defaultPageButton">
+ <property name="text">
+ <string>Restore to default</string>
+ </property>
+ </widget>
</item>
</layout>
</item>
diff --git a/tools/assistant/tools/qhelpconverter/adpreader.cpp b/tools/assistant/tools/qhelpconverter/adpreader.cpp
index 35f8878..c427038 100644
--- a/tools/assistant/tools/qhelpconverter/adpreader.cpp
+++ b/tools/assistant/tools/qhelpconverter/adpreader.cpp
@@ -39,8 +39,16 @@
**
****************************************************************************/
+#include <QRegExp>
+
#include "adpreader.h"
+static bool versionIsAtLeast320(const QString &version)
+{
+ return QRegExp("\\d.\\d\\.\\d").exactMatch(version)
+ && (version[0] > '3' || (version[0] == '3' && version[2] >= '2'));
+}
+
QT_BEGIN_NAMESPACE
void AdpReader::readData(const QByteArray &contents)
@@ -51,11 +59,11 @@ void AdpReader::readData(const QByteArray &contents)
m_properties.clear();
m_files.clear();
addData(contents);
- while (!atEnd()) {
- readNext();
- if (isStartElement()) {
+ while (!atEnd()) {
+ readNext();
+ if (isStartElement()) {
if (name().toString().toLower() == QLatin1String("assistantconfig")
- && attributes().value(QLatin1String("version")) == QLatin1String("3.2.0")) {
+ && versionIsAtLeast320(attributes().value(QLatin1String("version")).toString())) {
readProject();
} else if (name().toString().toLower() == QLatin1String("dcf")) {
QString ref = attributes().value(QLatin1String("ref")).toString();
@@ -66,8 +74,8 @@ void AdpReader::readData(const QByteArray &contents)
} else {
raiseError();
}
- }
- }
+ }
+ }
}
QList<ContentItem> AdpReader::contents() const
diff --git a/tools/assistant/tools/qhelpconverter/adpreader.h b/tools/assistant/tools/qhelpconverter/adpreader.h
index f2e7509..740a462 100644
--- a/tools/assistant/tools/qhelpconverter/adpreader.h
+++ b/tools/assistant/tools/qhelpconverter/adpreader.h
@@ -50,15 +50,15 @@ QT_BEGIN_NAMESPACE
struct ContentItem {
ContentItem(const QString &t, const QString &r, int d)
- : title(t), reference(r), depth(d) {}
+ : title(t), reference(r), depth(d) {}
QString title;
QString reference;
- int depth;
+ int depth;
};
struct KeywordItem {
KeywordItem(const QString &k, const QString &r)
- : keyword(k), reference(r) {}
+ : keyword(k), reference(r) {}
QString keyword;
QString reference;
};
diff --git a/tools/checksdk/cesdkhandler.cpp b/tools/checksdk/cesdkhandler.cpp
index 48452a3..677d003 100644
--- a/tools/checksdk/cesdkhandler.cpp
+++ b/tools/checksdk/cesdkhandler.cpp
@@ -71,15 +71,15 @@ bool CeSdkHandler::parse()
// look at the file at %VCInstallDir%/vcpackages/WCE.VCPlatform.config
// and scan through all installed sdks...
m_list.clear();
- VCInstallDir = qgetenv("VCInstallDir");
+ VCInstallDir = QString::fromLatin1(qgetenv("VCInstallDir"));
VCInstallDir += QLatin1String("\\");
- VSInstallDir = qgetenv("VSInstallDir");
+ VSInstallDir = QString::fromLatin1(qgetenv("VSInstallDir"));
VSInstallDir += QLatin1String("\\");
if (VCInstallDir.isEmpty() || VSInstallDir.isEmpty())
return false;
QDir vStudioDir(VCInstallDir);
- if (!vStudioDir.cd("vcpackages"))
+ if (!vStudioDir.cd(QLatin1String("vcpackages")))
return false;
QFile configFile(vStudioDir.absoluteFilePath(QLatin1String("WCE.VCPlatform.config")));
@@ -118,6 +118,7 @@ bool CeSdkHandler::parse()
qWarning() << "XML ERROR:" << xml.lineNumber() << ": " << xml.errorString();
return false;
}
+
return m_list.size() > 0 ? true : false;
}
diff --git a/tools/checksdk/cesdkhandler.h b/tools/checksdk/cesdkhandler.h
index 04d3bdf..6ec26db 100644
--- a/tools/checksdk/cesdkhandler.h
+++ b/tools/checksdk/cesdkhandler.h
@@ -102,8 +102,8 @@ inline QList<CeSdkInfo> CeSdkHandler::listAll() const
inline QString CeSdkHandler::fixPaths(QString path) const
{
- QString str = QDir::toNativeSeparators(QDir::cleanPath(path.replace(VCINSTALL_MACRO, VCInstallDir).replace(VSINSTALL_MACRO, VSInstallDir).replace(QLatin1String("$(PATH)"), QLatin1String("%PATH%"))));
- if (str.endsWith(';'))
+ QString str = QDir::toNativeSeparators(QDir::cleanPath(path.replace(QLatin1String(VCINSTALL_MACRO), VCInstallDir).replace(QLatin1String(VSINSTALL_MACRO), VSInstallDir).replace(QLatin1String("$(PATH)"), QLatin1String("%PATH%"))));
+ if (str.endsWith(QLatin1Char(';')))
str.truncate(str.length() - 1);
return str;
}
diff --git a/tools/checksdk/checksdk.pro b/tools/checksdk/checksdk.pro
index e364f26..a513981 100644
--- a/tools/checksdk/checksdk.pro
+++ b/tools/checksdk/checksdk.pro
@@ -32,40 +32,5 @@ SOURCES += \
HEADERS += \
cesdkhandler.h
-# Bootstrapped Input
-SOURCES += \
- $$QT_SOURCE_TREE/src/corelib/kernel/qmetatype.cpp \
- $$QT_SOURCE_TREE/src/corelib/kernel/qvariant.cpp \
- $$QT_SOURCE_TREE/src/corelib/tools/qstring.cpp \
- $$QT_SOURCE_TREE/src/corelib/tools/qstringlist.cpp \
- $$QT_SOURCE_TREE/src/corelib/io/qfile.cpp \
- $$QT_SOURCE_TREE/src/corelib/io/qdir.cpp \
- $$QT_SOURCE_TREE/src/corelib/io/qfsfileengine.cpp \
- $$QT_SOURCE_TREE/src/corelib/io/qabstractfileengine.cpp \
- $$QT_SOURCE_TREE/src/corelib/io/qfsfileengine_win.cpp \
- $$QT_SOURCE_TREE/src/corelib/io/qfsfileengine_iterator.cpp \
- $$QT_SOURCE_TREE/src/corelib/io/qfsfileengine_iterator_win.cpp \
- $$QT_SOURCE_TREE/src/corelib/io/qfileinfo.cpp \
- $$QT_SOURCE_TREE/src/corelib/io/qtemporaryfile.cpp \
- $$QT_SOURCE_TREE/src/corelib/io/qdiriterator.cpp \
- $$QT_SOURCE_TREE/src/corelib/io/qiodevice.cpp \
- $$QT_SOURCE_TREE/src/corelib/io/qbuffer.cpp \
- $$QT_SOURCE_TREE/src/corelib/io/qtextstream.cpp \
- $$QT_SOURCE_TREE/src/corelib/io/qurl.cpp \
- $$QT_SOURCE_TREE/src/corelib/tools/qdatetime.cpp \
- $$QT_SOURCE_TREE/src/corelib/tools/qlocale.cpp \
- $$QT_SOURCE_TREE/src/corelib/tools/qbytearray.cpp \
- $$QT_SOURCE_TREE/src/corelib/tools/qbytearraymatcher.cpp \
- $$QT_SOURCE_TREE/src/corelib/tools/qvector.cpp \
- $$QT_SOURCE_TREE/src/corelib/tools/qvsnprintf.cpp \
- $$QT_SOURCE_TREE/src/corelib/tools/qlistdata.cpp \
- $$QT_SOURCE_TREE/src/corelib/tools/qhash.cpp \
- $$QT_SOURCE_TREE/src/corelib/global/qglobal.cpp \
- $$QT_SOURCE_TREE/src/corelib/global/qmalloc.cpp \
- $$QT_SOURCE_TREE/src/corelib/global/qnumeric.cpp \
- $$QT_SOURCE_TREE/src/corelib/xml/qxmlstream.cpp \
- $$QT_SOURCE_TREE/src/corelib/xml/qxmlutils.cpp \
- $$QT_SOURCE_TREE/src/corelib/tools/qregexp.cpp \
- $$QT_SOURCE_TREE/src/corelib/tools/qmap.cpp \
- $$QT_SOURCE_TREE/src/corelib/tools/qbitarray.cpp \
- $$QT_BUILD_TREE/src/corelib/global/qconfig.cpp
+include(../../src/tools/bootstrap/bootstrap.pri)
+
diff --git a/tools/checksdk/main.cpp b/tools/checksdk/main.cpp
index 2dd7214..6322eb7 100644
--- a/tools/checksdk/main.cpp
+++ b/tools/checksdk/main.cpp
@@ -46,17 +46,17 @@
void usage()
{
- qDebug() << "SDK Scanner - Convenience Tool to setup your environment";
- qDebug() << " for crosscompilation to Windows CE";
- qDebug() << "Options:";
- qDebug() << "-help This output";
- qDebug() << "-list List all available SDKs";
- qDebug() << "-sdk <name> Select specified SDK.";
- qDebug() << " Note: SDK names with spaces need to be";
- qDebug() << " specified in parenthesis";
- qDebug() << " default: Windows Mobile 5.0 Pocket PC SDK (ARMV4I)";
- qDebug() << "-script <file> Create a script file which can be launched";
- qDebug() << " to setup your environment for specified SDK";
+ printf("SDK Scanner - Convenience Tool to setup your environment\n");
+ printf(" for crosscompilation to Windows CE\n");
+ printf("Options:\n");
+ printf("-help This output\n");
+ printf("-list List all available SDKs\n");
+ printf("-sdk <name> Select specified SDK.\n");
+ printf(" Note: SDK names with spaces need to be\n");
+ printf(" specified in parenthesis\n");
+ printf(" default: Windows Mobile 5.0 Pocket PC SDK (ARMV4I)\n");
+ printf("-script <file> Create a script file which can be launched\n");
+ printf(" to setup your environment for specified SDK\n");
}
int main(int argc, char **argv)
@@ -106,9 +106,12 @@ int main(int argc, char **argv)
QList<CeSdkInfo> list = handler.listAll();
if (operationList) {
- qDebug() << "Available SDKs:";
- for (QList<CeSdkInfo>::iterator it = list.begin(); it != list.end(); ++it)
- qDebug() << "SDK Name:" << it->name();
+ printf("Available SDKs:\n");
+ for (QList<CeSdkInfo>::iterator it = list.begin(); it != list.end(); ++it) {
+ printf("SDK Name: ");
+ printf(qPrintable(it->name()));
+ printf("\n");
+ }
return 0;
}
@@ -132,10 +135,13 @@ int main(int argc, char **argv)
includePath = QString::fromLatin1("INCLUDE=") + it->includePath();
libPath = QString::fromLatin1("LIB=") + it->libPath();
if (scriptFile.isEmpty()) {
- qDebug() << "Please set up your environment with the following paths:";
- qDebug() << qPrintable(binPath);
- qDebug() << qPrintable(includePath);
- qDebug() << qPrintable(libPath);
+ printf("Please set up your environment with the following paths:\n");
+ printf(qPrintable(binPath));
+ printf("\n");
+ printf(qPrintable(includePath));
+ printf("\n");
+ printf(qPrintable(libPath));
+ printf("\n");
return 0;
} else {
QFile file(scriptFile);
diff --git a/tools/configure/configure.pro b/tools/configure/configure.pro
index b82104e..14a5a95 100644
--- a/tools/configure/configure.pro
+++ b/tools/configure/configure.pro
@@ -3,7 +3,7 @@ DESTDIR = ../..
CONFIG += console flat
CONFIG -= moc qt
-DEFINES = QT_NODLL QT_NO_CODECS QT_NO_TEXTCODEC QT_NO_UNICODETABLES QT_LITE_COMPONENT QT_NO_STL QT_NO_COMPRESS QT_BUILD_QMAKE QT_NO_THREAD QT_NO_QOBJECT _CRT_SECURE_NO_DEPRECATE
+DEFINES = UNICODE QT_NODLL QT_NO_CODECS QT_NO_TEXTCODEC QT_NO_UNICODETABLES QT_LITE_COMPONENT QT_NO_STL QT_NO_COMPRESS QT_BUILD_QMAKE QT_NO_THREAD QT_NO_QOBJECT _CRT_SECURE_NO_DEPRECATE
win32 : !win32-mwc : LIBS += -lole32 -ladvapi32
@@ -35,6 +35,7 @@ HEADERS = configureapp.h environment.h tools.h\
$$QT_SOURCE_TREE/src/corelib/tools/qlist.h \
$$QT_SOURCE_TREE/src/corelib/tools/qlocale.h \
$$QT_SOURCE_TREE/src/corelib/tools/qvector.h \
+ $$QT_SOURCE_TREE/src/corelib/codecs/qutfcodec_p.h \
$$QT_SOURCE_TREE/src/corelib/codecs/qtextcodec.h \
$$QT_SOURCE_TREE/src/corelib/global/qglobal.h \
$$QT_SOURCE_TREE/src/corelib/global/qnumeric.h \
@@ -67,6 +68,7 @@ SOURCES = main.cpp configureapp.cpp environment.cpp tools.cpp \
$$QT_SOURCE_TREE/src/corelib/tools/qlistdata.cpp \
$$QT_SOURCE_TREE/src/corelib/tools/qlocale.cpp \
$$QT_SOURCE_TREE/src/corelib/tools/qvector.cpp \
+ $$QT_SOURCE_TREE/src/corelib/codecs/qutfcodec.cpp \
$$QT_SOURCE_TREE/src/corelib/codecs/qtextcodec.cpp \
$$QT_SOURCE_TREE/src/corelib/global/qglobal.cpp \
$$QT_SOURCE_TREE/src/corelib/global/qnumeric.cpp \
diff --git a/tools/configure/configureapp.cpp b/tools/configure/configureapp.cpp
index a50019f..b87e8bb 100644
--- a/tools/configure/configureapp.cpp
+++ b/tools/configure/configureapp.cpp
@@ -116,16 +116,9 @@ Configure::Configure( int& argc, char** argv )
// Get the path to the executable
- QFileInfo sourcePathInfo;
- QT_WA({
- unsigned short module_name[256];
- GetModuleFileNameW(0, reinterpret_cast<wchar_t *>(module_name), sizeof(module_name));
- sourcePathInfo = QString::fromUtf16(module_name);
- }, {
- char module_name[256];
- GetModuleFileNameA(0, module_name, sizeof(module_name));
- sourcePathInfo = QString::fromLocal8Bit(module_name);
- });
+ wchar_t module_name[MAX_PATH];
+ GetModuleFileName(0, module_name, sizeof(module_name) / sizeof(wchar_t));
+ QFileInfo sourcePathInfo = QString::fromWCharArray(module_name);
sourcePath = sourcePathInfo.absolutePath();
sourceDir = sourcePathInfo.dir();
buildPath = QDir::currentPath();
@@ -252,6 +245,7 @@ Configure::Configure( int& argc, char** argv )
dictionary[ "XMLPATTERNS" ] = "auto";
dictionary[ "PHONON" ] = "auto";
dictionary[ "PHONON_BACKEND" ] = "yes";
+ dictionary[ "MULTIMEDIA" ] = "yes";
dictionary[ "DIRECTSHOW" ] = "no";
dictionary[ "WEBKIT" ] = "auto";
dictionary[ "PLUGIN_MANIFESTS" ] = "yes";
@@ -615,10 +609,13 @@ void Configure::parseCmdLine()
// cetest ---------------------------------------------------
else if (configCmdLine.at(i) == "-no-cetest") {
dictionary[ "CETEST" ] = "no";
+ dictionary[ "CETEST_REQUESTED" ] = "no";
} else if (configCmdLine.at(i) == "-cetest") {
// although specified to use it, we stay at "auto" state
// this is because checkAvailability() adds variables
- // we need for crosscompilation
+ // we need for crosscompilation; but remember if we asked
+ // for it.
+ dictionary[ "CETEST_REQUESTED" ] = "yes";
}
// Qt/CE - signing tool -------------------------------------
else if( configCmdLine.at(i) == "-signature") {
@@ -885,6 +882,10 @@ void Configure::parseCmdLine()
dictionary[ "XMLPATTERNS" ] = "no";
} else if( configCmdLine.at(i) == "-xmlpatterns" ) {
dictionary[ "XMLPATTERNS" ] = "yes";
+ } else if( configCmdLine.at(i) == "-no-multimedia" ) {
+ dictionary[ "MULTIMEDIA" ] = "no";
+ } else if( configCmdLine.at(i) == "-multimedia" ) {
+ dictionary[ "MULTIMEDIA" ] = "yes";
} else if( configCmdLine.at(i) == "-no-phonon" ) {
dictionary[ "PHONON" ] = "no";
} else if( configCmdLine.at(i) == "-phonon" ) {
@@ -1202,6 +1203,10 @@ void Configure::parseCmdLine()
useUnixSeparators = (dictionary["QMAKESPEC"] == "win32-g++");
+ // Allow tests for private classes to be compiled against internal builds
+ if (dictionary["BUILDDEV"] == "yes")
+ qtConfig += "private_tests";
+
#if !defined(EVAL)
for( QStringList::Iterator dis = disabledModules.begin(); dis != disabledModules.end(); ++dis ) {
@@ -1548,6 +1553,7 @@ bool Configure::displayHelp()
"[-no-openssl] [-no-dbus] [-dbus] [-dbus-linked] [-platform <spec>]\n"
"[-qtnamespace <namespace>] [-qtlibinfix <infix>] [-no-phonon]\n"
"[-phonon] [-no-phonon-backend] [-phonon-backend]\n"
+ "[-no-multimedia] [-multimedia]\n"
"[-no-webkit] [-webkit]\n"
"[-no-scripttools] [-scripttools]\n"
"[-graphicssystem raster|opengl|openvg]\n\n", 0, 7);
@@ -1728,6 +1734,8 @@ bool Configure::displayHelp()
desc("PHONON", "yes", "-phonon", "Compile the Phonon module (Phonon is built if a decent C++ compiler is used.)");
desc("PHONON_BACKEND","no", "-no-phonon-backend","Do not compile the platform-specific Phonon backend-plugin");
desc("PHONON_BACKEND","yes","-phonon-backend", "Compile in the platform-specific Phonon backend-plugin");
+ desc("MULTIMEDIA", "no", "-no-multimedia", "Do not compile the multimedia module");
+ desc("MULTIMEDIA", "yes","-multimedia", "Compile in multimedia module");
desc("WEBKIT", "no", "-no-webkit", "Do not compile in the WebKit module");
desc("WEBKIT", "yes", "-webkit", "Compile in the WebKit module (WebKit is built if a decent C++ compiler is used.)");
desc("SCRIPTTOOLS", "no", "-no-scripttools", "Do not build the QtScriptTools module.");
@@ -1794,39 +1802,49 @@ bool Configure::displayHelp()
return false;
}
-bool Configure::findFileInPaths(const QString &fileName, const QStringList &paths)
+QString Configure::findFileInPaths(const QString &fileName, const QString &paths)
{
+#if defined(Q_OS_WIN32)
+ QRegExp splitReg("[;,]");
+#else
+ QRegExp splitReg("[:]");
+#endif
+ QStringList pathList = paths.split(splitReg, QString::SkipEmptyParts);
QDir d;
- for( QStringList::ConstIterator it = paths.begin(); it != paths.end(); ++it ) {
+ for( QStringList::ConstIterator it = pathList.begin(); it != pathList.end(); ++it ) {
// Remove any leading or trailing ", this is commonly used in the environment
// variables
QString path = (*it);
- if ( path.startsWith( "\"" ) )
+ if ( path.startsWith( '\"' ) )
path = path.right( path.length() - 1 );
- if ( path.endsWith( "\"" ) )
+ if ( path.endsWith( '\"' ) )
path = path.left( path.length() - 1 );
if( d.exists( path + QDir::separator() + fileName ) )
- return true;
+ return path;
}
- return false;
+ return QString();
}
bool Configure::findFile( const QString &fileName )
{
- QString file = fileName.toLower();
- QStringList paths;
-#if defined(Q_OS_WIN32)
- QRegExp splitReg("[;,]");
-#else
- QRegExp splitReg("[:]");
-#endif
- if (file.endsWith(".h"))
- paths = QString::fromLocal8Bit(getenv("INCLUDE")).split(splitReg, QString::SkipEmptyParts);
- else if ( file.endsWith( ".lib" ) )
- paths = QString::fromLocal8Bit(getenv("LIB")).split(splitReg, QString::SkipEmptyParts);
- else
- paths = QString::fromLocal8Bit(getenv("PATH")).split(splitReg, QString::SkipEmptyParts);
- return findFileInPaths(file, paths);
+ const QString file = fileName.toLower();
+ const QString pathEnvVar = QString::fromLocal8Bit(getenv("PATH"));
+ const QString mingwPath = dictionary["QMAKESPEC"].endsWith("-g++") ?
+ findFileInPaths("mingw32-g++.exe", pathEnvVar) : QString();
+
+ QString paths;
+ if (file.endsWith(".h")) {
+ if (!mingwPath.isNull() && !findFileInPaths(file, mingwPath + QLatin1String("/../include")).isNull())
+ return true;
+ paths = QString::fromLocal8Bit(getenv("INCLUDE"));
+ } else if ( file.endsWith( ".lib" ) || file.endsWith( ".a" ) ) {
+ if (!mingwPath.isNull() && !findFileInPaths(file, mingwPath + QLatin1String("/../lib")).isNull())
+ return true;
+ paths = QString::fromLocal8Bit(getenv("LIB"));
+ } else {
+ paths = pathEnvVar;
+ }
+ return !findFileInPaths(file, paths).isNull();
}
/*!
@@ -1896,7 +1914,7 @@ bool Configure::checkAvailability(const QString &part)
{
bool available = false;
if (part == "STYLE_WINDOWSXP")
- available = (dictionary.value("QMAKESPEC") == "win32-g++" || findFile("uxtheme.h"));
+ available = (findFile("uxtheme.h"));
else if (part == "ZLIB")
available = findFile("zlib.h");
@@ -1971,6 +1989,11 @@ bool Configure::checkAvailability(const QString &part)
dictionary[ "QT_CE_RAPI_INC" ] += QLatin1String("\"") + rapiHeader + QLatin1String("\"");
dictionary[ "QT_CE_RAPI_LIB" ] += QLatin1String("\"") + rapiLib + QLatin1String("\"");
}
+ else if (dictionary[ "CETEST_REQUESTED" ] == "yes") {
+ cout << "cetest could not be enabled: rapi.h and rapi.lib could not be found." << endl;
+ cout << "Make sure the environment is set up for compiling with ActiveSync." << endl;
+ dictionary[ "DONE" ] = "error";
+ }
}
else if (part == "INCREDIBUILD_XGE")
available = findFile("BuildConsole.exe") && findFile("xgConsole.exe");
@@ -1982,14 +2005,25 @@ bool Configure::checkAvailability(const QString &part)
&& dictionary.value("QMAKESPEC") != "win32-msvc2002"
&& dictionary.value("EXCEPTIONS") == "yes";
} else if (part == "PHONON") {
- available = findFile("vmr9.h") && findFile("dshow.h") && findFile("strmiids.lib") &&
- findFile("dmoguids.lib") && findFile("msdmo.lib") && findFile("d3d9.h");
+ available = findFile("vmr9.h") && findFile("dshow.h") && findFile("dmo.h") && findFile("dmodshow.h")
+ && (findFile("strmiids.lib") || findFile("libstrmiids.a"))
+ && (findFile("dmoguids.lib") || findFile("libdmoguids.a"))
+ && (findFile("msdmo.lib") || findFile("libmsdmo.a"))
+ && findFile("d3d9.h");
if (!available) {
cout << "All the required DirectShow/Direct3D files couldn't be found." << endl
- << "Make sure you have either the platform SDK AND the DirectX SDK or the Windows SDK installed." << endl
- << "If you have the DirectX SDK installed, please make sure that you have run the <path to SDK>\\SetEnv.Cmd script." << endl;
- }
+ << "Make sure you have either the platform SDK AND the DirectShow SDK or the Windows SDK installed." << endl
+ << "If you have the DirectShow SDK installed, please make sure that you have run the <path to SDK>\\SetEnv.Cmd script." << endl;
+ if (!findFile("vmr9.h")) cout << "vmr9.h not found" << endl;
+ if (!findFile("dshow.h")) cout << "dshow.h not found" << endl;
+ if (!findFile("strmiids.lib")) cout << "strmiids.lib not found" << endl;
+ if (!findFile("dmoguids.lib")) cout << "dmoguids.lib not found" << endl;
+ if (!findFile("msdmo.lib")) cout << "msdmo.lib not found" << endl;
+ if (!findFile("d3d9.h")) cout << "d3d9.h not found" << endl;
+ }
+ } else if (part == "MULTIMEDIA") {
+ available = true;
} else if (part == "WEBKIT") {
available = (dictionary.value("QMAKESPEC") == "win32-msvc2005") || (dictionary.value("QMAKESPEC") == "win32-msvc2008") || (dictionary.value("QMAKESPEC") == "win32-g++");
} else if (part == "SCRIPTTOOLS") {
@@ -2152,7 +2186,6 @@ bool Configure::verifyConfiguration()
no-gif gif
dll staticlib
- internal
nocrosscompiler
GNUmake
largefile
@@ -2178,8 +2211,6 @@ void Configure::generateBuildKey()
QStringList build_options;
if (!dictionary["QCONFIG"].isEmpty())
build_options += dictionary["QCONFIG"] + "-config ";
- if (dictionary["STL"] == "no")
- build_options += "no-stl";
build_options.sort();
// Sorted defines that start with QT_NO_
@@ -2453,6 +2484,9 @@ void Configure::generateOutputVars()
qtConfig += "phonon-backend";
}
+ if (dictionary["MULTIMEDIA"] == "yes")
+ qtConfig += "multimedia";
+
if (dictionary["WEBKIT"] == "yes")
qtConfig += "webkit";
@@ -2837,6 +2871,7 @@ void Configure::generateConfigfiles()
if(dictionary["IPV6"] == "no") qconfigList += "QT_NO_IPV6";
if(dictionary["WEBKIT"] == "no") qconfigList += "QT_NO_WEBKIT";
if(dictionary["PHONON"] == "no") qconfigList += "QT_NO_PHONON";
+ if(dictionary["MULTIMEDIA"] == "no") qconfigList += "QT_NO_MULTIMEDIA";
if(dictionary["XMLPATTERNS"] == "no") qconfigList += "QT_NO_XMLPATTERNS";
if(dictionary["SCRIPTTOOLS"] == "no") qconfigList += "QT_NO_SCRIPTTOOLS";
if(dictionary["FREETYPE"] == "no") qconfigList += "QT_NO_FREETYPE";
@@ -2928,7 +2963,7 @@ void Configure::generateConfigfiles()
tmpFile.flush();
// Replace old qconfig.h with new one
- ::SetFileAttributesA(outName.toLocal8Bit(), FILE_ATTRIBUTE_NORMAL);
+ ::SetFileAttributes((wchar_t*)outName.utf16(), FILE_ATTRIBUTE_NORMAL);
QFile::remove(outName);
tmpFile.copy(outName);
tmpFile.close();
@@ -2964,7 +2999,7 @@ void Configure::generateConfigfiles()
}
outName = defSpec + "/qmake.conf";
- ::SetFileAttributesA(outName.toLocal8Bit(), FILE_ATTRIBUTE_NORMAL );
+ ::SetFileAttributes((wchar_t*)outName.utf16(), FILE_ATTRIBUTE_NORMAL );
QFile qmakeConfFile(outName);
if (qmakeConfFile.open(QFile::Append | QFile::WriteOnly | QFile::Text)) {
QTextStream qmakeConfStream;
@@ -3032,7 +3067,7 @@ void Configure::generateConfigfiles()
tmpFile2.flush();
// Replace old qconfig.cpp with new one
- ::SetFileAttributesA(outName.toLocal8Bit(), FILE_ATTRIBUTE_NORMAL );
+ ::SetFileAttributes((wchar_t*)outName.utf16(), FILE_ATTRIBUTE_NORMAL );
QFile::remove( outName );
tmpFile2.copy(outName);
tmpFile2.close();
@@ -3103,6 +3138,7 @@ void Configure::displayConfig()
cout << "QtDBus support.............." << dictionary[ "DBUS" ] << endl;
cout << "QtXmlPatterns support......." << dictionary[ "XMLPATTERNS" ] << endl;
cout << "Phonon support.............." << dictionary[ "PHONON" ] << endl;
+ cout << "Multimedia support.........." << dictionary[ "MULTIMEDIA" ] << endl;
cout << "WebKit support.............." << dictionary[ "WEBKIT" ] << endl;
cout << "QtScriptTools support......." << dictionary[ "SCRIPTTOOLS" ] << endl;
cout << "Graphics System............." << dictionary[ "GRAPHICS_SYSTEM" ] << endl;
@@ -3296,6 +3332,9 @@ void Configure::buildQmake()
void Configure::buildHostTools()
{
+ if (dictionary[ "NOPROCESS" ] == "yes")
+ dictionary[ "DONE" ] = "yes";
+
if (!dictionary.contains("XQMAKESPEC"))
return;
@@ -3521,15 +3560,26 @@ void Configure::generateMakefiles()
} else {
cout << "Processing of project files have been disabled." << endl;
cout << "Only use this option if you really know what you're doing." << endl << endl;
- dictionary[ "DONE" ] = "yes";
return;
}
}
void Configure::showSummary()
{
- cout << endl << endl << "Qt is now configured for building. Just run '" << qPrintable(dictionary["QTBUILDINSTRUCTION"]) << "'." << endl
+ QString make = dictionary[ "MAKE" ];
+ if (!dictionary.contains("XQMAKESPEC")) {
+ cout << endl << endl << "Qt is now configured for building. Just run " << qPrintable(make) << "." << endl;
+ cout << "To reconfigure, run " << qPrintable(make) << " confclean and configure." << endl << endl;
+ } else if(dictionary.value("QMAKESPEC").startsWith("wince")) {
+ // we are cross compiling for Windows CE
+ cout << endl << endl << "Qt is now configured for building. To start the build run:" << endl
+ << "\tsetcepaths " << dictionary.value("XQMAKESPEC") << endl
+ << "\t" << qPrintable(make) << endl
+ << "To reconfigure, run " << qPrintable(make) << " confclean and configure." << endl << endl;
+ } else { // Compiling for Symbian OS
+ cout << endl << endl << "Qt is now configured for building. To start the build run:" << qPrintable(dictionary["QTBUILDINSTRUCTION"]) << "." << endl
<< "To reconfigure, run '" << qPrintable(dictionary["CONFCLEANINSTRUCTION"]) << "' and configure." << endl;
+ }
}
Configure::ProjectType Configure::projectType( const QString& proFileName )
diff --git a/tools/configure/configureapp.h b/tools/configure/configureapp.h
index dc22ac9..03df28e 100644
--- a/tools/configure/configureapp.h
+++ b/tools/configure/configureapp.h
@@ -150,8 +150,8 @@ private:
QString fixSeparators(QString somePath);
bool filesDiffer(const QString &file1, const QString &file2);
- static bool findFile(const QString &fileName);
- static bool findFileInPaths(const QString &fileName, const QStringList &paths);
+ bool findFile(const QString &fileName);
+ static QString findFileInPaths(const QString &fileName, const QString &paths);
#if !defined(EVAL)
void reloadCmdLine();
void saveCmdLine();
diff --git a/tools/configure/environment.cpp b/tools/configure/environment.cpp
index 6dc8940..b4c61f8 100644
--- a/tools/configure/environment.cpp
+++ b/tools/configure/environment.cpp
@@ -146,26 +146,14 @@ QString Environment::readRegistryKey(HKEY parentHandle, const QString &rSubkey)
QString rSubkeyPath = keyPath(rSubkey);
HKEY handle = 0;
- LONG res;
- QT_WA( {
- res = RegOpenKeyExW(parentHandle, (WCHAR*)rSubkeyPath.utf16(),
- 0, KEY_READ, &handle);
- } , {
- res = RegOpenKeyExA(parentHandle, rSubkeyPath.toLocal8Bit(),
- 0, KEY_READ, &handle);
- } );
-
+ LONG res = RegOpenKeyEx(parentHandle, (wchar_t*)rSubkeyPath.utf16(), 0, KEY_READ, &handle);
if (res != ERROR_SUCCESS)
return QString();
// get the size and type of the value
DWORD dataType;
DWORD dataSize;
- QT_WA( {
- res = RegQueryValueExW(handle, (WCHAR*)rSubkeyName.utf16(), 0, &dataType, 0, &dataSize);
- }, {
- res = RegQueryValueExA(handle, rSubkeyName.toLocal8Bit(), 0, &dataType, 0, &dataSize);
- } );
+ res = RegQueryValueEx(handle, (wchar_t*)rSubkeyName.utf16(), 0, &dataType, 0, &dataSize);
if (res != ERROR_SUCCESS) {
RegCloseKey(handle);
return QString();
@@ -173,13 +161,8 @@ QString Environment::readRegistryKey(HKEY parentHandle, const QString &rSubkey)
// get the value
QByteArray data(dataSize, 0);
- QT_WA( {
- res = RegQueryValueExW(handle, (WCHAR*)rSubkeyName.utf16(), 0, 0,
- reinterpret_cast<unsigned char*>(data.data()), &dataSize);
- }, {
- res = RegQueryValueExA(handle, rSubkeyName.toLocal8Bit(), 0, 0,
- reinterpret_cast<unsigned char*>(data.data()), &dataSize);
- } );
+ res = RegQueryValueEx(handle, (wchar_t*)rSubkeyName.utf16(), 0, 0,
+ reinterpret_cast<unsigned char*>(data.data()), &dataSize);
if (res != ERROR_SUCCESS) {
RegCloseKey(handle);
return QString();
@@ -189,11 +172,7 @@ QString Environment::readRegistryKey(HKEY parentHandle, const QString &rSubkey)
switch (dataType) {
case REG_EXPAND_SZ:
case REG_SZ: {
- QT_WA( {
- result = QString::fromUtf16(((const ushort*)data.constData()));
- }, {
- result = QString::fromLatin1(data.constData());
- } );
+ result = QString::fromWCharArray(((const wchar_t *)data.constData()));
break;
}
@@ -201,29 +180,20 @@ QString Environment::readRegistryKey(HKEY parentHandle, const QString &rSubkey)
QStringList l;
int i = 0;
for (;;) {
- QString s;
- QT_WA( {
- s = QString::fromUtf16((const ushort*)data.constData() + i);
- }, {
- s = QString::fromLatin1(data.constData() + i);
- } );
+ QString s = QString::fromWCharArray((const wchar_t *)data.constData() + i);
i += s.length() + 1;
if (s.isEmpty())
break;
l.append(s);
}
- result = l.join(", ");
+ result = l.join(", ");
break;
}
case REG_NONE:
case REG_BINARY: {
- QT_WA( {
- result = QString::fromUtf16((const ushort*)data.constData(), data.size()/2);
- }, {
- result = QString::fromLatin1(data.constData(), data.size());
- } );
+ result = QString::fromWCharArray((const wchar_t *)data.constData(), data.size() / 2);
break;
}
@@ -232,7 +202,7 @@ QString Environment::readRegistryKey(HKEY parentHandle, const QString &rSubkey)
Q_ASSERT(data.size() == sizeof(int));
int i;
memcpy((char*)&i, data.constData(), sizeof(int));
- result = QString::number(i);
+ result = QString::number(i);
break;
}
@@ -350,29 +320,14 @@ bool Environment::detectExecutable(const QString &executable)
PROCESS_INFORMATION procInfo;
memset(&procInfo, 0, sizeof(procInfo));
- bool couldExecute;
- QT_WA({
- // Unicode version
- STARTUPINFOW startInfo;
- memset(&startInfo, 0, sizeof(startInfo));
- startInfo.cb = sizeof(startInfo);
-
- couldExecute = CreateProcessW(0, (WCHAR*)executable.utf16(),
- 0, 0, false,
- CREATE_NO_WINDOW | CREATE_SUSPENDED,
- 0, 0, &startInfo, &procInfo);
-
- }, {
- // Ansi version
- STARTUPINFOA startInfo;
- memset(&startInfo, 0, sizeof(startInfo));
- startInfo.cb = sizeof(startInfo);
+ STARTUPINFO startInfo;
+ memset(&startInfo, 0, sizeof(startInfo));
+ startInfo.cb = sizeof(startInfo);
- couldExecute = CreateProcessA(0, executable.toLocal8Bit().data(),
+ bool couldExecute = CreateProcess(0, (wchar_t*)executable.utf16(),
0, 0, false,
CREATE_NO_WINDOW | CREATE_SUSPENDED,
0, 0, &startInfo, &procInfo);
- })
if (couldExecute) {
CloseHandle(procInfo.hThread);
@@ -421,61 +376,38 @@ static QString qt_create_commandline(const QString &program, const QStringList &
}
/*!
- Creates a QByteArray of the \a environment in either UNICODE or
- ansi representation.
+ Creates a QByteArray of the \a environment.
*/
static QByteArray qt_create_environment(const QStringList &environment)
{
QByteArray envlist;
- if (!environment.isEmpty()) {
- int pos = 0;
- // add PATH if necessary (for DLL loading)
- QByteArray path = qgetenv("PATH");
- QT_WA({
- if (environment.filter(QRegExp("^PATH=",Qt::CaseInsensitive)).isEmpty()
- && !path.isNull()) {
- QString tmp = QString(QLatin1String("PATH=%1")).arg(QString::fromLocal8Bit(path));
- uint tmpSize = sizeof(TCHAR) * (tmp.length()+1);
- envlist.resize(envlist.size() + tmpSize );
- memcpy(envlist.data()+pos, tmp.utf16(), tmpSize);
- pos += tmpSize;
- }
- // add the user environment
- for (QStringList::ConstIterator it = environment.begin(); it != environment.end(); it++ ) {
- QString tmp = *it;
- uint tmpSize = sizeof(TCHAR) * (tmp.length()+1);
- envlist.resize(envlist.size() + tmpSize);
- memcpy(envlist.data()+pos, tmp.utf16(), tmpSize);
- pos += tmpSize;
- }
- // add the 2 terminating 0 (actually 4, just to be on the safe side)
- envlist.resize( envlist.size()+4 );
- envlist[pos++] = 0;
- envlist[pos++] = 0;
- envlist[pos++] = 0;
- envlist[pos++] = 0;
- }, {
- if (environment.filter(QRegExp("^PATH=",Qt::CaseInsensitive)).isEmpty() && !path.isNull()) {
- QByteArray tmp = QString("PATH=%1").arg(QString::fromLocal8Bit(path)).toLocal8Bit();
- uint tmpSize = tmp.length() + 1;
- envlist.resize(envlist.size() + tmpSize);
- memcpy(envlist.data()+pos, tmp.data(), tmpSize);
- pos += tmpSize;
- }
- // add the user environment
- for (QStringList::ConstIterator it = environment.begin(); it != environment.end(); it++) {
- QByteArray tmp = (*it).toLocal8Bit();
- uint tmpSize = tmp.length() + 1;
- envlist.resize(envlist.size() + tmpSize);
- memcpy(envlist.data()+pos, tmp.data(), tmpSize);
- pos += tmpSize;
- }
- // add the terminating 0 (actually 2, just to be on the safe side)
- envlist.resize(envlist.size()+2);
- envlist[pos++] = 0;
- envlist[pos++] = 0;
- })
+ if (environment.isEmpty())
+ return envlist;
+
+ int pos = 0;
+ // add PATH if necessary (for DLL loading)
+ QByteArray path = qgetenv("PATH");
+ if (environment.filter(QRegExp("^PATH=",Qt::CaseInsensitive)).isEmpty() && !path.isNull()) {
+ QString tmp = QString(QLatin1String("PATH=%1")).arg(QString::fromLocal8Bit(path));
+ uint tmpSize = sizeof(wchar_t) * (tmp.length() + 1);
+ envlist.resize(envlist.size() + tmpSize);
+ memcpy(envlist.data() + pos, tmp.utf16(), tmpSize);
+ pos += tmpSize;
}
+ // add the user environment
+ for (QStringList::ConstIterator it = environment.begin(); it != environment.end(); it++ ) {
+ QString tmp = *it;
+ uint tmpSize = sizeof(wchar_t) * (tmp.length() + 1);
+ envlist.resize(envlist.size() + tmpSize);
+ memcpy(envlist.data() + pos, tmp.utf16(), tmpSize);
+ pos += tmpSize;
+ }
+ // add the 2 terminating 0 (actually 4, just to be on the safe side)
+ envlist.resize(envlist.size() + 4);
+ envlist[pos++] = 0;
+ envlist[pos++] = 0;
+ envlist[pos++] = 0;
+ envlist[pos++] = 0;
return envlist;
}
@@ -501,46 +433,24 @@ int Environment::execute(QStringList arguments, const QStringList &additionalEnv
qDebug() << " " << additionalEnv;
qDebug() << " " << removeEnv;
#endif
-// GetEnvironmentStrings is defined to GetEnvironmentStringsW when
-// UNICODE is defined. We cannot use that, since we need to
-// destinguish between unicode and ansi versions of the functions.
-#if defined(UNICODE) && defined(GetEnvironmentStrings)
-#undef GetEnvironmentStrings
-#endif
-
// Create the full environment from the current environment and
// the additionalEnv strings, then remove all variables defined
// in removeEnv
QMap<QString, QString> fullEnvMap;
- QT_WA({
- LPWSTR envStrings = GetEnvironmentStringsW();
- if (envStrings) {
- int strLen = 0;
- for (LPWSTR envString = envStrings; *(envString); envString += strLen + 1) {
- strLen = wcslen(envString);
- QString str = QString((const QChar*)envString, strLen);
- if (!str.startsWith("=")) { // These are added by the system
- int sepIndex = str.indexOf('=');
- fullEnvMap.insert(str.left(sepIndex).toUpper(), str.mid(sepIndex +1));
- }
- }
- }
- FreeEnvironmentStringsW(envStrings);
- }, {
- LPSTR envStrings = GetEnvironmentStrings();
- if (envStrings) {
- int strLen = 0;
- for (LPSTR envString = envStrings; *(envString); envString += strLen + 1) {
- strLen = strlen(envString);
- QString str = QLatin1String(envString);
- if (!str.startsWith("=")) { // These are added by the system
- int sepIndex = str.indexOf('=');
- fullEnvMap.insert(str.left(sepIndex).toUpper(), str.mid(sepIndex +1));
- }
+ LPWSTR envStrings = GetEnvironmentStrings();
+ if (envStrings) {
+ int strLen = 0;
+ for (LPWSTR envString = envStrings; *(envString); envString += strLen + 1) {
+ strLen = wcslen(envString);
+ QString str = QString((const QChar*)envString, strLen);
+ if (!str.startsWith("=")) { // These are added by the system
+ int sepIndex = str.indexOf('=');
+ fullEnvMap.insert(str.left(sepIndex).toUpper(), str.mid(sepIndex +1));
}
}
- FreeEnvironmentStringsA(envStrings);
- })
+ }
+ FreeEnvironmentStrings(envStrings);
+
// Add additionalEnv variables
for (int i = 0; i < additionalEnv.count(); ++i) {
const QString &str = additionalEnv.at(i);
@@ -569,28 +479,14 @@ int Environment::execute(QStringList arguments, const QStringList &additionalEnv
PROCESS_INFORMATION procInfo;
memset(&procInfo, 0, sizeof(procInfo));
- bool couldExecute;
- QT_WA({
- // Unicode version
- STARTUPINFOW startInfo;
- memset(&startInfo, 0, sizeof(startInfo));
- startInfo.cb = sizeof(startInfo);
+ STARTUPINFO startInfo;
+ memset(&startInfo, 0, sizeof(startInfo));
+ startInfo.cb = sizeof(startInfo);
- couldExecute = CreateProcessW(0, (WCHAR*)args.utf16(),
+ bool couldExecute = CreateProcess(0, (wchar_t*)args.utf16(),
0, 0, true, CREATE_UNICODE_ENVIRONMENT,
envlist.isEmpty() ? 0 : envlist.data(),
0, &startInfo, &procInfo);
- }, {
- // Ansi version
- STARTUPINFOA startInfo;
- memset(&startInfo, 0, sizeof(startInfo));
- startInfo.cb = sizeof(startInfo);
-
- couldExecute = CreateProcessA(0, args.toLocal8Bit().data(),
- 0, 0, true, 0,
- envlist.isEmpty() ? 0 : envlist.data(),
- 0, &startInfo, &procInfo);
- })
if (couldExecute) {
WaitForSingleObject(procInfo.hProcess, INFINITE);
@@ -654,7 +550,7 @@ bool Environment::cpdir(const QString &srcDir, const QString &destDir)
#endif
QFile::remove(destFile);
intermediate = QFile::copy(entry.absoluteFilePath(), destFile);
- SetFileAttributesA(destFile.toLocal8Bit(), FILE_ATTRIBUTE_NORMAL);
+ SetFileAttributes((wchar_t*)destFile.utf16(), FILE_ATTRIBUTE_NORMAL);
}
if(!intermediate) {
qDebug() << "cpdir: Failure for " << entry.fileName() << entry.isDir();
diff --git a/tools/configure/main.cpp b/tools/configure/main.cpp
index 0e13c7a..e5c04cc 100644
--- a/tools/configure/main.cpp
+++ b/tools/configure/main.cpp
@@ -95,7 +95,7 @@ int runConfigure( int argc, char** argv )
#endif
if( !app.isDone() )
app.generateMakefiles();
- if( !app.isDone() && app.isOk() )
+ if( !app.isDone() )
app.buildHostTools();
if( !app.isDone() )
app.showSummary();
diff --git a/tools/configure/tools.cpp b/tools/configure/tools.cpp
index f60f72c..708a537 100644
--- a/tools/configure/tools.cpp
+++ b/tools/configure/tools.cpp
@@ -201,8 +201,8 @@ void Tools::checkLicense(QMap<QString,QString> &dictionary, QMap<QString,QString
if (licenseFeatures == '5') //Floating
dictionary["METERED LICENSE"] = "true";
- if (!CopyFileA(QDir::toNativeSeparators(fromLicenseFile).toLocal8Bit(),
- QDir::toNativeSeparators(toLicenseFile).toLocal8Bit(), FALSE)) {
+ if (!CopyFile((wchar_t*)QDir::toNativeSeparators(fromLicenseFile).utf16(),
+ (wchar_t*)QDir::toNativeSeparators(toLicenseFile).utf16(), FALSE)) {
cout << "Failed to copy license file (" << fromLicenseFile << ")";
dictionary["DONE"] = "error";
return;
diff --git a/tools/designer/data/generate_shared.xsl b/tools/designer/data/generate_shared.xsl
index f7859cd..ec95fe2 100644
--- a/tools/designer/data/generate_shared.xsl
+++ b/tools/designer/data/generate_shared.xsl
@@ -6,8 +6,8 @@
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<!-- Hack to make names camel case
- All names in ui files are lowercase, while the element names are
- capital case. To make the ui files conforming to the xsd file + keep
+ All names in UI files are lowercase, while the element names are
+ capital case. To make the UI files conforming to the XSD file + keep
the DOM interface we rename them here -->
<xsl:template name="camel-case">
<xsl:param name="text"/>
diff --git a/tools/designer/src/components/formeditor/brushmanagerproxy.h b/tools/designer/src/components/formeditor/brushmanagerproxy.h
index 9314120..bfd95e5 100644
--- a/tools/designer/src/components/formeditor/brushmanagerproxy.h
+++ b/tools/designer/src/components/formeditor/brushmanagerproxy.h
@@ -64,7 +64,7 @@ public:
private:
QScopedPointer<BrushManagerProxyPrivate> d_ptr;
- Q_DECLARE_SCOPED_PRIVATE(BrushManagerProxy)
+ Q_DECLARE_PRIVATE(BrushManagerProxy)
Q_DISABLE_COPY(BrushManagerProxy)
Q_PRIVATE_SLOT(d_func(), void brushAdded(const QString &, const QBrush &))
Q_PRIVATE_SLOT(d_func(), void brushRemoved(const QString &name))
diff --git a/tools/designer/src/components/formeditor/qdesigner_resource.cpp b/tools/designer/src/components/formeditor/qdesigner_resource.cpp
index de4b57b..ac03909 100644
--- a/tools/designer/src/components/formeditor/qdesigner_resource.cpp
+++ b/tools/designer/src/components/formeditor/qdesigner_resource.cpp
@@ -631,13 +631,13 @@ static bool readUiAttributes(QIODevice *dev, QString *errorMessage,
*language = attributes.value(languageAttribute).toString();
return true;
} else {
- *errorMessage = QCoreApplication::translate("Designer", "Invalid ui file: The root element <ui> is missing.");
+ *errorMessage = QCoreApplication::translate("Designer", "Invalid UI file: The root element <ui> is missing.");
return false;
}
}
}
- *errorMessage = QCoreApplication::translate("Designer", "An error has occurred while reading the ui file at line %1, column %2: %3")
+ *errorMessage = QCoreApplication::translate("Designer", "An error has occurred while reading the UI file at line %1, column %2: %3")
.arg(reader.lineNumber()).arg(reader.columnNumber()).arg(reader.errorString());
return false;
}
@@ -756,7 +756,7 @@ void QDesignerResource::setSaveRelative(bool relative)
QWidget *QDesignerResource::create(DomUI *ui, QWidget *parentWidget)
{
// Load extra info extension. This is used by Jambi for preventing
- // C++ ui files from being loaded
+ // C++ UI files from being loaded
if (QDesignerExtraInfoExtension *extra = qt_extension<QDesignerExtraInfoExtension*>(core()->extensionManager(), core())) {
if (!extra->loadUiExtraInfo(ui)) {
const QString errorMessage = QApplication::translate("Designer", "This file cannot be read because the extra info extension failed to load.");
diff --git a/tools/designer/src/components/formeditor/qtbrushmanager.h b/tools/designer/src/components/formeditor/qtbrushmanager.h
index e6ced60..4884c577 100644
--- a/tools/designer/src/components/formeditor/qtbrushmanager.h
+++ b/tools/designer/src/components/formeditor/qtbrushmanager.h
@@ -78,7 +78,7 @@ signals:
private:
QScopedPointer<QtBrushManagerPrivate> d_ptr;
- Q_DECLARE_SCOPED_PRIVATE(QtBrushManager)
+ Q_DECLARE_PRIVATE(QtBrushManager)
Q_DISABLE_COPY(QtBrushManager)
};
diff --git a/tools/designer/src/components/propertyeditor/designerpropertymanager.cpp b/tools/designer/src/components/propertyeditor/designerpropertymanager.cpp
index fb1a5bb..ca55b15 100644
--- a/tools/designer/src/components/propertyeditor/designerpropertymanager.cpp
+++ b/tools/designer/src/components/propertyeditor/designerpropertymanager.cpp
@@ -254,8 +254,11 @@ void TextEditor::resourceActionActivated()
{
QString oldPath = m_editor->text();
if (oldPath.startsWith(QLatin1String("qrc:")))
- oldPath = oldPath.mid(4);
- const QString newPath = IconSelector::choosePixmapResource(m_core, m_core->resourceModel(), oldPath, this);
+ oldPath.remove(0, 4);
+ // returns ':/file'
+ QString newPath = IconSelector::choosePixmapResource(m_core, m_core->resourceModel(), oldPath, this);
+ if (newPath.startsWith(QLatin1Char(':')))
+ newPath.remove(0, 1);
if (newPath.isEmpty() || newPath == oldPath)
return;
const QString newText = QLatin1String("qrc:") + newPath;
diff --git a/tools/designer/src/components/signalsloteditor/connectdialog.ui b/tools/designer/src/components/signalsloteditor/connectdialog.ui
index bd062eb..568516a 100644
--- a/tools/designer/src/components/signalsloteditor/connectdialog.ui
+++ b/tools/designer/src/components/signalsloteditor/connectdialog.ui
@@ -13,7 +13,7 @@
<string>Configure Connection</string>
</property>
<layout class="QGridLayout" >
- <item row="0" column="0" colspan="2" >
+ <item row="0" column="0" >
<widget class="QGroupBox" name="signalGroupBox" >
<property name="title" >
<string>GroupBox</string>
@@ -53,7 +53,7 @@
</layout>
</widget>
</item>
- <item row="0" column="2" >
+ <item row="0" column="1" >
<widget class="QGroupBox" name="slotGroupBox" >
<property name="title" >
<string>GroupBox</string>
@@ -93,14 +93,14 @@
</layout>
</widget>
</item>
- <item row="1" column="0" >
+ <item row="1" column="0" colspan="2" >
<widget class="QCheckBox" name="showAllCheckBox" >
<property name="text" >
<string>Show signals and slots inherited from QWidget</string>
</property>
</widget>
</item>
- <item row="2" column="1" colspan="2" >
+ <item row="2" column="0" colspan="2" >
<widget class="QDialogButtonBox" name="buttonBox" >
<property name="orientation" >
<enum>Qt::Horizontal</enum>
diff --git a/tools/designer/src/designer/Info_mac.plist b/tools/designer/src/designer/Info_mac.plist
index 8632a6d..f19176f 100644
--- a/tools/designer/src/designer/Info_mac.plist
+++ b/tools/designer/src/designer/Info_mac.plist
@@ -22,7 +22,7 @@
<string>ui</string>
</array>
<key>CFBundleTypeIconFile</key>
- <string>@ICON@</string>
+ <string>uifile.icns</string>
<key>CFBundleTypeRole</key>
<string>Editor</string>
<key>LSIsAppleDefaultForType</key>
diff --git a/tools/designer/src/designer/designer.pro b/tools/designer/src/designer/designer.pro
index e7fa038..aa6850c 100644
--- a/tools/designer/src/designer/designer.pro
+++ b/tools/designer/src/designer/designer.pro
@@ -78,6 +78,9 @@ mac {
ICON = designer.icns
QMAKE_INFO_PLIST = Info_mac.plist
TARGET = Designer
+ FILETYPES.files = uifile.icns
+ FILETYPES.path = Contents/Resources
+ QMAKE_BUNDLE_DATA += FILETYPES
}
target.path=$$[QT_INSTALL_BINS]
diff --git a/tools/designer/src/designer/designer.rc b/tools/designer/src/designer/designer.rc
index 4b6324b..1f8bc0a 100644
--- a/tools/designer/src/designer/designer.rc
+++ b/tools/designer/src/designer/designer.rc
@@ -1,2 +1,32 @@
+#include "winver.h"
+
IDI_ICON1 ICON DISCARDABLE "designer.ico"
+VS_VERSION_INFO VERSIONINFO
+ FILEVERSION 1,0,0,0
+ PRODUCTVERSION 1,0,0,0
+ FILEFLAGS 0x0L
+ FILEFLAGSMASK 0x3fL
+ FILEOS 0x00040004L
+ FILETYPE 0x1L
+ FILESUBTYPE 0x0L
+BEGIN
+ BLOCK "StringFileInfo"
+ BEGIN
+ BLOCK "000004b0"
+ BEGIN
+ VALUE "CompanyName", "Nokia Corporation and/or its subsidiary(-ies)"
+ VALUE "FileDescription", "Qt Designer"
+ VALUE "FileVersion", "1.0.0.0"
+ VALUE "LegalCopyright", "Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies)."
+ VALUE "InternalName", "designer"
+ VALUE "OriginalFilename", "designer.exe"
+ VALUE "ProductName", "Qt Designer"
+ VALUE "ProductVersion", "1.0.0.0"
+ END
+ END
+ BLOCK "VarFileInfo"
+ BEGIN
+ VALUE "Translation", 0x0, 1200
+ END
+END
diff --git a/tools/designer/src/designer/mainwindow.cpp b/tools/designer/src/designer/mainwindow.cpp
index b72a790..a3ca234 100644
--- a/tools/designer/src/designer/mainwindow.cpp
+++ b/tools/designer/src/designer/mainwindow.cpp
@@ -155,7 +155,7 @@ DockedMdiArea::DockedMdiArea(const QString &extension, QWidget *parent) :
QStringList DockedMdiArea::uiFiles(const QMimeData *d) const
{
- // Extract dropped ui files from Mime data.
+ // Extract dropped UI files from Mime data.
QStringList rc;
if (!d->hasFormat(QLatin1String(uriListMimeFormatC)))
return rc;
diff --git a/tools/designer/src/designer/qdesigner_workbench.cpp b/tools/designer/src/designer/qdesigner_workbench.cpp
index 923687a2..2ac9e1f 100644
--- a/tools/designer/src/designer/qdesigner_workbench.cpp
+++ b/tools/designer/src/designer/qdesigner_workbench.cpp
@@ -410,6 +410,12 @@ void QDesignerWorkbench::switchToDockedMode()
switchToNeutralMode();
+#ifndef Q_WS_MAC
+ QDesignerToolWindow *widgetBoxWrapper = widgetBoxToolWindow();
+ widgetBoxWrapper->action()->setVisible(true);
+ widgetBoxWrapper->setWindowTitle(tr("Widget Box"));
+#endif
+
m_mode = DockedMode;
const QDesignerSettings settings(m_core);
m_dockedMainWindow = new DockedMainWindow(this, m_toolbarMenu, m_toolWindows);
@@ -462,8 +468,6 @@ void QDesignerWorkbench::switchToTopLevelMode()
// make sure that the widgetbox is visible if it is different from neutral.
QDesignerToolWindow *widgetBoxWrapper = widgetBoxToolWindow();
Q_ASSERT(widgetBoxWrapper);
- if (!widgetBoxWrapper->action()->isChecked())
- widgetBoxWrapper->action()->trigger();
switchToNeutralMode();
const QPoint desktopOffset = desktopGeometry().topLeft();
@@ -502,9 +506,6 @@ void QDesignerWorkbench::switchToTopLevelMode()
found_visible_window |= tw->isVisible();
}
- if (!widgetBoxWrapper->action()->isChecked())
- widgetBoxWrapper->action()->trigger();
-
if (!m_toolWindows.isEmpty() && !found_visible_window)
m_toolWindows.first()->show();
@@ -960,7 +961,7 @@ QDesignerFormWindow * QDesignerWorkbench::loadForm(const QString &fileName,
removeFormWindow(formWindow);
formWindowManager->removeFormWindow(editor);
m_core->metaDataBase()->remove(editor);
- *errorMessage = tr("The file <b>%1</b> is not a valid Designer ui file.").arg(file.fileName());
+ *errorMessage = tr("The file <b>%1</b> is not a valid Designer UI file.").arg(file.fileName());
return 0;
}
*uic3Converted = editor->fileName().isEmpty();
diff --git a/tools/designer/src/designer/uifile.icns b/tools/designer/src/designer/uifile.icns
new file mode 100644
index 0000000..2473ea4
--- /dev/null
+++ b/tools/designer/src/designer/uifile.icns
Binary files differ
diff --git a/tools/designer/src/lib/sdk/abstractformwindow.cpp b/tools/designer/src/lib/sdk/abstractformwindow.cpp
index 89c1015..313b324 100644
--- a/tools/designer/src/lib/sdk/abstractformwindow.cpp
+++ b/tools/designer/src/lib/sdk/abstractformwindow.cpp
@@ -247,7 +247,7 @@ QDesignerFormWindowInterface *QDesignerFormWindowInterface::findFormWindow(QObje
/*!
\fn virtual QString QDesignerFormWindowInterface::fileName() const
- Returns the file name of the .ui file that describes the form
+ Returns the file name of the UI file that describes the form
currently being shown.
\sa setFileName()
@@ -399,11 +399,11 @@ QDesignerFormWindowInterface *QDesignerFormWindowInterface::findFormWindow(QObje
\fn virtual QStringList QDesignerFormWindowInterface::includeHints() const
Returns a list of the header files that will be included in the
- form window's associated \c .ui file.
+ form window's associated UI file.
Header files may be local, i.e. relative to the project's
- directory,\c "mywidget.h", or global, i.e. part of Qt or the
- compilers standard libraries:\c <QtGui/QWidget>.
+ directory, \c "mywidget.h", or global, i.e. part of Qt or the
+ compilers standard libraries: \c <QtGui/QWidget>.
\sa setIncludeHints()
*/
@@ -412,11 +412,11 @@ QDesignerFormWindowInterface *QDesignerFormWindowInterface::findFormWindow(QObje
\fn virtual void QDesignerFormWindowInterface::setIncludeHints(const QStringList &includeHints)
Sets the header files that will be included in the form window's
- associated \c .ui file to the specified \a includeHints.
+ associated UI file to the specified \a includeHints.
Header files may be local, i.e. relative to the project's
- directory,\c "mywidget.h", or global, i.e. part of Qt or the
- compilers standard libraries:\c <QtGui/QWidget>.
+ directory, \c "mywidget.h", or global, i.e. part of Qt or the
+ compilers standard libraries: \c <QtGui/QWidget>.
\sa includeHints()
*/
diff --git a/tools/designer/src/lib/sdk/script.cpp b/tools/designer/src/lib/sdk/script.cpp
index 90b4c73..2eda3d1 100644
--- a/tools/designer/src/lib/sdk/script.cpp
+++ b/tools/designer/src/lib/sdk/script.cpp
@@ -54,7 +54,7 @@ QT_BEGIN_NAMESPACE
\since 4.3
On saving the form, the extension is queried for a script snippet
- to be associated with the widget while saving the \c .ui file.
+ to be associated with the widget while saving the UI file.
This script is then run after creating the widget by \l uic or
QUiLoader.
@@ -66,7 +66,7 @@ QT_BEGIN_NAMESPACE
for which an editor is provided by the QDesignerTaskMenuExtension.
While saving the form, the state is serialized as a QVariantMap of
- \QD-supported properties, which is stored in the \c .ui file. This is
+ \QD-supported properties, which is stored in the UI file. This is
handled by data() and setData().
For item view contents, there might be for example a key that determines
@@ -97,7 +97,7 @@ QDesignerScriptExtension::~QDesignerScriptExtension()
\fn virtual QVariantMap QDesignerScriptExtension::data() const
Returns a map of variants describing the internal state to be
- stored in the \c .ui file.
+ stored in the UI file.
*/
/*!
diff --git a/tools/designer/src/lib/shared/iconselector_p.h b/tools/designer/src/lib/shared/iconselector_p.h
index e91a21e..9190d54 100644
--- a/tools/designer/src/lib/shared/iconselector_p.h
+++ b/tools/designer/src/lib/shared/iconselector_p.h
@@ -88,7 +88,7 @@ public:
private:
QScopedPointer<class LanguageResourceDialogPrivate> d_ptr;
- Q_DECLARE_SCOPED_PRIVATE(LanguageResourceDialog)
+ Q_DECLARE_PRIVATE(LanguageResourceDialog)
Q_DISABLE_COPY(LanguageResourceDialog)
Q_PRIVATE_SLOT(d_func(), void slotAccepted())
Q_PRIVATE_SLOT(d_func(), void slotPathChanged(QString))
@@ -121,7 +121,7 @@ signals:
void iconChanged(const PropertySheetIconValue &icon);
private:
QScopedPointer<class IconSelectorPrivate> d_ptr;
- Q_DECLARE_SCOPED_PRIVATE(IconSelector)
+ Q_DECLARE_PRIVATE(IconSelector)
Q_DISABLE_COPY(IconSelector)
Q_PRIVATE_SLOT(d_func(), void slotStateActivated())
diff --git a/tools/designer/src/lib/shared/qdesigner_propertysheet.cpp b/tools/designer/src/lib/shared/qdesigner_propertysheet.cpp
index f43b527..5b22a86 100644
--- a/tools/designer/src/lib/shared/qdesigner_propertysheet.cpp
+++ b/tools/designer/src/lib/shared/qdesigner_propertysheet.cpp
@@ -1381,6 +1381,24 @@ bool QDesignerPropertySheet::isFakeLayoutProperty(int index) const
return false;
}
+// Determine the "designable" state of a property. Properties, which have
+// a per-object boolean test function that returns false are shown in
+// disabled state ("checked" depending on "checkable", etc.)
+// Properties, which are generally not designable independent
+// of the object are not shown at all.
+enum DesignableState { PropertyIsDesignable,
+ // Object has a Designable test function that returns false.
+ PropertyOfObjectNotDesignable,
+ PropertyNotDesignable };
+
+static inline DesignableState designableState(const QDesignerMetaPropertyInterface *p, const QObject *object)
+{
+ if (p->attributes(object) & QDesignerMetaPropertyInterface::DesignableAttribute)
+ return PropertyIsDesignable;
+ return (p->attributes() & QDesignerMetaPropertyInterface::DesignableAttribute) ?
+ PropertyOfObjectNotDesignable : PropertyNotDesignable;
+}
+
bool QDesignerPropertySheet::isVisible(int index) const
{
if (d->invalidIndex(Q_FUNC_INFO, index))
@@ -1450,9 +1468,8 @@ bool QDesignerPropertySheet::isVisible(int index) const
if (!(p->accessFlags() & QDesignerMetaPropertyInterface::WriteAccess))
return false;
- // Enabled handling
- return (p->attributes(d->m_object) & QDesignerMetaPropertyInterface::DesignableAttribute) ||
- (p->attributes() & QDesignerMetaPropertyInterface::DesignableAttribute);
+ // Enabled handling: Hide only statically not designable properties
+ return designableState(p, d->m_object) != PropertyNotDesignable;
}
void QDesignerPropertySheet::setVisible(int index, bool visible)
@@ -1482,9 +1499,12 @@ bool QDesignerPropertySheet::isEnabled(int index) const
if (d->m_info.value(index).visible == true) // Sun CC 5.5 oddity, wants true
return true;
+ // Enable setting of properties for statically non-designable properties
+ // as this might be done via TaskMenu/Cursor::setProperty. Note that those
+ // properties are not visible.
const QDesignerMetaPropertyInterface *p = d->m_meta->property(index);
return (p->accessFlags() & QDesignerMetaPropertyInterface::WriteAccess) &&
- (p->attributes(d->m_object) & QDesignerMetaPropertyInterface::DesignableAttribute);
+ designableState(p, d->m_object) != PropertyOfObjectNotDesignable;
}
bool QDesignerPropertySheet::isAttribute(int index) const
diff --git a/tools/designer/src/lib/shared/qtresourceeditordialog_p.h b/tools/designer/src/lib/shared/qtresourceeditordialog_p.h
index 59c5ca6..6eac2b8 100644
--- a/tools/designer/src/lib/shared/qtresourceeditordialog_p.h
+++ b/tools/designer/src/lib/shared/qtresourceeditordialog_p.h
@@ -85,7 +85,7 @@ private:
~QtResourceEditorDialog();
QScopedPointer<class QtResourceEditorDialogPrivate> d_ptr;
- Q_DECLARE_SCOPED_PRIVATE(QtResourceEditorDialog)
+ Q_DECLARE_PRIVATE(QtResourceEditorDialog)
Q_DISABLE_COPY(QtResourceEditorDialog)
Q_PRIVATE_SLOT(d_func(), void slotQrcFileInserted(QtQrcFile *))
diff --git a/tools/designer/src/lib/shared/qtresourcemodel_p.h b/tools/designer/src/lib/shared/qtresourcemodel_p.h
index 22e98bb..e9f1c93 100644
--- a/tools/designer/src/lib/shared/qtresourcemodel_p.h
+++ b/tools/designer/src/lib/shared/qtresourcemodel_p.h
@@ -89,7 +89,7 @@ private:
friend class QtResourceModel;
QScopedPointer<class QtResourceSetPrivate> d_ptr;
- Q_DECLARE_SCOPED_PRIVATE(QtResourceSet)
+ Q_DECLARE_PRIVATE(QtResourceSet)
Q_DISABLE_COPY(QtResourceSet)
};
@@ -134,7 +134,7 @@ private:
friend class QtResourceSet;
QScopedPointer<class QtResourceModelPrivate> d_ptr;
- Q_DECLARE_SCOPED_PRIVATE(QtResourceModel)
+ Q_DECLARE_PRIVATE(QtResourceModel)
Q_DISABLE_COPY(QtResourceModel)
Q_PRIVATE_SLOT(d_func(), void slotFileChanged(const QString &))
diff --git a/tools/designer/src/lib/shared/qtresourceview_p.h b/tools/designer/src/lib/shared/qtresourceview_p.h
index 82bb8d8..0484686 100644
--- a/tools/designer/src/lib/shared/qtresourceview_p.h
+++ b/tools/designer/src/lib/shared/qtresourceview_p.h
@@ -103,7 +103,7 @@ protected:
private:
QScopedPointer<class QtResourceViewPrivate> d_ptr;
- Q_DECLARE_SCOPED_PRIVATE(QtResourceView)
+ Q_DECLARE_PRIVATE(QtResourceView)
Q_DISABLE_COPY(QtResourceView)
Q_PRIVATE_SLOT(d_func(), void slotResourceSetActivated(QtResourceSet *))
Q_PRIVATE_SLOT(d_func(), void slotCurrentPathChanged(QTreeWidgetItem *))
@@ -131,7 +131,7 @@ public:
private:
QScopedPointer<class QtResourceViewDialogPrivate> d_ptr;
- Q_DECLARE_SCOPED_PRIVATE(QtResourceViewDialog)
+ Q_DECLARE_PRIVATE(QtResourceViewDialog)
Q_DISABLE_COPY(QtResourceViewDialog)
Q_PRIVATE_SLOT(d_func(), void slotResourceSelected(const QString &))
};
diff --git a/tools/designer/src/lib/shared/widgetfactory.cpp b/tools/designer/src/lib/shared/widgetfactory.cpp
index 6c45daf..7080ed3 100644
--- a/tools/designer/src/lib/shared/widgetfactory.cpp
+++ b/tools/designer/src/lib/shared/widgetfactory.cpp
@@ -834,9 +834,11 @@ bool WidgetFactory::isPassiveInteractor(QWidget *widget)
if (isTabBarInteractor(tabBar))
m_lastWasAPassiveInteractor = true;
return m_lastWasAPassiveInteractor;
- } else if (qobject_cast<QSizeGrip*>(widget))
+#ifndef QT_NO_SIZEGRIP
+ } else if (qobject_cast<QSizeGrip*>(widget)) {
return (m_lastWasAPassiveInteractor = true);
- else if (qobject_cast<QMdiSubWindow*>(widget))
+#endif
+ } else if (qobject_cast<QMdiSubWindow*>(widget))
return (m_lastWasAPassiveInteractor = true);
else if (qobject_cast<QAbstractButton*>(widget) && (qobject_cast<QTabBar*>(widget->parent()) || qobject_cast<QToolBox*>(widget->parent())))
return (m_lastWasAPassiveInteractor = true);
diff --git a/tools/designer/src/lib/uilib/abstractformbuilder.cpp b/tools/designer/src/lib/uilib/abstractformbuilder.cpp
index 5a6e1f5..1711d43 100644
--- a/tools/designer/src/lib/uilib/abstractformbuilder.cpp
+++ b/tools/designer/src/lib/uilib/abstractformbuilder.cpp
@@ -135,7 +135,7 @@ public:
QAbstractFormBuilder provides a standard interface and a default
implementation for constructing forms from user interface
files. It is not intended to be instantiated directly. Use the
- QFormBuilder class to create user interfaces from \c{.ui} files at
+ QFormBuilder class to create user interfaces from UI files at
run-time. For example:
\snippet doc/src/snippets/code/tools_designer_src_lib_uilib_abstractformbuilder.cpp 0
@@ -145,10 +145,10 @@ public:
functions:
\list
- \o load() handles reading of \c{.ui} format files from arbitrary
+ \o load() handles reading of UI format files from arbitrary
QIODevices, and construction of widgets from the XML data
that they contain.
- \o save() handles saving of widget details in \c{.ui} format to
+ \o save() handles saving of widget details in UI format to
arbitrary QIODevices.
\o workingDirectory() and setWorkingDirectory() control the
directory in which forms are held. The form builder looks for
@@ -208,13 +208,13 @@ QWidget *QAbstractFormBuilder::load(QIODevice *dev, QWidget *parentWidget)
}
}
if (reader.hasError()) {
- uiLibWarning(QCoreApplication::translate("QAbstractFormBuilder", "An error has occurred while reading the ui file at line %1, column %2: %3")
+ uiLibWarning(QCoreApplication::translate("QAbstractFormBuilder", "An error has occurred while reading the UI file at line %1, column %2: %3")
.arg(reader.lineNumber()).arg(reader.columnNumber())
.arg(reader.errorString()));
return 0;
}
if (!initialized) {
- uiLibWarning(QCoreApplication::translate("QAbstractFormBuilder", "Invalid ui file: The root element <ui> is missing."));
+ uiLibWarning(QCoreApplication::translate("QAbstractFormBuilder", "Invalid UI file: The root element <ui> is missing."));
return 0;
}
@@ -657,7 +657,7 @@ void QAbstractFormBuilder::layoutInfo(DomLayout *ui_layout, QObject *parent, int
spac = p->elementNumber();
#ifdef Q_OS_MAC
- // here we recognize ui file < 4.3 (no we don't store margin property)
+ // here we recognize UI file < 4.3 (no we don't store margin property)
if (mar != INT_MIN) {
const int defaultMargin = parent->inherits("QLayoutWidget") ? 0 : 9;
if (mar == defaultMargin)
@@ -1202,7 +1202,7 @@ QActionGroup *QAbstractFormBuilder::createActionGroup(QObject *parent, const QSt
\fn void QAbstractFormBuilder::save(QIODevice *device, QWidget *widget)
Saves an XML representation of the given \a widget to the
- specified \a device in the standard \c{.ui} file format.
+ specified \a device in the standard UI file format.
\sa load()*/
void QAbstractFormBuilder::save(QIODevice *dev, QWidget *widget)
diff --git a/tools/designer/src/lib/uilib/formbuilder.cpp b/tools/designer/src/lib/uilib/formbuilder.cpp
index 043991e..f737311 100644
--- a/tools/designer/src/lib/uilib/formbuilder.cpp
+++ b/tools/designer/src/lib/uilib/formbuilder.cpp
@@ -57,12 +57,12 @@ namespace QFormInternal {
\class QFormBuilder
\brief The QFormBuilder class is used to dynamically construct
- user interfaces from .ui files at run-time.
+ user interfaces from UI files at run-time.
\inmodule QtDesigner
The QFormBuilder class provides a mechanism for dynamically
- creating user interfaces at run-time, based on \c{.ui} files
+ creating user interfaces at run-time, based on UI files
created with \QD. For example:
\snippet doc/src/snippets/code/tools_designer_src_lib_uilib_formbuilder.cpp 0
diff --git a/tools/designer/src/plugins/activeqt/qaxwidgettaskmenu.cpp b/tools/designer/src/plugins/activeqt/qaxwidgettaskmenu.cpp
index 1158e35..1cbf1c1 100644
--- a/tools/designer/src/plugins/activeqt/qaxwidgettaskmenu.cpp
+++ b/tools/designer/src/plugins/activeqt/qaxwidgettaskmenu.cpp
@@ -162,7 +162,7 @@ void QAxWidgetTaskMenu::setActiveXControl()
tr("The control requires a design-time license"));
clsid = QUuid();
} else {
- key = QString::fromUtf16((ushort *)bKey);
+ key = QString::fromWCharArray(bKey);
}
cf2->Release();
diff --git a/tools/designer/src/uitools/quiloader.cpp b/tools/designer/src/uitools/quiloader.cpp
index 83d3089..260e9bd 100644
--- a/tools/designer/src/uitools/quiloader.cpp
+++ b/tools/designer/src/uitools/quiloader.cpp
@@ -574,20 +574,20 @@ void QUiLoaderPrivate::setupWidgetMap() const
\brief The QUiLoader class enables standalone applications to
dynamically create user interfaces at run-time using the
- information stored in .ui files or specified in plugin paths.
+ information stored in UI files or specified in plugin paths.
In addition, you can customize or create your own user interface by
deriving your own loader class.
If you have a custom component or an application that embeds \QD, you can
also use the QFormBuilder class provided by the QtDesigner module to create
- user interfaces from \c{.ui} files.
+ user interfaces from UI files.
The QUiLoader class provides a collection of functions allowing you to
- create widgets based on the information stored in \c .ui files (created
+ create widgets based on the information stored in UI files (created
with \QD) or available in the specified plugin paths. The specified plugin
paths can be retrieved using the pluginPaths() function. Similarly, the
- contents of a \c{.ui} file can be retrieved using the load() function. For
+ contents of a UI file can be retrieved using the load() function. For
example:
\snippet doc/src/snippets/quiloader/mywidget.cpp 0
diff --git a/tools/designer/src/uitools/quiloader.h b/tools/designer/src/uitools/quiloader.h
index 7f718a6..40b5010 100644
--- a/tools/designer/src/uitools/quiloader.h
+++ b/tools/designer/src/uitools/quiloader.h
@@ -92,7 +92,7 @@ public:
private:
QScopedPointer<QUiLoaderPrivate> d_ptr;
- Q_DECLARE_SCOPED_PRIVATE(QUiLoader)
+ Q_DECLARE_PRIVATE(QUiLoader)
Q_DISABLE_COPY(QUiLoader)
};
diff --git a/tools/linguist/lconvert/main.cpp b/tools/linguist/lconvert/main.cpp
index 534bc11..1381595 100644
--- a/tools/linguist/lconvert/main.cpp
+++ b/tools/linguist/lconvert/main.cpp
@@ -81,10 +81,13 @@ static int usage(const QStringList &args)
" --output-format <outformat>\n"
" Specify output format. See -if.\n\n"
" --input-codec <codec>\n"
- " Specify encoding for .qm input files. Default is 'Latin1'.\n"
- " UTF-8 is always tried as well, corresponding to the trUtf8() function.\n\n"
+ " Specify encoding for QM and PO input files. Default is 'Latin1'\n"
+ " for QM and 'UTF-8' for PO files. UTF-8 is always tried as well for\n"
+ " QM, corresponding to the possible use of the trUtf8() function.\n\n"
+ " --output-codec <codec>\n"
+ " Specify encoding for PO output files. Default is 'UTF-8'.\n\n"
" --drop-tags <regexp>\n"
- " Drop named extra tags when writing 'ts' or 'xlf' files.\n"
+ " Drop named extra tags when writing TS or XLIFF files.\n"
" May be specified repeatedly.\n\n"
" --drop-translations\n"
" Drop existing translations and reset the status to 'unfinished'.\n"
@@ -101,10 +104,10 @@ static int usage(const QStringList &args)
" --no-finished\n"
" Drop finished messages.\n\n"
" --locations {absolute|relative|none}\n"
- " Override how source code references are saved in ts files.\n"
+ " Override how source code references are saved in TS files.\n"
" Default is absolute.\n\n"
" --no-ui-lines\n"
- " Drop line numbers from references to .ui files.\n\n"
+ " Drop line numbers from references to UI files.\n\n"
" --verbose\n"
" be a bit more verbose\n\n"
"Long options can be specified with only one leading dash, too.\n\n"
@@ -141,7 +144,6 @@ int main(int argc, char *argv[])
Translator::LocationsType locations = Translator::DefaultLocations;
ConversionData cd;
- cd.m_codecForSource = "Latin1";
Translator tr;
for (int i = 1; i < args.size(); ++i) {
@@ -174,6 +176,10 @@ int main(int argc, char *argv[])
if (++i >= args.size())
return usage(args);
cd.m_codecForSource = args[i].toLatin1();
+ } else if (args[i] == QLatin1String("-output-codec")) {
+ if (++i >= args.size())
+ return usage(args);
+ cd.m_outputCodec = args[i].toLatin1();
} else if (args[i] == QLatin1String("-drop-tag")) {
if (++i >= args.size())
return usage(args);
@@ -257,6 +263,11 @@ int main(int argc, char *argv[])
if (locations != Translator::DefaultLocations)
tr.setLocationsType(locations);
+ tr.normalizeTranslations(cd);
+ if (!cd.errors().isEmpty()) {
+ qWarning("%s", qPrintable(cd.error()));
+ cd.clearErrors();
+ }
if (!tr.save(outFileName, cd, outFormat)) {
qWarning("%s", qPrintable(cd.error()));
return 3;
diff --git a/tools/linguist/linguist/linguist.rc b/tools/linguist/linguist/linguist.rc
index 865e021..5ff37ca 100644
--- a/tools/linguist/linguist/linguist.rc
+++ b/tools/linguist/linguist/linguist.rc
@@ -1 +1,32 @@
+#include "winver.h"
+
IDI_ICON1 ICON DISCARDABLE "linguist.ico"
+
+VS_VERSION_INFO VERSIONINFO
+ FILEVERSION 1,0,0,0
+ PRODUCTVERSION 1,0,0,0
+ FILEFLAGS 0x0L
+ FILEFLAGSMASK 0x3fL
+ FILEOS 0x00040004L
+ FILETYPE 0x1L
+ FILESUBTYPE 0x0L
+BEGIN
+ BLOCK "StringFileInfo"
+ BEGIN
+ BLOCK "000004b0"
+ BEGIN
+ VALUE "CompanyName", "Nokia Corporation and/or its subsidiary(-ies)"
+ VALUE "FileDescription", "Qt Linguist"
+ VALUE "FileVersion", "1.0.0.0"
+ VALUE "LegalCopyright", "Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies)."
+ VALUE "InternalName", "linguist"
+ VALUE "OriginalFilename", "linguist.exe"
+ VALUE "ProductName", "Qt Linguist"
+ VALUE "ProductVersion", "1.0.0.0"
+ END
+ END
+ BLOCK "VarFileInfo"
+ BEGIN
+ VALUE "Translation", 0x0, 1200
+ END
+END
diff --git a/tools/linguist/linguist/mainwindow.cpp b/tools/linguist/linguist/mainwindow.cpp
index 2b1df39..bb79b19 100644
--- a/tools/linguist/linguist/mainwindow.cpp
+++ b/tools/linguist/linguist/mainwindow.cpp
@@ -82,6 +82,7 @@
#include <QMenuBar>
#include <QMessageBox>
#include <QPrintDialog>
+#include <QPrinter>
#include <QProcess>
#include <QRegExp>
#include <QSettings>
@@ -257,6 +258,7 @@ bool FocusWatcher::eventFilter(QObject *, QEvent *event)
MainWindow::MainWindow()
: QMainWindow(0, Qt::Window),
m_assistantProcess(0),
+ m_printer(0),
m_findMatchCase(Qt::CaseInsensitive),
m_findIgnoreAccelerators(true),
m_findWhere(DataModel::NoLocation),
@@ -503,6 +505,7 @@ MainWindow::~MainWindow()
qDeleteAll(m_phraseBooks);
delete m_dataModel;
delete m_statistics;
+ delete m_printer;
}
void MainWindow::modelCountChanged()
@@ -870,15 +873,22 @@ void MainWindow::releaseAll()
releaseInternal(i);
}
+QPrinter *MainWindow::printer()
+{
+ if (!m_printer)
+ m_printer = new QPrinter;
+ return m_printer;
+}
+
void MainWindow::print()
{
int pageNum = 0;
- QPrintDialog dlg(&m_printer, this);
+ QPrintDialog dlg(printer(), this);
if (dlg.exec()) {
QApplication::setOverrideCursor(Qt::WaitCursor);
- m_printer.setDocName(m_dataModel->condensedSrcFileNames(true));
+ printer()->setDocName(m_dataModel->condensedSrcFileNames(true));
statusBar()->showMessage(tr("Printing..."));
- PrintOut pout(&m_printer);
+ PrintOut pout(printer());
for (int i = 0; i < m_dataModel->contextCount(); ++i) {
MultiContextItem *mc = m_dataModel->multiContextItem(i);
@@ -1229,11 +1239,11 @@ void MainWindow::printPhraseBook(QAction *action)
int pageNum = 0;
- QPrintDialog dlg(&m_printer, this);
+ QPrintDialog dlg(printer(), this);
if (dlg.exec()) {
- m_printer.setDocName(phraseBook->fileName());
+ printer()->setDocName(phraseBook->fileName());
statusBar()->showMessage(tr("Printing..."));
- PrintOut pout(&m_printer);
+ PrintOut pout(printer());
pout.setRule(PrintOut::ThinRule);
foreach (const Phrase *p, phraseBook->phrases()) {
pout.setGuide(p->source());
diff --git a/tools/linguist/linguist/mainwindow.h b/tools/linguist/linguist/mainwindow.h
index 167dfe4..3dedcb5 100644
--- a/tools/linguist/linguist/mainwindow.h
+++ b/tools/linguist/linguist/mainwindow.h
@@ -51,7 +51,6 @@
#include <QtCore/QLocale>
#include <QtGui/QMainWindow>
-#include <QtGui/QPrinter>
QT_BEGIN_NAMESPACE
@@ -60,6 +59,7 @@ class QAction;
class QDialog;
class QLabel;
class QMenu;
+class QPrinter;
class QProcess;
class QIcon;
class QSortFilterProxyModel;
@@ -200,6 +200,8 @@ private:
void releaseInternal(int model);
void saveInternal(int model);
+ QPrinter *printer();
+
// FIXME: move to DataModel
void updateDanger(const MultiDataIndex &index, bool verbose);
@@ -226,7 +228,7 @@ private:
QList<QHash<QString, QList<Phrase *> > > m_phraseDict;
QList<PhraseBook *> m_phraseBooks;
QMap<QAction *, PhraseBook *> m_phraseBookMenu[3];
- QPrinter m_printer;
+ QPrinter *m_printer;
FindDialog *m_findDialog;
QString m_findText;
diff --git a/tools/linguist/linguist/mainwindow.ui b/tools/linguist/linguist/mainwindow.ui
index 4f66f31..613241b 100644
--- a/tools/linguist/linguist/mainwindow.ui
+++ b/tools/linguist/linguist/mainwindow.ui
@@ -747,7 +747,7 @@
<string>Release As...</string>
</property>
<property name="whatsThis">
- <string>Create a Qt message file suitable for released applications from the current message file. The filename will automatically be determined from the name of the .ts file.</string>
+ <string>Create a Qt message file suitable for released applications from the current message file. The filename will automatically be determined from the name of the TS file.</string>
</property>
</action>
<action name="actionFile">
diff --git a/tools/linguist/linguist/messagemodel.cpp b/tools/linguist/linguist/messagemodel.cpp
index 6bbf6f3..9995220 100644
--- a/tools/linguist/linguist/messagemodel.cpp
+++ b/tools/linguist/linguist/messagemodel.cpp
@@ -139,7 +139,7 @@ DataModel::DataModel(QObject *parent)
QStringList DataModel::normalizedTranslations(const MessageItem &m) const
{
- return Translator::normalizedTranslations(m.message(), m_language, m_country);
+ return Translator::normalizedTranslations(m.message(), m_numerusForms.count());
}
ContextItem *DataModel::contextItem(int context) const
diff --git a/tools/linguist/lrelease/lrelease.1 b/tools/linguist/lrelease/lrelease.1
index 9e77504..8dd14b2 100644
--- a/tools/linguist/lrelease/lrelease.1
+++ b/tools/linguist/lrelease/lrelease.1
@@ -51,10 +51,10 @@ This page documents the
tool for the Qt GUI toolkit.
.B Lrelease
reads a qmake/tmake project file (.pro file) and converts the
-translation files (.ts files) specified in it into Qt message files
-(.qm files) used by the application to translate.
+translation files (TS files) specified in it into Qt message files
+(QM files) used by the application to translate.
.PP
-The .qm file format is a compact binary format that provides
+The QM file format is a compact binary format that provides
extremely fast lookups for translations and that is used by Qt.
.SH OPTIONS
.TP
@@ -62,7 +62,7 @@ extremely fast lookups for translations and that is used by Qt.
Display the usage and exit.
.TP
.I "-compress"
-Compress the .qm files.
+Compress the QM files.
.TP
.I "-nounfinished"
Do not include unfinished translations.
@@ -72,7 +72,7 @@ If the translated text is the same as
the source text, do not include the message.
.TP
.I "-silent"
-Don't explain what is being done.
+Do not explain what is being done.
.TP
.I "-version"
Display the version of
@@ -105,7 +105,7 @@ generated from gnomovision_dk.ts, gnomovision_fi.ts,
gnomovision_no.ts and gnomovision_se.ts, respectively.
.PP
.B Lrelease
-can also be invoked with a list of .ts files to convert:
+can also be invoked with a list of TS files to convert:
.PP
.in +4
.nf
diff --git a/tools/linguist/lrelease/main.cpp b/tools/linguist/lrelease/main.cpp
index 86b7866..5cb9e1a 100644
--- a/tools/linguist/lrelease/main.cpp
+++ b/tools/linguist/lrelease/main.cpp
@@ -40,7 +40,7 @@
****************************************************************************/
#include "translator.h"
-#include "profileevaluator.h"
+#include "proreader.h"
#include <QtCore/QCoreApplication>
#include <QtCore/QDebug>
@@ -66,19 +66,21 @@ static void printUsage()
" lrelease [options] project-file\n"
" lrelease [options] ts-files [-qm qm-file]\n\n"
"lrelease is part of Qt's Linguist tool chain. It can be used as a\n"
- "stand-alone tool to convert XML based translations files in the .ts\n"
- "format into the 'compiled' .qm format used by QTranslator objects.\n\n"
+ "stand-alone tool to convert XML-based translations files in the TS\n"
+ "format into the 'compiled' QM format used by QTranslator objects.\n\n"
"Options:\n"
" -help Display this information and exit\n"
+ " -idbased\n"
+ " Use IDs instead of source strings for message keying\n"
" -compress\n"
- " Compress the .qm files\n"
+ " Compress the QM files\n"
" -nounfinished\n"
" Do not include unfinished translations\n"
" -removeidentical\n"
" If the translated text is the same as\n"
" the source text, do not include the message\n"
" -silent\n"
- " Don't explain what is being done\n"
+ " Do not explain what is being done\n"
" -version\n"
" Display the version of lrelease and exit\n"
));
@@ -99,7 +101,7 @@ static bool loadTsFile(Translator &tor, const QString &tsFileName, bool /* verbo
static bool releaseTranslator(Translator &tor, const QString &qmFileName,
bool verbose, bool ignoreUnfinished,
- bool removeIdentical, TranslatorSaveMode mode)
+ bool removeIdentical, bool idBased, TranslatorSaveMode mode)
{
Translator::reportDuplicates(tor.resolveDuplicates(), qmFileName, verbose);
@@ -119,8 +121,10 @@ static bool releaseTranslator(Translator &tor, const QString &qmFileName,
}
ConversionData cd;
+ tor.normalizeTranslations(cd);
cd.m_verbose = verbose;
cd.m_ignoreUnfinished = ignoreUnfinished;
+ cd.m_idBased = idBased;
cd.m_saveMode = mode;
bool ok = tor.release(&file, cd);
file.close();
@@ -136,7 +140,7 @@ static bool releaseTranslator(Translator &tor, const QString &qmFileName,
}
static bool releaseTsFile(const QString& tsFileName, bool verbose,
- bool ignoreUnfinished, bool removeIdentical, TranslatorSaveMode mode)
+ bool ignoreUnfinished, bool removeIdentical, bool idBased, TranslatorSaveMode mode)
{
Translator tor;
if (!loadTsFile(tor, tsFileName, verbose))
@@ -151,7 +155,7 @@ static bool releaseTsFile(const QString& tsFileName, bool verbose,
}
qmFileName += QLatin1String(".qm");
- return releaseTranslator(tor, qmFileName, verbose, ignoreUnfinished, removeIdentical, mode);
+ return releaseTranslator(tor, qmFileName, verbose, ignoreUnfinished, removeIdentical, idBased, mode);
}
int main(int argc, char **argv)
@@ -164,6 +168,7 @@ int main(int argc, char **argv)
bool verbose = true; // the default is true starting with Qt 4.2
bool ignoreUnfinished = false;
+ bool idBased = false;
// the default mode is SaveEverything starting with Qt 4.2
TranslatorSaveMode mode = SaveEverything;
bool removeIdentical = false;
@@ -175,6 +180,9 @@ int main(int argc, char **argv)
if (args[i] == QLatin1String("-compress")) {
mode = SaveStripped;
continue;
+ } else if (args[i] == QLatin1String("-idbased")) {
+ idBased = true;
+ continue;
} else if (args[i] == QLatin1String("-nocompress")) {
mode = SaveEverything;
continue;
@@ -232,18 +240,18 @@ int main(int argc, char **argv)
qPrintable(args[i]));
} else {
foreach (const QString &trans, translations)
- if (!releaseTsFile(trans, verbose, ignoreUnfinished, removeIdentical, mode))
+ if (!releaseTsFile(trans, verbose, ignoreUnfinished, removeIdentical, idBased, mode))
return 1;
}
} else {
qWarning("error: lrelease encountered project file functionality that is currently not supported.\n"
- "You might want to consider using .ts files as input instead of a project file.\n"
+ "You might want to consider using TS files as input instead of a project file.\n"
"Try the following syntax:\n"
" lrelease [options] ts-files [-qm qm-file]\n");
}
} else {
if (outputFile.isEmpty()) {
- if (!releaseTsFile(args[i], verbose, ignoreUnfinished, removeIdentical, mode))
+ if (!releaseTsFile(args[i], verbose, ignoreUnfinished, removeIdentical, idBased, mode))
return 1;
} else {
if (!loadTsFile(tor, args[i], verbose))
@@ -254,7 +262,7 @@ int main(int argc, char **argv)
if (!outputFile.isEmpty())
return releaseTranslator(tor, outputFile, verbose, ignoreUnfinished,
- removeIdentical, mode) ? 0 : 1;
+ removeIdentical, idBased, mode) ? 0 : 1;
return 0;
}
diff --git a/tools/linguist/lupdate/cpp.cpp b/tools/linguist/lupdate/cpp.cpp
index eb743c2..21b230e 100644
--- a/tools/linguist/lupdate/cpp.cpp
+++ b/tools/linguist/lupdate/cpp.cpp
@@ -58,10 +58,6 @@ QT_BEGIN_NAMESPACE
static const char MagicComment[] = "TRANSLATOR ";
-static const int yyIdentMaxLen = 128;
-static const int yyCommentMaxLen = 65536;
-static const int yyStringMaxLen = 65536;
-
#define STRINGIFY_INTERNAL(x) #x
#define STRINGIFY(x) STRINGIFY_INTERNAL(x)
#define STRING(s) static QString str##s(QLatin1String(STRINGIFY(s)))
@@ -180,7 +176,8 @@ private:
QString transcode(const QString &str, bool utf8);
void recordMessage(
int line, const QString &context, const QString &text, const QString &comment,
- const QString &extracomment, bool utf8, bool plural);
+ const QString &extracomment, const QString &msgid, const TranslatorMessage::ExtraData &extra,
+ bool utf8, bool plural);
void processInclude(const QString &file, ConversionData &cd,
QSet<QString> &inclusions);
@@ -202,7 +199,7 @@ private:
enum {
Tok_Eof, Tok_class, Tok_friend, Tok_namespace, Tok_using, Tok_return,
- Tok_tr = 10, Tok_trUtf8, Tok_translate, Tok_translateUtf8,
+ Tok_tr = 10, Tok_trUtf8, Tok_translate, Tok_translateUtf8, Tok_trid,
Tok_Q_OBJECT = 20, Tok_Q_DECLARE_TR_FUNCTIONS,
Tok_Ident, Tok_Comment, Tok_String, Tok_Arrow, Tok_Colon, Tok_ColonColon,
Tok_Equals,
@@ -556,6 +553,8 @@ uint CppParser::getToken()
return Tok_Q_DECLARE_TR_FUNCTIONS;
if (yyIdent == QLatin1String("QT_TR_NOOP"))
return Tok_tr;
+ if (yyIdent == QLatin1String("QT_TRID_NOOP"))
+ return Tok_trid;
if (yyIdent == QLatin1String("QT_TRANSLATE_NOOP"))
return Tok_translate;
if (yyIdent == QLatin1String("QT_TRANSLATE_NOOP3"))
@@ -591,6 +590,10 @@ uint CppParser::getToken()
if (yyIdent == QLatin1String("namespace"))
return Tok_namespace;
break;
+ case 'q':
+ if (yyIdent == QLatin1String("qtTrId"))
+ return Tok_trid;
+ break;
case 'r':
if (yyIdent == QLatin1String("return"))
return Tok_return;
@@ -667,14 +670,9 @@ uint CppParser::getToken()
yyCh = getChar();
if (yyCh == EOF || yyCh == '\n')
break;
- if (yyString.size() < yyStringMaxLen) {
- yyString.append(QLatin1Char('\\'));
- yyString.append(yyCh);
- }
- } else {
- if (yyString.size() < yyStringMaxLen)
- yyString.append(yyCh);
+ yyString.append(QLatin1Char('\\'));
}
+ yyString.append(yyCh);
yyCh = getChar();
}
@@ -1299,13 +1297,16 @@ QString CppParser::transcode(const QString &str, bool utf8)
void CppParser::recordMessage(
int line, const QString &context, const QString &text, const QString &comment,
- const QString &extracomment, bool utf8, bool plural)
+ const QString &extracomment, const QString &msgid, const TranslatorMessage::ExtraData &extra,
+ bool utf8, bool plural)
{
TranslatorMessage msg(
transcode(context, utf8), transcode(text, utf8), transcode(comment, utf8), QString(),
yyFileName, line, QStringList(),
TranslatorMessage::Unfinished, plural);
msg.setExtraComment(transcode(extracomment.simplified(), utf8));
+ msg.setId(msgid);
+ msg.setExtras(extra);
if ((utf8 || yyForceUtf8) && !yyCodecIsUtf8 && msg.needs8Bit())
msg.setUtf8(true);
results->tor->append(msg);
@@ -1332,6 +1333,9 @@ void CppParser::parseInternal(ConversionData &cd, QSet<QString> &inclusions)
QString text;
QString comment;
QString extracomment;
+ QString msgid;
+ QString sourcetext;
+ TranslatorMessage::ExtraData extra;
QString prefix;
#ifdef DIAGNOSE_RETRANSLATABILITY
QString functionName;
@@ -1517,6 +1521,9 @@ void CppParser::parseInternal(ConversionData &cd, QSet<QString> &inclusions)
case Tok_trUtf8:
if (!results->tor)
goto case_default;
+ if (!sourcetext.isEmpty())
+ qWarning("%s:%d: //%% cannot be used with tr() / QT_TR_NOOP(). Ignoring\n",
+ qPrintable(yyFileName), yyLineNo);
utf8 = (yyTok == Tok_trUtf8);
line = yyLineNo;
yyTok = getToken();
@@ -1604,14 +1611,19 @@ void CppParser::parseInternal(ConversionData &cd, QSet<QString> &inclusions)
prefix.clear();
}
- recordMessage(line, context, text, comment, extracomment, utf8, plural);
+ recordMessage(line, context, text, comment, extracomment, msgid, extra, utf8, plural);
}
extracomment.clear();
+ msgid.clear();
+ extra.clear();
break;
case Tok_translateUtf8:
case Tok_translate:
if (!results->tor)
goto case_default;
+ if (!sourcetext.isEmpty())
+ qWarning("%s:%d: //%% cannot be used with translate() / QT_TRANSLATE_NOOP(). Ignoring\n",
+ qPrintable(yyFileName), yyLineNo);
utf8 = (yyTok == Tok_translateUtf8);
line = yyLineNo;
yyTok = getToken();
@@ -1655,9 +1667,34 @@ void CppParser::parseInternal(ConversionData &cd, QSet<QString> &inclusions)
break;
}
}
- recordMessage(line, context, text, comment, extracomment, utf8, plural);
+ recordMessage(line, context, text, comment, extracomment, msgid, extra, utf8, plural);
+ }
+ extracomment.clear();
+ msgid.clear();
+ extra.clear();
+ break;
+ case Tok_trid:
+ if (!results->tor)
+ goto case_default;
+ if (sourcetext.isEmpty()) {
+ yyTok = getToken();
+ } else {
+ if (!msgid.isEmpty())
+ qWarning("%s:%d: //= cannot be used with qtTrId() / QT_TRID_NOOP(). Ignoring\n",
+ qPrintable(yyFileName), yyLineNo);
+ //utf8 = false; // Maybe use //%% or something like that
+ line = yyLineNo;
+ yyTok = getToken();
+ if (match(Tok_LeftParen) && matchString(&msgid) && !msgid.isEmpty()) {
+ bool plural = match(Tok_Comma);
+ recordMessage(line, QString(), sourcetext, QString(), extracomment,
+ msgid, extra, false, plural);
+ }
+ sourcetext.clear();
}
extracomment.clear();
+ msgid.clear();
+ extra.clear();
break;
case Tok_Q_DECLARE_TR_FUNCTIONS:
case Tok_Q_OBJECT:
@@ -1679,6 +1716,49 @@ void CppParser::parseInternal(ConversionData &cd, QSet<QString> &inclusions)
if (yyComment.startsWith(QLatin1Char(':'))) {
yyComment.remove(0, 1);
extracomment.append(yyComment);
+ } else if (yyComment.startsWith(QLatin1Char('='))) {
+ yyComment.remove(0, 1);
+ msgid = yyComment.simplified();
+ } else if (yyComment.startsWith(QLatin1Char('~'))) {
+ yyComment.remove(0, 1);
+ yyComment = yyComment.trimmed();
+ int k = yyComment.indexOf(QLatin1Char(' '));
+ if (k > -1)
+ extra.insert(yyComment.left(k), yyComment.mid(k + 1).trimmed());
+ } else if (yyComment.startsWith(QLatin1Char('%'))) {
+ int p = 1, c;
+ forever {
+ if (p >= yyComment.length())
+ break;
+ c = yyComment.unicode()[p++].unicode();
+ if (isspace(c))
+ continue;
+ if (c != '"') {
+ qWarning("%s:%d: Unexpected character in meta string\n",
+ qPrintable(yyFileName), yyLineNo);
+ break;
+ }
+ forever {
+ if (p >= yyComment.length()) {
+ whoops:
+ qWarning("%s:%d: Unterminated meta string\n",
+ qPrintable(yyFileName), yyLineNo);
+ break;
+ }
+ c = yyComment.unicode()[p++].unicode();
+ if (c == '"')
+ break;
+ if (c == '\\') {
+ if (p >= yyComment.length())
+ goto whoops;
+ c = yyComment.unicode()[p++].unicode();
+ if (c == '\n')
+ goto whoops;
+ sourcetext.append(QLatin1Char('\\'));
+ }
+ sourcetext.append(c);
+ }
+ }
} else {
comment = yyComment.simplified();
if (comment.startsWith(QLatin1String(MagicComment))) {
@@ -1689,7 +1769,11 @@ void CppParser::parseInternal(ConversionData &cd, QSet<QString> &inclusions)
} else {
context = comment.left(k);
comment.remove(0, k + 1);
- recordMessage(yyLineNo, context, QString(), comment, extracomment, false, false);
+ recordMessage(yyLineNo, context, QString(), comment, extracomment,
+ QString(), TranslatorMessage::ExtraData(), false, false);
+ extracomment.clear();
+ results->tor->setExtras(extra);
+ extra.clear();
}
}
}
@@ -1739,6 +1823,8 @@ void CppParser::parseInternal(ConversionData &cd, QSet<QString> &inclusions)
prospectiveContext.clear();
prefix.clear();
extracomment.clear();
+ msgid.clear();
+ extra.clear();
yyTokColonSeen = false;
yyTok = getToken();
break;
@@ -1799,7 +1885,7 @@ void loadCPP(Translator &translator, const QStringList &filenames, ConversionDat
? translator.codecName() : cd.m_codecForSource;
QTextCodec *codec = QTextCodec::codecForName(codecName);
- foreach (const QString filename, filenames) {
+ foreach (const QString &filename, filenames) {
if (CppFiles::getResults(filename) || CppFiles::isBlacklisted(filename))
continue;
diff --git a/tools/linguist/lupdate/lupdate.1 b/tools/linguist/lupdate/lupdate.1
index 68958b9..b37e7b3 100644
--- a/tools/linguist/lupdate/lupdate.1
+++ b/tools/linguist/lupdate/lupdate.1
@@ -52,12 +52,12 @@ tool for the Qt GUI toolkit.
.B Lupdate
reads a qmake/tmake project file (.pro file), finds the translatable
strings in the specified source, header and interface files, and
-updates the translation files (.ts files) specified in it. The
+updates the translation files (TS files) specified in it. The
translation files are given to the translator who uses
.B Qt Linguist
to read the files and insert the translations.
.PP
-The .ts file format is a simple human-readable XML format that can be
+The TS file format is a simple human-readable XML format that can be
used with version control systems if required.
.PP
.SH OPTIONS
@@ -74,7 +74,7 @@ Default: 'ui,c,c++,cc,cpp,cxx,ch,h,h++,hh,hpp,hxx'.
Display the usage and exit.
.TP
.I "-locations {absolute|relative|none}"
-Specify/override how source code references are saved in ts files.
+Specify/override how source code references are saved in TS files.
Default is absolute.
.TP
.I "-no-obsolete"
@@ -84,7 +84,7 @@ Drop all obsolete strings.
Do not recursively scan the following directories.
.TP
.I "-no-sort"
-Do not sort contexts in .ts files.
+Do not sort contexts in TS files.
.TP
.I "-pluralonly"
Only include plural form messages.
@@ -97,7 +97,7 @@ file syntax but different file suffix
Recursively scan the following directories.
.TP
.I "-silent"
-Don't explain what is being done.
+Do not explain what is being done.
.TP
.I "-source-language <language>[_<region>]"
Specify/override the language of the source strings. Defaults to
@@ -139,8 +139,8 @@ translations will be reused as far as possible, and translated
strings that have vanished from the source files are marked obsolete.
.PP
.B lupdate
-can also be invoked with a list of C++ source files, .ui files
-and .ts files:
+can also be invoked with a list of C++ source files, UI files
+and TS files:
.PP
.in +4
.nf
diff --git a/tools/linguist/lupdate/main.cpp b/tools/linguist/lupdate/main.cpp
index 18c8932..5a26774 100644
--- a/tools/linguist/lupdate/main.cpp
+++ b/tools/linguist/lupdate/main.cpp
@@ -43,6 +43,7 @@
#include <translator.h>
#include <profileevaluator.h>
+#include <proreader.h>
#include <QtCore/QCoreApplication>
#include <QtCore/QDebug>
@@ -103,7 +104,7 @@ static void printUsage()
" -silent\n"
" Do not explain what is being done.\n"
" -no-sort\n"
- " Do not sort contexts in .ts files.\n"
+ " Do not sort contexts in TS files.\n"
" -no-recursive\n"
" Do not recursively scan the following directories.\n"
" -recursive\n"
@@ -112,10 +113,10 @@ static void printUsage()
" Additional location to look for include files.\n"
" May be specified multiple times.\n"
" -locations {absolute|relative|none}\n"
- " Specify/override how source code references are saved in ts files.\n"
+ " Specify/override how source code references are saved in TS files.\n"
" Default is absolute.\n"
" -no-ui-lines\n"
- " Do not record line numbers in references to .ui files.\n"
+ " Do not record line numbers in references to UI files.\n"
" -disable-heuristic {sametext|similartext|number}\n"
" Disable the named merge heuristic. Can be specified multiple times.\n"
" -pro <filename>\n"
@@ -182,9 +183,10 @@ static void updateTsFiles(const Translator &fetchedTor, const QStringList &tsFil
if (options & Verbose)
printOut(QObject::tr("Updating '%1'...\n").arg(fn));
+ UpdateOptions theseOptions = options;
if (tor.locationsType() == Translator::NoLocations) // Could be set from file
- options |= NoLocations;
- Translator out = merge(tor, fetchedTor, options, err);
+ theseOptions |= NoLocations;
+ Translator out = merge(tor, fetchedTor, theseOptions, err);
if (!codecForTr.isEmpty())
out.setCodecName(codecForTr);
@@ -201,6 +203,11 @@ static void updateTsFiles(const Translator &fetchedTor, const QStringList &tsFil
out.stripObsoleteMessages();
out.stripEmptyContexts();
+ out.normalizeTranslations(cd);
+ if (!cd.errors().isEmpty()) {
+ printOut(cd.error());
+ cd.clearErrors();
+ }
if (!out.save(fileName, cd, QLatin1String("auto"))) {
printOut(cd.error());
*fail = true;
@@ -487,7 +494,7 @@ int main(int argc, char **argv)
cd.m_includePath += visitor.values(QLatin1String("INCLUDEPATH"));
- evaluateProFile(visitor, &variables);
+ evaluateProFile(visitor, &variables, pfi.absolutePath());
sourceFiles = variables.value("SOURCES");
@@ -513,7 +520,8 @@ int main(int argc, char **argv)
for (QStringList::iterator it = sourceFiles.begin(); it != sourceFiles.end(); ++it) {
if (it->endsWith(QLatin1String(".java"), Qt::CaseInsensitive))
loadJava(fetchedTor, *it, cd);
- else if (it->endsWith(QLatin1String(".ui"), Qt::CaseInsensitive))
+ else if (it->endsWith(QLatin1String(".ui"), Qt::CaseInsensitive)
+ || it->endsWith(QLatin1String(".jui"), Qt::CaseInsensitive))
loadUI(fetchedTor, *it, cd);
else if (it->endsWith(QLatin1String(".js"), Qt::CaseInsensitive)
|| it->endsWith(QLatin1String(".qs"), Qt::CaseInsensitive))
diff --git a/tools/linguist/phrasebooks/french.qph b/tools/linguist/phrasebooks/french.qph
index f244013..d38da5a 100644
--- a/tools/linguist/phrasebooks/french.qph
+++ b/tools/linguist/phrasebooks/french.qph
@@ -1,4 +1,5 @@
-<!DOCTYPE QPH><QPH language="fr">
+<!DOCTYPE QPH>
+<QPH language="fr">
<phrase>
<source>About</source>
<target>A propos</target>
@@ -1101,4 +1102,228 @@
<source>Yes</source>
<target>Oui</target>
</phrase>
+<phrase>
+ <source>Split</source>
+ <target>Scinder</target>
+</phrase>
+<phrase>
+ <source>&amp;Edit</source>
+ <target>&amp;Édition</target>
+</phrase>
+<phrase>
+ <source>&amp;Redo</source>
+ <target>Re&amp;faire</target>
+</phrase>
+<phrase>
+ <source>debugger</source>
+ <target>débogueur</target>
+</phrase>
+<phrase>
+ <source>Start Debugger</source>
+ <target>Lancer le débogueur</target>
+</phrase>
+<phrase>
+ <source>Executable:</source>
+ <target>Exécutable:</target>
+</phrase>
+<phrase>
+ <source>Filter:</source>
+ <target>Filtre:</target>
+</phrase>
+<phrase>
+ <source>Clear</source>
+ <target>Effacer</target>
+</phrase>
+<phrase>
+ <source>Host and port:</source>
+ <target>Hôte et port:</target>
+</phrase>
+<phrase>
+ <source>Architecture:</source>
+ <target>Architecture:</target>
+</phrase>
+<phrase>
+ <source>Server start script:</source>
+ <target>Script de démarrage du serveur:</target>
+</phrase>
+<phrase>
+ <source>&amp;Undo</source>
+ <target>Annu&amp;ler</target>
+</phrase>
+<phrase>
+ <source>Add Bookmark</source>
+ <target>Ajouter un signet</target>
+</phrase>
+<phrase>
+ <source>Bookmark:</source>
+ <target>Signet:</target>
+</phrase>
+<phrase>
+ <source>Add in Folder:</source>
+ <target>Ajouter dans le dossier:</target>
+</phrase>
+<phrase>
+ <source>+</source>
+ <target>+</target>
+</phrase>
+<phrase>
+ <source>New Folder</source>
+ <target>Nouveau dossier</target>
+</phrase>
+<phrase>
+ <source>Bookmarks</source>
+ <target>Signets</target>
+</phrase>
+<phrase>
+ <source>Rename Folder</source>
+ <target>Renommer le dossier</target>
+</phrase>
+<phrase>
+ <source>Bookmark</source>
+ <target>Signet</target>
+</phrase>
+<phrase>
+ <source>Remove</source>
+ <target>Retirer</target>
+</phrase>
+<phrase>
+ <source>Delete Folder</source>
+ <target>Supprimer le dossier</target>
+</phrase>
+<phrase>
+ <source>Add</source>
+ <target>Ajouter</target>
+</phrase>
+<phrase>
+ <source>Move Up</source>
+ <target>Vers le Haut</target>
+</phrase>
+<phrase>
+ <source>Move Down</source>
+ <target>Vers le Bas</target>
+</phrase>
+<phrase>
+ <source>Show Bookmark</source>
+ <target>Afficher le signet</target>
+</phrase>
+<phrase>
+ <source>Show Bookmark in New Tab</source>
+ <target>Afficher le signet dans un nouvel onglet</target>
+</phrase>
+<phrase>
+ <source>Delete Bookmark</source>
+ <target>Supprimer le signet</target>
+</phrase>
+<phrase>
+ <source>Rename Bookmark</source>
+ <target>Renommer le signet</target>
+</phrase>
+<phrase>
+ <source>Previous Bookmark</source>
+ <target>Signet précédent</target>
+</phrase>
+<phrase>
+ <source>Next Bookmark</source>
+ <target>Signet suivant</target>
+</phrase>
+<phrase>
+ <source>Condition:</source>
+ <target>Condition:</target>
+</phrase>
+<phrase>
+ <source>Working Directory:</source>
+ <target>Répertoire de travail:</target>
+</phrase>
+<phrase>
+ <source>Environment</source>
+ <target>Environnement</target>
+</phrase>
+<phrase>
+ <source>Arguments</source>
+ <target>Arguments</target>
+</phrase>
+<phrase>
+ <source>Build directory:</source>
+ <target>Répertoire de compilation:</target>
+</phrase>
+<phrase>
+ <source>Path:</source>
+ <target>Chemin:</target>
+</phrase>
+<phrase>
+ <source>General</source>
+ <target>Général</target>
+</phrase>
+<phrase>
+ <source>Username:</source>
+ <target>Nom d&apos;utilisateur:</target>
+</phrase>
+<phrase>
+ <source>User interface</source>
+ <target>Interface utilisateur</target>
+</phrase>
+<phrase>
+ <source>Open Link</source>
+ <target>Ouvrir le lien</target>
+</phrase>
+<phrase>
+ <source> [read only]</source>
+ <target> [lecture seule]</target>
+</phrase>
+<phrase>
+ <source> [directory]</source>
+ <target> [répertoire]</target>
+</phrase>
+<phrase>
+ <source>Close All</source>
+ <target>Fermer tout</target>
+</phrase>
+<phrase>
+ <source>Failed!</source>
+ <target>Échec!</target>
+</phrase>
+<phrase>
+ <source>Proceed</source>
+ <target>Continuer</target>
+</phrase>
+<phrase>
+ <source>Make writable</source>
+ <target>Rendre inscriptible</target>
+</phrase>
+<phrase>
+ <source>Qt Creator</source>
+ <target>Qt Creator</target>
+</phrase>
+<phrase>
+ <source>&amp;File</source>
+ <target>&amp;Fichier</target>
+</phrase>
+<phrase>
+ <source>Activate %1</source>
+ <target>Activer %1</target>
+</phrase>
+<phrase>
+ <source>New Project</source>
+ <target>Nouveau projet</target>
+</phrase>
+<phrase>
+ <source>Close %1</source>
+ <target>Fermer %1</target>
+</phrase>
+<phrase>
+ <source>*</source>
+ <target>*</target>
+</phrase>
+<phrase>
+ <source>&amp;Change</source>
+ <target>&amp;Modifier</target>
+</phrase>
+<phrase>
+ <source>Close Other Editors</source>
+ <target>Fermer les autres éditeurs</target>
+</phrase>
+<phrase>
+ <source>Close All Except %1</source>
+ <target>Fermer tout sauf %1</target>
+</phrase>
</QPH>
diff --git a/tools/linguist/shared/abstractproitemvisitor.h b/tools/linguist/shared/abstractproitemvisitor.h
index 0691fdc..43e79e0 100644
--- a/tools/linguist/shared/abstractproitemvisitor.h
+++ b/tools/linguist/shared/abstractproitemvisitor.h
@@ -49,19 +49,23 @@ QT_BEGIN_NAMESPACE
struct AbstractProItemVisitor
{
virtual ~AbstractProItemVisitor() {}
- virtual bool visitBeginProBlock(ProBlock *block) = 0;
- virtual bool visitEndProBlock(ProBlock *block) = 0;
- virtual bool visitBeginProVariable(ProVariable *variable) = 0;
- virtual bool visitEndProVariable(ProVariable *variable) = 0;
+ virtual ProItem::ProItemReturn visitBeginProBlock(ProBlock *block) = 0;
+ virtual void visitEndProBlock(ProBlock *block) = 0;
- virtual bool visitBeginProFile(ProFile *value) = 0;
- virtual bool visitEndProFile(ProFile *value) = 0;
+ virtual ProItem::ProItemReturn visitProLoopIteration() = 0;
+ virtual void visitProLoopCleanup() = 0;
- virtual bool visitProValue(ProValue *value) = 0;
- virtual bool visitProFunction(ProFunction *function) = 0;
- virtual bool visitProOperator(ProOperator *function) = 0;
- virtual bool visitProCondition(ProCondition *function) = 0;
+ virtual void visitBeginProVariable(ProVariable *variable) = 0;
+ virtual void visitEndProVariable(ProVariable *variable) = 0;
+
+ virtual ProItem::ProItemReturn visitBeginProFile(ProFile *value) = 0;
+ virtual ProItem::ProItemReturn visitEndProFile(ProFile *value) = 0;
+
+ virtual void visitProValue(ProValue *value) = 0;
+ virtual ProItem::ProItemReturn visitProFunction(ProFunction *function) = 0;
+ virtual void visitProOperator(ProOperator *function) = 0;
+ virtual void visitProCondition(ProCondition *function) = 0;
};
QT_END_NAMESPACE
diff --git a/tools/linguist/shared/po.cpp b/tools/linguist/shared/po.cpp
index e22aa7d..a6795cb 100644
--- a/tools/linguist/shared/po.cpp
+++ b/tools/linguist/shared/po.cpp
@@ -359,6 +359,7 @@ bool loadPO(Translator &translator, QIODevice &dev, ConversionData &cd)
const QChar quote = QLatin1Char('"');
const QChar newline = QLatin1Char('\n');
QTextStream in(&dev);
+ in.setCodec(cd.m_codecForSource.isEmpty() ? QByteArray("UTF-8") : cd.m_codecForSource);
bool error = false;
// format of a .po file entry:
@@ -554,7 +555,7 @@ bool savePO(const Translator &translator, QIODevice &dev, ConversionData &cd)
{
bool ok = true;
QTextStream out(&dev);
- //qDebug() << "OUT CODEC: " << out.codec()->name();
+ out.setCodec(cd.m_outputCodec.isEmpty() ? QByteArray("UTF-8") : cd.m_outputCodec);
bool first = true;
if (translator.messages().isEmpty() || !translator.messages().first().sourceText().isEmpty()) {
@@ -636,7 +637,7 @@ bool savePO(const Translator &translator, QIODevice &dev, ConversionData &cd)
if (plural.isEmpty())
plural = msg.sourceText();
out << poEscapedString(prefix, QLatin1String("msgid_plural"), noWrap, plural);
- QStringList translations = translator.normalizedTranslations(msg, cd, &ok);
+ const QStringList &translations = msg.translations();
for (int i = 0; i != translations.size(); ++i) {
QString str = translations.at(i);
str.replace(QChar(Translator::BinaryVariantSeparator),
diff --git a/tools/linguist/shared/profileevaluator.cpp b/tools/linguist/shared/profileevaluator.cpp
index ef59543..5a9095a 100644
--- a/tools/linguist/shared/profileevaluator.cpp
+++ b/tools/linguist/shared/profileevaluator.cpp
@@ -60,7 +60,7 @@
#ifdef Q_OS_UNIX
#include <unistd.h>
#include <sys/utsname.h>
-#elif defined(Q_OS_WIN32)
+#else
#include <Windows.h>
#endif
#include <stdio.h>
@@ -68,8 +68,10 @@
#ifdef Q_OS_WIN32
#define QT_POPEN _popen
+#define QT_PCLOSE _pclose
#else
#define QT_POPEN popen
+#define QT_PCLOSE pclose
#endif
QT_BEGIN_NAMESPACE
@@ -169,16 +171,18 @@ public:
/////////////// Evaluating pro file contents
// implementation of AbstractProItemVisitor
- bool visitBeginProBlock(ProBlock *block);
- bool visitEndProBlock(ProBlock *block);
- bool visitBeginProVariable(ProVariable *variable);
- bool visitEndProVariable(ProVariable *variable);
- bool visitBeginProFile(ProFile *value);
- bool visitEndProFile(ProFile *value);
- bool visitProValue(ProValue *value);
- bool visitProFunction(ProFunction *function);
- bool visitProOperator(ProOperator *oper);
- bool visitProCondition(ProCondition *condition);
+ ProItem::ProItemReturn visitBeginProBlock(ProBlock *block);
+ void visitEndProBlock(ProBlock *block);
+ ProItem::ProItemReturn visitProLoopIteration();
+ void visitProLoopCleanup();
+ void visitBeginProVariable(ProVariable *variable);
+ void visitEndProVariable(ProVariable *variable);
+ ProItem::ProItemReturn visitBeginProFile(ProFile *value);
+ ProItem::ProItemReturn visitEndProFile(ProFile *value);
+ void visitProValue(ProValue *value);
+ ProItem::ProItemReturn visitProFunction(ProFunction *function);
+ void visitProOperator(ProOperator *oper);
+ void visitProCondition(ProCondition *condition);
QStringList valuesDirect(const QString &variableName) const { return m_valuemap[variableName]; }
QStringList values(const QString &variableName) const;
@@ -188,10 +192,8 @@ public:
QString propertyValue(const QString &val) const;
bool isActiveConfig(const QString &config, bool regex = false);
- QStringList expandPattern(const QString &pattern);
- void expandPatternHelper(const QString &relName, const QString &absName,
- QStringList &sources_out);
QStringList expandVariableReferences(const QString &value);
+ void doVariableReplace(QString *str);
QStringList evaluateExpandFunction(const QString &function, const QString &arguments);
QString format(const char *format) const;
@@ -199,17 +201,22 @@ public:
QString currentDirectory() const;
ProFile *currentProFile() const;
- bool evaluateConditionalFunction(const QString &function, const QString &arguments, bool *result);
- bool evaluateFile(const QString &fileName, bool *result);
- bool evaluateFeatureFile(const QString &fileName, bool *result);
+ ProItem::ProItemReturn evaluateConditionalFunction(const QString &function, const QString &arguments);
+ bool evaluateFile(const QString &fileName);
+ bool evaluateFeatureFile(const QString &fileName);
+
+ static inline ProItem::ProItemReturn returnBool(bool b)
+ { return b ? ProItem::ReturnTrue : ProItem::ReturnFalse; }
+
+ QStringList evaluateFunction(ProBlock *funcPtr, const QStringList &argumentsList, bool *ok);
QStringList qmakeFeaturePaths();
- enum { ConditionTrue, ConditionFalse, ConditionElse };
- int m_condition;
- int m_prevCondition;
- bool m_updateCondition;
- bool m_invertNext;
+ struct State {
+ bool condition;
+ bool prevCondition;
+ } m_sts;
+ bool m_invertNext; // Short-lived, so not in State
int m_skipLevel;
bool m_cumulative;
bool m_isFirstVariableValue;
@@ -218,6 +225,14 @@ public:
QString m_origfile;
QString m_oldPath; // To restore the current path to the path
QStack<ProFile*> m_profileStack; // To handle 'include(a.pri), so we can track back to 'a.pro' when finished with 'a.pri'
+ struct ProLoop {
+ QString variable;
+ QStringList oldVarVal;
+ QStringList list;
+ int index;
+ bool infinite;
+ };
+ QStack<ProLoop> m_loopStack;
// we need the following two variables for handling
// CONFIG = foo bar $$CONFIG
@@ -229,10 +244,23 @@ public:
QHash<QString, QString> m_properties;
QString m_outputDir;
+ bool m_definingTest;
+ QString m_definingFunc;
+ QHash<QString, ProBlock *> m_testFunctions;
+ QHash<QString, ProBlock *> m_replaceFunctions;
+ QStringList m_returnValue;
+ QStack<QHash<QString, QStringList> > m_valuemapStack;
+ QStack<QHash<const ProFile*, QHash<QString, QStringList> > > m_filevaluemapStack;
+
int m_prevLineNo; // Checking whether we're assigning the same TARGET
ProFile *m_prevProFile; // See m_prevLineNo
};
+#if (!defined(__GNUC__) || __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ > 3)) && !defined(__SUNPRO_CC)
+Q_DECLARE_TYPEINFO(ProFileEvaluator::Private::State, Q_PRIMITIVE_TYPE);
+Q_DECLARE_TYPEINFO(ProFileEvaluator::Private::ProLoop, Q_MOVABLE_TYPE);
+#endif
+
ProFileEvaluator::Private::Private(ProFileEvaluator *q_)
: q(q_)
{
@@ -245,11 +273,12 @@ ProFileEvaluator::Private::Private(ProFileEvaluator *q_)
m_cumulative = true;
// Evaluator state
- m_updateCondition = false;
- m_condition = ConditionFalse;
+ m_sts.condition = false;
+ m_sts.prevCondition = false;
m_invertNext = false;
m_skipLevel = 0;
m_isFirstVariableValue = true;
+ m_definingFunc.clear();
}
bool ProFileEvaluator::Private::read(ProFile *pro)
@@ -561,91 +590,125 @@ void ProFileEvaluator::Private::updateItem()
}
-bool ProFileEvaluator::Private::visitBeginProBlock(ProBlock *block)
+ProItem::ProItemReturn ProFileEvaluator::Private::visitBeginProBlock(ProBlock *block)
{
- if (block->blockKind() == ProBlock::ScopeKind) {
- m_updateCondition = true;
+ if (block->blockKind() & ProBlock::ScopeContentsKind) {
+ if (!m_definingFunc.isEmpty()) {
+ if (!m_skipLevel || m_cumulative) {
+ QHash<QString, ProBlock *> *hash =
+ (m_definingTest ? &m_testFunctions : &m_replaceFunctions);
+ if (ProBlock *def = hash->value(m_definingFunc))
+ def->deref();
+ hash->insert(m_definingFunc, block);
+ block->ref();
+ block->setBlockKind(block->blockKind() | ProBlock::FunctionBodyKind);
+ }
+ m_definingFunc.clear();
+ return ProItem::ReturnSkip;
+ } else if (!(block->blockKind() & ProBlock::FunctionBodyKind)) {
+ if (!m_sts.condition)
+ ++m_skipLevel;
+ else
+ Q_ASSERT(!m_skipLevel);
+ }
+ } else {
if (!m_skipLevel) {
- m_prevCondition = m_condition;
- m_condition = ConditionFalse;
+ if (m_sts.condition) {
+ m_sts.prevCondition = true;
+ m_sts.condition = false;
+ }
} else {
- Q_ASSERT(m_condition != ConditionTrue);
+ Q_ASSERT(!m_sts.condition);
}
- } else if (block->blockKind() & ProBlock::ScopeContentsKind) {
- m_updateCondition = false;
- if (m_condition != ConditionTrue)
- ++m_skipLevel;
- else
- Q_ASSERT(!m_skipLevel);
}
- return true;
+ return ProItem::ReturnTrue;
}
-bool ProFileEvaluator::Private::visitEndProBlock(ProBlock *block)
+void ProFileEvaluator::Private::visitEndProBlock(ProBlock *block)
{
- if (block->blockKind() & ProBlock::ScopeContentsKind) {
+ if ((block->blockKind() & ProBlock::ScopeContentsKind)
+ && !(block->blockKind() & ProBlock::FunctionBodyKind)) {
if (m_skipLevel) {
- Q_ASSERT(m_condition != ConditionTrue);
+ Q_ASSERT(!m_sts.condition);
--m_skipLevel;
- } else {
+ } else if (!(block->blockKind() & ProBlock::SingleLine)) {
// Conditionals contained inside this block may have changed the state.
// So we reset it here to make an else following us do the right thing.
- m_condition = ConditionTrue;
+ m_sts.condition = true;
}
}
- return true;
}
-bool ProFileEvaluator::Private::visitBeginProVariable(ProVariable *variable)
+ProItem::ProItemReturn ProFileEvaluator::Private::visitProLoopIteration()
+{
+ ProLoop &loop = m_loopStack.top();
+
+ if (loop.infinite) {
+ if (!loop.variable.isEmpty())
+ m_valuemap[loop.variable] = QStringList(QString::number(loop.index++));
+ if (loop.index > 1000) {
+ q->errorMessage(format("ran into infinite loop (> 1000 iterations)."));
+ return ProItem::ReturnFalse;
+ }
+ } else {
+ QString val;
+ do {
+ if (loop.index >= loop.list.count())
+ return ProItem::ReturnFalse;
+ val = loop.list.at(loop.index++);
+ } while (val.isEmpty()); // stupid, but qmake is like that
+ m_valuemap[loop.variable] = QStringList(val);
+ }
+ return ProItem::ReturnTrue;
+}
+
+void ProFileEvaluator::Private::visitProLoopCleanup()
+{
+ ProLoop &loop = m_loopStack.top();
+ m_valuemap[loop.variable] = loop.oldVarVal;
+ m_loopStack.pop_back();
+}
+
+void ProFileEvaluator::Private::visitBeginProVariable(ProVariable *variable)
{
m_lastVarName = variable->variable();
m_variableOperator = variable->variableOperator();
m_isFirstVariableValue = true;
m_tempValuemap = m_valuemap;
m_tempFilevaluemap = m_filevaluemap;
- return true;
}
-bool ProFileEvaluator::Private::visitEndProVariable(ProVariable *variable)
+void ProFileEvaluator::Private::visitEndProVariable(ProVariable *variable)
{
Q_UNUSED(variable);
m_valuemap = m_tempValuemap;
m_filevaluemap = m_tempFilevaluemap;
m_lastVarName.clear();
- return true;
}
-bool ProFileEvaluator::Private::visitProOperator(ProOperator *oper)
+void ProFileEvaluator::Private::visitProOperator(ProOperator *oper)
{
m_invertNext = (oper->operatorKind() == ProOperator::NotOperator);
- return true;
}
-bool ProFileEvaluator::Private::visitProCondition(ProCondition *cond)
+void ProFileEvaluator::Private::visitProCondition(ProCondition *cond)
{
if (!m_skipLevel) {
- if (cond->text().toLower() == QLatin1String("else")) {
- // The state ConditionElse makes sure that subsequential elses are ignored.
- // That's braindead, but qmake is like that.
- if (m_prevCondition == ConditionTrue)
- m_condition = ConditionElse;
- else if (m_prevCondition == ConditionFalse)
- m_condition = ConditionTrue;
- } else if (m_condition == ConditionFalse) {
- if (isActiveConfig(cond->text(), true) ^ m_invertNext)
- m_condition = ConditionTrue;
+ if (!cond->text().compare(QLatin1String("else"), Qt::CaseInsensitive)) {
+ m_sts.condition = !m_sts.prevCondition;
+ } else {
+ m_sts.prevCondition = false;
+ if (!m_sts.condition && isActiveConfig(cond->text(), true) ^ m_invertNext)
+ m_sts.condition = true;
}
}
m_invertNext = false;
- return true;
}
-bool ProFileEvaluator::Private::visitBeginProFile(ProFile * pro)
+ProItem::ProItemReturn ProFileEvaluator::Private::visitBeginProFile(ProFile * pro)
{
PRE(pro);
- bool ok = true;
m_lineNo = pro->lineNumber();
-
if (m_origfile.isEmpty())
m_origfile = pro->fileName();
if (m_oldPath.isEmpty()) {
@@ -663,21 +726,20 @@ bool ProFileEvaluator::Private::visitBeginProFile(ProFile * pro)
m_cumulative = false;
// This is what qmake does, everything set in the mkspec is also set
// But this also creates a lot of problems
- evaluateFile(mkspecDirectory + QLatin1String("/default/qmake.conf"), &ok);
- evaluateFile(mkspecDirectory + QLatin1String("/features/default_pre.prf"), &ok);
+ evaluateFile(mkspecDirectory + QLatin1String("/default/qmake.conf"));
+ evaluateFile(mkspecDirectory + QLatin1String("/features/default_pre.prf"));
m_cumulative = cumulative;
}
- ok = QDir::setCurrent(pro->directoryName());
+ return returnBool(QDir::setCurrent(pro->directoryName()));
}
- return ok;
+ return ProItem::ReturnTrue;
}
-bool ProFileEvaluator::Private::visitEndProFile(ProFile * pro)
+ProItem::ProItemReturn ProFileEvaluator::Private::visitEndProFile(ProFile * pro)
{
PRE(pro);
- bool ok = true;
m_lineNo = pro->lineNumber();
if (m_profileStack.count() == 1 && !m_oldPath.isEmpty()) {
const QString &mkspecDirectory = propertyValue(QLatin1String("QMAKE_MKSPECS"));
@@ -685,7 +747,7 @@ bool ProFileEvaluator::Private::visitEndProFile(ProFile * pro)
bool cumulative = m_cumulative;
m_cumulative = false;
- evaluateFile(mkspecDirectory + QLatin1String("/features/default_post.prf"), &ok);
+ evaluateFile(mkspecDirectory + QLatin1String("/features/default_post.prf"));
QSet<QString> processed;
forever {
@@ -695,9 +757,8 @@ bool ProFileEvaluator::Private::visitEndProFile(ProFile * pro)
const QString config = configs[i].toLower();
if (!processed.contains(config)) {
processed.insert(config);
- evaluateFile(mkspecDirectory + QLatin1String("/features/")
- + config + QLatin1String(".prf"), &ok);
- if (ok) {
+ if (evaluateFile(mkspecDirectory + QLatin1String("/features/")
+ + config + QLatin1String(".prf"))) {
finished = false;
break;
}
@@ -707,13 +768,21 @@ bool ProFileEvaluator::Private::visitEndProFile(ProFile * pro)
break;
}
+ foreach (ProBlock *itm, m_replaceFunctions)
+ itm->deref();
+ m_replaceFunctions.clear();
+ foreach (ProBlock *itm, m_testFunctions)
+ itm->deref();
+ m_testFunctions.clear();
+
m_cumulative = cumulative;
}
m_profileStack.pop();
- ok = QDir::setCurrent(m_oldPath);
+ return returnBool(QDir::setCurrent(m_oldPath));
}
- return ok;
+
+ return ProItem::ReturnTrue;
}
static void replaceInList(QStringList *varlist,
@@ -734,7 +803,7 @@ static void replaceInList(QStringList *varlist,
}
}
-bool ProFileEvaluator::Private::visitProValue(ProValue *value)
+void ProFileEvaluator::Private::visitProValue(ProValue *value)
{
PRE(value);
m_lineNo = value->lineNumber();
@@ -761,29 +830,6 @@ bool ProFileEvaluator::Private::visitProValue(ProValue *value)
m_prevLineNo = m_lineNo;
m_prevProFile = currentProFile();
- // The following two blocks fix bug 180128 by making all "interesting"
- // file name absolute in each .pro file, not just the top most one
- if (varName == QLatin1String("SOURCES")
- || varName == QLatin1String("HEADERS")
- || varName == QLatin1String("INTERFACES")
- || varName == QLatin1String("FORMS")
- || varName == QLatin1String("FORMS3")
- || varName == QLatin1String("RESOURCES")) {
- // matches only existent files, expand certain(?) patterns
- QStringList vv;
- for (int i = v.count(); --i >= 0; )
- vv << expandPattern(v[i]);
- v = vv;
- }
-
- if (varName == QLatin1String("TRANSLATIONS")) {
- // also matches non-existent files, but does not expand pattern
- QString dir = QFileInfo(currentFileName()).absolutePath();
- dir += QLatin1Char('/');
- for (int i = v.count(); --i >= 0; )
- v[i] = QFileInfo(dir, v[i]).absoluteFilePath();
- }
-
switch (m_variableOperator) {
case ProVariable::SetOperator: // =
if (!m_cumulative) {
@@ -828,16 +874,16 @@ bool ProFileEvaluator::Private::visitProValue(ProValue *value)
{
// DEFINES ~= s/a/b/?[gqi]
- // FIXME: qmake variable-expands val first.
+ doVariableReplace(&val);
if (val.length() < 4 || val[0] != QLatin1Char('s')) {
q->logMessage(format("the ~= operator can handle only the s/// function."));
- return false;
+ break;
}
QChar sep = val.at(1);
QStringList func = val.split(sep);
if (func.count() < 3 || func.count() > 4) {
q->logMessage(format("the s/// function expects 3 or 4 arguments."));
- return false;
+ break;
}
bool global = false, quote = false, case_sense = false;
@@ -864,12 +910,16 @@ bool ProFileEvaluator::Private::visitProValue(ProValue *value)
}
m_isFirstVariableValue = false;
- return true;
}
-bool ProFileEvaluator::Private::visitProFunction(ProFunction *func)
+ProItem::ProItemReturn ProFileEvaluator::Private::visitProFunction(ProFunction *func)
{
- if (!m_updateCondition || m_condition == ConditionFalse) {
+ // Make sure that called subblocks don't inherit & destroy the state
+ bool invertThis = m_invertNext;
+ m_invertNext = false;
+ if (!m_skipLevel)
+ m_sts.prevCondition = false;
+ if (m_cumulative || !m_sts.condition) {
QString text = func->text();
int lparen = text.indexOf(QLatin1Char('('));
int rparen = text.lastIndexOf(QLatin1Char(')'));
@@ -877,16 +927,13 @@ bool ProFileEvaluator::Private::visitProFunction(ProFunction *func)
QString arguments = text.mid(lparen + 1, rparen - lparen - 1);
QString funcName = text.left(lparen);
m_lineNo = func->lineNumber();
- bool result;
- if (!evaluateConditionalFunction(funcName.trimmed(), arguments, &result)) {
- m_invertNext = false;
- return false;
- }
- if (!m_skipLevel && (result ^ m_invertNext))
- m_condition = ConditionTrue;
+ ProItem::ProItemReturn result = evaluateConditionalFunction(funcName.trimmed(), arguments);
+ if (result != ProItem::ReturnFalse && result != ProItem::ReturnTrue)
+ return result;
+ if (!m_skipLevel && ((result == ProItem::ReturnTrue) ^ invertThis))
+ m_sts.condition = true;
}
- m_invertNext = false;
- return true;
+ return ProItem::ReturnTrue;
}
@@ -1012,6 +1059,11 @@ QString ProFileEvaluator::Private::currentDirectory() const
return cur->directoryName();
}
+void ProFileEvaluator::Private::doVariableReplace(QString *str)
+{
+ *str = expandVariableReferences(*str).join(QString(Option::field_sep));
+}
+
QStringList ProFileEvaluator::Private::expandVariableReferences(const QString &str)
{
QStringList ret;
@@ -1226,10 +1278,49 @@ bool ProFileEvaluator::Private::isActiveConfig(const QString &config, bool regex
return false;
}
+QStringList ProFileEvaluator::Private::evaluateFunction(
+ ProBlock *funcPtr, const QStringList &argumentsList, bool *ok)
+{
+ bool oki;
+ QStringList ret;
+
+ if (m_valuemapStack.count() >= 100) {
+ q->errorMessage(format("ran into infinite recursion (depth > 100)."));
+ oki = false;
+ } else {
+ State sts = m_sts;
+ m_valuemapStack.push(m_valuemap);
+ m_filevaluemapStack.push(m_filevaluemap);
+
+ QStringList args;
+ for (int i = 0; i < argumentsList.count(); ++i) {
+ QStringList theArgs = expandVariableReferences(argumentsList[i]);
+ args += theArgs;
+ m_valuemap[QString::number(i+1)] = theArgs;
+ }
+ m_valuemap[QLatin1String("ARGS")] = args;
+ oki = (funcPtr->Accept(this) != ProItem::ReturnFalse); // True || Return
+ ret = m_returnValue;
+ m_returnValue.clear();
+
+ m_valuemap = m_valuemapStack.pop();
+ m_filevaluemap = m_filevaluemapStack.pop();
+ m_sts = sts;
+ }
+ if (ok)
+ *ok = oki;
+ if (oki)
+ return ret;
+ return QStringList();
+}
+
QStringList ProFileEvaluator::Private::evaluateExpandFunction(const QString &func, const QString &arguments)
{
QStringList argumentsList = split_arg_list(arguments);
+ if (ProBlock *funcPtr = m_replaceFunctions.value(func, 0))
+ return evaluateFunction(funcPtr, argumentsList, 0);
+
QStringList args;
for (int i = 0; i < argumentsList.count(); ++i)
args += expandVariableReferences(argumentsList[i]).join(Option::field_sep);
@@ -1240,35 +1331,34 @@ QStringList ProFileEvaluator::Private::evaluateExpandFunction(const QString &fun
E_UPPER, E_LOWER, E_FILES, E_PROMPT, E_RE_ESCAPE,
E_REPLACE };
- static QHash<QString, int> *expands = 0;
- if (!expands) {
- expands = new QHash<QString, int>;
- expands->insert(QLatin1String("member"), E_MEMBER);
- expands->insert(QLatin1String("first"), E_FIRST);
- expands->insert(QLatin1String("last"), E_LAST);
- expands->insert(QLatin1String("cat"), E_CAT);
- expands->insert(QLatin1String("fromfile"), E_FROMFILE); // implementation disabled (see comment below)
- expands->insert(QLatin1String("eval"), E_EVAL);
- expands->insert(QLatin1String("list"), E_LIST);
- expands->insert(QLatin1String("sprintf"), E_SPRINTF);
- expands->insert(QLatin1String("join"), E_JOIN);
- expands->insert(QLatin1String("split"), E_SPLIT);
- expands->insert(QLatin1String("basename"), E_BASENAME);
- expands->insert(QLatin1String("dirname"), E_DIRNAME);
- expands->insert(QLatin1String("section"), E_SECTION);
- expands->insert(QLatin1String("find"), E_FIND);
- expands->insert(QLatin1String("system"), E_SYSTEM);
- expands->insert(QLatin1String("unique"), E_UNIQUE);
- expands->insert(QLatin1String("quote"), E_QUOTE);
- expands->insert(QLatin1String("escape_expand"), E_ESCAPE_EXPAND);
- expands->insert(QLatin1String("upper"), E_UPPER);
- expands->insert(QLatin1String("lower"), E_LOWER);
- expands->insert(QLatin1String("re_escape"), E_RE_ESCAPE);
- expands->insert(QLatin1String("files"), E_FILES);
- expands->insert(QLatin1String("prompt"), E_PROMPT); // interactive, so cannot be implemented
- expands->insert(QLatin1String("replace"), E_REPLACE);
+ static QHash<QString, int> expands;
+ if (expands.isEmpty()) {
+ expands.insert(QLatin1String("member"), E_MEMBER);
+ expands.insert(QLatin1String("first"), E_FIRST);
+ expands.insert(QLatin1String("last"), E_LAST);
+ expands.insert(QLatin1String("cat"), E_CAT);
+ expands.insert(QLatin1String("fromfile"), E_FROMFILE); // implementation disabled (see comment below)
+ expands.insert(QLatin1String("eval"), E_EVAL);
+ expands.insert(QLatin1String("list"), E_LIST);
+ expands.insert(QLatin1String("sprintf"), E_SPRINTF);
+ expands.insert(QLatin1String("join"), E_JOIN);
+ expands.insert(QLatin1String("split"), E_SPLIT);
+ expands.insert(QLatin1String("basename"), E_BASENAME);
+ expands.insert(QLatin1String("dirname"), E_DIRNAME);
+ expands.insert(QLatin1String("section"), E_SECTION);
+ expands.insert(QLatin1String("find"), E_FIND);
+ expands.insert(QLatin1String("system"), E_SYSTEM);
+ expands.insert(QLatin1String("unique"), E_UNIQUE);
+ expands.insert(QLatin1String("quote"), E_QUOTE);
+ expands.insert(QLatin1String("escape_expand"), E_ESCAPE_EXPAND);
+ expands.insert(QLatin1String("upper"), E_UPPER);
+ expands.insert(QLatin1String("lower"), E_LOWER);
+ expands.insert(QLatin1String("re_escape"), E_RE_ESCAPE);
+ expands.insert(QLatin1String("files"), E_FILES);
+ expands.insert(QLatin1String("prompt"), E_PROMPT); // interactive, so cannot be implemented
+ expands.insert(QLatin1String("replace"), E_REPLACE);
}
- ExpandFunc func_t = ExpandFunc(expands->value(func.toLower()));
+ ExpandFunc func_t = ExpandFunc(expands.value(func.toLower()));
QStringList ret;
@@ -1425,7 +1515,7 @@ QStringList ProFileEvaluator::Private::evaluateExpandFunction(const QString &fun
bool singleLine = true;
if (args.count() > 1)
- singleLine = (args[1].toLower() == QLatin1String("true"));
+ singleLine = (!args[1].compare(QLatin1String("true"), Qt::CaseInsensitive));
QFile qfile(file);
if (qfile.open(QIODevice::ReadOnly)) {
@@ -1499,7 +1589,7 @@ QStringList ProFileEvaluator::Private::evaluateExpandFunction(const QString &fun
FILE *proc = QT_POPEN(args[0].toLatin1(), "r");
bool singleLine = true;
if (args.count() > 1)
- singleLine = (args[1].toLower() == QLatin1String("true"));
+ singleLine = (!args[1].compare(QLatin1String("true"), Qt::CaseInsensitive));
QString output;
while (proc && !feof(proc)) {
int read_in = int(fread(buff, 1, 255, proc));
@@ -1513,6 +1603,8 @@ QStringList ProFileEvaluator::Private::evaluateExpandFunction(const QString &fun
output += QLatin1String(buff);
}
ret += split_value_list(output);
+ if (proc)
+ QT_PCLOSE(proc);
}
}
break;
@@ -1579,7 +1671,7 @@ QStringList ProFileEvaluator::Private::evaluateExpandFunction(const QString &fun
} else {
bool recursive = false;
if (args.count() == 2)
- recursive = (args[1].toLower() == QLatin1String("true") || args[1].toInt());
+ recursive = (!args[1].compare(QLatin1String("true"), Qt::CaseInsensitive) || args[1].toInt());
QStringList dirs;
QString r = Option::fixPathToLocalOS(args[0]);
int slash = r.lastIndexOf(QDir::separator());
@@ -1632,13 +1724,40 @@ QStringList ProFileEvaluator::Private::evaluateExpandFunction(const QString &fun
return ret;
}
-bool ProFileEvaluator::Private::evaluateConditionalFunction(const QString &function,
- const QString &arguments, bool *result)
+ProItem::ProItemReturn ProFileEvaluator::Private::evaluateConditionalFunction(
+ const QString &function, const QString &arguments)
{
QStringList argumentsList = split_arg_list(arguments);
+
+ if (ProBlock *funcPtr = m_testFunctions.value(function, 0)) {
+ bool ok;
+ QStringList ret = evaluateFunction(funcPtr, argumentsList, &ok);
+ if (ok) {
+ if (ret.isEmpty()) {
+ return ProItem::ReturnTrue;
+ } else {
+ if (ret.first() != QLatin1String("false")) {
+ if (ret.first() == QLatin1String("true")) {
+ return ProItem::ReturnTrue;
+ } else {
+ bool ok;
+ int val = ret.first().toInt(&ok);
+ if (ok) {
+ if (val)
+ return ProItem::ReturnTrue;
+ } else {
+ q->logMessage(format("Unexpected return value from test '%1': %2")
+ .arg(function).arg(ret.join(QLatin1String(" :: "))));
+ }
+ }
+ }
+ }
+ }
+ return ProItem::ReturnFalse;
+ }
+
QString sep;
sep.append(Option::field_sep);
-
QStringList args;
for (int i = 0; i < argumentsList.count(); ++i)
args += expandVariableReferences(argumentsList[i]).join(sep);
@@ -1646,91 +1765,282 @@ bool ProFileEvaluator::Private::evaluateConditionalFunction(const QString &funct
enum TestFunc { T_REQUIRES=1, T_GREATERTHAN, T_LESSTHAN, T_EQUALS,
T_EXISTS, T_EXPORT, T_CLEAR, T_UNSET, T_EVAL, T_CONFIG, T_SYSTEM,
T_RETURN, T_BREAK, T_NEXT, T_DEFINED, T_CONTAINS, T_INFILE,
- T_COUNT, T_ISEMPTY, T_INCLUDE, T_LOAD, T_DEBUG, T_MESSAGE, T_IF };
-
- static QHash<QString, int> *functions = 0;
- if (!functions) {
- functions = new QHash<QString, int>;
- functions->insert(QLatin1String("requires"), T_REQUIRES);
- functions->insert(QLatin1String("greaterThan"), T_GREATERTHAN);
- functions->insert(QLatin1String("lessThan"), T_LESSTHAN);
- functions->insert(QLatin1String("equals"), T_EQUALS);
- functions->insert(QLatin1String("isEqual"), T_EQUALS);
- functions->insert(QLatin1String("exists"), T_EXISTS);
- functions->insert(QLatin1String("export"), T_EXPORT);
- functions->insert(QLatin1String("clear"), T_CLEAR);
- functions->insert(QLatin1String("unset"), T_UNSET);
- functions->insert(QLatin1String("eval"), T_EVAL);
- functions->insert(QLatin1String("CONFIG"), T_CONFIG);
- functions->insert(QLatin1String("if"), T_IF);
- functions->insert(QLatin1String("isActiveConfig"), T_CONFIG);
- functions->insert(QLatin1String("system"), T_SYSTEM);
- functions->insert(QLatin1String("return"), T_RETURN);
- functions->insert(QLatin1String("break"), T_BREAK);
- functions->insert(QLatin1String("next"), T_NEXT);
- functions->insert(QLatin1String("defined"), T_DEFINED);
- functions->insert(QLatin1String("contains"), T_CONTAINS);
- functions->insert(QLatin1String("infile"), T_INFILE);
- functions->insert(QLatin1String("count"), T_COUNT);
- functions->insert(QLatin1String("isEmpty"), T_ISEMPTY);
- functions->insert(QLatin1String("load"), T_LOAD); //v
- functions->insert(QLatin1String("include"), T_INCLUDE); //v
- functions->insert(QLatin1String("debug"), T_DEBUG);
- functions->insert(QLatin1String("message"), T_MESSAGE); //v
- functions->insert(QLatin1String("warning"), T_MESSAGE); //v
- functions->insert(QLatin1String("error"), T_MESSAGE); //v
+ T_COUNT, T_ISEMPTY, T_INCLUDE, T_LOAD, T_DEBUG, T_MESSAGE, T_IF,
+ T_FOR, T_DEFINE_TEST, T_DEFINE_REPLACE };
+
+ static QHash<QString, int> functions;
+ if (functions.isEmpty()) {
+ functions.insert(QLatin1String("requires"), T_REQUIRES);
+ functions.insert(QLatin1String("greaterThan"), T_GREATERTHAN);
+ functions.insert(QLatin1String("lessThan"), T_LESSTHAN);
+ functions.insert(QLatin1String("equals"), T_EQUALS);
+ functions.insert(QLatin1String("isEqual"), T_EQUALS);
+ functions.insert(QLatin1String("exists"), T_EXISTS);
+ functions.insert(QLatin1String("export"), T_EXPORT);
+ functions.insert(QLatin1String("clear"), T_CLEAR);
+ functions.insert(QLatin1String("unset"), T_UNSET);
+ functions.insert(QLatin1String("eval"), T_EVAL);
+ functions.insert(QLatin1String("CONFIG"), T_CONFIG);
+ functions.insert(QLatin1String("if"), T_IF);
+ functions.insert(QLatin1String("isActiveConfig"), T_CONFIG);
+ functions.insert(QLatin1String("system"), T_SYSTEM);
+ functions.insert(QLatin1String("return"), T_RETURN);
+ functions.insert(QLatin1String("break"), T_BREAK);
+ functions.insert(QLatin1String("next"), T_NEXT);
+ functions.insert(QLatin1String("defined"), T_DEFINED);
+ functions.insert(QLatin1String("contains"), T_CONTAINS);
+ functions.insert(QLatin1String("infile"), T_INFILE);
+ functions.insert(QLatin1String("count"), T_COUNT);
+ functions.insert(QLatin1String("isEmpty"), T_ISEMPTY);
+ functions.insert(QLatin1String("load"), T_LOAD); //v
+ functions.insert(QLatin1String("include"), T_INCLUDE); //v
+ functions.insert(QLatin1String("debug"), T_DEBUG);
+ functions.insert(QLatin1String("message"), T_MESSAGE); //v
+ functions.insert(QLatin1String("warning"), T_MESSAGE); //v
+ functions.insert(QLatin1String("error"), T_MESSAGE); //v
+ functions.insert(QLatin1String("for"), T_FOR); //v
+ functions.insert(QLatin1String("defineTest"), T_DEFINE_TEST); //v
+ functions.insert(QLatin1String("defineReplace"), T_DEFINE_REPLACE); //v
}
- bool cond = false;
- bool ok = true;
-
- TestFunc func_t = (TestFunc)functions->value(function);
+ TestFunc func_t = (TestFunc)functions.value(function);
switch (func_t) {
+ case T_DEFINE_TEST:
+ m_definingTest = true;
+ goto defineFunc;
+ case T_DEFINE_REPLACE:
+ m_definingTest = false;
+ defineFunc:
+ if (args.count() != 1) {
+ q->logMessage(format("%s(function) requires one argument.").arg(function));
+ return ProItem::ReturnFalse;
+ }
+ m_definingFunc = args.first();
+ return ProItem::ReturnTrue;
+ case T_DEFINED:
+ if (args.count() < 1 || args.count() > 2) {
+ q->logMessage(format("defined(function, [\"test\"|\"replace\"])"
+ " requires one or two arguments."));
+ return ProItem::ReturnFalse;
+ }
+ if (args.count() > 1) {
+ if (args[1] == QLatin1String("test"))
+ return returnBool(m_testFunctions.contains(args[0]));
+ else if (args[1] == QLatin1String("replace"))
+ return returnBool(m_replaceFunctions.contains(args[0]));
+ q->logMessage(format("defined(function, type):"
+ " unexpected type [%1].\n").arg(args[1]));
+ return ProItem::ReturnFalse;
+ }
+ return returnBool(m_replaceFunctions.contains(args[0])
+ || m_testFunctions.contains(args[0]));
+ case T_RETURN:
+ m_returnValue = args;
+ // It is "safe" to ignore returns - due to qmake brokeness
+ // they cannot be used to terminate loops anyway.
+ if (m_skipLevel || m_cumulative)
+ return ProItem::ReturnTrue;
+ if (m_valuemapStack.isEmpty()) {
+ q->logMessage(format("unexpected return()."));
+ return ProItem::ReturnFalse;
+ }
+ return ProItem::ReturnReturn;
+ case T_EXPORT:
+ if (m_skipLevel && !m_cumulative)
+ return ProItem::ReturnTrue;
+ if (args.count() != 1) {
+ q->logMessage(format("export(variable) requires one argument."));
+ return ProItem::ReturnFalse;
+ }
+ for (int i = 0; i < m_valuemapStack.size(); ++i) {
+ m_valuemapStack[i][args[0]] = m_valuemap[args[0]];
+ m_filevaluemapStack[i][currentProFile()][args[0]] =
+ m_filevaluemap[currentProFile()][args[0]];
+ }
+ return ProItem::ReturnTrue;
#if 0
case T_INFILE:
case T_REQUIRES:
- case T_GREATERTHAN:
- case T_LESSTHAN:
- case T_EQUALS:
- case T_EXPORT:
- case T_CLEAR:
- case T_UNSET:
case T_EVAL:
- case T_IF:
- case T_RETURN:
+#endif
+ case T_FOR: {
+ if (m_cumulative) // This is a no-win situation, so just pretend it's no loop
+ return ProItem::ReturnTrue;
+ if (m_skipLevel)
+ return ProItem::ReturnFalse;
+ if (args.count() > 2 || args.count() < 1) {
+ q->logMessage(format("for({var, list|var, forever|ever})"
+ " requires one or two arguments."));
+ return ProItem::ReturnFalse;
+ }
+ ProLoop loop;
+ loop.infinite = false;
+ loop.index = 0;
+ QString it_list;
+ if (args.count() == 1) {
+ doVariableReplace(&args[0]);
+ it_list = args[0];
+ if (args[0] != QLatin1String("ever")) {
+ q->logMessage(format("for({var, list|var, forever|ever})"
+ " requires one or two arguments."));
+ return ProItem::ReturnFalse;
+ }
+ it_list = QLatin1String("forever");
+ } else {
+ loop.variable = args[0];
+ loop.oldVarVal = m_valuemap.value(loop.variable);
+ doVariableReplace(&args[1]);
+ it_list = args[1];
+ }
+ loop.list = m_valuemap[it_list];
+ if (loop.list.isEmpty()) {
+ if (it_list == QLatin1String("forever")) {
+ loop.infinite = true;
+ } else {
+ int dotdot = it_list.indexOf(QLatin1String(".."));
+ if (dotdot != -1) {
+ bool ok;
+ int start = it_list.left(dotdot).toInt(&ok);
+ if (ok) {
+ int end = it_list.mid(dotdot+2).toInt(&ok);
+ if (ok) {
+ if (start < end) {
+ for (int i = start; i <= end; i++)
+ loop.list << QString::number(i);
+ } else {
+ for (int i = start; i >= end; i--)
+ loop.list << QString::number(i);
+ }
+ }
+ }
+ }
+ }
+ }
+ m_loopStack.push(loop);
+ m_sts.condition = true;
+ return ProItem::ReturnLoop;
+ }
case T_BREAK:
+ if (m_skipLevel)
+ return ProItem::ReturnFalse;
+ if (!m_loopStack.isEmpty())
+ return ProItem::ReturnBreak;
+ // ### missing: breaking out of multiline blocks
+ q->logMessage(format("unexpected break()."));
+ return ProItem::ReturnFalse;
case T_NEXT:
- case T_DEFINED:
-#endif
+ if (m_skipLevel)
+ return ProItem::ReturnFalse;
+ if (!m_loopStack.isEmpty())
+ return ProItem::ReturnNext;
+ q->logMessage(format("unexpected next()."));
+ return ProItem::ReturnFalse;
+ case T_IF: {
+ if (args.count() != 1) {
+ q->logMessage(format("if(condition) requires one argument."));
+ return ProItem::ReturnFalse;
+ }
+ QString cond = args.first();
+ bool escaped = false; // This is more than qmake does
+ bool quoted = false;
+ bool ret = true;
+ bool orOp = false;
+ bool invert = false;
+ bool isFunc = false;
+ int parens = 0;
+ QString test;
+ test.reserve(20);
+ QString args;
+ args.reserve(50);
+ const QChar *d = cond.unicode();
+ const QChar *ed = d + cond.length();
+ while (d < ed) {
+ ushort c = (d++)->unicode();
+ if (!escaped) {
+ if (c == '\\') {
+ escaped = true;
+ args += c; // Assume no-one quotes the test name
+ continue;
+ } else if (c == '"') {
+ quoted = !quoted;
+ args += c; // Ditto
+ continue;
+ }
+ } else {
+ escaped = false;
+ }
+ if (quoted) {
+ args += c; // Ditto
+ } else {
+ bool isOp = false;
+ if (c == '(') {
+ isFunc = true;
+ if (parens)
+ args += c;
+ ++parens;
+ } else if (c == ')') {
+ --parens;
+ if (parens)
+ args += c;
+ } else if (!parens) {
+ if (c == ':' || c == '|')
+ isOp = true;
+ else if (c == '!')
+ invert = true;
+ else
+ test += c;
+ } else {
+ args += c;
+ }
+ if (!parens && (isOp || d == ed)) {
+ // Yes, qmake doesn't shortcut evaluations here. We can't, either,
+ // as some test functions have side effects.
+ bool success;
+ if (isFunc) {
+ success = evaluateConditionalFunction(test, args);
+ } else {
+ success = isActiveConfig(test, true);
+ }
+ success ^= invert;
+ if (orOp)
+ ret |= success;
+ else
+ ret &= success;
+ orOp = (c == '|');
+ invert = false;
+ isFunc = false;
+ test.clear();
+ args.clear();
+ }
+ }
+ }
+ return returnBool(ret);
+ }
case T_CONFIG: {
if (args.count() < 1 || args.count() > 2) {
q->logMessage(format("CONFIG(config) requires one or two arguments."));
- ok = false;
- break;
+ return ProItem::ReturnFalse;
}
if (args.count() == 1) {
//cond = isActiveConfig(args.first()); XXX
- break;
+ return ProItem::ReturnFalse;
}
const QStringList mutuals = args[1].split(QLatin1Char('|'));
const QStringList &configs = valuesDirect(QLatin1String("CONFIG"));
for (int i = configs.size() - 1; i >= 0; i--) {
for (int mut = 0; mut < mutuals.count(); mut++) {
if (configs[i] == mutuals[mut].trimmed()) {
- cond = (configs[i] == args[0]);
- goto done_T_CONFIG;
+ return returnBool(configs[i] == args[0]);
}
}
}
- done_T_CONFIG:
- break;
+ return ProItem::ReturnFalse;
}
case T_CONTAINS: {
if (args.count() < 2 || args.count() > 3) {
q->logMessage(format("contains(var, val) requires two or three arguments."));
- ok = false;
- break;
+ return ProItem::ReturnFalse;
}
QRegExp regx(args[1]);
@@ -1739,8 +2049,7 @@ bool ProFileEvaluator::Private::evaluateConditionalFunction(const QString &funct
for (int i = 0; i < l.size(); ++i) {
const QString val = l[i];
if (regx.exactMatch(val) || val == args[1]) {
- cond = true;
- break;
+ return ProItem::ReturnTrue;
}
}
} else {
@@ -1749,140 +2058,172 @@ bool ProFileEvaluator::Private::evaluateConditionalFunction(const QString &funct
const QString val = l[i];
for (int mut = 0; mut < mutuals.count(); mut++) {
if (val == mutuals[mut].trimmed()) {
- cond = (regx.exactMatch(val) || val == args[1]);
- goto done_T_CONTAINS;
+ return returnBool(regx.exactMatch(val) || val == args[1]);
}
}
}
}
- done_T_CONTAINS:
- break;
+ return ProItem::ReturnFalse;
}
case T_COUNT: {
if (args.count() != 2 && args.count() != 3) {
q->logMessage(format("count(var, count, op=\"equals\") requires two or three arguments."));
- ok = false;
- break;
+ return ProItem::ReturnFalse;
}
if (args.count() == 3) {
QString comp = args[2];
if (comp == QLatin1String(">") || comp == QLatin1String("greaterThan")) {
- cond = values(args.first()).count() > args[1].toInt();
+ return returnBool(values(args.first()).count() > args[1].toInt());
} else if (comp == QLatin1String(">=")) {
- cond = values(args.first()).count() >= args[1].toInt();
+ return returnBool(values(args.first()).count() >= args[1].toInt());
} else if (comp == QLatin1String("<") || comp == QLatin1String("lessThan")) {
- cond = values(args.first()).count() < args[1].toInt();
+ return returnBool(values(args.first()).count() < args[1].toInt());
} else if (comp == QLatin1String("<=")) {
- cond = values(args.first()).count() <= args[1].toInt();
- } else if (comp == QLatin1String("equals") || comp == QLatin1String("isEqual") || comp == QLatin1String("=") || comp == QLatin1String("==")) {
- cond = values(args.first()).count() == args[1].toInt();
+ return returnBool(values(args.first()).count() <= args[1].toInt());
+ } else if (comp == QLatin1String("equals") || comp == QLatin1String("isEqual")
+ || comp == QLatin1String("=") || comp == QLatin1String("==")) {
+ return returnBool(values(args.first()).count() == args[1].toInt());
} else {
- ok = false;
q->logMessage(format("unexpected modifier to count(%2)").arg(comp));
+ return ProItem::ReturnFalse;
}
- break;
}
- cond = values(args.first()).count() == args[1].toInt();
- break;
+ return returnBool(values(args.first()).count() == args[1].toInt());
+ }
+ case T_GREATERTHAN:
+ case T_LESSTHAN: {
+ if (args.count() != 2) {
+ q->logMessage(format("%1(variable, value) requires two arguments.").arg(function));
+ return ProItem::ReturnFalse;
+ }
+ QString rhs(args[1]), lhs(values(args[0]).join(QString(Option::field_sep)));
+ bool ok;
+ int rhs_int = rhs.toInt(&ok);
+ if (ok) { // do integer compare
+ int lhs_int = lhs.toInt(&ok);
+ if (ok) {
+ if (func_t == T_GREATERTHAN)
+ return returnBool(lhs_int > rhs_int);
+ return returnBool(lhs_int < rhs_int);
+ }
+ }
+ if (func_t == T_GREATERTHAN)
+ return returnBool(lhs > rhs);
+ return returnBool(lhs < rhs);
+ }
+ case T_EQUALS:
+ if (args.count() != 2) {
+ q->logMessage(format("%1(variable, value) requires two arguments.").arg(function));
+ return ProItem::ReturnFalse;
+ }
+ return returnBool(values(args[0]).join(QString(Option::field_sep)) == args[1]);
+ case T_CLEAR: {
+ if (m_skipLevel && !m_cumulative)
+ return ProItem::ReturnFalse;
+ if (args.count() != 1) {
+ q->logMessage(format("%1(variable) requires one argument.").arg(function));
+ return ProItem::ReturnFalse;
+ }
+ QHash<QString, QStringList>::Iterator it = m_valuemap.find(args[0]);
+ if (it == m_valuemap.end())
+ return ProItem::ReturnFalse;
+ it->clear();
+ return ProItem::ReturnTrue;
+ }
+ case T_UNSET: {
+ if (m_skipLevel && !m_cumulative)
+ return ProItem::ReturnFalse;
+ if (args.count() != 1) {
+ q->logMessage(format("%1(variable) requires one argument.").arg(function));
+ return ProItem::ReturnFalse;
+ }
+ QHash<QString, QStringList>::Iterator it = m_valuemap.find(args[0]);
+ if (it == m_valuemap.end())
+ return ProItem::ReturnFalse;
+ m_valuemap.erase(it);
+ return ProItem::ReturnTrue;
}
case T_INCLUDE: {
if (m_skipLevel && !m_cumulative)
- break;
+ return ProItem::ReturnFalse;
QString parseInto;
if (args.count() == 2) {
parseInto = args[1];
} else if (args.count() != 1) {
q->logMessage(format("include(file) requires one or two arguments."));
- ok = false;
- break;
+ return ProItem::ReturnFalse;
}
QString fileName = args.first();
// ### this breaks if we have include(c:/reallystupid.pri) but IMHO that's really bad style.
QDir currentProPath(currentDirectory());
fileName = QDir::cleanPath(currentProPath.absoluteFilePath(fileName));
- ok = evaluateFile(fileName, &ok);
- break;
+ State sts = m_sts;
+ bool ok = evaluateFile(fileName);
+ m_sts = sts;
+ return returnBool(ok);
}
case T_LOAD: {
if (m_skipLevel && !m_cumulative)
- break;
+ return ProItem::ReturnFalse;
QString parseInto;
bool ignore_error = false;
if (args.count() == 2) {
QString sarg = args[1];
- ignore_error = (sarg.toLower() == QLatin1String("true") || sarg.toInt());
+ ignore_error = (!sarg.compare(QLatin1String("true"), Qt::CaseInsensitive) || sarg.toInt());
} else if (args.count() != 1) {
q->logMessage(format("load(feature) requires one or two arguments."));
- ok = false;
- break;
+ return ProItem::ReturnFalse;
}
- ok = evaluateFeatureFile( args.first(), &cond);
- break;
+ // XXX ignore_error unused
+ return returnBool(evaluateFeatureFile(args.first()));
}
case T_DEBUG:
// Yup - do nothing. Nothing is going to enable debug output anyway.
- break;
+ return ProItem::ReturnFalse;
case T_MESSAGE: {
if (args.count() != 1) {
q->logMessage(format("%1(message) requires one argument.").arg(function));
- ok = false;
- break;
+ return ProItem::ReturnFalse;
}
QString msg = fixEnvVariables(args.first());
- if (function == QLatin1String("error")) {
- QStringList parents;
- foreach (ProFile *proFile, m_profileStack)
- parents.append(proFile->fileName());
- if (!parents.isEmpty())
- parents.takeLast();
- if (parents.isEmpty())
- q->fileMessage(format("Project ERROR: %1").arg(msg));
- else
- q->fileMessage(format("Project ERROR: %1. File was included from: '%2'")
- .arg(msg).arg(parents.join(QLatin1String("', '"))));
- } else {
- q->fileMessage(format("Project MESSAGE: %1").arg(msg));
- }
- break;
+ q->fileMessage(QString::fromLatin1("Project %1: %2").arg(function.toUpper(), msg));
+ // ### Consider real termination in non-cumulative mode
+ return returnBool(function != QLatin1String("error"));
}
#if 0 // Way too dangerous to enable.
case T_SYSTEM: {
if (args.count() != 1) {
q->logMessage(format("system(exec) requires one argument."));
- ok = false;
- break;
+ ProItem::ReturnFalse;
}
- ok = system(args.first().toLatin1().constData()) == 0;
- break;
+ return returnBool(system(args.first().toLatin1().constData()) == 0);
}
#endif
case T_ISEMPTY: {
if (args.count() != 1) {
q->logMessage(format("isEmpty(var) requires one argument."));
- ok = false;
- break;
+ return ProItem::ReturnFalse;
}
QStringList sl = values(args.first());
if (sl.count() == 0) {
- cond = true;
+ return ProItem::ReturnTrue;
} else if (sl.count() > 0) {
QString var = sl.first();
- cond = (var.isEmpty());
+ if (var.isEmpty())
+ return ProItem::ReturnTrue;
}
- break;
+ return ProItem::ReturnFalse;
}
case T_EXISTS: {
if (args.count() != 1) {
q->logMessage(format("exists(file) requires one argument."));
- ok = false;
- break;
+ return ProItem::ReturnFalse;
}
QString file = args.first();
file = Option::fixPathToLocalOS(file);
if (QFile::exists(file)) {
- cond = true;
- break;
+ return ProItem::ReturnTrue;
}
//regular expression I guess
QString dirstr = currentDirectory();
@@ -1892,23 +2233,18 @@ bool ProFileEvaluator::Private::evaluateConditionalFunction(const QString &funct
file = file.right(file.length() - slsh - 1);
}
if (file.contains(QLatin1Char('*')) || file.contains(QLatin1Char('?')))
- cond = QDir(dirstr).entryList(QStringList(file)).count();
+ if (!QDir(dirstr).entryList(QStringList(file)).isEmpty())
+ return ProItem::ReturnTrue;
- break;
+ return ProItem::ReturnFalse;
}
case 0:
- // This is too chatty currently (missing defineTest and defineReplace)
- //q->logMessage(format("'%1' is not a recognized test function").arg(function));
- break;
+ q->logMessage(format("'%1' is not a recognized test function").arg(function));
+ return ProItem::ReturnFalse;
default:
q->logMessage(format("Function '%1' is not implemented").arg(function));
- break;
+ return ProItem::ReturnFalse;
}
-
- if (result)
- *result = cond;
-
- return ok;
}
QStringList ProFileEvaluator::Private::values(const QString &variableName,
@@ -1949,9 +2285,9 @@ QStringList ProFileEvaluator::Private::values(const QString &variableName,
ret = QLatin1String("Windows");
} else if (type == QLatin1String("name")) {
DWORD name_length = 1024;
- TCHAR name[1024];
+ wchar_t name[1024];
if (GetComputerName(name, &name_length))
- ret = QString::fromUtf16((ushort*)name, name_length);
+ ret = QString::fromWCharArray(name);
} else if (type == QLatin1String("version") || type == QLatin1String("version_string")) {
QSysInfo::WinVersion ver = QSysInfo::WindowsVersion;
if (type == QLatin1String("version"))
@@ -2061,37 +2397,21 @@ void ProFileEvaluator::releaseParsedProFile(ProFile *proFile)
delete proFile;
}
-bool ProFileEvaluator::Private::evaluateFile(const QString &fileName, bool *result)
+bool ProFileEvaluator::Private::evaluateFile(const QString &fileName)
{
- bool ok = true;
ProFile *pro = q->parsedProFile(fileName);
if (pro) {
m_profileStack.push(pro);
- ok = (currentProFile() ? pro->Accept(this) : false);
+ bool ok = (pro->Accept(this) == ProItem::ReturnTrue);
m_profileStack.pop();
q->releaseParsedProFile(pro);
-
- if (result)
- *result = true;
+ return ok;
} else {
- if (result)
- *result = false;
+ return false;
}
-/* if (ok && readFeatures) {
- QStringList configs = values("CONFIG");
- QSet<QString> processed;
- foreach (const QString &fn, configs) {
- if (!processed.contains(fn)) {
- processed.insert(fn);
- evaluateFeatureFile(fn, 0);
- }
- }
- } */
-
- return ok;
}
-bool ProFileEvaluator::Private::evaluateFeatureFile(const QString &fileName, bool *result)
+bool ProFileEvaluator::Private::evaluateFeatureFile(const QString &fileName)
{
QString fn;
foreach (const QString &path, qmakeFeaturePaths()) {
@@ -2110,87 +2430,11 @@ bool ProFileEvaluator::Private::evaluateFeatureFile(const QString &fileName, boo
return false;
bool cumulative = m_cumulative;
m_cumulative = false;
- bool ok = evaluateFile(fn, result);
+ bool ok = evaluateFile(fn);
m_cumulative = cumulative;
return ok;
}
-void ProFileEvaluator::Private::expandPatternHelper(const QString &relName, const QString &absName,
- QStringList &sources_out)
-{
- const QStringList vpaths = values(QLatin1String("VPATH"))
- + values(QLatin1String("QMAKE_ABSOLUTE_SOURCE_PATH"))
- + values(QLatin1String("DEPENDPATH"))
- + values(QLatin1String("VPATH_SOURCES"));
-
- QFileInfo fi(absName);
- bool found = fi.exists();
- // Search in all vpaths
- if (!found) {
- foreach (const QString &vpath, vpaths) {
- fi.setFile(vpath + QDir::separator() + relName);
- if (fi.exists()) {
- found = true;
- break;
- }
- }
- }
-
- if (found) {
- sources_out += fi.absoluteFilePath(); // Not resolving symlinks
- } else {
- QString val = relName;
- QString dir;
- QString wildcard = val;
- QString real_dir;
- if (wildcard.lastIndexOf(QLatin1Char('/')) != -1) {
- dir = wildcard.left(wildcard.lastIndexOf(QLatin1Char('/')) + 1);
- real_dir = dir;
- wildcard = wildcard.right(wildcard.length() - dir.length());
- }
-
- if (real_dir.isEmpty() || QFileInfo(real_dir).exists()) {
- QStringList files = QDir(real_dir).entryList(QStringList(wildcard));
- if (files.isEmpty()) {
- q->logMessage(format("Failure to find %1").arg(val));
- } else {
- QString a;
- for (int i = files.count() - 1; i >= 0; --i) {
- if (files[i] == QLatin1String(".") || files[i] == QLatin1String(".."))
- continue;
- a = dir + files[i];
- sources_out += a;
- }
- }
- } else {
- q->logMessage(format("Cannot match %1/%2, as %3 does not exist.")
- .arg(real_dir).arg(wildcard).arg(real_dir));
- }
- }
-}
-
-
-/*
- * Lookup of files are done in this order:
- * 1. look in pwd
- * 2. look in vpaths
- * 3. expand wild card files relative from the profiles folder
- **/
-
-// FIXME: This code supports something that I'd consider a flaw in .pro file syntax
-// which is not even documented. So arguably this can be ditched completely...
-QStringList ProFileEvaluator::Private::expandPattern(const QString& pattern)
-{
- if (!currentProFile())
- return QStringList();
-
- QStringList sources_out;
- const QString absName = QDir::cleanPath(QDir::current().absoluteFilePath(pattern));
-
- expandPatternHelper(pattern, absName, sources_out);
- return sources_out;
-}
-
QString ProFileEvaluator::Private::format(const char *fmt) const
{
ProFile *pro = currentProFile();
@@ -2241,18 +2485,71 @@ QStringList ProFileEvaluator::values(const QString &variableName, const ProFile
return fixEnvVariables(d->values(variableName, pro));
}
+QStringList ProFileEvaluator::absolutePathValues(
+ const QString &variable, const QString &baseDirectory) const
+{
+ QStringList result;
+ foreach (const QString &el, values(variable)) {
+ const QFileInfo info = QFileInfo(baseDirectory, el);
+ if (info.isDir())
+ result << QDir::cleanPath(info.absoluteFilePath());
+ }
+ return result;
+}
+
+QStringList ProFileEvaluator::absoluteFileValues(
+ const QString &variable, const QString &baseDirectory, const QStringList &searchDirs,
+ const ProFile *pro) const
+{
+ QStringList result;
+ foreach (const QString &el, pro ? values(variable, pro) : values(variable)) {
+ QFileInfo info(el);
+ if (info.isAbsolute()) {
+ if (info.exists()) {
+ result << QDir::cleanPath(el);
+ goto next;
+ }
+ } else {
+ foreach (const QString &dir, searchDirs) {
+ QFileInfo info(dir, el);
+ if (info.isFile()) {
+ result << QDir::cleanPath(info.filePath());
+ goto next;
+ }
+ }
+ if (baseDirectory.isEmpty())
+ goto next;
+ info = QFileInfo(baseDirectory, el);
+ }
+ {
+ QFileInfo baseInfo(info.absolutePath());
+ if (baseInfo.exists()) {
+ QString wildcard = info.fileName();
+ if (wildcard.contains(QLatin1Char('*')) || wildcard.contains(QLatin1Char('?'))) {
+ QDir theDir(QDir::cleanPath(baseInfo.filePath()));
+ foreach (const QString &fn, theDir.entryList(QStringList(wildcard)))
+ if (fn != QLatin1String(".") && fn != QLatin1String(".."))
+ result << theDir.absoluteFilePath(fn);
+ }
+ }
+ }
+ next: ;
+ }
+ return result;
+}
+
ProFileEvaluator::TemplateType ProFileEvaluator::templateType()
{
QStringList templ = values(QLatin1String("TEMPLATE"));
if (templ.count() >= 1) {
- QString t = templ.last().toLower();
- if (t == QLatin1String("app"))
+ const QString &t = templ.last();
+ if (!t.compare(QLatin1String("app"), Qt::CaseInsensitive))
return TT_Application;
- if (t == QLatin1String("lib"))
+ if (!t.compare(QLatin1String("lib"), Qt::CaseInsensitive))
return TT_Library;
- if (t == QLatin1String("script"))
+ if (!t.compare(QLatin1String("script"), Qt::CaseInsensitive))
return TT_Script;
- if (t == QLatin1String("subdirs"))
+ if (!t.compare(QLatin1String("subdirs"), Qt::CaseInsensitive))
return TT_Subdirs;
}
return TT_Unknown;
@@ -2327,64 +2624,4 @@ void ProFileEvaluator::setOutputDir(const QString &dir)
d->m_outputDir = dir;
}
-void evaluateProFile(const ProFileEvaluator &visitor, QHash<QByteArray, QStringList> *varMap)
-{
- QStringList sourceFiles;
- QString codecForTr;
- QString codecForSource;
- QStringList tsFileNames;
-
- // app/lib template
- sourceFiles += visitor.values(QLatin1String("SOURCES"));
- sourceFiles += visitor.values(QLatin1String("HEADERS"));
- tsFileNames = visitor.values(QLatin1String("TRANSLATIONS"));
-
- QStringList trcodec = visitor.values(QLatin1String("CODEC"))
- + visitor.values(QLatin1String("DEFAULTCODEC"))
- + visitor.values(QLatin1String("CODECFORTR"));
- if (!trcodec.isEmpty())
- codecForTr = trcodec.last();
-
- QStringList srccodec = visitor.values(QLatin1String("CODECFORSRC"));
- if (!srccodec.isEmpty())
- codecForSource = srccodec.last();
-
- QStringList forms = visitor.values(QLatin1String("INTERFACES"))
- + visitor.values(QLatin1String("FORMS"))
- + visitor.values(QLatin1String("FORMS3"));
- sourceFiles << forms;
-
- sourceFiles.sort();
- sourceFiles.removeDuplicates();
- tsFileNames.sort();
- tsFileNames.removeDuplicates();
-
- varMap->insert("SOURCES", sourceFiles);
- varMap->insert("CODECFORTR", QStringList() << codecForTr);
- varMap->insert("CODECFORSRC", QStringList() << codecForSource);
- varMap->insert("TRANSLATIONS", tsFileNames);
-}
-
-bool evaluateProFile(const QString &fileName, bool verbose, QHash<QByteArray, QStringList> *varMap)
-{
- QFileInfo fi(fileName);
- if (!fi.exists())
- return false;
-
- ProFile pro(fi.absoluteFilePath());
-
- ProFileEvaluator visitor;
- visitor.setVerbose(verbose);
-
- if (!visitor.queryProFile(&pro))
- return false;
-
- if (!visitor.accept(&pro))
- return false;
-
- evaluateProFile(visitor, varMap);
-
- return true;
-}
-
QT_END_NAMESPACE
diff --git a/tools/linguist/shared/profileevaluator.h b/tools/linguist/shared/profileevaluator.h
index 69f47f5..f3498c1 100644
--- a/tools/linguist/shared/profileevaluator.h
+++ b/tools/linguist/shared/profileevaluator.h
@@ -52,12 +52,6 @@
QT_BEGIN_NAMESPACE
-class ProFile;
-class ProFileEvaluator;
-
-void evaluateProFile(const ProFileEvaluator &visitor, QHash<QByteArray, QStringList> *varMap);
-bool evaluateProFile(const QString &fileName, bool verbose, QHash<QByteArray, QStringList> *varMap);
-
class ProFileEvaluator
{
public:
@@ -85,6 +79,10 @@ public:
void addProperties(const QHash<QString, QString> &properties);
QStringList values(const QString &variableName) const;
QStringList values(const QString &variableName, const ProFile *pro) const;
+ QStringList absolutePathValues(const QString &variable, const QString &baseDirectory) const;
+ QStringList absoluteFileValues(
+ const QString &variable, const QString &baseDirectory, const QStringList &searchDirs,
+ const ProFile *pro) const;
QString propertyValue(const QString &val) const;
// for our descendents
@@ -97,6 +95,9 @@ public:
private:
class Private;
Private *d;
+
+ // This doesn't help gcc 3.3 and sunpro ...
+ template<typename T> friend class QTypeInfo;
};
QT_END_NAMESPACE
diff --git a/tools/linguist/shared/proitems.cpp b/tools/linguist/shared/proitems.cpp
index 471417e..905c67e 100644
--- a/tools/linguist/shared/proitems.cpp
+++ b/tools/linguist/shared/proitems.cpp
@@ -58,15 +58,21 @@ QString ProItem::comment() const
}
// --------------- ProBlock ----------------
+
ProBlock::ProBlock(ProBlock *parent)
{
m_blockKind = 0;
m_parent = parent;
+ m_refCount = 1;
}
ProBlock::~ProBlock()
{
- qDeleteAll(m_proitems);
+ foreach (ProItem *itm, m_proitems)
+ if (itm->kind() == BlockKind)
+ static_cast<ProBlock *>(itm)->deref();
+ else
+ delete itm;
}
void ProBlock::appendItem(ProItem *proitem)
@@ -109,14 +115,37 @@ ProItem::ProItemKind ProBlock::kind() const
return ProItem::BlockKind;
}
-bool ProBlock::Accept(AbstractProItemVisitor *visitor)
-{
- visitor->visitBeginProBlock(this);
- foreach (ProItem *item, m_proitems) {
- if (!item->Accept(visitor))
- return false;
+ProItem::ProItemReturn ProBlock::Accept(AbstractProItemVisitor *visitor)
+{
+ if (visitor->visitBeginProBlock(this) == ReturnSkip)
+ return ReturnTrue;
+ ProItemReturn rt = ReturnTrue;
+ for (int i = 0; i < m_proitems.count(); ++i) {
+ rt = m_proitems.at(i)->Accept(visitor);
+ if (rt != ReturnTrue && rt != ReturnFalse) {
+ if (rt == ReturnLoop) {
+ rt = ReturnTrue;
+ while (visitor->visitProLoopIteration())
+ for (int j = i; ++j < m_proitems.count(); ) {
+ rt = m_proitems.at(j)->Accept(visitor);
+ if (rt != ReturnTrue && rt != ReturnFalse) {
+ if (rt == ReturnNext) {
+ rt = ReturnTrue;
+ break;
+ }
+ if (rt == ReturnBreak)
+ rt = ReturnTrue;
+ goto do_break;
+ }
+ }
+ do_break:
+ visitor->visitProLoopCleanup();
+ }
+ break;
+ }
}
- return visitor->visitEndProBlock(this);
+ visitor->visitEndProBlock(this);
+ return rt;
}
// --------------- ProVariable ----------------
@@ -148,14 +177,13 @@ QString ProVariable::variable() const
return m_variable;
}
-bool ProVariable::Accept(AbstractProItemVisitor *visitor)
+ProItem::ProItemReturn ProVariable::Accept(AbstractProItemVisitor *visitor)
{
visitor->visitBeginProVariable(this);
- foreach (ProItem *item, m_proitems) {
- if (!item->Accept(visitor))
- return false;
- }
- return visitor->visitEndProVariable(this);
+ foreach (ProItem *item, m_proitems)
+ item->Accept(visitor); // cannot fail
+ visitor->visitEndProVariable(this);
+ return ReturnTrue;
}
// --------------- ProValue ----------------
@@ -190,9 +218,10 @@ ProItem::ProItemKind ProValue::kind() const
return ProItem::ValueKind;
}
-bool ProValue::Accept(AbstractProItemVisitor *visitor)
+ProItem::ProItemReturn ProValue::Accept(AbstractProItemVisitor *visitor)
{
- return visitor->visitProValue(this);
+ visitor->visitProValue(this);
+ return ReturnTrue;
}
// --------------- ProFunction ----------------
@@ -216,7 +245,7 @@ ProItem::ProItemKind ProFunction::kind() const
return ProItem::FunctionKind;
}
-bool ProFunction::Accept(AbstractProItemVisitor *visitor)
+ProItem::ProItemReturn ProFunction::Accept(AbstractProItemVisitor *visitor)
{
return visitor->visitProFunction(this);
}
@@ -242,9 +271,10 @@ ProItem::ProItemKind ProCondition::kind() const
return ProItem::ConditionKind;
}
-bool ProCondition::Accept(AbstractProItemVisitor *visitor)
+ProItem::ProItemReturn ProCondition::Accept(AbstractProItemVisitor *visitor)
{
- return visitor->visitProCondition(this);
+ visitor->visitProCondition(this);
+ return ReturnTrue;
}
// --------------- ProOperator ----------------
@@ -268,9 +298,10 @@ ProItem::ProItemKind ProOperator::kind() const
return ProItem::OperatorKind;
}
-bool ProOperator::Accept(AbstractProItemVisitor *visitor)
+ProItem::ProItemReturn ProOperator::Accept(AbstractProItemVisitor *visitor)
{
- return visitor->visitProOperator(this);
+ visitor->visitProOperator(this);
+ return ReturnTrue;
}
// --------------- ProFile ----------------
@@ -315,13 +346,12 @@ bool ProFile::isModified() const
return m_modified;
}
-bool ProFile::Accept(AbstractProItemVisitor *visitor)
+ProItem::ProItemReturn ProFile::Accept(AbstractProItemVisitor *visitor)
{
- visitor->visitBeginProFile(this);
- foreach (ProItem *item, m_proitems) {
- if (!item->Accept(visitor))
- return false;
- }
+ ProItemReturn rt;
+ if ((rt = visitor->visitBeginProFile(this)) != ReturnTrue)
+ return rt;
+ ProBlock::Accept(visitor); // cannot fail
return visitor->visitEndProFile(this);
}
diff --git a/tools/linguist/shared/proitems.h b/tools/linguist/shared/proitems.h
index aad0ba2..7833be1 100644
--- a/tools/linguist/shared/proitems.h
+++ b/tools/linguist/shared/proitems.h
@@ -60,6 +60,16 @@ public:
BlockKind
};
+ enum ProItemReturn {
+ ReturnFalse,
+ ReturnTrue,
+ ReturnBreak,
+ ReturnNext,
+ ReturnLoop,
+ ReturnSkip,
+ ReturnReturn
+ };
+
ProItem() : m_lineNumber(0) {}
virtual ~ProItem() {}
@@ -68,7 +78,7 @@ public:
void setComment(const QString &comment);
QString comment() const;
- virtual bool Accept(AbstractProItemVisitor *visitor) = 0;
+ virtual ProItemReturn Accept(AbstractProItemVisitor *visitor) = 0;
int lineNumber() const { return m_lineNumber; }
void setLineNumber(int lineNumber) { m_lineNumber = lineNumber; }
@@ -86,7 +96,8 @@ public:
ScopeContentsKind = 0x02,
VariableKind = 0x04,
ProFileKind = 0x08,
- SingleLine = 0x10
+ FunctionBodyKind = 0x10,
+ SingleLine = 0x80
};
ProBlock(ProBlock *parent);
@@ -102,14 +113,18 @@ public:
void setParent(ProBlock *parent);
ProBlock *parent() const;
+ void ref() { ++m_refCount; }
+ void deref() { if (!--m_refCount) delete this; }
+
ProItem::ProItemKind kind() const;
- virtual bool Accept(AbstractProItemVisitor *visitor);
+ virtual ProItemReturn Accept(AbstractProItemVisitor *visitor);
protected:
QList<ProItem *> m_proitems;
private:
ProBlock *m_parent;
int m_blockKind;
+ int m_refCount;
};
class ProVariable : public ProBlock
@@ -131,7 +146,7 @@ public:
void setVariable(const QString &name);
QString variable() const;
- virtual bool Accept(AbstractProItemVisitor *visitor);
+ virtual ProItemReturn Accept(AbstractProItemVisitor *visitor);
private:
VariableOperator m_variableKind;
QString m_variable;
@@ -150,7 +165,7 @@ public:
ProItem::ProItemKind kind() const;
- virtual bool Accept(AbstractProItemVisitor *visitor);
+ virtual ProItemReturn Accept(AbstractProItemVisitor *visitor);
private:
QString m_value;
ProVariable *m_variable;
@@ -166,7 +181,7 @@ public:
ProItem::ProItemKind kind() const;
- virtual bool Accept(AbstractProItemVisitor *visitor);
+ virtual ProItemReturn Accept(AbstractProItemVisitor *visitor);
private:
QString m_text;
};
@@ -181,7 +196,7 @@ public:
ProItem::ProItemKind kind() const;
- virtual bool Accept(AbstractProItemVisitor *visitor);
+ virtual ProItemReturn Accept(AbstractProItemVisitor *visitor);
private:
QString m_text;
};
@@ -201,7 +216,7 @@ public:
ProItem::ProItemKind kind() const;
- virtual bool Accept(AbstractProItemVisitor *visitor);
+ virtual ProItemReturn Accept(AbstractProItemVisitor *visitor);
private:
OperatorKind m_operatorKind;
};
@@ -219,7 +234,7 @@ public:
void setModified(bool modified);
bool isModified() const;
- virtual bool Accept(AbstractProItemVisitor *visitor);
+ virtual ProItemReturn Accept(AbstractProItemVisitor *visitor);
private:
QString m_fileName;
diff --git a/tools/linguist/shared/proparser.pri b/tools/linguist/shared/proparser.pri
index 372247e..99d32e7 100644
--- a/tools/linguist/shared/proparser.pri
+++ b/tools/linguist/shared/proparser.pri
@@ -2,11 +2,13 @@
INCLUDEPATH *= $$PWD
HEADERS += \
+ $$PWD/proreader.h \
$$PWD/abstractproitemvisitor.h \
$$PWD/proitems.h \
$$PWD/profileevaluator.h \
$$PWD/proparserutils.h
SOURCES += \
+ $$PWD/proreader.cpp \
$$PWD/proitems.cpp \
$$PWD/profileevaluator.cpp
diff --git a/tools/linguist/shared/proreader.cpp b/tools/linguist/shared/proreader.cpp
new file mode 100644
index 0000000..3400f20
--- /dev/null
+++ b/tools/linguist/shared/proreader.cpp
@@ -0,0 +1,131 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the Qt Linguist of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "profileevaluator.h"
+
+#include <QtCore/QDir>
+#include <QtCore/QFileInfo>
+
+QT_BEGIN_NAMESPACE
+
+static QStringList getSources(const char *var, const char *vvar, const QStringList &baseVPaths,
+ const QString &projectDir, const ProFileEvaluator &visitor)
+{
+ QStringList vPaths =
+ visitor.absolutePathValues(QLatin1String(vvar), projectDir);
+ vPaths += baseVPaths;
+ vPaths.removeDuplicates();
+ return visitor.absoluteFileValues(QLatin1String(var), projectDir, vPaths, 0);
+}
+
+void evaluateProFile(const ProFileEvaluator &visitor, QHash<QByteArray, QStringList> *varMap,
+ const QString &projectDir)
+{
+ QStringList baseVPaths;
+ baseVPaths += visitor.absolutePathValues(QLatin1String("VPATH"), projectDir);
+ baseVPaths << projectDir; // QMAKE_ABSOLUTE_SOURCE_PATH
+ baseVPaths += visitor.absolutePathValues(QLatin1String("DEPENDPATH"), projectDir);
+ baseVPaths.removeDuplicates();
+
+ QStringList sourceFiles;
+ QString codecForTr;
+ QString codecForSource;
+ QStringList tsFileNames;
+
+ // app/lib template
+ sourceFiles += getSources("SOURCES", "VPATH_SOURCES", baseVPaths, projectDir, visitor);
+
+ sourceFiles += getSources("FORMS", "VPATH_FORMS", baseVPaths, projectDir, visitor);
+ sourceFiles += getSources("FORMS3", "VPATH_FORMS3", baseVPaths, projectDir, visitor);
+
+ QStringList vPathsInc = baseVPaths;
+ vPathsInc += visitor.absolutePathValues(QLatin1String("INCLUDEPATH"), projectDir);
+ vPathsInc.removeDuplicates();
+ sourceFiles += visitor.absoluteFileValues(QLatin1String("HEADERS"), projectDir, vPathsInc, 0);
+
+ QDir proDir(projectDir);
+ foreach (const QString &tsFile, visitor.values(QLatin1String("TRANSLATIONS")))
+ tsFileNames << QFileInfo(proDir, tsFile).filePath();
+
+ QStringList trcodec = visitor.values(QLatin1String("CODEC"))
+ + visitor.values(QLatin1String("DEFAULTCODEC"))
+ + visitor.values(QLatin1String("CODECFORTR"));
+ if (!trcodec.isEmpty())
+ codecForTr = trcodec.last();
+
+ QStringList srccodec = visitor.values(QLatin1String("CODECFORSRC"));
+ if (!srccodec.isEmpty())
+ codecForSource = srccodec.last();
+
+ sourceFiles.sort();
+ sourceFiles.removeDuplicates();
+ tsFileNames.sort();
+ tsFileNames.removeDuplicates();
+
+ varMap->insert("SOURCES", sourceFiles);
+ varMap->insert("CODECFORTR", QStringList() << codecForTr);
+ varMap->insert("CODECFORSRC", QStringList() << codecForSource);
+ varMap->insert("TRANSLATIONS", tsFileNames);
+}
+
+bool evaluateProFile(const QString &fileName, bool verbose, QHash<QByteArray, QStringList> *varMap)
+{
+ QFileInfo fi(fileName);
+ if (!fi.exists())
+ return false;
+
+ ProFile pro(fi.absoluteFilePath());
+
+ ProFileEvaluator visitor;
+ visitor.setVerbose(verbose);
+
+ if (!visitor.queryProFile(&pro))
+ return false;
+
+ if (!visitor.accept(&pro))
+ return false;
+
+ evaluateProFile(visitor, varMap, fi.absolutePath());
+
+ return true;
+}
+
+QT_END_NAMESPACE
diff --git a/tools/linguist/shared/proreader.h b/tools/linguist/shared/proreader.h
new file mode 100644
index 0000000..f663e23
--- /dev/null
+++ b/tools/linguist/shared/proreader.h
@@ -0,0 +1,57 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the Qt Linguist of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef PROREADER_H
+#define PROREADER_H
+
+#include <QtCore/QHash>
+
+QT_BEGIN_NAMESPACE
+
+class ProFileEvaluator;
+
+void evaluateProFile(const ProFileEvaluator &visitor, QHash<QByteArray, QStringList> *varMap,
+ const QString &projectDir);
+bool evaluateProFile(const QString &fileName, bool verbose, QHash<QByteArray, QStringList> *varMap);
+
+QT_END_NAMESPACE
+
+#endif // PROREADER_H
diff --git a/tools/linguist/shared/qm.cpp b/tools/linguist/shared/qm.cpp
index ec61cb6..dc681f5 100644
--- a/tools/linguist/shared/qm.cpp
+++ b/tools/linguist/shared/qm.cpp
@@ -173,6 +173,7 @@ public:
bool save(QIODevice *iod);
void insert(const TranslatorMessage &msg, bool forceComment);
+ void insertIdBased(const TranslatorMessage &message);
void squeeze(TranslatorSaveMode mode);
@@ -244,7 +245,7 @@ void Releaser::writeMessage(const ByteTranslatorMessage &msg, QDataStream &strea
if (mode == SaveEverything)
prefix = HashContextSourceTextComment;
- // lrelease produces "wrong" .qm files for QByteArrays that are .isNull().
+ // lrelease produces "wrong" QM files for QByteArrays that are .isNull().
switch (prefix) {
default:
case HashContextSourceTextComment:
@@ -436,6 +437,16 @@ void Releaser::insert(const TranslatorMessage &message, bool forceComment)
insertInternal(message, forceComment, false);
}
+void Releaser::insertIdBased(const TranslatorMessage &message)
+{
+ QStringList tlns = message.translations();
+ for (int i = 0; i < tlns.size(); ++i)
+ if (tlns.at(i).isEmpty())
+ tlns[i] = message.sourceText();
+ ByteTranslatorMessage bmsg("", originalBytes(message.id(), false), "", tlns);
+ m_messages.insert(bmsg, 0);
+}
+
void Releaser::setNumerusRules(const QByteArray &rules)
{
m_numerusRules = rules;
@@ -541,7 +552,8 @@ bool loadQM(Translator &translator, QIODevice &dev, ConversionData &cd)
size_t numItems = offsetLength / (2 * sizeof(quint32));
//qDebug() << "NUMITEMS: " << numItems;
- QTextCodec *codec = QTextCodec::codecForName(cd.m_codecForSource);
+ QTextCodec *codec = QTextCodec::codecForName(
+ cd.m_codecForSource.isEmpty() ? QByteArray("Latin1") : cd.m_codecForSource);
QTextCodec *utf8Codec = 0;
if (codec->name() != "UTF-8")
utf8Codec = QTextCodec::codecForName("UTF-8");
@@ -689,11 +701,17 @@ static bool saveQM(const Translator &translator, QIODevice &dev, ConversionData
int finished = 0;
int unfinished = 0;
int untranslated = 0;
+ int missingIds = 0;
+ int droppedData = 0;
for (int i = 0; i != translator.messageCount(); ++i) {
const TranslatorMessage &msg = translator.message(i);
TranslatorMessage::Type typ = msg.type();
if (typ != TranslatorMessage::Obsolete) {
+ if (cd.m_idBased && msg.id().isEmpty()) {
+ ++missingIds;
+ continue;
+ }
if (typ == TranslatorMessage::Unfinished) {
if (msg.translation().isEmpty()) {
++untranslated;
@@ -706,19 +724,34 @@ static bool saveQM(const Translator &translator, QIODevice &dev, ConversionData
} else {
++finished;
}
- // Drop the comment in (context, sourceText, comment),
- // unless the context is empty,
- // unless (context, sourceText, "") already exists or
- // unless we already dropped the comment of (context,
- // sourceText, comment0).
- bool forceComment =
- msg.comment().isEmpty()
- || msg.context().isEmpty()
- || translator.contains(msg.context(), msg.sourceText(), QString());
- releaser.insert(msg, forceComment);
+ if (cd.m_idBased) {
+ if (!msg.context().isEmpty() || !msg.comment().isEmpty())
+ ++droppedData;
+ releaser.insertIdBased(msg);
+ } else {
+ // Drop the comment in (context, sourceText, comment),
+ // unless the context is empty,
+ // unless (context, sourceText, "") already exists or
+ // unless we already dropped the comment of (context,
+ // sourceText, comment0).
+ bool forceComment =
+ msg.comment().isEmpty()
+ || msg.context().isEmpty()
+ || translator.contains(msg.context(), msg.sourceText(), QString());
+ releaser.insert(msg, forceComment);
+ }
}
}
+ if (missingIds)
+ cd.appendError(QCoreApplication::translate("LRelease",
+ "Dropped %n message(s) which had no ID.", 0,
+ QCoreApplication::CodecForTr, missingIds));
+ if (droppedData)
+ cd.appendError(QCoreApplication::translate("LRelease",
+ "Excess context/disambiguation dropped from %n message(s).", 0,
+ QCoreApplication::CodecForTr, droppedData));
+
releaser.squeeze(cd.m_saveMode);
bool saved = releaser.save(&dev);
if (saved && cd.isVerbose()) {
diff --git a/tools/linguist/shared/translator.cpp b/tools/linguist/shared/translator.cpp
index 305681d..62f4d10 100644
--- a/tools/linguist/shared/translator.cpp
+++ b/tools/linguist/shared/translator.cpp
@@ -517,16 +517,10 @@ QList<TranslatorMessage> Translator::translatedMessages() const
return result;
}
-QStringList Translator::normalizedTranslations(const TranslatorMessage &msg,
- QLocale::Language language, QLocale::Country country)
+QStringList Translator::normalizedTranslations(const TranslatorMessage &msg, int numPlurals)
{
QStringList translations = msg.translations();
- int numTranslations = 1;
- if (msg.isPlural() && language != QLocale::C) {
- QStringList forms;
- if (getNumerusInfo(language, country, 0, &forms))
- numTranslations = forms.count(); // includes singular
- }
+ int numTranslations = msg.isPlural() ? numPlurals : 1;
// make sure that the stringlist always have the size of the
// language's current numerus, or 1 if its not plural
@@ -540,21 +534,39 @@ QStringList Translator::normalizedTranslations(const TranslatorMessage &msg,
return translations;
}
-QStringList Translator::normalizedTranslations(const TranslatorMessage &msg,
- ConversionData &cd, bool *ok) const
+void Translator::normalizeTranslations(ConversionData &cd)
{
+ bool truncated = false;
QLocale::Language l;
QLocale::Country c;
languageAndCountry(languageCode(), &l, &c);
- QStringList translns = normalizedTranslations(msg, l, c);
- if (msg.translations().size() > translns.size() && ok) {
+ int numPlurals = 1;
+ if (l != QLocale::C) {
+ QStringList forms;
+ if (getNumerusInfo(l, c, 0, &forms))
+ numPlurals = forms.count(); // includes singular
+ }
+ for (int i = 0; i < m_messages.count(); ++i) {
+ const TranslatorMessage &msg = m_messages.at(i);
+ QStringList tlns = msg.translations();
+ int ccnt = msg.isPlural() ? numPlurals : 1;
+ if (tlns.count() != ccnt) {
+ while (tlns.count() < ccnt)
+ tlns.append(QString());
+ while (tlns.count() > ccnt) {
+ tlns.removeLast();
+ truncated = true;
+ }
+ TranslatorMessage msg2(msg);
+ msg2.setTranslations(tlns);
+ m_messages[i] = msg2;
+ }
+ }
+ if (truncated)
cd.appendError(QLatin1String(
"Removed plural forms as the target language has less "
"forms.\nIf this sounds wrong, possibly the target language is "
"not set or recognized.\n"));
- *ok = false;
- }
- return translns;
}
QString Translator::guessLanguageCodeFromFileName(const QString &filename)
diff --git a/tools/linguist/shared/translator.h b/tools/linguist/shared/translator.h
index ac824f3..d0903a9 100644
--- a/tools/linguist/shared/translator.h
+++ b/tools/linguist/shared/translator.h
@@ -65,6 +65,7 @@ public:
m_ignoreUnfinished(false),
m_sortContexts(false),
m_noUiLines(false),
+ m_idBased(false),
m_saveMode(SaveEverything)
{}
@@ -83,7 +84,8 @@ public:
public:
QString m_defaultContext;
- QByteArray m_codecForSource; // CPP specific
+ QByteArray m_codecForSource; // CPP, PO & QM specific
+ QByteArray m_outputCodec; // PO specific
QString m_sourceFileName;
QString m_targetFileName;
QDir m_sourceDir;
@@ -97,6 +99,7 @@ public:
bool m_ignoreUnfinished;
bool m_sortContexts;
bool m_noUiLines;
+ bool m_idBased;
TranslatorSaveMode m_saveMode;
};
@@ -156,8 +159,8 @@ public:
static QString guessLanguageCodeFromFileName(const QString &fileName);
QList<TranslatorMessage> messages() const;
QList<TranslatorMessage> translatedMessages() const;
- static QStringList normalizedTranslations(const TranslatorMessage &m,
- QLocale::Language lang, QLocale::Country country);
+ static QStringList normalizedTranslations(const TranslatorMessage &m, int numPlurals);
+ void normalizeTranslations(ConversionData &cd);
QStringList normalizedTranslations(const TranslatorMessage &m, ConversionData &cd, bool *ok) const;
int messageCount() const { return m_messages.size(); }
diff --git a/tools/linguist/shared/ts.cpp b/tools/linguist/shared/ts.cpp
index 3efce15..5884997 100644
--- a/tools/linguist/shared/ts.cpp
+++ b/tools/linguist/shared/ts.cpp
@@ -693,8 +693,8 @@ bool saveTS(const Translator &translator, QIODevice &dev, ConversionData &cd, in
t << " type=\"obsolete\"";
if (msg.isPlural()) {
t << ">";
- QStringList translns = translator.normalizedTranslations(msg, cd, &result);
- for (int j = 0; j < qMax(1, translns.count()); ++j) {
+ const QStringList &translns = msg.translations();
+ for (int j = 0; j < translns.count(); ++j) {
t << "\n <numerusform";
writeVariants(t, " ", translns[j]);
t << "</numerusform>";
diff --git a/tools/linguist/shared/ts.dtd b/tools/linguist/shared/ts.dtd
index ab77f64..4d2cdeb 100644
--- a/tools/linguist/shared/ts.dtd
+++ b/tools/linguist/shared/ts.dtd
@@ -34,7 +34,7 @@
version CDATA #IMPLIED
sourcelanguage CDATA #IMPLIED
language CDATA #IMPLIED>
-<!-- The encoding to use in the .qm file by default. Default is ISO-8859-1. -->
+<!-- The encoding to use in the QM file by default. Default is ISO-8859-1. -->
<!ELEMENT defaultcodec (#PCDATA) >
<!ELEMENT context (name?, comment?, (context|message)+) >
<!ATTLIST context
@@ -54,7 +54,7 @@
<!ELEMENT message (location*, source?, oldsource?, comment?, oldcomment?, extracomment?, translatorcomment?, translation?, userdata?, extra-**) >
<!--
! If utf8 is true, the defaultcodec is overridden and the message is encoded
- ! in UTF-8 in the .qm file.
+ ! in UTF-8 in the QM file.
-->
<!ATTLIST message
id CDATA #IMPLIED
@@ -70,7 +70,7 @@
! is omitted, the "current" one is used. For the 1st location in a message,
! "current" is the filename used for the 1st location of the previous message.
! For subsequent locations, it is the filename used for the previous location.
- ! A single .ts file has either all absolute or all relative locations.
+ ! A single TS file has either all absolute or all relative locations.
-->
<!ATTLIST location
filename CDATA #IMPLIED
@@ -106,7 +106,7 @@
<!--
! The translation variants have a priority between 1 ("highest") and 9 ("lowest")
! Typically longer translations get a higher priority.
- ! If omitted, the order of appearance of the variants in the .ts files is used.
+ ! If omitted, the order of appearance of the variants in the TS files is used.
-->
<!ATTLIST lengthvariant
priority (1|2|3|4|5|6|7|8|9) #IMPLIED>
diff --git a/tools/linguist/shared/xliff.cpp b/tools/linguist/shared/xliff.cpp
index 1313172..c222b8d 100644
--- a/tools/linguist/shared/xliff.cpp
+++ b/tools/linguist/shared/xliff.cpp
@@ -243,13 +243,12 @@ static void writeComment(QTextStream &ts, const TranslatorMessage &msg, const QR
}
}
-static void writeTransUnits(QTextStream &ts, const TranslatorMessage &msg, const QRegExp &drops, int indent,
- const Translator &translator, ConversionData &cd, bool *ok)
+static void writeTransUnits(QTextStream &ts, const TranslatorMessage &msg, const QRegExp &drops, int indent)
{
static int msgid;
QString msgidstr = !msg.id().isEmpty() ? msg.id() : QString::fromAscii("_msg%1").arg(++msgid);
- QStringList translns = translator.normalizedTranslations(msg, cd, ok);
+ QStringList translns = msg.translations();
QHash<QString, QString>::const_iterator it;
QString pluralStr;
QStringList sources(msg.sourceText());
@@ -349,8 +348,7 @@ static void writeTransUnits(QTextStream &ts, const TranslatorMessage &msg, const
}
}
-static void writeMessage(QTextStream &ts, const TranslatorMessage &msg, const QRegExp &drops, int indent,
- const Translator &translator, ConversionData &cd, bool *ok)
+static void writeMessage(QTextStream &ts, const TranslatorMessage &msg, const QRegExp &drops, int indent)
{
if (msg.isPlural()) {
writeIndent(ts, indent);
@@ -364,12 +362,12 @@ static void writeMessage(QTextStream &ts, const TranslatorMessage &msg, const QR
writeLineNumber(ts, msg, indent);
writeComment(ts, msg, drops, indent);
- writeTransUnits(ts, msg, drops, indent, translator, cd, ok);
+ writeTransUnits(ts, msg, drops, indent);
--indent;
writeIndent(ts, indent);
ts << "</group>\n";
} else {
- writeTransUnits(ts, msg, drops, indent, translator, cd, ok);
+ writeTransUnits(ts, msg, drops, indent);
}
}
@@ -795,7 +793,7 @@ bool saveXLIFF(const Translator &translator, QIODevice &dev, ConversionData &cd)
}
foreach (const TranslatorMessage &msg, messageOrder[fn][ctx])
- writeMessage(ts, msg, drops, indent, translator, cd, &ok);
+ writeMessage(ts, msg, drops, indent);
if (!ctx.isEmpty()) {
--indent;
diff --git a/tools/qdbus/qdbusxml2cpp/qdbusxml2cpp.cpp b/tools/qdbus/qdbusxml2cpp/qdbusxml2cpp.cpp
index 5d1ac32..b8b9338 100644
--- a/tools/qdbus/qdbusxml2cpp/qdbusxml2cpp.cpp
+++ b/tools/qdbus/qdbusxml2cpp/qdbusxml2cpp.cpp
@@ -613,18 +613,15 @@ static void writeProxy(const QString &filename, const QDBusIntrospection::Interf
// getter:
if (property.access != QDBusIntrospection::Property::Write) {
- hs << " inline " << type << " " << getter << "() const" << endl;
- if (type != "QVariant")
- hs << " { return qvariant_cast< " << type << " >(internalPropGet(\""
- << property.name << "\")); }" << endl;
- else
- hs << " { return internalPropGet(\"" << property.name << "\"); }" << endl;
+ hs << " inline " << type << " " << getter << "() const" << endl
+ << " { return qvariant_cast< " << type << " >(property(\""
+ << property.name << "\")); }" << endl;
}
// setter:
if (property.access != QDBusIntrospection::Property::Read) {
hs << " inline void " << setter << "(" << constRefArg(type) << "value)" << endl
- << " { internalPropSet(\"" << property.name
+ << " { setProperty(\"" << property.name
<< "\", qVariantFromValue(value)); }" << endl;
}
diff --git a/tools/qdoc3/atom.cpp b/tools/qdoc3/atom.cpp
index a82a783..da32735 100644
--- a/tools/qdoc3/atom.cpp
+++ b/tools/qdoc3/atom.cpp
@@ -93,6 +93,7 @@ QString Atom::UPPERROMAN_ ("upperroman");
\value AbstractLeft
\value AbstractRight
+ \value AnnotatedList
\value AutoLink
\value BaseName
\value BriefLeft
@@ -163,6 +164,7 @@ static const struct {
} atms[] = {
{ "AbstractLeft", Atom::AbstractLeft },
{ "AbstractRight", Atom::AbstractRight },
+ { "AnnotatedList", Atom::AnnotatedList },
{ "AutoLink", Atom::AutoLink },
{ "BaseName", Atom::BaseName },
{ "BriefLeft", Atom::BriefLeft },
diff --git a/tools/qdoc3/atom.h b/tools/qdoc3/atom.h
index 6d5af0a..941ac70 100644
--- a/tools/qdoc3/atom.h
+++ b/tools/qdoc3/atom.h
@@ -58,6 +58,7 @@ class Atom
enum Type {
AbstractLeft,
AbstractRight,
+ AnnotatedList,
AutoLink,
BaseName,
BriefLeft,
diff --git a/tools/qdoc3/codemarker.cpp b/tools/qdoc3/codemarker.cpp
index e95153d..4c018d1 100644
--- a/tools/qdoc3/codemarker.cpp
+++ b/tools/qdoc3/codemarker.cpp
@@ -168,7 +168,8 @@ const Node *CodeMarker::nodeForString(const QString& string)
{
if (sizeof(const Node *) == sizeof(uint)) {
return reinterpret_cast<const Node *>(string.toUInt());
- } else {
+ }
+ else {
return reinterpret_cast<const Node *>(string.toULongLong());
}
}
@@ -177,7 +178,8 @@ QString CodeMarker::stringForNode(const Node *node)
{
if (sizeof(const Node *) == sizeof(ulong)) {
return QString::number(reinterpret_cast<ulong>(node));
- } else {
+ }
+ else {
return QString::number(reinterpret_cast<qulonglong>(node));
}
}
@@ -220,7 +222,8 @@ QString CodeMarker::typified(const QString &string)
|| ch.digitValue() >= 0 || ch == QLatin1Char('_')
|| ch == QLatin1Char(':')) {
pendingWord += ch;
- } else {
+ }
+ else {
if (!pendingWord.isEmpty()) {
bool isProbablyType = (pendingWord != QLatin1String("const"));
if (isProbablyType)
@@ -251,7 +254,7 @@ QString CodeMarker::typified(const QString &string)
return result;
}
-QString CodeMarker::taggedNode(const Node *node)
+QString CodeMarker::taggedNode(const Node* node)
{
QString tag;
@@ -276,10 +279,34 @@ QString CodeMarker::taggedNode(const Node *node)
break;
default:
tag = QLatin1String("@unknown");
+ break;
+ }
+ return QLatin1Char('<') + tag + QLatin1Char('>') + protect(node->name())
+ + QLatin1String("</") + tag + QLatin1Char('>');
+}
+
+#ifdef QDOC_QML
+QString CodeMarker::taggedQmlNode(const Node* node)
+{
+ QString tag;
+ switch (node->type()) {
+ case Node::QmlProperty:
+ tag = QLatin1String("@property");
+ break;
+ case Node::QmlSignal:
+ tag = QLatin1String("@signal");
+ break;
+ case Node::QmlMethod:
+ tag = QLatin1String("@method");
+ break;
+ default:
+ tag = QLatin1String("@unknown");
+ break;
}
return QLatin1Char('<') + tag + QLatin1Char('>') + protect(node->name())
+ QLatin1String("</") + tag + QLatin1Char('>');
}
+#endif
QString CodeMarker::linkTag(const Node *node, const QString& body)
{
@@ -308,9 +335,11 @@ QString CodeMarker::sortName(const Node *node)
QString sortNo;
if (func->metaness() == FunctionNode::Ctor) {
sortNo = QLatin1String("C");
- } else if (func->metaness() == FunctionNode::Dtor) {
+ }
+ else if (func->metaness() == FunctionNode::Dtor) {
sortNo = QLatin1String("D");
- } else {
+ }
+ else {
if (nodeName.startsWith(QLatin1String("operator"))
&& nodeName.length() > 8
&& !nodeName[8].isLetterOrNumber())
@@ -336,9 +365,14 @@ void CodeMarker::insert(FastSection &fastSection,
SynopsisStyle style,
Status status)
{
- bool inheritedMember = (!node->relates() &&
- (node->parent() != (const InnerNode *)fastSection.innerNode));
bool irrelevant = false;
+ bool inheritedMember = false;
+ if (!node->relates()) {
+ if (node->parent() != (const InnerNode*)fastSection.innerNode) {
+ if (node->type() != Node::QmlProperty)
+ inheritedMember = true;
+ }
+ }
if (node->access() == Node::Private) {
irrelevant = true;
@@ -462,7 +496,8 @@ QStringList CodeMarker::macRefsForNode(const Node *node)
#if 0
if (!classe->templateStuff().isEmpty()) {
result += QLatin1String("tmplt/");
- } else
+ }
+ else
#endif
{
result += QLatin1String("cl/");
@@ -499,14 +534,18 @@ QStringList CodeMarker::macRefsForNode(const Node *node)
result += QLatin1String("macro/");
isMacro = true;
#if 0
- } else if (!func->templateStuff().isEmpty()) {
+ }
+ else if (!func->templateStuff().isEmpty()) {
result += QLatin1String("ftmplt/");
#endif
- } else if (func->isStatic()) {
+ }
+ else if (func->isStatic()) {
result += QLatin1String("clm/");
- } else if (!func->parent()->name().isEmpty()) {
+ }
+ else if (!func->parent()->name().isEmpty()) {
result += QLatin1String("instm/");
- } else {
+ }
+ else {
result += QLatin1String("func/");
}
@@ -520,7 +559,8 @@ QStringList CodeMarker::macRefsForNode(const Node *node)
result += "/" + QLatin1String(QMetaObject::normalizedSignature(func->returnType().toLatin1().constData())) + "/(";
const QList<Parameter> &params = func->parameters();
for (int i = 0; i < params.count(); ++i) {
- QString type = params.at(i).leftType() + params.at(i).rightType();
+ QString type = params.at(i).leftType() +
+ params.at(i).rightType();
type = QLatin1String(QMetaObject::normalizedSignature(type.toLatin1().constData()));
if (i != 0)
result += ",";
@@ -563,10 +603,21 @@ QString CodeMarker::macName(const Node *node, const QString &name)
if (node->name().isEmpty()) {
return QLatin1Char('/') + myName;
- } else {
+ }
+ else {
return plainFullName(node) + QLatin1Char('/') + myName;
}
}
+#ifdef QDOC_QML
+/*!
+ Get the list of documentation sections for the children of
+ the specified QmlClassNode.
+ */
+QList<Section> CodeMarker::qmlSections(const QmlClassNode* , SynopsisStyle )
+{
+ return QList<Section>();
+}
+#endif
QT_END_NAMESPACE
diff --git a/tools/qdoc3/codemarker.h b/tools/qdoc3/codemarker.h
index 67b1064..91dc8b0 100644
--- a/tools/qdoc3/codemarker.h
+++ b/tools/qdoc3/codemarker.h
@@ -121,6 +121,9 @@ class CodeMarker
virtual QString markedUpSynopsis(const Node *node,
const Node *relative,
SynopsisStyle style) = 0;
+#ifdef QDOC_QML
+ virtual QString markedUpQmlItem(const Node* , bool) { return QString(); }
+#endif
virtual QString markedUpName(const Node *node) = 0;
virtual QString markedUpFullName(const Node *node,
const Node *relative = 0) = 0;
@@ -132,6 +135,10 @@ class CodeMarker
virtual QList<Section> sections(const InnerNode *inner,
SynopsisStyle style,
Status status) = 0;
+#ifdef QDOC_QML
+ virtual QList<Section> qmlSections(const QmlClassNode* qmlClassNode,
+ SynopsisStyle style);
+#endif
virtual const Node *resolveTarget(const QString& target,
const Tree *tree,
const Node *relative) = 0;
@@ -151,7 +158,10 @@ class CodeMarker
virtual QString sortName(const Node *node);
QString protect(const QString &string);
QString typified(const QString &string);
- QString taggedNode(const Node *node);
+ QString taggedNode(const Node* node);
+#ifdef QDOC_QML
+ QString taggedQmlNode(const Node* node);
+#endif
QString linkTag(const Node *node, const QString& body);
void insert(FastSection &fastSection,
Node *node,
diff --git a/tools/qdoc3/command.cpp b/tools/qdoc3/command.cpp
index e51e235..bce262b 100644
--- a/tools/qdoc3/command.cpp
+++ b/tools/qdoc3/command.cpp
@@ -49,44 +49,46 @@
QT_BEGIN_NAMESPACE
-void executeCommand( const Location& location, const QString& format,
- const QStringList& args )
+void executeCommand(const Location& location,
+ const QString& format,
+ const QStringList& args)
{
QString actualCommand;
- for ( int i = 0; i < (int) format.length(); i++ ) {
+ for (int i = 0; i < (int) format.length(); i++) {
int ch = format[i].unicode();
- if ( ch > 0 && ch < 8 ) {
+ if (ch > 0 && ch < 8) {
actualCommand += args[ch - 1];
- } else {
+ }
+ else {
actualCommand += format[i];
}
}
QString toolName = actualCommand;
- int space = toolName.indexOf( QLatin1Char(' ') );
- if ( space != -1 )
- toolName.truncate( space );
+ int space = toolName.indexOf(QLatin1Char(' '));
+ if (space != -1)
+ toolName.truncate(space);
QProcess process;
process.start(QLatin1String("sh"),
- QStringList() << QLatin1String("-c") << actualCommand );
+ QStringList() << QLatin1String("-c") << actualCommand);
process.waitForFinished();
if (process.exitCode() == 127)
- location.fatal( tr("Couldn't launch the '%1' tool")
- .arg(toolName),
- tr("Make sure the tool is installed and in the"
- " path.") );
+ location.fatal(tr("Couldn't launch the '%1' tool")
+ .arg(toolName),
+ tr("Make sure the tool is installed and in the"
+ " path."));
QString errors = QString::fromLocal8Bit(process.readAllStandardError());
- while ( errors.endsWith(QLatin1Char('\n')) )
- errors.truncate( errors.length() - 1 );
- if ( !errors.isEmpty() )
- location.fatal( tr("The '%1' tool encountered some problems")
- .arg(toolName),
- tr("The tool was invoked like this:\n%1\n"
- "It emitted these errors:\n%2")
- .arg(actualCommand).arg(errors) );
+ while (errors.endsWith(QLatin1Char('\n')))
+ errors.truncate(errors.length() - 1);
+ if (!errors.isEmpty())
+ location.fatal(tr("The '%1' tool encountered some problems")
+ .arg(toolName),
+ tr("The tool was invoked like this:\n%1\n"
+ "It emitted these errors:\n%2")
+ .arg(actualCommand).arg(errors));
}
QT_END_NAMESPACE
diff --git a/tools/qdoc3/config.h b/tools/qdoc3/config.h
index 4e97d9f..22cb671 100644
--- a/tools/qdoc3/config.h
+++ b/tools/qdoc3/config.h
@@ -140,6 +140,7 @@ class Config
#define CONFIG_INDEXES "indexes"
#define CONFIG_LANGUAGE "language"
#define CONFIG_MACRO "macro"
+#define CONFIG_OBSOLETELINKS "obsoletelinks"
#define CONFIG_OUTPUTDIR "outputdir"
#define CONFIG_OUTPUTLANGUAGE "outputlanguage"
#define CONFIG_OUTPUTFORMATS "outputformats"
diff --git a/tools/qdoc3/cppcodemarker.cpp b/tools/qdoc3/cppcodemarker.cpp
index f807609..0f8d1b7 100644
--- a/tools/qdoc3/cppcodemarker.cpp
+++ b/tools/qdoc3/cppcodemarker.cpp
@@ -284,7 +284,7 @@ QString CppCodeMarker::markedUpSynopsis(const Node *node,
}
else {
for (int i = 0; i < documentedItems.size(); ++i) {
- if (i < MaxEnumValues - 2 || i == documentedItems.size() - 1) {
+ if (i < MaxEnumValues-2 || i == documentedItems.size()-1) {
if (i != 0)
synopsis += ", ";
synopsis += documentedItems.at(i);
@@ -345,6 +345,43 @@ QString CppCodeMarker::markedUpSynopsis(const Node *node,
return synopsis + extra;
}
+#ifdef QDOC_QML
+/*!
+ */
+QString CppCodeMarker::markedUpQmlItem(const Node* node, bool summary)
+{
+ QString name = taggedQmlNode(node);
+ if (summary) {
+ name = linkTag(node,name);
+ }
+ name = "<@name>" + name + "</@name>";
+ QString synopsis = name;
+ if (node->type() == Node::QmlProperty) {
+ const QmlPropertyNode* pn = static_cast<const QmlPropertyNode*>(node);
+ synopsis += " : " + typified(pn->dataType());
+ }
+
+ QString extra;
+ if (summary) {
+ if (node->status() == Node::Preliminary) {
+ extra += " (preliminary)";
+ }
+ else if (node->status() == Node::Deprecated) {
+ extra += " (deprecated)";
+ }
+ else if (node->status() == Node::Obsolete) {
+ extra += " (obsolete)";
+ }
+ }
+
+ if (!extra.isEmpty()) {
+ extra.prepend("<@extra>");
+ extra.append("</@extra>");
+ }
+ return synopsis + extra;
+}
+#endif
+
QString CppCodeMarker::markedUpName(const Node *node)
{
QString name = linkTag(node, taggedNode(node));
@@ -537,7 +574,7 @@ QList<Section> CppCodeMarker::sections(const InnerNode *inner,
else if (isStatic) {
if ((*c)->type() != Node::Variable
|| !(*c)->doc().isEmpty())
- insert(staticPublicMembers, *c, style, status);
+ insert(staticPublicMembers,*c,style,status);
}
else if ((*c)->type() == Node::Property) {
insert(properties, *c, style, status);
@@ -561,11 +598,11 @@ QList<Section> CppCodeMarker::sections(const InnerNode *inner,
else if (isStatic) {
if ((*c)->type() != Node::Variable
|| !(*c)->doc().isEmpty())
- insert(staticProtectedMembers, *c, style, status);
+ insert(staticProtectedMembers,*c,style,status);
}
else if ((*c)->type() == Node::Variable) {
if (!(*c)->doc().isEmpty())
- insert(protectedVariables, *c, style, status);
+ insert(protectedVariables,*c,style,status);
}
else if ((*c)->type() == Node::Function) {
if (!insertReimpFunc(protectedFunctions,*c,status))
@@ -582,14 +619,14 @@ QList<Section> CppCodeMarker::sections(const InnerNode *inner,
else if (isStatic) {
if ((*c)->type() != Node::Variable
|| !(*c)->doc().isEmpty())
- insert(staticPrivateMembers, *c, style, status);
+ insert(staticPrivateMembers,*c,style,status);
}
else if ((*c)->type() == Node::Function) {
if (!insertReimpFunc(privateFunctions,*c,status))
insert(privateFunctions, *c, style, status);
}
else {
- insert(privateTypes, *c, style, status);
+ insert(privateTypes,*c,style,status);
}
}
++c;
@@ -706,17 +743,23 @@ QList<Section> CppCodeMarker::sections(const InnerNode *inner,
"Namespaces",
"namespace",
"namespaces");
- FastSection classes(inner, "Classes", "class", "classes");
+ FastSection classes(inner,
+ "Classes",
+ "class",
+ "classes");
FastSection types(inner,
- style == Summary ? "Types" : "Type Documentation",
+ style == Summary ?
+ "Types" : "Type Documentation",
"type",
"types");
FastSection functions(inner,
- style == Summary ? "Functions" : "Function Documentation",
+ style == Summary ?
+ "Functions" : "Function Documentation",
"function",
"functions");
FastSection macros(inner,
- style == Summary ? "Macros" : "Macro Documentation",
+ style == Summary ?
+ "Macros" : "Macro Documentation",
"macro",
"macros");
@@ -1051,4 +1094,82 @@ QString CppCodeMarker::addMarkUp(const QString& protectedCode,
return result;
}
+#ifdef QDOC_QML
+/*!
+ This function is for documenting QML properties. It returns
+ the list of documentation sections for the children of the
+ \a qmlClassNode.
+
+ Currently, it only handles QML property groups.
+ */
+QList<Section> CppCodeMarker::qmlSections(const QmlClassNode* qmlClassNode,
+ SynopsisStyle style)
+{
+ QList<Section> sections;
+ if (qmlClassNode) {
+ if (style == Summary) {
+ FastSection qmlproperties(qmlClassNode,
+ "QML Properties",
+ "property",
+ "properties");
+ FastSection qmlsignals(qmlClassNode,
+ "QML Signals",
+ "signal",
+ "signals");
+ FastSection qmlmethods(qmlClassNode,
+ "QML Methods",
+ "method",
+ "methods");
+
+ NodeList::ConstIterator c = qmlClassNode->childNodes().begin();
+ while (c != qmlClassNode->childNodes().end()) {
+ if ((*c)->subType() == Node::QmlPropertyGroup) {
+ const QmlPropGroupNode* qpgn = static_cast<const QmlPropGroupNode*>(*c);
+ NodeList::ConstIterator p = qpgn->childNodes().begin();
+ while (p != qpgn->childNodes().end()) {
+ if ((*p)->type() == Node::QmlProperty) {
+ insert(qmlproperties,*p,style,Okay);
+ }
+ ++p;
+ }
+ }
+ else if ((*c)->type() == Node::QmlSignal) {
+ insert(qmlsignals,*c,style,Okay);
+ }
+ else if ((*c)->type() == Node::QmlMethod) {
+ insert(qmlmethods,*c,style,Okay);
+ }
+ ++c;
+ }
+ append(sections,qmlproperties);
+ append(sections,qmlsignals);
+ append(sections,qmlmethods);
+ }
+ else if (style == Detailed) {
+ FastSection qmlproperties(qmlClassNode,"QML Property Documentation");
+ FastSection qmlsignals(qmlClassNode,"QML Signal Documentation");
+ FastSection qmlmethods(qmlClassNode,"QML Method Documentation");
+ NodeList::ConstIterator c = qmlClassNode->childNodes().begin();
+ while (c != qmlClassNode->childNodes().end()) {
+ if ((*c)->subType() == Node::QmlPropertyGroup) {
+ insert(qmlproperties,*c,style,Okay);
+ }
+ else if ((*c)->type() == Node::QmlSignal) {
+ insert(qmlsignals,*c,style,Okay);
+ }
+ else if ((*c)->type() == Node::QmlMethod) {
+ insert(qmlmethods,*c,style,Okay);
+ }
+ ++c;
+ }
+ append(sections,qmlproperties);
+ append(sections,qmlsignals);
+ append(sections,qmlmethods);
+ }
+ }
+
+ return sections;
+}
+#endif
+
QT_END_NAMESPACE
diff --git a/tools/qdoc3/cppcodemarker.h b/tools/qdoc3/cppcodemarker.h
index 2967dfe..fa3cb78 100644
--- a/tools/qdoc3/cppcodemarker.h
+++ b/tools/qdoc3/cppcodemarker.h
@@ -67,6 +67,9 @@ class CppCodeMarker : public CodeMarker
QString markedUpSynopsis(const Node *node,
const Node *relative,
SynopsisStyle style);
+#ifdef QDOC_QML
+ QString markedUpQmlItem(const Node *node, bool summary);
+#endif
QString markedUpName(const Node *node);
QString markedUpFullName(const Node *node, const Node *relative);
QString markedUpEnumValue(const QString &enumValue, const Node *relative);
@@ -76,6 +79,8 @@ class CppCodeMarker : public CodeMarker
QList<Section> sections(const InnerNode *innerNode,
SynopsisStyle style,
Status status);
+ QList<Section> qmlSections(const QmlClassNode* qmlClassNode,
+ SynopsisStyle style);
const Node *resolveTarget(const QString& target,
const Tree *tree,
const Node *relative);
diff --git a/tools/qdoc3/cppcodeparser.cpp b/tools/qdoc3/cppcodeparser.cpp
index 792190d..562684b 100644
--- a/tools/qdoc3/cppcodeparser.cpp
+++ b/tools/qdoc3/cppcodeparser.cpp
@@ -87,6 +87,10 @@ QT_BEGIN_NAMESPACE
#ifdef QDOC_QML
#define COMMAND_QMLCLASS Doc::alias("qmlclass")
#define COMMAND_QMLPROPERTY Doc::alias("qmlproperty")
+#define COMMAND_QMLINHERITS Doc::alias("inherits")
+#define COMMAND_QMLSIGNAL Doc::alias("qmlsignal")
+#define COMMAND_QMLMETHOD Doc::alias("qmlmethod")
+#define COMMAND_QMLDEFAULT Doc::alias("default")
#endif
QStringList CppCodeParser::exampleFiles;
@@ -109,7 +113,8 @@ static void extractPageLinkAndDesc(const QString &arg,
if (arg.contains(".html") && spaceAt != -1) {
*link = arg.left(spaceAt).trimmed();
*desc = arg.mid(spaceAt).trimmed();
- } else {
+ }
+ else {
*link = arg;
*desc = arg;
}
@@ -202,11 +207,6 @@ void CppCodeParser::initializeParser(const Config &config)
nodeTypeMap.insert(COMMAND_PROPERTY, Node::Property);
nodeTypeMap.insert(COMMAND_VARIABLE, Node::Variable);
-#ifdef QDOC_QML
- // nodeTypeMap.insert(COMMAND_QMLCLASS, Node::Class);
- nodeTypeMap.insert(COMMAND_QMLPROPERTY, Node::Property);
-#endif
-
exampleFiles = config.getStringList(CONFIG_EXAMPLES);
exampleDirs = config.getStringList(CONFIG_EXAMPLEDIRS);
QStringList exampleFilePatterns = config.getStringList(
@@ -477,13 +477,15 @@ QSet<QString> CppCodeParser::topicCommands()
<< COMMAND_PROPERTY
<< COMMAND_SERVICE
<< COMMAND_TYPEDEF
-#ifdef QDOC_QML
+#ifdef QDOC_QML
<< COMMAND_VARIABLE
<< COMMAND_QMLCLASS
- << COMMAND_QMLPROPERTY;
-#else
+ << COMMAND_QMLPROPERTY
+ << COMMAND_QMLSIGNAL
+ << COMMAND_QMLMETHOD;
+#else
<< COMMAND_VARIABLE;
-#endif
+#endif
}
/*!
@@ -587,7 +589,7 @@ Node *CppCodeParser::processTopicCommand(const Doc& doc,
The command was neither "fn" nor "macro" .
*/
// ### split(" ") hack is there to support header file syntax
- QStringList paths = arg.split(" ");
+ QStringList paths = arg.split(" ");
QStringList path = paths[0].split("::");
Node *node = 0;
if (!usedNamespaces.isEmpty()) {
@@ -627,49 +629,169 @@ Node *CppCodeParser::processTopicCommand(const Doc& doc,
}
}
+ if (command == COMMAND_CLASS) {
+ if (paths.size() > 1) {
+ if (!paths[1].endsWith(".h")) {
+ ClassNode*cnode = static_cast<ClassNode*>(node);
+ cnode->setQmlElement(paths[1]);
+ }
+ }
+ }
return node;
}
else if (command == COMMAND_EXAMPLE) {
- FakeNode *fake = new FakeNode(tre->root(), arg, FakeNode::Example);
+ FakeNode *fake = new FakeNode(tre->root(), arg, Node::Example);
createExampleFileNodes(fake);
return fake;
}
else if (command == COMMAND_EXTERNALPAGE) {
- return new FakeNode(tre->root(), arg, FakeNode::ExternalPage);
+ return new FakeNode(tre->root(), arg, Node::ExternalPage);
}
else if (command == COMMAND_FILE) {
- return new FakeNode(tre->root(), arg, FakeNode::File);
+ return new FakeNode(tre->root(), arg, Node::File);
}
else if (command == COMMAND_GROUP) {
- return new FakeNode(tre->root(), arg, FakeNode::Group);
+ return new FakeNode(tre->root(), arg, Node::Group);
}
else if (command == COMMAND_HEADERFILE) {
- return new FakeNode(tre->root(), arg, FakeNode::HeaderFile);
+ return new FakeNode(tre->root(), arg, Node::HeaderFile);
}
else if (command == COMMAND_MODULE) {
- return new FakeNode(tre->root(), arg, FakeNode::Module);
+ return new FakeNode(tre->root(), arg, Node::Module);
}
else if (command == COMMAND_PAGE) {
- return new FakeNode(tre->root(), arg, FakeNode::Page);
+ return new FakeNode(tre->root(), arg, Node::Page);
}
-#ifdef QDOC_QML
+#ifdef QDOC_QML
else if (command == COMMAND_QMLCLASS) {
const ClassNode* classNode = 0;
- QStringList names = arg.split(" ");
- //qDebug() << "QMLCLASS" << names;
+ QStringList names = arg.split(" ");
if (names.size() > 1) {
Node* n = tre->findNode(names[1].split("::"),Node::Class);
- if (n) {
+ if (n)
classNode = static_cast<const ClassNode*>(n);
- //qDebug() << "FOUND IT!" << classNode->name();
+ }
+ return new QmlClassNode(tre->root(), names[0], classNode);
+ }
+ else if ((command == COMMAND_QMLSIGNAL) ||
+ (command == COMMAND_QMLMETHOD)) {
+ QString element;
+ QString name;
+ QmlClassNode* qmlClass = 0;
+ if (splitQmlArg(doc,arg,element,name)) {
+ Node* n = tre->findNode(QStringList(element),Node::Fake);
+ if (n && n->subType() == Node::QmlClass) {
+ qmlClass = static_cast<QmlClassNode*>(n);
+ if (command == COMMAND_QMLSIGNAL)
+ return new QmlSignalNode(qmlClass,name);
+ else
+ return new QmlMethodNode(qmlClass,name);
}
}
- return new QmlNode(tre->root(), names[0], classNode);
}
-#endif
+#endif
return 0;
}
+#ifdef QDOC_QML
+
+/*!
+ A QML property argument has the form...
+
+ <type> <element>::<name>
+
+ This function splits the argument into those three
+ parts, sets \a type, \a element, and \a property,
+ and returns true. If any of the parts isn't found,
+ a debug message is output and false is returned.
+ */
+bool CppCodeParser::splitQmlPropertyArg(const Doc& doc,
+ const QString& arg,
+ QString& type,
+ QString& element,
+ QString& property)
+{
+ QStringList blankSplit = arg.split(" ");
+ if (blankSplit.size() > 1) {
+ type = blankSplit[0];
+ QStringList colonSplit(blankSplit[1].split("::"));
+ if (colonSplit.size() > 1) {
+ element = colonSplit[0];
+ property = colonSplit[1];
+ return true;
+ }
+ else
+ doc.location().warning(tr("Missing QML element name or property name"));
+ }
+ else
+ doc.location().warning(tr("Missing QML property type or property path"));
+ return false;
+}
+
+/*!
+ A QML signal or method argument has the form...
+
+ <element>::<name>
+
+ This function splits the argument into those two
+ parts, sets \a element, and \a name, and returns
+ true. If either of the parts isn't found, a debug
+ message is output and false is returned.
+ */
+bool CppCodeParser::splitQmlArg(const Doc& doc,
+ const QString& arg,
+ QString& element,
+ QString& name)
+{
+ QStringList colonSplit(arg.split("::"));
+ if (colonSplit.size() > 1) {
+ element = colonSplit[0];
+ name = colonSplit[1];
+ return true;
+ }
+ else
+ doc.location().warning(tr("Missing QML element name or signal/method name"));
+ return false;
+}
+
+/*!
+ Process the topic \a command group with arguments \a args.
+
+ Currently, this function is called only for \e{qmlproperty}.
+ */
+Node *CppCodeParser::processTopicCommandGroup(const Doc& doc,
+ const QString& command,
+ const QStringList& args)
+{
+ QmlPropGroupNode* qmlPropGroup = 0;
+ if (command == COMMAND_QMLPROPERTY) {
+ QString type;
+ QString element;
+ QString property;
+ QStringList::ConstIterator arg = args.begin();
+ if (splitQmlPropertyArg(doc,(*arg),type,element,property)) {
+ Node* n = tre->findNode(QStringList(element),Node::Fake);
+ if (n && n->subType() == Node::QmlClass) {
+ QmlClassNode* qmlClass = static_cast<QmlClassNode*>(n);
+ if (qmlClass)
+ qmlPropGroup = new QmlPropGroupNode(qmlClass,property);
+ }
+ }
+ if (qmlPropGroup) {
+ new QmlPropertyNode(qmlPropGroup,property,type);
+ ++arg;
+ while (arg != args.end()) {
+ if (splitQmlPropertyArg(doc,(*arg),type,element,property)) {
+ new QmlPropertyNode(qmlPropGroup,property,type);
+ }
+ ++arg;
+ }
+ }
+ }
+ return qmlPropGroup;
+}
+#endif
+
/*!
Returns the set of strings representing the common metacommands
plus some other metacommands.
@@ -684,7 +806,13 @@ QSet<QString> CppCodeParser::otherMetaCommands()
<< COMMAND_NEXTPAGE
<< COMMAND_PREVIOUSPAGE
<< COMMAND_INDEXPAGE
+#ifdef QDOC_QML
+ << COMMAND_STARTPAGE
+ << COMMAND_QMLINHERITS
+ << COMMAND_QMLDEFAULT;
+#else
<< COMMAND_STARTPAGE;
+#endif
}
/*!
@@ -726,24 +854,29 @@ void CppCodeParser::processOtherMetaCommand(const Doc& doc,
tr("The function either doesn't exist in any base class "
"with the same signature or it exists but isn't virtual."));
}
-#if 0 // Ideally, we would enable this check to warn whenever \reimp is used
- // incorrectly, and only make the node internal if the function is a
- // reimplementation of another function in a base class.
+ /*
+ Ideally, we would enable this check to warn whenever
+ \reimp is used incorrectly, and only make the node
+ internal if the function is a reimplementation of
+ another function in a base class.
+ */
else if (from->access() == Node::Private
|| from->parent()->access() == Node::Private) {
- doc.location().warning(
- tr("Base function for '\\%1' in %2() is private or internal")
+ doc.location().warning(tr("'\\%1' in %2() should be '\\internal' because its base function is private or internal")
.arg(COMMAND_REIMP).arg(node->name()));
}
-#endif
- // Note: Setting the access to Private hides the documentation,
- // but setting the status to Internal makes the node available
- // in the XML output when the WebXMLGenerator is used.
+
#if 0
// Reimplemented functions now reported in separate sections.
+ /*
+ Note: Setting the access to Private hides the documentation,
+ but setting the status to Internal makes the node available
+ in the XML output when the WebXMLGenerator is used.
+ */
func->setAccess(Node::Private);
func->setStatus(Node::Internal);
-#endif
+#endif
+ func->setReimp(true);
}
else {
doc.location().warning(tr("Ignored '\\%1' in %2")
@@ -754,14 +887,19 @@ void CppCodeParser::processOtherMetaCommand(const Doc& doc,
else if (command == COMMAND_RELATES) {
InnerNode *pseudoParent;
if (arg.startsWith("<") || arg.startsWith("\"")) {
- pseudoParent = static_cast<InnerNode *>(tre->findNode(QStringList(arg), Node::Fake));
+ pseudoParent =
+ static_cast<InnerNode *>(tre->findNode(QStringList(arg),
+ Node::Fake));
}
else {
QStringList newPath = arg.split("::");
- pseudoParent = static_cast<InnerNode *>(tre->findNode(QStringList(newPath), Node::Class));
+ pseudoParent =
+ static_cast<InnerNode*>(tre->findNode(QStringList(newPath),
+ Node::Class));
if (!pseudoParent)
- pseudoParent = static_cast<InnerNode *>(tre->findNode(QStringList(newPath),
- Node::Namespace));
+ pseudoParent =
+ static_cast<InnerNode*>(tre->findNode(QStringList(newPath),
+ Node::Namespace));
}
if (!pseudoParent) {
doc.location().warning(tr("Cannot find '%1' in '\\%2'")
@@ -786,6 +924,15 @@ void CppCodeParser::processOtherMetaCommand(const Doc& doc,
else if (command == COMMAND_STARTPAGE) {
setLink(node, Node::StartLink, arg);
}
+#ifdef QDOC_QML
+ else if (command == COMMAND_QMLINHERITS) {
+ setLink(node, Node::InheritsLink, arg);
+ }
+ else if (command == COMMAND_QMLDEFAULT) {
+ QmlPropGroupNode* qpgn = static_cast<QmlPropGroupNode*>(node);
+ qpgn->setDefault();
+ }
+#endif
else {
processCommonMetaCommand(doc.location(),command,arg,node,tre);
}
@@ -865,9 +1012,8 @@ bool CppCodeParser::match(int target)
readToken();
return true;
}
- else {
+ else
return false;
- }
}
/*!
@@ -902,11 +1048,14 @@ bool CppCodeParser::matchTemplateAngles(CodeChunk *dataType)
do {
if (tok == Tok_LeftAngle) {
leftAngleDepth++;
- } else if (tok == Tok_RightAngle) {
+ }
+ else if (tok == Tok_RightAngle) {
leftAngleDepth--;
- } else if (tok == Tok_LeftParen || tok == Tok_LeftBrace) {
+ }
+ else if (tok == Tok_LeftParen || tok == Tok_LeftBrace) {
++parenAndBraceDepth;
- } else if (tok == Tok_RightParen || tok == Tok_RightBrace) {
+ }
+ else if (tok == Tok_RightParen || tok == Tok_RightBrace) {
if (--parenAndBraceDepth < 0)
return false;
}
@@ -969,7 +1118,8 @@ bool CppCodeParser::matchDataType(CodeChunk *dataType, QString *var)
dataType->append(previousLexeme());
else
return false;
- } else if (match(Tok_int) || match(Tok_char) || match(Tok_double)) {
+ }
+ else if (match(Tok_int) || match(Tok_char) || match(Tok_double)) {
dataType->append(previousLexeme());
}
@@ -1069,8 +1219,10 @@ bool CppCodeParser::matchParameter(FunctionNode *func)
readToken();
}
}
- func->addParameter(Parameter(dataType.toString(), "", name,
- defaultValue.toString())); // ###
+ func->addParameter(Parameter(dataType.toString(),
+ "",
+ name,
+ defaultValue.toString())); // ###
return true;
}
@@ -1118,7 +1270,8 @@ bool CppCodeParser::matchFunctionDecl(InnerNode *parent,
compat = true;
if (tok == Tok_operator &&
- (returnType.toString().isEmpty() || returnType.toString().endsWith("::"))) {
+ (returnType.toString().isEmpty() ||
+ returnType.toString().endsWith("::"))) {
// 'QString::operator const char *()'
parentPath = returnType.toString().split(sep);
parentPath.removeAll(QString());
@@ -1154,11 +1307,10 @@ bool CppCodeParser::matchFunctionDecl(InnerNode *parent,
name = previousLexeme();
matchTemplateAngles();
- if (match(Tok_Gulbrandsen)) {
+ if (match(Tok_Gulbrandsen))
parentPath.append(name);
- } else {
+ else
break;
- }
}
if (tok == Tok_operator) {
@@ -1171,7 +1323,9 @@ bool CppCodeParser::matchFunctionDecl(InnerNode *parent,
break;
}
}
- if (parent && (tok == Tok_Semicolon || tok == Tok_LeftBracket || tok == Tok_Colon)
+ if (parent && (tok == Tok_Semicolon ||
+ tok == Tok_LeftBracket ||
+ tok == Tok_Colon)
&& access != Node::Private) {
if (tok == Tok_LeftBracket) {
returnType.appendHotspot();
@@ -1185,7 +1339,8 @@ bool CppCodeParser::matchFunctionDecl(InnerNode *parent,
}
if (tok != Tok_Semicolon)
return false;
- } else if (tok == Tok_Colon) {
+ }
+ else if (tok == Tok_Colon) {
returnType.appendHotspot();
while (tok != Tok_Semicolon && tok != Tok_Eoi) {
@@ -1377,7 +1532,7 @@ bool CppCodeParser::matchNamespaceDecl(InnerNode *parent)
QString namespaceName = previousLexeme();
NamespaceNode *namespasse = 0;
if (parent)
- namespasse = static_cast<NamespaceNode *>(parent->findNode(namespaceName, Node::Namespace));
+ namespasse = static_cast<NamespaceNode*>(parent->findNode(namespaceName, Node::Namespace));
if (!namespasse) {
namespasse = new NamespaceNode(parent, namespaceName);
namespasse->setAccess(access);
@@ -1443,7 +1598,8 @@ bool CppCodeParser::matchEnumItem(InnerNode *parent, EnumNode *enume)
if (strVal.isEmpty()) {
if (enume->items().isEmpty()) {
strVal = "0";
- } else {
+ }
+ else {
QString last = enume->items().last().value();
bool ok;
int n = last.toInt(&ok);
@@ -1453,15 +1609,16 @@ bool CppCodeParser::matchEnumItem(InnerNode *parent, EnumNode *enume)
strVal = last.left(2) + QString::number(n + 1, 16);
else
strVal = "0" + QString::number(n + 1, 8);
- } else {
- strVal = QString::number(n + 1);
}
+ else
+ strVal = QString::number(n + 1);
}
}
}
enume->addItem(EnumItem(name, strVal));
- } else {
+ }
+ else {
VariableNode *var = new VariableNode(parent, name);
var->setAccess(access);
var->setLocation(location());
@@ -1549,7 +1706,8 @@ bool CppCodeParser::matchProperty(InnerNode *parent)
if (match(Tok_Ident)) {
value = previousLexeme();
- } else if (match(Tok_LeftParen)) {
+ }
+ else if (match(Tok_LeftParen)) {
int depth = 1;
while (tok != Tok_Eoi) {
if (tok == Tok_LeftParen) {
@@ -1566,6 +1724,9 @@ bool CppCodeParser::matchProperty(InnerNode *parent)
value = "?";
}
+ /*
+ Task 259071 requires work here. See gui/widgets/qdatetime.h, for example.
+ */
if (key == "READ")
tre->addPropertyFunction(property, value, PropertyNode::Getter);
else if (key == "WRITE")
@@ -1802,6 +1963,28 @@ bool CppCodeParser::matchDocsAndStuff()
/*
There is a topic command. Process it.
*/
+#ifdef QDOC_QML
+ if (topic == COMMAND_QMLPROPERTY) {
+ Doc nodeDoc = doc;
+ Node *node = processTopicCommandGroup(nodeDoc,topic,args);
+ if (node != 0) {
+ nodes.append(node);
+ docs.append(nodeDoc);
+ }
+ }
+ else {
+ QStringList::ConstIterator a = args.begin();
+ while (a != args.end()) {
+ Doc nodeDoc = doc;
+ Node *node = processTopicCommand(nodeDoc,topic,*a);
+ if (node != 0) {
+ nodes.append(node);
+ docs.append(nodeDoc);
+ }
+ ++a;
+ }
+ }
+#else
QStringList::ConstIterator a = args.begin();
while (a != args.end()) {
Doc nodeDoc = doc;
@@ -1812,6 +1995,7 @@ bool CppCodeParser::matchDocsAndStuff()
}
++a;
}
+#endif
}
NodeList::Iterator n = nodes.begin();
@@ -1819,7 +2003,8 @@ bool CppCodeParser::matchDocsAndStuff()
while (n != nodes.end()) {
processOtherMetaCommands(*d, *n);
(*n)->setDoc(*d);
- if ((*n)->isInnerNode() && ((InnerNode *)*n)->includes().isEmpty()) {
+ if ((*n)->isInnerNode() &&
+ ((InnerNode *)*n)->includes().isEmpty()) {
InnerNode *m = static_cast<InnerNode *>(*n);
while (m->parent() != tre->root())
m = m->parent();
@@ -1907,7 +2092,8 @@ void CppCodeParser::parseQiteratorDotH(const Location &location,
mutableSequentialIteratorDefinition = lines[1];
associativeIteratorDefinition = lines[2];
mutableAssociativeIteratorDefinition = lines[3];
- } else {
+ }
+ else {
location.warning(tr("The qiterator.h hack failed"));
}
}
@@ -1989,7 +2175,7 @@ void CppCodeParser::createExampleFileNodes(FakeNode *fake)
foreach (const QString &exampleFile, exampleFiles)
(void) new FakeNode(fake,
exampleFile.mid(sizeOfBoringPartOfName),
- FakeNode::File);
+ Node::File);
}
QT_END_NAMESPACE
diff --git a/tools/qdoc3/cppcodeparser.h b/tools/qdoc3/cppcodeparser.h
index 1f41318..cbb0149 100644
--- a/tools/qdoc3/cppcodeparser.h
+++ b/tools/qdoc3/cppcodeparser.h
@@ -90,6 +90,21 @@ class CppCodeParser : public CodeParser
virtual Node *processTopicCommand(const Doc& doc,
const QString& command,
const QString& arg);
+#ifdef QDOC_QML
+ // might need to implement this in QsCodeParser as well.
+ virtual Node *processTopicCommandGroup(const Doc& doc,
+ const QString& command,
+ const QStringList& args);
+ bool splitQmlPropertyArg(const Doc& doc,
+ const QString& arg,
+ QString& type,
+ QString& element,
+ QString& property);
+ bool splitQmlArg(const Doc& doc,
+ const QString& arg,
+ QString& element,
+ QString& name);
+#endif
virtual QSet<QString> otherMetaCommands();
virtual void processOtherMetaCommand(const Doc& doc,
const QString& command,
diff --git a/tools/qdoc3/doc.cpp b/tools/qdoc3/doc.cpp
index 222b9a1..e2f3525 100644
--- a/tools/qdoc3/doc.cpp
+++ b/tools/qdoc3/doc.cpp
@@ -73,20 +73,20 @@ struct Macro
};
enum {
- CMD_A, CMD_ABSTRACT, CMD_BADCODE, CMD_BASENAME, CMD_BOLD,
- CMD_BRIEF, CMD_C, CMD_CAPTION, CMD_CHAPTER, CMD_CODE,
- CMD_CODELINE, CMD_DOTS, CMD_ELSE, CMD_ENDABSTRACT,
- CMD_ENDCHAPTER, CMD_ENDCODE, CMD_ENDFOOTNOTE, CMD_ENDIF,
- CMD_ENDLEGALESE, CMD_ENDLINK, CMD_ENDLIST, CMD_ENDOMIT,
- CMD_ENDPART, CMD_ENDQUOTATION, CMD_ENDRAW, CMD_ENDSECTION1,
- CMD_ENDSECTION2, CMD_ENDSECTION3, CMD_ENDSECTION4,
- CMD_ENDSIDEBAR, CMD_ENDTABLE, CMD_EXPIRE, CMD_FOOTNOTE,
- CMD_GENERATELIST, CMD_GRANULARITY, CMD_HEADER, CMD_I,
- CMD_IF, CMD_IMAGE, CMD_INCLUDE, CMD_INLINEIMAGE, CMD_INDEX,
- CMD_KEYWORD, CMD_L, CMD_LEGALESE, CMD_LINK, CMD_LIST,
- CMD_META, CMD_NEWCODE, CMD_O, CMD_OLDCODE, CMD_OMIT,
- CMD_OMITVALUE, CMD_OVERLOAD,
- CMD_PART, CMD_PRINTLINE, CMD_PRINTTO,
+ CMD_A, CMD_ABSTRACT, CMD_ANNOTATEDLIST, CMD_BADCODE,
+ CMD_BASENAME, CMD_BOLD, CMD_BRIEF, CMD_C, CMD_CAPTION,
+ CMD_CHAPTER, CMD_CODE, CMD_CODELINE, CMD_DOTS, CMD_ELSE,
+ CMD_ENDABSTRACT, CMD_ENDCHAPTER, CMD_ENDCODE,
+ CMD_ENDFOOTNOTE, CMD_ENDIF, CMD_ENDLEGALESE, CMD_ENDLINK,
+ CMD_ENDLIST, CMD_ENDOMIT, CMD_ENDPART, CMD_ENDQUOTATION,
+ CMD_ENDRAW, CMD_ENDSECTION1, CMD_ENDSECTION2,
+ CMD_ENDSECTION3, CMD_ENDSECTION4, CMD_ENDSIDEBAR,
+ CMD_ENDTABLE, CMD_EXPIRE, CMD_FOOTNOTE, CMD_GENERATELIST,
+ CMD_GRANULARITY, CMD_HEADER, CMD_I, CMD_IF, CMD_IMAGE,
+ CMD_INCLUDE, CMD_INLINEIMAGE, CMD_INDEX, CMD_KEYWORD,
+ CMD_L, CMD_LEGALESE, CMD_LINK, CMD_LIST, CMD_META,
+ CMD_NEWCODE, CMD_O, CMD_OLDCODE, CMD_OMIT, CMD_OMITVALUE,
+ CMD_OVERLOAD, CMD_PART, CMD_PRINTLINE, CMD_PRINTTO,
CMD_PRINTUNTIL, CMD_QUOTATION, CMD_QUOTEFILE,
CMD_QUOTEFROMFILE, CMD_QUOTEFUNCTION, CMD_RAW, CMD_ROW,
CMD_SA, CMD_SECTION1, CMD_SECTION2, CMD_SECTION3,
@@ -108,6 +108,7 @@ static struct {
} cmds[] = {
{ "a", CMD_A, 0 },
{ "abstract", CMD_ABSTRACT, 0 },
+ { "annotatedlist", CMD_ANNOTATEDLIST, 0 },
{ "badcode", CMD_BADCODE, 0 },
{ "basename", CMD_BASENAME, 0 }, // ### don't document for now
{ "bold", CMD_BOLD, 0 },
@@ -723,6 +724,9 @@ void DocParser::parse(const QString& source,
paraState = OutsidePara; // ###
}
break;
+ case CMD_ANNOTATEDLIST:
+ append(Atom::AnnotatedList, getArgument());
+ break;
case CMD_GENERATELIST:
append(Atom::GeneratedList, getArgument());
break;
@@ -1677,10 +1681,13 @@ void DocParser::startSection(Doc::SectioningUnit unit, int cmd)
leavePara();
if (currentSectioningUnit == Doc::Book) {
+#if 0
+ // mws didn't think this was necessary.
if (unit > Doc::Section1)
location().warning(tr("Unexpected '\\%1' without '\\%2'")
.arg(cmdName(cmd))
.arg(cmdName(CMD_SECTION1)));
+#endif
currentSectioningUnit = (Doc::SectioningUnit) (unit - 1);
priv->constructExtra();
priv->extra->sectioningUnit = currentSectioningUnit;
diff --git a/tools/qdoc3/generator.cpp b/tools/qdoc3/generator.cpp
index fa55b8a..e92f53b 100644
--- a/tools/qdoc3/generator.cpp
+++ b/tools/qdoc3/generator.cpp